ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrCmluZGV4IDRiZDllYTUuLjQ0ZjUyYTQgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1ibG9jawpAQCAtMjYsMyArMjYsMzcgQEAKIAkJSS9PIHN0YXRpc3RpY3Mgb2YgcGFydGl0aW9uIDxwYXJ0Pi4gVGhlIGZvcm1hdCBpcyB0aGUKIAkJc2FtZSBhcyB0aGUgYWJvdmUtd3JpdHRlbiAvc3lzL2Jsb2NrLzxkaXNrPi9zdGF0CiAJCWZvcm1hdC4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L2Zvcm1hdAorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlNZXRhZGF0YSBmb3JtYXQgZm9yIGludGVncml0eSBjYXBhYmxlIGJsb2NrIGRldmljZS4KKwkJRS5nLiBUMTAtRElGLVRZUEUxLUNSQy4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3JlYWRfdmVyaWZ5CitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCUluZGljYXRlcyB3aGV0aGVyIHRoZSBibG9jayBsYXllciBzaG91bGQgdmVyaWZ5IHRoZQorCQlpbnRlZ3JpdHkgb2YgcmVhZCByZXF1ZXN0cyBzZXJ2aWNlZCBieSBkZXZpY2VzIHRoYXQKKwkJc3VwcG9ydCBzZW5kaW5nIGludGVncml0eSBtZXRhZGF0YS4KKworCitXaGF0OgkJL3N5cy9ibG9jay88ZGlzaz4vaW50ZWdyaXR5L3RhZ19zaXplCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorRGVzY3JpcHRpb246CisJCU51bWJlciBvZiBieXRlcyBvZiBpbnRlZ3JpdHkgdGFnIHNwYWNlIGF2YWlsYWJsZSBwZXIKKwkJNTEyIGJ5dGVzIG9mIGRhdGEuCisKKworV2hhdDoJCS9zeXMvYmxvY2svPGRpc2s+L2ludGVncml0eS93cml0ZV9nZW5lcmF0ZQorRGF0ZToJCUp1bmUgMjAwOAorQ29udGFjdDoJTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KK0Rlc2NyaXB0aW9uOgorCQlJbmRpY2F0ZXMgd2hldGhlciB0aGUgYmxvY2sgbGF5ZXIgc2hvdWxkIGF1dG9tYXRpY2FsbHkKKwkJZ2VuZXJhdGUgY2hlY2tzdW1zIGZvciB3cml0ZSByZXF1ZXN0cyBib3VuZCBmb3IKKwkJZGV2aWNlcyB0aGF0IHN1cHBvcnQgcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcyBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYnVzLWNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTg1ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1idXMtY3NzCkBAIC0wLDAgKzEsMzUgQEAKK1doYXQ6CQkvc3lzL2J1cy9jc3MvZGV2aWNlcy8uLi4vdHlwZQorRGF0ZToJCU1hcmNoIDIwMDgKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgc3ViY2hhbm5lbCB0eXBlLCBhcyByZXBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCisJCVRoaXMgYXR0cmlidXRlIGlzIHByZXNlbnQgZm9yIGFsbCBzdWJjaGFubmVsIHR5cGVzLgorCitXaGF0OgkJL3N5cy9idXMvY3NzL2RldmljZXMvLi4uL21vZGFsaWFzCitEYXRlOgkJTWFyY2ggMjAwOAorQ29udGFjdDoJQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorCQlsaW51eC1zMzkwQHZnZXIua2VybmVsLm9yZworRGVzY3JpcHRpb246CUNvbnRhaW5zIHRoZSBtb2R1bGUgYWxpYXMgYXMgcmVwb3J0ZWQgd2l0aCB1ZXZlbnRzLgorCQlJdCBpcyBvZiB0aGUgZm9ybWF0IGNzczp0PHR5cGU+IGFuZCBwcmVzZW50IGZvciBhbGwKKwkJc3ViY2hhbm5lbCB0eXBlcy4KKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL2NocGlkcworRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgaWRzIG9mIHRoZSBjaGFubmVsIHBhdGhzIHVzZWQgYnkgdGhpcworCQlzdWJjaGFubmVsLCBhcyByZXBvcnRlZCBieSB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0KKwkJZHVyaW5nIHN1YmNoYW5uZWwgcmVjb2duaXRpb24uCisJCU5vdGU6IFRoaXMgaXMgYW4gSS9PLXN1YmNoYW5uZWwgc3BlY2lmaWMgYXR0cmlidXRlLgorVXNlcnM6CQlzMzkwLXRvb2xzLCBIQUwKKworV2hhdDoJCS9zeXMvYnVzL2Nzcy9kcml2ZXJzL2lvX3N1YmNoYW5uZWwvLi4uL3BpbXBhbXBvbQorRGF0ZToJCURlY2VtYmVyIDIwMDIKK0NvbnRhY3Q6CUNvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKwkJbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcKK0Rlc2NyaXB0aW9uOglDb250YWlucyB0aGUgUElNL1BBTS9QT00gdmFsdWVzLCBhcyByZXBvcnRlZCBieSB0aGUKKwkJY2hhbm5lbCBzdWJzeXN0ZW0gd2hlbiBsYXN0IHF1ZXJpZWQgYnkgdGhlIGNvbW1vbiBJL08KKwkJbGF5ZXIgKHRoaXMgaW1wbGllcyB0aGF0IHRoaXMgYXR0cmlidXRlIGlzIG5vdCBuZWNjZXNzYXJpbHkKKwkJaW4gc3luYyB3aXRoIHRoZSB2YWx1ZXMgY3VycmVudCBpbiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0pLgorCQlOb3RlOiBUaGlzIGlzIGFuIEkvTy1zdWJjaGFubmVsIHNwZWNpZmljIGF0dHJpYnV0ZS4KK1VzZXJzOgkJczM5MC10b29scywgSEFMCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcCBiL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZmlybXdhcmUtbWVtbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkOTllZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWZpcm13YXJlLW1lbW1hcApAQCAtMCwwICsxLDcxIEBACitXaGF0OgkJL3N5cy9maXJtd2FyZS9tZW1tYXAvCitEYXRlOgkJSnVuZSAyMDA4CitDb250YWN0OglCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CitEZXNjcmlwdGlvbjoKKwkJT24gYWxsIHBsYXRmb3JtcywgdGhlIGZpcm13YXJlIHByb3ZpZGVzIGEgbWVtb3J5IG1hcCB3aGljaCB0aGUKKwkJa2VybmVsIHJlYWRzLiBUaGUgcmVzb3VyY2VzIGZyb20gdGhhdCBtZW1vcnkgbWFwIGFyZSByZWdpc3RlcmVkCisJCWluIHRoZSBrZXJuZWwgcmVzb3VyY2UgdHJlZSBhbmQgZXhwb3NlZCB0byB1c2Vyc3BhY2UgdmlhCisJCS9wcm9jL2lvbWVtICh0b2dldGhlciB3aXRoIG90aGVyIHJlc291cmNlcykuCisKKwkJSG93ZXZlciwgb24gbW9zdCBhcmNoaXRlY3R1cmVzIHRoYXQgZmlybXdhcmUtcHJvdmlkZWQgbWVtb3J5CisJCW1hcCBpcyBtb2RpZmllZCBhZnRlcndhcmRzIGJ5IHRoZSBrZXJuZWwgaXRzZWxmLCBlaXRoZXIgYmVjYXVzZQorCQl0aGUga2VybmVsIG1lcmdlcyB0aGF0IG1lbW9yeSBtYXAgd2l0aCBvdGhlciBpbmZvcm1hdGlvbiBvcgorCQlqdXN0IGJlY2F1c2UgdGhlIHVzZXIgb3ZlcndyaXRlcyB0aGF0IG1lbW9yeSBtYXAgdmlhIGNvbW1hbmQKKwkJbGluZS4KKworCQlrZXhlYyBuZWVkcyB0aGUgcmF3IGZpcm13YXJlLXByb3ZpZGVkIG1lbW9yeSBtYXAgdG8gc2V0dXAgdGhlCisJCXBhcmFtZXRlciBzZWdtZW50IG9mIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgYm9vdGVkIHdpdGgKKwkJa2V4ZWMuIEFsc28sIHRoZSByYXcgbWVtb3J5IG1hcCBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZy4gRm9yCisJCXRoYXQgcmVhc29uLCAvc3lzL2Zpcm13YXJlL21lbW1hcCBpcyBhbiBpbnRlcmZhY2UgdGhhdCBwcm92aWRlcworCQl0aGUgcmF3IG1lbW9yeSBtYXAgdG8gdXNlcnNwYWNlLgorCisJCVRoZSBzdHJ1Y3R1cmUgaXMgYXMgZm9sbG93czogVW5kZXIgL3N5cy9maXJtd2FyZS9tZW1tYXAgdGhlcmUKKwkJYXJlIHN1YmRpcmVjdG9yaWVzIHdpdGggdGhlIG51bWJlciBvZiB0aGUgZW50cnkgYXMgdGhlaXIgbmFtZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMgorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMworCQkJLi4uCisKKwkJVGhlIG1heGltdW0gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIG1lbW9yeSBtYXAgZW50cmllcyBwcm92aWRlZAorCQlieSB0aGUgZmlybXdhcmUuIFRoZSBvcmRlciBpcyBqdXN0IHRoZSBvcmRlciB0aGF0IHRoZSBmaXJtd2FyZQorCQlwcm92aWRlcy4KKworCQlFYWNoIGRpcmVjdG9yeSBjb250YWlucyB0aHJlZSBmaWxlczoKKworCQlzdGFydAk6IFRoZSBzdGFydCBhZGRyZXNzIChhcyBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aCB0aGUKKwkJCSAgJzB4JyBwcmVmaXgpLgorCQllbmQJOiBUaGUgZW5kIGFkZHJlc3MsIGluY2x1c2l2ZSAocmVnYXJkbGVzcyB3aGV0aGVyIHRoZQorCQkJICBmaXJtd2FyZSBwcm92aWRlcyBpbmNsdXNpdmUgb3IgZXhjbHVzaXZlIHJhbmdlcykuCisJCXR5cGUJOiBUeXBlIG9mIHRoZSBlbnRyeSBhcyBzdHJpbmcuIFNlZSBiZWxvdyBmb3IgYSBsaXN0IG9mCisJCQkgIHZhbGlkIHR5cGVzLgorCisJCVNvLCBmb3IgZXhhbXBsZToKKworCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9zdGFydAorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMC9lbmQKKwkJCS9zeXMvZmlybXdhcmUvbWVtbWFwLzAvdHlwZQorCQkJL3N5cy9maXJtd2FyZS9tZW1tYXAvMS9zdGFydAorCQkJLi4uCisKKwkJQ3VycmVudGx5IGZvbGxvd2luZyB0eXBlcyBleGlzdDoKKworCQkgIC0gU3lzdGVtIFJBTQorCQkgIC0gQUNQSSBUYWJsZXMKKwkJICAtIEFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UKKwkJICAtIHJlc2VydmVkCisKKwkJRm9sbG93aW5nIHNoZWxsIHNuaXBwZXQgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSB0aGF0IG1lbW9yeQorCQltYXAgaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQ6CisKKwkJLS0tLS0tLS0tLS0tLS0tLS0tLS0gODwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCQkgICMhL2Jpbi9iYXNoCisJCSAgY2QgL3N5cy9maXJtd2FyZS9tZW1tYXAKKwkJICBmb3IgZGlyIGluICogOyBkbworCQkgICAgICBzdGFydD0kKGNhdCAkZGlyL3N0YXJ0KQorCQkgICAgICBlbmQ9JChjYXQgJGRpci9lbmQpCisJCSAgICAgIHR5cGU9JChjYXQgJGRpci90eXBlKQorCQkgICAgICBwcmludGYgIiUwMTZ4LSUwMTZ4ICglcylcbiIgJHN0YXJ0ICRbICRlbmQgKzFdICIkdHlwZSIKKwkJICBkb25lCisJCS0tLS0tLS0tLS0tLS0tLS0tLS0tID44IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSE9XVE8gYi9Eb2N1bWVudGF0aW9uL0hPV1RPCmluZGV4IDAyOTFhZGUuLjYxOWU4Y2EgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vSE9XVE8KKysrIGIvRG9jdW1lbnRhdGlvbi9IT1dUTwpAQCAtMzc3LDcgKzM3Nyw3IEBACiBidWd6aWxsYS5rZXJuZWwub3JnIGlzIHdoZXJlIHRoZSBMaW51eCBrZXJuZWwgZGV2ZWxvcGVycyB0cmFjayBrZXJuZWwKIGJ1Z3MuICBVc2VycyBhcmUgZW5jb3VyYWdlZCB0byByZXBvcnQgYWxsIGJ1Z3MgdGhhdCB0aGV5IGZpbmQgaW4gdGhpcwogdG9vbC4gIEZvciBkZXRhaWxzIG9uIGhvdyB0byB1c2UgdGhlIGtlcm5lbCBidWd6aWxsYSwgcGxlYXNlIHNlZToKLQlodHRwOi8vdGVzdC5rZXJuZWwub3JnL2J1Z3ppbGxhL2ZhcS5odG1sCisJaHR0cDovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvcGFnZS5jZ2k/aWQ9ZmFxLmh0bWwKIAogVGhlIGZpbGUgUkVQT1JUSU5HLUJVR1MgaW4gdGhlIG1haW4ga2VybmVsIHNvdXJjZSBkaXJlY3RvcnkgaGFzIGEgZ29vZAogdGVtcGxhdGUgZm9yIGhvdyB0byByZXBvcnQgYSBwb3NzaWJsZSBrZXJuZWwgYnVnLCBhbmQgZGV0YWlscyB3aGF0IGtpbmQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dCBiL0RvY3VtZW50YXRpb24vSVJRLWFmZmluaXR5LnR4dAppbmRleCA5MzhkN2RkLi5iNGE2MTViIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL0lSUS1hZmZpbml0eS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9JUlEtYWZmaW5pdHkudHh0CkBAIC0xLDE3ICsxLDI2IEBACitDaGFuZ2VMb2c6CisJU3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKwlVcGRhdGUgYnkgTWF4IEtyYXNueWFuc2t5IDxtYXhrQHF1YWxjb21tLmNvbT4KIAotU01QIElSUSBhZmZpbml0eSwgc3RhcnRlZCBieSBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KLQorU01QIElSUSBhZmZpbml0eQogCiAvcHJvYy9pcnEvSVJRIy9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIHdoaWNoIHRhcmdldCBDUFVzIGFyZSBwZXJtaXR0ZWQKIGZvciBhIGdpdmVuIElSUSBzb3VyY2UuIEl0J3MgYSBiaXRtYXNrIG9mIGFsbG93ZWQgQ1BVcy4gSXQncyBub3QgYWxsb3dlZAogdG8gdHVybiBvZmYgYWxsIENQVXMsIGFuZCBpZiBhbiBJUlEgY29udHJvbGxlciBkb2VzIG5vdCBzdXBwb3J0IElSUQogYWZmaW5pdHkgdGhlbiB0aGUgdmFsdWUgd2lsbCBub3QgY2hhbmdlIGZyb20gdGhlIGRlZmF1bHQgMHhmZmZmZmZmZi4KIAotSGVyZSBpcyBhbiBleGFtcGxlIG9mIHJlc3RyaWN0aW5nIElSUTQ0IChldGgxKSB0byBDUFUwLTMgdGhlbiByZXN0cmljdGluZwotdGhlIElSUSB0byBDUFU0LTcgKHRoaXMgaXMgYW4gOC1DUFUgU01QIGJveCk6CisvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgc3BlY2lmaWVzIGRlZmF1bHQgYWZmaW5pdHkgbWFzayB0aGF0IGFwcGxpZXMKK3RvIGFsbCBub24tYWN0aXZlIElSUXMuIE9uY2UgSVJRIGlzIGFsbG9jYXRlZC9hY3RpdmF0ZWQgaXRzIGFmZmluaXR5IGJpdG1hc2sKK3dpbGwgYmUgc2V0IHRvIHRoZSBkZWZhdWx0IG1hc2suIEl0IGNhbiB0aGVuIGJlIGNoYW5nZWQgYXMgZGVzY3JpYmVkIGFib3ZlLgorRGVmYXVsdCBtYXNrIGlzIDB4ZmZmZmZmZmYuCiAKK0hlcmUgaXMgYW4gZXhhbXBsZSBvZiByZXN0cmljdGluZyBJUlE0NCAoZXRoMSkgdG8gQ1BVMC0zIHRoZW4gcmVzdHJpY3RpbmcKK2l0IHRvIENQVTQtNyAodGhpcyBpcyBhbiA4LUNQVSBTTVAgYm94KToKKworW3Jvb3RAbW9vbiA0NF0jIGNkIC9wcm9jL2lycS80NAogW3Jvb3RAbW9vbiA0NF0jIGNhdCBzbXBfYWZmaW5pdHkKIGZmZmZmZmZmCisKIFtyb290QG1vb24gNDRdIyBlY2hvIDBmID4gc21wX2FmZmluaXR5CiBbcm9vdEBtb29uIDQ0XSMgY2F0IHNtcF9hZmZpbml0eQogMDAwMDAwMGYKQEAgLTIxLDE3ICszMCwyNyBAQAogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogNjAyOSBwYWNrZXRzIHRyYW5zbWl0dGVkLCA2MDI3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuMS8wLjQgbXMKLVtyb290QG1vb24gNDRdIyBjYXQgL3Byb2MvaW50ZXJydXB0cyB8IGdyZXAgNDQ6Ci0gNDQ6ICAgICAgICAgIDAgICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgMTc4MyAgICAgICAgICAxCi0xICAgICAgICAgIDAgICBJTy1BUElDLWxldmVsICBldGgxCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCBncmVwICdDUFVcfDQ0OicKKyAgICAgICAgICAgQ1BVMCAgICAgICBDUFUxICAgICAgIENQVTIgICAgICAgQ1BVMyAgICAgIENQVTQgICAgICAgQ1BVNSAgICAgICAgQ1BVNiAgICAgICBDUFU3CisgNDQ6ICAgICAgIDEwNjggICAgICAgMTc4NSAgICAgICAxNzg1ICAgICAgIDE3ODMgICAgICAgICAwICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAwICAgIElPLUFQSUMtbGV2ZWwgIGV0aDEKKworQXMgY2FuIGJlIHNlZW4gZnJvbSB0aGUgbGluZSBhYm92ZSBJUlE0NCB3YXMgZGVsaXZlcmVkIG9ubHkgdG8gdGhlIGZpcnN0IGZvdXIKK3Byb2Nlc3NvcnMgKDAtMykuCitOb3cgbGV0cyByZXN0cmljdCB0aGF0IElSUSB0byBDUFUoNC03KS4KKwogW3Jvb3RAbW9vbiA0NF0jIGVjaG8gZjAgPiBzbXBfYWZmaW5pdHkKK1tyb290QG1vb24gNDRdIyBjYXQgc21wX2FmZmluaXR5CiswMDAwMDBmMAogW3Jvb3RAbW9vbiA0NF0jIHBpbmcgLWYgaAogUElORyBoZWxsICgxOTUuNC43LjMpOiA1NiBkYXRhIGJ5dGVzCiAuLgogLS0tIGhlbGwgcGluZyBzdGF0aXN0aWNzIC0tLQogMjc3OSBwYWNrZXRzIHRyYW5zbWl0dGVkLCAyNzc3IHBhY2tldHMgcmVjZWl2ZWQsIDAlIHBhY2tldCBsb3NzCiByb3VuZC10cmlwIG1pbi9hdmcvbWF4ID0gMC4xLzAuNS81ODUuNCBtcwotW3Jvb3RAbW9vbiA0NF0jIGNhdCAvcHJvYy9pbnRlcnJ1cHRzIHwgZ3JlcCA0NDoKLSA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4NCAgICAgICAxNzg0ICAgICAgIDEwNjkgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQotW3Jvb3RAbW9vbiA0NF0jCitbcm9vdEBtb29uIDQ0XSMgY2F0IC9wcm9jL2ludGVycnVwdHMgfCAgJ0NQVVx8NDQ6JworICAgICAgICAgICBDUFUwICAgICAgIENQVTEgICAgICAgQ1BVMiAgICAgICBDUFUzICAgICAgQ1BVNCAgICAgICBDUFU1ICAgICAgICBDUFU2ICAgICAgIENQVTcKKyA0NDogICAgICAgMTA2OCAgICAgICAxNzg1ICAgICAgIDE3ODUgICAgICAgMTc4MyAgICAgIDE3ODQgICAgICAgMTA2OSAgICAgICAgMTA3MCAgICAgICAxMDY5ICAgSU8tQVBJQy1sZXZlbCAgZXRoMQorCitUaGlzIHRpbWUgYXJvdW5kIElSUTQ0IHdhcyBkZWxpdmVyZWQgb25seSB0byB0aGUgbGFzdCBmb3VyIHByb2Nlc3NvcnMuCitpLmUgY291bnRlcnMgZm9yIHRoZSBDUFUwLTMgZGlkIG5vdCBjaGFuZ2UuCiAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL05NSS1SQ1UudHh0IGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKaW5kZXggYzY0MTU4ZS4uYTZkMzJlNiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvTk1JLVJDVS50eHQKQEAgLTkzLDYgKzkzLDkgQEAKIG5vdCB0byByZXR1cm4gdW50aWwgYWxsIG9uZ29pbmcgTk1JIGhhbmRsZXJzIGV4aXQuICBJdCBpcyB0aGVyZWZvcmUgc2FmZQogdG8gZnJlZSB1cCB0aGUgaGFuZGxlcidzIGRhdGEgYXMgc29vbiBhcyBzeW5jaHJvbml6ZV9zY2hlZCgpIHJldHVybnMuCiAKK0ltcG9ydGFudCBub3RlOiBmb3IgdGhpcyB0byB3b3JrLCB0aGUgYXJjaGl0ZWN0dXJlIGluIHF1ZXN0aW9uIG11c3QKK2ludm9rZSBpcnFfZW50ZXIoKSBhbmQgaXJxX2V4aXQoKSBvbiBOTUkgZW50cnkgYW5kIGV4aXQsIHJlc3BlY3RpdmVseS4KKwogCiBBbnN3ZXIgdG8gUXVpY2sgUXVpegogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL1JDVS9SVEZQLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CmluZGV4IDM5YWQ4ZjUuLjlmNzExZDIgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vUkNVL1JURlAudHh0CkBAIC01Miw2ICs1MiwxMCBAQAogc3RydWN0dXJlZCBkYXRhLCBzdWNoIGFzIHRoZSBtYXRyaWNlcyB1c2VkIGluIHNjaWVudGlmaWMgcHJvZ3JhbXMsIGFuZAogaXMgdGh1cyBpbmFwcGxpY2FibGUgdG8gbW9zdCBkYXRhIHN0cnVjdHVyZXMgaW4gb3BlcmF0aW5nLXN5c3RlbSBrZXJuZWxzLgogCitJbiAxOTkyLCBIZW5yeSAobm93IEFsZXhpYSkgTWFzc2FsaW4gY29tcGxldGVkIGEgZGlzc2VydGF0aW9uIGFkdmlzaW5nCitwYXJhbGxlbCBwcm9ncmFtbWVycyB0byBkZWZlciBwcm9jZXNzaW5nIHdoZW4gZmVhc2libGUgdG8gc2ltcGxpZnkKK3N5bmNocm9uaXphdGlvbi4gIFJDVSBtYWtlcyBleHRyZW1lbHkgaGVhdnkgdXNlIG9mIHRoaXMgYWR2aWNlLgorCiBJbiAxOTkzLCBKYWNvYnNvbiBbSmFjb2Jzb245M10gdmVyYmFsbHkgZGVzY3JpYmVkIHdoYXQgaXMgcGVyaGFwcyB0aGUKIHNpbXBsZXN0IGRlZmVycmVkLWZyZWUgdGVjaG5pcXVlOiBzaW1wbHkgd2FpdGluZyBhIGZpeGVkIGFtb3VudCBvZiB0aW1lCiBiZWZvcmUgZnJlZWluZyBibG9ja3MgYXdhaXRpbmcgZGVmZXJyZWQgZnJlZS4gIEphY29ic29uIGRpZCBub3QgZGVzY3JpYmUKQEAgLTEzOCw2ICsxNDIsMTMgQEAKIFJvYmVydCBPbHNzb24gZGVzY3JpYmVkIGFuIFJDVS1wcm90ZWN0ZWQgdHJpZS1oYXNoIGNvbWJpbmF0aW9uCiBbUm9iZXJ0T2xzc29uMjAwNmFdLgogCisyMDA3IHNhdyB0aGUgam91cm5hbCB2ZXJzaW9uIG9mIHRoZSBhd2FyZC13aW5uaW5nIFJDVSBwYXBlciBmcm9tIDIwMDYKK1tUaG9tYXNFSGFydDIwMDdhXSwgYXMgd2VsbCBhcyBhIHBhcGVyIGRlbW9uc3RyYXRpbmcgdXNlIG9mIFByb21lbGEKK2FuZCBTcGluIHRvIG1lY2hhbmljYWxseSB2ZXJpZnkgYW4gb3B0aW1pemF0aW9uIHRvIE9sZWcgTmVzdGVyb3YncworUVJDVSBbUGF1bEVNY0tlbm5leTIwMDdRUkNVc3Bpbl0sIGEgZGVzaWduIGRvY3VtZW50IGRlc2NyaWJpbmcKK3ByZWVtcHRpYmxlIFJDVSBbUGF1bEVNY0tlbm5leTIwMDdQcmVlbXB0aWJsZVJDVV0sIGFuZCB0aGUgdGhyZWUtcGFydAorTFdOICJXaGF0IGlzIFJDVT8iIHNlcmllcyBbUGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5LAorUGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZSwgYW5kIFBhdWxFTWNLZW5uZXkyMDA4V2hhdElzUkNVQVBJXS4KIAogQmlidGV4IEVudHJpZXMKIApAQCAtMjAyLDYgKzIxMywyMCBAQAogLFllYXI9IjE5OTEiCiB9CiAKK0BwaGR0aGVzaXN7SE1hc3NhbGluUGhECissYXV0aG9yPSJILiBNYXNzYWxpbiIKKyx0aXRsZT0iU3ludGhlc2lzOiBBbiBFZmZpY2llbnQgSW1wbGVtZW50YXRpb24gb2YgRnVuZGFtZW50YWwgT3BlcmF0aW5nCitTeXN0ZW0gU2VydmljZXMiCissc2Nob29sPSJDb2x1bWJpYSBVbml2ZXJzaXR5IgorLGFkZHJlc3M9Ik5ldyBZb3JrLCBOWSIKKyx5ZWFyPSIxOTkyIgorLGFubm90YXRpb249IgorCU1vbmRvIG9wdGltaXppbmcgY29tcGlsZXIuCisJV2FpdC1mcmVlIHN0dWZmLgorCUdvb2QgYWR2aWNlOiBkZWZlciB3b3JrIHRvIGF2b2lkIHN5bmNocm9uaXphdGlvbi4KKyIKK30KKwogQHVucHVibGlzaGVke0phY29ic29uOTMKICxhdXRob3I9IlZhbiBKYWNvYnNvbiIKICx0aXRsZT0iQXZvaWQgUmVhZC1TaWRlIExvY2tpbmcgVmlhIERlbGF5ZWQgRnJlZSIKQEAgLTYzNSwzICs2NjAsODYgQEAKICIKIH0KIAorQHVucHVibGlzaGVke1BhdWxFTWNLZW5uZXkyMDA3UHJlZW1wdGlibGVSQ1UKKyxBdXRob3I9IlBhdWwgRS4gTWNLZW5uZXkiCissVGl0bGU9IlRoZSBkZXNpZ24gb2YgcHJlZW1wdGlibGUgcmVhZC1jb3B5LXVwZGF0ZSIKKyxtb250aD0iT2N0b2JlciIKKyxkYXk9IjgiCisseWVhcj0iMjAwNyIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI1MzY1MS99CitbVmlld2VkIE9jdG9iZXIgMjUsIDIwMDddIgorLGFubm90YXRpb249IgorCUxXTiBhcnRpY2xlIGRlc2NyaWJpbmcgdGhlIGRlc2lnbiBvZiBwcmVlbXB0aWJsZSBSQ1UuCisiCit9CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIwkiV2hhdCBpcyBSQ1U/IiBMV04gc2VyaWVzLgorIworCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDdXaGF0SXNSQ1VGdW5kYW1lbnRhbGx5CissQXV0aG9yPSJQYXVsIEUuIE1jS2VubmV5IGFuZCBKb25hdGhhbiBXYWxwb2xlIgorLFRpdGxlPSJXaGF0IGlzIHtSQ1V9LCBGdW5kYW1lbnRhbGx5PyIKKyxtb250aD0iRGVjZW1iZXIiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA3IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0L30KK1tWaWV3ZWQgRGVjZW1iZXIgMjcsIDIwMDddIgorLGFubm90YXRpb249IgorCUxheXMgb3V0IHRoZSB0aHJlZSBiYXNpYyBjb21wb25lbnRzIG9mIFJDVTogKDEpIHB1Ymxpc2gtc3Vic2NyaWJlLAorCSgyKSB3YWl0IGZvciBwcmUtZXhpc3RpbmcgcmVhZGVycyB0byBjb21wbGV0ZSwgYW5kICgyKSBtYWludGFpbgorCW11bHRpcGxlIHZlcnNpb25zLgorIgorfQorCitAdW5wdWJsaXNoZWR7UGF1bEVNY0tlbm5leTIwMDhXaGF0SXNSQ1VVc2FnZQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0iV2hhdCBpcyB7UkNVfT8gUGFydCAyOiBVc2FnZSIKKyxtb250aD0iSmFudWFyeSIKKyxkYXk9IjQiCisseWVhcj0iMjAwOCIKKyxub3RlPSJBdmFpbGFibGU6CitcdXJse2h0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2MzEzMC99CitbVmlld2VkIEphbnVhcnkgNCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJTGF5cyBvdXQgc2l4IHVzZXMgb2YgUkNVOgorCTEuIFJDVSBpcyBhIFJlYWRlci1Xcml0ZXIgTG9jayBSZXBsYWNlbWVudAorCTIuIFJDVSBpcyBhIFJlc3RyaWN0ZWQgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTMuIFJDVSBpcyBhIEJ1bGsgUmVmZXJlbmNlLUNvdW50aW5nIE1lY2hhbmlzbQorCTQuIFJDVSBpcyBhIFBvb3IgTWFuJ3MgR2FyYmFnZSBDb2xsZWN0b3IKKwk1LiBSQ1UgaXMgYSBXYXkgb2YgUHJvdmlkaW5nIEV4aXN0ZW5jZSBHdWFyYW50ZWVzCisJNi4gUkNVIGlzIGEgV2F5IG9mIFdhaXRpbmcgZm9yIFRoaW5ncyB0byBGaW5pc2ggCisiCit9CisKK0B1bnB1Ymxpc2hlZHtQYXVsRU1jS2VubmV5MjAwOFdoYXRJc1JDVUFQSQorLEF1dGhvcj0iUGF1bCBFLiBNY0tlbm5leSIKKyxUaXRsZT0ie1JDVX0gcGFydCAzOiB0aGUge1JDVX0ge0FQSX0iCissbW9udGg9IkphbnVhcnkiCissZGF5PSIxNyIKKyx5ZWFyPSIyMDA4IgorLG5vdGU9IkF2YWlsYWJsZToKK1x1cmx7aHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjY0MDkwL30KK1tWaWV3ZWQgSmFudWFyeSAxMCwgMjAwOF0iCissYW5ub3RhdGlvbj0iCisJR2l2ZXMgYW4gb3ZlcnZpZXcgb2YgdGhlIExpbnV4LWtlcm5lbCBSQ1UgQVBJIGFuZCBhIGJyaWVmIGFubm90YXRlZCBSQ1UKKwliaWJsaW9ncmFwaHkuCisiCit9CisKK0BhcnRpY2xle0RpbmFrYXJHdW5pZ3VudGFsYTIwMDhJQk1TeXNKCissYXV0aG9yPSJELiBHdW5pZ3VudGFsYSBhbmQgUC4gRS4gTWNLZW5uZXkgYW5kIEouIFRyaXBsZXR0IGFuZCBKLiBXYWxwb2xlIgorLHRpdGxlPSJUaGUgcmVhZC1jb3B5LXVwZGF0ZSBtZWNoYW5pc20gZm9yIHN1cHBvcnRpbmcgcmVhbC10aW1lIGFwcGxpY2F0aW9ucyBvbiBzaGFyZWQtbWVtb3J5IG11bHRpcHJvY2Vzc29yIHN5c3RlbXMgd2l0aCB7TGludXh9IgorLFllYXI9IjIwMDgiCissTW9udGg9IkFwcmlsIgorLGpvdXJuYWw9IklCTSBTeXN0ZW1zIEpvdXJuYWwiCissdm9sdW1lPSI0NyIKKyxudW1iZXI9IjIiCisscGFnZXM9IkBALUBAIgorLGFubm90YXRpb249IgorCVJDVSwgcmVhbHRpbWUgUkNVLCBzbGVlcGFibGUgUkNVLCBwZXJmb3JtYW5jZS4KKyIKK30KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS9jaGVja2xpc3QudHh0CmluZGV4IDQyYjAxYmMuLmNmNTU2MmMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vUkNVL2NoZWNrbGlzdC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9SQ1UvY2hlY2tsaXN0LnR4dApAQCAtMTMsMTAgKzEzLDEzIEBACiAJZGV0YWlsZWQgcGVyZm9ybWFuY2UgbWVhc3VyZW1lbnRzIHNob3cgdGhhdCBSQ1UgaXMgbm9uZXRoZWxlc3MKIAl0aGUgcmlnaHQgdG9vbCBmb3IgdGhlIGpvYi4KIAotCVRoZSBvdGhlciBleGNlcHRpb24gd291bGQgYmUgd2hlcmUgcGVyZm9ybWFuY2UgaXMgbm90IGFuIGlzc3VlLAotCWFuZCBSQ1UgcHJvdmlkZXMgYSBzaW1wbGVyIGltcGxlbWVudGF0aW9uLiAgQW4gZXhhbXBsZSBvZiB0aGlzCi0Jc2l0dWF0aW9uIGlzIHRoZSBkeW5hbWljIE5NSSBjb2RlIGluIHRoZSBMaW51eCAyLjYga2VybmVsLAotCWF0IGxlYXN0IG9uIGFyY2hpdGVjdHVyZXMgd2hlcmUgTk1JcyBhcmUgcmFyZS4KKwlBbm90aGVyIGV4Y2VwdGlvbiBpcyB3aGVyZSBwZXJmb3JtYW5jZSBpcyBub3QgYW4gaXNzdWUsIGFuZCBSQ1UKKwlwcm92aWRlcyBhIHNpbXBsZXIgaW1wbGVtZW50YXRpb24uICBBbiBleGFtcGxlIG9mIHRoaXMgc2l0dWF0aW9uCisJaXMgdGhlIGR5bmFtaWMgTk1JIGNvZGUgaW4gdGhlIExpbnV4IDIuNiBrZXJuZWwsIGF0IGxlYXN0IG9uCisJYXJjaGl0ZWN0dXJlcyB3aGVyZSBOTUlzIGFyZSByYXJlLgorCisJWWV0IGFub3RoZXIgZXhjZXB0aW9uIGlzIHdoZXJlIHRoZSBsb3cgcmVhbC10aW1lIGxhdGVuY3kgb2YgUkNVJ3MKKwlyZWFkLXNpZGUgcHJpbWl0aXZlcyBpcyBjcml0aWNhbGx5IGltcG9ydGFudC4KIAogMS4JRG9lcyB0aGUgdXBkYXRlIGNvZGUgaGF2ZSBwcm9wZXIgbXV0dWFsIGV4Y2x1c2lvbj8KIApAQCAtMzksOSArNDIsMTAgQEAKIAogMi4JRG8gdGhlIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgbWFrZSBwcm9wZXIgdXNlIG9mCiAJcmN1X3JlYWRfbG9jaygpIGFuZCBmcmllbmRzPyAgVGhlc2UgcHJpbWl0aXZlcyBhcmUgbmVlZGVkCi0JdG8gc3VwcHJlc3MgcHJlZW1wdGlvbiAob3IgYm90dG9tIGhhbHZlcywgaW4gdGhlIGNhc2Ugb2YKLQlyY3VfcmVhZF9sb2NrX2JoKCkpIGluIHRoZSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMsCi0JYW5kIGFyZSBhbHNvIGFuIGV4Y2VsbGVudCBhaWQgdG8gcmVhZGFiaWxpdHkuCisJdG8gcHJldmVudCBncmFjZSBwZXJpb2RzIGZyb20gZW5kaW5nIHByZW1hdHVyZWx5LCB3aGljaAorCWNvdWxkIHJlc3VsdCBpbiBkYXRhIGJlaW5nIHVuY2VyZW1vbmlvdXNseSBmcmVlZCBvdXQgZnJvbQorCXVuZGVyIHlvdXIgcmVhZC1zaWRlIGNvZGUsIHdoaWNoIGNhbiBncmVhdGx5IGluY3JlYXNlIHRoZQorCWFjdHVhcmlhbCByaXNrIG9mIHlvdXIga2VybmVsLgogCiAJQXMgYSByb3VnaCBydWxlIG9mIHRodW1iLCBhbnkgZGVyZWZlcmVuY2Ugb2YgYW4gUkNVLXByb3RlY3RlZAogCXBvaW50ZXIgbXVzdCBiZSBjb3ZlcmVkIGJ5IHJjdV9yZWFkX2xvY2soKSBvciByY3VfcmVhZF9sb2NrX2JoKCkKQEAgLTU0LDE1ICs1OCwzMCBAQAogCWJlIHJ1bm5pbmcgd2hpbGUgdXBkYXRlcyBhcmUgaW4gcHJvZ3Jlc3MuICBUaGVyZSBhcmUgYSBudW1iZXIKIAlvZiB3YXlzIHRvIGhhbmRsZSB0aGlzIGNvbmN1cnJlbmN5LCBkZXBlbmRpbmcgb24gdGhlIHNpdHVhdGlvbjoKIAotCWEuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKKwlhLglVc2UgdGhlIFJDVSB2YXJpYW50cyBvZiB0aGUgbGlzdCBhbmQgaGxpc3QgdXBkYXRlCisJCXByaW1pdGl2ZXMgdG8gYWRkLCByZW1vdmUsIGFuZCByZXBsYWNlIGVsZW1lbnRzIG9uIGFuCisJCVJDVS1wcm90ZWN0ZWQgbGlzdC4gIEFsdGVybmF0aXZlbHksIHVzZSB0aGUgUkNVLXByb3RlY3RlZAorCQl0cmVlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgTGludXgga2VybmVsLgorCisJCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKworCWIuCVByb2NlZWQgYXMgaW4gKGEpIGFib3ZlLCBidXQgYWxzbyBtYWludGFpbiBwZXItZWxlbWVudAorCQlsb2NrcyAodGhhdCBhcmUgYWNxdWlyZWQgYnkgYm90aCByZWFkZXJzIGFuZCB3cml0ZXJzKQorCQl0aGF0IGd1YXJkIHBlci1lbGVtZW50IHN0YXRlLiAgT2YgY291cnNlLCBmaWVsZHMgdGhhdAorCQl0aGUgcmVhZGVycyByZWZyYWluIGZyb20gYWNjZXNzaW5nIGNhbiBiZSBndWFyZGVkIGJ5IHRoZQorCQl1cGRhdGUtc2lkZSBsb2NrLgorCisJCVRoaXMgd29ya3MgcXVpdGUgd2VsbCwgYWxzby4KKworCWMuCU1ha2UgdXBkYXRlcyBhcHBlYXIgYXRvbWljIHRvIHJlYWRlcnMuICBGb3IgZXhhbXBsZSwKIAkJcG9pbnRlciB1cGRhdGVzIHRvIHByb3Blcmx5IGFsaWduZWQgZmllbGRzIHdpbGwgYXBwZWFyCiAJCWF0b21pYywgYXMgd2lsbCBpbmRpdmlkdWFsIGF0b21pYyBwcmltaXRpdmVzLiAgT3BlcmF0aW9ucwogCQlwZXJmb3JtZWQgdW5kZXIgYSBsb2NrIGFuZCBzZXF1ZW5jZXMgb2YgbXVsdGlwbGUgYXRvbWljCiAJCXByaW1pdGl2ZXMgd2lsbCAtbm90LSBhcHBlYXIgdG8gYmUgYXRvbWljLgogCi0JCVRoaXMgaXMgYWxtb3N0IGFsd2F5cyB0aGUgYmVzdCBhcHByb2FjaC4KKwkJVGhpcyBjYW4gd29yaywgYnV0IGlzIHN0YXJ0aW5nIHRvIGdldCBhIGJpdCB0cmlja3kuCiAKLQliLglDYXJlZnVsbHkgb3JkZXIgdGhlIHVwZGF0ZXMgYW5kIHRoZSByZWFkcyBzbyB0aGF0CisJZC4JQ2FyZWZ1bGx5IG9yZGVyIHRoZSB1cGRhdGVzIGFuZCB0aGUgcmVhZHMgc28gdGhhdAogCQlyZWFkZXJzIHNlZSB2YWxpZCBkYXRhIGF0IGFsbCBwaGFzZXMgb2YgdGhlIHVwZGF0ZS4KIAkJVGhpcyBpcyBvZnRlbiBtb3JlIGRpZmZpY3VsdCB0aGFuIGl0IHNvdW5kcywgZXNwZWNpYWxseQogCQlnaXZlbiBtb2Rlcm4gQ1BVcycgdGVuZGVuY3kgdG8gcmVvcmRlciBtZW1vcnkgcmVmZXJlbmNlcy4KQEAgLTEyMywxOCArMTQyLDIyIEBACiAJCXdoZW4gcHVibGljaXppbmcgYSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIHRoYXQgY2FuCiAJCWJlIHRyYXZlcnNlZCBieSBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uCiAKLTUuCUlmIGNhbGxfcmN1KCksIG9yIGEgcmVsYXRlZCBwcmltaXRpdmUgc3VjaCBhcyBjYWxsX3JjdV9iaCgpLAotCWlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlIHdyaXR0ZW4gdG8gYmUgY2FsbGVkCi0JZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLCBpdCBjYW5ub3QgYmxvY2suCis1LglJZiBjYWxsX3JjdSgpLCBvciBhIHJlbGF0ZWQgcHJpbWl0aXZlIHN1Y2ggYXMgY2FsbF9yY3VfYmgoKSBvcgorCWNhbGxfcmN1X3NjaGVkKCksIGlzIHVzZWQsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtdXN0IGJlCisJd3JpdHRlbiB0byBiZSBjYWxsZWQgZnJvbSBzb2Z0aXJxIGNvbnRleHQuICBJbiBwYXJ0aWN1bGFyLAorCWl0IGNhbm5vdCBibG9jay4KIAogNi4JU2luY2Ugc3luY2hyb25pemVfcmN1KCkgY2FuIGJsb2NrLCBpdCBjYW5ub3QgYmUgY2FsbGVkIGZyb20KLQlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4KKwlhbnkgc29ydCBvZiBpcnEgY29udGV4dC4gIERpdHRvIGZvciBzeW5jaHJvbml6ZV9zY2hlZCgpIGFuZAorCXN5bmNocm9uaXplX3NyY3UoKS4KIAogNy4JSWYgdGhlIHVwZGF0ZXIgdXNlcyBjYWxsX3JjdSgpLCB0aGVuIHRoZSBjb3JyZXNwb25kaW5nIHJlYWRlcnMKIAltdXN0IHVzZSByY3VfcmVhZF9sb2NrKCkgYW5kIHJjdV9yZWFkX3VubG9jaygpLiAgSWYgdGhlIHVwZGF0ZXIKIAl1c2VzIGNhbGxfcmN1X2JoKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0IHVzZQotCXJjdV9yZWFkX2xvY2tfYmgoKSBhbmQgcmN1X3JlYWRfdW5sb2NrX2JoKCkuICBNaXhpbmcgdGhpbmdzIHVwCi0Jd2lsbCByZXN1bHQgaW4gY29uZnVzaW9uIGFuZCBicm9rZW4ga2VybmVscy4KKwlyY3VfcmVhZF9sb2NrX2JoKCkgYW5kIHJjdV9yZWFkX3VubG9ja19iaCgpLiAgSWYgdGhlIHVwZGF0ZXIKKwl1c2VzIGNhbGxfcmN1X3NjaGVkKCksIHRoZW4gdGhlIGNvcnJlc3BvbmRpbmcgcmVhZGVycyBtdXN0CisJZGlzYWJsZSBwcmVlbXB0aW9uLiAgTWl4aW5nIHRoaW5ncyB1cCB3aWxsIHJlc3VsdCBpbiBjb25mdXNpb24KKwlhbmQgYnJva2VuIGtlcm5lbHMuCiAKIAlPbmUgZXhjZXB0aW9uIHRvIHRoaXMgcnVsZTogcmN1X3JlYWRfbG9jaygpIGFuZCByY3VfcmVhZF91bmxvY2soKQogCW1heSBiZSBzdWJzdGl0dXRlZCBmb3IgcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKQpAQCAtMTQzLDkgKzE2Niw5IEBACiAJc3VjaCBjYXNlcyBpcyBhIG11c3QsIG9mIGNvdXJzZSEgIEFuZCB0aGUganVyeSBpcyBzdGlsbCBvdXQgb24KIAl3aGV0aGVyIHRoZSBpbmNyZWFzZWQgc3BlZWQgaXMgd29ydGggaXQuCiAKLTguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIGEgYml0IHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksCi0JaXQgdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlCi0JcGVyZm9ybWFuY2UgaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKKzguCUFsdGhvdWdoIHN5bmNocm9uaXplX3JjdSgpIGlzIHNsb3dlciB0aGFuIGlzIGNhbGxfcmN1KCksIGl0CisJdXN1YWxseSByZXN1bHRzIGluIHNpbXBsZXIgY29kZS4gIFNvLCB1bmxlc3MgdXBkYXRlIHBlcmZvcm1hbmNlCisJaXMgY3JpdGljYWxseSBpbXBvcnRhbnQgb3IgdGhlIHVwZGF0ZXJzIGNhbm5vdCBibG9jaywKIAlzeW5jaHJvbml6ZV9yY3UoKSBzaG91bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIGNhbGxfcmN1KCkuCiAKIAlBbiBlc3BlY2lhbGx5IGltcG9ydGFudCBwcm9wZXJ0eSBvZiB0aGUgc3luY2hyb25pemVfcmN1KCkKQEAgLTE4NywyMyArMjEwLDIzIEBACiAJCW51bWJlciBvZiB1cGRhdGVzIHBlciBncmFjZSBwZXJpb2QuCiAKIDkuCUFsbCBSQ1UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgd2hpY2ggaW5jbHVkZQotCWxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCisJcmN1X2RlcmVmZXJlbmNlKCksIGxpc3RfZm9yX2VhY2hfcmN1KCksIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksCiAJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UoKSwgYW5kIGxpc3RfZm9yX2VhY2hfc2FmZV9yY3UoKSwKLQltdXN0IGJlIHdpdGhpbiBhbiBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb24uICBSQ1UKKwltdXN0IGJlIGVpdGhlciB3aXRoaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uIG9yCisJbXVzdCBiZSBwcm90ZWN0ZWQgYnkgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9ja3MuICBSQ1UKIAlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgYXJlIGRlbGltaXRlZCBieSByY3VfcmVhZF9sb2NrKCkKIAlhbmQgcmN1X3JlYWRfdW5sb2NrKCksIG9yIGJ5IHNpbWlsYXIgcHJpbWl0aXZlcyBzdWNoIGFzCiAJcmN1X3JlYWRfbG9ja19iaCgpIGFuZCByY3VfcmVhZF91bmxvY2tfYmgoKS4KIAotCVVzZSBvZiB0aGUgX3JjdSgpIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMgb3V0c2lkZSBvZiBhbgotCVJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbiBjYXVzZXMgbm8gaGFybSBvdGhlciB0aGFuCi0JYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gb24gQWxwaGEgQ1BVcy4gIEl0IGNhbgotCWFsc28gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uCi0JY29kZSBpcyBzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KKwlUaGUgcmVhc29uIHRoYXQgaXQgaXMgcGVybWlzc2libGUgdG8gdXNlIFJDVSBsaXN0LXRyYXZlcnNhbAorCXByaW1pdGl2ZXMgd2hlbiB0aGUgdXBkYXRlLXNpZGUgbG9jayBpcyBoZWxkIGlzIHRoYXQgZG9pbmcgc28KKwljYW4gYmUgcXVpdGUgaGVscGZ1bCBpbiByZWR1Y2luZyBjb2RlIGJsb2F0IHdoZW4gY29tbW9uIGNvZGUgaXMKKwlzaGFyZWQgYmV0d2VlbiByZWFkZXJzIGFuZCB1cGRhdGVycy4KIAogMTAuCUNvbnZlcnNlbHksIGlmIHlvdSBhcmUgaW4gYW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9uLAotCXlvdSAtbXVzdC0gdXNlIHRoZSAiX3JjdSgpIiB2YXJpYW50cyBvZiB0aGUgbGlzdCBtYWNyb3MuCi0JRmFpbGluZyB0byBkbyBzbyB3aWxsIGJyZWFrIEFscGhhIGFuZCBjb25mdXNlIHBlb3BsZSByZWFkaW5nCi0JeW91ciBjb2RlLgorCWFuZCB5b3UgZG9uJ3QgaG9sZCB0aGUgYXBwcm9wcmlhdGUgdXBkYXRlLXNpZGUgbG9jaywgeW91IC1tdXN0LQorCXVzZSB0aGUgIl9yY3UoKSIgdmFyaWFudHMgb2YgdGhlIGxpc3QgbWFjcm9zLiAgRmFpbGluZyB0byBkbyBzbworCXdpbGwgYnJlYWsgQWxwaGEgYW5kIGNvbmZ1c2UgcGVvcGxlIHJlYWRpbmcgeW91ciBjb2RlLgogCiAxMS4JTm90ZSB0aGF0IHN5bmNocm9uaXplX3JjdSgpIC1vbmx5LSBndWFyYW50ZWVzIHRvIHdhaXQgdW50aWwKIAlhbGwgY3VycmVudGx5IGV4ZWN1dGluZyByY3VfcmVhZF9sb2NrKCktcHJvdGVjdGVkIFJDVSByZWFkLXNpZGUKQEAgLTIzMCw2ICsyNTMsMTQgQEAKIAltdXN0IHVzZSB3aGF0ZXZlciBsb2NraW5nIG9yIG90aGVyIHN5bmNocm9uaXphdGlvbiBpcyByZXF1aXJlZAogCXRvIHNhZmVseSBhY2Nlc3MgYW5kL29yIG1vZGlmeSB0aGF0IGRhdGEgc3RydWN0dXJlLgogCisJUkNVIGNhbGxiYWNrcyBhcmUgLXVzdWFsbHktIGV4ZWN1dGVkIG9uIHRoZSBzYW1lIENQVSB0aGF0IGV4ZWN1dGVkCisJdGhlIGNvcnJlc3BvbmRpbmcgY2FsbF9yY3UoKSwgY2FsbF9yY3VfYmgoKSwgb3IgY2FsbF9yY3Vfc2NoZWQoKSwKKwlidXQgYXJlIGJ5IC1uby0gbWVhbnMgZ3VhcmFudGVlZCB0byBiZS4gIEZvciBleGFtcGxlLCBpZiBhIGdpdmVuCisJQ1BVIGdvZXMgb2ZmbGluZSB3aGlsZSBoYXZpbmcgYW4gUkNVIGNhbGxiYWNrIHBlbmRpbmcsIHRoZW4gdGhhdAorCVJDVSBjYWxsYmFjayB3aWxsIGV4ZWN1dGUgb24gc29tZSBzdXJ2aXZpbmcgQ1BVLiAgKElmIHRoaXMgd2FzCisJbm90IHRoZSBjYXNlLCBhIHNlbGYtc3Bhd25pbmcgUkNVIGNhbGxiYWNrIHdvdWxkIHByZXZlbnQgdGhlCisJdmljdGltIENQVSBmcm9tIGV2ZXIgZ29pbmcgb2ZmbGluZS4pCisKIDE0LglTUkNVIChzcmN1X3JlYWRfbG9jaygpLCBzcmN1X3JlYWRfdW5sb2NrKCksIGFuZCBzeW5jaHJvbml6ZV9zcmN1KCkpCiAJbWF5IG9ubHkgYmUgaW52b2tlZCBmcm9tIHByb2Nlc3MgY29udGV4dC4gIFVubGlrZSBvdGhlciBmb3JtcyBvZgogCVJDVSwgaXQgLWlzLSBwZXJtaXNzaWJsZSB0byBibG9jayBpbiBhbiBTUkNVIHJlYWQtc2lkZSBjcml0aWNhbApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1UvdG9ydHVyZS50eHQgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAppbmRleCAyOTY3YTY1Li5hMzQyYjZlIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS90b3J0dXJlLnR4dApAQCAtMTAsMjMgKzEwLDMwIEBACiBjb21tYW5kIChwZXJoYXBzIGdyZXBwaW5nIGZvciAidG9ydHVyZSIpLiAgVGhlIHRlc3QgaXMgc3RhcnRlZAogd2hlbiB0aGUgbW9kdWxlIGlzIGxvYWRlZCwgYW5kIHN0b3BzIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZC4KIAotSG93ZXZlciwgYWN0dWFsbHkgc2V0dGluZyB0aGlzIGNvbmZpZyBvcHRpb24gdG8gInkiIHJlc3VsdHMgaW4gdGhlIHN5c3RlbQotcnVubmluZyB0aGUgdGVzdCBpbW1lZGlhdGVseSB1cG9uIGJvb3QsIGFuZCBlbmRpbmcgb25seSB3aGVuIHRoZSBzeXN0ZW0KLWlzIHRha2VuIGRvd24uICBOb3JtYWxseSwgb25lIHdpbGwgaW5zdGVhZCB3YW50IHRvIGJ1aWxkIHRoZSBzeXN0ZW0KLXdpdGggQ09ORklHX1JDVV9UT1JUVVJFX1RFU1Q9bSBhbmQgdG8gdXNlIG1vZHByb2JlIGFuZCBybW1vZCB0byBjb250cm9sCi10aGUgdGVzdCwgcGVyaGFwcyB1c2luZyBhIHNjcmlwdCBzaW1pbGFyIHRvIHRoZSBvbmUgc2hvd24gYXQgdGhlIGVuZCBvZgotdGhpcyBkb2N1bWVudC4gIE5vdGUgdGhhdCB5b3Ugd2lsbCBuZWVkIENPTkZJR19NT0RVTEVfVU5MT0FEIGluIG9yZGVyCi10byBiZSBhYmxlIHRvIGVuZCB0aGUgdGVzdC4KK0NPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFCisKK0l0IGlzIGFsc28gcG9zc2libGUgdG8gc3BlY2lmeSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVD15LCB3aGljaCB3aWxsCityZXN1bHQgaW4gdGhlIHRlc3RzIGJlaW5nIGxvYWRlZCBpbnRvIHRoZSBiYXNlIGtlcm5lbC4gIEluIHRoaXMgY2FzZSwKK3RoZSBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uIGlzIHVzZWQgdG8gc3BlY2lmeQord2hldGhlciB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgYXJlIHRvIGJlIHN0YXJ0ZWQgaW1tZWRpYXRlbHkgZHVyaW5nCitib290IG9yIHdoZXRoZXIgdGhlIC9wcm9jL3N5cy9rZXJuZWwvcmN1dG9ydHVyZV9ydW5uYWJsZSBmaWxlIGlzIHVzZWQKK3RvIGVuYWJsZSB0aGVtLiAgVGhpcyAvcHJvYyBmaWxlIGNhbiBiZSB1c2VkIHRvIHJlcGVhdGVkbHkgcGF1c2UgYW5kCityZXN0YXJ0IHRoZSB0ZXN0cywgcmVnYXJkbGVzcyBvZiB0aGUgaW5pdGlhbCBzdGF0ZSBzcGVjaWZpZWQgYnkgdGhlCitDT05GSUdfUkNVX1RPUlRVUkVfVEVTVF9SVU5OQUJMRSBjb25maWcgb3B0aW9uLgorCitZb3Ugd2lsbCBub3JtYWxseSAtbm90LSB3YW50IHRvIHN0YXJ0IHRoZSBSQ1UgdG9ydHVyZSB0ZXN0cyBkdXJpbmcgYm9vdAorKGFuZCB0aHVzIHRoZSBkZWZhdWx0IGlzIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFPW4pLCBidXQgZG9pbmcKK3RoaXMgY2FuIHNvbWV0aW1lcyBiZSB1c2VmdWwgaW4gZmluZGluZyBib290LXRpbWUgYnVncy4KIAogCiBNT0RVTEUgUEFSQU1FVEVSUwogCiBUaGlzIG1vZHVsZSBoYXMgdGhlIGZvbGxvd2luZyBwYXJhbWV0ZXJzOgogCi1ucmVhZGVycwlUaGlzIGlzIHRoZSBudW1iZXIgb2YgUkNVIHJlYWRpbmcgdGhyZWFkcyBzdXBwb3J0ZWQuCi0JCVRoZSBkZWZhdWx0IGlzIHR3aWNlIHRoZSBudW1iZXIgb2YgQ1BVcy4gIFdoeSB0d2ljZT8KLQkJVG8gcHJvcGVybHkgZXhlcmNpc2UgUkNVIGltcGxlbWVudGF0aW9ucyB3aXRoIHByZWVtcHRpYmxlCi0JCXJlYWQtc2lkZSBjcml0aWNhbCBzZWN0aW9ucy4KK2lycXJlYWRlcnMJU2F5cyB0byBpbnZva2UgUkNVIHJlYWRlcnMgZnJvbSBpcnEgbGV2ZWwuICBUaGlzIGlzIGN1cnJlbnRseQorCQlkb25lIHZpYSB0aW1lcnMuICBEZWZhdWx0cyB0byAiMSIgZm9yIHZhcmlhbnRzIG9mIFJDVSB0aGF0CisJCXBlcm1pdCB0aGlzLiAgKE9yLCBtb3JlIGFjY3VyYXRlbHksIHZhcmlhbnRzIG9mIFJDVSB0aGF0IGRvCisJCS1ub3QtIHBlcm1pdCB0aGlzIGtub3cgdG8gaWdub3JlIHRoaXMgdmFyaWFibGUuKQogCiBuZmFrZXdyaXRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSBmYWtlIHdyaXRlciB0aHJlYWRzIHRvIHJ1bi4gIEZha2UKIAkJd3JpdGVyIHRocmVhZHMgcmVwZWF0ZWRseSB1c2UgdGhlIHN5bmNocm9ub3VzICJ3YWl0IGZvcgpAQCAtMzcsNiArNDQsMTYgQEAKIAkJdG8gdHJpZ2dlciBzcGVjaWFsIGNhc2VzIGNhdXNlZCBieSBtdWx0aXBsZSB3cml0ZXJzLCBzdWNoIGFzCiAJCXRoZSBzeW5jaHJvbml6ZV9zcmN1KCkgZWFybHkgcmV0dXJuIG9wdGltaXphdGlvbi4KIAorbnJlYWRlcnMJVGhpcyBpcyB0aGUgbnVtYmVyIG9mIFJDVSByZWFkaW5nIHRocmVhZHMgc3VwcG9ydGVkLgorCQlUaGUgZGVmYXVsdCBpcyB0d2ljZSB0aGUgbnVtYmVyIG9mIENQVXMuICBXaHkgdHdpY2U/CisJCVRvIHByb3Blcmx5IGV4ZXJjaXNlIFJDVSBpbXBsZW1lbnRhdGlvbnMgd2l0aCBwcmVlbXB0aWJsZQorCQlyZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMuCisKK3NodWZmbGVfaW50ZXJ2YWwKKwkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCisJCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDMgc2Vjb25kcy4KKwkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KKwogc3RhdF9pbnRlcnZhbAlUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiBvdXRwdXQgb2YgdG9ydHVyZQogCQlzdGF0aXN0aWNzICh2aWEgcHJpbnRrKCkpLiAgUmVnYXJkbGVzcyBvZiB0aGUgaW50ZXJ2YWwsCiAJCXN0YXRpc3RpY3MgYXJlIHByaW50ZWQgd2hlbiB0aGUgbW9kdWxlIGlzIHVubG9hZGVkLgpAQCAtNDQsMTAgKzYxLDExIEBACiAJCWJlIHByaW50ZWQgLW9ubHktIHdoZW4gdGhlIG1vZHVsZSBpcyB1bmxvYWRlZCwgYW5kIHRoaXMKIAkJaXMgdGhlIGRlZmF1bHQuCiAKLXNodWZmbGVfaW50ZXJ2YWwKLQkJVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIGtlZXAgdGhlIHRlc3QgdGhyZWFkcyBhZmZpbml0aWVkCi0JCXRvIGEgcGFydGljdWxhciBzdWJzZXQgb2YgdGhlIENQVXMsIGRlZmF1bHRzIHRvIDUgc2Vjb25kcy4KLQkJVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRlc3Rfbm9faWRsZV9oei4KK3N0dXR0ZXIJCVRoZSBsZW5ndGggb2YgdGltZSB0byBydW4gdGhlIHRlc3QgYmVmb3JlIHBhdXNpbmcgZm9yIHRoaXMKKwkJc2FtZSBwZXJpb2Qgb2YgdGltZS4gIERlZmF1bHRzIHRvICJzdHV0dGVyPTUiLCBzbyBhcworCQl0byBydW4gYW5kIHBhdXNlIGZvciAocm91Z2hseSkgZml2ZS1zZWNvbmQgaW50ZXJ2YWxzLgorCQlTcGVjaWZ5aW5nICJzdHV0dGVyPTAiIGNhdXNlcyB0aGUgdGVzdCB0byBydW4gY29udGludW91c2x5CisJCXdpdGhvdXQgcGF1c2luZywgd2hpY2ggaXMgdGhlIG9sZCBkZWZhdWx0IGJlaGF2aW9yLgogCiB0ZXN0X25vX2lkbGVfaHoJV2hldGhlciBvciBub3QgdG8gdGVzdCB0aGUgYWJpbGl0eSBvZiBSQ1UgdG8gb3BlcmF0ZSBpbgogCQlhIGtlcm5lbCB0aGF0IGRpc2FibGVzIHRoZSBzY2hlZHVsaW5nLWNsb2NrIGludGVycnVwdCB0bwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dCBiL0RvY3VtZW50YXRpb24vUkNVL3doYXRpc1JDVS50eHQKaW5kZXggZTBkNmQ5OS4uZTA0ZDY0MyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9SQ1Uvd2hhdGlzUkNVLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL1JDVS93aGF0aXNSQ1UudHh0CkBAIC0xLDMgKzEsMTEgQEAKK1BsZWFzZSBub3RlIHRoYXQgdGhlICJXaGF0IGlzIFJDVT8iIExXTiBzZXJpZXMgaXMgYW4gZXhjZWxsZW50IHBsYWNlCit0byBzdGFydCBsZWFybmluZyBhYm91dCBSQ1U6CisKKzEuCVdoYXQgaXMgUkNVLCBGdW5kYW1lbnRhbGx5PyAgaHR0cDovL2x3bi5uZXQvQXJ0aWNsZXMvMjYyNDY0LworMi4JV2hhdCBpcyBSQ1U/IFBhcnQgMjogVXNhZ2UgICBodHRwOi8vbHduLm5ldC9BcnRpY2xlcy8yNjMxMzAvCiszLglSQ1UgcGFydCAzOiB0aGUgUkNVIEFQSSAgICAgIGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI2NDA5MC8KKworCiBXaGF0IGlzIFJDVT8KIAogUkNVIGlzIGEgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSB0aGF0IHdhcyBhZGRlZCB0byB0aGUgTGludXgga2VybmVsCkBAIC03NzIsMjYgKzc4MCwxOCBAQAogQVBJcywgc2luY2UgdGhlcmUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGEgd2F5IHRvIGNhdGVnb3JpemUgdGhlbQogaW4gZG9jYm9vay4gIEhlcmUgaXMgdGhlIGxpc3QsIGJ5IGNhdGVnb3J5LgogCi1NYXJrZXJzIGZvciBSQ1UgcmVhZC1zaWRlIGNyaXRpY2FsIHNlY3Rpb25zOgotCi0JcmN1X3JlYWRfbG9jawotCXJjdV9yZWFkX3VubG9jawotCXJjdV9yZWFkX2xvY2tfYmgKLQlyY3VfcmVhZF91bmxvY2tfYmgKLQlzcmN1X3JlYWRfbG9jawotCXNyY3VfcmVhZF91bmxvY2sKLQogUkNVIHBvaW50ZXIvbGlzdCB0cmF2ZXJzYWw6CiAKIAlyY3VfZGVyZWZlcmVuY2UKLQlsaXN0X2Zvcl9lYWNoX3JjdQkJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YKLQkJCQkJIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KQogCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1Ci0JbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3Ci0JCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKIAlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UKIAotUkNVIHBvaW50ZXIgdXBkYXRlOgorCWxpc3RfZm9yX2VhY2hfcmN1CQkodG8gYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZgorCQkJCQkgbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UpCisJbGlzdF9mb3JfZWFjaF9jb250aW51ZV9yY3UJKHRvIGJlIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgbmV3CisJCQkJCSBsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlX3JjdSkKKworUkNVIHBvaW50ZXIvbGlzdCB1cGRhdGU6CiAKIAlyY3VfYXNzaWduX3BvaW50ZXIKIAlsaXN0X2FkZF9yY3UKQEAgLTc5OSwxNiArNzk5LDM2IEBACiAJbGlzdF9kZWxfcmN1CiAJbGlzdF9yZXBsYWNlX3JjdQogCWhsaXN0X2RlbF9yY3UKKwlobGlzdF9hZGRfYWZ0ZXJfcmN1CisJaGxpc3RfYWRkX2JlZm9yZV9yY3UKIAlobGlzdF9hZGRfaGVhZF9yY3UKKwlobGlzdF9yZXBsYWNlX3JjdQorCWxpc3Rfc3BsaWNlX2luaXRfcmN1KCkKIAotUkNVIGdyYWNlIHBlcmlvZDoKK1JDVToJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCiAKLQlzeW5jaHJvbml6ZV9uZXQKLQlzeW5jaHJvbml6ZV9zY2hlZAotCXN5bmNocm9uaXplX3JjdQotCXN5bmNocm9uaXplX3NyY3UKLQljYWxsX3JjdQotCWNhbGxfcmN1X2JoCisJcmN1X3JlYWRfbG9jawkJc3luY2hyb25pemVfbmV0CQlyY3VfYmFycmllcgorCXJjdV9yZWFkX3VubG9jawkJc3luY2hyb25pemVfcmN1CisJCQkJY2FsbF9yY3UKKworCitiaDoJQ3JpdGljYWwgc2VjdGlvbnMJR3JhY2UgcGVyaW9kCQlCYXJyaWVyCisKKwlyY3VfcmVhZF9sb2NrX2JoCWNhbGxfcmN1X2JoCQlyY3VfYmFycmllcl9iaAorCXJjdV9yZWFkX3VubG9ja19iaAorCisKK3NjaGVkOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCVtwcmVlbXB0X2Rpc2FibGVdCXN5bmNocm9uaXplX3NjaGVkCXJjdV9iYXJyaWVyX3NjaGVkCisJW2FuZCBmcmllbmRzXQkJY2FsbF9yY3Vfc2NoZWQKKworCitTUkNVOglDcml0aWNhbCBzZWN0aW9ucwlHcmFjZSBwZXJpb2QJCUJhcnJpZXIKKworCXNyY3VfcmVhZF9sb2NrCQlzeW5jaHJvbml6ZV9zcmN1CU4vQQorCXNyY3VfcmVhZF91bmxvY2sKKwogCiBTZWUgdGhlIGNvbW1lbnQgaGVhZGVycyBpbiB0aGUgc291cmNlIGNvZGUgKG9yIHRoZSBkb2Nib29rIGdlbmVyYXRlZAogZnJvbSB0aGVtKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0IGIvRG9jdW1lbnRhdGlvbi9ibG9jay9kYXRhLWludGVncml0eS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlkYzhkOAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0CkBAIC0wLDAgKzEsMzI3IEBACistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxLiBJTlRST0RVQ1RJT04KKworTW9kZXJuIGZpbGVzeXN0ZW1zIGZlYXR1cmUgY2hlY2tzdW1taW5nIG9mIGRhdGEgYW5kIG1ldGFkYXRhIHRvCitwcm90ZWN0IGFnYWluc3QgZGF0YSBjb3JydXB0aW9uLiAgSG93ZXZlciwgdGhlIGRldGVjdGlvbiBvZiB0aGUKK2NvcnJ1cHRpb24gaXMgZG9uZSBhdCByZWFkIHRpbWUgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgbW9udGhzCithZnRlciB0aGUgZGF0YSB3YXMgd3JpdHRlbi4gIEF0IHRoYXQgcG9pbnQgdGhlIG9yaWdpbmFsIGRhdGEgdGhhdCB0aGUKK2FwcGxpY2F0aW9uIHRyaWVkIHRvIHdyaXRlIGlzIG1vc3QgbGlrZWx5IGxvc3QuCisKK1RoZSBzb2x1dGlvbiBpcyB0byBlbnN1cmUgdGhhdCB0aGUgZGlzayBpcyBhY3R1YWxseSBzdG9yaW5nIHdoYXQgdGhlCithcHBsaWNhdGlvbiBtZWFudCBpdCB0by4gIFJlY2VudCBhZGRpdGlvbnMgdG8gYm90aCB0aGUgU0NTSSBmYW1pbHkKK3Byb3RvY29scyAoU0JDIERhdGEgSW50ZWdyaXR5IEZpZWxkLCBTQ0MgcHJvdGVjdGlvbiBwcm9wb3NhbCkgYXMgd2VsbAorYXMgU0FUQS9UMTMgKEV4dGVybmFsIFBhdGggUHJvdGVjdGlvbikgdHJ5IHRvIHJlbWVkeSB0aGlzIGJ5IGFkZGluZworc3VwcG9ydCBmb3IgYXBwZW5kaW5nIGludGVncml0eSBtZXRhZGF0YSB0byBhbiBJL08uICBUaGUgaW50ZWdyaXR5CittZXRhZGF0YSAob3IgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBpbiBTQ1NJIHRlcm1pbm9sb2d5KSBpbmNsdWRlcyBhCitjaGVja3N1bSBmb3IgZWFjaCBzZWN0b3IgYXMgd2VsbCBhcyBhbiBpbmNyZW1lbnRpbmcgY291bnRlciB0aGF0CitlbnN1cmVzIHRoZSBpbmRpdmlkdWFsIHNlY3RvcnMgYXJlIHdyaXR0ZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiAgQW5kCitmb3Igc29tZSBwcm90ZWN0aW9uIHNjaGVtZXMgYWxzbyB0aGF0IHRoZSBJL08gaXMgd3JpdHRlbiB0byB0aGUgcmlnaHQKK3BsYWNlIG9uIGRpc2suCisKK0N1cnJlbnQgc3RvcmFnZSBjb250cm9sbGVycyBhbmQgZGV2aWNlcyBpbXBsZW1lbnQgdmFyaW91cyBwcm90ZWN0aXZlCittZWFzdXJlcywgZm9yIGluc3RhbmNlIGNoZWNrc3VtbWluZyBhbmQgc2NydWJiaW5nLiAgQnV0IHRoZXNlCit0ZWNobm9sb2dpZXMgYXJlIHdvcmtpbmcgaW4gdGhlaXIgb3duIGlzb2xhdGVkIGRvbWFpbnMgb3IgYXQgYmVzdAorYmV0d2VlbiBhZGphY2VudCBub2RlcyBpbiB0aGUgSS9PIHBhdGguICBUaGUgaW50ZXJlc3RpbmcgdGhpbmcgYWJvdXQKK0RJRiBhbmQgdGhlIG90aGVyIGludGVncml0eSBleHRlbnNpb25zIGlzIHRoYXQgdGhlIHByb3RlY3Rpb24gZm9ybWF0CitpcyB3ZWxsIGRlZmluZWQgYW5kIGV2ZXJ5IG5vZGUgaW4gdGhlIEkvTyBwYXRoIGNhbiB2ZXJpZnkgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIEkvTyBhbmQgcmVqZWN0IGl0IGlmIGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQuICBUaGlzCithbGxvd3Mgbm90IG9ubHkgY29ycnVwdGlvbiBwcmV2ZW50aW9uIGJ1dCBhbHNvIGlzb2xhdGlvbiBvZiB0aGUgcG9pbnQKK29mIGZhaWx1cmUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIuIFRIRSBEQVRBIElOVEVHUklUWSBFWFRFTlNJT05TCisKK0FzIHdyaXR0ZW4sIHRoZSBwcm90b2NvbCBleHRlbnNpb25zIG9ubHkgcHJvdGVjdCB0aGUgcGF0aCBiZXR3ZWVuCitjb250cm9sbGVyIGFuZCBzdG9yYWdlIGRldmljZS4gIEhvd2V2ZXIsIG1hbnkgY29udHJvbGxlcnMgYWN0dWFsbHkKK2FsbG93IHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRvIGludGVyYWN0IHdpdGggdGhlIGludGVncml0eSBtZXRhZGF0YQorKElNRCkuICBXZSBoYXZlIGJlZW4gd29ya2luZyB3aXRoIHNldmVyYWwgRkMvU0FTIEhCQSB2ZW5kb3JzIHRvIGVuYWJsZQordGhlIHByb3RlY3Rpb24gaW5mb3JtYXRpb24gdG8gYmUgdHJhbnNmZXJyZWQgdG8gYW5kIGZyb20gdGhlaXIKK2NvbnRyb2xsZXJzLgorCitUaGUgU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCB3b3JrcyBieSBhcHBlbmRpbmcgOCBieXRlcyBvZiBwcm90ZWN0aW9uCitpbmZvcm1hdGlvbiB0byBlYWNoIHNlY3Rvci4gIFRoZSBkYXRhICsgaW50ZWdyaXR5IG1ldGFkYXRhIGlzIHN0b3JlZAoraW4gNTIwIGJ5dGUgc2VjdG9ycyBvbiBkaXNrLiAgRGF0YSArIElNRCBhcmUgaW50ZXJsZWF2ZWQgd2hlbgordHJhbnNmZXJyZWQgYmV0d2VlbiB0aGUgY29udHJvbGxlciBhbmQgdGFyZ2V0LiAgVGhlIFQxMyBwcm9wb3NhbCBpcworc2ltaWxhci4KKworQmVjYXVzZSBpdCBpcyBoaWdobHkgaW5jb252ZW5pZW50IGZvciBvcGVyYXRpbmcgc3lzdGVtcyB0byBkZWFsIHdpdGgKKzUyMCAoYW5kIDQxMDQpIGJ5dGUgc2VjdG9ycywgd2UgYXBwcm9hY2hlZCBzZXZlcmFsIEhCQSB2ZW5kb3JzIGFuZAorZW5jb3VyYWdlZCB0aGVtIHRvIGFsbG93IHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YQorc2NhdHRlci1nYXRoZXIgbGlzdHMuCisKK1RoZSBjb250cm9sbGVyIHdpbGwgaW50ZXJsZWF2ZSB0aGUgYnVmZmVycyBvbiB3cml0ZSBhbmQgc3BsaXQgdGhlbSBvbgorcmVhZC4gIFRoaXMgbWVhbnMgdGhhdCB0aGUgTGludXggY2FuIERNQSB0aGUgZGF0YSBidWZmZXJzIHRvIGFuZCBmcm9tCitob3N0IG1lbW9yeSB3aXRob3V0IGNoYW5nZXMgdG8gdGhlIHBhZ2UgY2FjaGUuCisKK0Fsc28sIHRoZSAxNi1iaXQgQ1JDIGNoZWNrc3VtIG1hbmRhdGVkIGJ5IGJvdGggdGhlIFNDU0kgYW5kIFNBVEEgc3BlY3MKK2lzIHNvbWV3aGF0IGhlYXZ5IHRvIGNvbXB1dGUgaW4gc29mdHdhcmUuICBCZW5jaG1hcmtzIGZvdW5kIHRoYXQKK2NhbGN1bGF0aW5nIHRoaXMgY2hlY2tzdW0gaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHN5c3RlbQorcGVyZm9ybWFuY2UgZm9yIGEgbnVtYmVyIG9mIHdvcmtsb2Fkcy4gIFNvbWUgY29udHJvbGxlcnMgYWxsb3cgYQorbGlnaHRlci13ZWlnaHQgY2hlY2tzdW0gdG8gYmUgdXNlZCB3aGVuIGludGVyZmFjaW5nIHdpdGggdGhlIG9wZXJhdGluZworc3lzdGVtLiAgRW11bGV4LCBmb3IgaW5zdGFuY2UsIHN1cHBvcnRzIHRoZSBUQ1AvSVAgY2hlY2tzdW0gaW5zdGVhZC4KK1RoZSBJUCBjaGVja3N1bSByZWNlaXZlZCBmcm9tIHRoZSBPUyBpcyBjb252ZXJ0ZWQgdG8gdGhlIDE2LWJpdCBDUkMKK3doZW4gd3JpdGluZyBhbmQgdmljZSB2ZXJzYS4gIFRoaXMgYWxsb3dzIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8gYmUKK2dlbmVyYXRlZCBieSBMaW51eCBvciB0aGUgYXBwbGljYXRpb24gYXQgdmVyeSBsb3cgY29zdCAoY29tcGFyYWJsZSB0bworc29mdHdhcmUgUkFJRDUpLgorCitUaGUgSVAgY2hlY2tzdW0gaXMgd2Vha2VyIHRoYW4gdGhlIENSQyBpbiB0ZXJtcyBvZiBkZXRlY3RpbmcgYml0CitlcnJvcnMuICBIb3dldmVyLCB0aGUgc3RyZW5ndGggaXMgcmVhbGx5IGluIHRoZSBzZXBhcmF0aW9uIG9mIHRoZSBkYXRhCitidWZmZXJzIGFuZCB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhlc2UgdHdvIGRpc3RpbmN0IGJ1ZmZlcnMgbXVjaAorbWF0Y2ggdXAgZm9yIGFuIEkvTyB0byBjb21wbGV0ZS4KKworVGhlIHNlcGFyYXRpb24gb2YgdGhlIGRhdGEgYW5kIGludGVncml0eSBtZXRhZGF0YSBidWZmZXJzIGFzIHdlbGwgYXMKK3RoZSBjaG9pY2UgaW4gY2hlY2tzdW1zIGlzIHJlZmVycmVkIHRvIGFzIHRoZSBEYXRhIEludGVncml0eQorRXh0ZW5zaW9ucy4gIEFzIHRoZXNlIGV4dGVuc2lvbnMgYXJlIG91dHNpZGUgdGhlIHNjb3BlIG9mIHRoZSBwcm90b2NvbAorYm9kaWVzIChUMTAsIFQxMyksIE9yYWNsZSBhbmQgaXRzIHBhcnRuZXJzIGFyZSB0cnlpbmcgdG8gc3RhbmRhcmRpemUKK3RoZW0gd2l0aGluIHRoZSBTdG9yYWdlIE5ldHdvcmtpbmcgSW5kdXN0cnkgQXNzb2NpYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzMuIEtFUk5FTCBDSEFOR0VTCisKK1RoZSBkYXRhIGludGVncml0eSBmcmFtZXdvcmsgaW4gTGludXggZW5hYmxlcyBwcm90ZWN0aW9uIGluZm9ybWF0aW9uCit0byBiZSBwaW5uZWQgdG8gSS9PcyBhbmQgc2VudCB0by9yZWNlaXZlZCBmcm9tIGNvbnRyb2xsZXJzIHRoYXQKK3N1cHBvcnQgaXQuCisKK1RoZSBhZHZhbnRhZ2UgdG8gdGhlIGludGVncml0eSBleHRlbnNpb25zIGluIFNDU0kgYW5kIFNBVEEgaXMgdGhhdAordGhleSBlbmFibGUgdXMgdG8gcHJvdGVjdCB0aGUgZW50aXJlIHBhdGggZnJvbSBhcHBsaWNhdGlvbiB0byBzdG9yYWdlCitkZXZpY2UuICBIb3dldmVyLCBhdCB0aGUgc2FtZSB0aW1lIHRoaXMgaXMgYWxzbyB0aGUgYmlnZ2VzdAorZGlzYWR2YW50YWdlLiBJdCBtZWFucyB0aGF0IHRoZSBwcm90ZWN0aW9uIGluZm9ybWF0aW9uIG11c3QgYmUgaW4gYQorZm9ybWF0IHRoYXQgY2FuIGJlIHVuZGVyc3Rvb2QgYnkgdGhlIGRpc2suCisKK0dlbmVyYWxseSBMaW51eC9QT1NJWCBhcHBsaWNhdGlvbnMgYXJlIGFnbm9zdGljIHRvIHRoZSBpbnRyaWNhY2llcyBvZgordGhlIHN0b3JhZ2UgZGV2aWNlcyB0aGV5IGFyZSBhY2Nlc3NpbmcuICBUaGUgdmlydHVhbCBmaWxlc3lzdGVtIHN3aXRjaAorYW5kIHRoZSBibG9jayBsYXllciBtYWtlIHRoaW5ncyBsaWtlIGhhcmR3YXJlIHNlY3RvciBzaXplIGFuZAordHJhbnNwb3J0IHByb3RvY29scyBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IHRvIHRoZSBhcHBsaWNhdGlvbi4KKworSG93ZXZlciwgdGhpcyBsZXZlbCBvZiBkZXRhaWwgaXMgcmVxdWlyZWQgd2hlbiBwcmVwYXJpbmcgdGhlCitwcm90ZWN0aW9uIGluZm9ybWF0aW9uIHRvIHNlbmQgdG8gYSBkaXNrLiAgQ29uc2VxdWVudGx5LCB0aGUgdmVyeQorY29uY2VwdCBvZiBhbiBlbmQtdG8tZW5kIHByb3RlY3Rpb24gc2NoZW1lIGlzIGEgbGF5ZXJpbmcgdmlvbGF0aW9uLgorSXQgaXMgY29tcGxldGVseSB1bnJlYXNvbmFibGUgZm9yIGFuIGFwcGxpY2F0aW9uIHRvIGJlIGF3YXJlIHdoZXRoZXIKK2l0IGlzIGFjY2Vzc2luZyBhIFNDU0kgb3IgU0FUQSBkaXNrLgorCitUaGUgZGF0YSBpbnRlZ3JpdHkgc3VwcG9ydCBpbXBsZW1lbnRlZCBpbiBMaW51eCBhdHRlbXB0cyB0byBoaWRlIHRoaXMKK2Zyb20gdGhlIGFwcGxpY2F0aW9uLiAgQXMgZmFyIGFzIHRoZSBhcHBsaWNhdGlvbiAoYW5kIHRvIHNvbWUgZXh0ZW50Cit0aGUga2VybmVsKSBpcyBjb25jZXJuZWQsIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaXMgb3BhcXVlIGluZm9ybWF0aW9uCit0aGF0J3MgYXR0YWNoZWQgdG8gdGhlIEkvTy4KKworVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gYWxsb3dzIHRoZSBibG9jayBsYXllciB0byBhdXRvbWF0aWNhbGx5CitnZW5lcmF0ZSB0aGUgcHJvdGVjdGlvbiBpbmZvcm1hdGlvbiBmb3IgYW55IEkvTy4gIEV2ZW50dWFsbHkgdGhlCitpbnRlbnQgaXMgdG8gbW92ZSB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIGNhbGN1bGF0aW9uIHRvIHVzZXJzcGFjZSBmb3IKK3VzZXIgZGF0YS4gIE1ldGFkYXRhIGFuZCBvdGhlciBJL08gdGhhdCBvcmlnaW5hdGVzIHdpdGhpbiB0aGUga2VybmVsCit3aWxsIHN0aWxsIHVzZSB0aGUgYXV0b21hdGljIGdlbmVyYXRpb24gaW50ZXJmYWNlLgorCitTb21lIHN0b3JhZ2UgZGV2aWNlcyBhbGxvdyBlYWNoIGhhcmR3YXJlIHNlY3RvciB0byBiZSB0YWdnZWQgd2l0aCBhCisxNi1iaXQgdmFsdWUuICBUaGUgb3duZXIgb2YgdGhpcyB0YWcgc3BhY2UgaXMgdGhlIG93bmVyIG9mIHRoZSBibG9jaworZGV2aWNlLiAgSS5lLiB0aGUgZmlsZXN5c3RlbSBpbiBtb3N0IGNhc2VzLiAgVGhlIGZpbGVzeXN0ZW0gY2FuIHVzZQordGhpcyBleHRyYSBzcGFjZSB0byB0YWcgc2VjdG9ycyBhcyB0aGV5IHNlZSBmaXQuICBCZWNhdXNlIHRoZSB0YWcKK3NwYWNlIGlzIGxpbWl0ZWQsIHRoZSBibG9jayBpbnRlcmZhY2UgYWxsb3dzIHRhZ2dpbmcgYmlnZ2VyIGNodW5rcyBieQord2F5IG9mIGludGVybGVhdmluZy4gIFRoaXMgd2F5LCA4KjE2IGJpdHMgb2YgaW5mb3JtYXRpb24gY2FuIGJlCithdHRhY2hlZCB0byBhIHR5cGljYWwgNEtCIGZpbGVzeXN0ZW0gYmxvY2suCisKK1RoaXMgYWxzbyBtZWFucyB0aGF0IGFwcGxpY2F0aW9ucyBzdWNoIGFzIGZzY2sgYW5kIG1rZnMgd2lsbCBuZWVkCithY2Nlc3MgdG8gbWFuaXB1bGF0ZSB0aGUgdGFncyBmcm9tIHVzZXIgc3BhY2UuICBBIHBhc3N0aHJvdWdoCitpbnRlcmZhY2UgZm9yIHRoaXMgaXMgYmVpbmcgd29ya2VkIG9uLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzQuIEJMT0NLIExBWUVSIElNUExFTUVOVEFUSU9OIERFVEFJTFMKKworNC4xIEJJTworCitUaGUgZGF0YSBpbnRlZ3JpdHkgcGF0Y2hlcyBhZGQgYSBuZXcgZmllbGQgdG8gc3RydWN0IGJpbyB3aGVuCitDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgZW5hYmxlZC4gIGJpby0+YmlfaW50ZWdyaXR5IGlzIGEgcG9pbnRlcgordG8gYSBzdHJ1Y3QgYmlwIHdoaWNoIGNvbnRhaW5zIHRoZSBiaW8gaW50ZWdyaXR5IHBheWxvYWQuICBFc3NlbnRpYWxseQorYSBiaXAgaXMgYSB0cmltbWVkIGRvd24gc3RydWN0IGJpbyB3aGljaCBob2xkcyBhIGJpb192ZWMgY29udGFpbmluZwordGhlIGludGVncml0eSBtZXRhZGF0YSBhbmQgdGhlIHJlcXVpcmVkIGhvdXNla2VlcGluZyBpbmZvcm1hdGlvbiAoYnZlYworcG9vbCwgdmVjdG9yIGNvdW50LCBldGMuKQorCitBIGtlcm5lbCBzdWJzeXN0ZW0gY2FuIGVuYWJsZSBkYXRhIGludGVncml0eSBwcm90ZWN0aW9uIG9uIGEgYmlvIGJ5CitjYWxsaW5nIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvKS4gIFRoaXMgd2lsbCBhbGxvY2F0ZSBhbmQgYXR0YWNoIHRoZQorYmlwIHRvIHRoZSBiaW8uCisKK0luZGl2aWR1YWwgcGFnZXMgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEgY2FuIHN1YnNlcXVlbnRseSBiZQorYXR0YWNoZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpLgorCitiaW9fZnJlZSgpIHdpbGwgYXV0b21hdGljYWxseSBmcmVlIHRoZSBiaXAuCisKKworNC4yIEJMT0NLIERFVklDRQorCitCZWNhdXNlIHRoZSBmb3JtYXQgb2YgdGhlIHByb3RlY3Rpb24gZGF0YSBpcyB0aWVkIHRvIHRoZSBwaHlzaWNhbAorZGlzaywgZWFjaCBibG9jayBkZXZpY2UgaGFzIGJlZW4gZXh0ZW5kZWQgd2l0aCBhIGJsb2NrIGludGVncml0eQorcHJvZmlsZSAoc3RydWN0IGJsa19pbnRlZ3JpdHkpLiAgVGhpcyBvcHRpb25hbCBwcm9maWxlIGlzIHJlZ2lzdGVyZWQKK3dpdGggdGhlIGJsb2NrIGxheWVyIHVzaW5nIGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoKS4KKworVGhlIHByb2ZpbGUgY29udGFpbnMgY2FsbGJhY2sgZnVuY3Rpb25zIGZvciBnZW5lcmF0aW5nIGFuZCB2ZXJpZnlpbmcKK3RoZSBwcm90ZWN0aW9uIGRhdGEsIGFzIHdlbGwgYXMgZ2V0dGluZyBhbmQgc2V0dGluZyBhcHBsaWNhdGlvbiB0YWdzLgorVGhlIHByb2ZpbGUgYWxzbyBjb250YWlucyBhIGZldyBjb25zdGFudHMgdG8gYWlkIGluIGNvbXBsZXRpbmcsCittZXJnaW5nIGFuZCBzcGxpdHRpbmcgdGhlIGludGVncml0eSBtZXRhZGF0YS4KKworTGF5ZXJlZCBibG9jayBkZXZpY2VzIHdpbGwgbmVlZCB0byBwaWNrIGEgcHJvZmlsZSB0aGF0J3MgYXBwcm9wcmlhdGUKK2ZvciBhbGwgc3ViZGV2aWNlcy4gIGJsa19pbnRlZ3JpdHlfY29tcGFyZSgpIGNhbiBoZWxwIHdpdGggdGhhdC4gIERNCithbmQgTUQgbGluZWFyLCBSQUlEMCBhbmQgUkFJRDEgYXJlIGN1cnJlbnRseSBzdXBwb3J0ZWQuICBSQUlENC81LzYKK3dpbGwgcmVxdWlyZSBleHRyYSB3b3JrIGR1ZSB0byB0aGUgYXBwbGljYXRpb24gdGFnLgorCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzUuMCBCTE9DSyBMQVlFUiBJTlRFR1JJVFkgQVBJCisKKzUuMSBOT1JNQUwgRklMRVNZU1RFTQorCisgICAgVGhlIG5vcm1hbCBmaWxlc3lzdGVtIGlzIHVuYXdhcmUgdGhhdCB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UKKyAgICBpcyBjYXBhYmxlIG9mIHNlbmRpbmcvcmVjZWl2aW5nIGludGVncml0eSBtZXRhZGF0YS4gIFRoZSBJTUQgd2lsbAorICAgIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHRoZSBibG9jayBsYXllciBhdCBzdWJtaXRfYmlvKCkgdGltZQorICAgIGluIGNhc2Ugb2YgYSBXUklURS4gIEEgUkVBRCByZXF1ZXN0IHdpbGwgY2F1c2UgdGhlIEkvTyBpbnRlZ3JpdHkKKyAgICB0byBiZSB2ZXJpZmllZCB1cG9uIGNvbXBsZXRpb24uCisKKyAgICBJTUQgZ2VuZXJhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIGNhbiBiZSB0b2dnbGVkIHVzaW5nIHRoZQorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvd3JpdGVfZ2VuZXJhdGUKKworICAgIGFuZAorCisgICAgICAvc3lzL2Jsb2NrLzxiZGV2Pi9pbnRlZ3JpdHkvcmVhZF92ZXJpZnkKKworICAgIGZsYWdzLgorCisKKzUuMiBJTlRFR1JJVFktQVdBUkUgRklMRVNZU1RFTQorCisgICAgQSBmaWxlc3lzdGVtIHRoYXQgaXMgaW50ZWdyaXR5LWF3YXJlIGNhbiBwcmVwYXJlIEkvT3Mgd2l0aCBJTUQKKyAgICBhdHRhY2hlZC4gIEl0IGNhbiBhbHNvIHVzZSB0aGUgYXBwbGljYXRpb24gdGFnIHNwYWNlIGlmIHRoaXMgaXMKKyAgICBzdXBwb3J0ZWQgYnkgdGhlIGJsb2NrIGRldmljZS4KKworCisgICAgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoYmxvY2tfZGV2aWNlLCBpbnQgcncpOworCisgICAgICBiZGV2X2ludGVncml0eV9lbmFibGVkKCkgd2lsbCByZXR1cm4gMSBpZiB0aGUgYmxvY2sgZGV2aWNlCisgICAgICBzdXBwb3J0cyBpbnRlZ3JpdHkgbWV0YWRhdGEgdHJhbnNmZXIgZm9yIHRoZSBkYXRhIGRpcmVjdGlvbgorICAgICAgc3BlY2lmaWVkIGluICdydycuCisKKyAgICAgIGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoKSBob25vcnMgdGhlIHdyaXRlX2dlbmVyYXRlIGFuZAorICAgICAgcmVhZF92ZXJpZnkgZmxhZ3MgaW4gc3lzZnMgYW5kIHdpbGwgcmVzcG9uZCBhY2NvcmRpbmdseS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfcHJlcChiaW8pOworCisgICAgICBUbyBnZW5lcmF0ZSBJTUQgZm9yIFdSSVRFIGFuZCB0byBzZXQgdXAgYnVmZmVycyBmb3IgUkVBRCwgdGhlCisgICAgICBmaWxlc3lzdGVtIG11c3QgY2FsbCBiaW9faW50ZWdyaXR5X3ByZXAoYmlvKS4KKworICAgICAgUHJpb3IgdG8gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCB0aGUgYmlvIGRhdGEgZGlyZWN0aW9uIGFuZCBzdGFydAorICAgICAgc2VjdG9yIG11c3QgYmUgc2V0LCBhbmQgdGhlIGJpbyBzaG91bGQgaGF2ZSBhbGwgZGF0YSBwYWdlcworICAgICAgYWRkZWQuICBJdCBpcyB1cCB0byB0aGUgY2FsbGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBiaW8gZG9lcyBub3QKKyAgICAgIGNoYW5nZSB3aGlsZSBJL08gaXMgaW4gcHJvZ3Jlc3MuCisKKyAgICAgIGJpb19pbnRlZ3JpdHlfcHJlcCgpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpZgorICAgICAgYmlvX2ludGVncml0eV9lbmFibGVkKCkgcmV0dXJuZWQgMS4KKworCisgICAgaW50IGJpb19pbnRlZ3JpdHlfdGFnX3NpemUoYmlvKTsKKworICAgICAgSWYgdGhlIGZpbGVzeXN0ZW0gd2FudHMgdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiB0YWcgc3BhY2UgaXQgd2lsbAorICAgICAgZmlyc3QgaGF2ZSB0byBmaW5kIG91dCBob3cgbXVjaCBzdG9yYWdlIHNwYWNlIGlzIGF2YWlsYWJsZS4KKyAgICAgIEJlY2F1c2UgdGFnIHNwYWNlIGlzIGdlbmVyYWxseSBsaW1pdGVkICh1c3VhbGx5IDIgYnl0ZXMgcGVyCisgICAgICBzZWN0b3IgcmVnYXJkbGVzcyBvZiBzZWN0b3Igc2l6ZSksIHRoZSBpbnRlZ3JpdHkgZnJhbWV3b3JrCisgICAgICBzdXBwb3J0cyBpbnRlcmxlYXZpbmcgdGhlIGluZm9ybWF0aW9uIGJldHdlZW4gdGhlIHNlY3RvcnMgaW4gYW4KKyAgICAgIEkvTy4KKworICAgICAgRmlsZXN5c3RlbXMgY2FuIGNhbGwgYmlvX2ludGVncml0eV90YWdfc2l6ZShiaW8pIHRvIGZpbmQgb3V0IGhvdworICAgICAgbWFueSBieXRlcyBvZiBzdG9yYWdlIGFyZSBhdmFpbGFibGUgZm9yIHRoYXQgcGFydGljdWxhciBiaW8uCisKKyAgICAgIEFub3RoZXIgb3B0aW9uIGlzIGJkZXZfZ2V0X3RhZ19zaXplKGJsb2NrX2RldmljZSkgd2hpY2ggd2lsbAorICAgICAgcmV0dXJuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGJ5dGVzIHBlciBoYXJkd2FyZSBzZWN0b3IuCisKKworICAgIGludCBiaW9faW50ZWdyaXR5X3NldF90YWcoYmlvLCB2b2lkICp0YWdfYnVmLCBsZW4pOworCisgICAgICBBZnRlciBhIHN1Y2Nlc3NmdWwgcmV0dXJuIGZyb20gYmlvX2ludGVncml0eV9wcmVwKCksCisgICAgICBiaW9faW50ZWdyaXR5X3NldF90YWcoKSBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW4gb3BhcXVlIHRhZworICAgICAgYnVmZmVyIHRvIGEgYmlvLiAgT2J2aW91c2x5IHRoaXMgb25seSBtYWtlcyBzZW5zZSBpZiB0aGUgSS9PIGlzCisgICAgICBhIFdSSVRFLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKGJpbywgdm9pZCAqdGFnX2J1ZiwgbGVuKTsKKworICAgICAgU2ltaWxhcmx5LCBhdCBSRUFEIEkvTyBjb21wbGV0aW9uIHRpbWUgdGhlIGZpbGVzeXN0ZW0gY2FuCisgICAgICByZXRyaWV2ZSB0aGUgdGFnIGJ1ZmZlciB1c2luZyBiaW9faW50ZWdyaXR5X2dldF90YWcoKS4KKworCis2LjMgUEFTU0lORyBFWElTVElORyBJTlRFR1JJVFkgTUVUQURBVEEKKworICAgIEZpbGVzeXN0ZW1zIHRoYXQgZWl0aGVyIGdlbmVyYXRlIHRoZWlyIG93biBpbnRlZ3JpdHkgbWV0YWRhdGEgb3IKKyAgICBhcmUgY2FwYWJsZSBvZiB0cmFuc2ZlcnJpbmcgSU1EIGZyb20gdXNlciBzcGFjZSBjYW4gdXNlIHRoZQorICAgIGZvbGxvd2luZyBjYWxsczoKKworCisgICAgc3RydWN0IGJpcCAqIGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvLCBnZnBfbWFzaywgbnJfcGFnZXMpOworCisgICAgICBBbGxvY2F0ZXMgdGhlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgaGFuZ3MgaXQgb2ZmIG9mIHRoZSBiaW8uCisgICAgICBucl9wYWdlcyBpbmRpY2F0ZSBob3cgbWFueSBwYWdlcyBvZiBwcm90ZWN0aW9uIGRhdGEgbmVlZCB0byBiZQorICAgICAgc3RvcmVkIGluIHRoZSBpbnRlZ3JpdHkgYmlvX3ZlYyBsaXN0IChzaW1pbGFyIHRvIGJpb19hbGxvYygpKS4KKworICAgICAgVGhlIGludGVncml0eSBwYXlsb2FkIHdpbGwgYmUgZnJlZWQgYXQgYmlvX2ZyZWUoKSB0aW1lLgorCisKKyAgICBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShiaW8sIHBhZ2UsIGxlbiwgb2Zmc2V0KTsKKworICAgICAgQXR0YWNoZXMgYSBwYWdlIGNvbnRhaW5pbmcgaW50ZWdyaXR5IG1ldGFkYXRhIHRvIGFuIGV4aXN0aW5nCisgICAgICBiaW8uICBUaGUgYmlvIG11c3QgaGF2ZSBhbiBleGlzdGluZyBiaXAsCisgICAgICBpLmUuIGJpb19pbnRlZ3JpdHlfYWxsb2MoKSBtdXN0IGhhdmUgYmVlbiBjYWxsZWQuICBGb3IgYSBXUklURSwKKyAgICAgIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gdGhlIHBhZ2VzIG11c3QgYmUgaW4gYSBmb3JtYXQKKyAgICAgIHVuZGVyc3Rvb2QgYnkgdGhlIHRhcmdldCBkZXZpY2Ugd2l0aCB0aGUgbm90YWJsZSBleGNlcHRpb24gdGhhdAorICAgICAgdGhlIHNlY3RvciBudW1iZXJzIHdpbGwgYmUgcmVtYXBwZWQgYXMgdGhlIHJlcXVlc3QgdHJhdmVyc2VzIHRoZQorICAgICAgSS9PIHN0YWNrLiAgVGhpcyBpbXBsaWVzIHRoYXQgdGhlIHBhZ2VzIGFkZGVkIHVzaW5nIHRoaXMgY2FsbAorICAgICAgd2lsbCBiZSBtb2RpZmllZCBkdXJpbmcgSS9PISAgVGhlIGZpcnN0IHJlZmVyZW5jZSB0YWcgaW4gdGhlCisgICAgICBpbnRlZ3JpdHkgbWV0YWRhdGEgbXVzdCBoYXZlIGEgdmFsdWUgb2YgYmlwLT5iaXBfc2VjdG9yLgorCisgICAgICBQYWdlcyBjYW4gYmUgYWRkZWQgdXNpbmcgYmlvX2ludGVncml0eV9hZGRfcGFnZSgpIGFzIGxvbmcgYXMKKyAgICAgIHRoZXJlIGlzIHJvb20gaW4gdGhlIGJpcCBiaW9fdmVjIGFycmF5IChucl9wYWdlcykuCisKKyAgICAgIFVwb24gY29tcGxldGlvbiBvZiBhIFJFQUQgb3BlcmF0aW9uLCB0aGUgYXR0YWNoZWQgcGFnZXMgd2lsbAorICAgICAgY29udGFpbiB0aGUgaW50ZWdyaXR5IG1ldGFkYXRhIHJlY2VpdmVkIGZyb20gdGhlIHN0b3JhZ2UgZGV2aWNlLgorICAgICAgSXQgaXMgdXAgdG8gdGhlIHJlY2VpdmVyIHRvIHByb2Nlc3MgdGhlbSBhbmQgdmVyaWZ5IGRhdGEKKyAgICAgIGludGVncml0eSB1cG9uIGNvbXBsZXRpb24uCisKKworNi40IFJFR0lTVEVSSU5HIEEgQkxPQ0sgREVWSUNFIEFTIENBUEFCTEUgT0YgRVhDSEFOR0lORyBJTlRFR1JJVFkKKyAgICBNRVRBREFUQQorCisgICAgVG8gZW5hYmxlIGludGVncml0eSBleGNoYW5nZSBvbiBhIGJsb2NrIGRldmljZSB0aGUgZ2VuZGlzayBtdXN0IGJlCisgICAgcmVnaXN0ZXJlZCBhcyBjYXBhYmxlOgorCisgICAgaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoZ2VuZGlzaywgYmxrX2ludGVncml0eSk7CisKKyAgICAgIFRoZSBibGtfaW50ZWdyaXR5IHN0cnVjdCBpcyBhIHRlbXBsYXRlIGFuZCBzaG91bGQgY29udGFpbiB0aGUKKyAgICAgIGZvbGxvd2luZzoKKworICAgICAgICBzdGF0aWMgc3RydWN0IGJsa19pbnRlZ3JpdHkgbXlfcHJvZmlsZSA9IHsKKyAgICAgICAgICAgIC5uYW1lICAgICAgICAgICAgICAgICAgID0gIlNUQU5EQVJEU0JPRFktVFlQRS1WQVJJQU5ULUNTVU0iLAorICAgICAgICAgICAgLmdlbmVyYXRlX2ZuICAgICAgICAgICAgPSBteV9nZW5lcmF0ZV9mbiwKKyAgICAgICAJICAgIC52ZXJpZnlfZm4gICAgICAgICAgICAgID0gbXlfdmVyaWZ5X2ZuLAorICAgICAgIAkgICAgLmdldF90YWdfZm4gICAgICAgICAgICAgPSBteV9nZXRfdGFnX2ZuLAorICAgICAgIAkgICAgLnNldF90YWdfZm4gICAgICAgICAgICAgPSBteV9zZXRfdGFnX2ZuLAorCSAgICAudHVwbGVfc2l6ZSAgICAgICAgICAgICA9IHNpemVvZihzdHJ1Y3QgbXlfdHVwbGVfc2l6ZSksCisJICAgIC50YWdfc2l6ZSAgICAgICAgICAgICAgID0gPHRhZyBieXRlcyBwZXIgaHcgc2VjdG9yPiwKKyAgICAgICAgfTsKKworICAgICAgJ25hbWUnIGlzIGEgdGV4dCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB2aXNpYmxlIGluIHN5c2ZzLiAgVGhpcyBpcworICAgICAgcGFydCBvZiB0aGUgdXNlcmxhbmQgQVBJIHNvIGNob3NlIGl0IGNhcmVmdWxseSBhbmQgbmV2ZXIgY2hhbmdlCisgICAgICBpdC4gIFRoZSBmb3JtYXQgaXMgc3RhbmRhcmRzIGJvZHktdHlwZS12YXJpYW50LgorICAgICAgRS5nLiBUMTAtRElGLVRZUEUxLUlQIG9yIFQxMy1FUFAtMC1DUkMuCisKKyAgICAgICdnZW5lcmF0ZV9mbicgZ2VuZXJhdGVzIGFwcHJvcHJpYXRlIGludGVncml0eSBtZXRhZGF0YSAoZm9yIFdSSVRFKS4KKworICAgICAgJ3ZlcmlmeV9mbicgdmVyaWZpZXMgdGhhdCB0aGUgZGF0YSBidWZmZXIgbWF0Y2hlcyB0aGUgaW50ZWdyaXR5CisgICAgICBtZXRhZGF0YS4KKworICAgICAgJ3R1cGxlX3NpemUnIG11c3QgYmUgc2V0IHRvIG1hdGNoIHRoZSBzaXplIG9mIHRoZSBpbnRlZ3JpdHkKKyAgICAgIG1ldGFkYXRhIHBlciBzZWN0b3IuICBJLmUuIDggZm9yIERJRiBhbmQgRVBQLgorCisgICAgICAndGFnX3NpemUnIG11c3QgYmUgc2V0IHRvIGlkZW50aWZ5IGhvdyBtYW55IGJ5dGVzIG9mIHRhZyBzcGFjZQorICAgICAgYXJlIGF2YWlsYWJsZSBwZXIgaGFyZHdhcmUgc2VjdG9yLiAgRm9yIERJRiB0aGlzIGlzIGVpdGhlciAyIG9yCisgICAgICAwIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlIENvbnRyb2wgTW9kZSBQYWdlIEFUTyBiaXQuCisKKyAgICAgIFNlZSA2LjIgZm9yIGEgZGVzY3JpcHRpb24gb2YgZ2V0X3RhZ19mbiBhbmQgc2V0X3RhZ19mbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwNy0xMi0yNCBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jcHV0b3BvbG9neS50eHQgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAppbmRleCBiNjFjYjk1Li5iZDY5OWRhIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2NwdXRvcG9sb2d5LnR4dApAQCAtMTQsOSArMTQsOCBAQAogVG8gaW1wbGVtZW50IGl0IGluIGFuIGFyY2hpdGVjdHVyZS1uZXV0cmFsIHdheSwgYSBuZXcgc291cmNlIGZpbGUsCiBkcml2ZXJzL2Jhc2UvdG9wb2xvZ3kuYywgaXMgdG8gZXhwb3J0IHRoZSA0IGF0dHJpYnV0ZXMuCiAKLUlmIG9uZSBhcmNoaXRlY3R1cmUgd2FudHMgdG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUsIGl0IGp1c3QgbmVlZHMgdG8KLWltcGxlbWVudCA0IGRlZmluZXMsIHR5cGljYWxseSBpbiBmaWxlIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotVGhlIDQgZGVmaW5lcyBhcmU6CitGb3IgYW4gYXJjaGl0ZWN0dXJlIHRvIHN1cHBvcnQgdGhpcyBmZWF0dXJlLCBpdCBtdXN0IGRlZmluZSBzb21lIG9mCit0aGVzZSBtYWNyb3MgaW4gaW5jbHVkZS9hc20tWFhYL3RvcG9sb2d5Lmg6CiAjZGVmaW5lIHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoY3B1KQogI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkKICNkZWZpbmUgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzKGNwdSkKQEAgLTI1LDE3ICsyNCwxMCBAQAogVGhlIHR5cGUgb2YgKipfaWQgaXMgaW50LgogVGhlIHR5cGUgb2Ygc2libGluZ3MgaXMgY3B1bWFza190LgogCi1UbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCB0aGUgNCBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlCi1kZWZhdWx0IHZhbHVlcyBpZiB0aGVpciB2YWx1ZXMgYXJlIHVuYXZhaWxhYmxlLiBCZWxvdyBpcyB0aGUgcnVsZS4KLTEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IElmIGNwdSBoYXMgbm8gcGh5c2ljYWwgcGFja2FnZSBpZCwgLTEgaXMgdGhlCi1kZWZhdWx0IHZhbHVlLgotMikgY29yZV9pZDogSWYgY3B1IGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aS1jb3JlLCBpdHMgY29yZSBpZCBpcyAwLgotMykgdGhyZWFkX3NpYmxpbmdzOiBKdXN0IGluY2x1ZGUgaXRzZWxmLCBpZiB0aGUgY3B1IGRvZXNuJ3Qgc3VwcG9ydAotSFQvbXVsdGktdGhyZWFkLgotNCkgY29yZV9zaWJsaW5nczogSnVzdCBpbmNsdWRlIGl0c2VsZiwgaWYgdGhlIGNwdSBkb2Vzbid0IHN1cHBvcnQKLW11bHRpLWNvcmUgYW5kIEhUL011bHRpLXRocmVhZC4KLQotU28gYmUgY2FyZWZ1bCB3aGVuIGRlY2xhcmluZyB0aGUgNCBkZWZpbmVzIGluIGluY2x1ZGUvYXNtLVhYWC90b3BvbG9neS5oLgotCi1JZiBhbiBhdHRyaWJ1dGUgaXNuJ3QgZGVmaW5lZCBvbiBhbiBhcmNoaXRlY3R1cmUsIGl0IHdvbid0IGJlIGV4cG9ydGVkLgotCitUbyBiZSBjb25zaXN0ZW50IG9uIGFsbCBhcmNoaXRlY3R1cmVzLCBpbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKK3Byb3ZpZGVzIGRlZmF1bHQgZGVmaW5pdGlvbnMgZm9yIGFueSBvZiB0aGUgYWJvdmUgbWFjcm9zIHRoYXQgYXJlCitub3QgZGVmaW5lZCBieSBpbmNsdWRlL2FzbS1YWFgvdG9wb2xvZ3kuaDoKKzEpIHBoeXNpY2FsX3BhY2thZ2VfaWQ6IC0xCisyKSBjb3JlX2lkOiAwCiszKSB0aHJlYWRfc2libGluZ3M6IGp1c3QgdGhlIGdpdmVuIENQVQorNCkgY29yZV9zaWJsaW5nczoganVzdCB0aGUgZ2l2ZW4gQ1BVCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQgYi9Eb2N1bWVudGF0aW9uL2ZlYXR1cmUtcmVtb3ZhbC1zY2hlZHVsZS50eHQKaW5kZXggNDZlY2UzZi4uNjVhMTQ4MiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9mZWF0dXJlLXJlbW92YWwtc2NoZWR1bGUudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmVhdHVyZS1yZW1vdmFsLXNjaGVkdWxlLnR4dApAQCAtMjIyLDEzICsyMjIsNiBAQAogCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2hhdDoJaTJjLWk4MTAsIGkyYy1wcm9zYXZhZ2UgYW5kIGkyYy1zYXZhZ2U0Ci1XaGVuOglNYXkgMjAwOAotV2h5OglUaGVzZSBkcml2ZXJzIGFyZSBzdXBlcnNlZGVkIGJ5IGk4MTBmYiwgaW50ZWxmYiBhbmQgc2F2YWdlZmIuCi1XaG86CUplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQogV2hhdCAoV2h5KToKIAktIGluY2x1ZGUvbGludXgvbmV0ZmlsdGVyX2lwdjQvaXB0X1RPUy5oIGlwdF90b3MuaCBoZWFkZXIgZmlsZXMKIAkgIChzdXBlcnNlZGVkIGJ5IHh0X1RPUy94dF90b3MgdGFyZ2V0ICYgbWF0Y2gpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9leHQ0LnR4dAppbmRleCAwYzUwODZkLi44MGUxOTNkIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2V4dDQudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZXh0NC50eHQKQEAgLTEzLDcyICsxMyw5MyBAQAogMS4gUXVpY2sgdXNhZ2UgaW5zdHJ1Y3Rpb25zOgogPT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLSAgLSBHcmFiIHVwZGF0ZWQgZTJmc3Byb2dzIGZyb20KLSAgICBmdHA6Ly9mdHAua2VybmVsLm9yZy9wdWIvbGludXgva2VybmVsL3Blb3BsZS90eXRzby9lMmZzcHJvZ3MtaW50ZXJpbS8KLSAgICBUaGlzIGlzIGEgcGF0Y2hzZXQgb24gdG9wIG9mIGUyZnNwcm9ncy0xLjM5LCB3aGljaCBjYW4gYmUgZm91bmQgYXQKKyAgLSBDb21waWxlIGFuZCBpbnN0YWxsIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBlMmZzcHJvZ3MgKGFzIG9mIHRoaXMKKyAgICB3cml0aW5nIHZlcnNpb24gMS40MSkgZnJvbToKKworICAgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC9zaG93ZmlsZXMucGhwP2dyb3VwX2lkPTI0MDYKKwkKKwlvcgorCiAgICAgZnRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L2tlcm5lbC9wZW9wbGUvdHl0c28vZTJmc3Byb2dzLwogCi0gIC0gSXQncyBzdGlsbCBta2UyZnMgLWogL2Rldi9oZGExCisJb3IgZ3JhYiB0aGUgbGF0ZXN0IGdpdCByZXBvc2l0b3J5IGZyb206CiAKLSAgLSBtb3VudCAvZGV2L2hkYTEgL3doZXJldmVyIC10IGV4dDRkZXYKKyAgICBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2ZzL2V4dDIvZTJmc3Byb2dzLmdpdAogCi0gIC0gVG8gZW5hYmxlIGV4dGVudHMsCisgIC0gQ3JlYXRlIGEgbmV3IGZpbGVzeXN0ZW0gdXNpbmcgdGhlIGV4dDRkZXYgZmlsZXN5c3RlbSB0eXBlOgogCi0JbW91bnQgL2Rldi9oZGExIC93aGVyZXZlciAtdCBleHQ0ZGV2IC1vIGV4dGVudHMKKyAgICAJIyBta2UyZnMgLXQgZXh0NGRldiAvZGV2L2hkYTEKIAotICAtIFRoZSBmaWxlc3lzdGVtIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXh0MyBkcml2ZXIgdW50aWwgeW91IGFkZCBhIGZpbGUKLSAgICB3aGljaCBoYXMgZXh0ZW50cyAoaWU6IGBtb3VudCAtbyBleHRlbnRzJywgdGhlbiBjcmVhdGUgYSBmaWxlKS4KKyAgICBPciBjb25maWd1cmUgYW4gZXhpc3RpbmcgZXh0MyBmaWxlc3lzdGVtIHRvIHN1cHBvcnQgZXh0ZW50cyBhbmQgc2V0CisgICAgdGhlIHRlc3RfZnMgZmxhZyB0byBpbmRpY2F0ZSB0aGF0IGl0J3Mgb2sgZm9yIGFuIGluLWRldmVsb3BtZW50CisgICAgZmlsZXN5c3RlbSB0byB0b3VjaCB0aGlzIGZpbGVzeXN0ZW06CiAKLSAgICBOT1RFOiBUaGUgImV4dGVudHMiIG1vdW50IGZsYWcgaXMgdGVtcG9yYXJ5LiAgSXQgd2lsbCBzb29uIGdvIGF3YXkgYW5kCi0gICAgZXh0ZW50cyB3aWxsIGJlIGVuYWJsZWQgYnkgdGhlICItbyBleHRlbnRzIiBmbGFnIHRvIG1rZTJmcyBvciB0dW5lMmZzCisJIyB0dW5lMmZzIC1PIGV4dGVudHMgLUUgdGVzdF9mcyAvZGV2L2hkYTEKKworICAgIElmIHRoZSBmaWxlc3lzdGVtIHdhcyBjcmVhdGVkIHdpdGggMTI4IGJ5dGUgaW5vZGVzLCBpdCBjYW4gYmUKKyAgICBjb252ZXJ0ZWQgdG8gdXNlIDI1NiBieXRlIGZvciBncmVhdGVyIGVmZmljaWVuY3kgdmlhOgorCisgICAgICAgICMgdHVuZTJmcyAtSSAyNTYgL2Rldi9oZGExCisKKyAgICAoTm90ZTogd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIHRvb2xzIHRvIGNvbnZlcnQgYW4gZXh0NGRldgorICAgIGZpbGVzeXN0ZW0gYmFjayB0byBleHQzOyBzbyBwbGVhc2UgZG8gbm90IGRvIHRyeSB0aGlzIG9uIHByb2R1Y3Rpb24KKyAgICBmaWxlc3lzdGVtcy4pCisKKyAgLSBNb3VudGluZzoKKworCSMgbW91bnQgLXQgZXh0NGRldiAvZGV2L2hkYTEgL3doZXJldmVyCiAKICAgLSBXaGVuIGNvbXBhcmluZyBwZXJmb3JtYW5jZSB3aXRoIG90aGVyIGZpbGVzeXN0ZW1zLCByZW1lbWJlciB0aGF0Ci0gICAgZXh0My80IGJ5IGRlZmF1bHQgb2ZmZXJzIGhpZ2hlciBkYXRhIGludGVncml0eSBndWFyYW50ZWVzIHRoYW4gbW9zdC4gIFNvCi0gICAgd2hlbiBjb21wYXJpbmcgd2l0aCBhIG1ldGFkYXRhLW9ubHkgam91cm5hbGxpbmcgZmlsZXN5c3RlbSwgdXNlIGBtb3VudCAtbwotICAgIGRhdGE9d3JpdGViYWNrJy4gIEFuZCB5b3UgbWlnaHQgYXMgd2VsbCB1c2UgYG1vdW50IC1vIG5vYmgnIHRvbyBhbG9uZwotICAgIHdpdGggaXQuICBNYWtpbmcgdGhlIGpvdXJuYWwgbGFyZ2VyIHRoYW4gdGhlIG1rZTJmcyBkZWZhdWx0IG9mdGVuIGhlbHBzCi0gICAgcGVyZm9ybWFuY2Ugd2l0aCBtZXRhZGF0YS1pbnRlbnNpdmUgd29ya2xvYWRzLgorICAgIGV4dDMvNCBieSBkZWZhdWx0IG9mZmVycyBoaWdoZXIgZGF0YSBpbnRlZ3JpdHkgZ3VhcmFudGVlcyB0aGFuIG1vc3QuCisgICAgU28gd2hlbiBjb21wYXJpbmcgd2l0aCBhIG1ldGFkYXRhLW9ubHkgam91cm5hbGxpbmcgZmlsZXN5c3RlbSwgc3VjaAorICAgIGFzIGV4dDMsIHVzZSBgbW91bnQgLW8gZGF0YT13cml0ZWJhY2snLiAgQW5kIHlvdSBtaWdodCBhcyB3ZWxsIHVzZQorICAgIGBtb3VudCAtbyBub2JoJyB0b28gYWxvbmcgd2l0aCBpdC4gIE1ha2luZyB0aGUgam91cm5hbCBsYXJnZXIgdGhhbgorICAgIHRoZSBta2UyZnMgZGVmYXVsdCBvZnRlbiBoZWxwcyBwZXJmb3JtYW5jZSB3aXRoIG1ldGFkYXRhLWludGVuc2l2ZQorICAgIHdvcmtsb2Fkcy4KIAogMi4gRmVhdHVyZXMKID09PT09PT09PT09CiAKIDIuMSBDdXJyZW50bHkgYXZhaWxhYmxlCiAKLSogYWJpbGl0eSB0byB1c2UgZmlsZXN5c3RlbXMgPiAxNlRCCisqIGFiaWxpdHkgdG8gdXNlIGZpbGVzeXN0ZW1zID4gMTZUQiAoZTJmc3Byb2dzIHN1cHBvcnQgbm90IGF2YWlsYWJsZSB5ZXQpCiAqIGV4dGVudCBmb3JtYXQgcmVkdWNlcyBtZXRhZGF0YSBvdmVyaGVhZCAoUkFNLCBJTyBmb3IgYWNjZXNzLCB0cmFuc2FjdGlvbnMpCiAqIGV4dGVudCBmb3JtYXQgbW9yZSByb2J1c3QgaW4gZmFjZSBvZiBvbi1kaXNrIGNvcnJ1cHRpb24gZHVlIHRvIG1hZ2ljcywKICogaW50ZXJuYWwgcmVkdW5hbmN5IGluIHRyZWUKLQotMi4xIFByZXZpb3VzbHkgYXZhaWxhYmxlLCBzb29uIHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBieSAibWtlZnMuZXh0NCI6Ci0KLSogZGlyX2luZGV4IGFuZCByZXNpemUgaW5vZGUgd2lsbCBiZSBvbiBieSBkZWZhdWx0Ci0qIGxhcmdlIGlub2RlcyB3aWxsIGJlIHVzZWQgYnkgZGVmYXVsdCBmb3IgZmFzdCBFQXMsIG5zZWMgdGltZXN0YW1wcywgZXRjCisqIGltcHJvdmVkIGZpbGUgYWxsb2NhdGlvbiAobXVsdGktYmxvY2sgYWxsb2MpCisqIGZpeCAzMjAwMCBzdWJkaXJlY3RvcnkgbGltaXQKKyogbnNlYyB0aW1lc3RhbXBzIGZvciBtdGltZSwgYXRpbWUsIGN0aW1lLCBjcmVhdGUgdGltZQorKiBpbm9kZSB2ZXJzaW9uIGZpZWxkIG9uIGRpc2sgKE5GU3Y0LCBMdXN0cmUpCisqIHJlZHVjZWQgZTJmc2NrIHRpbWUgdmlhIHVuaW5pdF9iZyBmZWF0dXJlCisqIGpvdXJuYWwgY2hlY2tzdW1taW5nIGZvciByb2J1c3RuZXNzLCBwZXJmb3JtYW5jZQorKiBwZXJzaXN0ZW50IGZpbGUgcHJlYWxsb2NhdGlvbiAoZS5nIGZvciBzdHJlYW1pbmcgbWVkaWEsIGRhdGFiYXNlcykKKyogYWJpbGl0eSB0byBwYWNrIGJpdG1hcHMgYW5kIGlub2RlIHRhYmxlcyBpbnRvIGxhcmdlciB2aXJ0dWFsIGdyb3VwcyB2aWEgdGhlCisgIGZsZXhfYmcgZmVhdHVyZQorKiBsYXJnZSBmaWxlIHN1cHBvcnQKKyogSW5vZGUgYWxsb2NhdGlvbiB1c2luZyBsYXJnZSB2aXJ0dWFsIGJsb2NrIGdyb3VwcyB2aWEgZmxleF9iZworKiBkZWxheWVkIGFsbG9jYXRpb24KKyogbGFyZ2UgYmxvY2sgKHVwIHRvIHBhZ2VzaXplKSBzdXBwb3J0CisqIGVmZmljZW50IG5ldyBvcmRlcmVkIG1vZGUgaW4gSkJEMiBhbmQgZXh0NChhdm9pZCB1c2luZyBidWZmZXIgaGVhZCB0byBmb3JjZQorICB0aGUgb3JkZXJpbmcpCiAKIDIuMiBDYW5kaWRhdGUgZmVhdHVyZXMgZm9yIGZ1dHVyZSBpbmNsdXNpb24KIAotVGhlcmUgYXJlIHNldmVyYWwgdW5kZXIgZGlzY3Vzc2lvbiwgd2hldGhlciB0aGV5IGFsbCBtYWtlIGl0IGluIGlzCi1wYXJ0bHkgYSBmdW5jdGlvbiBvZiBob3cgbXVjaCB0aW1lIGV2ZXJ5b25lIGhhcyB0byB3b3JrIG9uIHRoZW06CisqIE9ubGluZSBkZWZyYWcgKHBhdGNoZXMgYXZhaWxhYmxlIGJ1dCBub3Qgd2VsbCB0ZXN0ZWQpCisqIHJlZHVjZWQgbWtlMmZzIHRpbWUgdmlhIGxhenkgaXRhYmxlIGluaXRpYWxpemF0aW9uIGluIGNvbmp1Y3Rpb24gd2l0aAorICB0aGUgdW5pbml0X2JnIGZlYXR1cmUgKGNhcGFiaWxpdHkgdG8gZG8gdGhpcyBpcyBhdmFpbGFibGUgaW4gZTJmc3Byb2dzCisgIGJ1dCBhIGtlcm5lbCB0aHJlYWQgdG8gZG8gbGF6eSB6ZXJvaW5nIG9mIHVudXNlZCBpbm9kZSB0YWJsZSBibG9ja3MKKyAgYWZ0ZXIgZmlsZXN5c3RlbSBpcyBmaXJzdCBtb3VudGVkIGlzIHJlcXVpcmVkIGZvciBzYWZldHkpCiAKLSogaW1wcm92ZWQgZmlsZSBhbGxvY2F0aW9uIChtdWx0aS1ibG9jayBhbGxvYywgZGVsYXllZCBhbGxvYzsgYmFzaWNhbGx5IGRvbmUpCi0qIGZpeCAzMjAwMCBzdWJkaXJlY3RvcnkgbGltaXQgKHBhdGNoIGV4aXN0cywgbmVlZHMgc29tZSBlMmZzY2sgd29yaykKLSogbnNlYyB0aW1lc3RhbXBzIGZvciBtdGltZSwgYXRpbWUsIGN0aW1lLCBjcmVhdGUgdGltZSAocGF0Y2ggZXhpc3RzLAotICBuZWVkcyBzb21lIGUyZnNjayB3b3JrKQotKiBpbm9kZSB2ZXJzaW9uIGZpZWxkIG9uIGRpc2sgKE5GU3Y0LCBMdXN0cmU7IHByb3RvdHlwZSBleGlzdHMpCi0qIHJlZHVjZWQgbWtlMmZzL2UyZnNjayB0aW1lIHZpYSB1bmluaXRpYWxpemVkIGdyb3VwcyAocHJvdG90eXBlIGV4aXN0cykKLSogam91cm5hbCBjaGVja3N1bW1pbmcgZm9yIHJvYnVzdG5lc3MsIHBlcmZvcm1hbmNlIChwcm90b3R5cGUgZXhpc3RzKQotKiBwZXJzaXN0ZW50IGZpbGUgcHJlYWxsb2NhdGlvbiAoZS5nIGZvciBzdHJlYW1pbmcgbWVkaWEsIGRhdGFiYXNlcykKK1RoZXJlIGFyZSBzZXZlcmFsIG90aGVycyB1bmRlciBkaXNjdXNzaW9uLCB3aGV0aGVyIHRoZXkgYWxsIG1ha2UgaXQgaW4gaXMKK3BhcnRseSBhIGZ1bmN0aW9uIG9mIGhvdyBtdWNoIHRpbWUgZXZlcnlvbmUgaGFzIHRvIHdvcmsgb24gdGhlbS4gRmVhdHVyZXMgbGlrZQorbWV0YWRhdGEgY2hlY2tzdW1taW5nIGhhdmUgYmVlbiBkaXNjdXNzZWQgYW5kIHBsYW5uZWQgZm9yIGEgYml0IGJ1dCBubyBwYXRjaGVzCitleGlzdCB5ZXQgc28gSSdtIG5vdCBzdXJlIHRoZXkncmUgaW4gdGhlIG5lYXItdGVybSByb2FkbWFwLgogCi1GZWF0dXJlcyBsaWtlIG1ldGFkYXRhIGNoZWNrc3VtbWluZyBoYXZlIGJlZW4gZGlzY3Vzc2VkIGFuZCBwbGFubmVkIGZvcgotYSBiaXQgYnV0IG5vIHBhdGNoZXMgZXhpc3QgeWV0IHNvIEknbSBub3Qgc3VyZSB0aGV5J3JlIGluIHRoZSBuZWFyLXRlcm0KLXJvYWRtYXAuCitUaGUgYmlnIHBlcmZvcm1hbmNlIHdpbiB3aWxsIGNvbWUgd2l0aCBtYmFsbG9jLCBkZWxhbGxvYyBhbmQgZmxleF9iZworZ3JvdXBpbmcgb2YgYml0bWFwcyBhbmQgaW5vZGUgdGFibGVzLiAgU29tZSB0ZXN0IHJlc3VsdHMgYXZhaWxhYmxlIGhlcmU6CiAKLVRoZSBiaWcgcGVyZm9ybWFuY2Ugd2luIHdpbGwgY29tZSB3aXRoIG1iYWxsb2MgYW5kIGRlbGFsbG9jLiAgQ0ZTIGhhcwotYmVlbiB1c2luZyBtYmFsbG9jIGZvciBhIGZldyB5ZWFycyBhbHJlYWR5IHdpdGggTHVzdHJlLCBhbmQgSUJNICsgQnVsbAotZGlkIGEgbG90IG9mIGJlbmNobWFya2luZyBvbiBpdC4gIFRoZSByZWFzb24gaXQgaXNuJ3QgaW4gdGhlIGZpcnN0IHNldCBvZgotcGF0Y2hlcyBpcyBwYXJ0bHkgYSBtYW5hZ2VhYmlsaXR5IGlzc3VlLCBhbmQgcGFydGx5IGJlY2F1c2UgaXQgZG9lc24ndAotZGlyZWN0bHkgYWZmZWN0IHRoZSBvbi1kaXNrIGZvcm1hdCAob3V0c2lkZSBvZiBtdWNoIGJldHRlciBhbGxvY2F0aW9uKQotc28gaXQgaXNuJ3QgY3JpdGljYWwgdG8gZ2V0IGludG8gdGhlIGZpcnN0IHJvdW5kIG9mIGNoYW5nZXMuICBJIGJlbGlldmUKLUFsZXggaXMgd29ya2luZyBvbiBhIG5ldyBzZXQgb2YgcGF0Y2hlcyByaWdodCBub3cuCisgLSBodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LzIwMDgwNTMwL2Zmc2Itd3JpdGUtMi42LjI2LXJjMi5odG1sCisgLSBodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LzIwMDgwNTMwL2Zmc2ItcmVhZHdyaXRlLTIuNi4yNi1yYzIuaHRtbAogCiAzLiBPcHRpb25zCiA9PT09PT09PT09CkBAIC0yMjIsOSArMjQzLDExIEBACiAJCQl0byB1c2UgZm9yIGFsbG9jYXRpb24gc2l6ZSBhbmQgYWxpZ25tZW50LiBGb3IgUkFJRDUvNgogCQkJc3lzdGVtcyB0aGlzIHNob3VsZCBiZSB0aGUgbnVtYmVyIG9mIGRhdGEKIAkJCWRpc2tzICogIFJBSUQgY2h1bmsgc2l6ZSBpbiBmaWxlIHN5c3RlbSBibG9ja3MuCi0KK2RlbGFsbG9jCSgqKQlEZWZlcnJpbmcgYmxvY2sgYWxsb2NhdGlvbiB1bnRpbCB3cml0ZS1vdXQgdGltZS4KK25vZGVsYWxsb2MJCURpc2FibGUgZGVsYXllZCBhbGxvY2F0aW9uLiBCbG9ja3MgYXJlIGFsbG9jYXRpb24KKwkJCXdoZW4gZGF0YSBpcyBjb3BpZWQgZnJvbSB1c2VyIHRvIHBhZ2UgY2FjaGUuCiBEYXRhIE1vZGUKLS0tLS0tLS0tLQorPT09PT09PT09CiBUaGVyZSBhcmUgMyBkaWZmZXJlbnQgZGF0YSBtb2RlczoKIAogKiB3cml0ZWJhY2sgbW9kZQpAQCAtMjM2LDEwICsyNTksMTAgQEAKIAogKiBvcmRlcmVkIG1vZGUKIEluIGRhdGE9b3JkZXJlZCBtb2RlLCBleHQ0IG9ubHkgb2ZmaWNpYWxseSBqb3VybmFscyBtZXRhZGF0YSwgYnV0IGl0IGxvZ2ljYWxseQotZ3JvdXBzIG1ldGFkYXRhIGFuZCBkYXRhIGJsb2NrcyBpbnRvIGEgc2luZ2xlIHVuaXQgY2FsbGVkIGEgdHJhbnNhY3Rpb24uICBXaGVuCi1pdCdzIHRpbWUgdG8gd3JpdGUgdGhlIG5ldyBtZXRhZGF0YSBvdXQgdG8gZGlzaywgdGhlIGFzc29jaWF0ZWQgZGF0YSBibG9ja3MKLWFyZSB3cml0dGVuIGZpcnN0LiAgSW4gZ2VuZXJhbCwgdGhpcyBtb2RlIHBlcmZvcm1zIHNsaWdodGx5IHNsb3dlciB0aGFuCi13cml0ZWJhY2sgYnV0IHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gam91cm5hbCBtb2RlLgorZ3JvdXBzIG1ldGFkYXRhIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gZGF0YSBjaGFuZ2VzIHdpdGggdGhlIGRhdGEgYmxvY2tzIGludG8gYQorc2luZ2xlIHVuaXQgY2FsbGVkIGEgdHJhbnNhY3Rpb24uICBXaGVuIGl0J3MgdGltZSB0byB3cml0ZSB0aGUgbmV3IG1ldGFkYXRhCitvdXQgdG8gZGlzaywgdGhlIGFzc29jaWF0ZWQgZGF0YSBibG9ja3MgYXJlIHdyaXR0ZW4gZmlyc3QuICBJbiBnZW5lcmFsLAordGhpcyBtb2RlIHBlcmZvcm1zIHNsaWdodGx5IHNsb3dlciB0aGFuIHdyaXRlYmFjayBidXQgc2lnbmlmaWNhbnRseSBmYXN0ZXIgdGhhbiBqb3VybmFsIG1vZGUuCiAKICogam91cm5hbCBtb2RlCiBkYXRhPWpvdXJuYWwgbW9kZSBwcm92aWRlcyBmdWxsIGRhdGEgYW5kIG1ldGFkYXRhIGpvdXJuYWxpbmcuICBBbGwgbmV3IGRhdGEgaXMKQEAgLTI0Nyw3ICsyNzAsOCBAQAogSW4gdGhlIGV2ZW50IG9mIGEgY3Jhc2gsIHRoZSBqb3VybmFsIGNhbiBiZSByZXBsYXllZCwgYnJpbmdpbmcgYm90aCBkYXRhIGFuZAogbWV0YWRhdGEgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuICBUaGlzIG1vZGUgaXMgdGhlIHNsb3dlc3QgZXhjZXB0IHdoZW4gZGF0YQogbmVlZHMgdG8gYmUgcmVhZCBmcm9tIGFuZCB3cml0dGVuIHRvIGRpc2sgYXQgdGhlIHNhbWUgdGltZSB3aGVyZSBpdAotb3V0cGVyZm9ybXMgYWxsIG90aGVycyBtb2Rlcy4KK291dHBlcmZvcm1zIGFsbCBvdGhlcnMgbW9kZXMuICBDdXJlbnRseSBleHQ0IGRvZXMgbm90IGhhdmUgZGVsYXllZAorYWxsb2NhdGlvbiBzdXBwb3J0IGlmIHRoaXMgZGF0YSBqb3VybmFsbGluZyBtb2RlIGlzIHNlbGVjdGVkLgogCiBSZWZlcmVuY2VzCiA9PT09PT09PT09CkBAIC0yNTYsNyArMjgwLDggQEAKIAkJPGZpbGU6ZnMvamJkMi8+CiAKIHByb2dyYW1zOglodHRwOi8vZTJmc3Byb2dzLnNvdXJjZWZvcmdlLm5ldC8KLQkJaHR0cDovL2V4dDJyZXNpemUuc291cmNlZm9yZ2UubmV0CiAKIHVzZWZ1bCBsaW5rczoJaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvZXh0My1kZXZlbAogCQlodHRwOi8vd3d3LmJ1bGxvcGVuc291cmNlLm9yZy9leHQ0LworCQlodHRwOi8vZXh0NC53aWtpLmtlcm5lbC5vcmcvaW5kZXgucGhwL01haW5fUGFnZQorCQlodHRwOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWF0dXJlcy9FeHQ0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dCBiL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZ2ZzMi1nbG9ja3MudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkYWU5YTMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2dmczItZ2xvY2tzLnR4dApAQCAtMCwwICsxLDExNCBAQAorICAgICAgICAgICAgICAgICAgIEdsb2NrIGludGVybmFsIGxvY2tpbmcgcnVsZXMKKyAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIGRvY3VtZW50cyB0aGUgYmFzaWMgcHJpbmNpcGxlcyBvZiB0aGUgZ2xvY2sgc3RhdGUgbWFjaGluZQoraW50ZXJuYWxzLiBFYWNoIGdsb2NrIChzdHJ1Y3QgZ2ZzMl9nbG9jayBpbiBmcy9nZnMyL2luY29yZS5oKQoraGFzIHR3byBtYWluIChpbnRlcm5hbCkgbG9ja3M6CisKKyAxLiBBIHNwaW5sb2NrIChnbF9zcGluKSB3aGljaCBwcm90ZWN0cyB0aGUgaW50ZXJuYWwgc3RhdGUgc3VjaAorICAgIGFzIGdsX3N0YXRlLCBnbF90YXJnZXQgYW5kIHRoZSBsaXN0IG9mIGhvbGRlcnMgKGdsX2hvbGRlcnMpCisgMi4gQSBub24tYmxvY2tpbmcgYml0IGxvY2ssIEdMRl9MT0NLLCB3aGljaCBpcyB1c2VkIHRvIHByZXZlbnQgb3RoZXIKKyAgICB0aHJlYWRzIGZyb20gbWFraW5nIGNhbGxzIHRvIHRoZSBETE0sIGV0Yy4gYXQgdGhlIHNhbWUgdGltZS4gSWYgYQorICAgIHRocmVhZCB0YWtlcyB0aGlzIGxvY2ssIGl0IG11c3QgdGhlbiBjYWxsIHJ1bl9xdWV1ZSAodXN1YWxseSB2aWEgdGhlCisgICAgd29ya3F1ZXVlKSB3aGVuIGl0IHJlbGVhc2VzIGl0IGluIG9yZGVyIHRvIGVuc3VyZSBhbnkgcGVuZGluZyB0YXNrcworICAgIGFyZSBjb21wbGV0ZWQuCisKK1RoZSBnbF9ob2xkZXJzIGxpc3QgY29udGFpbnMgYWxsIHRoZSBxdWV1ZWQgbG9jayByZXF1ZXN0cyAobm90CitqdXN0IHRoZSBob2xkZXJzKSBhc3NvY2lhdGVkIHdpdGggdGhlIGdsb2NrLiBJZiB0aGVyZSBhcmUgYW55CitoZWxkIGxvY2tzLCB0aGVuIHRoZXkgd2lsbCBiZSBjb250aWd1b3VzIGVudHJpZXMgYXQgdGhlIGhlYWQKK29mIHRoZSBsaXN0LiBMb2NrcyBhcmUgZ3JhbnRlZCBpbiBzdHJpY3RseSB0aGUgb3JkZXIgdGhhdCB0aGV5CithcmUgcXVldWVkLCBleGNlcHQgZm9yIHRob3NlIG1hcmtlZCBMTV9GTEFHX1BSSU9SSVRZIHdoaWNoIGFyZQordXNlZCBvbmx5IGR1cmluZyByZWNvdmVyeSwgYW5kIGV2ZW4gdGhlbiBvbmx5IGZvciBqb3VybmFsIGxvY2tzLgorCitUaGVyZSBhcmUgdGhyZWUgbG9jayBzdGF0ZXMgdGhhdCB1c2VycyBvZiB0aGUgZ2xvY2sgbGF5ZXIgY2FuIHJlcXVlc3QsCituYW1lbHkgc2hhcmVkIChTSCksIGRlZmVycmVkIChERikgYW5kIGV4Y2x1c2l2ZSAoRVgpLiBUaG9zZSB0cmFuc2xhdGUKK3RvIHRoZSBmb2xsb3dpbmcgRExNIGxvY2sgbW9kZXM6CisKK0dsb2NrIG1vZGUgICAgfCBETE0gbG9jayBtb2RlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICBVTiAgICAgICAgfCAgICBJVi9OTCAgVW5sb2NrZWQgKG5vIERMTSBsb2NrIGFzc29jaWF0ZWQgd2l0aCBnbG9jaykgb3IgTkwKKyAgICBTSCAgICAgICAgfCAgICBQUiAgICAgKFByb3RlY3RlZCByZWFkKQorICAgIERGICAgICAgICB8ICAgIENXICAgICAoQ29uY3VycmVudCB3cml0ZSkKKyAgICBFWCAgICAgICAgfCAgICBFWCAgICAgKEV4Y2x1c2l2ZSkKKworVGh1cyBERiBpcyBiYXNpY2FsbHkgYSBzaGFyZWQgbW9kZSB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgIm5vcm1hbCIKK3NoYXJlZCBsb2NrIG1vZGUsIFNILiBJbiBHRlMyIHRoZSBERiBtb2RlIGlzIHVzZWQgZXhjbHVzaXZlbHkgZm9yIGRpcmVjdCBJL08KK29wZXJhdGlvbnMuIFRoZSBnbG9ja3MgYXJlIGJhc2ljYWxseSBhIGxvY2sgcGx1cyBzb21lIHJvdXRpbmVzIHdoaWNoIGRlYWwKK3dpdGggY2FjaGUgbWFuYWdlbWVudC4gVGhlIGZvbGxvd2luZyBydWxlcyBhcHBseSBmb3IgdGhlIGNhY2hlOgorCitHbG9jayBtb2RlICAgfCAgQ2FjaGUgZGF0YSB8IENhY2hlIE1ldGFkYXRhIHwgRGlydHkgRGF0YSB8IERpcnR5IE1ldGFkYXRhCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIFVOICAgICAgIHwgICAgIE5vICAgICAgfCAgICAgICBObyAgICAgICB8ICAgICBObyAgICAgfCAgICAgIE5vCisgICAgU0ggICAgICAgfCAgICAgWWVzICAgICB8ICAgICAgIFllcyAgICAgIHwgICAgIE5vICAgICB8ICAgICAgTm8KKyAgICBERiAgICAgICB8ICAgICBObyAgICAgIHwgICAgICAgWWVzICAgICAgfCAgICAgTm8gICAgIHwgICAgICBObworICAgIEVYICAgICAgIHwgICAgIFllcyAgICAgfCAgICAgICBZZXMgICAgICB8ICAgICBZZXMgICAgfCAgICAgIFllcworCitUaGVzZSBydWxlcyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgdGhlIHZhcmlvdXMgZ2xvY2sgb3BlcmF0aW9ucyB3aGljaAorYXJlIGRlZmluZWQgZm9yIGVhY2ggdHlwZSBvZiBnbG9jay4gTm90IGFsbCB0eXBlcyBvZiBnbG9ja3MgdXNlCithbGwgdGhlIG1vZGVzLiBPbmx5IGlub2RlIGdsb2NrcyB1c2UgdGhlIERGIG1vZGUgZm9yIGV4YW1wbGUuCisKK1RhYmxlIG9mIGdsb2NrIG9wZXJhdGlvbnMgYW5kIHBlciB0eXBlIGNvbnN0YW50czoKKworRmllbGQgICAgICAgICAgICB8IFB1cnBvc2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dvX3htb3RlX3RoICAgICAgfCBDYWxsZWQgYmVmb3JlIHJlbW90ZSBzdGF0ZSBjaGFuZ2UgKGUuZy4gdG8gc3luYyBkaXJ0eSBkYXRhKQorZ29feG1vdGVfYmggICAgICB8IENhbGxlZCBhZnRlciByZW1vdGUgc3RhdGUgY2hhbmdlIChlLmcuIHRvIHJlZmlsbCBjYWNoZSkKK2dvX2ludmFsICAgICAgICAgfCBDYWxsZWQgaWYgcmVtb3RlIHN0YXRlIGNoYW5nZSByZXF1aXJlcyBpbnZhbGlkYXRpbmcgdGhlIGNhY2hlCitnb19kZW1vdGVfb2sgICAgIHwgUmV0dXJucyBib29sZWFuIHZhbHVlIG9mIHdoZXRoZXIgaXRzIG9rIHRvIGRlbW90ZSBhIGdsb2NrCisgICAgICAgICAgICAgICAgIHwgKGUuZy4gY2hlY2tzIHRpbWVvdXQsIGFuZCB0aGF0IHRoZXJlIGlzIG5vIGNhY2hlZCBkYXRhKQorZ29fbG9jayAgICAgICAgICB8IENhbGxlZCBmb3IgdGhlIGZpcnN0IGxvY2FsIGhvbGRlciBvZiBhIGxvY2sKK2dvX3VubG9jayAgICAgICAgfCBDYWxsZWQgb24gdGhlIGZpbmFsIGxvY2FsIHVubG9jayBvZiBhIGxvY2sKK2dvX2R1bXAgICAgICAgICAgfCBDYWxsZWQgdG8gcHJpbnQgY29udGVudCBvZiBvYmplY3QgZm9yIGRlYnVnZnMgZmlsZSwgb3Igb24KKyAgICAgICAgICAgICAgICAgfCBlcnJvciB0byBkdW1wIGdsb2NrIHRvIHRoZSBsb2cuCitnb190eXBlOyAgICAgICAgIHwgVGhlIHR5cGUgb2YgdGhlIGdsb2NrLCBMTV9UWVBFXy4uLi4uCitnb19taW5faG9sZF90aW1lIHwgVGhlIG1pbmltdW0gaG9sZCB0aW1lCisKK1RoZSBtaW5pbXVtIGhvbGQgdGltZSBmb3IgZWFjaCBsb2NrIGlzIHRoZSB0aW1lIGFmdGVyIGEgcmVtb3RlIGxvY2sKK2dyYW50IGZvciB3aGljaCB3ZSBpZ25vcmUgcmVtb3RlIGRlbW90ZSByZXF1ZXN0cy4gVGhpcyBpcyBpbiBvcmRlciB0bworcHJldmVudCBhIHNpdHVhdGlvbiB3aGVyZSBsb2NrcyBhcmUgYmVpbmcgYm91bmNlZCBhcm91bmQgdGhlIGNsdXN0ZXIKK2Zyb20gbm9kZSB0byBub2RlIHdpdGggbm9uZSBvZiB0aGUgbm9kZXMgbWFraW5nIGFueSBwcm9ncmVzcy4gVGhpcwordGVuZHMgdG8gc2hvdyB1cCBtb3N0IHdpdGggc2hhcmVkIG1tYXBlZCBmaWxlcyB3aGljaCBhcmUgYmVpbmcgd3JpdHRlbgordG8gYnkgbXVsdGlwbGUgbm9kZXMuIEJ5IGRlbGF5aW5nIHRoZSBkZW1vdGlvbiBpbiByZXNwb25zZSB0byBhCityZW1vdGUgY2FsbGJhY2ssIHRoYXQgZ2l2ZXMgdGhlIHVzZXJzcGFjZSBwcm9ncmFtIHRpbWUgdG8gbWFrZQorc29tZSBwcm9ncmVzcyBiZWZvcmUgdGhlIHBhZ2VzIGFyZSB1bm1hcHBlZC4KKworVGhlcmUgaXMgYSBwbGFuIHRvIHRyeSBhbmQgcmVtb3ZlIHRoZSBnb19sb2NrIGFuZCBnb191bmxvY2sgY2FsbGJhY2tzCitpZiBwb3NzaWJsZSwgaW4gb3JkZXIgdG8gdHJ5IGFuZCBzcGVlZCB1cCB0aGUgZmFzdCBwYXRoIHRob3VnaCB0aGUgbG9ja2luZy4KK0Fsc28sIGV2ZW50dWFsbHkgd2UgaG9wZSB0byBtYWtlIHRoZSBnbG9jayAiRVgiIG1vZGUgbG9jYWxseSBzaGFyZWQKK3N1Y2ggdGhhdCBhbnkgbG9jYWwgbG9ja2luZyB3aWxsIGJlIGRvbmUgd2l0aCB0aGUgaV9tdXRleCBhcyByZXF1aXJlZAorcmF0aGVyIHRoYW4gdmlhIHRoZSBnbG9jay4KKworTG9ja2luZyBydWxlcyBmb3IgZ2xvY2sgb3BlcmF0aW9uczoKKworT3BlcmF0aW9uICAgICB8ICBHTEZfTE9DSyBiaXQgbG9jayBoZWxkIHwgIGdsX3NwaW4gc3BpbmxvY2sgaGVsZAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2dvX3htb3RlX3RoICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb194bW90ZV9iaCAgIHwgICAgICAgWWVzICAgICAgICAgICAgICAgfCAgICAgICBObworZ29faW52YWwgICAgICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX2RlbW90ZV9vayAgfCAgICAgICBTb21ldGltZXMgICAgICAgICB8ICAgICAgIFllcworZ29fbG9jayAgICAgICB8ICAgICAgIFllcyAgICAgICAgICAgICAgIHwgICAgICAgTm8KK2dvX3VubG9jayAgICAgfCAgICAgICBZZXMgICAgICAgICAgICAgICB8ICAgICAgIE5vCitnb19kdW1wICAgICAgIHwgICAgICAgU29tZXRpbWVzICAgICAgICAgfCAgICAgICBZZXMKKworTi5CLiBPcGVyYXRpb25zIG11c3Qgbm90IGRyb3AgZWl0aGVyIHRoZSBiaXQgbG9jayBvciB0aGUgc3BpbmxvY2sKK2lmIGl0cyBoZWxkIG9uIGVudHJ5LiBnb19kdW1wIGFuZCBkb19kZW1vdGVfb2sgbXVzdCBuZXZlciBibG9jay4KK05vdGUgdGhhdCBnb19kdW1wIHdpbGwgb25seSBiZSBjYWxsZWQgaWYgdGhlIGdsb2NrJ3Mgc3RhdGUKK2luZGljYXRlcyB0aGF0IGl0IGlzIGNhY2hpbmcgdXB0b2RhdGUgZGF0YS4KKworR2xvY2sgbG9ja2luZyBvcmRlciB3aXRoaW4gR0ZTMjoKKworIDEuIGlfbXV0ZXggKGlmIHJlcXVpcmVkKQorIDIuIFJlbmFtZSBnbG9jayAoZm9yIHJlbmFtZSBvbmx5KQorIDMuIElub2RlIGdsb2NrKHMpCisgICAgKFBhcmVudHMgYmVmb3JlIGNoaWxkcmVuLCBpbm9kZXMgYXQgInNhbWUgbGV2ZWwiIHdpdGggc2FtZSBwYXJlbnQgaW4KKyAgICAgbG9jayBudW1iZXIgb3JkZXIpCisgNC4gUmdycCBnbG9jayhzKSAoZm9yIChkZSlhbGxvY2F0aW9uIG9wZXJhdGlvbnMpCisgNS4gVHJhbnNhY3Rpb24gZ2xvY2sgKHZpYSBnZnMyX3RyYW5zX2JlZ2luKSBmb3Igbm9uLXJlYWQgb3BlcmF0aW9ucworIDYuIFBhZ2UgbG9jayAgKGFsd2F5cyBsYXN0LCB2ZXJ5IGltcG9ydGFudCEpCisKK1RoZXJlIGFyZSB0d28gZ2xvY2tzIHBlciBpbm9kZS4gT25lIGRlYWxzIHdpdGggYWNjZXNzIHRvIHRoZSBpbm9kZQoraXRzZWxmIChsb2NraW5nIG9yZGVyIGFzIGFib3ZlKSwgYW5kIHRoZSBvdGhlciwga25vd24gYXMgdGhlIGlvcGVuCitnbG9jayBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGlfbmxpbmsgZmllbGQgaW4gdGhlIGlub2RlIHRvCitkZXRlcm1pbmUgdGhlIGxpZmV0aW1lIG9mIHRoZSBpbm9kZSBpbiBxdWVzdGlvbi4gTG9ja2luZyBvZiBpbm9kZXMKK2lzIG9uIGEgcGVyLWlub2RlIGJhc2lzLiBMb2NraW5nIG9mIHJncnBzIGlzIG9uIGEgcGVyIHJncnAgYmFzaXMuCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQgYi9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL3Byb2MudHh0CmluZGV4IGRiYzNjNmEuLjdmMjY4ZjMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvcHJvYy50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9wcm9jLnR4dApAQCAtMzgwLDI4ICszODAsMzUgQEAKIE9mIHNvbWUgaW50ZXJlc3QgaXMgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgL3Byb2MvaXJxIGRpcmVjdG9yeSB0byAyLjQuCiBJdCBjb3VsZCBiZSB1c2VkIHRvIHNldCBJUlEgdG8gQ1BVIGFmZmluaXR5LCB0aGlzIG1lYW5zIHRoYXQgeW91IGNhbiAiaG9vayIgYW4KIElSUSB0byBvbmx5IG9uZSBDUFUsIG9yIHRvIGV4Y2x1ZGUgYSBDUFUgb2YgaGFuZGxpbmcgSVJRcy4gVGhlIGNvbnRlbnRzIG9mIHRoZQotaXJxIHN1YmRpciBpcyBvbmUgc3ViZGlyIGZvciBlYWNoIElSUSwgYW5kIG9uZSBmaWxlOyBwcm9mX2NwdV9tYXNrCitpcnEgc3ViZGlyIGlzIG9uZSBzdWJkaXIgZm9yIGVhY2ggSVJRLCBhbmQgdHdvIGZpbGVzOyBkZWZhdWx0X3NtcF9hZmZpbml0eSBhbmQKK3Byb2ZfY3B1X21hc2suCiAKIEZvciBleGFtcGxlIAogICA+IGxzIC9wcm9jL2lycS8KICAgMCAgMTAgIDEyICAxNCAgMTYgIDE4ICAyICA0ICA2ICA4ICBwcm9mX2NwdV9tYXNrCi0gIDEgIDExICAxMyAgMTUgIDE3ICAxOSAgMyAgNSAgNyAgOQorICAxICAxMSAgMTMgIDE1ICAxNyAgMTkgIDMgIDUgIDcgIDkgIGRlZmF1bHRfc21wX2FmZmluaXR5CiAgID4gbHMgL3Byb2MvaXJxLzAvCiAgIHNtcF9hZmZpbml0eQogCi1UaGUgY29udGVudHMgb2YgdGhlIHByb2ZfY3B1X21hc2sgZmlsZSBhbmQgZWFjaCBzbXBfYWZmaW5pdHkgZmlsZSBmb3IgZWFjaCBJUlEKLWlzIHRoZSBzYW1lIGJ5IGRlZmF1bHQ6CitzbXBfYWZmaW5pdHkgaXMgYSBiaXRtYXNrLCBpbiB3aGljaCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggQ1BVcyBjYW4gaGFuZGxlIHRoZQorSVJRLCB5b3UgY2FuIHNldCBpdCBieSBkb2luZzoKIAotICA+IGNhdCAvcHJvYy9pcnEvMC9zbXBfYWZmaW5pdHkgCisgID4gZWNobyAxID4gL3Byb2MvaXJxLzEwL3NtcF9hZmZpbml0eQorCitUaGlzIG1lYW5zIHRoYXQgb25seSB0aGUgZmlyc3QgQ1BVIHdpbGwgaGFuZGxlIHRoZSBJUlEsIGJ1dCB5b3UgY2FuIGFsc28gZWNobworNSB3aGljaCBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IGFuZCBmb3VydGggQ1BVIGNhbiBoYW5kbGUgdGhlIElSUS4KKworVGhlIGNvbnRlbnRzIG9mIGVhY2ggc21wX2FmZmluaXR5IGZpbGUgaXMgdGhlIHNhbWUgYnkgZGVmYXVsdDoKKworICA+IGNhdCAvcHJvYy9pcnEvMC9zbXBfYWZmaW5pdHkKICAgZmZmZmZmZmYKIAotSXQncyBhIGJpdG1hc2ssIGluIHdoaWNoIHlvdSBjYW4gc3BlY2lmeSB3aGljaCBDUFVzIGNhbiBoYW5kbGUgdGhlIElSUSwgeW91IGNhbgotc2V0IGl0IGJ5IGRvaW5nOgorVGhlIGRlZmF1bHRfc21wX2FmZmluaXR5IG1hc2sgYXBwbGllcyB0byBhbGwgbm9uLWFjdGl2ZSBJUlFzLCB3aGljaCBhcmUgdGhlCitJUlFzIHdoaWNoIGhhdmUgbm90IHlldCBiZWVuIGFsbG9jYXRlZC9hY3RpdmF0ZWQsIGFuZCBoZW5jZSB3aGljaCBsYWNrIGEKKy9wcm9jL2lycS9bMC05XSogZGlyZWN0b3J5LgogCi0gID4gZWNobyAxID4gL3Byb2MvaXJxL3Byb2ZfY3B1X21hc2sKLQotVGhpcyBtZWFucyB0aGF0IG9ubHkgdGhlIGZpcnN0IENQVSB3aWxsIGhhbmRsZSB0aGUgSVJRLCBidXQgeW91IGNhbiBhbHNvIGVjaG8gNQotd2hpY2ggbWVhbnMgdGhhdCBvbmx5IHRoZSBmaXJzdCBhbmQgZm91cnRoIENQVSBjYW4gaGFuZGxlIHRoZSBJUlEuCitwcm9mX2NwdV9tYXNrIHNwZWNpZmllcyB3aGljaCBDUFVzIGFyZSB0byBiZSBwcm9maWxlZCBieSB0aGUgc3lzdGVtIHdpZGUKK3Byb2ZpbGVyLiBEZWZhdWx0IHZhbHVlIGlzIGZmZmZmZmZmIChhbGwgY3B1cykuCiAKIFRoZSB3YXkgSVJRcyBhcmUgcm91dGVkIGlzIGhhbmRsZWQgYnkgdGhlIElPLUFQSUMsIGFuZCBpdCdzIFJvdW5kIFJvYmluCiBiZXR3ZWVuIGFsbCB0aGUgQ1BVcyB3aGljaCBhcmUgYWxsb3dlZCB0byBoYW5kbGUgaXQuIEFzIHVzdWFsIHRoZSBrZXJuZWwgaGFzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQgYi9Eb2N1bWVudGF0aW9uL2Z0cmFjZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdkM2ZhYQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZnRyYWNlLnR4dApAQCAtMCwwICsxLDEzNjEgQEAKKwkJZnRyYWNlIC0gRnVuY3Rpb24gVHJhY2VyCisJCT09PT09PT09PT09PT09PT09PT09PT09PQorCitDb3B5cmlnaHQgMjAwOCBSZWQgSGF0IEluYy4KKyAgIEF1dGhvcjogICBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAgTGljZW5zZTogICBUaGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlLCBWZXJzaW9uIDEuMgorUmV2aWV3ZXJzOiAgIEVsaWFzIE9sdG1hbm5zIGFuZCBSYW5keSBEdW5sYXAKKworV3JpdGVuIGZvcjogMi42LjI2LXJjOCBsaW51eC0yLjYtdGlwLmdpdCB0aXAvdHJhY2luZy9mdHJhY2UgYnJhbmNoCisKK0ludHJvZHVjdGlvbgorLS0tLS0tLS0tLS0tCisKK0Z0cmFjZSBpcyBhbiBpbnRlcm5hbCB0cmFjZXIgZGVzaWduZWQgdG8gaGVscCBvdXQgZGV2ZWxvcGVycyBhbmQKK2Rlc2lnbmVycyBvZiBzeXN0ZW1zIHRvIGZpbmQgd2hhdCBpcyBnb2luZyBvbiBpbnNpZGUgdGhlIGtlcm5lbC4KK0l0IGNhbiBiZSB1c2VkIGZvciBkZWJ1Z2dpbmcgb3IgYW5hbHl6aW5nIGxhdGVuY2llcyBhbmQgcGVyZm9ybWFuY2UKK2lzc3VlcyB0aGF0IHRha2UgcGxhY2Ugb3V0c2lkZSBvZiB1c2VyLXNwYWNlLgorCitBbHRob3VnaCBmdHJhY2UgaXMgdGhlIGZ1bmN0aW9uIHRyYWNlciwgaXQgYWxzbyBpbmNsdWRlcyBhbgoraW5mcmFzdHJ1Y3R1cmUgdGhhdCBhbGxvd3MgZm9yIG90aGVyIHR5cGVzIG9mIHRyYWNpbmcuIFNvbWUgb2YgdGhlCit0cmFjZXJzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiBmdHJhY2UgaXMgYSB0cmFjZXIgdG8gdHJhY2UKK2NvbnRleHQgc3dpdGNoZXMsIHRoZSB0aW1lIGl0IHRha2VzIGZvciBhIGhpZ2ggcHJpb3JpdHkgdGFzayB0bworcnVuIGFmdGVyIGl0IHdhcyB3b2tlbiB1cCwgdGhlIHRpbWUgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIGFuZAorbW9yZS4KKworCitUaGUgRmlsZSBTeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLQorCitGdHJhY2UgdXNlcyB0aGUgZGVidWdmcyBmaWxlIHN5c3RlbSB0byBob2xkIHRoZSBjb250cm9sIGZpbGVzIGFzIHdlbGwKK2FzIHRoZSBmaWxlcyB0byBkaXNwbGF5IG91dHB1dC4KKworVG8gbW91bnQgdGhlIGRlYnVnZnMgc3lzdGVtOgorCisgICMgbWtkaXIgL2RlYnVnCisgICMgbW91bnQgLXQgZGVidWdmcyBub2RldiAvZGVidWcKKworCitUaGF0J3MgaXQhIChhc3N1bWluZyB0aGF0IHlvdSBoYXZlIGZ0cmFjZSBjb25maWd1cmVkIGludG8geW91ciBrZXJuZWwpCisKK0FmdGVyIG1vdW50aW5nIHRoZSBkZWJ1Z2ZzLCB5b3UgY2FuIHNlZSBhIGRpcmVjdG9yeSBjYWxsZWQKKyJ0cmFjaW5nIi4gIFRoaXMgZGlyZWN0b3J5IGNvbnRhaW5zIHRoZSBjb250cm9sIGFuZCBvdXRwdXQgZmlsZXMKK29mIGZ0cmFjZS4gSGVyZSBpcyBhIGxpc3Qgb2Ygc29tZSBvZiB0aGUga2V5IGZpbGVzOgorCisKKyBOb3RlOiBhbGwgdGltZSB2YWx1ZXMgYXJlIGluIG1pY3Jvc2Vjb25kcy4KKworICBjdXJyZW50X3RyYWNlciA6IFRoaXMgaXMgdXNlZCB0byBzZXQgb3IgZGlzcGxheSB0aGUgY3VycmVudCB0cmFjZXIKKwkJdGhhdCBpcyBjb25maWd1cmVkLgorCisgIGF2YWlsYWJsZV90cmFjZXJzIDogVGhpcyBob2xkcyB0aGUgZGlmZmVyZW50IHR5cGVzIG9mIHRyYWNlcnMgdGhhdAorCQloYXZlIGJlZW4gY29tcGlsZWQgaW50byB0aGUga2VybmVsLiBUaGUgdHJhY2VycworCQlsaXN0ZWQgaGVyZSBjYW4gYmUgY29uZmlndXJlZCBieSBlY2hvaW5nIGluIHRoZWlyCisJCW5hbWUgaW50byBjdXJyZW50X3RyYWNlci4KKworICB0cmFjaW5nX2VuYWJsZWQgOiBUaGlzIHNldHMgb3IgZGlzcGxheXMgd2hldGhlciB0aGUgY3VycmVudF90cmFjZXIKKwkJaXMgYWN0aXZhdGVkIGFuZCB0cmFjaW5nIG9yIG5vdC4gRWNobyAwIGludG8gdGhpcworCQlmaWxlIHRvIGRpc2FibGUgdGhlIHRyYWNlciBvciAxIChvciBub24temVybykgdG8KKwkJZW5hYmxlIGl0LgorCisgIHRyYWNlIDogVGhpcyBmaWxlIGhvbGRzIHRoZSBvdXRwdXQgb2YgdGhlIHRyYWNlIGluIGEgaHVtYW4gcmVhZGFibGUKKwkJZm9ybWF0LgorCisgIGxhdGVuY3lfdHJhY2UgOiBUaGlzIGZpbGUgc2hvd3MgdGhlIHNhbWUgdHJhY2UgYnV0IHRoZSBpbmZvcm1hdGlvbgorCQlpcyBvcmdhbml6ZWQgbW9yZSB0byBkaXNwbGF5IHBvc3NpYmxlIGxhdGVuY2llcworCQlpbiB0aGUgc3lzdGVtLgorCisgIHRyYWNlX3BpcGUgOiBUaGUgb3V0cHV0IGlzIHRoZSBzYW1lIGFzIHRoZSAidHJhY2UiIGZpbGUgYnV0IHRoaXMKKwkJZmlsZSBpcyBtZWFudCB0byBiZSBzdHJlYW1lZCB3aXRoIGxpdmUgdHJhY2luZy4KKwkJUmVhZHMgZnJvbSB0aGlzIGZpbGUgd2lsbCBibG9jayB1bnRpbCBuZXcgZGF0YQorCQlpcyByZXRyaWV2ZWQuIFVubGlrZSB0aGUgInRyYWNlIiBhbmQgImxhdGVuY3lfdHJhY2UiCisJCWZpbGVzLCB0aGlzIGZpbGUgaXMgYSBjb25zdW1lci4gVGhpcyBtZWFucyByZWFkaW5nCisJCWZyb20gdGhpcyBmaWxlIGNhdXNlcyBzZXF1ZW50aWFsIHJlYWRzIHRvIGRpc3BsYXkKKwkJbW9yZSBjdXJyZW50IGRhdGEuIE9uY2UgZGF0YSBpcyByZWFkIGZyb20gdGhpcworCQlmaWxlLCBpdCBpcyBjb25zdW1lZCwgYW5kIHdpbGwgbm90IGJlIHJlYWQKKwkJYWdhaW4gd2l0aCBhIHNlcXVlbnRpYWwgcmVhZC4gVGhlICJ0cmFjZSIgYW5kCisJCSJsYXRlbmN5X3RyYWNlIiBmaWxlcyBhcmUgc3RhdGljLCBhbmQgaWYgdGhlCisJCXRyYWNlciBpc24ndCBhZGRpbmcgbW9yZSBkYXRhLCB0aGV5IHdpbGwgZGlzcGxheQorCQl0aGUgc2FtZSBpbmZvcm1hdGlvbiBldmVyeSB0aW1lIHRoZXkgYXJlIHJlYWQuCisKKyAgaXRlcl9jdHJsIDogVGhpcyBmaWxlIGxldHMgdGhlIHVzZXIgY29udHJvbCB0aGUgYW1vdW50IG9mIGRhdGEKKwkJdGhhdCBpcyBkaXNwbGF5ZWQgaW4gb25lIG9mIHRoZSBhYm92ZSBvdXRwdXQKKwkJZmlsZXMuCisKKyAgdHJhY2VfbWF4X2xhdGVuY3kgOiBTb21lIG9mIHRoZSB0cmFjZXJzIHJlY29yZCB0aGUgbWF4IGxhdGVuY3kuCisJCUZvciBleGFtcGxlLCB0aGUgdGltZSBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4KKwkJVGhpcyB0aW1lIGlzIHNhdmVkIGluIHRoaXMgZmlsZS4gVGhlIG1heCB0cmFjZQorCQl3aWxsIGFsc28gYmUgc3RvcmVkLCBhbmQgZGlzcGxheWVkIGJ5IGVpdGhlcgorCQkidHJhY2UiIG9yICJsYXRlbmN5X3RyYWNlIi4gIEEgbmV3IG1heCB0cmFjZSB3aWxsCisJCW9ubHkgYmUgcmVjb3JkZWQgaWYgdGhlIGxhdGVuY3kgaXMgZ3JlYXRlciB0aGFuCisJCXRoZSB2YWx1ZSBpbiB0aGlzIGZpbGUuIChpbiBtaWNyb3NlY29uZHMpCisKKyAgdHJhY2VfZW50cmllcyA6IFRoaXMgc2V0cyBvciBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIHRyYWNlCisJCWVudHJpZXMgZWFjaCBDUFUgYnVmZmVyIGNhbiBob2xkLiBUaGUgdHJhY2VyIGJ1ZmZlcnMKKwkJYXJlIHRoZSBzYW1lIHNpemUgZm9yIGVhY2ggQ1BVLCBzbyBjYXJlIG11c3QgYmUKKwkJdGFrZW4gd2hlbiBtb2RpZnlpbmcgdGhlIHRyYWNlX2VudHJpZXMuIFRoZSB0cmFjZQorCQlidWZmZXJzIGFyZSBhbGxvY2F0ZWQgaW4gcGFnZXMgKGJsb2NrcyBvZiBtZW1vcnkgdGhhdAorCQl0aGUga2VybmVsIHVzZXMgZm9yIGFsbG9jYXRpb24sIHVzdWFsbHkgNCBLQiBpbiBzaXplKS4KKwkJU2luY2UgZWFjaCBlbnRyeSBpcyBzbWFsbGVyIHRoYW4gYSBwYWdlLCBpZiB0aGUgbGFzdAorCQlhbGxvY2F0ZWQgcGFnZSBoYXMgcm9vbSBmb3IgbW9yZSBlbnRyaWVzIHRoYW4gd2VyZQorCQlyZXF1ZXN0ZWQsIHRoZSByZXN0IG9mIHRoZSBwYWdlIGlzIHVzZWQgdG8gYWxsb2NhdGUKKwkJZW50cmllcy4KKworCQlUaGlzIGNhbiBvbmx5IGJlIHVwZGF0ZWQgd2hlbiB0aGUgY3VycmVudF90cmFjZXIKKwkJaXMgc2V0IHRvICJub25lIi4KKworCQlOT1RFOiBJdCBpcyBwbGFubmVkIG9uIGNoYW5naW5nIHRoZSBhbGxvY2F0ZWQgYnVmZmVycworCQkgICAgICBmcm9tIGJlaW5nIHRoZSBudW1iZXIgb2YgcG9zc2libGUgQ1BVUyB0bworCQkgICAgICB0aGUgbnVtYmVyIG9mIG9ubGluZSBDUFVTLgorCisgIHRyYWNpbmdfY3B1bWFzayA6IFRoaXMgaXMgYSBtYXNrIHRoYXQgbGV0cyB0aGUgdXNlciBvbmx5IHRyYWNlCisJCW9uIHNwZWNpZmllZCBDUFVTLiBUaGUgZm9ybWF0IGlzIGEgaGV4IHN0cmluZworCQlyZXByZXNlbnRpbmcgdGhlIENQVVMuCisKKyAgc2V0X2Z0cmFjZV9maWx0ZXIgOiBXaGVuIGR5bmFtaWMgZnRyYWNlIGlzIGNvbmZpZ3VyZWQgaW4sIHRoZQorCQljb2RlIGlzIGR5bmFtaWNhbGx5IG1vZGlmaWVkIHRvIGRpc2FibGUgY2FsbGluZworCQlvZiB0aGUgZnVuY3Rpb24gcHJvZmlsZXIgKG1jb3VudCkuIFRoaXMgbGV0cworCQl0cmFjaW5nIGJlIGNvbmZpZ3VyZWQgaW4gd2l0aCBwcmFjdGljYWxseSBubyBvdmVyaGVhZAorCQlpbiBwZXJmb3JtYW5jZS4gIFRoaXMgYWxzbyBoYXMgYSBzaWRlIGVmZmVjdCBvZgorCQllbmFibGluZyBvciBkaXNhYmxpbmcgc3BlY2lmaWMgZnVuY3Rpb25zIHRvIGJlCisJCXRyYWNlZC4gIEVjaG9pbmcgaW4gbmFtZXMgb2YgZnVuY3Rpb25zIGludG8gdGhpcworCQlmaWxlIHdpbGwgbGltaXQgdGhlIHRyYWNlIHRvIG9ubHkgdGhlc2UgZnVuY3Rpb25zLgorCisgIHNldF9mdHJhY2Vfbm90cmFjZTogVGhpcyBoYXMgdGhlIG9wcG9zaXRlIGVmZmVjdCB0aGF0CisJCXNldF9mdHJhY2VfZmlsdGVyIGhhcy4gQW55IGZ1bmN0aW9uIHRoYXQgaXMgYWRkZWQKKwkJaGVyZSB3aWxsIG5vdCBiZSB0cmFjZWQuIElmIGEgZnVuY3Rpb24gZXhpc3RzCisJCWluIGJvdGggc2V0X2Z0cmFjZV9maWx0ZXIgYW5kIHNldF9mdHJhY2Vfbm90cmFjZSwKKwkJdGhlIGZ1bmN0aW9uIHdpbGwgX25vdF8gYmUgdHJhY2VkLgorCisgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zIDogV2hlbiBhIGZ1bmN0aW9uIGlzIGVuY291bnRlcmVkIHRoZSBmaXJzdAorCQl0aW1lIGJ5IHRoZSBkeW5hbWljIHRyYWNlciwgaXQgaXMgcmVjb3JkZWQgYW5kCisJCWxhdGVyIHRoZSBjYWxsIGlzIGNvbnZlcnRlZCBpbnRvIGEgbm9wLiBUaGlzIGZpbGUKKwkJbGlzdHMgdGhlIGZ1bmN0aW9ucyB0aGF0IGhhdmUgYmVlbiByZWNvcmRlZAorCQlieSB0aGUgZHluYW1pYyB0cmFjZXIgYW5kIHRoZXNlIGZ1bmN0aW9ucyBjYW4KKwkJYmUgdXNlZCB0byBzZXQgdGhlIGZ0cmFjZSBmaWx0ZXIgYnkgdGhlIGFib3ZlCisJCSJzZXRfZnRyYWNlX2ZpbHRlciIgZmlsZS4KKworCitUaGUgVHJhY2VycworLS0tLS0tLS0tLS0KKworSGVyZSBhcmUgdGhlIGxpc3Qgb2YgY3VycmVudCB0cmFjZXJzIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQuCisKKyAgZnRyYWNlIC0gZnVuY3Rpb24gdHJhY2VyIHRoYXQgdXNlcyBtY291bnQgdG8gdHJhY2UgYWxsIGZ1bmN0aW9ucy4KKwkJSXQgaXMgcG9zc2libGUgdG8gZmlsdGVyIG91dCB3aGljaCBmdW5jdGlvbnMgdGhhdCBhcmUKKwkJdG8gYmUgdHJhY2VkIHdoZW4gZHluYW1pYyBmdHJhY2UgaXMgY29uZmlndXJlZCBpbi4KKworICBzY2hlZF9zd2l0Y2ggLSB0cmFjZXMgdGhlIGNvbnRleHQgc3dpdGNoZXMgYmV0d2VlbiB0YXNrcy4KKworICBpcnFzb2ZmIC0gdHJhY2VzIHRoZSBhcmVhcyB0aGF0IGRpc2FibGUgaW50ZXJydXB0cyBhbmQgc2F2ZXMgb2ZmCisgIAkJdGhlIHRyYWNlIHdpdGggdGhlIGxvbmdlc3QgbWF4IGxhdGVuY3kuCisJCVNlZSB0cmFjaW5nX21heF9sYXRlbmN5LiAgV2hlbiBhIG5ldyBtYXggaXMgcmVjb3JkZWQsCisJCWl0IHJlcGxhY2VzIHRoZSBvbGQgdHJhY2UuIEl0IGlzIGJlc3QgdG8gdmlldyB0aGlzCisJCXRyYWNlIHdpdGggdGhlIGxhdGVuY3lfdHJhY2UgZmlsZS4KKworICBwcmVlbXB0b2ZmIC0gU2ltaWxhciB0byBpcnFzb2ZmIGJ1dCB0cmFjZXMgYW5kIHJlY29yZHMgdGhlIHRpbWUKKwkJcHJlZW1wdGlvbiBpcyBkaXNhYmxlZC4KKworICBwcmVlbXB0aXJxc29mZiAtIFNpbWlsYXIgdG8gaXJxc29mZiBhbmQgcHJlZW1wdG9mZiwgYnV0IHRyYWNlcyBhbmQKKwkJIHJlY29yZHMgdGhlIGxhcmdlc3QgdGltZSBpcnFzIGFuZC9vciBwcmVlbXB0aW9uIGlzCisJCSBkaXNhYmxlZC4KKworICB3YWtldXAgLSBUcmFjZXMgYW5kIHJlY29yZHMgdGhlIG1heCBsYXRlbmN5IHRoYXQgaXQgdGFrZXMgZm9yCisJCXRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdG8gZ2V0IHNjaGVkdWxlZCBhZnRlcgorCQlpdCBoYXMgYmVlbiB3b2tlbiB1cC4KKworICBub25lIC0gVGhpcyBpcyBub3QgYSB0cmFjZXIuIFRvIHJlbW92ZSBhbGwgdHJhY2VycyBmcm9tIHRyYWNpbmcKKwkJc2ltcGx5IGVjaG8gIm5vbmUiIGludG8gY3VycmVudF90cmFjZXIuCisKKworRXhhbXBsZXMgb2YgdXNpbmcgdGhlIHRyYWNlcgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitIZXJlIGFyZSB0eXBpY2FsIGV4YW1wbGVzIG9mIHVzaW5nIHRoZSB0cmFjZXJzIHdpdGggb25seSBjb250cm9sbGluZwordGhlbSB3aXRoIHRoZSBkZWJ1Z2ZzIGludGVyZmFjZSAod2l0aG91dCB1c2luZyBhbnkgdXNlci1sYW5kIHV0aWxpdGllcykuCisKK091dHB1dCBmb3JtYXQ6CistLS0tLS0tLS0tLS0tLQorCitIZXJlJ3MgYW4gZXhhbXBsZSBvZiB0aGUgb3V0cHV0IGZvcm1hdCBvZiB0aGUgZmlsZSAidHJhY2UiCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0KKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgICBiYXNoLTQyNTEgIFswMV0gMTAxNTIuNTgzODU0OiBwYXRoX3B1dCA8LXBhdGhfd2FsaworICAgICAgICAgICAgYmFzaC00MjUxICBbMDFdIDEwMTUyLjU4Mzg1NTogZHB1dCA8LXBhdGhfcHV0CisgICAgICAgICAgICBiYXNoLTQyNTEgIFswMV0gMTAxNTIuNTgzODU1OiBfYXRvbWljX2RlY19hbmRfbG9jayA8LWRwdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0KKworQSBoZWFkZXIgaXMgcHJpbnRlZCB3aXRoIHRoZSB0cmFjZSB0aGF0IGlzIHJlcHJlc2VudGVkLiBJbiB0aGlzIGNhc2UKK3RoZSB0cmFjZXIgaXMgImZ0cmFjZSIuIFRoZW4gYSBoZWFkZXIgc2hvd2luZyB0aGUgZm9ybWF0LiBUYXNrIG5hbWUKKyJiYXNoIiwgdGhlIHRhc2sgUElEICI0MjUxIiwgdGhlIENQVSB0aGF0IGl0IHdhcyBydW5uaW5nIG9uCisiMDEiLCB0aGUgdGltZXN0YW1wIGluIDxzZWNzPi48dXNlY3M+IGZvcm1hdCwgdGhlIGZ1bmN0aW9uIG5hbWUgdGhhdCB3YXMKK3RyYWNlZCAicGF0aF9wdXQiIGFuZCB0aGUgcGFyZW50IGZ1bmN0aW9uIHRoYXQgY2FsbGVkIHRoaXMgZnVuY3Rpb24KKyJwYXRoX3dhbGsiLgorCitUaGUgc2NoZWRfc3dpdGNoIHRyYWNlciBhbHNvIGluY2x1ZGVzIHRyYWNpbmcgb2YgdGFzayB3YWtlIHVwcyBhbmQKK2NvbnRleHQgc3dpdGNoZXMuCisKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiAgICsgIDI5MTY6MTE1OlMKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiAgICsgICAgMTA6MTE1OlMKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UiA9PT4gICAgMTA6MTE1OlIKKyAgICAgICAgZXZlbnRzLzEtMTAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAxMDoxMTU6UyA9PT4gIDI5MTY6MTE1OlIKKyAgICAga29uZGVtYW5kLzEtMjkxNiAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgMjkxNjoxMTU6UyA9PT4gICAgIDc6MTE1OlIKKyAgICAga3NvZnRpcnFkLzEtNyAgICAgWzAxXSAgMTQ1My4wNzAwMTM6ICAgICAgNzoxMTU6UyA9PT4gICAgIDA6MTQwOlIKKworV2FrZSB1cHMgYXJlIHJlcHJlc2VudGVkIGJ5IGEgIisiIGFuZCB0aGUgY29udGV4dCBzd2l0Y2hlcyBzaG93CisiPT0+Ii4gIFRoZSBmb3JtYXQgaXM6CisKKyBDb250ZXh0IHN3aXRjaGVzOgorCisgICAgICAgUHJldmlvdXMgdGFzayAgICAgICAgICAgICAgTmV4dCBUYXNrCisKKyAgPHBpZD46PHByaW8+OjxzdGF0ZT4gID09PiAgPHBpZD46PHByaW8+OjxzdGF0ZT4KKworIFdha2UgdXBzOgorCisgICAgICAgQ3VycmVudCB0YXNrICAgICAgICAgICAgICAgVGFzayB3YWtpbmcgdXAKKworICA8cGlkPjo8cHJpbz46PHN0YXRlPiAgICArICA8cGlkPjo8cHJpbz46PHN0YXRlPgorCitUaGUgcHJpbyBpcyB0aGUgaW50ZXJuYWwga2VybmVsIHByaW9yaXR5LCB3aGljaCBpcyBpbnZlcnNlIHRvIHRoZQorcHJpb3JpdHkgdGhhdCBpcyB1c3VhbGx5IGRpc3BsYXllZCBieSB1c2VyLXNwYWNlIHRvb2xzLiBaZXJvIHJlcHJlc2VudHMKK3RoZSBoaWdoZXN0IHByaW9yaXR5ICg5OSkuIFByaW8gMTAwIHN0YXJ0cyB0aGUgIm5pY2UiIHByaW9yaXRpZXMgd2l0aAorMTAwIGJlaW5nIGVxdWFsIHRvIG5pY2UgLTIwIGFuZCAxMzkgYmVpbmcgbmljZSAxOS4gVGhlIHByaW8gIjE0MCIgaXMKK3Jlc2VydmVkIGZvciB0aGUgaWRsZSB0YXNrIHdoaWNoIGlzIHRoZSBsb3dlc3QgcHJpb3JpdHkgdGhyZWFkIChwaWQgMCkuCisKKworTGF0ZW5jeSB0cmFjZSBmb3JtYXQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0ZvciB0cmFjZXMgdGhhdCBkaXNwbGF5IGxhdGVuY3kgdGltZXMsIHRoZSBsYXRlbmN5X3RyYWNlIGZpbGUgZ2l2ZXMKK2EgYml0IG1vcmUgaW5mb3JtYXRpb24gdG8gc2VlIHdoeSBhIGxhdGVuY3kgaGFwcGVuZWQuIEhlcmUncyBhIHR5cGljYWwKK3RyYWNlLgorCisjIHRyYWNlcjogaXJxc29mZgorIworaXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDk3IHVzLCAjMy8zLCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHN3YXBwZXItMCAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IGFwaWNfdGltZXJfaW50ZXJydXB0CisgPT4gZW5kZWQgYXQ6ICAgZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICA8aWRsZT4tMCAgICAgMGQuLjEgICAgMHVzKzogdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rIChhcGljX3RpbWVyX2ludGVycnVwdCkKKyAgPGlkbGU+LTAgICAgIDBkLnMuICAgOTd1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgPGlkbGU+LTAgICAgIDBkLnMxICAgOTh1cyA6IHRyYWNlX2hhcmRpcnFzX29uIChkb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKKworVGhpcyBzaG93cyB0aGF0IHRoZSBjdXJyZW50IHRyYWNlciBpcyAiaXJxc29mZiIgdHJhY2luZyB0aGUgdGltZQoraW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuIEl0IGdpdmVzIHRoZSB0cmFjZSB2ZXJzaW9uIGFuZCB0aGUga2VybmVsCit0aGlzIHdhcyBleGVjdXRlZCBvbiAoMi42LjI2LXJjOCkuIFRoZW4gaXQgZGlzcGxheXMgdGhlIG1heCBsYXRlbmN5CitpbiBtaWNyb3NlY3MgKDk3IHVzKS4gVGhlIG51bWJlciBvZiB0cmFjZSBlbnRyaWVzIGRpc3BsYXllZAorYnkgdGhlIHRvdGFsIG51bWJlciByZWNvcmRlZCAoYm90aCBhcmUgdGhyZWU6ICMzLzMpLiBUaGUgdHlwZSBvZgorcHJlZW1wdGlvbiB0aGF0IHdhcyB1c2VkIChQUkVFTVBUKS4gVlAsIEtQLCBTUCwgYW5kIEhQIGFyZSBhbHdheXMgemVybworYW5kIHJlc2VydmVkIGZvciBsYXRlciB1c2UuICNQIGlzIHRoZSBudW1iZXIgb2Ygb25saW5lIENQVVMgKCNQOjIpLgorCitUaGUgdGFzayBpcyB0aGUgcHJvY2VzcyB0aGF0IHdhcyBydW5uaW5nIHdoZW4gdGhlIGxhdGVuY3kgaGFwcGVuZWQuCisoc3dhcHBlciBwaWQ6IDApLgorCitUaGUgc3RhcnQgYW5kIHN0b3AgdGhhdCBjYXVzZWQgdGhlIGxhdGVuY2llczoKKworICBhcGljX3RpbWVyX2ludGVycnVwdCBpcyB3aGVyZSB0aGUgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkLgorICBkb19zb2Z0aXJxIGlzIHdoZXJlIHRoZXkgd2VyZSBlbmFibGVkIGFnYWluLgorCitUaGUgbmV4dCBsaW5lcyBhZnRlciB0aGUgaGVhZGVyIGFyZSB0aGUgdHJhY2UgaXRzZWxmLiBUaGUgaGVhZGVyCitleHBsYWlucyB3aGljaCBpcyB3aGljaC4KKworICBjbWQ6IFRoZSBuYW1lIG9mIHRoZSBwcm9jZXNzIGluIHRoZSB0cmFjZS4KKworICBwaWQ6IFRoZSBQSUQgb2YgdGhhdCBwcm9jZXNzLgorCisgIENQVSM6IFRoZSBDUFUgdGhhdCB0aGUgcHJvY2VzcyB3YXMgcnVubmluZyBvbi4KKworICBpcnFzLW9mZjogJ2QnIGludGVycnVwdHMgYXJlIGRpc2FibGVkLiAnLicgb3RoZXJ3aXNlLgorCisgIG5lZWQtcmVzY2hlZDogJ04nIHRhc2sgbmVlZF9yZXNjaGVkIGlzIHNldCwgJy4nIG90aGVyd2lzZS4KKworICBoYXJkaXJxL3NvZnRpcnE6CisJJ0gnIC0gaGFyZCBpcnEgaGFwcGVuZWQgaW5zaWRlIGEgc29mdGlycS4KKwknaCcgLSBoYXJkIGlycSBpcyBydW5uaW5nCisJJ3MnIC0gc29mdCBpcnEgaXMgcnVubmluZworCScuJyAtIG5vcm1hbCBjb250ZXh0LgorCisgIHByZWVtcHQtZGVwdGg6IFRoZSBsZXZlbCBvZiBwcmVlbXB0X2Rpc2FibGVkCisKK1RoZSBhYm92ZSBpcyBtb3N0bHkgbWVhbmluZ2Z1bCBmb3Iga2VybmVsIGRldmVsb3BlcnMuCisKKyAgdGltZTogVGhpcyBkaWZmZXJzIGZyb20gdGhlIHRyYWNlIGZpbGUgb3V0cHV0LiBUaGUgdHJhY2UgZmlsZSBvdXRwdXQKKwlpbmNsdWRlZCBhbiBhYnNvbHV0ZSB0aW1lc3RhbXAuIFRoZSB0aW1lc3RhbXAgdXNlZCBieSB0aGUKKwlsYXRlbmN5X3RyYWNlIGZpbGUgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSB0cmFjZS4KKworICBkZWxheTogVGhpcyBpcyBqdXN0IHRvIGhlbHAgY2F0Y2ggeW91ciBleWUgYSBiaXQgYmV0dGVyLiBBbmQKKwluZWVkcyB0byBiZSBmaXhlZCB0byBiZSBvbmx5IHJlbGF0aXZlIHRvIHRoZSBzYW1lIENQVS4KKwlUaGUgbWFya3MgYXJlIGRldGVybWluZWQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzCisJY3VycmVudCB0cmFjZSBhbmQgdGhlIG5leHQgdHJhY2UuCisJICchJyAtIGdyZWF0ZXIgdGhhbiBwcmVlbXB0X21hcmtfdGhyZXNoIChkZWZhdWx0IDEwMCkKKwkgJysnIC0gZ3JlYXRlciB0aGFuIDEgbWljcm9zZWNvbmQKKwkgJyAnIC0gbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDEgbWljcm9zZWNvbmQuCisKKyAgVGhlIHJlc3QgaXMgdGhlIHNhbWUgYXMgdGhlICd0cmFjZScgZmlsZS4KKworCitpdGVyX2N0cmwKKy0tLS0tLS0tLQorCitUaGUgaXRlcl9jdHJsIGZpbGUgaXMgdXNlZCB0byBjb250cm9sIHdoYXQgZ2V0cyBwcmludGVkIGluIHRoZSB0cmFjZQorb3V0cHV0LiBUbyBzZWUgd2hhdCBpcyBhdmFpbGFibGUsIHNpbXBseSBjYXQgdGhlIGZpbGU6CisKKyAgY2F0IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAorICBwcmludC1wYXJlbnQgbm9zeW0tb2Zmc2V0IG5vc3ltLWFkZHIgbm92ZXJib3NlIG5vcmF3IG5vaGV4IG5vYmluIFwKKyBub2Jsb2NrIG5vc3RhY2t0cmFjZSBub3NjaGVkLXRyZWUKKworVG8gZGlzYWJsZSBvbmUgb2YgdGhlIG9wdGlvbnMsIGVjaG8gaW4gdGhlIG9wdGlvbiBwcmVwZW5kZWQgd2l0aCAibm8iLgorCisgIGVjaG8gbm9wcmludC1wYXJlbnQgPiAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmwKKworVG8gZW5hYmxlIGFuIG9wdGlvbiwgbGVhdmUgb2ZmIHRoZSAibm8iLgorCisgIGVjaG8gc3ltLW9mZnNldCA+IC9kZWJ1Zy90cmFjaW5nL2l0ZXJfY3RybAorCitIZXJlIGFyZSB0aGUgYXZhaWxhYmxlIG9wdGlvbnM6CisKKyAgcHJpbnQtcGFyZW50IC0gT24gZnVuY3Rpb24gdHJhY2VzLCBkaXNwbGF5IHRoZSBjYWxsaW5nIGZ1bmN0aW9uCisJCWFzIHdlbGwgYXMgdGhlIGZ1bmN0aW9uIGJlaW5nIHRyYWNlZC4KKworICBwcmludC1wYXJlbnQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bCA8LXN0cmljdF9zdHJ0b3VsCisKKyAgbm9wcmludC1wYXJlbnQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bAorCisKKyAgc3ltLW9mZnNldCAtIERpc3BsYXkgbm90IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUsIGJ1dCBhbHNvIHRoZSBvZmZzZXQKKwkJaW4gdGhlIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZSwgaW5zdGVhZCBvZiBzZWVpbmcganVzdAorCQkia3RpbWVfZ2V0IiwgeW91IHdpbGwgc2VlICJrdGltZV9nZXQrMHhiLzB4MjAiLgorCisgIHN5bS1vZmZzZXQ6CisgICBiYXNoLTQwMDAgIFswMV0gIDE0NzcuNjA2Njk0OiBzaW1wbGVfc3RydG91bCsweDYvMHhhMAorCisgIHN5bS1hZGRyIC0gdGhpcyB3aWxsIGFsc28gZGlzcGxheSB0aGUgZnVuY3Rpb24gYWRkcmVzcyBhcyB3ZWxsIGFzCisJCXRoZSBmdW5jdGlvbiBuYW1lLgorCisgIHN5bS1hZGRyOgorICAgYmFzaC00MDAwICBbMDFdICAxNDc3LjYwNjY5NDogc2ltcGxlX3N0cnRvdWwgPGMwMzM5MzQ2PgorCisgIHZlcmJvc2UgLSBUaGlzIGRlYWxzIHdpdGggdGhlIGxhdGVuY3lfdHJhY2UgZmlsZS4KKworICAgIGJhc2ggIDQwMDAgMSAwIDAwMDAwMDAwIDAwMDEwYTk1IFs1ODEyN2QyNl0gMTcyMC40MTVtcyBcCisgICAgKCswLjAwMG1zKTogc2ltcGxlX3N0cnRvdWwgKHN0cmljdF9zdHJ0b3VsKQorCisgIHJhdyAtIFRoaXMgd2lsbCBkaXNwbGF5IHJhdyBudW1iZXJzLiBUaGlzIG9wdGlvbiBpcyBiZXN0IGZvciB1c2Ugd2l0aAorCXVzZXIgYXBwbGljYXRpb25zIHRoYXQgY2FuIHRyYW5zbGF0ZSB0aGUgcmF3IG51bWJlcnMgYmV0dGVyIHRoYW4KKwloYXZpbmcgaXQgZG9uZSBpbiB0aGUga2VybmVsLgorCisgIGhleCAtIFNpbWlsYXIgdG8gcmF3LCBidXQgdGhlIG51bWJlcnMgd2lsbCBiZSBpbiBhIGhleGFkZWNpbWFsIGZvcm1hdC4KKworICBiaW4gLSBUaGlzIHdpbGwgcHJpbnQgb3V0IHRoZSBmb3JtYXRzIGluIHJhdyBiaW5hcnkuCisKKyAgYmxvY2sgLSBUQkQgKG5lZWRzIHVwZGF0ZSkKKworICBzdGFja3RyYWNlIC0gVGhpcyBpcyBvbmUgb2YgdGhlIG9wdGlvbnMgdGhhdCBjaGFuZ2VzIHRoZSB0cmFjZSBpdHNlbGYuCisJCVdoZW4gYSB0cmFjZSBpcyByZWNvcmRlZCwgc28gaXMgdGhlIHN0YWNrIG9mIGZ1bmN0aW9ucy4KKwkJVGhpcyBhbGxvd3MgZm9yIGJhY2sgdHJhY2VzIG9mIHRyYWNlIHNpdGVzLgorCisgIHNjaGVkLXRyZWUgLSBUQkQgKGFueSB1c2Vycz8/KQorCisKK3NjaGVkX3N3aXRjaAorLS0tLS0tLS0tLS0tCisKK1RoaXMgdHJhY2VyIHNpbXBseSByZWNvcmRzIHNjaGVkdWxlIHN3aXRjaGVzLiBIZXJlJ3MgYW4gZXhhbXBsZQorb2YgaG93IHRvIHVzZSBpdC4KKworICMgZWNobyBzY2hlZF9zd2l0Y2ggPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorCisjIHRyYWNlcjogc2NoZWRfc3dpdGNoCisjCisjICAgICAgICAgICBUQVNLLVBJRCAgIENQVSMgICAgVElNRVNUQU1QICBGVU5DVElPTgorIyAgICAgICAgICAgICAgfCB8ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfAorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjI4MTogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjI4NDogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMjM3MTogICA0MDU1OjEyMDpTID09PiAgMzk5NzoxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ1NDogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6UworICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ1NzogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMjQ2MDogICA0MDU1OjEyMDpEID09PiAgMzk5NzoxMjA6UgorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ2MzogICAzOTk3OjEyMDpSICAgKyAgNDA1NToxMjA6RAorICAgICAgICAgICAgYmFzaC0zOTk3ICBbMDFdICAgMjQwLjEzMjQ2NTogICAzOTk3OjEyMDpSID09PiAgNDA1NToxMjA6UgorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU4OTogICAgICAwOjE0MDpSICAgKyAgICAgNDoxMTU6UworICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5MTogICAgICAwOjE0MDpSID09PiAgICAgNDoxMTU6UgorICAgICBrc29mdGlycWQvMC00ICAgICBbMDBdICAgMjQwLjEzMjU5NTogICAgICA0OjExNTpTID09PiAgICAgMDoxNDA6UgorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5ODogICAgICAwOjE0MDpSICAgKyAgICAgNDoxMTU6UworICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAgMjQwLjEzMjU5OTogICAgICAwOjE0MDpSID09PiAgICAgNDoxMTU6UgorICAgICBrc29mdGlycWQvMC00ICAgICBbMDBdICAgMjQwLjEzMjYwMzogICAgICA0OjExNTpTID09PiAgICAgMDoxNDA6UgorICAgICAgICAgICBzbGVlcC00MDU1ICBbMDFdICAgMjQwLjEzMzA1ODogICA0MDU1OjEyMDpTID09PiAgMzk5NzoxMjA6UgorIFsuLi5dCisKKworQXMgd2UgaGF2ZSBkaXNjdXNzZWQgcHJldmlvdXNseSBhYm91dCB0aGlzIGZvcm1hdCwgdGhlIGhlYWRlciBzaG93cwordGhlIG5hbWUgb2YgdGhlIHRyYWNlIGFuZCBwb2ludHMgdG8gdGhlIG9wdGlvbnMuIFRoZSAiRlVOQ1RJT04iCitpcyBhIG1pc25vbWVyIHNpbmNlIGhlcmUgaXQgcmVwcmVzZW50cyB0aGUgd2FrZSB1cHMgYW5kIGNvbnRleHQKK3N3aXRjaGVzLgorCitUaGUgc2NoZWRfc3dpdGNoIG9ubHkgbGlzdHMgdGhlIHdha2UgdXBzIChyZXByZXNlbnRlZCB3aXRoICcrJykKK2FuZCBjb250ZXh0IHN3aXRjaGVzICgnPT0+Jykgd2l0aCB0aGUgcHJldmlvdXMgdGFzayBvciBjdXJyZW50CitmaXJzdCBmb2xsb3dlZCBieSB0aGUgbmV4dCB0YXNrIG9yIHRhc2sgd2FraW5nIHVwLiBUaGUgZm9ybWF0IGZvciBib3RoCitvZiB0aGVzZSBpcyBQSUQ6S0VSTkVMLVBSSU86VEFTSy1TVEFURS4gUmVtZW1iZXIgdGhhdCB0aGUgS0VSTkVMLVBSSU8KK2lzIHRoZSBpbnZlcnNlIG9mIHRoZSBhY3R1YWwgcHJpb3JpdHkgd2l0aCB6ZXJvICgwKSBiZWluZyB0aGUgaGlnaGVzdAorcHJpb3JpdHkgYW5kIHRoZSBuaWNlIHZhbHVlcyBzdGFydGluZyBhdCAxMDAgKG5pY2UgLTIwKS4gQmVsb3cgaXMKK2EgcXVpY2sgY2hhcnQgdG8gbWFwIHRoZSBrZXJuZWwgcHJpb3JpdHkgdG8gdXNlciBsYW5kIHByaW9yaXRpZXMuCisKKyAgS2VybmVsIHByaW9yaXR5OiAwIHRvIDk5ICAgID09PiB1c2VyIFJUIHByaW9yaXR5IDk5IHRvIDAKKyAgS2VybmVsIHByaW9yaXR5OiAxMDAgdG8gMTM5ID09PiB1c2VyIG5pY2UgLTIwIHRvIDE5CisgIEtlcm5lbCBwcmlvcml0eTogMTQwICAgICAgICA9PT4gaWRsZSB0YXNrIHByaW9yaXR5CisKK1RoZSB0YXNrIHN0YXRlcyBhcmU6CisKKyBSIC0gcnVubmluZyA6IHdhbnRzIHRvIHJ1biwgbWF5IG5vdCBhY3R1YWxseSBiZSBydW5uaW5nCisgUyAtIHNsZWVwICAgOiBwcm9jZXNzIGlzIHdhaXRpbmcgdG8gYmUgd29rZW4gdXAgKGhhbmRsZXMgc2lnbmFscykKKyBEIC0gZGVlcCBzbGVlcCA6IHByb2Nlc3MgbXVzdCBiZSB3b2tlbiB1cCAoaWdub3JlcyBzaWduYWxzKQorIFQgLSBzdG9wcGVkIDogcHJvY2VzcyBzdXNwZW5kZWQKKyB0IC0gdHJhY2VkICA6IHByb2Nlc3MgaXMgYmVpbmcgdHJhY2VkICh3aXRoIHNvbWV0aGluZyBsaWtlIGdkYikKKyBaIC0gem9tYmllICA6IHByb2Nlc3Mgd2FpdGluZyB0byBiZSBjbGVhbmVkIHVwCisgWCAtIHVua25vd24KKworCitmdHJhY2VfZW5hYmxlZAorLS0tLS0tLS0tLS0tLS0KKworVGhlIGZvbGxvd2luZyB0cmFjZXJzIGdpdmUgZGlmZmVyZW50IG91dHB1dCBkZXBlbmRpbmcgb24gd2hldGhlcgorb3Igbm90IHRoZSBzeXNjdGwgZnRyYWNlX2VuYWJsZWQgaXMgc2V0LiBUbyBzZXQgZnRyYWNlX2VuYWJsZWQsCitvbmUgY2FuIGVpdGhlciB1c2UgdGhlIHN5c2N0bCBmdW5jdGlvbiBvciBzZXQgaXQgdmlhIHRoZSBwcm9jCitmaWxlIHN5c3RlbSBpbnRlcmZhY2UuCisKKyAgc3lzY3RsIGtlcm5lbC5mdHJhY2VfZW5hYmxlZD0xCisKKyBvcgorCisgIGVjaG8gMSA+IC9wcm9jL3N5cy9rZXJuZWwvZnRyYWNlX2VuYWJsZWQKKworVG8gZGlzYWJsZSBmdHJhY2VfZW5hYmxlZCBzaW1wbHkgcmVwbGFjZSB0aGUgJzEnIHdpdGggJzAnIGluCit0aGUgYWJvdmUgY29tbWFuZHMuCisKK1doZW4gZnRyYWNlX2VuYWJsZWQgaXMgc2V0IHRoZSB0cmFjZXJzIHdpbGwgYWxzbyByZWNvcmQgdGhlIGZ1bmN0aW9ucwordGhhdCBhcmUgd2l0aGluIHRoZSB0cmFjZS4gVGhlIGRlc2NyaXB0aW9ucyBvZiB0aGUgdHJhY2Vycword2lsbCBhbHNvIHNob3cgYW4gZXhhbXBsZSB3aXRoIGZ0cmFjZSBlbmFibGVkLgorCisKK2lycXNvZmYKKy0tLS0tLS0KKworV2hlbiBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgdGhlIENQVSBjYW4gbm90IHJlYWN0IHRvIGFueSBvdGhlcgorZXh0ZXJuYWwgZXZlbnQgKGJlc2lkZXMgTk1JcyBhbmQgU01JcykuIFRoaXMgcHJldmVudHMgdGhlIHRpbWVyCitpbnRlcnJ1cHQgZnJvbSB0cmlnZ2VyaW5nIG9yIHRoZSBtb3VzZSBpbnRlcnJ1cHQgZnJvbSBsZXR0aW5nIHRoZQora2VybmVsIGtub3cgb2YgYSBuZXcgbW91c2UgZXZlbnQuIFRoZSByZXN1bHQgaXMgYSBsYXRlbmN5IHdpdGggdGhlCityZWFjdGlvbiB0aW1lLgorCitUaGUgaXJxc29mZiB0cmFjZXIgdHJhY2tzIHRoZSB0aW1lIGludGVycnVwdHMgYXJlIGRpc2FibGVkIHRvIHRoZSB0aW1lCit0aGV5IGFyZSByZS1lbmFibGVkLiBXaGVuIGEgbmV3IG1heGltdW0gbGF0ZW5jeSBpcyBoaXQsIGl0IHNhdmVzIG9mZgordGhlIHRyYWNlIHNvIHRoYXQgaXQgbWF5IGJlIHJldHJpZXZlZCBhdCBhIGxhdGVyIHRpbWUuIEV2ZXJ5IHRpbWUgYQorbmV3IG1heGltdW0gaW4gcmVhY2hlZCwgdGhlIG9sZCBzYXZlZCB0cmFjZSBpcyBkaXNjYXJkZWQgYW5kIHRoZSBuZXcKK3RyYWNlIGlzIHNhdmVkLgorCitUbyByZXNldCB0aGUgbWF4aW11bSwgZWNobyAwIGludG8gdHJhY2luZ19tYXhfbGF0ZW5jeS4gSGVyZSdzIGFuCitleGFtcGxlOgorCisgIyBlY2hvIGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBpcnFzb2ZmCisjCitpcnFzb2ZmIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNiB1cywgIzMvMywgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBiYXNoLTQyNjkgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBjb3B5X3BhZ2VfcmFuZ2UKKyA9PiBlbmRlZCBhdDogICBjb3B5X3BhZ2VfcmFuZ2UKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICBiYXNoLTQyNjkgIDEuLi4xICAgIDB1cys6IF9zcGluX2xvY2sgKGNvcHlfcGFnZV9yYW5nZSkKKyAgICBiYXNoLTQyNjkgIDEuLi4xICAgIDd1cyA6IF9zcGluX3VubG9jayAoY29weV9wYWdlX3JhbmdlKQorICAgIGJhc2gtNDI2OSAgMS4uLjIgICAgN3VzIDogdHJhY2VfcHJlZW1wdF9vbiAoY29weV9wYWdlX3JhbmdlKQorCisKK3ZpbTpmdD1oZWxwCisKK0hlcmUgd2Ugc2VlIHRoYXQgdGhhdCB3ZSBoYWQgYSBsYXRlbmN5IG9mIDYgbWljcm9zZWNzICh3aGljaCBpcwordmVyeSBnb29kKS4gVGhlIHNwaW5fbG9jayBpbiBjb3B5X3BhZ2VfcmFuZ2UgZGlzYWJsZWQgaW50ZXJydXB0cy4KK1RoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDYgYW5kIHRoZSBkaXNwbGF5ZWQgdGltZXN0YW1wIDd1cyBpcworYmVjYXVzZSB0aGUgY2xvY2sgbXVzdCBoYXZlIGluY3JlbWVudGVkIGJldHdlZW4gdGhlIHRpbWUgb2YgcmVjb3JkaW5nCit0aGUgbWF4IGxhdGVuY3kgYW5kIHJlY29yZGluZyB0aGUgZnVuY3Rpb24gdGhhdCBoYWQgdGhhdCBsYXRlbmN5LgorCitOb3RlIHRoZSBhYm92ZSBoYWQgZnRyYWNlX2VuYWJsZWQgbm90IHNldC4gSWYgd2Ugc2V0IHRoZSBmdHJhY2VfZW5hYmxlZCwKK3dlIGdldCBhIG11Y2ggbGFyZ2VyIG91dHB1dDoKKworIyB0cmFjZXI6IGlycXNvZmYKKyMKK2lycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA1MCB1cywgIzEwMS8xMDEsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogbHMtNDMzOSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwKKyA9PiBlbmRlZCBhdDogICBfX2FsbG9jX3BhZ2VzX2ludGVybmFsCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgICBscy00MzM5ICAwLi4uMSAgICAwdXMrOiBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0IChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgM3VzIDogcm1xdWV1ZV9idWxrIChnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0KQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgM3VzIDogX3NwaW5fbG9jayAocm1xdWV1ZV9idWxrKQorICAgICAgbHMtNDMzOSAgMGQuLjEgICAgNHVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgICBscy00MzM5ICAwZC4uMiAgICA0dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDV1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgNXVzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgICA2dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDZ1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICAgN3VzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgICA3dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgIDh1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorWy4uLl0KKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDZ1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0N3VzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ3dXMgOiBfX3JtcXVldWUgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDh1cyA6IF9fcm1xdWV1ZV9zbWFsbGVzdCAoX19ybXF1ZXVlKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA0OHVzIDogX19tb2Rfem9uZV9wYWdlX3N0YXRlIChfX3JtcXVldWVfc21hbGxlc3QpCisgICAgICBscy00MzM5ICAwZC4uMiAgIDQ5dXMgOiBfc3Bpbl91bmxvY2sgKHJtcXVldWVfYnVsaykKKyAgICAgIGxzLTQzMzkgIDBkLi4yICAgNDl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChfc3Bpbl91bmxvY2spCisgICAgICBscy00MzM5ICAwZC4uMSAgIDUwdXMgOiBnZXRfcGFnZV9mcm9tX2ZyZWVsaXN0IChfX2FsbG9jX3BhZ2VzX2ludGVybmFsKQorICAgICAgbHMtNDMzOSAgMGQuLjIgICA1MXVzIDogdHJhY2VfaGFyZGlycXNfb24gKF9fYWxsb2NfcGFnZXNfaW50ZXJuYWwpCisKKwordmltOmZ0PWhlbHAKKworCitIZXJlIHdlIHRyYWNlZCBhIDUwIG1pY3Jvc2Vjb25kIGxhdGVuY3kuIEJ1dCB3ZSBhbHNvIHNlZSBhbGwgdGhlCitmdW5jdGlvbnMgdGhhdCB3ZXJlIGNhbGxlZCBkdXJpbmcgdGhhdCB0aW1lLiBOb3RlIHRoYXQgYnkgZW5hYmxpbmcKK2Z1bmN0aW9uIHRyYWNpbmcsIHdlIGVuZHVyZSBhbiBhZGRlZCBvdmVyaGVhZC4gVGhpcyBvdmVyaGVhZCBtYXkKK2V4dGVuZCB0aGUgbGF0ZW5jeSB0aW1lcy4gQnV0IG5ldmVydGhlbGVzcywgdGhpcyB0cmFjZSBoYXMgcHJvdmlkZWQKK3NvbWUgdmVyeSBoZWxwZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4KKworCitwcmVlbXB0b2ZmCistLS0tLS0tLS0tCisKK1doZW4gcHJlZW1wdGlvbiBpcyBkaXNhYmxlZCwgd2UgbWF5IGJlIGFibGUgdG8gcmVjZWl2ZSBpbnRlcnJ1cHRzIGJ1dAordGhlIHRhc2sgY2Fubm90IGJlIHByZWVtcHRlZCBhbmQgYSBoaWdoZXIgcHJpb3JpdHkgdGFzayBtdXN0IHdhaXQKK2ZvciBwcmVlbXB0aW9uIHRvIGJlIGVuYWJsZWQgYWdhaW4gYmVmb3JlIGl0IGNhbiBwcmVlbXB0IGEgbG93ZXIKK3ByaW9yaXR5IHRhc2suCisKK1RoZSBwcmVlbXB0b2ZmIHRyYWNlciB0cmFjZXMgdGhlIHBsYWNlcyB0aGF0IGRpc2FibGUgcHJlZW1wdGlvbi4KK0xpa2UgdGhlIGlycXNvZmYsIGl0IHJlY29yZHMgdGhlIG1heGltdW0gbGF0ZW5jeSB0aGF0IHByZWVtcHRpb24KK3dhcyBkaXNhYmxlZC4gVGhlIGNvbnRyb2wgb2YgcHJlZW1wdG9mZiBpcyBtdWNoIGxpa2UgdGhlIGlycXNvZmYuCisKKyAjIGVjaG8gcHJlZW1wdG9mZiA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGxzIC1sdHIKKyBbLi4uXQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvbGF0ZW5jeV90cmFjZQorIyB0cmFjZXI6IHByZWVtcHRvZmYKKyMKK3ByZWVtcHRvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAyOSB1cywgIzMvMywgQ1BVIzAgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzc2hkLTQyNjEgKHVpZDowIG5pY2U6MCBwb2xpY3k6MCBydF9wcmlvOjApCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyA9PiBzdGFydGVkIGF0OiBkb19JUlEKKyA9PiBlbmRlZCBhdDogICBfX2RvX3NvZnRpcnEKKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KKyAgICBzc2hkLTQyNjEgIDBkLmguICAgIDB1cys6IGlycV9lbnRlciAoZG9fSVJRKQorICAgIHNzaGQtNDI2MSAgMGQucy4gICAyOXVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuczEgICAzMHVzIDogdHJhY2VfcHJlZW1wdF9vbiAoX19kb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKK1RoaXMgaGFzIHNvbWUgbW9yZSBjaGFuZ2VzLiBQcmVlbXB0aW9uIHdhcyBkaXNhYmxlZCB3aGVuIGFuIGludGVycnVwdAorY2FtZSBpbiAobm90aWNlIHRoZSAnaCcpLCBhbmQgd2FzIGVuYWJsZWQgd2hpbGUgZG9pbmcgYSBzb2Z0aXJxLgorKG5vdGljZSB0aGUgJ3MnKS4gQnV0IHdlIGFsc28gc2VlIHRoYXQgaW50ZXJydXB0cyBoYXZlIGJlZW4gZGlzYWJsZWQKK3doZW4gZW50ZXJpbmcgdGhlIHByZWVtcHQgb2ZmIHNlY3Rpb24gYW5kIGxlYXZpbmcgaXQgKHRoZSAnZCcpLgorV2UgZG8gbm90IGtub3cgaWYgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQgaW4gdGhlIG1lYW4gdGltZS4KKworIyB0cmFjZXI6IHByZWVtcHRvZmYKKyMKK3ByZWVtcHRvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA2MyB1cywgIzg3Lzg3LCBDUFUjMCB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNzaGQtNDI2MSAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IHJlbW92ZV93YWl0X3F1ZXVlCisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgc3NoZC00MjYxICAwZC4uMSAgICAwdXMgOiBfc3Bpbl9sb2NrX2lycXNhdmUgKHJlbW92ZV93YWl0X3F1ZXVlKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMXVzIDogX3NwaW5fdW5sb2NrX2lycXJlc3RvcmUgKHJlbW92ZV93YWl0X3F1ZXVlKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogZG9fSVJRIChjb21tb25faW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgMnVzIDogaXJxX2VudGVyIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC4uMSAgICAydXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAgM3VzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgIDN1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oLiAgICA0dXMgOiBoYW5kbGVfZmFzdGVvaV9pcnEgKGRvX0lSUSkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDEydXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX3NwaW5fbG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTJ1cyA6IGFja19pb2FwaWNfcXVpcmtfaXJxIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDEzdXMgOiBtb3ZlX25hdGl2ZV9pcnEgKGFja19pb2FwaWNfcXVpcmtfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxM3VzIDogX3NwaW5fdW5sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDE0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAxNHVzIDogaXJxX2V4aXQgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMTV1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTV1cyA6IGRvX3NvZnRpcnEgKGlycV9leGl0KQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNXVzIDogX19kb19zb2Z0aXJxIChkb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAxNnVzIDogX19sb2NhbF9iaF9kaXNhYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC4uLiAgIDE2dXMrOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczQgICAyMHVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMjF1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDIxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnM2ICAgNDF1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNiAgIDQydXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorICAgIHNzaGQtNDI2MSAgMGQuczcgICA0MnVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM1ICAgNDN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQzdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlX2lwKQorICAgIHNzaGQtNDI2MSAgMGQuczYgICA0NHVzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM1ICAgNDR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCisgICAgc3NoZC00MjYxICAwZC5zNSAgIDQ1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobG9jYWxfYmhfZW5hYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMuICAgNjN1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgNjR1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCitUaGUgYWJvdmUgaXMgYW4gZXhhbXBsZSBvZiB0aGUgcHJlZW1wdG9mZiB0cmFjZSB3aXRoIGZ0cmFjZV9lbmFibGVkCitzZXQuIEhlcmUgd2Ugc2VlIHRoYXQgaW50ZXJydXB0cyB3ZXJlIGRpc2FibGVkIHRoZSBlbnRpcmUgdGltZS4KK1RoZSBpcnFfZW50ZXIgY29kZSBsZXRzIHVzIGtub3cgdGhhdCB3ZSBlbnRlcmVkIGFuIGludGVycnVwdCAnaCcuCitCZWZvcmUgdGhhdCwgdGhlIGZ1bmN0aW9ucyBiZWluZyB0cmFjZWQgc3RpbGwgc2hvdyB0aGF0IGl0IGlzIG5vdAoraW4gYW4gaW50ZXJydXB0LCBidXQgd2UgY2FuIHNlZSBieSB0aGUgZnVuY3Rpb25zIHRoZW1zZWx2ZXMgdGhhdAordGhpcyBpcyBub3QgdGhlIGNhc2UuCisKK05vdGljZSB0aGF0IHRoZSBfX2RvX3NvZnRpcnEgd2hlbiBjYWxsZWQgZG9lc24ndCBoYXZlIGEgcHJlZW1wdF9jb3VudC4KK0l0IG1heSBzZWVtIHRoYXQgd2UgbWlzc2VkIGEgcHJlZW1wdCBlbmFibGVkLiBXaGF0IHJlYWxseSBoYXBwZW5lZAoraXMgdGhhdCB0aGUgcHJlZW1wdCBjb3VudCBpcyBoZWxkIG9uIHRoZSB0aHJlYWRzIHN0YWNrIGFuZCB3ZQorc3dpdGNoZWQgdG8gdGhlIHNvZnRpcnEgc3RhY2sgKDRLIHN0YWNrcyBpbiBlZmZlY3QpLiBUaGUgY29kZQorZG9lcyBub3QgY29weSB0aGUgcHJlZW1wdCBjb3VudCwgYnV0IGJlY2F1c2UgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsCit3ZSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IGl0LiBIYXZpbmcgYSB0cmFjZXIgbGlrZSB0aGlzIGlzIGdvb2QKK3RvIGxldCBwZW9wbGUga25vdyB3aGF0IHJlYWxseSBoYXBwZW5zIGluc2lkZSB0aGUga2VybmVsLgorCisKK3ByZWVtcHRpcnFzb2ZmCistLS0tLS0tLS0tLS0tLQorCitLbm93aW5nIHRoZSBsb2NhdGlvbnMgdGhhdCBoYXZlIGludGVycnVwdHMgZGlzYWJsZWQgb3IgcHJlZW1wdGlvbgorZGlzYWJsZWQgZm9yIHRoZSBsb25nZXN0IHRpbWVzIGlzIGhlbHBmdWwuIEJ1dCBzb21ldGltZXMgd2Ugd291bGQKK2xpa2UgdG8ga25vdyB3aGVuIGVpdGhlciBwcmVlbXB0aW9uIGFuZC9vciBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZC4KKworVGhlIGZvbGxvd2luZyBjb2RlOgorCisgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKKyAgICBjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19vZmYoKTsKKyAgICBwcmVlbXB0X2Rpc2FibGUoKTsKKyAgICBjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19hbmRfcHJlZW1wdGlvbl9vZmYoKTsKKyAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CisgICAgY2FsbF9mdW5jdGlvbl93aXRoX3ByZWVtcHRpb25fb2ZmKCk7CisgICAgcHJlZW1wdF9lbmFibGUoKTsKKworVGhlIGlycXNvZmYgdHJhY2VyIHdpbGwgcmVjb3JkIHRoZSB0b3RhbCBsZW5ndGggb2YKK2NhbGxfZnVuY3Rpb25fd2l0aF9pcnFzX29mZigpIGFuZAorY2FsbF9mdW5jdGlvbl93aXRoX2lycXNfYW5kX3ByZWVtcHRpb25fb2ZmKCkuCisKK1RoZSBwcmVlbXB0b2ZmIHRyYWNlciB3aWxsIHJlY29yZCB0aGUgdG90YWwgbGVuZ3RoIG9mCitjYWxsX2Z1bmN0aW9uX3dpdGhfaXJxc19hbmRfcHJlZW1wdGlvbl9vZmYoKSBhbmQKK2NhbGxfZnVuY3Rpb25fd2l0aF9wcmVlbXB0aW9uX29mZigpLgorCitCdXQgbmVpdGhlciB3aWxsIHRyYWNlIHRoZSB0aW1lIHRoYXQgaW50ZXJydXB0cyBhbmQvb3IgcHJlZW1wdGlvbgoraXMgZGlzYWJsZWQuIFRoaXMgdG90YWwgdGltZSBpcyB0aGUgdGltZSB0aGF0IHdlIGNhbiBub3Qgc2NoZWR1bGUuCitUbyByZWNvcmQgdGhpcyB0aW1lLCB1c2UgdGhlIHByZWVtcHRpcnFzb2ZmIHRyYWNlci4KKworQWdhaW4sIHVzaW5nIHRoaXMgdHJhY2UgaXMgbXVjaCBsaWtlIHRoZSBpcnFzb2ZmIGFuZCBwcmVlbXB0b2ZmIHRyYWNlcnMuCisKKyAjIGVjaG8gcHJlZW1wdGlycXNvZmYgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBscyAtbHRyCisgWy4uLl0KKyAjIGVjaG8gMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNpbmdfZW5hYmxlZAorICMgY2F0IC9kZWJ1Zy90cmFjaW5nL2xhdGVuY3lfdHJhY2UKKyMgdHJhY2VyOiBwcmVlbXB0aXJxc29mZgorIworcHJlZW1wdGlycXNvZmYgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiAyOTMgdXMsICMzLzMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogbHMtNDg2MCAodWlkOjAgbmljZTowIHBvbGljeTowIHJ0X3ByaW86MCkKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorID0+IHN0YXJ0ZWQgYXQ6IGFwaWNfdGltZXJfaW50ZXJydXB0CisgPT4gZW5kZWQgYXQ6ICAgX19kb19zb2Z0aXJxCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgICAgICBscy00ODYwICAwZC4uLiAgICAwdXMhOiB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsgKGFwaWNfdGltZXJfaW50ZXJydXB0KQorICAgICAgbHMtNDg2MCAgMGQucy4gIDI5NHVzIDogX2xvY2FsX2JoX2VuYWJsZSAoX19kb19zb2Z0aXJxKQorICAgICAgbHMtNDg2MCAgMGQuczEgIDI5NHVzIDogdHJhY2VfcHJlZW1wdF9vbiAoX19kb19zb2Z0aXJxKQorCisKK3ZpbTpmdD1oZWxwCisKKworVGhlIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayBpcyBjYWxsZWQgZnJvbSBhc3NlbWJseSBvbiB4ODYgd2hlbgoraW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgaW4gdGhlIGFzc2VtYmx5IGNvZGUuIFdpdGhvdXQgdGhlIGZ1bmN0aW9uCit0cmFjaW5nLCB3ZSBkb24ndCBrbm93IGlmIGludGVycnVwdHMgd2VyZSBlbmFibGVkIHdpdGhpbiB0aGUgcHJlZW1wdGlvbgorcG9pbnRzLiBXZSBkbyBzZWUgdGhhdCBpdCBzdGFydGVkIHdpdGggcHJlZW1wdGlvbiBlbmFibGVkLgorCitIZXJlIGlzIGEgdHJhY2Ugd2l0aCBmdHJhY2VfZW5hYmxlZCBzZXQ6CisKKworIyB0cmFjZXI6IHByZWVtcHRpcnFzb2ZmCisjCitwcmVlbXB0aXJxc29mZiBsYXRlbmN5IHRyYWNlIHYxLjEuNSBvbiAyLjYuMjYtcmM4CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGxhdGVuY3k6IDEwNSB1cywgIzE4My8xODMsIENQVSMwIHwgKE06cHJlZW1wdCBWUDowLCBLUDowLCBTUDowIEhQOjAgI1A6MikKKyAgICAtLS0tLS0tLS0tLS0tLS0tLQorICAgIHwgdGFzazogc3NoZC00MjYxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjAgcnRfcHJpbzowKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgPT4gc3RhcnRlZCBhdDogd3JpdGVfY2hhbgorID0+IGVuZGVkIGF0OiAgIF9fZG9fc29mdGlycQorCisjICAgICAgICAgICAgICAgIF8tLS0tLS09PiBDUFUjCisjICAgICAgICAgICAgICAgLyBfLS0tLS09PiBpcnFzLW9mZgorIyAgICAgICAgICAgICAgfCAvIF8tLS0tPT4gbmVlZC1yZXNjaGVkCisjICAgICAgICAgICAgICB8fCAvIF8tLS09PiBoYXJkaXJxL3NvZnRpcnEKKyMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGgKKyMgICAgICAgICAgICAgIHx8fHwgLworIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5CisjICBjbWQgICAgIHBpZCB8fHx8fCB0aW1lICB8ICAgY2FsbGVyCisjICAgICBcICAgLyAgICB8fHx8fCAgIFwgICB8ICAgLworICAgICAgbHMtNDQ3MyAgMC5OLi4gICAgMHVzIDogcHJlZW1wdF9zY2hlZHVsZSAod3JpdGVfY2hhbikKKyAgICAgIGxzLTQ0NzMgIDBkTi4xICAgIDF1cyA6IF9zcGluX2xvY2sgKHNjaGVkdWxlKQorICAgICAgbHMtNDQ3MyAgMGROLjEgICAgMnVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2spCisgICAgICBscy00NDczICAwZC4uMiAgICAydXMgOiBwdXRfcHJldl90YXNrX2ZhaXIgKHNjaGVkdWxlKQorWy4uLl0KKyAgICAgIGxzLTQ0NzMgIDBkLi4yICAgMTN1cyA6IHNldF9ub3JtYWxpemVkX3RpbWVzcGVjIChrdGltZV9nZXRfdHMpCisgICAgICBscy00NDczICAwZC4uMiAgIDEzdXMgOiBfX3N3aXRjaF90byAoc2NoZWR1bGUpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE0dXMgOiBmaW5pc2hfdGFza19zd2l0Y2ggKHNjaGVkdWxlKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNHVzIDogX3NwaW5fdW5sb2NrX2lycSAoZmluaXNoX3Rhc2tfc3dpdGNoKQorICAgIHNzaGQtNDI2MSAgMGQuLjEgICAxNXVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2tfaXJxc2F2ZSkKKyAgICBzc2hkLTQyNjEgIDBkLi4yICAgMTZ1cyA6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIChocnRpY2tfc2V0KQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxNnVzIDogZG9fSVJRIChjb21tb25faW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxN3VzIDogaXJxX2VudGVyIChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC4uMiAgIDE3dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuLjIgICAxOHVzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLmgyICAgMTh1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5oLiAgIDE4dXMgOiBoYW5kbGVfZmFzdGVvaV9pcnEgKGRvX0lSUSkKKyAgICBzc2hkLTQyNjEgIDBkLmguICAgMTl1cyA6IF9zcGluX2xvY2sgKGhhbmRsZV9mYXN0ZW9pX2lycSkKKyAgICBzc2hkLTQyNjEgIDBkLmguICAgMTl1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyMHVzIDogX3NwaW5fdW5sb2NrIChoYW5kbGVfZmFzdGVvaV9pcnEpCisgICAgc3NoZC00MjYxICAwZC5oMSAgIDIwdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX3NwaW5fdW5sb2NrKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLmgxICAgMjh1cyA6IF9zcGluX3VubG9jayAoaGFuZGxlX2Zhc3Rlb2lfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuaDEgICAyOXVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKKyAgICBzc2hkLTQyNjEgIDBkLmgyICAgMjl1cyA6IGlycV9leGl0IChkb19JUlEpCisgICAgc3NoZC00MjYxICAwZC5oMiAgIDI5dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC4uMyAgIDMwdXMgOiBkb19zb2Z0aXJxIChpcnFfZXhpdCkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzB1cyA6IF9fZG9fc29mdGlycSAoZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLi4uICAgMzF1cyA6IF9fbG9jYWxfYmhfZGlzYWJsZSAoX19kb19zb2Z0aXJxKQorICAgIHNzaGQtNDI2MSAgMGQuLi4gICAzMXVzKzogYWRkX3ByZWVtcHRfY291bnQgKF9fbG9jYWxfYmhfZGlzYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgMzR1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2xvY2FsX2JoX2Rpc2FibGUpCitbLi4uXQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0M3VzIDogc3ViX3ByZWVtcHRfY291bnQgKGxvY2FsX2JoX2VuYWJsZV9pcCkKKyAgICBzc2hkLTQyNjEgIDBkLnM0ICAgNDR1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChsb2NhbF9iaF9lbmFibGVfaXApCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDQ0dXMgOiBzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQgKGFwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NXVzIDogaXJxX2VudGVyIChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDQ1dXMgOiBpZGxlX2NwdSAoaXJxX2VudGVyKQorICAgIHNzaGQtNDI2MSAgMGQuczMgICA0NnVzIDogYWRkX3ByZWVtcHRfY291bnQgKGlycV9lbnRlcikKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgNDZ1cyA6IGlkbGVfY3B1IChpcnFfZW50ZXIpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDQ3dXMgOiBocnRpbWVyX2ludGVycnVwdCAoc21wX2FwaWNfdGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA0N3VzIDoga3RpbWVfZ2V0IChocnRpbWVyX2ludGVycnVwdCkKK1suLi5dCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgxdXMgOiB0aWNrX3Byb2dyYW1fZXZlbnQgKGhydGltZXJfaW50ZXJydXB0KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4MnVzIDoga3RpbWVfZ2V0ICh0aWNrX3Byb2dyYW1fZXZlbnQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgydXMgOiBrdGltZV9nZXRfdHMgKGt0aW1lX2dldCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODN1cyA6IGdldG5zdGltZW9mZGF5IChrdGltZV9nZXRfdHMpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDgzdXMgOiBzZXRfbm9ybWFsaXplZF90aW1lc3BlYyAoa3RpbWVfZ2V0X3RzKQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NHVzIDogY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCAodGlja19wcm9ncmFtX2V2ZW50KQorICAgIHNzaGQtNDI2MSAgMGQuSDMgICA4NHVzIDogbGFwaWNfbmV4dF9ldmVudCAoY2xvY2tldmVudHNfcHJvZ3JhbV9ldmVudCkKKyAgICBzc2hkLTQyNjEgIDBkLkgzICAgODV1cyA6IGlycV9leGl0IChzbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQpCisgICAgc3NoZC00MjYxICAwZC5IMyAgIDg1dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC5zNCAgIDg2dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoaXJxX2V4aXQpCisgICAgc3NoZC00MjYxICAwZC5zMyAgIDg2dXMgOiBhZGRfcHJlZW1wdF9jb3VudCAoX19sb2NhbF9iaF9kaXNhYmxlKQorWy4uLl0KKyAgICBzc2hkLTQyNjEgIDBkLnMxICAgOTh1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChuZXRfcnhfYWN0aW9uKQorICAgIHNzaGQtNDI2MSAgMGQucy4gICA5OXVzIDogYWRkX3ByZWVtcHRfY291bnQgKF9zcGluX2xvY2tfaXJxKQorICAgIHNzaGQtNDI2MSAgMGQuczEgICA5OXVzKzogX3NwaW5fdW5sb2NrX2lycSAocnVuX3RpbWVyX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA0dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCisgICAgc3NoZC00MjYxICAwZC5zLiAgMTA0dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX2xvY2FsX2JoX2VuYWJsZSkKKyAgICBzc2hkLTQyNjEgIDBkLnMuICAxMDV1cyA6IF9sb2NhbF9iaF9lbmFibGUgKF9fZG9fc29mdGlycSkKKyAgICBzc2hkLTQyNjEgIDBkLnMxICAxMDV1cyA6IHRyYWNlX3ByZWVtcHRfb24gKF9fZG9fc29mdGlycSkKKworCitUaGlzIGlzIGEgdmVyeSBpbnRlcmVzdGluZyB0cmFjZS4gSXQgc3RhcnRlZCB3aXRoIHRoZSBwcmVlbXB0aW9uIG9mCit0aGUgbHMgdGFzay4gV2Ugc2VlIHRoYXQgdGhlIHRhc2sgaGFkIHRoZSAibmVlZF9yZXNjaGVkIiBiaXQgc2V0Cit3aXRoIHRoZSAnTicgaW4gdGhlIHRyYWNlLiAgSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQgaW4gdGhlIHNwaW5fbG9jaworYW5kIHRoZSB0cmFjZSBzdGFydGVkLiBXZSBzZWUgdGhhdCBhIHNjaGVkdWxlIHRvb2sgcGxhY2UgdG8gcnVuCitzc2hkLiAgV2hlbiB0aGUgaW50ZXJydXB0cyB3ZXJlIGVuYWJsZWQsIHdlIHRvb2sgYW4gaW50ZXJydXB0LgorT24gcmV0dXJuIGZyb20gdGhlIGludGVycnVwdCBoYW5kbGVyLCB0aGUgc29mdGlycSByYW4uIFdlIHRvb2sgYW5vdGhlcgoraW50ZXJydXB0IHdoaWxlIHJ1bm5pbmcgdGhlIHNvZnRpcnEgYXMgd2Ugc2VlIHdpdGggdGhlIGNhcGl0YWwgJ0gnLgorCisKK3dha2V1cAorLS0tLS0tCisKK0luIFJlYWwtVGltZSBlbnZpcm9ubWVudCBpdCBpcyB2ZXJ5IGltcG9ydGFudCB0byBrbm93IHRoZSB3YWtldXAKK3RpbWUgaXQgdGFrZXMgZm9yIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgdGhhdCB3YWtlcyB1cCB0byB0aGUKK3RpbWUgaXQgZXhlY3V0ZXMuIFRoaXMgaXMgYWxzbyBrbm93biBhcyAic2NoZWR1bGUgbGF0ZW5jeSIuCitJIHN0cmVzcyB0aGUgcG9pbnQgdGhhdCB0aGlzIGlzIGFib3V0IFJUIHRhc2tzLiBJdCBpcyBhbHNvIGltcG9ydGFudAordG8ga25vdyB0aGUgc2NoZWR1bGluZyBsYXRlbmN5IG9mIG5vbi1SVCB0YXNrcywgYnV0IHRoZSBhdmVyYWdlCitzY2hlZHVsZSBsYXRlbmN5IGlzIGJldHRlciBmb3Igbm9uLVJUIHRhc2tzLiBUb29scyBsaWtlCitMYXRlbmN5VG9wIGFyZSBtb3JlIGFwcHJvcHJpYXRlIGZvciBzdWNoIG1lYXN1cmVtZW50cy4KKworUmVhbC1UaW1lIGVudmlyb25tZW50cyBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgd29yc3QgY2FzZSBsYXRlbmN5LgorVGhhdCBpcyB0aGUgbG9uZ2VzdCBsYXRlbmN5IGl0IHRha2VzIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuLCBhbmQKK25vdCB0aGUgYXZlcmFnZS4gV2UgY2FuIGhhdmUgYSB2ZXJ5IGZhc3Qgc2NoZWR1bGVyIHRoYXQgbWF5IG9ubHkKK2hhdmUgYSBsYXJnZSBsYXRlbmN5IG9uY2UgaW4gYSB3aGlsZSwgYnV0IHRoYXQgd291bGQgbm90IHdvcmsgd2VsbAord2l0aCBSZWFsLVRpbWUgdGFza3MuICBUaGUgd2FrZXVwIHRyYWNlciB3YXMgZGVzaWduZWQgdG8gcmVjb3JkCit0aGUgd29yc3QgY2FzZSB3YWtldXBzIG9mIFJUIHRhc2tzLiBOb24tUlQgdGFza3MgYXJlIG5vdCByZWNvcmRlZAorYmVjYXVzZSB0aGUgdHJhY2VyIG9ubHkgcmVjb3JkcyBvbmUgd29yc3QgY2FzZSBhbmQgdHJhY2luZyBub24tUlQKK3Rhc2tzIHRoYXQgYXJlIHVucHJlZGljdGFibGUgd2lsbCBvdmVyd3JpdGUgdGhlIHdvcnN0IGNhc2UgbGF0ZW5jeQorb2YgUlQgdGFza3MuCisKK1NpbmNlIHRoaXMgdHJhY2VyIG9ubHkgZGVhbHMgd2l0aCBSVCB0YXNrcywgd2Ugd2lsbCBydW4gdGhpcyBzbGlnaHRseQorZGlmZmVyZW50bHkgdGhhbiB3ZSBkaWQgd2l0aCB0aGUgcHJldmlvdXMgdHJhY2Vycy4gSW5zdGVhZCBvZiBwZXJmb3JtaW5nCithbiAnbHMnLCB3ZSB3aWxsIHJ1biAnc2xlZXAgMScgdW5kZXIgJ2NocnQnIHdoaWNoIGNoYW5nZXMgdGhlCitwcmlvcml0eSBvZiB0aGUgdGFzay4KKworICMgZWNobyB3YWtldXAgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19tYXhfbGF0ZW5jeQorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjaHJ0IC1mIDUgc2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvbGF0ZW5jeV90cmFjZQorIyB0cmFjZXI6IHdha2V1cAorIword2FrZXVwIGxhdGVuY3kgdHJhY2UgdjEuMS41IG9uIDIuNi4yNi1yYzgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbGF0ZW5jeTogNCB1cywgIzIvMiwgQ1BVIzEgfCAoTTpwcmVlbXB0IFZQOjAsIEtQOjAsIFNQOjAgSFA6MCAjUDoyKQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisgICAgfCB0YXNrOiBzbGVlcC00OTAxICh1aWQ6MCBuaWNlOjAgcG9saWN5OjEgcnRfcHJpbzo1KQorICAgIC0tLS0tLS0tLS0tLS0tLS0tCisKKyMgICAgICAgICAgICAgICAgXy0tLS0tLT0+IENQVSMKKyMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmCisjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQKKyMgICAgICAgICAgICAgIHx8IC8gXy0tLT0+IGhhcmRpcnEvc29mdGlycQorIyAgICAgICAgICAgICAgfHx8IC8gXy0tPT4gcHJlZW1wdC1kZXB0aAorIyAgICAgICAgICAgICAgfHx8fCAvCisjICAgICAgICAgICAgICB8fHx8fCAgICAgZGVsYXkKKyMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIKKyMgICAgIFwgICAvICAgIHx8fHx8ICAgXCAgIHwgICAvCisgIDxpZGxlPi0wICAgICAxZC5oNCAgICAwdXMrOiB0cnlfdG9fd2FrZV91cCAod2FrZV91cF9wcm9jZXNzKQorICA8aWRsZT4tMCAgICAgMWQuLjQgICAgNHVzIDogc2NoZWR1bGUgKGNwdV9pZGxlKQorCisKK3ZpbTpmdD1oZWxwCisKKworUnVubmluZyB0aGlzIG9uIGFuIGlkbGUgc3lzdGVtLCB3ZSBzZWUgdGhhdCBpdCBvbmx5IHRvb2sgNCBtaWNyb3NlY29uZHMKK3RvIHBlcmZvcm0gdGhlIHRhc2sgc3dpdGNoLiAgTm90ZSwgc2luY2UgdGhlIHRyYWNlIG1hcmtlciBpbiB0aGUKK3NjaGVkdWxlIGlzIGJlZm9yZSB0aGUgYWN0dWFsICJzd2l0Y2giLCB3ZSBzdG9wIHRoZSB0cmFjaW5nIHdoZW4KK3RoZSByZWNvcmRlZCB0YXNrIGlzIGFib3V0IHRvIHNjaGVkdWxlIGluLiBUaGlzIG1heSBjaGFuZ2UgaWYKK3dlIGFkZCBhIG5ldyBtYXJrZXIgYXQgdGhlIGVuZCBvZiB0aGUgc2NoZWR1bGVyLgorCitOb3RpY2UgdGhhdCB0aGUgcmVjb3JkZWQgdGFzayBpcyAnc2xlZXAnIHdpdGggdGhlIFBJRCBvZiA0OTAxIGFuZCBpdAoraGFzIGFuIHJ0X3ByaW8gb2YgNS4gVGhpcyBwcmlvcml0eSBpcyB1c2VyLXNwYWNlIHByaW9yaXR5IGFuZCBub3QKK3RoZSBpbnRlcm5hbCBrZXJuZWwgcHJpb3JpdHkuIFRoZSBwb2xpY3kgaXMgMSBmb3IgU0NIRURfRklGTyBhbmQgMgorZm9yIFNDSEVEX1JSLgorCitEb2luZyB0aGUgc2FtZSB3aXRoIGNocnQgLXIgNSBhbmQgZnRyYWNlX2VuYWJsZWQgc2V0LgorCisjIHRyYWNlcjogd2FrZXVwCisjCit3YWtldXAgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gMi42LjI2LXJjOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsYXRlbmN5OiA1MCB1cywgIzYwLzYwLCBDUFUjMSB8IChNOnByZWVtcHQgVlA6MCwgS1A6MCwgU1A6MCBIUDowICNQOjIpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKyAgICB8IHRhc2s6IHNsZWVwLTQwNjggKHVpZDowIG5pY2U6MCBwb2xpY3k6MiBydF9wcmlvOjUpCisgICAgLS0tLS0tLS0tLS0tLS0tLS0KKworIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIworIyAgICAgICAgICAgICAgIC8gXy0tLS0tPT4gaXJxcy1vZmYKKyMgICAgICAgICAgICAgIHwgLyBfLS0tLT0+IG5lZWQtcmVzY2hlZAorIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxCisjICAgICAgICAgICAgICB8fHwgLyBfLS09PiBwcmVlbXB0LWRlcHRoCisjICAgICAgICAgICAgICB8fHx8IC8KKyMgICAgICAgICAgICAgIHx8fHx8ICAgICBkZWxheQorIyAgY21kICAgICBwaWQgfHx8fHwgdGltZSAgfCAgIGNhbGxlcgorIyAgICAgXCAgIC8gICAgfHx8fHwgICBcICAgfCAgIC8KK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDB1cyA6IHRyeV90b193YWtlX3VwICh3YWtlX3VwX3Byb2Nlc3MpCitrc29mdGlycS03ICAgICAxZC5INCAgICAxdXMgOiBzdWJfcHJlZW1wdF9jb3VudCAobWFya2VyX3Byb2JlX2NiKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgMnVzIDogY2hlY2tfcHJlZW1wdF93YWtldXAgKHRyeV90b193YWtlX3VwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgM3VzIDogdXBkYXRlX2N1cnIgKGNoZWNrX3ByZWVtcHRfd2FrZXVwKQora3NvZnRpcnEtNyAgICAgMWQuSDMgICAgNHVzIDogY2FsY19kZWx0YV9taW5lICh1cGRhdGVfY3VycikKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDV1cyA6IF9fcmVzY2hlZF90YXNrIChjaGVja19wcmVlbXB0X3dha2V1cCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgzICAgIDZ1cyA6IHRhc2tfd2FrZV91cF9ydCAodHJ5X3RvX3dha2VfdXApCitrc29mdGlycS03ICAgICAxZC5IMyAgICA3dXMgOiBfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSAodHJ5X3RvX3dha2VfdXApCitbLi4uXQora3NvZnRpcnEtNyAgICAgMWQuSDIgICAxN3VzIDogaXJxX2V4aXQgKHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCkKK2tzb2Z0aXJxLTcgICAgIDFkLkgyICAgMTh1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKK2tzb2Z0aXJxLTcgICAgIDFkLnMzICAgMTl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChpcnFfZXhpdCkKK2tzb2Z0aXJxLTcgICAgIDEuLnMyICAgMjB1cyA6IHJjdV9wcm9jZXNzX2NhbGxiYWNrcyAoX19kb19zb2Z0aXJxKQorWy4uLl0KK2tzb2Z0aXJxLTcgICAgIDEuLnMyICAgMjZ1cyA6IF9fcmN1X3Byb2Nlc3NfY2FsbGJhY2tzIChyY3VfcHJvY2Vzc19jYWxsYmFja3MpCitrc29mdGlycS03ICAgICAxZC5zMiAgIDI3dXMgOiBfbG9jYWxfYmhfZW5hYmxlIChfX2RvX3NvZnRpcnEpCitrc29mdGlycS03ICAgICAxZC5zMiAgIDI4dXMgOiBzdWJfcHJlZW1wdF9jb3VudCAoX2xvY2FsX2JoX2VuYWJsZSkKK2tzb2Z0aXJxLTcgICAgIDEuTi4zICAgMjl1cyA6IHN1Yl9wcmVlbXB0X2NvdW50IChrc29mdGlycWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMwdXMgOiBfY29uZF9yZXNjaGVkIChrc29mdGlycWQpCitrc29mdGlycS03ICAgICAxLk4uMiAgIDMxdXMgOiBfX2NvbmRfcmVzY2hlZCAoX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzJ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzN1cyA6IHNjaGVkdWxlIChfX2NvbmRfcmVzY2hlZCkKK2tzb2Z0aXJxLTcgICAgIDEuTi4yICAgMzN1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDEuTi4zICAgMzR1cyA6IGhydGlja19jbGVhciAoc2NoZWR1bGUpCitrc29mdGlycS03ICAgICAxZE4uMyAgIDM1dXMgOiBfc3Bpbl9sb2NrIChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDFkTi4zICAgMzZ1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl9sb2NrKQora3NvZnRpcnEtNyAgICAgMWQuLjQgICAzN3VzIDogcHV0X3ByZXZfdGFza19mYWlyIChzY2hlZHVsZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgMzh1cyA6IHVwZGF0ZV9jdXJyIChwdXRfcHJldl90YXNrX2ZhaXIpCitbLi4uXQora3NvZnRpcnEtNyAgICAgMWQuLjUgICA0N3VzIDogX3NwaW5fdHJ5bG9jayAodHJhY2luZ19yZWNvcmRfY21kbGluZSkKK2tzb2Z0aXJxLTcgICAgIDFkLi41ICAgNDh1cyA6IGFkZF9wcmVlbXB0X2NvdW50IChfc3Bpbl90cnlsb2NrKQora3NvZnRpcnEtNyAgICAgMWQuLjYgICA0OXVzIDogX3NwaW5fdW5sb2NrICh0cmFjaW5nX3JlY29yZF9jbWRsaW5lKQora3NvZnRpcnEtNyAgICAgMWQuLjYgICA0OXVzIDogc3ViX3ByZWVtcHRfY291bnQgKF9zcGluX3VubG9jaykKK2tzb2Z0aXJxLTcgICAgIDFkLi40ICAgNTB1cyA6IHNjaGVkdWxlIChfX2NvbmRfcmVzY2hlZCkKKworVGhlIGludGVycnVwdCB3ZW50IG9mZiB3aGlsZSBydW5uaW5nIGtzb2Z0aXJxZC4gVGhpcyB0YXNrIHJ1bnMgYXQKK1NDSEVEX09USEVSLiBXaHkgZGlkbid0IHdlIHNlZSB0aGUgJ04nIHNldCBlYXJseT8gVGhpcyBtYXkgYmUKK2EgaGFybWxlc3MgYnVnIHdpdGggeDg2XzMyIGFuZCA0SyBzdGFja3MuIE9uIHg4Nl8zMiB3aXRoIDRLIHN0YWNrcworY29uZmlndXJlZCwgdGhlIGludGVycnVwdCBhbmQgc29mdGlycSBydW5zIHdpdGggdGhlaXIgb3duIHN0YWNrLgorU29tZSBpbmZvcm1hdGlvbiBpcyBoZWxkIG9uIHRoZSB0b3Agb2YgdGhlIHRhc2sncyBzdGFjayAobmVlZF9yZXNjaGVkCithbmQgcHJlZW1wdF9jb3VudCBhcmUgYm90aCBzdG9yZWQgdGhlcmUpLiBUaGUgc2V0dGluZyBvZiB0aGUgTkVFRF9SRVNDSEVECitiaXQgaXMgZG9uZSBkaXJlY3RseSB0byB0aGUgdGFzaydzIHN0YWNrLCBidXQgdGhlIHJlYWRpbmcgb2YgdGhlCitORUVEX1JFU0NIRUQgaXMgZG9uZSBieSBsb29raW5nIGF0IHRoZSBjdXJyZW50IHN0YWNrLCB3aGljaCBpbiB0aGlzIGNhc2UKK2lzIHRoZSBzdGFjayBmb3IgdGhlIGhhcmQgaW50ZXJydXB0LiBUaGlzIGhpZGVzIHRoZSBmYWN0IHRoYXQgTkVFRF9SRVNDSEVECitoYXMgYmVlbiBzZXQuIFdlIGRvbid0IHNlZSB0aGUgJ04nIHVudGlsIHdlIHN3aXRjaCBiYWNrIHRvIHRoZSB0YXNrJ3MKK2Fzc2lnbmVkIHN0YWNrLgorCitmdHJhY2UKKy0tLS0tLQorCitmdHJhY2UgaXMgbm90IG9ubHkgdGhlIG5hbWUgb2YgdGhlIHRyYWNpbmcgaW5mcmFzdHJ1Y3R1cmUsIGJ1dCBpdAoraXMgYWxzbyBhIG5hbWUgb2Ygb25lIG9mIHRoZSB0cmFjZXJzLiBUaGUgdHJhY2VyIGlzIHRoZSBmdW5jdGlvbgordHJhY2VyLiBFbmFibGluZyB0aGUgZnVuY3Rpb24gdHJhY2VyIGNhbiBiZSBkb25lIGZyb20gdGhlCitkZWJ1ZyBmaWxlIHN5c3RlbS4gTWFrZSBzdXJlIHRoZSBmdHJhY2VfZW5hYmxlZCBpcyBzZXQgb3RoZXJ3aXNlCit0aGlzIHRyYWNlciBpcyBhIG5vcC4KKworICMgc3lzY3RsIGtlcm5lbC5mdHJhY2VfZW5hYmxlZD0xCisgIyBlY2hvIGZ0cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIHVzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTM6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE0OiBfc3Bpbl91bmxvY2tfaXJxIDwtZmluaXNoX3Rhc2tfc3dpdGNoCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE0OiBzdWJfcHJlZW1wdF9jb3VudCA8LV9zcGluX3VubG9ja19pcnEKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTU6IGhydGlja19zZXQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNTogX3NwaW5fbG9ja19pcnFzYXZlIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNjogYWRkX3ByZWVtcHRfY291bnQgPC1fc3Bpbl9sb2NrX2lycXNhdmUKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgIDEyMy42Mzg3MTY6IF9zcGluX3VubG9ja19pcnFyZXN0b3JlIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNzogc3ViX3ByZWVtcHRfY291bnQgPC1fc3Bpbl91bmxvY2tfaXJxcmVzdG9yZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxNzogaHJ0aWNrX2NsZWFyIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxODogc3ViX3ByZWVtcHRfY291bnQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcxODogc3ViX3ByZWVtcHRfY291bnQgPC1wcmVlbXB0X3NjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE5OiB3YWl0X2Zvcl9jb21wbGV0aW9uIDwtX19zdG9wX21hY2hpbmVfcnVuCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzE5OiB3YWl0X2Zvcl9jb21tb24gPC13YWl0X2Zvcl9jb21wbGV0aW9uCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gICAxMjMuNjM4NzIwOiBfc3Bpbl9sb2NrX2lycSA8LXdhaXRfZm9yX2NvbW1vbgorICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAgMTIzLjYzODcyMDogYWRkX3ByZWVtcHRfY291bnQgPC1fc3Bpbl9sb2NrX2lycQorWy4uLl0KKworCitOb3RlOiBJdCBpcyBzb21ldGltZXMgYmV0dGVyIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRyYWNpbmcgZGlyZWN0bHkgZnJvbQorYSBwcm9ncmFtLCBiZWNhdXNlIHRoZSBidWZmZXIgbWF5IGJlIG92ZXJmbG93ZWQgYnkgdGhlIGVjaG8gY29tbWFuZHMKK2JlZm9yZSB5b3UgZ2V0IHRvIHRoZSBwb2ludCB5b3Ugd2FudCB0byB0cmFjZS4gSXQgaXMgYWxzbyBlYXNpZXIgdG8KK3N0b3AgdGhlIHRyYWNpbmcgYXQgdGhlIHBvaW50IHRoYXQgeW91IGhpdCB0aGUgcGFydCB0aGF0IHlvdSBhcmUKK2ludGVyZXN0ZWQgaW4uIFNpbmNlIHRoZSBmdHJhY2UgYnVmZmVyIGlzIGEgcmluZyBidWZmZXIgd2l0aCB0aGUKK29sZGVzdCBkYXRhIGJlaW5nIG92ZXJ3cml0dGVuLCB1c3VhbGx5IGl0IGlzIHN1ZmZpY2llbnQgdG8gc3RhcnQgdGhlCit0cmFjZXIgd2l0aCBhbiBlY2hvIGNvbW1hbmQgYnV0IGhhdmUgeW91IGNvZGUgc3RvcCBpdC4gU29tZXRoaW5nCitsaWtlIHRoZSBmb2xsb3dpbmcgaXMgdXN1YWxseSBhcHByb3ByaWF0ZSBmb3IgdGhpcy4KKworaW50IHRyYWNlX2ZkOworWy4uLl0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKwlbLi4uXQorCXRyYWNlX2ZkID0gb3BlbigiL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkIiwgT19XUk9OTFkpOworCVsuLi5dCisJaWYgKGNvbmRpdGlvbl9oaXQoKSkgeworCXdyaXRlKHRyYWNlX2ZkLCAiMCIsIDEpOworCX0KKwlbLi4uXQorfQorCisKK2R5bmFtaWMgZnRyYWNlCistLS0tLS0tLS0tLS0tLQorCitJZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UgaXMgc2V0LCB0aGVuIHRoZSBzeXN0ZW0gd2lsbCBydW4gd2l0aAordmlydHVhbGx5IG5vIG92ZXJoZWFkIHdoZW4gZnVuY3Rpb24gdHJhY2luZyBpcyBkaXNhYmxlZC4gVGhlIHdheQordGhpcyB3b3JrcyBpcyB0aGUgbWNvdW50IGZ1bmN0aW9uIGNhbGwgKHBsYWNlZCBhdCB0aGUgc3RhcnQgb2YKK2V2ZXJ5IGtlcm5lbCBmdW5jdGlvbiwgcHJvZHVjZWQgYnkgdGhlIC1wZyBzd2l0Y2ggaW4gZ2NjKSwgc3RhcnRzCitvZiBwb2ludGluZyB0byBhIHNpbXBsZSByZXR1cm4uCisKK1doZW4gZHluYW1pYyBmdHJhY2UgaXMgaW5pdGlhbGl6ZWQsIGl0IGNhbGxzIGtzdG9wX21hY2hpbmUgdG8gbWFrZQordGhlIG1hY2hpbmUgYWN0IGxpa2UgYSB1bmlwcm9jZXNzb3Igc28gdGhhdCBpdCBjYW4gZnJlZWx5IG1vZGlmeSBjb2RlCit3aXRob3V0IHdvcnJ5aW5nIGFib3V0IG90aGVyIHByb2Nlc3NvcnMgZXhlY3V0aW5nIHRoYXQgc2FtZSBjb2RlLiAgQXQKK2luaXRpYWxpemF0aW9uLCB0aGUgbWNvdW50IGNhbGxzIGFyZSBjaGFuZ2VkIHRvIGNhbGwgYSAicmVjb3JkX2lwIgorZnVuY3Rpb24uICBBZnRlciB0aGlzLCB0aGUgZmlyc3QgdGltZSBhIGtlcm5lbCBmdW5jdGlvbiBpcyBjYWxsZWQsCitpdCBoYXMgdGhlIGNhbGxpbmcgYWRkcmVzcyBzYXZlZCBpbiBhIGhhc2ggdGFibGUuCisKK0xhdGVyIG9uIHRoZSBmdHJhY2VkIGtlcm5lbCB0aHJlYWQgaXMgYXdva2VuIGFuZCB3aWxsIGFnYWluIGNhbGwKK2tzdG9wX21hY2hpbmUgaWYgbmV3IGZ1bmN0aW9ucyBoYXZlIGJlZW4gcmVjb3JkZWQuIFRoZSBmdHJhY2VkIHRocmVhZAord2lsbCBjaGFuZ2UgYWxsIGNhbGxzIHRvIG1jb3VudCB0byAibm9wIi4gIEp1c3QgY2FsbGluZyBtY291bnQKK2FuZCBoYXZpbmcgbWNvdW50IHJldHVybiBoYXMgc2hvd24gYSAxMCUgb3ZlcmhlYWQuIEJ5IGNvbnZlcnRpbmcKK2l0IHRvIGEgbm9wLCB0aGVyZSBpcyBubyByZWNvcmRhYmxlIG92ZXJoZWFkIHRvIHRoZSBzeXN0ZW0uCisKK09uZSBzcGVjaWFsIHNpZGUtZWZmZWN0IHRvIHRoZSByZWNvcmRpbmcgb2YgdGhlIGZ1bmN0aW9ucyBiZWluZwordHJhY2VkLCBpcyB0aGF0IHdlIGNhbiBub3cgc2VsZWN0aXZlbHkgY2hvb3NlIHdoaWNoIGZ1bmN0aW9ucyB3ZQord2FudCB0byB0cmFjZSBhbmQgd2hpY2ggb25lcyB3ZSB3YW50IHRoZSBtY291bnQgY2FsbHMgdG8gcmVtYWluIGFzCitub3BzLgorCitUd28gZmlsZXMgYXJlIHVzZWQsIG9uZSBmb3IgZW5hYmxpbmcgYW5kIG9uZSBmb3IgZGlzYWJsaW5nIHRoZSB0cmFjaW5nCitvZiByZWNvcmRlZCBmdW5jdGlvbnMuIFRoZXkgYXJlOgorCisgIHNldF9mdHJhY2VfZmlsdGVyCisKK2FuZAorCisgIHNldF9mdHJhY2Vfbm90cmFjZQorCitBIGxpc3Qgb2YgYXZhaWxhYmxlIGZ1bmN0aW9ucyB0aGF0IHlvdSBjYW4gYWRkIHRvIHRoZXNlIGZpbGVzIGlzIGxpc3RlZAoraW46CisKKyAgIGF2YWlsYWJsZV9maWx0ZXJfZnVuY3Rpb25zCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9hdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucworcHV0X3ByZXZfdGFza19pZGxlCitrbWVtX2NhY2hlX2NyZWF0ZQorcGlja19uZXh0X3Rhc2tfcnQKK2dldF9vbmxpbmVfY3B1cworcGlja19uZXh0X3Rhc2tfZmFpcgorbXV0ZXhfbG9jaworWy4uLl0KKworSWYgSSdtIG9ubHkgaW50ZXJlc3RlZCBpbiBzeXNfbmFub3NsZWVwIGFuZCBocnRpbWVyX2ludGVycnVwdDoKKworICMgZWNobyBzeXNfbmFub3NsZWVwIGhydGltZXJfaW50ZXJydXB0IFwKKwkJPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorICMgZWNobyBmdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorICMgZWNobyAxID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyB1c2xlZXAgMQorICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2luZ19lbmFibGVkCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UKKyMgdHJhY2VyOiBmdHJhY2UKKyMKKyMgICAgICAgICAgIFRBU0stUElEICAgQ1BVIyAgICBUSU1FU1RBTVAgIEZVTkNUSU9OCisjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8CisgICAgICAgICAgdXNsZWVwLTQxMzQgIFswMF0gIDEzMTcuMDcwMDE3OiBocnRpbWVyX2ludGVycnVwdCA8LXNtcF9hcGljX3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIHVzbGVlcC00MTM0ICBbMDBdICAxMzE3LjA3MDExMTogc3lzX25hbm9zbGVlcCA8LXN5c2NhbGxfY2FsbAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxMzE3LjA3MDExNTogaHJ0aW1lcl9pbnRlcnJ1cHQgPC1zbXBfYXBpY190aW1lcl9pbnRlcnJ1cHQKKworVG8gc2VlIHdoYXQgZnVuY3Rpb25zIGFyZSBiZWluZyB0cmFjZWQsIHlvdSBjYW4gY2F0IHRoZSBmaWxlOgorCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKK2hydGltZXJfaW50ZXJydXB0CitzeXNfbmFub3NsZWVwCisKKworUGVyaGFwcyB0aGlzIGlzbid0IGVub3VnaC4gVGhlIGZpbHRlcnMgYWxzbyBhbGxvdyBzaW1wbGUgd2lsZCBjYXJkcy4KK09ubHkgdGhlIGZvbGxvd2luZyBhcmUgY3VycmVudGx5IGF2YWlsYWJsZQorCisgIDxtYXRjaD4qICAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgYmVnaW4gd2l0aCA8bWF0Y2g+CisgICo8bWF0Y2g+ICAtIHdpbGwgbWF0Y2ggZnVuY3Rpb25zIHRoYXQgZW5kIHdpdGggPG1hdGNoPgorICAqPG1hdGNoPiogLSB3aWxsIG1hdGNoIGZ1bmN0aW9ucyB0aGF0IGhhdmUgPG1hdGNoPiBpbiBpdAorCitUaGF0cyBhbGwgdGhlIHdpbGQgY2FyZHMgdGhhdCBhcmUgYWxsb3dlZC4KKworICA8bWF0Y2g+KjxtYXRjaD4gd2lsbCBub3Qgd29yay4KKworICMgZWNobyBocnRpbWVyXyogPiAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorCitQcm9kdWNlczoKKworIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE3OTQ6IGhydGltZXJfaW5pdCA8LWNvcHlfcHJvY2VzcworICAgICAgICAgICAgYmFzaC00MDAzICBbMDBdICAxNDgwLjYxMTk0MTogaHJ0aW1lcl9zdGFydCA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDAwMyAgWzAwXSAgMTQ4MC42MTE5NTY6IGhydGltZXJfY2FuY2VsIDwtaHJ0aWNrX2NsZWFyCisgICAgICAgICAgICBiYXNoLTQwMDMgIFswMF0gIDE0ODAuNjExOTU2OiBocnRpbWVyX3RyeV90b19jYW5jZWwgPC1ocnRpbWVyX2NhbmNlbAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAxOTogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAyNTogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAzMjogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjAzNzogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorICAgICAgICAgIDxpZGxlPi0wICAgICBbMDBdICAxNDgwLjYxMjM4MjogaHJ0aW1lcl9nZXRfbmV4dF9ldmVudCA8LWdldF9uZXh0X3RpbWVyX2ludGVycnVwdAorCisKK05vdGljZSB0aGF0IHdlIGxvc3QgdGhlIHN5c19uYW5vc2xlZXAuCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgoraHJ0aW1lcl9ydW5fcXVldWVzCitocnRpbWVyX3J1bl9wZW5kaW5nCitocnRpbWVyX2luaXQKK2hydGltZXJfY2FuY2VsCitocnRpbWVyX3RyeV90b19jYW5jZWwKK2hydGltZXJfZm9yd2FyZAoraHJ0aW1lcl9zdGFydAoraHJ0aW1lcl9yZXByb2dyYW0KK2hydGltZXJfZm9yY2VfcmVwcm9ncmFtCitocnRpbWVyX2dldF9uZXh0X2V2ZW50CitocnRpbWVyX2ludGVycnVwdAoraHJ0aW1lcl9uYW5vc2xlZXAKK2hydGltZXJfd2FrZXVwCitocnRpbWVyX2dldF9yZW1haW5pbmcKK2hydGltZXJfZ2V0X3JlcworaHJ0aW1lcl9pbml0X3NsZWVwZXIKKworCitUaGlzIGlzIGJlY2F1c2UgdGhlICc+JyBhbmQgJz4+JyBhY3QganVzdCBsaWtlIHRoZXkgZG8gaW4gYmFzaC4KK1RvIHJld3JpdGUgdGhlIGZpbHRlcnMsIHVzZSAnPicKK1RvIGFwcGVuZCB0byB0aGUgZmlsdGVycywgdXNlICc+PicKKworVG8gY2xlYXIgb3V0IGEgZmlsdGVyIHNvIHRoYXQgYWxsIGZ1bmN0aW9ucyB3aWxsIGJlIHJlY29yZGVkIGFnYWluOgorCisgIyBlY2hvID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorICMKKworQWdhaW4sIG5vdyB3ZSB3YW50IHRvIGFwcGVuZC4KKworICMgZWNobyBzeXNfbmFub3NsZWVwID4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgorc3lzX25hbm9zbGVlcAorICMgZWNobyBocnRpbWVyXyogPj4gL2RlYnVnL3RyYWNpbmcvc2V0X2Z0cmFjZV9maWx0ZXIKKyAjIGNhdCAvZGVidWcvdHJhY2luZy9zZXRfZnRyYWNlX2ZpbHRlcgoraHJ0aW1lcl9ydW5fcXVldWVzCitocnRpbWVyX3J1bl9wZW5kaW5nCitocnRpbWVyX2luaXQKK2hydGltZXJfY2FuY2VsCitocnRpbWVyX3RyeV90b19jYW5jZWwKK2hydGltZXJfZm9yd2FyZAoraHJ0aW1lcl9zdGFydAoraHJ0aW1lcl9yZXByb2dyYW0KK2hydGltZXJfZm9yY2VfcmVwcm9ncmFtCitocnRpbWVyX2dldF9uZXh0X2V2ZW50CitocnRpbWVyX2ludGVycnVwdAorc3lzX25hbm9zbGVlcAoraHJ0aW1lcl9uYW5vc2xlZXAKK2hydGltZXJfd2FrZXVwCitocnRpbWVyX2dldF9yZW1haW5pbmcKK2hydGltZXJfZ2V0X3JlcworaHJ0aW1lcl9pbml0X3NsZWVwZXIKKworCitUaGUgc2V0X2Z0cmFjZV9ub3RyYWNlIHByZXZlbnRzIHRob3NlIGZ1bmN0aW9ucyBmcm9tIGJlaW5nIHRyYWNlZC4KKworICMgZWNobyAnKnByZWVtcHQqJyAnKmxvY2sqJyA+IC9kZWJ1Zy90cmFjaW5nL3NldF9mdHJhY2Vfbm90cmFjZQorCitQcm9kdWNlczoKKworIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDQ6IGZpbmlzaF90YXNrX3N3aXRjaCA8LXNjaGVkdWxlCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMV0gICAxMTUuMjgxNjQ1OiBocnRpY2tfc2V0IDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDU6IGhydGlja19jbGVhciA8LWhydGlja19zZXQKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDY6IHdhaXRfZm9yX2NvbXBsZXRpb24gPC1fX3N0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDc6IHdhaXRfZm9yX2NvbW1vbiA8LXdhaXRfZm9yX2NvbXBsZXRpb24KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDc6IGt0aHJlYWRfc3RvcCA8LXN0b3BfbWFjaGluZV9ydW4KKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDg6IGluaXRfd2FpdHF1ZXVlX2hlYWQgPC1rdGhyZWFkX3N0b3AKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAxXSAgIDExNS4yODE2NDg6IHdha2VfdXBfcHJvY2VzcyA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDFdICAgMTE1LjI4MTY0OTogdHJ5X3RvX3dha2VfdXAgPC13YWtlX3VwX3Byb2Nlc3MKKworV2UgY2FuIHNlZSB0aGF0IHRoZXJlJ3Mgbm8gbW9yZSBsb2NrIG9yIHByZWVtcHQgdHJhY2luZy4KKworZnRyYWNlZAorLS0tLS0tLQorCitBcyBtZW50aW9uZWQgYWJvdmUsIHdoZW4gZHluYW1pYyBmdHJhY2UgaXMgY29uZmlndXJlZCBpbiwgYSBrZXJuZWwKK3RocmVhZCB3YWtlcyB1cCBvbmNlIGEgc2Vjb25kIGFuZCBjaGVja3MgdG8gc2VlIGlmIHRoZXJlIGFyZSBtY291bnQKK2NhbGxzIHRoYXQgbmVlZCB0byBiZSBjb252ZXJ0ZWQgaW50byBub3BzLiBJZiB0aGVyZSBhcmUgbm90IGFueSwgdGhlbgoraXQgc2ltcGx5IGdvZXMgYmFjayB0byBzbGVlcC4gQnV0IGlmIHRoZXJlIGFyZSBzb21lLCBpdCB3aWxsIGNhbGwKK2tzdG9wX21hY2hpbmUgdG8gY29udmVydCB0aGUgY2FsbHMgdG8gbm9wcy4KKworVGhlcmUgbWF5IGJlIGEgY2FzZSB0aGF0IHlvdSBkbyBub3Qgd2FudCB0aGlzIGFkZGVkIGxhdGVuY3kuCitQZXJoYXBzIHlvdSBhcmUgZG9pbmcgc29tZSBhdWRpbyByZWNvcmRpbmcgYW5kIHRoaXMgYWN0aXZpdHkgbWlnaHQKK2NhdXNlIHNraXBzIGluIHRoZSBwbGF5YmFjay4gVGhlcmUgaXMgYW4gaW50ZXJmYWNlIHRvIGRpc2FibGUKK2FuZCBlbmFibGUgdGhlIGZ0cmFjZWQga2VybmVsIHRocmVhZC4KKworICMgZWNobyAwID4gL2RlYnVnL3RyYWNpbmcvZnRyYWNlZF9lbmFibGVkCisKK1RoaXMgd2lsbCBkaXNhYmxlIHRoZSBjYWxsaW5nIG9mIHRoZSBrc3RvcF9tYWNoaW5lIHRvIHVwZGF0ZSB0aGUKK21jb3VudCBjYWxscyB0byBub3BzLiBSZW1lbWJlciB0aGF0IHRoZXJlJ3MgYSBsYXJnZSBvdmVyaGVhZAordG8gY2FsbGluZyBtY291bnQuIFdpdGhvdXQgdGhpcyBrZXJuZWwgdGhyZWFkLCB0aGF0IG92ZXJoZWFkIHdpbGwKK2V4aXN0LgorCitJZiB0aGVyZSBhcmUgcmVjb3JkZWQgY2FsbHMgdG8gbWNvdW50LCBhbnkgd3JpdGUgdG8gdGhlIGZ0cmFjZWRfZW5hYmxlZAorZmlsZSB3aWxsIGNhdXNlIHRoZSBrc3RvcF9tYWNoaW5lIHRvIHJ1bi4gVGhpcyBtZWFucyB0aGF0IGEKK3VzZXIgY2FuIG1hbnVhbGx5IHBlcmZvcm0gdGhlIHVwZGF0ZXMgd2hlbiB0aGV5IHdhbnQgdG8gYnkgc2ltcGx5CitlY2hvaW5nIGEgJzAnIGludG8gdGhlIGZ0cmFjZWRfZW5hYmxlZCBmaWxlLgorCitUaGUgdXBkYXRlcyBhcmUgYWxzbyBkb25lIGF0IHRoZSBiZWdpbm5pbmcgb2YgZW5hYmxpbmcgYSB0cmFjZXIKK3RoYXQgdXNlcyBmdHJhY2UgZnVuY3Rpb24gcmVjb3JkaW5nLgorCisKK3RyYWNlX3BpcGUKKy0tLS0tLS0tLS0KKworVGhlIHRyYWNlX3BpcGUgb3V0cHV0cyB0aGUgc2FtZSBhcyB0cmFjZSwgYnV0IHRoZSBlZmZlY3Qgb24gdGhlCit0cmFjaW5nIGlzIGRpZmZlcmVudC4gRXZlcnkgcmVhZCBmcm9tIHRyYWNlX3BpcGUgaXMgY29uc3VtZWQuCitUaGlzIG1lYW5zIHRoYXQgc3Vic2VxdWVudCByZWFkcyB3aWxsIGJlIGRpZmZlcmVudC4gVGhlIHRyYWNlCitpcyBsaXZlLgorCisgIyBlY2hvIGZ0cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCisgIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2VfcGlwZSA+IC90bXAvdHJhY2Uub3V0ICYKK1sxXSA0MTUzCisgIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIHVzbGVlcCAxCisgIyBlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWQKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZQorIyB0cmFjZXI6IGZ0cmFjZQorIworIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT04KKyMgICAgICAgICAgICAgIHwgfCAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwKKworICMKKyAjIGNhdCAvdG1wL3RyYWNlLm91dAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwNjogZmluaXNoX3Rhc2tfc3dpdGNoIDwtc2NoZWR1bGUKKyAgICAgICAgICAgIGJhc2gtNDA0MyAgWzAwXSA0MS4yNjcxMDY6IGhydGlja19zZXQgPC1zY2hlZHVsZQorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwNzogaHJ0aWNrX2NsZWFyIDwtaHJ0aWNrX3NldAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwODogd2FpdF9mb3JfY29tcGxldGlvbiA8LV9fc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwODogd2FpdF9mb3JfY29tbW9uIDwtd2FpdF9mb3JfY29tcGxldGlvbgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwOToga3RocmVhZF9zdG9wIDwtc3RvcF9tYWNoaW5lX3J1bgorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzEwOTogaW5pdF93YWl0cXVldWVfaGVhZCA8LWt0aHJlYWRfc3RvcAorICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMDogd2FrZV91cF9wcm9jZXNzIDwta3RocmVhZF9zdG9wCisgICAgICAgICAgICBiYXNoLTQwNDMgIFswMF0gNDEuMjY3MTEwOiB0cnlfdG9fd2FrZV91cCA8LXdha2VfdXBfcHJvY2VzcworICAgICAgICAgICAgYmFzaC00MDQzICBbMDBdIDQxLjI2NzExMTogc2VsZWN0X3Rhc2tfcnFfcnQgPC10cnlfdG9fd2FrZV91cAorCisKK05vdGUsIHJlYWRpbmcgdGhlIHRyYWNlX3BpcGUgd2lsbCBibG9jayB1bnRpbCBtb3JlIGlucHV0IGlzIGFkZGVkLgorQnkgY2hhbmdpbmcgdGhlIHRyYWNlciwgdHJhY2VfcGlwZSB3aWxsIGlzc3VlIGFuIEVPRi4gV2UgbmVlZGVkCit0byBzZXQgdGhlIGZ0cmFjZSB0cmFjZXIgX2JlZm9yZV8gY2F0aW5nIHRoZSB0cmFjZV9waXBlIGZpbGUuCisKKwordHJhY2UgZW50cmllcworLS0tLS0tLS0tLS0tLQorCitIYXZpbmcgdG9vIG11Y2ggb3Igbm90IGVub3VnaCBkYXRhIGNhbiBiZSB0cm91Ymxlc29tZSBpbiBkaWFnbm9zaW5nCitzb21lIGlzc3VlIGluIHRoZSBrZXJuZWwuIFRoZSBmaWxlIHRyYWNlX2VudHJpZXMgaXMgdXNlZCB0byBtb2RpZnkKK3RoZSBzaXplIG9mIHRoZSBpbnRlcm5hbCB0cmFjZSBidWZmZXJzLiBUaGUgbnVtYmVyIGxpc3RlZAoraXMgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoYXQgY2FuIGJlIHJlY29yZGVkIHBlciBDUFUuIFRvIGtub3cKK3RoZSBmdWxsIHNpemUsIG11bHRpcGx5IHRoZSBudW1iZXIgb2YgcG9zc2libGUgQ1BVUyB3aXRoIHRoZQorbnVtYmVyIG9mIGVudHJpZXMuCisKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis2NTYyMAorCitOb3RlLCB0byBtb2RpZnkgdGhpcywgeW91IG11c3QgaGF2ZSB0cmFjaW5nIGNvbXBsZXRlbHkgZGlzYWJsZWQuIFRvIGRvIHRoYXQsCitlY2hvICJub25lIiBpbnRvIHRoZSBjdXJyZW50X3RyYWNlci4KKworICMgZWNobyBub25lID4gL2RlYnVnL3RyYWNpbmcvY3VycmVudF90cmFjZXIKKyAjIGVjaG8gMTAwMDAwID4gL2RlYnVnL3RyYWNpbmcvdHJhY2VfZW50cmllcworICMgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKzEwMDA0NQorCisKK05vdGljZSB0aGF0IHdlIGVjaG9lZCBpbiAxMDAsMDAwIGJ1dCB0aGUgc2l6ZSBpcyAxMDAsMDQ1LiBUaGUgZW50cmllcworYXJlIGhlbGQgYnkgaW5kaXZpZHVhbCBwYWdlcy4gSXQgYWxsb2NhdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgaXQgdGFrZXMKK3RvIGZ1bGZpbGwgdGhlIHJlcXVlc3QuIElmIG1vcmUgZW50cmllcyBtYXkgZml0IG9uIHRoZSBsYXN0IHBhZ2UKK2l0IHdpbGwgYWRkIHRoZW0uCisKKyAjIGVjaG8gMSA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis4NQorCitUaGlzIHNob3dzIHVzIHRoYXQgODUgZW50cmllcyBjYW4gZml0IG9uIGEgc2luZ2xlIHBhZ2UuCisKK1RoZSBudW1iZXIgb2YgcGFnZXMgdGhhdCB3aWxsIGJlIGFsbG9jYXRlZCBpcyBhIHBlcmNlbnRhZ2Ugb2YgYXZhaWxhYmxlCittZW1vcnkuIEFsbG9jYXRpbmcgdG9vIG11Y2ggd2lsbCBwcm9kdWNlIGFuIGVycm9yLgorCisgIyBlY2hvIDEwMDAwMDAwMDAwMDAgPiAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCistYmFzaDogZWNobzogd3JpdGUgZXJyb3I6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkKKyAjIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCis4NQorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAgYi9Eb2N1bWVudGF0aW9uL2kyYy9idXNzZXMvaTJjLWk4MTAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ODIxMGUuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1pODEwCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotS2VybmVsIGRyaXZlciBpMmMtaTgxMAotCi1TdXBwb3J0ZWQgYWRhcHRlcnM6Ci0gICogSW50ZWwgODI4MTAsIDgyODEwLURDMTAwLCA4MjgxMEUsIGFuZCA4MjgxNSAoR01DSCkKLSAgKiBJbnRlbCA4Mjg0NUcgKEdNQ0gpCi0KLUF1dGhvcnM6IAotCUZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAotCVBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gICAgICAgIEt5w7ZzdGkgTcOkbGtraSA8a21hbGtraUBjYy5odXQuZmk+LAotCVJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPgotCi1NYWluIGNvbnRhY3Q6IE1hcmsgU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLQotRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLSAKLQotV0FSTklORzogSWYgeW91IGhhdmUgYW4gJzgxMCcgb3IgJzgxNScgbW90aGVyYm9hcmQsIHlvdXIgc3RhbmRhcmQgSTJDCi10ZW1wZXJhdHVyZSBzZW5zb3JzIGFyZSBtb3N0IGxpa2VseSBvbiB0aGUgODAxJ3MgSTJDIGJ1cy4gWW91IHdhbnQgdGhlCi1pMmMtaTgwMSBkcml2ZXIgZm9yIHRob3NlLCBub3QgdGhpcyBkcml2ZXIuCi0KLU5vdyBmb3IgdGhlIGkyYy1pODEwLi4uCi0KLVRoZSBHTUNIIGNoaXAgY29udGFpbnMgdHdvIEkyQyBpbnRlcmZhY2VzLgotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4KLQotVGhlIHNlY29uZCBpbnRlcmZhY2UgaXMgYSBnZW5lcmFsLXB1cnBvc2UgSTJDIGJ1cy4gSXQgbWF5IGJlIGNvbm5lY3RlZCB0byBhCi1UVi1vdXQgY2hpcCBzdWNoIGFzIHRoZSBCVDg2OSBvciBwb3NzaWJseSB0byBhIGRpZ2l0YWwgZmxhdC1wYW5lbCBkaXNwbGF5LgotCi1GZWF0dXJlcwotLS0tLS0tLS0gCi0KLUJvdGggYnVzc2VzIHVzZSB0aGUgaTJjLWFsZ28tYml0IGRyaXZlciBmb3IgJ2JpdCBiYW5naW5nJwotYW5kIHN1cHBvcnQgZm9yIHNwZWNpZmljIHRyYW5zYWN0aW9ucyBpcyBwcm92aWRlZCBieSBpMmMtYWxnby1iaXQuCi0KLUlzc3VlcwotLS0tLS0tCi0KLUlmIHlvdSBlbmFibGUgYnVzIHRlc3RpbmcgaW4gaTJjLWFsZ28tYml0IChpbnNtb2QgaTJjLWFsZ28tYml0IGJpdF90ZXN0PTEpLAotdGhlIHRlc3QgbWF5IGZhaWw7IGlmIHNvLCB0aGUgaTJjLWk4MTAgZHJpdmVyIHdvbid0IGJlIGluc2VydGVkLiBIb3dldmVyLAotd2UgdGhpbmsgdGhpcyBoYXMgYmVlbiBmaXhlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtcHJvc2F2YWdlIGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwMzY4NzkuLjAwMDAwMDAKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1LZXJuZWwgZHJpdmVyIGkyYy1wcm9zYXZhZ2UKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotCQotCVMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTggCi0JUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNCAKLQotQXV0aG9yOiBIZW5rIFZlcmdvbmV0IDxoZW5rQGdvZC5keW5kbnMub3JnPgotCi1EZXNjcmlwdGlvbgotLS0tLS0tLS0tLS0KLQotVGhlIFNhdmFnZTQgY2hpcHMgY29udGFpbiB0d28gSTJDIGludGVyZmFjZXMgKGFrYSBhIEkyQyAnbWFzdGVyJyBvcgotJ2hvc3QnKS4gCi0KLVRoZSBmaXJzdCBpbnRlcmZhY2UgaXMgdXNlZCBmb3IgRERDIChEYXRhIERpc3BsYXkgQ2hhbm5lbCkgd2hpY2ggaXMgYQotc2VyaWFsIGNoYW5uZWwgdGhyb3VnaCB0aGUgVkdBIG1vbml0b3IgY29ubmVjdG9yIHRvIGEgRERDLWNvbXBsaWFudAotbW9uaXRvci4gVGhpcyBpbnRlcmZhY2UgaXMgZGVmaW5lZCBieSB0aGUgVmlkZW8gRWxlY3Ryb25pY3MgU3RhbmRhcmRzCi1Bc3NvY2lhdGlvbiAoVkVTQSkuIFRoZSBzdGFuZGFyZHMgYXJlIGF2YWlsYWJsZSBmb3IgcHVyY2hhc2UgYXQKLWh0dHA6Ly93d3cudmVzYS5vcmcgLiBUaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLgotCi1Vc2VmdWxsIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgVFYgRW5jb2RlciBjaGlwcy4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0IGIvRG9jdW1lbnRhdGlvbi9pMmMvYnVzc2VzL2kyYy1zYXZhZ2U0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWNjZWFiLi4wMDAwMDAwCi0tLSBhL0RvY3VtZW50YXRpb24vaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUtlcm5lbCBkcml2ZXIgaTJjLXNhdmFnZTQKLQotU3VwcG9ydGVkIGFkYXB0ZXJzOgotICAqIFNhdmFnZTQKLSAgKiBTYXZhZ2UyMDAwCi0KLUF1dGhvcnM6IAotCUFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4sCi0JTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiAKLQotRGVzY3JpcHRpb24KLS0tLS0tLS0tLS0tCi0KLVRoZSBTYXZhZ2U0IGNoaXBzIGNvbnRhaW4gdHdvIEkyQyBpbnRlcmZhY2VzIChha2EgYSBJMkMgJ21hc3RlcicKLW9yICdob3N0JykuIAotCi1UaGUgZmlyc3QgaW50ZXJmYWNlIGlzIHVzZWQgZm9yIEREQyAoRGF0YSBEaXNwbGF5IENoYW5uZWwpIHdoaWNoIGlzIGEKLXNlcmlhbCBjaGFubmVsIHRocm91Z2ggdGhlIFZHQSBtb25pdG9yIGNvbm5lY3RvciB0byBhIEREQy1jb21wbGlhbnQKLW1vbml0b3IuIFRoaXMgaW50ZXJmYWNlIGlzIGRlZmluZWQgYnkgdGhlIFZpZGVvIEVsZWN0cm9uaWNzIFN0YW5kYXJkcwotQXNzb2NpYXRpb24gKFZFU0EpLiBUaGUgc3RhbmRhcmRzIGFyZSBhdmFpbGFibGUgZm9yIHB1cmNoYXNlIGF0Ci1odHRwOi8vd3d3LnZlc2Eub3JnIC4gVGhlIEREQyBidXMgaXMgbm90IHlldCBzdXBwb3J0ZWQgYmVjYXVzZSBpdHMgcmVnaXN0ZXIKLWlzIG5vdCBkaXJlY3RseSBtZW1vcnktbWFwcGVkLgotCi1UaGUgc2Vjb25kIGludGVyZmFjZSBpcyBhIGdlbmVyYWwtcHVycG9zZSBJMkMgYnVzLiBUaGlzIGlzIHRoZSBvbmx5Ci1pbnRlcmZhY2Ugc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgYXQgdGhlIG1vbWVudC4KLQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMgYi9Eb2N1bWVudGF0aW9uL2kyYy9mYXVsdC1jb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDU3NjVjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvZmF1bHQtY29kZXMKQEAgLTAsMCArMSwxMjcgQEAKK1RoaXMgaXMgYSBzdW1tYXJ5IG9mIHRoZSBtb3N0IGltcG9ydGFudCBjb252ZW50aW9ucyBmb3IgdXNlIG9mIGZhdWx0Citjb2RlcyBpbiB0aGUgSTJDL1NNQnVzIHN0YWNrLgorCisKK0EgIkZhdWx0IiBpcyBub3QgYWx3YXlzIGFuICJFcnJvciIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK05vdCBhbGwgZmF1bHQgcmVwb3J0cyBpbXBseSBlcnJvcnM7ICJwYWdlIGZhdWx0cyIgc2hvdWxkIGJlIGEgZmFtaWxpYXIKK2V4YW1wbGUuICBTb2Z0d2FyZSBvZnRlbiByZXRyaWVzIGlkZW1wb3RlbnQgb3BlcmF0aW9ucyBhZnRlciB0cmFuc2llbnQKK2ZhdWx0cy4gIFRoZXJlIG1heSBiZSBmYW5jaWVyIHJlY292ZXJ5IHNjaGVtZXMgdGhhdCBhcmUgYXBwcm9wcmlhdGUgaW4KK3NvbWUgY2FzZXMsIHN1Y2ggYXMgcmUtaW5pdGlhbGl6aW5nIChhbmQgbWF5YmUgcmVzZXR0aW5nKS4gIEFmdGVyIHN1Y2gKK3JlY292ZXJ5LCB0cmlnZ2VyZWQgYnkgYSBmYXVsdCByZXBvcnQsIHRoZXJlIGlzIG5vIGVycm9yLgorCitJbiBhIHNpbWlsYXIgd2F5LCBzb21ldGltZXMgYSAiZmF1bHQiIGNvZGUganVzdCByZXBvcnRzIG9uZSBkZWZpbmVkCityZXN1bHQgZm9yIGFuIG9wZXJhdGlvbiAuLi4gaXQgZG9lc24ndCBpbmRpY2F0ZSB0aGF0IGFueXRoaW5nIGlzIHdyb25nCithdCBhbGwsIGp1c3QgdGhhdCB0aGUgb3V0Y29tZSB3YXNuJ3Qgb24gdGhlICJnb2xkZW4gcGF0aCIuCisKK0luIHNob3J0LCB5b3VyIEkyQyBkcml2ZXIgY29kZSBtYXkgbmVlZCB0byBrbm93IHRoZXNlIGNvZGVzIGluIG9yZGVyCit0byByZXNwb25kIGNvcnJlY3RseS4gIE90aGVyIGNvZGUgbWF5IG5lZWQgdG8gcmVseSBvbiBZT1VSIGNvZGUgcmVwb3J0aW5nCit0aGUgcmlnaHQgZmF1bHQgY29kZSwgc28gdGhhdCBpdCBjYW4gKGluIHR1cm4pIGJlaGF2ZSBjb3JyZWN0bHkuCisKKworSTJDIGFuZCBTTUJ1cyBmYXVsdCBjb2RlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhlc2UgYXJlIHJldHVybmVkIGFzIG5lZ2F0aXZlIG51bWJlcnMgZnJvbSBtb3N0IGNhbGxzLCB3aXRoIHplcm8gb3IKK3NvbWUgcG9zaXRpdmUgbnVtYmVyIGluZGljYXRpbmcgYSBub24tZmF1bHQgcmV0dXJuLiAgVGhlIHNwZWNpZmljCitudW1iZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSBzeW1ib2xzIGRpZmZlciBiZXR3ZWVuIGFyY2hpdGVjdHVyZXMsCit0aG91Z2ggbW9zdCBMaW51eCBzeXN0ZW1zIHVzZSA8YXNtLWdlbmVyaWMvZXJybm8qLmg+IG51bWJlcmluZy4KKworTm90ZSB0aGF0IHRoZSBkZXNjcmlwdGlvbnMgaGVyZSBhcmUgbm90IGV4aGF1c3RpdmUuICBUaGVyZSBhcmUgb3RoZXIKK2NvZGVzIHRoYXQgbWF5IGJlIHJldHVybmVkLCBhbmQgb3RoZXIgY2FzZXMgd2hlcmUgdGhlc2UgY29kZXMgc2hvdWxkCitiZSByZXR1cm5lZC4gIEhvd2V2ZXIsIGRyaXZlcnMgc2hvdWxkIG5vdCByZXR1cm4gb3RoZXIgY29kZXMgZm9yIHRoZXNlCitjYXNlcyAodW5sZXNzIHRoZSBoYXJkd2FyZSBkb2Vzbid0IHByb3ZpZGUgdW5pcXVlIGZhdWx0IHJlcG9ydHMpLgorCitBbHNvLCBjb2RlcyByZXR1cm5lZCBieSBhZGFwdGVyIHByb2JlIG1ldGhvZHMgZm9sbG93IHJ1bGVzIHdoaWNoIGFyZQorc3BlY2lmaWMgdG8gdGhlaXIgaG9zdCBidXMgKHN1Y2ggYXMgUENJLCBvciB0aGUgcGxhdGZvcm0gYnVzKS4KKworCitFQUdBSU4KKwlSZXR1cm5lZCBieSBJMkMgYWRhcHRlcnMgd2hlbiB0aGV5IGxvc2UgYXJiaXRyYXRpb24gaW4gbWFzdGVyCisJdHJhbnNtaXQgbW9kZTogIHNvbWUgb3RoZXIgbWFzdGVyIHdhcyB0cmFuc21pdHRpbmcgZGlmZmVyZW50CisJZGF0YSBhdCB0aGUgc2FtZSB0aW1lLgorCisJQWxzbyByZXR1cm5lZCB3aGVuIHRyeWluZyB0byBpbnZva2UgYW4gSTJDIG9wZXJhdGlvbiBpbiBhbgorCWF0b21pYyBjb250ZXh0LCB3aGVuIHNvbWUgdGFzayBpcyBhbHJlYWR5IHVzaW5nIHRoYXQgSTJDIGJ1cworCXRvIGV4ZWN1dGUgc29tZSBvdGhlciBvcGVyYXRpb24uCisKK0VCQURNU0cKKwlSZXR1cm5lZCBieSBTTUJ1cyBsb2dpYyB3aGVuIGFuIGludmFsaWQgUGFja2V0IEVycm9yIENvZGUgYnl0ZQorCWlzIHJlY2VpdmVkLiAgVGhpcyBjb2RlIGlzIGEgQ1JDIGNvdmVyaW5nIGFsbCBieXRlcyBpbiB0aGUKKwl0cmFuc2FjdGlvbiwgYW5kIGlzIHNlbnQgYmVmb3JlIHRoZSB0ZXJtaW5hdGluZyBTVE9QLiAgVGhpcworCWZhdWx0IGlzIG9ubHkgcmVwb3J0ZWQgb24gcmVhZCB0cmFuc2FjdGlvbnM7IHRoZSBTTUJ1cyBzbGF2ZQorCW1heSBoYXZlIGEgd2F5IHRvIHJlcG9ydCBQRUMgbWlzbWF0Y2hlcyBvbiB3cml0ZXMgZnJvbSB0aGUKKwlob3N0LiAgTm90ZSB0aGF0IGV2ZW4gaWYgUEVDcyBhcmUgaW4gdXNlLCB5b3Ugc2hvdWxkIG5vdCByZWx5CisJb24gdGhlc2UgYXMgdGhlIG9ubHkgd2F5IHRvIGRldGVjdCBpbmNvcnJlY3QgZGF0YSB0cmFuc2ZlcnMuCisKK0VCVVNZCisJUmV0dXJuZWQgYnkgU01CdXMgYWRhcHRlcnMgd2hlbiB0aGUgYnVzIHdhcyBidXN5IGZvciBsb25nZXIKKwl0aGFuIGFsbG93ZWQuICBUaGlzIHVzdWFsbHkgaW5kaWNhdGVzIHNvbWUgZGV2aWNlIChtYXliZSB0aGUKKwlTTUJ1cyBhZGFwdGVyKSBuZWVkcyBzb21lIGZhdWx0IHJlY292ZXJ5IChzdWNoIGFzIHJlc2V0dGluZyksCisJb3IgdGhhdCB0aGUgcmVzZXQgd2FzIGF0dGVtcHRlZCBidXQgZmFpbGVkLgorCitFSU5WQUwKKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBhbiBpbnZhbGlkIHBhcmFtZXRlciBoYXMgYmVlbgorCWRldGVjdGVkIGJlZm9yZSBhbnkgSS9PIG9wZXJhdGlvbiB3YXMgc3RhcnRlZC4gIFVzZSBhIG1vcmUKKwlzcGVjaWZpYyBmYXVsdCBjb2RlIHdoZW4geW91IGNhbi4KKworCU9uZSBleGFtcGxlIHdvdWxkIGJlIGEgZHJpdmVyIHRyeWluZyBhbiBTTUJ1cyBCbG9jayBXcml0ZQorCXdpdGggYmxvY2sgc2l6ZSBvdXRzaWRlIHRoZSByYW5nZSBvZiAxLTMyIGJ5dGVzLgorCitFSU8KKwlUaGlzIHJhdGhlciB2YWd1ZSBlcnJvciBtZWFucyBzb21ldGhpbmcgd2VudCB3cm9uZyB3aGVuCisJcGVyZm9ybWluZyBhbiBJL08gb3BlcmF0aW9uLiAgVXNlIGEgbW9yZSBzcGVjaWZpYyBmYXVsdAorCWNvZGUgd2hlbiB5b3UgY2FuLgorCitFTk9ERVYKKwlSZXR1cm5lZCBieSBkcml2ZXIgcHJvYmUoKSBtZXRob2RzLiAgVGhpcyBpcyBhIGJpdCBtb3JlCisJc3BlY2lmaWMgdGhhbiBFTlhJTywgaW1wbHlpbmcgdGhlIHByb2JsZW0gaXNuJ3Qgd2l0aCB0aGUKKwlhZGRyZXNzLCBidXQgd2l0aCB0aGUgZGV2aWNlIGZvdW5kIHRoZXJlLiAgRHJpdmVyIHByb2JlcworCW1heSB2ZXJpZnkgdGhlIGRldmljZSByZXR1cm5zICpjb3JyZWN0KiByZXNwb25zZXMsIGFuZAorCXJldHVybiB0aGlzIGFzIGFwcHJvcHJpYXRlLiAgKFRoZSBkcml2ZXIgY29yZSB3aWxsIHdhcm4KKwlhYm91dCBwcm9iZSBmYXVsdHMgb3RoZXIgdGhhbiBFTlhJTyBhbmQgRU5PREVWLikKKworRU5PTUVNCisJUmV0dXJuZWQgYnkgYW55IGNvbXBvbmVudCB0aGF0IGNhbid0IGFsbG9jYXRlIG1lbW9yeSB3aGVuCisJaXQgbmVlZHMgdG8gZG8gc28uCisKK0VOWElPCisJUmV0dXJuZWQgYnkgSTJDIGFkYXB0ZXJzIHRvIGluZGljYXRlIHRoYXQgdGhlIGFkZHJlc3MgcGhhc2UKKwlvZiBhIHRyYW5zZmVyIGRpZG4ndCBnZXQgYW4gQUNLLiAgV2hpbGUgaXQgbWlnaHQganVzdCBtZWFuCisJYW4gSTJDIGRldmljZSB3YXMgdGVtcG9yYXJpbHkgbm90IHJlc3BvbmRpbmcsIHVzdWFsbHkgaXQKKwltZWFucyB0aGVyZSdzIG5vdGhpbmcgbGlzdGVuaW5nIGF0IHRoYXQgYWRkcmVzcy4KKworCVJldHVybmVkIGJ5IGRyaXZlciBwcm9iZSgpIG1ldGhvZHMgdG8gaW5kaWNhdGUgdGhhdCB0aGV5CisJZm91bmQgbm8gZGV2aWNlIHRvIGJpbmQgdG8uICAoRU5PREVWIG1heSBhbHNvIGJlIHVzZWQuKQorCitFT1BOT1RTVVBQCisJUmV0dXJuZWQgYnkgYW4gYWRhcHRlciB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYW4gb3BlcmF0aW9uCisJdGhhdCBpdCBkb2Vzbid0LCBvciBjYW4ndCwgc3VwcG9ydC4KKworCUZvciBleGFtcGxlLCB0aGlzIHdvdWxkIGJlIHJldHVybmVkIHdoZW4gYW4gYWRhcHRlciB0aGF0CisJZG9lc24ndCBzdXBwb3J0IFNNQnVzIGJsb2NrIHRyYW5zZmVycyBpcyBhc2tlZCB0byBleGVjdXRlCisJb25lLiAgSW4gdGhhdCBjYXNlLCB0aGUgZHJpdmVyIG1ha2luZyB0aGF0IHJlcXVlc3Qgc2hvdWxkCisJaGF2ZSB2ZXJpZmllZCB0aGF0IGZ1bmN0aW9uYWxpdHkgd2FzIHN1cHBvcnRlZCBiZWZvcmUgaXQKKwltYWRlIHRoYXQgYmxvY2sgdHJhbnNmZXIgcmVxdWVzdC4KKworCVNpbWlsYXJseSwgaWYgYW4gSTJDIGFkYXB0ZXIgY2FuJ3QgZXhlY3V0ZSBhbGwgbGVnYWwgSTJDCisJbWVzc2FnZXMsIGl0IHNob3VsZCByZXR1cm4gdGhpcyB3aGVuIGFza2VkIHRvIHBlcmZvcm0gYQorCXRyYW5zYWN0aW9uIGl0IGNhbid0LiAgKFRoZXNlIGxpbWl0YXRpb25zIGNhbid0IGJlIHNlZW4gaW4KKwl0aGUgYWRhcHRlcidzIGZ1bmN0aW9uYWxpdHkgbWFzaywgc2luY2UgdGhlIGFzc3VtcHRpb24gaXMKKwl0aGF0IGlmIGFuIGFkYXB0ZXIgc3VwcG9ydHMgSTJDIGl0IHN1cHBvcnRzIGFsbCBvZiBJMkMuKQorCitFUFJPVE8KKwlSZXR1cm5lZCB3aGVuIHNsYXZlIGRvZXMgbm90IGNvbmZvcm0gdG8gdGhlIHJlbGV2YW50IEkyQworCW9yIFNNQnVzIChvciBjaGlwLXNwZWNpZmljKSBwcm90b2NvbCBzcGVjaWZpY2F0aW9ucy4gIE9uZQorCWNhc2UgaXMgd2hlbiB0aGUgbGVuZ3RoIG9mIGFuIFNNQnVzIGJsb2NrIGRhdGEgcmVzcG9uc2UKKwkoZnJvbSB0aGUgU01CdXMgc2xhdmUpIGlzIG91dHNpZGUgdGhlIHJhbmdlIDEtMzIgYnl0ZXMuCisKK0VUSU1FRE9VVAorCVRoaXMgaXMgcmV0dXJuZWQgYnkgZHJpdmVycyB3aGVuIGFuIG9wZXJhdGlvbiB0b29rIHRvbyBtdWNoCisJdGltZSwgYW5kIHdhcyBhYm9ydGVkIGJlZm9yZSBpdCBjb21wbGV0ZWQuCisKKwlTTUJ1cyBhZGFwdGVycyBtYXkgcmV0dXJuIGl0IHdoZW4gYW4gb3BlcmF0aW9uIHRvb2sgbW9yZQorCXRpbWUgdGhhbiBhbGxvd2VkIGJ5IHRoZSBTTUJ1cyBzcGVjaWZpY2F0aW9uOyBmb3IgZXhhbXBsZSwKKwl3aGVuIGEgc2xhdmUgc3RyZXRjaGVzIGNsb2NrcyB0b28gZmFyLiAgSTJDIGhhcyBubyBzdWNoCisJdGltZW91dHMsIGJ1dCBpdCdzIG5vcm1hbCBmb3IgSTJDIGFkYXB0ZXJzIHRvIGltcG9zZSBzb21lCisJYXJiaXRyYXJ5IGxpbWl0cyAobXVjaCBsb25nZXIgdGhhbiBTTUJ1cyEpIHRvby4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wgYi9Eb2N1bWVudGF0aW9uL2kyYy9zbWJ1cy1wcm90b2NvbAppbmRleCAwM2YwOGZiLi4yNGJmYjY1ZCAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wKKysrIGIvRG9jdW1lbnRhdGlvbi9pMmMvc21idXMtcHJvdG9jb2wKQEAgLTQyLDggKzQyLDggQEAKIFsuLl06IERhdGEgc2VudCBieSBJMkMgZGV2aWNlLCBhcyBvcHBvc2VkIHRvIGRhdGEgc2VudCBieSB0aGUgaG9zdCBhZGFwdGVyLgogCiAKLVNNQnVzIFF1aWNrIENvbW1hbmQ6ICBpMmNfc21idXNfd3JpdGVfcXVpY2soKQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitTTUJ1cyBRdWljayBDb21tYW5kCis9PT09PT09PT09PT09PT09PT09CiAKIFRoaXMgc2VuZHMgYSBzaW5nbGUgYml0IHRvIHRoZSBkZXZpY2UsIGF0IHRoZSBwbGFjZSBvZiB0aGUgUmQvV3IgYml0LgogCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMgYi9Eb2N1bWVudGF0aW9uL2kyYy93cml0aW5nLWNsaWVudHMKaW5kZXggZDRjZDQxMi4uNmI2MWIzYSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pMmMvd3JpdGluZy1jbGllbnRzCisrKyBiL0RvY3VtZW50YXRpb24vaTJjL3dyaXRpbmctY2xpZW50cwpAQCAtNDQsNiArNDQsMTAgQEAKIAkuaWRfdGFibGUJPSBmb29faWRzLAogCS5wcm9iZQkJPSBmb29fcHJvYmUsCiAJLnJlbW92ZQkJPSBmb29fcmVtb3ZlLAorCS8qIGlmIGRldmljZSBhdXRvZGV0ZWN0aW9uIGlzIG5lZWRlZDogKi8KKwkuY2xhc3MJCT0gSTJDX0NMQVNTX1NPTUVUSElORywKKwkuZGV0ZWN0CQk9IGZvb19kZXRlY3QsCisJLmFkZHJlc3NfZGF0YQk9ICZhZGRyX2RhdGEsCiAKIAkvKiBlbHNlLCBkcml2ZXIgdXNlcyAibGVnYWN5IiBiaW5kaW5nIG1vZGVsOiAqLwogCS5hdHRhY2hfYWRhcHRlcgk9IGZvb19hdHRhY2hfYWRhcHRlciwKQEAgLTIxNyw2ICsyMjEsMzEgQEAKIHJlZmVyZW5jZSBmb3IgbGF0ZXIgdXNlLgogCiAKK0RldmljZSBEZXRlY3Rpb24gKFN0YW5kYXJkIGRyaXZlciBtb2RlbCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworU29tZXRpbWVzIHlvdSBkbyBub3Qga25vdyBpbiBhZHZhbmNlIHdoaWNoIEkyQyBkZXZpY2VzIGFyZSBjb25uZWN0ZWQgdG8KK2EgZ2l2ZW4gSTJDIGJ1cy4gIFRoaXMgaXMgZm9yIGV4YW1wbGUgdGhlIGNhc2Ugb2YgaGFyZHdhcmUgbW9uaXRvcmluZworZGV2aWNlcyBvbiBhIFBDJ3MgU01CdXMuICBJbiB0aGF0IGNhc2UsIHlvdSBtYXkgd2FudCB0byBsZXQgeW91ciBkcml2ZXIKK2RldGVjdCBzdXBwb3J0ZWQgZGV2aWNlcyBhdXRvbWF0aWNhbGx5LiAgVGhpcyBpcyBob3cgdGhlIGxlZ2FjeSBtb2RlbAord2FzIHdvcmtpbmcsIGFuZCBpcyBub3cgYXZhaWxhYmxlIGFzIGFuIGV4dGVuc2lvbiB0byB0aGUgc3RhbmRhcmQKK2RyaXZlciBtb2RlbCAoc28gdGhhdCB3ZSBjYW4gZmluYWxseSBnZXQgcmlkIG9mIHRoZSBsZWdhY3kgbW9kZWwuKQorCitZb3Ugc2ltcGx5IGhhdmUgdG8gZGVmaW5lIGEgZGV0ZWN0IGNhbGxiYWNrIHdoaWNoIHdpbGwgYXR0ZW1wdCB0bworaWRlbnRpZnkgc3VwcG9ydGVkIGRldmljZXMgKHJldHVybmluZyAwIGZvciBzdXBwb3J0ZWQgb25lcyBhbmQgLUVOT0RFVgorZm9yIHVuc3VwcG9ydGVkIG9uZXMpLCBhIGxpc3Qgb2YgYWRkcmVzc2VzIHRvIHByb2JlLCBhbmQgYSBkZXZpY2UgdHlwZQorKG9yIGNsYXNzKSBzbyB0aGF0IG9ubHkgSTJDIGJ1c2VzIHdoaWNoIG1heSBoYXZlIHRoYXQgdHlwZSBvZiBkZXZpY2UKK2Nvbm5lY3RlZCAoYW5kIG5vdCBvdGhlcndpc2UgZW51bWVyYXRlZCkgd2lsbCBiZSBwcm9iZWQuICBUaGUgaTJjCitjb3JlIHdpbGwgdGhlbiBjYWxsIHlvdSBiYWNrIGFzIG5lZWRlZCBhbmQgd2lsbCBpbnN0YW50aWF0ZSBhIGRldmljZQorZm9yIHlvdSBmb3IgZXZlcnkgc3VjY2Vzc2Z1bCBkZXRlY3Rpb24uCisKK05vdGUgdGhhdCB0aGlzIG1lY2hhbmlzbSBpcyBwdXJlbHkgb3B0aW9uYWwgYW5kIG5vdCBzdWl0YWJsZSBmb3IgYWxsCitkZXZpY2VzLiAgWW91IG5lZWQgc29tZSByZWxpYWJsZSB3YXkgdG8gaWRlbnRpZnkgdGhlIHN1cHBvcnRlZCBkZXZpY2VzCisodHlwaWNhbGx5IHVzaW5nIGRldmljZS1zcGVjaWZpYywgZGVkaWNhdGVkIGlkZW50aWZpY2F0aW9uIHJlZ2lzdGVycyksCitvdGhlcndpc2UgbWlzZGV0ZWN0aW9ucyBhcmUgbGlrZWx5IHRvIG9jY3VyIGFuZCB0aGluZ3MgY2FuIGdldCB3cm9uZworcXVpY2tseS4KKworCiBEZXZpY2UgRGVsZXRpb24gKFN0YW5kYXJkIGRyaXZlciBtb2RlbCkKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC01NjksNyArNTk4LDYgQEAKICAgaW4gdGVybXMgb2YgaXQuIE5ldmVyIHVzZSB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IQogCiAKLSAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfcXVpY2soc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50KTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggY29tbWFuZCk7CkBAIC01NzgsMzAgKzYwNiwzMSBAQAogICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggY29tbWFuZCk7CiAgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHUxNiB2YWx1ZSk7CisgIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4ICp2YWx1ZXMpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9ibG9ja19kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCAqdmFsdWVzKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfcmVhZF9pMmNfYmxvY2tfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCBsZW5ndGgsIHU4ICp2YWx1ZXMpOwotCi1UaGVzZSBvbmVzIHdlcmUgcmVtb3ZlZCBpbiBMaW51eCAyLjYuMTAgYmVjYXVzZSB0aGV5IGhhZCBubyB1c2VycywgYnV0IGNvdWxkCi1iZSBhZGRlZCBiYWNrIGxhdGVyIGlmIG5lZWRlZDoKLQotICBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1OCAqdmFsdWVzKTsKICAgZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfaTJjX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggKnZhbHVlcyk7CisKK1RoZXNlIG9uZXMgd2VyZSByZW1vdmVkIGZyb20gaTJjLWNvcmUgYmVjYXVzZSB0aGV5IGhhZCBubyB1c2VycywgYnV0IGNvdWxkCitiZSBhZGRlZCBiYWNrIGxhdGVyIGlmIG5lZWRlZDoKKworICBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19wcm9jZXNzX2NhbGwoc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBjb21tYW5kLCB1MTYgdmFsdWUpOwogICBleHRlcm4gczMyIGkyY19zbWJ1c19ibG9ja19wcm9jZXNzX2NhbGwoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGNvbW1hbmQsIHU4IGxlbmd0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4ICp2YWx1ZXMpCiAKLUFsbCB0aGVzZSB0cmFuc2FjdGlvbnMgcmV0dXJuIC0xIG9uIGZhaWx1cmUuIFRoZSAnd3JpdGUnIHRyYW5zYWN0aW9ucyAKLXJldHVybiAwIG9uIHN1Y2Nlc3M7IHRoZSAncmVhZCcgdHJhbnNhY3Rpb25zIHJldHVybiB0aGUgcmVhZCB2YWx1ZSwgZXhjZXB0IAotZm9yIHJlYWRfYmxvY2ssIHdoaWNoIHJldHVybnMgdGhlIG51bWJlciBvZiB2YWx1ZXMgcmVhZC4gVGhlIGJsb2NrIGJ1ZmZlcnMgCi1uZWVkIG5vdCBiZSBsb25nZXIgdGhhbiAzMiBieXRlcy4KK0FsbCB0aGVzZSB0cmFuc2FjdGlvbnMgcmV0dXJuIGEgbmVnYXRpdmUgZXJybm8gdmFsdWUgb24gZmFpbHVyZS4gVGhlICd3cml0ZScKK3RyYW5zYWN0aW9ucyByZXR1cm4gMCBvbiBzdWNjZXNzOyB0aGUgJ3JlYWQnIHRyYW5zYWN0aW9ucyByZXR1cm4gdGhlIHJlYWQKK3ZhbHVlLCBleGNlcHQgZm9yIGJsb2NrIHRyYW5zYWN0aW9ucywgd2hpY2ggcmV0dXJuIHRoZSBudW1iZXIgb2YgdmFsdWVzCityZWFkLiBUaGUgYmxvY2sgYnVmZmVycyBuZWVkIG5vdCBiZSBsb25nZXIgdGhhbiAzMiBieXRlcy4KIAogWW91IGNhbiByZWFkIHRoZSBmaWxlIGBzbWJ1cy1wcm90b2NvbCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCiBhY3R1YWwgU01CdXMgcHJvdG9jb2wuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQgYi9Eb2N1bWVudGF0aW9uL2lvY3RsLW51bWJlci50eHQKaW5kZXggMjQwY2U3YS4uM2JiNWY0NiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9pb2N0bC1udW1iZXIudHh0CisrKyBiL0RvY3VtZW50YXRpb24vaW9jdGwtbnVtYmVyLnR4dApAQCAtMTE3LDYgKzExNyw3IEBACiAJCQkJCTxtYWlsdG86bmF0YWxpYUBuaWtoZWZrLm5pa2hlZi5ubD4KICdjJwkwMC03RglsaW51eC9jb21zdGF0cy5oCWNvbmZsaWN0IQogJ2MnCTAwLTdGCWxpbnV4L2NvZGEuaAkJY29uZmxpY3QhCisnYycJODAtOUYJYXNtLXMzOTAvY2hzYy5oCiAnZCcJMDAtRkYJbGludXgvY2hhci9kcm0vZHJtL2gJY29uZmxpY3QhCiAnZCcJMDAtREYJbGludXgvdmlkZW9fZGVjb2Rlci5oCWNvbmZsaWN0IQogJ2QnCUYwLUZGCWxpbnV4L2RpZ2kxLmgKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24va2R1bXAva2R1bXAudHh0IGIvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQKaW5kZXggYjhlNTJjMC4uOTY5MWM3ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9rZHVtcC9rZHVtcC50eHQKQEAgLTEwOSw3ICsxMDksNyBAQAogMikgT3IgdXNlIHRoZSBzeXN0ZW0ga2VybmVsIGJpbmFyeSBpdHNlbGYgYXMgZHVtcC1jYXB0dXJlIGtlcm5lbCBhbmQgdGhlcmUgaXMKICAgIG5vIG5lZWQgdG8gYnVpbGQgYSBzZXBhcmF0ZSBkdW1wLWNhcHR1cmUga2VybmVsLiBUaGlzIGlzIHBvc3NpYmxlCiAgICBvbmx5IHdpdGggdGhlIGFyY2hpdGVjdXRyZXMgd2hpY2ggc3VwcG9ydCBhIHJlbG9jYXRhYmxlIGtlcm5lbC4gQXMKLSAgIG9mIHRvZGF5IGkzODYgYW5kIGlhNjQgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0IHJlbG9jYXRhYmxlIGtlcm5lbC4KKyAgIG9mIHRvZGF5LCBpMzg2LCB4ODZfNjQgYW5kIGlhNjQgYXJjaGl0ZWN0dXJlcyBzdXBwb3J0IHJlbG9jYXRhYmxlIGtlcm5lbC4KIAogQnVpbGRpbmcgYSByZWxvY2F0YWJsZSBrZXJuZWwgaXMgYWR2YW50YWdlb3VzIGZyb20gdGhlIHBvaW50IG9mIHZpZXcgdGhhdAogb25lIGRvZXMgbm90IGhhdmUgdG8gYnVpbGQgYSBzZWNvbmQga2VybmVsIGZvciBjYXB0dXJpbmcgdGhlIGR1bXAuIEJ1dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQgYi9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAppbmRleCBiNTJmNDdkLi4zMTJmZTc3IDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dApAQCAtMjcxLDYgKzI3MSwxNyBAQAogCWFpYzc5eHg9CVtIVyxTQ1NJXQogCQkJU2VlIERvY3VtZW50YXRpb24vc2NzaS9haWM3OXh4LnR4dC4KIAorCWFtZF9pb21tdT0JW0hXLFg4Ni04NF0KKwkJCVBhc3MgcGFyYW1ldGVycyB0byB0aGUgQU1EIElPTU1VIGRyaXZlciBpbiB0aGUgc3lzdGVtLgorCQkJUG9zc2libGUgdmFsdWVzIGFyZToKKwkJCWlzb2xhdGUgLSBlbmFibGUgZGV2aWNlIGlzb2xhdGlvbiAoZWFjaCBkZXZpY2UsIGFzIGZhcgorCQkJICAgICAgICAgIGFzIHBvc3NpYmxlLCB3aWxsIGdldCBpdHMgb3duIHByb3RlY3Rpb24KKwkJCSAgICAgICAgICBkb21haW4pCisJYW1kX2lvbW11X3NpemU9IFtIVyxYODYtNjRdCisJCQlEZWZpbmUgdGhlIHNpemUgb2YgdGhlIGFwZXJ0dXJlIGZvciB0aGUgQU1EIElPTU1VCisJCQlkcml2ZXIuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CisJCQknMzJNJywgJzY0TScgKGRlZmF1bHQpLCAnMTI4TScsICcyNTZNJywgJzUxMk0nLCAnMUcnCisKIAlhbWlqb3kubWFwPQlbSFcsSk9ZXSBBbWlnYSBqb3lzdGljayBzdXBwb3J0CiAJCQlNYXAgb2YgZGV2aWNlcyBhdHRhY2hlZCB0byBKT1kwREFUIGFuZCBKT1kxREFUCiAJCQlGb3JtYXQ6IDxhPiw8Yj4KQEAgLTU2MCw2ICs1NzEsOCBAQAogCiAJZGVidWdfb2JqZWN0cwlbS05MXSBFbmFibGUgb2JqZWN0IGRlYnVnZ2luZwogCisJZGVidWdwYXQJW1g4Nl0gRW5hYmxlIFBBVCBkZWJ1Z2dpbmcKKwogCWRlY25ldC5hZGRyPQlbSFcsTkVUXQogCQkJRm9ybWF0OiA8YXJlYT5bLDxub2RlPl0KIAkJCVNlZSBhbHNvIERvY3VtZW50YXRpb24vbmV0d29ya2luZy9kZWNuZXQudHh0LgpAQCAtNTk5LDYgKzYxMiwyOSBAQAogCQkJU2VlIGRyaXZlcnMvY2hhci9SRUFETUUuZXBjYSBhbmQKIAkJCURvY3VtZW50YXRpb24vZGlnaWVwY2EudHh0LgogCisJZGlzYWJsZV9tdHJyX2NsZWFudXAgW1g4Nl0KKwllbmFibGVfbXRycl9jbGVhbnVwIFtYODZdCisJCQlUaGUga2VybmVsIHRyaWVzIHRvIGFkanVzdCBNVFJSIGxheW91dCBmcm9tIGNvbnRpbnVvdXMKKwkJCXRvIGRpc2NyZXRlLCB0byBtYWtlIFggc2VydmVyIGRyaXZlciBhYmxlIHRvIGFkZCBXQgorCQkJZW50cnkgbGF0ZXIuIFRoaXMgcGFyYW1ldGVyIGVuYWJsZXMvZGlzYWJsZXMgdGhhdC4KKworCW10cnJfY2h1bmtfc2l6ZT1ubltLTUddIFtYODZdCisJCQl1c2VkIGZvciBtdHJyIGNsZWFudXAuIEl0IGlzIGxhcmdlc3QgY29udGlub3VzIGNodW5rCisJCQl0aGF0IGNvdWxkIGhvbGQgaG9sZXMgYWthLiBVQyBlbnRyaWVzLgorCisJbXRycl9ncmFuX3NpemU9bm5bS01HXSBbWDg2XQorCQkJVXNlZCBmb3IgbXRyciBjbGVhbnVwLiBJdCBpcyBncmFudWxhcml0eSBvZiBtdHJyIGJsb2NrLgorCQkJRGVmYXVsdCBpcyAxLgorCQkJTGFyZ2UgdmFsdWUgY291bGQgcHJldmVudCBzbWFsbCBhbGlnbm1lbnQgZnJvbQorCQkJdXNpbmcgdXAgTVRSUnMuCisKKwltdHJyX3NwYXJlX3JlZ19ucj1uIFtYODZdCisJCQlGb3JtYXQ6IDxpbnRlZ2VyPgorCQkJUmFuZ2U6IDAsNyA6IHNwYXJlIHJlZyBudW1iZXIKKwkJCURlZmF1bHQgOiAxCisJCQlVc2VkIGZvciBtdHJyIGNsZWFudXAuIEl0IGlzIHNwYXJlIG10cnIgZW50cmllcyBudW1iZXIuCisJCQlTZXQgdG8gMiBvciBtb3JlIGlmIHlvdXIgZ3JhcGhpY2FsIGNhcmQgbmVlZHMgbW9yZS4KKwogCWRpc2FibGVfbXRycl90cmltIFtYODYsIEludGVsIGFuZCBBTUQgb25seV0KIAkJCUJ5IGRlZmF1bHQgdGhlIGtlcm5lbCB3aWxsIHRyaW0gYW55IHVuY2FjaGVhYmxlCiAJCQltZW1vcnkgb3V0IG9mIHlvdXIgYXZhaWxhYmxlIG1lbW9yeSBwb29sIGJhc2VkIG9uCkBAIC03MjIsOSArNzU4LDYgQEAKIAloZD0JCVtFSURFXSAoRSlJREUgaGFyZCBkcml2ZSBzdWJzeXN0ZW0gZ2VvbWV0cnkKIAkJCUZvcm1hdDogPGN5bD4sPGhlYWQ+LDxzZWN0PgogCi0JaGQ/PQkJW0hXXSAoRSlJREUgc3Vic3lzdGVtCi0JaGQ/bHVuPQkJU2VlIERvY3VtZW50YXRpb24vaWRlL2lkZS50eHQuCi0KIAloaWdobWVtPW5uW0tNR10JW0tOTCxCT09UXSBmb3JjZXMgdGhlIGhpZ2htZW0gem9uZSB0byBoYXZlIGFuIGV4YWN0CiAJCQlzaXplIG9mIDxubj4uIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8KIAkJCWhpZ2htZW0gb3RoZXJ3aXNlLiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0KQEAgLTEyMDgsNiArMTI0MSwxMSBAQAogCW10ZHBhcnRzPQlbTVREXQogCQkJU2VlIGRyaXZlcnMvbXRkL2NtZGxpbmVwYXJ0LmMuCiAKKwltdGRzZXQ9CQlbQVJNXQorCQkJQVJNL1MzQzI0MTIgSklWRSBib290IGNvbnRyb2wKKworCQkJU2VlIGFyY2gvYXJtL21hY2gtczNjMjQxMi9tYWNoLWppdmUuYworCiAJbXRvdWNodXNiLnJhd19jb29yZGluYXRlcz0KIAkJCVtIV10gTWFrZSB0aGUgTWljcm9Ub3VjaCBVU0IgZHJpdmVyIHVzZSByYXcgY29vcmRpbmF0ZXMKIAkJCSgneScsIGRlZmF1bHQpIG9yIGNvb2tlZCBjb29yZGluYXRlcyAoJ24nKQpAQCAtMTU3MSw2ICsxNjA5LDEwIEBACiAJCQlGb3JtYXQ6IHsgcGFycG9ydDxucj4gfCB0aW1pZCB8IDAgfQogCQkJU2VlIGFsc28gRG9jdW1lbnRhdGlvbi9wYXJwb3J0LnR4dC4KIAorCXBtdG1yPQkJW1g4Nl0gTWFudWFsIHNldHVwIG9mIHBtdG1yIEkvTyBQb3J0LiAKKwkJCU92ZXJyaWRlIHBtdGltZXIgSU9Qb3J0IHdpdGggYSBoZXggdmFsdWUuCisJCQllLmcuIHBtdG1yPTB4NTA4CisKIAlwbnBhY3BpPQlbQUNQSV0KIAkJCXsgb2ZmIH0KIApAQCAtMjExNiw2ICsyMTU4LDkgQEAKIAl1c2JoaWQubW91c2Vwb2xsPQogCQkJW1VTQkhJRF0gVGhlIGludGVydmFsIHdoaWNoIG1pY2UgYXJlIHRvIGJlIHBvbGxlZCBhdC4KIAorCWFkZF9lZmlfbWVtbWFwCVtFRkk7IHg4Ni0zMixYODYtNjRdIEluY2x1ZGUgRUZJIG1lbW9yeSBtYXAgaW4KKwkJCWtlcm5lbCdzIG1hcCBvZiBhdmFpbGFibGUgcGh5c2ljYWwgUkFNLgorCiAJdmRzbz0JCVtYODYtMzIsU0gseDg2LTY0XQogCQkJdmRzbz0yOiBlbmFibGUgY29tcGF0IFZEU08gKGRlZmF1bHQgd2l0aCBDT01QQVRfVkRTTykKIAkJCXZkc289MTogZW5hYmxlIFZEU08gKGRlZmF1bHQpCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvaXAtc3lzY3RsLnR4dCBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0CmluZGV4IDE3ZjFmOTEuLjk0NmI2NmUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0CkBAIC0xNDgsOSArMTQ4LDkgQEAKIAlidXQgbm90IGxvYWRlZC4KIAogdGNwX2Jhc2VfbXNzIC0gSU5URUdFUgotCVRoZSBpbml0aWFsIHZhbHVlIG9mIHNlYXJjaF9sb3cgdG8gYmUgdXNlZCBieSBQYWNrZXRpemF0aW9uIExheWVyCi0JUGF0aCBNVFUgRGlzY292ZXJ5IChNVFUgcHJvYmluZykuICBJZiBNVFUgcHJvYmluZyBpcyBlbmFibGVkLAotCXRoaXMgaXMgdGhlIGluaXRhbCBNU1MgdXNlZCBieSB0aGUgY29ubmVjdGlvbi4KKwlUaGUgaW5pdGlhbCB2YWx1ZSBvZiBzZWFyY2hfbG93IHRvIGJlIHVzZWQgYnkgdGhlIHBhY2tldGl6YXRpb24gbGF5ZXIKKwlQYXRoIE1UVSBkaXNjb3ZlcnkgKE1UVSBwcm9iaW5nKS4gIElmIE1UVSBwcm9iaW5nIGlzIGVuYWJsZWQsCisJdGhpcyBpcyB0aGUgaW5pdGlhbCBNU1MgdXNlZCBieSB0aGUgY29ubmVjdGlvbi4KIAogdGNwX2Nvbmdlc3Rpb25fY29udHJvbCAtIFNUUklORwogCVNldCB0aGUgY29uZ2VzdGlvbiBjb250cm9sIGFsZ29yaXRobSB0byBiZSB1c2VkIGZvciBuZXcKQEAgLTE4NSwxMCArMTg1LDkgQEAKIAl0aW1lb3V0cy4gIEl0IGlzIHBhcnRpY3VsYXJseSBiZW5lZmljaWFsIGluIHdpcmVsZXNzIGVudmlyb25tZW50cwogCXdoZXJlIHBhY2tldCBsb3NzIGlzIHR5cGljYWxseSBkdWUgdG8gcmFuZG9tIHJhZGlvIGludGVyZmVyZW5jZQogCXJhdGhlciB0aGFuIGludGVybWVkaWF0ZSByb3V0ZXIgY29uZ2VzdGlvbi4gIEYtUlRPIGlzIHNlbmRlci1zaWRlCi0Jb25seSBtb2RpZmljYXRpb24uICBUaGVyZWZvcmUgaXQgZG9lcyBub3QgcmVxdWlyZSBhbnkgc3VwcG9ydCBmcm9tCi0JdGhlIHBlZXIsIGJ1dCBpbiBhIHR5cGljYWwgY2FzZSwgaG93ZXZlciwgd2hlcmUgd2lyZWxlc3MgbGluayBpcwotCXRoZSBsb2NhbCBhY2Nlc3MgbGluayBhbmQgbW9zdCBvZiB0aGUgZGF0YSBmbG93cyBkb3dubGluaywgdGhlCi0JZmFyYXdheSBzZXJ2ZXJzIHNob3VsZCBoYXZlIEYtUlRPIGVuYWJsZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgaXQuCisJb25seSBtb2RpZmljYXRpb24uIFRoZXJlZm9yZSBpdCBkb2VzIG5vdCByZXF1aXJlIGFueSBzdXBwb3J0IGZyb20KKwl0aGUgcGVlci4KKwogCUlmIHNldCB0byAxLCBiYXNpYyB2ZXJzaW9uIGlzIGVuYWJsZWQuICAyIGVuYWJsZXMgU0FDSyBlbmhhbmNlZAogCUYtUlRPIGlmIGZsb3cgdXNlcyBTQUNLLiAgVGhlIGJhc2ljIHZlcnNpb24gY2FuIGJlIHVzZWQgYWxzbyB3aGVuCiAJU0FDSyBpcyBpbiB1c2UgdGhvdWdoIHNjZW5hcmlvKHMpIHdpdGggaXQgZXhpc3RzIHdoZXJlIEYtUlRPCkBAIC0yNzYsNyArMjc1LDcgQEAKIAltZW1vcnkuCiAKIHRjcF9tb2RlcmF0ZV9yY3ZidWYgLSBCT09MRUFOCi0JSWYgc2V0LCBUQ1AgcGVyZm9ybXMgcmVjZWl2ZSBidWZmZXIgYXV0b3R1bmluZywgYXR0ZW1wdGluZyB0bworCUlmIHNldCwgVENQIHBlcmZvcm1zIHJlY2VpdmUgYnVmZmVyIGF1dG8tdHVuaW5nLCBhdHRlbXB0aW5nIHRvCiAJYXV0b21hdGljYWxseSBzaXplIHRoZSBidWZmZXIgKG5vIGdyZWF0ZXIgdGhhbiB0Y3Bfcm1lbVsyXSkgdG8KIAltYXRjaCB0aGUgc2l6ZSByZXF1aXJlZCBieSB0aGUgcGF0aCBmb3IgZnVsbCB0aHJvdWdocHV0LiAgRW5hYmxlZCBieQogCWRlZmF1bHQuCkBAIC0zMzYsNyArMzM1LDcgQEAKIAlwcmVzc3VyZS4KIAlEZWZhdWx0OiA4SwogCi0JZGVmYXVsdDogZGVmYXVsdCBzaXplIG9mIHJlY2VpdmUgYnVmZmVyIHVzZWQgYnkgVENQIHNvY2tldHMuCisJZGVmYXVsdDogaW5pdGlhbCBzaXplIG9mIHJlY2VpdmUgYnVmZmVyIHVzZWQgYnkgVENQIHNvY2tldHMuCiAJVGhpcyB2YWx1ZSBvdmVycmlkZXMgbmV0LmNvcmUucm1lbV9kZWZhdWx0IHVzZWQgYnkgb3RoZXIgcHJvdG9jb2xzLgogCURlZmF1bHQ6IDg3MzgwIGJ5dGVzLiBUaGlzIHZhbHVlIHJlc3VsdHMgaW4gd2luZG93IG9mIDY1NTM1IHdpdGgKIAlkZWZhdWx0IHNldHRpbmcgb2YgdGNwX2Fkdl93aW5fc2NhbGUgYW5kIHRjcF9hcHBfd2luOjAgYW5kIGEgYml0CkBAIC0zNDQsOCArMzQzLDEwIEBACiAKIAltYXg6IG1heGltYWwgc2l6ZSBvZiByZWNlaXZlIGJ1ZmZlciBhbGxvd2VkIGZvciBhdXRvbWF0aWNhbGx5CiAJc2VsZWN0ZWQgcmVjZWl2ZXIgYnVmZmVycyBmb3IgVENQIHNvY2tldC4gVGhpcyB2YWx1ZSBkb2VzIG5vdCBvdmVycmlkZQotCW5ldC5jb3JlLnJtZW1fbWF4LCAic3RhdGljIiBzZWxlY3Rpb24gdmlhIFNPX1JDVkJVRiBkb2VzIG5vdCB1c2UgdGhpcy4KLQlEZWZhdWx0OiA4NzM4MCoyIGJ5dGVzLgorCW5ldC5jb3JlLnJtZW1fbWF4LiAgQ2FsbGluZyBzZXRzb2Nrb3B0KCkgd2l0aCBTT19SQ1ZCVUYgZGlzYWJsZXMKKwlhdXRvbWF0aWMgdHVuaW5nIG9mIHRoYXQgc29ja2V0J3MgcmVjZWl2ZSBidWZmZXIgc2l6ZSwgaW4gd2hpY2gKKwljYXNlIHRoaXMgdmFsdWUgaXMgaWdub3JlZC4KKwlEZWZhdWx0OiBiZXR3ZWVuIDg3MzgwQiBhbmQgNE1CLCBkZXBlbmRpbmcgb24gUkFNIHNpemUuCiAKIHRjcF9zYWNrIC0gQk9PTEVBTgogCUVuYWJsZSBzZWxlY3QgYWNrbm93bGVkZ21lbnRzIChTQUNLUykuCkBAIC0zNTgsNyArMzU5LDcgQEAKIAlEZWZhdWx0OiAxCiAKIHRjcF9zdGR1cmcgLSBCT09MRUFOCi0JVXNlIHRoZSBIb3N0IHJlcXVpcmVtZW50cyBpbnRlcnByZXRhdGlvbiBvZiB0aGUgVENQIHVyZyBwb2ludGVyIGZpZWxkLgorCVVzZSB0aGUgSG9zdCByZXF1aXJlbWVudHMgaW50ZXJwcmV0YXRpb24gb2YgdGhlIFRDUCB1cmdlbnQgcG9pbnRlciBmaWVsZC4KIAlNb3N0IGhvc3RzIHVzZSB0aGUgb2xkZXIgQlNEIGludGVycHJldGF0aW9uLCBzbyBpZiB5b3UgdHVybiB0aGlzIG9uCiAJTGludXggbWlnaHQgbm90IGNvbW11bmljYXRlIGNvcnJlY3RseSB3aXRoIHRoZW0uCiAJRGVmYXVsdDogRkFMU0UKQEAgLTM3MSwxMiArMzcyLDEyIEBACiB0Y3Bfc3luY29va2llcyAtIEJPT0xFQU4KIAlPbmx5IHZhbGlkIHdoZW4gdGhlIGtlcm5lbCB3YXMgY29tcGlsZWQgd2l0aCBDT05GSUdfU1lOQ09PS0lFUwogCVNlbmQgb3V0IHN5bmNvb2tpZXMgd2hlbiB0aGUgc3luIGJhY2tsb2cgcXVldWUgb2YgYSBzb2NrZXQKLQlvdmVyZmxvd3MuIFRoaXMgaXMgdG8gcHJldmVudCBhZ2FpbnN0IHRoZSBjb21tb24gJ3N5biBmbG9vZCBhdHRhY2snCisJb3ZlcmZsb3dzLiBUaGlzIGlzIHRvIHByZXZlbnQgYWdhaW5zdCB0aGUgY29tbW9uICdTWU4gZmxvb2QgYXR0YWNrJwogCURlZmF1bHQ6IEZBTFNFCiAKIAlOb3RlLCB0aGF0IHN5bmNvb2tpZXMgaXMgZmFsbGJhY2sgZmFjaWxpdHkuCiAJSXQgTVVTVCBOT1QgYmUgdXNlZCB0byBoZWxwIGhpZ2hseSBsb2FkZWQgc2VydmVycyB0byBzdGFuZAotCWFnYWluc3QgbGVnYWwgY29ubmVjdGlvbiByYXRlLiBJZiB5b3Ugc2VlIHN5bmZsb29kIHdhcm5pbmdzCisJYWdhaW5zdCBsZWdhbCBjb25uZWN0aW9uIHJhdGUuIElmIHlvdSBzZWUgU1lOIGZsb29kIHdhcm5pbmdzCiAJaW4geW91ciBsb2dzLCBidXQgaW52ZXN0aWdhdGlvbglzaG93cyB0aGF0IHRoZXkgb2NjdXIKIAliZWNhdXNlIG9mIG92ZXJsb2FkIHdpdGggbGVnYWwgY29ubmVjdGlvbnMsIHlvdSBzaG91bGQgdHVuZQogCWFub3RoZXIgcGFyYW1ldGVycyB1bnRpbCB0aGlzIHdhcm5pbmcgZGlzYXBwZWFyLgpAQCAtMzg2LDcgKzM4Nyw3IEBACiAJdG8gdXNlIFRDUCBleHRlbnNpb25zLCBjYW4gcmVzdWx0IGluIHNlcmlvdXMgZGVncmFkYXRpb24KIAlvZiBzb21lIHNlcnZpY2VzIChmLmUuIFNNVFAgcmVsYXlpbmcpLCB2aXNpYmxlIG5vdCBieSB5b3UsCiAJYnV0IHlvdXIgY2xpZW50cyBhbmQgcmVsYXlzLCBjb250YWN0aW5nIHlvdS4gV2hpbGUgeW91IHNlZQotCXN5bmZsb29kIHdhcm5pbmdzIGluIGxvZ3Mgbm90IGJlaW5nIHJlYWxseSBmbG9vZGVkLCB5b3VyIHNlcnZlcgorCVNZTiBmbG9vZCB3YXJuaW5ncyBpbiBsb2dzIG5vdCBiZWluZyByZWFsbHkgZmxvb2RlZCwgeW91ciBzZXJ2ZXIKIAlpcyBzZXJpb3VzbHkgbWlzY29uZmlndXJlZC4KIAogdGNwX3N5bl9yZXRyaWVzIC0gSU5URUdFUgpAQCAtNDE5LDE5ICs0MjAsMjEgQEAKIAlFbmFibGUgd2luZG93IHNjYWxpbmcgYXMgZGVmaW5lZCBpbiBSRkMxMzIzLgogCiB0Y3Bfd21lbSAtIHZlY3RvciBvZiAzIElOVEVHRVJzOiBtaW4sIGRlZmF1bHQsIG1heAotCW1pbjogQW1vdW50IG9mIG1lbW9yeSByZXNlcnZlZCBmb3Igc2VuZCBidWZmZXJzIGZvciBUQ1Agc29ja2V0LgorCW1pbjogQW1vdW50IG9mIG1lbW9yeSByZXNlcnZlZCBmb3Igc2VuZCBidWZmZXJzIGZvciBUQ1Agc29ja2V0cy4KIAlFYWNoIFRDUCBzb2NrZXQgaGFzIHJpZ2h0cyB0byB1c2UgaXQgZHVlIHRvIGZhY3Qgb2YgaXRzIGJpcnRoLgogCURlZmF1bHQ6IDRLCiAKLQlkZWZhdWx0OiBBbW91bnQgb2YgbWVtb3J5IGFsbG93ZWQgZm9yIHNlbmQgYnVmZmVycyBmb3IgVENQIHNvY2tldAotCWJ5IGRlZmF1bHQuIFRoaXMgdmFsdWUgb3ZlcnJpZGVzIG5ldC5jb3JlLndtZW1fZGVmYXVsdCB1c2VkCi0JYnkgb3RoZXIgcHJvdG9jb2xzLCBpdCBpcyB1c3VhbGx5IGxvd2VyIHRoYW4gbmV0LmNvcmUud21lbV9kZWZhdWx0LgorCWRlZmF1bHQ6IGluaXRpYWwgc2l6ZSBvZiBzZW5kIGJ1ZmZlciB1c2VkIGJ5IFRDUCBzb2NrZXRzLiAgVGhpcworCXZhbHVlIG92ZXJyaWRlcyBuZXQuY29yZS53bWVtX2RlZmF1bHQgdXNlZCBieSBvdGhlciBwcm90b2NvbHMuCisJSXQgaXMgdXN1YWxseSBsb3dlciB0aGFuIG5ldC5jb3JlLndtZW1fZGVmYXVsdC4KIAlEZWZhdWx0OiAxNksKIAotCW1heDogTWF4aW1hbCBhbW91bnQgb2YgbWVtb3J5IGFsbG93ZWQgZm9yIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQKLQlzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXQuIFRoaXMgdmFsdWUgZG9lcyBub3Qgb3ZlcnJpZGUKLQluZXQuY29yZS53bWVtX21heCwgInN0YXRpYyIgc2VsZWN0aW9uIHZpYSBTT19TTkRCVUYgZG9lcyBub3QgdXNlIHRoaXMuCi0JRGVmYXVsdDogMTI4SworCW1heDogTWF4aW1hbCBhbW91bnQgb2YgbWVtb3J5IGFsbG93ZWQgZm9yIGF1dG9tYXRpY2FsbHkgdHVuZWQKKwlzZW5kIGJ1ZmZlcnMgZm9yIFRDUCBzb2NrZXRzLiBUaGlzIHZhbHVlIGRvZXMgbm90IG92ZXJyaWRlCisJbmV0LmNvcmUud21lbV9tYXguICBDYWxsaW5nIHNldHNvY2tvcHQoKSB3aXRoIFNPX1NOREJVRiBkaXNhYmxlcworCWF1dG9tYXRpYyB0dW5pbmcgb2YgdGhhdCBzb2NrZXQncyBzZW5kIGJ1ZmZlciBzaXplLCBpbiB3aGljaCBjYXNlCisJdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLgorCURlZmF1bHQ6IGJldHdlZW4gNjRLIGFuZCA0TUIsIGRlcGVuZGluZyBvbiBSQU0gc2l6ZS4KIAogdGNwX3dvcmthcm91bmRfc2lnbmVkX3dpbmRvd3MgLSBCT09MRUFOCiAJSWYgc2V0LCBhc3N1bWUgbm8gcmVjZWlwdCBvZiBhIHdpbmRvdyBzY2FsaW5nIG9wdGlvbiBtZWFucyB0aGUKQEAgLTEwNjAsMjQgKzEwNjMsMTkzIEBACiAJRGVmYXVsdDogMQogCiAKK3Byb2Mvc3lzL25ldC9zY3RwLyogVmFyaWFibGVzOgorCithZGRpcF9lbmFibGUgLSBCT09MRUFOCisJRW5hYmxlIG9yIGRpc2FibGUgZXh0ZW5zaW9uIG9mICBEeW5hbWljIEFkZHJlc3MgUmVjb25maWd1cmF0aW9uCisJKEFERC1JUCkgZnVuY3Rpb25hbGl0eSBzcGVjaWZpZWQgaW4gUkZDNTA2MS4gIFRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzCisJdGhlIGFiaWxpdHkgdG8gZHluYW1pY2FsbHkgYWRkIGFuZCByZW1vdmUgbmV3IGFkZHJlc3NlcyBmb3IgdGhlIFNDVFAKKwlhc3NvY2lhdGlvbnMuCisKKwkxOiBFbmFibGUgZXh0ZW5zaW9uLgorCisJMDogRGlzYWJsZSBleHRlbnNpb24uCisKKwlEZWZhdWx0OiAwCisKK2FkZGlwX25vYXV0aF9lbmFibGUgLSBCT09MRUFOCisJRHluYW1pYyBBZGRyZXNzIFJlY29uZmlndXJhdGlvbiAoQURELUlQKSByZXF1aXJlcyB0aGUgdXNlIG9mCisJYXV0aGVudGljYXRpb24gdG8gcHJvdGVjdCB0aGUgb3BlcmF0aW9ucyBvZiBhZGRpbmcgb3IgcmVtb3ZpbmcgbmV3CisJYWRkcmVzc2VzLiAgVGhpcyByZXF1aXJlbWVudCBpcyBtYW5kYXRlZCBzbyB0aGF0IHVuYXV0aG9yaXplZCBob3N0cworCXdvdWxkIG5vdCBiZSBhYmxlIHRvIGhpamFjayBhc3NvY2lhdGlvbnMuICBIb3dldmVyLCBvbGRlcgorCWltcGxlbWVudGF0aW9ucyBtYXkgbm90IGhhdmUgaW1wbGVtZW50ZWQgdGhpcyByZXF1aXJlbWVudCB3aGlsZQorCWFsbG93aW5nIHRoZSBBREQtSVAgZXh0ZW5zaW9uLiAgRm9yIHJlYXNvbnMgb2YgaW50ZXJvcGVyYWJpbGl0eSwKKwl3ZSBwcm92aWRlIHRoaXMgdmFyaWFibGUgdG8gY29udHJvbCB0aGUgZW5mb3JjZW1lbnQgb2YgdGhlCisJYXV0aGVudGljYXRpb24gcmVxdWlyZW1lbnQuCisKKwkxOiBBbGxvdyBBREQtSVAgZXh0ZW5zaW9uIHRvIGJlIHVzZWQgd2l0aG91dCBhdXRoZW50aWNhdGlvbi4gIFRoaXMKKwkgICBzaG91bGQgb25seSBiZSBzZXQgaW4gYSBjbG9zZWQgZW52aXJvbm1lbnQgZm9yIGludGVyb3BlcmFiaWxpdHkKKwkgICB3aXRoIG9sZGVyIGltcGxlbWVudGF0aW9ucy4KKworCTA6IEVuZm9yY2UgdGhlIGF1dGhlbnRpY2F0aW9uIHJlcXVpcmVtZW50CisKKwlEZWZhdWx0OiAwCisKK2F1dGhfZW5hYmxlIC0gQk9PTEVBTgorCUVuYWJsZSBvciBkaXNhYmxlIEF1dGhlbnRpY2F0ZWQgQ2h1bmtzIGV4dGVuc2lvbi4gIFRoaXMgZXh0ZW5zaW9uCisJcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gc2VuZCBhbmQgcmVjZWl2ZSBhdXRoZW50aWNhdGVkIGNodW5rcyBhbmQgaXMKKwlyZXF1aXJlZCBmb3Igc2VjdXJlIG9wZXJhdGlvbiBvZiBEeW5hbWljIEFkZHJlc3MgUmVjb25maWd1cmF0aW9uCisJKEFERC1JUCkgZXh0ZW5zaW9uLgorCisJMTogRW5hYmxlIHRoaXMgZXh0ZW5zaW9uLgorCTA6IERpc2FibGUgdGhpcyBleHRlbnNpb24uCisKKwlEZWZhdWx0OiAwCisKK3Byc2N0cF9lbmFibGUgLSBCT09MRUFOCisJRW5hYmxlIG9yIGRpc2FibGUgdGhlIFBhcnRpYWwgUmVsaWFiaWxpdHkgZXh0ZW5zaW9uIChSRkMzNzU4KSB3aGljaAorCWlzIHVzZWQgdG8gbm90aWZ5IHBlZXJzIHRoYXQgYSBnaXZlbiBEQVRBIHNob3VsZCBubyBsb25nZXIgYmUgZXhwZWN0ZWQuCisKKwkxOiBFbmFibGUgZXh0ZW5zaW9uCisJMDogRGlzYWJsZQorCisJRGVmYXVsdDogMQorCittYXhfYnVyc3QgLSBJTlRFR0VSCisJVGhlIGxpbWl0IG9mIHRoZSBudW1iZXIgb2YgbmV3IHBhY2tldHMgdGhhdCBjYW4gYmUgaW5pdGlhbGx5IHNlbnQuICBJdAorCWNvbnRyb2xzIGhvdyBidXJzdHkgdGhlIGdlbmVyYXRlZCB0cmFmZmljIGNhbiBiZS4KKworCURlZmF1bHQ6IDQKKworYXNzb2NpYXRpb25fbWF4X3JldHJhbnMgLSBJTlRFR0VSCisJU2V0IHRoZSBtYXhpbXVtIG51bWJlciBmb3IgcmV0cmFuc21pc3Npb25zIHRoYXQgYW4gYXNzb2NpYXRpb24gY2FuCisJYXR0ZW1wdCBkZWNpZGluZyB0aGF0IHRoZSByZW1vdGUgZW5kIGlzIHVucmVhY2hhYmxlLiAgSWYgdGhpcyB2YWx1ZQorCWlzIGV4Y2VlZGVkLCB0aGUgYXNzb2NpYXRpb24gaXMgdGVybWluYXRlZC4KKworCURlZmF1bHQ6IDEwCisKK21heF9pbml0X3JldHJhbnNtaXRzIC0gSU5URUdFUgorCVRoZSBtYXhpbXVtIG51bWJlciBvZiByZXRyYW5zbWlzc2lvbnMgb2YgSU5JVCBhbmQgQ09PS0lFLUVDSE8gY2h1bmtzCisJdGhhdCBhbiBhc3NvY2lhdGlvbiB3aWxsIGF0dGVtcHQgYmVmb3JlIGRlY2xhcmluZyB0aGUgZGVzdGluYXRpb24KKwl1bnJlYWNoYWJsZSBhbmQgdGVybWluYXRpbmcuCisKKwlEZWZhdWx0OiA4CisKK3BhdGhfbWF4X3JldHJhbnMgLSBJTlRFR0VSCisJVGhlIG1heGltdW0gbnVtYmVyIG9mIHJldHJhbnNtaXNzaW9ucyB0aGF0IHdpbGwgYmUgYXR0ZW1wdGVkIG9uIGEgZ2l2ZW4KKwlwYXRoLiAgT25jZSB0aGlzIHRocmVzaG9sZCBpcyBleGNlZWRlZCwgdGhlIHBhdGggaXMgY29uc2lkZXJlZAorCXVucmVhY2hhYmxlLCBhbmQgbmV3IHRyYWZmaWMgd2lsbCB1c2UgYSBkaWZmZXJlbnQgcGF0aCB3aGVuIHRoZQorCWFzc29jaWF0aW9uIGlzIG11bHRpaG9tZWQuCisKKwlEZWZhdWx0OiA1CisKK3J0b19pbml0aWFsIC0gSU5URUdFUgorCVRoZSBpbml0aWFsIHJvdW5kIHRyaXAgdGltZW91dCB2YWx1ZSBpbiBtaWxsaXNlY29uZHMgdGhhdCB3aWxsIGJlIHVzZWQKKwlpbiBjYWxjdWxhdGluZyByb3VuZCB0cmlwIHRpbWVzLiAgVGhpcyBpcyB0aGUgaW5pdGlhbCB0aW1lIGludGVydmFsCisJZm9yIHJldHJhbnNtaXNzaW9ucy4KKworCURlZmF1bHQ6IDMwMDAKKworcnRvX21heCAtIElOVEVHRVIKKwlUaGUgbWF4aW11bSB2YWx1ZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB0aGUgcm91bmQgdHJpcCB0aW1lb3V0LiAgVGhpcworCWlzIHRoZSBsYXJnZXN0IHRpbWUgaW50ZXJ2YWwgdGhhdCBjYW4gZWxhcHNlIGJldHdlZW4gcmV0cmFuc21pc3Npb25zLgorCisJRGVmYXVsdDogNjAwMDAKKworcnRvX21pbiAtIElOVEVHRVIKKwlUaGUgbWluaW11bSB2YWx1ZSAoaW4gbWlsbGlzZWNvbmRzKSBvZiB0aGUgcm91bmQgdHJpcCB0aW1lb3V0LiAgVGhpcworCWlzIHRoZSBzbWFsbGVzdCB0aW1lIGludGVydmFsIHRoZSBjYW4gZWxhcHNlIGJldHdlZW4gcmV0cmFuc21pc3Npb25zLgorCisJRGVmYXVsdDogMTAwMAorCitoYl9pbnRlcnZhbCAtIElOVEVHRVIKKwlUaGUgaW50ZXJ2YWwgKGluIG1pbGxpc2Vjb25kcykgYmV0d2VlbiBIRUFSVEJFQVQgY2h1bmtzLiAgVGhlc2UgY2h1bmtzCisJYXJlIHNlbnQgYXQgdGhlIHNwZWNpZmllZCBpbnRlcnZhbCBvbiBpZGxlIHBhdGhzIHRvIHByb2JlIHRoZSBzdGF0ZSBvZgorCWEgZ2l2ZW4gcGF0aCBiZXR3ZWVuIDIgYXNzb2NpYXRpb25zLgorCisJRGVmYXVsdDogMzAwMDAKKworc2Fja190aW1lb3V0IC0gSU5URUdFUgorCVRoZSBhbW91bnQgb2YgdGltZSAoaW4gbWlsbGlzZWNvbmRzKSB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiB3aWxsIHdhaXQKKwl0byBzZW5kIGEgU0FDSy4KKworCURlZmF1bHQ6IDIwMAorCit2YWxpZF9jb29raWVfbGlmZSAtIElOVEVHRVIKKwlUaGUgZGVmYXVsdCBsaWZldGltZSBvZiB0aGUgU0NUUCBjb29raWUgKGluIG1pbGxpc2Vjb25kcykuICBUaGUgY29va2llCisJaXMgdXNlZCBkdXJpbmcgYXNzb2NpYXRpb24gZXN0YWJsaXNobWVudC4KKworCURlZmF1bHQ6IDYwMDAwCisKK2Nvb2tpZV9wcmVzZXJ2ZV9lbmFibGUgLSBCT09MRUFOCisJRW5hYmxlIG9yIGRpc2FibGUgdGhlIGFiaWxpdHkgdG8gZXh0ZW5kIHRoZSBsaWZldGltZSBvZiB0aGUgU0NUUCBjb29raWUKKwl0aGF0IGlzIHVzZWQgZHVyaW5nIHRoZSBlc3RhYmxpc2htZW50IHBoYXNlIG9mIFNDVFAgYXNzb2NpYXRpb24KKworCTE6IEVuYWJsZSBjb29raWUgbGlmZXRpbWUgZXh0ZW5zaW9uLgorCTA6IERpc2FibGUKKworCURlZmF1bHQ6IDEKKworcmN2YnVmX3BvbGljeSAtIElOVEVHRVIKKwlEZXRlcm1pbmVzIGlmIHRoZSByZWNlaXZlIGJ1ZmZlciBpcyBhdHRyaWJ1dGVkIHRvIHRoZSBzb2NrZXQgb3IgdG8KKwlhc3NvY2lhdGlvbi4gICBTQ1RQIHN1cHBvcnRzIHRoZSBjYXBhYmlsaXR5IHRvIGNyZWF0ZSBtdWx0aXBsZQorCWFzc29jaWF0aW9ucyBvbiBhIHNpbmdsZSBzb2NrZXQuICBXaGVuIHVzaW5nIHRoaXMgY2FwYWJpbGl0eSwgaXQgaXMKKwlwb3NzaWJsZSB0aGF0IGEgc2luZ2xlIHN0YWxsZWQgYXNzb2NpYXRpb24gdGhhdCdzIGJ1ZmZlcmluZyBhIGxvdAorCW9mIGRhdGEgbWF5IGJsb2NrIG90aGVyIGFzc29jaWF0aW9ucyBmcm9tIGRlbGl2ZXJpbmcgdGhlaXIgZGF0YSBieQorCWNvbnN1bWluZyBhbGwgb2YgdGhlIHJlY2VpdmUgYnVmZmVyIHNwYWNlLiAgVG8gd29yayBhcm91bmQgdGhpcywKKwl0aGUgcmN2YnVmX3BvbGljeSBjb3VsZCBiZSBzZXQgdG8gYXR0cmlidXRlIHRoZSByZWNlaXZlciBidWZmZXIgc3BhY2UKKwl0byBlYWNoIGFzc29jaWF0aW9uIGluc3RlYWQgb2YgdGhlIHNvY2tldC4gIFRoaXMgcHJldmVudHMgdGhlIGRlc2NyaWJlZAorCWJsb2NraW5nLgorCisJMTogcmN2YnVmIHNwYWNlIGlzIHBlciBhc3NvY2lhdGlvbgorCTA6IHJlY2J1ZiBzcGFjZSBpcyBwZXIgc29ja2V0CisKKwlEZWZhdWx0OiAwCisKK3NuZGJ1Zl9wb2xpY3kgLSBJTlRFR0VSCisJU2ltaWxhciB0byByY3ZidWZfcG9saWN5IGFib3ZlLCB0aGlzIGFwcGxpZXMgdG8gc2VuZCBidWZmZXIgc3BhY2UuCisKKwkxOiBTZW5kIGJ1ZmZlciBpcyB0cmFja2VkIHBlciBhc3NvY2lhdGlvbgorCTA6IFNlbmQgYnVmZmVyIGlzIHRyYWNrZWQgcGVyIHNvY2tldC4KKworCURlZmF1bHQ6IDAKKworc2N0cF9tZW0gLSB2ZWN0b3Igb2YgMyBJTlRFR0VSczogbWluLCBwcmVzc3VyZSwgbWF4CisJTnVtYmVyIG9mIHBhZ2VzIGFsbG93ZWQgZm9yIHF1ZXVlaW5nIGJ5IGFsbCBTQ1RQIHNvY2tldHMuCisKKwltaW46IEJlbG93IHRoaXMgbnVtYmVyIG9mIHBhZ2VzIFNDVFAgaXMgbm90IGJvdGhlcmVkIGFib3V0IGl0cworCW1lbW9yeSBhcHBldGl0ZS4gV2hlbiBhbW91bnQgb2YgbWVtb3J5IGFsbG9jYXRlZCBieSBTQ1RQIGV4Y2VlZHMKKwl0aGlzIG51bWJlciwgU0NUUCBzdGFydHMgdG8gbW9kZXJhdGUgbWVtb3J5IHVzYWdlLgorCisJcHJlc3N1cmU6IFRoaXMgdmFsdWUgd2FzIGludHJvZHVjZWQgdG8gZm9sbG93IGZvcm1hdCBvZiB0Y3BfbWVtLgorCisJbWF4OiBOdW1iZXIgb2YgcGFnZXMgYWxsb3dlZCBmb3IgcXVldWVpbmcgYnkgYWxsIFNDVFAgc29ja2V0cy4KKworCURlZmF1bHQgaXMgY2FsY3VsYXRlZCBhdCBib290IHRpbWUgZnJvbSBhbW91bnQgb2YgYXZhaWxhYmxlIG1lbW9yeS4KKworc2N0cF9ybWVtIC0gdmVjdG9yIG9mIDMgSU5URUdFUnM6IG1pbiwgZGVmYXVsdCwgbWF4CisJU2VlIHRjcF9ybWVtIGZvciBhIGRlc2NyaXB0aW9uLgorCitzY3RwX3dtZW0gIC0gdmVjdG9yIG9mIDMgSU5URUdFUnM6IG1pbiwgZGVmYXVsdCwgbWF4CisJU2VlIHRjcF93bWVtIGZvciBhIGRlc2NyaXB0aW9uLgorCiBVTkRPQ1VNRU5URUQ6CiAKLWRldl93ZWlnaHQgRklYTUUKLWRpc2NvdmVyeV9zbG90cyBGSVhNRQotZGlzY292ZXJ5X3RpbWVvdXQgRklYTUUKLWZhc3RfcG9sbF9pbmNyZWFzZSBGSVhNRQotaXA2X3F1ZXVlX21heGxlbiBGSVhNRQotbGFwX2tlZXBhbGl2ZV90aW1lIEZJWE1FCi1sb19jb25nIEZJWE1FCi1tYXhfYmF1ZF9yYXRlIEZJWE1FCi1tYXhfZGdyYW1fcWxlbiBGSVhNRQotbWF4X25vcmVwbHlfdGltZSBGSVhNRQotbWF4X3R4X2RhdGFfc2l6ZSBGSVhNRQotbWF4X3R4X3dpbmRvdyBGSVhNRQotbWluX3R4X3R1cm5fdGltZSBGSVhNRQotbW9kX2NvbmcgRklYTUUKLW5vX2NvbmcgRklYTUUKLW5vX2NvbmdfdGhyZXNoIEZJWE1FCi1zbG90X3RpbWVvdXQgRklYTUUKLXdhcm5fbm9yZXBseV90aW1lIEZJWE1FCisvcHJvYy9zeXMvbmV0L2NvcmUvKgorCWRldl93ZWlnaHQgRklYTUUKIAorL3Byb2Mvc3lzL25ldC91bml4LyoKKwltYXhfZGdyYW1fcWxlbiBGSVhNRQorCisvcHJvYy9zeXMvbmV0L2lyZGEvKgorCWZhc3RfcG9sbF9pbmNyZWFzZSBGSVhNRQorCXdhcm5fbm9yZXBseV90aW1lIEZJWE1FCisJZGlzY292ZXJ5X3Nsb3RzIEZJWE1FCisJc2xvdF90aW1lb3V0IEZJWE1FCisJbWF4X2JhdWRfcmF0ZSBGSVhNRQorCWRpc2NvdmVyeV90aW1lb3V0IEZJWE1FCisJbGFwX2tlZXBhbGl2ZV90aW1lIEZJWE1FCisJbWF4X25vcmVwbHlfdGltZSBGSVhNRQorCW1heF90eF9kYXRhX3NpemUgRklYTUUKKwltYXhfdHhfd2luZG93IEZJWE1FCisJbWluX3R4X3R1cm5fdGltZSBGSVhNRQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ubWlfd2F0Y2hkb2cudHh0IGIvRG9jdW1lbnRhdGlvbi9ubWlfd2F0Y2hkb2cudHh0CmluZGV4IDc1N2M3MjkuLjkwYWE0NTMgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vbm1pX3dhdGNoZG9nLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL25taV93YXRjaGRvZy50eHQKQEAgLTEwLDcgKzEwLDcgQEAKIHdoaWNoIGdldCBleGVjdXRlZCBldmVuIGlmIHRoZSBzeXN0ZW0gaXMgb3RoZXJ3aXNlIGxvY2tlZCB1cCBoYXJkKS4KIFRoaXMgY2FuIGJlIHVzZWQgdG8gZGVidWcgaGFyZCBrZXJuZWwgbG9ja3Vwcy4gIEJ5IGV4ZWN1dGluZyBwZXJpb2RpYwogTk1JIGludGVycnVwdHMsIHRoZSBrZXJuZWwgY2FuIG1vbml0b3Igd2hldGhlciBhbnkgQ1BVIGhhcyBsb2NrZWQgdXAsCi1hbmQgcHJpbnQgb3V0IGRlYnVnZ2luZyBtZXNzYWdlcyBpZiBzby4gIAorYW5kIHByaW50IG91dCBkZWJ1Z2dpbmcgbWVzc2FnZXMgaWYgc28uCiAKIEluIG9yZGVyIHRvIHVzZSB0aGUgTk1JIHdhdGNoZG9nLCB5b3UgbmVlZCB0byBoYXZlIEFQSUMgc3VwcG9ydCBpbiB5b3VyCiBrZXJuZWwuIEZvciBTTVAga2VybmVscywgQVBJQyBzdXBwb3J0IGdldHMgY29tcGlsZWQgaW4gYXV0b21hdGljYWxseS4gRm9yCkBAIC0yMiw4ICsyMiw3IEBACiBrZXJuZWwgZGVidWdnaW5nIG9wdGlvbnMsIHN1Y2ggYXMgS2VybmVsIFN0YWNrIE1ldGVyIG9yIEtlcm5lbCBUcmFjZXIsCiBtYXkgaW1wbGljaXRseSBkaXNhYmxlIHRoZSBOTUkgd2F0Y2hkb2cuXQogCi1Gb3IgeDg2LTY0LCB0aGUgbmVlZGVkIEFQSUMgaXMgYWx3YXlzIGNvbXBpbGVkIGluLCBhbmQgdGhlIE5NSSB3YXRjaGRvZyBpcwotYWx3YXlzIGVuYWJsZWQgd2l0aCBJL08tQVBJQyBtb2RlIChubWlfd2F0Y2hkb2c9MSkuCitGb3IgeDg2LTY0LCB0aGUgbmVlZGVkIEFQSUMgaXMgYWx3YXlzIGNvbXBpbGVkIGluLgogCiBVc2luZyBsb2NhbCBBUElDIChubWlfd2F0Y2hkb2c9MikgbmVlZHMgdGhlIGZpcnN0IHBlcmZvcm1hbmNlIHJlZ2lzdGVyLCBzbwogeW91IGNhbid0IHVzZSBpdCBmb3Igb3RoZXIgcHVycG9zZXMgKHN1Y2ggYXMgaGlnaCBwcmVjaXNpb24gcGVyZm9ybWFuY2UKQEAgLTYzLDE2ICs2MiwxNSBAQAogImhsdCIsIHRoZW4geW91IGFyZSBvdXQgb2YgbHVjayAtLSB0aGUgZXZlbnQgd2lsbCBub3QgaGFwcGVuIGF0IGFsbCBhbmQgdGhlCiB3YXRjaGRvZyB3b24ndCB0cmlnZ2VyLiBUaGlzIGlzIGEgc2hvcnRjb21pbmcgb2YgdGhlIGxvY2FsIEFQSUMgd2F0Y2hkb2cKIC0tIHVuZm9ydHVuYXRlbHkgdGhlcmUgaXMgbm8gImNsb2NrIHRpY2tzIiBldmVudCB0aGF0IHdvdWxkIHdvcmsgYWxsIHRoZQotdGltZS4gVGhlIEkvTyBBUElDIHdhdGNoZG9nIGlzIGRyaXZlbiBleHRlcm5hbGx5IGFuZCBoYXMgbm8gc3VjaCBzaG9ydGNvbWluZy4gIAordGltZS4gVGhlIEkvTyBBUElDIHdhdGNoZG9nIGlzIGRyaXZlbiBleHRlcm5hbGx5IGFuZCBoYXMgbm8gc3VjaCBzaG9ydGNvbWluZy4KIEJ1dCBpdHMgTk1JIGZyZXF1ZW5jeSBpcyBtdWNoIGhpZ2hlciwgcmVzdWx0aW5nIGluIGEgbW9yZSBzaWduaWZpY2FudCBoaXQKIHRvIHRoZSBvdmVyYWxsIHN5c3RlbSBwZXJmb3JtYW5jZS4KIAotTk9URTogc3RhcnRpbmcgd2l0aCAyLjQuMi1hYzE4IHRoZSBOTUktb29wc2VyIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQsCi15b3UgaGF2ZSB0byBlbmFibGUgaXQgd2l0aCBhIGJvb3QgdGltZSBwYXJhbWV0ZXIuICBQcmlvciB0byAyLjQuMi1hYzE4Ci10aGUgTk1JLW9vcHNlciBpcyBlbmFibGVkIHVuY29uZGl0aW9uYWxseSBvbiB4ODYgU01QIGJveGVzLgorT24geDg2IG5taV93YXRjaGRvZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IHNvIHlvdSBoYXZlIHRvIGVuYWJsZSBpdCB3aXRoCithIGJvb3QgdGltZSBwYXJhbWV0ZXIuCiAKLU9uIHg4Ni02NCB0aGUgTk1JIG9vcHNlciBpcyBvbiBieSBkZWZhdWx0LiBPbiA2NGJpdCBJbnRlbCBDUFVzCi1pdCB1c2VzIElPLUFQSUMgYnkgZGVmYXVsdCBhbmQgb24gQU1EIGl0IHVzZXMgbG9jYWwgQVBJQy4KK05PVEU6IEluIGtlcm5lbHMgcHJpb3IgdG8gMi40LjItYWMxOCB0aGUgTk1JLW9vcHNlciBpcyBlbmFibGVkIHVuY29uZGl0aW9uYWxseQorb24geDg2IFNNUCBib3hlcy4KIAogWyBmZWVsIGZyZWUgdG8gc2VuZCBidWcgcmVwb3J0cywgc3VnZ2VzdGlvbnMgYW5kIHBhdGNoZXMgdG8KICAgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+IG9yIHRoZSBMaW51eCBTTVAgbWFpbGluZwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtZG9tYWlucy50eHQgYi9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1kb21haW5zLnR4dAppbmRleCBhOWU5OTBhLi4zNzNjZWFjIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1kb21haW5zLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1kb21haW5zLnR4dApAQCAtNjEsMTAgKzYxLDcgQEAKIGFyY2hfaW5pdF9zY2hlZF9kb21haW5zIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYXR0YWNoIGRvbWFpbnMgdG8gYWxsCiBDUFVzIHVzaW5nIGNwdV9hdHRhY2hfZG9tYWluLgogCi1JbXBsZW1lbnRvcnMgc2hvdWxkIGNoYW5nZSB0aGUgbGluZQotI3VuZGVmIFNDSEVEX0RPTUFJTl9ERUJVRwotdG8KLSNkZWZpbmUgU0NIRURfRE9NQUlOX0RFQlVHCi1pbiBrZXJuZWwvc2NoZWQuYyBhcyB0aGlzIGVuYWJsZXMgYW4gZXJyb3IgY2hlY2tpbmcgcGFyc2Ugb2YgdGhlIHNjaGVkIGRvbWFpbnMKK1RoZSBzY2hlZC1kb21haW5zIGRlYnVnZ2luZyBpbmZyYXN0cnVjdHVyZSBjYW4gYmUgZW5hYmxlZCBieSBlbmFibGluZworQ09ORklHX1NDSEVEX0RFQlVHLiBUaGlzIGVuYWJsZXMgYW4gZXJyb3IgY2hlY2tpbmcgcGFyc2Ugb2YgdGhlIHNjaGVkIGRvbWFpbnMKIHdoaWNoIHNob3VsZCBjYXRjaCBtb3N0IHBvc3NpYmxlIGVycm9ycyAoZGVzY3JpYmVkIGFib3ZlKS4gSXQgYWxzbyBwcmludHMgb3V0CiB0aGUgZG9tYWluIHN0cnVjdHVyZSBpbiBhIHZpc3VhbCBmb3JtYXQuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1ydC1ncm91cC50eHQgYi9Eb2N1bWVudGF0aW9uL3NjaGVkdWxlci9zY2hlZC1ydC1ncm91cC50eHQKaW5kZXggMTRmOTAxZi4uM2VmMzM5ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9zY2hlZHVsZXIvc2NoZWQtcnQtZ3JvdXAudHh0CisrKyBiL0RvY3VtZW50YXRpb24vc2NoZWR1bGVyL3NjaGVkLXJ0LWdyb3VwLnR4dApAQCAtNTEsOSArNTEsOSBAQAogMC4wMDAxNXMuIFNvIHRoaXMgZ3JvdXAgY2FuIGJlIHNjaGVkdWxlZCB3aXRoIGEgcGVyaW9kIG9mIDAuMDA1cyBhbmQgYSBydW4gdGltZQogb2YgMC4wMDAxNXMuCiAKLVRoZSByZW1haW5pbmcgQ1BVIHRpbWUgd2lsbCBiZSB1c2VkIGZvciB1c2VyIGlucHV0IGFuZCBvdGhlciB0YXNzLiBCZWNhdXNlCitUaGUgcmVtYWluaW5nIENQVSB0aW1lIHdpbGwgYmUgdXNlZCBmb3IgdXNlciBpbnB1dCBhbmQgb3RoZXIgdGFza3MuIEJlY2F1c2UKIHJlYWx0aW1lIHRhc2tzIGhhdmUgZXhwbGljaXRseSBhbGxvY2F0ZWQgdGhlIENQVSB0aW1lIHRoZXkgbmVlZCB0byBwZXJmb3JtCi10aGVpciB0YXNrcywgYnVmZmVyIHVuZGVycnVucyBpbiB0aGUgZ3JhcGhvY3Mgb3IgYXVkaW8gY2FuIGJlIGVsaW1pbmF0ZWQuCit0aGVpciB0YXNrcywgYnVmZmVyIHVuZGVycnVucyBpbiB0aGUgZ3JhcGhpY3Mgb3IgYXVkaW8gY2FuIGJlIGVsaW1pbmF0ZWQuCiAKIE5PVEU6IHRoZSBhYm92ZSBleGFtcGxlIGlzIG5vdCBmdWxseSBpbXBsZW1lbnRlZCBhcyBvZiB5ZXQgKDIuNi4yNSkuIFdlIHN0aWxsCiBsYWNrIGFuIEVERiBzY2hlZHVsZXIgdG8gbWFrZSBub24tdW5pZm9ybSBwZXJpb2RzIHVzYWJsZS4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9BTFNBLUNvbmZpZ3VyYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0FMU0EtQ29uZmlndXJhdGlvbi50eHQKaW5kZXggMGJiZWUzOC4uNzJhZmY2MSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0FMU0EtQ29uZmlndXJhdGlvbi50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9zb3VuZC9hbHNhL0FMU0EtQ29uZmlndXJhdGlvbi50eHQKQEAgLTc1Myw4ICs3NTMsMTEgQEAKIAogICAgIFtNdWx0aXBsZSBvcHRpb25zIGZvciBlYWNoIGNhcmQgaW5zdGFuY2VdCiAgICAgbW9kZWwJLSBmb3JjZSB0aGUgbW9kZWwgbmFtZQotICAgIHBvc2l0aW9uX2ZpeCAtIEZpeCBETUEgcG9pbnRlciAoMCA9IGF1dG8sIDEgPSBub25lLCAyID0gUE9TQlVGLCAzID0gRklGTyBzaXplKQorICAgIHBvc2l0aW9uX2ZpeCAtIEZpeCBETUEgcG9pbnRlciAoMCA9IGF1dG8sIDEgPSB1c2UgTFBJQiwgMiA9IFBPU0JVRikKICAgICBwcm9iZV9tYXNrICAtIEJpdG1hc2sgdG8gcHJvYmUgY29kZWNzIChkZWZhdWx0ID0gLTEsIG1lYW5pbmcgYWxsIHNsb3RzKQorICAgIGJkbF9wb3NfYWRqCS0gU3BlY2lmaWVzIHRoZSBETUEgSVJRIHRpbWluZyBkZWxheSBpbiBzYW1wbGVzLgorCQlQYXNzaW5nIC0xIHdpbGwgbWFrZSB0aGUgZHJpdmVyIHRvIGNob29zZSB0aGUgYXBwcm9wcmlhdGUKKwkJdmFsdWUgYmFzZWQgb24gdGhlIGNvbnRyb2xsZXIgY2hpcC4KICAgICAKICAgICBbU2luZ2xlIChnbG9iYWwpIG9wdGlvbnNdCiAgICAgc2luZ2xlX2NtZCAgLSBVc2Ugc2luZ2xlIGltbWVkaWF0ZSBjb21tYW5kcyB0byBjb21tdW5pY2F0ZSB3aXRoCkBAIC04NDUsNyArODQ4LDcgQEAKIAlBTEMyNjkKIAkgIGJhc2ljCQlCYXNpYyBwcmVzZXQKIAotCUFMQzY2MgorCUFMQzY2Mi82NjMKIAkgIDNzdGFjay1kaWcJMy1zdGFjayAoMi1jaGFubmVsKSB3aXRoIFNQRElGCiAJICAzc3RhY2stNmNoCSAzLXN0YWNrICg2LWNoYW5uZWwpCiAJICAzc3RhY2stNmNoLWRpZyAzLXN0YWNrICg2LWNoYW5uZWwpIHdpdGggU1BESUYKQEAgLTg1Myw2ICs4NTYsMTAgQEAKIAkgIGxlbm92by0xMDFlCSBMZW5vdm8gbGFwdG9wCiAJICBlZWVwYy1wNzAxCUFTVVMgRWVlcGMgUDcwMQogCSAgZWVlcGMtZXAyMAlBU1VTIEVlZXBjIEVQMjAKKwkgIG01MXZhCQlBU1VTIE01MVZBCisJICBnNzF2CQlBU1VTIEc3MVYKKwkgIGgxMwkJQVNVUyBIMTMKKwkgIGc1MHYJCUFTVVMgRzUwVgogCSAgYXV0bwkJYXV0by1jb25maWcgcmVhZGluZyBCSU9TIChkZWZhdWx0KQogCiAJQUxDODgyLzg4NQpAQCAtMTA5MSw3ICsxMDk4LDcgQEAKICAgICBUaGlzIG9jY3VycyB3aGVuIHRoZSBhY2Nlc3MgdG8gbm9uLWV4aXN0aW5nIG9yIG5vbi13b3JraW5nIGNvZGVjIHNsb3QKICAgICAobGlrZWx5IGEgbW9kZW0gb25lKSBjYXVzZXMgYSBzdGFsbCBvZiB0aGUgY29tbXVuaWNhdGlvbiB2aWEgSEQtYXVkaW8KICAgICBidXMuICBZb3UgY2FuIHNlZSB3aGljaCBjb2RlYyBzbG90cyBhcmUgcHJvYmVkIGJ5IGVuYWJsaW5nCi0gICAgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QsIG9yIHNpbXBseSBmcm9tIHRoZSBmaWxlIG5hbWUgb2YgdGhlIGNvZGVjCisgICAgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFLCBvciBzaW1wbHkgZnJvbSB0aGUgZmlsZSBuYW1lIG9mIHRoZSBjb2RlYwogICAgIHByb2MgZmlsZXMuICBUaGVuIGxpbWl0IHRoZSBzbG90cyB0byBwcm9iZSBieSBwcm9iZV9tYXNrIG9wdGlvbi4KICAgICBGb3IgZXhhbXBsZSwgcHJvYmVfbWFzaz0xIG1lYW5zIHRvIHByb2JlIG9ubHkgdGhlIGZpcnN0IHNsb3QsIGFuZAogICAgIHByb2JlX21hc2s9NCBtZWFucyBvbmx5IHRoZSB0aGlyZCBzbG90LgpAQCAtMjI2Nyw2ICsyMjc0LDEwIEBACiBvdGhlciBkcml2ZXIgKGUuZy4gc25kLXVzYi1hdWRpbykgaXMgbG9hZGVkIGJlZm9yZSBzbmQtaW50ZXJ3YXZlIG9yCiBzbmQtZW5zMTM3MSwgaXQgd2lsbCBiZSBhc3NpZ25lZCB0byB0aGUgdGhpcmQgb3IgbGF0ZXIgc2xvdC4KIAorV2hlbiBhIG1vZHVsZSBuYW1lIGlzIGdpdmVuIHdpdGggJyEnLCB0aGUgc2xvdCB3aWxsIGJlIGdpdmVuIGZvciBhbnkKK21vZHVsZXMgYnV0IHRoYXQgbmFtZS4gIEZvciBleGFtcGxlLCAic2xvdHM9IXNuZC1wY3NwIiB3aWxsIHJlc2VydmUKK3RoZSBmaXJzdCBzbG90IGZvciBhbnkgbW9kdWxlcyBidXQgc25kLXBjc3AuIAorCiAKIEFMU0EgUENNIGRldmljZXMgdG8gT1NTIGRldmljZXMgbWFwcGluZwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvRG9jQm9vay93cml0aW5nLWFuLWFsc2EtZHJpdmVyLnRtcGwgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvRG9jQm9vay93cml0aW5nLWFuLWFsc2EtZHJpdmVyLnRtcGwKaW5kZXggYjAzZGY0ZDQuLmUxM2M0ZTYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vc291bmQvYWxzYS9Eb2NCb29rL3dyaXRpbmctYW4tYWxzYS1kcml2ZXIudG1wbAorKysgYi9Eb2N1bWVudGF0aW9uL3NvdW5kL2Fsc2EvRG9jQm9vay93cml0aW5nLWFuLWFsc2EtZHJpdmVyLnRtcGwKQEAgLTYxMjcsOCArNjEyNyw4IEBACiAKICAgICAgIDxwYXJhPgogICAgICAgICA8ZnVuY3Rpb24+c25kX3ByaW50ZGQoKTwvZnVuY3Rpb24+IGlzIGNvbXBpbGVkIGluIG9ubHkgd2hlbgotICAgICAgPGNvbnN0YW50PkNPTkZJR19TTkRfREVCVUdfREVURUNUPC9jb25zdGFudD4gaXMgc2V0LiBQbGVhc2Ugbm90ZQotICAgICAgdGhhdCA8Y29uc3RhbnQ+REVCVUdfREVURUNUPC9jb25zdGFudD4gaXMgbm90IHNldCBhcyBkZWZhdWx0CisgICAgICA8Y29uc3RhbnQ+Q09ORklHX1NORF9ERUJVR19WRVJCT1NFPC9jb25zdGFudD4gaXMgc2V0LiBQbGVhc2Ugbm90ZQorICAgICAgdGhhdCA8Y29uc3RhbnQ+Q09ORklHX1NORF9ERUJVR19WRVJCT1NFPC9jb25zdGFudD4gaXMgbm90IHNldCBhcyBkZWZhdWx0CiAgICAgICBldmVuIGlmIHlvdSBjb25maWd1cmUgdGhlIGFsc2EtZHJpdmVyIHdpdGgKICAgICAgIDxvcHRpb24+LS13aXRoLWRlYnVnPWZ1bGw8L29wdGlvbj4gb3B0aW9uLiBZb3UgbmVlZCB0byBnaXZlCiAgICAgICBleHBsaWNpdGx5IDxvcHRpb24+LS13aXRoLWRlYnVnPWRldGVjdDwvb3B0aW9uPiBvcHRpb24gaW5zdGVhZC4gCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dCBiL0RvY3VtZW50YXRpb24vdHJhY2Vycy9tbWlvdHJhY2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YWZiNTYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dApAQCAtMCwwICsxLDE2NCBAQAorCQlJbi1rZXJuZWwgbWVtb3J5LW1hcHBlZCBJL08gdHJhY2luZworCisKK0hvbWUgcGFnZSBhbmQgbGlua3MgdG8gb3B0aW9uYWwgdXNlciBzcGFjZSB0b29sczoKKworCWh0dHA6Ly9ub3V2ZWF1LmZyZWVkZXNrdG9wLm9yZy93aWtpL01taW9UcmFjZQorCitNTUlPIHRyYWNpbmcgd2FzIG9yaWdpbmFsbHkgZGV2ZWxvcGVkIGJ5IEludGVsIGFyb3VuZCAyMDAzIGZvciB0aGVpciBGYXVsdAorSW5qZWN0aW9uIFRlc3QgSGFybmVzcy4gSW4gRGVjIDIwMDYgLSBKYW4gMjAwNywgdXNpbmcgdGhlIGNvZGUgZnJvbSBJbnRlbCwKK0plZmYgTXVpemVsYWFyIGNyZWF0ZWQgYSB0b29sIGZvciB0cmFjaW5nIE1NSU8gYWNjZXNzZXMgd2l0aCB0aGUgTm91dmVhdQorcHJvamVjdCBpbiBtaW5kLiBTaW5jZSB0aGVuIG1hbnkgcGVvcGxlIGhhdmUgY29udHJpYnV0ZWQuCisKK01taW90cmFjZSB3YXMgYnVpbHQgZm9yIHJldmVyc2UgZW5naW5lZXJpbmcgYW55IG1lbW9yeS1tYXBwZWQgSU8gZGV2aWNlIHdpdGgKK3RoZSBOb3V2ZWF1IHByb2plY3QgYXMgdGhlIGZpcnN0IHJlYWwgdXNlci4gT25seSB4ODYgYW5kIHg4Nl82NCBhcmNoaXRlY3R1cmVzCithcmUgc3VwcG9ydGVkLgorCitPdXQtb2YtdHJlZSBtbWlvdHJhY2Ugd2FzIG9yaWdpbmFsbHkgbW9kaWZpZWQgZm9yIG1haW5saW5lIGluY2x1c2lvbiBhbmQKK2Z0cmFjZSBmcmFtZXdvcmsgYnkgUGVra2EgUGFhbGFuZW4gPHBxQGlraS5maT4uCisKKworUHJlcGFyYXRpb24KKy0tLS0tLS0tLS0tCisKK01taW90cmFjZSBmZWF0dXJlIGlzIGNvbXBpbGVkIGluIGJ5IHRoZSBDT05GSUdfTU1JT1RSQUNFIG9wdGlvbi4gVHJhY2luZyBpcworZGlzYWJsZWQgYnkgZGVmYXVsdCwgc28gaXQgaXMgc2FmZSB0byBoYXZlIHRoaXMgc2V0IHRvIHllcy4gU01QIHN5c3RlbXMgYXJlCitzdXBwb3J0ZWQsIGJ1dCB0cmFjaW5nIGlzIHVucmVsaWFibGUgYW5kIG1heSBtaXNzIGV2ZW50cyBpZiBtb3JlIHRoYW4gb25lIENQVQoraXMgb24tbGluZSwgdGhlcmVmb3JlIG1taW90cmFjZSB0YWtlcyBhbGwgYnV0IG9uZSBDUFUgb2ZmLWxpbmUgZHVyaW5nIHJ1bi10aW1lCithY3RpdmF0aW9uLiBZb3UgY2FuIHJlLWVuYWJsZSBDUFVzIGJ5IGhhbmQsIGJ1dCB5b3UgaGF2ZSBiZWVuIHdhcm5lZCwgdGhlcmUKK2lzIG5vIHdheSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCBpZiB5b3UgYXJlIGxvc2luZyBldmVudHMgZHVlIHRvIENQVXMgcmFjaW5nLgorCisKK1VzYWdlIFF1aWNrIFJlZmVyZW5jZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyQgbW91bnQgLXQgZGVidWdmcyBkZWJ1Z2ZzIC9kZWJ1ZworJCBlY2hvIG1taW90cmFjZSA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyCiskIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9waXBlID4gbXlkdW1wLnR4dCAmCitTdGFydCBYIG9yIHdoYXRldmVyLgorJCBlY2hvICJYIGlzIHVwIiA+IC9kZWJ1Zy90cmFjaW5nL21hcmtlcgorJCBlY2hvIG5vbmUgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorQ2hlY2sgZm9yIGxvc3QgZXZlbnRzLgorCisKK1VzYWdlCistLS0tLQorCitNYWtlIHN1cmUgZGVidWdmcyBpcyBtb3VudGVkIHRvIC9kZWJ1Zy4gSWYgbm90LCAocmVxdWlyZXMgcm9vdCBwcml2aWxlZ2VzKQorJCBtb3VudCAtdCBkZWJ1Z2ZzIGRlYnVnZnMgL2RlYnVnCisKK0NoZWNrIHRoYXQgdGhlIGRyaXZlciB5b3UgYXJlIGFib3V0IHRvIHRyYWNlIGlzIG5vdCBsb2FkZWQuCisKK0FjdGl2YXRlIG1taW90cmFjZSAocmVxdWlyZXMgcm9vdCBwcml2aWxlZ2VzKToKKyQgZWNobyBtbWlvdHJhY2UgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorCitTdGFydCBzdG9yaW5nIHRoZSB0cmFjZToKKyQgY2F0IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX3BpcGUgPiBteWR1bXAudHh0ICYKK1RoZSAnY2F0JyBwcm9jZXNzIHNob3VsZCBzdGF5IHJ1bm5pbmcgKHNsZWVwaW5nKSBpbiB0aGUgYmFja2dyb3VuZC4KKworTG9hZCB0aGUgZHJpdmVyIHlvdSB3YW50IHRvIHRyYWNlIGFuZCB1c2UgaXQuIE1taW90cmFjZSB3aWxsIG9ubHkgY2F0Y2ggTU1JTworYWNjZXNzZXMgdG8gYXJlYXMgdGhhdCBhcmUgaW9yZW1hcHBlZCB3aGlsZSBtbWlvdHJhY2UgaXMgYWN0aXZlLgorCitbVW5pbXBsZW1lbnRlZCBmZWF0dXJlOl0KK0R1cmluZyB0cmFjaW5nIHlvdSBjYW4gcGxhY2UgY29tbWVudHMgKG1hcmtlcnMpIGludG8gdGhlIHRyYWNlIGJ5CiskIGVjaG8gIlggaXMgdXAiID4gL2RlYnVnL3RyYWNpbmcvbWFya2VyCitUaGlzIG1ha2VzIGl0IGVhc2llciB0byBzZWUgd2hpY2ggcGFydCBvZiB0aGUgKGh1Z2UpIHRyYWNlIGNvcnJlc3BvbmRzIHRvCit3aGljaCBhY3Rpb24uIEl0IGlzIHJlY29tbWVuZGVkIHRvIHBsYWNlIGRlc2NyaXB0aXZlIG1hcmtlcnMgYWJvdXQgd2hhdCB5b3UKK2RvLgorCitTaHV0IGRvd24gbW1pb3RyYWNlIChyZXF1aXJlcyByb290IHByaXZpbGVnZXMpOgorJCBlY2hvIG5vbmUgPiAvZGVidWcvdHJhY2luZy9jdXJyZW50X3RyYWNlcgorVGhlICdjYXQnIHByb2Nlc3MgZXhpdHMuIElmIGl0IGRvZXMgbm90LCBraWxsIGl0IGJ5IGlzc3VpbmcgJ2ZnJyBjb21tYW5kIGFuZAorcHJlc3NpbmcgY3RybCtjLgorCitDaGVjayB0aGF0IG1taW90cmFjZSBkaWQgbm90IGxvc2UgZXZlbnRzIGR1ZSB0byBhIGJ1ZmZlciBmaWxsaW5nIHVwLiBFaXRoZXIKKyQgZ3JlcCAtaSBsb3N0IG15ZHVtcC50eHQKK3doaWNoIHRlbGxzIHlvdSBleGFjdGx5IGhvdyBtYW55IGV2ZW50cyB3ZXJlIGxvc3QsIG9yIHVzZQorJCBkbWVzZwordG8gdmlldyB5b3VyIGtlcm5lbCBsb2cgYW5kIGxvb2sgZm9yICJtbWlvdHJhY2UgaGFzIGxvc3QgZXZlbnRzIiB3YXJuaW5nLiBJZgorZXZlbnRzIHdlcmUgbG9zdCwgdGhlIHRyYWNlIGlzIGluY29tcGxldGUuIFlvdSBzaG91bGQgZW5sYXJnZSB0aGUgYnVmZmVycyBhbmQKK3RyeSBhZ2Fpbi4gQnVmZmVycyBhcmUgZW5sYXJnZWQgYnkgZmlyc3Qgc2VlaW5nIGhvdyBsYXJnZSB0aGUgY3VycmVudCBidWZmZXJzCithcmU6CiskIGNhdCAvZGVidWcvdHJhY2luZy90cmFjZV9lbnRyaWVzCitnaXZlcyB5b3UgYSBudW1iZXIuIEFwcHJveGltYXRlbHkgZG91YmxlIHRoaXMgbnVtYmVyIGFuZCB3cml0ZSBpdCBiYWNrLCBmb3IKK2luc3RhbmNlOgorJCBlY2hvIDEyODAwMCA+IC9kZWJ1Zy90cmFjaW5nL3RyYWNlX2VudHJpZXMKK1RoZW4gc3RhcnQgYWdhaW4gZnJvbSB0aGUgdG9wLgorCitJZiB5b3UgYXJlIGRvaW5nIGEgdHJhY2UgZm9yIGEgZHJpdmVyIHByb2plY3QsIGUuZy4gTm91dmVhdSwgeW91IHNob3VsZCBhbHNvCitkbyB0aGUgZm9sbG93aW5nIGJlZm9yZSBzZW5kaW5nIHlvdXIgcmVzdWx0czoKKyQgbHNwY2kgLXZ2diA+IGxzcGNpLnR4dAorJCBkbWVzZyA+IGRtZXNnLnR4dAorJCB0YXIgemNmIHBjaWlkLW5pY2stbW1pb3RyYWNlLnRhci5neiBteWR1bXAudHh0IGxzcGNpLnR4dCBkbWVzZy50eHQKK2FuZCB0aGVuIHNlbmQgdGhlIC50YXIuZ3ogZmlsZS4gVGhlIHRyYWNlIGNvbXByZXNzZXMgY29uc2lkZXJhYmx5LiBSZXBsYWNlCisicGNpaWQiIGFuZCAibmljayIgd2l0aCB0aGUgUENJIElEIG9yIG1vZGVsIG5hbWUgb2YgeW91ciBwaWVjZSBvZiBoYXJkd2FyZQordW5kZXIgaW52ZXN0aWdhdGlvbiBhbmQgeW91ciBuaWNrIG5hbWUuCisKKworSG93IE1taW90cmFjZSBXb3JrcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitBY2Nlc3MgdG8gaGFyZHdhcmUgSU8tbWVtb3J5IGlzIGdhaW5lZCBieSBtYXBwaW5nIGFkZHJlc3NlcyBmcm9tIFBDSSBidXMgYnkKK2NhbGxpbmcgb25lIG9mIHRoZSBpb3JlbWFwXyooKSBmdW5jdGlvbnMuIE1taW90cmFjZSBpcyBob29rZWQgaW50byB0aGUKK19faW9yZW1hcCgpIGZ1bmN0aW9uIGFuZCBnZXRzIGNhbGxlZCB3aGVuZXZlciBhIG1hcHBpbmcgaXMgY3JlYXRlZC4gTWFwcGluZyBpcworYW4gZXZlbnQgdGhhdCBpcyByZWNvcmRlZCBpbnRvIHRoZSB0cmFjZSBsb2cuIE5vdGUsIHRoYXQgSVNBIHJhbmdlIG1hcHBpbmdzCithcmUgbm90IGNhdWdodCwgc2luY2UgdGhlIG1hcHBpbmcgYWx3YXlzIGV4aXN0cyBhbmQgaXMgcmV0dXJuZWQgZGlyZWN0bHkuCisKK01NSU8gYWNjZXNzZXMgYXJlIHJlY29yZGVkIHZpYSBwYWdlIGZhdWx0cy4gSnVzdCBiZWZvcmUgX19pb3JlbWFwKCkgcmV0dXJucywKK3RoZSBtYXBwZWQgcGFnZXMgYXJlIG1hcmtlZCBhcyBub3QgcHJlc2VudC4gQW55IGFjY2VzcyB0byB0aGUgcGFnZXMgY2F1c2VzIGEKK2ZhdWx0LiBUaGUgcGFnZSBmYXVsdCBoYW5kbGVyIGNhbGxzIG1taW90cmFjZSB0byBoYW5kbGUgdGhlIGZhdWx0LiBNbWlvdHJhY2UKK21hcmtzIHRoZSBwYWdlIHByZXNlbnQsIHNldHMgVEYgZmxhZyB0byBhY2hpZXZlIHNpbmdsZSBzdGVwcGluZyBhbmQgZXhpdHMgdGhlCitmYXVsdCBoYW5kbGVyLiBUaGUgaW5zdHJ1Y3Rpb24gdGhhdCBmYXVsdGVkIGlzIGV4ZWN1dGVkIGFuZCBkZWJ1ZyB0cmFwIGlzCitlbnRlcmVkLiBIZXJlIG1taW90cmFjZSBhZ2FpbiBtYXJrcyB0aGUgcGFnZSBhcyBub3QgcHJlc2VudC4gVGhlIGluc3RydWN0aW9uCitpcyBkZWNvZGVkIHRvIGdldCB0aGUgdHlwZSBvZiBvcGVyYXRpb24gKHJlYWQvd3JpdGUpLCBkYXRhIHdpZHRoIGFuZCB0aGUgdmFsdWUKK3JlYWQgb3Igd3JpdHRlbi4gVGhlc2UgYXJlIHN0b3JlZCB0byB0aGUgdHJhY2UgbG9nLgorCitTZXR0aW5nIHRoZSBwYWdlIHByZXNlbnQgaW4gdGhlIHBhZ2UgZmF1bHQgaGFuZGxlciBoYXMgYSByYWNlIGNvbmRpdGlvbiBvbiBTTVAKK21hY2hpbmVzLiBEdXJpbmcgdGhlIHNpbmdsZSBzdGVwcGluZyBvdGhlciBDUFVzIG1heSBydW4gZnJlZWx5IG9uIHRoYXQgcGFnZQorYW5kIGV2ZW50cyBjYW4gYmUgbWlzc2VkIHdpdGhvdXQgYSBub3RpY2UuIFJlLWVuYWJsaW5nIG90aGVyIENQVXMgZHVyaW5nCit0cmFjaW5nIGlzIGRpc2NvdXJhZ2VkLgorCisKK1RyYWNlIExvZyBGb3JtYXQKKy0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHJhdyBsb2cgaXMgdGV4dCBhbmQgZWFzaWx5IGZpbHRlcmVkIHdpdGggZS5nLiBncmVwIGFuZCBhd2suIE9uZSByZWNvcmQgaXMKK29uZSBsaW5lIGluIHRoZSBsb2cuIEEgcmVjb3JkIHN0YXJ0cyB3aXRoIGEga2V5d29yZCwgZm9sbG93ZWQgYnkga2V5d29yZAorZGVwZW5kYW50IGFyZ3VtZW50cy4gQXJndW1lbnRzIGFyZSBzZXBhcmF0ZWQgYnkgYSBzcGFjZSwgb3IgY29udGludWUgdW50aWwgdGhlCitlbmQgb2YgbGluZS4gVGhlIGZvcm1hdCBmb3IgdmVyc2lvbiAyMDA3MDgyNCBpcyBhcyBmb2xsb3dzOgorCitFeHBsYW5hdGlvbglLZXl3b3JkCVNwYWNlIHNlcGFyYXRlZCBhcmd1bWVudHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCityZWFkIGV2ZW50CVIJd2lkdGgsIHRpbWVzdGFtcCwgbWFwIGlkLCBwaHlzaWNhbCwgdmFsdWUsIFBDLCBQSUQKK3dyaXRlIGV2ZW50CVcJd2lkdGgsIHRpbWVzdGFtcCwgbWFwIGlkLCBwaHlzaWNhbCwgdmFsdWUsIFBDLCBQSUQKK2lvcmVtYXAgZXZlbnQJTUFQCXRpbWVzdGFtcCwgbWFwIGlkLCBwaHlzaWNhbCwgdmlydHVhbCwgbGVuZ3RoLCBQQywgUElECitpb3VubWFwIGV2ZW50CVVOTUFQCXRpbWVzdGFtcCwgbWFwIGlkLCBQQywgUElECittYXJrZXIJCU1BUksJdGltZXN0YW1wLCB0ZXh0Cit2ZXJzaW9uCQlWRVJTSU9OCXRoZSBzdHJpbmcgIjIwMDcwODI0IgoraW5mbyBmb3IgcmVhZGVyCUxTUENJCW9uZSBsaW5lIGZyb20gbHNwY2kgLXYKK1BDSSBhZGRyZXNzIG1hcAlQQ0lERVYJc3BhY2Ugc2VwYXJhdGVkIC9wcm9jL2J1cy9wY2kvZGV2aWNlcyBkYXRhCit1bmsuIG9wY29kZQlVTktOT1dOCXRpbWVzdGFtcCwgbWFwIGlkLCBwaHlzaWNhbCwgZGF0YSwgUEMsIFBJRAorCitUaW1lc3RhbXAgaXMgaW4gc2Vjb25kcyB3aXRoIGRlY2ltYWxzLiBQaHlzaWNhbCBpcyBhIFBDSSBidXMgYWRkcmVzcywgdmlydHVhbAoraXMgYSBrZXJuZWwgdmlydHVhbCBhZGRyZXNzLiBXaWR0aCBpcyB0aGUgZGF0YSB3aWR0aCBpbiBieXRlcyBhbmQgdmFsdWUgaXMgdGhlCitkYXRhIHZhbHVlLiBNYXAgaWQgaXMgYW4gYXJiaXRyYXJ5IGlkIG51bWJlciBpZGVudGlmeWluZyB0aGUgbWFwcGluZyB0aGF0IHdhcwordXNlZCBpbiBhbiBvcGVyYXRpb24uIFBDIGlzIHRoZSBwcm9ncmFtIGNvdW50ZXIgYW5kIFBJRCBpcyBwcm9jZXNzIGlkLiBQQyBpcworemVybyBpZiBpdCBpcyBub3QgcmVjb3JkZWQuIFBJRCBpcyBhbHdheXMgemVybyBhcyB0cmFjaW5nIE1NSU8gYWNjZXNzZXMKK29yaWdpbmF0aW5nIGluIHVzZXIgc3BhY2UgbWVtb3J5IGlzIG5vdCB5ZXQgc3VwcG9ydGVkLgorCitGb3IgaW5zdGFuY2UsIHRoZSBmb2xsb3dpbmcgYXdrIGZpbHRlciB3aWxsIHBhc3MgYWxsIDMyLWJpdCB3cml0ZXMgdGhhdCB0YXJnZXQKK3BoeXNpY2FsIGFkZHJlc3NlcyBpbiB0aGUgcmFuZ2UgWzB4ZmI3M2NlNDAsIDB4ZmI4MDAwMDBbCisKKyQgYXdrICcvVyA0IC8geyBhZHI9c3RydG9udW0oJDUpOyBpZiAoYWRyID49IDB4ZmI3M2NlNDAgJiYKK2FkciA8IDB4ZmI4MDAwMDApIHByaW50OyB9JworCisKK1Rvb2xzIGZvciBEZXZlbG9wZXJzCistLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgdXNlciBzcGFjZSB0b29scyBpbmNsdWRlIHV0aWxpdGllcyBmb3I6CistIHJlcGxhY2luZyBudW1lcmljIGFkZHJlc3NlcyBhbmQgdmFsdWVzIHdpdGggaGFyZHdhcmUgcmVnaXN0ZXIgbmFtZXMKKy0gcmVwbGF5aW5nIE1NSU8gbG9ncywgaS5lLiwgcmUtZXhlY3V0aW5nIHRoZSByZWNvcmRlZCB3cml0ZXMKKworCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2kzODYvSU8tQVBJQy50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L0lPLUFQSUMudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL2kzODYvSU8tQVBJQy50eHQKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L2kzODYvSU8tQVBJQy50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTM4Ni9ib290LnR4dCBiL0RvY3VtZW50YXRpb24veDg2L2kzODYvYm9vdC50eHQKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni9pMzg2L2Jvb3QudHh0CmluZGV4IDk1YWQxNWMuLjE0N2JmZTUgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vaTM4Ni9ib290LnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L2Jvb3QudHh0CkBAIC0xLDE3ICsxLDE0IEBACi0JCSAgICAgVEhFIExJTlVYL0kzODYgQk9PVCBQUk9UT0NPTAotCQkgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwkJICAgICBUSEUgTElOVVgveDg2IEJPT1QgUFJPVE9DT0wKKwkJICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotCQkgICAgSC4gUGV0ZXIgQW52aW4gPGhwYUB6eXRvci5jb20+Ci0JCQlMYXN0IHVwZGF0ZSAyMDA3LTA1LTIzCi0KLU9uIHRoZSBpMzg2IHBsYXRmb3JtLCB0aGUgTGludXgga2VybmVsIHVzZXMgYSByYXRoZXIgY29tcGxpY2F0ZWQgYm9vdAorT24gdGhlIHg4NiBwbGF0Zm9ybSwgdGhlIExpbnV4IGtlcm5lbCB1c2VzIGEgcmF0aGVyIGNvbXBsaWNhdGVkIGJvb3QKIGNvbnZlbnRpb24uICBUaGlzIGhhcyBldm9sdmVkIHBhcnRpYWxseSBkdWUgdG8gaGlzdG9yaWNhbCBhc3BlY3RzLCBhcwogd2VsbCBhcyB0aGUgZGVzaXJlIGluIHRoZSBlYXJseSBkYXlzIHRvIGhhdmUgdGhlIGtlcm5lbCBpdHNlbGYgYmUgYQogYm9vdGFibGUgaW1hZ2UsIHRoZSBjb21wbGljYXRlZCBQQyBtZW1vcnkgbW9kZWwgYW5kIGR1ZSB0byBjaGFuZ2VkCiBleHBlY3RhdGlvbnMgaW4gdGhlIFBDIGluZHVzdHJ5IGNhdXNlZCBieSB0aGUgZWZmZWN0aXZlIGRlbWlzZSBvZgogcmVhbC1tb2RlIERPUyBhcyBhIG1haW5zdHJlYW0gb3BlcmF0aW5nIHN5c3RlbS4KIAotQ3VycmVudGx5LCB0aGUgZm9sbG93aW5nIHZlcnNpb25zIG9mIHRoZSBMaW51eC9pMzg2IGJvb3QgcHJvdG9jb2wgZXhpc3QuCitDdXJyZW50bHksIHRoZSBmb2xsb3dpbmcgdmVyc2lvbnMgb2YgdGhlIExpbnV4L3g4NiBib290IHByb3RvY29sIGV4aXN0LgogCiBPbGQga2VybmVsczoJekltYWdlL0ltYWdlIHN1cHBvcnQgb25seS4gIFNvbWUgdmVyeSBlYXJseSBrZXJuZWxzCiAJCW1heSBub3QgZXZlbiBzdXBwb3J0IGEgY29tbWFuZCBsaW5lLgpAQCAtMzcyLDEwICszNjksMTcgQEAKIAktIElmIDAsIHRoZSBwcm90ZWN0ZWQtbW9kZSBjb2RlIGlzIGxvYWRlZCBhdCAweDEwMDAwLgogCS0gSWYgMSwgdGhlIHByb3RlY3RlZC1tb2RlIGNvZGUgaXMgbG9hZGVkIGF0IDB4MTAwMDAwLgogCisgIEJpdCA1ICh3cml0ZSk6IFFVSUVUX0ZMQUcKKwktIElmIDAsIHByaW50IGVhcmx5IG1lc3NhZ2VzLgorCS0gSWYgMSwgc3VwcHJlc3MgZWFybHkgbWVzc2FnZXMuCisJCVRoaXMgcmVxdWVzdHMgdG8gdGhlIGtlcm5lbCAoZGVjb21wcmVzc29yIGFuZCBlYXJseQorCQlrZXJuZWwpIHRvIG5vdCB3cml0ZSBlYXJseSBtZXNzYWdlcyB0aGF0IHJlcXVpcmUKKwkJYWNjZXNzaW5nIHRoZSBkaXNwbGF5IGhhcmR3YXJlIGRpcmVjdGx5LgorCiAgIEJpdCA2ICh3cml0ZSk6IEtFRVBfU0VHTUVOVFMKIAlQcm90b2NvbDogMi4wNysKLQktIGlmIDAsIHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgotCS0gaWYgMSwgZG8gbm90IHJlbG9hZCB0aGUgc2VnbWVudCByZWdpc3RlcnMgaW4gdGhlIDMyYml0IGVudHJ5IHBvaW50LgorCS0gSWYgMCwgcmVsb2FkIHRoZSBzZWdtZW50IHJlZ2lzdGVycyBpbiB0aGUgMzJiaXQgZW50cnkgcG9pbnQuCisJLSBJZiAxLCBkbyBub3QgcmVsb2FkIHRoZSBzZWdtZW50IHJlZ2lzdGVycyBpbiB0aGUgMzJiaXQgZW50cnkgcG9pbnQuCiAJCUFzc3VtZSB0aGF0ICVjcyAlZHMgJXNzICVlcyBhcmUgYWxsIHNldCB0byBmbGF0IHNlZ21lbnRzIHdpdGgKIAkJYSBiYXNlIG9mIDAgKG9yIHRoZSBlcXVpdmFsZW50IGZvciB0aGVpciBlbnZpcm9ubWVudCkuCiAKQEAgLTUwNCw3ICs1MDgsNyBAQAogICBtYXhpbXVtIHNpemUgd2FzIDI1NS4KIAogRmllbGQgbmFtZToJaGFyZHdhcmVfc3ViYXJjaAotVHlwZToJCXdyaXRlCitUeXBlOgkJd3JpdGUgKG9wdGlvbmFsLCBkZWZhdWx0cyB0byB4ODYvUEMpCiBPZmZzZXQvc2l6ZToJMHgyM2MvNAogUHJvdG9jb2w6CTIuMDcrCiAKQEAgLTUyMCwxMSArNTI0LDEzIEBACiAgIDB4MDAwMDAwMDIJWGVuCiAKIEZpZWxkIG5hbWU6CWhhcmR3YXJlX3N1YmFyY2hfZGF0YQotVHlwZToJCXdyaXRlCitUeXBlOgkJd3JpdGUgKHN1YmFyY2gtZGVwZW5kZW50KQogT2Zmc2V0L3NpemU6CTB4MjQwLzgKIFByb3RvY29sOgkyLjA3KwogCiAgIEEgcG9pbnRlciB0byBkYXRhIHRoYXQgaXMgc3BlY2lmaWMgdG8gaGFyZHdhcmUgc3ViYXJjaAorICBUaGlzIGZpZWxkIGlzIGN1cnJlbnRseSB1bnVzZWQgZm9yIHRoZSBkZWZhdWx0IHg4Ni9QQyBlbnZpcm9ubWVudCwKKyAgZG8gbm90IG1vZGlmeS4KIAogRmllbGQgbmFtZToJcGF5bG9hZF9vZmZzZXQKIFR5cGU6CQlyZWFkCkBAIC01NDUsNiArNTUxLDM0IEBACiAKICAgVGhlIGxlbmd0aCBvZiB0aGUgcGF5bG9hZC4KIAorRmllbGQgbmFtZToJc2V0dXBfZGF0YQorVHlwZToJCXdyaXRlIChzcGVjaWFsKQorT2Zmc2V0L3NpemU6CTB4MjUwLzgKK1Byb3RvY29sOgkyLjA5KworCisgIFRoZSA2NC1iaXQgcGh5c2ljYWwgcG9pbnRlciB0byBOVUxMIHRlcm1pbmF0ZWQgc2luZ2xlIGxpbmtlZCBsaXN0IG9mCisgIHN0cnVjdCBzZXR1cF9kYXRhLiBUaGlzIGlzIHVzZWQgdG8gZGVmaW5lIGEgbW9yZSBleHRlbnNpYmxlIGJvb3QKKyAgcGFyYW1ldGVycyBwYXNzaW5nIG1lY2hhbmlzbS4gVGhlIGRlZmluaXRpb24gb2Ygc3RydWN0IHNldHVwX2RhdGEgaXMKKyAgYXMgZm9sbG93OgorCisgIHN0cnVjdCBzZXR1cF9kYXRhIHsKKwkgIHU2NCBuZXh0OworCSAgdTMyIHR5cGU7CisJICB1MzIgbGVuOworCSAgdTggIGRhdGFbMF07CisgIH07CisKKyAgV2hlcmUsIHRoZSBuZXh0IGlzIGEgNjQtYml0IHBoeXNpY2FsIHBvaW50ZXIgdG8gdGhlIG5leHQgbm9kZSBvZgorICBsaW5rZWQgbGlzdCwgdGhlIG5leHQgZmllbGQgb2YgdGhlIGxhc3Qgbm9kZSBpcyAwOyB0aGUgdHlwZSBpcyB1c2VkCisgIHRvIGlkZW50aWZ5IHRoZSBjb250ZW50cyBvZiBkYXRhOyB0aGUgbGVuIGlzIHRoZSBsZW5ndGggb2YgZGF0YQorICBmaWVsZDsgdGhlIGRhdGEgaG9sZHMgdGhlIHJlYWwgcGF5bG9hZC4KKworICBUaGlzIGxpc3QgbWF5IGJlIG1vZGlmaWVkIGF0IGEgbnVtYmVyIG9mIHBvaW50cyBkdXJpbmcgdGhlIGJvb3R1cAorICBwcm9jZXNzLiAgVGhlcmVmb3JlLCB3aGVuIG1vZGlmeWluZyB0aGlzIGxpc3Qgb25lIHNob3VsZCBhbHdheXMgbWFrZQorICBzdXJlIHRvIGNvbnNpZGVyIHRoZSBjYXNlIHdoZXJlIHRoZSBsaW5rZWQgbGlzdCBhbHJlYWR5IGNvbnRhaW5zCisgIGVudHJpZXMuCisKKwogKioqKiBUSEUgSU1BR0UgQ0hFQ0tTVU0KIAogRnJvbSBib290IHByb3RvY29sIHZlcnNpb24gMi4wOCBvbndhcmRzIHRoZSBDUkMtMzIgaXMgY2FsY3VsYXRlZCBvdmVyCkBAIC01NTMsNiArNTg3LDcgQEAKIGZpbGU7IHRoZXJlZm9yZSB0aGUgQ1JDIG9mIHRoZSBmaWxlIHVwIHRvIHRoZSBsaW1pdCBzcGVjaWZpZWQgaW4gdGhlCiBzeXNzaXplIGZpZWxkIG9mIHRoZSBoZWFkZXIgaXMgYWx3YXlzIDAuCiAKKwogKioqKiBUSEUgS0VSTkVMIENPTU1BTkQgTElORQogCiBUaGUga2VybmVsIGNvbW1hbmQgbGluZSBoYXMgYmVjb21lIGFuIGltcG9ydGFudCB3YXkgZm9yIHRoZSBib290CkBAIC01ODQsMjggKzYxOSw2IEBACiAJY292ZXJlZCBieSBzZXR1cF9tb3ZlX3NpemUsIHNvIHlvdSBtYXkgbmVlZCB0byBhZGp1c3QgdGhpcwogCWZpZWxkLgogCi1GaWVsZCBuYW1lOglzZXR1cF9kYXRhCi1UeXBlOgkJd3JpdGUgKG9ibGlnYXRvcnkpCi1PZmZzZXQvc2l6ZToJMHgyNTAvOAotUHJvdG9jb2w6CTIuMDkrCi0KLSAgVGhlIDY0LWJpdCBwaHlzaWNhbCBwb2ludGVyIHRvIE5VTEwgdGVybWluYXRlZCBzaW5nbGUgbGlua2VkIGxpc3Qgb2YKLSAgc3RydWN0IHNldHVwX2RhdGEuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSBtb3JlIGV4dGVuc2libGUgYm9vdAotICBwYXJhbWV0ZXJzIHBhc3NpbmcgbWVjaGFuaXNtLiBUaGUgZGVmaW5pdGlvbiBvZiBzdHJ1Y3Qgc2V0dXBfZGF0YSBpcwotICBhcyBmb2xsb3c6Ci0KLSAgc3RydWN0IHNldHVwX2RhdGEgewotCSAgdTY0IG5leHQ7Ci0JICB1MzIgdHlwZTsKLQkgIHUzMiBsZW47Ci0JICB1OCAgZGF0YVswXTsKLSAgfTsKLQotICBXaGVyZSwgdGhlIG5leHQgaXMgYSA2NC1iaXQgcGh5c2ljYWwgcG9pbnRlciB0byB0aGUgbmV4dCBub2RlIG9mCi0gIGxpbmtlZCBsaXN0LCB0aGUgbmV4dCBmaWVsZCBvZiB0aGUgbGFzdCBub2RlIGlzIDA7IHRoZSB0eXBlIGlzIHVzZWQKLSAgdG8gaWRlbnRpZnkgdGhlIGNvbnRlbnRzIG9mIGRhdGE7IHRoZSBsZW4gaXMgdGhlIGxlbmd0aCBvZiBkYXRhCi0gIGZpZWxkOyB0aGUgZGF0YSBob2xkcyB0aGUgcmVhbCBwYXlsb2FkLgotCiAKICoqKiogTUVNT1JZIExBWU9VVCBPRiBUSEUgUkVBTC1NT0RFIENPREUKIApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9pMzg2L3VzYi1sZWdhY3ktc3VwcG9ydC50eHQgYi9Eb2N1bWVudGF0aW9uL3g4Ni9pMzg2L3VzYi1sZWdhY3ktc3VwcG9ydC50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24vaTM4Ni91c2ItbGVnYWN5LXN1cHBvcnQudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni9pMzg2L3VzYi1sZWdhY3ktc3VwcG9ydC50eHQKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaTM4Ni96ZXJvLXBhZ2UudHh0IGIvRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni96ZXJvLXBhZ2UudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL2kzODYvemVyby1wYWdlLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYvaTM4Ni96ZXJvLXBhZ2UudHh0CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC8wMC1JTkRFWCBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC8wMC1JTkRFWApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvMDAtSU5ERVgKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC8wMC1JTkRFWApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvYm9vdC1vcHRpb25zLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9ib290LW9wdGlvbnMudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9ib290LW9wdGlvbnMudHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvYm9vdC1vcHRpb25zLnR4dApkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvY3B1LWhvdHBsdWctc3BlYyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9jcHUtaG90cGx1Zy1zcGVjCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9jcHUtaG90cGx1Zy1zcGVjCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvY3B1LWhvdHBsdWctc3BlYwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi94ODZfNjQvZmFrZS1udW1hLWZvci1jcHVzZXRzIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2Zha2UtbnVtYS1mb3ItY3B1c2V0cwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvZmFrZS1udW1hLWZvci1jcHVzZXRzCnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvZmFrZS1udW1hLWZvci1jcHVzZXRzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9rZXJuZWwtc3RhY2tzIGIvRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L2tlcm5lbC1zdGFja3MKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIERvY3VtZW50YXRpb24veDg2XzY0L2tlcm5lbC1zdGFja3MKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC9rZXJuZWwtc3RhY2tzCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC9tYWNoaW5lY2hlY2sgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbWFjaGluZWNoZWNrCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC9tYWNoaW5lY2hlY2sKcmVuYW1lIHRvIERvY3VtZW50YXRpb24veDg2L3g4Nl82NC9tYWNoaW5lY2hlY2sKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24veDg2XzY0L21tLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC9tbS50eHQKc2ltaWxhcml0eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gRG9jdW1lbnRhdGlvbi94ODZfNjQvbW0udHh0CnJlbmFtZSB0byBEb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbW0udHh0CmluZGV4IGI4OWI2ZDIuLmVmY2U3NTAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24veDg2XzY0L21tLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL3g4Ni94ODZfNjQvbW0udHh0CkBAIC0xMSw5ICsxMSw4IEBACiBmZmZmYzIwMDAwMDAwMDAwIC0gZmZmZmUxZmZmZmZmZmZmZiAoPTQ1IGJpdHMpIHZtYWxsb2MvaW9yZW1hcCBzcGFjZQogZmZmZmUyMDAwMDAwMDAwMCAtIGZmZmZlMmZmZmZmZmZmZmYgKD00MCBiaXRzKSB2aXJ0dWFsIG1lbW9yeSBtYXAgKDFUQikKIC4uLiB1bnVzZWQgaG9sZSAuLi4KLWZmZmZmZmZmODAwMDAwMDAgLSBmZmZmZmZmZjgyODAwMDAwICg9NDAgTUIpICAga2VybmVsIHRleHQgbWFwcGluZywgZnJvbSBwaHlzIDAKLS4uLiB1bnVzZWQgaG9sZSAuLi4KLWZmZmZmZmZmODgwMDAwMDAgLSBmZmZmZmZmZmZmZjAwMDAwICg9MTkxOSBNQikgbW9kdWxlIG1hcHBpbmcgc3BhY2UKK2ZmZmZmZmZmODAwMDAwMDAgLSBmZmZmZmZmZmEwMDAwMDAwICg9NTEyIE1CKSAga2VybmVsIHRleHQgbWFwcGluZywgZnJvbSBwaHlzIDAKK2ZmZmZmZmZmYTAwMDAwMDAgLSBmZmZmZmZmZmZmZjAwMDAwICg9MTUzNiBNQikgbW9kdWxlIG1hcHBpbmcgc3BhY2UKIAogVGhlIGRpcmVjdCBtYXBwaW5nIGNvdmVycyBhbGwgbWVtb3J5IGluIHRoZSBzeXN0ZW0gdXAgdG8gdGhlIGhpZ2hlc3QKIG1lbW9yeSBhZGRyZXNzICh0aGlzIG1lYW5zIGluIHNvbWUgY2FzZXMgaXQgY2FuIGFsc28gaW5jbHVkZSBQQ0kgbWVtb3J5CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3g4Nl82NC91ZWZpLnR4dCBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC91ZWZpLnR4dApzaW1pbGFyaXR5IGluZGV4IDg0JQpyZW5hbWUgZnJvbSBEb2N1bWVudGF0aW9uL3g4Nl82NC91ZWZpLnR4dApyZW5hbWUgdG8gRG9jdW1lbnRhdGlvbi94ODYveDg2XzY0L3VlZmkudHh0CmluZGV4IDdkNzcxMjAuLmE1ZTJiNGYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24veDg2XzY0L3VlZmkudHh0CisrKyBiL0RvY3VtZW50YXRpb24veDg2L3g4Nl82NC91ZWZpLnR4dApAQCAtMzYsMyArMzYsNyBAQAogICBzZXJ2aWNlcy4KIAlub2VmaQkJdHVybiBvZmYgYWxsIEVGSSBydW50aW1lIHNlcnZpY2VzCiAJcmVib290X3R5cGU9awl0dXJuIG9mZiBFRkkgcmVib290IHJ1bnRpbWUgc2VydmljZQorLSBJZiB0aGUgRUZJIG1lbW9yeSBtYXAgaGFzIGFkZGl0aW9uYWwgZW50cmllcyBub3QgaW4gdGhlIEU4MjAgbWFwLAorICB5b3UgY2FuIGluY2x1ZGUgdGhvc2UgZW50cmllcyBpbiB0aGUga2VybmVscyBtZW1vcnkgbWFwIG9mIGF2YWlsYWJsZQorICBwaHlzaWNhbCBSQU0gYnkgdXNpbmcgdGhlIGZvbGxvd2luZyBrZXJuZWwgY29tbWFuZCBsaW5lIHBhcmFtZXRlci4KKwlhZGRfZWZpX21lbW1hcAlpbmNsdWRlIEVGSSBtZW1vcnkgbWFwIG9mIGF2YWlsYWJsZSBwaHlzaWNhbCBSQU0KZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXggNjQ3NjEyNS4uZmM2YzAwNSAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTM3Niw2ICszNzYsMTIgQEAKIFc6CWh0dHA6Ly93d3cuYW1kLmNvbS91cy1lbi9Db25uZWN0aXZpdHlTb2x1dGlvbnMvVGVjaG5pY2FsUmVzb3VyY2VzLzAsLDUwXzIzMzRfMjQ1Ml8xMTM2MywwMC5odG1sCiBTOglTdXBwb3J0ZWQKIAorQU1EIElPTU1VIChBTUQtVkkpCitQOglKb2VyZyBSb2VkZWwKK006CWpvZXJnLnJvZWRlbEBhbWQuY29tCitMOglpb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZworUzoJU3VwcG9ydGVkCisKIEFNUyAoQXBwbGUgTW90aW9uIFNlbnNvcikgRFJJVkVSCiBQOglTdGVsaWFuIFBvcAogTToJc3RlbGlhbkBwb3BpZXMubmV0CkBAIC0xNjgwLDYgKzE2ODYsMTMgQEAKIEw6CWxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcKIFM6CU1haW50YWluZWQKIAorRlJFRVNDQUxFIEkyQyBDUE0gRFJJVkVSCitQOglKb2NoZW4gRnJpZWRyaWNoCitNOglqb2NoZW5Ac2NyYW0uZGUKK0w6CWxpbnV4cHBjLWRldkBvemxhYnMub3JnCitMOglpMmNAbG0tc2Vuc29ycy5vcmcKK1M6CU1haW50YWluZWQKKwogRlJFRVNDQUxFIFNPQyBGU19FTkVUIERSSVZFUgogUDoJUGFudGVsaXMgQW50b25pb3UKIE06CXBhbnRlbGlzLmFudG9uaW91QGdtYWlsLmNvbQpAQCAtMTc2NCw2ICsxNzc3LDExIEBACiBXOglmdHA6Ly9mdHAub3BlbmxpbnV4Lm9yZy9wdWIvcGVvcGxlL2hjaC92eGZzCiBTOglNYWludGFpbmVkCiAKK0ZUUkFDRQorUDoJU3RldmVuIFJvc3RlZHQKK006CXNyb3N0ZWR0QHJlZGhhdC5jb20KK1M6CU1haW50YWluZWQKKwogRlVKSVRTVSBGUi1WIChGUlYpIFBPUlQKIFA6CURhdmlkIEhvd2VsbHMKIE06CWRob3dlbGxzQHJlZGhhdC5jb20KQEAgLTMwODIsOCArMzEwMCw4IEBACiBTOglNYWludGFpbmVkCiAKIE9QUk9GSUxFCi1QOglQaGlsaXBwZSBFbGllCi1NOglwaGlsLmVsQHdhbmFkb28uZnIKK1A6CVJvYmVydCBSaWNodGVyCitNOglyb2JlcnQucmljaHRlckBhbWQuY29tCiBMOglvcHJvZmlsZS1saXN0QGxpc3RzLnNmLm5ldAogUzoJTWFpbnRhaW5lZAogCmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IDYzMTU0MjQuLjVlZmRkODggMTAwNjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0xLDcgKzEsNyBAQAogVkVSU0lPTiA9IDIKIFBBVENITEVWRUwgPSA2CiBTVUJMRVZFTCA9IDI2Ci1FWFRSQVZFUlNJT04gPSAtcmM5CitFWFRSQVZFUlNJT04gPQogTkFNRSA9IFJvdGFyeSBXb21iYXQKIAogIyAqRE9DVU1FTlRBVElPTioKQEAgLTQ1MCw3ICs0NTAsNyBAQAogCiAjIE9iamVjdHMgd2Ugd2lsbCBsaW5rIGludG8gdm1saW51eCAvIHN1YmRpcnMgd2UgbmVlZCB0byB2aXNpdAogaW5pdC15CQk6PSBpbml0LwotZHJpdmVycy15CTo9IGRyaXZlcnMvIHNvdW5kLworZHJpdmVycy15CTo9IGRyaXZlcnMvIHNvdW5kLyBmaXJtd2FyZS8KIG5ldC15CQk6PSBuZXQvCiBsaWJzLXkJCTo9IGxpYi8KIGNvcmUteQkJOj0gdXNyLwpAQCAtNTI4LDYgKzUyOCwxMCBAQAogS0JVSUxEX0FGTEFHUwkrPSAtZ2R3YXJmLTIKIGVuZGlmCiAKK2lmZGVmIENPTkZJR19GVFJBQ0UKK0tCVUlMRF9DRkxBR1MJKz0gLXBnCitlbmRpZgorCiAjIFdlIHRyaWdnZXIgYWRkaXRpb25hbCBtaXNtYXRjaGVzIHdpdGggbGVzcyBpbmxpbmluZwogaWZkZWYgQ09ORklHX0RFQlVHX1NFQ1RJT05fTUlTTUFUQ0gKIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwgLWZuby1pbmxpbmUtZnVuY3Rpb25zLWNhbGxlZC1vbmNlKQpAQCAtOTk1LDYgKzk5OSwxNiBAQAogCUBlY2hvICcqKiogV2FybmluZzogbWFrZSAkQCBpcyB1bm5lY2Vzc2FyeSBub3cuJwogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBGaXJtd2FyZSBpbnN0YWxsCitJTlNUQUxMX0ZXX1BBVEg9JChJTlNUQUxMX01PRF9QQVRIKS9saWIvZmlybXdhcmUKK2V4cG9ydCBJTlNUQUxMX0ZXX1BBVEgKKworUEhPTlkgKz0gZmlybXdhcmVfaW5zdGFsbAorZmlybXdhcmVfaW5zdGFsbDogRk9SQ0UKKwlAbWtkaXIgLXAgJChvYmp0cmVlKS9maXJtd2FyZQorCSQoUSkkKE1BS0UpIC1mICQoc3JjdHJlZSkvc2NyaXB0cy9NYWtlZmlsZS5md2luc3Qgb2JqPWZpcm13YXJlIF9fZndfaW5zdGFsbAorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBLZXJuZWwgaGVhZGVycwogSU5TVEFMTF9IRFJfUEFUSD0kKG9ianRyZWUpL3VzcgogZXhwb3J0IElOU1RBTExfSERSX1BBVEgKQEAgLTEwODAsNiArMTA5NCw3IEBACiAjIGJvb3Qgc2NyaXB0IGRlcG1vZCBpcyB0aGUgbWFzdGVyIHZlcnNpb24uCiBQSE9OWSArPSBfbW9kaW5zdF9wb3N0CiBfbW9kaW5zdF9wb3N0OiBfbW9kaW5zdF8KKwkkKFEpJChNQUtFKSAtZiAkKHNyY3RyZWUpL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IG9iaj1maXJtd2FyZSBfX2Z3X21vZGluc3QKIAkkKGNhbGwgY21kLGRlcG1vZCkKIAogZWxzZSAjIENPTkZJR19NT0RVTEVTCkBAIC0xMTk3LDYgKzEyMTIsOCBAQAogCUBlY2hvICAnKiB2bWxpbnV4CSAgLSBCdWlsZCB0aGUgYmFyZSBrZXJuZWwnCiAJQGVjaG8gICcqIG1vZHVsZXMJICAtIEJ1aWxkIGFsbCBtb2R1bGVzJwogCUBlY2hvICAnICBtb2R1bGVzX2luc3RhbGwgLSBJbnN0YWxsIGFsbCBtb2R1bGVzIHRvIElOU1RBTExfTU9EX1BBVEggKGRlZmF1bHQ6IC8pJworCUBlY2hvICAnICBmaXJtd2FyZV9pbnN0YWxsLSBJbnN0YWxsIGFsbCBmaXJtd2FyZSB0byBJTlNUQUxMX0ZXX1BBVEgnCisJQGVjaG8gICcgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiAkJChJTlNUQUxMX01PRF9QQVRIKS9saWIvZmlybXdhcmUpJwogCUBlY2hvICAnICBkaXIvICAgICAgICAgICAgLSBCdWlsZCBhbGwgZmlsZXMgaW4gZGlyIGFuZCBiZWxvdycKIAlAZWNobyAgJyAgZGlyL2ZpbGUuW29pc10gIC0gQnVpbGQgc3BlY2lmaWVkIHRhcmdldCBvbmx5JwogCUBlY2hvICAnICBkaXIvZmlsZS5rbyAgICAgLSBCdWlsZCBtb2R1bGUgaW5jbHVkaW5nIGZpbmFsIGxpbmsnCmRpZmYgLS1naXQgYS9hcmNoL0tjb25maWcgYi9hcmNoL0tjb25maWcKaW5kZXggM2VhMzMyYi4uYWQ4OWEzMyAxMDA2NDQKLS0tIGEvYXJjaC9LY29uZmlnCisrKyBiL2FyY2gvS2NvbmZpZwpAQCAtMzksMyArMzksNiBAQAogCiBjb25maWcgSEFWRV9ETUFfQVRUUlMKIAlkZWZfYm9vbCBuCisKK2NvbmZpZyBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUworCWRlZl9ib29sIG4KZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEvS2NvbmZpZyBiL2FyY2gvYWxwaGEvS2NvbmZpZwppbmRleCA3MjljZGJkLi5kYmU4YzI4IDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL0tjb25maWcKKysrIGIvYXJjaC9hbHBoYS9LY29uZmlnCkBAIC01MjgsNiArNTI4LDcgQEAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gQUxQSEFfU0FCTEUgfHwgQUxQSEFfTFlOWCB8fCBBTFBIQV9SQVdISURFIHx8IEFMUEhBX0RQMjY0IHx8IEFMUEhBX1dJTERGSVJFIHx8IEFMUEhBX1RJVEFOIHx8IEFMUEhBX0dFTkVSSUMgfHwgQUxQSEFfU0hBUksgfHwgQUxQSEFfTUFSVkVMCisJc2VsZWN0IFVTRV9HRU5FUklDX1NNUF9IRUxQRVJTCiAJLS0taGVscC0tLQogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gb25lIENQVS4gSWYgeW91IGhhdmUKIAkgIGEgc3lzdGVtIHdpdGggb25seSBvbmUgQ1BVLCBsaWtlIG1vc3QgcGVyc29uYWwgY29tcHV0ZXJzLCBzYXkgTi4gSWYKZGlmZiAtLWdpdCBhL2FyY2gvYWxwaGEva2VybmVsL2NvcmVfbWFydmVsLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9jb3JlX21hcnZlbC5jCmluZGV4IGIwNGYxZmUuLjA0ZGNjNWUgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEva2VybmVsL2NvcmVfbWFydmVsLmMKKysrIGIvYXJjaC9hbHBoYS9rZXJuZWwvY29yZV9tYXJ2ZWwuYwpAQCAtNjYwLDkgKzY2MCw5IEBACiAKICNpZmRlZiBDT05GSUdfU01QCiAJCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gYm9vdF9jcHVpZCkKLQkJCXNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdShfX21hcnZlbF9hY2Nlc3NfcnRjLAotCQkJCQkJICZydGNfYWNjZXNzLCAxLCAxLAotCQkJCQkJIGNwdW1hc2tfb2ZfY3B1KGJvb3RfY3B1aWQpKTsKKwkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShib290X2NwdWlkLAorCQkJCQkJIF9fbWFydmVsX2FjY2Vzc19ydGMsCisJCQkJCQkgJnJ0Y19hY2Nlc3MsIDEpOwogCQllbHNlCiAJCQlfX21hcnZlbF9hY2Nlc3NfcnRjKCZydGNfYWNjZXNzKTsKICNlbHNlCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9pcnEuYyBiL2FyY2gvYWxwaGEva2VybmVsL2lycS5jCmluZGV4IGZhY2Y4MmEuLmM2MjZhODIgMTAwNjQ0Ci0tLSBhL2FyY2gvYWxwaGEva2VybmVsL2lycS5jCisrKyBiL2FyY2gvYWxwaGEva2VybmVsL2lycS5jCkBAIC00Miw4ICs0Miw3IEBACiAjaWZkZWYgQ09ORklHX1NNUCAKIHN0YXRpYyBjaGFyIGlycV91c2VyX2FmZmluaXR5W05SX0lSUVNdOwogCi1pbnQKLXNlbGVjdF9zbXBfYWZmaW5pdHkodW5zaWduZWQgaW50IGlycSkKK2ludCBpcnFfc2VsZWN0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCiB7CiAJc3RhdGljIGludCBsYXN0X2NwdTsKIAlpbnQgY3B1ID0gbGFzdF9jcHUgKyAxOwpAQCAtNTEsNyArNTAsNyBAQAogCWlmICghaXJxX2Rlc2NbaXJxXS5jaGlwLT5zZXRfYWZmaW5pdHkgfHwgaXJxX3VzZXJfYWZmaW5pdHlbaXJxXSkKIAkJcmV0dXJuIDE7CiAKLQl3aGlsZSAoIWNwdV9wb3NzaWJsZShjcHUpKQorCXdoaWxlICghY3B1X3Bvc3NpYmxlKGNwdSkgfHwgIWNwdV9pc3NldChjcHUsIGlycV9kZWZhdWx0X2FmZmluaXR5KSkKIAkJY3B1ID0gKGNwdSA8IChOUl9DUFVTLTEpID8gY3B1ICsgMSA6IDApOwogCWxhc3RfY3B1ID0gY3B1OwogCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggOTZlZDgyZi4uMzUxNDA3ZSAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvYWxwaGEva2VybmVsL3Byb2Nlc3MuYwpAQCAtMTYwLDcgKzE2MCw3IEBACiAJc3RydWN0IGhhbHRfaW5mbyBhcmdzOwogCWFyZ3MubW9kZSA9IG1vZGU7CiAJYXJncy5yZXN0YXJ0X2NtZCA9IHJlc3RhcnRfY21kOwotCW9uX2VhY2hfY3B1KGNvbW1vbl9zaHV0ZG93bl8xLCAmYXJncywgMSwgMCk7CisJb25fZWFjaF9jcHUoY29tbW9uX3NodXRkb3duXzEsICZhcmdzLCAwKTsKIH0KIAogdm9pZApkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9rZXJuZWwvc21wLmMgYi9hcmNoL2FscGhhL2tlcm5lbC9zbXAuYwppbmRleCAyNTI1NjkyLi44M2RmNTQxIDEwMDY0NAotLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL2FscGhhL2tlcm5lbC9zbXAuYwpAQCAtNjIsNiArNjIsNyBAQAogZW51bSBpcGlfbWVzc2FnZV90eXBlIHsKIAlJUElfUkVTQ0hFRFVMRSwKIAlJUElfQ0FMTF9GVU5DLAorCUlQSV9DQUxMX0ZVTkNfU0lOR0xFLAogCUlQSV9DUFVfU1RPUCwKIH07CiAKQEAgLTU1OCw1MSArNTU5LDYgQEAKIAkJd3JpcGlyKGkpOwogfQogCi0vKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uLiAgVGhpcyBpcyBkZXNpZ25lZCB0byAKLSAgIG1pbmltaXplIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiAgUGx1cyBpdCBsb29rcyBjbGVhbmVyLiAgKi8KLQotc3RydWN0IHNtcF9jYWxsX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWxvbmcgd2FpdDsKLQlhdG9taWNfdCB1bnN0YXJ0ZWRfY291bnQ7Ci0JYXRvbWljX3QgdW5maW5pc2hlZF9jb3VudDsKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICpzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCi0vKiBBdG9taWNseSBkcm9wIGRhdGEgaW50byBhIHNoYXJlZCBwb2ludGVyLiAgVGhlIHBvaW50ZXIgaXMgZnJlZSBpZgotICAgaXQgaXMgaW5pdGlhbGx5IGxvY2tlZC4gIElmIHJldHJ5LCBzcGluIHVudGlsIGZyZWUuICAqLwotCi1zdGF0aWMgaW50Ci1wb2ludGVyX2xvY2sgKHZvaWQgKmxvY2ssIHZvaWQgKmRhdGEsIGludCByZXRyeSkKLXsKLQl2b2lkICpvbGQsICp0bXA7Ci0KLQltYigpOwotIGFnYWluOgotCS8qIENvbXBhcmUgYW5kIHN3YXAgd2l0aCB6ZXJvLiAgKi8KLQlhc20gdm9sYXRpbGUgKAotCSIxOglsZHFfbAklMCwlMVxuIgotCSIJbW92CSUzLCUyXG4iCi0JIglibmUJJTAsMmZcbiIKLQkiCXN0cV9jCSUyLCUxXG4iCi0JIgliZXEJJTIsMWJcbiIKLQkiMjoiCi0JOiAiPSZyIihvbGQpLCAiPW0iKCoodm9pZCAqKilsb2NrKSwgIj0mciIodG1wKQotCTogInIiKGRhdGEpCi0JOiAibWVtb3J5Iik7Ci0KLQlpZiAob2xkID09IDApCi0JCXJldHVybiAwOwotCWlmICghIHJldHJ5KQotCQlyZXR1cm4gLUVCVVNZOwotCi0Jd2hpbGUgKCoodm9pZCAqKilsb2NrKQotCQliYXJyaWVyKCk7Ci0JZ290byBhZ2FpbjsKLX0KLQogdm9pZAogaGFuZGxlX2lwaShzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKQEAgLTYzMiwzMSArNTg4LDEyIEBACiAJCQlicmVhazsKIAogCQljYXNlIElQSV9DQUxMX0ZVTkM6Ci0JCSAgICB7Ci0JCQlzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICpkYXRhOwotCQkJdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCQkJdm9pZCAqaW5mbzsKLQkJCWludCB3YWl0OwotCi0JCQlkYXRhID0gc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQkJCWZ1bmMgPSBkYXRhLT5mdW5jOwotCQkJaW5mbyA9IGRhdGEtPmluZm87Ci0JCQl3YWl0ID0gZGF0YS0+d2FpdDsKLQotCQkJLyogTm90aWZ5IHRoZSBzZW5kaW5nIENQVSB0aGF0IHRoZSBkYXRhIGhhcyBiZWVuCi0JCQkgICByZWNlaXZlZCwgYW5kIGV4ZWN1dGlvbiBpcyBhYm91dCB0byBiZWdpbi4gICovCi0JCQltYigpOwotCQkJYXRvbWljX2RlYyAoJmRhdGEtPnVuc3RhcnRlZF9jb3VudCk7Ci0KLQkJCS8qIEF0IHRoaXMgcG9pbnQgdGhlIHN0cnVjdHVyZSBtYXkgYmUgZ29uZSB1bmxlc3MKLQkJCSAgIHdhaXQgaXMgdHJ1ZS4gICovCi0JCQkoKmZ1bmMpKGluZm8pOwotCi0JCQkvKiBOb3RpZnkgdGhlIHNlbmRpbmcgQ1BVIHRoYXQgdGhlIHRhc2sgaXMgZG9uZS4gICovCi0JCQltYigpOwotCQkJaWYgKHdhaXQpIGF0b21pY19kZWMgKCZkYXRhLT51bmZpbmlzaGVkX2NvdW50KTsKKwkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJCQlicmVhazsKLQkJICAgIH0KKworCQljYXNlIElQSV9DQUxMX0ZVTkNfU0lOR0xFOgorCQkJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJCQlicmVhazsKIAogCQljYXNlIElQSV9DUFVfU1RPUDoKIAkJCWhhbHQoKTsKQEAgLTcwMCwxMDIgKzYzNywxNSBAQAogCXNlbmRfaXBpX21lc3NhZ2UodG9fd2hvbSwgSVBJX0NQVV9TVE9QKTsKIH0KIAotLyoKLSAqIFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgotICogIDxmdW5jPglUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogIDxpbmZvPglBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqICA8cmV0cnk+CUlmIHRydWUsIGtlZXAgcmV0cnlpbmcgdW50aWwgcmVhZHkuCi0gKiAgPHdhaXQ+CUlmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICogIFtSRVRVUk5TXSAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIERvZXMgbm90IHJldHVybiB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPGZ1bmM+Ci0gKiBvciBhcmUgb3IgaGF2ZSBleGVjdXRlZC4KLSAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQotICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCi0gKi8KLQotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUgKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwKLQkJCSAgaW50IHdhaXQsIGNwdW1hc2tfdCB0b193aG9tKQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCiB7Ci0Jc3RydWN0IHNtcF9jYWxsX3N0cnVjdCBkYXRhOwotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKLQlpbnQgbnVtX2NwdXNfdG9fY2FsbDsKLQkKLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0KLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCB0b193aG9tKTsKLQludW1fY3B1c190b19jYWxsID0gY3B1c193ZWlnaHQodG9fd2hvbSk7Ci0KLQlhdG9taWNfc2V0KCZkYXRhLnVuc3RhcnRlZF9jb3VudCwgbnVtX2NwdXNfdG9fY2FsbCk7Ci0JYXRvbWljX3NldCgmZGF0YS51bmZpbmlzaGVkX2NvdW50LCBudW1fY3B1c190b19jYWxsKTsKLQotCS8qIEFjcXVpcmUgdGhlIHNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgbXV0ZXguICAqLwotCWlmIChwb2ludGVyX2xvY2soJnNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEsICZkYXRhLCByZXRyeSkpCi0JCXJldHVybiAtRUJVU1k7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byB0aGUgcmVxdWVzdGVkIENQVXMuICAqLwotCXNlbmRfaXBpX21lc3NhZ2UodG9fd2hvbSwgSVBJX0NBTExfRlVOQyk7Ci0KLQkvKiBXYWl0IGZvciBhIG1pbmltYWwgcmVzcG9uc2UuICAqLwotCXRpbWVvdXQgPSBqaWZmaWVzICsgSFo7Ci0Jd2hpbGUgKGF0b21pY19yZWFkICgmZGF0YS51bnN0YXJ0ZWRfY291bnQpID4gMAotCSAgICAgICAmJiB0aW1lX2JlZm9yZSAoamlmZmllcywgdGltZW91dCkpCi0JCWJhcnJpZXIoKTsKLQotCS8qIElmIHRoZXJlJ3Mgbm8gcmVzcG9uc2UgeWV0LCBsb2cgYSBtZXNzYWdlIGJ1dCBhbGxvdyBhIGxvbmdlcgotCSAqIHRpbWVvdXQgcGVyaW9kIC0tIGlmIHdlIGdldCBhIHJlc3BvbnNlIHRoaXMgdGltZSwgbG9nCi0JICogYSBtZXNzYWdlIHNheWluZyB3aGVuIHdlIGdvdCBpdC4uIAotCSAqLwotCWlmIChhdG9taWNfcmVhZCgmZGF0YS51bnN0YXJ0ZWRfY291bnQpID4gMCkgewotCQlsb25nIHN0YXJ0X3RpbWUgPSBqaWZmaWVzOwotCQlwcmludGsoS0VSTl9FUlIgIiVzOiBpbml0aWFsIHRpbWVvdXQgLS0gdHJ5aW5nIGxvbmcgd2FpdFxuIiwKLQkJICAgICAgIF9fZnVuY19fKTsKLQkJdGltZW91dCA9IGppZmZpZXMgKyAzMCAqIEhaOwotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDAKLQkJICAgICAgICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKQotCQkJYmFycmllcigpOwotCQlpZiAoYXRvbWljX3JlYWQoJmRhdGEudW5zdGFydGVkX2NvdW50KSA8PSAwKSB7Ci0JCQlsb25nIGRlbHRhID0gamlmZmllcyAtIHN0YXJ0X3RpbWU7Ci0JCQlwcmludGsoS0VSTl9FUlIgCi0JCQkgICAgICAgIiVzOiByZXNwb25zZSAlbGQuJWxkIHNlY29uZHMgaW50byBsb25nIHdhaXRcbiIsCi0JCQkgICAgICAgX19mdW5jX18sIGRlbHRhIC8gSFosCi0JCQkgICAgICAgKDEwMCAqIChkZWx0YSAtICgoZGVsdGEgLyBIWikgKiBIWikpKSAvIEhaKTsKLQkJfQotCX0KLQotCS8qIFdlIGVpdGhlciBnb3Qgb25lIG9yIHRpbWVkIG91dCAtLSBjbGVhciB0aGUgbG9jay4gKi8KLQltYigpOwotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSBOVUxMOwotCi0JLyogCi0JICogSWYgYWZ0ZXIgYm90aCB0aGUgaW5pdGlhbCBhbmQgbG9uZyB0aW1lb3V0IHBlcmlvZHMgd2Ugc3RpbGwgZG9uJ3QKLQkgKiBoYXZlIGEgcmVzcG9uc2UsIHNvbWV0aGluZyBpcyB2ZXJ5IHdyb25nLi4uCi0JICovCi0JQlVHX09OKGF0b21pY19yZWFkICgmZGF0YS51bnN0YXJ0ZWRfY291bnQpID4gMCk7Ci0KLQkvKiBXYWl0IGZvciBhIGNvbXBsZXRlIHJlc3BvbnNlLCBpZiBuZWVkZWQuICAqLwotCWlmICh3YWl0KSB7Ci0JCXdoaWxlIChhdG9taWNfcmVhZCAoJmRhdGEudW5maW5pc2hlZF9jb3VudCkgPiAwKQotCQkJYmFycmllcigpOwotCX0KLQotCXJldHVybiAwOworCXNlbmRfaXBpX21lc3NhZ2UobWFzaywgSVBJX0NBTExfRlVOQyk7CiB9Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSk7CiAKLWludAotc21wX2NhbGxfZnVuY3Rpb24gKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKIHsKLQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1IChmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCwKLQkJCQkJIGNwdV9vbmxpbmVfbWFwKTsKKwlzZW5kX2lwaV9tZXNzYWdlKGNwdW1hc2tfb2ZfY3B1KGNwdSksIElQSV9DQUxMX0ZVTkNfU0lOR0xFKTsKIH0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwogCiBzdGF0aWMgdm9pZAogaXBpX2ltYih2b2lkICppZ25vcmVkKQpAQCAtODA3LDcgKzY1Nyw3IEBACiBzbXBfaW1iKHZvaWQpCiB7CiAJLyogTXVzdCB3YWl0IG90aGVyIHByb2Nlc3NvcnMgdG8gZmx1c2ggdGhlaXIgaWNhY2hlIGJlZm9yZSBjb250aW51ZS4gKi8KLQlpZiAob25fZWFjaF9jcHUoaXBpX2ltYiwgTlVMTCwgMSwgMSkpCisJaWYgKG9uX2VhY2hfY3B1KGlwaV9pbWIsIE5VTEwsIDEpKQogCQlwcmludGsoS0VSTl9DUklUICJzbXBfaW1iOiB0aW1lZCBvdXRcbiIpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfaW1iKTsKQEAgLTgyMyw3ICs2NzMsNyBAQAogewogCS8qIEFsdGhvdWdoIHdlIGRvbid0IGhhdmUgYW55IGRhdGEgdG8gcGFzcywgd2UgZG8gd2FudCB0bwogCSAgIHN5bmNocm9uaXplIHdpdGggdGhlIG90aGVyIHByb2Nlc3NvcnMuICAqLwotCWlmIChvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2FsbCwgTlVMTCwgMSwgMSkpIHsKKwlpZiAob25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpKSB7CiAJCXByaW50ayhLRVJOX0NSSVQgImZsdXNoX3RsYl9hbGw6IHRpbWVkIG91dFxuIik7CiAJfQogfQpAQCAtODYwLDcgKzcxMCw3IEBACiAJCX0KIAl9CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb24oaXBpX2ZsdXNoX3RsYl9tbSwgbW0sIDEsIDEpKSB7CisJaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF90bGJfbW06IHRpbWVkIG91dFxuIik7CiAJfQogCkBAIC05MTMsNyArNzYzLDcgQEAKIAlkYXRhLm1tID0gbW07CiAJZGF0YS5hZGRyID0gYWRkcjsKIAotCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfdGxiX3BhZ2UsICZkYXRhLCAxLCAxKSkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfZmx1c2hfdGxiX3BhZ2UsICZkYXRhLCAxKSkgewogCQlwcmludGsoS0VSTl9DUklUICJmbHVzaF90bGJfcGFnZTogdGltZWQgb3V0XG4iKTsKIAl9CiAKQEAgLTk2NSw3ICs4MTUsNyBAQAogCQl9CiAJfQogCi0JaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9mbHVzaF9pY2FjaGVfcGFnZSwgbW0sIDEsIDEpKSB7CisJaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9mbHVzaF9pY2FjaGVfcGFnZSwgbW0sIDEpKSB7CiAJCXByaW50ayhLRVJOX0NSSVQgImZsdXNoX2ljYWNoZV9wYWdlOiB0aW1lZCBvdXRcbiIpOwogCX0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9vcHJvZmlsZS9jb21tb24uYyBiL2FyY2gvYWxwaGEvb3Byb2ZpbGUvY29tbW9uLmMKaW5kZXggOWZjMGVlYi4uN2MzZDVlYyAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL2FscGhhL29wcm9maWxlL2NvbW1vbi5jCkBAIC02NSw3ICs2NSw3IEBACiAJbW9kZWwtPnJlZ19zZXR1cCgmcmVnLCBjdHIsICZzeXMpOwogCiAJLyogQ29uZmlndXJlIHRoZSByZWdpc3RlcnMgb24gYWxsIGNwdXMuICAqLwotCSh2b2lkKXNtcF9jYWxsX2Z1bmN0aW9uKG1vZGVsLT5jcHVfc2V0dXAsICZyZWcsIDAsIDEpOworCSh2b2lkKXNtcF9jYWxsX2Z1bmN0aW9uKG1vZGVsLT5jcHVfc2V0dXAsICZyZWcsIDEpOwogCW1vZGVsLT5jcHVfc2V0dXAoJnJlZyk7CiAJcmV0dXJuIDA7CiB9CkBAIC04Niw3ICs4Niw3IEBACiBzdGF0aWMgaW50CiBvcF9heHBfc3RhcnQodm9pZCkKIHsKLQkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihvcF9heHBfY3B1X3N0YXJ0LCBOVUxMLCAwLCAxKTsKKwkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihvcF9heHBfY3B1X3N0YXJ0LCBOVUxMLCAxKTsKIAlvcF9heHBfY3B1X3N0YXJ0KE5VTEwpOwogCXJldHVybiAwOwogfQpAQCAtMTAxLDcgKzEwMSw3IEBACiBzdGF0aWMgdm9pZAogb3BfYXhwX3N0b3Aodm9pZCkKIHsKLQkodm9pZClzbXBfY2FsbF9mdW5jdGlvbihvcF9heHBfY3B1X3N0b3AsIE5VTEwsIDAsIDEpOworCSh2b2lkKXNtcF9jYWxsX2Z1bmN0aW9uKG9wX2F4cF9jcHVfc3RvcCwgTlVMTCwgMSk7CiAJb3BfYXhwX2NwdV9zdG9wKE5VTEwpOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9LY29uZmlnIGIvYXJjaC9hcm0vS2NvbmZpZwppbmRleCBiNzg2ZTY4Li5jN2FkMzI0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9LY29uZmlnCisrKyBiL2FyY2gvYXJtL0tjb25maWcKQEAgLTE0LDYgKzE0LDggQEAKIAlzZWxlY3QgSEFWRV9PUFJPRklMRQogCXNlbGVjdCBIQVZFX0tQUk9CRVMgaWYgKCFYSVBfS0VSTkVMKQogCXNlbGVjdCBIQVZFX0tSRVRQUk9CRVMgaWYgKEhBVkVfS1BST0JFUykKKwlzZWxlY3QgSEFWRV9GVFJBQ0UgaWYgKCFYSVBfS0VSTkVMKQorCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFIGlmIChIQVZFX0ZUUkFDRSkKIAloZWxwCiAJICBUaGUgQVJNIHNlcmllcyBpcyBhIGxpbmUgb2YgbG93LXBvd2VyLWNvbnN1bXB0aW9uIFJJU0MgY2hpcCBkZXNpZ25zCiAJICBsaWNlbnNlZCBieSBBUk0gTHRkIGFuZCB0YXJnZXRlZCBhdCBlbWJlZGRlZCBhcHBsaWNhdGlvbnMgYW5kCkBAIC0yMiw2ICsyNCw5IEBACiAJICBFdXJvcGUuICBUaGVyZSBpcyBhbiBBUk0gTGludXggcHJvamVjdCB3aXRoIGEgd2ViIHBhZ2UgYXQKIAkgIDxodHRwOi8vd3d3LmFybS5saW51eC5vcmcudWsvPi4KIAorY29uZmlnIEhBVkVfUFdNCisJYm9vbAorCiBjb25maWcgU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT04KIAlib29sCiAKQEAgLTg0LDYgKzg5LDExIEBACiAJYm9vbAogCWRlZmF1bHQgeQogCitjb25maWcgSEFWRV9MQVRFTkNZVE9QX1NVUFBPUlQKKwlib29sCisJZGVwZW5kcyBvbiAhU01QCisJZGVmYXVsdCB5CisKIGNvbmZpZyBMT0NLREVQX1NVUFBPUlQKIAlib29sCiAJZGVmYXVsdCB5CkBAIC0xNDcsNiArMTU3LDEwIEBACiBjb25maWcgQVJDSF9NVERfWElQCiAJYm9vbAogCitjb25maWcgR0VORVJJQ19IQVJESVJRU19OT19fRE9fSVJRCisJYm9vbAorCWRlZl9ib29sIHkKKwogaWYgT1BST0ZJTEUKIAogY29uZmlnIE9QUk9GSUxFX0FSTVY2CkBAIC0yMzIsMTMgKzI0Niw2IEBACiAJaGVscAogCSAgU3VwcG9ydCBmb3IgQ2lycnVzIExvZ2ljIDcxMXgvNzIxeCBiYXNlZCBib2FyZHMuCiAKLWNvbmZpZyBBUkNIX0NPMjg1Ci0JYm9vbCAiQ28tRUJTQTI4NSIKLQlzZWxlY3QgRk9PVEJSSURHRQotCXNlbGVjdCBGT09UQlJJREdFX0FERElOCi0JaGVscAotCSAgU3VwcG9ydCBmb3IgSW50ZWwncyBFQlNBMjg1IGNvbXBhbmlvbiBjaGlwLgotCiBjb25maWcgQVJDSF9FQlNBMTEwCiAJYm9vbCAiRUJTQS0xMTAiCiAJc2VsZWN0IElTQQpAQCAtMjk5LDYgKzMwNiw4IEBACiAJZGVwZW5kcyBvbiBNTVUKIAlzZWxlY3QgUExBVF9JT1AKIAlzZWxlY3QgUENJCisJc2VsZWN0IEdFTkVSSUNfR1BJTworCXNlbGVjdCBIQVZFX0dQSU9fTElCCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgSW50ZWwncyA4MDIxOSBhbmQgSU9QMzJYIChYU2NhbGUpIGZhbWlseSBvZgogCSAgcHJvY2Vzc29ycy4KQEAgLTMwOCw2ICszMTcsOCBAQAogCWRlcGVuZHMgb24gTU1VCiAJc2VsZWN0IFBMQVRfSU9QCiAJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX0dQSU8KKwlzZWxlY3QgSEFWRV9HUElPX0xJQgogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIEludGVsJ3MgSU9QMzNYIChYU2NhbGUpIGZhbWlseSBvZiBwcm9jZXNzb3JzLgogCkBAIC0zNDcsNiArMzU4LDE2IEBACiAJICBJZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIG9yIGNvbW1lbnRzIGFib3V0IHRoZSBMaW51eCBrZXJuZWwgcG9ydAogCSAgdG8gdGhpcyBib2FyZCwgc2VuZCBlLW1haWwgdG8gPHNqaGlsbEBjb3R3LmNvbT4uCiAKK2NvbmZpZyBBUkNIX0tJUktXT09ECisJYm9vbCAiTWFydmVsbCBLaXJrd29vZCIKKwlzZWxlY3QgUENJCisJc2VsZWN0IEdFTkVSSUNfVElNRQorCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCisJc2VsZWN0IFBMQVRfT1JJT04KKwloZWxwCisJICBTdXBwb3J0IGZvciB0aGUgZm9sbG93aW5nIE1hcnZlbGwgS2lya3dvb2Qgc2VyaWVzIFNvQ3M6CisJICA4OEY2MTgwLCA4OEY2MTkyIGFuZCA4OEY2MjgxLgorCiBjb25maWcgQVJDSF9LUzg2OTUKIAlib29sICJNaWNyZWwvS2VuZGluIEtTODY5NSIKIAlzZWxlY3QgR0VORVJJQ19HUElPCkBAIC0zNjUsOSArMzg2LDMxIEBACiAKIAkgIDxodHRwOi8vd3d3LmRpZ2kuY29tL3Byb2R1Y3RzL21pY3JvcHJvY2Vzc29ycy9pbmRleC5qc3A+CiAKK2NvbmZpZyBBUkNIX0xPS0kKKwlib29sICJNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSIKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKKwlzZWxlY3QgUExBVF9PUklPTgorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHRoZSBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0MuCisKK2NvbmZpZyBBUkNIX01WNzhYWDAKKwlib29sICJNYXJ2ZWxsIE1WNzh4eDAiCisJc2VsZWN0IFBDSQorCXNlbGVjdCBHRU5FUklDX1RJTUUKKwlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UUworCXNlbGVjdCBQTEFUX09SSU9OCisJaGVscAorCSAgU3VwcG9ydCBmb3IgdGhlIGZvbGxvd2luZyBNYXJ2ZWxsIE1WNzh4eDAgc2VyaWVzIFNvQ3M6CisJICBNVjc4MXgwLCBNVjc4MngwLgorCiBjb25maWcgQVJDSF9NWEMKIAlib29sICJGcmVlc2NhbGUgTVhDL2lNWC1iYXNlZCIKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKIAlzZWxlY3QgQVJDSF9NVERfWElQCisJc2VsZWN0IEdFTkVSSUNfR1BJTworCXNlbGVjdCBIQVZFX0dQSU9fTElCCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgRnJlZXNjYWxlIE1YQy9pTVgtYmFzZWQgZmFtaWx5IG9mIHByb2Nlc3NvcnMKIApAQCAtMzgxLDcgKzQyNCw4IEBACiAJc2VsZWN0IFBMQVRfT1JJT04KIAloZWxwCiAJICBTdXBwb3J0IGZvciB0aGUgZm9sbG93aW5nIE1hcnZlbGwgT3Jpb24gNXggc2VyaWVzIFNvQ3M6Ci0JICBPcmlvbi0xICg1MTgxKSwgT3Jpb24tTkFTICg1MTgyKSwgT3Jpb24tMiAoNTI4MS4pCisJICBPcmlvbi0xICg1MTgxKSwgT3Jpb24tVm9JUCAoNTE4MUwpLCBPcmlvbi1OQVMgKDUxODIpLAorCSAgT3Jpb24tMiAoNTI4MSkuCiAKIGNvbmZpZyBBUkNIX1BOWDQwMDgKIAlib29sICJQaGlsaXBzIE5leHBlcmlhIFBOWDQwMDggTW9iaWxlIgpAQCAtNDA2LDYgKzQ1MCw3IEBACiAJc2VsZWN0IEZJUQogCXNlbGVjdCBUSU1FUl9BQ09STgogCXNlbGVjdCBBUkNIX01BWV9IQVZFX1BDX0ZEQworCXNlbGVjdCBIQVZFX1BBVEFfUExBVEZPUk0KIAlzZWxlY3QgSVNBX0RNQV9BUEkKIAlzZWxlY3QgTk9fSU9QT1JUCiAJaGVscApAQCAtNTAyLDYgKzU0NywxMCBAQAogCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtaXhwMjN4eC9LY29uZmlnIgogCitzb3VyY2UgImFyY2gvYXJtL21hY2gtbG9raS9LY29uZmlnIgorCitzb3VyY2UgImFyY2gvYXJtL21hY2gtbXY3OHh4MC9LY29uZmlnIgorCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtcHhhL0tjb25maWciCiAKIHNvdXJjZSAiYXJjaC9hcm0vbWFjaC1zYTExMDAvS2NvbmZpZyIKQEAgLTUxNCw2ICs1NjMsOCBAQAogCiBzb3VyY2UgImFyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnIgogCitzb3VyY2UgImFyY2gvYXJtL21hY2gta2lya3dvb2QvS2NvbmZpZyIKKwogc291cmNlICJhcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZyIKIHNvdXJjZSAiYXJjaC9hcm0vcGxhdC1zM2MvS2NvbmZpZyIKIApAQCAtNjUwLDYgKzcwMSw3IEBACiBjb25maWcgU01QCiAJYm9vbCAiU3ltbWV0cmljIE11bHRpLVByb2Nlc3NpbmcgKEVYUEVSSU1FTlRBTCkiCiAJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgKFJFQUxWSUVXX0VCX0FSTTExTVAgfHwgTUFDSF9SRUFMVklFV19QQjExTVApCisJc2VsZWN0IFVTRV9HRU5FUklDX1NNUF9IRUxQRVJTCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gb25lIENQVS4gSWYgeW91IGhhdmUKIAkgIGEgc3lzdGVtIHdpdGggb25seSBvbmUgQ1BVLCBsaWtlIG1vc3QgcGVyc29uYWwgY29tcHV0ZXJzLCBzYXkgTi4gSWYKQEAgLTcwMywyNyArNzU1LDYgQEAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSBidWlsZGluZyBhIGtlcm5lbCBmb3IgYSBkZXNrdG9wLCBlbWJlZGRlZAogCSAgb3IgcmVhbC10aW1lIHN5c3RlbS4gIFNheSBOIGlmIHlvdSBhcmUgdW5zdXJlLgogCi1jb25maWcgTk9fSURMRV9IWgotCWJvb2wgIkR5bmFtaWMgdGljayB0aW1lciIKLQlkZXBlbmRzIG9uICFHRU5FUklDX0NMT0NLRVZFTlRTCi0JaGVscAotCSAgU2VsZWN0IHRoaXMgb3B0aW9uIGlmIHlvdSB3YW50IHRvIGRpc2FibGUgY29udGludW91cyB0aW1lciB0aWNrcwotCSAgYW5kIGhhdmUgdGhlbSBwcm9ncmFtbWVkIHRvIG9jY3VyIGFzIHJlcXVpcmVkLiBUaGlzIG9wdGlvbiBzYXZlcwotCSAgcG93ZXIgYXMgdGhlIHN5c3RlbSBjYW4gcmVtYWluIGluIGlkbGUgc3RhdGUgZm9yIGxvbmdlci4KLQotCSAgQnkgZGVmYXVsdCBkeW5hbWljIHRpY2sgaXMgZGlzYWJsZWQgZHVyaW5nIHRoZSBib290LCBhbmQgY2FuIGJlCi0JICBtYW51YWxseSBlbmFibGVkIHdpdGg6Ci0KLQkgICAgZWNobyAxID4gL3N5cy9kZXZpY2VzL3N5c3RlbS90aW1lci90aW1lcjAvZHluX3RpY2sKLQotCSAgQWx0ZXJuYXRpdmVseSwgaWYgeW91IHdhbnQgZHluYW1pYyB0aWNrIGF1dG9tYXRpY2FsbHkgZW5hYmxlZAotCSAgZHVyaW5nIGJvb3QsIHBhc3MgImR5bnRpY2s9ZW5hYmxlIiB2aWEgdGhlIGtlcm5lbCBjb21tYW5kIHN0cmluZy4KLQotCSAgUGxlYXNlIG5vdGUgdGhhdCBkeW5hbWljIHRpY2sgbWF5IGFmZmVjdCB0aGUgYWNjdXJhY3kgb2YKLQkgIHRpbWVrZWVwaW5nIG9uIHNvbWUgcGxhdGZvcm1zIGRlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24uCi0JICBDdXJyZW50bHkgYXQgbGVhc3QgT01BUCwgUFhBMnh4IGFuZCBTQTExeDAgcGxhdGZvcm1zIGFyZSBrbm93bgotCSAgdG8gaGF2ZSBhY2N1cmF0ZSB0aW1la2VlcGluZyB3aXRoIGR5bmFtaWMgdGljay4KLQogY29uZmlnIEhaCiAJaW50CiAJZGVmYXVsdCAxMjggaWYgQVJDSF9MNzIwMApAQCAtNzg5LDcgKzgyMCw3IEBACiAKIGNvbmZpZyBMRURTCiAJYm9vbCAiVGltZXIgYW5kIENQVSB1c2FnZSBMRURzIgotCWRlcGVuZHMgb24gQVJDSF9DREI4OTcxMiB8fCBBUkNIX0NPMjg1IHx8IEFSQ0hfRUJTQTExMCB8fCBcCisJZGVwZW5kcyBvbiBBUkNIX0NEQjg5NzEyIHx8IEFSQ0hfRUJTQTExMCB8fCBcCiAJCSAgIEFSQ0hfRUJTQTI4NSB8fCBBUkNIX0lNWCB8fCBBUkNIX0lOVEVHUkFUT1IgfHwgXAogCQkgICBBUkNIX0xVQkJPQ0sgfHwgTUFDSF9NQUlOU1RPTkUgfHwgQVJDSF9ORVRXSU5ERVIgfHwgXAogCQkgICBBUkNIX09NQVAgfHwgQVJDSF9QNzIwVCB8fCBBUkNIX1BYQV9JRFAgfHwgXApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vTWFrZWZpbGUgYi9hcmNoL2FybS9NYWtlZmlsZQppbmRleCBlNzJkYjI3Li5iMjA5OTVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9NYWtlZmlsZQpAQCAtMTAwLDggKzEwMCw2IEBACiAgIGluY2Rpci0kKENPTkZJR19BUkNIX0NMUFM3NTAwKSAgIDo9IGNsNzUwMAogIG1hY2hpbmUtJChDT05GSUdfRk9PVEJSSURHRSkJICAgOj0gZm9vdGJyaWRnZQogICBpbmNkaXItJChDT05GSUdfRk9PVEJSSURHRSkJICAgOj0gZWJzYTI4NQotIG1hY2hpbmUtJChDT05GSUdfQVJDSF9DTzI4NSkJICAgOj0gZm9vdGJyaWRnZQotICBpbmNkaXItJChDT05GSUdfQVJDSF9DTzI4NSkJICAgOj0gZWJzYTI4NQogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9TSEFSSykJICAgOj0gc2hhcmsKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfU0ExMTAwKQkgICA6PSBzYTExMDAKIGlmZXEgKCQoQ09ORklHX0FSQ0hfU0ExMTAwKSx5KQpAQCAtMTM1LDExICsxMzMsMTUgQEAKICBtYWNoaW5lLSQoQ09ORklHX0FSQ0hfTkVUWCkJICAgOj0gbmV0eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9OUzlYWFgpCSAgIDo9IG5zOXh4eAogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9EQVZJTkNJKQkgICA6PSBkYXZpbmNpCisgbWFjaGluZS0kKENPTkZJR19BUkNIX0tJUktXT09EKSAgIDo9IGtpcmt3b29kCiAgbWFjaGluZS0kKENPTkZJR19BUkNIX0tTODY5NSkgICAgIDo9IGtzODY5NQogICBpbmNkaXItJChDT05GSUdfQVJDSF9NWEMpCSAgIDo9IG14YworIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NWDIpCSAgIDo9IG14MgogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9NWDMpCSAgIDo9IG14MwogIG1hY2hpbmUtJChDT05GSUdfQVJDSF9PUklPTjVYKQkgICA6PSBvcmlvbjV4CiAgbWFjaGluZS0kKENPTkZJR19BUkNIX01TTTdYMDBBKSAgIDo9IG1zbQorIG1hY2hpbmUtJChDT05GSUdfQVJDSF9MT0tJKSAgICAgICA6PSBsb2tpCisgbWFjaGluZS0kKENPTkZJR19BUkNIX01WNzhYWDApICAgIDo9IG12Nzh4eDAKIAogaWZlcSAoJChDT05GSUdfQVJDSF9FQlNBMTEwKSx5KQogIyBUaGlzIGlzIHdoYXQgaGFwcGVucyBpZiB5b3UgZm9yZ2V0IHRoZSBJT0NTMTYgbGluZS4KQEAgLTE5MCw4ICsxOTIsNiBAQAogY29yZS0kKENPTkZJR19BUkNIX01YQykJCSs9IGFyY2gvYXJtL3BsYXQtbXhjLwogCiBkcml2ZXJzLSQoQ09ORklHX09QUk9GSUxFKSAgICAgICs9IGFyY2gvYXJtL29wcm9maWxlLwotZHJpdmVycy0kKENPTkZJR19BUkNIX0NMUFM3NTAwKQkrPSBkcml2ZXJzL2Fjb3JuL2NoYXIvCi1kcml2ZXJzLSQoQ09ORklHX0FSQ0hfTDcyMDApCSs9IGRyaXZlcnMvYWNvcm4vY2hhci8KIAogbGlicy15CQkJCTo9IGFyY2gvYXJtL2xpYi8gJChsaWJzLXkpCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZSBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9NYWtlZmlsZQppbmRleCBkZTlkOWVlLi45NWJhYWM0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL01ha2VmaWxlCkBAIC02OSw2ICs2OSwxMiBAQAogCiB0YXJnZXRzICAgICAgIDo9IHZtbGludXggdm1saW51eC5sZHMgcGlnZ3kuZ3ogcGlnZ3kubyBmb250Lm8gZm9udC5jIFwKIAkJIGhlYWQubyBtaXNjLm8gJChPQkpTKQorCitpZmVxICgkKENPTkZJR19GVFJBQ0UpLHkpCitPUklHX0NGTEFHUyA6PSAkKEtCVUlMRF9DRkxBR1MpCitLQlVJTERfQ0ZMQUdTID0gJChzdWJzdCAtcGcsICwgJChPUklHX0NGTEFHUykpCitlbmRpZgorCiBFWFRSQV9DRkxBR1MgIDo9IC1mcGljIC1mbm8tYnVpbHRpbgogRVhUUkFfQUZMQUdTICA6PQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TIGIvYXJjaC9hcm0vYm9vdC9jb21wcmVzc2VkL2hlYWQuUwppbmRleCAzYzJjOGYyLi5kZTQxZGFlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9ib290L2NvbXByZXNzZWQvaGVhZC5TCisrKyBiL2FyY2gvYXJtL2Jvb3QvY29tcHJlc3NlZC9oZWFkLlMKQEAgLTYyMyw4ICs2MjMsOCBAQAogCQliCV9fYXJtdjRfbW11X2NhY2hlX29mZgogCQliCV9fYXJtdjRfbW11X2NhY2hlX2ZsdXNoCiAKLQkJLndvcmQJMHg1NjA1NTMxMAkJQCBGZXJvY2VvbgotCQkud29yZAkweGZmZmZmZmYwCisJCS53b3JkCTB4NTYwNTAwMDAJCUAgRmVyb2Nlb24KKwkJLndvcmQJMHhmZjBmMDAwMAogCQliCV9fYXJtdjRfbW11X2NhY2hlX29uCiAJCWIJX19hcm12NF9tbXVfY2FjaGVfb2ZmCiAJCWIJX19hcm12NXRlal9tbXVfY2FjaGVfZmx1c2gKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZSBiL2FyY2gvYXJtL2NvbW1vbi9NYWtlZmlsZQppbmRleCAzZDBiOWZhLi4zMjVlNGI2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb21tb24vTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vY29tbW9uL01ha2VmaWxlCkBAIC0yLDcgKzIsNiBAQAogIyBNYWtlZmlsZSBmb3IgdGhlIGxpbnV4IGtlcm5lbC4KICMKIAotb2JqLXkJCQkJKz0gcnRjdGltZS5vCiBvYmotJChDT05GSUdfQVJNX0dJQykJCSs9IGdpYy5vCiBvYmotJChDT05GSUdfQVJNX1ZJQykJCSs9IHZpYy5vCiBvYmotJChDT05GSUdfSUNTVDUyNSkJCSs9IGljc3Q1MjUubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29tbW9uL3J0Y3RpbWUuYyBiL2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhOGY3NzMuLjAwMDAwMDAKLS0tIGEvYXJjaC9hcm0vY29tbW9uL3J0Y3RpbWUuYworKysgL2Rldi9udWxsCkBAIC0xLDQzNCArMCwwIEBACi0vKgotICogIGxpbnV4L2FyY2gvYXJtL2NvbW1vbi9ydGN0aW1lLmMKLSAqCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgotICogIEJhc2VkIG9uIHNhMTEwMC1ydGMuYywgTmlscyBGYWVyYmVyLCBDSUgsIE5pY29sYXMgUGl0cmUuCi0gKiAgQmFzZWQgb24gcnRjLmMgYnkgUGF1bCBHb3J0bWFrZXIKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICovCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZS5oPgotI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgotI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KLSNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+Ci0jaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+Ci0KLSNpbmNsdWRlIDxhc20vcnRjLmg+Ci0KLXN0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChydGNfd2FpdCk7Ci1zdGF0aWMgc3RydWN0IGZhc3luY19zdHJ1Y3QgKnJ0Y19hc3luY19xdWV1ZTsKLQotLyoKLSAqIHJ0Y19sb2NrIHByb3RlY3RzIHJ0Y19pcnFfZGF0YQotICovCi1zdGF0aWMgREVGSU5FX1NQSU5MT0NLKHJ0Y19sb2NrKTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIHJ0Y19pcnFfZGF0YTsKLQotLyoKLSAqIHJ0Y19zZW0gcHJvdGVjdHMgcnRjX2ludXNlIGFuZCBydGNfb3BzCi0gKi8KLXN0YXRpYyBERUZJTkVfTVVURVgocnRjX211dGV4KTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIHJ0Y19pbnVzZTsKLXN0YXRpYyBzdHJ1Y3QgcnRjX29wcyAqcnRjX29wczsKLQotI2RlZmluZSBydGNfZXBvY2ggMTkwMFVMCi0KLS8qCi0gKiBDYWxjdWxhdGUgdGhlIG5leHQgYWxhcm0gdGltZSBnaXZlbiB0aGUgcmVxdWVzdGVkIGFsYXJtIHRpbWUgbWFzawotICogYW5kIHRoZSBjdXJyZW50IHRpbWUuCi0gKi8KLXZvaWQgcnRjX25leHRfYWxhcm1fdGltZShzdHJ1Y3QgcnRjX3RpbWUgKm5leHQsIHN0cnVjdCBydGNfdGltZSAqbm93LCBzdHJ1Y3QgcnRjX3RpbWUgKmFscm0pCi17Ci0JdW5zaWduZWQgbG9uZyBuZXh0X3RpbWU7Ci0JdW5zaWduZWQgbG9uZyBub3dfdGltZTsKLQotCW5leHQtPnRtX3llYXIgPSBub3ctPnRtX3llYXI7Ci0JbmV4dC0+dG1fbW9uID0gbm93LT50bV9tb247Ci0JbmV4dC0+dG1fbWRheSA9IG5vdy0+dG1fbWRheTsKLQluZXh0LT50bV9ob3VyID0gYWxybS0+dG1faG91cjsKLQluZXh0LT50bV9taW4gPSBhbHJtLT50bV9taW47Ci0JbmV4dC0+dG1fc2VjID0gYWxybS0+dG1fc2VjOwotCi0JcnRjX3RtX3RvX3RpbWUobm93LCAmbm93X3RpbWUpOwotCXJ0Y190bV90b190aW1lKG5leHQsICZuZXh0X3RpbWUpOwotCi0JaWYgKG5leHRfdGltZSA8IG5vd190aW1lKSB7Ci0JCS8qIEFkdmFuY2Ugb25lIGRheSAqLwotCQluZXh0X3RpbWUgKz0gNjAgKiA2MCAqIDI0OwotCQlydGNfdGltZV90b190bShuZXh0X3RpbWUsIG5leHQpOwotCX0KLX0KLUVYUE9SVF9TWU1CT0wocnRjX25leHRfYWxhcm1fdGltZSk7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IHJ0Y19hcm1fcmVhZF90aW1lKHN0cnVjdCBydGNfb3BzICpvcHMsIHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JbWVtc2V0KHRtLCAwLCBzaXplb2Yoc3RydWN0IHJ0Y190aW1lKSk7Ci0JcmV0dXJuIG9wcy0+cmVhZF90aW1lKHRtKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9zZXRfdGltZShzdHJ1Y3QgcnRjX29wcyAqb3BzLCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQotewotCWludCByZXQ7Ci0KLQlyZXQgPSBydGNfdmFsaWRfdG0odG0pOwotCWlmIChyZXQgPT0gMCkKLQkJcmV0ID0gb3BzLT5zZXRfdGltZSh0bSk7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW5saW5lIGludCBydGNfYXJtX3JlYWRfYWxhcm0oc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCi17Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0JaWYgKG9wcy0+cmVhZF9hbGFybSkgewotCQltZW1zZXQoYWxybSwgMCwgc2l6ZW9mKHN0cnVjdCBydGNfd2thbHJtKSk7Ci0JCXJldCA9IG9wcy0+cmVhZF9hbGFybShhbHJtKTsKLQl9Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgcnRjX2FybV9zZXRfYWxhcm0oc3RydWN0IHJ0Y19vcHMgKm9wcywgc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCi17Ci0JaW50IHJldCA9IC1FSU5WQUw7Ci0JaWYgKG9wcy0+c2V0X2FsYXJtKQotCQlyZXQgPSBvcHMtPnNldF9hbGFybShhbHJtKTsKLQlyZXR1cm4gcmV0OwotfQotCi12b2lkIHJ0Y191cGRhdGUodW5zaWduZWQgbG9uZyBudW0sIHVuc2lnbmVkIGxvbmcgZXZlbnRzKQotewotCXNwaW5fbG9jaygmcnRjX2xvY2spOwotCXJ0Y19pcnFfZGF0YSA9IChydGNfaXJxX2RhdGEgKyAobnVtIDw8IDgpKSB8IGV2ZW50czsKLQlzcGluX3VubG9jaygmcnRjX2xvY2spOwotCi0Jd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZydGNfd2FpdCk7Ci0Ja2lsbF9mYXN5bmMoJnJ0Y19hc3luY19xdWV1ZSwgU0lHSU8sIFBPTExfSU4pOwotfQotRVhQT1JUX1NZTUJPTChydGNfdXBkYXRlKTsKLQotCi1zdGF0aWMgc3NpemVfdAotcnRjX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQotewotCURFQ0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOwotCXVuc2lnbmVkIGxvbmcgZGF0YTsKLQlzc2l6ZV90IHJldDsKLQotCWlmIChjb3VudCA8IHNpemVvZih1bnNpZ25lZCBsb25nKSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlhZGRfd2FpdF9xdWV1ZSgmcnRjX3dhaXQsICZ3YWl0KTsKLQlkbyB7Ci0JCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKLQotCQlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7Ci0JCWRhdGEgPSBydGNfaXJxX2RhdGE7Ci0JCXJ0Y19pcnFfZGF0YSA9IDA7Ci0JCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JCWlmIChkYXRhICE9IDApIHsKLQkJCXJldCA9IDA7Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoZmlsZS0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spIHsKLQkJCXJldCA9IC1FQUdBSU47Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsKLQkJCXJldCA9IC1FUkVTVEFSVFNZUzsKLQkJCWJyZWFrOwotCQl9Ci0JCXNjaGVkdWxlKCk7Ci0JfSB3aGlsZSAoMSk7Ci0Jc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKLQlyZW1vdmVfd2FpdF9xdWV1ZSgmcnRjX3dhaXQsICZ3YWl0KTsKLQotCWlmIChyZXQgPT0gMCkgewotCQlyZXQgPSBwdXRfdXNlcihkYXRhLCAodW5zaWduZWQgbG9uZyBfX3VzZXIgKilidWYpOwotCQlpZiAocmV0ID09IDApCi0JCQlyZXQgPSBzaXplb2YodW5zaWduZWQgbG9uZyk7Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgcnRjX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHBvbGxfdGFibGUgKndhaXQpCi17Ci0JdW5zaWduZWQgbG9uZyBkYXRhOwotCi0JcG9sbF93YWl0KGZpbGUsICZydGNfd2FpdCwgd2FpdCk7Ci0KLQlzcGluX2xvY2tfaXJxKCZydGNfbG9jayk7Ci0JZGF0YSA9IHJ0Y19pcnFfZGF0YTsKLQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKLQotCXJldHVybiBkYXRhICE9IDAgPyBQT0xMSU4gfCBQT0xMUkROT1JNIDogMDsKLX0KLQotc3RhdGljIGludCBydGNfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsCi0JCSAgICAgdW5zaWduZWQgbG9uZyBhcmcpCi17Ci0Jc3RydWN0IHJ0Y19vcHMgKm9wcyA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3QgcnRjX3RpbWUgdG07Ci0Jc3RydWN0IHJ0Y193a2Fscm0gYWxybTsKLQl2b2lkIF9fdXNlciAqdWFyZyA9ICh2b2lkIF9fdXNlciAqKWFyZzsKLQlpbnQgcmV0ID0gLUVJTlZBTDsKLQotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBSVENfQUxNX1JFQUQ6Ci0JCXJldCA9IHJ0Y19hcm1fcmVhZF9hbGFybShvcHMsICZhbHJtKTsKLQkJaWYgKHJldCkKLQkJCWJyZWFrOwotCQlyZXQgPSBjb3B5X3RvX3VzZXIodWFyZywgJmFscm0udGltZSwgc2l6ZW9mKHRtKSk7Ci0JCWlmIChyZXQpCi0JCQlyZXQgPSAtRUZBVUxUOwotCQlicmVhazsKLQotCWNhc2UgUlRDX0FMTV9TRVQ6Ci0JCXJldCA9IGNvcHlfZnJvbV91c2VyKCZhbHJtLnRpbWUsIHVhcmcsIHNpemVvZih0bSkpOwotCQlpZiAocmV0KSB7Ci0JCQlyZXQgPSAtRUZBVUxUOwotCQkJYnJlYWs7Ci0JCX0KLQkJYWxybS5lbmFibGVkID0gMDsKLQkJYWxybS5wZW5kaW5nID0gMDsKLQkJYWxybS50aW1lLnRtX21kYXkgPSAtMTsKLQkJYWxybS50aW1lLnRtX21vbiA9IC0xOwotCQlhbHJtLnRpbWUudG1feWVhciA9IC0xOwotCQlhbHJtLnRpbWUudG1fd2RheSA9IC0xOwotCQlhbHJtLnRpbWUudG1feWRheSA9IC0xOwotCQlhbHJtLnRpbWUudG1faXNkc3QgPSAtMTsKLQkJcmV0ID0gcnRjX2FybV9zZXRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfUkRfVElNRToKLQkJcmV0ID0gcnRjX2FybV9yZWFkX3RpbWUob3BzLCAmdG0pOwotCQlpZiAocmV0KQotCQkJYnJlYWs7Ci0JCXJldCA9IGNvcHlfdG9fdXNlcih1YXJnLCAmdG0sIHNpemVvZih0bSkpOwotCQlpZiAocmV0KQotCQkJcmV0ID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0KLQljYXNlIFJUQ19TRVRfVElNRToKLQkJaWYgKCFjYXBhYmxlKENBUF9TWVNfVElNRSkpIHsKLQkJCXJldCA9IC1FQUNDRVM7Ci0JCQlicmVhazsKLQkJfQotCQlyZXQgPSBjb3B5X2Zyb21fdXNlcigmdG0sIHVhcmcsIHNpemVvZih0bSkpOwotCQlpZiAocmV0KSB7Ci0JCQlyZXQgPSAtRUZBVUxUOwotCQkJYnJlYWs7Ci0JCX0KLQkJcmV0ID0gcnRjX2FybV9zZXRfdGltZShvcHMsICZ0bSk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfRVBPQ0hfU0VUOgotI2lmbmRlZiBydGNfZXBvY2gKLQkJLyoKLQkJICogVGhlcmUgd2VyZSBubyBSVEMgY2xvY2tzIGJlZm9yZSAxOTAwLgotCQkgKi8KLQkJaWYgKGFyZyA8IDE5MDApIHsKLQkJCXJldCA9IC1FSU5WQUw7Ci0JCQlicmVhazsKLQkJfQotCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19USU1FKSkgewotCQkJcmV0ID0gLUVBQ0NFUzsKLQkJCWJyZWFrOwotCQl9Ci0JCXJ0Y19lcG9jaCA9IGFyZzsKLQkJcmV0ID0gMDsKLSNlbmRpZgotCQlicmVhazsKLQotCWNhc2UgUlRDX0VQT0NIX1JFQUQ6Ci0JCXJldCA9IHB1dF91c2VyKHJ0Y19lcG9jaCwgKHVuc2lnbmVkIGxvbmcgX191c2VyICopdWFyZyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBSVENfV0tBTE1fU0VUOgotCQlyZXQgPSBjb3B5X2Zyb21fdXNlcigmYWxybSwgdWFyZywgc2l6ZW9mKGFscm0pKTsKLQkJaWYgKHJldCkgewotCQkJcmV0ID0gLUVGQVVMVDsKLQkJCWJyZWFrOwotCQl9Ci0JCXJldCA9IHJ0Y19hcm1fc2V0X2FsYXJtKG9wcywgJmFscm0pOwotCQlicmVhazsKLQotCWNhc2UgUlRDX1dLQUxNX1JEOgotCQlyZXQgPSBydGNfYXJtX3JlYWRfYWxhcm0ob3BzLCAmYWxybSk7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQkJcmV0ID0gY29weV90b191c2VyKHVhcmcsICZhbHJtLCBzaXplb2YoYWxybSkpOwotCQlpZiAocmV0KQotCQkJcmV0ID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0KLQlkZWZhdWx0OgotCQlpZiAob3BzLT5pb2N0bCkKLQkJCXJldCA9IG9wcy0+aW9jdGwoY21kLCBhcmcpOwotCQlicmVhazsKLQl9Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlpbnQgcmV0OwotCi0JbXV0ZXhfbG9jaygmcnRjX211dGV4KTsKLQotCWlmIChydGNfaW51c2UpIHsKLQkJcmV0ID0gLUVCVVNZOwotCX0gZWxzZSBpZiAoIXJ0Y19vcHMgfHwgIXRyeV9tb2R1bGVfZ2V0KHJ0Y19vcHMtPm93bmVyKSkgewotCQlyZXQgPSAtRU5PREVWOwotCX0gZWxzZSB7Ci0JCWZpbGUtPnByaXZhdGVfZGF0YSA9IHJ0Y19vcHM7Ci0KLQkJcmV0ID0gcnRjX29wcy0+b3BlbiA/IHJ0Y19vcHMtPm9wZW4oKSA6IDA7Ci0JCWlmIChyZXQgPT0gMCkgewotCQkJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCQkJcnRjX2lycV9kYXRhID0gMDsKLQkJCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOwotCi0JCQlydGNfaW51c2UgPSAxOwotCQl9Ci0JfQotCW11dGV4X3VubG9jaygmcnRjX211dGV4KTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0Jc3RydWN0IHJ0Y19vcHMgKm9wcyA9IGZpbGUtPnByaXZhdGVfZGF0YTsKLQotCWlmIChvcHMtPnJlbGVhc2UpCi0JCW9wcy0+cmVsZWFzZSgpOwotCi0Jc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwotCXJ0Y19pcnFfZGF0YSA9IDA7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7Ci0KLQltb2R1bGVfcHV0KHJ0Y19vcHMtPm93bmVyKTsKLQlydGNfaW51c2UgPSAwOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgcnRjX2Zhc3luYyhpbnQgZmQsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgb24pCi17Ci0JcmV0dXJuIGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmcnRjX2FzeW5jX3F1ZXVlKTsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcnRjX2ZvcHMgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5sbHNlZWsJCT0gbm9fbGxzZWVrLAotCS5yZWFkCQk9IHJ0Y19yZWFkLAotCS5wb2xsCQk9IHJ0Y19wb2xsLAotCS5pb2N0bAkJPSBydGNfaW9jdGwsCi0JLm9wZW4JCT0gcnRjX29wZW4sCi0JLnJlbGVhc2UJPSBydGNfcmVsZWFzZSwKLQkuZmFzeW5jCQk9IHJ0Y19mYXN5bmMsCi19OwotCi1zdGF0aWMgc3RydWN0IG1pc2NkZXZpY2UgcnRjX21pc2NkZXYgPSB7Ci0JLm1pbm9yCQk9IFJUQ19NSU5PUiwKLQkubmFtZQkJPSAicnRjIiwKLQkuZm9wcwkJPSAmcnRjX2ZvcHMsCi19OwotCi0KLXN0YXRpYyBpbnQgcnRjX3JlYWRfcHJvYyhjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgcnRjX29wcyAqb3BzID0gZGF0YTsKLQlzdHJ1Y3QgcnRjX3drYWxybSBhbHJtOwotCXN0cnVjdCBydGNfdGltZSB0bTsKLQljaGFyICpwID0gcGFnZTsKLQotCWlmIChydGNfYXJtX3JlYWRfdGltZShvcHMsICZ0bSkgPT0gMCkgewotCQlwICs9IHNwcmludGYocCwKLQkJCSJydGNfdGltZVx0OiAlMDJkOiUwMmQ6JTAyZFxuIgotCQkJInJ0Y19kYXRlXHQ6ICUwNGQtJTAyZC0lMDJkXG4iCi0JCQkicnRjX2Vwb2NoXHQ6ICUwNGx1XG4iLAotCQkJdG0udG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMsCi0JCQl0bS50bV95ZWFyICsgMTkwMCwgdG0udG1fbW9uICsgMSwgdG0udG1fbWRheSwKLQkJCXJ0Y19lcG9jaCk7Ci0JfQotCi0JaWYgKHJ0Y19hcm1fcmVhZF9hbGFybShvcHMsICZhbHJtKSA9PSAwKSB7Ci0JCXAgKz0gc3ByaW50ZihwLCAiYWxybV90aW1lXHQ6ICIpOwotCQlpZiAoKHVuc2lnbmVkIGludClhbHJtLnRpbWUudG1faG91ciA8PSAyNCkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZDoiLCBhbHJtLnRpbWUudG1faG91cik7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKio6Iik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9taW4gPD0gNTkpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmQ6IiwgYWxybS50aW1lLnRtX21pbik7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKio6Iik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9zZWMgPD0gNTkpCi0JCQlwICs9IHNwcmludGYocCwgIiUwMmRcbiIsIGFscm0udGltZS50bV9zZWMpOwotCQllbHNlCi0JCQlwICs9IHNwcmludGYocCwgIioqXG4iKTsKLQotCQlwICs9IHNwcmludGYocCwgImFscm1fZGF0ZVx0OiAiKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX3llYXIgPD0gMjAwKQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDRkLSIsIGFscm0udGltZS50bV95ZWFyICsgMTkwMCk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKioqKi0iKTsKLQkJaWYgKCh1bnNpZ25lZCBpbnQpYWxybS50aW1lLnRtX21vbiA8PSAxMSkKLQkJCXAgKz0gc3ByaW50ZihwLCAiJTAyZC0iLCBhbHJtLnRpbWUudG1fbW9uICsgMSk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKiotIik7Ci0JCWlmICgodW5zaWduZWQgaW50KWFscm0udGltZS50bV9tZGF5IDw9IDMxKQotCQkJcCArPSBzcHJpbnRmKHAsICIlMDJkXG4iLCBhbHJtLnRpbWUudG1fbWRheSk7Ci0JCWVsc2UKLQkJCXAgKz0gc3ByaW50ZihwLCAiKipcbiIpOwotCQlwICs9IHNwcmludGYocCwgImFscm1fd2FrZXVwXHQ6ICVzXG4iLAotCQkJICAgICBhbHJtLmVuYWJsZWQgPyAieWVzIiA6ICJubyIpOwotCQlwICs9IHNwcmludGYocCwgImFscm1fcGVuZGluZ1x0OiAlc1xuIiwKLQkJCSAgICAgYWxybS5wZW5kaW5nID8gInllcyIgOiAibm8iKTsKLQl9Ci0KLQlpZiAob3BzLT5wcm9jKQotCQlwICs9IG9wcy0+cHJvYyhwKTsKLQotCXJldHVybiBwIC0gcGFnZTsKLX0KLQotaW50IHJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqb3BzKQotewotCWludCByZXQgPSAtRUJVU1k7Ci0KLQltdXRleF9sb2NrKCZydGNfbXV0ZXgpOwotCWlmIChydGNfb3BzID09IE5VTEwpIHsKLQkJcnRjX29wcyA9IG9wczsKLQotCQlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZydGNfbWlzY2Rldik7Ci0JCWlmIChyZXQgPT0gMCkKLQkJCWNyZWF0ZV9wcm9jX3JlYWRfZW50cnkoImRyaXZlci9ydGMiLCAwLCBOVUxMLAotCQkJCQkgICAgICAgcnRjX3JlYWRfcHJvYywgb3BzKTsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZydGNfbXV0ZXgpOwotCi0JcmV0dXJuIHJldDsKLX0KLUVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfcnRjKTsKLQotdm9pZCB1bnJlZ2lzdGVyX3J0YyhzdHJ1Y3QgcnRjX29wcyAqcnRjKQotewotCW11dGV4X2xvY2soJnJ0Y19tdXRleCk7Ci0JaWYgKHJ0YyA9PSBydGNfb3BzKSB7Ci0JCXJlbW92ZV9wcm9jX2VudHJ5KCJkcml2ZXIvcnRjIiwgTlVMTCk7Ci0JCW1pc2NfZGVyZWdpc3RlcigmcnRjX21pc2NkZXYpOwotCQlydGNfb3BzID0gTlVMTDsKLQl9Ci0JbXV0ZXhfdW5sb2NrKCZydGNfbXV0ZXgpOwotfQotRVhQT1JUX1NZTUJPTCh1bnJlZ2lzdGVyX3J0Yyk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jIGIvYXJjaC9hcm0vY29tbW9uL3NoYXJwc2xfcG0uYwppbmRleCA1YmJhNTI1Li44ODIyYjY4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb21tb24vc2hhcnBzbF9wbS5jCisrKyBiL2FyY2gvYXJtL2NvbW1vbi9zaGFycHNsX3BtLmMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG0uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9zaGFycHNsX3BtLmg+CiAKQEAgLTE1Nyw2ICsxNTgsNyBAQAogCWRldl9kYmcoc2hhcnBzbF9wbS5kZXYsICJCYXR0ZXJ5OiB2b2x0YWdlOiAlZCwgc3RhdHVzOiAlZCwgcGVyY2VudGFnZTogJWQsIHRpbWU6ICVsZFxuIiwgdm9sdGFnZSwKIAkJCXNoYXJwc2xfcG0uYmF0dHN0YXQubWFpbmJhdF9zdGF0dXMsIHNoYXJwc2xfcG0uYmF0dHN0YXQubWFpbmJhdF9wZXJjZW50LCBqaWZmaWVzKTsKIAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKIAkvKiBJZiBiYXR0ZXJ5IGlzIGxvdy4gbGltaXQgYmFja2xpZ2h0IGludGVuc2l0eSB0byBzYXZlIHBvd2VyLiAqLwogCWlmICgoc2hhcnBzbF9wbS5iYXR0c3RhdC5hY19zdGF0dXMgIT0gQVBNX0FDX09OTElORSkKIAkJCSYmICgoc2hhcnBzbF9wbS5iYXR0c3RhdC5tYWluYmF0X3N0YXR1cyA9PSBBUE1fQkFUVEVSWV9TVEFUVVNfTE9XKSB8fApAQCAtMTY5LDYgKzE3MSw3IEBACiAJCXNoYXJwc2xfcG0ubWFjaGluZm8tPmJhY2tsaWdodF9saW1pdCgwKTsKIAkJc2hhcnBzbF9wbS5mbGFncyAmPSB+U0hBUlBTTF9CTF9MSU1JVDsKIAl9CisjZW5kaWYKIAogCS8qIFN1c3BlbmQgaWYgY3JpdGljYWwgYmF0dGVyeSBsZXZlbCAqLwogCWlmICgoc2hhcnBzbF9wbS5iYXR0c3RhdC5hY19zdGF0dXMgIT0gQVBNX0FDX09OTElORSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MWNhcDlhZGtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcKaW5kZXggZTMyZTczNi4uYmUyYjJmMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxY2FwOWFka19kZWZjb25maWcKQEAgLTIxMyw3ICsyMTMsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTkwNyw3ICs5MDYsMzIgQEAKICMKICMgVVNCIEdhZGdldCBTdXBwb3J0CiAjCi0jIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQT15CitDT05GSUdfVVNCX0FUTUVMX1VTQkE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQ9eQorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9bQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRklMRV9TVE9SQUdFPW0KKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0VfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKIENPTkZJR19NTUM9eQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKQEAgLTkyNiw3ICs5NTAsNTkgQEAKICMgQ09ORklHX01NQ19TUEkgaXMgbm90IHNldAogIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQotIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAorCisjCisjIFJUQyBpbnRlcmZhY2VzCisjCitDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQorQ09ORklHX1JUQ19JTlRGX1BST0M9eQorQ09ORklHX1JUQ19JTlRGX0RFVj15CisjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKKworIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX01BWDY5MDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SOTcwMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorCisjCisjIFBsYXRmb3JtIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05PXkKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X1JUVD0wCitDT05GSUdfUlRDX0RSVl9BVDkxU0FNOV9HUEJSPTAKIAogIwogIyBGaWxlIHN5c3RlbXMKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGRrX2RlZmNvbmZpZwppbmRleCAyZGJiYmMzLi44NjhmYjdiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBka19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZGtfZGVmY29uZmlnCkBAIC0xNjksNyArMTY5LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFybTkyMDBla19kZWZjb25maWcKaW5kZXggNmU5OTRmNy4uZGU0M2ZjNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxcm05MjAwZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXJtOTIwMGVrX2RlZmNvbmZpZwpAQCAtMTYwLDcgKzE2MCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjBla19kZWZjb25maWcKaW5kZXggZjY1OWM5My4uMjAxMWFkZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MGVrX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYwZWtfZGVmY29uZmlnCkBAIC0yMjAsNyArMjIwLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYxZWtfZGVmY29uZmlnCmluZGV4IDM4MDJlODUuLjQwNDk3NjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjFla19kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2MWVrX2RlZmNvbmZpZwpAQCAtMjEzLDcgKzIxMyw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOTI2M2VrX2RlZmNvbmZpZwppbmRleCAzMmEwZDc0Li5mYTFjNWFlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05MjYzZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTkyNjNla19kZWZjb25maWcKQEAgLTIxMyw3ICsyMTMsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlnMjBla19kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA3MCUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL2F0OTFzYW05ZzIwZWtfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLmMwNjg2MzggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOWcyMGVrX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI0CisjIFR1ZSBKdW4gMTAgMTU6NTE6NTIgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjIsNDUgKzIyLDQwIEBACiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAotQ09ORklHX1NXQVA9eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQUlSX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKLSMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQpAQCAtNzEsNDIgKzY2LDM1IEBACiBDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKIENPTkZJR19TSUdOQUxGRD15Ci1DT05GSUdfVElNRVJGRD15CiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKIENPTkZJR19TTEFCPXkKICMgQ09ORklHX1NMVUIgaXMgbm90IHNldAogIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15CiBDT05GSUdfSU9TQ0hFRF9BUz15Ci1DT05GSUdfSU9TQ0hFRF9ERUFETElORT15Ci1DT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CiBDT05GSUdfREVGQVVMVF9BUz15CiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKQEAgLTEyMCw3ICsxMDgsNyBAQAogIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTE9eQogIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldApAQCAtMTM5LDggKzEyNyw5IEBACiAjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0Ci1DT05GSUdfQVJDSF9QWEE9eQorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKQEAgLTE1MCwyNSArMTM5LDYwIEBACiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAogCiAjCi0jIEludGVsIFBYQTJ4eCBJbXBsZW1lbnRhdGlvbnMKKyMgQm9vdCBvcHRpb25zCiAjCi0jIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAotIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9UUklaRVBTNCBpcyBub3Qgc2V0Ci1DT05GSUdfTUFDSF9FTV9YMjcwPXkKLUNPTkZJR19QWEEyN3g9eQorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwCisjCisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05RzIwPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOUcyMCBCb2FyZCBUeXBlCisjCitDT05GSUdfTUFDSF9BVDkxU0FNOUcyMEVLPXkKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKyMgQ09ORklHX01URF9BVDkxX0RBVEFGTEFTSF9DQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYgaXMgbm90IHNldAorCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCitDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTPXkKKyMgQ09ORklHX0FUOTFfU0xPV19DTE9DSyBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKK0NPTkZJR19BVDkxX0VBUkxZX0RCR1U9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDAgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwMCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzIzMywxNCBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0xFRFM9eQorQ09ORklHX0xFRFNfQ1BVPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNDgsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im1lbT02NE0gY29uc29sZT10dHlTMCwxMTUyMDAgaW5pdHJkPTB4MjExMDAwMDAsMzE0NTcyOCByb290PS9kZXYvcmFtMCBydyIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjYyLDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI3NSwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMTcgKzI5MywxMyBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKICMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQotQ09ORklHX0lQX1BOUF9ESENQPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKIENPTkZJR19JUF9QTlBfQk9PVFA9eQogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldApAQCAtMjgzLDkgKzMxMSwxMCBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUX0RJQUc9eQogQ09ORklHX0lORVRfVENQX0RJQUc9eQogIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldApAQCAtMzExLDEwICszNDAsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM0OCw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzU3LDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM2OCwxOCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15Ci0jIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ09OQ0FUPXkKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ01ETElORV9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CiAKICMKQEAgLTM5OCwxNSArMzkzLDEzIEBACiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwogIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX05PU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CkBAIC00MjUsMTIgKzQxOCwxMyBAQAogIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCiAjCiAjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfU0hBUlBfU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIworQ09ORklHX01URF9EQVRBRkxBU0g9eQorIyBDT05GSUdfTVREX00yNVA4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDQ2LDMyICs0NDAsMjMgQEAKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX0FUOTE9eQorQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX1NPRlQ9eQorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfSFcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfTk9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORF9QTEFURk9STT15CisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwogIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKICMKICMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAotCi0jCi0jIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAotIwogIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUGx1ZyBhbmQgUGxheSBzdXBwb3J0Ci0jCi0jIENPTkZJR19QTlBBQ1BJIGlzIG5vdCBzZXQKLQotIwotIyBCbG9jayBkZXZpY2VzCi0jCitDT05GSUdfQkxLX0RFVj15CiAjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfTE9PUD15CiAjIENPTkZJR19CTEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldApAQCAtNDc5LDIwICs0NjQsMjQgQEAKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKK0NPTkZJR19CTEtfREVWX1JBTV9TSVpFPTgxOTIKIENPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKK0NPTkZJR19NSVNDX0RFVklDRVM9eQorQ09ORklHX0FUTUVMX1BXTT15CisjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAorQ09ORklHX0FUTUVMX1NTQz15CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzQ5Niw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDM5ICs1MDgsNDYgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKLSMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUwgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CitDT05GSUdfUEhZTElCPXkKIAogIwotIyBFdGhlcm5ldCAoMTAgb3IgMTAwTWJpdCkKKyMgTUlJIFBIWSBkZXZpY2UgZHJpdmVycwogIworIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfREFWSUNPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfUVNFTUlfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xYVF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQ0lDQURBX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVRFU1NFX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTVNDX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19CUk9BRENPTV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfSUNQTFVTX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTURJT19CSVRCQU5HIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfRVRIRVJORVQ9eQogQ09ORklHX01JST15CitDT05GSUdfTUFDQj15CisjIENPTkZJR19BWDg4Nzk2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0Ci1DT05GSUdfRE05MDAwPXkKLSMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKIApAQCAtNTY4LDcgKzU2NCw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU3Miw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTUsMTAgKzU4Niw5IEBACiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQogIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0zMjAKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT0yNDAKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02MTIsMjkgKzYwMiwxOCBAQAogIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKLUNPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQotIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZQk9BUkRfR1BJTz15CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCiBDT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKK0NPTkZJR19TRVJJT19TRVJQT1JUPXkKICMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKQEAgLTY1NSw0NSArNjM0LDUwIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9BVE1FTD15CitDT05GSUdfU0VSSUFMX0FUTUVMX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMX0FUTUVMX1RUWUFUIGlzIG5vdCBzZXQKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKK0NPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CiAKICMKICMgU1BJIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorQ09ORklHX1NQSV9NQVNURVI9eQogCiAjCi0jIERhbGxhcydzIDEtd2lyZSBidXMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKICMKK0NPTkZJR19TUElfQVRNRUw9eQorIyBDT05GSUdfU1BJX0JJVEJBTkcgaXMgbm90IHNldAorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CitDT05GSUdfU1BJX1NQSURFVj15CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzY4NSw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsODEgKzY5NCw1MSBAQAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUJYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAogIwogIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAogQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQorQ09ORklHX1NPVU5EPXkKIAogIwogIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKICMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKK0NPTkZJR19TTkQ9eQorQ09ORklHX1NORF9USU1FUj15CitDT05GSUdfU05EX1BDTT15CitDT05GSUdfU05EX1NFUVVFTkNFUj15CisjIENPTkZJR19TTkRfU0VRX0RVTU1ZIGlzIG5vdCBzZXQKIENPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQorQ09ORklHX1NORF9NSVhFUl9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTPXkKIENPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSX09TUz15CiAjIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15CisjIENPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlMgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgR2VuZXJpYyBkZXZpY2VzCiAjCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQogIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKQEAgLTgwNSw4ICs3NDYsMTMgQEAKICMKICMgQUxTQSBBUk0gZGV2aWNlcwogIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQorIyBDT05GSUdfU05EX0FUOTFfQUM5NyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIGRldmljZXMKKyMKK0NPTkZJR19TTkRfQVQ3M0MyMTM9eQorQ09ORklHX1NORF9BVDczQzIxM19UQVJHRVRfQklUUkFURT00ODAwMAogCiAjCiAjIFVTQiBkZXZpY2VzCkBAIC04MjAsMTYgKzc2NiwxNyBAQAogIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0CiAKICMKKyMgU29DIEF1ZGlvIHN1cHBvcnQgZm9yIFN1cGVySAorIworCisjCiAjIE9wZW4gU291bmQgU3lzdGVtCiAjCiAjIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtODM4LDEwICs3ODUsNyBAQAogIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ISURfRkYgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIHN1cHBvcnQKLSMKK0NPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldApAQCAtODU1LDYgKzc5OSw3IEBACiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzgxMSw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs4MzAsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArODQ1LDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSwyNiArODg2LDY2IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorQ09ORklHX1VTQl9aRVJPPW0KKyMgQ09ORklHX1VTQl9FVEggaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRGUz1tCitDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRT1tCisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFX1RFU1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9HX1NFUklBTD1tCisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorQ09ORklHX01NQz15CiAjIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBDYXJkIERyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQorQ09ORklHX01NQ19CTE9DSz15CitDT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CisjIENPTkZJR19TRElPX1VBUlQgaXMgbm90IHNldAogCiAjCiAjIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIwotQ09ORklHX01NQ19QWEE9bQorQ09ORklHX01NQ19BVDkxPXkKKyMgQ09ORklHX01NQ19TUEkgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKK0NPTkZJR19MRURTX0FUTUVMX1BXTT15CitDT05GSUdfTEVEU19HUElPPXkKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9eQorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCitDT05GSUdfUlRDX0NMQVNTPXkKK0NPTkZJR19SVENfSENUT1NZUz15CitDT05GSUdfUlRDX0hDVE9TWVNfREVWSUNFPSJydGMwIgorIyBDT05GSUdfUlRDX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBSVEMgaW50ZXJmYWNlcwpAQCAtOTcwLDI2ICs5NTcsMjggQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKICMgU1BJIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKIAogIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQorIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9WMzAyMCBpcyBub3Qgc2V0CiAKICMKICMgb24tQ1BVIFJUQyBkcml2ZXJzCiAjCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTk9eQorQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTlfUlRUPTAKK0NPTkZJR19SVENfRFJWX0FUOTFTQU05X0dQQlI9MAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE0ICs5ODYsOCBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKQEAgLTEwNDYsNyArMTAyOSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDIyICsxMDQ0LDIxIEBACiBDT05GSUdfSkZGUzJfRlM9eQogQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKIENPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfU1VNTUFSWT15CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKQEAgLTEwOTIsMjkgKzEwNzMsMjMgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDUsMTA4ICsxMTIwLDM2IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xNT15CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfS0VSTkVMPXkKLSMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAotIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKLSMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQotIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAotQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15Ci1DT05GSUdfREVCVUdfTEw9eQotIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCi1DT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCi0jIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQotIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCi0jIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDEwICsxMTU5LDEwIEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15Ci1DT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2F0OTFzYW05cmxla19kZWZjb25maWcKaW5kZXggOThlNjc0Ni4uZDhlYzVmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9hdDkxc2FtOXJsZWtfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXQ5MXNhbTlybGVrX2RlZmNvbmZpZwpAQCAtMjExLDcgKzIxMSw2IEBACiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2F0ZWI5MjAwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnCmluZGV4IGQ4NDZhNDkuLjg1YzgwZjcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvYXRlYjkyMDBfZGVmY29uZmlnCkBAIC0xNzEsNyArMTcxLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci1DT05GSUdfTk9fSURMRV9IWj15CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9jb2xsaWVfZGVmY29uZmlnCmluZGV4IDQyNjRlMjcuLmY3NjIyZTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY29sbGllX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2NvbGxpZV9kZWZjb25maWcKQEAgLTE2Niw3ICsxNjYsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvY29yZ2lfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcKaW5kZXggZTg5ODBhOS4uOWI4NzQ4YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9jb3JnaV9kZWZjb25maWcKQEAgLTE2NSw3ICsxNjUsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9lY2JhdDkxX2RlZmNvbmZpZwppbmRleCA5MGVkMjE0Li5jZmViODE3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VjYmF0OTFfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvZWNiYXQ5MV9kZWZjb25maWcKQEAgLTIzMCw3ICsyMzAsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvZXA5M3h4X2RlZmNvbmZpZwppbmRleCAyNGE3MDFhLi4yMWFhMDEzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VwOTN4eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9lcDkzeHhfZGVmY29uZmlnCkBAIC0xODQsNyArMTg0LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZXNlcmllc19weGFfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcKaW5kZXggZWQ0ODdiOS4uNDkzZWNlZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9lc2VyaWVzX3B4YV9kZWZjb25maWcKQEAgLTI1MSw3ICsyNTEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW14MjdhZHNfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9pbXgyN2Fkc19kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNkOTViOAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW14MjdhZHNfZGVmY29uZmlnCkBAIC0wLDAgKzEsODI2IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIEZyaSBKdW4gMjAgMTY6Mjk6MzQgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNWSVBDPXkKK0NPTkZJR19TWVNWSVBDX1NZU0NUTD15CitDT05GSUdfUE9TSVhfTVFVRVVFPXkKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAorIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CisjIENPTkZJR19JT1NDSEVEX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQ0ZRIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX05PT1A9eQorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0ibm9vcCIKK0NPTkZJR19DTEFTU0lDX1JDVT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklHX0FSQ0hfQUFFQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUkVBTFZJRVcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9WRVJTQVRJTEUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRUJTQTExMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VQOTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0ZPT1RCUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ORVRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSDcyMFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AxM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMzNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWEM9eQorIyBDT05GSUdfQVJDSF9PUklPTjVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUE5YNDAwOCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TSEFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9EQVZJTkNJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgRnJlZXNjYWxlIE1YQyBJbXBsZW1lbnRhdGlvbnMKKyMKK0NPTkZJR19BUkNIX01YMj15CisjIENPTkZJR19BUkNIX01YMyBpcyBub3Qgc2V0CisKKyMKKyMgTVgyIGZhbWlseSBDUFUgc3VwcG9ydAorIworQ09ORklHX01BQ0hfTVgyNz15CisKKyMKKyMgTVgyIFBsYXRmb3JtcworIworQ09ORklHX01BQ0hfTVgyN0FEUz15CisjIENPTkZJR19NQUNIX1BDTTAzOCBpcyBub3Qgc2V0CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9BUk05MjZUPXkKK0NPTkZJR19DUFVfMzJ2NT15CitDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKK0NPTkZJR19DUFVfQ09QWV9WNFdCPXkKK0NPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ1AxNT15CitDT05GSUdfQ1BVX0NQMTVfTU1VPXkKKworIworIyBQcm9jZXNzb3IgRmVhdHVyZXMKKyMKK0NPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQ0FDSEVfUk9VTkRfUk9CSU4gaXMgbm90IHNldAorIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAorCisjCisjIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBGZWF0dXJlcworIworQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CitDT05GSUdfSFo9MTAwCitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX0ZMQVRNRU09eQorQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKKyMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CitDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfQUxJR05NRU5UX1RSQVA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAorQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCitDT05GSUdfQ01ETElORT0iIgorIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CisKKyMKKyMgRmxvYXRpbmcgcG9pbnQgZW11bGF0aW9uCisjCisKKyMKKyMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCisjCisjIENPTkZJR19WRlAgaXMgbm90IHNldAorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKK0NPTkZJR19QQUNLRVRfTU1BUD15CitDT05GSUdfVU5JWD15CisjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUPXkKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQorIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9GSUJfSEFTSD15CitDT05GSUdfSVBfUE5QPXkKKyMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSUEQgaXMgbm90IHNldAorIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0NVQklDPXkKK0NPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKKyMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldAorIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CisjIENPTkZJR19USVBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CisjIENPTkZJR19CUklER0UgaXMgbm90IHNldAorIyBDT05GSUdfVkxBTl84MDIxUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUNORVQgaXMgbm90IHNldAorIyBDT05GSUdfTExDMiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFggaXMgbm90IHNldAorIyBDT05GSUdfQVRBTEsgaXMgbm90IHNldAorIyBDT05GSUdfWDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBUEIgaXMgbm90IHNldAorIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKKworIworIyBOZXR3b3JrIHRlc3RpbmcKKyMKKyMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lSREEgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCisjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAorCisjCisjIERldmljZSBEcml2ZXJzCisjCisKKyMKKyMgR2VuZXJpYyBEcml2ZXIgT3B0aW9ucworIworQ09ORklHX1VFVkVOVF9IRUxQRVJfUEFUSD0iL3NiaW4vaG90cGx1ZyIKK0NPTkZJR19TVEFOREFMT05FPXkKK0NPTkZJR19QUkVWRU5UX0ZJUk1XQVJFX0JVSUxEPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAwMDAwMDAwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVj15CisjIENPTkZJR19CTEtfREVWX0NPV19DT01NT04gaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9MT09QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CisjIENPTkZJR19NSUkgaXMgbm90IHNldAorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorIyBDT05GSUdfRkVDX09MRCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzIExBTgorIworIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19XQU4gaXMgbm90IHNldAorIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRQT0xMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKKyMKK0NPTkZJR19JTlBVVD15CisjIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorCisjCisjIFVzZXJsYW5kIGludGVyZmFjZXMKKyMKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorCisjCisjIElucHV0IERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19JTlBVVF9LRVlCT0FSRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgSGFyZHdhcmUgSS9PIHBvcnRzCisjCisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgQ2hhcmFjdGVyIGRldmljZXMKKyMKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKKyMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisKKyMKKyMgU2VyaWFsIGRyaXZlcnMKKyMKKyMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKKworIworIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CisjCisjIENPTkZJR19TRVJJQUxfSU1YIGlzIG5vdCBzZXQKK0NPTkZJR19VTklYOThfUFRZUz15CisjIENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkMgaXMgbm90IHNldAorIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKworIworIyBJMkMgR1BJTyBleHBhbmRlcnM6CisjCisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX01FRElBIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRyaXZlcnMKKyMKKyMgQ09ORklHX0RBQiBpcyBub3Qgc2V0CisKKyMKKyMgR3JhcGhpY3Mgc3VwcG9ydAorIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIFNvdW5kCisjCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CisjIENPTkZJR19ISURfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorQ09ORklHX1JUQ19MSUI9eQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKKyMgRmlsZSBzeXN0ZW1zCisjCisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CisKKyMKKyMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorCisjCisjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUHNldWRvIGZpbGVzeXN0ZW1zCisjCitDT05GSUdfUFJPQ19GUz15CitDT05GSUdfUFJPQ19TWVNDVEw9eQorQ09ORklHX1NZU0ZTPXkKK0NPTkZJR19UTVBGUz15CisjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIGZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9GUz15CitDT05GSUdfSkZGUzJfRlNfREVCVUc9MAorQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorQ09ORklHX05GU19WMz15CisjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQ09NTU9OPXkKK0NPTkZJR19TVU5SUEM9eQorIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CisjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAorCisjCisjIFBhcnRpdGlvbiBUeXBlcworIworIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19NU0RPU19QQVJUSVRJT049eQorQ09ORklHX05MUz15CitDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD1tCisjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85MzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzk0OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfSVNPODg1OV8xPXkKKyMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE1PW0KKyMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCisjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CitDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQorQ09ORklHX0ZSQU1FX1dBUk49MTAyNAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAorIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAorCisjCisjIFNlY3VyaXR5IG9wdGlvbnMKKyMKKyMgQ09ORklHX0tFWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKKworIworIyBMaWJyYXJ5IHJvdXRpbmVzCisjCitDT05GSUdfQklUUkVWRVJTRT15CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKK0NPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQorQ09ORklHX1BMSVNUPXkKK0NPTkZJR19IQVNfSU9NRU09eQorQ09ORklHX0hBU19JT1BPUlQ9eQorQ09ORklHX0hBU19ETUE9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMTN4eF9kZWZjb25maWcKaW5kZXggOTg4YjRkMS4uNDgyZTU3MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9pb3AxM3h4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2lvcDEzeHhfZGVmY29uZmlnCkBAIC0xOTcsNyArMTk3LDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzJ4X2RlZmNvbmZpZwppbmRleCA4M2Y0MGQ0Li44NjEyZjU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2lvcDMyeF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pb3AzMnhfZGVmY29uZmlnCkBAIC0yMDEsNyArMjAxLDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvaW9wMzN4X2RlZmNvbmZpZwppbmRleCA5MTdhZmI1Li44YjAwOThkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2lvcDMzeF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9pb3AzM3hfZGVmY29uZmlnCkBAIC0xOTcsNyArMTk3LDYgQEAKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2l4cDIwMDBfZGVmY29uZmlnCmluZGV4IGY4Zjk3OTMuLjg0NjgwZGIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjAwMF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9peHAyMDAwX2RlZmNvbmZpZwpAQCAtMTg0LDcgKzE4NCw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9peHAyM3h4X2RlZmNvbmZpZwppbmRleCAyN2NmMDIyLi40YTJmN2IyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2l4cDIzeHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvaXhwMjN4eF9kZWZjb25maWcKQEAgLTE4MCw3ICsxODAsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9peHA0eHhfZGVmY29uZmlnCmluZGV4IGVmYTA0ODUuLmZjMTQ5MzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvaXhwNHh4X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2l4cDR4eF9kZWZjb25maWcKQEAgLTE2NSw2ICsxNjUsNyBAQAogQ09ORklHX01BQ0hfTkFTMTAwRD15CiBDT05GSUdfTUFDSF9EU01HNjAwPXkKIENPTkZJR19BUkNIX0lYRFA0WFg9eQorQ09ORklHX01BQ0hfRlNHPXkKIENPTkZJR19DUFVfSVhQNDZYPXkKIENPTkZJR19DUFVfSVhQNDNYPXkKIENPTkZJR19NQUNIX0dUV1g1NzE1PXkKQEAgLTc3MCw3ICs3NzEsNyBAQAogIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9WSUE9eQogIyBDT05GSUdfU0FUQV9WSVRFU1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfSU5JQzE2MlggaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldApAQCAtMTE0Myw3ICsxMTQ0LDcgQEAKICMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZUODIzMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAorQ09ORklHX1NFTlNPUlNfVzgzNzgxRD15CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19XODM3OTJEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkzIGlzIG5vdCBzZXQKQEAgLTEzMzQsOCArMTMzNSw4IEBACiAjCiAjIExFRCBkcml2ZXJzCiAjCi0jIENPTkZJR19MRURTX0lYUDRYWCBpcyBub3Qgc2V0CiBDT05GSUdfTEVEU19HUElPPXkKK0NPTkZJR19MRURTX0ZTRz15CiAKICMKICMgTEVEIFRyaWdnZXJzCkBAIC0xMzY3LDcgKzEzNjgsNyBAQAogIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfSVNMMTIwOD15CiBDT05GSUdfUlRDX0RSVl9YMTIwNT15CiBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzPXkKICMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9rYWZhX2RlZmNvbmZpZwppbmRleCBhZTUxYTQwLi42ZGQ5NWEyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2thZmFfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2FmYV9kZWZjb25maWcKQEAgLTE2Miw3ICsxNjIsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2I5MjAyX2RlZmNvbmZpZwppbmRleCBjMTY1MzdkLi44ZTc0YzY2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2tiOTIwMl9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9rYjkyMDJfZGVmY29uZmlnCkBAIC0xMjYsNyArMTI2LDYgQEAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mva2lya3dvb2RfZGVmY29uZmlnCnNpbWlsYXJpdHkgaW5kZXggNjIlCmNvcHkgZnJvbSBhcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCmNvcHkgdG8gYXJjaC9hcm0vY29uZmlncy9raXJrd29vZF9kZWZjb25maWcKaW5kZXggNWNhYjA4My4uZTMzNTdiYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2tpcmt3b29kX2RlZmNvbmZpZwpAQCAtMSwxNyArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIFdlZCBKdWwgMTggMTQ6MTE6NDggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBTdW4gSnVuIDIyIDE1OjUxOjI1IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKIENPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CkBAIC0yMSw0MyArMjIsNDEgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTY1LDI3ICs2NCw0MCBAQAogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQotIyBDT05GSUdfRVBPTEwgaXMgbm90IHNldAotIyBDT05GSUdfU0lHTkFMRkQgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FVkVOVEZEIGlzIG5vdCBzZXQKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19PUFJPRklMRT15CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKLUNPTkZJR19LTU9EPXkKKyMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKQEAgLTk5LDExICsxMTEsMTIgQEAKIENPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15Ci1DT05GSUdfREVGQVVMVF9BUz15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAotIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKICMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQVVMVF9JT1NDSEVEPSJhbnRpY2lwYXRvcnkiCitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQogCiAjCiAjIFN5c3RlbSBUeXBlCkBAIC0xMjksMTAgKzE0MiwxNSBAQAogIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfS0lSS1dPT0Q9eQogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MT0tJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVY3OFhYMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTQwLDI5ICsxNTgsMzYgQEAKICMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKLUNPTkZJR19ETUFCT1VOQ0U9eQorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBNYXJ2ZWxsIEtpcmt3b29kIEltcGxlbWVudGF0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfQVJNQ09SRT15Ci1DT05GSUdfUFhBMjd4PXkKK0NPTkZJR19NQUNIX0RCODhGNjI4MV9CUD15CitDT05GSUdfTUFDSF9SRDg4RjYxOTJfTkFTPXkKK0NPTkZJR19NQUNIX1JEODhGNjI4MT15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworQ09ORklHX1BMQVRfT1JJT049eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfRkVST0NFT049eQorIyBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRCBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3MCwzMyArMTk1LDMyIEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQorQ09ORklHX09VVEVSX0NBQ0hFPXkKK0NPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMj15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKIENPTkZJR19QQ0k9eQogQ09ORklHX1BDSV9TWVNDQUxMPXkKLUNPTkZJR19QQ0lfSE9TVF9JVEU4MTUyPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfTEVHQUNZPXkKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CiBDT05GSUdfSFo9MTAwCi0jIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDUsNiArMjI5LDggQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjI4LDkgKzI1NCw3IEBACiAjCiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwotQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAotIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTIzOCwxNiArMjYyLDEyIEBACiBDT05GSUdfQklORk1UX0VMRj15CiAjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CiAjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUlRIVVIgaXMgbm90IHNldAogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwotQ09ORklHX1BNPXkKLSMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CiAKICMKICMgTmV0d29ya2luZwpAQCAtMjU4LDE1ICsyNzgsMTYgQEAKICMgTmV0d29ya2luZyBvcHRpb25zCiAjCiBDT05GSUdfUEFDS0VUPXkKLSMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVRfTU1BUD15CiBDT05GSUdfVU5JWD15CiBDT05GSUdfWEZSTT15CiAjIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX1NUQVRJU1RJQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVD15Ci0jIENPTkZJR19JUF9NVUxUSUNBU1QgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CiAjIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKIENPTkZJR19JUF9QTlA9eQpAQCAtMjc1LDYgKzI5Niw3IEBACiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODUsNiArMzA3LDcgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQEAgLTI5Miw4ICszMTUsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzEwLDE3ICszMzEsMTUgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKLSMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAorQ09ORklHX05FVF9QS1RHRU49bQorIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKICMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKQEAgLTMzMSwxMiArMzUwLDcgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKIENPTkZJR19XSVJFTEVTU19FWFQ9eQogIyBDT05GSUdfTUFDODAyMTEgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMT1tCi0jIENPTkZJR19JRUVFODAyMTFfREVCVUcgaXMgbm90IHNldAotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9XRVA9bQotQ09ORklHX0lFRUU4MDIxMV9DUllQVF9DQ01QPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9DUllQVF9US0lQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUU4MDIxMV9TT0ZUTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKIApAQCAtMzQ3LDYgKzM2MSw3IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKQEAgLTM1NCwzNCArMzY5LDQyIEBACiAjIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldAogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLUNPTkZJR19NVEQ9bQorQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKICMKLUNPTkZJR19NVERfQ0hBUj1tCi1DT05GSUdfTVREX0JMS0RFVlM9bQotQ09ORklHX01URF9CTE9DSz1tCi0jIENPTkZJR19NVERfQkxPQ0tfUk8gaXMgbm90IHNldAorQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKICMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQorIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15Ci1DT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CkBAIC0zODksNiArNDEyLDExIEBACiBDT05GSUdfTVREX0NGSV9JMj15CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CisjIENPTkZJR19NVERfQ0ZJX0FNRFNURCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9TVEFBPXkKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldApAQCAtMzk3LDEzICs0MjUsMjIgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0wCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTlRFTF9WUl9OT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCiAjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTVREX1BNQzU1MSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfREFUQUZMQVNIIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTTI1UDgwPXkKK0NPTkZJR19NMjVQWFhfVVNFX0ZBU1RfUkVBRD15CiAjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldApAQCAtNDE1LDE4ICs0NTIsMTcgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkQ9bQotIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORD15CitDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFPXkKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfSURTPW0KK0NPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0NBRkUgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0NNX1gyNzA9bQogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9PUklPTj15CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0NSwzOCArNDgxLDEyIEBACiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1NYOCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9bQotQ09ORklHX0lERV9NQVhfSFdJRlM9NAotQ09ORklHX0JMS19ERVZfSURFPW0KLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz1tCi0jIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQ0Q9bQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLSMgQ09ORklHX0lERV9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVIgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00OTQsOCArNTA0LDkgQEAKIENPTkZJR19CTEtfREVWX1NEPXkKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSX0RFVl9TRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCisjIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQ0hSX0RFVl9TRz1tCiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKICMKQEAgLTUxMywxMiArNTI0LDkgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldApAQCAtNTI5LDYgKzUzNyw3IEBACiAjIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldApAQCAtNTM5LDggKzU0OCwxMCBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0CkBAIC01NTAsMTYgKzU2MSw2OCBAQAogIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CitDT05GSUdfQVRBPXkKKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQorIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAorQ09ORklHX1NBVEFfTVY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CisjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TUEkgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKQEAgLTU3NCw2ICs2MzcsNyBAQAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKQEAgLTU4NCwyOCArNjQ4LDI4IEBACiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfRk9SQ0VERVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAotQ09ORklHXzgxMzlUT089bQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzgxMzlUT08gaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtNjE1LDcgKzY3OSwxMyBAQAogQ09ORklHX05FVERFVl8xMDAwPXkKICMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0UxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19FMTAwMD15CitDT05GSUdfRTEwMDBfTkFQST15CisjIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKQEAgLTYyNiwxNiArNjk2LDEwIEBACiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAogIyBDT05GSUdfVElHT04zIGlzIG5vdCBzZXQKICMgQ09ORklHX0JOWDIgaXMgbm90IHNldAorQ09ORklHX01WNjQzWFhfRVRIPXkKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDAwPXkKLSMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAotIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MySU8gaXMgbm90IHNldAotIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAotIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwpAQCAtNjQzLDYgKzcwNyw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNjUxLDcgKzcxNiw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZEREkgaXMgbm90IHNldApAQCAtNjU5LDcgKzcyMyw2IEBACiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKQEAgLTY3NSwxMCArNzM4LDEyIEBACiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKLSMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9NT1VTRURFVj15CitDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfRVZERVY9eQorIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCiAjCkBAIC02ODgsMTYgKzc1Myw3IEBACiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci1DT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMD1tCi0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCkBAIC03MDksMjc1ICs3NjUsMTU4IEBACiAjCiAjIENoYXJhY3RlciBkZXZpY2VzCiAjCi1DT05GSUdfVlQ9eQotQ09ORklHX1ZUX0NPTlNPTEU9eQotQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFVktNRU0gaXMgbm90IHNldAogIyBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKICMKLSMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MD15CitDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfODI1MF9QQ0kgaXMgbm90IHNldAorQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKK0NPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKKyMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKIAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKIENPTkZJR19TRVJJQUxfQ09SRT15CiBDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBTUEkgc3VwcG9ydAorIyBJMkMgSGFyZHdhcmUgQnVzIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTM1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ3NTYgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0FNRDgxMTEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0dQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MDEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfTVY2NFhYWD15CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfT1JJT049eQorCisjCisjIFNQSSBQcm90b2NvbCBNYXN0ZXJzCisjCisjIENPTkZJR19TUElfQVQyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfU1BJREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9UTEU2MlgwIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci1DT05GSUdfTUlTQ19ERVZJQ0VTPXkKLSMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAotIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotQ09ORklHX05FV19MRURTPXkKLUNPTkZJR19MRURTX0NMQVNTPXkKLQotIwotIyBMRUQgZHJpdmVycwotIwotQ09ORklHX0xFRFNfQ01fWDI3MD15Ci0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi1DT05GSUdfTEVEU19UUklHR0VSUz15Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CiAjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0Ci1DT05GSUdfRkI9eQotIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9EREMgaXMgbm90IHNldAotQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15Ci1DT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKLUNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKLSMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfREVGRVJSRURfSU89eQotIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTU9ERV9IRUxQRVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1RJTEVCTElUVElORyBpcyBub3Qgc2V0Ci0KLSMKLSMgRnJhbWUgYnVmZmVyIGhhcmR3YXJlIGRyaXZlcnMKLSMKLSMgQ09ORklHX0ZCX0NJUlJVUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9QTTIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FTSUxJQU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAotIyBDT05GSUdfRkJfQVRZMTI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TQVZBR0UgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0tZUk8gaXMgbm90IHNldAotIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1ZUODYyMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FSSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9QTTMgaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfTUJYPW0KLSMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAotCi0jCi0jIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVkdBX0NPTlNPTEUgaXMgbm90IHNldAotQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQotQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEU9eQotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ERVRFQ1RfUFJJTUFSWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENJIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9BRDE4ODkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMUzMwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUxJNTQ1MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgxMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MzAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEQV9JTlRFTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUENYSFIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CiBDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtOTkyLDI2ICs5MzEsMjggQEAKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIwotIyBDT05GSUdfVVNCX0VIQ0lfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRUhDSV9IQ0Q9eQorQ09ORklHX1VTQl9FSENJX1JPT1RfSFVCX1RUPXkKK0NPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRD15CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT0hDSV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VIQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CkBAIC0xMDIwLDcgKzk2MSw4IEBACiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtMTAzMSwxNSArOTczLDE4IEBACiAjCiBDT05GSUdfVVNCX1NUT1JBR0U9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUI9eQorQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT009eQorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU1RPUkFHRV9EUENNPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOT15CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVD15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDQ3LDE1ICs5OTIsMTEgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfTU9OPXkKKyMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA3Niw0MyArMTAxNywyNyBAQAogIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TSVNVU0JWR0EgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorIyBDT05GSUdfTEVEU19DTEFTUyBpcyBub3Qgc2V0CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCi1DT05GSUdfTU1DX0JMT0NLX0JPVU5DRT15CiAKICMKLSMgTU1DL1NEIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCisjIExFRCBUcmlnZ2VycwogIwotQ09ORklHX01NQ19QWEE9bQotIyBDT05GSUdfTU1DX1NESENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19USUZNX1NEIGlzIG5vdCBzZXQKLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKKyMgQ09ORklHX0xFRFNfVFJJR0dFUlMgaXMgbm90IHNldAogQ09ORklHX1JUQ19MSUI9eQogQ09ORklHX1JUQ19DTEFTUz15Ci1DT05GSUdfUlRDX0hDVE9TWVM9eQotQ09ORklHX1JUQ19IQ1RPU1lTX0RFVklDRT0icnRjMCIKICMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKQEAgLTExMjUsMzIgKzEwNTAsNTYgQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfTVY9eQorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPXkKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPXkKLQotIwotIyBETUEgRW5naW5lIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAotCi0jCi0jIERNQSBDbGllbnRzCi0jCitDT05GSUdfRE1BREVWSUNFUz15CiAKICMKICMgRE1BIERldmljZXMKICMKK0NPTkZJR19NVl9YT1I9eQorQ09ORklHX0RNQV9FTkdJTkU9eQorCisjCisjIERNQSBDbGllbnRzCisjCisjIENPTkZJR19ORVRfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTU5LDI1ICsxMTA4LDIyIEBACiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAorQ09ORklHX1hGU19GUz15CisjIENPTkZJR19YRlNfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfUlQgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMTg1LDggKzExMzEsMTEgQEAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9eQorQ09ORklHX0pPTElFVD15CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTIwNyw3ICsxMTU2LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMjAsMjIgKzExNjgsMzAgQEAKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19KRkZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkFNRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0NSw4ICsxMjAxLDcgQEAKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxOCArMTIxMCwzMCBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIworIyBDT05GSUdfQlNEX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTEyODgsNyArMTI1NSw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAogQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMj15CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CkBAIC0xMzAwLDUzICsxMjY3LDU3IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworQ09ORklHX05MU19VVEY4PXkKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLUNPTkZJR19TQ0hFRF9ERUJVRz15CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorIyBDT05GSUdfU0NIRURfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfUFJFRU1QVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfSU5GTz15CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEzNTUsNTUgKzEzMjYsMTAwIEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19BU1lOQ19DT1JFPXkKIENPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIwogQ09ORklHX0NSWVBUT19BTEdBUEk9bQogQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTFpPIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE9fSFc9eQorIyBDT05GSUdfQ1JZUFRPX0RFVl9ISUZOXzc5NVggaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLSMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD15CitDT05GSUdfQ1JDMTY9eQorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX0xJQkNSQzMyQz15CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9rczg2OTVfZGVmY29uZmlnCmluZGV4IDhhYjIxYTAuLjYwNzdmMmMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mva3M4Njk1X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL2tzODY5NV9kZWZjb25maWcKQEAgLTE3NCw3ICsxNzQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbG9raV9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NSUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL2xva2lfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjE3ZGE3YzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9sb2tpX2RlZmNvbmZpZwpAQCAtMSwxNyArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIE1vbiBKdWwgIDkgMTU6MTg6MjAgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBGcmkgSnVuIDEzIDAzOjA3OjQ5IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKLUNPTkZJR19HRU5FUklDX0dQSU89eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQpAQCAtMjEsNTEgKzIyLDQ4IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKLSMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotQ09ORklHX0lLQ09ORklHPXkKLUNPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKLSMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTc4LDI3ICs3NiwzMCBAQAogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKLUNPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKLUNPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIworIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDcsMTEgKzEwOCwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEzNywxMCArMTM5LDE1IEBACiAjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tJUktXT09EIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0xPS0k9eQorIyBDT05GSUdfQVJDSF9NVjc4WFgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDgsMjggKzE1NSwzNCBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBJbXBsZW1lbnRhdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CitDT05GSUdfTUFDSF9MQjg4UkM4NDgwPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9GRVJPQ0VPTj15CisjIENPTkZJR19DUFVfRkVST0NFT05fT0xEX0lEIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9DT1BZX0ZFUk9DRU9OPXkKK0NPTkZJR19DUFVfVExCX0ZFUk9DRU9OPXkKIENPTkZJR19DUFVfQ1AxNT15CiBDT05GSUdfQ1BVX0NQMTVfTU1VPXkKIApAQCAtMTc3LDI3ICsxOTAsMjUgQEAKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCiBDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAotQ09ORklHX0lXTU1YVD15Ci1DT05GSUdfWFNDQUxFX1BNVT15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKKyMgQ09ORklHX1BDSV9TWVNDQUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKLQotIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBGZWF0dXJlcwogIwotIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKK0NPTkZJR19QUkVFTVBUPXkKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzIyMCwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQogQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQwOTYKICMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CiBDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMzAsOSArMjQ1LDkgQEAKICMKICMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCiAjCi1DT05GSUdfRlBFX05XRlBFPXkKLSMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0CisjIENPTkZJR19GUEVfTldGUEUgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NCwxMSArMjU5LDggQEAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCi1DT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OSwxNSArMjcxLDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3Niw2ICsyODksNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg2LDYgKzMwMCw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTMsOCArMzA4LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMSw1NSArMzI0LDI3IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCi0jIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUEtUR0VOPW0KICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLUNPTkZJR19CVD1tCi1DT05GSUdfQlRfTDJDQVA9bQotQ09ORklHX0JUX1NDTz1tCi1DT05GSUdfQlRfUkZDT01NPW0KLSMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAotQ09ORklHX0JUX0JORVA9bQotIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAotIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAotQ09ORklHX0JUX0hJRFA9bQotCi0jCi0jIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycwotIwotQ09ORklHX0JUX0hDSVVTQj1tCi0jIENPTkZJR19CVF9IQ0lVU0JfU0NPIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lVQVJUPW0KLSMgQ09ORklHX0JUX0hDSVVBUlRfSDQgaXMgbm90IHNldAotIyBDT05GSUdfQlRfSENJVUFSVF9CQ1NQIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9IQ0lCQ00yMDNYPW0KLUNPTkZJR19CVF9IQ0lCUEExMFg9bQotQ09ORklHX0JUX0hDSUJGVVNCPW0KLSMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCiAjIFdpcmVsZXNzCiAjCiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XSVJFTEVTU19FWFQgaXMgbm90IHNldAorQ09ORklHX1dJUkVMRVNTX0VYVD15CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjQgKzM1MywyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15Ci0jIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTM5MywyMCArMzc0LDI1IEBACiBDT05GSUdfTVREX0NIQVI9eQogQ09ORklHX01URF9CTEtERVZTPXkKIENPTkZJR19NVERfQkxPQ0s9eQotIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GVEwgaXMgbm90IHNldAorQ09ORklHX0ZUTD15CitDT05GSUdfTkZUTD15CisjIENPTkZJR19ORlRMX1JXIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKK0NPTkZJR19NVERfSkVERUNQUk9CRT15CitDT05GSUdfTVREX0dFTl9QUk9CRT15CitDT05GSUdfTVREX0NGSV9BRFZfT1BUSU9OUz15CitDT05GSUdfTVREX0NGSV9OT1NXQVA9eQogIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDE1LDggKzQwMSwxMyBAQAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0kxPXkKIENPTkZJR19NVERfQ0ZJX0kyPXkKLSMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTQ9eQogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CitDT05GSUdfTVREX0NGSV9TVEFBPXkKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldApAQCAtNDI1LDEyICs0MTYsMjAgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0wCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0lNUEE3IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01URF9EQVRBRkxBU0ggaXMgbm90IHNldAorQ09ORklHX01URF9NMjVQODA9eQorQ09ORklHX00yNVBYWF9VU0VfRkFTVF9SRUFEPXkKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDMsNDYgKzQ0MiwzMyBAQAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORD15Ci0jIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAorQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURT15CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfSDE5MDAgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiAjIENPTkZJR19NVERfTkFORF9ESVNLT05DSElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX1NIQVJQU0wgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfT1JJT049eQogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQogIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwpAQCAtNDkwLDYgKzQ3Niw3IEBACiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKQEAgLTUwMCw4ICs0ODcsOSBAQAogQ09ORklHX0JMS19ERVZfU0Q9eQogIyBDT05GSUdfQ0hSX0RFVl9TVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSFJfREVWX1NHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX1NSPW0KKyMgQ09ORklHX0JMS19ERVZfU1JfVkVORE9SIGlzIG5vdCBzZXQKK0NPTkZJR19DSFJfREVWX1NHPW0KICMgQ09ORklHX0NIUl9ERVZfU0NIIGlzIG5vdCBzZXQKIAogIwpAQCAtNTE5LDQwICs1MDcsNDEgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKK0NPTkZJR19BVEE9eQorIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19TQVRBX1BNUD15CitDT05GSUdfQVRBX1NGRj15CitDT05GSUdfU0FUQV9NVj15CisjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQotIwogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRU5DMjhKNjAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorQ09ORklHX01WNjQzWFhfRVRIPXkKICMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAKICMKQEAgLTU2MCw2ICs1NDksNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTU2OCwxOSArNTU4LDEzIEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTQsNDggKzU3OCwyNyBAQAogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQotIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX0VWREVWPXkKKyMgQ09ORklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwogIwotQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKLSMgQ09ORklHX0tFWUJPQVJEX0FUS0JEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0tFWUJPQVJEX1NVTktCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9MS0tCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAotIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjQ1LDE5MSArNjA4LDEzNyBAQAogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQogIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiAKICMKICMgU2VyaWFsIGRyaXZlcnMKICMKLSMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MD15CitDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9NAorQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9MgorIyBDT05GSUdfU0VSSUFMXzgyNTBfRVhURU5ERUQgaXMgbm90IHNldAogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKLUNPTkZJR19TRVJJQUxfUFhBPXkKLUNPTkZJR19TRVJJQUxfUFhBX0NPTlNPTEU9eQogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIworQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NPW0KICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfTVY2NFhYWD15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKICMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorQ09ORklHX1NQSV9NQVNURVI9eQorCisjCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCisjCisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCiAjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtODM4LDQwICs3NDcsMzkgQEAKICMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAogIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQotQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKKyMgQ09ORklHX1VTQl9BUkNIX0hBU19PSENJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKIENPTkZJR19VU0I9eQogIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0hDRD15Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX0RFU0MgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldAogCiAjCiAjIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX0FDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUFJJTlRFUiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1BSSU5URVI9eQorIyBDT05GSUdfVVNCX1dETSBpcyBub3Qgc2V0CiAKICMKICMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JwpAQCAtODgyLDE1ICs3OTAsMTggQEAKICMKIENPTkZJR19VU0JfU1RPUkFHRT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQj15CitDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTT15CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RQQ009eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQorQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTkwMywxMCArODE0LDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC05MzEsNjUgKzgzOCwyMyBAQAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CisjIENPTkZJR19MRURTX0NMQVNTIGlzIG5vdCBzZXQKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCisjIENPTkZJR19MRURTX1RSSUdHRVJTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5OCwyNSArODYzLDIyIEBACiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAorQ09ORklHX1hGU19GUz15CisjIENPTkZJR19YRlNfUVVPVEEgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19YRlNfUlQgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ETk9USUZZPXkKIENPTkZJR19JTk9USUZZPXkKIENPTkZJR19JTk9USUZZX1VTRVI9eQogIyBDT05GSUdfUVVPVEEgaXMgbm90IHNldAotQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMDI0LDggKzg4NiwxMSBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi0jIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz15CisjIENPTkZJR19KT0xJRVQgaXMgbm90IHNldAorIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19VREZfRlM9bQorQ09ORklHX1VERl9OTFM9eQogCiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKQEAgLTEwNDYsNyArOTExLDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMjcgKzkyNiwyNyBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAotIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15CiAjIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKQEAgLTEwOTIsMjkgKzk1Niw0MCBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQU1JR0FfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CitDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKK0NPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQorQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15CitDT05GSUdfTERNX1BBUlRJVElPTj15CitDT05GSUdfTERNX0RFQlVHPXkKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU1VOX1BBUlRJVElPTj15CisjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTM2LDcgKzEwMTEsNyBAQAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzEyNTEgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0FTQ0lJIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfSVNPODg1OV8xPXkKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzI9eQogIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldApAQCAtMTE0OCwxMTUgKzEwMjMsMTIyIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CiBDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfS0VSTkVMPXkKLSMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAotIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15Ci0jIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQotIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQotQ09ORklHX0RFQlVHX0xMPXkKLSMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKIAogIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiAjCi1DT05GSUdfQ1JZUFRPPXkKIENPTkZJR19DUllQVE9fQUxHQVBJPW0KIENPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KIENPTkZJR19DUllQVE9fTUFOQUdFUj1tCi0jIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQotIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCi0jIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKIAogIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKICMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfQ0NJVFQ9eQorQ09ORklHX0NSQzE2PXkKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKLSMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKK0NPTkZJR19MSUJDUkMzMkM9eQogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKIENPTkZJR19QTElTVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL2xwZDI3MF9kZWZjb25maWcKaW5kZXggYTNiZjU4My4uMWEzOGQ4ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9scGQyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkMjcwX2RlZmNvbmZpZwpAQCAtMTczLDcgKzE3Myw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2xwZDdhNDA0X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnCmluZGV4IDQ2YTBmN2YuLjdhMmU5MzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbHBkN2E0MDRfZGVmY29uZmlnCkBAIC0xNDgsNyArMTQ4LDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiBDT05GSUdfUFJFRU1QVD15Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEU9eQogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9jbV94MjcwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXY3OHh4MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2MSUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL212Nzh4eDBfZGVmY29uZmlnCmluZGV4IDVjYWIwODMuLmQzOGViZjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9tdjc4eHgwX2RlZmNvbmZpZwpAQCAtMSwxNyArMSwxOCBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIFdlZCBKdWwgMTggMTQ6MTE6NDggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNQorIyBGcmkgSnVuIDEzIDAyOjU3OjMyIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKLUNPTkZJR19HRU5FUklDX0dQSU89eQorIyBDT05GSUdfR0VORVJJQ19HUElPIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CiBDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CiBDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKIENPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQpAQCAtMjEsNzEgKzIyLDgzIEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi0jIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNworIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorIyBDT05GSUdfR1JPVVBfU0NIRUQgaXMgbm90IHNldAogQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQogIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKLUNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQotIyBDT05GSUdfS0FMTFNZTVNfQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19LQUxMU1lNU19BTEw9eQogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKK0NPTkZJR19DT01QQVRfQlJLPXkKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15Ci0jIENPTkZJR19FUE9MTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSUdOQUxGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USU1FUkZEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VWRU5URkQgaXMgbm90IHNldAorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKLUNPTkZJR19TTEFCPXkKLSMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19PUFJPRklMRT15CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAogQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAotQ09ORklHX0tNT0Q9eQorIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldApAQCAtOTksMTEgKzExMiwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEyOSwxMCArMTQzLDE1IEBACiAjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tJUktXT09EIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTE9LSSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NVjc4WFgwPXkKKyMgQ09ORklHX0FSQ0hfTVhDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDAsMjkgKzE1OSwzNCBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAotQ09ORklHX0RNQUJPVU5DRT15CisjIENPTkZJR19BUkNIX01TTTdYMDBBIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIE1hcnZlbGwgTVY3OHh4MCBJbXBsZW1lbnRhdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0FSTUNPUkU9eQotQ09ORklHX1BYQTI3eD15CitDT05GSUdfTUFDSF9EQjc4WDAwX0JQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCitDT05GSUdfUExBVF9PUklPTj15CiAKICMKICMgUHJvY2Vzc29yIFR5cGUKICMKIENPTkZJR19DUFVfMzI9eQotQ09ORklHX0NQVV9YU0NBTEU9eQorQ09ORklHX0NQVV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRD15CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfVExCX1Y0V0JJPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CitDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CiAKQEAgLTE3MCwzMyArMTk0LDMyIEBACiAjIFByb2Nlc3NvciBGZWF0dXJlcwogIwogQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQorQ09ORklHX09VVEVSX0NBQ0hFPXkKK0NPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMj15CiAKICMKICMgQnVzIHN1cHBvcnQKICMKIENPTkZJR19QQ0k9eQogQ09ORklHX1BDSV9TWVNDQUxMPXkKLUNPTkZJR19QQ0lfSE9TVF9JVEU4MTUyPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lfTEVHQUNZPXkKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAorQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CiBDT05GSUdfSFo9MTAwCi0jIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CitDT05GSUdfQUVBQkk9eQorQ09ORklHX09BQklfQ09NUEFUPXkKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CiBDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQpAQCAtMjA1LDYgKzIyOCw4IEBACiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKQEAgLTIzMSw2ICsyNTYsNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorQ09ORklHX1ZGUD15CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yMzgsMTYgKzI2NCwxMiBAQAogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAotIyBDT05GSUdfQVJUSFVSIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKLUNPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OCwxNSArMjgwLDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3NSw2ICsyOTgsNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg1LDYgKzMwOSw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTIsOCArMzE3LDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMCwxNyArMzMzLDE1IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCi0jIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfUEtUR0VOPW0KKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CkBAIC0zMzEsMTIgKzM1Miw3IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiBDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKQEAgLTM0Nyw2ICszNjMsNyBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CkBAIC0zNTQsMzEgKzM3MSwzOSBAQAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0Ci1DT05GSUdfTVREPW0KK0NPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAogCiAjCiAjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCiAjCi1DT05GSUdfTVREX0NIQVI9bQotQ09ORklHX01URF9CTEtERVZTPW0KLUNPTkZJR19NVERfQkxPQ0s9bQotIyBDT05GSUdfTVREX0JMT0NLX1JPIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CiAjIENPTkZJR19GVEwgaXMgbm90IHNldAogIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKIAogIwogIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycwogIwotIyBDT05GSUdfTVREX0NGSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGST15CitDT05GSUdfTVREX0pFREVDUFJPQkU9eQorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTM4OSw2ICs0MTQsMTEgQEAKIENPTkZJR19NVERfQ0ZJX0kyPXkKICMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0lOVEVMRVhUPXkKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CiAjIENPTkZJR19NVERfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAogIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CkBAIC0zOTcsNyArNDI3LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0weDAKK0NPTkZJR19NVERfUEhZU01BUF9CQU5LV0lEVEg9MAorIyBDT05GSUdfTVREX0FSTV9JTlRFR1JBVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTVBBNyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU5URUxfVlJfTk9SIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwpAQCAtNDE1LDE4ICs0NTEsMTcgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkQ9bQotIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORD15CitDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFPXkKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfSURTPW0KK0NPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0NBRkUgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0NNX1gyNzA9bQogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9PUklPTj15CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0NSwzOCArNDgwLDE3IEBACiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1NYOCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9bQotQ09ORklHX0lERV9NQVhfSFdJRlM9NAotQ09ORklHX0JMS19ERVZfSURFPW0KLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz1tCi0jIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQ0Q9bQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLSMgQ09ORklHX0lERV9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVIgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKK0NPTkZJR19NSVNDX0RFVklDRVM9eQorIyBDT05GSUdfUEhBTlRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19FRVBST01fOTNDWDYgaXMgbm90IHNldAorIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAorIyBDT05GSUdfVElGTV9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00OTQsOCArNTA4LDkgQEAKIENPTkZJR19CTEtfREVWX1NEPXkKICMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNldAogIyBDT05GSUdfQ0hSX0RFVl9PU1NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU1IgaXMgbm90IHNldAotIyBDT05GSUdfQ0hSX0RFVl9TRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCisjIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQ0hSX0RFVl9TRz1tCiAjIENPTkZJR19DSFJfREVWX1NDSCBpcyBub3Qgc2V0CiAKICMKQEAgLTUxMywxMiArNTI4LDkgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldApAQCAtNTI5LDYgKzU0MSw3IEBACiAjIENPTkZJR19TQ1NJX0FJQzc5WFggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKICMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldApAQCAtNTM5LDggKzU1MiwxMCBAQAogIyBDT05GSUdfU0NTSV9JUFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklUSU8gaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JTklBMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTVZTQVMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0CkBAIC01NTAsMTYgKzU2NSw2OCBAQAogIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CitDT05GSUdfQVRBPXkKKyMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQorIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAorQ09ORklHX1NBVEFfTVY9eQorIyBDT05GSUdfU0FUQV9OViBpcyBub3Qgc2V0CisjIENPTkZJR19QRENfQURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUFJPTUlTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NYNCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FSVE9QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVRJSVhQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjQwX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NNRDY0WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUMzdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gyTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0lUODIxMyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9UUklGTEVYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTUFSVkVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX01QSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT0xEUElJWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OSU5KQTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfT1BUSURNQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TUEkgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKQEAgLTU3NCw2ICs2NDEsNyBAQAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKQEAgLTU4NCwyOCArNjUyLDI3IEBACiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CNDQgaXMgbm90IHNldAogIyBDT05GSUdfRk9SQ0VERVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAotQ09ORklHXzgxMzlUT089bQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAotIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKLSMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzgxMzlUT08gaXMgbm90IHNldAorIyBDT05GSUdfUjYwNDAgaXMgbm90IHNldAogIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0VQSUMxMDAgaXMgbm90IHNldAogIyBDT05GSUdfU1VOREFOQ0UgaXMgbm90IHNldApAQCAtNjE2LDYgKzY4MywxMCBAQAogIyBDT05GSUdfQUNFTklDIGlzIG5vdCBzZXQKICMgQ09ORklHX0RMMksgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0CkBAIC02MjYsMTYgKzY5NywxMCBAQAogIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKK0NPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19UUiBpcyBub3Qgc2V0CiAKICMKQEAgLTY0Myw2ICs3MDgsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTY1MSw3ICs3MTcsNiBAQAogIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GRERJIGlzIG5vdCBzZXQKQEAgLTY1OSw3ICs3MjQsNiBAQAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CkBAIC02NzcsNyArNzQxLDYgQEAKICMKICMgQ09ORklHX0lOUFVUX01PVVNFREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC02ODgsMTYgKzc1MSw3IEBACiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAotQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0Ci1DT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMD1tCi0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCkBAIC03MDksMjc1ICs3NjMsMTk1IEBACiAjCiAjIENoYXJhY3RlciBkZXZpY2VzCiAjCi1DT05GSUdfVlQ9eQotQ09ORklHX1ZUX0NPTlNPTEU9eQotQ09ORklHX0hXX0NPTlNPTEU9eQotIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZUIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCiAjCi0jIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTA9eQorQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQorIyBDT05GSUdfU0VSSUFMXzgyNTBfUENJIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CitDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9VQVJUUz0yCisjIENPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRCBpcyBub3Qgc2V0CiAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgorQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MTYKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19EUk0gaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj15CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QSUlYNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QUk9TQVZBR0UgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NBVkFHRTQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJTVRFQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfSTJDX01WNjRYWFg9eQorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAotIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotQ09ORklHX01JU0NfREVWSUNFUz15Ci0jIENPTkZJR19QSEFOVE9NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKK0NPTkZJR19IV01PTj15CisjIENPTkZJR19IV01PTl9WSUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRDc0MTggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfSTVLX0FNQiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19GNzE4ODJGRyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3NTM3NVMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfR0w1MjBTTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0lUODcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE03NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNzcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTc4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNODMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODc0MjcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVEhNQzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1ZUODIzMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODZORyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKICMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz15Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX0NNX1gyNzA9eQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0xFRFNfVFJJR0dFUl9JREVfRElTSyBpcyBub3Qgc2V0Ci1DT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCisjIENPTkZJR19EUk0gaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BU0lMSUFOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9JTVNUVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9OVklESUEgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAotIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9BUksgaXMgbm90IHNldAotIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9QWEE9eQotIyBDT05GSUdfRkJfUFhBX1BBUkFNRVRFUlMgaXMgbm90IHNldAotQ09ORklHX0ZCX01CWD1tCi0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKLQotIwotIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKLSMKLSMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKLUNPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAotIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GT05UUyBpcyBub3Qgc2V0Ci1DT05GSUdfRk9OVF84eDg9eQotQ09ORklHX0ZPTlRfOHgxNj15Ci1DT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKLUNPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIFBDSSBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0NTNDI4MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfQ1M0NlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAotIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9IREFfSU5URUwgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JQ0UxNzI0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9JTlRFTDhYMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9LT1JHMTIxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTUFFU1RSTzMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01JWEFSVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTk0yNTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1BDWEhSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9STUUzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfUk1FOTYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1JNRTk2NTIgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NPTklDVklCRVMgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQorIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQogIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTk5MiwyNiArOTY2LDI4IEBACiBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0k9eQogQ09ORklHX1VTQj15CiAjIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTIGlzIG5vdCBzZXQKIAogIwogIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25zCiAjCiBDT05GSUdfVVNCX0RFVklDRUZTPXkKLSMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QRVJTSVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLSMgQ09ORklHX1VTQl9FSENJX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VIQ0lfSENEPXkKK0NPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVD15CitDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQ9eQogIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09IQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SOEE2NjU5N19IQ0QgaXMgbm90IHNldApAQCAtMTAyMCw3ICs5OTYsOCBAQAogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKICMKICMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAorQ09ORklHX1VTQl9QUklOVEVSPXkKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTEwMzEsMTUgKzEwMDgsMTggQEAKICMKIENPTkZJR19VU0JfU1RPUkFHRT15CiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQj15CitDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTT15CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVE9SQUdFX0RQQ009eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5PXkKK0NPTkZJR19VU0JfU1RPUkFHRV9TRERSNTU9eQorQ09ORklHX1VTQl9TVE9SQUdFX0pVTVBTSE9UPXkKICMgQ09ORklHX1VTQl9TVE9SQUdFX0FMQVVEQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9LQVJNQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9DWVBSRVNTX0FUQUNCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNDcsMTUgKzEwMjcsMTEgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfTU9OPXkKKyMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA3NiwzOSArMTA1MiwyOCBAQAogIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TSVNVU0JWR0EgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLUNPTkZJR19NTUM9bQotIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKKyMgTEVEIGRyaXZlcnMKICMKLUNPTkZJR19NTUNfQkxPQ0s9bQotQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLSMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVElGTV9TRCBpcyBub3Qgc2V0Ci0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCitDT05GSUdfTEVEU19UUklHR0VSUz15CitDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExMjUsMzIgKzEwOTAsNDEgQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCitDT05GSUdfUlRDX0RSVl9EUzEzMDc9eQorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX1JTNUMzNzI9eQorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0RSVl9NNDFUODA9eQorIyBDT05GSUdfUlRDX0RSVl9NNDFUODBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPXkKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPXkKLQotIwotIyBETUEgRW5naW5lIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAotCi0jCi0jIERNQSBDbGllbnRzCi0jCi0KLSMKLSMgRE1BIERldmljZXMKLSMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTU5LDI1ICsxMTMzLDE4IEBACiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExODUsOCArMTE1MiwxMSBAQAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCi0jIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz1tCitDT05GSUdfSk9MSUVUPXkKKyMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CitDT05GSUdfVURGX0ZTPW0KK0NPTkZJR19VREZfTkxTPXkKIAogIwogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCkBAIC0xMjA3LDcgKzExNzcsNiBAQAogQ09ORklHX1RNUEZTPXkKICMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTIyMCwyMiArMTE4OSwzMCBAQAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19CRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0pGRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfRlM9eQorQ09ORklHX0pGRlMyX0ZTX0RFQlVHPTAKK0NPTkZJR19KRkZTMl9GU19XUklURUJVRkZFUj15CisjIENPTkZJR19KRkZTMl9GU19XQlVGX1ZFUklGWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9TVU1NQVJZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX0NPTVBSRVNTSU9OX09QVElPTlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1pMSUI9eQorIyBDT05GSUdfSkZGUzJfTFpPIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9SVElNRT15CisjIENPTkZJR19KRkZTMl9SVUJJTiBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQogIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CkBAIC0xMjQ1LDggKzEyMjIsNyBAQAogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CkBAIC0xMjU1LDE4ICsxMjMxLDMwIEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfQU1JR0FfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CisjIENPTkZJR19NSU5JWF9TVUJQQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTCBpcyBub3Qgc2V0CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NHSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TVU5fUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tBUk1BX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTEyODgsNyArMTI3Niw3IEBACiAjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAogQ09ORklHX05MU19JU084ODU5XzE9eQotIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMj15CiAjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CkBAIC0xMzAxLDUyICsxMjg5LDU1IEBACiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIwogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKIENPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKIENPTkZJR19TQ0hFRF9ERUJVRz15Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ0hFRFNUQVRTPXkKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUFJFRU1QVD15CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfSU5GTz15CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKIENPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEzNTUsNTUgKzEzNDYsOTkgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCiBDT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAorCisjCisjIEF1dGhlbnRpY2F0ZWQgRW5jcnlwdGlvbiB3aXRoIEFzc29jaWF0ZWQgRGF0YQorIworIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fR0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRVFJViBpcyBub3Qgc2V0CisKKyMKKyMgQmxvY2sgbW9kZXMKKyMKK0NPTkZJR19DUllQVE9fQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0VDQj1tCisjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisKKyMKKyMgRGlnZXN0CisjCisjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAorCisjCisjIENpcGhlcnMKKyMKKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIwogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDX0lUVV9UPW0KIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfWkxJQl9JTkZMQVRFPXkKK0NPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKIENPTkZJR19IQVNfSU9NRU09eQogQ09ORklHX0hBU19JT1BPUlQ9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9teDMxYWRzX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWFkc19kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA1MjcxNwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWFkc19kZWZjb25maWcKQEAgLTAsMCArMSw4MzkgQEAKKyMKKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzYKKyMgRnJpIEp1biAyMCAxNjoyMToxMSAyMDA4CisjCitDT05GSUdfQVJNPXkKK0NPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CitDT05GSUdfR0VORVJJQ19HUElPPXkKK0NPTkZJR19HRU5FUklDX1RJTUU9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX01NVT15CisjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CitDT05GSUdfTE9DS0RFUF9TVVBQT1JUPXkKK0NPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKK0NPTkZJR19IQVJESVJRU19TV19SRVNFTkQ9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfWk9ORV9ETUE9eQorQ09ORklHX0FSQ0hfTVREX1hJUD15CitDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKK0NPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCisKKyMKKyMgR2VuZXJhbCBzZXR1cAorIworQ09ORklHX0VYUEVSSU1FTlRBTD15CitDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQorQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKK0NPTkZJR19TV0FQPXkKK0NPTkZJR19TWVNWSVBDPXkKK0NPTkZJR19TWVNWSVBDX1NZU0NUTD15CisjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CisjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAorQ09ORklHX0lLQ09ORklHPXkKK0NPTkZJR19JS0NPTkZJR19QUk9DPXkKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNFUl9TQ0hFRD15CisjIENPTkZJR19DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjI9eQorIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CitDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKKyMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAorQ09ORklHX0hPVFBMVUc9eQorQ09ORklHX1BSSU5USz15CitDT05GSUdfQlVHPXkKK0NPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CitDT05GSUdfQkFTRV9GVUxMPXkKK0NPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CitDT05GSUdfU0hNRU09eQorQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKK0NPTkZJR19SVF9NVVRFWEVTPXkKKyMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAorQ09ORklHX0JBU0VfU01BTEw9MAorQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAorQ09ORklHX01PRFVMRV9VTkxPQUQ9eQorQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorQ09ORklHX01PRFZFUlNJT05TPXkKKyMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CitDT05GSUdfS01PRD15CitDT05GSUdfQkxPQ0s9eQorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKKworIworIyBJTyBTY2hlZHVsZXJzCisjCitDT05GSUdfSU9TQ0hFRF9OT09QPXkKK0NPTkZJR19JT1NDSEVEX0FTPXkKK0NPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKK0NPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ0ZRPXkKKyMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJjZnEiCitDT05GSUdfQ0xBU1NJQ19SQ1U9eQorCisjCisjIFN5c3RlbSBUeXBlCisjCisjIENPTkZJR19BUkNIX0FBRUMyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0VCU0ExMTAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9GT09UQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQNFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TQTExMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TM0MyNDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCisjIENPTkZJR19BUkNIX01YMiBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NWDM9eQorCisjCisjIE1YMyBPcHRpb25zCisjCitDT05GSUdfTUFDSF9NWDMxQURTPXkKKyMgQ09ORklHX01BQ0hfUENNMDM3IGlzIG5vdCBzZXQKKworIworIyBQcm9jZXNzb3IgVHlwZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX1Y2PXkKKyMgQ09ORklHX0NQVV8zMnY2SyBpcyBub3Qgc2V0CitDT05GSUdfQ1BVXzMydjY9eQorQ09ORklHX0NQVV9BQlJUX0VWNj15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CitDT05GSUdfQ1BVX0NBQ0hFX1Y2PXkKK0NPTkZJR19DUFVfQ0FDSEVfVklQVD15CitDT05GSUdfQ1BVX0NPUFlfVjY9eQorQ09ORklHX0NQVV9UTEJfVjY9eQorQ09ORklHX0NQVV9IQVNfQVNJRD15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0JQUkVESUNUX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfT1VURVJfQ0FDSEUgaXMgbm90IHNldAorCisjCisjIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBGZWF0dXJlcworIworQ09ORklHX1RJQ0tfT05FU0hPVD15CitDT05GSUdfTk9fSFo9eQorQ09ORklHX0hJR0hfUkVTX1RJTUVSUz15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CVUlMRD15CitDT05GSUdfUFJFRU1QVD15CitDT05GSUdfSFo9MTAwCitDT05GSUdfQUVBQkk9eQorIyBDT05GSUdfT0FCSV9DT01QQVQgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKK0NPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAorQ09ORklHX0ZMQVRNRU09eQorQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKKyMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKK0NPTkZJR19QQUdFRkxBR1NfRVhURU5ERUQ9eQorQ09ORklHX1NQTElUX1BUTE9DS19DUFVTPTQKKyMgQ09ORklHX1JFU09VUkNFU182NEJJVCBpcyBub3Qgc2V0CitDT05GSUdfWk9ORV9ETUFfRkxBRz0xCitDT05GSUdfQk9VTkNFPXkKK0NPTkZJR19WSVJUX1RPX0JVUz15CitDT05GSUdfQUxJR05NRU5UX1RSQVA9eQorCisjCisjIEJvb3Qgb3B0aW9ucworIworQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAorQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCitDT05GSUdfQ01ETElORT0ibm9pbml0cmQgY29uc29sZT10dHlteGMwLDExNTIwMCByb290PS9kZXYvbXRkYmxvY2syIHJ3IGlwPW9mZiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworQ09ORklHX1ZGUD15CisKKyMKKyMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCisjCitDT05GSUdfQklORk1UX0VMRj15CisjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0CisjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCisjCisjIENPTkZJR19QTSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKKworIworIyBOZXR3b3JraW5nCisjCitDT05GSUdfTkVUPXkKKworIworIyBOZXR3b3JraW5nIG9wdGlvbnMKKyMKK0NPTkZJR19QQUNLRVQ9eQorIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1VOSVg9eQorQ09ORklHX1hGUk09eQorIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CisjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CitDT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKK0NPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQorQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorQ09ORklHX0lORVRfRElBRz15CitDT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgorIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFdPUktfU0VDTUFSSyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfSVBfRENDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJUEMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19MTEMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQWCBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CisjIENPTkZJR19YMjUgaXMgbm90IHNldAorIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CisjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAorIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorCisjCisjIE5ldHdvcmsgdGVzdGluZworIworIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorQ09ORklHX0ZXX0xPQURFUj1tCisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorQ09ORklHX01URF9SRURCT09UX1BBUlRTPXkKK0NPTkZJR19NVERfUkVEQk9PVF9ESVJFQ1RPUllfQkxPQ0s9LTEKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1VOQUxMT0NBVEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9SRURCT09UX1BBUlRTX1JFQURPTkxZIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CisjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUjdfUEFSVFMgaXMgbm90IHNldAorCisjCisjIFVzZXIgTW9kdWxlcyBBbmQgVHJhbnNsYXRpb24gTGF5ZXJzCisjCitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQorIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GVEwgaXMgbm90IHNldAorIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAorIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CisKKyMKKyMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKKyMKK0NPTkZJR19NVERfQ0ZJPXkKKyMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9HRU9NRVRSWT15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMSBpcyBub3Qgc2V0CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzggaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8zMiBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JMT15CisjIENPTkZJR19NVERfQ0ZJX0kyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSTQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSU5URUxFWFQgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfQU1EU1REPXkKKyMgQ09ORklHX01URF9DRklfU1RBQSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9VVElMPXkKK0NPTkZJR19NVERfUkFNPXkKKyMgQ09ORklHX01URF9ST00gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FCU0VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfWElQIGlzIG5vdCBzZXQKKworIworIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCisjCisjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhZU01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9CTE9DSzJNVEQgaXMgbm90IHNldAorCisjCisjIERpc2stT24tQ2hpcCBEZXZpY2UgRHJpdmVycworIworIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORD15CisjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9JRFM9eQorIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKKworIworIyBVQkkgLSBVbnNvcnRlZCBibG9jayBpbWFnZXMKKyMKKyMgQ09ORklHX01URF9VQkkgaXMgbm90IHNldAorIyBDT05GSUdfUEFSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKworIworIyBTQ1NJIGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ETUEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQSBpcyBub3Qgc2V0CisjIENPTkZJR19NRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CisjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAorQ09ORklHX05FVF9FVEhFUk5FVD15CitDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfSU5QVVQgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworQ09ORklHX1NFUklBTF9JTVg9eQorQ09ORklHX1NFUklBTF9JTVhfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0NPUkU9eQorQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorQ09ORklHX0lOT1RJRlk9eQorQ09ORklHX0lOT1RJRllfVVNFUj15CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorQ09ORklHX0NSQU1GUz15CisjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKK0NPTkZJR19ORlNfRlM9eQorIyBDT05GSUdfTkZTX1YzIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKK0NPTkZJR19ST09UX05GUz15CitDT05GSUdfTE9DS0Q9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CisjIENPTkZJR19OTFMgaXMgbm90IHNldAorIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgaGFja2luZworIworQ09ORklHX1BSSU5US19USU1FPXkKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKK0NPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKKyMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9teDMxbGl0ZWtpdF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NCUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL214MzFsaXRla2l0X2RlZmNvbmZpZwppbmRleCA2YmVhMDkwLi40ZjQxYzQxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL2VtX3gyNzBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbXgzMWxpdGVraXRfZGVmY29uZmlnCkBAIC0xLDEyICsxLDEyIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM1CisjIEZyaSBKdW4gMTMgMTQ6MjM6MzkgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQotQ09ORklHX0dFTkVSSUNfR1BJTz15Ci1DT05GSUdfR0VORVJJQ19USU1FPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX1RJTUUgaXMgbm90IHNldAogIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CkBAIC0yMSw0NCArMjEsNDQgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15CiBDT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CitDT05GSUdfTE9DS19LRVJORUw9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKLUNPTkZJR19MT0NBTFZFUlNJT049Ii1lbS14MjcwIgotIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAorQ09ORklHX0xPQ0FMVkVSU0lPTj0iIgorQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPPXkKIENPTkZJR19TV0FQPXkKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CiBDT05GSUdfSUtDT05GSUc9eQogQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgorIyBDT05GSUdfTkFNRVNQQUNFUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQogQ09ORklHX1NZU0NUTD15CiBDT05GSUdfRU1CRURERUQ9eQogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTY2LDYgKzY2LDcgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTc4LDI3ICs3OSwzMCBAQAogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCi0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKLSMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RWRVJTSU9OUz15CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCkBAIC0xMDcsMTEgKzExMSwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEzOSw4ICsxNDQsMTAgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfTVhDPXkKKyMgQ09ORklHX0FSQ0hfT1JJT041WCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNDgsMjggKzE1NSw0MSBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zCisjCitDT05GSUdfQVJDSF9NWDM9eQorCisjCisjIE1YMyBPcHRpb25zCisjCisjIENPTkZJR19NQUNIX01YMzFBRFMgaXMgbm90IHNldAorQ09ORklHX01BQ0hfTVgzMUxJVEU9eQogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKLUNPTkZJR19DUFVfMzJ2NT15Ci1DT05GSUdfQ1BVX0FCUlRfRVY1VD15Ci1DT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQotQ09ORklHX0NQVV9UTEJfVjRXQkk9eQorQ09ORklHX0NQVV9WNj15CisjIENPTkZJR19DUFVfMzJ2NksgaXMgbm90IHNldAorQ09ORklHX0NQVV8zMnY2PXkKK0NPTkZJR19DUFVfQUJSVF9FVjY9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WNj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJUFQ9eQorQ09ORklHX0NQVV9DT1BZX1Y2PXkKK0NPTkZJR19DUFVfVExCX1Y2PXkKK0NPTkZJR19DUFVfSEFTX0FTSUQ9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQogCkBAIC0xNzcsMzAgKzE5NywzMyBAQAogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKIENPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfQlBSRURJQ1RfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRD1tCisjIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBIGlzIG5vdCBzZXQKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKK0NPTkZJR19QUkVFTVBUPXkKICMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKLUNPTkZJR19PQUJJX0NPTVBBVD15CisjIENPTkZJR19PQUJJX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldAogQ09ORklHX1NFTEVDVF9NRU1PUllfTU9ERUw9eQogQ09ORklHX0ZMQVRNRU1fTUFOVUFMPXkKQEAgLTIwOSw5ICsyMzIsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKLUNPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorQ09ORklHX1BBR0VGTEFHU19FWFRFTkRFRD15CitDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NAogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKIENPTkZJR19BTElHTk1FTlRfVFJBUD15CiAKICMKQEAgLTIxOSw3ICsyNDYsNyBAQAogIwogQ09ORklHX1pCT09UX1JPTV9URVhUPTB4MAogQ09ORklHX1pCT09UX1JPTV9CU1M9MHgwCi1DT05GSUdfQ01ETElORT0iIgorQ09ORklHX0NNRExJTkU9Im5vaW5pdHJkIGNvbnNvbGU9dHR5bXhjMCwxMTUyMDAgcm9vdD0vZGV2L210ZGJsb2NrMiBydyBpcD1vZmYiCiAjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKIApAQCAtMjMwLDI1ICsyNTcsMjMgQEAKICMKICMgQXQgbGVhc3Qgb25lIGVtdWxhdGlvbiBtdXN0IGJlIHNlbGVjdGVkCiAjCi1DT05GSUdfRlBFX05XRlBFPXkKLSMgQ09ORklHX0ZQRV9OV0ZQRV9YUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CitDT05GSUdfVkZQPXkKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKICMKIENPTkZJR19CSU5GTVRfRUxGPXkKLSMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKK0NPTkZJR19CSU5GTVRfQU9VVD15CiAjIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KKyMgQ09ORklHX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfQVBNX0VNVUxBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9TVVNQRU5EX1BPU1NJQkxFPXkKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjUsNiArMjkwLDcgQEAKICMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAogIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKICMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0CkBAIC0yNzIsNyArMjk4LDcgQEAKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKIENPTkZJR19JUF9QTlBfREhDUD15Ci1DT05GSUdfSVBfUE5QX0JPT1RQPXkKKyMgQ09ORklHX0lQX1BOUF9CT09UUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldApAQCAtMjg2LDYgKzMxMiw3IEBACiBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAogQ09ORklHX0lORVRfRElBRz15CiBDT05GSUdfSU5FVF9UQ1BfRElBRz15CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkBAIC0yOTMsOCArMzIwLDYgQEAKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKICMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKQEAgLTMxMSwxMCArMzM2LDYgQEAKICMgQ09ORklHX0xBUEIgaXMgbm90IHNldAogIyBDT05GSUdfRUNPTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTl9ST1VURVIgaXMgbm90IHNldAotCi0jCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZwotIwogIyBDT05GSUdfTkVUX1NDSEVEIGlzIG5vdCBzZXQKIAogIwpAQCAtMzIyLDI5ICszNDMsOSBAQAogIwogIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNTQsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyNCArMzY1LDI1IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKK0NPTkZJR19GV19MT0FERVI9bQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKLSMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUkVEQk9PVF9QQVJUUz15CitDT05GSUdfTVREX1JFREJPT1RfRElSRUNUT1JZX0JMT0NLPS0xCisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19VTkFMTE9DQVRFRCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUU19SRUFET05MWSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwpAQCAtMzk4LDM0ICszOTYsNDUgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCi0jIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJPXkKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CiAjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzE9eQorQ09ORklHX01URF9DRklfR0VPTUVUUlk9eQorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzEgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8yPXkKLUNPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfND15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAogIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX0kxPXkKLUNPTkZJR19NVERfQ0ZJX0kyPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0lOVEVMRVhUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0FNRFNURD15CisjIENPTkZJR19NVERfQ0ZJX1NUQUEgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfVVRJTD15CitDT05GSUdfTVREX1JBTT15CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CiAKICMKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9QSFlTTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0Niw0MyArNDU1LDIxIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9MT09QPXkKLSMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKLSMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAotIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CiAjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCkBAIC00OTAsOSArNDc3LDEwIEBACiAjCiAjIENPTkZJR19SQUlEX0FUVFJTIGlzIG5vdCBzZXQKIENPTkZJR19TQ1NJPXkKK0NPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MDcsNyArNDk1LDcgQEAKICMKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCi0jIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9NVUxUSV9MVU49eQogIyBDT05GSUdfU0NTSV9DT05TVEFOVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CkBAIC01MTksMzkgKzUwNywzMiBAQAogIyBDT05GSUdfU0NTSV9TUElfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIworIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQogIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKLQotIwotIyBNdWx0aS1kZXZpY2Ugc3VwcG9ydCAoUkFJRCBhbmQgTFZNKQotIwogIyBDT05GSUdfTUQgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKLSMKIENPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CiAjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAogIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0Ci0KLSMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCi0jCiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CiAKQEAgLTU2MCw2ICs1NDEsNyBAQAogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTU2OCwxOSArNTUwLDEzIEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTMsMTIgKzU2OSw4IEBACiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKLUNPTkZJR19JTlBVVF9NT1VTRURFVj15Ci0jIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1g9MTAyNAotQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9ZPTc2OAorIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RTREVWIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9FVkRFVj15CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTYxMiwxMiArNTg0LDExIEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRlVKSVRTVSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKQEAgLTYzMiwxMCArNjAzLDcgQEAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi1DT05GSUdfU0VSSU89eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VSSU9fTElCUFMyPXkKLSMgQ09ORklHX1NFUklPX1JBVyBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CiAKICMKQEAgLTY0NSw2ICs2MTMsNyBAQAogQ09ORklHX1ZUX0NPTlNPTEU9eQogQ09ORklHX0hXX0NPTlNPTEU9eQogIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKICMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CiAKICMKQEAgLTY1NSw5MiArNjI0LDExMCBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKLUNPTkZJR19TRVJJQUxfQ09SRT15Ci1DT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CiBDT05GSUdfVU5JWDk4X1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTI1NgotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0Ci1DT05GSUdfSFdfUkFORE9NPW0KK0NPTkZJR19IV19SQU5ET009eQogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgVFBNIGRldmljZXMKLSMKICMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAogIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKLQotIwotIyBTUEkgc3VwcG9ydAotIwogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAotCi0jCi0jIERhbGxhcydzIDEtd2lyZSBidXMKLSMKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfV0FUQ0hET0c9eQorQ09ORklHX1dBVENIRE9HX05PV0FZT1VUPXkKIAogIwotIyBNaXNjIGRldmljZXMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKICMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCi0jIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCitDT05GSUdfVklERU9fREVWPXkKK0NPTkZJR19WSURFT19WNEwyX0NPTU1PTj15CitDT05GSUdfVklERU9fQUxMT1dfVjRMMT15CitDT05GSUdfVklERU9fVjRMMV9DT01QQVQ9eQogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19NRURJQT15CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19NRURJQV9BVFRBQ0ggaXMgbm90IHNldAorQ09ORklHX1ZJREVPX1Y0TDI9eQorQ09ORklHX1ZJREVPX1Y0TDE9eQorQ09ORklHX1ZJREVPX0NBUFRVUkVfRFJJVkVSUz15CisjIENPTkZJR19WSURFT19BRFZfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1ZJREVPX0hFTFBFUl9DSElQU19BVVRPPXkKKyMgQ09ORklHX1ZJREVPX1ZJVkkgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fQ1BJQSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19DUElBMiBpcyBub3Qgc2V0CitDT05GSUdfVjRMX1VTQl9EUklWRVJTPXkKKyMgQ09ORklHX1VTQl9WSUNBTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSUJNQ0FNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9LT05JQ0FXQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUVVJQ0tDQU1fTUVTU0VOR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9FVDYxWDI1MSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1Y1MTEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFNDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TTjlDMTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVFY2ODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pDMDMwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUFdDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aUjM2NFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVEtXRUJDQU0gaXMgbm90IHNldAorIyBDT05GSUdfU09DX0NBTUVSQSBpcyBub3Qgc2V0CitDT05GSUdfUkFESU9fQURBUFRFUlM9eQorIyBDT05GSUdfVVNCX0RTQlIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NJNDcwWCBpcyBub3Qgc2V0CitDT05GSUdfREFCPXkKKyMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKLSMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0Ci0KLSMKLSMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAotIwotIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKIENPTkZJR19GQj15CiAjIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15CiAjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CkBAIC03NTEsMTAgKzczOCwxMyBAQAogIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwogIwogIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAogIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CkBAIC03NjIsMTE2ICs3NTIsNTUgQEAKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GT05UUyBpcyBub3Qgc2V0CiBDT05GSUdfRk9OVF84eDg9eQogQ09ORklHX0ZPTlRfOHgxNj15CiBDT05GSUdfTE9HTz15Ci1DT05GSUdfTE9HT19MSU5VWF9NT05PPXkKLUNPTkZJR19MT0dPX0xJTlVYX1ZHQTE2PXkKKyMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKIENPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCiAjCi1DT05GSUdfU09VTkQ9bQotCi0jCi0jIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQotIwotQ09ORklHX1NORD1tCi1DT05GSUdfU05EX1RJTUVSPW0KLUNPTkZJR19TTkRfUENNPW0KLSMgQ09ORklHX1NORF9TRVFVRU5DRVIgaXMgbm90IHNldAotQ09ORklHX1NORF9PU1NFTVVMPXkKLUNPTkZJR19TTkRfTUlYRVJfT1NTPW0KLUNPTkZJR19TTkRfUENNX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1NfUExVR0lOUz15Ci0jIENPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAotQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQotQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15Ci0jIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAotIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBHZW5lcmljIGRldmljZXMKLSMKLUNPTkZJR19TTkRfQUM5N19DT0RFQz1tCi0jIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAotCi0jCi0jIEFMU0EgQVJNIGRldmljZXMKLSMKLUNPTkZJR19TTkRfUFhBMlhYX1BDTT1tCi1DT05GSUdfU05EX1BYQTJYWF9BQzk3PW0KLQotIwotIyBVU0IgZGV2aWNlcwotIwotIyBDT05GSUdfU05EX1VTQl9BVURJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKLQotIwotIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0Ci0jCi0jIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKLQotIwotIyBPcGVuIFNvdW5kIFN5c3RlbQotIwotIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAotQ09ORklHX0FDOTdfQlVTPW0KLQotIwotIyBISUQgRGV2aWNlcwotIwotQ09ORklHX0hJRD15Ci0jIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFVTQiBJbnB1dCBEZXZpY2VzCi0jCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKLQotIwotIyBVU0Igc3VwcG9ydAotIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKLUNPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CisjIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKLUNPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfREVWSUNFRlMgaXMgbm90IHNldAorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQogIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19XSElURUxJU1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX09UR19CTEFDS0xJU1RfSFVCIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKKyMgQ09ORklHX1VTQl9DNjdYMDBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAotQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QUklOVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9XRE0gaXMgbm90IHNldAogCiAjCiAjIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKQEAgLTg4MCwxNyArODA5LDcgQEAKICMKICMgbWF5IGFsc28gYmUgbmVlZGVkOyBzZWUgVVNCX1NUT1JBR0UgSGVscCBmb3IgbW9yZSBpbmZvcm1hdGlvbgogIwotQ09ORklHX1VTQl9TVE9SQUdFPXkKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1RPUkFHRV9TRERSNTUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9MSUJVU1VBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTg5OCwxNSArODE3LDExIEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCiAjCi0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwogIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CiAKICMKQEAgLTkzMCw5MyArODQ1LDI5IEBACiAjIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1RSQU5DRVZJQlJBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9JT1dBUlJJT1IgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIFVTQiBEU0wgbW9kZW0gc3VwcG9ydAotIwotCi0jCi0jIFVTQiBHYWRnZXQgU3VwcG9ydAotIworIyBDT05GSUdfVVNCX0lTSUdIVEZXIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAotCi0jCi0jIE1NQy9TRCBDYXJkIERyaXZlcnMKLSMKLUNPTkZJR19NTUNfQkxPQ0s9bQotCi0jCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwotIwotQ09ORklHX01NQ19QWEE9bQotCi0jCi0jIFJlYWwgVGltZSBDbG9jawotIworIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKLUNPTkZJR19SVENfQ0xBU1M9bQotCi0jCi0jIFJUQyBpbnRlcmZhY2VzCi0jCi1DT05GSUdfUlRDX0lOVEZfU1lTRlM9eQotQ09ORklHX1JUQ19JTlRGX1BST0M9eQotQ09ORklHX1JUQ19JTlRGX0RFVj15Ci0jIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBJMkMgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBTUEkgUlRDIGRyaXZlcnMKLSMKLQotIwotIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwotIwotIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KLQotIwotIyBvbi1DUFUgUlRDIGRyaXZlcnMKLSMKLUNPTkZJR19SVENfRFJWX1NBMTEwMD1tCisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKICMKLUNPTkZJR19FWFQyX0ZTPXkKLSMgQ09ORklHX0VYVDJfRlNfWEFUVFIgaXMgbm90IHNldAotIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAotQ09ORklHX0VYVDNfRlM9eQotQ09ORklHX0VYVDNfRlNfWEFUVFI9eQotIyBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19HRlMyX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTEwMzAsMTEgKzg4MSw4IEBACiAjCiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKLUNPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKLUNPTkZJR19WRkFUX0ZTPXkKLUNPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKLUNPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGQVRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNDYsNyArODk0LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTM4ICs5MDksOTMgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JBTUZTPXkKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKLUNPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQotQ09ORklHX0xPQ0tEX1Y0PXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCi1DT05GSUdfTkxTPXkKLUNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQotIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMT15Ci0jIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKLSMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19QUklOVEtfVElNRT15CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19QUkVFTVBUPXkKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKLUNPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfVVNFUj15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1VTRVIgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19TVEFDS19VU0FHRSBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw2MCArMTAwNCw5MyBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPPXkKIAogIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCiAjCi1DT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCi0jIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQotIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQotIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCi0jIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKIAogIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKICMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0hXPXkKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD1tCiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9uZXR4X2RlZmNvbmZpZwppbmRleCA1N2YzMmYzLi4wODg0ZjIzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL25ldHhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvbmV0eF9kZWZjb25maWcKQEAgLTE1NCw3ICsxNTQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3Mvb25lYXJtX2RlZmNvbmZpZwppbmRleCA2NTBhMjQ4Li40MThjYTJmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL29uZWFybV9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9vbmVhcm1fZGVmY29uZmlnCkBAIC0yMDIsNyArMjAyLDYgQEAKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL29yaW9uNXhfZGVmY29uZmlnCmluZGV4IDUyY2Q5OWIuLjk1NzhiNWQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3Mvb3Jpb241eF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9vcmlvbjV4X2RlZmNvbmZpZwpAQCAtMSw3ICsxLDcgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAotIyBUaHUgRmViICA3IDE0OjEwOjMwIDIwMDgKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNi1yYzQKKyMgTW9uIEp1biAgMiAyMzo1NDo0OCAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CkBAIC0yMSw2ICsyMSw3IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgpAQCAtNDAsMjQgKzQxLDI0IEBACiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAogIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAogQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKICMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAotQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQotQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15Ci0jIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CiBDT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfU1lTRlNfREVQUkVDQVRFRF9WMj15CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0CisjIENPTkZJR19OQU1FU1BBQ0VTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CiBDT05GSUdfU1lTQ1RMPXkKIENPTkZJR19FTUJFRERFRD15CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSz15CiBDT05GSUdfS0FMTFNZTVM9eQorQ09ORklHX0tBTExTWU1TX0FMTD15CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKIENPTkZJR19IT1RQTFVHPXkKIENPTkZJR19QUklOVEs9eQpAQCAtNzMsMjAgKzc0LDI1IEBACiBDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKLUNPTkZJR19TTEFCPXkKLSMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQogIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfT1BST0ZJTEU9eQogQ09ORklHX0hBVkVfT1BST0ZJTEU9eQotIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CiBDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKLUNPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKICMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldApAQCAtMTExLDcgKzExNyw2IEBACiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgogQ09ORklHX0NMQVNTSUNfUkNVPXkKLSMgQ09ORklHX1BSRUVNUFRfUkNVIGlzIG5vdCBzZXQKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTYwLDYgKzE2NSwxNSBAQAogQ09ORklHX01BQ0hfS1VST0JPWF9QUk89eQogQ09ORklHX01BQ0hfRE5TMzIzPXkKIENPTkZJR19NQUNIX1RTMjA5PXkKK0NPTkZJR19NQUNIX0xJTktTVEFUSU9OX1BSTz15CitDT05GSUdfTUFDSF9UUzQwOT15CitDT05GSUdfTUFDSF9XUlQzNTBOX1YyPXkKK0NPTkZJR19NQUNIX1RTNzhYWD15CitDT05GSUdfTUFDSF9NVjIxMjA9eQorQ09ORklHX01BQ0hfTVNTMj15CitDT05GSUdfTUFDSF9XTlI4NTRUPXkKK0NPTkZJR19NQUNIX1JEODhGNTE4MUxfR0U9eQorQ09ORklHX01BQ0hfUkQ4OEY1MTgxTF9GWE89eQogCiAjCiAjIEJvb3Qgb3B0aW9ucwpAQCAtMTY4LDYgKzE4Miw3IEBACiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQKICMKK0NPTkZJR19QTEFUX09SSU9OPXkKIAogIwogIyBQcm9jZXNzb3IgVHlwZQpAQCAtMTc3LDggKzE5Miw5IEBACiBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRD15CiBDT05GSUdfQ1BVXzMydjU9eQogQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WSVZUPXkKLUNPTkZJR19DUFVfQ09QWV9WNFdCPXkKK0NPTkZJR19DUFVfQ09QWV9GRVJPQ0VPTj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xODksNyArMjA1LDYgQEAKIENPTkZJR19BUk1fVEhVTUI9eQogIyBDT05GSUdfQ1BVX0lDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NQVV9EQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUFVfRENBQ0hFX1dSSVRFVEhST1VHSCBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0CiAKICMKQEAgLTE5OSw2ICsyMTQsNyBAQAogQ09ORklHX1BDSV9TWVNDQUxMPXkKICMgQ09ORklHX0FSQ0hfU1VQUE9SVFNfTVNJIGlzIG5vdCBzZXQKIENPTkZJR19QQ0lfTEVHQUNZPXkKKyMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAogCiAjCkBAIC0yMjEsNiArMjM3LDcgQEAKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjM4LDcgKzI1NSw2IEBACiBDT05GSUdfQ01ETElORT0iIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEFHU19QUk9DIGlzIG5vdCBzZXQKIAogIwogIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KQEAgLTMxMSw4ICszMjcsNiBAQAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzM1LDYgKzM0OSw3IEBACiAjIE5ldHdvcmsgdGVzdGluZwogIwogQ09ORklHX05FVF9QS1RHRU49bQorIyBDT05GSUdfTkVUX1RDUFBST0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKQEAgLTM2Miw2ICszNzcsOCBAQAogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQogQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CiBDT05GSUdfTVREPXkKQEAgLTM3MSw2ICszODgsNyBAQAogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAogQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTM3OCw5ICszOTYsOCBAQAogQ09ORklHX01URF9DSEFSPXkKIENPTkZJR19NVERfQkxLREVWUz15CiBDT05GSUdfTVREX0JMT0NLPXkKLUNPTkZJR19GVEw9eQotQ09ORklHX05GVEw9eQotIyBDT05GSUdfTkZUTF9SVyBpcyBub3Qgc2V0CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKQEAgLTQwNSwxMiArNDIyLDEyIEBACiAjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfSTE9eQogQ09ORklHX01URF9DRklfSTI9eQotQ09ORklHX01URF9DRklfSTQ9eQorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAogQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQogQ09ORklHX01URF9DRklfQU1EU1REPXkKLUNPTkZJR19NVERfQ0ZJX1NUQUE9eQorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKIENPTkZJR19NVERfQ0ZJX1VUSUw9eQogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKQEAgLTQ4MSw2ICs0OTgsOSBAQAogIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKICMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkNMT1NVUkVfU0VSVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydApAQCAtNTQyLDYgKzU2Miw3IEBACiAjIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9NVlNBUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NURVggaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TWU01M0M4WFhfMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lQUiBpcyBub3Qgc2V0CkBAIC01NTYsNyArNTc3LDEwIEBACiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CiBDT05GSUdfQVRBPXkKICMgQ09ORklHX0FUQV9OT05TVEFOREFSRCBpcyBub3Qgc2V0CitDT05GSUdfU0FUQV9QTVA9eQogIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQogIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAogQ09ORklHX1NBVEFfTVY9eQpAQCAtNTY2LDcgKzU5MCw2IEBACiAjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAotIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1NJUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1VMSSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CkBAIC02MTEsNiArNjM0LDcgQEAKICMgQ09ORklHX1BBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0NIIGlzIG5vdCBzZXQKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CiAKQEAgLTY1Miw3ICs2NzYsNyBAQAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfRTEwMD15CisjIENPTkZJR19FMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQVRTRU1JIGlzIG5vdCBzZXQKICMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKQEAgLTY2OCw5ICs2OTIsNyBAQAogQ09ORklHX05FVERFVl8xMDAwPXkKICMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19ETDJLIGlzIG5vdCBzZXQKLUNPTkZJR19FMTAwMD15Ci1DT05GSUdfRTEwMDBfTkFQST15Ci0jIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAogIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKQEAgLTY4MCwyNyArNzAyLDE1IEBACiAjIENPTkZJR19ZRUxMT1dGSU4gaXMgbm90IHNldAogIyBDT05GSUdfUjgxNjkgaXMgbm90IHNldAogIyBDT05GSUdfU0lTMTkwIGlzIG5vdCBzZXQKLUNPTkZJR19TS0dFPXkKLUNPTkZJR19TS1kyPXkKLSMgQ09ORklHX1NLOThMSU4gaXMgbm90IHNldAorIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CisjIENPTkZJR19TS1kyIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0Ci1DT05GSUdfVElHT04zPXkKKyMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiAjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKIENPTkZJR19NVjY0M1hYX0VUSD15CiAjIENPTkZJR19RTEEzWFhYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUTDEgaXMgbm90IHNldAotQ09ORklHX05FVERFVl8xMDAwMD15Ci0jIENPTkZJR19DSEVMU0lPX1QxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NIRUxTSU9fVDMgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQkUgaXMgbm90IHNldAotIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TMklPIGlzIG5vdCBzZXQKLSMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAotIyBDT05GSUdfTklVIGlzIG5vdCBzZXQKLSMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19URUhVVEkgaXMgbm90IHNldAotIyBDT05GSUdfQk5YMlggaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwpAQCAtNzA4LDYgKzcxOCw3IEBACiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtNzM4LDEyICs3NDksOSBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi1DT05GSUdfSU5QVVRfTU9VU0VERVY9eQotQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKLUNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CisjIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfRVZERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIAogIwpAQCAtNzY1LDEwICs3NzMsOCBAQAogIwogIyBDaGFyYWN0ZXIgZGV2aWNlcwogIwotQ09ORklHX1ZUPXkKLUNPTkZJR19WVF9DT05TT0xFPXkKLUNPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIApAQCAtNzc3LDcgKzc4Myw3IEBACiAjCiBDT05GSUdfU0VSSUFMXzgyNTA9eQogQ09ORklHX1NFUklBTF84MjUwX0NPTlNPTEU9eQotQ09ORklHX1NFUklBTF84MjUwX1BDST15CisjIENPTkZJR19TRVJJQUxfODI1MF9QQ0kgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRTPTQKIENPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTIKICMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKQEAgLTc5Miw3ICs3OTgsNyBAQAogQ09ORklHX0xFR0FDWV9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZX0NPVU5UPTE2CiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAogIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldApAQCAtODA0LDEzICs4MTAsNiBAQAogQ09ORklHX0kyQ19DSEFSREVWPXkKIAogIwotIyBJMkMgQWxnb3JpdGhtcwotIwotIyBDT05GSUdfSTJDX0FMR09CSVQgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0FMR09QQ0YgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0FMR09QQ0EgaXMgbm90IHNldAotCi0jCiAjIEkyQyBIYXJkd2FyZSBCdXMgc3VwcG9ydAogIwogIyBDT05GSUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldApAQCAtODM3LDYgKzgzNiw3IEBACiAjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAogIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CiBDT05GSUdfSTJDX01WNjRYWFg9eQogCiAjCkBAIC04NDcsMTkgKzg0NywxMyBAQAogIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKICMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RQUzY1MDEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAogIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0Ci0KLSMKLSMgU1BJIHN1cHBvcnQKLSMKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKICMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiBDT05GSUdfSFdNT049eQpAQCAtODcyLDYgKzg2Niw3IEBACiAjIENPTkZJR19TRU5TT1JTX0FETTEwMzEgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19BRE05MjQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEVDc0NzMgaXMgbm90IHNldAogIyBDT05GSUdfU0VOU09SU19BVFhQMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0RTMTYyMSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX0k1S19BTUIgaXMgbm90IHNldApAQCAtOTAxLDYgKzg5Niw3IEBACiAjIENPTkZJR19TRU5TT1JTX1NNU0M0N00xIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFM3ODI4IGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVEhNQzUwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0CkBAIC05MTAsNiArOTA2LDcgQEAKICMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4M0w3ODZORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldApAQCAtOTI1LDE0ICs5MjIsMjQgQEAKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIwogIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKICMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKLUNPTkZJR19EQUI9eQotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19NRURJQSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19EQUIgaXMgbm90IHNldAogCiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKQEAgLTk0OSwxMiArOTU2LDYgQEAKICMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKLSMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0Ci0jCi0jIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0Ci1DT05GSUdfRFVNTVlfQ09OU09MRT15Ci0KLSMKICMgU291bmQKICMKICMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKQEAgLTk4NSwxNCArOTg2LDE4IEBACiBDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX1dISVRFTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT1RHX0JMQUNLTElTVF9IVUIgaXMgbm90IHNldAogCiAjCiAjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwogIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAogQ09ORklHX1VTQl9FSENJX0hDRD15CiBDT05GSUdfVVNCX0VIQ0lfUk9PVF9IVUJfVFQ9eQogQ09ORklHX1VTQl9FSENJX1RUX05FV1NDSEVEPXkKICMgQ09ORklHX1VTQl9JU1AxMTZYX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSVNQMTc2MF9IQ0QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09IQ0lfSENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VSENJX0hDRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKQEAgLTEwMDMsNiArMTAwOCw3IEBACiAjCiAjIENPTkZJR19VU0JfQUNNIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfUFJJTlRFUj15CisjIENPTkZJR19VU0JfV0RNIGlzIG5vdCBzZXQKIAogIwogIyBOT1RFOiBVU0JfU1RPUkFHRSBlbmFibGVzIFNDU0ksIGFuZCAnU0NTSSBkaXNrIHN1cHBvcnQnCkBAIC0xMDIyLDcgKzEwMjgsOSBAQAogQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NT15CiBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1Q9eQogIyBDT05GSUdfVVNCX1NUT1JBR0VfQUxBVURBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX09ORVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA2MCw2ICsxMDY4LDcgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQyBpcyBub3Qgc2V0CiBDT05GSUdfTkVXX0xFRFM9eQpAQCAtMTA2OCw3ICsxMDc3LDcgQEAKICMKICMgTEVEIGRyaXZlcnMKICMKLSMgQ09ORklHX0xFRFNfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19HUElPPXkKIAogIwogIyBMRUQgVHJpZ2dlcnMKQEAgLTEwNzYsNiArMTA4NSw3IEBACiBDT05GSUdfTEVEU19UUklHR0VSUz15CiBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSPXkKIENPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfREVGQVVMVF9PTj15CiBDT05GSUdfUlRDX0xJQj15CiBDT05GSUdfUlRDX0NMQVNTPXkKIENPTkZJR19SVENfSENUT1NZUz15CkBAIC0xMTA1LDYgKzExMTUsNyBAQAogIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKIENPTkZJR19SVENfRFJWX000MVQ4MD15CiAjIENPTkZJR19SVENfRFJWX000MVQ4MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKIAogIwogIyBTUEkgUlRDIGRyaXZlcnMKQEAgLTExMjUsNiArMTEzNiw3IEBACiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIworIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTExNDAsMTQgKzExNTIsMTEgQEAKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKQEAgLTExNTUsOCArMTE2NCw4IEBACiAjCiAjIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKICMKLUNPTkZJR19JU085NjYwX0ZTPXkKLSMgQ09ORklHX0pPTElFVCBpcyBub3Qgc2V0CitDT05GSUdfSVNPOTY2MF9GUz1tCitDT05GSUdfSk9MSUVUPXkKICMgQ09ORklHX1pJU09GUyBpcyBub3Qgc2V0CiBDT05GSUdfVURGX0ZTPW0KIENPTkZJR19VREZfTkxTPXkKQEAgLTEyMDUsOCArMTIxNCwxMCBAQAogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogQ09ORklHX0NSQU1GUz15CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKQEAgLTEyMTQsNyArMTIyNSw2IEBACiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0MSwxNCArMTI1MSwxMyBAQAogIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKIENPTkZJR19CU0RfRElTS0xBQkVMPXkKLUNPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQotQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15Ci1DT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKLUNPTkZJR19MRE1fUEFSVElUSU9OPXkKLUNPTkZJR19MRE1fREVCVUc9eQorIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTklYV0FSRV9ESVNLTEFCRUwgaXMgbm90IHNldAorIyBDT05GSUdfTERNX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5vdCBzZXQKICMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAotQ09ORklHX1NVTl9QQVJUSVRJT049eQorIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKQEAgLTEzMDAsMTUgKzEzMDksNDggQEAKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci0jIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CitDT05GSUdfTUFHSUNfU1lTUlE9eQogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19LRVJORUwgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0tFUk5FTD15CisjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKK0NPTkZJR19TQ0hFRFNUQVRTPXkKKyMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1BSRUVNUFQ9eQorIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0lORk89eQorIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfS1BST0JFU19TQU5JVFlfVEVTVCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xLRFRNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKK0NPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0xMPXkKKyMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKICMKICMgU2VjdXJpdHkgb3B0aW9ucwpAQCAtMTMxNyw1MCArMTM1OSw3OSBAQAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15CisKKyMKKyMgQ3J5cHRvIGNvcmUgb3IgaGVscGVyCisjCiBDT05GSUdfQ1JZUFRPX0FMR0FQST1tCiBDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi0jIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz1tCisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9bQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCiAjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIwogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAogQ09ORklHX0NSWVBUT19IVz15CiAjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CkBAIC0xMzY5LDEyICsxNDQwLDE0IEBACiAjIExpYnJhcnkgcm91dGluZXMKICMKIENPTkZJR19CSVRSRVZFUlNFPXkKLUNPTkZJR19DUkNfQ0NJVFQ9eQotQ09ORklHX0NSQzE2PXkKLSMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfRklSU1RfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAorQ09ORklHX0NSQ19JVFVfVD1tCiBDT05GSUdfQ1JDMzI9eQogIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0Ci1DT05GSUdfTElCQ1JDMzJDPXkKKyMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQogQ09ORklHX1BMSVNUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM3X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM3X2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Mjc0NzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9wY20wMzdfZGVmY29uZmlnCkBAIC0wLDAgKzEsNzQ4IEBACisjCisjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmM2CisjIFdlZCBKdW4gMjUgMTE6NTI6NDIgMjAwOAorIworQ09ORklHX0FSTT15CitDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQorQ09ORklHX0dFTkVSSUNfR1BJTz15CitDT05GSUdfR0VORVJJQ19USU1FPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKK0NPTkZJR19NTVU9eQorIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CitDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CitDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSz15CisjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VMzIgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTY0IGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX1pPTkVfRE1BPXkKK0NPTkZJR19BUkNIX01URF9YSVA9eQorQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCitDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgorCisjCisjIEdlbmVyYWwgc2V0dXAKKyMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0JST0tFTl9PTl9TTVA9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKK0NPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CitDT05GSUdfU1dBUD15CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKK0NPTkZJR19JS0NPTkZJRz15CitDT05GSUdfSUtDT05GSUdfUFJPQz15CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKK0NPTkZJR19TWVNDVEw9eQorQ09ORklHX0VNQkVEREVEPXkKK0NPTkZJR19VSUQxNj15CitDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKK0NPTkZJR19LQUxMU1lNUz15CisjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorQ09ORklHX0NPTVBBVF9CUks9eQorQ09ORklHX0JBU0VfRlVMTD15CitDT05GSUdfRlVURVg9eQorQ09ORklHX0FOT05fSU5PREVTPXkKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQorQ09ORklHX1NITUVNPXkKK0NPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CitDT05GSUdfU0xBQj15CisjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BUktFUlMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorIyBDT05GSUdfS1BST0JFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CitDT05GSUdfUlRfTVVURVhFUz15CisjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKK0NPTkZJR19CQVNFX1NNQUxMPTAKK0NPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKK0NPTkZJR19NT0RVTEVfVU5MT0FEPXkKK0NPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEPXkKK0NPTkZJR19NT0RWRVJTSU9OUz15CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorQ09ORklHX0tNT0Q9eQorQ09ORklHX0JMT0NLPXkKKyMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CisKKyMKKyMgSU8gU2NoZWR1bGVycworIworQ09ORklHX0lPU0NIRURfTk9PUD15CitDT05GSUdfSU9TQ0hFRF9BUz15CitDT05GSUdfSU9TQ0hFRF9ERUFETElORT15CitDT05GSUdfSU9TQ0hFRF9DRlE9eQorIyBDT05GSUdfREVGQVVMVF9BUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NGUT15CisjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgzPXkKKworIworIyBNWDMgT3B0aW9ucworIworIyBDT05GSUdfTUFDSF9NWDMxQURTIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX1BDTTAzNz15CisKKyMKKyMgUHJvY2Vzc29yIFR5cGUKKyMKK0NPTkZJR19DUFVfMzI9eQorQ09ORklHX0NQVV9WNj15CisjIENPTkZJR19DUFVfMzJ2NksgaXMgbm90IHNldAorQ09ORklHX0NQVV8zMnY2PXkKK0NPTkZJR19DUFVfQUJSVF9FVjY9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQorQ09ORklHX0NQVV9DQUNIRV9WNj15CitDT05GSUdfQ1BVX0NBQ0hFX1ZJUFQ9eQorQ09ORklHX0NQVV9DT1BZX1Y2PXkKK0NPTkZJR19DUFVfVExCX1Y2PXkKK0NPTkZJR19DUFVfSEFTX0FTSUQ9eQorQ09ORklHX0NQVV9DUDE1PXkKK0NPTkZJR19DUFVfQ1AxNV9NTVU9eQorCisjCisjIFByb2Nlc3NvciBGZWF0dXJlcworIworQ09ORklHX0FSTV9USFVNQj15CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9CUFJFRElDVF9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9Im5vaW5pdHJkIGNvbnNvbGU9dHR5bXhjMCwxMTUyMDAgcm9vdD0vZGV2L210ZGJsb2NrMiBydyBpcD1vZmYiCisjIENPTkZJR19YSVBfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKKworIworIyBGbG9hdGluZyBwb2ludCBlbXVsYXRpb24KKyMKKworIworIyBBdCBsZWFzdCBvbmUgZW11bGF0aW9uIG11c3QgYmUgc2VsZWN0ZWQKKyMKK0NPTkZJR19WRlA9eQorCisjCisjIFVzZXJzcGFjZSBiaW5hcnkgZm9ybWF0cworIworQ09ORklHX0JJTkZNVF9FTEY9eQorIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAorIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorCisjCisjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucworIworIyBDT05GSUdfUE0gaXMgbm90IHNldAorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisKKyMKKyMgTmV0d29ya2luZworIworQ09ORklHX05FVD15CisKKyMKKyMgTmV0d29ya2luZyBvcHRpb25zCisjCitDT05GSUdfUEFDS0VUPXkKKyMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKK0NPTkZJR19VTklYPXkKKyMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAorQ09ORklHX0lORVQ9eQorIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CitDT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CisjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKKworIworIyBXaXJlbGVzcworIworIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKKworIworIyBEZXZpY2UgRHJpdmVycworIworCisjCisjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKKyMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCitDT05GSUdfU1RBTkRBTE9ORT15CitDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CitDT05GSUdfRldfTE9BREVSPW0KKyMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPTk5FQ1RPUiBpcyBub3Qgc2V0CitDT05GSUdfTVREPXkKKyMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEFSVElUSU9OUz15CisjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQorIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKKworIworIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycworIworQ09ORklHX01URF9DSEFSPXkKK0NPTkZJR19NVERfQkxLREVWUz15CitDT05GSUdfTVREX0JMT0NLPXkKKyMgQ09ORklHX0ZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAorIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAorCisjCisjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCisjCitDT05GSUdfTVREX0NGST15CisjIENPTkZJR19NVERfSkVERUNQUk9CRSBpcyBub3Qgc2V0CitDT05GSUdfTVREX0dFTl9QUk9CRT15CisjIENPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CitDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQorQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF84IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xNiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMzIgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSTE9eQorQ09ORklHX01URF9DRklfSTI9eQorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfSU5URUxFWFQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKworIworIyBNYXBwaW5nIGRyaXZlcnMgZm9yIGNoaXAgYWNjZXNzCisjCisjIENPTkZJR19NVERfQ09NUExFWF9NQVBQSU5HUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BIWVNNQVA9eQorQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0xFTj0wCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTIKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CisKKyMKKyMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NVERfU0xSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BIUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9NVERSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0JMT0NLMk1URCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzay1Pbi1DaGlwIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19NVERfRE9DMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfRE9DMjAwMVBMVVMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX05BTkQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAorCisjCisjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcworIworIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfTUlTQ19ERVZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAorCisjCisjIFNDU0kgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0RNQSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01EIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZJQ0VTPXkKKyMgQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRSBpcyBub3Qgc2V0CisjIENPTkZJR19EVU1NWSBpcyBub3Qgc2V0CisjIENPTkZJR19CT05ESU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAorIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VUSEVSTkVUPXkKK0NPTkZJR19NSUk9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CitDT05GSUdfU01DOTFYPXkKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfSU5QVVQgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19WVCBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CisjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorCisjCisjIFNlcmlhbCBkcml2ZXJzCisjCisjIENPTkZJR19TRVJJQUxfODI1MCBpcyBub3Qgc2V0CisKKyMKKyMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAorIworQ09ORklHX1NFUklBTF9JTVg9eQorQ09ORklHX1NFUklBTF9JTVhfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0NPUkU9eQorQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQorQ09ORklHX1VOSVg5OF9QVFlTPXkKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19IV19SQU5ET00gaXMgbm90IHNldAorIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKworIworIyBTUEkgR1BJTyBleHBhbmRlcnM6CisjCisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFNvbmljcyBTaWxpY29uIEJhY2twbGFuZQorIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKKyMKKyMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZGV2aWNlcworIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQiBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgU291bmQKKyMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVBQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX01NQyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CisjIENPTkZJR19SVENfQ0xBU1MgaXMgbm90IHNldAorIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorQ09ORklHX0lOT1RJRlk9eQorQ09ORklHX0lOT1RJRllfVVNFUj15CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorQ09ORklHX05GU19GUz15CisjIENPTkZJR19ORlNfVjMgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAorQ09ORklHX1JPT1RfTkZTPXkKK0NPTkZJR19MT0NLRD15CitDT05GSUdfTkZTX0NPTU1PTj15CitDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAorIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQYXJ0aXRpb24gVHlwZXMKKyMKKyMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKKyMgQ09ORklHX05MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ETE0gaXMgbm90IHNldAorCisjCisjIEtlcm5lbCBoYWNraW5nCisjCisjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CisjIENPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1BPSU5URVI9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19VU0VSIGlzIG5vdCBzZXQKKworIworIyBTZWN1cml0eSBvcHRpb25zCisjCisjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CisKKyMKKyMgTGlicmFyeSByb3V0aW5lcworIworQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CitDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAorQ09ORklHX1pMSUJfSU5GTEFURT15CitDT05GSUdfWkxJQl9ERUZMQVRFPXkKK0NPTkZJR19QTElTVD15CitDT05GSUdfSEFTX0lPTUVNPXkKK0NPTkZJR19IQVNfSU9QT1JUPXkKK0NPTkZJR19IQVNfRE1BPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM4X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGNtMDM4X2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Yjc5OGMyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9wY20wMzhfZGVmY29uZmlnCkBAIC0wLDAgKzEsMTAwOCBAQAorIworIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAorIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjNgorIyBGcmkgSnVuIDIwIDE2OjM4OjM2IDIwMDgKKyMKK0NPTkZJR19BUk09eQorQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKK0NPTkZJR19HRU5FUklDX0dQSU89eQorQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CitDT05GSUdfTU1VPXkKKyMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CitDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKK0NPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQorQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQorQ09ORklHX0hBUkRJUlFTX1NXX1JFU0VORD15CitDT05GSUdfR0VORVJJQ19JUlFfUFJPQkU9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKK0NPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKK0NPTkZJR19aT05FX0RNQT15CitDT05GSUdfQVJDSF9NVERfWElQPXkKK0NPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAorQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKKworIworIyBHZW5lcmFsIHNldHVwCisjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19CUk9LRU5fT05fU01QPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCitDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfU1dBUCBpcyBub3Qgc2V0CitDT05GSUdfU1lTVklQQz15CitDT05GSUdfU1lTVklQQ19TWVNDVEw9eQorQ09ORklHX1BPU0lYX01RVUVVRT15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX1JUX0dST1VQX1NDSEVEPXkKK0NPTkZJR19VU0VSX1NDSEVEPXkKKyMgQ09ORklHX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAorIyBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkUgaXMgbm90IHNldAorQ09ORklHX1NZU0NUTD15CitDT05GSUdfRU1CRURERUQ9eQorQ09ORklHX1VJRDE2PXkKK0NPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQorQ09ORklHX0tBTExTWU1TPXkKK0NPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTPXkKK0NPTkZJR19IT1RQTFVHPXkKK0NPTkZJR19QUklOVEs9eQorQ09ORklHX0JVRz15CitDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CitDT05GSUdfQkFTRV9GVUxMPXkKK0NPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQorQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CitDT05GSUdfU0hNRU09eQorQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CitDT05GSUdfUFJPRklMSU5HPXkKK0NPTkZJR19NQVJLRVJTPXkKK0NPTkZJR19PUFJPRklMRT15CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfUFJPQ19QQUdFX01PTklUT1IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKK0NPTkZJR19SVF9NVVRFWEVTPXkKKyMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAorQ09ORklHX0JBU0VfU01BTEw9MAorQ09ORklHX01PRFVMRVM9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX0xPQUQgaXMgbm90IHNldAorQ09ORklHX01PRFVMRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CisjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAorIyBDT05GSUdfS01PRCBpcyBub3Qgc2V0CitDT05GSUdfQkxPQ0s9eQorIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKKworIworIyBJTyBTY2hlZHVsZXJzCisjCitDT05GSUdfSU9TQ0hFRF9OT09QPXkKKyMgQ09ORklHX0lPU0NIRURfQVMgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9ERUFETElORSBpcyBub3Qgc2V0CisjIENPTkZJR19JT1NDSEVEX0NGUSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfTk9PUD15CitDT05GSUdfREVGQVVMVF9JT1NDSEVEPSJub29wIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKKworIworIyBTeXN0ZW0gVHlwZQorIworIyBDT05GSUdfQVJDSF9BQUVDMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9DTFBTNzUwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0NMUFM3MTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQ08yODUgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9FQlNBMTEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRVA5M1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRk9PVEJSSURHRSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX05FVFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9INzIwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzMlggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JT1AzM1ggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFAyM1hYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSVhQMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDRYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0w3MjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfS1M4Njk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTlM5WFhYIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX01YQz15CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX1NIQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0RBVklOQ0kgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfTVNNN1gwMEEgaXMgbm90IHNldAorCisjCisjIEJvb3Qgb3B0aW9ucworIworCisjCisjIFBvd2VyIG1hbmFnZW1lbnQKKyMKKworIworIyBGcmVlc2NhbGUgTVhDIEltcGxlbWVudGF0aW9ucworIworQ09ORklHX0FSQ0hfTVgyPXkKKyMgQ09ORklHX0FSQ0hfTVgzIGlzIG5vdCBzZXQKKworIworIyBNWDIgZmFtaWx5IENQVSBzdXBwb3J0CisjCitDT05GSUdfTUFDSF9NWDI3PXkKKworIworIyBNWDIgUGxhdGZvcm1zCisjCisjIENPTkZJR19NQUNIX01YMjdBRFMgaXMgbm90IHNldAorQ09ORklHX01BQ0hfUENNMDM4PXkKK0NPTkZJR19NQUNIX1BDTTk3MF9CQVNFQk9BUkQ9eQorCisjCisjIFByb2Nlc3NvciBUeXBlCisjCitDT05GSUdfQ1BVXzMyPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CitDT05GSUdfQ1BVXzMydjU9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKK0NPTkZJR19DUFVfUEFCUlRfTk9JRkFSPXkKK0NPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CitDT05GSUdfQ1BVX1RMQl9WNFdCST15CitDT05GSUdfQ1BVX0NQMTU9eQorQ09ORklHX0NQVV9DUDE1X01NVT15CisKKyMKKyMgUHJvY2Vzc29yIEZlYXR1cmVzCisjCitDT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKKyMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKKworIworIyBCdXMgc3VwcG9ydAorIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKKworIworIyBLZXJuZWwgRmVhdHVyZXMKKyMKK0NPTkZJR19USUNLX09ORVNIT1Q9eQorQ09ORklHX05PX0haPXkKK0NPTkZJR19ISUdIX1JFU19USU1FUlM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQorQ09ORklHX1BSRUVNUFQ9eQorQ09ORklHX0haPTEwMAorQ09ORklHX0FFQUJJPXkKKyMgQ09ORklHX09BQklfQ09NUEFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfRkxBVE1FTV9NQU5VQUw9eQorIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEFSU0VNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19GTEFUTUVNPXkKK0NPTkZJR19GTEFUX05PREVfTUVNX01BUD15CisjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKK0NPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CisjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAorQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKKworIworIyBCb290IG9wdGlvbnMKKyMKK0NPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKK0NPTkZJR19aQk9PVF9ST01fQlNTPTB4MAorQ09ORklHX0NNRExJTkU9IiIKKyMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAorIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAorCisjCisjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgorIworCisjCisjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAorIworIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKKworIworIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKKyMKK0NPTkZJR19CSU5GTVRfRUxGPXkKKyMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JJTkZNVF9NSVNDIGlzIG5vdCBzZXQKKworIworIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKKyMKKyMgQ09ORklHX1BNIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQorCisjCisjIE5ldHdvcmtpbmcKKyMKK0NPTkZJR19ORVQ9eQorCisjCisjIE5ldHdvcmtpbmcgb3B0aW9ucworIworQ09ORklHX1BBQ0tFVD15CitDT05GSUdfUEFDS0VUX01NQVA9eQorQ09ORklHX1VOSVg9eQorIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CitDT05GSUdfSU5FVD15CitDT05GSUdfSVBfTVVMVElDQVNUPXkKKyMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfRklCX0hBU0g9eQorQ09ORklHX0lQX1BOUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAorIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CisjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9FU1AgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19DVUJJQz15CitDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCisjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjYgaXMgbm90IHNldAorIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAorIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE0gaXMgbm90IHNldAorIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAorIyBDT05GSUdfREVDTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xMQzIgaXMgbm90IHNldAorIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CisjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CisKKyMKKyMgTmV0d29yayB0ZXN0aW5nCisjCisjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0CisjIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DQU4gaXMgbm90IHNldAorIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CisjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MKKyMKKyMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CisKKyMKKyMgRGV2aWNlIERyaXZlcnMKKyMKKworIworIyBHZW5lcmljIERyaXZlciBPcHRpb25zCisjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgorQ09ORklHX1NUQU5EQUxPTkU9eQorQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQorQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CisjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX01URD15CisjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CitDT05GSUdfTVREX1BBUlRJVElPTlM9eQorIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKKyMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CisKKyMKKyMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKKyMKK0NPTkZJR19NVERfQ0hBUj15CitDT05GSUdfTVREX0JMS0RFVlM9eQorQ09ORklHX01URF9CTE9DSz15CisjIENPTkZJR19GVEwgaXMgbm90IHNldAorIyBDT05GSUdfTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkZUTCBpcyBub3Qgc2V0CisjIENPTkZJR19SRkRfRlRMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NTRkRDIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PT1BTIGlzIG5vdCBzZXQKKworIworIyBSQU0vUk9NL0ZsYXNoIGNoaXAgZHJpdmVycworIworQ09ORklHX01URF9DRkk9eQorIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9HRU5fUFJPQkU9eQorQ09ORklHX01URF9DRklfQURWX09QVElPTlM9eQorQ09ORklHX01URF9DRklfTk9TV0FQPXkKKyMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0dFT01FVFJZPXkKKyMgQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfOCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMTYgaXMgbm90IHNldAorIyBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzMyIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX0kxPXkKKyMgQ09ORklHX01URF9DRklfSTIgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9JNCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0k4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9PVFAgaXMgbm90IHNldAorQ09ORklHX01URF9DRklfSU5URUxFWFQ9eQorIyBDT05GSUdfTVREX0NGSV9BTURTVEQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0NGSV9TVEFBIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ0ZJX1VUSUw9eQorIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BQlNFTlQgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1hJUCBpcyBub3Qgc2V0CisKKyMKKyMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcworIworIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAorQ09ORklHX01URF9QSFlTTUFQPXkKK0NPTkZJR19NVERfUEhZU01BUF9TVEFSVD0weDAwMDAwMDAwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4MAorQ09ORklHX01URF9QSFlTTUFQX0JBTktXSURUSD0yCisjIENPTkZJR19NVERfQVJNX0lOVEVHUkFUT1IgaXMgbm90IHNldAorIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAorCisjCisjIFNlbGYtY29udGFpbmVkIE1URCBkZXZpY2UgZHJpdmVycworIworIyBDT05GSUdfTVREX0RBVEFGTEFTSCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQkxPQ0syTVREIGlzIG5vdCBzZXQKKworIworIyBEaXNrLU9uLUNoaXAgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CisKKyMKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCisjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVY9eQorIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfTE9PUCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CisjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUQV9PVkVSX0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfSURFPXkKKyMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisKKyMKKyMgU0NTSSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfTUQgaXMgbm90IHNldAorQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CisjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAorIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfRVRIRVJORVQ9eQorIyBDT05GSUdfTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAorIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RNOTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19FTkMyOEo2MCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKK0NPTkZJR19GRUNfT0xEPXkKKyMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisKKyMKKyMgV2lyZWxlc3MgTEFOCisjCisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QUFAgaXMgbm90IHNldAorIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JU0ROIGlzIG5vdCBzZXQKKworIworIyBJbnB1dCBkZXZpY2Ugc3VwcG9ydAorIworQ09ORklHX0lOUFVUPXkKKyMgQ09ORklHX0lOUFVUX0ZGX01FTUxFU1MgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CisKKyMKKyMgVXNlcmxhbmQgaW50ZXJmYWNlcworIworIyBDT05GSUdfSU5QVVRfTU9VU0VERVYgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkRFVj15CisjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CisKKyMKKyMgSW5wdXQgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX0lOUFVUX0tFWUJPQVJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorCisjCisjIEhhcmR3YXJlIEkvTyBwb3J0cworIworIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAorIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAorCisjCisjIENoYXJhY3RlciBkZXZpY2VzCisjCitDT05GSUdfVlQ9eQorQ09ORklHX1ZUX0NPTlNPTEU9eQorQ09ORklHX0hXX0NPTlNPTEU9eQorIyBDT05GSUdfVlRfSFdfQ09OU09MRV9CSU5ESU5HIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZLTUVNPXkKKyMgQ09ORklHX1NFUklBTF9OT05TVEFOREFSRCBpcyBub3Qgc2V0CisKKyMKKyMgU2VyaWFsIGRyaXZlcnMKKyMKKyMgQ09ORklHX1NFUklBTF84MjUwIGlzIG5vdCBzZXQKKworIworIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CisjCitDT05GSUdfU0VSSUFMX0lNWD15CitDT05GSUdfU0VSSUFMX0lNWF9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQ09SRT15CitDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CitDT05GSUdfVU5JWDk4X1BUWVM9eQorIyBDT05GSUdfTEVHQUNZX1BUWVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTSBpcyBub3Qgc2V0CisjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CisjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CisjIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19UUFM2NTAxMCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAorQ09ORklHX1NQST15CitDT05GSUdfU1BJX01BU1RFUj15CisKKyMKKyMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKKyMKK0NPTkZJR19TUElfQklUQkFORz15CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fUENBOTUzWCBpcyBub3Qgc2V0CisjIENPTkZJR19HUElPX1BDRjg1N1ggaXMgbm90IHNldAorCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fTUNQMjNTMDggaXMgbm90IHNldAorIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfTUZEX0FTSUMzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19FR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKKworIworIyBNdWx0aW1lZGlhIGRldmljZXMKKyMKKworIworIyBNdWx0aW1lZGlhIGNvcmUgc3VwcG9ydAorIworQ09ORklHX1ZJREVPX0RFVj15CitDT05GSUdfVklERU9fVjRMMl9DT01NT049eQorQ09ORklHX1ZJREVPX0FMTE9XX1Y0TDE9eQorQ09ORklHX1ZJREVPX1Y0TDFfQ09NUEFUPXkKKyMgQ09ORklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19NRURJQT15CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCisjIENPTkZJR19NRURJQV9BVFRBQ0ggaXMgbm90IHNldAorQ09ORklHX01FRElBX1RVTkVSPXkKKyMgQ09ORklHX01FRElBX1RVTkVSX0NVU1RPTUlaRSBpcyBub3Qgc2V0CitDT05GSUdfTUVESUFfVFVORVJfU0lNUExFPXkKK0NPTkZJR19NRURJQV9UVU5FUl9UREE4MjkwPXkKK0NPTkZJR19NRURJQV9UVU5FUl9UREE5ODg3PXkKK0NPTkZJR19NRURJQV9UVU5FUl9URUE1NzYxPXkKK0NPTkZJR19NRURJQV9UVU5FUl9URUE1NzY3PXkKK0NPTkZJR19NRURJQV9UVU5FUl9NVDIwWFg9eQorQ09ORklHX01FRElBX1RVTkVSX1hDMjAyOD15CitDT05GSUdfTUVESUFfVFVORVJfWEM1MDAwPXkKK0NPTkZJR19WSURFT19WNEwyPXkKK0NPTkZJR19WSURFT19WNEwxPXkKK0NPTkZJR19WSURFT19DQVBUVVJFX0RSSVZFUlM9eQorIyBDT05GSUdfVklERU9fQURWX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFT19IRUxQRVJfQ0hJUFNfQVVUTz15CisjIENPTkZJR19WSURFT19WSVZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX0NQSUEgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fU0FBNTI0NkEgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fU0FBNTI0OSBpcyBub3Qgc2V0CisjIENPTkZJR19UVU5FUl8zMDM2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPQ19DQU1FUkEgaXMgbm90IHNldAorIyBDT05GSUdfUkFESU9fQURBUFRFUlMgaXMgbm90IHNldAorIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKKworIworIyBHcmFwaGljcyBzdXBwb3J0CisjCisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CitDT05GSUdfRkI9eQorIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DRkJfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAorCisjCisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCisjCisjIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CisKKyMKKyMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAorIworIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKK0NPTkZJR19EVU1NWV9DT05TT0xFPXkKK0NPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0CitDT05GSUdfRk9OVFM9eQorQ09ORklHX0ZPTlRfOHg4PXkKKyMgQ09ORklHX0ZPTlRfOHgxNiBpcyBub3Qgc2V0CisjIENPTkZJR19GT05UXzZ4MTEgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF83eDE0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfUEVBUkxfOHg4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfQUNPUk5fOHg4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfTUlOSV80eDYgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF9TVU44eDE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZPTlRfU1VOMTJ4MjIgaXMgbm90IHNldAorIyBDT05GSUdfRk9OVF8xMHgxOCBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPIGlzIG5vdCBzZXQKKworIworIyBTb3VuZAorIworIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAorIyBDT05GSUdfSElEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FV19MRURTIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfTElCPXkKK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAorCisjCisjIFJUQyBpbnRlcmZhY2VzCisjCitDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQorQ09ORklHX1JUQ19JTlRGX1BST0M9eQorQ09ORklHX1JUQ19JTlRGX0RFVj15CisjIENPTkZJR19SVENfSU5URl9ERVZfVUlFX0VNVUwgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9URVNUIGlzIG5vdCBzZXQKKworIworIyBJMkMgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorQ09ORklHX1JUQ19EUlZfUENGODU2Mz15CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRk0zMTMwIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAorCisjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKKworIworIyBGaWxlIHN5c3RlbXMKKyMKKyMgQ09ORklHX0VYVDJfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ROT1RJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSU5PVElGWSBpcyBub3Qgc2V0CisjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0CisjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKKworIworIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCisjCisjIENPTkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VERl9GUyBpcyBub3Qgc2V0CisKKyMKKyMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcworIworIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAorIyBDT05GSUdfVkZBVF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKKworIworIyBQc2V1ZG8gZmlsZXN5c3RlbXMKKyMKK0NPTkZJR19QUk9DX0ZTPXkKK0NPTkZJR19QUk9DX1NZU0NUTD15CitDT05GSUdfU1lTRlM9eQorQ09ORklHX1RNUEZTPXkKKyMgQ09ORklHX1RNUEZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CisjIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAorIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKKyMKKyMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSEZTUExVU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKK0NPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfUlRJTUU9eQorIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAorIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAorIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorQ09ORklHX05GU19GUz15CitDT05GSUdfTkZTX1YzPXkKKyMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAorIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAorQ09ORklHX1JPT1RfTkZTPXkKK0NPTkZJR19MT0NLRD15CitDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19DT01NT049eQorQ09ORklHX1NVTlJQQz15CisjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CisjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CisjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CisKKyMKKyMgUGFydGl0aW9uIFR5cGVzCisjCisjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX01TRE9TX1BBUlRJVElPTj15CitDT05GSUdfTkxTPXkKK0NPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgorQ09ORklHX05MU19DT0RFUEFHRV80Mzc9bQorIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPW0KKyMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjMgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NjYgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV85NTAgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0NPREVQQUdFXzkzMiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19DT0RFUEFHRV84NzQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfOCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfQVNDSUkgaXMgbm90IHNldAorQ09ORklHX05MU19JU084ODU5XzE9eQorIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV82IGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19JU084ODU5XzcgaXMgbm90IHNldAorIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0lTTzg4NTlfMTU9bQorIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CisjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CisKKyMKKyMgS2VybmVsIGhhY2tpbmcKKyMKKyMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKK0NPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CitDT05GSUdfRlJBTUVfV0FSTj0xMDI0CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX0tFUk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKK0NPTkZJR19GUkFNRV9QT0lOVEVSPXkKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfVVNFUiBpcyBub3Qgc2V0CisKKyMKKyMgU2VjdXJpdHkgb3B0aW9ucworIworIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE8gaXMgbm90IHNldAorCisjCisjIExpYnJhcnkgcm91dGluZXMKKyMKK0NPTkZJR19CSVRSRVZFUlNFPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CisjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAorIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CitDT05GSUdfUExJU1Q9eQorQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0lPUE9SVD15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9waWNvdHV4MjAwX2RlZmNvbmZpZwppbmRleCA5NWEyMmY1Li4xNDgyNmYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3BpY290dXgyMDBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcGljb3R1eDIwMF9kZWZjb25maWcKQEAgLTIwMSw3ICsyMDEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotQ09ORklHX05PX0lETEVfSFo9eQogQ09ORklHX0haPTEwMAogQ09ORklHX0FFQUJJPXkKIENPTkZJR19PQUJJX0NPTVBBVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9wbng0MDA4X2RlZmNvbmZpZwppbmRleCBiNWUxMWFhLi44MTFiOGY2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3BueDQwMDhfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcG54NDAwOF9kZWZjb25maWcKQEAgLTE1MSw3ICsxNTEsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3FpbC1hOTI2MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA2NyUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL3FpbC1hOTI2MF9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uZWY5MDNiZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3FpbC1hOTI2MF9kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgQXByIDE1IDEyOjI4OjM4IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQxICsyMiwzOCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15CisjIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgotQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKQEAgLTcxLDQyICs2OCwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTEwLDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjksOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzE0MSw2NiBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05MjYwPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05UkwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxQ0FQOSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFYNDAgaXMgbm90IHNldAorQ09ORklHX0FUOTFfUE1DX1VOSVQ9eQorCisjCisjIEFUOTFTQU05MjYwIFZhcmlhbnRzCisjCisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwX1NBTTlYRSBpcyBub3Qgc2V0CisKKyMKKyMgQVQ5MVNBTTkyNjAgLyBBVDkxU0FNOVhFIEJvYXJkIFR5cGUKKyMKKyMgQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX0NBTTYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfU0FNOV9MOTI2MCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX1VTQl9BOTI2MCBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9RSUxfQTkyNjA9eQorCisjCisjIEFUOTEgQm9hcmQgT3B0aW9ucworIworCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCisjIENPTkZJR19BVDkxX1BST0dSQU1NQUJMRV9DTE9DS1MgaXMgbm90IHNldAorQ09ORklHX0FUOTFfU0xPV19DTE9DSz15CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKKyMgQ09ORklHX0FUOTFfRUFSTFlfREJHVSBpcyBub3Qgc2V0CitDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDA9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwOCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzI0MSwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorIyBDT05GSUdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjU1LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzEsMTE1MjAwIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMyw2ICsyNjksNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NSwxMCArMjgyLDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQorIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EX1VQX1BPU1NJQkxFPXkKK0NPTkZJR19TVVNQRU5EPXkKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2MSwyMSArMzAwLDI1IEBACiBDT05GSUdfUEFDS0VUPXkKICMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKLUNPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfUkFSUD15CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODMsMTEgKzMyNiwxMSBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCkBAIC0zMTEsMTAgKzM1NCw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMywyOCArMzYyLDcgQEAKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNzEsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyMyArMzgyLDIwIEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzQwOSwxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MzQsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0Niw1MyArNDU2LDQyIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzUwNiw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDQxICs1MTgsNTAgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorQ09ORklHX05FVERFVl8xMDAwMD15CiAKICMKICMgV2lyZWxlc3MgTEFOCkBAIC01NjgsNyArNTc2LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKQEAgLTU3NywxMCArNTg0LDYgQEAKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5OCw5ICs2MDEsOCBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQotIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWQlVHPXkKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwpAQCAtNjEyLDMwICs2MTQsMTcgQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsNDUgKzY0NCwxMDEgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CitDT05GSUdfSTJDX0NIQVJERVY9eQogCiAjCi0jIFRQTSBkZXZpY2VzCisjIEkyQyBBbGdvcml0aG1zCiAjCi0jIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxHT0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxHT1BDRiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX1NFTlNPUlNfRFMxMzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0E5NTM5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19XQVRDSERPRz15CitDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQ9eQogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycwogIworIyBDT05GSUdfU09GVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19BVDkxU0FNOV9XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzc0Niw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsMTI1ICs3NTUsNDIgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ISUQgaXMgbm90IHNldAogCiAjCi0jIFVTQiBzdXBwb3J0CisjIFVTQiBISUQgQm9vdCBQcm90b2NvbCBkcml2ZXJzCiAjCisjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1Miw5ICs4MDEsMTAgQEAKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzgxNiw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs4MzUsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArODUwLDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSwyNiArODkxLDY2IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KK0NPTkZJR19VU0JfR0FER0VUPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVR19GSUxFUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9TRUxFQ1RFRD15CisjIENPTkZJR19VU0JfR0FER0VUX0FNRDU1MzZVREMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRlNMX1VTQjIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9ORVQyMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTTY2NTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfR09LVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0xIN0E0MFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9PTUFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfUzNDMjQxMCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVF9BVDkxPXkKK0NPTkZJR19VU0JfQVQ5MT15CisjIENPTkZJR19VU0JfR0FER0VUX0RVTU1ZX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RVQUxTUEVFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkVSTyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0VUSD15CitDT05GSUdfVVNCX0VUSF9STkRJUz15CisjIENPTkZJR19VU0JfR0FER0VURlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0ZJTEVfU1RPUkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR19TRVJJQUwgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX01JRElfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19NTUM9eQogIyBDT05GSUdfTU1DX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX01NQ19VTlNBRkVfUkVTVU1FIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19NTUNfQkxPQ0s9eQorQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQorIyBDT05GSUdfU0RJT19VQVJUIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KK0NPTkZJR19NTUNfQVQ5MT15CisjIENPTkZJR19NTUNfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgUmVhbCBUaW1lIENsb2NrCisjIExFRCBkcml2ZXJzCiAjCitDT05GSUdfTEVEU19HUElPPXkKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KK0NPTkZJR19SVENfQ0xBU1M9eQorQ09ORklHX1JUQ19IQ1RPU1lTPXkKK0NPTkZJR19SVENfSENUT1NZU19ERVZJQ0U9InJ0YzAiCisjIENPTkZJR19SVENfREVCVUcgaXMgbm90IHNldAogCiAjCiAjIFJUQyBpbnRlcmZhY2VzCkBAIC05NzIsMjQgKzk2NCwzOSBAQAogIwogIyBJMkMgUlRDIGRyaXZlcnMKICMKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxMzc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNjcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1JTNUMzNzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9JU0wxMjA4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU4MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CiAKICMKICMgU1BJIFJUQyBkcml2ZXJzCiAjCisjIENPTkZJR19SVENfRFJWX1JTNUMzNDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfRFJWX000MVQ5ND15CiAKICMKICMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfTTQ4VDg2IGlzIG5vdCBzZXQKLUNPTkZJR19SVENfRFJWX1YzMDIwPW0KKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19EUlZfQVQ5MVNBTTkgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwpAQCAtOTk3LDE3ICsxMDA0LDExIEBACiBDT05GSUdfRVhUMl9GUz15CiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CkBAIC0xMDE5LDcgKzEwMjAsNyBAQAogQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfRlVTRV9GUz1tCiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwpAQCAtMTAzMSw3ICsxMDMyLDcgQEAKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwogQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQorIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAogQ09ORklHX1ZGQVRfRlM9eQogQ09ORklHX0ZBVF9ERUZBVUxUX0NPREVQQUdFPTQzNwogQ09ORklHX0ZBVF9ERUZBVUxUX0lPQ0hBUlNFVD0iaXNvODg1OS0xIgpAQCAtMTA0Niw3ICsxMDQ3LDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTAgKzEwNjIsMTIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CkBAIC0xMDc0LDQ3ICsxMDc2LDQwIEBACiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKIENPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAorQ09ORklHX05GU19WM19BQ0w9eQorQ09ORklHX05GU19WND15CiAjIENPTkZJR19ORlNfRElSRUNUSU8gaXMgbm90IHNldAogIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0CiBDT05GSUdfUk9PVF9ORlM9eQogQ09ORklHX0xPQ0tEPXkKIENPTkZJR19MT0NLRF9WND15CitDT05GSUdfTkZTX0FDTF9TVVBQT1JUPXkKIENPTkZJR19ORlNfQ09NTU9OPXkKIENPTkZJR19TVU5SUEM9eQorQ09ORklHX1NVTlJQQ19HU1M9eQogIyBDT05GSUdfU1VOUlBDX0JJTkQzNCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX0tSQjUgaXMgbm90IHNldAorQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR185UF9GUyBpcyBub3Qgc2V0CiAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCiAjIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKIENPTkZJR19OTFM9eQogQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MCBpcyBub3Qgc2V0CitDT05GSUdfTkxTX0NPREVQQUdFXzg1MD15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODUyIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NyBpcyBub3Qgc2V0CkBAIC0xMTQ4LDMwICsxMTQzLDI0IEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKKyMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci0KLSMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlNUUlVNRU5UQVRJT04gaXMgbm90IHNldAogCiAjCiAjIEtlcm5lbCBoYWNraW5nCiAjCiAjIENPTkZJR19QUklOVEtfVElNRSBpcyBub3Qgc2V0CitDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRD15CiBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0s9eQotQ09ORklHX01BR0lDX1NZU1JRPXkKKyMgQ09ORklHX01BR0lDX1NZU1JRIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hFQURFUlNfQ0hFQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0tFUk5FTD15CiAjIENPTkZJR19ERUJVR19TSElSUSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CitDT05GSUdfREVURUNUX1NPRlRMT0NLVVA9eQorQ09ORklHX1NDSEVEX0RFQlVHPXkKICMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfVElNRVJfU1RBVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU0xBQiBpcyBub3Qgc2V0CkBAIC0xMTgxLDE5ICsxMTcwLDIzIEBACiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CitDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQogQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVUxUX0lOSkVDVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19VU0VSPXkKLUNPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMjAyLDUxICsxMTk1LDQ4IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLQotIwotIyBDcnlwdG9ncmFwaGljIG9wdGlvbnMKLSMKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KK0NPTkZJR19DUllQVE9fQUxHQVBJPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fTUFOQUdFUj15CiAjIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fWENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19NRDU9eQogIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0VDQj1tCi1DT05GSUdfQ1JZUFRPX0NCQz1tCi1DT05GSUdfQ1JZUFRPX1BDQkM9bQorIyBDT05GSUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPXkKICMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19BRVMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQVJDND1tCisjIENPTkZJR19DUllQVE9fQVJDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0RFRkxBVEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKLQotIwotIyBIYXJkd2FyZSBjcnlwdG8gZGV2aWNlcwotIworIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCkBAIC0xMjU2LDYgKzEyNDYsNyBAQAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CisjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19aTElCX0RFRkxBVEU9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9yZWFsdmlldy1zbXBfZGVmY29uZmlnCmluZGV4IGZjMzliYTEuLjBjMDliMjMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXctc21wX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3LXNtcF9kZWZjb25maWcKQEAgLTE3Nyw3ICsxNzcsNiBAQAogQ09ORklHX0hPVFBMVUdfQ1BVPXkKIENPTkZJR19MT0NBTF9USU1FUlM9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3JlYWx2aWV3X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnCmluZGV4IGFjY2JmNTIuLjkwN2U1NDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvcmVhbHZpZXdfZGVmY29uZmlnCkBAIC0xMjYsNyArMTI2LDYgQEAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCi0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfRkxBVE1FTT15CiBDT05GSUdfRkxBVF9OT0RFX01FTV9NQVA9eQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9ycGNfZGVmY29uZmlnCmluZGV4IDVkZGVjYjkuLmY2MmQxODEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvcnBjX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3JwY19kZWZjb25maWcKQEAgLTE5MCw3ICsxOTAsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvczNjMjQxMF9kZWZjb25maWcKaW5kZXggZjhhMTY0NS4uMzVmYWFlYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9zM2MyNDEwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3MzYzI0MTBfZGVmY29uZmlnCkBAIC0xLDE1ICsxLDE4IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjEtcmM2Ci0jIE1vbiBBcHIgIDkgMTA6MTI6NTggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjOAorIyBNb24gSnVsICA3IDE2OjU5OjIzIDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogIyBDT05GSUdfR0VORVJJQ19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAogQ09ORklHX01NVT15CiBDT05GSUdfTk9fSU9QT1JUPXkKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19TVEFDS1RSQUNFX1NVUFBPUlQ9eQorQ09ORklHX0xPQ0tERVBfU1VQUE9SVD15CiBDT05GSUdfVFJBQ0VfSVJRRkxBR1NfU1VQUE9SVD15CiBDT05GSUdfSEFSRElSUVNfU1dfUkVTRU5EPXkKIENPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CkBAIC0xOCwzNCArMjEsMzkgQEAKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKIENPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxBWT15CitDT05GSUdfQVJDSF9TVVBQT1JUU19BT1VUPXkKIENPTkZJR19aT05FX0RNQT15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15Ci0jIENPTkZJR19JUENfTlMgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKICMgQ09ORklHX1BPU0lYX01RVUVVRSBpcyBub3Qgc2V0CiAjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VVFNfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAotIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0lLQ09ORklHPW0KK0NPTkZJR19JS0NPTkZJR19QUk9DPXkKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE2CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKK0NPTkZJR19OQU1FU1BBQ0VTPXkKKyMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUENfTlMgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19QSURfTlMgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNTMsNiArNjEsNyBAQAogIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKICMgQ09ORklHX0tBTExTWU1TX0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNTIGlzIG5vdCBzZXQKQEAgLTYwLDM0ICs2OSw0MyBAQAogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CitDT05GSUdfQ09NUEFUX0JSSz15CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CitDT05GSUdfQU5PTl9JTk9ERVM9eQogQ09ORklHX0VQT0xMPXkKK0NPTkZJR19TSUdOQUxGRD15CitDT05GSUdfVElNRVJGRD15CitDT05GSUdfRVZFTlRGRD15CiBDT05GSUdfU0hNRU09eQotQ09ORklHX1NMQUI9eQogQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKK0NPTkZJR19TTEFCPXkKKyMgQ09ORklHX1NMVUIgaXMgbm90IHNldAorIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFSS0VSUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CisjIENPTkZJR19LUFJPQkVTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0tQUk9CRVM9eQorQ09ORklHX0hBVkVfS1JFVFBST0JFUz15CisjIENPTkZJR19IQVZFX0RNQV9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfUFJPQ19QQUdFX01PTklUT1I9eQorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0Ci0KLSMKLSMgTG9hZGFibGUgbW9kdWxlIHN1cHBvcnQKLSMKIENPTkZJR19NT0RVTEVTPXkKKyMgQ09ORklHX01PRFVMRV9GT1JDRV9MT0FEIGlzIG5vdCBzZXQKIENPTkZJR19NT0RVTEVfVU5MT0FEPXkKICMgQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTU9EVUxFX1NSQ1ZFUlNJT05fQUxMIGlzIG5vdCBzZXQKIENPTkZJR19LTU9EPXkKLQotIwotIyBCbG9jayBsYXllcgotIwogQ09ORklHX0JMT0NLPXkKICMgQ09ORklHX0xCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX0lPX1RSQUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0xTRiBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTAxLDYgKzExOSw3IEBACiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBTeXN0ZW0gVHlwZQpAQCAtMTE5LDE0ICsxMzgsMTcgQEAKICMgQ09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0g3MjBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSU9QMTNYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lPUDMyWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0lPUDMzWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0lPUDEzWFggaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9JWFAyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSVhQMjNYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lYUDIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JWFA0WFggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKQEAgLTEzNCwxOCArMTU2LDMyIEBACiBDT05GSUdfQVJDSF9TM0MyNDEwPXkKICMgQ09ORklHX0FSQ0hfU0hBUksgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiBDT05GSUdfUExBVF9TM0MyNFhYPXkKIENPTkZJR19DUFVfUzNDMjQ0WD15CisjIENPTkZJR19TM0MyNFhYX1BXTSBpcyBub3Qgc2V0CiBDT05GSUdfUE1fU0lNVEVDPXkKLSMgQ09ORklHX1MzQ19CT09UX1dBVENIRE9HIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MzQ19CT09UX0VSUk9SX1JFU0VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MzQzI0MTBfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUzNDMjQxMF9QTV9DSEVDSyBpcyBub3Qgc2V0Ci1DT05GSUdfUzNDX0xPV0xFVkVMX1VBUlRfUE9SVD0wCiBDT05GSUdfUzNDMjQxMF9ETUE9eQogIyBDT05GSUdfUzNDMjQxMF9ETUFfREVCVUcgaXMgbm90IHNldAogQ09ORklHX01BQ0hfU01ESz15CitDT05GSUdfUExBVF9TM0M9eQorQ09ORklHX0NQVV9MTFNFUklBTF9TM0MyNDEwPXkKK0NPTkZJR19DUFVfTExTRVJJQUxfUzNDMjQ0MD15CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisjIENPTkZJR19TM0NfQk9PVF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19TM0NfQk9PVF9FUlJPUl9SRVNFVCBpcyBub3Qgc2V0CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworIyBDT05GSUdfUzNDMjQxMF9QTV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19TM0MyNDEwX1BNX0NIRUNLIGlzIG5vdCBzZXQKK0NPTkZJR19TM0NfTE9XTEVWRUxfVUFSVF9QT1JUPTAKIAogIwogIyBTM0MyNDAwIE1hY2hpbmVzCkBAIC0xNTUsNiArMTkxLDggQEAKIENPTkZJR19TM0MyNDEwX1BNPXkKIENPTkZJR19TM0MyNDEwX0dQSU89eQogQ09ORklHX1MzQzI0MTBfQ0xPQ0s9eQorQ09ORklHX1NJTVRFQ19OT1I9eQorQ09ORklHX01BQ0hfQkFTVF9JREU9eQogCiAjCiAjIFMzQzI0MTAgTWFjaGluZXMKQEAgLTE2Nyw2ICsyMDUsNyBAQAogQ09ORklHX01BQ0hfT1RPTT15CiBDT05GSUdfTUFDSF9BTUxfTTU5MDA9eQogQ09ORklHX0JBU1RfUEMxMDRfSVJRPXkKKyMgQ09ORklHX01BQ0hfVENUX0hBTU1FUiBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9WUjEwMDA9eQogQ09ORklHX01BQ0hfUVQyNDEwPXkKIENPTkZJR19DUFVfUzNDMjQxMj15CkBAIC0xNzYsOCArMjE1LDEwIEBACiAjCiAjIFMzQzI0MTIgTWFjaGluZXMKICMKKyMgQ09ORklHX01BQ0hfSklWRSBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSF9TTURLMjQxMz15CiBDT05GSUdfTUFDSF9TM0MyNDEzPXkKKyMgQ09ORklHX01BQ0hfU01ESzI0MTIgaXMgbm90IHNldAogQ09ORklHX01BQ0hfVlNUTVM9eQogQ09ORklHX0NQVV9TM0MyNDQwPXkKIENPTkZJR19TM0MyNDQwX0RNQT15CkBAIC0xOTEsNiArMjMyLDcgQEAKIENPTkZJR19BUkNIX1MzQzI0NDA9eQogQ09ORklHX01BQ0hfTkVYQ09ERVJfMjQ0MD15CiBDT05GSUdfU01ESzI0NDBfQ1BVMjQ0MD15CisjIENPTkZJR19NQUNIX0FUMjQ0MEVWQiBpcyBub3Qgc2V0CiBDT05GSUdfQ1BVX1MzQzI0NDI9eQogCiAjCkBAIC0yMTUsNiArMjU3LDcgQEAKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY0VD15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VEo9eQorQ09ORklHX0NQVV9QQUJSVF9OT0lGQVI9eQogQ09ORklHX0NQVV9DQUNIRV9WNFdUPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CiBDT05GSUdfQ1BVX0NPUFlfVjRXQj15CkBAIC0yMzYsMTcgKzI3OSwxNSBAQAogIyBCdXMgc3VwcG9ydAogIwogQ09ORklHX0lTQT15Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKKyMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTIwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKQEAgLTI1Nyw5ICsyOTgsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjc5LDcgKzMyNCw3IEBACiAjIEF0IGxlYXN0IG9uZSBlbXVsYXRpb24gbXVzdCBiZSBzZWxlY3RlZAogIwogQ09ORklHX0ZQRV9OV0ZQRT15Ci0jIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAorQ09ORklHX0ZQRV9OV0ZQRV9YUD15CiAjIENPTkZJR19GUEVfRkFTVEZQRSBpcyBub3Qgc2V0CiAjIENPTkZJR19WRlAgaXMgbm90IHNldAogCkBAIC0yOTUsMTAgKzM0MCwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKK0NPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTMwOCw1OSArMzU1LDY3IEBACiAjCiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwotIyBDT05GSUdfTkVUREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUEFDS0VUIGlzIG5vdCBzZXQKK0NPTkZJR19QQUNLRVQ9eQorIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKLSMgQ09ORklHX0lQX1BOUF9ESENQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfREhDUD15CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKICMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAorQ09ORklHX0lORVRfVFVOTkVMPW0KIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15CisjIENPTkZJR19JTkVUX0xSTyBpcyBub3Qgc2V0CiBDT05GSUdfSU5FVF9ESUFHPXkKIENPTkZJR19JTkVUX1RDUF9ESUFHPXkKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCiAjIENPTkZJR19UQ1BfTUQ1U0lHIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQVjYgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfVFVOTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19JUFY2PW0KK0NPTkZJR19JUFY2X1BSSVZBQ1k9eQorQ09ORklHX0lQVjZfUk9VVEVSX1BSRUY9eQorIyBDT05GSUdfSVBWNl9ST1VURV9JTkZPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVjZfT1BUSU1JU1RJQ19EQUQgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X0FIPW0KK0NPTkZJR19JTkVUNl9FU1A9bQorQ09ORklHX0lORVQ2X0lQQ09NUD1tCitDT05GSUdfSVBWNl9NSVA2PW0KK0NPTkZJR19JTkVUNl9YRlJNX1RVTk5FTD1tCitDT05GSUdfSU5FVDZfVFVOTkVMPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfVFVOTkVMPW0KK0NPTkZJR19JTkVUNl9YRlJNX01PREVfQkVFVD1tCitDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1JWkFUSU9OPW0KK0NPTkZJR19JUFY2X1NJVD1tCitDT05GSUdfSVBWNl9ORElTQ19OT0RFVFlQRT15CitDT05GSUdfSVBWNl9UVU5ORUw9bQorIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAorIyBDT05GSUdfSVBWNl9NUk9VVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgRENDUCBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwpCi0jCiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKLQotIwotIyBTQ1RQIENvbmZpZ3VyYXRpb24gKEVYUEVSSU1FTlRBTCkKLSMKICMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAotCi0jCi0jIFRJUEMgQ29uZmlndXJhdGlvbiAoRVhQRVJJTUVOVEFMKQotIwogIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVE0gaXMgbm90IHNldAogIyBDT05GSUdfQlJJREdFIGlzIG5vdCBzZXQKQEAgLTM3MywyMCArNDI4LDcxIEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1NDSF9GSUZPPXkKIAogIwogIyBOZXR3b3JrIHRlc3RpbmcKICMKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotIyBDT05GSUdfQlQgaXMgbm90IHNldAorQ09ORklHX0JUPW0KK0NPTkZJR19CVF9MMkNBUD1tCitDT05GSUdfQlRfU0NPPW0KK0NPTkZJR19CVF9SRkNPTU09bQorQ09ORklHX0JUX1JGQ09NTV9UVFk9eQorQ09ORklHX0JUX0JORVA9bQorQ09ORklHX0JUX0JORVBfTUNfRklMVEVSPXkKK0NPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUj15CitDT05GSUdfQlRfSElEUD1tCisKKyMKKyMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCisjCitDT05GSUdfQlRfSENJVVNCPW0KK0NPTkZJR19CVF9IQ0lVU0JfU0NPPXkKK0NPTkZJR19CVF9IQ0lVQVJUPW0KK0NPTkZJR19CVF9IQ0lVQVJUX0g0PXkKK0NPTkZJR19CVF9IQ0lVQVJUX0JDU1A9eQorQ09ORklHX0JUX0hDSVVBUlRfTEw9eQorQ09ORklHX0JUX0hDSUJDTTIwM1g9bQorQ09ORklHX0JUX0hDSUJQQTEwWD1tCitDT05GSUdfQlRfSENJQkZVU0I9bQorQ09ORklHX0JUX0hDSVZIQ0k9bQorIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorCisjCisjIFdpcmVsZXNzCisjCitDT05GSUdfQ0ZHODAyMTE9bQorQ09ORklHX05MODAyMTE9eQorQ09ORklHX1dJUkVMRVNTX0VYVD15CitDT05GSUdfTUFDODAyMTE9bQorCisjCisjIFJhdGUgY29udHJvbCBhbGdvcml0aG0gc2VsZWN0aW9uCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9OT05FIGlzIG5vdCBzZXQKKworIworIyBTZWxlY3RpbmcgJ3knIGZvciBhbiBhbGdvcml0aG0gd2lsbAorIworCisjCisjIGJ1aWxkIHRoZSBhbGdvcml0aG0gaW50byBtYWM4MDIxMS4KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJwaWQiCitDT05GSUdfTUFDODAyMTFfUkNfUElEPXkKK0NPTkZJR19NQUM4MDIxMV9NRVNIPXkKK0NPTkZJR19NQUM4MDIxMV9MRURTPXkKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHX1BBQ0tFVF9BTElHTk1FTlQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDODAyMTFfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zOTUsMjEgKzUwMSwxNCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotIyBDT05GSUdfRldfTE9BREVSIGlzIG5vdCBzZXQKK0NPTkZJR19GV19MT0FERVI9bQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKLQotIwotIyBNZW1vcnkgVGVjaG5vbG9neSBEZXZpY2VzIChNVEQpCi0jCiBDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKQEAgLTQyMCw2ICs1MTksNyBAQAogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFNfUkVBRE9OTFkgaXMgbm90IHNldAogQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FSN19QQVJUUyBpcyBub3Qgc2V0CiAKICMKICMgVXNlciBNb2R1bGVzIEFuZCBUcmFuc2xhdGlvbiBMYXllcnMKQEAgLTQzMiw2ICs1MzIsNyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKQEAgLTQ1Nyw3ICs1NTgsNiBAQAogIyBDT05GSUdfTVREX1JBTSBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1JPTT15CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9PQlNPTEVURV9DSElQUyBpcyBub3Qgc2V0CiAKICMKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwpAQCAtNDg2LDEzICs1ODYsMTAgQEAKICMgQ09ORklHX01URF9ET0MyMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9ET0MyMDAxUExVUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTkFORCBGbGFzaCBEZXZpY2UgRHJpdmVycwotIwogQ09ORklHX01URF9OQU5EPXkKICMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX01VU0VVTV9JRFMgaXMgbm90IHNldAogQ09ORklHX01URF9OQU5EX0lEUz15CiBDT05GSUdfTVREX05BTkRfUzNDMjQxMD15CiAjIENPTkZJR19NVERfTkFORF9TM0MyNDEwX0RFQlVHIGlzIG5vdCBzZXQKQEAgLTUwMCwzMCArNTk3LDI1IEBACiAjIENPTkZJR19NVERfTkFORF9TM0MyNDEwX0NMS1NUT1AgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9OQU5EU0lNIGlzIG5vdCBzZXQKLQotIwotIyBPbmVOQU5EIEZsYXNoIERldmljZSBEcml2ZXJzCi0jCisjIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQUxBVURBIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9PTkVOQU5EIGlzIG5vdCBzZXQKIAogIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKKyMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCisjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKIENPTkZJR19QQVJQT1JUPXkKLSMgQ09ORklHX1BBUlBPUlRfUEMgaXMgbm90IHNldAorQ09ORklHX1BBUlBPUlRfUEM9bQorIyBDT05GSUdfUEFSUE9SVF9QQ19GSUZPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUlBPUlRfUENfU1VQRVJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVJQT1JUX0dTQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVJQT1JUX0FYODg3OTYgaXMgbm90IHNldAorQ09ORklHX1BBUlBPUlRfQVg4ODc5Nj1tCiBDT05GSUdfUEFSUE9SVF8xMjg0PXkKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKK0NPTkZJR19QQVJQT1JUX05PVF9QQz15CiAjIENPTkZJR19QTlAgaXMgbm90IHNldAotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQorIyBDT05GSUdfUEFSSURFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CkBAIC01MzIsMzQgKzYyNCwzNCBAQAogQ09ORklHX0JMS19ERVZfUkFNPXkKIENPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgogQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9NDA5NgotQ09ORklHX0JMS19ERVZfUkFNX0JMT0NLU0laRT0xMDI0CisjIENPTkZJR19CTEtfREVWX1hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19DRFJPTV9QS1RDRFZEIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfT1ZFUl9FVEg9bQotCi0jCi0jIEFUQS9BVEFQSS9NRk0vUkxMIHN1cHBvcnQKLSMKK0NPTkZJR19NSVNDX0RFVklDRVM9eQorIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQ0xPU1VSRV9TRVJWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQogQ09ORklHX0lERT15CiBDT05GSUdfQkxLX0RFVl9JREU9eQogCiAjCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcworIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlL2lkZS50eHQgZm9yIGhlbHAvaW5mbyBvbiBJREUgZHJpdmVzCiAjCiAjIENPTkZJR19CTEtfREVWX0lERV9TQVRBIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lERURJU0s9eQogIyBDT05GSUdfSURFRElTS19NVUxUSV9NT0RFIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0lERUNEPXkKK0NPTkZJR19CTEtfREVWX0lERUNEX1ZFUkJPU0VfRVJST1JTPXkKIENPTkZJR19CTEtfREVWX0lERVRBUEU9bQogQ09ORklHX0JMS19ERVZfSURFRkxPUFBZPW0KKyMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0CiAjIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0CitDT05GSUdfSURFX1BST0NfRlM9eQogCiAjCiAjIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKICMKLUNPTkZJR19JREVfR0VORVJJQz15Ci0jIENPTkZJR19JREVfQVJNIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERV9CQVNUPXkKLSMgQ09ORklHX0lERV9DSElQU0VUUyBpcyBub3Qgc2V0CisjIENPTkZJR19CTEtfREVWX1BMQVRGT1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSURFRE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSEQgaXMgbm90IHNldAogCkBAIC01NjcsMTAxICs2NTksMTE5IEBACiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0CitDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQorQ09ORklHX1NDU0lfVEdUPW0KICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwotIyBTZXJpYWwgQVRBIChwcm9kKSBhbmQgUGFyYWxsZWwgQVRBIChleHBlcmltZW50YWwpIGRyaXZlcnMKKyMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKICMKK0NPTkZJR19CTEtfREVWX1NEPXkKK0NPTkZJR19DSFJfREVWX1NUPW0KKyMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUj1tCitDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1I9eQorQ09ORklHX0NIUl9ERVZfU0c9eQorQ09ORklHX0NIUl9ERVZfU0NIPW0KKworIworIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKKyMKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CitDT05GSUdfU0NTSV9DT05TVEFOVFM9eQorIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1NDQU5fQVNZTkM9eQorQ09ORklHX1NDU0lfV0FJVF9TQ0FOPW0KKworIworIyBTQ1NJIFRyYW5zcG9ydHMKKyMKKyMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfTE9XTEVWRUw9eQorIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQUhBMTUyWCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0FJQzdYWFhfT0xEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfQURWQU5TWVMgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9JTjIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9EVEMzMjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfRlVUVVJFX0RPTUFJTiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0dFTkVSSUNfTkNSNTM4MCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0dFTkVSSUNfTkNSNTM4MF9NTUlPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfUFBBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSU1NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkNSNTNDNDA2QSBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1BBUzE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfUUxPR0lDX0ZBUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NZTTUzQzQxNiBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1QxMjggaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCitDT05GSUdfSEFWRV9QQVRBX1BMQVRGT1JNPXkKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCi0jIENPTkZJR19GVVNJT04gaXMgbm90IHNldAotCi0jCi0jIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKLSMKLQotIwotIyBJMk8gZGV2aWNlIHN1cHBvcnQKLSMKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotCi0jCi0jIEFSQ25ldCBkZXZpY2VzCi0jCisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0Ci0KLSMKLSMgUEhZIGRldmljZSBzdXBwb3J0Ci0jCiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldAotCi0jCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQotIwogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9WRU5ET1JfU01DIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQzkxWCBpcyBub3Qgc2V0CiBDT05GSUdfRE05MDAwPXkKKyMgQ09ORklHX0VOQzI4SjYwIGlzIG5vdCBzZXQKK0NPTkZJR19ETTkwMDBfREVCVUdMRVZFTD00CiAjIENPTkZJR19ORVRfVkVORE9SX1JBQ0FMIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUMTcwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVBDQSBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9DS0VUIGlzIG5vdCBzZXQKLQotIwotIyBFdGhlcm5ldCAoMTAwMCBNYml0KQotIwotCi0jCi0jIEV0aGVybmV0ICgxMDAwMCBNYml0KQotIwotCi0jCi0jIFRva2VuIFJpbmcgZGV2aWNlcwotIworQ09ORklHX05FVERFVl8xMDAwPXkKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogIyBDT05GSUdfVFIgaXMgbm90IHNldAogCiAjCi0jIFdpcmVsZXNzIExBTiAobm9uLWhhbXJhZGlvKQorIyBXaXJlbGVzcyBMQU4KICMKLSMgQ09ORklHX05FVF9SQURJTyBpcyBub3Qgc2V0CisjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKIAogIwotIyBXYW4gaW50ZXJmYWNlcworIyBVU0IgTmV0d29yayBBZGFwdGVycwogIworIyBDT05GSUdfVVNCX0NBVEMgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19QTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC02NjksNiArNzc5LDcgQEAKICMKIENPTkZJR19JTlBVVD15CiAjIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAogCiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKQEAgLTY3OCw3ICs3ODksNiBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkRFViBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9FVkJVRyBpcyBub3Qgc2V0CiAKQEAgLTY5NSwxMiArODA1LDIxIEBACiAjIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9NT1VTRT15CiBDT05GSUdfTU9VU0VfUFMyPXkKK0NPTkZJR19NT1VTRV9QUzJfQUxQUz15CitDT05GSUdfTU9VU0VfUFMyX0xPR0lQUzJQUD15CitDT05GSUdfTU9VU0VfUFMyX1NZTkFQVElDUz15CitDT05GSUdfTU9VU0VfUFMyX0xJRkVCT09LPXkKK0NPTkZJR19NT1VTRV9QUzJfVFJBQ0tQT0lOVD15CisjIENPTkZJR19NT1VTRV9QUzJfVE9VQ0hLSVQgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PVVNFX0FQUExFVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfSU5QT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX0xPR0lCTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9QQzExMFBBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PVVNFX0dQSU8gaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCkBAIC03MjEsNiArODQwLDcgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiBDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEPXkKICMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ST0NLRVRQT1JUIGlzIG5vdCBzZXQKQEAgLTcyOCw4ICs4NDgsNiBAQAogIyBDT05GSUdfRElHSUVQQ0EgaXMgbm90IHNldAogIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1hBX1NNQVJUSU8gaXMgbm90IHNldAotIyBDT05GSUdfTU9YQV9TTUFSVElPX05FVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TWU5DTElOS01QIGlzIG5vdCBzZXQKICMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0CiAjIENPTkZJR19SSVNDT004IGlzIG5vdCBzZXQKICMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CkBAIC03NTgsOCArODc2LDEyIEBACiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKICMKK0NPTkZJR19TRVJJQUxfU0FNU1VORz15CisjIENPTkZJR19TRVJJQUxfU0FNU1VOR19ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRT15CiBDT05GSUdfU0VSSUFMX1MzQzI0MTA9eQotQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEU9eQorQ09ORklHX1NFUklBTF9TM0MyNDEyPXkKK0NPTkZJR19TRVJJQUxfUzNDMjQ0MD15CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKQEAgLTc2OCwxNiArODkwLDEzOSBAQAogQ09ORklHX1BSSU5URVI9eQogIyBDT05GSUdfTFBfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfUFBERVY9eQotIyBDT05GSUdfVElQQVIgaXMgbm90IHNldAotCi0jCi0jIElQTUkKLSMKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0CitDT05GSUdfSFdfUkFORE9NPXkKKyMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RUTEsgaXMgbm90IHNldAorIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAorIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CisjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKK0NPTkZJR19ERVZQT1JUPXkKK0NPTkZJR19JMkM9eQorQ09ORklHX0kyQ19CT0FSRElORk89eQorQ09ORklHX0kyQ19DSEFSREVWPW0KK0NPTkZJR19JMkNfQUxHT0JJVD15CiAKICMKLSMgV2F0Y2hkb2cgQ2FyZHMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfRUxFS1RPUiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfUzNDMjQxMD15CitDT05GSUdfSTJDX1NJTVRFQz15CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfSVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0VFUFJPTT1tCisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKKworIworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycworIworQ09ORklHX1NQSV9CSVRCQU5HPW0KKyMgQ09ORklHX1NQSV9CVVRURVJGTFkgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX0xNNzBfTExQIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfUzNDMjRYWD1tCitDT05GSUdfU1BJX1MzQzI0WFhfR1BJTz1tCisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAorQ09ORklHX0hBVkVfR1BJT19MSUI9eQorCisjCisjIEdQSU8gU3VwcG9ydAorIworIyBDT05GSUdfREVCVUdfR1BJTyBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19QQ0E5NTNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0dQSU9fUENGODU3WCBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIEdQSU8gZXhwYW5kZXJzOgorIworIyBDT05GSUdfR1BJT19NQ1AyM1MwOCBpcyBub3Qgc2V0CisjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAorQ09ORklHX0hXTU9OPXkKK0NPTkZJR19IV01PTl9WSUQ9bQorIyBDT05GSUdfU0VOU09SU19BRDc0MTggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAyNSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTEwMjYgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRE0xMDI5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURNMTAzMSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FETTkyNDAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19BRFQ3NDcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0Y3MTg4MkZHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRjc1Mzc1UyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0dMNTE4U00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTcwIGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0xNNzU9bQorIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKK0NPTkZJR19TRU5TT1JTX0xNNzg9bQorIyBDT05GSUdfU0VOU09SU19MTTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0CitDT05GSUdfU0VOU09SU19MTTg1PW0KKyMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTE05MyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDE2MTkgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2NjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDODc0MjcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19ETUUxNzM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0FEUzc4MjggaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19USE1DNTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19WVDEyMTEgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3ODFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVzgzNzkxRCBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM3OTMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg1VFMgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19XODM2MjdIRiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1c4MzYyN0VIRiBpcyBub3Qgc2V0CisjIENPTkZJR19IV01PTl9ERUJVR19DSElQIGlzIG5vdCBzZXQKIENPTkZJR19XQVRDSERPRz15CiAjIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qgc2V0CiAKQEAgLTc5OCwxNzkgKzEwNDMsNTQgQEAKICMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCiAjCiAjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009eQotIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAotIyBDT05GSUdfRFRMSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKIAogIwotIyBUUE0gZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKLSMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAotCi0jCi0jIEkyQyBzdXBwb3J0Ci0jCi1DT05GSUdfSTJDPXkKLUNPTkZJR19JMkNfQ0hBUkRFVj1tCi0KLSMKLSMgSTJDIEFsZ29yaXRobXMKLSMKLUNPTkZJR19JMkNfQUxHT0JJVD1tCi0jIENPTkZJR19JMkNfQUxHT1BDRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfQUxHT1BDQSBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0Ci0jCi0jIENPTkZJR19JMkNfRUxFS1RPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfT0NPUkVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19QQVJQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUIGlzIG5vdCBzZXQKLUNPTkZJR19JMkNfUzNDMjQxMD15Ci0jIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JMkNfUENBX0lTQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0Ci0jCi0jIENPTkZJR19TRU5TT1JTX0RTMTMzNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0RTMTM3NCBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19FRVBST009bQotIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfUENBOTUzOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKLSMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAotIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAotCi0jCi0jIFNQSSBzdXBwb3J0Ci0jCi1DT05GSUdfU1BJPXkKLSMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfU1BJX01BU1RFUj15Ci0KLSMKLSMgU1BJIE1hc3RlciBDb250cm9sbGVyIERyaXZlcnMKLSMKLUNPTkZJR19TUElfQklUQkFORz1tCi0jIENPTkZJR19TUElfQlVUVEVSRkxZIGlzIG5vdCBzZXQKLUNPTkZJR19TUElfUzNDMjRYWD1tCi1DT05GSUdfU1BJX1MzQzI0WFhfR1BJTz1tCi0KLSMKLSMgU1BJIFByb3RvY29sIE1hc3RlcnMKLSMKLSMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKLQotIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCi0jCi0jIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgTW9uaXRvcmluZyBzdXBwb3J0Ci0jCi1DT05GSUdfSFdNT049eQotQ09ORklHX0hXTU9OX1ZJRD1tCi0jIENPTkZJR19TRU5TT1JTX0FCSVRVR1VSVSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDI1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FETTEwMjkgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19BRE0xMDMxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FTQjEwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0FUWFAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRFMxNjIxIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfRjcxODA1RiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0ZTQ0hFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0ZTQ1BPUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0dMNTE4U00gaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNNjMgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTcwIGlzIG5vdCBzZXQKLUNPTkZJR19TRU5TT1JTX0xNNzU9bQotIyBDT05GSUdfU0VOU09SU19MTTc3IGlzIG5vdCBzZXQKLUNPTkZJR19TRU5TT1JTX0xNNzg9bQotIyBDT05GSUdfU0VOU09SU19MTTgwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTE04MyBpcyBub3Qgc2V0Ci1DT05GSUdfU0VOU09SU19MTTg1PW0KLSMgQ09ORklHX1NFTlNPUlNfTE04NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX0xNOTAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19MTTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfTUFYMTYxOSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1BDODczNjAgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19QQzg3NDI3IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19TTVNDNDdNMTkyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfU01TQzQ3QjM5NyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1ZUMTIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc4MUQgaXMgbm90IHNldAotIyBDT05GSUdfU0VOU09SU19XODM3OTFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNzkyRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4M0w3ODVUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFTlNPUlNfVzgzNjI3RUhGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hXTU9OX0RFQlVHX0NISVAgaXMgbm90IHNldAotCi0jCi0jIE1pc2MgZGV2aWNlcwotIworQ09ORklHX1NTQl9QT1NTSUJMRT15CisjIENPTkZJR19TU0IgaXMgbm90IHNldAogCiAjCiAjIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKICMKLSMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRldmljZXMKLSMKLUNPTkZJR19ORVdfTEVEUz15Ci1DT05GSUdfTEVEU19DTEFTUz1tCi0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLUNPTkZJR19MRURTX1MzQzI0WFg9bQotQ09ORklHX0xFRFNfSDE5NDA9bQotCi0jCi0jIExFRCBUcmlnZ2VycwotIwotQ09ORklHX0xFRFNfVFJJR0dFUlM9eQotQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUj1tCi0jIENPTkZJR19MRURTX1RSSUdHRVJfSURFX0RJU0sgaXMgbm90IHNldAotQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9bQorQ09ORklHX01GRF9TTTUwMT15CisjIENPTkZJR19NRkRfQVNJQzMgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX0VHUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIwotIyBDT05GSUdfVklERU9fREVWIGlzIG5vdCBzZXQKIAogIwotIyBEaWdpdGFsIFZpZGVvIEJyb2FkY2FzdGluZyBEZXZpY2VzCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CiAjCi0jIENPTkZJR19EVkIgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0RBQlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAorIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAogQ09ORklHX0ZCPXkKIENPTkZJR19GSVJNV0FSRV9FRElEPXkKICMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKIENPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQogQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQorIyBDT05GSUdfRkJfQ0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfRk9SRUlHTl9FTkRJQU4gaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9NQUNNT0RFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9CQUNLTElHSFQgaXMgbm90IHNldApAQCAtOTc4LDEyICsxMDk4LDE5IEBACiAjIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAogCiAjCi0jIEZyYW1idWZmZXIgaGFyZHdhcmUgZHJpdmVycworIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwogIwogIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAogQ09ORklHX0ZCX1MzQzI0MTA9eQogIyBDT05GSUdfRkJfUzNDMjQxMF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfRkJfU001MDE9eQogIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorCisjCisjIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CkBAIC05OTIsNjggKzExMTksMjEgQEAKICMgQ09ORklHX01EQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKKyMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfREVURUNUX1BSSU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRV9ST1RBVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GT05UUyBpcyBub3Qgc2V0CiBDT05GSUdfRk9OVF84eDg9eQogQ09ORklHX0ZPTlRfOHgxNj15Ci0KLSMKLSMgTG9nbyBjb25maWd1cmF0aW9uCi0jCiAjIENPTkZJR19MT0dPIGlzIG5vdCBzZXQKIAogIwogIyBTb3VuZAogIwogIyBDT05GSUdfU09VTkQgaXMgbm90IHNldAotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIFVTQiBzdXBwb3J0Ci0jCi1DT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15Ci1DT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQotIyBDT05GSUdfVVNCX0FSQ0hfSEFTX0VIQ0kgaXMgbm90IHNldAotQ09ORklHX1VTQj15Ci0jIENPTkZJR19VU0JfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKLSMKLUNPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAotCi0jCi0jIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwotIwotIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKLUNPTkZJR19VU0JfT0hDSV9IQ0Q9eQotIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0Ci1DT05GSUdfVVNCX09IQ0lfTElUVExFX0VORElBTj15Ci0jIENPTkZJR19VU0JfU0w4MTFfSENEIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKLSMKLSMgQ09ORklHX1VTQl9BQ00gaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1BSSU5URVIgaXMgbm90IHNldAotCi0jCi0jIE5PVEU6IFVTQl9TVE9SQUdFIGVuYWJsZXMgU0NTSSwgYW5kICdTQ1NJIGRpc2sgc3VwcG9ydCcKLSMKLQotIwotIyBtYXkgYWxzbyBiZSBuZWVkZWQ7IHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uCi0jCi0jIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwpAQCAtMTA2NSw0NSArMTE0NSwxMjIgQEAKICMKICMgQ09ORklHX1VTQl9LQkQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01PVVNFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BSVBURUsgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1dBQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BQ0VDQUQgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0tCVEFCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9QT1dFUk1BVEUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ZRUFMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9YUEFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BVElfUkVNT1RFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9BVElfUkVNT1RFMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0FQUExFVE9VQ0ggaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0dUQ08gaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKK0NPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKK0NPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CisjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CitDT05GSUdfVVNCPXkKKyMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKKyMKK0NPTkZJR19VU0JfREVWSUNFRlM9eQorQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1M9eQorIyBDT05GSUdfVVNCX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVVNQRU5EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEcgaXMgbm90IHNldAorCisjCisjIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIworIyBDT05GSUdfVVNCX0M2N1gwMF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDExNlhfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9JU1AxNzYwX0hDRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX09IQ0lfSENEPXkKKyMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAorQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQorIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKKworIworIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKKyMKK0NPTkZJR19VU0JfQUNNPW0KK0NPTkZJR19VU0JfUFJJTlRFUj1tCitDT05GSUdfVVNCX1dETT1tCisKKyMKKyMgTk9URTogVVNCX1NUT1JBR0UgZW5hYmxlcyBTQ1NJLCBhbmQgJ1NDU0kgZGlzayBzdXBwb3J0JworIworCisjCisjIG1heSBhbHNvIGJlIG5lZWRlZDsgc2VlIFVTQl9TVE9SQUdFIEhlbHAgZm9yIG1vcmUgaW5mb3JtYXRpb24KKyMKK0NPTkZJR19VU0JfU1RPUkFHRT1tCisjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xJQlVTVUFMPXkKIAogIwogIyBVU0IgSW1hZ2luZyBkZXZpY2VzCiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgTmV0d29yayBBZGFwdGVycwotIwotIyBDT05GSUdfVVNCX0NBVEMgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0tBV0VUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVHQVNVUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUlRMODE1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUX01JSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfVVNCTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX01PTj15CiAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwogIyBDT05GSUdfVVNCX1VTUzcyMCBpcyBub3Qgc2V0Ci0KLSMKLSMgVVNCIFNlcmlhbCBDb252ZXJ0ZXIgc3VwcG9ydAotIwotIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NFUklBTD15CisjIENPTkZJR19VU0JfU0VSSUFMX0NPTlNPTEUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0VaVVNCIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX0dFTkVSSUM9eQorIyBDT05GSUdfVVNCX1NFUklBTF9BSVJDQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0FJUlBSSU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQVJLMzExNiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0JFTEtJTiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0NIMzQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfV0hJVEVIRUFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRElHSV9BQ0NFTEVQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ1AyMTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ1lQUkVTU19NOCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0VNUEVHIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX0ZURElfU0lPPXkKKyMgQ09ORklHX1VTQl9TRVJJQUxfRlVOU09GVCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1ZJU09SIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSVBBUSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVF9USSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0dBUk1JTiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lQVyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0lVVSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fUERBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX0tMU0kgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9LT0JJTF9TQ1QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NQ1RfVTIzMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX01PUzc3MjAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9NT1M3ODQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfTU9UT1JPTEEgaXMgbm90IHNldAorQ09ORklHX1VTQl9TRVJJQUxfTkFWTUFOPW0KK0NPTkZJR19VU0JfU0VSSUFMX1BMMjMwMz15CisjIENPTkZJR19VU0JfU0VSSUFMX09USTY4NTggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9TUENQOFg1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfSFA0WCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1NBRkUgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9TSUVSUkFXSVJFTEVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU0VSSUFMX1RJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfQ1lCRVJKQUNLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TRVJJQUxfWElSQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfU0VSSUFMX09QVElPTj1tCisjIENPTkZJR19VU0JfU0VSSUFMX09NTklORVQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NFUklBTF9ERUJVRyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE1pc2NlbGxhbmVvdXMgZHJpdmVycwpAQCAtMTExNiwzNSArMTI3MywzOCBAQAogIyBDT05GSUdfVVNCX0xFR09UT1dFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTENEIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9CRVJSWV9DSEFSR0UgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xFRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xFRD1tCiAjIENPTkZJR19VU0JfQ1lQUkVTU19DWTdDNjMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0NZVEhFUk0gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BISURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX0ZURElfRUxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfQVBQTEVESVNQTEFZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9MRCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0xEPW0KICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKKyMgQ09ORklHX1VTQl9JU0lHSFRGVyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKLQotIwotIyBNTUMvU0QgQ2FyZCBzdXBwb3J0Ci0jCiAjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPW0KIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgTEVEIGRyaXZlcnMKICMKK0NPTkZJR19MRURTX1MzQzI0WFg9bQorQ09ORklHX0xFRFNfSDE5NDA9bQorIyBDT05GSUdfTEVEU19HUElPIGlzIG5vdCBzZXQKKworIworIyBMRUQgVHJpZ2dlcnMKKyMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKK0NPTkZJR19MRURTX1RSSUdHRVJfVElNRVI9bQorIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPW0KKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExNTgsNjEgKzEzMTgsODYgQEAKIENPTkZJR19SVENfSU5URl9QUk9DPXkKIENPTkZJR19SVENfSU5URl9ERVY9eQogIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKLSMgUlRDIGRyaXZlcnMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRk0zMTMwIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKyMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1I5NzAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM0OCBpcyBub3Qgc2V0CisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKICMKICMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9SUzVDMzQ4IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9TM0M9eQorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CiAjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfVjMwMjAgaXMgbm90IHNldAogCiAjCisjIG9uLUNQVSBSVEMgZHJpdmVycworIworQ09ORklHX1JUQ19EUlZfUzNDPXkKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CisKKyMKICMgRmlsZSBzeXN0ZW1zCiAjCiBDT05GSUdfRVhUMl9GUz15Ci0jIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQyX0ZTX1hBVFRSPXkKK0NPTkZJR19FWFQyX0ZTX1BPU0lYX0FDTD15CitDT05GSUdfRVhUMl9GU19TRUNVUklUWT15CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15CiBDT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CitDT05GSUdfRVhUM19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfUk9NRlNfRlM9eQorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15CiAjIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0FDTD15CiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwogIwotIyBDT05GSUdfSVNPOTY2MF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VREZfRlMgaXMgbm90IHNldAorQ09ORklHX0lTTzk2NjBfRlM9eQorQ09ORklHX0pPTElFVD15CisjIENPTkZJR19aSVNPRlMgaXMgbm90IHNldAorQ09ORklHX1VERl9GUz1tCitDT05GSUdfVURGX05MUz15CiAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwpAQCAtMTIyMiw3ICsxNDA3LDkgQEAKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKLSMgQ09ORklHX05URlNfRlMgaXMgbm90IHNldAorQ09ORklHX05URlNfRlM9bQorIyBDT05GSUdfTlRGU19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19OVEZTX1JXIGlzIG5vdCBzZXQKIAogIwogIyBQc2V1ZG8gZmlsZXN5c3RlbXMKQEAgLTEyMzAsMTAgKzE0MTcsMTAgQEAKIENPTkZJR19QUk9DX0ZTPXkKIENPTkZJR19QUk9DX1NZU0NUTD15CiBDT05GSUdfU1lTRlM9eQotIyBDT05GSUdfVE1QRlMgaXMgbm90IHNldAorQ09ORklHX1RNUEZTPXkKK0NPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15Ci0jIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfQ09ORklHRlNfRlM9bQogCiAjCiAjIE1pc2NlbGxhbmVvdXMgZmlsZXN5c3RlbXMKQEAgLTEyNDgsMzEgKzE0MzUsMzIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLSMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1NVTU1BUlk9eQogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKIENPTkZJR19DUkFNRlM9eQogIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IUEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CitDT05GSUdfUk9NRlNfRlM9eQogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCitDT05GSUdfTkVUV09SS19GSUxFU1lTVEVNUz15CiBDT05GSUdfTkZTX0ZTPXkKICMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKKyMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAogIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAogIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKQEAgLTEyODAsNyArMTQ2OCw2IEBACiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwpAQCAtMTMwMiw5NCArMTQ4OSw5MyBAQAogIyBDT05GSUdfU1VOX1BBUlRJVElPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LQVJNQV9QQVJUSVRJT04gaXMgbm90IHNldAogIyBDT05GSUdfRUZJX1BBUlRJVElPTiBpcyBub3Qgc2V0Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKLSMgQ09ORklHX05MU19DT0RFUEFHRV80MzcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODYxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODY5IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85MzYgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfOTMyIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV85NDkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV84IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV8xIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzIgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19JU084ODU5XzkgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19VVEY4IGlzIG5vdCBzZXQKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKK0NPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKK0NPTkZJR19OTFNfQ09ERVBBR0VfNzM3PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfNzc1PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUyPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODU1PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODU3PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYwPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYxPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYyPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODYzPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY0PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY1PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY2PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODY5PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTM2PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTUwPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTMyPW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfOTQ5PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfODc0PW0KK0NPTkZJR19OTFNfSVNPODg1OV84PW0KK0NPTkZJR19OTFNfQ09ERVBBR0VfMTI1MD1tCitDT05GSUdfTkxTX0NPREVQQUdFXzEyNTE9bQorQ09ORklHX05MU19BU0NJST15CitDT05GSUdfTkxTX0lTTzg4NTlfMT15CitDT05GSUdfTkxTX0lTTzg4NTlfMj1tCitDT05GSUdfTkxTX0lTTzg4NTlfMz1tCitDT05GSUdfTkxTX0lTTzg4NTlfND1tCitDT05GSUdfTkxTX0lTTzg4NTlfNT1tCitDT05GSUdfTkxTX0lTTzg4NTlfNj1tCitDT05GSUdfTkxTX0lTTzg4NTlfNz1tCitDT05GSUdfTkxTX0lTTzg4NTlfOT1tCitDT05GSUdfTkxTX0lTTzg4NTlfMTM9bQorQ09ORklHX05MU19JU084ODU5XzE0PW0KK0NPTkZJR19OTFNfSVNPODg1OV8xNT1tCitDT05GSUdfTkxTX0tPSThfUj1tCitDT05GSUdfTkxTX0tPSThfVT1tCitDT05GSUdfTkxTX1VURjg9bQogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKIAogIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKLQotIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKK0NPTkZJR19GUkFNRV9XQVJOPTEwMjQKIENPTkZJR19NQUdJQ19TWVNSUT15CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTYKIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19PQkpFQ1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfUlRfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19SVF9NVVRFWF9URVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0sgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX01VVEVYRVM9eQorIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CisjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiBDT05GSUdfREVCVUdfSU5GTz15CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19XUklURUNPVU5UIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfU0cgaXMgbm90IHNldAogQ09ORklHX0ZSQU1FX1BPSU5URVI9eQotQ09ORklHX0ZPUkNFRF9JTkxJTklORz15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBQ0tUUkFDRV9TRUxGX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotIyBDT05GSUdfREVCVUdfRVJST1JTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19FUlJPUlM9eQorIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfUzNDX1BPUlQ9eQpAQCAtMTQwMCwyMSArMTU4NiwxMDAgQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUTz15CiAKICMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgogIwotIyBDT05GSUdfQ1JZUFRPIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQUxHQVBJPW0KK0NPTkZJR19DUllQVE9fQUVBRD1tCitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCitDT05GSUdfQ1JZUFRPX0hBU0g9bQorQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVVUSEVOQz1tCisjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0CisKKyMKKyMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNzb2NpYXRlZCBEYXRhCisjCisjIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUUlWIGlzIG5vdCBzZXQKKworIworIyBCbG9jayBtb2RlcworIworQ09ORklHX0NSWVBUT19DQkM9bQorIyBDT05GSUdfQ1JZUFRPX0NUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fRUNCPW0KKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIworQ09ORklHX0NSWVBUT19ITUFDPW0KKyMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKKworIworIyBEaWdlc3QKKyMKKyMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT1tCisjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19TSEExPW0KKyMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEdSMTkyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CisKKyMKKyMgQ2lwaGVycworIworQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fREVTPW0KKyMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKworIworIyBDb21wcmVzc2lvbgorIworQ09ORklHX0NSWVBUT19ERUZMQVRFPW0KKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKK0NPTkZJR19DUkNfSVRVX1Q9bQogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CitDT05GSUdfSEFTX0RNQT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9zYW05X2w5MjYwX2RlZmNvbmZpZwppbmRleCA0ODRkYzk3Li44Njg4MzYyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3NhbTlfbDkyNjBfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3Mvc2FtOV9sOTI2MF9kZWZjb25maWcKQEAgLTIxMSw3ICsyMTEsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX0haPTEwMAogIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3Mvc3BpdHpfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcKaW5kZXggYWE3YTAxMS4uN2Q1OWZiMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy9zcGl0el9kZWZjb25maWcKQEAgLTE2NCw3ICsxNjQsNiBAQAogIyBLZXJuZWwgRmVhdHVyZXMKICMKIENPTkZJR19QUkVFTVBUPXkKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy90Y3RfaGFtbWVyX2RlZmNvbmZpZwppbmRleCA1NzZiODMzLi4wN2RmYjk4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3RjdF9oYW1tZXJfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdGN0X2hhbW1lcl9kZWZjb25maWcKQEAgLTI0Nyw3ICsyNDcsNiBAQAogIwogIyBDT05GSUdfVElDS19PTkVTSE9UIGlzIG5vdCBzZXQKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MjAwCiAjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0RJU0NPTlRJR01FTV9FTkFCTEUgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy90cml6ZXBzNF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZwppbmRleCA2ZGI2MzkyLi44YjdhNDMxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3RyaXplcHM0X2RlZmNvbmZpZwpAQCAtMTk1LDcgKzE5NSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogQ09ORklHX1BSRUVNUFQ9eQotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2MF9kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA3MCUKY29weSBmcm9tIGFyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKY29weSB0byBhcmNoL2FybS9jb25maWdzL3VzYi1hOTI2MF9kZWZjb25maWcKaW5kZXggNmJlYTA5MC4uMzY4MGJkMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZworKysgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2MF9kZWZjb25maWcKQEAgLTEsMTMgKzEsMTMgQEAKICMKICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKLSMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yMgotIyBNb24gSnVsICA5IDE1OjE4OjIwIDIwMDcKKyMgTGludXgga2VybmVsIHZlcnNpb246IDIuNi4yNAorIyBUdWUgQXByIDE1IDExOjM5OjM1IDIwMDgKICMKIENPTkZJR19BUk09eQogQ09ORklHX1NZU19TVVBQT1JUU19BUE1fRU1VTEFUSU9OPXkKIENPTkZJR19HRU5FUklDX0dQSU89eQogQ09ORklHX0dFTkVSSUNfVElNRT15Ci0jIENPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTPXkKIENPTkZJR19NTVU9eQogIyBDT05GSUdfTk9fSU9QT1JUIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKQEAgLTIyLDQxICsyMiwzOCBAQAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19BUkNIX01URF9YSVA9eQogQ09ORklHX1ZFQ1RPUlNfQkFTRT0weGZmZmYwMDAwCiBDT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgogCiAjCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucworIyBHZW5lcmFsIHNldHVwCiAjCiBDT05GSUdfRVhQRVJJTUVOVEFMPXkKIENPTkZJR19CUk9LRU5fT05fU01QPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKLQotIwotIyBHZW5lcmFsIHNldHVwCi0jCi1DT05GSUdfTE9DQUxWRVJTSU9OPSItZW0teDI3MCIKK0NPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKLUNPTkZJR19TV0FQPXkKKyMgQ09ORklHX1NXQVAgaXMgbm90IHNldAogQ09ORklHX1NZU1ZJUEM9eQotIyBDT05GSUdfSVBDX05TIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDX1NZU0NUTD15CiAjIENPTkZJR19QT1NJWF9NUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVRTX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAorIyBDT05GSUdfUElEX05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xNwotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorIyBDT05GSUdfSUtDT05GSUcgaXMgbm90IHNldAorQ09ORklHX0xPR19CVUZfU0hJRlQ9MTQKKyMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfVVNFUl9TQ0hFRD15CisjIENPTkZJR19GQUlSX0NHUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lOSVRSRD15Ci1DT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgotQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKKyMgQ09ORklHX0JMS19ERVZfSU5JVFJEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKIENPTkZJR19TWVNDVEw9eQotQ09ORklHX0VNQkVEREVEPXkKKyMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQogQ09ORklHX0tBTExTWU1TPXkKQEAgLTcxLDQyICs2OCwzNSBAQAogQ09ORklHX0FOT05fSU5PREVTPXkKIENPTkZJR19FUE9MTD15CiBDT05GSUdfU0lHTkFMRkQ9eQotQ09ORklHX1RJTUVSRkQ9eQogQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKIENPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15CiBDT05GSUdfU0xBQj15CiAjIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1NMQUJJTkZPPXkKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAotCi0jCi0jIExvYWRhYmxlIG1vZHVsZSBzdXBwb3J0Ci0jCiBDT05GSUdfTU9EVUxFUz15CiBDT05GSUdfTU9EVUxFX1VOTE9BRD15Ci1DT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRD15CisjIENPTkZJR19NT0RVTEVfRk9SQ0VfVU5MT0FEIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFZFUlNJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX01PRFVMRV9TUkNWRVJTSU9OX0FMTCBpcyBub3Qgc2V0CiBDT05GSUdfS01PRD15Ci0KLSMKLSMgQmxvY2sgbGF5ZXIKLSMKIENPTkZJR19CTE9DSz15CiAjIENPTkZJR19MQkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19MU0YgaXMgbm90IHNldAorIyBDT05GSUdfQkxLX0RFVl9CU0cgaXMgbm90IHNldAogCiAjCiAjIElPIFNjaGVkdWxlcnMKICMKIENPTkZJR19JT1NDSEVEX05PT1A9eQogQ09ORklHX0lPU0NIRURfQVM9eQotQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQotQ09ORklHX0lPU0NIRURfQ0ZRPXkKKyMgQ09ORklHX0lPU0NIRURfREVBRExJTkUgaXMgbm90IHNldAorIyBDT05GSUdfSU9TQ0hFRF9DRlEgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfQVM9eQogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CkBAIC0xMjAsNyArMTEwLDcgQEAKICMgQ09ORklHX0FSQ0hfSU5URUdSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JFQUxWSUVXIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfVkVSU0FUSUxFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9BVDkxPXkKICMgQ09ORklHX0FSQ0hfQ0xQUzc1MDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTFBTNzExWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0NPMjg1IGlzIG5vdCBzZXQKQEAgLTEzOSw4ICsxMjksOSBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BOWDQwMDggaXMgbm90IHNldAotQ09ORklHX0FSQ0hfUFhBPXkKKyMgQ09ORklHX0FSQ0hfUFhBIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUlBDIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfU0ExMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfUzNDMjQxMCBpcyBub3Qgc2V0CkBAIC0xNTAsMjUgKzE0MSw2NiBAQAogIyBDT05GSUdfQVJDSF9PTUFQIGlzIG5vdCBzZXQKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEJvb3Qgb3B0aW9ucwogIwotIyBDT05GSUdfQVJDSF9MVUJCT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTE9HSUNQRF9QWEEyNzAgaXMgbm90IHNldAotIyBDT05GSUdfTUFDSF9NQUlOU1RPTkUgaXMgbm90IHNldAotIyBDT05GSUdfQVJDSF9QWEFfSURQIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BYQV9TSEFSUFNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfVFJJWkVQUzQgaXMgbm90IHNldAotQ09ORklHX01BQ0hfRU1fWDI3MD15Ci1DT05GSUdfUFhBMjd4PXkKKworIworIyBQb3dlciBtYW5hZ2VtZW50CisjCisKKyMKKyMgQXRtZWwgQVQ5MSBTeXN0ZW0tb24tQ2hpcAorIworIyBDT05GSUdfQVJDSF9BVDkxUk05MjAwIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0FUOTFTQU05MjYwPXkKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxU0FNOTI2MyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05UkwgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxQ0FQOSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFYNDAgaXMgbm90IHNldAorQ09ORklHX0FUOTFfUE1DX1VOSVQ9eQorCisjCisjIEFUOTFTQU05MjYwIFZhcmlhbnRzCisjCisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwX1NBTTlYRSBpcyBub3Qgc2V0CisKKyMKKyMgQVQ5MVNBTTkyNjAgLyBBVDkxU0FNOVhFIEJvYXJkIFR5cGUKKyMKKyMgQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjBFSyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIX0NBTTYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfU0FNOV9MOTI2MCBpcyBub3Qgc2V0CitDT05GSUdfTUFDSF9VU0JfQTkyNjA9eQorIyBDT05GSUdfTUFDSF9RSUxfQTkyNjAgaXMgbm90IHNldAorCisjCisjIEFUOTEgQm9hcmQgT3B0aW9ucworIworCisjCisjIEFUOTEgRmVhdHVyZSBTZWxlY3Rpb25zCisjCisjIENPTkZJR19BVDkxX1BST0dSQU1NQUJMRV9DTE9DS1MgaXMgbm90IHNldAorQ09ORklHX0FUOTFfU0xPV19DTE9DSz15CitDT05GSUdfQVQ5MV9USU1FUl9IWj0xMDAKK0NPTkZJR19BVDkxX0VBUkxZX0RCR1U9eQorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDAgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDEgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDIgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDMgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDQgaXMgbm90IHNldAorIyBDT05GSUdfQVQ5MV9FQVJMWV9VU0FSVDUgaXMgbm90IHNldAogCiAjCiAjIFByb2Nlc3NvciBUeXBlCiAjCiBDT05GSUdfQ1BVXzMyPXkKLUNPTkZJR19DUFVfWFNDQUxFPXkKK0NPTkZJR19DUFVfQVJNOTI2VD15CiBDT05GSUdfQ1BVXzMydjU9eQotQ09ORklHX0NQVV9BQlJUX0VWNVQ9eQorQ09ORklHX0NQVV9BQlJUX0VWNVRKPXkKIENPTkZJR19DUFVfQ0FDSEVfVklWVD15CitDT05GSUdfQ1BVX0NPUFlfVjRXQj15CiBDT05GSUdfQ1BVX1RMQl9WNFdCST15CiBDT05GSUdfQ1BVX0NQMTU9eQogQ09ORklHX0NQVV9DUDE1X01NVT15CkBAIC0xNzYsMjggKzIwOCwyOCBAQAogIwogIyBQcm9jZXNzb3IgRmVhdHVyZXMKICMKLUNPTkZJR19BUk1fVEhVTUI9eQorIyBDT05GSUdfQVJNX1RIVU1CIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9JQ0FDSEVfRElTQUJMRSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUFVfRENBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0RDQUNIRV9XUklURVRIUk9VR0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0NBQ0hFX1JPVU5EX1JPQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX09VVEVSX0NBQ0hFIGlzIG5vdCBzZXQKLUNPTkZJR19JV01NWFQ9eQotQ09ORklHX1hTQ0FMRV9QTVU9eQogCiAjCiAjIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19QQ0lfU1lTQ0FMTCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NVUFBPUlRTX01TSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAotIwogIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKICMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CisjIENPTkZJR19OT19IWiBpcyBub3Qgc2V0CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKIENPTkZJR19BRUFCST15CiBDT05GSUdfT0FCSV9DT01QQVQ9eQpAQCAtMjA5LDkgKzI0MSwxMyBAQAogQ09ORklHX0ZMQVRNRU09eQogQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKICMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorIyBDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVBfRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQorQ09ORklHX0JPVU5DRT15CitDT05GSUdfVklSVF9UT19CVVM9eQorIyBDT05GSUdfTEVEUyBpcyBub3Qgc2V0CiBDT05GSUdfQUxJR05NRU5UX1RSQVA9eQogCiAjCkBAIC0yMTksNyArMjU1LDcgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJtZW09NjRNIGNvbnNvbGU9dHR5UzAsMTE1MjAwIgogIyBDT05GSUdfWElQX0tFUk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVhFQyBpcyBub3Qgc2V0CiAKQEAgLTIzMyw2ICsyNjksNyBAQAogQ09ORklHX0ZQRV9OV0ZQRT15CiAjIENPTkZJR19GUEVfTldGUEVfWFAgaXMgbm90IHNldAogIyBDT05GSUdfRlBFX0ZBU1RGUEUgaXMgbm90IHNldAorIyBDT05GSUdfVkZQIGlzIG5vdCBzZXQKIAogIwogIyBVc2Vyc3BhY2UgYmluYXJ5IGZvcm1hdHMKQEAgLTI0NSwxMCArMjgyLDEyIEBACiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIwogQ09ORklHX1BNPXkKLUNPTkZJR19QTV9MRUdBQ1k9eQorIyBDT05GSUdfUE1fTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BNX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BNX1NZU0ZTX0RFUFJFQ0FURUQgaXMgbm90IHNldAotQ09ORklHX0FQTV9FTVVMQVRJT049bQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EX1VQX1BPU1NJQkxFPXkKK0NPTkZJR19TVVNQRU5EPXkKKyMgQ09ORklHX0FQTV9FTVVMQVRJT04gaXMgbm90IHNldAogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI2MSwyMSArMzAwLDI1IEBACiBDT05GSUdfUEFDS0VUPXkKICMgQ09ORklHX1BBQ0tFVF9NTUFQIGlzIG5vdCBzZXQKIENPTkZJR19VTklYPXkKLUNPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUiBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVVMVElDQVNUPXkKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CiBDT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15CisjIENPTkZJR19JUF9QTlBfREhDUCBpcyBub3Qgc2V0CiBDT05GSUdfSVBfUE5QX0JPT1RQPXkKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9QTlBfUkFSUD15CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAorQ09ORklHX0lQX01ST1VURT15CitDT05GSUdfSVBfUElNU01fVjE9eQorQ09ORklHX0lQX1BJTVNNX1YyPXkKICMgQ09ORklHX0FSUEQgaXMgbm90IHNldAogIyBDT05GSUdfU1lOX0NPT0tJRVMgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CkBAIC0yODMsMTEgKzMyNiwxMSBAQAogIyBDT05GSUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1RVTk5FTCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUw9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9MUk8gaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKICMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19UQ1BfQ09OR19DVUJJQz15CiBDT05GSUdfREVGQVVMVF9UQ1BfQ09ORz0iY3ViaWMiCkBAIC0zMTEsMTAgKzM1NCw2IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKLQotIwotIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKLSMKICMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiAKICMKQEAgLTMyMywyOCArMzYyLDcgQEAKICMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldAogIyBDT05GSUdfSEFNUkFESU8gaXMgbm90IHNldAogIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0Ci1DT05GSUdfQlQ9bQotQ09ORklHX0JUX0wyQ0FQPW0KLUNPTkZJR19CVF9TQ089bQotQ09ORklHX0JUX1JGQ09NTT1tCi0jIENPTkZJR19CVF9SRkNPTU1fVFRZIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9CTkVQPW0KLSMgQ09ORklHX0JUX0JORVBfTUNfRklMVEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0JORVBfUFJPVE9fRklMVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19CVF9ISURQPW0KLQotIwotIyBCbHVldG9vdGggZGV2aWNlIGRyaXZlcnMKLSMKLUNPTkZJR19CVF9IQ0lVU0I9bQotIyBDT05GSUdfQlRfSENJVVNCX1NDTyBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJVUFSVD1tCi0jIENPTkZJR19CVF9IQ0lVQVJUX0g0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUX0hDSVVBUlRfQkNTUCBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSENJQkNNMjAzWD1tCi1DT05GSUdfQlRfSENJQlBBMTBYPW0KLUNPTkZJR19CVF9IQ0lCRlVTQj1tCi0jIENPTkZJR19CVF9IQ0lWSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGX1JYUlBDIGlzIG5vdCBzZXQKIAogIwpAQCAtMzUzLDEzICszNzEsOSBAQAogIyBDT05GSUdfQ0ZHODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfV0lSRUxFU1NfRVhUIGlzIG5vdCBzZXQKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKICMKICMgRGV2aWNlIERyaXZlcnMKQEAgLTM2OCwyMyArMzgyLDIwIEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKKyMgQ09ORklHX0ZXX0xPQURFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfREVWUkVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKLQotIwotIyBDb25uZWN0b3IgLSB1bmlmaWVkIHVzZXJzcGFjZSA8LT4ga2VybmVsc3BhY2UgbGlua2VyCi0jCiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAogQ09ORklHX01URD15CiAjIENPTkZJR19NVERfREVCVUcgaXMgbm90IHNldAotQ09ORklHX01URF9DT05DQVQ9eQorIyBDT05GSUdfTVREX0NPTkNBVCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX1BBUlRJVElPTlM9eQogIyBDT05GSUdfTVREX1JFREJPT1RfUEFSVFMgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NNRExJTkVfUEFSVFMgaXMgbm90IHNldAorQ09ORklHX01URF9DTURMSU5FX1BBUlRTPXkKICMgQ09ORklHX01URF9BRlNfUEFSVFMgaXMgbm90IHNldAogCiAjCkBAIC0zOTgsMTUgKzQwOSwxMyBAQAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKICMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9OT1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9CRV9CWVRFX1NXQVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0NGSV9MRV9CWVRFX1NXQVAgaXMgbm90IHNldAogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF8xPXkKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMj15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzQ9eQpAQCAtNDI1LDEyICs0MzQsMTMgQEAKICMgTWFwcGluZyBkcml2ZXJzIGZvciBjaGlwIGFjY2VzcwogIwogIyBDT05GSUdfTVREX0NPTVBMRVhfTUFQUElOR1MgaXMgbm90IHNldAotIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QTEFUUkFNIGlzIG5vdCBzZXQKIAogIwogIyBTZWxmLWNvbnRhaW5lZCBNVEQgZGV2aWNlIGRyaXZlcnMKICMKK0NPTkZJR19NVERfREFUQUZMQVNIPXkKKyMgQ09ORklHX01URF9NMjVQODAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NMUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9QSFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTVREUkFNIGlzIG5vdCBzZXQKQEAgLTQ0Niw1MyArNDU2LDQyIEBACiAjIENPTkZJR19NVERfTkFORF9WRVJJRllfV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfRUNDX1NNQyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9NVVNFVU1fSURTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9OQU5EX0gxOTAwIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9BVDkxPXkKK0NPTkZJR19NVERfTkFORF9BVDkxX0VDQ19TT0ZUPXkKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX0hXIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9OQU5EX0FUOTFfRUNDX05PTkUgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX05BTkRfUExBVEZPUk0gaXMgbm90IHNldAorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKICMgVUJJIC0gVW5zb3J0ZWQgYmxvY2sgaW1hZ2VzCiAjCiAjIENPTkZJR19NVERfVUJJIGlzIG5vdCBzZXQKLQotIwotIyBQYXJhbGxlbCBwb3J0IHN1cHBvcnQKLSMKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAotCi0jCi0jIFBsdWcgYW5kIFBsYXkgc3VwcG9ydAotIwotIyBDT05GSUdfUE5QQUNQSSBpcyBub3Qgc2V0Ci0KLSMKLSMgQmxvY2sgZGV2aWNlcwotIworQ09ORklHX0JMS19ERVY9eQogIyBDT05GSUdfQkxLX0RFVl9DT1dfQ09NTU9OIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0xPT1A9eQogIyBDT05GSUdfQkxLX0RFVl9DUllQVE9MT09QIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfVUIgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfUkFNPXkKLUNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0xNgotQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTIwMDAKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0RST01fUEtUQ0RWRCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90IHNldAotIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CiAKICMKICMgU0NTSSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfUkFJRF9BVFRSUyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTST15CitDT05GSUdfU0NTSV9ETUE9eQogIyBDT05GSUdfU0NTSV9UR1QgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfUFJPQ19GUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA3LDcgKzUwNiw3IEBACiAjCiAjIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vib3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwogIwotIyBDT05GSUdfU0NTSV9NVUxUSV9MVU4gaXMgbm90IHNldAorQ09ORklHX1NDU0lfTVVMVElfTFVOPXkKICMgQ09ORklHX1NDU0lfQ09OU1RBTlRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTE9HR0lORyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NDQU5fQVNZTkMgaXMgbm90IHNldApAQCAtNTE5LDQxICs1MTgsNTAgQEAKICMgQ09ORklHX1NDU0lfU1BJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfRkNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NBU19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NBU19MSUJTQVMgaXMgbm90IHNldAotCi0jCi0jIFNDU0kgbG93LWxldmVsIGRyaXZlcnMKLSMKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX0xPV0xFVkVMPXkKICMgQ09ORklHX0lTQ1NJX1RDUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKLSMKICMgQ09ORklHX01EIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIGRldmljZSBzdXBwb3J0Ci0jCiBDT05GSUdfTkVUREVWSUNFUz15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAogIyBDT05GSUdfRFVNTVkgaXMgbm90IHNldAogIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNWTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX0VRVUFMSVpFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UVU4gaXMgbm90IHNldAotIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAorQ09ORklHX1BIWUxJQj15CiAKICMKLSMgRXRoZXJuZXQgKDEwIG9yIDEwME1iaXQpCisjIE1JSSBQSFkgZGV2aWNlIGRyaXZlcnMKICMKKyMgQ09ORklHX01BUlZFTExfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RBVklDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19MWFRfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NJQ0FEQV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfU01TQ19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfQlJPQURDT01fUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lDUExVU19QSFkgaXMgbm90IHNldAorIyBDT05GSUdfRklYRURfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX01ESU9fQklUQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKIENPTkZJR19NSUk9eQorQ09ORklHX01BQ0I9eQorIyBDT05GSUdfQVg4ODc5NiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTUM5MVggaXMgbm90IHNldAotQ09ORklHX0RNOTAwMD15Ci0jIENPTkZJR19TTUM5MTFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVERFVl8xMDAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19ETTkwMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CitDT05GSUdfTkVUREVWXzEwMDA9eQorQ09ORklHX05FVERFVl8xMDAwMD15CiAKICMKICMgV2lyZWxlc3MgTEFOCkBAIC01NjgsNyArNTc2LDYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfUFBQIGlzIG5vdCBzZXQKQEAgLTU3NywxMCArNTg0LDYgQEAKICMgQ09ORklHX05FVENPTlNPTEUgaXMgbm90IHNldAogIyBDT05GSUdfTkVUUE9MTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSIGlzIG5vdCBzZXQKLQotIwotIyBJU0ROIHN1YnN5c3RlbQotIwogIyBDT05GSUdfSVNETiBpcyBub3Qgc2V0CiAKICMKQEAgLTU5OCw5ICs2MDEsOCBAQAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQotIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0VWQlVHPXkKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwpAQCAtNjEyLDMwICs2MTQsMTcgQEAKICMgQ09ORklHX0tFWUJPQVJEX1hUS0JEIGlzIG5vdCBzZXQKICMgQ09ORklHX0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9TVE9XQVdBWSBpcyBub3Qgc2V0Ci1DT05GSUdfS0VZQk9BUkRfUFhBMjd4PW0KLSMgQ09ORklHX0tFWUJPQVJEX0dQSU8gaXMgbm90IHNldAorQ09ORklHX0tFWUJPQVJEX0dQSU89eQogIyBDT05GSUdfSU5QVVRfTU9VU0UgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLUNPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9HVU5aRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTVRPVUNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1BFTk1PVU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIUklHSFQgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAogCiAjCiAjIEhhcmR3YXJlIEkvTyBwb3J0cwogIwotQ09ORklHX1NFUklPPXkKLSMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90IHNldAotQ09ORklHX1NFUklPX0xJQlBTMj15Ci0jIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfU0VSSU8gaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC02NTUsNDUgKzY0NCw1MSBAQAogIwogIyBOb24tODI1MCBzZXJpYWwgcG9ydCBzdXBwb3J0CiAjCi1DT05GSUdfU0VSSUFMX1BYQT15Ci1DT05GSUdfU0VSSUFMX1BYQV9DT05TT0xFPXkKK0NPTkZJR19TRVJJQUxfQVRNRUw9eQorQ09ORklHX1NFUklBTF9BVE1FTF9DT05TT0xFPXkKKyMgQ09ORklHX1NFUklBTF9BVE1FTF9UVFlBVCBpcyBub3Qgc2V0CiBDT05GSUdfU0VSSUFMX0NPUkU9eQogQ09ORklHX1NFUklBTF9DT1JFX0NPTlNPTEU9eQogQ09ORklHX1VOSVg5OF9QVFlTPXkKIENPTkZJR19MRUdBQ1lfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKLQotIwotIyBJUE1JCi0jCiAjIENPTkZJR19JUE1JX0hBTkRMRVIgaXMgbm90IHNldAotIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAotQ09ORklHX0hXX1JBTkRPTT1tCitDT05GSUdfSFdfUkFORE9NPXkKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldAotCi0jCi0jIFRQTSBkZXZpY2VzCi0jCiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CiAKICMKICMgU1BJIHN1cHBvcnQKICMKLSMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19TUEk9eQorIyBDT05GSUdfU1BJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TUElfTUFTVEVSPXkKIAogIwotIyBEYWxsYXMncyAxLXdpcmUgYnVzCisjIFNQSSBNYXN0ZXIgQ29udHJvbGxlciBEcml2ZXJzCiAjCitDT05GSUdfU1BJX0FUTUVMPXkKKyMgQ09ORklHX1NQSV9CSVRCQU5HIGlzIG5vdCBzZXQKKworIworIyBTUEkgUHJvdG9jb2wgTWFzdGVycworIworIyBDT05GSUdfU1BJX0FUMjUgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1NQSURFViBpcyBub3Qgc2V0CisjIENPTkZJR19TUElfVExFNjJYMCBpcyBub3Qgc2V0CiAjIENPTkZJR19XMSBpcyBub3Qgc2V0CisjIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAorIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldAogCiAjCi0jIE1pc2MgZGV2aWNlcworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKICMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKIAogIwogIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCkBAIC03MDEsMTkgKzY5Niw2IEBACiAjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAogCiAjCi0jIExFRCBkZXZpY2VzCi0jCi0jIENPTkZJR19ORVdfTEVEUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTEVEIGRyaXZlcnMKLSMKLQotIwotIyBMRUQgVHJpZ2dlcnMKLSMKLQotIwogIyBNdWx0aW1lZGlhIGRldmljZXMKICMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CkBAIC03MjMsMTI1ICs3MDUsNDIgQEAKICMKICMgR3JhcGhpY3Mgc3VwcG9ydAogIworIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAorIyBDT05GSUdfRkIgaXMgbm90IHNldAogIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKIAogIwogIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CiAjCiAjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAotIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAotQ09ORklHX0ZCPXkKLSMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQotQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15Ci1DT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15Ci0jIENPTkZJR19GQl9TWVNfRklMTFJFQ1QgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0NPUFlBUkVBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAotIyBDT05GSUdfRkJfU1lTX0ZPUFMgaXMgbm90IHNldAotQ09ORklHX0ZCX0RFRkVSUkVEX0lPPXkKLSMgQ09ORklHX0ZCX1NWR0FMSUIgaXMgbm90IHNldAotIyBDT05GSUdfRkJfTUFDTU9ERVMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01PREVfSEVMUEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9USUxFQkxJVFRJTkcgaXMgbm90IHNldAotCi0jCi0jIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCi0jCi0jIENPTkZJR19GQl9TMUQxM1hYWCBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01CWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9WSVJUVUFMIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKICMgQ09ORklHX1ZHQV9DT05TT0xFIGlzIG5vdCBzZXQKIENPTkZJR19EVU1NWV9DT05TT0xFPXkKLUNPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFPXkKLSMgQ09ORklHX0ZSQU1FQlVGRkVSX0NPTlNPTEVfUk9UQVRJT04gaXMgbm90IHNldAotIyBDT05GSUdfRk9OVFMgaXMgbm90IHNldAotQ09ORklHX0ZPTlRfOHg4PXkKLUNPTkZJR19GT05UXzh4MTY9eQotQ09ORklHX0xPR089eQotQ09ORklHX0xPR09fTElOVVhfTU9OTz15Ci1DT05GSUdfTE9HT19MSU5VWF9WR0ExNj15Ci1DT05GSUdfTE9HT19MSU5VWF9DTFVUMjI0PXkKIAogIwogIyBTb3VuZAogIwotQ09ORklHX1NPVU5EPW0KLQotIwotIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKLSMKLUNPTkZJR19TTkQ9bQotQ09ORklHX1NORF9USU1FUj1tCi1DT05GSUdfU05EX1BDTT1tCi0jIENPTkZJR19TTkRfU0VRVUVOQ0VSIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfT1NTRU1VTD15Ci1DT05GSUdfU05EX01JWEVSX09TUz1tCi1DT05GSUdfU05EX1BDTV9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQotIyBDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTIGlzIG5vdCBzZXQKLUNPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKLUNPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQotIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgR2VuZXJpYyBkZXZpY2VzCi0jCi1DT05GSUdfU05EX0FDOTdfQ09ERUM9bQotIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKLQotIwotIyBBTFNBIEFSTSBkZXZpY2VzCi0jCi1DT05GSUdfU05EX1BYQTJYWF9QQ009bQotQ09ORklHX1NORF9QWEEyWFhfQUM5Nz1tCi0KLSMKLSMgVVNCIGRldmljZXMKLSMKLSMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAotIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0Ci0KLSMKLSMgU3lzdGVtIG9uIENoaXAgYXVkaW8gc3VwcG9ydAotIwotIyBDT05GSUdfU05EX1NPQyBpcyBub3Qgc2V0Ci0KLSMKLSMgT3BlbiBTb3VuZCBTeXN0ZW0KLSMKLSMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKLUNPTkZJR19BQzk3X0JVUz1tCi0KLSMKLSMgSElEIERldmljZXMKLSMKKyMgQ09ORklHX1NPVU5EIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKICMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ISURSQVcgaXMgbm90IHNldAogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCi1DT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ISUQgaXMgbm90IHNldAogCiAjCi0jIFVTQiBzdXBwb3J0CisjIFVTQiBISUQgQm9vdCBQcm90b2NvbCBkcml2ZXJzCiAjCisjIENPTkZJR19VU0JfS0JEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NT1VTRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKICMgQ09ORklHX1VTQl9BUkNIX0hBU19FSENJIGlzIG5vdCBzZXQKQEAgLTg1Miw5ICs3NTEsMTAgQEAKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwogIwogQ09ORklHX1VTQl9ERVZJQ0VGUz15Ci0jIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVWSUNFX0NMQVNTPXkKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKIAogIwpAQCAtODY2LDYgKzc2Niw3IEBACiAjIENPTkZJR19VU0JfT0hDSV9CSUdfRU5ESUFOX01NSU8gaXMgbm90IHNldAogQ09ORklHX1VTQl9PSENJX0xJVFRMRV9FTkRJQU49eQogIyBDT05GSUdfVVNCX1NMODExX0hDRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgRGV2aWNlIENsYXNzIGRyaXZlcnMKQEAgLTg4NCw2ICs3ODUsNyBAQAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfREFUQUZBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9GUkVFQ09NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EUENNIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFIwOSBpcyBub3Qgc2V0CkBAIC04OTgsNyArODAwLDcgQEAKICMKICMgQ09ORklHX1VTQl9NREM4MDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9NT04gaXMgbm90IHNldAorQ09ORklHX1VTQl9NT049eQogCiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKQEAgLTkzOSw1NyArODQxLDQ4IEBACiAjCiAjIFVTQiBHYWRnZXQgU3VwcG9ydAogIwotIyBDT05GSUdfVVNCX0dBREdFVCBpcyBub3Qgc2V0Ci1DT05GSUdfTU1DPW0KLSMgQ09ORklHX01NQ19ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTUNfVU5TQUZFX1JFU1VNRSBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0dBREdFVD15CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfREVCVUdfRklMRVMgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfU0VMRUNURUQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9BTUQ1NTM2VURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0ZTTF9VU0IyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTkVUMjI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1BYQTJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX002NjU5MiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0dPS1UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9MSDdBNDBYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfT01BUCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX1MzQzI0MTAgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVRfQVQ5MT15CitDT05GSUdfVVNCX0FUOTE9eQorIyBDT05GSUdfVVNCX0dBREdFVF9EVU1NWV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9EVUFMU1BFRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pFUk8gaXMgbm90IHNldAorQ09ORklHX1VTQl9FVEg9eQorQ09ORklHX1VTQl9FVEhfUk5ESVM9eQorIyBDT05GSUdfVVNCX0dBREdFVEZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9GSUxFX1NUT1JBR0UgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dfU0VSSUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9NSURJX0dBREdFVCBpcyBub3Qgc2V0CisjIENPTkZJR19NTUMgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwotIyBNTUMvU0QgQ2FyZCBEcml2ZXJzCisjIExFRCBkcml2ZXJzCiAjCi1DT05GSUdfTU1DX0JMT0NLPW0KK0NPTkZJR19MRURTX0dQSU89eQogCiAjCi0jIE1NQy9TRCBIb3N0IENvbnRyb2xsZXIgRHJpdmVycworIyBMRUQgVHJpZ2dlcnMKICMKLUNPTkZJR19NTUNfUFhBPW0KLQotIwotIyBSZWFsIFRpbWUgQ2xvY2sKLSMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CitDT05GSUdfTEVEU19UUklHR0VSX0hFQVJUQkVBVD15CiBDT05GSUdfUlRDX0xJQj15Ci1DT05GSUdfUlRDX0NMQVNTPW0KLQotIwotIyBSVEMgaW50ZXJmYWNlcwotIwotQ09ORklHX1JUQ19JTlRGX1NZU0ZTPXkKLUNPTkZJR19SVENfSU5URl9QUk9DPXkKLUNPTkZJR19SVENfSU5URl9ERVY9eQotIyBDT05GSUdfUlRDX0lOVEZfREVWX1VJRV9FTVVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSTJDIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgU1BJIFJUQyBkcml2ZXJzCi0jCi0KLSMKLSMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKLSMKLSMgQ09ORklHX1JUQ19EUlZfQ01PUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTU1MyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX0RTMTc0MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDX0RSVl9WMzAyMD1tCi0KLSMKLSMgb24tQ1BVIFJUQyBkcml2ZXJzCi0jCi1DT05GSUdfUlRDX0RSVl9TQTExMDA9bQorIyBDT05GSUdfUlRDX0NMQVNTIGlzIG5vdCBzZXQKIAogIwogIyBGaWxlIHN5c3RlbXMKQEAgLTk5NywxNyArODkwLDExIEBACiBDT05GSUdfRVhUMl9GUz15CiAjIENPTkZJR19FWFQyX0ZTX1hBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKLUNPTkZJR19FWFQzX0ZTPXkKLUNPTkZJR19FWFQzX0ZTX1hBVFRSPXkKLSMgQ09ORklHX0VYVDNfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VYVDNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfRVhUM19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKLUNPTkZJR19KQkQ9eQotIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19GU19NQkNBQ0hFPXkKICMgQ09ORklHX1JFSVNFUkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GU19QT1NJWF9BQ0wgaXMgbm90IHNldAorQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0CkBAIC0xMDE5LDcgKzkwNiw3IEBACiBDT05GSUdfRE5PVElGWT15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVUT0ZTNF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNFX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19GVVNFX0ZTPW0KIAogIwogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCkBAIC0xMDMxLDcgKzkxOCw3IEBACiAjIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKICMKIENPTkZJR19GQVRfRlM9eQotQ09ORklHX01TRE9TX0ZTPXkKKyMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19WRkFUX0ZTPXkKIENPTkZJR19GQVRfREVGQVVMVF9DT0RFUEFHRT00MzcKIENPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKQEAgLTEwNDYsNyArOTMzLDYgQEAKIENPTkZJR19UTVBGUz15CiAjIENPTkZJR19UTVBGU19QT1NJWF9BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfSFVHRVRMQl9QQUdFIGlzIG5vdCBzZXQKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEwNjIsMTAgKzk0OCwxMiBAQAogQ09ORklHX0pGRlMyX0ZTPXkKIENPTkZJR19KRkZTMl9GU19ERUJVRz0wCiBDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQotQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfU1VNTUFSWSBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19KRkZTMl9DT01QUkVTU0lPTl9PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19KRkZTMl9aTElCPXkKKyMgQ09ORklHX0pGRlMyX0xaTyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfUlRJTUU9eQogIyBDT05GSUdfSkZGUzJfUlVCSU4gaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKQEAgLTEwNzQsNDcgKzk2Miw0MCBAQAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKK0NPTkZJR19ORlNfVjNfQUNMPXkKK0NPTkZJR19ORlNfVjQ9eQogIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX05GU0QgaXMgbm90IHNldAogQ09ORklHX1JPT1RfTkZTPXkKIENPTkZJR19MT0NLRD15CiBDT05GSUdfTE9DS0RfVjQ9eQorQ09ORklHX05GU19BQ0xfU1VQUE9SVD15CiBDT05GSUdfTkZTX0NPTU1PTj15CiBDT05GSUdfU1VOUlBDPXkKK0NPTkZJR19TVU5SUENfR1NTPXkKICMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKK0NPTkZJR19SUENTRUNfR1NTX0tSQjU9eQogIyBDT05GSUdfUlBDU0VDX0dTU19TUEtNMyBpcyBub3Qgc2V0Ci1DT05GSUdfU01CX0ZTPXkKLSMgQ09ORklHX1NNQl9OTFNfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ0lGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfOVBfRlMgaXMgbm90IHNldAogCiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwogIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCiBDT05GSUdfTkxTPXkKIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgogQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKLSMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldAorQ09ORklHX05MU19DT0RFUEFHRV84NTA9eQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldApAQCAtMTE0OCwzMCArMTAyOSwyNCBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCisjIENPTkZJR19OTFNfVVRGOCBpcyBub3Qgc2V0CiAjIENPTkZJR19ETE0gaXMgbm90IHNldAotCi0jCi0jIFByb2ZpbGluZyBzdXBwb3J0Ci0jCi0jIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVFJVTUVOVEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQ9eQogQ09ORklHX0VOQUJMRV9NVVNUX0NIRUNLPXkKLUNPTkZJR19NQUdJQ19TWVNSUT15CisjIENPTkZJR19NQUdJQ19TWVNSUSBpcyBub3Qgc2V0CiAjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotIyBDT05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAorQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKK0NPTkZJR19TQ0hFRF9ERUJVRz15CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldApAQCAtMTE4MSwxOSArMTA1NiwyMyBAQAogIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLX0FMTE9DIGlzIG5vdCBzZXQKICMgQ09ORklHX1BST1ZFX0xPQ0tJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLX1NMRUVQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tJTkdfQVBJX1NFTEZURVNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19LT0JKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0UgaXMgbm90IHNldAotQ09ORklHX0RFQlVHX0lORk89eQorQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQorIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19WTSBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1NHIGlzIG5vdCBzZXQKIENPTkZJR19GUkFNRV9QT0lOVEVSPXkKIENPTkZJR19GT1JDRURfSU5MSU5JTkc9eQorIyBDT05GSUdfQk9PVF9QUklOVEtfREVMQVkgaXMgbm90IHNldAogIyBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15Ci1DT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX0VSUk9SUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfTEw9eQogIyBDT05GSUdfREVCVUdfSUNFRENDIGlzIG5vdCBzZXQKIApAQCAtMTIwMiw1MSArMTA4MSw0OCBAQAogIwogIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUNVUklUWSBpcyBub3Qgc2V0Ci0KLSMKLSMgQ3J5cHRvZ3JhcGhpYyBvcHRpb25zCi0jCisjIENPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUyBpcyBub3Qgc2V0CiBDT05GSUdfQ1JZUFRPPXkKLUNPTkZJR19DUllQVE9fQUxHQVBJPW0KLUNPTkZJR19DUllQVE9fQkxLQ0lQSEVSPW0KLUNPTkZJR19DUllQVE9fTUFOQUdFUj1tCitDT05GSUdfQ1JZUFRPX0FMR0FQST15CitDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fTUQ1IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KKyMgQ09ORklHX0NSWVBUT19FQ0IgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19DQkM9eQorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0RFUyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX0RFUz15CiAjIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19CTE9XRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FFUz1tCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0FSQzQ9bQorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci0KLSMKLSMgSGFyZHdhcmUgY3J5cHRvIGRldmljZXMKLSMKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19IVyBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwpAQCAtMTI1Niw2ICsxMTMyLDcgQEAKICMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CiBDT05GSUdfQ1JDMzI9eQorIyBDT05GSUdfQ1JDNyBpcyBub3Qgc2V0CiAjIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldAogQ09ORklHX1pMSUJfSU5GTEFURT15CiBDT05GSUdfWkxJQl9ERUZMQVRFPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3VzYi1hOTI2M19kZWZjb25maWcKc2ltaWxhcml0eSBpbmRleCA3MCUKcmVuYW1lIGZyb20gYXJjaC9hcm0vY29uZmlncy9lbV94MjcwX2RlZmNvbmZpZwpyZW5hbWUgdG8gYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjNfZGVmY29uZmlnCmluZGV4IDZiZWEwOTAuLjQ4ZDQ1NWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvZW1feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy91c2ItYTkyNjNfZGVmY29uZmlnCkBAIC0xLDEzICsxLDEzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjIKLSMgTW9uIEp1bCAgOSAxNToxODoyMCAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjQKKyMgVHVlIEFwciAxNSAxMToxNToxOSAyMDA4CiAjCiBDT05GSUdfQVJNPXkKIENPTkZJR19TWVNfU1VQUE9SVFNfQVBNX0VNVUxBVElPTj15CiBDT05GSUdfR0VORVJJQ19HUElPPXkKIENPTkZJR19HRU5FUklDX1RJTUU9eQotIyBDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUyBpcyBub3Qgc2V0CitDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UUz15CiBDT05GSUdfTU1VPXkKICMgQ09ORklHX05PX0lPUE9SVCBpcyBub3Qgc2V0CiBDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkBAIC0yMiw0MSArMjIsMzggQEAKIENPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQogQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19aT05FX0RNQT15Ci1DT05GSUdfQVJDSF9NVERfWElQPXkKIENPTkZJR19WRUNUT1JTX0JBU0U9MHhmZmZmMDAwMAogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIKIAogIwotIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKKyMgR2VuZXJhbCBzZXR1cAogIwogQ09ORklHX0VYUEVSSU1FTlRBTD15CiBDT05GSUdfQlJPS0VOX09OX1NNUD15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCi0KLSMKLSMgR2VuZXJhbCBzZXR1cAotIwotQ09ORklHX0xPQ0FMVkVSU0lPTj0iLWVtLXgyNzAiCitDT05GSUdfTE9DQUxWRVJTSU9OPSIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0Ci1DT05GSUdfU1dBUD15CisjIENPTkZJR19TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19TWVNWSVBDPXkKLSMgQ09ORklHX0lQQ19OUyBpcyBub3Qgc2V0CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VUU19OUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BJRF9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKLUNPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE0CisjIENPTkZJR19DR1JPVVBTIGlzIG5vdCBzZXQKK0NPTkZJR19GQUlSX0dST1VQX1NDSEVEPXkKK0NPTkZJR19GQUlSX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfRkFJUl9DR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19SRUxBWSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JTklUUkQ9eQotQ09ORklHX0lOSVRSQU1GU19TT1VSQ0U9IiIKLUNPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRT15CisjIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CisjIENPTkZJR19DQ19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CiBDT05GSUdfU1lTQ1RMPXkKLUNPTkZJR19FTUJFRERFRD15CisjIENPTkZJR19FTUJFRERFRCBpcyBub3Qgc2V0CiBDT05GSUdfVUlEMTY9eQogQ09ORklHX1NZU0NUTF9TWVNDQUxMPXkKIENPTkZJR19LQUxMU1lNUz15CkBAIC03MSw0MiArNjgsMzUgQEAKIENPTkZJR19BTk9OX0lOT0RFUz15CiBDT05GSUdfRVBPTEw9eQogQ09ORklHX1NJR05BTEZEPXkKLUNPTkZJR19USU1FUkZEPXkKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQogQ09ORklHX1NMQUI9eQogIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKLQotIwotIyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAotIwogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQotCi0jCi0jIEJsb2NrIGxheWVyCi0jCiBDT05GSUdfQkxPQ0s9eQogIyBDT05GSUdfTEJEIGlzIG5vdCBzZXQKICMgQ09ORklHX0JMS19ERVZfSU9fVFJBQ0UgaXMgbm90IHNldAogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIAogIwogIyBJTyBTY2hlZHVsZXJzCiAjCiBDT05GSUdfSU9TQ0hFRF9OT09QPXkKIENPTkZJR19JT1NDSEVEX0FTPXkKLUNPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKLUNPTkZJR19JT1NDSEVEX0NGUT15CisjIENPTkZJR19JT1NDSEVEX0RFQURMSU5FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPU0NIRURfQ0ZRIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0FTPXkKICMgQ09ORklHX0RFRkFVTFRfREVBRExJTkUgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9DRlEgaXMgbm90IHNldApAQCAtMTIwLDcgKzExMCw3IEBACiAjIENPTkZJR19BUkNIX0lOVEVHUkFUT1IgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9SRUFMVklFVyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1ZFUlNBVElMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0FUOTEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MT15CiAjIENPTkZJR19BUkNIX0NMUFM3NTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfQ0xQUzcxMVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9DTzI4NSBpcyBub3Qgc2V0CkBAIC0xMzksOCArMTI5LDkgQEAKICMgQ09ORklHX0FSQ0hfTDcyMDAgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9LUzg2OTUgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9OUzlYWFggaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NWEMgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKLUNPTkZJR19BUkNIX1BYQT15CisjIENPTkZJR19BUkNIX1BYQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1NBMTEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1MzQzI0MTAgaXMgbm90IHNldApAQCAtMTUwLDI1ICsxNDEsNTggQEAKICMgQ09ORklHX0FSQ0hfT01BUCBpcyBub3Qgc2V0CiAKICMKLSMgSW50ZWwgUFhBMnh4IEltcGxlbWVudGF0aW9ucworIyBCb290IG9wdGlvbnMKICMKLSMgQ09ORklHX0FSQ0hfTFVCQk9DSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX0xPR0lDUERfUFhBMjcwIGlzIG5vdCBzZXQKLSMgQ09ORklHX01BQ0hfTUFJTlNUT05FIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FSQ0hfUFhBX0lEUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QWEFfU0hBUlBTTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKLUNPTkZJR19NQUNIX0VNX1gyNzA9eQotQ09ORklHX1BYQTI3eD15CisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIworCisjCisjIEF0bWVsIEFUOTEgU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfQVQ5MVJNOTIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFTQU05MjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjM9eQorIyBDT05GSUdfQVJDSF9BVDkxU0FNOVJMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfQVQ5MUNBUDkgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9BVDkxWDQwIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1BNQ19VTklUPXkKKworIworIyBBVDkxU0FNOTI2MyBCb2FyZCBUeXBlCisjCisjIENPTkZJR19NQUNIX0FUOTFTQU05MjYzRUsgaXMgbm90IHNldAorQ09ORklHX01BQ0hfVVNCX0E5MjYzPXkKKworIworIyBBVDkxIEJvYXJkIE9wdGlvbnMKKyMKKworIworIyBBVDkxIEZlYXR1cmUgU2VsZWN0aW9ucworIworIyBDT05GSUdfQVQ5MV9QUk9HUkFNTUFCTEVfQ0xPQ0tTIGlzIG5vdCBzZXQKK0NPTkZJR19BVDkxX1NMT1dfQ0xPQ0s9eQorQ09ORklHX0FUOTFfVElNRVJfSFo9MTAwCitDT05GSUdfQVQ5MV9FQVJMWV9EQkdVPXkKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUOTFfRUFSTFlfVVNBUlQ1IGlzIG5vdCBzZXQKIAogIwogIyBQcm9jZXNzb3IgVHlwZQogIwogQ09ORklHX0NQVV8zMj15Ci1DT05GSUdfQ1BVX1hTQ0FMRT15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQogQ09ORklHX0NQVV8zMnY1PXkKLUNPTkZJR19DUFVfQUJSVF9FVjVUPXkKK0NPTkZJR19DUFVfQUJSVF9FVjVUSj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQorQ09ORklHX0NQVV9DT1BZX1Y0V0I9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKIENPTkZJR19DUFVfQ1AxNV9NTVU9eQpAQCAtMTc2LDI4ICsyMDAsMjggQEAKICMKICMgUHJvY2Vzc29yIEZlYXR1cmVzCiAjCi1DT05GSUdfQVJNX1RIVU1CPXkKKyMgQ09ORklHX0FSTV9USFVNQiBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfSUNBQ0hFX0RJU0FCTEUgaXMgbm90IHNldAogIyBDT05GSUdfQ1BVX0RDQUNIRV9ESVNBQkxFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9EQ0FDSEVfV1JJVEVUSFJPVUdIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVV9DQUNIRV9ST1VORF9ST0JJTiBpcyBub3Qgc2V0CiAjIENPTkZJR19PVVRFUl9DQUNIRSBpcyBub3Qgc2V0Ci1DT05GSUdfSVdNTVhUPXkKLUNPTkZJR19YU0NBTEVfUE1VPXkKIAogIwogIyBCdXMgc3VwcG9ydAogIworIyBDT05GSUdfUENJX1NZU0NBTEwgaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAotCi0jCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKLSMKICMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIEZlYXR1cmVzCiAjCiAjIENPTkZJR19USUNLX09ORVNIT1QgaXMgbm90IHNldAorIyBDT05GSUdfTk9fSFogaXMgbm90IHNldAorIyBDT05GSUdfSElHSF9SRVNfVElNRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfSFo9MTAwCiBDT05GSUdfQUVBQkk9eQogQ09ORklHX09BQklfQ09NUEFUPXkKQEAgLTIwOSw5ICsyMzMsMTMgQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CiBDT05GSUdfU1BMSVRfUFRMT0NLX0NQVVM9NDA5NgogIyBDT05GSUdfUkVTT1VSQ0VTXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKK0NPTkZJR19CT1VOQ0U9eQorQ09ORklHX1ZJUlRfVE9fQlVTPXkKKyMgQ09ORklHX0xFRFMgaXMgbm90IHNldAogQ09ORklHX0FMSUdOTUVOVF9UUkFQPXkKIAogIwpAQCAtMjE5LDcgKzI0Nyw3IEBACiAjCiBDT05GSUdfWkJPT1RfUk9NX1RFWFQ9MHgwCiBDT05GSUdfWkJPT1RfUk9NX0JTUz0weDAKLUNPTkZJR19DTURMSU5FPSIiCitDT05GSUdfQ01ETElORT0ibWVtPTY0TSBjb25zb2xlPXR0eVMwLDExNTIwMCIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCkBAIC0yMzMsNiArMjYxLDcgQEAKIENPTkZJR19GUEVfTldGUEU9eQogIyBDT05GSUdfRlBFX05XRlBFX1hQIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZQRV9GQVNURlBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZGUCBpcyBub3Qgc2V0CiAKICMKICMgVXNlcnNwYWNlIGJpbmFyeSBmb3JtYXRzCkBAIC0yNDUsMTAgKzI3NCwxMiBAQAogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci1DT05GSUdfUE1fTEVHQUNZPXkKKyMgQ09ORklHX1BNX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19QTV9TWVNGU19ERVBSRUNBVEVEIGlzIG5vdCBzZXQKLUNPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORF9VUF9QT1NTSUJMRT15CitDT05GSUdfU1VTUEVORD15CisjIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKIAogIwogIyBOZXR3b3JraW5nCkBAIC0yNjEsMjEgKzI5MiwyNSBAQAogQ09ORklHX1BBQ0tFVD15CiAjIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CiBDT05GSUdfVU5JWD15Ci1DT05GSUdfWEZSTT15Ci0jIENPTkZJR19YRlJNX1VTRVIgaXMgbm90IHNldAotIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1hGUk1fTUlHUkFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKLSMgQ09ORklHX0lQX01VTFRJQ0FTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJQ0FTVD15CitDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKK0NPTkZJR19BU0tfSVBfRklCX0hBU0g9eQorIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldAogQ09ORklHX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUF9ST1VURV9NVUxUSVBBVEggaXMgbm90IHNldAorQ09ORklHX0lQX1JPVVRFX1ZFUkJPU0U9eQogQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQorIyBDT05GSUdfSVBfUE5QX0RIQ1AgaXMgbm90IHNldAogQ09ORklHX0lQX1BOUF9CT09UUD15Ci0jIENPTkZJR19JUF9QTlBfUkFSUCBpcyBub3Qgc2V0CitDT05GSUdfSVBfUE5QX1JBUlA9eQogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjgzLDExICszMTgsMTEgQEAKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9UVU5ORUwgaXMgbm90IHNldAotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVD15Ci1DT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUPXkKLUNPTkZJR19JTkVUX0RJQUc9eQotQ09ORklHX0lORVRfVENQX0RJQUc9eQorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9CRUVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgpAQCAtMzExLDEwICszNDYsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjMsMjggKzM1NCw3IEBACiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAotQ09ORklHX0JUPW0KLUNPTkZJR19CVF9MMkNBUD1tCi1DT05GSUdfQlRfU0NPPW0KLUNPTkZJR19CVF9SRkNPTU09bQotIyBDT05GSUdfQlRfUkZDT01NX1RUWSBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfQk5FUD1tCi0jIENPTkZJR19CVF9CTkVQX01DX0ZJTFRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9CTkVQX1BST1RPX0ZJTFRFUiBpcyBub3Qgc2V0Ci1DT05GSUdfQlRfSElEUD1tCi0KLSMKLSMgQmx1ZXRvb3RoIGRldmljZSBkcml2ZXJzCi0jCi1DT05GSUdfQlRfSENJVVNCPW0KLSMgQ09ORklHX0JUX0hDSVVTQl9TQ08gaXMgbm90IHNldAotQ09ORklHX0JUX0hDSVVBUlQ9bQotIyBDT05GSUdfQlRfSENJVUFSVF9INCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CVF9IQ0lVQVJUX0JDU1AgaXMgbm90IHNldAotQ09ORklHX0JUX0hDSUJDTTIwM1g9bQotQ09ORklHX0JUX0hDSUJQQTEwWD1tCi1DT05GSUdfQlRfSENJQkZVU0I9bQotIyBDT05GSUdfQlRfSENJVkhDSSBpcyBub3Qgc2V0CisjIENPTkZJR19CVCBpcyBub3Qgc2V0CiAjIENPTkZJR19BRl9SWFJQQyBpcyBub3Qgc2V0CiAKICMKQEAgLTM1MywxMyArMzYzLDkgQEAKICMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExPW0KLSMgQ09ORklHX0lFRUU4MDIxMV9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfSUVFRTgwMjExX0NSWVBUX1dFUD1tCi1DT05GSUdfSUVFRTgwMjExX0NSWVBUX0NDTVA9bQotIyBDT05GSUdfSUVFRTgwMjExX0NSWVBUX1RLSVAgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTgwMjExX1NPRlRNQUMgaXMgbm90IHNldAorIyBDT05GSUdfSUVFRTgwMjExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGS0lMTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfOVAgaXMgbm90IHNldAogCiAjCiAjIERldmljZSBEcml2ZXJzCkBAIC0zNjgsMjMgKzM3NCwyMCBAQAogIwogIyBHZW5lcmljIERyaXZlciBPcHRpb25zCiAjCitDT05GSUdfVUVWRU5UX0hFTFBFUl9QQVRIPSIvc2Jpbi9ob3RwbHVnIgogQ09ORklHX1NUQU5EQUxPTkU9eQogQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQotQ09ORklHX0ZXX0xPQURFUj15CisjIENPTkZJR19GV19MT0FERVIgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29ubmVjdG9yIC0gdW5pZmllZCB1c2Vyc3BhY2UgPC0+IGtlcm5lbHNwYWNlIGxpbmtlcgotIwogIyBDT05GSUdfQ09OTkVDVE9SIGlzIG5vdCBzZXQKIENPTkZJR19NVEQ9eQogIyBDT05GSUdfTVREX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfQ09OQ0FUPXkKKyMgQ09ORklHX01URF9DT05DQVQgaXMgbm90IHNldAogQ09ORklHX01URF9QQVJUSVRJT05TPXkKICMgQ09ORklHX01URF9SRURCT09UX1BBUlRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DTURMSU5FX1BBUlRTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfQ01ETElORV9QQVJUUz15CiAjIENPTkZJR19NVERfQUZTX1BBUlRTIGlzIG5vdCBzZXQKIAogIwpAQCAtMzk4LDE1ICs0MDEsMTMgQEAKICMgQ09ORklHX0lORlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JGRF9GVEwgaXMgbm90IHNldAogIyBDT05GSUdfU1NGREMgaXMgbm90IHNldAorIyBDT05GSUdfTVREX09PUFMgaXMgbm90IHNldAogCiAjCiAjIFJBTS9ST00vRmxhc2ggY2hpcCBkcml2ZXJzCiAjCiAjIENPTkZJR19NVERfQ0ZJIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9KRURFQ1BST0JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTk9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfQkVfQllURV9TV0FQIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9DRklfTEVfQllURV9TV0FQIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTQyNSwxMiArNDI2LDEzIEBACiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKLSMgQ09ORklHX01URF9TSEFSUF9TTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUExBVFJBTSBpcyBub3Qgc2V0CiAKICMKICMgU2VsZi1jb250YWluZWQgTVREIGRldmljZSBkcml2ZXJzCiAjCitDT05GSUdfTVREX0RBVEFGTEFTSD15CisjIENPTkZJR19NVERfTTI1UDgwIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9TTFJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfUEhSQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX01URFJBTSBpcyBub3Qgc2V0CkBAIC00NDYsNTMgKzQ0OCw0MiBAQAogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0CiBDT05GSUdfTVREX05BTkRfSURTPXkKICMgQ09ORklHX01URF9OQU5EX0RJU0tPTkNISVAgaXMgbm90IHNldAotIyBDT05GSUdfTVREX05BTkRfU0hBUlBTTCBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfQVQ5MT15CitDT05GSUdfTVREX05BTkRfQVQ5MV9FQ0NfU09GVD15CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19IVyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfTkFORF9BVDkxX0VDQ19OT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX05BTkRTSU0gaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX1BMQVRGT1JNPXkKKyMgQ09ORklHX01URF9OQU5EX1BMQVRGT1JNIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9BTEFVREEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX09ORU5BTkQgaXMgbm90IHNldAogCiAjCiAjIFVCSSAtIFVuc29ydGVkIGJsb2NrIGltYWdlcwogIwogIyBDT05GSUdfTVREX1VCSSBpcyBub3Qgc2V0Ci0KLSMKLSMgUGFyYWxsZWwgcG9ydCBzdXBwb3J0Ci0jCiAjIENPTkZJR19QQVJQT1JUIGlzIG5vdCBzZXQKLQotIwotIyBQbHVnIGFuZCBQbGF5IHN1cHBvcnQKLSMKLSMgQ09ORklHX1BOUEFDUEkgaXMgbm90IHNldAotCi0jCi0jIEJsb2NrIGRldmljZXMKLSMKK0NPTkZJR19CTEtfREVWPXkKICMgQ09ORklHX0JMS19ERVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9MT09QPXkKICMgQ09ORklHX0JMS19ERVZfQ1JZUFRPTE9PUCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1JBTT15Ci1DT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKKyMgQ09ORklHX0JMS19ERVZfUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERSBpcyBub3Qgc2V0CisjIENPTkZJR19NSVNDX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKICMKICMgQ09ORklHX1JBSURfQVRUUlMgaXMgbm90IHNldAogQ09ORklHX1NDU0k9eQorQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1BST0NfRlMgaXMgbm90IHNldAorQ09ORklHX1NDU0lfUFJPQ19GUz15CiAKICMKICMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENELVJPTSkKQEAgLTUwNyw3ICs0OTgsNyBAQAogIwogIyBTb21lIFNDU0kgZGV2aWNlcyAoZS5nLiBDRCBqdWtlYm94KSBzdXBwb3J0IG11bHRpcGxlIExVTnMKICMKLSMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX01VTFRJX0xVTj15CiAjIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0xPR0dJTkcgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKQEAgLTUxOSw0MSArNTEwLDUwIEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEEgaXMgbm90IHNldAotCi0jCi0jIE11bHRpLWRldmljZSBzdXBwb3J0IChSQUlEIGFuZCBMVk0pCi0jCiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBkZXZpY2Ugc3VwcG9ydAotIwogQ09ORklHX05FVERFVklDRVM9eQorIyBDT05GSUdfTkVUREVWSUNFU19NVUxUSVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAorIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CisjIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKK0NPTkZJR19QSFlMSUI9eQogCiAjCi0jIEV0aGVybmV0ICgxMCBvciAxMDBNYml0KQorIyBNSUkgUEhZIGRldmljZSBkcml2ZXJzCiAjCisjIENPTkZJR19NQVJWRUxMX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19RU0VNSV9QSFkgaXMgbm90IHNldAorIyBDT05GSUdfTFhUX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJVEVTU0VfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0NfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19JQ1BMVVNfUEhZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZJWEVEX1BIWSBpcyBub3Qgc2V0CisjIENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldAogQ09ORklHX05FVF9FVEhFUk5FVD15CiBDT05GSUdfTUlJPXkKK0NPTkZJR19NQUNCPXkKKyMgQ09ORklHX0FYODg3OTYgaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKLUNPTkZJR19ETTkwMDA9eQotIyBDT05GSUdfU01DOTExWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORVRERVZfMTAwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRE05MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CisjIENPTkZJR19CNDQgaXMgbm90IHNldAorQ09ORklHX05FVERFVl8xMDAwPXkKK0NPTkZJR19ORVRERVZfMTAwMDA9eQogCiAjCiAjIFdpcmVsZXNzIExBTgpAQCAtNTY4LDcgKzU2OCw2IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CkBAIC01NzcsMTAgKzU3Niw2IEBACiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgSVNETiBzdWJzeXN0ZW0KLSMKICMgQ09ORklHX0lTRE4gaXMgbm90IHNldAogCiAjCkBAIC01OTgsOSArNTkzLDggQEAKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKLSMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9FVkJVRz15CiAKICMKICMgSW5wdXQgRGV2aWNlIERyaXZlcnMKQEAgLTYxMiwzMCArNjA2LDE3IEBACiAjIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiAjIENPTkZJR19LRVlCT0FSRF9ORVdUT04gaXMgbm90IHNldAogIyBDT05GSUdfS0VZQk9BUkRfU1RPV0FXQVkgaXMgbm90IHNldAotQ09ORklHX0tFWUJPQVJEX1BYQTI3eD1tCi0jIENPTkZJR19LRVlCT0FSRF9HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9HUElPPXkKICMgQ09ORklHX0lOUFVUX01PVVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49eQotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAotIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKLUNPTkZJR19TRVJJTz15Ci0jIENPTkZJR19TRVJJT19TRVJQT1JUIGlzIG5vdCBzZXQKLUNPTkZJR19TRVJJT19MSUJQUzI9eQotIyBDT05GSUdfU0VSSU9fUkFXIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFUklPIGlzIG5vdCBzZXQKICMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKIAogIwpAQCAtNjU1LDQ1ICs2MzYsNTEgQEAKICMKICMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAogIwotQ09ORklHX1NFUklBTF9QWEE9eQotQ09ORklHX1NFUklBTF9QWEFfQ09OU09MRT15CitDT05GSUdfU0VSSUFMX0FUTUVMPXkKK0NPTkZJR19TRVJJQUxfQVRNRUxfQ09OU09MRT15CisjIENPTkZJR19TRVJJQUxfQVRNRUxfVFRZQVQgaXMgbm90IHNldAogQ09ORklHX1NFUklBTF9DT1JFPXkKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQogQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2Ci0KLSMKLSMgSVBNSQotIwogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorQ09ORklHX0hXX1JBTkRPTT15CiAjIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKLQotIwotIyBUUE0gZGV2aWNlcwotIwogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkMgaXMgbm90IHNldAogCiAjCiAjIFNQSSBzdXBwb3J0CiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0CitDT05GSUdfU1BJPXkKKyMgQ09ORklHX1NQSV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU1BJX01BU1RFUj15CiAKICMKLSMgRGFsbGFzJ3MgMS13aXJlIGJ1cworIyBTUEkgTWFzdGVyIENvbnRyb2xsZXIgRHJpdmVycwogIworQ09ORklHX1NQSV9BVE1FTD15CisjIENPTkZJR19TUElfQklUQkFORyBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFByb3RvY29sIE1hc3RlcnMKKyMKKyMgQ09ORklHX1NQSV9BVDI1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQSV9TUElERVYgaXMgbm90IHNldAorIyBDT05GSUdfU1BJX1RMRTYyWDAgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAorIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKIAogIwotIyBNaXNjIGRldmljZXMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiAjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwpAQCAtNzAxLDE5ICs2ODgsNiBAQAogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKIAogIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAotCi0jCi0jIExFRCBkcml2ZXJzCi0jCi0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi0KLSMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldApAQCAtNzIzLDEyNSArNjk3LDQyIEBACiAjCiAjIEdyYXBoaWNzIHN1cHBvcnQKICMKKyMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJREVPX09VVFBVVF9DT05UUk9MIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVCBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLUNPTkZJR19GQj15Ci0jIENPTkZJR19GSVJNV0FSRV9FRElEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0REQyBpcyBub3Qgc2V0Ci1DT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKLUNPTkZJR19GQl9DRkJfQ09QWUFSRUE9eQotQ09ORklHX0ZCX0NGQl9JTUFHRUJMSVQ9eQotIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKLUNPTkZJR19GQl9ERUZFUlJFRF9JTz15Ci0jIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NT0RFX0hFTFBFUlMgaXMgbm90IHNldAotIyBDT05GSUdfRkJfVElMRUJMSVRUSU5HIGlzIG5vdCBzZXQKLQotIwotIyBGcmFtZSBidWZmZXIgaGFyZHdhcmUgZHJpdmVycwotIwotIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAotQ09ORklHX0ZCX1BYQT15Ci0jIENPTkZJR19GQl9QWEFfUEFSQU1FVEVSUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQl9NQlggaXMgbm90IHNldAotIyBDT05GSUdfRkJfVklSVFVBTCBpcyBub3Qgc2V0CiAKICMKICMgQ29uc29sZSBkaXNwbGF5IGRyaXZlciBzdXBwb3J0CiAjCiAjIENPTkZJR19WR0FfQ09OU09MRSBpcyBub3Qgc2V0CiBDT05GSUdfRFVNTVlfQ09OU09MRT15Ci1DT05GSUdfRlJBTUVCVUZGRVJfQ09OU09MRT15Ci0jIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFX1JPVEFUSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZPTlRTIGlzIG5vdCBzZXQKLUNPTkZJR19GT05UXzh4OD15Ci1DT05GSUdfRk9OVF84eDE2PXkKLUNPTkZJR19MT0dPPXkKLUNPTkZJR19MT0dPX0xJTlVYX01PTk89eQotQ09ORklHX0xPR09fTElOVVhfVkdBMTY9eQotQ09ORklHX0xPR09fTElOVVhfQ0xVVDIyND15CiAKICMKICMgU291bmQKICMKLUNPTkZJR19TT1VORD1tCi0KLSMKLSMgQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlCi0jCi1DT05GSUdfU05EPW0KLUNPTkZJR19TTkRfVElNRVI9bQotQ09ORklHX1NORF9QQ009bQotIyBDT05GSUdfU05EX1NFUVVFTkNFUiBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX09TU0VNVUw9eQotQ09ORklHX1NORF9NSVhFUl9PU1M9bQotQ09ORklHX1NORF9QQ01fT1NTPW0KLUNPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKLSMgQ09ORklHX1NORF9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci1DT05GSUdfU05EX1NVUFBPUlRfT0xEX0FQST15Ci1DT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKLSMgQ09ORklHX1NORF9WRVJCT1NFX1BSSU5USyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfREVCVUcgaXMgbm90IHNldAotCi0jCi0jIEdlbmVyaWMgZGV2aWNlcwotIwotQ09ORklHX1NORF9BQzk3X0NPREVDPW0KLSMgQ09ORklHX1NORF9EVU1NWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TTkRfTVRQQVYgaXMgbm90IHNldAotIyBDT05GSUdfU05EX1NFUklBTF9VMTY1NTAgaXMgbm90IHNldAotIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgQUxTQSBBUk0gZGV2aWNlcwotIwotQ09ORklHX1NORF9QWEEyWFhfUENNPW0KLUNPTkZJR19TTkRfUFhBMlhYX0FDOTc9bQotCi0jCi0jIFVTQiBkZXZpY2VzCi0jCi0jIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NORF9VU0JfQ0FJQVEgaXMgbm90IHNldAotCi0jCi0jIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKLSMKLSMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAotCi0jCi0jIE9wZW4gU291bmQgU3lzdGVtCi0jCi0jIENPTkZJR19TT1VORF9QUklNRSBpcyBub3Qgc2V0Ci1DT05GSUdfQUM5N19CVVM9bQotCi0jCi0jIEhJRCBEZXZpY2VzCi0jCisjIENPTkZJR19TT1VORCBpcyBub3Qgc2V0CitDT05GSUdfSElEX1NVUFBPUlQ9eQogQ09ORklHX0hJRD15CiAjIENPTkZJR19ISURfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSElEUkFXIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgSW5wdXQgRGV2aWNlcwogIwotQ09ORklHX1VTQl9ISUQ9eQotIyBDT05GSUdfVVNCX0hJRElOUFVUX1BPV0VSQk9PSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ISURfRkYgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0hJRERFViBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfSElEIGlzIG5vdCBzZXQKIAogIwotIyBVU0Igc3VwcG9ydAorIyBVU0IgSElEIEJvb3QgUHJvdG9jb2wgZHJpdmVycwogIworIyBDT05GSUdfVVNCX0tCRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTU9VU0UgaXMgbm90IHNldAorQ09ORklHX1VTQl9TVVBQT1JUPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfSENEPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfT0hDST15CiAjIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDSSBpcyBub3Qgc2V0CkBAIC04NTIsOSArNzQzLDEwIEBACiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKICMKIENPTkZJR19VU0JfREVWSUNFRlM9eQotIyBDT05GSUdfVVNCX0RFVklDRV9DTEFTUyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFVklDRV9DTEFTUz15CiAjIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NVU1BFTkQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1BFUlNJU1QgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKQEAgLTg2Niw2ICs3NTgsNyBAQAogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9NTUlPIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKICMgQ09ORklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1I4QTY2NTk3X0hDRCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIERldmljZSBDbGFzcyBkcml2ZXJzCkBAIC04ODQsNiArNzc3LDcgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RBVEFGQUIgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRlJFRUNPTSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfU1RPUkFHRV9JU0QyMDAgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfRFBDTSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9VU0JBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9TRERSMDkgaXMgbm90IHNldApAQCAtODk4LDcgKzc5Miw3IEBACiAjCiAjIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9NSUNST1RFSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfTU9OPXkKIAogIwogIyBVU0IgcG9ydCBkcml2ZXJzCkBAIC05MzksNTcgKzgzMyw0OCBAQAogIwogIyBVU0IgR2FkZ2V0IFN1cHBvcnQKICMKLSMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAotQ09ORklHX01NQz1tCi0jIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfTU1DX1VOU0FGRV9SRVNVTUUgaXMgbm90IHNldAorQ09ORklHX1VTQl9HQURHRVQ9eQorIyBDT05GSUdfVVNCX0dBREdFVF9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZJTEVTIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX1NFTEVDVEVEPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfQU1ENTUzNlVEQyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9GU0xfVVNCMiBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX05FVDIyODAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9QWEEyWFggaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9NNjY1OTIgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9HT0tVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfTEg3QTQwWCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfR0FER0VUX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0dBREdFVF9TM0MyNDEwIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfR0FER0VUX0FUOTE9eQorQ09ORklHX1VTQl9BVDkxPXkKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVNTVlfSENEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HQURHRVRfRFVBTFNQRUVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfRVRIPXkKK0NPTkZJR19VU0JfRVRIX1JORElTPXkKKyMgQ09ORklHX1VTQl9HQURHRVRGUyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfRklMRV9TVE9SQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9HX1NFUklBTCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTUlESV9HQURHRVQgaXMgbm90IHNldAorIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKK0NPTkZJR19ORVdfTEVEUz15CitDT05GSUdfTEVEU19DTEFTUz15CiAKICMKLSMgTU1DL1NEIENhcmQgRHJpdmVycworIyBMRUQgZHJpdmVycwogIwotQ09ORklHX01NQ19CTE9DSz1tCitDT05GSUdfTEVEU19HUElPPXkKIAogIwotIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKKyMgTEVEIFRyaWdnZXJzCiAjCi1DT05GSUdfTU1DX1BYQT1tCi0KLSMKLSMgUmVhbCBUaW1lIENsb2NrCi0jCitDT05GSUdfTEVEU19UUklHR0VSUz15CisjIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAorQ09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQ9eQogQ09ORklHX1JUQ19MSUI9eQotQ09ORklHX1JUQ19DTEFTUz1tCi0KLSMKLSMgUlRDIGludGVyZmFjZXMKLSMKLUNPTkZJR19SVENfSU5URl9TWVNGUz15Ci1DT05GSUdfUlRDX0lOVEZfUFJPQz15Ci1DT05GSUdfUlRDX0lOVEZfREVWPXkKLSMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEkyQyBSVEMgZHJpdmVycwotIwotCi0jCi0jIFNQSSBSVEMgZHJpdmVycwotIwotCi0jCi0jIFBsYXRmb3JtIFJUQyBkcml2ZXJzCi0jCi0jIENPTkZJR19SVENfRFJWX0NNT1MgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAotIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAotQ09ORklHX1JUQ19EUlZfVjMwMjA9bQotCi0jCi0jIG9uLUNQVSBSVEMgZHJpdmVycwotIwotQ09ORklHX1JUQ19EUlZfU0ExMTAwPW0KKyMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC05OTcsMTcgKzg4MiwxMSBAQAogQ09ORklHX0VYVDJfRlM9eQogIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0CiAjIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0Ci1DT05GSUdfRVhUM19GUz15Ci1DT05GSUdfRVhUM19GU19YQVRUUj15Ci0jIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VYVDNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfRVhUNERFVl9GUyBpcyBub3Qgc2V0Ci1DT05GSUdfSkJEPXkKLSMgQ09ORklHX0pCRF9ERUJVRyBpcyBub3Qgc2V0Ci1DT05GSUdfRlNfTUJDQUNIRT15CiAjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKK0NPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldApAQCAtMTAxOSw3ICs4OTgsNyBAQAogQ09ORklHX0ROT1RJRlk9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FVVE9GUzRfRlMgaXMgbm90IHNldAotIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CitDT05GSUdfRlVTRV9GUz1tCiAKICMKICMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwpAQCAtMTAzMSw3ICs5MTAsNyBAQAogIyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfRkFUX0ZTPXkKLUNPTkZJR19NU0RPU19GUz15CisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CiBDT05GSUdfVkZBVF9GUz15CiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCkBAIC0xMDQ2LDcgKzkyNSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMDYyLDEwICs5NDAsMTIgQEAKIENPTkZJR19KRkZTMl9GUz15CiBDT05GSUdfSkZGUzJfRlNfREVCVUc9MAogQ09ORklHX0pGRlMyX0ZTX1dSSVRFQlVGRkVSPXkKLUNPTkZJR19KRkZTMl9TVU1NQVJZPXkKKyMgQ09ORklHX0pGRlMyX0ZTX1dCVUZfVkVSSUZZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pGRlMyX1NVTU1BUlkgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAogIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAogQ09ORklHX0pGRlMyX1JUSU1FPXkKICMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CkBAIC0xMDc0LDQ3ICs5NTQsNDAgQEAKICMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNWX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0Ci0KLSMKLSMgTmV0d29yayBGaWxlIFN5c3RlbXMKLSMKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKIENPTkZJR19ORlNfRlM9eQogQ09ORklHX05GU19WMz15Ci0jIENPTkZJR19ORlNfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19WNCBpcyBub3Qgc2V0CitDT05GSUdfTkZTX1YzX0FDTD15CitDT05GSUdfTkZTX1Y0PXkKICMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQogQ09ORklHX0xPQ0tEX1Y0PXkKK0NPTkZJR19ORlNfQUNMX1NVUFBPUlQ9eQogQ09ORklHX05GU19DT01NT049eQogQ09ORklHX1NVTlJQQz15CitDT05GSUdfU1VOUlBDX0dTUz15CiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CitDT05GSUdfUlBDU0VDX0dTU19LUkI1PXkKICMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAotQ09ORklHX1NNQl9GUz15Ci0jIENPTkZJR19TTUJfTkxTX0RFRkFVTFQgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NPREFfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZTX0ZTIGlzIG5vdCBzZXQKLSMgQ09ORklHXzlQX0ZTIGlzIG5vdCBzZXQKIAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKICMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwogQ09ORklHX05MUz15CiBDT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0Ci0jIENPTkZJR19OTFNfQ09ERVBBR0VfODUwIGlzIG5vdCBzZXQKK0NPTkZJR19OTFNfQ09ERVBBR0VfODUwPXkKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTIgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfODU3IGlzIG5vdCBzZXQKQEAgLTExNDgsMzAgKzEwMjEsMjQgQEAKICMgQ09ORklHX05MU19JU084ODU5XzE1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfVSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX1VURjg9eQotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAogIyBDT05GSUdfRExNIGlzIG5vdCBzZXQKLQotIwotIyBQcm9maWxpbmcgc3VwcG9ydAotIwotIyBDT05GSUdfUFJPRklMSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOU1RSVU1FTlRBVElPTiBpcyBub3Qgc2V0CiAKICMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKK0NPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CitDT05GSUdfU0NIRURfREVCVUc9eQogIyBDT05GSUdfU0NIRURTVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19USU1FUl9TVEFUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKQEAgLTExODEsMTkgKzEwNDgsMjMgQEAKICMgQ09ORklHX0RFQlVHX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS19BTExPQyBpcyBub3Qgc2V0CiAjIENPTkZJR19QUk9WRV9MT0NLSU5HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xPQ0tfU1RBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DS19TTEVFUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19MT0NLSU5HX0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfS09CSkVDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19CVUdWRVJCT1NFIGlzIG5vdCBzZXQKLUNPTkZJR19ERUJVR19JTkZPPXkKK0NPTkZJR19ERUJVR19CVUdWRVJCT1NFPXkKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15CiBDT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdfRkFVTFRfSU5KRUNUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX1VTRVI9eQotQ09ORklHX0RFQlVHX0VSUk9SUz15CisjIENPTkZJR19ERUJVR19FUlJPUlMgaXMgbm90IHNldAogQ09ORklHX0RFQlVHX0xMPXkKICMgQ09ORklHX0RFQlVHX0lDRURDQyBpcyBub3Qgc2V0CiAKQEAgLTEyMDIsNTEgKzEwNzMsNDggQEAKICMKICMgQ09ORklHX0tFWVMgaXMgbm90IHNldAogIyBDT05GSUdfU0VDVVJJVFkgaXMgbm90IHNldAotCi0jCi0jIENyeXB0b2dyYXBoaWMgb3B0aW9ucwotIworIyBDT05GSUdfU0VDVVJJVFlfRklMRV9DQVBBQklMSVRJRVMgaXMgbm90IHNldAogQ09ORklHX0NSWVBUTz15Ci1DT05GSUdfQ1JZUFRPX0FMR0FQST1tCi1DT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj1tCi1DT05GSUdfQ1JZUFRPX01BTkFHRVI9bQorQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9eQorQ09ORklHX0NSWVBUT19NQU5BR0VSPXkKICMgQ09ORklHX0NSWVBUT19ITUFDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDQgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX01ENSBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX01ENT15CiAjIENPTkZJR19DUllQVE9fU0hBMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEE1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fRUNCPW0KLUNPTkZJR19DUllQVE9fQ0JDPW0KLUNPTkZJR19DUllQVE9fUENCQz1tCisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQ0JDPXkKKyMgQ09ORklHX0NSWVBUT19QQ0JDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQogIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BRVM9bQorIyBDT05GSUdfQ1JZUFRPX0FFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19BUkM0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0FOVUJJUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RFU1QgaXMgbm90IHNldAotCi0jCi0jIEhhcmR3YXJlIGNyeXB0byBkZXZpY2VzCi0jCisjIENPTkZJR19DUllQVE9fQVVUSEVOQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fSFcgaXMgbm90IHNldAogCiAjCiAjIExpYnJhcnkgcm91dGluZXMKQEAgLTEyNTYsNiArMTEyNCw3IEBACiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKIENPTkZJR19aTElCX0lORkxBVEU9eQogQ09ORklHX1pMSUJfREVGTEFURT15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcgYi9hcmNoL2FybS9jb25maWdzL3ZlcnNhdGlsZV9kZWZjb25maWcKaW5kZXggNDhkY2E2OS4uODM1NWY4OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vY29uZmlncy92ZXJzYXRpbGVfZGVmY29uZmlnCisrKyBiL2FyY2gvYXJtL2NvbmZpZ3MvdmVyc2F0aWxlX2RlZmNvbmZpZwpAQCAtMTUxLDcgKzE1MSw2IEBACiAjIEtlcm5lbCBGZWF0dXJlcwogIwogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKICMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfRElTQ09OVElHTUVNX0VOQUJMRSBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnIGIvYXJjaC9hcm0vY29uZmlncy94bV94MjcwX2RlZmNvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDY2JQpyZW5hbWUgZnJvbSBhcmNoL2FybS9jb25maWdzL2NtX3gyNzBfZGVmY29uZmlnCnJlbmFtZSB0byBhcmNoL2FybS9jb25maWdzL3htX3gyNzBfZGVmY29uZmlnCmluZGV4IDVjYWIwODMuLmFhNDBkOTEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2NvbmZpZ3MvY21feDI3MF9kZWZjb25maWcKKysrIGIvYXJjaC9hcm0vY29uZmlncy94bV94MjcwX2RlZmNvbmZpZwpAQCAtMSwxMyArMSwxMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyCi0jIFdlZCBKdWwgMTggMTQ6MTE6NDggMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI1CisjIFN1biBNYXkgMTEgMTU6MTI6NTIgMjAwOAogIwogQ09ORklHX0FSTT15CiBDT05GSUdfU1lTX1NVUFBPUlRTX0FQTV9FTVVMQVRJT049eQogQ09ORklHX0dFTkVSSUNfR1BJTz15CiBDT05GSUdfR0VORVJJQ19USU1FPXkKLSMgQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX01NVT15CiAjIENPTkZJR19OT19JT1BPUlQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpAQCAtMjEsMjEgKzIxLDE4IEBACiAjIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfSFdFSUdIVD15CiBDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CiBDT05GSUdfWk9ORV9ETUE9eQogQ09ORklHX0FSQ0hfTVREX1hJUD15CiBDT05GSUdfVkVDVE9SU19CQVNFPTB4ZmZmZjAwMDAKIENPTkZJR19ERUZDT05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCiAKICMKLSMgQ29kZSBtYXR1cml0eSBsZXZlbCBvcHRpb25zCisjIEdlbmVyYWwgc2V0dXAKICMKIENPTkZJR19FWFBFUklNRU5UQUw9eQogQ09ORklHX0JST0tFTl9PTl9TTVA9eQogQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgotCi0jCi0jIEdlbmVyYWwgc2V0dXAKLSMKIENPTkZJR19MT0NBTFZFUlNJT049IiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19TV0FQPXkKQEAgLTQ0LDEzICs0MSwyMCBAQAogIyBDT05GSUdfUE9TSVhfTVFVRVVFIGlzIG5vdCBzZXQKICMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAogIyBDT05GSUdfVEFTS1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTRVJfTlMgaXMgbm90IHNldAogIyBDT05GSUdfQVVESVQgaXMgbm90IHNldAogQ09ORklHX0lLQ09ORklHPXkKIENPTkZJR19JS0NPTkZJR19QUk9DPXkKLUNPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNAorIyBDT05GSUdfQ0dST1VQUyBpcyBub3Qgc2V0CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorQ09ORklHX1VTRVJfU0NIRUQ9eQorIyBDT05GSUdfQ0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIENPTkZJR19TWVNGU19ERVBSRUNBVEVEPXkKK0NPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyPXkKICMgQ09ORklHX1JFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTUVTUEFDRVMgaXMgbm90IHNldAogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNTgsNiArNjIsNyBAQAogQ09ORklHX0VNQkVEREVEPXkKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiAjIENPTkZJR19LQUxMU1lNU19BTEwgaXMgbm90IHNldAogIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CkBAIC02NSwyNCArNzAsMzQgQEAKIENPTkZJR19QUklOVEs9eQogQ09ORklHX0JVRz15CiBDT05GSUdfRUxGX0NPUkU9eQorIyBDT05GSUdfQ09NUEFUX0JSSyBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9GVUxMPXkKIENPTkZJR19GVVRFWD15CiBDT05GSUdfQU5PTl9JTk9ERVM9eQotIyBDT05GSUdfRVBPTEwgaXMgbm90IHNldAotIyBDT05GSUdfU0lHTkFMRkQgaXMgbm90IHNldAotIyBDT05GSUdfVElNRVJGRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FVkVOVEZEIGlzIG5vdCBzZXQKK0NPTkZJR19FUE9MTD15CitDT05GSUdfU0lHTkFMRkQ9eQorQ09ORklHX1RJTUVSRkQ9eQorQ09ORklHX0VWRU5URkQ9eQogQ09ORklHX1NITUVNPXkKLUNPTkZJR19WTV9FVkVOVF9DT1VOVEVSUz15Ci1DT05GSUdfU0xBQj15Ci0jIENPTkZJR19TTFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NMVUJfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0CisjIENPTkZJR19NQVJLRVJTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX09QUk9GSUxFPXkKKyMgQ09ORklHX0tQUk9CRVMgaXMgbm90IHNldAorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BST0NfUEFHRV9NT05JVE9SIGlzIG5vdCBzZXQKIENPTkZJR19SVF9NVVRFWEVTPXkKICMgQ09ORklHX1RJTllfU0hNRU0gaXMgbm90IHNldAogQ09ORklHX0JBU0VfU01BTEw9MAogQ09ORklHX01PRFVMRVM9eQogQ09ORklHX01PRFVMRV9VTkxPQUQ9eQotQ09ORklHX01PRFVMRV9GT1JDRV9VTkxPQUQ9eQorIyBDT05GSUdfTU9EVUxFX0ZPUkNFX1VOTE9BRCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RWRVJTSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldAogQ09ORklHX0tNT0Q9eQpAQCAtOTksMTEgKzExNCwxMiBAQAogQ09ORklHX0lPU0NIRURfQVM9eQogQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQogQ09ORklHX0lPU0NIRURfQ0ZRPXkKLUNPTkZJR19ERUZBVUxUX0FTPXkKKyMgQ09ORklHX0RFRkFVTFRfQVMgaXMgbm90IHNldAogIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUZBVUxUX0NGUSBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9DRlE9eQogIyBDT05GSUdfREVGQVVMVF9OT09QIGlzIG5vdCBzZXQKLUNPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImFudGljaXBhdG9yeSIKK0NPTkZJR19ERUZBVUxUX0lPU0NIRUQ9ImNmcSIKK0NPTkZJR19DTEFTU0lDX1JDVT15CiAKICMKICMgU3lzdGVtIFR5cGUKQEAgLTEzMSw2ICsxNDcsOCBAQAogIyBDT05GSUdfQVJDSF9MNzIwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0tTODY5NSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX05TOVhYWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX01YQyBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09SSU9ONVggaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9QTlg0MDA4IGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX1BYQT15CiAjIENPTkZJR19BUkNIX1JQQyBpcyBub3Qgc2V0CkBAIC0xNDAsMTkgKzE1OCw0MSBAQAogIyBDT05GSUdfQVJDSF9MSDdBNDBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfREFWSU5DSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9NU003WDAwQSBpcyBub3Qgc2V0CiBDT05GSUdfRE1BQk9VTkNFPXkKIAogIwotIyBJbnRlbCBQWEEyeHggSW1wbGVtZW50YXRpb25zCisjIEludGVsIFBYQTJ4eC9QWEEzeHggSW1wbGVtZW50YXRpb25zCiAjCisKKyMKKyMgU2VsZWN0IHRhcmdldCBib2FyZHMKKyMKKyMgQ09ORklHX0FSQ0hfR1VNU1RJWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX0xVQkJPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfTUFDSF9MT0dJQ1BEX1BYQTI3MCBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNIX01BSU5TVE9ORSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNIX1BYQV9JRFAgaXMgbm90IHNldAogIyBDT05GSUdfUFhBX1NIQVJQU0wgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9QWEFfRVNFUklFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NQUNIX1RSSVpFUFM0IGlzIG5vdCBzZXQKK0NPTkZJR19NQUNIX0VNX1gyNzA9eQorIyBDT05GSUdfTUFDSF9DT0xJQlJJIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfWllMT05JVEUgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSF9MSVRUTEVUT04gaXMgbm90IHNldAogQ09ORklHX01BQ0hfQVJNQ09SRT15CisjIENPTkZJR19NQUNIX01BR0lDSUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQ0hfUENNMDI3IGlzIG5vdCBzZXQKIENPTkZJR19QWEEyN3g9eQorIyBDT05GSUdfUFhBX1BXTSBpcyBub3Qgc2V0CisKKyMKKyMgQm9vdCBvcHRpb25zCisjCisKKyMKKyMgUG93ZXIgbWFuYWdlbWVudAorIwogCiAjCiAjIFByb2Nlc3NvciBUeXBlCkBAIC0xNjEsNiArMjAxLDcgQEAKIENPTkZJR19DUFVfWFNDQUxFPXkKIENPTkZJR19DUFVfMzJ2NT15CiBDT05GSUdfQ1BVX0FCUlRfRVY1VD15CitDT05GSUdfQ1BVX1BBQlJUX05PSUZBUj15CiBDT05GSUdfQ1BVX0NBQ0hFX1ZJVlQ9eQogQ09ORklHX0NQVV9UTEJfVjRXQkk9eQogQ09ORklHX0NQVV9DUDE1PXkKQEAgLTE4MiwyMSArMjIzLDQwIEBACiBDT05GSUdfUENJX1NZU0NBTEw9eQogQ09ORklHX1BDSV9IT1NUX0lURTgxNTI9eQogIyBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0kgaXMgbm90IHNldAorQ09ORklHX1BDSV9MRUdBQ1k9eQogIyBDT05GSUdfUENJX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkQ9bQorIyBDT05GSUdfUENNQ0lBX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUE9bQorQ09ORklHX1BDTUNJQV9MT0FEX0NJUz15CitDT05GSUdfUENNQ0lBX0lPQ1RMPXkKK0NPTkZJR19DQVJEQlVTPXkKIAogIwotIyBQQ0NBUkQgKFBDTUNJQS9DYXJkQnVzKSBzdXBwb3J0CisjIFBDLWNhcmQgYnJpZGdlcwogIwotIyBDT05GSUdfUENDQVJEIGlzIG5vdCBzZXQKK0NPTkZJR19ZRU5UQT1tCisjIENPTkZJR19ZRU5UQV9PMiBpcyBub3Qgc2V0CisjIENPTkZJR19ZRU5UQV9SSUNPSCBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEFfVEk9eQorIyBDT05GSUdfWUVOVEFfRU5FX1RVTkUgaXMgbm90IHNldAorIyBDT05GSUdfWUVOVEFfVE9TSElCQSBpcyBub3Qgc2V0CisjIENPTkZJR19QRDY3MjkgaXMgbm90IHNldAorIyBDT05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKK0NPTkZJR19QQ01DSUFfUFhBMlhYPW0KK0NPTkZJR19QQ0NBUkRfTk9OU1RBVElDPW0KIAogIwogIyBLZXJuZWwgRmVhdHVyZXMKICMKLSMgQ09ORklHX1RJQ0tfT05FU0hPVCBpcyBub3Qgc2V0CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CisjIENPTkZJR19ISUdIX1JFU19USU1FUlMgaXMgbm90IHNldAorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlVJTEQ9eQogIyBDT05GSUdfUFJFRU1QVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19IWj0xMDAKLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKK0NPTkZJR19BRUFCST15CitDT05GSUdfT0FCSV9DT01QQVQ9eQogIyBDT05GSUdfQVJDSF9ESVNDT05USUdNRU1fRU5BQkxFIGlzIG5vdCBzZXQKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19GTEFUTUVNX01BTlVBTD15CkBAIC0yMDUsNiArMjY1LDggQEAKIENPTkZJR19GTEFUTUVNPXkKIENPTkZJR19GTEFUX05PREVfTUVNX01BUD15CiAjIENPTkZJR19TUEFSU0VNRU1fU1RBVElDIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRSBpcyBub3Qgc2V0CitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00MDk2CiAjIENPTkZJR19SRVNPVVJDRVNfNjRCSVQgaXMgbm90IHNldAogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpAQCAtMjE3LDExICsyNzksMTYgQEAKICMKIENPTkZJR19aQk9PVF9ST01fVEVYVD0weDAKIENPTkZJR19aQk9PVF9ST01fQlNTPTB4MAotQ09ORklHX0NNRExJTkU9IiIKK0NPTkZJR19DTURMSU5FPSJyb290PTFmMDMgbWVtPTMyTSIKICMgQ09ORklHX1hJUF9LRVJORUwgaXMgbm90IHNldAogIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAogCiAjCisjIENQVSBGcmVxdWVuY3kgc2NhbGluZworIworIyBDT05GSUdfQ1BVX0ZSRVEgaXMgbm90IHNldAorCisjCiAjIEZsb2F0aW5nIHBvaW50IGVtdWxhdGlvbgogIwogCkBAIC0yMzgsMTYgKzMwNSwxNyBAQAogQ09ORklHX0JJTkZNVF9FTEY9eQogIyBDT05GSUdfQklORk1UX0FPVVQgaXMgbm90IHNldAogIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAotIyBDT05GSUdfQVJUSFVSIGlzIG5vdCBzZXQKIAogIwogIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMKICMKIENPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfUE1fU1lTRlNfREVQUkVDQVRFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUE1fRU1VTEFUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKK0NPTkZJR19BUE1fRU1VTEFUSU9OPW0KK0NPTkZJR19BUkNIX1NVU1BFTkRfUE9TU0lCTEU9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTI1OCwxNSArMzI2LDE2IEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQogQ09ORklHX1hGUk09eQogIyBDT05GSUdfWEZSTV9VU0VSIGlzIG5vdCBzZXQKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQotIyBDT05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSUNBU1Q9eQogIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15CiBDT05GSUdfSVBfUE5QPXkKQEAgLTI3NSw2ICszNDQsNyBAQAogIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfQUggaXMgbm90IHNldApAQCAtMjg1LDE1ICszNTUsMTMgQEAKIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CiBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVD15Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKKyMgQ09ORklHX0lORVRfTFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgogIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90IHNldAogIyBDT05GSUdfTkVURklMVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX0RDQ1AgaXMgbm90IHNldApAQCAtMzEwLDEwICszNzgsNiBAQAogIyBDT05GSUdfTEFQQiBpcyBub3Qgc2V0CiAjIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOX1JPVVRFUiBpcyBub3Qgc2V0Ci0KLSMKLSMgUW9TIGFuZC9vciBmYWlyIHF1ZXVlaW5nCi0jCiAjIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAogCiAjCkBAIC0zMjEsOCArMzg1LDMzIEBACiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUkRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JUIGlzIG5vdCBzZXQKK0NPTkZJR19CVD1tCitDT05GSUdfQlRfTDJDQVA9bQorQ09ORklHX0JUX1NDTz1tCitDT05GSUdfQlRfUkZDT01NPW0KKyMgQ09ORklHX0JUX1JGQ09NTV9UVFkgaXMgbm90IHNldAorQ09ORklHX0JUX0JORVA9bQorIyBDT05GSUdfQlRfQk5FUF9NQ19GSUxURVIgaXMgbm90IHNldAorIyBDT05GSUdfQlRfQk5FUF9QUk9UT19GSUxURVIgaXMgbm90IHNldAorQ09ORklHX0JUX0hJRFA9bQorCisjCisjIEJsdWV0b290aCBkZXZpY2UgZHJpdmVycworIworQ09ORklHX0JUX0hDSVVTQj1tCitDT05GSUdfQlRfSENJVVNCX1NDTz15CisjIENPTkZJR19CVF9IQ0lCVFNESU8gaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJVUFSVCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCQ00yMDNYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJQQTEwWCBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lCRlVTQiBpcyBub3Qgc2V0CisjIENPTkZJR19CVF9IQ0lEVEwxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSUJUM0MgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQkxVRUNBUkQgaXMgbm90IHNldAorIyBDT05GSUdfQlRfSENJQlRVQVJUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JUX0hDSVZIQ0kgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAogCiAjCkBAIC0zMzEsMTIgKzQyMCw3IEBACiAjIENPTkZJR19DRkc4MDIxMSBpcyBub3Qgc2V0CiBDT05GSUdfV0lSRUxFU1NfRVhUPXkKICMgQ09ORklHX01BQzgwMjExIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTE9bQotIyBDT05GSUdfSUVFRTgwMjExX0RFQlVHIGlzIG5vdCBzZXQKLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfV0VQPW0KLUNPTkZJR19JRUVFODAyMTFfQ1JZUFRfQ0NNUD1tCi0jIENPTkZJR19JRUVFODAyMTFfQ1JZUFRfVEtJUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFODAyMTFfU09GVE1BQyBpcyBub3Qgc2V0CisjIENPTkZJR19JRUVFODAyMTEgaXMgbm90IHNldAogIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF85UCBpcyBub3Qgc2V0CiAKQEAgLTM0NywzOCArNDMxLDQ3IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15Ci1DT05GSUdfRldfTE9BREVSPXkKK0NPTkZJR19GV19MT0FERVI9bQogIyBDT05GSUdfREVCVUdfRFJJVkVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0RFVlJFUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAotQ09ORklHX01URD1tCitDT05GSUdfTVREPXkKICMgQ09ORklHX01URF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQ09OQ0FUIGlzIG5vdCBzZXQKIENPTkZJR19NVERfUEFSVElUSU9OUz15CiAjIENPTkZJR19NVERfUkVEQk9PVF9QQVJUUyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NNRExJTkVfUEFSVFM9eQogIyBDT05GSUdfTVREX0FGU19QQVJUUyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQVI3X1BBUlRTIGlzIG5vdCBzZXQKIAogIwogIyBVc2VyIE1vZHVsZXMgQW5kIFRyYW5zbGF0aW9uIExheWVycwogIwotQ09ORklHX01URF9DSEFSPW0KLUNPTkZJR19NVERfQkxLREVWUz1tCi1DT05GSUdfTVREX0JMT0NLPW0KLSMgQ09ORklHX01URF9CTE9DS19STyBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NIQVI9eQorQ09ORklHX01URF9CTEtERVZTPXkKK0NPTkZJR19NVERfQkxPQ0s9eQogIyBDT05GSUdfRlRMIGlzIG5vdCBzZXQKICMgQ09ORklHX05GVEwgaXMgbm90IHNldAogIyBDT05GSUdfSU5GVEwgaXMgbm90IHNldAogIyBDT05GSUdfUkZEX0ZUTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TU0ZEQyBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfT09QUyBpcyBub3Qgc2V0CiAKICMKICMgUkFNL1JPTS9GbGFzaCBjaGlwIGRyaXZlcnMKICMKLSMgQ09ORklHX01URF9DRkkgaXMgbm90IHNldAotIyBDT05GSUdfTVREX0pFREVDUFJPQkUgaXMgbm90IHNldAorQ09ORklHX01URF9DRkk9eQorQ09ORklHX01URF9KRURFQ1BST0JFPXkKK0NPTkZJR19NVERfR0VOX1BST0JFPXkKK0NPTkZJR19NVERfQ0ZJX0FEVl9PUFRJT05TPXkKK0NPTkZJR19NVERfQ0ZJX05PU1dBUD15CisjIENPTkZJR19NVERfQ0ZJX0JFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0xFX0JZVEVfU1dBUCBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfQ0ZJX0dFT01FVFJZIGlzIG5vdCBzZXQKIENPTkZJR19NVERfTUFQX0JBTktfV0lEVEhfMT15CiBDT05GSUdfTVREX01BUF9CQU5LX1dJRFRIXzI9eQogQ09ORklHX01URF9NQVBfQkFOS19XSURUSF80PXkKQEAgLTM4OSwxNSArNDgyLDI5IEBACiBDT05GSUdfTVREX0NGSV9JMj15CiAjIENPTkZJR19NVERfQ0ZJX0k0IGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9DRklfSTggaXMgbm90IHNldAorIyBDT05GSUdfTVREX09UUCBpcyBub3Qgc2V0CitDT05GSUdfTVREX0NGSV9JTlRFTEVYVD15CitDT05GSUdfTVREX0NGSV9BTURTVEQ9eQorQ09ORklHX01URF9DRklfU1RBQT15CitDT05GSUdfTVREX0NGSV9VVElMPXkKICMgQ09ORklHX01URF9SQU0gaXMgbm90IHNldAogIyBDT05GSUdfTVREX1JPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfQUJTRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9YSVAgaXMgbm90IHNldAogCiAjCiAjIE1hcHBpbmcgZHJpdmVycyBmb3IgY2hpcCBhY2Nlc3MKICMKICMgQ09ORklHX01URF9DT01QTEVYX01BUFBJTkdTIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfUEhZU01BUD15CitDT05GSUdfTVREX1BIWVNNQVBfU1RBUlQ9MHgwCitDT05GSUdfTVREX1BIWVNNQVBfTEVOPTB4NDAwMDAwCitDT05GSUdfTVREX1BIWVNNQVBfQkFOS1dJRFRIPTIKK0NPTkZJR19NVERfUFhBMlhYPXkKKyMgQ09ORklHX01URF9BUk1fSU5URUdSQVRPUiBpcyBub3Qgc2V0CisjIENPTkZJR19NVERfSU1QQTcgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1NIQVJQX1NMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9JTlRFTF9WUl9OT1IgaXMgbm90IHNldAogIyBDT05GSUdfTVREX1BMQVRSQU0gaXMgbm90IHNldAogCiAjCkBAIC00MTUsMTggKzUyMiwxOSBAQAogIyBDT05GSUdfTVREX0RPQzIwMDAgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDEgaXMgbm90IHNldAogIyBDT05GSUdfTVREX0RPQzIwMDFQTFVTIGlzIG5vdCBzZXQKLUNPTkZJR19NVERfTkFORD1tCitDT05GSUdfTVREX05BTkQ9eQogIyBDT05GSUdfTVREX05BTkRfVkVSSUZZX1dSSVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0VDQ19TTUMgaXMgbm90IHNldAogIyBDT05GSUdfTVREX05BTkRfTVVTRVVNX0lEUyBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9IMTkwMCBpcyBub3Qgc2V0Ci1DT05GSUdfTVREX05BTkRfSURTPW0KK0NPTkZJR19NVERfTkFORF9JRFM9eQogIyBDT05GSUdfTVREX05BTkRfRElTS09OQ0hJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfTkFORF9TSEFSUFNMIGlzIG5vdCBzZXQKICMgQ09ORklHX01URF9OQU5EX0NBRkUgaXMgbm90IHNldAotQ09ORklHX01URF9OQU5EX0NNX1gyNzA9bQorQ09ORklHX01URF9OQU5EX0NNX1gyNzA9eQogIyBDT05GSUdfTVREX05BTkRfTkFORFNJTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NVERfTkFORF9QTEFURk9STSBpcyBub3Qgc2V0CitDT05GSUdfTVREX05BTkRfUExBVEZPUk09eQorIyBDT05GSUdfTVREX0FMQVVEQSBpcyBub3Qgc2V0CiAjIENPTkZJR19NVERfT05FTkFORCBpcyBub3Qgc2V0CiAKICMKQEAgLTQ0NywzNiArNTU1LDEzIEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTEyMDAwCi1DT05GSUdfQkxLX0RFVl9SQU1fQkxPQ0tTSVpFPTEwMjQKK0NPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9bQotQ09ORklHX0lERV9NQVhfSFdJRlM9NAotQ09ORklHX0JMS19ERVZfSURFPW0KLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz1tCi0jIENPTkZJR19JREVESVNLX01VTFRJX01PREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQ0Q9bQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLSMgQ09ORklHX0lERV9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUENJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERVBDSV9QQ0lCVVNfT1JERVIgaXMgbm90IHNldAotIyBDT05GSUdfSURFX0FSTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERURNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JU0NfREVWSUNFUyBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9JREU9eQorIyBDT05GSUdfSURFIGlzIG5vdCBzZXQKIAogIwogIyBTQ1NJIGRldmljZSBzdXBwb3J0CkBAIC00ODYsNyArNTcxLDcgQEAKIENPTkZJR19TQ1NJX0RNQT15CiAjIENPTkZJR19TQ1NJX1RHVCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1BST0NfRlM9eQogCiAjCiAjIFNDU0kgc3VwcG9ydCB0eXBlIChkaXNrLCB0YXBlLCBDRC1ST00pCkBAIC01MTMsMTIgKzU5OCw5IEBACiAjIENPTkZJR19TQ1NJX1NQSV9BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TQVNfQVRUUlMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBzZXQKLQotIwotIyBTQ1NJIGxvdy1sZXZlbCBkcml2ZXJzCi0jCisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9MT1dMRVZFTD15CiAjIENPTkZJR19JU0NTSV9UQ1AgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl8zV19YWFhYX1JBSUQgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV8zV185WFhYIGlzIG5vdCBzZXQKQEAgLTUyOSw2ICs2MTEsNyBAQAogIyBDT05GSUdfU0NTSV9BSUM3OVhYIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfQUlDOTRYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0RQVF9JMk8gaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9BRFZBTlNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0FSQ01TUiBpcyBub3Qgc2V0CiAjIENPTkZJR19NRUdBUkFJRF9ORVdHRU4gaXMgbm90IHNldAogIyBDT05GSUdfTUVHQVJBSURfTEVHQUNZIGlzIG5vdCBzZXQKQEAgLTUzOSw4ICs2MjIsMTAgQEAKICMgQ09ORklHX1NDU0lfSVBTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JVElPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSU5JQTEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX01WU0FTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU1RFWCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NZTTUzQzhYWF8yIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfSVBSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfUUxPR0lDXzEyODAgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfRkMgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9RTEFfSVNDU0kgaXMgbm90IHNldApAQCAtNTUwLDE2ICs2MzUsNjkgQEAKICMgQ09ORklHX1NDU0lfTlNQMzIgaXMgbm90IHNldAogIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVEEgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAorQ09ORklHX0FUQT1tCisjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9QTVAgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9BSENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorQ09ORklHX0FUQV9TRkY9eQorIyBDT05GSUdfU0FUQV9TVlcgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX1BJSVggaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9NViBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CisjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUxJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQU1EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ01ENjRYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0VGQVIgaXMgbm90IHNldAorIyBDT05GSUdfQVRBX0dFTkVSSUMgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzNjYgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9IUFQzWDJOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSFBUM1gzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSVQ4MjEzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfSk1JQ1JPTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTkVUQ0VMTCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTlM4NzQxNSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX09QVEkgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9PUFRJRE1BIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX1BDTUNJQT1tCisjIENPTkZJR19QQVRBX1BEQ19PTEQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9SQURJU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0MxMjAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfU0VSVkVSV09SS1MgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJTDY4MCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX1dJTkJPTkQgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QTEFURk9STSBpcyBub3Qgc2V0CiAjIENPTkZJR19NRCBpcyBub3Qgc2V0Ci0KLSMKLSMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAotIwogIyBDT05GSUdfRlVTSU9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TUEkgaXMgbm90IHNldAotIyBDT05GSUdfRlVTSU9OX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZVU0lPTl9TQVMgaXMgbm90IHNldAogCiAjCiAjIElFRUUgMTM5NCAoRmlyZVdpcmUpIHN1cHBvcnQKQEAgLTU3NCw2ICs3MTIsNyBAQAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfQVJDTkVUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BIWUxJQiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX0VUSEVSTkVUPXkKQEAgLTU4NSw2NCArNzI0LDY1IEBACiAjIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAogIyBDT05GSUdfU01DOTFYIGlzIG5vdCBzZXQKIENPTkZJR19ETTkwMDA9eQorQ09ORklHX0RNOTAwMF9ERUJVR0xFVkVMPTEKICMgQ09ORklHX1NNQzkxMVggaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19SR01JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BDST15CiAjIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAogIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0ZPUkNFREVUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKICMgQ09ORklHX0VFUFJPMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0UxMDAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAogIyBDT05GSUdfODEzOUNQIGlzIG5vdCBzZXQKLUNPTkZJR184MTM5VE9PPW0KK0NPTkZJR184MTM5VE9PPXkKICMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CiAjIENPTkZJR19UTEFOIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9SSElORSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQzkyMDMxIGlzIG5vdCBzZXQKLUNPTkZJR19ORVRERVZfMTAwMD15Ci0jIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAotIyBDT05GSUdfREwySyBpcyBub3Qgc2V0Ci0jIENPTkZJR19FMTAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAotIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NLWTIgaXMgbm90IHNldAotIyBDT05GSUdfVklBX1ZFTE9DSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKLSMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAotIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0Ci1DT05GSUdfTkVUREVWXzEwMDAwPXkKLSMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAotIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLSMgQ09ORklHX1MySU8gaXMgbm90IHNldAotIyBDT05GSUdfTVlSSTEwR0UgaXMgbm90IHNldAotIyBDT05GSUdfTkVUWEVOX05JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUREVWXzEwMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1RSIGlzIG5vdCBzZXQKIAogIwogIyBXaXJlbGVzcyBMQU4KICMKICMgQ09ORklHX1dMQU5fUFJFODAyMTEgaXMgbm90IHNldAotIyBDT05GSUdfV0xBTl84MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfV0xBTl84MDIxMT15CisjIENPTkZJR19QQ01DSUFfUkFZQ1MgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMjAwIGlzIG5vdCBzZXQKK0NPTkZJR19MSUJFUlRBUz1tCisjIENPTkZJR19MSUJFUlRBU19VU0IgaXMgbm90IHNldAorIyBDT05GSUdfTElCRVJUQVNfQ1MgaXMgbm90IHNldAorQ09ORklHX0xJQkVSVEFTX1NESU89bQorIyBDT05GSUdfTElCRVJUQVNfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSEVSTUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FUTUVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FJUk9fQ1MgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1dMMzUwMSBpcyBub3Qgc2V0CisjIENPTkZJR19QUklTTTU0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9aRDEyMDEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX05FVF9STkRJU19XTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRkkgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPU1RBUCBpcyBub3Qgc2V0CiAKICMKICMgVVNCIE5ldHdvcmsgQWRhcHRlcnMKQEAgLTY1MSwxNSArNzkxLDI0IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1BDTUNJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAogIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CiAjIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QUFAgaXMgbm90IHNldAorQ09ORklHX1BQUD1tCitDT05GSUdfUFBQX01VTFRJTElOSz15CitDT05GSUdfUFBQX0ZJTFRFUj15CitDT05GSUdfUFBQX0FTWU5DPW0KKyMgQ09ORklHX1BQUF9TWU5DX1RUWSBpcyBub3Qgc2V0CitDT05GSUdfUFBQX0RFRkxBVEU9bQorQ09ORklHX1BQUF9CU0RDT01QPW0KKyMgQ09ORklHX1BQUF9NUFBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUE9FIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BQUE9MMlRQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NMSVAgaXMgbm90IHNldAorQ09ORklHX1NMSEM9bQogIyBDT05GSUdfTkVUX0ZDIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NIQVBFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRDT05TT0xFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUiBpcyBub3Qgc2V0CkBAIC02NzUsMjAgKzgyNCwzMiBAQAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19JTlBVVF9NT1VTRURFViBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTU9VU0VERVY9eQorQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKK0NPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CitDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FQTVBPV0VSIGlzIG5vdCBzZXQKIAogIwogIyBJbnB1dCBEZXZpY2UgRHJpdmVycwogIwotIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKK0NPTkZJR19LRVlCT0FSRF9BVEtCRD15CisjIENPTkZJR19LRVlCT0FSRF9TVU5LQkQgaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfTEtLQkQgaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfWFRLQkQgaXMgbm90IHNldAorIyBDT05GSUdfS0VZQk9BUkRfTkVXVE9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlzIG5vdCBzZXQKK0NPTkZJR19LRVlCT0FSRF9QWEEyN3g9bQorIyBDT05GSUdfS0VZQk9BUkRfR1BJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9KT1lTVElDSyBpcyBub3Qgc2V0CiAjIENPTkZJR19JTlBVVF9UQUJMRVQgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CkBAIC02OTcsMTMgKzg1OCwyMiBAQAogIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CiAjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CiBDT05GSUdfVE9VQ0hTQ1JFRU5fVUNCMTQwMD1tCitDT05GSUdfVE9VQ0hTQ1JFRU5fV005N1hYPW0KKyMgQ09ORklHX1RPVUNIU0NSRUVOX1dNOTcwNSBpcyBub3Qgc2V0CitDT05GSUdfVE9VQ0hTQ1JFRU5fV005NzEyPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1dNOTcxMyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9XTTk3WFhfTUFJTlNUT05FIGlzIG5vdCBzZXQKICMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAogIyBDT05GSUdfSU5QVVRfTUlTQyBpcyBub3Qgc2V0CiAKICMKICMgSGFyZHdhcmUgSS9PIHBvcnRzCiAjCi0jIENPTkZJR19TRVJJTyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU89eQorIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldAorQ09ORklHX1NFUklPX0xJQlBTMj15CisjIENPTkZJR19TRVJJT19SQVcgaXMgbm90IHNldAogIyBDT05GSUdfR0FNRVBPUlQgaXMgbm90IHNldAogCiAjCkBAIC03MTMsNyArODgzLDkgQEAKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKICMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0CitDT05GSUdfREVWS01FTT15CiAjIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorIyBDT05GSUdfTk9aT01JIGlzIG5vdCBzZXQKIAogIwogIyBTZXJpYWwgZHJpdmVycwpAQCAtNzMwLDgzICs5MDIsMTQxIEBACiAjIENPTkZJR19TRVJJQUxfSlNNIGlzIG5vdCBzZXQKIENPTkZJR19VTklYOThfUFRZUz15CiBDT05GSUdfTEVHQUNZX1BUWVM9eQotQ09ORklHX0xFR0FDWV9QVFlfQ09VTlQ9MjU2CitDT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0xNgogIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dBVENIRE9HIGlzIG5vdCBzZXQKLUNPTkZJR19IV19SQU5ET009bQorIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKICMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKICMgQ09ORklHX1IzOTY0IGlzIG5vdCBzZXQKICMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQV0lSRUxFU1MgaXMgbm90IHNldAogIyBDT05GSUdfUkFXX0RSSVZFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19UQ0dfVFBNIGlzIG5vdCBzZXQKIENPTkZJR19ERVZQT1JUPXkKLSMgQ09ORklHX0kyQyBpcyBub3Qgc2V0CitDT05GSUdfSTJDPXkKK0NPTkZJR19JMkNfQk9BUkRJTkZPPXkKK0NPTkZJR19JMkNfQ0hBUkRFVj1tCiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19HUElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19JODEwIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfUFhBPXkKKyMgQ09ORklHX0kyQ19QWEFfU0xBVkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BJSVg0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ORk9SQ0UyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19PQ09SRVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BST1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0FWQUdFNCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lNVEVDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM1NTk1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM2MzAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzk2WCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVEFPU19FVk0gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NUVUIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RJTllfVVNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUEgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQVBSTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVk9PRE9PMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKKworIworIyBNaXNjZWxsYW5lb3VzIEkyQyBDaGlwIHN1cHBvcnQKKyMKKyMgQ09ORklHX0RTMTY4MiBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX0VFUFJPTSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAorIyBDT05GSUdfUENGODU3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1BDRjg1OTEgaXMgbm90IHNldAorIyBDT05GSUdfVFBTNjUwMTAgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfVFNMMjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DSElQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NQSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TUElfTUFTVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0dQSU9fTElCPXkKKworIworIyBHUElPIFN1cHBvcnQKKyMKKyMgQ09ORklHX0RFQlVHX0dQSU8gaXMgbm90IHNldAorCisjCisjIEkyQyBHUElPIGV4cGFuZGVyczoKKyMKKyMgQ09ORklHX0dQSU9fUENBOTUzWCBpcyBub3Qgc2V0CisjIENPTkZJR19HUElPX1BDRjg1N1ggaXMgbm90IHNldAorCisjCisjIFNQSSBHUElPIGV4cGFuZGVyczoKKyMKICMgQ09ORklHX1cxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BPV0VSX1NVUFBMWSBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0Ci1DT05GSUdfTUlTQ19ERVZJQ0VTPXkKLSMgQ09ORklHX1BIQU5UT00gaXMgbm90IHNldAotIyBDT05GSUdfRUVQUk9NXzkzQ1g2IGlzIG5vdCBzZXQKLSMgQ09ORklHX1NHSV9JT0M0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1RJRk1fQ09SRSBpcyBub3Qgc2V0CisjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotQ09ORklHX05FV19MRURTPXkKLUNPTkZJR19MRURTX0NMQVNTPXkKLQotIwotIyBMRUQgZHJpdmVycwotIwotQ09ORklHX0xFRFNfQ01fWDI3MD15Ci0KLSMKLSMgTEVEIFRyaWdnZXJzCi0jCi1DT05GSUdfTEVEU19UUklHR0VSUz15Ci0jIENPTkZJR19MRURTX1RSSUdHRVJfVElNRVIgaXMgbm90IHNldAotIyBDT05GSUdfTEVEU19UUklHR0VSX0lERV9ESVNLIGlzIG5vdCBzZXQKLUNPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX01GRF9BU0lDMyBpcyBub3Qgc2V0CisjIENPTkZJR19IVENfRUdQSU8gaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGltZWRpYSBkZXZpY2VzCiAjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKICMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiAjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0Ci1DT05GSUdfREFCPXkKLSMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIworIyBDT05GSUdfREFCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAotCi0jCi0jIERpc3BsYXkgZGV2aWNlIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RJU1BMQVlfU1VQUE9SVCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk0gaXMgbm90IHNldAogIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNldAorIyBDT05GSUdfVklERU9fT1VUUFVUX0NPTlRST0wgaXMgbm90IHNldAogQ09ORklHX0ZCPXkKICMgQ09ORklHX0ZJUk1XQVJFX0VESUQgaXMgbm90IHNldAogIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKIENPTkZJR19GQl9DRkJfRklMTFJFQ1Q9eQogQ09ORklHX0ZCX0NGQl9DT1BZQVJFQT15CiBDT05GSUdfRkJfQ0ZCX0lNQUdFQkxJVD15CisjIENPTkZJR19GQl9DRkJfUkVWX1BJWEVMU19JTl9CWVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1NZU19GSUxMUkVDVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfQ09QWUFSRUEgaXMgbm90IHNldAogIyBDT05GSUdfRkJfU1lTX0lNQUdFQkxJVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19GQl9TWVNfRk9QUyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfREVGRVJSRURfSU89eQogIyBDT05GSUdfRkJfU1ZHQUxJQiBpcyBub3Qgc2V0CkBAIC04NDIsOSArMTA3MiwxNyBAQAogIyBDT05GSUdfRkJfQVJLIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0CiBDT05GSUdfRkJfUFhBPXkKLSMgQ09ORklHX0ZCX1BYQV9QQVJBTUVURVJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BYQV9TTUFSVFBBTkVMIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9QWEFfUEFSQU1FVEVSUz15CiBDT05GSUdfRkJfTUJYPW0KKyMgQ09ORklHX0ZCX0FNMjAwRVBEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKKworIworIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0CisjCisjIENPTkZJR19ESVNQTEFZX1NVUFBPUlQgaXMgbm90IHNldAogCiAjCiAjIENvbnNvbGUgZGlzcGxheSBkcml2ZXIgc3VwcG9ydApAQCAtOTA0LDEwICsxMTQyLDEyIEBACiAjIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAogIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVcyIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU05EX09YWUdFTiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAogIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldApAQCAtOTMyLDYgKzExNzIsNyBAQAogIyBDT05GSUdfU05EX0hEQV9JTlRFTCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hJRklFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldApAQCAtOTQ5LDYgKzExOTAsNyBAQAogIyBDT05GSUdfU05EX1RSSURFTlQgaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90IHNldAogIyBDT05GSUdfU05EX1ZJQTgyWFhfTU9ERU0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUlRVT1NPIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CiAjIENPTkZJR19TTkRfWU1GUENJIGlzIG5vdCBzZXQKICMgQ09ORklHX1NORF9BQzk3X1BPV0VSX1NBVkUgaXMgbm90IHNldApAQCAtOTY2LDE4ICsxMjA4LDMzIEBACiAjIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKIAogIworIyBQQ01DSUEgZGV2aWNlcworIworIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAorCisjCiAjIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKICMKICMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAogCiAjCisjIEFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcworIworCisjCisjIFNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAKKyMKKworIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwogIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAogQ09ORklHX0FDOTdfQlVTPW0KIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKLSMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSElEX0RFQlVHPXkKKyMgQ09ORklHX0hJRFJBVyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIElucHV0IERldmljZXMKQEAgLTk5Miw2ICsxMjQ5LDcgQEAKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKICMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVMgaXMgbm90IHNldAogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKQEAgLTEwMDAsOCArMTI1OCw5IEBACiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfV0hJVEVMSVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9PVEdfQkxBQ0tMSVNUX0hVQiBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCkBAIC0xMDMzLDEzICsxMjkyLDE2IEBACiAjIENPTkZJR19VU0JfU1RPUkFHRV9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0ZSRUVDT00gaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfSVNEMjAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX0RQQ00gaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfVVNCQVQgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjA5IGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfTElCVVNVQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDUyLDEwICsxMzE0LDYgQEAKICMKICMgVVNCIHBvcnQgZHJpdmVycwogIwotCi0jCi0jIFVTQiBTZXJpYWwgQ29udmVydGVyIHN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9TRVJJQUwgaXMgbm90IHNldAogCiAjCkBAIC0xMDgwLDE0ICsxMzM4LDYgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogQ09ORklHX01NQz1tCiAjIENPTkZJR19NTUNfREVCVUcgaXMgbm90IHNldApAQCAtMTA5OCw2ICsxMzQ4LDcgQEAKICMKIENPTkZJR19NTUNfQkxPQ0s9bQogQ09ORklHX01NQ19CTE9DS19CT1VOQ0U9eQorIyBDT05GSUdfU0RJT19VQVJUIGlzIG5vdCBzZXQKIAogIwogIyBNTUMvU0QgSG9zdCBDb250cm9sbGVyIERyaXZlcnMKQEAgLTExMDUsMTAgKzEzNTYsMjIgQEAKIENPTkZJR19NTUNfUFhBPW0KICMgQ09ORklHX01NQ19TREhDSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NTUNfVElGTV9TRCBpcyBub3Qgc2V0CitDT05GSUdfTkVXX0xFRFM9eQorQ09ORklHX0xFRFNfQ0xBU1M9eQogCiAjCi0jIFJlYWwgVGltZSBDbG9jaworIyBMRUQgZHJpdmVycwogIworIyBDT05GSUdfTEVEU19HUElPIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX0NNX1gyNzA9eQorCisjCisjIExFRCBUcmlnZ2VycworIworQ09ORklHX0xFRFNfVFJJR0dFUlM9eQorIyBDT05GSUdfTEVEU19UUklHR0VSX1RJTUVSIGlzIG5vdCBzZXQKK0NPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKIENPTkZJR19SVENfTElCPXkKIENPTkZJR19SVENfQ0xBU1M9eQogQ09ORklHX1JUQ19IQ1RPU1lTPXkKQEAgLTExMjUsMTEgKzEzODgsMzIgQEAKICMgQ09ORklHX1JUQ19EUlZfVEVTVCBpcyBub3Qgc2V0CiAKICMKKyMgSTJDIFJUQyBkcml2ZXJzCisjCisjIENPTkZJR19SVENfRFJWX0RTMTMwNyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTM3NCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX01BWDY5MDAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9SUzVDMzcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1gxMjA1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUENGODU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NNDFUODAgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TMzUzOTBBIGlzIG5vdCBzZXQKKworIworIyBTUEkgUlRDIGRyaXZlcnMKKyMKKworIwogIyBQbGF0Zm9ybSBSVEMgZHJpdmVycwogIwogIyBDT05GSUdfUlRDX0RSVl9DTU9TIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfRFMxNTExIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUQ19EUlZfRFMxNzQyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfU1RLMTdUQTggaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUODYgaXMgbm90IHNldAogIyBDT05GSUdfUlRDX0RSVl9NNDhUNTkgaXMgbm90IHNldAogQ09ORklHX1JUQ19EUlZfVjMwMjA9eQpAQCAtMTEzOCwxOSArMTQyMiw3IEBACiAjIG9uLUNQVSBSVEMgZHJpdmVycwogIwogQ09ORklHX1JUQ19EUlZfU0ExMTAwPXkKLQotIwotIyBETUEgRW5naW5lIHN1cHBvcnQKLSMKLSMgQ09ORklHX0RNQV9FTkdJTkUgaXMgbm90IHNldAotCi0jCi0jIERNQSBDbGllbnRzCi0jCi0KLSMKLSMgRE1BIERldmljZXMKLSMKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCkBAIC0xMTY0LDIwICsxNDM2LDE2IEBACiAjIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15Ci0jIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQogIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZTX1BPU0lYX0FDTCBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKICMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKICMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BVVRPRlM0X0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE5MSw5ICsxNDU5LDkgQEAKICMKICMgRE9TL0ZBVC9OVCBGaWxlc3lzdGVtcwogIwotQ09ORklHX0ZBVF9GUz15Ci1DT05GSUdfTVNET1NfRlM9eQotQ09ORklHX1ZGQVRfRlM9eQorQ09ORklHX0ZBVF9GUz1tCisjIENPTkZJR19NU0RPU19GUyBpcyBub3Qgc2V0CitDT05GSUdfVkZBVF9GUz1tCiBDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBBR0U9NDM3CiBDT05GSUdfRkFUX0RFRkFVTFRfSU9DSEFSU0VUPSJpc284ODU5LTEiCiAjIENPTkZJR19OVEZTX0ZTIGlzIG5vdCBzZXQKQEAgLTEyMDcsNyArMTQ3NSw2IEBACiBDT05GSUdfVE1QRlM9eQogIyBDT05GSUdfVE1QRlNfUE9TSVhfQUNMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVR0VUTEJfUEFHRSBpcyBub3Qgc2V0Ci1DT05GSUdfUkFNRlM9eQogIyBDT05GSUdfQ09ORklHRlNfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjIwLDIyICsxNDg3LDMwIEBACiAjIENPTkZJR19CRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfSkZGUzJfRlMgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX0ZTPXkKK0NPTkZJR19KRkZTMl9GU19ERUJVRz0wCitDT05GSUdfSkZGUzJfRlNfV1JJVEVCVUZGRVI9eQorIyBDT05GSUdfSkZGUzJfRlNfV0JVRl9WRVJJRlkgaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1NVTU1BUlk9eQorIyBDT05GSUdfSkZGUzJfRlNfWEFUVFIgaXMgbm90IHNldAorIyBDT05GSUdfSkZGUzJfQ09NUFJFU1NJT05fT1BUSU9OUyBpcyBub3Qgc2V0CitDT05GSUdfSkZGUzJfWkxJQj15CisjIENPTkZJR19KRkZTMl9MWk8gaXMgbm90IHNldAorQ09ORklHX0pGRlMyX1JUSU1FPXkKKyMgQ09ORklHX0pGRlMyX1JVQklOIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIworQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQogQ09ORklHX05GU19GUz15CiBDT05GSUdfTkZTX1YzPXkKICMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAogIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKIENPTkZJR19ST09UX05GUz15CiBDT05GSUdfTE9DS0Q9eQpAQCAtMTI0NSw5ICsxNTIwLDEzIEBACiAjIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKICMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0CiAjIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKLUNPTkZJR19TTUJfRlM9eQotIyBDT05GSUdfU01CX05MU19ERUZBVUxUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NJRlMgaXMgbm90IHNldAorIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19DSUZTPW0KKyMgQ09ORklHX0NJRlNfU1RBVFMgaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19XRUFLX1BXX0hBU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ0lGU19YQVRUUiBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTX0RFQlVHMiBpcyBub3Qgc2V0CisjIENPTkZJR19DSUZTX0VYUEVSSU1FTlRBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ09EQV9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BRlNfRlMgaXMgbm90IHNldApAQCAtMTI1NSwxNSArMTUzNCwyNyBAQAogIwogIyBQYXJ0aXRpb24gVHlwZXMKICMKLSMgQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEPXkKKyMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19PU0ZfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FNSUdBX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfTUFDX1BBUlRJVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfTVNET1NfUEFSVElUSU9OPXkKLQotIwotIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAotIwotQ09ORklHX05MUz15CisjIENPTkZJR19CU0RfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX1NVQlBBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0dJX1BBUlRJVElPTiBpcyBub3Qgc2V0CisjIENPTkZJR19VTFRSSVhfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NVTl9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfS0FSTUFfUEFSVElUSU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VGSV9QQVJUSVRJT04gaXMgbm90IHNldAorIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfTkxTPW0KIENPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgotQ09ORklHX05MU19DT0RFUEFHRV80Mzc9eQorQ09ORklHX05MU19DT0RFUEFHRV80Mzc9bQogIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzc1IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV84NTAgaXMgbm90IHNldApAQCAtMTI4Nyw3ICsxNTc4LDcgQEAKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUwIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19BU0NJSSBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMT15CitDT05GSUdfTkxTX0lTTzg4NTlfMT1tCiAjIENPTkZJR19OTFNfSVNPODg1OV8yIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0lTTzg4NTlfNCBpcyBub3Qgc2V0CkBAIC0xMzAwLDUzICsxNTkxLDUyIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAotIyBDT05GSUdfTkxTX1VURjggaXMgbm90IHNldAotCi0jCi0jIERpc3RyaWJ1dGVkIExvY2sgTWFuYWdlcgotIworQ09ORklHX05MU19VVEY4PW0KICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0CiAKICMKLSMgUHJvZmlsaW5nIHN1cHBvcnQKLSMKLSMgQ09ORklHX1BST0ZJTElORyBpcyBub3Qgc2V0Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKK0NPTkZJR19FTkFCTEVfV0FSTl9ERVBSRUNBVEVEPXkKIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15Ci1DT05GSUdfTUFHSUNfU1lTUlE9eQorQ09ORklHX0ZSQU1FX1dBUk49MAorIyBDT05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAogIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKLUNPTkZJR19TQ0hFRF9ERUJVRz15CisjIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX1RJTUVSX1NUQVRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFQlVHX1NMQUIgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19SVF9NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19TUElOTE9DSyBpcyBub3Qgc2V0CiAjIENPTkZJR19ERUJVR19NVVRFWEVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAogIyBDT05GSUdfUFJPVkVfTE9DS0lORyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0NLX1NUQVQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTE9DS0lOR19BUElfU0VMRlRFU1RTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX0tPQkpFQ1QgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfQlVHVkVSQk9TRSBpcyBub3Qgc2V0Ci1DT05GSUdfREVCVUdfSU5GTz15CisjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiBDT05GSUdfRlJBTUVfUE9JTlRFUj15Ci1DT05GSUdfRk9SQ0VEX0lOTElOSU5HPXkKKyMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKICMgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfVVNFUj15CiBDT05GSUdfREVCVUdfRVJST1JTPXkKKyMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19MTD15CiAjIENPTkZJR19ERUJVR19JQ0VEQ0MgaXMgbm90IHNldAogCkBAIC0xMzU1LDU1ICsxNjQ1LDk2IEBACiAjCiAjIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKIENPTkZJR19DUllQVE89eQotQ09ORklHX0NSWVBUT19BTEdBUEk9bQotQ09ORklHX0NSWVBUT19CTEtDSVBIRVI9bQotQ09ORklHX0NSWVBUT19NQU5BR0VSPW0KKworIworIyBDcnlwdG8gY29yZSBvciBoZWxwZXIKKyMKKyMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19HRjEyOE1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTlVMTCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ1JZUFREIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BVVRIRU5DIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCisjIENPTkZJR19DUllQVE9fQ0JDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NUUyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fRUNCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1BDQkMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1hUUyBpcyBub3Qgc2V0CisKKyMKKyMgSGFzaCBtb2RlcworIwogIyBDT05GSUdfQ1JZUFRPX0hNQUMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19NRDUgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX01JQ0hBRUxfTUlDIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fV1A1MTIgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fR0YxMjhNVUwgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19FQ0I9bQotQ09ORklHX0NSWVBUT19DQkM9bQotQ09ORklHX0NSWVBUT19QQ0JDPW0KLSMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAotIyBDT05GSUdfQ1JZUFRPX0NSWVBURCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19GQ1JZUFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCisjIENPTkZJR19DUllQVE9fQUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0JMT1dGSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19TRVJQRU5UIGlzIG5vdCBzZXQKLUNPTkZJR19DUllQVE9fQUVTPW0KKyMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAogIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAotQ09ORklHX0NSWVBUT19BUkM0PW0KKyMgQ09ORklHX0NSWVBUT19ERVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19BTlVCSVMgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjAgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1RFQSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVFdPRklTSCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKICMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fQ1JDMzJDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUT19DQU1FTExJQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUllQVE9fVEVTVCBpcyBub3Qgc2V0Ci1DT05GSUdfQ1JZUFRPX0hXPXkKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0hXIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15Ci0jIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAorIyBDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVCBpcyBub3Qgc2V0CisjIENPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQgaXMgbm90IHNldAorQ09ORklHX0NSQ19DQ0lUVD1tCiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldAogQ09ORklHX0NSQzMyPXkKICMgQ09ORklHX0NSQzcgaXMgbm90IHNldAogIyBDT05GSUdfTElCQ1JDMzJDIGlzIG5vdCBzZXQKK0NPTkZJR19aTElCX0lORkxBVEU9eQorQ09ORklHX1pMSUJfREVGTEFURT15CiBDT05GSUdfUExJU1Q9eQogQ09ORklHX0hBU19JT01FTT15CiBDT05GSUdfSEFTX0lPUE9SVD15CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL2FybS9rZXJuZWwvTWFrZWZpbGUKaW5kZXggYWQ0NTVmZi4uZWI5MDkyYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9NYWtlZmlsZQpAQCAtNCw2ICs0LDEwIEBACiAKIEFGTEFHU19oZWFkLm8gOj0gLURURVhUX09GRlNFVD0kKFRFWFRfT0ZGU0VUKQogCitpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK0NGTEFHU19SRU1PVkVfZnRyYWNlLm8gPSAtcGcKK2VuZGlmCisKICMgT2JqZWN0IGZpbGUgbGlzdHMuCiAKIG9iai15CQk6PSBjb21wYXQubyBlbnRyeS1hcm12Lm8gZW50cnktY29tbW9uLm8gaXJxLm8gXApAQCAtMTgsNiArMjIsNyBAQAogb2JqLSQoQ09ORklHX0lTQV9ETUEpCQkrPSBkbWEtaXNhLm8KIG9iai0kKENPTkZJR19QQ0kpCQkrPSBiaW9zMzIubyBpc2Eubwogb2JqLSQoQ09ORklHX1NNUCkJCSs9IHNtcC5vCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpCSs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfS0VYRUMpCQkrPSBtYWNoaW5lX2tleGVjLm8gcmVsb2NhdGVfa2VybmVsLm8KIG9iai0kKENPTkZJR19LUFJPQkVTKQkJKz0ga3Byb2Jlcy5vIGtwcm9iZXMtZGVjb2RlLm8KIG9iai0kKENPTkZJR19BVEFHU19QUk9DKQkrPSBhdGFncy5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvYXJta3N5bXMuYyBiL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jCmluZGV4IDY4OGI3YjEuLmNjN2IyNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9hcm1rc3ltcy5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAvKgogICogbGliZ2NjIGZ1bmN0aW9ucyAtIGZ1bmN0aW9ucyB0aGF0IGFyZSB1c2VkIGludGVybmFsbHkgYnkgdGhlCkBAIC0xODEsMyArMTgyLDcgQEAKICNlbmRpZgogCiBFWFBPUlRfU1lNQk9MKGNvcHlfcGFnZSk7CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitFWFBPUlRfU1lNQk9MKG1jb3VudCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9hdGFncy5jIGIvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMKaW5kZXggNjRjNDIwOC4uNDJhMWExNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL2F0YWdzLmMKQEAgLTEsNSArMSw0IEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgpAQCAtNyw5ICs2LDggQEAKIAogc3RydWN0IGJ1ZmZlciB7CiAJc2l6ZV90IHNpemU7Ci0JY2hhciAqZGF0YTsKKwljaGFyIGRhdGFbXTsKIH07Ci1zdGF0aWMgc3RydWN0IGJ1ZmZlciB0YWdzX2J1ZmZlcjsKIAogc3RhdGljIGludAogcmVhZF9idWZmZXIoY2hhciogcGFnZSwgY2hhcioqIHN0YXJ0LCBvZmZfdCBvZmYsIGludCBjb3VudCwKQEAgLTI5LDU4ICsyNyw1NyBAQAogCXJldHVybiBjb3VudDsKIH0KIAotCi1zdGF0aWMgaW50Ci1jcmVhdGVfcHJvY19lbnRyaWVzKHZvaWQpCi17Ci0Jc3RydWN0IHByb2NfZGlyX2VudHJ5KiB0YWdzX2VudHJ5OwotCi0JdGFnc19lbnRyeSA9IGNyZWF0ZV9wcm9jX3JlYWRfZW50cnkoImF0YWdzIiwgMDQwMCwgTlVMTCwgcmVhZF9idWZmZXIsICZ0YWdzX2J1ZmZlcik7Ci0JaWYgKCF0YWdzX2VudHJ5KQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBjaGFyIF9faW5pdGRhdGEgYXRhZ3NfY29weV9idWZbS0VYRUNfQk9PVF9QQVJBTVNfU0laRV07Ci1zdGF0aWMgY2hhciBfX2luaXRkYXRhICphdGFnc19jb3B5OworI2RlZmluZSBCT09UX1BBUkFNU19TSVpFIDE1MzYKK3N0YXRpYyBjaGFyIF9faW5pdGRhdGEgYXRhZ3NfY29weVtCT09UX1BBUkFNU19TSVpFXTsKIAogdm9pZCBfX2luaXQgc2F2ZV9hdGFncyhjb25zdCBzdHJ1Y3QgdGFnICp0YWdzKQogewotCWF0YWdzX2NvcHkgPSBhdGFnc19jb3B5X2J1ZjsKLQltZW1jcHkoYXRhZ3NfY29weSwgdGFncywgS0VYRUNfQk9PVF9QQVJBTVNfU0laRSk7CisJbWVtY3B5KGF0YWdzX2NvcHksIHRhZ3MsIHNpemVvZihhdGFnc19jb3B5KSk7CiB9CiAKLQogc3RhdGljIGludCBfX2luaXQgaW5pdF9hdGFnc19wcm9jZnModm9pZCkKIHsKLQlzdHJ1Y3QgdGFnICp0YWc7Ci0JaW50IGVycm9yOworCS8qCisJICogVGhpcyBjYW5ub3QgZ28gaW50byBzYXZlX2F0YWdzKCkgYmVjYXVzZSBrbWFsbG9jIGFuZCBwcm9jIGRvbid0IHdvcmsKKwkgKiB5ZXQgd2hlbiBpdCBpcyBjYWxsZWQuCisJICovCisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICp0YWdzX2VudHJ5OworCXN0cnVjdCB0YWcgKnRhZyA9IChzdHJ1Y3QgdGFnICopYXRhZ3NfY29weTsKKwlzdHJ1Y3QgYnVmZmVyICpiOworCXNpemVfdCBzaXplOwogCi0JaWYgKCFhdGFnc19jb3B5KSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkV4cG9ydGluZyBBVEFHczogTm8gc2F2ZWQgdGFncyBmb3VuZFxuIik7Ci0JCXJldHVybiAtRUlPOworCWlmICh0YWctPmhkci50YWcgIT0gQVRBR19DT1JFKSB7CisJCXByaW50ayhLRVJOX0lORk8gIk5vIEFUQUdzPyIpOworCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlmb3IgKHRhZyA9IChzdHJ1Y3QgdGFnICopIGF0YWdzX2NvcHk7IHRhZy0+aGRyLnNpemU7IHRhZyA9IHRhZ19uZXh0KHRhZykpCisJZm9yICg7IHRhZy0+aGRyLnNpemU7IHRhZyA9IHRhZ19uZXh0KHRhZykpCiAJCTsKIAotCXRhZ3NfYnVmZmVyLnNpemUgPSAoKGNoYXIgKikgdGFnIC0gYXRhZ3NfY29weSkgKyBzaXplb2YodGFnLT5oZHIpOwotCXRhZ3NfYnVmZmVyLmRhdGEgPSBrbWFsbG9jKHRhZ3NfYnVmZmVyLnNpemUsIEdGUF9LRVJORUwpOwotCWlmICh0YWdzX2J1ZmZlci5kYXRhID09IE5VTEwpCi0JCXJldHVybiAtRU5PTUVNOwotCW1lbWNweSh0YWdzX2J1ZmZlci5kYXRhLCBhdGFnc19jb3B5LCB0YWdzX2J1ZmZlci5zaXplKTsKKwkvKiBpbmNsdWRlIHRoZSB0ZXJtaW5hdGluZyBBVEFHX05PTkUgKi8KKwlzaXplID0gKGNoYXIgKil0YWcgLSBhdGFnc19jb3B5ICsgc2l6ZW9mKHN0cnVjdCB0YWdfaGVhZGVyKTsKIAotCWVycm9yID0gY3JlYXRlX3Byb2NfZW50cmllcygpOwotCWlmIChlcnJvcikgewotCQlwcmludGsoS0VSTl9FUlIgIkV4cG9ydGluZyBBVEFHczogbm90IGVub3VnaCBtZW1vcnlcbiIpOwotCQlrZnJlZSh0YWdzX2J1ZmZlci5kYXRhKTsKLQkJdGFnc19idWZmZXIuc2l6ZSA9IDA7Ci0JCXRhZ3NfYnVmZmVyLmRhdGEgPSBOVUxMOwotCX0KKwlXQVJOX09OKHRhZy0+aGRyLnRhZyAhPSBBVEFHX05PTkUpOwogCi0JcmV0dXJuIGVycm9yOworCWIgPSBrbWFsbG9jKHNpemVvZigqYikgKyBzaXplLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWIpCisJCWdvdG8gbm9tZW07CisKKwliLT5zaXplID0gc2l6ZTsKKwltZW1jcHkoYi0+ZGF0YSwgYXRhZ3NfY29weSwgc2l6ZSk7CisKKwl0YWdzX2VudHJ5ID0gY3JlYXRlX3Byb2NfcmVhZF9lbnRyeSgiYXRhZ3MiLCAwNDAwLAorCQkJTlVMTCwgcmVhZF9idWZmZXIsIGIpOworCisJaWYgKCF0YWdzX2VudHJ5KQorCQlnb3RvIG5vbWVtOworCisJcmV0dXJuIDA7CisKK25vbWVtOgorCWtmcmVlKGIpOworCXByaW50ayhLRVJOX0VSUiAiRXhwb3J0aW5nIEFUQUdzOiBub3QgZW5vdWdoIG1lbW9yeVxuIik7CisKKwlyZXR1cm4gLUVOT01FTTsKIH0KLQogYXJjaF9pbml0Y2FsbChpbml0X2F0YWdzX3Byb2Nmcyk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuYyBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jCmluZGV4IGE1M2MwYWIuLjhiZmQyOTkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5jCkBAIC02ODAsNyArNjgwLDcgQEAKICNkZWZpbmUgSU9fRUNfTUVNQzhfQkFTRSAwCiAjZW5kaWYKIAotdW5zaWduZWQgaW50IF9fZWNhcmRfYWRkcmVzcyhlY2FyZF90ICplYywgY2FyZF90eXBlX3QgdHlwZSwgY2FyZF9zcGVlZF90IHNwZWVkKQorc3RhdGljIHVuc2lnbmVkIGludCBfX2VjYXJkX2FkZHJlc3MoZWNhcmRfdCAqZWMsIGNhcmRfdHlwZV90IHR5cGUsIGNhcmRfc3BlZWRfdCBzcGVlZCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSAwOwogCWludCBzbG90ID0gZWMtPnNsb3Rfbm87CkBAIC0xMDAyLDcgKzEwMDIsNyBAQAogCX0KIAogCXJjID0gLUVOT0RFVjsKLQlpZiAoKGVjLT5wb2RhZGRyID0gZWNhcmRfYWRkcmVzcyhlYywgdHlwZSwgRUNBUkRfU1lOQykpID09IDApCisJaWYgKChlYy0+cG9kYWRkciA9IF9fZWNhcmRfYWRkcmVzcyhlYywgdHlwZSwgRUNBUkRfU1lOQykpID09IDApCiAJCWdvdG8gbm9kZXY7CiAKIAljaWQucl96ZXJvID0gMTsKQEAgLTExNDEsMTAgKzExNDEsMTAgQEAKIAogCWlkID0gZWNhcmRfbWF0Y2hfZGV2aWNlKGRydi0+aWRfdGFibGUsIGVjKTsKIAotCWVjYXJkX2NsYWltKGVjKTsKKwllYy0+Y2xhaW1lZCA9IDE7CiAJcmV0ID0gZHJ2LT5wcm9iZShlYywgaWQpOwogCWlmIChyZXQpCi0JCWVjYXJkX3JlbGVhc2UoZWMpOworCQllYy0+Y2xhaW1lZCA9IDA7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTE1NCw3ICsxMTU0LDcgQEAKIAlzdHJ1Y3QgZWNhcmRfZHJpdmVyICpkcnYgPSBFQ0FSRF9EUlYoZGV2LT5kcml2ZXIpOwogCiAJZHJ2LT5yZW1vdmUoZWMpOwotCWVjYXJkX3JlbGVhc2UoZWMpOworCWVjLT5jbGFpbWVkID0gMDsKIAogCS8qCiAJICogUmVzdG9yZSB0aGUgZGVmYXVsdCBvcGVyYXRpb25zLiAgV2UgZW5zdXJlIHRoYXQgdGhlCkBAIC0xMTgyLDcgKzExODIsNyBAQAogCWlmIChkZXYtPmRyaXZlcikgewogCQlpZiAoZHJ2LT5zaHV0ZG93bikKIAkJCWRydi0+c2h1dGRvd24oZWMpOwotCQllY2FyZF9yZWxlYXNlKGVjKTsKKwkJZWMtPmNsYWltZWQgPSAwOwogCX0KIAogCS8qCkBAIC0xMjM5LDcgKzEyMzksNiBAQAogcG9zdGNvcmVfaW5pdGNhbGwoZWNhcmRfYnVzX2luaXQpOwogCiBFWFBPUlRfU1lNQk9MKGVjYXJkX3JlYWRjaHVuayk7Ci1FWFBPUlRfU1lNQk9MKF9fZWNhcmRfYWRkcmVzcyk7CiBFWFBPUlRfU1lNQk9MKGVjYXJkX3JlZ2lzdGVyX2RyaXZlcik7CiBFWFBPUlRfU1lNQk9MKGVjYXJkX3JlbW92ZV9kcml2ZXIpOwogRVhQT1JUX1NZTUJPTChlY2FyZF9idXNfdHlwZSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZWNhcmQuaCBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oCmluZGV4IGQ3YzJkYWMuLjQ2NDJkNDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9lY2FyZC5oCkBAIC01NCwzICs1NCwxNiBAQAogI2RlZmluZSBjX2xlbih4KQkoKHgpLT5yX2xlblswXXwoKHgpLT5yX2xlblsxXTw8OCl8KCh4KS0+cl9sZW5bMl08PDE2KSkKICNkZWZpbmUgY19zdGFydCh4KQkoKHgpLT5yX3N0YXJ0KQogfTsKKwordHlwZWRlZiBlbnVtIGVjYXJkX3R5cGUgewkJLyogQ2FyZHMgYWRkcmVzcyBzcGFjZQkJKi8KKwlFQ0FSRF9JT0MsCisJRUNBUkRfTUVNQywKKwlFQ0FSRF9FQVNJCit9IGNhcmRfdHlwZV90OworCit0eXBlZGVmIGVudW0gewkJCQkvKiBTcGVlZCBmb3IgRUNBUkRfSU9DIHNwYWNlCSovCisJRUNBUkRfU0xPVwkgPSAwLAorCUVDQVJEX01FRElVTQkgPSAxLAorCUVDQVJEX0ZBU1QJID0gMiwKKwlFQ0FSRF9TWU5DCSA9IDMKK30gY2FyZF9zcGVlZF90OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TIGIvYXJjaC9hcm0va2VybmVsL2VudHJ5LWNvbW1vbi5TCmluZGV4IDU5N2VkMDAuLjg0Njk0ZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9lbnRyeS1jb21tb24uUworKysgYi9hcmNoL2FybS9rZXJuZWwvZW50cnktY29tbW9uLlMKQEAgLTksNiArOSw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZW50cnktbWFjcm8uUz4KIAogI2luY2x1ZGUgImVudHJ5LWhlYWRlci5TIgpAQCAtOTksNiArMTAwLDU2IEBACiAjdW5kZWYgQ0FMTAogI2RlZmluZSBDQUxMKHgpIC5sb25nIHgKIAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKK0VOVFJZKG1jb3VudCkKKwlzdG1kYiBzcCEsIHtyMC1yMywgbHJ9CisJbW92IHIwLCBscgorCXN1YiByMCwgcjAsICNNQ09VTlRfSU5TTl9TSVpFCisKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsIGZ0cmFjZV9zdHViCisJbGRtaWEgc3AhLCB7cjAtcjMsIHBjfQorCitFTlRSWShmdHJhY2VfY2FsbGVyKQorCXN0bWRiIHNwISwge3IwLXIzLCBscn0KKwlsZHIgcjEsIFtmcCwgIy00XQorCW1vdiByMCwgbHIKKwlzdWIgcjAsIHIwLCAjTUNPVU5UX0lOU05fU0laRQorCisJLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibCBmdHJhY2Vfc3R1YgorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKworI2Vsc2UKKworRU5UUlkobWNvdW50KQorCXN0bWRiIHNwISwge3IwLXIzLCBscn0KKwlsZHIgcjAsID1mdHJhY2VfdHJhY2VfZnVuY3Rpb24KKwlsZHIgcjIsIFtyMF0KKwlhZHIgcjAsIGZ0cmFjZV9zdHViCisJY21wIHIwLCByMgorCWJuZSB0cmFjZQorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKwordHJhY2U6CisJbGRyIHIxLCBbZnAsICMtNF0KKwltb3YgcjAsIGxyCisJc3ViIHIwLCByMCwgI01DT1VOVF9JTlNOX1NJWkUKKwltb3YgbHIsIHBjCisJbW92IHBjLCByMgorCWxkbWlhIHNwISwge3IwLXIzLCBwY30KKworI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworCisJLmdsb2JsIGZ0cmFjZV9zdHViCitmdHJhY2Vfc3R1YjoKKwltb3YgcGMsIGxyCisKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAqIFNXSSBoYW5kbGVyCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvZnRyYWNlLmMgYi9hcmNoL2FybS9rZXJuZWwvZnRyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZkNTBlNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIER5bmFtaWMgZnVuY3Rpb24gdHJhY2luZyBzdXBwb3J0LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBYmhpc2hlayBTYWdhciA8c2FnYXIuYWJoaXNoZWtAZ21haWwuY29tPgorICoKKyAqIEZvciBsaWNlbmNpbmcgZGV0YWlscywgc2VlIENPUFlJTkcuCisgKgorICogRGVmaW5lcyBsb3ctbGV2ZWwgaGFuZGxpbmcgb2YgbWNvdW50IGNhbGxzIHdoZW4gdGhlIGtlcm5lbAorICogaXMgY29tcGlsZWQgd2l0aCB0aGUgLXBnIGZsYWcuIFdoZW4gdXNpbmcgZHluYW1pYyBmdHJhY2UsIHRoZQorICogbWNvdW50IGNhbGwtc2l0ZXMgZ2V0IHBhdGNoZWQgbGF6aWx5IHdpdGggTk9QIHRpbGwgdGhleSBhcmUKKyAqIGVuYWJsZWQuIEFsbCBjb2RlIG11dGF0aW9uIHJvdXRpbmVzIGhlcmUgdGFrZSBlZmZlY3QgYXRvbWljYWxseS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisKKyNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworI2RlZmluZSBQQ19PRkZTRVQgICAgICA4CisjZGVmaW5lIEJMX09QQ09ERSAgICAgIDB4ZWIwMDAwMDAKKyNkZWZpbmUgQkxfT0ZGU0VUX01BU0sgMHgwMGZmZmZmZgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBibF9pbnNuOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgTk9QID0gMHhlMWEwMDAwMDsgLyogbW92IHIwLCByMCAqLworCit1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKikmTk9QOworfQorCisvKiBjb25zdHJ1Y3QgYSBicmFuY2ggKEJMKSBpbnN0cnVjdGlvbiB0byBhZGRyICovCit1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgcGMsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlsb25nIG9mZnNldDsKKworCW9mZnNldCA9IChsb25nKWFkZHIgLSAobG9uZykocGMgKyBQQ19PRkZTRVQpOworCWlmICh1bmxpa2VseShvZmZzZXQgPCAtMzM1NTQ0MzIgfHwgb2Zmc2V0ID4gMzM1NTQ0MjgpKSB7CisJCS8qIENhbid0IGdlbmVyYXRlIGJyYW5jaGVzIHRoYXQgZmFyIChmcm9tIEFSTSBBUk0pLiBGdHJhY2UKKwkJICogZG9lc24ndCBnZW5lcmF0ZSBicmFuY2hlcyBvdXRzaWRlIG9mIGtlcm5lbCB0ZXh0LgorCQkgKi8KKwkJV0FSTl9PTl9PTkNFKDEpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJb2Zmc2V0ID0gKG9mZnNldCA+PiAyKSAmIEJMX09GRlNFVF9NQVNLOworCWJsX2luc24gPSBCTF9PUENPREUgfCBvZmZzZXQ7CisJcmV0dXJuICh1bnNpZ25lZCBjaGFyICopJmJsX2luc247Cit9CisKK2ludCBmdHJhY2VfbW9kaWZ5X2NvZGUodW5zaWduZWQgbG9uZyBwYywgdW5zaWduZWQgY2hhciAqb2xkX2NvZGUsCisJCSAgICAgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCBsb25nIGVyciA9IDAsIHJlcGxhY2VkID0gMCwgb2xkLCBuZXc7CisKKwlvbGQgPSAqKHVuc2lnbmVkIGxvbmcgKilvbGRfY29kZTsKKwluZXcgPSAqKHVuc2lnbmVkIGxvbmcgKiluZXdfY29kZTsKKworCV9fYXNtX18gX192b2xhdGlsZV9fICgKKwkJIjE6ICBsZHIgICAgJTEsIFslMl0gIFxuIgorCQkiICAgIGNtcCAgICAlMSwgJTQgICAgXG4iCisJCSIyOiAgc3RyZXEgICUzLCBbJTJdICBcbiIKKwkJIiAgICBjbXBuZSAgJTEsICUzICAgIFxuIgorCQkiICAgIG1vdm5lICAlMCwgIzIgICAgXG4iCisJCSIzOlxuIgorCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiNDogIG1vdiAgJTAsICMxICBcbiIKKwkJIiAgICBiICAgIDNiICAgICAgXG4iCisJCSIucHJldmlvdXNcbiIKKworCQkiLnNlY3Rpb24gX19leF90YWJsZSwgXCJhXCJcbiIKKwkJIiAgICAubG9uZyAxYiwgNGIgXG4iCisJCSIgICAgLmxvbmcgMmIsIDRiIFxuIgorCQkiLnByZXZpb3VzXG4iCisKKwkJOiAiPXIiKGVyciksICI9ciIocmVwbGFjZWQpCisJCTogInIiKHBjKSwgInIiKG5ldyksICJyIihvbGQpLCAiMCIoZXJyKSwgIjEiKHJlcGxhY2VkKQorCQk6ICJtZW1vcnkiKTsKKworCWlmICghZXJyICYmIChyZXBsYWNlZCA9PSBvbGQpKQorCQlmbHVzaF9pY2FjaGVfcmFuZ2UocGMsIHBjICsgTUNPVU5UX0lOU05fU0laRSk7CisKKwlyZXR1cm4gZXJyOworfQorCitpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBsb25nIHBjLCBvbGQ7CisJdW5zaWduZWQgY2hhciAqbmV3OworCisJcGMgPSAodW5zaWduZWQgbG9uZykmZnRyYWNlX2NhbGw7CisJbWVtY3B5KCZvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShwYywgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKHBjLCAodW5zaWduZWQgY2hhciAqKSZvbGQsIG5ldyk7CisJcmV0dXJuIHJldDsKK30KKworaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBwYywgb2xkOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgKm5ldzsKKworCXBjID0gKHVuc2lnbmVkIGxvbmcpJm1jb3VudF9jYWxsOworCW1lbWNweSgmb2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UocGMsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShwYywgKHVuc2lnbmVkIGNoYXIgKikmb2xkLCBuZXcpOworCXJldHVybiAwOworfQorCisvKiBydW4gZnJvbSBrc3RvcF9tYWNoaW5lICovCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJZnRyYWNlX21jb3VudF9zZXQoZGF0YSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jIGIvYXJjaC9hcm0va2VybmVsL2twcm9iZXMuYwppbmRleCA1NTkzZGQyLi41ZWUzOWUxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwva3Byb2Jlcy5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC9rcHJvYmVzLmMKQEAgLTI3NCw3ICsyNzQsNyBAQAogICogZm9yIGtyZXRwcm9iZSBoYW5kbGVycyB3aGljaCBzaG91bGQgbm9ybWFsbHkgYmUgaW50ZXJlc3RlZCBpbiByMCBvbmx5CiAgKiBhbnl3YXkuCiAgKi8KLXN0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKG5ha2VkKSkgX19rcHJvYmVzIGtyZXRwcm9iZV90cmFtcG9saW5lKHZvaWQpCit2b2lkIF9fbmFrZWQgX19rcHJvYmVzIGtyZXRwcm9iZV90cmFtcG9saW5lKHZvaWQpCiB7CiAJX19hc21fXyBfX3ZvbGF0aWxlX18gKAogCQkic3RtZGIJc3AhLCB7cjAgLSByMTF9CQlcblx0IgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggNDZiZjJlZGUuLjE5OWIzNjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2tlcm5lbC9wcm9jZXNzLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3Byb2Nlc3MuYwpAQCAtMTMzLDEwICsxMzMsOCBAQAogCQljcHVfcmVsYXgoKTsKIAllbHNlIHsKIAkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJaWYgKCFuZWVkX3Jlc2NoZWQoKSkgewotCQkJdGltZXJfZHluX3JlcHJvZ3JhbSgpOworCQlpZiAoIW5lZWRfcmVzY2hlZCgpKQogCQkJYXJjaF9pZGxlKCk7Ci0JCX0KIAkJbG9jYWxfaXJxX2VuYWJsZSgpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC9zbXAuYyBiL2FyY2gvYXJtL2tlcm5lbC9zbXAuYwppbmRleCBlZWZhZTFkLi41YTdjMDk1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9hcm0va2VybmVsL3NtcC5jCkBAIC02OCwyMCArNjgsMTAgQEAKIAlJUElfVElNRVIsCiAJSVBJX1JFU0NIRURVTEUsCiAJSVBJX0NBTExfRlVOQywKKwlJUElfQ0FMTF9GVU5DX1NJTkdMRSwKIAlJUElfQ1BVX1NUT1AsCiB9OwogCi1zdHJ1Y3Qgc21wX2NhbGxfc3RydWN0IHsKLQl2b2lkICgqZnVuYykodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlpbnQgd2FpdDsKLQljcHVtYXNrX3QgcGVuZGluZzsKLQljcHVtYXNrX3QgdW5maW5pc2hlZDsKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICogdm9sYXRpbGUgc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc21wX2NhbGxfZnVuY3Rpb25fbG9jayk7Ci0KIGludCBfX2NwdWluaXQgX19jcHVfdXAodW5zaWduZWQgaW50IGNwdSkKIHsKIAlzdHJ1Y3QgY3B1aW5mb19hcm0gKmNpID0gJnBlcl9jcHUoY3B1X2RhdGEsIGNwdSk7CkBAIC0zNjYsMTE0ICszNTYsMTUgQEAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLS8qCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cywgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciwgbm9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1zdGF0aWMgaW50IHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdSh2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJICAgIGludCByZXRyeSwgaW50IHdhaXQsIGNwdW1hc2tfdCBjYWxsbWFwKQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCiB7Ci0Jc3RydWN0IHNtcF9jYWxsX3N0cnVjdCBkYXRhOwotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKLQlpbnQgcmV0ID0gMDsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlkYXRhLndhaXQgPSB3YWl0OwotCi0JY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgY2FsbG1hcCk7Ci0JaWYgKGNwdXNfZW1wdHkoY2FsbG1hcCkpCi0JCWdvdG8gb3V0OwotCi0JZGF0YS5wZW5kaW5nID0gY2FsbG1hcDsKLQlpZiAod2FpdCkKLQkJZGF0YS51bmZpbmlzaGVkID0gY2FsbG1hcDsKLQotCS8qCi0JICogdHJ5IHRvIGdldCB0aGUgbXV0ZXggb24gc21wX2NhbGxfZnVuY3Rpb25fZGF0YQotCSAqLwotCXNwaW5fbG9jaygmc21wX2NhbGxfZnVuY3Rpb25fbG9jayk7Ci0Jc21wX2NhbGxfZnVuY3Rpb25fZGF0YSA9ICZkYXRhOwotCi0Jc2VuZF9pcGlfbWVzc2FnZShjYWxsbWFwLCBJUElfQ0FMTF9GVU5DKTsKLQotCXRpbWVvdXQgPSBqaWZmaWVzICsgSFo7Ci0Jd2hpbGUgKCFjcHVzX2VtcHR5KGRhdGEucGVuZGluZykgJiYgdGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkpCi0JCWJhcnJpZXIoKTsKLQotCS8qCi0JICogZGlkIHdlIHRpbWUgb3V0PwotCSAqLwotCWlmICghY3B1c19lbXB0eShkYXRhLnBlbmRpbmcpKSB7Ci0JCS8qCi0JCSAqIHRoaXMgbWF5IGJlIGNhdXNpbmcgb3VyIHBhbmljIC0gcmVwb3J0IGl0Ci0JCSAqLwotCQlwcmludGsoS0VSTl9DUklUCi0JCSAgICAgICAiQ1BVJXU6IHNtcF9jYWxsX2Z1bmN0aW9uIHRpbWVvdXQgZm9yICVwKCVwKVxuIgotCQkgICAgICAgIiAgICAgIGNhbGxtYXAgJWx4IHBlbmRpbmcgJWx4LCAlc3dhaXRcbiIsCi0JCSAgICAgICBzbXBfcHJvY2Vzc29yX2lkKCksIGZ1bmMsIGluZm8sICpjcHVzX2FkZHIoY2FsbG1hcCksCi0JCSAgICAgICAqY3B1c19hZGRyKGRhdGEucGVuZGluZyksIHdhaXQgPyAiIiA6ICJubyAiKTsKLQotCQkvKgotCQkgKiBUUkFDRQotCQkgKi8KLQkJdGltZW91dCA9IGppZmZpZXMgKyAoNSAqIEhaKTsKLQkJd2hpbGUgKCFjcHVzX2VtcHR5KGRhdGEucGVuZGluZykgJiYgdGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkpCi0JCQliYXJyaWVyKCk7Ci0KLQkJaWYgKGNwdXNfZW1wdHkoZGF0YS5wZW5kaW5nKSkKLQkJCXByaW50ayhLRVJOX0NSSVQgIiAgICAgUkVTT0xWRURcbiIpOwotCQllbHNlCi0JCQlwcmludGsoS0VSTl9DUklUICIgICAgIFNUSUxMIFNUVUNLXG4iKTsKLQl9Ci0KLQkvKgotCSAqIHdoYXRldmVyIGhhcHBlbmVkLCB3ZSdyZSBkb25lIHdpdGggdGhlIGRhdGEsIHNvIHJlbGVhc2UgaXQKLQkgKi8KLQlzbXBfY2FsbF9mdW5jdGlvbl9kYXRhID0gTlVMTDsKLQlzcGluX3VubG9jaygmc21wX2NhbGxfZnVuY3Rpb25fbG9jayk7Ci0KLQlpZiAoIWNwdXNfZW1wdHkoZGF0YS5wZW5kaW5nKSkgewotCQlyZXQgPSAtRVRJTUVET1VUOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKCFjcHVzX2VtcHR5KGRhdGEudW5maW5pc2hlZCkpCi0JCQliYXJyaWVyKCk7Ci0gb3V0OgotCi0JcmV0dXJuIDA7CisJc2VuZF9pcGlfbWVzc2FnZShtYXNrLCBJUElfQ0FMTF9GVU5DKTsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LAotICAgICAgICAgICAgICAgICAgICAgIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX29uX2NwdShmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCwKLQkJCQkJY3B1X29ubGluZV9tYXApOworCXNlbmRfaXBpX21lc3NhZ2UoY3B1bWFza19vZl9jcHUoY3B1KSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOwogfQotRVhQT1JUX1NZTUJPTF9HUEwoc21wX2NhbGxfZnVuY3Rpb24pOwotCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IHJldHJ5LCBpbnQgd2FpdCkKLXsKLQkvKiBwcmV2ZW50IHByZWVtcHRpb24gYW5kIHJlc2NoZWR1bGUgb24gYW5vdGhlciBwcm9jZXNzb3IgKi8KLQlpbnQgY3VycmVudF9jcHUgPSBnZXRfY3B1KCk7Ci0JaW50IHJldCA9IDA7Ci0KLQlpZiAoY3B1ID09IGN1cnJlbnRfY3B1KSB7Ci0JCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCWZ1bmMoaW5mbyk7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQl9IGVsc2UKLQkJcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0LAotCQkJCQkgICAgICAgY3B1bWFza19vZl9jcHUoY3B1KSk7Ci0KLQlwdXRfY3B1KCk7Ci0KLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTF9HUEwoc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKTsKIAogdm9pZCBzaG93X2lwaV9saXN0KHN0cnVjdCBzZXFfZmlsZSAqcCkKIHsKQEAgLTUyMSwyNyArNDEyLDYgQEAKIH0KICNlbmRpZgogCi0vKgotICogaXBpX2NhbGxfZnVuY3Rpb24gLSBoYW5kbGUgSVBJIGZyb20gc21wX2NhbGxfZnVuY3Rpb24oKQotICoKLSAqIE5vdGUgdGhhdCB3ZSBjb3B5IGRhdGEgb3V0IG9mIHRoZSBjcm9zcy1jYWxsIHN0cnVjdHVyZSBhbmQgdGhlbgotICogbGV0IHRoZSBjYWxsZXIga25vdyB0aGF0IHdlJ3JlIGhlcmUgYW5kIGhhdmUgZG9uZSB3aXRoIHRoZWlyIGRhdGEKLSAqLwotc3RhdGljIHZvaWQgaXBpX2NhbGxfZnVuY3Rpb24odW5zaWduZWQgaW50IGNwdSkKLXsKLQlzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICpkYXRhID0gc21wX2NhbGxfZnVuY3Rpb25fZGF0YTsKLQl2b2lkICgqZnVuYykodm9pZCAqaW5mbykgPSBkYXRhLT5mdW5jOwotCXZvaWQgKmluZm8gPSBkYXRhLT5pbmZvOwotCWludCB3YWl0ID0gZGF0YS0+d2FpdDsKLQotCWNwdV9jbGVhcihjcHUsIGRhdGEtPnBlbmRpbmcpOwotCi0JZnVuYyhpbmZvKTsKLQotCWlmICh3YWl0KQotCQljcHVfY2xlYXIoY3B1LCBkYXRhLT51bmZpbmlzaGVkKTsKLX0KLQogc3RhdGljIERFRklORV9TUElOTE9DSyhzdG9wX2xvY2spOwogCiAvKgpAQCAtNjExLDcgKzQ4MSwxMSBAQAogCQkJCWJyZWFrOwogCiAJCQljYXNlIElQSV9DQUxMX0ZVTkM6Ci0JCQkJaXBpX2NhbGxfZnVuY3Rpb24oY3B1KTsKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCQkJCWJyZWFrOworCisJCQljYXNlIElQSV9DQUxMX0ZVTkNfU0lOR0xFOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIElQSV9DUFVfU1RPUDoKQEAgLTY2MiwxNCArNTM2LDEzIEBACiB9CiAKIHN0YXRpYyBpbnQKLW9uX2VhY2hfY3B1X21hc2sodm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmluZm8sIGludCByZXRyeSwgaW50IHdhaXQsCi0JCSBjcHVtYXNrX3QgbWFzaykKK29uX2VhY2hfY3B1X21hc2sodm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmluZm8sIGludCB3YWl0LCBjcHVtYXNrX3QgbWFzaykKIHsKIAlpbnQgcmV0ID0gMDsKIAogCXByZWVtcHRfZGlzYWJsZSgpOwogCi0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0LCBtYXNrKTsKKwlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKG1hc2ssIGZ1bmMsIGluZm8sIHdhaXQpOwogCWlmIChjcHVfaXNzZXQoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXNrKSkKIAkJZnVuYyhpbmZvKTsKIApAQCAtNzMxLDE0ICs2MDQsMTQgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoaXBpX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfYWxsLCBOVUxMLCAxKTsKIH0KIAogdm9pZCBmbHVzaF90bGJfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7CiAJY3B1bWFza190IG1hc2sgPSBtbS0+Y3B1X3ZtX21hc2s7CiAKLQlvbl9lYWNoX2NwdV9tYXNrKGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxLCAxLCBtYXNrKTsKKwlvbl9lYWNoX2NwdV9tYXNrKGlwaV9mbHVzaF90bGJfbW0sIG1tLCAxLCBtYXNrKTsKIH0KIAogdm9pZCBmbHVzaF90bGJfcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyB1YWRkcikKQEAgLTc0OSw3ICs2MjIsNyBAQAogCXRhLnRhX3ZtYSA9IHZtYTsKIAl0YS50YV9zdGFydCA9IHVhZGRyOwogCi0Jb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX3BhZ2UsICZ0YSwgMSwgMSwgbWFzayk7CisJb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX3BhZ2UsICZ0YSwgMSwgbWFzayk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX2tlcm5lbF9wYWdlKHVuc2lnbmVkIGxvbmcga2FkZHIpCkBAIC03NTgsNyArNjMxLDcgQEAKIAogCXRhLnRhX3N0YXJ0ID0ga2FkZHI7CiAKLQlvbl9lYWNoX2NwdShpcGlfZmx1c2hfdGxiX2tlcm5lbF9wYWdlLCAmdGEsIDEsIDEpOworCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfa2VybmVsX3BhZ2UsICZ0YSwgMSk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX3JhbmdlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLApAQCAtNzcxLDcgKzY0NCw3IEBACiAJdGEudGFfc3RhcnQgPSBzdGFydDsKIAl0YS50YV9lbmQgPSBlbmQ7CiAKLQlvbl9lYWNoX2NwdV9tYXNrKGlwaV9mbHVzaF90bGJfcmFuZ2UsICZ0YSwgMSwgMSwgbWFzayk7CisJb25fZWFjaF9jcHVfbWFzayhpcGlfZmx1c2hfdGxiX3JhbmdlLCAmdGEsIDEsIG1hc2spOwogfQogCiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCkBAIC03ODEsNSArNjU0LDUgQEAKIAl0YS50YV9zdGFydCA9IHN0YXJ0OwogCXRhLnRhX2VuZCA9IGVuZDsKIAotCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfa2VybmVsX3JhbmdlLCAmdGEsIDEsIDEpOworCW9uX2VhY2hfY3B1KGlwaV9mbHVzaF90bGJfa2VybmVsX3JhbmdlLCAmdGEsIDEpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvYXJtL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYWUzMWRlYi4uZmM2NTBmNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL2FybS9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC0zNiw2ICszNiw3IEBACiAjaWZkZWYgQ09ORklHX1NUQUNLVFJBQ0UKIHN0cnVjdCBzdGFja190cmFjZV9kYXRhIHsKIAlzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlOworCXVuc2lnbmVkIGludCBub19zY2hlZF9mdW5jdGlvbnM7CiAJdW5zaWduZWQgaW50IHNraXA7CiB9OwogCkBAIC00MywyNyArNDQsNTMgQEAKIHsKIAlzdHJ1Y3Qgc3RhY2tfdHJhY2VfZGF0YSAqZGF0YSA9IGQ7CiAJc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSA9IGRhdGEtPnRyYWNlOworCXVuc2lnbmVkIGxvbmcgYWRkciA9IGZyYW1lLT5scjsKIAorCWlmIChkYXRhLT5ub19zY2hlZF9mdW5jdGlvbnMgJiYgaW5fc2NoZWRfZnVuY3Rpb25zKGFkZHIpKQorCQlyZXR1cm4gMDsKIAlpZiAoZGF0YS0+c2tpcCkgewogCQlkYXRhLT5za2lwLS07CiAJCXJldHVybiAwOwogCX0KIAotCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gZnJhbWUtPmxyOworCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gYWRkcjsKIAogCXJldHVybiB0cmFjZS0+bnJfZW50cmllcyA+PSB0cmFjZS0+bWF4X2VudHJpZXM7CiB9CiAKLXZvaWQgc2F2ZV9zdGFja190cmFjZShzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQordm9pZCBzYXZlX3N0YWNrX3RyYWNlX3RzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSkKIHsKIAlzdHJ1Y3Qgc3RhY2tfdHJhY2VfZGF0YSBkYXRhOwogCXVuc2lnbmVkIGxvbmcgZnAsIGJhc2U7CiAKIAlkYXRhLnRyYWNlID0gdHJhY2U7CiAJZGF0YS5za2lwID0gdHJhY2UtPnNraXA7Ci0JYmFzZSA9ICh1bnNpZ25lZCBsb25nKXRhc2tfc3RhY2tfcGFnZShjdXJyZW50KTsKLQlhc20oIm1vdiAlMCwgZnAiIDogIj1yIiAoZnApKTsKKwliYXNlID0gKHVuc2lnbmVkIGxvbmcpdGFza19zdGFja19wYWdlKHRzayk7CisKKwlpZiAodHNrICE9IGN1cnJlbnQpIHsKKyNpZmRlZiBDT05GSUdfU01QCisJCS8qCisJCSAqIFdoYXQgZ3VhcmFudGVlcyBkbyB3ZSBoYXZlIGhlcmUgdGhhdCAndHNrJworCQkgKiBpcyBub3QgcnVubmluZyBvbiBhbm90aGVyIENQVT8KKwkJICovCisJCUJVRygpOworI2Vsc2UKKwkJZGF0YS5ub19zY2hlZF9mdW5jdGlvbnMgPSAxOworCQlmcCA9IHRocmVhZF9zYXZlZF9mcCh0c2spOworI2VuZGlmCisJfSBlbHNlIHsKKwkJZGF0YS5ub19zY2hlZF9mdW5jdGlvbnMgPSAwOworCQlhc20oIm1vdiAlMCwgZnAiIDogIj1yIiAoZnApKTsKKwl9CiAKIAl3YWxrX3N0YWNrZnJhbWUoZnAsIGJhc2UsIGJhc2UgKyBUSFJFQURfU0laRSwgc2F2ZV90cmFjZSwgJmRhdGEpOworCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKKwkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CisKK3ZvaWQgc2F2ZV9zdGFja190cmFjZShzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQoreworCXNhdmVfc3RhY2tfdHJhY2VfdHNrKGN1cnJlbnQsIHRyYWNlKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rZXJuZWwvdGltZS5jIGIvYXJjaC9hcm0va2VybmVsL3RpbWUuYwppbmRleCBiNTg2N2VjLi5jYzUxNDViIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvYXJtL2tlcm5lbC90aW1lLmMKQEAgLTM2NSwxMDggKzM2NSw2IEBACiAJLnJlc3VtZQkJPSB0aW1lcl9yZXN1bWUsCiB9OwogCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLXN0YXRpYyBpbnQgdGltZXJfZHluX3RpY2tfZW5hYmxlKHZvaWQpCi17Ci0Jc3RydWN0IGR5bl90aWNrX3RpbWVyICpkeW5fdGljayA9IHN5c3RlbV90aW1lci0+ZHluX3RpY2s7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0ID0gLUVOT0RFVjsKLQotCWlmIChkeW5fdGljaykgewotCQlzcGluX2xvY2tfaXJxc2F2ZSgmZHluX3RpY2stPmxvY2ssIGZsYWdzKTsKLQkJcmV0ID0gMDsKLQkJaWYgKCEoZHluX3RpY2stPnN0YXRlICYgRFlOX1RJQ0tfRU5BQkxFRCkpIHsKLQkJCXJldCA9IGR5bl90aWNrLT5lbmFibGUoKTsKLQotCQkJaWYgKHJldCA9PSAwKQotCQkJCWR5bl90aWNrLT5zdGF0ZSB8PSBEWU5fVElDS19FTkFCTEVEOwotCQl9Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci0JfQotCi0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCB0aW1lcl9keW5fdGlja19kaXNhYmxlKHZvaWQpCi17Ci0Jc3RydWN0IGR5bl90aWNrX3RpbWVyICpkeW5fdGljayA9IHN5c3RlbV90aW1lci0+ZHluX3RpY2s7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0ID0gLUVOT0RFVjsKLQotCWlmIChkeW5fdGljaykgewotCQlzcGluX2xvY2tfaXJxc2F2ZSgmZHluX3RpY2stPmxvY2ssIGZsYWdzKTsKLQkJcmV0ID0gMDsKLQkJaWYgKGR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpIHsKLQkJCXJldCA9IGR5bl90aWNrLT5kaXNhYmxlKCk7Ci0KLQkJCWlmIChyZXQgPT0gMCkKLQkJCQlkeW5fdGljay0+c3RhdGUgJj0gfkRZTl9USUNLX0VOQUJMRUQ7Ci0JCX0KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZHluX3RpY2stPmxvY2ssIGZsYWdzKTsKLQl9Ci0KLQlyZXR1cm4gcmV0OwotfQotCi0vKgotICogUmVwcm9ncmFtIHRoZSBzeXN0ZW0gdGltZXIgZm9yIGF0IGxlYXN0IHRoZSBjYWxjdWxhdGVkIHRpbWUgaW50ZXJ2YWwuCi0gKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgZnJvbSB0aGUgaWRsZSB0aHJlYWQgd2l0aCBJUlFzIGRpc2FibGVkLAotICogaW1tZWRpYXRlbHkgYmVmb3JlIHNsZWVwaW5nLgotICovCi12b2lkIHRpbWVyX2R5bl9yZXByb2dyYW0odm9pZCkKLXsKLQlzdHJ1Y3QgZHluX3RpY2tfdGltZXIgKmR5bl90aWNrID0gc3lzdGVtX3RpbWVyLT5keW5fdGljazsKLQl1bnNpZ25lZCBsb25nIG5leHQsIHNlcSwgZmxhZ3M7Ci0KLQlpZiAoIWR5bl90aWNrKQotCQlyZXR1cm47Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmZHluX3RpY2stPmxvY2ssIGZsYWdzKTsKLQlpZiAoZHluX3RpY2stPnN0YXRlICYgRFlOX1RJQ0tfRU5BQkxFRCkgewotCQluZXh0ID0gbmV4dF90aW1lcl9pbnRlcnJ1cHQoKTsKLQkJZG8gewotCQkJc2VxID0gcmVhZF9zZXFiZWdpbigmeHRpbWVfbG9jayk7Ci0JCQlkeW5fdGljay0+cmVwcm9ncmFtKG5leHQgLSBqaWZmaWVzKTsKLQkJfSB3aGlsZSAocmVhZF9zZXFyZXRyeSgmeHRpbWVfbG9jaywgc2VxKSk7Ci0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR5bl90aWNrLT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBzc2l6ZV90IHRpbWVyX3Nob3dfZHluX3RpY2soc3RydWN0IHN5c19kZXZpY2UgKmRldiwgY2hhciAqYnVmKQotewotCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLAotCQkgICAgICAgKHN5c3RlbV90aW1lci0+ZHluX3RpY2stPnN0YXRlICYgRFlOX1RJQ0tfRU5BQkxFRCkgPj4gMSk7Ci19Ci0KLXN0YXRpYyBzc2l6ZV90IHRpbWVyX3NldF9keW5fdGljayhzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjb25zdCBjaGFyICpidWYsCi0JCQkJICBzaXplX3QgY291bnQpCi17Ci0JdW5zaWduZWQgaW50IGVuYWJsZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMik7Ci0KLQlpZiAoZW5hYmxlKQotCQl0aW1lcl9keW5fdGlja19lbmFibGUoKTsKLQllbHNlCi0JCXRpbWVyX2R5bl90aWNrX2Rpc2FibGUoKTsKLQotCXJldHVybiBjb3VudDsKLX0KLXN0YXRpYyBTWVNERVZfQVRUUihkeW5fdGljaywgMDY0NCwgdGltZXJfc2hvd19keW5fdGljaywgdGltZXJfc2V0X2R5bl90aWNrKTsKLQotLyoKLSAqIGR5bnRpY2s9ZW5hYmxlfGRpc2FibGUKLSAqLwotc3RhdGljIGNoYXIgZHludGlja19zdHJbNF0gX19pbml0ZGF0YSA9ICIiOwotCi1zdGF0aWMgaW50IF9faW5pdCBkeW50aWNrX3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoc3RyKQotCQlzdHJsY3B5KGR5bnRpY2tfc3RyLCBzdHIsIHNpemVvZihkeW50aWNrX3N0cikpOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJkeW50aWNrPSIsIGR5bnRpY2tfc2V0dXApOwotI2VuZGlmCi0KIHN0YXRpYyBpbnQgX19pbml0IHRpbWVyX2luaXRfc3lzZnModm9pZCkKIHsKIAlpbnQgcmV0ID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZ0aW1lcl9zeXNjbGFzcyk7CkBAIC00NzUsMTkgKzM3Myw2IEBACiAJCXJldCA9IHN5c2Rldl9yZWdpc3Rlcigmc3lzdGVtX3RpbWVyLT5kZXYpOwogCX0KIAotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0JaWYgKHJldCA9PSAwICYmIHN5c3RlbV90aW1lci0+ZHluX3RpY2spIHsKLQkJcmV0ID0gc3lzZGV2X2NyZWF0ZV9maWxlKCZzeXN0ZW1fdGltZXItPmRldiwgJmF0dHJfZHluX3RpY2spOwotCi0JCS8qCi0JCSAqIFR1cm4gb24gZHluYW1pYyB0aWNrIGFmdGVyIGNhbGlicmF0ZSBkZWxheQotCQkgKiBmb3IgY29ycmVjdCBib2dvbWlwcwotCQkgKi8KLQkJaWYgKHJldCA9PSAwICYmIGR5bnRpY2tfc3RyWzBdID09ICdlJykKLQkJCXJldCA9IHRpbWVyX2R5bl90aWNrX2VuYWJsZSgpOwotCX0KLSNlbmRpZgotCiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNTAwLDEwICszODUsNSBAQAogCQlzeXN0ZW1fdGltZXItPm9mZnNldCA9IGR1bW15X2dldHRpbWVvZmZzZXQ7CiAjZW5kaWYKIAlzeXN0ZW1fdGltZXItPmluaXQoKTsKLQotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0JaWYgKHN5c3RlbV90aW1lci0+ZHluX3RpY2spCi0JCXNwaW5fbG9ja19pbml0KCZzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5sb2NrKTsKLSNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9saWIvY29weV90ZW1wbGF0ZS5TIGIvYXJjaC9hcm0vbGliL2NvcHlfdGVtcGxhdGUuUwppbmRleCBjYWIzNTVjLi4xMzljY2U2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9saWIvY29weV90ZW1wbGF0ZS5TCisrKyBiL2FyY2gvYXJtL2xpYi9jb3B5X3RlbXBsYXRlLlMKQEAgLTEzLDE0ICsxMyw2IEBACiAgKi8KIAogLyoKLSAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gZW5hYmxlIGNvZGUgdG8gY2FjaGVsaW5lIGFsaWduIHRoZSBzb3VyY2UgcG9pbnRlci4KLSAqIEV4cGVyaW1lbnRzIG9uIHRlc3RlZCBhcmNoaXRlY3R1cmVzIChTdHJvbmdBUk0gYW5kIFhTY2FsZSkgZGlkbid0IHNob3cKLSAqIHRoaXMgYSB3b3J0aHdoaWxlIHRoaW5nIHRvIGRvLiAgVGhhdCBtaWdodCBiZSBkaWZmZXJlbnQgaW4gdGhlIGZ1dHVyZS4KLSAqLwotLy8jZGVmaW5lIENBTEdOKGNvZGUuLi4pCWNvZGUKLSNkZWZpbmUgQ0FMR04oY29kZS4uLikKLQotLyoKICAqIFRoZW9yeSBvZiBvcGVyYXRpb24KICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCkBAIC04Miw3ICs3NCw3IEBACiAJCXN0bWZkCXNwISwge3I1IC0gcjh9CiAJCWJsdAk1ZgogCi0JQ0FMR04oCWFuZHMJaXAsIHIxLCAjMzEJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlyc2IJcjMsIGlwLCAjMzIJCSkKIAlDQUxHTigJc2JjbmVzCXI0LCByMywgcjIJCSkgIEAgQyBpcyBhbHdheXMgc2V0IGhlcmUKIAlDQUxHTigJYmNzCTJmCQkJKQpAQCAtMTY4LDcgKzE2MCw3IEBACiAJCXN1YnMJcjIsIHIyLCAjMjgKIAkJYmx0CTE0ZgogCi0JQ0FMR04oCWFuZHMJaXAsIHIxLCAjMzEJCSkKKwlDQUxHTigJYW5kcwlpcCwgcjAsICMzMQkJKQogCUNBTEdOKAlyc2IJaXAsIGlwLCAjMzIJCSkKIAlDQUxHTigJc2JjbmVzCXI0LCBpcCwgcjIJCSkgIEAgQyBpcyBhbHdheXMgc2V0IGhlcmUKIAlDQUxHTigJc3ViY2MJcjIsIHIyLCBpcAkJKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbGliL21lbW1vdmUuUyBiL2FyY2gvYXJtL2xpYi9tZW1tb3ZlLlMKaW5kZXggZWY3ZmRkYy4uMmUzMDFiNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL21lbW1vdmUuUworKysgYi9hcmNoL2FybS9saWIvbWVtbW92ZS5TCkBAIC0xMywxNCArMTMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KICNpbmNsdWRlIDxhc20vYXNzZW1ibGVyLmg+CiAKLS8qCi0gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGVuYWJsZSBjb2RlIHRvIGNhY2hlbGluZSBhbGlnbiB0aGUgc291cmNlIHBvaW50ZXIuCi0gKiBFeHBlcmltZW50cyBvbiB0ZXN0ZWQgYXJjaGl0ZWN0dXJlcyAoU3Ryb25nQVJNIGFuZCBYU2NhbGUpIGRpZG4ndCBzaG93Ci0gKiB0aGlzIGEgd29ydGh3aGlsZSB0aGluZyB0byBkby4gIFRoYXQgbWlnaHQgYmUgZGlmZmVyZW50IGluIHRoZSBmdXR1cmUuCi0gKi8KLS8vI2RlZmluZSBDQUxHTihjb2RlLi4uKSAgICAgICAgY29kZQotI2RlZmluZSBDQUxHTihjb2RlLi4uKQotCiAJCS50ZXh0CiAKIC8qCkBAIC01NSwxMSArNDcsMTIgQEAKIAkJc3RtZmQJc3AhLCB7cjUgLSByOH0KIAkJYmx0CTVmCiAKLQlDQUxHTigJYW5kcwlpcCwgcjEsICMzMQkJKQorCUNBTEdOKAlhbmRzCWlwLCByMCwgIzMxCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgaXAsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCWJjcwkyZgkJCSkKIAlDQUxHTigJYWRyCXI0LCA2ZgkJCSkKIAlDQUxHTigJc3VicwlyMiwgcjIsIGlwCQkpICBAIEMgaXMgc2V0IGhlcmUKKwlDQUxHTigJcnNiCWlwLCBpcCwgIzMyCQkpCiAJQ0FMR04oCWFkZAlwYywgcjQsIGlwCQkpCiAKIAlQTEQoCXBsZAlbcjEsICMtNF0JCSkKQEAgLTEzOCw4ICsxMzEsNyBAQAogCQlzdWJzCXIyLCByMiwgIzI4CiAJCWJsdAkxNGYKIAotCUNBTEdOKAlhbmRzCWlwLCByMSwgIzMxCQkpCi0JQ0FMR04oCXJzYglpcCwgaXAsICMzMgkJKQorCUNBTEdOKAlhbmRzCWlwLCByMCwgIzMxCQkpCiAJQ0FMR04oCXNiY25lcwlyNCwgaXAsIHIyCQkpICBAIEMgaXMgYWx3YXlzIHNldCBoZXJlCiAJQ0FMR04oCXN1YmNjCXIyLCByMiwgaXAJCSkKIAlDQUxHTigJYmNjCTE1ZgkJCSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2xpYi9tZW1zZXQuUyBiL2FyY2gvYXJtL2xpYi9tZW1zZXQuUwppbmRleCA5NWIxMTBiLi5iNDc3ZDRhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9saWIvbWVtc2V0LlMKKysrIGIvYXJjaC9hcm0vbGliL21lbXNldC5TCkBAIC0zOSw2ICszOSw5IEBACiAJbW92CXIzLCByMQogCWNtcAlyMiwgIzE2CiAJYmx0CTRmCisKKyNpZiAhIENBTEdOKDEpKzAKKwogLyoKICAqIFdlIG5lZWQgYW4gZXh0cmEgcmVnaXN0ZXIgZm9yIHRoaXMgbG9vcCAtIHNhdmUgdGhlIHJldHVybiBhZGRyZXNzIGFuZAogICogdXNlIHRoZSBMUgpAQCAtNjQsNiArNjcsNDkgQEAKIAlzdG1uZWlhCXIwISwge3IxLCByMywgaXAsIGxyfQogCWxkcglsciwgW3NwXSwgIzQKIAorI2Vsc2UKKworLyoKKyAqIFRoaXMgdmVyc2lvbiBhbGlnbnMgdGhlIGRlc3RpbmF0aW9uIHBvaW50ZXIgaW4gb3JkZXIgdG8gd3JpdGUKKyAqIHdob2xlIGNhY2hlIGxpbmVzIGF0IG9uY2UuCisgKi8KKworCXN0bWZkCXNwISwge3I0LXI3LCBscn0KKwltb3YJcjQsIHIxCisJbW92CXI1LCByMQorCW1vdglyNiwgcjEKKwltb3YJcjcsIHIxCisJbW92CWlwLCByMQorCW1vdglsciwgcjEKKworCWNtcAlyMiwgIzk2CisJdHN0Z3QJcjAsICMzMQorCWJsZQkzZgorCisJYW5kCWlwLCByMCwgIzMxCisJcnNiCWlwLCBpcCwgIzMyCisJc3ViCXIyLCByMiwgaXAKKwltb3ZzCWlwLCBpcCwgbHNsICMoMzIgLSA0KQorCXN0bWNzaWEJcjAhLCB7cjQsIHI1LCByNiwgcjd9CisJc3RtbWlpYQlyMCEsIHtyNCwgcjV9CisJdHN0CWlwLCAjKDEgPDwgMzApCisJbW92CWlwLCByMQorCXN0cm5lCXIxLCBbcjBdLCAjNAorCiszOglzdWJzCXIyLCByMiwgIzY0CisJc3RtZ2VpYQlyMCEsIHtyMSwgcjMtcjcsIGlwLCBscn0KKwlzdG1nZWlhCXIwISwge3IxLCByMy1yNywgaXAsIGxyfQorCWJndAkzYgorCWxkbWVxZmQJc3AhLCB7cjQtcjcsIHBjfQorCisJdHN0CXIyLCAjMzIKKwlzdG1uZWlhCXIwISwge3IxLCByMy1yNywgaXAsIGxyfQorCXRzdAlyMiwgIzE2CisJc3RtbmVpYQlyMCEsIHtyNC1yN30KKwlsZG1mZAlzcCEsIHtyNC1yNywgbHJ9CisKKyNlbmRpZgorCiA0Ogl0c3QJcjIsICM4CiAJc3RtbmVpYQlyMCEsIHtyMSwgcjN9CiAJdHN0CXIyLCAjNApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbGliL21lbXplcm8uUyBiL2FyY2gvYXJtL2xpYi9tZW16ZXJvLlMKaW5kZXggYWJmMjUwOC4uYjhmNzlkOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbGliL21lbXplcm8uUworKysgYi9hcmNoL2FybS9saWIvbWVtemVyby5TCkBAIC0zOSw2ICszOSw5IEBACiAgKi8KIAljbXAJcjEsICMxNgkJCUAgMSB3ZSBjYW4gc2tpcCB0aGlzIGNodW5rIGlmIHdlCiAJYmx0CTRmCQkJQCAxIGhhdmUgPCAxNiBieXRlcworCisjaWYgISBDQUxHTigxKSswCisKIC8qCiAgKiBXZSBuZWVkIGFuIGV4dHJhIHJlZ2lzdGVyIGZvciB0aGlzIGxvb3AgLSBzYXZlIHRoZSByZXR1cm4gYWRkcmVzcyBhbmQKICAqIHVzZSB0aGUgTFIKQEAgLTY0LDYgKzY3LDQ3IEBACiAJc3RtbmVpYQlyMCEsIHtyMiwgcjMsIGlwLCBscn0JQCA0CiAJbGRyCWxyLCBbc3BdLCAjNAkJQCAxCiAKKyNlbHNlCisKKy8qCisgKiBUaGlzIHZlcnNpb24gYWxpZ25zIHRoZSBkZXN0aW5hdGlvbiBwb2ludGVyIGluIG9yZGVyIHRvIHdyaXRlCisgKiB3aG9sZSBjYWNoZSBsaW5lcyBhdCBvbmNlLgorICovCisKKwlzdG1mZAlzcCEsIHtyNC1yNywgbHJ9CisJbW92CXI0LCByMgorCW1vdglyNSwgcjIKKwltb3YJcjYsIHIyCisJbW92CXI3LCByMgorCW1vdglpcCwgcjIKKwltb3YJbHIsIHIyCisKKwljbXAJcjEsICM5NgorCWFuZGd0cwlpcCwgcjAsICMzMQorCWJsZQkzZgorCisJcnNiCWlwLCBpcCwgIzMyCisJc3ViCXIxLCByMSwgaXAKKwltb3ZzCWlwLCBpcCwgbHNsICMoMzIgLSA0KQorCXN0bWNzaWEJcjAhLCB7cjQsIHI1LCByNiwgcjd9CisJc3RtbWlpYQlyMCEsIHtyNCwgcjV9CisJbW92cwlpcCwgaXAsIGxzbCAjMgorCXN0cmNzCXIyLCBbcjBdLCAjNAorCiszOglzdWJzCXIxLCByMSwgIzY0CisJc3RtZ2VpYQlyMCEsIHtyMi1yNywgaXAsIGxyfQorCXN0bWdlaWEJcjAhLCB7cjItcjcsIGlwLCBscn0KKwliZ3QJM2IKKwlsZG1lcWZkCXNwISwge3I0LXI3LCBwY30KKworCXRzdAlyMSwgIzMyCisJc3RtbmVpYQlyMCEsIHtyMi1yNywgaXAsIGxyfQorCXRzdAlyMSwgIzE2CisJc3RtbmVpYQlyMCEsIHtyNC1yN30KKwlsZG1mZAlzcCEsIHtyNC1yNywgbHJ9CisKKyNlbmRpZgorCiA0Ogl0c3QJcjEsICM4CQkJQCAxIDggYnl0ZXMgb3IgbW9yZT8KIAlzdG1uZWlhCXIwISwge3IyLCByM30JCUAgMgogCXRzdAlyMSwgIzQJCQlAIDEgNCBieXRlcyBvciBtb3JlPwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLWF0OTEvS2NvbmZpZwppbmRleCAwZmMwN2I2Li41YmFkNmI5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvS2NvbmZpZwpAQCAtMzAsNiArMzAsMTEgQEAKIAlzZWxlY3QgR0VORVJJQ19USU1FCiAJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKIAorY29uZmlnIEFSQ0hfQVQ5MVNBTTlHMjAKKwlib29sICJBVDkxU0FNOUcyMCIKKwlzZWxlY3QgR0VORVJJQ19USU1FCisJc2VsZWN0IEdFTkVSSUNfQ0xPQ0tFVkVOVFMKKwogY29uZmlnIEFSQ0hfQVQ5MUNBUDkKIAlib29sICJBVDkxQ0FQOSIKIAlzZWxlY3QgR0VORVJJQ19USU1FCkBAIC0xMjYsNiArMTMxLDEyIEBACiAJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIGVtUWJpdCdzIEVDQl9BVDkxIGJvYXJkLgogCSAgPGh0dHA6Ly93aWtpLmVtcWJpdC5jb20vZnJlZS1lY2ItYXQ5MT4KIAorY29uZmlnIE1BQ0hfWUw5MjAwCisJYm9vbCAidWNEcmFnb24gWUwtOTIwMCIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVJNOTIwMAorCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgdGhlIHVjRHJhZ29uIFlMLTkyMDAgYm9hcmQuCisKIGVuZGlmCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTY0LDYgKzE3NSwyMCBAQAogCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBPbGltZXgncyBTQU05LUw5MjYwIGJvYXJkIGJhc2VkIG9uIHRoZSBBdG1lbCBBVDkxU0FNOTI2MC4KIAkgIDxodHRwOi8vd3d3Lm9saW1leC5jb20vZGV2L3NhbTktTDkyNjAuaHRtbD4KIAorY29uZmlnIE1BQ0hfVVNCX0E5MjYwCisJYm9vbCAiQ0FMQU8gVVNCLUE5MjYwIgorCWRlcGVuZHMgb24gQVJDSF9BVDkxU0FNOTI2MAorCWhlbHAKKwkgIFNlbGVjdCB0aGlzIGlmIHlvdSBhcmUgdXNpbmcgYSBDYWxhbyBTeXN0ZW1zIFVTQi1BOTI2MC4KKwkgIDxodHRwOi8vd3d3LmNhbGFvLXN5c3RlbXMuY29tPgorCitjb25maWcgTUFDSF9RSUxfQTkyNjAKKwlib29sICJDQUxBTyBRSUwtQTkyNjAgYm9hcmQiCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwCisJaGVscAorCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBhIENhbGFvIFN5c3RlbXMgUUlMLUE5MjYwIEJvYXJkLgorCSAgPGh0dHA6Ly93d3cuY2FsYW8tc3lzdGVtcy5jb20+CisKIGVuZGlmCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTk0LDYgKzIxOSwxMyBAQAogCSAgU2VsZWN0IHRoaXMgaWYgeW91IGFyZSB1c2luZyBBdG1lbCdzIEFUOTFTQU05MjYzLUVLIEV2YWx1YXRpb24gS2l0LgogCSAgPGh0dHA6Ly93d3cuYXRtZWwuY29tL2R5bi9wcm9kdWN0cy90b29sc19jYXJkLmFzcD90b29sX2lkPTQwNTc+CiAKK2NvbmZpZyBNQUNIX1VTQl9BOTI2MworCWJvb2wgIkNBTEFPIFVTQi1BOTI2MyIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjMKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIGEgQ2FsYW8gU3lzdGVtcyBVU0ItQTkyNjMuCisJICA8aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4KKwogZW5kaWYKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yMTIsNiArMjQ0LDIwIEBACiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitpZiBBUkNIX0FUOTFTQU05RzIwCisKK2NvbW1lbnQgIkFUOTFTQU05RzIwIEJvYXJkIFR5cGUiCisKK2NvbmZpZyBNQUNIX0FUOTFTQU05RzIwRUsKKwlib29sICJBdG1lbCBBVDkxU0FNOUcyMC1FSyBFdmFsdWF0aW9uIEtpdCIKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTlHMjAKKwloZWxwCisJICBTZWxlY3QgdGhpcyBpZiB5b3UgYXJlIHVzaW5nIEF0bWVsJ3MgQVQ5MVNBTTlHMjAtRUsgRXZhbHVhdGlvbiBLaXQuCisKK2VuZGlmCisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBpZiBBUkNIX0FUOTFDQVA5CiAKIGNvbW1lbnQgIkFUOTFDQVA5IEJvYXJkIFR5cGUiCkBAIC0yNDcsMTMgKzI5MywxMyBAQAogCiBjb25maWcgTVREX0FUOTFfREFUQUZMQVNIX0NBUkQKIAlib29sICJFbmFibGUgRGF0YUZsYXNoIENhcmQgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIChBUkNIX0FUOTFSTTkyMDBESyB8fCBNQUNIX0FUOTFSTTkyMDBFSyB8fCBNQUNIX0FUOTFTQU05MjYwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MUVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjNFSyB8fCBNQUNIX0FUOTFDQVA5QURLIHx8IE1BQ0hfU0FNOV9MOTI2MCB8fCBNQUNIX0VDQkFUOTEpCisJZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwREsgfHwgTUFDSF9BVDkxUk05MjAwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxU0FNOUcyMEVLIHx8IE1BQ0hfRUNCQVQ5MSB8fCBNQUNIX1NBTTlfTDkyNjAgfHwgTUFDSF9BVDkxQ0FQOUFESykKIAloZWxwCiAJICBFbmFibGUgc3VwcG9ydCBmb3IgdGhlIERhdGFGbGFzaCBjYXJkLgogCiBjb25maWcgTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNgogCWJvb2wgIkVuYWJsZSAxNi1iaXQgZGF0YSBidXMgaW50ZXJmYWNlIHRvIE5BTkQgZmxhc2giCi0JZGVwZW5kcyBvbiAoTUFDSF9BVDkxU0FNOTI2MEVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjFFSyB8fCBNQUNIX0FUOTFTQU05MjYzRUsgfHwgTUFDSF9BVDkxQ0FQOUFESykKKwlkZXBlbmRzIG9uIChNQUNIX0FUOTFTQU05MjYwRUsgfHwgTUFDSF9BVDkxU0FNOTI2MUVLIHx8IE1BQ0hfQVQ5MVNBTTkyNjNFSyB8fCBNQUNIX0FUOTFTQU05RzIwRUsgfHwgTUFDSF9BVDkxQ0FQOUFESykKIAloZWxwCiAJICBPbiBBVDkxU0FNOTI2eCBib2FyZHMgYm90aCB0eXBlcyBvZiBOQU5EIGZsYXNoIGNhbiBiZSBwcmVzZW50CiAJICAoOCBhbmQgMTYgYml0IGRhdGEgYnVzIHdpZHRoKS4KQEAgLTMwMiwxNSArMzQ4LDE1IEBACiAKIGNvbmZpZyBBVDkxX0VBUkxZX1VTQVJUMwogCWJvb2wgIlVTQVJUMyIKLQlkZXBlbmRzIG9uIChBUkNIX0FUOTFSTTkyMDAgfHwgQVJDSF9BVDkxU0FNOVJMIHx8IEFSQ0hfQVQ5MVNBTTkyNjApCisJZGVwZW5kcyBvbiAoQVJDSF9BVDkxUk05MjAwIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTlHMjApCiAKIGNvbmZpZyBBVDkxX0VBUkxZX1VTQVJUNAogCWJvb2wgIlVTQVJUNCIKLQlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOUcyMAogCiBjb25maWcgQVQ5MV9FQVJMWV9VU0FSVDUKIAlib29sICJVU0FSVDUiCi0JZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwCisJZGVwZW5kcyBvbiBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTlHMjAKIAogZW5kY2hvaWNlCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtYXQ5MS9NYWtlZmlsZQppbmRleCA4ZDliYzAxLi43ZDY0MWY5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL01ha2VmaWxlCkBAIC0xNSw2ICsxNSw3IEBACiBvYmotJChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSkJKz0gYXQ5MXNhbTkyNjEubyBhdDkxc2FtOTI2eF90aW1lLm8gYXQ5MXNhbTkyNjFfZGV2aWNlcy5vCiBvYmotJChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MykJKz0gYXQ5MXNhbTkyNjMubyBhdDkxc2FtOTI2eF90aW1lLm8gYXQ5MXNhbTkyNjNfZGV2aWNlcy5vCiBvYmotJChDT05GSUdfQVJDSF9BVDkxU0FNOVJMKQkrPSBhdDkxc2FtOXJsLm8gYXQ5MXNhbTkyNnhfdGltZS5vIGF0OTFzYW05cmxfZGV2aWNlcy5vCitvYmotJChDT05GSUdfQVJDSF9BVDkxU0FNOUcyMCkJKz0gYXQ5MXNhbTkyNjAubyBhdDkxc2FtOTI2eF90aW1lLm8gYXQ5MXNhbTkyNjBfZGV2aWNlcy5vCiBvYmotJChDT05GSUdfQVJDSF9BVDkxQ0FQOSkJKz0gYXQ5MWNhcDkubyBhdDkxc2FtOTI2eF90aW1lLm8gYXQ5MWNhcDlfZGV2aWNlcy5vCiBvYmotJChDT05GSUdfQVJDSF9BVDkxWDQwKQkrPSBhdDkxeDQwLm8gYXQ5MXg0MF90aW1lLm8KIApAQCAtMzAsMjEgKzMxLDI4IEBACiBvYmotJChDT05GSUdfTUFDSF9LQUZBKQkJKz0gYm9hcmQta2FmYS5vCiBvYmotJChDT05GSUdfTUFDSF9QSUNPVFVYMlhYKQkrPSBib2FyZC1waWNvdHV4MjAwLm8KIG9iai0kKENPTkZJR19NQUNIX0VDQkFUOTEpCSs9IGJvYXJkLWVjYmF0OTEubworb2JqLSQoQ09ORklHX01BQ0hfWUw5MjAwKQkrPSBib2FyZC15bC05MjAwLm8KIAogIyBBVDkxU0FNOTI2MCBib2FyZC1zcGVjaWZpYyBzdXBwb3J0CiBvYmotJChDT05GSUdfTUFDSF9BVDkxU0FNOTI2MEVLKSArPSBib2FyZC1zYW05MjYwZWsubwogb2JqLSQoQ09ORklHX01BQ0hfQ0FNNjApCSs9IGJvYXJkLWNhbTYwLm8KIG9iai0kKENPTkZJR19NQUNIX1NBTTlfTDkyNjApCSs9IGJvYXJkLXNhbTktbDkyNjAubworb2JqLSQoQ09ORklHX01BQ0hfVVNCX0E5MjYwKQkrPSBib2FyZC11c2ItYTkyNjAubworb2JqLSQoQ09ORklHX01BQ0hfUUlMX0E5MjYwKQkrPSBib2FyZC1xaWwtYTkyNjAubwogCiAjIEFUOTFTQU05MjYxIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFTQU05MjYxRUspICs9IGJvYXJkLXNhbTkyNjFlay5vCiAKICMgQVQ5MVNBTTkyNjMgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MVNBTTkyNjNFSykgKz0gYm9hcmQtc2FtOTI2M2VrLm8KK29iai0kKENPTkZJR19NQUNIX1VTQl9BOTI2MykJKz0gYm9hcmQtdXNiLWE5MjYzLm8KIAogIyBBVDkxU0FNOVJMIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKIG9iai0kKENPTkZJR19NQUNIX0FUOTFTQU05UkxFSykJKz0gYm9hcmQtc2FtOXJsZWsubwogCisjIEFUOTFTQU05RzIwIGJvYXJkLXNwZWNpZmljIHN1cHBvcnQKK29iai0kKENPTkZJR19NQUNIX0FUOTFTQU05RzIwRUspICs9IGJvYXJkLXNhbTlnMjBlay5vCisKICMgQVQ5MUNBUDkgYm9hcmQtc3BlY2lmaWMgc3VwcG9ydAogb2JqLSQoQ09ORklHX01BQ0hfQVQ5MUNBUDlBREspCSs9IGJvYXJkLWNhcDlhZGsubwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MWNhcDlfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFjYXA5X2RldmljZXMuYwppbmRleCBiZTUyNjc0Li43NDdiOWRlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MWNhcDlfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxY2FwOV9kZXZpY2VzLmMKQEAgLTg0LDYgKzg0LDEwNSBAQAogCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiAgVVNCIEhTIERldmljZSAoR2FkZ2V0KQorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKworI2lmIGRlZmluZWQoQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQSkgfHwgZGVmaW5lZChDT05GSUdfVVNCX0dBREdFVF9BVE1FTF9VU0JBX01PRFVMRSkKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1c2JhX3VkY19yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEFUOTFDQVA5X1VEUEhTX0ZJRk8sCisJCS5lbmQJPSBBVDkxQ0FQOV9VRFBIU19GSUZPICsgU1pfNTEySyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzFdID0geworCQkuc3RhcnQJPSBBVDkxQ0FQOV9CQVNFX1VEUEhTLAorCQkuZW5kCT0gQVQ5MUNBUDlfQkFTRV9VRFBIUyArIFNaXzFLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMl0gPSB7CisJCS5zdGFydAk9IEFUOTFDQVA5X0lEX1VEUEhTLAorCQkuZW5kCT0gQVQ5MUNBUDlfSURfVURQSFMsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCisjZGVmaW5lIEVQKG5hbSwgaWR4LCBtYXhwa3QsIG1heGJrLCBkbWEsIGlzb2MpCQkJXAorCVtpZHhdID0gewkJCQkJCVwKKwkJLm5hbWUJCT0gbmFtLAkJCQlcCisJCS5pbmRleAkJPSBpZHgsCQkJCVwKKwkJLmZpZm9fc2l6ZQk9IG1heHBrdCwJCQlcCisJCS5ucl9iYW5rcwk9IG1heGJrLAkJCVwKKwkJLmNhbl9kbWEJPSBkbWEsCQkJCVwKKwkJLmNhbl9pc29jCT0gaXNvYywJCQkJXAorCX0KKworc3RhdGljIHN0cnVjdCB1c2JhX2VwX2RhdGEgdXNiYV91ZGNfZXBbXSA9IHsKKwlFUCgiZXAwIiwgMCwgICA2NCwgMSwgMCwgMCksCisJRVAoImVwMSIsIDEsIDEwMjQsIDMsIDEsIDEpLAorCUVQKCJlcDIiLCAyLCAxMDI0LCAzLCAxLCAxKSwKKwlFUCgiZXAzIiwgMywgMTAyNCwgMiwgMSwgMSksCisJRVAoImVwNCIsIDQsIDEwMjQsIDIsIDEsIDEpLAorCUVQKCJlcDUiLCA1LCAxMDI0LCAyLCAxLCAwKSwKKwlFUCgiZXA2IiwgNiwgMTAyNCwgMiwgMSwgMCksCisJRVAoImVwNyIsIDcsIDEwMjQsIDIsIDAsIDApLAorfTsKKworI3VuZGVmIEVQCisKKy8qCisgKiBwZGF0YSBkb2Vzbid0IGhhdmUgcm9vbSBmb3IgYW55IGVuZHBvaW50cywgc28gd2UgbmVlZCB0bworICogYXBwZW5kIHJvb20gZm9yIHRoZSBvbmVzIHdlIG5lZWQgcmlnaHQgYWZ0ZXIgaXQuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgeworCXN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgcGRhdGE7CisJc3RydWN0IHVzYmFfZXBfZGF0YSBlcFs4XTsKK30gdXNiYV91ZGNfZGF0YTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYXQ5MV91c2JhX3VkY19kZXZpY2UgPSB7CisJLm5hbWUJCT0gImF0bWVsX3VzYmFfdWRjIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCQkJLnBsYXRmb3JtX2RhdGEJPSAmdXNiYV91ZGNfZGF0YS5wZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IHVzYmFfdWRjX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUodXNiYV91ZGNfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91c2JhKHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgKmRhdGEpCit7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfVURQSFMsIEFUOTFfTUFUUklYX1NFTEVDVF9VRFBIUyB8CisJCQkJCSAgQVQ5MV9NQVRSSVhfVURQSFNfQllQQVNTX0xPQ0spOworCisJLyoKKwkgKiBJbnZhbGlkIHBpbnMgYXJlIDAgb24gQVQ5MSwgYnV0IHRoZSB1c2JhIGRyaXZlciBpcyBzaGFyZWQKKwkgKiB3aXRoIEFWUjMyLCB3aGljaCB1c2UgbmVnYXRpdmUgdmFsdWVzIGluc3RlYWQuIE9uY2UvaWYKKwkgKiBncGlvX2lzX3ZhbGlkKCkgaXMgcG9ydGVkIHRvIEFUOTEsIHJldmlzaXQgdGhpcyBjb2RlLgorCSAqLworCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSAtRUlOVkFMOworCXVzYmFfdWRjX2RhdGEucGRhdGEubnVtX2VwID0gQVJSQVlfU0laRSh1c2JhX3VkY19lcCk7CisJbWVtY3B5KHVzYmFfdWRjX2RhdGEuZXAsIHVzYmFfdWRjX2VwLCBzaXplb2YodXNiYV91ZGNfZXApKTs7CisKKwlpZiAoZGF0YSAmJiBkYXRhLT52YnVzX3BpbiA+IDApIHsKKwkJYXQ5MV9zZXRfZ3Bpb19pbnB1dChkYXRhLT52YnVzX3BpbiwgMCk7CisJCWF0OTFfc2V0X2RlZ2xpdGNoKGRhdGEtPnZidXNfcGluLCAxKTsKKwkJdXNiYV91ZGNfZGF0YS5wZGF0YS52YnVzX3BpbiA9IGRhdGEtPnZidXNfcGluOworCX0KKworCS8qIFB1bGx1cCBwaW4gaXMgaGFuZGxlZCBpbnRlcm5hbGx5IGJ5IFVTQiBkZXZpY2UgcGVyaXBoZXJhbCAqLworCisJLyogQ2xvY2tzICovCisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInV0bWlfY2xrIiwgJmF0OTFfdXNiYV91ZGNfZGV2aWNlLmRldiwgImhjbGsiKTsKKwlhdDkxX2Nsb2NrX2Fzc29jaWF0ZSgidWRwaHNfY2xrIiwgJmF0OTFfdXNiYV91ZGNfZGV2aWNlLmRldiwgInBjbGsiKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmYXQ5MV91c2JhX3VkY19kZXZpY2UpOworfQorI2Vsc2UKK3ZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91c2JhKHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgKmRhdGEpIHt9CisjZW5kaWYKKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogIEV0aGVybmV0CiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MC5jCmluZGV4IGVlMjY1NTAuLjM4MGYxMmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MC5jCkBAIC00Nyw2ICs0NywyMCBAQAogCX0KIH07CiAKK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgYXQ5MXNhbTlnMjBfc3JhbV9kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsCT0gQVQ5MV9JT19WSVJUX0JBU0UgLSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oQVQ5MVNBTTlHMjBfU1JBTTBfQkFTRSksCisJCS5sZW5ndGgJCT0gQVQ5MVNBTTlHMjBfU1JBTTBfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKKwkJLnZpcnR1YWwJPSBBVDkxX0lPX1ZJUlRfQkFTRSAtIEFUOTFTQU05RzIwX1NSQU0wX1NJWkUgLSBBVDkxU0FNOUcyMF9TUkFNMV9TSVpFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oQVQ5MVNBTTlHMjBfU1JBTTFfQkFTRSksCisJCS5sZW5ndGgJCT0gQVQ5MVNBTTlHMjBfU1JBTTFfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0KK307CisKIHN0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgYXQ5MXNhbTl4ZV9zcmFtX2Rlc2NbXSBfX2luaXRkYXRhID0gewogCXsKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFUOTFTQU05WEVfU1JBTV9CQVNFKSwKQEAgLTMwNyw2ICszMjEsOCBAQAogCiAJaWYgKGNwdV9pc19hdDkxc2FtOXhlKCkpCiAJCWF0OTFzYW05eGVfaW5pdGlhbGl6ZSgpOworCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOWcyMCgpKQorCQlpb3RhYmxlX2luaXQoYXQ5MXNhbTlnMjBfc3JhbV9kZXNjLCBBUlJBWV9TSVpFKGF0OTFzYW05ZzIwX3NyYW1fZGVzYykpOwogCWVsc2UKIAkJaW90YWJsZV9pbml0KGF0OTFzYW05MjYwX3NyYW1fZGVzYywgQVJSQVlfU0laRShhdDkxc2FtOTI2MF9zcmFtX2Rlc2MpKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwX2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MF9kZXZpY2VzLmMKaW5kZXggMzkzYTMyYS4uODZjYmE0YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYwX2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjBfZGV2aWNlcy5jCkBAIC0xOCw2ICsxOCw3IEBACiAKICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jcHUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9hdDkxc2FtOTI2MC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFzYW05MjYwX21hdHJpeC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFzYW05X3NtYy5oPgpAQCAtMzIwLDIwICszMjEsNDEgQEAKIAljc2EgPSBhdDkxX3N5c19yZWFkKEFUOTFfTUFUUklYX0VCSUNTQSk7CiAJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9NQVRSSVhfRUJJQ1NBLCBjc2EgfCBBVDkxX01BVFJJWF9DUzNBX1NNQ19TTUFSVE1FRElBKTsKIAotCS8qIHNldCB0aGUgYnVzIGludGVyZmFjZSBjaGFyYWN0ZXJpc3RpY3MgKi8KLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCi0JCQl8IEFUOTFfU01DX05SRFNFVFVQXygwKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CisJaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpKSB7CisJCS8qIFRpbWluZyBmb3Igc2FtOTI2MCAqLworCQkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKKwkJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCi0JCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKKwkJCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDUpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDUpKTsKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CiAKLQlpZiAoZGF0YS0+YnVzX3dpZHRoXzE2KQotCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OwotCWVsc2UKLQkJbW9kZSA9IEFUOTFfU01DX0RCV184OwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDIpKTsKKwkJaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKKwkJCW1vZGUgPSBBVDkxX1NNQ19EQldfMTY7CisJCWVsc2UKKwkJCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMikpOworCX0KKworCWlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgeworCQkvKiBUaW1pbmcgZm9yIHNhbTlnMjAgKi8KKwkJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLworCQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDIpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMikgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCisJCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oNCkgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oNCkKKwkJCQl8IEFUOTFfU01DX05SRFBVTFNFXyg0KSB8IEFUOTFfU01DX05DU19SRFBVTFNFXyg0KSk7CisKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg3KSB8IEFUOTFfU01DX05SRENZQ0xFXyg3KSk7CisKKwkJaWYgKGRhdGEtPmJ1c193aWR0aF8xNikKKwkJCW1vZGUgPSBBVDkxX1NNQ19EQldfMTY7CisJCWVsc2UKKwkJCW1vZGUgPSBBVDkxX1NNQ19EQldfODsKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgbW9kZSB8IEFUOTFfU01DX1JFQURNT0RFIHwgQVQ5MV9TTUNfV1JJVEVNT0RFIHwgQVQ5MV9TTUNfRVhOV01PREVfRElTQUJMRSB8IEFUOTFfU01DX1RERl8oMykpOworCX0KIAogCS8qIGVuYWJsZSBwaW4gKi8KIAlpZiAoZGF0YS0+ZW5hYmxlX3BpbikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MV9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjFfZGV2aWNlcy5jCmluZGV4IDBiYWJiNjQuLmVjMTg5MTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2MV9kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYxX2RldmljZXMuYwpAQCAtMjMyLDE5ICsyMzIsMTkgQEAKIAlhdDkxX3N5c193cml0ZShBVDkxX01BVFJJWF9FQklDU0EsIGNzYSB8IEFUOTFfTUFUUklYX0NTM0FfU01DX1NNQVJUTUVESUEpOwogCiAJLyogc2V0IHRoZSBidXMgaW50ZXJmYWNlIGNoYXJhY3RlcmlzdGljcyAqLwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKLQkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDApIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19TRVRVUCgzKSwgQVQ5MV9TTUNfTldFU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1dSU0VUVVBfKDApCisJCQl8IEFUOTFfU01DX05SRFNFVFVQXygxKSB8IEFUOTFfU01DX05DU19SRFNFVFVQXygwKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDIpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDUpCi0JCQl8IEFUOTFfU01DX05SRFBVTFNFXygyKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXyg1KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfUFVMU0UoMyksIEFUOTFfU01DX05XRVBVTFNFXygzKSB8IEFUOTFfU01DX05DU19XUlBVTFNFXygzKQorCQkJfCBBVDkxX1NNQ19OUkRQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfUkRQVUxTRV8oMykpOwogCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg3KSB8IEFUOTFfU01DX05SRENZQ0xFXyg3KSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1lDTEUoMyksIEFUOTFfU01DX05XRUNZQ0xFXyg1KSB8IEFUOTFfU01DX05SRENZQ0xFXyg1KSk7CiAKIAlpZiAoZGF0YS0+YnVzX3dpZHRoXzE2KQogCQltb2RlID0gQVQ5MV9TTUNfREJXXzE2OwogCWVsc2UKIAkJbW9kZSA9IEFUOTFfU01DX0RCV184OwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIG1vZGUgfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDEpKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19NT0RFKDMpLCBtb2RlIHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygyKSk7CiAKIAkvKiBlbmFibGUgcGluICovCiAJaWYgKGRhdGEtPmVuYWJsZV9waW4pCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjNfZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05MjYzX2RldmljZXMuYwppbmRleCA3MTk2NjdlLi44YTgxZjc2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTkyNjNfZGV2aWNlcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOTI2M19kZXZpY2VzLmMKQEAgLTM5MSw4ICszOTEsOCBAQAogCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX0VCSTBDU0EsIGNzYSB8IEFUOTFfTUFUUklYX0VCSTBfQ1MzQV9TTUNfU01BUlRNRURJQSk7CiAKIAkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygwKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQotCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKKwkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKIAogCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMykgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oMykKIAkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDMpKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOXJsX2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9hdDkxc2FtOXJsX2RldmljZXMuYwppbmRleCA0NTBkYjMwLi5hZTI4MTAxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYXQ5MXNhbTlybF9kZXZpY2VzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2F0OTFzYW05cmxfZGV2aWNlcy5jCkBAIC0yNiw2ICsyNiwxMDEgQEAKIAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogIFVTQiBIUyBEZXZpY2UgKEdhZGdldCkKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKyNpZiBkZWZpbmVkKENPTkZJR19VU0JfR0FER0VUX0FUTUVMX1VTQkEpIHx8IGRlZmluZWQoQ09ORklHX1VTQl9HQURHRVRfQVRNRUxfVVNCQV9NT0RVTEUpCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdXNiYV91ZGNfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSBBVDkxU0FNOVJMX1VEUEhTX0ZJRk8sCisJCS5lbmQJPSBBVDkxU0FNOVJMX1VEUEhTX0ZJRk8gKyBTWl81MTJLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydAk9IEFUOTFTQU05UkxfQkFTRV9VRFBIUywKKwkJLmVuZAk9IEFUOTFTQU05UkxfQkFTRV9VRFBIUyArIFNaXzFLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMl0gPSB7CisJCS5zdGFydAk9IEFUOTFTQU05UkxfSURfVURQSFMsCisJCS5lbmQJPSBBVDkxU0FNOVJMX0lEX1VEUEhTLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworI2RlZmluZSBFUChuYW0sIGlkeCwgbWF4cGt0LCBtYXhiaywgZG1hLCBpc29jKQkJCVwKKwlbaWR4XSA9IHsJCQkJCQlcCisJCS5uYW1lCQk9IG5hbSwJCQkJXAorCQkuaW5kZXgJCT0gaWR4LAkJCQlcCisJCS5maWZvX3NpemUJPSBtYXhwa3QsCQkJXAorCQkubnJfYmFua3MJPSBtYXhiaywJCQlcCisJCS5jYW5fZG1hCT0gZG1hLAkJCQlcCisJCS5jYW5faXNvYwk9IGlzb2MsCQkJCVwKKwl9CisKK3N0YXRpYyBzdHJ1Y3QgdXNiYV9lcF9kYXRhIHVzYmFfdWRjX2VwW10gX19pbml0ZGF0YSA9IHsKKwlFUCgiZXAwIiwgMCwgNjQsIDEsIDAsIDApLAorCUVQKCJlcDEiLCAxLCAxMDI0LCAyLCAxLCAxKSwKKwlFUCgiZXAyIiwgMiwgMTAyNCwgMiwgMSwgMSksCisJRVAoImVwMyIsIDMsIDEwMjQsIDMsIDEsIDApLAorCUVQKCJlcDQiLCA0LCAxMDI0LCAzLCAxLCAwKSwKKwlFUCgiZXA1IiwgNSwgMTAyNCwgMywgMSwgMSksCisJRVAoImVwNiIsIDYsIDEwMjQsIDMsIDEsIDEpLAorfTsKKworI3VuZGVmIEVQCisKKy8qCisgKiBwZGF0YSBkb2Vzbid0IGhhdmUgcm9vbSBmb3IgYW55IGVuZHBvaW50cywgc28gd2UgbmVlZCB0bworICogYXBwZW5kIHJvb20gZm9yIHRoZSBvbmVzIHdlIG5lZWQgcmlnaHQgYWZ0ZXIgaXQuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgeworCXN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgcGRhdGE7CisJc3RydWN0IHVzYmFfZXBfZGF0YSBlcFs3XTsKK30gdXNiYV91ZGNfZGF0YTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYXQ5MV91c2JhX3VkY19kZXZpY2UgPSB7CisJLm5hbWUJCT0gImF0bWVsX3VzYmFfdWRjIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCQkJLnBsYXRmb3JtX2RhdGEJPSAmdXNiYV91ZGNfZGF0YS5wZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IHVzYmFfdWRjX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUodXNiYV91ZGNfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91c2JhKHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgKmRhdGEpCit7CisJLyoKKwkgKiBJbnZhbGlkIHBpbnMgYXJlIDAgb24gQVQ5MSwgYnV0IHRoZSB1c2JhIGRyaXZlciBpcyBzaGFyZWQKKwkgKiB3aXRoIEFWUjMyLCB3aGljaCB1c2UgbmVnYXRpdmUgdmFsdWVzIGluc3RlYWQuIE9uY2UvaWYKKwkgKiBncGlvX2lzX3ZhbGlkKCkgaXMgcG9ydGVkIHRvIEFUOTEsIHJldmlzaXQgdGhpcyBjb2RlLgorCSAqLworCXVzYmFfdWRjX2RhdGEucGRhdGEudmJ1c19waW4gPSAtRUlOVkFMOworCXVzYmFfdWRjX2RhdGEucGRhdGEubnVtX2VwID0gQVJSQVlfU0laRSh1c2JhX3VkY19lcCk7CisJbWVtY3B5KHVzYmFfdWRjX2RhdGEuZXAsIHVzYmFfdWRjX2VwLCBzaXplb2YodXNiYV91ZGNfZXApKTs7CisKKwlpZiAoZGF0YSAmJiBkYXRhLT52YnVzX3BpbiA+IDApIHsKKwkJYXQ5MV9zZXRfZ3Bpb19pbnB1dChkYXRhLT52YnVzX3BpbiwgMCk7CisJCWF0OTFfc2V0X2RlZ2xpdGNoKGRhdGEtPnZidXNfcGluLCAxKTsKKwkJdXNiYV91ZGNfZGF0YS5wZGF0YS52YnVzX3BpbiA9IGRhdGEtPnZidXNfcGluOworCX0KKworCS8qIFB1bGx1cCBwaW4gaXMgaGFuZGxlZCBpbnRlcm5hbGx5IGJ5IFVTQiBkZXZpY2UgcGVyaXBoZXJhbCAqLworCisJLyogQ2xvY2tzICovCisJYXQ5MV9jbG9ja19hc3NvY2lhdGUoInV0bWlfY2xrIiwgJmF0OTFfdXNiYV91ZGNfZGV2aWNlLmRldiwgImhjbGsiKTsKKwlhdDkxX2Nsb2NrX2Fzc29jaWF0ZSgidWRwaHNfY2xrIiwgJmF0OTFfdXNiYV91ZGNfZGV2aWNlLmRldiwgInBjbGsiKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmYXQ5MV91c2JhX3VkY19kZXZpY2UpOworfQorI2Vsc2UKK3ZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91c2JhKHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgKmRhdGEpIHt9CisjZW5kaWYKKworCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICogIE1NQyAvIFNECiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCkBAIC0xMzgsMTUgKzIzMywxNSBAQAogCWF0OTFfc3lzX3dyaXRlKEFUOTFfTUFUUklYX0VCSUNTQSwgY3NhIHwgQVQ5MV9NQVRSSVhfQ1MzQV9TTUNfU01BUlRNRURJQSk7CiAKIAkvKiBzZXQgdGhlIGJ1cyBpbnRlcmZhY2UgY2hhcmFjdGVyaXN0aWNzICovCi0JYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfU0VUVVAoMyksIEFUOTFfU01DX05XRVNFVFVQXygwKSB8IEFUOTFfU01DX05DU19XUlNFVFVQXygwKQotCQkJfCBBVDkxX1NNQ19OUkRTRVRVUF8oMCkgfCBBVDkxX1NNQ19OQ1NfUkRTRVRVUF8oMCkpOworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1NFVFVQKDMpLCBBVDkxX1NNQ19OV0VTRVRVUF8oMSkgfCBBVDkxX1NNQ19OQ1NfV1JTRVRVUF8oMCkKKwkJCXwgQVQ5MV9TTUNfTlJEU0VUVVBfKDEpIHwgQVQ5MV9TTUNfTkNTX1JEU0VUVVBfKDApKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX1BVTFNFKDMpLCBBVDkxX1NNQ19OV0VQVUxTRV8oMikgfCBBVDkxX1NNQ19OQ1NfV1JQVUxTRV8oNSkKLQkJCXwgQVQ5MV9TTUNfTlJEUFVMU0VfKDIpIHwgQVQ5MV9TTUNfTkNTX1JEUFVMU0VfKDUpKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19QVUxTRSgzKSwgQVQ5MV9TTUNfTldFUFVMU0VfKDMpIHwgQVQ5MV9TTUNfTkNTX1dSUFVMU0VfKDMpCisJCQl8IEFUOTFfU01DX05SRFBVTFNFXygzKSB8IEFUOTFfU01DX05DU19SRFBVTFNFXygzKSk7CiAKLQlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDcpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDcpKTsKKwlhdDkxX3N5c193cml0ZShBVDkxX1NNQ19DWUNMRSgzKSwgQVQ5MV9TTUNfTldFQ1lDTEVfKDUpIHwgQVQ5MV9TTUNfTlJEQ1lDTEVfKDUpKTsKIAotCWF0OTFfc3lzX3dyaXRlKEFUOTFfU01DX01PREUoMyksIEFUOTFfU01DX0RCV184IHwgQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfCBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfVERGXygxKSk7CisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfTU9ERSgzKSwgQVQ5MV9TTUNfREJXXzggfCBBVDkxX1NNQ19SRUFETU9ERSB8IEFUOTFfU01DX1dSSVRFTU9ERSB8IEFUOTFfU01DX0VYTldNT0RFX0RJU0FCTEUgfCBBVDkxX1NNQ19UREZfKDIpKTsKIAogCS8qIGVuYWJsZSBwaW4gKi8KIAlpZiAoZGF0YS0+ZW5hYmxlX3BpbikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXA5YWRrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FwOWFkay5jCmluZGV4IGU1NTEyZDEuLjhhMmE5NTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXA5YWRrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcDlhZGsuYwpAQCAtNzgsNiArNzgsMTIgQEAKIAkucG9ydHMJCT0gMiwKIH07CiAKKy8qCisgKiBVU0IgSFMgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgX19pbml0ZGF0YSBjYXA5YWRrX3VzYmFfdWRjX2RhdGEgPSB7CisJLnZidXNfcGluCT0gQVQ5MV9QSU5fUEIzMSwKK307CiAKIC8qCiAgKiBBRFM3ODQ2IFRvdWNoc2NyZWVuCkBAIC0zMjYsNiArMzMyLDkgQEAKIAkvKiBVU0IgSG9zdCAqLwogCXNldF9pcnFfdHlwZShBVDkxQ0FQOV9JRF9VSFAsIElSUVRfSElHSCk7CiAJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmNhcDlhZGtfdXNiaF9kYXRhKTsKKwkvKiBVU0IgSFMgKi8KKwlzZXRfaXJxX3R5cGUoQVQ5MUNBUDlfSURfVURQSFMsIElSUVRfSElHSCk7CisJYXQ5MV9hZGRfZGV2aWNlX3VzYmEoJmNhcDlhZGtfdXNiYV91ZGNfZGF0YSk7CiAJLyogU1BJICovCiAJYXQ5MV9hZGRfZGV2aWNlX3NwaShjYXA5YWRrX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKGNhcDlhZGtfc3BpX2RldmljZXMpKTsKIAkvKiBUb3VjaHNjcmVlbiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcm1ldmEuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jYXJtZXZhLmMKaW5kZXggMGYwODc4Mi4uOTg1NGZjMyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNhcm1ldmEuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY2FybWV2YS5jCkBAIC00MCwyNCArNDAsMjEgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGNhcm1ldmFfdWFydF9jb25maWcgPSB7Ci0JLmNvbnNvbGVfdHR5CT0gMCwJCQkJLyogdHR5UzAgKi8KLQkubnJfdHR5CQk9IDIsCi0JLnR0eV9tYXAJPSB7IDQsIDEsIC0xLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBjYXJtZXZhX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAyMC4wMDAgTUh6IGNyeXN0YWwgKi8KIAlhdDkxcm05MjAwX2luaXRpYWxpemUoMjAwMDAwMDAsIEFUOTFSTTkyMDBfQkdBKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZjYXJtZXZhX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMSBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMSwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgY2FybWV2YV9pbml0X2lycSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWNzYjYzNy5jCmluZGV4IDQxOWZkMTkuLmJiMWE1NDcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1jc2I2MzcuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtY3NiNjM3LmMKQEAgLTQ1LDEwICs0NSwxMCBAQAogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAzLjY4NjQgTUh6IGNyeXN0YWwgKi8KIAlhdDkxcm05MjAwX2luaXRpYWxpemUoMzY4NjQwMCwgQVQ5MVJNOTIwMF9CR0EpOwogCi0JLyogREJHVSBvbiB0dHlTMCAqLworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCiAJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOwogCi0JLyogbWFrZSBjb25zb2xlPXR0eVMwIHRoZSBkZWZhdWx0ICovCisJLyogbWFrZSBjb25zb2xlPXR0eVMwIChpZSwgREJHVSkgdGhlIGRlZmF1bHQgKi8KIAlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWRrLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYwppbmRleCBjMWE4MTNjLi5kYWI5NThkIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZGsuYwpAQCAtNDUsMTcgKzQ1LDYgQEAKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKIAotLyoKLSAqIFNlcmlhbCBwb3J0IGNvbmZpZ3VyYXRpb24uCi0gKiAgICAwIC4uIDMgPSBVU0FSVDAgLi4gVVNBUlQzCi0gKiAgICA0ICAgICAgPSBEQkdVCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgYXQ5MV91YXJ0X2NvbmZpZyBfX2luaXRkYXRhIGRrX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgZGtfbWFwX2lvKHZvaWQpCiB7CiAJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDE4LjQzMiBNSHogY3J5c3RhbCAqLwpAQCAtNjQsOCArNTMsMTYgQEAKIAkvKiBTZXR1cCB0aGUgTEVEcyAqLwogCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BCMiwgQVQ5MV9QSU5fUEIyKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZka191YXJ0X2NvbmZpZyk7CisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGRrX2luaXRfaXJxKHZvaWQpCkBAIC0xNjMsNyArMTYwLDcgQEAKICNkZWZpbmUgREtfRkxBU0hfU0laRQkweDIwMDAwMAogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBka19mbGFzaF9kYXRhID0gewotCS53aWR0aAk9IDIsCisJLndpZHRoCQk9IDIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGRrX2ZsYXNoX3Jlc291cmNlID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWViOTIwMC5jCmluZGV4IGFmMWExZDguLjNmZTA1NGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lYjkyMDAuYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtZWI5MjAwLmMKQEAgLTQwLDI0ICs0MCwyNCBAQAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEgZWI5MjAwX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAyLAotCS50dHlfbWFwCT0geyA0LCAxLCAtMSwgLTEsIC0xIH0JCS8qIHR0eVMwLCAuLi4sIHR0eVM0ICovCi19OwotCiBzdGF0aWMgdm9pZCBfX2luaXQgZWI5MjAwX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KIAlhdDkxcm05MjAwX2luaXRpYWxpemUoMTg0MzIwMDAsIEFUOTFSTTkyMDBfQkdBKTsKIAotCS8qIFNldHVwIHRoZSBzZXJpYWwgcG9ydHMgYW5kIGNvbnNvbGUgKi8KLQlhdDkxX2luaXRfc2VyaWFsKCZlYjkyMDBfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQl8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIFVTQVJUMiBvbiB0dHlTMi4gKFJ4LCBUeCkgLSBJUkRBICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMyLCAyLCAwKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBlYjkyMDBfaW5pdF9pcnEodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1lay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMKaW5kZXggMDU3NGU1MC4uNzRhYTQzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWVrLmMKQEAgLTQ1LDE3ICs0NSw2IEBACiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICovCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSBla191YXJ0X2NvbmZpZyA9IHsKLQkuY29uc29sZV90dHkJPSAwLAkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMiwKLQkudHR5X21hcAk9IHsgNCwgMSwgLTEsIC0xLCAtMSB9CQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQogewogCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KQEAgLTY0LDggKzUzLDE2IEBACiAJLyogU2V0dXAgdGhlIExFRHMgKi8KIAlhdDkxX2luaXRfbGVkcyhBVDkxX1BJTl9QQjEsIEFUOTFfUElOX1BCMik7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgmZWtfdWFydF9jb25maWcpOworCS8qIERCR1Ugb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQxIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMxLCAxLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTCisJCQkgICB8IEFUTUVMX1VBUlRfRFRSIHwgQVRNRUxfVUFSVF9EU1IgfCBBVE1FTF9VQVJUX0RDRAorCQkJICAgfCBBVE1FTF9VQVJUX1JJKTsKKworCS8qIHNldCBzZXJpYWwgY29uc29sZSB0byB0dHlTMCAoaWUsIERCR1UpICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMCk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBla19pbml0X2lycSh2b2lkKQpAQCAtMTIyLDcgKzExOSw3IEBACiAjZGVmaW5lIEVLX0ZMQVNIX1NJWkUJMHgyMDAwMDAKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZWtfZmxhc2hfZGF0YSA9IHsKLQkud2lkdGgJPSAyLAorCS53aWR0aAkJPSAyLAogfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBla19mbGFzaF9yZXNvdXJjZSA9IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1rYjkyMDIuYwppbmRleCA0YjM5YjljLi5jYjA2NWZlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQta2I5MjAyLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLWtiOTIwMi5jCkBAIC0zNywyMCArMzcsMTEgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KIAorI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFybTkyMDBfbWMuaD4KKwogI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogCi0vKgotICogU2VyaWFsIHBvcnQgY29uZmlndXJhdGlvbi4KLSAqICAgIDAgLi4gMyA9IFVTQVJUMCAuLiBVU0FSVDMKLSAqICAgIDQgICAgICA9IERCR1UKLSAqLwotc3RhdGljIHN0cnVjdCBhdDkxX3VhcnRfY29uZmlnIF9faW5pdGRhdGEga2I5MjAyX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCQkvKiB0dHlTMCAqLwotCS5ucl90dHkJCT0gMywKLQkudHR5X21hcAk9IHsgNCwgMCwgMSwgLTEsIC0xIH0JCQkvKiB0dHlTMCwgLi4uLCB0dHlTNCAqLwotfTsKLQogc3RhdGljIHZvaWQgX19pbml0IGtiOTIwMl9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTAgTUh6IGNyeXN0YWwgKi8KQEAgLTU5LDggKzUwLDIwIEBACiAJLyogU2V0IHVwIHRoZSBMRURzICovCiAJYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEMxOSwgQVQ5MV9QSU5fUEMxOCk7CiAKLQkvKiBTZXR1cCB0aGUgc2VyaWFsIHBvcnRzIGFuZCBjb25zb2xlICovCi0JYXQ5MV9pbml0X3NlcmlhbCgma2I5MjAyX3VhcnRfY29uZmlnKTsKKwkvKiBEQkdVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMSAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxUk05MjAwX0lEX1VTMCwgMSwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzIgKFJ4ICYgVHggb25seSkgLSBJUkRBIChvcHRpb25hbCkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDIsIDApOworCisJLyogVVNBUlQzIG9uIHR0eVMzIChSeCwgVHgsIENUUywgUlRTKSAtIFJTNDg1IChvcHRpb25hbCkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzMsIDMsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IGtiOTIwMl9pbml0X2lycSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXFpbC1hOTI2MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5YjRlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtcWlsLWE5MjYwLmMKQEAgLTAsMCArMSwyNTUgQEAKKy8qCisgKiBsaW51eC9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQtcWlsLWE5MjYwLmMKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1IFNBTiBQZW9wbGUKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYgQXRtZWwKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQ2FsYW8tc3lzdGVtcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9zaGR3Yy5oPgorCisjaW5jbHVkZSAiZ2VuZXJpYy5oIgorCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19tYXBfaW8odm9pZCkKK3sKKwkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTIuMDAwIE1IeiBjcnlzdGFsICovCisJYXQ5MXNhbTkyNjBfaW5pdGlhbGl6ZSgxMjAwMDAwMCk7CisKKwkvKiBER0JVIG9uIHR0eVMwLiAoUnggJiBUeCBvbmx5KSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydCgwLCAwLCAwKTsKKworCS8qIFVTQVJUMCBvbiB0dHlTMS4gKFJ4LCBUeCwgQ1RTLCBSVFMsIERUUiwgRFNSLCBEQ0QsIFJJKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzAsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCSAgIHwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQkgICB8IEFUTUVMX1VBUlRfUkkpOworCisJLyogVVNBUlQxIG9uIHR0eVMyLiAoUngsIFR4LCBDVFMsIFJUUykgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVNBTTkyNjBfSURfVVMxLCAyLCBBVE1FTF9VQVJUX0NUUyB8IEFUTUVMX1VBUlRfUlRTKTsKKworCS8qIFVTQVJUMiBvbiB0dHlTMy4gKFJ4LCBUeCwgQ1RTLCBSVFMpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFTQU05MjYwX0lEX1VTMiwgMywgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUyk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzEgKGllLCBVU0FSVDApICovCisJYXQ5MV9zZXRfc2VyaWFsX2NvbnNvbGUoMSk7CisKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCit7CisJYXQ5MXNhbTkyNjBfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOworfQorCisKKy8qCisgKiBVU0IgSG9zdCBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSBla191c2JoX2RhdGEgPSB7CisJLnBvcnRzCQk9IDIsCit9OworCisvKgorICogVVNCIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIGVrX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BDNSwKKwkucHVsbHVwX3Bpbgk9IDAsCQkvKiBwdWxsLXVwIGRyaXZlbiBieSBVREMgKi8KK307CisKKy8qCisgKiBTUEkgZGV2aWNlcy4KKyAqLworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBla19zcGlfZGV2aWNlc1tdID0geworI2lmIGRlZmluZWQoQ09ORklHX1JUQ19EUlZfTTQxVDk0KQorCXsJLyogTTQxVDk0IFJUQyAqLworCQkubW9kYWxpYXMJPSAibTQxdDk0IiwKKwkJLmNoaXBfc2VsZWN0CT0gMCwKKwkJLm1heF9zcGVlZF9oegk9IDEgKiAxMDAwICogMTAwMCwKKwkJLmJ1c19udW0JPSAwLAorCX0KKyNlbmRpZgorfTsKKworLyoKKyAqIE1BQ0IgRXRoZXJuZXQgZGV2aWNlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSBfX2luaXRkYXRhIGVrX21hY2JfZGF0YSA9IHsKKwkucGh5X2lycV9waW4JPSBBVDkxX1BJTl9QQTMxLAorCS5pc19ybWlpCT0gMSwKK307CisKKy8qCisgKiBOQU5EIGZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIGVrX25hbmRfcGFydGl0aW9uW10gPSB7CisJeworCQkubmFtZQk9ICJVYm9vdCAmIEtlcm5lbCIsCisJCS5vZmZzZXQJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQk9IDE2ICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIlJvb3QgRlMiLAorCQkub2Zmc2V0CT0gMHgwMTAwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiRlMiLAorCQkub2Zmc2V0CT0gMHgwODgwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uICogX19pbml0IG5hbmRfcGFydGl0aW9ucyhpbnQgc2l6ZSwgaW50ICpudW1fcGFydGl0aW9ucykKK3sKKwkqbnVtX3BhcnRpdGlvbnMgPSBBUlJBWV9TSVpFKGVrX25hbmRfcGFydGl0aW9uKTsKKwlyZXR1cm4gZWtfbmFuZF9wYXJ0aXRpb247Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSBla19uYW5kX2RhdGEgPSB7CisJLmFsZQkJPSAyMSwKKwkuY2xlCQk9IDIyLAorLy8JLmRldF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEMxMywKKwkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BDMTQsCisJLnBhcnRpdGlvbl9pbmZvCT0gbmFuZF9wYXJ0aXRpb25zLAorI2lmIGRlZmluZWQoQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYpCisJLmJ1c193aWR0aF8xNgk9IDEsCisjZWxzZQorCS5idXNfd2lkdGhfMTYJPSAwLAorI2VuZGlmCit9OworCisvKgorICogTUNJIChTRC9NTUMpCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9tbWNfZGF0YSBfX2luaXRkYXRhIGVrX21tY19kYXRhID0geworCS5zbG90X2IJCT0gMCwKKwkud2lyZTQJCT0gMSwKKy8vCS5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKy8vCS53cF9waW4JCT0gLi4uIG5vdCBjb25uZWN0ZWQKKy8vCS52Y2NfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKK307CisKKy8qCisgKiBHUElPIEJ1dHRvbnMKKyAqLworI2lmIGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU8pIHx8IGRlZmluZWQoQ09ORklHX0tFWUJPQVJEX0dQSU9fTU9EVUxFKQorc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIGVrX2J1dHRvbnNbXSA9IHsKKwl7CS8qIFVTRVIgUFVTSCBCVVRUT04gKi8KKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjEwLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJCS5kZXNjCQk9ICJ1c2VyX3BiIiwKKwkJLndha2V1cAkJPSAxLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZWtfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBla19idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoZWtfYnV0dG9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBla19idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmVrX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkKK3sKKwlhdDkxX3NldF9HUElPX3BlcmlwaChBVDkxX1BJTl9QQjEwLCAxKTsJLyogdXNlciBwdXNoIGJ1dHRvbiwgcHVsbCB1cCBlbmFibGVkICovCisJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIxMCwgMSk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmVrX2J1dHRvbl9kZXZpY2UpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KKyNlbmRpZgorCisvKgorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIGVrX2xlZHNbXSA9IHsKKwl7CS8qIHVzZXJfbGVkIChncmVlbikgKi8KKwkJLm5hbWUJCQk9ICJ1c2VyX2xlZCIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjIxLAorCQkuYWN0aXZlX2xvdwkJPSAwLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2JvYXJkX2luaXQodm9pZCkKK3sKKwkvKiBTZXJpYWwgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CisJLyogVVNCIEhvc3QgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmZWtfdXNiaF9kYXRhKTsKKwkvKiBVU0IgRGV2aWNlICovCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmZWtfdWRjX2RhdGEpOworCS8qIFNQSSAqLworCWF0OTFfYWRkX2RldmljZV9zcGkoZWtfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoZWtfc3BpX2RldmljZXMpKTsKKwkvKiBOQU5EICovCisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJmVrX25hbmRfZGF0YSk7CisJLyogSTJDICovCisJYXQ5MV9hZGRfZGV2aWNlX2kyYyhOVUxMLCAwKTsKKwkvKiBFdGhlcm5ldCAqLworCWF0OTFfYWRkX2RldmljZV9ldGgoJmVrX21hY2JfZGF0YSk7CisJLyogTU1DICovCisJYXQ5MV9hZGRfZGV2aWNlX21tYygwLCAmZWtfbW1jX2RhdGEpOworCS8qIFB1c2ggQnV0dG9ucyAqLworCWVrX2FkZF9kZXZpY2VfYnV0dG9ucygpOworCS8qIExFRHMgKi8KKwlhdDkxX2dwaW9fbGVkcyhla19sZWRzLCBBUlJBWV9TSVpFKGVrX2xlZHMpKTsKKwkvKiBzaHV0ZG93biBjb250cm9sbGVyLCB3YWtldXAgYnV0dG9uICg1IG1zZWMgbG93KSAqLworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU0hEV19NUiwgQVQ5MV9TSERXX0NQVFdLMF8oMTApIHwgQVQ5MV9TSERXX1dLTU9ERTBfTE9XCisJCQkJfCBBVDkxX1NIRFdfUlRUV0tFTik7Cit9CisKK01BQ0hJTkVfU1RBUlQoUUlMX0E5MjYwLCAiQ0FMQU8gUUlMX0E5MjYwIikKKwkvKiBNYWludGFpbmVyOiBjYWxhby1zeXN0ZW1zICovCisJLnBoeXNfaW8JPSBBVDkxX0JBU0VfU1lTLAorCS5pb19wZ19vZmZzdAk9IChBVDkxX1ZBX0JBU0VfU1lTID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBBVDkxX1NEUkFNX0JBU0UgKyAweDEwMCwKKwkudGltZXIJCT0gJmF0OTFzYW05MjZ4X3RpbWVyLAorCS5tYXBfaW8JCT0gZWtfbWFwX2lvLAorCS5pbml0X2lycQk9IGVrX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUJPSBla19ib2FyZF9pbml0LAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05ZzIwZWsuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05ZzIwZWsuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTYxN2MyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlnMjBlay5jCkBAIC0wLDAgKzEsMjE4IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwNSBTQU4gUGVvcGxlCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IEF0bWVsCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGkvYXQ3M2MyMTMuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisKKyNpbmNsdWRlICJnZW5lcmljLmgiCisKKworc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQoreworCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxOC40MzIgTUh6IGNyeXN0YWwgKi8KKwlhdDkxc2FtOTI2MF9pbml0aWFsaXplKDE4NDMyMDAwKTsKKworCS8qIERHQlUgb24gdHR5UzAuIChSeCAmIFR4IG9ubHkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDAsIDApOworCisJLyogVVNBUlQwIG9uIHR0eVMxLiAoUngsIFR4LCBDVFMsIFJUUywgRFRSLCBEU1IsIERDRCwgUkkpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFTQU05MjYwX0lEX1VTMCwgMSwgQVRNRUxfVUFSVF9DVFMgfCBBVE1FTF9VQVJUX1JUUworCQkJICAgfCBBVE1FTF9VQVJUX0RUUiB8IEFUTUVMX1VBUlRfRFNSIHwgQVRNRUxfVUFSVF9EQ0QKKwkJCSAgIHwgQVRNRUxfVUFSVF9SSSk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzIuIChSeCwgVHgsIFJUUywgQ1RTKSAqLworCWF0OTFfcmVnaXN0ZXJfdWFydChBVDkxU0FNOTI2MF9JRF9VUzEsIDIsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMpOworCisJLyogc2V0IHNlcmlhbCBjb25zb2xlIHRvIHR0eVMwIChpZSwgREJHVSkgKi8KKwlhdDkxX3NldF9zZXJpYWxfY29uc29sZSgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGVrX2luaXRfaXJxKHZvaWQpCit7CisJYXQ5MXNhbTkyNjBfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOworfQorCisKKy8qCisgKiBVU0IgSG9zdCBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91c2JoX2RhdGEgX19pbml0ZGF0YSBla191c2JoX2RhdGEgPSB7CisJLnBvcnRzCQk9IDIsCit9OworCisvKgorICogVVNCIERldmljZSBwb3J0CisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV91ZGNfZGF0YSBfX2luaXRkYXRhIGVrX3VkY19kYXRhID0geworCS52YnVzX3Bpbgk9IEFUOTFfUElOX1BDNSwKKwkucHVsbHVwX3Bpbgk9IDAsCQkvKiBwdWxsLXVwIGRyaXZlbiBieSBVREMgKi8KK307CisKKworLyoKKyAqIFNQSSBkZXZpY2VzLgorICovCitzdGF0aWMgc3RydWN0IHNwaV9ib2FyZF9pbmZvIGVrX3NwaV9kZXZpY2VzW10gPSB7CisjaWYgIWRlZmluZWQoQ09ORklHX01NQ19BVDkxKQorCXsJLyogRGF0YUZsYXNoIGNoaXAgKi8KKwkJLm1vZGFsaWFzCT0gIm10ZF9kYXRhZmxhc2giLAorCQkuY2hpcF9zZWxlY3QJPSAxLAorCQkubWF4X3NwZWVkX2h6CT0gMTUgKiAxMDAwICogMTAwMCwKKwkJLmJ1c19udW0JPSAwLAorCX0sCisjaWYgZGVmaW5lZChDT05GSUdfTVREX0FUOTFfREFUQUZMQVNIX0NBUkQpCisJewkvKiBEYXRhRmxhc2ggY2FyZCAqLworCQkubW9kYWxpYXMJPSAibXRkX2RhdGFmbGFzaCIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tYXhfc3BlZWRfaHoJPSAxNSAqIDEwMDAgKiAxMDAwLAorCQkuYnVzX251bQk9IDAsCisJfSwKKyNlbmRpZgorI2VuZGlmCit9OworCisKKy8qCisgKiBNQUNCIEV0aGVybmV0IGRldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSBla19tYWNiX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEE3LAorCS5pc19ybWlpCT0gMSwKK307CisKKworLyoKKyAqIE5BTkQgZmxhc2gKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgZWtfbmFuZF9wYXJ0aXRpb25bXSA9IHsKKwl7CisJCS5uYW1lICAgPSAiQm9vdHN0cmFwIiwKKwkJLm9mZnNldCA9IDAsCisJCS5zaXplICAgPSA0ICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIlBhcnRpdGlvbiAxIiwKKwkJLm9mZnNldAk9IDQgKiAxMDI0ICogMTAyNCwKKwkJLnNpemUJPSA2MCAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJQYXJ0aXRpb24gMiIsCisJCS5vZmZzZXQJPSA2NCAqIDEwMjQgKiAxMDI0LAorCQkuc2l6ZQk9IE1URFBBUlRfU0laX0ZVTEwsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiAqIF9faW5pdCBuYW5kX3BhcnRpdGlvbnMoaW50IHNpemUsIGludCAqbnVtX3BhcnRpdGlvbnMpCit7CisJKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRShla19uYW5kX3BhcnRpdGlvbik7CisJcmV0dXJuIGVrX25hbmRfcGFydGl0aW9uOworfQorCisvKiBkZXRfcGluIGlzIG5vdCBjb25uZWN0ZWQgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSBla19uYW5kX2RhdGEgPSB7CisJLmFsZQkJPSAyMSwKKwkuY2xlCQk9IDIyLAorCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEMxMywKKwkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BDMTQsCisJLnBhcnRpdGlvbl9pbmZvCT0gbmFuZF9wYXJ0aXRpb25zLAorI2lmIGRlZmluZWQoQ09ORklHX01URF9OQU5EX0FUOTFfQlVTV0lEVEhfMTYpCisJLmJ1c193aWR0aF8xNgk9IDEsCisjZWxzZQorCS5idXNfd2lkdGhfMTYJPSAwLAorI2VuZGlmCit9OworCisKKy8qCisgKiBNQ0kgKFNEL01NQykKKyAqIGRldF9waW4sIHdwX3BpbiBhbmQgdmNjX3BpbiBhcmUgbm90IGNvbm5lY3RlZAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfbW1jX2RhdGEgX19pbml0ZGF0YSBla19tbWNfZGF0YSA9IHsKKwkuc2xvdF9iCQk9IDEsCisJLndpcmU0CQk9IDEsCit9OworCisKKy8qCisgKiBMRURzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgZWtfbGVkc1tdID0geworCXsJLyogImJvdHRvbSIgbGVkLCBncmVlbiwgdXNlcmxlZDEgdG8gYmUgZGVmaW5lZCAqLworCQkubmFtZQkJCT0gImRzNSIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQTYsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAibm9uZSIsCisJfSwKKwl7CS8qICJwb3dlciIgbGVkLCB5ZWxsb3cgKi8KKwkJLm5hbWUJCQk9ICJkczEiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEE5LAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2JvYXJkX2luaXQodm9pZCkKK3sKKwkvKiBTZXJpYWwgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc2VyaWFsKCk7CisJLyogVVNCIEhvc3QgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdXNiaCgmZWtfdXNiaF9kYXRhKTsKKwkvKiBVU0IgRGV2aWNlICovCisJYXQ5MV9hZGRfZGV2aWNlX3VkYygmZWtfdWRjX2RhdGEpOworCS8qIFNQSSAqLworCWF0OTFfYWRkX2RldmljZV9zcGkoZWtfc3BpX2RldmljZXMsIEFSUkFZX1NJWkUoZWtfc3BpX2RldmljZXMpKTsKKwkvKiBOQU5EICovCisJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJmVrX25hbmRfZGF0YSk7CisJLyogRXRoZXJuZXQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfZXRoKCZla19tYWNiX2RhdGEpOworCS8qIE1NQyAqLworCWF0OTFfYWRkX2RldmljZV9tbWMoMCwgJmVrX21tY19kYXRhKTsKKwkvKiBJMkMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfaTJjKE5VTEwsIDApOworCS8qIExFRHMgKi8KKwlhdDkxX2dwaW9fbGVkcyhla19sZWRzLCBBUlJBWV9TSVpFKGVrX2xlZHMpKTsKK30KKworTUFDSElORV9TVEFSVChBVDkxU0FNOUcyMEVLLCAiQXRtZWwgQVQ5MVNBTTlHMjAtRUsiKQorCS8qIE1haW50YWluZXI6IEF0bWVsICovCisJLnBoeXNfaW8JPSBBVDkxX0JBU0VfU1lTLAorCS5pb19wZ19vZmZzdAk9IChBVDkxX1ZBX0JBU0VfU1lTID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBBVDkxX1NEUkFNX0JBU0UgKyAweDEwMCwKKwkudGltZXIJCT0gJmF0OTFzYW05MjZ4X3RpbWVyLAorCS5tYXBfaW8JCT0gZWtfbWFwX2lvLAorCS5pbml0X2lycQk9IGVrX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUJPSBla19ib2FyZF9pbml0LAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC1zYW05cmxlay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlybGVrLmMKaW5kZXggZmZjMDU5Ny4uYjZhNzBmYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlybGVrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXNhbTlybGVrLmMKQEAgLTU2LDYgKzU2LDE0IEBACiAKIAogLyoKKyAqIFVTQiBIUyBEZXZpY2UgcG9ydAorICovCitzdGF0aWMgc3RydWN0IHVzYmFfcGxhdGZvcm1fZGF0YSBfX2luaXRkYXRhIGVrX3VzYmFfdWRjX2RhdGEgPSB7CisJLnZidXNfcGluCT0gQVQ5MV9QSU5fUEE4LAorfTsKKworCisvKgogICogTUNJIChTRC9NTUMpCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgYXQ5MV9tbWNfZGF0YSBfX2luaXRkYXRhIGVrX21tY19kYXRhID0gewpAQCAtMTc1LDYgKzE4Myw4IEBACiB7CiAJLyogU2VyaWFsICovCiAJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIUyAqLworCWF0OTFfYWRkX2RldmljZV91c2JhKCZla191c2JhX3VkY19kYXRhKTsKIAkvKiBJMkMgKi8KIAlhdDkxX2FkZF9kZXZpY2VfaTJjKE5VTEwsIDApOwogCS8qIE5BTkQgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjAuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzdhZWRmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2MC5jCkBAIC0wLDAgKzEsMjE1IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2MC5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwNSBTQU4gUGVvcGxlCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2IEF0bWVsCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IENhbGFvLXN5c3RlbXMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfc2hkd2MuaD4KKworI2luY2x1ZGUgImdlbmVyaWMuaCIKKworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfbWFwX2lvKHZvaWQpCit7CisJLyogSW5pdGlhbGl6ZSBwcm9jZXNzb3I6IDEyLjAwMCBNSHogY3J5c3RhbCAqLworCWF0OTFzYW05MjYwX2luaXRpYWxpemUoMTIwMDAwMDApOworCisJLyogREdCVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfaW5pdF9pcnEodm9pZCkKK3sKKwlhdDkxc2FtOTI2MF9pbml0X2ludGVycnVwdHMoTlVMTCk7Cit9CisKKworLyoKKyAqIFVTQiBIb3N0IHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIGVrX3VzYmhfZGF0YSA9IHsKKwkucG9ydHMJCT0gMiwKK307CisKKy8qCisgKiBVU0IgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgZWtfdWRjX2RhdGEgPSB7CisJLnZidXNfcGluCT0gQVQ5MV9QSU5fUEM1LAorCS5wdWxsdXBfcGluCT0gMCwJCS8qIHB1bGwtdXAgZHJpdmVuIGJ5IFVEQyAqLworfTsKKworLyoKKyAqIE1BQ0IgRXRoZXJuZXQgZGV2aWNlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSBfX2luaXRkYXRhIGVrX21hY2JfZGF0YSA9IHsKKwkucGh5X2lycV9waW4JPSBBVDkxX1BJTl9QQTMxLAorCS5pc19ybWlpCT0gMSwKK307CisKKy8qCisgKiBOQU5EIGZsYXNoCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBfX2luaXRkYXRhIGVrX25hbmRfcGFydGl0aW9uW10gPSB7CisJeworCQkubmFtZQk9ICJVYm9vdCAmIEtlcm5lbCIsCisJCS5vZmZzZXQJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQk9IDE2ICogMTAyNCAqIDEwMjQsCisJfSwKKwl7CisJCS5uYW1lCT0gIlJvb3QgRlMiLAorCQkub2Zmc2V0CT0gMHgwMTAwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiRlMiLAorCQkub2Zmc2V0CT0gMHgwODgwMDAwMCwKKwkJLnNpemUJPSAxMjAgKiAxMDI0ICogMTAyNCwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQoreworCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoZWtfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiBla19uYW5kX3BhcnRpdGlvbjsKK30KKworc3RhdGljIHN0cnVjdCBhdDkxX25hbmRfZGF0YSBfX2luaXRkYXRhIGVrX25hbmRfZGF0YSA9IHsKKwkuYWxlCQk9IDIxLAorCS5jbGUJCT0gMjIsCisvLwkuZGV0X3Bpbgk9IC4uLiBub3QgY29ubmVjdGVkCisJLnJkeV9waW4JPSBBVDkxX1BJTl9QQzEzLAorCS5lbmFibGVfcGluCT0gQVQ5MV9QSU5fUEMxNCwKKwkucGFydGl0aW9uX2luZm8JPSBuYW5kX3BhcnRpdGlvbnMsCisjaWYgZGVmaW5lZChDT05GSUdfTVREX05BTkRfQVQ5MV9CVVNXSURUSF8xNikKKwkuYnVzX3dpZHRoXzE2CT0gMSwKKyNlbHNlCisJLmJ1c193aWR0aF8xNgk9IDAsCisjZW5kaWYKK307CisKKy8qCisgKiBHUElPIEJ1dHRvbnMKKyAqLworCisjaWYgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJTykgfHwgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJT19NT0RVTEUpCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gZWtfYnV0dG9uc1tdID0geworCXsJLyogVVNFUiBQVVNIIEJVVFRPTiAqLworCQkuY29kZQkJPSBLRVlfRU5URVIsCisJCS5ncGlvCQk9IEFUOTFfUElOX1BCMTAsCisJCS5hY3RpdmVfbG93CT0gMSwKKwkJLmRlc2MJCT0gInVzZXJfcGIiLAorCQkud2FrZXVwCQk9IDEsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBla19idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IGVrX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShla19idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGVrX2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZWtfYnV0dG9uX2RhdGEsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKQoreworCWF0OTFfc2V0X0dQSU9fcGVyaXBoKEFUOTFfUElOX1BCMTAsIDEpOwkvKiB1c2VyIHB1c2ggYnV0dG9uLCBwdWxsIHVwIGVuYWJsZWQgKi8KKwlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjEwLCAxKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZWtfYnV0dG9uX2RldmljZSk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKSB7fQorI2VuZGlmCisKKy8qCisgKiBMRURzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgZWtfbGVkc1tdID0geworCXsJLyogdXNlcl9sZWQgKGdyZWVuKSAqLworCQkubmFtZQkJCT0gInVzZXJfbGVkIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMjEsCisJCS5hY3RpdmVfbG93CQk9IDAsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKKwl9Cit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfYm9hcmRfaW5pdCh2b2lkKQoreworCS8qIFNlcmlhbCAqLworCWF0OTFfYWRkX2RldmljZV9zZXJpYWwoKTsKKwkvKiBVU0IgSG9zdCAqLworCWF0OTFfYWRkX2RldmljZV91c2JoKCZla191c2JoX2RhdGEpOworCS8qIFVTQiBEZXZpY2UgKi8KKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZla191ZGNfZGF0YSk7CisJLyogTkFORCAqLworCWF0OTFfYWRkX2RldmljZV9uYW5kKCZla19uYW5kX2RhdGEpOworCS8qIEkyQyAqLworCWF0OTFfYWRkX2RldmljZV9pMmMoTlVMTCwgMCk7CisJLyogRXRoZXJuZXQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfZXRoKCZla19tYWNiX2RhdGEpOworCS8qIFB1c2ggQnV0dG9ucyAqLworCWVrX2FkZF9kZXZpY2VfYnV0dG9ucygpOworCS8qIExFRHMgKi8KKwlhdDkxX2dwaW9fbGVkcyhla19sZWRzLCBBUlJBWV9TSVpFKGVrX2xlZHMpKTsKKwkvKiBzaHV0ZG93biBjb250cm9sbGVyLCB3YWtldXAgYnV0dG9uICg1IG1zZWMgbG93KSAqLworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU0hEV19NUiwgQVQ5MV9TSERXX0NQVFdLMF8oMTApIHwgQVQ5MV9TSERXX1dLTU9ERTBfTE9XCisJCQkJfCBBVDkxX1NIRFdfUlRUV0tFTik7Cit9CisKK01BQ0hJTkVfU1RBUlQoVVNCX0E5MjYwLCAiQ0FMQU8gVVNCX0E5MjYwIikKKwkvKiBNYWludGFpbmVyOiBjYWxhby1zeXN0ZW1zICovCisJLnBoeXNfaW8JPSBBVDkxX0JBU0VfU1lTLAorCS5pb19wZ19vZmZzdAk9IChBVDkxX1ZBX0JBU0VfU1lTID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBBVDkxX1NEUkFNX0JBU0UgKyAweDEwMCwKKwkudGltZXIJCT0gJmF0OTFzYW05MjZ4X3RpbWVyLAorCS5tYXBfaW8JCT0gZWtfbWFwX2lvLAorCS5pbml0X2lycQk9IGVrX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUJPSBla19ib2FyZF9pbml0LAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjMuYyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC11c2ItYTkyNjMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTgwMGQzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2My5jCkBAIC0wLDAgKzEsMjMwIEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXVzYi1hOTI2My5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwNSBTQU4gUGVvcGxlCisgKiAgQ29weXJpZ2h0IChDKSAyMDA3IEF0bWVsIENvcnBvcmF0aW9uLgorICogIENvcHlyaWdodCAoQykgMjAwNyBDYWxhby1zeXN0ZW1zCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdDkxX3NoZHdjLmg+CisKKyNpbmNsdWRlICJnZW5lcmljLmgiCisKKworc3RhdGljIHZvaWQgX19pbml0IGVrX21hcF9pbyh2b2lkKQoreworCS8qIEluaXRpYWxpemUgcHJvY2Vzc29yOiAxMi4wMCBNSHogY3J5c3RhbCAqLworCWF0OTFzYW05MjYzX2luaXRpYWxpemUoMTIwMDAwMDApOworCisJLyogREdCVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZWtfaW5pdF9pcnEodm9pZCkKK3sKKwlhdDkxc2FtOTI2M19pbml0X2ludGVycnVwdHMoTlVMTCk7Cit9CisKKworLyoKKyAqIFVTQiBIb3N0IHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIGVrX3VzYmhfZGF0YSA9IHsKKwkucG9ydHMJCT0gMiwKK307CisKKy8qCisgKiBVU0IgRGV2aWNlIHBvcnQKKyAqLworc3RhdGljIHN0cnVjdCBhdDkxX3VkY19kYXRhIF9faW5pdGRhdGEgZWtfdWRjX2RhdGEgPSB7CisJLnZidXNfcGluCT0gQVQ5MV9QSU5fUEIxMSwKKwkucHVsbHVwX3Bpbgk9IDAsCQkvKiBwdWxsLXVwIGRyaXZlbiBieSBVREMgKi8KK307CisKKy8qCisgKiBTUEkgZGV2aWNlcy4KKyAqLworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBla19zcGlfZGV2aWNlc1tdID0geworI2lmICFkZWZpbmVkKENPTkZJR19NTUNfQVQ5MSkKKwl7CS8qIERhdGFGbGFzaCBjaGlwICovCisJCS5tb2RhbGlhcwk9ICJtdGRfZGF0YWZsYXNoIiwKKwkJLmNoaXBfc2VsZWN0CT0gMCwKKwkJLm1heF9zcGVlZF9oegk9IDE1ICogMTAwMCAqIDEwMDAsCisJCS5idXNfbnVtCT0gMCwKKwl9CisjZW5kaWYKK307CisKKy8qCisgKiBNQUNCIEV0aGVybmV0IGRldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSBla19tYWNiX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCT0gQVQ5MV9QSU5fUEUzMSwKKwkuaXNfcm1paQk9IDEsCit9OworCisvKgorICogTkFORCBmbGFzaAorICovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gX19pbml0ZGF0YSBla19uYW5kX3BhcnRpdGlvbltdID0geworCXsKKwkJLm5hbWUJPSAiTGludXggS2VybmVsIiwKKwkJLm9mZnNldAk9IDB4MDAwMDAwMDAsCisJCS5zaXplCT0gMTYgKiAxMDI0ICogMTAyNCwKKwl9LAorCXsKKwkJLm5hbWUJPSAiUm9vdCBGUyIsCisJCS5vZmZzZXQJPSAweDAxMDAwMDAwLAorCQkuc2l6ZQk9IDEyMCAqIDEwMjQgKiAxMDI0LAorCX0sCisJeworCQkubmFtZQk9ICJGUyIsCisJCS5vZmZzZXQJPSAweDA4ODAwMDAwLAorCQkuc2l6ZQk9IDEyMCAqIDEwMjQgKiAxMDI0LAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiAqIF9faW5pdCBuYW5kX3BhcnRpdGlvbnMoaW50IHNpemUsIGludCAqbnVtX3BhcnRpdGlvbnMpCit7CisJKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRShla19uYW5kX3BhcnRpdGlvbik7CisJcmV0dXJuIGVrX25hbmRfcGFydGl0aW9uOworfQorCitzdGF0aWMgc3RydWN0IGF0OTFfbmFuZF9kYXRhIF9faW5pdGRhdGEgZWtfbmFuZF9kYXRhID0geworCS5hbGUJCT0gMjEsCisJLmNsZQkJPSAyMiwKKy8vCS5kZXRfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKKwkucmR5X3Bpbgk9IEFUOTFfUElOX1BBMjIsCisJLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QRDE1LAorCS5wYXJ0aXRpb25faW5mbwk9IG5hbmRfcGFydGl0aW9ucywKKyNpZiBkZWZpbmVkKENPTkZJR19NVERfTkFORF9BVDkxX0JVU1dJRFRIXzE2KQorCS5idXNfd2lkdGhfMTYJPSAxLAorI2Vsc2UKKwkuYnVzX3dpZHRoXzE2CT0gMCwKKyNlbmRpZgorfTsKKworLyoKKyAqIEdQSU8gQnV0dG9ucworICovCisjaWYgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJTykgfHwgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJT19NT0RVTEUpCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gZWtfYnV0dG9uc1tdID0geworCXsJLyogVVNFUiBQVVNIIEJVVFRPTiAqLworCQkuY29kZQkJPSBLRVlfRU5URVIsCisJCS5ncGlvCQk9IEFUOTFfUElOX1BCMTAsCisJCS5hY3RpdmVfbG93CT0gMSwKKwkJLmRlc2MJCT0gInVzZXJfcGIiLAorCQkud2FrZXVwCQk9IDEsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBla19idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IGVrX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShla19idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGVrX2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZWtfYnV0dG9uX2RhdGEsCisJfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKQoreworCWF0OTFfc2V0X0dQSU9fcGVyaXBoKEFUOTFfUElOX1BCMTAsIDEpOwkvKiB1c2VyIHB1c2ggYnV0dG9uLCBwdWxsIHVwIGVuYWJsZWQgKi8KKwlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQjEwLCAxKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZWtfYnV0dG9uX2RldmljZSk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKSB7fQorI2VuZGlmCisKKy8qCisgKiBMRURzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWQgZWtfbGVkc1tdID0geworCXsJLyogdXNlcl9sZWQgKGdyZWVuKSAqLworCQkubmFtZQkJCT0gInVzZXJfbGVkIiwKKwkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMjEsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKKwl9Cit9OworCisKK3N0YXRpYyB2b2lkIF9faW5pdCBla19ib2FyZF9pbml0KHZvaWQpCit7CisJLyogU2VyaWFsICovCisJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOworCS8qIFVTQiBIb3N0ICovCisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJmVrX3VzYmhfZGF0YSk7CisJLyogVVNCIERldmljZSAqLworCWF0OTFfYWRkX2RldmljZV91ZGMoJmVrX3VkY19kYXRhKTsKKwkvKiBTUEkgKi8KKwlhdDkxX2FkZF9kZXZpY2Vfc3BpKGVrX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKGVrX3NwaV9kZXZpY2VzKSk7CisJLyogRXRoZXJuZXQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfZXRoKCZla19tYWNiX2RhdGEpOworCS8qIE5BTkQgKi8KKwlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmZWtfbmFuZF9kYXRhKTsKKwkvKiBJMkMgKi8KKwlhdDkxX2FkZF9kZXZpY2VfaTJjKE5VTEwsIDApOworCS8qIFB1c2ggQnV0dG9ucyAqLworCWVrX2FkZF9kZXZpY2VfYnV0dG9ucygpOworCS8qIExFRHMgKi8KKwlhdDkxX2dwaW9fbGVkcyhla19sZWRzLCBBUlJBWV9TSVpFKGVrX2xlZHMpKTsKKwkvKiBzaHV0ZG93biBjb250cm9sbGVyLCB3YWtldXAgYnV0dG9uICg1IG1zZWMgbG93KSAqLworCWF0OTFfc3lzX3dyaXRlKEFUOTFfU0hEV19NUiwgQVQ5MV9TSERXX0NQVFdLMF8oMTApIHwgQVQ5MV9TSERXX1dLTU9ERTBfTE9XCisJCQkJfCBBVDkxX1NIRFdfUlRUV0tFTik7Cit9CisKK01BQ0hJTkVfU1RBUlQoVVNCX0E5MjYzLCAiQ0FMQU8gVVNCX0E5MjYzIikKKwkvKiBNYWludGFpbmVyOiBjYWxhby1zeXN0ZW1zICovCisJLnBoeXNfaW8JPSBBVDkxX0JBU0VfU1lTLAorCS5pb19wZ19vZmZzdAk9IChBVDkxX1ZBX0JBU0VfU1lTID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBBVDkxX1NEUkFNX0JBU0UgKyAweDEwMCwKKwkudGltZXIJCT0gJmF0OTFzYW05MjZ4X3RpbWVyLAorCS5tYXBfaW8JCT0gZWtfbWFwX2lvLAorCS5pbml0X2lycQk9IGVrX2luaXRfaXJxLAorCS5pbml0X21hY2hpbmUJPSBla19ib2FyZF9pbml0LAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC15bC05MjAwLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvYm9hcmQteWwtOTIwMC5jCmluZGV4IGI1NzE3MTAuLjcwNzkwNTAgMTAwNzU1Ci0tLSBhL2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC15bC05MjAwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2JvYXJkLXlsLTkyMDAuYwpAQCAtMSwxMSArMSwxMCBAQAogLyoKICAqIGxpbnV4L2FyY2gvYXJtL21hY2gtYXQ5MS9ib2FyZC15bC05MjAwLmMKICAqCi0gKiBBZGFwdGVkIGZyb206Ci0gKnZhcmlvdXMgYm9hcmQgZmlsZXMgaW4KLSAqIC9hcmNoL2FybS9tYWNoLWF0OTEKLSAqIG1vZGlmaWNhdGlvbnMgIHRvIGNvbnZlcnQgdG8gIFlMLTkyMDAgcGxhdGZvcm0KLSAqICBDb3B5cmlnaHQgKEMpIDIwMDcgUy5CaXJ0bGVzCisgKiBBZGFwdGVkIGZyb20gdmFyaW91cyBib2FyZCBmaWxlcyBpbiBhcmNoL2FybS9tYWNoLWF0OTEKKyAqCisgKiBNb2RpZmljYXRpb25zIGZvciBZTC05MjAwIHBsYXRmb3JtOgorICogIENvcHlyaWdodCAoQykgMjAwNyBTLiBCaXJ0bGVzCiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CkBAIC0yNiwxMyArMjUsMTQgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KLS8qI2luY2x1ZGUgPGxpbnV4L2Nhbl9idXMvY2FuZGF0YS5oPiovCiAjaW5jbHVkZSA8bGludXgvc3BpL2Fkczc4NDYuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CiAKLS8qI2luY2x1ZGUgPHNvdW5kL2dwaW9fc291bmRlci5oPiovCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KQEAgLTQ1LDE3OSArNDUsMTA4IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXJtOTIwMF9tYy5oPgotI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgotI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CiAKICNpbmNsdWRlICJnZW5lcmljLmgiCi0jaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9waW8uaD4KIAotI2RlZmluZSBZTF85MjAwX0ZMQVNIX0JBU0UJQVQ5MV9DSElQU0VMRUNUXzAKLSNkZWZpbmUgWUxfOTIwMF9GTEFTSF9TSVpFCTB4ODAwMDAwCiAKLS8qCi0gKiBTZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uLgotICogICAgMCAuLiAzID0gVVNBUlQwIC4uIFVTQVJUMwotICogICAgNCAgICAgID0gREJHVQotICphdG1lbF91c2FydC4wOiB0dHlTMCBhdCBNTUlPIDB4ZmVmZmYyMDAgKGlycSA9IDEpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKmF0bWVsX3VzYXJ0LjE6IHR0eVMxIGF0IE1NSU8gMHhmZmZjMDAwMCAoaXJxID0gNikgaXMgYSBBVE1FTF9TRVJJQUwKLSAqYXRtZWxfdXNhcnQuMjogdHR5UzIgYXQgTU1JTyAweGZmZmM0MDAwIChpcnEgPSA3KSBpcyBhIEFUTUVMX1NFUklBTAotICphdG1lbF91c2FydC4zOiB0dHlTMyBhdCBNTUlPIDB4ZmZmYzgwMDAgKGlycSA9IDgpIGlzIGEgQVRNRUxfU0VSSUFMCi0gKmF0bWVsX3VzYXJ0LjQ6IHR0eVM0IGF0IE1NSU8gMHhmZmZjYzAwMCAoaXJxID0gOSkgaXMgYSBBVE1FTF9TRVJJQUwKLSAqIG9uIHRoZSBZTC05MjAwIHdlIGFyZSBzaXR0aW5nIGF0IHRoZSBmb2xsb3dpbmcKLSAqdHR5UzAgYXQgTU1JTyAweGZlZmZmMjAwIChpcnEgPSAxKSBpcyBhIEFUOTFfU0VSSUFMCi0gKnR0eVMxIGF0IE1NSU8gMHhmZWZjNDAwMCAoaXJxID0gNykgaXMgYSBBVDkxX1NFUklBTAotICovCi0KLS8qIGV4dGVybiB2b2lkIF9faW5pdCB5bF85MjAwX2FkZF9kZXZpY2Vfc291bmRlcihzdHJ1Y3QgZ3Bpb19zb3VuZGVyICpzb3VuZGVycywgaW50IG5yKTsqLwotCi1zdGF0aWMgc3RydWN0IGF0OTFfdWFydF9jb25maWcgX19pbml0ZGF0YSB5bF85MjAwX3VhcnRfY29uZmlnID0gewotCS5jb25zb2xlX3R0eQk9IDAsCQkJCS8qIHR0eVMwICovCi0JLm5yX3R0eQkJPSAzLAotCS50dHlfbWFwCT0geyA0LCAxLCAwLCAtMSwgLTEgfQkJLyogdHR5UzAsIC4uLiwgdHR5UzQgKi8KLX07Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX21hcF9pbyh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9tYXBfaW8odm9pZCkKIHsKIAkvKiBJbml0aWFsaXplIHByb2Nlc3NvcjogMTguNDMyIE1IeiBjcnlzdGFsICovCi0JLypBbHNvIGluaXRpYWxpc2VzIHJlZ2lzdGVyIGNsb2NrcyAmIGdwaW8qLwotCWF0OTFybTkyMDBfaW5pdGlhbGl6ZSgxODQzMjAwMCwgQVQ5MVJNOTIwMF9QUUZQKTsgLyp3ZSBoYXZlIGEgMyBiYW5rIHN5c3RlbSovCisJYXQ5MXJtOTIwMF9pbml0aWFsaXplKDE4NDMyMDAwLCBBVDkxUk05MjAwX1BRRlApOwogCi0JLyogU2V0dXAgdGhlIHNlcmlhbCBwb3J0cyBhbmQgY29uc29sZSAqLwotCWF0OTFfaW5pdF9zZXJpYWwoJnlsXzkyMDBfdWFydF9jb25maWcpOworCS8qIFNldHVwIHRoZSBMRURzIEQyPVBCMTcgKHRpbWVyKSwgRDM9UEIxNiAoY3B1KSAqLworCWF0OTFfaW5pdF9sZWRzKEFUOTFfUElOX1BCMTYsIEFUOTFfUElOX1BCMTcpOwogCi0JLyogU2V0dXAgdGhlIExFRHMgRDI9UEIxNyxEMz1QQjE2ICovCi0JYXQ5MV9pbml0X2xlZHMoQVQ5MV9QSU5fUEIxNixBVDkxX1BJTl9QQjE3KTsgLypjcHUtbGVkLHRpbWVyLWxlZCovCisJLyogREJHVSBvbiB0dHlTMC4gKFJ4ICYgVHggb25seSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoMCwgMCwgMCk7CisKKwkvKiBVU0FSVDEgb24gdHR5UzEuIChSeCwgVHgsIENUUywgUlRTLCBEVFIsIERTUiwgRENELCBSSSkgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzEsIDEsIEFUTUVMX1VBUlRfQ1RTIHwgQVRNRUxfVUFSVF9SVFMKKwkJCXwgQVRNRUxfVUFSVF9EVFIgfCBBVE1FTF9VQVJUX0RTUiB8IEFUTUVMX1VBUlRfRENECisJCQl8IEFUTUVMX1VBUlRfUkkpOworCisJLyogVVNBUlQwIG9uIHR0eVMyLiAoUnggJiBUeCBvbmx5IHRvIEpQMykgKi8KKwlhdDkxX3JlZ2lzdGVyX3VhcnQoQVQ5MVJNOTIwMF9JRF9VUzAsIDIsIDApOworCisJLyogVVNBUlQzIG9uIHR0eVMzLiAoUngsIFR4LCBSVFMgLSBSUzQ4NSBpbnRlcmZhY2UpICovCisJYXQ5MV9yZWdpc3Rlcl91YXJ0KEFUOTFSTTkyMDBfSURfVVMzLCAzLCBBVE1FTF9VQVJUX1JUUyk7CisKKwkvKiBzZXQgc2VyaWFsIGNvbnNvbGUgdG8gdHR5UzAgKGllLCBEQkdVKSAqLworCWF0OTFfc2V0X3NlcmlhbF9jb25zb2xlKDApOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9pbml0X2lycSh2b2lkKQorc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9pbml0X2lycSh2b2lkKQogewogCWF0OTFybTkyMDBfaW5pdF9pbnRlcnJ1cHRzKE5VTEwpOwogfQogCi1zdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX2V0aF9kYXRhID0gewotCS5waHlfaXJxX3Bpbgk9IEFUOTFfUElOX1BCMjgsCi0JLmlzX3JtaWkJPSAxLAotfTsKIAotc3RhdGljIHN0cnVjdCBhdDkxX3VzYmhfZGF0YSBfX2luaXRkYXRhIHlsXzkyMDBfdXNiaF9kYXRhID0gewotCS5wb3J0cwkJPSAxLCAgLyogdGhpcyBzaG91bGQgYmUgMSBub3QgMiBmb3IgdGhlIFlsOTIwMCovCi19OwotCi1zdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX3VkY19kYXRhID0gewotLypvbiBzaGVldCA3IFNjaGVtaXRpYyByZXYgMS4wKi8KLQkucHVsbHVwX3Bpbgk9IEFUOTFfUElOX1BDNCwKLQkudmJ1c19waW49ICBBVDkxX1BJTl9QQzUsCi0JLnB1bGx1cF9hY3RpdmVfbG93ID0gMSwgLypBQ1RJVkUgTE9XISEgZHVlIHRvIFBOUCB0cmFuc2lzdG9yIG9uIHBhZ2UgNyovCi0KLX07CiAvKgotc3RhdGljIHN0cnVjdCBhdDkxX2NmX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX2NmX2RhdGEgPSB7Ci1UT0RPIFMuQklSVExFUwotCS5kZXRfcGluCT0gQVQ5MV9QSU5feHh4LAotCS5yc3RfcGluCT0gQVQ5MV9QSU5feHh4LAotCS5pcnFfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKLQkudmNjX3Bpbgk9IC4uLiBhbHdheXMgcG93ZXJlZAorICogTEVEcworICovCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIHlsOTIwMF9sZWRzW10gPSB7CisJewkvKiBEMiAqLworCQkubmFtZQkJCT0gImxlZDIiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEIxNywKKwkJLmFjdGl2ZV9sb3cJCT0gMSwKKwkJLmRlZmF1bHRfdHJpZ2dlcgk9ICJ0aW1lciIsCisJfSwKKwl7CS8qIEQzICovCisJCS5uYW1lCQkJPSAibGVkMyIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjE2LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCisJfSwKKwl7CS8qIEQ0ICovCisJCS5uYW1lCQkJPSAibGVkNCIsCisJCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjE1LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCX0sCisJewkvKiBENSAqLworCQkubmFtZQkJCT0gImxlZDUiLAorCQkuZ3BpbwkJCT0gQVQ5MV9QSU5fUEI4LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCX0KK307CisKKy8qCisgKiBFdGhlcm5ldAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfZXRoX2RhdGEgX19pbml0ZGF0YSB5bDkyMDBfZXRoX2RhdGEgPSB7CisJLnBoeV9pcnFfcGluCQk9IEFUOTFfUElOX1BCMjgsCisJLmlzX3JtaWkJCT0gMSwKK307CisKKy8qCisgKiBVU0IgSG9zdAorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIF9faW5pdGRhdGEgeWw5MjAwX3VzYmhfZGF0YSA9IHsKKwkucG9ydHMJCQk9IDEsCS8qIFBRRlAgdmVyc2lvbiBvZiBBVDkxUk05MjAwICovCit9OworCisvKgorICogVVNCIERldmljZQorICovCitzdGF0aWMgc3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSB5bDkyMDBfdWRjX2RhdGEgPSB7CisJLnB1bGx1cF9waW4JCT0gQVQ5MV9QSU5fUEM0LAorCS52YnVzX3BpbgkJPSBBVDkxX1BJTl9QQzUsCisJLnB1bGx1cF9hY3RpdmVfbG93CT0gMSwJLyogQWN0aXZlIExvdyBkdWUgdG8gUE5QIHRyYW5zaXN0b3IgKHBnIDcpICovCiAKIH07Ci0qLwotc3RhdGljIHN0cnVjdCBhdDkxX21tY19kYXRhIF9faW5pdGRhdGEgeWxfOTIwMF9tbWNfZGF0YSA9IHsKLQkuZGV0X3Bpbgk9IEFUOTFfUElOX1BCOSwgLypUSElTIExPT0tTIENPUlJFQ1QgU0hFRVQ3Ki8KLS8qCS53cF9waW4JCT0gLi4uIG5vdCBjb25uZWN0ZWQgIFNIRUVUNyovCi0JLnNsb3RfYgkJPSAwLAorCisvKgorICogTU1DCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9tbWNfZGF0YSBfX2luaXRkYXRhIHlsOTIwMF9tbWNfZGF0YSA9IHsKKwkuZGV0X3Bpbgk9IEFUOTFfUElOX1BCOSwKKwkvLyAud3BfcGluCT0gLi4uIG5vdCBjb25uZWN0ZWQKIAkud2lyZTQJCT0gMSwKLQogfTsKIAotLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqICBUb3VjaCBzY3JlZW4KLSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi0jaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCi1zdGF0aWMgaW50IGFkczc4NDNfcGVuZG93bl9zdGF0ZSh2b2lkKQotewotCXJldHVybiAhYXQ5MV9nZXRfZ3Bpb192YWx1ZShBVDkxX1BJTl9QQjExKTsJLyogVG91Y2hzY3JlZW4gUEVOSVJRICovCi19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBhdDkxX2luaXRfZGV2aWNlX3RzKHZvaWQpCi17Ci0vKklNUE9SVEFOVCBOT1RFIFRIRSBTUEkgSU5URVJGQUNFIElTIEFMUkVBRFkgQ09ORklHVVJFRCBCWSBYWFhfREVWSUNFUy5DCi1USEFUIElTIFRPIFNBWSBUSEFUICBNSVNPLE1PU0ksU1BDSyBBTkQgQ1MgIGFyZSBhbHJlYWR5IGNvbmZpZ3VyZWQKLXdlIG9ubHkgbmVlZCB0byBlbmFibGUgdGhlIG90aGVyIGRhdGFwaW5zIHdoaWNoIGFyZToKLVBCMTAvUksxIEJVU1kKLSovCi0vKiBUb3VjaHNjcmVlbiBCVVNZIHNpZ25hbCAsICBwaW4sdXNlIHB1bGx1cCAoIFRPRE8gbm90IGN1cnJlbnRseSB1c2VkIGluIHRoZSBBRFM3ODQzLzYuYyBkcml2ZXIpKi8KLWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxMCwgMSk7Ci19Ci0KLSNlbHNlCi1zdGF0aWMgdm9pZCBfX2luaXQgYXQ5MV9pbml0X2RldmljZV90cyh2b2lkKSB7fQotI2VuZGlmCi0KLXN0YXRpYyBzdHJ1Y3QgYWRzNzg0Nl9wbGF0Zm9ybV9kYXRhIGFkc19pbmZvID0gewotCS5tb2RlbAkJCT0gNzg0MywKLQkueF9taW4JCQk9IDE1MCwKLQkueF9tYXgJCQk9IDM4MzAsCi0JLnlfbWluCQkJPSAxOTAsCi0JLnlfbWF4CQkJPSAzODMwLAotCS52cmVmX2RlbGF5X3VzZWNzCT0gMTAwLAotLyogZm9yIGEgOCIgdG91Y2ggc2NyZWVuKi8KLQkvLy54X3BsYXRlX29obXMJCT0gNjAzLCAvLz0gNDUwLCBTLkJpcnRsZXMgVE9ETwotCS8vLnlfcGxhdGVfb2htcwkJPSAzMzIsIC8vPSAyNTAsIFMuQmlydGxlcyBUT0RPCi0vKmZvciBhIDEwLjQiIHRvdWNoIHNjcmVlbiovCi0JLy8ueF9wbGF0ZV9vaG1zCQk9NjExLAotCS8vLnlfcGxhdGVfb2htcwkJPTMyNSwKLQotCS54X3BsYXRlX29obXMJPSA1NzYsCi0JLnlfcGxhdGVfb2htcwk9IDM2NiwKLQkJLy8KLQkucHJlc3N1cmVfbWF4CQk9IDE1MDAwLCAvKmdlbmVyYWxseSBub25zZW5zZSBvbiB0aGUgNzg0MyovCi0JIC8qbnVtYmVyIG9mIHRpbWVzIHRvIHNlbmQgcXVlcnkgdG8gY2hpcCBpbiBhIGdpdmVuIHJ1biAwIGVxdWFscyBvbmUgdGltZSAoZG8gbm90IHNldCB0byAwISEgLHRoZXJlIGlzIGEgYnVnIGluIEFEUyA3ODQ2IGNvZGUpKi8KLQkuZGVib3VuY2VfbWF4CQk9IDEsCi0JLmRlYm91bmNlX3JlcAkJPSAwLAotCS5kZWJvdW5jZV90b2wJCT0gKH4wKSwKLQkuZ2V0X3BlbmRvd25fc3RhdGUJPSBhZHM3ODQzX3BlbmRvd25fc3RhdGUsCi19OwotCi0vKnN0YXRpYyBzdHJ1Y3QgY2FuYnVzX3BsYXRmb3JtX2RhdGEgY2FuX2luZm8gPSB7Ci0JLm1vZGVsCQkJPSAyNTEwLAotfTsKLSovCi0KLXN0YXRpYyBzdHJ1Y3Qgc3BpX2JvYXJkX2luZm8geWxfOTIwMF9zcGlfZGV2aWNlc1tdID0gewotLyp0aGlzIHN0aWNrcyBpdCBhdDoKLSAvc3lzL2RldmljZXMvcGxhdGZvcm0vYXRtZWxfc3BpLjAvc3BpMC4wCi0gL3N5cy9idXMvcGxhdGZvcm0vZGV2aWNlcy8KLURvY3VtZW50YXRpb24vc3BpIElJUkMqLwotCi0jaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCi0gLyoodGhpcyBJUyBjb3JyZWN0IDA0LU5PVi0yMDA3KSovCi0JewotCQkubW9kYWxpYXMJCT0gImFkczc4NDYiLCAvKiBiZWNhdXNlIHRoZSBkcml2ZXIgaXMgY2FsbGVkIGFkczc4NDYqLwotCQkuY2hpcF9zZWxlY3QJPSAwLCAvKlRISVMgTVVTVCBCRSBBTiBJTkRFWCBJTlRPIEFOIEFSUkFZIE9GICBwaW5zICovCi0vKnRoaXMgaXMgT05MWSBUTyBCRSBVU0VEIGlmIGNoaXBzZWxlY3QgYWJvdmUgaXMgbm90IHVzZWQsIGl0IHBhc3NlcyBhIHBpbiBkaXJlY3RseSBmb3IgdGhlIGNoaXAgc2VsZWN0Ki8KLQkJLyouY29udHJvbGxlcl9kYXRhID1BVDkxX1BJTl9QQTMgLCovCi0JCS5tYXhfc3BlZWRfaHoJPSA1MDAwKjI2LCAvKig0NzAwICogMjYpLTEyNTAwMCAqIDI2LCAobWF4IHNhbXBsZSByYXRlIEAgM1YpICogKGNtZCArIGRhdGEgKyBvdmVyaGVhZCkgKi8KLQkJLmJ1c19udW0JCT0gMCwKLQkJLnBsYXRmb3JtX2RhdGEJPSAmYWRzX2luZm8sCi0JCS5pcnEJCQk9IEFUOTFfUElOX1BCMTEsCi0JfSwKLSNlbmRpZgotLyp3ZSBuZWVkIHRvIHB1dCBvdXIgQ0FOIGRyaXZlciBkYXRhIGhlcmUhISovCi0vKlRISVMgSVMgQUxMIERVTU1ZIERBVEEqLwotLyoJewotCQkubW9kYWxpYXMJCT0gIm1jcDI1MTAiLCAvL0RVTU1ZIGZvciBNQ1AyNTEwIGNoaXAKLQkJLmNoaXBfc2VsZWN0CT0gMSwqLyAvKlRISVMgTVVTVCBCRSBBTiBJTkRFWCBJTlRPIEFOIEFSUkFZIE9GICBwaW5zICovCi0JLyp0aGlzIGlzIE9OTFkgVE8gQkUgVVNFRCBpZiBjaGlwc2VsZWN0IGFib3ZlIGlzIG5vdCB1c2VkLCBpdCBwYXNzZXMgYSBwaW4gZGlyZWN0bHkgZm9yIHRoZSBjaGlwIHNlbGVjdCAqLwotCS8qICAuY29udHJvbGxlcl9kYXRhID1BVDkxX1BJTl9QQTQgLAotCQkubWF4X3NwZWVkX2h6CT0gMjUwMDAgKiAyNiwKLQkJLmJ1c19udW0JCT0gMCwKLQkJLnBsYXRmb3JtX2RhdGEJPSAmY2FuX2luZm8sCi0JCS5pcnEJCQk9IEFUOTFfUElOX1BDMCwKLQl9LAotCSovCi0JLy9tYXggU1BJIGNoaXAgbmVlZHMgdG8gZ28gaGVyZQotfTsKLQotc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgeWxfOTIwMF9uYW5kX3BhcnRpdGlvbltdID0geworLyoKKyAqIE5BTkQgRmxhc2gKKyAqLworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIF9faW5pdGRhdGEgeWw5MjAwX25hbmRfcGFydGl0aW9uW10gPSB7CiAJewogCQkubmFtZQk9ICJBVDkxIE5BTkQgcGFydGl0aW9uIDEsIGJvb3QiLAogCQkub2Zmc2V0CT0gMCwKQEAgLTI0Miw0NDIgKzE3MSw0MzQgQEAKIAkJLm5hbWUJPSAiQVQ5MSBOQU5EIHBhcnRpdGlvbiA1LCBleHQtZnMiLAogCQkub2Zmc2V0CT0gMzIgKiBTWl8xTSwKIAkJLnNpemUJPSAzMiAqIFNaXzFNCi0JfSwKKwl9CiB9OwogCiBzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gKiBfX2luaXQgbmFuZF9wYXJ0aXRpb25zKGludCBzaXplLCBpbnQgKm51bV9wYXJ0aXRpb25zKQogewotCSpudW1fcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoeWxfOTIwMF9uYW5kX3BhcnRpdGlvbik7Ci0JcmV0dXJuIHlsXzkyMDBfbmFuZF9wYXJ0aXRpb247CisJKm51bV9wYXJ0aXRpb25zID0gQVJSQVlfU0laRSh5bDkyMDBfbmFuZF9wYXJ0aXRpb24pOworCXJldHVybiB5bDkyMDBfbmFuZF9wYXJ0aXRpb247CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSB5bF85MjAwX25hbmRfZGF0YSA9IHsKLQkuYWxlPSA2LAotCS5jbGU9IDcsCi0JLyouZGV0X3Bpbgk9IEFUOTFfUElOX1BDeHgsKi8gICAvKndlIGRvbid0IGhhdmUgYSBkZXQgcGluIGJlY2F1c2UgTmFuZEZsYXNoIGlzIGZpeGVkIHRvIGJvYXJkKi8KLQkucmR5X3Bpbgk9IEFUOTFfUElOX1BDMTQsICAvKlIvIUIgU2hlZXQxMCovCi0JLmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE1LCAgLyohQ0UgIFNoZWV0MTAgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQ5MV9uYW5kX2RhdGEgX19pbml0ZGF0YSB5bDkyMDBfbmFuZF9kYXRhID0geworCS5hbGUJCT0gNiwKKwkuY2xlCQk9IDcsCisJLy8gLmRldF9waW4JPSAuLi4gbm90IGNvbm5lY3RlZAorCS5yZHlfcGluCT0gQVQ5MV9QSU5fUEMxNCwJLyogUi8hQiAoU2hlZXQxMCkgKi8KKwkuZW5hYmxlX3Bpbgk9IEFUOTFfUElOX1BDMTUsCS8qICFDRSAgKFNoZWV0MTApICovCiAJLnBhcnRpdGlvbl9pbmZvCT0gbmFuZF9wYXJ0aXRpb25zLAogfTsKIAotCi0KIC8qCi1UT0RPIFMuQmlydGxlcwotcG90ZW50aWFsbHkgYSBwcm9ibGVtIHdpdGggdGhlIHNpemUgYWJvdmUKLXBoeXNtYXAgcGxhdGZvcm0gZmxhc2ggZGV2aWNlOiAwMDgwMDAwMCBhdCAxMDAwMDAwMAotcGh5c21hcC1mbGFzaC4wOiBGb3VuZCAxIHgxNiBkZXZpY2VzIGF0IDB4MCBpbiAxNi1iaXQgYmFuawotTk9SIGNoaXAgdG9vIGxhcmdlIHRvIGZpdCBpbiBtYXBwaW5nLiBBdHRlbXB0aW5nIHRvIGNvcGUuLi4KLSBJbnRlbC9TaGFycCBFeHRlbmRlZCBRdWVyeSBUYWJsZSBhdCAweDAwMzEKLVVzaW5nIGJ1ZmZlciB3cml0ZSBtZXRob2QKLWNmaV9jbWRzZXRfMDAwMTogRXJhc2Ugc3VzcGVuZCBvbiB3cml0ZSBlbmFibGVkCi1SZWR1Y2luZyB2aXNpYmlsaXR5IG9mIDE2Mzg0S2lCIGNoaXAgdG8gODE5MktpQgotKi8KKyAqIE5PUiBGbGFzaAorICovCisjZGVmaW5lIFlMOTIwMF9GTEFTSF9CQVNFCUFUOTFfQ0hJUFNFTEVDVF8wCisjZGVmaW5lIFlMOTIwMF9GTEFTSF9TSVpFCTB4MTAwMDAwMAogCi1zdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24geWxfOTIwMF9mbGFzaF9wYXJ0aXRpb25zW10gPSB7CitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24geWw5MjAwX2ZsYXNoX3BhcnRpdGlvbnNbXSA9IHsKIAl7Ci0JCS5uYW1lID0JCSJCb290bG9hZGVyIiwKLQkJLnNpemUgPQkJMHgwMDA0MDAwMCwKLQkJLm9mZnNldCA9CTAsCi0JCS5tYXNrX2ZsYWdzID0JTVREX1dSSVRFQUJMRSAgLyogZm9yY2UgcmVhZC1vbmx5ICovCi0JfSx7Ci0JCS5uYW1lID0JCSJLZXJuZWwiLAotCQkuc2l6ZSA9CQkweDAwMUMwMDAwLAotCQkub2Zmc2V0ID0JMHgwMDA0MDAwMCwKLQl9LHsKLQkJLm5hbWUgPQkJIkZpbGVzeXN0ZW0iLAotCQkuc2l6ZSA9CQlNVERQQVJUX1NJWl9GVUxMLAotCQkub2Zmc2V0ID0JMHgwMDIwMDAwMAotCX0KLQotfTsKLQotc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgeWxfOTIwMF9mbGFzaF9kYXRhID0gewotCS53aWR0aAk9IDIsCi0JLnBhcnRzICAgICAgICAgID0geWxfOTIwMF9mbGFzaF9wYXJ0aXRpb25zLAotCS5ucl9wYXJ0cyAgICAgICA9IEFSUkFZX1NJWkUoeWxfOTIwMF9mbGFzaF9wYXJ0aXRpb25zKSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgeWxfOTIwMF9mbGFzaF9yZXNvdXJjZXNbXSA9IHsKLXsKLQkuc3RhcnQJCT0gWUxfOTIwMF9GTEFTSF9CQVNFLAotCS5lbmQJCT0gWUxfOTIwMF9GTEFTSF9CQVNFICsgWUxfOTIwMF9GTEFTSF9TSVpFIC0gMSwKLQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJCS5uYW1lCQk9ICJCb290bG9hZGVyIiwKKwkJLnNpemUJCT0gMHgwMDA0MDAwMCwKKwkJLm9mZnNldAkJPSAwLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsCS8qIGZvcmNlIHJlYWQtb25seSAqLworCX0sCisJeworCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDFDMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwMDQwMDAwLAorCX0sCisJeworCQkubmFtZQkJPSAiRmlsZXN5c3RlbSIsCisJCS5zaXplCQk9IE1URFBBUlRfU0laX0ZVTEwsCisJCS5vZmZzZXQJCT0gMHgwMDIwMDAwMAogCX0KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsXzkyMDBfZmxhc2ggPSB7CitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB5bDkyMDBfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMiwKKwkucGFydHMJCT0geWw5MjAwX2ZsYXNoX3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRSh5bDkyMDBfZmxhc2hfcGFydGl0aW9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHlsOTIwMF9mbGFzaF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFlMOTIwMF9GTEFTSF9CQVNFLAorCQkuZW5kCT0gWUw5MjAwX0ZMQVNIX0JBU0UgKyBZTDkyMDBfRkxBU0hfU0laRSAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHlsOTIwMF9mbGFzaCA9IHsKIAkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCiAJLmlkCQk9IDAsCiAJLmRldgkJPSB7Ci0JCQkJLnBsYXRmb3JtX2RhdGEJPSAmeWxfOTIwMF9mbGFzaF9kYXRhLAorCQkJCS5wbGF0Zm9ybV9kYXRhCT0gJnlsOTIwMF9mbGFzaF9kYXRhLAogCQkJfSwKLQkucmVzb3VyY2UJPSB5bF85MjAwX2ZsYXNoX3Jlc291cmNlcywKLQkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHlsXzkyMDBfZmxhc2hfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSB5bDkyMDBfZmxhc2hfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh5bDkyMDBfZmxhc2hfcmVzb3VyY2VzKSwKIH07CiAKLQotc3RhdGljIHN0cnVjdCBncGlvX2xlZCB5bF85MjAwX2xlZHNbXSA9IHsKLS8qRDIgJkQzIGFyZSBwYXNzZWQgZGlyZWN0bHkgaW4gdmlhIGF0OTFfaW5pdF9sZWRzKi8KLQl7Ci0JCS5uYW1lCQkJPSAibGVkNCIsICAvKkQ0Ki8KLQkJLmdwaW8JCQk9IEFUOTFfUElOX1BCMTUsCi0JCS5hY3RpdmVfbG93CQk9IDEsCi0JCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKLQkJLyouZGVmYXVsdF90cmlnZ2VyCT0gInRpbWVyIiwqLwotCX0sCi0JewotCQkubmFtZQkJCT0gImxlZDUiLCAgLypENSovCi0JCS5ncGlvCQkJPSBBVDkxX1BJTl9QQjgsCi0JCS5hY3RpdmVfbG93CQk9IDEsCi0JCS5kZWZhdWx0X3RyaWdnZXIJPSAiaGVhcnRiZWF0IiwKLQl9Ci19OwotCi0vL3N0YXRpYyBzdHJ1Y3QgZ3Bpb19zb3VuZGVyIHlsXzkyMDBfc291bmRlcltdID0geyovCi0vKlRoaXMgaXMgYSBzaW1wbGUgc3BlYWtlciBhdHRhY2hlZCB0byBhIGdwbyBsaW5lKi8KLQotLy8JewotLy8JCS5uYW1lCQkJPSAiU3BlYWtlciIsICAvKkxTMSovCi0vLwkJLmdwaW8JCQk9IEFUOTFfUElOX1BBMjIsCi0vLwkJLmFjdGl2ZV9sb3cJCT0gMCwKLS8vCQkuZGVmYXVsdF90cmlnZ2VyCT0gImhlYXJ0YmVhdCIsCi0JCS8qLmRlZmF1bHRfdHJpZ2dlcgk9ICJ0aW1lciIsKi8KLS8vCX0sCi0vL307Ci0KLQotCi1zdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgeWxfOTIwMF9pMmNfZGV2aWNlc1tdID0gewotCXsKLQkvKlRPRE8qLwotCQlJMkNfQk9BUkRfSU5GTygiQ1M0MzM0IiwgMHgwMCksCi0JfQotfTsKLQotCi0gLyoKLSAqIEdQSU8gQnV0dG9ucworLyoKKyAqIEkyQyAoVFdJKQogICovCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgeWw5MjAwX2kyY19kZXZpY2VzW10gPSB7CisJewkvKiBFRVBST00gKi8KKwkJSTJDX0JPQVJEX0lORk8oIjI0YzEyOCIsIDB4NTApLAorCX0KK307CisKKy8qCisgKiBHUElPIEJ1dHRvbnMKKyovCiAjaWYgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJTykgfHwgZGVmaW5lZChDT05GSUdfS0VZQk9BUkRfR1BJT19NT0RVTEUpCi1zdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24geWxfOTIwMF9idXR0b25zW10gPSB7CitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24geWw5MjAwX2J1dHRvbnNbXSA9IHsKIAl7CiAJCS5ncGlvCQk9IEFUOTFfUElOX1BBMjQsCi0JCS5jb2RlCT0gQlROXzIsCisJCS5jb2RlCQk9IEJUTl8yLAogCQkuZGVzYwkJPSAiU1cyIiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAogCQkud2FrZXVwCQk9IDEsCiAJfSwKIAl7CiAJCS5ncGlvCQk9IEFUOTFfUElOX1BCMSwKLQkJLmNvZGUJPSBCVE5fMywKKwkJLmNvZGUJCT0gQlROXzMsCiAJCS5kZXNjCQk9ICJTVzMiLAogCQkuYWN0aXZlX2xvdwk9IDEsCiAJCS53YWtldXAJCT0gMSwKIAl9LAogCXsKIAkJLmdwaW8JCT0gQVQ5MV9QSU5fUEIyLAotCQkuY29kZQk9IEJUTl80LAorCQkuY29kZQkJPSBCVE5fNCwKIAkJLmRlc2MJCT0gIlNXNCIsCiAJCS5hY3RpdmVfbG93CT0gMSwKIAkJLndha2V1cAkJPSAxLAogCX0sCiAJewogCQkuZ3BpbwkJPSBBVDkxX1BJTl9QQjYsCi0JCS5jb2RlCT0gQlROXzUsCisJCS5jb2RlCQk9IEJUTl81LAogCQkuZGVzYwkJPSAiU1c1IiwKIAkJLmFjdGl2ZV9sb3cJPSAxLAogCQkud2FrZXVwCQk9IDEsCi0JfSwKLQorCX0KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgeWxfOTIwMF9idXR0b25fZGF0YSA9IHsKLQkuYnV0dG9ucwk9IHlsXzkyMDBfYnV0dG9ucywKLQkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKHlsXzkyMDBfYnV0dG9ucyksCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIHlsOTIwMF9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IHlsOTIwMF9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUoeWw5MjAwX2J1dHRvbnMpLAogfTsKIAotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWxfOTIwMF9idXR0b25fZGV2aWNlID0geworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWw5MjAwX2J1dHRvbl9kZXZpY2UgPSB7CiAJLm5hbWUJCT0gImdwaW8ta2V5cyIsCiAJLmlkCQk9IC0xLAogCS5udW1fcmVzb3VyY2VzCT0gMCwKIAkuZGV2CQk9IHsKLQkucGxhdGZvcm1fZGF0YQk9ICZ5bF85MjAwX2J1dHRvbl9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZ5bDkyMDBfYnV0dG9uX2RhdGEsCiAJfQogfTsKIAotc3RhdGljIHZvaWQgX19pbml0IHlsXzkyMDBfYWRkX2RldmljZV9idXR0b25zKHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfYnV0dG9ucyh2b2lkKQogewotCS8vU1cyCi0JYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQTI0LCAwKTsKKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BBMjQsIDEpOwkvKiBTVzIgKi8KIAlhdDkxX3NldF9kZWdsaXRjaChBVDkxX1BJTl9QQTI0LCAxKTsKLQotCS8vU1czCi0JYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjEsIDApOworCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIxLCAxKTsJLyogU1czICovCiAJYXQ5MV9zZXRfZGVnbGl0Y2goQVQ5MV9QSU5fUEIxLCAxKTsKLQkvL1NXNAotCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEIyLCAwKTsKKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMiwgMSk7CS8qIFNXNCAqLwogCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCMiwgMSk7Ci0KLQkvL1NXNQotCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEI2LCAwKTsKKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCNiwgMSk7CS8qIFNXNSAqLwogCWF0OTFfc2V0X2RlZ2xpdGNoKEFUOTFfUElOX1BCNiwgMSk7CiAKKwkvKiBFbmFibGUgYnV0dG9ucyAoU2hlZXQgNSkgKi8KKwlhdDkxX3NldF9ncGlvX291dHB1dChBVDkxX1BJTl9QQjcsIDEpOwogCi0JYXQ5MV9zZXRfZ3Bpb19vdXRwdXQoQVQ5MV9QSU5fUEI3LCAxKTsJLyogI1RVUk4gQlVUVE9OUyBPTiwgU0hFRVQgNSAgb2Ygc2NoZW1hdGljcyAqLwotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmeWxfOTIwMF9idXR0b25fZGV2aWNlKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsOTIwMF9idXR0b25fZGV2aWNlKTsKIH0KICNlbHNlCi1zdGF0aWMgdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX2J1dHRvbnModm9pZCkge30KK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV9idXR0b25zKHZvaWQpIHt9CiAjZW5kaWYKIAorLyoKKyAqIFRvdWNoc2NyZWVuCisgKi8KKyNpZiBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2KSB8fCBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2X01PRFVMRSkKK3N0YXRpYyBpbnQgYWRzNzg0M19wZW5kb3duX3N0YXRlKHZvaWQpCit7CisJcmV0dXJuICFhdDkxX2dldF9ncGlvX3ZhbHVlKEFUOTFfUElOX1BCMTEpOwkvKiBUb3VjaHNjcmVlbiBQRU5JUlEgKi8KK30KKworc3RhdGljIHN0cnVjdCBhZHM3ODQ2X3BsYXRmb3JtX2RhdGEgYWRzX2luZm8gPSB7CisJLm1vZGVsCQkJPSA3ODQzLAorCS54X21pbgkJCT0gMTUwLAorCS54X21heAkJCT0gMzgzMCwKKwkueV9taW4JCQk9IDE5MCwKKwkueV9tYXgJCQk9IDM4MzAsCisJLnZyZWZfZGVsYXlfdXNlY3MJPSAxMDAsCisKKwkvKiBGb3IgYSA4IiB0b3VjaC1zY3JlZW4gKi8KKwkvLyAueF9wbGF0ZV9vaG1zCQk9IDYwMywKKwkvLyAueV9wbGF0ZV9vaG1zCQk9IDMzMiwKKworCS8qIEZvciBhIDEwLjQiIHRvdWNoLXNjcmVlbiAqLworCS8vIC54X3BsYXRlX29obXMJCT0gNjExLAorCS8vIC55X3BsYXRlX29obXMJCT0gMzI1LAorCisJLnhfcGxhdGVfb2htcwkJPSA1NzYsCisJLnlfcGxhdGVfb2htcwkJPSAzNjYsCisKKwkucHJlc3N1cmVfbWF4CQk9IDE1MDAwLCAvKiBnZW5lcmFsbHkgbm9uc2Vuc2Ugb24gdGhlIDc4NDMgKi8KKwkuZGVib3VuY2VfbWF4CQk9IDEsCisJLmRlYm91bmNlX3JlcAkJPSAwLAorCS5kZWJvdW5jZV90b2wJCT0gKH4wKSwKKwkuZ2V0X3BlbmRvd25fc3RhdGUJPSBhZHM3ODQzX3BlbmRvd25fc3RhdGUsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfdHModm9pZCkKK3sKKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMTEsIDEpOwkvKiBUb3VjaHNjcmVlbiBpbnRlcnJ1cHQgcGluICovCisJYXQ5MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQjEwLCAxKTsJLyogVG91Y2hzY3JlZW4gQlVTWSBzaWduYWwgLSBub3QgdXNlZCEgKi8KK30KKyNlbHNlCitzdGF0aWMgdm9pZCBfX2luaXQgeWw5MjAwX2FkZF9kZXZpY2VfdHModm9pZCkge30KKyNlbmRpZgorCisvKgorICogU1BJIGRldmljZXMKKyAqLworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyB5bDkyMDBfc3BpX2RldmljZXNbXSA9IHsKKyNpZiBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2KSB8fCBkZWZpbmVkKENPTkZJR19UT1VDSFNDUkVFTl9BRFM3ODQ2X01PRFVMRSkKKwl7CS8qIFRvdWNoc2NyZWVuICovCisJCS5tb2RhbGlhcwk9ICJhZHM3ODQ2IiwKKwkJLmNoaXBfc2VsZWN0CT0gMCwKKwkJLm1heF9zcGVlZF9oegk9IDUwMDAgKiAyNiwKKwkJLnBsYXRmb3JtX2RhdGEJPSAmYWRzX2luZm8sCisJCS5pcnEJCT0gQVQ5MV9QSU5fUEIxMSwKKwl9LAorI2VuZGlmCisJewkvKiBDQU4gKi8KKwkJLm1vZGFsaWFzCT0gIm1jcDI1MTAiLAorCQkuY2hpcF9zZWxlY3QJPSAxLAorCQkubWF4X3NwZWVkX2h6CT0gMjUwMDAgKiAyNiwKKwkJLmlycQkJPSBBVDkxX1BJTl9QQzAsCisJfQorfTsKKworLyoKKyAqIExDRCAvIFZHQQorICoKKyAqIEVQU09OIFMxRDEzODA2IEZCIChkaXNjb250aW51ZWQgY2hpcCkKKyAqIEVQU09OIFMxRDEzNTA2IEZCCisgKi8KICNpZiBkZWZpbmVkKENPTkZJR19GQl9TMUQxMzVYWCkgfHwgZGVmaW5lZChDT05GSUdfRkJfUzFEMTNYWFhfTU9EVUxFKQogI2luY2x1ZGUgPHZpZGVvL3MxZDEzeHh4ZmIuaD4KIAotLyogRVBTT04gUzFEMTM4MDYgRkIgKGRpc2NvbnRpbnVlZCBjaGlwKSovCi0vKiBFUFNPTiBTMUQxMzUwNiBGQiAqLwotCiAjZGVmaW5lIEFUOTFfRkJfUkVHX0JBU0UJMHg4MDAwMDAwMEwKICNkZWZpbmUgQVQ5MV9GQl9SRUdfU0laRQkweDIwMAogI2RlZmluZSBBVDkxX0ZCX1ZNRU1fQkFTRQkweDgwMjAwMDAwTAogI2RlZmluZSBBVDkxX0ZCX1ZNRU1fU0laRQkweDIwMDAwMEwKIAotLyojZGVmaW5lIFMxRF9ESVNQTEFZX1dJRFRIICAgICAgICAgICA2NDAqLwotLyojZGVmaW5lIFMxRF9ESVNQTEFZX0hFSUdIVCAgICAgICAgICA0ODAqLwotCi0KLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX2luaXRfdmlkZW8odm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCB5bDkyMDBfaW5pdF92aWRlbyh2b2lkKQogewotCWF0OTFfc3lzX3dyaXRlKEFUOTFfUElPQyArIFBJT19BU1IsQVQ5MV9QSU5fUEM2KTsKLQlhdDkxX3N5c193cml0ZShBVDkxX1BJT0MgKyBQSU9fQlNSLDApOwotCWF0OTFfc3lzX3dyaXRlKEFUOTFfUElPQyArIFBJT19BU1IsQVQ5MV9QSU5fUEM2KTsKKwkvKiBOV0FJVCBTaWduYWwgKi8KKwlhdDkxX3NldF9BX3BlcmlwaChBVDkxX1BJTl9QQzYsIDApOwogCi0JYXQ5MV9zeXNfd3JpdGUoIEFUOTFfU01DX0NTUigyKSwKLQlBVDkxX1NNQ19OV1NfKDB4NCkgfAotCUFUOTFfU01DX1dTRU4gfAotCUFUOTFfU01DX1RERl8oMHgxMDApIHwKLQlBVDkxX1NNQ19EQlcKKwkvKiBJbml0aWFsaXphdGlvbiBvZiB0aGUgU3RhdGljIE1lbW9yeSBDb250cm9sbGVyIGZvciBDaGlwIFNlbGVjdCAyICovCisJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9TTUNfQ1NSKDIpLCBBVDkxX1NNQ19EQldfMTYJCS8qIDE2IGJpdCAqLworCQkJfCBBVDkxX1NNQ19XU0VOIHwgQVQ5MV9TTUNfTldTXygweDQpCS8qIHdhaXQgc3RhdGVzICovCisJCQl8IEFUOTFfU01DX1RERl8oMHgxMDApCQkJLyogZmxvYXQgdGltZSAqLwogCSk7Ci0KLQotCiB9CiAKLQotc3RhdGljIHN0cnVjdCBzMWQxM3h4eGZiX3JlZ3ZhbCB5bF85MjAwX3MxZGZiX2luaXRyZWdzW10gPQorc3RhdGljIHN0cnVjdCBzMWQxM3h4eGZiX3JlZ3ZhbCB5bDkyMDBfczFkZmJfaW5pdHJlZ3NbXSA9CiB7Ci0Je1MxRFJFR19NSVNDLAkJCQkweDAwfSwgICAvKiBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NPTV9ESVNQX01PREUsCQkweDAxfSwgICAvKiBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIExDRCBvbmx5Ki8KLQl7UzFEUkVHX0dQSU9fQ05GMCwJCQkweDAwfSwgICAvKiBHZW5lcmFsIElPIFBpbnMgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19HUElPX0NUTDAsCQkJMHgwMH0sICAgLyogR2VuZXJhbCBJTyBQaW5zIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ0xLX0NORiwJCQkweDExfSwgICAvKiBNZW1vcnkgQ2xvY2sgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ0xLX0NORiwJCTB4MTB9LCAgIC8qIExDRCBQaXhlbCBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DTEtfQ05GLAkJMHgxMn0sICAgLyogQ1JUL1RWIFBpeGVsIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfTVBMVUdfQ0xLX0NORiwJCTB4MDF9LCAgIC8qIE1lZGlhUGx1ZyBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NQVTJNRU1fV1NUX1NFTCwJMHgwMn0sICAgLyogQ1BVIFRvIE1lbW9yeSBXYWl0IFN0YXRlIFNlbGVjdCBSZWdpc3RlciovCi0Je1MxRFJFR19NRU1fQ05GLAkJCTB4MDB9LCAgIC8qIE1lbW9yeSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1NEUkFNX1JFRl9SQVRFLAkJMHgwNH0sICAgLyogRFJBTSBSZWZyZXNoIFJhdGUgUmVnaXN0ZXIsIE1DTEsgc291cmNlKi8KLQl7UzFEUkVHX1NEUkFNX1RDMCwJCQkweDEyfSwgICAvKiBEUkFNIFRpbWluZ3MgQ29udHJvbCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX1NEUkFNX1RDMSwJCQkweDAyfSwgICAvKiBEUkFNIFRpbWluZ3MgQ29udHJvbCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX1BBTkVMX1RZUEUsCQkJMHgyNX0sICAgLyogUGFuZWwgVHlwZSBSZWdpc3RlciovCi0Je1MxRFJFR19NT0RfUkFURSwJCQkweDAwfSwgICAvKiBNT0QgUmF0ZSBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfRElTUF9IV0lEVEgsCTB4NEZ9LCAgIC8qIExDRCBIb3Jpem9udGFsIERpc3BsYXkgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX05ESVNQX0hQRVIsCQkweDEzfSwgICAvKiBMQ0QgSG9yaXpvbnRhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLwotCXtTMURSRUdfVEZUX0ZQTElORV9TVEFSVCwJMHgwMX0sICAgLyogVEZUIEZQTElORSBTdGFydCBQb3NpdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19URlRfRlBMSU5FX1BXSURUSCwJMHgwY30sICAgLyogVEZUIEZQTElORSBQdWxzZSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfRElTUF9WSEVJR0hUMCwJMHhERn0sICAgLyogTENEIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfTENEX0RJU1BfVkhFSUdIVDEsCTB4MDF9LCAgIC8qIExDRCBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xDRF9ORElTUF9WUEVSLAkJMHgyY30sICAgLyogTENEIFZlcnRpY2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCi0Je1MxRFJFR19URlRfRlBGUkFNRV9TVEFSVCwJMHgwYX0sICAgLyogVEZUIEZQRlJBTUUgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfVEZUX0ZQRlJBTUVfUFdJRFRILAkweDAyfSwgICAvKiBURlQgRlBGUkFNRSBQdWxzZSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfRElTUF9NT0RFLAkJMHgwNX0sICAgLyogTENEIERpc3BsYXkgTW9kZSBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfTUlTQywJCQkweDAxfSwgICAvKiBMQ0QgTWlzY2VsbGFuZW91cyBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfRElTUF9TVEFSVDAsCTB4MDB9LCAgIC8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19MQ0RfRElTUF9TVEFSVDEsCTB4MDB9LCAgIC8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfRElTUF9TVEFSVDIsCTB4MDB9LCAgIC8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCi0Je1MxRFJFR19MQ0RfTUVNX09GRjAsCQkweDgwfSwgICAvKiBMQ0QgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfTENEX01FTV9PRkYxLAkJMHgwMn0sICAgLyogTENEIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xDRF9QSVhfUEFOLAkJMHgwM30sICAgLyogTENEIFBpeGVsIFBhbm5pbmcgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0RJU1BfRklGT19IVEMsCTB4MDB9LCAgIC8qIExDRCBEaXNwbGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfRElTUF9GSUZPX0xUQywJMHgwMH0sICAgLyogTENEIERpc3BsYXkgRklGTyBMb3cgVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0RJU1BfSFdJRFRILAkweDRGfSwgICAvKiBDUlQvVFYgSG9yaXpvbnRhbCBEaXNwbGF5IFdpZHRoIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9ORElTUF9IUEVSLAkJMHgxM30sICAgLyogQ1JUL1RWIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9IUlRDX1NUQVJULAkJMHgwMX0sICAgLyogQ1JUL1RWIEhSVEMgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0hSVENfUFdJRFRILAkweDBCfSwgICAvKiBDUlQvVFYgSFJUQyBQdWxzZSBXaWR0aCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfRElTUF9WSEVJR0hUMCwJMHhERn0sICAgLyogQ1JUL1RWIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX0RJU1BfVkhFSUdIVDEsCTB4MDF9LCAgIC8qIENSVC9UViBWZXJ0aWNhbCBEaXNwbGF5IEhlaWdodCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9ORElTUF9WUEVSLAkJMHgyQn0sICAgLyogQ1JUL1RWIFZlcnRpY2FsIE5vbi1EaXNwbGF5IFBlcmlvZCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfVlJUQ19TVEFSVCwJCTB4MDl9LCAgIC8qIENSVC9UViBWUlRDIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9WUlRDX1BXSURUSCwJMHgwMX0sICAgLyogQ1JUL1RWIFZSVEMgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLwotCXtTMURSRUdfVFZfT1VUX0NUTCwJCQkweDE4fSwgICAvKiBUViBPdXRwdXQgQ29udHJvbCBSZWdpc3RlciAqLwotCXtTMURSRUdfQ1JUX0RJU1BfTU9ERSwJCTB4MDV9LCAgIC8qIENSVC9UViBEaXNwbGF5IE1vZGUgUmVnaXN0ZXIsIDE2QlBQKi8KLQl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMCwJMHgwMH0sICAgLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMSwJMHgwMH0sICAgLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMiwJMHgwMH0sICAgLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KLQl7UzFEUkVHX0NSVF9NRU1fT0ZGMCwJCTB4ODB9LCAgIC8qIENSVC9UViBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19DUlRfTUVNX09GRjEsCQkweDAyfSwgICAvKiBDUlQvVFYgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQ1JUX1BJWF9QQU4sCQkweDAwfSwgICAvKiBDUlQvVFYgUGl4ZWwgUGFubmluZyBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfRElTUF9GSUZPX0hUQywJMHgwMH0sICAgLyogQ1JUL1RWIERpc3BsYXkgRklGTyBIaWdoIFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9ESVNQX0ZJRk9fTFRDLAkweDAwfSwgICAvKiBDUlQvVFYgRGlzcGxheSBGSUZPIExvdyBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19MQ0RfQ1VSX0NUTCwJCTB4MDB9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIENvbnRyb2wgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9TVEFSVCwJCTB4MDF9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9YUE9TMCwJCTB4MDB9LCAgIC8qIExDRCBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0xDRF9DVVJfWFBPUzEsCQkweDAwfSwgICAvKiBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMSovCi0Je1MxRFJFR19MQ0RfQ1VSX1lQT1MwLAkJMHgwMH0sICAgLyogTENEIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfTENEX0NVUl9ZUE9TMSwJCTB4MDB9LCAgIC8qIExDRCBDdXJzb3IgWSBQb3NpdGlvbiBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0xDRF9DVVJfQkNUTDAsCQkweDAwfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBCbHVlIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9HQ1RMMCwJCTB4MDB9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9SQ1RMMCwJCTB4MDB9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIFJlZCBDb2xvciAwIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfQkNUTDEsCQkweDFGfSwgICAvKiBMQ0QgSW5rL0N1cnNvciBCbHVlIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9HQ1RMMSwJCTB4M0Z9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfTENEX0NVUl9SQ1RMMSwJCTB4MUZ9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIFJlZCBDb2xvciAxIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0xDRF9DVVJfRklGT19IVEMsCTB4MDB9LCAgIC8qIExDRCBJbmsvQ3Vyc29yIEZJRk8gVGhyZXNob2xkIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0NSVF9DVVJfQ1RMLAkJMHgwMH0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgQ29udHJvbCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX1NUQVJULAkJMHgwMX0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX1hQT1MwLAkJMHgwMH0sICAgLyogQ1JUL1RWIEN1cnNvciBYIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQ1JUX0NVUl9YUE9TMSwJCTB4MDB9LCAgIC8qIENSVC9UViBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0NSVF9DVVJfWVBPUzAsCQkweDAwfSwgICAvKiBDUlQvVFYgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19DUlRfQ1VSX1lQT1MxLAkJMHgwMH0sICAgLyogQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQ1JUX0NVUl9CQ1RMMCwJCTB4MDB9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX0dDVEwwLAkJMHgwMH0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMCBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX1JDVEwwLAkJMHgwMH0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgUmVkIENvbG9yIDAgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9CQ1RMMSwJCTB4MUZ9LCAgIC8qIENSVC9UViBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX0dDVEwxLAkJMHgzRn0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgR3JlZW4gQ29sb3IgMSBSZWdpc3RlciovCi0Je1MxRFJFR19DUlRfQ1VSX1JDVEwxLAkJMHgxRn0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgUmVkIENvbG9yIDEgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ1JUX0NVUl9GSUZPX0hUQywJMHgwMH0sICAgLyogQ1JUL1RWIEluay9DdXJzb3IgRklGTyBUaHJlc2hvbGQgUmVnaXN0ZXIqLwotCXtTMURSRUdfQkJMVF9DVEwwLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBDb250cm9sIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9DVEwxLAkJCTB4MDF9LCAgIC8qIEJpdEJsdCBDb250cm9sIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9DQ19FWFAsCQkweDAwfSwgICAvKiBCaXRCbHQgUk9QIENvZGUvQ29sb3IgRXhwYW5zaW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX0JCTFRfT1AsCQkJMHgwMH0sICAgLyogQml0Qmx0IE9wZXJhdGlvbiBSZWdpc3RlciovCi0Je1MxRFJFR19CQkxUX1NSQ19TVEFSVDAsCTB4MDB9LCAgIC8qIEJpdEJsdCBTb3VyY2UgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfU1JDX1NUQVJUMSwJMHgwMH0sICAgLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQyLAkweDAwfSwgICAvKiBCaXRCbHQgU291cmNlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCi0Je1MxRFJFR19CQkxUX0RTVF9TVEFSVDAsCTB4MDB9LCAgIC8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQxLAkweDAwfSwgICAvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMiwJMHgwMH0sICAgLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMiovCi0Je1MxRFJFR19CQkxUX01FTV9PRkYwLAkJMHgwMH0sICAgLyogQml0Qmx0IE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAwKi8KLQl7UzFEUkVHX0JCTFRfTUVNX09GRjEsCQkweDAwfSwgICAvKiBCaXRCbHQgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9XSURUSDAsCQkweDAwfSwgICAvKiBCaXRCbHQgV2lkdGggUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX1dJRFRIMSwJCTB4MDB9LCAgIC8qIEJpdEJsdCBXaWR0aCBSZWdpc3RlciAxKi8KLQl7UzFEUkVHX0JCTFRfSEVJR0hUMCwJCTB4MDB9LCAgIC8qIEJpdEJsdCBIZWlnaHQgUmVnaXN0ZXIgMCovCi0Je1MxRFJFR19CQkxUX0hFSUdIVDEsCQkweDAwfSwgICAvKiBCaXRCbHQgSGVpZ2h0IFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9CR0MwLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBCYWNrZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9CR0MxLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBCYWNrZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfQkJMVF9GR0MwLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBGb3JlZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDAqLwotCXtTMURSRUdfQkJMVF9GR0MxLAkJCTB4MDB9LCAgIC8qIEJpdEJsdCBGb3JlZ3JvdW5kIENvbG9yIFJlZ2lzdGVyIDEqLwotCXtTMURSRUdfTEtVUF9NT0RFLAkJCTB4MDB9LCAgIC8qIExvb2stVXAgVGFibGUgTW9kZSBSZWdpc3RlciovCi0Je1MxRFJFR19MS1VQX0FERFIsCQkJMHgwMH0sICAgLyogTG9vay1VcCBUYWJsZSBBZGRyZXNzIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1BTX0NORiwJCQkJMHgwMH0sICAgLyogUG93ZXIgU2F2ZSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KLQl7UzFEUkVHX1BTX1NUQVRVUywJCQkweDAwfSwgICAvKiBQb3dlciBTYXZlIFN0YXR1cyBSZWdpc3RlciovCi0Je1MxRFJFR19DUFUyTUVNX1dET0dULAkJMHgwMH0sICAgLyogQ1BVLXRvLU1lbW9yeSBBY2Nlc3MgV2F0Y2hkb2cgVGltZXIgUmVnaXN0ZXIqLwotCXtTMURSRUdfQ09NX0RJU1BfTU9ERSwJCTB4MDF9LCAgIC8qIERpc3BsYXkgTW9kZSBSZWdpc3RlciwgTENEIG9ubHkqLworCXtTMURSRUdfTUlTQywJCQkweDAwfSwJLyogTWlzY2VsbGFuZW91cyBSZWdpc3RlciovCisJe1MxRFJFR19DT01fRElTUF9NT0RFLAkJMHgwMX0sCS8qIERpc3BsYXkgTW9kZSBSZWdpc3RlciwgTENEIG9ubHkqLworCXtTMURSRUdfR1BJT19DTkYwLAkJMHgwMH0sCS8qIEdlbmVyYWwgSU8gUGlucyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0dQSU9fQ1RMMCwJCTB4MDB9LAkvKiBHZW5lcmFsIElPIFBpbnMgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19DTEtfQ05GLAkJMHgxMX0sCS8qIE1lbW9yeSBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9DTEtfQ05GLAkJMHgxMH0sCS8qIExDRCBQaXhlbCBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9DTEtfQ05GLAkJMHgxMn0sCS8qIENSVC9UViBQaXhlbCBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX01QTFVHX0NMS19DTkYsCQkweDAxfSwJLyogTWVkaWFQbHVnIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQ1BVMk1FTV9XU1RfU0VMLAkweDAyfSwJLyogQ1BVIFRvIE1lbW9yeSBXYWl0IFN0YXRlIFNlbGVjdCBSZWdpc3RlciovCisJe1MxRFJFR19NRU1fQ05GLAkJMHgwMH0sCS8qIE1lbW9yeSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1NEUkFNX1JFRl9SQVRFLAkJMHgwNH0sCS8qIERSQU0gUmVmcmVzaCBSYXRlIFJlZ2lzdGVyLCBNQ0xLIHNvdXJjZSovCisJe1MxRFJFR19TRFJBTV9UQzAsCQkweDEyfSwJLyogRFJBTSBUaW1pbmdzIENvbnRyb2wgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19TRFJBTV9UQzEsCQkweDAyfSwJLyogRFJBTSBUaW1pbmdzIENvbnRyb2wgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19QQU5FTF9UWVBFLAkJMHgyNX0sCS8qIFBhbmVsIFR5cGUgUmVnaXN0ZXIqLworCXtTMURSRUdfTU9EX1JBVEUsCQkweDAwfSwJLyogTU9EIFJhdGUgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfSFdJRFRILAkweDRGfSwJLyogTENEIEhvcml6b250YWwgRGlzcGxheSBXaWR0aCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfTkRJU1BfSFBFUiwJCTB4MTN9LAkvKiBMQ0QgSG9yaXpvbnRhbCBOb24tRGlzcGxheSBQZXJpb2QgUmVnaXN0ZXIqLworCXtTMURSRUdfVEZUX0ZQTElORV9TVEFSVCwJMHgwMX0sCS8qIFRGVCBGUExJTkUgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfVEZUX0ZQTElORV9QV0lEVEgsCTB4MGN9LAkvKiBURlQgRlBMSU5FIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1ZIRUlHSFQwLAkweERGfSwJLyogTENEIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX0RJU1BfVkhFSUdIVDEsCTB4MDF9LAkvKiBMQ0QgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MQ0RfTkRJU1BfVlBFUiwJCTB4MmN9LAkvKiBMQ0QgVmVydGljYWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RGVF9GUEZSQU1FX1NUQVJULAkweDBhfSwJLyogVEZUIEZQRlJBTUUgU3RhcnQgUG9zaXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfVEZUX0ZQRlJBTUVfUFdJRFRILAkweDAyfSwJLyogVEZUIEZQRlJBTUUgUHVsc2UgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0RJU1BfTU9ERSwJCTB4MDV9LAkvKiBMQ0QgRGlzcGxheSBNb2RlIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9NSVNDLAkJMHgwMX0sCS8qIExDRCBNaXNjZWxsYW5lb3VzIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0xDRF9ESVNQX1NUQVJUMCwJMHgwMH0sCS8qIExDRCBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19MQ0RfRElTUF9TVEFSVDEsCTB4MDB9LAkvKiBMQ0QgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfTENEX0RJU1BfU1RBUlQyLAkweDAwfSwJLyogTENEIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAyKi8KKwl7UzFEUkVHX0xDRF9NRU1fT0ZGMCwJCTB4ODB9LAkvKiBMQ0QgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX01FTV9PRkYxLAkJMHgwMn0sCS8qIExDRCBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MQ0RfUElYX1BBTiwJCTB4MDN9LAkvKiBMQ0QgUGl4ZWwgUGFubmluZyBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9GSUZPX0hUQywJMHgwMH0sCS8qIExDRCBEaXNwbGF5IEZJRk8gSGlnaCBUaHJlc2hvbGQgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfRElTUF9GSUZPX0xUQywJMHgwMH0sCS8qIExDRCBEaXNwbGF5IEZJRk8gTG93IFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9ESVNQX0hXSURUSCwJMHg0Rn0sCS8qIENSVC9UViBIb3Jpem9udGFsIERpc3BsYXkgV2lkdGggUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX05ESVNQX0hQRVIsCQkweDEzfSwJLyogQ1JUL1RWIEhvcml6b250YWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9IUlRDX1NUQVJULAkJMHgwMX0sCS8qIENSVC9UViBIUlRDIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9IUlRDX1BXSURUSCwJMHgwQn0sCS8qIENSVC9UViBIUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1ZIRUlHSFQwLAkweERGfSwJLyogQ1JUL1RWIFZlcnRpY2FsIERpc3BsYXkgSGVpZ2h0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX0RJU1BfVkhFSUdIVDEsCTB4MDF9LAkvKiBDUlQvVFYgVmVydGljYWwgRGlzcGxheSBIZWlnaHQgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfTkRJU1BfVlBFUiwJCTB4MkJ9LAkvKiBDUlQvVFYgVmVydGljYWwgTm9uLURpc3BsYXkgUGVyaW9kIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9WUlRDX1NUQVJULAkJMHgwOX0sCS8qIENSVC9UViBWUlRDIFN0YXJ0IFBvc2l0aW9uIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9WUlRDX1BXSURUSCwJMHgwMX0sCS8qIENSVC9UViBWUlRDIFB1bHNlIFdpZHRoIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX1RWX09VVF9DVEwsCQkweDE4fSwJLyogVFYgT3V0cHV0IENvbnRyb2wgUmVnaXN0ZXIgKi8KKwl7UzFEUkVHX0NSVF9ESVNQX01PREUsCQkweDA1fSwJLyogQ1JUL1RWIERpc3BsYXkgTW9kZSBSZWdpc3RlciwgMTZCUFAqLworCXtTMURSRUdfQ1JUX0RJU1BfU1RBUlQwLAkweDAwfSwJLyogQ1JUL1RWIERpc3BsYXkgU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0NSVF9ESVNQX1NUQVJUMSwJMHgwMH0sCS8qIENSVC9UViBEaXNwbGF5IFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfRElTUF9TVEFSVDIsCTB4MDB9LAkvKiBDUlQvVFYgRGlzcGxheSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLworCXtTMURSRUdfQ1JUX01FTV9PRkYwLAkJMHg4MH0sCS8qIENSVC9UViBNZW1vcnkgQWRkcmVzcyBPZmZzZXQgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19DUlRfTUVNX09GRjEsCQkweDAyfSwJLyogQ1JUL1RWIE1lbW9yeSBBZGRyZXNzIE9mZnNldCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0NSVF9QSVhfUEFOLAkJMHgwMH0sCS8qIENSVC9UViBQaXhlbCBQYW5uaW5nIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9ESVNQX0ZJRk9fSFRDLAkweDAwfSwJLyogQ1JUL1RWIERpc3BsYXkgRklGTyBIaWdoIFRocmVzaG9sZCBDb250cm9sIFJlZ2lzdGVyKi8KKwl7UzFEUkVHX0NSVF9ESVNQX0ZJRk9fTFRDLAkweDAwfSwJLyogQ1JUL1RWIERpc3BsYXkgRklGTyBMb3cgVGhyZXNob2xkIENvbnRyb2wgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9DVEwsCQkweDAwfSwJLyogTENEIEluay9DdXJzb3IgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX1NUQVJULAkJMHgwMX0sCS8qIExDRCBJbmsvQ3Vyc29yIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9YUE9TMCwJCTB4MDB9LAkvKiBMQ0QgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMCovCisJe1MxRFJFR19MQ0RfQ1VSX1hQT1MxLAkJMHgwMH0sCS8qIExDRCBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xDRF9DVVJfWVBPUzAsCQkweDAwfSwJLyogTENEIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfTENEX0NVUl9ZUE9TMSwJCTB4MDB9LAkvKiBMQ0QgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMSovCisJe1MxRFJFR19MQ0RfQ1VSX0JDVEwwLAkJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX0dDVEwwLAkJMHgwMH0sCS8qIExDRCBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9SQ1RMMCwJCTB4MDB9LAkvKiBMQ0QgSW5rL0N1cnNvciBSZWQgQ29sb3IgMCBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX0JDVEwxLAkJMHgxRn0sCS8qIExDRCBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMSBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX0dDVEwxLAkJMHgzRn0sCS8qIExDRCBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfTENEX0NVUl9SQ1RMMSwJCTB4MUZ9LAkvKiBMQ0QgSW5rL0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlciovCisJe1MxRFJFR19MQ0RfQ1VSX0ZJRk9fSFRDLAkweDAwfSwJLyogTENEIEluay9DdXJzb3IgRklGTyBUaHJlc2hvbGQgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9DVEwsCQkweDAwfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgQ29udHJvbCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX1NUQVJULAkJMHgwMX0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9YUE9TMCwJCTB4MDB9LAkvKiBDUlQvVFYgQ3Vyc29yIFggUG9zaXRpb24gUmVnaXN0ZXIgMCovCisJe1MxRFJFR19DUlRfQ1VSX1hQT1MxLAkJMHgwMH0sCS8qIENSVC9UViBDdXJzb3IgWCBQb3NpdGlvbiBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0NSVF9DVVJfWVBPUzAsCQkweDAwfSwJLyogQ1JUL1RWIEN1cnNvciBZIFBvc2l0aW9uIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQ1JUX0NVUl9ZUE9TMSwJCTB4MDB9LAkvKiBDUlQvVFYgQ3Vyc29yIFkgUG9zaXRpb24gUmVnaXN0ZXIgMSovCisJe1MxRFJFR19DUlRfQ1VSX0JDVEwwLAkJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX0dDVEwwLAkJMHgwMH0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDAgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9SQ1RMMCwJCTB4MDB9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBSZWQgQ29sb3IgMCBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX0JDVEwxLAkJMHgxRn0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIEJsdWUgQ29sb3IgMSBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX0dDVEwxLAkJMHgzRn0sCS8qIENSVC9UViBJbmsvQ3Vyc29yIEdyZWVuIENvbG9yIDEgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1JUX0NVUl9SQ1RMMSwJCTB4MUZ9LAkvKiBDUlQvVFYgSW5rL0N1cnNvciBSZWQgQ29sb3IgMSBSZWdpc3RlciovCisJe1MxRFJFR19DUlRfQ1VSX0ZJRk9fSFRDLAkweDAwfSwJLyogQ1JUL1RWIEluay9DdXJzb3IgRklGTyBUaHJlc2hvbGQgUmVnaXN0ZXIqLworCXtTMURSRUdfQkJMVF9DVEwwLAkJMHgwMH0sCS8qIEJpdEJsdCBDb250cm9sIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9DVEwxLAkJMHgwMX0sCS8qIEJpdEJsdCBDb250cm9sIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9DQ19FWFAsCQkweDAwfSwJLyogQml0Qmx0IFJPUCBDb2RlL0NvbG9yIEV4cGFuc2lvbiBSZWdpc3RlciovCisJe1MxRFJFR19CQkxUX09QLAkJMHgwMH0sCS8qIEJpdEJsdCBPcGVyYXRpb24gUmVnaXN0ZXIqLworCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQwLAkweDAwfSwJLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQxLAkweDAwfSwJLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9TUkNfU1RBUlQyLAkweDAwfSwJLyogQml0Qmx0IFNvdXJjZSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLworCXtTMURSRUdfQkJMVF9EU1RfU1RBUlQwLAkweDAwfSwJLyogQml0Qmx0IERlc3RpbmF0aW9uIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0RTVF9TVEFSVDEsCTB4MDB9LAkvKiBCaXRCbHQgRGVzdGluYXRpb24gU3RhcnQgQWRkcmVzcyBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfRFNUX1NUQVJUMiwJMHgwMH0sCS8qIEJpdEJsdCBEZXN0aW5hdGlvbiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyIDIqLworCXtTMURSRUdfQkJMVF9NRU1fT0ZGMCwJCTB4MDB9LAkvKiBCaXRCbHQgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9NRU1fT0ZGMSwJCTB4MDB9LAkvKiBCaXRCbHQgTWVtb3J5IEFkZHJlc3MgT2Zmc2V0IFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9XSURUSDAsCQkweDAwfSwJLyogQml0Qmx0IFdpZHRoIFJlZ2lzdGVyIDAqLworCXtTMURSRUdfQkJMVF9XSURUSDEsCQkweDAwfSwJLyogQml0Qmx0IFdpZHRoIFJlZ2lzdGVyIDEqLworCXtTMURSRUdfQkJMVF9IRUlHSFQwLAkJMHgwMH0sCS8qIEJpdEJsdCBIZWlnaHQgUmVnaXN0ZXIgMCovCisJe1MxRFJFR19CQkxUX0hFSUdIVDEsCQkweDAwfSwJLyogQml0Qmx0IEhlaWdodCBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfQkdDMCwJCTB4MDB9LAkvKiBCaXRCbHQgQmFja2dyb3VuZCBDb2xvciBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfQkdDMSwJCTB4MDB9LAkvKiBCaXRCbHQgQmFja2dyb3VuZCBDb2xvciBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0JCTFRfRkdDMCwJCTB4MDB9LAkvKiBCaXRCbHQgRm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAwKi8KKwl7UzFEUkVHX0JCTFRfRkdDMSwJCTB4MDB9LAkvKiBCaXRCbHQgRm9yZWdyb3VuZCBDb2xvciBSZWdpc3RlciAxKi8KKwl7UzFEUkVHX0xLVVBfTU9ERSwJCTB4MDB9LAkvKiBMb29rLVVwIFRhYmxlIE1vZGUgUmVnaXN0ZXIqLworCXtTMURSRUdfTEtVUF9BRERSLAkJMHgwMH0sCS8qIExvb2stVXAgVGFibGUgQWRkcmVzcyBSZWdpc3RlciovCisJe1MxRFJFR19QU19DTkYsCQkJMHgwMH0sCS8qIFBvd2VyIFNhdmUgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCisJe1MxRFJFR19QU19TVEFUVVMsCQkweDAwfSwJLyogUG93ZXIgU2F2ZSBTdGF0dXMgUmVnaXN0ZXIqLworCXtTMURSRUdfQ1BVMk1FTV9XRE9HVCwJCTB4MDB9LAkvKiBDUFUtdG8tTWVtb3J5IEFjY2VzcyBXYXRjaGRvZyBUaW1lciBSZWdpc3RlciovCisJe1MxRFJFR19DT01fRElTUF9NT0RFLAkJMHgwMX0sCS8qIERpc3BsYXkgTW9kZSBSZWdpc3RlciwgTENEIG9ubHkqLwogfTsKIAotc3RhdGljIHU2NCBzMWRmYl9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworc3RhdGljIHU2NCBzMWRmYl9kbWFtYXNrID0gRE1BX0JJVF9NQVNLKDMyKTsKIAotc3RhdGljIHN0cnVjdCBzMWQxM3h4eGZiX3BkYXRhIHlsXzkyMDBfczFkZmJfcGRhdGEgPSB7Ci0JCS5pbml0cmVncwkJCQk9IHlsXzkyMDBfczFkZmJfaW5pdHJlZ3MsCi0JCS5pbml0cmVnc3NpemUJCQk9IEFSUkFZX1NJWkUoeWxfOTIwMF9zMWRmYl9pbml0cmVncyksCi0JCS5wbGF0Zm9ybV9pbml0X3ZpZGVvCT0geWxfOTIwMF9pbml0X3ZpZGVvLAorc3RhdGljIHN0cnVjdCBzMWQxM3h4eGZiX3BkYXRhIHlsOTIwMF9zMWRmYl9wZGF0YSA9IHsKKwkuaW5pdHJlZ3MJCT0geWw5MjAwX3MxZGZiX2luaXRyZWdzLAorCS5pbml0cmVnc3NpemUJCT0gQVJSQVlfU0laRSh5bDkyMDBfczFkZmJfaW5pdHJlZ3MpLAorCS5wbGF0Zm9ybV9pbml0X3ZpZGVvCT0geWw5MjAwX2luaXRfdmlkZW8sCiB9OwogCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHlsXzkyMDBfczFkZmJfcmVzb3VyY2VbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgeWw5MjAwX3MxZGZiX3Jlc291cmNlW10gPSB7CiAJWzBdID0gewkvKiB2aWRlbyBtZW0gKi8KLQkJLm5hbWUgICA9ICJzMWQxM3h4eGZiIG1lbW9yeSIsCi0JLyoJLm5hbWUgICA9ICJzMWQxMzgwNiBtZW1vcnkiLCovCi0JCS5zdGFydCAgPSBBVDkxX0ZCX1ZNRU1fQkFTRSwKLQkJLmVuZCAgICA9IEFUOTFfRkJfVk1FTV9CQVNFICsgQVQ5MV9GQl9WTUVNX1NJWkUgLTEsCi0JCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKKwkJLm5hbWUJPSAiczFkMTN4eHhmYiBtZW1vcnkiLAorCQkuc3RhcnQJPSBBVDkxX0ZCX1ZNRU1fQkFTRSwKKwkJLmVuZAk9IEFUOTFfRkJfVk1FTV9CQVNFICsgQVQ5MV9GQl9WTUVNX1NJWkUgLTEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sCiAJWzFdID0gewkvKiB2aWRlbyByZWdpc3RlcnMgKi8KLQkJLm5hbWUgICA9ICJzMWQxM3h4eGZiIHJlZ2lzdGVycyIsCi0JLyoJLm5hbWUgICA9ICJzMWQxMzgwNiByZWdpc3RlcnMiLCovCi0JCS5zdGFydCAgPSBBVDkxX0ZCX1JFR19CQVNFLAotCQkuZW5kICAgID0gQVQ5MV9GQl9SRUdfQkFTRSArIEFUOTFfRkJfUkVHX1NJWkUgLTEsCi0JCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKKwkJLm5hbWUJPSAiczFkMTN4eHhmYiByZWdpc3RlcnMiLAorCQkuc3RhcnQJPSBBVDkxX0ZCX1JFR19CQVNFLAorCQkuZW5kCT0gQVQ5MV9GQl9SRUdfQkFTRSArIEFUOTFfRkJfUkVHX1NJWkUgLTEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sCiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB5bF85MjAwX3MxZGZiX2RldmljZSA9IHsKLQkvKlRPRE8gUy5CaXJ0bGVzICwgcmVhbGx5IHdlIG5lZWQgdGhlIGNoaXAgcmV2aXNpb24gaW4gaGVyZSBhcyB3ZWxsKi8KLQkJLm5hbWUJCT0gInMxZDEzODA2ZmIiLAotCS8qICAubmFtZQkJPSAiczFkMTM1MDZmYiIsKi8KLQkJLmlkCQkJPSAtMSwKLQkJLmRldgkJPSB7Ci0JLypUT0RPIHRoZXJlcyBhIHdhcmluZyBoZXJlISEqLwotCS8qV0FSTklORzogdm1saW51eC5vKC5kYXRhKzB4MmRiYyk6IFNlY3Rpb24gbWlzbWF0Y2g6IHJlZmVyZW5jZSB0byAuaW5pdC50ZXh0OiAoYmV0d2VlbiAneWxfOTIwMF9zMWRmYl9wZGF0YScgYW5kICdzMWRmYl9kbWFtYXNrJykqLworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgeWw5MjAwX3MxZGZiX2RldmljZSA9IHsKKwkubmFtZQkJPSAiczFkMTM4MDZmYiIsCisJLmlkCQk9IC0xLAorCS5kZXYJPSB7CiAJCS5kbWFfbWFzawkJPSAmczFkZmJfZG1hbWFzaywKLQkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKLQkJLnBsYXRmb3JtX2RhdGEJCT0gJnlsXzkyMDBfczFkZmJfcGRhdGEsCisJCS5jb2hlcmVudF9kbWFfbWFzawk9IERNQV9CSVRfTUFTSygzMiksCisJCS5wbGF0Zm9ybV9kYXRhCQk9ICZ5bDkyMDBfczFkZmJfcGRhdGEsCiAJfSwKLQkucmVzb3VyY2UJPSB5bF85MjAwX3MxZGZiX3Jlc291cmNlLAotCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRSh5bF85MjAwX3MxZGZiX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSB5bDkyMDBfczFkZmJfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHlsOTIwMF9zMWRmYl9yZXNvdXJjZSksCiB9OwogCi12b2lkIF9faW5pdCB5bF85MjAwX2FkZF9kZXZpY2VfdmlkZW8odm9pZCkKK3ZvaWQgX19pbml0IHlsOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKHZvaWQpCiB7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bF85MjAwX3MxZGZiX2RldmljZSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bDkyMDBfczFkZmJfZGV2aWNlKTsKIH0KICNlbHNlCi0Jdm9pZCBfX2luaXQgeWxfOTIwMF9hZGRfZGV2aWNlX3ZpZGVvKHZvaWQpIHt9Cit2b2lkIF9faW5pdCB5bDkyMDBfYWRkX2RldmljZV92aWRlbyh2b2lkKSB7fQogI2VuZGlmCiAKLS8qdGhpcyBpcyBub3QgY2FsbGVkIGZpcnN0ICwgeWxfOTIwMF9tYXBfaW8gaXMgY2FsbGVkIGZpcnN0Ki8KLXN0YXRpYyB2b2lkIF9faW5pdCB5bF85MjAwX2JvYXJkX2luaXQodm9pZCkKKworc3RhdGljIHZvaWQgX19pbml0IHlsOTIwMF9ib2FyZF9pbml0KHZvaWQpCiB7CiAJLyogU2VyaWFsICovCiAJYXQ5MV9hZGRfZGV2aWNlX3NlcmlhbCgpOwogCS8qIEV0aGVybmV0ICovCi0JYXQ5MV9hZGRfZGV2aWNlX2V0aCgmeWxfOTIwMF9ldGhfZGF0YSk7CisJYXQ5MV9hZGRfZGV2aWNlX2V0aCgmeWw5MjAwX2V0aF9kYXRhKTsKIAkvKiBVU0IgSG9zdCAqLwotCWF0OTFfYWRkX2RldmljZV91c2JoKCZ5bF85MjAwX3VzYmhfZGF0YSk7CisJYXQ5MV9hZGRfZGV2aWNlX3VzYmgoJnlsOTIwMF91c2JoX2RhdGEpOwogCS8qIFVTQiBEZXZpY2UgKi8KLQlhdDkxX2FkZF9kZXZpY2VfdWRjKCZ5bF85MjAwX3VkY19kYXRhKTsKLQkvKiBwdWxsdXBfcGluIGl0IGlzICBhY3R1YWxseSBhY3RpdmUgbG93LCBidXQgdGhpcyBpcyBub3QgbmVlZGVkLCBkcml2ZXIgc2V0cyBpdCB1cCAqLwotCS8qYXQ5MV9zZXRfbXVsdGlfZHJpdmUoeWxfOTIwMF91ZGNfZGF0YS5wdWxsdXBfcGluLCAwKTsqLwotCi0JLyogQ29tcGFjdCBGbGFzaCAqLwotCS8qYXQ5MV9hZGRfZGV2aWNlX2NmKCZ5bF85MjAwX2NmX2RhdGEpOyovCi0KKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZ5bDkyMDBfdWRjX2RhdGEpOwogCS8qIEkyQyAqLwotCWF0OTFfYWRkX2RldmljZV9pMmMoeWxfOTIwMF9pMmNfZGV2aWNlcywgQVJSQVlfU0laRSh5bF85MjAwX2kyY19kZXZpY2VzKSk7Ci0JLyogU1BJICovCi0JLypUT0RPIFlMOTIwMCB3ZSBoYXZlIDIgc3BpIGludGVyZmFjZXMgdG91Y2ggc2NyZWVuICYgQ0FOKi8KLQkvKiBBVDkxX1BJTl9QQTUsIEFUOTFfUElOX1BBNiAsIGFyZSB1c2VkIG9uIHRoZSAgbWF4IDQ4NSBOT1QgU1BJKi8KLQotCS8qdG91Y2ggc2NyZWVuIGFuZCBDQU4qLwotCWF0OTFfYWRkX2RldmljZV9zcGkoeWxfOTIwMF9zcGlfZGV2aWNlcywgQVJSQVlfU0laRSh5bF85MjAwX3NwaV9kZXZpY2VzKSk7Ci0KLQkvKkJhc2ljYWxseSB0aGUgIFRTIHVzZXMgIFBCMTEgJiBQQjEwICwgUEIxMSBpcyBjb25maWd1cmVkIGJ5IHRoZSBTUEkgc3lzdGVtIEJQMTAgSVMgTk9UIFVTRUQhISovCi0JLyogd2UgbmVlZCB0aGlzIGluY2FzZSB0aGUgYm9hcmQgaXMgcnVubmluZyB3aXRob3V0IGEgdG91Y2ggc2NyZWVuKi8KLQkjaWYgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0NikgfHwgZGVmaW5lZChDT05GSUdfVE9VQ0hTQ1JFRU5fQURTNzg0Nl9NT0RVTEUpCi0JYXQ5MV9pbml0X2RldmljZV90cygpOyAvKmluaXQgdGhlIHRvdWNoIHNjcmVlbiBkZXZpY2UqLwotCSNlbmRpZgotCS8qIERhdGFGbGFzaCBjYXJkICovCi0JYXQ5MV9hZGRfZGV2aWNlX21tYygwLCAmeWxfOTIwMF9tbWNfZGF0YSk7CisJYXQ5MV9hZGRfZGV2aWNlX2kyYyh5bDkyMDBfaTJjX2RldmljZXMsIEFSUkFZX1NJWkUoeWw5MjAwX2kyY19kZXZpY2VzKSk7CisJLyogTU1DICovCisJYXQ5MV9hZGRfZGV2aWNlX21tYygwLCAmeWw5MjAwX21tY19kYXRhKTsKIAkvKiBOQU5EICovCi0JYXQ5MV9hZGRfZGV2aWNlX25hbmQoJnlsXzkyMDBfbmFuZF9kYXRhKTsKKwlhdDkxX2FkZF9kZXZpY2VfbmFuZCgmeWw5MjAwX25hbmRfZGF0YSk7CiAJLyogTk9SIEZsYXNoICovCi0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ5bF85MjAwX2ZsYXNoKTsKLQkvKiBMRURzLiBOb3RlISEgdGhpcyBkb2VzIG5vdCBpbmNsdWRlIHRoZSBsZWQncyB3ZSBwYXNzZWQgZm9yIHRoZSBwcm9jZXNzb3Igc3RhdHVzICovCi0JYXQ5MV9ncGlvX2xlZHMoeWxfOTIwMF9sZWRzLCBBUlJBWV9TSVpFKHlsXzkyMDBfbGVkcykpOwotCS8qIFZHQSAgKi8KLQkvKnRoaXMgaXMgc2VsZiByZWdpc3RlcmVkIGJ5IGluY2x1ZGluZyB0aGUgczFkMTN4eHggY2hpcCBpbiB0aGUga2VybmVsIGJ1aWxkKi8KLQl5bF85MjAwX2FkZF9kZXZpY2VfdmlkZW8oKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnlsOTIwMF9mbGFzaCk7CisjaWYgZGVmaW5lZChDT05GSUdfU1BJX0FUTUVMKSB8fCBkZWZpbmVkKENPTkZJR19TUElfQVRNRUxfTU9EVUxFKQorCS8qIFNQSSAqLworCWF0OTFfYWRkX2RldmljZV9zcGkoeWw5MjAwX3NwaV9kZXZpY2VzLCBBUlJBWV9TSVpFKHlsOTIwMF9zcGlfZGV2aWNlcykpOworCS8qIFRvdWNoc2NyZWVuICovCisJeWw5MjAwX2FkZF9kZXZpY2VfdHMoKTsKKyNlbmRpZgorCS8qIExFRHMuICovCisJYXQ5MV9ncGlvX2xlZHMoeWw5MjAwX2xlZHMsIEFSUkFZX1NJWkUoeWw5MjAwX2xlZHMpKTsKIAkvKiBQdXNoIEJ1dHRvbnMgKi8KLQl5bF85MjAwX2FkZF9kZXZpY2VfYnV0dG9ucygpOwotCS8qVE9ETyBmaXh1cCB0aGUgU291bmRlciAqLwotLy8JeWxfOTIwMF9hZGRfZGV2aWNlX3NvdW5kZXIoeWxfOTIwMF9zb3VuZGVyLEFSUkFZX1NJWkUoeWxfOTIwMF9zb3VuZGVyKSk7Ci0KKwl5bDkyMDBfYWRkX2RldmljZV9idXR0b25zKCk7CisJLyogVkdBICovCisJeWw5MjAwX2FkZF9kZXZpY2VfdmlkZW8oKTsKIH0KIAogTUFDSElORV9TVEFSVChZTDkyMDAsICJ1Q2RyYWdvbiBZTC05MjAwIikKLQkvKiBNYWludGFpbmVyOiBTLkJpcnRsZXMqLwotCS5waHlzX2lvCQk9IEFUOTFfQkFTRV9TWVMsCisJLyogTWFpbnRhaW5lcjogUy5CaXJ0bGVzICovCisJLnBoeXNfaW8JPSBBVDkxX0JBU0VfU1lTLAogCS5pb19wZ19vZmZzdAk9IChBVDkxX1ZBX0JBU0VfU1lTID4+IDE4KSAmIDB4ZmZmYywKIAkuYm9vdF9wYXJhbXMJPSBBVDkxX1NEUkFNX0JBU0UgKyAweDEwMCwKLQkudGltZXIJCQk9ICZhdDkxcm05MjAwX3RpbWVyLAotCS5tYXBfaW8JCQk9IHlsXzkyMDBfbWFwX2lvLAotCS5pbml0X2lycQkJPSB5bF85MjAwX2luaXRfaXJxLAotCS5pbml0X21hY2hpbmUJPSB5bF85MjAwX2JvYXJkX2luaXQsCisJLnRpbWVyCQk9ICZhdDkxcm05MjAwX3RpbWVyLAorCS5tYXBfaW8JCT0geWw5MjAwX21hcF9pbywKKwkuaW5pdF9pcnEJPSB5bDkyMDBfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZQk9IHlsOTIwMF9ib2FyZF9pbml0LAogTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtYXQ5MS9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2Nsb2NrLmMKaW5kZXggYTMzZGZlNC4uNDY0YmRiYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1hdDkxL2Nsb2NrLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1hdDkxL2Nsb2NrLmMKQEAgLTExMiwxMiArMTEyLDM0IEBACiAJCWF0OTFfc3lzX3dyaXRlKEFUOTFfUE1DX1NDRFIsIGNsay0+cG1jX21hc2spOwogfQogCitzdGF0aWMgdm9pZCBwbWNfdWNrcl9tb2RlKHN0cnVjdCBjbGsgKmNsaywgaW50IGlzX29uKQoreworCXVuc2lnbmVkIGludCB1Y2tyID0gYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfVUNLUik7CisKKwlpZiAoaXNfb24pIHsKKwkJaXNfb24gPSBBVDkxX1BNQ19MT0NLVTsKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9DS0dSX1VDS1IsIHVja3IgfCBjbGstPnBtY19tYXNrKTsKKwl9IGVsc2UKKwkJYXQ5MV9zeXNfd3JpdGUoQVQ5MV9DS0dSX1VDS1IsIHVja3IgJiB+KGNsay0+cG1jX21hc2spKTsKKworCWRvIHsKKwkJY3B1X3JlbGF4KCk7CisJfSB3aGlsZSAoKGF0OTFfc3lzX3JlYWQoQVQ5MV9QTUNfU1IpICYgQVQ5MV9QTUNfTE9DS1UpICE9IGlzX29uKTsKK30KKwogLyogVVNCIGZ1bmN0aW9uIGNsb2NrcyAoUExMQiBtdXN0IGJlIDQ4IE1IeikgKi8KIHN0YXRpYyBzdHJ1Y3QgY2xrIHVkcGNrID0gewogCS5uYW1lCQk9ICJ1ZHBjayIsCiAJLnBhcmVudAkJPSAmcGxsYiwKIAkubW9kZQkJPSBwbWNfc3lzX21vZGUsCiB9Oworc3RhdGljIHN0cnVjdCBjbGsgdXRtaV9jbGsgPSB7CisJLm5hbWUJCT0gInV0bWlfY2xrIiwKKwkucGFyZW50CQk9ICZtYWluX2NsaywKKwkucG1jX21hc2sJPSBBVDkxX1BNQ19VUExMRU4sCS8qIGluIENLR1JfVUNLUiAqLworCS5tb2RlCQk9IHBtY191Y2tyX21vZGUsCisJLnR5cGUJCT0gQ0xLX1RZUEVfUExMLAorfTsKIHN0YXRpYyBzdHJ1Y3QgY2xrIHVocGNrID0gewogCS5uYW1lCQk9ICJ1aHBjayIsCiAJLnBhcmVudAkJPSAmcGxsYiwKQEAgLTM2MSw3ICszODMsNyBAQAogCiBzdGF0aWMgaW50IGF0OTFfY2xrX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICp1bnVzZWQpCiB7Ci0JdTMyCQlzY3NyLCBwY3NyLCBzcjsKKwl1MzIJCXNjc3IsIHBjc3IsIHVja3IgPSAwLCBzcjsKIAlzdHJ1Y3QgY2xrCSpjbGs7CiAKIAlzZXFfcHJpbnRmKHMsICJTQ1NSID0gJTh4XG4iLCBzY3NyID0gYXQ5MV9zeXNfcmVhZChBVDkxX1BNQ19TQ1NSKSk7CkBAIC0zNjksNyArMzkxLDEwIEBACiAJc2VxX3ByaW50ZihzLCAiTU9SICA9ICU4eFxuIiwgYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfTU9SKSk7CiAJc2VxX3ByaW50ZihzLCAiTUNGUiA9ICU4eFxuIiwgYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfTUNGUikpOwogCXNlcV9wcmludGYocywgIlBMTEEgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1BMTEFSKSk7Ci0Jc2VxX3ByaW50ZihzLCAiUExMQiA9ICU4eFxuIiwgYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfUExMQlIpKTsKKwlpZiAoIWNwdV9pc19hdDkxc2FtOXJsKCkpCisJCXNlcV9wcmludGYocywgIlBMTEIgPSAlOHhcbiIsIGF0OTFfc3lzX3JlYWQoQVQ5MV9DS0dSX1BMTEJSKSk7CisJaWYgKGNwdV9pc19hdDkxY2FwOSgpIHx8IGNwdV9pc19hdDkxc2FtOXJsKCkpCisJCXNlcV9wcmludGYocywgIlVDS1IgPSAlOHhcbiIsIHVja3IgPSBhdDkxX3N5c19yZWFkKEFUOTFfQ0tHUl9VQ0tSKSk7CiAJc2VxX3ByaW50ZihzLCAiTUNLUiA9ICU4eFxuIiwgYXQ5MV9zeXNfcmVhZChBVDkxX1BNQ19NQ0tSKSk7CiAJc2VxX3ByaW50ZihzLCAiU1IgICA9ICU4eFxuIiwgc3IgPSBhdDkxX3N5c19yZWFkKEFUOTFfUE1DX1NSKSk7CiAKQEAgLTM4Miw2ICs0MDcsOCBAQAogCQkJc3RhdGUgPSAoc2NzciAmIGNsay0+cG1jX21hc2spID8gIm9uIiA6ICJvZmYiOwogCQllbHNlIGlmIChjbGstPm1vZGUgPT0gcG1jX3BlcmlwaF9tb2RlKQogCQkJc3RhdGUgPSAocGNzciAmIGNsay0+cG1jX21hc2spID8gIm9uIiA6ICJvZmYiOworCQllbHNlIGlmIChjbGstPm1vZGUgPT0gcG1jX3Vja3JfbW9kZSkKKwkJCXN0YXRlID0gKHVja3IgJiBjbGstPnBtY19tYXNrKSA/ICJvbiIgOiAib2ZmIjsKIAkJZWxzZSBpZiAoY2xrLT5wbWNfbWFzaykKIAkJCXN0YXRlID0gKHNyICYgY2xrLT5wbWNfbWFzaykgPyAib24iIDogIm9mZiI7CiAJCWVsc2UgaWYgKGNsayA9PSAmY2xrMzJrIHx8IGNsayA9PSAmbWFpbl9jbGspCkBAIC00ODgsMTQgKzUxNSwxOSBAQAogCQkvKgogCQkgKiBQTEwgaW5wdXQgYmV0d2VlbiAxTUh6IGFuZCAzMk1IeiBwZXIgc3BlYywgYnV0IGxvd2VyCiAJCSAqIGZyZXF1ZW5jZXMgc2VlbSBuZWNlc3NhcnkgaW4gc29tZSBjYXNlcyBzbyBhbGxvdyAxMDBLLgorCQkgKiBXYXJuaW5nOiBzb21lIG5ld2VyIHByb2R1Y3RzIG5lZWQgMk1IeiBtaW4uCiAJCSAqLwogCQlpbnB1dCA9IG1haW5fZnJlcSAvIGk7CisJCWlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSAmJiBpbnB1dCA8IDIwMDAwMDApCisJCQljb250aW51ZTsKIAkJaWYgKGlucHV0IDwgMTAwMDAwKQogCQkJY29udGludWU7CiAJCWlmIChpbnB1dCA+IDMyMDAwMDAwKQogCQkJY29udGludWU7CiAKIAkJbXVsMSA9IG91dF9mcmVxIC8gaW5wdXQ7CisJCWlmIChjcHVfaXNfYXQ5MXNhbTlnMjAoKSAmJiBtdWwgPiA2MykKKwkJCWNvbnRpbnVlOwogCQlpZiAobXVsMSA+IDIwNDgpCiAJCQljb250aW51ZTsKIAkJaWYgKG11bDEgPCAyKQpAQCAtNTU1LDcgKzU4Nyw4IEBACiAKIAkvKiByZXBvcnQgaWYgUExMQSBpcyBtb3JlIHRoYW4gbWlsZGx5IG92ZXJjbG9ja2VkICovCiAJcGxsYS5yYXRlX2h6ID0gYXQ5MV9wbGxfcmF0ZSgmcGxsYSwgbWFpbl9jbG9jaywgYXQ5MV9zeXNfcmVhZChBVDkxX0NLR1JfUExMQVIpKTsKLQlpZiAocGxsYS5yYXRlX2h6ID4gMjA5MDAwMDAwKQorCWlmICgoIWNwdV9pc19hdDkxc2FtOWcyMCgpICYmIHBsbGEucmF0ZV9oeiA+IDIwOTAwMDAwMCkKKwkgICB8fCAoY3B1X2lzX2F0OTFzYW05ZzIwKCkgJiYgcGxsYS5yYXRlX2h6ID4gODAwMDAwMDAwKSkKIAkJcHJfaW5mbygiQ2xvY2tzOiBQTExBIG92ZXJjbG9ja2VkLCAlbGQgTUh6XG4iLCBwbGxhLnJhdGVfaHogLyAxMDAwMDAwKTsKIAogCS8qCkBAIC01NzAsNyArNjAzLDcgQEAKIAkJdWhwY2sucG1jX21hc2sgPSBBVDkxUk05MjAwX1BNQ19VSFA7CiAJCXVkcGNrLnBtY19tYXNrID0gQVQ5MVJNOTIwMF9QTUNfVURQOwogCQlhdDkxX3N5c193cml0ZShBVDkxX1BNQ19TQ0VSLCBBVDkxUk05MjAwX1BNQ19NQ0tVRFApOwotCX0gZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05MjYwKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYxKCkgfHwgY3B1X2lzX2F0OTFzYW05MjYzKCkpIHsKKwl9IGVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MSgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpIHx8IGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CiAJCXVocGNrLnBtY19tYXNrID0gQVQ5MVNBTTkyNnhfUE1DX1VIUDsKIAkJdWRwY2sucG1jX21hc2sgPSBBVDkxU0FNOTI2eF9QTUNfVURQOwogCX0gZWxzZSBpZiAoY3B1X2lzX2F0OTFjYXA5KCkpIHsKQEAgLTU4Miw2ICs2MTUsMTcgQEAKIAl1aHBjay5yYXRlX2h6ID0gYXQ5MV91c2JfcmF0ZSgmcGxsYiwgcGxsYi5yYXRlX2h6LCBhdDkxX3BsbGJfdXNiX2luaXQpOwogCiAJLyoKKwkgKiBVU0IgSFMgY2xvY2sgaW5pdAorCSAqLworCWlmIChjcHVfaXNfYXQ5MWNhcDkoKSB8fCBjcHVfaXNfYXQ5MXNhbTlybCgpKSB7CisJCS8qCisJCSAqIG11bHRpcGxpZXIgaXMgaGFyZC13aXJlZCB0byA0MAorCQkgKiAob2J0YWluIHRoZSBVU0IgSGlnaCBTcGVlZCA0ODAgTUh6IHdoZW4gaW5wdXQgaXMgMTIgTUh6KQorCQkgKi8KKwkJdXRtaV9jbGsucmF0ZV9oeiA9IDQwICogdXRtaV9jbGsucGFyZW50LT5yYXRlX2h6OworCX0KKworCS8qCiAJICogTUNLIGFuZCBDUFUgZGVyaXZlIGZyb20gb25lIG9mIHRob3NlIHByaW1hcnkgY2xvY2tzLgogCSAqIEZvciBub3csIGFzc3VtZSB0aGlzIHBhcmVudGFnZSB3b24ndCBjaGFuZ2UuCiAJICovCkBAIC01OTEsMTMgKzYzNSwyMSBAQAogCWZyZXEgLz0gKDEgPDwgKChtY2tyICYgQVQ5MV9QTUNfUFJFUykgPj4gMikpOwkJCQkvKiBwcmVzY2FsZSAqLwogCWlmIChjcHVfaXNfYXQ5MXJtOTIwMCgpKQogCQltY2sucmF0ZV9oeiA9IGZyZXEgLyAoMSArICgobWNrciAmIEFUOTFfUE1DX01ESVYpID4+IDgpKTsJLyogbWRpdiAqLwotCWVsc2UKLQkJbWNrLnJhdGVfaHogPSBmcmVxIC8gKDEgPDwgKChtY2tyICYgQVQ5MV9QTUNfTURJVikgPj4gOCkpOwkvKiBtZGl2ICovCisJZWxzZSBpZiAoY3B1X2lzX2F0OTFzYW05ZzIwKCkpIHsKKwkJbWNrLnJhdGVfaHogPSAobWNrciAmIEFUOTFfUE1DX01ESVYpID8KKwkJCWZyZXEgLyAoKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA+PiA3KSA6IGZyZXE7CS8qIG1kaXYgOyAoeCA+PiA3KSA9ICgoeCA+PiA4KSAqIDIpICovCisJCWlmIChtY2tyICYgQVQ5MV9QTUNfUERJVikKKwkJCWZyZXEgLz0gMjsJCS8qIHByb2Nlc3NvciBjbG9jayBkaXZpc2lvbiAqLworCX0gZWxzZQorCQltY2sucmF0ZV9oeiA9IGZyZXEgLyAoMSA8PCAoKG1ja3IgJiBBVDkxX1BNQ19NRElWKSA+PiA4KSk7ICAgICAgLyogbWRpdiAqLwogCiAJLyogUmVnaXN0ZXIgdGhlIFBNQydzIHN0YW5kYXJkIGNsb2NrcyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHN0YW5kYXJkX3BtY19jbG9ja3MpOyBpKyspCiAJCWxpc3RfYWRkX3RhaWwoJnN0YW5kYXJkX3BtY19jbG9ja3NbaV0tPm5vZGUsICZjbG9ja3MpOwogCisJaWYgKGNwdV9pc19hdDkxY2FwOSgpIHx8IGNwdV9pc19hdDkxc2FtOXJsKCkpCisJCWxpc3RfYWRkX3RhaWwoJnV0bWlfY2xrLm5vZGUsICZjbG9ja3MpOworCiAJLyogTUNLIGFuZCBDUFUgY2xvY2sgYXJlICJhbHdheXMgb24iICovCiAJY2xrX2VuYWJsZSgmbWNrKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1hdDkxL3BtLmMgYi9hcmNoL2FybS9tYWNoLWF0OTEvcG0uYwppbmRleCBhYTg2M2MxLi44YWI0ZmViIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWF0OTEvcG0uYworKysgYi9hcmNoL2FybS9tYWNoLWF0OTEvcG0uYwpAQCAtMjAyLDcgKzIwMiw3IEBACiAJCQlwcl9kZWJ1ZygiQVQ5MTogUE0gLSBTdXNwZW5kLXRvLVJBTSB3aXRoIFVTQiBzdGlsbCBhY3RpdmVcbiIpOwogCQkJcmV0dXJuIDA7CiAJCX0KLQl9IGVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MSgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpKSB7CisJfSBlbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjEoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSB8fCBjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgewogCQlpZiAoKHNjc3IgJiAoQVQ5MVNBTTkyNnhfUE1DX1VIUCB8IEFUOTFTQU05MjZ4X1BNQ19VRFApKSAhPSAwKSB7CiAJCQlwcl9kZWJ1ZygiQVQ5MTogUE0gLSBTdXNwZW5kLXRvLVJBTSB3aXRoIFVTQiBzdGlsbCBhY3RpdmVcbiIpOwogCQkJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWVwOTN4eC9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1lcDkzeHgvY2xvY2suYwppbmRleCA5ZDc1MTVjLi5mNjJjMzU1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWVwOTN4eC9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtZXA5M3h4L2Nsb2NrLmMKQEAgLTc0LDYgKzc0LDcgQEAKIAogCXJldHVybiBFUlJfUFRSKC1FTk9FTlQpOwogfQorRVhQT1JUX1NZTUJPTChjbGtfZ2V0KTsKIAogaW50IGNsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQogewpAQCAtODYsNiArODcsNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKGNsa19lbmFibGUpOwogCiB2b2lkIGNsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKIHsKQEAgLTk2LDE1ICs5OCwxOCBAQAogCQlfX3Jhd193cml0ZWwodmFsdWUgJiB+Y2xrLT5lbmFibGVfbWFzaywgY2xrLT5lbmFibGVfcmVnKTsKIAl9CiB9CitFWFBPUlRfU1lNQk9MKGNsa19kaXNhYmxlKTsKIAogdW5zaWduZWQgbG9uZyBjbGtfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQogewogCXJldHVybiBjbGstPnJhdGU7CiB9CitFWFBPUlRfU1lNQk9MKGNsa19nZXRfcmF0ZSk7CiAKIHZvaWQgY2xrX3B1dChzdHJ1Y3QgY2xrICpjbGspCiB7CiB9CitFWFBPUlRfU1lNQk9MKGNsa19wdXQpOwogCiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL01ha2VmaWxlCmluZGV4IDA2OTRhZDYuLjMyZjg2MDkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvTWFrZWZpbGUKQEAgLTE0LDEyICsxNCwxMCBAQAogcGNpLSQoQ09ORklHX0FSQ0hfTkVUV0lOREVSKSArPSBuZXR3aW5kZXItcGNpLm8KIHBjaS0kKENPTkZJR19BUkNIX1BFUlNPTkFMX1NFUlZFUikgKz0gcGVyc29uYWwtcGNpLm8KIAotbGVkcy0kKENPTkZJR19BUkNIX0NPMjg1KSArPSBlYnNhMjg1LWxlZHMubwogbGVkcy0kKENPTkZJR19BUkNIX0VCU0EyODUpICs9IGVic2EyODUtbGVkcy5vCiBsZWRzLSQoQ09ORklHX0FSQ0hfTkVUV0lOREVSKSArPSBuZXR3aW5kZXItbGVkcy5vCiAKIG9iai0kKENPTkZJR19BUkNIX0NBVFMpICs9IGNhdHMtaHcubyBpc2EtdGltZXIubwotb2JqLSQoQ09ORklHX0FSQ0hfQ08yODUpICs9IGNvMjg1Lm8gZGMyMTI4NS10aW1lci5vCiBvYmotJChDT05GSUdfQVJDSF9FQlNBMjg1KSArPSBlYnNhMjg1Lm8gZGMyMTI4NS10aW1lci5vCiBvYmotJChDT05GSUdfQVJDSF9ORVRXSU5ERVIpICs9IG5ldHdpbmRlci1ody5vIGlzYS10aW1lci5vCiBvYmotJChDT05GSUdfQVJDSF9QRVJTT05BTF9TRVJWRVIpICs9IHBlcnNvbmFsLm8gZGMyMTI4NS10aW1lci5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY28yODUuYyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jbzI4NS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTQ1NTc2Li4wMDAwMDAwCi0tLSBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jbzI4NS5jCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLyoKLSAqIGxpbnV4L2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jbzI4NS5jCi0gKgotICogQ08yODUgbWFjaGluZSBmaXh1cAotICovCi0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotCi0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2RlYzIxMjg1Lmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KLQotI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KLQotI2luY2x1ZGUgImNvbW1vbi5oIgotCi1zdGF0aWMgdm9pZCBfX2luaXQKLWZpeHVwX2NvZWJzYTI4NShzdHJ1Y3QgbWFjaGluZV9kZXNjICpkZXNjLCBzdHJ1Y3QgdGFnICp0YWdzLAotCQljaGFyICoqY21kbGluZSwgc3RydWN0IG1lbWluZm8gKm1pKQotewotCWV4dGVybiB1bnNpZ25lZCBsb25nIGJvb3RfbWVtb3J5X2VuZDsKLQlleHRlcm4gY2hhciBib290X2NvbW1hbmRfbGluZVtdOwotCi0JbWktPm5yX2JhbmtzICAgICAgPSAxOwotCW1pLT5iYW5rWzBdLnN0YXJ0ID0gUEhZU19PRkZTRVQ7Ci0JbWktPmJhbmtbMF0uc2l6ZSAgPSBib290X21lbW9yeV9lbmQ7Ci0JbWktPmJhbmtbMF0ubm9kZSAgPSAwOwotCi0JKmNtZGxpbmUgPSBib290X2NvbW1hbmRfbGluZTsKLX0KLQotTUFDSElORV9TVEFSVChDTzI4NSwgImNvLUVCU0EyODUiKQotCS8qIE1haW50YWluZXI6IE1hcmsgdmFuIERvZXNidXJnICovCi0JLnBoeXNfaW8JPSBEQzIxMjg1X0FSTUNTUl9CQVNFLAotCS5pb19wZ19vZmZzdAk9ICgoMHg3Y2YwMDAwMCkgPj4gMTgpICYgMHhmZmZjLAotCS5maXh1cAkJPSBmaXh1cF9jb2Vic2EyODUsCi0JLm1hcF9pbwkJPSBmb290YnJpZGdlX21hcF9pbywKLQkuaW5pdF9pcnEJPSBmb290YnJpZGdlX2luaXRfaXJxLAotCS50aW1lcgkJPSAmZm9vdGJyaWRnZV90aW1lciwKLU1BQ0hJTkVfRU5ECi0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jb21tb24uYyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9jb21tb24uYwppbmRleCBlZjI5ZmMzLi5iMDhhYjUwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvY29tbW9uLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2NvbW1vbi5jCkBAIC0xNzcsMjUgKzE3Nyw2IEBACiAjZW5kaWYKIH07CiAKLS8qCi0gKiBUaGUgQ08tZWJzYTI4NSBtYXBwaW5nLgotICovCi1zdGF0aWMgc3RydWN0IG1hcF9kZXNjIGNvMjg1X2lvX2Rlc2NbXSBfX2luaXRkYXRhID0gewotI2lmZGVmIENPTkZJR19BUkNIX0NPMjg1Ci0JewotCQkudmlydHVhbAk9IFBDSU9fQkFTRSwKLQkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKERDMjEyODVfUENJX0lPKSwKLQkJLmxlbmd0aAkJPSBQQ0lPX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRSwKLQl9LCB7Ci0JCS52aXJ0dWFsCT0gUENJTUVNX0JBU0UsCi0JCS5wZm4JCT0gX19waHlzX3RvX3BmbihEQzIxMjg1X1BDSV9NRU0pLAotCQkubGVuZ3RoCQk9IFBDSU1FTV9TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UsCi0JfSwKLSNlbmRpZgotfTsKLQogdm9pZCBfX2luaXQgZm9vdGJyaWRnZV9tYXBfaW8odm9pZCkKIHsKIAkvKgpAQCAtMjA4LDggKzE4OSw2IEBACiAJICogTm93LCB3b3JrIG91dCB3aGF0IHdlJ3ZlIGdvdCB0byBtYXAgaW4gYWRkaXRpb24gb24gdGhpcwogCSAqIHBsYXRmb3JtLgogCSAqLwotCWlmIChtYWNoaW5lX2lzX2NvMjg1KCkpCi0JCWlvdGFibGVfaW5pdChjbzI4NV9pb19kZXNjLCBBUlJBWV9TSVpFKGNvMjg1X2lvX2Rlc2MpKTsKIAlpZiAoZm9vdGJyaWRnZV9jZm5fbW9kZSgpKQogCQlpb3RhYmxlX2luaXQoZWJzYTI4NV9ob3N0X2lvX2Rlc2MsIEFSUkFZX1NJWkUoZWJzYTI4NV9ob3N0X2lvX2Rlc2MpKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9lYnNhMjg1LWxlZHMuYyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9lYnNhMjg1LWxlZHMuYwppbmRleCBhNjRlMjIyLi4wOWMxZmJjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvZWJzYTI4NS1sZWRzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2Vic2EyODUtbGVkcy5jCkBAIC0xMjgsNyArMTI4LDcgQEAKIAogc3RhdGljIGludCBfX2luaXQgbGVkc19pbml0KHZvaWQpCiB7Ci0JaWYgKG1hY2hpbmVfaXNfZWJzYTI4NSgpIHx8IG1hY2hpbmVfaXNfY28yODUoKSkKKwlpZiAobWFjaGluZV9pc19lYnNhMjg1KCkpCiAJCWxlZHNfZXZlbnQgPSBlYnNhMjg1X2xlZHNfZXZlbnQ7CiAKIAlsZWRzX2V2ZW50KGxlZF9zdGFydCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvdGltZS5jIGIvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL3RpbWUuYwppbmRleCA1ZDAyZTk1Li5kNWNmY2RhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWZvb3RicmlkZ2UvdGltZS5jCisrKyBiL2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS90aW1lLmMKQEAgLTExNSw4ICsxMTUsNyBAQAogCiB2b2lkIF9faW5pdCBpc2FfcnRjX2luaXQodm9pZCkKIHsKLQlpZiAobWFjaGluZV9pc19jbzI4NSgpIHx8Ci0JICAgIG1hY2hpbmVfaXNfcGVyc29uYWxfc2VydmVyKCkpCisJaWYgKG1hY2hpbmVfaXNfcGVyc29uYWxfc2VydmVyKCkpCiAJCS8qCiAJCSAqIEFkZC1pbiAyMTI4NXMgc2hvdWxkbid0IGFjY2VzcyB0aGUgUlRDCiAJCSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWlteC9NYWtlZmlsZQppbmRleCA4OGQ1ZTYxLi5iMDQ3YzdlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLWlteC9NYWtlZmlsZQpAQCAtNCw3ICs0LDcgQEAKIAogIyBPYmplY3QgZmlsZSBsaXN0cy4KIAotb2JqLXkJCQkrPSBpcnEubyB0aW1lLm8gZG1hLm8gZ2VuZXJpYy5vCitvYmoteQkJCSs9IGlycS5vIHRpbWUubyBkbWEubyBnZW5lcmljLm8gY2xvY2subwogCiBvYmotJChDT05GSUdfQ1BVX0ZSRVFfSU1YKQkrPSBjcHVmcmVxLm8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtaW14L2Nsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE5MGZlNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L2Nsb2NrLmMKQEAgLTAsMCArMSwyMDUgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvbWF0aDY0Lmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisKKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtcmVncy5oPgorCisvKgorICogVmVyeSBzaW1wbGUgYXBwcm9hY2g6IFdlIGNhbid0IGRpc2FibGUgY2xvY2tzLCBzbyB3ZSBkbworICogbm90IG5lZWQgcmVmY291bnRpbmcKKyAqLworCitzdHJ1Y3QgY2xrIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CisJY29uc3QgY2hhciAqbmFtZTsKKwl1bnNpZ25lZCBsb25nICgqZ2V0X3JhdGUpKHZvaWQpOworfTsKKworLyoKKyAqICBnZXQgdGhlIHN5c3RlbSBwbGwgY2xvY2sgaW4gSHoKKyAqCisgKiAgICAgICAgICAgICAgICAgIG1maSArIG1mbiAvIChtZmQgKzEpCisgKiAgZiA9IDIgKiBmX3JlZiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiAgICAgICAgICAgICAgICAgICAgICAgIHBkICsgMQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZGVjb2RlX3BsbCh1bnNpZ25lZCBpbnQgcGxsLCB1MzIgZl9yZWYpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIGxsOworCXVuc2lnbmVkIGxvbmcgcXVvdDsKKworCXUzMiBtZmkgPSAocGxsID4+IDEwKSAmIDB4ZjsKKwl1MzIgbWZuID0gcGxsICYgMHgzZmY7CisJdTMyIG1mZCA9IChwbGwgPj4gMTYpICYgMHgzZmY7CisJdTMyIHBkID0gIChwbGwgPj4gMjYpICYgMHhmOworCisJbWZpID0gbWZpIDw9IDUgPyA1IDogbWZpOworCisJbGwgPSAyICogKHVuc2lnbmVkIGxvbmcgbG9uZylmX3JlZiAqCisJCSgobWZpIDw8IDE2KSArIChtZm4gPDwgMTYpIC8gKG1mZCArIDEpKTsKKwlxdW90ID0gKHBkICsgMSkgKiAoMSA8PCAxNik7CisJbGwgKz0gcXVvdCAvIDI7CisJZG9fZGl2KGxsLCBxdW90KTsKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpbGw7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfc3lzdGVtX2Nsayh2b2lkKQoreworCXUzMiBmX3JlZiA9IChDU0NSICYgQ1NDUl9TWVNURU1fU0VMKSA/IDE2MDAwMDAwIDogKENMSzMyICogNTEyKTsKKworCXJldHVybiBpbXhfZGVjb2RlX3BsbChTUENUTDAsIGZfcmVmKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgaW14X2dldF9tY3VfY2xrKHZvaWQpCit7CisJcmV0dXJuIGlteF9kZWNvZGVfcGxsKE1QQ1RMMCwgQ0xLMzIgKiA1MTIpOworfQorCisvKgorICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDEgKCBVQVJUWzEyXSwgVGltZXJbMTJdLCBQV00gKQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X3BlcmNsazEodm9pZCkKK3sKKwlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSKSAmIDB4ZikrMSk7Cit9CisKKy8qCisgKiAgZ2V0IHBlcmlwaGVyYWwgY2xvY2sgMiAoIExDRCwgU0QsIFNQSVsxMl0gKQorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBpbXhfZ2V0X3BlcmNsazIodm9pZCkKK3sKKwlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSPj40KSAmIDB4ZikrMSk7Cit9CisKKy8qCisgKiAgZ2V0IHBlcmlwaGVyYWwgY2xvY2sgMyAoIFNTSSApCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfcGVyY2xrMyh2b2lkKQoreworCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKFBDRFI+PjE2KSAmIDB4N2YpKzEpOworfQorCisvKgorICogIGdldCBoY2xrICggU0RSQU0sIENTSSwgTWVtb3J5IFN0aWNrLCBJMkMsIERNQSApCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGlteF9nZXRfaGNsayh2b2lkKQoreworCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKENTQ1I+PjEwKSAmIDB4ZikrMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19zeXN0ZW1fY2xrID0geworCS5uYW1lID0gInN5c3RlbV9jbGsiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfc3lzdGVtX2NsaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19oY2xrID0geworCS5uYW1lID0gImhjbGsiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfaGNsaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19tY3VfY2xrID0geworCS5uYW1lID0gIm1jdV9jbGsiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfbWN1X2NsaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa19wZXJjbGsxID0geworCS5uYW1lID0gInBlcmNsazEiLAorCS5nZXRfcmF0ZSA9IGlteF9nZXRfcGVyY2xrMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa191YXJ0X2NsayA9IHsKKwkubmFtZSA9ICJ1YXJ0X2NsayIsCisJLmdldF9yYXRlID0gaW14X2dldF9wZXJjbGsxLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3BlcmNsazIgPSB7CisJLm5hbWUgPSAicGVyY2xrMiIsCisJLmdldF9yYXRlID0gaW14X2dldF9wZXJjbGsyLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3BlcmNsazMgPSB7CisJLm5hbWUgPSAicGVyY2xrMyIsCisJLmdldF9yYXRlID0gaW14X2dldF9wZXJjbGszLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgKmNsa3NbXSA9IHsKKwkmY2xrX3BlcmNsazEsCisJJmNsa19wZXJjbGsyLAorCSZjbGtfcGVyY2xrMywKKwkmY2xrX3N5c3RlbV9jbGssCisJJmNsa19oY2xrLAorCSZjbGtfbWN1X2NsaywKKwkmY2xrX3VhcnRfY2xrLAorfTsKKworc3RhdGljIExJU1RfSEVBRChjbG9ja3MpOworc3RhdGljIERFRklORV9NVVRFWChjbG9ja3NfbXV0ZXgpOworCitzdHJ1Y3QgY2xrICpjbGtfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqaWQpCit7CisJc3RydWN0IGNsayAqcCwgKmNsayA9IEVSUl9QVFIoLUVOT0VOVCk7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQlpZiAoIXN0cmNtcChwLT5uYW1lLCBpZCkpIHsKKwkJCWNsayA9IHA7CisJCQlnb3RvIGZvdW5kOworCQl9CisJfQorCitmb3VuZDoKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gY2xrOworfQorCit2b2lkIGNsa19wdXQoc3RydWN0IGNsayAqY2xrKQoreworfQorCitpbnQgY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworfQorCit1bnNpZ25lZCBsb25nIGNsa19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGNsay0+Z2V0X3JhdGUoKTsKK30KKworaW50IGlteF9jbG9ja3NfaW5pdCh2b2lkKQoreworCWludCBpOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjbGtzKTsgaSsrKQorCQlsaXN0X2FkZCgmY2xrc1tpXS0+bm9kZSwgJmNsb2Nrcyk7CisJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOworCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L2NwdWZyZXEuYyBiL2FyY2gvYXJtL21hY2gtaW14L2NwdWZyZXEuYwppbmRleCBlNTQ4YmE3Li5iZTA4MDliIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9jcHVmcmVxLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvY3B1ZnJlcS5jCkBAIC0zMiw2ICszMiw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgpAQCAtNTIsNiArNTQsOCBAQAogc3RhdGljIHUzMiBtcGN0bDBfYXRfYm9vdDsKIHN0YXRpYyB1MzIgYmNsa19kaXZfYXRfYm9vdDsKIAorc3RhdGljIHN0cnVjdCBjbGsgKnN5c3RlbV9jbGssICptY3VfY2xrOworCiBzdGF0aWMgdm9pZCBpbXhfc2V0X2FzeW5jX21vZGUodm9pZCkKIHsKIAlhZGp1c3RfY3IoQ1JfOTIwVF9DTE9DS19NT0RFLCBDUl85MjBUX0FTWU5DX01PREUpOwpAQCAtMTYwLDEwICsxNjQsMTAgQEAKIAljciA9IGdldF9jcigpOwogCiAJaWYoKGNyICYgQ1JfOTIwVF9DTE9DS19NT0RFKSA9PSBDUl85MjBUX0ZBU1RCVVNfTU9ERSkgewotCQlmcmVxID0gaW14X2dldF9zeXN0ZW1fY2xrKCk7CisJCWZyZXEgPSBjbGtfZ2V0X3JhdGUoc3lzdGVtX2Nsayk7CiAJCWZyZXEgPSAoZnJlcSArIGJjbGtfZGl2LzIpIC8gYmNsa19kaXY7CiAJfSBlbHNlIHsKLQkJZnJlcSA9IGlteF9nZXRfbWN1X2NsaygpOworCQlmcmVxID0gY2xrX2dldF9yYXRlKG1jdV9jbGspOwogCQlpZiAoY3NjciAmIENTQ1JfTVBVX1BSRVNDKQogCQkJZnJlcSAvPSAyOwogCX0KQEAgLTIwMSw3ICsyMDUsNyBAQAogCXByX2RlYnVnKEtFUk5fREVCVUcgImlteDogcmVxdWVzdGVkIGZyZXF1ZW5jeSAlbGQgSHosIG1wY3RsMCBhdCBib290IDB4JTA4eFxuIiwKIAkJCWZyZXEsIG1wY3RsMF9hdF9ib290KTsKIAotCXN5c2NsayA9IGlteF9nZXRfc3lzdGVtX2NsaygpOworCXN5c2NsayA9IGNsa19nZXRfcmF0ZShzeXN0ZW1fY2xrKTsKIAogCWlmIChmcmVxID4gc3lzY2xrIC8gYmNsa19kaXZfYXRfYm9vdCArIDEwMDAwMDApIHsKIAkJZnJlcSA9IGlteF9jb21wdXRlX21wY3RsKCZtcGN0bDAsIG1wY3RsMF9hdF9ib290LCBDTEszMiAqIDUxMiwgZnJlcSwgcmVsYXRpb24pOwpAQCAtMjkwLDYgKzI5NCwxNiBAQAogCWJjbGtfZGl2X2F0X2Jvb3QgPSBfX21mbGQydmFsKENTQ1JfQkNMS19ESVYsIENTQ1IpICsgMTsKIAltcGN0bDBfYXRfYm9vdCA9IDA7CiAKKwlzeXN0ZW1fY2xrID0gY2xrX2dldChOVUxMLCAic3lzdGVtX2NsayIpOworCWlmIChJU19FUlIoc3lzdGVtX2NsaykpCisJCXJldHVybiBQVFJfRVJSKHN5c3RlbV9jbGspOworCisJbWN1X2NsayA9IGNsa19nZXQoTlVMTCwgIm1jdV9jbGsiKTsKKwlpZiAoSVNfRVJSKG1jdV9jbGspKSB7CisJCWNsa19wdXQoc3lzdGVtX2Nsayk7CisJCXJldHVybiBQVFJfRVJSKG1jdV9jbGspOworCX0KKwogCWlmKChDU0NSICYgQ1NDUl9NUEVOKSAmJgogCSAgICgoZ2V0X2NyKCkgJiBDUl85MjBUX0NMT0NLX01PREUpICE9IENSXzkyMFRfRkFTVEJVU19NT0RFKSkKIAkJbXBjdGwwX2F0X2Jvb3QgPSBNUENUTDA7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9kbWEuYyBiL2FyY2gvYXJtL21hY2gtaW14L2RtYS5jCmluZGV4IGE1OWZmMjkuLmVlMWM2ZjAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW14L2RtYS5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L2RtYS5jCkBAIC00MTAsNyArNDEwLDYgQEAKIAogLyoqCiAgKiBpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyAtIGZpbmQgYW5kIHJlcXVlc3Qgc29tZSBvZiBmcmVlIGNoYW5uZWxzIGJlc3Qgc3VpdGluZyByZXF1ZXN0ZWQgcHJpb3JpdHkKLSAqIEBkbWFfY2g6IGkuTVggRE1BIGNoYW5uZWwgbnVtYmVyCiAgKiBAbmFtZTogdGhlIGRyaXZlci9jYWxsZXIgb3duIG5vbi0lTlVMTCBpZGVudGlmaWNhdGlvbgogICogQHByaW86IG9uZSBvZiB0aGUgaGFyZHdhcmUgZGlzdGluZ3Vpc2hlZCBwcmlvcml0eSBsZXZlbDoKICAqICAgICAgICAlRE1BX1BSSU9fSElHSCwgJURNQV9QUklPX01FRElVTSwgJURNQV9QUklPX0xPVwpAQCAtNDIwLDExICs0MTksOSBAQAogICogaW4gdGhlIGhpZ2hlciBhbmQgdGhlbiBldmVuIGxvd2VyIHByaW9yaXR5IGdyb3Vwcy4KICAqCiAgKiBSZXR1cm4gdmFsdWU6IElmIHRoZXJlIGlzIG5vIGZyZWUgY2hhbm5lbCB0byBhbGxvY2F0ZSwgLSVFTk9ERVYgaXMgcmV0dXJuZWQuCi0gKiAgICAgICAgICAgICAgIFplcm8gdmFsdWUgaW5kaWNhdGVzIHN1Y2Nlc3NmdWwgY2hhbm5lbCBhbGxvY2F0aW9uLgorICogICAgICAgICAgICAgICBPbiBzdWNjZXNzZnVsIGFsbG9jYXRpb24gY2hhbm5lbCBpcyByZXR1cm5lZC4KICAqLwotaW50Ci1pbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyhpbXhfZG1hY2hfdCAqIHBkbWFfY2gsIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQlpbXhfZG1hX3ByaW8gcHJpbykKK2lteF9kbWFjaF90IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKGNvbnN0IGNoYXIgKm5hbWUsIGlteF9kbWFfcHJpbyBwcmlvKQogewogCWludCBpOwogCWludCBiZXN0OwpAQCAtNDQ0LDE1ICs0NDEsMTMgQEAKIAogCWZvciAoaSA9IGJlc3Q7IGkgPCBJTVhfRE1BX0NIQU5ORUxTOyBpKyspIHsKIAkJaWYgKCFpbXhfZG1hX3JlcXVlc3QoaSwgbmFtZSkpIHsKLQkJCSpwZG1hX2NoID0gaTsKLQkJCXJldHVybiAwOworCQkJcmV0dXJuIGk7CiAJCX0KIAl9CiAKIAlmb3IgKGkgPSBiZXN0IC0gMTsgaSA+PSAwOyBpLS0pIHsKIAkJaWYgKCFpbXhfZG1hX3JlcXVlc3QoaSwgbmFtZSkpIHsKLQkJCSpwZG1hX2NoID0gaTsKLQkJCXJldHVybiAwOworCQkJcmV0dXJuIGk7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW14L2dlbmVyaWMuYyBiL2FyY2gvYXJtL21hY2gtaW14L2dlbmVyaWMuYwppbmRleCA0Y2ZjOWQzLi45OGRkZDhhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWlteC9nZW5lcmljLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1pbXgvZ2VuZXJpYy5jCkBAIC0yMTQsODIgKzIxNCw2IEBACiAKIEVYUE9SVF9TWU1CT0woaW14X2lycV90b19ncGlvKTsKIAotLyoKLSAqICBnZXQgdGhlIHN5c3RlbSBwbGwgY2xvY2sgaW4gSHoKLSAqCi0gKiAgICAgICAgICAgICAgICAgIG1maSArIG1mbiAvIChtZmQgKzEpCi0gKiAgZiA9IDIgKiBmX3JlZiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKiAgICAgICAgICAgICAgICAgICAgICAgIHBkICsgMQotICovCi1zdGF0aWMgdW5zaWduZWQgaW50IGlteF9kZWNvZGVfcGxsKHVuc2lnbmVkIGludCBwbGwsIHUzMiBmX3JlZikKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGw7Ci0JdW5zaWduZWQgbG9uZyBxdW90OwotCi0JdTMyIG1maSA9IChwbGwgPj4gMTApICYgMHhmOwotCXUzMiBtZm4gPSBwbGwgJiAweDNmZjsKLQl1MzIgbWZkID0gKHBsbCA+PiAxNikgJiAweDNmZjsKLQl1MzIgcGQgPSAgKHBsbCA+PiAyNikgJiAweGY7Ci0KLQltZmkgPSBtZmkgPD0gNSA/IDUgOiBtZmk7Ci0KLQlsbCA9IDIgKiAodW5zaWduZWQgbG9uZyBsb25nKWZfcmVmICogKCAobWZpPDwxNikgKyAobWZuPDwxNikgLyAobWZkKzEpICk7Ci0JcXVvdCA9IChwZCsxKSAqICgxPDwxNik7Ci0JbGwgKz0gcXVvdCAvIDI7Ci0JZG9fZGl2KGxsLCBxdW90KTsKLQlyZXR1cm4gKHVuc2lnbmVkIGludCkgbGw7Ci19Ci0KLXVuc2lnbmVkIGludCBpbXhfZ2V0X3N5c3RlbV9jbGsodm9pZCkKLXsKLQl1MzIgZl9yZWYgPSAoQ1NDUiAmIENTQ1JfU1lTVEVNX1NFTCkgPyAxNjAwMDAwMCA6IChDTEszMiAqIDUxMik7Ci0KLQlyZXR1cm4gaW14X2RlY29kZV9wbGwoU1BDVEwwLCBmX3JlZik7Ci19Ci1FWFBPUlRfU1lNQk9MKGlteF9nZXRfc3lzdGVtX2Nsayk7Ci0KLXVuc2lnbmVkIGludCBpbXhfZ2V0X21jdV9jbGsodm9pZCkKLXsKLQlyZXR1cm4gaW14X2RlY29kZV9wbGwoTVBDVEwwLCBDTEszMiAqIDUxMik7Ci19Ci1FWFBPUlRfU1lNQk9MKGlteF9nZXRfbWN1X2Nsayk7Ci0KLS8qCi0gKiAgZ2V0IHBlcmlwaGVyYWwgY2xvY2sgMSAoIFVBUlRbMTJdLCBUaW1lclsxMl0sIFBXTSApCi0gKi8KLXVuc2lnbmVkIGludCBpbXhfZ2V0X3BlcmNsazEodm9pZCkKLXsKLQlyZXR1cm4gaW14X2dldF9zeXN0ZW1fY2xrKCkgLyAoKChQQ0RSKSAmIDB4ZikrMSk7Ci19Ci1FWFBPUlRfU1lNQk9MKGlteF9nZXRfcGVyY2xrMSk7Ci0KLS8qCi0gKiAgZ2V0IHBlcmlwaGVyYWwgY2xvY2sgMiAoIExDRCwgU0QsIFNQSVsxMl0gKQotICovCi11bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGsyKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUj4+NCkgJiAweGYpKzEpOwotfQotRVhQT1JUX1NZTUJPTChpbXhfZ2V0X3BlcmNsazIpOwotCi0vKgotICogIGdldCBwZXJpcGhlcmFsIGNsb2NrIDMgKCBTU0kgKQotICovCi11bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGszKHZvaWQpCi17Ci0JcmV0dXJuIGlteF9nZXRfc3lzdGVtX2NsaygpIC8gKCgoUENEUj4+MTYpICYgMHg3ZikrMSk7Ci19Ci1FWFBPUlRfU1lNQk9MKGlteF9nZXRfcGVyY2xrMyk7Ci0KLS8qCi0gKiAgZ2V0IGhjbGsgKCBTRFJBTSwgQ1NJLCBNZW1vcnkgU3RpY2ssIEkyQywgRE1BICkKLSAqLwotdW5zaWduZWQgaW50IGlteF9nZXRfaGNsayh2b2lkKQotewotCXJldHVybiBpbXhfZ2V0X3N5c3RlbV9jbGsoKSAvICgoKENTQ1I+PjEwKSAmIDB4ZikrMSk7Ci19Ci1FWFBPUlRfU1lNQk9MKGlteF9nZXRfaGNsayk7Ci0KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgaW14X21tY19yZXNvdXJjZXNbXSA9IHsKIAlbMF0gPSB7CiAJCS5zdGFydAk9IDB4MDAyMTQwMDAsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9teDFhZHMuYyBiL2FyY2gvYXJtL21hY2gtaW14L214MWFkcy5jCmluZGV4IGE5Nzc4YzEuLjk2MzVkNTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW14L214MWFkcy5jCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L214MWFkcy5jCkBAIC02OSw2ICs2OSwxMSBAQAogCQkuZW5kCT0gKFVBUlQxX01JTlRfVFgpLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKIAl9LAorCVszXSA9IHsKKwkJLnN0YXJ0CT0gVUFSVDFfTUlOVF9SVFMsCisJCS5lbmQJPSBVQVJUMV9NSU5UX1JUUywKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGlteF91YXJ0MV9kZXZpY2UgPSB7CkBAIC05Nyw2ICsxMDIsMTEgQEAKIAkJLmVuZAk9IChVQVJUMl9NSU5UX1RYKSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCiAJfSwKKwlbM10gPSB7CisJCS5zdGFydAk9IFVBUlQyX01JTlRfUlRTLAorCQkuZW5kCT0gVUFSVDJfTUlOVF9SVFMsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBpbXhfdWFydDJfZGV2aWNlID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbXgvdGltZS5jIGIvYXJjaC9hcm0vbWFjaC1pbXgvdGltZS5jCmluZGV4IGQ4NmQxMjQuLjVhNDFlOTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW14L3RpbWUuYworKysgYi9hcmNoL2FybS9tYWNoLWlteC90aW1lLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KICNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTg2LDEwICs4NywxMCBAQAogCS5mbGFncwkJPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUywKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGlteF9jbG9ja3NvdXJjZV9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBpbXhfY2xvY2tzb3VyY2VfaW5pdCh1bnNpZ25lZCBsb25nIHJhdGUpCiB7CiAJY2xvY2tzb3VyY2VfaW14Lm11bHQgPQotCQljbG9ja3NvdXJjZV9oejJtdWx0KGlteF9nZXRfcGVyY2xrMSgpLCBjbG9ja3NvdXJjZV9pbXguc2hpZnQpOworCQljbG9ja3NvdXJjZV9oejJtdWx0KHJhdGUsIGNsb2Nrc291cmNlX2lteC5zaGlmdCk7CiAJY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX2lteCk7CiAKIAlyZXR1cm4gMDsKQEAgLTE3NCw5ICsxNzUsOSBAQAogCS5yYXRpbmcJCT0gMjAwLAogfTsKIAotc3RhdGljIGludCBfX2luaXQgaW14X2Nsb2NrZXZlbnRfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgaW14X2Nsb2NrZXZlbnRfaW5pdCh1bnNpZ25lZCBsb25nIHJhdGUpCiB7Ci0JY2xvY2tldmVudF9pbXgubXVsdCA9IGRpdl9zYyhpbXhfZ2V0X3BlcmNsazEoKSwgTlNFQ19QRVJfU0VDLAorCWNsb2NrZXZlbnRfaW14Lm11bHQgPSBkaXZfc2MocmF0ZSwgTlNFQ19QRVJfU0VDLAogCQkJCQljbG9ja2V2ZW50X2lteC5zaGlmdCk7CiAJY2xvY2tldmVudF9pbXgubWF4X2RlbHRhX25zID0KIAkJY2xvY2tldmVudF9kZWx0YTJucygweGZmZmZmZmZlLCAmY2xvY2tldmVudF9pbXgpOwpAQCAtMTkwLDEzICsxOTEsMjMgQEAKIAlyZXR1cm4gMDsKIH0KIAorZXh0ZXJuIGludCBpbXhfY2xvY2tzX2luaXQodm9pZCk7CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBpbXhfdGltZXJfaW5pdCh2b2lkKQogewotCWlteF90aW1lcl9oYXJkd2FyZV9pbml0KCk7Ci0JaW14X2Nsb2Nrc291cmNlX2luaXQoKTsKKwlzdHJ1Y3QgY2xrICpjbGs7CisJdW5zaWduZWQgbG9uZyByYXRlOwogCi0JaW14X2Nsb2NrZXZlbnRfaW5pdCgpOworCWlteF9jbG9ja3NfaW5pdCgpOworCisJY2xrID0gY2xrX2dldChOVUxMLCAicGVyY2xrMSIpOworCWNsa19lbmFibGUoY2xrKTsKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsayk7CisKKwlpbXhfdGltZXJfaGFyZHdhcmVfaW5pdCgpOworCWlteF9jbG9ja3NvdXJjZV9pbml0KHJhdGUpOworCisJaW14X2Nsb2NrZXZlbnRfaW5pdChyYXRlKTsKIAogCS8qCiAJICogTWFrZSBpcnFzIGhhcHBlbiBmb3IgdGhlIHN5c3RlbSB0aW1lcgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1pbnRlZ3JhdG9yL01ha2VmaWxlCmluZGV4IDE1OGRhYWYuLjZhNWVmOGQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvTWFrZWZpbGUKQEAgLTQsNyArNCw3IEBACiAKICMgT2JqZWN0IGZpbGUgbGlzdHMuCiAKLW9iai15CQkJCQk6PSBjbG9jay5vIGNvcmUubyBsbS5vIHRpbWUubworb2JqLXkJCQkJCTo9IGNsb2NrLm8gY29yZS5vIGxtLm8KIG9iai0kKENPTkZJR19BUkNIX0lOVEVHUkFUT1JfQVApCSs9IGludGVncmF0b3JfYXAubwogb2JqLSQoQ09ORklHX0FSQ0hfSU5URUdSQVRPUl9DUCkJKz0gaW50ZWdyYXRvcl9jcC5vCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci90aW1lLmMgYi9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvdGltZS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTA4YTBkLi4wMDAwMDAwCi0tLSBhL2FyY2gvYXJtL21hY2gtaW50ZWdyYXRvci90aW1lLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMjMgKzAsMCBAQAotLyoKLSAqICBsaW51eC9hcmNoL2FybS9tYWNoLWludGVncmF0b3IvdGltZS5jCi0gKgotICogIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0jaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvYW1iYS9idXMuaD4KLQotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCi0jZGVmaW5lIFJUQ19EUgkJKDApCi0jZGVmaW5lIFJUQ19NUgkJKDQpCi0jZGVmaW5lIFJUQ19TVEFUCSg4KQotI2RlZmluZSBSVENfRU9JCQkoOCkKLSNkZWZpbmUgUlRDX0xSCQkoMTIpCi0jZGVmaW5lIFJUQ19DUgkJKDE2KQotI2RlZmluZSBSVENfQ1JfTUlFCSgxIDw8IDApCi0KLWV4dGVybiBpbnQgKCpzZXRfcnRjKSh2b2lkKTsKLXN0YXRpYyB2b2lkIF9faW9tZW0gKnJ0Y19iYXNlOwotCi1zdGF0aWMgaW50IGludGVncmF0b3Jfc2V0X3J0Yyh2b2lkKQotewotCV9fcmF3X3dyaXRlbCh4dGltZS50dl9zZWMsIHJ0Y19iYXNlICsgUlRDX0xSKTsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGludCBpbnRlZ3JhdG9yX3J0Y19yZWFkX2FsYXJtKHN0cnVjdCBydGNfd2thbHJtICphbHJtKQotewotCXJ0Y190aW1lX3RvX3RtKHJlYWRsKHJ0Y19iYXNlICsgUlRDX01SKSwgJmFscm0tPnRpbWUpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBpbnRlZ3JhdG9yX3J0Y19zZXRfYWxhcm0oc3RydWN0IHJ0Y193a2Fscm0gKmFscm0pCi17Ci0JdW5zaWduZWQgbG9uZyB0aW1lOwotCWludCByZXQ7Ci0KLQkvKgotCSAqIEF0IHRoZSBtb21lbnQsIHdlIGNhbiBvbmx5IGRlYWwgd2l0aCBub24td2lsZGNhcmRlZCBhbGFybSB0aW1lcy4KLQkgKi8KLQlyZXQgPSBydGNfdmFsaWRfdG0oJmFscm0tPnRpbWUpOwotCWlmIChyZXQgPT0gMCkKLQkJcmV0ID0gcnRjX3RtX3RvX3RpbWUoJmFscm0tPnRpbWUsICZ0aW1lKTsKLQlpZiAocmV0ID09IDApCi0JCXdyaXRlbCh0aW1lLCBydGNfYmFzZSArIFJUQ19NUik7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBpbnRlZ3JhdG9yX3J0Y19yZWFkX3RpbWUoc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQlydGNfdGltZV90b190bShyZWFkbChydGNfYmFzZSArIFJUQ19EUiksIHRtKTsKLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIFNldCB0aGUgUlRDIHRpbWUuICBVbmZvcnR1bmF0ZWx5LCB3ZSBjYW4ndCBhY2N1cmF0ZWx5IHNldAotICogdGhlIHBvaW50IGF0IHdoaWNoIHRoZSBjb3VudGVyIHVwZGF0ZXMuCi0gKgotICogQWxzbywgc2luY2UgUlRDX0xSIGlzIHRyYW5zZmVycmVkIHRvIFJUQ19DUiBvbiBuZXh0IHJpc2luZwotICogZWRnZSBvZiB0aGUgMUh6IGNsb2NrLCB3ZSBtdXN0IHdyaXRlIHRoZSB0aW1lIG9uZSBzZWNvbmQKLSAqIGluIGFkdmFuY2UuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IGludGVncmF0b3JfcnRjX3NldF90aW1lKHN0cnVjdCBydGNfdGltZSAqdG0pCi17Ci0JdW5zaWduZWQgbG9uZyB0aW1lOwotCWludCByZXQ7Ci0KLQlyZXQgPSBydGNfdG1fdG9fdGltZSh0bSwgJnRpbWUpOwotCWlmIChyZXQgPT0gMCkKLQkJd3JpdGVsKHRpbWUgKyAxLCBydGNfYmFzZSArIFJUQ19MUik7Ci0KLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgc3RydWN0IHJ0Y19vcHMgcnRjX29wcyA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLnJlYWRfdGltZQk9IGludGVncmF0b3JfcnRjX3JlYWRfdGltZSwKLQkuc2V0X3RpbWUJPSBpbnRlZ3JhdG9yX3J0Y19zZXRfdGltZSwKLQkucmVhZF9hbGFybQk9IGludGVncmF0b3JfcnRjX3JlYWRfYWxhcm0sCi0JLnNldF9hbGFybQk9IGludGVncmF0b3JfcnRjX3NldF9hbGFybSwKLX07Ci0KLXN0YXRpYyBpcnFyZXR1cm5fdCBhcm1fcnRjX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCi17Ci0Jd3JpdGVsKDAsIHJ0Y19iYXNlICsgUlRDX0VPSSk7Ci0JcmV0dXJuIElSUV9IQU5ETEVEOwotfQotCi1zdGF0aWMgaW50IHJ0Y19wcm9iZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldiwgdm9pZCAqaWQpCi17Ci0JaW50IHJldDsKLQotCWlmIChydGNfYmFzZSkKLQkJcmV0dXJuIC1FQlVTWTsKLQotCXJldCA9IGFtYmFfcmVxdWVzdF9yZWdpb25zKGRldiwgTlVMTCk7Ci0JaWYgKHJldCkKLQkJZ290byBvdXQ7Ci0KLQlydGNfYmFzZSA9IGlvcmVtYXAoZGV2LT5yZXMuc3RhcnQsIFNaXzRLKTsKLQlpZiAoIXJ0Y19iYXNlKSB7Ci0JCXJldCA9IC1FTk9NRU07Ci0JCWdvdG8gcmVzX291dDsKLQl9Ci0KLQlfX3Jhd193cml0ZWwoMCwgcnRjX2Jhc2UgKyBSVENfQ1IpOwotCV9fcmF3X3dyaXRlbCgwLCBydGNfYmFzZSArIFJUQ19FT0kpOwotCi0JeHRpbWUudHZfc2VjID0gX19yYXdfcmVhZGwocnRjX2Jhc2UgKyBSVENfRFIpOwotCi0JLyogbm90ZSB0aGF0ICdkZXYnIGlzIG1lcmVseSB1c2VkIGZvciBpcnEgZGlzYW1iaWd1YXRpb247Ci0JICogaXQgaXMgbm90IGFjdHVhbGx5IHJlZmVyZW5jZWQgaW4gdGhlIGlycSBoYW5kbGVyCi0JICovCi0JcmV0ID0gcmVxdWVzdF9pcnEoZGV2LT5pcnFbMF0sIGFybV9ydGNfaW50ZXJydXB0LCBJUlFGX0RJU0FCTEVELAotCQkJICAicnRjLXBsMDMwIiwgZGV2KTsKLQlpZiAocmV0KQotCQlnb3RvIG1hcF9vdXQ7Ci0KLQlyZXQgPSByZWdpc3Rlcl9ydGMoJnJ0Y19vcHMpOwotCWlmIChyZXQpCi0JCWdvdG8gaXJxX291dDsKLQotCXNldF9ydGMgPSBpbnRlZ3JhdG9yX3NldF9ydGM7Ci0JcmV0dXJuIDA7Ci0KLSBpcnFfb3V0OgotCWZyZWVfaXJxKGRldi0+aXJxWzBdLCBkZXYpOwotIG1hcF9vdXQ6Ci0JaW91bm1hcChydGNfYmFzZSk7Ci0JcnRjX2Jhc2UgPSBOVUxMOwotIHJlc19vdXQ6Ci0JYW1iYV9yZWxlYXNlX3JlZ2lvbnMoZGV2KTsKLSBvdXQ6Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBydGNfcmVtb3ZlKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2KQotewotCXNldF9ydGMgPSBOVUxMOwotCi0Jd3JpdGVsKDAsIHJ0Y19iYXNlICsgUlRDX0NSKTsKLQotCWZyZWVfaXJxKGRldi0+aXJxWzBdLCBkZXYpOwotCXVucmVnaXN0ZXJfcnRjKCZydGNfb3BzKTsKLQotCWlvdW5tYXAocnRjX2Jhc2UpOwotCXJ0Y19iYXNlID0gTlVMTDsKLQlhbWJhX3JlbGVhc2VfcmVnaW9ucyhkZXYpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgdGltZXNwZWMgcnRjX2RlbHRhOwotCi1zdGF0aWMgaW50IHJ0Y19zdXNwZW5kKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCi17Ci0Jc3RydWN0IHRpbWVzcGVjIHJ0YzsKLQotCXJ0Yy50dl9zZWMgPSByZWFkbChydGNfYmFzZSArIFJUQ19EUik7Ci0JcnRjLnR2X25zZWMgPSAwOwotCXNhdmVfdGltZV9kZWx0YSgmcnRjX2RlbHRhLCAmcnRjKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHJ0Y19yZXN1bWUoc3RydWN0IGFtYmFfZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IHRpbWVzcGVjIHJ0YzsKLQotCXJ0Yy50dl9zZWMgPSByZWFkbChydGNfYmFzZSArIFJUQ19EUik7Ci0JcnRjLnR2X25zZWMgPSAwOwotCXJlc3RvcmVfdGltZV9kZWx0YSgmcnRjX2RlbHRhLCAmcnRjKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IGFtYmFfaWQgcnRjX2lkc1tdID0gewotCXsKLQkJLmlkCT0gMHgwMDA0MTAzMCwKLQkJLm1hc2sJPSAweDAwMGZmZmZmLAotCX0sCi0JeyAwLCAwIH0sCi19OwotCi1zdGF0aWMgc3RydWN0IGFtYmFfZHJpdmVyIHJ0Y19kcml2ZXIgPSB7Ci0JLmRydgkJPSB7Ci0JCS5uYW1lCT0gInJ0Yy1wbDAzMCIsCi0JfSwKLQkucHJvYmUJCT0gcnRjX3Byb2JlLAotCS5yZW1vdmUJCT0gcnRjX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHJ0Y19zdXNwZW5kLAotCS5yZXN1bWUJCT0gcnRjX3Jlc3VtZSwKLQkuaWRfdGFibGUJPSBydGNfaWRzLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaW50ZWdyYXRvcl9ydGNfaW5pdCh2b2lkKQotewotCXJldHVybiBhbWJhX2RyaXZlcl9yZWdpc3RlcigmcnRjX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpbnRlZ3JhdG9yX3J0Y19leGl0KHZvaWQpCi17Ci0JYW1iYV9kcml2ZXJfdW5yZWdpc3RlcigmcnRjX2RyaXZlcik7Ci19Ci0KLW1vZHVsZV9pbml0KGludGVncmF0b3JfcnRjX2luaXQpOwotbW9kdWxlX2V4aXQoaW50ZWdyYXRvcl9ydGNfZXhpdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvS2NvbmZpZwppbmRleCBlNzc0NDQ3Li5kYjhiNWZlIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L0tjb25maWcKQEAgLTEyNSw2ICsxMjUsMTUgQEAKIAlkZXBlbmRzIG9uIEFSQ0hfSVhEUDQyNSB8fCBNQUNIX0lYRFA0NjUgfHwgTUFDSF9LSVhSUDQzNQogCWRlZmF1bHQgeQogCitjb25maWcgTUFDSF9GU0cKKwlib29sCisJcHJvbXB0ICJGcmVlY29tIEZTRy0zIgorCXNlbGVjdCBQQ0kKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCBGcmVlY29tJ3MKKwkgIEZTRy0zIGRldmljZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBwbGF0Zm9ybSwKKwkgIHNlZSBodHRwOi8vd3d3Lm5zbHUyLWxpbnV4Lm9yZy93aWtpL0ZTRzMvSG9tZVBhZ2UKKwogIwogIyBDZXJ0YWluIHJlZ2lzdGVycyBhbmQgSVJRcyBhcmUgb25seSBlbmFibGVkIGlmIHN1cHBvcnRpbmcgSVhQNDY1IENQVXMKICMKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvTWFrZWZpbGUKaW5kZXggYzE5NTY4OC4uMmU2YmJmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1peHA0eHgvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvTWFrZWZpbGUKQEAgLTE1LDYgKzE1LDcgQEAKIG9iai1wY2ktJChDT05GSUdfTUFDSF9EU01HNjAwKQkJKz0gZHNtZzYwMC1wY2kubwogb2JqLXBjaS0kKENPTkZJR19NQUNIX0dBVEVXQVk3MDAxKQkrPSBnYXRld2F5NzAwMS1wY2kubwogb2JqLXBjaS0kKENPTkZJR19NQUNIX1dHMzAyVjIpCQkrPSB3ZzMwMnYyLXBjaS5vCitvYmotcGNpLSQoQ09ORklHX01BQ0hfRlNHKQkJKz0gZnNnLXBjaS5vCiAKIG9iai15CSs9IGNvbW1vbi5vCiAKQEAgLTI4LDYgKzI5LDcgQEAKIG9iai0kKENPTkZJR19NQUNIX0RTTUc2MDApICAgICAgKz0gZHNtZzYwMC1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9HQVRFV0FZNzAwMSkJKz0gZ2F0ZXdheTcwMDEtc2V0dXAubwogb2JqLSQoQ09ORklHX01BQ0hfV0czMDJWMikJKz0gd2czMDJ2Mi1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9GU0cpCQkrPSBmc2ctc2V0dXAubwogCiBvYmotJChDT05GSUdfUENJKQkJKz0gJChvYmotcGNpLSQoQ09ORklHX1BDSSkpIGNvbW1vbi1wY2kubwogb2JqLSQoQ09ORklHX0lYUDRYWF9RTUdSKQkrPSBpeHA0eHhfcW1nci5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9jb21tb24uYyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2NvbW1vbi5jCmluZGV4IGY2ZDY2ZGMuLjM3ODFiM2QgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L2NvbW1vbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2NvbW1vbi5jCkBAIC0zMjYsMTEgKzMyNiwxMSBAQAogfTsKIAogLyoKLSAqIFVTQiBkZXZpY2UgY29udHJvbGxlci4gVGhlIElYUDR4eCB1c2VzIHRoZSBzYW1lIGNvbnRyb2xsZXIgYXMgUFhBMlhYLAorICogVVNCIGRldmljZSBjb250cm9sbGVyLiBUaGUgSVhQNHh4IHVzZXMgdGhlIHNhbWUgY29udHJvbGxlciBhcyBQWEEyNVgsCiAgKiBzbyB3ZSBqdXN0IHVzZSB0aGUgc2FtZSBkZXZpY2UuCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGl4cDR4eF91ZGNfZGV2aWNlID0gewotCS5uYW1lICAgICAgICAgICA9ICJweGEyeHgtdWRjIiwKKwkubmFtZSAgICAgICAgICAgPSAicHhhMjV4LXVkYyIsCiAJLmlkICAgICAgICAgICAgID0gLTEsCiAJLm51bV9yZXNvdXJjZXMgID0gMiwKIAkucmVzb3VyY2UgICAgICAgPSBpeHA0eHhfdWRjX3Jlc291cmNlcywKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1wY2kuYyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1wY2kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTlmM2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1peHA0eHgvZnNnLXBjaS5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBhcmNoL2FyY2gvbWFjaC1peHA0eHgvZnNnLXBjaS5jCisgKgorICogRlNHIGJvYXJkLWxldmVsIFBDSSBpbml0aWFsaXphdGlvbgorICoKKyAqIEF1dGhvcjogUm9kIFdoaXRieSA8cm9kQHdoaXRieS5pZC5hdT4KKyAqIE1haW50YWluZXI6IGh0dHA6Ly93d3cubnNsdTItbGludXgub3JnLworICoKKyAqIGJhc2VkIG9uIGl4ZHA0MjUtcGNpLmM6CisgKglDb3B5cmlnaHQgKEMpIDIwMDIgSW50ZWwgQ29ycG9yYXRpb24uCisgKglDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNCBNb250YVZpc3RhIFNvZnR3YXJlLCBJbmMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKK3ZvaWQgX19pbml0IGZzZ19wY2lfcHJlaW5pdCh2b2lkKQoreworCXNldF9pcnFfdHlwZShJUlFfRlNHX1BDSV9JTlRBLCBJUlFUX0xPVyk7CisJc2V0X2lycV90eXBlKElSUV9GU0dfUENJX0lOVEIsIElSUVRfTE9XKTsKKwlzZXRfaXJxX3R5cGUoSVJRX0ZTR19QQ0lfSU5UQywgSVJRVF9MT1cpOworCisJaXhwNHh4X3BjaV9wcmVpbml0KCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGZzZ19tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlzdGF0aWMgaW50IHBjaV9pcnFfdGFibGVbRlNHX1BDSV9JUlFfTElORVNdID0geworCQlJUlFfRlNHX1BDSV9JTlRDLAorCQlJUlFfRlNHX1BDSV9JTlRCLAorCQlJUlFfRlNHX1BDSV9JTlRBLAorCX07CisKKwlpbnQgaXJxID0gLTE7CisJc2xvdCA9IHNsb3QgLSAxMTsKKworCWlmIChzbG90ID49IDEgJiYgc2xvdCA8PSBGU0dfUENJX01BWF9ERVYgJiYKKwkgICAgcGluID49IDEgJiYgcGluIDw9IEZTR19QQ0lfSVJRX0xJTkVTKQorCQlpcnEgPSBwY2lfaXJxX3RhYmxlWyhzbG90IC0gMSldOworCXByaW50ayhLRVJOX0lORk8gIiVzOiBNYXBwZWQgc2xvdCAlZCBwaW4gJWQgdG8gSVJRICVkXG4iLAorCSAgICAgICBfX2Z1bmNfXywgc2xvdCwgcGluLCBpcnEpOworCisJcmV0dXJuIGlycTsKK30KKworc3RydWN0IGh3X3BjaSBmc2dfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzID0gMSwKKwkucHJlaW5pdCA9CSAgZnNnX3BjaV9wcmVpbml0LAorCS5zd2l6emxlID0JICBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwID0JICBpeHA0eHhfc2V0dXAsCisJLnNjYW4gPQkJICBpeHA0eHhfc2Nhbl9idXMsCisJLm1hcF9pcnEgPQkgIGZzZ19tYXBfaXJxLAorfTsKKworaW50IF9faW5pdCBmc2dfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19mc2coKSkKKwkJcGNpX2NvbW1vbl9pbml0KCZmc2dfcGNpKTsKKwlyZXR1cm4gMDsKK30KKworc3Vic3lzX2luaXRjYWxsKGZzZ19wY2lfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkYjNhOTAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWl4cDR4eC9mc2ctc2V0dXAuYwpAQCAtMCwwICsxLDI3NiBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtaXhwNHh4L2ZzZy1zZXR1cC5jCisgKgorICogRlNHIGJvYXJkLXNldHVwCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFJvZCBXaGl0YnkgPHJvZEB3aGl0YnkuaWQuYXU+CisgKgorICogYmFzZWQgb24gaXhkcDQyNS1zZXR1cC5jOgorICoJQ29weXJpZ2h0IChDKSAyMDAzLTIwMDQgTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLgorICogYmFzZWQgb24gbnNsdTItcG93ZXIuYworICoJQ29weXJpZ2h0IChDKSAyMDA1IFRvd2VyIFRlY2hub2xvZ2llcworICoKKyAqIEF1dGhvcjogUm9kIFdoaXRieSA8cm9kQHdoaXRieS5pZC5hdT4KKyAqIE1haW50YWluZXJzOiBodHRwOi8vd3d3Lm5zbHUyLWxpbnV4Lm9yZy8KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsXzgyNTAuaD4KKyNpbmNsdWRlIDxsaW51eC9sZWRzLmg+CisjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLWdwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2ZsYXNoLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKworc3RhdGljIHN0cnVjdCBmbGFzaF9wbGF0Zm9ybV9kYXRhIGZzZ19mbGFzaF9kYXRhID0geworCS5tYXBfbmFtZQkJPSAiY2ZpX3Byb2JlIiwKKwkud2lkdGgJCQk9IDIsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGZzZ19mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCQk9IElPUkVTT1VSQ0VfTUVNLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZnNnX2ZsYXNoID0geworCS5uYW1lCQkJPSAiSVhQNFhYLUZsYXNoIiwKKwkuaWQJCQk9IDAsCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmZnNnX2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwkJPSAxLAorCS5yZXNvdXJjZQkJPSAmZnNnX2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfZ3Bpb19wbGF0Zm9ybV9kYXRhIGZzZ19pMmNfZ3Bpb19kYXRhID0geworCS5zZGFfcGluCQk9IEZTR19TREFfUElOLAorCS5zY2xfcGluCQk9IEZTR19TQ0xfUElOLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZnNnX2kyY19ncGlvID0geworCS5uYW1lCQkJPSAiaTJjLWdwaW8iLAorCS5pZAkJCT0gMCwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YQk9ICZmc2dfaTJjX2dwaW9fZGF0YSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIGZzZ19pMmNfYm9hcmRfaW5mbyBbXSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJydGMtaXNsMTIwOCIsIDB4NmYpLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGZzZ191YXJ0X3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IElYUDRYWF9VQVJUMV9CQVNFX1BIWVMsCisJCS5lbmQJCT0gSVhQNFhYX1VBUlQxX0JBU0VfUEhZUyArIDB4MGZmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJeworCQkuc3RhcnQJCT0gSVhQNFhYX1VBUlQyX0JBU0VfUEhZUywKKwkJLmVuZAkJPSBJWFA0WFhfVUFSVDJfQkFTRV9QSFlTICsgMHgwZmZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBmc2dfdWFydF9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IElYUDRYWF9VQVJUMV9CQVNFX1BIWVMsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilJWFA0WFhfVUFSVDFfQkFTRV9WSVJUICsgUkVHX09GRlNFVCwKKwkJLmlycQkJPSBJUlFfSVhQNFhYX1VBUlQxLAorCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYgfCBVUEZfU0tJUF9URVNULAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IElYUDRYWF9VQVJUX1hUQUwsCisJfSwKKwl7CisJCS5tYXBiYXNlCT0gSVhQNFhYX1VBUlQyX0JBU0VfUEhZUywKKwkJLm1lbWJhc2UJPSAoY2hhciAqKUlYUDRYWF9VQVJUMl9CQVNFX1ZJUlQgKyBSRUdfT0ZGU0VULAorCQkuaXJxCQk9IElSUV9JWFA0WFhfVUFSVDIsCisJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiB8IFVQRl9TS0lQX1RFU1QsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gSVhQNFhYX1VBUlRfWFRBTCwKKwl9LAorCXsgfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZnNnX3VhcnQgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IFBMQVQ4MjUwX0RFVl9QTEFURk9STSwKKwkuZGV2ID0geworCQkucGxhdGZvcm1fZGF0YQk9IGZzZ191YXJ0X2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGZzZ191YXJ0X3Jlc291cmNlcyksCisJLnJlc291cmNlCQk9IGZzZ191YXJ0X3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGZzZ19sZWRzID0geworCS5uYW1lCQk9ICJmc2ctbGVkIiwKKwkuaWQJCT0gLTEsCit9OworCisvKiBCdWlsdC1pbiAxMC8xMDAgRXRoZXJuZXQgTUFDIGludGVyZmFjZXMgKi8KK3N0YXRpYyBzdHJ1Y3QgZXRoX3BsYXRfaW5mbyBmc2dfcGxhdF9ldGhbXSA9IHsKKwl7CisJCS5waHkJCT0gNSwKKwkJLnJ4cQkJPSAzLAorCQkudHhyZWFkeXEJPSAyMCwKKwl9LCB7CisJCS5waHkJCT0gNCwKKwkJLnJ4cQkJPSA0LAorCQkudHhyZWFkeXEJPSAyMSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBmc2dfZXRoW10gPSB7CisJeworCQkubmFtZQkJCT0gIml4cDR4eF9ldGgiLAorCQkuaWQJCQk9IElYUDRYWF9FVEhfTlBFQiwKKwkJLmRldiA9IHsKKwkJCS5wbGF0Zm9ybV9kYXRhCT0gZnNnX3BsYXRfZXRoLAorCQl9LAorCX0sIHsKKwkJLm5hbWUJCQk9ICJpeHA0eHhfZXRoIiwKKwkJLmlkCQkJPSBJWFA0WFhfRVRIX05QRUMsCisJCS5kZXYgPSB7CisJCQkucGxhdGZvcm1fZGF0YQk9IGZzZ19wbGF0X2V0aCArIDEsCisJCX0sCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmZzZ19kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmZnNnX2kyY19ncGlvLAorCSZmc2dfZmxhc2gsCisJJmZzZ19sZWRzLAorCSZmc2dfZXRoWzBdLAorCSZmc2dfZXRoWzFdLAorfTsKKworc3RhdGljIGlycXJldHVybl90IGZzZ19wb3dlcl9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwkvKiBTaWduYWwgaW5pdCB0byBkbyB0aGUgY3RybGFsdGRlbCBhY3Rpb24sIHRoaXMgd2lsbCBieXBhc3MgaW5pdCBpZgorCSAqIGl0IGhhc24ndCBzdGFydGVkIGFuZCBkbyBhIGtlcm5lbF9yZXN0YXJ0LgorCSAqLworCWN0cmxfYWx0X2RlbCgpOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3QgZnNnX3Jlc2V0X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCS8qIFRoaXMgaXMgdGhlIHBhcGVyLWNsaXAgcmVzZXQgd2hpY2ggZG9lcyBhbiBlbWVyZ2VuY3kgcmVib290LiAqLworCXByaW50ayhLRVJOX0lORk8gIlJlc3RhcnRpbmcgc3lzdGVtLlxuIik7CisJbWFjaGluZV9yZXN0YXJ0KE5VTEwpOworCisJLyogVGhpcyBzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZC4gKi8KKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmc2dfaW5pdCh2b2lkKQoreworCURFQ0xBUkVfTUFDX0JVRihtYWNfYnVmKTsKKwl1aW50OF90IF9faW9tZW0gKmY7CisJaW50IGk7CisKKwlpeHA0eHhfc3lzX2luaXQoKTsKKworCWZzZ19mbGFzaF9yZXNvdXJjZS5zdGFydCA9IElYUDRYWF9FWFBfQlVTX0JBU0UoMCk7CisJZnNnX2ZsYXNoX3Jlc291cmNlLmVuZCA9CisJCUlYUDRYWF9FWFBfQlVTX0JBU0UoMCkgKyBpeHA0eHhfZXhwX2J1c19zaXplIC0gMTsKKworCSpJWFA0WFhfRVhQX0NTMCB8PSBJWFA0WFhfRkxBU0hfV1JJVEFCTEU7CisJKklYUDRYWF9FWFBfQ1MxID0gKklYUDRYWF9FWFBfQ1MwOworCisJLyogQ29uZmlndXJlIENTMiBmb3Igb3BlcmF0aW9uLCA4Yml0IGFuZCB3cml0YWJsZSAqLworCSpJWFA0WFhfRVhQX0NTMiA9IDB4YmZmZjAwMDI7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBmc2dfaTJjX2JvYXJkX2luZm8sCisJCQkJQVJSQVlfU0laRShmc2dfaTJjX2JvYXJkX2luZm8pKTsKKworCS8qIFRoaXMgaXMgb25seSB1c2VmdWwgb24gYSBtb2RpZmllZCBtYWNoaW5lLCBidXQgaXQgaXMgdmFsdWFibGUKKwkgKiB0byBoYXZlIGl0IGZpcnN0IGluIG9yZGVyIHRvIHNlZSBkZWJ1ZyBtZXNzYWdlcywgYW5kIHNvIHRoYXQKKwkgKiBpdCBkb2VzICpub3QqIGdldCByZW1vdmVkIGlmIHBsYXRmb3JtX2FkZF9kZXZpY2VzIGZhaWxzIQorCSAqLworCSh2b2lkKXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZnNnX3VhcnQpOworCisJcGxhdGZvcm1fYWRkX2RldmljZXMoZnNnX2RldmljZXMsIEFSUkFZX1NJWkUoZnNnX2RldmljZXMpKTsKKworCWlmIChyZXF1ZXN0X2lycShncGlvX3RvX2lycShGU0dfUkJfR1BJTyksICZmc2dfcmVzZXRfaGFuZGxlciwKKwkJCUlSUUZfRElTQUJMRUQgfCBJUlFGX1RSSUdHRVJfTE9XLAorCQkJIkZTRyByZXNldCBidXR0b24iLCBOVUxMKSA8IDApIHsKKworCQlwcmludGsoS0VSTl9ERUJVRyAiUmVzZXQgQnV0dG9uIElSUSAlZCBub3QgYXZhaWxhYmxlXG4iLAorCQkJZ3Bpb190b19pcnEoRlNHX1JCX0dQSU8pKTsKKwl9CisKKwlpZiAocmVxdWVzdF9pcnEoZ3Bpb190b19pcnEoRlNHX1NCX0dQSU8pLCAmZnNnX3Bvd2VyX2hhbmRsZXIsCisJCQlJUlFGX0RJU0FCTEVEIHwgSVJRRl9UUklHR0VSX0xPVywKKwkJCSJGU0cgcG93ZXIgYnV0dG9uIiwgTlVMTCkgPCAwKSB7CisKKwkJcHJpbnRrKEtFUk5fREVCVUcgIlBvd2VyIEJ1dHRvbiBJUlEgJWQgbm90IGF2YWlsYWJsZVxuIiwKKwkJCWdwaW9fdG9faXJxKEZTR19TQl9HUElPKSk7CisJfQorCisJLyoKKwkgKiBNYXAgaW4gYSBwb3J0aW9uIG9mIHRoZSBmbGFzaCBhbmQgcmVhZCB0aGUgTUFDIGFkZHJlc3Nlcy4KKwkgKiBTaW5jZSBpdCBpcyBzdG9yZWQgaW4gQkUgaW4gdGhlIGZsYXNoIGl0c2VsZiwgd2UgbmVlZCB0bworCSAqIGJ5dGVzd2FwIGl0IGlmIHdlJ3JlIGluIExFIG1vZGUuCisJICovCisJZiA9IGlvcmVtYXAoSVhQNFhYX0VYUF9CVVNfQkFTRSgwKSwgMHg0MDAwMDApOworCWlmIChmKSB7CisjaWZkZWYgX19BUk1FQl9fCisJCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspIHsKKwkJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbaV0gPSByZWFkYihmICsgMHgzQzA0MjIgKyBpKTsKKwkJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbaV0gPSByZWFkYihmICsgMHgzQzA0M0IgKyBpKTsKKwkJfQorI2Vsc2UKKworCQkvKgorCQkgIEVuZGlhbi1zd2FwcGVkIHJlYWRzIGZyb20gdW5hbGlnbmVkIGFkZHJlc3NlcyBhcmUKKwkJICByZXF1aXJlZCB0byBleHRyYWN0IHRoZSB0d28gTUFDcyBmcm9tIHRoZSBiaWctZW5kaWFuCisJCSAgUmVkYm9vdCBjb25maWcgYXJlYSBpbiBmbGFzaC4KKwkJKi8KKworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzBdID0gcmVhZGIoZiArIDB4M0MwNDIxKTsKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkclsxXSA9IHJlYWRiKGYgKyAweDNDMDQyMCk7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbMl0gPSByZWFkYihmICsgMHgzQzA0MjcpOworCQlmc2dfcGxhdF9ldGhbMF0uaHdhZGRyWzNdID0gcmVhZGIoZiArIDB4M0MwNDI2KTsKKwkJZnNnX3BsYXRfZXRoWzBdLmh3YWRkcls0XSA9IHJlYWRiKGYgKyAweDNDMDQyNSk7CisJCWZzZ19wbGF0X2V0aFswXS5od2FkZHJbNV0gPSByZWFkYihmICsgMHgzQzA0MjQpOworCisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbMF0gPSByZWFkYihmICsgMHgzQzA0MzkpOworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzFdID0gcmVhZGIoZiArIDB4M0MwNDNGKTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkclsyXSA9IHJlYWRiKGYgKyAweDNDMDQzRSk7CisJCWZzZ19wbGF0X2V0aFsxXS5od2FkZHJbM10gPSByZWFkYihmICsgMHgzQzA0M0QpOworCQlmc2dfcGxhdF9ldGhbMV0uaHdhZGRyWzRdID0gcmVhZGIoZiArIDB4M0MwNDNDKTsKKwkJZnNnX3BsYXRfZXRoWzFdLmh3YWRkcls1XSA9IHJlYWRiKGYgKyAweDNDMDQ0Myk7CisjZW5kaWYKKwkJaW91bm1hcChmKTsKKwl9CisJcHJpbnRrKEtFUk5fSU5GTyAiRlNHOiBVc2luZyBNQUMgYWRkcmVzcyAlcyBmb3IgcG9ydCAwXG4iLAorCSAgICAgICBwcmludF9tYWMobWFjX2J1ZiwgZnNnX3BsYXRfZXRoWzBdLmh3YWRkcikpOworCXByaW50ayhLRVJOX0lORk8gIkZTRzogVXNpbmcgTUFDIGFkZHJlc3MgJXMgZm9yIHBvcnQgMVxuIiwKKwkgICAgICAgcHJpbnRfbWFjKG1hY19idWYsIGZzZ19wbGF0X2V0aFsxXS5od2FkZHIpKTsKKworfQorCitNQUNISU5FX1NUQVJUKEZTRywgIkZyZWVjb20gRlNHLTMiKQorCS8qIE1haW50YWluZXI6IHd3dy5uc2x1Mi1saW51eC5vcmcgKi8KKwkucGh5c19pbwk9IElYUDRYWF9QRVJJUEhFUkFMX0JBU0VfUEhZUywKKwkuaW9fcGdfb2Zmc3QJPSAoKElYUDRYWF9QRVJJUEhFUkFMX0JBU0VfVklSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5tYXBfaW8JCT0gaXhwNHh4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBpeHA0eHhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZpeHA0eHhfdGltZXIsCisJLmJvb3RfcGFyYW1zCT0gMHgwMTAwLAorCS5pbml0X21hY2hpbmUJPSBmc2dfaW5pdCwKK01BQ0hJTkVfRU5ECisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjAwY2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9LY29uZmlnCkBAIC0wLDAgKzEsMjUgQEAKK2lmIEFSQ0hfS0lSS1dPT0QKKworbWVudSAiTWFydmVsbCBLaXJrd29vZCBJbXBsZW1lbnRhdGlvbnMiCisKK2NvbmZpZyBNQUNIX0RCODhGNjI4MV9CUAorCWJvb2wgIk1hcnZlbGwgREItODhGNjI4MS1CUCBEZXZlbG9wbWVudCBCb2FyZCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1hcnZlbGwgREItODhGNjI4MS1CUCBEZXZlbG9wbWVudCBCb2FyZC4KKworY29uZmlnIE1BQ0hfUkQ4OEY2MTkyX05BUworCWJvb2wgIk1hcnZlbGwgUkQtODhGNjE5Mi1OQVMgUmVmZXJlbmNlIEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBSRC04OEY2MTkyLU5BUyBSZWZlcmVuY2UgQm9hcmQuCisKK2NvbmZpZyBNQUNIX1JEODhGNjI4MQorCWJvb2wgIk1hcnZlbGwgUkQtODhGNjI4MSBSZWZlcmVuY2UgQm9hcmQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIFJELTg4RjYyODEgUmVmZXJlbmNlIEJvYXJkLgorCitlbmRtZW51CisKK2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTRiZjQwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9NYWtlZmlsZQpAQCAtMCwwICsxLDUgQEAKK29iai15CQkJCSs9IGNvbW1vbi5vIGFkZHItbWFwLm8gaXJxLm8gcGNpZS5vCisKK29iai0kKENPTkZJR19NQUNIX0RCODhGNjI4MV9CUCkJCSs9IGRiODhmNjI4MS1icC1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjYxOTJfTkFTKQkrPSByZDg4ZjYxOTItbmFzLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1JEODhGNjE5Ml9OQVMpCSs9IHJkODhmNjI4MS1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlLmJvb3QgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL01ha2VmaWxlLmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcwMzljMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvTWFrZWZpbGUuYm9vdApAQCAtMCwwICsxLDMgQEAKKyAgIHpyZWxhZGRyLXkJOj0gMHgwMDAwODAwMAorcGFyYW1zX3BoeXMteQk6PSAweDAwMDAwMTAwCitpbml0cmRfcGh5cy15CTo9IDB4MDA4MDAwMDAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvYWRkci1tYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzlmMGYzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9hZGRyLW1hcC5jCkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9hZGRyLW1hcC5jCisgKgorICogQWRkcmVzcyBtYXAgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisvKgorICogR2VuZXJpYyBBZGRyZXNzIERlY29kZSBXaW5kb3dzIGJpdCBzZXR0aW5ncworICovCisjZGVmaW5lIFRBUkdFVF9ERFIJCTAKKyNkZWZpbmUgVEFSR0VUX0RFVl9CVVMJCTEKKyNkZWZpbmUgVEFSR0VUX1BDSUUJCTQKKyNkZWZpbmUgQVRUUl9ERVZfU1BJX1JPTQkweDFlCisjZGVmaW5lIEFUVFJfREVWX0JPT1QJCTB4MWQKKyNkZWZpbmUgQVRUUl9ERVZfTkFORAkJMHgyZgorI2RlZmluZSBBVFRSX0RFVl9DUzMJCTB4MzcKKyNkZWZpbmUgQVRUUl9ERVZfQ1MyCQkweDNiCisjZGVmaW5lIEFUVFJfREVWX0NTMQkJMHgzZAorI2RlZmluZSBBVFRSX0RFVl9DUzAJCTB4M2UKKyNkZWZpbmUgQVRUUl9QQ0lFX0lPCQkweGUwCisjZGVmaW5lIEFUVFJfUENJRV9NRU0JCTB4ZTgKKworLyoKKyAqIEhlbHBlcnMgdG8gZ2V0IEREUiBiYW5rIGluZm8KKyAqLworI2RlZmluZSBERFJfQkFTRV9DU19PRkYobikJKDB4MDAwMCArICgobikgPDwgMykpCisjZGVmaW5lIEREUl9TSVpFX0NTX09GRihuKQkoMHgwMDA0ICsgKChuKSA8PCAzKSkKKworLyoKKyAqIENQVSBBZGRyZXNzIERlY29kZSBXaW5kb3dzIHJlZ2lzdGVycworICovCisjZGVmaW5lIFdJTl9PRkYobikJCShCUklER0VfVklSVF9CQVNFICsgMHgwMDAwICsgKChuKSA8PCA0KSkKKyNkZWZpbmUgV0lOX0NUUkxfT0ZGCQkweDAwMDAKKyNkZWZpbmUgV0lOX0JBU0VfT0ZGCQkweDAwMDQKKyNkZWZpbmUgV0lOX1JFTUFQX0xPX09GRgkweDAwMDgKKyNkZWZpbmUgV0lOX1JFTUFQX0hJX09GRgkweDAwMGMKKworCitzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIGtpcmt3b29kX21idXNfZHJhbV9pbmZvOworCitzdGF0aWMgaW50IF9faW5pdCBjcHVfd2luX2Nhbl9yZW1hcChpbnQgd2luKQoreworCWlmICh3aW4gPCA0KQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQoreworCXZvaWQgX19pb21lbSAqYWRkciA9ICh2b2lkIF9faW9tZW0gKilXSU5fT0ZGKHdpbik7CisJdTMyIGN0cmw7CisKKwliYXNlICY9IDB4ZmZmZjAwMDA7CisJY3RybCA9ICgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICh0YXJnZXQgPDwgNCkgfCAxOworCisJd3JpdGVsKGJhc2UsIGFkZHIgKyBXSU5fQkFTRV9PRkYpOworCXdyaXRlbChjdHJsLCBhZGRyICsgV0lOX0NUUkxfT0ZGKTsKKwlpZiAoY3B1X3dpbl9jYW5fcmVtYXAod2luKSkgeworCQlpZiAocmVtYXAgPCAwKQorCQkJcmVtYXAgPSBiYXNlOworCisJCXdyaXRlbChyZW1hcCAmIDB4ZmZmZjAwMDAsIGFkZHIgKyBXSU5fUkVNQVBfTE9fT0ZGKTsKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfSElfT0ZGKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3NldHVwX2NwdV9tYnVzKHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICphZGRyOworCWludCBpOworCWludCBjczsKKworCS8qCisJICogRmlyc3QsIGRpc2FibGUgYW5kIGNsZWFyIHdpbmRvd3MuCisJICovCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgeworCQlhZGRyID0gKHZvaWQgX19pb21lbSAqKVdJTl9PRkYoaSk7CisKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fQkFTRV9PRkYpOworCQl3cml0ZWwoMCwgYWRkciArIFdJTl9DVFJMX09GRik7CisJCWlmIChjcHVfd2luX2Nhbl9yZW1hcChpKSkgeworCQkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfTE9fT0ZGKTsKKwkJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0hJX09GRik7CisJCX0KKwl9CisKKwkvKgorCSAqIFNldHVwIHdpbmRvd3MgZm9yIFBDSWUgSU8rTUVNIHNwYWNlLgorCSAqLworCXNldHVwX2NwdV93aW4oMCwgS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0UsIEtJUktXT09EX1BDSUVfSU9fU0laRSwKKwkJICAgICAgVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9JTywgS0lSS1dPT0RfUENJRV9JT19CVVNfQkFTRSk7CisJc2V0dXBfY3B1X3dpbigxLCBLSVJLV09PRF9QQ0lFX01FTV9QSFlTX0JBU0UsIEtJUktXT09EX1BDSUVfTUVNX1NJWkUsCisJCSAgICAgIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfTUVNLCAtMSk7CisKKwkvKgorCSAqIFNldHVwIHdpbmRvdyBmb3IgTkFORCBjb250cm9sbGVyLgorCSAqLworCXNldHVwX2NwdV93aW4oMiwgS0lSS1dPT0RfTkFORF9NRU1fUEhZU19CQVNFLCBLSVJLV09PRF9OQU5EX01FTV9TSVpFLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfTkFORCwgLTEpOworCisJLyoKKwkgKiBTZXR1cCBNQlVTIGRyYW0gdGFyZ2V0IGluZm8uCisJICovCisJa2lya3dvb2RfbWJ1c19kcmFtX2luZm8ubWJ1c19kcmFtX3RhcmdldF9pZCA9IFRBUkdFVF9ERFI7CisKKwlhZGRyID0gKHZvaWQgX19pb21lbSAqKUREUl9XSU5ET1dfQ1BVX0JBU0U7CisKKwlmb3IgKGkgPSAwLCBjcyA9IDA7IGkgPCA0OyBpKyspIHsKKwkJdTMyIGJhc2UgPSByZWFkbChhZGRyICsgRERSX0JBU0VfQ1NfT0ZGKGkpKTsKKwkJdTMyIHNpemUgPSByZWFkbChhZGRyICsgRERSX1NJWkVfQ1NfT0ZGKGkpKTsKKworCQkvKgorCQkgKiBDaGlwIHNlbGVjdCBlbmFibGVkPworCQkgKi8KKwkJaWYgKHNpemUgJiAxKSB7CisJCQlzdHJ1Y3QgbWJ1c19kcmFtX3dpbmRvdyAqdzsKKworCQkJdyA9ICZraXJrd29vZF9tYnVzX2RyYW1faW5mby5jc1tjcysrXTsKKwkJCXctPmNzX2luZGV4ID0gaTsKKwkJCXctPm1idXNfYXR0ciA9IDB4ZiAmIH4oMSA8PCBpKTsKKwkJCXctPmJhc2UgPSBiYXNlICYgMHhmZmZmMDAwMDsKKwkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDAwMGZmZmYpICsgMTsKKwkJfQorCX0KKwlraXJrd29vZF9tYnVzX2RyYW1faW5mby5udW1fY3MgPSBjczsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MzhhM2IKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5jCkBAIC0wLDAgKzEsMzMxIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9jb21tb24uYworICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF84MjUwLmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vdGltZXguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL2VoY2ktb3Jpb24uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vdGltZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkvTyBBZGRyZXNzIE1hcHBpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBraXJrd29vZF9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsCT0gS0lSS1dPT0RfUENJRV9JT19WSVJUX0JBU0UsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihLSVJLV09PRF9QQ0lFX0lPX1BIWVNfQkFTRSksCisJCS5sZW5ndGgJCT0gS0lSS1dPT0RfUENJRV9JT19TSVpFLAorCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgeworCQkudmlydHVhbAk9IEtJUktXT09EX1JFR1NfVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UpLAorCQkubGVuZ3RoCQk9IEtJUktXT09EX1JFR1NfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9tYXBfaW8odm9pZCkKK3sKKwlpb3RhYmxlX2luaXQoa2lya3dvb2RfaW9fZGVzYywgQVJSQVlfU0laRShraXJrd29vZF9pb19kZXNjKSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb25fZWhjaV9kYXRhIGtpcmt3b29kX2VoY2lfZGF0YSA9IHsKKwkuZHJhbQkJPSAma2lya3dvb2RfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgdTY0IGVoY2lfZG1hbWFzayA9IDB4ZmZmZmZmZmZVTDsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfZWhjaV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFVTQl9QSFlTX0JBU0UsCisJCS5lbmQJPSBVU0JfUEhZU19CQVNFICsgMHgwZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9LSVJLV09PRF9VU0IsCisJCS5lbmQJPSBJUlFfS0lSS1dPT0RfVVNCLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2RfZWhjaSA9IHsKKwkubmFtZQkJPSAib3Jpb24tZWhjaSIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5kbWFfbWFzawkJPSAmZWhjaV9kbWFtYXNrLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCQkucGxhdGZvcm1fZGF0YQkJPSAma2lya3dvb2RfZWhjaV9kYXRhLAorCX0sCisJLnJlc291cmNlCT0ga2lya3dvb2RfZWhjaV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGtpcmt3b29kX2VoY2lfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX2VoY2lfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2RfZWhjaSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTAwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBraXJrd29vZF9nZTAwX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSBLSVJLV09PRF9UQ0xLLAorCS5kcmFtCQk9ICZraXJrd29vZF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfZ2UwMF9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAwIGJhc2UiLAorCQkuc3RhcnQJPSBHRTAwX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMDBfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2RfZ2UwMF9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmtpcmt3b29kX2dlMDBfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0ga2lya3dvb2RfZ2UwMF9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF9nZTAwX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwMCBpcnEiLAorCQkuc3RhcnQJPSBJUlFfS0lSS1dPT0RfR0UwMF9TVU0sCisJCS5lbmQJPSBJUlFfS0lSS1dPT0RfR0UwMF9TVU0sCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBraXJrd29vZF9nZTAwID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDAsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGtpcmt3b29kX2dlMDBfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2RfZ2UwMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJmtpcmt3b29kX2dlMDBfc2hhcmVkOworCWtpcmt3b29kX2dlMDAuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2RfZ2UwMF9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigma2lya3dvb2RfZ2UwMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBTb0MgUlRDCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfcnRjX3Jlc291cmNlID0geworCS5zdGFydAk9IFJUQ19QSFlTX0JBU0UsCisJLmVuZAk9IFJUQ19QSFlTX0JBU0UgKyBTWl8xNiAtIDEsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9ydGNfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoInJ0Yy1tdiIsIC0xLCAma2lya3dvb2RfcnRjX3Jlc291cmNlLCAxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBraXJrd29vZF9zYXRhX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAic2F0YSBiYXNlIiwKKwkJLnN0YXJ0CT0gU0FUQV9QSFlTX0JBU0UsCisJCS5lbmQJPSBTQVRBX1BIWVNfQkFTRSArIDB4NTAwMCAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLm5hbWUJPSAic2F0YSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfS0lSS1dPT0RfU0FUQSwKKwkJLmVuZAk9IElSUV9LSVJLV09PRF9TQVRBLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2Rfc2F0YSA9IHsKKwkubmFtZQkJPSAic2F0YV9tdiIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUoa2lya3dvb2Rfc2F0YV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZQk9IGtpcmt3b29kX3NhdGFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQga2lya3dvb2Rfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSkKK3sKKwlzYXRhX2RhdGEtPmRyYW0gPSAma2lya3dvb2RfbWJ1c19kcmFtX2luZm87CisJa2lya3dvb2Rfc2F0YS5kZXYucGxhdGZvcm1fZGF0YSA9IHNhdGFfZGF0YTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX3NhdGEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBraXJrd29vZF91YXJ0MF9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfS0lSS1dPT0RfVUFSVF8wLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IEtJUktXT09EX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGtpcmt3b29kX3VhcnQwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMF9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX0tJUktXT09EX1VBUlRfMCwKKwkJLmVuZAkJPSBJUlFfS0lSS1dPT0RfVUFSVF8wLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGtpcmt3b29kX3VhcnQwID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBraXJrd29vZF91YXJ0MF9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IGtpcmt3b29kX3VhcnQwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKGtpcmt3b29kX3VhcnQwX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF91YXJ0MF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZraXJrd29vZF91YXJ0MCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IGtpcmt3b29kX3VhcnQxX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9LSVJLV09PRF9VQVJUXzEsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gS0lSS1dPT0RfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Uga2lya3dvb2RfdWFydDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfS0lSS1dPT0RfVUFSVF8xLAorCQkuZW5kCQk9IElSUV9LSVJLV09PRF9VQVJUXzEsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Uga2lya3dvb2RfdWFydDEgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDEsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IGtpcmt3b29kX3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0ga2lya3dvb2RfdWFydDFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUoa2lya3dvb2RfdWFydDFfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IGtpcmt3b29kX3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmtpcmt3b29kX3VhcnQxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFRpbWUgaGFuZGxpbmcKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHZvaWQga2lya3dvb2RfdGltZXJfaW5pdCh2b2lkKQoreworCW9yaW9uX3RpbWVfaW5pdChJUlFfS0lSS1dPT0RfQlJJREdFLCBLSVJLV09PRF9UQ0xLKTsKK30KKworc3RydWN0IHN5c190aW1lciBraXJrd29vZF90aW1lciA9IHsKKwkuaW5pdCA9IGtpcmt3b29kX3RpbWVyX2luaXQsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgY2hhciAqIF9faW5pdCBraXJrd29vZF9pZCh2b2lkKQoreworCXN3aXRjaCAocmVhZGwoREVWSUNFX0lEKSAmIDB4MykgeworCWNhc2UgMDoKKwkJcmV0dXJuICI4OEY2MTgwIjsKKwljYXNlIDE6CisJCXJldHVybiAiODhGNjE5MiI7CisJY2FzZSAyOgorCQlyZXR1cm4gIjg4RjYyODEiOworCX0KKworCXJldHVybiAidW5rbm93biA4OEY2MDAwIHZhcmlhbnQiOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpc19sMl93cml0ZXRocm91Z2godm9pZCkKK3sKKwlyZXR1cm4gISEocmVhZGwoTDJfQ09ORklHX1JFRykgJiBMMl9XUklURVRIUk9VR0gpOworfQorCit2b2lkIF9faW5pdCBraXJrd29vZF9pbml0KHZvaWQpCit7CisJcHJpbnRrKEtFUk5fSU5GTyAiS2lya3dvb2Q6ICVzLCBUQ0xLPSVkLlxuIiwKKwkJa2lya3dvb2RfaWQoKSwgS0lSS1dPT0RfVENMSyk7CisKKwlraXJrd29vZF9zZXR1cF9jcHVfbWJ1cygpOworCisjaWZkZWYgQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyCisJZmVyb2Nlb25fbDJfaW5pdChpc19sMl93cml0ZXRocm91Z2goKSk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZWUyZjYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL2NvbW1vbi5oCisgKgorICogQ29yZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgS2lya3dvb2QgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BUkNIX0tJUktXT09EX0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9LSVJLV09PRF9DT01NT05fSAorCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKK3N0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGE7CisKKy8qCisgKiBCYXNpYyBLaXJrd29vZCBpbml0IGZ1bmN0aW9ucyB1c2VkIGVhcmx5IGJ5IG1hY2hpbmUtc2V0dXAuCisgKi8KK3ZvaWQga2lya3dvb2RfbWFwX2lvKHZvaWQpOwordm9pZCBraXJrd29vZF9pbml0KHZvaWQpOwordm9pZCBraXJrd29vZF9pbml0X2lycSh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8ga2lya3dvb2RfbWJ1c19kcmFtX2luZm87Cit2b2lkIGtpcmt3b29kX3NldHVwX2NwdV9tYnVzKHZvaWQpOwordm9pZCBraXJrd29vZF9zZXR1cF9wY2llX2lvX3dpbihpbnQgd2luZG93LCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJaW50IG1haiwgaW50IG1pbik7Cit2b2lkIGtpcmt3b29kX3NldHVwX3BjaWVfbWVtX3dpbihpbnQgd2luZG93LCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJIGludCBtYWosIGludCBtaW4pOworCit2b2lkIGtpcmt3b29kX2VoY2lfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2RfZ2UwMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIGtpcmt3b29kX3BjaWVfaW5pdCh2b2lkKTsKK3ZvaWQga2lya3dvb2RfcnRjX2luaXQodm9pZCk7Cit2b2lkIGtpcmt3b29kX3NhdGFfaW5pdChzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhICpzYXRhX2RhdGEpOwordm9pZCBraXJrd29vZF91YXJ0MF9pbml0KHZvaWQpOwordm9pZCBraXJrd29vZF91YXJ0MV9pbml0KHZvaWQpOworCitleHRlcm4gc3RydWN0IHN5c190aW1lciBraXJrd29vZF90aW1lcjsKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gta2lya3dvb2QvZGI4OGY2MjgxLWJwLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2RiODhmNjI4MS1icC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YzQ4MmMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2RiODhmNjI4MS1icC1zZXR1cC5jCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL2RiODhmNjI4MS1icC1zZXR1cC5jCisgKgorICogTWFydmVsbCBEQi04OEY2MjgxLUJQIERldmVsb3BtZW50IEJvYXJkIFNldHVwCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjg4ZjYyODFfZ2UwMF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBkYjg4ZjYyODFfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBkYjg4ZjYyODFfaW5pdCh2b2lkKQoreworCS8qCisJICogQmFzaWMgc2V0dXAuIE5lZWRzIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlraXJrd29vZF9pbml0KCk7CisKKwlraXJrd29vZF9laGNpX2luaXQoKTsKKwlraXJrd29vZF9nZTAwX2luaXQoJmRiODhmNjI4MV9nZTAwX2RhdGEpOworCWtpcmt3b29kX3J0Y19pbml0KCk7CisJa2lya3dvb2Rfc2F0YV9pbml0KCZkYjg4ZjYyODFfc2F0YV9kYXRhKTsKKwlraXJrd29vZF91YXJ0MF9pbml0KCk7CisJa2lya3dvb2RfdWFydDFfaW5pdCgpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBkYjg4ZjYyODFfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19kYjg4ZjYyODFfYnAoKSkKKwkJa2lya3dvb2RfcGNpZV9pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChkYjg4ZjYyODFfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKERCODhGNjI4MV9CUCwgIk1hcnZlbGwgREItODhGNjI4MS1CUCBEZXZlbG9wbWVudCBCb2FyZCIpCisJLyogTWFpbnRhaW5lcjogU2FlZWQgQmlzaGFyYSA8c2FlZWRAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKEtJUktXT09EX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gZGI4OGY2MjgxX2luaXQsCisJLm1hcF9pbwkJPSBraXJrd29vZF9tYXBfaW8sCisJLmluaXRfaXJxCT0ga2lya3dvb2RfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZraXJrd29vZF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL2lycS5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9pcnEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDJiYjJjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9pcnEuYwpAQCAtMCwwICsxLDIyIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9pcnEuYworICoKKyAqIEtpcmt3b29kIElSUSBoYW5kbGluZy4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vaXJxLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3ZvaWQgX19pbml0IGtpcmt3b29kX2luaXRfaXJxKHZvaWQpCit7CisJb3Jpb25faXJxX2luaXQoMCwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfTE9XX09GRikpOworCW9yaW9uX2lycV9pbml0KDMyLCAodm9pZCBfX2lvbWVtICopKElSUV9WSVJUX0JBU0UgKyBJUlFfTUFTS19ISUdIX09GRikpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9wY2llLmMgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3BjaWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjgyZDBmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9wY2llLmMKQEAgLTAsMCArMSwxODAgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLWtpcmt3b29kL3BjaWUuYworICoKKyAqIFBDSWUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3BjaWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworCisjZGVmaW5lIFBDSUVfQkFTRQkoKHZvaWQgX19pb21lbSAqKVBDSUVfVklSVF9CQVNFKQorCitzdGF0aWMgaW50IHBjaWVfdmFsaWRfY29uZmlnKGludCBidXMsIGludCBkZXYpCit7CisJLyoKKwkgKiBEb24ndCBnbyBvdXQgd2hlbiB0cnlpbmcgdG8gYWNjZXNzIC0tCisJICogMS4gbm9uZXhpc3RpbmcgZGV2aWNlIG9uIGxvY2FsIGJ1cworCSAqIDIuIHdoZXJlIHRoZXJlJ3Mgbm8gZGV2aWNlIGNvbm5lY3RlZCAobm8gbGluaykKKwkgKi8KKwlpZiAoYnVzID09IDAgJiYgZGV2ID09IDApCisJCXJldHVybiAxOworCisJaWYgKCFvcmlvbl9wY2llX2xpbmtfdXAoUENJRV9CQVNFKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoYnVzID09IDAgJiYgZGV2ICE9IDEpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKKworLyoKKyAqIFBDSWUgY29uZmlnIGN5Y2xlcyBhcmUgZG9uZSBieSBwcm9ncmFtbWluZyB0aGUgUENJRV9DT05GX0FERFIgcmVnaXN0ZXIKKyAqIGFuZCB0aGVuIHJlYWRpbmcgdGhlIFBDSUVfQ09ORl9EQVRBIHJlZ2lzdGVyLiBOZWVkIHRvIG1ha2Ugc3VyZSB0aGVzZQorICogdHJhbnNhY3Rpb25zIGFyZSBhdG9taWMuCisgKi8KK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soa2lya3dvb2RfcGNpZV9sb2NrKTsKKworc3RhdGljIGludCBwY2llX3JkX2NvbmYoc3RydWN0IHBjaV9idXMgKmJ1cywgdTMyIGRldmZuLCBpbnQgd2hlcmUsCisJCQlpbnQgc2l6ZSwgdTMyICp2YWwpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0OworCisJaWYgKHBjaWVfdmFsaWRfY29uZmlnKGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbikpID09IDApIHsKKwkJKnZhbCA9IDB4ZmZmZmZmZmY7CisJCXJldHVybiBQQ0lCSU9TX0RFVklDRV9OT1RfRk9VTkQ7CisJfQorCisJc3Bpbl9sb2NrX2lycXNhdmUoJmtpcmt3b29kX3BjaWVfbG9jaywgZmxhZ3MpOworCXJldCA9IG9yaW9uX3BjaWVfcmRfY29uZihQQ0lFX0JBU0UsIGJ1cywgZGV2Zm4sIHdoZXJlLCBzaXplLCB2YWwpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmtpcmt3b29kX3BjaWVfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwY2llX3dyX2NvbmYoc3RydWN0IHBjaV9idXMgKmJ1cywgdTMyIGRldmZuLAorCQkJaW50IHdoZXJlLCBpbnQgc2l6ZSwgdTMyIHZhbCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQ7CisKKwlpZiAocGNpZV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldmZuKSkgPT0gMCkKKwkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZraXJrd29vZF9wY2llX2xvY2ssIGZsYWdzKTsKKwlyZXQgPSBvcmlvbl9wY2llX3dyX2NvbmYoUENJRV9CQVNFLCBidXMsIGRldmZuLCB3aGVyZSwgc2l6ZSwgdmFsKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZraXJrd29vZF9wY2llX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNpX29wcyBwY2llX29wcyA9IHsKKwkucmVhZCA9IHBjaWVfcmRfY29uZiwKKwkud3JpdGUgPSBwY2llX3dyX2NvbmYsCit9OworCisKK3N0YXRpYyBpbnQga2lya3dvb2RfcGNpZV9zZXR1cChpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cykKK3sKKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKKworCS8qCisJICogR2VuZXJpYyBQQ0llIHVuaXQgc2V0dXAuCisJICovCisJb3Jpb25fcGNpZV9zZXR1cChQQ0lFX0JBU0UsICZraXJrd29vZF9tYnVzX2RyYW1faW5mbyk7CisKKwkvKgorCSAqIFJlcXVlc3QgcmVzb3VyY2VzLgorCSAqLworCXJlcyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKiAyLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXJlcykKKwkJcGFuaWMoInBjaWVfc2V0dXAgdW5hYmxlIHRvIGFsbG9jIHJlc291cmNlcyIpOworCisJLyoKKwkgKiBJT1JFU09VUkNFX0lPCisJICovCisJcmVzWzBdLm5hbWUgPSAiUENJZSBJL08gU3BhY2UiOworCXJlc1swXS5mbGFncyA9IElPUkVTT1VSQ0VfSU87CisJcmVzWzBdLnN0YXJ0ID0gS0lSS1dPT0RfUENJRV9JT19QSFlTX0JBU0U7CisJcmVzWzBdLmVuZCA9IHJlc1swXS5zdGFydCArIEtJUktXT09EX1BDSUVfSU9fU0laRSAtIDE7CisJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnJlc1swXSkpCisJCXBhbmljKCJSZXF1ZXN0IFBDSWUgSU8gcmVzb3VyY2UgZmFpbGVkXG4iKTsKKwlzeXMtPnJlc291cmNlWzBdID0gJnJlc1swXTsKKworCS8qCisJICogSU9SRVNPVVJDRV9NRU0KKwkgKi8KKwlyZXNbMV0ubmFtZSA9ICJQQ0llIE1lbW9yeSBTcGFjZSI7CisJcmVzWzFdLmZsYWdzID0gSU9SRVNPVVJDRV9NRU07CisJcmVzWzFdLnN0YXJ0ID0gS0lSS1dPT0RfUENJRV9NRU1fUEhZU19CQVNFOworCXJlc1sxXS5lbmQgPSByZXNbMV0uc3RhcnQgKyBLSVJLV09PRF9QQ0lFX01FTV9TSVpFIC0gMTsKKwlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZyZXNbMV0pKQorCQlwYW5pYygiUmVxdWVzdCBQQ0llIE1lbW9yeSByZXNvdXJjZSBmYWlsZWRcbiIpOworCXN5cy0+cmVzb3VyY2VbMV0gPSAmcmVzWzFdOworCisJc3lzLT5yZXNvdXJjZVsyXSA9IE5VTEw7CisJc3lzLT5pb19vZmZzZXQgPSAwOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIF9fZGV2aW5pdCByY19wY2lfZml4dXAoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwkvKgorCSAqIFByZXZlbnQgZW51bWVyYXRpb24gb2Ygcm9vdCBjb21wbGV4LgorCSAqLworCWlmIChkZXYtPmJ1cy0+cGFyZW50ID09IE5VTEwgJiYgZGV2LT5kZXZmbiA9PSAwKSB7CisJCWludCBpOworCisJCWZvciAoaSA9IDA7IGkgPCBERVZJQ0VfQ09VTlRfUkVTT1VSQ0U7IGkrKykgeworCQkJZGV2LT5yZXNvdXJjZVtpXS5zdGFydCA9IDA7CisJCQlkZXYtPnJlc291cmNlW2ldLmVuZCAgID0gMDsKKwkJCWRldi0+cmVzb3VyY2VbaV0uZmxhZ3MgPSAwOworCQl9CisJfQorfQorREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfTUFSVkVMTCwgUENJX0FOWV9JRCwgcmNfcGNpX2ZpeHVwKTsKKworc3RhdGljIHN0cnVjdCBwY2lfYnVzIF9faW5pdCAqCitraXJrd29vZF9wY2llX3NjYW5fYnVzKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQoreworCXN0cnVjdCBwY2lfYnVzICpidXM7CisKKwlpZiAobnIgPT0gMCkgeworCQlidXMgPSBwY2lfc2Nhbl9idXMoc3lzLT5idXNuciwgJnBjaWVfb3BzLCBzeXMpOworCX0gZWxzZSB7CisJCWJ1cyA9IE5VTEw7CisJCUJVRygpOworCX0KKworCXJldHVybiBidXM7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGtpcmt3b29kX3BjaWVfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJcmV0dXJuIElSUV9LSVJLV09PRF9QQ0lFOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSBraXJrd29vZF9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAxLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBraXJrd29vZF9wY2llX3NldHVwLAorCS5zY2FuCQk9IGtpcmt3b29kX3BjaWVfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSBraXJrd29vZF9wY2llX21hcF9pcnEsCit9OworCit2b2lkIF9faW5pdCBraXJrd29vZF9wY2llX2luaXQodm9pZCkKK3sKKwlwY2lfY29tbW9uX2luaXQoJmtpcmt3b29kX3BjaSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjE5Mi1uYXMtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MTkyLW5hcy1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZjY0MmMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjE5Mi1uYXMtc2V0dXAuYwpAQCAtMCwwICsxLDY5IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYxOTItbmFzLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIFJELTg4RjYxOTItTkFTIFJlZmVyZW5jZSBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCisjZGVmaW5lIFJEODhGNjE5Ml9HUElPX1VTQl9WQlVTCQkxMAorCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcmQ4OGY2MTkyX2dlMDBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSA4LAorfTsKKworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgcmQ4OGY2MTkyX3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY2MTkyX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIHNldHVwLiBOZWVkcyB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJa2lya3dvb2RfaW5pdCgpOworCisJa2lya3dvb2RfZWhjaV9pbml0KCk7CisJa2lya3dvb2RfZ2UwMF9pbml0KCZyZDg4ZjYxOTJfZ2UwMF9kYXRhKTsKKwlraXJrd29vZF9ydGNfaW5pdCgpOworCWtpcmt3b29kX3NhdGFfaW5pdCgmcmQ4OGY2MTkyX3NhdGFfZGF0YSk7CisJa2lya3dvb2RfdWFydDBfaW5pdCgpOworfQorCitzdGF0aWMgaW50IF9faW5pdCByZDg4ZjYxOTJfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19yZDg4ZjYxOTJfbmFzKCkpCisJCWtpcmt3b29kX3BjaWVfaW5pdCgpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwocmQ4OGY2MTkyX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChSRDg4RjYxOTJfTkFTLCAiTWFydmVsbCBSRC04OEY2MTkyLU5BUyBEZXZlbG9wbWVudCBCb2FyZCIpCisJLyogTWFpbnRhaW5lcjogU2FlZWQgQmlzaGFyYSA8c2FlZWRAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKEtJUktXT09EX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcmQ4OGY2MTkyX2luaXQsCisJLm1hcF9pbwkJPSBraXJrd29vZF9tYXBfaW8sCisJLmluaXRfaXJxCT0ga2lya3dvb2RfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZraXJrd29vZF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWtpcmt3b29kL3JkODhmNjI4MS1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYyODEtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWY4ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1raXJrd29vZC9yZDg4ZjYyODEtc2V0dXAuYwpAQCAtMCwwICsxLDExMyBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gta2lya3dvb2QvcmQ4OGY2MjgxLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIFJELTg4RjYyODEgUmVmZXJlbmNlIEJvYXJkIFNldHVwCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gcmQ4OGY2MjgxX25hbmRfcGFydHNbXSA9IHsKKwl7CisJCS5uYW1lID0gInUtYm9vdCIsCisJCS5vZmZzZXQgPSAwLAorCQkuc2l6ZSA9IFNaXzFNCisJfSwgeworCQkubmFtZSA9ICJ1SW1hZ2UiLAorCQkub2Zmc2V0ID0gTVREUEFSVF9PRlNfTlhUQkxLLAorCQkuc2l6ZSA9IFNaXzJNCisJfSwgeworCQkubmFtZSA9ICJyb290IiwKKwkJLm9mZnNldCA9IE1URFBBUlRfT0ZTX05YVEJMSywKKwkJLnNpemUgPSBNVERQQVJUX1NJWl9GVUxMCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcmQ4OGY2MjgxX25hbmRfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBLSVJLV09PRF9OQU5EX01FTV9QSFlTX0JBU0UsCisJLmVuZAkJPSBLSVJLV09PRF9OQU5EX01FTV9QSFlTX0JBU0UgKworCQkJICBLSVJLV09PRF9OQU5EX01FTV9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb25fbmFuZF9kYXRhIHJkODhmNjI4MV9uYW5kX2RhdGEgPSB7CisJLnBhcnRzCQk9IHJkODhmNjI4MV9uYW5kX3BhcnRzLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUocmQ4OGY2MjgxX25hbmRfcGFydHMpLAorCS5jbGUJCT0gMCwKKwkuYWxlCQk9IDEsCisJLndpZHRoCQk9IDgsCisJLmNoaXBfZGVsYXkJPSAyNSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHJkODhmNjI4MV9uYW5kX2ZsYXNoID0geworCS5uYW1lCQk9ICJvcmlvbl9uYW5kIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnJkODhmNjI4MV9uYW5kX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSAmcmQ4OGY2MjgxX25hbmRfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNjI4MV9nZTAwX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSByZDg4ZjYyODFfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZDg4ZjYyODFfaW5pdCh2b2lkKQoreworCS8qCisJICogQmFzaWMgc2V0dXAuIE5lZWRzIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlraXJrd29vZF9pbml0KCk7CisKKwlraXJrd29vZF9laGNpX2luaXQoKTsKKwlraXJrd29vZF9nZTAwX2luaXQoJnJkODhmNjI4MV9nZTAwX2RhdGEpOworCWtpcmt3b29kX3J0Y19pbml0KCk7CisJa2lya3dvb2Rfc2F0YV9pbml0KCZyZDg4ZjYyODFfc2F0YV9kYXRhKTsKKwlraXJrd29vZF91YXJ0MF9pbml0KCk7CisJa2lya3dvb2RfdWFydDFfaW5pdCgpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZyZDg4ZjYyODFfbmFuZF9mbGFzaCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHJkODhmNjI4MV9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3JkODhmNjI4MSgpKQorCQlraXJrd29vZF9wY2llX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNjI4MV9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoUkQ4OEY2MjgxLCAiTWFydmVsbCBSRC04OEY2MjgxIFJlZmVyZW5jZSBCb2FyZCIpCisJLyogTWFpbnRhaW5lcjogU2FlZWQgQmlzaGFyYSA8c2FlZWRAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBLSVJLV09PRF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKEtJUktXT09EX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweGZmZmMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcmQ4OGY2MjgxX2luaXQsCisJLm1hcF9pbwkJPSBraXJrd29vZF9tYXBfaW8sCisJLmluaXRfaXJxCT0ga2lya3dvb2RfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZraXJrd29vZF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtbG9raS9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNDViZGQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvS2NvbmZpZwpAQCAtMCwwICsxLDEzIEBACitpZiBBUkNIX0xPS0kKKworbWVudSAiTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgSW1wbGVtZW50YXRpb25zIgorCitjb25maWcgTUFDSF9MQjg4UkM4NDgwCisJYm9vbCAiTWFydmVsbCBMQjg4UkM4NDgwIERldmVsb3BtZW50IEJvYXJkIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBMQjg4UkM4NDgwIERldmVsb3BtZW50IEJvYXJkLgorCitlbmRtZW51CisKK2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQzMjMzZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9NYWtlZmlsZQpAQCAtMCwwICsxLDMgQEAKK29iai15CQkJCSs9IGNvbW1vbi5vIGFkZHItbWFwLm8gaXJxLm8KKworb2JqLSQoQ09ORklHX01BQ0hfTEI4OFJDODQ4MCkJKz0gbGI4OHJjODQ4MC1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUuYm9vdCBiL2FyY2gvYXJtL21hY2gtbG9raS9NYWtlZmlsZS5ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MDM5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvTWFrZWZpbGUuYm9vdApAQCAtMCwwICsxLDMgQEAKKyAgIHpyZWxhZGRyLXkJOj0gMHgwMDAwODAwMAorcGFyYW1zX3BoeXMteQk6PSAweDAwMDAwMTAwCitpbml0cmRfcGh5cy15CTo9IDB4MDA4MDAwMDAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9hZGRyLW1hcC5jIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2FkZHItbWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEyNWU1NgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9hZGRyLW1hcC5jCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1sb2tpL2FkZHItbWFwLmMKKyAqCisgKiBBZGRyZXNzIG1hcCBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoKKyAqIEdlbmVyaWMgQWRkcmVzcyBEZWNvZGUgV2luZG93cyBiaXQgc2V0dGluZ3MKKyAqLworI2RlZmluZSBUQVJHRVRfRERSCQkwCisjZGVmaW5lIFRBUkdFVF9ERVZfQlVTCQkxCisjZGVmaW5lIFRBUkdFVF9QQ0lFMAkJMworI2RlZmluZSBUQVJHRVRfUENJRTEJCTQKKyNkZWZpbmUgQVRUUl9ERVZfQk9PVAkJMHgwZgorI2RlZmluZSBBVFRSX0RFVl9DUzIJCTB4MWIKKyNkZWZpbmUgQVRUUl9ERVZfQ1MxCQkweDFkCisjZGVmaW5lIEFUVFJfREVWX0NTMAkJMHgxZQorI2RlZmluZSBBVFRSX1BDSUVfSU8JCTB4NTEKKyNkZWZpbmUgQVRUUl9QQ0lFX01FTQkJMHg1OQorCisvKgorICogSGVscGVycyB0byBnZXQgRERSIGJhbmsgaW5mbworICovCisjZGVmaW5lIEREUl9TSVpFX0NTKG4pCQlERFJfUkVHKDB4MTUwMCArICgobikgPDwgMykpCisjZGVmaW5lIEREUl9CQVNFX0NTKG4pCQlERFJfUkVHKDB4MTUwNCArICgobikgPDwgMykpCisKKy8qCisgKiBDUFUgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKKyAqLworI2RlZmluZSBDUFVfV0lOX0NUUkwobikJCUJSSURHRV9SRUcoMHgwMDAgfCAoKG4pIDw8IDQpKQorI2RlZmluZSBDUFVfV0lOX0JBU0UobikJCUJSSURHRV9SRUcoMHgwMDQgfCAoKG4pIDw8IDQpKQorI2RlZmluZSBDUFVfV0lOX1JFTUFQX0xPKG4pCUJSSURHRV9SRUcoMHgwMDggfCAoKG4pIDw8IDQpKQorI2RlZmluZSBDUFVfV0lOX1JFTUFQX0hJKG4pCUJSSURHRV9SRUcoMHgwMGMgfCAoKG4pIDw8IDQpKQorCisKK3N0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8gbG9raV9tYnVzX2RyYW1faW5mbzsKKworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV93aW4oaW50IHdpbiwgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSB1OCB0YXJnZXQsIHU4IGF0dHIsIGludCByZW1hcCkKK3sKKwl1MzIgY3RybDsKKworCWJhc2UgJj0gMHhmZmZmMDAwMDsKKwljdHJsID0gKChzaXplIC0gMSkgJiAweGZmZmYwMDAwKSB8IChhdHRyIDw8IDgpIHwgKDEgPDwgNSkgfCB0YXJnZXQ7CisKKwl3cml0ZWwoYmFzZSwgQ1BVX1dJTl9CQVNFKHdpbikpOworCXdyaXRlbChjdHJsLCBDUFVfV0lOX0NUUkwod2luKSk7CisJaWYgKHdpbiA8IDIpIHsKKwkJaWYgKHJlbWFwIDwgMCkKKwkJCXJlbWFwID0gYmFzZTsKKworCQl3cml0ZWwocmVtYXAgJiAweGZmZmYwMDAwLCBDUFVfV0lOX1JFTUFQX0xPKHdpbikpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9SRU1BUF9ISSh3aW4pKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IGxva2lfc2V0dXBfY3B1X21idXModm9pZCkKK3sKKwlpbnQgaTsKKwlpbnQgY3M7CisKKwkvKgorCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJd3JpdGVsKDAsIENQVV9XSU5fQkFTRShpKSk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0NUUkwoaSkpOworCQlpZiAoaSA8IDIpIHsKKwkJCXdyaXRlbCgwLCBDUFVfV0lOX1JFTUFQX0xPKGkpKTsKKwkJCXdyaXRlbCgwLCBDUFVfV0lOX1JFTUFQX0hJKGkpKTsKKwkJfQorCX0KKworCS8qCisJICogU2V0dXAgd2luZG93cyBmb3IgUENJZSBJTytNRU0gc3BhY2UuCisJICovCisJc2V0dXBfY3B1X3dpbigyLCBMT0tJX1BDSUUwX01FTV9QSFlTX0JBU0UsIExPS0lfUENJRTBfTUVNX1NJWkUsCisJCSAgICAgIFRBUkdFVF9QQ0lFMCwgQVRUUl9QQ0lFX01FTSwgLTEpOworCXNldHVwX2NwdV93aW4oMywgTE9LSV9QQ0lFMV9NRU1fUEhZU19CQVNFLCBMT0tJX1BDSUUxX01FTV9TSVpFLAorCQkgICAgICBUQVJHRVRfUENJRTEsIEFUVFJfUENJRV9NRU0sIC0xKTsKKworCS8qCisJICogU2V0dXAgTUJVUyBkcmFtIHRhcmdldCBpbmZvLgorCSAqLworCWxva2lfbWJ1c19kcmFtX2luZm8ubWJ1c19kcmFtX3RhcmdldF9pZCA9IFRBUkdFVF9ERFI7CisKKwlmb3IgKGkgPSAwLCBjcyA9IDA7IGkgPCA0OyBpKyspIHsKKwkJdTMyIGJhc2UgPSByZWFkbChERFJfQkFTRV9DUyhpKSk7CisJCXUzMiBzaXplID0gcmVhZGwoRERSX1NJWkVfQ1MoaSkpOworCisJCS8qCisJCSAqIENoaXAgc2VsZWN0IGVuYWJsZWQ/CisJCSAqLworCQlpZiAoc2l6ZSAmIDEpIHsKKwkJCXN0cnVjdCBtYnVzX2RyYW1fd2luZG93ICp3OworCisJCQl3ID0gJmxva2lfbWJ1c19kcmFtX2luZm8uY3NbY3MrK107CisJCQl3LT5jc19pbmRleCA9IGk7CisJCQl3LT5tYnVzX2F0dHIgPSAweGYgJiB+KDEgPDwgaSk7CisJCQl3LT5iYXNlID0gYmFzZSAmIDB4ZmZmZjAwMDA7CisJCQl3LT5zaXplID0gKHNpemUgfCAweDAwMDBmZmZmKSArIDE7CisJCX0KKwl9CisJbG9raV9tYnVzX2RyYW1faW5mby5udW1fY3MgPSBjczsKK30KKwordm9pZCBfX2luaXQgbG9raV9zZXR1cF9kZXZfYm9vdF93aW4odTMyIGJhc2UsIHUzMiBzaXplKQoreworCXNldHVwX2NwdV93aW4oNCwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0JPT1QsIC0xKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uYyBiL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTBmNTAzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5jCkBAIC0wLDAgKzEsMzA1IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5jCisgKgorICogQ29yZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF84MjUwLmg+CisjaW5jbHVkZSA8bGludXgvbWJ1cy5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vdGltZXguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi90aW1lLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSS9PIEFkZHJlc3MgTWFwcGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGxva2lfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IExPS0lfUkVHU19WSVJUX0JBU0UsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihMT0tJX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBMT0tJX1JFR1NfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sCit9OworCit2b2lkIF9faW5pdCBsb2tpX21hcF9pbyh2b2lkKQoreworCWlvdGFibGVfaW5pdChsb2tpX2lvX2Rlc2MsIEFSUkFZX1NJWkUobG9raV9pb19kZXNjKSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIGxva2lfZ2UwX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSBMT0tJX1RDTEssCisJLmRyYW0JCT0gJmxva2lfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfZ2UwX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMCBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UwX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMF9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX2dlMF9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJmxva2lfZ2UwX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGxva2lfZ2UwX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfZ2UwX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UwIGlycSIsCisJCS5zdGFydAk9IElSUV9MT0tJX0dCRV9BX0lOVCwKKwkJLmVuZAk9IElSUV9MT0tJX0dCRV9BX0lOVCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfZ2UwID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDAsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IGxva2lfZ2UwX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IGxva2lfZ2UwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbG9raV9nZTBfc2hhcmVkOworCWxva2lfZ2UwLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwl3cml0ZWwoMHgwMDA3OTIyMCwgR0UwX1ZJUlRfQkFTRSArIDB4MjBiMCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX2dlMF9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9nZTApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBsb2tpX2dlMV9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gTE9LSV9UQ0xLLAorCS5kcmFtCQk9ICZsb2tpX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX2dlMV9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTEgYmFzZSIsCisJCS5zdGFydAk9IEdFMV9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTFfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV9nZTFfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAxLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZsb2tpX2dlMV9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBsb2tpX2dlMV9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX2dlMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTE9LSV9HQkVfQl9JTlQsCisJCS5lbmQJPSBJUlFfTE9LSV9HQkVfQl9JTlQsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX2dlMSA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAxLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBsb2tpX2dlMV9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBsb2tpX2dlMV9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJmxva2lfZ2UxX3NoYXJlZDsKKwlsb2tpX2dlMS5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJd3JpdGVsKDB4MDAwNzkyMjAsIEdFMV9WSVJUX0JBU0UgKyAweDIwYjApOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbG9raV9nZTFfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfZ2UxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBUy9TQVRBCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbG9raV9zYXNfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJtdnNhczAgbWVtIiwKKwkJLnN0YXJ0CT0gU0FTMF9QSFlTX0JBU0UsCisJCS5lbmQJPSBTQVMwX1BIWVNfQkFTRSArIDB4MDFmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJtdnNhczAgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0xPS0lfU0FTX0EsCisJCS5lbmQJPSBJUlFfTE9LSV9TQVNfQSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwgeworCQkubmFtZQk9ICJtdnNhczEgbWVtIiwKKwkJLnN0YXJ0CT0gU0FTMV9QSFlTX0JBU0UsCisJCS5lbmQJPSBTQVMxX1BIWVNfQkFTRSArIDB4MDFmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJtdnNhczEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX0xPS0lfU0FTX0IsCisJCS5lbmQJPSBJUlFfTE9LSV9TQVNfQiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxva2lfc2FzID0geworCS5uYW1lCQk9ICJtdnNhcyIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobG9raV9zYXNfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBsb2tpX3Nhc19yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBsb2tpX3Nhc19pbml0KHZvaWQpCit7CisJd3JpdGVsKDB4ODMwMGY3MDcsIEREUl9SRUcoMHgxNDI0KSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX3Nhcyk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IGxva2lfdWFydDBfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMF9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX0xPS0lfVUFSVDAsCisJCS5mbGFncwkJPSBVUEZfU0tJUF9URVNUIHwgVVBGX0JPT1RfQVVUT0NPTkYsCisJCS5pb3R5cGUJCT0gVVBJT19NRU0sCisJCS5yZWdzaGlmdAk9IDIsCisJCS51YXJ0Y2xrCT0gTE9LSV9UQ0xLLAorCX0sIHsKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsb2tpX3VhcnQwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CQk9IFVBUlQwX1BIWVNfQkFTRSwKKwkJLmVuZAkJPSBVQVJUMF9QSFlTX0JBU0UgKyAweGZmLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJCT0gSVJRX0xPS0lfVUFSVDAsCisJCS5lbmQJCT0gSVJRX0xPS0lfVUFSVDAsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbG9raV91YXJ0MCA9IHsKKwkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAorCS5pZAkJCT0gMCwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gbG9raV91YXJ0MF9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IGxva2lfdWFydDBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUobG9raV91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbG9raV91YXJ0MF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZsb2tpX3VhcnQwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgbG9raV91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfTE9LSV9VQVJUMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBMT0tJX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGxva2lfdWFydDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfTE9LSV9VQVJUMSwKKwkJLmVuZAkJPSBJUlFfTE9LSV9VQVJUMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsb2tpX3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSAxLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBsb2tpX3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gbG9raV91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShsb2tpX3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBsb2tpX3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmxva2lfdWFydDEpOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVGltZSBoYW5kbGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBsb2tpX3RpbWVyX2luaXQodm9pZCkKK3sKKwlvcmlvbl90aW1lX2luaXQoSVJRX0xPS0lfQlJJREdFLCBMT0tJX1RDTEspOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIGxva2lfdGltZXIgPSB7CisJLmluaXQgPSBsb2tpX3RpbWVyX2luaXQsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCit2b2lkIF9faW5pdCBsb2tpX2luaXQodm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJMb2tpIElEOiA4OFJDODQ4MC4gVENMSz0lZC5cbiIsIExPS0lfVENMSyk7CisKKwlsb2tpX3NldHVwX2NwdV9tYnVzKCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLWxva2kvY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYwNTRmZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9jb21tb24uaApAQCAtMCwwICsxLDM2IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1sb2tpL2NvbW1vbi5oCisgKgorICogQ29yZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9MT0tJX0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9MT0tJX0NPTU1PTl9ICisKK3N0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhOworCisvKgorICogQmFzaWMgTG9raSBpbml0IGZ1bmN0aW9ucyB1c2VkIGVhcmx5IGJ5IG1hY2hpbmUtc2V0dXAuCisgKi8KK3ZvaWQgbG9raV9tYXBfaW8odm9pZCk7Cit2b2lkIGxva2lfaW5pdCh2b2lkKTsKK3ZvaWQgbG9raV9pbml0X2lycSh2b2lkKTsKKworZXh0ZXJuIHN0cnVjdCBtYnVzX2RyYW1fdGFyZ2V0X2luZm8gbG9raV9tYnVzX2RyYW1faW5mbzsKK3ZvaWQgbG9raV9zZXR1cF9jcHVfbWJ1cyh2b2lkKTsKK3ZvaWQgbG9raV9zZXR1cF9kZXZfYm9vdF93aW4odTMyIGJhc2UsIHUzMiBzaXplKTsKKwordm9pZCBsb2tpX2dlMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIGxva2lfZ2UxX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgbG9raV9zYXNfaW5pdCh2b2lkKTsKK3ZvaWQgbG9raV91YXJ0MF9pbml0KHZvaWQpOwordm9pZCBsb2tpX3VhcnQxX2luaXQodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3Qgc3lzX3RpbWVyIGxva2lfdGltZXI7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWxva2kvaXJxLmMgYi9hcmNoL2FybS9tYWNoLWxva2kvaXJxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgzOWFmOQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbG9raS9pcnEuYwpAQCAtMCwwICsxLDIxIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1sb2tpL2lycS5jCisgKgorICogTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgSVJRIGhhbmRsaW5nLgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vaXJxLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKK3ZvaWQgX19pbml0IGxva2lfaW5pdF9pcnEodm9pZCkKK3sKKwlvcmlvbl9pcnFfaW5pdCgwLCAodm9pZCBfX2lvbWVtICopKElSUV9WSVJUX0JBU0UgKyBJUlFfTUFTS19PRkYpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbG9raS9sYjg4cmM4NDgwLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLWxva2kvbGI4OHJjODQ4MC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxYjllNmUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLWxva2kvbGI4OHJjODQ4MC1zZXR1cC5jCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1sb2tpL2xiODhyYzg0ODAtc2V0dXAuYworICoKKyAqIE1hcnZlbGwgTEI4OFJDODQ4MCBEZXZlbG9wbWVudCBCb2FyZCBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisKKyNkZWZpbmUgTEI4OFJDODQ4MF9GTEFTSF9CT09UX0NTX0JBU0UJMHhmODAwMDAwMAorI2RlZmluZSBMQjg4UkM4NDgwX0ZMQVNIX0JPT1RfQ1NfU0laRQlTWl8xMjhNCisKKyNkZWZpbmUgTEI4OFJDODQ4MF9OT1JfQk9PVF9CQVNFCTB4ZmYwMDAwMDAKKyNkZWZpbmUgTEI4OFJDODQ4MF9OT1JfQk9PVF9TSVpFCVNaXzE2TQorCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gbGI4OHJjODQ4MF9ib290X2ZsYXNoX3BhcnRzW10gPSB7CisJeworCQkubmFtZQk9ICJrZXJuZWwiLAorCQkub2Zmc2V0CT0gMCwKKwkJLnNpemUJPSBTWl8yTSwKKwl9LCB7CisJCS5uYW1lCT0gInJvb3QtZnMiLAorCQkub2Zmc2V0CT0gU1pfMk0sCisJCS5zaXplCT0gKFNaXzhNICsgU1pfNE0gKyBTWl8xTSksCisJfSwgeworCQkubmFtZQk9ICJ1LWJvb3QiLAorCQkub2Zmc2V0CT0gKFNaXzhNICsgU1pfNE0gKyBTWl8yTSArIFNaXzFNKSwKKwkJLnNpemUJPSBTWl8xTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgbGI4OHJjODQ4MF9ib290X2ZsYXNoX2RhdGEgPSB7CisJLnBhcnRzCQk9IGxiODhyYzg0ODBfYm9vdF9mbGFzaF9wYXJ0cywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKGxiODhyYzg0ODBfYm9vdF9mbGFzaF9wYXJ0cyksCisJLndpZHRoCQk9IDEsCS8qIDggYml0IGJ1cyB3aWR0aCAqLworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBsYjg4cmM4NDgwX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CT0gTEI4OFJDODQ4MF9OT1JfQk9PVF9CQVNFLAorCS5lbmQJPSBMQjg4UkM4NDgwX05PUl9CT09UX0JBU0UgKyBMQjg4UkM4NDgwX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbGI4OHJjODQ4MF9ib290X2ZsYXNoID0geworCS5uYW1lCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAk9IDAsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbGI4OHJjODQ4MF9ib290X2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gJmxiODhyYzg0ODBfYm9vdF9mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBsYjg4cmM4NDgwX2dlMF9kYXRhID0geworCS5waHlfYWRkcgk9IDEsCisJLm1hY19hZGRyCT0geyAweDAwLCAweDUwLCAweDQzLCAweDExLCAweDIyLCAweDMzIH0sCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgbGI4OHJjODQ4MF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBCYXNpYyBzZXR1cC4gTmVlZHMgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCWxva2lfaW5pdCgpOworCisJbG9raV9nZTBfaW5pdCgmbGI4OHJjODQ4MF9nZTBfZGF0YSk7CisJbG9raV9zYXNfaW5pdCgpOworCWxva2lfdWFydDBfaW5pdCgpOworCWxva2lfdWFydDFfaW5pdCgpOworCisJbG9raV9zZXR1cF9kZXZfYm9vdF93aW4oTEI4OFJDODQ4MF9GTEFTSF9CT09UX0NTX0JBU0UsCisJCQkJTEI4OFJDODQ4MF9GTEFTSF9CT09UX0NTX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbGI4OHJjODQ4MF9ib290X2ZsYXNoKTsKK30KKworTUFDSElORV9TVEFSVChMQjg4UkM4NDgwLCAiTWFydmVsbCBMQjg4UkM4NDgwIERldmVsb3BtZW50IEJvYXJkIikKKwkvKiBNYWludGFpbmVyOiBLZSBXZWkgPGtld2VpQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gTE9LSV9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKExPS0lfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBsYjg4cmM4NDgwX2luaXQsCisJLm1hcF9pbwkJPSBsb2tpX21hcF9pbywKKwkuaW5pdF9pcnEJPSBsb2tpX2luaXRfaXJxLAorCS50aW1lcgkJPSAmbG9raV90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9LY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4M2NiODYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvS2NvbmZpZwpAQCAtMCwwICsxLDEzIEBACitpZiBBUkNIX01WNzhYWDAKKworbWVudSAiTWFydmVsbCBNVjc4eHgwIEltcGxlbWVudGF0aW9ucyIKKworY29uZmlnIE1BQ0hfREI3OFgwMF9CUAorCWJvb2wgIk1hcnZlbGwgREItNzh4MDAtQlAgRGV2ZWxvcG1lbnQgQm9hcmQiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBNYXJ2ZWxsIERCLTc4eDAwLUJQIERldmVsb3BtZW50IEJvYXJkLgorCitlbmRtZW51CisKK2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMxNmMwNQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZQpAQCAtMCwwICsxLDIgQEAKK29iai15CQkJCSs9IGNvbW1vbi5vIGFkZHItbWFwLm8gaXJxLm8gcGNpZS5vCitvYmotJChDT05GSUdfTUFDSF9EQjc4WDAwX0JQKQkrPSBkYjc4eDAwLWJwLXNldHVwLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZS5ib290IGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL01ha2VmaWxlLmJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcwMzljMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9NYWtlZmlsZS5ib290CkBAIC0wLDAgKzEsMyBAQAorICAgenJlbGFkZHIteQk6PSAweDAwMDA4MDAwCitwYXJhbXNfcGh5cy15CTo9IDB4MDAwMDAxMDAKK2luaXRyZF9waHlzLXkJOj0gMHgwMDgwMDAwMApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2FkZHItbWFwLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvYWRkci1tYXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDA0YjY3Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2FkZHItbWFwLmMKQEAgLTAsMCArMSwxNTYgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvYWRkci1tYXAuYworICoKKyAqIEFkZHJlc3MgbWFwIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworLyoKKyAqIEdlbmVyaWMgQWRkcmVzcyBEZWNvZGUgV2luZG93cyBiaXQgc2V0dGluZ3MKKyAqLworI2RlZmluZSBUQVJHRVRfRERSCQkwCisjZGVmaW5lIFRBUkdFVF9ERVZfQlVTCQkxCisjZGVmaW5lIFRBUkdFVF9QQ0lFMAkJNAorI2RlZmluZSBUQVJHRVRfUENJRTEJCTgKKyNkZWZpbmUgVEFSR0VUX1BDSUUoaSkJCSgoaSkgPyBUQVJHRVRfUENJRTEgOiBUQVJHRVRfUENJRTApCisjZGVmaW5lIEFUVFJfREVWX1NQSV9ST00JMHgxZgorI2RlZmluZSBBVFRSX0RFVl9CT09UCQkweDJmCisjZGVmaW5lIEFUVFJfREVWX0NTMwkJMHgzNworI2RlZmluZSBBVFRSX0RFVl9DUzIJCTB4M2IKKyNkZWZpbmUgQVRUUl9ERVZfQ1MxCQkweDNkCisjZGVmaW5lIEFUVFJfREVWX0NTMAkJMHgzZQorI2RlZmluZSBBVFRSX1BDSUVfSU8obCkJCSgweGYwICYgfigweDEwIDw8IChsKSkpCisjZGVmaW5lIEFUVFJfUENJRV9NRU0obCkJKDB4ZjggJiB+KDB4MTAgPDwgKGwpKSkKKworLyoKKyAqIEhlbHBlcnMgdG8gZ2V0IEREUiBiYW5rIGluZm8KKyAqLworI2RlZmluZSBERFJfQkFTRV9DU19PRkYobikJKDB4MDAwMCArICgobikgPDwgMykpCisjZGVmaW5lIEREUl9TSVpFX0NTX09GRihuKQkoMHgwMDA0ICsgKChuKSA8PCAzKSkKKworLyoKKyAqIENQVSBBZGRyZXNzIERlY29kZSBXaW5kb3dzIHJlZ2lzdGVycworICovCisjZGVmaW5lIFdJTjBfT0ZGKG4pCQkoQlJJREdFX1ZJUlRfQkFTRSArIDB4MDAwMCArICgobikgPDwgNCkpCisjZGVmaW5lIFdJTjhfT0ZGKG4pCQkoQlJJREdFX1ZJUlRfQkFTRSArIDB4MDkwMCArICgoKG4pIC0gOCkgPDwgNCkpCisjZGVmaW5lIFdJTl9DVFJMX09GRgkJMHgwMDAwCisjZGVmaW5lIFdJTl9CQVNFX09GRgkJMHgwMDA0CisjZGVmaW5lIFdJTl9SRU1BUF9MT19PRkYJMHgwMDA4CisjZGVmaW5lIFdJTl9SRU1BUF9ISV9PRkYJMHgwMDBjCisKKworc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBtdjc4eHgwX21idXNfZHJhbV9pbmZvOworCitzdGF0aWMgdm9pZCBfX2luaXQgX19pb21lbSAqd2luX2NmZ19iYXNlKGludCB3aW4pCit7CisJLyoKKwkgKiBGaW5kIHRoZSBjb250cm9sIHJlZ2lzdGVyIGJhc2UgYWRkcmVzcyBmb3IgdGhpcyB3aW5kb3cuCisJICoKKwkgKiBCUklER0VfVklSVF9CQVNFIHBvaW50cyB0byB0aGUgcmlnaHQgKENQVTAncyBvciBDUFUxJ3MpCisJICogTUJVUyBicmlkZ2UgZGVwZW5kaW5nIG9uIHdoaWNoIENQVSBjb3JlIHdlJ3JlIHJ1bm5pbmcgb24sCisJICogc28gd2UgZG9uJ3QgbmVlZCB0byB0YWtlIHRoYXQgaW50byBhY2NvdW50IGhlcmUuCisJICovCisKKwlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSgod2luIDwgOCkgPyBXSU4wX09GRih3aW4pIDogV0lOOF9PRkYod2luKSk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGNwdV93aW5fY2FuX3JlbWFwKGludCB3aW4pCit7CisJaWYgKHdpbiA8IDgpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9jcHVfd2luKGludCB3aW4sIHUzMiBiYXNlLCB1MzIgc2l6ZSwKKwkJCQkgdTggdGFyZ2V0LCB1OCBhdHRyLCBpbnQgcmVtYXApCit7CisJdm9pZCBfX2lvbWVtICphZGRyID0gd2luX2NmZ19iYXNlKHdpbik7CisJdTMyIGN0cmw7CisKKwliYXNlICY9IDB4ZmZmZjAwMDA7CisJY3RybCA9ICgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICh0YXJnZXQgPDwgNCkgfCAxOworCisJd3JpdGVsKGJhc2UsIGFkZHIgKyBXSU5fQkFTRV9PRkYpOworCXdyaXRlbChjdHJsLCBhZGRyICsgV0lOX0NUUkxfT0ZGKTsKKwlpZiAoY3B1X3dpbl9jYW5fcmVtYXAod2luKSkgeworCQlpZiAocmVtYXAgPCAwKQorCQkJcmVtYXAgPSBiYXNlOworCisJCXdyaXRlbChyZW1hcCAmIDB4ZmZmZjAwMDAsIGFkZHIgKyBXSU5fUkVNQVBfTE9fT0ZGKTsKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fUkVNQVBfSElfT0ZGKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfc2V0dXBfY3B1X21idXModm9pZCkKK3sKKwl2b2lkIF9faW9tZW0gKmFkZHI7CisJaW50IGk7CisJaW50IGNzOworCisJLyoKKwkgKiBGaXJzdCwgZGlzYWJsZSBhbmQgY2xlYXIgd2luZG93cy4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTQ7IGkrKykgeworCQlhZGRyID0gd2luX2NmZ19iYXNlKGkpOworCisJCXdyaXRlbCgwLCBhZGRyICsgV0lOX0JBU0VfT0ZGKTsKKwkJd3JpdGVsKDAsIGFkZHIgKyBXSU5fQ1RSTF9PRkYpOworCQlpZiAoY3B1X3dpbl9jYW5fcmVtYXAoaSkpIHsKKwkJCXdyaXRlbCgwLCBhZGRyICsgV0lOX1JFTUFQX0xPX09GRik7CisJCQl3cml0ZWwoMCwgYWRkciArIFdJTl9SRU1BUF9ISV9PRkYpOworCQl9CisJfQorCisJLyoKKwkgKiBTZXR1cCBNQlVTIGRyYW0gdGFyZ2V0IGluZm8uCisJICovCisJbXY3OHh4MF9tYnVzX2RyYW1faW5mby5tYnVzX2RyYW1fdGFyZ2V0X2lkID0gVEFSR0VUX0REUjsKKworCWlmIChtdjc4eHgwX2NvcmVfaW5kZXgoKSA9PSAwKQorCQlhZGRyID0gKHZvaWQgX19pb21lbSAqKUREUl9XSU5ET1dfQ1BVMF9CQVNFOworCWVsc2UKKwkJYWRkciA9ICh2b2lkIF9faW9tZW0gKilERFJfV0lORE9XX0NQVTFfQkFTRTsKKworCWZvciAoaSA9IDAsIGNzID0gMDsgaSA8IDQ7IGkrKykgeworCQl1MzIgYmFzZSA9IHJlYWRsKGFkZHIgKyBERFJfQkFTRV9DU19PRkYoaSkpOworCQl1MzIgc2l6ZSA9IHJlYWRsKGFkZHIgKyBERFJfU0laRV9DU19PRkYoaSkpOworCisJCS8qCisJCSAqIENoaXAgc2VsZWN0IGVuYWJsZWQ/CisJCSAqLworCQlpZiAoc2l6ZSAmIDEpIHsKKwkJCXN0cnVjdCBtYnVzX2RyYW1fd2luZG93ICp3OworCisJCQl3ID0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8uY3NbY3MrK107CisJCQl3LT5jc19pbmRleCA9IGk7CisJCQl3LT5tYnVzX2F0dHIgPSAweGYgJiB+KDEgPDwgaSk7CisJCQl3LT5iYXNlID0gYmFzZSAmIDB4ZmZmZjAwMDA7CisJCQl3LT5zaXplID0gKHNpemUgfCAweDAwMDBmZmZmKSArIDE7CisJCX0KKwl9CisJbXY3OHh4MF9tYnVzX2RyYW1faW5mby5udW1fY3MgPSBjczsKK30KKwordm9pZCBfX2luaXQgbXY3OHh4MF9zZXR1cF9wY2llX2lvX3dpbihpbnQgd2luZG93LCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJICAgICAgaW50IG1haiwgaW50IG1pbikKK3sKKwlzZXR1cF9jcHVfd2luKHdpbmRvdywgYmFzZSwgc2l6ZSwgVEFSR0VUX1BDSUUobWFqKSwKKwkJICAgICAgQVRUUl9QQ0lFX0lPKG1pbiksIC0xKTsKK30KKwordm9pZCBfX2luaXQgbXY3OHh4MF9zZXR1cF9wY2llX21lbV93aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJCSAgICAgICBpbnQgbWFqLCBpbnQgbWluKQoreworCXNldHVwX2NwdV93aW4od2luZG93LCBiYXNlLCBzaXplLCBUQVJHRVRfUENJRShtYWopLAorCQkgICAgICBBVFRSX1BDSUVfTUVNKG1pbiksIC0xKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uYyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjdiODNiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5jCkBAIC0wLDAgKzEsNzU0IEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5jCisgKgorICogQ29yZSBmdW5jdGlvbnMgZm9yIE1hcnZlbGwgTVY3OHh4MCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfODI1MC5oPgorI2luY2x1ZGUgPGxpbnV4L21idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tdjc4eHgwLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9laGNpLW9yaW9uLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL3RpbWUuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIENvbW1vbiBiaXRzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK2ludCBtdjc4eHgwX2NvcmVfaW5kZXgodm9pZCkKK3sKKwl1MzIgZXh0cmE7CisKKwkvKgorCSAqIFJlYWQgRXh0cmEgRmVhdHVyZXMgcmVnaXN0ZXIuCisJICovCisJX19hc21fXygibXJjIHAxNSwgMSwgJTAsIGMxNSwgYzEsIDAiIDogIj1yIiAoZXh0cmEpKTsKKworCXJldHVybiAhIShleHRyYSAmIDB4MDAwMDQwMDApOworfQorCitzdGF0aWMgaW50IGdldF9oY2xrKHZvaWQpCit7CisJaW50IGhjbGs7CisKKwkvKgorCSAqIEhDTEsgdGljayByYXRlIGlzIGNvbmZpZ3VyZWQgYnkgREVWX0RbNzo1XSBwaW5zLgorCSAqLworCXN3aXRjaCAoKHJlYWRsKFNBTVBMRV9BVF9SRVNFVF9MT1cpID4+IDUpICYgNykgeworCWNhc2UgMDoKKwkJaGNsayA9IDE2NjY2NjY2NzsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQloY2xrID0gMjAwMDAwMDAwOworCQlicmVhazsKKwljYXNlIDI6CisJCWhjbGsgPSAyNjY2NjY2Njc7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJaGNsayA9IDMzMzMzMzMzMzsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQloY2xrID0gNDAwMDAwMDAwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwYW5pYygidW5rbm93biBIQ0xLIFBMTCBzZXR0aW5nOiAlLjh4XG4iLAorCQkJcmVhZGwoU0FNUExFX0FUX1JFU0VUX0xPVykpOworCX0KKworCXJldHVybiBoY2xrOworfQorCitzdGF0aWMgdm9pZCBnZXRfcGNsa19sMmNsayhpbnQgaGNsaywgaW50IGNvcmVfaW5kZXgsIGludCAqcGNsaywgaW50ICpsMmNsaykKK3sKKwl1MzIgY2ZnOworCisJLyoKKwkgKiBDb3JlICMwIFBDTEsvTDJDTEsgaXMgY29uZmlndXJlZCBieSBiaXRzIFsxMzo4XSwgY29yZSAjMQorCSAqIFBDTEsvTDJDTEsgYnkgYml0cyBbMTk6MTRdLgorCSAqLworCWlmIChjb3JlX2luZGV4ID09IDApIHsKKwkJY2ZnID0gKHJlYWRsKFNBTVBMRV9BVF9SRVNFVF9MT1cpID4+IDgpICYgMHgzZjsKKwl9IGVsc2UgeworCQljZmcgPSAocmVhZGwoU0FNUExFX0FUX1JFU0VUX0xPVykgPj4gMTQpICYgMHgzZjsKKwl9CisKKwkvKgorCSAqIEJpdHMgWzExOjhdIChbMTc6MTRdIGZvciBjb3JlICMxKSBjb25maWd1cmUgdGhlIFBDTEs6SENMSworCSAqIHJhdGlvICgxLCAxLjUsIDIsIDIuNSwgMywgMy41LCA0LCA0LjUsIDUsIDUuNSwgNikuCisJICovCisJKnBjbGsgPSAoKHU2NCloY2xrICogKDIgKyAoY2ZnICYgMHhmKSkpID4+IDE7CisKKwkvKgorCSAqIEJpdHMgWzEzOjEyXSAoWzE5OjE4XSBmb3IgY29yZSAjMSkgY29uZmlndXJlIHRoZSBQQ0xLOkwyQ0xLCisJICogcmF0aW8gKDEsIDIsIDMpLgorCSAqLworCSpsMmNsayA9ICpwY2xrIC8gKCgoY2ZnID4+IDQpICYgMykgKyAxKTsKK30KKworc3RhdGljIGludCBnZXRfdGNsayh2b2lkKQoreworCWludCB0Y2xrOworCisJLyoKKwkgKiBUQ0xLIHRpY2sgcmF0ZSBpcyBjb25maWd1cmVkIGJ5IERFVl9BWzI6MF0gc3RyYXAgcGlucy4KKwkgKi8KKwlzd2l0Y2ggKChyZWFkbChTQU1QTEVfQVRfUkVTRVRfSElHSCkgPj4gNikgJiA3KSB7CisJY2FzZSAxOgorCQl0Y2xrID0gMTY2NjY2NjY3OworCQlicmVhazsKKwljYXNlIDM6CisJCXRjbGsgPSAyMDAwMDAwMDA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXBhbmljKCJ1bmtub3duIFRDTEsgUExMIHNldHRpbmc6ICUuOHhcbiIsCisJCQlyZWFkbChTQU1QTEVfQVRfUkVTRVRfSElHSCkpOworCX0KKworCXJldHVybiB0Y2xrOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogSS9PIEFkZHJlc3MgTWFwcGluZworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG12Nzh4eDBfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbAk9IE1WNzhYWDBfQ09SRV9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSAwLAorCQkubGVuZ3RoCQk9IE1WNzhYWDBfQ09SRV9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CisJCS52aXJ0dWFsCT0gTVY3OFhYMF9QQ0lFX0lPX1ZJUlRfQkFTRSgwKSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoMCkpLAorCQkubGVuZ3RoCQk9IE1WNzhYWDBfUENJRV9JT19TSVpFICogOCwKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKKwkJLnZpcnR1YWwJPSBNVjc4WFgwX1JFR1NfVklSVF9CQVNFLAorCQkucGZuCQk9IF9fcGh5c190b19wZm4oTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSksCisJCS5sZW5ndGgJCT0gTVY3OFhYMF9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9tYXBfaW8odm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIHBoeXM7CisKKwkvKgorCSAqIE1hcCB0aGUgcmlnaHQgc2V0IG9mIHBlci1jb3JlIHJlZ2lzdGVycyBkZXBlbmRpbmcgb24KKwkgKiB3aGljaCBjb3JlIHdlIGFyZSBydW5uaW5nIG9uLgorCSAqLworCWlmIChtdjc4eHgwX2NvcmVfaW5kZXgoKSA9PSAwKSB7CisJCXBoeXMgPSBNVjc4WFgwX0NPUkUwX1JFR1NfUEhZU19CQVNFOworCX0gZWxzZSB7CisJCXBoeXMgPSBNVjc4WFgwX0NPUkUxX1JFR1NfUEhZU19CQVNFOworCX0KKwltdjc4eHgwX2lvX2Rlc2NbMF0ucGZuID0gX19waHlzX3RvX3BmbihwaHlzKTsKKworCWlvdGFibGVfaW5pdChtdjc4eHgwX2lvX2Rlc2MsIEFSUkFZX1NJWkUobXY3OHh4MF9pb19kZXNjKSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb25fZWhjaV9kYXRhIG12Nzh4eDBfZWhjaV9kYXRhID0geworCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHU2NCBlaGNpX2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZWhjaTBfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBVU0IwX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFVTQjBfUEhZU19CQVNFICsgMHgwZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAk9IElSUV9NVjc4WFgwX1VTQl8wLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfVVNCXzAsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2VoY2kwID0geworCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLmRtYV9tYXNrCQk9ICZlaGNpX2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzawk9IDB4ZmZmZmZmZmYsCisJCS5wbGF0Zm9ybV9kYXRhCQk9ICZtdjc4eHgwX2VoY2lfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZWhjaTBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShtdjc4eHgwX2VoY2kwX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2VoY2kwX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZWhjaTApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2VoY2kxX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gVVNCMV9QSFlTX0JBU0UsCisJCS5lbmQJPSBVU0IxX1BIWVNfQkFTRSArIDB4MGZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9VU0JfMSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX1VTQl8xLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9laGNpMSA9IHsKKwkubmFtZQkJPSAib3Jpb24tZWhjaSIsCisJLmlkCQk9IDEsCisJLmRldgkJPSB7CisJCS5kbWFfbWFzawkJPSAmZWhjaV9kbWFtYXNrLAorCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAorCQkucGxhdGZvcm1fZGF0YQkJPSAmbXY3OHh4MF9laGNpX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2VoY2kxX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUobXY3OHh4MF9laGNpMV9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9laGNpMV9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2VoY2kxKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEVIQ0kyCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9laGNpMl9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAk9IFVTQjJfUEhZU19CQVNFLAorCQkuZW5kCT0gVVNCMl9QSFlTX0JBU0UgKyAweDBmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfVVNCXzIsCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9VU0JfMiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZWhjaTIgPSB7CisJLm5hbWUJCT0gIm9yaW9uLWVoY2kiLAorCS5pZAkJPSAyLAorCS5kZXYJCT0geworCQkuZG1hX21hc2sJCT0gJmVoY2lfZG1hbWFzaywKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwkJLnBsYXRmb3JtX2RhdGEJCT0gJm12Nzh4eDBfZWhjaV9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gbXY3OHh4MF9laGNpMl9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG12Nzh4eDBfZWhjaTJfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZWhjaTJfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9laGNpMik7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTAwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBtdjc4eHgwX2dlMDBfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IDAsCisJLmRyYW0JCT0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UwMF9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAwIGJhc2UiLAorCQkuc3RhcnQJPSBHRTAwX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMDBfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTAwX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXY3OHh4MF9nZTAwX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UwMF9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMDBfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTAwIGlycSIsCisJCS5zdGFydAk9IElSUV9NVjc4WFgwX0dFMDBfU1VNLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfR0UwMF9TVU0sCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMDAgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMCwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTAwX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZ2UwMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJm12Nzh4eDBfZ2UwMF9zaGFyZWQ7CisJbXY3OHh4MF9nZTAwLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UwMF9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTAwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdFMDEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RydWN0IG12NjQzeHhfZXRoX3NoYXJlZF9wbGF0Zm9ybV9kYXRhIG12Nzh4eDBfZ2UwMV9zaGFyZWRfZGF0YSA9IHsKKwkudF9jbGsJCT0gMCwKKwkuZHJhbQkJPSAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTAxX3NoYXJlZF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDEgYmFzZSIsCisJCS5zdGFydAk9IEdFMDFfUEhZU19CQVNFICsgMHgyMDAwLAorCQkuZW5kCT0gR0UwMV9QSFlTX0JBU0UgKyAweDNmZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMDFfc2hhcmVkID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX1NIQVJFRF9OQU1FLAorCS5pZAkJPSAxLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZtdjc4eHgwX2dlMDFfc2hhcmVkX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTAxX3NoYXJlZF9yZXNvdXJjZXMsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UwMV9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5uYW1lCT0gImdlMDEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX01WNzhYWDBfR0UwMV9TVU0sCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9HRTAxX1NVTSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UwMSA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9OQU1FLAorCS5pZAkJPSAxLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMDFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9nZTAxX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKQoreworCWV0aF9kYXRhLT5zaGFyZWQgPSAmbXY3OHh4MF9nZTAxX3NoYXJlZDsKKwlldGhfZGF0YS0+c2hhcmVkX3NtaSA9ICZtdjc4eHgwX2dlMDBfc2hhcmVkOworCW12Nzh4eDBfZ2UwMS5kZXYucGxhdGZvcm1fZGF0YSA9IGV0aF9kYXRhOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMDFfc2hhcmVkKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UwMSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHRTEwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBtdjc4eHgwX2dlMTBfc2hhcmVkX2RhdGEgPSB7CisJLnRfY2xrCQk9IDAsCisJLmRyYW0JCT0gJm12Nzh4eDBfbWJ1c19kcmFtX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfZ2UxMF9zaGFyZWRfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTEwIGJhc2UiLAorCQkuc3RhcnQJPSBHRTEwX1BIWVNfQkFTRSArIDB4MjAwMCwKKwkJLmVuZAk9IEdFMTBfUEhZU19CQVNFICsgMHgzZmZmLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTEwX3NoYXJlZCA9IHsKKwkubmFtZQkJPSBNVjY0M1hYX0VUSF9TSEFSRURfTkFNRSwKKwkuaWQJCT0gMiwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXY3OHh4MF9nZTEwX3NoYXJlZF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UxMF9zaGFyZWRfcmVzb3VyY2VzLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMTBfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJnZTEwIGlycSIsCisJCS5zdGFydAk9IElSUV9NVjc4WFgwX0dFMTBfU1VNLAorCQkuZW5kCT0gSVJRX01WNzhYWDBfR0UxMF9TVU0sCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtdjc4eHgwX2dlMTAgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfTkFNRSwKKwkuaWQJCT0gMiwKKwkubnVtX3Jlc291cmNlcwk9IDEsCisJLnJlc291cmNlCT0gbXY3OHh4MF9nZTEwX3Jlc291cmNlcywKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfZ2UxMF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSkKK3sKKwlldGhfZGF0YS0+c2hhcmVkID0gJm12Nzh4eDBfZ2UxMF9zaGFyZWQ7CisJZXRoX2RhdGEtPnNoYXJlZF9zbWkgPSAmbXY3OHh4MF9nZTAwX3NoYXJlZDsKKwltdjc4eHgwX2dlMTAuZGV2LnBsYXRmb3JtX2RhdGEgPSBldGhfZGF0YTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTEwX3NoYXJlZCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjc4eHgwX2dlMTApOworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR0UxMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdHJ1Y3QgbXY2NDN4eF9ldGhfc2hhcmVkX3BsYXRmb3JtX2RhdGEgbXY3OHh4MF9nZTExX3NoYXJlZF9kYXRhID0geworCS50X2NsawkJPSAwLAorCS5kcmFtCQk9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX2dlMTFfc2hhcmVkX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxMSBiYXNlIiwKKwkJLnN0YXJ0CT0gR0UxMV9QSFlTX0JBU0UgKyAweDIwMDAsCisJCS5lbmQJPSBHRTExX1BIWVNfQkFTRSArIDB4M2ZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfZ2UxMV9zaGFyZWQgPSB7CisJLm5hbWUJCT0gTVY2NDNYWF9FVEhfU0hBUkVEX05BTUUsCisJLmlkCQk9IDMsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12Nzh4eDBfZ2UxMV9zaGFyZWRfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gMSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX2dlMTFfc2hhcmVkX3Jlc291cmNlcywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXY3OHh4MF9nZTExX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJPSAiZ2UxMSBpcnEiLAorCQkuc3RhcnQJPSBJUlFfTVY3OFhYMF9HRTExX1NVTSwKKwkJLmVuZAk9IElSUV9NVjc4WFgwX0dFMTFfU1VNLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9nZTExID0geworCS5uYW1lCQk9IE1WNjQzWFhfRVRIX05BTUUsCisJLmlkCQk9IDMsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9IG12Nzh4eDBfZ2UxMV9yZXNvdXJjZXMsCit9OworCit2b2lkIF9faW5pdCBtdjc4eHgwX2dlMTFfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpCit7CisJZXRoX2RhdGEtPnNoYXJlZCA9ICZtdjc4eHgwX2dlMTFfc2hhcmVkOworCWV0aF9kYXRhLT5zaGFyZWRfc21pID0gJm12Nzh4eDBfZ2UwMF9zaGFyZWQ7CisJbXY3OHh4MF9nZTExLmRldi5wbGF0Zm9ybV9kYXRhID0gZXRoX2RhdGE7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfZ2UxMV9zaGFyZWQpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF9nZTExKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtdjc4eHgwX3NhdGFfcmVzb3VyY2VzW10gPSB7CisJeworCQkubmFtZQk9ICJzYXRhIGJhc2UiLAorCQkuc3RhcnQJPSBTQVRBX1BIWVNfQkFTRSwKKwkJLmVuZAk9IFNBVEFfUEhZU19CQVNFICsgMHg1MDAwIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJzYXRhIGlycSIsCisJCS5zdGFydAk9IElSUV9NVjc4WFgwX1NBVEEsCisJCS5lbmQJPSBJUlFfTVY3OFhYMF9TQVRBLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXY3OHh4MF9zYXRhID0geworCS5uYW1lCQk9ICJzYXRhX212IiwKKwkuaWQJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLmNvaGVyZW50X2RtYV9tYXNrCT0gMHhmZmZmZmZmZiwKKwl9LAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShtdjc4eHgwX3NhdGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBtdjc4eHgwX3NhdGFfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgbXY3OHh4MF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKQoreworCXNhdGFfZGF0YS0+ZHJhbSA9ICZtdjc4eHgwX21idXNfZHJhbV9pbmZvOworCW12Nzh4eDBfc2F0YS5kZXYucGxhdGZvcm1fZGF0YSA9IHNhdGFfZGF0YTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm12Nzh4eDBfc2F0YSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG12Nzh4eDBfdWFydDBfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMF9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX01WNzhYWDBfVUFSVF8wLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IDAsCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfdWFydDBfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDBfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQwX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfTVY3OFhYMF9VQVJUXzAsCisJCS5lbmQJCT0gSVJRX01WNzhYWDBfVUFSVF8wLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDAsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IG12Nzh4eDBfdWFydDBfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBtdjc4eHgwX3VhcnQwX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG12Nzh4eDBfdWFydDBfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfdWFydDBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF91YXJ0MCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG12Nzh4eDBfdWFydDFfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMV9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMV9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX01WNzhYWDBfVUFSVF8xLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IDAsCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfdWFydDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfTVY3OFhYMF9VQVJUXzEsCisJCS5lbmQJCT0gSVJRX01WNzhYWDBfVUFSVF8xLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfdWFydDEgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDEsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IG12Nzh4eDBfdWFydDFfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBtdjc4eHgwX3VhcnQxX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG12Nzh4eDBfdWFydDFfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfdWFydDFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF91YXJ0MSk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG12Nzh4eDBfdWFydDJfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUMl9QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUMl9WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX01WNzhYWDBfVUFSVF8yLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IDAsCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfdWFydDJfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDJfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQyX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfTVY3OFhYMF9VQVJUXzIsCisJCS5lbmQJCT0gSVJRX01WNzhYWDBfVUFSVF8yLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfdWFydDIgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDIsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IG12Nzh4eDBfdWFydDJfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBtdjc4eHgwX3VhcnQyX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG12Nzh4eDBfdWFydDJfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfdWFydDJfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF91YXJ0Mik7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBVQVJUMworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG12Nzh4eDBfdWFydDNfZGF0YVtdID0geworCXsKKwkJLm1hcGJhc2UJPSBVQVJUM19QSFlTX0JBU0UsCisJCS5tZW1iYXNlCT0gKGNoYXIgKilVQVJUM19WSVJUX0JBU0UsCisJCS5pcnEJCT0gSVJRX01WNzhYWDBfVUFSVF8zLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IDAsCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12Nzh4eDBfdWFydDNfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDNfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQzX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfTVY3OFhYMF9VQVJUXzMsCisJCS5lbmQJCT0gSVJRX01WNzhYWDBfVUFSVF8zLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12Nzh4eDBfdWFydDMgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IDMsCisJLmRldgkJCT0geworCQkucGxhdGZvcm1fZGF0YQk9IG12Nzh4eDBfdWFydDNfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQkJPSBtdjc4eHgwX3VhcnQzX3Jlc291cmNlcywKKwkubnVtX3Jlc291cmNlcwkJPSBBUlJBWV9TSVpFKG12Nzh4eDBfdWFydDNfcmVzb3VyY2VzKSwKK307CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfdWFydDNfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXY3OHh4MF91YXJ0Myk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUaW1lIGhhbmRsaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyB2b2lkIG12Nzh4eDBfdGltZXJfaW5pdCh2b2lkKQoreworCW9yaW9uX3RpbWVfaW5pdChJUlFfTVY3OFhYMF9USU1FUl8xLCBnZXRfdGNsaygpKTsKK30KKworc3RydWN0IHN5c190aW1lciBtdjc4eHgwX3RpbWVyID0geworCS5pbml0ID0gbXY3OHh4MF90aW1lcl9pbml0LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIGludCBfX2luaXQgaXNfbDJfd3JpdGV0aHJvdWdoKHZvaWQpCit7CisJcmV0dXJuICEhKHJlYWRsKENQVV9DT05UUk9MKSAmIEwyX1dSSVRFVEhST1VHSCk7Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfaW5pdCh2b2lkKQoreworCWludCBjb3JlX2luZGV4OworCWludCBoY2xrOworCWludCBwY2xrOworCWludCBsMmNsazsKKwlpbnQgdGNsazsKKworCWNvcmVfaW5kZXggPSBtdjc4eHgwX2NvcmVfaW5kZXgoKTsKKwloY2xrID0gZ2V0X2hjbGsoKTsKKwlnZXRfcGNsa19sMmNsayhoY2xrLCBjb3JlX2luZGV4LCAmcGNsaywgJmwyY2xrKTsKKwl0Y2xrID0gZ2V0X3RjbGsoKTsKKworCXByaW50ayhLRVJOX0lORk8gIk1WNzh4eDAgY29yZSAjJWQsICIsIGNvcmVfaW5kZXgpOworCXByaW50aygiUENMSyA9ICVkTUh6LCAiLCAocGNsayArIDQ5OTk5OSkgLyAxMDAwMDAwKTsKKwlwcmludGsoIkwyID0gJWRNSHosICIsIChsMmNsayArIDQ5OTk5OSkgLyAxMDAwMDAwKTsKKwlwcmludGsoIkhDTEsgPSAlZE1IeiwgIiwgKGhjbGsgKyA0OTk5OTkpIC8gMTAwMDAwMCk7CisJcHJpbnRrKCJUQ0xLID0gJWRNSHpcbiIsICh0Y2xrICsgNDk5OTk5KSAvIDEwMDAwMDApOworCisJbXY3OHh4MF9zZXR1cF9jcHVfbWJ1cygpOworCisjaWZkZWYgQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyCisJZmVyb2Nlb25fbDJfaW5pdChpc19sMl93cml0ZXRocm91Z2goKSk7CisjZW5kaWYKKworCW12Nzh4eDBfZ2UwMF9zaGFyZWRfZGF0YS50X2NsayA9IHRjbGs7CisJbXY3OHh4MF9nZTAxX3NoYXJlZF9kYXRhLnRfY2xrID0gdGNsazsKKwltdjc4eHgwX2dlMTBfc2hhcmVkX2RhdGEudF9jbGsgPSB0Y2xrOworCW12Nzh4eDBfZ2UxMV9zaGFyZWRfZGF0YS50X2NsayA9IHRjbGs7CisJbXY3OHh4MF91YXJ0MF9kYXRhWzBdLnVhcnRjbGsgPSB0Y2xrOworCW12Nzh4eDBfdWFydDFfZGF0YVswXS51YXJ0Y2xrID0gdGNsazsKKwltdjc4eHgwX3VhcnQyX2RhdGFbMF0udWFydGNsayA9IHRjbGs7CisJbXY3OHh4MF91YXJ0M19kYXRhWzBdLnVhcnRjbGsgPSB0Y2xrOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5oIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2NvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YWY1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvY29tbW9uLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9jb21tb24uaAorICoKKyAqIENvcmUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BUkNIX01WNzhYWDBfQ09NTU9OX0gKKyNkZWZpbmUgX19BUkNIX01WNzhYWDBfQ09NTU9OX0gKKworc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7CitzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOworCisvKgorICogQmFzaWMgTVY3OHh4MCBpbml0IGZ1bmN0aW9ucyB1c2VkIGVhcmx5IGJ5IG1hY2hpbmUtc2V0dXAuCisgKi8KK2ludCBtdjc4eHgwX2NvcmVfaW5kZXgodm9pZCk7Cit2b2lkIG12Nzh4eDBfbWFwX2lvKHZvaWQpOwordm9pZCBtdjc4eHgwX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfaW5pdF9pcnEodm9pZCk7CisKK2V4dGVybiBzdHJ1Y3QgbWJ1c19kcmFtX3RhcmdldF9pbmZvIG12Nzh4eDBfbWJ1c19kcmFtX2luZm87Cit2b2lkIG12Nzh4eDBfc2V0dXBfY3B1X21idXModm9pZCk7Cit2b2lkIG12Nzh4eDBfc2V0dXBfcGNpZV9pb193aW4oaW50IHdpbmRvdywgdTMyIGJhc2UsIHUzMiBzaXplLAorCQkJICAgICAgIGludCBtYWosIGludCBtaW4pOwordm9pZCBtdjc4eHgwX3NldHVwX3BjaWVfbWVtX3dpbihpbnQgd2luZG93LCB1MzIgYmFzZSwgdTMyIHNpemUsCisJCQkJaW50IG1haiwgaW50IG1pbik7CisKK3ZvaWQgbXY3OHh4MF9laGNpMF9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX2VoY2kxX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfZWhjaTJfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF9nZTAwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgbXY3OHh4MF9nZTAxX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgbXY3OHh4MF9nZTEwX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgbXY3OHh4MF9nZTExX2luaXQoc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgKmV0aF9kYXRhKTsKK3ZvaWQgbXY3OHh4MF9wY2llX2luaXQoaW50IGluaXRfcG9ydDAsIGludCBpbml0X3BvcnQxKTsKK3ZvaWQgbXY3OHh4MF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKTsKK3ZvaWQgbXY3OHh4MF91YXJ0MF9pbml0KHZvaWQpOwordm9pZCBtdjc4eHgwX3VhcnQxX2luaXQodm9pZCk7Cit2b2lkIG12Nzh4eDBfdWFydDJfaW5pdCh2b2lkKTsKK3ZvaWQgbXY3OHh4MF91YXJ0M19pbml0KHZvaWQpOworCitleHRlcm4gc3RydWN0IHN5c190aW1lciBtdjc4eHgwX3RpbWVyOworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2RiNzh4MDAtYnAtc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9kYjc4eDAwLWJwLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM5M2QxOQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9kYjc4eDAwLWJwLXNldHVwLmMKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtbXY3OHh4MC9kYjc4eDAwLWJwLXNldHVwLmMKKyAqCisgKiBNYXJ2ZWxsIERCLTc4eDAwLUJQIERldmVsb3BtZW50IEJvYXJkIFNldHVwCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIGRiNzh4MDBfZ2UwMF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI3OHgwMF9nZTAxX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX2dlMTBfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAtMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkYjc4eDAwX2dlMTFfZGF0YSA9IHsKKwkucGh5X2FkZHIJPSAtMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIGRiNzh4MDBfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBkYjc4eDAwX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIEJhc2ljIE1WNzh4eDAgc2V0dXAuIE5lZWRzIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwltdjc4eHgwX2luaXQoKTsKKworCS8qCisJICogUGFydGl0aW9uIG9uLWNoaXAgcGVyaXBoZXJhbHMgYmV0d2VlbiB0aGUgdHdvIENQVSBjb3Jlcy4KKwkgKi8KKwlpZiAobXY3OHh4MF9jb3JlX2luZGV4KCkgPT0gMCkgeworCQltdjc4eHgwX2VoY2kwX2luaXQoKTsKKwkJbXY3OHh4MF9laGNpMV9pbml0KCk7CisJCW12Nzh4eDBfZWhjaTJfaW5pdCgpOworCQltdjc4eHgwX2dlMDBfaW5pdCgmZGI3OHgwMF9nZTAwX2RhdGEpOworCQltdjc4eHgwX2dlMDFfaW5pdCgmZGI3OHgwMF9nZTAxX2RhdGEpOworCQltdjc4eHgwX2dlMTBfaW5pdCgmZGI3OHgwMF9nZTEwX2RhdGEpOworCQltdjc4eHgwX2dlMTFfaW5pdCgmZGI3OHgwMF9nZTExX2RhdGEpOworCQltdjc4eHgwX3NhdGFfaW5pdCgmZGI3OHgwMF9zYXRhX2RhdGEpOworCQltdjc4eHgwX3VhcnQwX2luaXQoKTsKKwkJbXY3OHh4MF91YXJ0Ml9pbml0KCk7CisJfSBlbHNlIHsKKwkJbXY3OHh4MF91YXJ0MV9pbml0KCk7CisJCW12Nzh4eDBfdWFydDNfaW5pdCgpOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgZGI3OHgwMF9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX2RiNzh4MDBfYnAoKSkgeworCQkvKgorCQkgKiBBc3NpZ24gdGhlIHgxNiBQQ0llIHNsb3Qgb24gdGhlIGJvYXJkIHRvIENQVSBjb3JlCisJCSAqICMwLCBhbmQgbGV0IENQVSBjb3JlICMxIGhhdmUgdGhlIGZvdXIgeDEgc2xvdHMuCisJCSAqLworCQlpZiAobXY3OHh4MF9jb3JlX2luZGV4KCkgPT0gMCkKKwkJCW12Nzh4eDBfcGNpZV9pbml0KDAsIDEpOworCQllbHNlCisJCQltdjc4eHgwX3BjaWVfaW5pdCgxLCAwKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChkYjc4eDAwX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChEQjc4WDAwX0JQLCAiTWFydmVsbCBEQi03OHgwMC1CUCBEZXZlbG9wbWVudCBCb2FyZCIpCisJLyogTWFpbnRhaW5lcjogTGVubmVydCBCdXl0ZW5oZWsgPGJ1eXRlbmhAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBNVjc4WFgwX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IGRiNzh4MDBfaW5pdCwKKwkubWFwX2lvCQk9IG12Nzh4eDBfbWFwX2lvLAorCS5pbml0X2lycQk9IG12Nzh4eDBfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZtdjc4eHgwX3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9pcnEuYyBiL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9pcnEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGY0ZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1tdjc4eHgwL2lycS5jCkBAIC0wLDAgKzEsMjIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW12Nzh4eDAvaXJxLmMKKyAqCisgKiBNVjc4eHgwIElSUSBoYW5kbGluZy4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9pcnEuaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKwordm9pZCBfX2luaXQgbXY3OHh4MF9pbml0X2lycSh2b2lkKQoreworCW9yaW9uX2lycV9pbml0KDAsICh2b2lkIF9faW9tZW0gKikoSVJRX1ZJUlRfQkFTRSArIElSUV9NQVNLX0xPV19PRkYpKTsKKwlvcmlvbl9pcnFfaW5pdCgzMiwgKHZvaWQgX19pb21lbSAqKShJUlFfVklSVF9CQVNFICsgSVJRX01BU0tfSElHSF9PRkYpKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXY3OHh4MC9wY2llLmMgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvcGNpZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3OGUxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW12Nzh4eDAvcGNpZS5jCkBAIC0wLDAgKzEsMzEyIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1tdjc4eHgwL3BjaWUuYworICoKKyAqIFBDSWUgZnVuY3Rpb25zIGZvciBNYXJ2ZWxsIE1WNzh4eDAgU29DcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vcGNpZS5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorCitzdHJ1Y3QgcGNpZV9wb3J0IHsKKwl1OAkJCW1hajsKKwl1OAkJCW1pbjsKKwl1OAkJCXJvb3RfYnVzX25yOworCXZvaWQgX19pb21lbQkJKmJhc2U7CisJc3BpbmxvY2tfdAkJY29uZl9sb2NrOworCWNoYXIJCQlpb19zcGFjZV9uYW1lWzE2XTsKKwljaGFyCQkJbWVtX3NwYWNlX25hbWVbMTZdOworCXN0cnVjdCByZXNvdXJjZQkJcmVzWzJdOworfTsKKworc3RhdGljIHN0cnVjdCBwY2llX3BvcnQgcGNpZV9wb3J0WzhdOworc3RhdGljIGludCBudW1fcGNpZV9wb3J0czsKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcGNpZV9pb19zcGFjZTsKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcGNpZV9tZW1fc3BhY2U7CisKKworc3RhdGljIHZvaWQgX19pbml0IG12Nzh4eDBfcGNpZV9wcmVpbml0KHZvaWQpCit7CisJaW50IGk7CisJdTMyIHNpemVfZWFjaDsKKwl1MzIgc3RhcnQ7CisJaW50IHdpbjsKKworCXBjaWVfaW9fc3BhY2UubmFtZSA9ICJQQ0llIEkvTyBTcGFjZSI7CisJcGNpZV9pb19zcGFjZS5zdGFydCA9IE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoMCk7CisJcGNpZV9pb19zcGFjZS5lbmQgPQorCQlNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKDApICsgTVY3OFhYMF9QQ0lFX0lPX1NJWkUgKiA4IC0gMTsKKwlwY2llX2lvX3NwYWNlLmZsYWdzID0gSU9SRVNPVVJDRV9JTzsKKwlpZiAocmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZwY2llX2lvX3NwYWNlKSkKKwkJcGFuaWMoImNhbid0IGFsbG9jYXRlIFBDSWUgSS9PIHNwYWNlIik7CisKKwlwY2llX21lbV9zcGFjZS5uYW1lID0gIlBDSWUgTUVNIFNwYWNlIjsKKwlwY2llX21lbV9zcGFjZS5zdGFydCA9IE1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFOworCXBjaWVfbWVtX3NwYWNlLmVuZCA9CisJCU1WNzhYWDBfUENJRV9NRU1fUEhZU19CQVNFICsgTVY3OFhYMF9QQ0lFX01FTV9TSVpFIC0gMTsKKwlwY2llX21lbV9zcGFjZS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNOworCWlmIChyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnBjaWVfbWVtX3NwYWNlKSkKKwkJcGFuaWMoImNhbid0IGFsbG9jYXRlIFBDSWUgTUVNIHNwYWNlIik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3BjaWVfcG9ydHM7IGkrKykgeworCQlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IHBjaWVfcG9ydCArIGk7CisKKwkJc25wcmludGYocHAtPmlvX3NwYWNlX25hbWUsIHNpemVvZihwcC0+aW9fc3BhY2VfbmFtZSksCisJCQkiUENJZSAlZC4lZCBJL08iLCBwcC0+bWFqLCBwcC0+bWluKTsKKwkJcHAtPmlvX3NwYWNlX25hbWVbc2l6ZW9mKHBwLT5pb19zcGFjZV9uYW1lKSAtIDFdID0gMDsKKwkJcHAtPnJlc1swXS5uYW1lID0gcHAtPmlvX3NwYWNlX25hbWU7CisJCXBwLT5yZXNbMF0uc3RhcnQgPSBNVjc4WFgwX1BDSUVfSU9fUEhZU19CQVNFKGkpOworCQlwcC0+cmVzWzBdLmVuZCA9IHBwLT5yZXNbMF0uc3RhcnQgKyBNVjc4WFgwX1BDSUVfSU9fU0laRSAtIDE7CisJCXBwLT5yZXNbMF0uZmxhZ3MgPSBJT1JFU09VUkNFX0lPOworCisJCXNucHJpbnRmKHBwLT5tZW1fc3BhY2VfbmFtZSwgc2l6ZW9mKHBwLT5tZW1fc3BhY2VfbmFtZSksCisJCQkiUENJZSAlZC4lZCBNRU0iLCBwcC0+bWFqLCBwcC0+bWluKTsKKwkJcHAtPm1lbV9zcGFjZV9uYW1lW3NpemVvZihwcC0+bWVtX3NwYWNlX25hbWUpIC0gMV0gPSAwOworCQlwcC0+cmVzWzFdLm5hbWUgPSBwcC0+bWVtX3NwYWNlX25hbWU7CisJCXBwLT5yZXNbMV0uZmxhZ3MgPSBJT1JFU09VUkNFX01FTTsKKwl9CisKKwlzd2l0Y2ggKG51bV9wY2llX3BvcnRzKSB7CisJY2FzZSAwOgorCQlzaXplX2VhY2ggPSAwOworCQlicmVhazsKKworCWNhc2UgMToKKwkJc2l6ZV9lYWNoID0gMHgzMDAwMDAwMDsKKwkJYnJlYWs7CisKKwljYXNlIDIgLi4uIDM6CisJCXNpemVfZWFjaCA9IDB4MTAwMDAwMDA7CisJCWJyZWFrOworCisJY2FzZSA0IC4uLiA2OgorCQlzaXplX2VhY2ggPSAweDA4MDAwMDAwOworCQlicmVhazsKKworCWNhc2UgNzoKKwkJc2l6ZV9lYWNoID0gMHgwNDAwMDAwMDsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwYW5pYygiaW52YWxpZCBudW1iZXIgb2YgUENJZSBwb3J0cyIpOworCX0KKworCXN0YXJ0ID0gTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0U7CisJZm9yIChpID0gMDsgaSA8IG51bV9wY2llX3BvcnRzOyBpKyspIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSBwY2llX3BvcnQgKyBpOworCisJCXBwLT5yZXNbMV0uc3RhcnQgPSBzdGFydDsKKwkJcHAtPnJlc1sxXS5lbmQgPSBzdGFydCArIHNpemVfZWFjaCAtIDE7CisJCXN0YXJ0ICs9IHNpemVfZWFjaDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3BjaWVfcG9ydHM7IGkrKykgeworCQlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IHBjaWVfcG9ydCArIGk7CisKKwkJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJnBjaWVfaW9fc3BhY2UsICZwcC0+cmVzWzBdKSkKKwkJCXBhbmljKCJjYW4ndCBhbGxvY2F0ZSBQQ0llIEkvTyBzdWItc3BhY2UiKTsKKworCQlpZiAocmVxdWVzdF9yZXNvdXJjZSgmcGNpZV9tZW1fc3BhY2UsICZwcC0+cmVzWzFdKSkKKwkJCXBhbmljKCJjYW4ndCBhbGxvY2F0ZSBQQ0llIE1FTSBzdWItc3BhY2UiKTsKKwl9CisKKwl3aW4gPSAwOworCWZvciAoaSA9IDA7IGkgPCBudW1fcGNpZV9wb3J0czsgaSsrKSB7CisJCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gcGNpZV9wb3J0ICsgaTsKKworCQltdjc4eHgwX3NldHVwX3BjaWVfaW9fd2luKHdpbisrLCBwcC0+cmVzWzBdLnN0YXJ0LAorCQkJcHAtPnJlc1swXS5lbmQgLSBwcC0+cmVzWzBdLnN0YXJ0ICsgMSwKKwkJCXBwLT5tYWosIHBwLT5taW4pOworCisJCW12Nzh4eDBfc2V0dXBfcGNpZV9tZW1fd2luKHdpbisrLCBwcC0+cmVzWzFdLnN0YXJ0LAorCQkJcHAtPnJlc1sxXS5lbmQgLSBwcC0+cmVzWzFdLnN0YXJ0ICsgMSwKKwkJCXBwLT5tYWosIHBwLT5taW4pOworCX0KK30KKworc3RhdGljIGludCBfX2luaXQgbXY3OHh4MF9wY2llX3NldHVwKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQoreworCXN0cnVjdCBwY2llX3BvcnQgKnBwOworCisJaWYgKG5yID49IG51bV9wY2llX3BvcnRzKQorCQlyZXR1cm4gMDsKKworCXBwID0gJnBjaWVfcG9ydFtucl07CisJcHAtPnJvb3RfYnVzX25yID0gc3lzLT5idXNucjsKKworCS8qCisJICogR2VuZXJpYyBQQ0llIHVuaXQgc2V0dXAuCisJICovCisJb3Jpb25fcGNpZV9zZXRfbG9jYWxfYnVzX25yKHBwLT5iYXNlLCBzeXMtPmJ1c25yKTsKKwlvcmlvbl9wY2llX3NldHVwKHBwLT5iYXNlLCAmbXY3OHh4MF9tYnVzX2RyYW1faW5mbyk7CisKKwlzeXMtPnJlc291cmNlWzBdID0gJnBwLT5yZXNbMF07CisJc3lzLT5yZXNvdXJjZVsxXSA9ICZwcC0+cmVzWzFdOworCXN5cy0+cmVzb3VyY2VbMl0gPSBOVUxMOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNpZV9wb3J0ICpidXNfdG9fcG9ydChpbnQgYnVzKQoreworCWludCBpOworCisJZm9yIChpID0gbnVtX3BjaWVfcG9ydHMgLSAxOyBpID49IDA7IGktLSkgeworCQlpbnQgcmJ1cyA9IHBjaWVfcG9ydFtpXS5yb290X2J1c19ucjsKKwkJaWYgKHJidXMgIT0gLTEgJiYgcmJ1cyA8PSBidXMpCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gaSA+PSAwID8gcGNpZV9wb3J0ICsgaSA6IE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgcGNpZV92YWxpZF9jb25maWcoc3RydWN0IHBjaWVfcG9ydCAqcHAsIGludCBidXMsIGludCBkZXYpCit7CisJLyoKKwkgKiBEb24ndCBnbyBvdXQgd2hlbiB0cnlpbmcgdG8gYWNjZXNzIG5vbmV4aXN0aW5nIGRldmljZXMKKwkgKiBvbiB0aGUgbG9jYWwgYnVzLgorCSAqLworCWlmIChidXMgPT0gcHAtPnJvb3RfYnVzX25yICYmIGRldiA+IDEpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcGNpZV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwgaW50IHdoZXJlLAorCQkJaW50IHNpemUsIHUzMiAqdmFsKQoreworCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gYnVzX3RvX3BvcnQoYnVzLT5udW1iZXIpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCWlmIChwY2llX3ZhbGlkX2NvbmZpZyhwcCwgYnVzLT5udW1iZXIsIFBDSV9TTE9UKGRldmZuKSkgPT0gMCkgeworCQkqdmFsID0gMHhmZmZmZmZmZjsKKwkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKKwl9CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcHAtPmNvbmZfbG9jaywgZmxhZ3MpOworCXJldCA9IG9yaW9uX3BjaWVfcmRfY29uZihwcC0+YmFzZSwgYnVzLCBkZXZmbiwgd2hlcmUsIHNpemUsIHZhbCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHAtPmNvbmZfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwY2llX3dyX2NvbmYoc3RydWN0IHBjaV9idXMgKmJ1cywgdTMyIGRldmZuLAorCQkJaW50IHdoZXJlLCBpbnQgc2l6ZSwgdTMyIHZhbCkKK3sKKwlzdHJ1Y3QgcGNpZV9wb3J0ICpwcCA9IGJ1c190b19wb3J0KGJ1cy0+bnVtYmVyKTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQ7CisKKwlpZiAocGNpZV92YWxpZF9jb25maWcocHAsIGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbikpID09IDApCisJCXJldHVybiBQQ0lCSU9TX0RFVklDRV9OT1RfRk9VTkQ7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcHAtPmNvbmZfbG9jaywgZmxhZ3MpOworCXJldCA9IG9yaW9uX3BjaWVfd3JfY29uZihwcC0+YmFzZSwgYnVzLCBkZXZmbiwgd2hlcmUsIHNpemUsIHZhbCk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHAtPmNvbmZfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBwY2lfb3BzIHBjaWVfb3BzID0geworCS5yZWFkID0gcGNpZV9yZF9jb25mLAorCS53cml0ZSA9IHBjaWVfd3JfY29uZiwKK307CisKK3N0YXRpYyB2b2lkIF9fZGV2aW5pdCByY19wY2lfZml4dXAoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwkvKgorCSAqIFByZXZlbnQgZW51bWVyYXRpb24gb2Ygcm9vdCBjb21wbGV4LgorCSAqLworCWlmIChkZXYtPmJ1cy0+cGFyZW50ID09IE5VTEwgJiYgZGV2LT5kZXZmbiA9PSAwKSB7CisJCWludCBpOworCisJCWZvciAoaSA9IDA7IGkgPCBERVZJQ0VfQ09VTlRfUkVTT1VSQ0U7IGkrKykgeworCQkJZGV2LT5yZXNvdXJjZVtpXS5zdGFydCA9IDA7CisJCQlkZXYtPnJlc291cmNlW2ldLmVuZCAgID0gMDsKKwkJCWRldi0+cmVzb3VyY2VbaV0uZmxhZ3MgPSAwOworCQl9CisJfQorfQorREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfTUFSVkVMTCwgUENJX0FOWV9JRCwgcmNfcGNpX2ZpeHVwKTsKKworc3RhdGljIHN0cnVjdCBwY2lfYnVzIF9faW5pdCAqCittdjc4eHgwX3BjaWVfc2Nhbl9idXMoaW50IG5yLCBzdHJ1Y3QgcGNpX3N5c19kYXRhICpzeXMpCit7CisJc3RydWN0IHBjaV9idXMgKmJ1czsKKworCWlmIChuciA8IG51bV9wY2llX3BvcnRzKSB7CisJCWJ1cyA9IHBjaV9zY2FuX2J1cyhzeXMtPmJ1c25yLCAmcGNpZV9vcHMsIHN5cyk7CisJfSBlbHNlIHsKKwkJYnVzID0gTlVMTDsKKwkJQlVHKCk7CisJfQorCisJcmV0dXJuIGJ1czsKK30KKworc3RhdGljIGludCBfX2luaXQgbXY3OHh4MF9wY2llX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCXN0cnVjdCBwY2llX3BvcnQgKnBwID0gYnVzX3RvX3BvcnQoZGV2LT5idXMtPm51bWJlcik7CisKKwlyZXR1cm4gSVJRX01WNzhYWDBfUENJRV8wMCArIChwcC0+bWFqIDw8IDIpICsgcHAtPm1pbjsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgbXY3OHh4MF9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSA4LAorCS5wcmVpbml0CT0gbXY3OHh4MF9wY2llX3ByZWluaXQsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG12Nzh4eDBfcGNpZV9zZXR1cCwKKwkuc2NhbgkJPSBtdjc4eHgwX3BjaWVfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSBtdjc4eHgwX3BjaWVfbWFwX2lycSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhZGRfcGNpZV9wb3J0KGludCBtYWosIGludCBtaW4sIHVuc2lnbmVkIGxvbmcgYmFzZSkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJNVjc4eHgwIFBDSWUgcG9ydCAlZC4lZDogIiwgbWFqLCBtaW4pOworCisJaWYgKG9yaW9uX3BjaWVfbGlua191cCgodm9pZCBfX2lvbWVtICopYmFzZSkpIHsKKwkJc3RydWN0IHBjaWVfcG9ydCAqcHAgPSAmcGNpZV9wb3J0W251bV9wY2llX3BvcnRzKytdOworCisJCXByaW50aygibGluayB1cFxuIik7CisKKwkJcHAtPm1haiA9IG1hajsKKwkJcHAtPm1pbiA9IG1pbjsKKwkJcHAtPnJvb3RfYnVzX25yID0gLTE7CisJCXBwLT5iYXNlID0gKHZvaWQgX19pb21lbSAqKWJhc2U7CisJCXNwaW5fbG9ja19pbml0KCZwcC0+Y29uZl9sb2NrKTsKKwkJbWVtc2V0KHBwLT5yZXMsIDAsIHNpemVvZihwcC0+cmVzKSk7CisJfSBlbHNlIHsKKwkJcHJpbnRrKCJsaW5rIGRvd24sIGlnbm9yaW5nXG4iKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IG12Nzh4eDBfcGNpZV9pbml0KGludCBpbml0X3BvcnQwLCBpbnQgaW5pdF9wb3J0MSkKK3sKKwlpZiAoaW5pdF9wb3J0MCkgeworCQlhZGRfcGNpZV9wb3J0KDAsIDAsIFBDSUUwMF9WSVJUX0JBU0UpOworCQlpZiAoIW9yaW9uX3BjaWVfeDRfbW9kZSgodm9pZCBfX2lvbWVtICopUENJRTAwX1ZJUlRfQkFTRSkpIHsKKwkJCWFkZF9wY2llX3BvcnQoMCwgMSwgUENJRTAxX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDAsIDIsIFBDSUUwMl9WSVJUX0JBU0UpOworCQkJYWRkX3BjaWVfcG9ydCgwLCAzLCBQQ0lFMDNfVklSVF9CQVNFKTsKKwkJfQorCX0KKworCWlmIChpbml0X3BvcnQxKSB7CisJCWFkZF9wY2llX3BvcnQoMSwgMCwgUENJRTEwX1ZJUlRfQkFTRSk7CisJCWlmICghb3Jpb25fcGNpZV94NF9tb2RlKCh2b2lkIF9faW9tZW0gKilQQ0lFMTBfVklSVF9CQVNFKSkgeworCQkJYWRkX3BjaWVfcG9ydCgxLCAxLCBQQ0lFMTFfVklSVF9CQVNFKTsKKwkJCWFkZF9wY2llX3BvcnQoMSwgMiwgUENJRTEyX1ZJUlRfQkFTRSk7CisJCQlhZGRfcGNpZV9wb3J0KDEsIDMsIFBDSUUxM19WSVJUX0JBU0UpOworCQl9CisJfQorCisJcGNpX2NvbW1vbl9pbml0KCZtdjc4eHgwX3BjaSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1teDIvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWFhOTdjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvS2NvbmZpZwpAQCAtMCwwICsxLDM5IEBACitjb21tZW50ICJNWDIgZmFtaWx5IENQVSBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9NWDIKKworY29uZmlnIE1BQ0hfTVgyNworCWJvb2wgImkuTVgyNyBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJDSF9NWDIKKwloZWxwCisJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3IgRnJlZXNjYWxlJ3MgTVgyIGJhc2VkIGkuTVgyNyBwcm9jZXNzb3IuCisKK2NvbW1lbnQgIk1YMiBQbGF0Zm9ybXMiCisJZGVwZW5kcyBvbiBBUkNIX01YMgorCitjb25maWcgTUFDSF9NWDI3QURTCisJYm9vbCAiTVgyN0FEUyBwbGF0Zm9ybSIKKwlkZXBlbmRzIG9uIE1BQ0hfTVgyNworCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgTVgyN0FEUyBwbGF0Zm9ybS4gVGhpcyBpbmNsdWRlcyBzcGVjaWZpYworCSAgY29uZmlndXJhdGlvbnMgZm9yIHRoZSBib2FyZCBhbmQgaXRzIHBlcmlwaGVyYWxzLgorCitjb25maWcgTUFDSF9QQ00wMzgKKwlib29sICJQaHl0ZWMgcGh5Q09SRS1pLk1YMjcgQ1BVIG1vZHVsZSAocGNtMDM4KSIKKwlkZXBlbmRzIG9uIE1BQ0hfTVgyNworCWhlbHAKKwkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgcGh5Q09SRS1pLk1YMjcgKGFrYSBwY20wMzgpIHBsYXRmb3JtLiBUaGlzCisJICBpbmNsdWRlcyBzcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgdGhlIG1vZHVsZSBhbmQgaXRzIHBlcmlwaGVyYWxzLgorCitjaG9pY2UKKwlwcm9tcHQgIkJhc2Vib2FyZCIKKwlkZXBlbmRzIG9uIE1BQ0hfUENNMDM4CisJZGVmYXVsdCBNQUNIX1BDTTk3MF9CQVNFQk9BUkQKKworY29uZmlnIE1BQ0hfUENNOTcwX0JBU0VCT0FSRAorCXByb21wdCAiUEhZVEVDIFBDTTk3MCBkZXZlbG9wbWVudCBib2FyZCIKKwlib29sCisJaGVscAorCSAgVGhpcyBhZGRzIGJvYXJkIHNwZWNpZmljIGRldmljZXMgdGhhdCBjYW4gYmUgZm91bmQgb24gUGh5dGVjJ3MKKwkgIFBDTTk3MCBldmFsdWF0aW9uIGJvYXJkLgorCitlbmRjaG9pY2UKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgyZDg2MAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL01ha2VmaWxlCkBAIC0wLDAgKzEsMTQgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBsaW51eCBrZXJuZWwuCisjCisKKyMgT2JqZWN0IGZpbGUgbGlzdHMuCisKK29iai15CTo9ICBzeXN0ZW0ubyBnZW5lcmljLm8gZGV2aWNlcy5vIHNlcmlhbC5vCisKK29iai0kKENPTkZJR19NQUNIX01YMjcpICs9IGNwdV9pbXgyNy5vCitvYmotJChDT05GSUdfTUFDSF9NWDI3KSArPSBjbG9ja19pbXgyNy5vCisKK29iai0kKENPTkZJR19NQUNIX01YMjdBRFMpICs9IG14MjdhZHMubworb2JqLSQoQ09ORklHX01BQ0hfUENNMDM4KSArPSBwY20wMzgubworb2JqLSQoQ09ORklHX01BQ0hfUENNOTcwX0JBU0VCT0FSRCkgKz0gcGNtOTcwLWJhc2Vib2FyZC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9NYWtlZmlsZS5ib290IGIvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUuYm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTY4MzFkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvTWFrZWZpbGUuYm9vdApAQCAtMCwwICsxLDMgQEAKKyAgIHpyZWxhZGRyLXkJOj0gMHhBMDAwODAwMAorcGFyYW1zX3BoeXMteQk6PSAweEEwMDAwMTAwCitpbml0cmRfcGh5cy15CTo9IDB4QTA4MDAwMDAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL2Nsb2NrX2lteDI3LmMgYi9hcmNoL2FybS9tYWNoLW14Mi9jbG9ja19pbXgyNy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMjllZjIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9jbG9ja19pbXgyNy5jCkBAIC0wLDAgKzEsMTYyNiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKworI2luY2x1ZGUgImNybV9yZWdzLmgiCisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgbXBsbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBtcGxsX21haW5fY2xrW107CitzdGF0aWMgc3RydWN0IGNsayBzcGxsX2NsazsKKworc3RhdGljIGludCBfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyB8PSAxIDw8IGNsay0+ZW5hYmxlX3NoaWZ0OworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKGNsay0+ZW5hYmxlX3JlZyk7CisJcmVnICY9IH4oMSA8PCBjbGstPmVuYWJsZV9zaGlmdCk7CisJX19yYXdfd3JpdGVsKHJlZywgY2xrLT5lbmFibGVfcmVnKTsKK30KKworc3RhdGljIGludCBfY2xrX3NwbGxfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9DU0NSKTsKKwlyZWcgfD0gQ0NNX0NTQ1JfU1BFTjsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fQ1NDUik7CisKKwl3aGlsZSAoKF9fcmF3X3JlYWRsKENDTV9TUENUTDEpICYgQ0NNX1NQQ1RMMV9MRikgPT0gMCkKKwkJOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfc3BsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9DU0NSKTsKKwlyZWcgJj0gfkNDTV9DU0NSX1NQRU47CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX0NTQ1IpOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3BjY3IwMV9lbmFibGUodW5zaWduZWQgbG9uZyBtYXNrMCwgdW5zaWduZWQgbG9uZyBtYXNrMSkKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMCk7CisJcmVnIHw9IG1hc2swOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMCk7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyB8PSBtYXNrMTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworCit9CisKK3N0YXRpYyB2b2lkIF9jbGtfcGNjcjAxX2Rpc2FibGUodW5zaWduZWQgbG9uZyBtYXNrMCwgdW5zaWduZWQgbG9uZyBtYXNrMSkKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMCk7CisJcmVnICY9IH5tYXNrMDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjApOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgJj0gfm1hc2sxOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfcGNjcjEwX2VuYWJsZSh1bnNpZ25lZCBsb25nIG1hc2sxLCB1bnNpZ25lZCBsb25nIG1hc2swKQoreworCXVuc2lnbmVkIGxvbmcgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IxKTsKKwlyZWcgfD0gbWFzazE7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDQ1IxKTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMCk7CisJcmVnIHw9IG1hc2swOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMCk7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfcGNjcjEwX2Rpc2FibGUodW5zaWduZWQgbG9uZyBtYXNrMSwgdW5zaWduZWQgbG9uZyBtYXNrMCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0NSMSk7CisJcmVnICY9IH5tYXNrMTsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENDUjEpOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDQ1IwKTsKKwlyZWcgJj0gfm1hc2swOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMCk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19kbWFfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX0RNQV9NQVNLLCBDQ01fUENDUjFfSENMS19ETUFfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19kbWFfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfRE1BX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0RNQV9NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX3J0aWNfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9lbmFibGUoQ0NNX1BDQ1IwX1JUSUNfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfUlRJQ19NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX3J0aWNfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZGlzYWJsZShDQ01fUENDUjBfUlRJQ19NQVNLLCBDQ01fUENDUjFfSENMS19SVElDX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfZW1tYV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfRU1NQV9NQVNLLCBDQ01fUENDUjFfSENMS19FTU1BX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZW1tYV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9kaXNhYmxlKENDTV9QQ0NSMF9FTU1BX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0VNTUFfTUFTSyk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19zbGNkY19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfU0xDRENfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfU0xDRENfTUFTSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19zbGNkY19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9kaXNhYmxlKENDTV9QQ0NSMF9TTENEQ19NQVNLLCBDQ01fUENDUjFfSENMS19TTENEQ19NQVNLKTsKK30KKworc3RhdGljIGludCBfY2xrX2ZlY19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjAxX2VuYWJsZShDQ01fUENDUjBfRkVDX01BU0ssIENDTV9QQ0NSMV9IQ0xLX0ZFQ19NQVNLKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2ZlY19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9kaXNhYmxlKENDTV9QQ0NSMF9GRUNfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfRkVDX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfdnB1X2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyB8PSBDQ01fUENDUjFfVlBVX0JBVURfTUFTSyB8IENDTV9QQ0NSMV9IQ0xLX1ZQVV9NQVNLOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa192cHVfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENDUjEpOworCXJlZyAmPSB+KENDTV9QQ0NSMV9WUFVfQkFVRF9NQVNLIHwgQ0NNX1BDQ1IxX0hDTEtfVlBVX01BU0spOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0NSMSk7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19zYWhhcmEyX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJX2Nsa19wY2NyMDFfZW5hYmxlKENDTV9QQ0NSMF9TQUhBUkFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfU0FIQVJBX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfc2FoYXJhMl9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IwMV9kaXNhYmxlKENDTV9QQ0NSMF9TQUhBUkFfTUFTSywgQ0NNX1BDQ1IxX0hDTEtfU0FIQVJBX01BU0spOworfQorCitzdGF0aWMgaW50IF9jbGtfbXN0aWNrMV9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCV9jbGtfcGNjcjEwX2VuYWJsZShDQ01fUENDUjFfTVNIQ19CQVVEX01BU0ssIENDTV9QQ0NSMF9NU0hDX01BU0spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfbXN0aWNrMV9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlfY2xrX3BjY3IxMF9kaXNhYmxlKENDTV9QQ0NSMV9NU0hDX0JBVURfTUFTSywgQ0NNX1BDQ1IwX01TSENfTUFTSyk7Cit9CisKKyNkZWZpbmUgQ1NDUigpIChfX3Jhd19yZWFkbChDQ01fQ1NDUikpCisjZGVmaW5lIFBDRFIwKCkgKF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkpCisjZGVmaW5lIFBDRFIxKCkgKF9fcmF3X3JlYWRsKENDTV9QQ0RSMSkpCisKK3N0YXRpYyBpbnQgX2Nsa19jcHVfc2V0X3BhcmVudChzdHJ1Y3QgY2xrICpjbGssIHN0cnVjdCBjbGsgKnBhcmVudCkKK3sKKwlpbnQgY3NjciA9IENTQ1IoKTsKKworCWlmIChjbGstPnBhcmVudCA9PSBwYXJlbnQpCisJCXJldHVybiAwOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApIHsKKwkJaWYgKHBhcmVudCA9PSAmbXBsbF9tYWluX2Nsa1swXSkgeworCQkJY3NjciB8PSBDQ01fQ1NDUl9BUk1fU1JDOworCQl9IGVsc2UgeworCQkJaWYgKHBhcmVudCA9PSAmbXBsbF9tYWluX2Nsa1sxXSkKKwkJCQljc2NyICY9IH5DQ01fQ1NDUl9BUk1fU1JDOworCQkJZWxzZQorCQkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCV9fcmF3X3dyaXRlbChjc2NyLCBDQ01fQ1NDUik7CisJfSBlbHNlCisJCXJldHVybiAtRU5PREVWOworCisJY2xrLT5wYXJlbnQgPSBwYXJlbnQ7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY3B1X3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJaW50IGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCWlmIChwYXJlbnRfcmF0ZSAlIHJhdGUpCisJCWRpdisrOworCisJaWYgKGRpdiA+IDQpCisJCWRpdiA9IDQ7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyBkaXY7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19jcHVfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdW5zaWduZWQgaW50IGRpdjsKKwl1aW50MzJfdCByZWc7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXYgPiA0IHx8IGRpdiA8IDEgfHwgKChwYXJlbnRfcmF0ZSAvIGRpdikgIT0gcmF0ZSkpCisJCXJldHVybiAtRUlOVkFMOworCisJZGl2LS07CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fQ1NDUik7CisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApIHsKKwkJcmVnICY9IH5DQ01fQ1NDUl9BUk1fTUFTSzsKKwkJcmVnIHw9IGRpdiA8PCBDQ01fQ1NDUl9BUk1fT0ZGU0VUOworCQlyZWcgJj0gfjB4MDY7CisJCV9fcmF3X3dyaXRlbChyZWcgfCAweDgwMDAwMDAwLCBDQ01fQ1NDUik7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJDYW50IHNldCBDUFUgZnJlcXVlbmN5IVxuIik7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfcGVyY2xreF9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCWlmIChwYXJlbnRfcmF0ZSAlIHJhdGUpCisJCWRpdisrOworCisJaWYgKGRpdiA+IDY0KQorCQlkaXYgPSA2NDsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX3BlcmNsa3hfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZzsKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlpZiAoY2xrLT5pZCA8IDAgfHwgY2xrLT5pZCA+IDMpCisJCXJldHVybiAtRUlOVkFMOworCisJZGl2ID0gcGFyZW50X3JhdGUgLyByYXRlOworCWlmIChkaXYgPiA2NCB8fCBkaXYgPCAxIHx8ICgocGFyZW50X3JhdGUgLyBkaXYpICE9IHJhdGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlkaXYtLTsKKworCXJlZyA9CisJICAgIF9fcmF3X3JlYWRsKENDTV9QQ0RSMSkgJiB+KENDTV9QQ0RSMV9QRVJESVYxX01BU0sgPDwKKwkJCQkgICAgICAgKGNsay0+aWQgPDwgMykpOworCXJlZyB8PSBkaXYgPDwgKGNsay0+aWQgPDwgMyk7CisJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1BDRFIxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3VzYl9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdXNiX3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJdXNiX3BkZiA9IChDU0NSKCkgJiBDQ01fQ1NDUl9VU0JfTUFTSykgPj4gQ0NNX0NTQ1JfVVNCX09GRlNFVDsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvICh1c2JfcGRmICsgMVUpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3NzaTFfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHNzaTFfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlzc2kxX3BkZiA9IChQQ0RSMCgpICYgQ0NNX1BDRFIwX1NTSTFCQVVERElWX01BU0spID4+CisJCQkJCUNDTV9QQ0RSMF9TU0kxQkFVRERJVl9PRkZTRVQ7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJc3NpMV9wZGYgKz0gNDsKKwllbHNlCisJCXNzaTFfcGRmID0gKHNzaTFfcGRmIDwgMikgPyAxMjRVTCA6IHNzaTFfcGRmOworCisJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gc3NpMV9wZGY7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfc3NpMl9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgc3NpMl9wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCXNzaTJfcGRmID0gKFBDRFIwKCkgJiBDQ01fUENEUjBfU1NJMkJBVURESVZfTUFTSykgPj4KKwkgICAgQ0NNX1BDRFIwX1NTSTJCQVVERElWX09GRlNFVDsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKQorCQlzc2kyX3BkZiArPSA0OworCWVsc2UKKwkJc3NpMl9wZGYgPSAoc3NpMl9wZGYgPCAyKSA/IDEyNFVMIDogc3NpMl9wZGY7CisKKwlyZXR1cm4gMlVMICogcGFyZW50X3JhdGUgLyBzc2kyX3BkZjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19uZmNfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG5mY19wZGY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWlmIChteDI3X3JldmlzaW9uKCkgPj0gQ0hJUF9SRVZfMl8wKSB7CisJCW5mY19wZGYgPQorCQkgICAgKFBDRFIwKCkgJiBDQ01fUENEUjBfTkZDRElWMl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX05GQ0RJVjJfT0ZGU0VUOworCX0gZWxzZSB7CisJCW5mY19wZGYgPQorCQkgICAgKFBDRFIwKCkgJiBDQ01fUENEUjBfTkZDRElWX01BU0spID4+CisJCSAgICBDQ01fUENEUjBfTkZDRElWX09GRlNFVDsKKwl9CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyAobmZjX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3ZwdV9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdnB1X3BkZjsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApIHsKKwkJdnB1X3BkZiA9CisJCSAgICAoUENEUjAoKSAmIENDTV9QQ0RSMF9WUFVESVYyX01BU0spID4+CisJCSAgICBDQ01fUENEUjBfVlBVRElWMl9PRkZTRVQ7CisJCXZwdV9wZGYgKz0gNDsKKwl9IGVsc2UgeworCQl2cHVfcGRmID0KKwkJICAgIChQQ0RSMCgpICYgQ0NNX1BDRFIwX1ZQVURJVl9NQVNLKSA+PgorCQkgICAgQ0NNX1BDRFIwX1ZQVURJVl9PRkZTRVQ7CisJCXZwdV9wZGYgPSAodnB1X3BkZiA8IDIpID8gMTI0IDogdnB1X3BkZjsKKwl9CisJcmV0dXJuIDJVTCAqIHBhcmVudF9yYXRlIC8gdnB1X3BkZjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19wYXJlbnRfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwlyZXR1cm4gY2xrLT5wYXJlbnQtPnJvdW5kX3JhdGUoY2xrLT5wYXJlbnQsIHJhdGUpOworfQorCitzdGF0aWMgaW50IF9jbGtfcGFyZW50X3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXJldHVybiBjbGstPnBhcmVudC0+c2V0X3JhdGUoY2xrLT5wYXJlbnQsIHJhdGUpOworfQorCisvKiBpbiBIeiAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2UgPSAyNjAwMDAwMDsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2hpZ2hfcmVmZXJlbmNlX2Nsb2NrX3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBleHRlcm5hbF9oaWdoX3JlZmVyZW5jZTsKK30KKworLyoKKyAqIHRoZSBoaWdoIGZyZXF1ZW5jeSBleHRlcm5hbCBjbG9jayByZWZlcmVuY2UKKyAqIERlZmF1bHQgY2FzZSBpcyAyNk1Iei4gQ291bGQgYmUgY2hhbmdlZCBhdCBydW50aW1lCisgKiB3aXRoIGEgY2FsbCB0byBjaGFuZ2VfZXh0ZXJuYWxfaGlnaF9yZWZlcmVuY2UoKQorICovCitzdGF0aWMgc3RydWN0IGNsayBja2loX2NsayA9IHsKKwkubmFtZSA9ICJja2loIiwKKwkuZ2V0X3JhdGUgPSBnZXRfaGlnaF9yZWZlcmVuY2VfY2xvY2tfcmF0ZSwKK307CisKKy8qIGluIEh6ICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBleHRlcm5hbF9sb3dfcmVmZXJlbmNlID0gMzI3Njg7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9sb3dfcmVmZXJlbmNlX2Nsb2NrX3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBleHRlcm5hbF9sb3dfcmVmZXJlbmNlOworfQorCisvKgorICogdGhlIGxvdyBmcmVxdWVuY3kgZXh0ZXJuYWwgY2xvY2sgcmVmZXJlbmNlCisgKiBEZWZhdWx0IGNhc2UgaXMgMzIuNzY4a0h6IENvdWxkIGJlIGNoYW5nZWQgYXQgcnVudGltZQorICogd2l0aCBhIGNhbGwgdG8gY2hhbmdlX2V4dGVybmFsX2xvd19yZWZlcmVuY2UoKQorICovCitzdGF0aWMgc3RydWN0IGNsayBja2lsX2NsayA9IHsKKwkubmFtZSA9ICJja2lsIiwKKwkuZ2V0X3JhdGUgPSBnZXRfbG93X3JlZmVyZW5jZV9jbG9ja19yYXRlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X21wbGxfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1aW50MzJfdCByZWc7CisJdW5zaWduZWQgbG9uZyByZWZfY2xrOworCXVuc2lnbmVkIGxvbmcgbWZpID0gMCwgbWZuID0gMCwgbWZkID0gMCwgcGRmID0gMDsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdGVtcDsKKworCXJlZl9jbGsgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX01QQ1RMMCk7CisJcGRmID0gKHJlZyAmIENDTV9NUENUTDBfUERfTUFTSykgPj4gQ0NNX01QQ1RMMF9QRF9PRkZTRVQ7CisJbWZkID0gKHJlZyAmIENDTV9NUENUTDBfTUZEX01BU0spID4+IENDTV9NUENUTDBfTUZEX09GRlNFVDsKKwltZmkgPSAocmVnICYgQ0NNX01QQ1RMMF9NRklfTUFTSykgPj4gQ0NNX01QQ1RMMF9NRklfT0ZGU0VUOworCW1mbiA9IChyZWcgJiBDQ01fTVBDVEwwX01GTl9NQVNLKSA+PiBDQ01fTVBDVEwwX01GTl9PRkZTRVQ7CisKKwltZmkgPSAobWZpIDw9IDUpID8gNSA6IG1maTsKKwl0ZW1wID0gMkxMICogcmVmX2NsayAqIG1mbjsKKwlkb19kaXYodGVtcCwgbWZkICsgMSk7CisJdGVtcCA9IDJMTCAqIHJlZl9jbGsgKiBtZmkgKyB0ZW1wOworCWRvX2Rpdih0ZW1wLCBwZGYgKyAxKTsKKworCXJldHVybiAodW5zaWduZWQgbG9uZyl0ZW1wOworfQorCitzdGF0aWMgc3RydWN0IGNsayBtcGxsX2NsayA9IHsKKwkubmFtZSA9ICJtcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5nZXRfcmF0ZSA9IGdldF9tcGxsX2NsaywKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbXBsbF9tYWluX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlOworCisJcGFyZW50X3JhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJLyogaS5NWDI3IFRPMjoKKwkgKiBjbGstPmlkID09IDA6IGFybSBjbG9jayBzb3VyY2UgcGF0aCAxIHdoaWNoIGlzIGZyb20gMipNUExML0RJVl8yCisJICogY2xrLT5pZCA9PSAxOiBhcm0gY2xvY2sgc291cmNlIHBhdGggMiB3aGljaCBpcyBmcm9tIDIqTVBMTC9ESVZfMworCSAqLworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzAgJiYgY2xrLT5pZCA9PSAxKQorCQlyZXR1cm4gMlVMICogcGFyZW50X3JhdGUgLyAzVUw7CisKKwlyZXR1cm4gcGFyZW50X3JhdGU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1wbGxfbWFpbl9jbGtbXSA9IHsKKwl7CisJCS8qIEZvciBpLk1YMjcgVE8yLCBpdCBpcyB0aGUgTVBMTCBwYXRoIDEgb2YgQVJNIGNvcmUKKwkJICogSXQgcHJvdmlkZSB0aGUgY2xvY2sgc291cmNlIHdob3NlIHJhdGUgaXMgc2FtZSBhcyBNUExMCisJCSAqLworCQkubmFtZSA9ICJtcGxsX21haW4iLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJm1wbGxfY2xrLAorCQkuZ2V0X3JhdGUgPSBfY2xrX21wbGxfbWFpbl9nZXRfcmF0ZQorCX0sIHsKKwkJLyogRm9yIGkuTVgyNyBUTzIsIGl0IGlzIHRoZSBNUExMIHBhdGggMiBvZiBBUk0gY29yZQorCQkgKiBJdCBwcm92aWRlIHRoZSBjbG9jayBzb3VyY2Ugd2hvc2UgcmF0ZSBpcyBzYW1lIE1QTEwgKiAyLzMKKwkJICovCisJCS5uYW1lID0gIm1wbGxfbWFpbiIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmbXBsbF9jbGssCisJCS5nZXRfcmF0ZSA9IF9jbGtfbXBsbF9tYWluX2dldF9yYXRlCisJfQorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X3NwbGxfY2xrKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1aW50MzJfdCByZWc7CisJdW5zaWduZWQgbG9uZyByZWZfY2xrOworCXVuc2lnbmVkIGxvbmcgbWZpID0gMCwgbWZuID0gMCwgbWZkID0gMCwgcGRmID0gMDsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdGVtcDsKKworCXJlZl9jbGsgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1NQQ1RMMCk7CisJLypUT0RPOiBUaGlzIGlzIFRPMiBCdWcgKi8KKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJX19yYXdfd3JpdGVsKHJlZywgQ0NNX1NQQ1RMMCk7CisKKwlwZGYgPSAocmVnICYgQ0NNX1NQQ1RMMF9QRF9NQVNLKSA+PiBDQ01fU1BDVEwwX1BEX09GRlNFVDsKKwltZmQgPSAocmVnICYgQ0NNX1NQQ1RMMF9NRkRfTUFTSykgPj4gQ0NNX1NQQ1RMMF9NRkRfT0ZGU0VUOworCW1maSA9IChyZWcgJiBDQ01fU1BDVEwwX01GSV9NQVNLKSA+PiBDQ01fU1BDVEwwX01GSV9PRkZTRVQ7CisJbWZuID0gKHJlZyAmIENDTV9TUENUTDBfTUZOX01BU0spID4+IENDTV9TUENUTDBfTUZOX09GRlNFVDsKKworCW1maSA9IChtZmkgPD0gNSkgPyA1IDogbWZpOworCXRlbXAgPSAyTEwgKiByZWZfY2xrICogbWZuOworCWRvX2Rpdih0ZW1wLCBtZmQgKyAxKTsKKwl0ZW1wID0gMkxMICogcmVmX2NsayAqIG1maSArIHRlbXA7CisJZG9fZGl2KHRlbXAsIHBkZiArIDEpOworCisJcmV0dXJuICh1bnNpZ25lZCBsb25nKXRlbXA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNwbGxfY2xrID0geworCS5uYW1lID0gInNwbGwiLAorCS5wYXJlbnQgPSAmY2tpaF9jbGssCisJLmdldF9yYXRlID0gZ2V0X3NwbGxfY2xrLAorCS5lbmFibGUgPSBfY2xrX3NwbGxfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19zcGxsX2Rpc2FibGUsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfY3B1X2NsayhzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIGRpdjsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJZGl2ID0gKENTQ1IoKSAmIENDTV9DU0NSX0FSTV9NQVNLKSA+PiBDQ01fQ1NDUl9BUk1fT0ZGU0VUOworCWVsc2UKKwkJZGl2ID0gKENTQ1IoKSAmIENDTV9DU0NSX1BSRVNDX01BU0spID4+IENDTV9DU0NSX1BSRVNDX09GRlNFVDsKKworCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXJldHVybiByYXRlIC8gKGRpdiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjcHVfY2xrID0geworCS5uYW1lID0gImNwdV9jbGsiLAorCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkuc2V0X3BhcmVudCA9IF9jbGtfY3B1X3NldF9wYXJlbnQsCisJLnJvdW5kX3JhdGUgPSBfY2xrX2NwdV9yb3VuZF9yYXRlLAorCS5nZXRfcmF0ZSA9IGdldF9jcHVfY2xrLAorCS5zZXRfcmF0ZSA9IF9jbGtfY3B1X3NldF9yYXRlLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2FoYl9jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKwl1bnNpZ25lZCBsb25nIGJjbGtfcGRmOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApCisJCWJjbGtfcGRmID0gKENTQ1IoKSAmIENDTV9DU0NSX0FIQl9NQVNLKQorCQkJCQk+PiBDQ01fQ1NDUl9BSEJfT0ZGU0VUOworCWVsc2UKKwkJYmNsa19wZGYgPSAoQ1NDUigpICYgQ0NNX0NTQ1JfQkNMS19NQVNLKQorCQkJCQk+PiBDQ01fQ1NDUl9CQ0xLX09GRlNFVDsKKworCXJhdGUgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXJldHVybiByYXRlIC8gKGJjbGtfcGRmICsgMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGFoYl9jbGsgPSB7CisJLm5hbWUgPSAiYWhiX2NsayIsCisJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCS5nZXRfcmF0ZSA9IGdldF9haGJfY2xrLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2lwZ19jbGsoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcmF0ZTsKKwl1bnNpZ25lZCBsb25nIGlwZ19wZGY7CisKKwlpZiAobXgyN19yZXZpc2lvbigpID49IENISVBfUkVWXzJfMCkKKwkJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZWxzZQorCQlpcGdfcGRmID0gKENTQ1IoKSAmIENDTV9DU0NSX0lQRElWKSA+PiBDQ01fQ1NDUl9JUERJVl9PRkZTRVQ7CisKKwlyYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlyZXR1cm4gcmF0ZSAvIChpcGdfcGRmICsgMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlwZ19jbGsgPSB7CisJLm5hbWUgPSAiaXBnX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5nZXRfcmF0ZSA9IGdldF9pcGdfY2xrLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19wZXJjbGt4X3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBwZXJjbGtfcGRmOworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlpZiAoY2xrLT5pZCA8IDAgfHwgY2xrLT5pZCA+IDMpCisJCXJldHVybiAwOworCisJcGVyY2xrX3BkZiA9IChQQ0RSMSgpID4+IChjbGstPmlkIDw8IDMpKSAmIENDTV9QQ0RSMV9QRVJESVYxX01BU0s7CisKKwlyZXR1cm4gcGFyZW50X3JhdGUgLyAocGVyY2xrX3BkZiArIDEpOworfQorCitzdGF0aWMgc3RydWN0IGNsayBwZXJfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJwZXJfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1BFUkNMSzFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInBlcl9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5nZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfUEVSQ0xLMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAicGVyX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmbXBsbF9tYWluX2Nsa1sxXSwKKwkJLnJvdW5kX3JhdGUgPSBfY2xrX3BlcmNsa3hfcm91bmRfcmF0ZSwKKwkJLnNldF9yYXRlID0gX2Nsa19wZXJjbGt4X3NldF9yYXRlLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3BlcmNsa3hfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1BFUkNMSzNfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gInBlcl9jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5yb3VuZF9yYXRlID0gX2Nsa19wZXJjbGt4X3JvdW5kX3JhdGUsCisJCS5zZXRfcmF0ZSA9IF9jbGtfcGVyY2xreF9zZXRfcmF0ZSwKKwkJLmdldF9yYXRlID0gX2Nsa19wZXJjbGt4X3JlY2FsYywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9QRVJDTEs0X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDFfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDAsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0MV9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0Ml9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQzX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDNfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQzX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0cnVjdCBjbGsgdWFydDRfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJ1YXJ0X2NsayIsCisJCS5pZCA9IDMsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZ1YXJ0NF9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJ1YXJ0X2lwZ19jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVUFSVDRfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RydWN0IGNsayB1YXJ0NV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVhcnRfY2xrIiwKKwkJLmlkID0gNCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJnVhcnQ1X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInVhcnRfaXBnX2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9VQVJUNV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdHJ1Y3QgY2xrIHVhcnQ2X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAidWFydF9jbGsiLAorCQkuaWQgPSA1LAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmdWFydDZfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAidWFydF9pcGdfY2xrIiwKKwkJLmlkID0gNSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1VBUlQ2X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDFfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDFfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUMV9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQyX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDJfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0M19jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0M19jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQzX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwdDRfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJncHRfY2xrIiwKKwkJLmlkID0gMywKKwkJLnBhcmVudCA9ICZwZXJfY2xrWzBdLAorCQkuc2Vjb25kYXJ5ID0gJmdwdDRfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiZ3B0X2lwZ19jbGsiLAorCQkuaWQgPSAzLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BUNF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBncHQ1X2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiZ3B0X2NsayIsCisJCS5pZCA9IDQsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1swXSwKKwkJLnNlY29uZGFyeSA9ICZncHQ1X2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gImdwdF9pcGdfY2xrIiwKKwkJLmlkID0gNCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0dQVDVfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0Nl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImdwdF9jbGsiLAorCQkuaWQgPSA1LAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmZ3B0Nl9jbGtbMV0sCisJfSwgeworCQkubmFtZSA9ICJncHRfaXBnX2NsayIsCisJCS5pZCA9IDUsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9HUFQ2X09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHB3bV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInB3bV9jbGsiLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMF0sCisJCS5zZWNvbmRhcnkgPSAmcHdtX2Nsa1sxXSwKKwl9LCB7CisJCS5uYW1lID0gInB3bV9jbGsiLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfUFdNX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkaGMxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic2RoY19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmc2RoYzFfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAic2RoY19pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NESEMxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkaGMyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic2RoY19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmc2RoYzJfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAic2RoY19pcGdfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NESEMyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkaGMzX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAic2RoY19jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmc2RoYzNfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAic2RoY19pcGdfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX1NESEMzX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNzcGkxX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiY3NwaV9jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmY3NwaTFfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiY3NwaV9pcGdfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0NTUEkxX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNzcGkyX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiY3NwaV9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmY3NwaTJfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiY3NwaV9pcGdfY2xrIiwKKwkJLmlkID0gMSwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0NTUEkyX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNzcGkzX2Nsa1tdID0geworCXsKKwkJLm5hbWUgPSAiY3NwaV9jbGsiLAorCQkuaWQgPSAyLAorCQkucGFyZW50ID0gJnBlcl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmY3NwaTNfY2xrWzFdLAorCX0sIHsKKwkJLm5hbWUgPSAiY3NwaV9pcGdfY2xrIiwKKwkJLmlkID0gMiwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0NTUEkzX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGxjZGNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJsY2RjX2NsayIsCisJCS5wYXJlbnQgPSAmcGVyX2Nsa1syXSwKKwkJLnNlY29uZGFyeSA9ICZsY2RjX2Nsa1sxXSwKKwkJLnJvdW5kX3JhdGUgPSBfY2xrX3BhcmVudF9yb3VuZF9yYXRlLAorCQkuc2V0X3JhdGUgPSBfY2xrX3BhcmVudF9zZXRfcmF0ZSwKKwl9LCB7CisJCS5uYW1lID0gImxjZGNfaXBnX2NsayIsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLnNlY29uZGFyeSA9ICZsY2RjX2Nsa1syXSwKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9MQ0RDX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJsY2RjX2FoYl9jbGsiLAorCQkucGFyZW50ID0gJmFoYl9jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfSENMS19MQ0RDX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNzaV9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gImNzaV9wZXJjbGsiLAorCQkucGFyZW50ID0gJnBlcl9jbGtbM10sCisJCS5zZWNvbmRhcnkgPSAmY3NpX2Nsa1sxXSwKKwkJLnJvdW5kX3JhdGUgPSBfY2xrX3BhcmVudF9yb3VuZF9yYXRlLAorCQkuc2V0X3JhdGUgPSBfY2xrX3BhcmVudF9zZXRfcmF0ZSwKKwl9LCB7CisJCS5uYW1lID0gImNzaV9haGJfY2xrIiwKKwkJLnBhcmVudCA9ICZhaGJfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfQ1NJX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHVzYl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInVzYl9jbGsiLAorCQkucGFyZW50ID0gJnNwbGxfY2xrLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3VzYl9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfVVNCT1RHX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJ1c2JfYWhiX2NsayIsCisJCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX1VTQk9UR19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNzaTFfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJzc2lfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZtcGxsX21haW5fY2xrWzFdLAorCQkuc2Vjb25kYXJ5ID0gJnNzaTFfY2xrWzFdLAorCQkuZ2V0X3JhdGUgPSBfY2xrX3NzaTFfcmVjYWxjLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX1NTSTFfQkFVRF9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sIHsKKwkJLm5hbWUgPSAic3NpX2lwZ19jbGsiLAorCQkuaWQgPSAwLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU1NJMV9JUEdfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc3NpMl9jbGtbXSA9IHsKKwl7CisJCS5uYW1lID0gInNzaV9jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJCS5zZWNvbmRhcnkgPSAmc3NpMl9jbGtbMV0sCisJCS5nZXRfcmF0ZSA9IF9jbGtfc3NpMl9yZWNhbGMsCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfU1NJMl9CQVVEX09GRlNFVCwKKwkJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCisJfSwgeworCQkubmFtZSA9ICJzc2lfaXBnX2NsayIsCisJCS5pZCA9IDEsCisJCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCQkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMCwKKwkJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9TU0kyX0lQR19PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBuZmNfY2xrID0geworCS5uYW1lID0gIm5mY19jbGsiLAorCS5wYXJlbnQgPSAmY3B1X2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX25mY19yZWNhbGMsCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfTkZDX0JBVURfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdnB1X2NsayA9IHsKKwkubmFtZSA9ICJ2cHVfY2xrIiwKKwkucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMV0sCisJLmdldF9yYXRlID0gX2Nsa192cHVfcmVjYWxjLAorCS5lbmFibGUgPSBfY2xrX3ZwdV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3ZwdV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZG1hX2NsayA9IHsKKwkubmFtZSA9ICJkbWFfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZG1hX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfZG1hX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBydGljX2NsayA9IHsKKwkubmFtZSA9ICJydGljX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX3J0aWNfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19ydGljX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBicm9tX2NsayA9IHsKKwkubmFtZSA9ICJicm9tX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfQlJPTV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBlbW1hX2NsayA9IHsKKwkubmFtZSA9ICJlbW1hX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VtbWFfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19lbW1hX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzbGNkY19jbGsgPSB7CisJLm5hbWUgPSAic2xjZGNfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfc2xjZGNfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19zbGNkY19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZmVjX2NsayA9IHsKKwkubmFtZSA9ICJmZWNfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZmVjX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfZmVjX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBlbWlfY2xrID0geworCS5uYW1lID0gImVtaV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjEsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMV9IQ0xLX0VNSV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzYWhhcmEyX2NsayA9IHsKKwkubmFtZSA9ICJzYWhhcmFfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfc2FoYXJhMl9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX3NhaGFyYTJfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGF0YV9jbGsgPSB7CisJLm5hbWUgPSAiYXRhX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IENDTV9QQ0NSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IxX0hDTEtfQVRBX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG1zdGljazFfY2xrID0geworCS5uYW1lID0gIm1zdGljazFfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfbXN0aWNrMV9lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX21zdGljazFfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHdkb2dfY2xrID0geworCS5uYW1lID0gIndkb2dfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjFfV0RUX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwaW9fY2xrID0geworCS5uYW1lID0gImdwaW9fY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IxLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfR1BJT19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpMmNfY2xrW10gPSB7CisJeworCQkubmFtZSA9ICJpMmNfY2xrIiwKKwkJLmlkID0gMCwKKwkJLnBhcmVudCA9ICZpcGdfY2xrLAorCQkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCQkuZW5hYmxlX3NoaWZ0ID0gQ0NNX1BDQ1IwX0kyQzFfT0ZGU0VULAorCQkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKKwl9LCB7CisJCS5uYW1lID0gImkyY19jbGsiLAorCQkuaWQgPSAxLAorCQkucGFyZW50ID0gJmlwZ19jbGssCisJCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfSTJDMl9PRkZTRVQsCisJCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpaW1fY2xrID0geworCS5uYW1lID0gImlpbV9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9JSU1fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsga3BwX2NsayA9IHsKKwkubmFtZSA9ICJrcHBfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfS1BQX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIG93aXJlX2NsayA9IHsKKwkubmFtZSA9ICJvd2lyZV9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9PV0lSRV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBydGNfY2xrID0geworCS5uYW1lID0gInJ0Y19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBDQ01fUENDUjAsCisJLmVuYWJsZV9zaGlmdCA9IENDTV9QQ0NSMF9SVENfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2NjX2NsayA9IHsKKwkubmFtZSA9ICJzY2NfY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gQ0NNX1BDQ1IwLAorCS5lbmFibGVfc2hpZnQgPSBDQ01fUENDUjBfU0NDX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY2xrb19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisJaWYgKHBhcmVudF9yYXRlICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlpZiAoZGl2ID4gOCkKKwkJZGl2ID0gODsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX2Nsa29fc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdTMyIHJlZzsKKwl1MzIgZGl2OworCXVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGU7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnRfcmF0ZSAvIHJhdGU7CisKKwlpZiAoZGl2ID4gOCB8fCBkaXYgPCAxIHx8ICgocGFyZW50X3JhdGUgLyBkaXYpICE9IHJhdGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlkaXYtLTsKKworCXJlZyA9IF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkgJiB+Q0NNX1BDRFIwX0NMS09ESVZfTUFTSzsKKwlyZWcgfD0gZGl2IDw8IENDTV9QQ0RSMF9DTEtPRElWX09GRlNFVDsKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fUENEUjApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY2xrb19yZWNhbGMoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiBkaXY7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKworCXBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IF9fcmF3X3JlYWRsKENDTV9QQ0RSMCkgJiBDQ01fUENEUjBfQ0xLT0RJVl9NQVNLID4+CisJCUNDTV9QQ0RSMF9DTEtPRElWX09GRlNFVDsKKwlkaXYrKzsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdjsKK30KKworc3RhdGljIGludCBfY2xrX2Nsa29fc2V0X3BhcmVudChzdHJ1Y3QgY2xrICpjbGssIHN0cnVjdCBjbGsgKnBhcmVudCkKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX0NDU1IpICYgfkNDTV9DQ1NSX0NMS09TRUxfTUFTSzsKKworCWlmIChwYXJlbnQgPT0gJmNraWxfY2xrKQorCQlyZWcgfD0gMCA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmNraWhfY2xrKQorCQlyZWcgfD0gMiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gbXBsbF9jbGsucGFyZW50KQorCQlyZWcgfD0gMyA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gc3BsbF9jbGsucGFyZW50KQorCQlyZWcgfD0gNCA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJm1wbGxfY2xrKQorCQlyZWcgfD0gNSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnNwbGxfY2xrKQorCQlyZWcgfD0gNiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmNwdV9jbGspCisJCXJlZyB8PSA3IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmYWhiX2NsaykKKwkJcmVnIHw9IDggPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZpcGdfY2xrKQorCQlyZWcgfD0gOSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnBlcl9jbGtbMF0pCisJCXJlZyB8PSAweEEgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZwZXJfY2xrWzFdKQorCQlyZWcgfD0gMHhCIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmcGVyX2Nsa1syXSkKKwkJcmVnIHw9IDB4QyA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnBlcl9jbGtbM10pCisJCXJlZyB8PSAweEQgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZzc2kxX2Nsa1swXSkKKwkJcmVnIHw9IDB4RSA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnNzaTJfY2xrWzBdKQorCQlyZWcgfD0gMHhGIDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmbmZjX2NsaykKKwkJcmVnIHw9IDB4MTAgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZtc3RpY2sxX2NsaykKKwkJcmVnIHw9IDB4MTEgPDwgQ0NNX0NDU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZ2cHVfY2xrKQorCQlyZWcgfD0gMHgxMiA8PCBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJnVzYl9jbGtbMF0pCisJCXJlZyB8PSAweDE1IDw8IENDTV9DQ1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX3Jhd193cml0ZWwocmVnLCBDQ01fQ0NTUik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfY2xrX2Nsa29fZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoQ0NNX1BDRFIwKSB8IENDTV9QQ0RSMF9DTEtPX0VOOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0RSMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19jbGtvX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChDQ01fUENEUjApICYgfkNDTV9QQ0RSMF9DTEtPX0VOOworCV9fcmF3X3dyaXRlbChyZWcsIENDTV9QQ0RSMCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNsa29fY2xrID0geworCS5uYW1lID0gImNsa29fY2xrIiwKKwkuZ2V0X3JhdGUgPSBfY2xrX2Nsa29fcmVjYWxjLAorCS5zZXRfcmF0ZSA9IF9jbGtfY2xrb19zZXRfcmF0ZSwKKwkucm91bmRfcmF0ZSA9IF9jbGtfY2xrb19yb3VuZF9yYXRlLAorCS5zZXRfcGFyZW50ID0gX2Nsa19jbGtvX3NldF9wYXJlbnQsCisJLmVuYWJsZSA9IF9jbGtfY2xrb19lbmFibGUsCisJLmRpc2FibGUgPSBfY2xrX2Nsa29fZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpteGNfY2xrc1tdID0geworCSZja2loX2NsaywKKwkmY2tpbF9jbGssCisJJm1wbGxfY2xrLAorCSZtcGxsX21haW5fY2xrWzBdLAorCSZtcGxsX21haW5fY2xrWzFdLAorCSZzcGxsX2NsaywKKwkmY3B1X2NsaywKKwkmYWhiX2NsaywKKwkmaXBnX2NsaywKKwkmcGVyX2Nsa1swXSwKKwkmcGVyX2Nsa1sxXSwKKwkmcGVyX2Nsa1syXSwKKwkmcGVyX2Nsa1szXSwKKwkmY2xrb19jbGssCisJJnVhcnQxX2Nsa1swXSwKKwkmdWFydDFfY2xrWzFdLAorCSZ1YXJ0Ml9jbGtbMF0sCisJJnVhcnQyX2Nsa1sxXSwKKwkmdWFydDNfY2xrWzBdLAorCSZ1YXJ0M19jbGtbMV0sCisJJnVhcnQ0X2Nsa1swXSwKKwkmdWFydDRfY2xrWzFdLAorCSZ1YXJ0NV9jbGtbMF0sCisJJnVhcnQ1X2Nsa1sxXSwKKwkmdWFydDZfY2xrWzBdLAorCSZ1YXJ0Nl9jbGtbMV0sCisJJmdwdDFfY2xrWzBdLAorCSZncHQxX2Nsa1sxXSwKKwkmZ3B0Ml9jbGtbMF0sCisJJmdwdDJfY2xrWzFdLAorCSZncHQzX2Nsa1swXSwKKwkmZ3B0M19jbGtbMV0sCisJJmdwdDRfY2xrWzBdLAorCSZncHQ0X2Nsa1sxXSwKKwkmZ3B0NV9jbGtbMF0sCisJJmdwdDVfY2xrWzFdLAorCSZncHQ2X2Nsa1swXSwKKwkmZ3B0Nl9jbGtbMV0sCisJJnB3bV9jbGtbMF0sCisJJnB3bV9jbGtbMV0sCisJJnNkaGMxX2Nsa1swXSwKKwkmc2RoYzFfY2xrWzFdLAorCSZzZGhjMl9jbGtbMF0sCisJJnNkaGMyX2Nsa1sxXSwKKwkmc2RoYzNfY2xrWzBdLAorCSZzZGhjM19jbGtbMV0sCisJJmNzcGkxX2Nsa1swXSwKKwkmY3NwaTFfY2xrWzFdLAorCSZjc3BpMl9jbGtbMF0sCisJJmNzcGkyX2Nsa1sxXSwKKwkmY3NwaTNfY2xrWzBdLAorCSZjc3BpM19jbGtbMV0sCisJJmxjZGNfY2xrWzBdLAorCSZsY2RjX2Nsa1sxXSwKKwkmbGNkY19jbGtbMl0sCisJJmNzaV9jbGtbMF0sCisJJmNzaV9jbGtbMV0sCisJJnVzYl9jbGtbMF0sCisJJnVzYl9jbGtbMV0sCisJJnNzaTFfY2xrWzBdLAorCSZzc2kxX2Nsa1sxXSwKKwkmc3NpMl9jbGtbMF0sCisJJnNzaTJfY2xrWzFdLAorCSZuZmNfY2xrLAorCSZ2cHVfY2xrLAorCSZkbWFfY2xrLAorCSZydGljX2NsaywKKwkmYnJvbV9jbGssCisJJmVtbWFfY2xrLAorCSZzbGNkY19jbGssCisJJmZlY19jbGssCisJJmVtaV9jbGssCisJJnNhaGFyYTJfY2xrLAorCSZhdGFfY2xrLAorCSZtc3RpY2sxX2NsaywKKwkmd2RvZ19jbGssCisJJmdwaW9fY2xrLAorCSZpMmNfY2xrWzBdLAorCSZpMmNfY2xrWzFdLAorCSZpaW1fY2xrLAorCSZrcHBfY2xrLAorCSZvd2lyZV9jbGssCisJJnJ0Y19jbGssCisJJnNjY19jbGssCit9OworCit2b2lkIF9faW5pdCBjaGFuZ2VfZXh0ZXJuYWxfbG93X3JlZmVyZW5jZSh1bnNpZ25lZCBsb25nIG5ld19yZWYpCit7CisJZXh0ZXJuYWxfbG93X3JlZmVyZW5jZSA9IG5ld19yZWY7Cit9CisKK3Vuc2lnbmVkIGxvbmcgX19pbml0IGNsa19lYXJseV9nZXRfdGltZXJfcmF0ZSh2b2lkKQoreworCXJldHVybiBjbGtfZ2V0X3JhdGUoJnBlcl9jbGtbMF0pOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcHJvYmVfbXhjX2Nsb2Nrcyh2b2lkKQoreworCWludCBpOworCisJaWYgKG14MjdfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApIHsKKwkJaWYgKENTQ1IoKSAmIDB4ODAwMCkKKwkJCWNwdV9jbGsucGFyZW50ID0gJm1wbGxfbWFpbl9jbGtbMF07CisKKwkJaWYgKCEoQ1NDUigpICYgMHgwMDgwMDAwMCkpCisJCQlzc2kyX2Nsa1swXS5wYXJlbnQgPSAmc3BsbF9jbGs7CisKKwkJaWYgKCEoQ1NDUigpICYgMHgwMDQwMDAwMCkpCisJCQlzc2kxX2Nsa1swXS5wYXJlbnQgPSAmc3BsbF9jbGs7CisKKwkJaWYgKCEoQ1NDUigpICYgMHgwMDIwMDAwMCkpCisJCQl2cHVfY2xrLnBhcmVudCA9ICZzcGxsX2NsazsKKwl9IGVsc2UgeworCQljcHVfY2xrLnBhcmVudCA9ICZtcGxsX2NsazsKKwkJY3B1X2Nsay5zZXRfcGFyZW50ID0gTlVMTDsKKwkJY3B1X2Nsay5yb3VuZF9yYXRlID0gTlVMTDsKKwkJY3B1X2Nsay5zZXRfcmF0ZSA9IE5VTEw7CisJCWFoYl9jbGsucGFyZW50ID0gJm1wbGxfY2xrOworCisJCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocGVyX2NsaykgLyBzaXplb2YocGVyX2Nsa1swXSk7IGkrKykKKwkJCXBlcl9jbGtbaV0ucGFyZW50ID0gJm1wbGxfY2xrOworCisJCXNzaTFfY2xrWzBdLnBhcmVudCA9ICZtcGxsX2NsazsKKwkJc3NpMl9jbGtbMF0ucGFyZW50ID0gJm1wbGxfY2xrOworCisJCXZwdV9jbGsucGFyZW50ID0gJm1wbGxfY2xrOworCX0KK30KKworLyoKKyAqIG11c3QgYmUgY2FsbGVkIHZlcnkgZWFybHkgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZQorICogYXZhaWxhYmxlIGNsb2NrIHJhdGUgd2hlbiB0aGUgdGltZXIgZnJhbWV3b3JrIHN0YXJ0cworICovCitpbnQgX19pbml0IG14Y19jbG9ja3NfaW5pdCh1bnNpZ25lZCBsb25nIGZyZWYpCit7CisJdTMyIGNzY3I7CisJc3RydWN0IGNsayAqKmNsa3A7CisKKwlleHRlcm5hbF9oaWdoX3JlZmVyZW5jZSA9IGZyZWY7CisKKwkvKiBkZXRlY3QgY2xvY2sgcmVmZXJlbmNlIGZvciBib3RoIHN5c3RlbSBQTEwgKi8KKwljc2NyID0gQ1NDUigpOworCWlmIChjc2NyICYgQ0NNX0NTQ1JfTUNVKQorCQltcGxsX2Nsay5wYXJlbnQgPSAmY2tpaF9jbGs7CisJZWxzZQorCQltcGxsX2Nsay5wYXJlbnQgPSAmY2tpbF9jbGs7CisKKwlpZiAoY3NjciAmIENDTV9DU0NSX1NQKQorCQlzcGxsX2Nsay5wYXJlbnQgPSAmY2tpaF9jbGs7CisJZWxzZQorCQlzcGxsX2Nsay5wYXJlbnQgPSAmY2tpbF9jbGs7CisKKwlwcm9iZV9teGNfY2xvY2tzKCk7CisKKwlwZXJfY2xrWzBdLmVuYWJsZSgmcGVyX2Nsa1swXSk7CisJZ3B0MV9jbGtbMV0uZW5hYmxlKCZncHQxX2Nsa1sxXSk7CisKKwlmb3IgKGNsa3AgPSBteGNfY2xrczsgY2xrcCA8IG14Y19jbGtzICsgQVJSQVlfU0laRShteGNfY2xrcyk7IGNsa3ArKykKKwkJY2xrX3JlZ2lzdGVyKCpjbGtwKTsKKworCS8qIFR1cm4gb2ZmIGFsbCBwb3NzaWJsZSBjbG9ja3MgKi8KKwlfX3Jhd193cml0ZWwoQ0NNX1BDQ1IwX0dQVDFfTUFTSywgQ0NNX1BDQ1IwKTsKKwlfX3Jhd193cml0ZWwoQ0NNX1BDQ1IxX1BFUkNMSzFfTUFTSyB8IENDTV9QQ0NSMV9IQ0xLX0VNSV9NQVNLLAorCQkgICAgIENDTV9QQ0NSMSk7CisJc3BsbF9jbGsuZGlzYWJsZSgmc3BsbF9jbGspOworCisJLyogVGhpcyB3aWxsIHByb3BhZ2F0ZSB0byBhbGwgY2hpbGRyZW4gYW5kIGluaXQgYWxsIHRoZSBjbG9jayByYXRlcyAqLworCisJY2xrX2VuYWJsZSgmZW1pX2Nsayk7CisJY2xrX2VuYWJsZSgmZ3Bpb19jbGspOworCWNsa19lbmFibGUoJmlpbV9jbGspOworCWNsa19lbmFibGUoJmdwdDFfY2xrWzBdKTsKKyNpZmRlZiBDT05GSUdfREVCVUdfTExfQ09OU09MRQorCWNsa19lbmFibGUoJnVhcnQxX2Nsa1swXSk7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL2NwdV9pbXgyNy5jIGIvYXJjaC9hcm0vbWFjaC1teDIvY3B1X2lteDI3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZiNWMyZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2NwdV9pbXgyNy5jCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvKgorICogaS5NWDI3IHNwZWNpZmljIENQVSBkZXRlY3Rpb24gY29kZQorICovCisKKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlICJjcm1fcmVncy5oIgorCitzdGF0aWMgaW50IGNwdV9zaWxpY29uX3JldiA9IC0xOworc3RhdGljIGludCBjcHVfcGFydG51bWJlcjsKKworc3RhdGljIHZvaWQgcXVlcnlfc2lsaWNvbl9wYXJhbWV0ZXIodm9pZCkKK3sKKwl1MzIgdmFsOworCS8qCisJICogbm93IHdlIGhhdmUgYWNjZXNzIHRvIHRoZSBJTyByZWdpc3RlcnMuIEFzIHdlIG5lZWQKKwkgKiB0aGUgc2lsaWNvbiByZXZpc2lvbiB2ZXJ5IGVhcmx5IHdlIHJlYWQgaXQgaGVyZSB0bworCSAqIGF2b2lkIGFueSBmdXJ0aGVyIGhvb2tzCisJKi8KKwl2YWwgPSBfX3Jhd19yZWFkbChJT19BRERSRVNTKFNZU0NUUkxfQkFTRV9BRERSKSArIFNZU19DSElQX0lEKTsKKworCWNwdV9zaWxpY29uX3JldiA9IChpbnQpKHZhbCA+PiAyOCk7CisJY3B1X3BhcnRudW1iZXIgPSAoaW50KSgodmFsID4+IDEyKSAmIDB4RkZGRik7Cit9CisKKy8qCisgKiBSZXR1cm5zOgorICoJdGhlIHNpbGljb24gcmV2aXNpb24gb2YgdGhlIGNwdQorICoJLUVJTlZBTCAtIG5vdCBhIG14MjcKKyAqLworaW50IG14MjdfcmV2aXNpb24odm9pZCkKK3sKKwlpZiAoY3B1X3NpbGljb25fcmV2ID09IC0xKQorCQlxdWVyeV9zaWxpY29uX3BhcmFtZXRlcigpOworCisJaWYgKGNwdV9wYXJ0bnVtYmVyICE9IDB4ODgyMSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gY3B1X3NpbGljb25fcmV2OworfQorRVhQT1JUX1NZTUJPTChteDI3X3JldmlzaW9uKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL2NybV9yZWdzLmggYi9hcmNoL2FybS9tYWNoLW14Mi9jcm1fcmVncy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MGE5YjkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9jcm1fcmVncy5oCkBAIC0wLDAgKzEsMjczIEBACisvKgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9BUk1fTUFDSF9NWDJfQ1JNX1JFR1NfSF9fCisjZGVmaW5lIF9fQVJDSF9BUk1fTUFDSF9NWDJfQ1JNX1JFR1NfSF9fCisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorCisvKiBSZWdpc3RlciBvZmZzZXRzICovCisjZGVmaW5lIENDTV9DU0NSICAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgwKQorI2RlZmluZSBDQ01fTVBDVEwwICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4NCkKKyNkZWZpbmUgQ0NNX01QQ1RMMSAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDgpCisjZGVmaW5lIENDTV9TUENUTDAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHhDKQorI2RlZmluZSBDQ01fU1BDVEwxICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MTApCisjZGVmaW5lIENDTV9PU0MyNk1DVEwgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgxNCkKKyNkZWZpbmUgQ0NNX1BDRFIwICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDE4KQorI2RlZmluZSBDQ01fUENEUjEgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MWMpCisjZGVmaW5lIENDTV9QQ0NSMCAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgyMCkKKyNkZWZpbmUgQ0NNX1BDQ1IxICAgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDI0KQorI2RlZmluZSBDQ01fQ0NTUiAgICAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MjgpCisjZGVmaW5lIENDTV9QTUNUTCAgICAgICAgICAgICAgIChJT19BRERSRVNTKENDTV9CQVNFX0FERFIpICsgMHgyYykKKyNkZWZpbmUgQ0NNX1BNQ09VTlQgICAgICAgICAgICAgKElPX0FERFJFU1MoQ0NNX0JBU0VfQUREUikgKyAweDMwKQorI2RlZmluZSBDQ01fV0tHRENUTCAgICAgICAgICAgICAoSU9fQUREUkVTUyhDQ01fQkFTRV9BRERSKSArIDB4MzQpCisKKyNkZWZpbmUgQ0NNX0NTQ1JfVVNCX09GRlNFVCAgICAgMjgKKyNkZWZpbmUgQ0NNX0NTQ1JfVVNCX01BU0sgICAgICAgKDB4NyA8PCAyOCkKKyNkZWZpbmUgQ0NNX0NTQ1JfU0RfT0ZGU0VUICAgICAgMjQKKyNkZWZpbmUgQ0NNX0NTQ1JfU0RfTUFTSyAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgQ0NNX0NTQ1JfU1NJMiAgICAgICAgICAgKDEgPDwgMjMpCisjZGVmaW5lIENDTV9DU0NSX1NTSTJfT0ZGU0VUICAgIDIzCisjZGVmaW5lIENDTV9DU0NSX1NTSTEgICAgICAgICAgICgxIDw8IDIyKQorI2RlZmluZSBDQ01fQ1NDUl9TU0kxX09GRlNFVCAgICAyMgorI2RlZmluZSBDQ01fQ1NDUl9WUFUgICAgICAgICAgICgxIDw8IDIxKQorI2RlZmluZSBDQ01fQ1NDUl9WUFVfT0ZGU0VUICAgIDIxCisjZGVmaW5lIENDTV9DU0NSX01TSEMgICAgICAgICAgICgxIDw8IDIwKQorI2RlZmluZSBDQ01fQ1NDUl9TUExMUkVTICAgICAgICAoMSA8PCAxOSkKKyNkZWZpbmUgQ0NNX0NTQ1JfTVBMTFJFUyAgICAgICAgKDEgPDwgMTgpCisjZGVmaW5lIENDTV9DU0NSX1NQICAgICAgICAgICAgICgxIDw8IDE3KQorI2RlZmluZSBDQ01fQ1NDUl9NQ1UgICAgICAgICAgICAoMSA8PCAxNikKKy8qIENDTV9DU0NSX0FSTV94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX0FSTV9TUkMgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fQ1NDUl9BUk1fT0ZGU0VUICAgICAxMgorI2RlZmluZSBDQ01fQ1NDUl9BUk1fTUFTSyAgICAgICAoMHgzIDw8IDEyKQorLyogQ0NNX0NTQ1JfQVJNX3h4eCBqdXN0IGJlIGF2YWxpYWJsZSBvbiBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX0NTQ1JfUFJFU0NfT0ZGU0VUICAgMTMKKyNkZWZpbmUgQ0NNX0NTQ1JfUFJFU0NfTUFTSyAgICAgKDB4NyA8PCAxMykKKyNkZWZpbmUgQ0NNX0NTQ1JfQkNMS19PRkZTRVQgICAgOQorI2RlZmluZSBDQ01fQ1NDUl9CQ0xLX01BU0sgICAgICAoMHhmIDw8IDkpCisjZGVmaW5lIENDTV9DU0NSX0lQRElWX09GRlNFVCAgIDgKKyNkZWZpbmUgQ0NNX0NTQ1JfSVBESVYgICAgICAgICAgKDEgPDwgOCkKKy8qIENDTV9DU0NSX0FIQl94eHgganVzdCBiZSBhdmFsaWFibGUgb24gaS5NWDI3IFRPMiovCisjZGVmaW5lIENDTV9DU0NSX0FIQl9PRkZTRVQgICAgIDgKKyNkZWZpbmUgQ0NNX0NTQ1JfQUhCX01BU0sgICAgICAgKDB4MyA8PCA4KQorLyogQ0NNX0NTQ1JfQUhCX3h4eCBqdXN0IGJlIGF2YWxpYWJsZSBvbiBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX0NTQ1JfT1NDMjZNRElWICAgICAgKDEgPDwgNCkKKyNkZWZpbmUgQ0NNX0NTQ1JfT1NDMjZNICAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgQ0NNX0NTQ1JfRlBNICAgICAgICAgICAgKDEgPDwgMikKKyNkZWZpbmUgQ0NNX0NTQ1JfU1BFTiAgICAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgQ0NNX0NTQ1JfTVBFTiAgICAgICAgICAgMQorCisjZGVmaW5lIENDTV9NUENUTDBfQ1BMTSAgICAgICAgICgxIDw8IDMxKQorI2RlZmluZSBDQ01fTVBDVEwwX1BEX09GRlNFVCAgICAyNgorI2RlZmluZSBDQ01fTVBDVEwwX1BEX01BU0sgICAgICAoMHhmIDw8IDI2KQorI2RlZmluZSBDQ01fTVBDVEwwX01GRF9PRkZTRVQgICAxNgorI2RlZmluZSBDQ01fTVBDVEwwX01GRF9NQVNLICAgICAoMHgzZmYgPDwgMTYpCisjZGVmaW5lIENDTV9NUENUTDBfTUZJX09GRlNFVCAgIDEwCisjZGVmaW5lIENDTV9NUENUTDBfTUZJX01BU0sgICAgICgweGYgPDwgMTApCisjZGVmaW5lIENDTV9NUENUTDBfTUZOX09GRlNFVCAgIDAKKyNkZWZpbmUgQ0NNX01QQ1RMMF9NRk5fTUFTSyAgICAgMHgzZmYKKworI2RlZmluZSBDQ01fTVBDVEwxX0xGICAgICAgICAgICAoMSA8PCAxNSkKKyNkZWZpbmUgQ0NNX01QQ1RMMV9CUk1PICAgICAgICAgKDEgPDwgNikKKworI2RlZmluZSBDQ01fU1BDVEwwX0NQTE0gICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9QRF9PRkZTRVQgICAgMjYKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9QRF9NQVNLICAgICAgKDB4ZiA8PCAyNikKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRkRfT0ZGU0VUICAgMTYKKyNkZWZpbmUgQ0NNX1NQQ1RMMF9NRkRfTUFTSyAgICAgKDB4M2ZmIDw8IDE2KQorI2RlZmluZSBDQ01fU1BDVEwwX01GSV9PRkZTRVQgICAxMAorI2RlZmluZSBDQ01fU1BDVEwwX01GSV9NQVNLICAgICAoMHhmIDw8IDEwKQorI2RlZmluZSBDQ01fU1BDVEwwX01GTl9PRkZTRVQgICAwCisjZGVmaW5lIENDTV9TUENUTDBfTUZOX01BU0sgICAgIDB4M2ZmCisKKyNkZWZpbmUgQ0NNX1NQQ1RMMV9MRiAgICAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9TUENUTDFfQlJNTyAgICAgICAgICgxIDw8IDYpCisKKyNkZWZpbmUgQ0NNX09TQzI2TUNUTF9QRUFLX09GRlNFVCAgICAgICAxNgorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX1BFQUtfTUFTSyAgICAgICAgICgweDMgPDwgMTYpCisjZGVmaW5lIENDTV9PU0MyNk1DVExfQUdDX09GRlNFVCAgICAgICAgOAorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FHQ19NQVNLICAgICAgICAgICgweDNmIDw8IDgpCisjZGVmaW5lIENDTV9PU0MyNk1DVExfQU5BVEVTVF9PRkZTRVQgICAgMAorI2RlZmluZSBDQ01fT1NDMjZNQ1RMX0FOQVRFU1RfTUFTSyAgICAgIDB4M2YKKworI2RlZmluZSBDQ01fUENEUjBfU1NJMkJBVURESVZfT0ZGU0VUICAgIDI2CisjZGVmaW5lIENDTV9QQ0RSMF9TU0kyQkFVRERJVl9NQVNLICAgICAgKDB4M2YgPDwgMjYpCisjZGVmaW5lIENDTV9QQ0RSMF9DTEtPX0VOICAgICAgICAgICAgICAgMjUKKyNkZWZpbmUgQ0NNX1BDRFIwX0NMS09ESVZfT0ZGU0VUICAgICAgICAyMgorI2RlZmluZSBDQ01fUENEUjBfQ0xLT0RJVl9NQVNLICAgICAgICAgICgweDcgPDwgMjIpCisjZGVmaW5lIENDTV9QQ0RSMF9TU0kxQkFVRERJVl9PRkZTRVQgICAgMTYKKyNkZWZpbmUgQ0NNX1BDRFIwX1NTSTFCQVVERElWX01BU0sgICAgICAoMHgzZiA8PCAxNikKKy8qVGhlIGRpZmluaXRpb24gZm9yIGkuTVgyNyBUTzIqLworI2RlZmluZSBDQ01fUENEUjBfVlBVRElWMl9PRkZTRVQgICAgICAgIDEwCisjZGVmaW5lIENDTV9QQ0RSMF9WUFVESVYyX01BU0sgICAgICAgICAgKDB4M2YgPDwgMTApCisjZGVmaW5lIENDTV9QQ0RSMF9ORkNESVYyX09GRlNFVCAgICAgICAgIDYKKyNkZWZpbmUgQ0NNX1BDRFIwX05GQ0RJVjJfTUFTSyAgICAgICAgICAgKDB4ZiA8PCA2KQorI2RlZmluZSBDQ01fUENEUjBfTVNIQ0RJVjJfTUFTSyAgICAgICAgICAweDNmCisvKlRoZSBkaWZpbml0aW9uIGZvciBpLk1YMjcgVE8yKi8KKyNkZWZpbmUgQ0NNX1BDRFIwX05GQ0RJVl9PRkZTRVQgICAgICAgICAxMgorI2RlZmluZSBDQ01fUENEUjBfTkZDRElWX01BU0sgICAgICAgICAgICgweGYgPDwgMTIpCisjZGVmaW5lIENDTV9QQ0RSMF9WUFVESVZfT0ZGU0VUICAgICAgICA4CisjZGVmaW5lIENDTV9QQ0RSMF9WUFVESVZfTUFTSyAgICAgICAgICAoMHhmIDw8IDgpCisjZGVmaW5lIENDTV9QQ0RSMF9NU0hDRElWX09GRlNFVCAgICAgICAgMAorI2RlZmluZSBDQ01fUENEUjBfTVNIQ0RJVl9NQVNLICAgICAgICAgIDB4MWYKKworI2RlZmluZSBDQ01fUENEUjFfUEVSRElWNF9PRkZTRVQgICAgICAgIDI0CisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVY0X01BU0sgICAgICAgICAgKDB4M2YgPDwgMjQpCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYzX09GRlNFVCAgICAgICAgMTYKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjNfTUFTSyAgICAgICAgICAoMHgzZiA8PCAxNikKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjJfT0ZGU0VUICAgICAgICA4CisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYyX01BU0sgICAgICAgICAgKDB4M2YgPDwgOCkKKyNkZWZpbmUgQ0NNX1BDRFIxX1BFUkRJVjFfT0ZGU0VUICAgICAgICAwCisjZGVmaW5lIENDTV9QQ0RSMV9QRVJESVYxX01BU0sgICAgICAgICAgMHgzZgorCisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJMV9PRkZTRVQgICAgICAgICAgMzEKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkxX01BU0sgICAgICAgICAgICAoMSA8PCAzMSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0NTUEkyX09GRlNFVCAgICAgICAgICAzMAorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTJfTUFTSyAgICAgICAgICAgICgxIDw8IDMwKQorI2RlZmluZSBDQ01fUENDUjBfQ1NQSTNfT0ZGU0VUICAgICAgICAgIDI5CisjZGVmaW5lIENDTV9QQ0NSMF9DU1BJM19NQVNLICAgICAgICAgICAgKDEgPDwgMjkpCisjZGVmaW5lIENDTV9QQ0NSMF9ETUFfT0ZGU0VUICAgICAgICAgICAgMjgKKyNkZWZpbmUgQ0NNX1BDQ1IwX0RNQV9NQVNLICAgICAgICAgICAgICAoMSA8PCAyOCkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0VNTUFfT0ZGU0VUICAgICAgICAgICAyNworI2RlZmluZSBDQ01fUENDUjBfRU1NQV9NQVNLICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBDQ01fUENDUjBfRkVDX09GRlNFVCAgICAgICAgICAgIDI2CisjZGVmaW5lIENDTV9QQ0NSMF9GRUNfTUFTSyAgICAgICAgICAgICAgKDEgPDwgMjYpCisjZGVmaW5lIENDTV9QQ0NSMF9HUElPX09GRlNFVCAgICAgICAgICAgMjUKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQSU9fTUFTSyAgICAgICAgICAgICAoMSA8PCAyNSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDFfT0ZGU0VUICAgICAgICAgICAyNAorI2RlZmluZSBDQ01fUENDUjBfR1BUMV9NQVNLICAgICAgICAgICAgICgxIDw8IDI0KQorI2RlZmluZSBDQ01fUENDUjBfR1BUMl9PRkZTRVQgICAgICAgICAgIDIzCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQyX01BU0sgICAgICAgICAgICAgKDEgPDwgMjMpCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQzX09GRlNFVCAgICAgICAgICAgMjIKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDNfTUFTSyAgICAgICAgICAgICAoMSA8PCAyMikKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDRfT0ZGU0VUICAgICAgICAgICAyMQorI2RlZmluZSBDQ01fUENDUjBfR1BUNF9NQVNLICAgICAgICAgICAgICgxIDw8IDIxKQorI2RlZmluZSBDQ01fUENDUjBfR1BUNV9PRkZTRVQgICAgICAgICAgIDIwCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ1X01BU0sgICAgICAgICAgICAgKDEgPDwgMjApCisjZGVmaW5lIENDTV9QQ0NSMF9HUFQ2X09GRlNFVCAgICAgICAgICAgMTkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0dQVDZfTUFTSyAgICAgICAgICAgICAoMSA8PCAxOSkKKyNkZWZpbmUgQ0NNX1BDQ1IwX0kyQzFfT0ZGU0VUICAgICAgICAgICAxOAorI2RlZmluZSBDQ01fUENDUjBfSTJDMV9NQVNLICAgICAgICAgICAgICgxIDw8IDE4KQorI2RlZmluZSBDQ01fUENDUjBfSTJDMl9PRkZTRVQgICAgICAgICAgIDE3CisjZGVmaW5lIENDTV9QQ0NSMF9JMkMyX01BU0sgICAgICAgICAgICAgKDEgPDwgMTcpCisjZGVmaW5lIENDTV9QQ0NSMF9JSU1fT0ZGU0VUICAgICAgICAgICAgMTYKKyNkZWZpbmUgQ0NNX1BDQ1IwX0lJTV9NQVNLICAgICAgICAgICAgICAoMSA8PCAxNikKKyNkZWZpbmUgQ0NNX1BDQ1IwX0tQUF9PRkZTRVQgICAgICAgICAgICAxNQorI2RlZmluZSBDQ01fUENDUjBfS1BQX01BU0sgICAgICAgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fUENDUjBfTENEQ19PRkZTRVQgICAgICAgICAgIDE0CisjZGVmaW5lIENDTV9QQ0NSMF9MQ0RDX01BU0sgICAgICAgICAgICAgKDEgPDwgMTQpCisjZGVmaW5lIENDTV9QQ0NSMF9NU0hDX09GRlNFVCAgICAgICAgICAgMTMKKyNkZWZpbmUgQ0NNX1BDQ1IwX01TSENfTUFTSyAgICAgICAgICAgICAoMSA8PCAxMykKKyNkZWZpbmUgQ0NNX1BDQ1IwX09XSVJFX09GRlNFVCAgICAgICAgICAxMgorI2RlZmluZSBDQ01fUENDUjBfT1dJUkVfTUFTSyAgICAgICAgICAgICgxIDw8IDEyKQorI2RlZmluZSBDQ01fUENDUjBfUFdNX09GRlNFVCAgICAgICAgICAgIDExCisjZGVmaW5lIENDTV9QQ0NSMF9QV01fTUFTSyAgICAgICAgICAgICAgKDEgPDwgMTEpCisjZGVmaW5lIENDTV9QQ0NSMF9SVENfT0ZGU0VUICAgICAgICAgICAgOQorI2RlZmluZSBDQ01fUENDUjBfUlRDX01BU0sgICAgICAgICAgICAgICgxIDw8IDkpCisjZGVmaW5lIENDTV9QQ0NSMF9SVElDX09GRlNFVCAgICAgICAgICAgOAorI2RlZmluZSBDQ01fUENDUjBfUlRJQ19NQVNLICAgICAgICAgICAgICgxIDw8IDgpCisjZGVmaW5lIENDTV9QQ0NSMF9TQUhBUkFfT0ZGU0VUICAgICAgICAgNworI2RlZmluZSBDQ01fUENDUjBfU0FIQVJBX01BU0sgICAgICAgICAgICgxIDw8IDcpCisjZGVmaW5lIENDTV9QQ0NSMF9TQ0NfT0ZGU0VUICAgICAgICAgICAgNgorI2RlZmluZSBDQ01fUENDUjBfU0NDX01BU0sgICAgICAgICAgICAgICgxIDw8IDYpCisjZGVmaW5lIENDTV9QQ0NSMF9TREhDMV9PRkZTRVQgICAgICAgICAgNQorI2RlZmluZSBDQ01fUENDUjBfU0RIQzFfTUFTSyAgICAgICAgICAgICgxIDw8IDUpCisjZGVmaW5lIENDTV9QQ0NSMF9TREhDMl9PRkZTRVQgICAgICAgICAgNAorI2RlZmluZSBDQ01fUENDUjBfU0RIQzJfTUFTSyAgICAgICAgICAgICgxIDw8IDQpCisjZGVmaW5lIENDTV9QQ0NSMF9TREhDM19PRkZTRVQgICAgICAgICAgMworI2RlZmluZSBDQ01fUENDUjBfU0RIQzNfTUFTSyAgICAgICAgICAgICgxIDw8IDMpCisjZGVmaW5lIENDTV9QQ0NSMF9TTENEQ19PRkZTRVQgICAgICAgICAgMgorI2RlZmluZSBDQ01fUENDUjBfU0xDRENfTUFTSyAgICAgICAgICAgICgxIDw8IDIpCisjZGVmaW5lIENDTV9QQ0NSMF9TU0kxX0lQR19PRkZTRVQgICAgICAgMQorI2RlZmluZSBDQ01fUENDUjBfU1NJMV9JUEdfTUFTSyAgICAgICAgICgxIDw8IDEpCisjZGVmaW5lIENDTV9QQ0NSMF9TU0kyX0lQR19PRkZTRVQgICAgICAgMAorI2RlZmluZSBDQ01fUENDUjBfU1NJMl9JUEdfTUFTSyAgICAgICAgICgxIDw8IDApCisKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQxX09GRlNFVCAgICAgICAgICAzMQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDFfTUFTSyAgICAgICAgICAgICgxIDw8IDMxKQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDJfT0ZGU0VUICAgICAgICAgIDMwCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUMl9NQVNLICAgICAgICAgICAgKDEgPDwgMzApCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUM19PRkZTRVQgICAgICAgICAgMjkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQzX01BU0sgICAgICAgICAgICAoMSA8PCAyOSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ0X09GRlNFVCAgICAgICAgICAyOAorI2RlZmluZSBDQ01fUENDUjFfVUFSVDRfTUFTSyAgICAgICAgICAgICgxIDw8IDI4KQorI2RlZmluZSBDQ01fUENDUjFfVUFSVDVfT0ZGU0VUICAgICAgICAgIDI3CisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNV9NQVNLICAgICAgICAgICAgKDEgPDwgMjcpCisjZGVmaW5lIENDTV9QQ0NSMV9VQVJUNl9PRkZTRVQgICAgICAgICAgMjYKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VBUlQ2X01BU0sgICAgICAgICAgICAoMSA8PCAyNikKKyNkZWZpbmUgQ0NNX1BDQ1IxX1VTQk9UR19PRkZTRVQgICAgICAgICAyNQorI2RlZmluZSBDQ01fUENDUjFfVVNCT1RHX01BU0sgICAgICAgICAgICgxIDw8IDI1KQorI2RlZmluZSBDQ01fUENDUjFfV0RUX09GRlNFVCAgICAgICAgICAgIDI0CisjZGVmaW5lIENDTV9QQ0NSMV9XRFRfTUFTSyAgICAgICAgICAgICAgKDEgPDwgMjQpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0FUQV9PRkZTRVQgICAgICAgMjMKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQVRBX01BU0sgICAgICAgICAoMSA8PCAyMykKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfQlJPTV9PRkZTRVQgICAgICAyMgorI2RlZmluZSBDQ01fUENDUjFfSENMS19CUk9NX01BU0sgICAgICAgICgxIDw8IDIyKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19DU0lfT0ZGU0VUICAgICAgIDIxCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0NTSV9NQVNLICAgICAgICAgKDEgPDwgMjEpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0RNQV9PRkZTRVQgICAgICAgMjAKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRE1BX01BU0sgICAgICAgICAoMSA8PCAyMCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRU1JX09GRlNFVCAgICAgICAxOQorI2RlZmluZSBDQ01fUENDUjFfSENMS19FTUlfTUFTSyAgICAgICAgICgxIDw8IDE5KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19FTU1BX09GRlNFVCAgICAgIDE4CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0VNTUFfTUFTSyAgICAgICAgKDEgPDwgMTgpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0ZFQ19PRkZTRVQgICAgICAgMTcKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfRkVDX01BU0sgICAgICAgICAoMSA8PCAxNykKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfVlBVX09GRlNFVCAgICAgICAxNgorI2RlZmluZSBDQ01fUENDUjFfSENMS19WUFVfTUFTSyAgICAgICAgICgxIDw8IDE2KQorI2RlZmluZSBDQ01fUENDUjFfSENMS19MQ0RDX09GRlNFVCAgICAgIDE1CisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX0xDRENfTUFTSyAgICAgICAgKDEgPDwgMTUpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1JUSUNfT0ZGU0VUICAgICAgMTQKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfUlRJQ19NQVNLICAgICAgICAoMSA8PCAxNCkKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfU0FIQVJBX09GRlNFVCAgICAxMworI2RlZmluZSBDQ01fUENDUjFfSENMS19TQUhBUkFfTUFTSyAgICAgICgxIDw8IDEzKQorI2RlZmluZSBDQ01fUENDUjFfSENMS19TTENEQ19PRkZTRVQgICAgIDEyCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1NMQ0RDX01BU0sgICAgICAgKDEgPDwgMTIpCisjZGVmaW5lIENDTV9QQ0NSMV9IQ0xLX1VTQk9UR19PRkZTRVQgICAgMTEKKyNkZWZpbmUgQ0NNX1BDQ1IxX0hDTEtfVVNCT1RHX01BU0sgICAgICAoMSA8PCAxMSkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzFfT0ZGU0VUICAgICAgICAxMAorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLMV9NQVNLICAgICAgICAgICgxIDw8IDEwKQorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLMl9PRkZTRVQgICAgICAgIDkKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzJfTUFTSyAgICAgICAgICAoMSA8PCA5KQorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLM19PRkZTRVQgICAgICAgIDgKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzNfTUFTSyAgICAgICAgICAoMSA8PCA4KQorI2RlZmluZSBDQ01fUENDUjFfUEVSQ0xLNF9PRkZTRVQgICAgICAgIDcKKyNkZWZpbmUgQ0NNX1BDQ1IxX1BFUkNMSzRfTUFTSyAgICAgICAgICAoMSA8PCA3KQorI2RlZmluZSBDQ01fUENDUjFfVlBVX0JBVURfT0ZGU0VUICAgICAgIDYKKyNkZWZpbmUgQ0NNX1BDQ1IxX1ZQVV9CQVVEX01BU0sgICAgICAgICAoMSA8PCA2KQorI2RlZmluZSBDQ01fUENDUjFfU1NJMV9CQVVEX09GRlNFVCAgICAgIDUKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTFfQkFVRF9NQVNLICAgICAgICAoMSA8PCA1KQorI2RlZmluZSBDQ01fUENDUjFfU1NJMl9CQVVEX09GRlNFVCAgICAgIDQKKyNkZWZpbmUgQ0NNX1BDQ1IxX1NTSTJfQkFVRF9NQVNLICAgICAgICAoMSA8PCA0KQorI2RlZmluZSBDQ01fUENDUjFfTkZDX0JBVURfT0ZGU0VUICAgICAgIDMKKyNkZWZpbmUgQ0NNX1BDQ1IxX05GQ19CQVVEX01BU0sgICAgICAgICAoMSA8PCAzKQorI2RlZmluZSBDQ01fUENDUjFfTVNIQ19CQVVEX09GRlNFVCAgICAgIDIKKyNkZWZpbmUgQ0NNX1BDQ1IxX01TSENfQkFVRF9NQVNLICAgICAgICAoMSA8PCAyKQorCisjZGVmaW5lIENDTV9DQ1NSXzMyS1NSICAgICAgICAgICgxIDw8IDE1KQorI2RlZmluZSBDQ01fQ0NTUl9DTEtNT0RFMSAgICAgICAoMSA8PCA5KQorI2RlZmluZSBDQ01fQ0NTUl9DTEtNT0RFMCAgICAgICAoMSA8PCA4KQorI2RlZmluZSBDQ01fQ0NTUl9DTEtPU0VMX09GRlNFVCAwCisjZGVmaW5lIENDTV9DQ1NSX0NMS09TRUxfTUFTSyAgIDB4MWYKKworI2RlZmluZSBTWVNfRk1DUiAgICAgICAgICAgICAgICAweDE0CS8qICBGdW5jdGlvbmFsIE11eGluZyBDb250cm9sIFJlZyAqLworI2RlZmluZSBTWVNfQ0hJUF9JRCAgICAgICAgICAgICAweDAwCS8qIFRoZSBvZmZzZXQgb2YgQ0hJUCBJRCByZWdpc3RlciAqLworCisjZW5kaWYgLyogX19BUkNIX0FSTV9NQUNIX01YMl9DUk1fUkVHU19IX18gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL2RldmljZXMuYyBiL2FyY2gvYXJtL21hY2gtbXgyL2RldmljZXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWY0NGMzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDIvZGV2aWNlcy5jCkBAIC0wLDAgKzEsMjMxIEBACisvKgorICogQXV0aG9yOiBNb250YVZpc3RhIFNvZnR3YXJlLCBJbmMuCisgKiAgICAgICA8c291cmNlQG12aXN0YS5jb20+CisgKgorICogQmFzZWQgb24gdGhlIE9NQVAgZGV2aWNlcy5jCisgKgorICogMjAwNSAoYykgTW9udGFWaXN0YSBTb2Z0d2FyZSwgSW5jLiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlCisgKiB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyLiBUaGlzIHByb2dyYW0gaXMKKyAqIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkgd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcworICogb3IgaW1wbGllZC4KKyAqCisgKiBDb3B5cmlnaHQgMjAwNi0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisvKgorICogUmVzb3VyY2UgZGVmaW5pdGlvbiBmb3IgdGhlIE1YQyBJckRBCisgKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbXhjX2lyZGFfcmVzb3VyY2VzW10gPSB7CisJWzBdID0geworCQkuc3RhcnQgICA9IFVBUlQzX0JBU0VfQUREUiwKKwkJLmVuZCAgICAgPSBVQVJUM19CQVNFX0FERFIgKyBTWl80SyAtIDEsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCAgID0gTVhDX0lOVF9VQVJUMywKKwkJLmVuZCAgICAgPSBNWENfSU5UX1VBUlQzLAorCQkuZmxhZ3MgICA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCisvKiBQbGF0Zm9ybSBEYXRhIGZvciBNWEMgSXJEQSAqLworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfaXJkYV9kZXZpY2UgPSB7CisJLm5hbWUgPSAibXhjX2lyZGEiLAorCS5pZCA9IDAsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKG14Y19pcmRhX3Jlc291cmNlcyksCisJLnJlc291cmNlID0gbXhjX2lyZGFfcmVzb3VyY2VzLAorfTsKKworLyoKKyAqIEdlbmVyYWwgUHVycG9zZSBUaW1lcgorICogLSBpLk1YMTogMiB0aW1lciAoc2xpZ2hseSBkaWZmZXJlbnQgcmVnaXN0ZXIgaGFuZGxpbmcpCisgKiAtIGkuTVgyMTogMyB0aW1lcgorICogLSBpLk1YMjc6IDYgdGltZXIKKyAqLworCisvKiBXZSB1c2UgZ3B0MCBhcyBzeXN0ZW0gdGltZXIsIHNvIGRvIG5vdCBhZGQgYSBkZXZpY2UgZm9yIHRoaXMgb25lICovCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdGltZXIxX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gR1BUMl9CQVNFX0FERFIsCisJCS5lbmQJPSBHUFQyX0JBU0VfQUREUiArIDB4MTcsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCAgID0gTVhDX0lOVF9HUFQyLAorCQkuZW5kICAgICA9IE1YQ19JTlRfR1BUMiwKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9Cit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y19ncHQxID0geworCS5uYW1lID0gImlteF9ncHQiLAorCS5pZCA9IDEsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHRpbWVyMV9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IHRpbWVyMV9yZXNvdXJjZXMKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdGltZXIyX3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gR1BUM19CQVNFX0FERFIsCisJCS5lbmQJPSBHUFQzX0JBU0VfQUREUiArIDB4MTcsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCAgID0gTVhDX0lOVF9HUFQzLAorCQkuZW5kICAgICA9IE1YQ19JTlRfR1BUMywKKwkJLmZsYWdzICAgPSBJT1JFU09VUkNFX0lSUSwKKwl9Cit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y19ncHQyID0geworCS5uYW1lID0gImlteF9ncHQiLAorCS5pZCA9IDIsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHRpbWVyMl9yZXNvdXJjZXMpLAorCS5yZXNvdXJjZSA9IHRpbWVyMl9yZXNvdXJjZXMKK307CisKKyNpZmRlZiBDT05GSUdfTUFDSF9NWDI3CitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyM19yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDRfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUNF9CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUNCwKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDQsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0MyA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSAzLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjNfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjNfcmVzb3VyY2VzCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyNF9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDVfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUNV9CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUNSwKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDUsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0NCA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSA0LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjRfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjRfcmVzb3VyY2VzCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHRpbWVyNV9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IEdQVDZfQkFTRV9BRERSLAorCQkuZW5kCT0gR1BUNl9CQVNFX0FERFIgKyAweDE3LAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzFdID0geworCQkuc3RhcnQgICA9IE1YQ19JTlRfR1BUNiwKKwkJLmVuZCAgICAgPSBNWENfSU5UX0dQVDYsCisJCS5mbGFncyAgID0gSU9SRVNPVVJDRV9JUlEsCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfZ3B0NSA9IHsKKwkubmFtZSA9ICJpbXhfZ3B0IiwKKwkuaWQgPSA1LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0aW1lcjVfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UgPSB0aW1lcjVfcmVzb3VyY2VzCit9OworI2VuZGlmCisKKy8qCisgKiBXYXRjaGRvZzoKKyAqIC0gaS5NWDEKKyAqIC0gaS5NWDIxCisgKiAtIGkuTVgyNworICovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG14Y193ZHRfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBXRE9HX0JBU0VfQUREUiwKKwkJLmVuZAk9IFdET0dfQkFTRV9BRERSICsgMHgzMCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3dkdCA9IHsKKwkubmFtZSA9ICJteGNfd2R0IiwKKwkuaWQgPSAwLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRShteGNfd2R0X3Jlc291cmNlcyksCisJLnJlc291cmNlID0gbXhjX3dkdF9yZXNvdXJjZXMsCit9OworCisvKiBHUElPIHBvcnQgZGVzY3JpcHRpb24gKi8KK3N0YXRpYyBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCBpbXhfZ3Bpb19wb3J0c1tdID0geworCVswXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0wIiwKKwkJLmlycSA9IE1YQ19JTlRfR1BJTywKKwkJLmJhc2UgPSAodm9pZCopKEFJUElfQkFTRV9BRERSX1ZJUlQgKyAweDE1MDAwICsgMHgxMDAgKiAwKSwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX01BWF9JTlRfTElORVMsCisJfSwKKwlbMV0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMSIsCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogMSksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTICsgMzIsCisJfSwKKwlbMl0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMiIsCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogMiksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTICsgNjQsCisJfSwKKwlbM10gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMyIsCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogMyksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTICsgOTYsCisJfSwKKwlbNF0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tNCIsCisJCS5iYXNlID0gKHZvaWQqKShBSVBJX0JBU0VfQUREUl9WSVJUICsgMHgxNTAwMCArIDB4MTAwICogNCksCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19NQVhfSU5UX0xJTkVTICsgMTI4LAorCX0sCisJWzVdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTUiLAorCQkuYmFzZSA9ICh2b2lkKikoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MTUwMDAgKyAweDEwMCAqIDUpLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfTUFYX0lOVF9MSU5FUyArIDE2MCwKKwl9Cit9OworCitpbnQgX19pbml0IG14Y19yZWdpc3Rlcl9ncGlvcyh2b2lkKQoreworCXJldHVybiBteGNfZ3Bpb19pbml0KGlteF9ncGlvX3BvcnRzLCBBUlJBWV9TSVpFKGlteF9ncGlvX3BvcnRzKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9nZW5lcmljLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9nZW5lcmljLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc4NzVjZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL2dlbmVyaWMuYwpAQCAtMCwwICsxLDc0IEBACisvKgorICogZ2VuZXJpYy5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorCisvKiBNWDI3IG1lbW9yeSBtYXAgZGVmaW5pdGlvbiAqLworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBteGNfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJLyoKKwkgKiB0aGlzIGZpeGVkIG1hcHBpbmcgY292ZXJzOgorCSAqIC0gQUlQSTEKKwkgKiAtIEFJUEkyCisJICogLSBBSVRDCisJICogLSBST00gUGF0Y2gKKwkgKiAtIGFuZCBzb21lIHJlc2VydmVkIHNwYWNlCisJICovCisJeworCQkudmlydHVhbCA9IEFJUElfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKEFJUElfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IEFJUElfU0laRSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UKKwl9LAorCS8qCisJICogdGhpcyBmaXhlZCBtYXBwaW5nIGNvdmVyczoKKwkgKiAtIENTSQorCSAqIC0gQVRBCisJICovCisJeworCQkudmlydHVhbCA9IFNBSEIxX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihTQUhCMV9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gU0FIQjFfU0laRSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UKKwl9LAorCS8qCisJICogdGhpcyBmaXhlZCBtYXBwaW5nIGNvdmVyczoKKwkgKiAtIEVNSQorCSAqLworCXsKKwkJLnZpcnR1YWwgPSBYX01FTUNfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4gPSBfX3BoeXNfdG9fcGZuKFhfTUVNQ19CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gWF9NRU1DX1NJWkUsCisJCS50eXBlID0gTVRfREVWSUNFCisJfQorfTsKKworLyoKKyAqIEluaXRpYWxpemUgdGhlIG1lbW9yeSBtYXAuIEl0IGlzIGNhbGxlZCBkdXJpbmcgdGhlCisgKiBzeXN0ZW0gc3RhcnR1cCB0byBjcmVhdGUgc3RhdGljIHBoeXNpY2FsIHRvIHZpcnR1YWwKKyAqIG1lbW9yeSBtYXAgZm9yIHRoZSBJTyBtb2R1bGVzLgorICovCit2b2lkIF9faW5pdCBteGNfbWFwX2lvKHZvaWQpCit7CisJaW90YWJsZV9pbml0KG14Y19pb19kZXNjLCBBUlJBWV9TSVpFKG14Y19pb19kZXNjKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9teDI3YWRzLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9teDI3YWRzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlmZjAxZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL214MjdhZHMuYwpAQCAtMCwwICsxLDMwNCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDAgRGVlcCBCbHVlIFNvbHV0aW9ucyBMdGQKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIgU2hhbmUgTmF5IChzaGFuZUBtaW5pcmwuY29tKQorICogIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pb211eC1teDEtbXgyLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQtbXgyN2Fkcy5oPgorCisvKiBBRFMncyBOT1IgZmxhc2ggKi8KK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIG14MjdhZHNfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGggPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBteDI3YWRzX2ZsYXNoX3Jlc291cmNlID0geworCS5zdGFydCA9IDB4YzAwMDAwMDAsCisJLmVuZCA9IDB4YzAwMDAwMDAgKyAweDAyMDAwMDAwIC0gMSwKKwkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKworfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXgyN2Fkc19ub3JfbXRkX2RldmljZSA9IHsKKwkubmFtZSA9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQgPSAwLAorCS5kZXYgPSB7CisJCS5wbGF0Zm9ybV9kYXRhID0gJm14MjdhZHNfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzID0gMSwKKwkucmVzb3VyY2UgPSAmbXgyN2Fkc19mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQwX3BpbnNbXSA9IHsKKwlQRTEyX1BGX1VBUlQxX1RYRCwKKwlQRTEzX1BGX1VBUlQxX1JYRCwKKwlQRTE0X1BGX1VBUlQxX0NUUywKKwlQRTE1X1BGX1VBUlQxX1JUUworfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQwX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MF9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDAiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MF9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQwX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MF9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQxX3BpbnNbXSA9IHsKKwlQRTNfUEZfVUFSVDJfQ1RTLAorCVBFNF9QRl9VQVJUMl9SVFMsCisJUEU2X1BGX1VBUlQyX1RYRCwKKwlQRTdfUEZfVUFSVDJfUlhECit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQxX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDFfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQxX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMSIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQxX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDFfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQxX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDJfcGluc1tdID0geworCVBFOF9QRl9VQVJUM19UWEQsCisJUEU5X1BGX1VBUlQzX1JYRCwKKwlQRTEwX1BGX1VBUlQzX0NUUywKKwlQRTExX1BGX1VBUlQzX1JUUworfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0Ml9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQyX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0Ml9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDIiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0Ml9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQyX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0Ml9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQzX3BpbnNbXSA9IHsKKwlQQjI2X0FGX1VBUlQ0X1JUUywKKwlQQjI4X0FGX1VBUlQ0X1RYRCwKKwlQQjI5X0FGX1VBUlQ0X0NUUywKKwlQQjMxX0FGX1VBUlQ0X1JYRAorfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0M19pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQzX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0M19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDMiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0M19leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQzX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0M19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQzIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQ0X3BpbnNbXSA9IHsKKwlQQjE4X0FGX1VBUlQ1X1RYRCwKKwlQQjE5X0FGX1VBUlQ1X1JYRCwKKwlQQjIwX0FGX1VBUlQ1X0NUUywKKwlQQjIxX0FGX1VBUlQ1X1JUUworfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0NF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQ0X3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0NF9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDQiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0NF9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQ0X3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0NF9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQ0Iik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQ1X3BpbnNbXSA9IHsKKwlQQjEwX0FGX1VBUlQ2X1RYRCwKKwlQQjEyX0FGX1VBUlQ2X0NUUywKKwlQQjExX0FGX1VBUlQ2X1JYRCwKKwlQQjEzX0FGX1VBUlQ2X1JUUworfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0NV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQ1X3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0NV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDUiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0NV9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQ1X3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0NV9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQ1Iik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmbXgyN2Fkc19ub3JfbXRkX2RldmljZSwKK307CisKK3N0YXRpYyBpbnQgbXhjX2ZlY19waW5zW10gPSB7CisJUEQwX0FJTl9GRUNfVFhEMCwKKwlQRDFfQUlOX0ZFQ19UWEQxLAorCVBEMl9BSU5fRkVDX1RYRDIsCisJUEQzX0FJTl9GRUNfVFhEMywKKwlQRDRfQU9VVF9GRUNfUlhfRVIsCisJUEQ1X0FPVVRfRkVDX1JYRDEsCisJUEQ2X0FPVVRfRkVDX1JYRDIsCisJUEQ3X0FPVVRfRkVDX1JYRDMsCisJUEQ4X0FGX0ZFQ19NRElPLAorCVBEOV9BSU5fRkVDX01EQywKKwlQRDEwX0FPVVRfRkVDX0NSUywKKwlQRDExX0FPVVRfRkVDX1RYX0NMSywKKwlQRDEyX0FPVVRfRkVDX1JYRDAsCisJUEQxM19BT1VUX0ZFQ19SWF9EViwKKwlQRDE0X0FPVVRfRkVDX0NMUiwKKwlQRDE1X0FPVVRfRkVDX0NPTCwKKwlQRDE2X0FJTl9GRUNfVFhfRVIsCisJUEYyM19BSU5fRkVDX1RYX0VOCit9OworCitzdGF0aWMgdm9pZCBncGlvX2ZlY19hY3RpdmUodm9pZCkKK3sKKwlteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y19mZWNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX2ZlY19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiRkVDIik7Cit9CisKK3N0YXRpYyB2b2lkIGdwaW9fZmVjX2luYWN0aXZlKHZvaWQpCit7CisJbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfZmVjX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y19mZWNfcGlucyksCisJCQlNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UsICJGRUMiKTsKK30KKworc3RhdGljIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgdWFydF9wZGF0YVtdID0geworCXsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0MF9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQwX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQxX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDFfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDJfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0Ml9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0M19pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQzX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQ0X2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDRfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LCB7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDVfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0NV9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgbXgyN2Fkc19ib2FyZF9pbml0KHZvaWQpCit7CisJaW50IGk7CisKKwlncGlvX2ZlY19hY3RpdmUoKTsKKworCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspCisJCWlteF9pbml0X3VhcnQoaSwgJnVhcnRfcGRhdGFbaV0pOworCisJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBteDI3YWRzX3RpbWVyX2luaXQodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZyZWYgPSAyNjAwMDAwMDsKKworCWlmICgoX19yYXdfcmVhZHcoUEJDX1ZFUlNJT05fUkVHKSAmIENLSUhfMjdNSFpfQklUX1NFVCkgPT0gMCkKKwkJZnJlZiA9IDI3MDAwMDAwOworCisJbXhjX2Nsb2Nrc19pbml0KGZyZWYpOworCW14Y190aW1lcl9pbml0KCJncHRfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBteDI3YWRzX3RpbWVyID0geworCS5pbml0CT0gbXgyN2Fkc190aW1lcl9pbml0LAorfTsKKworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBteDI3YWRzX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwgPSBQQkNfQkFTRV9BRERSRVNTLAorCQkucGZuID0gX19waHlzX3RvX3BmbihDUzRfQkFTRV9BRERSKSwKKwkJLmxlbmd0aCA9IFNaXzFNLAorCQkudHlwZSA9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgbXgyN2Fkc19tYXBfaW8odm9pZCkKK3sKKwlteGNfbWFwX2lvKCk7CisJaW90YWJsZV9pbml0KG14MjdhZHNfaW9fZGVzYywgQVJSQVlfU0laRShteDI3YWRzX2lvX2Rlc2MpKTsKK30KKworTUFDSElORV9TVEFSVChNWDI3QURTLCAiRnJlZXNjYWxlIGkuTVgyN0FEUyIpCisJLyogbWFpbnRhaW5lcjogRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gKi8KKwkucGh5c19pbyAgICAgICAgPSBBSVBJX0JBU0VfQUREUiwKKwkuaW9fcGdfb2Zmc3QgICAgPSAoKEFJUElfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IG14MjdhZHNfbWFwX2lvLAorCS5pbml0X2lycSAgICAgICA9IG14Y19pbml0X2lycSwKKwkuaW5pdF9tYWNoaW5lICAgPSBteDI3YWRzX2JvYXJkX2luaXQsCisJLnRpbWVyICAgICAgICAgID0gJm14MjdhZHNfdGltZXIsCitNQUNISU5FX0VORAorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9wY20wMzguYyBiL2FyY2gvYXJtL21hY2gtbXgyL3BjbTAzOC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5YTI4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9wY20wMzguYwpAQCAtMCwwICsxLDIwNCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA3IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgxLW14Mi5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pbXgtdWFydC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLXBjbTAzOC5oPgorCisvKgorICogUGh5dGVjJ3MgcGh5Q09SRS1pLk1YMjcgY29tZXMgd2l0aCAzMk1pQiBmbGFzaCwKKyAqIDE2IGJpdCB3aWR0aAorICovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBwY20wMzhfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGggPSAyLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBwY20wMzhfZmxhc2hfcmVzb3VyY2UgPSB7CisJLnN0YXJ0ID0gMHhjMDAwMDAwMCwKKwkuZW5kICAgPSAweGMxZmZmZmZmLAorCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcGNtMDM4X25vcl9tdGRfZGV2aWNlID0geworCS5uYW1lID0gInBoeXNtYXAtZmxhc2giLAorCS5pZCA9IDAsCisJLmRldiA9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmcGNtMDM4X2ZsYXNoX2RhdGEsCisJfSwKKwkubnVtX3Jlc291cmNlcyA9IDEsCisJLnJlc291cmNlID0gJnBjbTAzOF9mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQwX3BpbnNbXSA9IHsKKwlQRTEyX1BGX1VBUlQxX1RYRCwKKwlQRTEzX1BGX1VBUlQxX1JYRCwKKwlQRTE0X1BGX1VBUlQxX0NUUywKKwlQRTE1X1BGX1VBUlQxX1JUUworfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MF9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQwX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MF9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDAiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0MF9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQwX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0MF9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQwIik7Cit9CisKK3N0YXRpYyBpbnQgbXhjX3VhcnQxX3BpbnNbXSA9IHsKKwlQRTNfUEZfVUFSVDJfQ1RTLAorCVBFNF9QRl9VQVJUMl9SVFMsCisJUEU2X1BGX1VBUlQyX1RYRCwKKwlQRTdfUEZfVUFSVDJfUlhECit9OworCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQxX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDFfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQxX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJVQVJUMSIpOworfQorCitzdGF0aWMgaW50IHVhcnRfbXhjX3BvcnQxX2V4aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlyZXR1cm4gbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhteGNfdWFydDFfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX3VhcnQxX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFLCAiVUFSVDEiKTsKK30KKworc3RhdGljIGludCBteGNfdWFydDJfcGluc1tdID0geyBQRTEwX1BGX1VBUlQzX0NUUywKKwkJCQlQRTlfUEZfVUFSVDNfUlhELAorCQkJCVBFMTBfUEZfVUFSVDNfQ1RTLAorCQkJCVBFOV9QRl9VQVJUM19SWEQgfTsKKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0Ml9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQyX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0Ml9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMLCAiVUFSVDIiKTsKK30KKworc3RhdGljIGludCB1YXJ0X214Y19wb3J0Ml9leGl0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJcmV0dXJuIG14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX3VhcnQyX3BpbnMsCisJCQlBUlJBWV9TSVpFKG14Y191YXJ0Ml9waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIlVBUlQyIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhIHVhcnRfcGRhdGFbXSA9IHsKKwl7CisJCS5pbml0ID0gdWFydF9teGNfcG9ydDBfaW5pdCwKKwkJLmV4aXQgPSB1YXJ0X214Y19wb3J0MF9leGl0LAorCQkuZmxhZ3MgPSBJTVhVQVJUX0hBVkVfUlRTQ1RTLAorCX0sIHsKKwkJLmluaXQgPSB1YXJ0X214Y19wb3J0MV9pbml0LAorCQkuZXhpdCA9IHVhcnRfbXhjX3BvcnQxX2V4aXQsCisJCS5mbGFncyA9IElNWFVBUlRfSEFWRV9SVFNDVFMsCisJfSwgeworCQkuaW5pdCA9IHVhcnRfbXhjX3BvcnQyX2luaXQsCisJCS5leGl0ID0gdWFydF9teGNfcG9ydDJfZXhpdCwKKwkJLmZsYWdzID0gSU1YVUFSVF9IQVZFX1JUU0NUUywKKwl9LAorfTsKKworc3RhdGljIGludCBteGNfZmVjX3BpbnNbXSA9IHsKKwlQRDBfQUlOX0ZFQ19UWEQwLAorCVBEMV9BSU5fRkVDX1RYRDEsCisJUEQyX0FJTl9GRUNfVFhEMiwKKwlQRDNfQUlOX0ZFQ19UWEQzLAorCVBENF9BT1VUX0ZFQ19SWF9FUiwKKwlQRDVfQU9VVF9GRUNfUlhEMSwKKwlQRDZfQU9VVF9GRUNfUlhEMiwKKwlQRDdfQU9VVF9GRUNfUlhEMywKKwlQRDhfQUZfRkVDX01ESU8sCisJUEQ5X0FJTl9GRUNfTURDLAorCVBEMTBfQU9VVF9GRUNfQ1JTLAorCVBEMTFfQU9VVF9GRUNfVFhfQ0xLLAorCVBEMTJfQU9VVF9GRUNfUlhEMCwKKwlQRDEzX0FPVVRfRkVDX1JYX0RWLAorCVBEMTRfQU9VVF9GRUNfQ0xSLAorCVBEMTVfQU9VVF9GRUNfQ09MLAorCVBEMTZfQUlOX0ZFQ19UWF9FUiwKKwlQRjIzX0FJTl9GRUNfVFhfRU4KK307CisKK3N0YXRpYyB2b2lkIGdwaW9fZmVjX2FjdGl2ZSh2b2lkKQoreworCW14Y19ncGlvX3NldHVwX211bHRpcGxlX3BpbnMobXhjX2ZlY19waW5zLAorCQkJQVJSQVlfU0laRShteGNfZmVjX3BpbnMpLAorCQkJTVhDX0dQSU9fQUxMT0NfTU9ERV9OT1JNQUwsICJGRUMiKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb19mZWNfaW5hY3RpdmUodm9pZCkKK3sKKwlteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKG14Y19mZWNfcGlucywKKwkJCUFSUkFZX1NJWkUobXhjX2ZlY19waW5zKSwKKwkJCU1YQ19HUElPX0FMTE9DX01PREVfUkVMRUFTRSwgIkZFQyIpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJnBjbTAzOF9ub3JfbXRkX2RldmljZSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwY20wMzhfaW5pdCh2b2lkKQoreworCWludCBpOworCWdwaW9fZmVjX2FjdGl2ZSgpOworCisJZm9yIChpID0gMDsgaSA8IDM7IGkrKykKKwkJaW14X2luaXRfdWFydChpLCAmdWFydF9wZGF0YVtpXSk7CisKKwlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhwbGF0Zm9ybV9kZXZpY2VzLCBBUlJBWV9TSVpFKHBsYXRmb3JtX2RldmljZXMpKTsKKworI2lmZGVmIENPTkZJR19NQUNIX1BDTTk3MF9CQVNFQk9BUkQKKwlwY205NzBfYmFzZWJvYXJkX2luaXQoKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcGNtMDM4X3RpbWVyX2luaXQodm9pZCkKK3sKKwlteGNfY2xvY2tzX2luaXQoMjYwMDAwMDApOworCW14Y190aW1lcl9pbml0KCJncHRfY2xrLjAiKTsKK30KKworc3RydWN0IHN5c190aW1lciBwY20wMzhfdGltZXIgPSB7CisJLmluaXQgPSBwY20wMzhfdGltZXJfaW5pdCwKK307CisKK01BQ0hJTkVfU1RBUlQoUENNMDM4LCAicGh5Q09SRS1pLk1YMjciKQorCS5waHlzX2lvICAgICAgICA9IEFJUElfQkFTRV9BRERSLAorCS5pb19wZ19vZmZzdCAgICA9ICgoQUlQSV9CQVNFX0FERFJfVklSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcyAgICA9IFBIWVNfT0ZGU0VUICsgMHgxMDAsCisJLm1hcF9pbyAgICAgICAgID0gbXhjX21hcF9pbywKKwkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZSAgID0gcGNtMDM4X2luaXQsCisJLnRpbWVyICAgICAgICAgID0gJnBjbTAzOF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9wY205NzAtYmFzZWJvYXJkLmMgYi9hcmNoL2FybS9tYWNoLW14Mi9wY205NzAtYmFzZWJvYXJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI4YWM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL3BjbTk3MC1iYXNlYm9hcmQuYwpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKworLyoKKyAqIHN5c3RlbSBpbml0IGZvciBiYXNlYm9hcmQgdXNhZ2UuIFdpbGwgYmUgY2FsbGVkIGJ5IHBjbTAzOCBpbml0LgorICoKKyAqIEFkZCBwbGF0Zm9ybSBkZXZpY2VzIHByZXNlbnQgb24gdGhpcyBiYXNlYm9hcmQgYW5kIGluaXQKKyAqIHRoZW0gZnJvbSBDUFUgc2lkZSBhcyBmYXIgYXMgcmVxdWlyZWQgdG8gdXNlIHRoZW0gbGF0ZXIgb24KKyAqLwordm9pZCBfX2luaXQgcGNtOTcwX2Jhc2Vib2FyZF9pbml0KHZvaWQpCit7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14Mi9zZXJpYWwuYyBiL2FyY2gvYXJtL21hY2gtbXgyL3NlcmlhbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MGMwMmIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW14Mi9zZXJpYWwuYwpAQCAtMCwwICsxLDE3NyBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lteC11YXJ0Lmg+CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDBbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQxX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQxX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDEsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMCA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMCwKKwkucmVzb3VyY2UgPSB1YXJ0MCwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MVtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDJfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDJfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMiwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDIsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UxID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAxLAorCS5yZXNvdXJjZSA9IHVhcnQxLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MSksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQyW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUM19CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUM19CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQzLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTIgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDIsCisJLnJlc291cmNlID0gdWFydDIsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQyKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDNbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQ0X0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQ0X0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDQsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQ0LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMyA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMywKKwkucmVzb3VyY2UgPSB1YXJ0MywKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0NFtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDVfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDVfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNSwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2U0ID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSA0LAorCS5yZXNvdXJjZSA9IHVhcnQ0LAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0NCksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQ1W10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNl9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNl9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ2LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTUgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDUsCisJLnJlc291cmNlID0gdWFydDUsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQ1KSwKK307CisKKy8qCisgKiBSZWdpc3RlciBvbmx5IHRob3NlIFVBUlRzIHRoYXQgcGh5c2ljYWxseSBleGlzdHMKKyAqLworaW50IF9faW5pdCBpbXhfaW5pdF91YXJ0KGludCB1YXJ0X25vLCBzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICpwZGF0YSkKK3sKKwlzd2l0Y2ggKHVhcnRfbm8pIHsKKwljYXNlIDA6CisJCW14Y191YXJ0X2RldmljZTAuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UwKTsKKwkJYnJlYWs7CisJY2FzZSAxOgorCQlteGNfdWFydF9kZXZpY2UxLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMSk7CisJCWJyZWFrOworI2lmbmRlZiBDT05GSUdfTVhDX0lSREEKKwljYXNlIDI6CisJCW14Y191YXJ0X2RldmljZTIuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UyKTsKKwkJYnJlYWs7CisjZW5kaWYKKwljYXNlIDM6CisJCW14Y191YXJ0X2RldmljZTMuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UzKTsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlteGNfdWFydF9kZXZpY2U0LmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlNCk7CisJCWJyZWFrOworCWNhc2UgNToKKwkJbXhjX3VhcnRfZGV2aWNlNS5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTUpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgyL3N5c3RlbS5jIGIvYXJjaC9hcm0vbWFjaC1teDIvc3lzdGVtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkzMDQ2NAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgyL3N5c3RlbS5jCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgQVJNIExpbWl0ZWQKKyAqIENvcHlyaWdodCAoQykgMjAwMCBEZWVwIEJsdWUgU29sdXRpb25zIEx0ZAorICogQ29weXJpZ2h0IDIwMDYtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jLWZucy5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKworLyoKKyAqIFB1dCB0aGUgQ1BVIGludG8gaWRsZSBtb2RlLiBJdCBpcyBjYWxsZWQgYnkgZGVmYXVsdF9pZGxlKCkKKyAqIGluIHByb2Nlc3MuYyBmaWxlLgorICovCit2b2lkIGFyY2hfaWRsZSh2b2lkKQoreworCS8qCisJICogVGhpcyBzaG91bGQgZG8gYWxsIHRoZSBjbG9jayBzd2l0Y2hpbmcKKwkgKiBhbmQgd2FpdCBmb3IgaW50ZXJydXB0IHRyaWNrcy4KKwkgKi8KKwljcHVfZG9faWRsZSgpOworfQorCisjZGVmaW5lIFdET0dfV0NSX1JFRyAgICAgICAgICAgICAgICAgICAgSU9fQUREUkVTUyhXRE9HX0JBU0VfQUREUikKKyNkZWZpbmUgV0RPR19XQ1JfU1JTICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQorCisvKgorICogUmVzZXQgdGhlIHN5c3RlbS4gSXQgaXMgY2FsbGVkIGJ5IG1hY2hpbmVfcmVzdGFydCgpLgorICovCit2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCXN0cnVjdCBjbGsgKmNsazsKKworCWNsayA9IGNsa19nZXQoTlVMTCwgIndkb2dfY2xrIik7CisJaWYgKCFjbGspIHsKKwkJcHJpbnRrKEtFUk5fRVJSIkNhbm5vdCBhY3RpdmF0ZSB0aGUgd2F0Y2hkb2cuIEdpdmluZyB1cFxuIik7CisJCXJldHVybjsKKwl9CisKKwljbGtfZW5hYmxlKGNsayk7CisKKwkvKiBBc3NlcnQgU1JTIHNpZ25hbCAqLworCV9fcmF3X3dyaXRldyhfX3Jhd19yZWFkdyhXRE9HX1dDUl9SRUcpICYgfldET0dfV0NSX1NSUywgV0RPR19XQ1JfUkVHKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLW14My9LY29uZmlnCmluZGV4IDVmZTg2MDYuLmRiOTQzMWQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtbXgzL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvS2NvbmZpZwpAQCAtOCw1ICs4LDE4IEBACiAJICBJbmNsdWRlIHN1cHBvcnQgZm9yIE1YMzFBRFMgcGxhdGZvcm0uIFRoaXMgaW5jbHVkZXMgc3BlY2lmaWMKIAkgIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgYm9hcmQgYW5kIGl0cyBwZXJpcGhlcmFscy4KIAorY29uZmlnIE1BQ0hfUENNMDM3CisJYm9vbCAiU3VwcG9ydCBQaHl0ZWMgcGNtMDM3IHBsYXRmb3JtcyIKKwloZWxwCisJICBJbmNsdWRlIHN1cHBvcnQgZm9yIFBoeXRlYyBwY20wMzcgcGxhdGZvcm0uIFRoaXMgaW5jbHVkZXMKKwkgIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgYm9hcmQgYW5kIGl0cyBwZXJpcGhlcmFscy4KKworY29uZmlnIE1BQ0hfTVgzMUxJVEUKKwlib29sICJTdXBwb3J0IE1YMzEgTElURUtJVCAoTG9naWNQRCkiCisJZGVmYXVsdCBuCisJaGVscAorCSAgSW5jbHVkZSBzdXBwb3J0IGZvciBNWDMxIExJVEVLSVQgcGxhdGZvcm0uIFRoaXMgaW5jbHVkZXMgc3BlY2lmaWMKKwkgIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgYm9hcmQgYW5kIGl0cyBwZXJpcGhlcmFscy4KKwogZW5kbWVudQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtbXgzL01ha2VmaWxlCmluZGV4IGNiZWM5OTcuLjhiMjFhYmIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtbXgzL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL01ha2VmaWxlCkBAIC00LDUgKzQsNyBAQAogCiAjIE9iamVjdCBmaWxlIGxpc3RzLgogCi1vYmoteQkJCTo9IG1tLm8gdGltZS5vCitvYmoteQkJCTo9IG1tLm8gY2xvY2subyBkZXZpY2VzLm8gaW9tdXgubwogb2JqLSQoQ09ORklHX01BQ0hfTVgzMUFEUykJKz0gbXgzMWFkcy5vCitvYmotJChDT05GSUdfTUFDSF9NWDMxTElURSkJKz0gbXgzMWxpdGUubworb2JqLSQoQ09ORklHX01BQ0hfUENNMDM3KQkrPSBwY20wMzcubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtbXgzL2Nsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYzNjM1OQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL2Nsb2NrLmMKQEAgLTAsMCArMSwxMTQ3IEBACisvKgorICogQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgorCisjaW5jbHVkZSAiY3JtX3JlZ3MuaCIKKworI2RlZmluZSBQUkVfRElWX01JTl9GUkVRICAgIDEwMDAwMDAwIC8qIE1pbmltdW0gRnJlcXVlbmN5IGFmdGVyIFByZWRpdmlkZXIgKi8KKworc3RhdGljIHZvaWQgX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKHUzMiBkaXYsIHUzMiAqcHJlLCB1MzIgKnBvc3QpCit7CisJdTMyIG1pbl9wcmUsIHRlbXBfcHJlLCBvbGRfZXJyLCBlcnI7CisKKwlpZiAoZGl2ID49IDUxMikgeworCQkqcHJlID0gODsKKwkJKnBvc3QgPSA2NDsKKwl9IGVsc2UgaWYgKGRpdiA+PSA2NCkgeworCQltaW5fcHJlID0gKGRpdiAtIDEpIC8gNjQgKyAxOworCQlvbGRfZXJyID0gODsKKwkJZm9yICh0ZW1wX3ByZSA9IDg7IHRlbXBfcHJlID49IG1pbl9wcmU7IHRlbXBfcHJlLS0pIHsKKwkJCWVyciA9IGRpdiAlIHRlbXBfcHJlOworCQkJaWYgKGVyciA9PSAwKSB7CisJCQkJKnByZSA9IHRlbXBfcHJlOworCQkJCWJyZWFrOworCQkJfQorCQkJZXJyID0gdGVtcF9wcmUgLSBlcnI7CisJCQlpZiAoZXJyIDwgb2xkX2VycikgeworCQkJCW9sZF9lcnIgPSBlcnI7CisJCQkJKnByZSA9IHRlbXBfcHJlOworCQkJfQorCQl9CisJCSpwb3N0ID0gKGRpdiArICpwcmUgLSAxKSAvICpwcmU7CisJfSBlbHNlIGlmIChkaXYgPD0gOCkgeworCQkqcHJlID0gZGl2OworCQkqcG9zdCA9IDE7CisJfSBlbHNlIHsKKwkJKnByZSA9IDE7CisJCSpwb3N0ID0gZGl2OworCX0KK30KKworc3RhdGljIHN0cnVjdCBjbGsgbWN1X3BsbF9jbGs7CitzdGF0aWMgc3RydWN0IGNsayBtY3VfbWFpbl9jbGs7CitzdGF0aWMgc3RydWN0IGNsayB1c2JfcGxsX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNlcmlhbF9wbGxfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgaXBnX2NsazsKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNraWhfY2xrOworc3RhdGljIHN0cnVjdCBjbGsgYWhiX2NsazsKKworc3RhdGljIGludCBfY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKGNsay0+ZW5hYmxlX3JlZyk7CisJcmVnIHw9IDMgPDwgY2xrLT5lbmFibGVfc2hpZnQ7CisJX19yYXdfd3JpdGVsKHJlZywgY2xrLT5lbmFibGVfcmVnKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyAmPSB+KDMgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCV9fcmF3X3dyaXRlbChyZWcsIGNsay0+ZW5hYmxlX3JlZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfZW1pX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChjbGstPmVuYWJsZV9yZWcpOworCXJlZyAmPSB+KDMgPDwgY2xrLT5lbmFibGVfc2hpZnQpOworCXJlZyB8PSAoMSA8PCBjbGstPmVuYWJsZV9zaGlmdCk7CisJX19yYXdfd3JpdGVsKHJlZywgY2xrLT5lbmFibGVfcmVnKTsKK30KKworc3RhdGljIGludCBfY2xrX3BsbF9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnOworCXNpZ25lZCBsb25nIHBkID0gMTsJLyogUHJlLWRpdmlkZXIgKi8KKwlzaWduZWQgbG9uZyBtZmk7CS8qIE11bHRpcGxpY2F0aW9uIEZhY3RvciAoSW50ZWdlciBwYXJ0KSAqLworCXNpZ25lZCBsb25nIG1mbjsJLyogTXVsdGlwbGljYXRpb24gRmFjdG9yIChJbnRlZ2VyIHBhcnQpICovCisJc2lnbmVkIGxvbmcgbWZkOwkvKiBNdWx0aXBsaWNhdGlvbiBGYWN0b3IgKERlbm9taW5hdG9yIFBhcnQpICovCisJc2lnbmVkIGxvbmcgdG1wOworCXUzMiByZWZfZnJlcSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwl3aGlsZSAoKChyZWZfZnJlcSAvIHBkKSAqIDEwKSA+IHJhdGUpCisJCXBkKys7CisKKwlpZiAoKHJlZl9mcmVxIC8gcGQpIDwgUFJFX0RJVl9NSU5fRlJFUSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiB0aGUgcmVmX2ZyZXEvMiBpbiB0aGUgZm9sbG93aW5nIGlzIHRvIHJvdW5kIHVwICovCisJbWZpID0gKCgocmF0ZSAvIDIpICogcGQpICsgKHJlZl9mcmVxIC8gMikpIC8gcmVmX2ZyZXE7CisJaWYgKG1maSA8IDUgfHwgbWZpID4gMTUpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogcGljayBhIG1mZCB2YWx1ZSB0aGF0IHdpbGwgd29yaworCSAqIHRoZW4gc29sdmUgZm9yIG1mbiAqLworCW1mZCA9IHJlZl9mcmVxIC8gNTAwMDA7CisKKwkvKgorCSAqICAgICAgICAgIHBsbF9mcmVxICogcGQgKiBtZmQKKwkgKiAgIG1mbiA9IC0tLS0tLS0tLS0tLS0tLS0tLS0tICAtICAobWZpICogbWZkKQorCSAqICAgICAgICAgICAyICogcmVmX2ZyZXEKKwkgKi8KKwkvKiB0aGUgdG1wLzIgaXMgZm9yIHJvdW5kaW5nICovCisJdG1wID0gcmVmX2ZyZXEgLyAxMDAwMDsKKwltZm4gPQorCSAgICAoKCgoKChyYXRlIC8gMikgKyAodG1wIC8gMikpIC8gdG1wKSAqIHBkKSAqIG1mZCkgLyAxMDAwMCkgLQorCSAgICAobWZpICogbWZkKTsKKworCW1mbiA9IG1mbiAmIDB4M2ZmOworCXBkLS07CisJbWZkLS07CisKKwkvKiBDaGFuZ2UgdGhlIFBsbCB2YWx1ZSAqLworCXJlZyA9IChtZmkgPDwgTVhDX0NDTV9QQ1RMX01GSV9PRkZTRVQpIHwKKwkgICAgKG1mbiA8PCBNWENfQ0NNX1BDVExfTUZOX09GRlNFVCkgfAorCSAgICAobWZkIDw8IE1YQ19DQ01fUENUTF9NRkRfT0ZGU0VUKSB8IChwZCA8PCBNWENfQ0NNX1BDVExfUERfT0ZGU0VUKTsKKworCWlmIChjbGsgPT0gJm1jdV9wbGxfY2xrKQorCQlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX01QQ1RMKTsKKwllbHNlIGlmIChjbGsgPT0gJnVzYl9wbGxfY2xrKQorCQlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1VQQ1RMKTsKKwllbHNlIGlmIChjbGsgPT0gJnNlcmlhbF9wbGxfY2xrKQorCQlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1NSUENUTCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19wbGxfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCWxvbmcgbWZpLCBtZm4sIG1mZCwgcGRmLCByZWZfY2xrLCBtZm5fYWJzOworCXVuc2lnbmVkIGxvbmcgcmVnLCBjY21yOworCXM2NCB0ZW1wOworCXVuc2lnbmVkIGludCBwcmNzOworCisJY2NtciA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcHJjcyA9IChjY21yICYgTVhDX0NDTV9DQ01SX1BSQ1NfTUFTSykgPj4gTVhDX0NDTV9DQ01SX1BSQ1NfT0ZGU0VUOworCWlmIChwcmNzID09IDB4MSkKKwkJcmVmX2NsayA9IENLSUxfQ0xLX0ZSRVEgKiAxMDI0OworCWVsc2UKKwkJcmVmX2NsayA9IGNsa19nZXRfcmF0ZSgmY2tpaF9jbGspOworCisJaWYgKGNsayA9PSAmbWN1X3BsbF9jbGspIHsKKwkJaWYgKChjY21yICYgTVhDX0NDTV9DQ01SX01QRSkgPT0gMCkKKwkJCXJldHVybiByZWZfY2xrOworCQlpZiAoKGNjbXIgJiBNWENfQ0NNX0NDTVJfTURTKSAhPSAwKQorCQkJcmV0dXJuIHJlZl9jbGs7CisJCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fTVBDVEwpOworCX0gZWxzZSBpZiAoY2xrID09ICZ1c2JfcGxsX2NsaykKKwkJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9VUENUTCk7CisJZWxzZSBpZiAoY2xrID09ICZzZXJpYWxfcGxsX2NsaykKKwkJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9TUlBDVEwpOworCWVsc2UgeworCQlCVUcoKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcGRmID0gKHJlZyAmIE1YQ19DQ01fUENUTF9QRF9NQVNLKSA+PiBNWENfQ0NNX1BDVExfUERfT0ZGU0VUOworCW1mZCA9IChyZWcgJiBNWENfQ0NNX1BDVExfTUZEX01BU0spID4+IE1YQ19DQ01fUENUTF9NRkRfT0ZGU0VUOworCW1maSA9IChyZWcgJiBNWENfQ0NNX1BDVExfTUZJX01BU0spID4+IE1YQ19DQ01fUENUTF9NRklfT0ZGU0VUOworCW1maSA9IChtZmkgPD0gNSkgPyA1IDogbWZpOworCW1mbiA9IG1mbl9hYnMgPSByZWcgJiBNWENfQ0NNX1BDVExfTUZOX01BU0s7CisKKwlpZiAobWZuID49IDB4MjAwKSB7CisJCW1mbiB8PSAweEZGRkZGRTAwOworCQltZm5fYWJzID0gLW1mbjsKKwl9CisKKwlyZWZfY2xrICo9IDI7CisJcmVmX2NsayAvPSBwZGYgKyAxOworCisJdGVtcCA9ICh1NjQpIHJlZl9jbGsgKiBtZm5fYWJzOworCWRvX2Rpdih0ZW1wLCBtZmQgKyAxKTsKKwlpZiAobWZuIDwgMCkKKwkJdGVtcCA9IC10ZW1wOworCXRlbXAgPSAocmVmX2NsayAqIG1maSkgKyB0ZW1wOworCisJcmV0dXJuIHRlbXA7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa191c2JfcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ0NNUik7CisJcmVnIHw9IE1YQ19DQ01fQ0NNUl9VUEU7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DQ01SKTsKKworCS8qIE5vIGxvY2sgYml0IG9uIE1YMzEsIHNvIHVzaW5nIG1heCB0aW1lIGZyb20gc3BlYyAqLworCXVkZWxheSg4MCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa191c2JfcGxsX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXJlZyAmPSB+TVhDX0NDTV9DQ01SX1VQRTsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NDTVIpOworfQorCitzdGF0aWMgaW50IF9jbGtfc2VyaWFsX3BsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NDTVIpOworCXJlZyB8PSBNWENfQ0NNX0NDTVJfU1BFOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ0NNUik7CisKKwkvKiBObyBsb2NrIGJpdCBvbiBNWDMxLCBzbyB1c2luZyBtYXggdGltZSBmcm9tIHNwZWMgKi8KKwl1ZGVsYXkoODApOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9jbGtfc2VyaWFsX3BsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcmVnOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DQ01SKTsKKwlyZWcgJj0gfk1YQ19DQ01fQ0NNUl9TUEU7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DQ01SKTsKK30KKworI2RlZmluZSBQRFIwKG1hc2ssIG9mZikgKChfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjApICYgbWFzaykgPj4gb2ZmKQorI2RlZmluZSBQRFIxKG1hc2ssIG9mZikgKChfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjEpICYgbWFzaykgPj4gb2ZmKQorI2RlZmluZSBQRFIyKG1hc2ssIG9mZikgKChfX3Jhd19yZWFkbChNWENfQ0NNX1BEUjIpICYgbWFzaykgPj4gb2ZmKQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21jdV9tYWluX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1MzIgcG1jcjAgPSBfX3Jhd19yZWFkbChNWENfQ0NNX1BNQ1IwKTsKKworCWlmICgocG1jcjAgJiBNWENfQ0NNX1BNQ1IwX0RGU1VQMSkgPT0gTVhDX0NDTV9QTUNSMF9ERlNVUDFfU1BMTCkKKwkJcmV0dXJuIGNsa19nZXRfcmF0ZSgmc2VyaWFsX3BsbF9jbGspOworCWVsc2UKKwkJcmV0dXJuIGNsa19nZXRfcmF0ZSgmbWN1X3BsbF9jbGspOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2hjbGtfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgbWF4X3BkZjsKKworCW1heF9wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9NQVhfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX01BWF9QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAobWF4X3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2lwZ19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyBpcGdfcGRmOworCisJaXBnX3BkZiA9IFBEUjAoTVhDX0NDTV9QRFIwX0lQR19QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjBfSVBHX1BPREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChpcGdfcGRmICsgMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfbmZjX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIG5mY19wZGY7CisKKwluZmNfcGRmID0gUERSMChNWENfQ0NNX1BEUjBfTkZDX1BPREZfTUFTSywKKwkJICAgICAgIE1YQ19DQ01fUERSMF9ORkNfUE9ERl9PRkZTRVQpOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKG5mY19wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19oc3BfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgaHNwX3BkZjsKKworCWhzcF9wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9IU1BfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX0hTUF9QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoaHNwX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3VzYl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB1c2JfcGRmLCB1c2JfcHJlcGRmOworCisJdXNiX3BkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1VTQl9QT0RGX01BU0ssCisJCSAgICAgICBNWENfQ0NNX1BEUjFfVVNCX1BPREZfT0ZGU0VUKTsKKwl1c2JfcHJlcGRmID0gUERSMShNWENfQ0NNX1BEUjFfVVNCX1BSREZfTUFTSywKKwkJCSAgTVhDX0NDTV9QRFIxX1VTQl9QUkRGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAodXNiX3ByZXBkZiArIDEpIC8gKHVzYl9wZGYgKyAxKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19jc2lfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWcsIHByZSwgcG9zdDsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMCk7CisJcHJlID0gKHJlZyAmIE1YQ19DQ01fUERSMF9DU0lfUFJERl9NQVNLKSA+PgorCSAgICBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfT0ZGU0VUOworCXByZSsrOworCXBvc3QgPSAocmVnICYgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX01BU0spID4+CisJICAgIE1YQ19DQ01fUERSMF9DU0lfUE9ERl9PRkZTRVQ7CisJcG9zdCsrOworCXJldHVybiBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpIC8gKHByZSAqIHBvc3QpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2NzaV9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBwcmUsIHBvc3QsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJdTMyIGRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAocGFyZW50ICUgcmF0ZSkKKwkJZGl2Kys7CisKKwlfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnMoZGl2LCAmcHJlLCAmcG9zdCk7CisKKwlyZXR1cm4gcGFyZW50IC8gKHByZSAqIHBvc3QpOworfQorCitzdGF0aWMgaW50IF9jbGtfY3NpX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiByZWcsIGRpdiwgcHJlLCBwb3N0LCBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCisJZGl2ID0gcGFyZW50IC8gcmF0ZTsKKworCWlmICgocGFyZW50IC8gZGl2KSAhPSByYXRlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fY2FsY19wcmVfcG9zdF9kaXZpZGVycyhkaXYsICZwcmUsICZwb3N0KTsKKworCS8qIFNldCBDU0kgY2xvY2sgZGl2aWRlciAqLworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fUERSMCkgJgorCSAgICB+KE1YQ19DQ01fUERSMF9DU0lfUE9ERl9NQVNLIHwgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX01BU0spOworCXJlZyB8PSAocG9zdCAtIDEpIDw8IE1YQ19DQ01fUERSMF9DU0lfUE9ERl9PRkZTRVQ7CisJcmVnIHw9IChwcmUgLSAxKSA8PCBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfT0ZGU0VUOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fUERSMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX2Nsa19wZXJfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgcGVyX3BkZjsKKworCXBlcl9wZGYgPSBQRFIwKE1YQ19DQ01fUERSMF9QRVJfUE9ERl9NQVNLLAorCQkgICAgICAgTVhDX0NDTV9QRFIwX1BFUl9QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAocGVyX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3NzaTFfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgc3NpMV9wZGYsIHNzaTFfcHJlcGRmOworCisJc3NpMV9wZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kxX1BPREZfTUFTSywKKwkJCU1YQ19DQ01fUERSMV9TU0kxX1BPREZfT0ZGU0VUKTsKKwlzc2kxX3ByZXBkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1NTSTFfUFJFX1BPREZfTUFTSywKKwkJCSAgIE1YQ19DQ01fUERSMV9TU0kxX1BSRV9QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoc3NpMV9wcmVwZGYgKyAxKSAvIChzc2kxX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX3NzaTJfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgc3NpMl9wZGYsIHNzaTJfcHJlcGRmOworCisJc3NpMl9wZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9TU0kyX1BPREZfTUFTSywKKwkJCU1YQ19DQ01fUERSMV9TU0kyX1BPREZfT0ZGU0VUKTsKKwlzc2kyX3ByZXBkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX1NTSTJfUFJFX1BPREZfTUFTSywKKwkJCSAgIE1YQ19DQ01fUERSMV9TU0kyX1BSRV9QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoc3NpMl9wcmVwZGYgKyAxKSAvIChzc2kyX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2ZpcmlfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgZmlyaV9wZGYsIGZpcmlfcHJlcGRmOworCisJZmlyaV9wZGYgPSBQRFIxKE1YQ19DQ01fUERSMV9GSVJJX1BPREZfTUFTSywKKwkJCU1YQ19DQ01fUERSMV9GSVJJX1BPREZfT0ZGU0VUKTsKKwlmaXJpX3ByZXBkZiA9IFBEUjEoTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfTUFTSywKKwkJCSAgIE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX09GRlNFVCk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAoZmlyaV9wcmVwZGYgKyAxKSAvIChmaXJpX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX2Zpcmlfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcHJlLCBwb3N0OworCXUzMiBwYXJlbnQgPSBjbGtfZ2V0X3JhdGUoY2xrLT5wYXJlbnQpOworCXUzMiBkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKHBhcmVudCAlIHJhdGUpCisJCWRpdisrOworCisJX19jYWxjX3ByZV9wb3N0X2RpdmlkZXJzKGRpdiwgJnByZSwgJnBvc3QpOworCisJcmV0dXJuIHBhcmVudCAvIChwcmUgKiBwb3N0KTsKKworfQorCitzdGF0aWMgaW50IF9jbGtfZmlyaV9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnLCBkaXYsIHByZSwgcG9zdCwgcGFyZW50ID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKworCWRpdiA9IHBhcmVudCAvIHJhdGU7CisKKwlpZiAoKHBhcmVudCAvIGRpdikgIT0gcmF0ZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX2NhbGNfcHJlX3Bvc3RfZGl2aWRlcnMoZGl2LCAmcHJlLCAmcG9zdCk7CisKKwkvKiBTZXQgRklSSSBjbG9jayBkaXZpZGVyICovCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QRFIxKSAmCisJICAgIH4oTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9NQVNLIHwgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfTUFTSyk7CisJcmVnIHw9IChwcmUgLSAxKSA8PCBNWENfQ0NNX1BEUjFfRklSSV9QUkVfUE9ERl9PRkZTRVQ7CisJcmVnIHw9IChwb3N0IC0gMSkgPDwgTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9PRkZTRVQ7CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9QRFIxKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21ieF9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAyOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21zdGljazFfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgbXN0aV9wZGY7CisKKwltc3RpX3BkZiA9IFBEUjIoTVhDX0NDTV9QRFIyX01TVDFfUERGX01BU0ssCisJCQlNWENfQ0NNX1BEUjJfTVNUMV9QREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChtc3RpX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfY2xrX21zdGljazJfZ2V0X3JhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgbXN0aV9wZGY7CisKKwltc3RpX3BkZiA9IFBEUjIoTVhDX0NDTV9QRFIyX01TVDJfUERGX01BU0ssCisJCQlNWENfQ0NNX1BEUjJfTVNUMl9QREZfT0ZGU0VUKTsKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIChtc3RpX3BkZiArIDEpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBja2loX3JhdGU7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19ja2loX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gY2tpaF9yYXRlOworfQorCitzdGF0aWMgc3RydWN0IGNsayBja2loX2NsayA9IHsKKwkubmFtZSA9ICJja2loIiwKKwkuZ2V0X3JhdGUgPSBjbGtfY2tpaF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19ja2lsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlyZXR1cm4gQ0tJTF9DTEtfRlJFUTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2tpbF9jbGsgPSB7CisJLm5hbWUgPSAiY2tpbCIsCisJLmdldF9yYXRlID0gY2xrX2NraWxfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBtY3VfcGxsX2NsayA9IHsKKwkubmFtZSA9ICJtY3VfcGxsIiwKKwkucGFyZW50ID0gJmNraWhfY2xrLAorCS5zZXRfcmF0ZSA9IF9jbGtfcGxsX3NldF9yYXRlLAorCS5nZXRfcmF0ZSA9IF9jbGtfcGxsX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbWN1X21haW5fY2xrID0geworCS5uYW1lID0gIm1jdV9tYWluX2NsayIsCisJLnBhcmVudCA9ICZtY3VfcGxsX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX21jdV9tYWluX2dldF9yYXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2VyaWFsX3BsbF9jbGsgPSB7CisJLm5hbWUgPSAic2VyaWFsX3BsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX3BsbF9zZXRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBfY2xrX3BsbF9nZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa19zZXJpYWxfcGxsX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfc2VyaWFsX3BsbF9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgdXNiX3BsbF9jbGsgPSB7CisJLm5hbWUgPSAidXNiX3BsbCIsCisJLnBhcmVudCA9ICZja2loX2NsaywKKwkuc2V0X3JhdGUgPSBfY2xrX3BsbF9zZXRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBfY2xrX3BsbF9nZXRfcmF0ZSwKKwkuZW5hYmxlID0gX2Nsa191c2JfcGxsX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfdXNiX3BsbF9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgYWhiX2NsayA9IHsKKwkubmFtZSA9ICJhaGJfY2xrIiwKKwkucGFyZW50ID0gJm1jdV9tYWluX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX2hjbGtfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwZXJfY2xrID0geworCS5uYW1lID0gInBlcl9jbGsiLAorCS5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJLmdldF9yYXRlID0gX2Nsa19wZXJfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBwZXJjbGtfY2xrID0geworCS5uYW1lID0gInBlcmNsa19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGNzcGlfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJjc3BpX2NsayIsCisJIC5pZCA9IDAsCisJIC5wYXJlbnQgPSAmaXBnX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9DU1BJMV9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJjc3BpX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmaXBnX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9DU1BJMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJjc3BpX2NsayIsCisJIC5pZCA9IDIsCisJIC5wYXJlbnQgPSAmaXBnX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9DU1BJM19PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBpcGdfY2xrID0geworCS5uYW1lID0gImlwZ19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZ2V0X3JhdGUgPSBfY2xrX2lwZ19nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGVtaV9jbGsgPSB7CisJLm5hbWUgPSAiZW1pX2NsayIsCisJLnBhcmVudCA9ICZhaGJfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMiwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IyX0VNSV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2VtaV9kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgZ3B0X2NsayA9IHsKKwkubmFtZSA9ICJncHRfY2xrIiwKKwkucGFyZW50ID0gJnBlcmNsa19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfR1BUX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHB3bV9jbGsgPSB7CisJLm5hbWUgPSAicHdtX2NsayIsCisJLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1BXTV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBlcGl0X2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAiZXBpdF9jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfRVBJVDFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAiZXBpdF9jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfRVBJVDJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbmZjX2NsayA9IHsKKwkubmFtZSA9ICJuZmNfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19uZmNfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBzY2NfY2xrID0geworCS5uYW1lID0gInNjY19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGlwdV9jbGsgPSB7CisJLm5hbWUgPSAiaXB1X2NsayIsCisJLnBhcmVudCA9ICZtY3VfbWFpbl9jbGssCisJLmdldF9yYXRlID0gX2Nsa19oc3BfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfSVBVX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIGtwcF9jbGsgPSB7CisJLm5hbWUgPSAia3BwX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0tQUF9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB3ZG9nX2NsayA9IHsKKwkubmFtZSA9ICJ3ZG9nX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1dET0dfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHJ0Y19jbGsgPSB7CisJLm5hbWUgPSAicnRjX2NsayIsCisJLnBhcmVudCA9ICZpcGdfY2xrLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1JUQ19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB1c2JfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJ1c2JfY2xrIiwKKwkgLnBhcmVudCA9ICZ1c2JfcGxsX2NsaywKKwkgLmdldF9yYXRlID0gX2Nsa191c2JfZ2V0X3JhdGUsfSwKKwl7CisJIC5uYW1lID0gInVzYl9haGJfY2xrIiwKKwkgLnBhcmVudCA9ICZhaGJfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX1VTQk9UR19PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBjc2lfY2xrID0geworCS5uYW1lID0gImNzaV9jbGsiLAorCS5wYXJlbnQgPSAmc2VyaWFsX3BsbF9jbGssCisJLmdldF9yYXRlID0gX2Nsa19jc2lfZ2V0X3JhdGUsCisJLnJvdW5kX3JhdGUgPSBfY2xrX2NzaV9yb3VuZF9yYXRlLAorCS5zZXRfcmF0ZSA9IF9jbGtfY3NpX3NldF9yYXRlLAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IxX0NTSV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB1YXJ0X2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAidWFydF9jbGsiLAorCSAuaWQgPSAwLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfVUFSVDFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAidWFydF9jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfVUFSVDJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAidWFydF9jbGsiLAorCSAuaWQgPSAyLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfVUFSVDNfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAidWFydF9jbGsiLAorCSAuaWQgPSAzLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfVUFSVDRfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAidWFydF9jbGsiLAorCSAuaWQgPSA0LAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfVUFSVDVfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaTJjX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAiaTJjX2NsayIsCisJIC5pZCA9IDAsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9JMkMxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gImkyY19jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnBlcmNsa19jbGssCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfSTJDMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCisJeworCSAubmFtZSA9ICJpMmNfY2xrIiwKKwkgLmlkID0gMiwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX0kyQzNfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgb3dpcmVfY2xrID0geworCS5uYW1lID0gIm93aXJlX2NsayIsCisJLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfT1dJUkVfT0ZGU0VULAorCS5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkaGNfY2xrW10gPSB7CisJeworCSAubmFtZSA9ICJzZGhjX2NsayIsCisJIC5pZCA9IDAsCisJIC5wYXJlbnQgPSAmcGVyY2xrX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9TRF9NTUMxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInNkaGNfY2xrIiwKKwkgLmlkID0gMSwKKwkgLnBhcmVudCA9ICZwZXJjbGtfY2xrLAorCSAuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJIC5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCSAuZW5hYmxlX3NoaWZ0ID0gTVhDX0NDTV9DR1IwX1NEX01NQzJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc3NpX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAic3NpX2NsayIsCisJIC5wYXJlbnQgPSAmc2VyaWFsX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfc3NpMV9nZXRfcmF0ZSwKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9TU0kxX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInNzaV9jbGsiLAorCSAuaWQgPSAxLAorCSAucGFyZW50ID0gJnNlcmlhbF9wbGxfY2xrLAorCSAuZ2V0X3JhdGUgPSBfY2xrX3NzaTJfZ2V0X3JhdGUsCisJIC5lbmFibGUgPSBfY2xrX2VuYWJsZSwKKwkgLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJIC5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfU1NJMl9PRkZTRVQsCisJIC5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLH0sCit9OworCitzdGF0aWMgc3RydWN0IGNsayBmaXJpX2NsayA9IHsKKwkubmFtZSA9ICJmaXJpX2NsayIsCisJLnBhcmVudCA9ICZ1c2JfcGxsX2NsaywKKwkucm91bmRfcmF0ZSA9IF9jbGtfZmlyaV9yb3VuZF9yYXRlLAorCS5zZXRfcmF0ZSA9IF9jbGtfZmlyaV9zZXRfcmF0ZSwKKwkuZ2V0X3JhdGUgPSBfY2xrX2ZpcmlfZ2V0X3JhdGUsCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfRklSSV9PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBhdGFfY2xrID0geworCS5uYW1lID0gImF0YV9jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9BVEFfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbWJ4X2NsayA9IHsKKwkubmFtZSA9ICJtYnhfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfR0FDQ19PRkZTRVQsCisJLmdldF9yYXRlID0gX2Nsa19tYnhfZ2V0X3JhdGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayB2cHVfY2xrID0geworCS5uYW1lID0gInZwdV9jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjIsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMl9HQUNDX09GRlNFVCwKKwkuZ2V0X3JhdGUgPSBfY2xrX21ieF9nZXRfcmF0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHJ0aWNfY2xrID0geworCS5uYW1lID0gInJ0aWNfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IyLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjJfUlRJQ19PRkZTRVQsCisJLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayBybmdfY2xrID0geworCS5uYW1lID0gInJuZ19jbGsiLAorCS5wYXJlbnQgPSAmaXBnX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjAsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9STkdfT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgc2RtYV9jbGtbXSA9IHsKKwl7CisJIC5uYW1lID0gInNkbWFfYWhiX2NsayIsCisJIC5wYXJlbnQgPSAmYWhiX2NsaywKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMCwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMF9TRE1BX09GRlNFVCwKKwkgLmRpc2FibGUgPSBfY2xrX2Rpc2FibGUsfSwKKwl7CisJIC5uYW1lID0gInNkbWFfaXBnX2NsayIsCisJIC5wYXJlbnQgPSAmaXBnX2Nsayx9Cit9OworCitzdGF0aWMgc3RydWN0IGNsayBtcGVnNF9jbGsgPSB7CisJLm5hbWUgPSAibXBlZzRfY2xrIiwKKwkucGFyZW50ID0gJmFoYl9jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IxLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjFfSEFOVFJPX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgY2xrIHZsMmNjX2NsayA9IHsKKwkubmFtZSA9ICJ2bDJjY19jbGsiLAorCS5wYXJlbnQgPSAmYWhiX2NsaywKKwkuZW5hYmxlID0gX2Nsa19lbmFibGUsCisJLmVuYWJsZV9yZWcgPSBNWENfQ0NNX0NHUjEsCisJLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9IQU5UUk9fT0ZGU0VULAorCS5kaXNhYmxlID0gX2Nsa19kaXNhYmxlLAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgbXN0aWNrX2Nsa1tdID0geworCXsKKwkgLm5hbWUgPSAibXN0aWNrX2NsayIsCisJIC5pZCA9IDAsCisJIC5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfbXN0aWNrMV9nZXRfcmF0ZSwKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9NRU1TVElDSzFfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorCXsKKwkgLm5hbWUgPSAibXN0aWNrX2NsayIsCisJIC5pZCA9IDEsCisJIC5wYXJlbnQgPSAmdXNiX3BsbF9jbGssCisJIC5nZXRfcmF0ZSA9IF9jbGtfbXN0aWNrMl9nZXRfcmF0ZSwKKwkgLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCSAuZW5hYmxlX3JlZyA9IE1YQ19DQ01fQ0dSMSwKKwkgLmVuYWJsZV9zaGlmdCA9IE1YQ19DQ01fQ0dSMV9NRU1TVElDSzJfT0ZGU0VULAorCSAuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSx9LAorfTsKKworc3RhdGljIHN0cnVjdCBjbGsgaWltX2NsayA9IHsKKwkubmFtZSA9ICJpaW1fY2xrIiwKKwkucGFyZW50ID0gJmlwZ19jbGssCisJLmVuYWJsZSA9IF9jbGtfZW5hYmxlLAorCS5lbmFibGVfcmVnID0gTVhDX0NDTV9DR1IwLAorCS5lbmFibGVfc2hpZnQgPSBNWENfQ0NNX0NHUjBfSUlNX09GRlNFVCwKKwkuZGlzYWJsZSA9IF9jbGtfZGlzYWJsZSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY2tvMV9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCXUzMiBkaXYsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnQgLyByYXRlOworCWlmIChwYXJlbnQgJSByYXRlKQorCQlkaXYrKzsKKworCWlmIChkaXYgPiA4KQorCQlkaXYgPSAxNjsKKwllbHNlIGlmIChkaXYgPiA0KQorCQlkaXYgPSA4OworCWVsc2UgaWYgKGRpdiA+IDIpCisJCWRpdiA9IDQ7CisKKwlyZXR1cm4gcGFyZW50IC8gZGl2OworfQorCitzdGF0aWMgaW50IF9jbGtfY2tvMV9zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKK3sKKwl1MzIgcmVnLCBkaXYsIHBhcmVudCA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisKKwlkaXYgPSBwYXJlbnQgLyByYXRlOworCisJaWYgKGRpdiA9PSAxNikKKwkJZGl2ID0gNDsKKwllbHNlIGlmIChkaXYgPT0gOCkKKwkJZGl2ID0gMzsKKwllbHNlIGlmIChkaXYgPT0gNCkKKwkJZGl2ID0gMjsKKwllbHNlIGlmIChkaXYgPT0gMikKKwkJZGl2ID0gMTsKKwllbHNlIGlmIChkaXYgPT0gMSkKKwkJZGl2ID0gMDsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCisJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9DT1NSKSAmIH5NWENfQ0NNX0NPU1JfQ0xLT1VURElWX01BU0s7CisJcmVnIHw9IGRpdiA8PCBNWENfQ0NNX0NPU1JfQ0xLT1VURElWX09GRlNFVDsKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NPU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9jbGtfY2tvMV9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIGRpdjsKKworCWRpdiA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgJiBNWENfQ0NNX0NPU1JfQ0xLT1VURElWX01BU0sgPj4KKwkgICAgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9PRkZTRVQ7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvICgxIDw8IGRpdik7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19ja28xX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgJiB+TVhDX0NDTV9DT1NSX0NMS09TRUxfTUFTSzsKKworCWlmIChwYXJlbnQgPT0gJm1jdV9tYWluX2NsaykKKwkJcmVnIHw9IDAgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmaXBnX2NsaykKKwkJcmVnIHw9IDEgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmdXNiX3BsbF9jbGspCisJCXJlZyB8PSAyIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gbWN1X21haW5fY2xrLnBhcmVudCkKKwkJcmVnIHw9IDMgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmYWhiX2NsaykKKwkJcmVnIHw9IDUgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmc2VyaWFsX3BsbF9jbGspCisJCXJlZyB8PSA3IDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmNraWhfY2xrKQorCQlyZWcgfD0gOCA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZlbWlfY2xrKQorCQlyZWcgfD0gOSA8PCBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQ7CisJZWxzZSBpZiAocGFyZW50ID09ICZpcHVfY2xrKQorCQlyZWcgfD0gMHhBIDw8IE1YQ19DQ01fQ09TUl9DTEtPU0VMX09GRlNFVDsKKwllbHNlIGlmIChwYXJlbnQgPT0gJm5mY19jbGspCisJCXJlZyB8PSAweEIgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UgaWYgKHBhcmVudCA9PSAmdWFydF9jbGtbMF0pCisJCXJlZyB8PSAweEMgPDwgTVhDX0NDTV9DT1NSX0NMS09TRUxfT0ZGU0VUOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX0NPU1IpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX2Nsa19ja28xX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdTMyIHJlZzsKKworCXJlZyA9IF9fcmF3X3JlYWRsKE1YQ19DQ01fQ09TUikgfCBNWENfQ0NNX0NPU1JfQ0xLT0VOOworCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19DQ01fQ09TUik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX2Nsa19ja28xX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXUzMiByZWc7CisKKwlyZWcgPSBfX3Jhd19yZWFkbChNWENfQ0NNX0NPU1IpICYgfk1YQ19DQ01fQ09TUl9DTEtPRU47CisJX19yYXdfd3JpdGVsKHJlZywgTVhDX0NDTV9DT1NSKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2tvMV9jbGsgPSB7CisJLm5hbWUgPSAiY2tvMV9jbGsiLAorCS5nZXRfcmF0ZSA9IF9jbGtfY2tvMV9nZXRfcmF0ZSwKKwkuc2V0X3JhdGUgPSBfY2xrX2NrbzFfc2V0X3JhdGUsCisJLnJvdW5kX3JhdGUgPSBfY2xrX2NrbzFfcm91bmRfcmF0ZSwKKwkuc2V0X3BhcmVudCA9IF9jbGtfY2tvMV9zZXRfcGFyZW50LAorCS5lbmFibGUgPSBfY2xrX2NrbzFfZW5hYmxlLAorCS5kaXNhYmxlID0gX2Nsa19ja28xX2Rpc2FibGUsCit9OworCitzdGF0aWMgc3RydWN0IGNsayAqbXhjX2Nsa3NbXSA9IHsKKwkmY2tpaF9jbGssCisJJmNraWxfY2xrLAorCSZtY3VfcGxsX2NsaywKKwkmdXNiX3BsbF9jbGssCisJJnNlcmlhbF9wbGxfY2xrLAorCSZtY3VfbWFpbl9jbGssCisJJmFoYl9jbGssCisJJnBlcl9jbGssCisJJnBlcmNsa19jbGssCisJJmNrbzFfY2xrLAorCSZlbWlfY2xrLAorCSZjc3BpX2Nsa1swXSwKKwkmY3NwaV9jbGtbMV0sCisJJmNzcGlfY2xrWzJdLAorCSZpcGdfY2xrLAorCSZncHRfY2xrLAorCSZwd21fY2xrLAorCSZ3ZG9nX2NsaywKKwkmcnRjX2NsaywKKwkmZXBpdF9jbGtbMF0sCisJJmVwaXRfY2xrWzFdLAorCSZuZmNfY2xrLAorCSZpcHVfY2xrLAorCSZrcHBfY2xrLAorCSZ1c2JfY2xrWzBdLAorCSZ1c2JfY2xrWzFdLAorCSZjc2lfY2xrLAorCSZ1YXJ0X2Nsa1swXSwKKwkmdWFydF9jbGtbMV0sCisJJnVhcnRfY2xrWzJdLAorCSZ1YXJ0X2Nsa1szXSwKKwkmdWFydF9jbGtbNF0sCisJJmkyY19jbGtbMF0sCisJJmkyY19jbGtbMV0sCisJJmkyY19jbGtbMl0sCisJJm93aXJlX2NsaywKKwkmc2RoY19jbGtbMF0sCisJJnNkaGNfY2xrWzFdLAorCSZzc2lfY2xrWzBdLAorCSZzc2lfY2xrWzFdLAorCSZmaXJpX2NsaywKKwkmYXRhX2NsaywKKwkmcnRpY19jbGssCisJJnJuZ19jbGssCisJJnNkbWFfY2xrWzBdLAorCSZzZG1hX2Nsa1sxXSwKKwkmbXN0aWNrX2Nsa1swXSwKKwkmbXN0aWNrX2Nsa1sxXSwKKwkmc2NjX2NsaywKKwkmaWltX2NsaywKK307CisKK2ludCBfX2luaXQgbXhjX2Nsb2Nrc19pbml0KHVuc2lnbmVkIGxvbmcgZnJlZikKK3sKKwl1MzIgcmVnOworCXN0cnVjdCBjbGsgKipjbGtwOworCisJY2tpaF9yYXRlID0gZnJlZjsKKworCWZvciAoY2xrcCA9IG14Y19jbGtzOyBjbGtwIDwgbXhjX2Nsa3MgKyBBUlJBWV9TSVpFKG14Y19jbGtzKTsgY2xrcCsrKQorCQljbGtfcmVnaXN0ZXIoKmNsa3ApOworCisJaWYgKGNwdV9pc19teDMxKCkpIHsKKwkJY2xrX3JlZ2lzdGVyKCZtcGVnNF9jbGspOworCQljbGtfcmVnaXN0ZXIoJm1ieF9jbGspOworCX0gZWxzZSB7CisJCWNsa19yZWdpc3RlcigmdnB1X2Nsayk7CisJCWNsa19yZWdpc3RlcigmdmwyY2NfY2xrKTsKKwl9CisKKwkvKiBUdXJuIG9mZiBhbGwgcG9zc2libGUgY2xvY2tzICovCisJX19yYXdfd3JpdGVsKE1YQ19DQ01fQ0dSMF9HUFRfTUFTSywgTVhDX0NDTV9DR1IwKTsKKwlfX3Jhd193cml0ZWwoMCwgTVhDX0NDTV9DR1IxKTsKKworCV9fcmF3X3dyaXRlbChNWENfQ0NNX0NHUjJfRU1JX01BU0sgfAorCQkgICAgIE1YQ19DQ01fQ0dSMl9JUE1VWDFfTUFTSyB8CisJCSAgICAgTVhDX0NDTV9DR1IyX0lQTVVYMl9NQVNLIHwKKwkJICAgICBNWENfQ0NNX0NHUjJfTVhDQ0xLRU5TRUxfTUFTSyB8CS8qIGZvciBNWDMyICovCisJCSAgICAgTVhDX0NDTV9DR1IyX0NISUtDQU1QRU5fTUFTSyB8CS8qIGZvciBNWDMyICovCisJCSAgICAgTVhDX0NDTV9DR1IyX09WUlZQVUJVU1lfTUFTSyB8CS8qIGZvciBNWDMyICovCisJCSAgICAgMSA8PCAyNyB8IDEgPDwgMjgsIC8qIEJpdCAyNyBhbmQgMjggYXJlIG5vdCBkZWZpbmVkIGZvcgorCQkJCQkgICBNWDMyLCBidXQgc3RpbGwgcmVxdWlyZWQgdG8gYmUgc2V0ICovCisJCSAgICAgTVhDX0NDTV9DR1IyKTsKKworCWNsa19kaXNhYmxlKCZja28xX2Nsayk7CisJY2xrX2Rpc2FibGUoJnVzYl9wbGxfY2xrKTsKKworCXByX2luZm8oIkNsb2NrIGlucHV0IHNvdXJjZSBpcyAlbGRcbiIsIGNsa19nZXRfcmF0ZSgmY2tpaF9jbGspKTsKKworCWNsa19lbmFibGUoJmdwdF9jbGspOworCWNsa19lbmFibGUoJmVtaV9jbGspOworCWNsa19lbmFibGUoJmlpbV9jbGspOworCisJY2xrX2VuYWJsZSgmc2VyaWFsX3BsbF9jbGspOworCisJaWYgKG14MzFfcmV2aXNpb24oKSA+PSBDSElQX1JFVl8yXzApIHsKKwkJcmVnID0gX19yYXdfcmVhZGwoTVhDX0NDTV9QTUNSMSk7CisJCS8qIE5vIFBMTCByZXN0YXJ0IG9uIERWRlMgc3dpdGNoOyBlbmFibGUgYXV0byBFTUkgaGFuZHNoYWtlICovCisJCXJlZyB8PSBNWENfQ0NNX1BNQ1IxX1BMTFJESVMgfCBNWENfQ0NNX1BNQ1IxX0VNSVJRX0VOOworCQlfX3Jhd193cml0ZWwocmVnLCBNWENfQ0NNX1BNQ1IxKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvY3JtX3JlZ3MuaCBiL2FyY2gvYXJtL21hY2gtbXgzL2NybV9yZWdzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEwZTBlZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL2NybV9yZWdzLmgKQEAgLTAsMCArMSw0MDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FSQ0hfQVJNX01BQ0hfTVgzX0NSTV9SRUdTX0hfXworI2RlZmluZSBfX0FSQ0hfQVJNX01BQ0hfTVgzX0NSTV9SRUdTX0hfXworCisjZGVmaW5lIENLSUhfQ0xLX0ZSRVEgICAgICAgICAgIDI2MDAwMDAwCisjZGVmaW5lIENLSUhfQ0xLX0ZSRVFfMjdNSFogICAgIDI3MDAwMDAwCisjZGVmaW5lIENLSUxfQ0xLX0ZSRVEgICAgICAgICAgIDMyNzY4CisKKyNkZWZpbmUgTVhDX0NDTV9CQVNFCQlJT19BRERSRVNTKENDTV9CQVNFX0FERFIpCisKKy8qIFJlZ2lzdGVyIGFkZHJlc3NlcyAqLworI2RlZmluZSBNWENfQ0NNX0NDTVIJCShNWENfQ0NNX0JBU0UgKyAweDAwKQorI2RlZmluZSBNWENfQ0NNX1BEUjAJCShNWENfQ0NNX0JBU0UgKyAweDA0KQorI2RlZmluZSBNWENfQ0NNX1BEUjEJCShNWENfQ0NNX0JBU0UgKyAweDA4KQorI2RlZmluZSBNWENfQ0NNX1JDU1IJCShNWENfQ0NNX0JBU0UgKyAweDBDKQorI2RlZmluZSBNWENfQ0NNX01QQ1RMCQkoTVhDX0NDTV9CQVNFICsgMHgxMCkKKyNkZWZpbmUgTVhDX0NDTV9VUENUTAkJKE1YQ19DQ01fQkFTRSArIDB4MTQpCisjZGVmaW5lIE1YQ19DQ01fU1JQQ1RMCQkoTVhDX0NDTV9CQVNFICsgMHgxOCkKKyNkZWZpbmUgTVhDX0NDTV9DT1NSCQkoTVhDX0NDTV9CQVNFICsgMHgxQykKKyNkZWZpbmUgTVhDX0NDTV9DR1IwCQkoTVhDX0NDTV9CQVNFICsgMHgyMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxCQkoTVhDX0NDTV9CQVNFICsgMHgyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyCQkoTVhDX0NDTV9CQVNFICsgMHgyOCkKKyNkZWZpbmUgTVhDX0NDTV9XSU1SCQkoTVhDX0NDTV9CQVNFICsgMHgyQykKKyNkZWZpbmUgTVhDX0NDTV9MREMJCShNWENfQ0NNX0JBU0UgKyAweDMwKQorI2RlZmluZSBNWENfQ0NNX0RDVlIwCQkoTVhDX0NDTV9CQVNFICsgMHgzNCkKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSMQkJKE1YQ19DQ01fQkFTRSArIDB4MzgpCisjZGVmaW5lIE1YQ19DQ01fRENWUjIJCShNWENfQ0NNX0JBU0UgKyAweDNDKQorI2RlZmluZSBNWENfQ0NNX0RDVlIzCQkoTVhDX0NDTV9CQVNFICsgMHg0MCkKKyNkZWZpbmUgTVhDX0NDTV9MVFIwCQkoTVhDX0NDTV9CQVNFICsgMHg0NCkKKyNkZWZpbmUgTVhDX0NDTV9MVFIxCQkoTVhDX0NDTV9CQVNFICsgMHg0OCkKKyNkZWZpbmUgTVhDX0NDTV9MVFIyCQkoTVhDX0NDTV9CQVNFICsgMHg0QykKKyNkZWZpbmUgTVhDX0NDTV9MVFIzCQkoTVhDX0NDTV9CQVNFICsgMHg1MCkKKyNkZWZpbmUgTVhDX0NDTV9MVEJSMAkJKE1YQ19DQ01fQkFTRSArIDB4NTQpCisjZGVmaW5lIE1YQ19DQ01fTFRCUjEJCShNWENfQ0NNX0JBU0UgKyAweDU4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwCQkoTVhDX0NDTV9CQVNFICsgMHg1QykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMQkJKE1YQ19DQ01fQkFTRSArIDB4NjApCisjZGVmaW5lIE1YQ19DQ01fUERSMgkJKE1YQ19DQ01fQkFTRSArIDB4NjQpCisKKy8qIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBNWENfQ0NNX0NDTVJfV0JFTiAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjcpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9DU0NTICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAyNSkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1BFUkNTICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1NJMVNfT0ZGU0VUICAgICAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1NTSTFTX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TU0kyU19PRkZTRVQgICAgICAgICAgICAgICAyMQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1NJMlNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyMSkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0xQTV9PRkZTRVQgICAgICAgICAgICAgICAgIDE0CisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9MUE1fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE0KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfRklSU19PRkZTRVQgICAgICAgICAgICAgICAgMTEKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX0ZJUlNfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9VUEUgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA5KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfU1BFICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX01EUyAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDcpCisjZGVmaW5lIE1YQ19DQ01fQ0NNUl9TQllDUyAgICAgICAgICAgICAgICAgICAgICAoMSA8PCA0KQorI2RlZmluZSBNWENfQ0NNX0NDTVJfTVBFICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1BSQ1NfT0ZGU0VUICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVhDX0NDTV9DQ01SX1BSQ1NfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMSkKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfQ1NJX1BPREZfT0ZGU0VUICAgICAgICAgICAgMjYKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QT0RGX01BU0sgICAgICAgICAgICAgICgweDNGIDw8IDI2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfQ1NJX1BSREZfT0ZGU0VUICAgICAgICAgICAgMjMKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0NTSV9QUkRGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMjMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9QRVJfUE9ERl9PRkZTRVQgICAgICAgICAgICAxNgorI2RlZmluZSBNWENfQ0NNX1BEUjBfUEVSX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4MUYgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfUE9ERl9PRkZTRVQgICAgICAgICAgICAxMQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4NyA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19QT0RGX09GRlNFVCAgICAgICAgICAgIDgKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19QT0RGX09GRlNFVCAgICAgICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0lQR19QT0RGX01BU0sgICAgICAgICAgICAgICgweDMgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9QT0RGX09GRlNFVCAgICAgICAgICAgIDMKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01BWF9QT0RGX01BU0sgICAgICAgICAgICAgICgweDcgPDwgMykKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9QT0RGX09GRlNFVCAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9QT0RGX01BU0sgICAgICAgICAgICAgIDB4NworCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzEgICAgICAgICAgICAgICAgICAoMHgwIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl8yICAgICAgICAgICAgICAgICAgKDB4MSA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfMyAgICAgICAgICAgICAgICAgICgweDIgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzQgICAgICAgICAgICAgICAgICAoMHgzIDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl81ICAgICAgICAgICAgICAgICAgKDB4NCA8PCAxMSkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX0hTUF9ESVZfNiAgICAgICAgICAgICAgICAgICgweDUgPDwgMTEpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9IU1BfRElWXzcgICAgICAgICAgICAgICAgICAoMHg2IDw8IDExKQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSFNQX0RJVl84ICAgICAgICAgICAgICAgICAgKDB4NyA8PCAxMSkKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfSVBHX0RJVl8xICAgICAgICAgICAgICAgICAgKDB4MCA8PCA2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSVBHX0RJVl8yICAgICAgICAgICAgICAgICAgKDB4MSA8PCA2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSVBHX0RJVl8zICAgICAgICAgICAgICAgICAgKDB4MiA8PCA2KQorI2RlZmluZSBNWENfQ0NNX1BEUjBfSVBHX0RJVl80ICAgICAgICAgICAgICAgICAgKDB4MyA8PCA2KQorCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzEgICAgICAgICAgICAgICAgICAoMHgwIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzIgICAgICAgICAgICAgICAgICAoMHgxIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzMgICAgICAgICAgICAgICAgICAoMHgyIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzQgICAgICAgICAgICAgICAgICAoMHgzIDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzUgICAgICAgICAgICAgICAgICAoMHg0IDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzYgICAgICAgICAgICAgICAgICAoMHg1IDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzcgICAgICAgICAgICAgICAgICAoMHg2IDw8IDMpCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQVhfRElWXzggICAgICAgICAgICAgICAgICAoMHg3IDw8IDMpCisKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfMSAgICAgICAgICAgICAgICAgICgweDAgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfMiAgICAgICAgICAgICAgICAgICgweDEgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfMyAgICAgICAgICAgICAgICAgICgweDIgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfNCAgICAgICAgICAgICAgICAgICgweDMgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfNSAgICAgICAgICAgICAgICAgICgweDQgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfNiAgICAgICAgICAgICAgICAgICgweDUgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfNyAgICAgICAgICAgICAgICAgICgweDYgPDwgOCkKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX05GQ19ESVZfOCAgICAgICAgICAgICAgICAgICgweDcgPDwgOCkKKworI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl8xICAgICAgICAgICAgICAgICAgMHgwCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzIgICAgICAgICAgICAgICAgICAweDEKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfMyAgICAgICAgICAgICAgICAgIDB4MgorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl80ICAgICAgICAgICAgICAgICAgMHgzCisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzUgICAgICAgICAgICAgICAgICAweDQKKyNkZWZpbmUgTVhDX0NDTV9QRFIwX01DVV9ESVZfNiAgICAgICAgICAgICAgICAgIDB4NQorI2RlZmluZSBNWENfQ0NNX1BEUjBfTUNVX0RJVl83ICAgICAgICAgICAgICAgICAgMHg2CisjZGVmaW5lIE1YQ19DQ01fUERSMF9NQ1VfRElWXzggICAgICAgICAgICAgICAgICAweDcKKworI2RlZmluZSBNWENfQ0NNX1BEUjFfVVNCX1BSREZfT0ZGU0VUICAgICAgICAgICAgMzAKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1VTQl9QUkRGX01BU0sgICAgICAgICAgICAgICgweDMgPDwgMzApCisjZGVmaW5lIE1YQ19DQ01fUERSMV9VU0JfUE9ERl9PRkZTRVQgICAgICAgICAgICAyNworI2RlZmluZSBNWENfQ0NNX1BEUjFfVVNCX1BPREZfTUFTSyAgICAgICAgICAgICAgKDB4NyA8PCAyNykKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX0ZJUklfUFJFX1BPREZfT0ZGU0VUICAgICAgIDI0CisjZGVmaW5lIE1YQ19DQ01fUERSMV9GSVJJX1BSRV9QT0RGX01BU0sgICAgICAgICAoMHg3IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfRklSSV9QT0RGX09GRlNFVCAgICAgICAgICAgMTgKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX0ZJUklfUE9ERl9NQVNLICAgICAgICAgICAgICgweDNGIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMl9QUkVfUE9ERl9PRkZTRVQgICAgICAgMTUKKyNkZWZpbmUgTVhDX0NDTV9QRFIxX1NTSTJfUFJFX1BPREZfTUFTSyAgICAgICAgICgweDcgPDwgMTUpCisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kyX1BPREZfT0ZGU0VUICAgICAgICAgICA5CisjZGVmaW5lIE1YQ19DQ01fUERSMV9TU0kyX1BPREZfTUFTSyAgICAgICAgICAgICAoMHgzRiA8PCA5KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMV9QUkVfUE9ERl9PRkZTRVQgICAgICAgNgorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMV9QUkVfUE9ERl9NQVNLICAgICAgICAgKDB4NyA8PCA2KQorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX09GRlNFVCAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX1BEUjFfU1NJMV9QT0RGX01BU0sgICAgICAgICAgICAgMHgzRgorCisvKiBCaXQgZGVmaW5pdGlvbnMgZm9yIFJDU1IgKi8KKyNkZWZpbmUgTVhDX0NDTV9SQ1NSX05GMTZCCQkJMHg4MDAwMDAwMAorCisvKiBCaXQgZGVmaW5pdGlvbnMgZm9yIGJvdGggTUNVLCBVU0IgYW5kIFNSIFBMTCBjb250cm9sIHJlZ2lzdGVycyAqLworI2RlZmluZSBNWENfQ0NNX1BDVExfQlJNICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BDVExfUERfT0ZGU0VUICAgICAgICAgICAgICAgICAgMjYKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX1BEX01BU0sgICAgICAgICAgICAgICAgICAgICgweEYgPDwgMjYpCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRkRfT0ZGU0VUICAgICAgICAgICAgICAgICAxNgorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZEX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M0ZGIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX1BDVExfTUZJX09GRlNFVCAgICAgICAgICAgICAgICAgMTAKKyNkZWZpbmUgTVhDX0NDTV9QQ1RMX01GSV9NQVNLICAgICAgICAgICAgICAgICAgICgweEYgPDwgMTApCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRk5fT0ZGU0VUICAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fUENUTF9NRk5fTUFTSyAgICAgICAgICAgICAgICAgICAweDNGRgorCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRF9NTUMxX09GRlNFVCAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRF9NTUMxX01BU0sgICAgICAgICAgICAgICAoMHgzIDw8IDApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRF9NTUMyX09GRlNFVCAgICAgICAgICAgICAyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TRF9NTUMyX01BU0sgICAgICAgICAgICAgICAoMHgzIDw8IDIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9HUFRfT0ZGU0VUICAgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9HUFRfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9FUElUMV9PRkZTRVQgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9FUElUMV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9FUElUMl9PRkZTRVQgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9FUElUMl9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JSU1fT0ZGU0VUICAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNWENfQ0NNX0NHUjBfSUlNX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0FUQV9PRkZTRVQgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9BVEFfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEyKQorI2RlZmluZSBNWENfQ0NNX0NHUjBfU0RNQV9PRkZTRVQgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NETUFfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMTQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9DU1BJM19PRkZTRVQgICAgICAgICAgICAgICAxNgorI2RlZmluZSBNWENfQ0NNX0NHUjBfQ1NQSTNfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1JOR19PRkZTRVQgICAgICAgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9STkdfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfVUFSVDFfT0ZGU0VUICAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1VBUlQxX01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9VQVJUMl9PRkZTRVQgICAgICAgICAgICAgICAyMgorI2RlZmluZSBNWENfQ0NNX0NHUjBfVUFSVDJfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX1NTSTFfT0ZGU0VUICAgICAgICAgICAgICAgIDI0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9TU0kxX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDMV9PRkZTRVQgICAgICAgICAgICAgICAgMjYKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzFfTUFTSyAgICAgICAgICAgICAgICAgICgweDMgPDwgMjYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMyX09GRlNFVCAgICAgICAgICAgICAgICAyOAorI2RlZmluZSBNWENfQ0NNX0NHUjBfSTJDMl9NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IwX0kyQzNfT0ZGU0VUICAgICAgICAgICAgICAgIDMwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMF9JMkMzX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9IQU5UUk9fT0ZGU0VUICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9IQU5UUk9fTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9NRU1TVElDSzFfT0ZGU0VUICAgICAgICAgICAyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9NRU1TVElDSzFfTUFTSyAgICAgICAgICAgICAoMHgzIDw8IDIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9NRU1TVElDSzJfT0ZGU0VUICAgICAgICAgICA0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9NRU1TVElDSzJfTUFTSyAgICAgICAgICAgICAoMHgzIDw8IDQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9DU0lfT0ZGU0VUICAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9DU0lfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9SVENfT0ZGU0VUICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9SVENfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9XRE9HX09GRlNFVCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNWENfQ0NNX0NHUjFfV0RPR19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1BXTV9PRkZTRVQgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9QV01fTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEyKQorI2RlZmluZSBNWENfQ0NNX0NHUjFfU0lNX09GRlNFVCAgICAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1NJTV9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9FQ1RfT0ZGU0VUICAgICAgICAgICAgICAgICAxNgorI2RlZmluZSBNWENfQ0NNX0NHUjFfRUNUX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxNikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VTQk9UR19PRkZTRVQgICAgICAgICAgICAgIDE4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VU0JPVEdfTUFTSyAgICAgICAgICAgICAgICAoMHgzIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfS1BQX09GRlNFVCAgICAgICAgICAgICAgICAgMjAKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX0tQUF9NQVNLICAgICAgICAgICAgICAgICAgICgweDMgPDwgMjApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9JUFVfT0ZGU0VUICAgICAgICAgICAgICAgICAyMgorI2RlZmluZSBNWENfQ0NNX0NHUjFfSVBVX01BU0sgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyMikKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQzX09GRlNFVCAgICAgICAgICAgICAgIDI0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUM19NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDRfT0ZGU0VUICAgICAgICAgICAgICAgMjYKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX1VBUlQ0X01BU0sgICAgICAgICAgICAgICAgICgweDMgPDwgMjYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9VQVJUNV9PRkZTRVQgICAgICAgICAgICAgICAyOAorI2RlZmluZSBNWENfQ0NNX0NHUjFfVUFSVDVfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IxX09XSVJFX09GRlNFVCAgICAgICAgICAgICAgIDMwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMV9PV0lSRV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDMwKQorCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9TU0kyX09GRlNFVCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9TU0kyX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDApCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DU1BJMV9PRkZTRVQgICAgICAgICAgICAgICAyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DU1BJMV9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDIpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DU1BJMl9PRkZTRVQgICAgICAgICAgICAgICA0CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9DU1BJMl9NQVNLICAgICAgICAgICAgICAgICAoMHgzIDw8IDQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9HQUNDX09GRlNFVCAgICAgICAgICAgICAgICA2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9HQUNDX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9FTUlfT0ZGU0VUICAgICAgICAgICAgICAgICA4CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9FTUlfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzIDw8IDgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9SVElDX09GRlNFVCAgICAgICAgICAgICAgICAxMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfUlRJQ19NQVNLICAgICAgICAgICAgICAgICAgKDB4MyA8PCAxMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0ZJUklfT0ZGU0VUICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9GSVJJX01BU0sgICAgICAgICAgICAgICAgICAoMHgzIDw8IDEyKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfSVBNVVgxX09GRlNFVCAgICAgICAgICAgICAgMTQKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0lQTVVYMV9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMTQpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9JUE1VWDJfT0ZGU0VUICAgICAgICAgICAgICAxNgorI2RlZmluZSBNWENfQ0NNX0NHUjJfSVBNVVgyX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxNikKKworLyogVGhlc2UgbmV3IENHUjIgYml0cyBhcmUgYWRkZWQgaW4gTVgzMiAqLworI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1lTQ0xLU0VMX09GRlNFVAkxOAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQVBNU1lTQ0xLU0VMX01BU0sJCSgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1TU0lDTEtTRUxfT0ZGU0VUCTIwCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1TU0lDTEtTRUxfTUFTSwkJKDB4MyA8PCAyMCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVBFUkNMS1NFTF9PRkZTRVQJMjIKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0FQTVBFUkNMS1NFTF9NQVNLCQkoMHgzIDw8IDIyKQorI2RlZmluZSBNWENfQ0NNX0NHUjJfTVhDQ0xLRU5TRUxfT0ZGU0VUCQkyNAorI2RlZmluZSBNWENfQ0NNX0NHUjJfTVhDQ0xLRU5TRUxfTUFTSwkJKDB4MSA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9DR1IyX0NISUtDQU1QRU5fT0ZGU0VUCQkyNQorI2RlZmluZSBNWENfQ0NNX0NHUjJfQ0hJS0NBTVBFTl9NQVNLCQkoMHgxIDw8IDI1KQorI2RlZmluZSBNWENfQ0NNX0NHUjJfT1ZSVlBVQlVTWV9PRkZTRVQJCTI2CisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9PVlJWUFVCVVNZX01BU0sJCSgweDEgPDwgMjYpCisjZGVmaW5lIE1YQ19DQ01fQ0dSMl9BUE1FTkFfT0ZGU0VUCQkzMAorI2RlZmluZSBNWENfQ0NNX0NHUjJfQU9NRU5BX01BU0sJCSgweDEgPDwgMzApCisKKy8qCisgKiBMVFIwIHJlZ2lzdGVyIG9mZnNldHMKKyAqLworI2RlZmluZSBNWENfQ0NNX0xUUjBfRElWM0NLX09GRlNFVCAgICAgICAgICAgICAgMQorI2RlZmluZSBNWENfQ0NNX0xUUjBfRElWM0NLX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxKQorI2RlZmluZSBNWENfQ0NNX0xUUjBfRE5USFJfT0ZGU0VUICAgICAgICAgICAgICAgMTYKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX0ROVEhSX01BU0sgICAgICAgICAgICAgICAgICgweDNGIDw8IDE2KQorI2RlZmluZSBNWENfQ0NNX0xUUjBfVVBUSFJfT0ZGU0VUICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9MVFIwX1VQVEhSX01BU0sgICAgICAgICAgICAgICAgICgweDNGIDw8IDIyKQorCisvKgorICogTFRSMSByZWdpc3RlciBvZmZzZXRzCisgKi8KKyNkZWZpbmUgTVhDX0NDTV9MVFIxX1BOQ1RIUl9PRkZTRVQgICAgICAgICAgICAgIDAKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX1BOQ1RIUl9NQVNLICAgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX1VQQ05UX09GRlNFVCAgICAgICAgICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX1VQQ05UX01BU0sgICAgICAgICAgICAgICAgICgweEZGIDw8IDYpCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9ETkNOVF9PRkZTRVQgICAgICAgICAgICAgICAxNAorI2RlZmluZSBNWENfQ0NNX0xUUjFfRE5DTlRfTUFTSyAgICAgICAgICAgICAgICAgKDB4RkYgPDwgMTQpCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9MVEJSU1JfTUFTSyAgICAgICAgICAgICAgICAweDQwMDAwMAorI2RlZmluZSBNWENfQ0NNX0xUUjFfTFRCUlNSX09GRlNFVCAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9MVFIxX0xUQlJTUiAgICAgICAgICAgICAgICAgICAgIDB4NDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fTFRSMV9MVEJSU0ggICAgICAgICAgICAgICAgICAgICAweDgwMDAwMAorCisvKgorICogTFRSMiBiaXQgZGVmaW5pdGlvbnMuIHggcmFuZ2VzIGZyb20gMCBmb3IgV1NXOSB0byA2IGZvciBXU1cxNQorICovCisjZGVmaW5lIE1YQ19DQ01fTFRSMl9XU1dfT0ZGU0VUKHgpICAgICAgICAgICAgICAoMTEgKyAoeCkgKiAzKQorI2RlZmluZSBNWENfQ0NNX0xUUjJfV1NXX01BU0soeCkgICAgICAgICAgICAgICAgKDB4NyA8PCBcCisJCQkJCU1YQ19DQ01fTFRSMl9XU1dfT0ZGU0VUKCh4KSkpCisjZGVmaW5lIE1YQ19DQ01fTFRSMl9FTUFDX09GRlNFVCAgICAgICAgICAgICAgICAwCisjZGVmaW5lIE1YQ19DQ01fTFRSMl9FTUFDX01BU0sgICAgICAgICAgICAgICAgICAweDFGRgorCisvKgorICogTFRSMyBiaXQgZGVmaW5pdGlvbnMuIHggcmFuZ2VzIGZyb20gMCBmb3IgV1NXMCB0byA4IGZvciBXU1c4CisgKi8KKyNkZWZpbmUgTVhDX0NDTV9MVFIzX1dTV19PRkZTRVQoeCkgICAgICAgICAgICAgICg1ICsgKHgpICogMykKKyNkZWZpbmUgTVhDX0NDTV9MVFIzX1dTV19NQVNLKHgpICAgICAgICAgICAgICAgICgweDcgPDwgXAorCQkJCQlNWENfQ0NNX0xUUjNfV1NXX09GRlNFVCgoeCkpKQorCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAxICAgICAgICAgICAgICAgICAgICAweDgwMDAwMDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAxX1NQTEwgICAgICAgICAgICAgICAoMCA8PCAzMSkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUDFfTVBMTCAgICAgICAgICAgICAgICgxIDw8IDMxKQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMCAgICAgICAgICAgICAgICAgICAgMHg0MDAwMDAwMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMF9QTEwgICAgICAgICAgICAgICAgKDAgPDwgMzApCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAwX1BEUiAgICAgICAgICAgICAgICAoMSA8PCAzMCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9ERlNVUF9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMzApCisKKyNkZWZpbmUgRFZTVVBfVFVSQk8JCQkJMAorI2RlZmluZSBEVlNVUF9ISUdICQkJCTEKKyNkZWZpbmUgRFZTVVBfTUVESVVNCQkJCTIKKyNkZWZpbmUgRFZTVVBfTE9XCQkJCTMKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9UVVJCTyAgICAgICAgICAgICAgIChEVlNVUF9UVVJCTyA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9ISUdIICAgICAgICAgICAgICAgIChEVlNVUF9ISUdIIDw8IDI4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX01FRElVTSAgICAgICAgICAgICAgKERWU1VQX01FRElVTSA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVlNVUF9MT1cgICAgICAgICAgICAgICAgIChEVlNVUF9MT1cgPDwgMjgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRFZTVVBfT0ZGU0VUICAgICAgICAgICAgICAyOAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RWU1VQX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAyOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VRFNDICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VRFNDX01BU0sgICAgICAgICAgICAgICAgICgxIDw8IDI3KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1VEU0NfVVAgICAgICAgICAgICAgICAgICAgKDEgPDwgMjcpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVURTQ19ET1dOICAgICAgICAgICAgICAgICAoMCA8PCAyNykKKworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzEgICAgICAgICAgICAgICAgICAgKDB4MCA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF8yICAgICAgICAgICAgICAgICAgICgweDEgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfMyAgICAgICAgICAgICAgICAgICAoMHgyIDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzQgICAgICAgICAgICAgICAgICAgKDB4MyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF81ICAgICAgICAgICAgICAgICAgICgweDQgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfNiAgICAgICAgICAgICAgICAgICAoMHg1IDw8IDI0KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UXzcgICAgICAgICAgICAgICAgICAgKDB4NiA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9WU0NOVF84ICAgICAgICAgICAgICAgICAgICgweDcgPDwgMjQpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfVlNDTlRfT0ZGU0VUICAgICAgICAgICAgICAyNAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX1ZTQ05UX01BU0sgICAgICAgICAgICAgICAgKDB4NyA8PCAyNCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVkZFViAgICAgICAgICAgICAgICAgICAgIDB4MDA4MDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVkZJUyAgICAgICAgICAgICAgICAgICAgIDB4MDA0MDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQk1JICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkZMICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMDAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGXzQgICAgICAgICAgICAgICAgICAgICgweDAgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl84ICAgICAgICAgICAgICAgICAgICAoMHgxIDw8IDE4KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfMTIgICAgICAgICAgICAgICAgICAgKDB4MiA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkNGXzE2ICAgICAgICAgICAgICAgICAgICgweDMgPDwgMTgpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfTEJDRl9PRkZTRVQgICAgICAgICAgICAgICAxOAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0xCQ0ZfTUFTSyAgICAgICAgICAgICAgICAgKDB4MyA8PCAxOCkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9QVFZJUyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VUERURU4gICAgICAgICAgICAgICAgICAgIDB4MDAwMTAwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9VUERURU5fTUFTSyAgICAgICAgICAgICAgICgweDEgPDwgMTYpCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRlNWQUlNICAgICAgICAgICAgICAgICAgICAweDAwMDA4MDAwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfRlNWQUlfT0ZGU0VUICAgICAgICAgICAgICAxMworI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0ZTVkFJX01BU0sgICAgICAgICAgICAgICAgKDB4MyA8PCAxMykKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUFZDUiAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDEwMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUFZWICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA4MDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9XRklNICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDA0MDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUkNFMyAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUkNFMiAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUkNFMSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwODAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUkNFMCAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwNDAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EQ1IgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EVkZFTiAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMTAKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9QVFZBSU0gICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDgKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9QVFZBSV9PRkZTRVQgICAgICAgICAgICAgIDEKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9QVFZBSV9NQVNLICAgICAgICAgICAgICAgICgweDMgPDwgMSkKKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9EUFRFTiAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEKKworI2RlZmluZSBNWENfQ0NNX1BNQ1IxX0RWR1BfT0ZGU0VUICAgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IxX0RWR1BfTUFTSyAgICAgICAgICAgICAgICAgKDB4RikKKworI2RlZmluZSBNWENfQ0NNX1BNQ1IxX1BMTFJESVMgICAgICAgICAgICAgICAgICAgICAgKDB4MSA8PCA3KQorI2RlZmluZSBNWENfQ0NNX1BNQ1IxX0VNSVJRX0VOICAgICAgICAgICAgICAgICAgICAgICgweDEgPDwgOCkKKworI2RlZmluZSBNWENfQ0NNX0RDVlJfVUxWX01BU0sgICAgICAgICAgICAgICAgICAgKDB4M0ZGIDw8IDIyKQorI2RlZmluZSBNWENfQ0NNX0RDVlJfVUxWX09GRlNFVCAgICAgICAgICAgICAgICAgMjIKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX0xMVl9NQVNLICAgICAgICAgICAgICAgICAgICgweDNGRiA8PCAxMikKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX0xMVl9PRkZTRVQgICAgICAgICAgICAgICAgIDEyCisjZGVmaW5lIE1YQ19DQ01fRENWUl9FTFZfTUFTSyAgICAgICAgICAgICAgICAgICAoMHgzRkYgPDwgMikKKyNkZWZpbmUgTVhDX0NDTV9EQ1ZSX0VMVl9PRkZTRVQgICAgICAgICAgICAgICAgIDIKKworI2RlZmluZSBNWENfQ0NNX1BEUjJfTVNUMl9QREZfTUFTSyAgICAgICAgICAgICAgKDB4M0YgPDwgNykKKyNkZWZpbmUgTVhDX0NDTV9QRFIyX01TVDJfUERGX09GRlNFVCAgICAgICAgICAgIDcKKyNkZWZpbmUgTVhDX0NDTV9QRFIyX01TVDFfUERGX01BU0sgICAgICAgICAgICAgIDB4M0YKKyNkZWZpbmUgTVhDX0NDTV9QRFIyX01TVDFfUERGX09GRlNFVCAgICAgICAgICAgIDAKKworI2RlZmluZSBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9NQVNLICAgICAgICAgICAgICAgMHgwRgorI2RlZmluZSBNWENfQ0NNX0NPU1JfQ0xLT1NFTF9PRkZTRVQgICAgICAgICAgICAgMAorI2RlZmluZSBNWENfQ0NNX0NPU1JfQ0xLT1VURElWX01BU0sgICAgICAgICAgICAgKDB4MDcgPDwgNikKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09VVERJVl9PRkZTRVQgICAgICAgICAgIDYKKyNkZWZpbmUgTVhDX0NDTV9DT1NSX0NMS09FTiAgICAgICAgICAgICAgICAgICAgICgxIDw8IDkpCisKKy8qCisgKiBQTUNSMCByZWdpc3RlciBvZmZzZXRzCisgKi8KKyNkZWZpbmUgTVhDX0NDTV9QTUNSMF9MQkZMX09GRlNFVCAgIDIwCisjZGVmaW5lIE1YQ19DQ01fUE1DUjBfREZTVVAwX09GRlNFVCAzMAorI2RlZmluZSBNWENfQ0NNX1BNQ1IwX0RGU1VQMV9PRkZTRVQgMzEKKworI2VuZGlmCQkJCS8qIF9fQVJDSF9BUk1fTUFDSF9NWDNfQ1JNX1JFR1NfSF9fICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9kZXZpY2VzLmMgYi9hcmNoL2FybS9tYWNoLW14My9kZXZpY2VzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWMwMzIwZgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL2RldmljZXMuYwpAQCAtMCwwICsxLDE4MCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA2LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IFNhc2NoYSBIYXVlciwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0MFtdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDFfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDFfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUMSwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UwID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAwLAorCS5yZXNvdXJjZSA9IHVhcnQwLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MCksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQxW10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUMl9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUMl9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQyLAorCQkuZW5kID0gTVhDX0lOVF9VQVJUMiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTEgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDEsCisJLnJlc291cmNlID0gdWFydDEsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQxKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdWFydDJbXSA9IHsKKwl7CisJCS5zdGFydCA9IFVBUlQzX0JBU0VfQUREUiwKKwkJLmVuZCA9IFVBUlQzX0JBU0VfQUREUiArIDB4MEI1LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydCA9IE1YQ19JTlRfVUFSVDMsCisJCS5lbmQgPSBNWENfSU5UX1VBUlQzLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXhjX3VhcnRfZGV2aWNlMiA9IHsKKwkubmFtZSA9ICJpbXgtdWFydCIsCisJLmlkID0gMiwKKwkucmVzb3VyY2UgPSB1YXJ0MiwKKwkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUodWFydDIpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB1YXJ0M1tdID0geworCXsKKwkJLnN0YXJ0ID0gVUFSVDRfQkFTRV9BRERSLAorCQkuZW5kID0gVUFSVDRfQkFTRV9BRERSICsgMHgwQjUsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0ID0gTVhDX0lOVF9VQVJUNCwKKwkJLmVuZCA9IE1YQ19JTlRfVUFSVDQsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBteGNfdWFydF9kZXZpY2UzID0geworCS5uYW1lID0gImlteC11YXJ0IiwKKwkuaWQgPSAzLAorCS5yZXNvdXJjZSA9IHVhcnQzLAorCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh1YXJ0MyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHVhcnQ0W10gPSB7CisJeworCQkuc3RhcnQgPSBVQVJUNV9CQVNFX0FERFIsCisJCS5lbmQgPSBVQVJUNV9CQVNFX0FERFIgKyAweDBCNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQgPSBNWENfSU5UX1VBUlQ1LAorCQkuZW5kID0gTVhDX0lOVF9VQVJUNSwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG14Y191YXJ0X2RldmljZTQgPSB7CisJLm5hbWUgPSAiaW14LXVhcnQiLAorCS5pZCA9IDQsCisJLnJlc291cmNlID0gdWFydDQsCisJLm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKHVhcnQ0KSwKK307CisKKy8qCisgKiBSZWdpc3RlciBvbmx5IHRob3NlIFVBUlRzIHRoYXQgcGh5c2ljYWxseSBleGlzdAorICovCitpbnQgX19pbml0IGlteF9pbml0X3VhcnQoaW50IHVhcnRfbm8sIHN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKnBkYXRhKQoreworCXN3aXRjaCAodWFydF9ubykgeworCWNhc2UgMDoKKwkJbXhjX3VhcnRfZGV2aWNlMC5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTApOworCQlicmVhazsKKwljYXNlIDE6CisJCW14Y191YXJ0X2RldmljZTEuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2UxKTsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQlteGNfdWFydF9kZXZpY2UyLmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7CisJCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXhjX3VhcnRfZGV2aWNlMik7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJbXhjX3VhcnRfZGV2aWNlMy5kZXYucGxhdGZvcm1fZGF0YSA9IHBkYXRhOworCQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm14Y191YXJ0X2RldmljZTMpOworCQlicmVhazsKKwljYXNlIDQ6CisJCW14Y191YXJ0X2RldmljZTQuZGV2LnBsYXRmb3JtX2RhdGEgPSBwZGF0YTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZteGNfdWFydF9kZXZpY2U0KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIEdQSU8gcG9ydCBkZXNjcmlwdGlvbiAqLworc3RhdGljIHN0cnVjdCBteGNfZ3Bpb19wb3J0IGlteF9ncGlvX3BvcnRzW10gPSB7CisJWzBdID0geworCQkuY2hpcC5sYWJlbCA9ICJncGlvLTAiLAorCQkuYmFzZSA9IElPX0FERFJFU1MoR1BJTzFfQkFTRV9BRERSKSwKKwkJLmlycSA9IE1YQ19JTlRfR1BJTzEsCisJCS52aXJ0dWFsX2lycV9zdGFydCA9IE1YQ19HUElPX0lOVF9CQVNFCisJfSwKKwlbMV0gPSB7CisJCS5jaGlwLmxhYmVsID0gImdwaW8tMSIsCisJCS5iYXNlID0gSU9fQUREUkVTUyhHUElPMl9CQVNFX0FERFIpLAorCQkuaXJxID0gTVhDX0lOVF9HUElPMiwKKwkJLnZpcnR1YWxfaXJxX3N0YXJ0ID0gTVhDX0dQSU9fSU5UX0JBU0UgKyBHUElPX05VTV9QSU4KKwl9LAorCVsyXSA9IHsKKwkJLmNoaXAubGFiZWwgPSAiZ3Bpby0yIiwKKwkJLmJhc2UgPSBJT19BRERSRVNTKEdQSU8zX0JBU0VfQUREUiksCisJCS5pcnEgPSBNWENfSU5UX0dQSU8zLAorCQkudmlydHVhbF9pcnFfc3RhcnQgPSBNWENfR1BJT19JTlRfQkFTRSArIEdQSU9fTlVNX1BJTiAqIDIKKwl9Cit9OworCitpbnQgX19pbml0IG14Y19yZWdpc3Rlcl9ncGlvcyh2b2lkKQoreworCXJldHVybiBteGNfZ3Bpb19pbml0KGlteF9ncGlvX3BvcnRzLCBBUlJBWV9TSVpFKGlteF9ncGlvX3BvcnRzKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW14My9pb211eC5jIGIvYXJjaC9hcm0vbWFjaC1teDMvaW9tdXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGM1MWZlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1teDMvaW9tdXguYwpAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDYgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBieSBTYXNjaGEgSGF1ZXIgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW9tdXgtbXgzLmg+CisKKy8qCisgKiBJT01VWCByZWdpc3RlciAoYmFzZSkgYWRkcmVzc2VzCisgKi8KKyNkZWZpbmUgSU9NVVhfQkFTRQlJT19BRERSRVNTKElPTVVYQ19CQVNFX0FERFIpCisjZGVmaW5lIElPTVVYSU5UX09CUzEJKElPTVVYX0JBU0UgKyAweDAwMCkKKyNkZWZpbmUgSU9NVVhJTlRfT0JTMgkoSU9NVVhfQkFTRSArIDB4MDA0KQorI2RlZmluZSBJT01VWEdQUgkoSU9NVVhfQkFTRSArIDB4MDA4KQorI2RlZmluZSBJT01VWFNXX01VWF9DVEwJKElPTVVYX0JBU0UgKyAweDAwQykKKyNkZWZpbmUgSU9NVVhTV19QQURfQ1RMCShJT01VWF9CQVNFICsgMHgxNTQpCisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soZ3Bpb19tdXhfbG9jayk7CisKKyNkZWZpbmUgSU9NVVhfUkVHX01BU0sgKElPTVVYX1BBRE5VTV9NQVNLICYgfjB4MykKKy8qCisgKiBzZXQgdGhlIG1vZGUgZm9yIGEgSU9NVVggcGluLgorICovCitpbnQgbXhjX2lvbXV4X21vZGUodW5zaWduZWQgaW50IHBpbl9tb2RlKQoreworCXUzMiByZWcsIGZpZWxkLCBsLCBtb2RlLCByZXQgPSAwOworCisJcmVnID0gSU9NVVhTV19NVVhfQ1RMICsgKHBpbl9tb2RlICYgSU9NVVhfUkVHX01BU0spOworCWZpZWxkID0gcGluX21vZGUgJiAweDM7CisJbW9kZSA9IChwaW5fbW9kZSAmIElPTVVYX01PREVfTUFTSykgPj4gSU9NVVhfTU9ERV9TSElGVDsKKworCXByX2RlYnVnKCIlczogcmVnIG9mZnNldCA9IDB4JXggZmllbGQgPSAlZCBtb2RlID0gMHglMDJ4XG4iLAorCQkJX19mdW5jX18sIChwaW5fbW9kZSAmIElPTVVYX1JFR19NQVNLKSwgZmllbGQsIG1vZGUpOworCisJc3Bpbl9sb2NrKCZncGlvX211eF9sb2NrKTsKKworCWwgPSBfX3Jhd19yZWFkbChyZWcpOworCWwgJj0gfigweGZmIDw8IChmaWVsZCAqIDgpKTsKKwlsIHw9IG1vZGUgPDwgKGZpZWxkICogOCk7CisJX19yYXdfd3JpdGVsKGwsIHJlZyk7CisKKwlzcGluX3VubG9jaygmZ3Bpb19tdXhfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChteGNfaW9tdXhfbW9kZSk7CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHBhZCB2YWx1ZSBmb3IgYSBJT01VWCBwaW4uCisgKi8KK3ZvaWQgbXhjX2lvbXV4X3NldF9wYWQoZW51bSBpb211eF9waW5zIHBpbiwgdTMyIGNvbmZpZykKK3sKKwl1MzIgcmVnLCBmaWVsZCwgbDsKKworCXJlZyA9IElPTVVYU1dfUEFEX0NUTCArIChwaW4gKyAyKSAvIDM7CisJZmllbGQgPSAocGluICsgMikgJSAzOworCisJcHJfZGVidWcoIiVzOiByZWcgb2Zmc2V0ID0gMHgleCBmaWVsZCA9ICVkXG4iLAorCQkJX19mdW5jX18sIChwaW4gKyAyKSAvIDMsIGZpZWxkKTsKKworCXNwaW5fbG9jaygmZ3Bpb19tdXhfbG9jayk7CisKKwlsID0gX19yYXdfcmVhZGwocmVnKTsKKwlsICY9IH4oMHgxZmYgPDwgKGZpZWxkICogOSkpOworCWwgfD0gY29uZmlnIDw8IChmaWVsZCAqIDkpOworCV9fcmF3X3dyaXRlbChsLCByZWcpOworCisJc3Bpbl91bmxvY2soJmdwaW9fbXV4X2xvY2spOworfQorRVhQT1JUX1NZTUJPTChteGNfaW9tdXhfc2V0X3BhZCk7CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMvZGlzYWJsZXMgdGhlIGdlbmVyYWwgcHVycG9zZSBmdW5jdGlvbiBmb3IgYSBwYXJ0aWN1bGFyCisgKiBzaWduYWwuCisgKi8KK3ZvaWQgbXhjX2lvbXV4X3NldF9ncHIoZW51bSBpb211eF9ncF9mdW5jIGdwLCBib29sIGVuKQoreworCXUzMiBsOworCisJc3Bpbl9sb2NrKCZncGlvX211eF9sb2NrKTsKKwlsID0gX19yYXdfcmVhZGwoSU9NVVhHUFIpOworCWlmIChlbikKKwkJbCB8PSBncDsKKwllbHNlCisJCWwgJj0gfmdwOworCisJX19yYXdfd3JpdGVsKGwsIElPTVVYR1BSKTsKKwlzcGluX3VubG9jaygmZ3Bpb19tdXhfbG9jayk7Cit9CitFWFBPUlRfU1lNQk9MKG14Y19pb211eF9zZXRfZ3ByKTsKKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWFkcy5jIGIvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWFkcy5jCmluZGV4IDdlODliZGMuLmViYTNlMGMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtbXgzL214MzFhZHMuYworKysgYi9hcmNoL2FybS9tYWNoLW14My9teDMxYWRzLmMKQEAgLTI2LDkgKzI2LDExIEBACiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgogI2luY2x1ZGUgPGFzbS9tZW1vcnkuaD4KICNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxYWRzLmg+CiAKIC8qIQogICogQGZpbGUgbXgzMWFkcy5jCkBAIC0xMjYsNiArMTI4LDE2IEBACiAJbXhjX2luaXRfZXh0dWFydCgpOwogfQogCitzdGF0aWMgdm9pZCBfX2luaXQgbXgzMWFkc190aW1lcl9pbml0KHZvaWQpCit7CisJbXhjX2Nsb2Nrc19pbml0KDI2MDAwMDAwKTsKKwlteGNfdGltZXJfaW5pdCgiaXBnX2Nsay4wIik7Cit9CisKK3N0cnVjdCBzeXNfdGltZXIgbXgzMWFkc190aW1lciA9IHsKKwkuaW5pdAk9IG14MzFhZHNfdGltZXJfaW5pdCwKK307CisKIC8qCiAgKiBUaGUgZm9sbG93aW5nIHVzZXMgc3RhbmRhcmQga2VybmVsIG1hY3JvcyBkZWZpbmVkIGluIGFyY2guaCBpbiBvcmRlciB0bwogICogaW5pdGlhbGl6ZSBfX21hY2hfZGVzY19NWDMxQURTIGRhdGEgc3RydWN0dXJlLgpAQCAtMTM4LDUgKzE1MCw1IEBACiAJLm1hcF9pbyAgICAgICAgID0gbXgzMWFkc19tYXBfaW8sCiAJLmluaXRfaXJxICAgICAgID0gbXhjX2luaXRfaXJxLAogCS5pbml0X21hY2hpbmUgICA9IG14Y19ib2FyZF9pbml0LAotCS50aW1lciAgICAgICAgICA9ICZteGNfdGltZXIsCisJLnRpbWVyICAgICAgICAgID0gJm14MzFhZHNfdGltZXIsCiBNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1teDMvbXgzMWxpdGUuYyBiL2FyY2gvYXJtL21hY2gtbXgzL214MzFsaXRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM3MmMxYQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL214MzFsaXRlLmMKQEAgLTAsMCArMSwxMDcgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDAwIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkCisgKiAgQ29weXJpZ2h0IChDKSAyMDAyIFNoYW5lIE5heSAoc2hhbmVAbWluaXJsLmNvbSkKKyAqICBDb3B5cmlnaHQgMjAwNS0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tZW1vcnkuaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jb21tb24uaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MzFsaXRlLmg+CisKKy8qCisgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGJvYXJkLXNwZWNpZmljIGluaXRpYWxpemF0aW9uIHJvdXRpbmVzLgorICovCisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSBkZWZpbmVzIHRoZSBNWDMxIG1lbW9yeSBtYXAuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgbXgzMWxpdGVfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJeworCQkudmlydHVhbCA9IEFJUFMxX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihBSVBTMV9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gQUlQUzFfU0laRSwKKwkJLnR5cGUgPSBNVF9OT05TSEFSRURfREVWSUNFCisJfSwgeworCQkudmlydHVhbCA9IFNQQkEwX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihTUEJBMF9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gU1BCQTBfU0laRSwKKwkJLnR5cGUgPSBNVF9OT05TSEFSRURfREVWSUNFCisJfSwgeworCQkudmlydHVhbCA9IEFJUFMyX0JBU0VfQUREUl9WSVJULAorCQkucGZuID0gX19waHlzX3RvX3BmbihBSVBTMl9CQVNFX0FERFIpLAorCQkubGVuZ3RoID0gQUlQUzJfU0laRSwKKwkJLnR5cGUgPSBNVF9OT05TSEFSRURfREVWSUNFCisJfSwgeworCQkudmlydHVhbCA9IENTNF9CQVNFX0FERFJfVklSVCwKKwkJLnBmbiA9IF9fcGh5c190b19wZm4oQ1M0X0JBU0VfQUREUiksCisJCS5sZW5ndGggPSBDUzRfU0laRSwKKwkJLnR5cGUgPSBNVF9ERVZJQ0UKKwl9Cit9OworCisvKgorICogU2V0IHVwIHN0YXRpYyB2aXJ0dWFsIG1hcHBpbmdzLgorICovCit2b2lkIF9faW5pdCBteDMxbGl0ZV9tYXBfaW8odm9pZCkKK3sKKwlteGNfbWFwX2lvKCk7CisJaW90YWJsZV9pbml0KG14MzFsaXRlX2lvX2Rlc2MsIEFSUkFZX1NJWkUobXgzMWxpdGVfaW9fZGVzYykpOworfQorCisvKgorICogQm9hcmQgc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24uCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBteGNfYm9hcmRfaW5pdCh2b2lkKQoreworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXgzMWxpdGVfdGltZXJfaW5pdCh2b2lkKQoreworCW14Y19jbG9ja3NfaW5pdCgyNjAwMDAwMCk7CisJbXhjX3RpbWVyX2luaXQoImlwZ19jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIG14MzFsaXRlX3RpbWVyID0geworCS5pbml0CT0gbXgzMWxpdGVfdGltZXJfaW5pdCwKK307CisKKy8qCisgKiBUaGUgZm9sbG93aW5nIHVzZXMgc3RhbmRhcmQga2VybmVsIG1hY3JvcyBkZWZpbmVkIGluIGFyY2guaCBpbiBvcmRlciB0bworICogaW5pdGlhbGl6ZSBfX21hY2hfZGVzY19NWDMxTElURSBkYXRhIHN0cnVjdHVyZS4KKyAqLworCitNQUNISU5FX1NUQVJUKE1YMzFMSVRFLCAiTG9naWNQRCBNWDMxIExJVEVLSVQiKQorCS8qIE1haW50YWluZXI6IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuICovCisJLnBoeXNfaW8gICAgICAgID0gQUlQUzFfQkFTRV9BRERSLAorCS5pb19wZ19vZmZzdCAgICA9ICgoQUlQUzFfQkFTRV9BRERSX1ZJUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMgICAgPSBQSFlTX09GRlNFVCArIDB4MTAwLAorCS5tYXBfaW8gICAgICAgICA9IG14MzFsaXRlX21hcF9pbywKKwkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZSAgID0gbXhjX2JvYXJkX2luaXQsCisJLnRpbWVyICAgICAgICAgID0gJm14MzFsaXRlX3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL3BjbTAzNy5jIGIvYXJjaC9hcm0vbWFjaC1teDMvcGNtMDM3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM0YWU2ZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtbXgzL3BjbTAzNy5jCkBAIC0wLDAgKzEsMTMwIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbWVtb3J5Lmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvaW14LXVhcnQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pb211eC1teDMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1wY20wMzcuaD4KKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcGNtMDM3X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoICA9IDIsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHBjbTAzN19mbGFzaF9yZXNvdXJjZSA9IHsKKwkuc3RhcnQJPSAweGEwMDAwMDAwLAorCS5lbmQJPSAweGExZmZmZmZmLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcGNtMDM3X2ZsYXNoID0geworCS5uYW1lCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAk9IDAsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgID0gJnBjbTAzN19mbGFzaF9kYXRhLAorCX0sCisJLnJlc291cmNlID0gJnBjbTAzN19mbGFzaF9yZXNvdXJjZSwKKwkubnVtX3Jlc291cmNlcyA9IDEsCit9OworCitzdGF0aWMgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB1YXJ0X3BkYXRhID0geworCS5mbGFncyA9IDAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJnBjbTAzN19mbGFzaCwKK307CisKKy8qCisgKiBCb2FyZCBzcGVjaWZpYyBpbml0aWFsaXphdGlvbi4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IG14Y19ib2FyZF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fYWRkX2RldmljZXMoZGV2aWNlcywgQVJSQVlfU0laRShkZXZpY2VzKSk7CisKKwlteGNfaW9tdXhfbW9kZShNWDMxX1BJTl9DVFMxX19DVFMxKTsKKwlteGNfaW9tdXhfbW9kZShNWDMxX1BJTl9SVFMxX19SVFMxKTsKKwlteGNfaW9tdXhfbW9kZShNWDMxX1BJTl9UWEQxX19UWEQxKTsKKwlteGNfaW9tdXhfbW9kZShNWDMxX1BJTl9SWEQxX19SWEQxKTsKKworCWlteF9pbml0X3VhcnQoMCwgJnVhcnRfcGRhdGEpOworCisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fQ1NQSTNfTU9TSV9fUlhEMyk7CisJbXhjX2lvbXV4X21vZGUoTVgzMV9QSU5fQ1NQSTNfTUlTT19fVFhEMyk7CisKKwlpbXhfaW5pdF91YXJ0KDIsICZ1YXJ0X3BkYXRhKTsKK30KKworLyoKKyAqIFRoaXMgc3RydWN0dXJlIGRlZmluZXMgc3RhdGljIG1hcHBpbmdzIGZvciB0aGUgcGNtMDM3IGJvYXJkLgorICovCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIHBjbTAzN19pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCS52aXJ0dWFsCT0gQUlQUzFfQkFTRV9BRERSX1ZJUlQsCisJCS5wZm4JCT0gX19waHlzX3RvX3BmbihBSVBTMV9CQVNFX0FERFIpLAorCQkubGVuZ3RoCQk9IEFJUFMxX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRQorCX0sIHsKKwkJLnZpcnR1YWwJPSBBSVBTMl9CQVNFX0FERFJfVklSVCwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKEFJUFMyX0JBU0VfQUREUiksCisJCS5sZW5ndGgJCT0gQUlQUzJfU0laRSwKKwkJLnR5cGUJCT0gTVRfREVWSUNFCisJfSwKK307CisKKy8qCisgKiBTZXQgdXAgc3RhdGljIHZpcnR1YWwgbWFwcGluZ3MuCisgKi8KK3ZvaWQgX19pbml0IHBjbTAzN19tYXBfaW8odm9pZCkKK3sKKwlteGNfbWFwX2lvKCk7CisJaW90YWJsZV9pbml0KHBjbTAzN19pb19kZXNjLCBBUlJBWV9TSVpFKHBjbTAzN19pb19kZXNjKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBwY20wMzdfdGltZXJfaW5pdCh2b2lkKQoreworCW14Y19jbG9ja3NfaW5pdCgyNjAwMDAwMCk7CisJbXhjX3RpbWVyX2luaXQoImlwZ19jbGsuMCIpOworfQorCitzdHJ1Y3Qgc3lzX3RpbWVyIHBjbTAzN190aW1lciA9IHsKKwkuaW5pdAk9IHBjbTAzN190aW1lcl9pbml0LAorfTsKKworTUFDSElORV9TVEFSVChQQ00wMzcsICJQaHl0ZWMgUGh5Y29yZSBwY20wMzciKQorCS8qIE1haW50YWluZXI6IFBlbmd1dHJvbml4ICovCisJLnBoeXNfaW8JPSBBSVBTMV9CQVNFX0FERFIsCisJLmlvX3BnX29mZnN0CT0gKChBSVBTMV9CQVNFX0FERFJfVklSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcyAgICA9IFBIWVNfT0ZGU0VUICsgMHgxMDAsCisJLm1hcF9pbyAgICAgICAgID0gcGNtMDM3X21hcF9pbywKKwkuaW5pdF9pcnEgICAgICAgPSBteGNfaW5pdF9pcnEsCisJLmluaXRfbWFjaGluZSAgID0gbXhjX2JvYXJkX2luaXQsCisJLnRpbWVyICAgICAgICAgID0gJnBjbTAzN190aW1lciwKK01BQ0hJTkVfRU5ECisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtbXgzL3RpbWUuYyBiL2FyY2gvYXJtL21hY2gtbXgzL3RpbWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI1NjVjOS4uMDAwMDAwMAotLS0gYS9hcmNoL2FybS9tYWNoLW14My90aW1lLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDggKzAsMCBAQAotLyoKLSAqIFN5c3RlbSBUaW1lciBJbnRlcnJ1cHQgcmVjb25maWd1cmVkIHRvIHJ1biBpbiBmcmVlLXJ1biBtb2RlLgotICogQXV0aG9yOiBWaXRhbHkgV29vbAotICogQ29weXJpZ2h0IDIwMDQgTW9udGFWaXN0YSBTb2Z0d2FyZSBJbmMuCi0gKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKi8KLQotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLQotLyohCi0gKiBAZmlsZSB0aW1lLmMKLSAqIEBicmllZiBUaGlzIGZpbGUgY29udGFpbnMgT1MgdGljayBhbmQgd2RvZyB0aW1lciBpbXBsZW1lbnRhdGlvbnMuCi0gKgotICogVGhpcyBmaWxlIGNvbnRhaW5zIE9TIHRpY2sgYW5kIHdkb2cgdGltZXIgaW1wbGVtZW50YXRpb25zLgotICoKLSAqIEBpbmdyb3VwIFRpbWVycwotICovCi0KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgotCi0vKiEKLSAqIFRoaXMgaXMgdGhlIHRpbWVyIGludGVycnVwdCBzZXJ2aWNlIHJvdXRpbmUgdG8gZG8gcmVxdWlyZWQgdGFza3MuCi0gKiBJdCBhbHNvIHNlcnZpY2VzIHRoZSBXRE9HIHRpbWVyIGF0IHRoZSBmcmVxdWVuY3kgb2YgdHdpY2UgcGVyIFdET0cKLSAqIHRpbWVvdXQgdmFsdWUuIEZvciBleGFtcGxlLCBpZiB0aGUgV0RPRydzIHRpbWVvdXQgdmFsdWUgaXMgNCAoMgotICogc2Vjb25kcyBzaW5jZSB0aGUgV0RPRyBydW5zIGF0IDAuNUh6KSwgaXQgd2lsbCBiZSBzZXJ2aWNlZCBvbmNlCi0gKiBldmVyeSAyLzI9MSBzZWNvbmQuCi0gKgotICogQHBhcmFtICBpcnEgICAgICAgICAgR1BUIGludGVycnVwdCBzb3VyY2UgbnVtYmVyIChub3QgdXNlZCkKLSAqIEBwYXJhbSAgZGV2X2lkICAgICAgIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCB1c2VkCi0gKiBAcmV0dXJuIGFsd2F5cyByZXR1cm5zIFxiIElSUV9IQU5ETEVEIGFzIGRlZmluZWQgaW4KLSAqICAgICAgICAgaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaC4KLSAqLwotc3RhdGljIGlycXJldHVybl90IG14Y190aW1lcl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQotewotCXVuc2lnbmVkIGludCBuZXh0X21hdGNoOwotCi0JaWYgKF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUU1IpICYgR1BUU1JfT0YxKSB7Ci0JCWRvIHsKLQkJCXRpbWVyX3RpY2soKTsKLQkJCW5leHRfbWF0Y2ggPSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVE9DUjEpICsgTEFUQ0g7Ci0JCQlfX3Jhd193cml0ZWwoR1BUU1JfT0YxLCBNWENfR1BUX0dQVFNSKTsKLQkJCV9fcmF3X3dyaXRlbChuZXh0X21hdGNoLCBNWENfR1BUX0dQVE9DUjEpOwotCQl9IHdoaWxlICgoc2lnbmVkIGxvbmcpKG5leHRfbWF0Y2ggLQotCQkJCSAgICAgICBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENOVCkpIDw9IDApOwotCX0KLQotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotLyohCi0gKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gb2J0YWluIHRoZSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHNpbmNlIHRoZSBsYXN0Ci0gKiB0aW1lciBpbnRlcnJ1cHQuIE5vdGUgdGhhdCBpbnRlcnJ1cHRzIGlzIGRpc2FibGVkIGJ5IGRvX2dldHRpbWVvZmRheSgpLgotICoKLSAqIEByZXR1cm4gdGhlIG51bWJlciBvZiBtaWNyb3NlY29uZHMgc2luY2UgdGhlIGxhc3QgdGltZXIgaW50ZXJydXB0LgotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBteGNfZ2V0dGltZW9mZnNldCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgdGlja3NfdG9fbWF0Y2gsIGVsYXBzZWQsIHVzZWMsIHRpY2tfdXNlYywgaTsKLQotCS8qIEdldCB0aWNrcyBiZWZvcmUgbmV4dCB0aW1lciBtYXRjaCAqLwotCXRpY2tzX3RvX21hdGNoID0KLQkgICAgX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRPQ1IxKSAtIF9fcmF3X3JlYWRsKE1YQ19HUFRfR1BUQ05UKTsKLQotCS8qIFdlIG5lZWQgZWxhcHNlZCB0aWNrcyBzaW5jZSBsYXN0IG1hdGNoICovCi0JZWxhcHNlZCA9IExBVENIIC0gdGlja3NfdG9fbWF0Y2g7Ci0KLQkvKiBOb3cgY29udmVydCB0aGVtIHRvIHVzZWMgKi8KLQkvKiBJbnN1cmUgbm8gb3ZlcmZsb3cgd2hlbiBjYWxjdWxhdGluZyB0aGUgdXNlYyBiZWxvdyAqLwotCWZvciAoaSA9IDEsIHRpY2tfdXNlYyA9IHRpY2tfbnNlYyAvIDEwMDA7OyBpICo9IDIpIHsKLQkJdGlja191c2VjIC89IGk7Ci0JCWlmICgoMHhGRkZGRkZGRiAvIHRpY2tfdXNlYykgPiBlbGFwc2VkKQotCQkJYnJlYWs7Ci0JfQotCXVzZWMgPSAodW5zaWduZWQgbG9uZykoZWxhcHNlZCAqIHRpY2tfdXNlYykgLyAoTEFUQ0ggLyBpKTsKLQotCXJldHVybiB1c2VjOwotfQotCi0vKiEKLSAqIFRoZSBPUyB0aWNrIHRpbWVyIGludGVycnVwdCBzdHJ1Y3R1cmUuCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIHRpbWVyX2lycSA9IHsKLQkubmFtZSA9ICJNWEMgVGltZXIgVGljayIsCi0JLmZsYWdzID0gSVJRRl9ESVNBQkxFRCB8IElSUUZfVElNRVIsCi0JLmhhbmRsZXIgPSBteGNfdGltZXJfaW50ZXJydXB0Ci19OwotCi0vKiEKLSAqIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBpbml0aWFsaXplIHRoZSBHUFQgdG8gcHJvZHVjZSBhbiBpbnRlcnJ1cHQKLSAqIGJhc2VkIG9uIEhaLiAgSXQgaXMgY2FsbGVkIGJ5IHN0YXJ0X2tlcm5lbCgpIGR1cmluZyBzeXN0ZW0gc3RhcnR1cC4KLSAqLwotdm9pZCBfX2luaXQgbXhjX2luaXRfdGltZSh2b2lkKQotewotCXUzMiByZWcsIHY7Ci0JcmVnID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDUik7Ci0JcmVnICY9IH5HUFRDUl9FTkFCTEU7Ci0JX19yYXdfd3JpdGVsKHJlZywgTVhDX0dQVF9HUFRDUik7Ci0JcmVnIHw9IEdQVENSX1NXUjsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVENSKTsKLQotCXdoaWxlICgoX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDUikgJiBHUFRDUl9TV1IpICE9IDApCi0JCWNwdV9yZWxheCgpOwotCi0JcmVnID0gR1BUQ1JfRlJSIHwgR1BUQ1JfQ0xLU1JDX0hJR0hGUkVROwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUQ1IpOwotCi0JLyogVE9ETzogZ2V0IHRpbWVyIHJhdGUgZnJvbSBjbGsgZHJpdmVyICovCi0JdiA9IDY2NTAwMDAwOwotCi0JX19yYXdfd3JpdGVsKCh2IC8gQ0xPQ0tfVElDS19SQVRFKSAtIDEsIE1YQ19HUFRfR1BUUFIpOwotCi0JaWYgKCh2ICUgQ0xPQ0tfVElDS19SQVRFKSAhPSAwKSB7Ci0JCXByX2luZm8oIlxuV0FSTklORzogQ2FuJ3QgZ2VuZXJhdGUgQ0xPQ0tfVElDS19SQVRFIGF0ICVkIEh6XG4iLAotCQkJQ0xPQ0tfVElDS19SQVRFKTsKLQl9Ci0JcHJfaW5mbygiQWN0dWFsIENMT0NLX1RJQ0tfUkFURSBpcyAlZCBIelxuIiwKLQkJdiAvICgoX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRQUikgJiAweEZGRikgKyAxKSk7Ci0KLQlyZWcgPSBfX3Jhd19yZWFkbChNWENfR1BUX0dQVENOVCk7Ci0JcmVnICs9IExBVENIOwotCV9fcmF3X3dyaXRlbChyZWcsIE1YQ19HUFRfR1BUT0NSMSk7Ci0KLQlzZXR1cF9pcnEoTVhDX0lOVF9HUFQsICZ0aW1lcl9pcnEpOwotCi0JcmVnID0gX19yYXdfcmVhZGwoTVhDX0dQVF9HUFRDUik7Ci0JcmVnID0KLQkgICAgR1BUQ1JfRlJSIHwgR1BUQ1JfQ0xLU1JDX0hJR0hGUkVRIHwgR1BUQ1JfU1RPUEVOIHwgR1BUQ1JfRE9aRU4gfAotCSAgICBHUFRDUl9XQUlURU4gfCBHUFRDUl9FTk1PRCB8IEdQVENSX0VOQUJMRTsKLQlfX3Jhd193cml0ZWwocmVnLCBNWENfR1BUX0dQVENSKTsKLQotCV9fcmF3X3dyaXRlbChHUFRJUl9PRjFJRSwgTVhDX0dQVF9HUFRJUik7Ci19Ci0KLXN0cnVjdCBzeXNfdGltZXIgbXhjX3RpbWVyID0gewotCS5pbml0ID0gbXhjX2luaXRfdGltZSwKLQkub2Zmc2V0ID0gbXhjX2dldHRpbWVvZmZzZXQsCi19OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtb21hcDEvTWFrZWZpbGUKaW5kZXggYzA2ZjUyNS4uMWJkYThmNSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL01ha2VmaWxlCkBAIC0zLDcgKzMsOSBAQAogIwogCiAjIENvbW1vbiBzdXBwb3J0Ci1vYmoteSA6PSBpby5vIGlkLm8gY2xvY2subyBpcnEubyBtdXgubyBzZXJpYWwubyBkZXZpY2VzLm8KK29iai15IDo9IGlvLm8gaWQubyBzcmFtLm8gY2xvY2subyBpcnEubyBtdXgubyBzZXJpYWwubyBkZXZpY2VzLm8KKworb2JqLSQoQ09ORklHX09NQVBfTUNCU1ApICs9IG1jYnNwLm8KIAogb2JqLSQoQ09ORklHX09NQVBfTVBVX1RJTUVSKQkrPSB0aW1lLm8KIG9iai0kKENPTkZJR19PTUFQXzMyS19USU1FUikJKz0gdGltZXIzMmsubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1ub2tpYTc3MC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1ub2tpYTc3MC5jCmluZGV4IGJjYjk4NGYuLjNmMzllMGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtbm9raWE3NzAuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW5va2lhNzcwLmMKQEAgLTEwLDYgKzEwLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CkBAIC0yMDIsNyArMjAzLDcgQEAKICNkZWZpbmUJQU1QTElGSUVSX0NUUkxfR1BJTwk1OAogCiBzdGF0aWMgc3RydWN0IGNsayAqZHNweG9yX2NrOwotc3RhdGljIERFQ0xBUkVfTVVURVgoYXVkaW9fcHdyX3NlbSk7CitzdGF0aWMgREVGSU5FX01VVEVYKGF1ZGlvX3B3cl9sb2NrKTsKIC8qCiAgKiBhdWRpb19wd3Jfc3RhdGUKICAqICstLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKQEAgLTIxOCw3ICsyMTksNyBAQAogc3RhdGljIGludCBhdWRpb19wd3Jfc3RhdGUgPSAtMTsKIAogLyoKLSAqIGF1ZGlvX3B3cl91cCAvIGRvd24gc2hvdWxkIGJlIGNhbGxlZCB1bmRlciBhdWRpb19wd3Jfc2VtCisgKiBhdWRpb19wd3JfdXAgLyBkb3duIHNob3VsZCBiZSBjYWxsZWQgdW5kZXIgYXVkaW9fcHdyX2xvY2sKICAqLwogc3RhdGljIHZvaWQgbm9raWE3NzBfYXVkaW9fcHdyX3VwKHZvaWQpCiB7CkBAIC0yMzcsMTEgKzIzOCwxMSBAQAogCiBzdGF0aWMgdm9pZCBjb2RlY19kZWxheWVkX3Bvd2VyX2Rvd24oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewotCWRvd24oJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X2xvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlpZiAoYXVkaW9fcHdyX3N0YXRlID09IC0xKQogCQlhaWMyM19wb3dlcl9kb3duKCk7CiAJY2xrX2Rpc2FibGUoZHNweG9yX2NrKTsKLQl1cCgmYXVkaW9fcHdyX3NlbSk7CisJbXV0ZXhfdW5sb2NrKCZhdWRpb19wd3JfbG9jayk7CiB9CiAKIHN0YXRpYyBERUNMQVJFX0RFTEFZRURfV09SSyhjb2RlY19wb3dlcl9kb3duX3dvcmssIGNvZGVjX2RlbGF5ZWRfcG93ZXJfZG93bik7CkBAIC0yNTgsMTkgKzI1OSwxOSBAQAogc3RhdGljIGludAogbm9raWE3NzBfYXVkaW9fcHdyX3VwX3JlcXVlc3Qoc3RydWN0IGRzcF9rZnVuY19kZXZpY2UgKmtkZXYsIGludCBzdGFnZSkKIHsKLQlkb3duKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF9sb2NrKCZhdWRpb19wd3JfbG9jayk7CiAJaWYgKGF1ZGlvX3B3cl9zdGF0ZSA9PSAtMSkKIAkJbm9raWE3NzBfYXVkaW9fcHdyX3VwKCk7CiAJLyogZm9yY2UgYXVkaW9fcHdyX3N0YXRlID0gMCwgZXZlbiBpZiBpdCB3YXMgMS4gKi8KIAlhdWRpb19wd3Jfc3RhdGUgPSAwOwotCXVwKCZhdWRpb19wd3Jfc2VtKTsKKwltdXRleF91bmxvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludAogbm9raWE3NzBfYXVkaW9fcHdyX2Rvd25fcmVxdWVzdChzdHJ1Y3QgZHNwX2tmdW5jX2RldmljZSAqa2RldiwgaW50IHN0YWdlKQogewotCWRvd24oJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X2xvY2soJmF1ZGlvX3B3cl9sb2NrKTsKIAlzd2l0Y2ggKHN0YWdlKSB7CiAJY2FzZSAxOgogCQlpZiAoYXVkaW9fcHdyX3N0YXRlID09IDApCkBAIC0yODMsNyArMjg0LDcgQEAKIAkJfQogCQlicmVhazsKIAl9Ci0JdXAoJmF1ZGlvX3B3cl9zZW0pOworCW11dGV4X3VubG9jaygmYXVkaW9fcHdyX2xvY2spOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW9zay5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9ib2FyZC1vc2suYwppbmRleCBhNjY1MDVmLi44NDVjNjYzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL2JvYXJkLW9zay5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvYm9hcmQtb3NrLmMKQEAgLTI2NywxMyArMjY3LDE3IEBACiAKIHN0YXRpYyB2b2lkIF9faW5pdCBvc2tfaW5pdF9zbWM5MXgodm9pZCkKIHsKKwl1MzIgbDsKKwogCWlmICgoZ3Bpb19yZXF1ZXN0KDAsICJzbWNfaXJxIikpIDwgMCkgewogCQlwcmludGsoIkVycm9yIHJlcXVlc3RpbmcgZ3BpbyAwIGZvciBzbWM5MXggaXJxXG4iKTsKIAkJcmV0dXJuOwogCX0KIAogCS8qIENoZWNrIEVNSUZTIHdhaXQgc3RhdGVzIHRvIGZpeCBlcnJvcnMgd2l0aCBTTUNfR0VUX1BLVF9IRFIgKi8KLQlFTUlGU19DQ1MoMSkgfD0gMHgzOworCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NDUygxKSk7CisJbCB8PSAweDM7CisJb21hcF93cml0ZWwobCwgRU1JRlNfQ0NTKDEpKTsKIH0KIAogc3RhdGljIHZvaWQgX19pbml0IG9za19pbml0X2NmKHZvaWQpCkBAIC01MjYsMjAgKzUzMCwyNiBAQAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb3NrX2luaXQodm9pZCkKIHsKKwl1MzIgbDsKKwogCS8qIFdvcmthcm91bmQgZm9yIHdyb25nIENTMyAoTk9SIGZsYXNoKSB0aW1pbmcKIAkgKiBUaGVyZSBhcmUgc29tZSBVLUJvb3QgdmVyc2lvbnMgb3V0IHRoZXJlIHdoaWNoIGNvbmZpZ3VyZQogCSAqIHdyb25nIENTMyBtZW1vcnkgdGltaW5ncy4gVGhpcyBtYWlubHkgbGVhZHMgdG8gQ1JDCiAJICogb3Igc2ltaWxhciBlcnJvcnMgaWYgeW91IHVzZSBOT1IgZmxhc2ggKGUuZy4gd2l0aCBKRkZTMikKIAkgKi8KLQlpZiAoRU1JRlNfQ0NTKDMpICE9IEVNSUZTX0NTM19WQUwpCi0JCUVNSUZTX0NDUygzKSA9IEVNSUZTX0NTM19WQUw7CisJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ0NTKDMpKTsKKwlpZiAobCAhPSBFTUlGU19DUzNfVkFMKQorCQlvbWFwX3dyaXRlbChFTUlGU19DUzNfVkFMLCBFTUlGU19DQ1MoMykpOwogCiAJb3NrX2ZsYXNoX3Jlc291cmNlLmVuZCA9IG9za19mbGFzaF9yZXNvdXJjZS5zdGFydCA9IG9tYXBfY3MzX3BoeXMoKTsKIAlvc2tfZmxhc2hfcmVzb3VyY2UuZW5kICs9IFNaXzMyTSAtIDE7CiAJcGxhdGZvcm1fYWRkX2RldmljZXMob3NrNTkxMl9kZXZpY2VzLCBBUlJBWV9TSVpFKG9zazU5MTJfZGV2aWNlcykpOwogCW9tYXBfYm9hcmRfY29uZmlnID0gb3NrX2NvbmZpZzsKIAlvbWFwX2JvYXJkX2NvbmZpZ19zaXplID0gQVJSQVlfU0laRShvc2tfY29uZmlnKTsKLQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gKDMgPDwgMSk7CisKKwlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJbCB8PSAoMyA8PCAxKTsKKwlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAKIAkvKiBpcnEgZm9yIHRwczY1MDEwIGNoaXAgKi8KIAkvKiBib290bG9hZGVyIGVmZmVjdGl2ZWx5IGRvZXM6ICBvbWFwX2NmZ19yZWcoVTE5XzE2MTBfTVBVSU8xKTsgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvZnBnYS5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9mcGdhLmMKaW5kZXggMzBlMTg4MS4uMGNmNjJlZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMS9mcGdhLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9mcGdhLmMKQEAgLTMyLDcgKzMyLDcgQEAKIAogc3RhdGljIHZvaWQgZnBnYV9tYXNrX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCWlycSAtPSBPTUFQMTUxMF9JSF9GUEdBX0JBU0U7CisJaXJxIC09IE9NQVBfRlBHQV9JUlFfQkFTRTsKIAogCWlmIChpcnEgPCA4KQogCQlfX3Jhd193cml0ZWIoKF9fcmF3X3JlYWRiKE9NQVAxNTEwX0ZQR0FfSU1SX0xPKQpAQCAtNjUsNyArNjUsNyBAQAogCiBzdGF0aWMgdm9pZCBmcGdhX3VubWFza19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlpcnEgLT0gT01BUDE1MTBfSUhfRlBHQV9CQVNFOworCWlycSAtPSBPTUFQX0ZQR0FfSVJRX0JBU0U7CiAKIAlpZiAoaXJxIDwgOCkKIAkJX19yYXdfd3JpdGViKChfX3Jhd19yZWFkYihPTUFQMTUxMF9GUEdBX0lNUl9MTykgfCAoMSA8PCBpcnEpKSwKQEAgLTk1LDggKzk1LDggQEAKIAlpZiAoIXN0YXQpCiAJCXJldHVybjsKIAotCWZvciAoZnBnYV9pcnEgPSBPTUFQMTUxMF9JSF9GUEdBX0JBU0U7Ci0JICAgICAoZnBnYV9pcnEgPCAoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgTlJfRlBHQV9JUlFTKSkgJiYgc3RhdDsKKwlmb3IgKGZwZ2FfaXJxID0gT01BUF9GUEdBX0lSUV9CQVNFOworCSAgICAgKGZwZ2FfaXJxIDwgT01BUF9GUEdBX0lSUV9FTkQpICYmIHN0YXQ7CiAJICAgICBmcGdhX2lycSsrLCBzdGF0ID4+PSAxKSB7CiAJCWlmIChzdGF0ICYgMSkgewogCQkJZCA9IGlycV9kZXNjICsgZnBnYV9pcnE7CkBAIC0xNTEsNyArMTUxLDcgQEAKIAlfX3Jhd193cml0ZWIoMCwgT01BUDE1MTBfRlBHQV9JTVJfSEkpOwogCV9fcmF3X3dyaXRlYigwLCBJTk5PVkFUT1JfRlBHQV9JTVIyKTsKIAotCWZvciAoaSA9IE9NQVAxNTEwX0lIX0ZQR0FfQkFTRTsgaSA8IChPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyBOUl9GUEdBX0lSUVMpOyBpKyspIHsKKwlmb3IgKGkgPSBPTUFQX0ZQR0FfSVJRX0JBU0U7IGkgPCBPTUFQX0ZQR0FfSVJRX0VORDsgaSsrKSB7CiAKIAkJaWYgKGkgPT0gT01BUDE1MTBfSU5UX0ZQR0FfVFMpIHsKIAkJCS8qCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAxL21jYnNwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyYzI1MgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDEvbWNic3AuYwpAQCAtMCwwICsxLDI4MCBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDEvbWNic3AuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbnN0aXR1dG8gTm9raWEgZGUgVGVjbm9sb2dpYQorICogQ29udGFjdDogRWR1YXJkbyBWYWxlbnRpbiA8ZWR1YXJkby52YWxlbnRpbkBpbmR0Lm9yZy5icj4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE11bHRpY2hhbm5lbCBtb2RlIG5vdCBzdXBwb3J0ZWQuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2RtYS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NwdS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21jYnNwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvZHNwX2NvbW1vbi5oPgorCisjZGVmaW5lIERQU19SU1RDVDJfUEVSX0VOCSgxIDw8IDApCisjZGVmaW5lIERTUF9SU1RDVDJfV0RfUEVSX0VOCSgxIDw8IDEpCisKK3N0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgeworCXN0cnVjdCBjbGsgY2xrOworCXN0cnVjdCBjbGsgKipjaGlsZHM7CisJaW50IG5fY2hpbGRzOworfTsKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE1WFgpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE2WFgpCitzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2Nsa19pbml0KHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGspCit7CisJY29uc3QgY2hhciAqY2xrX25hbWVzW10gPSB7ICJkc3BfY2siLCAiYXBpX2NrIiwgImRzcHhvcl9jayIgfTsKKwlpbnQgaTsKKworCW1jbGstPm5fY2hpbGRzID0gQVJSQVlfU0laRShjbGtfbmFtZXMpOworCW1jbGstPmNoaWxkcyA9IGt6YWxsb2MobWNsay0+bl9jaGlsZHMgKiBzaXplb2Yoc3RydWN0IGNsayAqKSwKKwkJCQlHRlBfS0VSTkVMKTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKSB7CisJCS8qIFdlIGZha2UgYSBwbGF0Zm9ybSBkZXZpY2UgdG8gZ2V0IGNvcnJlY3QgZGV2aWNlIGlkICovCisJCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcGRldjsKKworCQlwZGV2LmRldi5idXMgPSAmcGxhdGZvcm1fYnVzX3R5cGU7CisJCXBkZXYuaWQgPSBtY2xrLT5jbGsuaWQ7CisJCW1jbGstPmNoaWxkc1tpXSA9IGNsa19nZXQoJnBkZXYuZGV2LCBjbGtfbmFtZXNbaV0pOworCQlpZiAoSVNfRVJSKG1jbGstPmNoaWxkc1tpXSkpCisJCQlwcmludGsoS0VSTl9FUlIgIkNvdWxkIG5vdCBnZXQgY2xvY2sgJXMgKCVkKS5cbiIsCisJCQkJY2xrX25hbWVzW2ldLCBtY2xrLT5jbGsuaWQpOworCX0KK30KKworc3RhdGljIGludCBvbWFwX21jYnNwX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKQoreworCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGsgPSBjb250YWluZXJfb2YoY2xrLAorCQkJCQlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrLCBjbGspOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspCisJCWNsa19lbmFibGUobWNsay0+Y2hpbGRzW2ldKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgb21hcF9tY2JzcF9jbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsayA9IGNvbnRhaW5lcl9vZihjbGssCisJCQkJCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGssIGNsayk7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykKKwkJY2xrX2Rpc2FibGUobWNsay0+Y2hpbGRzW2ldKTsKK30KKworc3RhdGljIHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgb21hcF9tY2JzcF9jbGtzW10gPSB7CisJeworCQkuY2xrID0geworCQkJLm5hbWUgCQk9ICJtY2JzcF9jbGsiLAorCQkJLmlkCQk9IDEsCisJCQkuZW5hYmxlCQk9IG9tYXBfbWNic3BfY2xrX2VuYWJsZSwKKwkJCS5kaXNhYmxlCT0gb21hcF9tY2JzcF9jbGtfZGlzYWJsZSwKKwkJfSwKKwl9LAorCXsKKwkJLmNsayA9IHsKKwkJCS5uYW1lIAkJPSAibWNic3BfY2xrIiwKKwkJCS5pZAkJPSAzLAorCQkJLmVuYWJsZQkJPSBvbWFwX21jYnNwX2Nsa19lbmFibGUsCisJCQkuZGlzYWJsZQk9IG9tYXBfbWNic3BfY2xrX2Rpc2FibGUsCisJCX0sCisJfSwKK307CisKKyNkZWZpbmUgb21hcF9tY2JzcF9jbGtzX3NpemUJQVJSQVlfU0laRShvbWFwX21jYnNwX2Nsa3MpCisjZWxzZQorI2RlZmluZSBvbWFwX21jYnNwX2Nsa3Nfc2l6ZQkwCitzdGF0aWMgc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayBfX2luaXRkYXRhICpvbWFwX21jYnNwX2Nsa3M7CitzdGF0aWMgaW5saW5lIHZvaWQgb21hcF9tY2JzcF9jbGtfaW5pdChzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrKQoreyB9CisjZW5kaWYKKworc3RhdGljIGludCBvbWFwMV9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCit7CisJLyogUkVWSVNJVDogQ2hlY2sgY29ycmVjdGx5IGZvciBudW1iZXIgb2YgcmVnaXN0ZXJlZCBNY0JTUHMgKi8KKwlpZiAoY3B1X2lzX29tYXA3MzAoKSkgeworCQlpZiAoaWQgPiBPTUFQX01BWF9NQ0JTUF9DT1VOVCAtIDIpIHsKKwkJICAgICAgIHByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLAorCQkJCWlkICsgMSk7CisJCSAgICAgICByZXR1cm4gLUVOT0RFVjsKKwkJfQorCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkpIHsKKwkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwKKwkJCQlpZCArIDEpOworCQkJcmV0dXJuIC1FTk9ERVY7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIC1FTk9ERVY7Cit9CisKK3N0YXRpYyB2b2lkIG9tYXAxX21jYnNwX3JlcXVlc3QodW5zaWduZWQgaW50IGlkKQoreworCS8qCisJICogT24gMTUxMCwgMTYxMCBhbmQgMTcxMCwgTWNCU1AxIGFuZCBNY0JTUDMKKwkgKiBhcmUgRFNQIHB1YmxpYyBwZXJpcGhlcmFscy4KKwkgKi8KKwlpZiAoaWQgPT0gT01BUF9NQ0JTUDEgfHwgaWQgPT0gT01BUF9NQ0JTUDMpIHsKKwkJb21hcF9kc3BfcmVxdWVzdF9tZW0oKTsKKwkJLyoKKwkJICogRFNQIGV4dGVybmFsIHBlcmlwaGVyYWwgcmVzZXQKKwkJICogRklYTUU6IFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIGRzcCBjb2RlCisJCSAqLworCQlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoRFNQX1JTVENUMikgfCBEUFNfUlNUQ1QyX1BFUl9FTiB8CisJCQkJRFNQX1JTVENUMl9XRF9QRVJfRU4sIERTUF9SU1RDVDIpOworCX0KK30KKworc3RhdGljIHZvaWQgb21hcDFfbWNic3BfZnJlZSh1bnNpZ25lZCBpbnQgaWQpCit7CisJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKQorCQlvbWFwX2RzcF9yZWxlYXNlX21lbSgpOworfQorCitzdGF0aWMgc3RydWN0IG9tYXBfbWNic3Bfb3BzIG9tYXAxX21jYnNwX29wcyA9IHsKKwkuY2hlY2sJCT0gb21hcDFfbWNic3BfY2hlY2ssCisJLnJlcXVlc3QJPSBvbWFwMV9tY2JzcF9yZXF1ZXN0LAorCS5mcmVlCQk9IG9tYXAxX21jYnNwX2ZyZWUsCit9OworCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAorc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgb21hcDczMF9tY2JzcF9wZGF0YVtdID0geworCXsKKwkJLnZpcnRfYmFzZQk9IGlvX3AydihPTUFQNzMwX01DQlNQMV9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzczMF9NY0JTUDFSWCwKKwkJLnR4X2lycQkJPSBJTlRfNzMwX01jQlNQMVRYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBpb19wMnYoT01BUDczMF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1RYLAorCQkucnhfaXJxCQk9IElOVF83MzBfTWNCU1AyUlgsCisJCS50eF9pcnEJCT0gSU5UXzczMF9NY0JTUDJUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCit9OworI2RlZmluZSBPTUFQNzMwX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXA3MzBfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwNzMwX21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVA3MzBfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDE1WFgKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXAxNXh4X21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gT01BUDE1MTBfTUNCU1AxX0JBU0UsCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF9NY0JTUDFSWCwKKwkJLnR4X2lycQkJPSBJTlRfTWNCU1AxVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJCX0sCisJeworCQkudmlydF9iYXNlCT0gaW9fcDJ2KE9NQVAxNTEwX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AyX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzE1MTBfU1BJX1JYLAorCQkudHhfaXJxCQk9IElOVF8xNTEwX1NQSV9UWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gT01BUDE1MTBfTUNCU1AzX0JBU0UsCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQM19SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1RYLAorCQkucnhfaXJxCQk9IElOVF9NY0JTUDNSWCwKKwkJLnR4X2lycQkJPSBJTlRfTWNCU1AzVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKK307CisjZGVmaW5lIE9NQVAxNVhYX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXAxNXh4X21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDE1eHhfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDE1WFhfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDE2WFgKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXAxNnh4X21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gT01BUDE2MTBfTUNCU1AxX0JBU0UsCisJCS5kbWFfcnhfc3luYwk9IE9NQVBfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUF9ETUFfTUNCU1AxX1RYLAorCQkucnhfaXJxCQk9IElOVF9NY0JTUDFSWCwKKwkJLnR4X2lycQkJPSBJTlRfTWNCU1AxVFgsCisJCS5vcHMJCT0gJm9tYXAxX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBpb19wMnYoT01BUDE2MTBfTUNCU1AyX0JBU0UpLAorCQkuZG1hX3J4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDJfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVBfRE1BX01DQlNQMl9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfMTYxMF9NY0JTUDJfUlgsCisJCS50eF9pcnEJCT0gSU5UXzE2MTBfTWNCU1AyX1RYLAorCQkub3BzCQk9ICZvbWFwMV9tY2JzcF9vcHMsCisJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBPTUFQMTYxMF9NQ0JTUDNfQkFTRSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUF9ETUFfTUNCU1AzX1JYLAorCQkuZG1hX3R4X3N5bmMJPSBPTUFQX0RNQV9NQ0JTUDNfVFgsCisJCS5yeF9pcnEJCT0gSU5UX01jQlNQM1JYLAorCQkudHhfaXJxCQk9IElOVF9NY0JTUDNUWCwKKwkJLm9wcwkJPSAmb21hcDFfbWNic3Bfb3BzLAorCQkuY2xrX25hbWUJPSAibWNic3BfY2xrIiwKKwl9LAorfTsKKyNkZWZpbmUgT01BUDE2WFhfTUNCU1BfUERBVEFfU1oJCUFSUkFZX1NJWkUob21hcDE2eHhfbWNic3BfcGRhdGEpCisjZWxzZQorI2RlZmluZSBvbWFwMTZ4eF9tY2JzcF9wZGF0YQkJTlVMTAorI2RlZmluZSBPTUFQMTZYWF9NQ0JTUF9QREFUQV9TWgkJMAorI2VuZGlmCisKK2ludCBfX2luaXQgb21hcDFfbWNic3BfaW5pdCh2b2lkKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG9tYXBfbWNic3BfY2xrc19zaXplOyBpKyspIHsKKwkJaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7CisJCQlvbWFwX21jYnNwX2Nsa19pbml0KCZvbWFwX21jYnNwX2Nsa3NbaV0pOworCQkJY2xrX3JlZ2lzdGVyKCZvbWFwX21jYnNwX2Nsa3NbaV0uY2xrKTsKKwkJfQorCX0KKworCWlmIChjcHVfaXNfb21hcDczMCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwNzMwX21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDczMF9NQ0JTUF9QREFUQV9TWik7CisKKwlpZiAoY3B1X2lzX29tYXAxNXh4KCkpCisJCW9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKG9tYXAxNXh4X21jYnNwX3BkYXRhLAorCQkJCQkJT01BUDE1WFhfTUNCU1BfUERBVEFfU1opOworCisJaWYgKGNwdV9pc19vbWFwMTZ4eCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwMTZ4eF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVAxNlhYX01DQlNQX1BEQVRBX1NaKTsKKworCXJldHVybiBvbWFwX21jYnNwX2luaXQoKTsKK30KKworYXJjaF9pbml0Y2FsbChvbWFwMV9tY2JzcF9pbml0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDEvcG0uYyBiL2FyY2gvYXJtL21hY2gtb21hcDEvcG0uYwppbmRleCBlNmM2NGUxLi43NDJmNzllIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAxL3BtLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9wbS5jCkBAIC0xMTYsMTMgKzExNiw2IEBACiAJCXJldHVybjsKIAl9CiAKLQkvKgotCSAqIFNpbmNlIGFuIGludGVycnVwdCBtYXkgc2V0IHVwIGEgdGltZXIsIHdlIGRvbid0IHdhbnQgdG8KLQkgKiByZXByb2dyYW0gdGhlIGhhcmR3YXJlIHRpbWVyIHdpdGggaW50ZXJydXB0cyBlbmFibGVkLgotCSAqIFJlLWVuYWJsZSBpbnRlcnJ1cHRzIG9ubHkgYWZ0ZXIgcmV0dXJuaW5nIGZyb20gaWRsZS4KLQkgKi8KLQl0aW1lcl9keW5fcmVwcm9ncmFtKCk7Ci0KICNpZmRlZiBDT05GSUdfT01BUF9NUFVfVElNRVIKICN3YXJuaW5nIEVuYWJsZSAzMmtIeiBPUyB0aW1lciBpbiBvcmRlciB0byBhbGxvdyBzbGVlcCBzdGF0ZXMgaW4gaWRsZQogCXVzZV9pZGxlY3QxID0gdXNlX2lkbGVjdDEgJiB+KDEgPDwgOSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvc3JhbS1mbi5TIGIvYXJjaC9hcm0vbWFjaC1vbWFwMS9zcmFtLlMKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0tZm4uUwpyZW5hbWUgdG8gYXJjaC9hcm0vbWFjaC1vbWFwMS9zcmFtLlMKaW5kZXggOWUxODEzYy4uMTI2ZDI1MiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0tZm4uUworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAxL3NyYW0uUwpAQCAtMTgsNyArMTgsNyBAQAogLyoKICAqIFJlcHJvZ3JhbXMgVUxQRCBhbmQgQ0tDVEwuCiAgKi8KLUVOVFJZKHNyYW1fcmVwcm9ncmFtX2Nsb2NrKQorRU5UUlkob21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2spCiAJc3RtZmQJc3AhLCB7cjAgLSByMTIsIGxyfQkJQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCiAJbW92CXIyLCAjSU9fQUREUkVTUyhEUExMX0NUTCkgJiAweGZmMDAwMDAwCkBAIC01Myw1ICs1Myw1IEBACiAKIG91dDoKIAlsZG1mZAlzcCEsIHtyMCAtIHIxMiwgcGN9CQlAIHJlc3RvcmUgcmVncyBhbmQgcmV0dXJuCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9jbG9ja19zeikKLQkud29yZAkuIC0gc3JhbV9yZXByb2dyYW1fY2xvY2sKK0VOVFJZKG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6KQorCS53b3JkCS4gLSBvbWFwMV9zcmFtX3JlcHJvZ3JhbV9jbG9jawpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtb21hcDIvTWFrZWZpbGUKaW5kZXggMmZlYjY4Ny4uOTNlZTk5MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL01ha2VmaWxlCkBAIC0zLDkgKzMsMTUgQEAKICMKIAogIyBDb21tb24gc3VwcG9ydAotb2JqLXkgOj0gaXJxLm8gaWQubyBpby5vIHNyYW0tZm4ubyBtZW1vcnkubyBjb250cm9sLm8gcHJjbS5vIGNsb2NrLm8gbXV4Lm8gXAorb2JqLXkgOj0gaXJxLm8gaWQubyBpby5vIG1lbW9yeS5vIGNvbnRyb2wubyBwcmNtLm8gY2xvY2subyBtdXgubyBcCiAJCWRldmljZXMubyBzZXJpYWwubyBncG1jLm8gdGltZXItZ3AubwogCitvYmotJChDT05GSUdfT01BUF9NQ0JTUCkgKz0gbWNic3AubworCisjIEZ1bmN0aW9ucyBsb2FkZWQgdG8gU1JBTQorb2JqLSQoQ09ORklHX0FSQ0hfT01BUDI0MjApCQkrPSBzcmFtMjQyeC5vCitvYmotJChDT05GSUdfQVJDSF9PTUFQMjQzMCkJCSs9IHNyYW0yNDN4Lm8KKwogIyBQb3dlciBNYW5hZ2VtZW50CiBvYmotJChDT05GSUdfUE0pICs9IHBtLm8gc2xlZXAubwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmMKaW5kZXggYWI5ZmM1Ny4uMTU2NzViYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suYwpAQCAtNDEsNiArNDEsMjQgQEAKIAogI2RlZmluZSBNQVhfQ0xPQ0tfRU5BQkxFX1dBSVQJCTEwMDAwMAogCisvKiBEUExMIHJhdGUgcm91bmRpbmc6IG1pbmltdW0gRFBMTCBtdWx0aXBsaWVyLCBkaXZpZGVyIHZhbHVlcyAqLworI2RlZmluZSBEUExMX01JTl9NVUxUSVBMSUVSCQkxCisjZGVmaW5lIERQTExfTUlOX0RJVklERVIJCTEKKworLyogUG9zc2libGUgZXJyb3IgcmVzdWx0cyBmcm9tIF9kcGxsX3Rlc3RfbXVsdCAqLworI2RlZmluZSBEUExMX01VTFRfVU5ERVJGTE9XCQkoMSA8PCAwKQorCisvKgorICogU2NhbGUgZmFjdG9yIHRvIG1pdGlnYXRlIHJvdW5kb2ZmIGVycm9ycyBpbiBEUExMIHJhdGUgcm91bmRpbmcuCisgKiBUaGUgaGlnaGVyIHRoZSBzY2FsZSBmYWN0b3IsIHRoZSBncmVhdGVyIHRoZSByaXNrIG9mIGFyaXRobWV0aWMgb3ZlcmZsb3csCisgKiBidXQgdGhlIGNsb3NlciB0aGUgcm91bmRlZCByYXRlIHRvIHRoZSB0YXJnZXQgcmF0ZS4gIERQTExfU0NBTEVfRkFDVE9SCisgKiBtdXN0IGJlIGEgcG93ZXIgb2YgRFBMTF9TQ0FMRV9CQVNFLgorICovCisjZGVmaW5lIERQTExfU0NBTEVfRkFDVE9SCQk2NAorI2RlZmluZSBEUExMX1NDQUxFX0JBU0UJCQkyCisjZGVmaW5lIERQTExfUk9VTkRJTkdfVkFMCQkoKERQTExfU0NBTEVfQkFTRSAvIDIpICogXAorCQkJCQkgKERQTExfU0NBTEVfRkFDVE9SIC8gRFBMTF9TQ0FMRV9CQVNFKSkKKwogdTggY3B1X21hc2s7CiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtOTUsNyArMTEzLDcgQEAKIHsKIAlsb25nIGxvbmcgZHBsbF9jbGs7CiAJdTMyIGRwbGxfbXVsdCwgZHBsbF9kaXYsIGRwbGw7Ci0JY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisJc3RydWN0IGRwbGxfZGF0YSAqZGQ7CiAKIAlkZCA9IGNsay0+ZHBsbF9kYXRhOwogCS8qIFJFVklTSVQ6IFdoYXQgZG8gd2UgcmV0dXJuIG9uIGVycm9yPyAqLwpAQCAtNjAzLDcgKzYyMSw4IEBACiAJY2xrLT5yYXRlID0gY2xrLT5wYXJlbnQtPnJhdGUgLyBuZXdfZGl2OwogCiAJaWYgKGNsay0+ZmxhZ3MgJiBERUxBWUVEX0FQUCAmJiBjcHVfaXNfb21hcDI0eHgoKSkgewotCQlfX3Jhd193cml0ZWwoT01BUDI0WFhfVkFMSURfQ09ORklHLCBPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMKTsKKwkJcHJtX3dyaXRlX21vZF9yZWcoT01BUDI0WFhfVkFMSURfQ09ORklHLAorCQkJT01BUDI0WFhfR1JfTU9ELCBPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMX09GRlNFVCk7CiAJCXdtYigpOwogCX0KIApAQCAtNzIzLDYgKzc0MiwxODQgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyogRFBMTCByYXRlIHJvdW5kaW5nIGNvZGUgKi8KKworLyoqCisgKiBvbWFwMl9kcGxsX3NldF9yYXRlX3RvbGVyYW5jZTogc2V0IHRoZSBlcnJvciB0b2xlcmFuY2UgZHVyaW5nIHJhdGUgcm91bmRpbmcKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTAorICogQHRvbGVyYW5jZTogbWF4aW11bSByYXRlIGVycm9yIHRvbGVyYW5jZQorICoKKyAqIFNldCB0aGUgbWF4aW11bSBEUExMIHJhdGUgZXJyb3IgdG9sZXJhbmNlIGZvciB0aGUgcmF0ZSByb3VuZGluZworICogYWxnb3JpdGhtLiAgVGhlIHJhdGUgdG9sZXJhbmNlIGlzIGFuIGF0dGVtcHQgdG8gYmFsYW5jZSBEUExMIHBvd2VyCisgKiBzYXZpbmcgKHRoZSBsZWFzdCBkaXZpZGVyIHZhbHVlICJuIikgdnMuIHJhdGUgZmlkZWxpdHkgKHRoZSBsZWFzdAorICogZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBkZXNpcmVkIERQTEwgdGFyZ2V0IHJhdGUgYW5kIHRoZSByb3VuZGVkCisgKiByYXRlIG91dCBvZiB0aGUgYWxnb3JpdGhtKS4gIFNvLCBpbmNyZWFzaW5nIHRoZSB0b2xlcmFuY2UgaXMgbGlrZWx5CisgKiB0byBkZWNyZWFzZSBEUExMIHBvd2VyIGNvbnN1bXB0aW9uIGFuZCBpbmNyZWFzZSBEUExMIHJhdGUgZXJyb3IuCisgKiBSZXR1cm5zIC1FSU5WQUwgaWYgcHJvdmlkZWQgYSBudWxsIGNsb2NrIHB0ciBvciBhIGNsayB0aGF0IGlzIG5vdCBhCisgKiBEUExMOyBvciAwIHVwb24gc3VjY2Vzcy4KKyAqLworaW50IG9tYXAyX2RwbGxfc2V0X3JhdGVfdG9sZXJhbmNlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgaW50IHRvbGVyYW5jZSkKK3sKKwlpZiAoIWNsayB8fCAhY2xrLT5kcGxsX2RhdGEpCisJCXJldHVybiAtRUlOVkFMOworCisJY2xrLT5kcGxsX2RhdGEtPnJhdGVfdG9sZXJhbmNlID0gdG9sZXJhbmNlOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9kcGxsX2NvbXB1dGVfbmV3X3JhdGUodW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZSwgdW5zaWduZWQgaW50IG0sIHVuc2lnbmVkIGludCBuKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBudW07CisKKwludW0gPSAodW5zaWduZWQgbG9uZyBsb25nKXBhcmVudF9yYXRlICogbTsKKwlkb19kaXYobnVtLCBuKTsKKwlyZXR1cm4gbnVtOworfQorCisvKgorICogX2RwbGxfdGVzdF9tdWx0IC0gdGVzdCBhIERQTEwgbXVsdGlwbGllciB2YWx1ZQorICogQG06IHBvaW50ZXIgdG8gdGhlIERQTEwgbSAobXVsdGlwbGllcikgdmFsdWUgdW5kZXIgdGVzdAorICogQG46IGN1cnJlbnQgRFBMTCBuIChkaXZpZGVyKSB2YWx1ZSB1bmRlciB0ZXN0CisgKiBAbmV3X3JhdGU6IHBvaW50ZXIgdG8gc3RvcmFnZSBmb3IgdGhlIHJlc3VsdGluZyByb3VuZGVkIHJhdGUKKyAqIEB0YXJnZXRfcmF0ZTogdGhlIGRlc2lyZWQgRFBMTCByYXRlCisgKiBAcGFyZW50X3JhdGU6IHRoZSBEUExMJ3MgcGFyZW50IGNsb2NrIHJhdGUKKyAqCisgKiBUaGlzIGNvZGUgdGVzdHMgYSBEUExMIG11bHRpcGxpZXIgdmFsdWUsIGVuc3VyaW5nIHRoYXQgdGhlCisgKiByZXN1bHRpbmcgcmF0ZSB3aWxsIG5vdCBiZSBoaWdoZXIgdGhhbiB0aGUgdGFyZ2V0X3JhdGUsIGFuZCB0aGF0CisgKiB0aGUgbXVsdGlwbGllciB2YWx1ZSBpdHNlbGYgaXMgdmFsaWQgZm9yIHRoZSBEUExMLiAgSW5pdGlhbGx5LCB0aGUKKyAqIGludGVnZXIgcG9pbnRlZCB0byBieSB0aGUgbSBhcmd1bWVudCBzaG91bGQgYmUgcHJlc2NhbGVkIGJ5CisgKiBtdWx0aXBseWluZyBieSBEUExMX1NDQUxFX0ZBQ1RPUi4gIFRoZSBjb2RlIHdpbGwgcmVwbGFjZSB0aGlzIHdpdGgKKyAqIGEgbm9uLXNjYWxlZCBtIHVwb24gcmV0dXJuLiAgVGhpcyBub24tc2NhbGVkIG0gd2lsbCByZXN1bHQgaW4gYQorICogbmV3X3JhdGUgYXMgY2xvc2UgYXMgcG9zc2libGUgdG8gdGFyZ2V0X3JhdGUgKGJ1dCBub3QgZ3JlYXRlciB0aGFuCisgKiB0YXJnZXRfcmF0ZSkgZ2l2ZW4gdGhlIGN1cnJlbnQgKHBhcmVudF9yYXRlLCBuLCBwcmVzY2FsZWQgbSkKKyAqIHRyaXBsZS4gUmV0dXJucyBEUExMX01VTFRfVU5ERVJGTE9XIGluIHRoZSBldmVudCB0aGF0IHRoZQorICogbm9uLXNjYWxlZCBtIGF0dGVtcHRlZCB0byB1bmRlcmZsb3csIHdoaWNoIGNhbiBhbGxvdyB0aGUgY2FsbGluZworICogZnVuY3Rpb24gdG8gYmFpbCBvdXQgZWFybHk7IG9yIDAgdXBvbiBzdWNjZXNzLgorICovCitzdGF0aWMgaW50IF9kcGxsX3Rlc3RfbXVsdChpbnQgKm0sIGludCBuLCB1bnNpZ25lZCBsb25nICpuZXdfcmF0ZSwKKwkJCSAgIHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUsCisJCQkgICB1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlKQoreworCWludCBmbGFncyA9IDAsIGNhcnJ5ID0gMDsKKworCS8qIFVuc2NhbGUgbSBhbmQgcm91bmQgaWYgbmVjZXNzYXJ5ICovCisJaWYgKCptICUgRFBMTF9TQ0FMRV9GQUNUT1IgPj0gRFBMTF9ST1VORElOR19WQUwpCisJCWNhcnJ5ID0gMTsKKwkqbSA9ICgqbSAvIERQTExfU0NBTEVfRkFDVE9SKSArIGNhcnJ5OworCisJLyoKKwkgKiBUaGUgbmV3IHJhdGUgbXVzdCBiZSA8PSB0aGUgdGFyZ2V0IHJhdGUgdG8gYXZvaWQgcHJvZ3JhbW1pbmcKKwkgKiBhIHJhdGUgdGhhdCBpcyBpbXBvc3NpYmxlIGZvciB0aGUgaGFyZHdhcmUgdG8gaGFuZGxlCisJICovCisJKm5ld19yYXRlID0gX2RwbGxfY29tcHV0ZV9uZXdfcmF0ZShwYXJlbnRfcmF0ZSwgKm0sIG4pOworCWlmICgqbmV3X3JhdGUgPiB0YXJnZXRfcmF0ZSkgeworCQkoKm0pLS07CisJCSpuZXdfcmF0ZSA9IDA7CisJfQorCisJLyogR3VhcmQgYWdhaW5zdCBtIHVuZGVyZmxvdyAqLworCWlmICgqbSA8IERQTExfTUlOX01VTFRJUExJRVIpIHsKKwkJKm0gPSBEUExMX01JTl9NVUxUSVBMSUVSOworCQkqbmV3X3JhdGUgPSAwOworCQlmbGFncyA9IERQTExfTVVMVF9VTkRFUkZMT1c7CisJfQorCisJaWYgKCpuZXdfcmF0ZSA9PSAwKQorCQkqbmV3X3JhdGUgPSBfZHBsbF9jb21wdXRlX25ld19yYXRlKHBhcmVudF9yYXRlLCAqbSwgbik7CisKKwlyZXR1cm4gZmxhZ3M7Cit9CisKKy8qKgorICogb21hcDJfZHBsbF9yb3VuZF9yYXRlIC0gcm91bmQgYSB0YXJnZXQgcmF0ZSBmb3IgYW4gT01BUCBEUExMCisgKiBAY2xrOiBzdHJ1Y3QgY2xrICogZm9yIGEgRFBMTAorICogQHRhcmdldF9yYXRlOiBkZXNpcmVkIERQTEwgY2xvY2sgcmF0ZQorICoKKyAqIEdpdmVuIGEgRFBMTCwgYSBkZXNpcmVkIHRhcmdldCByYXRlLCBhbmQgYSByYXRlIHRvbGVyYW5jZSwgcm91bmQKKyAqIHRoZSB0YXJnZXQgcmF0ZSB0byBhIHBvc3NpYmxlLCBwcm9ncmFtbWFibGUgcmF0ZSBmb3IgdGhpcyBEUExMLgorICogUmF0ZSB0b2xlcmFuY2UgaXMgYXNzdW1lZCB0byBiZSBzZXQgYnkgdGhlIGNhbGxlciBiZWZvcmUgdGhpcworICogZnVuY3Rpb24gaXMgY2FsbGVkLiAgQXR0ZW1wdHMgdG8gc2VsZWN0IHRoZSBtaW5pbXVtIHBvc3NpYmxlIG4KKyAqIHdpdGhpbiB0aGUgdG9sZXJhbmNlIHRvIHJlZHVjZSBwb3dlciBjb25zdW1wdGlvbi4gIFN0b3JlcyB0aGUKKyAqIGNvbXB1dGVkIChtLCBuKSBpbiB0aGUgRFBMTCdzIGRwbGxfZGF0YSBzdHJ1Y3R1cmUgc28gc2V0X3JhdGUoKQorICogd2lsbCBub3QgbmVlZCB0byBjYWxsIHRoaXMgKGV4cGVuc2l2ZSkgZnVuY3Rpb24gYWdhaW4uICBSZXR1cm5zIH4wCisgKiBpZiB0aGUgdGFyZ2V0IHJhdGUgY2Fubm90IGJlIHJvdW5kZWQsIGVpdGhlciBiZWNhdXNlIHRoZSByYXRlIGlzCisgKiB0b28gbG93IG9yIGJlY2F1c2UgdGhlIHJhdGUgdG9sZXJhbmNlIGlzIHNldCB0b28gdGlnaHRseTsgb3IgdGhlCisgKiByb3VuZGVkIHJhdGUgdXBvbiBzdWNjZXNzLgorICovCitsb25nIG9tYXAyX2RwbGxfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUpCit7CisJaW50IG0sIG4sIHIsIGUsIHNjYWxlZF9tYXhfbTsKKwl1bnNpZ25lZCBsb25nIHNjYWxlZF9ydF9ycCwgbmV3X3JhdGU7CisJaW50IG1pbl9lID0gLTEsIG1pbl9lX20gPSAtMSwgbWluX2VfbiA9IC0xOworCisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm4gfjA7CisKKwlwcl9kZWJ1ZygiY2xvY2s6IHN0YXJ0aW5nIERQTEwgcm91bmRfcmF0ZSBmb3IgY2xvY2sgJXMsIHRhcmdldCByYXRlICIKKwkJICIlbGRcbiIsIGNsay0+bmFtZSwgdGFyZ2V0X3JhdGUpOworCisJc2NhbGVkX3J0X3JwID0gdGFyZ2V0X3JhdGUgLyAoY2xrLT5wYXJlbnQtPnJhdGUgLyBEUExMX1NDQUxFX0ZBQ1RPUik7CisJc2NhbGVkX21heF9tID0gY2xrLT5kcGxsX2RhdGEtPm1heF9tdWx0aXBsaWVyICogRFBMTF9TQ0FMRV9GQUNUT1I7CisKKwljbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX3JhdGUgPSAwOworCisJZm9yIChuID0gY2xrLT5kcGxsX2RhdGEtPm1heF9kaXZpZGVyOyBuID49IERQTExfTUlOX0RJVklERVI7IG4tLSkgeworCisJCS8qIENvbXB1dGUgdGhlIHNjYWxlZCBEUExMIG11bHRpcGxpZXIsIGJhc2VkIG9uIHRoZSBkaXZpZGVyICovCisJCW0gPSBzY2FsZWRfcnRfcnAgKiBuOworCisJCS8qCisJCSAqIFNpbmNlIHdlJ3JlIGNvdW50aW5nIG4gZG93biwgYSBtIG92ZXJmbG93IG1lYW5zIHdlIGNhbgorCQkgKiBjYW4gaW1tZWRpYXRlbHkgc2tpcCB0byB0aGUgbmV4dCBuCisJCSAqLworCQlpZiAobSA+IHNjYWxlZF9tYXhfbSkKKwkJCWNvbnRpbnVlOworCisJCXIgPSBfZHBsbF90ZXN0X211bHQoJm0sIG4sICZuZXdfcmF0ZSwgdGFyZ2V0X3JhdGUsCisJCQkJICAgIGNsay0+cGFyZW50LT5yYXRlKTsKKworCQllID0gdGFyZ2V0X3JhdGUgLSBuZXdfcmF0ZTsKKwkJcHJfZGVidWcoImNsb2NrOiBuID0gJWQ6IG0gPSAlZDogcmF0ZSBlcnJvciBpcyAlZCAiCisJCQkgIihuZXdfcmF0ZSA9ICVsZClcbiIsIG4sIG0sIGUsIG5ld19yYXRlKTsKKworCQlpZiAobWluX2UgPT0gLTEgfHwKKwkJICAgIG1pbl9lID49IChpbnQpKGFicyhlKSAtIGNsay0+ZHBsbF9kYXRhLT5yYXRlX3RvbGVyYW5jZSkpIHsKKwkJCW1pbl9lID0gZTsKKwkJCW1pbl9lX20gPSBtOworCQkJbWluX2VfbiA9IG47CisKKwkJCXByX2RlYnVnKCJjbG9jazogZm91bmQgbmV3IGxlYXN0IGVycm9yICVkXG4iLCBtaW5fZSk7CisJCX0KKworCQkvKgorCQkgKiBTaW5jZSB3ZSdyZSBjb3VudGluZyBuIGRvd24sIGEgbSB1bmRlcmZsb3cgbWVhbnMgd2UKKwkJICogY2FuIGJhaWwgb3V0IGNvbXBsZXRlbHkgKHNpbmNlIGFzIG4gZGVjcmVhc2VzIGluCisJCSAqIHRoZSBuZXh0IGl0ZXJhdGlvbiwgdGhlcmUncyBubyB3YXkgdGhhdCBtIGNhbgorCQkgKiBpbmNyZWFzZSBiZXlvbmQgdGhlIGN1cnJlbnQgbSkKKwkJICovCisJCWlmIChyICYgRFBMTF9NVUxUX1VOREVSRkxPVykKKwkJCWJyZWFrOworCX0KKworCWlmIChtaW5fZSA8IDApIHsKKwkJcHJfZGVidWcoImNsb2NrOiBlcnJvcjogdGFyZ2V0IHJhdGUgb3IgdG9sZXJhbmNlIHRvbyBsb3dcbiIpOworCQlyZXR1cm4gfjA7CisJfQorCisJY2xrLT5kcGxsX2RhdGEtPmxhc3Rfcm91bmRlZF9tID0gbWluX2VfbTsKKwljbGstPmRwbGxfZGF0YS0+bGFzdF9yb3VuZGVkX24gPSBtaW5fZV9uOworCWNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfcmF0ZSA9CisJCV9kcGxsX2NvbXB1dGVfbmV3X3JhdGUoY2xrLT5wYXJlbnQtPnJhdGUsIG1pbl9lX20sICBtaW5fZV9uKTsKKworCXByX2RlYnVnKCJjbG9jazogZmluYWwgbGVhc3QgZXJyb3I6IGUgPSAlZCwgbSA9ICVkLCBuID0gJWRcbiIsCisJCSBtaW5fZSwgbWluX2VfbSwgbWluX2Vfbik7CisJcHJfZGVidWcoImNsb2NrOiBmaW5hbCByYXRlOiAlbGQgICh0YXJnZXQgcmF0ZTogJWxkKVxuIiwKKwkJIGNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfcmF0ZSwgdGFyZ2V0X3JhdGUpOworCisJcmV0dXJuIGNsay0+ZHBsbF9kYXRhLT5sYXN0X3JvdW5kZWRfcmF0ZTsKK30KKwogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBPbWFwMiBjbG9jayByZXNldCBhbmQgaW5pdCBmdW5jdGlvbnMKICAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrLmgKaW5kZXggZDU5ODBhOS4uM2NkMzdjYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jay5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2suaApAQCAtMTgsMTEgKzE4LDE2IEBACiAKICNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogCisvKiBUaGUgbWF4aW11bSBlcnJvciBiZXR3ZWVuIGEgdGFyZ2V0IERQTEwgcmF0ZSBhbmQgdGhlIHJvdW5kZWQgcmF0ZSBpbiBIeiAqLworI2RlZmluZSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UJNTAwMDAKKwogaW50IG9tYXAyX2Nsa19lbmFibGUoc3RydWN0IGNsayAqY2xrKTsKIHZvaWQgb21hcDJfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKTsKIGxvbmcgb21hcDJfY2xrX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOwogaW50IG9tYXAyX2Nsa19zZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSk7CiBpbnQgb21hcDJfY2xrX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpuZXdfcGFyZW50KTsKK2ludCBvbWFwMl9kcGxsX3JhdGVfdG9sZXJhbmNlX3NldChzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGludCB0b2xlcmFuY2UpOworbG9uZyBvbWFwMl9kcGxsX3JvdW5kX3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHRhcmdldF9yYXRlKTsKIAogI2lmZGVmIENPTkZJR19PTUFQX1JFU0VUX0NMT0NLUwogdm9pZCBvbWFwMl9jbGtfZGlzYWJsZV91bnVzZWQoc3RydWN0IGNsayAqY2xrKTsKQEAgLTQyLDYgKzQ3LDcgQEAKIGludCBvbWFwMl9jbGtzZWxfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOwogdTMyIG9tYXAyX2dldF9kcGxsX3JhdGUoc3RydWN0IGNsayAqY2xrKTsKIGludCBvbWFwMl93YWl0X2Nsb2NrX3JlYWR5KHZvaWQgX19pb21lbSAqcmVnLCB1MzIgY3ZhbCwgY29uc3QgY2hhciAqbmFtZSk7Cit2b2lkIG9tYXAyX2Nsa19wcmVwYXJlX2Zvcl9yZWJvb3Qodm9pZCk7CiAKIGV4dGVybiB1OCBjcHVfbWFzazsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmMKaW5kZXggZWNlMzJkOC4uYWE1Njc4NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5jCkBAIC0xNTQsNyArMTU0LDcgQEAKICAqIFVzZXMgdGhlIGN1cnJlbnQgcHJjbSBzZXQgdG8gdGVsbCBpZiBhIHJhdGUgaXMgdmFsaWQuCiAgKiBZb3UgY2FuIGdvIHNsb3dlciwgYnV0IG5vdCBmYXN0ZXIgd2l0aGluIGEgZ2l2ZW4gcmF0ZSBzZXQuCiAgKi8KLXN0YXRpYyB1MzIgb21hcDJfZHBsbF9yb3VuZF9yYXRlKHVuc2lnbmVkIGxvbmcgdGFyZ2V0X3JhdGUpCitsb25nIG9tYXAyX2RwbGxjb3JlX3JvdW5kX3JhdGUodW5zaWduZWQgbG9uZyB0YXJnZXRfcmF0ZSkKIHsKIAl1MzIgaGlnaCwgbG93LCBjb3JlX2Nsa19zcmM7CiAKQEAgLTE4MywxNCArMTgzLDE0IEBACiAKIH0KIAotc3RhdGljIHZvaWQgb21hcDJfZHBsbF9yZWNhbGMoc3RydWN0IGNsayAqY2xrKQorc3RhdGljIHZvaWQgb21hcDJfZHBsbGNvcmVfcmVjYWxjKHN0cnVjdCBjbGsgKmNsaykKIHsKIAljbGstPnJhdGUgPSBvbWFwMl9nZXRfZHBsbF9yYXRlXzI0eHgoY2xrKTsKIAogCXByb3BhZ2F0ZV9yYXRlKGNsayk7CiB9CiAKLXN0YXRpYyBpbnQgb21hcDJfcmVwcm9ncmFtX2RwbGwoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCitzdGF0aWMgaW50IG9tYXAyX3JlcHJvZ3JhbV9kcGxsY29yZShzdHJ1Y3QgY2xrICpjbGssIHVuc2lnbmVkIGxvbmcgcmF0ZSkKIHsKIAl1MzIgY3VyX3JhdGUsIGxvdywgbXVsdCwgZGl2LCB2YWxpZF9yYXRlLCBkb25lX3JhdGU7CiAJdTMyIGJ5cGFzcyA9IDA7CkBAIC0yMDksNyArMjA5LDcgQEAKIAl9IGVsc2UgaWYgKChyYXRlID09IChjdXJfcmF0ZSAqIDIpKSAmJiAobXVsdCA9PSAxKSkgewogCQlvbWFwMl9yZXByb2dyYW1fc2RyYyhDT1JFX0NMS19TUkNfRFBMTF9YMiwgMSk7CiAJfSBlbHNlIGlmIChyYXRlICE9IGN1cl9yYXRlKSB7Ci0JCXZhbGlkX3JhdGUgPSBvbWFwMl9kcGxsX3JvdW5kX3JhdGUocmF0ZSk7CisJCXZhbGlkX3JhdGUgPSBvbWFwMl9kcGxsY29yZV9yb3VuZF9yYXRlKHJhdGUpOwogCQlpZiAodmFsaWRfcmF0ZSAhPSByYXRlKQogCQkJZ290byBkcGxsX2V4aXQ7CiAKQEAgLTI1Niw3ICsyNTYsNyBAQAogCQlvbWFwMl9pbml0X21lbW9yeV9wYXJhbXMob21hcDJfZGxsX2ZvcmNlX25lZWRlZCgpKTsKIAkJb21hcDJfcmVwcm9ncmFtX3NkcmMoZG9uZV9yYXRlLCAwKTsKIAl9Ci0Jb21hcDJfZHBsbF9yZWNhbGMoJmRwbGxfY2spOworCW9tYXAyX2RwbGxjb3JlX3JlY2FsYygmZHBsbF9jayk7CiAJcmV0ID0gMDsKIAogZHBsbF9leGl0OgpAQCAtMzgzLDcgKzM4Myw3IEBACiAKIAkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCX0KLQlvbWFwMl9kcGxsX3JlY2FsYygmZHBsbF9jayk7CisJb21hcDJfZHBsbGNvcmVfcmVjYWxjKCZkcGxsX2NrKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2syNHh4LmgKaW5kZXggODgwODFlZC4uYmU0ZTI1NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazI0eHguaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMjR4eC5oCkBAIC0zMCwxMiArMzAsMTIgQEAKIHN0YXRpYyB2b2lkIG9tYXAyX3N5c19jbGtfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgdm9pZCBvbWFwMl9vc2NfY2xrX3JlY2FsYyhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDJfc3lzX2Nsa19yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKLXN0YXRpYyB2b2lkIG9tYXAyX2RwbGxfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgdm9pZCBvbWFwMl9kcGxsY29yZV9yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyBpbnQgb21hcDJfY2xrX2ZpeGVkX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDJfY2xrX2ZpeGVkX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKTsKIHN0YXRpYyBpbnQgb21hcDJfZW5hYmxlX29zY19jayhzdHJ1Y3QgY2xrICpjbGspOwogc3RhdGljIHZvaWQgb21hcDJfZGlzYWJsZV9vc2NfY2soc3RydWN0IGNsayAqY2xrKTsKLXN0YXRpYyBpbnQgb21hcDJfcmVwcm9ncmFtX2RwbGwoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOworc3RhdGljIGludCBvbWFwMl9yZXByb2dyYW1fZHBsbGNvcmUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpOwogCiAvKiBLZXkgZGl2aWRlcnMgd2hpY2ggbWFrZSB1cCBhIFBSQ00gc2V0LiBSYXRpbydzIGZvciBhIFBSQ00gYXJlIG1hbmRhdGVkLgogICogeHRhbF9zcGVlZCwgZHBsbF9zcGVlZCwgbXB1X3NwZWVkLCBDTV9DTEtTRUxfTVBVLENNX0NMS1NFTF9EU1AKQEAgLTY2NSwyMCArNjY1LDI3IEBACiAgKiBkZWFsIHdpdGggdGhpcwogICovCiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGxfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCQk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwxKSwKIAkubXVsdF9tYXNrCQk9IE9NQVAyNFhYX0RQTExfTVVMVF9NQVNLLAogCS5kaXYxX21hc2sJCT0gT01BUDI0WFhfRFBMTF9ESVZfTUFTSywKKwkubWF4X211bHRpcGxpZXIJCT0gMTAyNCwKKwkubWF4X2RpdmlkZXIJCT0gMTYsCisJLnJhdGVfdG9sZXJhbmNlCQk9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAorLyoKKyAqIFhYWCBDYW5ub3QgYWRkIHJvdW5kX3JhdGUgaGVyZSB5ZXQsIGFzIHRoaXMgaXMgc3RpbGwgYSBjb21wb3NpdGUgY2xvY2ssCisgKiBub3QganVzdCBhIERQTEwKKyAqLwogc3RhdGljIHN0cnVjdCBjbGsgZHBsbF9jayA9IHsKIAkubmFtZQkJPSAiZHBsbF9jayIsCiAJLnBhcmVudAkJPSAmc3lzX2NrLAkJLyogQ2FuIGJlIGZ1bmNfMzJrIGFsc28gKi8KIAkuZHBsbF9kYXRhCT0gJmRwbGxfZGQsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1ggfAogCQkJCVJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAotCS5yZWNhbGMJCT0gJm9tYXAyX2RwbGxfcmVjYWxjLAotCS5zZXRfcmF0ZQk9ICZvbWFwMl9yZXByb2dyYW1fZHBsbCwKKwkucmVjYWxjCQk9ICZvbWFwMl9kcGxsY29yZV9yZWNhbGMsCisJLnNldF9yYXRlCT0gJm9tYXAyX3JlcHJvZ3JhbV9kcGxsY29yZSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGFwbGw5Nl9jayA9IHsKQEAgLTE3NDcsNyArMTc1NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDFfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDFfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMSwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMSksCkBAIC0xNzU2LDcgKzE3NjQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AxX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AxX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDEsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDJYIHwgQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0ZDTEtFTjEpLApAQCAtMTc2NSw3ICsxNzc0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMl9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMl9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAyLAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQyWCB8IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4xKSwKQEAgLTE3NzQsNyArMTc4NCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDJfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDJfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gMiwKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0MlggfCBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fRkNMS0VOMSksCkBAIC0xNzgzLDcgKzE3OTQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AzX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AzX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDMsCiAJLnBhcmVudAkJPSAmbDRfY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4yKSwKQEAgLTE3OTIsNyArMTgwNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDNfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDNfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gMywKIAkucGFyZW50CQk9ICZmdW5jXzk2bV9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIE9NQVAyNFhYX0NNX0ZDTEtFTjIpLApAQCAtMTgwMSw3ICsxODE0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNF9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNF9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSA0LAogCS5wYXJlbnQJCT0gJmw0X2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fSUNMS0VOMiksCkBAIC0xODEwLDcgKzE4MjQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A0X2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3A0X2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDQsCiAJLnBhcmVudAkJPSAmZnVuY185Nm1fY2ssCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAyNDNYLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBPTUFQMjRYWF9DTV9GQ0xLRU4yKSwKQEAgLTE4MTksNyArMTgzNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDVfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDVfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gNSwKIAkucGFyZW50CQk9ICZsNF9jaywKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDI0M1gsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjIpLApAQCAtMTgyOCw3ICsxODQ0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNV9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNV9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA1LAogCS5wYXJlbnQJCT0gJmZ1bmNfOTZtX2NrLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMjQzWCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgT01BUDI0WFhfQ01fRkNMS0VOMiksCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguYwppbmRleCBiNDJiZGQ2Li40MjYzMDk5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmMKQEAgLTEsMTAgKzEsMTEgQEAKIC8qCiAgKiBPTUFQMy1zcGVjaWZpYyBjbG9jayBmcmFtZXdvcmsgZnVuY3Rpb25zCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA3IFRleGFzIEluc3RydW1lbnRzLCBJbmMuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgTm9raWEgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFRleGFzIEluc3RydW1lbnRzLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgogICoKICAqIFdyaXR0ZW4gYnkgUGF1bCBXYWxtc2xleQorICogVGVzdGluZyBhbmQgaW50ZWdyYXRpb24gZml4ZXMgYnkgSm91bmkgSMO2Z2FuZGVyCiAgKgogICogUGFydHMgb2YgdGhpcyBjb2RlIGFyZSBiYXNlZCBvbiBjb2RlIHdyaXR0ZW4gYnkKICAqIFJpY2hhcmQgV29vZHJ1ZmYsIFRvbnkgTGluZGdyZW4sIFR1dWtrYSBUaWtrYW5lbiwgS2FydGhpayBEYXN1CkBAIC0yMyw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2xpbWl0cy5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvY2xvY2suaD4KICNpbmNsdWRlIDxhc20vYXJjaC9zcmFtLmg+CkBAIC0zNyw4ICszOSwxMSBAQAogI2luY2x1ZGUgImNtLmgiCiAjaW5jbHVkZSAiY20tcmVnYml0cy0zNHh4LmgiCiAKLS8qIENNX0NMS0VOX1BMTCouRU4qIGJpdCB2YWx1ZXMgKi8KLSNkZWZpbmUgRFBMTF9MT0NLRUQJCTB4NworLyogQ01fQVVUT0lETEVfUExMKi5BVVRPXyogYml0IHZhbHVlcyAqLworI2RlZmluZSBEUExMX0FVVE9JRExFX0RJU0FCTEUJCQkweDAKKyNkZWZpbmUgRFBMTF9BVVRPSURMRV9MT1dfUE9XRVJfU1RPUAkJMHgxCisKKyNkZWZpbmUgTUFYX0RQTExfV0FJVF9UUklFUwkJMTAwMDAwMAogCiAvKioKICAqIG9tYXAzX2RwbGxfcmVjYWxjIC0gcmVjYWxjdWxhdGUgRFBMTCByYXRlCkBAIC01Myw2ICs1OCwyOTAgQEAKIAlwcm9wYWdhdGVfcmF0ZShjbGspOwogfQogCisvKiBfb21hcDNfZHBsbF93cml0ZV9jbGtlbiAtIHdyaXRlIGNsa2VuX2JpdHMgYXJnIHRvIGEgRFBMTCdzIGVuYWJsZSBiaXRzICovCitzdGF0aWMgdm9pZCBfb21hcDNfZHBsbF93cml0ZV9jbGtlbihzdHJ1Y3QgY2xrICpjbGssIHU4IGNsa2VuX2JpdHMpCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJY21fcm13X3JlZ19iaXRzKGRkLT5lbmFibGVfbWFzaywgY2xrZW5fYml0cyA8PCBfX2ZmcyhkZC0+ZW5hYmxlX21hc2spLAorCQkJZGQtPmNvbnRyb2xfcmVnKTsKK30KKworLyogX29tYXAzX3dhaXRfZHBsbF9zdGF0dXM6IHdhaXQgZm9yIGEgRFBMTCB0byBlbnRlciBhIHNwZWNpZmljIHN0YXRlICovCitzdGF0aWMgaW50IF9vbWFwM193YWl0X2RwbGxfc3RhdHVzKHN0cnVjdCBjbGsgKmNsaywgdTggc3RhdGUpCit7CisJY29uc3Qgc3RydWN0IGRwbGxfZGF0YSAqZGQ7CisJaW50IGkgPSAwOworCWludCByZXQgPSAtRUlOVkFMOworCXUzMiBpZGxlc3RfbWFzazsKKworCWRkID0gY2xrLT5kcGxsX2RhdGE7CisKKwlzdGF0ZSA8PD0gZGQtPmlkbGVzdF9iaXQ7CisJaWRsZXN0X21hc2sgPSAxIDw8IGRkLT5pZGxlc3RfYml0OworCisJd2hpbGUgKCgoY21fcmVhZF9yZWcoZGQtPmlkbGVzdF9yZWcpICYgaWRsZXN0X21hc2spICE9IHN0YXRlKSAmJgorCSAgICAgICBpIDwgTUFYX0RQTExfV0FJVF9UUklFUykgeworCQlpKys7CisJCXVkZWxheSgxKTsKKwl9CisKKwlpZiAoaSA9PSBNQVhfRFBMTF9XQUlUX1RSSUVTKSB7CisJCXByaW50ayhLRVJOX0VSUiAiY2xvY2s6ICVzIGZhaWxlZCB0cmFuc2l0aW9uIHRvICclcydcbiIsCisJCSAgICAgICBjbGstPm5hbWUsIChzdGF0ZSkgPyAibG9ja2VkIiA6ICJieXBhc3NlZCIpOworCX0gZWxzZSB7CisJCXByX2RlYnVnKCJjbG9jazogJXMgdHJhbnNpdGlvbiB0byAnJXMnIGluICVkIGxvb3BzXG4iLAorCQkJIGNsay0+bmFtZSwgKHN0YXRlKSA/ICJsb2NrZWQiIDogImJ5cGFzc2VkIiwgaSk7CisKKwkJcmV0ID0gMDsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisvKiBOb24tQ09SRSBEUExMIChlLmcuLCBEUExMcyB0aGF0IGRvIG5vdCBjb250cm9sIFNEUkMpIGNsb2NrIGZ1bmN0aW9ucyAqLworCisvKgorICogX29tYXAzX25vbmNvcmVfZHBsbF9sb2NrIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIGxvY2sgYW5kIHdhaXQgZm9yIHJlYWRpbmVzcworICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gbG9jay4gIFdhaXRzIGZvciB0aGUgRFBMTCB0byByZXBvcnQKKyAqIHJlYWRpbmVzcyBiZWZvcmUgcmV0dXJuaW5nLiAgV2lsbCBzYXZlIGFuZCByZXN0b3JlIHRoZSBEUExMJ3MKKyAqIGF1dG9pZGxlIHN0YXRlIGFjcm9zcyB0aGUgZW5hYmxlLCBwZXIgdGhlIENEUCBjb2RlLiAgSWYgdGhlIERQTEwKKyAqIGxvY2tlZCBzdWNjZXNzZnVsbHksIHJldHVybiAwOyBpZiB0aGUgRFBMTCBkaWQgbm90IGxvY2sgaW4gdGhlIHRpbWUKKyAqIGFsbG90dGVkLCBvciBEUExMMyB3YXMgcGFzc2VkIGluLCByZXR1cm4gLUVJTlZBTC4KKyAqLworc3RhdGljIGludCBfb21hcDNfbm9uY29yZV9kcGxsX2xvY2soc3RydWN0IGNsayAqY2xrKQoreworCXU4IGFpOworCWludCByOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJcHJfZGVidWcoImNsb2NrOiBsb2NraW5nIERQTEwgJXNcbiIsIGNsay0+bmFtZSk7CisKKwlhaSA9IG9tYXAzX2RwbGxfYXV0b2lkbGVfcmVhZChjbGspOworCisJX29tYXAzX2RwbGxfd3JpdGVfY2xrZW4oY2xrLCBEUExMX0xPQ0tFRCk7CisKKwlpZiAoYWkpIHsKKwkJLyoKKwkJICogSWYgbm8gZG93bnN0cmVhbSBjbG9ja3MgYXJlIGVuYWJsZWQsIENNX0lETEVTVCBiaXQKKwkJICogbWF5IG5ldmVyIGJlY29tZSBhY3RpdmUsIHNvIGRvbid0IHdhaXQgZm9yIERQTEwgdG8gbG9jay4KKwkJICovCisJCXIgPSAwOworCQlvbWFwM19kcGxsX2FsbG93X2lkbGUoY2xrKTsKKwl9IGVsc2UgeworCQlyID0gX29tYXAzX3dhaXRfZHBsbF9zdGF0dXMoY2xrLCAxKTsKKwkJb21hcDNfZHBsbF9kZW55X2lkbGUoY2xrKTsKKwl9OworCisJcmV0dXJuIHI7Cit9CisKKy8qCisgKiBvbWFwM19ub25jb3JlX2RwbGxfYnlwYXNzIC0gaW5zdHJ1Y3QgYSBEUExMIHRvIGJ5cGFzcyBhbmQgd2FpdCBmb3IgcmVhZGluZXNzCisgKiBAY2xrOiBwb2ludGVyIHRvIGEgRFBMTCBzdHJ1Y3QgY2xrCisgKgorICogSW5zdHJ1Y3RzIGEgbm9uLUNPUkUgRFBMTCB0byBlbnRlciBsb3ctcG93ZXIgYnlwYXNzIG1vZGUuICBJbgorICogYnlwYXNzIG1vZGUsIHRoZSBEUExMJ3MgcmF0ZSBpcyBzZXQgZXF1YWwgdG8gaXRzIHBhcmVudCBjbG9jaydzCisgKiByYXRlLiAgV2FpdHMgZm9yIHRoZSBEUExMIHRvIHJlcG9ydCByZWFkaW5lc3MgYmVmb3JlIHJldHVybmluZy4KKyAqIFdpbGwgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgRFBMTCdzIGF1dG9pZGxlIHN0YXRlIGFjcm9zcyB0aGUgZW5hYmxlLAorICogcGVyIHRoZSBDRFAgY29kZS4gIElmIHRoZSBEUExMIGVudGVyZWQgYnlwYXNzIG1vZGUgc3VjY2Vzc2Z1bGx5LAorICogcmV0dXJuIDA7IGlmIHRoZSBEUExMIGRpZCBub3QgZW50ZXIgYnlwYXNzIGluIHRoZSB0aW1lIGFsbG90dGVkLCBvcgorICogRFBMTDMgd2FzIHBhc3NlZCBpbiwgb3IgdGhlIERQTEwgZG9lcyBub3Qgc3VwcG9ydCBsb3ctcG93ZXIgYnlwYXNzLAorICogcmV0dXJuIC1FSU5WQUwuCisgKi8KK3N0YXRpYyBpbnQgX29tYXAzX25vbmNvcmVfZHBsbF9ieXBhc3Moc3RydWN0IGNsayAqY2xrKQoreworCWludCByOworCXU4IGFpOworCisJaWYgKGNsayA9PSAmZHBsbDNfY2spCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCEoY2xrLT5kcGxsX2RhdGEtPm1vZGVzICYgKDEgPDwgRFBMTF9MT1dfUE9XRVJfQllQQVNTKSkpCisJCXJldHVybiAtRUlOVkFMOworCisJcHJfZGVidWcoImNsb2NrOiBjb25maWd1cmluZyBEUExMICVzIGZvciBsb3ctcG93ZXIgYnlwYXNzXG4iLAorCQkgY2xrLT5uYW1lKTsKKworCWFpID0gb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKGNsayk7CisKKwlfb21hcDNfZHBsbF93cml0ZV9jbGtlbihjbGssIERQTExfTE9XX1BPV0VSX0JZUEFTUyk7CisKKwlyID0gX29tYXAzX3dhaXRfZHBsbF9zdGF0dXMoY2xrLCAwKTsKKworCWlmIChhaSkKKwkJb21hcDNfZHBsbF9hbGxvd19pZGxlKGNsayk7CisJZWxzZQorCQlvbWFwM19kcGxsX2RlbnlfaWRsZShjbGspOworCisJcmV0dXJuIHI7Cit9CisKKy8qCisgKiBfb21hcDNfbm9uY29yZV9kcGxsX3N0b3AgLSBpbnN0cnVjdCBhIERQTEwgdG8gc3RvcAorICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW50ZXIgbG93LXBvd2VyIHN0b3AuIFdpbGwgc2F2ZSBhbmQKKyAqIHJlc3RvcmUgdGhlIERQTEwncyBhdXRvaWRsZSBzdGF0ZSBhY3Jvc3MgdGhlIHN0b3AsIHBlciB0aGUgQ0RQCisgKiBjb2RlLiAgSWYgRFBMTDMgd2FzIHBhc3NlZCBpbiwgb3IgdGhlIERQTEwgZG9lcyBub3Qgc3VwcG9ydAorICogbG93LXBvd2VyIHN0b3AsIHJldHVybiAtRUlOVkFMOyBvdGhlcndpc2UsIHJldHVybiAwLgorICovCitzdGF0aWMgaW50IF9vbWFwM19ub25jb3JlX2RwbGxfc3RvcChzdHJ1Y3QgY2xrICpjbGspCit7CisJdTggYWk7CisKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIShjbGstPmRwbGxfZGF0YS0+bW9kZXMgJiAoMSA8PCBEUExMX0xPV19QT1dFUl9TVE9QKSkpCisJCXJldHVybiAtRUlOVkFMOworCisJcHJfZGVidWcoImNsb2NrOiBzdG9wcGluZyBEUExMICVzXG4iLCBjbGstPm5hbWUpOworCisJYWkgPSBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQoY2xrKTsKKworCV9vbWFwM19kcGxsX3dyaXRlX2Nsa2VuKGNsaywgRFBMTF9MT1dfUE9XRVJfU1RPUCk7CisKKwlpZiAoYWkpCisJCW9tYXAzX2RwbGxfYWxsb3dfaWRsZShjbGspOworCWVsc2UKKwkJb21hcDNfZHBsbF9kZW55X2lkbGUoY2xrKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUgLSBpbnN0cnVjdCBhIERQTEwgdG8gZW50ZXIgYnlwYXNzIG9yIGxvY2sgbW9kZQorICogQGNsazogcG9pbnRlciB0byBhIERQTEwgc3RydWN0IGNsaworICoKKyAqIEluc3RydWN0cyBhIG5vbi1DT1JFIERQTEwgdG8gZW5hYmxlLCBlLmcuLCB0byBlbnRlciBieXBhc3Mgb3IgbG9jay4KKyAqIFRoZSBjaG9pY2Ugb2YgbW9kZXMgZGVwZW5kcyBvbiB0aGUgRFBMTCdzIHByb2dyYW1tZWQgcmF0ZTogaWYgaXQgaXMKKyAqIHRoZSBzYW1lIGFzIHRoZSBEUExMJ3MgcGFyZW50IGNsb2NrLCBpdCB3aWxsIGVudGVyIGJ5cGFzczsKKyAqIG90aGVyd2lzZSwgaXQgd2lsbCBlbnRlciBsb2NrLiAgVGhpcyBjb2RlIHdpbGwgd2FpdCBmb3IgdGhlIERQTEwgdG8KKyAqIGluZGljYXRlIHJlYWRpbmVzcyBiZWZvcmUgcmV0dXJuaW5nLCB1bmxlc3MgdGhlIERQTEwgdGFrZXMgdG9vIGxvbmcKKyAqIHRvIGVudGVyIHRoZSB0YXJnZXQgc3RhdGUuICBJbnRlbmRlZCB0byBiZSB1c2VkIGFzIHRoZSBzdHJ1Y3QgY2xrJ3MKKyAqIGVuYWJsZSBmdW5jdGlvbi4gIElmIERQTEwzIHdhcyBwYXNzZWQgaW4sIG9yIHRoZSBEUExMIGRvZXMgbm90CisgKiBzdXBwb3J0IGxvdy1wb3dlciBzdG9wLCBvciBpZiB0aGUgRFBMTCB0b29rIHRvbyBsb25nIHRvIGVudGVyCisgKiBieXBhc3Mgb3IgbG9jaywgcmV0dXJuIC1FSU5WQUw7IG90aGVyd2lzZSwgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyBpbnQgb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaW50IHI7CisKKwlpZiAoY2xrID09ICZkcGxsM19jaykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY2xrLT5wYXJlbnQtPnJhdGUgPT0gY2xrX2dldF9yYXRlKGNsaykpCisJCXIgPSBfb21hcDNfbm9uY29yZV9kcGxsX2J5cGFzcyhjbGspOworCWVsc2UKKwkJciA9IF9vbWFwM19ub25jb3JlX2RwbGxfbG9jayhjbGspOworCisJcmV0dXJuIHI7Cit9CisKKy8qKgorICogb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZSAtIGluc3RydWN0IGEgRFBMTCB0byBlbnRlciBieXBhc3Mgb3IgbG9jayBtb2RlCisgKiBAY2xrOiBwb2ludGVyIHRvIGEgRFBMTCBzdHJ1Y3QgY2xrCisgKgorICogSW5zdHJ1Y3RzIGEgbm9uLUNPUkUgRFBMTCB0byBlbmFibGUsIGUuZy4sIHRvIGVudGVyIGJ5cGFzcyBvciBsb2NrLgorICogVGhlIGNob2ljZSBvZiBtb2RlcyBkZXBlbmRzIG9uIHRoZSBEUExMJ3MgcHJvZ3JhbW1lZCByYXRlOiBpZiBpdCBpcworICogdGhlIHNhbWUgYXMgdGhlIERQTEwncyBwYXJlbnQgY2xvY2ssIGl0IHdpbGwgZW50ZXIgYnlwYXNzOworICogb3RoZXJ3aXNlLCBpdCB3aWxsIGVudGVyIGxvY2suICBUaGlzIGNvZGUgd2lsbCB3YWl0IGZvciB0aGUgRFBMTCB0bworICogaW5kaWNhdGUgcmVhZGluZXNzIGJlZm9yZSByZXR1cm5pbmcsIHVubGVzcyB0aGUgRFBMTCB0YWtlcyB0b28gbG9uZworICogdG8gZW50ZXIgdGhlIHRhcmdldCBzdGF0ZS4gIEludGVuZGVkIHRvIGJlIHVzZWQgYXMgdGhlIHN0cnVjdCBjbGsncworICogZW5hYmxlIGZ1bmN0aW9uLiAgSWYgRFBMTDMgd2FzIHBhc3NlZCBpbiwgb3IgdGhlIERQTEwgZG9lcyBub3QKKyAqIHN1cHBvcnQgbG93LXBvd2VyIHN0b3AsIG9yIGlmIHRoZSBEUExMIHRvb2sgdG9vIGxvbmcgdG8gZW50ZXIKKyAqIGJ5cGFzcyBvciBsb2NrLCByZXR1cm4gLUVJTlZBTDsgb3RoZXJ3aXNlLCByZXR1cm4gMC4KKyAqLworc3RhdGljIHZvaWQgb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCWlmIChjbGsgPT0gJmRwbGwzX2NrKQorCQlyZXR1cm47CisKKwlfb21hcDNfbm9uY29yZV9kcGxsX3N0b3AoY2xrKTsKK30KKworLyoqCisgKiBvbWFwM19kcGxsX2F1dG9pZGxlX3JlYWQgLSByZWFkIGEgRFBMTCdzIGF1dG9pZGxlIGJpdHMKKyAqIEBjbGs6IHN0cnVjdCBjbGsgKiBvZiB0aGUgRFBMTCB0byByZWFkCisgKgorICogUmV0dXJuIHRoZSBEUExMJ3MgYXV0b2lkbGUgYml0cywgc2hpZnRlZCBkb3duIHRvIGJpdCAwLiAgUmV0dXJucworICogLUVJTlZBTCBpZiBwYXNzZWQgYSBudWxsIHBvaW50ZXIgb3IgaWYgdGhlIHN0cnVjdCBjbGsgZG9lcyBub3QKKyAqIGFwcGVhciB0byByZWZlciB0byBhIERQTEwuCisgKi8KK3N0YXRpYyB1MzIgb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKHN0cnVjdCBjbGsgKmNsaykKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKwl1MzIgdjsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJdiA9IGNtX3JlYWRfcmVnKGRkLT5hdXRvaWRsZV9yZWcpOworCXYgJj0gZGQtPmF1dG9pZGxlX21hc2s7CisJdiA+Pj0gX19mZnMoZGQtPmF1dG9pZGxlX21hc2spOworCisJcmV0dXJuIHY7Cit9CisKKy8qKgorICogb21hcDNfZHBsbF9hbGxvd19pZGxlIC0gZW5hYmxlIERQTEwgYXV0b2lkbGUgYml0cworICogQGNsazogc3RydWN0IGNsayAqIG9mIHRoZSBEUExMIHRvIG9wZXJhdGUgb24KKyAqCisgKiBFbmFibGUgRFBMTCBhdXRvbWF0aWMgaWRsZSBjb250cm9sLiAgVGhpcyBhdXRvbWF0aWMgaWRsZSBtb2RlCisgKiBzd2l0Y2hpbmcgdGFrZXMgZWZmZWN0IG9ubHkgd2hlbiB0aGUgRFBMTCBpcyBsb2NrZWQsIGF0IGxlYXN0IG9uCisgKiBPTUFQMzQzMC4gIFRoZSBEUExMIHdpbGwgZW50ZXIgbG93LXBvd2VyIHN0b3Agd2hlbiBpdHMgZG93bnN0cmVhbQorICogY2xvY2tzIGFyZSBnYXRlZC4gIE5vIHJldHVybiB2YWx1ZS4KKyAqLworc3RhdGljIHZvaWQgb21hcDNfZHBsbF9hbGxvd19pZGxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwljb25zdCBzdHJ1Y3QgZHBsbF9kYXRhICpkZDsKKworCWlmICghY2xrIHx8ICFjbGstPmRwbGxfZGF0YSkKKwkJcmV0dXJuOworCisJZGQgPSBjbGstPmRwbGxfZGF0YTsKKworCS8qCisJICogUkVWSVNJVDogQ09SRSBEUExMIGNhbiBvcHRpb25hbGx5IGVudGVyIGxvdy1wb3dlciBieXBhc3MKKwkgKiBieSB3cml0aW5nIDB4NSBpbnN0ZWFkIG9mIDB4MS4gIEFkZCBzb21lIG1lY2hhbmlzbSB0bworCSAqIG9wdGlvbmFsbHkgZW50ZXIgdGhpcyBtb2RlLgorCSAqLworCWNtX3Jtd19yZWdfYml0cyhkZC0+YXV0b2lkbGVfbWFzaywKKwkJCURQTExfQVVUT0lETEVfTE9XX1BPV0VSX1NUT1AgPDwgX19mZnMoZGQtPmF1dG9pZGxlX21hc2spLAorCQkJZGQtPmF1dG9pZGxlX3JlZyk7Cit9CisKKy8qKgorICogb21hcDNfZHBsbF9kZW55X2lkbGUgLSBwcmV2ZW50IERQTEwgZnJvbSBhdXRvbWF0aWNhbGx5IGlkbGluZworICogQGNsazogc3RydWN0IGNsayAqIG9mIHRoZSBEUExMIHRvIG9wZXJhdGUgb24KKyAqCisgKiBEaXNhYmxlIERQTEwgYXV0b21hdGljIGlkbGUgY29udHJvbC4gIE5vIHJldHVybiB2YWx1ZS4KKyAqLworc3RhdGljIHZvaWQgb21hcDNfZHBsbF9kZW55X2lkbGUoc3RydWN0IGNsayAqY2xrKQoreworCWNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgKmRkOworCisJaWYgKCFjbGsgfHwgIWNsay0+ZHBsbF9kYXRhKQorCQlyZXR1cm47CisKKwlkZCA9IGNsay0+ZHBsbF9kYXRhOworCisJY21fcm13X3JlZ19iaXRzKGRkLT5hdXRvaWRsZV9tYXNrLAorCQkJRFBMTF9BVVRPSURMRV9ESVNBQkxFIDw8IF9fZmZzKGRkLT5hdXRvaWRsZV9tYXNrKSwKKwkJCWRkLT5hdXRvaWRsZV9yZWcpOworfQorCisvKiBDbG9jayBjb250cm9sIGZvciBEUExMIG91dHB1dHMgKi8KKwogLyoqCiAgKiBvbWFwM19jbGtvdXR4Ml9yZWNhbGMgLSByZWNhbGN1bGF0ZSBEUExMIFgyIG91dHB1dCB2aXJ0dWFsIGNsb2NrIHJhdGUKICAqIEBjbGs6IERQTEwgb3V0cHV0IHN0cnVjdCBjbGsKQEAgLTg5LDYgKzM3OCw4IEBACiAJCXByb3BhZ2F0ZV9yYXRlKGNsayk7CiB9CiAKKy8qIENvbW1vbiBjbG9jayBjb2RlICovCisKIC8qCiAgKiBBcyBpdCBpcyBzdHJ1Y3R1cmVkIG5vdywgdGhpcyB3aWxsIHByZXZlbnQgYW4gT01BUDIvMyBtdWx0aWJvb3QKICAqIGtlcm5lbCBmcm9tIGNvbXBpbGluZy4gIFRoaXMgd2lsbCBuZWVkIGZ1cnRoZXIgYXR0ZW50aW9uLgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvY2xvY2szNHh4LmgKaW5kZXggYzljNTk3Mi4uMDU3NTdlYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbG9jazM0eHguaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2Nsb2NrMzR4eC5oCkBAIC0xLDE0ICsxLDE5IEBACiAvKgogICogT01BUDMgY2xvY2sgZnJhbWV3b3JrCiAgKgotICogVmlydHVhbCBjbG9ja3MgYXJlIGludHJvZHVjZWQgYXMgYSBjb252ZW5pZW50IHRvb2xzLgotICogVGhleSBhcmUgc291cmNlcyBmb3Igb3RoZXIgY2xvY2tzIGFuZCBub3Qgc3VwcG9zZWQKLSAqIHRvIGJlIHJlcXVlc3RlZCBmcm9tIGRyaXZlcnMgZGlyZWN0bHkuCi0gKgogICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KICAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IE5va2lhIENvcnBvcmF0aW9uCiAgKgogICogV3JpdHRlbiBieSBQYXVsIFdhbG1zbGV5CisgKiBXaXRoIG1hbnkgZGV2aWNlIGNsb2NrIGZpeGVzIGJ5IEtldmluIEhpbG1hbiBhbmQgSm91bmkgSMO2Z2FuZGVyCisgKiBEUExMIGJ5cGFzcyBjbG9jayBzdXBwb3J0IGFkZGVkIGJ5IFJvbWFuIFRlcmVzaG9ua292CisgKgorICovCisKKy8qCisgKiBWaXJ0dWFsIGNsb2NrcyBhcmUgaW50cm9kdWNlZCBhcyBjb252ZW5pZW50IHRvb2xzLgorICogVGhleSBhcmUgc291cmNlcyBmb3Igb3RoZXIgY2xvY2tzIGFuZCBub3Qgc3VwcG9zZWQKKyAqIHRvIGJlIHJlcXVlc3RlZCBmcm9tIGRyaXZlcnMgZGlyZWN0bHkuCiAgKi8KIAogI2lmbmRlZiBfX0FSQ0hfQVJNX01BQ0hfT01BUDJfQ0xPQ0szNFhYX0gKQEAgLTI0LDYgKzI5LDE1IEBACiAKIHN0YXRpYyB2b2lkIG9tYXAzX2RwbGxfcmVjYWxjKHN0cnVjdCBjbGsgKmNsayk7CiBzdGF0aWMgdm9pZCBvbWFwM19jbGtvdXR4Ml9yZWNhbGMoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB2b2lkIG9tYXAzX2RwbGxfYWxsb3dfaWRsZShzdHJ1Y3QgY2xrICpjbGspOworc3RhdGljIHZvaWQgb21hcDNfZHBsbF9kZW55X2lkbGUoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB1MzIgb21hcDNfZHBsbF9hdXRvaWRsZV9yZWFkKHN0cnVjdCBjbGsgKmNsayk7CitzdGF0aWMgaW50IG9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUoc3RydWN0IGNsayAqY2xrKTsKK3N0YXRpYyB2b2lkIG9tYXAzX25vbmNvcmVfZHBsbF9kaXNhYmxlKHN0cnVjdCBjbGsgKmNsayk7CisKKy8qIE1heGltdW0gRFBMTCBtdWx0aXBsaWVyLCBkaXZpZGVyIHZhbHVlcyBmb3IgT01BUDMgKi8KKyNkZWZpbmUgT01BUDNfTUFYX0RQTExfTVVMVAkJMjA0OAorI2RlZmluZSBPTUFQM19NQVhfRFBMTF9ESVYJCTEyOAogCiAvKgogICogRFBMTDEgc3VwcGxpZXMgY2xvY2sgdG8gdGhlIE1QVS4KQEAgLTMzLDYgKzQ3LDExIEBACiAgKiBEUExMNSBzdXBwbGllcyBvdGhlciBwZXJpcGhlcmFsIGNsb2NrcyAoVVNCSE9TVCwgVVNJTSkuCiAgKi8KIAorLyogQ01fQ0xLRU5fUExMKi5FTiogYml0IHZhbHVlcyAtIG5vdCBhbGwgYXJlIGF2YWlsYWJsZSBmb3IgZXZlcnkgRFBMTCAqLworI2RlZmluZSBEUExMX0xPV19QT1dFUl9TVE9QCQkweDEKKyNkZWZpbmUgRFBMTF9MT1dfUE9XRVJfQllQQVNTCQkweDUKKyNkZWZpbmUgRFBMTF9MT0NLRUQJCQkweDcKKwogLyogUFJNIENMT0NLUyAqLwogCiAvKiBBY2NvcmRpbmcgdG8gdGltZXIzMmsuYywgdGhpcyBpcyBhIDMyNzY4SHogY2xvY2ssIG5vdCBhIDMyMDAwSHogY2xvY2suICovCkBAIC0yNDAsMTUgKzI1OSwyMyBAQAogLyogRFBMTDEgKi8KIC8qIE1QVSBjbG9jayBzb3VyY2UgKi8KIC8qIFR5cGU6IERQTEwgKi8KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwxX2RkID0geworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDFfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fQ0xLU0VMMV9QTEwpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9NUFVfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwX01QVV9EUExMX0RJVl9NQVNLLAogCS5jb250cm9sX3JlZwk9IE9NQVBfQ01fUkVHQUREUihNUFVfTU9ELCBPTUFQMzQzMF9DTV9DTEtFTl9QTEwpLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwX0VOX01QVV9EUExMX01BU0ssCisJLm1vZGVzCQk9ICgxIDw8IERQTExfTE9XX1BPV0VSX0JZUEFTUykgfCAoMSA8PCBEUExMX0xPQ0tFRCksCiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBfRU5fTVBVX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBfTVBVX0RQTExfUkVDQUxfRU5fU0hJRlQsCiAJLnJlY2FsX3N0X2JpdAk9IE9NQVAzNDMwX01QVV9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoTVBVX01PRCwgT01BUDM0MzBfQ01fQVVUT0lETEVfUExMKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwX0FVVE9fTVBVX0RQTExfTUFTSywKKwkuaWRsZXN0X3JlZwk9IE9NQVBfQ01fUkVHQUREUihNUFVfTU9ELCBPTUFQMzQzMF9DTV9JRExFU1RfUExMKSwKKwkuaWRsZXN0X2JpdAk9IE9NQVAzNDMwX1NUX01QVV9DTEtfU0hJRlQsCisJLm1heF9tdWx0aXBsaWVyID0gT01BUDNfTUFYX0RQTExfTVVMVCwKKwkubWF4X2RpdmlkZXIJPSBPTUFQM19NQVhfRFBMTF9ESVYsCisJLnJhdGVfdG9sZXJhbmNlID0gREVGQVVMVF9EUExMX1JBVEVfVE9MRVJBTkNFCiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBkcGxsMV9jayA9IHsKQEAgLTI1Niw2ICsyODMsNyBAQAogCS5wYXJlbnQJCT0gJnN5c19jaywKIAkuZHBsbF9kYXRhCT0gJmRwbGwxX2RkLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8IEFMV0FZU19FTkFCTEVELAorCS5yb3VuZF9yYXRlCT0gJm9tYXAyX2RwbGxfcm91bmRfcmF0ZSwKIAkucmVjYWxjCQk9ICZvbWFwM19kcGxsX3JlY2FsYywKIH07CiAKQEAgLTI5NywyMiArMzI1LDM0IEBACiAvKiBJVkEyIGNsb2NrIHNvdXJjZSAqLwogLyogVHlwZTogRFBMTCAqLwogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsMl9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGwyX2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0lWQTJfTU9ELCBPTUFQMzQzMF9DTV9DTEtTRUwxX1BMTCksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwX0lWQTJfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwX0lWQTJfRFBMTF9ESVZfTUFTSywKIAkuY29udHJvbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfSVZBMl9NT0QsIE9NQVAzNDMwX0NNX0NMS0VOX1BMTCksCiAJLmVuYWJsZV9tYXNrCT0gT01BUDM0MzBfRU5fSVZBMl9EUExMX01BU0ssCisJLm1vZGVzCQk9ICgxIDw8IERQTExfTE9XX1BPV0VSX1NUT1ApIHwgKDEgPDwgRFBMTF9MT0NLRUQpIHwKKwkJCQkoMSA8PCBEUExMX0xPV19QT1dFUl9CWVBBU1MpLAogCS5hdXRvX3JlY2FsX2JpdAk9IE9NQVAzNDMwX0VOX0lWQTJfRFBMTF9EUklGVEdVQVJEX1NISUZULAogCS5yZWNhbF9lbl9iaXQJPSBPTUFQMzQzMF9QUk1fSVJRRU5BQkxFX01QVV9JVkEyX0RQTExfUkVDQUxfRU5fU0hJRlQsCiAJLnJlY2FsX3N0X2JpdAk9IE9NQVAzNDMwX1BSTV9JUlFTVEFUVVNfTVBVX0lWQTJfRFBMTF9TVF9TSElGVCwKKwkuYXV0b2lkbGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX0lWQTJfTU9ELCBPTUFQMzQzMF9DTV9BVVRPSURMRV9QTEwpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBfQVVUT19JVkEyX0RQTExfTUFTSywKKwkuaWRsZXN0X3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9JVkEyX01PRCwgT01BUDM0MzBfQ01fSURMRVNUX1BMTCksCisJLmlkbGVzdF9iaXQJPSBPTUFQMzQzMF9TVF9JVkEyX0NMS19TSElGVCwKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGwyX2NrID0gewogCS5uYW1lCQk9ICJkcGxsMl9jayIsCiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDJfZGQsCi0JLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwgQUxXQVlTX0VOQUJMRUQsCisJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTLAorCS5lbmFibGUJCT0gJm9tYXAzX25vbmNvcmVfZHBsbF9lbmFibGUsCisJLmRpc2FibGUJPSAmb21hcDNfbm9uY29yZV9kcGxsX2Rpc2FibGUsCisJLnJvdW5kX3JhdGUJPSAmb21hcDJfZHBsbF9yb3VuZF9yYXRlLAogCS5yZWNhbGMJCT0gJm9tYXAzX2RwbGxfcmVjYWxjLAogfTsKIApAQCAtMzM4LDEwICszNzgsMTIgQEAKIAkucmVjYWxjCQk9ICZvbWFwMl9jbGtzZWxfcmVjYWxjLAogfTsKIAotLyogRFBMTDMgKi8KLS8qIFNvdXJjZSBjbG9jayBmb3IgYWxsIGludGVyZmFjZXMgYW5kIGZvciBzb21lIGRldmljZSBmY2xrcyAqLwotLyogVHlwZTogRFBMTCAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDNfZGQgPSB7CisvKgorICogRFBMTDMKKyAqIFNvdXJjZSBjbG9jayBmb3IgYWxsIGludGVyZmFjZXMgYW5kIGZvciBzb21lIGRldmljZSBmY2xrcworICogUkVWSVNJVDogQWxzbyBzdXBwb3J0cyBmYXN0IHJlbG9jayBieXBhc3MgLSBub3QgaW5jbHVkZWQgYmVsb3cKKyAqLworc3RhdGljIHN0cnVjdCBkcGxsX2RhdGEgZHBsbDNfZGQgPSB7CiAJLm11bHRfZGl2MV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSksCiAJLm11bHRfbWFzawk9IE9NQVAzNDMwX0NPUkVfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwX0NPUkVfRFBMTF9ESVZfTUFTSywKQEAgLTM1MCw2ICszOTIsMTEgQEAKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMF9FTl9DT1JFX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBfQ09SRV9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMF9DT1JFX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9BVVRPSURMRSksCisJLmF1dG9pZGxlX21hc2sJPSBPTUFQMzQzMF9BVVRPX0NPUkVfRFBMTF9NQVNLLAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDNfY2sgPSB7CkBAIC0zNTcsNiArNDA0LDcgQEAKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsM19kZCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC00MzksNyArNDg3LDcgQEAKIAkubmFtZQkJPSAiY29yZV9jayIsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX0NPUkVfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBjb3JlX2NrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTQ1Niw3ICs1MDQsNyBAQAogCS5uYW1lCQk9ICJkcGxsM19tMngyX2NrIiwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfQ09SRV9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfQ09SRV9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IGRwbGwzX20yeDJfY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJUEFSRU5UX0NPTlRST0xTX0NMT0NLLApAQCAtNTAzLDcgKzU1MSw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDNfbTN4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfQ09SRV9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfQ09SRV9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IGVtdV9jb3JlX2Fsd29uX2NrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTUxMywyMiArNTYxLDMzIEBACiAvKiBEUExMNCAqLwogLyogU3VwcGxpZXMgOTZNSHosIDU0TWh6IFRWIERBQywgRFNTIGZjbGssIENBTSBzZW5zb3IgY2xvY2ssIGVtdWwgdHJhY2UgY2xrICovCiAvKiBUeXBlOiBEUExMICovCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRwbGxfZGF0YSBkcGxsNF9kZCA9IHsKK3N0YXRpYyBzdHJ1Y3QgZHBsbF9kYXRhIGRwbGw0X2RkID0gewogCS5tdWx0X2RpdjFfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpLAogCS5tdWx0X21hc2sJPSBPTUFQMzQzMF9QRVJJUEhfRFBMTF9NVUxUX01BU0ssCiAJLmRpdjFfbWFzawk9IE9NQVAzNDMwX1BFUklQSF9EUExMX0RJVl9NQVNLLAogCS5jb250cm9sX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtFTiksCiAJLmVuYWJsZV9tYXNrCT0gT01BUDM0MzBfRU5fUEVSSVBIX0RQTExfTUFTSywKKwkubW9kZXMJCT0gKDEgPDwgRFBMTF9MT1dfUE9XRVJfU1RPUCkgfCAoMSA8PCBEUExMX0xPQ0tFRCksCiAJLmF1dG9fcmVjYWxfYml0CT0gT01BUDM0MzBfRU5fUEVSSVBIX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBfUEVSSVBIX0RQTExfUkVDQUxfRU5fU0hJRlQsCiAJLnJlY2FsX3N0X2JpdAk9IE9NQVAzNDMwX1BFUklQSF9EUExMX1NUX1NISUZULAorCS5hdXRvaWRsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQVVUT0lETEUpLAorCS5hdXRvaWRsZV9tYXNrCT0gT01BUDM0MzBfQVVUT19QRVJJUEhfRFBMTF9NQVNLLAorCS5pZGxlc3RfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCisJLmlkbGVzdF9iaXQJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX1NISUZULAorCS5tYXhfbXVsdGlwbGllciA9IE9NQVAzX01BWF9EUExMX01VTFQsCisJLm1heF9kaXZpZGVyCT0gT01BUDNfTUFYX0RQTExfRElWLAorCS5yYXRlX3RvbGVyYW5jZSA9IERFRkFVTFRfRFBMTF9SQVRFX1RPTEVSQU5DRQogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgZHBsbDRfY2sgPSB7CiAJLm5hbWUJCT0gImRwbGw0X2NrIiwKIAkucGFyZW50CQk9ICZzeXNfY2ssCiAJLmRwbGxfZGF0YQk9ICZkcGxsNF9kZCwKLQkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfCBBTFdBWVNfRU5BQkxFRCwKKwkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMsCisJLmVuYWJsZQkJPSAmb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZSwKKwkuZGlzYWJsZQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZSwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC01ODQsNyArNjQzLDcgQEAKIAkucGFyZW50CQk9ICZkcGxsNF9tMngyX2NrLAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IG9tYXBfOTZtX2Fsd29uX2Zja19jbGtzZWwsCiAJLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDNYIHwgUkFURV9QUk9QQUdBVEVTIHwKIAkJCQkgUEFSRU5UX0NPTlRST0xTX0NMT0NLLApAQCAtNjEwLDcgKzY2OSw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDRfbTJ4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBjbV85Nm1fZmNrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1ggfCBSQVRFX1BST1BBR0FURVMgfAogCQkJCVBBUkVOVF9DT05UUk9MU19DTE9DSywKQEAgLTY1Miw3ICs3MTEsNyBAQAogCS5wYXJlbnQJCT0gJmRwbGw0X20zeDJfY2ssCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuY2xrc2VsX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpLAotCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEssCisJLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMS19NQVNLLAogCS5jbGtzZWwJCT0gdmlydF9vbWFwXzU0bV9mY2tfY2xrc2VsLAogCS5mbGFncwkJPSBDTE9DS19JTl9PTUFQMzQzWCB8IFJBVEVfUFJPUEFHQVRFUyB8CiAJCQkJUEFSRU5UX0NPTlRST0xTX0NMT0NLLApAQCAtODA0LDIzICs4NjMsMzMgQEAKIC8qIFN1cHBsaWVzIDEyME1IeiBjbG9jaywgVVNJTSBzb3VyY2UgY2xvY2sgKi8KIC8qIFR5cGU6IERQTEwgKi8KIC8qIDM0MzBFUzIgb25seSAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBkcGxsX2RhdGEgZHBsbDVfZGQgPSB7CitzdGF0aWMgc3RydWN0IGRwbGxfZGF0YSBkcGxsNV9kZCA9IHsKIAkubXVsdF9kaXYxX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBPTUFQMzQzMEVTMl9DTV9DTEtTRUw0KSwKIAkubXVsdF9tYXNrCT0gT01BUDM0MzBFUzJfUEVSSVBIMl9EUExMX01VTFRfTUFTSywKIAkuZGl2MV9tYXNrCT0gT01BUDM0MzBFUzJfUEVSSVBIMl9EUExMX0RJVl9NQVNLLAogCS5jb250cm9sX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBPTUFQMzQzMEVTMl9DTV9DTEtFTjIpLAogCS5lbmFibGVfbWFzawk9IE9NQVAzNDMwRVMyX0VOX1BFUklQSDJfRFBMTF9NQVNLLAorCS5tb2RlcwkJPSAoMSA8PCBEUExMX0xPV19QT1dFUl9TVE9QKSB8ICgxIDw8IERQTExfTE9DS0VEKSwKIAkuYXV0b19yZWNhbF9iaXQJPSBPTUFQMzQzMEVTMl9FTl9QRVJJUEgyX0RQTExfRFJJRlRHVUFSRF9TSElGVCwKIAkucmVjYWxfZW5fYml0CT0gT01BUDM0MzBFUzJfU05EX1BFUklQSF9EUExMX1JFQ0FMX0VOX1NISUZULAogCS5yZWNhbF9zdF9iaXQJPSBPTUFQMzQzMEVTMl9TTkRfUEVSSVBIX0RQTExfU1RfU0hJRlQsCisJLmF1dG9pZGxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihQTExfTU9ELCBPTUFQMzQzMEVTMl9DTV9BVVRPSURMRTJfUExMKSwKKwkuYXV0b2lkbGVfbWFzawk9IE9NQVAzNDMwRVMyX0FVVE9fUEVSSVBIMl9EUExMX01BU0ssCisJLmlkbGVzdF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUMiksCisJLmlkbGVzdF9iaXQJPSBPTUFQMzQzMEVTMl9TVF9QRVJJUEgyX0NMS19TSElGVCwKKwkubWF4X211bHRpcGxpZXIgPSBPTUFQM19NQVhfRFBMTF9NVUxULAorCS5tYXhfZGl2aWRlcgk9IE9NQVAzX01BWF9EUExMX0RJViwKKwkucmF0ZV90b2xlcmFuY2UgPSBERUZBVUxUX0RQTExfUkFURV9UT0xFUkFOQ0UKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGRwbGw1X2NrID0gewogCS5uYW1lCQk9ICJkcGxsNV9jayIsCiAJLnBhcmVudAkJPSAmc3lzX2NrLAogCS5kcGxsX2RhdGEJPSAmZHBsbDVfZGQsCi0JLmZsYWdzCQk9IENMT0NLX0lOX09NQVAzNDMwRVMyIHwgUkFURV9QUk9QQUdBVEVTIHwKLQkJCQlBTFdBWVNfRU5BQkxFRCwKKwkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0MzBFUzIgfCBSQVRFX1BST1BBR0FURVMsCisJLmVuYWJsZQkJPSAmb21hcDNfbm9uY29yZV9kcGxsX2VuYWJsZSwKKwkuZGlzYWJsZQk9ICZvbWFwM19ub25jb3JlX2RwbGxfZGlzYWJsZSwKKwkucm91bmRfcmF0ZQk9ICZvbWFwMl9kcGxsX3JvdW5kX3JhdGUsCiAJLnJlY2FsYwkJPSAmb21hcDNfZHBsbF9yZWNhbGMsCiB9OwogCkBAIC0xMzY1LDcgKzE0MzQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A1X2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3A1X2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDUsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fRkNMS0VOMSksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDVfU0hJRlQsCkBAIC0xMzc3LDcgKzE0NDcsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AxX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AxX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDEsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihDT1JFX01PRCwgQ01fRkNMS0VOMSksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDFfU0hJRlQsCkBAIC0xNzg5LDcgKzE4NjAsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3A1X2ljayA9IHsKLQkubmFtZQkJPSAibWNic3A1X2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDUsCiAJLnBhcmVudAkJPSAmY29yZV9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoQ09SRV9NT0QsIENNX0lDTEtFTjEpLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1A1X1NISUZULApAQCAtMTc5OCw3ICsxODcwLDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwMV9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwMV9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSAxLAogCS5wYXJlbnQJCT0gJmNvcmVfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKENPUkVfTU9ELCBDTV9JQ0xLRU4xKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQMV9TSElGVCwKQEAgLTE5MzUsNyArMjAwOCw3IEBACiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfRFNTX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX0RTUzFfU0hJRlQsCiAJLmNsa3NlbF9yZWcJPSBPTUFQX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUKSwKLQkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLLAorCS5jbGtzZWxfbWFzawk9IE9NQVAzNDMwX1NUX1BFUklQSF9DTEtfTUFTSywKIAkuY2xrc2VsCQk9IGRzczFfYWx3b25fZmNrX2Nsa3NlbCwKIAkuZmxhZ3MJCT0gQ0xPQ0tfSU5fT01BUDM0M1gsCiAJLnJlY2FsYwkJPSAmb21hcDJfY2xrc2VsX3JlY2FsYywKQEAgLTE5OTEsNyArMjA2NCw3IEBACiAJLnBhcmVudAkJPSAmZHBsbDRfbTV4Ml9jaywKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5jbGtzZWxfcmVnCT0gT01BUF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCksCi0JLmNsa3NlbF9tYXNrCT0gT01BUDM0MzBfU1RfUEVSSVBIX0NMSywKKwkuY2xrc2VsX21hc2sJPSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0ssCiAJLmNsa3NlbAkJPSBjYW1fbWNsa19jbGtzZWwsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfQ0FNX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX0NBTV9TSElGVCwKQEAgLTI1NDEsNyArMjYxNCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDJfaWNrID0gewotCS5uYW1lCQk9ICJtY2JzcDJfaWNrIiwKKwkubmFtZQkJPSAibWNic3BfaWNrIiwKKwkuaWQJCT0gMiwKIAkucGFyZW50CQk9ICZwZXJfbDRfaWNrLAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0lDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDJfU0hJRlQsCkBAIC0yNTUwLDcgKzI2MjQsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AzX2ljayA9IHsKLQkubmFtZQkJPSAibWNic3AzX2ljayIsCisJLm5hbWUJCT0gIm1jYnNwX2ljayIsCisJLmlkCQk9IDMsCiAJLnBhcmVudAkJPSAmcGVyX2w0X2ljaywKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9JQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AzX1NISUZULApAQCAtMjU1OSw3ICsyNjM0LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNF9pY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNF9pY2siLAorCS5uYW1lCQk9ICJtY2JzcF9pY2siLAorCS5pZAkJPSA0LAogCS5wYXJlbnQJCT0gJnBlcl9sNF9pY2ssCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fSUNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQNF9TSElGVCwKQEAgLTI1NzQsNyArMjY1MCw4IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IGNsayBtY2JzcDJfZmNrID0gewotCS5uYW1lCQk9ICJtY2JzcDJfZmNrIiwKKwkubmFtZQkJPSAibWNic3BfZmNrIiwKKwkuaWQJCT0gMiwKIAkuaW5pdAkJPSAmb21hcDJfaW5pdF9jbGtzZWxfcGFyZW50LAogCS5lbmFibGVfcmVnCT0gT01BUF9DTV9SRUdBRERSKE9NQVAzNDMwX1BFUl9NT0QsIENNX0ZDTEtFTiksCiAJLmVuYWJsZV9iaXQJPSBPTUFQMzQzMF9FTl9NQ0JTUDJfU0hJRlQsCkBAIC0yNTg2LDcgKzI2NjMsOCBAQAogfTsKIAogc3RhdGljIHN0cnVjdCBjbGsgbWNic3AzX2ZjayA9IHsKLQkubmFtZQkJPSAibWNic3AzX2ZjayIsCisJLm5hbWUJCT0gIm1jYnNwX2ZjayIsCisJLmlkCQk9IDMsCiAJLmluaXQJCT0gJm9tYXAyX2luaXRfY2xrc2VsX3BhcmVudCwKIAkuZW5hYmxlX3JlZwk9IE9NQVBfQ01fUkVHQUREUihPTUFQMzQzMF9QRVJfTU9ELCBDTV9GQ0xLRU4pLAogCS5lbmFibGVfYml0CT0gT01BUDM0MzBfRU5fTUNCU1AzX1NISUZULApAQCAtMjU5OCw3ICsyNjc2LDggQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIG1jYnNwNF9mY2sgPSB7Ci0JLm5hbWUJCT0gIm1jYnNwNF9mY2siLAorCS5uYW1lCQk9ICJtY2JzcF9mY2siLAorCS5pZAkJPSA0LAogCS5pbml0CQk9ICZvbWFwMl9pbml0X2Nsa3NlbF9wYXJlbnQsCiAJLmVuYWJsZV9yZWcJPSBPTUFQX0NNX1JFR0FERFIoT01BUDM0MzBfUEVSX01PRCwgQ01fRkNMS0VOKSwKIAkuZW5hYmxlX2JpdAk9IE9NQVAzNDMwX0VOX01DQlNQNF9TSElGVCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvY20tcmVnYml0cy0zNHh4LmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLXJlZ2JpdHMtMzR4eC5oCmluZGV4IDNjMzgzOTUuLmVlNGMwY2EgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY20tcmVnYml0cy0zNHh4LmgKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS1yZWdiaXRzLTM0eHguaApAQCAtNzIsNyArNzIsOCBAQAogI2RlZmluZSBPTUFQMzQzMF9TVF9JVkEyCQkJCSgxIDw8IDApCiAKIC8qIENNX0lETEVTVF9QTExfSVZBMiAqLwotI2RlZmluZSBPTUFQMzQzMF9TVF9JVkEyX0NMSwkJCQkoMSA8PCAwKQorI2RlZmluZSBPTUFQMzQzMF9TVF9JVkEyX0NMS19TSElGVAkJCTAKKyNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEtfTUFTSwkJCSgxIDw8IDApCiAKIC8qIENNX0FVVE9JRExFX1BMTF9JVkEyICovCiAjZGVmaW5lIE9NQVAzNDMwX0FVVE9fSVZBMl9EUExMX1NISUZUCQkJMApAQCAtMTE1LDEwICsxMTYsNyBAQAogI2RlZmluZSBPTUFQMzQzMF9TVF9NUFUJCQkJCSgxIDw8IDApCiAKIC8qIENNX0lETEVTVF9QTExfTVBVICovCi0jZGVmaW5lIE9NQVAzNDMwX1NUX01QVV9DTEsJCQkJKDEgPDwgMCkKLSNkZWZpbmUgT01BUDM0MzBfU1RfSVZBMl9DTEtfTUFTSwkJCSgxIDw8IDApCi0KLS8qIENNX0lETEVTVF9QTExfTVBVICovCisjZGVmaW5lIE9NQVAzNDMwX1NUX01QVV9DTEtfU0hJRlQJCQkwCiAjZGVmaW5lIE9NQVAzNDMwX1NUX01QVV9DTEtfTUFTSwkJCSgxIDw8IDApCiAKIC8qIENNX0FVVE9JRExFX1BMTF9NUFUgKi8KQEAgLTQwOCw4ICs0MDYsMTAgQEAKICNkZWZpbmUgT01BUDM0MzBfU1RfMTJNX0NMSwkJCQkoMSA8PCA0KQogI2RlZmluZSBPTUFQMzQzMF9TVF80OE1fQ0xLCQkJCSgxIDw8IDMpCiAjZGVmaW5lIE9NQVAzNDMwX1NUXzk2TV9DTEsJCQkJKDEgPDwgMikKLSNkZWZpbmUgT01BUDM0MzBfU1RfUEVSSVBIX0NMSwkJCQkoMSA8PCAxKQotI2RlZmluZSBPTUFQMzQzMF9TVF9DT1JFX0NMSwkJCQkoMSA8PCAwKQorI2RlZmluZSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX1NISUZUCQkJMQorI2RlZmluZSBPTUFQMzQzMF9TVF9QRVJJUEhfQ0xLX01BU0sJCQkoMSA8PCAxKQorI2RlZmluZSBPTUFQMzQzMF9TVF9DT1JFX0NMS19TSElGVAkJCTAKKyNkZWZpbmUgT01BUDM0MzBfU1RfQ09SRV9DTEtfTUFTSwkJCSgxIDw8IDApCiAKIC8qIENNX0lETEVTVDJfQ0tHRU4gKi8KICNkZWZpbmUgT01BUDM0MzBFUzJfU1RfMTIwTV9DTEtfU0hJRlQJCQkxCkBAIC00MjMsNiArNDIzLDEwIEBACiAjZGVmaW5lIE9NQVAzNDMwX0FVVE9fQ09SRV9EUExMX1NISUZUCQkJMAogI2RlZmluZSBPTUFQMzQzMF9BVVRPX0NPUkVfRFBMTF9NQVNLCQkJKDB4NyA8PCAwKQogCisvKiBDTV9BVVRPSURMRTJfUExMICovCisjZGVmaW5lIE9NQVAzNDMwRVMyX0FVVE9fUEVSSVBIMl9EUExMX1NISUZUCQkwCisjZGVmaW5lIE9NQVAzNDMwRVMyX0FVVE9fUEVSSVBIMl9EUExMX01BU0sJCSgweDcgPDwgMCkKKwogLyogQ01fQ0xLU0VMMV9QTEwgKi8KIC8qIE5vdGUgdGhhdCBPTUFQMzQzMF9DT1JFX0RQTExfQ0xLT1VUX0RJVl9NQVNLIHdhcyAoMHgzIDw8IDI3KSBvbiAzNDMwRVMxICovCiAjZGVmaW5lIE9NQVAzNDMwX0NPUkVfRFBMTF9DTEtPVVRfRElWX1NISUZUCQkyNwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9jbS5oCmluZGV4IDg0ODlmMzAuLjg3YTQ0YzcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvY20uaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2NtLmgKQEAgLTgxLDYgKzgxLDcgQEAKICNkZWZpbmUgT01BUDM0MzBFUzJfQ01fRkNMS0VOMwkJCQkweDAwMDgKICNkZWZpbmUgT01BUDM0MzBfQ01fSURMRVNUX1BMTAkJCQlDTV9JRExFU1QyCiAjZGVmaW5lIE9NQVAzNDMwX0NNX0FVVE9JRExFX1BMTAkJCUNNX0FVVE9JRExFMgorI2RlZmluZSBPTUFQMzQzMEVTMl9DTV9BVVRPSURMRTJfUExMCQkJQ01fQVVUT0lETEUyCiAjZGVmaW5lIE9NQVAzNDMwX0NNX0NMS1NFTDEJCQkJQ01fQ0xLU0VMCiAjZGVmaW5lIE9NQVAzNDMwX0NNX0NMS1NFTDFfUExMCQkJCUNNX0NMS1NFTAogI2RlZmluZSBPTUFQMzQzMF9DTV9DTEtTRUwyX1BMTAkJCQlDTV9DTEtTRUwyCkBAIC05NiwxNSArOTcsMjEgQEAKIC8qIENsb2NrIG1hbmFnZW1lbnQgZG9tYWluIHJlZ2lzdGVyIGdldC9zZXQgKi8KIAogI2lmbmRlZiBfX0FTU0VNQkxFUl9fCi1zdGF0aWMgaW5saW5lIHZvaWQgY21fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQorCitleHRlcm4gdTMyIGNtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCB1MTYgaWR4KTsKK2V4dGVybiB2b2lkIGNtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgdTE2IGlkeCk7CitleHRlcm4gdTMyIGNtX3Jtd19tb2RfcmVnX2JpdHModTMyIG1hc2ssIHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KTsKKworc3RhdGljIGlubGluZSB1MzIgY21fc2V0X21vZF9yZWdfYml0cyh1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKIHsKLQlfX3Jhd193cml0ZWwodmFsLCBPTUFQX0NNX1JFR0FERFIobW9kdWxlLCBpZHgpKTsKKwlyZXR1cm4gY21fcm13X21vZF9yZWdfYml0cyhiaXRzLCBiaXRzLCBtb2R1bGUsIGlkeCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIGNtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCBzMTYgaWR4KQorc3RhdGljIGlubGluZSB1MzIgY21fY2xlYXJfbW9kX3JlZ19iaXRzKHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQogewotCXJldHVybiBfX3Jhd19yZWFkbChPTUFQX0NNX1JFR0FERFIobW9kdWxlLCBpZHgpKTsKKwlyZXR1cm4gY21fcm13X21vZF9yZWdfYml0cyhiaXRzLCAweDAsIG1vZHVsZSwgaWR4KTsKIH0KKwogI2VuZGlmCiAKIC8qIENNIHJlZ2lzdGVyIGJpdHMgc2hhcmVkIGJldHdlZW4gMjRYWCBhbmQgMzQzMCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9jb250cm9sLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2NvbnRyb2wuYwppbmRleCBhNWQ4NmE0Li41MWY3MDMwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL2NvbnRyb2wuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2NvbnRyb2wuYwpAQCAtMTMsMjIgKzEzLDIxIEBACiAjdW5kZWYgREVCVUcKIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKLSNpbmNsdWRlIDxhc20vaW8uaD4KLQorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvbnRyb2wuaD4KIAotc3RhdGljIHUzMiBvbWFwMl9jdHJsX2Jhc2U7CitzdGF0aWMgdm9pZCBfX2lvbWVtICpvbWFwMl9jdHJsX2Jhc2U7CiAKLSNkZWZpbmUgT01BUF9DVFJMX1JFR0FERFIocmVnKQkodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhvbWFwMl9jdHJsX2Jhc2UgXAotCQkJCQkJCQkrIChyZWcpKQorI2RlZmluZSBPTUFQX0NUUkxfUkVHQUREUihyZWcpCQkob21hcDJfY3RybF9iYXNlICsgKHJlZykpCiAKLXZvaWQgb21hcF9jdHJsX2Jhc2Vfc2V0KHUzMiBiYXNlKQordm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfY29udHJvbChzdHJ1Y3Qgb21hcF9nbG9iYWxzICpvbWFwMl9nbG9iYWxzKQogewotCW9tYXAyX2N0cmxfYmFzZSA9IGJhc2U7CisJb21hcDJfY3RybF9iYXNlID0gb21hcDJfZ2xvYmFscy0+Y3RybDsKIH0KIAotdTMyIG9tYXBfY3RybF9iYXNlX2dldCh2b2lkKQordm9pZCBfX2lvbWVtICpvbWFwX2N0cmxfYmFzZV9nZXQodm9pZCkKIHsKIAlyZXR1cm4gb21hcDJfY3RybF9iYXNlOwogfQpAQCAtNTAsMjUgKzQ5LDE2IEBACiAKIHZvaWQgb21hcF9jdHJsX3dyaXRlYih1OCB2YWwsIHUxNiBvZmZzZXQpCiB7Ci0JcHJfZGVidWcoIm9tYXBfY3RybF93cml0ZWI6IHdyaXRpbmcgMHglMHggdG8gMHglMHhcbiIsIHZhbCwKLQkJICh1MzIpT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7Ci0KIAlfX3Jhd193cml0ZWIodmFsLCBPTUFQX0NUUkxfUkVHQUREUihvZmZzZXQpKTsKIH0KIAogdm9pZCBvbWFwX2N0cmxfd3JpdGV3KHUxNiB2YWwsIHUxNiBvZmZzZXQpCiB7Ci0JcHJfZGVidWcoIm9tYXBfY3RybF93cml0ZXc6IHdyaXRpbmcgMHglMHggdG8gMHglMHhcbiIsIHZhbCwKLQkJICh1MzIpT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7Ci0KIAlfX3Jhd193cml0ZXcodmFsLCBPTUFQX0NUUkxfUkVHQUREUihvZmZzZXQpKTsKIH0KIAogdm9pZCBvbWFwX2N0cmxfd3JpdGVsKHUzMiB2YWwsIHUxNiBvZmZzZXQpCiB7Ci0JcHJfZGVidWcoIm9tYXBfY3RybF93cml0ZWw6IHdyaXRpbmcgMHglMHggdG8gMHglMHhcbiIsIHZhbCwKLQkJICh1MzIpT01BUF9DVFJMX1JFR0FERFIob2Zmc2V0KSk7Ci0KIAlfX3Jhd193cml0ZWwodmFsLCBPTUFQX0NUUkxfUkVHQUREUihvZmZzZXQpKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9pZC5jCmluZGV4IDRkZmQ4NzguLmRmZjRiMTYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvaWQuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL2lkLmMKQEAgLTE3LDE2ICsxNywyMyBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNDIwKQotI2RlZmluZSBPTUFQMjRYWF9UQVBfQkFTRQlpb19wMnYoMHg0ODAxNDAwMCkKLSNlbmRpZgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbnRyb2wuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jcHUuaD4KIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCi0jZGVmaW5lIE9NQVAyNFhYX1RBUF9CQVNFCWlvX3AydigweDQ5MDBBMDAwKQorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MjApCisjZGVmaW5lIFRBUF9CQVNFCWlvX3AydigweDQ4MDE0MDAwKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjQzMCkKKyNkZWZpbmUgVEFQX0JBU0UJaW9fcDJ2KDB4NDkwMEEwMDApCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzNFhYKQorI2RlZmluZSBUQVBfQkFTRQlpb19wMnYoMHg0ODMwQTAwMCkKICNlbmRpZgogCiAjZGVmaW5lIE9NQVBfVEFQX0lEQ09ERQkJMHgwMjA0CisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKKyNkZWZpbmUgT01BUF9UQVBfUFJPRF9JRAkweDAyMTAKKyNlbHNlCiAjZGVmaW5lIE9NQVBfVEFQX1BST0RfSUQJMHgwMjA4CisjZW5kaWYKIAogI2RlZmluZSBPTUFQX1RBUF9ESUVfSURfMAkweDAyMTgKICNkZWZpbmUgT01BUF9UQVBfRElFX0lEXzEJMHgwMjFDCkBAIC01Niw5ICs2MywxMzQgQEAKIAl7IC5oYXdrZXllID0gMHhiNjhhLCAuZGV2ID0gMHgwLCAudHlwZSA9IDB4MjQzMDAwMDAgfSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9jaGlwX2lkIG9tYXBfY2hpcDsKKworLyoqCisgKiBvbWFwX2NoaXBfaXMgLSB0ZXN0IHdoZXRoZXIgY3VycmVudGx5IHJ1bm5pbmcgT01BUCBtYXRjaGVzIGEgY2hpcCB0eXBlCisgKiBAb2M6IG9tYXBfY2hpcF90IHRvIHRlc3QgYWdhaW5zdAorICoKKyAqIFRlc3Qgd2hldGhlciB0aGUgY3VycmVudGx5LXJ1bm5pbmcgT01BUCBjaGlwIG1hdGNoZXMgdGhlIHN1cHBsaWVkCisgKiBjaGlwIHR5cGUgJ29jJy4gIFJldHVybnMgMSB1cG9uIGEgbWF0Y2g7IDAgdXBvbiBmYWlsdXJlLgorICovCitpbnQgb21hcF9jaGlwX2lzKHN0cnVjdCBvbWFwX2NoaXBfaWQgb2NpKQoreworCXJldHVybiAob2NpLm9jICYgb21hcF9jaGlwLm9jKSA/IDEgOiAwOworfQorRVhQT1JUX1NZTUJPTChvbWFwX2NoaXBfaXMpOworCiBzdGF0aWMgdTMyIF9faW5pdCByZWFkX3RhcF9yZWcoaW50IHJlZykKIHsKLQlyZXR1cm4gX19yYXdfcmVhZGwoT01BUDI0WFhfVEFQX0JBU0UgKyByZWcpOworCXVuc2lnbmVkIGludCByZWd2YWwgPSAwOworCXUzMiBjcHVpZDsKKworCS8qIFJlYWRpbmcgdGhlIElEQ09ERSByZWdpc3RlciBvbiAzNDMwIEVTMSByZXN1bHRzIGluIGEKKwkgKiBkYXRhIGFib3J0IGFzIHRoZSByZWdpc3RlciBpcyBub3QgZXhwb3NlZCBvbiB0aGUgT0NQCisJICogSGVuY2UgcmVhZGluZyB0aGUgQ29ydGV4IFJldgorCSAqLworCWNwdWlkID0gcmVhZF9jcHVpZChDUFVJRF9JRCk7CisKKwkvKiBJZiB0aGUgcHJvY2Vzc29yIHR5cGUgaXMgQ29ydGV4LUE4IGFuZCB0aGUgcmV2aXNpb24gaXMgMHgwCisJICogaXQgbWVhbnMgaXRzIENvcnRleCByMHAwIHdoaWNoIGlzIDM0MzAgRVMxCisJICovCisJaWYgKCgoKGNwdWlkID4+IDQpICYgMHhGRkYpID09IDB4QzA4KSAmJiAoKGNwdWlkICYgMHhGKSA9PSAweDApKSB7CisJCXN3aXRjaCAocmVnKSB7CisJCWNhc2UgT01BUF9UQVBfSURDT0RFICA6IHJlZ3ZhbCA9IDB4MEI3QUUwMkY7IGJyZWFrOworCQkvKiBNYWtpbmcgRGV2VHlwZSBhcyAweEYgaW4gRVMxIHRvIGRpZmZlciBmcm9tIEVTMiAqLworCQljYXNlIE9NQVBfVEFQX1BST0RfSUQgOiByZWd2YWwgPSAweDAwMEYwMEYwOyBicmVhazsKKwkJY2FzZSBPTUFQX1RBUF9ESUVfSURfMDogcmVndmFsID0gMHgwMTAwMDAwMDsgYnJlYWs7CisJCWNhc2UgT01BUF9UQVBfRElFX0lEXzE6IHJlZ3ZhbCA9IDB4MTAxMmQ2ODc7IGJyZWFrOworCQljYXNlIE9NQVBfVEFQX0RJRV9JRF8yOglyZWd2YWwgPSAweDAwMDAwMDAwOyBicmVhazsKKwkJY2FzZSBPTUFQX1RBUF9ESUVfSURfMzoJcmVndmFsID0gMHgyZDJjMDAwMDsgYnJlYWs7CisJCX0KKwl9IGVsc2UKKwkJcmVndmFsID0gX19yYXdfcmVhZGwoVEFQX0JBU0UgKyByZWcpOworCisJcmV0dXJuIHJlZ3ZhbDsKKworfQorCisvKgorICogX3NldF9zeXN0ZW1fcmV2IC0gc2V0IHRoZSBzeXN0ZW1fcmV2IGdsb2JhbCBiYXNlZCBvbiBjdXJyZW50IE9NQVAgY2hpcCB0eXBlCisgKgorICogU2V0IHRoZSBzeXN0ZW1fcmV2IGdsb2JhbC4gIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgYnkgdGhlIGNwdV9pc19vbWFweHh4eCgpCisgKiBtYWNyb3MuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBfc2V0X3N5c3RlbV9yZXYodTMyIHR5cGUsIHU4IHJldikKK3sKKwl1MzIgaSwgY3RybF9zdGF0dXM7CisKKwkvKgorCSAqIHN5c3RlbV9yZXYgZW5jb2RpbmcgaXMgYXMgZm9sbG93cworCSAqIHN5c3RlbV9yZXYgJiAweGZmMDAwMDAwIC0+IE9tYXAgQ2xhc3MgKDI0eHgvMzR4eCkKKwkgKiBzeXN0ZW1fcmV2ICYgMHhmZmYwMDAwMCAtPiBPbWFwIFN1YiBDbGFzcyAoMjQyeC8zNDN4KQorCSAqIHN5c3RlbV9yZXYgJiAweGZmZmYwMDAwIC0+IE9tYXAgdHlwZSAoMjQyMC8yNDIyLzI0MjMvMjQzMC8zNDMwKQorCSAqIHN5c3RlbV9yZXYgJiAweDAwMDBmMDAwIC0+IFNpbGljb24gcmV2aXNpb24gKEVTMSwgRVMyICkKKwkgKiBzeXN0ZW1fcmV2ICYgMHgwMDAwMDcwMCAtPiBEZXZpY2UgVHlwZSAoIEVNVS9IUy9HUC9CQUQgKQorCSAqIHN5c3RlbV9yZXYgJiAweDAwMDAwMGMwIC0+IElEQ09ERSByZXZpc2lvbls2OjddCisJICogc3lzdGVtX3JldiAmIDB4MDAwMDAwM2YgLT4gc3lzX2Jvb3RbMDo1XQorCSAqLworCS8qIEVtYmVkZGluZyB0aGUgRVMgcmV2aXNpb24gaW5mbyBpbiB0eXBlIGZpZWxkICovCisJc3lzdGVtX3JldiA9IHR5cGU7CisJLyogQWxzbyBhZGQgSURDT0RFIHJldmlzaW9uIGluZm8gb25seSB0d28gbG93ZXIgYml0cyAqLworCXN5c3RlbV9yZXYgfD0gKChyZXYgJiAweDMpIDw8IDYpOworCisJLyogQWRkIGluIHRoZSBkZXZpY2UgdHlwZSBhbmQgc3lzX2Jvb3QgZmllbGRzIChzZWUgYWJvdmUpICovCisJaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7CisJCWkgPSBPTUFQMjRYWF9DT05UUk9MX1NUQVRVUzsKKwl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMzQzeCgpKSB7CisJCWkgPSBPTUFQMzQzWF9DT05UUk9MX1NUQVRVUzsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9FUlIgImlkOiB1bmtub3duIENQVSB0eXBlXG4iKTsKKwkJQlVHKCk7CisJfQorCWN0cmxfc3RhdHVzID0gb21hcF9jdHJsX3JlYWRsKGkpOworCXN5c3RlbV9yZXYgfD0gKGN0cmxfc3RhdHVzICYgKE9NQVAyX1NZU0JPT1RfNV9NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzRfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF8zX01BU0sgfAorCQkJCSAgICAgIE9NQVAyX1NZU0JPT1RfMl9NQVNLIHwKKwkJCQkgICAgICBPTUFQMl9TWVNCT09UXzFfTUFTSyB8CisJCQkJICAgICAgT01BUDJfU1lTQk9PVF8wX01BU0spKTsKKwlzeXN0ZW1fcmV2IHw9IChjdHJsX3N0YXR1cyAmIE9NQVAyX0RFVklDRVRZUEVfTUFTSyk7Cit9CisKKworLyoKKyAqIF9zZXRfb21hcF9jaGlwIC0gc2V0IHRoZSBvbWFwX2NoaXAgZ2xvYmFsIGJhc2VkIG9uIE9NQVAgY2hpcCB0eXBlCisgKgorICogQnVpbGQgdGhlIG9tYXBfY2hpcCBiaXRzLiAgVGhpcyB2YXJpYWJsZSBpcyB1c2VkIGJ5IHBvd2VyZG9tYWluIGFuZAorICogY2xvY2tkb21haW4gY29kZSB0byBpbmRpY2F0ZSB3aGV0aGVyIHN0cnVjdHVyZXMgYXJlIGFwcGxpY2FibGUgZm9yCisgKiB0aGUgY3VycmVudCBPTUFQIGNoaXAgdHlwZSBieSBBTkRpbmcgaXQgYWdhaW5zdCBhICdwbGF0Zm9ybScgYml0ZmllbGQKKyAqIGluIHRoZSBzdHJ1Y3R1cmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBfc2V0X29tYXBfY2hpcCh2b2lkKQoreworCWlmIChjcHVfaXNfb21hcDM0M3goKSkgeworCisJCW9tYXBfY2hpcC5vYyA9IENISVBfSVNfT01BUDM0MzA7CisJCWlmIChpc19zaWxfcmV2X2VxdWFsX3RvKE9NQVAzNDMwX1JFVl9FUzFfMCkpCisJCQlvbWFwX2NoaXAub2MgfD0gQ0hJUF9JU19PTUFQMzQzMEVTMTsKKwkJZWxzZSBpZiAoaXNfc2lsX3Jldl9ncmVhdGVyX3RoYW4oT01BUDM0MzBfUkVWX0VTMV8wKSkKKwkJCW9tYXBfY2hpcC5vYyB8PSBDSElQX0lTX09NQVAzNDMwRVMyOworCisJfSBlbHNlIGlmIChjcHVfaXNfb21hcDI0M3goKSkgeworCisJCS8qIEN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDI0MzBFUzIuMSBhbmQgMjQzMC1hbGwgKi8KKwkJb21hcF9jaGlwLm9jIHw9IENISVBfSVNfT01BUDI0MzA7CisKKwl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMjQyeCgpKSB7CisKKwkJLyogQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgMjQyMEVTMi4xLjEgYW5kIDI0MjAtYWxsICovCisJCW9tYXBfY2hpcC5vYyB8PSBDSElQX0lTX09NQVAyNDIwOworCisJfSBlbHNlIHsKKworCQkvKiBDdXJyZW50IENQVSBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgY29kZS4gKi8KKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiT01BUCBjaGlwIHR5cGUgY29kZSBkb2VzIG5vdCB5ZXQgc3VwcG9ydCAiCisJCSAgICAgICAidGhpcyBDUFUgdHlwZS5cbiIpOworCQlXQVJOX09OKDEpOworCisJfQorCiB9CiAKIHZvaWQgX19pbml0IG9tYXAyX2NoZWNrX3JldmlzaW9uKHZvaWQpCkBAIC03NiwyMSArMjA4LDMxIEBACiAJcmV2ID0gKGlkY29kZSA+PiAyOCkgJiAweDBmOwogCWRldl90eXBlID0gKHByb2RfaWQgPj4gMTYpICYgMHgwZjsKIAotI2lmZGVmIERFQlVHCi0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0lEQ09ERSAweCUwOHggUkVWICVpIEhBV0tFWUUgMHglMDR4IE1BTkYgJTAzeFxuIiwKLQkJaWRjb2RlLCByZXYsIGhhd2tleWUsIChpZGNvZGUgPj4gMSkgJiAweDdmZik7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX0RJRV9JRF8wOiAweCUwOHhcbiIsCi0JCXJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMCkpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9ESUVfSURfMTogMHglMDh4IERFVl9SRVY6ICVpXG4iLAotCQlyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzEpLAotCSAgICAgICAocmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8xKSA+PiAyOCkgJiAweGYpOwotCXByaW50ayhLRVJOX0RFQlVHICJPTUFQX1RBUF9ESUVfSURfMjogMHglMDh4XG4iLAotCQlyZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzIpKTsKLQlwcmludGsoS0VSTl9ERUJVRyAiT01BUF9UQVBfRElFX0lEXzM6IDB4JTA4eFxuIiwKLQkJcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8zKSk7Ci0JcHJpbnRrKEtFUk5fREVCVUcgIk9NQVBfVEFQX1BST0RfSURfMDogMHglMDh4IERFVl9UWVBFOiAlaVxuIiwKLQkJcHJvZF9pZCwgZGV2X3R5cGUpOwotI2VuZGlmCisJcHJfZGVidWcoIk9NQVBfVEFQX0lEQ09ERSAweCUwOHggUkVWICVpIEhBV0tFWUUgMHglMDR4IE1BTkYgJTAzeFxuIiwKKwkJIGlkY29kZSwgcmV2LCBoYXdrZXllLCAoaWRjb2RlID4+IDEpICYgMHg3ZmYpOworCXByX2RlYnVnKCJPTUFQX1RBUF9ESUVfSURfMDogMHglMDh4XG4iLAorCQkgcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8wKSk7CisJcHJfZGVidWcoIk9NQVBfVEFQX0RJRV9JRF8xOiAweCUwOHggREVWX1JFVjogJWlcbiIsCisJCSByZWFkX3RhcF9yZWcoT01BUF9UQVBfRElFX0lEXzEpLAorCQkgKHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMSkgPj4gMjgpICYgMHhmKTsKKwlwcl9kZWJ1ZygiT01BUF9UQVBfRElFX0lEXzI6IDB4JTA4eFxuIiwKKwkJIHJlYWRfdGFwX3JlZyhPTUFQX1RBUF9ESUVfSURfMikpOworCXByX2RlYnVnKCJPTUFQX1RBUF9ESUVfSURfMzogMHglMDh4XG4iLAorCQkgcmVhZF90YXBfcmVnKE9NQVBfVEFQX0RJRV9JRF8zKSk7CisJcHJfZGVidWcoIk9NQVBfVEFQX1BST0RfSURfMDogMHglMDh4IERFVl9UWVBFOiAlaVxuIiwKKwkJIHByb2RfaWQsIGRldl90eXBlKTsKKworCS8qCisJICogRGV0ZWN0aW9uIGZvciAzNHh4IEVTMi4wIGFuZCBhYm92ZSBjYW4gYmUgZG9uZSB3aXRoIGp1c3QKKwkgKiBoYXdrZXllIGFuZCByZXYuIFNlZSBUUk0gMS41LjIgRGV2aWNlIElkZW50aWZpY2F0aW9uLgorCSAqIE5vdGUgdGhhdCByZXYgY2Fubm90IGJlIHVzZWQgZGlyZWN0bHkgYXMgRVMxLjAgdXNlcyB2YWx1ZSAwLgorCSAqLworCWlmIChoYXdrZXllID09IDB4YjdhZSkgeworCQlzeXN0ZW1fcmV2ID0gMHgzNDMwMDAwMCB8ICgoMSArIHJldikgPDwgMTIpOworCQlwcl9pbmZvKCJPTUFQJTA0eCBFUzIuJWlcbiIsIHN5c3RlbV9yZXYgPj4gMTYsIHJldik7CisJCV9zZXRfb21hcF9jaGlwKCk7CisJCXJldHVybjsKKwl9CiAKIAkvKiBDaGVjayBoYXdrZXllIGlkcyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG9tYXBfaWRzKTsgaSsrKSB7CkBAIC0xMTQsMTYgKzI1NiwxNSBAQAogCQkJCW9tYXBfaWRzW2ldLnR5cGUgPj4gMTYpOwogCQlqID0gaTsKIAl9Ci0Jc3lzdGVtX3JldiA9IG9tYXBfaWRzW2pdLnR5cGU7CiAKLQlzeXN0ZW1fcmV2IHw9IHJldiA8PCA4OworCV9zZXRfc3lzdGVtX3JldihvbWFwX2lkc1tqXS50eXBlLCByZXYpOwogCi0JLyogQWRkIHRoZSBjcHUgY2xhc3MgaW5mbyAoMjR4eCkgKi8KLQlzeXN0ZW1fcmV2IHw9IDB4MjQ7CisJX3NldF9vbWFwX2NoaXAoKTsKIAogCXByX2luZm8oIk9NQVAlMDR4Iiwgc3lzdGVtX3JldiA+PiAxNik7CiAJaWYgKChzeXN0ZW1fcmV2ID4+IDgpICYgMHgwZikKLQkJcHJpbnRrKCIleCIsIChzeXN0ZW1fcmV2ID4+IDgpICYgMHgwZik7Ci0JcHJpbnRrKCJcbiIpOworCQlwcl9pbmZvKCJFUyV4IiwgKHN5c3RlbV9yZXYgPj4gMTIpICYgMHhmKTsKKwlwcl9pbmZvKCJcbiIpOworCiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbWNic3AuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2NmMTk5Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tY2JzcC5jCkBAIC0wLDAgKzEsMjA4IEBACisvKgorICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9tY2JzcC5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluc3RpdHV0byBOb2tpYSBkZSBUZWNub2xvZ2lhCisgKiBDb250YWN0OiBFZHVhcmRvIFZhbGVudGluIDxlZHVhcmRvLnZhbGVudGluQGluZHQub3JnLmJyPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogTXVsdGljaGFubmVsIG1vZGUgbm90IHN1cHBvcnRlZC4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvZG1hLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY3B1Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbWNic3AuaD4KKworc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayB7CisJc3RydWN0IGNsayBjbGs7CisJc3RydWN0IGNsayAqKmNoaWxkczsKKwlpbnQgbl9jaGlsZHM7Cit9OworCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKK3N0YXRpYyB2b2lkIG9tYXBfbWNic3BfY2xrX2luaXQoc3RydWN0IG1jYnNwX2ludGVybmFsX2NsayAqbWNsaykKK3sKKwljb25zdCBjaGFyICpjbGtfbmFtZXNbXSA9IHsgIm1jYnNwX2ljayIsICJtY2JzcF9mY2siIH07CisJaW50IGk7CisKKwltY2xrLT5uX2NoaWxkcyA9IEFSUkFZX1NJWkUoY2xrX25hbWVzKTsKKwltY2xrLT5jaGlsZHMgPSBremFsbG9jKG1jbGstPm5fY2hpbGRzICogc2l6ZW9mKHN0cnVjdCBjbGsgKiksCisJCQkJR0ZQX0tFUk5FTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWNsay0+bl9jaGlsZHM7IGkrKykgeworCQkvKiBXZSBmYWtlIGEgcGxhdGZvcm0gZGV2aWNlIHRvIGdldCBjb3JyZWN0IGRldmljZSBpZCAqLworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHBkZXY7CisKKwkJcGRldi5kZXYuYnVzID0gJnBsYXRmb3JtX2J1c190eXBlOworCQlwZGV2LmlkID0gbWNsay0+Y2xrLmlkOworCQltY2xrLT5jaGlsZHNbaV0gPSBjbGtfZ2V0KCZwZGV2LmRldiwgY2xrX25hbWVzW2ldKTsKKwkJaWYgKElTX0VSUihtY2xrLT5jaGlsZHNbaV0pKQorCQkJcHJpbnRrKEtFUk5fRVJSICJDb3VsZCBub3QgZ2V0IGNsb2NrICVzICglZCkuXG4iLAorCQkJCWNsa19uYW1lc1tpXSwgbWNsay0+Y2xrLmlkKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9jbGtfZW5hYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrICptY2xrID0gY29udGFpbmVyX29mKGNsaywKKwkJCQkJc3RydWN0IG1jYnNwX2ludGVybmFsX2NsaywgY2xrKTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtY2xrLT5uX2NoaWxkczsgaSsrKQorCQljbGtfZW5hYmxlKG1jbGstPmNoaWxkc1tpXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG9tYXBfbWNic3BfY2xrX2Rpc2FibGUoc3RydWN0IGNsayAqY2xrKQoreworCXN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgKm1jbGsgPSBjb250YWluZXJfb2YoY2xrLAorCQkJCQlzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrLCBjbGspOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG1jbGstPm5fY2hpbGRzOyBpKyspCisJCWNsa19kaXNhYmxlKG1jbGstPmNoaWxkc1tpXSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbWNic3BfaW50ZXJuYWxfY2xrIG9tYXBfbWNic3BfY2xrc1tdID0geworCXsKKwkJLmNsayA9IHsKKwkJCS5uYW1lIAkJPSAibWNic3BfY2xrIiwKKwkJCS5pZAkJPSAxLAorCQkJLmVuYWJsZQkJPSBvbWFwX21jYnNwX2Nsa19lbmFibGUsCisJCQkuZGlzYWJsZQk9IG9tYXBfbWNic3BfY2xrX2Rpc2FibGUsCisJCX0sCisJfSwKKwl7CisJCS5jbGsgPSB7CisJCQkubmFtZSAJCT0gIm1jYnNwX2NsayIsCisJCQkuaWQJCT0gMiwKKwkJCS5lbmFibGUJCT0gb21hcF9tY2JzcF9jbGtfZW5hYmxlLAorCQkJLmRpc2FibGUJPSBvbWFwX21jYnNwX2Nsa19kaXNhYmxlLAorCQl9LAorCX0sCit9OworCisjZGVmaW5lIG9tYXBfbWNic3BfY2xrc19zaXplCUFSUkFZX1NJWkUob21hcF9tY2JzcF9jbGtzKQorI2Vsc2UKKyNkZWZpbmUgb21hcF9tY2JzcF9jbGtzX3NpemUJMAorc3RhdGljIHN0cnVjdCBtY2JzcF9pbnRlcm5hbF9jbGsgX19pbml0ZGF0YSAqb21hcF9tY2JzcF9jbGtzOworc3RhdGljIGlubGluZSB2b2lkIG9tYXBfbWNic3BfY2xrX2luaXQoc3RydWN0IGNsayAqY2xrKQoreyB9CisjZW5kaWYKKworc3RhdGljIHZvaWQgb21hcDJfbWNic3AyX211eF9zZXR1cCh2b2lkKQoreworCW9tYXBfY2ZnX3JlZyhZMTVfMjRYWF9NQ0JTUDJfQ0xLWCk7CisJb21hcF9jZmdfcmVnKFIxNF8yNFhYX01DQlNQMl9GU1gpOworCW9tYXBfY2ZnX3JlZyhXMTVfMjRYWF9NQ0JTUDJfRFIpOworCW9tYXBfY2ZnX3JlZyhWMTVfMjRYWF9NQ0JTUDJfRFgpOworCW9tYXBfY2ZnX3JlZyhWMTRfMjRYWF9HUElPMTE3KTsKKwkvKgorCSAqIFRPRE86IE5lZWQgdG8gYWRkIE1VWCBzZXR0aW5ncyBmb3IgT01BUCAyNDMwIFNEUAorCSAqLworfQorCitzdGF0aWMgdm9pZCBvbWFwMl9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKK3sKKwlpZiAoY3B1X2lzX29tYXAyNDIwKCkgJiYgKGlkID09IE9NQVBfTUNCU1AyKSkKKwkJb21hcDJfbWNic3AyX211eF9zZXR1cCgpOworfQorCitzdGF0aWMgaW50IG9tYXAyX21jYnNwX2NoZWNrKHVuc2lnbmVkIGludCBpZCkKK3sKKwlpZiAoaWQgPiBPTUFQX01BWF9NQ0JTUF9DT1VOVCAtIDEpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBNY0JTUCVkIGRvZXNuJ3QgZXhpc3RcbiIsIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX29wcyBvbWFwMl9tY2JzcF9vcHMgPSB7CisJLnJlcXVlc3QJPSBvbWFwMl9tY2JzcF9yZXF1ZXN0LAorCS5jaGVjawkJPSBvbWFwMl9tY2JzcF9jaGVjaywKK307CisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMjRYWAorc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgb21hcDI0eHhfbWNic3BfcGRhdGFbXSA9IHsKKwl7CisJCS52aXJ0X2Jhc2UJPSBJT19BRERSRVNTKE9NQVAyNFhYX01DQlNQMV9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMV9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMV9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDFfSVJRX1JYLAorCQkudHhfaXJxCQk9IElOVF8yNFhYX01DQlNQMV9JUlFfVFgsCisJCS5vcHMJCT0gJm9tYXAyX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKKwl7CisJCS52aXJ0X2Jhc2UJPSBJT19BRERSRVNTKE9NQVAyNFhYX01DQlNQMl9CQVNFKSwKKwkJLmRtYV9yeF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMl9SWCwKKwkJLmRtYV90eF9zeW5jCT0gT01BUDI0WFhfRE1BX01DQlNQMl9UWCwKKwkJLnJ4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1JYLAorCQkudHhfaXJxCQk9IElOVF8yNFhYX01DQlNQMl9JUlFfVFgsCisJCS5vcHMJCT0gJm9tYXAyX21jYnNwX29wcywKKwkJLmNsa19uYW1lCT0gIm1jYnNwX2NsayIsCisJfSwKK307CisjZGVmaW5lIE9NQVAyNFhYX01DQlNQX1BEQVRBX1NaCQlBUlJBWV9TSVpFKG9tYXAyNHh4X21jYnNwX3BkYXRhKQorI2Vsc2UKKyNkZWZpbmUgb21hcDI0eHhfbWNic3BfcGRhdGEJCU5VTEwKKyNkZWZpbmUgT01BUDI0WFhfTUNCU1BfUERBVEFfU1oJCTAKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDM0WFgKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhIG9tYXAzNHh4X21jYnNwX3BkYXRhW10gPSB7CisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMzRYWF9NQ0JTUDFfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDFfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCisJeworCQkudmlydF9iYXNlCT0gSU9fQUREUkVTUyhPTUFQMzRYWF9NQ0JTUDJfQkFTRSksCisJCS5kbWFfcnhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCisJCS5kbWFfdHhfc3luYwk9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCisJCS5yeF9pcnEJCT0gSU5UXzI0WFhfTUNCU1AyX0lSUV9SWCwKKwkJLnR4X2lycQkJPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1RYLAorCQkub3BzCQk9ICZvbWFwMl9tY2JzcF9vcHMsCisJCS5jbGtfbmFtZQk9ICJtY2JzcF9jbGsiLAorCX0sCit9OworI2RlZmluZSBPTUFQMzRYWF9NQ0JTUF9QREFUQV9TWgkJQVJSQVlfU0laRShvbWFwMzR4eF9tY2JzcF9wZGF0YSkKKyNlbHNlCisjZGVmaW5lIG9tYXAzNHh4X21jYnNwX3BkYXRhCQlOVUxMCisjZGVmaW5lIE9NQVAzNFhYX01DQlNQX1BEQVRBX1NaCQkwCisjZW5kaWYKKworaW50IF9faW5pdCBvbWFwMl9tY2JzcF9pbml0KHZvaWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgb21hcF9tY2JzcF9jbGtzX3NpemU7IGkrKykgeworCQkvKiBPbmNlIHdlIGNhbGwgY2xrX2dldCBpbnNpZGUgaW5pdCwgd2UgZG8gbm90IHJlZ2lzdGVyIGl0ICovCisJCW9tYXBfbWNic3BfY2xrX2luaXQoJm9tYXBfbWNic3BfY2xrc1tpXSk7CisJCWNsa19yZWdpc3Rlcigmb21hcF9tY2JzcF9jbGtzW2ldLmNsayk7CisJfQorCisJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQorCQlvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhvbWFwMjR4eF9tY2JzcF9wZGF0YSwKKwkJCQkJCU9NQVAyNFhYX01DQlNQX1BEQVRBX1NaKTsKKworCWlmIChjcHVfaXNfb21hcDM0eHgoKSkKKwkJb21hcF9tY2JzcF9yZWdpc3Rlcl9ib2FyZF9jZmcob21hcDM0eHhfbWNic3BfcGRhdGEsCisJCQkJCQlPTUFQMzRYWF9NQ0JTUF9QREFUQV9TWik7CisKKwlyZXR1cm4gb21hcF9tY2JzcF9pbml0KCk7Cit9CithcmNoX2luaXRjYWxsKG9tYXAyX21jYnNwX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9tZW1vcnkuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvbWVtb3J5LmMKaW5kZXggMTI0NzkwOC4uNzNjYWRiMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9tZW1vcnkuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL21lbW9yeS5jCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlIDxhc20vaW8uaD4KIAorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogCkBAIC0zMiw4ICszMyw4IEBACiAjaW5jbHVkZSAibWVtb3J5LmgiCiAjaW5jbHVkZSAic2RyYy5oIgogCi11bnNpZ25lZCBsb25nIG9tYXAyX3NkcmNfYmFzZTsKLXVuc2lnbmVkIGxvbmcgb21hcDJfc21zX2Jhc2U7Cit2b2lkIF9faW9tZW0gKm9tYXAyX3NkcmNfYmFzZTsKK3ZvaWQgX19pb21lbSAqb21hcDJfc21zX2Jhc2U7CiAKIHN0YXRpYyBzdHJ1Y3QgbWVtb3J5X3RpbWluZ3MgbWVtX3RpbWluZ3M7CiBzdGF0aWMgdTMyIGN1cnJfcGVyZl9sZXZlbCA9IENPUkVfQ0xLX1NSQ19EUExMX1gyOwpAQCAtMTU0LDYgKzE1NSwxMiBAQAogCW1lbV90aW1pbmdzLnNsb3dfZGxsX2N0cmwgfD0gKCgxIDw8IDEpIHwgKDMgPDwgOCkpOwogfQogCit2b2lkIF9faW5pdCBvbWFwMl9zZXRfZ2xvYmFsc19tZW1vcnkoc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFscykKK3sKKwlvbWFwMl9zZHJjX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5zZHJjOworCW9tYXAyX3Ntc19iYXNlID0gb21hcDJfZ2xvYmFscy0+c21zOworfQorCiAvKiB0dXJuIG9uIHNtYXJ0IGlkbGUgbW9kZXMgZm9yIFNEUkFNIHNjaGVkdWxlciBhbmQgY29udHJvbGxlciAqLwogdm9pZCBfX2luaXQgb21hcDJfaW5pdF9tZW1vcnkodm9pZCkKIHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvbXV4LmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCmluZGV4IDkzMDc3MDAuLjhmOThiMjAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvbXV4LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9tdXguYwpAQCAtMjM2LDcgKzIzNiw3IEBACiAJd2FybiA9IChvcmlnICE9IHJlZyk7CiAJaWYgKGRlYnVnIHx8IHdhcm4pCiAJCXByaW50ayhLRVJOX1dBUk5JTkcKLQkJCSJNVVg6IHNldHVwICVzICgweCUwOHgpOiAweCUwMnggLT4gMHglMDJ4XG4iLAorCQkJIk1VWDogc2V0dXAgJXMgKDB4JXApOiAweCUwNHggLT4gMHglMDR4XG4iLAogCQkJY2ZnLT5uYW1lLCBvbWFwX2N0cmxfYmFzZV9nZXQoKSArIGNmZy0+bXV4X3JlZywKIAkJCW9yaWcsIHJlZyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3BtLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BtLmMKaW5kZXggYWFkNzgxZC4uZDZjOWRlOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvcG0uYwpAQCAtNTcsMTMgKzU3LDYgQEAKIAkJcmV0dXJuOwogCX0KIAotCS8qCi0JICogU2luY2UgYW4gaW50ZXJydXB0IG1heSBzZXQgdXAgYSB0aW1lciwgd2UgZG9uJ3Qgd2FudCB0bwotCSAqIHJlcHJvZ3JhbSB0aGUgaGFyZHdhcmUgdGltZXIgd2l0aCBpbnRlcnJ1cHRzIGVuYWJsZWQuCi0JICogUmUtZW5hYmxlIGludGVycnVwdHMgb25seSBhZnRlciByZXR1cm5pbmcgZnJvbSBpZGxlLgotCSAqLwotCXRpbWVyX2R5bl9yZXByb2dyYW0oKTsKLQogCW9tYXAyX3NyYW1faWRsZSgpOwogCWxvY2FsX2ZpcV9lbmFibGUoKTsKIAlsb2NhbF9pcnFfZW5hYmxlKCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20tY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20tY29tbW9uLmgKaW5kZXggY2FjYjM0MC4uNTRjMzJmNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcmNtLWNvbW1vbi5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS1jb21tb24uaApAQCAtMzIsNiArMzIsNyBAQAogCiAKIC8qIENoaXAtc3BlY2lmaWMgbW9kdWxlIG9mZnNldHMgKi8KKyNkZWZpbmUgT01BUDI0WFhfR1JfTU9ECQkJCQlPQ1BfTU9ECiAjZGVmaW5lIE9NQVAyNFhYX0RTUF9NT0QJCQkJMHg4MDAKIAogI2RlZmluZSBPTUFQMjQzMF9NRE1fTU9ECQkJCTB4YzAwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3ByY20uYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS5jCmluZGV4IGIxMmY0MjMuLmZkOTJhODAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvcHJjbS5jCkBAIC0xNiwxNiArMTYsMjEgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAotI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3ByY20uaD4KIAorI2luY2x1ZGUgImNsb2NrLmgiCiAjaW5jbHVkZSAicHJtLmgiCiAjaW5jbHVkZSAicHJtLXJlZ2JpdHMtMjR4eC5oIgogCi1leHRlcm4gdm9pZCBvbWFwMl9jbGtfcHJlcGFyZV9mb3JfcmVib290KHZvaWQpOworc3RhdGljIHZvaWQgX19pb21lbSAqcHJtX2Jhc2U7CitzdGF0aWMgdm9pZCBfX2lvbWVtICpjbV9iYXNlOwogCiB1MzIgb21hcF9wcmNtX2dldF9yZXNldF9zb3VyY2VzKHZvaWQpCiB7CisJLyogWFhYIFRoaXMgcHJlc3VtYWJseSBuZWVkcyBtb2RpZmljYXRpb24gZm9yIDM0WFggKi8KIAlyZXR1cm4gcHJtX3JlYWRfbW9kX3JlZyhXS1VQX01PRCwgUk1fUlNUU1QpICYgMHg3ZjsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9wcmNtX2dldF9yZXNldF9zb3VyY2VzKTsKQEAgLTMzLDExICszOCw5MCBAQAogLyogUmVzZXRzIGNsb2NrIHJhdGVzIGFuZCByZWJvb3RzIHRoZSBzeXN0ZW0uIE9ubHkgY2FsbGVkIGZyb20gc3lzdGVtLmggKi8KIHZvaWQgb21hcF9wcmNtX2FyY2hfcmVzZXQoY2hhciBtb2RlKQogewotCXUzMiB3a3VwOworCXMxNiBwcmNtX29mZnM7CiAJb21hcDJfY2xrX3ByZXBhcmVfZm9yX3JlYm9vdCgpOwogCi0JaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7Ci0JCXdrdXAgPSBwcm1fcmVhZF9tb2RfcmVnKFdLVVBfTU9ELCBSTV9SU1RDVFJMKSB8IE9NQVBfUlNUX0RQTEwzOwotCQlwcm1fd3JpdGVfbW9kX3JlZyh3a3VwLCBXS1VQX01PRCwgUk1fUlNUQ1RSTCk7Ci0JfQorCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwkJcHJjbV9vZmZzID0gV0tVUF9NT0Q7CisJZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCXByY21fb2ZmcyA9IE9NQVAzNDMwX0dSX01PRDsKKwllbHNlCisJCVdBUk5fT04oMSk7CisKKwlwcm1fc2V0X21vZF9yZWdfYml0cyhPTUFQX1JTVF9EUExMMywgcHJjbV9vZmZzLCBSTV9SU1RDVFJMKTsKK30KKworc3RhdGljIGlubGluZSB1MzIgX19vbWFwX3ByY21fcmVhZCh2b2lkIF9faW9tZW0gKmJhc2UsIHMxNiBtb2R1bGUsIHUxNiByZWcpCit7CisJQlVHX09OKCFiYXNlKTsKKwlyZXR1cm4gX19yYXdfcmVhZGwoYmFzZSArIG1vZHVsZSArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX29tYXBfcHJjbV93cml0ZSh1MzIgdmFsdWUsIHZvaWQgX19pb21lbSAqYmFzZSwKKwkJCQkJCXMxNiBtb2R1bGUsIHUxNiByZWcpCit7CisJQlVHX09OKCFiYXNlKTsKKwlfX3Jhd193cml0ZWwodmFsdWUsIGJhc2UgKyBtb2R1bGUgKyByZWcpOworfQorCisvKiBSZWFkIGEgcmVnaXN0ZXIgaW4gYSBQUk0gbW9kdWxlICovCit1MzIgcHJtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCB1MTYgaWR4KQoreworCXJldHVybiBfX29tYXBfcHJjbV9yZWFkKHBybV9iYXNlLCBtb2R1bGUsIGlkeCk7Cit9CitFWFBPUlRfU1lNQk9MKHBybV9yZWFkX21vZF9yZWcpOworCisvKiBXcml0ZSBpbnRvIGEgcmVnaXN0ZXIgaW4gYSBQUk0gbW9kdWxlICovCit2b2lkIHBybV93cml0ZV9tb2RfcmVnKHUzMiB2YWwsIHMxNiBtb2R1bGUsIHUxNiBpZHgpCit7CisJX19vbWFwX3ByY21fd3JpdGUodmFsLCBwcm1fYmFzZSwgbW9kdWxlLCBpZHgpOworfQorRVhQT1JUX1NZTUJPTChwcm1fd3JpdGVfbW9kX3JlZyk7CisKKy8qIFJlYWQtbW9kaWZ5LXdyaXRlIGEgcmVnaXN0ZXIgaW4gYSBQUk0gbW9kdWxlLiBDYWxsZXIgbXVzdCBsb2NrICovCit1MzIgcHJtX3Jtd19tb2RfcmVnX2JpdHModTMyIG1hc2ssIHUzMiBiaXRzLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQoreworCXUzMiB2OworCisJdiA9IHBybV9yZWFkX21vZF9yZWcobW9kdWxlLCBpZHgpOworCXYgJj0gfm1hc2s7CisJdiB8PSBiaXRzOworCXBybV93cml0ZV9tb2RfcmVnKHYsIG1vZHVsZSwgaWR4KTsKKworCXJldHVybiB2OworfQorRVhQT1JUX1NZTUJPTChwcm1fcm13X21vZF9yZWdfYml0cyk7CisKKy8qIFJlYWQgYSByZWdpc3RlciBpbiBhIENNIG1vZHVsZSAqLwordTMyIGNtX3JlYWRfbW9kX3JlZyhzMTYgbW9kdWxlLCB1MTYgaWR4KQoreworCXJldHVybiBfX29tYXBfcHJjbV9yZWFkKGNtX2Jhc2UsIG1vZHVsZSwgaWR4KTsKK30KK0VYUE9SVF9TWU1CT0woY21fcmVhZF9tb2RfcmVnKTsKKworLyogV3JpdGUgaW50byBhIHJlZ2lzdGVyIGluIGEgQ00gbW9kdWxlICovCit2b2lkIGNtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgdTE2IGlkeCkKK3sKKwlfX29tYXBfcHJjbV93cml0ZSh2YWwsIGNtX2Jhc2UsIG1vZHVsZSwgaWR4KTsKK30KK0VYUE9SVF9TWU1CT0woY21fd3JpdGVfbW9kX3JlZyk7CisKKy8qIFJlYWQtbW9kaWZ5LXdyaXRlIGEgcmVnaXN0ZXIgaW4gYSBDTSBtb2R1bGUuIENhbGxlciBtdXN0IGxvY2sgKi8KK3UzMiBjbV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCkKK3sKKwl1MzIgdjsKKworCXYgPSBjbV9yZWFkX21vZF9yZWcobW9kdWxlLCBpZHgpOworCXYgJj0gfm1hc2s7CisJdiB8PSBiaXRzOworCWNtX3dyaXRlX21vZF9yZWcodiwgbW9kdWxlLCBpZHgpOworCisJcmV0dXJuIHY7Cit9CitFWFBPUlRfU1lNQk9MKGNtX3Jtd19tb2RfcmVnX2JpdHMpOworCit2b2lkIF9faW5pdCBvbWFwMl9zZXRfZ2xvYmFsc19wcmNtKHN0cnVjdCBvbWFwX2dsb2JhbHMgKm9tYXAyX2dsb2JhbHMpCit7CisJcHJtX2Jhc2UgPSBvbWFwMl9nbG9iYWxzLT5wcm07CisJY21fYmFzZSA9IG9tYXAyX2dsb2JhbHMtPmNtOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcm0uaCBiL2FyY2gvYXJtL21hY2gtb21hcDIvcHJtLmgKaW5kZXggNjE4ZjgxMS4uYmJmNDFmYyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9wcm0uaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3BybS5oCkBAIC0zOCwxMyArMzgsMjkgQEAKICAqCiAgKi8KIAorLyogR2xvYmFsIDI0eHggcmVnaXN0ZXJzIGluIEdSX01PRCAoU2FtZSBhcyBPQ1BfTU9EIGZvciAyNHh4KSAqLworI2RlZmluZSBPTUFQMjRYWF9QUkNNX1ZPTFRDVFJMX09GRlNFVAkJMHgwMDUwCisjZGVmaW5lIE9NQVAyNFhYX1BSQ01fQ0xLQ0ZHX0NUUkxfT0ZGU0VUCTB4MDA4MAorCisvKiAyNDJ4IEdSX01PRCByZWdpc3RlcnMsIHVzZSB0aGVzZSBvbmx5IGZvciBhc3NlbWJseSBjb2RlICovCisjZGVmaW5lIE9NQVAyNDJYX1BSQ01fVk9MVENUUkwJCU9NQVAyNDIwX1BSTV9SRUdBRERSKE9NQVAyNFhYX0dSX01PRCwJXAorCQkJCQkJT01BUDI0WFhfUFJDTV9WT0xUQ1RSTF9PRkZTRVQpCisjZGVmaW5lIE9NQVAyNDJYX1BSQ01fQ0xLQ0ZHX0NUUkwJT01BUDI0MjBfUFJNX1JFR0FERFIoT01BUDI0WFhfR1JfTU9ELAlcCisJCQkJCQlPTUFQMjRYWF9QUkNNX0NMS0NGR19DVFJMX09GRlNFVCkKKworLyogMjQzeCBHUl9NT0QgcmVnaXN0ZXJzLCB1c2UgdGhlc2Ugb25seSBmb3IgYXNzZW1ibHkgY29kZSAqLworI2RlZmluZSBPTUFQMjQzWF9QUkNNX1ZPTFRDVFJMCQlPTUFQMjQzMF9QUk1fUkVHQUREUihPTUFQMjRYWF9HUl9NT0QsCVwKKwkJCQkJCU9NQVAyNFhYX1BSQ01fVk9MVENUUkxfT0ZGU0VUKQorI2RlZmluZSBPTUFQMjQzWF9QUkNNX0NMS0NGR19DVFJMCU9NQVAyNDMwX1BSTV9SRUdBRERSKE9NQVAyNFhYX0dSX01PRCwJXAorCQkJCQkJT01BUDI0WFhfUFJDTV9DTEtDRkdfQ1RSTF9PRkZTRVQpCisKKy8qIFRoZXNlIHdpbGwgZGlzYXBwZWFyICovCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fUkVWSVNJT04JCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDAwKQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX1NZU0NPTkZJRwkJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwMTApCiAKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9JUlFTVEFUVVNfTVBVCU9NQVBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHgwMDE4KQogI2RlZmluZSBPTUFQMjRYWF9QUkNNX0lSUUVOQUJMRV9NUFUJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwMWMpCiAKLSNkZWZpbmUgT01BUDI0WFhfUFJDTV9WT0xUQ1RSTAkJT01BUF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDAwNTApCiAjZGVmaW5lIE9NQVAyNFhYX1BSQ01fVk9MVFNUCQlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDA1NCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9DTEtTUkNfQ1RSTAlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDA2MCkKICNkZWZpbmUgT01BUDI0WFhfUFJDTV9DTEtPVVRfQ1RSTAlPTUFQX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4MDA3MCkKQEAgLTE1MCwxNSArMTY2LDE5IEBACiAjaWZuZGVmIF9fQVNTRU1CTEVSX18KIAogLyogUG93ZXIvcmVzZXQgbWFuYWdlbWVudCBkb21haW4gcmVnaXN0ZXIgZ2V0L3NldCAqLworZXh0ZXJuIHUzMiBwcm1fcmVhZF9tb2RfcmVnKHMxNiBtb2R1bGUsIHUxNiBpZHgpOworZXh0ZXJuIHZvaWQgcHJtX3dyaXRlX21vZF9yZWcodTMyIHZhbCwgczE2IG1vZHVsZSwgdTE2IGlkeCk7CitleHRlcm4gdTMyIHBybV9ybXdfbW9kX3JlZ19iaXRzKHUzMiBtYXNrLCB1MzIgYml0cywgczE2IG1vZHVsZSwgczE2IGlkeCk7CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBwcm1fd3JpdGVfbW9kX3JlZyh1MzIgdmFsLCBzMTYgbW9kdWxlLCBzMTYgaWR4KQorLyogUmVhZC1tb2RpZnktd3JpdGUgYml0cyBpbiBhIFBSTSByZWdpc3RlciAoYnkgZG9tYWluKSAqLworc3RhdGljIGlubGluZSB1MzIgcHJtX3NldF9tb2RfcmVnX2JpdHModTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCiB7Ci0JX19yYXdfd3JpdGVsKHZhbCwgT01BUF9QUk1fUkVHQUREUihtb2R1bGUsIGlkeCkpOworCXJldHVybiBwcm1fcm13X21vZF9yZWdfYml0cyhiaXRzLCBiaXRzLCBtb2R1bGUsIGlkeCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIHBybV9yZWFkX21vZF9yZWcoczE2IG1vZHVsZSwgczE2IGlkeCkKK3N0YXRpYyBpbmxpbmUgdTMyIHBybV9jbGVhcl9tb2RfcmVnX2JpdHModTMyIGJpdHMsIHMxNiBtb2R1bGUsIHMxNiBpZHgpCiB7Ci0JcmV0dXJuIF9fcmF3X3JlYWRsKE9NQVBfUFJNX1JFR0FERFIobW9kdWxlLCBpZHgpKTsKKwlyZXR1cm4gcHJtX3Jtd19tb2RfcmVnX2JpdHMoYml0cywgMHgwLCBtb2R1bGUsIGlkeCk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zZHJjLmggYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NkcmMuaAppbmRleCBkN2YyM2JjLi4xYjFmZTRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3NkcmMuaAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NkcmMuaApAQCAtMTgsMTMgKzE4LDExIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2RyYy5oPgogCiAjaWZuZGVmIF9fQVNTRU1CTEVSX18KLWV4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyX3NkcmNfYmFzZTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyX3Ntc19iYXNlOworZXh0ZXJuIHZvaWQgX19pb21lbSAqb21hcDJfc2RyY19iYXNlOworZXh0ZXJuIHZvaWQgX19pb21lbSAqb21hcDJfc21zX2Jhc2U7CiAKLSNkZWZpbmUgT01BUF9TRFJDX1JFR0FERFIocmVnKQkJCQkJCVwKLQkJKHZvaWQgX19pb21lbSAqKUlPX0FERFJFU1Mob21hcDJfc2RyY19iYXNlICsgKHJlZykpCi0jZGVmaW5lIE9NQVBfU01TX1JFR0FERFIocmVnKQkJCQkJCVwKLQkJKHZvaWQgX19pb21lbSAqKUlPX0FERFJFU1Mob21hcDJfc21zX2Jhc2UgKyAocmVnKSkKKyNkZWZpbmUgT01BUF9TRFJDX1JFR0FERFIocmVnKQkJCShvbWFwMl9zZHJjX2Jhc2UgKyAocmVnKSkKKyNkZWZpbmUgT01BUF9TTVNfUkVHQUREUihyZWcpCQkJKG9tYXAyX3Ntc19iYXNlICsgKHJlZykpCiAKIC8qIFNEUkMgZ2xvYmFsIHJlZ2lzdGVyIGdldC9zZXQgKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKc2ltaWxhcml0eSBpbmRleCA4MCUKcmVuYW1lIGZyb20gYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKcmVuYW1lIHRvIGFyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0MnguUwppbmRleCA0YTllNDkxLi40YzI3NDUxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDJ4LlMKQEAgLTEsNSArMSw1IEBACiAvKgotICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0MnguUwogICoKICAqIE9tYXAyIHNwZWNpZmljIGZ1bmN0aW9ucyB0aGF0IG5lZWQgdG8gYmUgcnVuIGluIGludGVybmFsIFNSQU0KICAqCkBAIC0yNywyMiArMjcsMjAgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9pby5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCi0jaW5jbHVkZSAic2RyYy5oIgogI2luY2x1ZGUgInBybS5oIgogI2luY2x1ZGUgImNtLmgiCi0KLSNkZWZpbmUgVElNRVJfMzJLU1lOQ1RfQ1JfVglJT19BRERSRVNTKE9NQVAyNDIwXzMyS1NZTkNUX0JBU0UgKyAweDAxMCkKKyNpbmNsdWRlICJzZHJjLmgiCiAKIAkudGV4dAogCi1FTlRSWShzcmFtX2Rkcl9pbml0KQorRU5UUlkob21hcDI0Mnhfc3JhbV9kZHJfaW5pdCkKIAlzdG1mZAlzcCEsIHtyMCAtIHIxMiwgbHJ9CUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAogCW1vdglyMTIsIHIyCQkJQCBjYXB0dXJlIENTMSB2cyBDUzAKIAltb3YJcjgsIHIzCQkJQCBjYXB0dXJlIGZvcmNlIHBhcmFtZXRlcgogCiAJLyogZnJlcXVlbmN5IHNoaWZ0IGRvd24gKi8KLQlsZHIJcjIsIGNtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2YgZHBsbG91dCByZWcKKwlsZHIJcjIsIG9tYXAyNDJ4X3NkaV9jbV9jbGtzZWwyX3BsbAlAIGdldCBhZGRyZXNzIG9mIGRwbGxvdXQgcmVnCiAJbW92CXIzLCAjMHgxCQlAIHZhbHVlIGZvciAxeCBvcGVyYXRpb24KIAlzdHIJcjMsIFtyMl0JCUAgZ28gdG8gTDEtZnJlcSBvcGVyYXRpb24KIApAQCAtNTEsNyArNDksNyBAQAogCWJsIHZvbHRhZ2Vfc2hpZnQJCUAgZ28gZHJvcCB2b2x0YWdlCiAKIAkvKiBkbGwgbG9jayBtb2RlICovCi0JbGRyCXIxMSwgc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMTEsIG9tYXAyNDJ4X3NkaV9zZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCiAJbGRyCXIxMCwgW3IxMV0JCUAgZ2V0IGN1cnJlbnQgdmFsCiAJY21wCXIxMiwgIzB4MQkJQCBjczEgYmFzZSAoMjQyMiBlczIuMDUvMSkKIAlhZGRlcQlyMTEsIHIxMSwgIzB4OAkJQCBpZiBjczEgYmFzZSwgbW92ZSB0byBETExCCkBAIC0xMDIsNyArMTAwLDcgQEAKIAkgKiB3YWl0IGZvciBpdCB0byBmaW5pc2gsIHVzZSAzMmsgc3luYyBjb3VudGVyLCAxdGljaz0zMXVTLgogCSAqLwogdm9sdGFnZV9zaGlmdDoKLQlsZHIJcjQsIHByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwuCisJbGRyCXI0LCBvbWFwMjQyeF9zZGlfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybC4KIAlsZHIJcjUsIFtyNF0JCUAgZ2V0IHZhbHVlLgogCWxkcglyNiwgcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI1LCByNSwgcjYJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0xMTIsNyArMTEwLDcgQEAKIAlvcnIJcjUsIHI1LCByMwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjUsIFtyNF0JCUAgRm9yY2UgdHJhbnNpdGlvbiB0byBMMQogCi0JbGRyCXIzLCB0aW1lcl8zMmtzeW5jdF9jcglAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjMsIG9tYXAyNDJ4X3NkaV90aW1lcl8zMmtzeW5jdF9jcglAIGdldCBhZGRyIG9mIGNvdW50ZXIKIAlsZHIJcjUsIFtyM10JCUAgZ2V0IHZhbHVlCiAJYWRkCXI1LCByNSwgIzB4MwkJQCBnaXZlIGl0IGF0IG1vc3QgOTN1Uwogdm9sdF9kZWxheToKQEAgLTEyMSwzMiArMTE5LDMxIEBACiAJYmhpCXZvbHRfZGVsYXkJCUAgbm90IHlldC0+YnJhbmNoCiAJbW92CXBjLCBscgkJCUAgYmFjayB0byBjYWxsZXIuCiAKLS8qIHJlbGF0aXZlIGxvYWQgY29uc3RhbnRzICovCi1jbV9jbGtzZWwyX3BsbDoKK29tYXAyNDJ4X3NkaV9jbV9jbGtzZWwyX3BsbDoKIAkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1zZHJjX2RsbGFfY3RybDoKK29tYXAyNDJ4X3NkaV9zZHJjX2RsbGFfY3RybDoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCi1wcmNtX3ZvbHRjdHJsOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4NTApCitvbWFwMjQyeF9zZGlfcHJjbV92b2x0Y3RybDoKKwkud29yZCBPTUFQMjQyWF9QUkNNX1ZPTFRDVFJMCiBwcmNtX21hc2tfdmFsOgogCS53b3JkIDB4RkZGRjNGRkMKLXRpbWVyXzMya3N5bmN0X2NyOgotCS53b3JkIFRJTUVSXzMyS1NZTkNUX0NSX1YKLUVOVFJZKHNyYW1fZGRyX2luaXRfc3opCi0JLndvcmQJLiAtIHNyYW1fZGRyX2luaXQKK29tYXAyNDJ4X3NkaV90aW1lcl8zMmtzeW5jdF9jcjoKKwkud29yZCBJT19BRERSRVNTKE9NQVAyXzMyS1NZTkNUX0JBU0UgKyAweDAxMCkKK0VOVFJZKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXRfc3opCisJLndvcmQJLiAtIG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQKIAogLyoKICAqIFJlcHJvZ3JhbXMgbWVtb3J5IHRpbWluZ3MuCiAgKiByMCA9IFtQUkNNX0ZVTEwgfCBQUkNNX0hBTEZdIHIxID0gU0RSQ19ETExBX0NUUkwgdmFsdWUgcjIgPSBbRERSIHwgU0RSXQogICogUFJDTV9GVUxMID0gMiwgUFJDTV9IQUxGID0gMSwgRERSID0gMSwgU0RSID0gMAogICovCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9zZHJjKQorRU5UUlkob21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYykKIAlzdG1mZAlzcCEsIHtyMCAtIHIxMCwgbHJ9CUAgc2F2ZSByZWdpc3RlcnMgb24gc3RhY2sKIAltb3YJcjMsICMweDAJCUAgY2xlYXIgZm9yIG1yYyBjYWxsCiAJbWNyCXAxNSwgMCwgcjMsIGM3LCBjMTAsIDQJQCBtZW1vcnkgYmFycmllciwgZmluaXNoIEFSTSBTRFIvRERSCiAJbm9wCiAJbm9wCi0JbGRyCXI2LCBkZHJfc2RyY19yZnJfY3RybAlAIGdldCBhZGRyIG9mIHJlZnJlc2ggcmVnCisJbGRyCXI2LCBvbWFwMjQyeF9zcnNfc2RyY19yZnJfY3RybAlAIGdldCBhZGRyIG9mIHJlZnJlc2ggcmVnCiAJbGRyCXI1LCBbcjZdCQlAIGdldCB2YWx1ZQogCW1vdglyNSwgcjUsIGxzciAjOAkJQCBpc29sYXRlIHJmciBmaWVsZCBhbmQgZHJvcCBidXJzdAogCkBAIC0xNjAsNyArMTU3LDcgQEAKIAltb3ZuZQlyNSwgcjUsIGxzbCAjMQkJQCBtdWx0IGJ5IDIgaWYgdG8gZnVsbAogCW1vdglyNSwgcjUsIGxzbCAjOAkJQCBwdXQgcmZyIGZpZWxkIGJhY2sgaW50byBwbGFjZQogCWFkZAlyNSwgcjUsICMweDEJCUAgdHVybiBvbiBidXJzdCBvZiAxCi0JbGRyCXI0LCBkZHJfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBvdXQgcmVnCisJbGRyCXI0LCBvbWFwMjQyeF9zcnNfY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBvdXQgcmVnCiAJbGRyCXIzLCBbcjRdCQlAIGdldCBjdXJyIHZhbHVlCiAJb3JyCXIzLCByMywgIzB4MwogCWJpYwlyMywgcjMsICMweDMJCUAgY2xlYXIgbG93ZXIgYml0cwpAQCAtMTgxLDcgKzE3OCw3IEBACiAJYm5lCWZyZXFfb3V0CQlAIGxlYXZlIGlmIFNEUiwgbm8gRExMIGZ1bmN0aW9uCiAKIAkvKiBXaXRoIEREUiwgd2UgbmVlZCB0byB0YWtlIGNhcmUgb2YgdGhlIERMTCBmb3IgdGhlIGZyZXF1ZW5jeSBjaGFuZ2UgKi8KLQlsZHIJcjIsIGRkcl9zZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCisJbGRyCXIyLCBvbWFwMjQyeF9zcnNfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAogCXN0cglyMSwgW3IyXQkJQCB3cml0ZSBvdXQgbmV3IFNEUkNfRExMQV9DVFJMCiAJYWRkCXIyLCByMiwgIzB4OAkJQCBhZGRyIHRvIFNEUkNfRExMQl9DVFJMCiAJc3RyCXIxLCBbcjJdCQlAIGNvbW1pdCB0byBTRFJDX0RMTEJfQ1RSTApAQCAtMTk3LDcgKzE5NCw3IEBACiAgICAgICoJd2FpdCBmb3IgaXQgdG8gZmluaXNoLCB1c2UgMzJrIHN5bmMgY291bnRlciwgMXRpY2s9MzF1Uy4KICAgICAgKi8KIHZvbHRhZ2Vfc2hpZnRfYzoKLQlsZHIJcjEwLCBkZHJfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAorCWxkcglyMTAsIG9tYXAyNDJ4X3Nyc19wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlsZHIJcjcsIGRkcl9wcmNtX21hc2tfdmFsCUAgZ2V0IHZhbHVlIG9mIG1hc2sKIAlhbmQJcjgsIHI4LCByNwkJQCBhcHBseSBtYXNrIHRvIGNsZWFyIGJpdHMKQEAgLTIwNyw3ICsyMDQsNyBAQAogCW9ycglyOCwgcjgsIHI3CQlAIGJ1aWxkIHZhbHVlIGZvciBmb3JjZQogCXN0cglyOCwgW3IxMF0JCUAgRm9yY2UgdHJhbnNpdGlvbiB0byBMMQogCi0JbGRyCXIxMCwgZGRyX3RpbWVyXzMya3N5bmN0CUAgZ2V0IGFkZHIgb2YgY291bnRlcgorCWxkcglyMTAsIG9tYXAyNDJ4X3Nyc190aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKIAlsZHIJcjgsIFtyMTBdCQlAIGdldCB2YWx1ZQogCWFkZAlyOCwgcjgsICMweDIJCUAgZ2l2ZSBpdCBhdCBtb3N0IDYydVMgKG1pbiAzMSspCiB2b2x0X2RlbGF5X2M6CkBAIC0yMTYsMzkgKzIxMywzOSBAQAogCWJoaQl2b2x0X2RlbGF5X2MJCUAgbm90IHlldC0+YnJhbmNoCiAJbW92CXBjLCBscgkJCUAgYmFjayB0byBjYWxsZXIKIAotZGRyX2NtX2Nsa3NlbDJfcGxsOgorb21hcDI0Mnhfc3JzX2NtX2Nsa3NlbDJfcGxsOgogCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKLWRkcl9zZHJjX2RsbGFfY3RybDoKK29tYXAyNDJ4X3Nyc19zZHJjX2RsbGFfY3RybDoKIAkud29yZCBPTUFQMjQyWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCi1kZHJfc2RyY19yZnJfY3RybDoKK29tYXAyNDJ4X3Nyc19zZHJjX3Jmcl9jdHJsOgogCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kZHJfcHJjbV92b2x0Y3RybDoKLQkud29yZCBPTUFQMjQyMF9QUk1fUkVHQUREUihPQ1BfTU9ELCAweDUwKQorb21hcDI0Mnhfc3JzX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0MlhfUFJDTV9WT0xUQ1RSTAogZGRyX3ByY21fbWFza192YWw6CiAJLndvcmQgMHhGRkZGM0ZGQwotZGRyX3RpbWVyXzMya3N5bmN0OgotCS53b3JkIFRJTUVSXzMyS1NZTkNUX0NSX1YKK29tYXAyNDJ4X3Nyc190aW1lcl8zMmtzeW5jdDoKKwkud29yZCBJT19BRERSRVNTKE9NQVAyXzMyS1NZTkNUX0JBU0UgKyAweDAxMCkKIAotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyY19zeikKLQkud29yZAkuIC0gc3JhbV9yZXByb2dyYW1fc2RyYworRU5UUlkob21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyY19zeikKKwkud29yZAkuIC0gb21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYwogCiAvKgogICogU2V0IGRpdmlkZXJzIGFuZCBwbGwuIEFsc28gcmVjYWxjdWxhdGUgRExMIHZhbHVlIGZvciBERFIgYW5kIHVubG9jayBtb2RlLgogICovCi1FTlRSWShzcmFtX3NldF9wcmNtKQorRU5UUlkob21hcDI0Mnhfc3JhbV9zZXRfcHJjbSkKIAlzdG1mZAlzcCEsIHtyMC1yMTIsIGxyfQlAIHJlZ3MgdG8gc3RhY2sKIAlhZHIJcjQsIHBiZWdpbgkJQCBhZGRyIG9mIHByZWxvYWQgc3RhcnQKIAlhZHIJcjgsIHBlbmQJCUAgYWRkciBvZiBwcmVsb2FkIGVuZAogCW1jcnIJcDE1LCAxLCByOCwgcjQsIGMxMglAIHByZWxvYWQgaW50byBpY2FjaGUKIHBiZWdpbjoKIAkvKiBtb3ZlIGludG8gZmFzdCByZWxvY2sgYnlwYXNzICovCi0JbGRyCXI4LCBwbGxfY3RsCQlAIGdldCBhZGRyCisJbGRyCXI4LCBvbWFwMjQyeF9zc3BfcGxsX2N0bAlAIGdldCBhZGRyCiAJbGRyCXI1LCBbcjhdCQlAIGdldCB2YWwKIAltdm4JcjYsICMweDMJCUAgY2xlYXIgbWFzawogCWFuZAlyNSwgcjUsIHI2CQlAIGNsZWFyIGZpZWxkCiAJb3JyCXI3LCByNSwgIzB4MgkJQCBmYXN0IHJlbG9jayB2YWwKIAlzdHIJcjcsIFtyOF0JCUAgZ28gdG8gZmFzdCByZWxvY2sKLQlsZHIJcjQsIHBsbF9zdGF0CQlAIGFkZHIgb2Ygc3RhdAorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3BsbF9zdGF0CUAgYWRkciBvZiBzdGF0CiBibG9jazoKIAkvKiB3YWl0IGZvciBieXBhc3MgKi8KIAlsZHIJcjgsIFtyNF0JCUAgc3RhdCB2YWx1ZQpAQCAtMjU3LDEwICsyNTQsMTAgQEAKIAlibmUJYmxvY2sJCQlAIGxvb3AgaWYgbm90CiAKIAkvKiBzZXQgbmV3IGRwbGwgZGl2aWRlcnMgX2FmdGVyXyBpbiBieXBhc3MgKi8KLQlsZHIJcjQsIHBsbF9kaXYJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDJ4X3NzcF9wbGxfZGl2CUAgZ2V0IGFkZHIKIAlzdHIJcjAsIFtyNF0JCUAgc2V0IGRwbGwgY3RybCB2YWwKIAotCWxkcglyNCwgc2V0X2NvbmZpZwkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3NldF9jb25maWcJQCBnZXQgYWRkcgogCW1vdglyOCwgIzEJCQlAIHZhbGlkIGNmZyBtc2sKIAlzdHIJcjgsIFtyNF0JCUAgbWFrZSBkaXZpZGVycyB0YWtlCiAKQEAgLTI3NCw4ICsyNzEsOCBAQAogCWJlcQlwZW5kCQkJQCBqdW1wIG92ZXIgZHBsbCByZWxvY2sKIAogCS8qIHJlbG9jayBEUExMIHdpdGggbmV3IHZhbHMgKi8KLQlsZHIJcjUsIHBsbF9zdGF0CQlAIGdldCBhZGRyCi0JbGRyCXI0LCBwbGxfY3RsCQlAIGdldCBhZGRyCisJbGRyCXI1LCBvbWFwMjQyeF9zc3BfcGxsX3N0YXQJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0Mnhfc3NwX3BsbF9jdGwJQCBnZXQgYWRkcgogCW9ycglyOCwgcjcsICMweDMJCUAgdmFsIGZvciBsb2NrIGRwbGwKIAlzdHIJcjgsIFtyNF0JCUAgc2V0IHZhbAogCW1vdglyMCwgIzEwMDAJCUAgZGVhZCBzcGluIGEgYml0CkBAIC0yODksOSArMjg2LDkgQEAKIAlibmUJd2FpdF9sb2NrCQlAIHdhaXQgaWYgbm90CiBwZW5kOgogCS8qIHVwZGF0ZSBtZW1vcnkgdGltaW5ncyAmIGJyaWVmbHkgbG9jayBkbGwgKi8KLQlsZHIJcjQsIHNkcmNfcmZyCQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQyeF9zc3Bfc2RyY19yZnIJQCBnZXQgYWRkcgogCXN0cglyMSwgW3I0XQkJQCB1cGRhdGUgcmVmcmVzaCB0aW1pbmcKLQlsZHIJcjExLCBkbGxhX2N0cmwJCUAgZ2V0IGFkZHIgb2YgRExMQSBjdHJsCisJbGRyCXIxMSwgb21hcDI0Mnhfc3NwX2RsbGFfY3RybAlAIGdldCBhZGRyIG9mIERMTEEgY3RybAogCWxkcglyMTAsIFtyMTFdCQlAIGdldCBjdXJyZW50IHZhbAogCW12bglyOSwgIzB4NAkJQCBtYXNrIHRvIGdldCBjbGVhciBiaXQyCiAJYW5kCXIxMCwgcjEwLCByOQkJQCBjbGVhciBiaXQyIGZvciBsb2NrIG1vZGUKQEAgLTMwNywxOCArMzA0LDE4IEBACiAJbm9wCiAJbGRtZmQJc3AhLCB7cjAtcjEyLCBwY30JQCByZXN0b3JlIHJlZ3MgYW5kIHJldHVybgogCi1zZXRfY29uZmlnOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4ODApCi1wbGxfY3RsOgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fRkNMS0VOMSkKLXBsbF9zdGF0OgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fSURMRVNUMSkKLXBsbF9kaXY6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwpCi1zZHJjX3JmcjoKK29tYXAyNDJ4X3NzcF9zZXRfY29uZmlnOgorCS53b3JkIE9NQVAyNDJYX1BSQ01fQ0xLQ0ZHX0NUUkwKK29tYXAyNDJ4X3NzcF9wbGxfY3RsOgorCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLRU4pCitvbWFwMjQyeF9zc3BfcGxsX3N0YXQ6CisJLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QpCitvbWFwMjQyeF9zc3BfcGxsX2RpdjoKKwkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDEpCitvbWFwMjQyeF9zc3Bfc2RyY19yZnI6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKLWRsbGFfY3RybDoKK29tYXAyNDJ4X3NzcF9kbGxhX2N0cmw6CiAJLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQogCi1FTlRSWShzcmFtX3NldF9wcmNtX3N6KQotCS53b3JkCS4gLSBzcmFtX3NldF9wcmNtCitFTlRSWShvbWFwMjQyeF9zcmFtX3NldF9wcmNtX3N6KQorCS53b3JkCS4gLSBvbWFwMjQyeF9zcmFtX3NldF9wcmNtCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0M3guUwpzaW1pbGFyaXR5IGluZGV4IDc3JQpjb3B5IGZyb20gYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtLWZuLlMKY29weSB0byBhcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0yNDN4LlMKaW5kZXggNGE5ZTQ5MS4uYTNmYTQ4ZGMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbS1mbi5TCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcDIvc3JhbTI0M3guUwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBsaW51eC9hcmNoL2FybS9tYWNoLW9tYXAyL3NyYW0tZm4uUworICogbGludXgvYXJjaC9hcm0vbWFjaC1vbWFwMi9zcmFtMjQzeC5TCiAgKgogICogT21hcDIgc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBydW4gaW4gaW50ZXJuYWwgU1JBTQogICoKQEAgLTI3LDIyICsyNywyMCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNpbmNsdWRlICJzZHJjLmgiCiAjaW5jbHVkZSAicHJtLmgiCiAjaW5jbHVkZSAiY20uaCIKLQotI2RlZmluZSBUSU1FUl8zMktTWU5DVF9DUl9WCUlPX0FERFJFU1MoT01BUDI0MjBfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQorI2luY2x1ZGUgInNkcmMuaCIKIAogCS50ZXh0CiAKLUVOVFJZKHNyYW1fZGRyX2luaXQpCitFTlRSWShvbWFwMjQzeF9zcmFtX2Rkcl9pbml0KQogCXN0bWZkCXNwISwge3IwIC0gcjEyLCBscn0JQCBzYXZlIHJlZ2lzdGVycyBvbiBzdGFjawogCiAJbW92CXIxMiwgcjIJCQlAIGNhcHR1cmUgQ1MxIHZzIENTMAogCW1vdglyOCwgcjMJCQlAIGNhcHR1cmUgZm9yY2UgcGFyYW1ldGVyCiAKIAkvKiBmcmVxdWVuY3kgc2hpZnQgZG93biAqLwotCWxkcglyMiwgY21fY2xrc2VsMl9wbGwJQCBnZXQgYWRkcmVzcyBvZiBkcGxsb3V0IHJlZworCWxkcglyMiwgb21hcDI0M3hfc2RpX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2YgZHBsbG91dCByZWcKIAltb3YJcjMsICMweDEJCUAgdmFsdWUgZm9yIDF4IG9wZXJhdGlvbgogCXN0cglyMywgW3IyXQkJQCBnbyB0byBMMS1mcmVxIG9wZXJhdGlvbgogCkBAIC01MSw3ICs0OSw3IEBACiAJYmwgdm9sdGFnZV9zaGlmdAkJQCBnbyBkcm9wIHZvbHRhZ2UKIAogCS8qIGRsbCBsb2NrIG1vZGUgKi8KLQlsZHIJcjExLCBzZHJjX2RsbGFfY3RybAlAIGFkZHIgb2YgZGxsYSBjdHJsCisJbGRyCXIxMSwgb21hcDI0M3hfc2RpX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlsZHIJcjEwLCBbcjExXQkJQCBnZXQgY3VycmVudCB2YWwKIAljbXAJcjEyLCAjMHgxCQlAIGNzMSBiYXNlICgyNDIyIGVzMi4wNS8xKQogCWFkZGVxCXIxMSwgcjExLCAjMHg4CQlAIGlmIGNzMSBiYXNlLCBtb3ZlIHRvIERMTEIKQEAgLTEwMiw3ICsxMDAsNyBAQAogCSAqIHdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAJICovCiB2b2x0YWdlX3NoaWZ0OgotCWxkcglyNCwgcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybC4KKwlsZHIJcjQsIG9tYXAyNDN4X3NkaV9wcmNtX3ZvbHRjdHJsCUAgZ2V0IGFkZHIgb2Ygdm9sdCBjdHJsLgogCWxkcglyNSwgW3I0XQkJQCBnZXQgdmFsdWUuCiAJbGRyCXI2LCBwcmNtX21hc2tfdmFsCUAgZ2V0IHZhbHVlIG9mIG1hc2sKIAlhbmQJcjUsIHI1LCByNgkJQCBhcHBseSBtYXNrIHRvIGNsZWFyIGJpdHMKQEAgLTExMiw3ICsxMTAsNyBAQAogCW9ycglyNSwgcjUsIHIzCQlAIGJ1aWxkIHZhbHVlIGZvciBmb3JjZQogCXN0cglyNSwgW3I0XQkJQCBGb3JjZSB0cmFuc2l0aW9uIHRvIEwxCiAKLQlsZHIJcjMsIHRpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgorCWxkcglyMywgb21hcDI0M3hfc2RpX3RpbWVyXzMya3N5bmN0X2NyCUAgZ2V0IGFkZHIgb2YgY291bnRlcgogCWxkcglyNSwgW3IzXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjUsIHI1LCAjMHgzCQlAIGdpdmUgaXQgYXQgbW9zdCA5M3VTCiB2b2x0X2RlbGF5OgpAQCAtMTIxLDMyICsxMTksMzEgQEAKIAliaGkJdm9sdF9kZWxheQkJQCBub3QgeWV0LT5icmFuY2gKIAltb3YJcGMsIGxyCQkJQCBiYWNrIHRvIGNhbGxlci4KIAotLyogcmVsYXRpdmUgbG9hZCBjb25zdGFudHMgKi8KLWNtX2Nsa3NlbDJfcGxsOgotCS53b3JkIE9NQVAyNDIwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMikKLXNkcmNfZGxsYV9jdHJsOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKLXByY21fdm9sdGN0cmw6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg1MCkKK29tYXAyNDN4X3NkaV9jbV9jbGtzZWwyX3BsbDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCitvbWFwMjQzeF9zZGlfc2RyY19kbGxhX2N0cmw6CisJLndvcmQgT01BUDI0M1hfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc2RpX3ByY21fdm9sdGN0cmw6CisJLndvcmQgT01BUDI0M1hfUFJDTV9WT0xUQ1RSTAogcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi10aW1lcl8zMmtzeW5jdF9jcjoKLQkud29yZCBUSU1FUl8zMktTWU5DVF9DUl9WCi1FTlRSWShzcmFtX2Rkcl9pbml0X3N6KQotCS53b3JkCS4gLSBzcmFtX2Rkcl9pbml0CitvbWFwMjQzeF9zZGlfdGltZXJfMzJrc3luY3RfY3I6CisJLndvcmQgSU9fQUREUkVTUyhPTUFQMl8zMktTWU5DVF9CQVNFICsgMHgwMTApCitFTlRSWShvbWFwMjQzeF9zcmFtX2Rkcl9pbml0X3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX2Rkcl9pbml0CiAKIC8qCiAgKiBSZXByb2dyYW1zIG1lbW9yeSB0aW1pbmdzLgogICogcjAgPSBbUFJDTV9GVUxMIHwgUFJDTV9IQUxGXSByMSA9IFNEUkNfRExMQV9DVFJMIHZhbHVlIHIyID0gW0REUiB8IFNEUl0KICAqIFBSQ01fRlVMTCA9IDIsIFBSQ01fSEFMRiA9IDEsIEREUiA9IDEsIFNEUiA9IDAKICAqLwotRU5UUlkoc3JhbV9yZXByb2dyYW1fc2RyYykKK0VOVFJZKG9tYXAyNDN4X3NyYW1fcmVwcm9ncmFtX3NkcmMpCiAJc3RtZmQJc3AhLCB7cjAgLSByMTAsIGxyfQlAIHNhdmUgcmVnaXN0ZXJzIG9uIHN0YWNrCiAJbW92CXIzLCAjMHgwCQlAIGNsZWFyIGZvciBtcmMgY2FsbAogCW1jcglwMTUsIDAsIHIzLCBjNywgYzEwLCA0CUAgbWVtb3J5IGJhcnJpZXIsIGZpbmlzaCBBUk0gU0RSL0REUgogCW5vcAogCW5vcAotCWxkcglyNiwgZGRyX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZworCWxkcglyNiwgb21hcDI0M3hfc3JzX3NkcmNfcmZyX2N0cmwJQCBnZXQgYWRkciBvZiByZWZyZXNoIHJlZwogCWxkcglyNSwgW3I2XQkJQCBnZXQgdmFsdWUKIAltb3YJcjUsIHI1LCBsc3IgIzgJCUAgaXNvbGF0ZSByZnIgZmllbGQgYW5kIGRyb3AgYnVyc3QKIApAQCAtMTYwLDcgKzE1Nyw3IEBACiAJbW92bmUJcjUsIHI1LCBsc2wgIzEJCUAgbXVsdCBieSAyIGlmIHRvIGZ1bGwKIAltb3YJcjUsIHI1LCBsc2wgIzgJCUAgcHV0IHJmciBmaWVsZCBiYWNrIGludG8gcGxhY2UKIAlhZGQJcjUsIHI1LCAjMHgxCQlAIHR1cm4gb24gYnVyc3Qgb2YgMQotCWxkcglyNCwgZGRyX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZworCWxkcglyNCwgb21hcDI0M3hfc3JzX2NtX2Nsa3NlbDJfcGxsCUAgZ2V0IGFkZHJlc3Mgb2Ygb3V0IHJlZwogCWxkcglyMywgW3I0XQkJQCBnZXQgY3VyciB2YWx1ZQogCW9ycglyMywgcjMsICMweDMKIAliaWMJcjMsIHIzLCAjMHgzCQlAIGNsZWFyIGxvd2VyIGJpdHMKQEAgLTE4MSw3ICsxNzgsNyBAQAogCWJuZQlmcmVxX291dAkJQCBsZWF2ZSBpZiBTRFIsIG5vIERMTCBmdW5jdGlvbgogCiAJLyogV2l0aCBERFIsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBETEwgZm9yIHRoZSBmcmVxdWVuY3kgY2hhbmdlICovCi0JbGRyCXIyLCBkZHJfc2RyY19kbGxhX2N0cmwJQCBhZGRyIG9mIGRsbGEgY3RybAorCWxkcglyMiwgb21hcDI0M3hfc3JzX3NkcmNfZGxsYV9jdHJsCUAgYWRkciBvZiBkbGxhIGN0cmwKIAlzdHIJcjEsIFtyMl0JCUAgd3JpdGUgb3V0IG5ldyBTRFJDX0RMTEFfQ1RSTAogCWFkZAlyMiwgcjIsICMweDgJCUAgYWRkciB0byBTRFJDX0RMTEJfQ1RSTAogCXN0cglyMSwgW3IyXQkJQCBjb21taXQgdG8gU0RSQ19ETExCX0NUUkwKQEAgLTE5Nyw3ICsxOTQsNyBAQAogICAgICAqCXdhaXQgZm9yIGl0IHRvIGZpbmlzaCwgdXNlIDMyayBzeW5jIGNvdW50ZXIsIDF0aWNrPTMxdVMuCiAgICAgICovCiB2b2x0YWdlX3NoaWZ0X2M6Ci0JbGRyCXIxMCwgZGRyX3ByY21fdm9sdGN0cmwJQCBnZXQgYWRkciBvZiB2b2x0IGN0cmwKKwlsZHIJcjEwLCBvbWFwMjQzeF9zcnNfcHJjbV92b2x0Y3RybAlAIGdldCBhZGRyIG9mIHZvbHQgY3RybAogCWxkcglyOCwgW3IxMF0JCUAgZ2V0IHZhbHVlCiAJbGRyCXI3LCBkZHJfcHJjbV9tYXNrX3ZhbAlAIGdldCB2YWx1ZSBvZiBtYXNrCiAJYW5kCXI4LCByOCwgcjcJCUAgYXBwbHkgbWFzayB0byBjbGVhciBiaXRzCkBAIC0yMDcsNyArMjA0LDcgQEAKIAlvcnIJcjgsIHI4LCByNwkJQCBidWlsZCB2YWx1ZSBmb3IgZm9yY2UKIAlzdHIJcjgsIFtyMTBdCQlAIEZvcmNlIHRyYW5zaXRpb24gdG8gTDEKIAotCWxkcglyMTAsIGRkcl90aW1lcl8zMmtzeW5jdAlAIGdldCBhZGRyIG9mIGNvdW50ZXIKKwlsZHIJcjEwLCBvbWFwMjQzeF9zcnNfdGltZXJfMzJrc3luY3QJQCBnZXQgYWRkciBvZiBjb3VudGVyCiAJbGRyCXI4LCBbcjEwXQkJQCBnZXQgdmFsdWUKIAlhZGQJcjgsIHI4LCAjMHgyCQlAIGdpdmUgaXQgYXQgbW9zdCA2MnVTIChtaW4gMzErKQogdm9sdF9kZWxheV9jOgpAQCAtMjE2LDM5ICsyMTMsMzkgQEAKIAliaGkJdm9sdF9kZWxheV9jCQlAIG5vdCB5ZXQtPmJyYW5jaAogCW1vdglwYywgbHIJCQlAIGJhY2sgdG8gY2FsbGVyCiAKLWRkcl9jbV9jbGtzZWwyX3BsbDoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTDIpCi1kZHJfc2RyY19kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQotZGRyX3NkcmNfcmZyX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfUkZSX0NUUkxfMCkKLWRkcl9wcmNtX3ZvbHRjdHJsOgotCS53b3JkIE9NQVAyNDIwX1BSTV9SRUdBRERSKE9DUF9NT0QsIDB4NTApCitvbWFwMjQzeF9zcnNfY21fY2xrc2VsMl9wbGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtTRUwyKQorb21hcDI0M3hfc3JzX3NkcmNfZGxsYV9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX0RMTEFfQ1RSTCkKK29tYXAyNDN4X3Nyc19zZHJjX3Jmcl9jdHJsOgorCS53b3JkIE9NQVAyNDNYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCitvbWFwMjQzeF9zcnNfcHJjbV92b2x0Y3RybDoKKwkud29yZCBPTUFQMjQzWF9QUkNNX1ZPTFRDVFJMCiBkZHJfcHJjbV9tYXNrX3ZhbDoKIAkud29yZCAweEZGRkYzRkZDCi1kZHJfdGltZXJfMzJrc3luY3Q6Ci0JLndvcmQgVElNRVJfMzJLU1lOQ1RfQ1JfVgorb21hcDI0M3hfc3JzX3RpbWVyXzMya3N5bmN0OgorCS53b3JkIElPX0FERFJFU1MoT01BUDJfMzJLU1lOQ1RfQkFTRSArIDB4MDEwKQogCi1FTlRSWShzcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQotCS53b3JkCS4gLSBzcmFtX3JlcHJvZ3JhbV9zZHJjCitFTlRSWShvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KQorCS53b3JkCS4gLSBvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjCiAKIC8qCiAgKiBTZXQgZGl2aWRlcnMgYW5kIHBsbC4gQWxzbyByZWNhbGN1bGF0ZSBETEwgdmFsdWUgZm9yIEREUiBhbmQgdW5sb2NrIG1vZGUuCiAgKi8KLUVOVFJZKHNyYW1fc2V0X3ByY20pCitFTlRSWShvbWFwMjQzeF9zcmFtX3NldF9wcmNtKQogCXN0bWZkCXNwISwge3IwLXIxMiwgbHJ9CUAgcmVncyB0byBzdGFjawogCWFkcglyNCwgcGJlZ2luCQlAIGFkZHIgb2YgcHJlbG9hZCBzdGFydAogCWFkcglyOCwgcGVuZAkJQCBhZGRyIG9mIHByZWxvYWQgZW5kCiAJbWNycglwMTUsIDEsIHI4LCByNCwgYzEyCUAgcHJlbG9hZCBpbnRvIGljYWNoZQogcGJlZ2luOgogCS8qIG1vdmUgaW50byBmYXN0IHJlbG9jayBieXBhc3MgKi8KLQlsZHIJcjgsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjgsIG9tYXAyNDN4X3NzcF9wbGxfY3RsCUAgZ2V0IGFkZHIKIAlsZHIJcjUsIFtyOF0JCUAgZ2V0IHZhbAogCW12bglyNiwgIzB4MwkJQCBjbGVhciBtYXNrCiAJYW5kCXI1LCByNSwgcjYJCUAgY2xlYXIgZmllbGQKIAlvcnIJcjcsIHI1LCAjMHgyCQlAIGZhc3QgcmVsb2NrIHZhbAogCXN0cglyNywgW3I4XQkJQCBnbyB0byBmYXN0IHJlbG9jawotCWxkcglyNCwgcGxsX3N0YXQJCUAgYWRkciBvZiBzdGF0CisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX3N0YXQJQCBhZGRyIG9mIHN0YXQKIGJsb2NrOgogCS8qIHdhaXQgZm9yIGJ5cGFzcyAqLwogCWxkcglyOCwgW3I0XQkJQCBzdGF0IHZhbHVlCkBAIC0yNTcsMTAgKzI1NCwxMCBAQAogCWJuZQlibG9jawkJCUAgbG9vcCBpZiBub3QKIAogCS8qIHNldCBuZXcgZHBsbCBkaXZpZGVycyBfYWZ0ZXJfIGluIGJ5cGFzcyAqLwotCWxkcglyNCwgcGxsX2RpdgkJQCBnZXQgYWRkcgorCWxkcglyNCwgb21hcDI0M3hfc3NwX3BsbF9kaXYJQCBnZXQgYWRkcgogCXN0cglyMCwgW3I0XQkJQCBzZXQgZHBsbCBjdHJsIHZhbAogCi0JbGRyCXI0LCBzZXRfY29uZmlnCQlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3Bfc2V0X2NvbmZpZwlAIGdldCBhZGRyCiAJbW92CXI4LCAjMQkJCUAgdmFsaWQgY2ZnIG1zawogCXN0cglyOCwgW3I0XQkJQCBtYWtlIGRpdmlkZXJzIHRha2UKIApAQCAtMjc0LDggKzI3MSw4IEBACiAJYmVxCXBlbmQJCQlAIGp1bXAgb3ZlciBkcGxsIHJlbG9jawogCiAJLyogcmVsb2NrIERQTEwgd2l0aCBuZXcgdmFscyAqLwotCWxkcglyNSwgcGxsX3N0YXQJCUAgZ2V0IGFkZHIKLQlsZHIJcjQsIHBsbF9jdGwJCUAgZ2V0IGFkZHIKKwlsZHIJcjUsIG9tYXAyNDN4X3NzcF9wbGxfc3RhdAlAIGdldCBhZGRyCisJbGRyCXI0LCBvbWFwMjQzeF9zc3BfcGxsX2N0bAlAIGdldCBhZGRyCiAJb3JyCXI4LCByNywgIzB4MwkJQCB2YWwgZm9yIGxvY2sgZHBsbAogCXN0cglyOCwgW3I0XQkJQCBzZXQgdmFsCiAJbW92CXIwLCAjMTAwMAkJQCBkZWFkIHNwaW4gYSBiaXQKQEAgLTI4OSw5ICsyODYsOSBAQAogCWJuZQl3YWl0X2xvY2sJCUAgd2FpdCBpZiBub3QKIHBlbmQ6CiAJLyogdXBkYXRlIG1lbW9yeSB0aW1pbmdzICYgYnJpZWZseSBsb2NrIGRsbCAqLwotCWxkcglyNCwgc2RyY19yZnIJCUAgZ2V0IGFkZHIKKwlsZHIJcjQsIG9tYXAyNDN4X3NzcF9zZHJjX3JmcglAIGdldCBhZGRyCiAJc3RyCXIxLCBbcjRdCQlAIHVwZGF0ZSByZWZyZXNoIHRpbWluZwotCWxkcglyMTEsIGRsbGFfY3RybAkJQCBnZXQgYWRkciBvZiBETExBIGN0cmwKKwlsZHIJcjExLCBvbWFwMjQzeF9zc3BfZGxsYV9jdHJsCUAgZ2V0IGFkZHIgb2YgRExMQSBjdHJsCiAJbGRyCXIxMCwgW3IxMV0JCUAgZ2V0IGN1cnJlbnQgdmFsCiAJbXZuCXI5LCAjMHg0CQlAIG1hc2sgdG8gZ2V0IGNsZWFyIGJpdDIKIAlhbmQJcjEwLCByMTAsIHI5CQlAIGNsZWFyIGJpdDIgZm9yIGxvY2sgbW9kZQpAQCAtMzA3LDE4ICszMDQsMTggQEAKIAlub3AKIAlsZG1mZAlzcCEsIHtyMC1yMTIsIHBjfQlAIHJlc3RvcmUgcmVncyBhbmQgcmV0dXJuCiAKLXNldF9jb25maWc6Ci0JLndvcmQgT01BUDI0MjBfUFJNX1JFR0FERFIoT0NQX01PRCwgMHg4MCkKLXBsbF9jdGw6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9GQ0xLRU4xKQotcGxsX3N0YXQ6Ci0JLndvcmQgT01BUDI0MjBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9JRExFU1QxKQotcGxsX2RpdjoKLQkud29yZCBPTUFQMjQyMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0NMS1NFTCkKLXNkcmNfcmZyOgotCS53b3JkIE9NQVAyNDJYX1NEUkNfUkVHQUREUihTRFJDX1JGUl9DVFJMXzApCi1kbGxhX2N0cmw6Ci0JLndvcmQgT01BUDI0MlhfU0RSQ19SRUdBRERSKFNEUkNfRExMQV9DVFJMKQorb21hcDI0M3hfc3NwX3NldF9jb25maWc6CisJLndvcmQgT01BUDI0M1hfUFJDTV9DTEtDRkdfQ1RSTAorb21hcDI0M3hfc3NwX3BsbF9jdGw6CisJLndvcmQgT01BUDI0MzBfQ01fUkVHQUREUihQTExfTU9ELCBDTV9DTEtFTikKK29tYXAyNDN4X3NzcF9wbGxfc3RhdDoKKwkud29yZCBPTUFQMjQzMF9DTV9SRUdBRERSKFBMTF9NT0QsIENNX0lETEVTVCkKK29tYXAyNDN4X3NzcF9wbGxfZGl2OgorCS53b3JkIE9NQVAyNDMwX0NNX1JFR0FERFIoUExMX01PRCwgQ01fQ0xLU0VMMSkKK29tYXAyNDN4X3NzcF9zZHJjX3JmcjoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19SRlJfQ1RSTF8wKQorb21hcDI0M3hfc3NwX2RsbGFfY3RybDoKKwkud29yZCBPTUFQMjQzWF9TRFJDX1JFR0FERFIoU0RSQ19ETExBX0NUUkwpCiAKLUVOVFJZKHNyYW1fc2V0X3ByY21fc3opCi0JLndvcmQJLiAtIHNyYW1fc2V0X3ByY20KK0VOVFJZKG9tYXAyNDN4X3NyYW1fc2V0X3ByY21fc3opCisJLndvcmQJLiAtIG9tYXAyNDN4X3NyYW1fc2V0X3ByY20KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYyBiL2FyY2gvYXJtL21hY2gtb21hcDIvdGltZXItZ3AuYwppbmRleCA3OGQwNWYyLi41NTc2MDNmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAyL3RpbWVyLWdwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi90aW1lci1ncC5jCkBAIC01OSw4ICs1OSw3IEBACiBzdGF0aWMgaW50IG9tYXAyX2dwX3RpbWVyX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgY3ljbGVzLAogCQkJCQkgc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqZXZ0KQogewotCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0aW1lciwgMCwgMHhmZmZmZmZmZiAtIGN5Y2xlcyk7Ci0Jb21hcF9kbV90aW1lcl9zdGFydChncHRpbWVyKTsKKwlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdGltZXIsIDAsIDB4ZmZmZmZmZmYgLSBjeWNsZXMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC03Nyw4ICs3Niw3IEBACiAJCXBlcmlvZCA9IGNsa19nZXRfcmF0ZShvbWFwX2RtX3RpbWVyX2dldF9mY2xrKGdwdGltZXIpKSAvIEhaOwogCQlwZXJpb2QgLT0gMTsKIAotCQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkKGdwdGltZXIsIDEsIDB4ZmZmZmZmZmYgLSBwZXJpb2QpOwotCQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdGltZXIpOworCQlvbWFwX2RtX3RpbWVyX3NldF9sb2FkX3N0YXJ0KGdwdGltZXIsIDEsIDB4ZmZmZmZmZmYgLSBwZXJpb2QpOwogCQlicmVhazsKIAljYXNlIENMT0NLX0VWVF9NT0RFX09ORVNIT1Q6CiAJCWJyZWFrOwpAQCAtMTcyLDggKzE3MCw3IEBACiAJdGlja19yYXRlID0gY2xrX2dldF9yYXRlKG9tYXBfZG1fdGltZXJfZ2V0X2ZjbGsoZ3B0KSk7CiAJdGlja19wZXJpb2QgPSAodGlja19yYXRlIC8gSFopIC0gMTsKIAotCW9tYXBfZG1fdGltZXJfc2V0X2xvYWQoZ3B0LCAxLCAwKTsKLQlvbWFwX2RtX3RpbWVyX3N0YXJ0KGdwdCk7CisJb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChncHQsIDEsIDApOwogCiAJY2xvY2tzb3VyY2VfZ3B0Lm11bHQgPQogCQljbG9ja3NvdXJjZV9raHoybXVsdCh0aWNrX3JhdGUvMTAwMCwgY2xvY2tzb3VyY2VfZ3B0LnNoaWZ0KTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKaW5kZXggOTNkZWJmMy4uZGRjZDQxYiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L0tjb25maWcKQEAgLTQ0LDYgKzQ0LDU0IEBACiAJICBCdWZmYWxvIExpbmtzdGF0aW9uIFByby9MaXZlIHBsYXRmb3JtLiBCb3RoIHYxIGFuZAogCSAgdjIgZGV2aWNlcyBhcmUgc3VwcG9ydGVkLgogCitjb25maWcgTUFDSF9UUzQwOQorCWJvb2wgIlFOQVAgVFMtNDA5IgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgUU5BUCBUUy00MDkgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1dSVDM1ME5fVjIKKwlib29sICJMaW5rc3lzIFdSVDM1ME4gdjIiCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIGlmIHlvdSB3YW50IHlvdXIga2VybmVsIHRvIHN1cHBvcnQgdGhlCisJICBMaW5rc3lzIFdSVDM1ME4gdjIgcGxhdGZvcm0uCisKK2NvbmZpZyBNQUNIX1RTNzhYWAorCWJvb2wgIlRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIFRlY2hub2xvZ2ljIFN5c3RlbXMgVFMtNzh4eCBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfTVYyMTIwCisJYm9vbCAiSFAgTWVkaWEgVmF1bHQgbXYyMTIwIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgSFAgTWVkaWEgVmF1bHQgbXYyMTIwIG9yIG12NTEwMC4KKworY29uZmlnIE1BQ0hfTVNTMgorCWJvb2wgIk1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfV05SODU0VAorCWJvb2wgIk5ldGdlYXIgV05SODU0VCIKKwloZWxwCisJICBTYXkgJ1knIGhlcmUgaWYgeW91IHdhbnQgeW91ciBrZXJuZWwgdG8gc3VwcG9ydCB0aGUKKwkgIE5ldGdlYXIgV05SODU0VCBwbGF0Zm9ybS4KKworY29uZmlnIE1BQ0hfUkQ4OEY1MTgxTF9HRQorCWJvb2wgIk1hcnZlbGwgT3Jpb24tVm9JUCBHRSBSZWZlcmVuY2UgRGVzaWduIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBPcmlvbi1Wb0lQIEdFICg4OEY1MTgxTCkgUkQuCisKK2NvbmZpZyBNQUNIX1JEODhGNTE4MUxfRlhPCisJYm9vbCAiTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyBSZWZlcmVuY2UgRGVzaWduIgorCWhlbHAKKwkgIFNheSAnWScgaGVyZSBpZiB5b3Ugd2FudCB5b3VyIGtlcm5lbCB0byBzdXBwb3J0IHRoZQorCSAgTWFydmVsbCBPcmlvbi1Wb0lQIEZYTyAoODhGNTE4MUwpIFJELgorCiBlbmRtZW51CiAKIGVuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvTWFrZWZpbGUKaW5kZXggOTMwMWJmNS4uZmNjNDhhOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9NYWtlZmlsZQpAQCAtMSw3ICsxLDE1IEBACi1vYmoteQkJCQkrPSBjb21tb24ubyBhZGRyLW1hcC5vIHBjaS5vIGdwaW8ubyBpcnEubworb2JqLXkJCQkJKz0gY29tbW9uLm8gYWRkci1tYXAubyBwY2kubyBncGlvLm8gaXJxLm8gbXBwLm8KIG9iai0kKENPTkZJR19NQUNIX0RCODhGNTI4MSkJKz0gZGI4OGY1MjgxLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MikJKz0gcmQ4OGY1MTgyLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0tVUk9CT1hfUFJPKQkrPSBrdXJvYm94X3Byby1zZXR1cC5vCiBvYmotJChDT05GSUdfTUFDSF9MSU5LU1RBVElPTl9QUk8pICs9IGt1cm9ib3hfcHJvLXNldHVwLm8KIG9iai0kKENPTkZJR19NQUNIX0ROUzMyMykJKz0gZG5zMzIzLXNldHVwLm8KLW9iai0kKENPTkZJR19NQUNIX1RTMjA5KQkrPSB0czIwOS1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9UUzIwOSkJKz0gdHMyMDktc2V0dXAubyB0c3gwOS1jb21tb24ubworb2JqLSQoQ09ORklHX01BQ0hfVFM0MDkpCSs9IHRzNDA5LXNldHVwLm8gdHN4MDktY29tbW9uLm8KK29iai0kKENPTkZJR19NQUNIX1dSVDM1ME5fVjIpCSs9IHdydDM1MG4tdjItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfVFM3OFhYKQkrPSB0czc4eHgtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfTVYyMTIwKQkrPSBtdjIxMjAtc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfTVNTMikJCSs9IG1zczItc2V0dXAubworb2JqLSQoQ09ORklHX01BQ0hfV05SODU0VCkJKz0gd25yODU0dC1zZXR1cC5vCitvYmotJChDT05GSUdfTUFDSF9SRDg4RjUxODFMX0dFKQkrPSByZDg4ZjUxODFsLWdlLXNldHVwLm8KK29iai0kKENPTkZJR19NQUNIX1JEODhGNTE4MUxfRlhPKQkrPSByZDg4ZjUxODFsLWZ4by1zZXR1cC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvYWRkci1tYXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCmluZGV4IGU2M2ZiMDUuLjZmMGRiZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9hZGRyLW1hcC5jCkBAIC03MCw2ICs3MCw3IEBACiAKIAogc3RydWN0IG1idXNfZHJhbV90YXJnZXRfaW5mbyBvcmlvbjV4X21idXNfZHJhbV9pbmZvOworc3RhdGljIGludCBfX2luaXRkYXRhIHdpbl9hbGxvY19jb3VudDsKIAogc3RhdGljIGludCBfX2luaXQgb3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcChpbnQgd2luKQogewpAQCAtODcsMTYgKzg4LDIyIEBACiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfY3B1X3dpbihpbnQgd2luLCB1MzIgYmFzZSwgdTMyIHNpemUsCiAJCQkJIHU4IHRhcmdldCwgdTggYXR0ciwgaW50IHJlbWFwKQogewotCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9CQVNFKHdpbiksIGJhc2UgJiAweGZmZmYwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQ1RSTCh3aW4pLAotCQkoKHNpemUgLSAxKSAmIDB4ZmZmZjAwMDApIHwgKGF0dHIgPDwgOCkgfCAodGFyZ2V0IDw8IDQpIHwgMSk7CisJaWYgKHdpbiA+PSA4KSB7CisJCXByaW50ayhLRVJOX0VSUiAic2V0dXBfY3B1X3dpbjogdHJ5aW5nIHRvIGFsbG9jYXRlICIKKwkJCQkid2luZG93ICVkXG4iLCB3aW4pOworCQlyZXR1cm47CisJfQorCisJd3JpdGVsKGJhc2UgJiAweGZmZmYwMDAwLCBDUFVfV0lOX0JBU0Uod2luKSk7CisJd3JpdGVsKCgoc2l6ZSAtIDEpICYgMHhmZmZmMDAwMCkgfCAoYXR0ciA8PCA4KSB8ICh0YXJnZXQgPDwgNCkgfCAxLAorCQlDUFVfV0lOX0NUUkwod2luKSk7CiAKIAlpZiAob3Jpb241eF9jcHVfd2luX2Nhbl9yZW1hcCh3aW4pKSB7CiAJCWlmIChyZW1hcCA8IDApCiAJCQlyZW1hcCA9IGJhc2U7CiAKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX1JFTUFQX0xPKHdpbiksIHJlbWFwICYgMHhmZmZmMDAwMCk7Ci0JCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9ISSh3aW4pLCAwKTsKKwkJd3JpdGVsKHJlbWFwICYgMHhmZmZmMDAwMCwgQ1BVX1dJTl9SRU1BUF9MTyh3aW4pKTsKKwkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkod2luKSk7CiAJfQogfQogCkBAIC0xMDksMTEgKzExNiwxMSBAQAogCSAqIEZpcnN0LCBkaXNhYmxlIGFuZCBjbGVhciB3aW5kb3dzLgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKLQkJb3Jpb241eF93cml0ZShDUFVfV0lOX0JBU0UoaSksIDApOwotCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fQ1RSTChpKSwgMCk7CisJCXdyaXRlbCgwLCBDUFVfV0lOX0JBU0UoaSkpOworCQl3cml0ZWwoMCwgQ1BVX1dJTl9DVFJMKGkpKTsKIAkJaWYgKG9yaW9uNXhfY3B1X3dpbl9jYW5fcmVtYXAoaSkpIHsKLQkJCW9yaW9uNXhfd3JpdGUoQ1BVX1dJTl9SRU1BUF9MTyhpKSwgMCk7Ci0JCQlvcmlvbjV4X3dyaXRlKENQVV9XSU5fUkVNQVBfSEkoaSksIDApOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfTE8oaSkpOworCQkJd3JpdGVsKDAsIENQVV9XSU5fUkVNQVBfSEkoaSkpOwogCQl9CiAJfQogCkBAIC0xMjgsNiArMTM1LDcgQEAKIAkJVEFSR0VUX1BDSUUsIEFUVFJfUENJRV9NRU0sIC0xKTsKIAlzZXR1cF9jcHVfd2luKDMsIE9SSU9ONVhfUENJX01FTV9QSFlTX0JBU0UsIE9SSU9ONVhfUENJX01FTV9TSVpFLAogCQlUQVJHRVRfUENJLCBBVFRSX1BDSV9NRU0sIC0xKTsKKwl3aW5fYWxsb2NfY291bnQgPSA0OwogCiAJLyoKIAkgKiBTZXR1cCBNQlVTIGRyYW0gdGFyZ2V0IGluZm8uCkBAIC0xNDcsOCArMTU1LDggQEAKIAkJCXcgPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mby5jc1tjcysrXTsKIAkJCXctPmNzX2luZGV4ID0gaTsKIAkJCXctPm1idXNfYXR0ciA9IDB4ZiAmIH4oMSA8PCBpKTsKLQkJCXctPmJhc2UgPSBiYXNlICYgMHhmZjAwMDAwMDsKLQkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDBmZmZmZmYpICsgMTsKKwkJCXctPmJhc2UgPSBiYXNlICYgMHhmZmZmMDAwMDsKKwkJCXctPnNpemUgPSAoc2l6ZSB8IDB4MDAwMGZmZmYpICsgMTsKIAkJfQogCX0KIAlvcmlvbjV4X21idXNfZHJhbV9pbmZvLm51bV9jcyA9IGNzOwpAQCAtMTU2LDI1ICsxNjQsMzAgQEAKIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNCwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0JPT1QsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQk9PVCwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX2RldjBfd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDUsIGJhc2UsIHNpemUsIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzAsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MwLCAtMSk7CiB9CiAKIHZvaWQgX19pbml0IG9yaW9uNXhfc2V0dXBfZGV2MV93aW4odTMyIGJhc2UsIHUzMiBzaXplKQogewotCXNldHVwX2NwdV93aW4oNiwgYmFzZSwgc2l6ZSwgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMSwgLTEpOworCXNldHVwX2NwdV93aW4od2luX2FsbG9jX2NvdW50KyssIGJhc2UsIHNpemUsCisJCSAgICAgIFRBUkdFVF9ERVZfQlVTLCBBVFRSX0RFVl9DUzEsIC0xKTsKIH0KIAogdm9pZCBfX2luaXQgb3Jpb241eF9zZXR1cF9kZXYyX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpCiB7Ci0Jc2V0dXBfY3B1X3dpbig3LCBiYXNlLCBzaXplLCBUQVJHRVRfREVWX0JVUywgQVRUUl9ERVZfQ1MyLCAtMSk7CisJc2V0dXBfY3B1X3dpbih3aW5fYWxsb2NfY291bnQrKywgYmFzZSwgc2l6ZSwKKwkJICAgICAgVEFSR0VUX0RFVl9CVVMsIEFUVFJfREVWX0NTMiwgLTEpOwogfQogCiB2b2lkIF9faW5pdCBvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKHUzMiBiYXNlLCB1MzIgc2l6ZSkKIHsKLQlzZXR1cF9jcHVfd2luKDcsIGJhc2UsIHNpemUsIFRBUkdFVF9QQ0lFLCBBVFRSX1BDSUVfV0EsIC0xKTsKKwlzZXR1cF9jcHVfd2luKHdpbl9hbGxvY19jb3VudCsrLCBiYXNlLCBzaXplLAorCQkgICAgICBUQVJHRVRfUENJRSwgQVRUUl9QQ0lFX1dBLCAtMSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmMKaW5kZXggNGYxM2ZkMC4uZmFmNGUzMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uYwpAQCAtMzksMjUgKzM5LDIyIEBACiAJCS52aXJ0dWFsCT0gT1JJT041WF9SRUdTX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUkVHU19QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUkVHU19TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKLQl9LAotCXsKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAorCX0sIHsKIAkJLnZpcnR1YWwJPSBPUklPTjVYX1BDSUVfSU9fVklSVF9CQVNFLAogCQkucGZuCQk9IF9fcGh5c190b19wZm4oT1JJT041WF9QQ0lFX0lPX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lFX0lPX1NJWkUsCi0JCS50eXBlCQk9IE1UX0RFVklDRQotCX0sCi0JeworCQkudHlwZQkJPSBNVF9ERVZJQ0UsCisJfSwgewogCQkudmlydHVhbAk9IE9SSU9ONVhfUENJX0lPX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJX0lPX1BIWVNfQkFTRSksCiAJCS5sZW5ndGgJCT0gT1JJT041WF9QQ0lfSU9fU0laRSwKLQkJLnR5cGUJCT0gTVRfREVWSUNFCi0JfSwKLQl7CisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LCB7CiAJCS52aXJ0dWFsCT0gT1JJT041WF9QQ0lFX1dBX1ZJUlRfQkFTRSwKIAkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UpLAogCQkubGVuZ3RoCQk9IE9SSU9ONVhfUENJRV9XQV9TSVpFLAotCQkudHlwZQkJPSBNVF9ERVZJQ0UKKwkJLnR5cGUJCT0gTVRfREVWSUNFLAogCX0sCiB9OwogCkBAIC02NiwxMDEgKzYzLDMyIEBACiAJaW90YWJsZV9pbml0KG9yaW9uNXhfaW9fZGVzYywgQVJSQVlfU0laRShvcmlvbjV4X2lvX2Rlc2MpKTsKIH0KIAorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFVBUlQKKyAqIEVIQ0kKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydF9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCi0JCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5lbmQJCT0gSVJRX09SSU9ONVhfVUFSVDAsCi0JCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotCXsKLQkJLnN0YXJ0CQk9IFVBUlQxX1BIWVNfQkFTRSwKLQkJLmVuZAkJPSBVQVJUMV9QSFlTX0JBU0UgKyAweGZmLAotCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQl7Ci0JCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMSwKLQkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgc3RydWN0IHBsYXRfc2VyaWFsODI1MF9wb3J0IG9yaW9uNXhfdWFydF9kYXRhW10gPSB7Ci0JewotCQkubWFwYmFzZQk9IFVBUlQwX1BIWVNfQkFTRSwKLQkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQwX1ZJUlRfQkFTRSwKLQkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMCwKLQkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJLmlvdHlwZQkJPSBVUElPX01FTSwKLQkJLnJlZ3NoaWZ0CT0gMiwKLQkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCi0JfSwKLQl7Ci0JCS5tYXBiYXNlCT0gVUFSVDFfUEhZU19CQVNFLAotCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDFfVklSVF9CQVNFLAotCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQxLAotCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkucmVnc2hpZnQJPSAyLAotCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKLQl9LAotCXsgfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydCA9IHsKLQkubmFtZQkJCT0gInNlcmlhbDgyNTAiLAotCS5pZAkJCT0gUExBVDgyNTBfREVWX1BMQVRGT1JNLAotCS5kZXYJCQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnRfZGF0YSwKLQl9LAotCS5yZXNvdXJjZQkJPSBvcmlvbjV4X3VhcnRfcmVzb3VyY2VzLAotCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0X3Jlc291cmNlcyksCi19OwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogVVNCIENvbnRyb2xsZXIgLSAyIGludGVyZmFjZXMKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9laGNpMF9yZXNvdXJjZXNbXSA9IHsKLQl7Ci0JCS5zdGFydAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UsCi0JCS5lbmQJPSBPUklPTjVYX1VTQjBfUEhZU19CQVNFICsgU1pfNEsgLSAxLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAotCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAotCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9LAotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kxX3Jlc291cmNlc1tdID0gewotCXsKLQkJLnN0YXJ0CT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSwKLQkJLmVuZAk9IE9SSU9ONVhfVVNCMV9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JewotCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCi0JCS5lbmQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCi0JCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCiBzdGF0aWMgc3RydWN0IG9yaW9uX2VoY2lfZGF0YSBvcmlvbjV4X2VoY2lfZGF0YSA9IHsKIAkuZHJhbQkJPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mbywKIH07CiAKIHN0YXRpYyB1NjQgZWhjaV9kbWFtYXNrID0gMHhmZmZmZmZmZlVMOwogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRUhDSTAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBvcmlvbjV4X2VoY2kwX3Jlc291cmNlc1tdID0geworCXsKKwkJLnN0YXJ0CT0gT1JJT041WF9VU0IwX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfVVNCMF9QSFlTX0JBU0UgKyBTWl80SyAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfVVNCMF9DVFJMLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ugb3Jpb241eF9laGNpMCA9IHsKIAkubmFtZQkJPSAib3Jpb24tZWhjaSIsCiAJLmlkCQk9IDAsCkBAIC0xNzMsNiArMTAxLDI3IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfZWhjaTBfcmVzb3VyY2VzKSwKIH07CiAKK3ZvaWQgX19pbml0IG9yaW9uNXhfZWhjaTBfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMCk7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFSENJMQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJPSBPUklPTjVYX1VTQjFfUEhZU19CQVNFLAorCQkuZW5kCT0gT1JJT041WF9VU0IxX1BIWVNfQkFTRSArIFNaXzRLIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkuc3RhcnQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCisJCS5lbmQJPSBJUlFfT1JJT041WF9VU0IxX0NUUkwsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X2VoY2kxID0gewogCS5uYW1lCQk9ICJvcmlvbi1laGNpIiwKIAkuaWQJCT0gMSwKQEAgLTE4NSwxMSArMTM0LDE1IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKG9yaW9uNXhfZWhjaTFfcmVzb3VyY2VzKSwKIH07CiAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogR2lnYWJpdCBFdGhlcm5ldCBwb3J0Ci0gKiAoVGhlIE9yaW9uIGFuZCBEaXNjb3ZlcnkgKE1WNjQzeHgpIGZhbWlsaWVzIHVzZSB0aGUgc2FtZSBFdGhlcm5ldCBkcml2ZXIpCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3ZvaWQgX19pbml0IG9yaW9uNXhfZWhjaTFfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMSk7Cit9CiAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHaWdFCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0cnVjdCBtdjY0M3h4X2V0aF9zaGFyZWRfcGxhdGZvcm1fZGF0YSBvcmlvbjV4X2V0aF9zaGFyZWRfZGF0YSA9IHsKIAkuZHJhbQkJPSAmb3Jpb241eF9tYnVzX2RyYW1faW5mbywKIAkudF9jbGsJCT0gT1JJT041WF9UQ0xLLApAQCAtMjE5LDcgKzE3Miw3IEBACiAJCS5zdGFydAk9IElSUV9PUklPTjVYX0VUSF9TVU0sCiAJCS5lbmQJPSBJUlFfT1JJT041WF9FVEhfU1VNLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfZXRoID0gewpAQCAtMjM4LDExICsxOTEsMTAgQEAKIAlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfZXRoKTsKIH0KIAotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBJMkMgY29udHJvbGxlcgotICogKFRoZSBPcmlvbiBhbmQgRGlzY292ZXJ5IChNVjY0M3h4KSBmYW1pbGllcyBzaGFyZSB0aGUgc2FtZSBJMkMgY29udHJvbGxlcikKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEkyQworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12NjR4eHhfaTJjX3BkYXRhIG9yaW9uNXhfaTJjX3BkYXRhID0gewogCS5mcmVxX20JCT0gOCwgLyogYXNzdW1lcyAxNjYgTUh6IFRDTEsgKi8KIAkuZnJlcV9uCQk9IDMsCkBAIC0yNTEsMTYgKzIwMywxNSBAQAogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfaTJjX3Jlc291cmNlc1tdID0gewogCXsKLQkJLm5hbWUgICA9ICJpMmMgYmFzZSIsCi0JCS5zdGFydCAgPSBJMkNfUEhZU19CQVNFLAotCQkuZW5kICAgID0gSTJDX1BIWVNfQkFTRSArIDB4MjAgLTEsCi0JCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCXsKLQkJLm5hbWUgICA9ICJpMmMgaXJxIiwKLQkJLnN0YXJ0ICA9IElSUV9PUklPTjVYX0kyQywKLQkJLmVuZCAgICA9IElSUV9PUklPTjVYX0kyQywKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAorCQkubmFtZQk9ICJpMmMgYmFzZSIsCisJCS5zdGFydAk9IEkyQ19QSFlTX0JBU0UsCisJCS5lbmQJPSBJMkNfUEhZU19CQVNFICsgMHgxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwgeworCQkubmFtZQk9ICJpMmMgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfSTJDLAorCQkuZW5kCT0gSVJRX09SSU9ONVhfSTJDLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKIAl9LAogfTsKIApAQCAtMjcwLDM2ICsyMjEsNDEgQEAKIAkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUob3Jpb241eF9pMmNfcmVzb3VyY2VzKSwKIAkucmVzb3VyY2UJPSBvcmlvbjV4X2kyY19yZXNvdXJjZXMsCiAJLmRldgkJPSB7Ci0JCS5wbGF0Zm9ybV9kYXRhID0gJm9yaW9uNXhfaTJjX3BkYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZvcmlvbjV4X2kyY19wZGF0YSwKIAl9LAogfTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9pMmNfaW5pdCh2b2lkKQoreworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9pMmMpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogU2F0YSBwb3J0CisgKiBTQVRBCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF9zYXRhX3Jlc291cmNlc1tdID0gewotICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLm5hbWUgICA9ICJzYXRhIGJhc2UiLAotICAgICAgICAgICAgICAgIC5zdGFydCAgPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFLAotICAgICAgICAgICAgICAgIC5lbmQgICAgPSBPUklPTjVYX1NBVEFfUEhZU19CQVNFICsgMHg1MDAwIC0gMSwKLSAgICAgICAgICAgICAgICAuZmxhZ3MgID0gSU9SRVNPVVJDRV9NRU0sCi0gICAgICAgIH0sCiAJewotICAgICAgICAgICAgICAgIC5uYW1lICAgPSAic2F0YSBpcnEiLAotICAgICAgICAgICAgICAgIC5zdGFydCAgPSBJUlFfT1JJT041WF9TQVRBLAotICAgICAgICAgICAgICAgIC5lbmQgICAgPSBJUlFfT1JJT041WF9TQVRBLAotICAgICAgICAgICAgICAgIC5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKLSAgICAgICAgfSwKKwkJLm5hbWUJPSAic2F0YSBiYXNlIiwKKwkJLnN0YXJ0CT0gT1JJT041WF9TQVRBX1BIWVNfQkFTRSwKKwkJLmVuZAk9IE9SSU9ONVhfU0FUQV9QSFlTX0JBU0UgKyAweDUwMDAgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5uYW1lCT0gInNhdGEgaXJxIiwKKwkJLnN0YXJ0CT0gSVJRX09SSU9ONVhfU0FUQSwKKwkJLmVuZAk9IElSUV9PUklPTjVYX1NBVEEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3NhdGEgPSB7Ci0JLm5hbWUgICAgICAgICAgID0gInNhdGFfbXYiLAotCS5pZCAgICAgICAgICAgICA9IDAsCisJLm5hbWUJCT0gInNhdGFfbXYiLAorCS5pZAkJPSAwLAogCS5kZXYJCT0gewogCQkuY29oZXJlbnRfZG1hX21hc2sJPSAweGZmZmZmZmZmLAogCX0sCi0JLm51bV9yZXNvdXJjZXMgID0gQVJSQVlfU0laRShvcmlvbjV4X3NhdGFfcmVzb3VyY2VzKSwKLQkucmVzb3VyY2UgICAgICAgPSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShvcmlvbjV4X3NhdGFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJPSBvcmlvbjV4X3NhdGFfcmVzb3VyY2VzLAogfTsKIAogdm9pZCBfX2luaXQgb3Jpb241eF9zYXRhX2luaXQoc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSAqc2F0YV9kYXRhKQpAQCAtMzA5LDIzICsyNjUsMTExIEBACiAJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3NhdGEpOwogfQogCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogVUFSVDAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBwbGF0X3NlcmlhbDgyNTBfcG9ydCBvcmlvbjV4X3VhcnQwX2RhdGFbXSA9IHsKKwl7CisJCS5tYXBiYXNlCT0gVUFSVDBfUEhZU19CQVNFLAorCQkubWVtYmFzZQk9IChjaGFyICopVUFSVDBfVklSVF9CQVNFLAorCQkuaXJxCQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZmxhZ3MJCT0gVVBGX1NLSVBfVEVTVCB8IFVQRl9CT09UX0FVVE9DT05GLAorCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkucmVnc2hpZnQJPSAyLAorCQkudWFydGNsawk9IE9SSU9ONVhfVENMSywKKwl9LCB7CisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb3Jpb241eF91YXJ0MF9yZXNvdXJjZXNbXSA9IHsKKwl7CisJCS5zdGFydAkJPSBVQVJUMF9QSFlTX0JBU0UsCisJCS5lbmQJCT0gVUFSVDBfUEhZU19CQVNFICsgMHhmZiwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCX0sIHsKKwkJLnN0YXJ0CQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZW5kCQk9IElSUV9PUklPTjVYX1VBUlQwLAorCQkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG9yaW9uNXhfdWFydDAgPSB7CisJLm5hbWUJCQk9ICJzZXJpYWw4MjUwIiwKKwkuaWQJCQk9IFBMQVQ4MjUwX0RFVl9QTEFURk9STSwKKwkuZGV2CQkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gb3Jpb241eF91YXJ0MF9kYXRhLAorCX0sCisJLnJlc291cmNlCQk9IG9yaW9uNXhfdWFydDBfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCQk9IEFSUkFZX1NJWkUob3Jpb241eF91YXJ0MF9yZXNvdXJjZXMpLAorfTsKKwordm9pZCBfX2luaXQgb3Jpb241eF91YXJ0MF9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X3VhcnQwKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFVBUlQxCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGxhdF9zZXJpYWw4MjUwX3BvcnQgb3Jpb241eF91YXJ0MV9kYXRhW10gPSB7CisJeworCQkubWFwYmFzZQk9IFVBUlQxX1BIWVNfQkFTRSwKKwkJLm1lbWJhc2UJPSAoY2hhciAqKVVBUlQxX1ZJUlRfQkFTRSwKKwkJLmlycQkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmZsYWdzCQk9IFVQRl9TS0lQX1RFU1QgfCBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJLnJlZ3NoaWZ0CT0gMiwKKwkJLnVhcnRjbGsJPSBPUklPTjVYX1RDTEssCisJfSwgeworCX0sCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG9yaW9uNXhfdWFydDFfcmVzb3VyY2VzW10gPSB7CisJeworCQkuc3RhcnQJCT0gVUFSVDFfUEhZU19CQVNFLAorCQkuZW5kCQk9IFVBUlQxX1BIWVNfQkFTRSArIDB4ZmYsCisJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwl9LCB7CisJCS5zdGFydAkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmVuZAkJPSBJUlFfT1JJT041WF9VQVJUMSwKKwkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBvcmlvbjV4X3VhcnQxID0geworCS5uYW1lCQkJPSAic2VyaWFsODI1MCIsCisJLmlkCQkJPSBQTEFUODI1MF9ERVZfUExBVEZPUk0xLAorCS5kZXYJCQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSBvcmlvbjV4X3VhcnQxX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJCT0gb3Jpb241eF91YXJ0MV9yZXNvdXJjZXMsCisJLm51bV9yZXNvdXJjZXMJCT0gQVJSQVlfU0laRShvcmlvbjV4X3VhcnQxX3Jlc291cmNlcyksCit9OworCit2b2lkIF9faW5pdCBvcmlvbjV4X3VhcnQxX2luaXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydDEpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogVGltZSBoYW5kbGluZwogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIHN0YXRpYyB2b2lkIG9yaW9uNXhfdGltZXJfaW5pdCh2b2lkKQogewogCW9yaW9uX3RpbWVfaW5pdChJUlFfT1JJT041WF9CUklER0UsIE9SSU9ONVhfVENMSyk7CiB9CiAKIHN0cnVjdCBzeXNfdGltZXIgb3Jpb241eF90aW1lciA9IHsKLSAgICAgICAgLmluaXQgPSBvcmlvbjV4X3RpbWVyX2luaXQsCisJLmluaXQgPSBvcmlvbjV4X3RpbWVyX2luaXQsCiB9OwogCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KIC8qCiAgKiBJZGVudGlmeSBkZXZpY2UgSUQgYW5kIHJldiBmcm9tIFBDSWUgY29uZmlndXJhdGlvbiBoZWFkZXIgc3BhY2UgJzAnLgogICovCkBAIC0zNTAsOCArMzk0LDEwIEBACiAJfSBlbHNlIGlmICgqZGV2ID09IE1WODhGNTE4MV9ERVZfSUQpIHsKIAkJaWYgKCpyZXYgPT0gTVY4OEY1MTgxX1JFVl9CMSkgewogCQkJKmRldl9uYW1lID0gIk1WODhGNTE4MS1SZXYtQjEiOworCQl9IGVsc2UgaWYgKCpyZXYgPT0gTVY4OEY1MTgxTF9SRVZfQTEpIHsKKwkJCSpkZXZfbmFtZSA9ICJNVjg4RjUxODFMLVJldi1BMSI7CiAJCX0gZWxzZSB7Ci0JCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxLVJldi1VbnN1cHBvcnRlZCI7CisJCQkqZGV2X25hbWUgPSAiTVY4OEY1MTgxKEwpLVJldi1VbnN1cHBvcnRlZCI7CiAJCX0KIAl9IGVsc2UgewogCQkqZGV2X25hbWUgPSAiRGV2aWNlLVVua25vd24iOwpAQCAtMzcwLDE1ICs0MTYsNiBAQAogCSAqIFNldHVwIE9yaW9uIGFkZHJlc3MgbWFwCiAJICovCiAJb3Jpb241eF9zZXR1cF9jcHVfbWJ1c19icmlkZ2UoKTsKLQotCS8qCi0JICogUmVnaXN0ZXIgZGV2aWNlcy4KLQkgKi8KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm9yaW9uNXhfdWFydCk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2VoY2kwKTsKLQlpZiAoZGV2ID09IE1WODhGNTE4Ml9ERVZfSUQpCi0JCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmb3Jpb241eF9laGNpMSk7Ci0JcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZvcmlvbjV4X2kyYyk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvY29tbW9uLmgKaW5kZXggYmQwZjA1ZC4uZjcyY2YwZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2NvbW1vbi5oCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9jb21tb24uaApAQCAtMSwxMCArMSwxMiBAQAogI2lmbmRlZiBfX0FSQ0hfT1JJT041WF9DT01NT05fSAogI2RlZmluZSBfX0FSQ0hfT1JJT041WF9DT01NT05fSAogCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YTsKK3N0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGE7CisKIC8qCiAgKiBCYXNpYyBPcmlvbiBpbml0IGZ1bmN0aW9ucyB1c2VkIGVhcmx5IGJ5IG1hY2hpbmUtc2V0dXAuCiAgKi8KLQogdm9pZCBvcmlvbjV4X21hcF9pbyh2b2lkKTsKIHZvaWQgb3Jpb241eF9pbml0X2lycSh2b2lkKTsKIHZvaWQgb3Jpb241eF9pbml0KHZvaWQpOwpAQCAtMjMsMTUgKzI1LDIyIEBACiB2b2lkIG9yaW9uNXhfc2V0dXBfZGV2Ml93aW4odTMyIGJhc2UsIHUzMiBzaXplKTsKIHZvaWQgb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbih1MzIgYmFzZSwgdTMyIHNpemUpOwogCi0vKgotICogU2hhcmVkIGNvZGUgdXNlZCBpbnRlcm5hbGx5IGJ5IG90aGVyIE9yaW9uIGNvcmUgZnVuY3Rpb25zLgotICogKC9tYWNoLW9yaW9uL3BjaS5jKQotICovCit2b2lkIG9yaW9uNXhfZWhjaTBfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF9laGNpMV9pbml0KHZvaWQpOwordm9pZCBvcmlvbjV4X2V0aF9pbml0KHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhICpldGhfZGF0YSk7Cit2b2lkIG9yaW9uNXhfaTJjX2luaXQodm9pZCk7Cit2b2lkIG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Cit2b2lkIG9yaW9uNXhfdWFydDBfaW5pdCh2b2lkKTsKK3ZvaWQgb3Jpb241eF91YXJ0MV9pbml0KHZvaWQpOwogCi1zdHJ1Y3QgcGNpX3N5c19kYXRhOworLyoKKyAqIFBDSWUvUENJIGZ1bmN0aW9ucy4KKyAqLwogc3RydWN0IHBjaV9idXM7CitzdHJ1Y3QgcGNpX3N5c19kYXRhOwogCiB2b2lkIG9yaW9uNXhfcGNpZV9pZCh1MzIgKmRldiwgdTMyICpyZXYpOwordm9pZCBvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKHZvaWQpOwogaW50IG9yaW9uNXhfcGNpX3N5c19zZXR1cChpbnQgbnIsIHN0cnVjdCBwY2lfc3lzX2RhdGEgKnN5cyk7CiBzdHJ1Y3QgcGNpX2J1cyAqb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKTsKIGludCBvcmlvbjV4X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbik7CkBAIC00MCwyNiArNDksOSBAQAogICogVmFsaWQgR1BJTyBwaW5zIGFjY29yZGluZyB0byBNUFAgc2V0dXAsIHVzZWQgYnkgbWFjaGluZS1zZXR1cC4KICAqICgvbWFjaC1vcmlvbi9ncGlvLmMpLgogICovCi0KLXZvaWQgb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKHUzMiBwaW5zKTsKK3ZvaWQgb3Jpb241eF9ncGlvX3NldF92YWxpZCh1bnNpZ25lZCBwaW4sIGludCB2YWxpZCk7CiB2b2lkIGdwaW9fZGlzcGxheSh2b2lkKTsJLyogZGVidWcgKi8KIAotLyoKLSAqIFB1bGwgaW4gT3Jpb24gRXRoZXJuZXQgcGxhdGZvcm1fZGF0YSwgdXNlZCBieSBtYWNoaW5lLXNldHVwCi0gKi8KLQotc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGE7Ci0KLXZvaWQgb3Jpb241eF9ldGhfaW5pdChzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSAqZXRoX2RhdGEpOwotCi0vKgotICogT3Jpb24gU2F0YSBwbGF0Zm9ybV9kYXRhLCB1c2VkIGJ5IG1hY2hpbmUtc2V0dXAKLSAqLwotCi1zdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhOwotCi12b2lkIG9yaW9uNXhfc2F0YV9pbml0KHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgKnNhdGFfZGF0YSk7Ci0KIHN0cnVjdCBtYWNoaW5lX2Rlc2M7CiBzdHJ1Y3QgbWVtaW5mbzsKIHN0cnVjdCB0YWc7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZGI4OGY1MjgxLXNldHVwLmMKaW5kZXggNDRjNjQzNC4uODg0MDVlNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RiODhmNTI4MS1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kYjg4ZjUyODEtc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlIDxhc20vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogREItODhGNTI4MSBvbiBib2FyZCBkZXZpY2VzCkBAIC04Niw3ICs4Nyw3IEBACiAJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAogCS5pZAkJPSAwLAogCS5kZXYJCT0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9kYXRhLAogCX0sCiAJLm51bV9yZXNvdXJjZXMJPSAxLAogCS5yZXNvdXJjZQk9ICZkYjg4ZjUyODFfYm9vdF9mbGFzaF9yZXNvdXJjZSwKQEAgLTExMCw3ICsxMTEsNyBAQAogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMSwKIAkuZGV2CQk9IHsKLQkJLnBsYXRmb3JtX2RhdGEgPSAmZGI4OGY1MjgxX25vcl9mbGFzaF9kYXRhLAorCQkucGxhdGZvcm1fZGF0YQk9ICZkYjg4ZjUyODFfbm9yX2ZsYXNoX2RhdGEsCiAJfSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiAJLnJlc291cmNlCT0gJmRiODhmNTI4MV9ub3JfZmxhc2hfcmVzb3VyY2UsCkBAIC0xMjUsMTggKzEyNiwxNSBAQAogCQkubmFtZSA9ICJrZXJuZWwiLAogCQkub2Zmc2V0ID0gMCwKIAkJLnNpemUgPSBTWl8yTSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInJvb3QiLAogCQkub2Zmc2V0ID0gU1pfMk0sCiAJCS5zaXplID0gKFNaXzE2TSAtIFNaXzJNKSwKLQl9LAotCXsKKwl9LCB7CiAJCS5uYW1lID0gInVzZXIiLAogCQkub2Zmc2V0ID0gU1pfMTZNLAogCQkuc2l6ZSA9IFNaXzhNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUgPSAicmVjb3ZlcnkiLAogCQkub2Zmc2V0ID0gKFNaXzE2TSArIFNaXzhNKSwKIAkJLnNpemUgPSBTWl84TSwKQEAgLTI4OCw3ICsyODYsNiBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgZGI4OGY1MjgxX2V0aF9kYXRhID0gewogCS5waHlfYWRkcgk9IDgsCi0JLmZvcmNlX3BoeV9hZGRyID0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMzAxLDExICsyOTgsMjggQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkYjg4ZjUyODFfZGV2c1tdIF9faW5pdGRhdGEgPSB7Ci0JJmRiODhmNTI4MV9ib290X2ZsYXNoLAotCSZkYjg4ZjUyODFfbm9yX2ZsYXNoLAotCSZkYjg4ZjUyODFfbmFuZF9mbGFzaCwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBkYjg4ZjUyODFfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogVVNCIE92ZXIgQ3VycmVudCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBVU0IgVmJhdCBpbnB1dCAqLworCXsgIDIsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfUkVRblsyXSAqLworCXsgIDMsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfR05UblsyXSAqLworCXsgIDQsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfUkVRblszXSAqLworCXsgIDUsIE1QUF9QQ0lfQVJCIH0sCQkvKiBQQ0lfR05UblszXSAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBKUDAsIENPTjE3LjIgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogSlAxLCBDT04xNy4xICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIEpQMiwgQ09OMTEuMiAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBKUDMsIENPTjExLjMgKi8KKwl7IDEwLCBNUFBfR1BJTyB9LAkJLyogUlRDIGludCAqLworCXsgMTEsIE1QUF9HUElPIH0sCQkvKiBCYXVkIFJhdGUgR2VuZXJhdG9yICovCisJeyAxMiwgTVBQX0dQSU8gfSwJCS8qIFBDSSBpbnQgMSAqLworCXsgMTMsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50IDIgKi8KKwl7IDE0LCBNUFBfTkFORCB9LAkJLyogTkFORF9SRW5bMl0gKi8KKwl7IDE1LCBNUFBfTkFORCB9LAkJLyogTkFORF9XRW5bMl0gKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfUlggKi8KKwl7IDE3LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfVFggKi8KKwl7IDE4LCBNUFBfVUFSVCB9LAkJLyogVUFSVDFfQ1RTbiAqLworCXsgMTksIE1QUF9VQVJUIH0sCQkvKiBVQVJUMV9SVFNuICovCisJeyAtMSB9LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IGRiODhmNTI4MV9pbml0KHZvaWQpCkBAIC0zMTUsMzkgKzMyOSwzMSBAQAogCSAqLwogCW9yaW9uNXhfaW5pdCgpOwogCisJb3Jpb241eF9tcHBfY29uZihkYjg4ZjUyODFfbXBwX21vZGVzKTsKKwl3cml0ZWwoMCwgTVBQX0RFVl9DVFJMKTsJCS8qIERFVl9EWzMxOjE2XSAqLworCiAJLyoKLQkgKiBTZXR1cCB0aGUgQ1BVIGFkZHJlc3MgZGVjb2RlIHdpbmRvd3MgZm9yIG91ciBvbi1ib2FyZCBkZXZpY2VzCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgogCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJmRiODhmNTI4MV9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCiAJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oREI4OEY1MjgxX05PUl9CT09UX0JBU0UsCiAJCQkJREI4OEY1MjgxX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX2Jvb3RfZmxhc2gpOworCiAJb3Jpb241eF9zZXR1cF9kZXYwX3dpbihEQjg4RjUyODFfN1NFR19CQVNFLCBEQjg4RjUyODFfN1NFR19TSVpFKTsKKwogCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oREI4OEY1MjgxX05PUl9CQVNFLCBEQjg4RjUyODFfTk9SX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX25vcl9mbGFzaCk7CisKIAlvcmlvbjV4X3NldHVwX2RldjJfd2luKERCODhGNTI4MV9OQU5EX0JBU0UsIERCODhGNTI4MV9OQU5EX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmZGI4OGY1MjgxX25hbmRfZmxhc2gpOwogCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGluczoKLQkgKiBNUFAwOiBHUElPIChVU0IgT3ZlciBDdXJyZW50KQlNUFAxOiBHUElPIChVU0IgVmJhdCBpbnB1dCkKLQkgKiBNUFAyOiBQQ0lfUkVRblsyXQkJCU1QUDM6IFBDSV9HTlRuWzJdCi0JICogTVBQNDogUENJX1JFUW5bM10JCQlNUFA1OiBQQ0lfR05UblszXQotCSAqIE1QUDY6IEdQSU8gKEpQMCwgQ09OMTcuMikJCU1QUDc6IEdQSU8gKEpQMSwgQ09OMTcuMSkKLQkgKiBNUFA4OiBHUElPIChKUDIsIENPTjExLjIpCQlNUFA5OiBHUElPIChKUDMsIENPTjExLjMpCi0JICogTVBQMTA6IEdQSU8gKFJUQyBpbnQpCQlNUFAxMTogR1BJTyAoQmF1ZCBSYXRlIEdlbmVyYXRvcikKLQkgKiBNUFAxMjogR1BJTyAoUENJIGludCAxKQkJTVBQMTM6IEdQSU8gKFBDSSBpbnQgMikKLQkgKiBNUFAxNDogTkFORF9SRW5bMl0JCQlNUFAxNTogTkFORF9XRW5bMl0KLQkgKiBNUFAxNjogVUFSVDFfUlgJCQlNUFAxNzogVUFSVDFfVFgKLQkgKiBNUFAxODogVUFSVDFfQ1RTCQkJTVBQMTk6IFVBUlQxX1JUUwotCSAqIE1QUC1ERVY6IERFVl9EWzE2OjMxXQotCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDAwMjIyMjAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NDQwMDAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDApOwotCW9yaW9uNXhfd3JpdGUoTVBQX0RFVl9DVFJMLCAwKTsKLQotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDAwMDAzZmMzKTsKLQotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGRiODhmNTI4MV9kZXZzLCBBUlJBWV9TSVpFKGRiODhmNTI4MV9kZXZzKSk7CiAJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJmRiODhmNTI4MV9pMmNfcnRjLCAxKTsKLQlvcmlvbjV4X2V0aF9pbml0KCZkYjg4ZjUyODFfZXRoX2RhdGEpOwogfQogCiBNQUNISU5FX1NUQVJUKERCODhGNTI4MSwgIk1hcnZlbGwgT3Jpb24tMiBEZXZlbG9wbWVudCBCb2FyZCIpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZG5zMzIzLXNldHVwLmMKaW5kZXggMjdjZTk2Ny4uMzc5MWNhNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2RuczMyMy1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9kbnMzMjMtc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogI2RlZmluZSBETlMzMjNfR1BJT19MRURfUklHSFRfQU1CRVIJMQogI2RlZmluZSBETlMzMjNfR1BJT19MRURfTEVGVF9BTUJFUgkyCkBAIC01Miw4ICs1Myw2IEBACiAJaWYgKGlycSAhPSAtMSkKIAkJcmV0dXJuIGlycTsKIAotCXByX2VycigiJXM6IHJlcXVlc3RlZCBtYXBwaW5nIGZvciB1bmtub3duIGRldmljZVxuIiwgX19mdW5jX18pOwotCiAJcmV0dXJuIC0xOwogfQogCkBAIC04MSw3ICs4MCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBkbnMzMjNfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyID0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTExOSw3ICsxMTcsNyBAQAogCQkubmFtZQk9ICJ1LWJvb3QiLAogCQkuc2l6ZQk9IDB4MDAwMzAwMDAsCiAJCS5vZmZzZXQJPSAweDAwN2QwMDAwLAotCX0KKwl9LAogfTsKIAogc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgZG5zMzIzX25vcl9mbGFzaF9kYXRhID0gewpAQCAtMTM3LDcgKzEzNSw5IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfbm9yX2ZsYXNoID0gewogCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKIAkuaWQJCT0gMCwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmZG5zMzIzX25vcl9mbGFzaF9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfbm9yX2ZsYXNoX2RhdGEsCisJfSwKIAkucmVzb3VyY2UJPSAmZG5zMzIzX25vcl9mbGFzaF9yZXNvdXJjZSwKIAkubnVtX3Jlc291cmNlcwk9IDEsCiB9OwpAQCAtMTcwLDcgKzE3MCw5IEBACiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfZ3Bpb19sZWRzID0gewogCS5uYW1lCQk9ICJsZWRzLWdwaW8iLAogCS5pZAkJPSAtMSwKLQkuZGV2CQk9IHsgLnBsYXRmb3JtX2RhdGEgPSAmZG5zMzIzX2xlZF9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfbGVkX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0xODMsMzUgKzE4NSw1MyBAQAogCQkuZ3BpbwkJPSBETlMzMjNfR1BJT19LRVlfUkVTRVQsCiAJCS5kZXNjCQk9ICJSZXNldCBCdXR0b24iLAogCQkuYWN0aXZlX2xvdwk9IDEsCi0JfSwKLQl7CisJfSwgewogCQkuY29kZQkJPSBLRVlfUE9XRVIsCiAJCS5ncGlvCQk9IEROUzMyM19HUElPX0tFWV9QT1dFUiwKIAkJLmRlc2MJCT0gIlBvd2VyIEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgZG5zMzIzX2J1dHRvbl9kYXRhID0gewogCS5idXR0b25zCT0gZG5zMzIzX2J1dHRvbnMsCi0JLm5idXR0b25zICAgICAgID0gQVJSQVlfU0laRShkbnMzMjNfYnV0dG9ucyksCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShkbnMzMjNfYnV0dG9ucyksCiB9OwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBkbnMzMjNfYnV0dG9uX2RldmljZSA9IHsKIAkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKIAkuaWQJCT0gLTEsCiAJLm51bV9yZXNvdXJjZXMJPSAwLAotCS5kZXYJCT0geyAucGxhdGZvcm1fZGF0YSAgPSAmZG5zMzIzX2J1dHRvbl9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZkbnMzMjNfYnV0dG9uX2RhdGEsCisJfSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRuczMyM19wbGF0X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZkbnMzMjNfbm9yX2ZsYXNoLAotCSZkbnMzMjNfZ3Bpb19sZWRzLAotCSZkbnMzMjNfYnV0dG9uX2RldmljZSwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBkbnMzMjNfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfUENJRV9SU1RfT1VUbiB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiByaWdodCBhbWJlciBMRUQgKHNhdGEgY2gwKSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBsZWZ0IGFtYmVyIExFRCAoc2F0YSBjaDEpICovCisJeyAgMywgTVBQX1VOVVNFRCB9LAorCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBwb3dlciBidXR0b24gTEVEICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIHBvd2VyIGJ1dHRvbiBMRUQgKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogR01UIEc3NTEtMmYgb3ZlcnRlbXAgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogTTQxVDgwIG5JUlEvT1VUL1NRVyAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiB0cmlnZ2VycyBwb3dlciBvZmYgKi8KKwl7ICA5LCBNUFBfR1BJTyB9LAkJLyogcG93ZXIgYnV0dG9uIHN3aXRjaCAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiByZXNldCBidXR0b24gc3dpdGNoICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9VTlVTRUQgfSwKKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX1VOVVNFRCB9LAorCXsgMTUsIE1QUF9VTlVTRUQgfSwKKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX1VOVVNFRCB9LAorCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAogfTsKIAogLyoKQEAgLTIyNSwxNyArMjQ1LDE1IEBACiBzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgZG5zMzIzX2kyY19kZXZpY2VzW10gPSB7CiAJewogCQlJMkNfQk9BUkRfSU5GTygiZzc2MGEiLCAweDNlKSwKLQl9LAogI2lmIDAKIAkvKiB0aGlzIGVudHJ5IHJlcXVpcmVzIHRoZSBuZXctc3R5bGUgZHJpdmVyIG1vZGVsIGxtNzUgZHJpdmVyLAogCSAqIGZvciB0aGUgbWVhbnRpbWUgImluc21vZCBsbTc1LmtvIGZvcmNlX2xtNzU9MCwweDQ4IiBpcyBuZWVkZWQgKi8KLQl7CisJfSwgewogCQlJMkNfQk9BUkRfSU5GTygiZzc1MSIsIDB4NDgpLAotCX0sCiAjZW5kaWYKLQl7CisJfSwgewogCQlJMkNfQk9BUkRfSU5GTygibTQxdDgwIiwgMHg2OCksCi0JfQorCX0sCiB9OwogCiAvKiBETlMtMzIzIHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgKi8KQEAgLTI1MCw2MiArMjY4LDM1IEBACiAJLyogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4gKi8KIAlvcmlvbjV4X2luaXQoKTsKIAorCW9yaW9uNXhfbXBwX2NvbmYoZG5zMzIzX21wcF9tb2Rlcyk7CisJd3JpdGVsKDAsIE1QUF9ERVZfQ1RSTCk7CQkvKiBERVZfRFszMToxNl0gKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJmRuczMyM19ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCiAJLyogc2V0dXAgZmxhc2ggbWFwcGluZwogCSAqIENTMyBob2xkcyBhIDggTUIgU3BhbnNpb24gUzI5R0wwNjRNOTBURklSNAogCSAqLwogCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEROUzMyM19OT1JfQk9PVF9CQVNFLCBETlMzMjNfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZkbnMzMjNfbm9yX2ZsYXNoKTsKIAotCS8qIEROUy0zMjMgaGFzIGEgTWFydmVsbCA4OFg3MDQyIFNBVEEgY29udHJvbGxlciBhdHRhY2hlZCB2aWEgUENJZQotCSAqCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCi0JICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19ncGlvX2xlZHMpOwogCi0JLyogc2V0IE1QUCB0byAwIGFzIEQtTGluaydzIDIuNi4xMi42IGtlcm5lbCBkaWQgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMCk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF9ERVZfQ1RSTCwgMCk7Ci0KLQkvKiBEZWZpbmUgdXNlZCBHUElPIHBpbnMKLQotCSAgR1BJTyBNYXA6Ci0KLQkgIHwgIDAgfCAgICAgfCBQRVhfUlNUX09VVCAobm90IGNvbnRyb2xsZWQgYnkgR1BJTykKLQkgIHwgIDEgfCBPdXQgfCByaWdodCBhbWJlciBMRUQgKD0gc2F0YSBjaDAgTEVEKSAgKGxvdy1hY3RpdmUpCi0JICB8ICAyIHwgT3V0IHwgbGVmdCAgYW1iZXIgTEVEICg9IHNhdGEgY2gxIExFRCkgIChsb3ctYWN0aXZlKQotCSAgfCAgMyB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8ICA0IHwgT3V0IHwgcG93ZXIgYnV0dG9uIExFRCAobG93LWFjdGl2ZSwgdG9nZXRoZXIgd2l0aCBwaW4gIzUpCi0JICB8ICA1IHwgT3V0IHwgcG93ZXIgYnV0dG9uIExFRCAobG93LWFjdGl2ZSwgdG9nZXRoZXIgd2l0aCBwaW4gIzQpCi0JICB8ICA2IHwgSW4gIHwgR01UIEc3NTEtMmYgb3ZlcnRlbXAuIHNodXRkb3duIHNpZ25hbCAobG93LWFjdGl2ZSkKLQkgIHwgIDcgfCBJbiAgfCBNNDFUODAgbklSUS9PVVQvU1FXIHNpZ25hbAotCSAgfCAgOCB8IE91dCB8IHRyaWdnZXJzIHBvd2VyIG9mZiAoaGlnaC1hY3RpdmUpCi0JICB8ICA5IHwgSW4gIHwgcG93ZXIgYnV0dG9uIHN3aXRjaCAobG93LWFjdGl2ZSkKLQkgIHwgMTAgfCBJbiAgfCByZXNldCBidXR0b24gc3dpdGNoIChsb3ctYWN0aXZlKQotCSAgfCAxMSB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDEyIHwgT3V0IHwgLy91bmtub3duLy8KLQkgIHwgMTMgfCBPdXQgfCAvL3Vua25vd24vLwotCSAgfCAxNCB8IE91dCB8IC8vdW5rbm93bi8vCi0JICB8IDE1IHwgT3V0IHwgLy91bmtub3duLy8KLQkqLwotCW9yaW9uNXhfZ3Bpb19zZXRfdmFsaWRfcGlucygweDA3ZjYpOwotCi0JLyogcmVnaXN0ZXIgZG5zMzIzIHNwZWNpZmljIHBvd2VyLW9mZiBtZXRob2QgKi8KLQlpZiAoKGdwaW9fcmVxdWVzdChETlMzMjNfR1BJT19QT1dFUl9PRkYsICJQT1dFUk9GRiIpICE9IDApCi0JICAgIHx8IChncGlvX2RpcmVjdGlvbl9vdXRwdXQoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAwKSAhPSAwKSkKLQkJcHJfZXJyKCJETlMzMjM6IGZhaWxlZCB0byBzZXR1cCBwb3dlci1vZmYgR1BJT1xuIik7Ci0KLQlwbV9wb3dlcl9vZmYgPSBkbnMzMjNfcG93ZXJfb2ZmOwotCi0JLyogcmVnaXN0ZXIgZmxhc2ggYW5kIG90aGVyIHBsYXRmb3JtIGRldmljZXMgKi8KLQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhkbnMzMjNfcGxhdF9kZXZpY2VzLAotCQkJICAgICBBUlJBWV9TSVpFKGRuczMyM19wbGF0X2RldmljZXMpKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmRuczMyM19idXR0b25fZGV2aWNlKTsKIAogCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGRuczMyM19pMmNfZGV2aWNlcywKIAkJCQlBUlJBWV9TSVpFKGRuczMyM19pMmNfZGV2aWNlcykpOwogCi0Jb3Jpb241eF9ldGhfaW5pdCgmZG5zMzIzX2V0aF9kYXRhKTsKKwkvKiByZWdpc3RlciBkbnMzMjMgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCWlmIChncGlvX3JlcXVlc3QoRE5TMzIzX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwIHx8CisJICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dChETlMzMjNfR1BJT19QT1dFUl9PRkYsIDApICE9IDApCisJCXByX2VycigiRE5TMzIzOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOworCXBtX3Bvd2VyX29mZiA9IGRuczMyM19wb3dlcl9vZmY7CiB9CiAKIC8qIFdhcm5pbmc6IEQtTGluayB1c2VzIGEgd3JvbmcgbWFjaC10eXBlICg9NTI2KSBpbiB0aGVpciBib290bG9hZGVyICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2dwaW8uYwppbmRleCA4MTA4YzMxLi5kMDk3OTc5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9ncGlvLmMKQEAgLTI0LDkgKzI0LDEyIEBACiBzdGF0aWMgdW5zaWduZWQgbG9uZyBncGlvX3ZhbGlkW0JJVFNfVE9fTE9OR1MoR1BJT19NQVgpXTsKIHN0YXRpYyBjb25zdCBjaGFyICpncGlvX2xhYmVsW0dQSU9fTUFYXTsgIC8qIG5vbiBudWxsIGZvciBhbGxvY2F0ZWQgR1BJT3MgKi8KIAotdm9pZCBfX2luaXQgb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKHUzMiBwaW5zKQordm9pZCBfX2luaXQgb3Jpb241eF9ncGlvX3NldF92YWxpZCh1bnNpZ25lZCBwaW4sIGludCB2YWxpZCkKIHsKLQlncGlvX3ZhbGlkWzBdID0gcGluczsKKwlpZiAodmFsaWQpCisJCV9fc2V0X2JpdChwaW4sIGdwaW9fdmFsaWQpOworCWVsc2UKKwkJX19jbGVhcl9iaXQocGluLCBncGlvX3ZhbGlkKTsKIH0KIAogLyoKQEAgLTkzLDEwICs5NiwxMCBAQAogewogCWludCB2YWwsIG1hc2sgPSAxIDw8IHBpbjsKIAotCWlmIChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmIG1hc2spCi0JCXZhbCA9IG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pIF4gb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKTsKKwlpZiAocmVhZGwoR1BJT19JT19DT05GKSAmIG1hc2spCisJCXZhbCA9IHJlYWRsKEdQSU9fREFUQV9JTikgXiByZWFkbChHUElPX0lOX1BPTCk7CiAJZWxzZQotCQl2YWwgPSBvcmlvbjV4X3JlYWQoR1BJT19PVVQpOworCQl2YWwgPSByZWFkbChHUElPX09VVCk7CiAKIAlyZXR1cm4gdmFsICYgbWFzazsKIH0KQEAgLTE4OCwzOSArMTkxLDM5IEBACiAJCQlwcmludGsoIkdQSU8sIGZyZWVcbiIpOwogCQl9IGVsc2UgewogCQkJcHJpbnRrKCJHUElPLCB1c2VkIGJ5ICVzLCAiLCBncGlvX2xhYmVsW2ldKTsKLQkJCWlmIChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmICgxIDw8IGkpKSB7CisJCQlpZiAocmVhZGwoR1BJT19JT19DT05GKSAmICgxIDw8IGkpKSB7CiAJCQkJcHJpbnRrKCJpbnB1dCwgYWN0aXZlICVzLCBsZXZlbCAlcywgZWRnZSAlc1xuIiwKLQkJCQkoKG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkgPj4gaSkgJiAxKSA/ICJsb3ciIDogImhpZ2giLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fTEVWRUxfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiLAotCQkJCSgob3Jpb241eF9yZWFkKEdQSU9fRURHRV9NQVNLKSA+PiBpKSAmIDEpID8gImVuYWJsZWQiIDogIm1hc2tlZCIpOworCQkJCSgocmVhZGwoR1BJT19JTl9QT0wpID4+IGkpICYgMSkgPyAibG93IiA6ICJoaWdoIiwKKwkJCQkoKHJlYWRsKEdQSU9fTEVWRUxfTUFTSykgPj4gaSkgJiAxKSA/ICJlbmFibGVkIiA6ICJtYXNrZWQiLAorCQkJCSgocmVhZGwoR1BJT19FREdFX01BU0spID4+IGkpICYgMSkgPyAiZW5hYmxlZCIgOiAibWFza2VkIik7CiAJCQl9IGVsc2UgewotCQkJCXByaW50aygib3V0cHV0LCB2YWw9JWRcbiIsIChvcmlvbjV4X3JlYWQoR1BJT19PVVQpID4+IGkpICYgMSk7CisJCQkJcHJpbnRrKCJvdXRwdXQsIHZhbD0lZFxuIiwgKHJlYWRsKEdQSU9fT1VUKSA+PiBpKSAmIDEpOwogCQkJfQogCQl9CiAJfQogCiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF8wXzdfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfMF83X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfMF83X0NUUkwpKTsKKwkJCQlNUFBfMF83X0NUUkwsIHJlYWRsKE1QUF8wXzdfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfOF8xNV9DVFJMICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCU1QUF84XzE1X0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfOF8xNV9DVFJMKSk7CisJCQkJTVBQXzhfMTVfQ1RSTCwgcmVhZGwoTVBQXzhfMTVfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJNUFBfMTZfMTlfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfMTZfMTlfQ1RSTCwgb3Jpb241eF9yZWFkKE1QUF8xNl8xOV9DVFJMKSk7CisJCQkJTVBQXzE2XzE5X0NUUkwsIHJlYWRsKE1QUF8xNl8xOV9DVFJMKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIk1QUF9ERVZfQ1RSTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlNUFBfREVWX0NUUkwsIG9yaW9uNXhfcmVhZChNUFBfREVWX0NUUkwpKTsKKwkJCQlNUFBfREVWX0NUUkwsIHJlYWRsKE1QUF9ERVZfQ1RSTCkpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX09VVCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX09VVCwgb3Jpb241eF9yZWFkKEdQSU9fT1VUKSk7CisJCQkJR1BJT19PVVQsIHJlYWRsKEdQSU9fT1VUKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fSU9fQ09ORiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0lPX0NPTkYsIG9yaW9uNXhfcmVhZChHUElPX0lPX0NPTkYpKTsKKwkJCQlHUElPX0lPX0NPTkYsIHJlYWRsKEdQSU9fSU9fQ09ORikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0JMSU5LX0VOICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fQkxJTktfRU4sIG9yaW9uNXhfcmVhZChHUElPX0JMSU5LX0VOKSk7CisJCQkJR1BJT19CTElOS19FTiwgcmVhZGwoR1BJT19CTElOS19FTikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0lOX1BPTCAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0lOX1BPTCwgb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKSk7CisJCQkJR1BJT19JTl9QT0wsIHJlYWRsKEdQSU9fSU5fUE9MKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fREFUQV9JTiAoMHglMDh4KSA9IDB4JTA4eFxuIiwKLQkJCQlHUElPX0RBVEFfSU4sIG9yaW9uNXhfcmVhZChHUElPX0RBVEFfSU4pKTsKKwkJCQlHUElPX0RBVEFfSU4sIHJlYWRsKEdQSU9fREFUQV9JTikpOwogCXByaW50ayhLRVJOX0RFQlVHICJHUElPX0xFVkVMX01BU0sgKDB4JTA4eCkgPSAweCUwOHhcbiIsCi0JCQkJR1BJT19MRVZFTF9NQVNLLCBvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSk7CisJCQkJR1BJT19MRVZFTF9NQVNLLCByZWFkbChHUElPX0xFVkVMX01BU0spKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiR1BJT19FREdFX0NBVVNFICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fRURHRV9DQVVTRSwgb3Jpb241eF9yZWFkKEdQSU9fRURHRV9DQVVTRSkpOworCQkJCUdQSU9fRURHRV9DQVVTRSwgcmVhZGwoR1BJT19FREdFX0NBVVNFKSk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIkdQSU9fRURHRV9NQVNLICgweCUwOHgpID0gMHglMDh4XG4iLAotCQkJCUdQSU9fRURHRV9NQVNLLCBvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spKTsKKwkJCQlHUElPX0VER0VfTUFTSywgcmVhZGwoR1BJT19FREdFX01BU0spKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9pcnEuYwppbmRleCBkZDIxZjM4Li5lMmEwMDg0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvaXJxLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L2lycS5jCkBAIC04Miw3ICs4Miw3IEBACiAJaW50IHBpbiA9IGlycV90b19ncGlvKGlycSk7CiAJc3RydWN0IGlycV9kZXNjICpkZXNjOwogCi0JaWYgKChvcmlvbjV4X3JlYWQoR1BJT19JT19DT05GKSAmICgxIDw8IHBpbikpID09IDApIHsKKwlpZiAoKHJlYWRsKEdQSU9fSU9fQ09ORikgJiAoMSA8PCBwaW4pKSA9PSAwKSB7CiAJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9ncGlvX3NldF9pcnFfdHlwZSBmYWlsZWQgIgogCQkJCSIoaXJxICVkLCBwaW4gJWQpLlxuIiwgaXJxLCBwaW4pOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTExNyw3ICsxMTcsNyBAQAogCQkvKgogCQkgKiBzZXQgaW5pdGlhbCBwb2xhcml0eSBiYXNlZCBvbiBjdXJyZW50IGlucHV0IGxldmVsCiAJCSAqLwotCQlpZiAoKG9yaW9uNXhfcmVhZChHUElPX0lOX1BPTCkgXiBvcmlvbjV4X3JlYWQoR1BJT19EQVRBX0lOKSkKKwkJaWYgKChyZWFkbChHUElPX0lOX1BPTCkgXiByZWFkbChHUElPX0RBVEFfSU4pKQogCQkgICAgJiAoMSA8PCBwaW4pKQogCQkJb3Jpb241eF9zZXRiaXRzKEdQSU9fSU5fUE9MLCAoMSA8PCBwaW4pKTsgLyogZmFsbGluZyAqLwogCQllbHNlCkBAIC0xNDksOCArMTQ5LDggQEAKIAogCUJVR19PTihpcnEgPCBJUlFfT1JJT041WF9HUElPXzBfNyB8fCBpcnEgPiBJUlFfT1JJT041WF9HUElPXzI0XzMxKTsKIAlvZmZzID0gKGlycSAtIElSUV9PUklPTjVYX0dQSU9fMF83KSAqIDg7Ci0JY2F1c2UgPSAob3Jpb241eF9yZWFkKEdQSU9fREFUQV9JTikgJiBvcmlvbjV4X3JlYWQoR1BJT19MRVZFTF9NQVNLKSkgfAotCQkob3Jpb241eF9yZWFkKEdQSU9fRURHRV9DQVVTRSkgJiBvcmlvbjV4X3JlYWQoR1BJT19FREdFX01BU0spKTsKKwljYXVzZSA9IChyZWFkbChHUElPX0RBVEFfSU4pICYgcmVhZGwoR1BJT19MRVZFTF9NQVNLKSkgfAorCQkocmVhZGwoR1BJT19FREdFX0NBVVNFKSAmIHJlYWRsKEdQSU9fRURHRV9NQVNLKSk7CiAKIAlmb3IgKHBpbiA9IG9mZnM7IHBpbiA8IG9mZnMgKyA4OyBwaW4rKykgewogCQlpZiAoY2F1c2UgJiAoMSA8PCBwaW4pKSB7CkBAIC0xNTgsOSArMTU4LDkgQEAKIAkJCWRlc2MgPSBpcnFfZGVzYyArIGlycTsKIAkJCWlmICgoZGVzYy0+c3RhdHVzICYgSVJRX1RZUEVfU0VOU0VfTUFTSykgPT0gSVJRVF9CT1RIRURHRSkgewogCQkJCS8qIFN3YXAgcG9sYXJpdHkgKHJhY2Ugd2l0aCBHUElPIGxpbmUpICovCi0JCQkJdTMyIHBvbGFyaXR5ID0gb3Jpb241eF9yZWFkKEdQSU9fSU5fUE9MKTsKKwkJCQl1MzIgcG9sYXJpdHkgPSByZWFkbChHUElPX0lOX1BPTCk7CiAJCQkJcG9sYXJpdHkgXj0gMSA8PCBwaW47Ci0JCQkJb3Jpb241eF93cml0ZShHUElPX0lOX1BPTCwgcG9sYXJpdHkpOworCQkJCXdyaXRlbChwb2xhcml0eSwgR1BJT19JTl9QT0wpOwogCQkJfQogCQkJZGVzY19oYW5kbGVfaXJxKGlycSwgZGVzYyk7CiAJCX0KQEAgLTE3NSw5ICsxNzUsOSBAQAogCS8qCiAJICogTWFzayBhbmQgY2xlYXIgR1BJTyBJUlEgaW50ZXJydXB0cwogCSAqLwotCW9yaW9uNXhfd3JpdGUoR1BJT19MRVZFTF9NQVNLLCAweDApOwotCW9yaW9uNXhfd3JpdGUoR1BJT19FREdFX01BU0ssIDB4MCk7Ci0Jb3Jpb241eF93cml0ZShHUElPX0VER0VfQ0FVU0UsIDB4MCk7CisJd3JpdGVsKDB4MCwgR1BJT19MRVZFTF9NQVNLKTsKKwl3cml0ZWwoMHgwLCBHUElPX0VER0VfTUFTSyk7CisJd3JpdGVsKDB4MCwgR1BJT19FREdFX0NBVVNFKTsKIAogCS8qCiAJICogUmVnaXN0ZXIgY2hhaW5lZCBsZXZlbCBoYW5kbGVycyBmb3IgR1BJTyBJUlFzIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgva3Vyb2JveF9wcm8tc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCmluZGV4IGY1MDc0YjguLjg0ZmVhYzQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9rdXJvYm94X3Byby1zZXR1cC5jCkBAIC0xMywxMCArMTMsMTIgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL25hbmQuaD4KICNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9ncGlvLmg+CkBAIC0yNSw2ICsyNyw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgogI2luY2x1ZGUgPGFzbS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBLVVJPQk9YLVBSTyBJbmZvCkBAIC01MywxMyArNTYsMTEgQEAKIAkJLm5hbWUJPSAidUltYWdlIiwKIAkJLm9mZnNldAk9IDAsCiAJCS5zaXplCT0gU1pfNE0sCi0JfSwKLQl7CisJfSwgewogCQkubmFtZQk9ICJyb290ZnMiLAogCQkub2Zmc2V0CT0gU1pfNE0sCiAJCS5zaXplCT0gU1pfNjRNLAotCX0sCi0JeworCX0sIHsKIAkJLm5hbWUJPSAiZXh0cmEiLAogCQkub2Zmc2V0CT0gU1pfNE0gKyBTWl82NE0sCiAJCS5zaXplCT0gU1pfMjU2TSAtIChTWl80TSArIFNaXzY0TSksCkBAIC0xMzIsOCArMTMzLDYgQEAKIAkvKgogCSAqIFBDSSBpc24ndCB1c2VkIG9uIHRoZSBLdXJvCiAJICovCi0JcHJpbnRrKEtFUk5fRVJSICJrdXJvYm94X3Byb19wY2lfbWFwX2lycSBmYWlsZWQsIHVua25vd24gYnVzXG4iKTsKLQogCXJldHVybiAtMTsKIH0KIApAQCAtMTYxLDcgKzE2MCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBrdXJvYm94X3Byb19ldGhfZGF0YSA9IHsKIAkucGh5X2FkZHIJPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKQEAgLTE3NSwxMiArMTczLDE2OSBAQAogICogU0FUQQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBrdXJvYm94X3Byb19zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEt1cm9ib3ggUHJvIHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIG1pY3JvY29udHJvbGxlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVUFSVDFfUkVHKHgpCShVQVJUMV9WSVJUX0JBU0UgKyAoKFVBUlRfIyN4KSA8PCAyKSkKKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbnJlYWQodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCit7CisJaW50IGk7CisJaW50IHRpbWVvdXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQl0aW1lb3V0ID0gMTA7CisKKwkJd2hpbGUgKCEocmVhZGwoVUFSVDFfUkVHKExTUikpICYgVUFSVF9MU1JfRFIpKSB7CisJCQlpZiAoLS10aW1lb3V0ID09IDApCisJCQkJYnJlYWs7CisJCQl1ZGVsYXkoMTAwMCk7CisJCX0KKworCQlpZiAodGltZW91dCA9PSAwKQorCQkJYnJlYWs7CisJCWJ1ZltpXSA9IHJlYWRsKFVBUlQxX1JFRyhSWCkpOworCX0KKworCS8qIHJldHVybiByZWFkIGJ5dGVzICovCisJcmV0dXJuIGk7Cit9CisKK3N0YXRpYyBpbnQga3Vyb2JveF9wcm9fbWljb253cml0ZShjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKK3sKKwlpbnQgaSA9IDA7CisKKwl3aGlsZSAoY291bnQtLSkgeworCQl3aGlsZSAoIShyZWFkbChVQVJUMV9SRUcoTFNSKSkgJiBVQVJUX0xTUl9USFJFKSkKKwkJCWJhcnJpZXIoKTsKKwkJd3JpdGVsKGJ1ZltpKytdLCBVQVJUMV9SRUcoVFgpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBrdXJvYm94X3Byb19taWNvbnNlbmQoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGNvdW50KQoreworCWludCBpOworCXVuc2lnbmVkIGNoYXIgY2hlY2tzdW0gPSAwOworCXVuc2lnbmVkIGNoYXIgcmVjdl9idWZbNDBdOworCXVuc2lnbmVkIGNoYXIgc2VuZF9idWZbNDBdOworCXVuc2lnbmVkIGNoYXIgY29ycmVjdF9hY2tbM107CisJaW50IHJldHJ5ID0gMjsKKworCS8qIEdlbmVyYXRlIGNoZWNrc3VtICovCisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspCisJCWNoZWNrc3VtIC09ICBkYXRhW2ldOworCisJZG8geworCQkvKiBTZW5kIGRhdGEgKi8KKwkJa3Vyb2JveF9wcm9fbWljb253cml0ZShkYXRhLCBjb3VudCk7CisKKwkJLyogc2VuZCBjaGVja3N1bSAqLworCQlrdXJvYm94X3Byb19taWNvbndyaXRlKCZjaGVja3N1bSwgMSk7CisKKwkJaWYgKGt1cm9ib3hfcHJvX21pY29ucmVhZChyZWN2X2J1Ziwgc2l6ZW9mKHJlY3ZfYnVmKSkgPD0gMykgeworCQkJcHJpbnRrKEtFUk5fRVJSICI+JXM6IHJlY2VpdmUgZmFpbGVkLlxuIiwgX19mdW5jX18pOworCisJCQkvKiBzZW5kIHByZWFtYmxlIHRvIGNsZWFyIHRoZSByZWNlaXZlIGJ1ZmZlciAqLworCQkJbWVtc2V0KCZzZW5kX2J1ZiwgMHhmZiwgc2l6ZW9mKHNlbmRfYnVmKSk7CisJCQlrdXJvYm94X3Byb19taWNvbndyaXRlKHNlbmRfYnVmLCBzaXplb2Yoc2VuZF9idWYpKTsKKworCQkJLyogbWFrZSBkdW1teSByZWFkcyAqLworCQkJbWRlbGF5KDEwMCk7CisJCQlrdXJvYm94X3Byb19taWNvbnJlYWQocmVjdl9idWYsIHNpemVvZihyZWN2X2J1ZikpOworCQl9IGVsc2UgeworCQkJLyogR2VuZXJhdGUgZXhwZWN0ZWQgYWNrICovCisJCQljb3JyZWN0X2Fja1swXSA9IDB4MDE7CisJCQljb3JyZWN0X2Fja1sxXSA9IGRhdGFbMV07CisJCQljb3JyZWN0X2Fja1syXSA9IDB4MDA7CisKKwkJCS8qIGNoZWNrc3VtIENoZWNrICovCisJCQlpZiAoKHJlY3ZfYnVmWzBdICsgcmVjdl9idWZbMV0gKyByZWN2X2J1ZlsyXSArCisJCQkgICAgIHJlY3ZfYnVmWzNdKSAmIDB4RkYpIHsKKwkJCQlwcmludGsoS0VSTl9FUlIgIj4lczogQ2hlY2tzdW0gRXJyb3IgOiAiCisJCQkJCSJSZWNlaXZlZCBkYXRhWyUwMngsICUwMngsICUwMngsICUwMnhdIgorCQkJCQkiXG4iLCBfX2Z1bmNfXywgcmVjdl9idWZbMF0sCisJCQkJCXJlY3ZfYnVmWzFdLCByZWN2X2J1ZlsyXSwgcmVjdl9idWZbM10pOworCQkJfSBlbHNlIHsKKwkJCQkvKiBDaGVjayBSZWNlaXZlZCBEYXRhICovCisJCQkJaWYgKGNvcnJlY3RfYWNrWzBdID09IHJlY3ZfYnVmWzBdICYmCisJCQkJICAgIGNvcnJlY3RfYWNrWzFdID09IHJlY3ZfYnVmWzFdICYmCisJCQkJICAgIGNvcnJlY3RfYWNrWzJdID09IHJlY3ZfYnVmWzJdKSB7CisJCQkJCS8qIEludGVydmFsIGZvciBuZXh0IGNvbW1hbmQgKi8KKwkJCQkJbWRlbGF5KDEwKTsKKworCQkJCQkvKiBSZWNlaXZlIEFDSyAqLworCQkJCQlyZXR1cm4gMDsKKwkJCQl9CisJCQl9CisJCQkvKiBSZWNlaXZlZCBOQUsgb3IgaWxsZWdhbCBEYXRhICovCisJCQlwcmludGsoS0VSTl9FUlIgIj4lczogRXJyb3IgOiBOQUsgb3IgSWxsZWdhbCBEYXRhICIKKwkJCQkJIlJlY2VpdmVkXG4iLCBfX2Z1bmNfXyk7CisJCX0KKwl9IHdoaWxlIChyZXRyeS0tKTsKKworCS8qIEludGVydmFsIGZvciBuZXh0IGNvbW1hbmQgKi8KKwltZGVsYXkoMTApOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBrdXJvYm94X3Byb19wb3dlcl9vZmYodm9pZCkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyIHdhdGNoZG9na2lsbFtdCT0gezB4MDEsIDB4MzUsIDB4MDB9OworCWNvbnN0IHVuc2lnbmVkIGNoYXIgc2h1dGRvd253YWl0W10JPSB7MHgwMCwgMHgwY307CisJY29uc3QgdW5zaWduZWQgY2hhciBwb3dlcm9mZltdCQk9IHsweDAwLCAweDA2fTsKKwkvKiAzODQwMCBiYXVkIGRpdmlzb3IgKi8KKwljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDM4NDAwKSkgLyAoMTYgKiAzODQwMCkpOworCisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisKKwkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMzg0MDAsOG4xLGV2ZW4gcGFyaXR5KSAqLworCXdyaXRlbCgweDgzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKGRpdmlzb3IgJiAweGZmLCBVQVJUMV9SRUcoRExMKSk7CisJd3JpdGVsKChkaXZpc29yID4+IDgpICYgMHhmZiwgVUFSVDFfUkVHKERMTSkpOworCXdyaXRlbCgweDFiLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhJRVIpKTsKKwl3cml0ZWwoMHgwNywgVUFSVDFfUkVHKEZDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoTUNSKSk7CisKKwkvKiBTZW5kIHRoZSBjb21tYW5kcyB0byBzaHV0ZG93biB0aGUgS3Vyb2JveCBQcm8gKi8KKwlrdXJvYm94X3Byb19taWNvbnNlbmQod2F0Y2hkb2draWxsLCBzaXplb2Yod2F0Y2hkb2draWxsKSkgOworCWt1cm9ib3hfcHJvX21pY29uc2VuZChzaHV0ZG93bndhaXQsIHNpemVvZihzaHV0ZG93bndhaXQpKSA7CisJa3Vyb2JveF9wcm9fbWljb25zZW5kKHBvd2Vyb2ZmLCBzaXplb2YocG93ZXJvZmYpKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBrdXJvYm94X3Byb19tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9VTlVTRUQgfSwKKwl7ICAxLCBNUFBfVU5VU0VEIH0sCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEdQSU8gTWljb24gKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBSdGMgKi8KKwl7ICA0LCBNUFBfVU5VU0VEIH0sCisJeyAgNSwgTVBQX1VOVVNFRCB9LAorCXsgIDYsIE1QUF9OQU5EIH0sCQkvKiBOQU5EIEZsYXNoIFJFbiAqLworCXsgIDcsIE1QUF9OQU5EIH0sCQkvKiBOQU5EIEZsYXNoIFdFbiAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwKKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX1VOVVNFRCB9LAorCXsgMTEsIE1QUF9VTlVTRUQgfSwKKwl7IDEyLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBwcmVzZW5jZSAqLworCXsgMTMsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIHByZXNlbmNlICovCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFJYRCAqLworCXsgMTcsIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBUWEQgKi8KKwl7IDE4LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgQ1RTbiAqLworCXsgMTksIE1QUF9VQVJUIH0sCQkvKiBVQVJUMSBSVFNuICovCisJeyAtMSB9LAorfTsKIAogc3RhdGljIHZvaWQgX19pbml0IGt1cm9ib3hfcHJvX2luaXQodm9pZCkKIHsKQEAgLTE4OSw0NiArMzQ0LDMzIEBACiAJICovCiAJb3Jpb241eF9pbml0KCk7CiAKLQkvKgotCSAqIFNldHVwIHRoZSBDUFUgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3Igb3VyIGRldmljZXMKLQkgKi8KLQlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihLVVJPQk9YX1BST19OT1JfQk9PVF9CQVNFLAotCQkJCUtVUk9CT1hfUFJPX05PUl9CT09UX1NJWkUpOwotCW9yaW9uNXhfc2V0dXBfZGV2MF93aW4oS1VST0JPWF9QUk9fTkFORF9CQVNFLCBLVVJPQk9YX1BST19OQU5EX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYoa3Vyb2JveF9wcm9fbXBwX21vZGVzKTsKIAogCS8qCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgogCSAqLwotCW9yaW9uNXhfc2V0dXBfcGNpZV93YV93aW4oT1JJT041WF9QQ0lFX1dBX1BIWVNfQkFTRSwKLQkJCQlPUklPTjVYX1BDSUVfV0FfU0laRSk7Ci0KLQkvKgotCSAqIFNldHVwIE11bHRpcGxleGluZyBQaW5zIC0tCi0JICogTVBQWzAtMV0gTm90IHVzZWQKLQkgKiBNUFBbMl0gR1BJTyBNaWNvbgotCSAqIE1QUFszXSBHUElPIFJUQwotCSAqIE1QUFs0LTVdIE5vdCB1c2VkCi0JICogTVBQWzZdIE5hbmQgRmxhc2ggUkVuCi0JICogTVBQWzddIE5hbmQgRmxhc2ggV0VuCi0JICogTVBQWzgtMTFdIE5vdCB1c2VkCi0JICogTVBQWzEyXSBTQVRBIDAgcHJlc2VuY2UgSW5kaWNhdGlvbgotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTRdIFNBVEEgMCBhY3RpdmUgSW5kaWNhdGlvbgotCSAqIE1QUFsxNV0gU0FUQSAxIGFjdGl2ZSBpbmRpY2F0aW9uCi0JICogTVBQWzE2LTE5XSBOb3QgdXNlZAotCSAqLwotCW9yaW9uNXhfd3JpdGUoTVBQXzBfN19DVFJMLCAweDQ0MjIwMDAzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4MCk7Ci0KLQlvcmlvbjV4X2dwaW9fc2V0X3ZhbGlkX3BpbnMoMHgwMDAwMDAwYyk7Ci0KLQlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJmt1cm9ib3hfcHJvX25vcl9mbGFzaCk7Ci0JaWYgKG1hY2hpbmVfaXNfa3Vyb2JveF9wcm8oKSkKLQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19uYW5kX2ZsYXNoKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAma3Vyb2JveF9wcm9faTJjX3J0YywgMSk7CisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CiAJb3Jpb241eF9ldGhfaW5pdCgma3Vyb2JveF9wcm9fZXRoX2RhdGEpOworCW9yaW9uNXhfaTJjX2luaXQoKTsKIAlvcmlvbjV4X3NhdGFfaW5pdCgma3Vyb2JveF9wcm9fc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKwlvcmlvbjV4X3VhcnQxX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKEtVUk9CT1hfUFJPX05PUl9CT09UX0JBU0UsCisJCQkJICAgS1VST0JPWF9QUk9fTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19ub3JfZmxhc2gpOworCisJaWYgKG1hY2hpbmVfaXNfa3Vyb2JveF9wcm8oKSkgeworCQlvcmlvbjV4X3NldHVwX2RldjBfd2luKEtVUk9CT1hfUFJPX05BTkRfQkFTRSwKKwkJCQkgICAgICAgS1VST0JPWF9QUk9fTkFORF9TSVpFKTsKKwkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZrdXJvYm94X3Byb19uYW5kX2ZsYXNoKTsKKwl9CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAma3Vyb2JveF9wcm9faTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciBLdXJvYm94IFBybyBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0ga3Vyb2JveF9wcm9fcG93ZXJfb2ZmOwogfQogCiAjaWZkZWYgQ09ORklHX01BQ0hfS1VST0JPWF9QUk8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDhjYWRiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCkBAIC0wLDAgKzEsMTYzIEBACisvKgorICogYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21wcC5jCisgKgorICogTVBQIGZ1bmN0aW9ucyBmb3IgTWFydmVsbCBPcmlvbiA1eCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYnVzLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKK3N0YXRpYyBpbnQgaXNfNTE4MWwodm9pZCkKK3sKKwl1MzIgZGV2OworCXUzMiByZXY7CisKKwlvcmlvbjV4X3BjaWVfaWQoJmRldiwgJnJldik7CisKKwlyZXR1cm4gISEoZGV2ID09IE1WODhGNTE4MV9ERVZfSUQgJiYgcmV2ID49IE1WODhGNTE4MUxfUkVWX0EwKTsKK30KKworc3RhdGljIGludCBpc181MTgyKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUxODJfREVWX0lEKTsKK30KKworc3RhdGljIGludCBpc181MjgxKHZvaWQpCit7CisJdTMyIGRldjsKKwl1MzIgcmV2OworCisJb3Jpb241eF9wY2llX2lkKCZkZXYsICZyZXYpOworCisJcmV0dXJuICEhKGRldiA9PSBNVjg4RjUyODFfREVWX0lEKTsKK30KKworc3RhdGljIGludCBfX2luaXQgZGV0ZXJtaW5lX3R5cGVfZW5jb2RpbmcoaW50IG1wcCwgZW51bSBvcmlvbjV4X21wcF90eXBlIHR5cGUpCit7CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBNUFBfVU5VU0VEOgorCWNhc2UgTVBQX0dQSU86CisJCWlmIChtcHAgPT0gMCkKKwkJCXJldHVybiAzOworCQlpZiAobXBwID49IDEgJiYgbXBwIDw9IDE1KQorCQkJcmV0dXJuIDA7CisJCWlmIChtcHAgPj0gMTYgJiYgbXBwIDw9IDE5KSB7CisJCQlpZiAoaXNfNTE4MigpKQorCQkJCXJldHVybiA1OworCQkJaWYgKHR5cGUgPT0gTVBQX1VOVVNFRCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9QQ0lFX1JTVF9PVVRuOgorCQlpZiAobXBwID09IDApCisJCQlyZXR1cm4gMDsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX0FSQjoKKwkJaWYgKG1wcCA+PSAwICYmIG1wcCA8PSA3KQorCQkJcmV0dXJuIDI7CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1BDSV9QTUVuOgorCQlpZiAobXBwID09IDIpCisJCQlyZXR1cm4gMzsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfR0lHRToKKwkJaWYgKG1wcCA+PSA4ICYmIG1wcCA8PSAxOSkKKwkJCXJldHVybiAxOworCQlyZXR1cm4gLTE7CisKKwljYXNlIE1QUF9OQU5EOgorCQlpZiAoaXNfNTE4MigpIHx8IGlzXzUyODEoKSkgeworCQkJaWYgKG1wcCA+PSA0ICYmIG1wcCA8PSA3KQorCQkJCXJldHVybiA0OworCQkJaWYgKG1wcCA+PSAxMiAmJiBtcHAgPD0gMTcpCisJCQkJcmV0dXJuIDQ7CisJCX0KKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfUENJX0NMSzoKKwkJaWYgKGlzXzUxODFsKCkgJiYgbXBwID49IDYgJiYgbXBwIDw9IDcpCisJCQlyZXR1cm4gNTsKKwkJcmV0dXJuIC0xOworCisJY2FzZSBNUFBfU0FUQV9MRUQ6CisJCWlmIChpc181MTgyKCkpIHsKKwkJCWlmIChtcHAgPj0gNCAmJiBtcHAgPD0gNykKKwkJCQlyZXR1cm4gNTsKKwkJCWlmIChtcHAgPj0gMTIgJiYgbXBwIDw9IDE1KQorCQkJCXJldHVybiA1OworCQl9CisJCXJldHVybiAtMTsKKworCWNhc2UgTVBQX1VBUlQ6CisJCWlmIChtcHAgPj0gMTYgJiYgbXBwIDw9IDE5KQorCQkJcmV0dXJuIDA7CisJCXJldHVybiAtMTsKKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJ1bmtub3duIE1QUCB0eXBlICVkXG4iLCB0eXBlKTsKKworCXJldHVybiAtMTsKK30KKwordm9pZCBfX2luaXQgb3Jpb241eF9tcHBfY29uZihzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSAqbW9kZSkKK3sKKwl1MzIgbXBwXzBfN19jdHJsID0gcmVhZGwoTVBQXzBfN19DVFJMKTsKKwl1MzIgbXBwXzhfMTVfY3RybCA9IHJlYWRsKE1QUF84XzE1X0NUUkwpOworCXUzMiBtcHBfMTZfMTlfY3RybCA9IHJlYWRsKE1QUF8xNl8xOV9DVFJMKTsKKworCXdoaWxlIChtb2RlLT5tcHAgPj0gMCkgeworCQl1MzIgKnJlZzsKKwkJaW50IG51bV90eXBlOworCQlpbnQgc2hpZnQ7CisKKwkJaWYgKG1vZGUtPm1wcCA+PSAwICYmIG1vZGUtPm1wcCA8PSA3KQorCQkJcmVnID0gJm1wcF8wXzdfY3RybDsKKwkJZWxzZSBpZiAobW9kZS0+bXBwID49IDggJiYgbW9kZS0+bXBwIDw9IDE1KQorCQkJcmVnID0gJm1wcF84XzE1X2N0cmw7CisJCWVsc2UgaWYgKG1vZGUtPm1wcCA+PSAxNiAmJiBtb2RlLT5tcHAgPD0gMTkpCisJCQlyZWcgPSAmbXBwXzE2XzE5X2N0cmw7CisJCWVsc2UgeworCQkJcHJpbnRrKEtFUk5fRVJSICJvcmlvbjV4X21wcF9jb25mOiBpbnZhbGlkIE1QUCAiCisJCQkJCSIoJWQpXG4iLCBtb2RlLT5tcHApOworCQkJY29udGludWU7CisJCX0KKworCQludW1fdHlwZSA9IGRldGVybWluZV90eXBlX2VuY29kaW5nKG1vZGUtPm1wcCwgbW9kZS0+dHlwZSk7CisJCWlmIChudW1fdHlwZSA8IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAib3Jpb241eF9tcHBfY29uZjogaW52YWxpZCBNUFAgIgorCQkJCQkiY29tYmluYXRpb24gKCVkLCAlZClcbiIsIG1vZGUtPm1wcCwKKwkJCQkJbW9kZS0+dHlwZSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXNoaWZ0ID0gKG1vZGUtPm1wcCAmIDcpIDw8IDI7CisJCSpyZWcgJj0gfigweGYgPDwgc2hpZnQpOworCQkqcmVnIHw9IChudW1fdHlwZSAmIDB4ZikgPDwgc2hpZnQ7CisKKwkJb3Jpb241eF9ncGlvX3NldF92YWxpZChtb2RlLT5tcHAsICEhKG1vZGUtPnR5cGUgPT0gTVBQX0dQSU8pKTsKKworCQltb2RlKys7CisJfQorCisJd3JpdGVsKG1wcF8wXzdfY3RybCwgTVBQXzBfN19DVFJMKTsKKwl3cml0ZWwobXBwXzhfMTVfY3RybCwgTVBQXzhfMTVfQ1RSTCk7CisJd3JpdGVsKG1wcF8xNl8xOV9jdHJsLCBNUFBfMTZfMTlfQ1RSTCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXBwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkwZTYxMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9tcHAuaApAQCAtMCwwICsxLDc0IEBACisjaWZuZGVmIF9fQVJDSF9PUklPTjVYX01QUF9ICisjZGVmaW5lIF9fQVJDSF9PUklPTjVYX01QUF9ICisKK2VudW0gb3Jpb241eF9tcHBfdHlwZSB7CisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1bnVzZWQuCisJICovCisJTVBQX1VOVVNFRCwKKworCS8qCisJICogVGhpcyBNUFAgcGluIGlzIHVzZWQgYXMgYSBnZW5lcmljIEdQSU8gcGluLiAgVmFsaWQgZm9yCisJICogTVBQcyAwLTE1IGFuZCBkZXZpY2UgYnVzIGRhdGEgcGlucyAxNi0zMS4gIE9uIDUxODIsIGFsc28KKwkgKiB2YWxpZCBmb3IgTVBQcyAxNi0xOS4KKwkgKi8KKwlNUFBfR1BJTywKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBQQ0llX1JTVF9PVVRuIHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUCAwIG9ubHkuCisJICovCisJTVBQX1BDSUVfUlNUX09VVG4sCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgUENJIGFyYml0ZXIgcGluIChSRVFuL0dOVG4pLgorCSAqIFZhbGlkIGZvciBNUFBzIDAtNyBvbmx5LgorCSAqLworCU1QUF9QQ0lfQVJCLAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFBDSV9QTUVuIHBpbi4gIFZhbGlkIGZvciBNUFAgMiBvbmx5LgorCSAqLworCU1QUF9QQ0lfUE1FbiwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBHaWdFIGhhbGYtZHVwbGV4IChDT0wsIENSUykgb3IgR01JSQorCSAqIChSWEVSUiwgQ1JTLCBUWEVSUiwgVFhEWzc6NF0sIFJYRFs3OjRdKSBwaW4uICBWYWxpZCBmb3IKKwkgKiBNUFBzIDgtMTkgb25seS4KKwkgKi8KKwlNUFBfR0lHRSwKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBOQU5EIFJFbi9XRW4gcGluLiAgVmFsaWQgZm9yIE1QUHMKKwkgKiA0LTcgYW5kIDEyLTE3IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgxbC81MTgyLzUyODEuCisJICovCisJTVBQX05BTkQsCisKKwkvKgorCSAqIFRoaXMgTVBQIGlzIHVzZWQgYXMgYSBQQ0kgY2xvY2sgb3V0cHV0IHBpbi4gIFZhbGlkIGZvcgorCSAqIE1QUHMgNi03IG9ubHksIGFuZCBvbmx5IG9uIHRoZSA1MTgxbC4KKwkgKi8KKwlNUFBfUENJX0NMSywKKworCS8qCisJICogVGhpcyBNUFAgaXMgdXNlZCBhcyBhIFNBVEEgcHJlc2VuY2UvYWN0aXZpdHkgTEVELgorCSAqIFZhbGlkIGZvciBNUFBzIDQtNyBhbmQgMTItMTUgb25seSwgYW5kIG9ubHkgb24gdGhlIDUxODIuCisJICovCisJTVBQX1NBVEFfTEVELAorCisJLyoKKwkgKiBUaGlzIE1QUCBpcyB1c2VkIGFzIFVBUlQxIFJYRC9UWEQvQ1RTbi9SVFNuIHBpbi4KKwkgKiBWYWxpZCBmb3IgTVBQcyAxNi0xOSBvbmx5LgorCSAqLworCU1QUF9VQVJULAorfTsKKworc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgeworCWludAkJCW1wcDsKKwllbnVtIG9yaW9uNXhfbXBwX3R5cGUJdHlwZTsKK307CisKK3ZvaWQgb3Jpb241eF9tcHBfY29uZihzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSAqbW9kZSk7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXNzMi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2U5ZTQwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L21zczItc2V0dXAuYwpAQCAtMCwwICsxLDI3MCBAQAorLyoKKyAqIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSBCb2FyZCBTZXR1cAorICoKKyAqIE1haW50YWluZXI6IFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnb29nbGVtYWlsLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2xlZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKyNkZWZpbmUgTVNTMl9OT1JfQk9PVF9CQVNFCTB4ZmY4MDAwMDAKKyNkZWZpbmUgTVNTMl9OT1JfQk9PVF9TSVpFCVNaXzI1NksKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBNYXh0b3IgU2hhcmVkIFN0b3JhZ2UgSUkgaGFyZHdhcmUgOgorICogLSBNYXJ2ZWxsIDg4RjUxODItQTIgQzUwMAorICogLSBNYXJ2ZWxsIDg4RTExMTEgR2lnYWJpdCBFdGhlcm5ldCBQSFkKKyAqIC0gUlRDIE00MVQ4MSAoQDB4NjgpIG9uIEkyQyBidXMKKyAqIC0gMjU2S0IgTk9SIGZsYXNoCisgKiAtIDY0TUIgb2YgUkFNCisgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAyNTZLQiBOT1IgRmxhc2ggb24gQk9PVCBEZXZpY2UKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBtc3MyX25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBtc3MyX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IE1TUzJfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IE1TUzJfTk9SX0JPT1RfQkFTRSArIE1TUzJfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBtc3MyX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm1zczJfbm9yX2ZsYXNoX2RhdGEsCisJfSwKKwkucmVzb3VyY2UJPSAmbXNzMl9ub3JfZmxhc2hfcmVzb3VyY2UsCisJLm51bV9yZXNvdXJjZXMJPSAxLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFBDSSBzZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IF9faW5pdCBtc3MyX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSBtc3MyX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycyA9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSBtc3MyX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgbXNzMl9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX21zczIoKSkKKwkJcGNpX2NvbW1vbl9pbml0KCZtc3MyX3BjaSk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChtc3MyX3BjaV9pbml0KTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIG1zczJfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gOCwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogU0FUQQorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBzdHJ1Y3QgbXZfc2F0YV9wbGF0Zm9ybV9kYXRhIG1zczJfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR1BJTyBidXR0b25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBNU1MyX0dQSU9fS0VZX1JFU0VUCTEyCisjZGVmaW5lIE1TUzJfR1BJT19LRVlfUE9XRVIJMTEKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG1zczJfYnV0dG9uc1tdID0geworCXsKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZ3BpbwkJPSBNU1MyX0dQSU9fS0VZX1BPV0VSLAorCQkuZGVzYwkJPSAiUG93ZXIiLAorCQkuYWN0aXZlX2xvdwk9IDEsCisJfSwgeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gTVNTMl9HUElPX0tFWV9SRVNFVCwKKwkJLmRlc2MJCT0gIlJlc2V0IiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG1zczJfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBtc3MyX2J1dHRvbnMsCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShtc3MyX2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXNzMl9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXNzMl9idXR0b25fZGF0YSwKKwl9LAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgbTQxdDgxIG9uIEkyQyBidXMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIE1TUzJfR1BJT19SVENfSVJRCTMKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIG1zczJfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygibTQxdDgxIiwgMHg2OCksCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIE1TUzIgcG93ZXIgb2ZmIG1ldGhvZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKgorICogT24gdGhlIE1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSwgdGhlIHNodXRkb3duIHByb2Nlc3MgaXMgdGhlIGZvbGxvd2luZyA6CisgKiAtIFVzZXJsYW5kIG1vZGlmaWVzIFUtYm9vdCBlbnYgdG8gdGVsbCBVLWJvb3QgdG8gZ28gaWRsZSBhdCBuZXh0IGJvb3QKKyAqIC0gVGhlIGJvYXJkIHJlYm9vdHMKKyAqIC0gVS1ib290IHN0YXJ0cyBhbmQgZ28gaW50byBhbiBpZGxlIG1vZGUgdW50aWwgdGhlIHVzZXIgcHJlc3MgInBvd2VyIgorICovCitzdGF0aWMgdm9pZCBtc3MyX3Bvd2VyX29mZih2b2lkKQoreworCXUzMiByZWc7CisKKwkvKgorCSAqIEVuYWJsZSBhbmQgaXNzdWUgc29mdCByZXNldAorCSAqLworCXJlZyA9IHJlYWRsKENQVV9SRVNFVF9NQVNLKTsKKwlyZWcgfD0gMSA8PCAyOworCXdyaXRlbChyZWcsIENQVV9SRVNFVF9NQVNLKTsKKworCXJlZyA9IHJlYWRsKENQVV9TT0ZUX1JFU0VUKTsKKwlyZWcgfD0gMTsKKwl3cml0ZWwocmVnLCBDUFVfU09GVF9SRVNFVCk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBHZW5lcmFsIFNldHVwCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSBtc3MyX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBFcnJvciBMRUQgKi8KKwl7ICAyLCBNUFBfVU5VU0VEIH0sCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogSEREIGluZC4gKFNpbmdsZS9EdWFsKSovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIEhEMCA1ViBjb250cm9sICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEhEMCAxMlYgY29udHJvbCAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBIRDEgNVYgY29udHJvbCAqLworCXsgIDgsIE1QUF9HUElPIH0sCQkvKiBIRDEgMTJWIGNvbnRyb2wgKi8KKwl7ICA5LCBNUFBfVU5VU0VEIH0sCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIEZhbiBjb250cm9sICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIGJ1dHRvbiAqLworCXsgMTIsIE1QUF9HUElPIH0sCQkvKiBSZXNldCBidXR0b24gKi8KKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgYWN0aXZlICovCisJeyAxNSwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgYWN0aXZlICovCisJeyAxNiwgTVBQX1VOVVNFRCB9LAorCXsgMTcsIE1QUF9VTlVTRUQgfSwKKwl7IDE4LCBNUFBfVU5VU0VEIH0sCisJeyAxOSwgTVBQX1VOVVNFRCB9LAorCXsgLTEgfSwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBtc3MyX2luaXQodm9pZCkKK3sKKwkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihtc3MyX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIE1QUFsyMF0gVW51c2VkCisJICogTVBQWzIxXSBQQ0kgY2xvY2sKKwkgKiBNUFBbMjJdIFVTQiAwIG92ZXIgY3VycmVudAorCSAqIE1QUFsyM10gVVNCIDEgb3ZlciBjdXJyZW50CisJICovCisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2VoY2kxX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZtc3MyX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJm1zczJfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKE1TUzJfTk9SX0JPT1RfQkFTRSwgTVNTMl9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1zczJfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXNzMl9idXR0b25fZGV2aWNlKTsKKworCWlmIChncGlvX3JlcXVlc3QoTVNTMl9HUElPX1JUQ19JUlEsICJydGMiKSA9PSAwKSB7CisJCWlmIChncGlvX2RpcmVjdGlvbl9pbnB1dChNU1MyX0dQSU9fUlRDX0lSUSkgPT0gMCkKKwkJCW1zczJfaTJjX3J0Yy5pcnEgPSBncGlvX3RvX2lycShNU1MyX0dQSU9fUlRDX0lSUSk7CisJCWVsc2UKKwkJCWdwaW9fZnJlZShNU1MyX0dQSU9fUlRDX0lSUSk7CisJfQorCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZtc3MyX2kyY19ydGMsIDEpOworCisJLyogcmVnaXN0ZXIgbXNzMiBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gbXNzMl9wb3dlcl9vZmY7Cit9CisKK01BQ0hJTkVfU1RBUlQoTVNTMiwgIk1heHRvciBTaGFyZWQgU3RvcmFnZSBJSSIpCisJLyogTWFpbnRhaW5lcjogU3lsdmVyIEJydW5lYXUgPHN5bHZlci5icnVuZWF1QGdvb2dsZW1haWwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSBtc3MyX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L212MjEyMC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZjNiMGYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvbXYyMTIwLXNldHVwLmMKQEAgLTAsMCArMSwyMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgSGVyYmVydCBWYWxlcmlvIFJpZWRlbCA8aHZyQGdudS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWFydGluIE1pY2hsbWF5ciA8dGJtQGN5cml1cy5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUKKyAqIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvbGVkcy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L2lucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKyNkZWZpbmUgTVYyMTIwX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBNVjIxMjBfTk9SX0JPT1RfU0laRQlTWl81MTJLCisKKyNkZWZpbmUgTVYyMTIwX0dQSU9fUlRDX0lSUQkzCisjZGVmaW5lIE1WMjEyMF9HUElPX0tFWV9SRVNFVAkxNworI2RlZmluZSBNVjIxMjBfR1BJT19LRVlfUE9XRVIJMTgKKyNkZWZpbmUgTVYyMTIwX0dQSU9fUE9XRVJfT0ZGCTE5CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBFdGhlcm5ldAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgbXYyMTIwX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSBtdjIxMjBfc2F0YV9kYXRhID0geworCS5uX3BvcnRzCT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBtdjIxMjBfcGFydGl0aW9uc1tdID0geworCXsKKwkJLm5hbWUJPSAiZmlybXdhcmUiLAorCQkuc2l6ZQk9IDB4MDAwODAwMDAsCisJCS5vZmZzZXQJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBtdjIxMjBfbm9yX2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCisJLnBhcnRzCQk9IG12MjEyMF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUobXYyMTIwX3BhcnRpdGlvbnMpCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIG12MjEyMF9ub3JfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBNVjIxMjBfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IE1WMjEyMF9OT1JfQk9PVF9CQVNFICsgTVYyMTIwX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbXYyMTIwX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5yZXNvdXJjZQk9ICZtdjIxMjBfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBtdjIxMjBfYnV0dG9uc1tdID0geworCXsKKwkJLmNvZGUJCT0gS0VZX1JFU1RBUlQsCisJCS5ncGlvCQk9IE1WMjEyMF9HUElPX0tFWV9SRVNFVCwKKwkJLmRlc2MJCT0gInJlc2V0IiwKKwkJLmFjdGl2ZV9sb3cJPSAxLAorCX0sIHsKKwkJLmNvZGUJCT0gS0VZX1BPV0VSLAorCQkuZ3BpbwkJPSBNVjIxMjBfR1BJT19LRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJwb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBtdjIxMjBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBtdjIxMjBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG12MjEyMF9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJm12MjEyMF9idXR0b25fZGF0YSwKKwl9LAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgbXYyMTIwX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIFN5cyBzdGF0dXMgTEVEICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFN5cyBlcnJvciBMRUQgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogT3ZlclRlbXAgaW50ZXJydXB0ICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogVl9MRUQgNVYgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogVl9MRUQgMy4zViAqLworCXsgIDYsIE1QUF9VTlVTRUQgfSwKKwl7ICA3LCBNUFBfVU5VU0VEIH0sCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIFNBVEEgMCBmYWlsIExFRCAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBTQVRBIDEgZmFpbCBMRUQgKi8KKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVU5VU0VEIH0sCisJeyAxNywgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IGJ1dHRvbiAqLworCXsgMTgsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBidXR0b24gKi8KKwl7IDE5LCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgb2ZmICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIG12MjEyMF9pMmNfcnRjID0geworCUkyQ19CT0FSRF9JTkZPKCJwY2Y4NTYzIiwgMHg1MSksCisJLmlycQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fbGVkIG12MjEyMF9sZWRfcGluc1tdID0geworCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6Ymx1ZTpoZWFsdGgiLAorCQkuZ3BpbwkJCT0gMCwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOmhlYWx0aCIsCisJCS5ncGlvCQkJPSAxLAorCX0sCisJeworCQkubmFtZQkJCT0gIm12MjEyMDpsZWQ6YnJpZ2h0IiwKKwkJLmdwaW8JCQk9IDQsCisJCS5kZWZhdWx0X3RyaWdnZXIJPSAiZGVmYXVsdC1vbiIsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOmxlZDpkaW1tZWQiLAorCQkuZ3BpbwkJCT0gNSwKKwl9LAorCXsKKwkJLm5hbWUJCQk9ICJtdjIxMjA6cmVkOnNhdGEwIiwKKwkJLmdwaW8JCQk9IDgsCisJCS5hY3RpdmVfbG93CQk9IDEsCisJfSwKKwl7CisJCS5uYW1lCQkJPSAibXYyMTIwOnJlZDpzYXRhMSIsCisJCS5ncGlvCQkJPSA5LAorCQkuYWN0aXZlX2xvdwkJPSAxLAorCX0sCisKK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19sZWRfcGxhdGZvcm1fZGF0YSBtdjIxMjBfbGVkX2RhdGEgPSB7CisJLmxlZHMJCT0gbXYyMTIwX2xlZF9waW5zLAorCS5udW1fbGVkcwk9IEFSUkFZX1NJWkUobXYyMTIwX2xlZF9waW5zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG12MjEyMF9sZWRzID0geworCS5uYW1lCT0gImxlZHMtZ3BpbyIsCisJLmlkCT0gLTEsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbXYyMTIwX2xlZF9kYXRhLAorCX0KK307CisKK3N0YXRpYyB2b2lkIG12MjEyMF9wb3dlcl9vZmYodm9pZCkKK3sKKwlwcl9pbmZvKCIlczogdHJpZ2dlcmluZyBwb3dlci1vZmYuLi5cbiIsIF9fZnVuY19fKTsKKwlncGlvX3NldF92YWx1ZShNVjIxMjBfR1BJT19QT1dFUl9PRkYsIDApOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgbXYyMTIwX2luaXQodm9pZCkKK3sKKwkvKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LiAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihtdjIxMjBfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJm12MjEyMF9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfc2F0YV9pbml0KCZtdjIxMjBfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKE1WMjEyMF9OT1JfQk9PVF9CQVNFLCBNVjIxMjBfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfbm9yX2ZsYXNoKTsKKworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmbXYyMTIwX2J1dHRvbl9kZXZpY2UpOworCisJaWYgKGdwaW9fcmVxdWVzdChNVjIxMjBfR1BJT19SVENfSVJRLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoTVYyMTIwX0dQSU9fUlRDX0lSUSkgPT0gMCkKKwkJCW12MjEyMF9pMmNfcnRjLmlycSA9IGdwaW9fdG9faXJxKE1WMjEyMF9HUElPX1JUQ19JUlEpOworCQllbHNlCisJCQlncGlvX2ZyZWUoTVYyMTIwX0dQSU9fUlRDX0lSUSk7CisJfQorCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsICZtdjIxMjBfaTJjX3J0YywgMSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZtdjIxMjBfbGVkcyk7CisKKwkvKiByZWdpc3RlciBtdjIxMjAgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCWlmIChncGlvX3JlcXVlc3QoTVYyMTIwX0dQSU9fUE9XRVJfT0ZGLCAiUE9XRVJPRkYiKSAhPSAwIHx8CisJICAgIGdwaW9fZGlyZWN0aW9uX291dHB1dChNVjIxMjBfR1BJT19QT1dFUl9PRkYsIDEpICE9IDApCisJCXByX2VycigibXYyMTIwOiBmYWlsZWQgdG8gc2V0dXAgcG93ZXItb2ZmIEdQSU9cbiIpOworCXBtX3Bvd2VyX29mZiA9IG12MjEyMF9wb3dlcl9vZmY7Cit9CisKKy8qIFdhcm5pbmc6IEhQIHVzZXMgYSB3cm9uZyBtYWNoLXR5cGUgKD01MjYpIGluIHRoZWlyIGJvb3Rsb2FkZXIgKi8KK01BQ0hJTkVfU1RBUlQoTVYyMTIwLCAiSFAgTWVkaWEgVmF1bHQgbXYyMTIwIikKKwkvKiBNYWludGFpbmVyOiBNYXJ0aW4gTWljaGxtYXlyIDx0Ym1AY3lyaXVzLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gbXYyMTIwX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3BjaS5jCmluZGV4IDlkNWQzOWYuLjI1NmE0ZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9wY2kuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcGNpLmMKQEAgLTE1Miw2ICsxNTIsOCBAQAogCWlmIChkZXYgPT0gTVY4OEY1MTgxX0RFVl9JRCB8fCBkZXYgPT0gTVY4OEY1MTgyX0RFVl9JRCkgewogCQlwcmludGsoS0VSTl9OT1RJQ0UgIkFwcGx5aW5nIE9yaW9uLTEvT3Jpb24tTkFTIFBDSWUgY29uZmlnICIKIAkJCQkgICAicmVhZCB0cmFuc2FjdGlvbiB3b3JrYXJvdW5kXG4iKTsKKwkJb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAorCQkJCQkgIE9SSU9ONVhfUENJRV9XQV9TSVpFKTsKIAkJcGNpZV9vcHMucmVhZCA9IHBjaWVfcmRfY29uZl93YTsKIAl9CiAKQEAgLTI0MCwxMyArMjQyLDEzIEBACiAgKiBQQ0kgQWRkcmVzcyBEZWNvZGUgV2luZG93cyByZWdpc3RlcnMKICAqLwogI2RlZmluZSBQQ0lfQkFSX1NJWkVfRERSX0NTKG4pCSgoKG4pID09IDApID8gT1JJT041WF9QQ0lfUkVHKDB4YzA4KSA6IFwKLQkJCQkoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6ICBcCi0JCQkJKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGMwYykgOiAgXAotCQkJCSgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkMGMpIDogMCkKLSNkZWZpbmUgUENJX0JBUl9SRU1BUF9ERFJfQ1MobikJKCgobikgPT0wKSA/IE9SSU9ONVhfUENJX1JFRygweGM0OCkgOiAgXAotCQkJCSgobikgPT0gMSkgPyBPUklPTjVYX1BDSV9SRUcoMHhkNDgpIDogIFwKLQkJCQkoKG4pID09IDIpID8gT1JJT041WF9QQ0lfUkVHKDB4YzRjKSA6ICBcCi0JCQkJKChuKSA9PSAzKSA/IE9SSU9ONVhfUENJX1JFRygweGQ0YykgOiAwKQorCQkJCSAoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDA4KSA6IFwKKwkJCQkgKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGMwYykgOiBcCisJCQkJICgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkMGMpIDogMCkKKyNkZWZpbmUgUENJX0JBUl9SRU1BUF9ERFJfQ1MobikJKCgobikgPT0gMCkgPyBPUklPTjVYX1BDSV9SRUcoMHhjNDgpIDogXAorCQkJCSAoKG4pID09IDEpID8gT1JJT041WF9QQ0lfUkVHKDB4ZDQ4KSA6IFwKKwkJCQkgKChuKSA9PSAyKSA/IE9SSU9ONVhfUENJX1JFRygweGM0YykgOiBcCisJCQkJICgobikgPT0gMykgPyBPUklPTjVYX1BDSV9SRUcoMHhkNGMpIDogMCkKICNkZWZpbmUgUENJX0JBUl9FTkFCTEUJCU9SSU9ONVhfUENJX1JFRygweGMzYykKICNkZWZpbmUgUENJX0FERFJfREVDT0RFX0NUUkwJT1JJT041WF9QQ0lfUkVHKDB4ZDNjKQogCkBAIC0yNjQsOSArMjY2LDExIEBACiAgKi8KIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sob3Jpb241eF9wY2lfbG9jayk7CiAKK3N0YXRpYyBpbnQgb3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlOworCiBzdGF0aWMgaW50IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucih2b2lkKQogewotCXUzMiBjb25mID0gb3Jpb241eF9yZWFkKFBDSV9QMlBfQ09ORik7CisJdTMyIGNvbmYgPSByZWFkbChQQ0lfUDJQX0NPTkYpOwogCXJldHVybigoY29uZiAmIFBDSV9QMlBfQlVTX01BU0spID4+IFBDSV9QMlBfQlVTX09GRlMpOwogfQogCkBAIC0yNzYsMTEgKzI4MCwxMSBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJm9yaW9uNXhfcGNpX2xvY2ssIGZsYWdzKTsKIAotCW9yaW9uNXhfd3JpdGUoUENJX0NPTkZfQUREUiwgUENJX0NPTkZfQlVTKGJ1cykgfAotCQkJUENJX0NPTkZfREVWKGRldikgfCBQQ0lfQ09ORl9SRUcod2hlcmUpIHwKLQkJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOKTsKKwl3cml0ZWwoUENJX0NPTkZfQlVTKGJ1cykgfAorCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAorCQlQQ0lfQ09ORl9GVU5DKGZ1bmMpIHwgUENJX0NPTkZfQUREUl9FTiwgUENJX0NPTkZfQUREUik7CiAKLQkqdmFsID0gb3Jpb241eF9yZWFkKFBDSV9DT05GX0RBVEEpOworCSp2YWwgPSByZWFkbChQQ0lfQ09ORl9EQVRBKTsKIAogCWlmIChzaXplID09IDEpCiAJCSp2YWwgPSAoKnZhbCA+PiAoOCood2hlcmUgJiAweDMpKSkgJiAweGZmOwpAQCAtMzAwLDkgKzMwNCw5IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmb3Jpb241eF9wY2lfbG9jaywgZmxhZ3MpOwogCi0Jb3Jpb241eF93cml0ZShQQ0lfQ09ORl9BRERSLCBQQ0lfQ09ORl9CVVMoYnVzKSB8Ci0JCQlQQ0lfQ09ORl9ERVYoZGV2KSB8IFBDSV9DT05GX1JFRyh3aGVyZSkgfAotCQkJUENJX0NPTkZfRlVOQyhmdW5jKSB8IFBDSV9DT05GX0FERFJfRU4pOworCXdyaXRlbChQQ0lfQ09ORl9CVVMoYnVzKSB8CisJCVBDSV9DT05GX0RFVihkZXYpIHwgUENJX0NPTkZfUkVHKHdoZXJlKSB8CisJCVBDSV9DT05GX0ZVTkMoZnVuYykgfCBQQ0lfQ09ORl9BRERSX0VOLCBQQ0lfQ09ORl9BRERSKTsKIAogCWlmIChzaXplID09IDQpIHsKIAkJX19yYXdfd3JpdGVsKHZhbCwgUENJX0NPTkZfREFUQSk7CkBAIC0zMTksMTQgKzMyMywzMCBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgb3Jpb241eF9wY2lfdmFsaWRfY29uZmlnKGludCBidXMsIHUzMiBkZXZmbikKK3sKKwlpZiAoYnVzID09IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucigpKSB7CisJCS8qCisJCSAqIERvbid0IGdvIG91dCBmb3IgbG9jYWwgZGV2aWNlCisJCSAqLworCQlpZiAoUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApCisJCQlyZXR1cm4gMDsKKworCQkvKgorCQkgKiBXaGVuIHRoZSBQQ0kgc2lnbmFscyBhcmUgZGlyZWN0bHkgY29ubmVjdGVkIHRvIGEKKwkJICogQ2FyZGJ1cyBzbG90LCBpZ25vcmUgYWxsIGJ1dCBkZXZpY2UgSURzIDAgYW5kIDEuCisJCSAqLworCQlpZiAob3Jpb241eF9wY2lfY2FyZGJ1c19tb2RlICYmIFBDSV9TTE9UKGRldmZuKSA+IDEpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCBvcmlvbjV4X3BjaV9yZF9jb25mKHN0cnVjdCBwY2lfYnVzICpidXMsIHUzMiBkZXZmbiwKIAkJCQlpbnQgd2hlcmUsIGludCBzaXplLCB1MzIgKnZhbCkKIHsKLQkvKgotCSAqIERvbid0IGdvIG91dCBmb3IgbG9jYWwgZGV2aWNlCi0JICovCi0JaWYgKGJ1cy0+bnVtYmVyID09IG9yaW9uNXhfcGNpX2xvY2FsX2J1c19ucigpICYmCi0JICAgIFBDSV9TTE9UKGRldmZuKSA9PSAwICYmIFBDSV9GVU5DKGRldmZuKSAhPSAwKSB7CisJaWYgKCFvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIGRldmZuKSkgewogCQkqdmFsID0gMHhmZmZmZmZmZjsKIAkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKIAl9CkBAIC0zMzgsOCArMzU4LDcgQEAKIHN0YXRpYyBpbnQgb3Jpb241eF9wY2lfd3JfY29uZihzdHJ1Y3QgcGNpX2J1cyAqYnVzLCB1MzIgZGV2Zm4sCiAJCQkJaW50IHdoZXJlLCBpbnQgc2l6ZSwgdTMyIHZhbCkKIHsKLQlpZiAoYnVzLT5udW1iZXIgPT0gb3Jpb241eF9wY2lfbG9jYWxfYnVzX25yKCkgJiYKLQkgICAgUENJX1NMT1QoZGV2Zm4pID09IDAgJiYgUENJX0ZVTkMoZGV2Zm4pICE9IDApCisJaWYgKCFvcmlvbjV4X3BjaV92YWxpZF9jb25maWcoYnVzLT5udW1iZXIsIGRldmZuKSkKIAkJcmV0dXJuIFBDSUJJT1NfREVWSUNFX05PVF9GT1VORDsKIAogCXJldHVybiBvcmlvbjV4X3BjaV9od193cl9jb25mKGJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXZmbiksCkBAIC0zNTMsOSArMzcyLDkgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG9yaW9uNXhfcGNpX3NldF9idXNfbnIoaW50IG5yKQogewotCXUzMiBwMnAgPSBvcmlvbjV4X3JlYWQoUENJX1AyUF9DT05GKTsKKwl1MzIgcDJwID0gcmVhZGwoUENJX1AyUF9DT05GKTsKIAotCWlmIChvcmlvbjV4X3JlYWQoUENJX01PREUpICYgUENJX01PREVfUENJWCkgeworCWlmIChyZWFkbChQQ0lfTU9ERSkgJiBQQ0lfTU9ERV9QQ0lYKSB7CiAJCS8qCiAJCSAqIFBDSS1YIG1vZGUKIAkJICovCkBAIC0zNzIsNyArMzkxLDcgQEAKIAkJICovCiAJCXAycCAmPSB+UENJX1AyUF9CVVNfTUFTSzsKIAkJcDJwIHw9IChuciA8PCBQQ0lfUDJQX0JVU19PRkZTKTsKLQkJb3Jpb241eF93cml0ZShQQ0lfUDJQX0NPTkYsIHAycCk7CisJCXdyaXRlbChwMnAsIFBDSV9QMlBfQ09ORik7CiAJfQogfQogCkBAIC0zOTksNyArNDE4LDcgQEAKIAkgKiBGaXJzdCwgZGlzYWJsZSB3aW5kb3dzLgogCSAqLwogCXdpbl9lbmFibGUgPSAweGZmZmZmZmZmOwotCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9FTkFCTEUsIHdpbl9lbmFibGUpOworCXdyaXRlbCh3aW5fZW5hYmxlLCBQQ0lfQkFSX0VOQUJMRSk7CiAKIAkvKgogCSAqIFNldHVwIHdpbmRvd3MgZm9yIEREUiBiYW5rcy4KQEAgLTQyNSwxMCArNDQ0LDEwIEBACiAJCSAqLwogCQlyZWcgPSBQQ0lfQ09ORl9SRUdfQkFSX0hJX0NTKGNzLT5jc19pbmRleCk7CiAJCW9yaW9uNXhfcGNpX2h3X3dyX2NvbmYoYnVzLCAwLCBmdW5jLCByZWcsIDQsIDApOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9CQVJfU0laRV9ERFJfQ1MoY3MtPmNzX2luZGV4KSwKLQkJCQkoY3MtPnNpemUgLSAxKSAmIDB4ZmZmZmYwMDApOwotCQlvcmlvbjV4X3dyaXRlKFBDSV9CQVJfUkVNQVBfRERSX0NTKGNzLT5jc19pbmRleCksCi0JCQkJY3MtPmJhc2UgJiAweGZmZmZmMDAwKTsKKwkJd3JpdGVsKChjcy0+c2l6ZSAtIDEpICYgMHhmZmZmZjAwMCwKKwkJCVBDSV9CQVJfU0laRV9ERFJfQ1MoY3MtPmNzX2luZGV4KSk7CisJCXdyaXRlbChjcy0+YmFzZSAmIDB4ZmZmZmYwMDAsCisJCQlQQ0lfQkFSX1JFTUFQX0REUl9DUyhjcy0+Y3NfaW5kZXgpKTsKIAogCQkvKgogCQkgKiBFbmFibGUgZGVjb2RlIHdpbmRvdyBmb3IgdGhpcyBjaGlwIHNlbGVjdC4KQEAgLTQzOSw3ICs0NTgsNyBAQAogCS8qCiAJICogUmUtZW5hYmxlIGRlY29kZSB3aW5kb3dzLgogCSAqLwotCW9yaW9uNXhfd3JpdGUoUENJX0JBUl9FTkFCTEUsIHdpbl9lbmFibGUpOworCXdyaXRlbCh3aW5fZW5hYmxlLCBQQ0lfQkFSX0VOQUJMRSk7CiAKIAkvKgogCSAqIERpc2FibGUgYXV0b21hdGljIHVwZGF0ZSBvZiBhZGRyZXNzIHJlbWFwaW5nIHdoZW4gd3JpdGluZyB0byBCQVJzLgpAQCAtNTIyLDYgKzU0MSwxMSBAQAogfQogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfTUFSVkVMTCwgUENJX0FOWV9JRCwgcmNfcGNpX2ZpeHVwKTsKIAordm9pZCBfX2luaXQgb3Jpb241eF9wY2lfc2V0X2NhcmRidXNfbW9kZSh2b2lkKQoreworCW9yaW9uNXhfcGNpX2NhcmRidXNfbW9kZSA9IDE7Cit9CisKIGludCBfX2luaXQgb3Jpb241eF9wY2lfc3lzX3NldHVwKGludCBuciwgc3RydWN0IHBjaV9zeXNfZGF0YSAqc3lzKQogewogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZnhvLXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTBlMzY1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZnhvLXNldHVwLmMKQEAgLTAsMCArMSwxNjEgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1meG8tc2V0dXAuYworICoKKyAqIE1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiBTZXR1cAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbGVkcy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUkQtODhGNTE4MUwgRlhPIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFCQkweGZmODAwMDAwCisjZGVmaW5lIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUJCVNaXzhNCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA4TSBOT1IgRmxhc2ggb24gRGV2aWNlIGJ1cyBCb290IGNoaXAgc2VsZWN0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgcGh5c21hcF9mbGFzaF9kYXRhIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gUkQ4OEY1MTgxTF9GWE9fTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFJEODhGNTE4MUxfRlhPX05PUl9CT09UX0JBU0UgKworCQkJICBSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZyZDg4ZjUxODFsX2Z4b19ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnJkODhmNTE4MWxfZnhvX25vcl9ib290X2ZsYXNoX3Jlc291cmNlLAorfTsKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHJkODhmNTE4MWxfZnhvX21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX0dQSU8gfSwJCS8qIExFRDEgQ2FyZEJ1cyBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBQQ0lfaW50QSAqLworCXsgIDIsIE1QUF9HUElPIH0sCQkvKiBIYXJkIFJlc2V0IC8gRmFjdG9yeSBJbml0Ki8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogRlhTIG9yIERBQSBzZWxlY3QgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogTEVENiAtIHBob25lIExFRCAoZnJvbnQgcGFuZWwpICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIExFRDUgLSBwaG9uZSBMRUQgKGZyb250IHBhbmVsKSAqLworCXsgIDYsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBDUFUgUENJIHJlZmNsayAqLworCXsgIDcsIE1QUF9QQ0lfQ0xLIH0sCQkvKiBQQ0kvUENJZSByZWZjbGsgKi8KKwl7ICA4LCBNUFBfR1BJTyB9LAkJLyogQ2FyZEJ1cyByZXNldCAqLworCXsgIDksIE1QUF9HUElPIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBMRUQyIE1pbmlQQ0kgTEVEIChmcm9udCBwYW5lbCkgKi8KKwl7IDExLCBNUFBfR1BJTyB9LAkJLyogTGlmZWxpbmUgY29udHJvbCAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHJkODhmNTE4MWxfZnhvX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJkODhmNTE4MWxfZnhvX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIFNldHVwIGJhc2ljIE9yaW9uIGZ1bmN0aW9ucy4gTmVlZCB0byBiZSBjYWxsZWQgZWFybHkuCisJICovCisJb3Jpb241eF9pbml0KCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4MWxfZnhvX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZyZDg4ZjUxODFsX2Z4b19ldGhfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihSRDg4RjUxODFMX0ZYT19OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFJEODhGNTE4MUxfRlhPX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgxbF9meG9fbm9yX2Jvb3RfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdAorcmQ4OGY1MTgxbF9meG9fcGNpX21hcF9pcnEoc3RydWN0IHBjaV9kZXYgKmRldiwgdTggc2xvdCwgdTggcGluKQoreworCWludCBpcnE7CisKKwkvKgorCSAqIENoZWNrIGZvciBkZXZpY2VzIHdpdGggaGFyZC13aXJlZCBJUlFzLgorCSAqLworCWlycSA9IG9yaW9uNXhfcGNpX21hcF9pcnEoZGV2LCBzbG90LCBwaW4pOworCWlmIChpcnEgIT0gLTEpCisJCXJldHVybiBpcnE7CisKKwkvKgorCSAqIE1pbmktUENJIC8gQ2FyZGJ1cyBzbG90LgorCSAqLworCXJldHVybiBncGlvX3RvX2lycSgxKTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgcmQ4OGY1MTgxbF9meG9fcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHJkODhmNTE4MWxfZnhvX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY1MTgxbF9meG9fcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc19yZDg4ZjUxODFsX2Z4bygpKSB7CisJCW9yaW9uNXhfcGNpX3NldF9jYXJkYnVzX21vZGUoKTsKKwkJcGNpX2NvbW1vbl9pbml0KCZyZDg4ZjUxODFsX2Z4b19wY2kpOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNTE4MWxfZnhvX3BjaV9pbml0KTsKKworTUFDSElORV9TVEFSVChSRDg4RjUxODFMX0ZYTywgIk1hcnZlbGwgT3Jpb24tVm9JUCBGWE8gUmVmZXJlbmNlIERlc2lnbiIpCisJLyogTWFpbnRhaW5lcjogTmljb2xhcyBQaXRyZSA8bmljb0BtYXJ2ZWxsLmNvbT4gKi8KKwkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCisJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCisJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKKwkuaW5pdF9tYWNoaW5lCT0gcmQ4OGY1MTgxbF9meG9faW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4MWwtZ2Utc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU2NDQ3ZAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODFsLWdlLXNldHVwLmMKQEAgLTAsMCArMSwxNzIgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgxbC1nZS1zZXR1cC5jCisgKgorICogTWFydmVsbCBPcmlvbi1Wb0lQIEdFIFJlZmVyZW5jZSBEZXNpZ24gU2V0dXAKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2xlZHMuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFJELTg4RjUxODFMIEdFIEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoKKyAqIDE2TSBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKyNkZWZpbmUgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9CQVNFCQkweGZmMDAwMDAwCisjZGVmaW5lIFJEODhGNTE4MUxfR0VfTk9SX0JPT1RfU0laRQkJU1pfMTZNCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAxNk0gTk9SIEZsYXNoIG9uIERldmljZSBidXMgQm9vdCBjaGlwIHNlbGVjdAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSByZDg4ZjUxODFsX2dlX25vcl9ib290X2ZsYXNoX2RhdGEgPSB7CisJLndpZHRoCQk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UsCisJLmVuZAkJPSBSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UgKworCQkJICBSRDg4RjUxODFMX0dFX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaCA9IHsKKwkubmFtZQkJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmcmQ4OGY1MTgxbF9nZV9ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgcmQ4OGY1MTgxbF9nZV9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBMRUQxICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIExFRDUgKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogTEVENCAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBMRUQzICovCisJeyAgNCwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRBICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFJUQyBpbnRlcnJ1cHQgKi8KKwl7ICA2LCBNUFBfUENJX0NMSyB9LAkJLyogQ1BVIFBDSSByZWZjbGsgKi8KKwl7ICA3LCBNUFBfUENJX0NMSyB9LAkJLyogUENJL1BDSWUgcmVmY2xrICovCisJeyAgOCwgTVBQX0dQSU8gfSwJCS8qIDg4ZTYxMzEgaW50ZXJydXB0ICovCisJeyAgOSwgTVBQX0dQSU8gfSwJCS8qIEdFX1JYRVJSICovCisJeyAxMCwgTVBQX0dQSU8gfSwJCS8qIFBDSV9pbnRCICovCisJeyAxMSwgTVBQX0dQSU8gfSwJCS8qIExFRDIgKi8KKwl7IDEyLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzRdICovCisJeyAxMywgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs1XSAqLworCXsgMTQsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNl0gKi8KKwl7IDE1LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzddICovCisJeyAxNiwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs0XSAqLworCXsgMTcsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNV0gKi8KKwl7IDE4LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzZdICovCisJeyAxOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs3XSAqLworCXsgLTEgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODFsX2dlX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHJkODhmNTE4MWxfZ2VfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygiZHMxMzM4IiwgMHg2OCksCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgxbF9nZV9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZihyZDg4ZjUxODFsX2dlX21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2VoY2kwX2luaXQoKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZyZDg4ZjUxODFsX2dlX2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihSRDg4RjUxODFMX0dFX05PUl9CT09UX0JBU0UsCisJCQkJICAgUkQ4OEY1MTgxTF9HRV9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnJkODhmNTE4MWxfZ2Vfbm9yX2Jvb3RfZmxhc2gpOworCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnJkODhmNTE4MWxfZ2VfaTJjX3J0YywgMSk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0CityZDg4ZjUxODFsX2dlX3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBDYXJkYnVzIHNsb3QuCisJICovCisJaWYgKHBpbiA9PSAxKQorCQlyZXR1cm4gZ3Bpb190b19pcnEoNCk7CisJZWxzZQorCQlyZXR1cm4gZ3Bpb190b19pcnEoMTApOworfQorCitzdGF0aWMgc3RydWN0IGh3X3BjaSByZDg4ZjUxODFsX2dlX3BjaSBfX2luaXRkYXRhID0geworCS5ucl9jb250cm9sbGVycwk9IDIsCisJLnN3aXp6bGUJPSBwY2lfc3RkX3N3aXp6bGUsCisJLnNldHVwCQk9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKKwkuc2NhbgkJPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCisJLm1hcF9pcnEJPSByZDg4ZjUxODFsX2dlX3BjaV9tYXBfaXJxLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcmQ4OGY1MTgxbF9nZV9wY2lfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX3JkODhmNTE4MWxfZ2UoKSkgeworCQlvcmlvbjV4X3BjaV9zZXRfY2FyZGJ1c19tb2RlKCk7CisJCXBjaV9jb21tb25faW5pdCgmcmQ4OGY1MTgxbF9nZV9wY2kpOworCX0KKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHJkODhmNTE4MWxfZ2VfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFJEODhGNTE4MUxfR0UsICJNYXJ2ZWxsIE9yaW9uLVZvSVAgR0UgUmVmZXJlbmNlIERlc2lnbiIpCisJLyogTWFpbnRhaW5lcjogTGVubmVydCBCdXl0ZW5oZWsgPGJ1eXRlbmhAbWFydmVsbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHJkODhmNTE4MWxfZ2VfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3JkODhmNTE4Mi1zZXR1cC5jCmluZGV4IDgxYWJjMTAuLjEwYWU2MjggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC9yZDg4ZjUxODItc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvcmQ4OGY1MTgyLXNldHVwLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICogUkQtODhGNTE4MiBJbmZvCkBAIC0xMjUsNiArMTI2LDcgQEAKIAogCQlsZWRzX2V2ZW50ID0gcmQ4OGY1MTgyX2RiZ2xlZF9ldmVudDsKIAl9CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjIwLDcgKzIyMiw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODJfZXRoX2RhdGEgPSB7CiAJLnBoeV9hZGRyCT0gOCwKLQkuZm9yY2VfcGh5X2FkZHIgPSAxLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkBAIC0yMzQsMTUgKzIzNSwzNCBAQAogICogU2F0YQogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiBzdGF0aWMgc3RydWN0IG12X3NhdGFfcGxhdGZvcm1fZGF0YSByZDg4ZjUxODJfc2F0YV9kYXRhID0gewotCS5uX3BvcnRzICAgICAgICA9IDIsCisJLm5fcG9ydHMJPSAyLAogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBHZW5lcmFsIFNldHVwCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnJkODhmNTE4Ml9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcmQ4OGY1MTgyX25vcl9mbGFzaCwKK3N0YXRpYyBzdHJ1Y3Qgb3Jpb241eF9tcHBfbW9kZSByZDg4ZjUxODJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogRGVidWcgTGVkICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IFN3aXRjaCAqLworCXsgIDIsIE1QUF9VTlVTRUQgfSwKKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUlRDIEludCAqLworCXsgIDQsIE1QUF9HUElPIH0sCisJeyAgNSwgTVBQX0dQSU8gfSwKKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEEgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogUENJX2ludEIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDAgcHJlc2VuY2UgKi8KKwl7IDEzLCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBwcmVzZW5jZSAqLworCXsgMTQsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIGFjdGl2ZSAqLworCXsgMTUsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAxIGFjdGl2ZSAqLworCXsgMTYsIE1QUF9VTlVTRUQgfSwKKwl7IDE3LCBNUFBfVU5VU0VEIH0sCisJeyAxOCwgTVBQX1VOVVNFRCB9LAorCXsgMTksIE1QUF9VTlVTRUQgfSwKKwl7IC0xIH0sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcmQ4OGY1MTgyX2luaXQodm9pZCkKQEAgLTI1MiwzNSArMjcyLDkgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgdGhlIENQVSBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciBvdXIgZGV2aWNlcwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4Ml9OT1JfQk9PVF9CQVNFLAotCQkJCVJEODhGNTE4Ml9OT1JfQk9PVF9TSVpFKTsKLQlvcmlvbjV4X3NldHVwX2RldjFfd2luKFJEODhGNTE4Ml9OT1JfQkFTRSwgUkQ4OEY1MTgyX05PUl9TSVpFKTsKKwlvcmlvbjV4X21wcF9jb25mKHJkODhmNTE4Ml9tcHBfbW9kZXMpOwogCiAJLyoKLQkgKiBPcGVuIGEgc3BlY2lhbCBhZGRyZXNzIGRlY29kZSB3aW5kb3dzIGZvciB0aGUgUENJZSBXQS4KLQkgKi8KLQlvcmlvbjV4X3NldHVwX3BjaWVfd2Ffd2luKE9SSU9ONVhfUENJRV9XQV9QSFlTX0JBU0UsCi0JCQkJT1JJT041WF9QQ0lFX1dBX1NJWkUpOwotCi0JLyoKLQkgKiBTZXR1cCBNdWx0aXBsZXhpbmcgUGlucyAtLQotCSAqIE1QUFswXSBEZWJ1ZyBMZWQgKEdQSU8gLSBPdXQpCi0JICogTVBQWzFdIERlYnVnIExlZCAoR1BJTyAtIE91dCkKLQkgKiBNUFBbMl0gTi9BCi0JICogTVBQWzNdIFJUQ19JbnQgKEdQSU8gLSBJbikKLQkgKiBNUFBbNF0gR1BJTwotCSAqIE1QUFs1XSBHUElPCi0JICogTVBQWzZdIFBDSV9pbnRBIChHUElPIC0gSW4pCi0JICogTVBQWzddIFBDSV9pbnRCIChHUElPIC0gSW4pCi0JICogTVBQWzgtMTFdIE4vQQotCSAqIE1QUFsxMl0gU0FUQSAwIHByZXNlbmNlIEluZGljYXRpb24KLQkgKiBNUFBbMTNdIFNBVEEgMSBwcmVzZW5jZSBJbmRpY2F0aW9uCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlIEluZGljYXRpb24KLQkgKiBNUFBbMTVdIFNBVEEgMSBhY3RpdmUgaW5kaWNhdGlvbgotCSAqIE1QUFsxNi0xOV0gTm90IHVzZWQKIAkgKiBNUFBbMjBdIFBDSSBDbG9jayB0byBNVjg4RjUxODIKIAkgKiBNUFBbMjFdIFBDSSBDbG9jayB0byBtaW5pIFBDSSBDT04xMQogCSAqIE1QUFsyMl0gVVNCIDAgb3ZlciBjdXJyZW50IGluZGljYXRpb24KQEAgLTI4OSwxNiArMjgzLDIzIEBACiAJICogTVBQWzI1XSBVU0IgMCBvdmVyIGN1cnJlbnQgZW5hYmxlCiAJICovCiAKLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgwMDAwMDAwMyk7Ci0Jb3Jpb241eF93cml0ZShNUFBfOF8xNV9DVFJMLCAweDU1NTUwMDAwKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF8xNl8xOV9DVFJMLCAweDU1NTUpOwotCi0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4MDAwMDAwZmIpOwotCi0JcGxhdGZvcm1fYWRkX2RldmljZXMocmQ4OGY1MTgyX2RldmljZXMsIEFSUkFZX1NJWkUocmQ4OGY1MTgyX2RldmljZXMpKTsKLQlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgyX2kyY19ydGMsIDEpOworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOwogCW9yaW9uNXhfZXRoX2luaXQoJnJkODhmNTE4Ml9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOwogCW9yaW9uNXhfc2F0YV9pbml0KCZyZDg4ZjUxODJfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFJEODhGNTE4Ml9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFJEODhGNTE4Ml9OT1JfQk9PVF9TSVpFKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2MV93aW4oUkQ4OEY1MTgyX05PUl9CQVNFLCBSRDg4RjUxODJfTk9SX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcmQ4OGY1MTgyX25vcl9mbGFzaCk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcmQ4OGY1MTgyX2kyY19ydGMsIDEpOwogfQogCiBNQUNISU5FX1NUQVJUKFJEODhGNTE4MiwgIk1hcnZlbGwgT3Jpb24tTkFTIFJlZmVyZW5jZSBEZXNpZ24iKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzMjA5LXNldHVwLmMgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYwppbmRleCA5YWZiNDFlLi5hOWNlZjk3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYworKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHMyMDktc2V0dXAuYwpAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KICNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKIAogI2RlZmluZSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgMHhmNDAwMDAwMAogI2RlZmluZSBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgU1pfOE0KQEAgLTQ3LDUyICs0OSw1NCBAQAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBxbmFwX3RzMjA5X3BhcnRpdGlvbnNbXSA9IHsKIAl7Ci0JCS5uYW1lICAgICAgID0gIlUtQm9vdCIsCi0JCS5zaXplICAgICAgID0gMHgwMDA4MDAwMCwKLQkJLm9mZnNldCAgICAgPSAweDAwNzgwMDAwLAotCQkubWFza19mbGFncyA9IE1URF9XUklURUFCTEUsCisJCS5uYW1lCQk9ICJVLUJvb3QiLAorCQkuc2l6ZQkJPSAweDAwMDgwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3ODAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiS2VybmVsIiwKLQkJLnNpemUgICA9IDB4MDAyMDAwMDAsCi0JCS5vZmZzZXQgPSAwLAorCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDIwMDAwMCwKKwkJLm9mZnNldAkJPSAwLAogCX0sIHsKLQkJLm5hbWUgICA9ICJSb290RlMxIiwKLQkJLnNpemUgICA9IDB4MDA0MDAwMDAsCi0JCS5vZmZzZXQgPSAweDAwMjAwMDAwLAorCQkubmFtZQkJPSAiUm9vdEZTMSIsCisJCS5zaXplCQk9IDB4MDA0MDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDIwMDAwMCwKIAl9LCB7Ci0JCS5uYW1lICAgPSAiUm9vdEZTMiIsCi0JCS5zaXplICAgPSAweDAwMTAwMDAwLAotCQkub2Zmc2V0ID0gMHgwMDYwMDAwMCwKKwkJLm5hbWUJCT0gIlJvb3RGUzIiLAorCQkuc2l6ZQkJPSAweDAwMTAwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA2MDAwMDAsCiAJfSwgewotCQkubmFtZSAgID0gIlUtQm9vdCBDb25maWciLAotCQkuc2l6ZSAgID0gMHgwMDAyMDAwMCwKLQkJLm9mZnNldCA9IDB4MDA3NjAwMDAsCisJCS5uYW1lCQk9ICJVLUJvb3QgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDAyMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAogCX0sIHsKLQkJLm5hbWUgICAgICAgPSAiTkFTIENvbmZpZyIsCi0JCS5zaXplICAgICAgID0gMHgwMDA2MDAwMCwKLQkJLm9mZnNldCAgICAgPSAweDAwNzAwMDAwLAotCQkubWFza19mbGFncyA9IE1URF9XUklURUFCTEUsCi0JfQorCQkubmFtZQkJPSAiTkFTIENvbmZpZyIsCisJCS5zaXplCQk9IDB4MDAwNjAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDcwMDAwMCwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCiB9OwogCiBzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhID0gewotCS53aWR0aCAgICA9IDEsCi0JLnBhcnRzICAgID0gcW5hcF90czIwOV9wYXJ0aXRpb25zLAotCS5ucl9wYXJ0cyA9IEFSUkFZX1NJWkUocW5hcF90czIwOV9wYXJ0aXRpb25zKQorCS53aWR0aAkJPSAxLAorCS5wYXJ0cwkJPSBxbmFwX3RzMjA5X3BhcnRpdGlvbnMsCisJLm5yX3BhcnRzCT0gQVJSQVlfU0laRShxbmFwX3RzMjA5X3BhcnRpdGlvbnMpCiB9OwogCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIHFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlID0gewotCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAotCS5zdGFydCA9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKLQkuZW5kICAgPSBRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUgLSAxLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAk9IFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCT0gUU5BUF9UUzIwOV9OT1JfQk9PVF9CQVNFICsgUU5BUF9UUzIwOV9OT1JfQk9PVF9TSVpFIC0gMSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHMyMDlfbm9yX2ZsYXNoID0gewotCS5uYW1lICAgICAgICAgID0gInBoeXNtYXAtZmxhc2giLAotCS5pZCAgICAgICAgICAgID0gMCwKLQkuZGV2ICAgICAgICAgICA9IHsgLnBsYXRmb3JtX2RhdGEgPSAmcW5hcF90czIwOV9ub3JfZmxhc2hfZGF0YSwgfSwKLQkucmVzb3VyY2UgICAgICA9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9yZXNvdXJjZSwKLQkubnVtX3Jlc291cmNlcyA9IDEsCisJLm5hbWUJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzMjA5X25vcl9mbGFzaF9kYXRhLAorCX0sCisJLnJlc291cmNlCT0gJnFuYXBfdHMyMDlfbm9yX2ZsYXNoX3Jlc291cmNlLAorCS5udW1fcmVzb3VyY2VzCT0gMSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTY0LDEyICsxNjgsMTIgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBod19wY2kgcW5hcF90czIwOV9wY2kgX19pbml0ZGF0YSA9IHsKLQkubnJfY29udHJvbGxlcnMgPSAyLAotCS5wcmVpbml0ICAgICAgICA9IHFuYXBfdHMyMDlfcGNpX3ByZWluaXQsCi0JLnN3aXp6bGUgICAgICAgID0gcGNpX3N0ZF9zd2l6emxlLAotCS5zZXR1cCAgICAgICAgICA9IG9yaW9uNXhfcGNpX3N5c19zZXR1cCwKLQkuc2NhbiAgICAgICAgICAgPSBvcmlvbjV4X3BjaV9zeXNfc2Nhbl9idXMsCi0JLm1hcF9pcnEgICAgICAgID0gcW5hcF90czIwOV9wY2lfbWFwX2lycSwKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5wcmVpbml0CT0gcW5hcF90czIwOV9wY2lfcHJlaW5pdCwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHFuYXBfdHMyMDlfcGNpX21hcF9pcnEsCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzMjA5X3BjaV9pbml0KHZvaWQpCkBAIC0xODMsOTYgKzE4Nyw2IEBACiBzdWJzeXNfaW5pdGNhbGwocW5hcF90czIwOV9wY2lfaW5pdCk7CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogRXRoZXJuZXQKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgc3RydWN0IG12NjQzeHhfZXRoX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9ldGhfZGF0YSA9IHsKLQkucGh5X2FkZHIgICAgICAgPSA4LAotCS5mb3JjZV9waHlfYWRkciA9IDEsCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oZXhfbmliYmxlKGNoYXIgbikKLXsKLQlpZiAobiA+PSAnMCcgJiYgbiA8PSAnOScpCi0JCXJldHVybiBuIC0gJzAnOwotCi0JaWYgKG4gPj0gJ0EnICYmIG4gPD0gJ0YnKQotCQlyZXR1cm4gbiAtICdBJyArIDEwOwotCi0JaWYgKG4gPj0gJ2EnICYmIG4gPD0gJ2YnKQotCQlyZXR1cm4gbiAtICdhJyArIDEwOwotCi0JcmV0dXJuIC0xOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9oZXhfYnl0ZShjb25zdCBjaGFyICpiKQotewotCWludCBoaTsKLQlpbnQgbG87Ci0KLQloaSA9IHBhcnNlX2hleF9uaWJibGUoYlswXSk7Ci0JbG8gPSBwYXJzZV9oZXhfbmliYmxlKGJbMV0pOwotCi0JaWYgKGhpIDwgMCB8fCBsbyA8IDApCi0JCXJldHVybiAtMTsKLQotCXJldHVybiAoaGkgPDwgNCkgfCBsbzsKLX0KLQotc3RhdGljIGludCBfX2luaXQgY2hlY2tfbWFjX2FkZHIoY29uc3QgY2hhciAqYWRkcl9zdHIpCi17Ci0JdV9pbnQ4X3QgYWRkcls2XTsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspIHsKLQkJaW50IGJ5dGU7Ci0KLQkJLyoKLQkJICogRW5mb3JjZSAieHg6eHg6eHg6eHg6eHg6eHhcbiIgZm9ybWF0LgotCQkgKi8KLQkJaWYgKGFkZHJfc3RyWyhpICogMykgKyAyXSAhPSAoKGkgPCA1KSA/ICc6JyA6ICdcbicpKQotCQkJcmV0dXJuIC0xOwotCi0JCWJ5dGUgPSBwYXJzZV9oZXhfYnl0ZShhZGRyX3N0ciArIChpICogMykpOwotCQlpZiAoYnl0ZSA8IDApCi0JCQlyZXR1cm4gLTE7Ci0JCWFkZHJbaV0gPSBieXRlOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gInRzMjA5OiBmb3VuZCBldGhlcm5ldCBtYWMgYWRkcmVzcyAiKTsKLQlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQotCQlwcmludGsoIiUuMnglcyIsIGFkZHJbaV0sIChpIDwgNSkgPyAiOiIgOiAiLlxuIik7Ci0KLQltZW1jcHkocW5hcF90czIwOV9ldGhfZGF0YS5tYWNfYWRkciwgYWRkciwgNik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoKLSAqIFRoZSAnTkFTIENvbmZpZycgZmxhc2ggcGFydGl0aW9uIGhhcyBhbiBleHQyIGZpbGVzeXN0ZW0gd2hpY2gKLSAqIGNvbnRhaW5zIGEgZmlsZSB0aGF0IGhhcyB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gcGxhaW4gdGV4dAotICogKGZvcm1hdCAieHg6eHg6eHg6eHg6eHg6eHhcbiIuKQotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgdHMyMDlfZmluZF9tYWNfYWRkcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcjsKLQotCWZvciAoYWRkciA9IDB4MDA3MDAwMDA7IGFkZHIgPCAweDAwNzYwMDAwOyBhZGRyICs9IDEwMjQpIHsKLQkJY2hhciAqbm9yX3BhZ2U7Ci0JCWludCByZXQgPSAwOwotCi0JCW5vcl9wYWdlID0gaW9yZW1hcChRTkFQX1RTMjA5X05PUl9CT09UX0JBU0UgKyBhZGRyLCAxMDI0KTsKLQkJaWYgKG5vcl9wYWdlICE9IE5VTEwpIHsKLQkJCXJldCA9IGNoZWNrX21hY19hZGRyKG5vcl9wYWdlKTsKLQkJCWlvdW5tYXAobm9yX3BhZ2UpOwotCQl9Ci0KLQkJaWYgKHJldCA9PSAwKQotCQkJYnJlYWs7Ci0JfQotfQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFJUQyBTMzUzOTBBIG9uIEkyQyBidXMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC0yODAsNyArMTk0LDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHFuYXBfdHMyMDlfaTJjX3J0YyA9IHsKIAlJMkNfQk9BUkRfSU5GTygiczM1MzkwYSIsIDB4MzApLAotICAgICAgIC5pcnEgICAgICAgICA9IDAsCisJLmlycQk9IDAsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMjk3LDcwICsyMTEsNjMgQEAKIAkJLmdwaW8JCT0gUU5BUF9UUzIwOV9HUElPX0tFWV9NRURJQSwKIAkJLmRlc2MJCT0gIlVTQiBDb3B5IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9LAotCXsKKwl9LCB7CiAJCS5jb2RlCQk9IEtFWV9QT1dFUiwKIAkJLmdwaW8JCT0gUU5BUF9UUzIwOV9HUElPX0tFWV9SRVNFVCwKIAkJLmRlc2MJCT0gIlJlc2V0IEJ1dHRvbiIsCiAJCS5hY3RpdmVfbG93CT0gMSwKLQl9CisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9idXR0b25fZGF0YSA9IHsKIAkuYnV0dG9ucwk9IHFuYXBfdHMyMDlfYnV0dG9ucywKLQkubmJ1dHRvbnMgICAgICAgPSBBUlJBWV9TSVpFKHFuYXBfdHMyMDlfYnV0dG9ucyksCisJLm5idXR0b25zCT0gQVJSQVlfU0laRShxbmFwX3RzMjA5X2J1dHRvbnMpLAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcW5hcF90czIwOV9idXR0b25fZGV2aWNlID0gewogCS5uYW1lCQk9ICJncGlvLWtleXMiLAogCS5pZAkJPSAtMSwKIAkubnVtX3Jlc291cmNlcwk9IDAsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhICA9ICZxbmFwX3RzMjA5X2J1dHRvbl9kYXRhLCB9LAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzMjA5X2J1dHRvbl9kYXRhLAorCX0sCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFNBVEEKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgcW5hcF90czIwOV9zYXRhX2RhdGEgPSB7Ci0JLm5fcG9ydHMgICAgICAgID0gMiwKKwkubl9wb3J0cwk9IDIsCiB9OwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAogICogR2VuZXJhbCBTZXR1cAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpxbmFwX3RzMjA5X2RldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZxbmFwX3RzMjA5X25vcl9mbGFzaCwKLQkmcW5hcF90czIwOV9idXR0b25fZGV2aWNlLAorc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHRzMjA5X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBVU0IgY29weSBidXR0b24gKi8KKwl7ICAyLCBNUFBfR1BJTyB9LAkJLyogTG9hZCBkZWZhdWx0cyBidXR0b24gKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogR1BJTyBSVEMgKi8KKwl7ICA0LCBNUFBfVU5VU0VEIH0sCisJeyAgNSwgTVBQX1VOVVNFRCB9LAorCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBQQ0kgSW50IEEgKi8KKwl7ICA3LCBNUFBfR1BJTyB9LAkJLyogUENJIEludCBCICovCisJeyAgOCwgTVBQX1VOVVNFRCB9LAorCXsgIDksIE1QUF9VTlVTRUQgfSwKKwl7IDEwLCBNUFBfVU5VU0VEIH0sCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9TQVRBX0xFRCB9LAkJLyogU0FUQSAwIHByZXNlbmNlICovCisJeyAxMywgTVBQX1NBVEFfTEVEIH0sCQkvKiBTQVRBIDEgcHJlc2VuY2UgKi8KKwl7IDE0LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMCBhY3RpdmUgKi8KKwl7IDE1LCBNUFBfU0FUQV9MRUQgfSwJCS8qIFNBVEEgMSBhY3RpdmUgKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9HUElPIH0sCQkvKiBTV19SU1QgKi8KKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAogfTsKIAotLyoKLSAqIFFOQVAgVFMtWzEyXTA5IHNwZWNpZmljIHBvd2VyIG9mZiBtZXRob2QgdmlhIFVBUlQxLWF0dGFjaGVkIFBJQwotICovCi0KLSNkZWZpbmUgVUFSVDFfUkVHKHgpICAoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCi0KLXN0YXRpYyB2b2lkIHFuYXBfdHMyMDlfcG93ZXJfb2ZmKHZvaWQpCi17Ci0JLyogMTkyMDAgYmF1ZCBkaXZpc29yICovCi0JY29uc3QgdW5zaWduZWQgZGl2aXNvciA9ICgoT1JJT041WF9UQ0xLICsgKDggKiAxOTIwMCkpIC8gKDE2ICogMTkyMDApKTsKLQotCXByX2luZm8oIiVzOiB0cmlnZ2VyaW5nIHBvd2VyLW9mZi4uLlxuIiwgX19mdW5jX18pOwotCi0JLyogaGlqYWNrIHVhcnQxIGFuZCByZXNldCBpbnRvIHNhbmUgc3RhdGUgKDE5MjAwLDhuMSkgKi8KLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhMQ1IpLCAweDgzKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhETEwpLCBkaXZpc29yICYgMHhmZik7Ci0Jb3Jpb241eF93cml0ZShVQVJUMV9SRUcoRExNKSwgKGRpdmlzb3IgPj4gOCkgJiAweGZmKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhMQ1IpLCAweDAzKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhJRVIpLCAweDAwKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhGQ1IpLCAweDAwKTsKLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhNQ1IpLCAweDAwKTsKLQotCS8qIHNlbmQgdGhlIHBvd2VyLW9mZiBjb21tYW5kICdBJyB0byBQSUMgKi8KLQlvcmlvbjV4X3dyaXRlKFVBUlQxX1JFRyhUWCksICdBJyk7Ci19Ci0KIHN0YXRpYyB2b2lkIF9faW5pdCBxbmFwX3RzMjA5X2luaXQodm9pZCkKIHsKIAkvKgpAQCAtMzY4LDUxICsyNzUsMzMgQEAKIAkgKi8KIAlvcmlvbjV4X2luaXQoKTsKIAotCS8qCi0JICogU2V0dXAgZmxhc2ggbWFwcGluZwotCSAqLwotCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKLQkJCSAgICBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUpOworCW9yaW9uNXhfbXBwX2NvbmYodHMyMDlfbXBwX21vZGVzKTsKIAogCS8qCi0JICogT3BlbiBhIHNwZWNpYWwgYWRkcmVzcyBkZWNvZGUgd2luZG93cyBmb3IgdGhlIFBDSWUgV0EuCi0JICovCi0Jb3Jpb241eF9zZXR1cF9wY2llX3dhX3dpbihPUklPTjVYX1BDSUVfV0FfUEhZU19CQVNFLAotCQkJCU9SSU9ONVhfUENJRV9XQV9TSVpFKTsKLQotCS8qCi0JICogU2V0dXAgTXVsdGlwbGV4aW5nIFBpbnMgLS0KLQkgKiBNUFBbMF0gUmVzZXJ2ZWQKLQkgKiBNUFBbMV0gVVNCIGNvcHkgYnV0dG9uICgwIGFjdGl2ZSkKLQkgKiBNUFBbMl0gTG9hZCBkZWZhdWx0cyBidXR0b24gKDAgYWN0aXZlKQotCSAqIE1QUFszXSBHUElPIFJUQwotCSAqIE1QUFs0LTVdIFJlc2VydmVkCi0JICogTVBQWzZdIFBDSSBJbnQgQQotCSAqIE1QUFs3XSBQQ0kgSW50IEIKLQkgKiBNUFBbOC0xMV0gUmVzZXJ2ZWQKLQkgKiBNUFBbMTJdIFNBVEEgMCBwcmVzZW5jZQotCSAqIE1QUFsxM10gU0FUQSAxIHByZXNlbmNlCi0JICogTVBQWzE0XSBTQVRBIDAgYWN0aXZlCi0JICogTVBQWzE1XSBTQVRBIDEgYWN0aXZlCi0JICogTVBQWzE2XSBVQVJUMSBSWEQKLQkgKiBNUFBbMTddIFVBUlQxIFRYRAotCSAqIE1QUFsxOF0gU1dfUlNUICgwIGFjdGl2ZSkKLQkgKiBNUFBbMTldIFJlc2VydmVkCiAJICogTVBQWzIwXSBQQ0kgY2xvY2sgMAogCSAqIE1QUFsyMV0gUENJIGNsb2NrIDEKIAkgKiBNUFBbMjJdIFVTQiAwIG92ZXIgY3VycmVudAogCSAqIE1QUFsyMy0yNV0gUmVzZXJ2ZWQKIAkgKi8KLQlvcmlvbjV4X3dyaXRlKE1QUF8wXzdfQ1RSTCwgMHgzKTsKLQlvcmlvbjV4X3dyaXRlKE1QUF84XzE1X0NUUkwsIDB4NTU1NTAwMDApOwotCW9yaW9uNXhfd3JpdGUoTVBQXzE2XzE5X0NUUkwsIDB4NTUwMCk7Ci0Jb3Jpb241eF9ncGlvX3NldF92YWxpZF9waW5zKDB4M2NjMGZmZik7CiAKLQkvKiByZWdpc3RlciB0czIwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCi0JcG1fcG93ZXJfb2ZmID0gcW5hcF90czIwOV9wb3dlcl9vZmY7CisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9laGNpMV9pbml0KCk7CisJcW5hcF90c3gwOV9maW5kX21hY19hZGRyKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSArCisJCQkJIHFuYXBfdHMyMDlfcGFydGl0aW9uc1s1XS5vZmZzZXQsCisJCQkJIHFuYXBfdHMyMDlfcGFydGl0aW9uc1s1XS5zaXplKTsKKwlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzeDA5X2V0aF9kYXRhKTsKKwlvcmlvbjV4X2kyY19pbml0KCk7CisJb3Jpb241eF9zYXRhX2luaXQoJnFuYXBfdHMyMDlfc2F0YV9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKIAotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHFuYXBfdHMyMDlfZGV2aWNlcywKLQkJCQlBUlJBWV9TSVpFKHFuYXBfdHMyMDlfZGV2aWNlcykpOworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFFOQVBfVFMyMDlfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBRTkFQX1RTMjA5X05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcW5hcF90czIwOV9ub3JfZmxhc2gpOworCisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzMjA5X2J1dHRvbl9kZXZpY2UpOwogCiAJLyogR2V0IFJUQyBJUlEgYW5kIHJlZ2lzdGVyIHRoZSBjaGlwICovCiAJaWYgKGdwaW9fcmVxdWVzdChUUzIwOV9SVENfR1BJTywgInJ0YyIpID09IDApIHsKQEAgLTQyNSwxNCArMzE0LDEyIEBACiAJCXByX3dhcm5pbmcoInFuYXBfdHMyMDlfaW5pdDogZmFpbGVkIHRvIGdldCBSVEMgSVJRXG4iKTsKIAlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCAmcW5hcF90czIwOV9pMmNfcnRjLCAxKTsKIAotCXRzMjA5X2ZpbmRfbWFjX2FkZHIoKTsKLQlvcmlvbjV4X2V0aF9pbml0KCZxbmFwX3RzMjA5X2V0aF9kYXRhKTsKLQotCW9yaW9uNXhfc2F0YV9pbml0KCZxbmFwX3RzMjA5X3NhdGFfZGF0YSk7CisJLyogcmVnaXN0ZXIgdHN4MDkgc3BlY2lmaWMgcG93ZXItb2ZmIG1ldGhvZCAqLworCXBtX3Bvd2VyX29mZiA9IHFuYXBfdHN4MDlfcG93ZXJfb2ZmOwogfQogCiBNQUNISU5FX1NUQVJUKFRTMjA5LCAiUU5BUCBUUy0xMDkvVFMtMjA5IikKLQkvKiBNYWludGFpbmVyOiAgQnlyb24gQnJhZGxleSA8Ynlyb24uYmJyYWRsZXlAZ21haWwuY29tPiAqLworCS8qIE1haW50YWluZXI6IEJ5cm9uIEJyYWRsZXkgPGJ5cm9uLmJicmFkbGV5QGdtYWlsLmNvbT4gKi8KIAkucGh5c19pbwk9IE9SSU9ONVhfUkVHU19QSFlTX0JBU0UsCiAJLmlvX3BnX29mZnN0CT0gKChPUklPTjVYX1JFR1NfVklSVF9CQVNFKSA+PiAxOCkgJiAweEZGRkMsCiAJLmJvb3RfcGFyYW1zCT0gMHgwMDAwMDEwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czQwOS1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNDA5LXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJmMGZmMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90czQwOS1zZXR1cC5jCkBAIC0wLDAgKzEsMjczIEBACisvKgorICogUU5BUCBUUy00MDkgQm9hcmQgU2V0dXAKKyAqCisgKiBNYWludGFpbmVyOiBTeWx2ZXIgQnJ1bmVhdSA8c3lsdmVyLmJydW5lYXVAZ21haWwuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KKyAqIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvcGh5c21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L212NjQzeHhfZXRoLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpb19rZXlzLmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9wY2kuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CisjaW5jbHVkZSAiY29tbW9uLmgiCisjaW5jbHVkZSAibXBwLmgiCisjaW5jbHVkZSAidHN4MDktY29tbW9uLmgiCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUU5BUCBUUy00MDkgSW5mbworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgKiBRTkFQIFRTLTQwOSBoYXJkd2FyZSA6CisgKiAtIE1hcnZlbGwgODhGNTI4MS1EMAorICogLSBNYXJ2ZWxsIDg4U1g3MDQyIFNBVEEgY29udHJvbGxlciAoUENJZSkKKyAqIC0gTWFydmVsbCA4OEUxMTE4IEdpZ2FiaXQgRXRoZXJuZXQgUEhZCisgKiAtIFJUQyBTMzUzOTBBIChAMHgzMCkgb24gSTJDIGJ1cworICogLSA4TUIgTk9SIGZsYXNoCisgKiAtIDI1Nk1CIG9mIEREUi0yIFJBTQorICovCisKKy8qCisgKiA4TUIgTk9SIGZsYXNoIERldmljZSBidXMgYm9vdCBjaGlwIHNlbGVjdAorICovCisKKyNkZWZpbmUgUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFIDB4ZmY4MDAwMDAKKyNkZWZpbmUgUU5BUF9UUzQwOV9OT1JfQk9PVF9TSVpFIFNaXzhNCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiA4TWlCIE5PUiBmbGFzaC4gVGhlIHN0cnVjdCBtdGRfcGFydGl0aW9uIGlzIG5vdCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUKKyAqICAgICBwYXJ0aXRpb25zIG9uIHRoZSBkZXZpY2UgYmVjYXVzZSB3ZSB3YW50IHRvIGtlZXAgY29tcGF0YWJpbGl0eSB3aXRoCisgKiAgICAgZXhpc3RpbmcgUU5BUCBmaXJtd2FyZS4KKyAqCisgKiBMYXlvdXQgYXMgdXNlZCBieSBRTkFQOgorICogIFsyXSAweDAwMDAwMDAwLTB4MDAyMDAwMDAgOiAiS2VybmVsIgorICogIFszXSAweDAwMjAwMDAwLTB4MDA2MDAwMDAgOiAiUm9vdEZTMSIKKyAqICBbNF0gMHgwMDYwMDAwMC0weDAwNzAwMDAwIDogIlJvb3RGUzIiCisgKiAgWzZdIDB4MDA3MDAwMDAtMHgwMDc2MDAwMCA6ICJOQVMgQ29uZmlnIiAocmVhZC1vbmx5KQorICogIFs1XSAweDAwNzYwMDAwLTB4MDA3ODAwMDAgOiAiVS1Cb290IENvbmZpZyIKKyAqICBbMV0gMHgwMDc4MDAwMC0weDAwODAwMDAwIDogIlUtQm9vdCIgKHJlYWQtb25seSkKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gcW5hcF90czQwOV9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQkJPSAiVS1Cb290IiwKKwkJLnNpemUJCT0gMHgwMDA4MDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzgwMDAwLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsCisJfSwgeworCQkubmFtZQkJPSAiS2VybmVsIiwKKwkJLnNpemUJCT0gMHgwMDIwMDAwMCwKKwkJLm9mZnNldAkJPSAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIlJvb3RGUzEiLAorCQkuc2l6ZQkJPSAweDAwNDAwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDAyMDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAiUm9vdEZTMiIsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJCS5vZmZzZXQJCT0gMHgwMDYwMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJVLUJvb3QgQ29uZmlnIiwKKwkJLnNpemUJCT0gMHgwMDAyMDAwMCwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIk5BUyBDb25maWciLAorCQkuc2l6ZQkJPSAweDAwMDYwMDAwLAorCQkub2Zmc2V0CQk9IDB4MDA3MDAwMDAsCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgcW5hcF90czQwOV9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gcW5hcF90czQwOV9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUocW5hcF90czQwOV9wYXJ0aXRpb25zKQorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBxbmFwX3RzNDA5X25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJPSBRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UsCisJLmVuZAk9IFFOQVBfVFM0MDlfTk9SX0JPT1RfQkFTRSArIFFOQVBfVFM0MDlfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBxbmFwX3RzNDA5X25vcl9mbGFzaCA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IDAsCisJLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJnFuYXBfdHM0MDlfbm9yX2ZsYXNoX2RhdGEsIH0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZxbmFwX3RzNDA5X25vcl9mbGFzaF9yZXNvdXJjZSwKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUENJCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGludCBfX2luaXQgcW5hcF90czQwOV9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogUENJIGlzbid0IHVzZWQgb24gdGhlIFRTLTQwOQorCSAqLworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgcW5hcF90czQwOV9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gcW5hcF90czQwOV9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHM0MDlfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc190czQwOSgpKQorCQlwY2lfY29tbW9uX2luaXQoJnFuYXBfdHM0MDlfcGNpKTsKKworCXJldHVybiAwOworfQorCitzdWJzeXNfaW5pdGNhbGwocW5hcF90czQwOV9wY2lfaW5pdCk7CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogUlRDIFMzNTM5MEEgb24gSTJDIGJ1cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgVFM0MDlfUlRDX0dQSU8JMTAKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBfX2luaXRkYXRhIHFuYXBfdHM0MDlfaTJjX3J0YyA9IHsKKwlJMkNfQk9BUkRfSU5GTygiczM1MzkwYSIsIDB4MzApLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdQSU8gQXR0YWNoZWQgS2V5cworICogICAgIFBvd2VyIGJ1dHRvbiBpcyBhdHRhY2hlZCB0byB0aGUgUElDIG1pY3JvY29udHJvbGxlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgUU5BUF9UUzQwOV9HUElPX0tFWV9NRURJQQkxNQorCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19idXR0b24gcW5hcF90czQwOV9idXR0b25zW10gPSB7CisJeworCQkuY29kZQkJPSBLRVlfUkVTVEFSVCwKKwkJLmdwaW8JCT0gUU5BUF9UUzQwOV9HUElPX0tFWV9NRURJQSwKKwkJLmRlc2MJCT0gIlVTQiBDb3B5IEJ1dHRvbiIsCisJCS5hY3RpdmVfbG93CT0gMSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBxbmFwX3RzNDA5X2J1dHRvbl9kYXRhID0geworCS5idXR0b25zCT0gcW5hcF90czQwOV9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUocW5hcF90czQwOV9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHFuYXBfdHM0MDlfYnV0dG9uX2RldmljZSA9IHsKKwkubmFtZQkJPSAiZ3Bpby1rZXlzIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZxbmFwX3RzNDA5X2J1dHRvbl9kYXRhLAorCX0sCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEdlbmVyYWwgU2V0dXAKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHRzNDA5X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9VTlVTRUQgfSwKKwl7ICAyLCBNUFBfVU5VU0VEIH0sCisJeyAgMywgTVBQX1VOVVNFRCB9LAorCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBIREQgMSBzdGF0dXMgKi8KKwl7ICA1LCBNUFBfR1BJTyB9LAkJLyogSEREIDIgc3RhdHVzICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIEhERCAzIHN0YXR1cyAqLworCXsgIDcsIE1QUF9HUElPIH0sCQkvKiBIREQgNCBzdGF0dXMgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9HUElPIH0sCQkvKiBSVEMgaW50ICovCisJeyAxMSwgTVBQX1VOVVNFRCB9LAorCXsgMTIsIE1QUF9VTlVTRUQgfSwKKwl7IDEzLCBNUFBfVU5VU0VEIH0sCisJeyAxNCwgTVBQX0dQSU8gfSwJCS8qIFNXX1JTVCAqLworCXsgMTUsIE1QUF9HUElPIH0sCQkvKiBVU0IgY29weSBidXR0b24gKi8KKwl7IDE2LCBNUFBfVUFSVCB9LAkJLyogVUFSVDEgUlhEICovCisJeyAxNywgTVBQX1VBUlQgfSwJCS8qIFVBUlQxIFRYRCAqLworCXsgMTgsIE1QUF9VTlVTRUQgfSwKKwl7IDE5LCBNUFBfVU5VU0VEIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHFuYXBfdHM0MDlfaW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYodHM0MDlfbXBwX21vZGVzKTsKKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCXFuYXBfdHN4MDlfZmluZF9tYWNfYWRkcihRTkFQX1RTNDA5X05PUl9CT09UX0JBU0UgKworCQkJCSBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbNV0ub2Zmc2V0LAorCQkJCSBxbmFwX3RzNDA5X3BhcnRpdGlvbnNbNV0uc2l6ZSk7CisJb3Jpb241eF9ldGhfaW5pdCgmcW5hcF90c3gwOV9ldGhfZGF0YSk7CisJb3Jpb241eF9pMmNfaW5pdCgpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oUU5BUF9UUzQwOV9OT1JfQk9PVF9CQVNFLAorCQkJCSAgIFFOQVBfVFM0MDlfTk9SX0JPT1RfU0laRSk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZxbmFwX3RzNDA5X25vcl9mbGFzaCk7CisKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnFuYXBfdHM0MDlfYnV0dG9uX2RldmljZSk7CisKKwkvKiBHZXQgUlRDIElSUSBhbmQgcmVnaXN0ZXIgdGhlIGNoaXAgKi8KKwlpZiAoZ3Bpb19yZXF1ZXN0KFRTNDA5X1JUQ19HUElPLCAicnRjIikgPT0gMCkgeworCQlpZiAoZ3Bpb19kaXJlY3Rpb25faW5wdXQoVFM0MDlfUlRDX0dQSU8pID09IDApCisJCQlxbmFwX3RzNDA5X2kyY19ydGMuaXJxID0gZ3Bpb190b19pcnEoVFM0MDlfUlRDX0dQSU8pOworCQllbHNlCisJCQlncGlvX2ZyZWUoVFM0MDlfUlRDX0dQSU8pOworCX0KKwlpZiAocW5hcF90czQwOV9pMmNfcnRjLmlycSA9PSAwKQorCQlwcl93YXJuaW5nKCJxbmFwX3RzNDA5X2luaXQ6IGZhaWxlZCB0byBnZXQgUlRDIElSUVxuIik7CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgJnFuYXBfdHM0MDlfaTJjX3J0YywgMSk7CisKKwkvKiByZWdpc3RlciB0c3gwOSBzcGVjaWZpYyBwb3dlci1vZmYgbWV0aG9kICovCisJcG1fcG93ZXJfb2ZmID0gcW5hcF90c3gwOV9wb3dlcl9vZmY7Cit9CisKK01BQ0hJTkVfU1RBUlQoVFM0MDksICJRTkFQIFRTLTQwOSIpCisJLyogTWFpbnRhaW5lcjogIFN5bHZlciBCcnVuZWF1IDxzeWx2ZXIuYnJ1bmVhdUBnbWFpbC5jb20+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHFuYXBfdHM0MDlfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNzh4eC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzNzh4eC1zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3ZTlmMzUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKQEAgLTAsMCArMSwyNzcgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvdHM3OHh4LXNldHVwLmMKKyAqCisgKiBNYWludGFpbmVyOiBBbGV4YW5kZXIgQ2xvdXRlciA8YWxleEBkaWdyaXoub3JnLnVrPgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L200OHQ4Ni5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBUUy03OHh4IEluZm8KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICogRlBHQSAtIGxpdmVzIHdoZXJlIHRoZSBQQ0kgYnVzIHdvdWxkIGJlIGF0IE9SSU9ONVhfUENJX01FTV9QSFlTX0JBU0UKKyAqLworI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1BIWVNfQkFTRQkweGU4MDAwMDAwCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFCTB4ZmY5MDAwMDAKKyNkZWZpbmUgVFM3OFhYX0ZQR0FfUkVHU19TSVpFCQlTWl8xTQorCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfU1lTQ09OX0lECShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDAwKQorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RJCShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDA0KQorI2RlZmluZSBUUzc4WFhfRlBHQV9SRUdTX1NZU0NPTl9MQ0RPCShUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSB8IDB4MDA4KQorCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0NUUkwJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHg4MDgpCisjZGVmaW5lIFRTNzhYWF9GUEdBX1JFR1NfUlRDX0RBVEEJKFRTNzhYWF9GUEdBX1JFR1NfVklSVF9CQVNFIHwgMHg4MGMpCisKKy8qCisgKiA1MTJrQiBOT1IgZmxhc2ggRGV2aWNlCisgKi8KKyNkZWZpbmUgVFM3OFhYX05PUl9CT09UX0JBU0UJCTB4ZmY4MDAwMDAKKyNkZWZpbmUgVFM3OFhYX05PUl9CT09UX1NJWkUJCVNaXzUxMksKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBJL08gQWRkcmVzcyBNYXBwaW5nCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgdHM3OHh4X2lvX2Rlc2NbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnZpcnR1YWwJPSBUUzc4WFhfRlBHQV9SRUdTX1ZJUlRfQkFTRSwKKwkJLnBmbgkJPSBfX3BoeXNfdG9fcGZuKFRTNzhYWF9GUEdBX1JFR1NfUEhZU19CQVNFKSwKKwkJLmxlbmd0aAkJPSBUUzc4WFhfRlBHQV9SRUdTX1NJWkUsCisJCS50eXBlCQk9IE1UX0RFVklDRSwKKwl9LAorfTsKKwordm9pZCBfX2luaXQgdHM3OHh4X21hcF9pbyh2b2lkKQoreworCW9yaW9uNXhfbWFwX2lvKCk7CisJaW90YWJsZV9pbml0KHRzNzh4eF9pb19kZXNjLCBBUlJBWV9TSVpFKHRzNzh4eF9pb19kZXNjKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogNTEya0IgTk9SIEJvb3QgRmxhc2ggLSB0aGUgY2hpcCBpcyBhIE0yNVA0MAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gdHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlc1tdID0geworCXsKKwkJLm5hbWUJCT0gInRzLWJvb3Ryb20iLAorCQkub2Zmc2V0CQk9IDAsCisJCS8qIG9ubHkgdGhlIGZpcnN0IDI1NmtCIGlzIHVzZWQgKi8KKwkJLnNpemUJCT0gU1pfMjU2SywKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gdHM3OHh4X25vcl9ib290X2ZsYXNoX3Jlc291cmNlcywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHRzNzh4eF9ub3JfYm9vdF9mbGFzaF9yZXNvdXJjZXMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UgPSB7CisJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLAorCS5zdGFydAkJPSBUUzc4WFhfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFRTNzhYWF9OT1JfQk9PVF9CQVNFICsgVFM3OFhYX05PUl9CT09UX1NJWkUgLSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdHM3OHh4X25vcl9ib290X2ZsYXNoID0geworCS5uYW1lCQk9ICJwaHlzbWFwLWZsYXNoIiwKKwkuaWQJCT0gLTEsCisJLmRldgkJPSB7CisJCS5wbGF0Zm9ybV9kYXRhCT0gJnRzNzh4eF9ub3JfYm9vdF9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJPSAxLAorCS5yZXNvdXJjZQk9ICZ0czc4eHhfbm9yX2Jvb3RfZmxhc2hfcmVzb3VyY2UsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIEV0aGVybmV0CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSB0czc4eHhfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gMCwKKwkuZm9yY2VfcGh5X2FkZHIgPSAxLAorfTsKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBSVEMgTTQ4VDg2IC0gbmlja2VkXldib3Jyb3dlZCBmcm9tIGFyY2gvYXJtL21hY2gtZXA5M3h4L3RzNzJ4eC5jCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyNpZmRlZiBDT05GSUdfUlRDX0RSVl9NNDhUODYKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHRzNzh4eF9ydGNfcmVhZGJ5dGUodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXdyaXRlYihhZGRyLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19DVFJMKTsKKwlyZXR1cm4gcmVhZGIoVFM3OFhYX0ZQR0FfUkVHU19SVENfREFUQSk7Cit9CisKK3N0YXRpYyB2b2lkIHRzNzh4eF9ydGNfd3JpdGVieXRlKHVuc2lnbmVkIGNoYXIgdmFsdWUsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwl3cml0ZWIoYWRkciwgVFM3OFhYX0ZQR0FfUkVHU19SVENfQ1RSTCk7CisJd3JpdGViKHZhbHVlLCBUUzc4WFhfRlBHQV9SRUdTX1JUQ19EQVRBKTsKK30KKworc3RhdGljIHN0cnVjdCBtNDh0ODZfb3BzIHRzNzh4eF9ydGNfb3BzID0geworCS5yZWFkYnl0ZQk9IHRzNzh4eF9ydGNfcmVhZGJ5dGUsCisJLndyaXRlYnl0ZQk9IHRzNzh4eF9ydGNfd3JpdGVieXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdHM3OHh4X3J0Y19kZXZpY2UgPSB7CisJLm5hbWUJCT0gInJ0Yy1tNDh0ODYiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmdHM3OHh4X3J0Y19vcHMsCisJfSwKKwkubnVtX3Jlc291cmNlcwk9IDAsCit9OworCisvKgorICogVFMgdXNlcyBzb21lIG9mIHRoZSB1c2VyIHN0b3JhZ2Ugc3BhY2Ugb24gdGhlIFJUQyBjaGlwIHNvIHNlZSBpZiBpdCBpcworICogcHJlc2VudDsgYXMgaXQncyBhbiBvcHRpb25hbCBmZWF0dXJlIGF0IHB1cmNoYXNlIHRpbWUgYW5kIG5vdCBhbGwgYm9hcmRzCisgKiB3aWxsIGhhdmUgaXQgcHJlc2VudAorICoKKyAqIEkndmUgdXNlZCB0aGUgbWV0aG9kIFRTIHVzZSBpbiB0aGVpciBydGM3ODAwLmMgZXhhbXBsZSBmb3IgdGhlIGRldGVjdGlvbgorICoKKyAqIFRPRE86IHRyYWNrIGRvd24gYSBndWluZWEgcGlnIHdpdGhvdXQgYW4gUlRDIHRvIHNlZSBpZiB3ZSBjYW4gd29yayBvdXQgYQorICogCQliZXR0ZXIgUlRDIGRldGVjdGlvbiByb3V0aW5lCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHRzNzh4eF9ydGNfaW5pdCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgdG1wX3J0YzAsIHRtcF9ydGMxOworCisJdG1wX3J0YzAgPSB0czc4eHhfcnRjX3JlYWRieXRlKDEyNik7CisJdG1wX3J0YzEgPSB0czc4eHhfcnRjX3JlYWRieXRlKDEyNyk7CisKKwl0czc4eHhfcnRjX3dyaXRlYnl0ZSgweDAwLCAxMjYpOworCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4NTUsIDEyNyk7CisJaWYgKHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI3KSA9PSAweDU1KSB7CisJCXRzNzh4eF9ydGNfd3JpdGVieXRlKDB4YWEsIDEyNyk7CisJCWlmICh0czc4eHhfcnRjX3JlYWRieXRlKDEyNykgPT0gMHhhYQorCQkJCSYmIHRzNzh4eF9ydGNfcmVhZGJ5dGUoMTI2KSA9PSAweDAwKSB7CisJCQl0czc4eHhfcnRjX3dyaXRlYnl0ZSh0bXBfcnRjMCwgMTI2KTsKKwkJCXRzNzh4eF9ydGNfd3JpdGVieXRlKHRtcF9ydGMxLCAxMjcpOworCQkJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZ0czc4eHhfcnRjX2RldmljZSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCXJldHVybiAwOworfTsKKyNlbHNlCitzdGF0aWMgaW50IF9faW5pdCB0czc4eHhfcnRjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIFNBVEEKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworc3RhdGljIHN0cnVjdCBtdl9zYXRhX3BsYXRmb3JtX2RhdGEgdHM3OHh4X3NhdGFfZGF0YSA9IHsKKwkubl9wb3J0cwk9IDIsCit9OworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHByaW50IHNvbWUgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBib2FyZAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgdm9pZCBfX2luaXQgdHM3OHh4X3ByaW50X2JvYXJkX2lkKHZvaWQpCit7CisJdW5zaWduZWQgaW50IGJvYXJkX2luZm87CisKKwlib2FyZF9pbmZvID0gcmVhZGwoVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fSUQpOworCXByaW50ayhLRVJOX0lORk8gIlRTLTc4eHggSW5mbzogRlBHQSByZXY9JS4yeCwgQm9hcmQgTWFnaWM9JS42eCwgIiwKKwkJCQlib2FyZF9pbmZvICYgMHhmZiwKKwkJCQkoYm9hcmRfaW5mbyA+PiA4KSAmIDB4ZmZmZmZmKTsKKwlib2FyZF9pbmZvID0gcmVhZGwoVFM3OFhYX0ZQR0FfUkVHU19TWVNDT05fTENESSk7CisJcHJpbnRrKCJKUDE9JWQsIEpQMj0lZFxuIiwKKwkJCQkoYm9hcmRfaW5mbyA+PiAzMCkgJiAweDEsCisJCQkJKGJvYXJkX2luZm8gPj4gMzEpICYgMHgxKTsKK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogR2VuZXJhbCBTZXR1cAorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgdHM3OHh4X21wcF9tb2Rlc1tdIF9faW5pdGRhdGEgPSB7CisJeyAgMCwgTVBQX1VOVVNFRCB9LAorCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBKVEFHIENsb2NrICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEpUQUcgRGF0YSBJbiAqLworCXsgIDMsIE1QUF9HUElPIH0sCQkvKiBMYXQgRUNQMiAyNTYgRlBHQSAtIFBCMkIgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogSlRBRyBEYXRhIE91dCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiBKVEFHIFRNUyAqLworCXsgIDYsIE1QUF9HUElPIH0sCQkvKiBMYXQgRUNQMiAyNTYgRlBHQSAtIFBCMzFBX0NMSzQrICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIExhdCBFQ1AyIDI1NiBGUEdBIC0gUEIyMkIgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCisJeyAgOSwgTVBQX1VOVVNFRCB9LAorCXsgMTAsIE1QUF9VTlVTRUQgfSwKKwl7IDExLCBNUFBfVU5VU0VEIH0sCisJeyAxMiwgTVBQX1VOVVNFRCB9LAorCXsgMTMsIE1QUF9VTlVTRUQgfSwKKwl7IDE0LCBNUFBfVU5VU0VEIH0sCisJeyAxNSwgTVBQX1VOVVNFRCB9LAorCXsgMTYsIE1QUF9VQVJUIH0sCisJeyAxNywgTVBQX1VBUlQgfSwKKwl7IDE4LCBNUFBfVUFSVCB9LAorCXsgMTksIE1QUF9VQVJUIH0sCisJeyAtMSB9LAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHRzNzh4eF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJdHM3OHh4X3ByaW50X2JvYXJkX2lkKCk7CisKKwlvcmlvbjV4X21wcF9jb25mKHRzNzh4eF9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBNUFBbMjBdIFBDSSBDbG9jayBPdXQgMQorCSAqIE1QUFsyMV0gUENJIENsb2NrIE91dCAwCisJICogTVBQWzIyXSBVbnVzZWQKKwkgKiBNUFBbMjNdIFVudXNlZAorCSAqIE1QUFsyNF0gVW51c2VkCisJICogTVBQWzI1XSBVbnVzZWQKKwkgKi8KKworCS8qCisJICogQ29uZmlndXJlIHBlcmlwaGVyYWxzLgorCSAqLworCW9yaW9uNXhfZWhjaTBfaW5pdCgpOworCW9yaW9uNXhfZWhjaTFfaW5pdCgpOworCW9yaW9uNXhfZXRoX2luaXQoJnRzNzh4eF9ldGhfZGF0YSk7CisJb3Jpb241eF9zYXRhX2luaXQoJnRzNzh4eF9zYXRhX2RhdGEpOworCW9yaW9uNXhfdWFydDBfaW5pdCgpOworCW9yaW9uNXhfdWFydDFfaW5pdCgpOworCisJb3Jpb241eF9zZXR1cF9kZXZfYm9vdF93aW4oVFM3OFhYX05PUl9CT09UX0JBU0UsCisJCQkJICAgVFM3OFhYX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmdHM3OHh4X25vcl9ib290X2ZsYXNoKTsKKworCWlmICghdHM3OHh4X3J0Y19pbml0KCkpCisJCXByaW50ayhLRVJOX0lORk8gIlRTLTc4eHggUlRDIG5vdCBkZXRlY3RlZCBvciBlbmFibGVkXG4iKTsKK30KKworTUFDSElORV9TVEFSVChUUzc4WFgsICJUZWNobm9sb2dpYyBTeXN0ZW1zIFRTLTc4eHggU0JDIikKKwkvKiBNYWludGFpbmVyOiBBbGV4YW5kZXIgQ2xvdXRlciA8YWxleEBkaWdyaXoub3JnLnVrPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSB0czc4eHhfaW5pdCwKKwkubWFwX2lvCQk9IHRzNzh4eF9tYXBfaW8sCisJLmluaXRfaXJxCT0gb3Jpb241eF9pbml0X2lycSwKKwkudGltZXIJCT0gJm9yaW9uNXhfdGltZXIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3RzeDA5LWNvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZmVhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmMKQEAgLTAsMCArMSwxMzMgQEAKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgY29tbW9uIGZ1bmN0aW9ucworICoKKyAqIE1haW50YWluZXJzOiBMZW5uZXJ0IEJ1eXRlbmhlayA8YnV5dGVuaEBtYXJ2ZWxsLmNvbT4KKyAqCQlCeXJvbiBCcmFkbGV5IDxieXJvbi5iYnJhZGxleUBnbWFpbC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbgorICogMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlICJ0c3gwOS1jb21tb24uaCIKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBRTkFQIFRTLXgwOSBzcGVjaWZpYyBwb3dlciBvZmYgbWV0aG9kIHZpYSBVQVJUMS1hdHRhY2hlZCBQSUMKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIFVBUlQxX1JFRyh4KQkoVUFSVDFfVklSVF9CQVNFICsgKChVQVJUXyMjeCkgPDwgMikpCisKK3ZvaWQgcW5hcF90c3gwOV9wb3dlcl9vZmYodm9pZCkKK3sKKwkvKiAxOTIwMCBiYXVkIGRpdmlzb3IgKi8KKwljb25zdCB1bnNpZ25lZCBkaXZpc29yID0gKChPUklPTjVYX1RDTEsgKyAoOCAqIDE5MjAwKSkgLyAoMTYgKiAxOTIwMCkpOworCisJcHJfaW5mbygiJXM6IHRyaWdnZXJpbmcgcG93ZXItb2ZmLi4uXG4iLCBfX2Z1bmNfXyk7CisKKwkvKiBoaWphY2sgdWFydDEgYW5kIHJlc2V0IGludG8gc2FuZSBzdGF0ZSAoMTkyMDAsOG4xKSAqLworCXdyaXRlbCgweDgzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKGRpdmlzb3IgJiAweGZmLCBVQVJUMV9SRUcoRExMKSk7CisJd3JpdGVsKChkaXZpc29yID4+IDgpICYgMHhmZiwgVUFSVDFfUkVHKERMTSkpOworCXdyaXRlbCgweDAzLCBVQVJUMV9SRUcoTENSKSk7CisJd3JpdGVsKDB4MDAsIFVBUlQxX1JFRyhJRVIpKTsKKwl3cml0ZWwoMHgwMCwgVUFSVDFfUkVHKEZDUikpOworCXdyaXRlbCgweDAwLCBVQVJUMV9SRUcoTUNSKSk7CisKKwkvKiBzZW5kIHRoZSBwb3dlci1vZmYgY29tbWFuZCAnQScgdG8gUElDICovCisJd3JpdGVsKCdBJywgVUFSVDFfUkVHKFRYKSk7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogRXRoZXJuZXQKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSBxbmFwX3RzeDA5X2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IDgsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoY2hhciBuKQoreworCWlmIChuID49ICcwJyAmJiBuIDw9ICc5JykKKwkJcmV0dXJuIG4gLSAnMCc7CisKKwlpZiAobiA+PSAnQScgJiYgbiA8PSAnRicpCisJCXJldHVybiBuIC0gJ0EnICsgMTA7CisKKwlpZiAobiA+PSAnYScgJiYgbiA8PSAnZicpCisJCXJldHVybiBuIC0gJ2EnICsgMTA7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHFuYXBfdHN4MDlfcGFyc2VfaGV4X2J5dGUoY29uc3QgY2hhciAqYikKK3sKKwlpbnQgaGk7CisJaW50IGxvOworCisJaGkgPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoYlswXSk7CisJbG8gPSBxbmFwX3RzeDA5X3BhcnNlX2hleF9uaWJibGUoYlsxXSk7CisKKwlpZiAoaGkgPCAwIHx8IGxvIDwgMCkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIChoaSA8PCA0KSB8IGxvOworfQorCitzdGF0aWMgaW50IF9faW5pdCBxbmFwX3RzeDA5X2NoZWNrX21hY19hZGRyKGNvbnN0IGNoYXIgKmFkZHJfc3RyKQoreworCXVfaW50OF90IGFkZHJbNl07CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7CisJCWludCBieXRlOworCisJCS8qCisJCSAqIEVuZm9yY2UgInh4Onh4Onh4Onh4Onh4Onh4XG4iIGZvcm1hdC4KKwkJICovCisJCWlmIChhZGRyX3N0clsoaSAqIDMpICsgMl0gIT0gKChpIDwgNSkgPyAnOicgOiAnXG4nKSkKKwkJCXJldHVybiAtMTsKKworCQlieXRlID0gcW5hcF90c3gwOV9wYXJzZV9oZXhfYnl0ZShhZGRyX3N0ciArIChpICogMykpOworCQlpZiAoYnl0ZSA8IDApCisJCQlyZXR1cm4gLTE7CisJCWFkZHJbaV0gPSBieXRlOworCX0KKworCXByaW50ayhLRVJOX0lORk8gInRzeDA5OiBmb3VuZCBldGhlcm5ldCBtYWMgYWRkcmVzcyAiKTsKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQorCQlwcmludGsoIiUuMnglcyIsIGFkZHJbaV0sIChpIDwgNSkgPyAiOiIgOiAiLlxuIik7CisKKwltZW1jcHkocW5hcF90c3gwOV9ldGhfZGF0YS5tYWNfYWRkciwgYWRkciwgNik7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRoZSAnTkFTIENvbmZpZycgZmxhc2ggcGFydGl0aW9uIGhhcyBhbiBleHQyIGZpbGVzeXN0ZW0gd2hpY2gKKyAqIGNvbnRhaW5zIGEgZmlsZSB0aGF0IGhhcyB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gcGxhaW4gdGV4dAorICogKGZvcm1hdCAieHg6eHg6eHg6eHg6eHg6eHhcbiIpLgorICovCit2b2lkIF9faW5pdCBxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIodTMyIG1lbV9iYXNlLCB1MzIgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisKKwlmb3IgKGFkZHIgPSBtZW1fYmFzZTsgYWRkciA8IChtZW1fYmFzZSArIHNpemUpOyBhZGRyICs9IDEwMjQpIHsKKwkJY2hhciAqbm9yX3BhZ2U7CisJCWludCByZXQgPSAwOworCisJCW5vcl9wYWdlID0gaW9yZW1hcChhZGRyLCAxMDI0KTsKKwkJaWYgKG5vcl9wYWdlICE9IE5VTEwpIHsKKwkJCXJldCA9IHFuYXBfdHN4MDlfY2hlY2tfbWFjX2FkZHIobm9yX3BhZ2UpOworCQkJaW91bm1hcChub3JfcGFnZSk7CisJCX0KKworCQlpZiAocmV0ID09IDApCisJCQlicmVhazsKKwl9Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmggYi9hcmNoL2FybS9tYWNoLW9yaW9uNXgvdHN4MDktY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk4NDI2NAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC90c3gwOS1jb21tb24uaApAQCAtMCwwICsxLDIwIEBACisjaWZuZGVmIF9fQVJDSF9PUklPTjVYX1RTWDA5X0NPTU1PTl9ICisjZGVmaW5lIF9fQVJDSF9PUklPTjVYX1RTWDA5X0NPTU1PTl9ICisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgcG93ZXItb2ZmIGZ1bmN0aW9uCisgKi8KK2V4dGVybiB2b2lkIHFuYXBfdHN4MDlfcG93ZXJfb2ZmKHZvaWQpOworCisvKgorICogUU5BUCBUUy14MDkgQm9hcmRzIGZ1bmN0aW9uIHRvIGZpbmQgRXRoZXJuZXQgTUFDIGFkZHJlc3MgaW4gZmxhc2ggbWVtb3J5CisgKi8KK2V4dGVybiB2b2lkIF9faW5pdCBxbmFwX3RzeDA5X2ZpbmRfbWFjX2FkZHIodTMyIG1lbV9iYXNlLCB1MzIgc2l6ZSk7CisKKy8qCisgKiBRTkFQIFRTLXgwOSBCb2FyZHMgZXRoZXJuZXQgZGVjbGFyYXRpb24KKyAqLworZXh0ZXJuIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHFuYXBfdHN4MDlfZXRoX2RhdGE7CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9yaW9uNXgvd25yODU0dC1zZXR1cC5jIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWYwOTNmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3ducjg1NHQtc2V0dXAuYwpAQCAtMCwwICsxLDE2NCBAQAorLyoKKyAqIGFyY2gvYXJtL21hY2gtb3Jpb241eC93bnI4NTR0LXNldHVwLmMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BoeXNtYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9tdjY0M3h4X2V0aC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvcGNpLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvb3Jpb241eC5oPgorI2luY2x1ZGUgImNvbW1vbi5oIgorI2luY2x1ZGUgIm1wcC5oIgorCitzdGF0aWMgc3RydWN0IG9yaW9uNXhfbXBwX21vZGUgd25yODU0dF9tcHBfbW9kZXNbXSBfX2luaXRkYXRhID0geworCXsgIDAsIE1QUF9HUElPIH0sCQkvKiBQb3dlciBMRUQgZ3JlZW4gKDA9b24pICovCisJeyAgMSwgTVBQX0dQSU8gfSwJCS8qIFJlc2V0IEJ1dHRvbiAoMD1vZmYpICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBibGluayAoMD1vZmYpICovCisJeyAgMywgTVBQX0dQSU8gfSwJCS8qIFdBTiBTdGF0dXMgTEVEIGFtYmVyICgwPW9mZikgKi8KKwl7ICA0LCBNUFBfR1BJTyB9LAkJLyogUENJIGludCAqLworCXsgIDUsIE1QUF9HUElPIH0sCQkvKiA/Pz8gKi8KKwl7ICA2LCBNUFBfR1BJTyB9LAkJLyogPz8/ICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qID8/PyAqLworCXsgIDgsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgIDksIE1QUF9HSUdFIH0sCQkvKiBHRV9SWEVSUiAqLworCXsgMTAsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTEsIE1QUF9VTlVTRUQgfSwJCS8qID8/PyAqLworCXsgMTIsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNF0gKi8KKwl7IDEzLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzVdICovCisJeyAxNCwgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs2XSAqLworCXsgMTUsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbN10gKi8KKwl7IDE2LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzRdICovCisJeyAxNywgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs1XSAqLworCXsgMTgsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNl0gKi8KKwl7IDE5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzddICovCisJeyAtMSB9LAorfTsKKworLyoKKyAqIDhNIE5PUiBmbGFzaCBEZXZpY2UgYnVzIGJvb3QgY2hpcCBzZWxlY3QKKyAqLworI2RlZmluZSBXTlI4NTRUX05PUl9CT09UX0JBU0UJMHhmNDAwMDAwMAorI2RlZmluZSBXTlI4NTRUX05PUl9CT09UX1NJWkUJU1pfOE0KKworc3RhdGljIHN0cnVjdCBtdGRfcGFydGl0aW9uIHducjg1NHRfbm9yX2ZsYXNoX3BhcnRpdGlvbnNbXSA9IHsKKwl7CisJCS5uYW1lCQk9ICJrZXJuZWwiLAorCQkub2Zmc2V0CQk9IDB4MDAwMDAwMDAsCisJCS5zaXplCQk9IDB4MDAxMDAwMDAsCisJfSwgeworCQkubmFtZQkJPSAicm9vdGZzIiwKKwkJLm9mZnNldAkJPSAweDAwMTAwMDAwLAorCQkuc2l6ZQkJPSAweDAwNjYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInVib290IiwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB3bnI4NTR0X25vcl9mbGFzaF9kYXRhID0geworCS53aWR0aAkJPSAyLAorCS5wYXJ0cwkJPSB3bnI4NTR0X25vcl9mbGFzaF9wYXJ0aXRpb25zLAorCS5ucl9wYXJ0cwk9IEFSUkFZX1NJWkUod25yODU0dF9ub3JfZmxhc2hfcGFydGl0aW9ucyksCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHducjg1NHRfbm9yX2ZsYXNoX3Jlc291cmNlID0geworCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwKKwkuc3RhcnQJCT0gV05SODU0VF9OT1JfQk9PVF9CQVNFLAorCS5lbmQJCT0gV05SODU0VF9OT1JfQk9PVF9CQVNFICsgV05SODU0VF9OT1JfQk9PVF9TSVpFIC0gMSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHducjg1NHRfbm9yX2ZsYXNoID0geworCS5uYW1lCQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQkJPSAwLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZ3bnI4NTR0X25vcl9mbGFzaF9kYXRhLAorCX0sCisJLm51bV9yZXNvdXJjZXMJCT0gMSwKKwkucmVzb3VyY2UJCT0gJnducjg1NHRfbm9yX2ZsYXNoX3Jlc291cmNlLAorfTsKKworc3RhdGljIHN0cnVjdCBtdjY0M3h4X2V0aF9wbGF0Zm9ybV9kYXRhIHducjg1NHRfZXRoX2RhdGEgPSB7CisJLnBoeV9hZGRyCT0gLTEsCit9OworCitzdGF0aWMgdm9pZCBfX2luaXQgd25yODU0dF9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBTZXR1cCBiYXNpYyBPcmlvbiBmdW5jdGlvbnMuIE5lZWQgdG8gYmUgY2FsbGVkIGVhcmx5LgorCSAqLworCW9yaW9uNXhfaW5pdCgpOworCisJb3Jpb241eF9tcHBfY29uZih3bnI4NTR0X21wcF9tb2Rlcyk7CisKKwkvKgorCSAqIENvbmZpZ3VyZSBwZXJpcGhlcmFscy4KKwkgKi8KKwlvcmlvbjV4X2V0aF9pbml0KCZ3bnI4NTR0X2V0aF9kYXRhKTsKKwlvcmlvbjV4X3VhcnQwX2luaXQoKTsKKworCW9yaW9uNXhfc2V0dXBfZGV2X2Jvb3Rfd2luKFdOUjg1NFRfTk9SX0JPT1RfQkFTRSwKKwkJCQkgICBXTlI4NTRUX05PUl9CT09UX1NJWkUpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmd25yODU0dF9ub3JfZmxhc2gpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB3bnI4NTR0X3BjaV9tYXBfaXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU4IHNsb3QsIHU4IHBpbikKK3sKKwlpbnQgaXJxOworCisJLyoKKwkgKiBDaGVjayBmb3IgZGV2aWNlcyB3aXRoIGhhcmQtd2lyZWQgSVJRcy4KKwkgKi8KKwlpcnEgPSBvcmlvbjV4X3BjaV9tYXBfaXJxKGRldiwgc2xvdCwgcGluKTsKKwlpZiAoaXJxICE9IC0xKQorCQlyZXR1cm4gaXJxOworCisJLyoKKwkgKiBNaW5pLVBDSSBzbG90LgorCSAqLworCWlmIChzbG90ID09IDcpCisJCXJldHVybiBncGlvX3RvX2lycSg0KTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBod19wY2kgd25yODU0dF9wY2kgX19pbml0ZGF0YSA9IHsKKwkubnJfY29udHJvbGxlcnMJPSAyLAorCS5zd2l6emxlCT0gcGNpX3N0ZF9zd2l6emxlLAorCS5zZXR1cAkJPSBvcmlvbjV4X3BjaV9zeXNfc2V0dXAsCisJLnNjYW4JCT0gb3Jpb241eF9wY2lfc3lzX3NjYW5fYnVzLAorCS5tYXBfaXJxCT0gd25yODU0dF9wY2lfbWFwX2lycSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHducjg1NHRfcGNpX2luaXQodm9pZCkKK3sKKwlpZiAobWFjaGluZV9pc193bnI4NTR0KCkpCisJCXBjaV9jb21tb25faW5pdCgmd25yODU0dF9wY2kpOworCisJcmV0dXJuIDA7Cit9CitzdWJzeXNfaW5pdGNhbGwod25yODU0dF9wY2lfaW5pdCk7CisKK01BQ0hJTkVfU1RBUlQoV05SODU0VCwgIk5ldGdlYXIgV05SODU0VCIpCisJLyogTWFpbnRhaW5lcjogSW1yZSBLYWxveiA8a2Fsb3pAb3BlbndydC5vcmc+ICovCisJLnBoeXNfaW8JPSBPUklPTjVYX1JFR1NfUEhZU19CQVNFLAorCS5pb19wZ19vZmZzdAk9ICgoT1JJT041WF9SRUdTX1ZJUlRfQkFTRSkgPj4gMTgpICYgMHhGRkZDLAorCS5ib290X3BhcmFtcwk9IDB4MDAwMDAxMDAsCisJLmluaXRfbWFjaGluZQk9IHducjg1NHRfaW5pdCwKKwkubWFwX2lvCQk9IG9yaW9uNXhfbWFwX2lvLAorCS5pbml0X2lycQk9IG9yaW9uNXhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZvcmlvbjV4X3RpbWVyLAorCS5maXh1cAkJPSB0YWdfZml4dXBfbWVtMzIsCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vcmlvbjV4L3dydDM1MG4tdjItc2V0dXAuYyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhYjU1YwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb3Jpb241eC93cnQzNTBuLXYyLXNldHVwLmMKQEAgLTAsMCArMSwxNzMgQEAKKy8qCisgKiBhcmNoL2FybS9tYWNoLW9yaW9uNXgvd3J0MzUwbi12Mi1zZXR1cC5jCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXY2NDN4eF9ldGguaD4KKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ncGlvLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL3BjaS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL29yaW9uNXguaD4KKyNpbmNsdWRlICJjb21tb24uaCIKKyNpbmNsdWRlICJtcHAuaCIKKworc3RhdGljIHN0cnVjdCBvcmlvbjV4X21wcF9tb2RlIHdydDM1MG5fdjJfbXBwX21vZGVzW10gX19pbml0ZGF0YSA9IHsKKwl7ICAwLCBNUFBfR1BJTyB9LAkJLyogUG93ZXIgTEVEIGdyZWVuICgwPW9uKSAqLworCXsgIDEsIE1QUF9HUElPIH0sCQkvKiBTZWN1cml0eSBMRUQgKDA9b24pICovCisJeyAgMiwgTVBQX0dQSU8gfSwJCS8qIEludGVybmFsIEJ1dHRvbiAoMD1vbikgKi8KKwl7ICAzLCBNUFBfR1BJTyB9LAkJLyogUmVzZXQgQnV0dG9uICgwPW9uKSAqLworCXsgIDQsIE1QUF9HUElPIH0sCQkvKiBQQ0kgaW50ICovCisJeyAgNSwgTVBQX0dQSU8gfSwJCS8qIFBvd2VyIExFRCBvcmFuZ2UgKDA9b24pICovCisJeyAgNiwgTVBQX0dQSU8gfSwJCS8qIFVTQiBMRUQgKDA9b24pICovCisJeyAgNywgTVBQX0dQSU8gfSwJCS8qIFdpcmVsZXNzIExFRCAoMD1vbikgKi8KKwl7ICA4LCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7ICA5LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhFUlIgKi8KKwl7IDEwLCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7IDExLCBNUFBfVU5VU0VEIH0sCQkvKiA/Pz8gKi8KKwl7IDEyLCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzRdICovCisJeyAxMywgTVBQX0dJR0UgfSwJCS8qIEdFX1RYRFs1XSAqLworCXsgMTQsIE1QUF9HSUdFIH0sCQkvKiBHRV9UWERbNl0gKi8KKwl7IDE1LCBNUFBfR0lHRSB9LAkJLyogR0VfVFhEWzddICovCisJeyAxNiwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs0XSAqLworCXsgMTcsIE1QUF9HSUdFIH0sCQkvKiBHRV9SWERbNV0gKi8KKwl7IDE4LCBNUFBfR0lHRSB9LAkJLyogR0VfUlhEWzZdICovCisJeyAxOSwgTVBQX0dJR0UgfSwJCS8qIEdFX1JYRFs3XSAqLworCXsgLTEgfSwKK307CisKKy8qCisgKiA4TSBOT1IgZmxhc2ggRGV2aWNlIGJ1cyBib290IGNoaXAgc2VsZWN0CisgKi8KKyNkZWZpbmUgV1JUMzUwTl9WMl9OT1JfQk9PVF9CQVNFCTB4ZjQwMDAwMDAKKyNkZWZpbmUgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFCVNaXzhNCisKK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiB3cnQzNTBuX3YyX25vcl9mbGFzaF9wYXJ0aXRpb25zW10gPSB7CisJeworCQkubmFtZQkJPSAia2VybmVsIiwKKwkJLm9mZnNldAkJPSAweDAwMDAwMDAwLAorCQkuc2l6ZQkJPSAweDAwNzYwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInJvb3RmcyIsCisJCS5vZmZzZXQJCT0gMHgwMDFhMDAwMCwKKwkJLnNpemUJCT0gMHgwMDVjMDAwMCwKKwl9LCB7CisJCS5uYW1lCQk9ICJsYW5nIiwKKwkJLm9mZnNldAkJPSAweDAwNzYwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDQwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gIm52cmFtIiwKKwkJLm9mZnNldAkJPSAweDAwN2EwMDAwLAorCQkuc2l6ZQkJPSAweDAwMDIwMDAwLAorCX0sIHsKKwkJLm5hbWUJCT0gInUtYm9vdCIsCisJCS5vZmZzZXQJCT0gMHgwMDdjMDAwMCwKKwkJLnNpemUJCT0gMHgwMDA0MDAwMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwaHlzbWFwX2ZsYXNoX2RhdGEgd3J0MzUwbl92Ml9ub3JfZmxhc2hfZGF0YSA9IHsKKwkud2lkdGgJCT0gMSwKKwkucGFydHMJCT0gd3J0MzUwbl92Ml9ub3JfZmxhc2hfcGFydGl0aW9ucywKKwkubnJfcGFydHMJPSBBUlJBWV9TSVpFKHdydDM1MG5fdjJfbm9yX2ZsYXNoX3BhcnRpdGlvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB3cnQzNTBuX3YyX25vcl9mbGFzaF9yZXNvdXJjZSA9IHsKKwkuZmxhZ3MJCT0gSU9SRVNPVVJDRV9NRU0sCisJLnN0YXJ0CQk9IFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSwKKwkuZW5kCQk9IFdSVDM1ME5fVjJfTk9SX0JPT1RfQkFTRSArIFdSVDM1ME5fVjJfTk9SX0JPT1RfU0laRSAtIDEsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB3cnQzNTBuX3YyX25vcl9mbGFzaCA9IHsKKwkubmFtZQkJCT0gInBoeXNtYXAtZmxhc2giLAorCS5pZAkJCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmd3J0MzUwbl92Ml9ub3JfZmxhc2hfZGF0YSwKKwl9LAorCS5udW1fcmVzb3VyY2VzCQk9IDEsCisJLnJlc291cmNlCQk9ICZ3cnQzNTBuX3YyX25vcl9mbGFzaF9yZXNvdXJjZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbXY2NDN4eF9ldGhfcGxhdGZvcm1fZGF0YSB3cnQzNTBuX3YyX2V0aF9kYXRhID0geworCS5waHlfYWRkcgk9IC0xLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHdydDM1MG5fdjJfaW5pdCh2b2lkKQoreworCS8qCisJICogU2V0dXAgYmFzaWMgT3Jpb24gZnVuY3Rpb25zLiBOZWVkIHRvIGJlIGNhbGxlZCBlYXJseS4KKwkgKi8KKwlvcmlvbjV4X2luaXQoKTsKKworCW9yaW9uNXhfbXBwX2NvbmYod3J0MzUwbl92Ml9tcHBfbW9kZXMpOworCisJLyoKKwkgKiBDb25maWd1cmUgcGVyaXBoZXJhbHMuCisJICovCisJb3Jpb241eF9laGNpMF9pbml0KCk7CisJb3Jpb241eF9ldGhfaW5pdCgmd3J0MzUwbl92Ml9ldGhfZGF0YSk7CisJb3Jpb241eF91YXJ0MF9pbml0KCk7CisKKwlvcmlvbjV4X3NldHVwX2Rldl9ib290X3dpbihXUlQzNTBOX1YyX05PUl9CT09UX0JBU0UsCisJCQkJICAgV1JUMzUwTl9WMl9OT1JfQk9PVF9TSVpFKTsKKwlwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJndydDM1MG5fdjJfbm9yX2ZsYXNoKTsKK30KKworc3RhdGljIGludCBfX2luaXQgd3J0MzUwbl92Ml9wY2lfbWFwX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB1OCBzbG90LCB1OCBwaW4pCit7CisJaW50IGlycTsKKworCS8qCisJICogQ2hlY2sgZm9yIGRldmljZXMgd2l0aCBoYXJkLXdpcmVkIElSUXMuCisJICovCisJaXJxID0gb3Jpb241eF9wY2lfbWFwX2lycShkZXYsIHNsb3QsIHBpbik7CisJaWYgKGlycSAhPSAtMSkKKwkJcmV0dXJuIGlycTsKKworCS8qCisJICogTWluaS1QQ0kgc2xvdC4KKwkgKi8KKwlpZiAoc2xvdCA9PSA3KQorCQlyZXR1cm4gZ3Bpb190b19pcnEoNCk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaHdfcGNpIHdydDM1MG5fdjJfcGNpIF9faW5pdGRhdGEgPSB7CisJLm5yX2NvbnRyb2xsZXJzCT0gMiwKKwkuc3dpenpsZQk9IHBjaV9zdGRfc3dpenpsZSwKKwkuc2V0dXAJCT0gb3Jpb241eF9wY2lfc3lzX3NldHVwLAorCS5zY2FuCQk9IG9yaW9uNXhfcGNpX3N5c19zY2FuX2J1cywKKwkubWFwX2lycQk9IHdydDM1MG5fdjJfcGNpX21hcF9pcnEsCit9OworCitzdGF0aWMgaW50IF9faW5pdCB3cnQzNTBuX3YyX3BjaV9pbml0KHZvaWQpCit7CisJaWYgKG1hY2hpbmVfaXNfd3J0MzUwbl92MigpKQorCQlwY2lfY29tbW9uX2luaXQoJndydDM1MG5fdjJfcGNpKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHdydDM1MG5fdjJfcGNpX2luaXQpOworCitNQUNISU5FX1NUQVJUKFdSVDM1ME5fVjIsICJMaW5rc3lzIFdSVDM1ME4gdjIiKQorCS8qIE1haW50YWluZXI6IExlbm5lcnQgQnV5dGVuaGVrIDxidXl0ZW5oQG1hcnZlbGwuY29tPiAqLworCS5waHlzX2lvCT0gT1JJT041WF9SRUdTX1BIWVNfQkFTRSwKKwkuaW9fcGdfb2Zmc3QJPSAoKE9SSU9ONVhfUkVHU19WSVJUX0JBU0UpID4+IDE4KSAmIDB4RkZGQywKKwkuYm9vdF9wYXJhbXMJPSAweDAwMDAwMTAwLAorCS5pbml0X21hY2hpbmUJPSB3cnQzNTBuX3YyX2luaXQsCisJLm1hcF9pbwkJPSBvcmlvbjV4X21hcF9pbywKKwkuaW5pdF9pcnEJPSBvcmlvbjV4X2luaXRfaXJxLAorCS50aW1lcgkJPSAmb3Jpb241eF90aW1lciwKKwkuZml4dXAJCT0gdGFnX2ZpeHVwX21lbTMyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXB4YS9LY29uZmlnCmluZGV4IDVkYTdhNjguLjkxNGJiMzMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvS2NvbmZpZwpAQCAtMjAsOCArMjAsNyBAQAogCiBlbmRpZgogCi1jaG9pY2UKLQlwcm9tcHQgIlNlbGVjdCB0YXJnZXQgYm9hcmQiCittZW51ICJTZWxlY3QgdGFyZ2V0IGJvYXJkcyIKIAogY29uZmlnIEFSQ0hfR1VNU1RJWAogCWJvb2wgIkd1bXN0aXggWFNjYWxlIGJvYXJkcyIKQEAgLTM3LDEwICszNiwxMiBAQAogY29uZmlnIE1BQ0hfTE9HSUNQRF9QWEEyNzAKIAlib29sICJMb2dpY1BEIFBYQTI3MCBDYXJkIEVuZ2luZSBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBMjd4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBNQUNIX01BSU5TVE9ORQogCWJvb2wgIkludGVsIEhDRERCQlZBMCBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBMjd4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBBUkNIX1BYQV9JRFAKIAlib29sICJBY2NlbGVudCBYc2NhbGUgSURQIgpAQCAtMTE2LDYgKzExNyw3IEBACiBjb25maWcgTUFDSF9aWUxPTklURQogCWJvb2wgIlBYQTN4eCBEZXZlbG9wbWVudCBQbGF0Zm9ybSIKIAlzZWxlY3QgUFhBM3h4CisJc2VsZWN0IEhBVkVfUFdNCiAKIGNvbmZpZyBNQUNIX0xJVFRMRVRPTgogCWJvb2wgIlBYQTN4eCBGb3JtIEZhY3RvciBQbGF0Zm9ybSAoYWthIExpdHRsZXRvbikiCkBAIC0xMzgsNyArMTQwLDcgQEAKIAlzZWxlY3QgUFhBMjd4CiAJc2VsZWN0IElXTU1YVAogCi1lbmRjaG9pY2UKK2VuZG1lbnUKIAogY2hvaWNlCiAJcHJvbXB0ICJVc2VkIGJhc2Vib2FyZCIKQEAgLTE0NiwyNiArMTQ4LDI1IEBACiAKIGNvbmZpZyBNQUNIX1BDTTk5MF9CQVNFQk9BUkQKIAlib29sICJQSFlURUMgUENNLTk5MCBkZXZlbG9wbWVudCBib2FyZCIKKwlzZWxlY3QgSEFWRV9QV00KIAogZW5kY2hvaWNlCiAKLWlmIFBYQV9TSEFSUFNMCi0KIGNob2ljZQotCXByb21wdCAiU2VsZWN0IHRhcmdldCBTaGFycCBaYXVydXMgZGV2aWNlIHJhbmdlIgorCXByb21wdCAiZGlzcGxheSBvbiBwY205OTAiCisJZGVwZW5kcyBvbiBNQUNIX1BDTTk5MF9CQVNFQk9BUkQKIAotY29uZmlnIFBYQV9TSEFSUFNMXzI1eAotCWJvb2wgIlNoYXJwIFBYQTI1eCBtb2RlbHMgKFNMLTU2MDAsIFNMLUM3eHggYW5kIFNMLUM2MDAweCkiCi0Jc2VsZWN0IFBYQTI1eAorY29uZmlnIFBDTTk5MF9ESVNQTEFZX1NIQVJQCisJYm9vbCAic2hhcnAgbHEwODR2MWRnMjEgc3RuIGRpc3BsYXkiCiAKLWNvbmZpZyBQWEFfU0hBUlBTTF8yN3gKLQlib29sICJTaGFycCBQWEEyNzAgbW9kZWxzIChTTC1DeHgwMCkiCi0Jc2VsZWN0IFBYQTI3eAorY29uZmlnIFBDTTk5MF9ESVNQTEFZX05FQworCWJvb2wgIm5lYyBubDY0NDhiYzIwXzE4ZCB0ZnQgZGlzcGxheSIKKworY29uZmlnIFBDTTk5MF9ESVNQTEFZX05PTkUKKwlib29sICJubyBkaXNwbGF5IgogCiBlbmRjaG9pY2UKIAotZW5kaWYKLQogaWYgQVJDSF9HVU1TVElYCiAKIGNob2ljZQpAQCAtMTk5LDI4ICsyMDAsMzMgQEAKIAogY29uZmlnIE1BQ0hfUE9PRExFCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTU2MDAgKFBvb2RsZSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFNIQVJQX0xPQ09NTwogCXNlbGVjdCBQWEFfU1NQCiAKIGNvbmZpZyBNQUNIX0NPUkdJCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLUM3MDAgKENvcmdpKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjV4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyNXgKIAlzZWxlY3QgUFhBX1NIQVJQX0M3eHgKIAogY29uZmlnIE1BQ0hfU0hFUEhFUkQKIAlib29sICJFbmFibGUgU2hhcnAgU0wtQzc1MCAoU2hlcGhlcmQpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yNXgKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI1eAogCXNlbGVjdCBQWEFfU0hBUlBfQzd4eAogCiBjb25maWcgTUFDSF9IVVNLWQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC1DNzYwIChIdXNreSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAJc2VsZWN0IFBYQV9TSEFSUF9DN3h4CiAKIGNvbmZpZyBNQUNIX0FLSVRBCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFNMLTEwMDAgKEFraXRhKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gUFhBX1NIQVJQU0xfMjd4CisJZGVwZW5kcyBvbiBQWEFfU0hBUlBTTAorCXNlbGVjdCBQWEEyN3gKIAlzZWxlY3QgUFhBX1NIQVJQX0N4eDAwCiAJc2VsZWN0IE1BQ0hfU1BJVFoKIAlzZWxlY3QgSTJDCkBAIC0yMjgsMTcgKzIzNCwyMCBAQAogCiBjb25maWcgTUFDSF9TUElUWgogCWJvb2wgIkVuYWJsZSBTaGFycCBaYXVydXMgU0wtMzAwMCAoU3BpdHopIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAogY29uZmlnIE1BQ0hfQk9SWk9JCiAJYm9vbCAiRW5hYmxlIFNoYXJwIFphdXJ1cyBTTC0zMTAwIChCb3J6b2kpIFN1cHBvcnQiCi0JZGVwZW5kcyBvbiBQWEFfU0hBUlBTTF8yN3gKKwlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCisJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBQWEFfU0hBUlBfQ3h4MDAKIAogY29uZmlnIE1BQ0hfVE9TQQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC02MDAweCAoVG9zYSkgU3VwcG9ydCIKLQlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMXzI1eAorCWRlcGVuZHMgb24gUFhBX1NIQVJQU0wKKwlzZWxlY3QgUFhBMjV4CiAKIGNvbmZpZyBQWEEyNXgKIAlib29sCkBAIC0yNzMsNCArMjgyLDEwIEBACiAJdHJpc3RhdGUKIAloZWxwCiAJICBFbmFibGUgc3VwcG9ydCBmb3IgUFhBMnh4IFNTUCBwb3J0cworCitjb25maWcgUFhBX1BXTQorCXRyaXN0YXRlCisJZGVmYXVsdCBCQUNLTElHSFRfUFdNCisJaGVscAorCSAgRW5hYmxlIHN1cHBvcnQgZm9yIFBYQTJ4eC9QWEEzeHggUFdNIGNvbnRyb2xsZXJzCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQppbmRleCAwZTZkMDViLi5jNGRmYmU4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9NYWtlZmlsZQpAQCAtMTAsMTAgKzEwLDExIEBACiAKICMgR2VuZXJpYyBkcml2ZXJzIHRoYXQgb3RoZXIgZHJpdmVycyBtYXkgZGVwZW5kIHVwb24KIG9iai0kKENPTkZJR19QWEFfU1NQKQkJKz0gc3NwLm8KK29iai0kKENPTkZJR19QWEFfUFdNKQkJKz0gcHdtLm8KIAogIyBTb0Mtc3BlY2lmaWMgY29kZQotb2JqLSQoQ09ORklHX1BYQTI1eCkJCSs9IG1mcC1weGEyeHgubyBweGEyNXgubwotb2JqLSQoQ09ORklHX1BYQTI3eCkJCSs9IG1mcC1weGEyeHgubyBweGEyN3gubworb2JqLSQoQ09ORklHX1BYQTI1eCkJCSs9IG1mcC1weGEyeHgubyBweGEyeHgubyBweGEyNXgubworb2JqLSQoQ09ORklHX1BYQTI3eCkJCSs9IG1mcC1weGEyeHgubyBweGEyeHgubyBweGEyN3gubwogb2JqLSQoQ09ORklHX1BYQTN4eCkJCSs9IG1mcC1weGEzeHgubyBweGEzeHgubyBzbWVtYy5vCiBvYmotJChDT05GSUdfQ1BVX1BYQTMwMCkJKz0gcHhhMzAwLm8KIG9iai0kKENPTkZJR19DUFVfUFhBMzIwKQkrPSBweGEzMjAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmMKaW5kZXggZTk3ZGM1OS4uYjRkMDQ5NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5jCkBAIC0xMiw3ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIAotI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCkBAIC00Nyw2ICs0Nyw5IEBACiAJCWNsayA9IHA7CiAJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOwogCisJaWYgKCFJU19FUlIoY2xrKSAmJiBjbGstPm9wcyA9PSBOVUxMKQorCQljbGsgPSBjbGstPm90aGVyOworCiAJcmV0dXJuIGNsazsKIH0KIEVYUE9SVF9TWU1CT0woY2xrX2dldCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oIGIvYXJjaC9hcm0vbWFjaC1weGEvY2xvY2suaAppbmRleCBiYzZiNzdlLi44M2NiZmFiIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbG9jay5oCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2Nsb2NrLmgKQEAgLTE1LDYgKzE1LDcgQEAKIAl1bnNpZ25lZCBpbnQJCWNrZW47CiAJdW5zaWduZWQgaW50CQlkZWxheTsKIAl1bnNpZ25lZCBpbnQJCWVuYWJsZWQ7CisJc3RydWN0IGNsawkJKm90aGVyOwogfTsKIAogI2RlZmluZSBJTklUX0NLRU4oX25hbWUsIF9ja2VuLCBfcmF0ZSwgX2RlbGF5LCBfZGV2KQlcCkBAIC0zNSw2ICszNiwxNyBAQAogCQkuY2tlbgk9IENLRU5fIyNfY2tlbiwJCQlcCiAJfQogCisvKgorICogVGhpcyBpcyBhIHBsYWNlaG9sZGVyIHRvIGFsaWFzIG9uZSBjbG9jayBkZXZpY2UrbmFtZSBwYWlyCisgKiB0byBhbm90aGVyIHN0cnVjdCBjbGsuCisgKi8KKyNkZWZpbmUgSU5JVF9DS09USEVSKF9uYW1lLCBfb3RoZXIsIF9kZXYpCQlcCisJewkJCQkJCVwKKwkJLm5hbWUJPSBfbmFtZSwJCQlcCisJCS5kZXYJPSBfZGV2LAkJCQlcCisJCS5vdGhlcgk9IF9vdGhlciwJCQlcCisJfQorCiBleHRlcm4gY29uc3Qgc3RydWN0IGNsa29wcyBjbGtfY2tlbl9vcHM7CiAKIHZvaWQgY2xrX2NrZW5fZW5hYmxlKHN0cnVjdCBjbGsgKmNsayk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC1wY2kuYwppbmRleCBhYzdmMDVmLi4zMTljOWZmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLXBjaS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAtcGNpLmMKQEAgLTQxLDE4ICs0MSwyMCBAQAogewogCXVuc2lnbmVkIGludCBzeiA9IFNaXzY0TSA+PiBQQUdFX1NISUZUOwogCi0JcHJfaW5mbygiQWRqdXN0aW5nIHpvbmVzIGZvciBDTS14MjcwXG4iKTsKKwlpZiAobWFjaGluZV9pc19hcm1jb3JlKCkpIHsKKwkJcHJfaW5mbygiQWRqdXN0aW5nIHpvbmVzIGZvciBDTS14MjcwXG4iKTsKIAotCS8qCi0JICogT25seSBhZGp1c3QgaWYgPiA2NE0gb24gY3VycmVudCBzeXN0ZW0KLQkgKi8KLQlpZiAobm9kZSB8fCAoem9uZV9zaXplWzBdIDw9IHN6KSkKLQkJcmV0dXJuOworCQkvKgorCQkgKiBPbmx5IGFkanVzdCBpZiA+IDY0TSBvbiBjdXJyZW50IHN5c3RlbQorCQkgKi8KKwkJaWYgKG5vZGUgfHwgKHpvbmVfc2l6ZVswXSA8PSBzeikpCisJCQlyZXR1cm47CiAKLQl6b25lX3NpemVbMV0gPSB6b25lX3NpemVbMF0gLSBzejsKLQl6b25lX3NpemVbMF0gPSBzejsKLQl6aG9sZV9zaXplWzFdID0gemhvbGVfc2l6ZVswXTsKLQl6aG9sZV9zaXplWzBdID0gMDsKKwkJem9uZV9zaXplWzFdID0gem9uZV9zaXplWzBdIC0gc3o7CisJCXpvbmVfc2l6ZVswXSA9IHN6OworCQl6aG9sZV9zaXplWzFdID0gemhvbGVfc2l6ZVswXTsKKwkJemhvbGVfc2l6ZVswXSA9IDA7CisJfQogfQogCiBzdGF0aWMgdm9pZCBjbXgyNzBfaXQ4MTUyX2lycV9kZW11eCh1bnNpZ25lZCBpbnQgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jbS14MjcwLmMKaW5kZXggZjU4NTFkMS4uMDFiOTk2NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY20teDI3MC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2NtLXgyNzAuYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CkBAIC04MSwxMiArODIsNiBAQAogCX0KIH07CiAKLS8qIGF1ZGlvIGRldmljZSAqLwotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgY214MjcwX2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIC8qIHRvdWNoc2NyZWVuIGNvbnRyb2xsZXIgKi8KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGNteDI3MF90c19kZXZpY2UgPSB7CiAJLm5hbWUJCT0gInVjYjE0MDBfdHMiLApAQCAtMjE5LDcgKzIxNCw2IEBACiAvKiBwbGF0Zm9ybSBkZXZpY2VzICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmNteDI3MF9kZXZpY2VfZG05aywKLQkmY214MjcwX2F1ZGlvX2RldmljZSwKIAkmY214MjcwX3J0Y19kZXZpY2UsCiAJJmNteDI3MF8yNzAwRywKIAkmY214MjcwX2xlZF9kZXZpY2UsCkBAIC01OTQsNiArNTg4LDcgQEAKIAogCS8qIHJlZ2lzdGVyIENNLVgyNzAgcGxhdGZvcm0gZGV2aWNlcyAqLwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogCiAJLyogc2V0IE1DSSBhbmQgT0hDSSBwbGF0Zm9ybSBwYXJhbWV0ZXJzICovCiAJcHhhX3NldF9tY2lfaW5mbygmY214MjcwX21jaV9wbGF0Zm9ybV9kYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaS5jCmluZGV4IGI3NTdkZDcuLmIzNzY3MWIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2kuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJkYS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYyBiL2FyY2gvYXJtL21hY2gtcHhhL2NvcmdpX3BtLmMKaW5kZXggMGE4NWY3MC4uZTkxYzBmMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvY29yZ2lfcG0uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jb3JnaV9wbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvcmdpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSAic2hhcnBzbC5oIgogCkBAIC0yMDQsNyArMjA1LDkgQEAKIAkucmVhZF9kZXZkYXRhICAgID0gY29yZ2lwbV9yZWFkX2RldmRhdGEsCiAJLmNoYXJnZXJfd2FrZXVwICA9IGNvcmdpX2NoYXJnZXJfd2FrZXVwLAogCS5zaG91bGRfd2FrZXVwICAgPSBjb3JnaV9zaG91bGRfd2FrZXVwLAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKIAkuYmFja2xpZ2h0X2xpbWl0ID0gY29yZ2libF9saW1pdF9pbnRlbnNpdHksCisjZW5kaWYKIAkuY2hhcmdlX29uX3ZvbHQJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1ZPTFQsCiAJLmNoYXJnZV9vbl90ZW1wCSAgPSBTSEFSUFNMX0NIQVJHRV9PTl9URU1QLAogCS5jaGFyZ2VfYWNpbl9oaWdoID0gU0hBUlBTTF9DSEFSR0VfT05fQUNJTl9ISUdILApAQCAtMjI2LDYgKzIyOSwxMCBAQAogewogCWludCByZXQ7CiAKKwlpZiAoIW1hY2hpbmVfaXNfY29yZ2koKSAmJiAhbWFjaGluZV9pc19zaGVwaGVyZCgpCisJCQkmJiAhbWFjaGluZV9pc19odXNreSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCWNvcmdpcG1fZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzaGFycHNsLXBtIiwgLTEpOwogCWlmICghY29yZ2lwbV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5jCmluZGV4IGQ2YzA1YjYuLmE2ZjIzOTAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmMKQEAgLTEwLDExICsxMCwxNCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9pMmMuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjd4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI3eF9rZXlwYWQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9jYW1lcmEuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9hdWRpby5oPgogCiAjaW5jbHVkZSAiZGV2aWNlcy5oIgorI2luY2x1ZGUgImdlbmVyaWMuaCIKIAogdm9pZCBfX2luaXQgcHhhX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCiB7CkBAIC05MSw4ICs5NCwxOSBAQAogCiBzdGF0aWMgdTY0IHVkY19kbWFfbWFzayA9IH4odTMyKTA7CiAKLXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV91ZGMgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC11ZGMiLAorc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3VkYyA9IHsKKwkubmFtZQkJPSAicHhhMjV4LXVkYyIsCisJLmlkCQk9IC0xLAorCS5yZXNvdXJjZQk9IHB4YTJ4eF91ZGNfcmVzb3VyY2VzLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyeHhfdWRjX3Jlc291cmNlcyksCisJLmRldgkJPSAgeworCQkucGxhdGZvcm1fZGF0YQk9ICZweGFfdWRjX2luZm8sCisJCS5kbWFfbWFzawk9ICZ1ZGNfZG1hX21hc2ssCisJfQorfTsKKworc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3VkYyA9IHsKKwkubmFtZQkJPSAicHhhMjd4LXVkYyIsCiAJLmlkCQk9IC0xLAogCS5yZXNvdXJjZQk9IHB4YTJ4eF91ZGNfcmVzb3VyY2VzLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyeHhfdWRjX3Jlc291cmNlcyksCkBAIC0yMzMsOCArMjQ3LDE1IEBACiAJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YWkyY19yZXNvdXJjZXMpLAogfTsKIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgcHhhMjd4X2kyY19tZnBfY2ZnW10gPSB7CisJR1BJTzExN19JMkNfU0NMLAorCUdQSU8xMThfSTJDX1NEQSwKK307CisKIHZvaWQgX19pbml0IHB4YV9zZXRfaTJjX2luZm8oc3RydWN0IGkyY19weGFfcGxhdGZvcm1fZGF0YSAqaW5mbykKIHsKKwlpZiAoY3B1X2lzX3B4YTI3eCgpKQorCQlweGEyeHhfbWZwX2NvbmZpZyhBUlJBWV9BTkRfU0laRShweGEyN3hfaTJjX21mcF9jZmcpKTsKIAlweGFfcmVnaXN0ZXJfZGV2aWNlKCZweGFfZGV2aWNlX2kyYywgaW5mbyk7CiB9CiAKQEAgLTI3OCw4ICsyOTksNjkgQEAKIAkuaWQJCT0gLTEsCiB9OwogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YV9hYzk3X3Jlc291cmNlc1tdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ICA9IDB4NDA1MDAwMDAsCisJCS5lbmQJPSAweDQwNTAwMDAwICsgMHhmZmYsCisJCS5mbGFncyAgPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLnN0YXJ0ICA9IElSUV9BQzk3LAorCQkuZW5kICAgID0gSVJRX0FDOTcsCisJCS5mbGFncyAgPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHU2NCBweGFfYWM5N19kbWFtYXNrID0gMHhmZmZmZmZmZlVMOworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfYWM5NyA9IHsKKwkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LWFjOTciLAorCS5pZCAgICAgICAgICAgICA9IC0xLAorCS5kZXYgICAgICAgICAgICA9IHsKKwkJLmRtYV9tYXNrID0gJnB4YV9hYzk3X2RtYW1hc2ssCisJCS5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmYsCisJfSwKKwkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHB4YV9hYzk3X3Jlc291cmNlcyksCisJLnJlc291cmNlICAgICAgID0gcHhhX2FjOTdfcmVzb3VyY2VzLAorfTsKKwordm9pZCBfX2luaXQgcHhhX3NldF9hYzk3X2luZm8ocHhhMnh4X2F1ZGlvX29wc190ICpvcHMpCit7CisJcHhhX3JlZ2lzdGVyX2RldmljZSgmcHhhX2RldmljZV9hYzk3LCBvcHMpOworfQorCiAjaWZkZWYgQ09ORklHX1BYQTI1eAogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI1eF9yZXNvdXJjZV9wd20wW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYjAwMDAwLAorCQkuZW5kCT0gMHg0MGIwMDAwZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjV4X2RldmljZV9wd20wID0geworCS5uYW1lCQk9ICJweGEyNXgtcHdtIiwKKwkuaWQJCT0gMCwKKwkucmVzb3VyY2UJPSBweGEyNXhfcmVzb3VyY2VfcHdtMCwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjV4X3Jlc291cmNlX3B3bTApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyNXhfcmVzb3VyY2VfcHdtMVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gMHg0MGMwMDAwMCwKKwkJLmVuZAk9IDB4NDBjMDAwMGYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfcHdtMSA9IHsKKwkubmFtZQkJPSAicHhhMjV4LXB3bSIsCisJLmlkCQk9IDEsCisJLnJlc291cmNlCT0gcHhhMjV4X3Jlc291cmNlX3B3bTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI1eF9yZXNvdXJjZV9wd20xKSwKK307CisKIHN0YXRpYyB1NjQgcHhhMjV4X3NzcF9kbWFfbWFzayA9IERNQV9CSVRfTUFTSygzMik7CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjV4X3Jlc291cmNlX3NzcFtdID0gewpAQCAtNTY4LDYgKzY1MCwzNiBAQAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShweGEyN3hfcmVzb3VyY2Vfc3NwMyksCiB9OwogCitzdGF0aWMgc3RydWN0IHJlc291cmNlIHB4YTI3eF9yZXNvdXJjZV9wd20wW10gPSB7CisJWzBdID0geworCQkuc3RhcnQJPSAweDQwYjAwMDAwLAorCQkuZW5kCT0gMHg0MGIwMDAxZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9wd20wID0geworCS5uYW1lCQk9ICJweGEyN3gtcHdtIiwKKwkuaWQJCT0gMCwKKwkucmVzb3VyY2UJPSBweGEyN3hfcmVzb3VyY2VfcHdtMCwKKwkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUocHhhMjd4X3Jlc291cmNlX3B3bTApLAorfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBweGEyN3hfcmVzb3VyY2VfcHdtMVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0CT0gMHg0MGMwMDAwMCwKKwkJLmVuZAk9IDB4NDBjMDAwMWYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCit9OworCitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfcHdtMSA9IHsKKwkubmFtZQkJPSAicHhhMjd4LXB3bSIsCisJLmlkCQk9IDEsCisJLnJlc291cmNlCT0gcHhhMjd4X3Jlc291cmNlX3B3bTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKHB4YTI3eF9yZXNvdXJjZV9wd20xKSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X3Jlc291cmNlX2NhbWVyYVtdID0gewogCVswXSA9IHsKIAkJLnN0YXJ0CT0gMHg1MDAwMDAwMCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaCBiL2FyY2gvYXJtL21hY2gtcHhhL2RldmljZXMuaAppbmRleCBmY2FiMDE3Li5iODUyZWIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9kZXZpY2VzLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZGV2aWNlcy5oCkBAIC0xLDcgKzEsOCBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9tY2k7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX21jaTI7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEzeHhfZGV2aWNlX21jaTM7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX3VkYzsKK2V4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI1eF9kZXZpY2VfdWRjOworZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV91ZGM7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2ZiOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9mZnVhcnQ7CiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2J0dWFydDsKQEAgLTExLDYgKzEyLDcgQEAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YV9kZXZpY2VfaTJzOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9maWNwOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhX2RldmljZV9ydGM7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGFfZGV2aWNlX2FjOTc7CiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfaTJjX3Bvd2VyOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9vaGNpOwpAQCAtMjQsNCArMjYsOSBAQAogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhMjd4X2RldmljZV9zc3AzOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHhhM3h4X2RldmljZV9zc3A0OwogCitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTA7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyNXhfZGV2aWNlX3B3bTE7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTA7CitleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBweGEyN3hfZGV2aWNlX3B3bTE7CisKIHZvaWQgX19pbml0IHB4YV9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2VtLXgyNzAuYwppbmRleCA5YzU3NzAwLi4xYmY2ODA3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9lbS14MjcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZW0teDI3MC5jCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMjd4LXVkYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CkBAIC03MiwxMiArNzQsNiBAQAogCX0KIH07CiAKLS8qIGF1ZGlvIGRldmljZSAqLwotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgZW1feDI3MF9hdWRpbyA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIC8qIFdNOTcxMiB0b3VjaHNjcmVlbiBjb250cm9sbGVyLiBIb3BlZnVsbHkgdGhlIGRyaXZlciB3aWxsIG1ha2UgaXQgdG8KICAqIHRoZSBtYWluc3RyZWFtIHNvbWV0aW1lICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBlbV94MjcwX3RzID0gewpAQCAtMjE3LDcgKzIxMyw2IEBACiAvKiBwbGF0Zm9ybSBkZXZpY2VzICovCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmVtX3gyNzBfZG05aywKLQkmZW1feDI3MF9hdWRpbywKIAkmZW1feDI3MF90cywKIAkmZW1feDI3MF9ydGMsCiAJJmVtX3gyNzBfbmFuZCwKQEAgLTMyNSw2ICszMjAsNyBAQAogCiAJLyogcmVnaXN0ZXIgRU0tWDI3MCBwbGF0Zm9ybSBkZXZpY2VzICovCiAJcGxhdGZvcm1fYWRkX2RldmljZXMocGxhdGZvcm1fZGV2aWNlcywgQVJSQVlfU0laRShwbGF0Zm9ybV9kZXZpY2VzKSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAkvKiBzZXQgTUNJIGFuZCBPSENJIHBsYXRmb3JtIHBhcmFtZXRlcnMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZlbV94MjcwX21jaV9wbGF0Zm9ybV9kYXRhKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2dlbmVyaWMuYwppbmRleCA0NDYxNzkzLi5jYTA1MzIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9nZW5lcmljLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZ2VuZXJpYy5jCkBAIC02MCwyMyArNjAsNiBAQAogRVhQT1JUX1NZTUJPTChnZXRfbWVtY2xrX2ZyZXF1ZW5jeV8xMGtoeik7CiAKIC8qCi0gKiBSb3V0aW5lIHRvIHNhZmVseSBlbmFibGUgb3IgZGlzYWJsZSBhIGNsb2NrIGluIHRoZSBDS0VOCi0gKi8KLXZvaWQgX19weGFfc2V0X2NrZW4oaW50IGNsb2NrLCBpbnQgZW5hYmxlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCi0JaWYgKGVuYWJsZSkKLQkJQ0tFTiB8PSAoMSA8PCBjbG9jayk7Ci0JZWxzZQotCQlDS0VOICY9IH4oMSA8PCBjbG9jayk7Ci0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fcHhhX3NldF9ja2VuKTsKLQotLyoKICAqIEludGVsIFBYQTJ4eCBpbnRlcm5hbCByZWdpc3RlciBtYXBwaW5nLgogICoKICAqIE5vdGUgMTogbm90IGFsbCBQWEEyeHggdmFyaWFudHMgaW1wbGVtZW50IGFsbCB0aG9zZSBhZGRyZXNzZXMuCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9pcnEuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCmluZGV4IGE5YTBjM2YuLmZiZmY1NTcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2lycS5jCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbHBkMjcwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYwppbmRleCBhMjBlNGIxLi5jYzFjNGZhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9scGQyNzAuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvcGFydGl0aW9ucy5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KIAogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMTM0LDkgKzEzNSwxMiBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBscGQyNzBfaXJxX2RldmljZV9pbml0KHZvaWQpCiB7Ci0JaW50IHJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmbHBkMjcwX2lycV9zeXNjbGFzcyk7Ci0JaWYgKHJldCA9PSAwKQotCQlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmxwZDI3MF9pcnFfZGV2aWNlKTsKKwlpbnQgcmV0ID0gLUVOT0RFVjsKKwlpZiAobWFjaGluZV9pc19sb2dpY3BkX3B4YTI3MCgpKSB7CisJCXJldCA9IHN5c2Rldl9jbGFzc19yZWdpc3RlcigmbHBkMjcwX2lycV9zeXNjbGFzcyk7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9IHN5c2Rldl9yZWdpc3RlcigmbHBkMjcwX2lycV9kZXZpY2UpOworCX0KIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNjQsMTEgKzE2OCw2IEBACiAJLnJlc291cmNlCT0gc21jOTF4X3Jlc291cmNlcywKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGxwZDI3MF9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi19OwotCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGxwZDI3MF9mbGFzaF9yZXNvdXJjZXNbXSA9IHsKIAlbMF0gPSB7CiAJCS5zdGFydAk9IFBYQV9DUzBfUEhZUywKQEAgLTIzMywyMSArMjMyLDIwIEBACiAJfSwKIH07CiAKLXN0YXRpYyB2b2lkIGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIoaW50IG9uKQotewotCWlmIChvbikgewotCQlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7Ci0JCVBXTV9DVFJMMCA9IDA7Ci0JCVBXTV9QV0RVVFkwID0gMHgzZmY7Ci0JCVBXTV9QRVJWQUwwID0gMHgzZmY7Ci0JfSBlbHNlIHsKLQkJUFdNX0NUUkwwID0gMDsKLQkJUFdNX1BXRFVUWTAgPSAweDA7Ci0JCVBXTV9QRVJWQUwwID0gMHgzRkY7Ci0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDApOwotCX0KLX0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIGxwZDI3MF9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMSwKKwkuZGZ0X2JyaWdodG5lc3MJPSAxLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBscGQyNzBfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQJPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmbHBkMjcwX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OwogCiAvKiA1LjciIFRGVCBRVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDEpICovCiBzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBzaGFycF9scTA1N3EzZGMwMl9tb2RlID0gewpAQCAtMjY5LDcgKzI2Nyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAxMi4xIiBURlQgU1ZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciAyKSAqLwpAQCAtMjkyLDcgKzI4OSw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAzLjYiIFRGVCBRVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDMpICovCkBAIC0zMTUsNyArMzExLDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDYuNCIgVEZUIFZHQSAoTG9MbyBkaXNwbGF5IG51bWJlciA1KSAqLwpAQCAtMzM4LDcgKzMzMyw2IEBACiAJLm51bV9tb2RlcwkJPSAxLAogCS5sY2NyMAkJCT0gMHgwNzgwMDA4MCwKIAkubGNjcjMJCQk9IDB4MDA0MDAwMDAsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IGxwZDI3MF9iYWNrbGlnaHRfcG93ZXIsCiB9OwogCiAvKiAxMC40IiBURlQgVkdBIChMb0xvIGRpc3BsYXkgbnVtYmVyIDcpICovCkBAIC0zNjEsNyArMzU1LDYgQEAKIAkubnVtX21vZGVzCQk9IDEsCiAJLmxjY3IwCQkJPSAweDA3ODAwMDgwLAogCS5sY2NyMwkJCT0gMHgwMDQwMDAwMCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0gbHBkMjcwX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIC8qIDMuNSIgVEZUIFFWR0EgKExvTG8gZGlzcGxheSBudW1iZXIgOCkgKi8KQEAgLTM4NCw3ICszNzcsNiBAQAogCS5udW1fbW9kZXMJCT0gMSwKIAkubGNjcjAJCQk9IDB4MDc4MDAwODAsCiAJLmxjY3IzCQkJPSAweDAwNDAwMDAwLAotCS5weGFmYl9iYWNrbGlnaHRfcG93ZXIJPSBscGQyNzBfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8gKmxwZDI3MF9sY2RfdG9fdXNlOwpAQCAtNDE0LDcgKzQwNiw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF0Zm9ybV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc21jOTF4X2RldmljZSwKLQkmbHBkMjcwX2F1ZGlvX2RldmljZSwKKwkmbHBkMjcwX2JhY2tsaWdodF9kZXZpY2UsCiAJJmxwZDI3MF9mbGFzaF9kZXZpY2VbMF0sCiAJJmxwZDI3MF9mbGFzaF9kZXZpY2VbMV0sCiB9OwpAQCAtNDU0LDkgKzQ0NiwxMiBAQAogCSAqIE9uIExvZ2ljUEQgUFhBMjcwLCB3ZSByb3V0ZSBBQzk3X1NZU0NMSyB2aWEgR1BJTzQ1LgogCSAqLwogCXB4YV9ncGlvX21vZGUoR1BJTzQ1X1NZU0NMS19BQzk3X01EKTsKKwlweGFfZ3Bpb19tb2RlKEdQSU8xNl9QV00wX01EKTsKIAogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHBsYXRmb3JtX2RldmljZXMsIEFSUkFZX1NJWkUocGxhdGZvcm1fZGV2aWNlcykpOwogCisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CisKIAlpZiAobHBkMjcwX2xjZF90b191c2UgIT0gTlVMTCkKIAkJc2V0X3B4YV9mYl9pbmZvKGxwZDI3MF9sY2RfdG9fdXNlKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jCmluZGV4IDdiOWJkZDAuLmEzZmFlNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2x1YmJvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9sdWJib2NrLmMKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI1eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbHViYm9jay5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3VkYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KQEAgLTE5NiwxMSArMTk3LDYgQEAKIAkvLyBubyBEKyBwdWxsdXA7IGx1YmJvY2sgY2FuJ3QgY29ubmVjdC9kaXNjb25uZWN0IGluIHNvZnR3YXJlCiB9OwogCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBsdWJfYXVkaW9fZGV2aWNlID0gewotCS5uYW1lCQk9ICJweGEyeHgtYWM5NyIsCi0JLmlkCQk9IC0xLAotfTsKLQogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzYTExMTFfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSAweDEwMDAwMDAwLApAQCAtMzY4LDcgKzM2NCw2IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmc2ExMTExX2RldmljZSwKLQkmbHViX2F1ZGlvX2RldmljZSwKIAkmc21jOTF4X2RldmljZSwKIAkmbHViYm9ja19mbGFzaF9kZXZpY2VbMF0sCiAJJmx1YmJvY2tfZmxhc2hfZGV2aWNlWzFdLApAQCAtNDk0LDYgKzQ4OSw3IEBACiAJc2V0X3B4YV9mYl9pbmZvKCZzaGFycF9sbTh2MzEpOwogCXB4YV9zZXRfbWNpX2luZm8oJmx1YmJvY2tfbWNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfZmljcF9pbmZvKCZsdWJib2NrX2ZpY3BfcGxhdGZvcm1fZGF0YSk7CisJcHhhX3NldF9hYzk3X2luZm8oTlVMTCk7CiAKIAlsdWJib2NrX2ZsYXNoX2RhdGFbMF0ud2lkdGggPSBsdWJib2NrX2ZsYXNoX2RhdGFbMV0ud2lkdGggPQogCQkoQk9PVF9ERUYgJiAxKSA/IDIgOiA0OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYyBiL2FyY2gvYXJtL21hY2gtcHhhL21hZ2ljaWFuLmMKaW5kZXggYmFkYmEwNi4uMDFiMmZhNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWdpY2lhbi5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CiAjaW5jbHVkZSA8bGludXgvcGRhX3Bvd2VyLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL2dwaW8uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KQEAgLTMzLDEyICszNCwxNCBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL21hZ2ljaWFuLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTI3eC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2kyYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vaGNpLmg+CiAKKyNpbmNsdWRlICJkZXZpY2VzLmgiCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBtYWdpY2lhbl9waW5fY29uZmlnW10gPSB7CkBAIC0zNDgsNDAgKzM1MSw1OCBAQAogICogQmFja2xpZ2h0CiAgKi8KIAotc3RhdGljIHZvaWQgbWFnaWNpYW5fc2V0X2JsX2ludGVuc2l0eShpbnQgaW50ZW5zaXR5KQorc3RhdGljIGludCBtYWdpY2lhbl9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JaWYgKGludGVuc2l0eSkgewotCQlQV01fQ1RSTDAgPSAxOwotCQlQV01fUEVSVkFMMCA9IDB4Yzg7Ci0JCWlmIChpbnRlbnNpdHkgPiAweGM3KSB7Ci0JCQlQV01fUFdEVVRZMCA9IGludGVuc2l0eSAtIDB4NDg7Ci0JCQlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUjIsIDEpOwotCQl9IGVsc2UgewotCQkJUFdNX1BXRFVUWTAgPSBpbnRlbnNpdHk7Ci0JCQlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUjIsIDApOwotCQl9Ci0JCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAxKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMSk7CisJaW50IHJldDsKKworCXJldCA9IGdwaW9fcmVxdWVzdChFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUiwgIkJMX1BPV0VSIik7CisJaWYgKHJldCkKKwkJZ290byBlcnI7CisJcmV0ID0gZ3Bpb19yZXF1ZXN0KEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgIkJMX1BPV0VSMiIpOworCWlmIChyZXQpCisJCWdvdG8gZXJyMjsKKwlyZXR1cm4gMDsKKworZXJyMjoKKwlncGlvX2ZyZWUoRUdQSU9fTUFHSUNJQU5fQkxfUE9XRVIpOworZXJyOgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbWFnaWNpYW5fYmFja2xpZ2h0X25vdGlmeShpbnQgYnJpZ2h0bmVzcykKK3sKKwlncGlvX3NldF92YWx1ZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUiwgYnJpZ2h0bmVzcyk7CisJaWYgKGJyaWdodG5lc3MgPj0gMjAwKSB7CisJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMSk7CisJCXJldHVybiBicmlnaHRuZXNzIC0gNzI7CiAJfSBlbHNlIHsKLQkJLyogUFdNX1BXRFVUWTAgPSBpbnRlbnNpdHk7ICovCi0JCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSLCAwKTsKLQkJcHhhX3NldF9ja2VuKENLRU5fUFdNMCwgMCk7CisJCWdwaW9fc2V0X3ZhbHVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMiwgMCk7CisJCXJldHVybiBicmlnaHRuZXNzOwogCX0KIH0KIAotc3RhdGljIHN0cnVjdCBnZW5lcmljX2JsX2luZm8gYmFja2xpZ2h0X2luZm8gPSB7Ci0JLmRlZmF1bHRfaW50ZW5zaXR5ID0gMHg2NCwKLQkubGltaXRfbWFzayAgICAgICAgPSAweDBiLAotCS5tYXhfaW50ZW5zaXR5ICAgICA9IDB4YzcrMHg0OCwKLQkuc2V0X2JsX2ludGVuc2l0eSAgPSBtYWdpY2lhbl9zZXRfYmxfaW50ZW5zaXR5LAorc3RhdGljIHZvaWQgbWFnaWNpYW5fYmFja2xpZ2h0X2V4aXQoc3RydWN0IGRldmljZSAqZGV2KQoreworCWdwaW9fZnJlZShFR1BJT19NQUdJQ0lBTl9CTF9QT1dFUik7CisJZ3Bpb19mcmVlKEVHUElPX01BR0lDSUFOX0JMX1BPV0VSMik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIGJhY2tsaWdodF9kYXRhID0geworCS5wd21faWQgICAgICAgICA9IDAsCisJLm1heF9icmlnaHRuZXNzID0gMjcyLAorCS5kZnRfYnJpZ2h0bmVzcyA9IDEwMCwKKwkucHdtX3BlcmlvZF9ucyAgPSAzMDkyMywKKwkuaW5pdCAgICAgICAgICAgPSBtYWdpY2lhbl9iYWNrbGlnaHRfaW5pdCwKKwkubm90aWZ5ICAgICAgICAgPSBtYWdpY2lhbl9iYWNrbGlnaHRfbm90aWZ5LAorCS5leGl0ICAgICAgICAgICA9IG1hZ2ljaWFuX2JhY2tsaWdodF9leGl0LAogfTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFja2xpZ2h0ID0gewotCS5uYW1lID0gImdlbmVyaWMtYmwiLAorCS5uYW1lID0gInB3bS1iYWNrbGlnaHQiLAogCS5kZXYgID0gewotCQkucGxhdGZvcm1fZGF0YSA9ICZiYWNrbGlnaHRfaW5mbywKKwkJLnBhcmVudCAgICAgICAgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYmFja2xpZ2h0X2RhdGEsCiAJfSwKLQkuaWQgICA9IC0xLAogfTsKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL21haW5zdG9uZS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKaW5kZXggNzM5OWZiMy4uZjJlOWU3YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvbWFpbnN0b25lLmMKQEAgLTIzLDkgKzIzLDkgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CiAjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KLSNpbmNsdWRlIDxsaW51eC9iYWNrbGlnaHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L2dwaW9fa2V5cy5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KIAogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgpAQCAtMjgwLDEyICsyODAsNiBAQAogCS5yZXN1bWUJCT0gbXN0X2F1ZGlvX3Jlc3VtZSwKIH07CiAKLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG1zdF9hdWRpb19kZXZpY2UgPSB7Ci0JLm5hbWUJCT0gInB4YTJ4eC1hYzk3IiwKLQkuaWQJCT0gLTEsCi0JLmRldgkJPSB7IC5wbGF0Zm9ybV9kYXRhID0gJm1zdF9hdWRpb19vcHMgfSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZmxhc2hfcmVzb3VyY2VzW10gPSB7CiAJWzBdID0gewogCQkuc3RhcnQJPSBQWEFfQ1MwX1BIWVMsCkBAIC0zNDksNTYgKzM0MywyNyBAQAogCX0sCiB9OwogCi0jaWZkZWYgQ09ORklHX0JBQ0tMSUdIVF9DTEFTU19ERVZJQ0UKLXN0YXRpYyBpbnQgbWFpbnN0b25lX2JhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKLXsKLQlpbnQgYnJpZ2h0bmVzcyA9IGJsLT5wcm9wcy5icmlnaHRuZXNzOworI2lmIGRlZmluZWQoQ09ORklHX0ZCX1BYQSkgfHwgZGVmaW5lZChDT05GSUdfRkJfUFhBX01PRFVMRSkKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIG1haW5zdG9uZV9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMTAyMywKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDIzLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OwogCi0JaWYgKGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LIHx8Ci0JICAgIGJsLT5wcm9wcy5mYl9ibGFuayAhPSBGQl9CTEFOS19VTkJMQU5LKQotCQlicmlnaHRuZXNzID0gMDsKLQotCWlmIChicmlnaHRuZXNzICE9IDApCi0JCXB4YV9zZXRfY2tlbihDS0VOX1BXTTAsIDEpOwotCi0JUFdNX0NUUkwwID0gMDsKLQlQV01fUFdEVVRZMCA9IGJyaWdodG5lc3M7Ci0JUFdNX1BFUlZBTDAgPSBibC0+cHJvcHMubWF4X2JyaWdodG5lc3M7Ci0KLQlpZiAoYnJpZ2h0bmVzcyA9PSAwKQotCQlweGFfc2V0X2NrZW4oQ0tFTl9QV00wLCAwKTsKLQlyZXR1cm4gMDsgLyogcG9pbnRsZXNzIHJldHVybiB2YWx1ZSAqLwotfQotCi1zdGF0aWMgaW50IG1haW5zdG9uZV9iYWNrbGlnaHRfZ2V0X2JyaWdodG5lc3Moc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsKQotewotCXJldHVybiBQV01fUFdEVVRZMDsKLX0KLQotc3RhdGljIC8qY29uc3QqLyBzdHJ1Y3QgYmFja2xpZ2h0X29wcyBtYWluc3RvbmVfYmFja2xpZ2h0X29wcyA9IHsKLQkudXBkYXRlX3N0YXR1cwk9IG1haW5zdG9uZV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cywKLQkuZ2V0X2JyaWdodG5lc3MJPSBtYWluc3RvbmVfYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzLAorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbWFpbnN0b25lX2JhY2tsaWdodF9kZXZpY2UgPSB7CisJLm5hbWUJCT0gInB3bS1iYWNrbGlnaHQiLAorCS5kZXYJCT0geworCQkucGFyZW50ID0gJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYsCisJCS5wbGF0Zm9ybV9kYXRhID0gJm1haW5zdG9uZV9iYWNrbGlnaHRfZGF0YSwKKwl9LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IG1haW5zdG9uZV9iYWNrbGlnaHRfcmVnaXN0ZXIodm9pZCkKIHsKLQlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmw7Ci0KLQlibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoIm1haW5zdG9uZS1ibCIsICZweGFfZGV2aWNlX2ZiLmRldiwKLQkJCQkgICAgICAgTlVMTCwgJm1haW5zdG9uZV9iYWNrbGlnaHRfb3BzKTsKLQlpZiAoSVNfRVJSKGJsKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1haW5zdG9uZTogdW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodDogJWxkXG4iLAotCQkgICAgICAgUFRSX0VSUihibCkpOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBicm9rZW4gZGVzaWduIC0gcmVnaXN0ZXItdGhlbi1zZXR1cCBpbnRlcmZhY2VzIGFyZQotCSAqIHV0dGVybHkgYnJva2VuIGJ5IGRlZmluaXRpb24uCi0JICovCi0JYmwtPnByb3BzLm1heF9icmlnaHRuZXNzID0gMTAyMzsKLQlibC0+cHJvcHMuYnJpZ2h0bmVzcyA9IDEwMjM7Ci0JYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCWludCByZXQgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJm1haW5zdG9uZV9iYWNrbGlnaHRfZGV2aWNlKTsKKwlpZiAocmV0KQorCQlwcmludGsoS0VSTl9FUlIgIm1haW5zdG9uZTogZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2U6ICVkXG4iLCByZXQpOwogfQogI2Vsc2UKICNkZWZpbmUgbWFpbnN0b25lX2JhY2tsaWdodF9yZWdpc3RlcigpCWRvIHsgfSB3aGlsZSAoMCkKQEAgLTUyOCw3ICs0OTMsNiBAQAogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGxhdGZvcm1fZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJnNtYzkxeF9kZXZpY2UsCi0JJm1zdF9hdWRpb19kZXZpY2UsCiAJJm1zdF9mbGFzaF9kZXZpY2VbMF0sCiAJJm1zdF9mbGFzaF9kZXZpY2VbMV0sCiAJJm1zdF9ncGlvX2tleXNfZGV2aWNlLApAQCAtNjM4LDYgKzYwMiw3IEBACiAJcHhhX3NldF9maWNwX2luZm8oJm1haW5zdG9uZV9maWNwX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfb2hjaV9pbmZvKCZtYWluc3RvbmVfb2hjaV9wbGF0Zm9ybV9kYXRhKTsKIAlweGFfc2V0X2kyY19pbmZvKE5VTEwpOworCXB4YV9zZXRfYWM5N19pbmZvKCZtc3RfYXVkaW9fb3BzKTsKIAogCW1haW5zdG9uZV9pbml0X2tleXBhZCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbWZwLXB4YTJ4eC5jCmluZGV4IDIyMDk3YTEuLmQxY2RiNGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL21mcC1weGEyeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9tZnAtcHhhMnh4LmMKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyeHguaD4KIAogI2luY2x1ZGUgImdlbmVyaWMuaCIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3BjbTk5MC1iYXNlYm9hcmQuYwppbmRleCA0OWQ5NTFkLi41ZDg3YzdjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9wY205OTAtYmFzZWJvYXJkLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcGNtOTkwLWJhc2Vib2FyZC5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaWRlLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8bWVkaWEvc29jX2NhbWVyYS5oPgogCkBAIC0zMywxMiArMzQsMTAzIEBACiAjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BjbTk5MF9iYXNlYm9hcmQuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGFmYi5oPgorCisjaW5jbHVkZSAiZGV2aWNlcy5oIgogCiAvKgotICogVGhlIFBDTS05OTAgZGV2ZWxvcG1lbnQgYmFzZWJvYXJkIHVzZXMgUENNLTAyNydzIGhhcmRld2FyZSBpbiB0aGUKKyAqIHBjbTk5MF9sY2RfcG93ZXIgLSBjb250cm9sIHBvd2VyIHN1cHBseSB0byB0aGUgTENECisgKiBAb246IDAgPSBzd2l0Y2ggb2ZmLCAxID0gc3dpdGNoIG9uCisgKgorICogQ2FsbGVkIGJ5IHRoZSBweGFmYiBkcml2ZXIKKyAqLworI2lmbmRlZiBDT05GSUdfUENNOTkwX0RJU1BMQVlfTk9ORQorc3RhdGljIHZvaWQgcGNtOTkwX2xjZF9wb3dlcihpbnQgb24sIHN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyAqdmFyKQoreworCWlmIChvbikgeworCQkvKiBlbmFibGUgTENELUxhdGNoZXMKKwkJICogcG93ZXIgb24gTENECisJCSAqLworCQlfX1BDTTk5MF9DVFJMX1JFRyhQQ005OTBfQ1RSTF9QSFlTICsgUENNOTkwX0NUUkxfUkVHMykgPQorCQkJUENNOTkwX0NUUkxfTENEUFdSICsgUENNOTkwX0NUUkxfTENET047CisJfSBlbHNlIHsKKwkJLyogZGlzYWJsZSBMQ0QtTGF0Y2hlcworCQkgKiBwb3dlciBvZmYgTENECisJCSAqLworCQlfX1BDTTk5MF9DVFJMX1JFRyhQQ005OTBfQ1RSTF9QSFlTICsgUENNOTkwX0NUUkxfUkVHMykgPSAweDAwOworCX0KK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfUENNOTkwX0RJU1BMQVlfU0hBUlApCitzdGF0aWMgc3RydWN0IHB4YWZiX21vZGVfaW5mbyBmYl9pbmZvX3NoYXJwX2xxMDg0djFkZzIxID0geworCS5waXhjbG9jawkJPSAyODAwMCwKKwkueHJlcwkJCT0gNjQwLAorCS55cmVzCQkJPSA0ODAsCisJLmJwcAkJCT0gMTYsCisJLmhzeW5jX2xlbgkJPSAyMCwKKwkubGVmdF9tYXJnaW4JCT0gMTAzLAorCS5yaWdodF9tYXJnaW4JCT0gNDcsCisJLnZzeW5jX2xlbgkJPSA2LAorCS51cHBlcl9tYXJnaW4JCT0gMjgsCisJLmxvd2VyX21hcmdpbgkJPSA1LAorCS5zeW5jCQkJPSAwLAorCS5jbWFwX2dyZXlzY2FsZQkJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8gcGNtOTkwX2ZiaW5mbyBfX2luaXRkYXRhID0geworCS5tb2RlcwkJCT0gJmZiX2luZm9fc2hhcnBfbHEwODR2MWRnMjEsCisJLm51bV9tb2RlcwkJPSAxLAorCS5sY2NyMAkJCT0gTENDUjBfUEFTLAorCS5sY2NyMwkJCT0gTENDUjNfUENQLAorCS5weGFmYl9sY2RfcG93ZXIJPSBwY205OTBfbGNkX3Bvd2VyLAorfTsKKyNlbGlmIGRlZmluZWQoQ09ORklHX1BDTTk5MF9ESVNQTEFZX05FQykKK3N0cnVjdCBweGFmYl9tb2RlX2luZm8gZmJfaW5mb19uZWNfbmw2NDQ4YmMyMF8xOGQgPSB7CisJLnBpeGNsb2NrCQk9IDM5NzIwLAorCS54cmVzCQkJPSA2NDAsCisJLnlyZXMJCQk9IDQ4MCwKKwkuYnBwCQkJPSAxNiwKKwkuaHN5bmNfbGVuCQk9IDMyLAorCS5sZWZ0X21hcmdpbgkJPSAxNiwKKwkucmlnaHRfbWFyZ2luCQk9IDQ4LAorCS52c3luY19sZW4JCT0gMiwKKwkudXBwZXJfbWFyZ2luCQk9IDEyLAorCS5sb3dlcl9tYXJnaW4JCT0gMTcsCisJLnN5bmMJCQk9IDAsCisJLmNtYXBfZ3JleXNjYWxlCQk9IDAsCit9OworCitzdGF0aWMgc3RydWN0IHB4YWZiX21hY2hfaW5mbyBwY205OTBfZmJpbmZvIF9faW5pdGRhdGEgPSB7CisJLm1vZGVzCQkJPSAmZmJfaW5mb19uZWNfbmw2NDQ4YmMyMF8xOGQsCisJLm51bV9tb2RlcwkJPSAxLAorCS5sY2NyMAkJCT0gTENDUjBfQWN0LAorCS5sY2NyMwkJCT0gTENDUjNfUGl4RmxFZGcsCisJLnB4YWZiX2xjZF9wb3dlcgk9IHBjbTk5MF9sY2RfcG93ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHBjbTk5MF9iYWNrbGlnaHRfZGF0YSA9IHsKKwkucHdtX2lkCQk9IDAsCisJLm1heF9icmlnaHRuZXNzCT0gMTAyMywKKwkuZGZ0X2JyaWdodG5lc3MJPSAxMDIzLAorCS5wd21fcGVyaW9kX25zCT0gNzg3NzAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBwY205OTBfYmFja2xpZ2h0X2RldmljZSA9IHsKKwkubmFtZQkJPSAicHdtLWJhY2tsaWdodCIsCisJLmRldgkJPSB7CisJCS5wYXJlbnQgPSAmcHhhMjd4X2RldmljZV9wd20wLmRldiwKKwkJLnBsYXRmb3JtX2RhdGEgPSAmcGNtOTkwX2JhY2tsaWdodF9kYXRhLAorCX0sCit9OworCisvKgorICogVGhlIFBDTS05OTAgZGV2ZWxvcG1lbnQgYmFzZWJvYXJkIHVzZXMgUENNLTAyNydzIGhhcmR3YXJlIGluIHRoZQogICogZm9sbG93aW5nIHdheToKICAqCiAgKiAtIExDRCBzdXBwb3J0IGlzIGluIHVzZQpAQCAtMzMzLDM2ICs0MjUsNiBAQAogI2VuZGlmIC8qIENPTkZJR19WSURFT19QWEEyN3ggfHxDT05GSUdfVklERU9fUFhBMjd4X01PRFVMRSAqLwogCiAvKgotICogQUM5NyBzdXBwb3J0Ci0gKiBOb3RlOiBUaGUgY29ubmVjdGVkIEFDOTcgbWl4ZXIgYWxzbyByZXBvcnRzIGludGVycnVwdHMgYXQgUENNOTkwX0FDOTdfSVJRCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgcHhhMjd4X2FjOTdfcmVzb3VyY2VzW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQgID0gMHg0MDUwMDAwMCwKLQkJLmVuZAk9IDB4NDA1MDAwMDAgKyAweGZmZiwKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JWzFdID0gewotCQkuc3RhcnQgID0gSVJRX0FDOTcsCi0JCS5lbmQgICAgPSBJUlFfQUM5NywKLQkJLmZsYWdzICA9IElPUkVTT1VSQ0VfSVJRLAotCX0sCi19OwotCi1zdGF0aWMgdTY0IHB4YV9hYzk3X2RtYW1hc2sgPSAweGZmZmZmZmZmVUw7Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHB4YTI3eF9kZXZpY2VfYWM5NyA9IHsKLQkubmFtZSAgICAgICAgICAgPSAicHhhMnh4LWFjOTciLAotCS5pZCAgICAgICAgICAgICA9IC0xLAotCS5kZXYgICAgICAgICAgICA9IHsKLQkJLmRtYV9tYXNrID0gJnB4YV9hYzk3X2RtYW1hc2ssCi0JCS5jb2hlcmVudF9kbWFfbWFzayA9IDB4ZmZmZmZmZmYsCi0JfSwKLQkubnVtX3Jlc291cmNlcyAgPSBBUlJBWV9TSVpFKHB4YTI3eF9hYzk3X3Jlc291cmNlcyksCi0JLnJlc291cmNlICAgICAgID0gcHhhMjd4X2FjOTdfcmVzb3VyY2VzLAotfTsKLQotLyoKICAqIGVuYWJsZSBnZW5lcmljIGFjY2VzcyB0byB0aGUgYmFzZSBib2FyZCBjb250cm9sIENQTERzIFU2IGFuZCBVNwogICovCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIHBjbTk5MF9pb19kZXNjW10gX19pbml0ZGF0YSA9IHsKQEAgLTM5Myw3ICs0NTUsMTEgQEAKIAkvKiByZWdpc3RlciBDUExEJ3MgSVJRIGNvbnRyb2xsZXIgKi8KIAlwY205OTBfaW5pdF9pcnEoKTsKIAotCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcHhhMjd4X2RldmljZV9hYzk3KTsKKyNpZm5kZWYgQ09ORklHX1BDTTk5MF9ESVNQTEFZX05PTkUKKwlzZXRfcHhhX2ZiX2luZm8oJnBjbTk5MF9mYmluZm8pOworI2VuZGlmCisJcHhhX2dwaW9fbW9kZShHUElPMTZfUFdNMF9NRCk7CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZwY205OTBfYmFja2xpZ2h0X2RldmljZSk7CiAKIAkvKiBNTUMgKi8KIAlweGFfc2V0X21jaV9pbmZvKCZwY205OTBfbWNpX3BsYXRmb3JtX2RhdGEpOwpAQCAtNDAyLDYgKzQ2OCw3IEBACiAJcHhhX3NldF9vaGNpX2luZm8oJnBjbTk5MF9vaGNpX3BsYXRmb3JtX2RhdGEpOwogCiAJcHhhX3NldF9pMmNfaW5mbyhOVUxMKTsKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX1ZJREVPX1BYQTI3eCkgfHwgZGVmaW5lZChDT05GSUdfVklERU9fUFhBMjd4X01PRFVMRSkKIAlweGFfc2V0X2NhbWVyYV9pbmZvKCZwY205OTBfcHhhY2FtZXJhX3BsYXRmb3JtX2RhdGEpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcG9vZGxlLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYwppbmRleCAwYjMwZjI1Li5mODFjMTBjIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wb29kbGUuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvbW1jLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvdWRjLmg+CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9wd20uYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMjhjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9wd20uYwpAQCAtMCwwICsxLDMxOSBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtcHhhL3B3bS5jCisgKgorICogc2ltcGxlIGRyaXZlciBmb3IgUFdNIChQdWxzZSBXaWR0aCBNb2R1bGF0b3IpIGNvbnRyb2xsZXIKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIDIwMDgtMDItMTMJaW5pdGlhbCB2ZXJzaW9uCisgKiAJCWVyaWMgbWlhbyA8ZXJpYy5taWFvQG1hcnZlbGwuY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bS5oPgorCisjaW5jbHVkZSA8YXNtL2RpdjY0Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKworLyogUFdNIHJlZ2lzdGVycyBhbmQgYml0cyBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQV01DUgkJKDB4MDApCisjZGVmaW5lIFBXTURDUgkJKDB4MDQpCisjZGVmaW5lIFBXTVBDUgkJKDB4MDgpCisKKyNkZWZpbmUgUFdNQ1JfU0QJKDEgPDwgNikKKyNkZWZpbmUgUFdNRENSX0ZECSgxIDw8IDEwKQorCitzdHJ1Y3QgcHdtX2RldmljZSB7CisJc3RydWN0IGxpc3RfaGVhZAlub2RlOworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisKKwljb25zdCBjaGFyCSpsYWJlbDsKKwlzdHJ1Y3QgY2xrCSpjbGs7CisJaW50CQljbGtfZW5hYmxlZDsKKwl2b2lkIF9faW9tZW0JKm1taW9fYmFzZTsKKworCXVuc2lnbmVkIGludAl1c2VfY291bnQ7CisJdW5zaWduZWQgaW50CXB3bV9pZDsKK307CisKKy8qCisgKiBwZXJpb2RfbnMgPSAxMF45ICogKFBSRVNDQUxFICsgMSkgKiAoUFYgKyAxKSAvIFBXTV9DTEtfUkFURQorICogZHV0eV9ucyAgID0gMTBeOSAqIChQUkVTQ0FMRSArIDEpICogREMgLyBQV01fQ0xLX1JBVEUKKyAqLworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIGM7CisJdW5zaWduZWQgbG9uZyBwZXJpb2RfY3ljbGVzLCBwcmVzY2FsZSwgcHYsIGRjOworCisJaWYgKHB3bSA9PSBOVUxMIHx8IHBlcmlvZF9ucyA9PSAwIHx8IGR1dHlfbnMgPiBwZXJpb2RfbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJYyA9IGNsa19nZXRfcmF0ZShwd20tPmNsayk7CisJYyA9IGMgKiBwZXJpb2RfbnM7CisJZG9fZGl2KGMsIDEwMDAwMDAwMDApOworCXBlcmlvZF9jeWNsZXMgPSBjOworCisJaWYgKHBlcmlvZF9jeWNsZXMgPCAwKQorCQlwZXJpb2RfY3ljbGVzID0gMTsKKwlwcmVzY2FsZSA9IChwZXJpb2RfY3ljbGVzIC0gMSkgLyAxMDI0OworCXB2ID0gcGVyaW9kX2N5Y2xlcyAvIChwcmVzY2FsZSArIDEpIC0gMTsKKworCWlmIChwcmVzY2FsZSA+IDYzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChkdXR5X25zID09IHBlcmlvZF9ucykKKwkJZGMgPSBQV01EQ1JfRkQ7CisJZWxzZQorCQlkYyA9IChwdiArIDEpICogZHV0eV9ucyAvIHBlcmlvZF9uczsKKworCS8qIE5PVEU6IHRoZSBjbG9jayB0byBQV00gaGFzIHRvIGJlIGVuYWJsZWQgZmlyc3QKKwkgKiBiZWZvcmUgd3JpdGluZyB0byB0aGUgcmVnaXN0ZXJzCisJICovCisJY2xrX2VuYWJsZShwd20tPmNsayk7CisJX19yYXdfd3JpdGVsKHByZXNjYWxlLCBwd20tPm1taW9fYmFzZSArIFBXTUNSKTsKKwlfX3Jhd193cml0ZWwoZGMsIHB3bS0+bW1pb19iYXNlICsgUFdNRENSKTsKKwlfX3Jhd193cml0ZWwocHYsIHB3bS0+bW1pb19iYXNlICsgUFdNUENSKTsKKwljbGtfZGlzYWJsZShwd20tPmNsayk7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2NvbmZpZyk7CisKK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJaW50IHJjID0gMDsKKworCWlmICghcHdtLT5jbGtfZW5hYmxlZCkgeworCQlyYyA9IGNsa19lbmFibGUocHdtLT5jbGspOworCQlpZiAoIXJjKQorCQkJcHdtLT5jbGtfZW5hYmxlZCA9IDE7CisJfQorCXJldHVybiByYzsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2VuYWJsZSk7CisKK3ZvaWQgcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwlpZiAocHdtLT5jbGtfZW5hYmxlZCkgeworCQljbGtfZGlzYWJsZShwd20tPmNsayk7CisJCXB3bS0+Y2xrX2VuYWJsZWQgPSAwOworCX0KK30KK0VYUE9SVF9TWU1CT0wocHdtX2Rpc2FibGUpOworCitzdGF0aWMgREVGSU5FX01VVEVYKHB3bV9sb2NrKTsKK3N0YXRpYyBMSVNUX0hFQUQocHdtX2xpc3QpOworCitzdHJ1Y3QgcHdtX2RldmljZSAqcHdtX3JlcXVlc3QoaW50IHB3bV9pZCwgY29uc3QgY2hhciAqbGFiZWwpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKwlpbnQgZm91bmQgPSAwOworCisJbXV0ZXhfbG9jaygmcHdtX2xvY2spOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwd20sICZwd21fbGlzdCwgbm9kZSkgeworCQlpZiAocHdtLT5wd21faWQgPT0gcHdtX2lkKSB7CisJCQlmb3VuZCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChmb3VuZCkgeworCQlpZiAocHdtLT51c2VfY291bnQgPT0gMCkgeworCQkJcHdtLT51c2VfY291bnQrKzsKKwkJCXB3bS0+bGFiZWwgPSBsYWJlbDsKKwkJfSBlbHNlCisJCQlwd20gPSBFUlJfUFRSKC1FQlVTWSk7CisJfSBlbHNlCisJCXB3bSA9IEVSUl9QVFIoLUVOT0VOVCk7CisKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKKwlyZXR1cm4gcHdtOworfQorRVhQT1JUX1NZTUJPTChwd21fcmVxdWVzdCk7CisKK3ZvaWQgcHdtX2ZyZWUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSkKK3sKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlpZiAocHdtLT51c2VfY291bnQpIHsKKwkJcHdtLT51c2VfY291bnQtLTsKKwkJcHdtLT5sYWJlbCA9IE5VTEw7CisJfSBlbHNlCisJCXByX3dhcm5pbmcoIlBXTSBkZXZpY2UgYWxyZWFkeSBmcmVlZFxuIik7CisKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0wocHdtX2ZyZWUpOworCitzdGF0aWMgaW5saW5lIHZvaWQgX19hZGRfcHdtKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJbXV0ZXhfbG9jaygmcHdtX2xvY2spOworCWxpc3RfYWRkX3RhaWwoJnB3bS0+bm9kZSwgJnB3bV9saXN0KTsKKwltdXRleF91bmxvY2soJnB3bV9sb2NrKTsKK30KKworc3RhdGljIHN0cnVjdCBwd21fZGV2aWNlICpwd21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJdW5zaWduZWQgaW50IHB3bV9pZCwgc3RydWN0IHB3bV9kZXZpY2UgKnBhcmVudF9wd20pCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bTsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldCA9IDA7CisKKwlwd20gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgcHdtX2RldmljZSksIEdGUF9LRVJORUwpOworCWlmIChwd20gPT0gTlVMTCkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5XG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJfQorCisJcHdtLT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJQV01DTEsiKTsKKwlpZiAoSVNfRVJSKHB3bS0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKHB3bS0+Y2xrKTsKKwkJZ290byBlcnJfZnJlZTsKKwl9CisJcHdtLT5jbGtfZW5hYmxlZCA9IDA7CisKKwlwd20tPnVzZV9jb3VudCA9IDA7CisJcHdtLT5wd21faWQgPSBwd21faWQ7CisJcHdtLT5wZGV2ID0gcGRldjsKKworCWlmIChwYXJlbnRfcHdtICE9IE5VTEwpIHsKKwkJLyogcmVnaXN0ZXJzIGZvciB0aGUgc2Vjb25kIFBXTSBoYXMgb2Zmc2V0IG9mIDB4MTAgKi8KKwkJcHdtLT5tbWlvX2Jhc2UgPSBwYXJlbnRfcHdtLT5tbWlvX2Jhc2UgKyAweDEwOworCQlfX2FkZF9wd20ocHdtKTsKKwkJcmV0dXJuIHB3bTsKKwl9CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAociA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIm5vIG1lbW9yeSByZXNvdXJjZSBkZWZpbmVkXG4iKTsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBlcnJfZnJlZV9jbGs7CisJfQorCisJciA9IHJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLCBwZGV2LT5uYW1lKTsKKwlpZiAociA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZXF1ZXN0IG1lbW9yeSByZXNvdXJjZVxuIik7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBlcnJfZnJlZV9jbGs7CisJfQorCisJcHdtLT5tbWlvX2Jhc2UgPSBpb3JlbWFwKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworCWlmIChwd20tPm1taW9fYmFzZSA9PSBOVUxMKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBpb3JlbWFwKCkgcmVnaXN0ZXJzXG4iKTsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBlcnJfZnJlZV9tZW07CisJfQorCisJX19hZGRfcHdtKHB3bSk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgcHdtKTsKKwlyZXR1cm4gcHdtOworCitlcnJfZnJlZV9tZW06CisJcmVsZWFzZV9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOworZXJyX2ZyZWVfY2xrOgorCWNsa19wdXQocHdtLT5jbGspOworZXJyX2ZyZWU6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gRVJSX1BUUihyZXQpOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdCBweGEyNXhfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCwgTlVMTCk7CisKKwlpZiAoSVNfRVJSKHB3bSkpCisJCXJldHVybiBQVFJfRVJSKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgcHhhMjd4X3B3bV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBwd21fZGV2aWNlICpwd207CisKKwlwd20gPSBwd21fcHJvYmUocGRldiwgcGRldi0+aWQsIE5VTEwpOworCWlmIChJU19FUlIocHdtKSkKKwkJcmV0dXJuIFBUUl9FUlIocHdtKTsKKworCXB3bSA9IHB3bV9wcm9iZShwZGV2LCBwZGV2LT5pZCArIDIsIHB3bSk7CisJaWYgKElTX0VSUihwd20pKQorCQlyZXR1cm4gUFRSX0VSUihwd20pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IHB3bV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXN0cnVjdCByZXNvdXJjZSAqcjsKKworCXB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCWlmIChwd20gPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisJbGlzdF9kZWwoJnB3bS0+bm9kZSk7CisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisKKwlpb3VubWFwKHB3bS0+bW1pb19iYXNlKTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCXJlbGVhc2VfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxKTsKKworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB4YTI1eF9wd21fZHJpdmVyID0geworCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJweGEyNXgtcHdtIiwKKwl9LAorCS5wcm9iZQkJPSBweGEyNXhfcHdtX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3AocHdtX3JlbW92ZSksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBweGEyN3hfcHdtX2RyaXZlciA9IHsKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAicHhhMjd4LXB3bSIsCisJfSwKKwkucHJvYmUJCT0gcHhhMjd4X3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHB3bV9yZW1vdmUpLAorfTsKKworc3RhdGljIGludCBfX2luaXQgcHdtX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhMjV4X3B3bV9kcml2ZXIpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcHhhMjV4X3B3bV9kcml2ZXJcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmcHhhMjd4X3B3bV9kcml2ZXIpOworCWlmIChyZXQpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgcHhhMjd4X3B3bV9kcml2ZXJcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiByZXQ7Cit9CithcmNoX2luaXRjYWxsKHB3bV9pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IHB3bV9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnB4YTI1eF9wd21fZHJpdmVyKTsKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmcHhhMjd4X3B3bV9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQocHdtX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyNXguYyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCmluZGV4IGU1YjQxN2QuLjRjZDUwZTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL3B4YTI1eC5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaXJxcy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tZnAtcHhhMjV4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG0uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9kbWEuaD4KQEAgLTExNywyOSArMTE4LDM1IEBACiAJSU5JVF9DS0VOKCJVQVJUQ0xLIiwgSFdVQVJULCAxNDc0NTYwMCwgMSwgJnB4YV9kZXZpY2VfaHd1YXJ0LmRldikKIDsKIAorLyoKKyAqIFBYQSAyeHggY2xvY2sgZGVjbGFyYXRpb25zLiBPcmRlciBpcyBpbXBvcnRhbnQgKHNlZSBhbGlhc2VzIGJlbG93KQorICogUGxlYXNlIGJlIGNhcmVmdWwgbm90IHRvIGRpc3J1cHQgdGhlIG9yZGVyaW5nLgorICovCiBzdGF0aWMgc3RydWN0IGNsayBweGEyNXhfY2xrc1tdID0gewogCUlOSVRfQ0soIkxDRENMSyIsIExDRCwgJmNsa19weGEyNXhfbGNkX29wcywgJnB4YV9kZXZpY2VfZmIuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBGRlVBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9mZnVhcnQuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBCVFVBUlQsIDE0NzQ1NjAwLCAxLCAmcHhhX2RldmljZV9idHVhcnQuZGV2KSwKIAlJTklUX0NLRU4oIlVBUlRDTEsiLCBTVFVBUlQsIDE0NzQ1NjAwLCAxLCBOVUxMKSwKLQlJTklUX0NLRU4oIlVEQ0NMSyIsIFVTQiwgNDc5MjMwMDAsIDUsICZweGFfZGV2aWNlX3VkYy5kZXYpLAorCUlOSVRfQ0tFTigiVURDQ0xLIiwgVVNCLCA0NzkyMzAwMCwgNSwgJnB4YTI1eF9kZXZpY2VfdWRjLmRldiksCiAJSU5JVF9DS0VOKCJNTUNDTEsiLCBNTUMsIDE5MTY5MDAwLCAwLCAmcHhhX2RldmljZV9tY2kuZGV2KSwKIAlJTklUX0NLRU4oIkkyQ0NMSyIsIEkyQywgMzE5NDkwMDAsIDAsICZweGFfZGV2aWNlX2kyYy5kZXYpLAogCiAJSU5JVF9DS0VOKCJTU1BDTEsiLCAgU1NQLCAzNjg2NDAwLCAwLCAmcHhhMjV4X2RldmljZV9zc3AuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIE5TU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX25zc3AuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIEFTU1AsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX2Fzc3AuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTAsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3B3bTAuZGV2KSwKKwlJTklUX0NLRU4oIlBXTUNMSyIsIFBXTTEsIDM2ODY0MDAsIDAsICZweGEyNXhfZGV2aWNlX3B3bTEuZGV2KSwKIAogCUlOSVRfQ0tFTigiQUM5N0NMSyIsICAgICBBQzk3LCAgICAgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCiAJLyoKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAzNjg2NDAwLCAgMCwgTlVMTCksCi0JSU5JVF9DS0VOKCJQV01DTEsiLCAgUFdNMCwgMzY4NjQwMCwgIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiSTJTQ0xLIiwgIEkyUywgIDE0NzQ1NjAwLCAwLCBOVUxMKSwKIAkqLwogCUlOSVRfQ0tFTigiRklDUENMSyIsIEZJQ1AsIDQ3OTIzMDAwLCAwLCBOVUxMKSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgY2xrIGdwaW83X2NsayA9IElOSVRfQ0tPVEhFUigiR1BJTzdfQ0siLCAmcHhhMjV4X2Nsa3NbNF0sIE5VTEwpOworCiAjaWZkZWYgQ09ORklHX1BNCiAKICNkZWZpbmUgU0FWRSh4KQkJc2xlZXBfc2F2ZVtTTEVFUF9TQVZFXyMjeF0gPSB4CkBAIC0yNjAsNyArMjY3LDcgQEAKIH0KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnB4YTI1eF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcHhhX2RldmljZV91ZGMsCisJJnB4YTI1eF9kZXZpY2VfdWRjLAogCSZweGFfZGV2aWNlX2ZmdWFydCwKIAkmcHhhX2RldmljZV9idHVhcnQsCiAJJnB4YV9kZXZpY2Vfc3R1YXJ0LApAQCAtMjY5LDYgKzI3Niw4IEBACiAJJnB4YTI1eF9kZXZpY2Vfc3NwLAogCSZweGEyNXhfZGV2aWNlX25zc3AsCiAJJnB4YTI1eF9kZXZpY2VfYXNzcCwKKwkmcHhhMjV4X2RldmljZV9wd20wLAorCSZweGEyNXhfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhMjV4X3N5c2RldltdID0gewpAQCAtMzExLDYgKzMyMCw4IEBACiAJaWYgKGNwdV9pc19weGEyNXgoKSkKIAkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZweGFfZGV2aWNlX2h3dWFydCk7CiAKKwljbGtzX3JlZ2lzdGVyKCZncGlvN19jbGssIDEpOworCiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMjd4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYwppbmRleCA3ZTk0NTgzLi5kNWQxNGVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyN3guYwpAQCAtMTQ2LDcgKzE0Niw3IEBACiAKIAlJTklUX0NLRU4oIkkyU0NMSyIsICBJMlMsICAxNDY4MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJzLmRldiksCiAJSU5JVF9DS0VOKCJJMkNDTEsiLCAgSTJDLCAgMzI4NDIwMDAsIDAsICZweGFfZGV2aWNlX2kyYy5kZXYpLAotCUlOSVRfQ0tFTigiVURDQ0xLIiwgIFVTQiwgIDQ4MDAwMDAwLCA1LCAmcHhhX2RldmljZV91ZGMuZGV2KSwKKwlJTklUX0NLRU4oIlVEQ0NMSyIsICBVU0IsICA0ODAwMDAwMCwgNSwgJnB4YTI3eF9kZXZpY2VfdWRjLmRldiksCiAJSU5JVF9DS0VOKCJNTUNDTEsiLCAgTU1DLCAgMTk1MDAwMDAsIDAsICZweGFfZGV2aWNlX21jaS5kZXYpLAogCUlOSVRfQ0tFTigiRklDUENMSyIsIEZJQ1AsIDQ4MDAwMDAwLCAwLCAmcHhhX2RldmljZV9maWNwLmRldiksCiAKQEAgLTE1NywxMiArMTU3LDEzIEBACiAJSU5JVF9DS0VOKCJTU1BDTEsiLCBTU1AxLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMS5kZXYpLAogCUlOSVRfQ0tFTigiU1NQQ0xLIiwgU1NQMiwgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3NzcDIuZGV2KSwKIAlJTklUX0NLRU4oIlNTUENMSyIsIFNTUDMsIDEzMDAwMDAwLCAwLCAmcHhhMjd4X2RldmljZV9zc3AzLmRldiksCisJSU5JVF9DS0VOKCJQV01DTEsiLCBQV00wLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYpLAorCUlOSVRfQ0tFTigiUFdNQ0xLIiwgUFdNMSwgMTMwMDAwMDAsIDAsICZweGEyN3hfZGV2aWNlX3B3bTEuZGV2KSwKIAogCUlOSVRfQ0tFTigiQUM5N0NMSyIsICAgICBBQzk3LCAgICAgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiQUM5N0NPTkZDTEsiLCBBQzk3Q09ORiwgMjQ1NzYwMDAsIDAsIE5VTEwpLAogCiAJLyoKLQlJTklUX0NLRU4oIlBXTUNMSyIsICBQV00wLCAxMzAwMDAwMCwgMCwgTlVMTCksCiAJSU5JVF9DS0VOKCJNU0xDTEsiLCAgTVNMLCAgNDgwMDAwMDAsIDAsIE5VTEwpLAogCUlOSVRfQ0tFTigiVVNJTUNMSyIsIFVTSU0sIDQ4MDAwMDAwLCAwLCBOVUxMKSwKIAlJTklUX0NLRU4oIk1TVEtDTEsiLCBNRU1TVEssIDE5NTAwMDAwLCAwLCBOVUxMKSwKQEAgLTM0OSwxMSArMzUwLDE0IEBACiAKIHZvaWQgX19pbml0IHB4YV9zZXRfaTJjX3Bvd2VyX2luZm8oc3RydWN0IGkyY19weGFfcGxhdGZvcm1fZGF0YSAqaW5mbykKIHsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCVBDRlIgfD0gUENGUl9QSTJDRU47CisJbG9jYWxfaXJxX2VuYWJsZSgpOwogCXB4YTI3eF9kZXZpY2VfaTJjX3Bvd2VyLmRldi5wbGF0Zm9ybV9kYXRhID0gaW5mbzsKIH0KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldmljZXNbXSBfX2luaXRkYXRhID0gewotCSZweGFfZGV2aWNlX3VkYywKKwkmcHhhMjd4X2RldmljZV91ZGMsCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC0zNjMsNiArMzY3LDggQEAKIAkmcHhhMjd4X2RldmljZV9zc3AxLAogCSZweGEyN3hfZGV2aWNlX3NzcDIsCiAJJnB4YTI3eF9kZXZpY2Vfc3NwMywKKwkmcHhhMjd4X2RldmljZV9wd20wLAorCSZweGEyN3hfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhMjd4X3N5c2RldltdID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEyeHguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGY2NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcHhhMnh4LmMKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIGxpbnV4L2FyY2gvYXJtL21hY2gtcHhhL3B4YTJ4eC5jCisgKgorICogY29kZSBzcGVjaWZpYyB0byBweGEyeHgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggRG1pdHJ5IEJhcnlzaGtvdgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbWZwLXB4YTJ4eC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL21mcC1weGEyNXguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9pcmRhLmg+CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfZmlyW10gPSB7CisJR1BJTzQ2X0ZJQ1BfUlhELAorCUdQSU80N19GSUNQX1RYRCwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHB4YTJ4eF9tZnBfc2lyW10gPSB7CisJR1BJTzQ2X1NUVUFSVF9SWEQsCisJR1BJTzQ3X1NUVUFSVF9UWEQsCit9OworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBweGEyeHhfbWZwX29mZltdID0geworCUdQSU80Nl9HUElPIHwgTUZQX0xQTV9EUklWRV9MT1csCisJR1BJTzQ3X0dQSU8gfCBNRlBfTFBNX0RSSVZFX0xPVywKK307CisKK3ZvaWQgcHhhMnh4X3RyYW5zY2VpdmVyX21vZGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbW9kZSkKK3sKKwlpZiAobW9kZSAmIElSX09GRikgeworCQlweGEyeHhfbWZwX2NvbmZpZyhweGEyeHhfbWZwX29mZiwgQVJSQVlfU0laRShweGEyeHhfbWZwX29mZikpOworCX0gZWxzZSBpZiAobW9kZSAmIElSX1NJUk1PREUpIHsKKwkJcHhhMnh4X21mcF9jb25maWcocHhhMnh4X21mcF9zaXIsIEFSUkFZX1NJWkUocHhhMnh4X21mcF9zaXIpKTsKKwl9IGVsc2UgaWYgKG1vZGUgJiBJUl9GSVJNT0RFKSB7CisJCXB4YTJ4eF9tZnBfY29uZmlnKHB4YTJ4eF9tZnBfZmlyLCBBUlJBWV9TSVpFKHB4YTJ4eF9tZnBfZmlyKSk7CisJfSBlbHNlCisJCUJVRygpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvcHhhM3h4LmMgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYwppbmRleCA2NDQ1NTBiLi4xNTY4NWQyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9weGEzeHguYwpAQCAtMjMxLDcgKzIzMSw3IEBACiAJUFhBM3h4X0NLRU4oIlVBUlRDTEsiLCBTVFVBUlQsIDE0ODU3MDAwLCAxLCBOVUxMKSwKIAogCVBYQTN4eF9DS0VOKCJJMkNDTEsiLCBJMkMsICAzMjg0MjAwMCwgMCwgJnB4YV9kZXZpY2VfaTJjLmRldiksCi0JUFhBM3h4X0NLRU4oIlVEQ0NMSyIsIFVEQywgIDQ4MDAwMDAwLCA1LCAmcHhhX2RldmljZV91ZGMuZGV2KSwKKwlQWEEzeHhfQ0tFTigiVURDQ0xLIiwgVURDLCAgNDgwMDAwMDAsIDUsICZweGEyN3hfZGV2aWNlX3VkYy5kZXYpLAogCVBYQTN4eF9DS0VOKCJVU0JDTEsiLCBVU0JILCA0ODAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfb2hjaS5kZXYpLAogCVBYQTN4eF9DS0VOKCJLQkRDTEsiLCBLRVlQQUQsICAzMjc2OCwgMCwgJnB4YTI3eF9kZXZpY2Vfa2V5cGFkLmRldiksCiAKQEAgLTIzOSw2ICsyMzksOCBAQAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1AyLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMi5kZXYpLAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1AzLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2Vfc3NwMy5kZXYpLAogCVBYQTN4eF9DS0VOKCJTU1BDTEsiLCBTU1A0LCAxMzAwMDAwMCwgMCwgJnB4YTN4eF9kZXZpY2Vfc3NwNC5kZXYpLAorCVBYQTN4eF9DS0VOKCJQV01DTEsiLCBQV00wLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMC5kZXYpLAorCVBYQTN4eF9DS0VOKCJQV01DTEsiLCBQV00xLCAxMzAwMDAwMCwgMCwgJnB4YTI3eF9kZXZpY2VfcHdtMS5kZXYpLAogCiAJUFhBM3h4X0NLRU4oIk1NQ0NMSyIsIE1NQzEsIDE5NTAwMDAwLCAwLCAmcHhhX2RldmljZV9tY2kuZGV2KSwKIAlQWEEzeHhfQ0tFTigiTU1DQ0xLIiwgTU1DMiwgMTk1MDAwMDAsIDAsICZweGEzeHhfZGV2aWNlX21jaTIuZGV2KSwKQEAgLTUyMCw3ICs1MjIsNyBAQAogICovCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKLQkmcHhhX2RldmljZV91ZGMsCisvKgkmcHhhX2RldmljZV91ZGMsCVRoZSBVREMgZHJpdmVyIGlzIFBYQTI1eCBvbmx5ICovCiAJJnB4YV9kZXZpY2VfZmZ1YXJ0LAogCSZweGFfZGV2aWNlX2J0dWFydCwKIAkmcHhhX2RldmljZV9zdHVhcnQsCkBAIC01MzAsNiArNTMyLDggQEAKIAkmcHhhMjd4X2RldmljZV9zc3AyLAogCSZweGEyN3hfZGV2aWNlX3NzcDMsCiAJJnB4YTN4eF9kZXZpY2Vfc3NwNCwKKwkmcHhhMjd4X2RldmljZV9wd20wLAorCSZweGEyN3hfZGV2aWNlX3B3bTEsCiB9OwogCiBzdGF0aWMgc3RydWN0IHN5c19kZXZpY2UgcHhhM3h4X3N5c2RldltdID0gewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYyBiL2FyY2gvYXJtL21hY2gtcHhhL3NwaXR6X3BtLmMKaW5kZXggMjNmMDUwZi4uMzYwMzU0MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvc3BpdHpfcG0uYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9zcGl0el9wbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc2hhcnBzbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3NwaXR6Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CiAjaW5jbHVkZSAic2hhcnBzbC5oIgogCkBAIC0yMDcsNyArMjA4LDkgQEAKIAkucmVhZF9kZXZkYXRhICAgICA9IHNwaXR6cG1fcmVhZF9kZXZkYXRhLAogCS5jaGFyZ2VyX3dha2V1cCAgID0gc3BpdHpfY2hhcmdlcl93YWtldXAsCiAJLnNob3VsZF93YWtldXAgICAgPSBzcGl0el9zaG91bGRfd2FrZXVwLAorI2lmZGVmIENPTkZJR19CQUNLTElHSFRfQ09SR0kKICAgICAgICAgLmJhY2tsaWdodF9saW1pdCAgPSBjb3JnaWJsX2xpbWl0X2ludGVuc2l0eSwKKyNlbmRpZgogCS5jaGFyZ2Vfb25fdm9sdAkgID0gU0hBUlBTTF9DSEFSR0VfT05fVk9MVCwKIAkuY2hhcmdlX29uX3RlbXAJICA9IFNIQVJQU0xfQ0hBUkdFX09OX1RFTVAsCiAJLmNoYXJnZV9hY2luX2hpZ2ggPSBTSEFSUFNMX0NIQVJHRV9PTl9BQ0lOX0hJR0gsCkBAIC0yMjksNiArMjMyLDEwIEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19zcGl0eigpICYmICFtYWNoaW5lX2lzX2FraXRhKCkKKwkJCSYmICFtYWNoaW5lX2lzX2JvcnpvaSgpKQorCQlyZXR1cm4gLUVOT0RFVjsKKwogCXNwaXR6cG1fZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzaGFycHNsLXBtIiwgLTEpOwogCWlmICghc3BpdHpwbV9kZXZpY2UpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TIGIvYXJjaC9hcm0vbWFjaC1weGEvc3RhbmRieS5TCmluZGV4IDE2NzQxMmUuLjQwYmI3MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3N0YW5kYnkuUworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9zdGFuZGJ5LlMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4KIAogCQkudGV4dAogCkBAIC0zNSwyMCArMzYsMjAgQEAKIAogI2lmZGVmIENPTkZJR19QWEEzeHgKIAotI2RlZmluZSBNRENORkcJCTB4MDAwMAotI2RlZmluZSBNRENORkdfRE1DRU4JKDEgPDwgMzApCi0jZGVmaW5lIEREUl9IQ0FMCTB4MDA2MAotI2RlZmluZSBERFJfSENBTF9IQ1JORwkweDFmCi0jZGVmaW5lIEREUl9IQ0FMX0hDUFJPRwkoMSA8PCAyOCkKLSNkZWZpbmUgRERSX0hDQUxfSENFTgkoMSA8PCAzMSkKLSNkZWZpbmUgRE1DSUVSCQkweDAwNzAKLSNkZWZpbmUgRE1DSUVSX0VETFAJKDEgPDwgMjkpCi0jZGVmaW5lIERNQ0lTUgkJMHgwMDc4Ci0jZGVmaW5lIFJDT01QCQkweDAxMDAKLSNkZWZpbmUgUkNPTVBfU1dFVkFMCSgxIDw8IDMxKQorI2RlZmluZSBQWEEzX01EQ05GRwkJMHgwMDAwCisjZGVmaW5lIFBYQTNfTURDTkZHX0RNQ0VOCSgxIDw8IDMwKQorI2RlZmluZSBQWEEzX0REUl9IQ0FMCQkweDAwNjAKKyNkZWZpbmUgUFhBM19ERFJfSENBTF9IQ1JORwkweDFmCisjZGVmaW5lIFBYQTNfRERSX0hDQUxfSENQUk9HCSgxIDw8IDI4KQorI2RlZmluZSBQWEEzX0REUl9IQ0FMX0hDRU4JKDEgPDwgMzEpCisjZGVmaW5lIFBYQTNfRE1DSUVSCQkweDAwNzAKKyNkZWZpbmUgUFhBM19ETUNJRVJfRURMUAkoMSA8PCAyOSkKKyNkZWZpbmUgUFhBM19ETUNJU1IJCTB4MDA3OAorI2RlZmluZSBQWEEzX1JDT01QCQkweDAxMDAKKyNkZWZpbmUgUFhBM19SQ09NUF9TV0VWQUwJKDEgPDwgMzEpCiAKIEVOVFJZKHBtX2VudGVyX3N0YW5kYnlfc3RhcnQpCi0JbW92CXIxLCAjMHhmNjAwMDAwMAkJQCBETUVNQ19SRUdfQkFTRSAoTURDTkZHKQorCW1vdglyMSwgIzB4ZjYwMDAwMDAJCQlAIERNRU1DX1JFR19CQVNFIChQWEEzX01EQ05GRykKIAlhZGQJcjEsIHIxLCAjMHgwMDEwMDAwMAogCiAJLyoKQEAgLTU5LDU0ICs2MCw1NCBAQAogCSAqIFRoaXMgYWxzbyBtZWFucyB0aGF0IG9ubHkgdGhlIGR5bmFtaWMgbWVtb3J5IGNvbnRyb2xsZXIKIAkgKiBjYW4gYmUgcmVsaWFibHkgYWNjZXNzZWQgaW4gdGhlIGNvZGUgZm9sbG93aW5nIHN0YW5kYnkuCiAJICovCi0JbGRyCXIyLCBbcjFdCQlAIER1bW15IHJlYWQgTURDTkZHCisJbGRyCXIyLCBbcjFdCQkJQCBEdW1teSByZWFkIFBYQTNfTURDTkZHCiAKIAltY3IJcDE0LCAwLCByMCwgYzcsIGMwLCAwCiAJLnJlcHQJOAogCW5vcAogCS5lbmRyCiAKLQlsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQlAIENsZWFyIChhbmQgd2FpdCBmb3IpIEhDRU4KLQliaWMJcjAsIHIwLCAjRERSX0hDQUxfSENFTgotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCi0xOglsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQotCXRzdAlyMCwgI0REUl9IQ0FMX0hDRU4KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgQ2xlYXIgKGFuZCB3YWl0IGZvcikgSENFTgorCWJpYwlyMCwgcjAsICNQWEEzX0REUl9IQ0FMX0hDRU4KKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCisJdHN0CXIwLCAjUFhBM19ERFJfSENBTF9IQ0VOCiAJYm5lCTFiCiAKLQlsZHIJcjAsIFtyMSwgI1JDT01QXQlAIEluaXRpYXRlIFJDT01QCi0Jb3JyCXIwLCByMCwgI1JDT01QX1NXRVZBTAotCXN0cglyMCwgW3IxLCAjUkNPTVBdCisJbGRyCXIwLCBbcjEsICNQWEEzX1JDT01QXQkJQCBJbml0aWF0ZSBSQ09NUAorCW9ycglyMCwgcjAsICNQWEEzX1JDT01QX1NXRVZBTAorCXN0cglyMCwgW3IxLCAjUFhBM19SQ09NUF0KIAotCW1vdglyMCwgI34wCQkJQCBDbGVhciBpbnRlcnJ1cHRzCi0Jc3RyCXIwLCBbcjEsICNETUNJU1JdCisJbW92CXIwLCAjfjAJCQkJQCBDbGVhciBpbnRlcnJ1cHRzCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lTUl0KIAotCWxkcglyMCwgW3IxLCAjRE1DSUVSXQlAIHNldCBETUlFUltFRExQXQotCW9ycglyMCwgcjAsICNETUNJRVJfRURMUAotCXN0cglyMCwgW3IxLCAjRE1DSUVSXQorCWxkcglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCQlAIHNldCBETUlFUltFRExQXQorCW9ycglyMCwgcjAsICNQWEEzX0RNQ0lFUl9FRExQCisJc3RyCXIwLCBbcjEsICNQWEEzX0RNQ0lFUl0KIAotCWxkcglyMCwgW3IxLCAjRERSX0hDQUxdCUAgY2xlYXIgSENSTkcsIHNldCBIQ1BST0csIEhDRU4KLQliaWMJcjAsIHIwLCAjRERSX0hDQUxfSENSTkcKLQlvcnIJcjAsIHIwLCAjRERSX0hDQUxfSENFTiB8IEREUl9IQ0FMX0hDUFJPRwotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCisJbGRyCXIwLCBbcjEsICNQWEEzX0REUl9IQ0FMXQlAIGNsZWFyIEhDUk5HLCBzZXQgSENQUk9HLCBIQ0VOCisJYmljCXIwLCByMCwgI1BYQTNfRERSX0hDQUxfSENSTkcKKwlvcnIJcjAsIHIwLCAjUFhBM19ERFJfSENBTF9IQ0VOIHwgUFhBM19ERFJfSENBTF9IQ1BST0cKKwlzdHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCiAKLTE6CWxkcglyMCwgW3IxLCAjRE1DSVNSXQotCXRzdAlyMCwgI0RNQ0lFUl9FRExQCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfRE1DSVNSXQorCXRzdAlyMCwgI1BYQTNfRE1DSUVSX0VETFAKIAliZXEJMWIKIAotCWxkcglyMCwgW3IxLCAjTURDTkZHXQlAIHNldCBNRENORkdbRE1DRU5dCi0Jb3JyCXIwLCByMCwgI01EQ05GR19ETUNFTgotCXN0cglyMCwgW3IxLCAjTURDTkZHXQotMToJbGRyCXIwLCBbcjEsICNNRENORkddCi0JdHN0CXIwLCAjTURDTkZHX0RNQ0VOCisJbGRyCXIwLCBbcjEsICNQWEEzX01EQ05GR10JCUAgc2V0IFBYQTNfTURDTkZHW0RNQ0VOXQorCW9ycglyMCwgcjAsICNQWEEzX01EQ05GR19ETUNFTgorCXN0cglyMCwgW3IxLCAjUFhBM19NRENORkddCisxOglsZHIJcjAsIFtyMSwgI1BYQTNfTURDTkZHXQorCXRzdAlyMCwgI1BYQTNfTURDTkZHX0RNQ0VOCiAJYmVxCTFiCiAKLQlsZHIJcjAsIFtyMSwgI0REUl9IQ0FMXQlAIHNldCBERFJfSENBTFtIQ1JOR10KKwlsZHIJcjAsIFtyMSwgI1BYQTNfRERSX0hDQUxdCUAgc2V0IFBYQTNfRERSX0hDQUxbSENSTkddCiAJb3JyCXIwLCByMCwgIzIgQCBIQ1JORwotCXN0cglyMCwgW3IxLCAjRERSX0hDQUxdCisJc3RyCXIwLCBbcjEsICNQWEEzX0REUl9IQ0FMXQogCi0JbGRyCXIwLCBbcjEsICNETUNJRVJdCUAgQ2xlYXIgdGhlIGludGVycnVwdAorCWxkcglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCQlAIENsZWFyIHRoZSBpbnRlcnJ1cHQKIAliaWMJcjAsIHIwLCAjMHgyMDAwMDAwMAotCXN0cglyMCwgW3IxLCAjRE1DSUVSXQorCXN0cglyMCwgW3IxLCAjUFhBM19ETUNJRVJdCiAKIAltb3YJcGMsIGxyCiBFTlRSWShwbV9lbnRlcl9zdGFuZGJ5X2VuZCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMgYi9hcmNoL2FybS9tYWNoLXB4YS90cml6ZXBzNC5jCmluZGV4IDkzMTg4NWQuLjYxZTI0NDAgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3RyaXplcHM0LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvdHJpemVwczQuYwpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgPGFzbS9tYWNoL2ZsYXNoLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LWdwaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC90cml6ZXBzNC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CkBAIC0xNzUsMTkgKzE3NiwxMCBAQAogCS5yZXNvdXJjZQk9IE5VTEwsCiB9OwogCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIFBYQTI3MCBhYzk3IHNvdW5kIGNvZGVjCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhYzk3X2F1ZGlvX2RldmljZSA9IHsKLQkubmFtZQkJPSAicHhhMnh4LWFjOTciLAotCS5pZAkJPSAtMSwKLX07Ci0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICogdHJpemVwczRfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CiAJJmZsYXNoX2RldmljZSwKIAkmdWFydF9kZXZpY2VzLAogCSZkbTkwMDBfZGV2aWNlLAotCSZhYzk3X2F1ZGlvX2RldmljZSwKIH07CiAKICNpZmRlZiBDT05GSUdfTUFDSF9UUklaRVBTNF9DT05YUwpAQCAtNDM4LDYgKzQzMCw3IEBACiAJcHhhX3NldF9tY2lfaW5mbygmdHJpemVwczRfbWNpX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfZmljcF9pbmZvKCZ0cml6ZXBzNF9maWNwX3BsYXRmb3JtX2RhdGEpOwogCXB4YV9zZXRfb2hjaV9pbmZvKCZ0cml6ZXBzNF9vaGNpX3BsYXRmb3JtX2RhdGEpOworCXB4YV9zZXRfYWM5N19pbmZvKE5VTEwpOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgdHJpemVwczRfbWFwX2lvKHZvaWQpCkBAIC00ODcsNiArNDgwLDcgQEAKIAlDb25YU19CQ1IgPSB0cml6ZXBzX2NvbnhzX2JjcjsKICNlbmRpZgogCisjd2FybmluZyBGSVhNRSAtIGFjY2Vzc2luZyBQTSByZWdpc3RlcnMgZGlyZWN0bHkgaXMgZGVwcmVjYXRlZAogCVBXRVIgID0gMHgwMDAwMDAwMjsKIAlQRkVSICA9IDB4MDAwMDAwMDA7CiAJUFJFUiAgPSAweDAwMDAwMDAyOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYyBiL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlLmMKaW5kZXggNGEwMDI4MC4uNjZiNDQ2YyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGUuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZS5jCkBAIC0xOCwyMiArMTgsMjQgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvcHdtX2JhY2tsaWdodC5oPgogCiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KICNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhZmIuaD4KICNpbmNsdWRlIDxhc20vYXJjaC96eWxvbml0ZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21tYy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTI3eF9rZXlwYWQuaD4KIAorI2luY2x1ZGUgImRldmljZXMuaCIKICNpbmNsdWRlICJnZW5lcmljLmgiCiAKICNkZWZpbmUgTUFYX1NMT1RTCTMKIHN0cnVjdCBwbGF0Zm9ybV9tbWNfc2xvdCB6eWxvbml0ZV9tbWNfc2xvdFtNQVhfU0xPVFNdOwogCi1pbnQgZ3Bpb19iYWNrbGlnaHQ7CiBpbnQgZ3Bpb19ldGhfaXJxOwogCiBpbnQgd205NzEzX2lycTsKQEAgLTYyLDEwICs2NCwyMCBAQAogfTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0ZCX1BYQSkgfHwgZGVmaW5lZChDT05GSUdfRkJfUFhBX01PRFVMRSkKLXN0YXRpYyB2b2lkIHp5bG9uaXRlX2JhY2tsaWdodF9wb3dlcihpbnQgb24pCi17Ci0JZ3Bpb19zZXRfdmFsdWUoZ3Bpb19iYWNrbGlnaHQsIG9uKTsKLX0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fcHdtX2JhY2tsaWdodF9kYXRhIHp5bG9uaXRlX2JhY2tsaWdodF9kYXRhID0geworCS5wd21faWQJCT0gMywKKwkubWF4X2JyaWdodG5lc3MJPSAxMDAsCisJLmRmdF9icmlnaHRuZXNzCT0gMTAwLAorCS5wd21fcGVyaW9kX25zCT0gMTAwMDAsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB6eWxvbml0ZV9iYWNrbGlnaHRfZGV2aWNlID0geworCS5uYW1lCQk9ICJwd20tYmFja2xpZ2h0IiwKKwkuZGV2CQk9IHsKKwkJLnBhcmVudCA9ICZweGEyN3hfZGV2aWNlX3B3bTEuZGV2LAorCQkucGxhdGZvcm1fZGF0YQk9ICZ6eWxvbml0ZV9iYWNrbGlnaHRfZGF0YSwKKwl9LAorfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tb2RlX2luZm8gdG9zaGliYV9sdG0wMzVhNzc2Y19tb2RlID0gewogCS5waXhjbG9jawkJPSAxMTAwMDAsCkBAIC05OCw3ICsxMTAsNiBAQAogc3RhdGljIHN0cnVjdCBweGFmYl9tYWNoX2luZm8genlsb25pdGVfdG9zaGliYV9sY2RfaW5mbyA9IHsKIAkubnVtX21vZGVzICAgICAgCT0gMSwKIAkubGNkX2Nvbm4JCT0gTENEX0NPTE9SX1RGVF8xNkJQUCB8IExDRF9QQ0xLX0VER0VfRkFMTCwKLQkucHhhZmJfYmFja2xpZ2h0X3Bvd2VyCT0genlsb25pdGVfYmFja2xpZ2h0X3Bvd2VyLAogfTsKIAogc3RhdGljIHN0cnVjdCBweGFmYl9tb2RlX2luZm8gc2hhcnBfbHMwMzdfbW9kZXNbXSA9IHsKQEAgLTEzNCwxMyArMTQ1LDExIEBACiAJLm1vZGVzCQkJPSBzaGFycF9sczAzN19tb2RlcywKIAkubnVtX21vZGVzCQk9IDIsCiAJLmxjZF9jb25uCQk9IExDRF9DT0xPUl9URlRfMTZCUFAgfCBMQ0RfUENMS19FREdFX0ZBTEwsCi0JLnB4YWZiX2JhY2tsaWdodF9wb3dlcgk9IHp5bG9uaXRlX2JhY2tsaWdodF9wb3dlciwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCB6eWxvbml0ZV9pbml0X2xjZCh2b2lkKQogewotCS8qIGJhY2tsaWdodCBHUElPOiBvdXRwdXQsIGRlZmF1bHQgb24gKi8KLQlncGlvX2RpcmVjdGlvbl9vdXRwdXQoZ3Bpb19iYWNrbGlnaHQsIDEpOworCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmenlsb25pdGVfYmFja2xpZ2h0X2RldmljZSk7CiAKIAlpZiAobGNkX2lkICYgMHgyMCkgewogCQlzZXRfcHhhX2ZiX2luZm8oJnp5bG9uaXRlX3NoYXJwX2xjZF9pbmZvKTsKQEAgLTMyOSw2ICszMzgsNyBAQAogCXNtYzkxeF9yZXNvdXJjZXNbMV0uZW5kICAgPSBncGlvX3RvX2lycShncGlvX2V0aF9pcnEpOwogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmc21jOTF4X2RldmljZSk7CiAKKwlweGFfc2V0X2FjOTdfaW5mbyhOVUxMKTsKIAl6eWxvbml0ZV9pbml0X2xjZCgpOwogCXp5bG9uaXRlX2luaXRfbW1jKCk7CiAJenlsb25pdGVfaW5pdF9rZXlwYWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlX3B4YTMwMC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKaW5kZXggMzI0ZmI5ZC4uNmY3YWU5NyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzAwLmMKQEAgLTUwLDYgKzUwLDcgQEAKIAlHUElPNzVfTENEX0JJQVMsCiAJR1BJTzc2X0xDRF9WU1lOQywKIAlHUElPMTI3X0xDRF9DU19OLAorCUdQSU8yMF9QV00zX09VVCwJLyogYmFja2xpZ2h0ICovCiAKIAkvKiBCVFVBUlQgKi8KIAlHUElPMTExX1VBUlQyX1JUUywKQEAgLTIwMCw5ICsyMDEsNiBAQAogCQkvKiBkZXRlY3QgTENEIHBhbmVsICovCiAJCXp5bG9uaXRlX2RldGVjdF9sY2RfcGFuZWwoKTsKIAotCQkvKiBHUElPIHBpbiBhc3NpZ25tZW50ICovCi0JCWdwaW9fYmFja2xpZ2h0ID0gbWZwX3RvX2dwaW8oTUZQX1BJTl9HUElPMjApOwotCiAJCS8qIE1NQyBjYXJkIGRldGVjdCAmIHdyaXRlIHByb3RlY3QgZm9yIGNvbnRyb2xsZXIgMCAqLwogCQl6eWxvbml0ZV9tbWNfc2xvdFswXS5ncGlvX2NkICA9IEVYVF9HUElPKDApOwogCQl6eWxvbml0ZV9tbWNfc2xvdFswXS5ncGlvX3dwICA9IEVYVF9HUElPKDIpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvenlsb25pdGVfcHhhMzIwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYwppbmRleCAxOTNkMDc5Li4yYjRmYzM0IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZV9weGEzMjAuYwpAQCAtNDksNiArNDksNyBAQAogCUdQSU8xNV8yX0xDRF9MQ0xLLAogCUdQSU8xNl8yX0xDRF9QQ0xLLAogCUdQSU8xN18yX0xDRF9CSUFTLAorCUdQSU8xNF9QV00zX09VVCwJLyogYmFja2xpZ2h0ICovCiAKIAkvKiBGRlVBUlQgKi8KIAlHUElPNDFfVUFSVDFfUlhEIHwgTUZQX0xQTV9FREdFX0ZBTEwsCkBAIC0xODcsNyArMTg4LDYgQEAKIAkJenlsb25pdGVfZGV0ZWN0X2xjZF9wYW5lbCgpOwogCiAJCS8qIEdQSU8gcGluIGFzc2lnbm1lbnQgKi8KLQkJZ3Bpb19iYWNrbGlnaHQJPSBtZnBfdG9fZ3BpbyhNRlBfUElOX0dQSU8xNCk7CiAJCWdwaW9fZXRoX2lycQk9IG1mcF90b19ncGlvKE1GUF9QSU5fR1BJTzkpOwogCiAJCS8qIE1NQyBjYXJkIGRldGVjdCAmIHdyaXRlIHByb3RlY3QgZm9yIGNvbnRyb2xsZXIgMCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL0tjb25maWcgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZwppbmRleCBjZDNkYzA4Li45OWZkYzczIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvS2NvbmZpZwpAQCAtMzcsNiArMzcsMTcgQEAKIAloZWxwCiAJICBDbG9jayBjb2RlIGZvciB0aGUgUzNDMjQxMCwgYW5kIHNpbWlsYXIgcHJvY2Vzc29ycwogCitjb25maWcgU0lNVEVDX05PUgorCWJvb2wKKwloZWxwCisJICBJbnRlcm5hbCBub2RlIHRvIHNwZWNpZnkgbWFjaGluZSBoYXMgc2ltdGVjIE5PUiBtYXBwaW5nCisKK2NvbmZpZyBNQUNIX0JBU1RfSURFCisJYm9vbAorCXNlbGVjdCBIQVZFX1BBVEFfUExBVEZPUk0KKwloZWxwCisJICBJbnRlcm5hbCBub2RlIGZvciBtYWNoaW5lcyB3aXRoIGFuIEJBU1Qgc3R5bGUgSURFCisJICBpbnRlcmZhY2UKIAogbWVudSAiUzNDMjQxMCBNYWNoaW5lcyIKIApAQCAtNjEsMTUgKzcyLDE4IEBACiAJICBJbnRlcm5hbCBub2RlIGZvciBIMTk0MCBhbmQgcmVsYXRlZCBQTQogCiBjb25maWcgTUFDSF9OMzAKLQlib29sICJBY2VyIE4zMCIKKwlib29sICJBY2VyIE4zMCBmYW1pbHkiCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJaGVscAotCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBBY2VyIE4zMAorCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCBzdXBwdCBmb3IgdGhlIEFjZXIgTjMwLCBBY2VyIE4zNSwKKwkgIE5hdm1hbiBQaU41NzAsIFlha3VtbyBBbHBoYVggb3IgQWlyaXMgTkMwNSBQREFzLgogCiBjb25maWcgQVJDSF9CQVNUCiAJYm9vbCAiU2ltdGVjIEVsZWN0cm9uaWNzIEJBU1QgKEVCMjQxMElUWCkiCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJc2VsZWN0IFBNX1NJTVRFQyBpZiBQTQorCXNlbGVjdCBTSU1URUNfTk9SCisJc2VsZWN0IE1BQ0hfQkFTVF9JREUKIAlzZWxlY3QgSVNBCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBTaW10ZWMgRWxlY3Ryb25pY3MgRUIyNDEwSVRYCkBAIC0xMDcsNiArMTIxLDggQEAKIGNvbmZpZyBNQUNIX1ZSMTAwMAogCWJvb2wgIlRob3Jjb20gVlIxMDAwIgogCXNlbGVjdCBQTV9TSU1URUMgaWYgUE0KKwlzZWxlY3QgU0lNVEVDX05PUgorCXNlbGVjdCBNQUNIX0JBU1RfSURFCiAJc2VsZWN0IENQVV9TM0MyNDEwCiAJaGVscAogCSAgU2F5IFkgaGVyZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSBUaG9yY29tIFZSMTAwMCBib2FyZC4KQEAgLTExOCw0ICsxMzQsMyBAQAogCSAgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgQXJtem9uZSBRVDI0MTAKIAogZW5kbWVudQotCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvTWFrZWZpbGUKaW5kZXggY2FiYzEzYy4uMDBmMzFmOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9NYWtlZmlsZQpAQCAtMzAsMyArMzAsMTEgQEAKIG9iai0kKENPTkZJR19NQUNIX1RDVF9IQU1NRVIpCSs9IG1hY2gtdGN0X2hhbW1lci5vCiBvYmotJChDT05GSUdfTUFDSF9WUjEwMDApCSs9IG1hY2gtdnIxMDAwLm8gdXNiLXNpbXRlYy5vCiBvYmotJChDT05GSUdfTUFDSF9RVDI0MTApCSs9IG1hY2gtcXQyNDEwLm8KKworIyBDb21tb24gYml0cyBvZiBtYWNoaW5lIHN1cHBvcnQKKworb2JqLSQoQ09ORklHX1NJTVRFQ19OT1IpCSs9IG5vci1zaW10ZWMubworCisjIG1hY2hpbmUgYWRkaXRpb25zCisKK29iai0kKENPTkZJR19NQUNIX0JBU1RfSURFKQkrPSBiYXN0LWlkZS5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9iYXN0LWlkZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmOTVmZTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvYmFzdC1pZGUuYwpAQCAtMCwwICsxLDExMiBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL2Jhc3QtaWRlLmMKKyAqCisgKiBDb3B5cmlnaHQgMjAwNyBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly93d3cuc2ltdGVjLmNvLnVrL3Byb2R1Y3RzL0VCMjQxMElUWC8KKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2F0YV9wbGF0Zm9ybS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Jhc3QtbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1pcnEuaD4KKworLyogSURFIHBvcnRzICovCisKK3N0YXRpYyBzdHJ1Y3QgcGF0YV9wbGF0Zm9ybV9pbmZvIGJhc3RfaWRlX3BsYXRkYXRhID0geworCS5pb3BvcnRfc2hpZnQJPSA1LAorfTsKKworI2RlZmluZSBJREVfQ1MJUzNDMjQxMF9DUzUKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X2lkZTBfcmVzb3VyY2VbXSA9IHsKKwlbMF0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVQUkkgKyAoOCAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFUFJJQVVYICsgKDYgKiAweDIwKSAsCisJCS5lbmQJPSBJREVfQ1MgKyBCQVNUX1BBX0lERVBSSUFVWCArICg3ICogMHgyMCkgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsyXQk9IHsKKwkJLnN0YXJ0CT0gSVJRX0lERTAsCisJCS5lbmQJPSBJUlFfSURFMCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9JUlEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGJhc3RfZGV2aWNlX2lkZTAgPSB7CisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAorCS5pZAkJPSAwLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShiYXN0X2lkZTBfcmVzb3VyY2UpLAorCS5yZXNvdXJjZQk9IGJhc3RfaWRlMF9yZXNvdXJjZSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYmFzdF9pZGVfcGxhdGRhdGEsCisJCS5jb2hlcmVudF9kbWFfbWFzayA9IH4wLAorCX0KKworfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBiYXN0X2lkZTFfcmVzb3VyY2VbXSA9IHsKKwlbMF0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDLAorCQkuZW5kCT0gSURFX0NTICsgQkFTVF9QQV9JREVTRUMgKyAoOCAqIDB4MjApIC0gMSwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0JPSB7CisJCS5zdGFydAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDQVVYICsgKDYgKiAweDIwKSwKKwkJLmVuZAk9IElERV9DUyArIEJBU1RfUEFfSURFU0VDQVVYICsgKDcgKiAweDIwKSAtIDEsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJWzJdCT0geworCQkuc3RhcnQJPSBJUlFfSURFMSwKKwkJLmVuZAk9IElSUV9JREUxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUSwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2VfaWRlMSA9IHsKKwkubmFtZQkJPSAicGF0YV9wbGF0Zm9ybSIsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGJhc3RfaWRlMV9yZXNvdXJjZSksCisJLnJlc291cmNlCT0gYmFzdF9pZGUxX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZiYXN0X2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfQorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmJhc3RfaWRlX2RldmljZXNbXSBfX2luaXRkYXRhID0geworCSZiYXN0X2RldmljZV9pZGUwLAorCSZiYXN0X2RldmljZV9pZGUxLAorfTsKKworc3RhdGljIF9faW5pdCBpbnQgYmFzdF9pZGVfaW5pdCh2b2lkKQoreworCWlmIChtYWNoaW5lX2lzX2Jhc3QoKSB8fCBtYWNoaW5lX2lzX3ZyMTAwMCgpKQorCQlyZXR1cm4gcGxhdGZvcm1fYWRkX2RldmljZXMoYmFzdF9pZGVfZGV2aWNlcywKKwkJCQkJICAgIEFSUkFZX1NJWkUoYmFzdF9pZGVfZGV2aWNlcykpOworCisJcmV0dXJuIDA7Cit9CisKK2ZzX2luaXRjYWxsKGJhc3RfaWRlX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtYmFzdC5jCmluZGV4IDI3ZjYzZDUuLjk2NWYyNzEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWJhc3QuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKQEAgLTEsNiArMSw2IEBACiAvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1iYXN0LmMKICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCiAgKiAgIEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCiAgKiBodHRwOi8vd3d3LnNpbXRlYy5jby51ay9wcm9kdWN0cy9FQjI0MTBJVFgvCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kbTkwMDAuaD4KKyNpbmNsdWRlIDxsaW51eC9hdGFfcGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPG5ldC9heDg4Nzk2Lmg+CiAKQEAgLTU2LDcgKzU4LDkgQEAKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKwogI2luY2x1ZGUgInVzYi1zaW10ZWMuaCIKKyNpbmNsdWRlICJub3Itc2ltdGVjLmgiCiAKICNkZWZpbmUgQ09QWVJJR0hUICIsIChjKSAyMDA0LTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzIgogCkBAIC0xMzQsMzcgKzEzOCwyMSBAQAogICB7IFZBX0MyKEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTMihCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMihCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzIoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzIoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1MyKEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTMyhCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMihCQVNUX1ZBX0lERVNFQyksICBQQV9DUzMoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogc2xvdywgd29yZCAqLwogICB7IFZBX0MzKEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTMyhCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DMyhCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzMoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzMoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1MzKEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTMyhCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhCQVNUX1ZBX0lERVNFQyksICBQQV9DUzMoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzMoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogZmFzdCwgYnl0ZSAqLwogICB7IFZBX0M0KEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTNChCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNChCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzQoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzQoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1M0KEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M0KEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTNShCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChCQVNUX1ZBX0lERVNFQyksICBQQV9DUzUoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiAKICAgLyogZmFzdCwgd29yZCAqLwogICB7IFZBX0M1KEJBU1RfVkFfSVNBSU8pLCAgIFBBX0NTNShCQVNUX1BBX0lTQUlPKSwgICAgU1pfMTZNLCBNVF9ERVZJQ0UgfSwKICAgeyBWQV9DNShCQVNUX1ZBX0lTQU1FTSksICBQQV9DUzUoQkFTVF9QQV9JU0FNRU0pLCAgIFNaXzE2TSwgTVRfREVWSUNFIH0sCiAgIHsgVkFfQzUoQkFTVF9WQV9TVVBFUklPKSwgUEFfQ1M1KEJBU1RfUEFfU1VQRVJJTyksICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KEJBU1RfVkFfSURFUFJJKSwgIFBBX0NTNShCQVNUX1BBX0lERVBSSSksICAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNShCQVNUX1ZBX0lERVNFQyksICBQQV9DUzUoQkFTVF9QQV9JREVTRUMpLCAgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVQUklBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoQkFTVF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoQkFTVF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCiB9OwogCiAjZGVmaW5lIFVDT04gUzNDMjQxMF9VQ09OX0RFRkFVTFQgfCBTM0MyNDEwX1VDT05fVUNMSwpAQCAtMjE4LDIzICsyMDYsNiBAQAogCX0KIH07CiAKLS8qIE5PUiBGbGFzaCBvbiBCQVNUIGJvYXJkICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYmFzdF9ub3JfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwLAotCQkuZW5kICAgPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCArICgzMioxMDI0KjEwMjQpIC0gMSwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JfQotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgYmFzdF9kZXZpY2Vfbm9yID0gewotCS5uYW1lCQk9ICJiYXN0LW5vciIsCi0JLmlkCQk9IC0xLAotCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShiYXN0X25vcl9yZXNvdXJjZSksCi0JLnJlc291cmNlCT0gYmFzdF9ub3JfcmVzb3VyY2UsCi19OwotCiAvKiBOQU5EIEZsYXNoIG9uIEJBU1QgYm9hcmQgKi8KIAogI2lmZGVmIENPTkZJR19QTQpAQCAtMzc0LDcgKzM0NSw3IEBACiAJWzJdID0gewogCQkuc3RhcnQgPSBJUlFfRE05MDAwLAogCQkuZW5kICAgPSBJUlFfRE05MDAwLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiAKIH07CkBAIC01NjQsNiArNTM1LDE4IEBACiAJLmRlZmF1bHRfZGlzcGxheSA9IDEsCiB9OwogCisvKiBJMkMgZGV2aWNlcyBmaXR0ZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gYmFzdF9pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidGx2MzIwYWljMjMiLCAweDFhKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJzaW10ZWMtcG11IiwgMHg2YiksCisJfSwgeworCQlJMkNfQk9BUkRfSU5GTygiY2g3MDEzIiwgMHg3NSksCisJfSwKK307CisKIC8qIFN0YW5kYXJkIEJBU1QgZGV2aWNlcyAqLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFzdF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTU3Myw3ICs1NTYsNiBAQAogCSZzM2NfZGV2aWNlX2kyYywKICAJJnMzY19kZXZpY2VfcnRjLAogCSZzM2NfZGV2aWNlX25hbmQsCi0JJmJhc3RfZGV2aWNlX25vciwKIAkmYmFzdF9kZXZpY2VfZG05aywKIAkmYmFzdF9kZXZpY2VfYXNpeCwKIAkmYmFzdF9kZXZpY2VfYXhwcCwKQEAgLTYyMiw2ICs2MDQsMTEgQEAKIAogCXMzYzI0eHhfZmJfc2V0X3BsYXRkYXRhKCZiYXN0X2ZiX2luZm8pOwogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGJhc3RfZGV2aWNlcywgQVJSQVlfU0laRShiYXN0X2RldmljZXMpKTsKKworCWkyY19yZWdpc3Rlcl9ib2FyZF9pbmZvKDAsIGJhc3RfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShiYXN0X2kyY19kZXZzKSk7CisKKwlub3Jfc2ltdGVjX2luaXQoKTsKIH0KIAogTUFDSElORV9TVEFSVChCQVNULCAiU2ltdGVjLUJBU1QiKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtbjMwLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYwppbmRleCA2MjFmNTQ4Li40M2MyZTkxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYwpAQCAtMSw5ICsxLDEwIEBACi0vKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC1uMzAuYworLyogTWFjaGluZSBzcGVjaWZpYyBjb2RlIGZvciB0aGUgQWNlciBuMzAsIEFjZXIgTjM1LCBOYXZtYW4gUGlOIDU3MCwKKyAqIFlha3VtbyBBbHBoYVggYW5kIEFpcmlzIE5DMDUgUERBcy4KICAqCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDUgQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgorICogQ29weXJpZ2h0IChjKSAyMDA1LTIwMDggQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgogICoKICAqIFRoZXJlIGlzIGEgd2lraSB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG4zMCBwb3J0IGF0CiAgKiBodHRwOi8vaGFuZGhlbGRzLm9yZy9tb2luL21vaW4uY2dpL0FjZXJOMzBEb2N1bWVudGF0aW9uIC4KQEAgLTExLDM2ICsxMiw0MiBAQAogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCiAgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSovCisgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0jaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KLSNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KLSNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAKLSNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+Ci0jaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvX2tleXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5wdXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL21hY2gtdHlwZXMuaD4KIAotI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2ZiLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbGVkcy1ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+Ci0jaW5jbHVkZSA8YXNtL3BsYXQtczNjL2lpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbGNkLmg+CiAKLSNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3MzYzI0MTAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvaXJxLmg+CisjaW5jbHVkZSA8YXNtL21hY2gvbWFwLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvaWljLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CisKICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+Ci0jaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3MzYzI0MTAuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3VkYy5oPgogCiBzdGF0aWMgc3RydWN0IG1hcF9kZXNjIG4zMF9pb2Rlc2NbXSBfX2luaXRkYXRhID0gewogCS8qIG5vdGhpbmcgaGVyZSB5ZXQgKi8KQEAgLTY0LDcgKzcxLDggQEAKIAkJLnVsY29uCSAgICAgPSAweDQzLAogCQkudWZjb24JICAgICA9IDB4NTEsCiAJfSwKLQkvKiBUaGUgQmx1ZVRvb3RoIGNvbnRyb2xsZXIgaXMgY29ubmVjdGVkIHRvIHBvcnQgMiAqLworCS8qIE9uIHRoZSBOMzAgdGhlIGJsdWV0b290aCBjb250cm9sbGVyIGlzIGNvbm5lY3RlZCBoZXJlLgorCSAqIE9uIHRoZSBOMzUgYW5kIHZhcmlhbnRzIHRoZSBHUFMgcmVjZWl2ZXIgaXMgY29ubmVjdGVkIGhlcmUuICovCiAJWzJdID0gewogCQkuaHdwb3J0CSAgICAgPSAyLAogCQkuZmxhZ3MJICAgICA9IDAsCkBAIC03NCwxMyArODIsMjYwIEBACiAJfSwKIH07CiAKK3N0YXRpYyB2b2lkIG4zMF91ZGNfcHVsbHVwKGVudW0gczNjMjQxMF91ZGNfY21kX2UgY21kKQoreworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTM0MyNDEwX1VEQ19QX0VOQUJMRSA6CisJCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEIzLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTM0MyNDEwX1VEQ19QX0RJU0FCTEUgOgorCQlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCMywgMCk7CisJCWJyZWFrOworCWNhc2UgUzNDMjQxMF9VRENfUF9SRVNFVCA6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VkY19tYWNoX2luZm8gbjMwX3VkY19jZmcgX19pbml0ZGF0YSA9IHsKKwkudWRjX2NvbW1hbmQJCT0gbjMwX3VkY19wdWxsdXAsCisJLnZidXNfcGluCQk9IFMzQzI0MTBfR1BHMSwKKwkudmJ1c19waW5faW52ZXJ0ZWQJPSAwLAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfYnV0dG9uIG4zMF9idXR0b25zW10gPSB7CisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjAsCisJCS5jb2RlCQk9IEtFWV9QT1dFUiwKKwkJLmRlc2MJCT0gIlBvd2VyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzksCisJCS5jb2RlCQk9IEtFWV9VUCwKKwkJLmRlc2MJCT0gIlRodW1id2hlZWwgVXAiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHOCwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJUaHVtYndoZWVsIERvd24iLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNywKKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZGVzYwkJPSAiVGh1bWJ3aGVlbCBQcmVzcyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY3LAorCQkuY29kZQkJPSBLRVlfSE9NRVBBR0UsCisJCS5kZXNjCQk9ICJIb21lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjYsCisJCS5jb2RlCQk9IEtFWV9DQUxFTkRBUiwKKwkJLmRlc2MJCT0gIkNhbGVuZGFyIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjUsCisJCS5jb2RlCQk9IEtFWV9BRERSRVNTQk9PSywKKwkJLmRlc2MJCT0gIkNvbnRhY3RzIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRjQsCisJCS5jb2RlCQk9IEtFWV9NQUlMLAorCQkuZGVzYwkJPSAiTWFpbCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBncGlvX2tleXNfcGxhdGZvcm1fZGF0YSBuMzBfYnV0dG9uX2RhdGEgPSB7CisJLmJ1dHRvbnMJPSBuMzBfYnV0dG9ucywKKwkubmJ1dHRvbnMJPSBBUlJBWV9TSVpFKG4zMF9idXR0b25zKSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIG4zMF9idXR0b25fZGV2aWNlID0geworCS5uYW1lCQk9ICJncGlvLWtleXMiLAorCS5pZAkJPSAtMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX2J1dHRvbl9kYXRhLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZ3Bpb19rZXlzX2J1dHRvbiBuMzVfYnV0dG9uc1tdID0geworCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEYwLAorCQkuY29kZQkJPSBLRVlfUE9XRVIsCisJCS5kZXNjCQk9ICJQb3dlciIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc5LAorCQkuY29kZQkJPSBLRVlfVVAsCisJCS5kZXNjCQk9ICJKb3lzdGljayBVcCIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEc4LAorCQkuY29kZQkJPSBLRVlfRE9XTiwKKwkJLmRlc2MJCT0gIkpveXN0aWNrIERvd24iLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNiwKKwkJLmNvZGUJCT0gS0VZX0RPV04sCisJCS5kZXNjCQk9ICJKb3lzdGljayBMZWZ0IiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCisJeworCQkuZ3BpbwkJPSBTM0MyNDEwX0dQRzUsCisJCS5jb2RlCQk9IEtFWV9ET1dOLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgUmlnaHQiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BHNywKKwkJLmNvZGUJCT0gS0VZX0VOVEVSLAorCQkuZGVzYwkJPSAiSm95c3RpY2sgUHJlc3MiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGNywKKwkJLmNvZGUJCT0gS0VZX0hPTUVQQUdFLAorCQkuZGVzYwkJPSAiSG9tZSIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY2LAorCQkuY29kZQkJPSBLRVlfQ0FMRU5EQVIsCisJCS5kZXNjCQk9ICJDYWxlbmRhciIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY1LAorCQkuY29kZQkJPSBLRVlfQUREUkVTU0JPT0ssCisJCS5kZXNjCQk9ICJDb250YWN0cyIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEY0LAorCQkuY29kZQkJPSBLRVlfTUFJTCwKKwkJLmRlc2MJCT0gIk1haWwiLAorCQkuYWN0aXZlX2xvdwk9IDAsCisJfSwKKwl7CisJCS5ncGlvCQk9IFMzQzI0MTBfR1BGMywKKwkJLmNvZGUJCT0gU1dfUkFESU8sCisJCS5kZXNjCQk9ICJHUFMgQW50ZW5uYSIsCisJCS5hY3RpdmVfbG93CT0gMCwKKwl9LAorCXsKKwkJLmdwaW8JCT0gUzNDMjQxMF9HUEcyLAorCQkuY29kZQkJPSBTV19IRUFEUEhPTkVfSU5TRVJULAorCQkuZGVzYwkJPSAiSGVhZHBob25lIiwKKwkJLmFjdGl2ZV9sb3cJPSAwLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGdwaW9fa2V5c19wbGF0Zm9ybV9kYXRhIG4zNV9idXR0b25fZGF0YSA9IHsKKwkuYnV0dG9ucwk9IG4zNV9idXR0b25zLAorCS5uYnV0dG9ucwk9IEFSUkFZX1NJWkUobjM1X2J1dHRvbnMpLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgbjM1X2J1dHRvbl9kZXZpY2UgPSB7CisJLm5hbWUJCT0gImdwaW8ta2V5cyIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gMCwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjM1X2J1dHRvbl9kYXRhLAorCX0KK307CisKKy8qIFRoaXMgaXMgdGhlIGJsdWV0b290aCBMRUQgb24gdGhlIGRldmljZS4gKi8KK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF9sZWRfcGxhdGRhdGEgbjMwX2JsdWVfbGVkX3BkYXRhID0geworCS5uYW1lCQk9ICJibHVlX2xlZCIsCisJLmdwaW8JCT0gUzNDMjQxMF9HUEc2LAorCS5kZWZfdHJpZ2dlcgk9ICIiLAorfTsKKworLyogVGhpcyBMRUQgaXMgZHJpdmVuIGJ5IHRoZSBiYXR0ZXJ5IG1pY3JvY29udHJvbGxlciwgYW5kIGlzIGJsaW5raW5nCisgKiByZWQsIGJsaW5raW5nIGdyZWVuIG9yIHNvbGlkIGdyZWVuIHdoZW4gdGhlIGJhdHRlcnkgaXMgbG93LAorICogY2hhcmdpbmcgb3IgZnVsbCByZXNwZWN0aXZlbHkuICBCeSBkcml2aW5nIEdQRDkgbG93LCBpdCdzIHBvc3NpYmxlCisgKiB0byBmb3JjZSB0aGUgTEVEIHRvIGJsaW5rIHJlZCwgc28gY2FsbCB0aGF0IHdhcm5pbmcgTEVELiAgKi8KK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF9sZWRfcGxhdGRhdGEgbjMwX3dhcm5pbmdfbGVkX3BkYXRhID0geworCS5uYW1lCQk9ICJ3YXJuaW5nX2xlZCIsCisJLmZsYWdzICAgICAgICAgID0gUzNDMjRYWF9MRURGX0FDVExPVywKKwkuZ3BpbwkJPSBTM0MyNDEwX0dQRDksCisJLmRlZl90cmlnZ2VyCT0gIiIsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzBfYmx1ZV9sZWQgPSB7CisJLm5hbWUJCT0gInMzYzI0eHhfbGVkIiwKKwkuaWQJCT0gMSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX2JsdWVfbGVkX3BkYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBuMzBfd2FybmluZ19sZWQgPSB7CisJLm5hbWUJCT0gInMzYzI0eHhfbGVkIiwKKwkuaWQJCT0gMiwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmbjMwX3dhcm5pbmdfbGVkX3BkYXRhLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBmYl9kaXNwbGF5IG4zMF9kaXNwbGF5IF9faW5pdGRhdGEgPSB7CisJLnR5cGUJCT0gUzNDMjQxMF9MQ0RDT04xX1RGVCwKKwkud2lkdGgJCT0gMjQwLAorCS5oZWlnaHQJCT0gMzIwLAorCS5waXhjbG9jawk9IDE3MDAwMCwKKworCS54cmVzCQk9IDI0MCwKKwkueXJlcwkJPSAzMjAsCisJLmJwcAkJPSAxNiwKKwkubGVmdF9tYXJnaW4JPSAzLAorCS5yaWdodF9tYXJnaW4JPSA0MCwKKwkuaHN5bmNfbGVuCT0gNDAsCisJLnVwcGVyX21hcmdpbgk9IDIsCisJLmxvd2VyX21hcmdpbgk9IDMsCisJLnZzeW5jX2xlbgk9IDIsCisKKwkubGNkY29uNSA9IFMzQzI0MTBfTENEQ09ONV9JTlZWTElORSB8IFMzQzI0MTBfTENEQ09ONV9JTlZWRlJBTUUsCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBmYl9tYWNoX2luZm8gbjMwX2ZiX2luZm8gX19pbml0ZGF0YSA9IHsKKwkuZGlzcGxheXMJPSAmbjMwX2Rpc3BsYXksCisJLm51bV9kaXNwbGF5cwk9IDEsCisJLmRlZmF1bHRfZGlzcGxheSA9IDAsCisJLmxwY3NlbAkJPSAweDA2LAorfTsKKwogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm4zMF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV9sY2QsCisJJnMzY19kZXZpY2Vfd2R0LAorCSZzM2NfZGV2aWNlX2kyYywKKwkmczNjX2RldmljZV9paXMsCiAJJnMzY19kZXZpY2VfdXNiLAorCSZzM2NfZGV2aWNlX3VzYmdhZGdldCwKKwkmbjMwX2J1dHRvbl9kZXZpY2UsCisJJm4zMF9ibHVlX2xlZCwKKwkmbjMwX3dhcm5pbmdfbGVkLAorfTsKKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm4zNV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKIAkmczNjX2RldmljZV9sY2QsCiAJJnMzY19kZXZpY2Vfd2R0LAogCSZzM2NfZGV2aWNlX2kyYywKIAkmczNjX2RldmljZV9paXMsCiAJJnMzY19kZXZpY2VfdXNiZ2FkZ2V0LAorCSZuMzVfYnV0dG9uX2RldmljZSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgczNjMjQxMF9wbGF0Zm9ybV9pMmMgbjMwX2kyY2NmZyA9IHsKQEAgLTkwLDkgKzM0NSwxNDggQEAKIAkubWF4X2ZyZXEJPSAxMCoxMDAwLAogfTsKIAorLyogTG90cyBvZiBoYXJkY29kZWQgc3R1ZmYsIGJ1dCBpdCBzZXRzIHVwIHRoZSBoYXJkd2FyZSBpbiBhIHVzZWZ1bAorICogc3RhdGUgc28gdGhhdCB3ZSBjYW4gYm9vdCBMaW51eCBkaXJlY3RseSBmcm9tIGZsYXNoLiAqLworc3RhdGljIHZvaWQgX19pbml0IG4zMF9od2luaXQodm9pZCkKK3sKKwkvKiBHUEEwLTExIHNwZWNpYWwgZnVuY3Rpb25zIC0tIHVua25vd24gd2hhdCB0aGV5IGRvCisJICogR1BBMTIgTjMwIHNwZWNpYWwgZnVuY3Rpb24gLS0gdW5rbm93biB3aGF0IGl0IGRvZXMKKwkgKiAgICAgICBOMzUvUGlOIG91dHB1dCAtLSB1bmtub3duIHdoYXQgaXQgZG9lcworCSAqCisJICogQTEyIGlzIG5HQ1MxIG9uIHRoZSBOMzAgYW5kIGFuIG91dHB1dCBvbiB0aGUgTjM1L1BpTi4gIEkKKwkgKiBkb24ndCB0aGluayBpdCBkb2VzIGFueXRoaW5nIHVzZWZ1bCBvbiB0aGUgTjMwLCBzbyBJIG91Z2h0CisJICogdG8gbWFrZSBpdCBhbiBvdXRwdXQgdGhlcmUgdG9vIHNpbmNlIGl0IGFsd2F5cyBkcml2ZW4gdG8gMAorCSAqIGFzIGZhciBhcyBJIGNhbiB0ZWxsLiAqLworCWlmIChtYWNoaW5lX2lzX24zMCgpKQorCQlfX3Jhd193cml0ZWwoMHgwMDdmZmZmZiwgUzNDMjQxMF9HUEFDT04pOworCWlmIChtYWNoaW5lX2lzX24zNSgpKQorCQlfX3Jhd193cml0ZWwoMHgwMDdmZWZmZiwgUzNDMjQxMF9HUEFDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMDAwLCBTM0MyNDEwX0dQQURBVCk7CisKKwkvKiBHUEIwIFRPVVQwIGJhY2tsaWdodCBsZXZlbAorCSAqIEdQQjEgb3V0cHV0IDE9YmFja2xpZ2h0IG9uCisJICogR1BCMiBvdXRwdXQgSXJEQSBlbmFibGUgMD10cmFuc2NlaXZlciBlbmFibGVkLCAxPWRpc2FibGVkCisJICogR1BCMyBvdXRwdXQgVVNCIEQrIHB1bGwgdXAgMD1kaXNhYmxlZCwgMT1lbmFibGVkCisJICogR1BCNCBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgIE4zMC9QaU4gR1BTIGNvbnRyb2wgMD1HUFMgZW5hYmxlZCwgMT1HUFMgZGlzYWJsZWQKKwkgKiBHUEI1IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCNiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BCNyBvdXRwdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQQjggb3V0cHV0IC0tIHByb2JhYmx5IExDRCBkcml2ZXIgZW5hYmxlCisJICogR1BCOSBvdXRwdXQgLS0gcHJvYmFibHkgTENEIFZTWU5DIGRyaXZlciBlbmFibGUKKwkgKiBHUEIxMCBvdXRwdXQgLS0gcHJvYmFibHkgTENEIEhTWU5DIGRyaXZlciBlbmFibGUKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHgwMDE1NDU1NiwgUzNDMjQxMF9HUEJDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNzUwLCBTM0MyNDEwX0dQQkRBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMDAwNzMsIFMzQzI0MTBfR1BCVVApOworCisJLyogR1BDMCBpbnB1dCBSUzIzMiBEQ0QvRFNSL1JJCisJICogR1BDMSBMQ0QKKwkgKiBHUEMyIG91dHB1dCBSUzIzMiBEVFI/CisJICogR1BDMyBpbnB1dCBSUzIzMiBEQ0QvRFNSL1JJCisJICogR1BDNCBMQ0QKKwkgKiBHUEM1IG91dHB1dCAwPU5BTkQgd3JpdGUgZW5hYmxlZCwgMT1OQU5EIHdyaXRlIHByb3RlY3QKKwkgKiBHUEM2IGlucHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEM3IGlucHV0IGNoYXJnZXIgc3RhdHVzIDA9Y2hhcmdlciBjb25uZWN0ZWQKKwkgKiAgICAgIHRoaXMgaW5wdXQgY2FuIGJlIHRyaWdnZXJlZCBieSBwb3dlciBvbiB0aGUgVVNCIGRldmljZQorCSAqICAgICAgcG9ydCB0b28sIGJ1dCB3aWxsIGdvIGJhY2sgdG8gZGlzY29ubmVjdGVkIHNvb24gYWZ0ZXIuCisJICogR1BDOCBOMzAvTjM1IG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uLCBhbHdheXMgZHJpdmVuIHRvIDEKKwkgKiAgICAgIFBpTiBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uLCBhbHdheXMgcmVhZCBhcyAxCisJICogICAgICBNYWtlIGl0IGFuIGlucHV0IHdpdGggYSBwdWxsIHVwIGZvciBhbGwgbW9kZWxzLgorCSAqIEdQQzktMTUgTENECisJICovCisJX19yYXdfd3JpdGVsKDB4YWFhODA2MTgsIFMzQzI0MTBfR1BDQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDE0YywgUzNDMjQxMF9HUENEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDBmZWYyLCBTM0MyNDEwX0dQQ1VQKTsKKworCS8qIEdQRDAgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRDEtRDcgTENECisJICogR1BEOCBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgIE4zNS9QaU4gb3V0cHV0IDE9R1BTIExFRCBvbgorCSAqIEdQRDkgb3V0cHV0IDA9cG93ZXIgbGVkIGJsaW5rcyByZWQsIDE9bm9ybWFsIHBvd2VyIGxlZCBmdW5jdGlvbgorCSAqIEdQRDEwIG91dHB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogR1BEMTEtMTUgTENEIGRyaXZlcnMKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhYTk1YWFhNCwgUzNDMjQxMF9HUERDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDAwNjAxLCBTM0MyNDEwX0dQRERBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGZiZmUsIFMzQzI0MTBfR1BEVVApOworCisJLyogR1BFMC00IEkyUyBhdWRpbyBidXMKKwkgKiBHUEU1LTEwIFNEL01NQyBidXMKKwkgKiBFMTEtMTMgb3V0cHV0cyAtLSB1bmtub3duIGZ1bmN0aW9uLCBwcm9iYWJseSBwb3dlciBtYW5hZ2VtZW50CisJICogRTE0LTE1IEkyQyBidXMgY29ubmVjdGVkIHRvIHRoZSBiYXR0ZXJ5IGNvbnRyb2xsZXIKKwkgKi8KKwlfX3Jhd193cml0ZWwoMHhhNTZhYWFhYSwgUzNDMjQxMF9HUEVDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDBlZmM1LCBTM0MyNDEwX0dQRURBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGY4MWYsIFMzQzI0MTBfR1BFVVApOworCisJLyogR1BGMCAgaW5wdXQgMD1wb3dlciBidXR0b24gcHJlc3NlZAorCSAqIEdQRjEgIGlucHV0IFNEL01NQyBzd2l0Y2ggMD1jYXJkIHByZXNlbnQKKwkgKiBHUEYyICBOMzAgMT1yZXNldCBidXR0b24gcHJlc3NlZCAoaW52ZXJ0ZWQgY29tcGFyZWQgdG8gdGhlIHJlc3QpCisJICoJIE4zNS9QaU4gMD1yZXNldCBidXR0b24gcHJlc3NlZAorCSAqIEdQRjMgIE4zMC9QaU4gaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNSBpbnB1dCBHUFMgYW50ZW5uYSBwb3NpdGlvbiwgMD1hbnRlbm5hIGNsb3NlZCwgMT1vcGVuCisJICogR1BGNCAgaW5wdXQgMD1idXR0b24gNCBwcmVzc2VkCisJICogR1BGNSAgaW5wdXQgMD1idXR0b24gMyBwcmVzc2VkCisJICogR1BGNiAgaW5wdXQgMD1idXR0b24gMiBwcmVzc2VkCisJICogR1BGNyAgaW5wdXQgMD1idXR0b24gMSBwcmVzc2VkCisJICovCisJX19yYXdfd3JpdGVsKDB4MDAwMGFhYWEsIFMzQzI0MTBfR1BGQ09OKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDAwMCwgUzNDMjQxMF9HUEZEQVQpOworCV9fcmF3X3dyaXRlbCgweDAwMDAwMGZmLCBTM0MyNDEwX0dQRlVQKTsKKworCS8qIEdQRzAgIGlucHV0IFJTMjMyIERDRC9EU1IvUkkKKwkgKiBHUEcxICBpbnB1dCAxPVVTQiBnYWRnZXQgcG9ydCBoYXMgcG93ZXIgZnJvbSBhIGhvc3QKKwkgKiBHUEcyICBOMzAgaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgMD1oZWFkcGhvbmVzIHBsdWdnZWQgaW4sIDE9bm90IHBsdWdnZWQgaW4KKwkgKiBHUEczICBOMzAgb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiAgICAgICBOMzUvUGlOIGlucHV0IHdpdGggdW5rbm93biBmdW5jdGlvbgorCSAqIEdQRzQgIE4zMCBvdXRwdXQgMD1NTUMgZW5hYmxlZCwgMT1NTUMgZGlzYWJsZWQKKwkgKiBHUEc1ICBOMzAgb3V0cHV0IDA9Qmx1ZVRvb3RoIGNoaXAgZGlzYWJsZWQsIDE9ZW5hYmxlZAorCSAqICAgICAgIE4zNS9QaU4gaW5wdXQgam95c3RpY2sgcmlnaHQKKwkgKiBHUEc2ICBOMzAgb3V0cHV0IDA9Ymx1ZSBsZWQgb24sIDE9b2ZmCisJICogICAgICAgTjM1L1BpTiBpbnB1dCBqb3lzdGljayBsZWZ0CisJICogR1BHNyAgaW5wdXQgMD10aHVtYndoZWVsIHByZXNzZWQKKwkgKiBHUEc4ICBpbnB1dCAwPXRodW1id2hlZWwgZG93bgorCSAqIEdQRzkgIGlucHV0IDA9dGh1bWJ3aGVlbCB1cAorCSAqIEdQRzEwIGlucHV0IFNEL01NQyB3cml0ZSBwcm90ZWN0IHN3aXRjaAorCSAqIEdQRzExIE4zMCBpbnB1dCAtLSB1bmtub3duIGZ1bmN0aW9uCisJICogICAgICAgTjM1IG91dHB1dCAwPUdQUyBhbnRlbm5hIHBvd2VyZWQsIDE9bm90IHBvd2VyZWQKKwkgKiAgICAgICBQaU4gb3V0cHV0IC0tIHVua25vd24gZnVuY3Rpb24KKwkgKiBHUEcxMi0xNSB0b3VjaCBzY3JlZW4gZnVuY3Rpb25zCisJICoKKwkgKiBUaGUgcHVsbHVwcyBkaWZmZXIgYmV0d2VlbiB0aGUgbW9kZWxzLCBzbyBlbmFibGUgYWxsCisJICogcHVsbHVwcyB0aGF0IGFyZSBlbmFibGVkIG9uIGFueSBvZiB0aGUgbW9kZWxzLgorCSAqLworCWlmIChtYWNoaW5lX2lzX24zMCgpKQorCQlfX3Jhd193cml0ZWwoMHhmZjBhOTU2YSwgUzNDMjQxMF9HUEdDT04pOworCWlmIChtYWNoaW5lX2lzX24zNSgpKQorCQlfX3Jhd193cml0ZWwoMHhmZjRhYTkyYSwgUzNDMjQxMF9HUEdDT04pOworCV9fcmF3X3dyaXRlbCgweDAwMDBlODAwLCBTM0MyNDEwX0dQR0RBVCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMGY4NmYsIFMzQzI0MTBfR1BHVVApOworCisJLyogR1BIMC8xLzIvMyBSUzIzMiBzZXJpYWwgcG9ydAorCSAqIEdQSDQvNSBJckRBIHNlcmlhbCBwb3J0CisJICogR1BINi83ICBOMzAgQmx1ZVRvb3RoIHNlcmlhbCBwb3J0CisJICogICAgICAgICBOMzUvUGlOIEdQUyByZWNlaXZlcgorCSAqIEdQSDggaW5wdXQgLS0gdW5rbm93biBmdW5jdGlvbgorCSAqIEdQSDkgQ0xLT1VUMCBIQ0xLIC0tIHVua25vd24gdXNlCisJICogR1BIMTAgQ0xLT1VUMSBGQ0xLIC0tIHVua25vd24gdXNlCisJICoKKwkgKiBUaGUgcHVsbCB1cHMgZm9yIEg2L0g3IGFyZSBlbmFibGVkIG9uIE4zMCBidXQgbm90IG9uIHRoZQorCSAqIE4zNS9QaU4uICBJIHN1cHBvc2UgaXMgdXNlZnVsIGZvciBhIGJ1ZGdldCBtb2RlbCBvZiB0aGUgTjMwCisJICogd2l0aCBubyBibHVldG9vaC4gIEl0IGRvZXNuJ3QgaHVydCB0byBoYXZlIHRoZSBwdWxsIHVwcworCSAqIGVuYWJsZWQgb24gdGhlIE4zNSwgc28gbGVhdmUgdGhlbSBlbmFibGVkIGZvciBhbGwgbW9kZWxzLgorCSAqLworCV9fcmF3X3dyaXRlbCgweDAwMjhhYWFhLCBTM0MyNDEwX0dQSENPTik7CisJX19yYXdfd3JpdGVsKDB4MDAwMDA1ZWYsIFMzQzI0MTBfR1BIREFUKTsKKwlfX3Jhd193cml0ZWwoMHgwMDAwMDYzZiwgUzNDMjQxMF9HUEhVUCk7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBuMzBfbWFwX2lvKHZvaWQpCiB7CiAJczNjMjR4eF9pbml0X2lvKG4zMF9pb2Rlc2MsIEFSUkFZX1NJWkUobjMwX2lvZGVzYykpOworCW4zMF9od2luaXQoKTsKIAlzM2MyNHh4X2luaXRfY2xvY2tzKDApOwogCXMzYzI0eHhfaW5pdF91YXJ0cyhuMzBfdWFydGNmZ3MsIEFSUkFZX1NJWkUobjMwX3VhcnRjZmdzKSk7CiB9CkBAIC0xMDYsNyArNTAwLDkgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IG4zMF9pbml0KHZvaWQpCiB7CisJczNjMjR4eF9mYl9zZXRfcGxhdGRhdGEoJm4zMF9mYl9pbmZvKTsKIAlzM2NfZGV2aWNlX2kyYy5kZXYucGxhdGZvcm1fZGF0YSA9ICZuMzBfaTJjY2ZnOworCXMzYzI0eHhfdWRjX3NldF9wbGF0ZGF0YSgmbjMwX3VkY19jZmcpOwogCiAJLyogVHVybiBvZmYgc3VzcGVuZCBvbiBib3RoIFVTQiBwb3J0cywgYW5kIHN3aXRjaCB0aGUKIAkgKiBzZWxlY3RhYmxlIFVTQiBwb3J0IHRvIFVTQiBkZXZpY2UgbW9kZS4gKi8KQEAgLTExNSw3ICs1MTEsMzIgQEAKIAkJCSAgICAgIFMzQzI0MTBfTUlTQ0NSX1VTQlNVU1BORDAgfAogCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMSwgMHgwKTsKIAotCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zMF9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zMF9kZXZpY2VzKSk7CisJaWYgKG1hY2hpbmVfaXNfbjMwKCkpIHsKKwkJLyogVHVybiBvZmYgc3VzcGVuZCBvbiBib3RoIFVTQiBwb3J0cywgYW5kIHN3aXRjaCB0aGUKKwkJICogc2VsZWN0YWJsZSBVU0IgcG9ydCB0byBVU0IgZGV2aWNlIG1vZGUuICovCisJCXMzYzI0MTBfbW9kaWZ5X21pc2NjcihTM0MyNDEwX01JU0NDUl9VU0JIT1NUIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQwIHwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOworCisJCXBsYXRmb3JtX2FkZF9kZXZpY2VzKG4zMF9kZXZpY2VzLCBBUlJBWV9TSVpFKG4zMF9kZXZpY2VzKSk7CisJfQorCisJaWYgKG1hY2hpbmVfaXNfbjM1KCkpIHsKKwkJLyogVHVybiBvZmYgc3VzcGVuZCBhbmQgc3dpdGNoIHRoZSBzZWxlY3RhYmxlIFVTQiBwb3J0CisJCSAqIHRvIFVTQiBkZXZpY2UgbW9kZS4gIFR1cm4gb24gc3VzcGVuZCBmb3IgdGhlIGhvc3QKKwkJICogcG9ydCBzaW5jZSBpdCBpcyBub3QgY29ubmVjdGVkIG9uIHRoZSBOMzUuCisJCSAqCisJCSAqIEFjdHVhbGx5LCB0aGUgaG9zdCBwb3J0IGlzIGF2YWlsYWJsZSBhdCBzb21lIHBhZHMKKwkJICogb24gdGhlIGJhY2sgb2YgdGhlIGRldmljZSwgc28gaXQgd291bGQgYWN0dWFsbHkgYmUKKwkJICogcG9zc2libGUgdG8gYWRkIGEgVVNCIGRldmljZSBpbnNpZGUgdGhlIE4zNSBpZiB5b3UKKwkJICogYXJlIHdpbGxpbmcgdG8gZG8gc29tZSBoYXJkd2FyZSBtb2RpZmljYXRpb25zLiAqLworCQlzM2MyNDEwX21vZGlmeV9taXNjY3IoUzNDMjQxMF9NSVNDQ1JfVVNCSE9TVCB8CisJCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CisJCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMSwKKwkJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxKTsKKworCQlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhuMzVfZGV2aWNlcywgQVJSQVlfU0laRShuMzVfZGV2aWNlcykpOworCX0KIH0KIAogTUFDSElORV9TVEFSVChOMzAsICJBY2VyLU4zMCIpCkBAIC0xMzEsOSArNTUyLDE0IEBACiAJLm1hcF9pbwkJPSBuMzBfbWFwX2lvLAogTUFDSElORV9FTkQKIAotLyoKLSAgICBMb2NhbCB2YXJpYWJsZXM6Ci0gICAgICAgIGNvbXBpbGUtY29tbWFuZDogIm1ha2UgQVJDSD1hcm0gQ1JPU1NfQ09NUElMRT0vdXNyL2xvY2FsL2FybS8zLjMuMi9iaW4vYXJtLWxpbnV4LSAtayAtQyAuLi8uLi8uLiIKLSAgICAgICAgYy1iYXNpYy1vZmZzZXQ6IDgKLSAgICBFbmQ6Ci0qLworTUFDSElORV9TVEFSVChOMzUsICJBY2VyLU4zNSIpCisJLyogTWFpbnRhaW5lcjogQ2hyaXN0ZXIgV2VpbmlnZWwgPGNocmlzdGVyQHdlaW5pZ2VsLnNlPgorCSovCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKwkudGltZXIJCT0gJnMzYzI0eHhfdGltZXIsCisJLmluaXRfbWFjaGluZQk9IG4zMF9pbml0LAorCS5pbml0X2lycQk9IG4zMF9pbml0X2lycSwKKwkubWFwX2lvCQk9IG4zMF9tYXBfaW8sCitNQUNISU5FX0VORApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL21hY2gtdnIxMDAwLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYwppbmRleCA0YzRiNWM0Li45YTA5NjVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbWFjaC12cjEwMDAuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLXZyMTAwMC5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICogICBCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CiAgKgogICogTWFjaGluZSBzdXBwb3J0IGZvciBUaG9yY29tIFZSMTAwMCBib2FyZC4gRGVzaWduZWQgZm9yIFRob3Jjb20gYnkKQEAgLTE5LDYgKzE5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kbTkwMDAuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgpAQCAtNDYsNyArNDcsOSBAQAogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KICNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCiAjaW5jbHVkZSAidXNiLXNpbXRlYy5oIgorI2luY2x1ZGUgIm5vci1zaW10ZWMuaCIKIAogLyogbWFjcm9zIGZvciB2aXJ0dWFsIGFkZHJlc3MgbW9kcyBmb3IgdGhlIGlvIHNwYWNlIGVudHJpZXMgKi8KICNkZWZpbmUgVkFfQzUoaXRlbSkgKCh1bnNpZ25lZCBsb25nKShpdGVtKSArIEJBU1RfVkFNX0NTNSkKQEAgLTk3LDM0ICsxMDAsNiBAQAogCSAgLmxlbmd0aAk9IFNaXzFNLAogCSAgLnR5cGUJCT0gTVRfREVWSUNFLAogICB9LAotCi0gIC8qIHBlcmlwaGVyYWwgc3BhY2UuLi4gb25lIGZvciBlYWNoIG9mIGZhc3Qvc2xvdy9ieXRlLzE2Yml0ICovCi0gIC8qIG5vdGUsIGlkZSBpcyBvbmx5IGRlY29kZWQgaW4gd29yZCBzcGFjZSwgZXZlbiB0aG91Z2ggc29tZSByZWdpc3RlcnMKLSAgICogYXJlIG9ubHkgOGJpdCAqLwotCi0gIC8qIHNsb3csIGJ5dGUgKi8KLSAgeyBWQV9DMihWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzIoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTMyhWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0MyKFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLQotICAvKiBzbG93LCB3b3JkICovCi0gIHsgVkFfQzMoVlIxMDAwX1ZBX0lERVBSSSksICBQQV9DUzMoVlIxMDAwX1BBX0lERVBSSSksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFU0VDKSwgIFBBX0NTMyhWUjEwMDBfUEFfSURFU0VDKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0MzKFZSMTAwMF9WQV9JREVQUklBVVgpLCBQQV9DUzMoVlIxMDAwX1BBX0lERVBSSUFVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DMyhWUjEwMDBfVkFfSURFU0VDQVVYKSwgUEFfQ1MzKFZSMTAwMF9QQV9JREVTRUNBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0KLSAgLyogZmFzdCwgYnl0ZSAqLwotICB7IFZBX0M0KFZSMTAwMF9WQV9JREVQUkkpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUkkpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVNFQyksICBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQyksCSAgU1pfMU0sICBNVF9ERVZJQ0UgfSwKLSAgeyBWQV9DNChWUjEwMDBfVkFfSURFUFJJQVVYKSwgUEFfQ1M1KFZSMTAwMF9QQV9JREVQUklBVVgpLCBTWl8xTSwgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzQoVlIxMDAwX1ZBX0lERVNFQ0FVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFU0VDQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotCi0gIC8qIGZhc3QsIHdvcmQgKi8KLSAgeyBWQV9DNShWUjEwMDBfVkFfSURFUFJJKSwgIFBBX0NTNShWUjEwMDBfUEFfSURFUFJJKSwJICBTWl8xTSwgIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVTRUMpLCAgUEFfQ1M1KFZSMTAwMF9QQV9JREVTRUMpLAkgIFNaXzFNLCAgTVRfREVWSUNFIH0sCi0gIHsgVkFfQzUoVlIxMDAwX1ZBX0lERVBSSUFVWCksIFBBX0NTNShWUjEwMDBfUEFfSURFUFJJQVVYKSwgU1pfMU0sIE1UX0RFVklDRSB9LAotICB7IFZBX0M1KFZSMTAwMF9WQV9JREVTRUNBVVgpLCBQQV9DUzUoVlIxMDAwX1BBX0lERVNFQ0FVWCksIFNaXzFNLCBNVF9ERVZJQ0UgfSwKIH07CiAKICNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVCB8IFMzQzI0MTBfVUNPTl9VQ0xLCkBAIC0yMzAsMjMgKzIwNSw2IEBACiAJfSwKIH07CiAKLS8qIE1URCBOT1IgRmxhc2ggKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2cjEwMDBfbm9yX3Jlc291cmNlW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQJPSBTM0MyNDEwX0NTMSArIDB4NDAwMDAwMCwKLQkJLmVuZAk9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgU1pfMTZNIC0gMSwKLQkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCi0JfQotfTsKLQotc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgdnIxMDAwX25vciA9IHsKLQkubmFtZQkJPSAiYmFzdC1ub3IiLAotCS5pZAkJPSAtMSwKLQkubnVtX3Jlc291cmNlcwk9IEFSUkFZX1NJWkUodnIxMDAwX25vcl9yZXNvdXJjZSksCi0JLnJlc291cmNlCT0gdnIxMDAwX25vcl9yZXNvdXJjZSwKLX07Ci0KIC8qIERNOTAwMCBldGhlcm5ldCBkZXZpY2VzICovCiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgdnIxMDAwX2RtOWswX3Jlc291cmNlW10gPSB7CkBAIC0yNjMsNyArMjIxLDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9WUjEwMDBfRE05MDAwQSwKIAkJLmVuZCAgID0gSVJRX1ZSMTAwMF9ETTkwMDBBLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiAKIH07CkBAIC0yODIsNyArMjQwLDcgQEAKIAlbMl0gPSB7CiAJCS5zdGFydCA9IElSUV9WUjEwMDBfRE05MDAwTiwKIAkJLmVuZCAgID0gSVJRX1ZSMTAwMF9ETTkwMDBOLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElSUUZfVFJJR0dFUl9ISUdILAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSB8IElPUkVTT1VSQ0VfSVJRX0hJR0hMRVZFTCwKIAl9CiB9OwogCkBAIC0zNTgsNiArMzE2LDE4IEBACiAJfSwKIH07CiAKKy8qIEkyQyBkZXZpY2VzLiAqLworCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIHZyMTAwMF9pMmNfZGV2c1tdIF9faW5pdGRhdGEgPSB7CisJeworCQlJMkNfQk9BUkRfSU5GTygidGx2MzIwYWljMjMiLCAweDFhKSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJ0bXAxMDEiLCAweDQ4KSwKKwl9LCB7CisJCUkyQ19CT0FSRF9JTkZPKCJtNDFzdDg3IiwgMHg2OCksCisJfSwKK307CisKIC8qIGRldmljZXMgZm9yIHRoaXMgYm9hcmQgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnZyMTAwMF9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTM2Nyw3ICszMzcsNiBAQAogCSZzM2NfZGV2aWNlX2kyYywKIAkmczNjX2RldmljZV9hZGMsCiAJJnNlcmlhbF9kZXZpY2UsCi0JJnZyMTAwMF9ub3IsCiAJJnZyMTAwMF9kbTlrMCwKIAkmdnIxMDAwX2RtOWsxLAogCSZ2cjEwMDBfbGVkMSwKQEAgLTQxNiw2ICszODUsMTEgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCB2cjEwMDBfaW5pdCh2b2lkKQogewogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKHZyMTAwMF9kZXZpY2VzLCBBUlJBWV9TSVpFKHZyMTAwMF9kZXZpY2VzKSk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCB2cjEwMDBfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRSh2cjEwMDBfaTJjX2RldnMpKTsKKworCW5vcl9zaW10ZWNfaW5pdCgpOwogfQogCiBNQUNISU5FX1NUQVJUKFZSMTAwMCwgIlRob3Jjb20tVlIxMDAwIikKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGUyMWIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTAvbm9yLXNpbXRlYy5jCkBAIC0wLDAgKzEsODYgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIFNpbXRlYyBOT1IgbWFwcGluZworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL21hcC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9waHlzbWFwLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2Jhc3QtbWFwLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvYmFzdC1jcGxkLmg+CisKKworc3RhdGljIHZvaWQgc2ltdGVjX25vcl92cHAoc3RydWN0IG1hcF9pbmZvICptYXAsIGludCB2cHApCit7CisJdW5zaWduZWQgaW50IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXZhbCA9IF9fcmF3X3JlYWRiKEJBU1RfVkFfQ1RSTDMpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIiVzKCVkKVxuIiwgX19mdW5jX18sIHZwcCk7CisKKwlpZiAodnBwKQorCQl2YWwgfD0gQkFTVF9DUExEX0NUUkwzX1JPTVdFTjsKKwllbHNlCisJCXZhbCAmPSB+QkFTVF9DUExEX0NUUkwzX1JPTVdFTjsKKworCV9fcmF3X3dyaXRlYih2YWwsIEJBU1RfVkFfQ1RSTDMpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RydWN0IHBoeXNtYXBfZmxhc2hfZGF0YSBzaW10ZWNfbm9yX3BkYXRhID0geworCS53aWR0aAkJPSAyLAorCS5zZXRfdnBwCT0gc2ltdGVjX25vcl92cHAsCisJLm5yX3BhcnRzCT0gMCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugc2ltdGVjX25vcl9yZXNvdXJjZVtdID0geworCVswXSA9IHsKKwkJLnN0YXJ0ID0gUzNDMjQxMF9DUzEgKyAweDQwMDAwMDAsCisJCS5lbmQgICA9IFMzQzI0MTBfQ1MxICsgMHg0MDAwMDAwICsgU1pfOE0gLSAxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBzaW10ZWNfZGV2aWNlX25vciA9IHsKKwkubmFtZQkJPSAicGh5c21hcC1mbGFzaCIsCisJLmlkCQk9IC0xLAorCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShzaW10ZWNfbm9yX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBzaW10ZWNfbm9yX3Jlc291cmNlLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YSA9ICZzaW10ZWNfbm9yX3BkYXRhLAorCX0sCit9OworCit2b2lkIF9faW5pdCBub3Jfc2ltdGVjX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyKCZzaW10ZWNfZGV2aWNlX25vcik7CisJaWYgKHJldCA8IDApCisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHJlZ2lzdGVyIHBoeXNtYXAtZmxhc2ggZGV2aWNlXG4iKTsKKwllbHNlCisJCXNpbXRlY19ub3JfdnBwKE5VTEwsIDEpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaCBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjYxOWMxZQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQxMC9ub3Itc2ltdGVjLmgKQEAgLTAsMCArMSwxNCBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDEwL25vci1zaW10ZWMuaAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKglCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+CisgKgorICogU2ltdGVjIE5PUiBtYXBwaW5nCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKK2V4dGVybiB2b2lkIG5vcl9zaW10ZWNfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9LY29uZmlnIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKaW5kZXggMGI0MzQzMS4uYzU5YTlkMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL0tjb25maWcKQEAgLTM0LDYgKzM0LDE2IEBACiAKIG1lbnUgIlMzQzI0MTIgTWFjaGluZXMiCiAKK2NvbmZpZyBNQUNIX0pJVkUKKwlib29sICJMb2dpdGVjaCBKaXZlIgorCXNlbGVjdCBDUFVfUzNDMjQxMgorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgTG9naXRlY2ggSml2ZS4KKworY29uZmlnIE1BQ0hfSklWRV9TSE9XX0JPT1RMT0FERVIKKwlib29sICJBbGxvdyBhY2Nlc3MgdG8gYm9vdGxvYWRlciBwYXJ0aXRpb25zIGluIE1URCIKKwlkZXBlbmRzIG9uIE1BQ0hfSklWRSAmJiBFWFBFUklNRU5UQUwKKwogY29uZmlnIE1BQ0hfU01ESzI0MTMKIAlib29sICJTTURLMjQxMyIKIAlzZWxlY3QgQ1BVX1MzQzI0MTIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZSBiL2FyY2gvYXJtL21hY2gtczNjMjQxMi9NYWtlZmlsZQppbmRleCAyNjdmMzM0Li4yMDkxOGQ1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvTWFrZWZpbGUKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL01ha2VmaWxlCkBAIC0xOCw1ICsxOCw2IEBACiAKICMgTWFjaGluZSBzdXBwb3J0CiAKK29iai0kKENPTkZJR19NQUNIX0pJVkUpCQkrPSBtYWNoLWppdmUubwogb2JqLSQoQ09ORklHX01BQ0hfU01ESzI0MTMpCSs9IG1hY2gtc21kazI0MTMubwogb2JqLSQoQ09ORklHX01BQ0hfVlNUTVMpCSs9IG1hY2gtdnN0bXMubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYwppbmRleCAyNjk3YTY1Li4xMTU3YjVhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvY2xvY2suYwpAQCAtNjMxLDYgKzYzMSwxNyBAQAogCQkuYml0CT0gUzNDMjQxMl9DTEtTUkNfVVNCQ0xLX0hDTEssCiAJCS5zcmNfMAk9ICZjbGtfdXN5c2NsaywKIAkJLnNyY18xCT0gJmNsa19oLAorCS8qIGhlcmUgd2UgYXNzdW1lICBPTVs0XSBzZWxlY3QgeHRhbCAqLworCX0sIHsKKwkJLmNsawk9ICZjbGtfZXJlZmNsaywKKwkJLmJpdAk9IFMzQzI0MTJfQ0xLU1JDX0VSRUZDTEtfRVhUQ0xLLAorCQkuc3JjXzAJPSAmY2xrX3h0YWwsCisJCS5zcmNfMQk9ICZjbGtfZXh0LAorCX0sIHsKKwkJLmNsawk9ICZjbGtfdXJlZmNsaywKKwkJLmJpdAk9IFMzQzI0MTJfQ0xLU1JDX1VSRUZDTEtfRVhUQ0xLLAorCQkuc3JjXzAJPSAmY2xrX3h0YWwsCisJCS5zcmNfMQk9ICZjbGtfZXh0LAogCX0sCiB9OwogCkBAIC02NjYsOCArNjc3LDYgQEAKIHN0YXRpYyBzdHJ1Y3QgY2xrICpjbGtzW10gX19pbml0ZGF0YSA9IHsKIAkmY2xrX2V4dCwKIAkmY2xrX3VzYl9idXMsCi0JJmNsa19lcmVmY2xrLAotCSZjbGtfdXJlZmNsaywKIAkmY2xrX21yZWZjbGssCiAJJmNsa19hcm1jbGssCiB9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDEyL21hY2gtaml2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNTkyNDcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0MTIvbWFjaC1qaXZlLmMKQEAgLTAsMCArMSw2ODcgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQxMC9tYWNoLWppdmUuYworICoKKyAqIENvcHlyaWdodCAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIGh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1lci5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisKKyNpbmNsdWRlIDx2aWRlby9pbGk5MzIwLmg+CisKKyNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CisKKyNpbmNsdWRlIDxsaW51eC9tdGQvbXRkLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9uYW5kLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL2lpYy5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1wb3dlci5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbWVtLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1sY2QuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9zcGktZ3Bpby5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2ZiLmg+CisKKyNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgorCisjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL25hbmRfZWNjLmg+CisjaW5jbHVkZSA8bGludXgvbXRkL3BhcnRpdGlvbnMuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2RldnMuaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvcG0uaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L3VkYy5oPgorCitzdGF0aWMgc3RydWN0IG1hcF9kZXNjIGppdmVfaW9kZXNjW10gX19pbml0ZGF0YSA9IHsKK307CisKKyNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVAorI2RlZmluZSBVTENPTiBTM0MyNDEwX0xDT05fQ1M4IHwgUzNDMjQxMF9MQ09OX1BOT05FCisjZGVmaW5lIFVGQ09OIFMzQzI0MTBfVUZDT05fUlhUUklHOCB8IFMzQzI0MTBfVUZDT05fRklGT01PREUKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgaml2ZV91YXJ0Y2Znc1tdID0geworCVswXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMCwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9LAorCVsxXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMSwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9LAorCVsyXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMiwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwl9Cit9OworCisvKiBKaXZlIGZsYXNoIGFzc2lnbm1lbnQKKyAqCisgKiAweDAwMDAwMDAwLTB4MDAwMjgwMDAgOiB1Ym9vdAorICogMHgwMDAyODAwMC0weDAwMDJjMDAwIDogdWJvb3QgZW52CisgKiAweDAwMDJjMDAwLTB4MDAwMzAwMDAgOiBzcGFyZQorICogMHgwMDAzMDAwMC0weDAwMjAwMDAwIDogemltYWdlIEEKKyAqIDB4MDAyMDAwMDAtMHgwMTYwMDAwMCA6IGNyYW1mcyBBCisgKiAweDAxNjAwMDAwLTB4MDE3ZDAwMDAgOiB6aW1hZ2UgQgorICogMHgwMTdkMDAwMC0weDAyYmQwMDAwIDogY3JhbWZzIEIKKyAqIDB4MDJiZDAwMDAtMHgwM2ZkMDAwMCA6IHlhZmZzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbXRkX3BhcnRpdGlvbiBqaXZlX2ltYWdlQV9uYW5kX3BhcnRbXSA9IHsKKworI2lmZGVmIENPTkZJR19NQUNIX0pJVkVfU0hPV19CT09UTE9BREVSCisJLyogRG9uJ3QgYWxsb3cgYWNjZXNzIHRvIHRoZSBib290bG9hZGVyIGZyb20gbGludXggKi8KKwl7CisJCS5uYW1lICAgICAgICAgICA9ICJ1Ym9vdCIsCisJCS5vZmZzZXQgICAgICAgICA9IDAsCisJCS5zaXplICAgICAgICAgICA9ICgxNjAgKiBTWl8xSyksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHNwYXJlICovCisgICAgICAgIHsKKyAgICAgICAgICAgICAgICAubmFtZSAgICAgICAgICAgPSAic3BhcmUiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9ICgxNzYgKiBTWl8xSyksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDE2ICogU1pfMUspLAorICAgICAgICB9LAorI2VuZGlmCisKKwkvKiBib290ZWQgaW1hZ2VzICovCisgICAgICAgIHsKKwkJLm5hbWUJCT0gImtlcm5lbCAocm8pIiwKKwkJLm9mZnNldAkJPSAoMTkyICogU1pfMUspLAorCQkuc2l6ZQkJPSAoU1pfMk0pIC0gKDE5MiAqIFNaXzFLKSwKKwkJLm1hc2tfZmxhZ3MJPSBNVERfV1JJVEVBQkxFLCAvKiBmb3JjZSByZWFkLW9ubHkgKi8KKyAgICAgICAgfSwgeworICAgICAgICAgICAgICAgIC5uYW1lICAgICAgICAgICA9ICJyb290IChybykiLAorICAgICAgICAgICAgICAgIC5vZmZzZXQgICAgICAgICA9IChTWl8yTSksCisgICAgICAgICAgICAgICAgLnNpemUgICAgICAgICAgID0gKDIwICogU1pfMU0pLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LAorCisJLyogeWFmZnMgKi8KKwl7CisJCS5uYW1lCQk9ICJ5YWZmcyIsCisJCS5vZmZzZXQJCT0gKDQ0ICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisJfSwKKworCS8qIGJvb3Rsb2FkZXIgZW52aXJvbm1lbnQgKi8KKwl7CisgICAgICAgICAgICAgICAgLm5hbWUJCT0gImVudiIsCisJCS5vZmZzZXQJCT0gKDE2MCAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDE2ICogU1pfMUspLAorCX0sCisKKwkvKiB1cGdyYWRlIGltYWdlcyAqLworICAgICAgICB7CisJCS5uYW1lCQk9ICJ6aW1hZ2UiLAorCQkub2Zmc2V0CQk9ICgyMiAqIFNaXzFNKSwKKwkJLnNpemUJCT0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICB9LCB7CisJCS5uYW1lCQk9ICJjcmFtZnMiLAorCQkub2Zmc2V0CQk9ICgyNCAqIFNaXzFNKSAtICgxOTIqU1pfMUspLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCit9OworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gaml2ZV9pbWFnZUJfbmFuZF9wYXJ0W10gPSB7CisKKyNpZmRlZiBDT05GSUdfTUFDSF9KSVZFX1NIT1dfQk9PVExPQURFUgorCS8qIERvbid0IGFsbG93IGFjY2VzcyB0byB0aGUgYm9vdGxvYWRlciBmcm9tIGxpbnV4ICovCisJeworCQkubmFtZSAgICAgICAgICAgPSAidWJvb3QiLAorCQkub2Zmc2V0ICAgICAgICAgPSAwLAorCQkuc2l6ZSAgICAgICAgICAgPSAoMTYwICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworCX0sCisKKwkvKiBzcGFyZSAqLworICAgICAgICB7CisgICAgICAgICAgICAgICAgLm5hbWUgICAgICAgICAgID0gInNwYXJlIiwKKyAgICAgICAgICAgICAgICAub2Zmc2V0ICAgICAgICAgPSAoMTc2ICogU1pfMUspLAorICAgICAgICAgICAgICAgIC5zaXplICAgICAgICAgICA9ICgxNiAqIFNaXzFLKSwKKyAgICAgICAgfSwKKyNlbmRpZgorCisJLyogYm9vdGVkIGltYWdlcyAqLworICAgICAgICB7CisJCS5uYW1lICAgICAgICAgICA9ICJrZXJuZWwgKHJvKSIsCisJCS5vZmZzZXQgICAgICAgICA9ICgyMiAqIFNaXzFNKSwKKwkJLnNpemUgICAgICAgICAgID0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorCQkubWFza19mbGFncwk9IE1URF9XUklURUFCTEUsIC8qIGZvcmNlIHJlYWQtb25seSAqLworICAgICAgICB9LAorCXsKKwkJLm5hbWUJCT0gInJvb3QgKHJvKSIsCisJCS5vZmZzZXQJCT0gKDI0ICogU1pfMU0pIC0gKDE5MiAqIFNaXzFLKSwKKyAgICAgICAgICAgICAgICAuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisJCS5tYXNrX2ZsYWdzCT0gTVREX1dSSVRFQUJMRSwgLyogZm9yY2UgcmVhZC1vbmx5ICovCisJfSwKKworCS8qIHlhZmZzICovCisJeworCQkubmFtZQkJPSAieWFmZnMiLAorCQkub2Zmc2V0CQk9ICg0NCAqIFNaXzFNKSwKKwkJLnNpemUJCT0gKDIwICogU1pfMU0pLAorICAgICAgICB9LAorCisJLyogYm9vdGxvYWRlciBlbnZpcm9ubWVudCAqLworCXsKKwkJLm5hbWUJCT0gImVudiIsCisJCS5vZmZzZXQJCT0gKDE2MCAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDE2ICogU1pfMUspLAorCX0sCisKKwkvKiB1cGdyYWRlIGltYWdlcyAqLworCXsKKwkJLm5hbWUJCT0gInppbWFnZSIsCisJCS5vZmZzZXQJCT0gKDE5MiAqIFNaXzFLKSwKKwkJLnNpemUJCT0gKDIgKiBTWl8xTSkgLSAoMTkyICogU1pfMUspLAorICAgICAgICB9LCB7CisJCS5uYW1lCQk9ICJjcmFtZnMiLAorCQkub2Zmc2V0CQk9ICgyICogU1pfMU0pLAorCQkuc2l6ZQkJPSAoMjAgKiBTWl8xTSksCisgICAgICAgIH0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfbmFuZF9zZXQgaml2ZV9uYW5kX3NldHNbXSA9IHsKKwlbMF0gPSB7CisJCS5uYW1lICAgICAgICAgICA9ICJmbGFzaCIsCisJCS5ucl9jaGlwcyAgICAgICA9IDEsCisJCS5ucl9wYXJ0aXRpb25zICA9IEFSUkFZX1NJWkUoaml2ZV9pbWFnZUFfbmFuZF9wYXJ0KSwKKwkJLnBhcnRpdGlvbnMgICAgID0gaml2ZV9pbWFnZUFfbmFuZF9wYXJ0LAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1fbmFuZCBqaXZlX25hbmRfaW5mbyA9IHsKKwkvKiBzZXQgdGFrZW4gZnJvbSBvc2lyaXMgbmFuZCB0aW1pbmdzLCBwb3NzaWJseSBzdGlsbCBjb25zZXJ2YXRpdmUgKi8KKwkudGFjbHMJCT0gMzAsCisJLnR3cnBoMAkJPSA1NSwKKwkudHdycGgxCQk9IDQwLAorCS5zZXRzCQk9IGppdmVfbmFuZF9zZXRzLAorCS5ucl9zZXRzCT0gQVJSQVlfU0laRShqaXZlX25hbmRfc2V0cyksCit9OworCitzdGF0aWMgaW50IF9faW5pdCBqaXZlX210ZHNldChjaGFyICpvcHRpb25zKQoreworCXN0cnVjdCBzM2MyNDEwX25hbmRfc2V0ICpuYW5kID0gJmppdmVfbmFuZF9zZXRzWzBdOworCXVuc2lnbmVkIGxvbmcgc2V0OworCisJaWYgKG9wdGlvbnMgPT0gTlVMTCB8fCBvcHRpb25zWzBdID09ICdcMCcpCisJCXJldHVybiAwOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKG9wdGlvbnMsIDEwLCAmc2V0KSkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBwYXJzZSBtdGRzZXQ9JXNcbiIsIG9wdGlvbnMpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzd2l0Y2ggKHNldCkgeworCWNhc2UgMToKKwkJbmFuZC0+bnJfcGFydGl0aW9ucyA9IEFSUkFZX1NJWkUoaml2ZV9pbWFnZUJfbmFuZF9wYXJ0KTsKKwkJbmFuZC0+cGFydGl0aW9ucyA9IGppdmVfaW1hZ2VCX25hbmRfcGFydDsKKwljYXNlIDA6CisJCS8qIHRoaXMgaXMgYWxyZWFkeSBzZXR1cCBpbiB0aGUgbmFuZCBpbmZvICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAiVW5rbm93biBtdGQgc2V0ICVsZCBzcGVjaWZpZWQsIgorCQkgICAgICAgInVzaW5nIGRlZmF1bHQuIiwgc2V0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogcGFyc2UgdGhlIG10ZHNldD0gb3B0aW9uIGdpdmVuIHRvIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lICovCitfX3NldHVwKCJtdGRzZXQ9Iiwgaml2ZV9tdGRzZXQpOworCisvKiBMQ0QgdGltaW5nIGFuZCBzZXR1cCAqLworCisjZGVmaW5lIExDRF9YUkVTCSAoMjQwKQorI2RlZmluZSBMQ0RfWVJFUwkgKDMyMCkKKyNkZWZpbmUgTENEX0xFRlRfTUFSR0lOICAoMTIpCisjZGVmaW5lIExDRF9SSUdIVF9NQVJHSU4gKDEyKQorI2RlZmluZSBMQ0RfTE9XRVJfTUFSR0lOICgxMikKKyNkZWZpbmUgTENEX1VQUEVSX01BUkdJTiAoMTIpCisjZGVmaW5lIExDRF9WU1lOQwkgKDIpCisjZGVmaW5lIExDRF9IU1lOQwkgKDIpCisKKyNkZWZpbmUgTENEX1JFRlJFU0gJICg2MCkKKworI2RlZmluZSBMQ0RfSFRPVCAoTENEX0hTWU5DICsgTENEX0xFRlRfTUFSR0lOICsgTENEX1hSRVMgKyBMQ0RfUklHSFRfTUFSR0lOKQorI2RlZmluZSBMQ0RfVlRPVCAoTENEX1ZTWU5DICsgTENEX0xPV0VSX01BUkdJTiArIExDRF9ZUkVTICsgTENEX1VQUEVSX01BUkdJTikKKworc3RydWN0IHMzYzI0MTBmYl9kaXNwbGF5IGppdmVfdmdnMjQzMmE0X2Rpc3BsYXlbXSA9IHsKKwlbMF0gPSB7CisJCS53aWR0aAkJPSBMQ0RfWFJFUywKKwkJLmhlaWdodAkJPSBMQ0RfWVJFUywKKwkJLnhyZXMJCT0gTENEX1hSRVMsCisJCS55cmVzCQk9IExDRF9ZUkVTLAorCQkubGVmdF9tYXJnaW4JPSBMQ0RfTEVGVF9NQVJHSU4sCisJCS5yaWdodF9tYXJnaW4JPSBMQ0RfUklHSFRfTUFSR0lOLAorCQkudXBwZXJfbWFyZ2luCT0gTENEX1VQUEVSX01BUkdJTiwKKwkJLmxvd2VyX21hcmdpbgk9IExDRF9MT1dFUl9NQVJHSU4sCisJCS5oc3luY19sZW4JPSBMQ0RfSFNZTkMsCisJCS52c3luY19sZW4JPSBMQ0RfVlNZTkMsCisKKwkJLnBpeGNsb2NrCT0gKDEwMDAwMDAwMDAwMDBMTCAvCisJCQkJICAgKExDRF9SRUZSRVNIICogTENEX0hUT1QgKiBMQ0RfVlRPVCkpLAorCisJCS5icHAJCT0gMTYsCisJCS50eXBlCQk9IChTM0MyNDEwX0xDRENPTjFfVEZUMTZCUFAgfAorCQkJCSAgIFMzQzI0MTBfTENEQ09OMV9URlQpLAorCisJCS5sY2Rjb241CT0gKFMzQzI0MTBfTENEQ09ONV9GUk01NjUgfAorCQkJCSAgIFMzQzI0MTBfTENEQ09ONV9JTlZWTElORSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZGUkFNRSB8CisJCQkJICAgUzNDMjQxMF9MQ0RDT041X0lOVlZERU4gfAorCQkJCSAgIFMzQzI0MTBfTENEQ09ONV9QV1JFTiksCisJfSwKK307CisKKy8qIHRvZG8gLSBwdXQgaW50byBncGlvIGhlYWRlciAqLworCisjZGVmaW5lIFMzQzI0MTBfR1BDQ09OX01BU0soeCkJKDMgPDwgKCh4KSAqIDIpKQorI2RlZmluZSBTM0MyNDEwX0dQRENPTl9NQVNLKHgpCSgzIDw8ICgoeCkgKiAyKSkKKworc3RydWN0IHMzYzI0MTBmYl9tYWNoX2luZm8gaml2ZV9sY2RfY29uZmlnID0geworCS5kaXNwbGF5cwkgPSBqaXZlX3ZnZzI0MzJhNF9kaXNwbGF5LAorCS5udW1fZGlzcGxheXMJID0gQVJSQVlfU0laRShqaXZlX3ZnZzI0MzJhNF9kaXNwbGF5KSwKKwkuZGVmYXVsdF9kaXNwbGF5ID0gMCwKKworCS8qIEVuYWJsZSBWRFsyLi43XSwgVkRbMTAuLjE1XSwgVkRbMTguLjIzXSBhbmQgVkNMSywgc3luY3MsIFZERU4KKwkgKiBhbmQgZGlzYWJsZSB0aGUgcHVsbCBkb3duIHJlc2lzdG9ycyBvbiBwaW5zIHdlIGFyZSB1c2luZyBmb3IgTENECisJICogZGF0YS4gKi8KKworCS5ncGN1cAkJPSAoMHhmIDw8IDEpIHwgKDB4M2YgPDwgMTApLAorCisJLmdwY2NvbgkJPSAoUzNDMjQxMF9HUEMxX1ZDTEsgICB8IFMzQzI0MTBfR1BDMl9WTElORSB8CisJCQkgICBTM0MyNDEwX0dQQzNfVkZSQU1FIHwgUzNDMjQxMF9HUEM0X1ZNIHwKKwkJCSAgIFMzQzI0MTBfR1BDMTBfVkQyICAgfCBTM0MyNDEwX0dQQzExX1ZEMyB8CisJCQkgICBTM0MyNDEwX0dQQzEyX1ZENCAgIHwgUzNDMjQxMF9HUEMxM19WRDUgfAorCQkJICAgUzNDMjQxMF9HUEMxNF9WRDYgICB8IFMzQzI0MTBfR1BDMTVfVkQ3KSwKKworCS5ncGNjb25fbWFzawk9IChTM0MyNDEwX0dQQ0NPTl9NQVNLKDEpICB8IFMzQzI0MTBfR1BDQ09OX01BU0soMikgIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMykgIHwgUzNDMjQxMF9HUENDT05fTUFTSyg0KSAgfAorCQkJICAgUzNDMjQxMF9HUENDT05fTUFTSygxMCkgfCBTM0MyNDEwX0dQQ0NPTl9NQVNLKDExKSB8CisJCQkgICBTM0MyNDEwX0dQQ0NPTl9NQVNLKDEyKSB8IFMzQzI0MTBfR1BDQ09OX01BU0soMTMpIHwKKwkJCSAgIFMzQzI0MTBfR1BDQ09OX01BU0soMTQpIHwgUzNDMjQxMF9HUENDT05fTUFTSygxNSkpLAorCisJLmdwZHVwCQk9ICgweDNmIDw8IDIpIHwgKDB4M2YgPDwgMTApLAorCisJLmdwZGNvbgkJPSAoUzNDMjQxMF9HUEQyX1ZEMTAgIHwgUzNDMjQxMF9HUEQzX1ZEMTEgfAorCQkJICAgUzNDMjQxMF9HUEQ0X1ZEMTIgIHwgUzNDMjQxMF9HUEQ1X1ZEMTMgfAorCQkJICAgUzNDMjQxMF9HUEQ2X1ZEMTQgIHwgUzNDMjQxMF9HUEQ3X1ZEMTUgfAorCQkJICAgUzNDMjQxMF9HUEQxMF9WRDE4IHwgUzNDMjQxMF9HUEQxMV9WRDE5IHwKKwkJCSAgIFMzQzI0MTBfR1BEMTJfVkQyMCB8IFMzQzI0MTBfR1BEMTNfVkQyMSB8CisJCQkgICBTM0MyNDEwX0dQRDE0X1ZEMjIgfCBTM0MyNDEwX0dQRDE1X1ZEMjMpLAorCisJLmdwZGNvbl9tYXNrCT0gKFMzQzI0MTBfR1BEQ09OX01BU0soMikgIHwgUzNDMjQxMF9HUERDT05fTUFTSygzKSB8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDQpICB8IFMzQzI0MTBfR1BEQ09OX01BU0soNSkgfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSyg2KSAgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDcpIHwKKwkJCSAgIFMzQzI0MTBfR1BEQ09OX01BU0soMTApIHwgUzNDMjQxMF9HUERDT05fTUFTSygxMSl8CisJCQkgICBTM0MyNDEwX0dQRENPTl9NQVNLKDEyKSB8IFMzQzI0MTBfR1BEQ09OX01BU0soMTMpfAorCQkJICAgUzNDMjQxMF9HUERDT05fTUFTSygxNCkgfCBTM0MyNDEwX0dQRENPTl9NQVNLKDE1KSksCit9OworCisvKiBJTEk5MzIwIHN1cHBvcnQuICovCisKK3N0YXRpYyB2b2lkIGppdmVfbGNtX3Jlc2V0KHVuc2lnbmVkIGludCBzZXQpCit7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzKCVkKVxuIiwgX19mdW5jX18sIHNldCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BHMTMsIHNldCk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQRzEzLCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKK30KKworI3VuZGVmIExDRF9VUFBFUl9NQVJHSU4KKyNkZWZpbmUgTENEX1VQUEVSX01BUkdJTiAyCisKK3N0YXRpYyBzdHJ1Y3QgaWxpOTMyMF9wbGF0ZGF0YSBqaXZlX2xjbV9jb25maWcgPSB7CisJLmhzaXplCQk9IExDRF9YUkVTLAorCS52c2l6ZQkJPSBMQ0RfWVJFUywKKworCS5yZXNldAkJPSBqaXZlX2xjbV9yZXNldCwKKwkuc3VzcGVuZAk9IElMSTkzMjBfU1VTUEVORF9ERUVQLAorCisJLmVudHJ5X21vZGUJPSBJTEk5MzIwX0VOVFJZTU9ERV9JRCgzKSB8IElMSTkzMjBfRU5UUllNT0RFX0JHUiwKKwkuZGlzcGxheTIJPSAoSUxJOTMyMF9ESVNQTEFZMl9GUChMQ0RfVVBQRVJfTUFSR0lOKSB8CisJCQkgICBJTEk5MzIwX0RJU1BMQVkyX0JQKExDRF9MT1dFUl9NQVJHSU4pKSwKKwkuZGlzcGxheTMJPSAweDAsCisJLmRpc3BsYXk0CT0gMHgwLAorCS5yZ2JfaWYxCT0gKElMSTkzMjBfUkdCSUYxX1JJTV9SR0IxOCB8CisJCQkgICBJTEk5MzIwX1JHQklGMV9STSB8IElMSTkzMjBfUkdCSUYxX0NMS19SR0JJRiksCisJLnJnYl9pZjIJPSBJTEk5MzIwX1JHQklGMl9EUEwsCisJLmludGVyZmFjZTIJPSAweDAsCisJLmludGVyZmFjZTMJPSAweDMsCisJLmludGVyZmFjZTQJPSAoSUxJOTMyMF9JTlRFUkZBQ0U0X1JUTkUoMTYpIHwKKwkJCSAgIElMSTkzMjBfSU5URVJGQUNFNF9ESVZFKDEpKSwKKwkuaW50ZXJmYWNlNQk9IDB4MCwKKwkuaW50ZXJmYWNlNgk9IDB4MCwKK307CisKKy8qIExDRCBTUEkgc3VwcG9ydCAqLworCitzdGF0aWMgdm9pZCBqaXZlX2xjZF9zcGlfY2hpcHNlbGVjdChzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gKnNwaSwgaW50IGNzKQoreworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEI3LCBjcyA/IDAgOiAxKTsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3NwaWdwaW9faW5mbyBqaXZlX2xjZF9zcGkgPSB7CisJLmJ1c19udW0JPSAwLAorCS5waW5fY2xrCT0gUzNDMjQxMF9HUEc4LAorCS5waW5fbW9zaQk9IFMzQzI0MTBfR1BCOCwKKwkuY2hpcF9zZWxlY3QJPSBqaXZlX2xjZF9zcGlfY2hpcHNlbGVjdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGppdmVfZGV2aWNlX2xjZHNwaSA9IHsKKwkubmFtZQkJPSAiczNjMjR4eC1zcGktZ3BpbyIsCisJLmlkCQk9IDEsCisJLm51bV9yZXNvdXJjZXMgID0gMCwKKwkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV9sY2Rfc3BpLAorfTsKKworLyogV004NzUwIGF1ZGlvIGNvZGUgU1BJIGRlZmluaXRpb24gKi8KKworc3RhdGljIHZvaWQgaml2ZV93bTg3NTBfY2hpcHNlbGVjdChzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gKnNwaSwgaW50IGNzKQoreworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEgxMCwgY3MgPyAwIDogMSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9zcGlncGlvX2luZm8gaml2ZV93bTg3NTBfc3BpID0geworCS5idXNfbnVtCT0gMiwKKwkucGluX2Nsawk9IFMzQzI0MTBfR1BCNCwKKwkucGluX21vc2kJPSBTM0MyNDEwX0dQQjksCisJLmNoaXBfc2VsZWN0CT0gaml2ZV93bTg3NTBfY2hpcHNlbGVjdCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGppdmVfZGV2aWNlX3dtODc1MCA9IHsKKwkubmFtZQkJPSAiczNjMjR4eC1zcGktZ3BpbyIsCisJLmlkCQk9IDIsCisJLm51bV9yZXNvdXJjZXMgID0gMCwKKwkuZGV2LnBsYXRmb3JtX2RhdGEgPSAmaml2ZV93bTg3NTBfc3BpLAorfTsKKworLyogSklWRSBTUEkgZGV2aWNlcy4gKi8KKworc3RhdGljIHN0cnVjdCBzcGlfYm9hcmRfaW5mbyBfX2luaXRkYXRhIGppdmVfc3BpX2RldnNbXSA9IHsKKwlbMF0gPSB7CisJCS5tb2RhbGlhcwk9ICJWR0cyNDMyQTQiLAorCQkuYnVzX251bQk9IDEsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tb2RlCQk9IFNQSV9NT0RFXzMsCS8qIENQT0w9MSwgQ1BIQT0xICovCisJCS5tYXhfc3BlZWRfaHoJPSAxMDAwMDAsCisJCS5wbGF0Zm9ybV9kYXRhCT0gJmppdmVfbGNtX2NvbmZpZywKKwl9LCB7CisJCS5tb2RhbGlhcwk9ICJXTTg3NTAiLAorCQkuYnVzX251bQk9IDIsCisJCS5jaGlwX3NlbGVjdAk9IDAsCisJCS5tb2RlCQk9IFNQSV9NT0RFXzAsCS8qIENQT0w9MCwgQ1BIQT0wICovCisJCS5tYXhfc3BlZWRfaHoJPSAxMDAwMDAsCisJfSwKK307CisKKy8qIEkyQyBidXMgYW5kIGRldmljZSBjb25maWd1cmF0aW9uLiAqLworCitzdGF0aWMgc3RydWN0IHMzYzI0MTBfcGxhdGZvcm1faTJjIGppdmVfaTJjX2NmZyA9IHsKKwkubWF4X2ZyZXEJPSA4MCAqIDEwMDAsCisJLmJ1c19mcmVxCT0gNTAgKiAxMDAwLAorCS5mbGFncwkJPSBTM0NfSUlDRkxHX0ZJTFRFUiwKKwkuc2RhX2RlbGF5CT0gMiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gaml2ZV9pMmNfZGV2c1tdID0geworCVswXSA9IHsKKwkJSTJDX0JPQVJEX0lORk8oImxpczMwMmRsIiwgMHgxYyksCisJCS5pcnEJPSBJUlFfRUlOVDE0LAorCX0sCit9OworCisvKiBUaGUgcGxhdGZvcm0gZGV2aWNlcyBiZWluZyB1c2VkLiAqLworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqaml2ZV9kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKKwkmczNjX2RldmljZV91c2IsCisJJnMzY19kZXZpY2VfcnRjLAorCSZzM2NfZGV2aWNlX3dkdCwKKwkmczNjX2RldmljZV9pMmMsCisJJnMzY19kZXZpY2VfbGNkLAorCSZqaXZlX2RldmljZV9sY2RzcGksCisJJmppdmVfZGV2aWNlX3dtODc1MCwKKwkmczNjX2RldmljZV9uYW5kLAorCSZzM2NfZGV2aWNlX3VzYmdhZGdldCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF91ZGNfbWFjaF9pbmZvIGppdmVfdWRjX2NmZyBfX2luaXRkYXRhID0geworCS52YnVzX3Bpbgk9IFMzQzI0MTBfR1BHMSwJCS8qIGRldGVjdCBpcyBvbiBHUEcxICovCit9OworCisvKiBKaXZlIHBvd2VyIG1hbmFnZW1lbnQgZGV2aWNlICovCisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgaml2ZV9wbV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpzZCwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCS8qIFdyaXRlIHRoZSBtYWdpYyB2YWx1ZSB1LWJvb3QgdXNlcyB0byBjaGVjayBmb3IgcmVzdW1lIGludG8KKwkgKiB0aGUgSU5GT1JNMCByZWdpc3RlciwgYW5kIGVuc3VyZSBJTkZPUk0xIGlzIHNldCB0byB0aGUKKwkgKiBjb3JyZWN0IGFkZHJlc3MgdG8gcmVzdW1lIGZyb20uICovCisKKwlfX3Jhd193cml0ZWwoMHgyQkVELCBTM0MyNDEyX0lORk9STTApOworCV9fcmF3X3dyaXRlbCh2aXJ0X3RvX3BoeXMoczNjMjQxMF9jcHVfcmVzdW1lKSwgUzNDMjQxMl9JTkZPUk0xKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGppdmVfcG1fcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpzZCkKK3sKKwlfX3Jhd193cml0ZWwoMHgwLCBTM0MyNDEyX0lORk9STTApOworCXJldHVybiAwOworfQorCisjZWxzZQorI2RlZmluZSBqaXZlX3BtX3N1c3BlbmQgTlVMTAorI2RlZmluZSBqaXZlX3BtX3Jlc3VtZSBOVUxMCisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgaml2ZV9wbV9zeXNjbGFzcyA9IHsKKwkubmFtZQkJPSAiaml2ZS1wbSIsCisJLnN1c3BlbmQJPSBqaXZlX3BtX3N1c3BlbmQsCisJLnJlc3VtZQkJPSBqaXZlX3BtX3Jlc3VtZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBqaXZlX3BtX3N5c2RldiA9IHsKKwkuY2xzCQk9ICZqaXZlX3BtX3N5c2NsYXNzLAorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGppdmVfbWFwX2lvKHZvaWQpCit7CisJczNjMjR4eF9pbml0X2lvKGppdmVfaW9kZXNjLCBBUlJBWV9TSVpFKGppdmVfaW9kZXNjKSk7CisJczNjMjR4eF9pbml0X2Nsb2NrcygxMjAwMDAwMCk7CisJczNjMjR4eF9pbml0X3VhcnRzKGppdmVfdWFydGNmZ3MsIEFSUkFZX1NJWkUoaml2ZV91YXJ0Y2ZncykpOworfQorCitzdGF0aWMgdm9pZCBqaXZlX3Bvd2VyX29mZih2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gInBvd2VyaW5nIHN5c3RlbSBkb3duLi4uXG4iKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEM1LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BDNSwgUzNDMjQxMF9HUElPX09VVFBVVCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBqaXZlX21hY2hpbmVfaW5pdCh2b2lkKQoreworCS8qIHJlZ2lzdGVyIHN5c3RlbSBkZXZpY2VzIGZvciBtYW5hZ2luZyBsb3cgbGV2ZWwgc3VzcGVuZCAqLworCisJc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZqaXZlX3BtX3N5c2NsYXNzKTsKKwlzeXNkZXZfcmVnaXN0ZXIoJmppdmVfcG1fc3lzZGV2KTsKKworCS8qIHdyaXRlIG91ciBzbGVlcCBjb25maWd1cmF0aW9ucyBmb3IgdGhlIElPLiBQdWxsIGRvd24gYWxsIHVudXNlZAorCSAqIElPLCBlbnN1cmUgdGhhdCB3ZSBoYXZlIHR1cm5lZCBvZmYgYWxsIHBlcmlwaGVyYWxzIHdlIGRvIG5vdAorCSAqIG5lZWQsIGFuZCBjb25maWd1cmUgdGhlIG9uZXMgd2UgZG8gbmVlZC4gKi8KKworCS8qIFBvcnQgQiBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX0lOKDApICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0hJR0goMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0hJR0goNykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTApLCBTM0MyNDEyX0dQQlNMUENPTik7CisKKwkvKiBQb3J0IEMgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9QVUxMKDApIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDIpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDQpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDUpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9MT1coNikgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDYpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDcpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDgpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDkpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEwKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTIpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDEzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTUpLCBTM0MyNDEyX0dQQ1NMUENPTik7CisKKwkvKiBQb3J0IEQgc2xlZXAgKi8KKworCV9fcmF3X3dyaXRlbChTM0MyNDEyX1NMUENPTl9BTExfUFVMTCwgUzNDMjQxMl9HUERTTFBDT04pOworCisJLyogUG9ydCBGIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fTE9XKDApICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fTE9XKDEpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fTE9XKDIpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCgzKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg0KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg1KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg2KSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fRUlOVCg3KSwgUzNDMjQxMl9HUEZTTFBDT04pOworCisJLyogUG9ydCBHIHNsZWVwICovCisKKwlfX3Jhd193cml0ZWwoUzNDMjQxMl9TTFBDT05fSU4oMCkgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigyKSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oMykgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDQpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTig1KSAgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fSU4oNikgICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDcpICAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDgpICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCg5KSAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEwKSAgIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9QVUxMKDExKSB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMTMpIHwKKwkJICAgICBTM0MyNDEyX1NMUENPTl9JTigxNCkgICB8CisJCSAgICAgUzNDMjQxMl9TTFBDT05fUFVMTCgxNSksIFMzQzI0MTJfR1BHU0xQQ09OKTsKKworCS8qIFBvcnQgSCBzbGVlcCAqLworCisJX19yYXdfd3JpdGVsKFMzQzI0MTJfU0xQQ09OX1BVTEwoMCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoMykgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNCkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoNikgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDcpICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDgpICAgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX1BVTEwoOSkgfAorCQkgICAgIFMzQzI0MTJfU0xQQ09OX0lOKDEwKSwgUzNDMjQxMl9HUEhTTFBDT04pOworCisJLyogaW5pdGlhbGlzZSB0aGUgcG93ZXIgbWFuYWdlbWVudCBub3cgd2UndmUgc2V0dXAgZXZlcnl0aGluZy4gKi8KKworCXMzYzI0MTBfcG1faW5pdCgpOworCisJczNjX2RldmljZV9uYW5kLmRldi5wbGF0Zm9ybV9kYXRhID0gJmppdmVfbmFuZF9pbmZvOworCisJLyogaW5pdGlhbGlzZSB0aGUgc3BpICovCisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BHMTMsIDApOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEcxMywgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BCNywgMSk7CisJczNjMjQxMF9ncGlvX2NmZ3BpbihTM0MyNDEwX0dQQjcsIFMzQzI0MTBfR1BJT19PVVRQVVQpOworCisJczNjMjQxMF9ncGlvX3NldHBpbihTM0MyNDEwX0dQQjYsIDApOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEI2LCBTM0MyNDEwX0dQSU9fT1VUUFVUKTsKKworCXMzYzI0MTBfZ3Bpb19zZXRwaW4oUzNDMjQxMF9HUEc4LCAxKTsKKwlzM2MyNDEwX2dwaW9fY2ZncGluKFMzQzI0MTBfR1BHOCwgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwkvKiBpbml0aWFsaXNlIHRoZSBXTTg3NTAgc3BpICovCisKKwlzM2MyNDEwX2dwaW9fc2V0cGluKFMzQzI0MTBfR1BIMTAsIDEpOworCXMzYzI0MTBfZ3Bpb19jZmdwaW4oUzNDMjQxMF9HUEgxMCwgUzNDMjQxMF9HUElPX09VVFBVVCk7CisKKwkvKiBUdXJuIG9mZiBzdXNwZW5kIG9uIGJvdGggVVNCIHBvcnRzLCBhbmQgc3dpdGNoIHRoZQorCSAqIHNlbGVjdGFibGUgVVNCIHBvcnQgdG8gVVNCIGRldmljZSBtb2RlLiAqLworCisJczNjMjQxMF9tb2RpZnlfbWlzY2NyKFMzQzI0MTBfTUlTQ0NSX1VTQkhPU1QgfAorCQkJICAgICAgUzNDMjQxMF9NSVNDQ1JfVVNCU1VTUE5EMCB8CisJCQkgICAgICBTM0MyNDEwX01JU0NDUl9VU0JTVVNQTkQxLCAweDApOworCisJczNjMjR4eF91ZGNfc2V0X3BsYXRkYXRhKCZqaXZlX3VkY19jZmcpOworCXMzYzI0eHhfZmJfc2V0X3BsYXRkYXRhKCZqaXZlX2xjZF9jb25maWcpOworCisJc3BpX3JlZ2lzdGVyX2JvYXJkX2luZm8oaml2ZV9zcGlfZGV2cywgQVJSQVlfU0laRShqaXZlX3NwaV9kZXZzKSk7CisKKwlzM2NfZGV2aWNlX2kyYy5kZXYucGxhdGZvcm1fZGF0YSA9ICZqaXZlX2kyY19jZmc7CisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgaml2ZV9pMmNfZGV2cywgQVJSQVlfU0laRShqaXZlX2kyY19kZXZzKSk7CisKKwlwbV9wb3dlcl9vZmYgPSBqaXZlX3Bvd2VyX29mZjsKKworCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGppdmVfZGV2aWNlcywgQVJSQVlfU0laRShqaXZlX2RldmljZXMpKTsKK30KKworTUFDSElORV9TVEFSVChKSVZFLCAiSklWRSIpCisJLyogTWFpbnRhaW5lcjogQmVuIERvb2tzIDxiZW5AZmx1ZmYub3JnPiAqLworCS5waHlzX2lvCT0gUzNDMjQxMF9QQV9VQVJULAorCS5pb19wZ19vZmZzdAk9ICgoKHUzMilTM0MyNFhYX1ZBX1VBUlQpID4+IDE4KSAmIDB4ZmZmYywKKwkuYm9vdF9wYXJhbXMJPSBTM0MyNDEwX1NEUkFNX1BBICsgMHgxMDAsCisKKwkuaW5pdF9pcnEJPSBzM2MyNHh4X2luaXRfaXJxLAorCS5tYXBfaW8JCT0gaml2ZV9tYXBfaW8sCisJLmluaXRfbWFjaGluZQk9IGppdmVfbWFjaGluZV9pbml0LAorCS50aW1lcgkJPSAmczNjMjR4eF90aW1lciwKK01BQ0hJTkVfRU5ECmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCmluZGV4IGYxOTE1YmQuLjI1ZGUwNDIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9LY29uZmlnCkBAIC0yOSw2ICsyOSw3IEBACiAJYm9vbCAiU2ltdGVjIEVsZWN0cm9uaWNzIEFOVUJJUyIKIAlzZWxlY3QgQ1BVX1MzQzI0NDAKIAlzZWxlY3QgUE1fU0lNVEVDIGlmIFBNCisJc2VsZWN0IEhBVkVfUEFUQV9QTEFURk9STQogCWhlbHAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgU2ltdGVjIEVsZWN0cm9uaWNzIEFOVUJJUwogCSAgZGV2ZWxvcG1lbnQgc3lzdGVtCkBAIC02Nyw2ICs2OCwxMSBAQAogCWRlZmF1bHQgeSBpZiBBUkNIX1MzQzI0NDAKIAlzZWxlY3QgQ1BVX1MzQzI0NDAKIAorY29uZmlnIE1BQ0hfQVQyNDQwRVZCCisJYm9vbCAiQXZhbnRlY2ggQVQyNDQwRVZCIGRldmVsb3BtZW50IGJvYXJkIgorCXNlbGVjdCBDUFVfUzNDMjQ0MAorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgQVQyNDQwRVZCIGRldmVsb3BtZW50IGJvYXJkCiAKIGVuZG1lbnUKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL01ha2VmaWxlCmluZGV4IGM4MWVkNjIuLjBiNDQ0MGUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvTWFrZWZpbGUKQEAgLTIxLDMgKzIxLDQgQEAKIG9iai0kKENPTkZJR19NQUNIX1JYMzcxNSkJKz0gbWFjaC1yeDM3MTUubwogb2JqLSQoQ09ORklHX0FSQ0hfUzNDMjQ0MCkJKz0gbWFjaC1zbWRrMjQ0MC5vCiBvYmotJChDT05GSUdfTUFDSF9ORVhDT0RFUl8yNDQwKSArPSBtYWNoLW5leGNvZGVyLm8KK29iai0kKENPTkZJR19NQUNIX0FUMjQ0MEVWQikgKz0gbWFjaC1hdDI0NDBldmIubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYW51YmlzLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYwppbmRleCA0NzI1ODkxLi4wOWFmOGIyIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hbnViaXMuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGxpbnV4L2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWFudWJpcy5jCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUgU2ltdGVjIEVsZWN0cm9uaWNzCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCkBAIC0xNyw2ICsxNyw4IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvYXRhX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAKICNpbmNsdWRlIDxsaW51eC9zbTUwMS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtNTAxLXJlZ3MuaD4KQEAgLTI0MSwxNCArMjQzLDE4IEBACiAKIC8qIElERSBjaGFubmVscyAqLwogCitzdHJ1Y3QgcGF0YV9wbGF0Zm9ybV9pbmZvIGFudWJpc19pZGVfcGxhdGRhdGEgPSB7CisJLmlvcG9ydF9zaGlmdAk9IDUsCit9OworCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGFudWJpc19pZGUwX3Jlc291cmNlW10gPSB7CiAJewogCQkuc3RhcnQJPSBTM0MyNDEwX0NTMywKIAkJLmVuZAk9IFMzQzI0MTBfQ1MzICsgKDgqMzIpIC0gMSwKIAkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCiAJfSwgewotCQkuc3RhcnQJPSBTM0MyNDEwX0NTMyArICgxPDwyNiksCi0JCS5lbmQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoOCozMikgLSAxLAorCQkuc3RhcnQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoNiozMiksCisJCS5lbmQJPSBTM0MyNDEwX0NTMyArICgxPDwyNikgKyAoNyozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7CiAJCS5zdGFydAk9IElSUV9JREUwLApAQCAtMjU4LDEwICsyNjQsMTQgQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFudWJpc19kZXZpY2VfaWRlMCA9IHsKLQkubmFtZQkJPSAic2ltdGVjLWlkZSIsCisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAogCS5pZAkJPSAwLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShhbnViaXNfaWRlMF9yZXNvdXJjZSksCiAJLnJlc291cmNlCT0gYW51YmlzX2lkZTBfcmVzb3VyY2UsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYW51YmlzX2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYW51YmlzX2lkZTFfcmVzb3VyY2VbXSA9IHsKQEAgLTI3MCw4ICsyODAsOCBAQAogCQkuZW5kCT0gUzNDMjQxMF9DUzQgKyAoOCozMikgLSAxLAogCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwKIAl9LCB7Ci0JCS5zdGFydAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSwKLQkJLmVuZAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg4KjMyKSAtIDEsCisJCS5zdGFydAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg2KjMyKSwKKwkJLmVuZAk9IFMzQzI0MTBfQ1M0ICsgKDE8PDI2KSArICg3KjMyKSAtIDEsCiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAogCX0sIHsKIAkJLnN0YXJ0CT0gSVJRX0lERTAsCkBAIC0yODAsMTIgKzI5MCwxNSBAQAogCX0sCiB9OwogCi0KIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGFudWJpc19kZXZpY2VfaWRlMSA9IHsKLQkubmFtZQkJPSAic2ltdGVjLWlkZSIsCisJLm5hbWUJCT0gInBhdGFfcGxhdGZvcm0iLAogCS5pZAkJPSAxLAogCS5udW1fcmVzb3VyY2VzCT0gQVJSQVlfU0laRShhbnViaXNfaWRlMV9yZXNvdXJjZSksCiAJLnJlc291cmNlCT0gYW51YmlzX2lkZTFfcmVzb3VyY2UsCisJLmRldgk9IHsKKwkJLnBsYXRmb3JtX2RhdGEgPSAmYW51YmlzX2lkZV9wbGF0ZGF0YSwKKwkJLmNvaGVyZW50X2RtYV9tYXNrID0gfjAsCisJfSwKIH07CiAKIC8qIEFzaXggQVg4ODc5NiAxMC8xMDAgZXRoZXJuZXQgY29udHJvbGxlciAqLwpAQCAtNDA5LDYgKzQyMiwxNSBAQAogCSZzM2MyNHh4X3VjbGssCiB9OwogCisvKiBJMkMgZGV2aWNlcy4gKi8KKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBhbnViaXNfaTJjX2RldnNbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oInRwczY1MDExIiwgMHg0OCksCisJCS5pcnEJPSBJUlFfRUlOVDIwLAorCX0KK307CisKIHN0YXRpYyB2b2lkIF9faW5pdCBhbnViaXNfbWFwX2lvKHZvaWQpCiB7CiAJLyogaW5pdGlhbGlzZSB0aGUgY2xvY2tzICovCkBAIC00NDgsNiArNDcwLDkgQEAKIHN0YXRpYyB2b2lkIF9faW5pdCBhbnViaXNfaW5pdCh2b2lkKQogewogCXBsYXRmb3JtX2FkZF9kZXZpY2VzKGFudWJpc19kZXZpY2VzLCBBUlJBWV9TSVpFKGFudWJpc19kZXZpY2VzKSk7CisKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBhbnViaXNfaTJjX2RldnMsCisJCQkJQVJSQVlfU0laRShhbnViaXNfaTJjX2RldnMpKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYyBiL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLWF0MjQ0MGV2Yi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1ZTNjN2YKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1hdDI0NDBldmIuYwpAQCAtMCwwICsxLDE5OCBAQAorLyogbGludXgvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtYXQyNDQwZXZiLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggUmFtYXggTG8gPHJhbWF4bG9AZ21haWwuY29tPgorICogICAgICBCYXNlZCBvbiBtYWNoLWFudWJpcy5jIGJ5IEJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KKyAqICAgICAgYW5kIG1vZGlmaWNhdGlvbnMgYnkgU0JaIDxzYnpAc3BndWkub3JnPiBhbmQKKyAqICAgICAgV2VpYmluZyA8aHR0cDovL3dlaWJpbmcuYmxvZ2J1cy5jb20+CisgKgorICogRm9yIHByb2R1Y3QgaW5mb3JtYXRpb24sIHZpc2l0IGh0dHA6Ly93d3cuYXJtOWUuY29tLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfY29yZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtOTAwMC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL21hY2gvYXJjaC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLW1lbS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtbGNkLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL25hbmQuaD4KKworI2luY2x1ZGUgPGxpbnV4L210ZC9tdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9tdGQvbmFuZC5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9uYW5kX2VjYy5oPgorI2luY2x1ZGUgPGxpbnV4L210ZC9wYXJ0aXRpb25zLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2Nsb2NrLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9kZXZzLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtczNjMjR4eC9jcHUuaD4KKworc3RhdGljIHN0cnVjdCBtYXBfZGVzYyBhdDI0NDBldmJfaW9kZXNjW10gX19pbml0ZGF0YSA9IHsKKwkvKiBOb3RoaW5nIGhlcmUgKi8KK307CisKKyNkZWZpbmUgVUNPTiBTM0MyNDEwX1VDT05fREVGQVVMVAorI2RlZmluZSBVTENPTiAoUzNDMjQxMF9MQ09OX0NTOCB8IFMzQzI0MTBfTENPTl9QTk9ORSkKKyNkZWZpbmUgVUZDT04gKFMzQzI0MTBfVUZDT05fUlhUUklHOCB8IFMzQzI0MTBfVUZDT05fRklGT01PREUpCisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyBhdDI0NDBldmJfc2VyaWFsX2Nsb2Nrc1tdID0geworCVswXSA9IHsKKwkJLm5hbWUJCT0gInVjbGsiLAorCQkuZGl2aXNvcgk9IDEsCisJCS5taW5fYmF1ZAk9IDAsCisJCS5tYXhfYmF1ZAk9IDAsCisJfSwKKwlbMV0gPSB7CisJCS5uYW1lCQk9ICJwY2xrIiwKKwkJLmRpdmlzb3IJPSAxLAorCQkubWluX2JhdWQJPSAwLAorCQkubWF4X2JhdWQJPSAwLAorCX0KK307CisKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgYXQyNDQwZXZiX3VhcnRjZmdzW10gX19pbml0ZGF0YSA9IHsKKwlbMF0gPSB7CisJCS5od3BvcnQJICAgICA9IDAsCisJCS5mbGFncwkgICAgID0gMCwKKwkJLnVjb24JICAgICA9IFVDT04sCisJCS51bGNvbgkgICAgID0gVUxDT04sCisJCS51ZmNvbgkgICAgID0gVUZDT04sCisJCS5jbG9ja3MJICAgICA9IGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzLAorCQkuY2xvY2tzX3NpemUgPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9zZXJpYWxfY2xvY2tzKSwKKwl9LAorCVsxXSA9IHsKKwkJLmh3cG9ydAkgICAgID0gMSwKKwkJLmZsYWdzCSAgICAgPSAwLAorCQkudWNvbgkgICAgID0gVUNPTiwKKwkJLnVsY29uCSAgICAgPSBVTENPTiwKKwkJLnVmY29uCSAgICAgPSBVRkNPTiwKKwkJLmNsb2NrcwkgICAgID0gYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MsCisJCS5jbG9ja3Nfc2l6ZSA9IEFSUkFZX1NJWkUoYXQyNDQwZXZiX3NlcmlhbF9jbG9ja3MpLAorCX0sCit9OworCisvKiBOQU5EIEZsYXNoIG9uIEFUMjQ0MEVWQiBib2FyZCAqLworCitzdGF0aWMgc3RydWN0IG10ZF9wYXJ0aXRpb24gYXQyNDQwZXZiX2RlZmF1bHRfbmFuZF9wYXJ0W10gPSB7CisJWzBdID0geworCQkubmFtZQk9ICJCb290IEFnZW50IiwKKwkJLnNpemUJPSBTWl8yNTZLLAorCQkub2Zmc2V0CT0gMCwKKwl9LAorCVsxXSA9IHsKKwkJLm5hbWUJPSAiS2VybmVsIiwKKwkJLnNpemUJPSBTWl8yTSwKKwkJLm9mZnNldAk9IFNaXzI1NkssCisJfSwKKwlbMl0gPSB7CisJCS5uYW1lCT0gIlJvb3QiLAorCQkub2Zmc2V0CT0gU1pfMjU2SyArIFNaXzJNLAorCQkuc2l6ZQk9IE1URFBBUlRfU0laX0ZVTEwsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjQxMF9uYW5kX3NldCBhdDI0NDBldmJfbmFuZF9zZXRzW10gPSB7CisJWzBdID0geworCQkubmFtZQkJPSAibmFuZCIsCisJCS5ucl9jaGlwcwk9IDEsCisJCS5ucl9wYXJ0aXRpb25zCT0gQVJSQVlfU0laRShhdDI0NDBldmJfZGVmYXVsdF9uYW5kX3BhcnQpLAorCQkucGFydGl0aW9ucwk9IGF0MjQ0MGV2Yl9kZWZhdWx0X25hbmRfcGFydCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNDEwX3BsYXRmb3JtX25hbmQgYXQyNDQwZXZiX25hbmRfaW5mbyA9IHsKKwkudGFjbHMJCT0gMjUsCisJLnR3cnBoMAkJPSA1NSwKKwkudHdycGgxCQk9IDQwLAorCS5ucl9zZXRzCT0gQVJSQVlfU0laRShhdDI0NDBldmJfbmFuZF9zZXRzKSwKKwkuc2V0cwkJPSBhdDI0NDBldmJfbmFuZF9zZXRzLAorfTsKKworLyogRE05MDAwQUVQIDEwLzEwMCBldGhlcm5ldCBjb250cm9sbGVyICovCisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXQyNDQwZXZiX2RtOWtfcmVzb3VyY2VbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydCA9IFMzQzI0MTBfQ1MzLAorCQkuZW5kICAgPSBTM0MyNDEwX0NTMyArIDMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNCisJfSwKKwlbMV0gPSB7CisJCS5zdGFydCA9IFMzQzI0MTBfQ1MzICsgNCwKKwkJLmVuZCAgID0gUzNDMjQxMF9DUzMgKyA3LAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTQorCX0sCisJWzJdID0geworCQkuc3RhcnQgPSBJUlFfRUlOVDcsCisJCS5lbmQgICA9IElSUV9FSU5UNywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEgfCBJT1JFU09VUkNFX0lSUV9ISUdIRURHRSwKKwl9Cit9OworCitzdGF0aWMgc3RydWN0IGRtOTAwMF9wbGF0X2RhdGEgYXQyNDQwZXZiX2RtOWtfcGRhdGEgPSB7CisJLmZsYWdzCQk9IChETTkwMDBfUExBVEZfMTZCSVRPTkxZIHwgRE05MDAwX1BMQVRGX05PX0VFUFJPTSksCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBhdDI0NDBldmJfZGV2aWNlX2V0aCA9IHsKKwkubmFtZQkJPSAiZG05MDAwIiwKKwkuaWQJCT0gLTEsCisJLm51bV9yZXNvdXJjZXMJPSBBUlJBWV9TSVpFKGF0MjQ0MGV2Yl9kbTlrX3Jlc291cmNlKSwKKwkucmVzb3VyY2UJPSBhdDI0NDBldmJfZG05a19yZXNvdXJjZSwKKwkuZGV2CQk9IHsKKwkJLnBsYXRmb3JtX2RhdGEJPSAmYXQyNDQwZXZiX2RtOWtfcGRhdGEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDI0NDBldmJfZGV2aWNlc1tdIF9faW5pdGRhdGEgPSB7CisJJnMzY19kZXZpY2VfdXNiLAorCSZzM2NfZGV2aWNlX3dkdCwKKwkmczNjX2RldmljZV9hZGMsCisJJnMzY19kZXZpY2VfaTJjLAorCSZzM2NfZGV2aWNlX3J0YywKKwkmczNjX2RldmljZV9uYW5kLAorCSZhdDI0NDBldmJfZGV2aWNlX2V0aCwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhdDI0NDBldmJfbWFwX2lvKHZvaWQpCit7CisJczNjX2RldmljZV9uYW5kLmRldi5wbGF0Zm9ybV9kYXRhID0gJmF0MjQ0MGV2Yl9uYW5kX2luZm87CisKKwlzM2MyNHh4X2luaXRfaW8oYXQyNDQwZXZiX2lvZGVzYywgQVJSQVlfU0laRShhdDI0NDBldmJfaW9kZXNjKSk7CisJczNjMjR4eF9pbml0X2Nsb2NrcygxNjkzNDQwMCk7CisJczNjMjR4eF9pbml0X3VhcnRzKGF0MjQ0MGV2Yl91YXJ0Y2ZncywgQVJSQVlfU0laRShhdDI0NDBldmJfdWFydGNmZ3MpKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGF0MjQ0MGV2Yl9pbml0KHZvaWQpCit7CisJcGxhdGZvcm1fYWRkX2RldmljZXMoYXQyNDQwZXZiX2RldmljZXMsIEFSUkFZX1NJWkUoYXQyNDQwZXZiX2RldmljZXMpKTsKK30KKworCitNQUNISU5FX1NUQVJUKEFUMjQ0MEVWQiwgIkFUMjQ0MEVWQiIpCisJLnBoeXNfaW8JPSBTM0MyNDEwX1BBX1VBUlQsCisJLmlvX3BnX29mZnN0CT0gKCgodTMyKVMzQzI0WFhfVkFfVUFSVCkgPj4gMTgpICYgMHhmZmZjLAorCS5ib290X3BhcmFtcwk9IFMzQzI0MTBfU0RSQU1fUEEgKyAweDEwMCwKKwkubWFwX2lvCQk9IGF0MjQ0MGV2Yl9tYXBfaW8sCisJLmluaXRfbWFjaGluZQk9IGF0MjQ0MGV2Yl9pbml0LAorCS5pbml0X2lycQk9IHMzYzI0eHhfaW5pdF9pcnEsCisJLnRpbWVyCQk9ICZzM2MyNHh4X3RpbWVyLAorTUFDSElORV9FTkQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtczNjMjQ0MC9tYWNoLW9zaXJpcy5jIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKaW5kZXggOGE4YWNkYi4uYWY5OTZiMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1zM2MyNDQwL21hY2gtb3NpcmlzLmMKQEAgLTEsNiArMSw2IEBACiAvKiBsaW51eC9hcmNoL2FybS9tYWNoLXMzYzI0NDAvbWFjaC1vc2lyaXMuYwogICoKLSAqIENvcHlyaWdodCAoYykgMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqIENvcHlyaWdodCAoYykgMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcwogICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KICAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KIAogI2luY2x1ZGUgPGFzbS9tYWNoL2FyY2guaD4KICNpbmNsdWRlIDxhc20vbWFjaC9tYXAuaD4KQEAgLTMyMiw2ICszMjMsMTUgQEAKIAkuY2xzCQk9ICZvc2lyaXNfcG1fc3lzY2xhc3MsCiB9OwogCisvKiBJMkMgZGV2aWNlcyBmaXR0ZWQuICovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2JvYXJkX2luZm8gb3NpcmlzX2kyY19kZXZzW10gX19pbml0ZGF0YSA9IHsKKwl7CisJCUkyQ19CT0FSRF9JTkZPKCJ0cHM2NTAxMSIsIDB4NDgpLAorCQkuaXJxCT0gSVJRX0VJTlQyMCwKKwl9LAorfTsKKwogLyogU3RhbmRhcmQgT3NpcmlzIGRldmljZXMgKi8KIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKm9zaXJpc19kZXZpY2VzW10gX19pbml0ZGF0YSA9IHsKQEAgLTM4OCw2ICszOTgsOSBAQAogCXN5c2Rldl9jbGFzc19yZWdpc3Rlcigmb3NpcmlzX3BtX3N5c2NsYXNzKTsKIAlzeXNkZXZfcmVnaXN0ZXIoJm9zaXJpc19wbV9zeXNkZXYpOwogCisJaTJjX3JlZ2lzdGVyX2JvYXJkX2luZm8oMCwgb3NpcmlzX2kyY19kZXZzLAorCQkJCUFSUkFZX1NJWkUob3NpcmlzX2kyY19kZXZzKSk7CisKIAlwbGF0Zm9ybV9hZGRfZGV2aWNlcyhvc2lyaXNfZGV2aWNlcywgQVJSQVlfU0laRShvc2lyaXNfZGV2aWNlcykpOwogfTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1zM2MyNDQzL2Nsb2NrLmMgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYwppbmRleCBiNDJmOTU2Li4xN2YwNjRmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYworKysgYi9hcmNoL2FybS9tYWNoLXMzYzI0NDMvY2xvY2suYwpAQCAtODEsNyArODEsNyBAQAogCWVsc2UKIAkJY2xrY29uICY9IH5jbG9ja3M7CiAKLQlfX3Jhd193cml0ZWwoY2xrY29uLCBTM0MyNDQzX0hDTEtDT04pOworCV9fcmF3X3dyaXRlbChjbGtjb24sIFMzQzI0NDNfUENMS0NPTik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIyMSw3ICsyMjEsNiBAQAogCS5nZXRfcmF0ZQk9IHMzYzI0NDNfZ2V0cmF0ZV9tZGl2Y2xrLAogfTsKIAotCiBzdGF0aWMgaW50IHMzYzI0NDNfc2V0cGFyZW50X21zeXNjbGsoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCiB7CiAJdW5zaWduZWQgbG9uZyBjbGtzcmMgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS1NSQyk7CkBAIC0yNDksNiArMjQ4LDQ2IEBACiAJLnNldF9wYXJlbnQJPSBzM2MyNDQzX3NldHBhcmVudF9tc3lzY2xrLAogfTsKIAorLyogYXJtZGl2CisgKgorICogdGhpcyBjbG9jayBpcyBzb3VyY2VkIGZyb20gbXN5c2NsayBhbmQgY2FuIGhhdmUgYSBudW1iZXIgb2YKKyAqIGRpdmlkZXIgdmFsdWVzIGFwcGxpZWQgdG8gaXQgdG8gdGhlbiBiZSBmZWQgaW50byBhcm1jbGsuCisqLworCitzdGF0aWMgc3RydWN0IGNsayBjbGtfYXJtZGl2ID0geworCS5uYW1lCQk9ICJhcm1kaXYiLAorCS5pZAkJPSAtMSwKKwkucGFyZW50CQk9ICZjbGtfbXN5c2NsaywKK307CisKKy8qIGFybWNsaworICoKKyAqIHRoaXMgaXMgdGhlIGNsb2NrIGZlZCBpbnRvIHRoZSBBUk0gY29yZSBpdHNlbGYsIGVpdGhlciBmcm9tCisgKiBhcm1kaXYgb3IgZnJvbSBoY2xrLgorICovCisKK3N0YXRpYyBpbnQgczNjMjQ0M19zZXRwYXJlbnRfYXJtY2xrKHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXVuc2lnbmVkIGxvbmcgY2xrZGl2MDsKKworCWNsa2RpdjAgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS0RJVjApOworCisJaWYgKHBhcmVudCA9PSAmY2xrX2FybWRpdikKKwkJY2xrZGl2MCAmPSB+UzNDMjQ0M19DTEtESVYwX0RWUzsKKwllbHNlIGlmIChwYXJlbnQgPT0gJmNsa19oKQorCQljbGtkaXYwIHw9IFMzQzI0NDNfQ0xLRElWMF9EVlM7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fcmF3X3dyaXRlbChjbGtkaXYwLCBTM0MyNDQzX0NMS0RJVjApOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfYXJtID0geworCS5uYW1lCQk9ICJhcm1jbGsiLAorCS5pZAkJPSAtMSwKKwkuc2V0X3BhcmVudAk9IHMzYzI0NDNfc2V0cGFyZW50X2FybWNsaywKK307CiAKIC8qIGVzeXNjbGsKICAqCkBAIC02MzksNiArNjc4LDI5IEBACiAJLnJvdW5kX3JhdGUJPSBzM2MyNDQzX3JvdW5kcmF0ZV9jbGtzcmMyNTYsCiB9OwogCisvKiBwcmVkaXYKKyAqCisgKiB0aGlzIGRpdmlkZXMgdGhlIG1zeXNjbGsgZG93biB0byBwYXNzIHRvIGgvcC9ldGMuCisgKi8KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyByYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1bnNpZ25lZCBsb25nIGNsa2RpdjAgPSBfX3Jhd19yZWFkbChTM0MyNDQzX0NMS0RJVjApOworCisJY2xrZGl2MCAmPSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX01BU0s7CisJY2xrZGl2MCA+Pj0gUzNDMjQ0M19DTEtESVYwX1BSRURJVl9TSElGVDsKKworCXJldHVybiByYXRlIC8gKGNsa2RpdjAgKyAxKTsKK30KKworc3RhdGljIHN0cnVjdCBjbGsgY2xrX3ByZWRpdiA9IHsKKwkubmFtZQkJPSAicHJlZGl2IiwKKwkuaWQJCT0gLTEsCisJLnBhcmVudAkJPSAmY2xrX21zeXNjbGssCisJLmdldF9yYXRlCT0gczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZSwKK307CisKIC8qIHN0YW5kYXJkIGNsb2NrIGRlZmluaXRpb25zICovCiAKIHN0YXRpYyBzdHJ1Y3QgY2xrIGluaXRfY2xvY2tzX2Rpc2FibGVbXSA9IHsKQEAgLTg4Nyw2ICs5NDksMTUgQEAKIAl9CiAKIAljbGtfaW5pdF9zZXRfcGFyZW50KCZjbGtfbXN5c2NsaywgcGFyZW50KTsKKworCS8qIGFybSAqLworCisJaWYgKF9fcmF3X3JlYWRsKFMzQzI0NDNfQ0xLRElWMCkgJiBTM0MyNDQzX0NMS0RJVjBfRFZTKQorCQlwYXJlbnQgPSAmY2xrX2g7CisJZWxzZQorCQlwYXJlbnQgPSAmY2xrX2FybWRpdjsKKworCWNsa19pbml0X3NldF9wYXJlbnQoJmNsa19hcm0sIHBhcmVudCk7CiB9CiAKIC8qIGFybWRpdiBkaXZpc29yIHRhYmxlICovCkBAIC05MDksMTAgKzk4MCw5IEBACiAJcmV0dXJuIGFybWRpdltjbGtjb24wID4+IFMzQzI0NDNfQ0xLRElWMF9BUk1ESVZfU0hJRlRdOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgczNjMjQ0M19nZXRfcHJlZGl2KHVuc2lnbmVkIGxvbmcgY2xrY29uMCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBzM2MyNDQzX2dldF9oZGl2KHVuc2lnbmVkIGxvbmcgY2xrY29uMCkKIHsKLQljbGtjb24wICY9IFMzQzI0NDNfQ0xLRElWMF9QUkVESVZfTUFTSzsKLQljbGtjb24wID4+PSBTM0MyNDQzX0NMS0RJVjBfUFJFRElWX1NISUZUOworCWNsa2NvbjAgJj0gUzNDMjQ0M19DTEtESVYwX0hDTEtESVZfTUFTSzsKIAogCXJldHVybiBjbGtjb24wICsgMTsKIH0KQEAgLTkzNiw2ICsxMDA2LDkgQEAKIAkmY2xrX2hzc3BpLAogCSZjbGtfaHNtbWNfZGl2LAogCSZjbGtfaHNtbWMsCisJJmNsa19hcm1kaXYsCisJJmNsa19hcm0sCisJJmNsa19wcmVkaXYsCiB9OwogCiB2b2lkIF9faW5pdCBzM2MyNDQzX2luaXRfY2xvY2tzKGludCB4dGFsKQpAQCAtOTUxLDEwICsxMDI0LDE2IEBACiAJaW50IHJldDsKIAlpbnQgcHRyOwogCisJLyogczNjMjQ0MyBwYXJlbnRzIGggYW5kIHAgY2xvY2tzIGZyb20gcHJlZGl2ICovCisJY2xrX2gucGFyZW50ID0gJmNsa19wcmVkaXY7CisJY2xrX3AucGFyZW50ID0gJmNsa19wcmVkaXY7CisKIAlwbGwgPSBzM2MyNDQzX2dldF9tcGxsKG1wbGxjb24sIHh0YWwpOworCWNsa19tc3lzY2xrLnJhdGUgPSBwbGw7CiAKIAlmY2xrID0gcGxsIC8gczNjMjQ0M19mY2xrX2RpdihjbGtkaXYwKTsKLQloY2xrID0gZmNsayAvIHMzYzI0NDNfZ2V0X3ByZWRpdihjbGtkaXYwKTsKKwloY2xrID0gczNjMjQ0M19wcmVkaXZfZ2V0cmF0ZSgmY2xrX3ByZWRpdik7CisJaGNsayA9IGhjbGsgLyBzM2MyNDQzX2dldF9oZGl2KGNsa2RpdjApOwogCWhjbGsgPSBoY2xrIC8gKChjbGtkaXYwICYgUzNDMjQ0M19DTEtESVYwX0hBTEZfSENMSykgPyAyIDogMSk7CiAgCXBjbGsgPSBoY2xrIC8gKChjbGtkaXYwICYgUzNDMjQ0M19DTEtESVYwX0hBTEZfUENMSykgPyAyIDogMSk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL0tjb25maWcgYi9hcmNoL2FybS9tbS9LY29uZmlnCmluZGV4IDMzZWQwNDguLjNhNmM4ZWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbW0vS2NvbmZpZwpAQCAtMTgwLDggKzE4MCwyMSBAQAogIyBBUk05MjZUCiBjb25maWcgQ1BVX0FSTTkyNlQKIAlib29sICJTdXBwb3J0IEFSTTkyNlQgcHJvY2Vzc29yIgotCWRlcGVuZHMgb24gQVJDSF9JTlRFR1JBVE9SIHx8IEFSQ0hfVkVSU0FUSUxFX1BCIHx8IE1BQ0hfVkVSU0FUSUxFX0FCIHx8IEFSQ0hfT01BUDczMCB8fCBBUkNIX09NQVAxNlhYIHx8IE1BQ0hfUkVBTFZJRVdfRUIgfHwgQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kKLQlkZWZhdWx0IHkgaWYgQVJDSF9WRVJTQVRJTEVfUEIgfHwgTUFDSF9WRVJTQVRJTEVfQUIgfHwgQVJDSF9PTUFQNzMwIHx8IEFSQ0hfT01BUDE2WFggfHwgQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFTQU05UkwgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX05TOVhYWCB8fCBBUkNIX0RBVklOQ0kKKwlkZXBlbmRzIG9uIEFSQ0hfSU5URUdSQVRPUiB8fCBBUkNIX1ZFUlNBVElMRV9QQiB8fCBcCisJCU1BQ0hfVkVSU0FUSUxFX0FCIHx8IEFSQ0hfT01BUDczMCB8fCBcCisJCUFSQ0hfT01BUDE2WFggfHwgTUFDSF9SRUFMVklFV19FQiB8fCBcCisJCUFSQ0hfUE5YNDAwOCB8fCBBUkNIX05FVFggfHwgQ1BVX1MzQzI0MTIgfHwgXAorCQlBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjEgfHwgXAorCQlBUkNIX0FUOTFTQU05MjYzIHx8IEFSQ0hfQVQ5MVNBTTlSTCB8fCBcCisJCUFSQ0hfQVQ5MVNBTTlHMjAgfHwgQVJDSF9BVDkxQ0FQOSB8fCBcCisJCUFSQ0hfTlM5WFhYIHx8IEFSQ0hfREFWSU5DSQorCWRlZmF1bHQgeSBpZiBBUkNIX1ZFUlNBVElMRV9QQiB8fCBNQUNIX1ZFUlNBVElMRV9BQiB8fCBcCisJCUFSQ0hfT01BUDczMCB8fCBBUkNIX09NQVAxNlhYIHx8IFwKKwkJQVJDSF9QTlg0MDA4IHx8IEFSQ0hfTkVUWCB8fCBDUFVfUzNDMjQxMiB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MSB8fCBcCisJCUFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOVJMIHx8IFwKKwkJQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5IHx8IFwKKwkJQVJDSF9OUzlYWFggfHwgQVJDSF9EQVZJTkNJIHx8IEFSQ0hfTVgyCiAJc2VsZWN0IENQVV8zMnY1CiAJc2VsZWN0IENQVV9BQlJUX0VWNVRKCiAJc2VsZWN0IENQVV9QQUJSVF9OT0lGQVIKQEAgLTM2NSw3ICszNzgsNyBAQAogIyBGZXJvY2VvbgogY29uZmlnIENQVV9GRVJPQ0VPTgogCWJvb2wKLQlkZXBlbmRzIG9uIEFSQ0hfT1JJT041WAorCWRlcGVuZHMgb24gQVJDSF9PUklPTjVYIHx8IEFSQ0hfTE9LSSB8fCBBUkNIX0tJUktXT09EIHx8IEFSQ0hfTVY3OFhYMAogCWRlZmF1bHQgeQogCXNlbGVjdCBDUFVfMzJ2NQogCXNlbGVjdCBDUFVfQUJSVF9FVjVUCkBAIC0zNzMsNyArMzg2LDcgQEAKIAlzZWxlY3QgQ1BVX0NBQ0hFX1ZJVlQKIAlzZWxlY3QgQ1BVX0NQMTVfTU1VCiAJc2VsZWN0IENQVV9DT1BZX0ZFUk9DRU9OIGlmIE1NVQotCXNlbGVjdCBDUFVfVExCX1Y0V0JJIGlmIE1NVQorCXNlbGVjdCBDUFVfVExCX0ZFUk9DRU9OIGlmIE1NVQogCiBjb25maWcgQ1BVX0ZFUk9DRU9OX09MRF9JRAogCWJvb2wgIkFjY2VwdCBlYXJseSBGZXJvY2VvbiBjb3JlcyB3aXRoIGFuIEFSTTkyNiBJRCIKQEAgLTU1MSw2ICs1NjQsMTEgQEAKIAkgIEFSTSBBcmNoaXRlY3R1cmUgVmVyc2lvbiA0IFRMQiB3aXRoIHdyaXRlYmFjayBjYWNoZSBhbmQgaW52YWxpZGF0ZQogCSAgaW5zdHJ1Y3Rpb24gY2FjaGUgZW50cnkuCiAKK2NvbmZpZyBDUFVfVExCX0ZFUk9DRU9OCisJYm9vbAorCWhlbHAKKwkgIEZlcm9jZW9uIFRMQiAodjR3Ymkgd2l0aCBub24tb3V0ZXItY2FjaGFibGUgcGFnZSB0YWJsZSB3YWxrcykuCisKIGNvbmZpZyBDUFVfVExCX1Y2CiAJYm9vbAogCkBAIC03MDksNiArNzI3LDE0IEBACiAJYm9vbAogCWRlZmF1bHQgbgogCitjb25maWcgQ0FDSEVfRkVST0NFT05fTDIKKwlib29sICJFbmFibGUgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBBUkNIX0tJUktXT09EIHx8IEFSQ0hfTVY3OFhYMAorCWRlZmF1bHQgeQorCXNlbGVjdCBPVVRFUl9DQUNIRQorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIuCisKIGNvbmZpZyBDQUNIRV9MMlgwCiAJYm9vbCAiRW5hYmxlIHRoZSBMMngwIG91dGVyIGNhY2hlIGNvbnRyb2xsZXIiCiAJZGVwZW5kcyBvbiBSRUFMVklFV19FQl9BUk0xMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMU1QIHx8IE1BQ0hfUkVBTFZJRVdfUEIxMTc2CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9NYWtlZmlsZSBiL2FyY2gvYXJtL21tL01ha2VmaWxlCmluZGV4IDMyYjJkMmQuLmY2NGI5MjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21tL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21tL01ha2VmaWxlCkBAIC00Niw2ICs0Niw3IEBACiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNFdUKQkrPSB0bGItdjQubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjRXQikJKz0gdGxiLXY0d2Iubwogb2JqLSQoQ09ORklHX0NQVV9UTEJfVjRXQkkpCSs9IHRsYi12NHdiaS5vCitvYmotJChDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTikJKz0gdGxiLXY0d2JpLm8JIyByZXVzZSB2NHdiaSBUTEIgZnVuY3Rpb25zCiBvYmotJChDT05GSUdfQ1BVX1RMQl9WNikJKz0gdGxiLXY2Lm8KIG9iai0kKENPTkZJR19DUFVfVExCX1Y3KQkrPSB0bGItdjcubwogCkBAIC03Myw0ICs3NCw1IEBACiBvYmotJChDT05GSUdfQ1BVX1Y2KQkJKz0gcHJvYy12Ni5vCiBvYmotJChDT05GSUdfQ1BVX1Y3KQkJKz0gcHJvYy12Ny5vCiAKK29iai0kKENPTkZJR19DQUNIRV9GRVJPQ0VPTl9MMikJKz0gY2FjaGUtZmVyb2Nlb24tbDIubwogb2JqLSQoQ09ORklHX0NBQ0hFX0wyWDApCSs9IGNhY2hlLWwyeDAubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbW0vY2FjaGUtZmVyb2Nlb24tbDIuYyBiL2FyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlZWM0YgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21tL2NhY2hlLWZlcm9jZW9uLWwyLmMKQEAgLTAsMCArMSwzMTggQEAKKy8qCisgKiBhcmNoL2FybS9tbS9jYWNoZS1mZXJvY2Vvbi1sMi5jIC0gRmVyb2Nlb24gTDIgY2FjaGUgY29udHJvbGxlciBzdXBwb3J0CisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hcnZlbGwgU2VtaWNvbmR1Y3RvcgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICoKKyAqIFJlZmVyZW5jZXM6CisgKiAtIFVuaWZpZWQgTGF5ZXIgMiBDYWNoZSBmb3IgRmVyb2Nlb24gQ1BVIENvcmVzLAorICogICBEb2N1bWVudCBJRCBNVi1TMTA0ODU4LTAwLCBSZXYuIEEsIE9jdG9iZXIgMjMgMjAwNy4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3BsYXQtb3Jpb24vY2FjaGUtZmVyb2Nlb24tbDIuaD4KKworCisvKgorICogTG93LWxldmVsIGNhY2hlIG1haW50ZW5hbmNlIG9wZXJhdGlvbnMuCisgKgorICogQXMgd2VsbCBhcyB0aGUgcmVndWxhciAnY2xlYW4vaW52YWxpZGF0ZS9mbHVzaCBMMiBjYWNoZSBsaW5lIGJ5CisgKiBNVkEnIGluc3RydWN0aW9ucywgdGhlIEZlcm9jZW9uIEwyIGNhY2hlIGNvbnRyb2xsZXIgYWxzbyBmZWF0dXJlcworICogJ2NsZWFuL2ludmFsaWRhdGUgTDIgcmFuZ2UgYnkgTVZBJyBvcGVyYXRpb25zLgorICoKKyAqIENhY2hlIHJhbmdlIG9wZXJhdGlvbnMgYXJlIGluaXRpYXRlZCBieSB3cml0aW5nIHRoZSBzdGFydCBhbmQKKyAqIGVuZCBhZGRyZXNzZXMgdG8gc3VjY2Vzc2l2ZSBjcDE1IHJlZ2lzdGVycywgYW5kIHByb2Nlc3MgZXZlcnkKKyAqIGNhY2hlIGxpbmUgd2hvc2UgZmlyc3QgYnl0ZSBhZGRyZXNzIGxpZXMgaW4gdGhlIGluY2x1c2l2ZSByYW5nZQorICogW3N0YXJ0OmVuZF0uCisgKgorICogVGhlIGNhY2hlIHJhbmdlIG9wZXJhdGlvbnMgc3RhbGwgdGhlIENQVSBwaXBlbGluZSB1bnRpbCBjb21wbGV0aW9uLgorICoKKyAqIFRoZSByYW5nZSBvcGVyYXRpb25zIHJlcXVpcmUgdHdvIHN1Y2Nlc3NpdmUgY3AxNSB3cml0ZXMsIGluCisgKiBiZXR3ZWVuIHdoaWNoIHdlIGRvbid0IHdhbnQgdG8gYmUgcHJlZW1wdGVkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5fcGEodW5zaWduZWQgbG9uZyBhZGRyKQoreworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGM5LCAzIiA6IDogInIiIChhZGRyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9jbGVhbl9tdmFfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJICogTWFrZSBzdXJlICdzdGFydCcgYW5kICdlbmQnIHJlZmVyZW5jZSB0aGUgc2FtZSBwYWdlLCBhcworCSAqIEwyIGlzIFBJUFQgYW5kIHJhbmdlIG9wZXJhdGlvbnMgb25seSBkbyBhIFRMQiBsb29rdXAgb24KKwkgKiB0aGUgc3RhcnQgYWRkcmVzcy4KKwkgKi8KKwlCVUdfT04oKHN0YXJ0IF4gZW5kKSAmIH4oUEFHRV9TSVpFIC0gMSkpOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjOSwgNCIgOiA6ICJyIiAoc3RhcnQpKTsKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjOSwgNSIgOiA6ICJyIiAoZW5kKSk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2NsZWFuX3BhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCWwyX2NsZWFuX212YV9yYW5nZShfX3BoeXNfdG9fdmlydChzdGFydCksIF9fcGh5c190b192aXJ0KGVuZCkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbDJfY2xlYW5faW52X3BhKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMTAsIDMiIDogOiAiciIgKGFkZHIpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9wYSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCAzIiA6IDogInIiIChhZGRyKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBsMl9pbnZfbXZhX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkvKgorCSAqIE1ha2Ugc3VyZSAnc3RhcnQnIGFuZCAnZW5kJyByZWZlcmVuY2UgdGhlIHNhbWUgcGFnZSwgYXMKKwkgKiBMMiBpcyBQSVBUIGFuZCByYW5nZSBvcGVyYXRpb25zIG9ubHkgZG8gYSBUTEIgbG9va3VwIG9uCisJICogdGhlIHN0YXJ0IGFkZHJlc3MuCisJICovCisJQlVHX09OKChzdGFydCBeIGVuZCkgJiB+KFBBR0VfU0laRSAtIDEpKTsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJX19hc21fXygibWNyIHAxNSwgMSwgJTAsIGMxNSwgYzExLCA0IiA6IDogInIiIChzdGFydCkpOworCV9fYXNtX18oIm1jciBwMTUsIDEsICUwLCBjMTUsIGMxMSwgNSIgOiA6ICJyIiAoZW5kKSk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGwyX2ludl9wYV9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlsMl9pbnZfbXZhX3JhbmdlKF9fcGh5c190b192aXJ0KHN0YXJ0KSwgX19waHlzX3RvX3ZpcnQoZW5kKSk7Cit9CisKKworLyoKKyAqIExpbnV4IHByaW1pdGl2ZXMuCisgKgorICogTm90ZSB0aGF0IHRoZSBlbmQgYWRkcmVzc2VzIHBhc3NlZCB0byBMaW51eCBwcmltaXRpdmVzIGFyZQorICogbm9uaW5jbHVzaXZlLCB3aGlsZSB0aGUgaGFyZHdhcmUgY2FjaGUgcmFuZ2Ugb3BlcmF0aW9ucyB1c2UKKyAqIGluY2x1c2l2ZSBzdGFydCBhbmQgZW5kIGFkZHJlc3Nlcy4KKyAqLworI2RlZmluZSBDQUNIRV9MSU5FX1NJWkUJCTMyCisjZGVmaW5lIE1BWF9SQU5HRV9TSVpFCQkxMDI0CisKK3N0YXRpYyBpbnQgbDJfd3Rfb3ZlcnJpZGU7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNhbGNfcmFuZ2VfZW5kKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgcmFuZ2VfZW5kOworCisJQlVHX09OKHN0YXJ0ICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKwlCVUdfT04oZW5kICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKTsKKworCS8qCisJICogVHJ5IHRvIHByb2Nlc3MgYWxsIGNhY2hlIGxpbmVzIGJldHdlZW4gJ3N0YXJ0JyBhbmQgJ2VuZCcuCisJICovCisJcmFuZ2VfZW5kID0gZW5kOworCisJLyoKKwkgKiBMaW1pdCB0aGUgbnVtYmVyIG9mIGNhY2hlIGxpbmVzIHByb2Nlc3NlZCBhdCBvbmNlLAorCSAqIHNpbmNlIGNhY2hlIHJhbmdlIG9wZXJhdGlvbnMgc3RhbGwgdGhlIENQVSBwaXBlbGluZQorCSAqIHVudGlsIGNvbXBsZXRpb24uCisJICovCisJaWYgKHJhbmdlX2VuZCA+IHN0YXJ0ICsgTUFYX1JBTkdFX1NJWkUpCisJCXJhbmdlX2VuZCA9IHN0YXJ0ICsgTUFYX1JBTkdFX1NJWkU7CisKKwkvKgorCSAqIENhY2hlIHJhbmdlIG9wZXJhdGlvbnMgY2FuJ3Qgc3RyYWRkbGUgYSBwYWdlIGJvdW5kYXJ5LgorCSAqLworCWlmIChyYW5nZV9lbmQgPiAoc3RhcnQgfCAoUEFHRV9TSVpFIC0gMSkpICsgMSkKKwkJcmFuZ2VfZW5kID0gKHN0YXJ0IHwgKFBBR0VfU0laRSAtIDEpKSArIDE7CisKKwlyZXR1cm4gcmFuZ2VfZW5kOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9pbnZfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyoKKwkgKiBDbGVhbiBhbmQgaW52YWxpZGF0ZSBwYXJ0aWFsIGZpcnN0IGNhY2hlIGxpbmUuCisJICovCisJaWYgKHN0YXJ0ICYgKENBQ0hFX0xJTkVfU0laRSAtIDEpKSB7CisJCWwyX2NsZWFuX2ludl9wYShzdGFydCAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSkpOworCQlzdGFydCA9IChzdGFydCB8IChDQUNIRV9MSU5FX1NJWkUgLSAxKSkgKyAxOworCX0KKworCS8qCisJICogQ2xlYW4gYW5kIGludmFsaWRhdGUgcGFydGlhbCBsYXN0IGNhY2hlIGxpbmUuCisJICovCisJaWYgKGVuZCAmIChDQUNIRV9MSU5FX1NJWkUgLSAxKSkgeworCQlsMl9jbGVhbl9pbnZfcGEoZW5kICYgfihDQUNIRV9MSU5FX1NJWkUgLSAxKSk7CisJCWVuZCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCX0KKworCS8qCisJICogSW52YWxpZGF0ZSBhbGwgZnVsbCBjYWNoZSBsaW5lcyBiZXR3ZWVuICdzdGFydCcgYW5kICdlbmQnLgorCSAqLworCXdoaWxlIChzdGFydCAhPSBlbmQpIHsKKwkJdW5zaWduZWQgbG9uZyByYW5nZV9lbmQgPSBjYWxjX3JhbmdlX2VuZChzdGFydCwgZW5kKTsKKwkJbDJfaW52X3BhX3JhbmdlKHN0YXJ0LCByYW5nZV9lbmQgLSBDQUNIRV9MSU5FX1NJWkUpOworCQlzdGFydCA9IHJhbmdlX2VuZDsKKwl9CisKKwlkc2IoKTsKK30KKworc3RhdGljIHZvaWQgZmVyb2Nlb25fbDJfY2xlYW5fcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit7CisJLyoKKwkgKiBJZiBMMiBpcyBmb3JjZWQgdG8gV1QsIHRoZSBMMiB3aWxsIGFsd2F5cyBiZSBjbGVhbiBhbmQgd2UKKwkgKiBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIGhlcmUuCisJICovCisJaWYgKCFsMl93dF9vdmVycmlkZSkgeworCQlzdGFydCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCQllbmQgPSAoZW5kICsgQ0FDSEVfTElORV9TSVpFIC0gMSkgJiB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCQl3aGlsZSAoc3RhcnQgIT0gZW5kKSB7CisJCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQkJbDJfY2xlYW5fcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCQlzdGFydCA9IHJhbmdlX2VuZDsKKwkJfQorCX0KKworCWRzYigpOworfQorCitzdGF0aWMgdm9pZCBmZXJvY2Vvbl9sMl9mbHVzaF9yYW5nZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlzdGFydCAmPSB+KENBQ0hFX0xJTkVfU0laRSAtIDEpOworCWVuZCA9IChlbmQgKyBDQUNIRV9MSU5FX1NJWkUgLSAxKSAmIH4oQ0FDSEVfTElORV9TSVpFIC0gMSk7CisJd2hpbGUgKHN0YXJ0ICE9IGVuZCkgeworCQl1bnNpZ25lZCBsb25nIHJhbmdlX2VuZCA9IGNhbGNfcmFuZ2VfZW5kKHN0YXJ0LCBlbmQpOworCQlpZiAoIWwyX3d0X292ZXJyaWRlKQorCQkJbDJfY2xlYW5fcGFfcmFuZ2Uoc3RhcnQsIHJhbmdlX2VuZCAtIENBQ0hFX0xJTkVfU0laRSk7CisJCWwyX2ludl9wYV9yYW5nZShzdGFydCwgcmFuZ2VfZW5kIC0gQ0FDSEVfTElORV9TSVpFKTsKKwkJc3RhcnQgPSByYW5nZV9lbmQ7CisJfQorCisJZHNiKCk7Cit9CisKKworLyoKKyAqIFJvdXRpbmVzIHRvIGRpc2FibGUgYW5kIHJlLWVuYWJsZSB0aGUgRC1jYWNoZSBhbmQgSS1jYWNoZSBhdCBydW4KKyAqIHRpbWUuICBUaGVzZSBhcmUgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIEwyIGNhY2hlIGNhbiBvbmx5IGJlIGVuYWJsZWQKKyAqIG9yIGRpc2FibGVkIHdoaWxlIHRoZSBMMSBEY2FjaGUgYW5kIEljYWNoZSBhcmUgYm90aCBkaXNhYmxlZC4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGludmFsaWRhdGVfYW5kX2Rpc2FibGVfZGNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoY3IgJiBDUl9DKSB7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJZmx1c2hfY2FjaGVfYWxsKCk7CisJCXNldF9jcihjciAmIH5DUl9DKTsKKwkJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfZGNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoIShjciAmIENSX0MpKQorCQlzZXRfY3IoY3IgfCBDUl9DKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IF9faW52YWxpZGF0ZV9pY2FjaGUodm9pZCkKK3sKKwlpbnQgZHVtbXk7CisKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygibWNyIHAxNSwgMCwgJTAsIGM3LCBjNSwgMFxuIiA6ICI9ciIgKGR1bW15KSk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpbnZhbGlkYXRlX2FuZF9kaXNhYmxlX2ljYWNoZSh2b2lkKQoreworCXUzMiBjcjsKKworCWNyID0gZ2V0X2NyKCk7CisJaWYgKGNyICYgQ1JfSSkgeworCQlzZXRfY3IoY3IgJiB+Q1JfSSk7CisJCV9faW52YWxpZGF0ZV9pY2FjaGUoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfaWNhY2hlKHZvaWQpCit7CisJdTMyIGNyOworCisJY3IgPSBnZXRfY3IoKTsKKwlpZiAoIShjciAmIENSX0kpKQorCQlzZXRfY3IoY3IgfCBDUl9JKTsKK30KKworc3RhdGljIGlubGluZSB1MzIgcmVhZF9leHRyYV9mZWF0dXJlcyh2b2lkKQoreworCXUzMiB1OworCisJX19hc21fXygibXJjIHAxNSwgMSwgJTAsIGMxNSwgYzEsIDAiIDogIj1yIiAodSkpOworCisJcmV0dXJuIHU7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9leHRyYV9mZWF0dXJlcyh1MzIgdSkKK3sKKwlfX2FzbV9fKCJtY3IgcDE1LCAxLCAlMCwgYzE1LCBjMSwgMCIgOiA6ICJyIiAodSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZGlzYWJsZV9sMl9wcmVmZXRjaCh2b2lkKQoreworCXUzMiB1OworCisJLyoKKwkgKiBSZWFkIHRoZSBDUFUgRXh0cmEgRmVhdHVyZXMgcmVnaXN0ZXIgYW5kIHZlcmlmeSB0aGF0IHRoZQorCSAqIERpc2FibGUgTDIgUHJlZmV0Y2ggYml0IGlzIHNldC4KKwkgKi8KKwl1ID0gcmVhZF9leHRyYV9mZWF0dXJlcygpOworCWlmICghKHUgJiAweDAxMDAwMDAwKSkgeworCQlwcmludGsoS0VSTl9JTkZPICJGZXJvY2VvbiBMMjogRGlzYWJsaW5nIEwyIHByZWZldGNoLlxuIik7CisJCXdyaXRlX2V4dHJhX2ZlYXR1cmVzKHUgfCAweDAxMDAwMDAwKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfbDIodm9pZCkKK3sKKwl1MzIgdTsKKworCXUgPSByZWFkX2V4dHJhX2ZlYXR1cmVzKCk7CisJaWYgKCEodSAmIDB4MDA0MDAwMDApKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkZlcm9jZW9uIEwyOiBFbmFibGluZyBMMlxuIik7CisKKwkJaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9kY2FjaGUoKTsKKwkJaW52YWxpZGF0ZV9hbmRfZGlzYWJsZV9pY2FjaGUoKTsKKwkJd3JpdGVfZXh0cmFfZmVhdHVyZXModSB8IDB4MDA0MDAwMDApOworCQllbmFibGVfaWNhY2hlKCk7CisJCWVuYWJsZV9kY2FjaGUoKTsKKwl9Cit9CisKK3ZvaWQgX19pbml0IGZlcm9jZW9uX2wyX2luaXQoaW50IF9fbDJfd3Rfb3ZlcnJpZGUpCit7CisJbDJfd3Rfb3ZlcnJpZGUgPSBfX2wyX3d0X292ZXJyaWRlOworCisJZGlzYWJsZV9sMl9wcmVmZXRjaCgpOworCisJb3V0ZXJfY2FjaGUuaW52X3JhbmdlID0gZmVyb2Nlb25fbDJfaW52X3JhbmdlOworCW91dGVyX2NhY2hlLmNsZWFuX3JhbmdlID0gZmVyb2Nlb25fbDJfY2xlYW5fcmFuZ2U7CisJb3V0ZXJfY2FjaGUuZmx1c2hfcmFuZ2UgPSBmZXJvY2Vvbl9sMl9mbHVzaF9yYW5nZTsKKworCWVuYWJsZV9sMigpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiRmVyb2Nlb24gTDI6IENhY2hlIHN1cHBvcnQgaW5pdGlhbGlzZWQlcy5cbiIsCisJCQkgbDJfd3Rfb3ZlcnJpZGUgPyAiLCBpbiBXVCBvdmVycmlkZSBtb2RlIiA6ICIiKTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYyBiL2FyY2gvYXJtL21tL2ZhdWx0LWFybXYuYwppbmRleCA0NDU1OGQ1Li5mYmZhMjYwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9mYXVsdC1hcm12LmMKKysrIGIvYXJjaC9hcm0vbW0vZmF1bHQtYXJtdi5jCkBAIC0xNDQsMTMgKzE0NCwxNyBAQAogCXBhZ2UgPSBwZm5fdG9fcGFnZShwZm4pOwogCW1hcHBpbmcgPSBwYWdlX21hcHBpbmcocGFnZSk7CiAJaWYgKG1hcHBpbmcpIHsKKyNpZm5kZWYgQ09ORklHX1NNUAogCQlpbnQgZGlydHkgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoUEdfZGNhY2hlX2RpcnR5LCAmcGFnZS0+ZmxhZ3MpOwogCiAJCWlmIChkaXJ0eSkKIAkJCV9fZmx1c2hfZGNhY2hlX3BhZ2UobWFwcGluZywgcGFnZSk7CisjZW5kaWYKIAogCQlpZiAoY2FjaGVfaXNfdml2dCgpKQogCQkJbWFrZV9jb2hlcmVudChtYXBwaW5nLCB2bWEsIGFkZHIsIHBmbik7CisJCWVsc2UgaWYgKHZtYS0+dm1fZmxhZ3MgJiBWTV9FWEVDKQorCQkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9mbHVzaC5jIGIvYXJjaC9hcm0vbW0vZmx1c2guYwppbmRleCA5ZGY1MDdkLi4wMjllZTY1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tbS9mbHVzaC5jCisrKyBiL2FyY2gvYXJtL21tL2ZsdXNoLmMKQEAgLTE5OSw2ICsxOTksOCBAQAogCQlfX2ZsdXNoX2RjYWNoZV9wYWdlKG1hcHBpbmcsIHBhZ2UpOwogCQlpZiAobWFwcGluZyAmJiBjYWNoZV9pc192aXZ0KCkpCiAJCQlfX2ZsdXNoX2RjYWNoZV9hbGlhc2VzKG1hcHBpbmcsIHBhZ2UpOworCQllbHNlIGlmIChtYXBwaW5nKQorCQkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CiAJfQogfQogRVhQT1JUX1NZTUJPTChmbHVzaF9kY2FjaGVfcGFnZSk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMgYi9hcmNoL2FybS9tbS9wcm9jLWZlcm9jZW9uLlMKaW5kZXggYTAyYzE3MS4uZjJlNTg4NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vcHJvYy1mZXJvY2Vvbi5TCisrKyBiL2FyY2gvYXJtL21tL3Byb2MtZmVyb2Nlb24uUwpAQCAtNDQsMTEgKzQ0LDMxIEBACiAgKi8KICNkZWZpbmUgQ0FDSEVfRExJTkVTSVpFCTMyCiAKKwkuYnNzCisJLmFsaWduIDMKK19fY2FjaGVfcGFyYW1zX2xvYzoKKwkuc3BhY2UJOAorCiAJLnRleHQKK19fY2FjaGVfcGFyYW1zOgorCS53b3JkCV9fY2FjaGVfcGFyYW1zX2xvYworCiAvKgogICogY3B1X2Zlcm9jZW9uX3Byb2NfaW5pdCgpCiAgKi8KIEVOVFJZKGNwdV9mZXJvY2Vvbl9wcm9jX2luaXQpCisJbXJjCXAxNSwgMCwgcjAsIGMwLCBjMCwgMQkJQCByZWFkIGNhY2hlIHR5cGUgcmVnaXN0ZXIKKwlsZHIJcjEsIF9fY2FjaGVfcGFyYW1zCisJbW92CXIyLCAjKDE2IDw8IDUpCisJdHN0CXIwLCAjKDEgPDwgMTYpCQkJQCBnZXQgd2F5CisJbW92CXIwLCByMCwgbHNyICMxOAkJCUAgZ2V0IGNhY2hlIHNpemUgb3JkZXIKKwltb3ZuZQlyMywgIygoNCAtIDEpIDw8IDMwKQkJQCA0LXdheQorCWFuZAlyMCwgcjAsICMweGYKKwltb3ZlcQlyMywgIzAJCQkJQCAxLXdheQorCW1vdglyMiwgcjIsIGxzbCByMAkJCUAgYWN0dWFsIGNhY2hlIHNpemUKKwltb3ZuZQlyMiwgcjIsIGxzciAjMgkJCUAgdHVybmVkIGludG8gIyBvZiBzZXRzCisJc3ViCXIyLCByMiwgIygxIDw8IDUpCisJc3RtaWEJcjEsIHtyMiwgcjN9CiAJbW92CXBjLCBscgogCiAvKgpAQCAtNTksNiArNzksMTMgQEAKIAltb3YJaXAsICNQU1JfRl9CSVQgfCBQU1JfSV9CSVQgfCBTVkNfTU9ERQogCW1zcgljcHNyX2MsIGlwCiAJYmwJZmVyb2Nlb25fZmx1c2hfa2Vybl9jYWNoZV9hbGwKKworI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorCW1vdglyMCwgIzAKKwltY3IJcDE1LCAxLCByMCwgYzE1LCBjOSwgMAkJQCBjbGVhbiBMMgorCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisjZW5kaWYKKwogCW1yYwlwMTUsIDAsIHIwLCBjMSwgYzAsIDAJCUAgY3RybCByZWdpc3RlcgogCWJpYwlyMCwgcjAsICMweDEwMDAJCQlAIC4uLmkuLi4uLi4uLi4uLi4KIAliaWMJcjAsIHIwLCAjMHgwMDBlCQkJQCAuLi4uLi4uLi4uLi53Y2EuCkBAIC0xMTcsMTEgKzE0NCwxOSBAQAogICovCiBFTlRSWShmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbCkKIAltb3YJcjIsICNWTV9FWEVDCi0JbW92CWlwLCAjMAorCiBfX2ZsdXNoX3dob2xlX2NhY2hlOgotMToJbXJjCXAxNSwgMCwgcjE1LCBjNywgYzE0LCAzIAlAIHRlc3QsY2xlYW4saW52YWxpZGF0ZQotCWJuZQkxYgorCWxkcglyMSwgX19jYWNoZV9wYXJhbXMKKwlsZG1pYQlyMSwge3IxLCByM30KKzE6CW9ycglpcCwgcjEsIHIzCisyOgltY3IJcDE1LCAwLCBpcCwgYzcsIGMxNCwgMgkJQCBjbGVhbiArIGludmFsaWRhdGUgRCBzZXQvd2F5CisJc3VicwlpcCwgaXAsICMoMSA8PCAzMCkJCUAgbmV4dCB3YXkKKwliY3MJMmIKKwlzdWJzCXIxLCByMSwgIygxIDw8IDUpCQlAIG5leHQgc2V0CisJYmNzCTFiCisKIAl0c3QJcjIsICNWTV9FWEVDCisJbW92CWlwLCAjMAogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKIAltY3JuZQlwMTUsIDAsIGlwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgpAQCAtMTM4LDcgKzE3Myw2IEBACiAgKi8KIAkuYWxpZ24JNQogRU5UUlkoZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9yYW5nZSkKLQltb3YJaXAsICMwCiAJc3ViCXIzLCByMSwgcjAJCQlAIGNhbGN1bGF0ZSB0b3RhbCBzaXplCiAJY21wCXIzLCAjQ0FDSEVfRExJTUlUCiAJYmd0CV9fZmx1c2hfd2hvbGVfY2FjaGUKQEAgLTE1Miw2ICsxODYsNyBAQAogCWNtcAlyMCwgcjEKIAlibG8JMWIKIAl0c3QJcjIsICNWTV9FWEVDCisJbW92CWlwLCAjMAogCW1jcm5lCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKQEAgLTIwOSw2ICsyNDQsMjAgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9mbHVzaF9rZXJuX2RjYWNoZV9wYWdlKQorCW1ycwlyMiwgY3BzcgorCWFkZAlyMSwgcjAsICNQQUdFX1NaIC0gQ0FDSEVfRExJTkVTSVpFCUAgdG9wIGFkZHIgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTUsIDAJCUAgRCBjbGVhbi9pbnYgcmFuZ2Ugc3RhcnQKKwltY3IJcDE1LCA1LCByMSwgYzE1LCBjMTUsIDEJCUAgRCBjbGVhbi9pbnYgcmFuZ2UgdG9wCisJbXNyCWNwc3JfYywgcjIJCQlAIHJlc3RvcmUgaW50ZXJydXB0cworCW1vdglyMCwgIzAKKwltY3IJcDE1LCAwLCByMCwgYzcsIGM1LCAwCQlAIGludmFsaWRhdGUgSSBjYWNoZQorCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2ludl9yYW5nZShzdGFydCwgZW5kKQogICoKQEAgLTIyNSwxMCArMjc0LDEwIEBACiAJLmFsaWduCTUKIEVOVFJZKGZlcm9jZW9uX2RtYV9pbnZfcmFuZ2UpCiAJdHN0CXIwLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQorCWJpYwlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCiAJbWNybmUJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CiAJdHN0CXIxLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQogCW1jcm5lCXAxNSwgMCwgcjEsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQotCWJpYwlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCiAxOgltY3IJcDE1LCAwLCByMCwgYzcsIGM2LCAxCQlAIGludmFsaWRhdGUgRCBlbnRyeQogCWFkZAlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUKIAljbXAJcjAsIHIxCkBAIC0yMzYsNiArMjg1LDIyIEBACiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKIAltb3YJcGMsIGxyCiAKKwkuYWxpZ24JNQorRU5UUlkoZmVyb2Nlb25fcmFuZ2VfZG1hX2ludl9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwl0c3QJcjAsICNDQUNIRV9ETElORVNJWkUgLSAxCisJbWNybmUJcDE1LCAwLCByMCwgYzcsIGMxMCwgMQkJQCBjbGVhbiBEIGVudHJ5CisJdHN0CXIxLCAjQ0FDSEVfRExJTkVTSVpFIC0gMQorCW1jcm5lCXAxNSwgMCwgcjEsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQorCWNtcAlyMSwgcjAKKwlzdWJuZQlyMSwgcjEsICMxCQkJQCB0b3AgYWRkcmVzcyBpcyBpbmNsdXNpdmUKKwlvcnIJcjMsIHIyLCAjUFNSX0lfQklUCisJbXNyCWNwc3JfYywgcjMJCQlAIGRpc2FibGUgaW50ZXJydXB0cworCW1jcglwMTUsIDUsIHIwLCBjMTUsIGMxNCwgMAkJQCBEIGludiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxNCwgMQkJQCBEIGludiByYW5nZSB0b3AKKwltc3IJY3Bzcl9jLCByMgkJCUAgcmVzdG9yZSBpbnRlcnJ1cHRzCisJbW92CXBjLCBscgorCiAvKgogICoJZG1hX2NsZWFuX3JhbmdlKHN0YXJ0LCBlbmQpCiAgKgpAQCAtMjU2LDYgKzMyMSwxOSBAQAogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCisJLmFsaWduCTUKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2RtYV9jbGVhbl9yYW5nZSkKKwltcnMJcjIsIGNwc3IKKwljbXAJcjEsIHIwCisJc3VibmUJcjEsIHIxLCAjMQkJCUAgdG9wIGFkZHJlc3MgaXMgaW5jbHVzaXZlCisJb3JyCXIzLCByMiwgI1BTUl9JX0JJVAorCW1zcgljcHNyX2MsIHIzCQkJQCBkaXNhYmxlIGludGVycnVwdHMKKwltY3IJcDE1LCA1LCByMCwgYzE1LCBjMTMsIDAJCUAgRCBjbGVhbiByYW5nZSBzdGFydAorCW1jcglwMTUsIDUsIHIxLCBjMTUsIGMxMywgMQkJQCBEIGNsZWFuIHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCW1vdglwYywgbHIKKwogLyoKICAqCWRtYV9mbHVzaF9yYW5nZShzdGFydCwgZW5kKQogICoKQEAgLTI3NCw2ICszNTIsMTkgQEAKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogCW1vdglwYywgbHIKIAorCS5hbGlnbgk1CitFTlRSWShmZXJvY2Vvbl9yYW5nZV9kbWFfZmx1c2hfcmFuZ2UpCisJbXJzCXIyLCBjcHNyCisJY21wCXIxLCByMAorCXN1Ym5lCXIxLCByMSwgIzEJCQlAIHRvcCBhZGRyZXNzIGlzIGluY2x1c2l2ZQorCW9ycglyMywgcjIsICNQU1JfSV9CSVQKKwltc3IJY3Bzcl9jLCByMwkJCUAgZGlzYWJsZSBpbnRlcnJ1cHRzCisJbWNyCXAxNSwgNSwgcjAsIGMxNSwgYzE1LCAwCQlAIEQgY2xlYW4vaW52IHJhbmdlIHN0YXJ0CisJbWNyCXAxNSwgNSwgcjEsIGMxNSwgYzE1LCAxCQlAIEQgY2xlYW4vaW52IHJhbmdlIHRvcAorCW1zcgljcHNyX2MsIHIyCQkJQCByZXN0b3JlIGludGVycnVwdHMKKwltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgorCW1vdglwYywgbHIKKwogRU5UUlkoZmVyb2Nlb25fY2FjaGVfZm5zKQogCS5sb25nCWZlcm9jZW9uX2ZsdXNoX2tlcm5fY2FjaGVfYWxsCiAJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9hbGwKQEAgLTI4NSwxMiArMzc2LDMzIEBACiAJLmxvbmcJZmVyb2Nlb25fZG1hX2NsZWFuX3JhbmdlCiAJLmxvbmcJZmVyb2Nlb25fZG1hX2ZsdXNoX3JhbmdlCiAKK0VOVFJZKGZlcm9jZW9uX3JhbmdlX2NhY2hlX2ZucykKKwkubG9uZwlmZXJvY2Vvbl9mbHVzaF9rZXJuX2NhY2hlX2FsbAorCS5sb25nCWZlcm9jZW9uX2ZsdXNoX3VzZXJfY2FjaGVfYWxsCisJLmxvbmcJZmVyb2Nlb25fZmx1c2hfdXNlcl9jYWNoZV9yYW5nZQorCS5sb25nCWZlcm9jZW9uX2NvaGVyZW50X2tlcm5fcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9jb2hlcmVudF91c2VyX3JhbmdlCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfZmx1c2hfa2Vybl9kY2FjaGVfcGFnZQorCS5sb25nCWZlcm9jZW9uX3JhbmdlX2RtYV9pbnZfcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9kbWFfY2xlYW5fcmFuZ2UKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9kbWFfZmx1c2hfcmFuZ2UKKwogCS5hbGlnbgk1CiBFTlRSWShjcHVfZmVyb2Nlb25fZGNhY2hlX2NsZWFuX2FyZWEpCisjaWYgZGVmaW5lZChDT05GSUdfQ0FDSEVfRkVST0NFT05fTDIpICYmICFkZWZpbmVkKENPTkZJR19MMl9DQUNIRV9XUklURVRIUk9VR0gpCisJbW92CXIyLCByMAorCW1vdglyMywgcjEKKyNlbmRpZgogMToJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQogCWFkZAlyMCwgcjAsICNDQUNIRV9ETElORVNJWkUKIAlzdWJzCXIxLCByMSwgI0NBQ0hFX0RMSU5FU0laRQogCWJoaQkxYgorI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorMToJbWNyCXAxNSwgMSwgcjIsIGMxNSwgYzksIDEJCUAgY2xlYW4gTDIgZW50cnkKKwlhZGQJcjIsIHIyLCAjQ0FDSEVfRExJTkVTSVpFCisJc3VicwlyMywgcjMsICNDQUNIRV9ETElORVNJWkUKKwliaGkJMWIKKyNlbmRpZgogCW1jcglwMTUsIDAsIHIwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCiAJbW92CXBjLCBscgogCkBAIC0zMDYsMTYgKzQxOCwyNSBAQAogCS5hbGlnbgk1CiBFTlRSWShjcHVfZmVyb2Nlb25fc3dpdGNoX21tKQogI2lmZGVmIENPTkZJR19NTVUKLQltb3YJaXAsICMwCi1AICYmICdDbGVhbiAmIEludmFsaWRhdGUgd2hvbGUgRENhY2hlJwotMToJbXJjCXAxNSwgMCwgcjE1LCBjNywgYzE0LCAzIAlAIHRlc3QsY2xlYW4saW52YWxpZGF0ZQotCWJuZQkxYgotCW1jcglwMTUsIDAsIGlwLCBjNywgYzUsIDAJCUAgaW52YWxpZGF0ZSBJIGNhY2hlCi0JbWNyCXAxNSwgMCwgaXAsIGM3LCBjMTAsIDQJCUAgZHJhaW4gV0IKKwkvKgorCSAqIE5vdGU6IHdlIHdpc2ggdG8gY2FsbCBfX2ZsdXNoX3dob2xlX2NhY2hlIGJ1dCB3ZSBuZWVkIHRvIHByZXNlcnZlCisJICogbHIgdG8gZG8gc28uICBUaGUgb25seSB3YXkgd2l0aG91dCB0b3VjaGluZyBtYWluIG1lbW9yeSBpcyB0bworCSAqIHVzZSByMiB3aGljaCBpcyBub3JtYWxseSB1c2VkIHRvIHRlc3QgdGhlIFZNX0VYRUMgZmxhZywgYW5kCisJICogY29tcGVuc2F0ZSBsb2NhbGx5IGZvciB0aGUgc2tpcHBlZCBvcHMgaWYgaXQgaXMgbm90IHNldC4KKwkgKi8KKwltb3YJcjIsIGxyCQkJCUAgYWJ1c2UgcjIgdG8gcHJlc2VydmUgbHIKKwlibAlfX2ZsdXNoX3dob2xlX2NhY2hlCisJQCBpZiByMiBjb250YWlucyB0aGUgVk1fRVhFQyBiaXQgdGhlbiB0aGUgbmV4dCAyIG9wcyBhcmUgZG9uZSBhbHJlYWR5CisJdHN0CXIyLCAjVk1fRVhFQworCW1jcmVxCXAxNSwgMCwgaXAsIGM3LCBjNSwgMAkJQCBpbnZhbGlkYXRlIEkgY2FjaGUKKwltY3JlcQlwMTUsIDAsIGlwLCBjNywgYzEwLCA0CQlAIGRyYWluIFdCCisKIAltY3IJcDE1LCAwLCByMCwgYzIsIGMwLCAwCQlAIGxvYWQgcGFnZSB0YWJsZSBwb2ludGVyCiAJbWNyCXAxNSwgMCwgaXAsIGM4LCBjNywgMAkJQCBpbnZhbGlkYXRlIEkgJiBEIFRMQnMKLSNlbmRpZgorCW1vdglwYywgcjIKKyNlbHNlCiAJbW92CXBjLCBscgorI2VuZGlmCiAKIC8qCiAgKiBjcHVfZmVyb2Nlb25fc2V0X3B0ZV9leHQocHRlcCwgcHRlLCBleHQpCkBAIC0zNDUsNiArNDY2LDkgQEAKIAlzdHIJcjIsIFtyMF0JCQlAIGhhcmR3YXJlIHZlcnNpb24KIAltb3YJcjAsIHIwCiAJbWNyCXAxNSwgMCwgcjAsIGM3LCBjMTAsIDEJCUAgY2xlYW4gRCBlbnRyeQorI2lmIGRlZmluZWQoQ09ORklHX0NBQ0hFX0ZFUk9DRU9OX0wyKSAmJiAhZGVmaW5lZChDT05GSUdfTDJfQ0FDSEVfV1JJVEVUSFJPVUdIKQorCW1jcglwMTUsIDEsIHIwLCBjMTUsIGM5LCAxCQlAIGNsZWFuIEwyIGVudHJ5CisjZW5kaWYKIAltY3IJcDE1LCAwLCByMCwgYzcsIGMxMCwgNAkJQCBkcmFpbiBXQgogI2VuZGlmCiAJbW92CXBjLCBscgpAQCAtMzY5LDE0ICs0OTMsMTUgQEAKIAkuc2l6ZQlfX2Zlcm9jZW9uX3NldHVwLCAuIC0gX19mZXJvY2Vvbl9zZXR1cAogCiAJLyoKLQkgKiAgUgotCSAqIC5SVkkgWkZSUyBCTERQIFdDQU0KLQkgKiAuMDExIDAwMDEgLi4xMSAwMTAxCisJICogICAgICBCCisJICogIFIgICBQCisJICogLlJWSSBVRlJTIEJMRFAgV0NBTQorCSAqIC4wMTEgLjAwMSAuLjExIDAxMDEKIAkgKgogCSAqLwogCS50eXBlCWZlcm9jZW9uX2NydmFsLCAjb2JqZWN0CiBmZXJvY2Vvbl9jcnZhbDoKLQljcnZhbAljbGVhcj0weDAwMDA3ZjNmLCBtbXVzZXQ9MHgwMDAwMzEzNSwgdWNzZXQ9MHgwMDAwMTEzNAorCWNydmFsCWNsZWFyPTB4MDAwMDc3M2YsIG1tdXNldD0weDAwMDAzMTM1LCB1Y3NldD0weDAwMDAxMTM0CiAKIAlfX0lOSVREQVRBCiAKQEAgLTQxNCw2ICs1MzksMjEgQEAKIAkuYXNjaXoJIkZlcm9jZW9uIgogCS5zaXplCWNwdV9mZXJvY2Vvbl9uYW1lLCAuIC0gY3B1X2Zlcm9jZW9uX25hbWUKIAorCS50eXBlCWNwdV84OGZyNTMxX25hbWUsICNvYmplY3QKK2NwdV84OGZyNTMxX25hbWU6CisJLmFzY2l6CSJGZXJvY2VvbiA4OEZSNTMxLXZkIgorCS5zaXplCWNwdV84OGZyNTMxX25hbWUsIC4gLSBjcHVfODhmcjUzMV9uYW1lCisKKwkudHlwZQljcHVfODhmcjU3MV9uYW1lLCAjb2JqZWN0CitjcHVfODhmcjU3MV9uYW1lOgorCS5hc2NpegkiRmVyb2Nlb24gODhGUjU3MS12ZCIKKwkuc2l6ZQljcHVfODhmcjU3MV9uYW1lLCAuIC0gY3B1Xzg4ZnI1NzFfbmFtZQorCisJLnR5cGUJY3B1Xzg4ZnIxMzFfbmFtZSwgI29iamVjdAorY3B1Xzg4ZnIxMzFfbmFtZToKKwkuYXNjaXoJIkZlcm9jZW9uIDg4RlIxMzEiCisJLnNpemUJY3B1Xzg4ZnIxMzFfbmFtZSwgLiAtIGNwdV84OGZyMTMxX25hbWUKKwogCS5hbGlnbgogCiAJLnNlY3Rpb24gIi5wcm9jLmluZm8uaW5pdCIsICNhbGxvYywgI2V4ZWNpbnN0cgpAQCAtNDIxLDE1ICs1NjEsMTUgQEAKICNpZmRlZiBDT05GSUdfQ1BVX0ZFUk9DRU9OX09MRF9JRAogCS50eXBlCV9fZmVyb2Nlb25fb2xkX2lkX3Byb2NfaW5mbywjb2JqZWN0CiBfX2Zlcm9jZW9uX29sZF9pZF9wcm9jX2luZm86Ci0JLmxvbmcJMHg0MTA2OTI2MAotCS5sb25nCTB4ZmZmZmZmZjAKLQkubG9uZyAgIFBNRF9UWVBFX1NFQ1QgfCBcCisJLmxvbmcJMHg0MTAwOTI2MAorCS5sb25nCTB4ZmYwMGZmZjAKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAogCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfQklUNCB8IFwKIAkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCiAJCVBNRF9TRUNUX0FQX1JFQUQKQEAgLTQ0NSwxNyArNTg1LDE3IEBACiAJLnNpemUJX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvLCAuIC0gX19mZXJvY2Vvbl9vbGRfaWRfcHJvY19pbmZvCiAjZW5kaWYKIAotCS50eXBlCV9fZmVyb2Nlb25fcHJvY19pbmZvLCNvYmplY3QKLV9fZmVyb2Nlb25fcHJvY19pbmZvOgorCS50eXBlCV9fODhmcjUzMV9wcm9jX2luZm8sI29iamVjdAorX184OGZyNTMxX3Byb2NfaW5mbzoKIAkubG9uZwkweDU2MDU1MzEwCiAJLmxvbmcJMHhmZmZmZmZmMAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAogCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCiAJCVBNRF9CSVQ0IHwgXAogCQlQTURfU0VDVF9BUF9XUklURSB8IFwKIAkJUE1EX1NFQ1RfQVBfUkVBRAotCS5sb25nICAgUE1EX1RZUEVfU0VDVCB8IFwKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAogCQlQTURfQklUNCB8IFwKIAkJUE1EX1NFQ1RfQVBfV1JJVEUgfCBcCiAJCVBNRF9TRUNUX0FQX1JFQUQKQEAgLTQ2Myw5ICs2MDMsNTkgQEAKIAkubG9uZwljcHVfYXJjaF9uYW1lCiAJLmxvbmcJY3B1X2VsZl9uYW1lCiAJLmxvbmcJSFdDQVBfU1dQfEhXQ0FQX0hBTEZ8SFdDQVBfVEhVTUJ8SFdDQVBfRkFTVF9NVUxUfEhXQ0FQX0VEU1AKLQkubG9uZwljcHVfZmVyb2Nlb25fbmFtZQorCS5sb25nCWNwdV84OGZyNTMxX25hbWUKIAkubG9uZwlmZXJvY2Vvbl9wcm9jZXNzb3JfZnVuY3Rpb25zCiAJLmxvbmcJdjR3YmlfdGxiX2ZucwogCS5sb25nCWZlcm9jZW9uX3VzZXJfZm5zCiAJLmxvbmcJZmVyb2Nlb25fY2FjaGVfZm5zCi0JLnNpemUJX19mZXJvY2Vvbl9wcm9jX2luZm8sIC4gLSBfX2Zlcm9jZW9uX3Byb2NfaW5mbworCS5zaXplCV9fODhmcjUzMV9wcm9jX2luZm8sIC4gLSBfXzg4ZnI1MzFfcHJvY19pbmZvCisKKwkudHlwZQlfXzg4ZnI1NzFfcHJvY19pbmZvLCNvYmplY3QKK19fODhmcjU3MV9wcm9jX2luZm86CisJLmxvbmcJMHg1NjE1NTcxMAorCS5sb25nCTB4ZmZmZmZmZjAKKwkubG9uZwlQTURfVFlQRV9TRUNUIHwgXAorCQlQTURfU0VDVF9CVUZGRVJBQkxFIHwgXAorCQlQTURfU0VDVF9DQUNIRUFCTEUgfCBcCisJCVBNRF9CSVQ0IHwgXAorCQlQTURfU0VDVF9BUF9XUklURSB8IFwKKwkJUE1EX1NFQ1RfQVBfUkVBRAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9CSVQ0IHwgXAorCQlQTURfU0VDVF9BUF9XUklURSB8IFwKKwkJUE1EX1NFQ1RfQVBfUkVBRAorCWIJX19mZXJvY2Vvbl9zZXR1cAorCS5sb25nCWNwdV9hcmNoX25hbWUKKwkubG9uZwljcHVfZWxmX25hbWUKKwkubG9uZwlIV0NBUF9TV1B8SFdDQVBfSEFMRnxIV0NBUF9USFVNQnxIV0NBUF9GQVNUX01VTFR8SFdDQVBfRURTUAorCS5sb25nCWNwdV84OGZyNTcxX25hbWUKKwkubG9uZwlmZXJvY2Vvbl9wcm9jZXNzb3JfZnVuY3Rpb25zCisJLmxvbmcJdjR3YmlfdGxiX2ZucworCS5sb25nCWZlcm9jZW9uX3VzZXJfZm5zCisJLmxvbmcJZmVyb2Nlb25fcmFuZ2VfY2FjaGVfZm5zCisJLnNpemUJX184OGZyNTcxX3Byb2NfaW5mbywgLiAtIF9fODhmcjU3MV9wcm9jX2luZm8KKworCS50eXBlCV9fODhmcjEzMV9wcm9jX2luZm8sI29iamVjdAorX184OGZyMTMxX3Byb2NfaW5mbzoKKwkubG9uZwkweDU2MjUxMzEwCisJLmxvbmcJMHhmZmZmZmZmMAorCS5sb25nCVBNRF9UWVBFX1NFQ1QgfCBcCisJCVBNRF9TRUNUX0JVRkZFUkFCTEUgfCBcCisJCVBNRF9TRUNUX0NBQ0hFQUJMRSB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJLmxvbmcJUE1EX1RZUEVfU0VDVCB8IFwKKwkJUE1EX0JJVDQgfCBcCisJCVBNRF9TRUNUX0FQX1dSSVRFIHwgXAorCQlQTURfU0VDVF9BUF9SRUFECisJYglfX2Zlcm9jZW9uX3NldHVwCisJLmxvbmcJY3B1X2FyY2hfbmFtZQorCS5sb25nCWNwdV9lbGZfbmFtZQorCS5sb25nCUhXQ0FQX1NXUHxIV0NBUF9IQUxGfEhXQ0FQX1RIVU1CfEhXQ0FQX0ZBU1RfTVVMVHxIV0NBUF9FRFNQCisJLmxvbmcJY3B1Xzg4ZnIxMzFfbmFtZQorCS5sb25nCWZlcm9jZW9uX3Byb2Nlc3Nvcl9mdW5jdGlvbnMKKwkubG9uZwl2NHdiaV90bGJfZm5zCisJLmxvbmcJZmVyb2Nlb25fdXNlcl9mbnMKKwkubG9uZwlmZXJvY2Vvbl9yYW5nZV9jYWNoZV9mbnMKKwkuc2l6ZQlfXzg4ZnIxMzFfcHJvY19pbmZvLCAuIC0gX184OGZyMTMxX3Byb2NfaW5mbwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vb3Byb2ZpbGUvb3BfbW9kZWxfbXBjb3JlLmMgYi9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYwppbmRleCA3NGZhZTYwLi40NDU4NzA1IDEwMDY0NAotLS0gYS9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYworKysgYi9hcmNoL2FybS9vcHJvZmlsZS9vcF9tb2RlbF9tcGNvcmUuYwpAQCAtMjAxLDcgKzIwMSw3IEBACiAJZGF0YS5yZXQgPSAwOwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZW1fZnVuYywgJmRhdGEsIDEsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGVtX2Z1bmMsICZkYXRhLCAxKTsKIAllbV9mdW5jKCZkYXRhKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LWlvcC9ncGlvLmMKaW5kZXggZWRhNDM2MC4uNjQwZTQ5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1pb3AvZ3Bpby5jCisrKyBiL2FyY2gvYXJtL3BsYXQtaW9wL2dwaW8uYwpAQCAtMTEsNiArMTEsMTAgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlvLmg+CiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2lvcDN4eC5oPgogCiB2b2lkIGdwaW9fbGluZV9jb25maWcoaW50IGxpbmUsIGludCBkaXJlY3Rpb24pCkBAIC00NiwzICs1MCw0MiBAQAogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woZ3Bpb19saW5lX3NldCk7CisKK3N0YXRpYyBpbnQgaW9wM3h4X2dwaW9fZGlyZWN0aW9uX2lucHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8pCit7CisJZ3Bpb19saW5lX2NvbmZpZyhncGlvLCBHUElPX0lOKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb3AzeHhfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8sIGludCBsZXZlbCkKK3sKKwlncGlvX2xpbmVfc2V0KGdwaW8sIGxldmVsKTsKKwlncGlvX2xpbmVfY29uZmlnKGdwaW8sIEdQSU9fT1VUKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb3AzeHhfZ3Bpb19nZXRfdmFsdWUoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgZ3BpbykKK3sKKwlyZXR1cm4gZ3Bpb19saW5lX2dldChncGlvKTsKK30KKworc3RhdGljIHZvaWQgaW9wM3h4X2dwaW9fc2V0X3ZhbHVlKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKK3sKKwlncGlvX2xpbmVfc2V0KGdwaW8sIHZhbHVlKTsKK30KKworc3RhdGljIHN0cnVjdCBncGlvX2NoaXAgaW9wM3h4X2NoaXAgPSB7CisJLmxhYmVsCQkJPSAiaW9wM3h4IiwKKwkuZGlyZWN0aW9uX2lucHV0CT0gaW9wM3h4X2dwaW9fZGlyZWN0aW9uX2lucHV0LAorCS5nZXQJCQk9IGlvcDN4eF9ncGlvX2dldF92YWx1ZSwKKwkuZGlyZWN0aW9uX291dHB1dAk9IGlvcDN4eF9ncGlvX2RpcmVjdGlvbl9vdXRwdXQsCisJLnNldAkJCT0gaW9wM3h4X2dwaW9fc2V0X3ZhbHVlLAorCS5iYXNlCQkJPSAwLAorCS5uZ3BpbwkJCT0gSU9QM1hYX05fR1BJT1MsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBpb3AzeHhfZ3Bpb19zZXR1cCh2b2lkKQoreworCXJldHVybiBncGlvY2hpcF9hZGQoJmlvcDN4eF9jaGlwKTsKK30KK2FyY2hfaW5pdGNhbGwoaW9wM3h4X2dwaW9fc2V0dXApOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMvS2NvbmZpZyBiL2FyY2gvYXJtL3BsYXQtbXhjL0tjb25maWcKaW5kZXggYmI2ZTEyNy4uZTE0ZWFhZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1teGMvS2NvbmZpZworKysgYi9hcmNoL2FybS9wbGF0LW14Yy9LY29uZmlnCkBAIC0zLDkgKzMsMTQgQEAKIG1lbnUgIkZyZWVzY2FsZSBNWEMgSW1wbGVtZW50YXRpb25zIgogCiBjaG9pY2UKLQlwcm9tcHQgIk1YQy9pTVggU3lzdGVtIFR5cGUiCisJcHJvbXB0ICJNWEMvaU1YIEJhc2UgVHlwZSIKIAlkZWZhdWx0IEFSQ0hfTVgzCiAKK2NvbmZpZyBBUkNIX01YMgorCWJvb2wgIk1YMi1iYXNlZCIKKwloZWxwCisJICBUaGlzIGVuYWJsZXMgc3VwcG9ydCBmb3Igc3lzdGVtcyBiYXNlZCBvbiB0aGUgRnJlZXNjYWxlIGkuTVgyIGZhbWlseQorCiBjb25maWcgQVJDSF9NWDMKIAlib29sICJNWDMtYmFzZWQiCiAJaGVscApAQCAtMTMsNiArMTgsNyBAQAogCiBlbmRjaG9pY2UKIAorc291cmNlICJhcmNoL2FybS9tYWNoLW14Mi9LY29uZmlnIgogc291cmNlICJhcmNoL2FybS9tYWNoLW14My9LY29uZmlnIgogCiBlbmRtZW51CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9NYWtlZmlsZSBiL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCmluZGV4IGY5NmRjMDMuLmRiNjZlOWEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL01ha2VmaWxlCkBAIC0zLDQgKzMsNiBAQAogIwogCiAjIENvbW1vbiBzdXBwb3J0Ci1vYmoteSA6PSBpcnEubworb2JqLXkgOj0gaXJxLm8gY2xvY2subyBncGlvLm8gdGltZS5vCisKK29iai0kKENPTkZJR19BUkNIX01YMikgKz0gaW9tdXgtbXgxLW14Mi5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9jbG9jay5jIGIvYXJjaC9hcm0vcGxhdC1teGMvY2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWE4NmZkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vcGxhdC1teGMvY2xvY2suYwpAQCAtMCwwICsxLDMzMSBAQAorLyoKKyAqIEJhc2VkIG9uIGFyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IC0gMjAwNSBOb2tpYSBjb3Jwb3JhdGlvbgorICogV3JpdHRlbiBieSBUdXVra2EgVGlra2FuZW4gPHR1dWtrYS50aWtrYW5lbkBlbGVrdHJvYml0LmNvbT4KKyAqIE1vZGlmaWVkIGZvciBvbWFwIHNoYXJlZCBjbG9jayBmcmFtZXdvcmsgYnkgVG9ueSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4KKyAqIENvcHlyaWdodCAyMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvKiAjZGVmaW5lIERFQlVHICovCisKKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgorCitzdGF0aWMgTElTVF9IRUFEKGNsb2Nrcyk7CitzdGF0aWMgREVGSU5FX01VVEVYKGNsb2Nrc19tdXRleCk7CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogU3RhbmRhcmQgY2xvY2sgZnVuY3Rpb25zIGRlZmluZWQgaW4gaW5jbHVkZS9saW51eC9jbGsuaAorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyoKKyAqIFJldHJpZXZlIGEgY2xvY2sgYnkgbmFtZS4KKyAqCisgKiBOb3RlIHRoYXQgd2UgZmlyc3QgdHJ5IHRvIHVzZSBkZXZpY2UgaWQgb24gdGhlIGJ1cworICogYW5kIGNsb2NrIG5hbWUuIElmIHRoaXMgZmFpbHMsIHdlIHRyeSB0byB1c2UgIjxuYW1lPi48aWQ+Ii4gSWYgdGhpcyBmYWlscywKKyAqIHdlIHRyeSB0byB1c2UgY2xvY2sgbmFtZSBvbmx5LgorICogVGhlIHJlZmVyZW5jZSBjb3VudCB0byB0aGUgY2xvY2sncyBtb2R1bGUgb3duZXIgcmVmIGNvdW50IGlzIGluY3JlbWVudGVkLgorICovCitzdHJ1Y3QgY2xrICpjbGtfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqaWQpCit7CisJc3RydWN0IGNsayAqcCwgKmNsayA9IEVSUl9QVFIoLUVOT0VOVCk7CisJaW50IGlkbm87CisJY29uc3QgY2hhciAqc3RyOworCisJaWYgKGlkID09IE5VTEwpCisJCXJldHVybiBjbGs7CisKKwlpZiAoZGV2ID09IE5VTEwgfHwgZGV2LT5idXMgIT0gJnBsYXRmb3JtX2J1c190eXBlKQorCQlpZG5vID0gLTE7CisJZWxzZQorCQlpZG5vID0gdG9fcGxhdGZvcm1fZGV2aWNlKGRldiktPmlkOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQlpZiAocC0+aWQgPT0gaWRubyAmJgorCQkgICAgc3RyY21wKGlkLCBwLT5uYW1lKSA9PSAwICYmIHRyeV9tb2R1bGVfZ2V0KHAtPm93bmVyKSkgeworCQkJY2xrID0gcDsKKwkJCWdvdG8gZm91bmQ7CisJCX0KKwl9CisKKwlzdHIgPSBzdHJyY2hyKGlkLCAnLicpOworCWlmIChzdHIpIHsKKwkJaW50IGNudCA9IHN0ciAtIGlkOworCQlzdHIrKzsKKwkJaWRubyA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAxMCk7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgeworCQkJaWYgKHAtPmlkID09IGlkbm8gJiYKKwkJCSAgICBzdHJsZW4ocC0+bmFtZSkgPT0gY250ICYmCisJCQkgICAgc3RybmNtcChpZCwgcC0+bmFtZSwgY250KSA9PSAwICYmCisJCQkgICAgdHJ5X21vZHVsZV9nZXQocC0+b3duZXIpKSB7CisJCQkJY2xrID0gcDsKKwkJCQlnb3RvIGZvdW5kOworCQkJfQorCQl9CisJfQorCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwLCAmY2xvY2tzLCBub2RlKSB7CisJCWlmIChzdHJjbXAoaWQsIHAtPm5hbWUpID09IDAgJiYgdHJ5X21vZHVsZV9nZXQocC0+b3duZXIpKSB7CisJCQljbGsgPSBwOworCQkJZ290byBmb3VuZDsKKwkJfQorCX0KKworCXByaW50ayhLRVJOX1dBUk5JTkcgImNsazogVW5hYmxlIHRvIGdldCByZXF1ZXN0ZWQgY2xvY2s6ICVzXG4iLCBpZCk7CisKK2ZvdW5kOgorCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiBjbGs7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19nZXQpOworCitzdGF0aWMgdm9pZCBfX2Nsa19kaXNhYmxlKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybjsKKworCV9fY2xrX2Rpc2FibGUoY2xrLT5wYXJlbnQpOworCV9fY2xrX2Rpc2FibGUoY2xrLT5zZWNvbmRhcnkpOworCisJaWYgKCEoLS1jbGstPnVzZWNvdW50KSAmJiBjbGstPmRpc2FibGUpCisJCWNsay0+ZGlzYWJsZShjbGspOworfQorCitzdGF0aWMgaW50IF9fY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCV9fY2xrX2VuYWJsZShjbGstPnBhcmVudCk7CisJX19jbGtfZW5hYmxlKGNsay0+c2Vjb25kYXJ5KTsKKworCWlmIChjbGstPnVzZWNvdW50KysgPT0gMCAmJiBjbGstPmVuYWJsZSkKKwkJY2xrLT5lbmFibGUoY2xrKTsKKworCXJldHVybiAwOworfQorCisvKiBUaGlzIGZ1bmN0aW9uIGluY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBvbiB0aGUgY2xvY2sgYW5kIGVuYWJsZXMgdGhlCisgKiBjbG9jayBpZiBub3QgYWxyZWFkeSBlbmFibGVkLiBUaGUgcGFyZW50IGNsb2NrIHRyZWUgaXMgcmVjdXJzaXZlbHkgZW5hYmxlZAorICovCitpbnQgY2xrX2VuYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybiAtRUlOVkFMOworCisJbXV0ZXhfbG9jaygmY2xvY2tzX211dGV4KTsKKwlyZXQgPSBfX2Nsa19lbmFibGUoY2xrKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfZW5hYmxlKTsKKworLyogVGhpcyBmdW5jdGlvbiBkZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQgb24gdGhlIGNsb2NrIGFuZCBkaXNhYmxlcworICogdGhlIGNsb2NrIHdoZW4gcmVmZXJlbmNlIGNvdW50IGlzIDAuIFRoZSBwYXJlbnQgY2xvY2sgdHJlZSBpcworICogcmVjdXJzaXZlbHkgZGlzYWJsZWQKKyAqLwordm9pZCBjbGtfZGlzYWJsZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCV9fY2xrX2Rpc2FibGUoY2xrKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19kaXNhYmxlKTsKKworLyogUmV0cmlldmUgdGhlICpjdXJyZW50KiBjbG9jayByYXRlLiBJZiB0aGUgY2xvY2sgaXRzZWxmCisgKiBkb2VzIG5vdCBwcm92aWRlIGEgc3BlY2lhbCBjYWxjdWxhdGlvbiByb3V0aW5lLCBhc2sKKyAqIGl0cyBwYXJlbnQgYW5kIHNvIG9uLCB1bnRpbCBvbmUgaXMgYWJsZSB0byByZXR1cm4KKyAqIGEgdmFsaWQgY2xvY2sgcmF0ZQorICovCit1bnNpZ25lZCBsb25nIGNsa19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gMFVMOworCisJaWYgKGNsay0+Z2V0X3JhdGUpCisJCXJldHVybiBjbGstPmdldF9yYXRlKGNsayk7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKK30KK0VYUE9SVF9TWU1CT0woY2xrX2dldF9yYXRlKTsKKworLyogRGVjcmVtZW50IHRoZSBjbG9jaydzIG1vZHVsZSByZWZlcmVuY2UgY291bnQgKi8KK3ZvaWQgY2xrX3B1dChzdHJ1Y3QgY2xrICpjbGspCit7CisJaWYgKGNsayAmJiAhSVNfRVJSKGNsaykpCisJCW1vZHVsZV9wdXQoY2xrLT5vd25lcik7Cit9CitFWFBPUlRfU1lNQk9MKGNsa19wdXQpOworCisvKiBSb3VuZCB0aGUgcmVxdWVzdGVkIGNsb2NrIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkCisgKiByYXRlIHRoYXQgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSByZXF1ZXN0ZWQgcmF0ZS4KKyAqIFRoaXMgaXMgZGVwZW5kZW50IG9uIHRoZSBjbG9jaydzIGN1cnJlbnQgcGFyZW50LgorICovCitsb25nIGNsa19yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWlmIChjbGsgPT0gTlVMTCB8fCBJU19FUlIoY2xrKSB8fCAhY2xrLT5yb3VuZF9yYXRlKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBjbGstPnJvdW5kX3JhdGUoY2xrLCByYXRlKTsKK30KK0VYUE9SVF9TWU1CT0woY2xrX3JvdW5kX3JhdGUpOworCisvKiBTZXQgdGhlIGNsb2NrIHRvIHRoZSByZXF1ZXN0ZWQgY2xvY2sgcmF0ZS4gVGhlIHJhdGUgbXVzdAorICogbWF0Y2ggYSBzdXBwb3J0ZWQgcmF0ZSBleGFjdGx5IGJhc2VkIG9uIHdoYXQgY2xrX3JvdW5kX3JhdGUgcmV0dXJucworICovCitpbnQgY2xrX3NldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyByYXRlKQoreworCWludCByZXQgPSAtRUlOVkFMOworCisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspIHx8IGNsay0+c2V0X3JhdGUgPT0gTlVMTCB8fCByYXRlID09IDApCisJCXJldHVybiByZXQ7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCXJldCA9IGNsay0+c2V0X3JhdGUoY2xrLCByYXRlKTsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfc2V0X3JhdGUpOworCisvKiBTZXQgdGhlIGNsb2NrJ3MgcGFyZW50IHRvIGFub3RoZXIgY2xvY2sgc291cmNlICovCitpbnQgY2xrX3NldF9wYXJlbnQoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2xrICpwYXJlbnQpCit7CisJaW50IHJldCA9IC1FSU5WQUw7CisKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykgfHwgcGFyZW50ID09IE5VTEwgfHwKKwkgICAgSVNfRVJSKHBhcmVudCkgfHwgY2xrLT5zZXRfcGFyZW50ID09IE5VTEwpCisJCXJldHVybiByZXQ7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCXJldCA9IGNsay0+c2V0X3BhcmVudChjbGssIHBhcmVudCk7CisJaWYgKHJldCA9PSAwKQorCQljbGstPnBhcmVudCA9IHBhcmVudDsKKwltdXRleF91bmxvY2soJmNsb2Nrc19tdXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZTUJPTChjbGtfc2V0X3BhcmVudCk7CisKKy8qIFJldHJpZXZlIHRoZSBjbG9jaydzIHBhcmVudCBjbG9jayBzb3VyY2UgKi8KK3N0cnVjdCBjbGsgKmNsa19nZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaykKK3sKKwlzdHJ1Y3QgY2xrICpyZXQgPSBOVUxMOworCisJaWYgKGNsayA9PSBOVUxMIHx8IElTX0VSUihjbGspKQorCQlyZXR1cm4gcmV0OworCisJcmV0dXJuIGNsay0+cGFyZW50OworfQorRVhQT1JUX1NZTUJPTChjbGtfZ2V0X3BhcmVudCk7CisKKy8qCisgKiBBZGQgYSBuZXcgY2xvY2sgdG8gdGhlIGNsb2NrIHRyZWUuCisgKi8KK2ludCBjbGtfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrKQoreworCWlmIChjbGsgPT0gTlVMTCB8fCBJU19FUlIoY2xrKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltdXRleF9sb2NrKCZjbG9ja3NfbXV0ZXgpOworCWxpc3RfYWRkKCZjbGstPm5vZGUsICZjbG9ja3MpOworCW11dGV4X3VubG9jaygmY2xvY2tzX211dGV4KTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChjbGtfcmVnaXN0ZXIpOworCisvKiBSZW1vdmUgYSBjbG9jayBmcm9tIHRoZSBjbG9jayB0cmVlICovCit2b2lkIGNsa191bnJlZ2lzdGVyKHN0cnVjdCBjbGsgKmNsaykKK3sKKwlpZiAoY2xrID09IE5VTEwgfHwgSVNfRVJSKGNsaykpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmNsb2Nrc19tdXRleCk7CisJbGlzdF9kZWwoJmNsay0+bm9kZSk7CisJbXV0ZXhfdW5sb2NrKCZjbG9ja3NfbXV0ZXgpOworfQorRVhQT1JUX1NZTUJPTChjbGtfdW5yZWdpc3Rlcik7CisKKyNpZmRlZiBDT05GSUdfUFJPQ19GUworc3RhdGljIGludCBteGNfY2xvY2tfcmVhZF9wcm9jKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAorCQkJCWludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNsayAqY2xrcDsKKwljaGFyICpwID0gcGFnZTsKKwlpbnQgbGVuOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShjbGtwLCAmY2xvY2tzLCBub2RlKSB7CisJCXAgKz0gc3ByaW50ZihwLCAiJXMtJWQ6XHRcdCVsdSwgJWQiLCBjbGtwLT5uYW1lLCBjbGtwLT5pZCwKKwkJCQljbGtfZ2V0X3JhdGUoY2xrcCksIGNsa3AtPnVzZWNvdW50KTsKKwkJaWYgKGNsa3AtPnBhcmVudCkKKwkJCXAgKz0gc3ByaW50ZihwLCAiLCAlcy0lZFxuIiwgY2xrcC0+cGFyZW50LT5uYW1lLAorCQkJCSAgICAgY2xrcC0+cGFyZW50LT5pZCk7CisJCWVsc2UKKwkJCXAgKz0gc3ByaW50ZihwLCAiXG4iKTsKKwl9CisKKwlsZW4gPSAocCAtIHBhZ2UpIC0gb2ZmOworCWlmIChsZW4gPCAwKQorCQlsZW4gPSAwOworCisJKmVvZiA9IChsZW4gPD0gY291bnQpID8gMSA6IDA7CisJKnN0YXJ0ID0gcGFnZSArIG9mZjsKKworCXJldHVybiBsZW47Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG14Y19zZXR1cF9wcm9jX2VudHJ5KHZvaWQpCit7CisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpyZXM7CisKKwlyZXMgPSBjcmVhdGVfcHJvY19yZWFkX2VudHJ5KCJjcHUvY2xvY2tzIiwgMCwgTlVMTCwKKwkJCQkgICAgIG14Y19jbG9ja19yZWFkX3Byb2MsIE5VTEwpOworCWlmICghcmVzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGNyZWF0ZSBwcm9jL2NwdS9jbG9ja3NcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2xhdGVfaW5pdGNhbGwobXhjX3NldHVwX3Byb2NfZW50cnkpOworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9ncGlvLmMgYi9hcmNoL2FybS9wbGF0LW14Yy9ncGlvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE3NzM2NwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL2dwaW8uYwpAQCAtMCwwICsxLDI1MyBAQAorLyoKKyAqIE1YQyBHUElPIHN1cHBvcnQuIChjKSAyMDA4IERhbmllbCBNYWNrIDxkYW5pZWxAY2FpYXEuZGU+CisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSBGcmVlc2NhbGUsCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9idWcuaD4KKworc3RhdGljIHN0cnVjdCBteGNfZ3Bpb19wb3J0ICpteGNfZ3Bpb19wb3J0czsKK3N0YXRpYyBpbnQgZ3Bpb190YWJsZV9zaXplOworCisvKiBOb3RlOiBUaGlzIGRyaXZlciBhc3N1bWVzIDMyIEdQSU9zIGFyZSBoYW5kbGVkIGluIG9uZSByZWdpc3RlciAqLworCitzdGF0aWMgdm9pZCBfY2xlYXJfZ3Bpb19pcnFzdGF0dXMoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIHUzMiBpbmRleCkKK3sKKwlfX3Jhd193cml0ZWwoMSA8PCBpbmRleCwgcG9ydC0+YmFzZSArIEdQSU9fSVNSKTsKK30KKworc3RhdGljIHZvaWQgX3NldF9ncGlvX2lycWVuYWJsZShzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCwgdTMyIGluZGV4LAorCQkJCWludCBlbmFibGUpCit7CisJdTMyIGw7CisKKwlsID0gX19yYXdfcmVhZGwocG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKKwlsID0gKGwgJiAofigxIDw8IGluZGV4KSkpIHwgKCEhZW5hYmxlIDw8IGluZGV4KTsKKwlfX3Jhd193cml0ZWwobCwgcG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb19hY2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9jbGVhcl9ncGlvX2lycXN0YXR1cygmbXhjX2dwaW9fcG9ydHNbZ3BpbyAvIDMyXSwgZ3BpbyAmIDB4MWYpOworfQorCitzdGF0aWMgdm9pZCBncGlvX21hc2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9zZXRfZ3Bpb19pcnFlbmFibGUoJm14Y19ncGlvX3BvcnRzW2dwaW8gLyAzMl0sIGdwaW8gJiAweDFmLCAwKTsKK30KKworc3RhdGljIHZvaWQgZ3Bpb191bm1hc2tfaXJxKHUzMiBpcnEpCit7CisJdTMyIGdwaW8gPSBpcnFfdG9fZ3BpbyhpcnEpOworCV9zZXRfZ3Bpb19pcnFlbmFibGUoJm14Y19ncGlvX3BvcnRzW2dwaW8gLyAzMl0sIGdwaW8gJiAweDFmLCAxKTsKK30KKworc3RhdGljIGludCBncGlvX3NldF9pcnFfdHlwZSh1MzIgaXJxLCB1MzIgdHlwZSkKK3sKKwl1MzIgZ3BpbyA9IGlycV90b19ncGlvKGlycSk7CisJc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQgPSAmbXhjX2dwaW9fcG9ydHNbZ3BpbyAvIDMyXTsKKwl1MzIgYml0LCB2YWw7CisJaW50IGVkZ2U7CisJdm9pZCBfX2lvbWVtICpyZWcgPSBwb3J0LT5iYXNlOworCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBJUlFUX1JJU0lORzoKKwkJZWRnZSA9IEdQSU9fSU5UX1JJU0VfRURHRTsKKwkJYnJlYWs7CisJY2FzZSBJUlFUX0ZBTExJTkc6CisJCWVkZ2UgPSBHUElPX0lOVF9GQUxMX0VER0U7CisJCWJyZWFrOworCWNhc2UgSVJRVF9MT1c6CisJCWVkZ2UgPSBHUElPX0lOVF9MT1dfTEVWOworCQlicmVhazsKKwljYXNlIElSUVRfSElHSDoKKwkJZWRnZSA9IEdQSU9fSU5UX0hJR0hfTEVWOworCQlicmVhazsKKwlkZWZhdWx0OgkvKiB0aGlzIGluY2x1ZGVzIElSUVRfQk9USEVER0UgKi8KKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVnICs9IEdQSU9fSUNSMSArICgoZ3BpbyAmIDB4MTApID4+IDIpOyAvKiBsb3dlciBvciB1cHBlciByZWdpc3RlciAqLworCWJpdCA9IGdwaW8gJiAweGY7CisJdmFsID0gX19yYXdfcmVhZGwocmVnKSAmIH4oMHgzIDw8IChiaXQgPDwgMSkpOworCV9fcmF3X3dyaXRlbCh2YWwgfCAoZWRnZSA8PCAoYml0IDw8IDEpKSwgcmVnKTsKKwlfY2xlYXJfZ3Bpb19pcnFzdGF0dXMocG9ydCwgZ3BpbyAmIDB4MWYpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGhhbmRsZSBuIGludGVycnVwdHMgaW4gb25lIHN0YXR1cyByZWdpc3RlciAqLworc3RhdGljIHZvaWQgbXhjX2dwaW9faXJxX2hhbmRsZXIoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIHUzMiBpcnFfc3RhdCkKK3sKKwl1MzIgZ3Bpb19pcnFfbm87CisKKwlncGlvX2lycV9ubyA9IHBvcnQtPnZpcnR1YWxfaXJxX3N0YXJ0OworCWZvciAoOyBpcnFfc3RhdCAhPSAwOyBpcnFfc3RhdCA+Pj0gMSwgZ3Bpb19pcnFfbm8rKykgeworCisJCWlmICgoaXJxX3N0YXQgJiAxKSA9PSAwKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKCEoaXJxX2Rlc2NbZ3Bpb19pcnFfbm9dLmhhbmRsZV9pcnEpKTsKKwkJaXJxX2Rlc2NbZ3Bpb19pcnFfbm9dLmhhbmRsZV9pcnEoZ3Bpb19pcnFfbm8sCisJCQkJJmlycV9kZXNjW2dwaW9faXJxX25vXSk7CisJfQorfQorCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgzCisvKiBNWDMgaGFzIG9uZSBpbnRlcnJ1cHQgKnBlciogZ3BpbyBwb3J0ICovCitzdGF0aWMgdm9pZCBteDNfZ3Bpb19pcnFfaGFuZGxlcih1MzIgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisJdTMyIGlycV9zdGF0OworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0gKHN0cnVjdCBteGNfZ3Bpb19wb3J0ICopZ2V0X2lycV9kYXRhKGlycSk7CisKKwlpcnFfc3RhdCA9IF9fcmF3X3JlYWRsKHBvcnQtPmJhc2UgKyBHUElPX0lTUikgJgorCQkJX19yYXdfcmVhZGwocG9ydC0+YmFzZSArIEdQSU9fSU1SKTsKKwlCVUdfT04oIWlycV9zdGF0KTsKKwlteGNfZ3Bpb19pcnFfaGFuZGxlcihwb3J0LCBpcnFfc3RhdCk7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorLyogTVgyIGhhcyBvbmUgaW50ZXJydXB0ICpmb3IgYWxsKiBncGlvIHBvcnRzICovCitzdGF0aWMgdm9pZCBteDJfZ3Bpb19pcnFfaGFuZGxlcih1MzIgaXJxLCBzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MpCit7CisJaW50IGk7CisJdTMyIGlycV9tc2ssIGlycV9zdGF0OworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0gKHN0cnVjdCBteGNfZ3Bpb19wb3J0ICopZ2V0X2lycV9kYXRhKGlycSk7CisKKwkvKiB3YWxrIHRocm91Z2ggYWxsIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXJzICovCisJZm9yIChpID0gMDsgaSA8IGdwaW9fdGFibGVfc2l6ZTsgaSsrKSB7CisJCWlycV9tc2sgPSBfX3Jhd19yZWFkbChwb3J0W2ldLmJhc2UgKyBHUElPX0lNUik7CisJCWlmICghaXJxX21zaykKKwkJCWNvbnRpbnVlOworCisJCWlycV9zdGF0ID0gX19yYXdfcmVhZGwocG9ydFtpXS5iYXNlICsgR1BJT19JU1IpICYgaXJxX21zazsKKwkJaWYgKGlycV9zdGF0KQorCQkJbXhjX2dwaW9faXJxX2hhbmRsZXIoJnBvcnRbaV0sIGlycV9zdGF0KTsKKwl9Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBncGlvX2lycV9jaGlwID0geworCS5hY2sgPSBncGlvX2Fja19pcnEsCisJLm1hc2sgPSBncGlvX21hc2tfaXJxLAorCS51bm1hc2sgPSBncGlvX3VubWFza19pcnEsCisJLnNldF90eXBlID0gZ3Bpb19zZXRfaXJxX3R5cGUsCit9OworCitzdGF0aWMgdm9pZCBfc2V0X2dwaW9fZGlyZWN0aW9uKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIG9mZnNldCwKKwkJCQlpbnQgZGlyKQoreworCXN0cnVjdCBteGNfZ3Bpb19wb3J0ICpwb3J0ID0KKwkJY29udGFpbmVyX29mKGNoaXAsIHN0cnVjdCBteGNfZ3Bpb19wb3J0LCBjaGlwKTsKKwl1MzIgbDsKKworCWwgPSBfX3Jhd19yZWFkbChwb3J0LT5iYXNlICsgR1BJT19HRElSKTsKKwlpZiAoZGlyKQorCQlsIHw9IDEgPDwgb2Zmc2V0OworCWVsc2UKKwkJbCAmPSB+KDEgPDwgb2Zmc2V0KTsKKwlfX3Jhd193cml0ZWwobCwgcG9ydC0+YmFzZSArIEdQSU9fR0RJUik7Cit9CisKK3N0YXRpYyB2b2lkIG14Y19ncGlvX3NldChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCA9CisJCWNvbnRhaW5lcl9vZihjaGlwLCBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCwgY2hpcCk7CisJdm9pZCBfX2lvbWVtICpyZWcgPSBwb3J0LT5iYXNlICsgR1BJT19EUjsKKwl1MzIgbDsKKworCWwgPSAoX19yYXdfcmVhZGwocmVnKSAmICh+KDEgPDwgb2Zmc2V0KSkpIHwgKHZhbHVlIDw8IG9mZnNldCk7CisJX19yYXdfd3JpdGVsKGwsIHJlZyk7Cit9CisKK3N0YXRpYyBpbnQgbXhjX2dwaW9fZ2V0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVuc2lnbmVkIG9mZnNldCkKK3sKKwlzdHJ1Y3QgbXhjX2dwaW9fcG9ydCAqcG9ydCA9CisJCWNvbnRhaW5lcl9vZihjaGlwLCBzdHJ1Y3QgbXhjX2dwaW9fcG9ydCwgY2hpcCk7CisKKwlyZXR1cm4gKF9fcmF3X3JlYWRsKHBvcnQtPmJhc2UgKyBHUElPX0RSKSA+PiBvZmZzZXQpICYgMTsKK30KKworc3RhdGljIGludCBteGNfZ3Bpb19kaXJlY3Rpb25faW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCV9zZXRfZ3Bpb19kaXJlY3Rpb24oY2hpcCwgb2Zmc2V0LCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBteGNfZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsCisJCQkJICAgICB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlfc2V0X2dwaW9fZGlyZWN0aW9uKGNoaXAsIG9mZnNldCwgMSk7CisJbXhjX2dwaW9fc2V0KGNoaXAsIG9mZnNldCwgdmFsdWUpOworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IG14Y19ncGlvX2luaXQoc3RydWN0IG14Y19ncGlvX3BvcnQgKnBvcnQsIGludCBjbnQpCit7CisJaW50IGksIGo7CisKKwkvKiBzYXZlIGZvciBsb2NhbCB1c2FnZSAqLworCW14Y19ncGlvX3BvcnRzID0gcG9ydDsKKwlncGlvX3RhYmxlX3NpemUgPSBjbnQ7CisKKwlwcmludGsoS0VSTl9JTkZPICJNWEMgR1BJTyBoYXJkd2FyZVxuIik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKwkJLyogZGlzYWJsZSB0aGUgaW50ZXJydXB0IGFuZCBjbGVhciB0aGUgc3RhdHVzICovCisJCV9fcmF3X3dyaXRlbCgwLCBwb3J0W2ldLmJhc2UgKyBHUElPX0lNUik7CisJCV9fcmF3X3dyaXRlbCh+MCwgcG9ydFtpXS5iYXNlICsgR1BJT19JU1IpOworCQlmb3IgKGogPSBwb3J0W2ldLnZpcnR1YWxfaXJxX3N0YXJ0OworCQkJaiA8IHBvcnRbaV0udmlydHVhbF9pcnFfc3RhcnQgKyAzMjsgaisrKSB7CisJCQlzZXRfaXJxX2NoaXAoaiwgJmdwaW9faXJxX2NoaXApOworCQkJc2V0X2lycV9oYW5kbGVyKGosIGhhbmRsZV9lZGdlX2lycSk7CisJCQlzZXRfaXJxX2ZsYWdzKGosIElSUUZfVkFMSUQpOworCQl9CisKKwkJLyogcmVnaXN0ZXIgZ3BpbyBjaGlwICovCisJCXBvcnRbaV0uY2hpcC5kaXJlY3Rpb25faW5wdXQgPSBteGNfZ3Bpb19kaXJlY3Rpb25faW5wdXQ7CisJCXBvcnRbaV0uY2hpcC5kaXJlY3Rpb25fb3V0cHV0ID0gbXhjX2dwaW9fZGlyZWN0aW9uX291dHB1dDsKKwkJcG9ydFtpXS5jaGlwLmdldCA9IG14Y19ncGlvX2dldDsKKwkJcG9ydFtpXS5jaGlwLnNldCA9IG14Y19ncGlvX3NldDsKKwkJcG9ydFtpXS5jaGlwLmJhc2UgPSBpICogMzI7CisJCXBvcnRbaV0uY2hpcC5uZ3BpbyA9IDMyOworCisJCS8qIGl0cyBhIHNlcmlvdXMgY29uZmlndXJhdGlvbiBidWcgd2hlbiBpdCBmYWlscyAqLworCQlCVUdfT04oIGdwaW9jaGlwX2FkZCgmcG9ydFtpXS5jaGlwKSA8IDAgKTsKKworI2lmZGVmIENPTkZJR19BUkNIX01YMworCQkvKiBzZXR1cCBvbmUgaGFuZGxlciBmb3IgZWFjaCBlbnRyeSAqLworCQlzZXRfaXJxX2NoYWluZWRfaGFuZGxlcihwb3J0W2ldLmlycSwgbXgzX2dwaW9faXJxX2hhbmRsZXIpOworCQlzZXRfaXJxX2RhdGEocG9ydFtpXS5pcnEsICZwb3J0W2ldKTsKKyNlbmRpZgorCX0KKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorCS8qIHNldHVwIG9uZSBoYW5kbGVyIGZvciBhbGwgR1BJTyBpbnRlcnJ1cHRzICovCisJc2V0X2lycV9jaGFpbmVkX2hhbmRsZXIocG9ydFswXS5pcnEsIG14Ml9ncGlvX2lycV9oYW5kbGVyKTsKKwlzZXRfaXJxX2RhdGEocG9ydFswXS5pcnEsIHBvcnQpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW14Yy9pb211eC1teDEtbXgyLmMgYi9hcmNoL2FybS9wbGF0LW14Yy9pb211eC1teDEtbXgyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk4NTU3MQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtbXhjL2lvbXV4LW14MS1teDIuYwpAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqICBhcmNoL2FybS9tYWNoLW14Yy9nZW5lcmljLmMKKyAqCisgKiAgYXV0aG9yOiBTYXNjaGEgSGF1ZXIKKyAqICBDcmVhdGVkOiBhcHJpbCAyMHRoLCAyMDA0CisgKiAgQ29weXJpZ2h0OiBTeW5lcnRyb25peHggR21iSAorICoKKyAqICBDb21tb24gY29kZSBmb3IgaS5NWCBtYWNoaW5lcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoL21hcC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2lvbXV4LW14MS1teDIuaD4KKwordm9pZCBteGNfZ3Bpb19tb2RlKGludCBncGlvX21vZGUpCit7CisJdW5zaWduZWQgaW50IHBpbiA9IGdwaW9fbW9kZSAmIEdQSU9fUElOX01BU0s7CisJdW5zaWduZWQgaW50IHBvcnQgPSAoZ3Bpb19tb2RlICYgR1BJT19QT1JUX01BU0spID4+IEdQSU9fUE9SVF9TSElGVDsKKwl1bnNpZ25lZCBpbnQgb2NyID0gKGdwaW9fbW9kZSAmIEdQSU9fT0NSX01BU0spID4+IEdQSU9fT0NSX1NISUZUOworCXVuc2lnbmVkIGludCB0bXA7CisKKwkvKiBQdWxsdXAgZW5hYmxlICovCisJdG1wID0gX19yYXdfcmVhZGwoVkFfR1BJT19CQVNFICsgTVhDX1BVRU4ocG9ydCkpOworCWlmIChncGlvX21vZGUgJiBHUElPX1BVRU4pCisJCXRtcCB8PSAoMSA8PCBwaW4pOworCWVsc2UKKwkJdG1wICY9IH4oMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19QVUVOKHBvcnQpKTsKKworCS8qIERhdGEgZGlyZWN0aW9uICovCisJdG1wID0gX19yYXdfcmVhZGwoVkFfR1BJT19CQVNFICsgTVhDX0RESVIocG9ydCkpOworCWlmIChncGlvX21vZGUgJiBHUElPX09VVCkKKwkJdG1wIHw9IDEgPDwgcGluOworCWVsc2UKKwkJdG1wICY9IH4oMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19ERElSKHBvcnQpKTsKKworCS8qIFByaW1hcnkgLyBhbHRlcm5hdGUgZnVuY3Rpb24gKi8KKwl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfR1BSKHBvcnQpKTsKKwlpZiAoZ3Bpb19tb2RlICYgR1BJT19BRikKKwkJdG1wIHw9ICgxIDw8IHBpbik7CisJZWxzZQorCQl0bXAgJj0gfigxIDw8IHBpbik7CisJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0dQUihwb3J0KSk7CisKKwkvKiB1c2UgYXMgZ3Bpbz8gKi8KKwl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfR0lVUyhwb3J0KSk7CisJaWYgKGdwaW9fbW9kZSAmIChHUElPX1BGIHwgR1BJT19BRikpCisJCXRtcCAmPSB+KDEgPDwgcGluKTsKKwllbHNlCisJCXRtcCB8PSAoMSA8PCBwaW4pOworCV9fcmF3X3dyaXRlbCh0bXAsIFZBX0dQSU9fQkFTRSArIE1YQ19HSVVTKHBvcnQpKTsKKworCWlmIChwaW4gPCAxNikgeworCQl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfT0NSMShwb3J0KSk7CisJCXRtcCAmPSB+KDMgPDwgKHBpbiAqIDIpKTsKKwkJdG1wIHw9IChvY3IgPDwgKHBpbiAqIDIpKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX09DUjEocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkExKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19BT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQTEocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkIxKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19CT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQjEocG9ydCkpOworCX0gZWxzZSB7CisJCXBpbiAtPSAxNjsKKworCQl0bXAgPSBfX3Jhd19yZWFkbChWQV9HUElPX0JBU0UgKyBNWENfT0NSMihwb3J0KSk7CisJCXRtcCAmPSB+KDMgPDwgKHBpbiAqIDIpKTsKKwkJdG1wIHw9IChvY3IgPDwgKHBpbiAqIDIpKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX09DUjIocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkEyKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19BT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQTIocG9ydCkpOworCisJCXRtcCA9IF9fcmF3X3JlYWRsKFZBX0dQSU9fQkFTRSArIE1YQ19JQ09ORkIyKHBvcnQpKTsKKwkJdG1wICY9IH4oMyA8PCAocGluICogMikpOworCQl0bXAgfD0gKChncGlvX21vZGUgPj4gR1BJT19CT1VUX1NISUZUKSAmIDMpIDw8IChwaW4gKiAyKTsKKwkJX19yYXdfd3JpdGVsKHRtcCwgVkFfR1BJT19CQVNFICsgTVhDX0lDT05GQjIocG9ydCkpOworCX0KK30KK0VYUE9SVF9TWU1CT0wobXhjX2dwaW9fbW9kZSk7CisKK2ludCBteGNfZ3Bpb19zZXR1cF9tdWx0aXBsZV9waW5zKGNvbnN0IGludCAqcGluX2xpc3QsIHVuc2lnbmVkIGNvdW50LAorCQkJCWludCBhbGxvY19tb2RlLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwljb25zdCBpbnQgKnAgPSBwaW5fbGlzdDsKKwlpbnQgaTsKKwl1bnNpZ25lZCBncGlvOworCXVuc2lnbmVkIG1vZGU7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlncGlvID0gKnAgJiAoR1BJT19QSU5fTUFTSyB8IEdQSU9fUE9SVF9NQVNLKTsKKwkJbW9kZSA9ICpwICYgfihHUElPX1BJTl9NQVNLIHwgR1BJT19QT1JUX01BU0spOworCisJCWlmIChncGlvID49IChHUElPX1BPUlRfTUFYICsgMSkgKiAzMikKKwkJCWdvdG8gc2V0dXBfZXJyb3I7CisKKwkJaWYgKGFsbG9jX21vZGUgJiBNWENfR1BJT19BTExPQ19NT0RFX1JFTEVBU0UpCisJCQlncGlvX2ZyZWUoZ3Bpbyk7CisJCWVsc2UgaWYgKCEoYWxsb2NfbW9kZSAmIE1YQ19HUElPX0FMTE9DX01PREVfTk9fQUxMT0MpKQorCQkJaWYgKGdwaW9fcmVxdWVzdChncGlvLCBsYWJlbCkKKwkJCSAgICYmICEoYWxsb2NfbW9kZSAmIE1YQ19HUElPX0FMTE9DX01PREVfVFJZX0FMTE9DKSkKKwkJCQlnb3RvIHNldHVwX2Vycm9yOworCisJCWlmICghKGFsbG9jX21vZGUgJiAoTVhDX0dQSU9fQUxMT0NfTU9ERV9BTExPQ19PTkxZIHwKKwkJCQkgICAgTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFKSkpCisJCQlteGNfZ3Bpb19tb2RlKGdwaW8gfCBtb2RlKTsKKworCQlwKys7CisJfQorCXJldHVybiAwOworCitzZXR1cF9lcnJvcjoKKwlpZiAoYWxsb2NfbW9kZSAmIChNWENfR1BJT19BTExPQ19NT0RFX05PX0FMTE9DIHwKKwkgICAgTVhDX0dQSU9fQUxMT0NfTU9ERV9UUllfQUxMT0MpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdoaWxlIChwICE9IHBpbl9saXN0KSB7CisJCXAtLTsKKwkJZ3BpbyA9ICpwICYgKEdQSU9fUElOX01BU0sgfCBHUElPX1BPUlRfTUFTSyk7CisJCWdwaW9fZnJlZShncGlvKTsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0wobXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyk7CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtbXhjL2lycS5jIGIvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKaW5kZXggMmFkNWE2OS4uMWZiZTAxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1teGMvaXJxLmMKQEAgLTEsMjQgKzEsNTkgQEAKIC8qCi0gKiAgQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDQtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9tYWNoL2lycS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogCisjZGVmaW5lIEFWSUNfQkFTRQkJSU9fQUREUkVTUyhBVklDX0JBU0VfQUREUikKKyNkZWZpbmUgQVZJQ19JTlRDTlRMCQkoQVZJQ19CQVNFICsgMHgwMCkJLyogaW50IGNvbnRyb2wgcmVnICovCisjZGVmaW5lIEFWSUNfTklNQVNLCQkoQVZJQ19CQVNFICsgMHgwNCkJLyogaW50IG1hc2sgcmVnICovCisjZGVmaW5lIEFWSUNfSU5URU5OVU0JCShBVklDX0JBU0UgKyAweDA4KQkvKiBpbnQgZW5hYmxlIG51bWJlciByZWcgKi8KKyNkZWZpbmUgQVZJQ19JTlRESVNOVU0JCShBVklDX0JBU0UgKyAweDBDKQkvKiBpbnQgZGlzYWJsZSBudW1iZXIgcmVnICovCisjZGVmaW5lIEFWSUNfSU5URU5BQkxFSAkJKEFWSUNfQkFTRSArIDB4MTApCS8qIGludCBlbmFibGUgcmVnIGhpZ2ggKi8KKyNkZWZpbmUgQVZJQ19JTlRFTkFCTEVMCQkoQVZJQ19CQVNFICsgMHgxNCkJLyogaW50IGVuYWJsZSByZWcgbG93ICovCisjZGVmaW5lIEFWSUNfSU5UVFlQRUgJCShBVklDX0JBU0UgKyAweDE4KQkvKiBpbnQgdHlwZSByZWcgaGlnaCAqLworI2RlZmluZSBBVklDX0lOVFRZUEVMCQkoQVZJQ19CQVNFICsgMHgxQykJLyogaW50IHR5cGUgcmVnIGxvdyAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFk3CShBVklDX0JBU0UgKyAweDIwKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw3ICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTYJKEFWSUNfQkFTRSArIDB4MjQpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDYgKi8KKyNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNQkoQVZJQ19CQVNFICsgMHgyOCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNSAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFk0CShBVklDX0JBU0UgKyAweDJDKQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw0ICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTMJKEFWSUNfQkFTRSArIDB4MzApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDMgKi8KKyNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMgkoQVZJQ19CQVNFICsgMHgzNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMiAqLworI2RlZmluZSBBVklDX05JUFJJT1JJVFkxCShBVklDX0JBU0UgKyAweDM4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwxICovCisjZGVmaW5lIEFWSUNfTklQUklPUklUWTAJKEFWSUNfQkFTRSArIDB4M0MpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDAgKi8KKyNkZWZpbmUgQVZJQ19OSVZFQ1NSCQkoQVZJQ19CQVNFICsgMHg0MCkJLyogbm9ybSBpbnQgdmVjdG9yL3N0YXR1cyAqLworI2RlZmluZSBBVklDX0ZJVkVDU1IJCShBVklDX0JBU0UgKyAweDQ0KQkvKiBmYXN0IGludCB2ZWN0b3Ivc3RhdHVzICovCisjZGVmaW5lIEFWSUNfSU5UU1JDSAkJKEFWSUNfQkFTRSArIDB4NDgpCS8qIGludCBzb3VyY2UgcmVnIGhpZ2ggKi8KKyNkZWZpbmUgQVZJQ19JTlRTUkNMCQkoQVZJQ19CQVNFICsgMHg0QykJLyogaW50IHNvdXJjZSByZWcgbG93ICovCisjZGVmaW5lIEFWSUNfSU5URlJDSAkJKEFWSUNfQkFTRSArIDB4NTApCS8qIGludCBmb3JjZSByZWcgaGlnaCAqLworI2RlZmluZSBBVklDX0lOVEZSQ0wJCShBVklDX0JBU0UgKyAweDU0KQkvKiBpbnQgZm9yY2UgcmVnIGxvdyAqLworI2RlZmluZSBBVklDX05JUE5ESAkJKEFWSUNfQkFTRSArIDB4NTgpCS8qIG5vcm0gaW50IHBlbmRpbmcgaGlnaCAqLworI2RlZmluZSBBVklDX05JUE5ETAkJKEFWSUNfQkFTRSArIDB4NUMpCS8qIG5vcm0gaW50IHBlbmRpbmcgbG93ICovCisjZGVmaW5lIEFWSUNfRklQTkRICQkoQVZJQ19CQVNFICsgMHg2MCkJLyogZmFzdCBpbnQgcGVuZGluZyBoaWdoICovCisjZGVmaW5lIEFWSUNfRklQTkRMCQkoQVZJQ19CQVNFICsgMHg2NCkJLyogZmFzdCBpbnQgcGVuZGluZyBsb3cgKi8KKworI2RlZmluZSBTWVNURU1fUFJFVl9SRUcJCUlPX0FERFJFU1MoSUlNX0JBU0VfQUREUiArIDB4MjApCisjZGVmaW5lIFNZU1RFTV9TUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyNCkKKyNkZWZpbmUgSUlNX1BST0RfUkVWX1NICQkzCisjZGVmaW5lIElJTV9QUk9EX1JFVl9MRU4JNQorCiAvKiBEaXNhYmxlIGludGVycnVwdCBudW1iZXIgImlycSIgaW4gdGhlIEFWSUMgKi8KIHN0YXRpYyB2b2lkIG14Y19tYXNrX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewpAQCAtMzIsNyArNjcsNyBAQAogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIG14Y19hdmljX2NoaXAgPSB7Ci0JLm1hc2tfYWNrID0gbXhjX21hc2tfaXJxLAorCS5hY2sgPSBteGNfbWFza19pcnEsCiAJLm1hc2sgPSBteGNfbWFza19pcnEsCiAJLnVubWFzayA9IG14Y191bm1hc2tfaXJxLAogfTsKQEAgLTcxLDUgKzEwNiw4IEBACiAJcmVnIHw9ICgweEYgPDwgMjgpOwogCV9fcmF3X3dyaXRlbChyZWcsIEFWSUNfTklQUklPUklUWTYpOwogCisJLyogaW5pdCBhcmNoaXRlY3R1cmVzIGNoYWluZWQgaW50ZXJydXB0IGhhbmRsZXIgKi8KKwlteGNfcmVnaXN0ZXJfZ3Bpb3MoKTsKKwogCXByaW50ayhLRVJOX0lORk8gIk1YQyBJUlEgaW5pdGlhbGl6ZWRcbiIpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jIGIvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZjg2MzQKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9wbGF0LW14Yy90aW1lLmMKQEAgLTAsMCArMSwyMjggQEAKKy8qCisgKiAgbGludXgvYXJjaC9hcm0vcGxhdC1teGMvdGltZS5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIERlZXAgQmx1ZSBTb2x1dGlvbnMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIgU2hhbmUgTmF5IChzaGFuZUBtaW5pcmwuY29tKQorICogIENvcHlyaWdodCAoQykgMjAwNi0yMDA3IFBhdmVsIFBpc2EgKHBwaXNhQHBpa3Jvbi5jb20pCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IEp1ZXJnZW4gQmVpc2VydCAoa2VybmVsQHBlbmd1dHJvbml4LmRlKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvY29tbW9uLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXhjX3RpbWVyLmg+CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tfZXZlbnRfZGV2aWNlIGNsb2NrZXZlbnRfbXhjOworc3RhdGljIGVudW0gY2xvY2tfZXZlbnRfbW9kZSBjbG9ja2V2ZW50X21vZGUgPSBDTE9DS19FVlRfTU9ERV9VTlVTRUQ7CisKKy8qIGNsb2NrIHNvdXJjZSBmb3IgdGhlIHRpbWVyICovCitzdGF0aWMgc3RydWN0IGNsayAqdGltZXJfY2xrOworCisvKiBjbG9jayBzb3VyY2UgKi8KKworc3RhdGljIGN5Y2xlX3QgbXhjX2dldF9jeWNsZXModm9pZCkKK3sKKwlyZXR1cm4gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ04pOworfQorCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX214YyA9IHsKKwkubmFtZSAJCT0gIm14Y190aW1lcjEiLAorCS5yYXRpbmcJCT0gMjAwLAorCS5yZWFkCQk9IG14Y19nZXRfY3ljbGVzLAorCS5tYXNrCQk9IENMT0NLU09VUkNFX01BU0soMzIpLAorCS5zaGlmdCAJCT0gMjAsCisJLmZsYWdzCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTLAorfTsKKworc3RhdGljIGludCBfX2luaXQgbXhjX2Nsb2Nrc291cmNlX2luaXQodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgY2xvY2s7CisKKwljbG9jayA9IGNsa19nZXRfcmF0ZSh0aW1lcl9jbGspOworCisJY2xvY2tzb3VyY2VfbXhjLm11bHQgPSBjbG9ja3NvdXJjZV9oejJtdWx0KGNsb2NrLAorCQkJCQljbG9ja3NvdXJjZV9teGMuc2hpZnQpOworCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV9teGMpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGNsb2NrIGV2ZW50ICovCisKK3N0YXRpYyBpbnQgbXhjX3NldF9uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZXZ0LAorCQkJICAgICAgc3RydWN0IGNsb2NrX2V2ZW50X2RldmljZSAqdW51c2VkKQoreworCXVuc2lnbmVkIGxvbmcgdGNtcDsKKworCXRjbXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDTikgKyBldnQ7CisJX19yYXdfd3JpdGVsKHRjbXAsIFRJTUVSX0JBU0UgKyBNWENfVENNUCk7CisKKwlyZXR1cm4gKGludCkodGNtcCAtIF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENOKSkgPCAwID8KKwkJCQktRVRJTUUgOiAwOworfQorCisjaWZkZWYgREVCVUcKK3N0YXRpYyBjb25zdCBjaGFyICpjbG9ja19ldmVudF9tb2RlX2xhYmVsW10gPSB7CisJW0NMT0NLX0VWVF9NT0RFX1BFUklPRElDXSA9ICJDTE9DS19FVlRfTU9ERV9QRVJJT0RJQyIsCisJW0NMT0NLX0VWVF9NT0RFX09ORVNIT1RdICA9ICJDTE9DS19FVlRfTU9ERV9PTkVTSE9UIiwKKwlbQ0xPQ0tfRVZUX01PREVfU0hVVERPV05dID0gIkNMT0NLX0VWVF9NT0RFX1NIVVRET1dOIiwKKwlbQ0xPQ0tfRVZUX01PREVfVU5VU0VEXSAgID0gIkNMT0NLX0VWVF9NT0RFX1VOVVNFRCIKK307CisjZW5kaWYgLyogREVCVUcgKi8KKworc3RhdGljIHZvaWQgbXhjX3NldF9tb2RlKGVudW0gY2xvY2tfZXZlbnRfbW9kZSBtb2RlLAorCQkJCXN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJLyoKKwkgKiBUaGUgdGltZXIgaW50ZXJydXB0IGdlbmVyYXRpb24gaXMgZGlzYWJsZWQgYXQgbGVhc3QKKwkgKiBmb3IgZW5vdWdoIHRpbWUgdG8gY2FsbCBteGNfc2V0X25leHRfZXZlbnQoKQorCSAqLworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCS8qIERpc2FibGUgaW50ZXJydXB0IGluIEdQVCBtb2R1bGUgKi8KKwlncHRfaXJxX2Rpc2FibGUoKTsKKworCWlmIChtb2RlICE9IGNsb2NrZXZlbnRfbW9kZSkgeworCQkvKiBTZXQgZXZlbnQgdGltZSBpbnRvIGZhci1mYXIgZnV0dXJlICovCisJCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDTikgLSAzLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENNUCk7CisJCS8qIENsZWFyIHBlbmRpbmcgaW50ZXJydXB0ICovCisJCWdwdF9pcnFfYWNrbm93bGVkZ2UoKTsKKwl9CisKKyNpZmRlZiBERUJVRworCXByaW50ayhLRVJOX0lORk8gIm14Y19zZXRfbW9kZTogY2hhbmdpbmcgbW9kZSBmcm9tICVzIHRvICVzXG4iLAorCQljbG9ja19ldmVudF9tb2RlX2xhYmVsW2Nsb2NrZXZlbnRfbW9kZV0sCisJCWNsb2NrX2V2ZW50X21vZGVfbGFiZWxbbW9kZV0pOworI2VuZGlmIC8qIERFQlVHICovCisKKwkvKiBSZW1lbWJlciB0aW1lciBtb2RlICovCisJY2xvY2tldmVudF9tb2RlID0gbW9kZTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlzd2l0Y2ggKG1vZGUpIHsKKwljYXNlIENMT0NLX0VWVF9NT0RFX1BFUklPRElDOgorCQlwcmludGsoS0VSTl9FUlIibXhjX3NldF9tb2RlOiBQZXJpb2RpYyBtb2RlIGlzIG5vdCAiCisJCQkJInN1cHBvcnRlZCBmb3IgaS5NWFxuIik7CisJCWJyZWFrOworCWNhc2UgQ0xPQ0tfRVZUX01PREVfT05FU0hPVDoKKwkvKgorCSAqIERvIG5vdCBwdXQgb3ZlcmhlYWQgb2YgaW50ZXJydXB0IGVuYWJsZS9kaXNhYmxlIGludG8KKwkgKiBteGNfc2V0X25leHRfZXZlbnQoKSwgdGhlIGNvcmUgaGFzIGFib3V0IDQgbWludXRlcworCSAqIHRvIGNhbGwgbXhjX3NldF9uZXh0X2V2ZW50KCkgb3Igc2h1dGRvd24gY2xvY2sgYWZ0ZXIKKwkgKiBtb2RlIHN3aXRjaGluZworCSAqLworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWdwdF9pcnFfZW5hYmxlKCk7CisJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBDTE9DS19FVlRfTU9ERV9TSFVURE9XTjoKKwljYXNlIENMT0NLX0VWVF9NT0RFX1VOVVNFRDoKKwljYXNlIENMT0NLX0VWVF9NT0RFX1JFU1VNRToKKwkJLyogTGVmdCBldmVudCBzb3VyY2VzIGRpc2FibGVkLCBubyBtb3JlIGludGVycnVwdHMgYXBwZWFyICovCisJCWJyZWFrOworCX0KK30KKworLyoKKyAqIElSUSBoYW5kbGVyIGZvciB0aGUgdGltZXIKKyAqLworc3RhdGljIGlycXJldHVybl90IG14Y190aW1lcl9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgKmV2dCA9ICZjbG9ja2V2ZW50X214YzsKKwl1aW50MzJfdCB0c3RhdDsKKworCXRzdGF0ID0gX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7CisKKwlncHRfaXJxX2Fja25vd2xlZGdlKCk7CisKKwlldnQtPmV2ZW50X2hhbmRsZXIoZXZ0KTsKKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbXhjX3RpbWVyX2lycSA9IHsKKwkubmFtZQkJPSAiaS5NWCBUaW1lciBUaWNrIiwKKwkuZmxhZ3MJCT0gSVJRRl9ESVNBQkxFRCB8IElSUUZfVElNRVIgfCBJUlFGX0lSUVBPTEwsCisJLmhhbmRsZXIJPSBteGNfdGltZXJfaW50ZXJydXB0LAorfTsKKworc3RhdGljIHN0cnVjdCBjbG9ja19ldmVudF9kZXZpY2UgY2xvY2tldmVudF9teGMgPSB7CisJLm5hbWUJCT0gIm14Y190aW1lcjEiLAorCS5mZWF0dXJlcwk9IENMT0NLX0VWVF9GRUFUX09ORVNIT1QsCisJLnNoaWZ0CQk9IDMyLAorCS5zZXRfbW9kZQk9IG14Y19zZXRfbW9kZSwKKwkuc2V0X25leHRfZXZlbnQJPSBteGNfc2V0X25leHRfZXZlbnQsCisJLnJhdGluZwkJPSAyMDAsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBteGNfY2xvY2tldmVudF9pbml0KHZvaWQpCit7CisJdW5zaWduZWQgaW50IGNsb2NrOworCisJY2xvY2sgPSBjbGtfZ2V0X3JhdGUodGltZXJfY2xrKTsKKworCWNsb2NrZXZlbnRfbXhjLm11bHQgPSBkaXZfc2MoY2xvY2ssIE5TRUNfUEVSX1NFQywKKwkJCQkJY2xvY2tldmVudF9teGMuc2hpZnQpOworCWNsb2NrZXZlbnRfbXhjLm1heF9kZWx0YV9ucyA9CisJCQljbG9ja2V2ZW50X2RlbHRhMm5zKDB4ZmZmZmZmZmUsICZjbG9ja2V2ZW50X214Yyk7CisJY2xvY2tldmVudF9teGMubWluX2RlbHRhX25zID0KKwkJCWNsb2NrZXZlbnRfZGVsdGEybnMoMHhmZiwgJmNsb2NrZXZlbnRfbXhjKTsKKworCWNsb2NrZXZlbnRfbXhjLmNwdW1hc2sgPSBjcHVtYXNrX29mX2NwdSgwKTsKKworCWNsb2NrZXZlbnRzX3JlZ2lzdGVyX2RldmljZSgmY2xvY2tldmVudF9teGMpOworCisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgX19pbml0IG14Y190aW1lcl9pbml0KGNvbnN0IGNoYXIgKmNsa190aW1lcikKK3sKKwl0aW1lcl9jbGsgPSBjbGtfZ2V0KE5VTEwsIGNsa190aW1lcik7CisJaWYgKCF0aW1lcl9jbGspIHsKKwkJcHJpbnRrKEtFUk5fRVJSIkNhbm5vdCBkZXRlcm1pbmUgdGltZXIgY2xvY2suIEdpdmluZyB1cC5cbiIpOworCQlyZXR1cm47CisJfQorCisJY2xrX2VuYWJsZSh0aW1lcl9jbGspOworCisJLyoKKwkgKiBJbml0aWFsaXNlIHRvIGEga25vd24gc3RhdGUgKGFsbCB0aW1lcnMgb2ZmLCBhbmQgdGltaW5nIHJlc2V0KQorCSAqLworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RQUkVSKTsgLyogc2VlIGRhdGFzaGVldCBub3RlICovCisKKwlfX3Jhd193cml0ZWwoVENUTF9GUlIgfAkvKiBmcmVlIHJ1bm5pbmcgKi8KKwkJICAgICBUQ1RMX1ZBTCB8CS8qIHNldCBjbG9ja3NvdXJjZSBhbmQgYXJjaCBzcGVjaWZpYyBiaXRzICovCisJCSAgICAgVENUTF9URU4sCS8qIHN0YXJ0IHRoZSB0aW1lciAqLworCQkgICAgIFRJTUVSX0JBU0UgKyBNWENfVENUTCk7CisKKwkvKiBpbml0IGFuZCByZWdpc3RlciB0aGUgdGltZXIgdG8gdGhlIGZyYW1ld29yayAqLworCW14Y19jbG9ja3NvdXJjZV9pbml0KCk7CisJbXhjX2Nsb2NrZXZlbnRfaW5pdCgpOworCisJLyogTWFrZSBpcnFzIGhhcHBlbiAqLworCXNldHVwX2lycShUSU1FUl9JTlRFUlJVUFQsICZteGNfdGltZXJfaXJxKTsKK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL01ha2VmaWxlIGIvYXJjaC9hcm0vcGxhdC1vbWFwL01ha2VmaWxlCmluZGV4IGJjNjM5YTMuLjJjNDA1MWMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvTWFrZWZpbGUKQEAgLTMsNyArMyw3IEBACiAjCiAKICMgQ29tbW9uIHN1cHBvcnQKLW9iai15IDo9IGNvbW1vbi5vIHNyYW0ubyBzcmFtLWZuLm8gY2xvY2subyBkZXZpY2VzLm8gZG1hLm8gbXV4Lm8gZ3Bpby5vIFwKK29iai15IDo9IGNvbW1vbi5vIHNyYW0ubyBjbG9jay5vIGRldmljZXMubyBkbWEubyBtdXgubyBncGlvLm8gXAogCSB1c2IubyBmYi5vCiBvYmotbSA6PQogb2JqLW4gOj0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKaW5kZXggMmRiNTU4MC4uYzJlNzQxZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2Nsb2NrLmMKQEAgLTEsNyArMSw3IEBACiAvKgogICogIGxpbnV4L2FyY2gvYXJtL3BsYXQtb21hcC9jbG9jay5jCiAgKgotICogIENvcHlyaWdodCAoQykgMjAwNCAtIDIwMDUgTm9raWEgY29ycG9yYXRpb24KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgLSAyMDA4IE5va2lhIGNvcnBvcmF0aW9uCiAgKiAgV3JpdHRlbiBieSBUdXVra2EgVGlra2FuZW4gPHR1dWtrYS50aWtrYW5lbkBlbGVrdHJvYml0LmNvbT4KICAqCiAgKiAgTW9kaWZpZWQgZm9yIG9tYXAgc2hhcmVkIGNsb2NrIGZyYW1ld29yayBieSBUb255IExpbmRncmVuIDx0b255QGF0b21pZGUuY29tPgpAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogCkBAIC0zMyw0MSArMzQsNiBAQAogCiBzdGF0aWMgc3RydWN0IGNsa19mdW5jdGlvbnMgKmFyY2hfY2xvY2s7CiAKLSNpZmRlZiBDT05GSUdfUE1fREVCVUcKLQotc3RhdGljIHZvaWQgcHJpbnRfcGFyZW50cyhzdHJ1Y3QgY2xrICpjbGspCi17Ci0Jc3RydWN0IGNsayAqcDsKLQlpbnQgcHJpbnRlZCA9IDA7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHAsICZjbG9ja3MsIG5vZGUpIHsKLQkJaWYgKHAtPnBhcmVudCA9PSBjbGsgJiYgcC0+dXNlY291bnQpIHsKLQkJCWlmICghY2xrLT51c2Vjb3VudCAmJiAhcHJpbnRlZCkgewotCQkJCXByaW50aygiTUlTTUFUQ0g6ICVzXG4iLCBjbGstPm5hbWUpOwotCQkJCXByaW50ZWQgPSAxOwotCQkJfQotCQkJcHJpbnRrKCJcdCUtMTVzXG4iLCBwLT5uYW1lKTsKLQkJfQotCX0KLX0KLQotdm9pZCBjbGtfcHJpbnRfdXNlY291bnRzKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlzdHJ1Y3QgY2xrICpwOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNsb2NrZndfbG9jaywgZmxhZ3MpOwotCWxpc3RfZm9yX2VhY2hfZW50cnkocCwgJmNsb2Nrcywgbm9kZSkgewotCQlpZiAocC0+dXNlY291bnQpCi0JCQlwcmludGsoIiUtMTVzOiAlZFxuIiwgcC0+bmFtZSwgcC0+dXNlY291bnQpOwotCQlwcmludF9wYXJlbnRzKHApOwotCi0JfQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNsb2NrZndfbG9jaywgZmxhZ3MpOwotfQotCi0jZW5kaWYKLQogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKiBTdGFuZGFyZCBjbG9jayBmdW5jdGlvbnMgZGVmaW5lZCBpbiBpbmNsdWRlL2xpbnV4L2Nsay5oCiAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpAQCAtNDQ2LDMgKzQxMiw5MyBAQAogCXJldHVybiAwOwogfQogCisjaWYgZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKQorLyoKKyAqCWRlYnVnZnMgc3VwcG9ydCB0byB0cmFjZSBjbG9jayB0cmVlIGhpZXJhcmNoeSBhbmQgYXR0cmlidXRlcworICovCitzdGF0aWMgc3RydWN0IGRlbnRyeSAqY2xrX2RlYnVnZnNfcm9vdDsKKworc3RhdGljIGludCBjbGtfZGVidWdmc19yZWdpc3Rlcl9vbmUoc3RydWN0IGNsayAqYykKK3sKKwlpbnQgZXJyOworCXN0cnVjdCBkZW50cnkgKmQsICpjaGlsZDsKKwlzdHJ1Y3QgY2xrICpwYSA9IGMtPnBhcmVudDsKKwljaGFyIHNbMjU1XTsKKwljaGFyICpwID0gczsKKworCXAgKz0gc3ByaW50ZihwLCAiJXMiLCBjLT5uYW1lKTsKKwlpZiAoYy0+aWQgIT0gMCkKKwkJc3ByaW50ZihwLCAiOiVkIiwgYy0+aWQpOworCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIocywgcGEgPyBwYS0+ZGVudCA6IGNsa19kZWJ1Z2ZzX3Jvb3QpOworCWlmIChJU19FUlIoZCkpCisJCXJldHVybiBQVFJfRVJSKGQpOworCWMtPmRlbnQgPSBkOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX3U4KCJ1c2Vjb3VudCIsIFNfSVJVR08sIGMtPmRlbnQsICh1OCAqKSZjLT51c2Vjb3VudCk7CisJaWYgKElTX0VSUihkKSkgeworCQllcnIgPSBQVFJfRVJSKGQpOworCQlnb3RvIGVycl9vdXQ7CisJfQorCWQgPSBkZWJ1Z2ZzX2NyZWF0ZV91MzIoInJhdGUiLCBTX0lSVUdPLCBjLT5kZW50LCAodTMyICopJmMtPnJhdGUpOworCWlmIChJU19FUlIoZCkpIHsKKwkJZXJyID0gUFRSX0VSUihkKTsKKwkJZ290byBlcnJfb3V0OworCX0KKwlkID0gZGVidWdmc19jcmVhdGVfeDMyKCJmbGFncyIsIFNfSVJVR08sIGMtPmRlbnQsICh1MzIgKikmYy0+ZmxhZ3MpOworCWlmIChJU19FUlIoZCkpIHsKKwkJZXJyID0gUFRSX0VSUihkKTsKKwkJZ290byBlcnJfb3V0OworCX0KKwlyZXR1cm4gMDsKKworZXJyX291dDoKKwlkID0gYy0+ZGVudDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNoaWxkLCAmZC0+ZF9zdWJkaXJzLCBkX3UuZF9jaGlsZCkKKwkJZGVidWdmc19yZW1vdmUoY2hpbGQpOworCWRlYnVnZnNfcmVtb3ZlKGMtPmRlbnQpOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY2xrX2RlYnVnZnNfcmVnaXN0ZXIoc3RydWN0IGNsayAqYykKK3sKKwlpbnQgZXJyOworCXN0cnVjdCBjbGsgKnBhID0gYy0+cGFyZW50OworCisJaWYgKHBhICYmICFwYS0+ZGVudCkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3RlcihwYSk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKworCWlmICghYy0+ZGVudCkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3Rlcl9vbmUoYyk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgY2xrX2RlYnVnZnNfaW5pdCh2b2lkKQoreworCXN0cnVjdCBjbGsgKmM7CisJc3RydWN0IGRlbnRyeSAqZDsKKwlpbnQgZXJyOworCisJZCA9IGRlYnVnZnNfY3JlYXRlX2RpcigiY2xvY2siLCBOVUxMKTsKKwlpZiAoSVNfRVJSKGQpKQorCQlyZXR1cm4gUFRSX0VSUihkKTsKKwljbGtfZGVidWdmc19yb290ID0gZDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoYywgJmNsb2Nrcywgbm9kZSkgeworCQllcnIgPSBjbGtfZGVidWdmc19yZWdpc3RlcihjKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXJyX291dDsKKwl9CisJcmV0dXJuIDA7CitlcnJfb3V0OgorCWRlYnVnZnNfcmVtb3ZlKGNsa19kZWJ1Z2ZzX3Jvb3QpOyAvKiBSRVZJU0lUOiBDbGVhbnVwIGNvcnJlY3RseSAqLworCXJldHVybiBlcnI7Cit9CitsYXRlX2luaXRjYWxsKGNsa19kZWJ1Z2ZzX2luaXQpOworCisjZW5kaWYgLyogZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL2NvbW1vbi5jIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2NvbW1vbi5jCmluZGV4IGJkMWNlZjIuLjhkMDQ5MjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9jb21tb24uYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvY29tbW9uLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAorI2luY2x1ZGUgPGFzbS9hcmNoL2NvbW1vbi5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvY29udHJvbC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL211eC5oPgpAQCAtMjQxLDMwICsyNDIsNzAgQEAKIAogLyogR2xvYmFsIGFkZHJlc3MgYmFzZSBzZXR1cCBjb2RlICovCiAKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorCitzdGF0aWMgc3RydWN0IG9tYXBfZ2xvYmFscyAqb21hcDJfZ2xvYmFsczsKKworc3RhdGljIHZvaWQgX19pbml0IF9fb21hcDJfc2V0X2dsb2JhbHModm9pZCkKK3sKKwlvbWFwMl9zZXRfZ2xvYmFsc19tZW1vcnkob21hcDJfZ2xvYmFscyk7CisJb21hcDJfc2V0X2dsb2JhbHNfY29udHJvbChvbWFwMl9nbG9iYWxzKTsKKwlvbWFwMl9zZXRfZ2xvYmFsc19wcmNtKG9tYXAyX2dsb2JhbHMpOworfQorCisjZW5kaWYKKwogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MjApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAyNDJ4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0ODAxNDAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDI0MjBfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMjQyMF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDIwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMjQyeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAyNDIwX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAyNDIwX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMjQyMF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDI0MnhfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0MzApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAyNDN4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0OTAwYTAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDNYX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDI0M1hfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMjQzWF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDMwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAyNDMwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMjQzeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAyNDNYX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAyNDNYX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMjQzWF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDI0M3hfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0MzApCisKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9nbG9iYWxzIG9tYXAzNDN4X2dsb2JhbHMgPSB7CisJLnRhcAk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoMHg0ODMwQTAwMCksCisJLnNkcmMJPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDNYX1NEUkNfQkFTRSksCisJLnNtcwk9IChfX2ZvcmNlIHZvaWQgX19pb21lbSAqKU9NQVAyX0lPX0FERFJFU1MoT01BUDM0M1hfU01TX0JBU0UpLAorCS5jdHJsCT0gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopT01BUDJfSU9fQUREUkVTUyhPTUFQMzQzWF9DVFJMX0JBU0UpLAorCS5wcm0JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDMwX1BSTV9CQVNFKSwKKwkuY20JPSAoX19mb3JjZSB2b2lkIF9faW9tZW0gKilPTUFQMl9JT19BRERSRVNTKE9NQVAzNDMwX0NNX0JBU0UpLAorfTsKKwogdm9pZCBfX2luaXQgb21hcDJfc2V0X2dsb2JhbHNfMzQzeCh2b2lkKQogewotCW9tYXAyX3NkcmNfYmFzZSA9IE9NQVAzNDNYX1NEUkNfQkFTRTsKLQlvbWFwMl9zbXNfYmFzZSA9IE9NQVAzNDNYX1NNU19CQVNFOwotCW9tYXBfY3RybF9iYXNlX3NldChPTUFQMzQzWF9DVFJMX0JBU0UpOworCW9tYXAyX2dsb2JhbHMgPSAmb21hcDM0M3hfZ2xvYmFsczsKKwlfX29tYXAyX3NldF9nbG9iYWxzKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RldmljZXMuYyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kZXZpY2VzLmMKaW5kZXggNGE1M2Y5Yi4uODEwMDJiNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RldmljZXMuYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvZGV2aWNlcy5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21lbmVsYXVzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbWNic3AuaD4KIAogI2lmCWRlZmluZWQoQ09ORklHX09NQVBfRFNQKSB8fCBkZWZpbmVkKENPTkZJR19PTUFQX0RTUF9NT0RVTEUpCiAKQEAgLTE0NSw2ICsxNDYsNTMgQEAKICNlbmRpZgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworI2lmIGRlZmluZWQoQ09ORklHX09NQVBfTUNCU1ApIHx8IGRlZmluZWQoQ09ORklHX09NQVBfTUNCU1BfTU9EVUxFKQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKm9tYXBfbWNic3BfZGV2aWNlczsKKwordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKQoreworCWludCBpOworCisJaWYgKHNpemUgPiBPTUFQX01BWF9NQ0JTUF9DT1VOVCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJSZWdpc3RlcmVkIHRvbyBtYW55IE1jQlNQcyBwbGF0Zm9ybV9kYXRhLiIKKwkJCSIgVXNpbmcgbWF4aW11bSAoJWQpIGF2YWlsYWJsZS5cbiIsCisJCQlPTUFQX01BWF9NQ0JTUF9DT1VOVCk7CisJCXNpemUgPSBPTUFQX01BWF9NQ0JTUF9DT1VOVDsKKwl9CisKKwlvbWFwX21jYnNwX2RldmljZXMgPSBremFsbG9jKHNpemUgKiBzaXplb2Yoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKSwKKwkJCQkgICAgIEdGUF9LRVJORUwpOworCWlmICghb21hcF9tY2JzcF9kZXZpY2VzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IHJlZ2lzdGVyIE1jQlNQIGRldmljZXNcbiIpOworCQlyZXR1cm47CisJfQorCisJZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgeworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpuZXdfbWNic3A7CisJCWludCByZXQ7CisKKwkJbmV3X21jYnNwID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJvbWFwLW1jYnNwIiwgaSArIDEpOworCQlpZiAoIW5ld19tY2JzcCkKKwkJCWNvbnRpbnVlOworCQluZXdfbWNic3AtPmRldi5wbGF0Zm9ybV9kYXRhID0gJmNvbmZpZ1tpXTsKKwkJcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChuZXdfbWNic3ApOworCQlpZiAocmV0KSB7CisJCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KG5ld19tY2JzcCk7CisJCQljb250aW51ZTsKKwkJfQorCQlvbWFwX21jYnNwX2RldmljZXNbaV0gPSBuZXdfbWNic3A7CisJfQorfQorCisjZWxzZQordm9pZCBvbWFwX21jYnNwX3JlZ2lzdGVyX2JvYXJkX2NmZyhzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpjb25maWcsCisJCQkJCWludCBzaXplKQoreyAgfQorI2VuZGlmCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKICNpZglkZWZpbmVkKENPTkZJR19NTUNfT01BUCkgfHwgZGVmaW5lZChDT05GSUdfTU1DX09NQVBfTU9EVUxFKQogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKaW5kZXggMzljNjM3Yi4uZmFjOGU5OSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL2RtYS5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC9kbWEuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBsaW51eC9hcmNoL2FybS9wbGF0LW9tYXAvZG1hLmMKICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgTm9raWEgQ29ycG9yYXRpb24KKyAqIENvcHlyaWdodCAoQykgMjAwMyAtIDIwMDggTm9raWEgQ29ycG9yYXRpb24KICAqIEF1dGhvcjogSnVoYSBZcmrDtmzDpCA8anVoYS55cmpvbGFAbm9raWEuY29tPgogICogRE1BIGNoYW5uZWwgbGlua2luZyBmb3IgMTYxMCBieSBTYW11ZWwgT3J0aXogPHNhbXVlbC5vcnRpekBub2tpYS5jb20+CiAgKiBHcmFwaGljcyBETUEgYW5kIExDRCBETUEgZ3JhcGhpY3MgdHJhbmZvcm1hdGlvbnMKQEAgLTI1LDExICsyNSwxMSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC90Yy5oPgogCkBAIC00MywxMyArNDMsMTMgQEAKIGVudW0geyBETUFfQ0hBSU5fU1RBUlRFRCwgRE1BX0NIQUlOX05PVFNUQVJURUQgfTsKICNlbmRpZgogCi0jZGVmaW5lIE9NQVBfRE1BX0FDVElWRQkJMHgwMQotI2RlZmluZSBPTUFQX0RNQV9DQ1JfRU4JCSgxIDw8IDcpCisjZGVmaW5lIE9NQVBfRE1BX0FDVElWRQkJCTB4MDEKKyNkZWZpbmUgT01BUF9ETUFfQ0NSX0VOCQkJKDEgPDwgNykKICNkZWZpbmUgT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLCTB4ZmZlCiAKLSNkZWZpbmUgT01BUF9GVU5DX01VWF9BUk1fQkFTRQkoMHhmZmZlMTAwMCArIDB4ZWMpCisjZGVmaW5lIE9NQVBfRlVOQ19NVVhfQVJNX0JBU0UJCSgweGZmZmUxMDAwICsgMHhlYykKIAotc3RhdGljIGludCBlbmFibGVfMTUxMF9tb2RlID0gMDsKK3N0YXRpYyBpbnQgZW5hYmxlXzE1MTBfbW9kZTsKIAogc3RydWN0IG9tYXBfZG1hX2xjaCB7CiAJaW50IG5leHRfbGNoOwpAQCAtNTcsNyArNTcsNyBAQAogCXUxNiBzYXZlZF9jc3I7CiAJdTE2IGVuYWJsZWRfaXJxczsKIAljb25zdCBjaGFyICpkZXZfbmFtZTsKLQl2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpOwogCXZvaWQgKmRhdGE7CiAKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKQEAgLTcyLDcgKzcyLDYgQEAKIAlsb25nIGZsYWdzOwogfTsKIAotI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQogc3RydWN0IGRtYV9saW5rX2luZm8gewogCWludCAqbGlua2VkX2RtYWNoX3E7CiAJaW50IG5vX29mX2xjaHNfbGlua2VkOwpAQCAtODYsNyArODUsOSBAQAogCiB9OwogCi1zdGF0aWMgc3RydWN0IGRtYV9saW5rX2luZm8gZG1hX2xpbmtlZF9sY2hbT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVF07CitzdGF0aWMgc3RydWN0IGRtYV9saW5rX2luZm8gKmRtYV9saW5rZWRfbGNoOworCisjaWZuZGVmIENPTkZJR19BUkNIX09NQVAxCiAKIC8qIENoYWluIGhhbmRsaW5nIG1hY3JvcyAqLwogI2RlZmluZSBPTUFQX0RNQV9DSEFJTl9RSU5JVChjaGFpbl9pZCkJCQkJCVwKQEAgLTExOSwxMiArMTIwLDE1IEBACiAJCWRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5xX2NvdW50Kys7IFwKIAl9IHdoaWxlICgwKQogI2VuZGlmCisKK3N0YXRpYyBpbnQgZG1hX2xjaF9jb3VudDsKIHN0YXRpYyBpbnQgZG1hX2NoYW5fY291bnQ7CiAKIHN0YXRpYyBzcGlubG9ja190IGRtYV9jaGFuX2xvY2s7Ci1zdGF0aWMgc3RydWN0IG9tYXBfZG1hX2xjaCBkbWFfY2hhbltPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKK3N0YXRpYyBzdHJ1Y3Qgb21hcF9kbWFfbGNoICpkbWFfY2hhbjsKK3N0YXRpYyB2b2lkIF9faW9tZW0gKm9tYXBfZG1hX2Jhc2U7CiAKLXN0YXRpYyBjb25zdCB1OCBvbWFwMV9kbWFfaXJxW09NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdID0geworc3RhdGljIGNvbnN0IHU4IG9tYXAxX2RtYV9pcnFbT01BUDFfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdID0gewogCUlOVF9ETUFfQ0gwXzYsIElOVF9ETUFfQ0gxXzcsIElOVF9ETUFfQ0gyXzgsIElOVF9ETUFfQ0gzLAogCUlOVF9ETUFfQ0g0LCBJTlRfRE1BX0NINSwgSU5UXzE2MTBfRE1BX0NINiwgSU5UXzE2MTBfRE1BX0NINywKIAlJTlRfMTYxMF9ETUFfQ0g4LCBJTlRfMTYxMF9ETUFfQ0g5LCBJTlRfMTYxMF9ETUFfQ0gxMCwKQEAgLTEzOSw2ICsxNDMsMjQgQEAKICNkZWZpbmUgUkVWSVNJVF8yNFhYKCkJCXByaW50ayhLRVJOX0VSUiAiRklYTUU6IG5vICVzIG9uIDI0eHhcbiIsIFwKIAkJCQkJCV9fZnVuY19fKTsKIAorI2RlZmluZSBkbWFfcmVhZChyZWcpCQkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCXUzMiBfX3ZhbDsJCQkJCQkJXAorCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkJCQkJCVwKKwkJX192YWwgPSBfX3Jhd19yZWFkdyhvbWFwX2RtYV9iYXNlICsgT01BUDFfRE1BXyMjcmVnKTsJXAorCWVsc2UJCQkJCQkJCVwKKwkJX192YWwgPSBfX3Jhd19yZWFkbChvbWFwX2RtYV9iYXNlICsgT01BUF9ETUE0XyMjcmVnKTsJXAorCV9fdmFsOwkJCQkJCQkJXAorfSkKKworI2RlZmluZSBkbWFfd3JpdGUodmFsLCByZWcpCQkJCQkJXAorKHsJCQkJCQkJCQlcCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQkJCQkJXAorCQlfX3Jhd193cml0ZXcoKHUxNikodmFsKSwgb21hcF9kbWFfYmFzZSArIE9NQVAxX0RNQV8jI3JlZyk7IFwKKwllbHNlCQkJCQkJCQlcCisJCV9fcmF3X3dyaXRlbCgodmFsKSwgb21hcF9kbWFfYmFzZSArIE9NQVBfRE1BNF8jI3JlZyk7CVwKK30pCisKICNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAogLyogUmV0dXJucyAxIGlmIHRoZSBETUEgbW9kdWxlIGlzIGluIE9NQVAxNTEwLWNvbXBhdGlibGUgbW9kZSwgMCBvdGhlcndpc2UgKi8KIGludCBvbWFwX2RtYV9pbl8xNTEwX21vZGUodm9pZCkKQEAgLTE3MywxMyArMTk1LDE0IEBACiAjZGVmaW5lIHNldF9nZG1hX2RldihyZXEsIGRldikJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKIAorLyogT21hcDEgb25seSAqLwogc3RhdGljIHZvaWQgY2xlYXJfbGNoX3JlZ3MoaW50IGxjaCkKIHsKIAlpbnQgaTsKLQl1MzIgbGNoX2Jhc2UgPSBPTUFQX0RNQV9CQVNFICsgbGNoICogMHg0MDsKKwl2b2lkIF9faW9tZW0gKmxjaF9iYXNlID0gb21hcF9kbWFfYmFzZSArIE9NQVAxX0RNQV9DSF9CQVNFKGxjaCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgMHgyYzsgaSArPSAyKQotCQlvbWFwX3dyaXRldygwLCBsY2hfYmFzZSArIGkpOworCQlfX3Jhd193cml0ZXcoMCwgbGNoX2Jhc2UgKyBpKTsKIH0KIAogdm9pZCBvbWFwX3NldF9kbWFfcHJpb3JpdHkoaW50IGxjaCwgaW50IGRzdF9wb3J0LCBpbnQgcHJpb3JpdHkpCkBAIC0yMTIsMzMgKzIzNSw0OSBAQAogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgeworCQl1MzIgY2NyOworCisJCWNjciA9IGRtYV9yZWFkKENDUihsY2gpKTsKIAkJaWYgKHByaW9yaXR5KQotCQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9ICgxIDw8IDYpOworCQkJY2NyIHw9ICgxIDw8IDYpOwogCQllbHNlCi0JCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfigxIDw8IDYpOworCQkJY2NyICY9IH4oMSA8PCA2KTsKKwkJZG1hX3dyaXRlKGNjciwgQ0NSKGxjaCkpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3ByaW9yaXR5KTsKIAogdm9pZCBvbWFwX3NldF9kbWFfdHJhbnNmZXJfcGFyYW1zKGludCBsY2gsIGludCBkYXRhX3R5cGUsIGludCBlbGVtX2NvdW50LAogCQkJCSAgaW50IGZyYW1lX2NvdW50LCBpbnQgc3luY19tb2RlLAogCQkJCSAgaW50IGRtYV90cmlnZ2VyLCBpbnQgc3JjX29yX2RzdF9zeW5jaCkKIHsKLQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4weDAzOwotCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgfD0gZGF0YV90eXBlOworCXUzMiBsOworCisJbCA9IGRtYV9yZWFkKENTRFAobGNoKSk7CisJbCAmPSB+MHgwMzsKKwlsIHw9IGRhdGFfdHlwZTsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfigxIDw8IDUpOwotCQlpZiAoc3luY19tb2RlID09IE9NQVBfRE1BX1NZTkNfRlJBTUUpCi0JCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgfD0gMSA8PCA1OworCQl1MTYgY2NyOwogCi0JCU9NQVAxX0RNQV9DQ1IyX1JFRyhsY2gpICY9IH4oMSA8PCAyKTsKKwkJY2NyID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCQljY3IgJj0gfigxIDw8IDUpOworCQlpZiAoc3luY19tb2RlID09IE9NQVBfRE1BX1NZTkNfRlJBTUUpCisJCQljY3IgfD0gMSA8PCA1OworCQlkbWFfd3JpdGUoY2NyLCBDQ1IobGNoKSk7CisKKwkJY2NyID0gZG1hX3JlYWQoQ0NSMihsY2gpKTsKKwkJY2NyICY9IH4oMSA8PCAyKTsKIAkJaWYgKHN5bmNfbW9kZSA9PSBPTUFQX0RNQV9TWU5DX0JMT0NLKQotCQkJT01BUDFfRE1BX0NDUjJfUkVHKGxjaCkgfD0gMSA8PCAyOworCQkJY2NyIHw9IDEgPDwgMjsKKwkJZG1hX3dyaXRlKGNjciwgQ0NSMihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgZG1hX3RyaWdnZXIpIHsKLQkJdTMyIHZhbCA9IE9NQVBfRE1BX0NDUl9SRUcobGNoKTsKKwkJdTMyIHZhbDsKIAorCQl2YWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CiAJCXZhbCAmPSB+KDMgPDwgMTkpOwogCQlpZiAoZG1hX3RyaWdnZXIgPiA2MykKIAkJCXZhbCB8PSAxIDw8IDIwOwpAQCAtMjYzLDEyICszMDIsMTMgQEAKIAkJZWxzZQogCQkJdmFsICY9IH4oMSA8PCAyNCk7CS8qIGRlc3Qgc3luY2ggKi8KIAotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB2YWw7CisJCWRtYV93cml0ZSh2YWwsIENDUihsY2gpKTsKIAl9CiAKLQlPTUFQX0RNQV9DRU5fUkVHKGxjaCkgPSBlbGVtX2NvdW50OwotCU9NQVBfRE1BX0NGTl9SRUcobGNoKSA9IGZyYW1lX2NvdW50OworCWRtYV93cml0ZShlbGVtX2NvdW50LCBDRU4obGNoKSk7CisJZG1hX3dyaXRlKGZyYW1lX2NvdW50LCBDRk4obGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV90cmFuc2Zlcl9wYXJhbXMpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY29sb3JfbW9kZSBtb2RlLCB1MzIgY29sb3IpCiB7CkBAIC0yODEsNyArMzIxLDkgQEAKIAkJcmV0dXJuOwogCX0KIAotCXcgPSBPTUFQMV9ETUFfQ0NSMl9SRUcobGNoKSAmIH4weDAzOworCXcgPSBkbWFfcmVhZChDQ1IyKGxjaCkpOworCXcgJj0gfjB4MDM7CisKIAlzd2l0Y2ggKG1vZGUpIHsKIAljYXNlIE9NQVBfRE1BX0NPTlNUQU5UX0ZJTEw6CiAJCXcgfD0gMHgwMTsKQEAgLTI5NCw1MiArMzM2LDgxIEBACiAJZGVmYXVsdDoKIAkJQlVHKCk7CiAJfQotCU9NQVAxX0RNQV9DQ1IyX1JFRyhsY2gpID0gdzsKKwlkbWFfd3JpdGUodywgQ0NSMihsY2gpKTsKIAotCXcgPSBPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGxjaCkgJiB+MHgwZjsKKwl3ID0gZG1hX3JlYWQoTENIX0NUUkwobGNoKSk7CisJdyAmPSB+MHgwZjsKIAkvKiBEZWZhdWx0IGlzIGNoYW5uZWwgdHlwZSAyRCAqLwogCWlmIChtb2RlKSB7Ci0JCU9NQVAxX0RNQV9DT0xPUl9MX1JFRyhsY2gpID0gKHUxNiljb2xvcjsKLQkJT01BUDFfRE1BX0NPTE9SX1VfUkVHKGxjaCkgPSAodTE2KShjb2xvciA+PiAxNik7CisJCWRtYV93cml0ZSgodTE2KWNvbG9yLCBDT0xPUl9MKGxjaCkpOworCQlkbWFfd3JpdGUoKHUxNikoY29sb3IgPj4gMTYpLCBDT0xPUl9VKGxjaCkpOwogCQl3IHw9IDE7CQkvKiBDaGFubmVsIHR5cGUgRyAqLwogCX0KLQlPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGxjaCkgPSB3OworCWRtYV93cml0ZSh3LCBMQ0hfQ1RSTChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2NvbG9yX21vZGUpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV93cml0ZV9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfd3JpdGVfbW9kZSBtb2RlKQogewogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4oMHgzIDw8IDE2KTsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSAobW9kZSA8PCAxNik7CisJCXUzMiBjc2RwOworCisJCWNzZHAgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCQljc2RwICY9IH4oMHgzIDw8IDE2KTsKKwkJY3NkcCB8PSAobW9kZSA8PCAxNik7CisJCWRtYV93cml0ZShjc2RwLCBDU0RQKGxjaCkpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3dyaXRlX21vZGUpOworCit2b2lkIG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9jaGFubmVsX21vZGUgbW9kZSkKK3sKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCXUzMiBsOworCisJCWwgPSBkbWFfcmVhZChMQ0hfQ1RSTChsY2gpKTsKKwkJbCAmPSB+MHg3OworCQlsIHw9IG1vZGU7CisJCWRtYV93cml0ZShsLCBMQ0hfQ1RSTChsY2gpKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUpOwogCiAvKiBOb3RlIHRoYXQgc3JjX3BvcnQgaXMgb25seSBmb3Igb21hcDEgKi8KIHZvaWQgb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoaW50IGxjaCwgaW50IHNyY19wb3J0LCBpbnQgc3JjX2Ftb2RlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIHNyY19zdGFydCwKIAkJCSAgICAgaW50IHNyY19laSwgaW50IHNyY19maSkKIHsKKwl1MzIgbDsKKwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpICY9IH4oMHgxZiA8PCAyKTsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSBzcmNfcG9ydCA8PCAyOworCQl1MTYgdzsKKworCQl3ID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwkJdyAmPSB+KDB4MWYgPDwgMik7CisJCXcgfD0gc3JjX3BvcnQgPDwgMjsKKwkJZG1hX3dyaXRlKHcsIENTRFAobGNoKSk7CiAJfQogCi0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpICY9IH4oMHgwMyA8PCAxMik7Ci0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9IHNyY19hbW9kZSA8PCAxMjsKKwlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCWwgJj0gfigweDAzIDw8IDEyKTsKKwlsIHw9IHNyY19hbW9kZSA8PCAxMjsKKwlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOwogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCU9NQVAxX0RNQV9DU1NBX1VfUkVHKGxjaCkgPSBzcmNfc3RhcnQgPj4gMTY7Ci0JCU9NQVAxX0RNQV9DU1NBX0xfUkVHKGxjaCkgPSBzcmNfc3RhcnQ7CisJCWRtYV93cml0ZShzcmNfc3RhcnQgPj4gMTYsIENTU0FfVShsY2gpKTsKKwkJZG1hX3dyaXRlKCh1MTYpc3JjX3N0YXJ0LCBDU1NBX0wobGNoKSk7CiAJfQogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQotCQlPTUFQMl9ETUFfQ1NTQV9SRUcobGNoKSA9IHNyY19zdGFydDsKKwkJZG1hX3dyaXRlKHNyY19zdGFydCwgQ1NTQShsY2gpKTsKIAotCU9NQVBfRE1BX0NTRUlfUkVHKGxjaCkgPSBzcmNfZWk7Ci0JT01BUF9ETUFfQ1NGSV9SRUcobGNoKSA9IHNyY19maTsKKwlkbWFfd3JpdGUoc3JjX2VpLCBDU0VJKGxjaCkpOworCWRtYV93cml0ZShzcmNfZmksIENTRkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKTsKIAotdm9pZCBvbWFwX3NldF9kbWFfcGFyYW1zKGludCBsY2gsIHN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqIHBhcmFtcykKK3ZvaWQgb21hcF9zZXRfZG1hX3BhcmFtcyhpbnQgbGNoLCBzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgKnBhcmFtcykKIHsKIAlvbWFwX3NldF9kbWFfdHJhbnNmZXJfcGFyYW1zKGxjaCwgcGFyYW1zLT5kYXRhX3R5cGUsCiAJCQkJICAgICBwYXJhbXMtPmVsZW1fY291bnQsIHBhcmFtcy0+ZnJhbWVfY291bnQsCkBAIC0zNTYsMjggKzQyNywzNyBAQAogCQlvbWFwX2RtYV9zZXRfcHJpb19sY2gobGNoLCBwYXJhbXMtPnJlYWRfcHJpbywKIAkJCQkgICAgICBwYXJhbXMtPndyaXRlX3ByaW8pOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfcGFyYW1zKTsKIAogdm9pZCBvbWFwX3NldF9kbWFfc3JjX2luZGV4KGludCBsY2gsIGludCBlaWR4LCBpbnQgZmlkeCkKIHsKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKLQkJUkVWSVNJVF8yNFhYKCk7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQogCQlyZXR1cm47Ci0JfQotCU9NQVBfRE1BX0NTRUlfUkVHKGxjaCkgPSBlaWR4OwotCU9NQVBfRE1BX0NTRklfUkVHKGxjaCkgPSBmaWR4OworCisJZG1hX3dyaXRlKGVpZHgsIENTRUkobGNoKSk7CisJZG1hX3dyaXRlKGZpZHgsIENTRkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfaW5kZXgpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9zcmNfZGF0YV9wYWNrKGludCBsY2gsIGludCBlbmFibGUpCiB7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDEgPDwgNik7CisJdTMyIGw7CisKKwlsID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwlsICY9IH4oMSA8PCA2KTsKIAlpZiAoZW5hYmxlKQotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9ICgxIDw8IDYpOworCQlsIHw9ICgxIDw8IDYpOworCWRtYV93cml0ZShsLCBDU0RQKGxjaCkpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfc3JjX2RhdGFfcGFjayk7CiAKIHZvaWQgb21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKQogewogCXVuc2lnbmVkIGludCBidXJzdCA9IDA7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MDMgPDwgNyk7CisJdTMyIGw7CisKKwlsID0gZG1hX3JlYWQoQ1NEUChsY2gpKTsKKwlsICY9IH4oMHgwMyA8PCA3KTsKIAogCXN3aXRjaCAoYnVyc3RfbW9kZSkgewogCWNhc2UgT01BUF9ETUFfREFUQV9CVVJTVF9ESVM6CkBAIC00MDgsNTUgKzQ4OCw3MyBAQAogCWRlZmF1bHQ6CiAJCUJVRygpOwogCX0KLQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9IChidXJzdCA8PCA3KTsKKworCWwgfD0gKGJ1cnN0IDw8IDcpOworCWRtYV93cml0ZShsLCBDU0RQKGxjaCkpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfc3JjX2J1cnN0X21vZGUpOwogCiAvKiBOb3RlIHRoYXQgZGVzdF9wb3J0IGlzIG9ubHkgZm9yIE9NQVAxICovCiB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyhpbnQgbGNoLCBpbnQgZGVzdF9wb3J0LCBpbnQgZGVzdF9hbW9kZSwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZGVzdF9zdGFydCwKIAkJCSAgICAgIGludCBkc3RfZWksIGludCBkc3RfZmkpCiB7CisJdTMyIGw7CisKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MWYgPDwgOSk7Ci0JCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgfD0gZGVzdF9wb3J0IDw8IDk7CisJCWwgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCQlsICY9IH4oMHgxZiA8PCA5KTsKKwkJbCB8PSBkZXN0X3BvcnQgPDwgOTsKKwkJZG1hX3dyaXRlKGwsIENTRFAobGNoKSk7CiAJfQogCi0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpICY9IH4oMHgwMyA8PCAxNCk7Ci0JT01BUF9ETUFfQ0NSX1JFRyhsY2gpIHw9IGRlc3RfYW1vZGUgPDwgMTQ7CisJbCA9IGRtYV9yZWFkKENDUihsY2gpKTsKKwlsICY9IH4oMHgwMyA8PCAxNCk7CisJbCB8PSBkZXN0X2Ftb2RlIDw8IDE0OworCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUDFfRE1BX0NEU0FfVV9SRUcobGNoKSA9IGRlc3Rfc3RhcnQgPj4gMTY7Ci0JCU9NQVAxX0RNQV9DRFNBX0xfUkVHKGxjaCkgPSBkZXN0X3N0YXJ0OworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCA+PiAxNiwgQ0RTQV9VKGxjaCkpOworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCwgQ0RTQV9MKGxjaCkpOwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJT01BUDJfRE1BX0NEU0FfUkVHKGxjaCkgPSBkZXN0X3N0YXJ0OworCQlkbWFfd3JpdGUoZGVzdF9zdGFydCwgQ0RTQShsY2gpKTsKIAotCU9NQVBfRE1BX0NERUlfUkVHKGxjaCkgPSBkc3RfZWk7Ci0JT01BUF9ETUFfQ0RGSV9SRUcobGNoKSA9IGRzdF9maTsKKwlkbWFfd3JpdGUoZHN0X2VpLCBDREVJKGxjaCkpOworCWRtYV93cml0ZShkc3RfZmksIENERkkobGNoKSk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X3BhcmFtcyk7CiAKIHZvaWQgb21hcF9zZXRfZG1hX2Rlc3RfaW5kZXgoaW50IGxjaCwgaW50IGVpZHgsIGludCBmaWR4KQogewotCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewotCQlSRVZJU0lUXzI0WFgoKTsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXJldHVybjsKLQl9Ci0JT01BUF9ETUFfQ0RFSV9SRUcobGNoKSA9IGVpZHg7Ci0JT01BUF9ETUFfQ0RGSV9SRUcobGNoKSA9IGZpZHg7CisKKwlkbWFfd3JpdGUoZWlkeCwgQ0RFSShsY2gpKTsKKwlkbWFfd3JpdGUoZmlkeCwgQ0RGSShsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfaW5kZXgpOwogCiB2b2lkIG9tYXBfc2V0X2RtYV9kZXN0X2RhdGFfcGFjayhpbnQgbGNoLCBpbnQgZW5hYmxlKQogewotCU9NQVBfRE1BX0NTRFBfUkVHKGxjaCkgJj0gfigxIDw8IDEzKTsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDU0RQKGxjaCkpOworCWwgJj0gfigxIDw8IDEzKTsKIAlpZiAoZW5hYmxlKQotCQlPTUFQX0RNQV9DU0RQX1JFRyhsY2gpIHw9IDEgPDwgMTM7CisJCWwgfD0gMSA8PCAxMzsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfZGF0YV9wYWNrKTsKIAogdm9pZCBvbWFwX3NldF9kbWFfZGVzdF9idXJzdF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKQogewogCXVuc2lnbmVkIGludCBidXJzdCA9IDA7Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSAmPSB+KDB4MDMgPDwgMTQpOworCXUzMiBsOworCisJbCA9IGRtYV9yZWFkKENTRFAobGNoKSk7CisJbCAmPSB+KDB4MDMgPDwgMTQpOwogCiAJc3dpdGNoIChidXJzdF9tb2RlKSB7CiAJY2FzZSBPTUFQX0RNQV9EQVRBX0JVUlNUX0RJUzoKQEAgLTQ4Niw4ICs1ODQsMTAgQEAKIAkJQlVHKCk7CiAJCXJldHVybjsKIAl9Ci0JT01BUF9ETUFfQ1NEUF9SRUcobGNoKSB8PSAoYnVyc3QgPDwgMTQpOworCWwgfD0gKGJ1cnN0IDw8IDE0KTsKKwlkbWFfd3JpdGUobCwgQ1NEUChsY2gpKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX2Rlc3RfYnVyc3RfbW9kZSk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBvbWFwX2VuYWJsZV9jaGFubmVsX2lycShpbnQgbGNoKQogewpAQCAtNDk1LDYyICs1OTUsNzQgQEAKIAogCS8qIENsZWFyIENTUiAqLwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKLQkJc3RhdHVzID0gT01BUF9ETUFfQ1NSX1JFRyhsY2gpOworCQlzdGF0dXMgPSBkbWFfcmVhZChDU1IobGNoKSk7CiAJZWxzZSBpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCi0JCU9NQVBfRE1BX0NTUl9SRUcobGNoKSA9IE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSzsKKwkJZG1hX3dyaXRlKE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSywgQ1NSKGxjaCkpOwogCiAJLyogRW5hYmxlIHNvbWUgbmljZSBpbnRlcnJ1cHRzLiAqLwotCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSBkbWFfY2hhbltsY2hdLmVuYWJsZWRfaXJxczsKKwlkbWFfd3JpdGUoZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMsIENJQ1IobGNoKSk7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZGlzYWJsZV9jaGFubmVsX2lycShpbnQgbGNoKQogewogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJT01BUF9ETUFfQ0lDUl9SRUcobGNoKSA9IDA7CisJCWRtYV93cml0ZSgwLCBDSUNSKGxjaCkpOwogfQogCiB2b2lkIG9tYXBfZW5hYmxlX2RtYV9pcnEoaW50IGxjaCwgdTE2IGJpdHMpCiB7CiAJZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMgfD0gYml0czsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9lbmFibGVfZG1hX2lycSk7CiAKIHZvaWQgb21hcF9kaXNhYmxlX2RtYV9pcnEoaW50IGxjaCwgdTE2IGJpdHMpCiB7CiAJZG1hX2NoYW5bbGNoXS5lbmFibGVkX2lycXMgJj0gfmJpdHM7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZGlzYWJsZV9kbWFfaXJxKTsKIAogc3RhdGljIGlubGluZSB2b2lkIGVuYWJsZV9sbmsoaW50IGxjaCkKIHsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDTE5LX0NUUkwobGNoKSk7CisKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCi0JCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoKSAmPSB+KDEgPDwgMTQpOworCQlsICY9IH4oMSA8PCAxNCk7CiAKIAkvKiBTZXQgdGhlIEVOQUJMRV9MTksgYml0cyAqLwogCWlmIChkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKQotCQlPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaCkgPQotCQkJZG1hX2NoYW5bbGNoXS5uZXh0X2xjaCB8ICgxIDw8IDE1KTsKKwkJbCA9IGRtYV9jaGFuW2xjaF0ubmV4dF9sY2ggfCAoMSA8PCAxNSk7CiAKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKLQlpZiAoZG1hX2NoYW5bbGNoXS5uZXh0X2xpbmtlZF9jaCAhPSAtMSkKLQkJT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2gpID0KLQkJCWRtYV9jaGFuW2xjaF0ubmV4dF9saW5rZWRfY2ggfCAoMSA8PCAxNSk7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKQorCQlpZiAoZG1hX2NoYW5bbGNoXS5uZXh0X2xpbmtlZF9jaCAhPSAtMSkKKwkJCWwgPSBkbWFfY2hhbltsY2hdLm5leHRfbGlua2VkX2NoIHwgKDEgPDwgMTUpOwogI2VuZGlmCisKKwlkbWFfd3JpdGUobCwgQ0xOS19DVFJMKGxjaCkpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZGlzYWJsZV9sbmsoaW50IGxjaCkKIHsKKwl1MzIgbDsKKworCWwgPSBkbWFfcmVhZChDTE5LX0NUUkwobGNoKSk7CisKIAkvKiBEaXNhYmxlIGludGVycnVwdHMgKi8KIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJT01BUF9ETUFfQ0lDUl9SRUcobGNoKSA9IDA7CisJCWRtYV93cml0ZSgwLCBDSUNSKGxjaCkpOwogCQkvKiBTZXQgdGhlIFNUT1BfTE5LIGJpdCAqLwotCQlPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaCkgfD0gMSA8PCAxNDsKKwkJbCB8PSAxIDw8IDE0OwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewogCQlvbWFwX2Rpc2FibGVfY2hhbm5lbF9pcnEobGNoKTsKIAkJLyogQ2xlYXIgdGhlIEVOQUJMRV9MTksgYml0ICovCi0JCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoKSAmPSB+KDEgPDwgMTUpOworCQlsICY9IH4oMSA8PCAxNSk7CiAJfQogCisJZG1hX3dyaXRlKGwsIENMTktfQ1RSTChsY2gpKTsKIAlkbWFfY2hhbltsY2hdLmZsYWdzICY9IH5PTUFQX0RNQV9BQ1RJVkU7CiB9CiAKQEAgLTU2MSwxMyArNjczLDEzIEBACiAJaWYgKCFjcHVfY2xhc3NfaXNfb21hcDIoKSkKIAkJcmV0dXJuOwogCi0JdmFsID0gb21hcF9yZWFkbChPTUFQX0RNQTRfSVJRRU5BQkxFX0wwKTsKKwl2YWwgPSBkbWFfcmVhZChJUlFFTkFCTEVfTDApOwogCXZhbCB8PSAxIDw8IGxjaDsKLQlvbWFwX3dyaXRlbCh2YWwsIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDApOworCWRtYV93cml0ZSh2YWwsIElSUUVOQUJMRV9MMCk7CiB9CiAKIGludCBvbWFwX3JlcXVlc3RfZG1hKGludCBkZXZfaWQsIGNvbnN0IGNoYXIgKmRldl9uYW1lLAotCQkgICAgIHZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAorCQkgICAgIHZvaWQgKCpjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCiAJCSAgICAgdm9pZCAqZGF0YSwgaW50ICpkbWFfY2hfb3V0KQogewogCWludCBjaCwgZnJlZV9jaCA9IC0xOwpAQCAtNjAwLDEwICs3MTIsMTQgQEAKIAljaGFuLT5kZXZfbmFtZSA9IGRldl9uYW1lOwogCWNoYW4tPmNhbGxiYWNrID0gY2FsbGJhY2s7CiAJY2hhbi0+ZGF0YSA9IGRhdGE7CisKICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKLQljaGFuLT5jaGFpbl9pZCA9IC0xOwotCWNoYW4tPm5leHRfbGlua2VkX2NoID0gLTE7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7CisJCWNoYW4tPmNoYWluX2lkID0gLTE7CisJCWNoYW4tPm5leHRfbGlua2VkX2NoID0gLTE7CisJfQogI2VuZGlmCisKIAljaGFuLT5lbmFibGVkX2lycXMgPSBPTUFQX0RNQV9EUk9QX0lSUSB8IE9NQVBfRE1BX0JMT0NLX0lSUTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKQEAgLTYxOCwyNiArNzM0LDI4IEBACiAJCQlzZXRfZ2RtYV9kZXYoZnJlZV9jaCArIDEsIGRldl9pZCk7CiAJCQlkZXZfaWQgPSBmcmVlX2NoICsgMTsKIAkJfQotCQkvKiBEaXNhYmxlIHRoZSAxNTEwIGNvbXBhdGliaWxpdHkgbW9kZSBhbmQgc2V0IHRoZSBzeW5jIGRldmljZQotCQkgKiBpZC4gKi8KLQkJT01BUF9ETUFfQ0NSX1JFRyhmcmVlX2NoKSA9IGRldl9pZCB8ICgxIDw8IDEwKTsKKwkJLyoKKwkJICogRGlzYWJsZSB0aGUgMTUxMCBjb21wYXRpYmlsaXR5IG1vZGUgYW5kIHNldCB0aGUgc3luYyBkZXZpY2UKKwkJICogaWQuCisJCSAqLworCQlkbWFfd3JpdGUoZGV2X2lkIHwgKDEgPDwgMTApLCBDQ1IoZnJlZV9jaCkpOwogCX0gZWxzZSBpZiAoY3B1X2lzX29tYXA3MzAoKSB8fCBjcHVfaXNfb21hcDE1eHgoKSkgewotCQlPTUFQX0RNQV9DQ1JfUkVHKGZyZWVfY2gpID0gZGV2X2lkOworCQlkbWFfd3JpdGUoZGV2X2lkLCBDQ1IoZnJlZV9jaCkpOwogCX0KIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgewogCQlvbWFwMl9lbmFibGVfaXJxX2xjaChmcmVlX2NoKTsKLQogCQlvbWFwX2VuYWJsZV9jaGFubmVsX2lycShmcmVlX2NoKTsKIAkJLyogQ2xlYXIgdGhlIENTUiByZWdpc3RlciBhbmQgSVJRIHN0YXR1cyByZWdpc3RlciAqLwotCQlPTUFQX0RNQV9DU1JfUkVHKGZyZWVfY2gpID0gT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLOwotCQlvbWFwX3dyaXRlbCgxIDw8IGZyZWVfY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQlkbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBDU1IoZnJlZV9jaCkpOworCQlkbWFfd3JpdGUoMSA8PCBmcmVlX2NoLCBJUlFTVEFUVVNfTDApOwogCX0KIAogCSpkbWFfY2hfb3V0ID0gZnJlZV9jaDsKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hKTsKIAogdm9pZCBvbWFwX2ZyZWVfZG1hKGludCBsY2gpCiB7CkBAIC02NDUsMTEgKzc2MywxMiBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmRtYV9jaGFuX2xvY2ssIGZsYWdzKTsKIAlpZiAoZG1hX2NoYW5bbGNoXS5kZXZfaWQgPT0gLTEpIHsKLQkJcHJpbnRrKCJvbWFwX2RtYTogdHJ5aW5nIHRvIGZyZWUgbm9uYWxsb2NhdGVkIERNQSBjaGFubmVsICVkXG4iLAorCQlwcl9lcnIoIm9tYXBfZG1hOiB0cnlpbmcgdG8gZnJlZSB1bmFsbG9jYXRlZCBETUEgY2hhbm5lbCAlZFxuIiwKIAkJICAgICAgIGxjaCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRtYV9jaGFuX2xvY2ssIGZsYWdzKTsKIAkJcmV0dXJuOwogCX0KKwogCWRtYV9jaGFuW2xjaF0uZGV2X2lkID0gLTE7CiAJZG1hX2NoYW5bbGNoXS5uZXh0X2xjaCA9IC0xOwogCWRtYV9jaGFuW2xjaF0uY2FsbGJhY2sgPSBOVUxMOwpAQCAtNjU3LDMwICs3NzYsMzEgQEAKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewogCQkvKiBEaXNhYmxlIGFsbCBETUEgaW50ZXJydXB0cyBmb3IgdGhlIGNoYW5uZWwuICovCi0JCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0lDUihsY2gpKTsKIAkJLyogTWFrZSBzdXJlIHRoZSBETUEgdHJhbnNmZXIgaXMgc3RvcHBlZC4gKi8KLQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpID0gMDsKKwkJZG1hX3dyaXRlKDAsIENDUihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJdTMyIHZhbDsKIAkJLyogRGlzYWJsZSBpbnRlcnJ1cHRzICovCi0JCXZhbCA9IG9tYXBfcmVhZGwoT01BUF9ETUE0X0lSUUVOQUJMRV9MMCk7CisJCXZhbCA9IGRtYV9yZWFkKElSUUVOQUJMRV9MMCk7CiAJCXZhbCAmPSB+KDEgPDwgbGNoKTsKLQkJb21hcF93cml0ZWwodmFsLCBPTUFQX0RNQTRfSVJRRU5BQkxFX0wwKTsKKwkJZG1hX3dyaXRlKHZhbCwgSVJRRU5BQkxFX0wwKTsKIAogCQkvKiBDbGVhciB0aGUgQ1NSIHJlZ2lzdGVyIGFuZCBJUlEgc3RhdHVzIHJlZ2lzdGVyICovCi0JCU9NQVBfRE1BX0NTUl9SRUcobGNoKSA9IE9NQVAyX0RNQV9DU1JfQ0xFQVJfTUFTSzsKLQkJb21hcF93cml0ZWwoMSA8PCBsY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQlkbWFfd3JpdGUoT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLLCBDU1IobGNoKSk7CisJCWRtYV93cml0ZSgxIDw8IGxjaCwgSVJRU1RBVFVTX0wwKTsKIAogCQkvKiBEaXNhYmxlIGFsbCBETUEgaW50ZXJydXB0cyBmb3IgdGhlIGNoYW5uZWwuICovCi0JCU9NQVBfRE1BX0NJQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0lDUihsY2gpKTsKIAogCQkvKiBNYWtlIHN1cmUgdGhlIERNQSB0cmFuc2ZlciBpcyBzdG9wcGVkLiAqLwotCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSAwOworCQlkbWFfd3JpdGUoMCwgQ0NSKGxjaCkpOwogCQlvbWFwX2NsZWFyX2RtYShsY2gpOwogCX0KIH0KK0VYUE9SVF9TWU1CT0wob21hcF9mcmVlX2RtYSk7CiAKIC8qKgogICogQGJyaWVmIG9tYXBfZG1hX3NldF9nbG9iYWxfcGFyYW1zIDogU2V0IGdsb2JhbCBwcmlvcml0eSBzZXR0aW5ncyBmb3IgZG1hCkBAIC03MDgsNyArODI4LDcgQEAKIAlyZWcgPSAoYXJiX3JhdGUgJiAweGZmKSA8PCAxNjsKIAlyZWcgfD0gKDB4ZmYgJiBtYXhfZmlmb19kZXB0aCk7CiAKLQlvbWFwX3dyaXRlbChyZWcsIE9NQVBfRE1BNF9HQ1JfUkVHKTsKKwlkbWFfd3JpdGUocmVnLCBHQ1IpOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX2RtYV9zZXRfZ2xvYmFsX3BhcmFtcyk7CiAKQEAgLTcyNSwyMCArODQ1LDIxIEBACiBvbWFwX2RtYV9zZXRfcHJpb19sY2goaW50IGxjaCwgdW5zaWduZWQgY2hhciByZWFkX3ByaW8sCiAJCSAgICAgIHVuc2lnbmVkIGNoYXIgd3JpdGVfcHJpbykKIHsKLQl1MzIgdzsKKwl1MzIgbDsKIAotCWlmICh1bmxpa2VseSgobGNoIDwgMCB8fCBsY2ggPj0gT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCkpKSB7CisJaWYgKHVubGlrZWx5KChsY2ggPCAwIHx8IGxjaCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYW5uZWwgaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9Ci0JdyA9IE9NQVBfRE1BX0NDUl9SRUcobGNoKTsKLQl3ICY9IH4oKDEgPDwgNikgfCAoMSA8PCAyNikpOworCWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CisJbCAmPSB+KCgxIDw8IDYpIHwgKDEgPDwgMjYpKTsKIAlpZiAoY3B1X2lzX29tYXAyNDMwKCkgfHwgY3B1X2lzX29tYXAzNHh4KCkpCi0JCXcgfD0gKChyZWFkX3ByaW8gJiAweDEpIDw8IDYpIHwgKCh3cml0ZV9wcmlvICYgMHgxKSA8PCAyNik7CisJCWwgfD0gKChyZWFkX3ByaW8gJiAweDEpIDw8IDYpIHwgKCh3cml0ZV9wcmlvICYgMHgxKSA8PCAyNik7CiAJZWxzZQotCQl3IHw9ICgocmVhZF9wcmlvICYgMHgxKSA8PCA2KTsKKwkJbCB8PSAoKHJlYWRfcHJpbyAmIDB4MSkgPDwgNik7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB3OworCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9kbWFfc2V0X3ByaW9fbGNoKTsKQEAgLTc1NCwyOCArODc1LDM0IEBACiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCWludCBzdGF0dXM7Ci0JCU9NQVBfRE1BX0NDUl9SRUcobGNoKSAmPSB+T01BUF9ETUFfQ0NSX0VOOworCQl1MzIgbDsKKworCQlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCQlsICY9IH5PTUFQX0RNQV9DQ1JfRU47CisJCWRtYV93cml0ZShsLCBDQ1IobGNoKSk7CiAKIAkJLyogQ2xlYXIgcGVuZGluZyBpbnRlcnJ1cHRzICovCi0JCXN0YXR1cyA9IE9NQVBfRE1BX0NTUl9SRUcobGNoKTsKKwkJbCA9IGRtYV9yZWFkKENTUihsY2gpKTsKIAl9CiAKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJaW50IGk7Ci0JCXUzMiBsY2hfYmFzZSA9IE9NQVBfRE1BNF9CQVNFICsgbGNoICogMHg2MCArIDB4ODA7CisJCXZvaWQgX19pb21lbSAqbGNoX2Jhc2UgPSBvbWFwX2RtYV9iYXNlICsgT01BUF9ETUE0X0NIX0JBU0UobGNoKTsKIAkJZm9yIChpID0gMDsgaSA8IDB4NDQ7IGkgKz0gNCkKLQkJCW9tYXBfd3JpdGVsKDAsIGxjaF9iYXNlICsgaSk7CisJCQlfX3Jhd193cml0ZWwoMCwgbGNoX2Jhc2UgKyBpKTsKIAl9CiAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfY2xlYXJfZG1hKTsKIAogdm9pZCBvbWFwX3N0YXJ0X2RtYShpbnQgbGNoKQogeworCXUzMiBsOworCiAJaWYgKCFvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSAmJiBkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKSB7CiAJCWludCBuZXh0X2xjaCwgY3VyX2xjaDsKLQkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKKwkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdOwogCiAJCWRtYV9jaGFuX2xpbmtfbWFwW2xjaF0gPSAxOwogCQkvKiBTZXQgdGhlIGxpbmsgcmVnaXN0ZXIgb2YgdGhlIGZpcnN0IGNoYW5uZWwgKi8KQEAgLTc5OSwyNyArOTI2LDM0IEBACiAJCX0gd2hpbGUgKG5leHRfbGNoICE9IC0xKTsKIAl9IGVsc2UgaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7CiAJCS8qIEVycmF0YTogTmVlZCB0byB3cml0ZSBsY2ggZXZlbiBpZiBub3QgdXNpbmcgY2hhaW5pbmcgKi8KLQkJT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2gpID0gbGNoOworCQlkbWFfd3JpdGUobGNoLCBDTE5LX0NUUkwobGNoKSk7CiAJfQogCiAJb21hcF9lbmFibGVfY2hhbm5lbF9pcnEobGNoKTsKIAotCS8qIEVycmF0YTogT24gRVMyLjAgQlVGRkVSSU5HIGRpc2FibGUgbXVzdCBiZSBzZXQuCi0JICogVGhpcyB3aWxsIGFsd2F5cyBmYWlsIG9uIEVTMS4wICovCi0JaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7Ci0JCU9NQVBfRE1BX0NDUl9SRUcobGNoKSB8PSBPTUFQX0RNQV9DQ1JfRU47Ci0JfQorCWwgPSBkbWFfcmVhZChDQ1IobGNoKSk7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgfD0gT01BUF9ETUFfQ0NSX0VOOworCS8qCisJICogRXJyYXRhOiBPbiBFUzIuMCBCVUZGRVJJTkcgZGlzYWJsZSBtdXN0IGJlIHNldC4KKwkgKiBUaGlzIHdpbGwgYWx3YXlzIGZhaWwgb24gRVMxLjAKKwkgKi8KKwlpZiAoY3B1X2lzX29tYXAyNHh4KCkpCisJCWwgfD0gT01BUF9ETUFfQ0NSX0VOOworCisJbCB8PSBPTUFQX0RNQV9DQ1JfRU47CisJZG1hX3dyaXRlKGwsIENDUihsY2gpKTsKIAogCWRtYV9jaGFuW2xjaF0uZmxhZ3MgfD0gT01BUF9ETUFfQUNUSVZFOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3N0YXJ0X2RtYSk7CiAKIHZvaWQgb21hcF9zdG9wX2RtYShpbnQgbGNoKQogeworCXUzMiBsOworCiAJaWYgKCFvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSAmJiBkbWFfY2hhbltsY2hdLm5leHRfbGNoICE9IC0xKSB7CiAJCWludCBuZXh0X2xjaCwgY3VyX2xjaCA9IGxjaDsKLQkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UXTsKKwkJY2hhciBkbWFfY2hhbl9saW5rX21hcFtPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlRdOwogCiAJCW1lbXNldChkbWFfY2hhbl9saW5rX21hcCwgMCwgc2l6ZW9mKGRtYV9jaGFuX2xpbmtfbWFwKSk7CiAJCWRvIHsKQEAgLTg0MCwxOCArOTc0LDIyIEBACiAKIAkvKiBEaXNhYmxlIGFsbCBpbnRlcnJ1cHRzIG9uIHRoZSBjaGFubmVsICovCiAJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQotCQlPTUFQX0RNQV9DSUNSX1JFRyhsY2gpID0gMDsKKwkJZG1hX3dyaXRlKDAsIENJQ1IobGNoKSk7CiAKLQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgJj0gfk9NQVBfRE1BX0NDUl9FTjsKKwlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOworCWwgJj0gfk9NQVBfRE1BX0NDUl9FTjsKKwlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOworCiAJZG1hX2NoYW5bbGNoXS5mbGFncyAmPSB+T01BUF9ETUFfQUNUSVZFOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3N0b3BfZG1hKTsKIAogLyoKICAqIEFsbG93cyBjaGFuZ2luZyB0aGUgRE1BIGNhbGxiYWNrIGZ1bmN0aW9uIG9yIGRhdGEuIFRoaXMgbWF5IGJlIG5lZWRlZCBpZgogICogdGhlIGRyaXZlciBzaGFyZXMgYSBzaW5nbGUgRE1BIGNoYW5uZWwgZm9yIG11bHRpcGxlIGRtYSB0cmlnZ2Vycy4KICAqLwogaW50IG9tYXBfc2V0X2RtYV9jYWxsYmFjayhpbnQgbGNoLAotCQkJICB2b2lkICgqIGNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKKwkJCSAgdm9pZCAoKmNhbGxiYWNrKShpbnQgbGNoLCB1MTYgY2hfc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCSAgdm9pZCAqZGF0YSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtODcxLDYgKzEwMDksNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jYWxsYmFjayk7CiAKIC8qCiAgKiBSZXR1cm5zIGN1cnJlbnQgcGh5c2ljYWwgc291cmNlIGFkZHJlc3MgZm9yIHRoZSBnaXZlbiBETUEgY2hhbm5lbC4KQEAgLTg4NCwxNSArMTAyMywyNCBAQAogewogCWRtYV9hZGRyX3Qgb2Zmc2V0ID0gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkKLQkJb2Zmc2V0ID0gKGRtYV9hZGRyX3QpIChPTUFQMV9ETUFfQ1NTQV9MX1JFRyhsY2gpIHwKLQkJCQkgICAgICAgKE9NQVAxX0RNQV9DU1NBX1VfUkVHKGxjaCkgPDwgMTYpKTsKKwlpZiAoY3B1X2lzX29tYXAxNXh4KCkpCisJCW9mZnNldCA9IGRtYV9yZWFkKENQQyhsY2gpKTsKKwllbHNlCisJCW9mZnNldCA9IGRtYV9yZWFkKENTQUMobGNoKSk7CiAKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCi0JCW9mZnNldCA9IE9NQVBfRE1BX0NTQUNfUkVHKGxjaCk7CisJLyoKKwkgKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCisJICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KKwkgKi8KKwlpZiAoIWNwdV9pc19vbWFwMTV4eCgpICYmIG9mZnNldCA9PSAwKQorCQlvZmZzZXQgPSBkbWFfcmVhZChDU0FDKGxjaCkpOworCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQorCQlvZmZzZXQgfD0gKGRtYV9yZWFkKENTU0FfVShsY2gpKSA8PCAxNik7CiAKIAlyZXR1cm4gb2Zmc2V0OwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfc3JjX3Bvcyk7CiAKIC8qCiAgKiBSZXR1cm5zIGN1cnJlbnQgcGh5c2ljYWwgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdGhlIGdpdmVuIERNQSBjaGFubmVsLgpAQCAtOTA2LDI1ICsxMDU0LDMwIEBACiB7CiAJZG1hX2FkZHJfdCBvZmZzZXQgPSAwOwogCi0JaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKQotCQlvZmZzZXQgPSAoZG1hX2FkZHJfdCkgKE9NQVAxX0RNQV9DRFNBX0xfUkVHKGxjaCkgfAotCQkJCSAgICAgICAoT01BUDFfRE1BX0NEU0FfVV9SRUcobGNoKSA8PCAxNikpOworCWlmIChjcHVfaXNfb21hcDE1eHgoKSkKKwkJb2Zmc2V0ID0gZG1hX3JlYWQoQ1BDKGxjaCkpOworCWVsc2UKKwkJb2Zmc2V0ID0gZG1hX3JlYWQoQ0RBQyhsY2gpKTsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkKLQkJb2Zmc2V0ID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKKwkvKgorCSAqIG9tYXAgMy4yLzMuMyBlcnJhdHVtOiBzb21ldGltZXMgMCBpcyByZXR1cm5lZCBpZiBDU0FDL0NEQUMgaXMKKwkgKiByZWFkIGJlZm9yZSB0aGUgRE1BIGNvbnRyb2xsZXIgZmluaXNoZWQgZGlzYWJsaW5nIHRoZSBjaGFubmVsLgorCSAqLworCWlmICghY3B1X2lzX29tYXAxNXh4KCkgJiYgb2Zmc2V0ID09IDApCisJCW9mZnNldCA9IGRtYV9yZWFkKENEQUMobGNoKSk7CisKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCisJCW9mZnNldCB8PSAoZG1hX3JlYWQoQ0RTQV9VKGxjaCkpIDw8IDE2KTsKIAogCXJldHVybiBvZmZzZXQ7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9kc3RfcG9zKTsKIAotLyoKLSAqIFJldHVybnMgY3VycmVudCBzb3VyY2UgdHJhbnNmZXIgY291bnRpbmcgZm9yIHRoZSBnaXZlbiBETUEgY2hhbm5lbC4KLSAqIENhbiBiZSB1c2VkIHRvIG1vbml0b3IgdGhlIHByb2dyZXNzIG9mIGEgdHJhbnNmZXIgaW5zaWRlIGEgYmxvY2suCi0gKiBJdCBtdXN0IGJlIGNhbGxlZCB3aXRoIGRpc2FibGVkIGludGVycnVwdHMuCi0gKi8KLWludCBvbWFwX2dldF9kbWFfc3JjX2FkZHJfY291bnRlcihpbnQgbGNoKQoraW50IG9tYXBfZ2V0X2RtYV9hY3RpdmVfc3RhdHVzKGludCBsY2gpCiB7Ci0JcmV0dXJuIChkbWFfYWRkcl90KSBPTUFQX0RNQV9DU0FDX1JFRyhsY2gpOworCXJldHVybiAoZG1hX3JlYWQoQ0NSKGxjaCkpICYgT01BUF9ETUFfQ0NSX0VOKSAhPSAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfYWN0aXZlX3N0YXR1cyk7CiAKIGludCBvbWFwX2RtYV9ydW5uaW5nKHZvaWQpCiB7CkBAIC05MzYsNyArMTA4OSw3IEBACiAJCQlyZXR1cm4gMTsKIAogCWZvciAobGNoID0gMDsgbGNoIDwgZG1hX2NoYW5fY291bnQ7IGxjaCsrKQotCQlpZiAoT01BUF9ETUFfQ0NSX1JFRyhsY2gpICYgT01BUF9ETUFfQ0NSX0VOKQorCQlpZiAoZG1hX3JlYWQoQ0NSKGxjaCkpICYgT01BUF9ETUFfQ0NSX0VOKQogCQkJcmV0dXJuIDE7CiAKIAlyZXR1cm4gMDsKQEAgLTk0Nyw3ICsxMTAwLDcgQEAKICAqIEZvciB0aGlzIERNQSBsaW5rIHRvIHN0YXJ0LCB5b3Ugc3RpbGwgbmVlZCB0byBzdGFydCAoc2VlIG9tYXBfc3RhcnRfZG1hKQogICogdGhlIGZpcnN0IG9uZS4gVGhhdCB3aWxsIGZpcmUgdXAgdGhlIGVudGlyZSBxdWV1ZS4KICAqLwotdm9pZCBvbWFwX2RtYV9saW5rX2xjaCAoaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKQordm9pZCBvbWFwX2RtYV9saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpCiB7CiAJaWYgKG9tYXBfZG1hX2luXzE1MTBfbW9kZSgpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiRE1BIGxpbmtpbmcgaXMgbm90IHN1cHBvcnRlZCBpbiAxNTEwIG1vZGVcbiIpOwpAQCAtOTY0LDExICsxMTE3LDEyIEBACiAKIAlkbWFfY2hhbltsY2hfaGVhZF0ubmV4dF9sY2ggPSBsY2hfcXVldWU7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2xpbmtfbGNoKTsKIAogLyoKICAqIE9uY2UgdGhlIERNQSBxdWV1ZSBpcyBzdG9wcGVkLCB3ZSBjYW4gZGVzdHJveSBpdC4KICAqLwotdm9pZCBvbWFwX2RtYV91bmxpbmtfbGNoIChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpCit2b2lkIG9tYXBfZG1hX3VubGlua19sY2goaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKQogewogCWlmIChvbWFwX2RtYV9pbl8xNTEwX21vZGUoKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkRNQSBsaW5raW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gMTUxMCBtb2RlXG4iKTsKQEAgLTk4Myw3ICsxMTM3LDYgQEAKIAkJZHVtcF9zdGFjaygpOwogCX0KIAotCiAJaWYgKChkbWFfY2hhbltsY2hfaGVhZF0uZmxhZ3MgJiBPTUFQX0RNQV9BQ1RJVkUpIHx8CiAJICAgIChkbWFfY2hhbltsY2hfaGVhZF0uZmxhZ3MgJiBPTUFQX0RNQV9BQ1RJVkUpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAib21hcF9kbWE6IFlvdSBuZWVkIHRvIHN0b3AgdGhlIERNQSBjaGFubmVscyAiCkBAIC05OTMsMTIgKzExNDYsMTUgQEAKIAogCWRtYV9jaGFuW2xjaF9oZWFkXS5uZXh0X2xjaCA9IC0xOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2RtYV91bmxpbmtfbGNoKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogI2lmbmRlZiBDT05GSUdfQVJDSF9PTUFQMQogLyogQ3JlYXRlIGNoYWluIG9mIERNQSBjaGFubmVzbHMgKi8KIHN0YXRpYyB2b2lkIGNyZWF0ZV9kbWFfbGNoX2NoYWluKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSkKIHsKLQl1MzIgdzsKKwl1MzIgbDsKIAogCS8qIENoZWNrIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGxpbmsgaW4gY2hhaW4gKi8KIAlpZiAoZG1hX2NoYW5bbGNoX2hlYWRdLm5leHRfbGlua2VkX2NoID09IC0xKSB7CkBAIC0xMDE4LDE1ICsxMTc0LDE1IEBACiAJCQkJCWxjaF9xdWV1ZTsKIAl9CiAKLQl3ID0gT01BUF9ETUFfQ0xOS19DVFJMX1JFRyhsY2hfaGVhZCk7Ci0JdyAmPSB+KDB4MWYpOwotCXcgfD0gbGNoX3F1ZXVlOwotCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoX2hlYWQpID0gdzsKKwlsID0gZG1hX3JlYWQoQ0xOS19DVFJMKGxjaF9oZWFkKSk7CisJbCAmPSB+KDB4MWYpOworCWwgfD0gbGNoX3F1ZXVlOworCWRtYV93cml0ZShsLCBDTE5LX0NUUkwobGNoX2hlYWQpKTsKIAotCXcgPSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKGxjaF9xdWV1ZSk7Ci0JdyAmPSB+KDB4MWYpOwotCXcgfD0gKGRtYV9jaGFuW2xjaF9xdWV1ZV0ubmV4dF9saW5rZWRfY2gpOwotCU9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobGNoX3F1ZXVlKSA9IHc7CisJbCA9IGRtYV9yZWFkKENMTktfQ1RSTChsY2hfcXVldWUpKTsKKwlsICY9IH4oMHgxZik7CisJbCB8PSAoZG1hX2NoYW5bbGNoX3F1ZXVlXS5uZXh0X2xpbmtlZF9jaCk7CisJZG1hX3dyaXRlKGwsIENMTktfQ1RSTChsY2hfcXVldWUpKTsKIH0KIAogLyoqCkBAIC0xMDYxLDcgKzEyMTcsNyBAQAogCX0KIAogCWlmICh1bmxpa2VseSgobm9fb2ZfY2hhbnMgPCAxCi0JCQl8fCBub19vZl9jaGFucyA+IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCQkJfHwgbm9fb2ZfY2hhbnMgPiBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIE51bWJlciBvZiBjaGFubmVscyByZXF1ZXN0ZWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMTE2LDYgKzEyNzIsNyBAQAogCQlmb3IgKGkgPSAwOyBpIDwgKG5vX29mX2NoYW5zIC0gMSk7IGkrKykKIAkJCWNyZWF0ZV9kbWFfbGNoX2NoYWluKGNoYW5uZWxzW2ldLCBjaGFubmVsc1tpICsgMV0pOwogCX0KKwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hX2NoYWluKTsKQEAgLTExMzgsNyArMTI5NSw3IEBACiAKIAkvKiBDaGVjayBmb3IgaW5wdXQgcGFyYW1zICovCiAJaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAKLQkJCXx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCQkJfHwgY2hhaW5faWQgPj0gZG1hX2xjaF9jb3VudCkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBjaGFpbiBpZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTExNTgsNiArMTMxNSw3IEBACiAJCSAqLwogCQlvbWFwX3NldF9kbWFfcGFyYW1zKGNoYW5uZWxzW2ldLCAmcGFyYW1zKTsKIAl9CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9tb2RpZnlfZG1hX2NoYWluX3BhcmFtcyk7CkBAIC0xMTc2LDcgKzEzMzQsNyBAQAogCXUzMiBpOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMjAxLDYgKzEzNTksNyBAQAogCWRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5saW5rZWRfZG1hY2hfcSA9IE5VTEw7CiAJZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX21vZGUgPSAtMTsKIAlkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0uY2hhaW5fc3RhdGUgPSAtMTsKKwogCXJldHVybiAoMCk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZnJlZV9kbWFfY2hhaW4pOwpAQCAtMTIxNiw3ICsxMzc1LDcgQEAKIGludCBvbWFwX2RtYV9jaGFpbl9zdGF0dXMoaW50IGNoYWluX2lkKQogewogCS8qIENoZWNrIGZvciBpbnB1dCBwYXJhbXMgKi8KLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTIzMSw2ICsxMzkwLDcgQEAKIAogCWlmIChPTUFQX0RNQV9DSEFJTl9RRU1QVFkoY2hhaW5faWQpKQogCQlyZXR1cm4gT01BUF9ETUFfQ0hBSU5fSU5BQ1RJVkU7CisKIAlyZXR1cm4gT01BUF9ETUFfQ0hBSU5fQUNUSVZFOwogfQogRVhQT1JUX1NZTUJPTChvbWFwX2RtYV9jaGFpbl9zdGF0dXMpOwpAQCAtMTI1MywxMSArMTQxMywxMyBAQAogCQkJaW50IGVsZW1fY291bnQsIGludCBmcmFtZV9jb3VudCwgdm9pZCAqY2FsbGJrX2RhdGEpCiB7CiAJaW50ICpjaGFubmVsczsKLQl1MzIgdywgbGNoOworCXUzMiBsLCBsY2g7CiAJaW50IHN0YXJ0X2RtYSA9IDA7CiAKLQkvKiBpZiBidWZmZXIgc2l6ZSBpcyBsZXNzIHRoYW4gMSB0aGVuIHRoZXJlIGlzCi0JICogbm8gdXNlIG9mIHN0YXJ0aW5nIHRoZSBjaGFpbiAqLworCS8qCisJICogaWYgYnVmZmVyIHNpemUgaXMgbGVzcyB0aGFuIDEgdGhlbiB0aGVyZSBpcworCSAqIG5vIHVzZSBvZiBzdGFydGluZyB0aGUgY2hhaW4KKwkgKi8KIAlpZiAoZWxlbV9jb3VudCA8IDEpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGJ1ZmZlciBzaXplXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xMjY1LDcgKzE0MjcsNyBAQAogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwogCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwCi0JCQl8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwkJCXx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xMjk0LDIwICsxNDU2LDI0IEBACiAKIAkvKiBTZXQgdGhlIHBhcmFtcyB0byB0aGUgZnJlZSBjaGFubmVsICovCiAJaWYgKHNyY19zdGFydCAhPSAwKQotCQlPTUFQMl9ETUFfQ1NTQV9SRUcobGNoKSA9IHNyY19zdGFydDsKKwkJZG1hX3dyaXRlKHNyY19zdGFydCwgQ1NTQShsY2gpKTsKIAlpZiAoZGVzdF9zdGFydCAhPSAwKQotCQlPTUFQMl9ETUFfQ0RTQV9SRUcobGNoKSA9IGRlc3Rfc3RhcnQ7CisJCWRtYV93cml0ZShkZXN0X3N0YXJ0LCBDRFNBKGxjaCkpOwogCiAJLyogV3JpdGUgdGhlIGJ1ZmZlciBzaXplICovCi0JT01BUF9ETUFfQ0VOX1JFRyhsY2gpID0gZWxlbV9jb3VudDsKLQlPTUFQX0RNQV9DRk5fUkVHKGxjaCkgPSBmcmFtZV9jb3VudDsKKwlkbWFfd3JpdGUoZWxlbV9jb3VudCwgQ0VOKGxjaCkpOworCWRtYV93cml0ZShmcmFtZV9jb3VudCwgQ0ZOKGxjaCkpOwogCi0JLyogSWYgdGhlIGNoYWluIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCwKLQkgKiB0aGVuIHdlIG1heSBoYXZlIHRvIHN0YXJ0IHRoZSBjaGFpbiBpZiBpdHMgbm90IGFjdGl2ZSAqLworCS8qCisJICogSWYgdGhlIGNoYWluIGlzIGR5bmFtaWNhbGx5IGxpbmtlZCwKKwkgKiB0aGVuIHdlIG1heSBoYXZlIHRvIHN0YXJ0IHRoZSBjaGFpbiBpZiBpdHMgbm90IGFjdGl2ZQorCSAqLwogCWlmIChkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0uY2hhaW5fbW9kZSA9PSBPTUFQX0RNQV9EWU5BTUlDX0NIQUlOKSB7CiAKLQkJLyogSW4gRHluYW1pYyBjaGFpbiwgaWYgdGhlIGNoYWluIGlzIG5vdCBzdGFydGVkLAotCQkgKiBxdWV1ZSB0aGUgY2hhbm5lbCAqLworCQkvKgorCQkgKiBJbiBEeW5hbWljIGNoYWluLCBpZiB0aGUgY2hhaW4gaXMgbm90IHN0YXJ0ZWQsCisJCSAqIHF1ZXVlIHRoZSBjaGFubmVsCisJCSAqLwogCQlpZiAoZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX3N0YXRlID09CiAJCQkJCQlETUFfQ0hBSU5fTk9UU1RBUlRFRCkgewogCQkJLyogRW5hYmxlIHRoZSBsaW5rIGluIHByZXZpb3VzIGNoYW5uZWwgKi8KQEAgLTEzMTcsOCArMTQ4MywxMCBAQAogCQkJZG1hX2NoYW5bbGNoXS5zdGF0ZSA9IERNQV9DSF9RVUVVRUQ7CiAJCX0KIAotCQkvKiBDaGFpbiBpcyBhbHJlYWR5IHN0YXJ0ZWQsIG1ha2Ugc3VyZSBpdHMgYWN0aXZlLAotCQkgKiBpZiBub3QgdGhlbiBzdGFydCB0aGUgY2hhaW4gKi8KKwkJLyoKKwkJICogQ2hhaW4gaXMgYWxyZWFkeSBzdGFydGVkLCBtYWtlIHN1cmUgaXRzIGFjdGl2ZSwKKwkJICogaWYgbm90IHRoZW4gc3RhcnQgdGhlIGNoYWluCisJCSAqLwogCQllbHNlIHsKIAkJCXN0YXJ0X2RtYSA9IDE7CiAKQEAgLTEzMjcsOCArMTQ5NSw4IEBACiAJCQkJZW5hYmxlX2xuayhkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKTsKIAkJCQlkbWFfY2hhbltsY2hdLnN0YXRlID0gRE1BX0NIX1FVRVVFRDsKIAkJCQlzdGFydF9kbWEgPSAwOwotCQkJCWlmICgwID09ICgoMSA8PCA3KSAmIChPTUFQX0RNQV9DQ1JfUkVHCi0JCQkJCShkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKSkpKSB7CisJCQkJaWYgKDAgPT0gKCgxIDw8IDcpICYgZG1hX3JlYWQoCisJCQkJCUNDUihkbWFfY2hhbltsY2hdLnByZXZfbGlua2VkX2NoKSkpKSB7CiAJCQkJCWRpc2FibGVfbG5rKGRtYV9jaGFuW2xjaF0uCiAJCQkJCQkgICAgcHJldl9saW5rZWRfY2gpOwogCQkJCQlwcl9kZWJ1ZygiXG4gcHJldiBjaCBpcyBzdG9wcGVkXG4iKTsKQEAgLTEzNDQsMjcgKzE1MTIsMjggQEAKIAkJCX0KIAkJCW9tYXBfZW5hYmxlX2NoYW5uZWxfaXJxKGxjaCk7CiAKLQkJCXcgPSBPTUFQX0RNQV9DQ1JfUkVHKGxjaCk7CisJCQlsID0gZG1hX3JlYWQoQ0NSKGxjaCkpOwogCi0JCQlpZiAoKDAgPT0gKHcgJiAoMSA8PCAyNCkpKSkKLQkJCQl3ICY9IH4oMSA8PCAyNSk7CisJCQlpZiAoKDAgPT0gKGwgJiAoMSA8PCAyNCkpKSkKKwkJCQlsICY9IH4oMSA8PCAyNSk7CiAJCQllbHNlCi0JCQkJdyB8PSAoMSA8PCAyNSk7CisJCQkJbCB8PSAoMSA8PCAyNSk7CiAJCQlpZiAoc3RhcnRfZG1hID09IDEpIHsKLQkJCQlpZiAoMCA9PSAodyAmICgxIDw8IDcpKSkgewotCQkJCQl3IHw9ICgxIDw8IDcpOworCQkJCWlmICgwID09IChsICYgKDEgPDwgNykpKSB7CisJCQkJCWwgfD0gKDEgPDwgNyk7CiAJCQkJCWRtYV9jaGFuW2xjaF0uc3RhdGUgPSBETUFfQ0hfU1RBUlRFRDsKIAkJCQkJcHJfZGVidWcoInN0YXJ0aW5nICVkXG4iLCBsY2gpOwotCQkJCQlPTUFQX0RNQV9DQ1JfUkVHKGxjaCkgPSB3OworCQkJCQlkbWFfd3JpdGUobCwgQ0NSKGxjaCkpOwogCQkJCX0gZWxzZQogCQkJCQlzdGFydF9kbWEgPSAwOwogCQkJfSBlbHNlIHsKLQkJCQlpZiAoMCA9PSAodyAmICgxIDw8IDcpKSkKLQkJCQkJT01BUF9ETUFfQ0NSX1JFRyhsY2gpID0gdzsKKwkJCQlpZiAoMCA9PSAobCAmICgxIDw8IDcpKSkKKwkJCQkJZG1hX3dyaXRlKGwsIENDUihsY2gpKTsKIAkJCX0KIAkJCWRtYV9jaGFuW2xjaF0uZmxhZ3MgfD0gT01BUF9ETUFfQUNUSVZFOwogCQl9CiAJfQorCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2NoYWluX2FfdHJhbnNmZXIpOwpAQCAtMTM4MCw5ICsxNTQ5LDkgQEAKIGludCBvbWFwX3N0YXJ0X2RtYV9jaGFpbl90cmFuc2ZlcnMoaW50IGNoYWluX2lkKQogewogCWludCAqY2hhbm5lbHM7Ci0JdTMyIHcsIGk7CisJdTMyIGwsIGk7CiAKLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTQwNCwxOCArMTU3MywxOSBAQAogCQlvbWFwX2VuYWJsZV9jaGFubmVsX2lycShjaGFubmVsc1swXSk7CiAJfQogCi0JdyA9IE9NQVBfRE1BX0NDUl9SRUcoY2hhbm5lbHNbMF0pOwotCXcgfD0gKDEgPDwgNyk7CisJbCA9IGRtYV9yZWFkKENDUihjaGFubmVsc1swXSkpOworCWwgfD0gKDEgPDwgNyk7CiAJZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmNoYWluX3N0YXRlID0gRE1BX0NIQUlOX1NUQVJURUQ7CiAJZG1hX2NoYW5bY2hhbm5lbHNbMF1dLnN0YXRlID0gRE1BX0NIX1NUQVJURUQ7CiAKLQlpZiAoKDAgPT0gKHcgJiAoMSA8PCAyNCkpKSkKLQkJdyAmPSB+KDEgPDwgMjUpOworCWlmICgoMCA9PSAobCAmICgxIDw8IDI0KSkpKQorCQlsICY9IH4oMSA8PCAyNSk7CiAJZWxzZQotCQl3IHw9ICgxIDw8IDI1KTsKLQlPTUFQX0RNQV9DQ1JfUkVHKGNoYW5uZWxzWzBdKSA9IHc7CisJCWwgfD0gKDEgPDwgMjUpOworCWRtYV93cml0ZShsLCBDQ1IoY2hhbm5lbHNbMF0pKTsKIAogCWRtYV9jaGFuW2NoYW5uZWxzWzBdXS5mbGFncyB8PSBPTUFQX0RNQV9BQ1RJVkU7CisKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wob21hcF9zdGFydF9kbWFfY2hhaW5fdHJhbnNmZXJzKTsKQEAgLTE0MzEsMTEgKzE2MDEsMTEgQEAKIGludCBvbWFwX3N0b3BfZG1hX2NoYWluX3RyYW5zZmVycyhpbnQgY2hhaW5faWQpCiB7CiAJaW50ICpjaGFubmVsczsKLQl1MzIgdywgaTsKKwl1MzIgbCwgaTsKIAl1MzIgc3lzX2NmOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xNDQ3LDIxICsxNjE3LDIyIEBACiAJfQogCWNoYW5uZWxzID0gZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLmxpbmtlZF9kbWFjaF9xOwogCi0JLyogRE1BIEVycmF0YToKKwkvKgorCSAqIERNQSBFcnJhdGE6CiAJICogU3BlY2lhbCBwcm9ncmFtbWluZyBtb2RlbCBuZWVkZWQgdG8gZGlzYWJsZSBETUEgYmVmb3JlIGVuZCBvZiBibG9jawogCSAqLwotCXN5c19jZiA9IG9tYXBfcmVhZGwoT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOwotCXcgPSBzeXNfY2Y7CisJc3lzX2NmID0gZG1hX3JlYWQoT0NQX1NZU0NPTkZJRyk7CisJbCA9IHN5c19jZjsKIAkvKiBNaWRkbGUgbW9kZSByZWcgc2V0IG5vIFN0YW5kYnkgKi8KLQl3ICY9IH4oKDEgPDwgMTIpfCgxIDw8IDEzKSk7Ci0Jb21hcF93cml0ZWwodywgT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOworCWwgJj0gfigoMSA8PCAxMil8KDEgPDwgMTMpKTsKKwlkbWFfd3JpdGUobCwgT0NQX1NZU0NPTkZJRyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZG1hX2xpbmtlZF9sY2hbY2hhaW5faWRdLm5vX29mX2xjaHNfbGlua2VkOyBpKyspIHsKIAogCQkvKiBTdG9wIHRoZSBDaGFubmVsIHRyYW5zbWlzc2lvbiAqLwotCQl3ID0gT01BUF9ETUFfQ0NSX1JFRyhjaGFubmVsc1tpXSk7Ci0JCXcgJj0gfigxIDw8IDcpOwotCQlPTUFQX0RNQV9DQ1JfUkVHKGNoYW5uZWxzW2ldKSA9IHc7CisJCWwgPSBkbWFfcmVhZChDQ1IoY2hhbm5lbHNbaV0pKTsKKwkJbCAmPSB+KDEgPDwgNyk7CisJCWRtYV93cml0ZShsLCBDQ1IoY2hhbm5lbHNbaV0pKTsKIAogCQkvKiBEaXNhYmxlIHRoZSBsaW5rIGluIGFsbCB0aGUgY2hhbm5lbHMgKi8KIAkJZGlzYWJsZV9sbmsoY2hhbm5lbHNbaV0pOwpAQCAtMTQ3NCw3ICsxNjQ1LDggQEAKIAlPTUFQX0RNQV9DSEFJTl9RSU5JVChjaGFpbl9pZCk7CiAKIAkvKiBFcnJhdGEgLSBwdXQgaW4gdGhlIG9sZCB2YWx1ZSAqLwotCW9tYXBfd3JpdGVsKHN5c19jZiwgT01BUF9ETUE0X09DUF9TWVNDT05GSUcpOworCWRtYV93cml0ZShzeXNfY2YsIE9DUF9TWVNDT05GSUcpOworCiAJcmV0dXJuIDA7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfc3RvcF9kbWFfY2hhaW5fdHJhbnNmZXJzKTsKQEAgLTE0OTcsNyArMTY2OSw3IEBACiAJaW50ICpjaGFubmVsczsKIAogCS8qIENoZWNrIGZvciBpbnB1dCBwYXJhbXMgKi8KLQlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UKSkpIHsKKwlpZiAodW5saWtlbHkoKGNoYWluX2lkIDwgMCB8fCBjaGFpbl9pZCA+PSBkbWFfbGNoX2NvdW50KSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIGNoYWluIGlkXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtMTUxNSw4ICsxNjg3LDggQEAKIAkvKiBHZXQgdGhlIGN1cnJlbnQgY2hhbm5lbCAqLwogCWxjaCA9IGNoYW5uZWxzW2RtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5xX2hlYWRdOwogCi0JKmVpID0gT01BUDJfRE1BX0NDRU5fUkVHKGxjaCk7Ci0JKmZpID0gT01BUDJfRE1BX0NDRk5fUkVHKGxjaCk7CisJKmVpID0gZG1hX3JlYWQoQ0NFTihsY2gpKTsKKwkqZmkgPSBkbWFfcmVhZChDQ0ZOKGxjaCkpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNTM3LDcgKzE3MDksNyBAQAogCWludCAqY2hhbm5lbHM7CiAKIAkvKiBDaGVjayBmb3IgaW5wdXQgcGFyYW1zICovCi0JaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAgfHwgY2hhaW5faWQgPj0gT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCkpKSB7CisJaWYgKHVubGlrZWx5KChjaGFpbl9pZCA8IDAgfHwgY2hhaW5faWQgPj0gZG1hX2xjaF9jb3VudCkpKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCBjaGFpbiBpZFxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KQEAgLTE1NTMsNyArMTcyNSw3IEBACiAJLyogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgKi8KIAlsY2ggPSBjaGFubmVsc1tkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0ucV9oZWFkXTsKIAotCXJldHVybiAoT01BUF9ETUFfQ0RBQ19SRUcobGNoKSk7CisJcmV0dXJuIGRtYV9yZWFkKENEQUMobGNoKSk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9jaGFpbl9kc3RfcG9zKTsKIApAQCAtMTU3MSw3ICsxNzQzLDcgQEAKIAlpbnQgKmNoYW5uZWxzOwogCiAJLyogQ2hlY2sgZm9yIGlucHV0IHBhcmFtcyAqLwotCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQpKSkgeworCWlmICh1bmxpa2VseSgoY2hhaW5faWQgPCAwIHx8IGNoYWluX2lkID49IGRtYV9sY2hfY291bnQpKSkgewogCQlwcmludGsoS0VSTl9FUlIgIkludmFsaWQgY2hhaW4gaWRcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xNTg3LDEwICsxNzU5LDEwIEBACiAJLyogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgKi8KIAlsY2ggPSBjaGFubmVsc1tkbWFfbGlua2VkX2xjaFtjaGFpbl9pZF0ucV9oZWFkXTsKIAotCXJldHVybiAoT01BUF9ETUFfQ1NBQ19SRUcobGNoKSk7CisJcmV0dXJuIGRtYV9yZWFkKENTQUMobGNoKSk7CiB9CiBFWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9jaGFpbl9zcmNfcG9zKTsKLSNlbmRpZgorI2VuZGlmCS8qIGlmbmRlZiBDT05GSUdfQVJDSF9PTUFQMSAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xNTk4LDEzICsxNzcwLDEzIEBACiAKIHN0YXRpYyBpbnQgb21hcDFfZG1hX2hhbmRsZV9jaChpbnQgY2gpCiB7Ci0JdTE2IGNzcjsKKwl1MzIgY3NyOwogCiAJaWYgKGVuYWJsZV8xNTEwX21vZGUgJiYgY2ggPj0gNikgewogCQljc3IgPSBkbWFfY2hhbltjaF0uc2F2ZWRfY3NyOwogCQlkbWFfY2hhbltjaF0uc2F2ZWRfY3NyID0gMDsKIAl9IGVsc2UKLQkJY3NyID0gT01BUF9ETUFfQ1NSX1JFRyhjaCk7CisJCWNzciA9IGRtYV9yZWFkKENTUihjaCkpOwogCWlmIChlbmFibGVfMTUxMF9tb2RlICYmIGNoIDw9IDIgJiYgKGNzciA+PiA3KSAhPSAwKSB7CiAJCWRtYV9jaGFuW2NoICsgNl0uc2F2ZWRfY3NyID0gY3NyID4+IDc7CiAJCWNzciAmPSAweDdmOwpAQCAtMTYyNiw2ICsxNzk4LDcgQEAKIAkJZG1hX2NoYW5bY2hdLmZsYWdzICY9IH5PTUFQX0RNQV9BQ1RJVkU7CiAJaWYgKGxpa2VseShkbWFfY2hhbltjaF0uY2FsbGJhY2sgIT0gTlVMTCkpCiAJCWRtYV9jaGFuW2NoXS5jYWxsYmFjayhjaCwgY3NyLCBkbWFfY2hhbltjaF0uZGF0YSk7CisKIAlyZXR1cm4gMTsKIH0KIApAQCAtMTY1NiwxMiArMTgyOSwxMyBAQAogCiBzdGF0aWMgaW50IG9tYXAyX2RtYV9oYW5kbGVfY2goaW50IGNoKQogewotCXUzMiBzdGF0dXMgPSBPTUFQX0RNQV9DU1JfUkVHKGNoKTsKKwl1MzIgc3RhdHVzID0gZG1hX3JlYWQoQ1NSKGNoKSk7CiAKIAlpZiAoIXN0YXR1cykgewogCQlpZiAocHJpbnRrX3JhdGVsaW1pdCgpKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU3B1cmlvdXMgRE1BIElSUSBmb3IgbGNoICVkXG4iLCBjaCk7Ci0JCW9tYXBfd3JpdGVsKDEgPDwgY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiU3B1cmlvdXMgRE1BIElSUSBmb3IgbGNoICVkXG4iLAorCQkJCWNoKTsKKwkJZG1hX3dyaXRlKDEgPDwgY2gsIElSUVNUQVRVU19MMCk7CiAJCXJldHVybiAwOwogCX0KIAlpZiAodW5saWtlbHkoZG1hX2NoYW5bY2hdLmRldl9pZCA9PSAtMSkpIHsKQEAgLTE2ODQsMTQgKzE4NTgsMTQgQEAKIAkJcHJpbnRrKEtFUk5fSU5GTyAiRE1BIG1pc2FsaWduZWQgZXJyb3Igd2l0aCBkZXZpY2UgJWRcbiIsCiAJCSAgICAgICBkbWFfY2hhbltjaF0uZGV2X2lkKTsKIAotCU9NQVBfRE1BX0NTUl9SRUcoY2gpID0gT01BUDJfRE1BX0NTUl9DTEVBUl9NQVNLOwotCW9tYXBfd3JpdGVsKDEgPDwgY2gsIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCWRtYV93cml0ZShPTUFQMl9ETUFfQ1NSX0NMRUFSX01BU0ssIENTUihjaCkpOworCWRtYV93cml0ZSgxIDw8IGNoLCBJUlFTVEFUVVNfTDApOwogCiAJLyogSWYgdGhlIGNoIGlzIG5vdCBjaGFpbmVkIHRoZW4gY2hhaW5faWQgd2lsbCBiZSAtMSAqLwogCWlmIChkbWFfY2hhbltjaF0uY2hhaW5faWQgIT0gLTEpIHsKIAkJaW50IGNoYWluX2lkID0gZG1hX2NoYW5bY2hdLmNoYWluX2lkOwogCQlkbWFfY2hhbltjaF0uc3RhdGUgPSBETUFfQ0hfTk9UU1RBUlRFRDsKLQkJaWYgKE9NQVBfRE1BX0NMTktfQ1RSTF9SRUcoY2gpICYgKDEgPDwgMTUpKQorCQlpZiAoZG1hX3JlYWQoQ0xOS19DVFJMKGNoKSkgJiAoMSA8PCAxNSkpCiAJCQlkbWFfY2hhbltkbWFfY2hhbltjaF0ubmV4dF9saW5rZWRfY2hdLnN0YXRlID0KIAkJCQkJCQlETUFfQ0hfU1RBUlRFRDsKIAkJaWYgKGRtYV9saW5rZWRfbGNoW2NoYWluX2lkXS5jaGFpbl9tb2RlID09CkBAIC0xNzAxLDEzICsxODc1LDEzIEBACiAJCWlmICghT01BUF9ETUFfQ0hBSU5fUUVNUFRZKGNoYWluX2lkKSkKIAkJCU9NQVBfRE1BX0NIQUlOX0lOQ1FIRUFEKGNoYWluX2lkKTsKIAotCQlzdGF0dXMgPSBPTUFQX0RNQV9DU1JfUkVHKGNoKTsKKwkJc3RhdHVzID0gZG1hX3JlYWQoQ1NSKGNoKSk7CiAJfQogCiAJaWYgKGxpa2VseShkbWFfY2hhbltjaF0uY2FsbGJhY2sgIT0gTlVMTCkpCiAJCWRtYV9jaGFuW2NoXS5jYWxsYmFjayhjaCwgc3RhdHVzLCBkbWFfY2hhbltjaF0uZGF0YSk7CiAKLQlPTUFQX0RNQV9DU1JfUkVHKGNoKSA9IHN0YXR1czsKKwlkbWFfd3JpdGUoc3RhdHVzLCBDU1IoY2gpKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTcxOCwxMyArMTg5MiwxMyBAQAogCXUzMiB2YWw7CiAJaW50IGk7CiAKLQl2YWwgPSBvbWFwX3JlYWRsKE9NQVBfRE1BNF9JUlFTVEFUVVNfTDApOworCXZhbCA9IGRtYV9yZWFkKElSUVNUQVRVU19MMCk7CiAJaWYgKHZhbCA9PSAwKSB7CiAJCWlmIChwcmludGtfcmF0ZWxpbWl0KCkpCiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJTcHVyaW91cyBETUEgSVJRXG4iKTsKIAkJcmV0dXJuIElSUV9IQU5ETEVEOwogCX0KLQlmb3IgKGkgPSAwOyBpIDwgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVCAmJiB2YWwgIT0gMDsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGRtYV9sY2hfY291bnQgJiYgdmFsICE9IDA7IGkrKykgewogCQlpZiAodmFsICYgMSkKIAkJCW9tYXAyX2RtYV9oYW5kbGVfY2goaSk7CiAJCXZhbCA+Pj0gMTsKQEAgLTE3NDgsNyArMTkyMiw3IEBACiBzdGF0aWMgc3RydWN0IGxjZF9kbWFfaW5mbyB7CiAJc3BpbmxvY2tfdCBsb2NrOwogCWludCByZXNlcnZlZDsKLQl2b2lkICgqIGNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKTsKKwl2b2lkICgqY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpOwogCXZvaWQgKmNiX2RhdGE7CiAKIAlpbnQgYWN0aXZlOwpAQCAtMTc3MCw2ICsxOTQ0LDcgQEAKIAlsY2RfZG1hLnhyZXMgPSBmYl94cmVzOwogCWxjZF9kbWEueXJlcyA9IGZiX3lyZXM7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjEpOwogCiB2b2lkIG9tYXBfc2V0X2xjZF9kbWFfc3JjX3BvcnQoaW50IHBvcnQpCiB7CkBAIC0xNzgwLDEyICsxOTU1LDEzIEBACiB7CiAJbGNkX2RtYS5leHRfY3RybCA9IGV4dGVybmFsOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2V4dF9jb250cm9sbGVyKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX3NpbmdsZV90cmFuc2ZlcihpbnQgc2luZ2xlKQogewogCWxjZF9kbWEuc2luZ2xlX3RyYW5zZmVyID0gc2luZ2xlOwogfQotCitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfc2luZ2xlX3RyYW5zZmVyKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX2IxX3JvdGF0aW9uKGludCByb3RhdGUpCiB7CkBAIC0xNzk2LDYgKzE5NzIsNyBAQAogCX0KIAlsY2RfZG1hLnJvdGF0ZSA9IHJvdGF0ZTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zZXRfbGNkX2RtYV9iMV9yb3RhdGlvbik7CiAKIHZvaWQgb21hcF9zZXRfbGNkX2RtYV9iMV9taXJyb3IoaW50IG1pcnJvcikKIHsKQEAgLTE4MDUsNiArMTk4Miw3IEBACiAJfQogCWxjZF9kbWEubWlycm9yID0gbWlycm9yOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX21pcnJvcik7CiAKIHZvaWQgb21hcF9zZXRfbGNkX2RtYV9iMV92eHJlcyh1bnNpZ25lZCBsb25nIHZ4cmVzKQogewpAQCAtMTgxNSw2ICsxOTkzLDcgQEAKIAl9CiAJbGNkX2RtYS52eHJlcyA9IHZ4cmVzOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3Z4cmVzKTsKIAogdm9pZCBvbWFwX3NldF9sY2RfZG1hX2IxX3NjYWxlKHVuc2lnbmVkIGludCB4c2NhbGUsIHVuc2lnbmVkIGludCB5c2NhbGUpCiB7CkBAIC0xODI1LDYgKzIwMDQsNyBAQAogCWxjZF9kbWEueHNjYWxlID0geHNjYWxlOwogCWxjZF9kbWEueXNjYWxlID0geXNjYWxlOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3NjYWxlKTsKIAogc3RhdGljIHZvaWQgc2V0X2IxX3JlZ3Modm9pZCkKIHsKQEAgLTE4NTUsOCArMjAzNSwxMSBAQAogCXhzY2FsZSA9IGxjZF9kbWEueHNjYWxlID8gbGNkX2RtYS54c2NhbGUgOiAxOwogCXlzY2FsZSA9IGxjZF9kbWEueXNjYWxlID8gbGNkX2RtYS55c2NhbGUgOiAxOwogCUJVR19PTih2eHJlcyA8IGxjZF9kbWEueHJlcyk7Ci0jZGVmaW5lIFBJWEFERFIoeCx5KSAobGNkX2RtYS5hZGRyICsgKCh5KSAqIHZ4cmVzICogeXNjYWxlICsgKHgpICogeHNjYWxlKSAqIGVzKQorCisjZGVmaW5lIFBJWEFERFIoeCwgeSkgKGxjZF9kbWEuYWRkciArCQkJCQlcCisJCSgoeSkgKiB2eHJlcyAqIHlzY2FsZSArICh4KSAqIHhzY2FsZSkgKiBlcykKICNkZWZpbmUgUElYU1RFUChzeCwgc3ksIGR4LCBkeSkgKFBJWEFERFIoZHgsIGR5KSAtIFBJWEFERFIoc3gsIHN5KSAtIGVzICsgMSkKKwogCXN3aXRjaCAobGNkX2RtYS5yb3RhdGUpIHsKIAljYXNlIDA6CiAJCWlmICghbGNkX2RtYS5taXJyb3IpIHsKQEAgLTE4NjUsOCArMjA0OCw4IEBACiAJCQkvKiAxNTEwIERNQSByZXF1aXJlcyB0aGUgYm90dG9tIGFkZHJlc3MgdG8gYmUgMiBtb3JlCiAJCQkgKiB0aGFuIHRoZSBhY3R1YWwgbGFzdCBtZW1vcnkgYWNjZXNzIGxvY2F0aW9uLiAqLwogCQkJaWYgKG9tYXBfZG1hX2luXzE1MTBfbW9kZSgpICYmCi0JCQkgICAgbGNkX2RtYS5kYXRhX3R5cGUgPT0gT01BUF9ETUFfREFUQV9UWVBFX1MzMikKLQkJCQlib3R0b20gKz0gMjsKKwkJCQlsY2RfZG1hLmRhdGFfdHlwZSA9PSBPTUFQX0RNQV9EQVRBX1RZUEVfUzMyKQorCQkJCQlib3R0b20gKz0gMjsKIAkJCWVpID0gUElYU1RFUCgwLCAwLCAxLCAwKTsKIAkJCWZpID0gUElYU1RFUChsY2RfZG1hLnhyZXMgLSAxLCAwLCAwLCAxKTsKIAkJfSBlbHNlIHsKQEAgLTE5OTMsNyArMjE3Niw3IEBACiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCi1pbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKiBjYWxsYmFjaykodTE2IHN0YXR1cywgdm9pZCAqZGF0YSksCitpbnQgb21hcF9yZXF1ZXN0X2xjZF9kbWEodm9pZCAoKmNhbGxiYWNrKSh1MTYgc3RhdHVzLCB2b2lkICpkYXRhKSwKIAkJCSB2b2lkICpkYXRhKQogewogCXNwaW5fbG9ja19pcnEoJmxjZF9kbWEubG9jayk7CkBAIC0yMDE5LDYgKzIyMDIsNyBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfcmVxdWVzdF9sY2RfZG1hKTsKIAogdm9pZCBvbWFwX2ZyZWVfbGNkX2RtYSh2b2lkKQogewpAQCAtMjAzNSwxMiArMjIxOSwxNCBAQAogCWxjZF9kbWEucmVzZXJ2ZWQgPSAwOwogCXNwaW5fdW5sb2NrKCZsY2RfZG1hLmxvY2spOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2ZyZWVfbGNkX2RtYSk7CiAKIHZvaWQgb21hcF9lbmFibGVfbGNkX2RtYSh2b2lkKQogewogCXUxNiB3OwogCi0JLyogU2V0IHRoZSBFbmFibGUgYml0IG9ubHkgaWYgYW4gZXh0ZXJuYWwgY29udHJvbGxlciBpcworCS8qCisJICogU2V0IHRoZSBFbmFibGUgYml0IG9ubHkgaWYgYW4gZXh0ZXJuYWwgY29udHJvbGxlciBpcwogCSAqIGNvbm5lY3RlZC4gT3RoZXJ3aXNlIHRoZSBPTUFQIGludGVybmFsIGNvbnRyb2xsZXIgd2lsbAogCSAqIHN0YXJ0IHRoZSB0cmFuc2ZlciB3aGVuIGl0IGdldHMgZW5hYmxlZC4KIAkgKi8KQEAgLTIwNTcsNiArMjI0Myw3IEBACiAJdyB8PSAxIDw8IDc7CiAJb21hcF93cml0ZXcodywgT01BUDE2MTBfRE1BX0xDRF9DQ1IpOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX2VuYWJsZV9sY2RfZG1hKTsKIAogdm9pZCBvbWFwX3NldHVwX2xjZF9kbWEodm9pZCkKIHsKQEAgLTIwNzIsMTYgKzIyNTksMTggQEAKIAkJdTE2IHc7CiAKIAkJdyA9IG9tYXBfcmVhZHcoT01BUDE2MTBfRE1BX0xDRF9DQ1IpOwotCQkvKiBJZiBETUEgd2FzIGFscmVhZHkgYWN0aXZlIHNldCB0aGUgZW5kX3Byb2cgYml0IHRvIGhhdmUKKwkJLyoKKwkJICogSWYgRE1BIHdhcyBhbHJlYWR5IGFjdGl2ZSBzZXQgdGhlIGVuZF9wcm9nIGJpdCB0byBoYXZlCiAJCSAqIHRoZSBwcm9ncmFtbWVkIHJlZ2lzdGVyIHNldCBsb2FkZWQgaW50byB0aGUgYWN0aXZlCiAJCSAqIHJlZ2lzdGVyIHNldC4KIAkJICovCiAJCXcgfD0gMSA8PCAxMTsJCS8qIEVuZF9wcm9nICovCiAJCWlmICghbGNkX2RtYS5zaW5nbGVfdHJhbnNmZXIpCi0JICAgICAgICAJdyB8PSAoMyA8PCA4KTsJLyogQXV0b19pbml0LCByZXBlYXQgKi8KKwkJCXcgfD0gKDMgPDwgOCk7CS8qIEF1dG9faW5pdCwgcmVwZWF0ICovCiAJCW9tYXBfd3JpdGV3KHcsIE9NQVAxNjEwX0RNQV9MQ0RfQ0NSKTsKIAl9CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfc2V0dXBfbGNkX2RtYSk7CiAKIHZvaWQgb21hcF9zdG9wX2xjZF9kbWEodm9pZCkKIHsKQEAgLTIwOTksNiArMjI4OCw3IEBACiAJdyAmPSB+KDEgPDwgOCk7CiAJb21hcF93cml0ZXcodywgT01BUDE2MTBfRE1BX0xDRF9DVFJMKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9zdG9wX2xjZF9kbWEpOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0yMTA2LDI3ICsyMjk2LDU1IEBACiB7CiAJaW50IGNoLCByOwogCisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7CisJCW9tYXBfZG1hX2Jhc2UgPSAodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhPTUFQMV9ETUFfQkFTRSk7CisJCWRtYV9sY2hfY291bnQgPSBPTUFQMV9MT0dJQ0FMX0RNQV9DSF9DT1VOVDsKKwl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7CisJCW9tYXBfZG1hX2Jhc2UgPSAodm9pZCBfX2lvbWVtICopSU9fQUREUkVTUyhPTUFQMjRYWF9ETUE0X0JBU0UpOworCQlkbWFfbGNoX2NvdW50ID0gT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UOworCX0gZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJb21hcF9kbWFfYmFzZSA9ICh2b2lkIF9faW9tZW0gKilJT19BRERSRVNTKE9NQVAzNFhYX0RNQTRfQkFTRSk7CisJCWRtYV9sY2hfY291bnQgPSBPTUFQX0RNQTRfTE9HSUNBTF9ETUFfQ0hfQ09VTlQ7CisJfSBlbHNlIHsKKwkJcHJfZXJyKCJETUEgaW5pdCBmYWlsZWQgZm9yIHVuc3VwcG9ydGVkIG9tYXBcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlkbWFfY2hhbiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBvbWFwX2RtYV9sY2gpICogZG1hX2xjaF9jb3VudCwKKwkJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9jaGFuKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChjcHVfY2xhc3NfaXNfb21hcDIoKSkgeworCQlkbWFfbGlua2VkX2xjaCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkbWFfbGlua19pbmZvKSAqCisJCQkJCQlkbWFfbGNoX2NvdW50LCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFkbWFfbGlua2VkX2xjaCkgeworCQkJa2ZyZWUoZG1hX2NoYW4pOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiRE1BIHN1cHBvcnQgZm9yIE9NQVAxNXh4IGluaXRpYWxpemVkXG4iKTsKIAkJZG1hX2NoYW5fY291bnQgPSA5OwogCQllbmFibGVfMTUxMF9tb2RlID0gMTsKIAl9IGVsc2UgaWYgKGNwdV9pc19vbWFwMTZ4eCgpIHx8IGNwdV9pc19vbWFwNzMwKCkpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiT01BUCBETUEgaGFyZHdhcmUgdmVyc2lvbiAlZFxuIiwKLQkJICAgICAgIG9tYXBfcmVhZHcoT01BUF9ETUFfSFdfSUQpKTsKKwkJICAgICAgIGRtYV9yZWFkKEhXX0lEKSk7CiAJCXByaW50ayhLRVJOX0lORk8gIkRNQSBjYXBhYmlsaXRpZXM6ICUwOHg6JTA4eDolMDR4OiUwNHg6JTA0eFxuIiwKLQkJICAgICAgIChvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfMF9VKSA8PCAxNikgfAotCQkgICAgICAgb21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzBfTCksCi0JCSAgICAgICAob21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzFfVSkgPDwgMTYpIHwKLQkJICAgICAgIG9tYXBfcmVhZHcoT01BUF9ETUFfQ0FQU18xX0wpLAotCQkgICAgICAgb21hcF9yZWFkdyhPTUFQX0RNQV9DQVBTXzIpLCBvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfMyksCi0JCSAgICAgICBvbWFwX3JlYWR3KE9NQVBfRE1BX0NBUFNfNCkpOworCQkgICAgICAgKGRtYV9yZWFkKENBUFNfMF9VKSA8PCAxNikgfAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18wX0wpLAorCQkgICAgICAgKGRtYV9yZWFkKENBUFNfMV9VKSA8PCAxNikgfAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18xX0wpLAorCQkgICAgICAgZG1hX3JlYWQoQ0FQU18yKSwgZG1hX3JlYWQoQ0FQU18zKSwKKwkJICAgICAgIGRtYV9yZWFkKENBUFNfNCkpOwogCQlpZiAoIWVuYWJsZV8xNTEwX21vZGUpIHsKIAkJCXUxNiB3OwogCiAJCQkvKiBEaXNhYmxlIE9NQVAgMy4wLzMuMSBjb21wYXRpYmlsaXR5IG1vZGUuICovCi0JCQl3ID0gb21hcF9yZWFkdyhPTUFQX0RNQV9HU0NSKTsKKwkJCXcgPSBkbWFfcmVhZChHU0NSKTsKIAkJCXcgfD0gMSA8PCAzOwotCQkJb21hcF93cml0ZXcodywgT01BUF9ETUFfR1NDUik7CisJCQlkbWFfd3JpdGUodywgR1NDUik7CiAJCQlkbWFfY2hhbl9jb3VudCA9IDE2OwogCQl9IGVsc2UKIAkJCWRtYV9jaGFuX2NvdW50ID0gOTsKQEAgLTIxMzksMTkgKzIzNTcsMTcgQEAKIAkJCW9tYXBfd3JpdGV3KHcsIE9NQVAxNjEwX0RNQV9MQ0RfQ1RSTCk7CiAJCX0KIAl9IGVsc2UgaWYgKGNwdV9jbGFzc19pc19vbWFwMigpKSB7Ci0JCXU4IHJldmlzaW9uID0gb21hcF9yZWFkYihPTUFQX0RNQTRfUkVWSVNJT04pOworCQl1OCByZXZpc2lvbiA9IGRtYV9yZWFkKFJFVklTSU9OKSAmIDB4ZmY7CiAJCXByaW50ayhLRVJOX0lORk8gIk9NQVAgRE1BIGhhcmR3YXJlIHJldmlzaW9uICVkLiVkXG4iLAogCQkgICAgICAgcmV2aXNpb24gPj4gNCwgcmV2aXNpb24gJiAweGYpOwotCQlkbWFfY2hhbl9jb3VudCA9IE9NQVBfTE9HSUNBTF9ETUFfQ0hfQ09VTlQ7CisJCWRtYV9jaGFuX2NvdW50ID0gT01BUF9ETUE0X0xPR0lDQUxfRE1BX0NIX0NPVU5UOwogCX0gZWxzZSB7CiAJCWRtYV9jaGFuX2NvdW50ID0gMDsKIAkJcmV0dXJuIDA7CiAJfQogCi0JbWVtc2V0KCZsY2RfZG1hLCAwLCBzaXplb2YobGNkX2RtYSkpOwogCXNwaW5fbG9ja19pbml0KCZsY2RfZG1hLmxvY2spOwogCXNwaW5fbG9ja19pbml0KCZkbWFfY2hhbl9sb2NrKTsKLQltZW1zZXQoJmRtYV9jaGFuLCAwLCBzaXplb2YoZG1hX2NoYW4pKTsKIAogCWZvciAoY2ggPSAwOyBjaCA8IGRtYV9jaGFuX2NvdW50OyBjaCsrKSB7CiAJCW9tYXBfY2xlYXJfZG1hKGNoKTsKQEAgLTIxNjIsOCArMjM3OCwxMCBAQAogCQkJY29udGludWU7CiAKIAkJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpKSB7Ci0JCQkvKiByZXF1ZXN0X2lycSgpIGRvZXNuJ3QgbGlrZSBkZXZfaWQgKGllLiBjaCkgYmVpbmcKLQkJCSAqIHplcm8sIHNvIHdlIGhhdmUgdG8ga2x1ZGdlIGFyb3VuZCB0aGlzLiAqLworCQkJLyoKKwkJCSAqIHJlcXVlc3RfaXJxKCkgZG9lc24ndCBsaWtlIGRldl9pZCAoaWUuIGNoKSBiZWluZworCQkJICogemVybywgc28gd2UgaGF2ZSB0byBrbHVkZ2UgYXJvdW5kIHRoaXMuCisJCQkgKi8KIAkJCXIgPSByZXF1ZXN0X2lycShvbWFwMV9kbWFfaXJxW2NoXSwKIAkJCQkJb21hcDFfZG1hX2lycV9oYW5kbGVyLCAwLCAiRE1BIiwKIAkJCQkJKHZvaWQgKikgKGNoICsgMSkpOwpAQCAtMjIwOCw0OCArMjQyNiw0IEBACiAKIGFyY2hfaW5pdGNhbGwob21hcF9pbml0X2RtYSk7CiAKLUVYUE9SVF9TWU1CT0wob21hcF9nZXRfZG1hX3NyY19wb3MpOwotRVhQT1JUX1NZTUJPTChvbWFwX2dldF9kbWFfZHN0X3Bvcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZ2V0X2RtYV9zcmNfYWRkcl9jb3VudGVyKTsKLUVYUE9SVF9TWU1CT0wob21hcF9jbGVhcl9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfcHJpb3JpdHkpOwotRVhQT1JUX1NZTUJPTChvbWFwX3JlcXVlc3RfZG1hKTsKLUVYUE9SVF9TWU1CT0wob21hcF9mcmVlX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc3RhcnRfZG1hKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zdG9wX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jYWxsYmFjayk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZW5hYmxlX2RtYV9pcnEpOwotRVhQT1JUX1NZTUJPTChvbWFwX2Rpc2FibGVfZG1hX2lycSk7Ci0KLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9jb2xvcl9tb2RlKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3dyaXRlX21vZGUpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfcGFyYW1zKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3NyY19pbmRleCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9zcmNfZGF0YV9wYWNrKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKTsKLQotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9kbWFfZGVzdF9pbmRleCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X2RhdGFfcGFjayk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9kZXN0X2J1cnN0X21vZGUpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2RtYV9wYXJhbXMpOwotCi1FWFBPUlRfU1lNQk9MKG9tYXBfZG1hX2xpbmtfbGNoKTsKLUVYUE9SVF9TWU1CT0wob21hcF9kbWFfdW5saW5rX2xjaCk7Ci0KLUVYUE9SVF9TWU1CT0wob21hcF9yZXF1ZXN0X2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX2ZyZWVfbGNkX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfZW5hYmxlX2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldHVwX2xjZF9kbWEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3N0b3BfbGNkX2RtYSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjEpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX3NpbmdsZV90cmFuc2Zlcik7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfZXh0X2NvbnRyb2xsZXIpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX3JvdGF0aW9uKTsKLUVYUE9SVF9TWU1CT0wob21hcF9zZXRfbGNkX2RtYV9iMV92eHJlcyk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfc2V0X2xjZF9kbWFfYjFfc2NhbGUpOwotRVhQT1JUX1NZTUJPTChvbWFwX3NldF9sY2RfZG1hX2IxX21pcnJvcik7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbXRpbWVyLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvZG10aW1lci5jCmluZGV4IDMwMmFkOGQuLmYyMjUwNmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9kbXRpbWVyLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL2RtdGltZXIuYwpAQCAtMzgsMzQgKzM4LDExMyBAQAogI2luY2x1ZGUgPGFzbS9hcmNoL2lycXMuaD4KIAogLyogcmVnaXN0ZXIgb2Zmc2V0cyAqLwotI2RlZmluZSBPTUFQX1RJTUVSX0lEX1JFRwkJMHgwMAotI2RlZmluZSBPTUFQX1RJTUVSX09DUF9DRkdfUkVHCQkweDEwCi0jZGVmaW5lIE9NQVBfVElNRVJfU1lTX1NUQVRfUkVHCQkweDE0Ci0jZGVmaW5lIE9NQVBfVElNRVJfU1RBVF9SRUcJCTB4MTgKLSNkZWZpbmUgT01BUF9USU1FUl9JTlRfRU5fUkVHCQkweDFjCi0jZGVmaW5lIE9NQVBfVElNRVJfV0FLRVVQX0VOX1JFRwkweDIwCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9SRUcJCTB4MjQKLSNkZWZpbmUgT01BUF9USU1FUl9DT1VOVEVSX1JFRwkJMHgyOAotI2RlZmluZSBPTUFQX1RJTUVSX0xPQURfUkVHCQkweDJjCi0jZGVmaW5lIE9NQVBfVElNRVJfVFJJR0dFUl9SRUcJCTB4MzAKLSNkZWZpbmUgT01BUF9USU1FUl9XUklURV9QRU5EX1JFRwkweDM0Ci0jZGVmaW5lIE9NQVBfVElNRVJfTUFUQ0hfUkVHCQkweDM4Ci0jZGVmaW5lIE9NQVBfVElNRVJfQ0FQVFVSRV9SRUcJCTB4M2MKLSNkZWZpbmUgT01BUF9USU1FUl9JRl9DVFJMX1JFRwkJMHg0MAorI2RlZmluZSBfT01BUF9USU1FUl9JRF9PRkZTRVQJCTB4MDAKKyNkZWZpbmUgX09NQVBfVElNRVJfT0NQX0NGR19PRkZTRVQJMHgxMAorI2RlZmluZSBfT01BUF9USU1FUl9TWVNfU1RBVF9PRkZTRVQJMHgxNAorI2RlZmluZSBfT01BUF9USU1FUl9TVEFUX09GRlNFVAkJMHgxOAorI2RlZmluZSBfT01BUF9USU1FUl9JTlRfRU5fT0ZGU0VUCTB4MWMKKyNkZWZpbmUgX09NQVBfVElNRVJfV0FLRVVQX0VOX09GRlNFVAkweDIwCisjZGVmaW5lIF9PTUFQX1RJTUVSX0NUUkxfT0ZGU0VUCQkweDI0CisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfR1BPQ0ZHCQkoMSA8PCAxNCkKKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9DQVBUTU9ERQkoMSA8PCAxMykKKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9QVAkJKDEgPDwgMTIpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0xPV1RPSElHSAkoMHgxIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0hJR0hUT0xPVwkoMHgyIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfVENNX0JPVEhFREdFUwkoMHgzIDw8IDgpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfU0NQV00JCSgxIDw8IDcpCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfQ0UJCSgxIDw8IDYpIC8qIGNvbXBhcmUgZW5hYmxlICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUFJFCQkoMSA8PCA1KSAvKiBwcmVzY2FsZXIgZW5hYmxlICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUFRWX1NISUZUCTIgLyogcHJlc2NhbGVyIHZhbHVlIHNoaWZ0ICovCisjZGVmaW5lCQlPTUFQX1RJTUVSX0NUUkxfUE9TVEVECQkoMSA8PCAyKQorI2RlZmluZQkJT01BUF9USU1FUl9DVFJMX0FSCQkoMSA8PCAxKSAvKiBhdXRvLXJlbG9hZCBlbmFibGUgKi8KKyNkZWZpbmUJCU9NQVBfVElNRVJfQ1RSTF9TVAkJKDEgPDwgMCkgLyogc3RhcnQgdGltZXIgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfQ09VTlRFUl9PRkZTRVQJMHgyOAorI2RlZmluZSBfT01BUF9USU1FUl9MT0FEX09GRlNFVAkJMHgyYworI2RlZmluZSBfT01BUF9USU1FUl9UUklHR0VSX09GRlNFVAkweDMwCisjZGVmaW5lIF9PTUFQX1RJTUVSX1dSSVRFX1BFTkRfT0ZGU0VUCTB4MzQKKyNkZWZpbmUJCVdQX05PTkUJCQkwCS8qIG5vIHdyaXRlIHBlbmRpbmcgYml0ICovCisjZGVmaW5lCQlXUF9UQ0xSCQkJKDEgPDwgMCkKKyNkZWZpbmUJCVdQX1RDUlIJCQkoMSA8PCAxKQorI2RlZmluZQkJV1BfVExEUgkJCSgxIDw8IDIpCisjZGVmaW5lCQlXUF9UVEdSCQkJKDEgPDwgMykKKyNkZWZpbmUJCVdQX1RNQVIJCQkoMSA8PCA0KQorI2RlZmluZQkJV1BfVFBJUgkJCSgxIDw8IDUpCisjZGVmaW5lCQlXUF9UTklSCQkJKDEgPDwgNikKKyNkZWZpbmUJCVdQX1RDVlIJCQkoMSA8PCA3KQorI2RlZmluZQkJV1BfVE9DUgkJCSgxIDw8IDgpCisjZGVmaW5lCQlXUF9UT1dSCQkJKDEgPDwgOSkKKyNkZWZpbmUgX09NQVBfVElNRVJfTUFUQ0hfT0ZGU0VUCTB4MzgKKyNkZWZpbmUgX09NQVBfVElNRVJfQ0FQVFVSRV9PRkZTRVQJMHgzYworI2RlZmluZSBfT01BUF9USU1FUl9JRl9DVFJMX09GRlNFVAkweDQwCisjZGVmaW5lIF9PTUFQX1RJTUVSX0NBUFRVUkUyX09GRlNFVAkJMHg0NAkvKiBUQ0FSMiwgMzR4eCBvbmx5ICovCisjZGVmaW5lIF9PTUFQX1RJTUVSX1RJQ0tfUE9TX09GRlNFVAkJMHg0OAkvKiBUUElSLCAzNHh4IG9ubHkgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfVElDS19ORUdfT0ZGU0VUCQkweDRjCS8qIFROSVIsIDM0eHggb25seSAqLworI2RlZmluZSBfT01BUF9USU1FUl9USUNLX0NPVU5UX09GRlNFVAkJMHg1MAkvKiBUQ1ZSLCAzNHh4IG9ubHkgKi8KKyNkZWZpbmUgX09NQVBfVElNRVJfVElDS19JTlRfTUFTS19TRVRfT0ZGU0VUCTB4NTQJLyogVE9DUiwgMzR4eCBvbmx5ICovCisjZGVmaW5lIF9PTUFQX1RJTUVSX1RJQ0tfSU5UX01BU0tfQ09VTlRfT0ZGU0VUCTB4NTgJLyogVE9XUiwgMzR4eCBvbmx5ICovCiAKLS8qIHRpbWVyIGNvbnRyb2wgcmVnIGJpdHMgKi8KLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX0dQT0NGRwkJKDEgPDwgMTQpCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9DQVBUTU9ERQkoMSA8PCAxMykKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1BUCQkoMSA8PCAxMikKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1RDTV9MT1dUT0hJR0gJKDB4MSA8PCA4KQotI2RlZmluZSBPTUFQX1RJTUVSX0NUUkxfVENNX0hJR0hUT0xPVwkoMHgyIDw8IDgpCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9UQ01fQk9USEVER0VTCSgweDMgPDwgOCkKLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1NDUFdNCQkoMSA8PCA3KQotI2RlZmluZSBPTUFQX1RJTUVSX0NUUkxfQ0UJCSgxIDw8IDYpCS8qIGNvbXBhcmUgZW5hYmxlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9QUkUJCSgxIDw8IDUpCS8qIHByZXNjYWxlciBlbmFibGUgKi8KLSNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1BUVl9TSElGVAkyCQkvKiBob3cgbXVjaCB0byBzaGlmdCB0aGUgcHJlc2NhbGVyIHZhbHVlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9BUgkJKDEgPDwgMSkJLyogYXV0by1yZWxvYWQgZW5hYmxlICovCi0jZGVmaW5lIE9NQVBfVElNRVJfQ1RSTF9TVAkJKDEgPDwgMCkJLyogc3RhcnQgdGltZXIgKi8KKy8qIHJlZ2lzdGVyIG9mZnNldHMgd2l0aCB0aGUgd3JpdGUgcGVuZGluZyBiaXQgZW5jb2RlZCAqLworI2RlZmluZQlXUFNISUZUCQkJCQkxNgorCisjZGVmaW5lIE9NQVBfVElNRVJfSURfUkVHCQkJKF9PTUFQX1RJTUVSX0lEX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX09DUF9DRkdfUkVHCQkJKF9PTUFQX1RJTUVSX09DUF9DRkdfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfU1lTX1NUQVRfUkVHCQkJKF9PTUFQX1RJTUVSX1NZU19TVEFUX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1NUQVRfUkVHCQkJKF9PTUFQX1RJTUVSX1NUQVRfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfSU5UX0VOX1JFRwkJCShfT01BUF9USU1FUl9JTlRfRU5fT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9OT05FIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfV0FLRVVQX0VOX1JFRwkJKF9PTUFQX1RJTUVSX1dBS0VVUF9FTl9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9DVFJMX1JFRwkJCShfT01BUF9USU1FUl9DVFJMX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVENMUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX0NPVU5URVJfUkVHCQkJKF9PTUFQX1RJTUVSX0NPVU5URVJfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UQ1JSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfTE9BRF9SRUcJCQkoX09NQVBfVElNRVJfTE9BRF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX1RMRFIgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9UUklHR0VSX1JFRwkJCShfT01BUF9USU1FUl9UUklHR0VSX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVFRHUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1dSSVRFX1BFTkRfUkVHCQkoX09NQVBfVElNRVJfV1JJVEVfUEVORF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9NQVRDSF9SRUcJCQkoX09NQVBfVElNRVJfTUFUQ0hfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UTUFSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfQ0FQVFVSRV9SRUcJCQkoX09NQVBfVElNRVJfQ0FQVFVSRV9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9JRl9DVFJMX1JFRwkJCShfT01BUF9USU1FUl9JRl9DVFJMX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfTk9ORSA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX0NBUFRVUkUyX1JFRwkJCShfT01BUF9USU1FUl9DQVBUVVJFMl9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX05PTkUgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX1BPU19SRUcJCQkoX09NQVBfVElNRVJfVElDS19QT1NfT0ZGU0VUIFwKKwkJCQkJCQl8IChXUF9UUElSIDw8IFdQU0hJRlQpKQorCisjZGVmaW5lIE9NQVBfVElNRVJfVElDS19ORUdfUkVHCQkJKF9PTUFQX1RJTUVSX1RJQ0tfTkVHX09GRlNFVCBcCisJCQkJCQkJfCAoV1BfVE5JUiA8PCBXUFNISUZUKSkKKworI2RlZmluZSBPTUFQX1RJTUVSX1RJQ0tfQ09VTlRfUkVHCQkoX09NQVBfVElNRVJfVElDS19DT1VOVF9PRkZTRVQgXAorCQkJCQkJCXwgKFdQX1RDVlIgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX1NFVF9SRUcJCQkJXAorCQkoX09NQVBfVElNRVJfVElDS19JTlRfTUFTS19TRVRfT0ZGU0VUIHwgKFdQX1RPQ1IgPDwgV1BTSElGVCkpCisKKyNkZWZpbmUgT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX0NPVU5UX1JFRwkJCQlcCisJCShfT01BUF9USU1FUl9USUNLX0lOVF9NQVNLX0NPVU5UX09GRlNFVCB8IChXUF9UT1dSIDw8IFdQU0hJRlQpKQogCiBzdHJ1Y3Qgb21hcF9kbV90aW1lciB7CiAJdW5zaWduZWQgbG9uZyBwaHlzX2Jhc2U7CkBAIC03Niw2ICsxNTUsNyBAQAogCXZvaWQgX19pb21lbSAqaW9fYmFzZTsKIAl1bnNpZ25lZCByZXNlcnZlZDoxOwogCXVuc2lnbmVkIGVuYWJsZWQ6MTsKKwl1bnNpZ25lZCBwb3N0ZWQ6MTsKIH07CiAKICNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQpAQCAtMTgxLDE2ICsyNjEsMzQgQEAKIAogc3RhdGljIHNwaW5sb2NrX3QgZG1fdGltZXJfbG9jazsKIAotc3RhdGljIGlubGluZSB1MzIgb21hcF9kbV90aW1lcl9yZWFkX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCByZWcpCisvKgorICogUmVhZHMgdGltZXIgcmVnaXN0ZXJzIGluIHBvc3RlZCBhbmQgbm9uLXBvc3RlZCBtb2RlLiBUaGUgcG9zdGVkIG1vZGUgYml0CisgKiBpcyBlbmNvZGVkIGluIHJlZy4gTm90ZSB0aGF0IGluIHBvc3RlZCBtb2RlIHdyaXRlIHBlbmRpbmcgYml0IG11c3QgYmUKKyAqIGNoZWNrZWQuIE90aGVyd2lzZSBhIHJlYWQgb2YgYSBub24gY29tcGxldGVkIHdyaXRlIHdpbGwgcHJvZHVjZSBhbiBlcnJvci4KKyAqLworc3RhdGljIGlubGluZSB1MzIgb21hcF9kbV90aW1lcl9yZWFkX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIHUzMiByZWcpCiB7Ci0JcmV0dXJuIHJlYWRsKHRpbWVyLT5pb19iYXNlICsgcmVnKTsKKwlpZiAodGltZXItPnBvc3RlZCkKKwkJd2hpbGUgKHJlYWRsKHRpbWVyLT5pb19iYXNlICsgKE9NQVBfVElNRVJfV1JJVEVfUEVORF9SRUcgJiAweGZmKSkKKwkJCQkmIChyZWcgPj4gV1BTSElGVCkpCisJCQljcHVfcmVsYXgoKTsKKwlyZXR1cm4gcmVhZGwodGltZXItPmlvX2Jhc2UgKyAocmVnICYgMHhmZikpOwogfQogCi1zdGF0aWMgdm9pZCBvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyhzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCByZWcsIHUzMiB2YWx1ZSkKKy8qCisgKiBXcml0ZXMgdGltZXIgcmVnaXN0ZXJzIGluIHBvc3RlZCBhbmQgbm9uLXBvc3RlZCBtb2RlLiBUaGUgcG9zdGVkIG1vZGUgYml0CisgKiBpcyBlbmNvZGVkIGluIHJlZy4gTm90ZSB0aGF0IGluIHBvc3RlZCBtb2RlIHRoZSB3cml0ZSBwZW5kaW5nIGJpdCBtdXN0IGJlCisgKiBjaGVja2VkLiBPdGhlcndpc2UgYSB3cml0ZSBvbiBhIHJlZ2lzdGVyIHdoaWNoIGhhcyBhIHBlbmRpbmcgd3JpdGUgd2lsbCBiZQorICogbG9zdC4KKyAqLworc3RhdGljIHZvaWQgb21hcF9kbV90aW1lcl93cml0ZV9yZWcoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCB1MzIgcmVnLAorCQkJCQkJdTMyIHZhbHVlKQogewotCXdyaXRlbCh2YWx1ZSwgdGltZXItPmlvX2Jhc2UgKyByZWcpOwotCXdoaWxlIChvbWFwX2RtX3RpbWVyX3JlYWRfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX1dSSVRFX1BFTkRfUkVHKSkKLQkJOworCWlmICh0aW1lci0+cG9zdGVkKQorCQl3aGlsZSAocmVhZGwodGltZXItPmlvX2Jhc2UgKyAoT01BUF9USU1FUl9XUklURV9QRU5EX1JFRyAmIDB4ZmYpKQorCQkJCSYgKHJlZyA+PiBXUFNISUZUKSkKKwkJCWNwdV9yZWxheCgpOworCXdyaXRlbCh2YWx1ZSwgdGltZXItPmlvX2Jhc2UgKyAocmVnICYgMHhmZikpOwogfQogCiBzdGF0aWMgdm9pZCBvbWFwX2RtX3RpbWVyX3dhaXRfZm9yX3Jlc2V0KHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lcikKQEAgLTIxNywxNyArMzE1LDIzIEBACiAJfQogCW9tYXBfZG1fdGltZXJfc2V0X3NvdXJjZSh0aW1lciwgT01BUF9USU1FUl9TUkNfMzJfS0haKTsKIAotCS8qIFNldCB0byBzbWFydC1pZGxlIG1vZGUgKi8KIAlsID0gb21hcF9kbV90aW1lcl9yZWFkX3JlZyh0aW1lciwgT01BUF9USU1FUl9PQ1BfQ0ZHX1JFRyk7Ci0JbCB8PSAweDAyIDw8IDM7CisJbCB8PSAweDAyIDw8IDM7ICAvKiBTZXQgdG8gc21hcnQtaWRsZSBtb2RlICovCisJbCB8PSAweDIgPDwgODsgICAvKiBTZXQgY2xvY2sgYWN0aXZpdHkgdG8gcGVyc2VydmUgZi1jbG9jayBvbiBpZGxlICovCiAKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgdGltZXIgPT0gJmRtX3RpbWVyc1swXSkgewotCQkvKiBFbmFibGUgd2FrZS11cCBvbmx5IGZvciBHUFQxIG9uIE9NQVAyIENQVXMqLworCS8qCisJICogRW5hYmxlIHdha2UtdXAgb25seSBmb3IgR1BUMSBvbiBPTUFQMiBDUFVzLgorCSAqIEZJWE1FOiBBbGwgdGltZXJzIHNob3VsZCBoYXZlIHdha2UtdXAgZW5hYmxlZCBhbmQgY2xlYXIKKwkgKiBQUkNNIHN0YXR1cy4KKwkgKi8KKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgKHRpbWVyID09ICZkbV90aW1lcnNbMF0pKQogCQlsIHw9IDEgPDwgMjsKLQkJLyogTm9uLXBvc3RlZCBtb2RlICovCi0JCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0lGX0NUUkxfUkVHLCAwKTsKLQl9CiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfT0NQX0NGR19SRUcsIGwpOworCisJLyogTWF0Y2ggaGFyZHdhcmUgcmVzZXQgZGVmYXVsdCBvZiBwb3N0ZWQgbW9kZSAqLworCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0lGX0NUUkxfUkVHLAorCQkJT01BUF9USU1FUl9DVFJMX1BPU1RFRCk7CisJdGltZXItPnBvc3RlZCA9IDE7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfZG1fdGltZXJfcHJlcGFyZShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIpCkBAIC00MzQsOSArNTM4LDMyIEBACiAJCWwgJj0gfk9NQVBfVElNRVJfQ1RSTF9BUjsKIAlvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyh0aW1lciwgT01BUF9USU1FUl9DVFJMX1JFRywgbCk7CiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfTE9BRF9SRUcsIGxvYWQpOworCisJLyogUkVWSVNJVDogaHcgZmVhdHVyZSwgdHRnciBvdmVydGFraW5nIHRsZHI/ICovCisJd2hpbGUgKHJlYWRsKHRpbWVyLT5pb19iYXNlICsgKE9NQVBfVElNRVJfV1JJVEVfUEVORF9SRUcgJiAweGZmKSkpCisJCWNwdV9yZWxheCgpOworCiAJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfVFJJR0dFUl9SRUcsIDApOwogfQogCisvKiBPcHRpbWl6ZWQgc2V0X2xvYWQgd2hpY2ggcmVtb3ZlcyBjb3N0bHkgc3BpbiB3YWl0IGluIHRpbWVyX3N0YXJ0ICovCit2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWRfc3RhcnQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbG9hZCkKK3sKKwl1MzIgbDsKKworCWwgPSBvbWFwX2RtX3RpbWVyX3JlYWRfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0NUUkxfUkVHKTsKKwlpZiAoYXV0b3JlbG9hZCkKKwkJbCB8PSBPTUFQX1RJTUVSX0NUUkxfQVI7CisJZWxzZQorCQlsICY9IH5PTUFQX1RJTUVSX0NUUkxfQVI7CisJbCB8PSBPTUFQX1RJTUVSX0NUUkxfU1Q7CisKKwlvbWFwX2RtX3RpbWVyX3dyaXRlX3JlZyh0aW1lciwgT01BUF9USU1FUl9DT1VOVEVSX1JFRywgbG9hZCk7CisJb21hcF9kbV90aW1lcl93cml0ZV9yZWcodGltZXIsIE9NQVBfVElNRVJfTE9BRF9SRUcsIGxvYWQpOworCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX0NUUkxfUkVHLCBsKTsKK30KKwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9tYXRjaChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBlbmFibGUsCiAJCQkgICAgIHVuc2lnbmVkIGludCBtYXRjaCkKIHsKQEAgLTQ1MSw3ICs1NzgsNiBAQAogCW9tYXBfZG1fdGltZXJfd3JpdGVfcmVnKHRpbWVyLCBPTUFQX1RJTUVSX01BVENIX1JFRywgbWF0Y2gpOwogfQogCi0KIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfcHdtKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IGRlZl9vbiwKIAkJCSAgIGludCB0b2dnbGUsIGludCB0cmlnZ2VyKQogewpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1vbWFwL21jYnNwLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYwppbmRleCA5Y2Y4M2M0Li5jN2Y3NDA2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYworKysgYi9hcmNoL2FybS9wbGF0LW9tYXAvbWNic3AuYwpAQCAtMTUsOTUgKzE1LDY2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvbXV4Lmg+Ci0jaW5jbHVkZSA8YXNtL2FyY2gvaXJxcy5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL2RzcF9jb21tb24uaD4KICNpbmNsdWRlIDxhc20vYXJjaC9tY2JzcC5oPgogCi0jaWZkZWYgQ09ORklHX01DQlNQX0RFQlVHCi0jZGVmaW5lIERCRyh4Li4uKQlwcmludGsoeCkKLSNlbHNlCi0jZGVmaW5lIERCRyh4Li4uKQkJCWRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCi1zdHJ1Y3Qgb21hcF9tY2JzcCB7Ci0JdTMyICAgICAgICAgICAgICAgICAgICAgICAgICBpb19iYXNlOwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ7Ci0JdTggICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggICAgICAgcnhfd29yZF9sZW5ndGg7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCAgICAgICB0eF93b3JkX2xlbmd0aDsKLQotCW9tYXBfbWNic3BfaW9fdHlwZV90ICAgICAgICAgaW9fdHlwZTsgLyogSVJRIG9yIHBvbGwgKi8KLQkvKiBJUlEgYmFzZWQgVFgvUlggKi8KLQlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgIHJ4X2lycTsKLQlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgIHR4X2lycTsKLQotCS8qIERNQSBzdHVmZiAqLwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX3J4X3N5bmM7Ci0Jc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICBkbWFfcnhfbGNoOwotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgZG1hX3R4X3N5bmM7Ci0Jc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICBkbWFfdHhfbGNoOwotCi0JLyogQ29tcGxldGlvbiBxdWV1ZXMgKi8KLQlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAgICAgIHR4X2lycV9jb21wbGV0aW9uOwotCXN0cnVjdCBjb21wbGV0aW9uICAgICAgICAgICAgcnhfaXJxX2NvbXBsZXRpb247Ci0Jc3RydWN0IGNvbXBsZXRpb24gICAgICAgICAgICB0eF9kbWFfY29tcGxldGlvbjsKLQlzdHJ1Y3QgY29tcGxldGlvbiAgICAgICAgICAgIHJ4X2RtYV9jb21wbGV0aW9uOwotCi0Jc3BpbmxvY2tfdCAgICAgICAgICAgICAgICAgICBsb2NrOwotfTsKLQogc3RhdGljIHN0cnVjdCBvbWFwX21jYnNwIG1jYnNwW09NQVBfTUFYX01DQlNQX0NPVU5UXTsKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQotc3RhdGljIHN0cnVjdCBjbGsgKm1jYnNwX2RzcF9jayA9IDA7Ci1zdGF0aWMgc3RydWN0IGNsayAqbWNic3BfYXBpX2NrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcF9kc3B4b3JfY2sgPSAwOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDFfaWNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDFfZmNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDJfaWNrID0gMDsKLXN0YXRpYyBzdHJ1Y3QgY2xrICptY2JzcDJfZmNrID0gMDsKLSNlbmRpZgorCisjZGVmaW5lIG9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpCShtY2JzcFtpZF0ucGRhdGEgJiYgXAorCQkJCQltY2JzcFtpZF0ucGRhdGEtPm9wcyAmJiBcCisJCQkJCW1jYnNwW2lkXS5wZGF0YS0+b3BzLT5jaGVjayAmJiBcCisJCQkJCShtY2JzcFtpZF0ucGRhdGEtPm9wcy0+Y2hlY2soaWQpID09IDApKQogCiBzdGF0aWMgdm9pZCBvbWFwX21jYnNwX2R1bXBfcmVnKHU4IGlkKQogewotCURCRygiKioqKiBNQ0JTUCVkIHJlZ3MgKioqKlxuIiwgbWNic3BbaWRdLmlkKTsKLQlEQkcoIkRSUjI6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFJSMikpOwotCURCRygiRFJSMTogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBEUlIxKSk7Ci0JREJHKCJEWFIyOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERYUjIpKTsKLQlEQkcoIkRYUjE6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFhSMSkpOwotCURCRygiU1BDUjI6IDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMikpOwotCURCRygiU1BDUjE6IDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMSkpOwotCURCRygiUkNSMjogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBSQ1IyKSk7Ci0JREJHKCJSQ1IxOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFJDUjEpKTsKLQlEQkcoIlhDUjI6ICAweCUwNHhcbiIsIE9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgWENSMikpOwotCURCRygiWENSMTogIDB4JTA0eFxuIiwgT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBYQ1IxKSk7Ci0JREJHKCJTUkdSMjogMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IyKSk7Ci0JREJHKCJTUkdSMTogMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IxKSk7Ci0JREJHKCJQQ1IwOiAgMHglMDR4XG4iLCBPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFBDUjApKTsKLQlEQkcoIioqKioqKioqKioqKioqKioqKioqKioqXG4iKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICIqKioqIE1jQlNQJWQgcmVncyAqKioqXG4iLCBtY2JzcFtpZF0uaWQpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIkRSUjI6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERSUjIpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJEUlIxOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBEUlIxKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiRFhSMjogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgRFhSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIkRYUjE6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIERYUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJTUENSMjogMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBTUENSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlNQQ1IxOiAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNQQ1IxKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiUkNSMjogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgUkNSMikpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlJDUjE6ICAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFJDUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJYQ1IyOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBYQ1IyKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiWENSMTogIDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgWENSMSkpOworCWRldl9kYmcobWNic3BbaWRdLmRldiwgIlNSR1IyOiAweCUwNHhcbiIsCisJCQlPTUFQX01DQlNQX1JFQUQobWNic3BbaWRdLmlvX2Jhc2UsIFNSR1IyKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiU1JHUjE6IDB4JTA0eFxuIiwKKwkJCU9NQVBfTUNCU1BfUkVBRChtY2JzcFtpZF0uaW9fYmFzZSwgU1JHUjEpKTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJQQ1IwOiAgMHglMDR4XG4iLAorCQkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwW2lkXS5pb19iYXNlLCBQQ1IwKSk7CisJZGV2X2RiZyhtY2JzcFtpZF0uZGV2LCAiKioqKioqKioqKioqKioqKioqKioqKipcbiIpOwogfQogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb21hcF9tY2JzcF90eF9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CiAJc3RydWN0IG9tYXBfbWNic3AgKm1jYnNwX3R4ID0gZGV2X2lkOwogCi0JREJHKCJUWCBJUlEgY2FsbGJhY2sgOiAweCV4XG4iLAotCSAgICBPTUFQX01DQlNQX1JFQUQobWNic3BfdHgtPmlvX2Jhc2UsIFNQQ1IyKSk7CisJZGV2X2RiZyhtY2JzcF90eC0+ZGV2LCAiVFggSVJRIGNhbGxiYWNrIDogMHgleFxuIiwKKwkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwX3R4LT5pb19iYXNlLCBTUENSMikpOwogCiAJY29tcGxldGUoJm1jYnNwX3R4LT50eF9pcnFfY29tcGxldGlvbik7CisKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTExMSwxMCArODIsMTEgQEAKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3BfcnggPSBkZXZfaWQ7CiAKLQlEQkcoIlJYIElSUSBjYWxsYmFjayA6IDB4JXhcbiIsCi0JICAgIE9NQVBfTUNCU1BfUkVBRChtY2JzcF9yeC0+aW9fYmFzZSwgU1BDUjIpKTsKKwlkZXZfZGJnKG1jYnNwX3J4LT5kZXYsICJSWCBJUlEgY2FsbGJhY2sgOiAweCV4XG4iLAorCQlPTUFQX01DQlNQX1JFQUQobWNic3BfcngtPmlvX2Jhc2UsIFNQQ1IyKSk7CiAKIAljb21wbGV0ZSgmbWNic3BfcngtPnJ4X2lycV9jb21wbGV0aW9uKTsKKwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIApAQCAtMTIyLDggKzk0LDggQEAKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3BfZG1hX3R4ID0gZGF0YTsKIAotCURCRygiVFggRE1BIGNhbGxiYWNrIDogMHgleFxuIiwKLQkgICAgT01BUF9NQ0JTUF9SRUFEKG1jYnNwX2RtYV90eC0+aW9fYmFzZSwgU1BDUjIpKTsKKwlkZXZfZGJnKG1jYnNwX2RtYV90eC0+ZGV2LCAiVFggRE1BIGNhbGxiYWNrIDogMHgleFxuIiwKKwkJT01BUF9NQ0JTUF9SRUFEKG1jYnNwX2RtYV90eC0+aW9fYmFzZSwgU1BDUjIpKTsKIAogCS8qIFdlIGNhbiBmcmVlIHRoZSBjaGFubmVscyAqLwogCW9tYXBfZnJlZV9kbWEobWNic3BfZG1hX3R4LT5kbWFfdHhfbGNoKTsKQEAgLTEzNiw4ICsxMDgsOCBAQAogewogCXN0cnVjdCBvbWFwX21jYnNwICptY2JzcF9kbWFfcnggPSBkYXRhOwogCi0JREJHKCJSWCBETUEgY2FsbGJhY2sgOiAweCV4XG4iLAotCSAgICBPTUFQX01DQlNQX1JFQUQobWNic3BfZG1hX3J4LT5pb19iYXNlLCBTUENSMikpOworCWRldl9kYmcobWNic3BfZG1hX3J4LT5kZXYsICJSWCBETUEgY2FsbGJhY2sgOiAweCV4XG4iLAorCQlPTUFQX01DQlNQX1JFQUQobWNic3BfZG1hX3J4LT5pb19iYXNlLCBTUENSMikpOwogCiAJLyogV2UgY2FuIGZyZWUgdGhlIGNoYW5uZWxzICovCiAJb21hcF9mcmVlX2RtYShtY2JzcF9kbWFfcngtPmRtYV9yeF9sY2gpOwpAQCAtMTQ2LDE5ICsxMTgsMjQgQEAKIAljb21wbGV0ZSgmbWNic3BfZG1hX3J4LT5yeF9kbWFfY29tcGxldGlvbik7CiB9CiAKLQogLyoKICAqIG9tYXBfbWNic3BfY29uZmlnIHNpbXBseSB3cml0ZSBhIGNvbmZpZyB0byB0aGUKICAqIGFwcHJvcHJpYXRlIE1jQlNQLgogICogWW91IGVpdGhlciBjYWxsIHRoaXMgZnVuY3Rpb24gb3Igc2V0IHRoZSBNY0JTUCByZWdpc3RlcnMKICAqIGJ5IHlvdXJzZWxmIGJlZm9yZSBjYWxsaW5nIG9tYXBfbWNic3Bfc3RhcnQoKS4KICAqLwotCi12b2lkIG9tYXBfbWNic3BfY29uZmlnKHVuc2lnbmVkIGludCBpZCwgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfcmVnX2NmZyAqIGNvbmZpZykKK3ZvaWQgb21hcF9tY2JzcF9jb25maWcodW5zaWduZWQgaW50IGlkLCBjb25zdCBzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnICpjb25maWcpCiB7Ci0JdTMyIGlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwl1MzIgaW9fYmFzZTsKIAotCURCRygiT01BUC1NY0JTUDogTWNCU1AlZCAgaW9fYmFzZTogMHglOHhcbiIsIGlkKzEsIGlvX2Jhc2UpOworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuOworCX0KKworCWlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwlkZXZfZGJnKG1jYnNwW2lkXS5kZXYsICJDb25maWd1cmluZyBNY0JTUCVkICBpb19iYXNlOiAweCU4eFxuIiwKKwkJCW1jYnNwW2lkXS5pZCwgaW9fYmFzZSk7CiAKIAkvKiBXZSB3cml0ZSB0aGUgZ2l2ZW4gY29uZmlnICovCiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBTUENSMiwgY29uZmlnLT5zcGNyMik7CkBAIC0xNzMsODMgKzE1MCw3IEBACiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBNQ1IxLCBjb25maWctPm1jcjEpOwogCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgUENSMCwgY29uZmlnLT5wY3IwKTsKIH0KLQotCi0KLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9jaGVjayh1bnNpZ25lZCBpbnQgaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwNzMwKCkpIHsKLQkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQgLSAxKSB7Ci0JCSAgICAgICBwcmludGsoS0VSTl9FUlIgIk9NQVAtTWNCU1A6IE1jQlNQJWQgZG9lc24ndCBleGlzdFxuIiwgaWQgKyAxKTsKLQkJICAgICAgIHJldHVybiAtMTsKLQkJfQotCQlyZXR1cm4gMDsKLQl9Ci0KLQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkgfHwgY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID4gT01BUF9NQVhfTUNCU1BfQ09VTlQpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBkb2Vzbid0IGV4aXN0XG4iLCBpZCArIDEpOwotCQkJcmV0dXJuIC0xOwotCQl9Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAtMTsKLX0KLQotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCi1zdGF0aWMgdm9pZCBvbWFwX21jYnNwX2RzcF9yZXF1ZXN0KHZvaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwMTV4eCgpIHx8IGNwdV9pc19vbWFwMTZ4eCgpKSB7Ci0JCWludCByZXQ7Ci0KLQkJcmV0ID0gb21hcF9kc3BfcmVxdWVzdF9tZW0oKTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGdldCBkc3AgbWVtb3J5OiAlaVxuIiwgcmV0KTsKLQkJCXJldHVybjsKLQkJfQotCi0JCWNsa19lbmFibGUobWNic3BfZHNwX2NrKTsKLQkJY2xrX2VuYWJsZShtY2JzcF9hcGlfY2spOwotCi0JCS8qIGVuYWJsZSAxMk1IeiBjbG9jayB0byBtY2JzcCAxICYgMyAqLwotCQljbGtfZW5hYmxlKG1jYnNwX2RzcHhvcl9jayk7Ci0KLQkJLyoKLQkJICogRFNQIGV4dGVybmFsIHBlcmlwaGVyYWwgcmVzZXQKLQkJICogRklYTUU6IFRoaXMgc2hvdWxkIGJlIG1vdmVkIHRvIGRzcCBjb2RlCi0JCSAqLwotCQlfX3Jhd193cml0ZXcoX19yYXdfcmVhZHcoRFNQX1JTVENUMikgfCAxIHwgMSA8PCAxLAotCQkJICAgICBEU1BfUlNUQ1QyKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIG9tYXBfbWNic3BfZHNwX2ZyZWUodm9pZCkKLXsKLQlpZiAoY3B1X2lzX29tYXAxNXh4KCkgfHwgY3B1X2lzX29tYXAxNnh4KCkpIHsKLQkJb21hcF9kc3BfcmVsZWFzZV9tZW0oKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfZHNweG9yX2NrKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfZHNwX2NrKTsKLQkJY2xrX2Rpc2FibGUobWNic3BfYXBpX2NrKTsKLQl9Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BUkNIX09NQVAyCi1zdGF0aWMgdm9pZCBvbWFwMl9tY2JzcDJfbXV4X3NldHVwKHZvaWQpCi17Ci0JaWYgKGNwdV9pc19vbWFwMjQyMCgpKSB7Ci0JCW9tYXBfY2ZnX3JlZyhZMTVfMjRYWF9NQ0JTUDJfQ0xLWCk7Ci0JCW9tYXBfY2ZnX3JlZyhSMTRfMjRYWF9NQ0JTUDJfRlNYKTsKLQkJb21hcF9jZmdfcmVnKFcxNV8yNFhYX01DQlNQMl9EUik7Ci0JCW9tYXBfY2ZnX3JlZyhWMTVfMjRYWF9NQ0JTUDJfRFgpOwotCQlvbWFwX2NmZ19yZWcoVjE0XzI0WFhfR1BJTzExNyk7Ci0JfQotCS8qCi0JICogTmVlZCB0byBhZGQgTVVYIHNldHRpbmdzIGZvciBPTUFQIDI0MzAgU0RQCi0JICovCi19Ci0jZW5kaWYKK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9jb25maWcpOwogCiAvKgogICogV2UgY2FuIGNob29zZSBiZXR3ZWVuIElSUSBiYXNlZCBvciBwb2xsZWQgSU8uCkBAIC0yNTcsMTMgKzE1OCwxNiBAQAogICovCiBpbnQgb21hcF9tY2JzcF9zZXRfaW9fdHlwZSh1bnNpZ25lZCBpbnQgaWQsIG9tYXBfbWNic3BfaW9fdHlwZV90IGlvX3R5cGUpCiB7Ci0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAlzcGluX2xvY2soJm1jYnNwW2lkXS5sb2NrKTsKIAogCWlmICghbWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBpcyBjdXJyZW50bHkgaW4gdXNlXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIGlzIGN1cnJlbnRseSBpbiB1c2VcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0yNzQsMzggKzE3OCwyNiBAQAogCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3Bfc2V0X2lvX3R5cGUpOwogCiBpbnQgb21hcF9tY2JzcF9yZXF1ZXN0KHVuc2lnbmVkIGludCBpZCkKIHsKIAlpbnQgZXJyOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQotCS8qCi0JICogT24gMTUxMCwgMTYxMCBhbmQgMTcxMCwgTWNCU1AxIGFuZCBNY0JTUDMKLQkgKiBhcmUgRFNQIHB1YmxpYyBwZXJpcGhlcmFscy4KLQkgKi8KLQlpZiAoaWQgPT0gT01BUF9NQ0JTUDEgfHwgaWQgPT0gT01BUF9NQ0JTUDMpCi0JCW9tYXBfbWNic3BfZHNwX3JlcXVlc3QoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxKSB7Ci0JCQljbGtfZW5hYmxlKG1jYnNwMV9pY2spOwotCQkJY2xrX2VuYWJsZShtY2JzcDFfZmNrKTsKLQkJfSBlbHNlIHsKLQkJCWNsa19lbmFibGUobWNic3AyX2ljayk7Ci0JCQljbGtfZW5hYmxlKG1jYnNwMl9mY2spOwotCQl9CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKIAl9Ci0jZW5kaWYKKworCWlmIChtY2JzcFtpZF0ucGRhdGEtPm9wcy0+cmVxdWVzdCkKKwkJbWNic3BbaWRdLnBkYXRhLT5vcHMtPnJlcXVlc3QoaWQpOworCisJY2xrX2VuYWJsZShtY2JzcFtpZF0uY2xrKTsKIAogCXNwaW5fbG9jaygmbWNic3BbaWRdLmxvY2spOwogCWlmICghbWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCBpcyBjdXJyZW50bHkgaW4gdXNlXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIGlzIGN1cnJlbnRseSBpbiB1c2VcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm4gLTE7CiAJfQpAQCAtMzE1LDI0ICsyMDcsMjMgQEAKIAogCWlmIChtY2JzcFtpZF0uaW9fdHlwZSA9PSBPTUFQX01DQlNQX0lSUV9JTykgewogCQkvKiBXZSBuZWVkIHRvIGdldCBJUlFzIGhlcmUgKi8KLQkJZXJyID0gcmVxdWVzdF9pcnEobWNic3BbaWRdLnR4X2lycSwgb21hcF9tY2JzcF90eF9pcnFfaGFuZGxlciwgMCwKLQkJCQkgICJNY0JTUCIsCi0JCQkJICAodm9pZCAqKSAoJm1jYnNwW2lkXSkpOworCQllcnIgPSByZXF1ZXN0X2lycShtY2JzcFtpZF0udHhfaXJxLCBvbWFwX21jYnNwX3R4X2lycV9oYW5kbGVyLAorCQkJCQkwLCAiTWNCU1AiLCAodm9pZCAqKSAoJm1jYnNwW2lkXSkpOwogCQlpZiAoZXJyICE9IDApIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiT01BUC1NY0JTUDogVW5hYmxlIHRvIHJlcXVlc3QgVFggSVJRICVkIGZvciBNY0JTUCVkXG4iLAotCQkJICAgICAgIG1jYnNwW2lkXS50eF9pcnEsIG1jYnNwW2lkXS5pZCk7CisJCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJVbmFibGUgdG8gcmVxdWVzdCBUWCBJUlEgJWQgIgorCQkJCQkiZm9yIE1jQlNQJWRcbiIsIG1jYnNwW2lkXS50eF9pcnEsCisJCQkJCW1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CiAKIAkJaW5pdF9jb21wbGV0aW9uKCYobWNic3BbaWRdLnR4X2lycV9jb21wbGV0aW9uKSk7CiAKLQotCQllcnIgPSByZXF1ZXN0X2lycShtY2JzcFtpZF0ucnhfaXJxLCBvbWFwX21jYnNwX3J4X2lycV9oYW5kbGVyLCAwLAotCQkJCSAgIk1jQlNQIiwKLQkJCQkgICh2b2lkICopICgmbWNic3BbaWRdKSk7CisJCWVyciA9IHJlcXVlc3RfaXJxKG1jYnNwW2lkXS5yeF9pcnEsIG9tYXBfbWNic3BfcnhfaXJxX2hhbmRsZXIsCisJCQkJCTAsICJNY0JTUCIsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJCWlmIChlcnIgIT0gMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJPTUFQLU1jQlNQOiBVbmFibGUgdG8gcmVxdWVzdCBSWCBJUlEgJWQgZm9yIE1jQlNQJWRcbiIsCi0JCQkgICAgICAgbWNic3BbaWRdLnJ4X2lycSwgbWNic3BbaWRdLmlkKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIlVuYWJsZSB0byByZXF1ZXN0IFJYIElSUSAlZCAiCisJCQkJCSJmb3IgTWNCU1AlZFxuIiwgbWNic3BbaWRdLnJ4X2lycSwKKwkJCQkJbWNic3BbaWRdLmlkKTsKIAkJCWZyZWVfaXJxKG1jYnNwW2lkXS50eF9pcnEsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CkBAIC0zNDEsMzYgKzIzMiwyNSBAQAogCX0KIAogCXJldHVybiAwOwotCiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVxdWVzdCk7CiAKIHZvaWQgb21hcF9tY2JzcF9mcmVlKHVuc2lnbmVkIGludCBpZCkKIHsKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQorCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKIAkJcmV0dXJuOwotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKLQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxIHx8IGlkID09IE9NQVBfTUNCU1AzKQotCQkJb21hcF9tY2JzcF9kc3BfZnJlZSgpOwogCX0KLSNlbmRpZgogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDIKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJaWYgKGlkID09IE9NQVBfTUNCU1AxKSB7Ci0JCQljbGtfZGlzYWJsZShtY2JzcDFfaWNrKTsKLQkJCWNsa19kaXNhYmxlKG1jYnNwMV9mY2spOwotCQl9IGVsc2UgewotCQkJY2xrX2Rpc2FibGUobWNic3AyX2ljayk7Ci0JCQljbGtfZGlzYWJsZShtY2JzcDJfZmNrKTsKLQkJfQotCX0KLSNlbmRpZgorCWlmIChtY2JzcFtpZF0ucGRhdGEtPm9wcy0+ZnJlZSkKKwkJbWNic3BbaWRdLnBkYXRhLT5vcHMtPmZyZWUoaWQpOworCisJY2xrX2Rpc2FibGUobWNic3BbaWRdLmNsayk7CiAKIAlzcGluX2xvY2soJm1jYnNwW2lkXS5sb2NrKTsKIAlpZiAobWNic3BbaWRdLmZyZWUpIHsKLQkJcHJpbnRrIChLRVJOX0VSUiAiT01BUC1NY0JTUDogTWNCU1AlZCB3YXMgbm90IHJlc2VydmVkXG4iLCBpZCArIDEpOworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIHdhcyBub3QgcmVzZXJ2ZWRcbiIsCisJCQltY2JzcFtpZF0uaWQpOwogCQlzcGluX3VubG9jaygmbWNic3BbaWRdLmxvY2spOwogCQlyZXR1cm47CiAJfQpAQCAtMzg0LDYgKzI2NCw3IEBACiAJCWZyZWVfaXJxKG1jYnNwW2lkXS50eF9pcnEsICh2b2lkICopICgmbWNic3BbaWRdKSk7CiAJfQogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX2ZyZWUpOwogCiAvKgogICogSGVyZSB3ZSBzdGFydCB0aGUgTWNCU1AsIGJ5IGVuYWJsaW5nIHRoZSBzYW1wbGUKQEAgLTM5NSwxMyArMjc2LDE1IEBACiAJdTMyIGlvX2Jhc2U7CiAJdTE2IHc7CiAKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQorCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKIAkJcmV0dXJuOworCX0KIAogCWlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKIAotCW1jYnNwW2lkXS5yeF93b3JkX2xlbmd0aCA9ICgoT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFJDUjEpID4+IDUpICYgMHg3KTsKLQltY2JzcFtpZF0udHhfd29yZF9sZW5ndGggPSAoKE9NQVBfTUNCU1BfUkVBRChpb19iYXNlLCBYQ1IxKSA+PiA1KSAmIDB4Nyk7CisJbWNic3BbaWRdLnJ4X3dvcmRfbGVuZ3RoID0gKE9NQVBfTUNCU1BfUkVBRChpb19iYXNlLCBSQ1IxKSA+PiA1KSAmIDB4NzsKKwltY2JzcFtpZF0udHhfd29yZF9sZW5ndGggPSAoT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFhDUjEpID4+IDUpICYgMHg3OwogCiAJLyogU3RhcnQgdGhlIHNhbXBsZSBnZW5lcmF0b3IgKi8KIAl3ID0gT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFNQQ1IyKTsKQEAgLTQyMiwyMCArMzA1LDIyIEBACiAKIAkvKiBEdW1wIE1jQlNQIFJlZ3MgKi8KIAlvbWFwX21jYnNwX2R1bXBfcmVnKGlkKTsKLQogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0YXJ0KTsKIAogdm9pZCBvbWFwX21jYnNwX3N0b3AodW5zaWduZWQgaW50IGlkKQogewogCXUzMiBpb19iYXNlOwogCXUxNiB3OwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CiAJCXJldHVybjsKKwl9CiAKIAlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CiAKLSAgICAgICAgLyogUmVzZXQgdHJhbnNtaXR0ZXIgKi8KKwkvKiBSZXNldCB0cmFuc21pdHRlciAqLwogCXcgPSBPTUFQX01DQlNQX1JFQUQoaW9fYmFzZSwgU1BDUjIpOwogCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjIsIHcgJiB+KDEpKTsKIApAQCAtNDQ3LDEyICszMzIsMTkgQEAKIAl3ID0gT01BUF9NQ0JTUF9SRUFEKGlvX2Jhc2UsIFNQQ1IyKTsKIAlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCB3ICYgfigxIDw8IDYpKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0b3ApOwogCiAvKiBwb2xsZWQgbWNic3AgaS9vIG9wZXJhdGlvbnMgKi8KIGludCBvbWFwX21jYnNwX3BvbGx3cml0ZSh1bnNpZ25lZCBpbnQgaWQsIHUxNiBidWYpCiB7Ci0JdTMyIGJhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKKwl1MzIgYmFzZTsKKworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwogCXdyaXRldyhidWYsIGJhc2UgKyBPTUFQX01DQlNQX1JFR19EWFIxKTsKIAkvKiBpZiBmcmFtZSBzeW5jIGVycm9yIC0gY2xlYXIgdGhlIGVycm9yICovCiAJaWYgKHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19TUENSMikgJiBYU1lOQ19FUlIpIHsKQEAgLTQ3NCwxOCArMzY2LDI3IEBACiAJCQkJICAgICAgIChYUlNUKSwKIAkJCQkgICAgICAgYmFzZSArIE9NQVBfTUNCU1BfUkVHX1NQQ1IyKTsKIAkJCQl1ZGVsYXkoMTApOwotCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCSAgICAgICAiIENvdWxkIG5vdCB3cml0ZSB0byBNY0JTUCBSZWdpc3RlclxuIik7CisJCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiQ291bGQgbm90IHdyaXRlIHRvIgorCQkJCQkiIE1jQlNQJWQgUmVnaXN0ZXJcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQkJcmV0dXJuIC0yOwogCQkJfQogCQl9CiAJfQorCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcG9sbHdyaXRlKTsKIAotaW50IG9tYXBfbWNic3BfcG9sbHJlYWQodW5zaWduZWQgaW50IGlkLCB1MTYgKiBidWYpCitpbnQgb21hcF9tY2JzcF9wb2xscmVhZCh1bnNpZ25lZCBpbnQgaWQsIHUxNiAqYnVmKQogewotCXUzMiBiYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdTMyIGJhc2U7CisKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCWJhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZTsKIAkvKiBpZiBmcmFtZSBzeW5jIGVycm9yIC0gY2xlYXIgdGhlIGVycm9yICovCiAJaWYgKHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19TUENSMSkgJiBSU1lOQ19FUlIpIHsKIAkJLyogY2xlYXIgZXJyb3IgKi8KQEAgLTUwNiwxNSArNDA3LDE3IEBACiAJCQkJICAgICAgIChSUlNUKSwKIAkJCQkgICAgICAgYmFzZSArIE9NQVBfTUNCU1BfUkVHX1NQQ1IxKTsKIAkJCQl1ZGVsYXkoMTApOwotCQkJCXByaW50ayhLRVJOX0VSUgotCQkJCSAgICAgICAiIENvdWxkIG5vdCByZWFkIGZyb20gTWNCU1AgUmVnaXN0ZXJcbiIpOworCQkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIkNvdWxkIG5vdCByZWFkIGZyb20iCisJCQkJCSIgTWNCU1AlZCBSZWdpc3RlclxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCQlyZXR1cm4gLTI7CiAJCQl9CiAJCX0KIAl9CiAJKmJ1ZiA9IHJlYWR3KGJhc2UgKyBPTUFQX01DQlNQX1JFR19EUlIxKTsKKwogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3BvbGxyZWFkKTsKIAogLyoKICAqIElSUSBiYXNlZCB3b3JkIHRyYW5zbWlzc2lvbi4KQEAgLTUyMiwxMiArNDI1LDE1IEBACiB2b2lkIG9tYXBfbWNic3BfeG1pdF93b3JkKHVuc2lnbmVkIGludCBpZCwgdTMyIHdvcmQpCiB7CiAJdTMyIGlvX2Jhc2U7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCB3b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS50eF93b3JkX2xlbmd0aDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHdvcmRfbGVuZ3RoOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CiAJCXJldHVybjsKKwl9CiAKIAlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CiAKIAl3YWl0X2Zvcl9jb21wbGV0aW9uKCYobWNic3BbaWRdLnR4X2lycV9jb21wbGV0aW9uKSk7CiAKQEAgLTUzNSwxNiArNDQxLDIwIEBACiAJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgRFhSMiwgd29yZCA+PiAxNik7CiAJT01BUF9NQ0JTUF9XUklURShpb19iYXNlLCBEWFIxLCB3b3JkICYgMHhmZmZmKTsKIH0KK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF94bWl0X3dvcmQpOwogCiB1MzIgb21hcF9tY2JzcF9yZWN2X3dvcmQodW5zaWduZWQgaW50IGlkKQogewogCXUzMiBpb19iYXNlOwogCXUxNiB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisJb21hcF9tY2JzcF93b3JkX2xlbmd0aCB3b3JkX2xlbmd0aDsKIAotCWlmIChvbWFwX21jYnNwX2NoZWNrKGlkKSA8IDApCi0JCXJldHVybiAtRUlOVkFMOworCWlmICghb21hcF9tY2JzcF9jaGVja192YWxpZF9pZChpZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogSW52YWxpZCBpZCAoJWQpXG4iLCBfX2Z1bmNfXywgaWQgKyAxKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQogCisJd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CiAJaW9fYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS5yeF9pcnFfY29tcGxldGlvbikpOwpAQCAtNTU1LDE1ICs0NjUsMjQgQEAKIAogCXJldHVybiAod29yZF9sc2IgfCAod29yZF9tc2IgPDwgMTYpKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3JlY3Zfd29yZCk7CiAKIGludCBvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwodW5zaWduZWQgaW50IGlkLCB1MzIgd29yZCkKIHsKLQl1MzIgaW9fYmFzZSA9IG1jYnNwW2lkXS5pb19iYXNlOwotCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCByeF93b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS5yeF93b3JkX2xlbmd0aDsKKwl1MzIgaW9fYmFzZTsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CiAJdTE2IHNwY3IyLCBzcGNyMSwgYXR0ZW1wdHMgPSAwLCB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwogCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CisJcnhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisKIAlpZiAodHhfd29yZF9sZW5ndGggIT0gcnhfd29yZF9sZW5ndGgpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC01NzcsNyArNDk2LDggQEAKIAkJCXVkZWxheSgxMCk7CiAJCQlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCBzcGNyMiB8IFhSU1QpOwogCQkJdWRlbGF5KDEwKTsKLQkJCXByaW50aygiTWNCU1AgdHJhbnNtaXR0ZXIgbm90IHJlYWR5XG4iKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgdHJhbnNtaXR0ZXIgbm90ICIKKwkJCQkicmVhZHlcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTU5Nyw3ICs1MTcsOCBAQAogCQkJdWRlbGF5KDEwKTsKIAkJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjEsIHNwY3IxIHwgUlJTVCk7CiAJCQl1ZGVsYXkoMTApOwotCQkJcHJpbnRrKCJNY0JTUCByZWNlaXZlciBub3QgcmVhZHlcbiIpOworCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiTWNCU1AlZCByZWNlaXZlciBub3QgIgorCQkJCSJyZWFkeVxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJfQpAQCAtNjA5LDE0ICs1MzAsMjQgQEAKIAogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwpOwogCi1pbnQgb21hcF9tY2JzcF9zcGlfbWFzdGVyX3JlY3Zfd29yZF9wb2xsKHVuc2lnbmVkIGludCBpZCwgdTMyICogd29yZCkKK2ludCBvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwodW5zaWduZWQgaW50IGlkLCB1MzIgKndvcmQpCiB7Ci0JdTMyIGlvX2Jhc2UgPSBtY2JzcFtpZF0uaW9fYmFzZSwgY2xvY2tfd29yZCA9IDA7Ci0Jb21hcF9tY2JzcF93b3JkX2xlbmd0aCB0eF93b3JkX2xlbmd0aCA9IG1jYnNwW2lkXS50eF93b3JkX2xlbmd0aDsKLQlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHJ4X3dvcmRfbGVuZ3RoID0gbWNic3BbaWRdLnJ4X3dvcmRfbGVuZ3RoOworCXUzMiBpb19iYXNlLCBjbG9ja193b3JkID0gMDsKKwlvbWFwX21jYnNwX3dvcmRfbGVuZ3RoIHR4X3dvcmRfbGVuZ3RoOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CiAJdTE2IHNwY3IyLCBzcGNyMSwgYXR0ZW1wdHMgPSAwLCB3b3JkX2xzYiwgd29yZF9tc2IgPSAwOwogCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlpb19iYXNlID0gbWNic3BbaWRdLmlvX2Jhc2U7CisJdHhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0udHhfd29yZF9sZW5ndGg7CisJcnhfd29yZF9sZW5ndGggPSBtY2JzcFtpZF0ucnhfd29yZF9sZW5ndGg7CisKIAlpZiAodHhfd29yZF9sZW5ndGggIT0gcnhfd29yZF9sZW5ndGgpCiAJCXJldHVybiAtRUlOVkFMOwogCkBAIC02MzAsNyArNTYxLDggQEAKIAkJCXVkZWxheSgxMCk7CiAJCQlPTUFQX01DQlNQX1dSSVRFKGlvX2Jhc2UsIFNQQ1IyLCBzcGNyMiB8IFhSU1QpOwogCQkJdWRlbGF5KDEwKTsKLQkJCXByaW50aygiTWNCU1AgdHJhbnNtaXR0ZXIgbm90IHJlYWR5XG4iKTsKKwkJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgdHJhbnNtaXR0ZXIgbm90ICIKKwkJCQkicmVhZHlcbiIsIG1jYnNwW2lkXS5pZCk7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQogCX0KQEAgLTY1MCw3ICs1ODIsOCBAQAogCQkJdWRlbGF5KDEwKTsKIAkJCU9NQVBfTUNCU1BfV1JJVEUoaW9fYmFzZSwgU1BDUjEsIHNwY3IxIHwgUlJTVCk7CiAJCQl1ZGVsYXkoMTApOwotCQkJcHJpbnRrKCJNY0JTUCByZWNlaXZlciBub3QgcmVhZHlcbiIpOworCQkJZGV2X2VycihtY2JzcFtpZF0uZGV2LCAiTWNCU1AlZCByZWNlaXZlciBub3QgIgorCQkJCSJyZWFkeVxuIiwgbWNic3BbaWRdLmlkKTsKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9CiAJfQpAQCAtNjY0LDcgKzU5Nyw3IEBACiAKIAlyZXR1cm4gMDsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwpOwogCiAvKgogICogU2ltcGxlIERNQSBiYXNlZCBidWZmZXIgcngvdHggcm91dGluZXMuCkBAIC02NzMsMjUgKzYwNiwzMiBAQAogICogRm9yIGFueXRoaW5nIGZhbmNpZXIsIHlvdSBzaG91bGQgdXNlIHlvdXIgb3duIGN1c3RvbWl6ZWQgRE1BCiAgKiByb3V0aW5lcyBhbmQgY2FsbGJhY2tzLgogICovCi1pbnQgb21hcF9tY2JzcF94bWl0X2J1ZmZlcih1bnNpZ25lZCBpbnQgaWQsIGRtYV9hZGRyX3QgYnVmZmVyLCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQoraW50IG9tYXBfbWNic3BfeG1pdF9idWZmZXIodW5zaWduZWQgaW50IGlkLCBkbWFfYWRkcl90IGJ1ZmZlciwKKwkJCQl1bnNpZ25lZCBpbnQgbGVuZ3RoKQogewogCWludCBkbWFfdHhfY2g7CiAJaW50IHNyY19wb3J0ID0gMDsKIAlpbnQgZGVzdF9wb3J0ID0gMDsKIAlpbnQgc3luY19kZXYgPSAwOwogCi0JaWYgKG9tYXBfbWNic3BfY2hlY2soaWQpIDwgMCkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKLQlpZiAob21hcF9yZXF1ZXN0X2RtYShtY2JzcFtpZF0uZG1hX3R4X3N5bmMsICJNY0JTUCBUWCIsIG9tYXBfbWNic3BfdHhfZG1hX2NhbGxiYWNrLAotCQkJICAgICAmbWNic3BbaWRdLAotCQkJICAgICAmZG1hX3R4X2NoKSkgewotCQlwcmludGsoIk9NQVAtTWNCU1A6IFVuYWJsZSB0byByZXF1ZXN0IERNQSBjaGFubmVsIGZvciBNY0JTUCVkIFRYLiBUcnlpbmcgSVJRIGJhc2VkIFRYXG4iLCBpZCsxKTsKKwlpZiAob21hcF9yZXF1ZXN0X2RtYShtY2JzcFtpZF0uZG1hX3R4X3N5bmMsICJNY0JTUCBUWCIsCisJCQkJb21hcF9tY2JzcF90eF9kbWFfY2FsbGJhY2ssCisJCQkJJm1jYnNwW2lkXSwKKwkJCQkmZG1hX3R4X2NoKSkgeworCQlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICIgVW5hYmxlIHRvIHJlcXVlc3QgRE1BIGNoYW5uZWwgZm9yICIKKwkJCQkiTWNCU1AlZCBUWC4gVHJ5aW5nIElSUSBiYXNlZCBUWFxuIiwKKwkJCQltY2JzcFtpZF0uaWQpOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9CiAJbWNic3BbaWRdLmRtYV90eF9sY2ggPSBkbWFfdHhfY2g7CiAKLQlEQkcoIlRYIERNQSBvbiBjaGFubmVsICVkXG4iLCBkbWFfdHhfY2gpOworCWRldl9lcnIobWNic3BbaWRdLmRldiwgIk1jQlNQJWQgVFggRE1BIG9uIGNoYW5uZWwgJWRcbiIsIG1jYnNwW2lkXS5pZCwKKwkJZG1hX3R4X2NoKTsKIAogCWluaXRfY29tcGxldGlvbigmKG1jYnNwW2lkXS50eF9kbWFfY29tcGxldGlvbikpOwogCkBAIC02OTksNyArNjM5LDcgQEAKIAkJc3JjX3BvcnQgPSBPTUFQX0RNQV9QT1JUX1RJUEI7CiAJCWRlc3RfcG9ydCA9IE9NQVBfRE1BX1BPUlRfRU1JRkY7CiAJfQotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXN5bmNfZGV2ID0gbWNic3BbaWRdLmRtYV90eF9zeW5jOwogCiAJb21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3R4X2xjaCwKQEAgLTcyMiwyOSArNjYyLDM3IEBACiAKIAlvbWFwX3N0YXJ0X2RtYShtY2JzcFtpZF0uZG1hX3R4X2xjaCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS50eF9kbWFfY29tcGxldGlvbikpOworCiAJcmV0dXJuIDA7CiB9CitFWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfeG1pdF9idWZmZXIpOwogCi0KLWludCBvbWFwX21jYnNwX3JlY3ZfYnVmZmVyKHVuc2lnbmVkIGludCBpZCwgZG1hX2FkZHJfdCBidWZmZXIsIHVuc2lnbmVkIGludCBsZW5ndGgpCitpbnQgb21hcF9tY2JzcF9yZWN2X2J1ZmZlcih1bnNpZ25lZCBpbnQgaWQsIGRtYV9hZGRyX3QgYnVmZmVyLAorCQkJCXVuc2lnbmVkIGludCBsZW5ndGgpCiB7CiAJaW50IGRtYV9yeF9jaDsKIAlpbnQgc3JjX3BvcnQgPSAwOwogCWludCBkZXN0X3BvcnQgPSAwOwogCWludCBzeW5jX2RldiA9IDA7CiAKLQlpZiAob21hcF9tY2JzcF9jaGVjayhpZCkgPCAwKQotCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW9tYXBfbWNic3BfY2hlY2tfdmFsaWRfaWQoaWQpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IEludmFsaWQgaWQgKCVkKVxuIiwgX19mdW5jX18sIGlkICsgMSk7CisJCXJldHVybiAtRU5PREVWOworCX0KIAotCWlmIChvbWFwX3JlcXVlc3RfZG1hKG1jYnNwW2lkXS5kbWFfcnhfc3luYywgIk1jQlNQIFJYIiwgb21hcF9tY2JzcF9yeF9kbWFfY2FsbGJhY2ssCi0JCQkgICAgICZtY2JzcFtpZF0sCi0JCQkgICAgICZkbWFfcnhfY2gpKSB7Ci0JCXByaW50aygiVW5hYmxlIHRvIHJlcXVlc3QgRE1BIGNoYW5uZWwgZm9yIE1jQlNQJWQgUlguIFRyeWluZyBJUlEgYmFzZWQgUlhcbiIsIGlkKzEpOworCWlmIChvbWFwX3JlcXVlc3RfZG1hKG1jYnNwW2lkXS5kbWFfcnhfc3luYywgIk1jQlNQIFJYIiwKKwkJCQlvbWFwX21jYnNwX3J4X2RtYV9jYWxsYmFjaywKKwkJCQkmbWNic3BbaWRdLAorCQkJCSZkbWFfcnhfY2gpKSB7CisJCWRldl9lcnIobWNic3BbaWRdLmRldiwgIlVuYWJsZSB0byByZXF1ZXN0IERNQSBjaGFubmVsIGZvciAiCisJCQkJIk1jQlNQJWQgUlguIFRyeWluZyBJUlEgYmFzZWQgUlhcbiIsCisJCQkJbWNic3BbaWRdLmlkKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQogCW1jYnNwW2lkXS5kbWFfcnhfbGNoID0gZG1hX3J4X2NoOwogCi0JREJHKCJSWCBETUEgb24gY2hhbm5lbCAlZFxuIiwgZG1hX3J4X2NoKTsKKwlkZXZfZXJyKG1jYnNwW2lkXS5kZXYsICJNY0JTUCVkIFJYIERNQSBvbiBjaGFubmVsICVkXG4iLCBtY2JzcFtpZF0uaWQsCisJCWRtYV9yeF9jaCk7CiAKIAlpbml0X2NvbXBsZXRpb24oJihtY2JzcFtpZF0ucnhfZG1hX2NvbXBsZXRpb24pKTsKIApAQCAtNzUyLDE0ICs3MDAsMTQgQEAKIAkJc3JjX3BvcnQgPSBPTUFQX0RNQV9QT1JUX1RJUEI7CiAJCWRlc3RfcG9ydCA9IE9NQVBfRE1BX1BPUlRfRU1JRkY7CiAJfQotCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpCiAJCXN5bmNfZGV2ID0gbWNic3BbaWRdLmRtYV9yeF9zeW5jOwogCiAJb21hcF9zZXRfZG1hX3RyYW5zZmVyX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3J4X2xjaCwKLQkJCQkgICAgIE9NQVBfRE1BX0RBVEFfVFlQRV9TMTYsCi0JCQkJICAgICBsZW5ndGggPj4gMSwgMSwKLQkJCQkgICAgIE9NQVBfRE1BX1NZTkNfRUxFTUVOVCwKLQkgc3luY19kZXYsIDApOworCQkJCQlPTUFQX0RNQV9EQVRBX1RZUEVfUzE2LAorCQkJCQlsZW5ndGggPj4gMSwgMSwKKwkJCQkJT01BUF9ETUFfU1lOQ19FTEVNRU5ULAorCQkJCQlzeW5jX2RldiwgMCk7CiAKIAlvbWFwX3NldF9kbWFfc3JjX3BhcmFtcyhtY2JzcFtpZF0uZG1hX3J4X2xjaCwKIAkJCQlzcmNfcG9ydCwKQEAgLTc2OCwxNiArNzE2LDE3IEBACiAJCQkJMCwgMCk7CiAKIAlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMobWNic3BbaWRdLmRtYV9yeF9sY2gsCi0JCQkJIGRlc3RfcG9ydCwKLQkJCQkgT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsCi0JCQkJIGJ1ZmZlciwKLQkJCQkgMCwgMCk7CisJCQkJCWRlc3RfcG9ydCwKKwkJCQkJT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsCisJCQkJCWJ1ZmZlciwKKwkJCQkJMCwgMCk7CiAKIAlvbWFwX3N0YXJ0X2RtYShtY2JzcFtpZF0uZG1hX3J4X2xjaCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmKG1jYnNwW2lkXS5yeF9kbWFfY29tcGxldGlvbikpOworCiAJcmV0dXJuIDA7CiB9Ci0KK0VYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9yZWN2X2J1ZmZlcik7CiAKIC8qCiAgKiBTUEkgd3JhcHBlci4KQEAgLTc4NSwxMiArNzM0LDE1IEBACiAgKiB0aGlzIHdyYXBwZXIganVzdCBuZWVkIGFuIG9tYXBfbWNic3Bfc3BpX2NmZyBzdHJ1Y3R1cmUgYXMgYW4gaW5wdXQuCiAgKiBPbmNlIHRoaXMgaXMgZG9uZSwgeW91IGNhbiBjYWxsIG9tYXBfbWNic3Bfc3RhcnQoKS4KICAqLwotdm9pZCBvbWFwX21jYnNwX3NldF9zcGlfbW9kZSh1bnNpZ25lZCBpbnQgaWQsIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX3NwaV9jZmcgKiBzcGlfY2ZnKQordm9pZCBvbWFwX21jYnNwX3NldF9zcGlfbW9kZSh1bnNpZ25lZCBpbnQgaWQsCisJCQkJY29uc3Qgc3RydWN0IG9tYXBfbWNic3Bfc3BpX2NmZyAqc3BpX2NmZykKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnIG1jYnNwX2NmZzsKIAotCWlmIChvbWFwX21jYnNwX2NoZWNrKGlkKSA8IDApCisJaWYgKCFvbWFwX21jYnNwX2NoZWNrX3ZhbGlkX2lkKGlkKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBJbnZhbGlkIGlkICglZClcbiIsIF9fZnVuY19fLCBpZCArIDEpOwogCQlyZXR1cm47CisJfQogCiAJbWVtc2V0KCZtY2JzcF9jZmcsIDAsIHNpemVvZihzdHJ1Y3Qgb21hcF9tY2JzcF9yZWdfY2ZnKSk7CiAKQEAgLTc5OCw3ICs3NTAsNyBAQAogCW1jYnNwX2NmZy5yY3IxIHw9IChSV0RMRU4xKHNwaV9jZmctPndvcmRfbGVuZ3RoKSB8IFJGUkxFTjEoMCkpOwogCW1jYnNwX2NmZy54Y3IxIHw9IChYV0RMRU4xKHNwaV9jZmctPndvcmRfbGVuZ3RoKSB8IFhGUkxFTjEoMCkpOwogCi0gICAgICAgIC8qIENsb2NrIHN0b3AgbW9kZSAqLworCS8qIENsb2NrIHN0b3AgbW9kZSAqLwogCWlmIChzcGlfY2ZnLT5jbGtfc3RwX21vZGUgPT0gT01BUF9NQ0JTUF9DTEtfU1RQX01PREVfTk9fREVMQVkpCiAJCW1jYnNwX2NmZy5zcGNyMSB8PSAoMSA8PCAxMik7CiAJZWxzZQpAQCAtODI3LDEzICs3NzksMTIgQEAKIAogCWlmIChzcGlfY2ZnLT5zcGlfbW9kZSA9PSBPTUFQX01DQlNQX1NQSV9NQVNURVIpIHsKIAkJbWNic3BfY2ZnLnBjcjAgfD0gQ0xLWE07Ci0JCW1jYnNwX2NmZy5zcmdyMSB8PSBDTEtHRFYoc3BpX2NmZy0+Y2xrX2RpdiAtMSk7CisJCW1jYnNwX2NmZy5zcmdyMSB8PSBDTEtHRFYoc3BpX2NmZy0+Y2xrX2RpdiAtIDEpOwogCQltY2JzcF9jZmcucGNyMCB8PSBGU1hNOwogCQltY2JzcF9jZmcuc3JncjIgJj0gfkZTR007CiAJCW1jYnNwX2NmZy54Y3IyIHw9IFhEQVRETFkoMSk7CiAJCW1jYnNwX2NmZy5yY3IyIHw9IFJEQVRETFkoMSk7Ci0JfQotCWVsc2UgeworCX0gZWxzZSB7CiAJCW1jYnNwX2NmZy5wY3IwICY9IH5DTEtYTTsKIAkJbWNic3BfY2ZnLnNyZ3IxIHw9IENMS0dEVigxKTsKIAkJbWNic3BfY2ZnLnBjcjAgJj0gfkZTWE07CkBAIC04NDYsMTk5ICs3OTcsOTkgQEAKIAogCW9tYXBfbWNic3BfY29uZmlnKGlkLCAmbWNic3BfY2ZnKTsKIH0KLQorRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NldF9zcGlfbW9kZSk7CiAKIC8qCiAgKiBNY0JTUDEgYW5kIE1jQlNQMyBhcmUgZGlyZWN0bHkgbWFwcGVkIG9uIDE2MTAgYW5kIDE1MTAuCiAgKiA3MzAgaGFzIG9ubHkgMiBNY0JTUCwgYW5kIGJvdGggb2YgdGhlbSBhcmUgTVBVIHBlcmlwaGVyYWxzLgogICovCi1zdHJ1Y3Qgb21hcF9tY2JzcF9pbmZvIHsKLQl1MzIgdmlydF9iYXNlOwotCXU4IGRtYV9yeF9zeW5jLCBkbWFfdHhfc3luYzsKLQl1MTYgcnhfaXJxLCB0eF9pcnE7Ci19OwotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfNzMwW10gPSB7Ci0JWzBdID0geyAudmlydF9iYXNlID0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AxX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF83MzBfTWNCU1AxUlgsCi0JCS50eF9pcnEgPSBJTlRfNzMwX01jQlNQMVRYIH0sCi0JWzFdID0geyAudmlydF9iYXNlID0gaW9fcDJ2KE9NQVA3MzBfTUNCU1AyX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDNfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19UWCwKLQkJLnJ4X2lycSA9IElOVF83MzBfTWNCU1AyUlgsCi0JCS50eF9pcnEgPSBJTlRfNzMwX01jQlNQMlRYIH0sCi19OwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMTUxMFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IE9NQVAxNTEwX01DQlNQMV9CQVNFLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF9NY0JTUDFSWCwKLQkJLnR4X2lycSA9IElOVF9NY0JTUDFUWCB9LAotCVsxXSA9IHsgLnZpcnRfYmFzZSA9IGlvX3AydihPTUFQMTUxMF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQMl9SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AyX1RYLAotCQkucnhfaXJxID0gSU5UXzE1MTBfU1BJX1JYLAotCQkudHhfaXJxID0gSU5UXzE1MTBfU1BJX1RYIH0sCi0JWzJdID0geyAudmlydF9iYXNlID0gT01BUDE1MTBfTUNCU1AzX0JBU0UsCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AzX1RYLAotCQkucnhfaXJxID0gSU5UX01jQlNQM1JYLAotCQkudHhfaXJxID0gSU5UX01jQlNQM1RYIH0sCi19OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKQotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMTYxMFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IE9NQVAxNjEwX01DQlNQMV9CQVNFLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQX0RNQV9NQ0JTUDFfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVBfRE1BX01DQlNQMV9UWCwKLQkJLnJ4X2lycSA9IElOVF9NY0JTUDFSWCwKLQkJLnR4X2lycSA9IElOVF9NY0JTUDFUWCB9LAotCVsxXSA9IHsgLnZpcnRfYmFzZSA9IGlvX3AydihPTUFQMTYxMF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQMl9SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AyX1RYLAotCQkucnhfaXJxID0gSU5UXzE2MTBfTWNCU1AyX1JYLAotCQkudHhfaXJxID0gSU5UXzE2MTBfTWNCU1AyX1RYIH0sCi0JWzJdID0geyAudmlydF9iYXNlID0gT01BUDE2MTBfTUNCU1AzX0JBU0UsCi0JCS5kbWFfcnhfc3luYyA9IE9NQVBfRE1BX01DQlNQM19SWCwKLQkJLmRtYV90eF9zeW5jID0gT01BUF9ETUFfTUNCU1AzX1RYLAotCQkucnhfaXJxID0gSU5UX01jQlNQM1JYLAotCQkudHhfaXJxID0gSU5UX01jQlNQM1RYIH0sCi19OwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyNFhYKQotc3RhdGljIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX2luZm8gbWNic3BfMjR4eFtdID0gewotCVswXSA9IHsgLnZpcnRfYmFzZSA9IElPX0FERFJFU1MoT01BUDI0WFhfTUNCU1AxX0JBU0UpLAotCQkuZG1hX3J4X3N5bmMgPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYLAotCQkuZG1hX3R4X3N5bmMgPSBPTUFQMjRYWF9ETUFfTUNCU1AxX1RYLAotCQkucnhfaXJxID0gSU5UXzI0WFhfTUNCU1AxX0lSUV9SWCwKLQkJLnR4X2lycSA9IElOVF8yNFhYX01DQlNQMV9JUlFfVFgsCi0JCX0sCi0JWzFdID0geyAudmlydF9iYXNlID0gSU9fQUREUkVTUyhPTUFQMjRYWF9NQ0JTUDJfQkFTRSksCi0JCS5kbWFfcnhfc3luYyA9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgsCi0JCS5kbWFfdHhfc3luYyA9IE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgsCi0JCS5yeF9pcnEgPSBJTlRfMjRYWF9NQ0JTUDJfSVJRX1JYLAotCQkudHhfaXJxID0gSU5UXzI0WFhfTUNCU1AyX0lSUV9UWCwKLQkJfSwKLX07Ci0jZW5kaWYKLQotc3RhdGljIGludCBfX2luaXQgb21hcF9tY2JzcF9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBvbWFwX21jYnNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0JaW50IG1jYnNwX2NvdW50ID0gMCwgaTsKLQlzdGF0aWMgY29uc3Qgc3RydWN0IG9tYXBfbWNic3BfaW5mbyAqbWNic3BfaW5mbzsKKwlzdHJ1Y3Qgb21hcF9tY2JzcF9wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCWludCBpZCA9IHBkZXYtPmlkIC0gMTsKKwlpbnQgcmV0ID0gMDsKIAotCXByaW50aygiSW5pdGlhbGl6aW5nIE9NQVAgTWNCU1Agc3lzdGVtXG4iKTsKKwlpZiAoIXBkYXRhKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIk1jQlNQIGRldmljZSBpbml0aWFsaXplZCB3aXRob3V0IgorCQkJCSJwbGF0Zm9ybSBkYXRhXG4iKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KIAotI2lmZGVmIENPTkZJR19BUkNIX09NQVAxCi0JbWNic3BfZHNwX2NrID0gY2xrX2dldCgwLCAiZHNwX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9kc3BfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGRzcF9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfZHNwX2NrKTsKLQl9Ci0JbWNic3BfYXBpX2NrID0gY2xrX2dldCgwLCAiYXBpX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9hcGlfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGFwaV9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfYXBpX2NrKTsKLQl9Ci0JbWNic3BfZHNweG9yX2NrID0gY2xrX2dldCgwLCAiZHNweG9yX2NrIik7Ci0JaWYgKElTX0VSUihtY2JzcF9kc3B4b3JfY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIGRzcHhvcl9jayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3BfZHNweG9yX2NrKTsKLQl9Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMgotCW1jYnNwMV9pY2sgPSBjbGtfZ2V0KDAsICJtY2JzcDFfaWNrIik7Ci0JaWYgKElTX0VSUihtY2JzcDFfaWNrKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1jYnNwOiBjb3VsZCBub3QgYWNxdWlyZSBtY2JzcDFfaWNrIGhhbmRsZS5cbiIpOwotCQlyZXR1cm4gUFRSX0VSUihtY2JzcDFfaWNrKTsKLQl9Ci0JbWNic3AxX2ZjayA9IGNsa19nZXQoMCwgIm1jYnNwMV9mY2siKTsKLQlpZiAoSVNfRVJSKG1jYnNwMV9mY2spKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAibWNic3A6IGNvdWxkIG5vdCBhY3F1aXJlIG1jYnNwMV9mY2sgaGFuZGxlLlxuIik7Ci0JCXJldHVybiBQVFJfRVJSKG1jYnNwMV9mY2spOwotCX0KLQltY2JzcDJfaWNrID0gY2xrX2dldCgwLCAibWNic3AyX2ljayIpOwotCWlmIChJU19FUlIobWNic3AyX2ljaykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJtY2JzcDogY291bGQgbm90IGFjcXVpcmUgbWNic3AyX2ljayBoYW5kbGUuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIobWNic3AyX2ljayk7Ci0JfQotCW1jYnNwMl9mY2sgPSBjbGtfZ2V0KDAsICJtY2JzcDJfZmNrIik7Ci0JaWYgKElTX0VSUihtY2JzcDJfZmNrKSkgewotCQlwcmludGsoS0VSTl9FUlIgIm1jYnNwOiBjb3VsZCBub3QgYWNxdWlyZSBtY2JzcDJfZmNrIGhhbmRsZS5cbiIpOwotCQlyZXR1cm4gUFRSX0VSUihtY2JzcDJfZmNrKTsKLQl9Ci0jZW5kaWYKKwlkZXZfZGJnKCZwZGV2LT5kZXYsICJJbml0aWFsaXppbmcgT01BUCBNY0JTUCAoJWQpLlxuIiwgcGRldi0+aWQpOwogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDczMAotCWlmIChjcHVfaXNfb21hcDczMCgpKSB7Ci0JCW1jYnNwX2luZm8gPSBtY2JzcF83MzA7Ci0JCW1jYnNwX2NvdW50ID0gQVJSQVlfU0laRShtY2JzcF83MzApOworCWlmIChpZCA+PSBPTUFQX01BWF9NQ0JTUF9DT1VOVCkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJJbnZhbGlkIE1jQlNQIGRldmljZSBpZCAoJWQpXG4iLCBpZCk7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKIAl9Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMTVYWAotCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewotCQltY2JzcF9pbmZvID0gbWNic3BfMTUxMDsKLQkJbWNic3BfY291bnQgPSBBUlJBWV9TSVpFKG1jYnNwXzE1MTApOwotCX0KLSNlbmRpZgotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDE2WFgpCi0JaWYgKGNwdV9pc19vbWFwMTZ4eCgpKSB7Ci0JCW1jYnNwX2luZm8gPSBtY2JzcF8xNjEwOwotCQltY2JzcF9jb3VudCA9IEFSUkFZX1NJWkUobWNic3BfMTYxMCk7Ci0JfQotI2VuZGlmCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKLQkJbWNic3BfaW5mbyA9IG1jYnNwXzI0eHg7Ci0JCW1jYnNwX2NvdW50ID0gQVJSQVlfU0laRShtY2JzcF8yNHh4KTsKLQkJb21hcDJfbWNic3AyX211eF9zZXR1cCgpOwotCX0KLSNlbmRpZgotCWZvciAoaSA9IDA7IGkgPCBPTUFQX01BWF9NQ0JTUF9DT1VOVCA7IGkrKykgewotCQlpZiAoaSA+PSBtY2JzcF9jb3VudCkgewotCQkJbWNic3BbaV0uaW9fYmFzZSA9IDA7Ci0JCQltY2JzcFtpXS5mcmVlID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCQl9Ci0JCW1jYnNwW2ldLmlkID0gaSArIDE7Ci0JCW1jYnNwW2ldLmZyZWUgPSAxOwotCQltY2JzcFtpXS5kbWFfdHhfbGNoID0gLTE7Ci0JCW1jYnNwW2ldLmRtYV9yeF9sY2ggPSAtMTsKIAotCQltY2JzcFtpXS5pb19iYXNlID0gbWNic3BfaW5mb1tpXS52aXJ0X2Jhc2U7Ci0JCW1jYnNwW2ldLmlvX3R5cGUgPSBPTUFQX01DQlNQX0lSUV9JTzsgLyogRGVmYXVsdCBJL08gaXMgSVJRIGJhc2VkICovCi0JCW1jYnNwW2ldLnR4X2lycSA9IG1jYnNwX2luZm9baV0udHhfaXJxOwotCQltY2JzcFtpXS5yeF9pcnEgPSBtY2JzcF9pbmZvW2ldLnJ4X2lycTsKLQkJbWNic3BbaV0uZG1hX3J4X3N5bmMgPSBtY2JzcF9pbmZvW2ldLmRtYV9yeF9zeW5jOwotCQltY2JzcFtpXS5kbWFfdHhfc3luYyA9IG1jYnNwX2luZm9baV0uZG1hX3R4X3N5bmM7Ci0JCXNwaW5fbG9ja19pbml0KCZtY2JzcFtpXS5sb2NrKTsKKwlzcGluX2xvY2tfaW5pdCgmbWNic3BbaWRdLmxvY2spOworCW1jYnNwW2lkXS5pZCA9IGlkICsgMTsKKwltY2JzcFtpZF0uZnJlZSA9IDE7CisJbWNic3BbaWRdLmRtYV90eF9sY2ggPSAtMTsKKwltY2JzcFtpZF0uZG1hX3J4X2xjaCA9IC0xOworCisJbWNic3BbaWRdLmlvX2Jhc2UgPSBwZGF0YS0+dmlydF9iYXNlOworCS8qIERlZmF1bHQgSS9PIGlzIElSUSBiYXNlZCAqLworCW1jYnNwW2lkXS5pb190eXBlID0gT01BUF9NQ0JTUF9JUlFfSU87CisJbWNic3BbaWRdLnR4X2lycSA9IHBkYXRhLT50eF9pcnE7CisJbWNic3BbaWRdLnJ4X2lycSA9IHBkYXRhLT5yeF9pcnE7CisJbWNic3BbaWRdLmRtYV9yeF9zeW5jID0gcGRhdGEtPmRtYV9yeF9zeW5jOworCW1jYnNwW2lkXS5kbWFfdHhfc3luYyA9IHBkYXRhLT5kbWFfdHhfc3luYzsKKworCWlmIChwZGF0YS0+Y2xrX25hbWUpCisJCW1jYnNwW2lkXS5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsIHBkYXRhLT5jbGtfbmFtZSk7CisJaWYgKElTX0VSUihtY2JzcFtpZF0uY2xrKSkgeworCQltY2JzcFtpZF0uZnJlZSA9IDA7CisJCWRldl9lcnIoJnBkZXYtPmRldiwKKwkJCSJJbnZhbGlkIGNsb2NrIGNvbmZpZ3VyYXRpb24gZm9yIE1jQlNQJWQuXG4iLAorCQkJbWNic3BbaWRdLmlkKTsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KKworCW1jYnNwW2lkXS5wZGF0YSA9IHBkYXRhOworCW1jYnNwW2lkXS5kZXYgPSAmcGRldi0+ZGV2OworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsICZtY2JzcFtpZF0pOworCitleGl0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgb21hcF9tY2JzcCAqbWNic3AgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCWlmIChtY2JzcCkgeworCisJCWlmIChtY2JzcC0+cGRhdGEgJiYgbWNic3AtPnBkYXRhLT5vcHMgJiYKKwkJCQltY2JzcC0+cGRhdGEtPm9wcy0+ZnJlZSkKKwkJCW1jYnNwLT5wZGF0YS0+b3BzLT5mcmVlKG1jYnNwLT5pZCk7CisKKwkJY2xrX2Rpc2FibGUobWNic3AtPmNsayk7CisJCWNsa19wdXQobWNic3AtPmNsayk7CisKKwkJbWNic3AtPmNsayA9IE5VTEw7CisJCW1jYnNwLT5mcmVlID0gMDsKKwkJbWNic3AtPmRldiA9IE5VTEw7CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAKLWFyY2hfaW5pdGNhbGwob21hcF9tY2JzcF9pbml0KTsKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG9tYXBfbWNic3BfZHJpdmVyID0geworCS5wcm9iZQkJPSBvbWFwX21jYnNwX3Byb2JlLAorCS5yZW1vdmUJCT0gb21hcF9tY2JzcF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gIm9tYXAtbWNic3AiLAorCX0sCit9OwogCi1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfY29uZmlnKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9yZXF1ZXN0KTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9zZXRfaW9fdHlwZSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfZnJlZSk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3Bfc3RhcnQpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3N0b3ApOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3BvbGxyZWFkKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF9wb2xsd3JpdGUpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3htaXRfd29yZCk7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVjdl93b3JkKTsKLUVYUE9SVF9TWU1CT0wob21hcF9tY2JzcF94bWl0X2J1ZmZlcik7Ci1FWFBPUlRfU1lNQk9MKG9tYXBfbWNic3BfcmVjdl9idWZmZXIpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfeG1pdF93b3JkX3BvbGwpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NwaV9tYXN0ZXJfcmVjdl93b3JkX3BvbGwpOwotRVhQT1JUX1NZTUJPTChvbWFwX21jYnNwX3NldF9zcGlfbW9kZSk7CitpbnQgX19pbml0IG9tYXBfbWNic3BfaW5pdCh2b2lkKQoreworCS8qIFJlZ2lzdGVyIHRoZSBNY0JTUCBkcml2ZXIgKi8KKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZvbWFwX21jYnNwX2RyaXZlcik7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvc3JhbS5jCmluZGV4IDFmMjNmMDQuLjU1NGVlNTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb21hcC9zcmFtLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vbWFwL3NyYW0uYwpAQCAtMTAsNiArMTAsNyBAQAogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICovCisjdW5kZWYgREVCVUcKIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMjQsMjUgKzI1LDQzIEBACiAjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLmg+CiAKKyNpbmNsdWRlIDxhc20vYXJjaC9jb250cm9sLmg+CisKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQorIyBpbmNsdWRlICIuLi9tYWNoLW9tYXAyL3BybS5oIgorIyBpbmNsdWRlICIuLi9tYWNoLW9tYXAyL2NtLmgiCisjIGluY2x1ZGUgIi4uL21hY2gtb21hcDIvc2RyYy5oIgorI2VuZGlmCisKICNkZWZpbmUgT01BUDFfU1JBTV9QQQkJMHgyMDAwMDAwMAotI2RlZmluZSBPTUFQMV9TUkFNX1ZBCQkweGQwMDAwMDAwCisjZGVmaW5lIE9NQVAxX1NSQU1fVkEJCVZNQUxMT0NfRU5ECiAjZGVmaW5lIE9NQVAyX1NSQU1fUEEJCTB4NDAyMDAwMDAKICNkZWZpbmUgT01BUDJfU1JBTV9QVUJfUEEJMHg0MDIwZjgwMAotI2RlZmluZSBPTUFQMl9TUkFNX1ZBCQkweGQwMDAwMDAwCi0jZGVmaW5lIE9NQVAyX1NSQU1fUFVCX1ZBCTB4ZDAwMDA4MDAKKyNkZWZpbmUgT01BUDJfU1JBTV9WQQkJVk1BTExPQ19FTkQKKyNkZWZpbmUgT01BUDJfU1JBTV9QVUJfVkEJKFZNQUxMT0NfRU5EICsgMHg4MDApCisjZGVmaW5lIE9NQVAzX1NSQU1fUEEgICAgICAgICAgIDB4NDAyMDAwMDAKKyNkZWZpbmUgT01BUDNfU1JBTV9WQSAgICAgICAgICAgMHhkNzAwMDAwMAorI2RlZmluZSBPTUFQM19TUkFNX1BVQl9QQSAgICAgICAweDQwMjA4MDAwCisjZGVmaW5lIE9NQVAzX1NSQU1fUFVCX1ZBICAgICAgIDB4ZDcwMDgwMDAKIAotI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDI0WFgpCisjaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMjRYWCkgfHwgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMzRYWCkKICNkZWZpbmUgU1JBTV9CT09UTE9BREVSX1NaCTB4MDAKICNlbHNlCiAjZGVmaW5lIFNSQU1fQk9PVExPQURFUl9TWgkweDgwCiAjZW5kaWYKIAotI2RlZmluZSBWQV9SRVFJTkZPUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAwNTA0OCkKLSNkZWZpbmUgVkFfUkVBRFBFUk0wCQlJT19BRERSRVNTKDB4NjgwMDUwNTApCi0jZGVmaW5lIFZBX1dSSVRFUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAwNTA1OCkKLSNkZWZpbmUgVkFfQ09OVFJPTF9TVEFUCQlJT19BRERSRVNTKDB4NDgwMDAyRjgpCisjZGVmaW5lIE9NQVAyNFhYX1ZBX1JFUUlORk9QRVJNMAlJT19BRERSRVNTKDB4NjgwMDUwNDgpCisjZGVmaW5lIE9NQVAyNFhYX1ZBX1JFQURQRVJNMAkJSU9fQUREUkVTUygweDY4MDA1MDUwKQorI2RlZmluZSBPTUFQMjRYWF9WQV9XUklURVBFUk0wCQlJT19BRERSRVNTKDB4NjgwMDUwNTgpCisKKyNkZWZpbmUgT01BUDM0WFhfVkFfUkVRSU5GT1BFUk0wCUlPX0FERFJFU1MoMHg2ODAxMjg0OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfUkVBRFBFUk0wCQlJT19BRERSRVNTKDB4NjgwMTI4NTApCisjZGVmaW5lIE9NQVAzNFhYX1ZBX1dSSVRFUEVSTTAJCUlPX0FERFJFU1MoMHg2ODAxMjg1OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfQUREUl9NQVRDSDIJCUlPX0FERFJFU1MoMHg2ODAxMjg4MCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfU01TX1JHX0FUVDAJCUlPX0FERFJFU1MoMHg2QzAwMDA0OCkKKyNkZWZpbmUgT01BUDM0WFhfVkFfQ09OVFJPTF9TVEFUCUlPX0FERFJFU1MoMHg0ODAwMjJGMCkKKwogI2RlZmluZSBHUF9ERVZJQ0UJCTB4MzAwCi0jZGVmaW5lIFRZUEVfTUFTSwkJMHg3MDAKIAogI2RlZmluZSBST1VORF9ET1dOKHZhbHVlLGJvdW5kYXJ5KQkoKHZhbHVlKSAmICh+KChib3VuZGFyeSktMSkpKQogCkBAIC02OCwxNCArODcsMjEgQEAKIAlpbnQgdHlwZSA9IDA7CiAKIAlpZiAoY3B1X2lzX29tYXAyNDJ4KCkpCi0JCXR5cGUgPSBfX3Jhd19yZWFkbChWQV9DT05UUk9MX1NUQVQpICYgVFlQRV9NQVNLOworCQl0eXBlID0gc3lzdGVtX3JldiAmIE9NQVAyX0RFVklDRVRZUEVfTUFTSzsKIAogCWlmICh0eXBlID09IEdQX0RFVklDRSkgewogCQkvKiBSQU1GVzogUi9XIGFjY2VzcyB0byBhbGwgaW5pdGlhdG9ycyBmb3IgYWxsIHF1YWxpZmllciBzZXRzICovCiAJCWlmIChjcHVfaXNfb21hcDI0MngoKSkgewotCQkJX19yYXdfd3JpdGVsKDB4RkYsIFZBX1JFUUlORk9QRVJNMCk7IC8qIGFsbCBxLXZlY3RzICovCi0JCQlfX3Jhd193cml0ZWwoMHhDRkRFLCBWQV9SRUFEUEVSTTApOyAgLyogYWxsIGktcmVhZCAqLwotCQkJX19yYXdfd3JpdGVsKDB4Q0ZERSwgVkFfV1JJVEVQRVJNMCk7IC8qIGFsbCBpLXdyaXRlICovCisJCQlfX3Jhd193cml0ZWwoMHhGRiwgT01BUDI0WFhfVkFfUkVRSU5GT1BFUk0wKTsgLyogYWxsIHEtdmVjdHMgKi8KKwkJCV9fcmF3X3dyaXRlbCgweENGREUsIE9NQVAyNFhYX1ZBX1JFQURQRVJNMCk7ICAvKiBhbGwgaS1yZWFkICovCisJCQlfX3Jhd193cml0ZWwoMHhDRkRFLCBPTUFQMjRYWF9WQV9XUklURVBFUk0wKTsgLyogYWxsIGktd3JpdGUgKi8KKwkJfQorCQlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJCV9fcmF3X3dyaXRlbCgweEZGRkYsIE9NQVAzNFhYX1ZBX1JFUUlORk9QRVJNMCk7IC8qIGFsbCBxLXZlY3RzICovCisJCQlfX3Jhd193cml0ZWwoMHhGRkZGLCBPTUFQMzRYWF9WQV9SRUFEUEVSTTApOyAgLyogYWxsIGktcmVhZCAqLworCQkJX19yYXdfd3JpdGVsKDB4RkZGRiwgT01BUDM0WFhfVkFfV1JJVEVQRVJNMCk7IC8qIGFsbCBpLXdyaXRlICovCisJCQlfX3Jhd193cml0ZWwoMHgwLCBPTUFQMzRYWF9WQV9BRERSX01BVENIMik7CisJCQlfX3Jhd193cml0ZWwoMHhGRkZGRkZGRiwgT01BUDM0WFhfVkFfU01TX1JHX0FUVDApOwogCQl9CiAJCXJldHVybiAwOwogCX0gZWxzZQpAQCAtOTIsMTggKzExOCwzMCBAQAogewogCXVuc2lnbmVkIGxvbmcgcmVzZXJ2ZWQ7CiAKLQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAyKCkpIHsKIAkJaWYgKGlzX3NyYW1fbG9ja2VkKCkpIHsKLQkJCW9tYXBfc3JhbV9iYXNlID0gT01BUDJfU1JBTV9QVUJfVkE7Ci0JCQlvbWFwX3NyYW1fc3RhcnQgPSBPTUFQMl9TUkFNX1BVQl9QQTsKLQkJCW9tYXBfc3JhbV9zaXplID0gMHg4MDA7IC8qIDJLICovCisJCQlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJCQlvbWFwX3NyYW1fYmFzZSA9IE9NQVAzX1NSQU1fUFVCX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAzX1NSQU1fUFVCX1BBOworCQkJCW9tYXBfc3JhbV9zaXplID0gMHg4MDAwOyAvKiAzMksgKi8KKwkJCX0gZWxzZSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1BVQl9WQTsKKwkJCQlvbWFwX3NyYW1fc3RhcnQgPSBPTUFQMl9TUkFNX1BVQl9QQTsKKwkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4ODAwOyAvKiAySyAqLworCQkJfQogCQl9IGVsc2UgewotCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1ZBOwotCQkJb21hcF9zcmFtX3N0YXJ0ID0gT01BUDJfU1JBTV9QQTsKLQkJCWlmIChjcHVfaXNfb21hcDI0MngoKSkKLQkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4YTAwMDA7IC8qIDY0MEsgKi8KLQkJCWVsc2UgaWYgKGNwdV9pc19vbWFwMjQzeCgpKQorCQkJaWYgKGNwdV9pc19vbWFwMzR4eCgpKSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQM19TUkFNX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAzX1NSQU1fUEE7CiAJCQkJb21hcF9zcmFtX3NpemUgPSAweDEwMDAwOyAvKiA2NEsgKi8KKwkJCX0gZWxzZSB7CisJCQkJb21hcF9zcmFtX2Jhc2UgPSBPTUFQMl9TUkFNX1ZBOworCQkJCW9tYXBfc3JhbV9zdGFydCA9IE9NQVAyX1NSQU1fUEE7CisJCQkJaWYgKGNwdV9pc19vbWFwMjQyeCgpKQorCQkJCQlvbWFwX3NyYW1fc2l6ZSA9IDB4YTAwMDA7IC8qIDY0MEsgKi8KKwkJCQllbHNlIGlmIChjcHVfaXNfb21hcDI0M3goKSkKKwkJCQkJb21hcF9zcmFtX3NpemUgPSAweDEwMDAwOyAvKiA2NEsgKi8KKwkJCX0KIAkJfQogCX0gZWxzZSB7CiAJCW9tYXBfc3JhbV9iYXNlID0gT01BUDFfU1JBTV9WQTsKQEAgLTE1Nyw2ICsxOTUsMTMgQEAKIAkJb21hcF9zcmFtX2lvX2Rlc2NbMF0ucGZuID0gX19waHlzX3RvX3BmbihiYXNlKTsKIAl9CiAKKwlpZiAoY3B1X2lzX29tYXAzNHh4KCkpIHsKKwkJb21hcF9zcmFtX2lvX2Rlc2NbMF0udmlydHVhbCA9IE9NQVAzX1NSQU1fVkE7CisJCWJhc2UgPSBPTUFQM19TUkFNX1BBOworCQliYXNlID0gUk9VTkRfRE9XTihiYXNlLCBQQUdFX1NJWkUpOworCQlvbWFwX3NyYW1faW9fZGVzY1swXS5wZm4gPSBfX3BoeXNfdG9fcGZuKGJhc2UpOworCX0KKwogCW9tYXBfc3JhbV9pb19kZXNjWzBdLmxlbmd0aCA9IDEwMjQgKiAxMDI0OwkvKiBVc2Ugc2VjdGlvbiBkZXNjICovCiAJaW90YWJsZV9pbml0KG9tYXBfc3JhbV9pb19kZXNjLCBBUlJBWV9TSVpFKG9tYXBfc3JhbV9pb19kZXNjKSk7CiAKQEAgLTE5MSw2ICsyMzYsNyBAQAogCW9tYXBfc3JhbV9jZWlsIC09IHNpemU7CiAJb21hcF9zcmFtX2NlaWwgPSBST1VORF9ET1dOKG9tYXBfc3JhbV9jZWlsLCBzaXplb2Yodm9pZCAqKSk7CiAJbWVtY3B5KCh2b2lkICopb21hcF9zcmFtX2NlaWwsIHN0YXJ0LCBzaXplKTsKKwlmbHVzaF9pY2FjaGVfcmFuZ2UoKHVuc2lnbmVkIGxvbmcpc3RhcnQsICh1bnNpZ25lZCBsb25nKShzdGFydCArIHNpemUpKTsKIAogCXJldHVybiAodm9pZCAqKW9tYXBfc3JhbV9jZWlsOwogfQpAQCAtMjE0LDggKzI2MCw5IEBACiAKIGludCBfX2luaXQgb21hcDFfc3JhbV9pbml0KHZvaWQpCiB7Ci0JX29tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sgPSBvbWFwX3NyYW1fcHVzaChzcmFtX3JlcHJvZ3JhbV9jbG9jaywKLQkJCQkJCSAgICBzcmFtX3JlcHJvZ3JhbV9jbG9ja19zeik7CisJX29tYXBfc3JhbV9yZXByb2dyYW1fY2xvY2sgPQorCQkJb21hcF9zcmFtX3B1c2gob21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2ssCisJCQkJCW9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrX3N6KTsKIAogCXJldHVybiAwOwogfQpAQCAtMjI0LDcgKzI3MSw3IEBACiAjZGVmaW5lIG9tYXAxX3NyYW1faW5pdCgpCWRvIHt9IHdoaWxlICgwKQogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMgorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDIpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMpCiAKIHN0YXRpYyB2b2lkICgqX29tYXAyX3NyYW1fZGRyX2luaXQpKHUzMiAqc2xvd19kbGxfY3RybCwgdTMyIGZhc3RfZGxsX2N0cmwsCiAJCQkgICAgICB1MzIgYmFzZV9jcywgdTMyIGZvcmNlX3VubG9jayk7CkBAIC0yNTksMTkgKzMwNiwxMDkgQEAKIAogCXJldHVybiBfb21hcDJfc2V0X3ByY20oZHBsbF9jdHJsX3ZhbCwgc2RyY19yZnJfdmFsLCBieXBhc3MpOwogfQorI2VuZGlmCiAKLWludCBfX2luaXQgb21hcDJfc3JhbV9pbml0KHZvaWQpCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDI0MjAKK2ludCBfX2luaXQgb21hcDI0Mnhfc3JhbV9pbml0KHZvaWQpCiB7Ci0JX29tYXAyX3NyYW1fZGRyX2luaXQgPSBvbWFwX3NyYW1fcHVzaChzcmFtX2Rkcl9pbml0LCBzcmFtX2Rkcl9pbml0X3N6KTsKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAyNDJ4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAyNDJ4X3NyYW1fZGRyX2luaXRfc3opOwogCi0JX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChzcmFtX3JlcHJvZ3JhbV9zZHJjLAotCQkJCQkJICAgIHNyYW1fcmVwcm9ncmFtX3NkcmNfc3opOwotCV9vbWFwMl9zZXRfcHJjbSA9IG9tYXBfc3JhbV9wdXNoKHNyYW1fc2V0X3ByY20sIHNyYW1fc2V0X3ByY21fc3opOworCV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9zZHJjID0gb21hcF9zcmFtX3B1c2gob21hcDI0Mnhfc3JhbV9yZXByb2dyYW1fc2RyYywKKwkJCQkJICAgIG9tYXAyNDJ4X3NyYW1fcmVwcm9ncmFtX3NkcmNfc3opOworCisJX29tYXAyX3NldF9wcmNtID0gb21hcF9zcmFtX3B1c2gob21hcDI0Mnhfc3JhbV9zZXRfcHJjbSwKKwkJCQkJIG9tYXAyNDJ4X3NyYW1fc2V0X3ByY21fc3opOwogCiAJcmV0dXJuIDA7CiB9CiAjZWxzZQotI2RlZmluZSBvbWFwMl9zcmFtX2luaXQoKQlkbyB7fSB3aGlsZSAoMCkKK3N0YXRpYyBpbmxpbmUgaW50IG9tYXAyNDJ4X3NyYW1faW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMjQzMAoraW50IF9faW5pdCBvbWFwMjQzeF9zcmFtX2luaXQodm9pZCkKK3sKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAyNDN4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAyNDN4X3NyYW1fZGRyX2luaXRfc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMjQzeF9zcmFtX3JlcHJvZ3JhbV9zZHJjLAorCQkJCQkgICAgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyY19zeik7CisKKwlfb21hcDJfc2V0X3ByY20gPSBvbWFwX3NyYW1fcHVzaChvbWFwMjQzeF9zcmFtX3NldF9wcmNtLAorCQkJCQkgb21hcDI0M3hfc3JhbV9zZXRfcHJjbV9zeik7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBvbWFwMjQzeF9zcmFtX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDMKKworc3RhdGljIHUzMiAoKl9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jKSh1MzIgcGVyZl9sZXZlbCk7Cit1MzIgb21hcDJfc3JhbV9yZXByb2dyYW1fZ3BtYyh1MzIgcGVyZl9sZXZlbCkKK3sKKwlpZiAoIV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jKQorCQlvbWFwX3NyYW1fZXJyb3IoKTsKKworCXJldHVybiBfb21hcDJfc3JhbV9yZXByb2dyYW1fZ3BtYyhwZXJmX2xldmVsKTsKK30KKworc3RhdGljIHUzMiAoKl9vbWFwMl9zcmFtX2NvbmZpZ3VyZV9jb3JlX2RwbGwpKHUzMiBtLCB1MzIgbiwKKwkJCQkJCXUzMiBmcmVxc2VsLCB1MzIgbTIpOwordTMyIG9tYXAyX3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCh1MzIgbSwgdTMyIG4sIHUzMiBmcmVxc2VsLCB1MzIgbTIpCit7CisJaWYgKCFfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsKQorCQlvbWFwX3NyYW1fZXJyb3IoKTsKKworCXJldHVybiBfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsKG0sIG4sIGZyZXFzZWwsIG0yKTsKK30KKworLyogUkVWSVNJVDogU2hvdWxkIHRoaXMgYmUgc2FtZSBhcyBvbWFwMzR4eF9zcmFtX2luaXQoKSBhZnRlciBvZmYtaWRsZT8gKi8KK3ZvaWQgcmVzdG9yZV9zcmFtX2Z1bmN0aW9ucyh2b2lkKQoreworCW9tYXBfc3JhbV9jZWlsID0gb21hcF9zcmFtX2Jhc2UgKyBvbWFwX3NyYW1fc2l6ZTsKKworCV9vbWFwMl9zcmFtX3JlcHJvZ3JhbV9ncG1jID0gb21hcF9zcmFtX3B1c2gob21hcDM0eHhfc3JhbV9yZXByb2dyYW1fZ3BtYywKKwkJb21hcDM0eHhfc3JhbV9yZXByb2dyYW1fZ3BtY19zeik7CisKKwlfb21hcDJfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsID0KKwkJCW9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCwKKwkJCQkJb21hcDM0eHhfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsX3N6KTsKK30KKworaW50IF9faW5pdCBvbWFwMzR4eF9zcmFtX2luaXQodm9pZCkKK3sKKwlfb21hcDJfc3JhbV9kZHJfaW5pdCA9IG9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fZGRyX2luaXQsCisJCQkJCW9tYXAzNHh4X3NyYW1fZGRyX2luaXRfc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX3NkcmMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9zZHJjLAorCQkJCQlvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6KTsKKworCV9vbWFwMl9zZXRfcHJjbSA9IG9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fc2V0X3ByY20sCisJCQkJCW9tYXAzNHh4X3NyYW1fc2V0X3ByY21fc3opOworCisJX29tYXAyX3NyYW1fcmVwcm9ncmFtX2dwbWMgPSBvbWFwX3NyYW1fcHVzaChvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9ncG1jLAorCQkJCQlvbWFwMzR4eF9zcmFtX3JlcHJvZ3JhbV9ncG1jX3N6KTsKKworCV9vbWFwMl9zcmFtX2NvbmZpZ3VyZV9jb3JlX2RwbGwgPQorCQkJCW9tYXBfc3JhbV9wdXNoKG9tYXAzNHh4X3NyYW1fY29uZmlndXJlX2NvcmVfZHBsbCwKKwkJCQkJb21hcDM0eHhfc3JhbV9jb25maWd1cmVfY29yZV9kcGxsX3N6KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IG9tYXAzNHh4X3NyYW1faW5pdCh2b2lkKQoreworCXJldHVybiAwOworfQogI2VuZGlmCiAKIGludCBfX2luaXQgb21hcF9zcmFtX2luaXQodm9pZCkKQEAgLTI3OSwxMCArNDE2LDE0IEBACiAJb21hcF9kZXRlY3Rfc3JhbSgpOwogCW9tYXBfbWFwX3NyYW0oKTsKIAotCWlmICghY3B1X2lzX29tYXAyNHh4KCkpCisJaWYgKCEoY3B1X2NsYXNzX2lzX29tYXAyKCkpKQogCQlvbWFwMV9zcmFtX2luaXQoKTsKLQllbHNlCi0JCW9tYXAyX3NyYW1faW5pdCgpOworCWVsc2UgaWYgKGNwdV9pc19vbWFwMjQyeCgpKQorCQlvbWFwMjQyeF9zcmFtX2luaXQoKTsKKwllbHNlIGlmIChjcHVfaXNfb21hcDI0MzAoKSkKKwkJb21hcDI0M3hfc3JhbV9pbml0KCk7CisJZWxzZSBpZiAoY3B1X2lzX29tYXAzNHh4KCkpCisJCW9tYXAzNHh4X3NyYW1faW5pdCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMgYi9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMKaW5kZXggYTYxOTQ3NS4uMjY5OWMxNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vbWFwL3VzYi5jCisrKyBiL2FyY2gvYXJtL3BsYXQtb21hcC91c2IuYwpAQCAtMSw0ICsxLDQgQEAKLS8qCisgLyoKICAqIGFyY2gvYXJtL3BsYXQtb21hcC91c2IuYyAtLSBwbGF0Zm9ybSBsZXZlbCBVU0IgaW5pdGlhbGl6YXRpb24KICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMsIEluYy4KQEAgLTE1Niw4ICsxNTYsMTIgQEAKIAogCWlmIChud2lyZXMgPT0gMCkgewogCQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCQl1MzIgbDsKKwogCQkJLyogcHVsbGRvd24gRCsvRC0gKi8KLQkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+KDMgPDwgMSk7CisJCQlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCQlsICY9IH4oMyA8PCAxKTsKKwkJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAkJfQogCQlyZXR1cm4gMDsKIAl9CkBAIC0xNzEsNiArMTc1LDggQEAKIAogCS8qIGludGVybmFsIHRyYW5zY2VpdmVyICh1bmF2YWlsYWJsZSBvbiAxN3h4LCAyNHh4KSAqLwogCWlmICghY3B1X2NsYXNzX2lzX29tYXAyKCkgJiYgbndpcmVzID09IDIpIHsKKwkJdTMyIGw7CisKIAkJLy8gb21hcF9jZmdfcmVnKFA5X1VTQl9EUCk7CiAJCS8vIG9tYXBfY2ZnX3JlZyhSOF9VU0JfRE0pOwogCkBAIC0xODUsOSArMTkxLDExIEBACiAJCSAqICAtIE9URyBzdXBwb3J0IG9uIHRoaXMgcG9ydCBub3QgeWV0IHdyaXR0ZW4KIAkJICovCiAKLQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH4oNyA8PCA0KTsKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH4oNyA8PCA0KTsKIAkJaWYgKCFpc19kZXZpY2UpCi0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gKDMgPDwgMSk7CisJCQlsIHw9ICgzIDw8IDEpOworCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAKIAkJcmV0dXJuIDMgPDwgMTY7CiAJfQpAQCAtMjE3LDggKzIyNSwxMyBAQAogCSAqIHdpdGggVkJVUyBzd2l0Y2hpbmcgYW5kIG92ZXJjdXJyZW50IGRldGVjdGlvbi4KIAkgKi8KIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiBud2lyZXMgIT0gNikKLQkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH5DT05GX1VTQjJfVU5JX1I7CisJaWYgKGNwdV9jbGFzc19pc19vbWFwMSgpICYmIG53aXJlcyAhPSA2KSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwkJbCAmPSB+Q09ORl9VU0IyX1VOSV9SOworCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJfQogCiAJc3dpdGNoIChud2lyZXMpIHsKIAljYXNlIDM6CkBAIC0yMzgsOSArMjUxLDEzIEBACiAJCQlvbWFwX2NmZ19yZWcoSzIwXzI0WFhfVVNCMF9WTSk7CiAJCQlvbWFwMl91c2JfZGV2Y29uZl9zZXQoMCwgVVNCX1VOSURJUik7CiAJCX0gZWxzZSB7CisJCQl1MzIgbDsKKwogCQkJb21hcF9jZmdfcmVnKEFBOV9VU0IwX1ZQKTsKIAkJCW9tYXBfY2ZnX3JlZyhSOV9VU0IwX1ZNKTsKLQkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyB8PSBDT05GX1VTQjJfVU5JX1I7CisJCQlsID0gb21hcF9yZWFkbChVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCQlsIHw9IENPTkZfVVNCMl9VTklfUjsKKwkJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKIAkJfQogCQlicmVhazsKIAlkZWZhdWx0OgpAQCAtMjU0LDggKzI3MSwxMyBAQAogewogCXUzMglzeXNjb24xID0gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpCi0JCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IxX1VOSV9SOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH5DT05GX1VTQjFfVU5JX1I7CisJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwl9CiAJaWYgKGNwdV9pc19vbWFwMjR4eCgpKQogCQlvbWFwMl91c2JfZGV2Y29uZl9jbGVhcigxLCBVU0JfQklESVJfVExMKTsKIApAQCAtMzE2LDggKzMzOCwxMyBAQAogCQlzeXNjb24xID0gMzsKIAkJb21hcF9jZmdfcmVnKFVTQjFfVlApOwogCQlvbWFwX2NmZ19yZWcoVVNCMV9WTSk7Ci0JCWlmICghY3B1X2lzX29tYXAxNXh4KCkpCi0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09ORl9VU0IxX1VOSV9SOworCQlpZiAoIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCQl1MzIgbDsKKworCQkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQkJbCB8PSBDT05GX1VTQjFfVU5JX1I7CisJCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CisJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKIGJhZDoKQEAgLTM0MCw4ICszNjcsMTMgQEAKIAlpZiAoYWx0X3Bpbmdyb3VwIHx8IG53aXJlcyA9PSAwKQogCQlyZXR1cm4gMDsKIAotCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpCi0JCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IyX1VOSV9SOworCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkgJiYgbndpcmVzICE9IDYpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQlsICY9IH5DT05GX1VTQjJfVU5JX1I7CisJCW9tYXBfd3JpdGVsKGwsIFVTQl9UUkFOU0NFSVZFUl9DVFJMKTsKKwl9CiAKIAkvKiBleHRlcm5hbCB0cmFuc2NlaXZlciAqLwogCWlmIChjcHVfaXNfb21hcDE1eHgoKSkgewpAQCAtNDEwLDkgKzQ0MiwxMyBAQAogCQkJb21hcF9jZmdfcmVnKFVTQjJfVlApOwogCQkJb21hcF9jZmdfcmVnKFVTQjJfVk0pOwogCQl9IGVsc2UgeworCQkJdTMyIGw7CisKIAkJCW9tYXBfY2ZnX3JlZyhBQTlfVVNCMl9WUCk7CiAJCQlvbWFwX2NmZ19yZWcoUjlfVVNCMl9WTSk7Ci0JCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgfD0gQ09ORl9VU0IyX1VOSV9SOworCQkJbCA9IG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpOworCQkJbCB8PSBDT05GX1VTQjJfVU5JX1I7CisJCQlvbWFwX3dyaXRlbChsLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAJCX0KIAkJYnJlYWs7CiAJZGVmYXVsdDoKQEAgLTUzMSwxMCArNTY3LDYgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotI2RlZmluZSBVTFBEX0NMT0NLX0NUUkxfUkVHCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKQotI2RlZmluZSBVTFBEX1NPRlRfUkVRX1JFRwlfX1JFRzE2KFVMUERfU09GVF9SRVEpCi0KLQogLy8gRklYTUUgY29ycmVjdCBhbnN3ZXIgZGVwZW5kcyBvbiBobWNfbW9kZSwKIC8vIGFzIGRvZXMgKG9uIG9tYXAxKSBhbnkgbm9uemVybyB2YWx1ZSBmb3IgY29uZmlnLT5vdGcgcG9ydCBudW1iZXIKICNpZmRlZglDT05GSUdfVVNCX0dBREdFVF9PTUFQCkBAIC01NTAsMTcgKzU4MiwxNyBAQAogdm9pZCBfX2luaXQKIG9tYXBfb3RnX2luaXQoc3RydWN0IG9tYXBfdXNiX2NvbmZpZyAqY29uZmlnKQogewotCXUzMgkJc3lzY29uID0gT1RHX1NZU0NPTl8xX1JFRyAmIDB4ZmZmZjsKKwl1MzIJCXN5c2NvbjsKIAlpbnQJCXN0YXR1czsKIAlpbnQJCWFsdF9waW5ncm91cCA9IDA7CiAKIAkvKiBOT1RFOiAgbm8gYnVzIG9yIGNsb2NrIHNldHVwICh5ZXQ/KSAqLwogCi0Jc3lzY29uID0gT1RHX1NZU0NPTl8xX1JFRyAmIDB4ZmZmZjsKKwlzeXNjb24gPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMSkgJiAweGZmZmY7CiAJaWYgKCEoc3lzY29uICYgT1RHX1JFU0VUX0RPTkUpKQogCQlwcl9kZWJ1ZygiVVNCIHJlc2V0cyBub3QgY29tcGxldGU/XG4iKTsKIAotCS8vIE9UR19JUlFfRU5fUkVHID0gMDsKKwkvL29tYXBfd3JpdGV3KDAsIE9UR19JUlFfRU4pOwogCiAJLyogcGluIG11eGluZyBhbmQgdHJhbnNjZWl2ZXIgcGlub3V0cyAqLwogCWlmIChjb25maWctPnBpbnNbMF0gPiAyKQkvKiBhbHQgcGluZ3JvdXAgMiAqLwpAQCAtNTY4LDggKzYwMCw4IEBACiAJc3lzY29uIHw9IG9tYXBfdXNiMF9pbml0KGNvbmZpZy0+cGluc1swXSwgaXNfdXNiMF9kZXZpY2UoY29uZmlnKSk7CiAJc3lzY29uIHw9IG9tYXBfdXNiMV9pbml0KGNvbmZpZy0+cGluc1sxXSk7CiAJc3lzY29uIHw9IG9tYXBfdXNiMl9pbml0KGNvbmZpZy0+cGluc1syXSwgYWx0X3Bpbmdyb3VwKTsKLQlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7Ci0JT1RHX1NZU0NPTl8xX1JFRyA9IHN5c2NvbjsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzEpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMSk7CiAKIAlzeXNjb24gPSBjb25maWctPmhtY19tb2RlOwogCXN5c2NvbiB8PSBVU0JYX1NZTkNIUk8gfCAoNCA8PCAxNikgLyogQl9BU0UwX0JSU1QgKi87CkBAIC01NzgsOSArNjEwLDEwIEBACiAJCXN5c2NvbiB8PSBPVEdfRU47CiAjZW5kaWYKIAlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpCi0JCXByX2RlYnVnKCJVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgPSAlMDN4XG4iLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcpOwotCXByX2RlYnVnKCJPVEdfU1lTQ09OXzJfUkVHID0gJTA4eFxuIiwgc3lzY29uKTsKLQlPVEdfU1lTQ09OXzJfUkVHID0gc3lzY29uOworCQlwcl9kZWJ1ZygiVVNCX1RSQU5TQ0VJVkVSX0NUUkwgPSAlMDN4XG4iLAorCQkJIG9tYXBfcmVhZGwoVVNCX1RSQU5TQ0VJVkVSX0NUUkwpKTsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8yID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMik7CiAKIAlwcmludGsoIlVTQjogaG1jICVkIiwgY29uZmlnLT5obWNfbW9kZSk7CiAJaWYgKCFhbHRfcGluZ3JvdXApCkBAIC01OTcsMTIgKzYzMCwxOSBAQAogCXByaW50aygiXG4iKTsKIAogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgeworCQl1MTYgdzsKKwogCQkvKiBsZWF2ZSBVU0IgY2xvY2tzL2NvbnRyb2xsZXJzIG9mZiB1bnRpbCBuZWVkZWQgKi8KLQkJVUxQRF9TT0ZUX1JFUV9SRUcgJj0gflNPRlRfVVNCX0NMS19SRVE7Ci0JCVVMUERfQ0xPQ0tfQ1RSTF9SRUcgJj0gflVTQl9NQ0xLX0VOOwotCQlVTFBEX0NMT0NLX0NUUkxfUkVHIHw9IERJU19VU0JfUFZDSV9DTEs7CisJCXcgPSBvbWFwX3JlYWR3KFVMUERfU09GVF9SRVEpOworCQl3ICY9IH5TT0ZUX1VTQl9DTEtfUkVROworCQlvbWFwX3dyaXRldyh3LCBVTFBEX1NPRlRfUkVRKTsKKworCQl3ID0gb21hcF9yZWFkdyhVTFBEX0NMT0NLX0NUUkwpOworCQl3ICY9IH5VU0JfTUNMS19FTjsKKwkJdyB8PSBESVNfVVNCX1BWQ0lfQ0xLOworCQlvbWFwX3dyaXRldyh3LCBVTFBEX0NMT0NLX0NUUkwpOwogCX0KLQlzeXNjb24gPSBPVEdfU1lTQ09OXzFfUkVHOworCXN5c2NvbiA9IG9tYXBfcmVhZGwoT1RHX1NZU0NPTl8xKTsKIAlzeXNjb24gfD0gSFNUX0lETEVfRU58REVWX0lETEVfRU58T1RHX0lETEVfRU47CiAKICNpZmRlZglDT05GSUdfVVNCX0dBREdFVF9PTUFQCkBAIC02MzksOCArNjc5LDggQEAKIAkJCXByX2RlYnVnKCJjYW4ndCByZWdpc3RlciBPVEcgZGV2aWNlLCAlZFxuIiwgc3RhdHVzKTsKIAl9CiAjZW5kaWYKLQlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7Ci0JT1RHX1NZU0NPTl8xX1JFRyA9IHN5c2NvbjsKKwlwcl9kZWJ1ZygiT1RHX1NZU0NPTl8xID0gJTA4eFxuIiwgb21hcF9yZWFkbChPVEdfU1lTQ09OXzEpKTsKKwlvbWFwX3dyaXRlbChzeXNjb24sIE9UR19TWVNDT05fMSk7CiAKIAlzdGF0dXMgPSAwOwogfQpAQCAtNjUzLDE4ICs2OTMsMTkgQEAKIAogI2lmZGVmCUNPTkZJR19BUkNIX09NQVAxNVhYCiAKLSNkZWZpbmUgVUxQRF9EUExMX0NUUkxfUkVHCV9fUkVHMTYoVUxQRF9EUExMX0NUUkwpCisvKiBVTFBEX0RQTExfQ1RSTCAqLwogI2RlZmluZSBEUExMX0lPQgkJKDEgPDwgMTMpCiAjZGVmaW5lIERQTExfUExMX0VOQUJMRQkJKDEgPDwgNCkKICNkZWZpbmUgRFBMTF9MT0NLCQkoMSA8PCAwKQogCi0jZGVmaW5lIFVMUERfQVBMTF9DVFJMX1JFRwlfX1JFRzE2KFVMUERfQVBMTF9DVFJMKQorLyogVUxQRF9BUExMX0NUUkwgKi8KICNkZWZpbmUgQVBMTF9ORFBMTF9TV0lUQ0gJKDEgPDwgMCkKIAogCiBzdGF0aWMgdm9pZCBfX2luaXQgb21hcF8xNTEwX3VzYl9pbml0KHN0cnVjdCBvbWFwX3VzYl9jb25maWcgKmNvbmZpZykKIHsKIAl1bnNpZ25lZCBpbnQgdmFsOworCXUxNiB3OwogCiAJb21hcF91c2IwX2luaXQoY29uZmlnLT5waW5zWzBdLCBpc191c2IwX2RldmljZShjb25maWcpKTsKIAlvbWFwX3VzYjFfaW5pdChjb25maWctPnBpbnNbMV0pOwpAQCAtNjg1LDEyICs3MjYsMjIgQEAKIAlwcmludGsoIlxuIik7CiAKIAkvKiB1c2UgRFBMTCBmb3IgNDggTUh6IGZ1bmN0aW9uIGNsb2NrICovCi0JcHJfZGVidWcoIkFQTEwgJTA0eCBEUExMICUwNHggUkVRICUwNHhcbiIsIFVMUERfQVBMTF9DVFJMX1JFRywKLQkJCVVMUERfRFBMTF9DVFJMX1JFRywgVUxQRF9TT0ZUX1JFUV9SRUcpOwotCVVMUERfQVBMTF9DVFJMX1JFRyAmPSB+QVBMTF9ORFBMTF9TV0lUQ0g7Ci0JVUxQRF9EUExMX0NUUkxfUkVHIHw9IERQTExfSU9CIHwgRFBMTF9QTExfRU5BQkxFOwotCVVMUERfU09GVF9SRVFfUkVHIHw9IFNPRlRfVURDX1JFUSB8IFNPRlRfRFBMTF9SRVE7Ci0Jd2hpbGUgKCEoVUxQRF9EUExMX0NUUkxfUkVHICYgRFBMTF9MT0NLKSkKKwlwcl9kZWJ1ZygiQVBMTCAlMDR4IERQTEwgJTA0eCBSRVEgJTA0eFxuIiwgb21hcF9yZWFkdyhVTFBEX0FQTExfQ1RSTCksCisJCQlvbWFwX3JlYWR3KFVMUERfRFBMTF9DVFJMKSwgb21hcF9yZWFkdyhVTFBEX1NPRlRfUkVRKSk7CisKKwl3ID0gb21hcF9yZWFkdyhVTFBEX0FQTExfQ1RSTCk7CisJdyAmPSB+QVBMTF9ORFBMTF9TV0lUQ0g7CisJb21hcF93cml0ZXcodywgVUxQRF9BUExMX0NUUkwpOworCisJdyA9IG9tYXBfcmVhZHcoVUxQRF9EUExMX0NUUkwpOworCXcgfD0gRFBMTF9JT0IgfCBEUExMX1BMTF9FTkFCTEU7CisJb21hcF93cml0ZXcodywgVUxQRF9EUExMX0NUUkwpOworCisJdyA9IG9tYXBfcmVhZHcoVUxQRF9TT0ZUX1JFUSk7CisJdyB8PSBTT0ZUX1VEQ19SRVEgfCBTT0ZUX0RQTExfUkVROworCW9tYXBfd3JpdGV3KHcsIFVMUERfU09GVF9SRVEpOworCisJd2hpbGUgKCEob21hcF9yZWFkdyhVTFBEX0RQTExfQ1RSTCkgJiBEUExMX0xPQ0spKQogCQljcHVfcmVsYXgoKTsKIAogI2lmZGVmCUNPTkZJR19VU0JfR0FER0VUX09NQVAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vaXJxLmMgYi9hcmNoL2FybS9wbGF0LW9yaW9uL2lycS5jCmluZGV4IGM1YjY2OWQuLmZlNjZhMTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vaXJxLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9pcnEuYwpAQCAtMzYsOCArMzYsOCBAQAogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIG9yaW9uX2lycV9jaGlwID0gewogCS5uYW1lCQk9ICJvcmlvbl9pcnEiLAotCS5hY2sJCT0gb3Jpb25faXJxX21hc2ssCiAJLm1hc2sJCT0gb3Jpb25faXJxX21hc2ssCisJLm1hc2tfYWNrCT0gb3Jpb25faXJxX21hc2ssCiAJLnVubWFzawkJPSBvcmlvbl9pcnFfdW5tYXNrLAogfTsKIApAQCAtNTksNiArNTksNyBAQAogCQlzZXRfaXJxX2NoaXAoaXJxLCAmb3Jpb25faXJxX2NoaXApOwogCQlzZXRfaXJxX2NoaXBfZGF0YShpcnEsIG1hc2thZGRyKTsKIAkJc2V0X2lycV9oYW5kbGVyKGlycSwgaGFuZGxlX2xldmVsX2lycSk7CisJCWlycV9kZXNjW2lycV0uc3RhdHVzIHw9IElSUV9MRVZFTDsKIAkJc2V0X2lycV9mbGFncyhpcnEsIElSUUZfVkFMSUQpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vcGNpZS5jIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKaW5kZXggYWJmZGE1My4uY2EzMmM2MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi9wY2llLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNkZWZpbmUgUENJRV9DT05GX0RBVEFfT0ZGCTB4MThmYwogI2RlZmluZSBQQ0lFX01BU0tfT0ZGCQkweDE5MTAKICNkZWZpbmUgUENJRV9DVFJMX09GRgkJMHgxYTAwCisjZGVmaW5lICBQQ0lFX0NUUkxfWDFfTU9ERQkJMHgwMDAxCiAjZGVmaW5lIFBDSUVfU1RBVF9PRkYJCTB4MWEwNAogI2RlZmluZSAgUENJRV9TVEFUX0RFVl9PRkZTCQkyMAogI2RlZmluZSAgUENJRV9TVEFUX0RFVl9NQVNLCQkweDFmCkBAIC02Miw2ICs2MywxMSBAQAogCXJldHVybiAhKHJlYWRsKGJhc2UgKyBQQ0lFX1NUQVRfT0ZGKSAmIFBDSUVfU1RBVF9MSU5LX0RPV04pOwogfQogCitpbnQgX19pbml0IG9yaW9uX3BjaWVfeDRfbW9kZSh2b2lkIF9faW9tZW0gKmJhc2UpCit7CisJcmV0dXJuICEocmVhZGwoYmFzZSArIFBDSUVfQ1RSTF9PRkYpICYgUENJRV9DVFJMX1gxX01PREUpOworfQorCiBpbnQgb3Jpb25fcGNpZV9nZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSkKIHsKIAl1MzIgc3RhdCA9IHJlYWRsKGJhc2UgKyBQQ0lFX1NUQVRfT0ZGKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtb3Jpb24vdGltZS5jIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKaW5kZXggMjhiNTI4NS4uOTNjNGVmOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1vcmlvbi90aW1lLmMKQEAgLTc0LDcgKzc0LDcgQEAKIAkvKgogCSAqIENsZWFyIGFuZCBlbmFibGUgY2xvY2tldmVudCB0aW1lciBpbnRlcnJ1cHQuCiAJICovCi0Jd3JpdGVsKH5CUklER0VfSU5UX1RJTUVSMSwgQlJJREdFX0NBVVNFKTsKKwl3cml0ZWwoQlJJREdFX0lOVF9USU1FUjFfQ0xSLCBCUklER0VfQ0FVU0UpOwogCiAJdSA9IHJlYWRsKEJSSURHRV9NQVNLKTsKIAl1IHw9IEJSSURHRV9JTlRfVElNRVIxOwpAQCAtMTM4LDcgKzEzOCw3IEBACiAJCS8qCiAJCSAqIEFDSyBwZW5kaW5nIHRpbWVyIGludGVycnVwdC4KIAkJICovCi0JCXdyaXRlbCh+QlJJREdFX0lOVF9USU1FUjEsIEJSSURHRV9DQVVTRSk7CisJCXdyaXRlbChCUklER0VfSU5UX1RJTUVSMV9DTFIsIEJSSURHRV9DQVVTRSk7CiAKIAl9CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwpAQCAtMTU5LDcgKzE1OSw3IEBACiAJLyoKIAkgKiBBQ0sgdGltZXIgaW50ZXJydXB0IGFuZCBjYWxsIGV2ZW50IGhhbmRsZXIuCiAJICovCi0Jd3JpdGVsKH5CUklER0VfSU5UX1RJTUVSMSwgQlJJREdFX0NBVVNFKTsKKwl3cml0ZWwoQlJJREdFX0lOVF9USU1FUjFfQ0xSLCBCUklER0VfQ0FVU0UpOwogCW9yaW9uX2Nsa2V2dC5ldmVudF9oYW5kbGVyKCZvcmlvbl9jbGtldnQpOwogCiAJcmV0dXJuIElSUV9IQU5ETEVEOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L0tjb25maWcgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZwppbmRleCBiNjZmYjNjLi41ZTI4YzIxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZworKysgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvS2NvbmZpZwpAQCAtOSw2ICs5LDcgQEAKIAlkZXBlbmRzIG9uIEFSQ0hfUzNDMjQxMAogCWRlZmF1bHQgeSBpZiBBUkNIX1MzQzI0MTAKIAlzZWxlY3QgTk9fSU9QT1JUCisJc2VsZWN0IEhBVkVfR1BJT19MSUIKIAloZWxwCiAJICBCYXNlIHBsYXRmb3JtIGNvZGUgZm9yIGFueSBTYW1zdW5nIFMzQzI0WFggZGV2aWNlCiAKQEAgLTIwLDYgKzIxLDEzIEBACiAJaGVscAogCSAgU3VwcG9ydCBmb3IgUzNDMjQ0MCBhbmQgUzNDMjQ0MiBTYW1zdW5nIE1vYmlsZSBDUFUgYmFzZWQgc3lzdGVtcy4KIAorY29uZmlnIFMzQzI0WFhfUFdNCisJYm9vbCAiUFdNIGRldmljZSBzdXBwb3J0IgorCXNlbGVjdCBIQVZFX1BXTQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIGV4cG9ydGluZyB0aGUgUFdNIHRpbWVyIGJsb2NrcyB2aWEgdGhlIHB3bSBkZXZpY2UKKwkgIHN5c3RlbS4KKwogY29uZmlnIFBNX1NJTVRFQwogCWJvb2wKIAloZWxwCmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvTWFrZWZpbGUgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvTWFrZWZpbGUKaW5kZXggMTMxZDIwMi4uZDgyNzY3YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9NYWtlZmlsZQpAQCAtMTYsOCArMTYsMTAgQEAKIG9iai15CQkJCSs9IGlycS5vCiBvYmoteQkJCQkrPSBkZXZzLm8KIG9iai15CQkJCSs9IGdwaW8ubworb2JqLXkJCQkJKz0gZ3Bpb2xpYi5vCiBvYmoteQkJCQkrPSB0aW1lLm8KIG9iai15CQkJCSs9IGNsb2NrLm8KK29iai15CQkJCSs9IHB3bS1jbG9jay5vCiAKICMgQXJjaGl0ZWN0dXJlIGRlcGVuZGFudCBidWlsZHMKIApAQCAtMjcsNSArMjksNiBAQAogb2JqLSQoQ09ORklHX1BNX1NJTVRFQykJCSs9IHBtLXNpbXRlYy5vCiBvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCiBvYmotJChDT05GSUdfUE0pCQkrPSBzbGVlcC5vCitvYmotJChDT05GSUdfSEFWRV9QV00pCQkrPSBwd20ubwogb2JqLSQoQ09ORklHX1MzQzI0MTBfRE1BKQkrPSBkbWEubwogb2JqLSQoQ09ORklHX01BQ0hfU01ESykJCSs9IGNvbW1vbi1zbWRrLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9kZXZzLmMgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvZGV2cy5jCmluZGV4IGU1NDZlOTMuLmVlYTNiMzIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9kZXZzLmMKKysrIGIvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L2RldnMuYwpAQCAtNDk1LDEwNiArNDk1LDYgQEAKIAogRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3NwaTEpOwogCi0vKiBwd20gdGltZXIgYmxvY2tzICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgczNjX3RpbWVyMF9yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MEMsCi0JCS5lbmQgICA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDBDICsgMHhCLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCVsxXSA9IHsKLQkJLnN0YXJ0ID0gSVJRX1RJTUVSMCwKLQkJLmVuZCAgID0gSVJRX1RJTUVSMCwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCi0JfQotCi19OwotCi1zdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIwID0gewotCS5uYW1lCQkgID0gInMzYzI0MTAtdGltZXIiLAotCS5pZAkJICA9IDAsCi0JLm51bV9yZXNvdXJjZXMJICA9IEFSUkFZX1NJWkUoczNjX3RpbWVyMF9yZXNvdXJjZSksCi0JLnJlc291cmNlCSAgPSBzM2NfdGltZXIwX3Jlc291cmNlLAotfTsKLQotRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3RpbWVyMCk7Ci0KLS8qIHRpbWVyIDEgKi8KLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzM2NfdGltZXIxX3Jlc291cmNlW10gPSB7Ci0JWzBdID0gewotCQkuc3RhcnQgPSBTM0MyNFhYX1BBX1RJTUVSICsgMHgxOCwKLQkJLmVuZCAgID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MjMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNLAotCX0sCi0JWzFdID0gewotCQkuc3RhcnQgPSBJUlFfVElNRVIxLAotCQkuZW5kICAgPSBJUlFfVElNRVIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0lSUSwKLQl9Ci0KLX07Ci0KLXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjEgPSB7Ci0JLm5hbWUJCSAgPSAiczNjMjQxMC10aW1lciIsCi0JLmlkCQkgID0gMSwKLQkubnVtX3Jlc291cmNlcwkgID0gQVJSQVlfU0laRShzM2NfdGltZXIxX3Jlc291cmNlKSwKLQkucmVzb3VyY2UJICA9IHMzY190aW1lcjFfcmVzb3VyY2UsCi19OwotCi1FWFBPUlRfU1lNQk9MKHMzY19kZXZpY2VfdGltZXIxKTsKLQotLyogdGltZXIgMiAqLwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHMzY190aW1lcjJfcmVzb3VyY2VbXSA9IHsKLQlbMF0gPSB7Ci0JCS5zdGFydCA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDI0LAotCQkuZW5kICAgPSBTM0MyNFhYX1BBX1RJTUVSICsgMHgyRiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0sCi0JfSwKLQlbMV0gPSB7Ci0JCS5zdGFydCA9IElSUV9USU1FUjIsCi0JCS5lbmQgICA9IElSUV9USU1FUjIsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfSVJRLAotCX0KLQotfTsKLQotc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMiA9IHsKLQkubmFtZQkJICA9ICJzM2MyNDEwLXRpbWVyIiwKLQkuaWQJCSAgPSAyLAotCS5udW1fcmVzb3VyY2VzCSAgPSBBUlJBWV9TSVpFKHMzY190aW1lcjJfcmVzb3VyY2UpLAotCS5yZXNvdXJjZQkgID0gczNjX3RpbWVyMl9yZXNvdXJjZSwKLX07Ci0KLUVYUE9SVF9TWU1CT0woczNjX2RldmljZV90aW1lcjIpOwotCi0vKiB0aW1lciAzICovCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgczNjX3RpbWVyM19yZXNvdXJjZVtdID0gewotCVswXSA9IHsKLQkJLnN0YXJ0ID0gUzNDMjRYWF9QQV9USU1FUiArIDB4MzAsCi0JCS5lbmQgICA9IFMzQzI0WFhfUEFfVElNRVIgKyAweDNCLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX01FTSwKLQl9LAotCVsxXSA9IHsKLQkJLnN0YXJ0ID0gSVJRX1RJTUVSMywKLQkJLmVuZCAgID0gSVJRX1RJTUVSMywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9JUlEsCi0JfQotCi19OwotCi1zdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIzID0gewotCS5uYW1lCQkgID0gInMzYzI0MTAtdGltZXIiLAotCS5pZAkJICA9IDMsCi0JLm51bV9yZXNvdXJjZXMJICA9IEFSUkFZX1NJWkUoczNjX3RpbWVyM19yZXNvdXJjZSksCi0JLnJlc291cmNlCSAgPSBzM2NfdGltZXIzX3Jlc291cmNlLAotfTsKLQotRVhQT1JUX1NZTUJPTChzM2NfZGV2aWNlX3RpbWVyMyk7Ci0KICNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0NDAKIAogLyogQ2FtaWYgQ29udHJvbGxlciAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L2dwaW9saWIuYyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI1ZDhkMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKQEAgLTAsMCArMSwyNTkgQEAKKy8qIGxpbnV4L2FyY2gvYXJtL3BsYXQtczNjMjR4eC9ncGlvbGliLmMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoJQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPgorICoKKyAqIFMzQzI0WFggR1BJT2xpYiBzdXBwb3J0CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCitzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgeworCXN0cnVjdCBncGlvX2NoaXAJY2hpcDsKKwl2b2lkIF9faW9tZW0JCSpiYXNlOworfTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgKnRvX3MzY19jaGlwKHN0cnVjdCBncGlvX2NoaXAgKmdwYykKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKGdwYywgc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwLCBjaGlwKTsKK30KKworLyogdGhlc2Ugcm91dGluZXMgYXJlIGV4cG9ydGVkIGZvciB1c2UgYnkgb3RoZXIgcGFydHMgb2YgdGhlIHBsYXRmb3JtCisgKiBhbmQgc3lzdGVtIHN1cHBvcnQsIGJ1dCBhcmUgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgYnkgdGhlCisgKiBkcml2ZXJzIHRoZW1zZXZsZXMuCisgKi8KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpvdXJjaGlwID0gdG9fczNjX2NoaXAoY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb3VyY2hpcC0+YmFzZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgY29uOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWNvbiAmPSB+KDMgPDwgKG9mZnNldCAqIDIpKTsKKwljb24gfD0gKFMzQzI0MTBfR1BJT19PVVRQVVQgJiAweGYpIDw8IChvZmZzZXQgKiAyKTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKKwkJCQkgIHVuc2lnbmVkIG9mZnNldCwgaW50IHZhbHVlKQoreworCXN0cnVjdCBzM2MyNHh4X2dwaW9fY2hpcCAqb3VyY2hpcCA9IHRvX3MzY19jaGlwKGNoaXApOworCXZvaWQgX19pb21lbSAqYmFzZSA9IG91cmNoaXAtPmJhc2U7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIGRhdDsKKwl1bnNpZ25lZCBsb25nIGNvbjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCWRhdCA9IF9fcmF3X3JlYWRsKGJhc2UgKyAweDA0KTsKKwlkYXQgJj0gfigxIDw8IG9mZnNldCk7CisJaWYgKHZhbHVlKQorCQlkYXQgfD0gMSA8PCBvZmZzZXQ7CisJX19yYXdfd3JpdGVsKGRhdCwgYmFzZSArIDB4MDQpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWNvbiAmPSB+KDMgPDwgKG9mZnNldCAqIDIpKTsKKwljb24gfD0gKFMzQzI0MTBfR1BJT19PVVRQVVQgJiAweGYpIDw8IChvZmZzZXQgKiAyKTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKwlfX3Jhd193cml0ZWwoZGF0LCBiYXNlICsgMHgwNCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgczNjMjR4eF9ncGlvbGliX3NldChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLCB1bnNpZ25lZCBvZmZzZXQsIGludCB2YWx1ZSkKK3sKKwlzdHJ1Y3QgczNjMjR4eF9ncGlvX2NoaXAgKm91cmNoaXAgPSB0b19zM2NfY2hpcChjaGlwKTsKKwl2b2lkIF9faW9tZW0gKmJhc2UgPSBvdXJjaGlwLT5iYXNlOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBkYXQ7CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwlkYXQgPSBfX3Jhd19yZWFkbChiYXNlICsgMHgwNCk7CisJZGF0ICY9IH4oMSA8PCBvZmZzZXQpOworCWlmICh2YWx1ZSkKKwkJZGF0IHw9IDEgPDwgb2Zmc2V0OworCV9fcmF3X3dyaXRlbChkYXQsIGJhc2UgKyAweDA0KTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworaW50IHMzYzI0eHhfZ3Bpb2xpYl9nZXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCXN0cnVjdCBzM2MyNHh4X2dwaW9fY2hpcCAqb3VyY2hpcCA9IHRvX3MzY19jaGlwKGNoaXApOworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJdmFsID0gX19yYXdfcmVhZGwob3VyY2hpcC0+YmFzZSArIDB4MDQpOworCXZhbCA+Pj0gb2Zmc2V0OworCXZhbCAmPSAxOworCisJcmV0dXJuIHZhbDsKK30KKworc3RhdGljIGludCBzM2MyNHh4X2dwaW9saWJfYmFua2FfaW5wdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwgdW5zaWduZWQgb2Zmc2V0KQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfZ3Bpb2xpYl9iYW5rYV9vdXRwdXQoc3RydWN0IGdwaW9fY2hpcCAqY2hpcCwKKwkJCQkJdW5zaWduZWQgb2Zmc2V0LCBpbnQgdmFsdWUpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpvdXJjaGlwID0gdG9fczNjX2NoaXAoY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb3VyY2hpcC0+YmFzZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgZGF0OworCXVuc2lnbmVkIGxvbmcgY29uOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJY29uID0gX19yYXdfcmVhZGwoYmFzZSArIDB4MDApOworCWRhdCA9IF9fcmF3X3JlYWRsKGJhc2UgKyAweDA0KTsKKworCWRhdCAmPSB+KDEgPDwgb2Zmc2V0KTsKKwlpZiAodmFsdWUpCisJCWRhdCB8PSAxIDw8IG9mZnNldDsKKworCV9fcmF3X3dyaXRlbChkYXQsIGJhc2UgKyAweDA0KTsKKworCWNvbiAmPSB+KDEgPDwgb2Zmc2V0KTsKKworCV9fcmF3X3dyaXRlbChjb24sIGJhc2UgKyAweDAwKTsKKwlfX3Jhd193cml0ZWwoZGF0LCBiYXNlICsgMHgwNCk7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKKworc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwIGdwaW9zW10gPSB7CisJWzBdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BBMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BBMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQSIsCisJCQkubmdwaW8JCQk9IDI0LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9iYW5rYV9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX2JhbmthX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzFdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BCMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BCMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQiIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzJdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BDMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BDMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPQyIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzNdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BEMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BEMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPRCIsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzRdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BFMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BFMCwKKwkJCS5sYWJlbAkJCT0gIkdQSU9FIiwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubmdwaW8JCQk9IDE2LAorCQkJLmRpcmVjdGlvbl9pbnB1dAk9IHMzYzI0eHhfZ3Bpb2xpYl9pbnB1dCwKKwkJCS5kaXJlY3Rpb25fb3V0cHV0CT0gczNjMjR4eF9ncGlvbGliX291dHB1dCwKKwkJCS5zZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9zZXQsCisJCQkuZ2V0CQkJPSBzM2MyNHh4X2dwaW9saWJfZ2V0LAorCQl9LAorCX0sCisJWzVdID0geworCQkuYmFzZQk9IFMzQzI0WFhfR1BJT19CQVNFKFMzQzI0MTBfR1BGMCksCisJCS5jaGlwCT0geworCQkJLmJhc2UJCQk9IFMzQzI0MTBfR1BGMCwKKwkJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCisJCQkubGFiZWwJCQk9ICJHUElPRiIsCisJCQkubmdwaW8JCQk9IDgsCisJCQkuZGlyZWN0aW9uX2lucHV0CT0gczNjMjR4eF9ncGlvbGliX2lucHV0LAorCQkJLmRpcmVjdGlvbl9vdXRwdXQJPSBzM2MyNHh4X2dwaW9saWJfb3V0cHV0LAorCQkJLnNldAkJCT0gczNjMjR4eF9ncGlvbGliX3NldCwKKwkJCS5nZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9nZXQsCisJCX0sCisJfSwKKwlbNl0gPSB7CisJCS5iYXNlCT0gUzNDMjRYWF9HUElPX0JBU0UoUzNDMjQxMF9HUEcwKSwKKwkJLmNoaXAJPSB7CisJCQkuYmFzZQkJCT0gUzNDMjQxMF9HUEcwLAorCQkJLm93bmVyCQkJPSBUSElTX01PRFVMRSwKKwkJCS5sYWJlbAkJCT0gIkdQSU9HIiwKKwkJCS5uZ3BpbwkJCT0gMTAsCisJCQkuZGlyZWN0aW9uX2lucHV0CT0gczNjMjR4eF9ncGlvbGliX2lucHV0LAorCQkJLmRpcmVjdGlvbl9vdXRwdXQJPSBzM2MyNHh4X2dwaW9saWJfb3V0cHV0LAorCQkJLnNldAkJCT0gczNjMjR4eF9ncGlvbGliX3NldCwKKwkJCS5nZXQJCQk9IHMzYzI0eHhfZ3Bpb2xpYl9nZXQsCisJCX0sCisJfSwKK307CisKK3N0YXRpYyBfX2luaXQgaW50IHMzYzI0eHhfZ3Bpb2xpYl9pbml0KHZvaWQpCit7CisJc3RydWN0IHMzYzI0eHhfZ3Bpb19jaGlwICpjaGlwID0gZ3Bpb3M7CisJaW50IGdwbjsKKworCWZvciAoZ3BuID0gMDsgZ3BuIDwgQVJSQVlfU0laRShncGlvcyk7IGdwbisrLCBjaGlwKyspCisJCWdwaW9jaGlwX2FkZCgmY2hpcC0+Y2hpcCk7CisKKwlyZXR1cm4gMDsKK30KKworYXJjaF9pbml0Y2FsbChzM2MyNHh4X2dwaW9saWJfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLWNsb2NrLmMgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLWNsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmNkYTNlMwotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL3BsYXQtczNjMjR4eC9wd20tY2xvY2suYwpAQCAtMCwwICsxLDQzNyBAQAorLyogbGludXgvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS1jbG9jay5jCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IFNpbXRlYyBFbGVjdHJvbmljcworICogQ29weXJpZ2h0IChjKSAyMDA3LCAyMDA4IEJlbiBEb29rcworICoJQmVuIERvb2tzIDxiZW4tbGludXhAZmx1ZmYub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZS4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9pcnEuaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYzI0eHgvY2xvY2suaD4KKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MyNHh4L2NwdS5oPgorCisjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3MtdGltZXIuaD4KKworLyogRWFjaCBvZiB0aGUgdGltZXJzIDAgdGhyb3VnaCA1IGdvIHRocm91Z2ggdGhlIGZvbGxvd2luZworICogY2xvY2sgdHJlZSwgd2l0aCB0aGUgaW5wdXRzIGRlcGVuZGluZyBvbiB0aGUgdGltZXJzLgorICoKKyAqIHBjbGsgLS0tLSBbIHByZXNjYWxlciAwIF0gLSstLS0+IHRpbWVyIDAKKyAqCQkJICAgICAgKy0tLT4gdGltZXIgMQorICoKKyAqIHBjbGsgLS0tLSBbIHByZXNjYWxlciAxIF0gLSstLS0+IHRpbWVyIDIKKyAqCQkJICAgICAgKy0tLT4gdGltZXIgMworICoJCQkgICAgICBcLS0tPiB0aW1lciA0CisgKgorICogV2hpY2ggYXJlIGZlZCBpbnRvIHRoZSB0aW1lcnMgYXMgc286CisgKgorICogcHJlc2NhbGVkIDAgLS0tLSBbIGRpdiAyLDQsOCwxNiBdIC0tLVwKKyAqCQkJCSAgICAgICBbbXV4XSAtPiB0aW1lciAwCisgKiB0Y2xrIDAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLworICoKKyAqIHByZXNjYWxlZCAwIC0tLS0gWyBkaXYgMiw0LDgsMTYgXSAtLS1cCisgKgkJCQkgICAgICAgW211eF0gLT4gdGltZXIgMQorICogdGNsayAwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyAqCisgKgorICogcHJlc2NhbGVkIDEgLS0tLSBbIGRpdiAyLDQsOCwxNiBdIC0tLVwKKyAqCQkJCSAgICAgICBbbXV4XSAtPiB0aW1lciAyCisgKiB0Y2xrIDEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLworICoKKyAqIHByZXNjYWxlZCAxIC0tLS0gWyBkaXYgMiw0LDgsMTYgXSAtLS1cCisgKgkJCQkgICAgICAgW211eF0gLT4gdGltZXIgMworICogdGNsayAxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyAqCisgKiBwcmVzY2FsZWQgMSAtLS0tIFsgZGl2IDIsNCw4LCAxNiBdIC0tXAorICoJCQkJICAgICAgIFttdXhdIC0+IHRpbWVyIDQKKyAqIHRjbGsgMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vCisgKgorICogU2luY2UgdGhlIG11eCBhbmQgdGhlIGRpdmlkZXIgYXJlIHRpZWQgdG9nZXRoZXIgaW4gdGhlCisgKiBzYW1lIHJlZ2lzdGVyIHNwYWNlLCBpdCBpcyBpbXBvc3NpYmxlIHRvIHNldCB0aGUgcGFyZW50CisgKiBhbmQgdGhlIHJhdGUgYXQgdGhlIHNhbWUgdGltZS4gVG8gYXZvaWQgdGhpcywgd2UgYWRkIGFuCisgKiBpbnRlcm1lZGlhdGUgJ3ByZXNjYWxlZC1hbmQtZGl2aWRlZCcgY2xvY2sgdG8gc2VsZWN0CisgKiBhcyB0aGUgcGFyZW50IGZvciB0aGUgdGltZXIgaW5wdXQgY2xvY2sgY2FsbGVkIHRkaXYuCisgKgorICogcHJlc2NhbGVkIGNsayAtLT4gcHdtLXRkaXYgLS0tXAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsgbXV4IF0gLS0+IHRpbWVyIFgKKyAqIHRjbGsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8KKyovCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fc2NhbGVyX2dldHJhdGUoc3RydWN0IGNsayAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdGNmZzAgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcwKTsKKworCWlmIChjbGstPmlkID09IDEpIHsKKwkJdGNmZzAgJj0gUzNDMjQxMF9UQ0ZHX1BSRVNDQUxFUjFfTUFTSzsKKwkJdGNmZzAgPj49IFMzQzI0MTBfVENGR19QUkVTQ0FMRVIxX1NISUZUOworCX0gZWxzZSB7CisJCXRjZmcwICY9IFMzQzI0MTBfVENGR19QUkVTQ0FMRVIwX01BU0s7CisJfQorCisJcmV0dXJuIGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCkgLyAodGNmZzAgKyAxKTsKK30KKworLyogVE9ETyAtIGFkZCBzZXQgcmF0ZSBjYWxscy4gKi8KKworc3RydWN0IGNsayBjbGtfdGltZXJfc2NhbGVyW10gPSB7CisJWzBdCT0geworCQkubmFtZQkJPSAicHdtLXNjYWxlcjAiLAorCQkuaWQJCT0gLTEsCisJCS5nZXRfcmF0ZQk9IGNsa19wd21fc2NhbGVyX2dldHJhdGUsCisJfSwKKwlbMV0JPSB7CisJCS5uYW1lCQk9ICJwd20tc2NhbGVyMSIsCisJCS5pZAkJPSAtMSwKKwkJLmdldF9yYXRlCT0gY2xrX3B3bV9zY2FsZXJfZ2V0cmF0ZSwKKwl9LAorfTsKKworc3RydWN0IGNsayBjbGtfdGltZXJfdGNsa1tdID0geworCVswXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10Y2xrMCIsCisJCS5pZAkJPSAtMSwKKwl9LAorCVsxXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10Y2xrMSIsCisJCS5pZAkJPSAtMSwKKwl9LAorfTsKKworc3RydWN0IHB3bV90ZGl2X2NsayB7CisJc3RydWN0IGNsawljbGs7CisJdW5zaWduZWQgaW50CWRpdmlzb3I7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBwd21fdGRpdl9jbGsgKnRvX3RkaXYoc3RydWN0IGNsayAqY2xrKQoreworCXJldHVybiBjb250YWluZXJfb2YoY2xrLCBzdHJ1Y3QgcHdtX3RkaXZfY2xrLCBjbGspOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdGNmZ190b19kaXZpc29yKHVuc2lnbmVkIGxvbmcgdGNmZzEpCit7CisJcmV0dXJuIDEgPDwgKDEgKyB0Y2ZnMSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMSA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENGRzEpOworCXVuc2lnbmVkIGludCBkaXZpc29yOworCisJdGNmZzEgPj49IFMzQzI0MTBfVENGRzFfU0hJRlQoY2xrLT5pZCk7CisJdGNmZzEgJj0gUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSzsKKworCWlmICh0Y2ZnMSA9PSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLKQorCQlkaXZpc29yID0gdG9fdGRpdihjbGspLT5kaXZpc29yOworCWVsc2UKKwkJZGl2aXNvciA9IHRjZmdfdG9fZGl2aXNvcih0Y2ZnMSk7CisKKwlyZXR1cm4gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KSAvIGRpdmlzb3I7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9yb3VuZF9yYXRlKHN0cnVjdCBjbGsgKmNsaywKKwkJCQkJICAgICB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJdW5zaWduZWQgbG9uZyBwYXJlbnRfcmF0ZTsKKwl1bnNpZ25lZCBsb25nIGRpdmlzb3I7CisKKwlwYXJlbnRfcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGstPnBhcmVudCk7CisJZGl2aXNvciA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXZpc29yIDw9IDIpCisJCWRpdmlzb3IgPSAyOworCWVsc2UgaWYgKGRpdmlzb3IgPD0gNCkKKwkJZGl2aXNvciA9IDQ7CisJZWxzZSBpZiAoZGl2aXNvciA8PSA4KQorCQlkaXZpc29yID0gODsKKwllbHNlCisJCWRpdmlzb3IgPSAxNjsKKworCXJldHVybiBwYXJlbnRfcmF0ZSAvIGRpdmlzb3I7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNsa19wd21fdGRpdl9iaXRzKHN0cnVjdCBwd21fdGRpdl9jbGsgKmRpdmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIGJpdHM7CisKKwlzd2l0Y2ggKGRpdmNsay0+ZGl2aXNvcikgeworCWNhc2UgMjoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjI7CisJCWJyZWFrOworCWNhc2UgNDoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjQ7CisJCWJyZWFrOworCWNhc2UgODoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjg7CisJCWJyZWFrOworCWNhc2UgMTY6CisJZGVmYXVsdDoKKwkJYml0cyA9IFMzQzI0MTBfVENGRzFfTVVYX0RJVjE2OworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gYml0czsKK30KKworc3RhdGljIHZvaWQgY2xrX3B3bV90ZGl2X3VwZGF0ZShzdHJ1Y3QgcHdtX3RkaXZfY2xrICpkaXZjbGspCit7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMSA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENGRzEpOworCXVuc2lnbmVkIGxvbmcgYml0cyA9IGNsa19wd21fdGRpdl9iaXRzKGRpdmNsayk7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNoaWZ0ID0gIFMzQzI0MTBfVENGRzFfU0hJRlQoZGl2Y2xrLT5jbGsuaWQpOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCisJdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl0Y2ZnMSAmPSB+KFMzQzI0MTBfVENGRzFfTVVYX01BU0sgPDwgc2hpZnQpOworCXRjZmcxIHw9IGJpdHMgPDwgc2hpZnQ7CisJX19yYXdfd3JpdGVsKHRjZmcxLCBTM0MyNDEwX1RDRkcxKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIGludCBjbGtfcHdtX3RkaXZfc2V0X3JhdGUoc3RydWN0IGNsayAqY2xrLCB1bnNpZ25lZCBsb25nIHJhdGUpCit7CisJc3RydWN0IHB3bV90ZGl2X2NsayAqZGl2Y2xrID0gdG9fdGRpdihjbGspOworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsay0+cGFyZW50KTsKKwl1bnNpZ25lZCBsb25nIGRpdmlzb3I7CisKKwl0Y2ZnMSA+Pj0gUzNDMjQxMF9UQ0ZHMV9TSElGVChjbGstPmlkKTsKKwl0Y2ZnMSAmPSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLOworCisJcmF0ZSA9IGNsa19yb3VuZF9yYXRlKGNsaywgcmF0ZSk7CisJZGl2aXNvciA9IHBhcmVudF9yYXRlIC8gcmF0ZTsKKworCWlmIChkaXZpc29yID4gMTYpCisJCXJldHVybiAtRUlOVkFMOworCisJZGl2Y2xrLT5kaXZpc29yID0gZGl2aXNvcjsKKworCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBNVVggc2V0dGluZ3MgaWYgd2UgYXJlIGN1cnJlbnRseQorCSAqIHNlbGVjdGVkIGFzIHRoZSBjbG9jayBzb3VyY2UgZm9yIHRoaXMgY2xvY2suICovCisKKwlpZiAodGNmZzEgIT0gUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSykKKwkJY2xrX3B3bV90ZGl2X3VwZGF0ZShkaXZjbGspOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBwd21fdGRpdl9jbGsgY2xrX3RpbWVyX3RkaXZbXSA9IHsKKwlbMF0JPSB7CisJCS5jbGsJPSB7CisJCQkubmFtZQkJPSAicHdtLXRkaXYiLAorCQkJLnBhcmVudAkJPSAmY2xrX3RpbWVyX3NjYWxlclswXSwKKwkJCS5nZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9nZXRfcmF0ZSwKKwkJCS5zZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9zZXRfcmF0ZSwKKwkJCS5yb3VuZF9yYXRlCT0gY2xrX3B3bV90ZGl2X3JvdW5kX3JhdGUsCisJCX0sCisJfSwKKwlbMV0JPSB7CisJCS5jbGsJPSB7CisJCQkubmFtZQkJPSAicHdtLXRkaXYiLAorCQkJLnBhcmVudAkJPSAmY2xrX3RpbWVyX3NjYWxlclswXSwKKwkJCS5nZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9nZXRfcmF0ZSwKKwkJCS5zZXRfcmF0ZQk9IGNsa19wd21fdGRpdl9zZXRfcmF0ZSwKKwkJCS5yb3VuZF9yYXRlCT0gY2xrX3B3bV90ZGl2X3JvdW5kX3JhdGUsCisJCX0KKwl9LAorCVsyXQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorCVszXQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorCVs0XQk9IHsKKwkJLmNsawk9IHsKKwkJCS5uYW1lCQk9ICJwd20tdGRpdiIsCisJCQkucGFyZW50CQk9ICZjbGtfdGltZXJfc2NhbGVyWzFdLAorCQkJLmdldF9yYXRlCT0gY2xrX3B3bV90ZGl2X2dldF9yYXRlLAorCQkJLnNldF9yYXRlCT0gY2xrX3B3bV90ZGl2X3NldF9yYXRlLAorCQkJLnJvdW5kX3JhdGUJPSBjbGtfcHdtX3RkaXZfcm91bmRfcmF0ZSwKKwkJfSwKKwl9LAorfTsKKworc3RhdGljIGludCBfX2luaXQgY2xrX3B3bV90ZGl2X3JlZ2lzdGVyKHVuc2lnbmVkIGludCBpZCkKK3sKKwlzdHJ1Y3QgcHdtX3RkaXZfY2xrICpkaXZjbGsgPSAmY2xrX3RpbWVyX3RkaXZbaWRdOworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKworCXRjZmcxID4+PSBTM0MyNDEwX1RDRkcxX1NISUZUKGlkKTsKKwl0Y2ZnMSAmPSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLOworCisJZGl2Y2xrLT5jbGsuaWQgPSBpZDsKKwlkaXZjbGstPmRpdmlzb3IgPSB0Y2ZnX3RvX2Rpdmlzb3IodGNmZzEpOworCisJcmV0dXJuIHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmRpdmNsay0+Y2xrKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY2xrICpzM2MyNHh4X3B3bWNsa190Y2xrKHVuc2lnbmVkIGludCBpZCkKK3sKKwlyZXR1cm4gKGlkID49IDIpID8gJmNsa190aW1lcl90Y2xrWzFdIDogJmNsa190aW1lcl90Y2xrWzBdOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjbGsgKnMzYzI0eHhfcHdtY2xrX3RkaXYodW5zaWduZWQgaW50IGlkKQoreworCXJldHVybiAmY2xrX3RpbWVyX3RkaXZbaWRdLmNsazsKK30KKworc3RhdGljIGludCBjbGtfcHdtX3Rpbl9zZXRfcGFyZW50KHN0cnVjdCBjbGsgKmNsaywgc3RydWN0IGNsayAqcGFyZW50KQoreworCXVuc2lnbmVkIGludCBpZCA9IGNsay0+aWQ7CisJdW5zaWduZWQgbG9uZyB0Y2ZnMTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgYml0czsKKwl1bnNpZ25lZCBsb25nIHNoaWZ0ID0gUzNDMjQxMF9UQ0ZHMV9TSElGVChpZCk7CisKKwlpZiAocGFyZW50ID09IHMzYzI0eHhfcHdtY2xrX3RjbGsoaWQpKQorCQliaXRzID0gUzNDMjQxMF9UQ0ZHMV9NVVhfVENMSyA8PCBzaGlmdDsKKwllbHNlIGlmIChwYXJlbnQgPT0gczNjMjR4eF9wd21jbGtfdGRpdihpZCkpCisJCWJpdHMgPSBjbGtfcHdtX3RkaXZfYml0cyh0b190ZGl2KGNsaykpIDw8IHNoaWZ0OworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbGstPnBhcmVudCA9IHBhcmVudDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCXRjZmcxID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ0ZHMSk7CisJdGNmZzEgJj0gfihTM0MyNDEwX1RDRkcxX01VWF9NQVNLIDw8IHNoaWZ0KTsKKwlfX3Jhd193cml0ZWwodGNmZzEgfCBiaXRzLCBTM0MyNDEwX1RDRkcxKTsKKworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGNsayBjbGtfdGluW10gPSB7CisJWzBdCT0geworCQkubmFtZQkJPSAicHdtLXRpbiIsCisJCS5pZAkJPSAwLAorCQkuc2V0X3BhcmVudAk9IGNsa19wd21fdGluX3NldF9wYXJlbnQsCisJfSwKKwlbMV0JPSB7CisJCS5uYW1lCQk9ICJwd20tdGluIiwKKwkJLmlkCQk9IDEsCisJCS5zZXRfcGFyZW50CT0gY2xrX3B3bV90aW5fc2V0X3BhcmVudCwKKwl9LAorCVsyXQk9IHsKKwkJLm5hbWUJCT0gInB3bS10aW4iLAorCQkuaWQJCT0gMiwKKwkJLnNldF9wYXJlbnQJPSBjbGtfcHdtX3Rpbl9zZXRfcGFyZW50LAorCX0sCisJWzNdCT0geworCQkubmFtZQkJPSAicHdtLXRpbiIsCisJCS5pZAkJPSAzLAorCQkuc2V0X3BhcmVudAk9IGNsa19wd21fdGluX3NldF9wYXJlbnQsCisJfSwKKwlbNF0JPSB7CisJCS5uYW1lCQk9ICJwd20tdGluIiwKKwkJLmlkCQk9IDQsCisJCS5zZXRfcGFyZW50CT0gY2xrX3B3bV90aW5fc2V0X3BhcmVudCwKKwl9LAorfTsKKworc3RhdGljIF9faW5pdCBpbnQgY2xrX3B3bV90aW5fcmVnaXN0ZXIoc3RydWN0IGNsayAqcHdtKQoreworCXVuc2lnbmVkIGxvbmcgdGNmZzEgPSBfX3Jhd19yZWFkbChTM0MyNDEwX1RDRkcxKTsKKwl1bnNpZ25lZCBpbnQgaWQgPSBwd20tPmlkOworCisJc3RydWN0IGNsayAqcGFyZW50OworCWludCByZXQ7CisKKwlyZXQgPSBzM2MyNHh4X3JlZ2lzdGVyX2Nsb2NrKHB3bSk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwl0Y2ZnMSA+Pj0gUzNDMjQxMF9UQ0ZHMV9TSElGVChpZCk7CisJdGNmZzEgJj0gUzNDMjQxMF9UQ0ZHMV9NVVhfTUFTSzsKKworCWlmICh0Y2ZnMSA9PSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLKQorCQlwYXJlbnQgPSBzM2MyNHh4X3B3bWNsa190Y2xrKGlkKTsKKwllbHNlCisJCXBhcmVudCA9IHMzYzI0eHhfcHdtY2xrX3RkaXYoaWQpOworCisJcmV0dXJuIGNsa19zZXRfcGFyZW50KHB3bSwgcGFyZW50KTsKK30KKworc3RhdGljIF9faW5pdCBpbnQgczNjMjR4eF9wd21jbGtfaW5pdCh2b2lkKQoreworCXN0cnVjdCBjbGsgKmNsa190aW1lcnM7CisJdW5zaWduZWQgaW50IGNsazsKKwlpbnQgcmV0OworCisJY2xrX3RpbWVycyA9IGNsa19nZXQoTlVMTCwgInRpbWVycyIpOworCWlmIChJU19FUlIoY2xrX3RpbWVycykpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogbm8gcGFyZW50IGNsb2NrXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWZvciAoY2xrID0gMDsgY2xrIDwgQVJSQVlfU0laRShjbGtfdGltZXJfc2NhbGVyKTsgY2xrKyspIHsKKwkJY2xrX3RpbWVyX3NjYWxlcltjbGtdLnBhcmVudCA9IGNsa190aW1lcnM7CisJCXJldCA9IHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmNsa190aW1lcl9zY2FsZXJbY2xrXSk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImVycm9yIGFkZGluZyBwd20gc2NhbGVyJWQgY2xvY2tcbiIsIGNsayk7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCWZvciAoY2xrID0gMDsgY2xrIDwgQVJSQVlfU0laRShjbGtfdGltZXJfdGNsayk7IGNsaysrKSB7CisJCXJldCA9IHMzYzI0eHhfcmVnaXN0ZXJfY2xvY2soJmNsa190aW1lcl90Y2xrW2Nsa10pOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJlcnJvciBhZGRpbmcgcHd3IHRjbGslZFxuIiwgY2xrKTsKKwkJCWdvdG8gZXJyOworCQl9CisJfQorCisJZm9yIChjbGsgPSAwOyBjbGsgPCBBUlJBWV9TSVpFKGNsa190aW1lcl90ZGl2KTsgY2xrKyspIHsKKwkJcmV0ID0gY2xrX3B3bV90ZGl2X3JlZ2lzdGVyKGNsayk7CisJCWlmIChyZXQgPCAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgImVycm9yIGFkZGluZyBwd20lZCB0ZGl2IGNsb2NrXG4iLCBjbGspOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlmb3IgKGNsayA9IDA7IGNsayA8IEFSUkFZX1NJWkUoY2xrX3Rpbik7IGNsaysrKSB7CisJCXJldCA9IGNsa19wd21fdGluX3JlZ2lzdGVyKCZjbGtfdGluW2Nsa10pOworCQlpZiAocmV0IDwgMCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJlcnJvciBhZGRpbmcgcHdtJWQgdGluIGNsb2NrXG4iLCBjbGspOworCQkJZ290byBlcnI7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKKworIGVycjoKKwlyZXR1cm4gcmV0OworfQorCithcmNoX2luaXRjYWxsKHMzYzI0eHhfcHdtY2xrX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS5jIGIvYXJjaC9hcm0vcGxhdC1zM2MyNHh4L3B3bS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YzRiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9wbGF0LXMzYzI0eHgvcHdtLmMKQEAgLTAsMCArMSw0MDIgQEAKKy8qIGFyY2gvYXJtL3BsYXQtczNjMjR4eC9wd20uYworICoKKyAqIENvcHlyaWdodCAoYykgMjAwNyBCZW4gRG9va3MKKyAqIENvcHlyaWdodCAoYykgMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4sIDxiZW4tbGludXhAZmx1ZmYub3JnPgorICoKKyAqIFMzQzI0WFggUFdNIGRldmljZSBjb3JlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcHdtLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy10aW1lci5oPgorCitzdHJ1Y3QgcHdtX2RldmljZSB7CisJc3RydWN0IGxpc3RfaGVhZAkgbGlzdDsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlCSpwZGV2OworCisJc3RydWN0IGNsawkJKmNsa19kaXY7CisJc3RydWN0IGNsawkJKmNsazsKKwljb25zdCBjaGFyCQkqbGFiZWw7CisKKwl1bnNpZ25lZCBpbnQJCSBwZXJpb2RfbnM7CisJdW5zaWduZWQgaW50CQkgZHV0eV9uczsKKworCXVuc2lnbmVkIGNoYXIJCSB0Y29uX2Jhc2U7CisJdW5zaWduZWQgY2hhcgkJIHJ1bm5pbmc7CisJdW5zaWduZWQgY2hhcgkJIHVzZV9jb3VudDsKKwl1bnNpZ25lZCBjaGFyCQkgcHdtX2lkOworfTsKKworI2RlZmluZSBwd21fZGJnKF9wd20sIG1zZy4uLikgZGV2X2luZm8oJihfcHdtKS0+cGRldi0+ZGV2LCBtc2cpCisKK3N0YXRpYyBzdHJ1Y3QgY2xrICpjbGtfc2NhbGVyWzJdOworCisvKiBTdGFuZGFyZCBzZXR1cCBmb3IgYSB0aW1lciBibG9jay4gKi8KKworI2RlZmluZSBUSU1FUl9SRVNPVVJDRV9TSVpFICgxKQorCisjZGVmaW5lIFRJTUVSX1JFU09VUkNFKF90bXIsIF9pcnEpCQkJXAorCShzdHJ1Y3QgcmVzb3VyY2UgW1RJTUVSX1JFU09VUkNFX1NJWkVdKSB7CVwKKwkJWzBdID0gewkJCQkJXAorCQkJLnN0YXJ0CT0gX2lycSwJCQlcCisJCQkuZW5kCT0gX2lycSwJCQlcCisJCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0lSUQlcCisJCX0JCQkJCVwKKwl9CisKKyNkZWZpbmUgREVGSU5FX1RJTUVSKF90bXJfbm8sIF9pcnEpCQkJXAorCS5uYW1lCQk9ICJzM2MyNHh4LXB3bSIsCQlcCisJLmlkCQk9IF90bXJfbm8sCQkJXAorCS5udW1fcmVzb3VyY2VzCT0gVElNRVJfUkVTT1VSQ0VfU0laRSwJCVwKKwkucmVzb3VyY2UJPSBUSU1FUl9SRVNPVVJDRShfdG1yX25vLCBfaXJxKSwJXAorCisvKiBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgYW4gc3RhdGljIG1hcHBpbmcgZm9yIHRoZSB0aW1lciwgd2UgZG8gbm90CisgKiBib3RoZXIgc2V0dGluZyBhbnkgSU8gcmVzb3VyY2UgZm9yIHRoZSBiYXNlLgorICovCisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcltdID0geworCVswXSA9IHsgREVGSU5FX1RJTUVSKDAsIElSUV9USU1FUjApIH0sCisJWzFdID0geyBERUZJTkVfVElNRVIoMSwgSVJRX1RJTUVSMSkgfSwKKwlbMl0gPSB7IERFRklORV9USU1FUigyLCBJUlFfVElNRVIyKSB9LAorCVszXSA9IHsgREVGSU5FX1RJTUVSKDMsIElSUV9USU1FUjMpIH0sCisJWzRdID0geyBERUZJTkVfVElNRVIoNCwgSVJRX1RJTUVSNCkgfSwKK307CisKK3N0YXRpYyBpbmxpbmUgaW50IHB3bV9pc190ZGl2KHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJcmV0dXJuIGNsa19nZXRfcGFyZW50KHB3bS0+Y2xrKSA9PSBwd20tPmNsa19kaXY7Cit9CisKK3N0YXRpYyBERUZJTkVfTVVURVgocHdtX2xvY2spOworc3RhdGljIExJU1RfSEVBRChwd21fbGlzdCk7CisKK3N0cnVjdCBwd21fZGV2aWNlICpwd21fcmVxdWVzdChpbnQgcHdtX2lkLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCWludCBmb3VuZCA9IDA7CisKKwltdXRleF9sb2NrKCZwd21fbG9jayk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHB3bSwgJnB3bV9saXN0LCBsaXN0KSB7CisJCWlmIChwd20tPnB3bV9pZCA9PSBwd21faWQpIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGZvdW5kKSB7CisJCWlmIChwd20tPnVzZV9jb3VudCA9PSAwKSB7CisJCQlwd20tPnVzZV9jb3VudCA9IDE7CisJCQlwd20tPmxhYmVsID0gbGFiZWw7CisJCX0gZWxzZQorCQkJcHdtID0gRVJSX1BUUigtRUJVU1kpOworCX0gZWxzZQorCQlwd20gPSBFUlJfUFRSKC1FTk9FTlQpOworCisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisJcmV0dXJuIHB3bTsKK30KKworRVhQT1JUX1NZTUJPTChwd21fcmVxdWVzdCk7CisKKwordm9pZCBwd21fZnJlZShzdHJ1Y3QgcHdtX2RldmljZSAqcHdtKQoreworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKworCWlmIChwd20tPnVzZV9jb3VudCkgeworCQlwd20tPnVzZV9jb3VudC0tOworCQlwd20tPmxhYmVsID0gTlVMTDsKKwl9IGVsc2UKKwkJcHJpbnRrKEtFUk5fRVJSICJQV00lZCBkZXZpY2UgYWxyZWFkeSBmcmVlZFxuIiwgcHdtLT5wd21faWQpOworCisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7Cit9CisKK0VYUE9SVF9TWU1CT0wocHdtX2ZyZWUpOworCisjZGVmaW5lIHB3bV90Y29uX3N0YXJ0KHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMCkpCisjZGVmaW5lIHB3bV90Y29uX2ludmVydChwd20pICgxIDw8IChwd20tPnRjb25fYmFzZSArIDIpKQorI2RlZmluZSBwd21fdGNvbl9hdXRvcmVsb2FkKHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMykpCisjZGVmaW5lIHB3bV90Y29uX21hbnVsdXBkYXRlKHB3bSkgKDEgPDwgKHB3bS0+dGNvbl9iYXNlICsgMSkpCisKK2ludCBwd21fZW5hYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHRjb247CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX3N0YXJ0KHB3bSk7CisJX19yYXdfd3JpdGVsKHRjb24sIFMzQzI0MTBfVENPTik7CisKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlwd20tPnJ1bm5pbmcgPSAxOworCXJldHVybiAwOworfQorCitFWFBPUlRfU1lNQk9MKHB3bV9lbmFibGUpOworCit2b2lkIHB3bV9kaXNhYmxlKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHRjb247CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uICY9IH5wd21fdGNvbl9zdGFydChwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcHdtLT5ydW5uaW5nID0gMDsKK30KKworRVhQT1JUX1NZTUJPTChwd21fZGlzYWJsZSk7CisKK3Vuc2lnbmVkIGxvbmcgcHdtX2NhbGNfdGluKHN0cnVjdCBwd21fZGV2aWNlICpwd20sIHVuc2lnbmVkIGxvbmcgZnJlcSkKK3sKKwl1bnNpZ25lZCBsb25nIHRpbl9wYXJlbnRfcmF0ZTsKKwl1bnNpZ25lZCBpbnQgZGl2OworCisJdGluX3BhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsa19nZXRfcGFyZW50KHB3bS0+Y2xrX2RpdikpOworCXB3bV9kYmcocHdtLCAidGluIHBhcmVudCBhdCAlbHVcbiIsIHRpbl9wYXJlbnRfcmF0ZSk7CisKKwlmb3IgKGRpdiA9IDI7IGRpdiA8PSAxNjsgZGl2ICo9IDIpIHsKKwkJaWYgKCh0aW5fcGFyZW50X3JhdGUgLyAoZGl2IDw8IDE2KSkgPCBmcmVxKQorCQkJcmV0dXJuIHRpbl9wYXJlbnRfcmF0ZSAvIGRpdjsKKwl9CisKKwlyZXR1cm4gdGluX3BhcmVudF9yYXRlIC8gMTY7Cit9CisKKyNkZWZpbmUgTlNfSU5fSFogKDEwMDAwMDAwMDBVTCkKKworaW50IHB3bV9jb25maWcoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSwgaW50IGR1dHlfbnMsIGludCBwZXJpb2RfbnMpCit7CisJdW5zaWduZWQgbG9uZyB0aW5fcmF0ZTsKKwl1bnNpZ25lZCBsb25nIHRpbl9uczsKKwl1bnNpZ25lZCBsb25nIHBlcmlvZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgdGNvbjsKKwl1bnNpZ25lZCBsb25nIHRjbnQ7CisJbG9uZyB0Y21wOworCisJLyogV2UgY3VycmVudGx5IGF2b2lkIHVzaW5nIDY0Yml0IGFyaXRobWV0aWMgYnkgdXNpbmcgdGhlCisJICogZmFjdCB0aGF0IGFueXRoaW5nIGZhc3RlciB0aGFuIDFIeiBpcyBlYXNpbHkgcmVwcmVzZW50YWJsZQorCSAqIGJ5IDMyYml0cy4gKi8KKworCWlmIChwZXJpb2RfbnMgPiBOU19JTl9IWiB8fCBkdXR5X25zID4gTlNfSU5fSFopCisJCXJldHVybiAtRVJBTkdFOworCisJaWYgKGR1dHlfbnMgPiBwZXJpb2RfbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHBlcmlvZF9ucyA9PSBwd20tPnBlcmlvZF9ucyAmJgorCSAgICBkdXR5X25zID09IHB3bS0+ZHV0eV9ucykKKwkJcmV0dXJuIDA7CisKKwkvKiBUaGUgVENNUCBhbmQgVENOVCBjYW4gYmUgcmVhZCB3aXRob3V0IGEgbG9jaywgdGhleSdyZSBub3QKKwkgKiBzaGFyZWQgYmV0d2VlbiB0aGUgdGltZXJzLiAqLworCisJdGNtcCA9IF9fcmF3X3JlYWRsKFMzQzI0MTBfVENNUEIocHdtLT5wd21faWQpKTsKKwl0Y250ID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ05UQihwd20tPnB3bV9pZCkpOworCisJcGVyaW9kID0gTlNfSU5fSFogLyBwZXJpb2RfbnM7CisKKwlwd21fZGJnKHB3bSwgImR1dHlfbnM9JWQsIHBlcmlvZF9ucz0lZCAoJWx1KVxuIiwKKwkJZHV0eV9ucywgcGVyaW9kX25zLCBwZXJpb2QpOworCisJLyogQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBjaGFuZ2luZyB0aGUgY2xvY2sgcmF0ZSBvZiB0aGUgUFdNICovCisKKwlpZiAocHdtLT5wZXJpb2RfbnMgIT0gcGVyaW9kX25zKSB7CisJCWlmIChwd21faXNfdGRpdihwd20pKSB7CisJCQl0aW5fcmF0ZSA9IHB3bV9jYWxjX3Rpbihwd20sIHBlcmlvZCk7CisJCQljbGtfc2V0X3JhdGUocHdtLT5jbGtfZGl2LCB0aW5fcmF0ZSk7CisJCX0gZWxzZQorCQkJdGluX3JhdGUgPSBjbGtfZ2V0X3JhdGUocHdtLT5jbGspOworCisJCXB3bS0+cGVyaW9kX25zID0gcGVyaW9kX25zOworCisJCXB3bV9kYmcocHdtLCAidGluX3JhdGU9JWx1XG4iLCB0aW5fcmF0ZSk7CisKKwkJdGluX25zID0gTlNfSU5fSFogLyB0aW5fcmF0ZTsKKwkJdGNudCA9IHBlcmlvZF9ucyAvIHRpbl9uczsKKwl9IGVsc2UKKwkJdGluX25zID0gTlNfSU5fSFogLyBjbGtfZ2V0X3JhdGUocHdtLT5jbGspOworCisJLyogTm90ZSwgY291bnRlcnMgY291bnQgZG93biAqLworCisJdGNtcCA9IGR1dHlfbnMgLyB0aW5fbnM7CisJdGNtcCA9IHRjbnQgLSB0Y21wOworCisJcHdtX2RiZyhwd20sICJ0aW5fbnM9JWx1LCB0Y21wPSVsZC8lbHVcbiIsIHRpbl9ucywgdGNtcCwgdGNudCk7CisKKwlpZiAodGNtcCA8IDApCisJCXRjbXAgPSAwOworCisJLyogVXBkYXRlIHRoZSBQV00gcmVnaXN0ZXIgYmxvY2suICovCisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwlfX3Jhd193cml0ZWwodGNtcCwgUzNDMjQxMF9UQ01QQihwd20tPnB3bV9pZCkpOworCV9fcmF3X3dyaXRlbCh0Y250LCBTM0MyNDEwX1RDTlRCKHB3bS0+cHdtX2lkKSk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX21hbnVsdXBkYXRlKHB3bSk7CisJdGNvbiB8PSBwd21fdGNvbl9hdXRvcmVsb2FkKHB3bSk7CisJX19yYXdfd3JpdGVsKHRjb24sIFMzQzI0MTBfVENPTik7CisKKwl0Y29uICY9IH5wd21fdGNvbl9tYW51bHVwZGF0ZShwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcmV0dXJuIDA7Cit9CisKK0VYUE9SVF9TWU1CT0wocHdtX2NvbmZpZyk7CisKK3N0YXRpYyBpbnQgcHdtX3JlZ2lzdGVyKHN0cnVjdCBwd21fZGV2aWNlICpwd20pCit7CisJcHdtLT5kdXR5X25zID0gLTE7CisJcHdtLT5wZXJpb2RfbnMgPSAtMTsKKworCW11dGV4X2xvY2soJnB3bV9sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZwd20tPmxpc3QsICZwd21fbGlzdCk7CisJbXV0ZXhfdW5sb2NrKCZwd21fbG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzM2NfcHdtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKwlzdHJ1Y3QgcHdtX2RldmljZSAqcHdtOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyB0Y29uOworCXVuc2lnbmVkIGludCBpZCA9IHBkZXYtPmlkOworCWludCByZXQ7CisKKwlpZiAoaWQgPT0gNCkgeworCQlkZXZfZXJyKGRldiwgIlRJTUVSNCBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZFxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHdtID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHB3bV9kZXZpY2UpLCBHRlBfS0VSTkVMKTsKKwlpZiAocHdtID09IE5VTEwpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcHdtX2RldmljZVxuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCXB3bS0+cGRldiA9IHBkZXY7CisJcHdtLT5wd21faWQgPSBpZDsKKworCS8qIGNhbGN1bGF0ZSBiYXNlIG9mIGNvbnRyb2wgYml0cyBpbiBUQ09OICovCisJcHdtLT50Y29uX2Jhc2UgPSBpZCA9PSAwID8gMCA6IChpZCAqIDQpICsgNDsKKworCXB3bS0+Y2xrID0gY2xrX2dldChkZXYsICJwd20tdGluIik7CisJaWYgKElTX0VSUihwd20tPmNsaykpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHB3bSB0aW4gY2xrXG4iKTsKKwkJcmV0ID0gUFRSX0VSUihwd20tPmNsayk7CisJCWdvdG8gZXJyX2FsbG9jOworCX0KKworCXB3bS0+Y2xrX2RpdiA9IGNsa19nZXQoZGV2LCAicHdtLXRkaXYiKTsKKwlpZiAoSVNfRVJSKHB3bS0+Y2xrX2RpdikpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHB3bSB0ZGl2IGNsa1xuIik7CisJCXJldCA9IFBUUl9FUlIocHdtLT5jbGtfZGl2KTsKKwkJZ290byBlcnJfY2xrX3RpbjsKKwl9CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisKKwl0Y29uID0gX19yYXdfcmVhZGwoUzNDMjQxMF9UQ09OKTsKKwl0Y29uIHw9IHB3bV90Y29uX2ludmVydChwd20pOworCV9fcmF3X3dyaXRlbCh0Y29uLCBTM0MyNDEwX1RDT04pOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisKKwlyZXQgPSBwd21fcmVnaXN0ZXIocHdtKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIHB3bVxuIik7CisJCWdvdG8gZXJyX2Nsa190ZGl2OworCX0KKworCXB3bV9kYmcocHdtLCAiY29uZmlnIGJpdHMgJTAyeFxuIiwKKwkJKF9fcmF3X3JlYWRsKFMzQzI0MTBfVENPTikgPj4gcHdtLT50Y29uX2Jhc2UpICYgMHgwZik7CisKKwlkZXZfaW5mbyhkZXYsICJ0aW4gYXQgJWx1LCB0ZGl2IGF0ICVsdSwgdGluPSVzY2xrLCBiYXNlICVkXG4iLAorCQkgY2xrX2dldF9yYXRlKHB3bS0+Y2xrKSwKKwkJIGNsa19nZXRfcmF0ZShwd20tPmNsa19kaXYpLAorCQkgcHdtX2lzX3RkaXYocHdtKSA/ICJkaXYiIDogImV4dCIsIHB3bS0+dGNvbl9iYXNlKTsKKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHB3bSk7CisJcmV0dXJuIDA7CisKKyBlcnJfY2xrX3RkaXY6CisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCisgZXJyX2Nsa190aW46CisJY2xrX3B1dChwd20tPmNsayk7CisKKyBlcnJfYWxsb2M6CisJa2ZyZWUocHdtKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHMzY19wd21fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHB3bV9kZXZpY2UgKnB3bSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJY2xrX3B1dChwd20tPmNsa19kaXYpOworCWNsa19wdXQocHdtLT5jbGspOworCWtmcmVlKHB3bSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjX3B3bV9kcml2ZXIgPSB7CisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0eHgtcHdtIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUJCT0gczNjX3B3bV9wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKHMzY19wd21fcmVtb3ZlKSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHB3bV9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCWNsa19zY2FsZXJbMF0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMCIpOworCWNsa19zY2FsZXJbMV0gPSBjbGtfZ2V0KE5VTEwsICJwd20tc2NhbGVyMSIpOworCisJaWYgKElTX0VSUihjbGtfc2NhbGVyWzBdKSB8fCBJU19FUlIoY2xrX3NjYWxlclsxXSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmFpbGVkIHRvIGdldCBzY2FsZXIgY2xvY2tzXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldCA9IHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmczNjX3B3bV9kcml2ZXIpOworCWlmIChyZXQpCisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGZhaWxlZCB0byBhZGQgcHdtIGRyaXZlclxuIiwgX19mdW5jX18pOworCisJcmV0dXJuIHJldDsKK30KKworYXJjaF9pbml0Y2FsbChwd21faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzIGIvYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcwppbmRleCAyMDdhOGI1Li4wYmU1NjMwIDEwMDY0NAotLS0gYS9hcmNoL2FybS90b29scy9tYWNoLXR5cGVzCisrKyBiL2FyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMKQEAgLTEyLDcgKzEyLDcgQEAKICMKICMgICBodHRwOi8vd3d3LmFybS5saW51eC5vcmcudWsvZGV2ZWxvcGVyL21hY2hpbmVzLz9hY3Rpb249bmV3CiAjCi0jIExhc3QgdXBkYXRlOiBTYXQgQXByIDE5IDExOjIzOjM4IDIwMDgKKyMgTGFzdCB1cGRhdGU6IE1vbiBKdWwgNyAxNjoyNTozOSAyMDA4CiAjCiAjIG1hY2hpbmVfaXNfeHh4CUNPTkZJR194eHh4CQlNQUNIX1RZUEVfeHh4CQludW1iZXIKICMKQEAgLTU2MCw3ICs1NjAsNiBAQAogYm94ZXIJCQlNQUNIX0JPWEVSCQlCT1hFUgkJCTU0NAogc2hlcGhlcmQJCU1BQ0hfU0hFUEhFUkQJCVNIRVBIRVJECQk1NDUKIGFtbDQyODAwYWEJCU1BQ0hfQU1MNDI4MDBBQQkJQU1MNDI4MDBBQQkJNTQ2Ci1tbDY3NDAwMQkJTUFDSF9NQUNIX1RZUEVfTUw2NzQwMDEJTUFDSF9UWVBFX01MNjc0MDAxCTU0NwogbHBjMjI5NAkJCU1BQ0hfTFBDMjI5NAkJTFBDMjI5NAkJCTU0OAogc3dpdGNoZ3Jhc3MJCU1BQ0hfU1dJVENIR1JBU1MJU1dJVENIR1JBU1MJCTU0OQogZW5zX2NtdQkJCU1BQ0hfRU5TX0NNVQkJRU5TX0NNVQkJCTU1MApAQCAtNzQ4LDcgKzc0Nyw2IEBACiBpdGU4MTUyCQkJTUFDSF9JVEU4MTUyCQlJVEU4MTUyCQkJNzM1CiBscGMzeHh4CQkJTUFDSF9MUEMzWFhYCQlMUEMzWFhYCQkJNzM2CiBwdXBwZXRlZXIJCU1BQ0hfUFVQUEVURUVSCQlQVVBQRVRFRVIJCTczNwotdnQwMDEJCQlNQUNIX01BQ0hfVkFEQVRFQ0gJTUFDSF9WQURBVEVDSAkJNzM4CiBlNTcwCQkJTUFDSF9FNTcwCQlFNTcwCQkJNzM5CiB4NTAJCQlNQUNIX1g1MAkJWDUwCQkJNzQwCiByZWNvbgkJCU1BQ0hfUkVDT04JCVJFQ09OCQkJNzQxCkBAIC04MzksNyArODM3LDcgQEAKIG9tYXBfZ3NhbXBsZQkJTUFDSF9PTUFQX0dTQU1QTEUJT01BUF9HU0FNUExFCQk4MjYKIHJlYWx2aWV3X2ViCQlNQUNIX1JFQUxWSUVXX0VCCVJFQUxWSUVXX0VCCQk4MjcKIHNhbW9hCQkJTUFDSF9TQU1PQQkJU0FNT0EJCQk4MjgKLXQzeHNjYWxlCQlNQUNIX1QzWFNDQUxFCQlUM1hTQ0FMRQkJODI5CitwYWxtdDMJCQlNQUNIX1BBTE1UMwkJUEFMTVQzCQkJODI5CiBpODc4CQkJTUFDSF9JODc4CQlJODc4CQkJODMwCiBib3J6b2kJCQlNQUNIX0JPUlpPSQkJQk9SWk9JCQkJODMxCiBnZWNrbwkJCU1BQ0hfR0VDS08JCUdFQ0tPCQkJODMyCkBAIC04OTUsNyArODkzLDcgQEAKIG9taV9ib2FyZAkJTUFDSF9PTUlfQk9BUkQJCU9NSV9CT0FSRAkJODgyCiBteDIxY2l2CQkJTUFDSF9NWDIxQ0lWCQlNWDIxQ0lWCQkJODgzCiBtYWhpX2NkYWMJCU1BQ0hfTUFISV9DREFDCQlNQUhJX0NEQUMJCTg4NAoteHNjYWxlX3BhbG10eAkJTUFDSF9YU0NBTEVfUEFMTVRYCVhTQ0FMRV9QQUxNVFgJCTg4NQorcGFsbXR4CQkJTUFDSF9QQUxNVFgJCVBBTE1UWAkJCTg4NQogczNjMjQxMwkJCU1BQ0hfUzNDMjQxMwkJUzNDMjQxMwkJCTg4Nwogc2Ftc3lzX2VwMAkJTUFDSF9TQU1TWVNfRVAwCQlTQU1TWVNfRVAwCQk4ODgKIHdnMzAydjEJCQlNQUNIX1dHMzAyVjEJCVdHMzAyVjEJCQk4ODkKQEAgLTkxOCw3ICs5MTYsNyBAQAogYXBmOTMyOAkJCU1BQ0hfQVBGOTMyOAkJQVBGOTMyOAkJCTkwNgogb21hcF93aXBvcQkJTUFDSF9PTUFQX1dJUE9RCQlPTUFQX1dJUE9RCQk5MDcKIG9tYXBfdHdpcAkJTUFDSF9PTUFQX1RXSVAJCU9NQVBfVFdJUAkJOTA4Ci14c2NhbGVfdHJlbzY1MAkJTUFDSF9YU0NBTEVfUEFMTVRSRU82NTAJWFNDQUxFX1BBTE1UUkVPNjUwCTkwOQorcGFsbXRyZW82NTAJCU1BQ0hfUEFMTVRSRU82NTAJUEFMTVRSRU82NTAJCTkwOQogYWN1bWVuCQkJTUFDSF9BQ1VNRU4JCUFDVU1FTgkJCTkxMAogeHAxMDAJCQlNQUNIX1hQMTAwCQlYUDEwMAkJCTkxMQogZnMyNDEwCQkJTUFDSF9GUzI0MTAJCUZTMjQxMAkJCTkxMgpAQCAtOTI2LDggKzkyNCw4IEBACiBzcTJmdGxwYWxtCQlNQUNIX1NRMkZUTFBBTE0JCVNRMkZUTFBBTE0JCTkxNAogYnNlbXNlcnZlcgkJTUFDSF9CU0VNU0VSVkVSCQlCU0VNU0VSVkVSCQk5MTUKIG5ldGNsaWVudAkJTUFDSF9ORVRDTElFTlQJCU5FVENMSUVOVAkJOTE2Ci14c2NhbGVfcGFsbXR0NQkJTUFDSF9YU0NBTEVfUEFMTVRUNQlYU0NBTEVfUEFMTVRUNQkJOTE3Ci14c2NhbGVfcGFsbXRjCQlNQUNIX09NQVBfUEFMTVRDCU9NQVBfUEFMTVRDCQk5MTgKK3BhbG10NQkJCU1BQ0hfUEFMTVQ1CQlQQUxNVDUJCQk5MTcKK3BhbG10YwkJCU1BQ0hfUEFMTVRDCQlQQUxNVEMJCQk5MTgKIG9tYXBfYXBvbGxvbgkJTUFDSF9PTUFQX0FQT0xMT04JT01BUF9BUE9MTE9OCQk5MTkKIG14YzMwMDMwZXZiCQlNQUNIX01YQzMwMDMwRVZCCU1YQzMwMDMwRVZCCQk5MjAKIHJlYV8yZAkJCU1BQ0hfUkVBXzJECQlSRUFfMkQJCQk5MjEKQEAgLTEyMjAsNyArMTIxOCw2IEBACiBlbTcyMTAJCQlNQUNIX0VNNzIxMAkJRU03MjEwCQkJMTIxMgogaHRjaGVybWVzCQlNQUNIX0hUQ0hFUk1FUwkJSFRDSEVSTUVTCQkxMjEzCiBldGlfYzEJCQlNQUNIX0VUSV9DMQkJRVRJX0MxCQkJMTIxNAotbWFjaF9kZXAyNDEwCQlNQUNIX01BQ0hfREVQMjQxMAlNQUNIX0RFUDI0MTAJCTEyMTUKIGFjMTAwCQkJTUFDSF9BQzEwMAkJQUMxMDAJCQkxMjE2CiBzbmVldGNoCQkJTUFDSF9TTkVFVENICQlTTkVFVENICQkJMTIxNwogc3R1ZGVudG1hdGUJCU1BQ0hfU1RVREVOVE1BVEUJU1RVREVOVE1BVEUJCTEyMTgKQEAgLTE0MjEsMTAgKzE0MTgsMTAgQEAKIGNudHlfdGl0YW4JCU1BQ0hfQ05UWV9USVRBTgkJQ05UWV9USVRBTgkJMTQxOAogYXBwM3h4CQkJTUFDSF9BUFAzWFgJCUFQUDNYWAkJCTE0MTkKIHNpZGVvYXRzZ3JhbWEJCU1BQ0hfU0lERU9BVFNHUkFNQQlTSURFT0FUU0dSQU1BCQkxNDIwCi14c2NhbGVfcGFsbXQ3MDBwCU1BQ0hfWFNDQUxFX1BBTE1UNzAwUAlYU0NBTEVfUEFMTVQ3MDBQCTE0MjEKLXhzY2FsZV9wYWxtdDcwMHcJTUFDSF9YU0NBTEVfUEFMTVQ3MDBXCVhTQ0FMRV9QQUxNVDcwMFcJMTQyMgoteHNjYWxlX3BhbG10NzUwCQlNQUNIX1hTQ0FMRV9QQUxNVDc1MAlYU0NBTEVfUEFMTVQ3NTAJCTE0MjMKLXhzY2FsZV9wYWxtdDc1NXAJTUFDSF9YU0NBTEVfUEFMTVQ3NTVQCVhTQ0FMRV9QQUxNVDc1NVAJMTQyNAorcGFsbXRyZW83MDBwCQlNQUNIX1BBTE1UUkVPNzAwUAlQQUxNVFJFTzcwMFAJCTE0MjEKK3BhbG10cmVvNzAwdwkJTUFDSF9QQUxNVFJFTzcwMFcJUEFMTVRSRU83MDBXCQkxNDIyCitwYWxtdHJlbzc1MAkJTUFDSF9QQUxNVFJFTzc1MAlQQUxNVFJFTzc1MAkJMTQyMworcGFsbXRyZW83NTVwCQlNQUNIX1BBTE1UUkVPNzU1UAlQQUxNVFJFTzc1NVAJCTE0MjQKIGV6cmVnYW51dDkyMDAJCU1BQ0hfRVpSRUdBTlVUOTIwMAlFWlJFR0FOVVQ5MjAwCQkxNDI1CiBzYXJnZQkJCU1BQ0hfU0FSR0UJCVNBUkdFCQkJMTQyNgogYTY5NgkJCU1BQ0hfQTY5NgkJQTY5NgkJCTE0MjcKQEAgLTE0NjMsNyArMTQ2MCw3IEBACiBodGN0aXRhbgkJTUFDSF9IVENUSVRBTgkJSFRDVElUQU4JCTE0NjMKIHFyYW5pdW0JCQlNQUNIX1FSQU5JVU0JCVFSQU5JVU0JCQkxNDY0CiBhZHhfd3NjMgkJTUFDSF9BRFhfV1NDMgkJQURYX1dTQzIJCTE0NjUKLWFkeF9tZWRjb20JCU1BQ0hfQURYX01FRElORVQJQURYX01FRElORVQJCTE0NjYKK2FkeF9tZWRjb20JCU1BQ0hfQURYX01FRENPTQkJQURYX01FRENPTQkJMTQ2NgogYmJvYXJkCQkJTUFDSF9CQk9BUkQJCUJCT0FSRAkJCTE0NjcKIGNhbWJyaWEJCQlNQUNIX0NBTUJSSUEJCUNBTUJSSUEJCQkxNDY4CiBtdDd4eHgJCQlNQUNIX01UN1hYWAkJTVQ3WFhYCQkJMTQ2OQpAQCAtMTUxOSw3ICsxNTE2LDcgQEAKIGNvcnNpY2EJCQlNQUNIX0NPUlNJQ0EJCUNPUlNJQ0EJCQkxNTE5CiBiaWdleWUJCQlNQUNIX0JJR0VZRQkJQklHRVlFCQkJMTUyMAogdGxsNTAwMAkJCU1BQ0hfVExMNTAwMAkJVExMNTAwMAkJCTE1MjIKLWhuaTI3MAkJCU1BQ0hfSE5JX1gyNzAJCUhOSV9YMjcwCQkxNTIzCitiZWJvdAkJCU1BQ0hfQkVCT1QJCUJFQk9UCQkJMTUyMwogcW9uZwkJCU1BQ0hfUU9ORwkJUU9ORwkJCTE1MjQKIHRjb21wYWN0CQlNQUNIX1RDT01QQUNUCQlUQ09NUEFDVAkJMTUyNQogcHVtYTUJCQlNQUNIX1BVTUE1CQlQVU1BNQkJCTE1MjYKQEAgLTE2MzYsNyArMTYzMyw2IEBACiBwYWxlcm1vYwkJTUFDSF9QQUxFUk1PQwkJUEFMRVJNT0MJCTE2MzgKIG9tYXBfbGRwCQlNQUNIX09NQVBfTERQCQlPTUFQX0xEUAkJMTYzOQogaXA1MDAJCQlNQUNIX0lQNTAwCQlJUDUwMAkJCTE2NDAKLW14MzVhZHMJCQlNQUNIX01BQ0hfTVgzNUFEUwlNQUNIX01YMzVBRFMJCTE2NDEKIGFzZTIJCQlNQUNIX0FTRTIJCUFTRTIJCQkxNjQyCiBteDM1ZXZiCQkJTUFDSF9NWDM1RVZCCQlNWDM1RVZCCQkJMTY0MwogYW1sX204MDUwCQlNQUNIX0FNTF9NODA1MAkJQU1MX004MDUwCQkxNjQ0CkBAIC0xNjQ3LDcgKzE2NDMsNyBAQAogdHJpemVwczR3bAkJTUFDSF9UUklaRVBTNFdMCQlUUklaRVBTNFdMCQkxNjQ5CiB0cml6ZXBzNQkJTUFDSF9UUklaRVBTNQkJVFJJWkVQUzUJCTE2NTAKIG1hcmxpbgkJCU1BQ0hfTUFSTElOCQlNQVJMSU4JCQkxNjUxCi10czc4MDAJCQlNQUNIX1RTNzgwMAkJVFM3ODAwCQkJMTY1MgordHM3OHh4CQkJTUFDSF9UUzc4WFgJCVRTNzhYWAkJCTE2NTIKIGhwaXBhcTIxNAkJTUFDSF9IUElQQVEyMTQJCUhQSVBBUTIxNAkJMTY1MwogYXQ1NzJkOTQwZGNtCQlNQUNIX0FUNTcyRDk0MERDTQlBVDU3MkQ5NDBEQ00JCTE2NTQKIG5lMWJvYXJkCQlNQUNIX05FMUJPQVJECQlORTFCT0FSRAkJMTY1NQpAQCAtMTcyMCwzICsxNzE2LDk5IEBACiBsZ19rczIwCQkJTUFDSF9MR19LUzIwCQlMR19LUzIwCQkJMTcyNQogaGhncHMJCQlNQUNIX0hIR1BTCQlISEdQUwkJCTE3MjYKIG5va2lhX244MTBfd2ltYXgJTUFDSF9OT0tJQV9OODEwX1dJTUFYCU5PS0lBX044MTBfV0lNQVgJMTcyNworaW5zaWdodAkJCU1BQ0hfSU5TSUdIVAkJSU5TSUdIVAkJCTE3MjgKK3NhcHBoaXJlCQlNQUNIX1NBUFBISVJFCQlTQVBQSElSRQkJMTcyOQorY3NiNjM3eG8JCU1BQ0hfQ1NCNjM3WE8JCUNTQjYzN1hPCQkxNzMwCitldmlzaW9uZwkJTUFDSF9FVklTSU9ORwkJRVZJU0lPTkcJCTE3MzEKK3N0bXAzN3h4CQlNQUNIX1NUTVAzN1hYCQlTVE1QMzdYWAkJMTczMgorc3RtcDM3OHgJCU1BQ0hfU1RNUDM4WFgJCVNUTVAzOFhYCQkxNzMzCit0bnQJCQlNQUNIX1ROVAkJVE5UCQkJMTczNAordGJ4dAkJCU1BQ0hfVEJYVAkJVEJYVAkJCTE3MzUKK3BsYXltYXRlCQlNQUNIX1BMQVlNQVRFCQlQTEFZTUFURQkJMTczNgorcG5zMTAJCQlNQUNIX1BOUzEwCQlQTlMxMAkJCTE3MzcKK2V6bmF2aQkJCU1BQ0hfRVpOQVZJCQlFWk5BVkkJCQkxNzM4CitwczQwMDAJCQlNQUNIX1BTNDAwMAkJUFM0MDAwCQkJMTczOQorZXp4X2E3ODAJCU1BQ0hfRVpYX0E3ODAJCUVaWF9BNzgwCQkxNzQwCitlenhfZTY4MAkJTUFDSF9FWlhfRTY4MAkJRVpYX0U2ODAJCTE3NDEKK2V6eF9hMTIwMAkJTUFDSF9FWlhfQTEyMDAJCUVaWF9BMTIwMAkJMTc0MgorZXp4X2U2CQkJTUFDSF9FWlhfRTYJCUVaWF9FNgkJCTE3NDMKK2V6eF9lMgkJCU1BQ0hfRVpYX0UyCQlFWlhfRTIJCQkxNzQ0CitlenhfYTkxMAkJTUFDSF9FWlhfQTkxMAkJRVpYX0E5MTAJCTE3NDUKK2N3bXgzMQkJCU1BQ0hfQ1dNWDMxCQlDV01YMzEJCQkxNzQ2CitzbDIzMTIJCQlNQUNIX1NMMjMxMgkJU0wyMzEyCQkJMTc0NworYmxlbm55CQkJTUFDSF9CTEVOTlkJCUJMRU5OWQkJCTE3NDgKK2RzMTA3CQkJTUFDSF9EUzEwNwkJRFMxMDcJCQkxNzQ5Citkc3gwNwkJCU1BQ0hfRFNYMDcJCURTWDA3CQkJMTc1MAorcGljb2NvbTEJCU1BQ0hfUElDT0NPTTEJCVBJQ09DT00xCQkxNzUxCitseW54X3dvbHZlcmluZQkJTUFDSF9MWU5YX1dPTFZFUklORQlMWU5YX1dPTFZFUklORQkJMTc1MgordWJpc3lzX3A5X3NjMTkJCU1BQ0hfVUJJU1lTX1A5X1NDMTkJVUJJU1lTX1A5X1NDMTkJCTE3NTMKK2tyYXRvc19sb3cJCU1BQ0hfS1JBVE9TX0xPVwkJS1JBVE9TX0xPVwkJMTc1NAorbTcwMAkJCU1BQ0hfTTcwMAkJTTcwMAkJCTE3NTUKK2VkbWluaV92MgkJTUFDSF9FRE1JTklfVjIJCUVETUlOSV9WMgkJMTc1NgoremlwaXQyCQkJTUFDSF9aSVBJVDIJCVpJUElUMgkJCTE3NTcKK2hzbGZlbXRvY2VsbAkJTUFDSF9IU0xGRU1UT0NFTEwJSFNMRkVNVE9DRUxMCQkxNzU4CitkYWludHJlZV9hdDkxCQlNQUNIX0RBSU5UUkVFX0FUOTEJREFJTlRSRUVfQVQ5MQkJMTc1OQorc2c1NjB1c2IJCU1BQ0hfU0c1NjBVU0IJCVNHNTYwVVNCCQkxNzYwCitvbWFwM19wYW5kb3JhCQlNQUNIX09NQVAzX1BBTkRPUkEJT01BUDNfUEFORE9SQQkJMTc2MQordXNyODIwMAkJCU1BQ0hfVVNSODIwMAkJVVNSODIwMAkJCTE3NjIKK3MxczY1awkJCU1BQ0hfUzFTNjVLCQlTMVM2NUsJCQkxNzYzCitzMnM2NWEJCQlNQUNIX1MyUzY1QQkJUzJTNjVBCQkJMTc2NAoraWNvcmUJCQlNQUNIX0lDT1JFCQlJQ09SRQkJCTE3NjUKK21zczIJCQlNQUNIX01TUzIJCU1TUzIJCQkxNzY2CitiZWxtb250CQkJTUFDSF9CRUxNT05UCQlCRUxNT05UCQkJMTc2NworYXN1c3A1MjUJCU1BQ0hfQVNVU1A1MjUJCUFTVVNQNTI1CQkxNzY4CitsYjg4cmM4NDgwCQlNQUNIX0xCODhSQzg0ODAJCUxCODhSQzg0ODAJCTE3NjkKK2hpcHhhCQkJTUFDSF9ISVBYQQkJSElQWEEJCQkxNzcwCitteDI1XzNkcwkJTUFDSF9NWDI1XzNEUwkJTVgyNV8zRFMJCTE3NzEKK204MDAJCQlNQUNIX004MDAJCU04MDAJCQkxNzcyCitvbWFwMzUzMF9sdl9zb20JCU1BQ0hfT01BUDM1MzBfTFZfU09NCU9NQVAzNTMwX0xWX1NPTQkJMTc3MworcHJpbWFfZXZiCQlNQUNIX1BSSU1BX0VWQgkJUFJJTUFfRVZCCQkxNzc0CitteDMxYnQxCQkJTUFDSF9NWDMxQlQxCQlNWDMxQlQxCQkJMTc3NQorYXRsYXM0X2V2YgkJTUFDSF9BVExBUzRfRVZCCQlBVExBUzRfRVZCCQkxNzc2CitteDMxY2ljYWRhCQlNQUNIX01YMzFDSUNBREEJCU1YMzFDSUNBREEJCTE3NzcKK21pNDI0d3IJCQlNQUNIX01JNDI0V1IJCU1JNDI0V1IJCQkxNzc4CitheHNfdWx0cmF4CQlNQUNIX0FYU19VTFRSQVgJCUFYU19VTFRSQVgJCTE3NzkKK2F0NTcyZDk0MGRlYgkJTUFDSF9BVDU3MkQ5NDBERUIJQVQ1NzJEOTQwREVCCQkxNzgwCitkYXZpbmNpX2RhOHh4X2V2bQlNQUNIX0RBVklOQ0lfREE4WFhfRVZNCURBVklOQ0lfREE4WFhfRVZNCTE3ODEKK2VwOTMwMgkJCU1BQ0hfRVA5MzAyCQlFUDkzMDIJCQkxNzgyCithdDU3MmQ5NDBoZmViCQlNQUNIX0FUNTcyRDk0MEhGRUIJQVQ1NzJEOTQwSEZFQgkJMTc4MworY3lib29rMwkJCU1BQ0hfQ1lCT09LMwkJQ1lCT09LMwkJCTE3ODQKK3dkZzAwMgkJCU1BQ0hfV0RHMDAyCQlXREcwMDIJCQkxNzg1CitzZzU2MGFkc2wJCU1BQ0hfU0c1NjBBRFNMCQlTRzU2MEFEU0wJCTE3ODYKK25leHRpb19uMjgwMF9pY2EJTUFDSF9ORVhUSU9fTjI4MDBfSUNBCU5FWFRJT19OMjgwMF9JQ0EJMTc4NworbWFydmVsbF9uZXdkYgkJTUFDSF9NQVJWRUxMX05FV0RCCU1BUlZFTExfTkVXREIJCTE3ODkKK3ZhbmRpaHVkCQlNQUNIX1ZBTkRJSFVECQlWQU5ESUhVRAkJMTc5MAorbWFneF9lOAkJCU1BQ0hfTUFHWF9FOAkJTUFHWF9FOAkJCTE3OTEKK21hZ3hfejYJCQlNQUNIX01BR1hfWjYJCU1BR1hfWjYJCQkxNzkyCittYWd4X3Y4CQkJTUFDSF9NQUdYX1Y4CQlNQUdYX1Y4CQkJMTc5MworbWFneF91OQkJCU1BQ0hfTUFHWF9VOQkJTUFHWF9VOQkJCTE3OTQKK3RvdWdoY2YwOAkJTUFDSF9UT1VHSENGMDgJCVRPVUdIQ0YwOAkJMTc5NQorenc0NDAwCQkJTUFDSF9aVzQ0MDAJCVpXNDQwMAkJCTE3OTYKK21hcmF0OTEJCQlNQUNIX01BUkFUOTEJCU1BUkFUOTEJCQkxNzk3CitvdmVybwkJCU1BQ0hfT1ZFUk8JCU9WRVJPCQkJMTc5OAorYXQyNDQwZXZiCQlNQUNIX0FUMjQ0MEVWQgkJQVQyNDQwRVZCCQkxNzk5CituZW9jb3JlOTI2CQlNQUNIX05FT0NPUkU5MjYJCU5FT0NPUkU5MjYJCTE4MDAKK3ducjg1NHQJCQlNQUNIX1dOUjg1NFQJCVdOUjg1NFQJCQkxODAxCitpbXgyNwkJCU1BQ0hfSU1YMjcJCUlNWDI3CQkJMTgwMgorbW9vc2VfZGIJCU1BQ0hfTU9PU0VfREIJCU1PT1NFX0RCCQkxODAzCitmYWI0CQkJTUFDSF9GQUI0CQlGQUI0CQkJMTgwNAoraHRjZGlhbW9uZAkJTUFDSF9IVENESUFNT05ECQlIVENESUFNT05ECQkxODA1CitmaW9uYQkJCU1BQ0hfRklPTkEJCUZJT05BCQkJMTgwNgorbXhjMzAwMzBfeAkJTUFDSF9NWEMzMDAzMF9YCQlNWEMzMDAzMF9YCQkxODA3CitibXAxMDAwCQkJTUFDSF9CTVAxMDAwCQlCTVAxMDAwCQkJMTgwOAorbG9naTkyMDAJCU1BQ0hfTE9HSTkyMDAJCUxPR0k5MjAwCQkxODA5Cit0cW1hMzEJCQlNQUNIX1RRTUEzMQkJVFFNQTMxCQkJMTgxMAorY2N3OXA5MjE1anMJCU1BQ0hfQ0NXOVA5MjE1SlMJQ0NXOVA5MjE1SlMJCTE4MTEKK3JkODhmNTE4MWxfZ2UJCU1BQ0hfUkQ4OEY1MTgxTF9HRQlSRDg4RjUxODFMX0dFCQkxODEyCitzaWZtYWluCQkJTUFDSF9TSUZNQUlOCQlTSUZNQUlOCQkJMTgxMworc2FtOV9sOTI2MQkJTUFDSF9TQU05X0w5MjYxCQlTQU05X0w5MjYxCQkxODE0CitjYzltMjQ0M2pzCQlNQUNIX0NDOU0yNDQzSlMJCUNDOU0yNDQzSlMJCTE4MTUKK3hhcmlhMzAwCQlNQUNIX1hBUklBMzAwCQlYQVJJQTMwMAkJMTgxNgoraXQ5MjAwCQkJTUFDSF9JVDkyMDAJCUlUOTIwMAkJCTE4MTcKK3JkODhmNTE4MWxfZnhvCQlNQUNIX1JEODhGNTE4MUxfRlhPCVJEODhGNTE4MUxfRlhPCQkxODE4Citrcmlzc19zZW5zb3IJCU1BQ0hfS1JJU1NfU0VOU09SCUtSSVNTX1NFTlNPUgkJMTgxOQorcGlsel9wbWk1CQlNQUNIX1BJTFpfUE1JNQkJUElMWl9QTUk1CQkxODIwCitqYWRlCQkJTUFDSF9KQURFCQlKQURFCQkJMTgyMQora3M4Njk1X3NvZnRwbGMJCU1BQ0hfS1M4Njk1X1NPRlRQTEMJS1M4Njk1X1NPRlRQTEMJCTE4MjIKK2dwcmlzYzQJCQlNQUNIX0dQUklTQzQJCUdQUklTQzQJCQkxODIzCitzdGFtcDkyNjAJCU1BQ0hfU1RBTVA5MjYwCQlTVEFNUDkyNjAJCTE4MjQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3ZmcC92ZnBtb2R1bGUuYyBiL2FyY2gvYXJtL3ZmcC92ZnBtb2R1bGUuYwppbmRleCAzMjQ1NWM2Li5jMGQyYzliIDEwMDY0NAotLS0gYS9hcmNoL2FybS92ZnAvdmZwbW9kdWxlLmMKKysrIGIvYXJjaC9hcm0vdmZwL3ZmcG1vZHVsZS5jCkBAIC0zNTIsNyArMzUyLDcgQEAKIAllbHNlIGlmICh2ZnBzaWQgJiBGUFNJRF9OT0RPVUJMRSkgewogCQlwcmludGsoIm5vIGRvdWJsZSBwcmVjaXNpb24gc3VwcG9ydFxuIik7CiAJfSBlbHNlIHsKLQkJc21wX2NhbGxfZnVuY3Rpb24odmZwX2VuYWJsZSwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHZmcF9lbmFibGUsIE5VTEwsIDEpOwogCiAJCVZGUF9hcmNoID0gKHZmcHNpZCAmIEZQU0lEX0FSQ0hfTUFTSykgPj4gRlBTSURfQVJDSF9CSVQ7ICAvKiBFeHRyYWN0IHRoZSBhcmNoaXRlY3R1cmUgdmVyc2lvbiAqLwogCQlwcmludGsoImltcGxlbWVudG9yICUwMnggYXJjaGl0ZWN0dXJlICVkIHBhcnQgJTAyeCB2YXJpYW50ICV4IHJldiAleFxuIiwKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvS2NvbmZpZyBiL2FyY2gvYXZyMzIvS2NvbmZpZwppbmRleCAwOWFkNzk5Li40NWQ2M2M5IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL0tjb25maWcKKysrIGIvYXJjaC9hdnIzMi9LY29uZmlnCkBAIC04OCw2ICs4OCw3IEBACiAJc2VsZWN0IE1NVQogCXNlbGVjdCBQRVJGT1JNQU5DRV9DT1VOVEVSUwogCXNlbGVjdCBIQVZFX0dQSU9fTElCCisJc2VsZWN0IEdFTkVSSUNfQUxMT0NBVE9SCiAKICMKICMgQ1BVIHR5cGVzCkBAIC0xNDcsNiArMTQ4LDkgQEAKIAogc291cmNlICJrZXJuZWwvS2NvbmZpZy5wcmVlbXB0IgogCitjb25maWcgUVVJQ0tMSVNUCisJZGVmX2Jvb2wgeQorCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIG4KIApAQCAtMjAxLDYgKzIwNSwxMSBAQAogCiBtZW51ICJQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMiCiAKK3NvdXJjZSAia2VybmVsL3Bvd2VyL0tjb25maWciCisKK2NvbmZpZyBBUkNIX1NVU1BFTkRfUE9TU0lCTEUKKwlkZWZfYm9vbCB5CisKIG1lbnUgIkNQVSBGcmVxdWVuY3kgc2NhbGluZyIKIAogc291cmNlICJkcml2ZXJzL2NwdWZyZXEvS2NvbmZpZyIKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdG5ndzEwMC9zZXR1cC5jCmluZGV4IGEzOThiZTIuLmE1MWJiOWYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0bmd3MTAwL3NldHVwLmMKKysrIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRuZ3cxMDAvc2V0dXAuYwpAQCAtOSw2ICs5LDggQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2V0aGVyZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWdwaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgpAQCAtMjUsNiArMjcsMTMgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9pbml0Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcG9ydG11eC5oPgogCisvKiBPc2NpbGxhdG9yIGZyZXF1ZW5jaWVzLiBUaGVzZSBhcmUgYm9hcmQtc3BlY2lmaWMgKi8KK3Vuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbM10gPSB7CisJWzBdID0gMzI3NjgsCS8qIDMyLjc2OCBrSHogb24gUlRDIG9zYyAqLworCVsxXSA9IDIwMDAwMDAwLAkvKiAyMCBNSHogb24gb3NjMCAqLworCVsyXSA9IDEyMDAwMDAwLAkvKiAxMiBNSHogb24gb3NjMSAqLworfTsKKwogLyogSW5pdGlhbGl6ZWQgYnkgYm9vdGxvYWRlci1zcGVjaWZpYyBzdGFydHVwIGNvZGUuICovCiBzdHJ1Y3QgdGFnICpib290bG9hZGVyX3RhZ3MgX19pbml0ZGF0YTsKIApAQCAtMTQwLDYgKzE0OSwxMCBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGkyY19ib2FyZF9pbmZvIF9faW5pdGRhdGEgaTJjX2luZm9bXSA9IHsKKwkvKiBOT1RFOiAgb3JpZ2luYWwgQVR0aW55MjQgZmlybXdhcmUgaXMgYXQgYWRkcmVzcyAweDBiICovCit9OworCiBzdGF0aWMgaW50IF9faW5pdCBhdG5ndzEwMF9pbml0KHZvaWQpCiB7CiAJdW5zaWduZWQJaTsKQEAgLTE2NSwxMiArMTc4LDI4IEBACiAJfQogCXBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmbmd3X2dwaW9fbGVkcyk7CiAKKwkvKiBhbGwgdGhlc2UgaTJjL3NtYnVzIHBpbnMgc2hvdWxkIGhhdmUgZXh0ZXJuYWwgcHVsbHVwcyBmb3IKKwkgKiBvcGVuLWRyYWluIHNoYXJpbmcgYW1vbmcgYWxsIEkyQyBkZXZpY2VzLiAgU0RBIGFuZCBTQ0wgZG87CisJICogUEIyOC9FWFRJTlQzIGRvZXNuJ3Q7IGl0IHNob3VsZCBiZSBTTUJBTEVSVCMgKGZvciBQTUJ1cyksCisJICogYnV0IGl0J3Mgbm90IGF2YWlsYWJsZSBvZmYtYm9hcmQuCisJICovCisJYXQzMl9zZWxlY3RfcGVyaXBoKEdQSU9fUElOX1BCKDI4KSwgMCwgQVQzMl9HUElPRl9QVUxMVVApOwogCWF0MzJfc2VsZWN0X2dwaW8oaTJjX2dwaW9fZGF0YS5zZGFfcGluLAogCQlBVDMyX0dQSU9GX01VTFRJRFJWIHwgQVQzMl9HUElPRl9PVVRQVVQgfCBBVDMyX0dQSU9GX0hJR0gpOwogCWF0MzJfc2VsZWN0X2dwaW8oaTJjX2dwaW9fZGF0YS5zY2xfcGluLAogCQlBVDMyX0dQSU9GX01VTFRJRFJWIHwgQVQzMl9HUElPRl9PVVRQVVQgfCBBVDMyX0dQSU9GX0hJR0gpOwogCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmaTJjX2dwaW9fZGV2aWNlKTsKKwlpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygwLCBpMmNfaW5mbywgQVJSQVlfU0laRShpMmNfaW5mbykpOwogCiAJcmV0dXJuIDA7CiB9CiBwb3N0Y29yZV9pbml0Y2FsbChhdG5ndzEwMF9pbml0KTsKKworc3RhdGljIGludCBfX2luaXQgYXRuZ3cxMDBfYXJjaF9pbml0KHZvaWQpCit7CisJLyogc2V0X2lycV90eXBlKCkgYWZ0ZXIgdGhlIGFyY2hfaW5pdGNhbGwgZm9yIEVJQyBoYXMgcnVuLCBhbmQKKwkgKiBiZWZvcmUgdGhlIEkyQyBzdWJzeXN0ZW0gY291bGQgdHJ5IHVzaW5nIHRoaXMgSVJRLgorCSAqLworCXJldHVybiBzZXRfaXJxX3R5cGUoQVQzMl9FWFRJTlQoMyksIElSUV9UWVBFX0VER0VfRkFMTElORyk7Cit9CithcmNoX2luaXRjYWxsKGF0bmd3MTAwX2FyY2hfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAyLmMgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAyLmMKaW5kZXggMDAwZWI0Mi4uODZiMzYzYyAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMi5jCisrKyBiL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDIuYwpAQCAtMjgsNiArMjgsMTIgQEAKIAogI2luY2x1ZGUgImF0c3RrMTAwMC5oIgogCisvKiBPc2NpbGxhdG9yIGZyZXF1ZW5jaWVzLiBUaGVzZSBhcmUgYm9hcmQgc3BlY2lmaWMgKi8KK3Vuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbM10gPSB7CisJWzBdID0gMzI3NjgsCS8qIDMyLjc2OCBrSHogb24gUlRDIG9zYyAqLworCVsxXSA9IDIwMDAwMDAwLAkvKiAyMCBNSHogb24gb3NjMCAqLworCVsyXSA9IDEyMDAwMDAwLAkvKiAxMiBNSHogb24gb3NjMSAqLworfTsKIAogc3RydWN0IGV0aF9hZGRyIHsKIAl1OCBhZGRyWzZdOwpAQCAtMjMyLDcgKzIzOCw3IEBACiAJc2V0X2h3X2FkZHIoYXQzMl9hZGRfZGV2aWNlX2V0aCgxLCAmZXRoX2RhdGFbMV0pKTsKICNlbHNlCiAJYXQzMl9hZGRfZGV2aWNlX2xjZGMoMCwgJmF0c3RrMTAwMF9sY2RjX2RhdGEsCi0JCQkgICAgIGZibWVtX3N0YXJ0LCBmYm1lbV9zaXplKTsKKwkJCSAgICAgZmJtZW1fc3RhcnQsIGZibWVtX3NpemUsIDApOwogI2VuZGlmCiAJYXQzMl9hZGRfZGV2aWNlX3VzYmEoMCwgTlVMTCk7CiAjaWZuZGVmIENPTkZJR19CT0FSRF9BVFNUSzEwMFhfU1czX0NVU1RPTQpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMy5jIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwMy5jCmluZGV4IGEwYjIyM2QuLmVhMTA5ZjQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDMuYworKysgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDAzLmMKQEAgLTI3LDYgKzI3LDEzIEBACiAKICNpbmNsdWRlICJhdHN0azEwMDAuaCIKIAorLyogT3NjaWxsYXRvciBmcmVxdWVuY2llcy4gVGhlc2UgYXJlIGJvYXJkIHNwZWNpZmljICovCit1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzWzNdID0geworCVswXSA9IDMyNzY4LAkvKiAzMi43Njgga0h6IG9uIFJUQyBvc2MgKi8KKwlbMV0gPSAyMDAwMDAwMCwJLyogMjAgTUh6IG9uIG9zYzAgKi8KKwlbMl0gPSAxMjAwMDAwMCwJLyogMTIgTUh6IG9uIG9zYzEgKi8KK307CisKICNpZmRlZiBDT05GSUdfQk9BUkRfQVRTVEsxMDAwX0VYVERBQwogc3RhdGljIHN0cnVjdCBhdDczYzIxM19ib2FyZF9pbmZvIGF0NzNjMjEzX2RhdGEgPSB7CiAJLnNzY19pZAkJPSAwLApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwNC5jIGIvYXJjaC9hdnIzMi9ib2FyZHMvYXRzdGsxMDAwL2F0c3RrMTAwNC5jCmluZGV4IGU3NjVhODYuLmM3MjM2ZGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvYm9hcmRzL2F0c3RrMTAwMC9hdHN0azEwMDQuYworKysgYi9hcmNoL2F2cjMyL2JvYXJkcy9hdHN0azEwMDAvYXRzdGsxMDA0LmMKQEAgLTI5LDYgKzI5LDEzIEBACiAKICNpbmNsdWRlICJhdHN0azEwMDAuaCIKIAorLyogT3NjaWxsYXRvciBmcmVxdWVuY2llcy4gVGhlc2UgYXJlIGJvYXJkIHNwZWNpZmljICovCit1bnNpZ25lZCBsb25nIGF0MzJfYm9hcmRfb3NjX3JhdGVzWzNdID0geworCVswXSA9IDMyNzY4LAkvKiAzMi43Njgga0h6IG9uIFJUQyBvc2MgKi8KKwlbMV0gPSAyMDAwMDAwMCwJLyogMjAgTUh6IG9uIG9zYzAgKi8KKwlbMl0gPSAxMjAwMDAwMCwJLyogMTIgTUh6IG9uIG9zYzEgKi8KK307CisKICNpZmRlZiBDT05GSUdfQk9BUkRfQVRTVEsxMDAwX0VYVERBQwogc3RhdGljIHN0cnVjdCBhdDczYzIxM19ib2FyZF9pbmZvIGF0NzNjMjEzX2RhdGEgPSB7CiAJLnNzY19pZAkJPSAwLApAQCAtMTMzLDcgKzE0MCw3IEBACiAJYXQzMl9hZGRfZGV2aWNlX21jaSgwKTsKICNlbmRpZgogCWF0MzJfYWRkX2RldmljZV9sY2RjKDAsICZhdHN0azEwMDBfbGNkY19kYXRhLAotCQkJICAgICBmYm1lbV9zdGFydCwgZmJtZW1fc2l6ZSk7CisJCQkgICAgIGZibWVtX3N0YXJ0LCBmYm1lbV9zaXplLCAwKTsKIAlhdDMyX2FkZF9kZXZpY2VfdXNiYSgwLCBOVUxMKTsKICNpZm5kZWYgQ09ORklHX0JPQVJEX0FUU1RLMTAwWF9TVzNfQ1VTVE9NCiAJYXQzMl9hZGRfZGV2aWNlX3NzYygwLCBBVE1FTF9TU0NfVFgpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9rZXJuZWwvZW50cnktYXZyMzJiLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUwppbmRleCA1ZjMxNzAyLi4yYjM5OGNhIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUworKysgYi9hcmNoL2F2cjMyL2tlcm5lbC9lbnRyeS1hdnIzMmIuUwpAQCAtNzQsNTAgKzc0LDQxIEBACiAJLmFsaWduCTIKIAlicmFsCWRvX2R0bGJfbW9kaWZpZWQKIAotCS8qCi0JICogcjAgOglQR0QvUFQvUFRFCi0JICogcjEgOiBPZmZlbmRpbmcgYWRkcmVzcwotCSAqIHIyIDogU2NyYXRjaCByZWdpc3RlcgotCSAqIHIzIDogQ2F1c2UgKDUsIDEyIG9yIDEzKQotCSAqLwogI2RlZmluZQl0bGJtaXNzX3NhdmUJcHVzaG0JcjAtcjMKICNkZWZpbmUgdGxibWlzc19yZXN0b3JlCXBvcG0JcjAtcjMKIAotCS5zZWN0aW9uIC50bGJ4LmV4LnRleHQsImF4IixAcHJvZ2JpdHMKKwkub3JnCTB4NTAKIAkuZ2xvYmFsCWl0bGJfbWlzcwogaXRsYl9taXNzOgogCXRsYm1pc3Nfc2F2ZQogCXJqbXAJdGxiX21pc3NfY29tbW9uCiAKLQkuc2VjdGlvbiAudGxici5leC50ZXh0LCJheCIsQHByb2diaXRzCisJLm9yZwkweDYwCiBkdGxiX21pc3NfcmVhZDoKIAl0bGJtaXNzX3NhdmUKIAlyam1wCXRsYl9taXNzX2NvbW1vbgogCi0JLnNlY3Rpb24gLnRsYncuZXgudGV4dCwiYXgiLEBwcm9nYml0cworCS5vcmcJMHg3MAogZHRsYl9taXNzX3dyaXRlOgogCXRsYm1pc3Nfc2F2ZQogCiAJLmdsb2JhbAl0bGJfbWlzc19jb21tb24KKwkuYWxpZ24JMgogdGxiX21pc3NfY29tbW9uOgogCW1mc3IJcjAsIFNZU1JFR19UTEJFQVIKIAltZnNyCXIxLCBTWVNSRUdfUFRCUgogCi0JLyogSXMgaXQgdGhlIHZtYWxsb2Mgc3BhY2U/ICovCi0JYmxkCXIwLCAzMQotCWJyY3MJaGFuZGxlX3ZtYWxsb2NfbWlzcwotCi0JLyogRmlyc3QgbGV2ZWwgbG9va3VwICovCisJLyoKKwkgKiBGaXJzdCBsZXZlbCBsb29rdXA6IFRoZSBQR0QgY29udGFpbnMgdmlydHVhbCBwb2ludGVycyB0bworCSAqIHRoZSBzZWNvbmQtbGV2ZWwgcGFnZSB0YWJsZXMsIGJ1dCB0aGV5IG1heSBiZSBOVUxMIGlmIG5vdAorCSAqIHByZXNlbnQuCisJICovCiBwZ3RibF9sb29rdXA6CiAJbHNyCXIyLCByMCwgUEdESVJfU0hJRlQKIAlsZC53CXIzLCByMVtyMiA8PCAyXQogCWJmZXh0dQlyMSwgcjAsIFBBR0VfU0hJRlQsIFBHRElSX1NISUZUIC0gUEFHRV9TSElGVAotCWJsZAlyMywgX1BBR0VfQklUX1BSRVNFTlQKLQlicmNjCXBhZ2VfdGFibGVfbm90X3ByZXNlbnQKLQotCS8qIFRyYW5zbGF0ZSB0byB2aXJ0dWFsIGFkZHJlc3MgaW4gUDEuICovCi0JYW5kbAlyMywgMHhmMDAwCi0Jc2JyCXIzLCAzMQorCWNwLncJcjMsIDAKKwlicmVxCXBhZ2VfdGFibGVfbm90X3ByZXNlbnQKIAogCS8qIFNlY29uZCBsZXZlbCBsb29rdXAgKi8KIAlsZC53CXIyLCByM1tyMSA8PCAyXQpAQCAtMTQ4LDE2ICsxMzksNTUgQEAKIAl0bGJtaXNzX3Jlc3RvcmUKIAlyZXRlCiAKLWhhbmRsZV92bWFsbG9jX21pc3M6Ci0JLyogU2ltcGx5IGRvIHRoZSBsb29rdXAgaW4gaW5pdCdzIHBhZ2UgdGFibGUgKi8KKwkvKiBUaGUgc2xvdyBwYXRoIG9mIHRoZSBUTEIgbWlzcyBoYW5kbGVyICovCisJLmFsaWduCTIKK3BhZ2VfdGFibGVfbm90X3ByZXNlbnQ6CisJLyogRG8gd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB3aXRoIHN3YXBwZXJfcGdfZGlyPyAqLworCWJsZAlyMCwgMzEKKwlicmNzCXN5bmNfd2l0aF9zd2FwcGVyX3BnX2RpcgorCitwYWdlX25vdF9wcmVzZW50OgorCXRsYm1pc3NfcmVzdG9yZQorCXN1YglzcCwgNAorCXN0bXRzCS0tc3AsIHIwLWxyCisJcmNhbGwJc2F2ZV9mdWxsX2NvbnRleHRfZXgKKwltZnNyCXIxMiwgU1lTUkVHX0VDUgorCW1vdglyMTEsIHNwCisJcmNhbGwJZG9fcGFnZV9mYXVsdAorCXJqbXAJcmV0X2Zyb21fZXhjZXB0aW9uCisKKwkuYWxpZ24JMgorc3luY193aXRoX3N3YXBwZXJfcGdfZGlyOgorCS8qCisJICogSWYgc3dhcHBlcl9wZ19kaXIgY29udGFpbnMgYSBub24tTlVMTCBzZWNvbmQtbGV2ZWwgcGFnZQorCSAqIHRhYmxlIHBvaW50ZXIsIGNvcHkgaXQgaW50byB0aGUgY3VycmVudCBQR0QuIElmIG5vdCwgd2UKKwkgKiBtdXN0IGhhbmRsZSBpdCBhcyBhIGZ1bGwtYmxvd24gcGFnZSBmYXVsdC4KKwkgKgorCSAqIEp1bXBpbmcgYmFjayB0byBwZ3RibF9sb29rdXAgY2F1c2VzIGFuIHVubmVjZXNzYXJ5IGxvb2t1cCwKKwkgKiBidXQgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGNhY2hlIGhpdCwgaXQgd29uJ3QgaGFwcGVuCisJICogdmVyeSBvZnRlbiwgYW5kIHdlIGFic29sdXRlbHkgZG8gbm90IHdhbnQgdG8gc2FjcmlmaWNlIGFueQorCSAqIHBlcmZvcm1hbmNlIGluIHRoZSBmYXN0IHBhdGggaW4gb3JkZXIgdG8gaW1wcm92ZSB0aGlzLgorCSAqLwogCW1vdglyMSwgbG8oc3dhcHBlcl9wZ19kaXIpCiAJb3JoCXIxLCBoaShzd2FwcGVyX3BnX2RpcikKKwlsZC53CXIzLCByMVtyMiA8PCAyXQorCWNwLncJcjMsIDAKKwlicmVxCXBhZ2Vfbm90X3ByZXNlbnQKKwltZnNyCXIxLCBTWVNSRUdfUFRCUgorCXN0LncJcjFbcjIgPDwgMl0sIHIzCiAJcmptcAlwZ3RibF9sb29rdXAKIAorCS8qCisJICogV2UgY3VycmVudGx5IGhhdmUgdHdvIGJ5dGVzIGxlZnQgYXQgdGhpcyBwb2ludCB1bnRpbCB3ZQorCSAqIGNyYXNoIGludG8gdGhlIHN5c3RlbSBjYWxsIGhhbmRsZXIuLi4KKwkgKgorCSAqIERvbid0IHdvcnJ5LCB0aGUgYXNzZW1ibGVyIHdpbGwgbGV0IHVzIGtub3cuCisJICovCisKIAogCS8qIC0tLSAgICAgICAgICAgICAgICAgICAgU3lzdGVtIENhbGwgICAgICAgICAgICAgICAgICAgIC0tLSAqLwogCi0JLnNlY3Rpb24gLnNjYWxsLnRleHQsImF4IixAcHJvZ2JpdHMKKwkub3JnCTB4MTAwCiBzeXN0ZW1fY2FsbDoKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCW1hc2tfaW50ZXJydXB0cwpAQCAtMjY2LDE4ICsyOTYsNiBAQAogCWJyY2MJc3lzY2FsbF9leGl0X2NvbnQKIAlyam1wCWVudGVyX21vbml0b3JfbW9kZQogCi0JLyogVGhlIHNsb3cgcGF0aCBvZiB0aGUgVExCIG1pc3MgaGFuZGxlciAqLwotcGFnZV90YWJsZV9ub3RfcHJlc2VudDoKLXBhZ2Vfbm90X3ByZXNlbnQ6Ci0JdGxibWlzc19yZXN0b3JlCi0Jc3ViCXNwLCA0Ci0Jc3RtdHMJLS1zcCwgcjAtbHIKLQlyY2FsbAlzYXZlX2Z1bGxfY29udGV4dF9leAotCW1mc3IJcjEyLCBTWVNSRUdfRUNSCi0JbW92CXIxMSwgc3AKLQlyY2FsbAlkb19wYWdlX2ZhdWx0Ci0JcmptcAlyZXRfZnJvbV9leGNlcHRpb24KLQogCS8qIFRoaXMgZnVuY3Rpb24gZXhwZWN0cyB0byBmaW5kIG9mZmVuZGluZyBQQyBpbiBTWVNSRUdfUkFSX0VYICovCiAJLnR5cGUJc2F2ZV9mdWxsX2NvbnRleHRfZXgsIEBmdW5jdGlvbgogCS5hbGlnbgkyCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2tlcm5lbC9zaWduYWwuYyBiL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCmluZGV4IDU2MTZhMDAuLmM1YjExZjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCisrKyBiL2FyY2gvYXZyMzIva2VybmVsL3NpZ25hbC5jCkBAIC05Myw2ICs5Myw5IEBACiAJaWYgKHJlc3RvcmVfc2lnY29udGV4dChyZWdzLCAmZnJhbWUtPnVjLnVjX21jb250ZXh0KSkKIAkJZ290byBiYWRmcmFtZTsKIAorCWlmIChkb19zaWdhbHRzdGFjaygmZnJhbWUtPnVjLnVjX3N0YWNrLCBOVUxMLCByZWdzLT5zcCkgPT0gLUVGQVVMVCkKKwkJZ290byBiYWRmcmFtZTsKKwogCXByX2RlYnVnKCJDb250ZXh0IHJlc3RvcmVkOiBwYyA9ICUwOGx4LCBsciA9ICUwOGx4LCBzcCA9ICUwOGx4XG4iLAogCQkgcmVncy0+cGMsIHJlZ3MtPmxyLCByZWdzLT5zcCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvYXZyMzIva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA5YTY4MTkwLi5mNGJkYjQ0IDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC01MSwzICs1MSw0IEBACiAJCWZwID0gZnJhbWUtPmZwOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9rZXJuZWwvdGltZS5jIGIvYXJjaC9hdnIzMi9rZXJuZWwvdGltZS5jCmluZGV4IDAwYTk4NjIuLmFiZDk1NGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3RpbWUuYworKysgYi9hcmNoL2F2cjMyL2tlcm5lbC90aW1lLmMKQEAgLTcsMjEgKzcsMTMgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgotI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KIAotI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgogI2luY2x1ZGUgPGFzbS9zeXNyZWcuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIAogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL2F2cjMyL2tlcm5lbC92bWxpbnV4Lmxkcy5TCmluZGV4IDQ4MWNmZDQuLjc5MTBkNDEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9hdnIzMi9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjgsMTQgKzY4LDYgQEAKIAkJX2V2YmEgPSAuOwogCQlfdGV4dCA9IC47CiAJCSooLmV4LnRleHQpCi0JCS4gPSAweDUwOwotCQkqKC50bGJ4LmV4LnRleHQpCi0JCS4gPSAweDYwOwotCQkqKC50bGJyLmV4LnRleHQpCi0JCS4gPSAweDcwOwotCQkqKC50bGJ3LmV4LnRleHQpCi0JCS4gPSAweDEwMDsKLQkJKiguc2NhbGwudGV4dCkKIAkJKiguaXJxLnRleHQpCiAJCUtQUk9CRVNfVEVYVAogCQlURVhUX1RFWFQKQEAgLTkzLDggKzg1LDYgQEAKIAkJX19zdG9wX19fZXhfdGFibGUgPSAuOwogCX0KIAotCUJVR19UQUJMRQotCiAJUk9EQVRBCiAKIAkuID0gQUxJR04oVEhSRUFEX1NJWkUpOwpAQCAtMTA3LDYgKzk3LDEwIEBACiAJCSAqLwogCQkqKC5kYXRhLmluaXRfdGFzaykKIAorCQkvKiBUaGVuLCB0aGUgcGFnZS1hbGlnbmVkIGRhdGEgKi8KKwkJLiA9IEFMSUdOKFBBR0VfU0laRSk7CisJCSooLmRhdGEucGFnZV9hbGlnbmVkKQorCiAJCS8qIFRoZW4sIHRoZSBjYWNoZWxpbmUgYWxpZ25lZCBkYXRhICovCiAJCS4gPSBBTElHTihMMV9DQUNIRV9CWVRFUyk7CiAJCSooLmRhdGEuY2FjaGVsaW5lX2FsaWduZWQpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL2xpYi9pby1yZWFkc2IuUyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCmluZGV4IDJiZTVkYTcuLmNiMmQ4NjkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCisrKyBiL2FyY2gvYXZyMzIvbGliL2lvLXJlYWRzYi5TCkBAIC00MSw3ICs0MSw3IEBACiAyOglzdWIJcjEwLCAtNAogCXJldGVxCXIxMgogCi0zOglsZC51aAlyOCwgcjEyWzBdCiszOglsZC51YglyOCwgcjEyWzBdCiAJc3ViCXIxMCwgMQogCXN0LmIJcjExKyssIHI4CiAJYnJuZQkzYgpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZSBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvTWFrZWZpbGUKaW5kZXggZTg5MDA5NC4uZDUwMThlMiAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9NYWtlZmlsZQorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL01ha2VmaWxlCkBAIC0xLDMgKzEsOCBAQAotb2JqLXkJCQkJKz0gYXQzMmFwLm8gY2xvY2subyBpbnRjLm8gZXh0aW50Lm8gcGlvLm8gaHNtYy5vCitvYmoteQkJCQkrPSBwZGMubyBjbG9jay5vIGludGMubyBleHRpbnQubyBwaW8ubyBoc21jLm8KIG9iai0kKENPTkZJR19DUFVfQVQzMkFQNzAwWCkJKz0gYXQzMmFwNzAweC5vIHBtLWF0MzJhcDcwMHgubwogb2JqLSQoQ09ORklHX0NQVV9GUkVRX0FUMzJBUCkJKz0gY3B1ZnJlcS5vCitvYmotJChDT05GSUdfUE0pCQkrPSBwbS5vCisKK2lmZXEgKCQoQ09ORklHX1BNX0RFQlVHKSx5KQorQ0ZMQUdTX3BtLm8JKz0gLURERUJVRworZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwNzAweC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKaW5kZXggMGYyNGI0Zi4uMDdiMjFiMSAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9hdDMyYXA3MDB4LmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxhc20vYXJjaC9hdDMyYXA3MDB4Lmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvYm9hcmQuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9wb3J0bXV4Lmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvc3JhbS5oPgogCiAjaW5jbHVkZSA8dmlkZW8vYXRtZWxfbGNkYy5oPgogCkBAIC05MywxOSArOTQsMTIgQEAKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhwbV9sb2NrKTsKIAotdW5zaWduZWQgbG9uZyBhdDMyYXA3MDAwX29zY19yYXRlc1szXSA9IHsKLQlbMF0gPSAzMjc2OCwKLQkvKiBGSVhNRTogdGhlc2UgYXJlIEFUU1RLMTAwMi1zcGVjaWZpYyAqLwotCVsxXSA9IDIwMDAwMDAwLAotCVsyXSA9IDEyMDAwMDAwLAotfTsKLQogc3RhdGljIHN0cnVjdCBjbGsgb3NjMDsKIHN0YXRpYyBzdHJ1Y3QgY2xrIG9zYzE7CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIG9zY19nZXRfcmF0ZShzdHJ1Y3QgY2xrICpjbGspCiB7Ci0JcmV0dXJuIGF0MzJhcDcwMDBfb3NjX3JhdGVzW2Nsay0+aW5kZXhdOworCXJldHVybiBhdDMyX2JvYXJkX29zY19yYXRlc1tjbGstPmluZGV4XTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgcGxsX2dldF9yYXRlKHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyBjb250cm9sKQpAQCAtNjgyLDYgKzY3NiwxNCBAQAogCS51c2VycwkJPSAxLAogCS5pbmRleAkJPSAzLAogfTsKK3N0YXRpYyBzdHJ1Y3QgY2xrIHNkcmFtY19jbGsgPSB7CisJLm5hbWUJCT0gInNkcmFtY19jbGsiLAorCS5wYXJlbnQJCT0gJnBiYl9jbGssCisJLm1vZGUJCT0gcGJiX2Nsa19tb2RlLAorCS5nZXRfcmF0ZQk9IHBiYl9jbGtfZ2V0X3JhdGUsCisJLnVzZXJzCQk9IDEsCisJLmluZGV4CQk9IDE0LAorfTsKIAogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzbWMwX3Jlc291cmNlW10gPSB7CiAJUEJNRU0oMHhmZmYwMzQwMCksCkBAIC04NDEsNiArODQzLDgxIEBACiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiAgUFNJRgorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXRtZWxfcHNpZjBfcmVzb3VyY2VbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnN0YXJ0CT0gMHhmZmUwM2MwMCwKKwkJLmVuZAk9IDB4ZmZlMDNjZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJSVJRKDE4KSwKK307CitzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wc2lmMF9wY2xrID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkucGFyZW50CQk9ICZwYmFfY2xrLAorCS5tb2RlCQk9IHBiYV9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmFfY2xrX2dldF9yYXRlLAorCS5pbmRleAkJPSAxNSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYXRtZWxfcHNpZjFfcmVzb3VyY2VbXSBfX2luaXRkYXRhID0geworCXsKKwkJLnN0YXJ0CT0gMHhmZmUwM2QwMCwKKwkJLmVuZAk9IDB4ZmZlMDNkZmYsCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLAorCX0sCisJSVJRKDE4KSwKK307CitzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wc2lmMV9wY2xrID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkucGFyZW50CQk9ICZwYmFfY2xrLAorCS5tb2RlCQk9IHBiYV9jbGtfbW9kZSwKKwkuZ2V0X3JhdGUJPSBwYmFfY2xrX2dldF9yYXRlLAorCS5pbmRleAkJPSAxNSwKK307CisKK3N0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9faW5pdCBhdDMyX2FkZF9kZXZpY2VfcHNpZih1bnNpZ25lZCBpbnQgaWQpCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKworCWlmICghKGlkID09IDAgfHwgaWQgPT0gMSkpCisJCXJldHVybiBOVUxMOworCisJcGRldiA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygiYXRtZWxfcHNpZiIsIGlkKTsKKwlpZiAoIXBkZXYpCisJCXJldHVybiBOVUxMOworCisJc3dpdGNoIChpZCkgeworCWNhc2UgMDoKKwkJaWYgKHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBkZXYsIGF0bWVsX3BzaWYwX3Jlc291cmNlLAorCQkJCQlBUlJBWV9TSVpFKGF0bWVsX3BzaWYwX3Jlc291cmNlKSkpCisJCQlnb3RvIGVycl9hZGRfcmVzb3VyY2VzOworCQlhdG1lbF9wc2lmMF9wY2xrLmRldiA9ICZwZGV2LT5kZXY7CisJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDgpLCBQRVJJUEhfQSwgMCk7IC8qIENMT0NLICovCisJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDkpLCBQRVJJUEhfQSwgMCk7IC8qIERBVEEgICovCisJCWJyZWFrOworCWNhc2UgMToKKwkJaWYgKHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBkZXYsIGF0bWVsX3BzaWYxX3Jlc291cmNlLAorCQkJCQlBUlJBWV9TSVpFKGF0bWVsX3BzaWYxX3Jlc291cmNlKSkpCisJCQlnb3RvIGVycl9hZGRfcmVzb3VyY2VzOworCQlhdG1lbF9wc2lmMV9wY2xrLmRldiA9ICZwZGV2LT5kZXY7CisJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDExKSwgUEVSSVBIX0EsIDApOyAvKiBDTE9DSyAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQigxMiksIFBFUklQSF9BLCAwKTsgLyogREFUQSAgKi8KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcGxhdGZvcm1fZGV2aWNlX2FkZChwZGV2KTsKKwlyZXR1cm4gcGRldjsKKworZXJyX2FkZF9yZXNvdXJjZXM6CisJcGxhdGZvcm1fZGV2aWNlX3B1dChwZGV2KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqICBVU0FSVAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTExMyw3ICsxMTkwLDggQEAKIAlzd2l0Y2ggKGlkKSB7CiAJY2FzZSAwOgogCQlwZGV2ID0gJmF0bWVsX3NwaTBfZGV2aWNlOwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgwKSwgIFBFUklQSF9BLCAwKTsJLyogTUlTTwkgKi8KKwkJLyogcHVsbHVwIE1JU08gc28gYSBsZXZlbCBpcyBhbHdheXMgZGVmaW5lZCAqLworCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgwKSwgIFBFUklQSF9BLCBBVDMyX0dQSU9GX1BVTExVUCk7CiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBBKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBNT1NJCSAqLwogCQlzZWxlY3RfcGVyaXBoZXJhbChQQSgyKSwgIFBFUklQSF9BLCAwKTsJLyogU0NLCSAqLwogCQlhdDMyX3NwaV9zZXR1cF9zbGF2ZXMoMCwgYiwgbiwgc3BpMF9waW5zKTsKQEAgLTExMjEsNyArMTE5OSw4IEBACiAKIAljYXNlIDE6CiAJCXBkZXYgPSAmYXRtZWxfc3BpMV9kZXZpY2U7Ci0JCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDApLCAgUEVSSVBIX0IsIDApOwkvKiBNSVNPICAqLworCQkvKiBwdWxsdXAgTUlTTyBzbyBhIGxldmVsIGlzIGFsd2F5cyBkZWZpbmVkICovCisJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDApLCAgUEVSSVBIX0IsIEFUMzJfR1BJT0ZfUFVMTFVQKTsKIAkJc2VsZWN0X3BlcmlwaGVyYWwoUEIoMSksICBQRVJJUEhfQiwgMCk7CS8qIE1PU0kgICovCiAJCXNlbGVjdF9wZXJpcGhlcmFsKFBCKDUpLCAgUEVSSVBIX0IsIDApOwkvKiBTQ0sgICAqLwogCQlhdDMyX3NwaV9zZXR1cF9zbGF2ZXMoMSwgYiwgbiwgc3BpMV9waW5zKTsKQEAgLTEyNjQsNyArMTM0Myw4IEBACiAKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKl9faW5pdAogYXQzMl9hZGRfZGV2aWNlX2xjZGModW5zaWduZWQgaW50IGlkLCBzdHJ1Y3QgYXRtZWxfbGNkZmJfaW5mbyAqZGF0YSwKLQkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbikKKwkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbiwKKwkJICAgICB1bnNpZ25lZCBpbnQgcGluX2NvbmZpZykKIHsKIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OwogCXN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvICppbmZvOwpAQCAtMTI5MSwzNyArMTM3MSw3NyBAQAogCXN3aXRjaCAoaWQpIHsKIAljYXNlIDA6CiAJCXBkZXYgPSAmYXRtZWxfbGNkZmIwX2RldmljZTsKLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMTkpLCBQRVJJUEhfQSwgMCk7CS8qIENDCSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjApLCBQRVJJUEhfQSwgMCk7CS8qIEhTWU5DICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyMSksIFBFUklQSF9BLCAwKTsJLyogUENMSwkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjMpLCBQRVJJUEhfQSwgMCk7CS8qIERWQUwJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNCksIFBFUklQSF9BLCAwKTsJLyogTU9ERQkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTAgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI3KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMSAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjgpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOSksIFBFUklQSF9BLCAwKTsJLyogREFUQTMgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDMwKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBNCAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgwKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTYgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBNyAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMiksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE4ICAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgzKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTkgICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDQpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTAgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMSAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg2KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEyICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDcpLCAgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTMgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg5KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE1ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEwKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTYgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEExNyAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMiksIFBFUklQSF9BLCAwKTsJLyogREFUQTE4ICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDEzKSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMTkgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTQpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMCAqLwotCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNSksIFBFUklQSF9BLCAwKTsJLyogREFUQTIxICovCi0JCXNlbGVjdF9wZXJpcGhlcmFsKFBEKDE2KSwgUEVSSVBIX0EsIDApOwkvKiBEQVRBMjIgKi8KLQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCisJCXN3aXRjaCAocGluX2NvbmZpZykgeworCQljYXNlIDA6CisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygxOSksIFBFUklQSF9BLCAwKTsJLyogQ0MJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjApLCBQRVJJUEhfQSwgMCk7CS8qIEhTWU5DICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjEpLCBQRVJJUEhfQSwgMCk7CS8qIFBDTEsJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjIpLCBQRVJJUEhfQSwgMCk7CS8qIFZTWU5DICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjMpLCBQRVJJUEhfQSwgMCk7CS8qIERWQUwJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjQpLCBQRVJJUEhfQSwgMCk7CS8qIE1PREUJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMjUpLCBQRVJJUEhfQSwgMCk7CS8qIFBXUgkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTAgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTEgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOCksIFBFUklQSF9BLCAwKTsJLyogREFUQTIgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygyOSksIFBFUklQSF9BLCAwKTsJLyogREFUQTMgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTQgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQQygzMSksIFBFUklQSF9BLCAwKTsJLyogREFUQTUgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgwKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTYgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTcgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgyKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTggICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgzKSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTkgICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg0KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEwICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg1KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTExICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg2KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEyICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg3KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTEzICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg4KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE0ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCg5KSwgIFBFUklQSF9BLCAwKTsJLyogREFUQTE1ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMCksIFBFUklQSF9BLCAwKTsJLyogREFUQTE2ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMSksIFBFUklQSF9BLCAwKTsJLyogREFUQTE3ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMiksIFBFUklQSF9BLCAwKTsJLyogREFUQTE4ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxMyksIFBFUklQSF9BLCAwKTsJLyogREFUQTE5ICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNCksIFBFUklQSF9BLCAwKTsJLyogREFUQTIwICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNSksIFBFUklQSF9BLCAwKTsJLyogREFUQTIxICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNiksIFBFUklQSF9BLCAwKTsJLyogREFUQTIyICovCisJCQlzZWxlY3RfcGVyaXBoZXJhbChQRCgxNyksIFBFUklQSF9BLCAwKTsJLyogREFUQTIzICovCisJCQlicmVhazsKKwkJY2FzZSAxOgorCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMCksICBQRVJJUEhfQiwgMCk7CS8qIENDCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIwKSwgUEVSSVBIX0EsIDApOwkvKiBIU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIxKSwgUEVSSVBIX0EsIDApOwkvKiBQQ0xLCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDIyKSwgUEVSSVBIX0EsIDApOwkvKiBWU1lOQyAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDEpLCAgUEVSSVBIX0IsIDApOwkvKiBEVkFMCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBFKDIpLCAgUEVSSVBIX0IsIDApOwkvKiBNT0RFCSAgKi8KKwkJCXNlbGVjdF9wZXJpcGhlcmFsKFBDKDI1KSwgUEVSSVBIX0EsIDApOwkvKiBQV1IJICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMyksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEwICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNCksICBQRVJJUEhfQiwgMCk7CS8qIERBVEExICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNSksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEyICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNiksICBQRVJJUEhfQiwgMCk7CS8qIERBVEEzICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoNyksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE0ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEMoMzEpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEE1ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE2ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEE3ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoOCksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE4ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoOSksICBQRVJJUEhfQiwgMCk7CS8qIERBVEE5ICAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTApLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTEpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTIpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoNyksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExMyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOCksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoOSksICBQRVJJUEhfQSwgMCk7CS8qIERBVEExNSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTMpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExNiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTQpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExNyAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTUpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExOCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTYpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEExOSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTcpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEEyMCAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEUoMTgpLCBQRVJJUEhfQiwgMCk7CS8qIERBVEEyMSAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTYpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMiAqLworCQkJc2VsZWN0X3BlcmlwaGVyYWwoUEQoMTcpLCBQRVJJUEhfQSwgMCk7CS8qIERBVEEyMyAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlnb3RvIGVycl9pbnZhbGlkX2lkOworCQl9CiAKIAkJY2xrX3NldF9wYXJlbnQoJmF0bWVsX2xjZGZiMF9waXhjbGssICZwbGwwKTsKIAkJY2xrX3NldF9yYXRlKCZhdG1lbF9sY2RmYjBfcGl4Y2xrLCBjbGtfZ2V0X3JhdGUoJnBsbDApKTsKQEAgLTEzNjAsNyArMTQ4MCw3IEBACiAJSVJRKDI0KSwKIH07CiBzdGF0aWMgc3RydWN0IGNsayBhdG1lbF9wd20wX21jayA9IHsKLQkubmFtZQkJPSAibWNrIiwKKwkubmFtZQkJPSAicHdtX2NsayIsCiAJLnBhcmVudAkJPSAmcGJiX2NsaywKIAkubW9kZQkJPSBwYmJfY2xrX21vZGUsCiAJLmdldF9yYXRlCT0gcGJiX2Nsa19nZXRfcmF0ZSwKQEAgLTE4ODcsNiArMjAwNyw3IEBACiAJJmhtYXRyaXhfY2xrLAogCSZlYmlfY2xrLAogCSZocmFtY19jbGssCisJJnNkcmFtY19jbGssCiAJJnNtYzBfcGNsaywKIAkmc21jMF9tY2ssCiAJJnBkY19oY2xrLApAQCAtMTkwMCw2ICsyMDIxLDggQEAKIAkmcGlvNF9tY2ssCiAJJmF0MzJfdGNiMF90MF9jbGssCiAJJmF0MzJfdGNiMV90MF9jbGssCisJJmF0bWVsX3BzaWYwX3BjbGssCisJJmF0bWVsX3BzaWYxX3BjbGssCiAJJmF0bWVsX3VzYXJ0MF91c2FydCwKIAkmYXRtZWxfdXNhcnQxX3VzYXJ0LAogCSZhdG1lbF91c2FydDJfdXNhcnQsCkBAIC0xOTM1LDE2ICsyMDU4LDcgQEAKIH07CiB1bnNpZ25lZCBpbnQgYXQzMl9ucl9jbG9ja3MgPSBBUlJBWV9TSVpFKGF0MzJfY2xvY2tfbGlzdCk7CiAKLXZvaWQgX19pbml0IGF0MzJfcG9ydG11eF9pbml0KHZvaWQpCi17Ci0JYXQzMl9pbml0X3BpbygmcGlvMF9kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzFfZGV2aWNlKTsKLQlhdDMyX2luaXRfcGlvKCZwaW8yX2RldmljZSk7Ci0JYXQzMl9pbml0X3BpbygmcGlvM19kZXZpY2UpOwotCWF0MzJfaW5pdF9waW8oJnBpbzRfZGV2aWNlKTsKLX0KLQotdm9pZCBfX2luaXQgYXQzMl9jbG9ja19pbml0KHZvaWQpCit2b2lkIF9faW5pdCBzZXR1cF9wbGF0Zm9ybSh2b2lkKQogewogCXUzMiBjcHVfbWFzayA9IDAsIGhzYl9tYXNrID0gMCwgcGJhX21hc2sgPSAwLCBwYmJfbWFzayA9IDA7CiAJaW50IGk7CkBAIC0xOTk5LDQgKzIxMTMsMzYgQEAKIAlwbV93cml0ZWwoSFNCX01BU0ssIGhzYl9tYXNrKTsKIAlwbV93cml0ZWwoUEJBX01BU0ssIHBiYV9tYXNrKTsKIAlwbV93cml0ZWwoUEJCX01BU0ssIHBiYl9tYXNrKTsKKworCS8qIEluaXRpYWxpemUgdGhlIHBvcnQgbXV4ZXMgKi8KKwlhdDMyX2luaXRfcGlvKCZwaW8wX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvMV9kZXZpY2UpOworCWF0MzJfaW5pdF9waW8oJnBpbzJfZGV2aWNlKTsKKwlhdDMyX2luaXRfcGlvKCZwaW8zX2RldmljZSk7CisJYXQzMl9pbml0X3BpbygmcGlvNF9kZXZpY2UpOwogfQorCitzdHJ1Y3QgZ2VuX3Bvb2wgKnNyYW1fcG9vbDsKKworc3RhdGljIGludCBfX2luaXQgc3JhbV9pbml0KHZvaWQpCit7CisJc3RydWN0IGdlbl9wb29sICpwb29sOworCisJLyogMUtpQiBncmFudWxhcml0eSAqLworCXBvb2wgPSBnZW5fcG9vbF9jcmVhdGUoMTAsIC0xKTsKKwlpZiAoIXBvb2wpCisJCWdvdG8gZmFpbDsKKworCWlmIChnZW5fcG9vbF9hZGQocG9vbCwgMHgyNDAwMDAwMCwgMHg4MDAwLCAtMSkpCisJCWdvdG8gZXJyX3Bvb2xfYWRkOworCisJc3JhbV9wb29sID0gcG9vbDsKKwlyZXR1cm4gMDsKKworZXJyX3Bvb2xfYWRkOgorCWdlbl9wb29sX2Rlc3Ryb3kocG9vbCk7CitmYWlsOgorCXByX2VycigiRmFpbGVkIHRvIGNyZWF0ZSBTUkFNIHBvb2xcbiIpOworCXJldHVybiAtRU5PTUVNOworfQorY29yZV9pbml0Y2FsbChzcmFtX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2ludGMuYwppbmRleCAwOTdjZjRlLi45OTRjNDU0NSAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9pbnRjLmMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2IEF0bWVsIENvcnBvcmF0aW9uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKQEAgLTEyLDE0ICsxMiwyMCBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c2Rldi5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlICJpbnRjLmgiCiAKIHN0cnVjdCBpbnRjIHsKLQl2b2lkIF9faW9tZW0JKnJlZ3M7Ci0Jc3RydWN0IGlycV9jaGlwCWNoaXA7CisJdm9pZCBfX2lvbWVtCQkqcmVnczsKKwlzdHJ1Y3QgaXJxX2NoaXAJCWNoaXA7CisJc3RydWN0IHN5c19kZXZpY2UJc3lzZGV2OworI2lmZGVmIENPTkZJR19QTQorCXVuc2lnbmVkIGxvbmcJCXN1c3BlbmRfaXByOworCXVuc2lnbmVkIGxvbmcJCXNhdmVkX2lwcls2NF07CisjZW5kaWYKIH07CiAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIGF0MzJfaW50YzBfZGV2aWNlOwpAQCAtMTM2LDYgKzE0Miw3NCBAQAogCXBhbmljKCJJbnRlcnJ1cHQgY29udHJvbGxlciBpbml0aWFsaXphdGlvbiBmYWlsZWQhXG4iKTsKIH0KIAorI2lmZGVmIENPTkZJR19QTQordm9pZCBpbnRjX3NldF9zdXNwZW5kX2hhbmRsZXIodW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJaW50YzAuc3VzcGVuZF9pcHIgPSBvZmZzZXQ7Cit9CisKK3N0YXRpYyBpbnQgaW50Y19zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpzZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IGludGMgKmludGMgPSBjb250YWluZXJfb2Yoc2Rldiwgc3RydWN0IGludGMsIHN5c2Rldik7CisJaW50IGk7CisKKwlpZiAodW5saWtlbHkoIWlycXNfZGlzYWJsZWQoKSkpIHsKKwkJcHJfZXJyKCJpbnRjX3N1c3BlbmQ6IGNhbGxlZCB3aXRoIGludGVycnVwdHMgZW5hYmxlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmICh1bmxpa2VseSghaW50Yy0+c3VzcGVuZF9pcHIpKSB7CisJCXByX2VycigiaW50Y19zdXNwZW5kOiBzdXNwZW5kX2lwciBub3QgaW5pdGlhbGl6ZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykgeworCQlpbnRjLT5zYXZlZF9pcHJbaV0gPSBpbnRjX3JlYWRsKGludGMsIElOVFBSMCArIDQgKiBpKTsKKwkJaW50Y193cml0ZWwoaW50YywgSU5UUFIwICsgNCAqIGksIGludGMtPnN1c3BlbmRfaXByKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbnRjX3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqc2RldikKK3sKKwlzdHJ1Y3QgaW50YyAqaW50YyA9IGNvbnRhaW5lcl9vZihzZGV2LCBzdHJ1Y3QgaW50Yywgc3lzZGV2KTsKKwlpbnQgaTsKKworCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjQ7IGkrKykKKwkJaW50Y193cml0ZWwoaW50YywgSU5UUFIwICsgNCAqIGksIGludGMtPnNhdmVkX2lwcltpXSk7CisKKwlyZXR1cm4gMDsKK30KKyNlbHNlCisjZGVmaW5lIGludGNfc3VzcGVuZAlOVUxMCisjZGVmaW5lIGludGNfcmVzdW1lCU5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBpbnRjX2NsYXNzID0geworCS5uYW1lCQk9ICJpbnRjIiwKKwkuc3VzcGVuZAk9IGludGNfc3VzcGVuZCwKKwkucmVzdW1lCQk9IGludGNfcmVzdW1lLAorfTsKKworc3RhdGljIGludCBfX2luaXQgaW50Y19pbml0X3N5c2Rldih2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmludGNfY2xhc3MpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlpbnRjMC5zeXNkZXYuaWQgPSAwOworCWludGMwLnN5c2Rldi5jbHMgPSAmaW50Y19jbGFzczsKKwlyZXQgPSBzeXNkZXZfcmVnaXN0ZXIoJmludGMwLnN5c2Rldik7CisKKwlyZXR1cm4gcmV0OworfQorZGV2aWNlX2luaXRjYWxsKGludGNfaW5pdF9zeXNkZXYpOworCiB1bnNpZ25lZCBsb25nIGludGNfZ2V0X3BlbmRpbmcodW5zaWduZWQgaW50IGdyb3VwKQogewogCXJldHVybiBpbnRjX3JlYWRsKCZpbnRjMCwgSU5UUkVRMCArIDQgKiBncm91cCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwpzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBhcmNoL2F2cjMyL21hY2gtYXQzMmFwL2F0MzJhcC5jCnJlbmFtZSB0byBhcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BkYy5jCmluZGV4IDdjNDk4N2YuLjEwNDBiZGEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvYXQzMmFwLmMKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9wZGMuYwpAQCAtMTEsMTQgKzExLDYgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKLSNpbmNsdWRlIDxhc20vYXJjaC9pbml0Lmg+Ci0KLXZvaWQgX19pbml0IHNldHVwX3BsYXRmb3JtKHZvaWQpCi17Ci0JYXQzMl9jbG9ja19pbml0KCk7Ci0JYXQzMl9wb3J0bXV4X2luaXQoKTsKLX0KLQogc3RhdGljIGludCBfX2luaXQgcGRjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJc3RydWN0IGNsayAqcGNsaywgKmhjbGs7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uYwppbmRleCAzOGE4ZmEzLi42MGRhMDNiIDEwMDY0NAotLS0gYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5jCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmMKQEAgLTMxOCw2ICszMTgsOCBAQAogCQljb25zdCBjaGFyICpsYWJlbDsKIAogCQlsYWJlbCA9IGdwaW9jaGlwX2lzX3JlcXVlc3RlZChjaGlwLCBpKTsKKwkJaWYgKCFsYWJlbCAmJiAoaW1yICYgbWFzaykpCisJCQlsYWJlbCA9ICJbaXJxXSI7CiAJCWlmICghbGFiZWwpCiAJCQljb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaCBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcGlvLmgKaW5kZXggNzc5NTExNi4uOTQ4NGRmYyAxMDA2NDQKLS0tIGEvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9waW8uaAorKysgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3Bpby5oCkBAIC01Nyw3ICs1Nyw3IEBACiAKIC8qIEJpdGZpZWxkcyBpbiBJRkRSICovCiAKLS8qIEJpdGZpZWxkcyBpbiBJU0ZSICovCisvKiBCaXRmaWVsZHMgaW4gSUZTUiAqLwogCiAvKiBCaXRmaWVsZHMgaW4gU09EUiAqLwogCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLWF0MzJhcDcwMHguUyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCmluZGV4IDk0OWUyNDguLjBhNTNhZDMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0tYXQzMmFwNzAweC5TCkBAIC0xMiw2ICsxMiwxMiBAQAogI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3BtLmg+CiAKKyNpbmNsdWRlICJwbS5oIgorI2luY2x1ZGUgInNkcmFtYy5oIgorCisvKiBTYW1lIGFzIDB4ZmZmMDAwMDAgYnV0IGZpdHMgaW4gYSAyMSBiaXQgc2lnbmVkIGltbWVkaWF0ZSAqLworI2RlZmluZSBQTV9CQVNFCS0weDEwMDAwMAorCiAJLnNlY3Rpb24gLmJzcywgIndhIiwgQG5vYml0cwogCS5nbG9iYWwJZGlzYWJsZV9pZGxlX3NsZWVwCiAJLnR5cGUJZGlzYWJsZV9pZGxlX3NsZWVwLCBAb2JqZWN0CkBAIC02NCwzICs3MCwxMDUgQEAKIAl1bm1hc2tfaW50ZXJydXB0cwogCXJldGFsCXIxMgogCS5zaXplCWNwdV9pZGxlX3NraXBfc2xlZXAsIC4gLSBjcHVfaWRsZV9za2lwX3NsZWVwCisKKyNpZmRlZiBDT05GSUdfUE0KKwkuc2VjdGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMKKworCS5nbG9iYWwJcG1fZXhjZXB0aW9uCisJLnR5cGUJcG1fZXhjZXB0aW9uLCBAZnVuY3Rpb24KK3BtX2V4Y2VwdGlvbjoKKwkvKgorCSAqIEV4Y2VwdGlvbnMgYXJlIG1hc2tlZCB3aGVuIHdlIHN3aXRjaCB0byB0aGlzIGhhbmRsZXIsIHNvCisJICogd2UnbGwgb25seSBnZXQgInVucmVjb3ZlcmFibGUiIGV4Y2VwdGlvbnMgKG9mZnNldCAwLikKKwkgKi8KKwlzdWIJcjEyLCBwYywgLiAtIC5McGFuaWNfbXNnCisJbGRkcGMJcGMsIC5McGFuaWNfYWRkcgorCisJLmFsaWduCTIKKy5McGFuaWNfYWRkcjoKKwkubG9uZwlwYW5pYworLkxwYW5pY19tc2c6CisJLmFzY2l6CSJVbnJlY292ZXJhYmxlIGV4Y2VwdGlvbiBkdXJpbmcgc3VzcGVuZFxuIgorCS5zaXplCXBtX2V4Y2VwdGlvbiwgLiAtIHBtX2V4Y2VwdGlvbgorCisJLmdsb2JhbAlwbV9pcnEwCisJLnR5cGUJcG1faXJxMCwgQGZ1bmN0aW9uCitwbV9pcnEwOgorCS8qIERpc2FibGUgaW50ZXJydXB0cyBhbmQgcmV0dXJuIGFmdGVyIHRoZSBzbGVlcCBpbnN0cnVjdGlvbiAqLworCW1mc3IJcjksIFNZU1JFR19SU1JfSU5UMAorCW10c3IJU1lTUkVHX1JBUl9JTlQwLCByOAorCXNicglyOSwgU1lTUkVHX0dNX09GRlNFVAorCW10c3IJU1lTUkVHX1JTUl9JTlQwLCByOQorCXJldGUKKworCS8qCisJICogdm9pZCBjcHVfZW50ZXJfc3RhbmRieSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKQorCSAqCisJICogRW50ZXIgUE1fU1VTUEVORF9TVEFOREJZIG1vZGUuIEF0IHRoaXMgcG9pbnQsIGFsbCBkcml2ZXJzCisJICogYXJlIHN1c3BlbmRlZCBhbmQgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQuIEludGVycnVwdHMKKwkgKiBtYXJrZWQgYXMgJ3dha2V1cCcgZXZlbnQgc291cmNlcyBtYXkgc3RpbGwgY29tZSBhbG9uZyBhbmQKKwkgKiBnZXQgdXMgb3V0IG9mIGhlcmUuCisJICoKKwkgKiBUaGUgU0RSQU0gd2lsbCBiZSBwdXQgaW50byBzZWxmLXJlZnJlc2ggbW9kZSAod2hpY2ggZG9lcworCSAqIG5vdCByZXF1aXJlIGEgY2xvY2sgZnJvbSB0aGUgQ1BVKSwgYW5kIHRoZSBDUFUgd2lsbCBiZSBwdXQKKwkgKiBpbnRvICJmcm96ZW4iIG1vZGUgKEhTQiBidXMgc3RvcHBlZCkuIFRoZSBTRFJBTSBjb250cm9sbGVyCisJICogd2lsbCBhdXRvbWF0aWNhbGx5IGJyaW5nIHRoZSBTRFJBTSBpbnRvIG5vcm1hbCBtb2RlIG9uIHRoZQorCSAqIGZpcnN0IGFjY2VzcywgYW5kIHRoZSBwb3dlciBtYW5hZ2VyIHdpbGwgYXV0b21hdGljYWxseQorCSAqIHN0YXJ0IHRoZSBIU0IgYW5kIENQVSBjbG9ja3MgdXBvbiBhIHdha2V1cCBldmVudC4KKwkgKgorCSAqIFRoaXMgY29kZSB1c2VzIHRoZSBzYW1lICJza2lwIHNsZWVwIiB0ZWNobmlxdWUgYXMgYWJvdmUuCisJICogSXQgaXMgdmVyeSBpbXBvcnRhbnQgdGhhdCB3ZSBqdW1wIGRpcmVjdGx5IHRvCisJICogY3B1X2FmdGVyX3NsZWVwIGFmdGVyIHRoZSBzbGVlcCBpbnN0cnVjdGlvbiBzaW5jZSB0aGF0J3MKKwkgKiB3aGVyZSB3ZSdsbCBlbmQgdXAgaWYgdGhlIGludGVycnVwdCBoYW5kbGVyIGRlY2lkZXMgdGhhdCB3ZQorCSAqIG5lZWQgdG8gc2tpcCB0aGUgc2xlZXAgaW5zdHJ1Y3Rpb24uCisJICovCisJLmdsb2JhbAlwbV9zdGFuZGJ5CisJLnR5cGUJcG1fc3RhbmRieSwgQGZ1bmN0aW9uCitwbV9zdGFuZGJ5OgorCS8qCisJICogaW50ZXJydXB0cyBhcmUgYWxyZWFkeSBtYXNrZWQgYXQgdGhpcyBwb2ludCwgYW5kIEVWQkEKKwkgKiBwb2ludHMgdG8gcG1fZXhjZXB0aW9uIGFib3ZlLgorCSAqLworCWxkLncJcjEwLCByMTJbU0RSQU1DX0xQUl0KKwlzdWIJcjgsIHBjLCAuIC0gMWYJCS8qIHJldHVybiBhZGRyZXNzIGZvciBpcnEgaGFuZGxlciAqLworCW1vdglyMTEsIFNEUkFNQ19MUFJfTFBDQl9TRUxGX1JGUgorCWJmaW5zCXIxMCwgcjExLCAwLCAyCQkvKiBMUENCIDwtIHNlbGYgUmVmcmVzaCAqLworCXN5bmMJMAkJCS8qIGZsdXNoIHdyaXRlIGJ1ZmZlciAqLworCXN0LncJcjEyW1NEUkFNQ19MUFJdLCByMTEJLyogcHV0IFNEUkFNIGluIHNlbGYtcmVmcmVzaCBtb2RlICovCisJbGQudwlyMTEsIHIxMltTRFJBTUNfTFBSXQorCXVubWFza19pbnRlcnJ1cHRzCisJc2xlZXAJQ1BVX1NMRUVQX0ZST1pFTgorMToJbWFza19pbnRlcnJ1cHRzCisJcmV0YWwJcjEyCisJLnNpemUJcG1fc3RhbmRieSwgLiAtIHBtX3N0YW5kYnkKKworCS5nbG9iYWwJcG1fc3VzcGVuZF90b19yYW0KKwkudHlwZQlwbV9zdXNwZW5kX3RvX3JhbSwgQGZ1bmN0aW9uCitwbV9zdXNwZW5kX3RvX3JhbToKKwkvKgorCSAqIGludGVycnVwdHMgYXJlIGFscmVhZHkgbWFza2VkIGF0IHRoaXMgcG9pbnQsIGFuZCBFVkJBCisJICogcG9pbnRzIHRvIHBtX2V4Y2VwdGlvbiBhYm92ZS4KKwkgKi8KKwltb3YJcjExLCAwCisJY2FjaGUJcjExWzJdLCA4CQkvKiBjbGVhbiBhbGwgZGNhY2hlIGxpbmVzICovCisJc3luYwkwCQkJLyogZmx1c2ggd3JpdGUgYnVmZmVyICovCisJbGQudwlyMTAsIHIxMltTRFJBTUNfTFBSXQorCXN1YglyOCwgcGMsIC4gLSAxZgkJLyogcmV0dXJuIGFkZHJlc3MgZm9yIGlycSBoYW5kbGVyICovCisJbW92CXIxMSwgU0RSQU1DX0xQUl9MUENCX1NFTEZfUkZSCisJYmZpbnMJcjEwLCByMTEsIDAsIDIJCS8qIExQQ0IgPC0gc2VsZiByZWZyZXNoICovCisJc3QudwlyMTJbU0RSQU1DX0xQUl0sIHIxMAkvKiBwdXQgU0RSQU0gaW4gc2VsZi1yZWZyZXNoIG1vZGUgKi8KKwlsZC53CXIxMSwgcjEyW1NEUkFNQ19MUFJdCisKKwl1bm1hc2tfaW50ZXJydXB0cworCXNsZWVwCUNQVV9TTEVFUF9TVE9QCisxOgltYXNrX2ludGVycnVwdHMKKworCXJldGFsCXIxMgorCS5zaXplCXBtX3N1c3BlbmRfdG9fcmFtLCAuIC0gcG1fc3VzcGVuZF90b19yYW0KKworCS5nbG9iYWwJcG1fc3JhbV9lbmQKKwkudHlwZQlwbV9zcmFtX2VuZCwgQGZ1bmN0aW9uCitwbV9zcmFtX2VuZDoKKwkuc2l6ZQlwbV9zcmFtX2VuZCwgMAorCisjZW5kaWYgLyogQ09ORklHX1BNICovCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMgYi9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3BtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI3NjQzMgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXZyMzIvbWFjaC1hdDMyYXAvcG0uYwpAQCAtMCwwICsxLDI0NSBAQAorLyoKKyAqIEFWUjMyIEFQIFBvd2VyIE1hbmFnZW1lbnQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXRtZWwgQ29ycG9yYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorCisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vc3lzcmVnLmg+CisKKyNpbmNsdWRlIDxhc20vYXJjaC9wbS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3NyYW0uaD4KKworLyogRklYTUU6IFRoaXMgaXMgb25seSB2YWxpZCBmb3IgQVA3MDAwICovCisjZGVmaW5lIFNEUkFNQ19CQVNFCTB4ZmZmMDM4MDAKKworI2luY2x1ZGUgInNkcmFtYy5oIgorCisjZGVmaW5lIFNSQU1fUEFHRV9GTEFHUwkoU1lTUkVHX0JJVChUTEJFTE9fRCkgfCBTWVNSRUdfQkYoU1osIDEpCVwKKwkJCQl8IFNZU1JFR19CRihBUCwgMykgfCBTWVNSRUdfQklUKEcpKQorCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nCXBtX3NyYW1fc3RhcnQ7CitzdGF0aWMgc2l6ZV90CQlwbV9zcmFtX3NpemU7CitzdGF0aWMgc3RydWN0IHZtX3N0cnVjdAkqcG1fc3JhbV9hcmVhOworCitzdGF0aWMgdm9pZCAoKmF2cjMyX3BtX2VudGVyX3N0YW5kYnkpKHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOworc3RhdGljIHZvaWQgKCphdnIzMl9wbV9lbnRlcl9zdHIpKHVuc2lnbmVkIGxvbmcgc2RyYW1jX2Jhc2UpOworCisvKgorICogTXVzdCBiZSBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkLiBFeGNlcHRpb25zIHdpbGwgYmUgbWFza2VkCisgKiBvbiByZXR1cm4gKGkuZS4gYWxsIGV4Y2VwdGlvbnMgd2lsbCBiZSAidW5yZWNvdmVyYWJsZSIuKQorICovCitzdGF0aWMgdm9pZCAqYXZyMzJfcG1fbWFwX3NyYW0odm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nCXZhZGRyOworCXVuc2lnbmVkIGxvbmcJcGFnZV9hZGRyOworCXUzMgkJdGxiZWhpOworCXUzMgkJbW11Y3I7CisKKwl2YWRkciA9ICh1bnNpZ25lZCBsb25nKXBtX3NyYW1fYXJlYS0+YWRkcjsKKwlwYWdlX2FkZHIgPSBwbV9zcmFtX3N0YXJ0ICYgUEFHRV9NQVNLOworCisJLyoKKwkgKiBNYXNrIGV4Y2VwdGlvbnMgYW5kIGdyYWIgdGhlIGZpcnN0IFRMQiBlbnRyeS4gV2Ugd29uJ3QgYmUKKwkgKiBuZWVkaW5nIGl0IHdoaWxlIHNsZWVwaW5nLgorCSAqLworCWFzbSB2b2xhdGlsZSgic3NyZgklMCIgOiA6ICJpIihTWVNSRUdfRU1fT0ZGU0VUKSA6ICJtZW1vcnkiKTsKKworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CisJc3lzcmVnX3dyaXRlKE1NVUNSLCBTWVNSRUdfQkZJTlMoRFJQLCAwLCBtbXVjcikpOworCisJdGxiZWhpID0gU1lTUkVHX0JGKEFTSUQsIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpKTsKKwl0bGJlaGkgfD0gdmFkZHIgJiBQQUdFX01BU0s7CisJdGxiZWhpIHw9IFNZU1JFR19CSVQoVExCRUhJX1YpOworCisJc3lzcmVnX3dyaXRlKFRMQkVMTywgcGFnZV9hZGRyIHwgU1JBTV9QQUdFX0ZMQUdTKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCV9fYnVpbHRpbl90bGJ3KCk7CisKKwlyZXR1cm4gKHZvaWQgKikodmFkZHIgKyBwbV9zcmFtX3N0YXJ0IC0gcGFnZV9hZGRyKTsKK30KKworLyoKKyAqIE11c3QgYmUgY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4gRXhjZXB0aW9ucyB3aWxsIGJlCisgKiB1bm1hc2tlZCBvbiByZXR1cm4uCisgKi8KK3N0YXRpYyB2b2lkIGF2cjMyX3BtX3VubWFwX3NyYW0odm9pZCkKK3sKKwl1MzIJbW11Y3I7CisJdTMyCXRsYmVoaTsKKwl1MzIJdGxiYXJsbzsKKworCS8qIEdvaW5nIHRvIHVwZGF0ZSBUTEIgZW50cnkgYXQgaW5kZXggMCAqLworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOworCXRsYmVoaSA9IHN5c3JlZ19yZWFkKFRMQkVISSk7CisJc3lzcmVnX3dyaXRlKE1NVUNSLCBTWVNSRUdfQkZJTlMoRFJQLCAwLCBtbXVjcikpOworCisJLyogQ2xlYXIgdGhlICJ2YWxpZCIgYml0ICovCisJdGxiZWhpID0gU1lTUkVHX0JGKEFTSUQsIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpKTsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCisJLyogTWFyayBpdCBhcyAibm90IGFjY2Vzc2VkIiAqLworCXRsYmFybG8gPSBzeXNyZWdfcmVhZChUTEJBUkxPKTsKKwlzeXNyZWdfd3JpdGUoVExCQVJMTywgdGxiYXJsbyB8IDB4ODAwMDAwMDBVKTsKKworCS8qIFVwZGF0ZSB0aGUgVExCICovCisJX19idWlsdGluX3RsYncoKTsKKworCS8qIFVubWFzayBleGNlcHRpb25zICovCisJYXNtIHZvbGF0aWxlKCJjc3JmCSUwIiA6IDogImkiKFNZU1JFR19FTV9PRkZTRVQpIDogIm1lbW9yeSIpOworfQorCitzdGF0aWMgaW50IGF2cjMyX3BtX3ZhbGlkX3N0YXRlKHN1c3BlbmRfc3RhdGVfdCBzdGF0ZSkKK3sKKwlzd2l0Y2ggKHN0YXRlKSB7CisJY2FzZSBQTV9TVVNQRU5EX09OOgorCWNhc2UgUE1fU1VTUEVORF9TVEFOREJZOgorCWNhc2UgUE1fU1VTUEVORF9NRU06CisJCXJldHVybiAxOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW50IGF2cjMyX3BtX2VudGVyKHN1c3BlbmRfc3RhdGVfdCBzdGF0ZSkKK3sKKwl1MzIJCWxwcl9zYXZlZDsKKwl1MzIJCWV2YmFfc2F2ZWQ7CisJdm9pZAkJKnNyYW07CisKKwlzd2l0Y2ggKHN0YXRlKSB7CisJY2FzZSBQTV9TVVNQRU5EX1NUQU5EQlk6CisJCXNyYW0gPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCisJCS8qIFN3aXRjaCB0byBpbi1zcmFtIGV4Y2VwdGlvbiBoYW5kbGVycyAqLworCQlldmJhX3NhdmVkID0gc3lzcmVnX3JlYWQoRVZCQSk7CisJCXN5c3JlZ193cml0ZShFVkJBLCAodW5zaWduZWQgbG9uZylzcmFtKTsKKworCQkvKgorCQkgKiBTYXZlIHRoZSBMUFIgcmVnaXN0ZXIgc28gdGhhdCB3ZSBjYW4gcmUtZW5hYmxlCisJCSAqIFNEUkFNIExvdyBQb3dlciBtb2RlIG9uIHJlc3VtZS4KKwkJICovCisJCWxwcl9zYXZlZCA9IHNkcmFtY19yZWFkbChMUFIpOworCQlwcl9kZWJ1ZygiJXM6IEVudGVyaW5nIHN0YW5kYnkuLi5cbiIsIF9fZnVuY19fKTsKKwkJYXZyMzJfcG1fZW50ZXJfc3RhbmRieShTRFJBTUNfQkFTRSk7CisJCXNkcmFtY193cml0ZWwoTFBSLCBscHJfc2F2ZWQpOworCisJCS8qIFN3aXRjaCBiYWNrIHRvIHJlZ3VsYXIgZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCXN5c3JlZ193cml0ZShFVkJBLCBldmJhX3NhdmVkKTsKKworCQlhdnIzMl9wbV91bm1hcF9zcmFtKCk7CisJCWJyZWFrOworCisJY2FzZSBQTV9TVVNQRU5EX01FTToKKwkJc3JhbSA9IGF2cjMyX3BtX21hcF9zcmFtKCk7CisKKwkJLyogU3dpdGNoIHRvIGluLXNyYW0gZXhjZXB0aW9uIGhhbmRsZXJzICovCisJCWV2YmFfc2F2ZWQgPSBzeXNyZWdfcmVhZChFVkJBKTsKKwkJc3lzcmVnX3dyaXRlKEVWQkEsICh1bnNpZ25lZCBsb25nKXNyYW0pOworCisJCS8qCisJCSAqIFNhdmUgdGhlIExQUiByZWdpc3RlciBzbyB0aGF0IHdlIGNhbiByZS1lbmFibGUKKwkJICogU0RSQU0gTG93IFBvd2VyIG1vZGUgb24gcmVzdW1lLgorCQkgKi8KKwkJbHByX3NhdmVkID0gc2RyYW1jX3JlYWRsKExQUik7CisJCXByX2RlYnVnKCIlczogRW50ZXJpbmcgc3VzcGVuZC10by1yYW0uLi5cbiIsIF9fZnVuY19fKTsKKwkJYXZyMzJfcG1fZW50ZXJfc3RyKFNEUkFNQ19CQVNFKTsKKwkJc2RyYW1jX3dyaXRlbChMUFIsIGxwcl9zYXZlZCk7CisKKwkJLyogU3dpdGNoIGJhY2sgdG8gcmVndWxhciBleGNlcHRpb24gaGFuZGxlcnMgKi8KKwkJc3lzcmVnX3dyaXRlKEVWQkEsIGV2YmFfc2F2ZWQpOworCisJCWF2cjMyX3BtX3VubWFwX3NyYW0oKTsKKwkJYnJlYWs7CisKKwljYXNlIFBNX1NVU1BFTkRfT046CisJCXByX2RlYnVnKCIlczogRW50ZXJpbmcgaWRsZS4uLlxuIiwgX19mdW5jX18pOworCQljcHVfZW50ZXJfaWRsZSgpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX2RlYnVnKCIlczogSW52YWxpZCBzdXNwZW5kIHN0YXRlICVkXG4iLCBfX2Z1bmNfXywgc3RhdGUpOworCQlnb3RvIG91dDsKKwl9CisKKwlwcl9kZWJ1ZygiJXM6IHdha2V1cFxuIiwgX19mdW5jX18pOworCitvdXQ6CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fc3VzcGVuZF9vcHMgYXZyMzJfcG1fb3BzID0geworCS52YWxpZAk9IGF2cjMyX3BtX3ZhbGlkX3N0YXRlLAorCS5lbnRlcgk9IGF2cjMyX3BtX2VudGVyLAorfTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgYXZyMzJfcG1fb2Zmc2V0KHZvaWQgKnN5bWJvbCkKK3sKKwlleHRlcm4gdTggcG1fZXhjZXB0aW9uW107CisKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpc3ltYm9sIC0gKHVuc2lnbmVkIGxvbmcpcG1fZXhjZXB0aW9uOworfQorCitzdGF0aWMgaW50IF9faW5pdCBhdnIzMl9wbV9pbml0KHZvaWQpCit7CisJZXh0ZXJuIHU4IHBtX2V4Y2VwdGlvbltdOworCWV4dGVybiB1OCBwbV9pcnEwW107CisJZXh0ZXJuIHU4IHBtX3N0YW5kYnlbXTsKKwlleHRlcm4gdTggcG1fc3VzcGVuZF90b19yYW1bXTsKKwlleHRlcm4gdTggcG1fc3JhbV9lbmRbXTsKKwl2b2lkICpkc3Q7CisKKwkvKgorCSAqIFRvIGtlZXAgdGhpbmdzIHNpbXBsZSwgd2UgZGVwZW5kIG9uIG5vdCBuZWVkaW5nIG1vcmUgdGhhbiBhCisJICogc2luZ2xlIHBhZ2UuCisJICovCisJcG1fc3JhbV9zaXplID0gYXZyMzJfcG1fb2Zmc2V0KHBtX3NyYW1fZW5kKTsKKwlpZiAocG1fc3JhbV9zaXplID4gUEFHRV9TSVpFKQorCQlnb3RvIGVycjsKKworCXBtX3NyYW1fc3RhcnQgPSBzcmFtX2FsbG9jKHBtX3NyYW1fc2l6ZSk7CisJaWYgKCFwbV9zcmFtX3N0YXJ0KQorCQlnb3RvIGVycl9hbGxvY19zcmFtOworCisJLyogR3JhYiBhIHZpcnR1YWwgYXJlYSB3ZSBjYW4gdXNlIGxhdGVyIG9uLiAqLworCXBtX3NyYW1fYXJlYSA9IGdldF92bV9hcmVhKHBtX3NyYW1fc2l6ZSwgVk1fSU9SRU1BUCk7CisJaWYgKCFwbV9zcmFtX2FyZWEpCisJCWdvdG8gZXJyX3ZtX2FyZWE7CisJcG1fc3JhbV9hcmVhLT5waHlzX2FkZHIgPSBwbV9zcmFtX3N0YXJ0OworCisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwlkc3QgPSBhdnIzMl9wbV9tYXBfc3JhbSgpOworCW1lbWNweShkc3QsIHBtX2V4Y2VwdGlvbiwgcG1fc3JhbV9zaXplKTsKKwlmbHVzaF9kY2FjaGVfcmVnaW9uKGRzdCwgcG1fc3JhbV9zaXplKTsKKwlpbnZhbGlkYXRlX2ljYWNoZV9yZWdpb24oZHN0LCBwbV9zcmFtX3NpemUpOworCWF2cjMyX3BtX3VubWFwX3NyYW0oKTsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisKKwlhdnIzMl9wbV9lbnRlcl9zdGFuZGJ5ID0gZHN0ICsgYXZyMzJfcG1fb2Zmc2V0KHBtX3N0YW5kYnkpOworCWF2cjMyX3BtX2VudGVyX3N0ciA9IGRzdCArIGF2cjMyX3BtX29mZnNldChwbV9zdXNwZW5kX3RvX3JhbSk7CisJaW50Y19zZXRfc3VzcGVuZF9oYW5kbGVyKGF2cjMyX3BtX29mZnNldChwbV9pcnEwKSk7CisKKwlzdXNwZW5kX3NldF9vcHMoJmF2cjMyX3BtX29wcyk7CisKKwlwcmludGsoIkFWUjMyIEFQIFBvd2VyIE1hbmFnZW1lbnQgZW5hYmxlZFxuIik7CisKKwlyZXR1cm4gMDsKKworZXJyX3ZtX2FyZWE6CisJc3JhbV9mcmVlKHBtX3NyYW1fc3RhcnQsIHBtX3NyYW1fc2l6ZSk7CitlcnJfYWxsb2Nfc3JhbToKK2VycjoKKwlwcl9lcnIoIkFWUjMyIFBvd2VyIE1hbmFnZW1lbnQgaW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KK2FyY2hfaW5pdGNhbGwoYXZyMzJfcG1faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21hY2gtYXQzMmFwL3NkcmFtYy5oIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmVlYWVkCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hdnIzMi9tYWNoLWF0MzJhcC9zZHJhbWMuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogUmVnaXN0ZXIgZGVmaW5pdGlvbnMgZm9yIHRoZSBBVDMyQVAgU0RSQU0gQ29udHJvbGxlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbCBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworLyogUmVnaXN0ZXIgb2Zmc2V0cyAqLworI2RlZmluZSBTRFJBTUNfTVIJCQkweDAwMDAKKyNkZWZpbmUgU0RSQU1DX1RSCQkJMHgwMDA0CisjZGVmaW5lIFNEUkFNQ19DUgkJCTB4MDAwOAorI2RlZmluZSBTRFJBTUNfSFNSCQkJMHgwMDBjCisjZGVmaW5lIFNEUkFNQ19MUFIJCQkweDAwMTAKKyNkZWZpbmUgU0RSQU1DX0lFUgkJCTB4MDAxNAorI2RlZmluZSBTRFJBTUNfSURSCQkJMHgwMDE4CisjZGVmaW5lIFNEUkFNQ19JTVIJCQkweDAwMWMKKyNkZWZpbmUgU0RSQU1DX0lTUgkJCTB4MDAyMAorI2RlZmluZSBTRFJBTUNfTURSCQkJMHgwMDI0CisKKy8qIE1SIC0gTW9kZSBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9OT1JNQUwJCSggIDAgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX05PUAkJKCAgMSA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfQkFOS1NfUFJFQ0hBUkdFCSggIDIgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19NUl9NT0RFX0xPQURfTU9ERQkoICAzIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9BVVRPX1JFRlJFU0gJKCAgNCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX01SX01PREVfRVhUX0xPQURfTU9ERQkoICA1IDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTVJfTU9ERV9QT1dFUl9ET1dOCSggIDYgPDwgIDApCisKKy8qIENSIC0gQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfQ1JfTkNfOF9CSVRTCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTkNfOV9CSVRTCQkoICAxIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfQ1JfTkNfMTBfQklUUwkJKCAgMiA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0NSX05DXzExX0JJVFMJCSggIDMgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19DUl9OUl8xMV9CSVRTCQkoICAwIDw8ICAyKQorI2RlZmluZSBTRFJBTUNfQ1JfTlJfMTJfQklUUwkJKCAgMSA8PCAgMikKKyNkZWZpbmUgU0RSQU1DX0NSX05SXzEzX0JJVFMJCSggIDIgPDwgIDIpCisjZGVmaW5lIFNEUkFNQ19DUl9OQl8yX0JBTktTCQkoICAwIDw8ICA0KQorI2RlZmluZSBTRFJBTUNfQ1JfTkJfNF9CQU5LUwkJKCAgMSA8PCAgNCkKKyNkZWZpbmUgU0RSQU1DX0NSX0NBUyh4KQkJKCh4KSA8PCAgNSkKKyNkZWZpbmUgU0RSQU1DX0NSX0RCV18zMl9CSVRTCQkoICAwIDw8ICA3KQorI2RlZmluZSBTRFJBTUNfQ1JfREJXXzE2X0JJVFMJCSggIDEgPDwgIDcpCisjZGVmaW5lIFNEUkFNQ19DUl9UV1IoeCkJCSgoeCkgPDwgIDgpCisjZGVmaW5lIFNEUkFNQ19DUl9UUkMoeCkJCSgoeCkgPDwgMTIpCisjZGVmaW5lIFNEUkFNQ19DUl9UUlAoeCkJCSgoeCkgPDwgMTYpCisjZGVmaW5lIFNEUkFNQ19DUl9UUkNEKHgpCQkoKHgpIDw8IDIwKQorI2RlZmluZSBTRFJBTUNfQ1JfVFJBUyh4KQkJKCh4KSA8PCAyNCkKKyNkZWZpbmUgU0RSQU1DX0NSX1RYU1IoeCkJCSgoeCkgPDwgMjgpCisKKy8qIEhTUiAtIEhpZ2ggU3BlZWQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgU0RSQU1DX0hTUl9EQQkJCSggIDEgPDwgIDApCisKKy8qIExQUiAtIExvdyBQb3dlciBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTFBSX0xQQ0JfSU5ISUJJVAkJKCAgMCA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX1NFTEZfUkZSCSggIDEgPDwgIDApCisjZGVmaW5lIFNEUkFNQ19MUFJfTFBDQl9QRE9XTgkJKCAgMiA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9MUENCX0RFRVBfUERPV04JKCAgMyA8PCAgMCkKKyNkZWZpbmUgU0RSQU1DX0xQUl9QQVNSKHgpCQkoKHgpIDw8ICA0KQorI2RlZmluZSBTRFJBTUNfTFBSX1RDU1IoeCkJCSgoeCkgPDwgIDgpCisjZGVmaW5lIFNEUkFNQ19MUFJfRFMoeCkJCSgoeCkgPDwgMTApCisjZGVmaW5lIFNEUkFNQ19MUFJfVElNRU9VVCh4KQkJKCh4KSA8PCAxMikKKworLyogSUVSL0lEUi9JTVIvSVNSIC0gSW50ZXJydXB0IEVuYWJsZS9EaXNhYmxlL01hc2svU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFNEUkFNQ19JU1JfUkVTCQkJKCAgMSA8PCAgMCkKKworLyogTURSIC0gTWVtb3J5IERldmljZSBSZWdpc3RlciAqLworI2RlZmluZSBTRFJBTUNfTURSX01EX1NEUkFNCQkoICAwIDw8ICAwKQorI2RlZmluZSBTRFJBTUNfTURSX01EX0xPV19QV1JfU0RSQU0JKCAgMSA8PCAgMCkKKworLyogUmVnaXN0ZXIgYWNjZXNzIG1hY3JvcyAqLworI2RlZmluZSBzZHJhbWNfcmVhZGwocmVnKSBcCisJX19yYXdfcmVhZGwoKHZvaWQgX19pb21lbSBfX2ZvcmNlICopU0RSQU1DX0JBU0UgKyBTRFJBTUNfIyNyZWcpCisjZGVmaW5lIHNkcmFtY193cml0ZWwocmVnLCB2YWx1ZSkgXAorCV9fcmF3X3dyaXRlbCh2YWx1ZSwgKHZvaWQgX19pb21lbSBfX2ZvcmNlICopU0RSQU1DX0JBU0UgKyBTRFJBTUNfIyNyZWcpCmRpZmYgLS1naXQgYS9hcmNoL2F2cjMyL21tL2luaXQuYyBiL2FyY2gvYXZyMzIvbW0vaW5pdC5jCmluZGV4IDBlNjRkZGMuLjNmOTBhODcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbW0vaW5pdC5jCisrKyBiL2FyY2gvYXZyMzIvbW0vaW5pdC5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc3dhcC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L25vZGVtYXNrLmg+CkBAIC0yMywxMSArMjQsMTQgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIAorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZAlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpCisKIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbXVfZ2F0aGVyLCBtbXVfZ2F0aGVycyk7CiAKLXBnZF90IHN3YXBwZXJfcGdfZGlyW1BUUlNfUEVSX1BHRF07CitwZ2RfdCBzd2FwcGVyX3BnX2RpcltQVFJTX1BFUl9QR0RdIF9fcGFnZV9hbGlnbmVkOwogCiBzdHJ1Y3QgcGFnZSAqZW1wdHlfemVyb19wYWdlOworRVhQT1JUX1NZTUJPTChlbXB0eV96ZXJvX3BhZ2UpOwogCiAvKgogICogQ2FjaGUgb2YgTU1VIGNvbnRleHQgbGFzdCB1c2VkLgpAQCAtMTA2LDE5ICsxMTAsOSBAQAogCXplcm9fcGFnZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzX25vZGUoTk9ERV9EQVRBKDApLAogCQkJCQkJIFBBR0VfU0laRSk7CiAKLQl7Ci0JCXBnZF90ICpwZ19kaXI7Ci0JCWludCBpOwotCi0JCXBnX2RpciA9IHN3YXBwZXJfcGdfZGlyOwotCQlzeXNyZWdfd3JpdGUoUFRCUiwgKHVuc2lnbmVkIGxvbmcpcGdfZGlyKTsKLQotCQlmb3IgKGkgPSAwOyBpIDwgUFRSU19QRVJfUEdEOyBpKyspCi0JCQlwZ2RfdmFsKHBnX2RpcltpXSkgPSAwOwotCi0JCWVuYWJsZV9tbXUoKTsKLQkJcHJpbnRrICgiQ1BVOiBQYWdpbmcgZW5hYmxlZFxuIik7Ci0JfQorCXN5c3JlZ193cml0ZShQVEJSLCAodW5zaWduZWQgbG9uZylzd2FwcGVyX3BnX2Rpcik7CisJZW5hYmxlX21tdSgpOworCXByaW50ayAoIkNQVTogUGFnaW5nIGVuYWJsZWRcbiIpOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7CiAJCXBnX2RhdGFfdCAqcGdkYXQgPSBOT0RFX0RBVEEobmlkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXZyMzIvbW0vdGxiLmMgYi9hcmNoL2F2cjMyL21tL3RsYi5jCmluZGV4IGNkMTJlZGIuLjA2Njc3YmUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXZyMzIvbW0vdGxiLmMKKysrIGIvYXJjaC9hdnIzMi9tbS90bGIuYwpAQCAtMTEsMjEgKzExLDIxIEBACiAKICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KIAotI2RlZmluZSBfVExCRUhJX0kJMHgxMDAKKy8qIFRPRE86IEdldCB0aGUgY29ycmVjdCBudW1iZXIgZnJvbSB0aGUgQ09ORklHMSBzeXN0ZW0gcmVnaXN0ZXIgKi8KKyNkZWZpbmUgTlJfVExCX0VOVFJJRVMgMzIKIAotdm9pZCBzaG93X2R0bGJfZW50cnkodW5zaWduZWQgaW50IGluZGV4KQorc3RhdGljIHZvaWQgc2hvd19kdGxiX2VudHJ5KHVuc2lnbmVkIGludCBpbmRleCkKIHsKLQl1bnNpZ25lZCBpbnQgdGxiZWhpLCB0bGJlaGlfc2F2ZSwgdGxiZWxvLCBtbXVjciwgbW11Y3Jfc2F2ZTsKKwl1MzIgdGxiZWhpLCB0bGJlaGlfc2F2ZSwgdGxiZWxvLCBtbXVjciwgbW11Y3Jfc2F2ZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAJdGxiZWhpX3NhdmUgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCW1tdWNyID0gbW11Y3Jfc2F2ZSAmIDB4MTM7Ci0JbW11Y3IgfD0gaW5kZXggPDwgMTQ7CisJbW11Y3IgPSBTWVNSRUdfQkZJTlMoRFJQLCBpbmRleCwgbW11Y3Jfc2F2ZSk7CiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcik7CiAKLQlhc20gdm9sYXRpbGUoInRsYnIiIDogOiA6ICJtZW1vcnkiKTsKKwlfX2J1aWx0aW5fdGxicigpOwogCWNwdV9zeW5jX3BpcGVsaW5lKCk7CiAKIAl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwpAQCAtMzMsMTUgKzMzLDE3IEBACiAKIAlwcmludGsoIiUydTogJWMgJWMgJTAyeCAgICUwNXggJTA1eCAlbyAgJW8gICVjICVjICVjICVjXG4iLAogCSAgICAgICBpbmRleCwKLQkgICAgICAgKHRsYmVoaSAmIDB4MjAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgxMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlaGkgJiAweGZmKSwKLQkgICAgICAgKHRsYmVoaSA+PiAxMiksICh0bGJlbG8gPj4gMTIpLAotCSAgICAgICAodGxiZWxvID4+IDQpICYgNywgKHRsYmVsbyA+PiAyKSAmIDMsCi0JICAgICAgICh0bGJlbG8gJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDgwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDEpPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDAwMik/JzEnOicwJyk7CisJICAgICAgIFNZU1JFR19CRkVYVChUTEJFSElfViwgdGxiZWhpKSA/ICcxJyA6ICcwJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKEcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJICAgICAgIFNZU1JFR19CRkVYVChBU0lELCB0bGJlaGkpLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVlBOLCB0bGJlaGkpID4+IDIsCisJICAgICAgIFNZU1JFR19CRkVYVChQRk4sIHRsYmVsbykgPj4gMiwKKwkgICAgICAgU1lTUkVHX0JGRVhUKEFQLCB0bGJlbG8pLAorCSAgICAgICBTWVNSRUdfQkZFWFQoU1osIHRsYmVsbyksCisJICAgICAgIFNZU1JFR19CRkVYVChUTEJFTE9fQywgdGxiZWxvKSA/ICdDJyA6ICcgJywKKwkgICAgICAgU1lTUkVHX0JGRVhUKEIsIHRsYmVsbykgPyAnQicgOiAnICcsCisJICAgICAgIFNZU1JFR19CRkVYVChXLCB0bGJlbG8pID8gJ1cnIDogJyAnLAorCSAgICAgICBTWVNSRUdfQkZFWFQoVExCRUxPX0QsIHRsYmVsbykgPyAnRCcgOiAnICcpOwogCiAJc3lzcmVnX3dyaXRlKE1NVUNSLCBtbXVjcl9zYXZlKTsKIAlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGlfc2F2ZSk7CkBAIC01NCwyOSArNTYsMzMgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAogCXByaW50aygiSUQgIFYgRyBBU0lEIFZQTiAgIFBGTiAgIEFQIFNaIEMgQiBXIERcbiIpOwotCWZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBOUl9UTEJfRU5UUklFUzsgaSsrKQogCQlzaG93X2R0bGJfZW50cnkoaSk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxhc3RfbW11Y3I7Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcmVwbGFjZW1lbnRfcG9pbnRlcih1bnNpZ25lZCBzaGlmdCkKK3N0YXRpYyB2b2lkIHVwZGF0ZV9kdGxiKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgcHRlKQogewotCXVuc2lnbmVkIGxvbmcgbW11Y3IsIG1tdWNyX3NhdmU7CisJdTMyIHRsYmVoaTsKKwl1MzIgbW11Y3I7CiAKLQltbXVjciA9IG1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CisJLyoKKwkgKiBXZSdyZSBub3QgY2hhbmdpbmcgdGhlIEFTSUQgaGVyZSwgc28gbm8gbmVlZCB0byBmbHVzaCB0aGUKKwkgKiBwaXBlbGluZS4KKwkgKi8KKwl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOworCXRsYmVoaSA9IFNZU1JFR19CRihBU0lELCBTWVNSRUdfQkZFWFQoQVNJRCwgdGxiZWhpKSk7CisJdGxiZWhpIHw9IGFkZHJlc3MgJiBNTVVfVlBOX01BU0s7CisJdGxiZWhpIHw9IFNZU1JFR19CSVQoVExCRUhJX1YpOworCXN5c3JlZ193cml0ZShUTEJFSEksIHRsYmVoaSk7CiAKIAkvKiBEb2VzIHRoaXMgbWFwcGluZyBhbHJlYWR5IGV4aXN0PyAqLwotCV9fYXNtX18gX192b2xhdGlsZV9fKAotCQkiCXRsYnNcbiIKLQkJIgltZnNyICUwLCAlMSIKLQkJOiAiPXIiKG1tdWNyKQotCQk6ICJpIihTWVNSRUdfTU1VQ1IpKTsKKwlfX2J1aWx0aW5fdGxicygpOworCW1tdWNyID0gc3lzcmVnX3JlYWQoTU1VQ1IpOwogCiAJaWYgKG1tdWNyICYgU1lTUkVHX0JJVChNTVVDUl9OKSkgewogCQkvKiBOb3QgZm91bmQgLS0gcGljayBhIG5vdC1yZWNlbnRseS1hY2Nlc3NlZCBlbnRyeSAqLwotCQl1bnNpZ25lZCBsb25nIHJwOwotCQl1bnNpZ25lZCBsb25nIHRsYmFyID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CisJCXVuc2lnbmVkIGludCBycDsKKwkJdTMyIHRsYmFyID0gc3lzcmVnX3JlYWQoVExCQVJMTyk7CiAKIAkJcnAgPSAzMiAtIGZscyh0bGJhcik7CiAJCWlmIChycCA9PSAzMikgewpAQCAtODQsMzAgKzkwLDE0IEBACiAJCQlzeXNyZWdfd3JpdGUoVExCQVJMTywgLTFMKTsKIAkJfQogCi0JCW1tdWNyICY9IDB4MTM7Ci0JCW1tdWNyIHw9IChycCA8PCBzaGlmdCk7Ci0KKwkJbW11Y3IgPSBTWVNSRUdfQkZJTlMoRFJQLCBycCwgbW11Y3IpOwogCQlzeXNyZWdfd3JpdGUoTU1VQ1IsIG1tdWNyKTsKIAl9CiAKLQlsYXN0X21tdWNyID0gbW11Y3I7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9kdGxiKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgcHRlLCB1bnNpZ25lZCBsb25nIGFzaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2cG47Ci0KLQl2cG4gPSAoYWRkcmVzcyAmIE1NVV9WUE5fTUFTSykgfCBfVExCRUhJX1ZBTElEIHwgYXNpZDsKLQlzeXNyZWdfd3JpdGUoVExCRUhJLCB2cG4pOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7Ci0KLQlzZXRfcmVwbGFjZW1lbnRfcG9pbnRlcigxNCk7Ci0KIAlzeXNyZWdfd3JpdGUoVExCRUxPLCBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9GTEFHU19IQVJEV0FSRV9NQVNLKTsKIAogCS8qIExldCdzIGdvICovCi0JYXNtIHZvbGF0aWxlKCJub3Bcblx0dGxidyIgOiA6IDogIm1lbW9yeSIpOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7CisJX19idWlsdGluX3RsYncoKTsKIH0KIAogdm9pZCB1cGRhdGVfbW11X2NhY2hlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLApAQCAtMTIwLDM5ICsxMTAsNDAgQEAKIAkJcmV0dXJuOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXVwZGF0ZV9kdGxiKGFkZHJlc3MsIHB0ZSwgZ2V0X2FzaWQoKSk7CisJdXBkYXRlX2R0bGIoYWRkcmVzcywgcHRlKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLXZvaWQgX19mbHVzaF90bGJfcGFnZSh1bnNpZ25lZCBsb25nIGFzaWQsIHVuc2lnbmVkIGxvbmcgcGFnZSkKK3N0YXRpYyB2b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpCiB7Ci0JdW5zaWduZWQgbG9uZyBtbXVjciwgdGxiZWhpOworCXUzMiBtbXVjciwgdGxiZWhpOwogCi0JcGFnZSB8PSBhc2lkOwotCXN5c3JlZ193cml0ZShUTEJFSEksIHBhZ2UpOwotCWNwdV9zeW5jX3BpcGVsaW5lKCk7Ci0JYXNtIHZvbGF0aWxlKCJ0bGJzIik7CisJLyoKKwkgKiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIG1hc2tpbmcgb3V0IG5vbi1QRk4gYml0cyBpbiBwYWdlCisJICogYW5kIGNoYW5naW5nIHRoZSBjdXJyZW50IEFTSUQgaWYgbmVjZXNzYXJ5LiBUaGlzIG1lYW5zIHRoYXQKKwkgKiB3ZSBkb24ndCBuZWVkIHRvIGZsdXNoIHRoZSBwaXBlbGluZSBhZnRlciB3cml0aW5nIFRMQkVISS4KKwkgKi8KKwl0bGJlaGkgPSBwYWdlIHwgYXNpZDsKKwlzeXNyZWdfd3JpdGUoVExCRUhJLCB0bGJlaGkpOworCisJX19idWlsdGluX3RsYnMoKTsKIAltbXVjciA9IHN5c3JlZ19yZWFkKE1NVUNSKTsKIAogCWlmICghKG1tdWNyICYgU1lTUkVHX0JJVChNTVVDUl9OKSkpIHsKLQkJdW5zaWduZWQgbG9uZyB0bGJhcmxvOwotCQl1bnNpZ25lZCBsb25nIGVudHJ5OworCQl1bnNpZ25lZCBpbnQgZW50cnk7CisJCXUzMiB0bGJhcmxvOwogCiAJCS8qIENsZWFyIHRoZSAidmFsaWQiIGJpdCAqLwotCQl0bGJlaGkgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCQl0bGJlaGkgJj0gfl9UTEJFSElfVkFMSUQ7CiAJCXN5c3JlZ193cml0ZShUTEJFSEksIHRsYmVoaSk7Ci0JCWNwdV9zeW5jX3BpcGVsaW5lKCk7CiAKIAkJLyogbWFyayB0aGUgZW50cnkgYXMgIm5vdCBhY2Nlc3NlZCIgKi8KLQkJZW50cnkgPSAobW11Y3IgPj4gMTQpICYgMHgzZjsKKwkJZW50cnkgPSBTWVNSRUdfQkZFWFQoRFJQLCBtbXVjcik7CiAJCXRsYmFybG8gPSBzeXNyZWdfcmVhZChUTEJBUkxPKTsKLQkJdGxiYXJsbyB8PSAoMHg4MDAwMDAwMCA+PiBlbnRyeSk7CisJCXRsYmFybG8gfD0gKDB4ODAwMDAwMDBVTCA+PiBlbnRyeSk7CiAJCXN5c3JlZ193cml0ZShUTEJBUkxPLCB0bGJhcmxvKTsKIAogCQkvKiB1cGRhdGUgdGhlIGVudHJ5IHdpdGggdmFsaWQgYml0IGNsZWFyICovCi0JCWFzbSB2b2xhdGlsZSgidGxidyIpOwotCQljcHVfc3luY19waXBlbGluZSgpOworCQlfX2J1aWx0aW5fdGxidygpOwogCX0KIH0KIApAQCAtMTkwLDE3ICsxODEsMjIgQEAKIAogCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJCXNpemUgPSAoZW5kIC0gc3RhcnQgKyAoUEFHRV9TSVpFIC0gMSkpID4+IFBBR0VfU0hJRlQ7CisKIAkJaWYgKHNpemUgPiAoTU1VX0RUTEJfRU5UUklFUyAvIDQpKSB7IC8qIFRvbyBtYW55IGVudHJpZXMgdG8gZmx1c2ggKi8KIAkJCW1tLT5jb250ZXh0ID0gTk9fQ09OVEVYVDsKIAkJCWlmIChtbSA9PSBjdXJyZW50LT5tbSkKIAkJCQlhY3RpdmF0ZV9jb250ZXh0KG1tKTsKIAkJfSBlbHNlIHsKLQkJCXVuc2lnbmVkIGxvbmcgYXNpZCA9IG1tLT5jb250ZXh0ICYgTU1VX0NPTlRFWFRfQVNJRF9NQVNLOwotCQkJdW5zaWduZWQgbG9uZyBzYXZlZF9hc2lkID0gTU1VX05PX0FTSUQ7CisJCQl1bnNpZ25lZCBsb25nIGFzaWQ7CisJCQl1bnNpZ25lZCBsb25nIHNhdmVkX2FzaWQ7CisKKwkJCWFzaWQgPSBtbS0+Y29udGV4dCAmIE1NVV9DT05URVhUX0FTSURfTUFTSzsKKwkJCXNhdmVkX2FzaWQgPSBNTVVfTk9fQVNJRDsKIAogCQkJc3RhcnQgJj0gUEFHRV9NQVNLOwogCQkJZW5kICs9IChQQUdFX1NJWkUgLSAxKTsKIAkJCWVuZCAmPSBQQUdFX01BU0s7CisKIAkJCWlmIChtbSAhPSBjdXJyZW50LT5tbSkgewogCQkJCXNhdmVkX2FzaWQgPSBnZXRfYXNpZCgpOwogCQkJCXNldF9hc2lkKGFzaWQpOwpAQCAtMjE4LDMzICsyMTQsMzQgQEAKIH0KIAogLyoKLSAqIFRPRE86IElmIHRoaXMgaXMgb25seSBjYWxsZWQgZm9yIGFkZHJlc3NlcyA+IFRBU0tfU0laRSwgd2UgY2FuIHByb2JhYmx5Ci0gKiBza2lwIHRoZSBBU0lEIHN0dWZmIGFuZCBqdXN0IHVzZSB0aGUgR2xvYmFsIGJpdC4uLgorICogVGhpcyBmdW5jdGlvbiBkZXBlbmRzIG9uIHRoZSBwYWdlcyB0byBiZSBmbHVzaGVkIGhhdmluZyB0aGUgRworICogKGdsb2JhbCkgYml0IHNldCBpbiB0aGVpciBwdGUuIFRoaXMgaXMgdHJ1ZSBmb3IgYWxsCisgKiBQQUdFX0tFUk5FTChfUk8pIHBhZ2VzLgogICovCiB2b2lkIGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2UodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgc2l6ZTsKIAotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAlzaXplID0gKGVuZCAtIHN0YXJ0ICsgKFBBR0VfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOwogCWlmIChzaXplID4gKE1NVV9EVExCX0VOVFJJRVMgLyA0KSkgeyAvKiBUb28gbWFueSBlbnRyaWVzIHRvIGZsdXNoICovCiAJCWZsdXNoX3RsYl9hbGwoKTsKIAl9IGVsc2UgewotCQl1bnNpZ25lZCBsb25nIGFzaWQgPSBpbml0X21tLmNvbnRleHQgJiBNTVVfQ09OVEVYVF9BU0lEX01BU0s7Ci0JCXVuc2lnbmVkIGxvbmcgc2F2ZWRfYXNpZCA9IGdldF9hc2lkKCk7CisJCXVuc2lnbmVkIGxvbmcgYXNpZDsKKworCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJCWFzaWQgPSBnZXRfYXNpZCgpOwogCiAJCXN0YXJ0ICY9IFBBR0VfTUFTSzsKIAkJZW5kICs9IChQQUdFX1NJWkUgLSAxKTsKIAkJZW5kICY9IFBBR0VfTUFTSzsKLQkJc2V0X2FzaWQoYXNpZCk7CisKIAkJd2hpbGUgKHN0YXJ0IDwgZW5kKSB7CiAJCQlfX2ZsdXNoX3RsYl9wYWdlKGFzaWQsIHN0YXJ0KTsKIAkJCXN0YXJ0ICs9IFBBR0VfU0laRTsKIAkJfQotCQlzZXRfYXNpZChzYXZlZF9hc2lkKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCX0KLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKIHZvaWQgZmx1c2hfdGxiX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpAQCAtMjgwLDcgKzI3Nyw3IEBACiB7CiAJc3RhdGljIHVuc2lnbmVkIGxvbmcgdGxiX2luZGV4OwogCi0JaWYgKCpwb3MgPj0gMzIpCisJaWYgKCpwb3MgPj0gTlJfVExCX0VOVFJJRVMpCiAJCXJldHVybiBOVUxMOwogCiAJdGxiX2luZGV4ID0gMDsKQEAgLTI5MSw3ICsyODgsNyBAQAogewogCXVuc2lnbmVkIGxvbmcgKmluZGV4ID0gdjsKIAotCWlmICgqaW5kZXggPj0gMzEpCisJaWYgKCppbmRleCA+PSBOUl9UTEJfRU5UUklFUyAtIDEpCiAJCXJldHVybiBOVUxMOwogCiAJKysqcG9zOwpAQCAtMzEzLDE2ICszMTAsMTYgQEAKIAlpZiAoKmluZGV4ID09IDApCiAJCXNlcV9wdXRzKHRsYiwgIklEICBWIEcgQVNJRCBWUE4gICBQRk4gICBBUCBTWiBDIEIgVyBEXG4iKTsKIAotCUJVR19PTigqaW5kZXggPj0gMzIpOworCUJVR19PTigqaW5kZXggPj0gTlJfVExCX0VOVFJJRVMpOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCW1tdWNyX3NhdmUgPSBzeXNyZWdfcmVhZChNTVVDUik7CiAJdGxiZWhpX3NhdmUgPSBzeXNyZWdfcmVhZChUTEJFSEkpOwotCW1tdWNyID0gbW11Y3Jfc2F2ZSAmIDB4MTM7Ci0JbW11Y3IgfD0gKmluZGV4IDw8IDE0OworCW1tdWNyID0gU1lTUkVHX0JGSU5TKERSUCwgKmluZGV4LCBtbXVjcl9zYXZlKTsKIAlzeXNyZWdfd3JpdGUoTU1VQ1IsIG1tdWNyKTsKIAotCWFzbSB2b2xhdGlsZSgidGxiciIgOiA6IDogIm1lbW9yeSIpOworCS8qIFRMQlIgbWlnaHQgY2hhbmdlIHRoZSBBU0lEICovCisJX19idWlsdGluX3RsYnIoKTsKIAljcHVfc3luY19waXBlbGluZSgpOwogCiAJdGxiZWhpID0gc3lzcmVnX3JlYWQoVExCRUhJKTsKQEAgLTMzNCwxNiArMzMxLDE4IEBACiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCiAJc2VxX3ByaW50Zih0bGIsICIlMmx1OiAlYyAlYyAlMDJ4ICAgJTA1eCAlMDV4ICVvICAlbyAgJWMgJWMgJWMgJWNcbiIsCi0JICAgICAgICppbmRleCwKLQkgICAgICAgKHRsYmVoaSAmIDB4MjAwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgxMDApPycxJzonMCcsCi0JICAgICAgICh0bGJlaGkgJiAweGZmKSwKLQkgICAgICAgKHRsYmVoaSA+PiAxMiksICh0bGJlbG8gPj4gMTIpLAotCSAgICAgICAodGxiZWxvID4+IDQpICYgNywgKHRsYmVsbyA+PiAyKSAmIDMsCi0JICAgICAgICh0bGJlbG8gJiAweDIwMCk/JzEnOicwJywKLQkgICAgICAgKHRsYmVsbyAmIDB4MDgwKT8nMSc6JzAnLAotCSAgICAgICAodGxiZWxvICYgMHgwMDEpPycxJzonMCcsCi0JICAgICAgICh0bGJlbG8gJiAweDAwMik/JzEnOicwJyk7CisJCSAgICppbmRleCwKKwkJICAgU1lTUkVHX0JGRVhUKFRMQkVISV9WLCB0bGJlaGkpID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoRywgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKEFTSUQsIHRsYmVoaSksCisJCSAgIFNZU1JFR19CRkVYVChWUE4sIHRsYmVoaSkgPj4gMiwKKwkJICAgU1lTUkVHX0JGRVhUKFBGTiwgdGxiZWxvKSA+PiAyLAorCQkgICBTWVNSRUdfQkZFWFQoQVAsIHRsYmVsbyksCisJCSAgIFNZU1JFR19CRkVYVChTWiwgdGxiZWxvKSwKKwkJICAgU1lTUkVHX0JGRVhUKFRMQkVMT19DLCB0bGJlbG8pID8gJzEnIDogJzAnLAorCQkgICBTWVNSRUdfQkZFWFQoQiwgdGxiZWxvKSA/ICcxJyA6ICcwJywKKwkJICAgU1lTUkVHX0JGRVhUKFcsIHRsYmVsbykgPyAnMScgOiAnMCcsCisJCSAgIFNZU1JFR19CRkVYVChUTEJFTE9fRCwgdGxiZWxvKSA/ICcxJyA6ICcwJyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvYmxhY2tmaW4vbWFjaC1iZjU2MS9jb3JlYi5jIGIvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKaW5kZXggMWI0NGU5ZS4uODU5ODA5OCAxMDA2NDQKLS0tIGEvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKKysrIGIvYXJjaC9ibGFja2Zpbi9tYWNoLWJmNTYxL2NvcmViLmMKQEAgLTE5NCw2ICsxOTQsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKKy8qIE5vIEJLTCBuZWVkZWQgaGVyZSAqLwogc3RhdGljIGludCBjb3JlYl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXNwaW5fbG9ja19pcnEoJmNvcmViX2xvY2spOwpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZWVwcm9tLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYwppbmRleCBmMWNhYzlkLi4xZjJhZTkwIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9lZXByb20uYwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAiaTJjLmgiCkBAIC0zNzUsMTAgKzM3Niw5IEBACiB9CiAKIC8qIE9wZW5zIHRoZSBkZXZpY2UuICovCi0KIHN0YXRpYyBpbnQgZWVwcm9tX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsKLQorICBjeWNsZV9rZXJuZWxfbG9jaygpOwogICBpZihpbWlub3IoaW5vZGUpICE9IEVFUFJPTV9NSU5PUl9OUikKICAgICAgcmV0dXJuIC1FTlhJTzsKICAgaWYoaW1ham9yKGlub2RlKSAhPSBFRVBST01fTUFKT1JfTlIpCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9ncGlvLmMKaW5kZXggNjhhOTk4Yi4uODYwNDhlNiAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2dwaW8uYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0zMjMsNiArMzI0LDcgQEAKIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlwcml2LT5taW5vciA9IHA7CiAKIAkvKiBpbml0aWFsaXplIHRoZSBpby9hbGFybSBzdHJ1Y3QgKi8KQEAgLTM1Nyw2ICszNTksNyBAQAogCWFsYXJtbGlzdCA9IHByaXY7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZ3Bpb19sb2NrLCBmbGFncyk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL2kyYy5jIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKaW5kZXggZDZkMjIwNi4uMjc5N2U2NyAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvaTJjLmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTU2Niw2ICs1NjcsNyBAQAogc3RhdGljIGludAogaTJjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYyBiL2FyY2gvY3Jpcy9hcmNoLXYxMC9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKaW5kZXggMDY5NTQ2ZS4uOTFmZWE2MiAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjEwL2RyaXZlcnMvc3luY19zZXJpYWwuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MTAvZHJpdmVycy9zeW5jX3NlcmlhbC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KQEAgLTQ0MywxOCArNDQ0LDIxIEBACiAJaW50IGRldiA9IE1JTk9SKGlub2RlLT5pX3JkZXYpOwogCXN0cnVjdCBzeW5jX3BvcnQgKnBvcnQ7CiAJaW50IG1vZGU7CisJaW50IGVyciA9IC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIk9wZW4gc3luYyBzZXJpYWwgcG9ydCAlZFxuIiwgZGV2KSk7CiAKIAlpZiAoZGV2IDwgMCB8fCBkZXYgPj0gTlVNQkVSX09GX1BPUlRTIHx8ICFwb3J0c1tkZXZdLmVuYWJsZWQpIHsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkludmFsaWQgbWlub3IgJWRcbiIsIGRldikpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCXBvcnQgPSAmcG9ydHNbZGV2XTsKIAkvKiBBbGxvdyBvcGVuIHRoaXMgZGV2aWNlIHR3aWNlIChhc3N1bWluZyBvbmUgcmVhZGVyIGFuZCBvbmUgd3JpdGVyKSAqLwogCWlmIChwb3J0LT5idXN5ID09IDIpIHsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkRldmljZSBpcyBidXN5Li4gXG4iKSk7Ci0JCXJldHVybiAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAlpZiAocG9ydC0+aW5pdF9pcnFzKSB7CiAJCWlmIChwb3J0LT51c2VfZG1hKSB7CkBAIC00NjUsMTQgKzQ2OSwxNCBAQAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgcG9ydCAxIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKHJlcXVlc3RfaXJxKDI1LCByeF9pbnRlcnJ1cHQsIDAsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHJ4IiwKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJZnJlZV9pcnEoMjQsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzX3JlcXVlc3RfZG1hKDgsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDEgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDgyLDcgKzQ4Niw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDEgIgogCQkJCQkJIlRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg5LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC00OTMsNyArNDk3LDcgQEAKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMSAiCiAJCQkJCQkiUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQkJUkVTRVRfRE1BKDgpOyBXQUlUX0RNQSg4KTsKQEAgLTUyMCwxNCArNTI0LDE0IEBACiAJCQkJCQkmcG9ydHNbMV0pKSB7CiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoMjEsIHJ4X2ludGVycnVwdCwgMCwKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMyBkbWEgcngiLAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlmcmVlX2lycSgyMCwgJnBvcnRzWzFdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMyBJUlEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzX3JlcXVlc3RfZG1hKDQsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNTM3LDcgKzU0MSw3IEBACiAJCQkJCXByaW50ayhLRVJOX0NSSVQgIkNhbid0IGFsbG9jICIKIAkJCQkJCSJzeW5jIHNlcmlhbCBwb3J0IDMgIgogCQkJCQkJIlRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc19yZXF1ZXN0X2RtYSg1LAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAzIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC01NDgsNyArNTUyLDcgQEAKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIHBvcnQgMyAiCiAJCQkJCQkiUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQkJUkVTRVRfRE1BKDQpOyBXQUlUX0RNQSg0KTsKQEAgLTU4MSw3ICs1ODUsNyBAQAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvYyAiCiAJCQkJCQkic3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9IGVsc2UgaWYgKHBvcnQgPT0gJnBvcnRzWzFdKSB7CiAJCQkJaWYgKHJlcXVlc3RfaXJxKDgsCkBAIC01OTEsNyArNTk1LDcgQEAKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2MgIgogCQkJCQkJInN5bmMgc2VyaWFsIG1hbnVhbCBpcnEiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogCQkJfQogCQkJcG9ydC0+aW5pdF9pcnFzID0gMDsKQEAgLTYyMCw3ICs2MjQsMTEgQEAKIAkJCSpSX0lSUV9NQVNLMV9TRVQgPSAxIDw8IHBvcnQtPmRhdGFfYXZhaWxfYml0OwogCQlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAic3NlciVkIHJlYyBzdGFydGVkXG4iLCBkZXYpKTsKIAl9Ci0JcmV0dXJuIDA7CisJcmV0ID0gMDsKKwkKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBzeW5jX3NlcmlhbF9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvY3J5cHRvY29wLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYwppbmRleCA5ZmI1ODIwLi42N2M2MWVhIDEwMDY0NAotLS0gYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYworKysgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9jcnlwdG9jb3AuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CiAKQEAgLTIzMDIsMTEgKzIzMDMsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotCiBzdGF0aWMgaW50IGNyeXB0b2NvcF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBwID0gaW1pbm9yKGlub2RlKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJaWYgKHAgIT0gQ1JZUFRPQ09QX01JTk9SKSByZXR1cm4gLUVJTlZBTDsKIAogCWZpbHAtPnByaXZhdGVfZGF0YSA9IE5VTEw7CmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9pMmMuYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCmluZGV4IGMyZmI3YTUuLjE3OWU3YjggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL2kyYy5jCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGkyYy5oPgogCkBAIC02MzYsNiArNjM3LDcgQEAKIHN0YXRpYyBpbnQKIGkyY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtYTMvZ3Bpby5jIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKaW5kZXggZGUxMDdkYS4uZWY5ODYwOCAxMDA2NDQKLS0tIGEvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvbWFjaC1hMy9ncGlvLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2V0cmF4Z3Bpby5oPgogI2luY2x1ZGUgPGh3cmVncy9yZWdfbWFwLmg+CkBAIC0zOTAsNiArMzkxLDggQEAKIAogCWlmICghcHJpdikKIAkJcmV0dXJuIC1FTk9NRU07CisKKwlsb2NrX2tlcm5lbCgpOwogCW1lbXNldChwcml2LCAwLCBzaXplb2YoKnByaXYpKTsKIAogCXByaXYtPm1pbm9yID0gcDsKQEAgLTQxMiw2ICs0MTUsNyBAQAogCQlzcGluX3VubG9ja19pcnEoJmdwaW9fbG9jayk7CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9tYWNoLWZzL2dwaW8uYyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCmluZGV4IDc4NjNmZDQuLmZlMWZkZTggMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCisrKyBiL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL21hY2gtZnMvZ3Bpby5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9ldHJheGdwaW8uaD4KICNpbmNsdWRlIDxod3JlZ3MvcmVnX21hcC5oPgpAQCAtNDI2LDkgKzQyNywxMCBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByaXYgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgZ3Bpb19wcml2YXRlKSwgR0ZQX0tFUk5FTCk7Ci0KIAlpZiAoIXByaXYpCiAJCXJldHVybiAtRU5PTUVNOworCisJbG9ja19rZXJuZWwoKTsKIAltZW1zZXQocHJpdiwgMCwgc2l6ZW9mKCpwcml2KSk7CiAKIAlwcml2LT5taW5vciA9IHA7CkBAIC00NDksNiArNDUxLDcgQEAKIAlhbGFybWxpc3QgPSBwcml2OwogCXNwaW5fdW5sb2NrX2lycSgmYWxhcm1fbG9jayk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIvZHJpdmVycy9zeW5jX3NlcmlhbC5jCmluZGV4IDQ3YzM3N2QuLmQyYTBmYmYgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9kcml2ZXJzL3N5bmNfc2VyaWFsLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2RyaXZlcnMvc3luY19zZXJpYWwuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNDI5LDIzICs0MzAsMjYgQEAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpbnQgZGV2ID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0ID0gLUVCVVNZOwogCXN5bmNfcG9ydCAqcG9ydDsKIAlyZWdfZG1hX3J3X2NmZyBjZmcgPSB7LmVuID0gcmVna19kbWFfeWVzfTsKIAlyZWdfZG1hX3J3X2ludHJfbWFzayBpbnRyX21hc2sgPSB7LmRhdGEgPSByZWdrX2RtYV95ZXN9OwogCisJbG9ja19rZXJuZWwoKTsKIAlERUJVRyhwcmludGsoS0VSTl9ERUJVRyAiT3BlbiBzeW5jIHNlcmlhbCBwb3J0ICVkXG4iLCBkZXYpKTsKIAogCWlmIChkZXYgPCAwIHx8IGRldiA+PSBOQlJfUE9SVFMgfHwgIXBvcnRzW2Rldl0uZW5hYmxlZCkKIAl7CiAJCURFQlVHKHByaW50ayhLRVJOX0RFQlVHICJJbnZhbGlkIG1pbm9yICVkXG4iLCBkZXYpKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAlwb3J0ID0gJnBvcnRzW2Rldl07CiAJLyogQWxsb3cgb3BlbiB0aGlzIGRldmljZSB0d2ljZSAoYXNzdW1pbmcgb25lIHJlYWRlciBhbmQgb25lIHdyaXRlcikgKi8KIAlpZiAocG9ydC0+YnVzeSA9PSAyKQogCXsKIAkJREVCVUcocHJpbnRrKEtFUk5fREVCVUcgIkRldmljZSBpcyBidXN5Li4gXG4iKSk7Ci0JCXJldHVybiAtRUJVU1k7CisJCWdvdG8gb3V0OwogCX0KIAogCkBAIC00NTksNyArNDYzLDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMCBkbWEgdHIiLAogCQkJCQkJJnBvcnRzWzBdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDAgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoRE1BX0lOX0lOVFJfVkVDVCwKIAkJCQkJCXJ4X2ludGVycnVwdCwKIAkJCQkJCTAsCkBAIC00NjcsNyArNDcxLDcgQEAKIAkJCQkJCSZwb3J0c1swXSkpIHsKIAkJCQkJZnJlZV9pcnEoRE1BX09VVF9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIElSUSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9IGVsc2UgaWYgKGNyaXN2MzJfcmVxdWVzdF9kbWEoT1VUX0RNQV9OQlIsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDAgZG1hIHRyIiwKIAkJCQkJCURNQV9WRVJCT1NFX09OX0VSUk9SLApAQCAtNDc2LDcgKzQ4MCw3IEBACiAJCQkJCWZyZWVfaXJxKERNQV9PVVRfSU5UUl9WRUNULCAmcG9ydFswXSk7CiAJCQkJCWZyZWVfaXJxKERNQV9JTl9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgcG9ydCAwIFRYIERNQSBjaGFubmVsIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYShJTl9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAwIGRtYSByZWMiLAogCQkJCQkJRE1BX1ZFUkJPU0VfT05fRVJST1IsCkBAIC00ODYsNyArNDkwLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BX09VVF9JTlRSX1ZFQ1QsICZwb3J0WzBdKTsKIAkJCQkJZnJlZV9pcnEoRE1BX0lOX0lOVFJfVkVDVCwgJnBvcnRbMF0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDEgUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQl9CkBAIC00OTksNyArNTAzLDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgMSBkbWEgdHIiLAogCQkJCQkJJnBvcnRzWzFdKSkgewogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDEgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAocmVxdWVzdF9pcnEoRE1BN19JTlRSX1ZFQ1QsCiAJCQkJCQkgICAgICAgcnhfaW50ZXJydXB0LAogCQkJCQkJICAgICAgIDAsCkBAIC01MDcsNyArNTExLDcgQEAKIAkJCQkJCSAgICAgICAmcG9ydHNbMV0pKSB7CiAJCQkJCWZyZWVfaXJxKERNQTZfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgSVJRIik7Ci0JCQkJCXJldHVybiAtRUJVU1k7CisJCQkJCWdvdG8gb3V0OwogCQkJCX0gZWxzZSBpZiAoY3Jpc3YzMl9yZXF1ZXN0X2RtYSgKIAkJCQkJCVNZTkNfU0VSMV9UWF9ETUFfTkJSLAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCAxIGRtYSB0ciIsCkBAIC01MTcsNyArNTIxLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BNl9JTlRSX1ZFQ1QsICZwb3J0c1sxXSk7CiAJCQkJCWZyZWVfaXJxKERNQTdfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgVFggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfSBlbHNlIGlmIChjcmlzdjMyX3JlcXVlc3RfZG1hKAogCQkJCQkJU1lOQ19TRVIxX1JYX0RNQV9OQlIsCiAJCQkJCQkic3luY2hyb25vdXMgc2VyaWFsIDMgZG1hIHJlYyIsCkBAIC01MjgsNyArNTMyLDcgQEAKIAkJCQkJZnJlZV9pcnEoRE1BNl9JTlRSX1ZFQ1QsICZwb3J0c1sxXSk7CiAJCQkJCWZyZWVfaXJxKERNQTdfSU5UUl9WRUNULCAmcG9ydHNbMV0pOwogCQkJCQlwcmludGsoS0VSTl9DUklUICJDYW4ndCBhbGxvY2F0ZSBzeW5jIHNlcmlhbCBwb3J0IDMgUlggRE1BIGNoYW5uZWwiKTsKLQkJCQkJcmV0dXJuIC1FQlVTWTsKKwkJCQkJZ290byBvdXQ7CiAJCQkJfQogI2VuZGlmCiAJCQl9CkBAIC01NTQsNyArNTU4LDcgQEAKIAkJCQkJCSJzeW5jaHJvbm91cyBzZXJpYWwgbWFudWFsIGlycSIsCiAJCQkJCQkmcG9ydHNbMF0pKSB7CiAJCQkJCXByaW50aygiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9CiAjaWZkZWYgQ09ORklHX0VUUkFYRlMKQEAgLTU2NSw3ICs1NjksNyBAQAogCQkJCQkJInN5bmNocm9ub3VzIHNlcmlhbCBtYW51YWwgaXJxIiwKIAkJCQkJCSZwb3J0c1sxXSkpIHsKIAkJCQkJcHJpbnRrKEtFUk5fQ1JJVCAiQ2FuJ3QgYWxsb2NhdGUgc3luYyBzZXJpYWwgbWFudWFsIGlycSIpOwotCQkJCQlyZXR1cm4gLUVCVVNZOworCQkJCQlnb3RvIG91dDsKIAkJCQl9CiAJCQl9CiAjZW5kaWYKQEAgLTU3OCw3ICs1ODIsMTAgQEAKIAl9IC8qIHBvcnQtPmluaXRfaXJxcyAqLwogCiAJcG9ydC0+YnVzeSsrOwotCXJldHVybiAwOworCXJldCA9IDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgc3luY19zZXJpYWxfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMgYi9hcmNoL2NyaXMvYXJjaC12MzIva2VybmVsL3NtcC5jCmluZGV4IGE5YzMzMzQuLjk1MmEyNGIgMTAwNjQ0Ci0tLSBhL2FyY2gvY3Jpcy9hcmNoLXYzMi9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9jcmlzL2FyY2gtdjMyL2tlcm5lbC9zbXAuYwpAQCAtMTk0LDcgKzE5NCw3IEBACiAvKiBPdGhlciBjYWxscyAqLwogdm9pZCBzbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMSwgMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oc3RvcF90aGlzX2NwdSwgTlVMTCwgMCk7CiB9CiAKIGludCBzZXR1cF9wcm9maWxpbmdfdGltZXIodW5zaWduZWQgaW50IG11bHRpcGxpZXIpCkBAIC0zMTYsOCArMzE2LDcgQEAKICAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQogICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCiAgKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCSAgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQoraW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJY3B1bWFza190IGNwdV9tYXNrID0gQ1BVX01BU0tfQUxMOwogCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvS2NvbmZpZyBiL2FyY2gvaWE2NC9LY29uZmlnCmluZGV4IDE2YmU0MTQuLjE4YmNjMTAgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9LY29uZmlnCisrKyBiL2FyY2gvaWE2NC9LY29uZmlnCkBAIC0zMDMsNiArMzAzLDcgQEAKIAogY29uZmlnIFNNUAogCWJvb2wgIlN5bW1ldHJpYyBtdWx0aS1wcm9jZXNzaW5nIHN1cHBvcnQiCisJc2VsZWN0IFVTRV9HRU5FUklDX1NNUF9IRUxQRVJTCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHN5c3RlbXMgd2l0aCBtb3JlIHRoYW4gb25lIENQVS4gSWYgeW91IGhhdmUKIAkgIGEgc3lzdGVtIHdpdGggb25seSBvbmUgQ1BVLCBzYXkgTi4gIElmIHlvdSBoYXZlIGEgc3lzdGVtIHdpdGggbW9yZQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYyBiL2FyY2gvaWE2NC9rZXJuZWwvbWNhLmMKaW5kZXggNzA1MTc2Yi4uN2RkOTZjMSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9tY2EuYworKysgYi9hcmNoL2lhNjQva2VybmVsL21jYS5jCkBAIC03MDcsNyArNzA3LDcgQEAKIHN0YXRpYyB2b2lkCiBpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGVfa2V2ZW50ZChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKnVudXNlZCkKIHsKLQlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2Rpc2FibGUsIE5VTEwsIDEsIDApOworCW9uX2VhY2hfY3B1KGlhNjRfbWNhX2NtY192ZWN0b3JfZGlzYWJsZSwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC03MTksNyArNzE5LDcgQEAKIHN0YXRpYyB2b2lkCiBpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZV9rZXZlbnRkKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQogewotCW9uX2VhY2hfY3B1KGlhNjRfbWNhX2NtY192ZWN0b3JfZW5hYmxlLCBOVUxMLCAxLCAwKTsKKwlvbl9lYWNoX2NwdShpYTY0X21jYV9jbWNfdmVjdG9yX2VuYWJsZSwgTlVMTCwgMCk7CiB9CiAKIC8qCkBAIC0xODgxLDcgKzE4ODEsNyBAQAogCWNhc2UgQ1BVX09OTElORToKIAljYXNlIENQVV9PTkxJTkVfRlJPWkVOOgogCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaG90Y3B1LCBpYTY0X21jYV9jbWNfdmVjdG9yX2FkanVzdCwKLQkJCQkJIE5VTEwsIDEsIDApOworCQkJCQkgTlVMTCwgMCk7CiAJCWJyZWFrOwogCX0KIAlyZXR1cm4gTk9USUZZX09LOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wYWxpbmZvLmMgYi9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYwppbmRleCA5ZGMwMGY3Li5lNWM1N2Y0IDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYworKysgYi9hcmNoL2lhNjQva2VybmVsL3BhbGluZm8uYwpAQCAtOTIxLDcgKzkyMSw3IEBACiAKIAogCS8qIHdpbGwgc2VuZCBJUEkgdG8gb3RoZXIgQ1BVIGFuZCB3YWl0IGZvciBjb21wbGV0aW9uIG9mIHJlbW90ZSBjYWxsICovCi0JaWYgKChyZXQ9c21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGYtPnJlcV9jcHUsIHBhbGluZm9fc21wX2NhbGwsICZwdHIsIDAsIDEpKSkgeworCWlmICgocmV0PXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShmLT5yZXFfY3B1LCBwYWxpbmZvX3NtcF9jYWxsLCAmcHRyLCAxKSkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJwYWxpbmZvOiByZW1vdGUgQ1BVIGNhbGwgZnJvbSAlZCB0byAlZCBvbiBmdW5jdGlvbiAlZDogIgogCQkgICAgICAgImVycm9yICVkXG4iLCBzbXBfcHJvY2Vzc29yX2lkKCksIGYtPnJlcV9jcHUsIGYtPmZ1bmNfaWQsIHJldCk7CiAJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9wZXJmbW9uLmMgYi9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYwppbmRleCA3NzE0YTk3Li4xOWQ0NDkzIDEwMDY0NAotLS0gYS9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYworKysgYi9hcmNoL2lhNjQva2VybmVsL3BlcmZtb24uYwpAQCAtMTgyMCw3ICsxODIwLDcgQEAKIAlpbnQgcmV0OwogCiAJRFBSSU5UKCgiY2FsbGluZyBDUFUlZCBmb3IgY2xlYW51cFxuIiwgY3R4LT5jdHhfY3B1KSk7Ci0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGN0eC0+Y3R4X2NwdSwgcGZtX3N5c3dpZGVfZm9yY2Vfc3RvcCwgY3R4LCAwLCAxKTsKKwlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3R4LT5jdHhfY3B1LCBwZm1fc3lzd2lkZV9mb3JjZV9zdG9wLCBjdHgsIDEpOwogCURQUklOVCgoImNhbGxlZCBDUFUlZCBmb3IgY2xlYW51cCByZXQ9JWRcbiIsIGN0eC0+Y3R4X2NwdSwgcmV0KSk7CiB9CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwpAQCAtNjUwOCw3ICs2NTA4LDcgQEAKIAl9CiAKIAkvKiBzYXZlIHRoZSBjdXJyZW50IHN5c3RlbSB3aWRlIHBtdSBzdGF0ZXMgKi8KLQlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3NhdmVfcG11X3N0YXRlLCBOVUxMLCAwLCAxKTsKKwlyZXQgPSBvbl9lYWNoX2NwdShwZm1fYWx0X3NhdmVfcG11X3N0YXRlLCBOVUxMLCAxKTsKIAlpZiAocmV0KSB7CiAJCURQUklOVCgoIm9uX2VhY2hfY3B1KCkgZmFpbGVkOiAlZFxuIiwgcmV0KSk7CiAJCWdvdG8gY2xlYW51cF9yZXNlcnZlOwpAQCAtNjU1Myw3ICs2NTUzLDcgQEAKIAogCXBmbV9hbHRfaW50cl9oYW5kbGVyID0gTlVMTDsKIAotCXJldCA9IG9uX2VhY2hfY3B1KHBmbV9hbHRfcmVzdG9yZV9wbXVfc3RhdGUsIE5VTEwsIDAsIDEpOworCXJldCA9IG9uX2VhY2hfY3B1KHBmbV9hbHRfcmVzdG9yZV9wbXVfc3RhdGUsIE5VTEwsIDEpOwogCWlmIChyZXQpIHsKIAkJRFBSSU5UKCgib25fZWFjaF9jcHUoKSBmYWlsZWQ6ICVkXG4iLCByZXQpKTsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCmluZGV4IGEzYTM0YjQuLmZhYmFmMDggMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvcHJvY2Vzcy5jCkBAIC0yODYsNyArMjg2LDcgQEAKIHsKIAlzbXBfbWIoKTsKIAkvKiBraWNrIGFsbCB0aGUgQ1BVcyBzbyB0aGF0IHRoZXkgZXhpdCBvdXQgb2YgcG1faWRsZSAqLwotCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGRvX25vdGhpbmcsIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2lkbGVfd2FpdCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMgYi9hcmNoL2lhNjQva2VybmVsL3NtcC5jCmluZGV4IDk4MzI5NmYuLjM2NzY0NjggMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXAuYwpAQCAtNjAsMjUgKzYwLDkgQEAKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGludCwgc2hhZG93X2ZsdXNoX2NvdW50c1tOUl9DUFVTXSkgX19fX2NhY2hlbGluZV9hbGlnbmVkOwogCi0KLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2Ugc3RhdGljIG1lbW9yeQotICogcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyAgX19jYWNoZWxpbmVfYWxpZ25lZCBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlsb25nIHdhaXQ7Ci0JYXRvbWljX3Qgc3RhcnRlZDsKLQlhdG9taWNfdCBmaW5pc2hlZDsKLX07Ci0KLXN0YXRpYyB2b2xhdGlsZSBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOwotCiAjZGVmaW5lIElQSV9DQUxMX0ZVTkMJCTAKICNkZWZpbmUgSVBJX0NQVV9TVE9QCQkxCisjZGVmaW5lIElQSV9DQUxMX0ZVTkNfU0lOR0xFCTIKICNkZWZpbmUgSVBJX0tEVU1QX0NQVV9TVE9QCTMKIAogLyogVGhpcyBuZWVkcyB0byBiZSBjYWNoZWxpbmUgYWxpZ25lZCBiZWNhdXNlIGl0IGlzIHdyaXR0ZW4gdG8gYnkgKm90aGVyKiBDUFVzLiAgKi8KQEAgLTg2LDQzICs3MCw2IEBACiAKIGV4dGVybiB2b2lkIGNwdV9oYWx0ICh2b2lkKTsKIAotdm9pZAotbG9ja19pcGlfY2FsbGxvY2sodm9pZCkKLXsKLQlzcGluX2xvY2tfaXJxKCZjYWxsX2xvY2spOwotfQotCi12b2lkCi11bmxvY2tfaXBpX2NhbGxsb2NrKHZvaWQpCi17Ci0Jc3Bpbl91bmxvY2tfaXJxKCZjYWxsX2xvY2spOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLWhhbmRsZV9jYWxsX2RhdGEodm9pZCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqZGF0YTsKLQl2b2lkICgqZnVuYykodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlpbnQgd2FpdDsKLQotCS8qIHJlbGVhc2UgdGhlICdwb2ludGVyIGxvY2snICovCi0JZGF0YSA9IChzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqKWNhbGxfZGF0YTsKLQlmdW5jID0gZGF0YS0+ZnVuYzsKLQlpbmZvID0gZGF0YS0+aW5mbzsKLQl3YWl0ID0gZGF0YS0+d2FpdDsKLQotCW1iKCk7Ci0JYXRvbWljX2luYygmZGF0YS0+c3RhcnRlZCk7Ci0JLyogQXQgdGhpcyBwb2ludCB0aGUgc3RydWN0dXJlIG1heSBiZSBnb25lIHVubGVzcyB3YWl0IGlzIHRydWUuICovCi0JKCpmdW5jKShpbmZvKTsKLQotCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUgdGFzayBpcyBkb25lLiAqLwotCW1iKCk7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19pbmMoJmRhdGEtPmZpbmlzaGVkKTsKLX0KLQogc3RhdGljIHZvaWQKIHN0b3BfdGhpc19jcHUodm9pZCkKIHsKQEAgLTE2MywxMyArMTEwLDE1IEBACiAJCQlvcHMgJj0gfigxIDw8IHdoaWNoKTsKIAogCQkJc3dpdGNoICh3aGljaCkgewotCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgotCQkJCWhhbmRsZV9jYWxsX2RhdGEoKTsKLQkJCQlicmVhazsKLQogCQkJY2FzZSBJUElfQ1BVX1NUT1A6CiAJCQkJc3RvcF90aGlzX2NwdSgpOwogCQkJCWJyZWFrOworCQkJY2FzZSBJUElfQ0FMTF9GVU5DOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCQkJYnJlYWs7CisJCQljYXNlIElQSV9DQUxMX0ZVTkNfU0lOR0xFOgorCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCQkJCWJyZWFrOwogI2lmZGVmIENPTkZJR19LRVhFQwogCQkJY2FzZSBJUElfS0RVTVBfQ1BVX1NUT1A6CiAJCQkJdW53X2luaXRfcnVubmluZyhrZHVtcF9jcHVfZnJlZXplLCBOVUxMKTsKQEAgLTE4Nyw2ICsxMzYsOCBAQAogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAorCisKIC8qCiAgKiBDYWxsZWQgd2l0aCBwcmVlbXB0aW9uIGRpc2FibGVkLgogICovCkBAIC0zMzQsNyArMjg1LDcgQEAKIHZvaWQKIHNtcF9mbHVzaF90bGJfYWxsICh2b2lkKQogewotCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KCh2b2lkICgqKSh2b2lkICopKWxvY2FsX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCiB2b2lkCkBAIC0zNTcsMTkzICszMDgsMTggQEAKIAkgKiBhbnlob3csIGFuZCBvbmNlIGEgQ1BVIGlzIGludGVycnVwdGVkLCB0aGUgY29zdCBvZiBsb2NhbF9mbHVzaF90bGJfYWxsKCkgaXMKIAkgKiByYXRoZXIgdHJpdmlhbC4KIAkgKi8KLQlvbl9lYWNoX2NwdSgodm9pZCAoKikodm9pZCAqKSlsb2NhbF9maW5pc2hfZmx1c2hfdGxiX21tLCBtbSwgMSwgMSk7CisJb25fZWFjaF9jcHUoKHZvaWQgKCopKHZvaWQgKikpbG9jYWxfZmluaXNoX2ZsdXNoX3RsYl9tbSwgbW0sIDEpOwogfQogCi0vKgotICogUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKLSAqICA8ZnVuYz4JVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgPG5vbmF0b21pYz4JQ3VycmVudGx5IHVudXNlZC4KLSAqICA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHRoZSByZW1vdGUgQ1BVIGlzIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPgotICogb3IgaXMgb3IgaGFzIGV4ZWN1dGVkLgotICovCi0KLWludAotc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIChpbnQgY3B1aWQsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQkgIGludCB3YWl0KQordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cyA9IDE7Ci0JaW50IG1lID0gZ2V0X2NwdSgpOyAvKiBwcmV2ZW50IHByZWVtcHRpb24gYW5kIHJlc2NoZWR1bGUgb24gYW5vdGhlciBwcm9jZXNzb3IgKi8KLQotCWlmIChjcHVpZCA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQlzcGluX2xvY2tfYmgoJmNhbGxfbG9jayk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwkvKiBlbnN1cmUgc3RvcmUgdG8gY2FsbF9kYXRhIHByZWNlZGVzIHNldHRpbmcgb2YgSVBJX0NBTExfRlVOQyAqLwotICAJc2VuZF9JUElfc2luZ2xlKGNwdWlkLCBJUElfQ0FMTF9GVU5DKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCWNhbGxfZGF0YSA9IE5VTEw7Ci0KLQlzcGluX3VubG9ja19iaCgmY2FsbF9sb2NrKTsKLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIDA7CisJc2VuZF9JUElfc2luZ2xlKGNwdSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwogCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KLSAqIDxtYXNrPglUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLiAgTXVzdCBub3QgaW5jbHVkZSB0aGUgY3VycmVudCBjcHUuCi0gKiA8ZnVuYz4gCVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiA8aW5mbz4JQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24KLSAqCQloYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQotICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywKLQkJCSAgIHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICppbmZvLAotCQkJICAgaW50IHdhaXQpCit2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzaykKIHsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWNwdW1hc2tfdCBhbGxidXRzZWxmOwotCWludCBjcHVzOwotCi0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCWFsbGJ1dHNlbGYgPSBjcHVfb25saW5lX21hcDsKLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBhbGxidXRzZWxmKTsKLQotCWNwdXNfYW5kKG1hc2ssIG1hc2ssIGFsbGJ1dHNlbGYpOwotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7IC8qIGVuc3VyZSBzdG9yZSB0byBjYWxsX2RhdGEgcHJlY2VkZXMgc2V0dGluZyBvZiBJUElfQ0FMTF9GVU5DKi8KLQotCS8qIFNlbmQgYSBtZXNzYWdlIHRvIG90aGVyIENQVXMgKi8KLQlpZiAoY3B1c19lcXVhbChtYXNrLCBhbGxidXRzZWxmKSkKLQkJc2VuZF9JUElfYWxsYnV0c2VsZihJUElfQ0FMTF9GVU5DKTsKLQllbHNlCi0JCXNlbmRfSVBJX21hc2sobWFzaywgSVBJX0NBTExfRlVOQyk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCi0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JcmV0dXJuIDA7Ci0KKwlzZW5kX0lQSV9tYXNrKG1hc2ssIElQSV9DQUxMX0ZVTkMpOwogfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKTsKLQotLyoKLSAqIHRoaXMgZnVuY3Rpb24gc2VuZHMgYSAnZ2VuZXJpYyBjYWxsIGZ1bmN0aW9uJyBJUEkgdG8gYWxsIG90aGVyIENQVXMKLSAqIGluIHRoZSBzeXN0ZW0uCi0gKi8KLQotLyoKLSAqICBbU1VNTUFSWV0JUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxub25hdG9taWM+CWN1cnJlbnRseSB1bnVzZWQuCi0gKiAgPHdhaXQ+CUlmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqICBbUkVUVVJOU10gICAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBEb2VzIG5vdCByZXR1cm4gdW50aWwgcmVtb3RlIENQVXMgYXJlIG5lYXJseSByZWFkeSB0byBleGVjdXRlIDxmdW5jPiBvciBhcmUgb3IgaGF2ZQotICogZXhlY3V0ZWQuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbiAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1czsKLQotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCWlmICghY3B1cykgewotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0JbWIoKTsJLyogZW5zdXJlIHN0b3JlIHRvIGNhbGxfZGF0YSBwcmVjZWRlcyBzZXR0aW5nIG9mIElQSV9DQUxMX0ZVTkMgKi8KLQlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9DQUxMX0ZVTkMpOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJY3B1X3JlbGF4KCk7Ci0KLQlpZiAod2FpdCkKLQkJd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKQotCQkJY3B1X3JlbGF4KCk7Ci0JY2FsbF9kYXRhID0gTlVMTDsKLQotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7CiAKIC8qCiAgKiB0aGlzIGZ1bmN0aW9uIGNhbGxzIHRoZSAnc3RvcCcgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMgaW4gdGhlIHN5c3RlbS4KZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9rZXJuZWwvc21wYm9vdC5jIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKaW5kZXggZDdhZDQyYi4uOWQxZDQyOSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC9pYTY0L2tlcm5lbC9zbXBib290LmMKQEAgLTMxNyw3ICszMTcsNyBAQAogCiAJZ29bTUFTVEVSXSA9IDE7CiAKLQlpZiAoc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKG1hc3Rlciwgc3luY19tYXN0ZXIsIE5VTEwsIDEsIDApIDwgMCkgeworCWlmIChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUobWFzdGVyLCBzeW5jX21hc3RlciwgTlVMTCwgMCkgPCAwKSB7CiAJCXByaW50ayhLRVJOX0VSUiAic3luY19pdGM6IGZhaWxlZCB0byBnZXQgYXR0ZW50aW9uIG9mIENQVSAldSFcbiIsIG1hc3Rlcik7CiAJCXJldHVybjsKIAl9CkBAIC0zOTUsMTQgKzM5NSwxNCBAQAogCiAJZml4X2IwX2Zvcl9ic3AoKTsKIAotCWxvY2tfaXBpX2NhbGxsb2NrKCk7CisJaXBpX2NhbGxfbG9ja19pcnEoKTsKIAlzcGluX2xvY2soJnZlY3Rvcl9sb2NrKTsKIAkvKiBTZXR1cCB0aGUgcGVyIGNwdSBpcnEgaGFuZGxpbmcgZGF0YSBzdHJ1Y3R1cmVzICovCiAJX19zZXR1cF92ZWN0b3JfaXJxKGNwdWlkKTsKIAljcHVfc2V0KGNwdWlkLCBjcHVfb25saW5lX21hcCk7CiAJcGVyX2NwdShjcHVfc3RhdGUsIGNwdWlkKSA9IENQVV9PTkxJTkU7CiAJc3Bpbl91bmxvY2soJnZlY3Rvcl9sb2NrKTsKLQl1bmxvY2tfaXBpX2NhbGxsb2NrKCk7CisJaXBpX2NhbGxfdW5sb2NrX2lycSgpOwogCiAJc21wX3NldHVwX3BlcmNwdV90aW1lcigpOwogCmRpZmYgLS1naXQgYS9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMgYi9hcmNoL2lhNjQva2VybmVsL3VuY2FjaGVkLmMKaW5kZXggZTc3OTk1YS4uOGVmZjhjMSAxMDA2NDQKLS0tIGEvYXJjaC9pYTY0L2tlcm5lbC91bmNhY2hlZC5jCisrKyBiL2FyY2gvaWE2NC9rZXJuZWwvdW5jYWNoZWQuYwpAQCAtMTIzLDggKzEyMyw3IEBACiAJc3RhdHVzID0gaWE2NF9wYWxfcHJlZmV0Y2hfdmlzaWJpbGl0eShQQUxfVklTSUJJTElUWV9QSFlTSUNBTCk7CiAJaWYgKHN0YXR1cyA9PSBQQUxfVklTSUJJTElUWV9PS19SRU1PVEVfTkVFREVEKSB7CiAJCWF0b21pY19zZXQoJnVjX3Bvb2wtPnN0YXR1cywgMCk7Ci0JCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV92aXNpYmlsaXR5LCB1Y19wb29sLAotCQkJCQkgICAwLCAxKTsKKwkJc3RhdHVzID0gc21wX2NhbGxfZnVuY3Rpb24odW5jYWNoZWRfaXBpX3Zpc2liaWxpdHksIHVjX3Bvb2wsIDEpOwogCQlpZiAoc3RhdHVzIHx8IGF0b21pY19yZWFkKCZ1Y19wb29sLT5zdGF0dXMpKQogCQkJZ290byBmYWlsZWQ7CiAJfSBlbHNlIGlmIChzdGF0dXMgIT0gUEFMX1ZJU0lCSUxJVFlfT0spCkBAIC0xNDYsNyArMTQ1LDcgQEAKIAlpZiAoc3RhdHVzICE9IFBBTF9TVEFUVVNfU1VDQ0VTUykKIAkJZ290byBmYWlsZWQ7CiAJYXRvbWljX3NldCgmdWNfcG9vbC0+c3RhdHVzLCAwKTsKLQlzdGF0dXMgPSBzbXBfY2FsbF9mdW5jdGlvbih1bmNhY2hlZF9pcGlfbWNfZHJhaW4sIHVjX3Bvb2wsIDAsIDEpOworCXN0YXR1cyA9IHNtcF9jYWxsX2Z1bmN0aW9uKHVuY2FjaGVkX2lwaV9tY19kcmFpbiwgdWNfcG9vbCwgMSk7CiAJaWYgKHN0YXR1cyB8fCBhdG9taWNfcmVhZCgmdWNfcG9vbC0+c3RhdHVzKSkKIAkJZ290byBmYWlsZWQ7CiAKZGlmZiAtLWdpdCBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMgYi9hcmNoL2lhNjQvc24va2VybmVsL2lycS5jCmluZGV4IDUzMzUxYzMuLjk2YzMxYjQgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvaXJxLmMKKysrIGIvYXJjaC9pYTY0L3NuL2tlcm5lbC9pcnEuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxhc20vc24vYWRkcnMuaD4KICNpbmNsdWRlIDxhc20vc24vYXJjaC5oPgogI2luY2x1ZGUgPGFzbS9zbi9pbnRyLmg+CmRpZmYgLS1naXQgYS9hcmNoL2lhNjQvc24va2VybmVsL3NuMi9zbl9od3BlcmYuYyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCmluZGV4IDhjYzBjNDcuLjYzNjU4OGUgMTAwNjQ0Ci0tLSBhL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCisrKyBiL2FyY2gvaWE2NC9zbi9rZXJuZWwvc24yL3NuX2h3cGVyZi5jCkBAIC02MjksNyArNjI5LDcgQEAKIAkJaWYgKHVzZV9pcGkpIHsKIAkJCS8qIHVzZSBhbiBpbnRlcnByb2Nlc3NvciBpbnRlcnJ1cHQgdG8gY2FsbCBTQUwgKi8KIAkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIHNuX2h3cGVyZl9jYWxsX3NhbCwKLQkJCQlvcF9pbmZvLCAxLCAxKTsKKwkJCQlvcF9pbmZvLCAxKTsKIAkJfQogCQllbHNlIHsKIAkJCS8qIG1pZ3JhdGUgdGhlIHRhc2sgYmVmb3JlIGNhbGxpbmcgU0FMICovIApkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL0tjb25maWcgYi9hcmNoL20zMnIvS2NvbmZpZwppbmRleCBkZTE1M2RlLi5hNWY4NjRjIDEwMDY0NAotLS0gYS9hcmNoL20zMnIvS2NvbmZpZworKysgYi9hcmNoL20zMnIvS2NvbmZpZwpAQCAtMjk2LDYgKzI5Niw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL20zMnIva2VybmVsL20zMnJfa3N5bXMuYyBiL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCmluZGV4IGU2NzA5ZmUuLjE2YmNiMTggMTAwNjQ0Ci0tLSBhL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCisrKyBiL2FyY2gvbTMyci9rZXJuZWwvbTMycl9rc3ltcy5jCkBAIC00Myw5ICs0Myw2IEBACiAjZW5kaWYKIEVYUE9SVF9TWU1CT0woY3B1X2RhdGEpOwogCi0vKiBHbG9iYWwgU01QIHN0dWZmICovCi1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uKTsKLQogLyogVExCIGZsdXNoaW5nICovCiBFWFBPUlRfU1lNQk9MKHNtcF9mbHVzaF90bGJfcGFnZSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvbTMyci9rZXJuZWwvc21wLmMgYi9hcmNoL20zMnIva2VybmVsL3NtcC5jCmluZGV4IGM4MzdiYzEzLi43NTc3Zjk3IDEwMDY0NAotLS0gYS9hcmNoL20zMnIva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvbTMyci9rZXJuZWwvc21wLmMKQEAgLTM1LDIyICszNSw2IEBACiAvKj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSovCiAKIC8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfSBfX2F0dHJpYnV0ZV9fICgoX19hbGlnbmVkX18oU01QX0NBQ0hFX0JZVEVTKSkpOwotCi1zdGF0aWMgc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKLQotLyoKICAqIEZvciBmbHVzaF9jYWNoZV9hbGwoKQogICovCiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZsdXNoY2FjaGVfbG9jayk7CkBAIC05Niw5ICs4MCw2IEBACiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCk7CiBzdGF0aWMgdm9pZCBzdG9wX3RoaXNfY3B1KHZvaWQgKik7CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqKSAodm9pZCAqKSwgdm9pZCAqLCBpbnQsIGludCk7Ci12b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKLQogdm9pZCBzbXBfc2VuZF90aW1lcih2b2lkKTsKIHZvaWQgc21wX2lwaV90aW1lcl9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKik7CiB2b2lkIHNtcF9sb2NhbF90aW1lcl9pbnRlcnJ1cHQodm9pZCk7CkBAIC0yMzEsNyArMjEyLDcgQEAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJX19mbHVzaF90bGJfYWxsKCk7CiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfYWxsX2lwaSwgTlVMTCwgMSk7CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIApAQCAtNTI0LDcgKzUwNSw3IEBACiAgKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgpAQCAtNTY1LDg2ICs1NDYsMTQgQEAKIAlmb3IgKCA7IDsgKTsKIH0KIAotLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwotLyogQ2FsbCBmdW5jdGlvbiBSb3V0aW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwotCi0vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KgotICogTmFtZTogICAgICAgICBzbXBfY2FsbF9mdW5jdGlvbgotICoKLSAqIERlc2NyaXB0aW9uOiAgVGhpcyByb3V0aW5lIHNlbmRzIGEgJ0NBTExfRlVOQ1RJT05fSVBJJyB0byBhbGwgb3RoZXIgQ1BVcwotICogICAgICAgICAgICAgICBpbiB0aGUgc3lzdGVtLgotICoKLSAqIEJvcm4gb24gRGF0ZTogMjAwMi4wMi4wNQotICoKLSAqIEFyZ3VtZW50czogICAgKmZ1bmMgLSBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQKLSAqICAgICAgICAgICAgICAgICAgICAgICBub24tYmxvY2tpbmcuCi0gKiAgICAgICAgICAgICAgICppbmZvIC0gQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiAgICAgICAgICAgICAgIG5vbmF0b21pYyAtIGN1cnJlbnRseSB1bnVzZWQuCi0gKiAgICAgICAgICAgICAgIHdhaXQgLSBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMKLSAqICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnM6ICAgICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuIERvZXMgbm90IHJldHVybgotICogICAgICAgICAgICAgICB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPDxmdW5jPj4gb3IKLSAqICAgICAgICAgICAgICAgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKgotICogQ2F1dGlvbnM6ICAgICBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvcgotICogICAgICAgICAgICAgICBmcm9tIGEgaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIsIHlvdSBtYXkgY2FsbCBpdCBmcm9tIGEKLSAqICAgICAgICAgICAgICAgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqCi0gKiBNb2RpZmljYXRpb24gbG9nOgotICogRGF0ZSAgICAgICBXaG8gRGVzY3JpcHRpb24KLSAqIC0tLS0tLS0tLS0gLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKgotICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQlpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdXM7CisJc2VuZF9JUElfbWFzayhtYXNrLCBDQUxMX0ZVTkNUSU9OX0lQSSwgMCk7Cit9CiAKLSNpZmRlZiBERUJVR19TTVAKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCV9fc2F2ZV9mbGFncyhmbGFncyk7Ci0JaWYgKCEoZmxhZ3MgJiAweDAwNDApKQkvKiBJbnRlcnJ1cHQgRGlzYWJsZSBOT05PTk8gKi8KLQkJQlVHKCk7Ci0jZW5kaWYgLyogREVCVUdfU01QICovCi0KLQkvKiBIb2xkaW5nIGFueSBsb2NrIHN0b3BzIGNwdXMgZnJvbSBnb2luZyBkb3duLiAqLwotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQljcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCi0JaWYgKCFjcHVzKSB7Ci0JCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQltYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoQ0FMTF9GVU5DVElPTl9JUEksIDApOwotCi0JLyogV2FpdCBmb3IgcmVzcG9uc2UgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWJhcnJpZXIoKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBDQUxMX0ZVTkNfU0lOR0xFX0lQSSwgMCk7CiB9CiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qCkBAIC02NjYsMjcgKzU3NSwxNiBAQAogICo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQogewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbykgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQlpbnQgd2FpdCA9IGNhbGxfZGF0YS0+d2FpdDsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JbWIoKTsKLQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPnN0YXJ0ZWQpOwotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MQotCSAqLwogCWlycV9lbnRlcigpOwotCSgqZnVuYykoaW5mbyk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQoKTsKIAlpcnFfZXhpdCgpOworfQogCi0JaWYgKHdhaXQpIHsKLQkJbWIoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQordm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpCit7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJaXJxX2V4aXQoKTsKIH0KIAogLyo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qPSo9Kj0qLwpkaWZmIC0tZ2l0IGEvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jIGIvYXJjaC9tMzJyL2tlcm5lbC90cmFwcy5jCmluZGV4IDg5YmE0YTAuLjQ2MTU5YTQgMTAwNjQ0Ci0tLSBhL2FyY2gvbTMyci9rZXJuZWwvdHJhcHMuYworKysgYi9hcmNoL20zMnIva2VybmVsL3RyYXBzLmMKQEAgLTQwLDYgKzQwLDcgQEAKIGV4dGVybiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKTsKIGV4dGVybiB2b2lkIHNtcF9pcGlfdGltZXJfaW50ZXJydXB0KHZvaWQpOwogZXh0ZXJuIHZvaWQgc21wX2ZsdXNoX2NhY2hlX2FsbF9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpOwogCiAvKgogICogZm9yIEJvb3QgQVAgZnVuY3Rpb24KQEAgLTEwMyw3ICsxMDQsNyBAQAogCWVpdF92ZWN0b3JbMTg2XSA9ICh1bnNpZ25lZCBsb25nKXNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdDsKIAllaXRfdmVjdG9yWzE4N10gPSAodW5zaWduZWQgbG9uZylzbXBfaXBpX3RpbWVyX2ludGVycnVwdDsKIAllaXRfdmVjdG9yWzE4OF0gPSAodW5zaWduZWQgbG9uZylzbXBfZmx1c2hfY2FjaGVfYWxsX2ludGVycnVwdDsKLQllaXRfdmVjdG9yWzE4OV0gPSAwOworCWVpdF92ZWN0b3JbMTg5XSA9ICh1bnNpZ25lZCBsb25nKXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQ7CiAJZWl0X3ZlY3RvclsxOTBdID0gMDsKIAllaXRfdmVjdG9yWzE5MV0gPSAwOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMgYi9hcmNoL202OGsvYnZtZTYwMDAvcnRjLmMKaW5kZXggYTgxMmQwMy4uZThhYzNmNyAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2J2bWU2MDAwL3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9idm1lNjAwMC9ydGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9mY250bC5oPgpAQCAtMTQwLDEwICsxNDEsMTQgQEAKIAogc3RhdGljIGludCBydGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZihydGNfc3RhdHVzKQorCWxvY2tfa2VybmVsKCk7CisJaWYocnRjX3N0YXR1cykgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJcnRjX3N0YXR1cyA9IDE7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL202OGsvbXZtZTE2eC9ydGMuYyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCmluZGV4IGUzNDEzODcuLjQzMmE5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCisrKyBiL2FyY2gvbTY4ay9tdm1lMTZ4L3J0Yy5jCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CkBAIC0xMjcsMTEgKzEyOCwxNCBAQAogCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJaWYoICFhdG9taWNfZGVjX2FuZF90ZXN0KCZydGNfcmVhZHkpICkKIAl7CiAJCWF0b21pY19pbmMoICZydGNfcmVhZHkgKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9LY29uZmlnIGIvYXJjaC9taXBzL0tjb25maWcKaW5kZXggMjRjNWRlZS4uZDJiZTNmZiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL0tjb25maWcKKysrIGIvYXJjaC9taXBzL0tjb25maWcKQEAgLTE3NjMsNiArMTc2Myw3IEBACiAJYm9vbCAiTXVsdGktUHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gU1lTX1NVUFBPUlRTX1NNUAogCXNlbGVjdCBJUlFfUEVSX0NQVQorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL21pcHMvYmFzbGVyL2V4Y2l0ZS9leGNpdGVfaW9kZXYuYyBiL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCmluZGV4IDQ3NmQyMGUuLmExZTM1MjYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCisrKyBiL2FyY2gvbWlwcy9iYXNsZXIvZXhjaXRlL2V4Y2l0ZV9pb2Rldi5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlICJleGNpdGVfaW9kZXYuaCIKIApAQCAtMTEwLDggKzExMSwxNCBAQAogCiBzdGF0aWMgaW50IGlvZGV2X29wZW4oc3RydWN0IGlub2RlICppLCBzdHJ1Y3QgZmlsZSAqZikKIHsKLQlyZXR1cm4gcmVxdWVzdF9pcnEoaW9kZXZfaXJxLCBpb2Rldl9pcnFoZGwsIElSUUZfRElTQUJMRUQsCisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gcmVxdWVzdF9pcnEoaW9kZXZfaXJxLCBpb2Rldl9pcnFoZGwsIElSUUZfRElTQUJMRUQsCiAJCQkgICBpb2Rldl9uYW1lLCAmbWlzY2Rldik7CisJdW5sb2NrX2tlcm5lbCgpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBpb2Rldl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaSwgc3RydWN0IGZpbGUgKmYpCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL2lycS1ybTkwMDAuYyBiL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCmluZGV4IGVkOWZlYmUuLmI0N2U0NjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvaXJxLXJtOTAwMC5jCkBAIC00OSw3ICs0OSw3IEBACiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgcm05a19wZXJmY291bnRlcl9pcnFfc3RhcnR1cCh1bnNpZ25lZCBpbnQgaXJxKQogewotCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3N0YXJ0dXAsICh2b2lkICopIGlycSwgMCwgMSk7CisJb25fZWFjaF9jcHUobG9jYWxfcm05a19wZXJmY291bnRlcl9pcnFfc3RhcnR1cCwgKHZvaWQgKikgaXJxLCAxKTsKIAogCXJldHVybiAwOwogfQpAQCAtNjYsNyArNjYsNyBAQAogCiBzdGF0aWMgdm9pZCBybTlrX3BlcmZjb3VudGVyX2lycV9zaHV0ZG93bih1bnNpZ25lZCBpbnQgaXJxKQogewotCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3NodXRkb3duLCAodm9pZCAqKSBpcnEsIDAsIDEpOworCW9uX2VhY2hfY3B1KGxvY2FsX3JtOWtfcGVyZmNvdW50ZXJfaXJxX3NodXRkb3duLCAodm9pZCAqKSBpcnEsIDEpOwogfQogCiBzdGF0aWMgc3RydWN0IGlycV9jaGlwIHJtOWtfaXJxX2NvbnRyb2xsZXIgPSB7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3J0bHguYyBiL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCmluZGV4IGI4OGYxYzEuLmI1NTY0MTkgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvcnRseC5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMzkyLDggKzM5MywxMiBAQAogc3RhdGljIGludCBmaWxlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgZXJyOwogCi0JcmV0dXJuIHJ0bHhfb3BlbihtaW5vciwgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSA/IDAgOiAxKTsKKwlsb2NrX2tlcm5lbCgpOworCWVyciA9IHJ0bHhfb3BlbihtaW5vciwgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSA/IDAgOiAxKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCBmaWxlX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3NtcC5jIGIvYXJjaC9taXBzL2tlcm5lbC9zbXAuYwppbmRleCBjZGY4N2E5Li40NDEwZjE3IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc21wLmMKQEAgLTEzMSwxNDkgKzEzMSwzMCBAQAogCWNwdV9pZGxlKCk7CiB9CiAKLURFRklORV9TUElOTE9DSyhzbXBfY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgKmNhbGxfZGF0YTsKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCW1wX29wcy0+c2VuZF9pcGlfbWFzayhtYXNrLCBTTVBfQ0FMTF9GVU5DVElPTik7Cit9CiAKIC8qCi0gKiBSdW4gYSBmdW5jdGlvbiBvbiBhbGwgb3RoZXIgQ1BVcy4KLSAqCi0gKiAgPG1hc2s+CWNwdXNldF90IG9mIGFsbCBwcm9jZXNzb3JzIHRvIHJ1biB0aGUgZnVuY3Rpb24gb24uCi0gKiAgPGZ1bmM+ICAgICAgVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqICA8aW5mbz4gICAgICBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqICA8cmV0cnk+ICAgICBJZiB0cnVlLCBrZWVwIHJldHJ5aW5nIHVudGlsIHJlYWR5LgotICogIDx3YWl0PiAgICAgIElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICogIFtSRVRVUk5TXSAgIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLgotICoKLSAqIERvZXMgbm90IHJldHVybiB1bnRpbCByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPGZ1bmM+Ci0gKiBvciBhcmUgb3IgaGF2ZSBleGVjdXRlZC4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyOgotICoKLSAqIENQVSBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVSBCCi0gKiBEaXNhYmxlIGludGVycnVwdHMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtcF9jYWxsX2Z1bmN0aW9uKCkKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRha2UgY2FsbF9sb2NrCi0gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kIElQSXMKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdhaXQgZm9yIGFsbCBjcHVzIHRvIGFja25vd2xlZGdlIElQSQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1BVIEEgaGFzIG5vdCByZXNwb25kZWQsIHNwaW4gd2FpdGluZwotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNwdSBBIHRvIHJlc3BvbmQsIGhvbGRpbmcgY2FsbF9sb2NrCi0gKiBzbXBfY2FsbF9mdW5jdGlvbigpCi0gKiBTcGluIHdhaXRpbmcgZm9yIGNhbGxfbG9jawotICogRGVhZGxvY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVhZGxvY2sKKyAqIFdlIHJldXNlIHRoZSBzYW1lIHZlY3RvciBmb3IgdGhlIHNpbmdsZSBJUEkKICAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksCi0Jdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlpbnQgY3B1czsKLQotCS8qCi0JICogQ2FuIGRpZSBzcGVjdGFjdWxhcmx5IGlmIHRoaXMgQ1BVIGlzbid0IHlldCBtYXJrZWQgb25saW5lCi0JICovCi0JQlVHX09OKCFjcHVfb25saW5lKGNwdSkpOwotCi0JY3B1X2NsZWFyKGNwdSwgbWFzayk7Ci0JY3B1cyA9IGNwdXNfd2VpZ2h0KG1hc2spOwotCWlmICghY3B1cykKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWF0b21pY19zZXQoJmRhdGEuc3RhcnRlZCwgMCk7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJYXRvbWljX3NldCgmZGF0YS5maW5pc2hlZCwgMCk7Ci0KLQlzcGluX2xvY2soJnNtcF9jYWxsX2xvY2spOwotCWNhbGxfZGF0YSA9ICZkYXRhOwotCXNtcF9tYigpOwotCi0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCW1wX29wcy0+c2VuZF9pcGlfbWFzayhtYXNrLCBTTVBfQ0FMTF9GVU5DVElPTik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCS8qIEZJWE1FOiBsb2NrLXVwIGRldGVjdGlvbiwgYmFja3RyYWNlIG9uIGxvY2stdXAgKi8KLQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuc3RhcnRlZCkgIT0gY3B1cykKLQkJYmFycmllcigpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWJhcnJpZXIoKTsKLQljYWxsX2RhdGEgPSBOVUxMOwotCXNwaW5fdW5sb2NrKCZzbXBfY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCW1wX29wcy0+c2VuZF9pcGlfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBTTVBfQ0FMTF9GVU5DVElPTik7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksCi0JaW50IHdhaXQpCi17Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCisvKgorICogQ2FsbCBpbnRvIGJvdGggaW50ZXJydXB0IGhhbmRsZXJzLCBhcyB3ZSBzaGFyZSB0aGUgSVBJIGZvciB0aGVtCisgKi8KIHZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24uCi0JICovCi0Jc21wX21iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MS4KLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJaXJxX2V4aXQoKTsKLQotCWlmICh3YWl0KSB7Ci0JCXNtcF9tYigpOwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IHJldHJ5LCBpbnQgd2FpdCkKLXsKLQlpbnQgcmV0LCBtZTsKLQotCS8qCi0JICogQ2FuIGRpZSBzcGVjdGFjdWxhcmx5IGlmIHRoaXMgQ1BVIGlzbid0IHlldCBtYXJrZWQgb25saW5lCi0JICovCi0JaWYgKCFjcHVfb25saW5lKGNwdSkpCi0JCXJldHVybiAwOwotCi0JbWUgPSBnZXRfY3B1KCk7Ci0JQlVHX09OKCFjcHVfb25saW5lKG1lKSk7Ci0KLQlpZiAoY3B1ID09IG1lKSB7Ci0JCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCWZ1bmMoaW5mbyk7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJcHV0X2NwdSgpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfb2ZfY3B1KGNwdSksIGZ1bmMsIGluZm8sIHJldHJ5LAotCQkJCSAgICAgd2FpdCk7Ci0KLQlwdXRfY3B1KCk7Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MKHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSk7Ci0KIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19jcHUodm9pZCAqZHVtbXkpCiB7CiAJLyoKQEAgLTI4Niw3ICsxNjcsNyBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCBOVUxMLCAwKTsKIH0KIAogdm9pZCBfX2luaXQgc21wX2NwdXNfZG9uZSh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpCkBAIC0zNjUsNyArMjQ2LDcgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCBOVUxMLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX21tX2lwaSh2b2lkICptbSkKQEAgLTM4NSw3ICsyNjYsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIHNtcF9vbl9vdGhlcl90bGJzKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8pCiB7CiAjaWZuZGVmIENPTkZJR19NSVBTX01UX1NNVEMKLQlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCAxKTsKICNlbmRpZgogfQogCkBAIC00ODUsNyArMzY2LDcgQEAKIAkJLmFkZHIyID0gZW5kLAogCX07CiAKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgJmZkLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfa2VybmVsX3JhbmdlX2lwaSwgJmZkLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX3BhZ2VfaXBpKHZvaWQgKmluZm8pCmRpZmYgLS1naXQgYS9hcmNoL21pcHMva2VybmVsL3NtdGMuYyBiL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCmluZGV4IDNlODYzMTguLmE1MTYyODYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCisrKyBiL2FyY2gvbWlwcy9rZXJuZWwvc210Yy5jCkBAIC04NzcsNyArODc3LDYgQEAKIAkvKiBSZXR1cm4gZnJvbSBpbnRlcnJ1cHQgc2hvdWxkIGJlIGVub3VnaCB0byBjYXVzZSBzY2hlZHVsZXIgY2hlY2sgKi8KIH0KIAotCiBzdGF0aWMgdm9pZCBpcGlfY2FsbF9pbnRlcnJ1cHQodm9pZCkKIHsKIAkvKiBJbnZva2UgZ2VuZXJpYyBmdW5jdGlvbiBpbnZvY2F0aW9uIGNvZGUgaW4gc21wLmMgKi8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggZWJkOWRiOC4uNWViNDY4MSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9taXBzL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTczLDMgKzczLDQgQEAKIAlwcmVwYXJlX2ZyYW1ldHJhY2UocmVncyk7CiAJc2F2ZV9jb250ZXh0X3N0YWNrKHRyYWNlLCByZWdzKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYyBiL2FyY2gvbWlwcy9rZXJuZWwvdnBlLmMKaW5kZXggMjc5NDUwMS4uOTcyYjJkMiAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL2tlcm5lbC92cGUuYworKysgYi9hcmNoL21pcHMva2VybmVsL3ZwZS5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjYWxscy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZWxvYWRlci5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMTA1MCwxNyArMTA1MSwyMCBAQAogCWVudW0gdnBlX3N0YXRlIHN0YXRlOwogCXN0cnVjdCB2cGVfbm90aWZpY2F0aW9ucyAqbm90OwogCXN0cnVjdCB2cGUgKnY7Ci0JaW50IHJldDsKKwlpbnQgcmV0LCBlcnIgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAobWlub3IgIT0gaW1pbm9yKGlub2RlKSkgewogCQkvKiBhc3N1bWUgb25seSAxIGRldmljZSBhdCB0aGUgbW9tZW50LiAqLwogCQlwcmludGsoS0VSTl9XQVJOSU5HICJWUEUgbG9hZGVyOiBvbmx5IHZwZTEgaXMgc3VwcG9ydGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCWlmICgodiA9IGdldF92cGUodGNsaW1pdCkpID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiVlBFIGxvYWRlcjogdW5hYmxlIHRvIGdldCB2cGVcbiIpOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAJfQogCiAJc3RhdGUgPSB4Y2hnKCZ2LT5zdGF0ZSwgVlBFX1NUQVRFX0lOVVNFKTsKQEAgLTExMDAsNiArMTEwNCw4IEBACiAJdi0+c2hhcmVkX3B0ciA9IE5VTEw7CiAJdi0+X19zdGFydCA9IDA7CiAKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9tbS9jLXI0ay5jIGIvYXJjaC9taXBzL21tL2MtcjRrLmMKaW5kZXggMjcwOTY3NS4uNzFkZjMzOSAxMDA2NDQKLS0tIGEvYXJjaC9taXBzL21tL2MtcjRrLmMKKysrIGIvYXJjaC9taXBzL21tL2MtcjRrLmMKQEAgLTQzLDEyICs0MywxMiBAQAogICogICAgcHJpbWFyeSBjYWNoZS4KICAqLwogc3RhdGljIGlubGluZSB2b2lkIHI0a19vbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0cnksIGludCB3YWl0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd2FpdCkKIHsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAogI2lmICFkZWZpbmVkKENPTkZJR19NSVBTX01UX1NNUCkgJiYgIWRlZmluZWQoQ09ORklHX01JUFNfTVRfU01UQykKLQlzbXBfY2FsbF9mdW5jdGlvbihmdW5jLCBpbmZvLCByZXRyeSwgd2FpdCk7CisJc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgd2FpdCk7CiAjZW5kaWYKIAlmdW5jKGluZm8pOwogCXByZWVtcHRfZW5hYmxlKCk7CkBAIC0zNTAsNyArMzUwLDcgQEAKIAogc3RhdGljIHZvaWQgcjRrX19fZmx1c2hfY2FjaGVfYWxsKHZvaWQpCiB7Ci0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19fX2ZsdXNoX2NhY2hlX2FsbCwgTlVMTCwgMSwgMSk7CisJcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19fX2ZsdXNoX2NhY2hlX2FsbCwgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGhhc192YWxpZF9hc2lkKGNvbnN0IHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQpAQCAtMzk3LDcgKzM5Nyw3IEBACiAJaW50IGV4ZWMgPSB2bWEtPnZtX2ZsYWdzICYgVk1fRVhFQzsKIAogCWlmIChjcHVfaGFzX2RjX2FsaWFzZXMgfHwgKGV4ZWMgJiYgIWNwdV9oYXNfaWNfZmlsbHNfZl9kYykpCi0JCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcmFuZ2UsIHZtYSwgMSwgMSk7CisJCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfcmFuZ2UsIHZtYSwgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0odm9pZCAqIGFyZ3MpCkBAIC00MjksNyArNDI5LDcgQEAKIAlpZiAoIWNwdV9oYXNfZGNfYWxpYXNlcykKIAkJcmV0dXJuOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9tbSwgbW0sIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfbW0sIG1tLCAxKTsKIH0KIAogc3RydWN0IGZsdXNoX2NhY2hlX3BhZ2VfYXJncyB7CkBAIC01MjEsNyArNTIxLDcgQEAKIAlhcmdzLmFkZHIgPSBhZGRyOwogCWFyZ3MucGZuID0gcGZuOwogCi0JcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9wYWdlLCAmYXJncywgMSwgMSk7CisJcjRrX29uX2VhY2hfY3B1KGxvY2FsX3I0a19mbHVzaF9jYWNoZV9wYWdlLCAmYXJncywgMSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlKHZvaWQgKiBhZGRyKQpAQCAtNTM1LDcgKzUzNSw3IEBACiAJCWxvY2FsX3I0a19mbHVzaF9kYXRhX2NhY2hlX3BhZ2UoKHZvaWQgKilhZGRyKTsKIAllbHNlCiAJCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfZGF0YV9jYWNoZV9wYWdlLCAodm9pZCAqKSBhZGRyLAotCQkJICAgICAgICAxLCAxKTsKKwkJCSAgICAgICAgMSk7CiB9CiAKIHN0cnVjdCBmbHVzaF9pY2FjaGVfcmFuZ2VfYXJncyB7CkBAIC01NzEsNyArNTcxLDcgQEAKIAlhcmdzLnN0YXJ0ID0gc3RhcnQ7CiAJYXJncy5lbmQgPSBlbmQ7CiAKLQlyNGtfb25fZWFjaF9jcHUobG9jYWxfcjRrX2ZsdXNoX2ljYWNoZV9yYW5nZSwgJmFyZ3MsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfaWNhY2hlX3JhbmdlLCAmYXJncywgMSk7CiAJaW5zdHJ1Y3Rpb25faGF6YXJkKCk7CiB9CiAKQEAgLTY3Miw3ICs2NzIsNyBAQAogCiBzdGF0aWMgdm9pZCByNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAodW5zaWduZWQgbG9uZyBhZGRyKQogewotCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAsICh2b2lkICopIGFkZHIsIDEsIDEpOworCXI0a19vbl9lYWNoX2NwdShsb2NhbF9yNGtfZmx1c2hfY2FjaGVfc2lndHJhbXAsICh2b2lkICopIGFkZHIsIDEpOwogfQogCiBzdGF0aWMgdm9pZCByNGtfZmx1c2hfaWNhY2hlX2FsbCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jIGIvYXJjaC9taXBzL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IGI1ZjZmNzEuLmRkMmZiZDYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL21pcHMvb3Byb2ZpbGUvY29tbW9uLmMKQEAgLTI3LDcgKzI3LDcgQEAKIAltb2RlbC0+cmVnX3NldHVwKGN0cik7CiAKIAkvKiBDb25maWd1cmUgdGhlIHJlZ2lzdGVycyBvbiBhbGwgY3B1cy4gICovCi0Jb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zZXR1cCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zZXR1cCwgTlVMTCwgMSk7CiAKICAgICAgICAgcmV0dXJuIDA7CiB9CkBAIC01OCw3ICs1OCw3IEBACiAKIHN0YXRpYyBpbnQgb3BfbWlwc19zdGFydCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RhcnQsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG1vZGVsLT5jcHVfc3RhcnQsIE5VTEwsIDEpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC02Niw3ICs2Niw3IEBACiBzdGF0aWMgdm9pZCBvcF9taXBzX3N0b3Aodm9pZCkKIHsKIAkvKiBEaXNhYmxlIHBlcmZvcm1hbmNlIG1vbml0b3JpbmcgZm9yIGFsbCBjb3VudGVycy4gICovCi0Jb25fZWFjaF9jcHUobW9kZWwtPmNwdV9zdG9wLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShtb2RlbC0+Y3B1X3N0b3AsIE5VTEwsIDEpOwogfQogCiBpbnQgX19pbml0IG9wcm9maWxlX2FyY2hfaW5pdChzdHJ1Y3Qgb3Byb2ZpbGVfb3BlcmF0aW9ucyAqb3BzKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jIGIvYXJjaC9taXBzL29wcm9maWxlL29wX21vZGVsX21pcHN4eC5jCmluZGV4IGI0MGRmN2QuLjU0NzU5ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9vcHJvZmlsZS9vcF9tb2RlbF9taXBzeHguYworKysgYi9hcmNoL21pcHMvb3Byb2ZpbGUvb3BfbW9kZWxfbWlwc3h4LmMKQEAgLTMxMyw3ICszMTMsNyBAQAogCWlmICghY3B1X2hhc19taXBzbXRfcGVydGNjb3VudGVycykKIAkJY291bnRlcnMgPSBjb3VudGVyc190b3RhbF90b19wZXJfY3B1KGNvdW50ZXJzKTsKICNlbmRpZgotCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShyZXNldF9jb3VudGVycywgKHZvaWQgKikobG9uZyljb3VudGVycywgMSk7CiAKIAlvcF9tb2RlbF9taXBzeHhfb3BzLm51bV9jb3VudGVycyA9IGNvdW50ZXJzOwogCXN3aXRjaCAoY3VycmVudF9jcHVfdHlwZSgpKSB7CkBAIC0zODIsNyArMzgyLDcgQEAKIAlpbnQgY291bnRlcnMgPSBvcF9tb2RlbF9taXBzeHhfb3BzLm51bV9jb3VudGVyczsKIAogCWNvdW50ZXJzID0gY291bnRlcnNfcGVyX2NwdV90b190b3RhbChjb3VudGVycyk7Ci0Jb25fZWFjaF9jcHUocmVzZXRfY291bnRlcnMsICh2b2lkICopKGxvbmcpY291bnRlcnMsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJlc2V0X2NvdW50ZXJzLCAodm9pZCAqKShsb25nKWNvdW50ZXJzLCAxKTsKIAogCXBlcmZfaXJxID0gc2F2ZV9wZXJmX2lycTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYyBiL2FyY2gvbWlwcy9wbWMtc2llcnJhL3lvc2VtaXRlL3Byb20uYwppbmRleCAzNWRjNDM1Li5jZjRjODY4IDEwMDY0NAotLS0gYS9hcmNoL21pcHMvcG1jLXNpZXJyYS95b3NlbWl0ZS9wcm9tLmMKKysrIGIvYXJjaC9taXBzL3BtYy1zaWVycmEveW9zZW1pdGUvcHJvbS5jCkBAIC02NCw3ICs2NCw3IEBACiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChzbXBfcHJvY2Vzc29yX2lkKCkpCiAJCS8qIENQVSAxICovCi0JCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb24ocHJvbV9jcHUwX2V4aXQsIE5VTEwsIDEpOwogI2VuZGlmCiAJcHJvbV9jcHUwX2V4aXQoTlVMTCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jIGIvYXJjaC9taXBzL3NpYnl0ZS9jZmUvc2V0dXAuYwppbmRleCAzM2ZjZTgyLi5mZDk2MDRkIDEwMDY0NAotLS0gYS9hcmNoL21pcHMvc2lieXRlL2NmZS9zZXR1cC5jCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvY2ZlL3NldHVwLmMKQEAgLTc0LDcgKzc0LDcgQEAKIAkJaWYgKCFyZWJvb3Rfc21wKSB7CiAJCQkvKiBHZXQgQ1BVIDAgdG8gZG8gdGhlIGNmZV9leGl0ICovCiAJCQlyZWJvb3Rfc21wID0gMTsKLQkJCXNtcF9jYWxsX2Z1bmN0aW9uKGNmZV9saW51eF9leGl0LCBhcmcsIDEsIDApOworCQkJc21wX2NhbGxfZnVuY3Rpb24oY2ZlX2xpbnV4X2V4aXQsIGFyZywgMCk7CiAJCX0KIAl9IGVsc2UgewogCQlwcmludGsoIlBhc3NpbmcgY29udHJvbCBiYWNrIHRvIENGRS4uLlxuIik7CmRpZmYgLS1naXQgYS9hcmNoL21pcHMvc2lieXRlL2NvbW1vbi9zYl90YnByb2YuYyBiL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCmluZGV4IDYzYjQ0NGUuLjI4YjAxMmEgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCisrKyBiL2FyY2gvbWlwcy9zaWJ5dGUvY29tbW9uL3NiX3RicHJvZi5jCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CkBAIC00MDIsMTggKzQwMywyNiBAQAogc3RhdGljIGludCBzYnByb2ZfdGJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlpbnQgbWlub3I7CisJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW1pbm9yID0gaW1pbm9yKGlub2RlKTsKLQlpZiAobWlub3IgIT0gMCkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKG1pbm9yICE9IDApIHsKKwkJZXJyID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKHhjaGcoJnNicC5vcGVuLCBTQl9PUEVOSU5HKSAhPSBTQl9DTE9TRUQpCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKHhjaGcoJnNicC5vcGVuLCBTQl9PUEVOSU5HKSAhPSBTQl9DTE9TRUQpIHsKKwkJZXJyID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAltZW1zZXQoJnNicCwgMCwgc2l6ZW9mKHN0cnVjdCBzYnByb2ZfdGIpKTsKIAlzYnAuc2Jwcm9mX3RiYnVmID0gdm1hbGxvYyhNQVhfVEJTQU1QTEVfQllURVMpOwotCWlmICghc2JwLnNicHJvZl90YmJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07CisJaWYgKCFzYnAuc2Jwcm9mX3RiYnVmKSB7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KIAltZW1zZXQoc2JwLnNicHJvZl90YmJ1ZiwgMCwgTUFYX1RCU0FNUExFX0JZVEVTKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzYnAudGJfc3luYyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmc2JwLnRiX3JlYWQpOwpAQCAtNDIxLDcgKzQzMCw5IEBACiAKIAlzYnAub3BlbiA9IFNCX09QRU47CiAKLQlyZXR1cm4gMDsKKyAgb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IHNicHJvZl90Yl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jIGIvYXJjaC9taXBzL3NpYnl0ZS9zYjEyNTAvcHJvbS5jCmluZGV4IGNmOGY2YjMuLjY1YjFhZjYgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvc2IxMjUwL3Byb20uYworKysgYi9hcmNoL21pcHMvc2lieXRlL3NiMTI1MC9wcm9tLmMKQEAgLTY2LDcgKzY2LDcgQEAKIHsKICNpZmRlZiBDT05GSUdfU01QCiAJaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSkgewotCQlzbXBfY2FsbF9mdW5jdGlvbihwcm9tX2NwdTBfZXhpdCwgTlVMTCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKHByb21fY3B1MF9leGl0LCBOVUxMLCAxKTsKIAl9CiAjZW5kaWYKIAl3aGlsZSgxKTsKZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL01ha2VmaWxlCmluZGV4IDE3NzU3NTUuLjI1NWQ2OTIgMTAwNjQ0Ci0tLSBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vTWFrZWZpbGUKKysrIGIvYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9NYWtlZmlsZQpAQCAtMSwzICsxLDQgQEAKIG9iai15CQkJCTo9IHNldHVwLm8gcnRjX3hpY29yMTI0MS5vIHJ0Y19tNDF0ODEubwogCitvYmotJChDT05GSUdfSTJDX0JPQVJESU5GTykJKz0gc3dhcm0taTJjLm8KIG9iai0kKENPTkZJR19LR0RCKQkJKz0gZGJnX2lvLm8KZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9zaWJ5dGUvc3dhcm0vc3dhcm0taTJjLmMgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyODJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKglhcmNoL21pcHMvc2lieXRlL3N3YXJtL3N3YXJtLWkyYy5jCisgKgorICoJQnJvYWRjb20gQkNNOTEyNTBBIChTV0FSTSksIGV0Yy4gSTJDIHBsYXRmb3JtIHNldHVwLgorICoKKyAqCUNvcHlyaWdodCAoYykgMjAwOCAgTWFjaWVqIFcuIFJvenlja2kKKyAqCisgKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKgltb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICoJYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uCisgKgkyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisKKworc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBzd2FybV9pMmNfaW5mbzFbXSBfX2luaXRkYXRhID0geworCXsKKwkJSTJDX0JPQVJEX0lORk8oIm00MXQ4MSIsIDB4NjgpLAorCX0sCit9OworCitzdGF0aWMgaW50IF9faW5pdCBzd2FybV9pMmNfaW5pdCh2b2lkKQoreworCWludCBlcnI7CisKKwllcnIgPSBpMmNfcmVnaXN0ZXJfYm9hcmRfaW5mbygxLCBzd2FybV9pMmNfaW5mbzEsCisJCQkJICAgICAgQVJSQVlfU0laRShzd2FybV9pMmNfaW5mbzEpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAic3dhcm0taTJjOiBjYW5ub3QgcmVnaXN0ZXIgYm9hcmQgSTJDIGRldmljZXNcbiIpOworCXJldHVybiBlcnI7Cit9CisKK2FyY2hfaW5pdGNhbGwoc3dhcm1faTJjX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2MvS2NvbmZpZyBiL2FyY2gvcGFyaXNjL0tjb25maWcKaW5kZXggYmM3YTE5ZC4uYTdkNGZkMzUgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL0tjb25maWcKKysrIGIvYXJjaC9wYXJpc2MvS2NvbmZpZwpAQCAtMTk5LDYgKzE5OSw3IEBACiAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvY2FjaGUuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCmluZGV4IGUxMGQyNWQuLjUyNTlkOGMgMTAwNjQ0Ci0tLSBhL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9jYWNoZS5jCkBAIC01MSwxMiArNTEsMTIgQEAKIHZvaWQKIGZsdXNoX2RhdGFfY2FjaGUodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF9kYXRhX2NhY2hlX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9kYXRhX2NhY2hlX2xvY2FsLCBOVUxMLCAxKTsKIH0KIHZvaWQgCiBmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZSh2b2lkKQogewotCW9uX2VhY2hfY3B1KGZsdXNoX2luc3RydWN0aW9uX2NhY2hlX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF9pbnN0cnVjdGlvbl9jYWNoZV9sb2NhbCwgTlVMTCwgMSk7CiB9CiAjZW5kaWYKIApAQCAtNTE1LDcgKzUxNSw3IEBACiAKIHZvaWQgZmx1c2hfY2FjaGVfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoY2FjaGVmbHVzaF9oX3RtcF9mdW5jdGlvbiwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoY2FjaGVmbHVzaF9oX3RtcF9mdW5jdGlvbiwgTlVMTCwgMSk7CiB9CiAKIHZvaWQgZmx1c2hfY2FjaGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqbW0pCmRpZmYgLS1naXQgYS9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jIGIvYXJjaC9wYXJpc2Mva2VybmVsL3BlcmYuYwppbmRleCA4OWQ2ZDVhLi5mNjk2ZjU3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvcGVyZi5jCisrKyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9wZXJmLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtMjYwLDEzICsyNjEsMTYgQEAKICAqLwogc3RhdGljIGludCBwZXJmX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJnBlcmZfbG9jayk7CiAJaWYgKHBlcmZfZW5hYmxlZCkgewogCQlzcGluX3VubG9jaygmcGVyZl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlwZXJmX2VuYWJsZWQgPSAxOwogIAlzcGluX3VubG9jaygmcGVyZl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYyBiL2FyY2gvcGFyaXNjL2tlcm5lbC9zbXAuYwppbmRleCA4NWZjNzc1Li5kNDdmMzk3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3NtcC5jCkBAIC04NCwxOSArODQsMTEgQEAKIAogREVGSU5FX1BFUl9DUFUoc3BpbmxvY2tfdCwgaXBpX2xvY2spID0gU1BJTl9MT0NLX1VOTE9DS0VEOwogCi1zdHJ1Y3Qgc21wX2NhbGxfc3RydWN0IHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pOwotCXZvaWQgKmluZm87Ci0JbG9uZyB3YWl0OwotCWF0b21pY190IHVuc3RhcnRlZF9jb3VudDsKLQlhdG9taWNfdCB1bmZpbmlzaGVkX2NvdW50OwotfTsKLXN0YXRpYyB2b2xhdGlsZSBzdHJ1Y3Qgc21wX2NhbGxfc3RydWN0ICpzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCiBlbnVtIGlwaV9tZXNzYWdlX3R5cGUgewogCUlQSV9OT1A9MCwKIAlJUElfUkVTQ0hFRFVMRT0xLAogCUlQSV9DQUxMX0ZVTkMsCisJSVBJX0NBTExfRlVOQ19TSU5HTEUsCiAJSVBJX0NQVV9TVEFSVCwKIAlJUElfQ1BVX1NUT1AsCiAJSVBJX0NQVV9URVNUCkBAIC0xODcsMzMgKzE3OSwxMiBAQAogCiAJCQljYXNlIElQSV9DQUxMX0ZVTkM6CiAJCQkJc21wX2RlYnVnKDEwMCwgS0VSTl9ERUJVRyAiQ1BVJWQgSVBJX0NBTExfRlVOQ1xuIiwgdGhpc19jcHUpOwotCQkJCXsKLQkJCQkJdm9sYXRpbGUgc3RydWN0IHNtcF9jYWxsX3N0cnVjdCAqZGF0YTsKLQkJCQkJdm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pOwotCQkJCQl2b2lkICppbmZvOwotCQkJCQlpbnQgd2FpdDsKKwkJCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCQkJCWJyZWFrOwogCi0JCQkJCWRhdGEgPSBzbXBfY2FsbF9mdW5jdGlvbl9kYXRhOwotCQkJCQlmdW5jID0gZGF0YS0+ZnVuYzsKLQkJCQkJaW5mbyA9IGRhdGEtPmluZm87Ci0JCQkJCXdhaXQgPSBkYXRhLT53YWl0OwotCi0JCQkJCW1iKCk7Ci0JCQkJCWF0b21pY19kZWMgKChhdG9taWNfdCAqKSZkYXRhLT51bnN0YXJ0ZWRfY291bnQpOwotCi0JCQkJCS8qIEF0IHRoaXMgcG9pbnQsICpkYXRhIGNhbid0Ci0JCQkJCSAqIGJlIHJlbGllZCB1cG9uLgotCQkJCQkgKi8KLQotCQkJCQkoKmZ1bmMpKGluZm8pOwotCi0JCQkJCS8qIE5vdGlmeSB0aGUgc2VuZGluZyBDUFUgdGhhdCB0aGUKLQkJCQkJICogdGFzayBpcyBkb25lLgotCQkJCQkgKi8KLQkJCQkJbWIoKTsKLQkJCQkJaWYgKHdhaXQpCi0JCQkJCQlhdG9taWNfZGVjICgoYXRvbWljX3QgKikmZGF0YS0+dW5maW5pc2hlZF9jb3VudCk7Ci0JCQkJfQorCQkJY2FzZSBJUElfQ0FMTF9GVU5DX1NJTkdMRToKKwkJCQlzbXBfZGVidWcoMTAwLCBLRVJOX0RFQlVHICJDUFUlZCBJUElfQ0FMTF9GVU5DX1NJTkdMRVxuIiwgdGhpc19jcHUpOworCQkJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOwogCQkJCWJyZWFrOwogCiAJCQljYXNlIElQSV9DUFVfU1RBUlQ6CkBAIC0yNTYsNiArMjI3LDE0IEBACiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBmbGFncyk7CiB9CiAKK3N0YXRpYyB2b2lkCitzZW5kX0lQSV9tYXNrKGNwdW1hc2tfdCBtYXNrLCBlbnVtIGlwaV9tZXNzYWdlX3R5cGUgb3ApCit7CisJaW50IGNwdTsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykKKwkJaXBpX3NlbmQoY3B1LCBvcCk7Cit9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAogc2VuZF9JUElfc2luZ2xlKGludCBkZXN0X2NwdSwgZW51bSBpcGlfbWVzc2FnZV90eXBlIG9wKQpAQCAtMjk1LDg2ICsyNzQsMTUgQEAKIAlzZW5kX0lQSV9hbGxidXRzZWxmKElQSV9OT1ApOwogfQogCi0KLS8qKgotICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiAgPGZ1bmM+CVRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiAgPGluZm8+CUFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogIDxyZXRyeT4JSWYgdHJ1ZSwga2VlcCByZXRyeWluZyB1bnRpbCByZWFkeS4KLSAqICA8d2FpdD4JSWYgdHJ1ZSwgd2FpdCB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKiAgW1JFVFVSTlNdICAgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogRG9lcyBub3QgcmV0dXJuIHVudGlsIHJlbW90ZSBDUFVzIGFyZSBuZWFybHkgcmVhZHkgdG8gZXhlY3V0ZSA8ZnVuYz4KLSAqIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKi8KLQotaW50Ci1zbXBfY2FsbF9mdW5jdGlvbiAodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXN0cnVjdCBzbXBfY2FsbF9zdHJ1Y3QgZGF0YTsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7Ci0Jc3RhdGljIERFRklORV9TUElOTE9DSyhsb2NrKTsKLQlpbnQgcmV0cmllcyA9IDA7Ci0KLQlpZiAobnVtX29ubGluZV9jcHVzKCkgPCAyKQotCQlyZXR1cm4gMDsKLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQkvKiBjYW4gYWxzbyBkZWFkbG9jayBpZiBJUElzIGFyZSBkaXNhYmxlZCAqLwotCVdBUk5fT04oKGdldF9laWVtKCkgJiAoMVVMPDwoQ1BVX0lSUV9NQVggLSBJUElfSVJRKSkpID09IDApOwotCi0JCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JYXRvbWljX3NldCgmZGF0YS51bnN0YXJ0ZWRfY291bnQsIG51bV9vbmxpbmVfY3B1cygpIC0gMSk7Ci0JYXRvbWljX3NldCgmZGF0YS51bmZpbmlzaGVkX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSAtIDEpOwotCi0JaWYgKHJldHJ5KSB7Ci0JCXNwaW5fbG9jayAoJmxvY2spOwotCQl3aGlsZSAoc21wX2NhbGxfZnVuY3Rpb25fZGF0YSAhPSAwKQotCQkJYmFycmllcigpOwotCX0KLQllbHNlIHsKLQkJc3Bpbl9sb2NrICgmbG9jayk7Ci0JCWlmIChzbXBfY2FsbF9mdW5jdGlvbl9kYXRhKSB7Ci0JCQlzcGluX3VubG9jayAoJmxvY2spOwotCQkJcmV0dXJuIC1FQlVTWTsKLQkJfQotCX0KLQotCXNtcF9jYWxsX2Z1bmN0aW9uX2RhdGEgPSAmZGF0YTsKLQlzcGluX3VubG9jayAoJmxvY2spOwotCQotCS8qICBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICAqLwotCXNlbmRfSVBJX2FsbGJ1dHNlbGYoSVBJX0NBTExfRlVOQyk7Ci0KLSByZXRyeToKLQkvKiAgV2FpdCBmb3IgcmVzcG9uc2UgICovCi0JdGltZW91dCA9IGppZmZpZXMgKyBIWjsKLQl3aGlsZSAoIChhdG9taWNfcmVhZCAoJmRhdGEudW5zdGFydGVkX2NvdW50KSA+IDApICYmCi0JCXRpbWVfYmVmb3JlIChqaWZmaWVzLCB0aW1lb3V0KSApCi0JCWJhcnJpZXIgKCk7Ci0KLQlpZiAoYXRvbWljX3JlYWQgKCZkYXRhLnVuc3RhcnRlZF9jb3VudCkgPiAwKSB7Ci0JCXByaW50ayhLRVJOX0NSSVQgIlNNUCBDQUxMIEZVTkNUSU9OIFRJTUVEIE9VVCEgKGNwdT0lZCksIHRyeSAlZFxuIiwKLQkJICAgICAgc21wX3Byb2Nlc3Nvcl9pZCgpLCArK3JldHJpZXMpOwotCQlnb3RvIHJldHJ5OwotCX0KLQkvKiBXZSBlaXRoZXIgZ290IG9uZSBvciB0aW1lZCBvdXQuIFJlbGVhc2UgdGhlIGxvY2sgKi8KLQotCW1iKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb25fZGF0YSA9IE5VTEw7Ci0KLQl3aGlsZSAod2FpdCAmJiBhdG9taWNfcmVhZCAoJmRhdGEudW5maW5pc2hlZF9jb3VudCkgPiAwKQotCQkJYmFycmllciAoKTsKLQotCXJldHVybiAwOworCXNlbmRfSVBJX21hc2sobWFzaywgSVBJX0NBTExfRlVOQyk7CiB9CiAKLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJc2VuZF9JUElfc2luZ2xlKGNwdSwgSVBJX0NBTExfRlVOQ19TSU5HTEUpOworfQogCiAvKgogICogRmx1c2ggYWxsIG90aGVyIENQVSdzIHRsYiBhbmQgdGhlbiBtaW5lLiAgRG8gdGhpcyB3aXRoIG9uX2VhY2hfY3B1KCkKQEAgLTM4NCw3ICsyOTIsNyBAQAogdm9pZAogc21wX2ZsdXNoX3RsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2xvY2FsLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShmbHVzaF90bGJfYWxsX2xvY2FsLCBOVUxMLCAxKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMmU1MTZiOC4uMWEzYjZjYyAxMDA2NDQKLS0tIGEvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9wYXJpc2Mva2VybmVsL3ZtbGludXgubGRzLlMKQEAgLTY3LDcgKzY3LDYgQEAKIAlfZXRleHQgPSAuOwogCiAJUk9EQVRBCi0JQlVHX1RBQkxFCiAKIAkvKiB3cml0ZWFibGUgKi8KIAkvKiBNYWtlIHN1cmUgdGhpcyBpcyBwYWdlIGFsaWduZWQgc28KZGlmZiAtLWdpdCBhL2FyY2gvcGFyaXNjL21tL2luaXQuYyBiL2FyY2gvcGFyaXNjL21tL2luaXQuYwppbmRleCBjZTBkYTY4Li5iNGQ2Yzg3IDEwMDY0NAotLS0gYS9hcmNoL3BhcmlzYy9tbS9pbml0LmMKKysrIGIvYXJjaC9wYXJpc2MvbW0vaW5pdC5jCkBAIC0xMDUzLDcgKzEwNTMsNyBAQAogCSAgICBkb19yZWN5Y2xlKys7CiAJfQogCXNwaW5fdW5sb2NrKCZzaWRfbG9jayk7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9sb2NhbCwgTlVMTCwgMSk7CiAJaWYgKGRvX3JlY3ljbGUpIHsKIAkgICAgc3Bpbl9sb2NrKCZzaWRfbG9jayk7CiAJICAgIHJlY3ljbGVfc2lkcyhyZWN5Y2xlX25kaXJ0eSxyZWN5Y2xlX2RpcnR5X2FycmF5KTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9LY29uZmlnIGIvYXJjaC9wb3dlcnBjL0tjb25maWcKaW5kZXggMzkzNGUyNi4uMjBlYWNmMiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL0tjb25maWcKKysrIGIvYXJjaC9wb3dlcnBjL0tjb25maWcKQEAgLTEwNSwxMSArMTA1LDE0IEBACiBjb25maWcgUFBDCiAJYm9vbAogCWRlZmF1bHQgeQorCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhBVkVfRlRSQUNFCiAJc2VsZWN0IEhBVkVfSURFCi0Jc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTCiAJc2VsZWN0IEhBVkVfS1JFVFBST0JFUwogCXNlbGVjdCBIQVZFX0xNQgorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUyBpZiBTTVAKKwlzZWxlY3QgSEFWRV9PUFJPRklMRQogCiBjb25maWcgRUFSTFlfUFJJTlRLCiAJYm9vbApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvTWFrZWZpbGUKaW5kZXggMjM0NmQyNy4uZjNmNWUyNiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL01ha2VmaWxlCkBAIC0xMiw2ICsxMiwxOCBAQAogQ0ZMQUdTX2J0ZXh0Lm8JCSs9IC1mUElDCiBlbmRpZgogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCB0cmFjZSBlYXJseSBib290IGNvZGUKK0NGTEFHU19SRU1PVkVfY3B1dGFibGUubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9wcm9tX2luaXQubyA9IC1wZworCitpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKyMgZHluYW1pYyBmdHJhY2Ugc2V0dXAuCitDRkxBR1NfUkVNT1ZFX2Z0cmFjZS5vID0gLXBnCitlbmRpZgorCitlbmRpZgorCiBvYmoteQkJCQk6PSBjcHV0YWJsZS5vIHB0cmFjZS5vIHN5c2NhbGxzLm8gXAogCQkJCSAgIGlycS5vIGFsaWduLm8gc2lnbmFsXzMyLm8gcG1jLm8gdmRzby5vIFwKIAkJCQkgICBpbml0X3Rhc2subyBwcm9jZXNzLm8gc3lzdGJsLm8gaWRsZS5vIFwKQEAgLTc4LDYgKzkwLDggQEAKIG9iai0kKENPTkZJR19BVURJVCkJCSs9IGF1ZGl0Lm8KIG9iajY0LSQoQ09ORklHX0FVRElUKQkJKz0gY29tcGF0X2F1ZGl0Lm8KIAorb2JqLSQoQ09ORklHX0RZTkFNSUNfRlRSQUNFKQkrPSBmdHJhY2UubworCiBvYmotJChDT05GSUdfOFhYX01JTklNQUxfRlBFTVUpICs9IHNvZnRlbXU4eHgubwogCiBpZm5lcSAoJChDT05GSUdfUFBDX0lORElSRUNUX0lPKSx5KQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV8zMi5TCmluZGV4IDBjODYxNGQuLjcyMzFhNzAgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfMzIuUworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vcHBjX2FzbS5oPgogI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgogI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKICN1bmRlZiBTSE9XX1NZU0NBTExTCiAjdW5kZWYgU0hPV19TWVNDQUxMU19UQVNLCkBAIC0xMDM1LDMgKzEwMzYsMTI5IEBACiAJLyogWFhYIGxvYWQgdXAgQkFUcyBhbmQgcGFuaWMgKi8KIAogI2VuZGlmIC8qIENPTkZJR19QUENfUlRBUyAqLworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJc3R3CXI3LCAyOChyMSkKKwltZmNyCXI1CisJc3R3CXI4LCAzMihyMSkKKwlzdHcJcjksIDM2KHIxKQorCXN0dwlyMTAsNDAocjEpCisJc3R3CXIzLCA0NChyMSkKKwlzdHcJcjUsIDgocjEpCisJc3ViaQlyMywgcjMsIE1DT1VOVF9JTlNOX1NJWkUKKwkuZ2xvYmwgbWNvdW50X2NhbGwKK21jb3VudF9jYWxsOgorCWJsCWZ0cmFjZV9zdHViCisJbm9wCisJbHd6CXI2LCA4KHIxKQorCWx3eglyMCwgNDQocjEpCisJbHd6CXIzLCAxMihyMSkKKwltdGN0cglyMAorCWx3eglyNCwgMTYocjEpCisJbXRjcglyNgorCWx3eglyNSwgMjAocjEpCisJbHd6CXI2LCAyNChyMSkKKwlsd3oJcjAsIDUyKHIxKQorCWx3eglyNywgMjgocjEpCisJbHd6CXI4LCAzMihyMSkKKwltdGxyCXIwCisJbHd6CXI5LCAzNihyMSkKKwlsd3oJcjEwLDQwKHIxKQorCWFkZGkJcjEsIHIxLCA0OAorCWJjdHIKKworX0dMT0JBTChmdHJhY2VfY2FsbGVyKQorCS8qIEJhc2VkIG9mZiBvZiBvYmpkdW1wIG9wdHB1dCBmcm9tIGdsaWJjICovCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJbHd6CXI0LCA1MihyMSkKKwltZmNyCXI1CisJc3R3CXI3LCAyOChyMSkKKwlzdHcJcjgsIDMyKHIxKQorCXN0dwlyOSwgMzYocjEpCisJc3R3CXIxMCw0MChyMSkKKwlzdHcJcjMsIDQ0KHIxKQorCXN0dwlyNSwgOChyMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWx3eglyNiwgOChyMSkKKwlsd3oJcjAsIDQ0KHIxKQorCWx3eglyMywgMTIocjEpCisJbXRjdHIJcjAKKwlsd3oJcjQsIDE2KHIxKQorCW10Y3IJcjYKKwlsd3oJcjUsIDIwKHIxKQorCWx3eglyNiwgMjQocjEpCisJbHd6CXIwLCA1MihyMSkKKwlsd3oJcjcsIDI4KHIxKQorCWx3eglyOCwgMzIocjEpCisJbXRscglyMAorCWx3eglyOSwgMzYocjEpCisJbHd6CXIxMCw0MChyMSkKKwlhZGRpCXIxLCByMSwgNDgKKwliY3RyCisjZWxzZQorX0dMT0JBTChtY291bnQpCitfR0xPQkFMKF9tY291bnQpCisJc3R3dQlyMSwtNDgocjEpCisJc3R3CXIzLCAxMihyMSkKKwlzdHcJcjQsIDE2KHIxKQorCXN0dwlyNSwgMjAocjEpCisJc3R3CXI2LCAyNChyMSkKKwltZmxyCXIzCisJbHd6CXI0LCA1MihyMSkKKwltZmNyCXI1CisJc3R3CXI3LCAyOChyMSkKKwlzdHcJcjgsIDMyKHIxKQorCXN0dwlyOSwgMzYocjEpCisJc3R3CXIxMCw0MChyMSkKKwlzdHcJcjMsIDQ0KHIxKQorCXN0dwlyNSwgOChyMSkKKworCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJTE9BRF9SRUdfQUREUihyNSwgZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKQorCWx3eglyNSwwKHI1KQorCisJbXRjdHIJcjUKKwliY3RybAorCisJbm9wCisKKwlsd3oJcjYsIDgocjEpCisJbHd6CXIwLCA0NChyMSkKKwlsd3oJcjMsIDEyKHIxKQorCW10Y3RyCXIwCisJbHd6CXI0LCAxNihyMSkKKwltdGNyCXI2CisJbHd6CXI1LCAyMChyMSkKKwlsd3oJcjYsIDI0KHIxKQorCWx3eglyMCwgNTIocjEpCisJbHd6CXI3LCAyOChyMSkKKwlsd3oJcjgsIDMyKHIxKQorCW10bHIJcjAKKwlsd3oJcjksIDM2KHIxKQorCWx3eglyMTAsNDAocjEpCisJYWRkaQlyMSwgcjEsIDQ4CisJYmN0cgorI2VuZGlmCisKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisKKyNlbmRpZiAvKiBDT05GSUdfTUNPVU5UICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzY0LlMKaW5kZXggYzBkYjViNy4uMmY1MTFhOSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9lbnRyeV82NC5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvZW50cnlfNjQuUwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGFzbS9idWcuaD4KICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL2lycWZsYWdzLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAvKgogICogU3lzdGVtIGNhbGxzLgpAQCAtODcwLDMgKzg3MSw2NyBAQAogCWxkCXIwLDE2KHIxKQogCW10bHIgICAgcjAKICAgICAgICAgYmxyCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitfR0xPQkFMKG1jb3VudCkKK19HTE9CQUwoX21jb3VudCkKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJc3RkdQlyMSwgLTExMihyMSkKKwlzdGQJcjMsIDEyOChyMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorCS5nbG9ibCBtY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJYmwJZnRyYWNlX3N0dWIKKwlub3AKKwlsZAlyMCwgMTI4KHIxKQorCW10bHIJcjAKKwlhZGRpCXIxLCByMSwgMTEyCisJYmxyCisKK19HTE9CQUwoZnRyYWNlX2NhbGxlcikKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJbGQJcjExLCAwKHIxKQorCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJbGQJcjQsIDE2KHIxMSkKKwlzdWJpCXIzLCByMywgTUNPVU5UX0lOU05fU0laRQorLmdsb2JsIGZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwlibAlmdHJhY2Vfc3R1YgorCW5vcAorCWxkCXIwLCAxMjgocjEpCisJbXRscglyMAorCWFkZGkJcjEsIHIxLCAxMTIKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisjZWxzZQorX0dMT0JBTChtY291bnQpCisJYmxyCisKK19HTE9CQUwoX21jb3VudCkKKwkvKiBUYWtlbiBmcm9tIG91dHB1dCBvZiBvYmpkdW1wIGZyb20gbGliNjQvZ2xpYmMgKi8KKwltZmxyCXIzCisJbGQJcjExLCAwKHIxKQorCXN0ZHUJcjEsIC0xMTIocjEpCisJc3RkCXIzLCAxMjgocjEpCisJbGQJcjQsIDE2KHIxMSkKKworCXN1YmkJcjMsIHIzLCBNQ09VTlRfSU5TTl9TSVpFCisJTE9BRF9SRUdfQUREUihyNSxmdHJhY2VfdHJhY2VfZnVuY3Rpb24pCisJbGQJcjUsMChyNSkKKwlsZAlyNSwwKHI1KQorCW10Y3RyCXI1CisJYmN0cmwKKworCW5vcAorCWxkCXIwLCAxMjgocjEpCisJbXRscglyMAorCWFkZGkJcjEsIHIxLCAxMTIKK19HTE9CQUwoZnRyYWNlX3N0dWIpCisJYmxyCisKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODU1Y2ViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyAqIENvZGUgZm9yIHJlcGxhY2luZyBmdHJhY2UgY2FsbHMgd2l0aCBqdW1wcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGFua3MgZ29lcyBvdXQgdG8gUC5BLiBTZW1pLCBJbmMgZm9yIHN1cHBseWluZyBtZSB3aXRoIGEgUFBDNjQgYm94LgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZnRyYWNlX25vcCA9IDB4NjAwMDAwMDA7CisKKyNpZmRlZiBDT05GSUdfUFBDMzIKKyMgZGVmaW5lIEdFVF9BRERSKGFkZHIpIGFkZHIKKyNlbHNlCisvKiBQb3dlclBDNjQncyBmdW5jdGlvbnMgYXJlIGRhdGEgdGhhdCBwb2ludHMgdG8gdGhlIGZ1bmN0aW9ucyAqLworIyBkZWZpbmUgR0VUX0FERFIoYWRkcikgKih1bnNpZ25lZCBsb25nICopYWRkcgorI2VuZGlmCisKKworc3RhdGljIHVuc2lnbmVkIGludCBub3RyYWNlIGZ0cmFjZV9jYWxjX29mZnNldChsb25nIGlwLCBsb25nIGFkZHIpCit7CisJcmV0dXJuIChpbnQpKGFkZHIgLSBpcCk7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpCit7CisJcmV0dXJuIChjaGFyICopJmZ0cmFjZV9ub3A7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX2NhbGxfcmVwbGFjZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RhdGljIHVuc2lnbmVkIGludCBvcDsKKworCS8qCisJICogSXQgd291bGQgYmUgbmljZSB0byBqdXN0IHVzZSBjcmVhdGVfZnVuY3Rpb25fY2FsbCwgYnV0IHRoYXQgd2lsbAorCSAqIHVwZGF0ZSB0aGUgY29kZSBpdHNlbGYuIEhlcmUgd2UgbmVlZCB0byBqdXN0IHJldHVybiB0aGUKKwkgKiBpbnN0cnVjdGlvbiB0aGF0IGlzIGdvaW5nIHRvIGJlIG1vZGlmaWVkLCB3aXRob3V0IG1vZGlmeWluZyB0aGUKKwkgKiBjb2RlLgorCSAqLworCWFkZHIgPSBHRVRfQUREUihhZGRyKTsKKworCS8qIFNldCB0byAiYmwgYWRkciIgKi8KKwlvcCA9IDB4NDgwMDAwMDEgfCAoZnRyYWNlX2NhbGNfb2Zmc2V0KGlwLCBhZGRyKSAmIDB4MDNmZmZmZmMpOworCisJLyoKKwkgKiBObyBsb2NraW5nIG5lZWRlZCwgdGhpcyBtdXN0IGJlIGNhbGxlZCB2aWEga3N0b3BfbWFjaGluZQorCSAqIHdoaWNoIGluIGVzc2VuY2UgaXMgbGlrZSBydW5uaW5nIG9uIGEgdW5pcHJvY2Vzc29yIG1hY2hpbmUuCisJICovCisJcmV0dXJuICh1bnNpZ25lZCBjaGFyICopJm9wOworfQorCisjaWZkZWYgQ09ORklHX1BQQzY0CisjIGRlZmluZSBfQVNNX0FMSUdOCSIgLmFsaWduIDMgIgorIyBkZWZpbmUgX0FTTV9QVFIJIiAubGxvbmcgIgorI2Vsc2UKKyMgZGVmaW5lIF9BU01fQUxJR04JIiAuYWxpZ24gMiAiCisjIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKKyNlbmRpZgorCitub3RyYWNlIGludAorZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkgICB1bnNpZ25lZCBjaGFyICpuZXdfY29kZSkKK3sKKwl1bnNpZ25lZCByZXBsYWNlZDsKKwl1bnNpZ25lZCBvbGQgPSAqKHVuc2lnbmVkICopb2xkX2NvZGU7CisJdW5zaWduZWQgbmV3ID0gKih1bnNpZ25lZCAqKW5ld19jb2RlOworCWludCBmYXVsdGVkID0gMDsKKworCS8qCisJICogTm90ZTogRHVlIHRvIG1vZHVsZXMgYW5kIF9faW5pdCwgY29kZSBjYW4KKwkgKiAgZGlzYXBwZWFyIGFuZCBjaGFuZ2UsIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0IGZhdWx0aW5nCisJICogIGFzIHdlbGwgYXMgY29kZSBjaGFuZ2luZy4KKwkgKgorCSAqIE5vIHJlYWwgbG9ja2luZyBuZWVkZWQsIHRoaXMgY29kZSBpcyBydW4gdGhyb3VnaAorCSAqIGtzdG9wX21hY2hpbmUuCisJICovCisJYXNtIHZvbGF0aWxlICgKKwkJIjE6IGx3egkJJTEsIDAoJTIpXG4iCisJCSIgICBjbXB3CSUxLCAlNVxuIgorCQkiICAgYm5lCQkyZlxuIgorCQkiICAgc3R3dQklMywgMCglMilcbiIKKwkJIjI6XG4iCisJCSIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgorCQkiMzoJbGkgJTAsIDFcbiIKKwkJIgliIDJiXG4iCisJCSIucHJldmlvdXNcbiIKKwkJIi5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkJX0FTTV9BTElHTiAiXG4iCisJCV9BU01fUFRSICIxYiwgM2JcbiIKKwkJIi5wcmV2aW91cyIKKwkJOiAiPXIiKGZhdWx0ZWQpLCAiPXIiKHJlcGxhY2VkKQorCQk6ICJyIihpcCksICJyIihuZXcpLAorCQkgICIwIihmYXVsdGVkKSwgInIiKG9sZCkKKwkJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlpZiAoIWZhdWx0ZWQpCisJCWZsdXNoX2ljYWNoZV9yYW5nZShpcCwgaXAgKyA4KTsKKworCXJldHVybiBmYXVsdGVkOworfQorCitub3RyYWNlIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYykKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKHVuc2lnbmVkIGxvbmcpKCZmdHJhY2VfY2FsbCk7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisJaW50IHJldDsKKworCW1lbWNweShvbGQsICZmdHJhY2VfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKHVuc2lnbmVkIGxvbmcpZnVuYyk7CisJcmV0ID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gcmV0OworfQorCitub3RyYWNlIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgaXAgPSAobG9uZykoJm1jb3VudF9jYWxsKTsKKwl1bnNpZ25lZCBsb25nICphZGRyID0gZGF0YTsKKwl1bnNpZ25lZCBjaGFyIG9sZFtNQ09VTlRfSU5TTl9TSVpFXSwgKm5ldzsKKworCS8qCisJICogUmVwbGFjZSB0aGUgbWNvdW50IHN0dWIgd2l0aCBhIHBvaW50ZXIgdG8gdGhlCisJICogaXAgcmVjb3JkZXIgZnVuY3Rpb24uCisJICovCisJbWVtY3B5KG9sZCwgJm1jb3VudF9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAqYWRkcik7CisJKmFkZHIgPSBmdHJhY2VfbW9kaWZ5X2NvZGUoaXAsIG9sZCwgbmV3KTsKKworCXJldHVybiAwOworfQorCitpbnQgX19pbml0IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpCit7CisJLyogVGhpcyBpcyBydW5uaW5nIGluIGtzdG9wX21hY2hpbmUgKi8KKworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCisJcmV0dXJuIDA7Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYwppbmRleCBlMzFhY2E5Mi4uMTg4MmJmNCAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9pby5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvaW8uYwpAQCAtMTIwLDcgKzEyMCw4IEBACiAKICNkZWZpbmUgSU9fQ0hFQ0tfQUxJR04odixhKSAoKCgodW5zaWduZWQgbG9uZykodikpICYgKChhKSAtIDEpKSA9PSAwKQogCi12b2lkIF9tZW1zZXRfaW8odm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyLCBpbnQgYywgdW5zaWduZWQgbG9uZyBuKQorbm90cmFjZSB2b2lkCitfbWVtc2V0X2lvKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkciwgaW50IGMsIHVuc2lnbmVkIGxvbmcgbikKIHsKIAl2b2lkICpwID0gKHZvaWQgX19mb3JjZSAqKWFkZHI7CiAJdTMyIGxjID0gYzsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL2lycS5jCmluZGV4IGJjYzI0OWQuLmRjYzk0NmUgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvaXJxLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9pcnEuYwpAQCAtOTgsNyArOTgsNyBAQAogCiBpbnQgZGlzdHJpYnV0ZV9pcnFzID0gMTsKIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9oYXJkX2VuYWJsZWQodm9pZCkKK3N0YXRpYyBpbmxpbmUgbm90cmFjZSB1bnNpZ25lZCBsb25nIGdldF9oYXJkX2VuYWJsZWQodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGVuYWJsZWQ7CiAKQEAgLTEwOCwxMyArMTA4LDEzIEBACiAJcmV0dXJuIGVuYWJsZWQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfc29mdF9lbmFibGVkKHVuc2lnbmVkIGxvbmcgZW5hYmxlKQorc3RhdGljIGlubGluZSBub3RyYWNlIHZvaWQgc2V0X3NvZnRfZW5hYmxlZCh1bnNpZ25lZCBsb25nIGVuYWJsZSkKIHsKIAlfX2FzbV9fIF9fdm9sYXRpbGVfXygic3RiICUwLCUxKDEzKSIKIAk6IDogInIiIChlbmFibGUpLCAiaSIgKG9mZnNldG9mKHN0cnVjdCBwYWNhX3N0cnVjdCwgc29mdF9lbmFibGVkKSkpOwogfQogCi12b2lkIHJhd19sb2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGVuKQorbm90cmFjZSB2b2lkIHJhd19sb2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGVuKQogewogCS8qCiAJICogZ2V0X3BhY2EoKS0+c29mdF9lbmFibGVkID0gZW47CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCmluZGV4IDcwNDM3NWIuLmI3MzJiNWYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCkBAIC0xNzIsNyArMTcyLDcgQEAKIHsKIAlpbnQgbXlfY3B1LCBpLCBub3RpZmllZD0tMTsKIAotCXNtcF9jYWxsX2Z1bmN0aW9uKGtleGVjX3NtcF9kb3duLCBOVUxMLCAwLCAvKiB3YWl0ICovMCk7CisJc21wX2NhbGxfZnVuY3Rpb24oa2V4ZWNfc21wX2Rvd24sIE5VTEwsIC8qIHdhaXQgKi8wKTsKIAlteV9jcHUgPSBnZXRfY3B1KCk7CiAKIAkvKiBjaGVjayB0aGUgb3RoZXJzIGNwdXMgYXJlIG5vdyBkb3duICh2aWEgcGFjYSBodyBjcHUgaWQgPT0gLTEpICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL29mX3BsYXRmb3JtLmMKaW5kZXggZTc5YWQ4YS4uM2YzN2E2ZSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9vZl9wbGF0Zm9ybS5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvb2ZfcGxhdGZvcm0uYwpAQCAtNzYsNiArNzYsOCBAQAogCQlyZXR1cm4gTlVMTDsKIAogCWRldi0+ZG1hX21hc2sgPSAweGZmZmZmZmZmVUw7CisJZGV2LT5kZXYuY29oZXJlbnRfZG1hX21hc2sgPSBETUFfMzJCSVRfTUFTSzsKKwogCWRldi0+ZGV2LmJ1cyA9ICZvZl9wbGF0Zm9ybV9idXNfdHlwZTsKIAogCS8qIFdlIGRvIG5vdCBmaWxsIHRoZSBETUEgb3BzIGZvciBwbGF0Zm9ybSBkZXZpY2VzIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcGNfa3N5bXMuYwppbmRleCBkM2FjNjMxLi5hOGQwMjUwIDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3BwY19rc3ltcy5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcHBjX2tzeW1zLmMKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlIDxhc20vZGl2NjQuaD4KICNpbmNsdWRlIDxhc20vc2lnbmFsLmg+CiAjaW5jbHVkZSA8YXNtL2Rjci5oPgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KIAogI2lmZGVmIENPTkZJR19QUEMzMgogZXh0ZXJuIHZvaWQgdHJhbnNmZXJfdG9faGFuZGxlcih2b2lkKTsKQEAgLTY3LDYgKzY4LDEwIEBACiBFWFBPUlRfU1lNQk9MKHN5c19zaWdyZXR1cm4pOwogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitFWFBPUlRfU1lNQk9MKF9tY291bnQpOworI2VuZGlmCisKIEVYUE9SVF9TWU1CT0woc3RyY3B5KTsKIEVYUE9SVF9TWU1CT0woc3RybmNweSk7CiBFWFBPUlRfU1lNQk9MKHN0cmNhdCk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3J0YXMuYyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCmluZGV4IDM0ODQzYzMuLjY0N2YzZTggMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvcnRhcy5jCkBAIC03NDcsNyArNzQ3LDcgQEAKIAkvKiBDYWxsIGZ1bmN0aW9uIG9uIGFsbCBDUFVzLiAgT25lIG9mIHVzIHdpbGwgbWFrZSB0aGUKIAkgKiBydGFzIGNhbGwKIAkgKi8KLQlpZiAob25fZWFjaF9jcHUocnRhc19wZXJjcHVfc3VzcGVuZF9tZSwgJmRhdGEsIDEsIDApKQorCWlmIChvbl9lYWNoX2NwdShydGFzX3BlcmNwdV9zdXNwZW5kX21lLCAmZGF0YSwgMCkpCiAJCWRhdGEuZXJyb3IgPSAtRUlOVkFMOwogCiAJd2FpdF9mb3JfY29tcGxldGlvbigmZG9uZSk7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NldHVwXzMyLmMKaW5kZXggNTExMmE0YS4uMTllOGZjYiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zZXR1cF8zMi5jCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvc2V0dXBfMzIuYwpAQCAtODEsNyArODEsNyBAQAogICogZnJvbSB0aGUgYWRkcmVzcyB0aGF0IGl0IHdhcyBsaW5rZWQgYXQsIHNvIHdlIG11c3QgdXNlIFJFTE9DL1BUUlJFTE9DCiAgKiB0byBhY2Nlc3Mgc3RhdGljIGRhdGEgKGluY2x1ZGluZyBzdHJpbmdzKS4gIC0tIHBhdWx1cwogICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBlYXJseV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyKQorbm90cmFjZSB1bnNpZ25lZCBsb25nIF9faW5pdCBlYXJseV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyKQogewogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gcmVsb2Nfb2Zmc2V0KCk7CiAJc3RydWN0IGNwdV9zcGVjICpzcGVjOwpAQCAtMTExLDcgKzExMSw3IEBACiAgKiBUaGlzIGlzIGNhbGxlZCB2ZXJ5IGVhcmx5IG9uIHRoZSBib290IHByb2Nlc3MsIGFmdGVyIGEgbWluaW1hbAogICogTU1VIGVudmlyb25tZW50IGhhcyBiZWVuIHNldCB1cCBidXQgYmVmb3JlIE1NVV9pbml0IGlzIGNhbGxlZC4KICAqLwotdm9pZCBfX2luaXQgbWFjaGluZV9pbml0KHVuc2lnbmVkIGxvbmcgZHRfcHRyLCB1bnNpZ25lZCBsb25nIHBoeXMpCitub3RyYWNlIHZvaWQgX19pbml0IG1hY2hpbmVfaW5pdCh1bnNpZ25lZCBsb25nIGR0X3B0ciwgdW5zaWduZWQgbG9uZyBwaHlzKQogewogCS8qIEVuYWJsZSBlYXJseSBkZWJ1Z2dpbmcgaWYgYW55IHNwZWNpZmllZCAoc2VlIHVkYmcuaCkgKi8KIAl1ZGJnX2Vhcmx5X2luaXQoKTsKQEAgLTEzMyw3ICsxMzMsNyBAQAogCiAjaWZkZWYgQ09ORklHX0JPT0tFX1dEVAogLyogQ2hlY2tzIHdkdD14IGFuZCB3ZHRfcGVyaW9kPXh4IGNvbW1hbmQtbGluZSBvcHRpb24gKi8KLWludCBfX2luaXQgZWFybHlfcGFyc2Vfd2R0KGNoYXIgKnApCitub3RyYWNlIGludCBfX2luaXQgZWFybHlfcGFyc2Vfd2R0KGNoYXIgKnApCiB7CiAJaWYgKHAgJiYgc3RybmNtcChwLCAiMCIsIDEpICE9IDApCiAJICAgICAgIGJvb2tlX3dkdF9lbmFibGVkID0gMTsKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3NtcC5jCmluZGV4IDE0NTdhYTAuLjUxOTFiNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC9wb3dlcnBjL2tlcm5lbC9zbXAuYwpAQCAtNzIsMTIgKzcyLDggQEAKIAogc3RhdGljIHZvbGF0aWxlIHVuc2lnbmVkIGludCBjcHVfY2FsbGluX21hcFtOUl9DUFVTXTsKIAotdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci0KIGludCBzbXRfZW5hYmxlZF9hdF9ib290ID0gMTsKIAotc3RhdGljIGludCBpcGlfZmFpbF9vazsKLQogc3RhdGljIHZvaWQgKCpjcmFzaF9pcGlfZnVuY3Rpb25fcHRyKShzdHJ1Y3QgcHRfcmVncyAqKSA9IE5VTEw7CiAKICNpZmRlZiBDT05GSUdfUFBDNjQKQEAgLTk5LDEyICs5NSwxNSBAQAogewogCXN3aXRjaChtc2cpIHsKIAljYXNlIFBQQ19NU0dfQ0FMTF9GVU5DVElPTjoKLQkJc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CisJCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJCWJyZWFrOwogCWNhc2UgUFBDX01TR19SRVNDSEVEVUxFOgogCQkvKiBYWFggRG8gd2UgaGF2ZSB0byBkbyB0aGlzPyAqLwogCQlzZXRfbmVlZF9yZXNjaGVkKCk7CiAJCWJyZWFrOworCWNhc2UgUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFOgorCQlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKwkJYnJlYWs7CiAJY2FzZSBQUENfTVNHX0RFQlVHR0VSX0JSRUFLOgogCQlpZiAoY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cikgewogCQkJY3Jhc2hfaXBpX2Z1bmN0aW9uX3B0cihnZXRfaXJxX3JlZ3MoKSk7CkBAIC0xMjgsNiArMTI3LDE5IEBACiAJCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfUkVTQ0hFRFVMRSk7CiB9CiAKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQoreworCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSk7Cit9CisKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQoreworCXVuc2lnbmVkIGludCBjcHU7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCXNtcF9vcHMtPm1lc3NhZ2VfcGFzcyhjcHUsIFBQQ19NU0dfQ0FMTF9GVU5DVElPTik7Cit9CisKICNpZmRlZiBDT05GSUdfREVCVUdHRVIKIHZvaWQgc21wX3NlbmRfZGVidWdnZXJfYnJlYWsoaW50IGNwdSkKIHsKQEAgLTE1NCwyMTUgKzE2Niw5IEBACiAJCTsKIH0KIAotLyoKLSAqIFN0cnVjdHVyZSBhbmQgZGF0YSBmb3Igc21wX2NhbGxfZnVuY3Rpb24oKS4gVGhpcyBpcyBkZXNpZ25lZCB0byBtaW5pbWlzZQotICogc3RhdGljIG1lbW9yeSByZXF1aXJlbWVudHMuIEl0IGFsc28gbG9va3MgY2xlYW5lci4KLSAqIFN0b2xlbiBmcm9tIHRoZSBpMzg2IHZlcnNpb24uCi0gKi8KLXN0YXRpYyAgX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGNhbGxfbG9jayk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19ICpjYWxsX2RhdGE7Ci0KLS8qIGRlbGF5IG9mIGF0IGxlYXN0IDggc2Vjb25kcyAqLwotI2RlZmluZSBTTVBfQ0FMTF9USU1FT1VUCTgKLQotLyoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzZW5kIGEgJ2dlbmVyaWMgY2FsbCBmdW5jdGlvbicgSVBJIHRvIG90aGVyIG9ubGluZQotICogQ1BVUyBpbiB0aGUgc3lzdGVtLgotICoKLSAqIFtTVU1NQVJZXSBSdW4gYSBmdW5jdGlvbiBvbiBvdGhlciBDUFVzLgotICogPGZ1bmM+IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCi0gKiA8aW5mbz4gQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiA8bm9uYXRvbWljPiBjdXJyZW50bHkgdW51c2VkLgotICogPHdhaXQ+IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KLSAqIFtSRVRVUk5TXSAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4gRG9lcyBub3QgcmV0dXJuIHVudGlsCi0gKiByZW1vdGUgQ1BVcyBhcmUgbmVhcmx5IHJlYWR5IHRvIGV4ZWN1dGUgPDxmdW5jPj4gb3IgYXJlIG9yIGhhdmUgZXhlY3V0ZWQuCi0gKiA8bWFwPiBpcyBhIGNwdSBtYXAgb2YgdGhlIGNwdXMgdG8gc2VuZCBJUEkgdG8uCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludCBfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcCh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFwKQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7Ci0JaW50IHJldCA9IC0xLCBudW1fY3B1czsKLQlpbnQgY3B1OwotCXU2NCB0aW1lb3V0OwotCi0JaWYgKHVubGlrZWx5KHNtcF9vcHMgPT0gTlVMTCkpCi0JCXJldHVybiByZXQ7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCS8qIHJlbW92ZSAnc2VsZicgZnJvbSB0aGUgbWFwICovCi0JaWYgKGNwdV9pc3NldChzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCkpCi0JCWNwdV9jbGVhcihzbXBfcHJvY2Vzc29yX2lkKCksIG1hcCk7Ci0KLQkvKiBzYW5pdHkgY2hlY2sgdGhlIG1hcCwgcmVtb3ZlIGFueSBub24tb25saW5lIHByb2Nlc3NvcnMuICovCi0JY3B1c19hbmQobWFwLCBtYXAsIGNwdV9vbmxpbmVfbWFwKTsKLQotCW51bV9jcHVzID0gY3B1c193ZWlnaHQobWFwKTsKLQlpZiAoIW51bV9jcHVzKQotCQlnb3RvIGRvbmU7Ci0KLQljYWxsX2RhdGEgPSAmZGF0YTsKLQlzbXBfd21iKCk7Ci0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIENQVXMgaW4gdGhlIG1hcCAqLwotCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFwKQotCQlzbXBfb3BzLT5tZXNzYWdlX3Bhc3MoY3B1LCBQUENfTVNHX0NBTExfRlVOQ1RJT04pOwotCi0JdGltZW91dCA9IGdldF90YigpICsgKHU2NCkgU01QX0NBTExfVElNRU9VVCAqIHRiX3RpY2tzX3Blcl9zZWM7Ci0KLQkvKiBXYWl0IGZvciBpbmRpY2F0aW9uIHRoYXQgdGhleSBoYXZlIHJlY2VpdmVkIHRoZSBtZXNzYWdlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IG51bV9jcHVzKSB7Ci0JCUhNVF9sb3coKTsKLQkJaWYgKGdldF90YigpID49IHRpbWVvdXQpIHsKLQkJCXByaW50aygic21wX2NhbGxfZnVuY3Rpb24gb24gY3B1ICVkOiBvdGhlciBjcHVzIG5vdCAiCi0JCQkJInJlc3BvbmRpbmcgKCVkKVxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQkJCWF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpKTsKLQkJCWlmICghaXBpX2ZhaWxfb2spCi0JCQkJZGVidWdnZXIoTlVMTCk7Ci0JCQlnb3RvIG91dDsKLQkJfQotCX0KLQotCS8qIG9wdGlvbmFsbHkgd2FpdCBmb3IgdGhlIENQVXMgdG8gY29tcGxldGUgKi8KLQlpZiAod2FpdCkgewotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IG51bV9jcHVzKSB7Ci0JCQlITVRfbG93KCk7Ci0JCQlpZiAoZ2V0X3RiKCkgPj0gdGltZW91dCkgewotCQkJCXByaW50aygic21wX2NhbGxfZnVuY3Rpb24gb24gY3B1ICVkOiBvdGhlciAiCi0JCQkJCSJjcHVzIG5vdCBmaW5pc2hpbmcgKCVkLyVkKVxuIiwKLQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQkJCQlhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCksCi0JCQkJCWF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpKTsKLQkJCQlkZWJ1Z2dlcihOVUxMKTsKLQkJCQlnb3RvIG91dDsKLQkJCX0KLQkJfQotCX0KLQotIGRvbmU6Ci0JcmV0ID0gMDsKLQotIG91dDoKLQljYWxsX2RhdGEgPSBOVUxMOwotCUhNVF9tZWRpdW0oKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0aWMgaW50IF9fc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJICAgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCWludCByZXQ7Ci0Jc3Bpbl9sb2NrKCZjYWxsX2xvY2spOwotCXJldCA9X19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LAotCQkJCSAgICAgICBjcHVfb25saW5lX21hcCk7Ci0Jc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JcmV0dXJuIHJldDsKLX0KLQotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQlpbnQgd2FpdCkKLXsKLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JcmV0dXJuIF9fc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0KTsKLX0KLUVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwotCi1pbnQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkgICAgIGludCBub25hdG9taWMsIGludCB3YWl0KQotewotCWNwdW1hc2tfdCBtYXAgPSBDUFVfTUFTS19OT05FOwotCWludCByZXQgPSAwOwotCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKLQotCWlmICghY3B1X29ubGluZShjcHUpKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNwdV9zZXQoY3B1LCBtYXApOwotCWlmIChjcHUgIT0gZ2V0X2NwdSgpKSB7Ci0JCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQkJcmV0ID0gX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgbm9uYXRvbWljLCB3YWl0LCBtYXApOwotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQl9IGVsc2UgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JfQotCXB1dF9jcHUoKTsKLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwotCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlpbnQgbm9sb2NrOwotCi0JLyogSXQncyBPSyB0byBmYWlsIHNlbmRpbmcgdGhlIElQSSwgc2luY2UgdGhlIGFsdGVybmF0aXZlIGlzIHRvCi0JICogYmUgc3R1Y2sgZm9yZXZlciB3YWl0aW5nIG9uIHRoZSBvdGhlciBDUFUgdG8gdGFrZSB0aGUgaW50ZXJydXB0LgotCSAqCi0JICogSXQncyBiZXR0ZXIgdG8gYXQgbGVhc3QgY29udGludWUgYW5kIGdvIHRocm91Z2ggcmVib290LCBzaW5jZSB0aGlzCi0JICogZnVuY3Rpb24gaXMgdXN1YWxseSBjYWxsZWQgYXQgcGFuaWMgb3IgcmVib290IHRpbWUgaW4gdGhlIGZpcnN0Ci0JICogcGxhY2UuCi0JICovCi0JaXBpX2ZhaWxfb2sgPSAxOwotCi0JLyogRG9uJ3QgZGVhZGxvY2sgaW4gY2FzZSB3ZSBnb3QgY2FsbGVkIHRocm91Z2ggcGFuaWMgKi8KLQlub2xvY2sgPSAhc3Bpbl90cnlsb2NrKCZjYWxsX2xvY2spOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDAsIGNwdV9vbmxpbmVfbWFwKTsKLQlpZiAoIW5vbG9jaykKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci19Ci0KLXZvaWQgc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpCi17Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWludCB3YWl0OwotCi0JLyogY2FsbF9kYXRhIHdpbGwgYmUgTlVMTCBpZiB0aGUgc2VuZGVyIHRpbWVkIG91dCB3aGlsZQotCSAqIHdhaXRpbmcgb24gdXMgdG8gcmVjZWl2ZSB0aGUgY2FsbC4KLQkgKi8KLQlpZiAoIWNhbGxfZGF0YSkKLQkJcmV0dXJuOwotCi0JZnVuYyA9IGNhbGxfZGF0YS0+ZnVuYzsKLQlpbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCXdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KLQlpZiAoIXdhaXQpCi0JCXNtcF9tYl9fYmVmb3JlX2F0b21pY19pbmMoKTsKLQotCS8qCi0JICogTm90aWZ5IGluaXRpYXRpbmcgQ1BVIHRoYXQgSSd2ZSBncmFiYmVkIHRoZSBkYXRhIGFuZCBhbQotCSAqIGFib3V0IHRvIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uCi0JICovCi0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KLQkoKmZ1bmMpKGluZm8pOwotCWlmICh3YWl0KSB7Ci0JCXNtcF9tYl9fYmVmb3JlX2F0b21pY19pbmMoKTsKLQkJYXRvbWljX2luYygmY2FsbF9kYXRhLT5maW5pc2hlZCk7Ci0JfQorCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiBleHRlcm4gc3RydWN0IGdldHRpbWVvZmRheV9zdHJ1Y3QgZG9fZ3RvZDsKQEAgLTU5Niw5ICs0MDIsOSBAQAogCiAJc2Vjb25kYXJ5X2NwdV90aW1lX2luaXQoKTsKIAotCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKKwlpcGlfY2FsbF9sb2NrKCk7CiAJY3B1X3NldChjcHUsIGNwdV9vbmxpbmVfbWFwKTsKLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKKwlpcGlfY2FsbF91bmxvY2soKTsKIAogCWxvY2FsX2lycV9lbmFibGUoKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYwppbmRleCA5NjI5NDQwLi4zY2YwZDk0IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtMTIsNiArMTIsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogCiAvKgpAQCAtNDQsMyArNDUsNCBAQAogCQlzcCA9IG5ld3NwOwogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90YXVfNnh4LmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYwppbmRleCAzNjhhNDkzLi5jM2E1NmQ2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RhdV82eHguYwpAQCAtMTkyLDcgKzE5Miw3IEBACiAKIAkvKiBzY2hlZHVsZSBvdXJzZWx2ZXMgdG8gYmUgcnVuIGFnYWluICovCiAJbW9kX3RpbWVyKCZ0YXVfdGltZXIsIGppZmZpZXMgKyBzaHJpbmtfdGltZXIpIDsKLQlvbl9lYWNoX2NwdSh0YXVfdGltZW91dCwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUodGF1X3RpbWVvdXQsIE5VTEwsIDApOwogfQogCiAvKgpAQCAtMjM0LDcgKzIzNCw3IEBACiAJdGF1X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgc2hyaW5rX3RpbWVyOwogCWFkZF90aW1lcigmdGF1X3RpbWVyKTsKIAotCW9uX2VhY2hfY3B1KFRBVV9pbml0X3NtcCwgTlVMTCwgMSwgMCk7CisJb25fZWFjaF9jcHUoVEFVX2luaXRfc21wLCBOVUxMLCAwKTsKIAogCXByaW50aygiVGhlcm1hbCBhc3Npc3QgdW5pdCAiKTsKICNpZmRlZiBDT05GSUdfVEFVX0lOVApkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2tlcm5lbC90aW1lLmMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYwppbmRleCA3MzQwMWU4Li5mMWEzOGE2IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYworKysgYi9hcmNoL3Bvd2VycGMva2VybmVsL3RpbWUuYwpAQCAtMzIyLDcgKzMyMiw3IEBACiB7CiAJaWYgKCFjcHVfaGFzX2ZlYXR1cmUoQ1BVX0ZUUl9QVVJSKSkKIAkJcmV0dXJuOwotCW9uX2VhY2hfY3B1KHNuYXBzaG90X3RiX2FuZF9wdXJyLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShzbmFwc2hvdF90Yl9hbmRfcHVyciwgTlVMTCwgMSk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMgYi9hcmNoL3Bvd2VycGMva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggMGMzMDAwYi4uNTNkNTdkMSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL2tlcm5lbC92bWxpbnV4Lmxkcy5TCisrKyBiL2FyY2gvcG93ZXJwYy9rZXJuZWwvdm1saW51eC5sZHMuUwpAQCAtNjQsOCArNjQsNiBAQAogCiAJTk9URVMKIAotCUJVR19UQUJMRQotCiAvKgogICogSW5pdCBzZWN0aW9ucyBkaXNjYXJkZWQgYXQgcnVudGltZQogICovCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vc2xpY2UuYyBiL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCmluZGV4IGFkOTI4ZWQuLjJiZDEyZDkgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS9zbGljZS5jCkBAIC0yMTgsNyArMjE4LDcgQEAKIAltYigpOwogCiAJLyogWFhYIHRoaXMgaXMgc3ViLW9wdGltYWwgYnV0IHdpbGwgZG8gZm9yIG5vdyAqLwotCW9uX2VhY2hfY3B1KHNsaWNlX2ZsdXNoX3NlZ21lbnRzLCBtbSwgMCwgMSk7CisJb25fZWFjaF9jcHUoc2xpY2VfZmx1c2hfc2VnbWVudHMsIG1tLCAxKTsKICNpZmRlZiBDT05GSUdfU1BVX0JBU0UKIAlzcHVfZmx1c2hfYWxsX3NsYnMobW0pOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMgYi9hcmNoL3Bvd2VycGMvbW0vdGxiXzY0LmMKaW5kZXggZTJkODY3Yy4uNjlhZDgyOSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL21tL3RsYl82NC5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS90bGJfNjQuYwpAQCAtNjYsNyArNjYsNyBAQAogewogCXB0ZV9mcmVlbGlzdF9mb3JjZWRfZnJlZSsrOwogCi0Jc21wX2NhbGxfZnVuY3Rpb24ocHRlX2ZyZWVfc21wX3N5bmMsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHB0ZV9mcmVlX3NtcF9zeW5jLCBOVUxMLCAxKTsKIAogCXBndGFibGVfZnJlZShwZ2YpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jIGIvYXJjaC9wb3dlcnBjL29wcm9maWxlL2NvbW1vbi5jCmluZGV4IDQ5MDhkYzkuLjE3ODA3YWMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9vcHJvZmlsZS9jb21tb24uYworKysgYi9hcmNoL3Bvd2VycGMvb3Byb2ZpbGUvY29tbW9uLmMKQEAgLTY1LDcgKzY1LDcgQEAKIAogCS8qIENvbmZpZ3VyZSB0aGUgcmVnaXN0ZXJzIG9uIGFsbCBjcHVzLgkgSWYgYW4gZXJyb3Igb2NjdXJzIG9uIG9uZQogCSAqIG9mIHRoZSBjcHVzLCBvcF9wZXJfY3B1X3JjIHdpbGwgYmUgc2V0IHRvIHRoZSBlcnJvciAqLwotCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3NldHVwLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zZXR1cCwgTlVMTCwgMSk7CiAKIG91dDoJaWYgKG9wX3Blcl9jcHVfcmMpIHsKIAkJLyogZXJyb3Igb24gc2V0dXAgcmVsZWFzZSB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBoYXJkd2FyZSAqLwpAQCAtMTAwLDcgKzEwMCw3IEBACiAJaWYgKG1vZGVsLT5nbG9iYWxfc3RhcnQpCiAJCXJldHVybiBtb2RlbC0+Z2xvYmFsX3N0YXJ0KGN0cik7CiAJaWYgKG1vZGVsLT5zdGFydCkgewotCQlvbl9lYWNoX2NwdShvcF9wb3dlcnBjX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0YXJ0LCBOVUxMLCAxKTsKIAkJcmV0dXJuIG9wX3Blcl9jcHVfcmM7CiAJfQogCXJldHVybiAtRUlPOyAvKiBObyBzdGFydCBmdW5jdGlvbiBpcyBkZWZpbmVkIGZvciB0aGlzCkBAIC0xMTUsNyArMTE1LDcgQEAKIHN0YXRpYyB2b2lkIG9wX3Bvd2VycGNfc3RvcCh2b2lkKQogewogCWlmIChtb2RlbC0+c3RvcCkKLQkJb25fZWFjaF9jcHUob3BfcG93ZXJwY19jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KG9wX3Bvd2VycGNfY3B1X3N0b3AsIE5VTEwsIDEpOwogICAgICAgICBpZiAobW9kZWwtPmdsb2JhbF9zdG9wKQogICAgICAgICAgICAgICAgIG1vZGVsLT5nbG9iYWxfc3RvcCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jIGIvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9jZWxsL2ludGVycnVwdC5jCmluZGV4IDViZjdkZjEuLjJkNWJiMjIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvY2VsbC9pbnRlcnJ1cHQuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL2NlbGwvaW50ZXJydXB0LmMKQEAgLTIxOCw2ICsyMTgsNyBAQAogewogCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX0NBTExfRlVOQ1RJT04sICJJUEktY2FsbCIpOwogCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX1JFU0NIRURVTEUsICJJUEktcmVzY2hlZCIpOworCWlpY19yZXF1ZXN0X2lwaShQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUsICJJUEktY2FsbC1zaW5nbGUiKTsKICNpZmRlZiBDT05GSUdfREVCVUdHRVIKIAlpaWNfcmVxdWVzdF9pcGkoUFBDX01TR19ERUJVR0dFUl9CUkVBSywgIklQSS1kZWJ1ZyIpOwogI2VuZGlmIC8qIENPTkZJR19ERUJVR0dFUiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZSBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcG93ZXJtYWMvTWFrZWZpbGUKaW5kZXggNGQ3MmM4Zi4uODk3NzQxNyAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wb3dlcm1hYy9NYWtlZmlsZQorKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3Bvd2VybWFjL01ha2VmaWxlCkBAIC0xLDUgKzEsMTAgQEAKIENGTEFHU19ib290eF9pbml0Lm8gIAkJKz0gLWZQSUMKIAoraWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZWFybHkgYm9vdCBjb2RlCitDRkxBR1NfUkVNT1ZFX2Jvb3R4X2luaXQubyA9IC1wZworZW5kaWYKKwogb2JqLXkJCQkJKz0gcGljLm8gc2V0dXAubyB0aW1lLm8gZmVhdHVyZS5vIHBjaS5vIFwKIAkJCQkgICBzbGVlcC5vIGxvd19pMmMubyBjYWNoZS5vIHBmdW5jX2NvcmUubyBcCiAJCQkJICAgcGZ1bmNfYmFzZS5vCmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzMy9zbXAuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCmluZGV4IGYwYjEyZjIuLmEwOTI3YTMgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCisrKyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHMzL3NtcC5jCkBAIC0xMDUsOSArMTA1LDEwIEBACiAJICogdG8gaW5kZXggbmVlZHMgdG8gYmUgc2V0dXAuCiAJICovCiAKLQlCVUlMRF9CVUdfT04oUFBDX01TR19DQUxMX0ZVTkNUSU9OICAhPSAwKTsKLQlCVUlMRF9CVUdfT04oUFBDX01TR19SRVNDSEVEVUxFICAgICAhPSAxKTsKLQlCVUlMRF9CVUdfT04oUFBDX01TR19ERUJVR0dFUl9CUkVBSyAhPSAzKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19DQUxMX0ZVTkNUSU9OICAgICE9IDApOworCUJVSUxEX0JVR19PTihQUENfTVNHX1JFU0NIRURVTEUgICAgICAgIT0gMSk7CisJQlVJTERfQlVHX09OKFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSAhPSAyKTsKKwlCVUlMRF9CVUdfT04oUFBDX01TR19ERUJVR0dFUl9CUkVBSyAgICE9IDMpOwogCiAJZm9yIChpID0gMDsgaSA8IE1TR19DT1VOVDsgaSsrKSB7CiAJCXJlc3VsdCA9IHBzM19ldmVudF9yZWNlaXZlX3BvcnRfc2V0dXAoY3B1LCAmdmlycXNbaV0pOwpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYyBiL2FyY2gvcG93ZXJwYy9wbGF0Zm9ybXMvcHNlcmllcy94aWNzLmMKaW5kZXggZWJlYmMyOC4uMGZjODMwZiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL3BsYXRmb3Jtcy9wc2VyaWVzL3hpY3MuYworKysgYi9hcmNoL3Bvd2VycGMvcGxhdGZvcm1zL3BzZXJpZXMveGljcy5jCkBAIC0zODMsMTMgKzM4MywxMSBAQAogCQkJbWIoKTsKIAkJCXNtcF9tZXNzYWdlX3JlY3YoUFBDX01TR19SRVNDSEVEVUxFKTsKIAkJfQotI2lmIDAKLQkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX01JR1JBVEVfVEFTSywKKwkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX0NBTExfRlVOQ19TSU5HTEUsCiAJCQkJICAgICAgICZ4aWNzX2lwaV9tZXNzYWdlW2NwdV0udmFsdWUpKSB7CiAJCQltYigpOwotCQkJc21wX21lc3NhZ2VfcmVjdihQUENfTVNHX01JR1JBVEVfVEFTSyk7CisJCQlzbXBfbWVzc2FnZV9yZWN2KFBQQ19NU0dfQ0FMTF9GVU5DX1NJTkdMRSk7CiAJCX0KLSNlbmRpZgogI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHR0VSKSB8fCBkZWZpbmVkKENPTkZJR19LRVhFQykKIAkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQUENfTVNHX0RFQlVHR0VSX0JSRUFLLAogCQkJCSAgICAgICAmeGljc19pcGlfbWVzc2FnZVtjcHVdLnZhbHVlKSkgewpkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL3N5c2Rldi9tcGljLmMgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYwppbmRleCA3NjgwMDAxLi42YzkwYzk1IDEwMDY0NAotLS0gYS9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYworKysgYi9hcmNoL3Bvd2VycGMvc3lzZGV2L21waWMuYwpAQCAtMTQ5NCw3ICsxNDk0LDcgQEAKIAlzdGF0aWMgY2hhciAqaXBpX25hbWVzW10gPSB7CiAJCSJJUEkwIChjYWxsIGZ1bmN0aW9uKSIsCiAJCSJJUEkxIChyZXNjaGVkdWxlKSIsCi0JCSJJUEkyICh1bnVzZWQpIiwKKwkJIklQSTIgKGNhbGwgZnVuY3Rpb24gc2luZ2xlKSIsCiAJCSJJUEkzIChkZWJ1Z2dlciBicmVhaykiLAogCX07CiAJQlVHX09OKG1waWMgPT0gTlVMTCk7CmRpZmYgLS1naXQgYS9hcmNoL3BwYy9rZXJuZWwvc21wLmMgYi9hcmNoL3BwYy9rZXJuZWwvc21wLmMKaW5kZXggMDU1OTk4NS4uYmNhYjBkMiAxMDA2NDQKLS0tIGEvYXJjaC9wcGMva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvcHBjL2tlcm5lbC9zbXAuYwpAQCAtMTUyLDcgKzE1Miw3IEBACiAKIHZvaWQgc21wX3NlbmRfc3RvcCh2b2lkKQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL0tjb25maWcgYi9hcmNoL3MzOTAvS2NvbmZpZwppbmRleCAxMDdlNDkyLi41ZGM4ZjgwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvS2NvbmZpZworKysgYi9hcmNoL3MzOTAvS2NvbmZpZwpAQCAtMTQ2LDYgKzE0Niw3IEBACiBjb25maWcgQ09NUEFUCiAJYm9vbCAiS2VybmVsIHN1cHBvcnQgZm9yIDMxIGJpdCBlbXVsYXRpb24iCiAJZGVwZW5kcyBvbiA2NEJJVAorCXNlbGVjdCBDT01QQVRfQklORk1UX0VMRgogCWhlbHAKIAkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBlbmFibGUgeW91ciBzeXN0ZW0ga2VybmVsIHRvCiAJICBoYW5kbGUgc3lzdGVtLWNhbGxzIGZyb20gRUxGIGJpbmFyaWVzIGZvciAzMSBiaXQgRVNBLiAgVGhpcyBvcHRpb24KQEAgLTMxMiw2ICszMTMsMTAgQEAKIGNvbmZpZyBBUkNIX1NFTEVDVF9NRU1PUllfTU9ERUwKICAgICAgICBkZWZfYm9vbCB5CiAKK2NvbmZpZyBBUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRworCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFNQQVJTRU1FTQorCiBzb3VyY2UgIm1tL0tjb25maWciCiAKIGNvbW1lbnQgIkkvTyBzdWJzeXN0ZW0gY29uZmlndXJhdGlvbiIKQEAgLTM0NCw2ICszNDksMjIgQEAKIAogCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAorY29uZmlnIENIU0NfU0NICisJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIENIU0Mgc3ViY2hhbm5lbHMiCisJaGVscAorCSAgVGhpcyBkcml2ZXIgYWxsb3dzIHVzYWdlIG9mIENIU0Mgc3ViY2hhbm5lbHMuIEEgQ0hTQyBzdWJjaGFubmVsCisJICBpcyB1c3VhbGx5IHByZXNlbnQgb24gTFBBUiBvbmx5LgorCSAgVGhlIGRyaXZlciBjcmVhdGVzIGEgZGV2aWNlIC9kZXYvY2hzYywgd2hpY2ggbWF5IGJlIHVzZWQgdG8KKwkgIG9idGFpbiBJL08gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWFjaGluZSBhbmQKKwkgIHRvIGlzc3VlIGFzeW5jaHJvbm91cyBjaHNjIGNvbW1hbmRzIChEQU5HRVJPVVMpLgorCSAgWW91IHdpbGwgdXN1YWxseSBvbmx5IHdhbnQgdG8gdXNlIHRoaXMgaW50ZXJmYWNlIG9uIGEgc3BlY2lhbAorCSAgTFBBUiBkZXNpZ25hdGVkIGZvciBzeXN0ZW0gbWFuYWdlbWVudC4KKworCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlCisJICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgY2hzY19zY2guCisKKwkgIElmIHVuc3VyZSwgc2F5IE4uCisKIGNvbW1lbnQgIk1pc2MiCiAKIGNvbmZpZyBJUEwKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YS5oIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKaW5kZXggZGIzYWU4NS4uMTdhMjYzNiAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhLmgKQEAgLTMsMTMgKzMsMTEgQEAKICAqCiAgKiBEZWZpbml0aW9ucyBhbmQgaW50ZXJmYWNlIGZvciBMaW51eCAtIHovVk0gTW9uaXRvciBTdHJlYW0uCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDAzLDIwMDYgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMywgMjAwOAogICoKICAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwogCi0vLyNkZWZpbmUgQVBQTERBVEFfREVCVUcJCQkvKiBEZWJ1ZyBtZXNzYWdlcyBvbi9vZmYgKi8KLQogI2RlZmluZSBBUFBMREFUQV9NQVhfUkVDX1NJWkUJICA0MDI0CS8qIE1heGltdW0gc2l6ZSBvZiB0aGUgKi8KIAkJCQkJLyogZGF0YSBidWZmZXIgKi8KICNkZWZpbmUgQVBQTERBVEFfTUFYX1BST0NTIDEwMApAQCAtMzIsMTIgKzMwLDYgQEAKICNkZWZpbmUgUF9FUlJPUih4Li4uKQlwcmludGsoS0VSTl9FUlIgTVlfUFJJTlRfTkFNRSAiIGVycm9yOiAiIHgpCiAjZGVmaW5lIFBfV0FSTklORyh4Li4uKQlwcmludGsoS0VSTl9XQVJOSU5HIE1ZX1BSSU5UX05BTUUgIiBzdGF0dXM6ICIgeCkKIAotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0jZGVmaW5lIFBfREVCVUcoeC4uLikgICBwcmludGsoS0VSTl9ERUJVRyBNWV9QUklOVF9OQU1FICIgZGVidWc6ICIgeCkKLSNlbHNlCi0jZGVmaW5lIFBfREVCVUcoeC4uLikgICBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotCiBzdHJ1Y3QgYXBwbGRhdGFfb3BzIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CiAJc3RydWN0IGN0bF90YWJsZV9oZWFkZXIgKnN5c2N0bF9oZWFkZXI7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX2Jhc2UuYwppbmRleCBhZDQwNzI5Li5hN2Y4OTc5IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfYmFzZS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9iYXNlLmMKQEAgLTUsNyArNSw3IEBACiAgKiBFeHBvcnRzIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygpIGFuZCBhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygpIGZvciB0aGUKICAqIGRhdGEgZ2F0aGVyaW5nIG1vZHVsZXMuCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDAzLDIwMDYgSUJNIENvcnBvcmF0aW9uLCBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSC4KKyAqIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMywgMjAwOAogICoKICAqIEF1dGhvcjogR2VyYWxkIFNjaGFlZmVyIDxnZXJhbGQuc2NoYWVmZXJAZGUuaWJtLmNvbT4KICAqLwpAQCAtMTA4LDkgKzEwOCw2IEBACiAgKi8KIHN0YXRpYyB2b2lkIGFwcGxkYXRhX3RpbWVyX2Z1bmN0aW9uKHVuc2lnbmVkIGxvbmcgZGF0YSkKIHsKLQlQX0RFQlVHKCIgICAtPSBUaW1lciA9LVxuIik7Ci0JUF9ERUJVRygiQ1BVOiAlaSwgZXhwaXJlX2NvdW50OiAlaVxuIiwgc21wX3Byb2Nlc3Nvcl9pZCgpLAotCQlhdG9taWNfcmVhZCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50KSk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmFwcGxkYXRhX2V4cGlyZV9jb3VudCkpIHsKIAkJYXRvbWljX3NldCgmYXBwbGRhdGFfZXhwaXJlX2NvdW50LCBudW1fb25saW5lX2NwdXMoKSk7CiAJCXF1ZXVlX3dvcmsoYXBwbGRhdGFfd3EsIChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKikgZGF0YSk7CkBAIC0xMjgsMTQgKzEyNSwxMSBAQAogCXN0cnVjdCBhcHBsZGF0YV9vcHMgKm9wczsKIAlpbnQgaTsKIAotCVBfREVCVUcoIiAgLT0gV29yayBRdWV1ZSA9LVxuIik7CiAJaSA9IDA7CiAJZ2V0X29ubGluZV9jcHVzKCk7CiAJc3Bpbl9sb2NrKCZhcHBsZGF0YV9vcHNfbG9jayk7CiAJbGlzdF9mb3JfZWFjaChsaCwgJmFwcGxkYXRhX29wc19saXN0KSB7CiAJCW9wcyA9IGxpc3RfZW50cnkobGgsIHN0cnVjdCBhcHBsZGF0YV9vcHMsIGxpc3QpOwotCQlQX0RFQlVHKCJsaXN0X2Zvcl9lYWNoIGxvb3A6ICVpKSBhY3RpdmUgPSAldSwgbmFtZSA9ICVzXG4iLAotCQkJKytpLCBvcHMtPmFjdGl2ZSwgb3BzLT5uYW1lKTsKIAkJaWYgKG9wcy0+YWN0aXZlID09IDEpIHsKIAkJCW9wcy0+Y2FsbGJhY2sob3BzLT5kYXRhKTsKIAkJfQpAQCAtMjA5LDEwICsyMDMsOSBAQAogCQkJcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSkuZXhwaXJlcyA9IHBlcl9jcHVfaW50ZXJ2YWw7CiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaSwgYWRkX3ZpcnRfdGltZXJfcGVyaW9kaWMsCiAJCQkJCQkgJnBlcl9jcHUoYXBwbGRhdGFfdGltZXIsIGkpLAotCQkJCQkJIDAsIDEpOworCQkJCQkJIDEpOwogCQl9CiAJCWFwcGxkYXRhX3RpbWVyX2FjdGl2ZSA9IDE7Ci0JCVBfSU5GTygiTW9uaXRvcmluZyB0aW1lciBzdGFydGVkLlxuIik7CiAJCWJyZWFrOwogCWNhc2UgQVBQTERBVEFfREVMX1RJTUVSOgogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpCkBAIC0yMjEsNyArMjE0LDYgQEAKIAkJCWJyZWFrOwogCQlhcHBsZGF0YV90aW1lcl9hY3RpdmUgPSAwOwogCQlhdG9taWNfc2V0KCZhcHBsZGF0YV9leHBpcmVfY291bnQsIG51bV9vbmxpbmVfY3B1cygpKTsKLQkJUF9JTkZPKCJNb25pdG9yaW5nIHRpbWVyIHN0b3BwZWQuXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBBUFBMREFUQV9NT0RfVElNRVI6CiAJCXBlcl9jcHVfaW50ZXJ2YWwgPSAodTY0KSAoYXBwbGRhdGFfaW50ZXJ2YWwqMTAwMCAvCkBAIC0yMzYsNyArMjI4LDcgQEAKIAkJCWFyZ3MudGltZXIgPSAmcGVyX2NwdShhcHBsZGF0YV90aW1lciwgaSk7CiAJCQlhcmdzLmV4cGlyZXMgPSBwZXJfY3B1X2ludGVydmFsOwogCQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGksIF9fYXBwbGRhdGFfbW9kX3Z0aW1lcl93cmFwLAotCQkJCQkJICZhcmdzLCAwLCAxKTsKKwkJCQkJCSAmYXJncywgMSk7CiAJCX0KIAl9CiB9CkBAIC0zMTMsMTAgKzMwNSw4IEBACiAJfQogCWludGVydmFsID0gMDsKIAlzc2NhbmYoYnVmLCAiJWkiLCAmaW50ZXJ2YWwpOwotCWlmIChpbnRlcnZhbCA8PSAwKSB7Ci0JCVBfRVJST1IoIlRpbWVyIENQVSBpbnRlcnZhbCBoYXMgdG8gYmUgPiAwIVxuIik7CisJaWYgKGludGVydmFsIDw9IDApCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAogCWdldF9vbmxpbmVfY3B1cygpOwogCXNwaW5fbG9jaygmYXBwbGRhdGFfdGltZXJfbG9jayk7CkBAIC0zMjQsOSArMzE0LDYgQEAKIAlfX2FwcGxkYXRhX3Z0aW1lcl9zZXR1cChBUFBMREFUQV9NT0RfVElNRVIpOwogCXNwaW5fdW5sb2NrKCZhcHBsZGF0YV90aW1lcl9sb2NrKTsKIAlwdXRfb25saW5lX2NwdXMoKTsKLQotCVBfSU5GTygiTW9uaXRvcmluZyBDUFUgaW50ZXJ2YWwgc2V0IHRvICV1IG1pbGxpc2Vjb25kcy5cbiIsCi0JCSBpbnRlcnZhbCk7CiBvdXQ6CiAJKmxlbnAgPSBsZW47CiAJKnBwb3MgKz0gbGVuOwpAQCAtNDA2LDIzICszOTMsMTYgQEAKIAkJCVBfRVJST1IoIlNUQVJUIERJQUcgMHhEQyBmb3IgJXMgZmFpbGVkLCAiCiAJCQkJInJldHVybiBjb2RlOiAlZFxuIiwgb3BzLT5uYW1lLCByYyk7CiAJCQltb2R1bGVfcHV0KG9wcy0+b3duZXIpOwotCQl9IGVsc2UgewotCQkJUF9JTkZPKCJNb25pdG9yaW5nICVzIGRhdGEgZW5hYmxlZCwgIgotCQkJCSJESUFHIDB4REMgc3RhcnRlZC5cbiIsIG9wcy0+bmFtZSk7CisJCX0gZWxzZQogCQkJb3BzLT5hY3RpdmUgPSAxOwotCQl9CiAJfSBlbHNlIGlmICgoYnVmWzBdID09ICcwJykgJiYgKG9wcy0+YWN0aXZlID09IDEpKSB7CiAJCW9wcy0+YWN0aXZlID0gMDsKIAkJcmMgPSBhcHBsZGF0YV9kaWFnKG9wcy0+cmVjb3JkX25yLCBBUFBMREFUQV9TVE9QX1JFQywKIAkJCQkodW5zaWduZWQgbG9uZykgb3BzLT5kYXRhLCBvcHMtPnNpemUsCiAJCQkJb3BzLT5tb2RfbHZsKTsKLQkJaWYgKHJjICE9IDApIHsKKwkJaWYgKHJjICE9IDApCiAJCQlQX0VSUk9SKCJTVE9QIERJQUcgMHhEQyBmb3IgJXMgZmFpbGVkLCAiCiAJCQkJInJldHVybiBjb2RlOiAlZFxuIiwgb3BzLT5uYW1lLCByYyk7Ci0JCX0gZWxzZSB7Ci0JCQlQX0lORk8oIk1vbml0b3JpbmcgJXMgZGF0YSBkaXNhYmxlZCwgIgotCQkJCSJESUFHIDB4REMgc3RvcHBlZC5cbiIsIG9wcy0+bmFtZSk7Ci0JCX0KIAkJbW9kdWxlX3B1dChvcHMtPm93bmVyKTsKIAl9CiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKQEAgLTQ2OCw3ICs0NDgsNiBAQAogCW9wcy0+c3lzY3RsX2hlYWRlciA9IHJlZ2lzdGVyX3N5c2N0bF90YWJsZShvcHMtPmN0bF90YWJsZSk7CiAJaWYgKCFvcHMtPnN5c2N0bF9oZWFkZXIpCiAJCWdvdG8gb3V0OwotCVBfSU5GTygiJXMtb3BzIHJlZ2lzdGVyZWQhXG4iLCBvcHMtPm5hbWUpOwogCXJldHVybiAwOwogb3V0OgogCXNwaW5fbG9jaygmYXBwbGRhdGFfb3BzX2xvY2spOwpAQCAtNDkwLDcgKzQ2OSw2IEBACiAJc3Bpbl91bmxvY2soJmFwcGxkYXRhX29wc19sb2NrKTsKIAl1bnJlZ2lzdGVyX3N5c2N0bF90YWJsZShvcHMtPnN5c2N0bF9oZWFkZXIpOwogCWtmcmVlKG9wcy0+Y3RsX3RhYmxlKTsKLQlQX0lORk8oIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMtPm5hbWUpOwogfQogLyoqKioqKioqKioqKioqKioqKioqKiogbW9kdWxlLW9wcyBtYW5hZ2VtZW50IDxFTkQ+ICoqKioqKioqKioqKioqKioqKioqKioqKioqLwogCkBAIC01NTMsMTQgKzUzMSw5IEBACiB7CiAJaW50IGk7CiAKLQlQX0RFQlVHKCJzaXplb2YocGFyYW1ldGVyX2xpc3QpID0gJWx1XG4iLAotCQlzaXplb2Yoc3RydWN0IGFwcGxkYXRhX3BhcmFtZXRlcl9saXN0KSk7Ci0KIAlhcHBsZGF0YV93cSA9IGNyZWF0ZV9zaW5nbGV0aHJlYWRfd29ya3F1ZXVlKCJhcHBsZGF0YSIpOwotCWlmICghYXBwbGRhdGFfd3EpIHsKLQkJUF9FUlJPUigiQ291bGQgbm90IGNyZWF0ZSB3b3JrIHF1ZXVlXG4iKTsKKwlpZiAoIWFwcGxkYXRhX3dxKQogCQlyZXR1cm4gLUVOT01FTTsKLQl9CiAKIAlnZXRfb25saW5lX2NwdXMoKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGkpCkBAIC01NzEsOCArNTQ0LDYgQEAKIAlyZWdpc3Rlcl9ob3RjcHVfbm90aWZpZXIoJmFwcGxkYXRhX25iKTsKIAogCWFwcGxkYXRhX3N5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUoYXBwbGRhdGFfZGlyX3RhYmxlKTsKLQotCVBfREVCVUcoIkJhc2UgaW50ZXJmYWNlIGluaXRpYWxpemVkLlxuIik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU4NCw3ICs1NTUsOSBAQAogRVhQT1JUX1NZTUJPTF9HUEwoYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMpOwogRVhQT1JUX1NZTUJPTF9HUEwoYXBwbGRhdGFfZGlhZyk7CiAKKyNpZmRlZiBDT05GSUdfU1dBUAogRVhQT1JUX1NZTUJPTF9HUEwoc2lfc3dhcGluZm8pOworI2VuZGlmCiBFWFBPUlRfU1lNQk9MX0dQTChucl90aHJlYWRzKTsKIEVYUE9SVF9TWU1CT0xfR1BMKG5yX3J1bm5pbmcpOwogRVhQT1JUX1NZTUJPTF9HUEwobnJfaW93YWl0KTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9tZW0uYwppbmRleCA1MTE4MWNjLi4zZWQ1NmI3IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbWVtLmMKKysrIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX21lbS5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CiAKICNpbmNsdWRlICJhcHBsZGF0YS5oIgogCiAKLSNkZWZpbmUgTVlfUFJJTlRfTkFNRSAiYXBwbGRhdGFfbWVtIgkJLyogZm9yIGRlYnVnIG1lc3NhZ2VzLCBldGMuICovCiAjZGVmaW5lIFAySyh4KSAoKHgpIDw8IChQQUdFX1NISUZUIC0gMTApKQkvKiBDb252ZXJ0cyAjUGFnZXMgdG8gS0IgKi8KIAogLyoKQEAgLTcwLDMwICs2OSw2IEBACiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFwcGxkYXRhX21lbV9kYXRhOwogCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBhcHBsZGF0YV9kZWJ1Z19wcmludChzdHJ1Y3QgYXBwbGRhdGFfbWVtX2RhdGEgKm1lbV9kYXRhKQotewotCVBfREVCVUcoIi0tLSBNRU0gLSBSRUNPUkQgLS0tXG4iKTsKLQlQX0RFQlVHKCJwZ3BnaW4gICAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnBncGdpbik7Ci0JUF9ERUJVRygicGdwZ291dCAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5wZ3Bnb3V0KTsKLQlQX0RFQlVHKCJwc3dwaW4gICAgID0gJThsdSBQYWdlc1xuIiwgbWVtX2RhdGEtPnBzd3Bpbik7Ci0JUF9ERUJVRygicHN3cG91dCAgICA9ICU4bHUgUGFnZXNcbiIsIG1lbV9kYXRhLT5wc3dwb3V0KTsKLQlQX0RFQlVHKCJwZ2FsbG9jICAgID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ2FsbG9jKTsKLQlQX0RFQlVHKCJwZ2ZhdWx0ICAgID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ2ZhdWx0KTsKLQlQX0RFQlVHKCJwZ21hamZhdWx0ID0gJThsdSBcbiIsIG1lbV9kYXRhLT5wZ21hamZhdWx0KTsKLQlQX0RFQlVHKCJzaGFyZWRyYW0gID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnNoYXJlZHJhbSk7Ci0JUF9ERUJVRygidG90YWxyYW0gICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT50b3RhbHJhbSk7Ci0JUF9ERUJVRygiZnJlZXJhbSAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlcmFtKTsKLQlQX0RFQlVHKCJ0b3RhbGhpZ2ggID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFsaGlnaCk7Ci0JUF9ERUJVRygiZnJlZWhpZ2ggICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlaGlnaCk7Ci0JUF9ERUJVRygiYnVmZmVycmFtICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5idWZmZXJyYW0pOwotCVBfREVCVUcoImNhY2hlZCAgICAgPSAlOGx1IEtCXG4iLCBtZW1fZGF0YS0+Y2FjaGVkKTsKLQlQX0RFQlVHKCJ0b3RhbHN3YXAgID0gJThsdSBLQlxuIiwgbWVtX2RhdGEtPnRvdGFsc3dhcCk7Ci0JUF9ERUJVRygiZnJlZXN3YXAgICA9ICU4bHUgS0JcbiIsIG1lbV9kYXRhLT5mcmVlc3dhcCk7Ci0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG1lbV9kYXRhLT5zeW5jX2NvdW50XzEpOwotCVBfREVCVUcoInN5bmNfY291bnRfMiA9ICV1XG4iLCBtZW1fZGF0YS0+c3luY19jb3VudF8yKTsKLQlQX0RFQlVHKCJ0aW1lc3RhbXAgICAgPSAlbFhcbiIsIG1lbV9kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X21lbV9kYXRhKCkKICAqCkBAIC0xNDAsOSArMTE1LDYgQEAKIAogCW1lbV9kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAltZW1fZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9kZWJ1Z19wcmludChtZW1fZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0xNjQsMTcgKzEzNiw3IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IGFwcGxkYXRhX21lbV9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JUF9ERUJVRygic2l6ZW9mKG1lbSkgPSAlbHVcbiIsIHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfbWVtX2RhdGEpKTsKLQotCXJjID0gYXBwbGRhdGFfcmVnaXN0ZXJfb3BzKCZvcHMpOwotCWlmIChyYyAhPSAwKSB7Ci0JCVBfRVJST1IoIkVycm9yIHJlZ2lzdGVyaW5nIG9wcywgcmMgPSAlaVxuIiwgcmMpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KLQlyZXR1cm4gcmM7CisJcmV0dXJuIGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKIH0KIAogLyoKQEAgLTE4NSw3ICsxNDcsNiBAQAogc3RhdGljIHZvaWQgX19leGl0IGFwcGxkYXRhX21lbV9leGl0KHZvaWQpCiB7CiAJYXBwbGRhdGFfdW5yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JUF9ERUJVRygiJXMtb3BzIHVucmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKIH0KIAogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jIGIvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX25ldF9zdW0uYwppbmRleCA0ZDgzNDQzLi4zYjc0NjU1IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfbmV0X3N1bS5jCisrKyBiL2FyY2gvczM5MC9hcHBsZGF0YS9hcHBsZGF0YV9uZXRfc3VtLmMKQEAgLTIxLDkgKzIxLDYgQEAKICNpbmNsdWRlICJhcHBsZGF0YS5oIgogCiAKLSNkZWZpbmUgTVlfUFJJTlRfTkFNRQkiYXBwbGRhdGFfbmV0X3N1bSIJLyogZm9yIGRlYnVnIG1lc3NhZ2VzLCBldGMuICovCi0KLQogLyoKICAqIE5ldHdvcmsgZGF0YQogICoKQEAgLTYwLDI2ICs1Nyw2IEBACiB9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGFwcGxkYXRhX25ldF9zdW1fZGF0YTsKIAogCi1zdGF0aWMgaW5saW5lIHZvaWQgYXBwbGRhdGFfcHJpbnRfZGVidWcoc3RydWN0IGFwcGxkYXRhX25ldF9zdW1fZGF0YSAqbmV0X2RhdGEpCi17Ci0JUF9ERUJVRygiLS0tIE5FVCAtIFJFQ09SRCAtLS1cbiIpOwotCi0JUF9ERUJVRygibnJfaW50ZXJmYWNlcyA9ICV1XG4iLCBuZXRfZGF0YS0+bnJfaW50ZXJmYWNlcyk7Ci0JUF9ERUJVRygicnhfcGFja2V0cyAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9wYWNrZXRzKTsKLQlQX0RFQlVHKCJ0eF9wYWNrZXRzICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X3BhY2tldHMpOwotCVBfREVCVUcoInJ4X2J5dGVzICAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfYnl0ZXMpOwotCVBfREVCVUcoInR4X2J5dGVzICAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+dHhfYnl0ZXMpOwotCVBfREVCVUcoInJ4X2Vycm9ycyAgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+cnhfZXJyb3JzKTsKLQlQX0RFQlVHKCJ0eF9lcnJvcnMgICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2Vycm9ycyk7Ci0JUF9ERUJVRygicnhfZHJvcHBlZCAgICA9ICU4bHVcbiIsIG5ldF9kYXRhLT5yeF9kcm9wcGVkKTsKLQlQX0RFQlVHKCJ0eF9kcm9wcGVkICAgID0gJThsdVxuIiwgbmV0X2RhdGEtPnR4X2Ryb3BwZWQpOwotCVBfREVCVUcoImNvbGxpc2lvbnMgICAgPSAlOGx1XG4iLCBuZXRfZGF0YS0+Y29sbGlzaW9ucyk7Ci0KLQlQX0RFQlVHKCJzeW5jX2NvdW50XzEgPSAldVxuIiwgbmV0X2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG5ldF9kYXRhLT5zeW5jX2NvdW50XzIpOwotCVBfREVCVUcoInRpbWVzdGFtcCAgICA9ICVsWFxuIiwgbmV0X2RhdGEtPnRpbWVzdGFtcCk7Ci19Ci0KIC8qCiAgKiBhcHBsZGF0YV9nZXRfbmV0X3N1bV9kYXRhKCkKICAqCkBAIC0xMzUsOSArMTEyLDYgQEAKIAogCW5ldF9kYXRhLT50aW1lc3RhbXAgPSBnZXRfY2xvY2soKTsKIAluZXRfZGF0YS0+c3luY19jb3VudF8yKys7Ci0jaWZkZWYgQVBQTERBVEFfREVCVUcKLQlhcHBsZGF0YV9wcmludF9kZWJ1ZyhuZXRfZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0xNTksMTcgKzEzMyw3IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IGFwcGxkYXRhX25ldF9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JUF9ERUJVRygic2l6ZW9mKG5ldCkgPSAlbHVcbiIsIHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfbmV0X3N1bV9kYXRhKSk7Ci0KLQlyYyA9IGFwcGxkYXRhX3JlZ2lzdGVyX29wcygmb3BzKTsKLQlpZiAocmMgIT0gMCkgewotCQlQX0VSUk9SKCJFcnJvciByZWdpc3RlcmluZyBvcHMsIHJjID0gJWlcbiIsIHJjKTsKLQl9IGVsc2UgewotCQlQX0RFQlVHKCIlcy1vcHMgcmVnaXN0ZXJlZCFcbiIsIG9wcy5uYW1lKTsKLQl9Ci0JcmV0dXJuIHJjOworCXJldHVybiBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7CiB9CiAKIC8qCkBAIC0xODAsNyArMTQ0LDYgQEAKIHN0YXRpYyB2b2lkIF9fZXhpdCBhcHBsZGF0YV9uZXRfZXhpdCh2b2lkKQogewogCWFwcGxkYXRhX3VucmVnaXN0ZXJfb3BzKCZvcHMpOwotCVBfREVCVUcoIiVzLW9wcyB1bnJlZ2lzdGVyZWQhXG4iLCBvcHMubmFtZSk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2FwcGxkYXRhL2FwcGxkYXRhX29zLmMgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYwppbmRleCA2YjNlYWZlLi5lYjQ0ZjlmIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYworKysgYi9hcmNoL3MzOTAvYXBwbGRhdGEvYXBwbGRhdGFfb3MuYwpAQCAtODksNDQgKzg5LDYgQEAKIH07CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGFwcGxkYXRhX3ByaW50X2RlYnVnKHN0cnVjdCBhcHBsZGF0YV9vc19kYXRhICpvc19kYXRhKQotewotCWludCBhMCwgYTEsIGEyLCBpOwotCi0JUF9ERUJVRygiLS0tIE9TIC0gUkVDT1JEIC0tLVxuIik7Ci0JUF9ERUJVRygibnJfdGhyZWFkcyAgID0gJXVcbiIsIG9zX2RhdGEtPm5yX3RocmVhZHMpOwotCVBfREVCVUcoIm5yX3J1bm5pbmcgICA9ICV1XG4iLCBvc19kYXRhLT5ucl9ydW5uaW5nKTsKLQlQX0RFQlVHKCJucl9pb3dhaXQgICAgPSAldVxuIiwgb3NfZGF0YS0+bnJfaW93YWl0KTsKLQlQX0RFQlVHKCJhdmVucnVuKGludCkgPSAlOHggLyAlOHggLyAlOHhcbiIsIG9zX2RhdGEtPmF2ZW5ydW5bMF0sCi0JCW9zX2RhdGEtPmF2ZW5ydW5bMV0sIG9zX2RhdGEtPmF2ZW5ydW5bMl0pOwotCWEwID0gb3NfZGF0YS0+YXZlbnJ1blswXTsKLQlhMSA9IG9zX2RhdGEtPmF2ZW5ydW5bMV07Ci0JYTIgPSBvc19kYXRhLT5hdmVucnVuWzJdOwotCVBfREVCVUcoImF2ZW5ydW4oZmxvYXQpID0gJWQuJTAyZCAvICVkLiUwMmQgLyAlZC4lMDJkXG4iLAotCQlMT0FEX0lOVChhMCksIExPQURfRlJBQyhhMCksIExPQURfSU5UKGExKSwgTE9BRF9GUkFDKGExKSwKLQkJTE9BRF9JTlQoYTIpLCBMT0FEX0ZSQUMoYTIpKTsKLQotCVBfREVCVUcoIm5yX2NwdXMgPSAldVxuIiwgb3NfZGF0YS0+bnJfY3B1cyk7Ci0JZm9yIChpID0gMDsgaSA8IG9zX2RhdGEtPm5yX2NwdXM7IGkrKykgewotCQlQX0RFQlVHKCJjcHUldSA6IHVzZXIgPSAldSwgbmljZSA9ICV1LCBzeXN0ZW0gPSAldSwgIgotCQkJImlkbGUgPSAldSwgaXJxID0gJXUsIHNvZnRpcnEgPSAldSwgaW93YWl0ID0gJXUsICIKLQkJCSJzdGVhbCA9ICV1XG4iLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5jcHVfaWQsCi0JCQkJb3NfZGF0YS0+b3NfY3B1W2ldLnBlcl9jcHVfdXNlciwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9uaWNlLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X3N5c3RlbSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9pZGxlLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lycSwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zb2Z0aXJxLAotCQkJCW9zX2RhdGEtPm9zX2NwdVtpXS5wZXJfY3B1X2lvd2FpdCwKLQkJCQlvc19kYXRhLT5vc19jcHVbaV0ucGVyX2NwdV9zdGVhbCk7Ci0JfQotCi0JUF9ERUJVRygic3luY19jb3VudF8xID0gJXVcbiIsIG9zX2RhdGEtPnN5bmNfY291bnRfMSk7Ci0JUF9ERUJVRygic3luY19jb3VudF8yID0gJXVcbiIsIG9zX2RhdGEtPnN5bmNfY291bnRfMik7Ci0JUF9ERUJVRygidGltZXN0YW1wICAgID0gJWxYXG4iLCBvc19kYXRhLT50aW1lc3RhbXApOwotfQotCiAvKgogICogYXBwbGRhdGFfZ2V0X29zX2RhdGEoKQogICoKQEAgLTE4MCwxMyArMTQyLDEwIEBACiAJCQkJCSAgIEFQUExEQVRBX1NUQVJUX0lOVEVSVkFMX1JFQywKIAkJCQkJICAgKHVuc2lnbmVkIGxvbmcpIG9wcy5kYXRhLCBuZXdfc2l6ZSwKIAkJCQkJICAgb3BzLm1vZF9sdmwpOwotCQkJaWYgKHJjICE9IDApIHsKKwkJCWlmIChyYyAhPSAwKQogCQkJCVBfRVJST1IoIm9zOiBTVEFSVCBORVcgRElBRyAweERDIGZhaWxlZCwgIgogCQkJCQkicmV0dXJuIGNvZGU6ICVkLCBuZXcgc2l6ZSA9ICVpXG4iLCByYywKIAkJCQkJbmV3X3NpemUpOwotCQkJCVBfSU5GTygib3M6IHN0b3BwaW5nIG9sZCByZWNvcmQgbm93XG4iKTsKLQkJCX0gZWxzZQotCQkJCVBfSU5GTygib3M6IG5ldyByZWNvcmQgc2l6ZSA9ICVpXG4iLCBuZXdfc2l6ZSk7CiAKIAkJCXJjID0gYXBwbGRhdGFfZGlhZyhBUFBMREFUQV9SRUNPUkRfT1NfSUQsCiAJCQkJCSAgIEFQUExEQVRBX1NUT1BfUkVDLApAQCAtMjA0LDkgKzE2Myw2IEBACiAJfQogCW9zX2RhdGEtPnRpbWVzdGFtcCA9IGdldF9jbG9jaygpOwogCW9zX2RhdGEtPnN5bmNfY291bnRfMisrOwotI2lmZGVmIEFQUExEQVRBX0RFQlVHCi0JYXBwbGRhdGFfcHJpbnRfZGVidWcob3NfZGF0YSk7Ci0jZW5kaWYKIH0KIAogCkBAIC0yMjcsMTIgKzE4Myw5IEBACiAJCXJjID0gLUVOT01FTTsKIAkJZ290byBvdXQ7CiAJfQotCVBfREVCVUcoIm1heC4gc2l6ZW9mKG9zKSA9ICVpLCBzaXplb2Yob3NfY3B1KSA9ICVsdVxuIiwgbWF4X3NpemUsCi0JCXNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfcGVyX2NwdSkpOwogCiAJYXBwbGRhdGFfb3NfZGF0YSA9IGt6YWxsb2MobWF4X3NpemUsIEdGUF9ETUEpOwogCWlmIChhcHBsZGF0YV9vc19kYXRhID09IE5VTEwpIHsKLQkJUF9FUlJPUigiTm8gbWVtb3J5IGZvciAlcyFcbiIsIG9wcy5uYW1lKTsKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yNDAsMTcgKzE5MywxMiBAQAogCWFwcGxkYXRhX29zX2RhdGEtPnBlcl9jcHVfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYXBwbGRhdGFfb3NfcGVyX2NwdSk7CiAJYXBwbGRhdGFfb3NfZGF0YS0+Y3B1X29mZnNldCAgID0gb2Zmc2V0b2Yoc3RydWN0IGFwcGxkYXRhX29zX2RhdGEsCiAJCQkJCQkJb3NfY3B1KTsKLQlQX0RFQlVHKCJjcHUgb2Zmc2V0ID0gJXVcbiIsIGFwcGxkYXRhX29zX2RhdGEtPmNwdV9vZmZzZXQpOwogCiAJb3BzLmRhdGEgPSBhcHBsZGF0YV9vc19kYXRhOwogCW9wcy5jYWxsYmFjayAgPSAmYXBwbGRhdGFfZ2V0X29zX2RhdGE7CiAJcmMgPSBhcHBsZGF0YV9yZWdpc3Rlcl9vcHMoJm9wcyk7Ci0JaWYgKHJjICE9IDApIHsKLQkJUF9FUlJPUigiRXJyb3IgcmVnaXN0ZXJpbmcgb3BzLCByYyA9ICVpXG4iLCByYyk7CisJaWYgKHJjICE9IDApCiAJCWtmcmVlKGFwcGxkYXRhX29zX2RhdGEpOwotCX0gZWxzZSB7Ci0JCVBfREVCVUcoIiVzLW9wcyByZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwotCX0KIG91dDoKIAlyZXR1cm4gcmM7CiB9CkBAIC0yNjQsNyArMjEyLDYgQEAKIHsKIAlhcHBsZGF0YV91bnJlZ2lzdGVyX29wcygmb3BzKTsKIAlrZnJlZShhcHBsZGF0YV9vc19kYXRhKTsKLQlQX0RFQlVHKCIlcy1vcHMgdW5yZWdpc3RlcmVkIVxuIiwgb3BzLm5hbWUpOwogfQogCiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9jcnlwdG8vY3J5cHRfczM5MC5oIGIvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKaW5kZXggOTk5MmY5NS4uMGVmOTgyOSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKKysrIGIvYXJjaC9zMzkwL2NyeXB0by9jcnlwdF9zMzkwLmgKQEAgLTI5Niw2ICsyOTYsMTAgQEAKIAl1bnNpZ25lZCBjaGFyIHN0YXR1c1sxNl07CiAJaW50IHJldDsKIAorCS8qIGNoZWNrIGlmIENQQUNGIGZhY2lsaXR5IChiaXQgMTcpIGlzIGF2YWlsYWJsZSAqLworCWlmICghKHN0ZmwoKSAmIDFVTEwgPDwgKDMxIC0gMTcpKSkKKwkJcmV0dXJuIDA7CisKIAlzd2l0Y2ggKGZ1bmMgJiBDUllQVF9TMzkwX09QX01BU0spIHsKIAljYXNlIENSWVBUX1MzOTBfS006CiAJCXJldCA9IGNyeXB0X3MzOTBfa20oS01fUVVFUlksICZzdGF0dXMsIE5VTEwsIE5VTEwsIDApOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2NyeXB0by9wcm5nLmMgYi9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYwppbmRleCAwY2ZlZmRkLi5lY2E3MjRkIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYworKysgYi9hcmNoL3MzOTAvY3J5cHRvL3BybmcuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtNDgsNiArNDksNyBAQAogCiBzdGF0aWMgaW50IHBybmdfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KIApAQCAtMTg1LDExICsxODcsOCBAQAogCXBybmdfc2VlZCgxNik7CiAKIAlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZwcm5nX2Rldik7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAiQ291bGQgbm90IHJlZ2lzdGVyIG1pc2MgZGV2aWNlIGZvciBQUk5HLlxuIik7CisJaWYgKHJldCkKIAkJZ290byBvdXRfYnVmOwotCX0KIAlyZXR1cm4gMDsKIAogb3V0X2J1ZjoKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9oeXBmcy9pbm9kZS5jIGIvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKaW5kZXggNGIwMTBmZi4uNzM4Mzc4MSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKKysrIGIvYXJjaC9zMzkwL2h5cGZzL2lub2RlLmMKQEAgLTE1MCwzMyArMTUwLDI0IEBACiAJCQkgICAgICB1bnNpZ25lZCBsb25nIG5yX3NlZ3MsIGxvZmZfdCBvZmZzZXQpCiB7CiAJY2hhciAqZGF0YTsKLQlzaXplX3QgbGVuOworCXNzaXplX3QgcmV0OwogCXN0cnVjdCBmaWxlICpmaWxwID0gaW9jYi0+a2lfZmlscDsKIAkvKiBYWFg6IHRlbXBvcmFyeSAqLwogCWNoYXIgX191c2VyICpidWYgPSBpb3ZbMF0uaW92X2Jhc2U7CiAJc2l6ZV90IGNvdW50ID0gaW92WzBdLmlvdl9sZW47CiAKLQlpZiAobnJfc2VncyAhPSAxKSB7Ci0JCWNvdW50ID0gLUVJTlZBTDsKLQkJZ290byBvdXQ7Ci0JfQorCWlmIChucl9zZWdzICE9IDEpCisJCXJldHVybiAtRUlOVkFMOwogCiAJZGF0YSA9IGZpbHAtPnByaXZhdGVfZGF0YTsKLQlsZW4gPSBzdHJsZW4oZGF0YSk7Ci0JaWYgKG9mZnNldCA+IGxlbikgewotCQljb3VudCA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQlpZiAoY291bnQgPiBsZW4gLSBvZmZzZXQpCi0JCWNvdW50ID0gbGVuIC0gb2Zmc2V0OwotCWlmIChjb3B5X3RvX3VzZXIoYnVmLCBkYXRhICsgb2Zmc2V0LCBjb3VudCkpIHsKLQkJY291bnQgPSAtRUZBVUxUOwotCQlnb3RvIG91dDsKLQl9Ci0JaW9jYi0+a2lfcG9zICs9IGNvdW50OworCXJldCA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKGJ1ZiwgY291bnQsICZvZmZzZXQsIGRhdGEsIHN0cmxlbihkYXRhKSk7CisJaWYgKHJldCA8PSAwKQorCQlyZXR1cm4gcmV0OworCisJaW9jYi0+a2lfcG9zICs9IHJldDsKIAlmaWxlX2FjY2Vzc2VkKGZpbHApOwotb3V0OgotCXJldHVybiBjb3VudDsKKworCXJldHVybiByZXQ7CiB9CiBzdGF0aWMgc3NpemVfdCBoeXBmc19haW9fd3JpdGUoc3RydWN0IGtpb2NiICppb2NiLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKmlvdiwKIAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbnJfc2VncywgbG9mZl90IG9mZnNldCkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUgYi9hcmNoL3MzOTAva2VybmVsL01ha2VmaWxlCmluZGV4IDYzMDJmNTAuLjUwZjY1N2UgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9NYWtlZmlsZQpAQCAtNyw5ICs3LDE0IEBACiAjCiBDRkxBR1Nfc21wLm8JOj0gLVduby1ub25udWxsCiAKKyMKKyMgUGFzcyBVVFNfTUFDSElORSBmb3IgdXNlcl9yZWdzZXQgZGVmaW5pdGlvbgorIworQ0ZMQUdTX3B0cmFjZS5vCQkrPSAtRFVUU19NQUNISU5FPSciJChVVFNfTUFDSElORSkiJworCiBvYmoteQk6PSAgYml0bWFwLm8gdHJhcHMubyB0aW1lLm8gcHJvY2Vzcy5vIGJhc2UubyBlYXJseS5vIFwKICAgICAgICAgICAgIHNldHVwLm8gc3lzX3MzOTAubyBwdHJhY2UubyBzaWduYWwubyBjcGNtZC5vIGViY2RpYy5vIFwKLQkgICAgczM5MF9leHQubyBkZWJ1Zy5vIGlycS5vIGlwbC5vIGRpcy5vIGRpYWcubworCSAgICBzMzkwX2V4dC5vIGRlYnVnLm8gaXJxLm8gaXBsLm8gZGlzLm8gZGlhZy5vIG1lbV9kZXRlY3QubwogCiBvYmoteQkrPSAkKGlmICQoQ09ORklHXzY0QklUKSxlbnRyeTY0Lm8sZW50cnkubykKIG9iai15CSs9ICQoaWYgJChDT05GSUdfNjRCSVQpLHJlaXBsNjQubyxyZWlwbC5vKQpAQCAtMjMsNyArMjgsNyBAQAogY29tcGF0LW9iai0kKENPTkZJR19BVURJVCkJKz0gY29tcGF0X2F1ZGl0Lm8KIG9iai0kKENPTkZJR19DT01QQVQpCQkrPSBjb21wYXRfbGludXgubyBjb21wYXRfc2lnbmFsLm8gXAogCQkJCQljb21wYXRfd3JhcHBlci5vIGNvbXBhdF9leGVjX2RvbWFpbi5vIFwKLQkJCQkJYmluZm10X2VsZjMyLm8gJChjb21wYXQtb2JqLXkpCisJCQkJCSQoY29tcGF0LW9iai15KQogCiBvYmotJChDT05GSUdfVklSVF9USU1FUikJKz0gdnRpbWUubwogb2JqLSQoQ09ORklHX1NUQUNLVFJBQ0UpCSs9IHN0YWNrdHJhY2UubwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYyBiL2FyY2gvczM5MC9rZXJuZWwvYmluZm10X2VsZjMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlMWMzMTUuLjAwMDAwMDAKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9iaW5mbXRfZWxmMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDIxNCArMCwwIEBACi0vKgotICogU3VwcG9ydCBmb3IgMzItYml0IExpbnV4IGZvciBTMzkwIEVMRiBiaW5hcmllcy4KLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDAgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgotICogQXV0aG9yKHMpOiBHZXJoYXJkIFRvbm4gKHRvbkBkZS5pYm0uY29tKQotICoKLSAqIEhlYXZpbHkgaW5zcGlyZWQgYnkgdGhlIDMyLWJpdCBTcGFyYyBjb21wYXQgY29kZSB3aGljaCBpcwotICogQ29weXJpZ2h0IChDKSAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4IERhdmlkIFMuIE1pbGxlciAoZGF2ZW1AcmVkaGF0LmNvbSkKLSAqIENvcHlyaWdodCAoQykgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCBKYWt1YiBKZWxpbmVrICAgKGpqQHVsdHJhLmxpbnV4LmN6KQotICovCi0KLSNkZWZpbmUgX19BU01TMzkwX0VMRl9ICi0KLSNpbmNsdWRlIDxsaW51eC90aW1lLmg+Ci0KLS8qCi0gKiBUaGVzZSBhcmUgdXNlZCB0byBzZXQgcGFyYW1ldGVycyBpbiB0aGUgY29yZSBkdW1wcy4KLSAqLwotI2RlZmluZSBFTEZfQ0xBU1MJRUxGQ0xBU1MzMgotI2RlZmluZSBFTEZfREFUQQlFTEZEQVRBMk1TQgotI2RlZmluZSBFTEZfQVJDSAlFTV9TMzkwCi0KLS8qCi0gKiBUaGlzIGlzIHVzZWQgdG8gZW5zdXJlIHdlIGRvbid0IGxvYWQgc29tZXRoaW5nIGZvciB0aGUgd3JvbmcgYXJjaGl0ZWN0dXJlLgotICovCi0jZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKLQkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKLSAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKQotCi0vKiBFTEYgcmVnaXN0ZXIgZGVmaW5pdGlvbnMgKi8KLSNkZWZpbmUgTlVNX0dQUlMgICAgICAxNgotI2RlZmluZSBOVU1fRlBSUyAgICAgIDE2Ci0jZGVmaW5lIE5VTV9BQ1JTICAgICAgMTYgICAgCi0KLS8qIEZvciBTVlI0L1MzOTAgdGhlIGZ1bmN0aW9uIHBvaW50ZXIgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIGBhdGV4aXRgIGlzCi0gICBwYXNzZWQgaW4gUjE0LiAqLwotI2RlZmluZSBFTEZfUExBVF9JTklUKF9yLCBsb2FkX2FkZHIpIFwKLQlkbyB7IFwKLQkJX3ItPmdwcnNbMTRdID0gMDsgXAotCX0gd2hpbGUoMCkKLQotI2RlZmluZSBVU0VfRUxGX0NPUkVfRFVNUAotI2RlZmluZSBFTEZfRVhFQ19QQUdFU0laRSAgICAgICA0MDk2Ci0KLS8qIFRoaXMgaXMgdGhlIGxvY2F0aW9uIHRoYXQgYW4gRVRfRFlOIHByb2dyYW0gaXMgbG9hZGVkIGlmIGV4ZWMnZWQuICBUeXBpY2FsCi0gICB1c2Ugb2YgdGhpcyBpcyB0byBpbnZva2UgIi4vbGQuc28gc29tZXByb2ciIHRvIHRlc3Qgb3V0IGEgbmV3IHZlcnNpb24gb2YKLSAgIHRoZSBsb2FkZXIuICBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGl0IGlzIG91dCBvZiB0aGUgd2F5IG9mIHRoZSBwcm9ncmFtCi0gICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwotCi0jZGVmaW5lIEVMRl9FVF9EWU5fQkFTRSAgICAgICAgIChUQVNLX1NJWkUgLyAzICogMikKLQotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1JFR1MocHJfcmVnLCByZWdzKSBkdW1wX3JlZ3MzMihyZWdzLCAmcHJfcmVnKTsKLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX1RBU0tfUkVHUyh0c2ssIHJlZ3MpIGR1bXBfdGFza19yZWdzMzIodHNrLCByZWdzKQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfRlBSRUdTKHRzaywgZnByZWdzKSBkdW1wX3Rhc2tfZnB1KHRzaywgZnByZWdzKQotCi0vKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0Ci0gICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCi0KLSNkZWZpbmUgRUxGX0hXQ0FQICgwKQotCi0vKiBUaGlzIHlpZWxkcyBhIHN0cmluZyB0aGF0IGxkLnNvIHdpbGwgdXNlIHRvIGxvYWQgaW1wbGVtZW50YXRpb24KLSAgIHNwZWNpZmljIGxpYnJhcmllcyBmb3Igb3B0aW1pemF0aW9uLiAgVGhpcyBpcyBtb3JlIHNwZWNpZmljIGluCi0gICBpbnRlbnQgdGhhbiBwb2tpbmcgYXQgdW5hbWUgb3IgL3Byb2MvY3B1aW5mby4KLQotICAgRm9yIHRoZSBtb21lbnQsIHdlIGhhdmUgb25seSBvcHRpbWl6YXRpb25zIGZvciB0aGUgSW50ZWwgZ2VuZXJhdGlvbnMsCi0gICBidXQgdGhhdCBjb3VsZCBjaGFuZ2UuLi4gKi8KLQotI2RlZmluZSBFTEZfUExBVEZPUk0gKE5VTEwpCi0KLSNkZWZpbmUgU0VUX1BFUlNPTkFMSVRZKGV4LCBpYmNzMikJCQlcCi1kbyB7CQkJCQkJCVwKLQlpZiAoaWJjczIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0JCXNldF9wZXJzb25hbGl0eShQRVJfU1ZSNCk7ICAgICAgICAgICAgICBcCi0JZWxzZSBpZiAoY3VycmVudC0+cGVyc29uYWxpdHkgIT0gUEVSX0xJTlVYMzIpICAgXAotCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsgICAgICAgICAgICAgXAotCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKLX0gd2hpbGUgKDApCi0KLSNpbmNsdWRlICJjb21wYXRfbGludXguaCIKLQotdHlwZWRlZiBfczM5MF9mcF9yZWdzMzIgZWxmX2ZwcmVnc2V0X3Q7Ci0KLXR5cGVkZWYgc3RydWN0Ci17Ci0JCi0JX3Bzd190MzIJcHN3OwotCV9fdTMyCQlncHJzW19fTlVNX0dQUlNdOyAKLQlfX3UzMgkJYWNyc1tfX05VTV9BQ1JTXTsgCi0JX191MzIJCW9yaWdfZ3ByMjsKLX0gczM5MF9yZWdzMzI7Ci10eXBlZGVmIHMzOTBfcmVnczMyIGVsZl9ncmVnc2V0X3Q7Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfcmVnczMyKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JaW50IGk7Ci0KLQltZW1jcHkoJnJlZ3MtPnBzdy5tYXNrLCAmcHRyZWdzLT5wc3cubWFzaywgNCk7Ci0JbWVtY3B5KCZyZWdzLT5wc3cuYWRkciwgKGNoYXIgKikmcHRyZWdzLT5wc3cuYWRkciArIDQsIDQpOwotCWZvciAoaSA9IDA7IGkgPCBOVU1fR1BSUzsgaSsrKQotCQlyZWdzLT5ncHJzW2ldID0gcHRyZWdzLT5ncHJzW2ldOwotCXNhdmVfYWNjZXNzX3JlZ3MocmVncy0+YWNycyk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19yZWdzMzIoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCWludCBpOwotCi0JbWVtY3B5KCZyZWdzLT5wc3cubWFzaywgJnB0cmVncy0+cHN3Lm1hc2ssIDQpOwotCW1lbWNweSgmcmVncy0+cHN3LmFkZHIsIChjaGFyICopJnB0cmVncy0+cHN3LmFkZHIgKyA0LCA0KTsKLQlmb3IgKGkgPSAwOyBpIDwgTlVNX0dQUlM7IGkrKykKLQkJcmVncy0+Z3Byc1tpXSA9IHB0cmVncy0+Z3Byc1tpXTsKLQltZW1jcHkocmVncy0+YWNycywgdHNrLT50aHJlYWQuYWNycywgc2l6ZW9mKHJlZ3MtPmFjcnMpKTsKLQlyZWdzLT5vcmlnX2dwcjIgPSBwdHJlZ3MtPm9yaWdfZ3ByMjsKLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX2ZwdShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgZWxmX2ZwcmVnc2V0X3QgKmZwcmVncykKLXsKLQlpZiAodHNrID09IGN1cnJlbnQpCi0JCXNhdmVfZnBfcmVncygoczM5MF9mcF9yZWdzICopIGZwcmVncyk7Ci0JZWxzZQotCQltZW1jcHkoZnByZWdzLCAmdHNrLT50aHJlYWQuZnBfcmVncywgc2l6ZW9mKGVsZl9mcHJlZ3NldF90KSk7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9lbGZjb3JlLmg+Ci0jaW5jbHVkZSA8bGludXgvYmluZm10cy5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbXBhdC5oPgotCi0jZGVmaW5lIGVsZl9wcnN0YXR1cyBlbGZfcHJzdGF0dXMzMgotc3RydWN0IGVsZl9wcnN0YXR1czMyCi17Ci0Jc3RydWN0IGVsZl9zaWdpbmZvIHByX2luZm87CS8qIEluZm8gYXNzb2NpYXRlZCB3aXRoIHNpZ25hbCAqLwotCXNob3J0CXByX2N1cnNpZzsJCS8qIEN1cnJlbnQgc2lnbmFsICovCi0JdTMyCXByX3NpZ3BlbmQ7CS8qIFNldCBvZiBwZW5kaW5nIHNpZ25hbHMgKi8KLQl1MzIJcHJfc2lnaG9sZDsJLyogU2V0IG9mIGhlbGQgc2lnbmFscyAqLwotCXBpZF90CXByX3BpZDsKLQlwaWRfdAlwcl9wcGlkOwotCXBpZF90CXByX3BncnA7Ci0JcGlkX3QJcHJfc2lkOwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl91dGltZTsJLyogVXNlciB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX3N0aW1lOwkvKiBTeXN0ZW0gdGltZSAqLwotCXN0cnVjdCBjb21wYXRfdGltZXZhbCBwcl9jdXRpbWU7CS8qIEN1bXVsYXRpdmUgdXNlciB0aW1lICovCi0Jc3RydWN0IGNvbXBhdF90aW1ldmFsIHByX2NzdGltZTsJLyogQ3VtdWxhdGl2ZSBzeXN0ZW0gdGltZSAqLwotCWVsZl9ncmVnc2V0X3QgcHJfcmVnOwkvKiBHUCByZWdpc3RlcnMgKi8KLQlpbnQgcHJfZnB2YWxpZDsJCS8qIFRydWUgaWYgbWF0aCBjby1wcm9jZXNzb3IgYmVpbmcgdXNlZC4gICovCi19OwotCi0jZGVmaW5lIGVsZl9wcnBzaW5mbyBlbGZfcHJwc2luZm8zMgotc3RydWN0IGVsZl9wcnBzaW5mbzMyCi17Ci0JY2hhcglwcl9zdGF0ZTsJLyogbnVtZXJpYyBwcm9jZXNzIHN0YXRlICovCi0JY2hhcglwcl9zbmFtZTsJLyogY2hhciBmb3IgcHJfc3RhdGUgKi8KLQljaGFyCXByX3pvbWI7CS8qIHpvbWJpZSAqLwotCWNoYXIJcHJfbmljZTsJLyogbmljZSB2YWwgKi8KLQl1MzIJcHJfZmxhZzsJLyogZmxhZ3MgKi8KLQl1MTYJcHJfdWlkOwotCXUxNglwcl9naWQ7Ci0JcGlkX3QJcHJfcGlkLCBwcl9wcGlkLCBwcl9wZ3JwLCBwcl9zaWQ7Ci0JLyogTG90cyBtaXNzaW5nICovCi0JY2hhcglwcl9mbmFtZVsxNl07CS8qIGZpbGVuYW1lIG9mIGV4ZWN1dGFibGUgKi8KLQljaGFyCXByX3BzYXJnc1tFTEZfUFJBUkdTWl07CS8qIGluaXRpYWwgcGFydCBvZiBhcmcgbGlzdCAqLwotfTsKLQotI2luY2x1ZGUgPGxpbnV4L2hpZ2h1aWQuaD4KLQotLyoKLSNkZWZpbmUgaW5pdF9lbGZfYmluZm10IGluaXRfZWxmMzJfYmluZm10Ci0qLwotCi0jdW5kZWYgc3RhcnRfdGhyZWFkCi0jZGVmaW5lIHN0YXJ0X3RocmVhZCAgICAgICAgICAgICAgICAgICAgc3RhcnRfdGhyZWFkMzEgCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzdGFydF90aHJlYWQzMShzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBuZXdfcHN3LAotCQkJCSAgdW5zaWduZWQgbG9uZyBuZXdfc3RhY2twKQotewotCXNldF9mcyhVU0VSX0RTKTsKLQlyZWdzLT5wc3cubWFzawk9IHBzd191c2VyMzJfYml0czsKLQlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3c7Ci0JcmVncy0+Z3Byc1sxNV0JPSBuZXdfc3RhY2twOwotCWNyc3RfdGFibGVfZG93bmdyYWRlKGN1cnJlbnQtPm1tLCAxVUwgPDwgMzEpOwotfQotCi1NT0RVTEVfREVTQ1JJUFRJT04oIkJpbmFyeSBmb3JtYXQgbG9hZGVyIGZvciBjb21wYXRpYmlsaXR5IHdpdGggMzJiaXQgTGludXggZm9yIFMzOTAgYmluYXJpZXMsIgotICAgICAgICAgICAgICAgICAgICIgQ29weXJpZ2h0IDIwMDAgSUJNIENvcnBvcmF0aW9uIik7IAotTU9EVUxFX0FVVEhPUigiR2VyaGFyZCBUb25uIDx0b25AZGUuaWJtLmNvbT4iKTsKLQotI3VuZGVmIE1PRFVMRV9ERVNDUklQVElPTgotI3VuZGVmIE1PRFVMRV9BVVRIT1IKLQotI3VuZGVmIGNwdXRpbWVfdG9fdGltZXZhbAotI2RlZmluZSBjcHV0aW1lX3RvX3RpbWV2YWwgY3B1dGltZV90b19jb21wYXRfdGltZXZhbAotc3RhdGljIGlubGluZSB2b2lkCi1jcHV0aW1lX3RvX2NvbXBhdF90aW1ldmFsKGNvbnN0IGNwdXRpbWVfdCBjcHV0aW1lLCBzdHJ1Y3QgY29tcGF0X3RpbWV2YWwgKnZhbHVlKQotewotCXZhbHVlLT50dl91c2VjID0gY3B1dGltZSAlIDEwMDAwMDA7Ci0JdmFsdWUtPnR2X3NlYyA9IGNwdXRpbWUgLyAxMDAwMDAwOwotfQotCi0jaW5jbHVkZSAiLi4vLi4vLi4vZnMvYmluZm10X2VsZi5jIgotCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2NvbXBhdF9wdHJhY2UuaCBiL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCmluZGV4IDQxOWFlZjkuLmNkZTgxZmEgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvY29tcGF0X3B0cmFjZS5oCkBAIC0xLDcgKzEsNyBAQAogI2lmbmRlZiBfUFRSQUNFMzJfSAogI2RlZmluZSBfUFRSQUNFMzJfSAogCi0jaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiICAvKiBuZWVkZWQgZm9yIF9wc3dfdDMyICovCisjaW5jbHVkZSAiY29tcGF0X2xpbnV4LmgiICAvKiBuZWVkZWQgZm9yIHBzd19jb21wYXRfdCAqLwogCiB0eXBlZGVmIHN0cnVjdCB7CiAJX191MzIgY3JbM107CkBAIC0zOCw3ICszOCw3IEBACiAKIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0MzIKIHsKLQlfcHN3X3QzMiBwc3c7CisJcHN3X2NvbXBhdF90IHBzdzsKIAl1MzIgZ3Byc1tOVU1fR1BSU107CiAJdTMyIGFjcnNbTlVNX0FDUlNdOwogCXUzMiBvcmlnX2dwcjI7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMgYi9hcmNoL3MzOTAva2VybmVsL2RlYnVnLmMKaW5kZXggYzkzZDEyOS4uZDgwZmNkNCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9kZWJ1Zy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvZGVidWcuYwpAQCAtMTA3OSw3ICsxMDc5LDYgQEAKIAlzMzkwZGJmX3N5c2N0bF9oZWFkZXIgPSByZWdpc3Rlcl9zeXNjdGxfdGFibGUoczM5MGRiZl9kaXJfdGFibGUpOwogCW11dGV4X2xvY2soJmRlYnVnX211dGV4KTsKIAlkZWJ1Z19kZWJ1Z2ZzX3Jvb3RfZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9kaXIoREVCVUdfRElSX1JPT1QsTlVMTCk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6IEluaXRpYWxpemF0aW9uIGNvbXBsZXRlXG4iKTsKIAlpbml0aWFsaXplZCA9IDE7CiAJbXV0ZXhfdW5sb2NrKCZkZWJ1Z19tdXRleCk7CiAKQEAgLTExOTMsNyArMTE5Miw2IEBACiAJZm9yKDsgaXNzcGFjZSgqYnVmKTsgYnVmKyspOwogCXJjID0gc2ltcGxlX3N0cnRvdWwoYnVmLCAmYnVmLCAxMCk7CiAJaWYoKmJ1Zil7Ci0JCXByaW50aygiZGVidWc6IG5vIGludGVnZXIgc3BlY2lmaWVkIVxuIik7CiAJCXJjID0gLUVJTlZBTDsKIAl9CiAJcmV0dXJuIHJjOwpAQCAtMTM0MCwxOSArMTMzOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgCW1lbXNldChpZC0+YXJlYXNbaV1bal0sIDAsIFBBR0VfU0laRSk7CiAJCQl9CiAJCX0KLSAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJkZWJ1ZzogJXM6IGFsbCBhcmVhcyBmbHVzaGVkXG4iLGlkLT5uYW1lKTsKICAgICAgICAgfSBlbHNlIGlmKGFyZWEgPj0gMCAmJiBhcmVhIDwgaWQtPm5yX2FyZWFzKSB7CiAgICAgICAgICAgICAgICAgaWQtPmFjdGl2ZV9lbnRyaWVzW2FyZWFdID0gMDsKIAkJaWQtPmFjdGl2ZV9wYWdlc1thcmVhXSA9IDA7CiAJCWZvcihpID0gMDsgaSA8IGlkLT5wYWdlc19wZXJfYXJlYTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgCW1lbXNldChpZC0+YXJlYXNbYXJlYV1baV0sMCxQQUdFX1NJWkUpOwogCQl9Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiZGVidWc6ICVzOiBhcmVhICVpIGhhcyBiZWVuIGZsdXNoZWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBpZC0+bmFtZSwgYXJlYSk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTwotICAgICAgICAgICAgICAgICAgICAgICJkZWJ1ZzogJXM6IGFyZWEgJWkgY2Fubm90IGJlIGZsdXNoZWQgKHJhbmdlOiAlaSAtICVpKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlkLT5uYW1lLCBhcmVhLCAwLCBpZC0+bnJfYXJlYXMtMSk7CiAgICAgICAgIH0KICAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWQtPmxvY2ssZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9lYXJseS5jCmluZGV4IGQwZTA5NjguLjJhMmNhMjYgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvZWFybHkuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2Vhcmx5LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wZm4uaD4KICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8YXNtL2ViY2RpYy5oPgogI2luY2x1ZGUgPGFzbS9pcGwuaD4KICNpbmNsdWRlIDxhc20vbG93Y29yZS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KQEAgLTI2LDEyICsyNyw0MCBAQAogLyoKICAqIENyZWF0ZSBhIEtlcm5lbCBOU1MgaWYgdGhlIFNBVkVTWVM9IHBhcmFtZXRlciBpcyBkZWZpbmVkCiAgKi8KLSNkZWZpbmUgREVGU1lTX0NNRF9TSVpFCQk5NgorI2RlZmluZSBERUZTWVNfQ01EX1NJWkUJCTEyOAogI2RlZmluZSBTQVZFU1lTX0NNRF9TSVpFCTMyCiAKIGNoYXIga2VybmVsX25zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXTsKIAorc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RfY29tbWFuZF9saW5lKHZvaWQpOworCisKICNpZmRlZiBDT05GSUdfU0hBUkVEX0tFUk5FTAoraW50IF9faW5pdCBzYXZlc3lzX2lwbF9uc3MoY2hhciAqY21kLCBjb25zdCBpbnQgY21kbGVuKTsKKworYXNtKAorCSIJLnNlY3Rpb24gLmluaXQudGV4dCxcImF4XCIsQHByb2diaXRzXG4iCisJIgkuYWxpZ24JNFxuIgorCSIJLnR5cGUJc2F2ZXN5c19pcGxfbnNzLCBAZnVuY3Rpb25cbiIKKwkic2F2ZXN5c19pcGxfbnNzOlxuIgorI2lmZGVmIENPTkZJR182NEJJVAorCSIJc3RtZwk2LDE1LDQ4KDE1KVxuIgorCSIJbGdyCTE0LDNcbiIKKwkiCXNhbTMxXG4iCisJIglkaWFnCTIsMTQsMHg4XG4iCisJIglzYW02NFxuIgorCSIJbGdyCTIsMTRcbiIKKwkiCWxtZwk2LDE1LDQ4KDE1KVxuIgorI2Vsc2UKKwkiCXN0bQk2LDE1LDI0KDE1KVxuIgorCSIJbHIJMTQsM1xuIgorCSIJZGlhZwkyLDE0LDB4OFxuIgorCSIJbHIJMiwxNFxuIgorCSIJbG0JNiwxNSwyNCgxNSlcbiIKKyNlbmRpZgorCSIJYnIJMTRcbiIKKwkiCS5zaXplCXNhdmVzeXNfaXBsX25zcywgLi1zYXZlc3lzX2lwbF9uc3NcbiIpOworCiBzdGF0aWMgbm9pbmxpbmUgX19pbml0IHZvaWQgY3JlYXRlX2tlcm5lbF9uc3Modm9pZCkKIHsKIAl1bnNpZ25lZCBpbnQgaSwgc3RleHRfcGZuLCBlc2hhcmVkX3BmbiwgZW5kX3BmbiwgbWluX3NpemU7CkBAIC0zOSw2ICs2OCw3IEBACiAJdW5zaWduZWQgaW50IHNpbml0cmRfcGZuLCBlaW5pdHJkX3BmbjsKICNlbmRpZgogCWludCByZXNwb25zZTsKKwlzaXplX3QgbGVuOwogCWNoYXIgKnNhdmVzeXNfcHRyOwogCWNoYXIgdXBwZXJfY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKIAljaGFyIGRlZnN5c19jbWRbREVGU1lTX0NNRF9TSVpFXTsKQEAgLTQ5LDggKzc5LDggQEAKIAkJcmV0dXJuOwogCiAJLyogQ29udmVydCBDT01NQU5EX0xJTkUgdG8gdXBwZXIgY2FzZSAqLwotCWZvciAoaSA9IDA7IGkgPCBzdHJsZW4oQ09NTUFORF9MSU5FKTsgaSsrKQotCQl1cHBlcl9jb21tYW5kX2xpbmVbaV0gPSB0b3VwcGVyKENPTU1BTkRfTElORVtpXSk7CisJZm9yIChpID0gMDsgaSA8IHN0cmxlbihib290X2NvbW1hbmRfbGluZSk7IGkrKykKKwkJdXBwZXJfY29tbWFuZF9saW5lW2ldID0gdG91cHBlcihib290X2NvbW1hbmRfbGluZVtpXSk7CiAKIAlzYXZlc3lzX3B0ciA9IHN0cnN0cih1cHBlcl9jb21tYW5kX2xpbmUsICJTQVZFU1lTPSIpOwogCkBAIC04Myw3ICsxMTMsOCBAQAogCX0KICNlbmRpZgogCi0Jc3ByaW50ZihkZWZzeXNfY21kLCAiJXMgRVcgTUlOU0laRT0lLjdpSyIsIGRlZnN5c19jbWQsIG1pbl9zaXplKTsKKwlzcHJpbnRmKGRlZnN5c19jbWQsICIlcyBFVyBNSU5TSVpFPSUuN2lLIFBBUk1SRUdTPTAtMTMiLAorCQlkZWZzeXNfY21kLCBtaW5fc2l6ZSk7CiAJc3ByaW50ZihzYXZlc3lzX2NtZCwgIlNBVkVTWVMgJXMgXG4gSVBMICVzIiwKIAkJa2VybmVsX25zc19uYW1lLCBrZXJuZWxfbnNzX25hbWUpOwogCkBAIC05NCwxMyArMTI1LDI0IEBACiAJCXJldHVybjsKIAl9CiAKLQlfX2NwY21kKHNhdmVzeXNfY21kLCBOVUxMLCAwLCAmcmVzcG9uc2UpOworCWxlbiA9IHN0cmxlbihzYXZlc3lzX2NtZCk7CisJQVNDRUJDKHNhdmVzeXNfY21kLCBsZW4pOworCXJlc3BvbnNlID0gc2F2ZXN5c19pcGxfbnNzKHNhdmVzeXNfY21kLCBsZW4pOwogCi0JaWYgKHJlc3BvbnNlICE9IHN0cmxlbihzYXZlc3lzX2NtZCkpIHsKKwkvKiBPbiBzdWNjZXNzOiByZXNwb25zZSBpcyBlcXVhbCB0byB0aGUgY29tbWFuZCBzaXplLAorCSAqCSAgICAgICBtYXggU0FWRVNZU19DTURfU0laRQorCSAqIE9uIGVycm9yOiByZXNwb25zZSBjb250YWlucyB0aGUgbnVtZXJpYyBwb3J0aW9uIG9mIGNwIGVycm9yIG1lc3NhZ2UuCisJICoJICAgICBmb3IgU0FWRVNZUyBpdCB3aWxsIGJlID49IDI2MworCSAqLworCWlmIChyZXNwb25zZSA+IFNBVkVTWVNfQ01EX1NJWkUpIHsKIAkJa2VybmVsX25zc19uYW1lWzBdID0gJ1wwJzsKIAkJcmV0dXJuOwogCX0KIAorCS8qIHJlLXNldHVwIGJvb3QgY29tbWFuZCBsaW5lIHdpdGggbmV3IGlwbCB2bSBwYXJtcyAqLworCWlwbF91cGRhdGVfcGFyYW1ldGVycygpOworCXNldHVwX2Jvb3RfY29tbWFuZF9saW5lKCk7CisKIAlpcGxfZmxhZ3MgPSBJUExfTlNTX1ZBTElEOwogfQogCkBAIC0xNDEsMTA5ICsxODMsMTEgQEAKIAlpZiAoY3B1aW5mby0+Y3B1X2lkLnZlcnNpb24gPT0gMHhmZikKIAkJbWFjaGluZV9mbGFncyB8PSBNQUNISU5FX0ZMQUdfVk07CiAKLQkvKiBSdW5uaW5nIG9uIGEgUC8zOTAgPyAqLwotCWlmIChjcHVpbmZvLT5jcHVfaWQubWFjaGluZSA9PSAweDc0OTApCi0JCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX1AzOTA7Ci0KIAkvKiBSdW5uaW5nIHVuZGVyIEtWTSA/ICovCiAJaWYgKGNwdWluZm8tPmNwdV9pZC52ZXJzaW9uID09IDB4ZmUpCiAJCW1hY2hpbmVfZmxhZ3MgfD0gTUFDSElORV9GTEFHX0tWTTsKIH0KIAotI2lmZGVmIENPTkZJR182NEJJVAotc3RhdGljIG5vaW5saW5lIF9faW5pdCBpbnQgbWVtb3J5X2Zhc3RfZGV0ZWN0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWwwID0gMDsKLQl1bnNpZ25lZCBsb25nIHZhbDEgPSAweGM7Ci0JaW50IHJldCA9IC1FTk9TWVM7Ci0KLQlpZiAoaXBsX2ZsYWdzICYgSVBMX05TU19WQUxJRCkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0KLQlhc20gdm9sYXRpbGUoCi0JCSIJZGlhZwklMSwlMiwweDI2MFxuIgotCQkiMDoJbGhpCSUwLDBcbiIKLQkJIjE6XG4iCi0JCUVYX1RBQkxFKDBiLDFiKQotCQk6ICIrZCIgKHJldCksICIrZCIgKHZhbDApLCAiK2QiICh2YWwxKSA6IDogImNjIik7Ci0KLQlpZiAocmV0IHx8IHZhbDAgIT0gdmFsMSkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0KLQltZW1vcnlfY2h1bmtbMF0uc2l6ZSA9IHZhbDAgKyAxOwotCXJldHVybiAwOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgaW50IG1lbW9yeV9mYXN0X2RldGVjdCh2b2lkKQotewotCXJldHVybiAtRU5PU1lTOwotfQotI2VuZGlmCi0KLXN0YXRpYyBpbmxpbmUgX19pbml0IHVuc2lnbmVkIGxvbmcgX190cHJvdCh1bnNpZ25lZCBsb25nIGFkZHIpCi17Ci0JaW50IGNjID0gLTE7Ci0KLQlhc20gdm9sYXRpbGUoCi0JCSIJdHByb3QJMCglMSksMFxuIgotCQkiMDoJaXBtCSUwXG4iCi0JCSIJc3JsCSUwLDI4XG4iCi0JCSIxOlxuIgotCQlFWF9UQUJMRSgwYiwxYikKLQkJOiAiK2QiIChjYykgOiAiYSIgKGFkZHIpIDogImNjIik7Ci0JcmV0dXJuICh1bnNpZ25lZCBsb25nKWNjOwotfQotCi0vKiBDaGVja2luZyBtZW1vcnkgaW4gMTI4S0IgaW5jcmVtZW50cy4gKi8KLSNkZWZpbmUgQ0hVTktfSU5DUgkoMVVMIDw8IDE3KQotI2RlZmluZSBBRERSMkcJCSgxVUwgPDwgMzEpCi0KLXN0YXRpYyBub2lubGluZSBfX2luaXQgdm9pZCBmaW5kX21lbW9yeV9jaHVua3ModW5zaWduZWQgbG9uZyBtZW1zaXplKQotewotCXVuc2lnbmVkIGxvbmcgYWRkciA9IDAsIG9sZF9hZGRyID0gMDsKLQl1bnNpZ25lZCBsb25nIG9sZF9jYyA9IENIVU5LX1JFQURfV1JJVEU7Ci0JdW5zaWduZWQgbG9uZyBjYzsKLQlpbnQgY2h1bmsgPSAwOwotCi0Jd2hpbGUgKGNodW5rIDwgTUVNT1JZX0NIVU5LUykgewotCQljYyA9IF9fdHByb3QoYWRkcik7Ci0JCXdoaWxlIChjYyA9PSBvbGRfY2MpIHsKLQkJCWFkZHIgKz0gQ0hVTktfSU5DUjsKLQkJCWlmIChtZW1zaXplICYmIGFkZHIgPj0gbWVtc2l6ZSkKLQkJCQlicmVhazsKLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JCQlpZiAoYWRkciA9PSBBRERSMkcpCi0JCQkJYnJlYWs7Ci0jZW5kaWYKLQkJCWNjID0gX190cHJvdChhZGRyKTsKLQkJfQotCi0JCWlmIChvbGRfYWRkciAhPSBhZGRyICYmCi0JCSAgICAob2xkX2NjID09IENIVU5LX1JFQURfV1JJVEUgfHwgb2xkX2NjID09IENIVU5LX1JFQURfT05MWSkpIHsKLQkJCW1lbW9yeV9jaHVua1tjaHVua10uYWRkciA9IG9sZF9hZGRyOwotCQkJbWVtb3J5X2NodW5rW2NodW5rXS5zaXplID0gYWRkciAtIG9sZF9hZGRyOwotCQkJbWVtb3J5X2NodW5rW2NodW5rXS50eXBlID0gb2xkX2NjOwotCQkJY2h1bmsrKzsKLQkJfQotCi0JCW9sZF9hZGRyID0gYWRkcjsKLQkJb2xkX2NjID0gY2M7Ci0KLSNpZm5kZWYgQ09ORklHXzY0QklUCi0JCWlmIChhZGRyID09IEFERFIyRykKLQkJCWJyZWFrOwotI2VuZGlmCi0JCS8qCi0JCSAqIEZpbmlzaCBtZW1vcnkgZGV0ZWN0aW9uIGF0IHRoZSBmaXJzdCBob2xlCi0JCSAqIGlmIHN0b3JhZ2Ugc2l6ZSBpcyB1bmtub3duLgotCQkgKi8KLQkJaWYgKGNjID09IC0xVUwgJiYgIW1lbXNpemUpCi0JCQlicmVhazsKLQkJaWYgKG1lbXNpemUgJiYgYWRkciA+PSBtZW1zaXplKQotCQkJYnJlYWs7Ci0JfQotfQotCiBzdGF0aWMgX19pbml0IHZvaWQgZWFybHlfcGdtX2NoZWNrX2hhbmRsZXIodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CkBAIC0zODAsMjMgKzMyNCw2MSBAQAogI2VuZGlmCiB9CiAKK3N0YXRpYyBfX2luaXQgdm9pZCByZXNjdWVfaW5pdHJkKHZvaWQpCit7CisjaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECisJLyoKKwkgKiBNb3ZlIHRoZSBpbml0cmQgcmlnaHQgYmVoaW5kIHRoZSBic3Mgc2VjdGlvbiBpbiBjYXNlIGl0IHN0YXJ0cworCSAqIHdpdGhpbiB0aGUgYnNzIHNlY3Rpb24uIFNvIHdlIGRvbid0IG92ZXJ3cml0ZSBpdCB3aGVuIHRoZSBic3MKKwkgKiBzZWN0aW9uIGdldHMgY2xlYXJlZC4KKwkgKi8KKwlpZiAoIUlOSVRSRF9TVEFSVCB8fCAhSU5JVFJEX1NJWkUpCisJCXJldHVybjsKKwlpZiAoSU5JVFJEX1NUQVJUID49ICh1bnNpZ25lZCBsb25nKSBfX2Jzc19zdG9wKQorCQlyZXR1cm47CisJbWVtbW92ZShfX2Jzc19zdG9wLCAodm9pZCAqKSBJTklUUkRfU1RBUlQsIElOSVRSRF9TSVpFKTsKKwlJTklUUkRfU1RBUlQgPSAodW5zaWduZWQgbG9uZykgX19ic3Nfc3RvcDsKKyNlbmRpZgorfQorCisvKiBTZXQgdXAgYm9vdCBjb21tYW5kIGxpbmUgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ib290X2NvbW1hbmRfbGluZSh2b2lkKQoreworCWNoYXIgKnBhcm0gPSBOVUxMOworCisJLyogY29weSBhcmNoIGNvbW1hbmQgbGluZSAqLworCXN0cmxjcHkoYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORSwgQVJDSF9DT01NQU5EX0xJTkVfU0laRSk7CisJYm9vdF9jb21tYW5kX2xpbmVbQVJDSF9DT01NQU5EX0xJTkVfU0laRSAtIDFdID0gMDsKKworCS8qIGFwcGVuZCBJUEwgUEFSTSBkYXRhIHRvIHRoZSBib290IGNvbW1hbmQgbGluZSAqLworCWlmIChNQUNISU5FX0lTX1ZNKSB7CisJCXBhcm0gPSBib290X2NvbW1hbmRfbGluZSArIHN0cmxlbihib290X2NvbW1hbmRfbGluZSk7CisJCSpwYXJtKysgPSAnICc7CisJCWdldF9pcGxfdm1wYXJtKHBhcm0pOworCQlpZiAocGFybVswXSA9PSAnPScpCisJCQltZW1tb3ZlKGJvb3RfY29tbWFuZF9saW5lLCBwYXJtICsgMSwgc3RybGVuKHBhcm0pKTsKKwl9Cit9CisKKwogLyoKICAqIFNhdmUgaXBsIHBhcmFtZXRlcnMsIGNsZWFyIGJzcyBtZW1vcnksIGluaXRpYWxpemUgc3RvcmFnZSBrZXlzCiAgKiBhbmQgY3JlYXRlIGEga2VybmVsIE5TUyBhdCBzdGFydHVwIGlmIHRoZSBTQVZFU1lTPSBwYXJtIGlzIGRlZmluZWQKICAqLwogdm9pZCBfX2luaXQgc3RhcnR1cF9pbml0KHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBsb25nIG1lbXNpemU7Ci0KIAlpcGxfc2F2ZV9wYXJhbWV0ZXJzKCk7CisJcmVzY3VlX2luaXRyZCgpOwogCWNsZWFyX2Jzc19zZWN0aW9uKCk7CiAJaW5pdF9rZXJuZWxfc3RvcmFnZV9rZXkoKTsKIAlsb2NrZGVwX2luaXQoKTsKIAlsb2NrZGVwX29mZigpOwotCWRldGVjdF9tYWNoaW5lX3R5cGUoKTsKLQljcmVhdGVfa2VybmVsX25zcygpOwogCXNvcnRfbWFpbl9leHRhYmxlKCk7CiAJc2V0dXBfbG93Y29yZV9lYXJseSgpOworCWRldGVjdF9tYWNoaW5lX3R5cGUoKTsKKwlpcGxfdXBkYXRlX3BhcmFtZXRlcnMoKTsKKwlzZXR1cF9ib290X2NvbW1hbmRfbGluZSgpOworCWNyZWF0ZV9rZXJuZWxfbnNzKCk7CiAJZGV0ZWN0X212cGcoKTsKIAlkZXRlY3RfaWVlZSgpOwogCWRldGVjdF9jc3AoKTsKQEAgLTQwNCwxOCArMzg2LDcgQEAKIAlkZXRlY3RfZGlhZzQ0KCk7CiAJZGV0ZWN0X21hY2hpbmVfZmFjaWxpdGllcygpOwogCXNldHVwX2hwYWdlKCk7Ci0Jc2NscF9yZWFkX2luZm9fZWFybHkoKTsKIAlzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KCk7Ci0JbWVtc2l6ZSA9IHNjbHBfbWVtb3J5X2RldGVjdCgpOwotI2lmbmRlZiBDT05GSUdfNjRCSVQKLQkvKgotCSAqIENhbid0IGRlYWwgd2l0aCBtb3JlIHRoYW4gMkcgaW4gMzEgYml0IGFkZHJlc3NpbmcgbW9kZSwgc28KLQkgKiBsaW1pdCB0aGUgdmFsdWUgaW4gb3JkZXIgdG8gYXZvaWQgc3RyYW5nZSBzaWRlIGVmZmVjdHMuCi0JICovCi0JaWYgKG1lbXNpemUgPiBBRERSMkcpCi0JCW1lbXNpemUgPSBBRERSMkc7Ci0jZW5kaWYKLQlpZiAobWVtb3J5X2Zhc3RfZGV0ZWN0KCkgPCAwKQotCQlmaW5kX21lbW9yeV9jaHVua3MoKHVuc2lnbmVkIGxvbmcpIG1lbXNpemUpOworCWRldGVjdF9tZW1vcnlfbGF5b3V0KG1lbW9yeV9jaHVuayk7CiAJbG9ja2RlcF9vbigpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYyBiL2FyY2gvczM5MC9rZXJuZWwvaXBsLmMKaW5kZXggNTMyNTQyNC4uNTRiMjc3OSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9pcGwuYworKysgYi9hcmNoL3MzOTAva2VybmVsL2lwbC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8YXNtL2lwbC5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KQEAgLTIyLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL3Jlc2V0Lmg+CiAjaW5jbHVkZSA8YXNtL3NjbHAuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogI2RlZmluZSBJUExfUEFSTV9CTE9DS19WRVJTSU9OIDAKIApAQCAtMTIxLDYgKzEyMyw3IEBACiAJUkVJUExfTUVUSE9EX0ZDUF9ST19WTSwKIAlSRUlQTF9NRVRIT0RfRkNQX0RVTVAsCiAJUkVJUExfTUVUSE9EX05TUywKKwlSRUlQTF9NRVRIT0RfTlNTX0RJQUcsCiAJUkVJUExfTUVUSE9EX0RFRkFVTFQsCiB9OwogCkBAIC0xMzQsMTQgKzEzNywxNSBAQAogCiBzdGF0aWMgaW50IGRpYWczMDhfc2V0X3dvcmtzID0gMDsKIAorc3RhdGljIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIGlwbF9ibG9jazsKKwogc3RhdGljIGludCByZWlwbF9jYXBhYmlsaXRpZXMgPSBJUExfVFlQRV9VTktOT1dOOwogCiBzdGF0aWMgZW51bSBpcGxfdHlwZSByZWlwbF90eXBlID0gSVBMX1RZUEVfVU5LTk9XTjsKIHN0YXRpYyBlbnVtIGlwbF9tZXRob2QgcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0RFRkFVTFQ7CiBzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX2ZjcDsKIHN0YXRpYyBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqcmVpcGxfYmxvY2tfY2N3OwotCi1zdGF0aWMgY2hhciByZWlwbF9uc3NfbmFtZVtOU1NfTkFNRV9TSVpFICsgMV07CitzdGF0aWMgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKnJlaXBsX2Jsb2NrX25zczsKIAogc3RhdGljIGludCBkdW1wX2NhcGFiaWxpdGllcyA9IERVTVBfVFlQRV9OT05FOwogc3RhdGljIGVudW0gZHVtcF90eXBlIGR1bXBfdHlwZSA9IERVTVBfVFlQRV9OT05FOwpAQCAtMjYzLDYgKzI2Nyw1NiBAQAogCiBzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfdHlwZV9hdHRyID0gX19BVFRSX1JPKGlwbF90eXBlKTsKIAorLyogVk0gSVBMIFBBUk0gcm91dGluZXMgKi8KK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV92bXBhcm0oY2hhciAqZGVzdCwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCWludCBpOworCWludCBsZW4gPSAwOworCWNoYXIgaGFzX2xvd2VyY2FzZSA9IDA7CisKKwlpZiAoKGlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICYgRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRCkgJiYKKwkgICAgKGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID4gMCkpIHsKKworCQlsZW4gPSBpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbjsKKwkJbWVtY3B5KGRlc3QsIGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIGxlbik7CisJCS8qIElmIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgaXMgbG93ZXJjYXNlLCB3ZSBhc3N1bWUgbWl4ZWQKKwkJICogY2FzZTsgb3RoZXJ3aXNlIHdlIGNvbnZlcnQgZXZlcnl0aGluZyB0byBsb3dlcmNhc2UuCisJCSAqLworCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCisJCQlpZiAoKGRlc3RbaV0gPiAweDgwICYmIGRlc3RbaV0gPCAweDhhKSB8fCAvKiBhLWkgKi8KKwkJCSAgICAoZGVzdFtpXSA+IDB4OTAgJiYgZGVzdFtpXSA8IDB4OWEpIHx8IC8qIGotciAqLworCQkJICAgIChkZXN0W2ldID4gMHhhMSAmJiBkZXN0W2ldIDwgMHhhYSkpIHsgLyogcy16ICovCisJCQkJaGFzX2xvd2VyY2FzZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCWlmICghaGFzX2xvd2VyY2FzZSkKKwkJCUVCQ19UT0xPV0VSKGRlc3QsIGxlbik7CisJCUVCQ0FTQyhkZXN0LCBsZW4pOworCX0KKwlkZXN0W2xlbl0gPSAwOworfQorCit2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKmRlc3QpCit7CisJaWYgKGRpYWczMDhfc2V0X3dvcmtzICYmIChpcGxfYmxvY2suaGRyLnBidCA9PSBESUFHMzA4X0lQTF9UWVBFX0NDVykpCisJCXJlaXBsX2dldF9hc2NpaV92bXBhcm0oZGVzdCwgJmlwbF9ibG9jayk7CisJZWxzZQorCQlkZXN0WzBdID0gMDsKK30KKworc3RhdGljIHNzaXplX3QgaXBsX3ZtX3Bhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJY2hhciBwYXJtW0RJQUczMDhfVk1QQVJNX1NJWkUgKyAxXSA9IHt9OworCisJZ2V0X2lwbF92bXBhcm0ocGFybSk7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBwYXJtKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfaXBsX3ZtX3Bhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08sIGlwbF92bV9wYXJtX3Nob3csIE5VTEwpOworCiBzdGF0aWMgc3NpemVfdCBzeXNfaXBsX2RldmljZV9zaG93KHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCQkJCSAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKQEAgLTI4NSwxNCArMzM5LDggQEAKIHN0YXRpYyBzc2l6ZV90IGlwbF9wYXJhbWV0ZXJfcmVhZChzdHJ1Y3Qga29iamVjdCAqa29iaiwgc3RydWN0IGJpbl9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJICBjaGFyICpidWYsIGxvZmZfdCBvZmYsIHNpemVfdCBjb3VudCkKIHsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IElQTF9QQVJNQkxPQ0tfU0laRTsKLQotCWlmIChvZmYgPiBzaXplKQotCQlyZXR1cm4gMDsKLQlpZiAob2ZmICsgY291bnQgPiBzaXplKQotCQljb3VudCA9IHNpemUgLSBvZmY7Ci0JbWVtY3B5KGJ1ZiwgKHZvaWQgKilJUExfUEFSTUJMT0NLX1NUQVJUICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLCBJUExfUEFSTUJMT0NLX1NUQVJULAorCQkJCQlJUExfUEFSTUJMT0NLX1NJWkUpOwogfQogCiBzdGF0aWMgc3RydWN0IGJpbl9hdHRyaWJ1dGUgaXBsX3BhcmFtZXRlcl9hdHRyID0gewpAQCAtMzEwLDEyICszNTgsNyBAQAogCXVuc2lnbmVkIGludCBzaXplID0gSVBMX1BBUk1CTE9DS19TVEFSVC0+aXBsX2luZm8uZmNwLnNjcF9kYXRhX2xlbjsKIAl2b2lkICpzY3BfZGF0YSA9ICZJUExfUEFSTUJMT0NLX1NUQVJULT5pcGxfaW5mby5mY3Auc2NwX2RhdGE7CiAKLQlpZiAob2ZmID4gc2l6ZSkKLQkJcmV0dXJuIDA7Ci0JaWYgKG9mZiArIGNvdW50ID4gc2l6ZSkKLQkJY291bnQgPSBzaXplIC0gb2ZmOwotCW1lbWNweShidWYsIHNjcF9kYXRhICsgb2ZmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBtZW1vcnlfcmVhZF9mcm9tX2J1ZmZlcihidWYsIGNvdW50LCAmb2ZmLCBzY3BfZGF0YSwgc2l6ZSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBpcGxfc2NwX2RhdGFfYXR0ciA9IHsKQEAgLTM3MCwxNSArNDEzLDI3IEBACiBzdGF0aWMgc3RydWN0IGtvYmpfYXR0cmlidXRlIHN5c19pcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQogCV9fQVRUUihsb2FkcGFybSwgMDQ0NCwgaXBsX2Njd19sb2FkcGFybV9zaG93LCBOVUxMKTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmlwbF9jY3dfYXR0cnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfY2N3X2F0dHJzX3ZtW10gPSB7CisJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCisJJnN5c19pcGxfZGV2aWNlX2F0dHIuYXR0ciwKKwkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfaXBsX3ZtX3Bhcm1fYXR0ci5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaXBsX2Njd19hdHRyc19scGFyW10gPSB7CiAJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfZGV2aWNlX2F0dHIuYXR0ciwKIAkmc3lzX2lwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBpcGxfY2N3X2F0dHJfZ3JvdXAgPSB7Ci0JLmF0dHJzID0gaXBsX2Njd19hdHRycywKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlwbF9jY3dfYXR0cl9ncm91cF92bSA9IHsKKwkuYXR0cnMgPSBpcGxfY2N3X2F0dHJzX3ZtLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgaXBsX2Njd19hdHRyX2dyb3VwX2xwYXIgPSB7CisJLmF0dHJzID0gaXBsX2Njd19hdHRyc19scGFyCiB9OwogCiAvKiBOU1MgaXBsIGRldmljZSBhdHRyaWJ1dGVzICovCkBAIC0zODgsNiArNDQzLDggQEAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppcGxfbnNzX2F0dHJzW10gPSB7CiAJJnN5c19pcGxfdHlwZV9hdHRyLmF0dHIsCiAJJnN5c19pcGxfbnNzX25hbWVfYXR0ci5hdHRyLAorCSZzeXNfaXBsX2Njd19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19pcGxfdm1fcGFybV9hdHRyLmF0dHIsCiAJTlVMTCwKIH07CiAKQEAgLTQ1MCw3ICs1MDcsMTIgQEAKIAl9CiAJc3dpdGNoIChpcGxfaW5mby50eXBlKSB7CiAJY2FzZSBJUExfVFlQRV9DQ1c6Ci0JCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwgJmlwbF9jY3dfYXR0cl9ncm91cCk7CisJCWlmIChNQUNISU5FX0lTX1ZNKQorCQkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmlwbF9rc2V0LT5rb2JqLAorCQkJCQkJJmlwbF9jY3dfYXR0cl9ncm91cF92bSk7CisJCWVsc2UKKwkJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZpcGxfa3NldC0+a29iaiwKKwkJCQkJCSZpcGxfY2N3X2F0dHJfZ3JvdXBfbHBhcik7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfRkNQOgogCWNhc2UgSVBMX1RZUEVfRkNQX0RVTVA6CkBAIC00ODEsNiArNTQzLDgzIEBACiAgKiByZWlwbCBzaHV0ZG93biBhY3Rpb246IFJlYm9vdCBMaW51eCBvbiBzaHV0ZG93bi4KICAqLwogCisvKiBWTSBJUEwgUEFSTSBhdHRyaWJ1dGVzICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX3ZtcGFybV9zaG93KHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgY2hhciAqcGFnZSkKK3sKKwljaGFyIHZtcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKworCXJlaXBsX2dldF9hc2NpaV92bXBhcm0odm1wYXJtLCBpcGIpOworCXJldHVybiBzcHJpbnRmKHBhZ2UsICIlc1xuIiwgdm1wYXJtKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfZ2VuZXJpY192bXBhcm1fc3RvcmUoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCQkJICBzaXplX3Qgdm1wYXJtX21heCwKKwkJCQkJICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJaW50IGksIGlwX2xlbjsKKworCS8qIGlnbm9yZSB0cmFpbGluZyBuZXdsaW5lICovCisJaXBfbGVuID0gbGVuOworCWlmICgobGVuID4gMCkgJiYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKSkKKwkJaXBfbGVuLS07CisKKwlpZiAoaXBfbGVuID4gdm1wYXJtX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBwYXJtIGlzIHVzZWQgdG8gc3RvcmUga2VybmVsIG9wdGlvbnMsIGNoZWNrIGZvciBjb21tb24gY2hhcnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgaXBfbGVuOyBpKyspCisJCWlmICghKGlzYWxudW0oYnVmW2ldKSB8fCBpc2FzY2lpKGJ1ZltpXSkgfHwgaXNwcmludChidWZbaV0pKSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm0sIDAsIERJQUczMDhfVk1QQVJNX1NJWkUpOworCWlwYi0+aXBsX2luZm8uY2N3LnZtX3Bhcm1fbGVuID0gaXBfbGVuOworCWlmIChpcF9sZW4gPiAwKSB7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzIHw9IERJQUczMDhfVk1fRkxBR1NfVlBfVkFMSUQ7CisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBidWYsIGlwX2xlbik7CisJCUFTQ0VCQyhpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLCBpcF9sZW4pOworCX0gZWxzZSB7CisJCWlwYi0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICY9IH5ESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCX0KKworCXJldHVybiBsZW47Cit9CisKKy8qIE5TUyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9uc3Nfdm1wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3cocmVpcGxfYmxvY2tfbnNzLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX3ZtcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShyZWlwbF9ibG9ja19uc3MsIDU2LCBidWYsIGxlbik7Cit9CisKKy8qIENDVyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfdm1wYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfdm1wYXJtX3Nob3cocmVpcGxfYmxvY2tfY2N3LCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X3ZtcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX3ZtcGFybV9zdG9yZShyZWlwbF9ibG9ja19jY3csIDY0LCBidWYsIGxlbik7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ciA9CisJX19BVFRSKHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3Nfdm1wYXJtX3Nob3csCisJCQkJCXJlaXBsX25zc192bXBhcm1fc3RvcmUpOworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyID0KKwlfX0FUVFIocGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX2Njd192bXBhcm1fc2hvdywKKwkJCQkJcmVpcGxfY2N3X3ZtcGFybV9zdG9yZSk7CisKIC8qIEZDUCByZWlwbCBkZXZpY2UgYXR0cmlidXRlcyAqLwogCiBERUZJTkVfSVBMX0FUVFJfUlcocmVpcGxfZmNwLCB3d3BuLCAiMHglMDE2bGx4XG4iLCAiJTAxNmxseFxuIiwKQEAgLTUxMywyNyArNjUyLDI2IEBACiBERUZJTkVfSVBMX0FUVFJfUlcocmVpcGxfY2N3LCBkZXZpY2UsICIwLjAuJTA0bGx4XG4iLCAiMC4wLiVsbHhcbiIsCiAJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8pOwogCi1zdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oY2hhciAqbG9hZHBhcm0pCitzdGF0aWMgdm9pZCByZWlwbF9nZXRfYXNjaWlfbG9hZHBhcm0oY2hhciAqbG9hZHBhcm0sCisJCQkJICAgICBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaWJwKQogewotCW1lbWNweShsb2FkcGFybSwgJnJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sCi0JICAgICAgIExPQURQQVJNX0xFTik7CisJbWVtY3B5KGxvYWRwYXJtLCBpYnAtPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIExPQURQQVJNX0xFTik7CiAJRUJDQVNDKGxvYWRwYXJtLCBMT0FEUEFSTV9MRU4pOwogCWxvYWRwYXJtW0xPQURQQVJNX0xFTl0gPSAwOwogCXN0cnN0cmlwKGxvYWRwYXJtKTsKIH0KIAotc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCi0JCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc2hvdyhzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiLAorCQkJCQkgICBjaGFyICpwYWdlKQogewogCWNoYXIgYnVmW0xPQURQQVJNX0xFTiArIDFdOwogCi0JcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGJ1Zik7CisJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGJ1ZiwgaXBiKTsKIAlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJ1Zik7CiB9CiAKLXN0YXRpYyBzc2l6ZV90IHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKLQkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAotCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCitzdGF0aWMgc3NpemVfdCByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrICppcGIsCisJCQkJCSAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCiB7CiAJaW50IGksIGxwX2xlbjsKIApAQCAtNTUyLDM1ICs2OTAsMTI4IEBACiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAkvKiBpbml0aWFsaXplIGxvYWRwYXJtIHdpdGggYmxhbmtzICovCi0JbWVtc2V0KCZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCAnICcsIExPQURQQVJNX0xFTik7CisJbWVtc2V0KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgJyAnLCBMT0FEUEFSTV9MRU4pOwogCS8qIGNvcHkgYW5kIGNvbnZlcnQgdG8gZWJjZGljICovCi0JbWVtY3B5KCZyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCBidWYsIGxwX2xlbik7Ci0JQVNDRUJDKHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sIExPQURQQVJNX0xFTik7CisJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwgYnVmLCBscF9sZW4pOworCUFTQ0VCQyhpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIExPQURQQVJNX0xFTik7CiAJcmV0dXJuIGxlbjsKIH0KIAotc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQotCV9fQVRUUihsb2FkcGFybSwgMDY0NCwgcmVpcGxfY2N3X2xvYWRwYXJtX3Nob3csCi0JICAgICAgIHJlaXBsX2Njd19sb2FkcGFybV9zdG9yZSk7CisvKiBOU1Mgd3JhcHBlciAqLworc3RhdGljIHNzaXplX3QgcmVpcGxfbnNzX2xvYWRwYXJtX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgICAgIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zaG93KHJlaXBsX2Jsb2NrX25zcywgcGFnZSk7Cit9CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNbXSA9IHsKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19sb2FkcGFybV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLAorCQkJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJcmV0dXJuIHJlaXBsX2dlbmVyaWNfbG9hZHBhcm1fc3RvcmUocmVpcGxfYmxvY2tfbnNzLCBidWYsIGxlbik7Cit9CisKKy8qIENDVyB3cmFwcGVyICovCitzdGF0aWMgc3NpemVfdCByZWlwbF9jY3dfbG9hZHBhcm1fc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQkgICAgICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCXJldHVybiByZWlwbF9nZW5lcmljX2xvYWRwYXJtX3Nob3cocmVpcGxfYmxvY2tfY2N3LCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlyZXR1cm4gcmVpcGxfZ2VuZXJpY19sb2FkcGFybV9zdG9yZShyZWlwbF9ibG9ja19jY3csIGJ1ZiwgbGVuKTsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIgPQorCV9fQVRUUihsb2FkcGFybSwgU19JUlVHTyB8IFNfSVdVU1IsIHJlaXBsX2Njd19sb2FkcGFybV9zaG93LAorCQkJCQkgICAgcmVpcGxfY2N3X2xvYWRwYXJtX3N0b3JlKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnJlaXBsX2Njd19hdHRyc192bVtdID0geworCSZzeXNfcmVpcGxfY2N3X2RldmljZV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAorCSZzeXNfcmVpcGxfY2N3X3ZtcGFybV9hdHRyLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9jY3dfYXR0cnNfbHBhcltdID0gewogCSZzeXNfcmVpcGxfY2N3X2RldmljZV9hdHRyLmF0dHIsCiAJJnN5c19yZWlwbF9jY3dfbG9hZHBhcm1fYXR0ci5hdHRyLAogCU5VTEwsCiB9OwogCi1zdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cCA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHJlaXBsX2Njd19hdHRyX2dyb3VwX3ZtID0gewogCS5uYW1lICA9IElQTF9DQ1dfU1RSLAotCS5hdHRycyA9IHJlaXBsX2Njd19hdHRycywKKwkuYXR0cnMgPSByZWlwbF9jY3dfYXR0cnNfdm0sCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCByZWlwbF9jY3dfYXR0cl9ncm91cF9scGFyID0geworCS5uYW1lICA9IElQTF9DQ1dfU1RSLAorCS5hdHRycyA9IHJlaXBsX2Njd19hdHRyc19scGFyLAogfTsKIAogCiAvKiBOU1MgcmVpcGwgZGV2aWNlIGF0dHJpYnV0ZXMgKi8KK3N0YXRpYyB2b2lkIHJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShjaGFyICpkc3QsCisJCQkJICAgICBzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQoreworCW1lbWNweShkc3QsIGlwYi0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBOU1NfTkFNRV9TSVpFKTsKKwlFQkNBU0MoZHN0LCBOU1NfTkFNRV9TSVpFKTsKKwlkc3RbTlNTX05BTUVfU0laRV0gPSAwOworfQogCi1ERUZJTkVfSVBMX0FUVFJfU1RSX1JXKHJlaXBsX25zcywgbmFtZSwgIiVzXG4iLCAiJXNcbiIsIHJlaXBsX25zc19uYW1lKTsKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19uYW1lX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQoreworCWNoYXIgbnNzX25hbWVbTlNTX05BTUVfU0laRSArIDFdID0ge307CisKKwlyZWlwbF9nZXRfYXNjaWlfbnNzX25hbWUobnNzX25hbWUsIHJlaXBsX2Jsb2NrX25zcyk7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVzXG4iLCBuc3NfbmFtZSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlaXBsX25zc19uYW1lX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAorCQkJCSAgICBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlpbnQgbnNzX2xlbjsKKworCS8qIGlnbm9yZSB0cmFpbGluZyBuZXdsaW5lICovCisJbnNzX2xlbiA9IGxlbjsKKwlpZiAoKGxlbiA+IDApICYmIChidWZbbGVuIC0gMV0gPT0gJ1xuJykpCisJCW5zc19sZW4tLTsKKworCWlmIChuc3NfbGVuID4gTlNTX05BTUVfU0laRSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZW1zZXQocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIDB4NDAsIE5TU19OQU1FX1NJWkUpOworCWlmIChuc3NfbGVuID4gMCkgeworCQlyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PQorCQkJRElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisJCW1lbWNweShyZWlwbF9ibG9ja19uc3MtPmlwbF9pbmZvLmNjdy5uc3NfbmFtZSwgYnVmLCBuc3NfbGVuKTsKKwkJQVNDRUJDKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBuc3NfbGVuKTsKKwkJRUJDX1RPVVBQRVIocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsIG5zc19sZW4pOworCX0gZWxzZSB7CisJCXJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3LnZtX2ZsYWdzICY9CisJCQl+RElBRzMwOF9WTV9GTEFHU19OU1NfVkFMSUQ7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSBzeXNfcmVpcGxfbnNzX25hbWVfYXR0ciA9CisJX19BVFRSKG5hbWUsIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3NfbmFtZV9zaG93LAorCQkJCQlyZWlwbF9uc3NfbmFtZV9zdG9yZSk7CisKK3N0YXRpYyBzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgc3lzX3JlaXBsX25zc19sb2FkcGFybV9hdHRyID0KKwlfX0FUVFIobG9hZHBhcm0sIFNfSVJVR08gfCBTX0lXVVNSLCByZWlwbF9uc3NfbG9hZHBhcm1fc2hvdywKKwkJCQkJICAgIHJlaXBsX25zc19sb2FkcGFybV9zdG9yZSk7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpyZWlwbF9uc3NfYXR0cnNbXSA9IHsKIAkmc3lzX3JlaXBsX25zc19uYW1lX2F0dHIuYXR0ciwKKwkmc3lzX3JlaXBsX25zc19sb2FkcGFybV9hdHRyLmF0dHIsCisJJnN5c19yZWlwbF9uc3Nfdm1wYXJtX2F0dHIuYXR0ciwKIAlOVUxMLAogfTsKIApAQCAtNjE3LDcgKzg0OCwxMCBAQAogCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfRkNQX0RVTVA7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfTlNTOgotCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTOworCQlpZiAoZGlhZzMwOF9zZXRfd29ya3MpCisJCQlyZWlwbF9tZXRob2QgPSBSRUlQTF9NRVRIT0RfTlNTX0RJQUc7CisJCWVsc2UKKwkJCXJlaXBsX21ldGhvZCA9IFJFSVBMX01FVEhPRF9OU1M7CiAJCWJyZWFrOwogCWNhc2UgSVBMX1RZUEVfVU5LTk9XTjoKIAkJcmVpcGxfbWV0aG9kID0gUkVJUExfTUVUSE9EX0RFRkFVTFQ7CkBAIC02NTUsMTEgKzg4OSwzOCBAQAogCiBzdGF0aWMgc3RydWN0IGtzZXQgKnJlaXBsX2tzZXQ7CiAKK3N0YXRpYyB2b2lkIGdldF9pcGxfc3RyaW5nKGNoYXIgKmRzdCwgc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYiwKKwkJCSAgIGNvbnN0IGVudW0gaXBsX21ldGhvZCBtKQoreworCWNoYXIgbG9hZHBhcm1bTE9BRFBBUk1fTEVOICsgMV0gPSB7fTsKKwljaGFyIHZtcGFybVtESUFHMzA4X1ZNUEFSTV9TSVpFICsgMV0gPSB7fTsKKwljaGFyIG5zc19uYW1lW05TU19OQU1FX1NJWkUgKyAxXSA9IHt9OworCXNpemVfdCBwb3MgPSAwOworCisJcmVpcGxfZ2V0X2FzY2lpX2xvYWRwYXJtKGxvYWRwYXJtLCBpcGIpOworCXJlaXBsX2dldF9hc2NpaV9uc3NfbmFtZShuc3NfbmFtZSwgaXBiKTsKKwlyZWlwbF9nZXRfYXNjaWlfdm1wYXJtKHZtcGFybSwgaXBiKTsKKworCXN3aXRjaCAobSkgeworCWNhc2UgUkVJUExfTUVUSE9EX0NDV19WTToKKwkJcG9zID0gc3ByaW50Zihkc3QsICJJUEwgJVggQ0xFQVIiLCBpcGItPmlwbF9pbmZvLmNjdy5kZXZubyk7CisJCWJyZWFrOworCWNhc2UgUkVJUExfTUVUSE9EX05TUzoKKwkJcG9zID0gc3ByaW50Zihkc3QsICJJUEwgJXMiLCBuc3NfbmFtZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlpZiAoc3RybGVuKGxvYWRwYXJtKSA+IDApCisJCXBvcyArPSBzcHJpbnRmKGRzdCArIHBvcywgIiBMT0FEUEFSTSAnJXMnIiwgbG9hZHBhcm0pOworCWlmIChzdHJsZW4odm1wYXJtKSA+IDApCisJCXNwcmludGYoZHN0ICsgcG9zLCAiIFBBUk0gJXMiLCB2bXBhcm0pOworfQorCiBzdGF0aWMgdm9pZCByZWlwbF9ydW4oc3RydWN0IHNodXRkb3duX3RyaWdnZXIgKnRyaWdnZXIpCiB7CiAJc3RydWN0IGNjd19kZXZfaWQgZGV2aWQ7Ci0Jc3RhdGljIGNoYXIgYnVmWzEwMF07Ci0JY2hhciBsb2FkcGFybVtMT0FEUEFSTV9MRU4gKyAxXTsKKwlzdGF0aWMgY2hhciBidWZbMTI4XTsKIAogCXN3aXRjaCAocmVpcGxfbWV0aG9kKSB7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX0NJTzoKQEAgLTY2OCwxMyArOTI5LDcgQEAKIAkJcmVpcGxfY2N3X2RldigmZGV2aWQpOwogCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9DQ1dfVk06Ci0JCXJlaXBsX2dldF9hc2NpaV9sb2FkcGFybShsb2FkcGFybSk7Ci0JCWlmIChzdHJsZW4obG9hZHBhcm0pID09IDApCi0JCQlzcHJpbnRmKGJ1ZiwgIklQTCAlWCBDTEVBUiIsCi0JCQkJcmVpcGxfYmxvY2tfY2N3LT5pcGxfaW5mby5jY3cuZGV2bm8pOwotCQllbHNlCi0JCQlzcHJpbnRmKGJ1ZiwgIklQTCAlWCBDTEVBUiBMT0FEUEFSTSAnJXMnIiwKLQkJCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubywgbG9hZHBhcm0pOworCQlnZXRfaXBsX3N0cmluZyhidWYsIHJlaXBsX2Jsb2NrX2NjdywgUkVJUExfTUVUSE9EX0NDV19WTSk7CiAJCV9fY3BjbWQoYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfQ0NXX0RJQUc6CkBAIC02OTEsOCArOTQ2LDEyIEBACiAJY2FzZSBSRUlQTF9NRVRIT0RfRkNQX1JPX1ZNOgogCQlfX2NwY21kKCJJUEwiLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CisJY2FzZSBSRUlQTF9NRVRIT0RfTlNTX0RJQUc6CisJCWRpYWczMDgoRElBRzMwOF9TRVQsIHJlaXBsX2Jsb2NrX25zcyk7CisJCWRpYWczMDgoRElBRzMwOF9JUEwsIE5VTEwpOworCQlicmVhazsKIAljYXNlIFJFSVBMX01FVEhPRF9OU1M6Ci0JCXNwcmludGYoYnVmLCAiSVBMICVzIiwgcmVpcGxfbnNzX25hbWUpOworCQlnZXRfaXBsX3N0cmluZyhidWYsIHJlaXBsX2Jsb2NrX25zcywgUkVJUExfTUVUSE9EX05TUyk7CiAJCV9fY3BjbWQoYnVmLCBOVUxMLCAwLCBOVUxMKTsKIAkJYnJlYWs7CiAJY2FzZSBSRUlQTF9NRVRIT0RfREVGQVVMVDoKQEAgLTcwNywxNiArOTY2LDM2IEBACiAJZGlzYWJsZWRfd2FpdCgodW5zaWduZWQgbG9uZykgX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IHJlaXBsX3Byb2JlKHZvaWQpCitzdGF0aWMgdm9pZCByZWlwbF9ibG9ja19jY3dfaW5pdChzdHJ1Y3QgaXBsX3BhcmFtZXRlcl9ibG9jayAqaXBiKQogewotCXZvaWQgKmJ1ZmZlcjsKKwlpcGItPmhkci5sZW4gPSBJUExfUEFSTV9CTEtfQ0NXX0xFTjsKKwlpcGItPmhkci52ZXJzaW9uID0gSVBMX1BBUk1fQkxPQ0tfVkVSU0lPTjsKKwlpcGItPmhkci5ibGswX2xlbiA9IElQTF9QQVJNX0JMSzBfQ0NXX0xFTjsKKwlpcGItPmhkci5wYnQgPSBESUFHMzA4X0lQTF9UWVBFX0NDVzsKK30KIAotCWJ1ZmZlciA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuOwotCWlmIChkaWFnMzA4KERJQUczMDhfU1RPUkUsIGJ1ZmZlcikgPT0gRElBRzMwOF9SQ19PSykKLQkJZGlhZzMwOF9zZXRfd29ya3MgPSAxOwotCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylidWZmZXIpOworc3RhdGljIHZvaWQgcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMoc3RydWN0IGlwbF9wYXJhbWV0ZXJfYmxvY2sgKmlwYikKK3sKKwkvKiBMT0FEUEFSTSAqLworCS8qIGNoZWNrIGlmIHJlYWQgc2NwIGluZm8gd29ya2VkIGFuZCBzZXQgbG9hZHBhcm0gKi8KKwlpZiAoc2NscF9pcGxfaW5mby5pc192YWxpZCkKKwkJbWVtY3B5KGlwYi0+aXBsX2luZm8uY2N3LmxvYWRfcGFybSwKKwkJCQkmc2NscF9pcGxfaW5mby5sb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKKwllbHNlCisJCS8qIHJlYWQgc2NwIGluZm8gZmFpbGVkOiBzZXQgZW1wdHkgbG9hZHBhcm0gKEVCQ0RJQyBibGFua3MpICovCisJCW1lbXNldChpcGItPmlwbF9pbmZvLmNjdy5sb2FkX3Bhcm0sIDB4NDAsIExPQURQQVJNX0xFTik7CisJaXBiLT5oZHIuZmxhZ3MgPSBESUFHMzA4X0ZMQUdTX0xQX1ZBTElEOworCisJLyogVk0gUEFSTSAqLworCWlmIChNQUNISU5FX0lTX1ZNICYmIGRpYWczMDhfc2V0X3dvcmtzICYmCisJICAgIChpcGxfYmxvY2suaXBsX2luZm8uY2N3LnZtX2ZsYWdzICYgRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRCkpIHsKKworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9mbGFncyB8PSBESUFHMzA4X1ZNX0ZMQUdTX1ZQX1ZBTElEOworCQlpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtX2xlbiA9CisJCQkJCWlwbF9ibG9jay5pcGxfaW5mby5jY3cudm1fcGFybV9sZW47CisJCW1lbWNweShpcGItPmlwbF9pbmZvLmNjdy52bV9wYXJtLAorCQkgICAgICAgaXBsX2Jsb2NrLmlwbF9pbmZvLmNjdy52bV9wYXJtLCBESUFHMzA4X1ZNUEFSTV9TSVpFKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgX19pbml0IHJlaXBsX25zc19pbml0KHZvaWQpCkBAIC03MjUsMTAgKzEwMDQsMzEgQEAKIAogCWlmICghTUFDSElORV9JU19WTSkKIAkJcmV0dXJuIDA7CisKKwlyZWlwbF9ibG9ja19uc3MgPSAodm9pZCAqKSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFyZWlwbF9ibG9ja19uc3MpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFkaWFnMzA4X3NldF93b3JrcykKKwkJc3lzX3JlaXBsX25zc192bXBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCiAJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosICZyZWlwbF9uc3NfYXR0cl9ncm91cCk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0Jc3RybmNweShyZWlwbF9uc3NfbmFtZSwga2VybmVsX25zc19uYW1lLCBOU1NfTkFNRV9TSVpFICsgMSk7CisKKwlyZWlwbF9ibG9ja19jY3dfaW5pdChyZWlwbF9ibG9ja19uc3MpOworCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX05TUykgeworCQltZW1zZXQocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsCisJCQknICcsIE5TU19OQU1FX1NJWkUpOworCQltZW1jcHkocmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cubnNzX25hbWUsCisJCQlrZXJuZWxfbnNzX25hbWUsIHN0cmxlbihrZXJuZWxfbnNzX25hbWUpKTsKKwkJQVNDRUJDKHJlaXBsX2Jsb2NrX25zcy0+aXBsX2luZm8uY2N3Lm5zc19uYW1lLCBOU1NfTkFNRV9TSVpFKTsKKwkJcmVpcGxfYmxvY2tfbnNzLT5pcGxfaW5mby5jY3cudm1fZmxhZ3MgfD0KKwkJCURJQUczMDhfVk1fRkxBR1NfTlNTX1ZBTElEOworCisJCXJlaXBsX2Jsb2NrX2Njd19maWxsX3Bhcm1zKHJlaXBsX2Jsb2NrX25zcyk7CisJfQorCiAJcmVpcGxfY2FwYWJpbGl0aWVzIHw9IElQTF9UWVBFX05TUzsKIAlyZXR1cm4gMDsKIH0KQEAgLTc0MCwyOCArMTA0MCwyNyBAQAogCXJlaXBsX2Jsb2NrX2NjdyA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKIAlpZiAoIXJlaXBsX2Jsb2NrX2NjdykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosICZyZWlwbF9jY3dfYXR0cl9ncm91cCk7Ci0JaWYgKHJjKSB7Ci0JCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylyZWlwbF9ibG9ja19jY3cpOwotCQlyZXR1cm4gcmM7CisKKwlpZiAoTUFDSElORV9JU19WTSkgeworCQlpZiAoIWRpYWczMDhfc2V0X3dvcmtzKQorCQkJc3lzX3JlaXBsX2Njd192bXBhcm1fYXR0ci5hdHRyLm1vZGUgPSBTX0lSVUdPOworCQlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmcmVpcGxfa3NldC0+a29iaiwKKwkJCQkJJnJlaXBsX2Njd19hdHRyX2dyb3VwX3ZtKTsKKwl9IGVsc2UgeworCQlpZighZGlhZzMwOF9zZXRfd29ya3MpCisJCQlzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKKwkJcmMgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJnJlaXBsX2tzZXQtPmtvYmosCisJCQkJCSZyZWlwbF9jY3dfYXR0cl9ncm91cF9scGFyKTsKIAl9Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIubGVuID0gSVBMX1BBUk1fQkxLX0NDV19MRU47Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIudmVyc2lvbiA9IElQTF9QQVJNX0JMT0NLX1ZFUlNJT047Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIuYmxrMF9sZW4gPSBJUExfUEFSTV9CTEswX0NDV19MRU47Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIucGJ0ID0gRElBRzMwOF9JUExfVFlQRV9DQ1c7Ci0JcmVpcGxfYmxvY2tfY2N3LT5oZHIuZmxhZ3MgPSBESUFHMzA4X0ZMQUdTX0xQX1ZBTElEOwotCS8qIGNoZWNrIGlmIHJlYWQgc2NwIGluZm8gd29ya2VkIGFuZCBzZXQgbG9hZHBhcm0gKi8KLQlpZiAoc2NscF9pcGxfaW5mby5pc192YWxpZCkKLQkJbWVtY3B5KHJlaXBsX2Jsb2NrX2Njdy0+aXBsX2luZm8uY2N3LmxvYWRfcGFyYW0sCi0JCSAgICAgICAmc2NscF9pcGxfaW5mby5sb2FkcGFybSwgTE9BRFBBUk1fTEVOKTsKLQllbHNlCi0JCS8qIHJlYWQgc2NwIGluZm8gZmFpbGVkOiBzZXQgZW1wdHkgbG9hZHBhcm0gKEVCQ0RJQyBibGFua3MpICovCi0JCW1lbXNldChyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5sb2FkX3BhcmFtLCAweDQwLAotCQkgICAgICAgTE9BRFBBUk1fTEVOKTsKLQlpZiAoIU1BQ0hJTkVfSVNfVk0gJiYgIWRpYWczMDhfc2V0X3dvcmtzKQotCQlzeXNfcmVpcGxfY2N3X2xvYWRwYXJtX2F0dHIuYXR0ci5tb2RlID0gU19JUlVHTzsKLQlpZiAoaXBsX2luZm8udHlwZSA9PSBJUExfVFlQRV9DQ1cpCisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlyZWlwbF9ibG9ja19jY3dfaW5pdChyZWlwbF9ibG9ja19jY3cpOworCWlmIChpcGxfaW5mby50eXBlID09IElQTF9UWVBFX0NDVykgewogCQlyZWlwbF9ibG9ja19jY3ctPmlwbF9pbmZvLmNjdy5kZXZubyA9IGlwbF9kZXZubzsKKwkJcmVpcGxfYmxvY2tfY2N3X2ZpbGxfcGFybXMocmVpcGxfYmxvY2tfY2N3KTsKKwl9CisKIAlyZWlwbF9jYXBhYmlsaXRpZXMgfD0gSVBMX1RZUEVfQ0NXOwogCXJldHVybiAwOwogfQpAQCAtMTI5OCw3ICsxNTk3LDYgQEAKIAogc3RhdGljIGludCBfX2luaXQgczM5MF9pcGxfaW5pdCh2b2lkKQogewotCXJlaXBsX3Byb2JlKCk7CiAJc2NscF9nZXRfaXBsX2luZm8oJnNjbHBfaXBsX2luZm8pOwogCXNodXRkb3duX2FjdGlvbnNfaW5pdCgpOwogCXNodXRkb3duX3RyaWdnZXJzX2luaXQoKTsKQEAgLTE0MDUsNiArMTcwMywxMiBAQAogCWF0b21pY19ub3RpZmllcl9jaGFpbl9yZWdpc3RlcigmcGFuaWNfbm90aWZpZXJfbGlzdCwgJm9uX3BhbmljX25iKTsKIH0KIAordm9pZCBfX2luaXQgaXBsX3VwZGF0ZV9wYXJhbWV0ZXJzKHZvaWQpCit7CisJaWYgKGRpYWczMDgoRElBRzMwOF9TVE9SRSwgJmlwbF9ibG9jaykgPT0gRElBRzMwOF9SQ19PSykKKwkJZGlhZzMwOF9zZXRfd29ya3MgPSAxOworfQorCiB2b2lkIF9faW5pdCBpcGxfc2F2ZV9wYXJhbWV0ZXJzKHZvaWQpCiB7CiAJc3RydWN0IGNpb19pcGxpbmZvIGlwbGluZm87CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL2twcm9iZXMuYyBiL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCmluZGV4IGVkMDRkMTMuLjI4OGFkNDkgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwva3Byb2Jlcy5jCkBAIC00MSwxMCArNDEsOCBAQAogCWlmIChpc19wcm9oaWJpdGVkX29wY29kZSgoa3Byb2JlX29wY29kZV90ICopIHAtPmFkZHIpKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlmICgodW5zaWduZWQgbG9uZylwLT5hZGRyICYgMHgwMSkgewotCQlwcmludGsoIkF0dGVtcHQgdG8gcmVnaXN0ZXIga3Byb2JlIGF0IGFuIHVuYWxpZ25lZCBhZGRyZXNzXG4iKTsKKwlpZiAoKHVuc2lnbmVkIGxvbmcpcC0+YWRkciAmIDB4MDEpCiAJCXJldHVybiAtRUlOVkFMOwotCQl9CiAKIAkvKiBVc2UgdGhlIGdldF9pbnNuX3Nsb3QoKSBmYWNpbGl0eSBmb3IgY29ycmVjdG5lc3MgKi8KIAlpZiAoIShwLT5haW5zbi5pbnNuID0gZ2V0X2luc25fc2xvdCgpKSkKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jIGIvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKaW5kZXggM2M3N2RkMy4uMTMxZDdlZSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9tYWNoaW5lX2tleGVjLmMKQEAgLTUyLDcgKzUyLDYgQEAKIAogdm9pZCBtYWNoaW5lX3NodXRkb3duKHZvaWQpCiB7Ci0JcHJpbnRrKEtFUk5fSU5GTyAia2V4ZWM6IG1hY2hpbmVfc2h1dGRvd24gY2FsbGVkXG4iKTsKIH0KIAogdm9pZCBtYWNoaW5lX2tleGVjKHN0cnVjdCBraW1hZ2UgKmltYWdlKQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMgYi9hcmNoL3MzOTAva2VybmVsL21lbV9kZXRlY3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGVkN2FiCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9tZW1fZGV0ZWN0LmMKQEAgLTAsMCArMSwxMDAgQEAKKy8qCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9pcGwuaD4KKyNpbmNsdWRlIDxhc20vc2NscC5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorCitzdGF0aWMgaW50IG1lbW9yeV9mYXN0X2RldGVjdChzdHJ1Y3QgbWVtX2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25lZCBsb25nIHZhbDAgPSAwOworCXVuc2lnbmVkIGxvbmcgdmFsMSA9IDB4YzsKKwlpbnQgcmMgPSAtRU9QTk9UU1VQUDsKKworCWlmIChpcGxfZmxhZ3MgJiBJUExfTlNTX1ZBTElEKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJYXNtIHZvbGF0aWxlKAorCQkiCWRpYWcJJTEsJTIsMHgyNjBcbiIKKwkJIjA6CWxoaQklMCwwXG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwxYikKKwkJOiAiK2QiIChyYyksICIrZCIgKHZhbDApLCAiK2QiICh2YWwxKSA6IDogImNjIik7CisKKwlpZiAocmMgfHwgdmFsMCAhPSB2YWwxKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJY2h1bmstPnNpemUgPSB2YWwwICsgMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgdHByb3QodW5zaWduZWQgbG9uZyBhZGRyKQoreworCWludCByYyA9IC1FRkFVTFQ7CisKKwlhc20gdm9sYXRpbGUoCisJCSIJdHByb3QJMCglMSksMFxuIgorCQkiMDoJaXBtCSUwXG4iCisJCSIJc3JsCSUwLDI4XG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwxYikKKwkJOiAiK2QiIChyYykgOiAiYSIgKGFkZHIpIDogImNjIik7CisJcmV0dXJuIHJjOworfQorCisjZGVmaW5lIEFERFIyRyAoMVVMTCA8PCAzMSkKKworc3RhdGljIHZvaWQgZmluZF9tZW1vcnlfY2h1bmtzKHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZSwgcm5tYXgsIHJ6bTsKKwl1bnNpZ25lZCBsb25nIGFkZHIgPSAwLCBzaXplOworCWludCBpID0gMCwgdHlwZTsKKworCXJ6bSA9IHNjbHBfZ2V0X3J6bSgpOworCXJubWF4ID0gc2NscF9nZXRfcm5tYXgoKTsKKwltZW1zaXplID0gcnptICogcm5tYXg7CisJaWYgKCFyem0pCisJCXJ6bSA9IDFVTEwgPDwgMTc7CisJaWYgKHNpemVvZihsb25nKSA9PSA0KSB7CisJCXJ6bSA9IG1pbihBRERSMkcsIHJ6bSk7CisJCW1lbXNpemUgPSBtZW1zaXplID8gbWluKEFERFIyRywgbWVtc2l6ZSkgOiBBRERSMkc7CisJfQorCWRvIHsKKwkJc2l6ZSA9IDA7CisJCXR5cGUgPSB0cHJvdChhZGRyKTsKKwkJZG8geworCQkJc2l6ZSArPSByem07CisJCQlpZiAobWVtc2l6ZSAmJiBhZGRyICsgc2l6ZSA+PSBtZW1zaXplKQorCQkJCWJyZWFrOworCQl9IHdoaWxlICh0eXBlID09IHRwcm90KGFkZHIgKyBzaXplKSk7CisJCWlmICh0eXBlID09IENIVU5LX1JFQURfV1JJVEUgfHwgdHlwZSA9PSBDSFVOS19SRUFEX09OTFkpIHsKKwkJCWNodW5rW2ldLmFkZHIgPSBhZGRyOworCQkJY2h1bmtbaV0uc2l6ZSA9IHNpemU7CisJCQljaHVua1tpXS50eXBlID0gdHlwZTsKKwkJCWkrKzsKKwkJfQorCQlhZGRyICs9IHNpemU7CisJfSB3aGlsZSAoYWRkciA8IG1lbXNpemUgJiYgaSA8IE1FTU9SWV9DSFVOS1MpOworfQorCit2b2lkIGRldGVjdF9tZW1vcnlfbGF5b3V0KHN0cnVjdCBtZW1fY2h1bmsgY2h1bmtbXSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCBjcjA7CisKKwltZW1zZXQoY2h1bmssIDAsIE1FTU9SWV9DSFVOS1MgKiBzaXplb2Yoc3RydWN0IG1lbV9jaHVuaykpOworCWlmIChtZW1vcnlfZmFzdF9kZXRlY3QoJmNodW5rWzBdKSA9PSAwKQorCQlyZXR1cm47CisJLyogRGlzYWJsZSBJUlFzLCBEQVQgYW5kIGxvdyBhZGRyZXNzIHByb3RlY3Rpb24gc28gdHByb3QgZG9lcyB0aGUKKwkgKiByaWdodCB0aGluZyBhbmQgd2UgZG9uJ3QgZ2V0IHNjaGVkdWxlZCBhd2F5IHdpdGggbG93IGFkZHJlc3MKKwkgKiBwcm90ZWN0aW9uIGRpc2FibGVkLgorCSAqLworCWZsYWdzID0gX19yYXdfbG9jYWxfaXJxX3N0bnNtKDB4ZjgpOworCV9fY3RsX3N0b3JlKGNyMCwgMCwgMCk7CisJX19jdGxfY2xlYXJfYml0KDAsIDI4KTsKKwlmaW5kX21lbW9yeV9jaHVua3MoY2h1bmspOworCV9fY3RsX2xvYWQoY3IwLCAwLCAwKTsKKwlfX3Jhd19sb2NhbF9pcnFfc3NtKGZsYWdzKTsKK30KK0VYUE9SVF9TWU1CT0woZGV0ZWN0X21lbW9yeV9sYXlvdXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC9wcm9jZXNzLmMgYi9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYwppbmRleCA3OTIwODYxLi44NWRlZmQwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3Byb2Nlc3MuYwpAQCAtNzUsNDYgKzc1LDE5IEBACiAJcmV0dXJuIHNmLT5ncHJzWzhdOwogfQogCi0vKgotICogTmVlZCB0byBrbm93IGFib3V0IENQVXMgZ29pbmcgaWRsZT8KLSAqLwotc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfY2hhaW4pOwogREVGSU5FX1BFUl9DUFUoc3RydWN0IHMzOTBfaWRsZV9kYXRhLCBzMzkwX2lkbGUpOwogCi1pbnQgcmVnaXN0ZXJfaWRsZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQotewotCXJldHVybiBhdG9taWNfbm90aWZpZXJfY2hhaW5fcmVnaXN0ZXIoJmlkbGVfY2hhaW4sIG5iKTsKLX0KLUVYUE9SVF9TWU1CT0wocmVnaXN0ZXJfaWRsZV9ub3RpZmllcik7Ci0KLWludCB1bnJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKLXsKLQlyZXR1cm4gYXRvbWljX25vdGlmaWVyX2NoYWluX3VucmVnaXN0ZXIoJmlkbGVfY2hhaW4sIG5iKTsKLX0KLUVYUE9SVF9TWU1CT0wodW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKTsKLQogc3RhdGljIGludCBzMzkwX2lkbGVfZW50ZXIodm9pZCkKIHsKIAlzdHJ1Y3QgczM5MF9pZGxlX2RhdGEgKmlkbGU7Ci0JaW50IG5yX2NhbGxzID0gMDsKLQl2b2lkICpoY3B1OwotCWludCByYzsKIAotCWhjcHUgPSAodm9pZCAqKShsb25nKXNtcF9wcm9jZXNzb3JfaWQoKTsKLQlyYyA9IF9fYXRvbWljX25vdGlmaWVyX2NhbGxfY2hhaW4oJmlkbGVfY2hhaW4sIFMzOTBfQ1BVX0lETEUsIGhjcHUsIC0xLAotCQkJCQkgICZucl9jYWxscyk7Ci0JaWYgKHJjID09IE5PVElGWV9CQUQpIHsKLQkJbnJfY2FsbHMtLTsKLQkJX19hdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfTk9UX0lETEUsCi0JCQkJCSAgICAgaGNwdSwgbnJfY2FsbHMsIE5VTEwpOwotCQlyZXR1cm4gcmM7Ci0JfQogCWlkbGUgPSAmX19nZXRfY3B1X3ZhcihzMzkwX2lkbGUpOwogCXNwaW5fbG9jaygmaWRsZS0+bG9jayk7CiAJaWRsZS0+aWRsZV9jb3VudCsrOwogCWlkbGUtPmluX2lkbGUgPSAxOwogCWlkbGUtPmlkbGVfZW50ZXIgPSBnZXRfY2xvY2soKTsKIAlzcGluX3VubG9jaygmaWRsZS0+bG9jayk7CisJdnRpbWVfc3RvcF9jcHVfdGltZXIoKTsKIAlyZXR1cm4gTk9USUZZX09LOwogfQogCkBAIC0xMjIsMTMgKzk1LDEyIEBACiB7CiAJc3RydWN0IHMzOTBfaWRsZV9kYXRhICppZGxlOwogCisJdnRpbWVfc3RhcnRfY3B1X3RpbWVyKCk7CiAJaWRsZSA9ICZfX2dldF9jcHVfdmFyKHMzOTBfaWRsZSk7CiAJc3Bpbl9sb2NrKCZpZGxlLT5sb2NrKTsKIAlpZGxlLT5pZGxlX3RpbWUgKz0gZ2V0X2Nsb2NrKCkgLSBpZGxlLT5pZGxlX2VudGVyOwogCWlkbGUtPmluX2lkbGUgPSAwOwogCXNwaW5fdW5sb2NrKCZpZGxlLT5sb2NrKTsKLQlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaWRsZV9jaGFpbiwgUzM5MF9DUFVfTk9UX0lETEUsCi0JCQkJICAgKHZvaWQgKikobG9uZykgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIH0KIAogZXh0ZXJuIHZvaWQgczM5MF9oYW5kbGVfbWNjayh2b2lkKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMgYi9hcmNoL3MzOTAva2VybmVsL3B0cmFjZS5jCmluZGV4IDM1ODI3YjkuLjI4MTViZmUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9wdHJhY2UuYwpAQCAtMzMsNiArMzMsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvYXVkaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lbGYuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWdzZXQuaD4KIAogI2luY2x1ZGUgPGFzbS9zZWdtZW50Lmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KQEAgLTQ3LDYgKzQ5LDExIEBACiAjaW5jbHVkZSAiY29tcGF0X3B0cmFjZS5oIgogI2VuZGlmCiAKK2VudW0gczM5MF9yZWdzZXQgeworCVJFR1NFVF9HRU5FUkFMLAorCVJFR1NFVF9GUCwKK307CisKIHN0YXRpYyB2b2lkCiBGaXhQZXJSZWdpc3RlcnMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogewpAQCAtMTI2LDI0ICsxMzMsMTAgQEAKICAqIHN0cnVjdCB1c2VyIGNvbnRhaW4gcGFkIGJ5dGVzIHRoYXQgc2hvdWxkIGJlIHJlYWQgYXMgemVyb2VzLgogICogTG92ZWx5Li4uCiAgKi8KLXN0YXRpYyBpbnQKLXBlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX3BlZWtfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkcikKIHsKIAlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOwotCWFkZHJfdCBvZmZzZXQsIHRtcCwgbWFzazsKLQotCS8qCi0JICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAotCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwuLi4KLQkgKi8KLQltYXNrID0gX19BRERSX01BU0s7Ci0jaWZkZWYgQ09ORklHXzY0QklUCi0JaWYgKGFkZHIgPj0gKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMgJiYKLQkgICAgYWRkciA8IChhZGRyX3QpICZkdW1teS0+cmVncy5vcmlnX2dwcjIpCi0JCW1hc2sgPSAzOwotI2VuZGlmCi0JaWYgKChhZGRyICYgbWFzaykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSBfX0FERFJfTUFTSykKLQkJcmV0dXJuIC1FSU87CisJYWRkcl90IG9mZnNldCwgdG1wOwogCiAJaWYgKGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3MuYWNycykgewogCQkvKgpAQCAtMTk3LDI0ICsxOTAsMTggQEAKIAl9IGVsc2UKIAkJdG1wID0gMDsKIAotCXJldHVybiBwdXRfdXNlcih0bXAsIChhZGRyX3QgX191c2VyICopIGRhdGEpOworCXJldHVybiB0bXA7CiB9CiAKLS8qCi0gKiBXcml0ZSBhIHdvcmQgdG8gdGhlIHVzZXIgYXJlYSBvZiBhIHByb2Nlc3MgYXQgbG9jYXRpb24gYWRkci4gVGhpcwotICogb3BlcmF0aW9uIGRvZXMgaGF2ZSBhbiBhZGRpdGlvbmFsIHByb2JsZW0gY29tcGFyZWQgdG8gcGVla191c2VyLgotICogU3RvcmVzIHRvIHRoZSBwcm9ncmFtIHN0YXR1cyB3b3JkIGFuZCBvbiB0aGUgZmxvYXRpbmcgcG9pbnQKLSAqIGNvbnRyb2wgcmVnaXN0ZXIgbmVlZHMgdG8gZ2V0IGNoZWNrZWQgZm9yIHZhbGlkaXR5LgotICovCiBzdGF0aWMgaW50Ci1wb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorcGVla191c2VyKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKIHsKIAlzdHJ1Y3QgdXNlciAqZHVtbXkgPSBOVUxMOwotCWFkZHJfdCBvZmZzZXQsIG1hc2s7CisJYWRkcl90IHRtcCwgbWFzazsKIAogCS8qCiAJICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAotCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwgaW5kZWVkLi4uCisJICogYW4gYWxpZ25tZW50IG9mIDQuIFByb2dyYW1tZXJzIGZyb20gaGVsbC4uLgogCSAqLwogCW1hc2sgPSBfX0FERFJfTUFTSzsKICNpZmRlZiBDT05GSUdfNjRCSVQKQEAgLTIyNSw2ICsyMTIsMjEgQEAKIAlpZiAoKGFkZHIgJiBtYXNrKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyKSAtIF9fQUREUl9NQVNLKQogCQlyZXR1cm4gLUVJTzsKIAorCXRtcCA9IF9fcGVla191c2VyKGNoaWxkLCBhZGRyKTsKKwlyZXR1cm4gcHV0X3VzZXIodG1wLCAoYWRkcl90IF9fdXNlciAqKSBkYXRhKTsKK30KKworLyoKKyAqIFdyaXRlIGEgd29yZCB0byB0aGUgdXNlciBhcmVhIG9mIGEgcHJvY2VzcyBhdCBsb2NhdGlvbiBhZGRyLiBUaGlzCisgKiBvcGVyYXRpb24gZG9lcyBoYXZlIGFuIGFkZGl0aW9uYWwgcHJvYmxlbSBjb21wYXJlZCB0byBwZWVrX3VzZXIuCisgKiBTdG9yZXMgdG8gdGhlIHByb2dyYW0gc3RhdHVzIHdvcmQgYW5kIG9uIHRoZSBmbG9hdGluZyBwb2ludAorICogY29udHJvbCByZWdpc3RlciBuZWVkcyB0byBnZXQgY2hlY2tlZCBmb3IgdmFsaWRpdHkuCisgKi8KK3N0YXRpYyBpbnQgX19wb2tlX3VzZXIoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCXN0cnVjdCB1c2VyICpkdW1teSA9IE5VTEw7CisJYWRkcl90IG9mZnNldDsKKwogCWlmIChhZGRyIDwgKGFkZHJfdCkgJmR1bW15LT5yZWdzLmFjcnMpIHsKIAkJLyoKIAkJICogcHN3IGFuZCBncHJzIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrCkBAIC0yOTIsNiArMjk0LDI4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK3Bva2VfdXNlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCit7CisJc3RydWN0IHVzZXIgKmR1bW15ID0gTlVMTDsKKwlhZGRyX3QgbWFzazsKKworCS8qCisJICogU3R1cGlkIGdkYiBwZWVrcy9wb2tlcyB0aGUgYWNjZXNzIHJlZ2lzdGVycyBpbiA2NCBiaXQgd2l0aAorCSAqIGFuIGFsaWdubWVudCBvZiA0LiBQcm9ncmFtbWVycyBmcm9tIGhlbGwgaW5kZWVkLi4uCisJICovCisJbWFzayA9IF9fQUREUl9NQVNLOworI2lmZGVmIENPTkZJR182NEJJVAorCWlmIChhZGRyID49IChhZGRyX3QpICZkdW1teS0+cmVncy5hY3JzICYmCisJICAgIGFkZHIgPCAoYWRkcl90KSAmZHVtbXktPnJlZ3Mub3JpZ19ncHIyKQorCQltYXNrID0gMzsKKyNlbmRpZgorCWlmICgoYWRkciAmIG1hc2spIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gX19BRERSX01BU0spCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIF9fcG9rZV91c2VyKGNoaWxkLCBhZGRyLCBkYXRhKTsKK30KKwogbG9uZyBhcmNoX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBsb25nIHJlcXVlc3QsIGxvbmcgYWRkciwgbG9uZyBkYXRhKQogewogCXB0cmFjZV9hcmVhIHBhcmVhOyAKQEAgLTM2NywxOCArMzkxLDEzIEBACiAvKgogICogU2FtZSBhcyBwZWVrX3VzZXIgYnV0IGZvciBhIDMxIGJpdCBwcm9ncmFtLgogICovCi1zdGF0aWMgaW50Ci1wZWVrX3VzZXJfZW11MzEoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQorc3RhdGljIHUzMiBfX3BlZWtfdXNlcl9jb21wYXQoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgYWRkcl90IGFkZHIpCiB7CiAJc3RydWN0IHVzZXIzMiAqZHVtbXkzMiA9IE5VTEw7CiAJcGVyX3N0cnVjdDMyICpkdW1teV9wZXIzMiA9IE5VTEw7CiAJYWRkcl90IG9mZnNldDsKIAlfX3UzMiB0bXA7CiAKLQlpZiAoIXRlc3RfdGhyZWFkX2ZsYWcoVElGXzMxQklUKSB8fAotCSAgICAoYWRkciAmIDMpIHx8IGFkZHIgPiBzaXplb2Yoc3RydWN0IHVzZXIpIC0gMykKLQkJcmV0dXJuIC1FSU87Ci0KIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teTMyLT5yZWdzLmFjcnMpIHsKIAkJLyoKIAkJICogcHN3IGFuZCBncHJzIGFyZSBzdG9yZWQgb24gdGhlIHN0YWNrCkBAIC00MzUsMjUgKzQ1NCwzMiBAQAogCX0gZWxzZQogCQl0bXAgPSAwOwogCisJcmV0dXJuIHRtcDsKK30KKworc3RhdGljIGludCBwZWVrX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCV9fdTMyIHRtcDsKKworCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8CisJICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcikgLSAzKQorCQlyZXR1cm4gLUVJTzsKKworCXRtcCA9IF9fcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkcik7CiAJcmV0dXJuIHB1dF91c2VyKHRtcCwgKF9fdTMyIF9fdXNlciAqKSBkYXRhKTsKIH0KIAogLyoKICAqIFNhbWUgYXMgcG9rZV91c2VyIGJ1dCBmb3IgYSAzMSBiaXQgcHJvZ3JhbS4KICAqLwotc3RhdGljIGludAotcG9rZV91c2VyX2VtdTMxKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGFkZHJfdCBhZGRyLCBhZGRyX3QgZGF0YSkKK3N0YXRpYyBpbnQgX19wb2tlX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgICBhZGRyX3QgYWRkciwgYWRkcl90IGRhdGEpCiB7CiAJc3RydWN0IHVzZXIzMiAqZHVtbXkzMiA9IE5VTEw7CiAJcGVyX3N0cnVjdDMyICpkdW1teV9wZXIzMiA9IE5VTEw7CisJX191MzIgdG1wID0gKF9fdTMyKSBkYXRhOwogCWFkZHJfdCBvZmZzZXQ7Ci0JX191MzIgdG1wOwotCi0JaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl8zMUJJVCkgfHwKLQkgICAgKGFkZHIgJiAzKSB8fCBhZGRyID4gc2l6ZW9mKHN0cnVjdCB1c2VyMzIpIC0gMykKLQkJcmV0dXJuIC1FSU87Ci0KLQl0bXAgPSAoX191MzIpIGRhdGE7CiAKIAlpZiAoYWRkciA8IChhZGRyX3QpICZkdW1teTMyLT5yZWdzLmFjcnMpIHsKIAkJLyoKQEAgLTUyOCw2ICs1NTQsMTYgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBwb2tlX3VzZXJfY29tcGF0KHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsCisJCQkgICAgYWRkcl90IGFkZHIsIGFkZHJfdCBkYXRhKQoreworCWlmICghdGVzdF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpIHx8CisJICAgIChhZGRyICYgMykgfHwgYWRkciA+IHNpemVvZihzdHJ1Y3QgdXNlcjMyKSAtIDMpCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIF9fcG9rZV91c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7Cit9CisKIGxvbmcgY29tcGF0X2FyY2hfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQsIGNvbXBhdF9sb25nX3QgcmVxdWVzdCwKIAkJCWNvbXBhdF91bG9uZ190IGNhZGRyLCBjb21wYXRfdWxvbmdfdCBjZGF0YSkKIHsKQEAgLTUzOSwxMSArNTc1LDExIEBACiAJc3dpdGNoIChyZXF1ZXN0KSB7CiAJY2FzZSBQVFJBQ0VfUEVFS1VTUjoKIAkJLyogcmVhZCB0aGUgd29yZCBhdCBsb2NhdGlvbiBhZGRyIGluIHRoZSBVU0VSIGFyZWEuICovCi0JCXJldHVybiBwZWVrX3VzZXJfZW11MzEoY2hpbGQsIGFkZHIsIGRhdGEpOworCQlyZXR1cm4gcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAKIAljYXNlIFBUUkFDRV9QT0tFVVNSOgogCQkvKiB3cml0ZSB0aGUgd29yZCBhdCBsb2NhdGlvbiBhZGRyIGluIHRoZSBVU0VSIGFyZWEgKi8KLQkJcmV0dXJuIHBva2VfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCXJldHVybiBwb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCBkYXRhKTsKIAogCWNhc2UgUFRSQUNFX1BFRUtVU1JfQVJFQToKIAljYXNlIFBUUkFDRV9QT0tFVVNSX0FSRUE6CkBAIC01NTUsMTMgKzU5MSwxMyBAQAogCQljb3BpZWQgPSAwOwogCQl3aGlsZSAoY29waWVkIDwgcGFyZWEubGVuKSB7CiAJCQlpZiAocmVxdWVzdCA9PSBQVFJBQ0VfUEVFS1VTUl9BUkVBKQotCQkJCXJldCA9IHBlZWtfdXNlcl9lbXUzMShjaGlsZCwgYWRkciwgZGF0YSk7CisJCQkJcmV0ID0gcGVla191c2VyX2NvbXBhdChjaGlsZCwgYWRkciwgZGF0YSk7CiAJCQllbHNlIHsKIAkJCQlfX3UzMiB1dG1wOwogCQkJCWlmIChnZXRfdXNlcih1dG1wLAogCQkJCQkgICAgIChfX3UzMiBfX2ZvcmNlIF9fdXNlciAqKSBkYXRhKSkKIAkJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQkJcmV0ID0gcG9rZV91c2VyX2VtdTMxKGNoaWxkLCBhZGRyLCB1dG1wKTsKKwkJCQlyZXQgPSBwb2tlX3VzZXJfY29tcGF0KGNoaWxkLCBhZGRyLCB1dG1wKTsKIAkJCX0KIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKQEAgLTYxMCwzICs2NDYsMjQwIEBACiAJCQkJICAgIHJlZ3MtPmdwcnNbMl0sIHJlZ3MtPm9yaWdfZ3ByMiwgcmVncy0+Z3Byc1szXSwKIAkJCQkgICAgcmVncy0+Z3Byc1s0XSwgcmVncy0+Z3Byc1s1XSk7CiB9CisKKy8qCisgKiB1c2VyX3JlZ3NldCBkZWZpbml0aW9ucy4KKyAqLworCitzdGF0aWMgaW50IHMzOTBfcmVnc19nZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJIHZvaWQgKmtidWYsIHZvaWQgX191c2VyICp1YnVmKQoreworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCXVuc2lnbmVkIGxvbmcgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQkqaysrID0gX19wZWVrX3VzZXIodGFyZ2V0LCBwb3MpOworCQkJY291bnQgLT0gc2l6ZW9mKCprKTsKKwkJCXBvcyArPSBzaXplb2YoKmspOworCQl9CisJfSBlbHNlIHsKKwkJdW5zaWduZWQgbG9uZyBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQlpZiAoX19wdXRfdXNlcihfX3BlZWtfdXNlcih0YXJnZXQsIHBvcyksIHUrKykpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9yZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCSB1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkgY29uc3Qgdm9pZCAqa2J1ZiwgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9hY2Nlc3NfcmVncyh0YXJnZXQtPnRocmVhZC5hY3JzKTsKKworCWlmIChrYnVmKSB7CisJCWNvbnN0IHVuc2lnbmVkIGxvbmcgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJcmMgPSBfX3Bva2VfdXNlcih0YXJnZXQsIHBvcywgKmsrKyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb25zdCB1bnNpZ25lZCBsb25nICBfX3VzZXIgKnUgPSB1YnVmOworCQl3aGlsZSAoY291bnQgPiAwICYmICFyYykgeworCQkJdW5zaWduZWQgbG9uZyB3b3JkOworCQkJcmMgPSBfX2dldF91c2VyKHdvcmQsIHUrKyk7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCQlyYyA9IF9fcG9rZV91c2VyKHRhcmdldCwgcG9zLCB3b3JkKTsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHMzOTBfZnByZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LCB1bnNpZ25lZCBpbnQgcG9zLAorCQkJICAgdW5zaWduZWQgaW50IGNvdW50LCB2b2lkICprYnVmLCB2b2lkIF9fdXNlciAqdWJ1ZikKK3sKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfZnBfcmVncygmdGFyZ2V0LT50aHJlYWQuZnBfcmVncyk7CisKKwlyZXR1cm4gdXNlcl9yZWdzZXRfY29weW91dCgmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwKKwkJCQkgICAmdGFyZ2V0LT50aHJlYWQuZnBfcmVncywgMCwgLTEpOworfQorCitzdGF0aWMgaW50IHMzOTBfZnByZWdzX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LCB1bnNpZ25lZCBpbnQgcG9zLAorCQkJICAgdW5zaWduZWQgaW50IGNvdW50LCBjb25zdCB2b2lkICprYnVmLAorCQkJICAgY29uc3Qgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaW50IHJjID0gMDsKKworCWlmICh0YXJnZXQgPT0gY3VycmVudCkKKwkJc2F2ZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCS8qIElmIHNldHRpbmcgRlBDLCBtdXN0IHZhbGlkYXRlIGl0IGZpcnN0LiAqLworCWlmIChjb3VudCA+IDAgJiYgcG9zIDwgb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSkgeworCQl1MzIgZnBjWzJdID0geyB0YXJnZXQtPnRocmVhZC5mcF9yZWdzLmZwYywgMCB9OworCQlyYyA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwgJmZwYywKKwkJCQkJMCwgb2Zmc2V0b2YoczM5MF9mcF9yZWdzLCBmcHJzKSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKChmcGNbMF0gJiB+RlBDX1ZBTElEX01BU0spICE9IDAgfHwgZnBjWzFdICE9IDApCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcGMgPSBmcGNbMF07CisJfQorCisJaWYgKHJjID09IDAgJiYgY291bnQgPiAwKQorCQlyYyA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwKKwkJCQkJdGFyZ2V0LT50aHJlYWQuZnBfcmVncy5mcHJzLAorCQkJCQlvZmZzZXRvZihzMzkwX2ZwX3JlZ3MsIGZwcnMpLCAtMSk7CisKKwlpZiAocmMgPT0gMCAmJiB0YXJnZXQgPT0gY3VycmVudCkKKwkJcmVzdG9yZV9mcF9yZWdzKCZ0YXJnZXQtPnRocmVhZC5mcF9yZWdzKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCBzMzkwX3JlZ3NldHNbXSA9IHsKKwlbUkVHU0VUX0dFTkVSQUxdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUlNUQVRVUywKKwkJLm4gPSBzaXplb2YoczM5MF9yZWdzKSAvIHNpemVvZihsb25nKSwKKwkJLnNpemUgPSBzaXplb2YobG9uZyksCisJCS5hbGlnbiA9IHNpemVvZihsb25nKSwKKwkJLmdldCA9IHMzOTBfcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX3JlZ3Nfc2V0LAorCX0sCisJW1JFR1NFVF9GUF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSRlBSRUcsCisJCS5uID0gc2l6ZW9mKHMzOTBfZnBfcmVncykgLyBzaXplb2YobG9uZyksCisJCS5zaXplID0gc2l6ZW9mKGxvbmcpLAorCQkuYWxpZ24gPSBzaXplb2YobG9uZyksCisJCS5nZXQgPSBzMzkwX2ZwcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2ZwcmVnc19zZXQsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyB1c2VyX3MzOTBfdmlldyA9IHsKKwkubmFtZSA9IFVUU19NQUNISU5FLAorCS5lX21hY2hpbmUgPSBFTV9TMzkwLAorCS5yZWdzZXRzID0gczM5MF9yZWdzZXRzLAorCS5uID0gQVJSQVlfU0laRShzMzkwX3JlZ3NldHMpCit9OworCisjaWZkZWYgQ09ORklHX0NPTVBBVAorc3RhdGljIGludCBzMzkwX2NvbXBhdF9yZWdzX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKKwkJCQljb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwKKwkJCQl1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQgY291bnQsCisJCQkJdm9pZCAqa2J1Ziwgdm9pZCBfX3VzZXIgKnVidWYpCit7CisJaWYgKHRhcmdldCA9PSBjdXJyZW50KQorCQlzYXZlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJaWYgKGtidWYpIHsKKwkJY29tcGF0X3Vsb25nX3QgKmsgPSBrYnVmOworCQl3aGlsZSAoY291bnQgPiAwKSB7CisJCQkqaysrID0gX19wZWVrX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zKTsKKwkJCWNvdW50IC09IHNpemVvZigqayk7CisJCQlwb3MgKz0gc2l6ZW9mKCprKTsKKwkJfQorCX0gZWxzZSB7CisJCWNvbXBhdF91bG9uZ190IF9fdXNlciAqdSA9IHVidWY7CisJCXdoaWxlIChjb3VudCA+IDApIHsKKwkJCWlmIChfX3B1dF91c2VyKF9fcGVla191c2VyX2NvbXBhdCh0YXJnZXQsIHBvcyksIHUrKykpCisJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQljb3VudCAtPSBzaXplb2YoKnUpOworCQkJcG9zICs9IHNpemVvZigqdSk7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczM5MF9jb21wYXRfcmVnc19zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCisJCQkJY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQsCisJCQkJdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LAorCQkJCWNvbnN0IHZvaWQgKmtidWYsIGNvbnN0IHZvaWQgX191c2VyICp1YnVmKQoreworCWludCByYyA9IDA7CisKKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpCisJCXNhdmVfYWNjZXNzX3JlZ3ModGFyZ2V0LT50aHJlYWQuYWNycyk7CisKKwlpZiAoa2J1ZikgeworCQljb25zdCBjb21wYXRfdWxvbmdfdCAqayA9IGtidWY7CisJCXdoaWxlIChjb3VudCA+IDAgJiYgIXJjKSB7CisJCQlyYyA9IF9fcG9rZV91c2VyX2NvbXBhdCh0YXJnZXQsIHBvcywgKmsrKyk7CisJCQljb3VudCAtPSBzaXplb2YoKmspOworCQkJcG9zICs9IHNpemVvZigqayk7CisJCX0KKwl9IGVsc2UgeworCQljb25zdCBjb21wYXRfdWxvbmdfdCAgX191c2VyICp1ID0gdWJ1ZjsKKwkJd2hpbGUgKGNvdW50ID4gMCAmJiAhcmMpIHsKKwkJCWNvbXBhdF91bG9uZ190IHdvcmQ7CisJCQlyYyA9IF9fZ2V0X3VzZXIod29yZCwgdSsrKTsKKwkJCWlmIChyYykKKwkJCQlicmVhazsKKwkJCXJjID0gX19wb2tlX3VzZXJfY29tcGF0KHRhcmdldCwgcG9zLCB3b3JkKTsKKwkJCWNvdW50IC09IHNpemVvZigqdSk7CisJCQlwb3MgKz0gc2l6ZW9mKCp1KTsKKwkJfQorCX0KKworCWlmIChyYyA9PSAwICYmIHRhcmdldCA9PSBjdXJyZW50KQorCQlyZXN0b3JlX2FjY2Vzc19yZWdzKHRhcmdldC0+dGhyZWFkLmFjcnMpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0IHMzOTBfY29tcGF0X3JlZ3NldHNbXSA9IHsKKwlbUkVHU0VUX0dFTkVSQUxdID0geworCQkuY29yZV9ub3RlX3R5cGUgPSBOVF9QUlNUQVRVUywKKwkJLm4gPSBzaXplb2YoczM5MF9jb21wYXRfcmVncykgLyBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5zaXplID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuYWxpZ24gPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5nZXQgPSBzMzkwX2NvbXBhdF9yZWdzX2dldCwKKwkJLnNldCA9IHMzOTBfY29tcGF0X3JlZ3Nfc2V0LAorCX0sCisJW1JFR1NFVF9GUF0gPSB7CisJCS5jb3JlX25vdGVfdHlwZSA9IE5UX1BSRlBSRUcsCisJCS5uID0gc2l6ZW9mKHMzOTBfZnBfcmVncykgLyBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5zaXplID0gc2l6ZW9mKGNvbXBhdF9sb25nX3QpLAorCQkuYWxpZ24gPSBzaXplb2YoY29tcGF0X2xvbmdfdCksCisJCS5nZXQgPSBzMzkwX2ZwcmVnc19nZXQsCisJCS5zZXQgPSBzMzkwX2ZwcmVnc19zZXQsCisJfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyB1c2VyX3MzOTBfY29tcGF0X3ZpZXcgPSB7CisJLm5hbWUgPSAiczM5MCIsCisJLmVfbWFjaGluZSA9IEVNX1MzOTAsCisJLnJlZ3NldHMgPSBzMzkwX2NvbXBhdF9yZWdzZXRzLAorCS5uID0gQVJSQVlfU0laRShzMzkwX2NvbXBhdF9yZWdzZXRzKQorfTsKKyNlbmRpZgorCitjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXRfdmlldyAqdGFza191c2VyX3JlZ3NldF92aWV3KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKK3sKKyNpZmRlZiBDT05GSUdfQ09NUEFUCisJaWYgKHRlc3RfdHNrX3RocmVhZF9mbGFnKHRhc2ssIFRJRl8zMUJJVCkpCisJCXJldHVybiAmdXNlcl9zMzkwX2NvbXBhdF92aWV3OworI2VuZGlmCisJcmV0dXJuICZ1c2VyX3MzOTBfdmlldzsKK30KZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYyBiL2FyY2gvczM5MC9rZXJuZWwvc2V0dXAuYwppbmRleCAyYmM3MGI2Li5iMzU4ZTE4IDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3NldHVwLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zZXR1cC5jCkBAIC03Nyw3ICs3Nyw3IEBACiB1bnNpZ25lZCBsb25nIGVsZl9od2NhcCA9IDA7CiBjaGFyIGVsZl9wbGF0Zm9ybVtFTEZfUExBVEZPUk1fU0laRV07CiAKLXN0cnVjdCBtZW1fY2h1bmsgX19tZW1pbml0ZGF0YSBtZW1vcnlfY2h1bmtbTUVNT1JZX0NIVU5LU107CitzdHJ1Y3QgbWVtX2NodW5rIF9faW5pdGRhdGEgbWVtb3J5X2NodW5rW01FTU9SWV9DSFVOS1NdOwogdm9sYXRpbGUgaW50IF9fY3B1X2xvZ2ljYWxfbWFwW05SX0NQVVNdOyAvKiBsb2dpY2FsIGNwdSB0byBjcHUgYWRkcmVzcyAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBtZW1vcnlfZW5kOwogCkBAIC0yMDUsMTIgKzIwNSw2IEBACiAJCQlTRVRfQ09OU09MRV9TQ0xQOwogI2VuZGlmCiAJCX0KLSAgICAgICAgfSBlbHNlIGlmIChNQUNISU5FX0lTX1AzOTApIHsKLSNpZiBkZWZpbmVkKENPTkZJR19UTjMyMTVfQ09OU09MRSkKLQkJU0VUX0NPTlNPTEVfMzIxNTsKLSNlbGlmIGRlZmluZWQoQ09ORklHX1ROMzI3MF9DT05TT0xFKQotCQlTRVRfQ09OU09MRV8zMjcwOwotI2VuZGlmCiAJfSBlbHNlIHsKICNpZiBkZWZpbmVkKENPTkZJR19TQ0xQX0NPTlNPTEUpIHx8IGRlZmluZWQoQ09ORklHX1NDTFBfVlQyMjBfQ09OU09MRSkKIAkJU0VUX0NPTlNPTEVfU0NMUDsKQEAgLTIyMSwxOCArMjE1LDE3IEBACiAjaWYgZGVmaW5lZChDT05GSUdfWkZDUERVTVApIHx8IGRlZmluZWQoQ09ORklHX1pGQ1BEVU1QX01PRFVMRSkKIHN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF96ZmNwZHVtcCh1bnNpZ25lZCBpbnQgY29uc29sZV9kZXZubykKIHsKLQlzdGF0aWMgY2hhciBzdHJbNjRdOworCXN0YXRpYyBjaGFyIHN0cls0MV07CiAKIAlpZiAoaXBsX2luZm8udHlwZSAhPSBJUExfVFlQRV9GQ1BfRFVNUCkKIAkJcmV0dXJuOwogCWlmIChjb25zb2xlX2Rldm5vICE9IC0xKQotCQlzcHJpbnRmKHN0ciwgImNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCwhMC4wLiUwNHgiLAorCQlzcHJpbnRmKHN0ciwgIiBjaW9faWdub3JlPWFsbCwhMC4wLiUwNHgsITAuMC4lMDR4IiwKIAkJCWlwbF9pbmZvLmRhdGEuZmNwLmRldl9pZC5kZXZubywgY29uc29sZV9kZXZubyk7CiAJZWxzZQotCQlzcHJpbnRmKHN0ciwgImNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCIsCisJCXNwcmludGYoc3RyLCAiIGNpb19pZ25vcmU9YWxsLCEwLjAuJTA0eCIsCiAJCQlpcGxfaW5mby5kYXRhLmZjcC5kZXZfaWQuZGV2bm8pOwotCXN0cmNhdChDT01NQU5EX0xJTkUsICIgIik7Ci0Jc3RyY2F0KENPTU1BTkRfTElORSwgc3RyKTsKKwlzdHJjYXQoYm9vdF9jb21tYW5kX2xpbmUsIHN0cik7CiAJY29uc29sZV9sb2dsZXZlbCA9IDI7CiB9CiAjZWxzZQpAQCAtMjg5LDMyICsyODIsNiBAQAogfQogZWFybHlfcGFyYW0oIm1lbSIsIGVhcmx5X3BhcnNlX21lbSk7CiAKLS8qCi0gKiAiaXBsZGVsYXk9WFhYW3NtXSIgc2V0cyBpcGwgZGVsYXkgaW4gc2Vjb25kcyBvciBtaW51dGVzCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX2lwbGRlbGF5KGNoYXIgKnApCi17Ci0JdW5zaWduZWQgbG9uZyBkZWxheSA9IDA7Ci0KLQlkZWxheSA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAwKTsKLQotCXN3aXRjaCAoKnApIHsKLQljYXNlICdzJzoKLQljYXNlICdTJzoKLQkJZGVsYXkgKj0gMTAwMDAwMDsKLQkJYnJlYWs7Ci0JY2FzZSAnbSc6Ci0JY2FzZSAnTSc6Ci0JCWRlbGF5ICo9IDYwICogMTAwMDAwMDsKLQl9Ci0KLQkvKiBub3cgd2FpdCBmb3IgdGhlIHJlcXVlc3RlZCBhbW91bnQgb2YgdGltZSAqLwotCXVkZWxheShkZWxheSk7Ci0KLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJpcGxkZWxheSIsIGVhcmx5X3BhcnNlX2lwbGRlbGF5KTsKLQogI2lmZGVmIENPTkZJR19TMzkwX1NXSVRDSF9BTU9ERQogI2lmZGVmIENPTkZJR19QR1NURQogdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZSA9IDE7CkBAIC04MDQsMTEgKzc3MSw5IEBACiAJCXByaW50aygiV2UgYXJlIHJ1bm5pbmcgbmF0aXZlICg2NCBiaXQgbW9kZSlcbiIpOwogI2VuZGlmIC8qIENPTkZJR182NEJJVCAqLwogCi0JLyogU2F2ZSB1bnBhcnNlZCBjb21tYW5kIGxpbmUgY29weSBmb3IgL3Byb2MvY21kbGluZSAqLwotCXN0cmxjcHkoYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORSwgQ09NTUFORF9MSU5FX1NJWkUpOwotCi0JKmNtZGxpbmVfcCA9IENPTU1BTkRfTElORTsKLQkqKCpjbWRsaW5lX3AgKyBDT01NQU5EX0xJTkVfU0laRSAtIDEpID0gJ1wwJzsKKwkvKiBIYXZlIG9uZSBjb21tYW5kIGxpbmUgdGhhdCBpcyBwYXJzZWQgYW5kIHNhdmVkIGluIC9wcm9jL2NtZGxpbmUgKi8KKwkvKiBib290X2NvbW1hbmRfbGluZSBoYXMgYmVlbiBhbHJlYWR5IHNldCB1cCBpbiBlYXJseS5jICovCisJKmNtZGxpbmVfcCA9IGJvb3RfY29tbWFuZF9saW5lOwogCiAgICAgICAgIFJPT1RfREVWID0gUm9vdF9SQU0wOwogCmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3NtcC5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zbXAuYwppbmRleCA1ZDRmYTRiLi5iNjc4MTAzIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3NtcC5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvc21wLmMKQEAgLTEwOSw3ICsxMDksNyBAQAogfQogCiBzdGF0aWMgdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcCh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSAgICBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCwgY3B1bWFza190IG1hcCkKKwkJCQkgICAgaW50IHdhaXQsIGNwdW1hc2tfdCBtYXApCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1LCBsb2NhbCA9IDA7CkBAIC0xNjIsNyArMTYyLDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uOgogICogQGZ1bmM6IHRoZSBmdW5jdGlvbiB0byBydW47IHRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcKICAqIEBpbmZvOiBhbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbgotICogQG5vbmF0b21pYzogdW51c2VkCiAgKiBAd2FpdDogaWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzCiAgKgogICogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCkBAIC0xNzAsMTUgKzE2OSwxNCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMsIGZyb20gYQogICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmLgogICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCiB7CiAJY3B1bWFza190IG1hcDsKIAogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKIAltYXAgPSBjcHVfb25saW5lX21hcDsKIAljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXApOwotCV9fc21wX2NhbGxfZnVuY3Rpb25fbWFwKGZ1bmMsIGluZm8sIG5vbmF0b21pYywgd2FpdCwgbWFwKTsKKwlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCB3YWl0LCBtYXApOwogCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwogCXJldHVybiAwOwogfQpAQCAtMTg5LDcgKzE4Nyw2IEBACiAgKiBAY3B1OiB0aGUgQ1BVIHdoZXJlIGZ1bmMgc2hvdWxkIHJ1bgogICogQGZ1bmM6IHRoZSBmdW5jdGlvbiB0byBydW47IHRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcKICAqIEBpbmZvOiBhbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbgotICogQG5vbmF0b21pYzogdW51c2VkCiAgKiBAd2FpdDogaWYgdHJ1ZSwgd2FpdCAoYXRvbWljYWxseSkgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzCiAgKgogICogUnVuIGEgZnVuY3Rpb24gb24gb25lIHByb2Nlc3Nvci4KQEAgLTE5OCwxMSArMTk1LDEwIEBACiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYuCiAgKi8KIGludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCisJCQkgICAgIGludCB3YWl0KQogewogCXNwaW5fbG9jaygmY2FsbF9sb2NrKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uX21hcChmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJY3B1bWFza19vZl9jcHUoY3B1KSk7CisJX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgd2FpdCwgY3B1bWFza19vZl9jcHUoY3B1KSk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMjgsNyArMjI0LDcgQEAKIHsKIAlzcGluX2xvY2soJmNhbGxfbG9jayk7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzayk7Ci0JX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgMCwgd2FpdCwgbWFzayk7CisJX19zbXBfY2FsbF9mdW5jdGlvbl9tYXAoZnVuYywgaW5mbywgd2FpdCwgbWFzayk7CiAJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC0zMDMsNyArMjk5LDcgQEAKIAogdm9pZCBzbXBfcHRsYl9hbGwodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShzbXBfcHRsYl9jYWxsYmFjaywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX3B0bGJfY2FsbGJhY2ssIE5VTEwsIDEpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfcHRsYl9hbGwpOwogI2VuZGlmIC8qICEgQ09ORklHXzY0QklUICovCkBAIC0zNTEsNyArMzQ3LDcgQEAKIAltZW1zZXQoJnBhcm1zLm9ydmFscywgMCwgc2l6ZW9mKHBhcm1zLm9ydmFscykpOwogCW1lbXNldCgmcGFybXMuYW5kdmFscywgMHhmZiwgc2l6ZW9mKHBhcm1zLmFuZHZhbHMpKTsKIAlwYXJtcy5vcnZhbHNbY3JdID0gMSA8PCBiaXQ7Ci0Jb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMCwgMSk7CisJb25fZWFjaF9jcHUoc21wX2N0bF9iaXRfY2FsbGJhY2ssICZwYXJtcywgMSk7CiB9CiBFWFBPUlRfU1lNQk9MKHNtcF9jdGxfc2V0X2JpdCk7CiAKQEAgLTM2NSw3ICszNjEsNyBAQAogCW1lbXNldCgmcGFybXMub3J2YWxzLCAwLCBzaXplb2YocGFybXMub3J2YWxzKSk7CiAJbWVtc2V0KCZwYXJtcy5hbmR2YWxzLCAweGZmLCBzaXplb2YocGFybXMuYW5kdmFscykpOwogCXBhcm1zLmFuZHZhbHNbY3JdID0gfigxTCA8PCBiaXQpOwotCW9uX2VhY2hfY3B1KHNtcF9jdGxfYml0X2NhbGxiYWNrLCAmcGFybXMsIDAsIDEpOworCW9uX2VhY2hfY3B1KHNtcF9jdGxfYml0X2NhbGxiYWNrLCAmcGFybXMsIDEpOwogfQogRVhQT1JUX1NZTUJPTChzbXBfY3RsX2NsZWFyX2JpdCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggODVlNDZhNS4uNTc1NzFmMSAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTgxLDYgKzgxLDcgQEAKIAkJCSAgIFMzOTBfbG93Y29yZS50aHJlYWRfaW5mbywKIAkJCSAgIFMzOTBfbG93Y29yZS50aHJlYWRfaW5mbyArIFRIUkVBRF9TSVpFLCAxKTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogCiB2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewpAQCAtOTMsMyArOTQsNCBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlX3Rzayk7CmRpZmYgLS1naXQgYS9hcmNoL3MzOTAva2VybmVsL3RpbWUuYyBiL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCmluZGV4IDdhZWM2NzYuLmYyY2VkZTMgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvczM5MC9rZXJuZWwvdGltZS5jCkBAIC0zLDcgKzMsNyBAQAogICogICAgVGltZSBvZiBkYXkgYmFzZWQgdGltZXIgZnVuY3Rpb25zLgogICoKICAqICBTMzkwIHZlcnNpb24KLSAqICAgIENvcHlyaWdodCAoQykgMTk5OSBJQk0gRGV1dHNjaGxhbmQgRW50d2lja2x1bmcgR21iSCwgSUJNIENvcnBvcmF0aW9uCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDE5OTksIDIwMDgKICAqICAgIEF1dGhvcihzKTogSGFydG11dCBQZW5uZXIgKGhwQGRlLmlibS5jb20pLAogICogICAgICAgICAgICAgICBNYXJ0aW4gU2Nod2lkZWZza3kgKHNjaHdpZGVmc2t5QGRlLmlibS5jb20pLAogICogICAgICAgICAgICAgICBEZW5pcyBKb3NlcGggQmFycm93IChkamJhcnJvd0BkZS5pYm0uY29tLGJhcnJvd19kakB5YWhvby5jb20pCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Nsb2NrY2hpcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZGVsYXkuaD4KICNpbmNsdWRlIDxhc20vczM5MF9leHQuaD4KQEAgLTE2Miw3ICsxNjMsNyBAQAogCS8qIEVuYWJsZSBjbG9jayBjb21wYXJhdG9yIHRpbWVyIGludGVycnVwdC4gKi8KIAlfX2N0bF9zZXRfYml0KDAsMTEpOwogCi0JLyogQWx3YXlzIGFsbG93IEVUUiBleHRlcm5hbCBpbnRlcnJ1cHRzLCBldmVuIHdpdGhvdXQgYW4gRVRSLiAqLworCS8qIEFsd2F5cyBhbGxvdyB0aGUgdGltaW5nIGFsZXJ0IGV4dGVybmFsIGludGVycnVwdC4gKi8KIAlfX2N0bF9zZXRfYml0KDAsIDQpOwogfQogCkBAIC0xNzAsOCArMTcxLDIxIEBACiB7CiB9CiAKK3N0YXRpYyB2b2lkIGV0cl90aW1pbmdfYWxlcnQoc3RydWN0IGV0cl9pcnFfcGFybSAqKTsKK3N0YXRpYyB2b2lkIHN0cF90aW1pbmdfYWxlcnQoc3RydWN0IHN0cF9pcnFfcGFybSAqKTsKKworc3RhdGljIHZvaWQgdGltaW5nX2FsZXJ0X2ludGVycnVwdChfX3UxNiBjb2RlKQoreworCWlmIChTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyAmIDB4MDBjNDAwMDApCisJCWV0cl90aW1pbmdfYWxlcnQoKHN0cnVjdCBldHJfaXJxX3Bhcm0gKikKKwkJCQkgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zKTsKKwlpZiAoUzM5MF9sb3djb3JlLmV4dF9wYXJhbXMgJiAweDAwMDM4MDAwKQorCQlzdHBfdGltaW5nX2FsZXJ0KChzdHJ1Y3Qgc3RwX2lycV9wYXJtICopCisJCQkJICZTMzkwX2xvd2NvcmUuZXh0X3BhcmFtcyk7Cit9CisKIHN0YXRpYyB2b2lkIGV0cl9yZXNldCh2b2lkKTsKLXN0YXRpYyB2b2lkIGV0cl9leHRfaGFuZGxlcihfX3UxNik7CitzdGF0aWMgdm9pZCBzdHBfcmVzZXQodm9pZCk7CiAKIC8qCiAgKiBHZXQgdGhlIFRPRCBjbG9jayBydW5uaW5nLgpAQCAtMTgxLDYgKzE5NSw3IEBACiAJdTY0IHRpbWU7CiAKIAlldHJfcmVzZXQoKTsKKwlzdHBfcmVzZXQoKTsKIAlpZiAoc3RvcmVfY2xvY2soJnRpbWUpID09IDApCiAJCXJldHVybiB0aW1lOwogCS8qIFRPRCBjbG9jayBub3QgcnVubmluZy4gU2V0IHRoZSBjbG9jayB0byBVbml4IEVwb2NoLiAqLwpAQCAtMjMxLDggKzI0Niw5IEBACiAJaWYgKGNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90b2QpICE9IDApCiAJCXBhbmljKCJDb3VsZCBub3QgcmVnaXN0ZXIgVE9EIGNsb2NrIHNvdXJjZSIpOwogCi0JLyogcmVxdWVzdCB0aGUgZXRyIGV4dGVybmFsIGludGVycnVwdCAqLwotCWlmIChyZWdpc3Rlcl9lYXJseV9leHRlcm5hbF9pbnRlcnJ1cHQoMHgxNDA2LCBldHJfZXh0X2hhbmRsZXIsCisJLyogcmVxdWVzdCB0aGUgdGltaW5nIGFsZXJ0IGV4dGVybmFsIGludGVycnVwdCAqLworCWlmIChyZWdpc3Rlcl9lYXJseV9leHRlcm5hbF9pbnRlcnJ1cHQoMHgxNDA2LAorCQkJCQkgICAgICB0aW1pbmdfYWxlcnRfaW50ZXJydXB0LAogCQkJCQkgICAgICAmZXh0X2ludF9ldHJfY2MpICE9IDApCiAJCXBhbmljKCJDb3VsZG4ndCByZXF1ZXN0IGV4dGVybmFsIGludGVycnVwdCAweDE0MDYiKTsKIApAQCAtMjQ1LDEwICsyNjEsMTEyIEBACiB9CiAKIC8qCisgKiBUaGUgdGltZSBpcyAiY2xvY2siLiBvbGQgaXMgd2hhdCB3ZSB0aGluayB0aGUgdGltZSBpcy4KKyAqIEFkanVzdCB0aGUgdmFsdWUgYnkgYSBtdWx0aXBsZSBvZiBqaWZmaWVzIGFuZCBhZGQgdGhlIGRlbHRhIHRvIG50cC4KKyAqICJkZWxheSIgaXMgYW4gYXBwcm94aW1hdGlvbiBob3cgbG9uZyB0aGUgc3luY2hyb25pemF0aW9uIHRvb2suIElmCisgKiB0aGUgdGltZSBjb3JyZWN0aW9uIGlzIHBvc2l0aXZlLCB0aGVuICJkZWxheSIgaXMgc3VidHJhY3RlZCBmcm9tCisgKiB0aGUgdGltZSBkaWZmZXJlbmNlIGFuZCBvbmx5IHRoZSByZW1haW5pbmcgcGFydCBpcyBwYXNzZWQgdG8gbnRwLgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIGFkanVzdF90aW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBvbGQsCisJCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWxheSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEsIHRpY2tzOworCXN0cnVjdCB0aW1leCBhZGp1c3Q7CisKKwlpZiAoY2xvY2sgPiBvbGQpIHsKKwkJLyogSXQgaXMgbGF0ZXIgdGhhbiB3ZSB0aG91Z2h0LiAqLworCQlkZWx0YSA9IHRpY2tzID0gY2xvY2sgLSBvbGQ7CisJCWRlbHRhID0gdGlja3MgPSAoZGVsdGEgPCBkZWxheSkgPyAwIDogZGVsdGEgLSBkZWxheTsKKwkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKKwkJYWRqdXN0Lm9mZnNldCA9IHRpY2tzICogKDEwMDAwMDAgLyBIWik7CisJfSBlbHNlIHsKKwkJLyogSXQgaXMgZWFybGllciB0aGFuIHdlIHRob3VnaHQuICovCisJCWRlbHRhID0gdGlja3MgPSBvbGQgLSBjbG9jazsKKwkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKKwkJZGVsdGEgPSAtZGVsdGE7CisJCWFkanVzdC5vZmZzZXQgPSAtdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKKwl9CisJamlmZmllc190aW1lcl9jYyArPSBkZWx0YTsKKwlpZiAoYWRqdXN0Lm9mZnNldCAhPSAwKSB7CisJCXByaW50ayhLRVJOX05PVElDRSAiZXRyOiB0aW1lIGFkanVzdGVkIGJ5ICVsaSBtaWNyby1zZWNvbmRzXG4iLAorCQkgICAgICAgYWRqdXN0Lm9mZnNldCk7CisJCWFkanVzdC5tb2RlcyA9IEFESl9PRkZTRVRfU0lOR0xFU0hPVDsKKwkJZG9fYWRqdGltZXgoJmFkanVzdCk7CisJfQorCXJldHVybiBkZWx0YTsKK30KKworc3RhdGljIERFRklORV9QRVJfQ1BVKGF0b21pY190LCBjbG9ja19zeW5jX3dvcmQpOworc3RhdGljIHVuc2lnbmVkIGxvbmcgY2xvY2tfc3luY19mbGFnczsKKworI2RlZmluZSBDTE9DS19TWU5DX0hBU19FVFIJMAorI2RlZmluZSBDTE9DS19TWU5DX0hBU19TVFAJMQorI2RlZmluZSBDTE9DS19TWU5DX0VUUgkJMgorI2RlZmluZSBDTE9DS19TWU5DX1NUUAkJMworCisvKgorICogVGhlIHN5bmNocm9ub3VzIGdldF9jbG9jayBmdW5jdGlvbi4gSXQgd2lsbCB3cml0ZSB0aGUgY3VycmVudCBjbG9jaworICogdmFsdWUgdG8gdGhlIGNsb2NrIHBvaW50ZXIgYW5kIHJldHVybiAwIGlmIHRoZSBjbG9jayBpcyBpbiBzeW5jIHdpdGgKKyAqIHRoZSBleHRlcm5hbCB0aW1lIHNvdXJjZS4gSWYgdGhlIGNsb2NrIG1vZGUgaXMgbG9jYWwgaXQgd2lsbCByZXR1cm4KKyAqIC1FTk9TWVMgYW5kIC1FQUdBSU4gaWYgdGhlIGNsb2NrIGlzIG5vdCBpbiBzeW5jIHdpdGggdGhlIGV4dGVybmFsCisgKiByZWZlcmVuY2UuCisgKi8KK2ludCBnZXRfc3luY19jbG9jayh1bnNpZ25lZCBsb25nIGxvbmcgKmNsb2NrKQoreworCWF0b21pY190ICpzd19wdHI7CisJdW5zaWduZWQgaW50IHN3MCwgc3cxOworCisJc3dfcHRyID0gJmdldF9jcHVfdmFyKGNsb2NrX3N5bmNfd29yZCk7CisJc3cwID0gYXRvbWljX3JlYWQoc3dfcHRyKTsKKwkqY2xvY2sgPSBnZXRfY2xvY2soKTsKKwlzdzEgPSBhdG9taWNfcmVhZChzd19wdHIpOworCXB1dF9jcHVfdmFyKGNsb2NrX3N5bmNfc3luYyk7CisJaWYgKHN3MCA9PSBzdzEgJiYgKHN3MCAmIDB4ODAwMDAwMDBVKSkKKwkJLyogU3VjY2VzczogdGltZSBpcyBpbiBzeW5jLiAqLworCQlyZXR1cm4gMDsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmCisJICAgICF0ZXN0X2JpdChDTE9DS19TWU5DX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVBQ0NFUzsKKwlyZXR1cm4gLUVBR0FJTjsKK30KK0VYUE9SVF9TWU1CT0woZ2V0X3N5bmNfY2xvY2spOworCisvKgorICogTWFrZSBnZXRfc3luY19jbG9jayByZXR1cm4gLUVBR0FJTi4KKyAqLworc3RhdGljIHZvaWQgZGlzYWJsZV9zeW5jX2Nsb2NrKHZvaWQgKmR1bW15KQoreworCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihjbG9ja19zeW5jX3dvcmQpOworCS8qCisJICogQ2xlYXIgdGhlIGluLXN5bmMgYml0IDJeMzEuIEFsbCBnZXRfc3luY19jbG9jayBjYWxscyB3aWxsCisJICogZmFpbCB1bnRpbCB0aGUgc3luYyBiaXQgaXMgdHVybmVkIGJhY2sgb24uIEluIGFkZGl0aW9uCisJICogaW5jcmVhc2UgdGhlICJzZXF1ZW5jZSIgY291bnRlciB0byBhdm9pZCB0aGUgcmFjZSBvZiBhbgorCSAqIGV0ciBldmVudCBhbmQgdGhlIGNvbXBsZXRlIHJlY292ZXJ5IGFnYWluc3QgZ2V0X3N5bmNfY2xvY2suCisJICovCisJYXRvbWljX2NsZWFyX21hc2soMHg4MDAwMDAwMCwgc3dfcHRyKTsKKwlhdG9taWNfaW5jKHN3X3B0cik7Cit9CisKKy8qCisgKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAwIGFnYWluLgorICogTmVlZHMgdG8gYmUgY2FsbGVkIGZyb20gYSBjb250ZXh0IGRpc2FibGVkIGZvciBwcmVlbXB0aW9uLgorICovCitzdGF0aWMgdm9pZCBlbmFibGVfc3luY19jbG9jayh2b2lkKQoreworCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihjbG9ja19zeW5jX3dvcmQpOworCWF0b21pY19zZXRfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOworfQorCisvKgogICogRXh0ZXJuYWwgVGltZSBSZWZlcmVuY2UgKEVUUikgY29kZS4KICAqLwogc3RhdGljIGludCBldHJfcG9ydDBfb25saW5lOwogc3RhdGljIGludCBldHJfcG9ydDFfb25saW5lOworc3RhdGljIGludCBldHJfc3RlYWlfYXZhaWxhYmxlOwogCiBzdGF0aWMgaW50IF9faW5pdCBlYXJseV9wYXJzZV9ldHIoY2hhciAqcCkKIHsKQEAgLTI3MywxMiArMzkxLDYgQEAKIAlFVFJfRVZFTlRfVVBEQVRFLAogfTsKIAotZW51bSBldHJfZmxhZ3MgewotCUVUUl9GTEFHX0VOT1NZUywKLQlFVFJfRkxBR19FQUNDRVMsCi0JRVRSX0ZMQUdfU1RFQUksCi19OwotCiAvKgogICogVmFsaWQgYml0IGNvbWJpbmF0aW9ucyBvZiB0aGUgZWFjciByZWdpc3RlciBhcmUgKHggPSBkb24ndCBjYXJlKToKICAqIGUwIGUxIGRwIHAwIHAxIGVhIGVzIHNsCkBAIC0zMDUsNzQgKzQxNywxOCBAQAogICovCiBzdGF0aWMgc3RydWN0IGV0cl9lYWNyIGV0cl9lYWNyOwogc3RhdGljIHU2NCBldHJfdG9sZWM7CQkJLyogdGltZSBvZiBsYXN0IGVhY3IgdXBkYXRlICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBldHJfZmxhZ3M7CiBzdGF0aWMgc3RydWN0IGV0cl9haWIgZXRyX3BvcnQwOwogc3RhdGljIGludCBldHJfcG9ydDBfdXB0b2RhdGU7CiBzdGF0aWMgc3RydWN0IGV0cl9haWIgZXRyX3BvcnQxOwogc3RhdGljIGludCBldHJfcG9ydDFfdXB0b2RhdGU7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBldHJfZXZlbnRzOwogc3RhdGljIHN0cnVjdCB0aW1lcl9saXN0IGV0cl90aW1lcjsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShhdG9taWNfdCwgZXRyX3N5bmNfd29yZCk7CiAKIHN0YXRpYyB2b2lkIGV0cl90aW1lb3V0KHVuc2lnbmVkIGxvbmcgZHVtbXkpOwogc3RhdGljIHZvaWQgZXRyX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHN0YXRpYyBERUNMQVJFX1dPUksoZXRyX3dvcmssIGV0cl93b3JrX2ZuKTsKIAogLyoKLSAqIFRoZSBldHIgZ2V0X2Nsb2NrIGZ1bmN0aW9uLiBJdCB3aWxsIHdyaXRlIHRoZSBjdXJyZW50IGNsb2NrIHZhbHVlCi0gKiB0byB0aGUgY2xvY2sgcG9pbnRlciBhbmQgcmV0dXJuIDAgaWYgdGhlIGNsb2NrIGlzIGluIHN5bmMgd2l0aCB0aGUKLSAqIGV4dGVybmFsIHRpbWUgc291cmNlLiBJZiB0aGUgY2xvY2sgbW9kZSBpcyBsb2NhbCBpdCB3aWxsIHJldHVybgotICogLUVOT1NZUyBhbmQgLUVBR0FJTiBpZiB0aGUgY2xvY2sgaXMgbm90IGluIHN5bmMgd2l0aCB0aGUgZXh0ZXJuYWwKLSAqIHJlZmVyZW5jZS4gVGhpcyBmdW5jdGlvbiBpcyB3aGF0IEVUUiBpcyBhbGwgYWJvdXQuLgotICovCi1pbnQgZ2V0X3N5bmNfY2xvY2sodW5zaWduZWQgbG9uZyBsb25nICpjbG9jaykKLXsKLQlhdG9taWNfdCAqc3dfcHRyOwotCXVuc2lnbmVkIGludCBzdzAsIHN3MTsKLQotCXN3X3B0ciA9ICZnZXRfY3B1X3ZhcihldHJfc3luY193b3JkKTsKLQlzdzAgPSBhdG9taWNfcmVhZChzd19wdHIpOwotCSpjbG9jayA9IGdldF9jbG9jaygpOwotCXN3MSA9IGF0b21pY19yZWFkKHN3X3B0cik7Ci0JcHV0X2NwdV92YXIoZXRyX3N5bmNfc3luYyk7Ci0JaWYgKHN3MCA9PSBzdzEgJiYgKHN3MCAmIDB4ODAwMDAwMDBVKSkKLQkJLyogU3VjY2VzczogdGltZSBpcyBpbiBzeW5jLiAqLwotCQlyZXR1cm4gMDsKLQlpZiAodGVzdF9iaXQoRVRSX0ZMQUdfRU5PU1lTLCAmZXRyX2ZsYWdzKSkKLQkJcmV0dXJuIC1FTk9TWVM7Ci0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncykpCi0JCXJldHVybiAtRUFDQ0VTOwotCXJldHVybiAtRUFHQUlOOwotfQotRVhQT1JUX1NZTUJPTChnZXRfc3luY19jbG9jayk7Ci0KLS8qCi0gKiBNYWtlIGdldF9zeW5jX2Nsb2NrIHJldHVybiAtRUFHQUlOLgotICovCi1zdGF0aWMgdm9pZCBldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKHZvaWQgKmR1bW15KQotewotCWF0b21pY190ICpzd19wdHIgPSAmX19nZXRfY3B1X3ZhcihldHJfc3luY193b3JkKTsKLQkvKgotCSAqIENsZWFyIHRoZSBpbi1zeW5jIGJpdCAyXjMxLiBBbGwgZ2V0X3N5bmNfY2xvY2sgY2FsbHMgd2lsbAotCSAqIGZhaWwgdW50aWwgdGhlIHN5bmMgYml0IGlzIHR1cm5lZCBiYWNrIG9uLiBJbiBhZGRpdGlvbgotCSAqIGluY3JlYXNlIHRoZSAic2VxdWVuY2UiIGNvdW50ZXIgdG8gYXZvaWQgdGhlIHJhY2Ugb2YgYW4KLQkgKiBldHIgZXZlbnQgYW5kIHRoZSBjb21wbGV0ZSByZWNvdmVyeSBhZ2FpbnN0IGdldF9zeW5jX2Nsb2NrLgotCSAqLwotCWF0b21pY19jbGVhcl9tYXNrKDB4ODAwMDAwMDAsIHN3X3B0cik7Ci0JYXRvbWljX2luYyhzd19wdHIpOwotfQotCi0vKgotICogTWFrZSBnZXRfc3luY19jbG9jayByZXR1cm4gMCBhZ2Fpbi4KLSAqIE5lZWRzIHRvIGJlIGNhbGxlZCBmcm9tIGEgY29udGV4dCBkaXNhYmxlZCBmb3IgcHJlZW1wdGlvbi4KLSAqLwotc3RhdGljIHZvaWQgZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKHZvaWQpCi17Ci0JYXRvbWljX3QgKnN3X3B0ciA9ICZfX2dldF9jcHVfdmFyKGV0cl9zeW5jX3dvcmQpOwotCWF0b21pY19zZXRfbWFzaygweDgwMDAwMDAwLCBzd19wdHIpOwotfQotCi0vKgogICogUmVzZXQgRVRSIGF0dGFjaG1lbnQuCiAgKi8KIHN0YXRpYyB2b2lkIGV0cl9yZXNldCh2b2lkKQpAQCAtMzgxLDE1ICs0MzcsMTMgQEAKIAkJLmUwID0gMCwgLmUxID0gMCwgLl9wYWQwID0gNCwgLmRwID0gMCwKIAkJLnAwID0gMCwgLnAxID0gMCwgLl9wYWQxID0gMCwgLmVhID0gMCwKIAkJLmVzID0gMCwgLnNsID0gMCB9OwotCWlmIChldHJfc2V0cigmZXRyX2VhY3IpID09IDApCisJaWYgKGV0cl9zZXRyKCZldHJfZWFjcikgPT0gMCkgewogCQlldHJfdG9sZWMgPSBnZXRfY2xvY2soKTsKLQllbHNlIHsKLQkJc2V0X2JpdChFVFJfRkxBR19FTk9TWVMsICZldHJfZmxhZ3MpOwotCQlpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKSB7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJSdW5uaW5nIG9uIG5vbiBFVFIgY2FwYWJsZSAiCi0JCQkgICAgICAgIm1hY2hpbmUsIG9ubHkgbG9jYWwgbW9kZSBhdmFpbGFibGUuXG4iKTsKLQkJCWV0cl9wb3J0MF9vbmxpbmUgPSBldHJfcG9ydDFfb25saW5lID0gMDsKLQkJfQorCQlzZXRfYml0KENMT0NLX1NZTkNfSEFTX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOworCX0gZWxzZSBpZiAoZXRyX3BvcnQwX29ubGluZSB8fCBldHJfcG9ydDFfb25saW5lKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIEVUUiBjYXBhYmxlICIKKwkJICAgICAgICJtYWNoaW5lLCBvbmx5IGxvY2FsIG1vZGUgYXZhaWxhYmxlLlxuIik7CisJCWV0cl9wb3J0MF9vbmxpbmUgPSBldHJfcG9ydDFfb25saW5lID0gMDsKIAl9CiB9CiAKQEAgLTM5NywxNCArNDUxLDEyIEBACiB7CiAJc3RydWN0IGV0cl9haWIgYWliOwogCi0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncykpCisJaWYgKCF0ZXN0X2JpdChDTE9DS19TWU5DX0hBU19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKIAkJcmV0dXJuIDA7CiAJLyogQ2hlY2sgaWYgdGhpcyBtYWNoaW5lIGhhcyB0aGUgc3RlYWkgaW5zdHJ1Y3Rpb24uICovCiAJaWYgKGV0cl9zdGVhaSgmYWliLCBFVFJfU1RFQUlfU1RFUFBJTkdfUE9SVCkgPT0gMCkKLQkJc2V0X2JpdChFVFJfRkxBR19TVEVBSSwgJmV0cl9mbGFncyk7CisJCWV0cl9zdGVhaV9hdmFpbGFibGUgPSAxOwogCXNldHVwX3RpbWVyKCZldHJfdGltZXIsIGV0cl90aW1lb3V0LCAwVUwpOwotCWlmICghZXRyX3BvcnQwX29ubGluZSAmJiAhZXRyX3BvcnQxX29ubGluZSkKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCWlmIChldHJfcG9ydDBfb25saW5lKSB7CiAJCXNldF9iaXQoRVRSX0VWRU5UX1BPUlQwX0NIQU5HRSwgJmV0cl9ldmVudHMpOwogCQlzY2hlZHVsZV93b3JrKCZldHJfd29yayk7CkBAIC00MzUsNyArNDg3LDggQEAKIHsKIAlpZiAoIWV0cl9lYWNyLnNsKQogCQlyZXR1cm47Ci0JZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOwogCXNldF9iaXQoRVRSX0VWRU5UX1NXSVRDSF9MT0NBTCwgJmV0cl9ldmVudHMpOwogCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKIH0KQEAgLTQ1MCwyMyArNTAzLDIxIEBACiB7CiAJaWYgKCFldHJfZWFjci5lcykKIAkJcmV0dXJuOwotCWV0cl9kaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJaWYgKHRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAlzZXRfYml0KEVUUl9FVkVOVF9TWU5DX0NIRUNLLCAmZXRyX2V2ZW50cyk7CiAJc2NoZWR1bGVfd29yaygmZXRyX3dvcmspOwogfQogCiAvKgotICogRVRSIGV4dGVybmFsIGludGVycnVwdC4gVGhlcmUgYXJlIHR3byBjYXVzZXM6CisgKiBFVFIgdGltaW5nIGFsZXJ0LiBUaGVyZSBhcmUgdHdvIGNhdXNlczoKICAqIDEpIHBvcnQgc3RhdGUgY2hhbmdlLCBjaGVjayB0aGUgdXNhYmlsaXR5IG9mIHRoZSBwb3J0CiAgKiAyKSBwb3J0IGFsZXJ0LCBvbmUgb2YgdGhlIEVUUi1kYXRhLXZhbGlkaXR5IGJpdHMgKHYxLXYyIGJpdHMgb2YgdGhlCiAgKiAgICBzbGRyLXN0YXR1cyB3b3JkKSBvciBFVFItZGF0YSB3b3JkIDEgKGVkZjEpIG9yIEVUUi1kYXRhIHdvcmQgMyAoZWRmMykKICAqICAgIG9yIEVUUi1kYXRhIHdvcmQgNCAoZWRmNCkgaGFzIGNoYW5nZWQuCiAgKi8KLXN0YXRpYyB2b2lkIGV0cl9leHRfaGFuZGxlcihfX3UxNiBjb2RlKQorc3RhdGljIHZvaWQgZXRyX3RpbWluZ19hbGVydChzdHJ1Y3QgZXRyX2lycV9wYXJtICppbnRwYXJtKQogewotCXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciAqaW50cGFybSA9Ci0JCShzdHJ1Y3QgZXRyX2ludGVycnVwdGlvbl9wYXJhbWV0ZXIgKikgJlMzOTBfbG93Y29yZS5leHRfcGFyYW1zOwotCiAJaWYgKGludHBhcm0tPnBjMCkKIAkJLyogRVRSIHBvcnQgMCBzdGF0ZSBjaGFuZ2UuICovCiAJCXNldF9iaXQoRVRSX0VWRU5UX1BPUlQwX0NIQU5HRSwgJmV0cl9ldmVudHMpOwpAQCAtNTkxLDU4ICs2NDIsMjMgQEAKIAlyZXR1cm4gMTsKIH0KIAotLyoKLSAqIFRoZSB0aW1lIGlzICJjbG9jayIuIG9sZCBpcyB3aGF0IHdlIHRoaW5rIHRoZSB0aW1lIGlzLgotICogQWRqdXN0IHRoZSB2YWx1ZSBieSBhIG11bHRpcGxlIG9mIGppZmZpZXMgYW5kIGFkZCB0aGUgZGVsdGEgdG8gbnRwLgotICogImRlbGF5IiBpcyBhbiBhcHByb3hpbWF0aW9uIGhvdyBsb25nIHRoZSBzeW5jaHJvbml6YXRpb24gdG9vay4gSWYKLSAqIHRoZSB0aW1lIGNvcnJlY3Rpb24gaXMgcG9zaXRpdmUsIHRoZW4gImRlbGF5IiBpcyBzdWJ0cmFjdGVkIGZyb20KLSAqIHRoZSB0aW1lIGRpZmZlcmVuY2UgYW5kIG9ubHkgdGhlIHJlbWFpbmluZyBwYXJ0IGlzIHBhc3NlZCB0byBudHAuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgZXRyX2FkanVzdF90aW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBvbGQsCi0JCQkJCSAgdW5zaWduZWQgbG9uZyBsb25nIGNsb2NrLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWxheSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEsIHRpY2tzOwotCXN0cnVjdCB0aW1leCBhZGp1c3Q7Ci0KLQlpZiAoY2xvY2sgPiBvbGQpIHsKLQkJLyogSXQgaXMgbGF0ZXIgdGhhbiB3ZSB0aG91Z2h0LiAqLwotCQlkZWx0YSA9IHRpY2tzID0gY2xvY2sgLSBvbGQ7Ci0JCWRlbHRhID0gdGlja3MgPSAoZGVsdGEgPCBkZWxheSkgPyAwIDogZGVsdGEgLSBkZWxheTsKLQkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKLQkJYWRqdXN0Lm9mZnNldCA9IHRpY2tzICogKDEwMDAwMDAgLyBIWik7Ci0JfSBlbHNlIHsKLQkJLyogSXQgaXMgZWFybGllciB0aGFuIHdlIHRob3VnaHQuICovCi0JCWRlbHRhID0gdGlja3MgPSBvbGQgLSBjbG9jazsKLQkJZGVsdGEgLT0gZG9fZGl2KHRpY2tzLCBDTEtfVElDS1NfUEVSX0pJRkZZKTsKLQkJZGVsdGEgPSAtZGVsdGE7Ci0JCWFkanVzdC5vZmZzZXQgPSAtdGlja3MgKiAoMTAwMDAwMCAvIEhaKTsKLQl9Ci0JamlmZmllc190aW1lcl9jYyArPSBkZWx0YTsKLQlpZiAoYWRqdXN0Lm9mZnNldCAhPSAwKSB7Ci0JCXByaW50ayhLRVJOX05PVElDRSAiZXRyOiB0aW1lIGFkanVzdGVkIGJ5ICVsaSBtaWNyby1zZWNvbmRzXG4iLAotCQkgICAgICAgYWRqdXN0Lm9mZnNldCk7Ci0JCWFkanVzdC5tb2RlcyA9IEFESl9PRkZTRVRfU0lOR0xFU0hPVDsKLQkJZG9fYWRqdGltZXgoJmFkanVzdCk7Ci0JfQotCXJldHVybiBkZWx0YTsKLX0KLQotc3RhdGljIHN0cnVjdCB7CitzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIHsKIAlpbnQgaW5fc3luYzsKIAl1bnNpZ25lZCBsb25nIGxvbmcgZml4dXBfY2M7Ci19IGV0cl9zeW5jOworfTsKIAotc3RhdGljIHZvaWQgZXRyX3N5bmNfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQorc3RhdGljIHZvaWQgY2xvY2tfc3luY19jcHVfc3RhcnQodm9pZCAqZHVtbXkpCiB7Ci0JZXRyX2VuYWJsZV9zeW5jX2Nsb2NrKCk7CisJc3RydWN0IGNsb2NrX3N5bmNfZGF0YSAqc3luYyA9IGR1bW15OworCisJZW5hYmxlX3N5bmNfY2xvY2soKTsKIAkvKgogCSAqIFRoaXMgbG9va3MgbGlrZSBhIGJ1c3kgd2FpdCBsb29wIGJ1dCBpdCBpc24ndC4gZXRyX3N5bmNfY3B1cwogCSAqIGlzIGNhbGxlZCBvbiBhbGwgb3RoZXIgY3B1cyB3aGlsZSB0aGUgVE9EIGNsb2NrcyBpcyBzdG9wcGVkLgogCSAqIF9fdWRlbGF5IHdpbGwgc3RvcCB0aGUgY3B1IG9uIGFuIGVuYWJsZWQgd2FpdCBwc3cgdW50aWwgdGhlCiAJICogVE9EIGlzIHJ1bm5pbmcgYWdhaW4uCiAJICovCi0Jd2hpbGUgKGV0cl9zeW5jLmluX3N5bmMgPT0gMCkgeworCXdoaWxlIChzeW5jLT5pbl9zeW5jID09IDApIHsKIAkJX191ZGVsYXkoMSk7CiAJCS8qCiAJCSAqIEEgZGlmZmVyZW50IGNwdSBjaGFuZ2VzICppbl9zeW5jLiBUaGVyZWZvcmUgdXNlCkBAIC02NTAsMTcgKzY2NiwxNyBAQAogCQkgKi8KIAkJYmFycmllcigpOwogCX0KLQlpZiAoZXRyX3N5bmMuaW5fc3luYyAhPSAxKQorCWlmIChzeW5jLT5pbl9zeW5jICE9IDEpCiAJCS8qIERpZG4ndCB3b3JrLiBDbGVhciBwZXItY3B1IGluIHN5bmMgYml0IGFnYWluLiAqLwotCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJLyoKIAkgKiBUaGlzIHJvdW5kIG9mIFRPRCBzeW5jaW5nIGlzIGRvbmUuIFNldCB0aGUgY2xvY2sgY29tcGFyYXRvcgogCSAqIHRvIHRoZSBuZXh0IHRpY2sgYW5kIGxldCB0aGUgcHJvY2Vzc29yIGNvbnRpbnVlLgogCSAqLwotCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZXRyX3N5bmMuZml4dXBfY2MpOworCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3Ioc3luYy0+Zml4dXBfY2MpOwogfQogCi1zdGF0aWMgdm9pZCBldHJfc3luY19jcHVfZW5kKHZvaWQgKmR1bW15KQorc3RhdGljIHZvaWQgY2xvY2tfc3luY19jcHVfZW5kKHZvaWQgKmR1bW15KQogewogfQogCkBAIC02NzIsNiArNjg4LDcgQEAKIHN0YXRpYyBpbnQgZXRyX3N5bmNfY2xvY2soc3RydWN0IGV0cl9haWIgKmFpYiwgaW50IHBvcnQpCiB7CiAJc3RydWN0IGV0cl9haWIgKnN5bmNfcG9ydDsKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIGV0cl9zeW5jOwogCXVuc2lnbmVkIGxvbmcgbG9uZyBjbG9jaywgb2xkX2Nsb2NrLCBkZWxheSwgZGVsdGE7CiAJaW50IGZvbGxvd3M7CiAJaW50IHJjOwpAQCAtNjkwLDkgKzcwNyw5IEBACiAJICovCiAJbWVtc2V0KCZldHJfc3luYywgMCwgc2l6ZW9mKGV0cl9zeW5jKSk7CiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oZXRyX3N5bmNfY3B1X3N0YXJ0LCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9zdGFydCwgJmV0cl9zeW5jLCAwKTsKIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCWV0cl9lbmFibGVfc3luY19jbG9jaygpOworCWVuYWJsZV9zeW5jX2Nsb2NrKCk7CiAKIAkvKiBTZXQgY2xvY2sgdG8gbmV4dCBPVEUuICovCiAJX19jdGxfc2V0X2JpdCgxNCwgMjEpOwpAQCAtNzA3LDEzICs3MjQsMTMgQEAKIAkJLyogQWRqdXN0IExpbnV4IHRpbWluZyB2YXJpYWJsZXMuICovCiAJCWRlbGF5ID0gKHVuc2lnbmVkIGxvbmcgbG9uZykKIAkJCShhaWItPmVkZjIuZXR2IC0gc3luY19wb3J0LT5lZGYyLmV0dikgPDwgMzI7Ci0JCWRlbHRhID0gZXRyX2FkanVzdF90aW1lKG9sZF9jbG9jaywgY2xvY2ssIGRlbGF5KTsKKwkJZGVsdGEgPSBhZGp1c3RfdGltZShvbGRfY2xvY2ssIGNsb2NrLCBkZWxheSk7CiAJCWV0cl9zeW5jLmZpeHVwX2NjID0gZGVsdGE7CiAJCWZpeHVwX2Nsb2NrX2NvbXBhcmF0b3IoZGVsdGEpOwogCQkvKiBWZXJpZnkgdGhhdCB0aGUgY2xvY2sgaXMgcHJvcGVybHkgc2V0LiAqLwogCQlpZiAoIWV0cl9haWJfZm9sbG93cyhzeW5jX3BvcnQsIGFpYiwgcG9ydCkpIHsKIAkJCS8qIERpZG4ndCB3b3JrLiAqLwotCQkJZXRyX2Rpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwkJCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKIAkJCWV0cl9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOwogCQkJcmMgPSAtRUFHQUlOOwogCQl9IGVsc2UgewpAQCAtNzI0LDEyICs3NDEsMTIgQEAKIAkJLyogQ291bGQgbm90IHNldCB0aGUgY2xvY2sgPyE/ICovCiAJCV9fY3RsX2NsZWFyX2JpdCgwLCAyOSk7CiAJCV9fY3RsX2NsZWFyX2JpdCgxNCwgMjEpOwotCQlldHJfZGlzYWJsZV9zeW5jX2Nsb2NrKE5VTEwpOworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CiAJCWV0cl9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOwogCQlyYyA9IC1FQUdBSU47CiAJfQogCWxvY2FsX2lycV9lbmFibGUoKTsKLQlzbXBfY2FsbF9mdW5jdGlvbihldHJfc3luY19jcHVfZW5kLE5VTEwsMCwwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihjbG9ja19zeW5jX2NwdV9lbmQsIE5VTEwsIDApOwogCXByZWVtcHRfZW5hYmxlKCk7CiAJcmV0dXJuIHJjOwogfQpAQCAtODMyLDcgKzg0OSw3IEBACiAJICogRG8gbm90IHRyeSB0byBnZXQgdGhlIGFsdGVybmF0ZSBwb3J0IGFpYiBpZiB0aGUgY2xvY2sKIAkgKiBpcyBub3QgaW4gc3luYyB5ZXQuCiAJICovCi0JaWYgKCFlYWNyLmVzKQorCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSAmJiAhZWFjci5lcykKIAkJcmV0dXJuIGVhY3I7CiAKIAkvKgpAQCAtODQwLDcgKzg1Nyw3IEBACiAJICogdGhlIG90aGVyIHBvcnQgaW1tZWRpYXRlbHkuIElmIG9ubHkgc3RldHIgaXMgYXZhaWxhYmxlIHRoZQogCSAqIGRhdGEtcG9ydCBiaXQgdG9nZ2xlIGhhcyB0byBiZSB1c2VkLgogCSAqLwotCWlmICh0ZXN0X2JpdChFVFJfRkxBR19TVEVBSSwgJmV0cl9mbGFncykpIHsKKwlpZiAoZXRyX3N0ZWFpX2F2YWlsYWJsZSkgewogCQlpZiAoZWFjci5wMCAmJiAhZXRyX3BvcnQwX3VwdG9kYXRlKSB7CiAJCQlldHJfc3RlYWlfY3YoJmV0cl9wb3J0MCwgRVRSX1NURUFJX1BPUlRfMCk7CiAJCQlldHJfcG9ydDBfdXB0b2RhdGUgPSAxOwpAQCAtOTA5LDEwICs5MjYsMTAgQEAKIAlpZiAoIWVhY3IuZWEpIHsKIAkJLyogQm90aCBwb3J0cyBvZmZsaW5lLiBSZXNldCBldmVyeXRoaW5nLiAqLwogCQllYWNyLmRwID0gZWFjci5lcyA9IGVhY3Iuc2wgPSAwOwotCQlvbl9lYWNoX2NwdShldHJfZGlzYWJsZV9zeW5jX2Nsb2NrLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoZGlzYWJsZV9zeW5jX2Nsb2NrLCBOVUxMLCAxKTsKIAkJZGVsX3RpbWVyX3N5bmMoJmV0cl90aW1lcik7CiAJCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAkJcmV0dXJuOwogCX0KIApAQCAtOTUzLDcgKzk3MCw2IEBACiAJCQllYWNyLmUxID0gMTsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MF91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQwLCAwKSkgPyAwIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSBpZiAoZWFjci5wMSAmJiBhaWIuZXN3LnBzYzEgPT0gZXRyX2xwc2NfcHBzX21vZGUpIHsKIAkJZWFjci5zbCA9IDA7CiAJCWVhY3IuZTAgPSAwOwpAQCAtOTYyLDcgKzk3OCw2IEBACiAJCQllYWNyLmVzID0gMDsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MV91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQxLCAxKSkgPyAxIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSBpZiAoZWFjci5wMCAmJiBhaWIuZXN3LnBzYzAgPT0gZXRyX2xwc2Nfb3BlcmF0aW9uYWxfc3RlcCkgewogCQllYWNyLnNsID0gMTsKIAkJZWFjci5lMCA9IDE7CkBAIC05NzYsNyArOTkxLDYgQEAKIAkJCWVhY3IuZTEgPSAxOwogCQlzeW5jX3BvcnQgPSAoZXRyX3BvcnQwX3VwdG9kYXRlICYmCiAJCQkgICAgIGV0cl9wb3J0X3ZhbGlkKCZldHJfcG9ydDAsIDApKSA/IDAgOiAtMTsKLQkJY2xlYXJfYml0KEVUUl9GTEFHX0VBQ0NFUywgJmV0cl9mbGFncyk7CiAJfSBlbHNlIGlmIChlYWNyLnAxICYmIGFpYi5lc3cucHNjMSA9PSBldHJfbHBzY19vcGVyYXRpb25hbF9zdGVwKSB7CiAJCWVhY3Iuc2wgPSAxOwogCQllYWNyLmUwID0gMDsKQEAgLTk4NSwxOSArOTk5LDIyIEBACiAJCQllYWNyLmVzID0gMDsKIAkJc3luY19wb3J0ID0gKGV0cl9wb3J0MV91cHRvZGF0ZSAmJgogCQkJICAgICBldHJfcG9ydF92YWxpZCgmZXRyX3BvcnQxLCAxKSkgPyAxIDogLTE7Ci0JCWNsZWFyX2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOwogCX0gZWxzZSB7CiAJCS8qIEJvdGggcG9ydHMgbm90IHVzYWJsZS4gKi8KIAkJZWFjci5lcyA9IGVhY3Iuc2wgPSAwOwogCQlzeW5jX3BvcnQgPSAtMTsKLQkJc2V0X2JpdChFVFJfRkxBR19FQUNDRVMsICZldHJfZmxhZ3MpOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19FVFIsICZjbG9ja19zeW5jX2ZsYWdzKTsKIAl9CiAKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCWVhY3IuZXMgPSAwOworCiAJLyoKIAkgKiBJZiB0aGUgY2xvY2sgaXMgaW4gc3luYyBqdXN0IHVwZGF0ZSB0aGUgZWFjciBhbmQgcmV0dXJuLgogCSAqIElmIHRoZXJlIGlzIG5vIHZhbGlkIHN5bmMgcG9ydCB3YWl0IGZvciBhIHBvcnQgdXBkYXRlLgogCSAqLwotCWlmIChlYWNyLmVzIHx8IHN5bmNfcG9ydCA8IDApIHsKKwlpZiAodGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSB8fAorCSAgICBlYWNyLmVzIHx8IHN5bmNfcG9ydCA8IDApIHsKIAkJZXRyX3VwZGF0ZV9lYWNyKGVhY3IpOwogCQlldHJfc2V0X3RvbGVjX3RpbWVvdXQobm93KTsKIAkJcmV0dXJuOwpAQCAtMTAxOCwxMSArMTAzNSwxMyBAQAogCSAqIGFuZCBzZXQgdXAgYSB0aW1lciB0byB0cnkgYWdhaW4gYWZ0ZXIgMC41IHNlY29uZHMKIAkgKi8KIAlldHJfdXBkYXRlX2VhY3IoZWFjcik7CisJc2V0X2JpdChDTE9DS19TWU5DX0VUUiwgJmNsb2NrX3N5bmNfZmxhZ3MpOwogCWlmIChub3cgPCBldHJfdG9sZWMgKyAoMTYwMDAwMCA8PCAxMikgfHwKIAkgICAgZXRyX3N5bmNfY2xvY2soJmFpYiwgc3luY19wb3J0KSAhPSAwKSB7CiAJCS8qIFN5bmMgZmFpbGVkLiBUcnkgYWdhaW4gaW4gMS8yIHNlY29uZC4gKi8KIAkJZWFjci5lcyA9IDA7CiAJCWV0cl91cGRhdGVfZWFjcihlYWNyKTsKKwkJY2xlYXJfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncyk7CiAJCWV0cl9zZXRfc3luY190aW1lb3V0KCk7CiAJfSBlbHNlCiAJCWV0cl9zZXRfdG9sZWNfdGltZW91dChub3cpOwpAQCAtMTA5Nyw4ICsxMTE2LDggQEAKIAl2YWx1ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CiAJaWYgKHZhbHVlICE9IDAgJiYgdmFsdWUgIT0gMSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKHRlc3RfYml0KEVUUl9GTEFHX0VOT1NZUywgJmV0cl9mbGFncykpCi0JCXJldHVybiAtRU5PU1lTOworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19IQVNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAlpZiAoZGV2ID09ICZldHJfcG9ydDBfZGV2KSB7CiAJCWlmIChldHJfcG9ydDBfb25saW5lID09IHZhbHVlKQogCQkJcmV0dXJuIGNvdW50OwkvKiBOb3RoaW5nIHRvIGRvLiAqLwpAQCAtMTI5MiwzICsxMzExLDMxOCBAQAogfQogCiBkZXZpY2VfaW5pdGNhbGwoZXRyX2luaXRfc3lzZnMpOworCisvKgorICogU2VydmVyIFRpbWUgUHJvdG9jb2wgKFNUUCkgY29kZS4KKyAqLworc3RhdGljIGludCBzdHBfb25saW5lOworc3RhdGljIHN0cnVjdCBzdHBfc3N0cGkgc3RwX2luZm87CitzdGF0aWMgdm9pZCAqc3RwX3BhZ2U7CisKK3N0YXRpYyB2b2lkIHN0cF93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CitzdGF0aWMgREVDTEFSRV9XT1JLKHN0cF93b3JrLCBzdHBfd29ya19mbik7CisKK3N0YXRpYyBpbnQgX19pbml0IGVhcmx5X3BhcnNlX3N0cChjaGFyICpwKQoreworCWlmIChzdHJuY21wKHAsICJvZmYiLCAzKSA9PSAwKQorCQlzdHBfb25saW5lID0gMDsKKwllbHNlIGlmIChzdHJuY21wKHAsICJvbiIsIDIpID09IDApCisJCXN0cF9vbmxpbmUgPSAxOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInN0cCIsIGVhcmx5X3BhcnNlX3N0cCk7CisKKy8qCisgKiBSZXNldCBTVFAgYXR0YWNobWVudC4KKyAqLworc3RhdGljIHZvaWQgc3RwX3Jlc2V0KHZvaWQpCit7CisJaW50IHJjOworCisJc3RwX3BhZ2UgPSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJcmMgPSBjaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHgwMDAwKTsKKwlpZiAocmMgPT0gMSkKKwkJc2V0X2JpdChDTE9DS19TWU5DX0hBU19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwllbHNlIGlmIChzdHBfb25saW5lKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJ1bm5pbmcgb24gbm9uIFNUUCBjYXBhYmxlIG1hY2hpbmUuXG4iKTsKKwkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSBzdHBfcGFnZSwgUEFHRV9TSVpFKTsKKwkJc3RwX3BhZ2UgPSBOVUxMOworCQlzdHBfb25saW5lID0gMDsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHN0cF9pbml0KHZvaWQpCit7CisJaWYgKHRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpICYmIHN0cF9vbmxpbmUpCisJCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKKwlyZXR1cm4gMDsKK30KKworYXJjaF9pbml0Y2FsbChzdHBfaW5pdCk7CisKKy8qCisgKiBTVFAgdGltaW5nIGFsZXJ0LiBUaGVyZSBhcmUgdGhyZWUgY2F1c2VzOgorICogMSkgdGltaW5nIHN0YXR1cyBjaGFuZ2UKKyAqIDIpIGxpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZQorICogMykgdGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UKKyAqIEluIGFsbCB0aHJlZSBjYXNlcyB3ZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHRoZSBjbG9jayBzb3VyY2Ugc3RhdGUuCisgKiBJZiBhIFNUUCBjbG9jayBzb3VyY2UgaXMgbm93IGF2YWlsYWJsZSB1c2UgaXQuCisgKi8KK3N0YXRpYyB2b2lkIHN0cF90aW1pbmdfYWxlcnQoc3RydWN0IHN0cF9pcnFfcGFybSAqaW50cGFybSkKK3sKKwlpZiAoaW50cGFybS0+dHNjIHx8IGludHBhcm0tPmxhYyB8fCBpbnRwYXJtLT50Y3BjKQorCQlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgc3luYyBjaGVjayBtYWNoaW5lIGNoZWNrLiBUaGlzIGlzIGNhbGxlZCB3aGVuIHRoZSB0aW1pbmcgc3RhdGUKKyAqIGNoYW5nZXMgZnJvbSB0aGUgc3luY2hyb25pemVkIHN0YXRlIHRvIHRoZSB1bnN5bmNocm9uaXplZCBzdGF0ZS4KKyAqIEFmdGVyIGEgU1RQIHN5bmMgY2hlY2sgdGhlIGNsb2NrIGlzIG5vdCBpbiBzeW5jLiBUaGUgbWFjaGluZSBjaGVjaworICogaXMgYnJvYWRjYXN0ZWQgdG8gYWxsIGNwdXMgYXQgdGhlIHNhbWUgdGltZS4KKyAqLwordm9pZCBzdHBfc3luY19jaGVjayh2b2lkKQoreworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuOworCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgaXNsYW5kIGNvbmRpdGlvbiBtYWNoaW5lIGNoZWNrLiBUaGlzIGlzIGNhbGxlZCB3aGVuIGFuIGF0dGFjaGVkCisgKiBzZXJ2ZXIgIGF0dGVtcHRzIHRvIGNvbW11bmljYXRlIG92ZXIgYW4gU1RQIGxpbmsgYW5kIHRoZSBzZXJ2ZXJzCisgKiBoYXZlIG1hdGNoaW5nIENUTiBpZHMgYW5kIGhhdmUgYSB2YWxpZCBzdHJhdHVtLTEgY29uZmlndXJhdGlvbgorICogYnV0IHRoZSBjb25maWd1cmF0aW9ucyBkbyBub3QgbWF0Y2guCisgKi8KK3ZvaWQgc3RwX2lzbGFuZF9jaGVjayh2b2lkKQoreworCWlmICghdGVzdF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKSkKKwkJcmV0dXJuOworCWRpc2FibGVfc3luY19jbG9jayhOVUxMKTsKKwlzY2hlZHVsZV93b3JrKCZzdHBfd29yayk7Cit9CisKKy8qCisgKiBTVFAgdGFza2xldC4gQ2hlY2sgZm9yIHRoZSBTVFAgc3RhdGUgYW5kIHRha2Ugb3ZlciB0aGUgY2xvY2sKKyAqIHN5bmNocm9uaXphdGlvbiBpZiB0aGUgU1RQIGNsb2NrIHNvdXJjZSBpcyB1c2FibGUuCisgKi8KK3N0YXRpYyB2b2lkIHN0cF93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgY2xvY2tfc3luY19kYXRhIHN0cF9zeW5jOworCXVuc2lnbmVkIGxvbmcgbG9uZyBvbGRfY2xvY2ssIGRlbHRhOworCWludCByYzsKKworCWlmICghc3RwX29ubGluZSkgeworCQljaHNjX3NzdHBjKHN0cF9wYWdlLCBTVFBfT1BfQ1RSTCwgMHgwMDAwKTsKKwkJcmV0dXJuOworCX0KKworCXJjID0gY2hzY19zc3RwYyhzdHBfcGFnZSwgU1RQX09QX0NUUkwsIDB4YjBlMCk7CisJaWYgKHJjKQorCQlyZXR1cm47CisKKwlyYyA9IGNoc2Nfc3N0cGkoc3RwX3BhZ2UsICZzdHBfaW5mbywgc2l6ZW9mKHN0cnVjdCBzdHBfc3N0cGkpKTsKKwlpZiAocmMgfHwgc3RwX2luZm8uYyA9PSAwKQorCQlyZXR1cm47CisKKwkvKgorCSAqIENhdGNoIGFsbCBvdGhlciBjcHVzIGFuZCBtYWtlIHRoZW0gd2FpdCB1bnRpbCB3ZSBoYXZlCisJICogc3VjY2Vzc2Z1bGx5IHN5bmNlZCB0aGUgY2xvY2suIHNtcF9jYWxsX2Z1bmN0aW9uIHdpbGwKKwkgKiByZXR1cm4gYWZ0ZXIgYWxsIG90aGVyIGNwdXMgYXJlIGluIGNsb2NrX3N5bmNfY3B1X3N0YXJ0LgorCSAqLworCW1lbXNldCgmc3RwX3N5bmMsIDAsIHNpemVvZihzdHBfc3luYykpOworCXByZWVtcHRfZGlzYWJsZSgpOworCXNtcF9jYWxsX2Z1bmN0aW9uKGNsb2NrX3N5bmNfY3B1X3N0YXJ0LCAmc3RwX3N5bmMsIDApOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJZW5hYmxlX3N5bmNfY2xvY2soKTsKKworCXNldF9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KENMT0NLX1NZTkNfRVRSLCAmY2xvY2tfc3luY19mbGFncykpCisJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKKworCXJjID0gMDsKKwlpZiAoc3RwX2luZm8udG9kb2ZmWzBdIHx8IHN0cF9pbmZvLnRvZG9mZlsxXSB8fAorCSAgICBzdHBfaW5mby50b2RvZmZbMl0gfHwgc3RwX2luZm8udG9kb2ZmWzNdIHx8CisJICAgIHN0cF9pbmZvLnRtZCAhPSAyKSB7CisJCW9sZF9jbG9jayA9IGdldF9jbG9jaygpOworCQlyYyA9IGNoc2Nfc3N0cGMoc3RwX3BhZ2UsIFNUUF9PUF9TWU5DLCAwKTsKKwkJaWYgKHJjID09IDApIHsKKwkJCWRlbHRhID0gYWRqdXN0X3RpbWUob2xkX2Nsb2NrLCBnZXRfY2xvY2soKSwgMCk7CisJCQlmaXh1cF9jbG9ja19jb21wYXJhdG9yKGRlbHRhKTsKKwkJCXJjID0gY2hzY19zc3RwaShzdHBfcGFnZSwgJnN0cF9pbmZvLAorCQkJCQlzaXplb2Yoc3RydWN0IHN0cF9zc3RwaSkpOworCQkJaWYgKHJjID09IDAgJiYgc3RwX2luZm8udG1kICE9IDIpCisJCQkJcmMgPSAtRUFHQUlOOworCQl9CisJfQorCWlmIChyYykgeworCQlkaXNhYmxlX3N5bmNfY2xvY2soTlVMTCk7CisJCXN0cF9zeW5jLmluX3N5bmMgPSAtRUFHQUlOOworCQljbGVhcl9iaXQoQ0xPQ0tfU1lOQ19TVFAsICZjbG9ja19zeW5jX2ZsYWdzKTsKKwkJaWYgKGV0cl9wb3J0MF9vbmxpbmUgfHwgZXRyX3BvcnQxX29ubGluZSkKKwkJCXNjaGVkdWxlX3dvcmsoJmV0cl93b3JrKTsKKwl9IGVsc2UKKwkJc3RwX3N5bmMuaW5fc3luYyA9IDE7CisKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisJc21wX2NhbGxfZnVuY3Rpb24oY2xvY2tfc3luY19jcHVfZW5kLCBOVUxMLCAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCisvKgorICogU1RQIGNsYXNzIHN5c2ZzIGludGVyZmFjZSBmdW5jdGlvbnMKKyAqLworc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgc3RwX3N5c2NsYXNzID0geworCS5uYW1lCT0gInN0cCIsCit9OworCitzdGF0aWMgc3NpemVfdCBzdHBfY3RuX2lkX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlMDE2bGx4XG4iLAorCQkgICAgICAgKih1bnNpZ25lZCBsb25nIGxvbmcgKikgc3RwX2luZm8uY3RuaWQpOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoY3RuX2lkLCAwNDAwLCBzdHBfY3RuX2lkX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfY3RuX3R5cGVfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCBzdHBfaW5mby5jdG4pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoY3RuX3R5cGUsIDA0MDAsIHN0cF9jdG5fdHlwZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX2RzdF9vZmZzZXRfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSB8fCAhKHN0cF9pbmZvLnZiaXRzICYgMHgyMDAwKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLmRzdG8pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoZHN0X29mZnNldCwgMDQwMCwgc3RwX2RzdF9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF9sZWFwX3NlY29uZHNfc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSB8fCAhKHN0cF9pbmZvLnZiaXRzICYgMHg4MDAwKSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLmxlYXBzKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKGxlYXBfc2Vjb25kcywgMDQwMCwgc3RwX2xlYXBfc2Vjb25kc19zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX3N0cmF0dW1fc2hvdyhzdHJ1Y3Qgc3lzZGV2X2NsYXNzICpjbGFzcywgY2hhciAqYnVmKQoreworCWlmICghc3RwX29ubGluZSkKKwkJcmV0dXJuIC1FTk9EQVRBOworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4iLCAoaW50KShzMTYpIHN0cF9pbmZvLnN0cmF0dW0pOworfQorCitzdGF0aWMgU1lTREVWX0NMQVNTX0FUVFIoc3RyYXR1bSwgMDQwMCwgc3RwX3N0cmF0dW1fc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1lX29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDA4MDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpIHN0cF9pbmZvLnR0byk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUih0aW1lX29mZnNldCwgMDQwMCwgc3RwX3RpbWVfb2Zmc2V0X3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfdGltZV96b25lX29mZnNldF9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lIHx8ICEoc3RwX2luZm8udmJpdHMgJiAweDQwMDApKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIChpbnQpKHMxNikgc3RwX2luZm8udHpvKTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWVfem9uZV9vZmZzZXQsIDA0MDAsCisJCQkgc3RwX3RpbWVfem9uZV9vZmZzZXRfc2hvdywgTlVMTCk7CisKK3N0YXRpYyBzc2l6ZV90IHN0cF90aW1pbmdfbW9kZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJaWYgKCFzdHBfb25saW5lKQorCQlyZXR1cm4gLUVOT0RBVEE7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9pbmZvLnRtZCk7Cit9CisKK3N0YXRpYyBTWVNERVZfQ0xBU1NfQVRUUih0aW1pbmdfbW9kZSwgMDQwMCwgc3RwX3RpbWluZ19tb2RlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBzdHBfdGltaW5nX3N0YXRlX3Nob3coc3RydWN0IHN5c2Rldl9jbGFzcyAqY2xhc3MsIGNoYXIgKmJ1ZikKK3sKKwlpZiAoIXN0cF9vbmxpbmUpCisJCXJldHVybiAtRU5PREFUQTsKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlaVxuIiwgc3RwX2luZm8udHN0KTsKK30KKworc3RhdGljIFNZU0RFVl9DTEFTU19BVFRSKHRpbWluZ19zdGF0ZSwgMDQwMCwgc3RwX3RpbWluZ19zdGF0ZV9zaG93LCBOVUxMKTsKKworc3RhdGljIHNzaXplX3Qgc3RwX29ubGluZV9zaG93KHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWlcbiIsIHN0cF9vbmxpbmUpOworfQorCitzdGF0aWMgc3NpemVfdCBzdHBfb25saW5lX3N0b3JlKHN0cnVjdCBzeXNkZXZfY2xhc3MgKmNsYXNzLAorCQkJCWNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXVuc2lnbmVkIGludCB2YWx1ZTsKKworCXZhbHVlID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAwKTsKKwlpZiAodmFsdWUgIT0gMCAmJiB2YWx1ZSAhPSAxKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIXRlc3RfYml0KENMT0NLX1NZTkNfSEFTX1NUUCwgJmNsb2NrX3N5bmNfZmxhZ3MpKQorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJc3RwX29ubGluZSA9IHZhbHVlOworCXNjaGVkdWxlX3dvcmsoJnN0cF93b3JrKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiBDYW4ndCB1c2UgU1lTREVWX0NMQVNTX0FUVFIgYmVjYXVzZSB0aGUgYXR0cmlidXRlIHNob3VsZCBiZSBuYW1lZAorICogc3RwL29ubGluZSBidXQgYXR0cl9vbmxpbmUgYWxyZWFkeSBleGlzdHMgaW4gdGhpcyBmaWxlIC4uCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgc3lzZGV2X2NsYXNzX2F0dHJpYnV0ZSBhdHRyX3N0cF9vbmxpbmUgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gIm9ubGluZSIsIC5tb2RlID0gMDYwMCB9LAorCS5zaG93CT0gc3RwX29ubGluZV9zaG93LAorCS5zdG9yZQk9IHN0cF9vbmxpbmVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzc19hdHRyaWJ1dGUgKnN0cF9hdHRyaWJ1dGVzW10gPSB7CisJJmF0dHJfY3RuX2lkLAorCSZhdHRyX2N0bl90eXBlLAorCSZhdHRyX2RzdF9vZmZzZXQsCisJJmF0dHJfbGVhcF9zZWNvbmRzLAorCSZhdHRyX3N0cF9vbmxpbmUsCisJJmF0dHJfc3RyYXR1bSwKKwkmYXR0cl90aW1lX29mZnNldCwKKwkmYXR0cl90aW1lX3pvbmVfb2Zmc2V0LAorCSZhdHRyX3RpbWluZ19tb2RlLAorCSZhdHRyX3RpbWluZ19zdGF0ZSwKKwlOVUxMCit9OworCitzdGF0aWMgaW50IF9faW5pdCBzdHBfaW5pdF9zeXNmcyh2b2lkKQoreworCXN0cnVjdCBzeXNkZXZfY2xhc3NfYXR0cmlidXRlICoqYXR0cjsKKwlpbnQgcmM7CisKKwlyYyA9IHN5c2Rldl9jbGFzc19yZWdpc3Rlcigmc3RwX3N5c2NsYXNzKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCWZvciAoYXR0ciA9IHN0cF9hdHRyaWJ1dGVzOyAqYXR0cjsgYXR0cisrKSB7CisJCXJjID0gc3lzZGV2X2NsYXNzX2NyZWF0ZV9maWxlKCZzdHBfc3lzY2xhc3MsICphdHRyKTsKKwkJaWYgKHJjKQorCQkJZ290byBvdXRfdW5yZWc7CisJfQorCXJldHVybiAwOworb3V0X3VucmVnOgorCWZvciAoOyBhdHRyID49IHN0cF9hdHRyaWJ1dGVzOyBhdHRyLS0pCisJCXN5c2Rldl9jbGFzc19yZW1vdmVfZmlsZSgmc3RwX3N5c2NsYXNzLCAqYXR0cik7CisJc3lzZGV2X2NsYXNzX3VucmVnaXN0ZXIoJnN0cF9zeXNjbGFzcyk7CitvdXQ6CisJcmV0dXJuIHJjOworfQorCitkZXZpY2VfaW5pdGNhbGwoc3RwX2luaXRfc3lzZnMpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jIGIvYXJjaC9zMzkwL2tlcm5lbC90b3BvbG9neS5jCmluZGV4IDY2MWEwNzIuLjIxMmQ2MTggMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdG9wb2xvZ3kuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3RvcG9sb2d5LmMKQEAgLTMxMyw4ICszMTMsNiBAQAogCQltYWNoaW5lX2hhc190b3BvbG9neV9pcnEgPSAxOwogCiAJdGxfaW5mbyA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKLQlpZiAoIXRsX2luZm8pCi0JCWdvdG8gZXJyb3I7CiAJaW5mbyA9IHRsX2luZm87CiAJc3RzaShpbmZvLCAxNSwgMSwgMik7CiAKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUyBiL2FyY2gvczM5MC9rZXJuZWwvdm1saW51eC5sZHMuUwppbmRleCBiNDYwNzE1Li43NmMxZTYwIDEwMDY0NAotLS0gYS9hcmNoL3MzOTAva2VybmVsL3ZtbGludXgubGRzLlMKKysrIGIvYXJjaC9zMzkwL2tlcm5lbC92bWxpbnV4Lmxkcy5TCkBAIC00MCw3ICs0MCw2IEBACiAJX2V0ZXh0ID0gLjsJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAogCU5PVEVTIDp0ZXh0IDpub3RlCi0JQlVHX1RBQkxFIDp0ZXh0CiAKIAlST0RBVEEKIApkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jIGIvYXJjaC9zMzkwL2tlcm5lbC92dGltZS5jCmluZGV4IGNhOTBlZTMuLjBmYTVkYzUgMTAwNjQ0Ci0tLSBhL2FyY2gvczM5MC9rZXJuZWwvdnRpbWUuYworKysgYi9hcmNoL3MzOTAva2VybmVsL3Z0aW1lLmMKQEAgLTEzNiw3ICsxMzYsNyBAQAogfQogI2VuZGlmCiAKLXN0YXRpYyB2b2lkIHN0YXJ0X2NwdV90aW1lcih2b2lkKQordm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCkKIHsKIAlzdHJ1Y3QgdnRpbWVyX3F1ZXVlICp2dF9saXN0OwogCkBAIC0xNTAsNyArMTUwLDcgQEAKIAkJc2V0X3Z0aW1lcih2dF9saXN0LT5pZGxlKTsKIH0KIAotc3RhdGljIHZvaWQgc3RvcF9jcHVfdGltZXIodm9pZCkKK3ZvaWQgdnRpbWVfc3RvcF9jcHVfdGltZXIodm9pZCkKIHsKIAlzdHJ1Y3QgdnRpbWVyX3F1ZXVlICp2dF9saXN0OwogCkBAIC0zMTgsOCArMzE4LDcgQEAKIAl2dF9saXN0ID0gJnBlcl9jcHUodmlydF9jcHVfdGltZXIsIHRpbWVyLT5jcHUpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZ2dF9saXN0LT5sb2NrLCBmbGFncyk7CiAKLQlpZiAodGltZXItPmNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpCi0JCXByaW50aygiaW50ZXJuYWxfYWRkX3Z0aW1lcjogQlVHLCBydW5uaW5nIG9uIHdyb25nIENQVSIpOworCUJVR19PTih0aW1lci0+Y3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAKIAkvKiBpZiBsaXN0IGlzIGVtcHR5IHdlIG9ubHkgaGF2ZSB0byBzZXQgdGhlIHRpbWVyICovCiAJaWYgKGxpc3RfZW1wdHkoJnZ0X2xpc3QtPmxpc3QpKSB7CkBAIC0zNTMsMjUgKzM1MiwxMiBAQAogCXB1dF9jcHUoKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgcHJlcGFyZV92dGltZXIoc3RydWN0IHZ0aW1lcl9saXN0ICp0aW1lcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmVwYXJlX3Z0aW1lcihzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyKQogewotCWlmICghdGltZXItPmZ1bmN0aW9uKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IHVuaW5pdGlhbGl6ZWQgdGltZXJcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAoIXRpbWVyLT5leHBpcmVzIHx8IHRpbWVyLT5leHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSkgewotCQlwcmludGsoImFkZF92aXJ0X3RpbWVyOiBpbnZhbGlkIHRpbWVyIGV4cGlyZSB2YWx1ZSFcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlpZiAodnRpbWVyX3BlbmRpbmcodGltZXIpKSB7Ci0JCXByaW50aygiYWRkX3ZpcnRfdGltZXI6IHRpbWVyIHBlbmRpbmdcbiIpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQorCUJVR19PTighdGltZXItPmZ1bmN0aW9uKTsKKwlCVUdfT04oIXRpbWVyLT5leHBpcmVzIHx8IHRpbWVyLT5leHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSk7CisJQlVHX09OKHZ0aW1lcl9wZW5kaW5nKHRpbWVyKSk7CiAJdGltZXItPmNwdSA9IGdldF9jcHUoKTsKLQlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTM4MiwxMCArMzY4LDcgQEAKIAlzdHJ1Y3QgdnRpbWVyX2xpc3QgKnRpbWVyOwogCiAJdGltZXIgPSAoc3RydWN0IHZ0aW1lcl9saXN0ICopbmV3OwotCi0JaWYgKHByZXBhcmVfdnRpbWVyKHRpbWVyKSA8IDApCi0JCXJldHVybjsKLQorCXByZXBhcmVfdnRpbWVyKHRpbWVyKTsKIAl0aW1lci0+aW50ZXJ2YWwgPSAwOwogCWludGVybmFsX2FkZF92dGltZXIodGltZXIpOwogfQpAQCAtMzk5LDEwICszODIsNyBAQAogCXN0cnVjdCB2dGltZXJfbGlzdCAqdGltZXI7CiAKIAl0aW1lciA9IChzdHJ1Y3QgdnRpbWVyX2xpc3QgKiluZXc7Ci0KLQlpZiAocHJlcGFyZV92dGltZXIodGltZXIpIDwgMCkKLQkJcmV0dXJuOwotCisJcHJlcGFyZV92dGltZXIodGltZXIpOwogCXRpbWVyLT5pbnRlcnZhbCA9IHRpbWVyLT5leHBpcmVzOwogCWludGVybmFsX2FkZF92dGltZXIodGltZXIpOwogfQpAQCAtNDIzLDE1ICs0MDMsOCBAQAogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGNwdTsKIAotCWlmICghdGltZXItPmZ1bmN0aW9uKSB7Ci0JCXByaW50aygibW9kX3ZpcnRfdGltZXI6IHVuaW5pdGlhbGl6ZWQgdGltZXJcbiIpOwotCQlyZXR1cm4JLUVJTlZBTDsKLQl9Ci0KLQlpZiAoIWV4cGlyZXMgfHwgZXhwaXJlcyA+IFZUSU1FUl9NQVhfU0xJQ0UpIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogaW52YWxpZCBleHBpcmUgcmFuZ2VcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9CisJQlVHX09OKCF0aW1lci0+ZnVuY3Rpb24pOworCUJVR19PTighZXhwaXJlcyB8fCBleHBpcmVzID4gVlRJTUVSX01BWF9TTElDRSk7CiAKIAkvKgogCSAqIFRoaXMgaXMgYSBjb21tb24gb3B0aW1pemF0aW9uIHRyaWdnZXJlZCBieSB0aGUKQEAgLTQ0NCw2ICs0MTcsOSBAQAogCWNwdSA9IGdldF9jcHUoKTsKIAl2dF9saXN0ID0gJnBlcl9jcHUodmlydF9jcHVfdGltZXIsIGNwdSk7CiAKKwkvKiBjaGVjayBpZiB3ZSBydW4gb24gdGhlIHJpZ2h0IENQVSAqLworCUJVR19PTih0aW1lci0+Y3B1ICE9IGNwdSk7CisKIAkvKiBkaXNhYmxlIGludGVycnVwdHMgYmVmb3JlIHRlc3QgaWYgdGltZXIgaXMgcGVuZGluZyAqLwogCXNwaW5fbG9ja19pcnFzYXZlKCZ2dF9saXN0LT5sb2NrLCBmbGFncyk7CiAKQEAgLTQ1OCwxNCArNDM0LDYgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JLyogY2hlY2sgaWYgd2UgcnVuIG9uIHRoZSByaWdodCBDUFUgKi8KLQlpZiAodGltZXItPmNwdSAhPSBjcHUpIHsKLQkJcHJpbnRrKCJtb2RfdmlydF90aW1lcjogcnVubmluZyBvbiB3cm9uZyBDUFUsIGNoZWNrIHlvdXIgY29kZVxuIik7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZ0X2xpc3QtPmxvY2ssIGZsYWdzKTsKLQkJcHV0X2NwdSgpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KIAlsaXN0X2RlbF9pbml0KCZ0aW1lci0+ZW50cnkpOwogCXRpbWVyLT5leHBpcmVzID0gZXhwaXJlczsKIApAQCAtNTM2LDI0ICs1MDQsNiBAQAogCiB9CiAKLXN0YXRpYyBpbnQgdnRpbWVyX2lkbGVfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpoY3B1KQotewotCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBTMzkwX0NQVV9JRExFOgotCQlzdG9wX2NwdV90aW1lcigpOwotCQlicmVhazsKLQljYXNlIFMzOTBfQ1BVX05PVF9JRExFOgotCQlzdGFydF9jcHVfdGltZXIoKTsKLQkJYnJlYWs7Ci0JfQotCXJldHVybiBOT1RJRllfT0s7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdnRpbWVyX2lkbGVfbmIgPSB7Ci0JLm5vdGlmaWVyX2NhbGwgPSB2dGltZXJfaWRsZV9ub3RpZnksCi19OwotCiB2b2lkIF9faW5pdCB2dGltZV9pbml0KHZvaWQpCiB7CiAJLyogcmVxdWVzdCB0aGUgY3B1IHRpbWVyIGV4dGVybmFsIGludGVycnVwdCAqLwpAQCAtNTYxLDkgKzUxMSw2IEBACiAJCQkJCSAgICAgICZleHRfaW50X2luZm9fdGltZXIpICE9IDApCiAJCXBhbmljKCJDb3VsZG4ndCByZXF1ZXN0IGV4dGVybmFsIGludGVycnVwdCAweDEwMDUiKTsKIAotCWlmIChyZWdpc3Rlcl9pZGxlX25vdGlmaWVyKCZ2dGltZXJfaWRsZV9uYikpCi0JCXBhbmljKCJDb3VsZG4ndCByZWdpc3RlciBpZGxlIG5vdGlmaWVyIik7Ci0KIAkvKiBFbmFibGUgY3B1IHRpbWVyIGludGVycnVwdHMgb24gdGhlIGJvb3QgY3B1LiAqLwogCWluaXRfY3B1X3Z0aW1lcigpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL21tL2luaXQuYyBiL2FyY2gvczM5MC9tbS9pbml0LmMKaW5kZXggMDU1OTg2NC4uMzg4Y2M3NCAxMDA2NDQKLS0tIGEvYXJjaC9zMzkwL21tL2luaXQuYworKysgYi9hcmNoL3MzOTAvbW0vaW5pdC5jCkBAIC0yMDIsMyArMjAyLDIyIEBACiAgICAgICAgIH0KIH0KICNlbmRpZgorCisjaWZkZWYgQ09ORklHX01FTU9SWV9IT1RQTFVHCitpbnQgYXJjaF9hZGRfbWVtb3J5KGludCBuaWQsIHU2NCBzdGFydCwgdTY0IHNpemUpCit7CisJc3RydWN0IHBnbGlzdF9kYXRhICpwZ2RhdDsKKwlzdHJ1Y3Qgem9uZSAqem9uZTsKKwlpbnQgcmM7CisKKwlwZ2RhdCA9IE5PREVfREFUQShuaWQpOworCXpvbmUgPSBwZ2RhdC0+bm9kZV96b25lcyArIFpPTkVfTk9STUFMOworCXJjID0gdm1lbV9hZGRfbWFwcGluZyhzdGFydCwgc2l6ZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJcmMgPSBfX2FkZF9wYWdlcyh6b25lLCBQRk5fRE9XTihzdGFydCksIFBGTl9ET1dOKHNpemUpKTsKKwlpZiAocmMpCisJCXZtZW1fcmVtb3ZlX21hcHBpbmcoc3RhcnQsIHNpemUpOworCXJldHVybiByYzsKK30KKyNlbmRpZiAvKiBDT05GSUdfTUVNT1JZX0hPVFBMVUcgKi8KZGlmZiAtLWdpdCBhL2FyY2gvc2gvS2NvbmZpZyBiL2FyY2gvc2gvS2NvbmZpZwppbmRleCA5YTg1NGM4Li4zZTczODRmIDEwMDY0NAotLS0gYS9hcmNoL3NoL0tjb25maWcKKysrIGIvYXJjaC9zaC9LY29uZmlnCkBAIC02ODgsNiArNjg4LDcgQEAKIGNvbmZpZyBTTVAKIAlib29sICJTeW1tZXRyaWMgbXVsdGktcHJvY2Vzc2luZyBzdXBwb3J0IgogCWRlcGVuZHMgb24gU1lTX1NVUFBPUlRTX1NNUAorCXNlbGVjdCBVU0VfR0VORVJJQ19TTVBfSEVMUEVSUwogCS0tLWhlbHAtLS0KIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIG9uZSBDUFUuIElmIHlvdSBoYXZlCiAJICBhIHN5c3RlbSB3aXRoIG9ubHkgb25lIENQVSwgbGlrZSBtb3N0IHBlcnNvbmFsIGNvbXB1dGVycywgc2F5IE4uIElmCmRpZmYgLS1naXQgYS9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jIGIvYXJjaC9zaC9ib2FyZHMvbGFuZGlzay9naW8uYwppbmRleCAxNzAyNTA4Li4wYzE1YjBhIDEwMDY0NAotLS0gYS9hcmNoL3NoL2JvYXJkcy9sYW5kaXNrL2dpby5jCisrKyBiL2FyY2gvc2gvYm9hcmRzL2xhbmRpc2svZ2lvLmMKQEAgLTE0LDYgKzE0LDcgQEAKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2tkZXZfdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtMzIsMTcgKzMzLDIwIEBACiBzdGF0aWMgaW50IGdpb19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCWludCBtaW5vcjsKKwlpbnQgcmV0ID0gLUVOT0VOVDsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBNSU5PUihpbm9kZS0+aV9yZGV2KTsKIAlpZiAobWlub3IgPCBERVZDT1VOVCkgewogCQlpZiAob3BlbkNudCA+IDApIHsKLQkJCXJldHVybiAtRUFMUkVBRFk7CisJCQlyZXQgPSAtRUFMUkVBRFk7CiAJCX0gZWxzZSB7CiAJCQlvcGVuQ250Kys7Ci0JCQlyZXR1cm4gMDsKKwkJCXJldCA9IDA7CiAJCX0KIAl9Ci0JcmV0dXJuIC1FTk9FTlQ7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgZ2lvX2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL2xhbmRpc2tfZGVmY29uZmlnCmluZGV4IGY1MmRiMTIuLjM4ZjkzNGEgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9sYW5kaXNrX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3MvbGFuZGlza19kZWZjb25maWcKQEAgLTIyNiw3ICsyMjYsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL2xib3hyZTJfZGVmY29uZmlnCmluZGV4IDlmYTY2ZDkuLmI2OGI2Y2QgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9sYm94cmUyX2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3MvbGJveHJlMl9kZWZjb25maWcKQEAgLTIzMSw3ICsyMzEsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9NDAwMDAwMDAKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9jb25maWdzL3NlNzcwNV9kZWZjb25maWcgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZwppbmRleCA4NDcxN2Q4Li40OTBkY2JjIDEwMDY0NAotLS0gYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZworKysgYi9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzA1X2RlZmNvbmZpZwpAQCAtMjM5LDcgKzIzOSw2IEBACiAjCiBDT05GSUdfU0hfVE1VPXkKIENPTkZJR19TSF9USU1FUl9JUlE9MTYKLSMgQ09ORklHX05PX0lETEVfSFogaXMgbm90IHNldAogQ09ORklHX1NIX1BDTEtfRlJFUT0zMzMzMzMzMwogCiAjCmRpZmYgLS1naXQgYS9hcmNoL3NoL2NvbmZpZ3Mvc2U3NzEyX2RlZmNvbmZpZyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCmluZGV4IDI0MGExY2UuLjJkZDgzYWYgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCisrKyBiL2FyY2gvc2gvY29uZmlncy9zZTc3MTJfZGVmY29uZmlnCkBAIC0yMzYsNyArMjM2LDYgQEAKICMKIENPTkZJR19TSF9UTVU9eQogQ09ORklHX1NIX1RJTUVSX0lSUT0xNgotIyBDT05GSUdfTk9fSURMRV9IWiBpcyBub3Qgc2V0CiBDT05GSUdfU0hfUENMS19GUkVRPTY2NjY2NjY2CiAKICMKZGlmZiAtLWdpdCBhL2FyY2gvc2gvY29uZmlncy9zZTc3NTBfZGVmY29uZmlnIGIvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKaW5kZXggYzYwYjZmZC4uMTY3Nzg2ZiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKKysrIGIvYXJjaC9zaC9jb25maWdzL3NlNzc1MF9kZWZjb25maWcKQEAgLTIzNSw3ICsyMzUsNiBAQAogIwogQ09ORklHX1NIX1RNVT15CiBDT05GSUdfU0hfVElNRVJfSVJRPTE2Ci0jIENPTkZJR19OT19JRExFX0haIGlzIG5vdCBzZXQKIENPTkZJR19TSF9QQ0xLX0ZSRVE9MzMzMzMzMzMKIAogIwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc21wLmMgYi9hcmNoL3NoL2tlcm5lbC9zbXAuYwppbmRleCA1ZDAzOWQxLi42MGM1MDg0IDEwMDY0NAotLS0gYS9hcmNoL3NoL2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NoL2tlcm5lbC9zbXAuYwpAQCAtMzYsMTMgKzM2LDYgQEAKIGNwdW1hc2tfdCBjcHVfb25saW5lX21hcDsKIEVYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOwogCi1zdGF0aWMgYXRvbWljX3QgY3B1c19ib290ZWQgPSBBVE9NSUNfSU5JVCgwKTsKLQotLyoKLSAqIFJ1biBzcGVjaWZpZWQgZnVuY3Rpb24gb24gYSBwYXJ0aWN1bGFyIHByb2Nlc3Nvci4KLSAqLwotdm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uKHVuc2lnbmVkIGludCBjcHUpOwotCiBzdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHNtcF9zdG9yZV9jcHVfaW5mbyh1bnNpZ25lZCBpbnQgY3B1KQogewogCXN0cnVjdCBzaF9jcHVpbmZvICpjID0gY3B1X2RhdGEgKyBjcHU7CkBAIC0xNzUsNDUgKzE2OCwyMCBAQAogCiB2b2lkIHNtcF9zZW5kX3N0b3Aodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCAwLCAxLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3RoaXNfY3B1LCAwLCAwKTsKIH0KIAotc3RydWN0IHNtcF9mbl9jYWxsX3N0cnVjdCBzbXBfZm5fY2FsbCA9IHsKLQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzbXBfZm5fY2FsbC5sb2NrKSwKLQkuZmluaXNoZWQJPSBBVE9NSUNfSU5JVCgwKSwKLX07Ci0KLS8qCi0gKiBUaGUgY2FsbGVyIG9mIHRoaXMgd2FudHMgdGhlIHBhc3NlZCBmdW5jdGlvbiB0byBydW4gb24gZXZlcnkgY3B1LiAgSWYgd2FpdAotICogaXMgc2V0LCB3YWl0IHVudGlsIGFsbCBjcHVzIGhhdmUgZmluaXNoZWQgdGhlIGZ1bmN0aW9uIGJlZm9yZSByZXR1cm5pbmcuCi0gKiBUaGUgbG9jayBpcyBoZXJlIHRvIHByb3RlY3QgdGhlIGNhbGwgc3RydWN0dXJlLgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCkKK3ZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25faXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXVuc2lnbmVkIGludCBucl9jcHVzID0gYXRvbWljX3JlYWQoJmNwdXNfYm9vdGVkKTsKLQlpbnQgaTsKKwlpbnQgY3B1OwogCi0JLyogQ2FuIGRlYWRsb2NrIHdoZW4gY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZCAqLwotCVdBUk5fT04oaXJxc19kaXNhYmxlZCgpKTsKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIG1hc2spCisJCXBsYXRfc2VuZF9pcGkoY3B1LCBTTVBfTVNHX0ZVTkNUSU9OKTsKK30KIAotCXNwaW5fbG9jaygmc21wX2ZuX2NhbGwubG9jayk7Ci0KLQlhdG9taWNfc2V0KCZzbXBfZm5fY2FsbC5maW5pc2hlZCwgMCk7Ci0Jc21wX2ZuX2NhbGwuZm4gPSBmdW5jOwotCXNtcF9mbl9jYWxsLmRhdGEgPSBpbmZvOwotCi0JZm9yIChpID0gMDsgaSA8IG5yX2NwdXM7IGkrKykKLQkJaWYgKGkgIT0gc21wX3Byb2Nlc3Nvcl9pZCgpKQotCQkJcGxhdF9zZW5kX2lwaShpLCBTTVBfTVNHX0ZVTkNUSU9OKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJnNtcF9mbl9jYWxsLmZpbmlzaGVkKSAhPSAobnJfY3B1cyAtIDEpKTsKLQotCXNwaW5fdW5sb2NrKCZzbXBfZm5fY2FsbC5sb2NrKTsKLQotCXJldHVybiAwOwordm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpKGludCBjcHUpCit7CisJcGxhdF9zZW5kX2lwaShjcHUsIFNNUF9NU0dfRlVOQ1RJT05fU0lOR0xFKTsKIH0KIAogLyogTm90IHJlYWxseSBTTVAgc3R1ZmYgLi4uICovCkBAIC0yMjksNyArMTk3LDcgQEAKIAogdm9pZCBmbHVzaF90bGJfYWxsKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZmx1c2hfdGxiX2FsbF9pcGksIDAsIDEsIDEpOworCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9hbGxfaXBpLCAwLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX21tX2lwaSh2b2lkICptbSkKQEAgLTI1NSw3ICsyMjMsNyBAQAogCXByZWVtcHRfZGlzYWJsZSgpOwogCiAJaWYgKChhdG9taWNfcmVhZCgmbW0tPm1tX3VzZXJzKSAhPSAxKSB8fCAoY3VycmVudC0+bW0gIT0gbW0pKSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9tbV9pcGksICh2b2lkICopbW0sIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfbW1faXBpLCAodm9pZCAqKW1tLCAxKTsKIAl9IGVsc2UgewogCQlpbnQgaTsKIAkJZm9yIChpID0gMDsgaSA8IG51bV9vbmxpbmVfY3B1cygpOyBpKyspCkBAIC0yOTIsNyArMjYwLDcgQEAKIAkJZmQudm1hID0gdm1hOwogCQlmZC5hZGRyMSA9IHN0YXJ0OwogCQlmZC5hZGRyMiA9IGVuZDsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3JhbmdlX2lwaSwgKHZvaWQgKikmZmQsIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSk7CiAJfSBlbHNlIHsKIAkJaW50IGk7CiAJCWZvciAoaSA9IDA7IGkgPCBudW1fb25saW5lX2NwdXMoKTsgaSsrKQpAQCAtMzE2LDcgKzI4NCw3IEBACiAKIAlmZC5hZGRyMSA9IHN0YXJ0OwogCWZkLmFkZHIyID0gZW5kOwotCW9uX2VhY2hfY3B1KGZsdXNoX3RsYl9rZXJuZWxfcmFuZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfdGxiX2tlcm5lbF9yYW5nZV9pcGksICh2b2lkICopJmZkLCAxKTsKIH0KIAogc3RhdGljIHZvaWQgZmx1c2hfdGxiX3BhZ2VfaXBpKHZvaWQgKmluZm8pCkBAIC0zMzUsNyArMzAzLDcgQEAKIAogCQlmZC52bWEgPSB2bWE7CiAJCWZkLmFkZHIxID0gcGFnZTsKLQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX3BhZ2VfaXBpLCAodm9pZCAqKSZmZCwgMSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uKGZsdXNoX3RsYl9wYWdlX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogCX0gZWxzZSB7CiAJCWludCBpOwogCQlmb3IgKGkgPSAwOyBpIDwgbnVtX29ubGluZV9jcHVzKCk7IGkrKykKQEAgLTM1OSw2ICszMjcsNiBAQAogCWZkLmFkZHIxID0gYXNpZDsKIAlmZC5hZGRyMiA9IHZhZGRyOwogCi0Jc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfdGxiX29uZV9pcGksICh2b2lkICopJmZkLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF90bGJfb25lX2lwaSwgKHZvaWQgKikmZmQsIDEpOwogCWxvY2FsX2ZsdXNoX3RsYl9vbmUoYXNpZCwgdmFkZHIpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jIGIvYXJjaC9zaC9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGQ0MWU1NjEuLjFiMmFlMzUgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3NoL2tlcm5lbC9zdGFja3RyYWNlLmMKQEAgLTM0LDMgKzM0LDQgQEAKIAkJfQogCX0KIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUyBiL2FyY2gvc2gva2VybmVsL3ZtbGludXhfMzIubGRzLlMKaW5kZXggYzcxMTM3OC4uN2I0YjgyYiAxMDA2NDQKLS0tIGEvYXJjaC9zaC9rZXJuZWwvdm1saW51eF8zMi5sZHMuUworKysgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TCkBAIC00NCw3ICs0NCw2IEBACiAKIAlfZXRleHQgPSAuOwkJCS8qIEVuZCBvZiB0ZXh0IHNlY3Rpb24gKi8KIAotCUJVR19UQUJMRQogCU5PVEVTCiAJUk9fREFUQShQQUdFX1NJWkUpCiAKZGlmZiAtLWdpdCBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3NoL2tlcm5lbC92bWxpbnV4XzY0Lmxkcy5TCmluZGV4IGQxZTE3NzAuLjMzZmE0NjQgMTAwNjQ0Ci0tLSBhL2FyY2gvc2gva2VybmVsL3ZtbGludXhfNjQubGRzLlMKKysrIGIvYXJjaC9zaC9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtNjUsNyArNjUsNiBAQAogCiAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAKLQlCVUdfVEFCTEUKIAlOT1RFUyAKIAlST19EQVRBKFBBR0VfU0laRSkKIApkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYy9rZXJuZWwvYXBjLmMgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwppbmRleCBkMDZhNDA1Li42NzA3NDIyIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYworKysgYi9hcmNoL3NwYXJjL2tlcm5lbC9hcGMuYwpAQCAtMTAsNiArMTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BtLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTc1LDYgKzc2LDcgQEAKIAogc3RhdGljIGludCBhcGNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZikKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvS2NvbmZpZyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCmluZGV4IGViMzZmM2IuLmZjYTkyNDYgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9LY29uZmlnCisrKyBiL2FyY2gvc3BhcmM2NC9LY29uZmlnCkBAIC0xMSw2ICsxMSw4IEBACiBjb25maWcgU1BBUkM2NAogCWJvb2wKIAlkZWZhdWx0IHkKKwlzZWxlY3QgSEFWRV9EWU5BTUlDX0ZUUkFDRQorCXNlbGVjdCBIQVZFX0ZUUkFDRQogCXNlbGVjdCBIQVZFX0lERQogCXNlbGVjdCBIQVZFX0xNQgogCXNlbGVjdCBIQVZFX0FSQ0hfS0dEQgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L0tjb25maWcuZGVidWcgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwppbmRleCA2YTRkMjhhLi5kNmQzMmQxIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZworKysgYi9hcmNoL3NwYXJjNjQvS2NvbmZpZy5kZWJ1ZwpAQCAtMzMsNyArMzMsNyBAQAogCiBjb25maWcgTUNPVU5UCiAJYm9vbAotCWRlcGVuZHMgb24gU1RBQ0tfREVCVUcKKwlkZXBlbmRzIG9uIFNUQUNLX0RFQlVHIHx8IEZUUkFDRQogCWRlZmF1bHQgeQogCiBjb25maWcgRlJBTUVfUE9JTlRFUgpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggZWM0ZjVlYi4uNDE4YjU3OCAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9NYWtlZmlsZQorKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL01ha2VmaWxlCkBAIC0xNCw2ICsxNCw3IEBACiAJCSAgIHBvd2VyLm8gc2J1cy5vIHNwYXJjNjRfa3N5bXMubyBjaG1jLm8gXAogCQkgICB2aXNlbXVsLm8gcHJvbS5vIG9mX2RldmljZS5vIGh2YXBpLm8gc3N0YXRlLm8gbWRlc2MubwogCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpICs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfU1RBQ0tUUkFDRSkgKz0gc3RhY2t0cmFjZS5vCiBvYmotJChDT05GSUdfUENJKQkgKz0gZWJ1cy5vIHBjaV9jb21tb24ubyBcCiAJCQkgICAgcGNpX3BzeWNoby5vIHBjaV9zYWJyZS5vIHBjaV9zY2hpem8ubyBcCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mjk4ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9zcGFyYzY0L2tlcm5lbC9mdHJhY2UuYwpAQCAtMCwwICsxLDk0IEBACisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKworc3RhdGljIGNvbnN0IHUzMiBmdHJhY2Vfbm9wID0gMHgwMTAwMDAwMDsKKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2Vfbm9wX3JlcGxhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGNoYXIgKikmZnRyYWNlX25vcDsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdGF0aWMgdTMyIGNhbGw7CisJczMyIG9mZjsKKworCW9mZiA9ICgoczMyKWFkZHIgLSAoczMyKWlwKTsKKwljYWxsID0gMHg0MDAwMDAwMCB8ICgodTMyKW9mZiA+PiAyKTsKKworCXJldHVybiAodW5zaWduZWQgY2hhciAqKSAmY2FsbDsKK30KKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdTMyIG9sZCA9ICoodTMyICopb2xkX2NvZGU7CisJdTMyIG5ldyA9ICoodTMyICopbmV3X2NvZGU7CisJdTMyIHJlcGxhY2VkOworCWludCBmYXVsdGVkOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18oCisJIjE6CWNhcwlbJVtpcF1dLCAlW29sZF0sICVbbmV3XVxuIgorCSIJZmx1c2gJJVtpcF1cbiIKKwkiCW1vdgkwLCAlW2ZhdWx0ZWRdXG4iCisJIjI6XG4iCisJIgkuc2VjdGlvbiAuZml4dXAsI2FsbG9jLCNleGVjaW5zdHJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIjM6CXNldGhpCSUlaGkoMmIpLCAlW2ZhdWx0ZWRdXG4iCisJIglqbXBsCSVbZmF1bHRlZF0gKyAlJWxvKDJiKSwgJSVnMFxuIgorCSIJIG1vdgkxLCAlW2ZhdWx0ZWRdXG4iCisJIgkucHJldmlvdXNcbiIKKwkiCS5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIKKwkiCS5hbGlnbgk0XG4iCisJIgkud29yZAkxYiwgM2JcbiIKKwkiCS5wcmV2aW91c1xuIgorCTogIj1yIiAocmVwbGFjZWQpLCBbZmF1bHRlZF0gIj1yIiAoZmF1bHRlZCkKKwk6IFtuZXddICIwIiAobmV3KSwgW29sZF0gInIiIChvbGQpLCBbaXBdICJyIiAoaXApCisJOiAibWVtb3J5Iik7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJbWVtY3B5KG9sZCwgJmZ0cmFjZV9jYWxsLCBNQ09VTlRfSU5TTl9TSVpFKTsKKwluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCAodW5zaWduZWQgbG9uZylmdW5jKTsKKwlyZXR1cm4gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7Cit9CisKK25vdHJhY2UgaW50IGZ0cmFjZV9tY291bnRfc2V0KHVuc2lnbmVkIGxvbmcgKmRhdGEpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9IChsb25nKSgmbWNvdW50X2NhbGwpOworCXVuc2lnbmVkIGxvbmcgKmFkZHIgPSBkYXRhOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCisJLyoKKwkgKiBSZXBsYWNlIHRoZSBtY291bnQgc3R1YiB3aXRoIGEgcG9pbnRlciB0byB0aGUKKwkgKiBpcCByZWNvcmRlciBmdW5jdGlvbi4KKwkgKi8KKwltZW1jcHkob2xkLCAmbWNvdW50X2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICphZGRyKTsKKwkqYWRkciA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIDA7Cit9CisKKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWZ0cmFjZV9tY291bnRfc2V0KGRhdGEpOworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc21wLmMKaW5kZXggZmE2M2M2OC4uYzA5OWQ5NiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2tlcm5lbC9zbXAuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NtcC5jCkBAIC04MDcsNyArODA3LDYgQEAKICAqIHNtcF9jYWxsX2Z1bmN0aW9uKCk6IFJ1biBhIGZ1bmN0aW9uIG9uIGFsbCBvdGhlciBDUFVzLgogICogQGZ1bmM6IFRoZSBmdW5jdGlvbiB0byBydW4uIFRoaXMgbXVzdCBiZSBmYXN0IGFuZCBub24tYmxvY2tpbmcuCiAgKiBAaW5mbzogQW4gYXJiaXRyYXJ5IHBvaW50ZXIgdG8gcGFzcyB0byB0aGUgZnVuY3Rpb24uCi0gKiBAbm9uYXRvbWljOiBjdXJyZW50bHkgdW51c2VkLgogICogQHdhaXQ6IElmIHRydWUsIHdhaXQgKGF0b21pY2FsbHkpIHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KICAqCiAgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBEb2VzIG5vdCByZXR1cm4gdW50aWwKQEAgLTgxNiw4ICs4MTUsOCBAQAogICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCiAgKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KICAqLwotc3RhdGljIGludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQkgIGludCBub25hdG9taWMsIGludCB3YWl0LCBjcHVtYXNrX3QgbWFzaykKK3N0YXRpYyBpbnQgc3BhcmM2NF9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCQkJICBpbnQgd2FpdCwgY3B1bWFza190IG1hc2spCiB7CiAJc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKIAlpbnQgY3B1czsKQEAgLTg1MiwxMSArODUxLDkgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQgKCpmdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJICAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKLQlyZXR1cm4gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhmdW5jLCBpbmZvLCBub25hdG9taWMsIHdhaXQsCi0JCQkJICAgICAgY3B1X29ubGluZV9tYXApOworCXJldHVybiBzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soZnVuYywgaW5mbywgd2FpdCwgY3B1X29ubGluZV9tYXApOwogfQogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2NsaWVudChpbnQgaXJxLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKQEAgLTg5Myw3ICs4OTAsNyBAQAogCiB2b2lkIHNtcF90c2Jfc3luYyhzdHJ1Y3QgbW1fc3RydWN0ICptbSkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKHRzYl9zeW5jLCBtbSwgMCwgMSwgbW0tPmNwdV92bV9tYXNrKTsKKwlzcGFyYzY0X3NtcF9jYWxsX2Z1bmN0aW9uX21hc2sodHNiX3N5bmMsIG1tLCAxLCBtbS0+Y3B1X3ZtX21hc2spOwogfQogCiBleHRlcm4gdW5zaWduZWQgbG9uZyB4Y2FsbF9mbHVzaF90bGJfbW07CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3BhcmM2NF9rc3ltcy5jCmluZGV4IDhhYzBiOTkuLjQ5ZDNlYTUwIDEwMDY0NAotLS0gYS9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYworKysgYi9hcmNoL3NwYXJjNjQva2VybmVsL3NwYXJjNjRfa3N5bXMuYwpAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgPGFzbS9uczg3MzAzLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CiAjaW5jbHVkZSA8YXNtL2NwdWRhdGEuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CiAKIHN0cnVjdCBwb2xsIHsKIAlpbnQgZmQ7CkBAIC0xMTEsOCArMTEyLDcgQEAKIEVYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOwogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIAotI2lmIGRlZmluZWQoQ09ORklHX01DT1VOVCkKLWV4dGVybiB2b2lkIF9tY291bnQodm9pZCk7CisjaWZkZWYgQ09ORklHX01DT1VOVAogRVhQT1JUX1NZTUJPTChfbWNvdW50KTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGM3M2NlM2YuLmIzZTM3MzcgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC0xLDYgKzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CiAKQEAgLTQ3LDMgKzQ4LDQgQEAKIAkJCXRyYWNlLT5lbnRyaWVzW3RyYWNlLT5ucl9lbnRyaWVzKytdID0gcGM7CiAJfSB3aGlsZSAodHJhY2UtPm5yX2VudHJpZXMgPCB0cmFjZS0+bWF4X2VudHJpZXMpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwoc2F2ZV9zdGFja190cmFjZSk7CmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQva2VybmVsL3RpbWUuYyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCmluZGV4IGU1ZDIzODkuLmJlZGM0YzEgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9rZXJuZWwvdGltZS5jCkBAIC0xMSw2ICsxMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTE2NTksMTAgKzE2NjAsMTQgQEAKIAogc3RhdGljIGludCBtaW5pX3J0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChtaW5pX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikKKwlsb2NrX2tlcm5lbCgpOworCWlmIChtaW5pX3J0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCiAJbWluaV9ydGNfc3RhdHVzIHw9IFJUQ19JU19PUEVOOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUyBiL2FyY2gvc3BhcmM2NC9saWIvbWNvdW50LlMKaW5kZXggOWU0NTM0Yi4uNzczNWE3YSAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYzY0L2xpYi9tY291bnQuUworKysgYi9hcmNoL3NwYXJjNjQvbGliL21jb3VudC5TCkBAIC0yOCwxMCArMjgsMTMgQEAKIAkuc2tpcAkJT1ZTVEFDS1NJWkUKICNlbmRpZgogCS50ZXh0Ci0JLmFsaWduIDMyCi0JLmdsb2JsIG1jb3VudCwgX21jb3VudAotbWNvdW50OgorCS5hbGlnbgkJMzIKKwkuZ2xvYmwJCV9tY291bnQKKwkudHlwZQkJX21jb3VudCwjZnVuY3Rpb24KKwkuZ2xvYmwJCW1jb3VudAorCS50eXBlCQltY291bnQsI2Z1bmN0aW9uCiBfbWNvdW50OgorbWNvdW50OgogI2lmZGVmIENPTkZJR19TVEFDS19ERUJVRwogCS8qCiAJICogQ2hlY2sgd2hldGhlciAlc3AgaXMgZGFuZ2Vyb3VzbHkgbG93LgpAQCAtNTUsNiArNTgsNTMgQEAKIAkgb3IJCSVnMywgJWxvKHBhbmljc3RyaW5nKSwgJW8wCiAJY2FsbAkJcHJvbV9oYWx0CiAJIG5vcAorMToKICNlbmRpZgotMToJcmV0bAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwltb3YJCSVvNywgJW8wCisJLmdsb2JsCQltY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJY2FsbAkJZnRyYWNlX3N0dWIKKwkgbW92CQklbzAsICVvNworI2Vsc2UKKwlzZXRoaQkJJWhpKGZ0cmFjZV90cmFjZV9mdW5jdGlvbiksICVnMQorCXNldGhpCQklaGkoZnRyYWNlX3N0dWIpLCAlZzIKKwlsZHgJCVslZzEgKyAlbG8oZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKV0sICVnMQorCW9yCQklZzIsICVsbyhmdHJhY2Vfc3R1YiksICVnMgorCWNtcAkJJWcxLCAlZzIKKwliZSxwbgkJJWljYywgMWYKKwkgbW92CQklaTcsICVvMQorCWptcGwJCSVnMSwgJWcwCisJIG1vdgkJJW83LCAlbzAKKwkvKiBub3QgcmVhY2hlZCAqLworMToKKyNlbmRpZgorI2VuZGlmCisJcmV0bAogCSBub3AKKwkuc2l6ZQkJX21jb3VudCwuLV9tY291bnQKKwkuc2l6ZQkJbWNvdW50LC4tbWNvdW50CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJLmdsb2JsCQlmdHJhY2Vfc3R1YgorCS50eXBlCQlmdHJhY2Vfc3R1YiwjZnVuY3Rpb24KK2Z0cmFjZV9zdHViOgorCXJldGwKKwkgbm9wCisJLnNpemUJCWZ0cmFjZV9zdHViLC4tZnRyYWNlX3N0dWIKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwkuZ2xvYmwJCWZ0cmFjZV9jYWxsZXIKKwkudHlwZQkJZnRyYWNlX2NhbGxlciwjZnVuY3Rpb24KK2Z0cmFjZV9jYWxsZXI6CisJbW92CQklaTcsICVvMQorCW1vdgkJJW83LCAlbzAKKwkuZ2xvYmwJCWZ0cmFjZV9jYWxsCitmdHJhY2VfY2FsbDoKKwljYWxsCQlmdHJhY2Vfc3R1YgorCSBtb3YJCSVvMCwgJW83CisJcmV0bAorCSBub3AKKwkuc2l6ZQkJZnRyYWNlX2NhbGxlciwuLWZ0cmFjZV9jYWxsZXIKKyNlbmRpZgorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3NwYXJjNjQvbW0vaHVnZXRsYnBhZ2UuYyBiL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jCmluZGV4IDZjZmFiMmUuLmViZWZkMmEgMTAwNjQ0Ci0tLSBhL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jCisrKyBiL2FyY2gvc3BhcmM2NC9tbS9odWdldGxicGFnZS5jCkBAIC0zNDQsNyArMzQ0LDcgQEAKIAkJCSAqIGFsc28gZXhlY3V0aW5nIGluIHRoaXMgYWRkcmVzcyBzcGFjZS4KIAkJCSAqLwogCQkJbW0tPmNvbnRleHQuc3BhcmM2NF9jdHhfdmFsID0gY3R4OwotCQkJb25fZWFjaF9jcHUoY29udGV4dF9yZWxvYWQsIG1tLCAwLCAwKTsKKwkJCW9uX2VhY2hfY3B1KGNvbnRleHRfcmVsb2FkLCBtbSwgMCk7CiAJCX0KIAkJc3Bpbl91bmxvY2soJmN0eF9hbGxvY19sb2NrKTsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMgYi9hcmNoL3VtL2RyaXZlcnMvaGFyZGRvZ19rZXJuLmMKaW5kZXggYTlhZDRiZC4uZDMzMjUwMyAxMDA2NDQKLS0tIGEvYXJjaC91bS9kcml2ZXJzL2hhcmRkb2dfa2Vybi5jCisrKyBiL2FyY2gvdW0vZHJpdmVycy9oYXJkZG9nX2tlcm4uYwpAQCAtNjYsNiArNjYsNyBAQAogCWludCBlcnIgPSAtRUJVU1k7CiAJY2hhciAqc29jayA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmbG9jayk7CiAJaWYodGltZXJfYWxpdmUpCiAJCWdvdG8gZXJyOwpAQCAtODIsOSArODMsMTEgQEAKIAogCXRpbWVyX2FsaXZlID0gMTsKIAlzcGluX3VubG9jaygmbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIGVycjoKIAlzcGluX3VubG9jaygmbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYyBiL2FyY2gvdW0vZHJpdmVycy9tbWFwcGVyX2tlcm4uYwppbmRleCA2N2IyZjU1Li5lYjI0MDMyIDEwMDY0NAotLS0gYS9hcmNoL3VtL2RyaXZlcnMvbW1hcHBlcl9rZXJuLmMKKysrIGIvYXJjaC91bS9kcml2ZXJzL21tYXBwZXJfa2Vybi5jCkBAIC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgIm1lbV91c2VyLmgiCiAKQEAgLTc3LDYgKzc4LDcgQEAKIAogc3RhdGljIGludCBtbWFwcGVyX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jIGIvYXJjaC91bS9kcml2ZXJzL3JhbmRvbS5jCmluZGV4IDQ5NDkwNDQuLjZlYWJiNzAgMTAwNjQ0Ci0tLSBhL2FyY2gvdW0vZHJpdmVycy9yYW5kb20uYworKysgYi9hcmNoL3VtL2RyaXZlcnMvcmFuZG9tLmMKQEAgLTcsNiArNyw3IEBACiAgKiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgogICovCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CkBAIC0zMyw2ICszNCw4IEBACiAKIHN0YXRpYyBpbnQgcm5nX2Rldl9vcGVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOworCiAJLyogZW5mb3JjZSByZWFkLW9ubHkgYWNjZXNzIHRvIHRoaXMgY2hyZGV2ICovCiAJaWYgKChmaWxwLT5mX21vZGUgJiBGTU9ERV9SRUFEKSA9PSAwKQogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2FyY2gvdW0va2VybmVsL3NtcC5jIGIvYXJjaC91bS9rZXJuZWwvc21wLmMKaW5kZXggZTEwNjJlYy4uYmUyZDUwYyAxMDA2NDQKLS0tIGEvYXJjaC91bS9rZXJuZWwvc21wLmMKKysrIGIvYXJjaC91bS9rZXJuZWwvc21wLmMKQEAgLTIxNCw4ICsyMTQsNyBAQAogCWF0b21pY19pbmMoJnNjZl9maW5pc2hlZCk7CiB9CiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqX2Z1bmMpKHZvaWQgKmluZm8pLCB2b2lkICpfaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCitpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKl9mdW5jKSh2b2lkICppbmZvKSwgdm9pZCAqX2luZm8sIGludCB3YWl0KQogewogCWludCBjcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwogCWludCBpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvS2NvbmZpZyBiL2FyY2gveDg2L0tjb25maWcKaW5kZXggYmYwN2I2Zi4uOTZlMGMyZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZworKysgYi9hcmNoL3g4Ni9LY29uZmlnCkBAIC0yMyw2ICsyMyw4IEBACiAJc2VsZWN0IEhBVkVfT1BST0ZJTEUKIAlzZWxlY3QgSEFWRV9LUFJPQkVTCiAJc2VsZWN0IEhBVkVfS1JFVFBST0JFUworCXNlbGVjdCBIQVZFX0RZTkFNSUNfRlRSQUNFCisJc2VsZWN0IEhBVkVfRlRSQUNFCiAJc2VsZWN0IEhBVkVfS1ZNIGlmICgoWDg2XzMyICYmICFYODZfVk9ZQUdFUiAmJiAhWDg2X1ZJU1dTICYmICFYODZfTlVNQVEpIHx8IFg4Nl82NCkKIAlzZWxlY3QgSEFWRV9BUkNIX0tHREIgaWYgIVg4Nl9WT1lBR0VSCiAKQEAgLTEyMSw3ICsxMjMsNyBAQAogCWRlZl9ib29sIHkKIAogY29uZmlnIEhBVkVfU0VUVVBfUEVSX0NQVV9BUkVBCi0JZGVmX2Jvb2wgWDg2XzY0IHx8IChYODZfU01QICYmICFYODZfVk9ZQUdFUikKKwlkZWZfYm9vbCBYODZfNjRfU01QIHx8IChYODZfU01QICYmICFYODZfVk9ZQUdFUikKIAogY29uZmlnIEhBVkVfQ1BVTUFTS19PRl9DUFVfTUFQCiAJZGVmX2Jvb2wgWDg2XzY0X1NNUApAQCAtMTY4LDYgKzE3MCw3IEBACiBjb25maWcgWDg2X1NNUAogCWJvb2wKIAlkZXBlbmRzIG9uIFNNUCAmJiAoKFg4Nl8zMiAmJiAhWDg2X1ZPWUFHRVIpIHx8IFg4Nl82NCkKKwlzZWxlY3QgVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMKIAlkZWZhdWx0IHkKIAogY29uZmlnIFg4Nl8zMl9TTVAKQEAgLTE4MSwxMiArMTg0LDEyIEBACiBjb25maWcgWDg2X0hUCiAJYm9vbAogCWRlcGVuZHMgb24gU01QCi0JZGVwZW5kcyBvbiAoWDg2XzMyICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKSkgfHwgWDg2XzY0CisJZGVwZW5kcyBvbiAoWDg2XzMyICYmICFYODZfVk9ZQUdFUikgfHwgWDg2XzY0CiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBYODZfQklPU19SRUJPT1QKIAlib29sCi0JZGVwZW5kcyBvbiAhWDg2X1ZJU1dTICYmICFYODZfVk9ZQUdFUgorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJZGVmYXVsdCB5CiAKIGNvbmZpZyBYODZfVFJBTVBPTElORQpAQCAtMjMwLDYgKzIzMywyNiBAQAogCiAJICBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGhlcmUsIHNheSBOLgogCitjb25maWcgWDg2X0ZJTkRfU01QX0NPTkZJRworCWRlZl9ib29sIHkKKwlkZXBlbmRzIG9uIFg4Nl9NUFBBUlNFIHx8IFg4Nl9WT1lBR0VSCisKK2lmIEFDUEkKK2NvbmZpZyBYODZfTVBQQVJTRQorCWRlZl9ib29sIHkKKwlib29sICJFbmFibGUgTVBTIHRhYmxlIgorCWRlcGVuZHMgb24gWDg2X0xPQ0FMX0FQSUMKKwloZWxwCisJICBGb3Igb2xkIHNtcCBzeXN0ZW1zIHRoYXQgZG8gbm90IGhhdmUgcHJvcGVyIGFjcGkgc3VwcG9ydC4gTmV3ZXIgc3lzdGVtcworCSAgKGVzcCB3aXRoIDY0Yml0IGNwdXMpIHdpdGggYWNwaSBzdXBwb3J0LCBNQURUIGFuZCBEU0RUIHdpbGwgb3ZlcnJpZGUgaXQKK2VuZGlmCisKK2lmICFBQ1BJCitjb25maWcgWDg2X01QUEFSU0UKKwlkZWZfYm9vbCB5CisJZGVwZW5kcyBvbiBYODZfTE9DQUxfQVBJQworZW5kaWYKKwogY2hvaWNlCiAJcHJvbXB0ICJTdWJhcmNoaXRlY3R1cmUgVHlwZSIKIAlkZWZhdWx0IFg4Nl9QQwpAQCAtMjUxLDcgKzI3NCw3IEBACiAKIGNvbmZpZyBYODZfVk9ZQUdFUgogCWJvb2wgIlZveWFnZXIgKE5DUikiCi0JZGVwZW5kcyBvbiBYODZfMzIgJiYgKFNNUCB8fCBCUk9LRU4pCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgKFNNUCB8fCBCUk9LRU4pICYmICFQQ0kKIAloZWxwCiAJICBWb3lhZ2VyIGlzIGFuIE1DQS1iYXNlZCAzMi13YXkgY2FwYWJsZSBTTVAgYXJjaGl0ZWN0dXJlIHByb3ByaWV0YXJ5CiAJICB0byBOQ1IgQ29ycC4gIE1hY2hpbmUgY2xhc3NlcyAzNDV4LzM1eHgvNDEwMC81MXh4IGFyZSBWb3lhZ2VyLWJhc2VkLgpAQCAtMjYxLDE2ICsyODQsMjcgQEAKIAkgIElmIHlvdSBkbyBub3Qgc3BlY2lmaWNhbGx5IGtub3cgeW91IGhhdmUgYSBWb3lhZ2VyIGJhc2VkIG1hY2hpbmUsCiAJICBzYXkgTiBoZXJlLCBvdGhlcndpc2UgdGhlIGtlcm5lbCB5b3UgYnVpbGQgd2lsbCBub3QgYmUgYm9vdGFibGUuCiAKK2NvbmZpZyBYODZfR0VORVJJQ0FSQ0gKKyAgICAgICBib29sICJHZW5lcmljIGFyY2hpdGVjdHVyZSIKKwlkZXBlbmRzIG9uIFg4Nl8zMgorICAgICAgIGhlbHAKKyAgICAgICAgICBUaGlzIG9wdGlvbiBjb21waWxlcyBpbiB0aGUgTlVNQVEsIFN1bW1pdCwgYmlnc21wLCBFUzcwMDAsIGRlZmF1bHQKKwkgIHN1YmFyY2hpdGVjdHVyZXMuICBJdCBpcyBpbnRlbmRlZCBmb3IgYSBnZW5lcmljIGJpbmFyeSBrZXJuZWwuCisJICBpZiB5b3Ugc2VsZWN0IHRoZW0gYWxsLCBrZXJuZWwgd2lsbCBwcm9iZSBpdCBvbmUgYnkgb25lLiBhbmQgd2lsbAorCSAgZmFsbGJhY2sgdG8gZGVmYXVsdC4KKworaWYgWDg2X0dFTkVSSUNBUkNICisKIGNvbmZpZyBYODZfTlVNQVEKIAlib29sICJOVU1BUSAoSUJNL1NlcXVlbnQpIgotCWRlcGVuZHMgb24gU01QICYmIFg4Nl8zMgorCWRlcGVuZHMgb24gU01QICYmIFg4Nl8zMiAmJiBQQ0kgJiYgWDg2X01QUEFSU0UKIAlzZWxlY3QgTlVNQQogCWhlbHAKLQkgIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIGdldHRpbmcgTGludXggdG8gcnVuIG9uIGEgKElCTS9TZXF1ZW50KSBOVU1BCi0JICBtdWx0aXF1YWQgYm94LiBUaGlzIGNoYW5nZXMgdGhlIHdheSB0aGF0IHByb2Nlc3NvcnMgYXJlIGJvb3RzdHJhcHBlZCwKLQkgIGFuZCB1c2VzIENsdXN0ZXJlZCBMb2dpY2FsIEFQSUMgYWRkcmVzc2luZyBtb2RlIGluc3RlYWQgb2YgRmxhdCBMb2dpY2FsLgotCSAgWW91IHdpbGwgbmVlZCBhIG5ldyBseW54ZXIuZWxmIGZpbGUgdG8gZmxhc2ggeW91ciBmaXJtd2FyZSB3aXRoIC0gc2VuZAotCSAgZW1haWwgdG8gPE1hcnRpbi5CbGlnaEB1cy5pYm0uY29tPi4KKwkgIFRoaXMgb3B0aW9uIGlzIHVzZWQgZm9yIGdldHRpbmcgTGludXggdG8gcnVuIG9uIGEgTlVNQVEgKElCTS9TZXF1ZW50KQorCSAgTlVNQSBtdWx0aXF1YWQgYm94LiBUaGlzIGNoYW5nZXMgdGhlIHdheSB0aGF0IHByb2Nlc3NvcnMgYXJlCisJICBib290c3RyYXBwZWQsIGFuZCB1c2VzIENsdXN0ZXJlZCBMb2dpY2FsIEFQSUMgYWRkcmVzc2luZyBtb2RlIGluc3RlYWQKKwkgIG9mIEZsYXQgTG9naWNhbC4gIFlvdSB3aWxsIG5lZWQgYSBuZXcgbHlueGVyLmVsZiBmaWxlIHRvIGZsYXNoIHlvdXIKKwkgIGZpcm13YXJlIHdpdGggLSBzZW5kIGVtYWlsIHRvIDxNYXJ0aW4uQmxpZ2hAdXMuaWJtLmNvbT4uCiAKIGNvbmZpZyBYODZfU1VNTUlUCiAJYm9vbCAiU3VtbWl0L0VYQSAoSUJNIHg0NDApIgpAQCAtMjc5LDQ2ICszMTMsMjEgQEAKIAkgIFRoaXMgb3B0aW9uIGlzIG5lZWRlZCBmb3IgSUJNIHN5c3RlbXMgdGhhdCB1c2UgdGhlIFN1bW1pdC9FWEEgY2hpcHNldC4KIAkgIEluIHBhcnRpY3VsYXIsIGl0IGlzIG5lZWRlZCBmb3IgdGhlIHg0NDAuCiAKLQkgIElmIHlvdSBkb24ndCBoYXZlIG9uZSBvZiB0aGVzZSBjb21wdXRlcnMsIHlvdSBzaG91bGQgc2F5IE4gaGVyZS4KLQkgIElmIHlvdSB3YW50IHRvIGJ1aWxkIGEgTlVNQSBrZXJuZWwsIHlvdSBtdXN0IHNlbGVjdCBBQ1BJLgotCi1jb25maWcgWDg2X0JJR1NNUAotCWJvb2wgIlN1cHBvcnQgZm9yIG90aGVyIHN1Yi1hcmNoIFNNUCBzeXN0ZW1zIHdpdGggbW9yZSB0aGFuIDggQ1BVcyIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBTTVAKLQloZWxwCi0JICBUaGlzIG9wdGlvbiBpcyBuZWVkZWQgZm9yIHRoZSBzeXN0ZW1zIHRoYXQgaGF2ZSBtb3JlIHRoYW4gOCBDUFVzCi0JICBhbmQgaWYgdGhlIHN5c3RlbSBpcyBub3Qgb2YgYW55IHN1Yi1hcmNoIHR5cGUgYWJvdmUuCi0KLQkgIElmIHlvdSBkb24ndCBoYXZlIHN1Y2ggYSBzeXN0ZW0sIHlvdSBzaG91bGQgc2F5IE4gaGVyZS4KLQotY29uZmlnIFg4Nl9WSVNXUwotCWJvb2wgIlNHSSAzMjAvNTQwIChWaXN1YWwgV29ya3N0YXRpb24pIgotCWRlcGVuZHMgb24gWDg2XzMyCi0JaGVscAotCSAgVGhlIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gc2VyaWVzIGlzIGFuIElBMzItYmFzZWQgd29ya3N0YXRpb24KLQkgIGJhc2VkIG9uIFNHSSBzeXN0ZW1zIGNoaXBzIHdpdGggc29tZSBsZWdhY3kgUEMgaGFyZHdhcmUgYXR0YWNoZWQuCi0KLQkgIFNheSBZIGhlcmUgdG8gY3JlYXRlIGEga2VybmVsIHRvIHJ1biBvbiB0aGUgU0dJIDMyMCBvciA1NDAuCi0KLQkgIEEga2VybmVsIGNvbXBpbGVkIGZvciB0aGUgVmlzdWFsIFdvcmtzdGF0aW9uIHdpbGwgbm90IHJ1biBvbiBQQ3MKLQkgIGFuZCB2aWNlIHZlcnNhLiBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9zZ2ktdmlzd3MudHh0PiBmb3IgZGV0YWlscy4KLQotY29uZmlnIFg4Nl9HRU5FUklDQVJDSAotICAgICAgIGJvb2wgIkdlbmVyaWMgYXJjaGl0ZWN0dXJlIChTdW1taXQsIGJpZ3NtcCwgRVM3MDAwLCBkZWZhdWx0KSIKLQlkZXBlbmRzIG9uIFg4Nl8zMgotICAgICAgIGhlbHAKLSAgICAgICAgICBUaGlzIG9wdGlvbiBjb21waWxlcyBpbiB0aGUgU3VtbWl0LCBiaWdzbXAsIEVTNzAwMCwgZGVmYXVsdCBzdWJhcmNoaXRlY3R1cmVzLgotCSAgSXQgaXMgaW50ZW5kZWQgZm9yIGEgZ2VuZXJpYyBiaW5hcnkga2VybmVsLgotCSAgSWYgeW91IHdhbnQgYSBOVU1BIGtlcm5lbCwgc2VsZWN0IEFDUEkuICAgV2UgbmVlZCBTUkFUIGZvciBOVU1BLgotCiBjb25maWcgWDg2X0VTNzAwMAogCWJvb2wgIlN1cHBvcnQgZm9yIFVuaXN5cyBFUzcwMDAgSUEzMiBzZXJpZXMiCiAJZGVwZW5kcyBvbiBYODZfMzIgJiYgU01QCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgVW5pc3lzIEVTNzAwMCBzeXN0ZW1zLiAgU2F5ICdZJyBoZXJlIGlmIHRoaXMga2VybmVsIGlzCiAJICBzdXBwb3NlZCB0byBydW4gb24gYW4gSUEzMi1iYXNlZCBVbmlzeXMgRVM3MDAwIHN5c3RlbS4KLQkgIE9ubHkgY2hvb3NlIHRoaXMgb3B0aW9uIGlmIHlvdSBoYXZlIHN1Y2ggYSBzeXN0ZW0sIG90aGVyd2lzZSB5b3UKLQkgIHNob3VsZCBzYXkgTiBoZXJlLgorCitjb25maWcgWDg2X0JJR1NNUAorCWJvb2wgIlN1cHBvcnQgZm9yIGJpZyBTTVAgc3lzdGVtcyB3aXRoIG1vcmUgdGhhbiA4IENQVXMiCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgU01QCisJaGVscAorCSAgVGhpcyBvcHRpb24gaXMgbmVlZGVkIGZvciB0aGUgc3lzdGVtcyB0aGF0IGhhdmUgbW9yZSB0aGFuIDggQ1BVcworCSAgYW5kIGlmIHRoZSBzeXN0ZW0gaXMgbm90IG9mIGFueSBzdWItYXJjaCB0eXBlIGFib3ZlLgorCitlbmRpZgogCiBjb25maWcgWDg2X1JEQzMyMVgKIAlib29sICJSREMgUi0zMjF4IFNvQyIKQEAgLTMzNyw3ICszNDYsNyBAQAogY29uZmlnIFg4Nl9WU01QCiAJYm9vbCAiU3VwcG9ydCBmb3IgU2NhbGVNUCB2U01QIgogCXNlbGVjdCBQQVJBVklSVAotCWRlcGVuZHMgb24gWDg2XzY0CisJZGVwZW5kcyBvbiBYODZfNjQgJiYgUENJCiAJaGVscAogCSAgU3VwcG9ydCBmb3IgU2NhbGVNUCB2U01QIHN5c3RlbXMuICBTYXkgJ1knIGhlcmUgaWYgdGhpcyBrZXJuZWwgaXMKIAkgIHN1cHBvc2VkIHRvIHJ1biBvbiB0aGVzZSBFTTY0VC1iYXNlZCBtYWNoaW5lcy4gIE9ubHkgY2hvb3NlIHRoaXMgb3B0aW9uCkBAIC0zNDUsNiArMzU0LDE4IEBACiAKIGVuZGNob2ljZQogCitjb25maWcgWDg2X1ZJU1dTCisJYm9vbCAiU0dJIDMyMC81NDAgKFZpc3VhbCBXb3Jrc3RhdGlvbikiCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJICYmICFYODZfVk9ZQUdFUiAmJiBYODZfTVBQQVJTRSAmJiBQQ0lfR09ESVJFQ1QKKwloZWxwCisJICBUaGUgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBzZXJpZXMgaXMgYW4gSUEzMi1iYXNlZCB3b3Jrc3RhdGlvbgorCSAgYmFzZWQgb24gU0dJIHN5c3RlbXMgY2hpcHMgd2l0aCBzb21lIGxlZ2FjeSBQQyBoYXJkd2FyZSBhdHRhY2hlZC4KKworCSAgU2F5IFkgaGVyZSB0byBjcmVhdGUgYSBrZXJuZWwgdG8gcnVuIG9uIHRoZSBTR0kgMzIwIG9yIDU0MC4KKworCSAgQSBrZXJuZWwgY29tcGlsZWQgZm9yIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gd2lsbCBydW4gb24gZ2VuZXJhbAorCSAgUENzIGFzIHdlbGwuIFNlZSA8ZmlsZTpEb2N1bWVudGF0aW9uL3NnaS12aXN3cy50eHQ+IGZvciBkZXRhaWxzLgorCiBjb25maWcgU0NIRURfTk9fTk9fT01JVF9GUkFNRV9QT0lOVEVSCiAJZGVmX2Jvb2wgeQogCXByb21wdCAiU2luZ2xlLWRlcHRoIFdDSEFOIG91dHB1dCIKQEAgLTM3Myw3ICszOTQsNyBAQAogCWJvb2wgIlZNSSBHdWVzdCBzdXBwb3J0IgogCXNlbGVjdCBQQVJBVklSVAogCWRlcGVuZHMgb24gWDg2XzMyCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFZNSSBwcm92aWRlcyBhIHBhcmF2aXJ0dWFsaXplZCBpbnRlcmZhY2UgdG8gdGhlIFZNd2FyZSBFU1ggc2VydmVyCiAJICAoaXQgY291bGQgYmUgdXNlZCBieSBvdGhlciBoeXBlcnZpc29ycyBpbiB0aGVvcnkgdG9vLCBidXQgaXMgbm90CkBAIC0zODQsNyArNDA1LDcgQEAKIAlib29sICJLVk0gcGFyYXZpcnR1YWxpemVkIGNsb2NrIgogCXNlbGVjdCBQQVJBVklSVAogCXNlbGVjdCBQQVJBVklSVF9DTE9DSwotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBUdXJuaW5nIG9uIHRoaXMgb3B0aW9uIHdpbGwgYWxsb3cgeW91IHRvIHJ1biBhIHBhcmF2aXJ0dWFsaXplZCBjbG9jawogCSAgd2hlbiBydW5uaW5nIG92ZXIgdGhlIEtWTSBoeXBlcnZpc29yLiBJbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSBQSVQKQEAgLTM5NSw3ICs0MTYsNyBAQAogY29uZmlnIEtWTV9HVUVTVAogCWJvb2wgIktWTSBHdWVzdCBzdXBwb3J0IgogCXNlbGVjdCBQQVJBVklSVAotCWRlcGVuZHMgb24gIShYODZfVklTV1MgfHwgWDg2X1ZPWUFHRVIpCisJZGVwZW5kcyBvbiAhWDg2X1ZPWUFHRVIKIAloZWxwCiAJIFRoaXMgb3B0aW9uIGVuYWJsZXMgdmFyaW91cyBvcHRpbWl6YXRpb25zIGZvciBydW5uaW5nIHVuZGVyIHRoZSBLVk0KIAkgaHlwZXJ2aXNvci4KQEAgLTQwNCw3ICs0MjUsNyBAQAogCiBjb25maWcgUEFSQVZJUlQKIAlib29sICJFbmFibGUgcGFyYXZpcnR1YWxpemF0aW9uIGNvZGUiCi0JZGVwZW5kcyBvbiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uICFYODZfVk9ZQUdFUgogCWhlbHAKIAkgIFRoaXMgY2hhbmdlcyB0aGUga2VybmVsIHNvIGl0IGNhbiBtb2RpZnkgaXRzZWxmIHdoZW4gaXQgaXMgcnVuCiAJICB1bmRlciBhIGh5cGVydmlzb3IsIHBvdGVudGlhbGx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSBzaWduaWZpY2FudGx5CkBAIC00MTcsNTEgKzQzOCwzMiBAQAogCiBlbmRpZgogCi1jb25maWcgTUVNVEVTVF9CT09UUEFSQU0KLQlib29sICJNZW10ZXN0IGJvb3QgcGFyYW1ldGVyIgorY29uZmlnIFBBUkFWSVJUX0RFQlVHCisgICAgICAgYm9vbCAicGFyYXZpcnQtb3BzIGRlYnVnZ2luZyIKKyAgICAgICBkZXBlbmRzIG9uIFBBUkFWSVJUICYmIERFQlVHX0tFUk5FTAorICAgICAgIGhlbHAKKyAgICAgICAgIEVuYWJsZSB0byBkZWJ1ZyBwYXJhdmlydF9vcHMgaW50ZXJuYWxzLiAgU3BlY2lmaWNhbGx5LCBCVUcgaWYKKwkgYSBwYXJhdmlydF9vcCBpcyBtaXNzaW5nIHdoZW4gaXQgaXMgY2FsbGVkLgorCitjb25maWcgTUVNVEVTVAorCWJvb2wgIk1lbXRlc3QiCiAJZGVwZW5kcyBvbiBYODZfNjQKLQlkZWZhdWx0IHkKIAloZWxwCiAJICBUaGlzIG9wdGlvbiBhZGRzIGEga2VybmVsIHBhcmFtZXRlciAnbWVtdGVzdCcsIHdoaWNoIGFsbG93cyBtZW10ZXN0Ci0JICB0byBiZSBkaXNhYmxlZCBhdCBib290LiAgSWYgdGhpcyBvcHRpb24gaXMgc2VsZWN0ZWQsIG1lbXRlc3QKLQkgIGZ1bmN0aW9uYWxpdHkgY2FuIGJlIGRpc2FibGVkIHdpdGggbWVtdGVzdD0wIG9uIHRoZSBrZXJuZWwKLQkgIGNvbW1hbmQgbGluZS4gIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3B0aW9uIGlzIHRvIGFsbG93IGEgc2luZ2xlCi0JICBrZXJuZWwgaW1hZ2UgdG8gYmUgZGlzdHJpYnV0ZWQgd2l0aCBtZW10ZXN0IGJ1aWx0IGluLCBidXQgbm90Ci0JICBuZWNlc3NhcmlseSBlbmFibGVkLgotCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBZLgotCi1jb25maWcgTUVNVEVTVF9CT09UUEFSQU1fVkFMVUUKLQlpbnQgIk1lbXRlc3QgYm9vdCBwYXJhbWV0ZXIgZGVmYXVsdCB2YWx1ZSAoMC00KSIKLQlkZXBlbmRzIG9uIE1FTVRFU1RfQk9PVFBBUkFNCi0JcmFuZ2UgMCA0Ci0JZGVmYXVsdCAwCi0JaGVscAotCSAgVGhpcyBvcHRpb24gc2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGtlcm5lbCBwYXJhbWV0ZXIKLQkgICdtZW10ZXN0Jywgd2hpY2ggYWxsb3dzIG1lbXRlc3QgdG8gYmUgZGlzYWJsZWQgYXQgYm9vdC4gIElmIHRoaXMKLQkgIG9wdGlvbiBpcyBzZXQgdG8gMCAoemVybyksIHRoZSBtZW10ZXN0IGtlcm5lbCBwYXJhbWV0ZXIgd2lsbAotCSAgZGVmYXVsdCB0byAwLCBkaXNhYmxpbmcgbWVtdGVzdCBhdCBib290dXAuICBJZiB0aGlzIG9wdGlvbiBpcwotCSAgc2V0IHRvIDQsIHRoZSBtZW10ZXN0IGtlcm5lbCBwYXJhbWV0ZXIgd2lsbCBkZWZhdWx0IHRvIDQsCi0JICBlbmFibGluZyBtZW10ZXN0IGF0IGJvb3R1cCwgYW5kIHVzZSB0aGF0IGFzIHBhdHRlcm4gbnVtYmVyLgotCi0JICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciAwLgotCi1jb25maWcgQUNQSV9TUkFUCi0JZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIEFDUEkgJiYgTlVNQSAmJiAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpCi0Jc2VsZWN0IEFDUElfTlVNQQotCi1jb25maWcgSEFWRV9BUkNIX1BBUlNFX1NSQVQKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBBQ1BJX1NSQVQKKwkgIHRvIGJlIHNldC4KKwkJbWVtdGVzdD0wLCBtZWFuIGRpc2FibGVkOyAtLSBkZWZhdWx0CisJCW1lbXRlc3Q9MSwgbWVhbiBkbyAxIHRlc3QgcGF0dGVybjsKKwkJLi4uCisJCW1lbXRlc3Q9NCwgbWVhbiBkbyA0IHRlc3QgcGF0dGVybnMuCisJICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBOLgogCiBjb25maWcgWDg2X1NVTU1JVF9OVU1BCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzMyICYmIE5VTUEgJiYgKFg4Nl9TVU1NSVQgfHwgWDg2X0dFTkVSSUNBUkNIKQorCWRlcGVuZHMgb24gWDg2XzMyICYmIE5VTUEgJiYgWDg2X0dFTkVSSUNBUkNICiAKIGNvbmZpZyBYODZfQ1lDTE9ORV9USU1FUgogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfU1VNTUlUIHx8IFg4Nl9HRU5FUklDQVJDSAorCWRlcGVuZHMgb24gWDg2X0dFTkVSSUNBUkNICiAKIGNvbmZpZyBFUzcwMDBfQ0xVU1RFUkVEX0FQSUMKIAlkZWZfYm9vbCB5CkBAIC01NDksNiArNTUxLDIxIEBACiAJICBDYWxnYXJ5IGFueXdheSwgcGFzcyAnaW9tbXU9Y2FsZ2FyeScgb24gdGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCiAJICBJZiB1bnN1cmUsIHNheSBZLgogCitjb25maWcgQU1EX0lPTU1VCisJYm9vbCAiQU1EIElPTU1VIHN1cHBvcnQiCisJc2VsZWN0IFNXSU9UTEIKKwlkZXBlbmRzIG9uIFg4Nl82NCAmJiBQQ0kgJiYgQUNQSQorCWhlbHAKKwkgIFdpdGggdGhpcyBvcHRpb24geW91IGNhbiBlbmFibGUgc3VwcG9ydCBmb3IgQU1EIElPTU1VIGhhcmR3YXJlIGluCisJICB5b3VyIHN5c3RlbS4gQW4gSU9NTVUgaXMgYSBoYXJkd2FyZSBjb21wb25lbnQgd2hpY2ggcHJvdmlkZXMKKwkgIHJlbWFwcGluZyBvZiBETUEgbWVtb3J5IGFjY2Vzc2VzIGZyb20gZGV2aWNlcy4gV2l0aCBhbiBBTUQgSU9NTVUgeW91CisJICBjYW4gaXNvbGF0ZSB0aGUgdGhlIERNQSBtZW1vcnkgb2YgZGlmZmVyZW50IGRldmljZXMgYW5kIHByb3RlY3QgdGhlCisJICBzeXN0ZW0gZnJvbSBtaXNiZWhhdmluZyBkZXZpY2UgZHJpdmVycyBvciBoYXJkd2FyZS4KKworCSAgWW91IGNhbiBmaW5kIG91dCBpZiB5b3VyIHN5c3RlbSBoYXMgYW4gQU1EIElPTU1VIGlmIHlvdSBsb29rIGludG8KKwkgIHlvdXIgQklPUyBmb3IgYW4gb3B0aW9uIHRvIGVuYWJsZSBpdCBvciBpZiB5b3UgaGF2ZSBhbiBJVlJTIEFDUEkKKwkgIHRhYmxlLgorCiAjIG5lZWQgdGhpcyBhbHdheXMgc2VsZWN0ZWQgYnkgSU9NTVUgZm9yIHRoZSBWSUEgd29ya2Fyb3VuZAogY29uZmlnIFNXSU9UTEIKIAlib29sCkBAIC01NjAsMjEgKzU3NywzNiBAQAogCSAgMyBHQiBvZiBtZW1vcnkuIElmIHVuc3VyZSwgc2F5IFkuCiAKIGNvbmZpZyBJT01NVV9IRUxQRVIKLQlkZWZfYm9vbCAoQ0FMR0FSWV9JT01NVSB8fCBHQVJUX0lPTU1VIHx8IFNXSU9UTEIpCisJZGVmX2Jvb2wgKENBTEdBUllfSU9NTVUgfHwgR0FSVF9JT01NVSB8fCBTV0lPVExCIHx8IEFNRF9JT01NVSkKK2NvbmZpZyBNQVhTTVAKKwlib29sICJDb25maWd1cmUgTWF4aW11bSBudW1iZXIgb2YgU01QIFByb2Nlc3NvcnMgYW5kIE5VTUEgTm9kZXMiCisJZGVwZW5kcyBvbiBYODZfNjQgJiYgU01QCisJZGVmYXVsdCBuCisJaGVscAorCSAgQ29uZmlndXJlIG1heGltdW0gbnVtYmVyIG9mIENQVVMgYW5kIE5VTUEgTm9kZXMgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlLgorCSAgSWYgdW5zdXJlLCBzYXkgTi4KIAoraWYgTUFYU01QCiBjb25maWcgTlJfQ1BVUwotCWludCAiTWF4aW11bSBudW1iZXIgb2YgQ1BVcyAoMi0yNTUpIgotCXJhbmdlIDIgMjU1CisJaW50CisJZGVmYXVsdCAiNDA5NiIKK2VuZGlmCisKK2lmICFNQVhTTVAKK2NvbmZpZyBOUl9DUFVTCisJaW50ICJNYXhpbXVtIG51bWJlciBvZiBDUFVzICgyLTQwOTYpIgorCXJhbmdlIDIgNDA5NgogCWRlcGVuZHMgb24gU01QCiAJZGVmYXVsdCAiMzIiIGlmIFg4Nl9OVU1BUSB8fCBYODZfU1VNTUlUIHx8IFg4Nl9CSUdTTVAgfHwgWDg2X0VTNzAwMAogCWRlZmF1bHQgIjgiCiAJaGVscAogCSAgVGhpcyBhbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIG1heGltdW0gbnVtYmVyIG9mIENQVXMgd2hpY2ggdGhpcwotCSAga2VybmVsIHdpbGwgc3VwcG9ydC4gIFRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyAyNTUgYW5kIHRoZQorCSAga2VybmVsIHdpbGwgc3VwcG9ydC4gIFRoZSBtYXhpbXVtIHN1cHBvcnRlZCB2YWx1ZSBpcyA0MDk2IGFuZCB0aGUKIAkgIG1pbmltdW0gdmFsdWUgd2hpY2ggbWFrZXMgc2Vuc2UgaXMgMi4KIAogCSAgVGhpcyBpcyBwdXJlbHkgdG8gc2F2ZSBtZW1vcnkgLSBlYWNoIHN1cHBvcnRlZCBDUFUgYWRkcwogCSAgYXBwcm94aW1hdGVseSBlaWdodCBraWxvYnl0ZXMgdG8gdGhlIGtlcm5lbCBpbWFnZS4KK2VuZGlmCiAKIGNvbmZpZyBTQ0hFRF9TTVQKIAlib29sICJTTVQgKEh5cGVydGhyZWFkaW5nKSBzY2hlZHVsZXIgc3VwcG9ydCIKQEAgLTU5OCw3ICs2MzAsNyBAQAogCiBjb25maWcgWDg2X1VQX0FQSUMKIAlib29sICJMb2NhbCBBUElDIHN1cHBvcnQgb24gdW5pcHJvY2Vzc29ycyIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhU01QICYmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSIHx8IFg4Nl9HRU5FUklDQVJDSCkKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhU01QICYmICEoWDg2X1ZPWUFHRVIgfHwgWDg2X0dFTkVSSUNBUkNIKQogCWhlbHAKIAkgIEEgbG9jYWwgQVBJQyAoQWR2YW5jZWQgUHJvZ3JhbW1hYmxlIEludGVycnVwdCBDb250cm9sbGVyKSBpcyBhbgogCSAgaW50ZWdyYXRlZCBpbnRlcnJ1cHQgY29udHJvbGxlciBpbiB0aGUgQ1BVLiBJZiB5b3UgaGF2ZSBhIHNpbmdsZS1DUFUKQEAgLTYyMywxMSArNjU1LDExIEBACiAKIGNvbmZpZyBYODZfTE9DQUxfQVBJQwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfQVBJQyB8fCAoKFg4Nl9WSVNXUyB8fCBTTVApICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIChYODZfVVBfQVBJQyB8fCAoU01QICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKIAogY29uZmlnIFg4Nl9JT19BUElDCiAJZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgKFg4Nl9VUF9JT0FQSUMgfHwgKFNNUCAmJiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikpIHx8IFg4Nl9HRU5FUklDQVJDSCkpCisJZGVwZW5kcyBvbiBYODZfNjQgfHwgKFg4Nl8zMiAmJiAoWDg2X1VQX0lPQVBJQyB8fCAoU01QICYmICFYODZfVk9ZQUdFUikgfHwgWDg2X0dFTkVSSUNBUkNIKSkKIAogY29uZmlnIFg4Nl9WSVNXU19BUElDCiAJZGVmX2Jvb2wgeQpAQCAtNjgxLDcgKzcxMyw3IEBACiAKIGNvbmZpZyBYODZfTUNFX1A0VEhFUk1BTAogCWJvb2wgImNoZWNrIGZvciBQNCB0aGVybWFsIHRocm90dGxpbmcgaW50ZXJydXB0LiIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfTUNFICYmIChYODZfVVBfQVBJQyB8fCBTTVApICYmICFYODZfVklTV1MKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBYODZfTUNFICYmIChYODZfVVBfQVBJQyB8fCBTTVApCiAJaGVscAogCSAgRW5hYmxpbmcgdGhpcyBmZWF0dXJlIHdpbGwgY2F1c2UgYSBtZXNzYWdlIHRvIGJlIHByaW50ZWQgd2hlbiB0aGUgUDQKIAkgIGVudGVycyB0aGVybWFsIHRocm90dGxpbmcuCkBAIC05MTEsOSArOTQzLDkgQEAKIGNvbmZpZyBOVU1BCiAJYm9vbCAiTnVtYSBNZW1vcnkgQWxsb2NhdGlvbiBhbmQgU2NoZWR1bGVyIFN1cHBvcnQgKEVYUEVSSU1FTlRBTCkiCiAJZGVwZW5kcyBvbiBTTVAKLQlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIEhJR0hNRU02NEcgJiYgKFg4Nl9OVU1BUSB8fCAoWDg2X1NVTU1JVCB8fCBYODZfR0VORVJJQ0FSQ0gpICYmIEFDUEkpICYmIEVYUEVSSU1FTlRBTCkKKwlkZXBlbmRzIG9uIFg4Nl82NCB8fCAoWDg2XzMyICYmIEhJR0hNRU02NEcgJiYgKFg4Nl9OVU1BUSB8fCBYODZfQklHU01QIHx8IFg4Nl9TVU1NSVQgJiYgQUNQSSkgJiYgRVhQRVJJTUVOVEFMKQogCWRlZmF1bHQgbiBpZiBYODZfUEMKLQlkZWZhdWx0IHkgaWYgKFg4Nl9OVU1BUSB8fCBYODZfU1VNTUlUKQorCWRlZmF1bHQgeSBpZiAoWDg2X05VTUFRIHx8IFg4Nl9TVU1NSVQgfHwgWDg2X0JJR1NNUCkKIAloZWxwCiAJICBFbmFibGUgTlVNQSAoTm9uIFVuaWZvcm0gTWVtb3J5IEFjY2Vzcykgc3VwcG9ydC4KIAkgIFRoZSBrZXJuZWwgd2lsbCB0cnkgdG8gYWxsb2NhdGUgbWVtb3J5IHVzZWQgYnkgYSBDUFUgb24gdGhlCkBAIC05NjUsMTMgKzk5NywyNSBAQAogCSAgaW50byB2aXJ0dWFsIG5vZGVzIHdoZW4gYm9vdGVkIHdpdGggIm51bWE9ZmFrZT1OIiwgd2hlcmUgTiBpcyB0aGUKIAkgIG51bWJlciBvZiBub2Rlcy4gVGhpcyBpcyBvbmx5IHVzZWZ1bCBmb3IgZGVidWdnaW5nLgogCitpZiBNQVhTTVAKKwogY29uZmlnIE5PREVTX1NISUZUCi0JaW50ICJNYXggbnVtIG5vZGVzIHNoaWZ0KDEtOSkiCi0JcmFuZ2UgMSA5ICBpZiBYODZfNjQKKwlpbnQKKwlkZWZhdWx0ICI5IgorZW5kaWYKKworaWYgIU1BWFNNUAorY29uZmlnIE5PREVTX1NISUZUCisJaW50ICJNYXhpbXVtIE5VTUEgTm9kZXMgKGFzIGEgcG93ZXIgb2YgMikiCisJcmFuZ2UgMSA5ICAgaWYgWDg2XzY0CiAJZGVmYXVsdCAiNiIgaWYgWDg2XzY0CiAJZGVmYXVsdCAiNCIgaWYgWDg2X05VTUFRCiAJZGVmYXVsdCAiMyIKIAlkZXBlbmRzIG9uIE5FRURfTVVMVElQTEVfTk9ERVMKKwloZWxwCisJICBTcGVjaWZ5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBOVU1BIE5vZGVzIGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0CisJICBzeXN0ZW0uICBJbmNyZWFzZXMgbWVtb3J5IHJlc2VydmVkIHRvIGFjY29tb2RhdGUgdmFyaW91cyB0YWJsZXMuCitlbmRpZgogCiBjb25maWcgSEFWRV9BUkNIX0JPT1RNRU1fTk9ERQogCWRlZl9ib29sIHkKQEAgLTEwOTAsNiArMTEzNCwzNyBAQAogCiAJICBTZWUgPGZpbGU6RG9jdW1lbnRhdGlvbi9tdHJyLnR4dD4gZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKK2NvbmZpZyBNVFJSX1NBTklUSVpFUgorCWJvb2wKKwlwcm9tcHQgIk1UUlIgY2xlYW51cCBzdXBwb3J0IgorCWRlcGVuZHMgb24gTVRSUgorCWhlbHAKKwkgIENvbnZlcnQgTVRSUiBsYXlvdXQgZnJvbSBjb250aW51b3VzIHRvIGRpc2NyZXRlLCBzbyBYIGRyaXZlcnMgY2FuCisJICBhZGQgd3JpdGViYWNrIGVudHJpZXMuCisKKwkgIENhbiBiZSBkaXNhYmxlZCB3aXRoIGRpc2FibGVfbXRycl9jbGVhbnVwIG9uIHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lLgorCSAgVGhlIGxhcmdlc3QgbXRyciBlbnRyeSBzaXplIGZvciBhIGNvbnRpbm91cyBibG9jayBjYW4gYmUgc2V0IHdpdGgKKwkgIG10cnJfY2h1bmtfc2l6ZS4KKworCSAgSWYgdW5zdXJlLCBzYXkgTi4KKworY29uZmlnIE1UUlJfU0FOSVRJWkVSX0VOQUJMRV9ERUZBVUxUCisJaW50ICJNVFJSIGNsZWFudXAgZW5hYmxlIHZhbHVlICgwLTEpIgorCXJhbmdlIDAgMQorCWRlZmF1bHQgIjAiCisJZGVwZW5kcyBvbiBNVFJSX1NBTklUSVpFUgorCWhlbHAKKwkgIEVuYWJsZSBtdHJyIGNsZWFudXAgZGVmYXVsdCB2YWx1ZQorCitjb25maWcgTVRSUl9TQU5JVElaRVJfU1BBUkVfUkVHX05SX0RFRkFVTFQKKwlpbnQgIk1UUlIgY2xlYW51cCBzcGFyZSByZWcgbnVtICgwLTcpIgorCXJhbmdlIDAgNworCWRlZmF1bHQgIjEiCisJZGVwZW5kcyBvbiBNVFJSX1NBTklUSVpFUgorCWhlbHAKKwkgIG10cnIgY2xlYW51cCBzcGFyZSBlbnRyaWVzIGRlZmF1bHQsIGl0IGNhbiBiZSBjaGFuZ2VkIHZpYQorCSAgbXRycl9zcGFyZV9yZWdfbnI9TiBvbiB0aGUga2VybmVsIGNvbW1hbmQgbGluZS4KKwogY29uZmlnIFg4Nl9QQVQKIAlib29sCiAJcHJvbXB0ICJ4ODYgUEFUIHN1cHBvcnQiCkBAIC0xMTkwLDcgKzEyNjUsNiBAQAogCiBjb25maWcgQ1JBU0hfRFVNUAogCWJvb2wgImtlcm5lbCBjcmFzaCBkdW1wcyAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCWRlcGVuZHMgb24gWDg2XzY0IHx8IChYODZfMzIgJiYgSElHSE1FTSkKIAloZWxwCiAJICBHZW5lcmF0ZSBjcmFzaCBkdW1wIGFmdGVyIGJlaW5nIHN0YXJ0ZWQgYnkga2V4ZWMuCkBAIC0xMzM5LDcgKzE0MTMsNyBAQAogCiBtZW51Y29uZmlnIEFQTQogCXRyaXN0YXRlICJBUE0gKEFkdmFuY2VkIFBvd2VyIE1hbmFnZW1lbnQpIEJJT1Mgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQTV9TTEVFUCAmJiAhWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUE1fU0xFRVAKIAktLS1oZWxwLS0tCiAJICBBUE0gaXMgYSBCSU9TIHNwZWNpZmljYXRpb24gZm9yIHNhdmluZyBwb3dlciB1c2luZyBzZXZlcmFsIGRpZmZlcmVudAogCSAgdGVjaG5pcXVlcy4gVGhpcyBpcyBtb3N0bHkgdXNlZnVsIGZvciBiYXR0ZXJ5IHBvd2VyZWQgbGFwdG9wcyB3aXRoCkBAIC0xNDc1LDggKzE1NDksNyBAQAogbWVudSAiQnVzIG9wdGlvbnMgKFBDSSBldGMuKSIKIAogY29uZmlnIFBDSQotCWJvb2wgIlBDSSBzdXBwb3J0IiBpZiAhWDg2X1ZJU1dTICYmICFYODZfVlNNUAotCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCisJYm9vbCAiUENJIHN1cHBvcnQiCiAJZGVmYXVsdCB5CiAJc2VsZWN0IEFSQ0hfU1VQUE9SVFNfTVNJIGlmIChYODZfTE9DQUxfQVBJQyAmJiBYODZfSU9fQVBJQykKIAloZWxwCkBAIC0xNDg3LDcgKzE1NjAsNyBAQAogCiBjaG9pY2UKIAlwcm9tcHQgIlBDSSBhY2Nlc3MgbW9kZSIKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBQQ0kgJiYgIVg4Nl9WSVNXUworCWRlcGVuZHMgb24gWDg2XzMyICYmIFBDSQogCWRlZmF1bHQgUENJX0dPQU5ZCiAJLS0taGVscC0tLQogCSAgT24gUENJIHN5c3RlbXMsIHRoZSBCSU9TIGNhbiBiZSB1c2VkIHRvIGRldGVjdCB0aGUgUENJIGRldmljZXMgYW5kCkBAIC0xNTI0LDEyICsxNTk3LDEyIEBACiAKIGNvbmZpZyBQQ0lfQklPUwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhWDg2X1ZJU1dTICYmIFBDSSAmJiAoUENJX0dPQklPUyB8fCBQQ0lfR09BTlkpCisJZGVwZW5kcyBvbiBYODZfMzIgJiYgUENJICYmIChQQ0lfR09CSU9TIHx8IFBDSV9HT0FOWSkKIAogIyB4ODYtNjQgZG9lc24ndCBzdXBwb3J0IFBDSSBCSU9TIGFjY2VzcyBmcm9tIGxvbmcgbW9kZSBzbyBhbHdheXMgZ28gZGlyZWN0LgogY29uZmlnIFBDSV9ESVJFQ1QKIAlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPRElSRUNUIHx8IFBDSV9HT0FOWSB8fCBQQ0lfR09PTFBDKSB8fCBYODZfVklTV1MpCisJZGVwZW5kcyBvbiBQQ0kgJiYgKFg4Nl82NCB8fCAoUENJX0dPRElSRUNUIHx8IFBDSV9HT0FOWSB8fCBQQ0lfR09PTFBDKSkKIAogY29uZmlnIFBDSV9NTUNPTkZJRwogCWRlZl9ib29sIHkKQEAgLTE1ODksNyArMTY2Miw3IEBACiAKIGNvbmZpZyBJU0EKIAlib29sICJJU0Egc3VwcG9ydCIKLQlkZXBlbmRzIG9uICEoWDg2X1ZPWUFHRVIgfHwgWDg2X1ZJU1dTKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJaGVscAogCSAgRmluZCBvdXQgd2hldGhlciB5b3UgaGF2ZSBJU0Egc2xvdHMgb24geW91ciBtb3RoZXJib2FyZC4gIElTQSBpcyB0aGUKIAkgIG5hbWUgb2YgYSBidXMgc3lzdGVtLCBpLmUuIHRoZSB3YXkgdGhlIENQVSB0YWxrcyB0byB0aGUgb3RoZXIgc3R1ZmYKQEAgLTE2MTYsNyArMTY4OSw3IEBACiBzb3VyY2UgImRyaXZlcnMvZWlzYS9LY29uZmlnIgogCiBjb25maWcgTUNBCi0JYm9vbCAiTUNBIHN1cHBvcnQiIGlmICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWJvb2wgIk1DQSBzdXBwb3J0IiBpZiAhWDg2X1ZPWUFHRVIKIAlkZWZhdWx0IHkgaWYgWDg2X1ZPWUFHRVIKIAloZWxwCiAJICBNaWNyb0NoYW5uZWwgQXJjaGl0ZWN0dXJlIGlzIGZvdW5kIGluIHNvbWUgSUJNIFBTLzIgbWFjaGluZXMgYW5kCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnLmNwdSBiL2FyY2gveDg2L0tjb25maWcuY3B1CmluZGV4IDJhZDYzMDEuLmFiZmYxYjggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L0tjb25maWcuY3B1CisrKyBiL2FyY2gveDg2L0tjb25maWcuY3B1CkBAIC0zNDQsNyArMzQ0LDcgQEAKIAogY29uZmlnIFg4Nl9XUF9XT1JLU19PSwogCWRlZl9ib29sIHkKLQlkZXBlbmRzIG9uIFg4Nl8zMiAmJiAhTTM4NgorCWRlcGVuZHMgb24gIU0zODYKIAogY29uZmlnIFg4Nl9JTlZMUEcKIAlkZWZfYm9vbCB5CkBAIC0zOTksNiArMzk5LDEwIEBACiAJZGVmX2Jvb2wgeQogCWRlcGVuZHMgb24gKChNV0lOQ0hJUDNEIHx8IE1XSU5DSElQMiB8fCBNQ1JVU09FIHx8IE1FRkZJQ0VPTiB8fCBNQ1lSSVhJSUkgfHwgTUs3IHx8IE1LNiB8fCBNUEVOVElVTTQgfHwgTVBFTlRJVU1NIHx8IE1QRU5USVVNSUlJIHx8IE1QRU5USVVNSUkgfHwgTTY4NiB8fCBNNTg2TU1YIHx8IE01ODZUU0MgfHwgTUs4IHx8IE1WSUFDM18yIHx8IE1WSUFDNyB8fCBNR0VPREVHWDEgfHwgTUdFT0RFX0xYIHx8IE1DT1JFMikgJiYgIVg4Nl9OVU1BUSkgfHwgWDg2XzY0CiAKK2NvbmZpZyBYODZfQ01QWENIRzY0CisJZGVmX2Jvb2wgeQorCWRlcGVuZHMgb24gWDg2X1BBRSB8fCBYODZfNjQKKwogIyB0aGlzIHNob3VsZCBiZSBzZXQgZm9yIGFsbCAtbWFyY2g9Li4gb3B0aW9ucyB3aGVyZSB0aGUgY29tcGlsZXIKICMgZ2VuZXJhdGVzIGNtb3YuCiBjb25maWcgWDg2X0NNT1YKZGlmZiAtLWdpdCBhL2FyY2gveDg2L0tjb25maWcuZGVidWcgYi9hcmNoL3g4Ni9LY29uZmlnLmRlYnVnCmluZGV4IDE4MzYzMzcuLmFlMzZiZmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L0tjb25maWcuZGVidWcKKysrIGIvYXJjaC94ODYvS2NvbmZpZy5kZWJ1ZwpAQCAtMjAsNiArMjAsMTQgQEAKIAogCSAgSWYgaW4gZG91YnQsIHNheSBZLgogCitjb25maWcgWDg2X1ZFUkJPU0VfQk9PVFVQCisJYm9vbCAiRW5hYmxlIHZlcmJvc2UgeDg2IGJvb3R1cCBpbmZvIG1lc3NhZ2VzIgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIEVuYWJsZXMgdGhlIGluZm9ybWF0aW9uYWwgb3V0cHV0IGZyb20gdGhlIGRlY29tcHJlc3Npb24gc3RhZ2UKKwkgIChlLmcuIGJ6SW1hZ2UpIG9mIHRoZSBib290LiBJZiB5b3UgZGlzYWJsZSB0aGlzIHlvdSB3aWxsIHN0aWxsCisJICBzZWUgZXJyb3JzLiBEaXNhYmxlIHRoaXMgaWYgeW91IHdhbnQgc2lsZW50IGJvb3R1cC4KKwogY29uZmlnIEVBUkxZX1BSSU5USwogCWJvb2wgIkVhcmx5IHByaW50ayIgaWYgRU1CRURERUQKIAlkZWZhdWx0IHkKQEAgLTYwLDcgKzY4LDcgQEAKIGNvbmZpZyBERUJVR19QRVJfQ1BVX01BUFMKIAlib29sICJEZWJ1ZyBhY2Nlc3MgdG8gcGVyX2NwdSBtYXBzIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCi0JZGVwZW5kcyBvbiBYODZfNjRfU01QCisJZGVwZW5kcyBvbiBYODZfU01QCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgU2F5IFkgdG8gdmVyaWZ5IHRoYXQgdGhlIHBlcl9jcHUgbWFwIGJlaW5nIGFjY2Vzc2VkIGhhcwpAQCAtMTI5LDE1ICsxMzcsNiBAQAogCSAgb24gdGhlIFZNIHN1YnN5c3RlbSBmb3IgaGlnaGVyIG9yZGVyIGFsbG9jYXRpb25zLiBUaGlzIG9wdGlvbgogCSAgd2lsbCBhbHNvIHVzZSBJUlEgc3RhY2tzIHRvIGNvbXBlbnNhdGUgZm9yIHRoZSByZWR1Y2VkIHN0YWNrc3BhY2UuCiAKLWNvbmZpZyBYODZfRklORF9TTVBfQ09ORklHCi0JZGVmX2Jvb2wgeQotCWRlcGVuZHMgb24gWDg2X0xPQ0FMX0FQSUMgfHwgWDg2X1ZPWUFHRVIKLQlkZXBlbmRzIG9uIFg4Nl8zMgotCi1jb25maWcgWDg2X01QUEFSU0UKLQlkZWZfYm9vbCB5Ci0JZGVwZW5kcyBvbiAoWDg2XzMyICYmIChYODZfTE9DQUxfQVBJQyAmJiAhWDg2X1ZJU1dTKSkgfHwgWDg2XzY0Ci0KIGNvbmZpZyBET1VCTEVGQVVMVAogCWRlZmF1bHQgeQogCWJvb2wgIkVuYWJsZSBkb3VibGVmYXVsdCBleGNlcHRpb24gaGFuZGxlciIgaWYgRU1CRURERUQKQEAgLTE3Miw2ICsxNzEsMzMgQEAKIAkgIEFkZCBhIHNpbXBsZSBsZWFrIHRyYWNlciB0byB0aGUgSU9NTVUgY29kZS4gVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3UKIAkgIGFyZSBkZWJ1Z2dpbmcgYSBidWdneSBkZXZpY2UgZHJpdmVyIHRoYXQgbGVha3MgSU9NTVUgbWFwcGluZ3MuCiAKK2NvbmZpZyBNTUlPVFJBQ0VfSE9PS1MKKwlib29sCisKK2NvbmZpZyBNTUlPVFJBQ0UKKwlib29sICJNZW1vcnkgbWFwcGVkIElPIHRyYWNpbmciCisJZGVwZW5kcyBvbiBERUJVR19LRVJORUwgJiYgUENJCisJc2VsZWN0IFRSQUNJTkcKKwlzZWxlY3QgTU1JT1RSQUNFX0hPT0tTCisJaGVscAorCSAgTW1pb3RyYWNlIHRyYWNlcyBNZW1vcnkgTWFwcGVkIEkvTyBhY2Nlc3MgYW5kIGlzIG1lYW50IGZvcgorCSAgZGVidWdnaW5nIGFuZCByZXZlcnNlIGVuZ2luZWVyaW5nLiBJdCBpcyBjYWxsZWQgZnJvbSB0aGUgaW9yZW1hcAorCSAgaW1wbGVtZW50YXRpb24gYW5kIHdvcmtzIHZpYSBwYWdlIGZhdWx0cy4gVHJhY2luZyBpcyBkaXNhYmxlZCBieQorCSAgZGVmYXVsdCBhbmQgY2FuIGJlIGVuYWJsZWQgYXQgcnVuLXRpbWUuCisKKwkgIFNlZSBEb2N1bWVudGF0aW9uL3RyYWNlcnMvbW1pb3RyYWNlLnR4dC4KKwkgIElmIHlvdSBhcmUgbm90IGhlbHBpbmcgdG8gZGV2ZWxvcCBkcml2ZXJzLCBzYXkgTi4KKworY29uZmlnIE1NSU9UUkFDRV9URVNUCisJdHJpc3RhdGUgIlRlc3QgbW9kdWxlIGZvciBtbWlvdHJhY2UiCisJZGVwZW5kcyBvbiBNTUlPVFJBQ0UgJiYgbQorCWhlbHAKKwkgIFRoaXMgaXMgYSBkdW1iIG1vZHVsZSBmb3IgdGVzdGluZyBtbWlvdHJhY2UuIEl0IGlzIHZlcnkgZGFuZ2Vyb3VzCisJICBhcyBpdCB3aWxsIHdyaXRlIGdhcmJhZ2UgdG8gSU8gbWVtb3J5IHN0YXJ0aW5nIGF0IGEgZ2l2ZW4gYWRkcmVzcy4KKwkgIEhvd2V2ZXIsIGl0IHNob3VsZCBiZSBzYWZlIHRvIHVzZSBvbiBlLmcuIHVudXNlZCBwb3J0aW9uIG9mIFZSQU0uCisKKwkgIFNheSBOLCB1bmxlc3MgeW91IGFic29sdXRlbHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuCisKICMKICMgSU8gZGVsYXkgdHlwZXM6CiAjCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9NYWtlZmlsZSBiL2FyY2gveDg2L01ha2VmaWxlCmluZGV4IDNjZmYzYzguLjkxOWNlMjEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L01ha2VmaWxlCisrKyBiL2FyY2gveDg2L01ha2VmaWxlCkBAIC0xMTMsMzMgKzExMywxMSBAQAogbWZsYWdzLSQoQ09ORklHX1g4Nl9WT1lBR0VSKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIKIG1jb3JlLSQoQ09ORklHX1g4Nl9WT1lBR0VSKQk6PSBhcmNoL3g4Ni9tYWNoLXZveWFnZXIvCiAKLSMgVklTV1Mgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X1ZJU1dTKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzCi1tY29yZS0kKENPTkZJR19YODZfVklTV1MpCTo9IGFyY2gveDg2L21hY2gtdmlzd3MvCi0KLSMgTlVNQVEgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X05VTUFRKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxCi1tY29yZS0kKENPTkZJR19YODZfTlVNQVEpCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQotIyBCSUdTTVAgc3ViYXJjaCBzdXBwb3J0Ci1tZmxhZ3MtJChDT05GSUdfWDg2X0JJR1NNUCkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAKLW1jb3JlLSQoQ09ORklHX1g4Nl9CSUdTTVApCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KLQotI1N1bW1pdCBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfU1VNTUlUKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLXN1bW1pdAotbWNvcmUtJChDT05GSUdfWDg2X1NVTU1JVCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwotCiAjIGdlbmVyaWMgc3ViYXJjaGl0ZWN0dXJlCiBtZmxhZ3MtJChDT05GSUdfWDg2X0dFTkVSSUNBUkNIKTo9IC1JaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYwogZmNvcmUtJChDT05GSUdfWDg2X0dFTkVSSUNBUkNIKQkrPSBhcmNoL3g4Ni9tYWNoLWdlbmVyaWMvCiBtY29yZS0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpCTo9IGFyY2gveDg2L21hY2gtZGVmYXVsdC8KIAotCi0jIEVTNzAwMCBzdWJhcmNoIHN1cHBvcnQKLW1mbGFncy0kKENPTkZJR19YODZfRVM3MDAwKQk6PSAtSWluY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMAotZmNvcmUtJChDT05GSUdfWDg2X0VTNzAwMCkJOj0gYXJjaC94ODYvbWFjaC1lczcwMDAvCi1tY29yZS0kKENPTkZJR19YODZfRVM3MDAwKQk6PSBhcmNoL3g4Ni9tYWNoLWRlZmF1bHQvCi0KICMgUkRDIFItMzIxeCBzdWJhcmNoIHN1cHBvcnQKIG1mbGFncy0kKENPTkZJR19YODZfUkRDMzIxWCkJOj0gLUlpbmNsdWRlL2FzbS14ODYvbWFjaC1yZGMzMjF4CiBtY29yZS0kKENPTkZJR19YODZfUkRDMzIxWCkJOj0gYXJjaC94ODYvbWFjaC1kZWZhdWx0LwpAQCAtMTYwLDYgKzEzOCw3IEBACiAKIGhlYWQteSA6PSBhcmNoL3g4Ni9rZXJuZWwvaGVhZF8kKEJJVFMpLm8KIGhlYWQteSArPSBhcmNoL3g4Ni9rZXJuZWwvaGVhZCQoQklUUykubworaGVhZC15ICs9IGFyY2gveDg2L2tlcm5lbC9oZWFkLm8KIGhlYWQteSArPSBhcmNoL3g4Ni9rZXJuZWwvaW5pdF90YXNrLm8KIAogbGlicy15ICArPSBhcmNoL3g4Ni9saWIvCkBAIC0yMTAsMTIgKzE4OSwxMiBAQAogCiAjIEtCVUlMRF9JTUFHRSBzcGVjaWZ5IHRhcmdldCBpbWFnZSBiZWluZyBidWlsdAogICAgICAgICAgICAgICAgICAgICBLQlVJTERfSU1BR0UgOj0gJChib290KS9iekltYWdlCi16SW1hZ2UgemxpbG8gemRpc2s6IEtCVUlMRF9JTUFHRSA6PSBhcmNoL3g4Ni9ib290L3pJbWFnZQorekltYWdlIHpsaWxvIHpkaXNrOiBLQlVJTERfSU1BR0UgOj0gJChib290KS96SW1hZ2UKIAogekltYWdlIGJ6SW1hZ2U6IHZtbGludXgKIAkkKFEpJChNQUtFKSAkKGJ1aWxkKT0kKGJvb3QpICQoS0JVSUxEX0lNQUdFKQogCSQoUSlta2RpciAtcCAkKG9ianRyZWUpL2FyY2gvJChVVFNfTUFDSElORSkvYm9vdAotCSQoUSlsbiAtZnNuIC4uLy4uL3g4Ni9ib290L2J6SW1hZ2UgJChvYmp0cmVlKS9hcmNoLyQoVVRTX01BQ0hJTkUpL2Jvb3QvYnpJbWFnZQorCSQoUSlsbiAtZnNuIC4uLy4uL3g4Ni9ib290L2J6SW1hZ2UgJChvYmp0cmVlKS9hcmNoLyQoVVRTX01BQ0hJTkUpL2Jvb3QvJEAKIAogY29tcHJlc3NlZDogekltYWdlCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvYTIwLmMgYi9hcmNoL3g4Ni9ib290L2EyMC5jCmluZGV4IGUwMWFhZmQuLjQwNjNkNjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvYTIwLmMKKysrIGIvYXJjaC94ODYvYm9vdC9hMjAuYwpAQCAtMSw3ICsxLDcgQEAKIC8qIC0qLSBsaW51eC1jIC0qLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICoKICAqCiAgKiAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiBMaW51cyBUb3J2YWxkcwotICogICBDb3B5cmlnaHQgMjAwNyByUGF0aCwgSW5jLiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKyAqICAgQ29weXJpZ2h0IDIwMDctMjAwOCByUGF0aCwgSW5jLiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKICAqCiAgKiAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBMaW51eCBrZXJuZWwsIGFuZCBpcyBtYWRlIGF2YWlsYWJsZSB1bmRlcgogICogICB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4KQEAgLTk1LDYgKzk1LDkgQEAKIAogCW91dGIoMHhkZiwgMHg2MCk7CS8qIEEyMCBvbiAqLwogCWVtcHR5XzgwNDIoKTsKKworCW91dGIoMHhmZiwgMHg2NCk7CS8qIE51bGwgY29tbWFuZCwgYnV0IFVIQ0kgd2FudHMgaXQgKi8KKwllbXB0eV84MDQyKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGVuYWJsZV9hMjBfZmFzdCh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9oZWFkXzY0LlMKaW5kZXggZDg4MTllZi4uMWQ1ZGZmNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL2hlYWRfNjQuUworKysgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvaGVhZF82NC5TCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vYm9vdC5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLWZsYWdzLmg+CiAjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CiAKIC5zZWN0aW9uICIudGV4dC5oZWFkIgpAQCAtMTA5LDcgKzExMCw3IEBACiAKIAkvKiBFbmFibGUgUEFFIG1vZGUgKi8KIAl4b3JsCSVlYXgsICVlYXgKLQlvcmwJJCgxIDw8IDUpLCAlZWF4CisJb3JsCSQoWDg2X0NSNF9QQUUpLCAlZWF4CiAJbW92bAklZWF4LCAlY3I0CiAKICAvKgpAQCAtMTcwLDcgKzE3MSw3IEBACiAJcHVzaGwJJWVheAogCiAJLyogRW50ZXIgcGFnZWQgcHJvdGVjdGVkIE1vZGUsIGFjdGl2YXRpbmcgTG9uZyBNb2RlICovCi0JbW92bAkkMHg4MDAwMDAwMSwgJWVheCAvKiBFbmFibGUgUGFnaW5nIGFuZCBQcm90ZWN0ZWQgbW9kZSAqLworCW1vdmwJJChYODZfQ1IwX1BHIHwgWDg2X0NSMF9QRSksICVlYXggLyogRW5hYmxlIFBhZ2luZyBhbmQgUHJvdGVjdGVkIG1vZGUgKi8KIAltb3ZsCSVlYXgsICVjcjAKIAogCS8qIEp1bXAgZnJvbSAzMmJpdCBjb21wYXRpYmlsaXR5IG1vZGUgaW50byA2NGJpdCBtb2RlLiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYyBiL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9taXNjLmMKaW5kZXggOTA0NTZjZS4uYmM1NTUzYiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL21pc2MuYworKysgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvbWlzYy5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KICNpbmNsdWRlIDxhc20vYm9vdC5oPgorI2luY2x1ZGUgPGFzbS9ib290cGFyYW0uaD4KIAogLyogV0FSTklORyEhCiAgKiBUaGlzIGNvZGUgaXMgY29tcGlsZWQgd2l0aCAtZlBJQyBhbmQgaXQgaXMgcmVsb2NhdGVkIGR5bmFtaWNhbGx5CkBAIC0xODcsMTMgKzE4OCw4IEBACiAvKgogICogVGhpcyBpcyBzZXQgdXAgYnkgdGhlIHNldHVwLXJvdXRpbmUgYXQgYm9vdC10aW1lCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBjaGFyICpyZWFsX21vZGU7IC8qIFBvaW50ZXIgdG8gcmVhbC1tb2RlIGRhdGEgKi8KLQotI2RlZmluZSBSTV9FWFRfTUVNX0sgICAoKih1bnNpZ25lZCBzaG9ydCAqKShyZWFsX21vZGUgKyAweDIpKQotI2lmbmRlZiBTVEFOREFSRF9NRU1PUllfQklPU19DQUxMCi0jZGVmaW5lIFJNX0FMVF9NRU1fSyAgICgqKHVuc2lnbmVkIGxvbmcgKikocmVhbF9tb2RlICsgMHgxZTApKQotI2VuZGlmCi0jZGVmaW5lIFJNX1NDUkVFTl9JTkZPICgqKHN0cnVjdCBzY3JlZW5faW5mbyAqKShyZWFsX21vZGUrMCkpCitzdGF0aWMgc3RydWN0IGJvb3RfcGFyYW1zICpyZWFsX21vZGU7CQkvKiBQb2ludGVyIHRvIHJlYWwtbW9kZSBkYXRhICovCitzdGF0aWMgaW50IHF1aWV0OwogCiBleHRlcm4gdW5zaWduZWQgY2hhciBpbnB1dF9kYXRhW107CiBleHRlcm4gaW50IGlucHV0X2xlbjsKQEAgLTIwNiw3ICsyMDIsOCBAQAogc3RhdGljIHZvaWQgKm1lbXNldCh2b2lkICpzLCBpbnQgYywgdW5zaWduZWQgbik7CiBzdGF0aWMgdm9pZCAqbWVtY3B5KHZvaWQgKmRlc3QsIGNvbnN0IHZvaWQgKnNyYywgdW5zaWduZWQgbik7CiAKLXN0YXRpYyB2b2lkIHB1dHN0cihjb25zdCBjaGFyICopOworc3RhdGljIHZvaWQgX19wdXRzdHIoaW50LCBjb25zdCBjaGFyICopOworI2RlZmluZSBwdXRzdHIoX194KSAgX19wdXRzdHIoMCwgX194KQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogI2RlZmluZSBtZW1wdHIgbG9uZwpAQCAtMjIxLDEwICsyMTgsNiBAQAogc3RhdGljIGludCB2aWRwb3J0Owogc3RhdGljIGludCBsaW5lcywgY29sczsKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEKLXZvaWQgKnhxdWFkX3BvcnRpbzsKLSNlbmRpZgotCiAjaW5jbHVkZSAiLi4vLi4vLi4vLi4vbGliL2luZmxhdGUuYyIKIAogc3RhdGljIHZvaWQgKm1hbGxvYyhpbnQgc2l6ZSkKQEAgLTI3MCwxOCArMjYzLDI0IEBACiAJCXZpZG1lbVtpXSA9ICcgJzsKIH0KIAotc3RhdGljIHZvaWQgcHV0c3RyKGNvbnN0IGNoYXIgKnMpCitzdGF0aWMgdm9pZCBfX3B1dHN0cihpbnQgZXJyb3IsIGNvbnN0IGNoYXIgKnMpCiB7CiAJaW50IHgsIHksIHBvczsKIAljaGFyIGM7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JaWYgKFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fbW9kZSA9PSAwICYmIGxpbmVzID09IDAgJiYgY29scyA9PSAwKQorI2lmbmRlZiBDT05GSUdfWDg2X1ZFUkJPU0VfQk9PVFVQCisJaWYgKCFlcnJvcikKIAkJcmV0dXJuOwogI2VuZGlmCiAKLQl4ID0gUk1fU0NSRUVOX0lORk8ub3JpZ194OwotCXkgPSBSTV9TQ1JFRU5fSU5GTy5vcmlnX3k7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fbW9kZSA9PSAwICYmCisJICAgIGxpbmVzID09IDAgJiYgY29scyA9PSAwKQorCQlyZXR1cm47CisjZW5kaWYKKworCXggPSByZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeDsKKwl5ID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3k7CiAKIAl3aGlsZSAoKGMgPSAqcysrKSAhPSAnXDAnKSB7CiAJCWlmIChjID09ICdcbicpIHsKQEAgLTMwMiw4ICszMDEsOCBAQAogCQl9CiAJfQogCi0JUk1fU0NSRUVOX0lORk8ub3JpZ194ID0geDsKLQlSTV9TQ1JFRU5fSU5GTy5vcmlnX3kgPSB5OworCXJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ194ID0geDsKKwlyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfeSA9IHk7CiAKIAlwb3MgPSAoeCArIGNvbHMgKiB5KSAqIDI7CS8qIFVwZGF0ZSBjdXJzb3IgcG9zaXRpb24gKi8KIAlvdXRiKDE0LCB2aWRwb3J0KTsKQEAgLTM2Niw5ICszNjUsOSBAQAogCiBzdGF0aWMgdm9pZCBlcnJvcihjaGFyICp4KQogewotCXB1dHN0cigiXG5cbiIpOwotCXB1dHN0cih4KTsKLQlwdXRzdHIoIlxuXG4gLS0gU3lzdGVtIGhhbHRlZCIpOworCV9fcHV0c3RyKDEsICJcblxuIik7CisJX19wdXRzdHIoMSwgeCk7CisJX19wdXRzdHIoMSwgIlxuXG4gLS0gU3lzdGVtIGhhbHRlZCIpOwogCiAJd2hpbGUgKDEpCiAJCWFzbSgiaGx0Iik7CkBAIC0zOTUsNyArMzk0LDggQEAKIAkJcmV0dXJuOwogCX0KIAotCXB1dHN0cigiUGFyc2luZyBFTEYuLi4gIik7CisJaWYgKCFxdWlldCkKKwkJcHV0c3RyKCJQYXJzaW5nIEVMRi4uLiAiKTsKIAogCXBoZHJzID0gbWFsbG9jKHNpemVvZigqcGhkcnMpICogZWhkci5lX3BobnVtKTsKIAlpZiAoIXBoZHJzKQpAQCAtNDMwLDcgKzQzMCwxMCBAQAogewogCXJlYWxfbW9kZSA9IHJtb2RlOwogCi0JaWYgKFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fbW9kZSA9PSA3KSB7CisJaWYgKHJlYWxfbW9kZS0+aGRyLmxvYWRmbGFncyAmIFFVSUVUX0ZMQUcpCisJCXF1aWV0ID0gMTsKKworCWlmIChyZWFsX21vZGUtPnNjcmVlbl9pbmZvLm9yaWdfdmlkZW9fbW9kZSA9PSA3KSB7CiAJCXZpZG1lbSA9IChjaGFyICopIDB4YjAwMDA7CiAJCXZpZHBvcnQgPSAweDNiNDsKIAl9IGVsc2UgewpAQCAtNDM4LDggKzQ0MSw4IEBACiAJCXZpZHBvcnQgPSAweDNkNDsKIAl9CiAKLQlsaW5lcyA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fbGluZXM7Ci0JY29scyA9IFJNX1NDUkVFTl9JTkZPLm9yaWdfdmlkZW9fY29sczsKKwlsaW5lcyA9IHJlYWxfbW9kZS0+c2NyZWVuX2luZm8ub3JpZ192aWRlb19saW5lczsKKwljb2xzID0gcmVhbF9tb2RlLT5zY3JlZW5faW5mby5vcmlnX3ZpZGVvX2NvbHM7CiAKIAl3aW5kb3cgPSBvdXRwdXQ7CQkvKiBPdXRwdXQgYnVmZmVyIChOb3JtYWxseSBhdCAxTSkgKi8KIAlmcmVlX21lbV9wdHIgICAgID0gaGVhcDsJLyogSGVhcCAqLwpAQCAtNDY1LDkgKzQ2OCwxMSBAQAogI2VuZGlmCiAKIAltYWtlY3JjKCk7Ci0JcHV0c3RyKCJcbkRlY29tcHJlc3NpbmcgTGludXguLi4gIik7CisJaWYgKCFxdWlldCkKKwkJcHV0c3RyKCJcbkRlY29tcHJlc3NpbmcgTGludXguLi4gIik7CiAJZ3VuemlwKCk7CiAJcGFyc2VfZWxmKG91dHB1dCk7Ci0JcHV0c3RyKCJkb25lLlxuQm9vdGluZyB0aGUga2VybmVsLlxuIik7CisJaWYgKCFxdWlldCkKKwkJcHV0c3RyKCJkb25lLlxuQm9vdGluZyB0aGUga2VybmVsLlxuIik7CiAJcmV0dXJuOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jIGIvYXJjaC94ODYvYm9vdC9jb21wcmVzc2VkL3JlbG9jcy5jCmluZGV4IGVkYWFkZWEuLmExMzEwYzUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvY29tcHJlc3NlZC9yZWxvY3MuYworKysgYi9hcmNoL3g4Ni9ib290L2NvbXByZXNzZWQvcmVsb2NzLmMKQEAgLTEwLDE2ICsxMCwyMCBAQAogI2RlZmluZSBVU0VfQlNECiAjaW5jbHVkZSA8ZW5kaWFuLmg+CiAKLSNkZWZpbmUgTUFYX1NIRFJTIDEwMAogI2RlZmluZSBBUlJBWV9TSVpFKHgpIChzaXplb2YoeCkgLyBzaXplb2YoKHgpWzBdKSkKIHN0YXRpYyBFbGYzMl9FaGRyIGVoZHI7Ci1zdGF0aWMgRWxmMzJfU2hkciBzaGRyW01BWF9TSERSU107Ci1zdGF0aWMgRWxmMzJfU3ltICAqc3ltdGFiW01BWF9TSERSU107Ci1zdGF0aWMgRWxmMzJfUmVsICAqcmVsdGFiW01BWF9TSERSU107Ci1zdGF0aWMgY2hhciAqc3RydGFiW01BWF9TSERSU107CiBzdGF0aWMgdW5zaWduZWQgbG9uZyByZWxvY19jb3VudCwgcmVsb2NfaWR4Owogc3RhdGljIHVuc2lnbmVkIGxvbmcgKnJlbG9jczsKIAorc3RydWN0IHNlY3Rpb24geworCUVsZjMyX1NoZHIgICAgIHNoZHI7CisJc3RydWN0IHNlY3Rpb24gKmxpbms7CisJRWxmMzJfU3ltICAgICAgKnN5bXRhYjsKKwlFbGYzMl9SZWwgICAgICAqcmVsdGFiOworCWNoYXIgICAgICAgICAgICpzdHJ0YWI7Cit9Oworc3RhdGljIHN0cnVjdCBzZWN0aW9uICpzZWNzOworCiAvKgogICogRm9sbG93aW5nIHN5bWJvbHMgaGF2ZSBiZWVuIGF1ZGl0ZWQuIFRoZXJlIHZhbHVlcyBhcmUgY29uc3RhbnQgYW5kIGRvCiAgKiBub3QgY2hhbmdlIGlmIGJ6SW1hZ2UgaXMgbG9hZGVkIGF0IGEgZGlmZmVyZW50IHBoeXNpY2FsIGFkZHJlc3MgdGhhbgpAQCAtMzUsNyArMzksNyBAQAogewogCWludCBpOwogCi0JZm9yKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzYWZlX2Fic19yZWxvY3MpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzYWZlX2Fic19yZWxvY3MpOyBpKyspIHsKIAkJaWYgKCFzdHJjbXAoc3ltX25hbWUsIHNhZmVfYWJzX3JlbG9jc1tpXSkpCiAJCQkvKiBNYXRjaCBmb3VuZCAqLwogCQkJcmV0dXJuIDE7CkBAIC0xMzcsMTAgKzE0MSwxMCBAQAogewogCWNvbnN0IGNoYXIgKnNlY19zdHJ0YWI7CiAJY29uc3QgY2hhciAqbmFtZTsKLQlzZWNfc3RydGFiID0gc3RydGFiW2VoZHIuZV9zaHN0cm5keF07CisJc2VjX3N0cnRhYiA9IHNlY3NbZWhkci5lX3Noc3RybmR4XS5zdHJ0YWI7CiAJbmFtZSA9ICI8bm9uYW1lPiI7CiAJaWYgKHNobmR4IDwgZWhkci5lX3NobnVtKSB7Ci0JCW5hbWUgPSBzZWNfc3RydGFiICsgc2hkcltzaG5keF0uc2hfbmFtZTsKKwkJbmFtZSA9IHNlY19zdHJ0YWIgKyBzZWNzW3NobmR4XS5zaGRyLnNoX25hbWU7CiAJfQogCWVsc2UgaWYgKHNobmR4ID09IFNITl9BQlMpIHsKIAkJbmFtZSA9ICJBQlNPTFVURSI7CkBAIC0xNTksNyArMTYzLDcgQEAKIAkJbmFtZSA9IHN5bV9zdHJ0YWIgKyBzeW0tPnN0X25hbWU7CiAJfQogCWVsc2UgewotCQluYW1lID0gc2VjX25hbWUoc2hkcltzeW0tPnN0X3NobmR4XS5zaF9uYW1lKTsKKwkJbmFtZSA9IHNlY19uYW1lKHNlY3Nbc3ltLT5zdF9zaG5keF0uc2hkci5zaF9uYW1lKTsKIAl9CiAJcmV0dXJuIG5hbWU7CiB9CkBAIC0yNDQsMjkgKzI0OCwzNCBAQAogc3RhdGljIHZvaWQgcmVhZF9zaGRycyhGSUxFICpmcCkKIHsKIAlpbnQgaTsKLQlpZiAoZWhkci5lX3NobnVtID4gTUFYX1NIRFJTKSB7Ci0JCWRpZSgiJWQgc2VjdGlvbiBoZWFkZXJzIHN1cHBvcnRlZDogJWRcbiIsCi0JCQllaGRyLmVfc2hudW0sIE1BWF9TSERSUyk7CisJRWxmMzJfU2hkciBzaGRyOworCisJc2VjcyA9IGNhbGxvYyhlaGRyLmVfc2hudW0sIHNpemVvZihzdHJ1Y3Qgc2VjdGlvbikpOworCWlmICghc2VjcykgeworCQlkaWUoIlVuYWJsZSB0byBhbGxvY2F0ZSAlZCBzZWN0aW9uIGhlYWRlcnNcbiIsCisJCSAgICBlaGRyLmVfc2hudW0pOwogCX0KIAlpZiAoZnNlZWsoZnAsIGVoZHIuZV9zaG9mZiwgU0VFS19TRVQpIDwgMCkgewogCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKIAkJCWVoZHIuZV9zaG9mZiwgc3RyZXJyb3IoZXJybm8pKTsKIAl9Ci0JaWYgKGZyZWFkKCZzaGRyLCBzaXplb2Yoc2hkclswXSksIGVoZHIuZV9zaG51bSwgZnApICE9IGVoZHIuZV9zaG51bSkgewotCQlkaWUoIkNhbm5vdCByZWFkIEVMRiBzZWN0aW9uIGhlYWRlcnM6ICVzXG4iLAotCQkJc3RyZXJyb3IoZXJybm8pKTsKLQl9Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJc2hkcltpXS5zaF9uYW1lICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9uYW1lKTsKLQkJc2hkcltpXS5zaF90eXBlICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF90eXBlKTsKLQkJc2hkcltpXS5zaF9mbGFncyAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9mbGFncyk7Ci0JCXNoZHJbaV0uc2hfYWRkciAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfYWRkcik7Ci0JCXNoZHJbaV0uc2hfb2Zmc2V0ICAgID0gZWxmMzJfdG9fY3B1KHNoZHJbaV0uc2hfb2Zmc2V0KTsKLQkJc2hkcltpXS5zaF9zaXplICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9zaXplKTsKLQkJc2hkcltpXS5zaF9saW5rICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9saW5rKTsKLQkJc2hkcltpXS5zaF9pbmZvICAgICAgPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9pbmZvKTsKLQkJc2hkcltpXS5zaF9hZGRyYWxpZ24gPSBlbGYzMl90b19jcHUoc2hkcltpXS5zaF9hZGRyYWxpZ24pOwotCQlzaGRyW2ldLnNoX2VudHNpemUgICA9IGVsZjMyX3RvX2NwdShzaGRyW2ldLnNoX2VudHNpemUpOworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChmcmVhZCgmc2hkciwgc2l6ZW9mIHNoZHIsIDEsIGZwKSAhPSAxKQorCQkJZGllKCJDYW5ub3QgcmVhZCBFTEYgc2VjdGlvbiBoZWFkZXJzICVkLyVkOiAlc1xuIiwKKwkJCSAgICBpLCBlaGRyLmVfc2hudW0sIHN0cmVycm9yKGVycm5vKSk7CisJCXNlYy0+c2hkci5zaF9uYW1lICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9uYW1lKTsKKwkJc2VjLT5zaGRyLnNoX3R5cGUgICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX3R5cGUpOworCQlzZWMtPnNoZHIuc2hfZmxhZ3MgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfZmxhZ3MpOworCQlzZWMtPnNoZHIuc2hfYWRkciAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfYWRkcik7CisJCXNlYy0+c2hkci5zaF9vZmZzZXQgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9vZmZzZXQpOworCQlzZWMtPnNoZHIuc2hfc2l6ZSAgICAgID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfc2l6ZSk7CisJCXNlYy0+c2hkci5zaF9saW5rICAgICAgPSBlbGYzMl90b19jcHUoc2hkci5zaF9saW5rKTsKKwkJc2VjLT5zaGRyLnNoX2luZm8gICAgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2luZm8pOworCQlzZWMtPnNoZHIuc2hfYWRkcmFsaWduID0gZWxmMzJfdG9fY3B1KHNoZHIuc2hfYWRkcmFsaWduKTsKKwkJc2VjLT5zaGRyLnNoX2VudHNpemUgICA9IGVsZjMyX3RvX2NwdShzaGRyLnNoX2VudHNpemUpOworCQlpZiAoc2VjLT5zaGRyLnNoX2xpbmsgPCBlaGRyLmVfc2hudW0pCisJCQlzZWMtPmxpbmsgPSAmc2Vjc1tzZWMtPnNoZHIuc2hfbGlua107CiAJfQogCiB9CkBAIC0yNzQsMjAgKzI4MywyMiBAQAogc3RhdGljIHZvaWQgcmVhZF9zdHJ0YWJzKEZJTEUgKmZwKQogewogCWludCBpOwotCWZvcihpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1NUUlRBQikgeworCWZvciAoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgeworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjID0gJnNlY3NbaV07CisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfU1RSVEFCKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzdHJ0YWJbaV0gPSBtYWxsb2Moc2hkcltpXS5zaF9zaXplKTsKLQkJaWYgKCFzdHJ0YWJbaV0pIHsKKwkJc2VjLT5zdHJ0YWIgPSBtYWxsb2Moc2VjLT5zaGRyLnNoX3NpemUpOworCQlpZiAoIXNlYy0+c3RydGFiKSB7CiAJCQlkaWUoIm1hbGxvYyBvZiAlZCBieXRlcyBmb3Igc3RydGFiIGZhaWxlZFxuIiwKLQkJCQlzaGRyW2ldLnNoX3NpemUpOworCQkJCXNlYy0+c2hkci5zaF9zaXplKTsKIAkJfQotCQlpZiAoZnNlZWsoZnAsIHNoZHJbaV0uc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CisJCWlmIChmc2VlayhmcCwgc2VjLT5zaGRyLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgewogCQkJZGllKCJTZWVrIHRvICVkIGZhaWxlZDogJXNcbiIsCi0JCQkJc2hkcltpXS5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CisJCQkJc2VjLT5zaGRyLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlpZiAoZnJlYWQoc3RydGFiW2ldLCAxLCBzaGRyW2ldLnNoX3NpemUsIGZwKSAhPSBzaGRyW2ldLnNoX3NpemUpIHsKKwkJaWYgKGZyZWFkKHNlYy0+c3RydGFiLCAxLCBzZWMtPnNoZHIuc2hfc2l6ZSwgZnApCisJCSAgICAhPSBzZWMtPnNoZHIuc2hfc2l6ZSkgewogCQkJZGllKCJDYW5ub3QgcmVhZCBzeW1ib2wgdGFibGU6ICVzXG4iLAogCQkJCXN0cmVycm9yKGVycm5vKSk7CiAJCX0KQEAgLTI5NywyOCArMzA4LDMxIEBACiBzdGF0aWMgdm9pZCByZWFkX3N5bXRhYnMoRklMRSAqZnApCiB7CiAJaW50IGksajsKLQlmb3IoaSA9IDA7IGkgPCBlaGRyLmVfc2hudW07IGkrKykgewotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9TWU1UQUIpIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgewogCQkJY29udGludWU7CiAJCX0KLQkJc3ltdGFiW2ldID0gbWFsbG9jKHNoZHJbaV0uc2hfc2l6ZSk7Ci0JCWlmICghc3ltdGFiW2ldKSB7CisJCXNlYy0+c3ltdGFiID0gbWFsbG9jKHNlYy0+c2hkci5zaF9zaXplKTsKKwkJaWYgKCFzZWMtPnN5bXRhYikgewogCQkJZGllKCJtYWxsb2Mgb2YgJWQgYnl0ZXMgZm9yIHN5bXRhYiBmYWlsZWRcbiIsCi0JCQkJc2hkcltpXS5zaF9zaXplKTsKKwkJCQlzZWMtPnNoZHIuc2hfc2l6ZSk7CiAJCX0KLQkJaWYgKGZzZWVrKGZwLCBzaGRyW2ldLnNoX29mZnNldCwgU0VFS19TRVQpIDwgMCkgeworCQlpZiAoZnNlZWsoZnAsIHNlYy0+c2hkci5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKIAkJCWRpZSgiU2VlayB0byAlZCBmYWlsZWQ6ICVzXG4iLAotCQkJCXNoZHJbaV0uc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOworCQkJCXNlYy0+c2hkci5zaF9vZmZzZXQsIHN0cmVycm9yKGVycm5vKSk7CiAJCX0KLQkJaWYgKGZyZWFkKHN5bXRhYltpXSwgMSwgc2hkcltpXS5zaF9zaXplLCBmcCkgIT0gc2hkcltpXS5zaF9zaXplKSB7CisJCWlmIChmcmVhZChzZWMtPnN5bXRhYiwgMSwgc2VjLT5zaGRyLnNoX3NpemUsIGZwKQorCQkgICAgIT0gc2VjLT5zaGRyLnNoX3NpemUpIHsKIAkJCWRpZSgiQ2Fubm90IHJlYWQgc3ltYm9sIHRhYmxlOiAlc1xuIiwKIAkJCQlzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWZvcihqID0gMDsgaiA8IHNoZHJbaV0uc2hfc2l6ZS9zaXplb2Yoc3ltdGFiW2ldWzBdKTsgaisrKSB7Ci0JCQlzeW10YWJbaV1bal0uc3RfbmFtZSAgPSBlbGYzMl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X25hbWUpOwotCQkJc3ltdGFiW2ldW2pdLnN0X3ZhbHVlID0gZWxmMzJfdG9fY3B1KHN5bXRhYltpXVtqXS5zdF92YWx1ZSk7Ci0JCQlzeW10YWJbaV1bal0uc3Rfc2l6ZSAgPSBlbGYzMl90b19jcHUoc3ltdGFiW2ldW2pdLnN0X3NpemUpOwotCQkJc3ltdGFiW2ldW2pdLnN0X3NobmR4ID0gZWxmMTZfdG9fY3B1KHN5bXRhYltpXVtqXS5zdF9zaG5keCk7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfU3ltKTsgaisrKSB7CisJCQlFbGYzMl9TeW0gKnN5bSA9ICZzZWMtPnN5bXRhYltqXTsKKwkJCXN5bS0+c3RfbmFtZSAgPSBlbGYzMl90b19jcHUoc3ltLT5zdF9uYW1lKTsKKwkJCXN5bS0+c3RfdmFsdWUgPSBlbGYzMl90b19jcHUoc3ltLT5zdF92YWx1ZSk7CisJCQlzeW0tPnN0X3NpemUgID0gZWxmMzJfdG9fY3B1KHN5bS0+c3Rfc2l6ZSk7CisJCQlzeW0tPnN0X3NobmR4ID0gZWxmMTZfdG9fY3B1KHN5bS0+c3Rfc2huZHgpOwogCQl9CiAJfQogfQpAQCAtMzI3LDI2ICszNDEsMjkgQEAKIHN0YXRpYyB2b2lkIHJlYWRfcmVsb2NzKEZJTEUgKmZwKQogewogCWludCBpLGo7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfUkVMKSB7CisJZm9yIChpID0gMDsgaSA8IGVoZHIuZV9zaG51bTsgaSsrKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9SRUwpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXJlbHRhYltpXSA9IG1hbGxvYyhzaGRyW2ldLnNoX3NpemUpOwotCQlpZiAoIXJlbHRhYltpXSkgeworCQlzZWMtPnJlbHRhYiA9IG1hbGxvYyhzZWMtPnNoZHIuc2hfc2l6ZSk7CisJCWlmICghc2VjLT5yZWx0YWIpIHsKIAkJCWRpZSgibWFsbG9jIG9mICVkIGJ5dGVzIGZvciByZWxvY3MgZmFpbGVkXG4iLAotCQkJCXNoZHJbaV0uc2hfc2l6ZSk7CisJCQkJc2VjLT5zaGRyLnNoX3NpemUpOwogCQl9Ci0JCWlmIChmc2VlayhmcCwgc2hkcltpXS5zaF9vZmZzZXQsIFNFRUtfU0VUKSA8IDApIHsKKwkJaWYgKGZzZWVrKGZwLCBzZWMtPnNoZHIuc2hfb2Zmc2V0LCBTRUVLX1NFVCkgPCAwKSB7CiAJCQlkaWUoIlNlZWsgdG8gJWQgZmFpbGVkOiAlc1xuIiwKLQkJCQlzaGRyW2ldLnNoX29mZnNldCwgc3RyZXJyb3IoZXJybm8pKTsKKwkJCQlzZWMtPnNoZHIuc2hfb2Zmc2V0LCBzdHJlcnJvcihlcnJubykpOwogCQl9Ci0JCWlmIChmcmVhZChyZWx0YWJbaV0sIDEsIHNoZHJbaV0uc2hfc2l6ZSwgZnApICE9IHNoZHJbaV0uc2hfc2l6ZSkgeworCQlpZiAoZnJlYWQoc2VjLT5yZWx0YWIsIDEsIHNlYy0+c2hkci5zaF9zaXplLCBmcCkKKwkJICAgICE9IHNlYy0+c2hkci5zaF9zaXplKSB7CiAJCQlkaWUoIkNhbm5vdCByZWFkIHN5bWJvbCB0YWJsZTogJXNcbiIsCiAJCQkJc3RyZXJyb3IoZXJybm8pKTsKIAkJfQotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHJlbHRhYlswXVswXSk7IGorKykgewotCQkJcmVsdGFiW2ldW2pdLnJfb2Zmc2V0ID0gZWxmMzJfdG9fY3B1KHJlbHRhYltpXVtqXS5yX29mZnNldCk7Ci0JCQlyZWx0YWJbaV1bal0ucl9pbmZvICAgPSBlbGYzMl90b19jcHUocmVsdGFiW2ldW2pdLnJfaW5mbyk7CisJCWZvciAoaiA9IDA7IGogPCBzZWMtPnNoZHIuc2hfc2l6ZS9zaXplb2YoRWxmMzJfUmVsKTsgaisrKSB7CisJCQlFbGYzMl9SZWwgKnJlbCA9ICZzZWMtPnJlbHRhYltqXTsKKwkJCXJlbC0+cl9vZmZzZXQgPSBlbGYzMl90b19jcHUocmVsLT5yX29mZnNldCk7CisJCQlyZWwtPnJfaW5mbyAgID0gZWxmMzJfdG9fY3B1KHJlbC0+cl9pbmZvKTsKIAkJfQogCX0KIH0KQEAgLTM1NywxOSArMzc0LDIxIEBACiAJaW50IGk7CiAJcHJpbnRmKCJBYnNvbHV0ZSBzeW1ib2xzXG4iKTsKIAlwcmludGYoIiBOdW06ICAgIFZhbHVlIFNpemUgIFR5cGUgICAgICAgQmluZCAgICAgICAgVmlzaWJpbGl0eSAgTmFtZVxuIik7Ci0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOwogCQljaGFyICpzeW1fc3RydGFiOwogCQlFbGYzMl9TeW0gKnNoX3N5bXRhYjsKIAkJaW50IGo7Ci0JCWlmIChzaGRyW2ldLnNoX3R5cGUgIT0gU0hUX1NZTVRBQikgeworCisJCWlmIChzZWMtPnNoZHIuc2hfdHlwZSAhPSBTSFRfU1lNVEFCKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzaF9zeW10YWIgPSBzeW10YWJbaV07Ci0JCXN5bV9zdHJ0YWIgPSBzdHJ0YWJbc2hkcltpXS5zaF9saW5rXTsKLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihzeW10YWJbMF1bMF0pOyBqKyspIHsKKwkJc2hfc3ltdGFiID0gc2VjLT5zeW10YWI7CisJCXN5bV9zdHJ0YWIgPSBzZWMtPmxpbmstPnN0cnRhYjsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9TeW0pOyBqKyspIHsKIAkJCUVsZjMyX1N5bSAqc3ltOwogCQkJY29uc3QgY2hhciAqbmFtZTsKLQkJCXN5bSA9ICZzeW10YWJbaV1bal07CisJCQlzeW0gPSAmc2VjLT5zeW10YWJbal07CiAJCQluYW1lID0gc3ltX25hbWUoc3ltX3N0cnRhYiwgc3ltKTsKIAkJCWlmIChzeW0tPnN0X3NobmR4ICE9IFNITl9BQlMpIHsKIAkJCQljb250aW51ZTsKQEAgLTM4OSwyNiArNDA4LDI3IEBACiB7CiAJaW50IGksIHByaW50ZWQgPSAwOwogCi0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwkJc3RydWN0IHNlY3Rpb24gKnNlYyA9ICZzZWNzW2ldOworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjX2FwcGxpZXMsICpzZWNfc3ltdGFiOwogCQljaGFyICpzeW1fc3RydGFiOwogCQlFbGYzMl9TeW0gKnNoX3N5bXRhYjsKLQkJdW5zaWduZWQgc2VjX2FwcGxpZXMsIHNlY19zeW10YWI7CiAJCWludCBqOwotCQlpZiAoc2hkcltpXS5zaF90eXBlICE9IFNIVF9SRUwpIHsKKwkJaWYgKHNlYy0+c2hkci5zaF90eXBlICE9IFNIVF9SRUwpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNlY19zeW10YWIgID0gc2hkcltpXS5zaF9saW5rOwotCQlzZWNfYXBwbGllcyA9IHNoZHJbaV0uc2hfaW5mbzsKLQkJaWYgKCEoc2hkcltzZWNfYXBwbGllc10uc2hfZmxhZ3MgJiBTSEZfQUxMT0MpKSB7CisJCXNlY19zeW10YWIgID0gc2VjLT5saW5rOworCQlzZWNfYXBwbGllcyA9ICZzZWNzW3NlYy0+c2hkci5zaF9pbmZvXTsKKwkJaWYgKCEoc2VjX2FwcGxpZXMtPnNoZHIuc2hfZmxhZ3MgJiBTSEZfQUxMT0MpKSB7CiAJCQljb250aW51ZTsKIAkJfQotCQlzaF9zeW10YWIgPSBzeW10YWJbc2VjX3N5bXRhYl07Ci0JCXN5bV9zdHJ0YWIgPSBzdHJ0YWJbc2hkcltzZWNfc3ltdGFiXS5zaF9saW5rXTsKLQkJZm9yKGogPSAwOyBqIDwgc2hkcltpXS5zaF9zaXplL3NpemVvZihyZWx0YWJbMF1bMF0pOyBqKyspIHsKKwkJc2hfc3ltdGFiICA9IHNlY19zeW10YWItPnN5bXRhYjsKKwkJc3ltX3N0cnRhYiA9IHNlY19zeW10YWItPmxpbmstPnN0cnRhYjsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9SZWwpOyBqKyspIHsKIAkJCUVsZjMyX1JlbCAqcmVsOwogCQkJRWxmMzJfU3ltICpzeW07CiAJCQljb25zdCBjaGFyICpuYW1lOwotCQkJcmVsID0gJnJlbHRhYltpXVtqXTsKKwkJCXJlbCA9ICZzZWMtPnJlbHRhYltqXTsKIAkJCXN5bSA9ICZzaF9zeW10YWJbRUxGMzJfUl9TWU0ocmVsLT5yX2luZm8pXTsKIAkJCW5hbWUgPSBzeW1fbmFtZShzeW1fc3RydGFiLCBzeW0pOwogCQkJaWYgKHN5bS0+c3Rfc2huZHggIT0gU0hOX0FCUykgewpAQCAtNDU2LDI2ICs0NzYsMjggQEAKIHsKIAlpbnQgaTsKIAkvKiBXYWxrIHRocm91Z2ggdGhlIHJlbG9jYXRpb25zICovCi0JZm9yKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgZWhkci5lX3NobnVtOyBpKyspIHsKIAkJY2hhciAqc3ltX3N0cnRhYjsKIAkJRWxmMzJfU3ltICpzaF9zeW10YWI7Ci0JCXVuc2lnbmVkIHNlY19hcHBsaWVzLCBzZWNfc3ltdGFiOworCQlzdHJ1Y3Qgc2VjdGlvbiAqc2VjX2FwcGxpZXMsICpzZWNfc3ltdGFiOwogCQlpbnQgajsKLQkJaWYgKHNoZHJbaV0uc2hfdHlwZSAhPSBTSFRfUkVMKSB7CisJCXN0cnVjdCBzZWN0aW9uICpzZWMgPSAmc2Vjc1tpXTsKKworCQlpZiAoc2VjLT5zaGRyLnNoX3R5cGUgIT0gU0hUX1JFTCkgewogCQkJY29udGludWU7CiAJCX0KLQkJc2VjX3N5bXRhYiAgPSBzaGRyW2ldLnNoX2xpbms7Ci0JCXNlY19hcHBsaWVzID0gc2hkcltpXS5zaF9pbmZvOwotCQlpZiAoIShzaGRyW3NlY19hcHBsaWVzXS5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKKwkJc2VjX3N5bXRhYiAgPSBzZWMtPmxpbms7CisJCXNlY19hcHBsaWVzID0gJnNlY3Nbc2VjLT5zaGRyLnNoX2luZm9dOworCQlpZiAoIShzZWNfYXBwbGllcy0+c2hkci5zaF9mbGFncyAmIFNIRl9BTExPQykpIHsKIAkJCWNvbnRpbnVlOwogCQl9Ci0JCXNoX3N5bXRhYiA9IHN5bXRhYltzZWNfc3ltdGFiXTsKLQkJc3ltX3N0cnRhYiA9IHN0cnRhYltzaGRyW3NlY19zeW10YWJdLnNoX2xpbmtdOwotCQlmb3IoaiA9IDA7IGogPCBzaGRyW2ldLnNoX3NpemUvc2l6ZW9mKHJlbHRhYlswXVswXSk7IGorKykgeworCQlzaF9zeW10YWIgPSBzZWNfc3ltdGFiLT5zeW10YWI7CisJCXN5bV9zdHJ0YWIgPSBzZWMtPmxpbmstPnN0cnRhYjsKKwkJZm9yIChqID0gMDsgaiA8IHNlYy0+c2hkci5zaF9zaXplL3NpemVvZihFbGYzMl9SZWwpOyBqKyspIHsKIAkJCUVsZjMyX1JlbCAqcmVsOwogCQkJRWxmMzJfU3ltICpzeW07CiAJCQl1bnNpZ25lZCByX3R5cGU7Ci0JCQlyZWwgPSAmcmVsdGFiW2ldW2pdOworCQkJcmVsID0gJnNlYy0+cmVsdGFiW2pdOwogCQkJc3ltID0gJnNoX3N5bXRhYltFTEYzMl9SX1NZTShyZWwtPnJfaW5mbyldOwogCQkJcl90eXBlID0gRUxGMzJfUl9UWVBFKHJlbC0+cl9pbmZvKTsKIAkJCS8qIERvbid0IHZpc2l0IHJlbG9jYXRpb25zIHRvIGFic29sdXRlIHN5bWJvbHMgKi8KQEAgLTUzOSw3ICs1NjEsNyBAQAogCQkgKi8KIAkJcHJpbnRmKCIuc2VjdGlvbiBcIi5kYXRhLnJlbG9jXCIsXCJhXCJcbiIpOwogCQlwcmludGYoIi5iYWxpZ24gNFxuIik7Ci0JCWZvcihpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKIAkJCXByaW50ZigiXHQgLmxvbmcgMHglMDhseFxuIiwgcmVsb2NzW2ldKTsKIAkJfQogCQlwcmludGYoIlxuIik7CkBAIC01NTAsNyArNTcyLDcgQEAKIAkJLyogUHJpbnQgYSBzdG9wICovCiAJCXByaW50ZigiJWMlYyVjJWMiLCBidWZbMF0sIGJ1ZlsxXSwgYnVmWzJdLCBidWZbM10pOwogCQkvKiBOb3cgcHJpbnQgZWFjaCByZWxvY2F0aW9uICovCi0JCWZvcihpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IHJlbG9jX2NvdW50OyBpKyspIHsKIAkJCWJ1ZlswXSA9IChyZWxvY3NbaV0gPj4gIDApICYgMHhmZjsKIAkJCWJ1ZlsxXSA9IChyZWxvY3NbaV0gPj4gIDgpICYgMHhmZjsKIAkJCWJ1ZlsyXSA9IChyZWxvY3NbaV0gPj4gMTYpICYgMHhmZjsKQEAgLTU3Nyw3ICs1OTksNyBAQAogCXNob3dfYWJzb2x1dGVfcmVsb2NzID0gMDsKIAlhc190ZXh0ID0gMDsKIAlmbmFtZSA9IE5VTEw7Ci0JZm9yKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CisJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewogCQljaGFyICphcmcgPSBhcmd2W2ldOwogCQlpZiAoKmFyZyA9PSAnLScpIHsKIAkJCWlmIChzdHJjbXAoYXJndlsxXSwgIi0tYWJzLXN5bXMiKSA9PSAwKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L2NwdS5jIGIvYXJjaC94ODYvYm9vdC9jcHUuYwppbmRleCAwMGUxOWVkLi45MmQ2ZmQ3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2NwdS5jCisrKyBiL2FyY2gveDg2L2Jvb3QvY3B1LmMKQEAgLTI4LDYgKzI4LDggQEAKIAlpZiAobGV2ZWwgPT0gNjQpIHsKIAkJcmV0dXJuICJ4ODYtNjQiOwogCX0gZWxzZSB7CisJCWlmIChsZXZlbCA9PSAxNSkKKwkJCWxldmVsID0gNjsKIAkJc3ByaW50ZihidWYsICJpJWQ4NiIsIGxldmVsKTsKIAkJcmV0dXJuIGJ1ZjsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib290L21haW4uYyBiL2FyY2gveDg2L2Jvb3QvbWFpbi5jCmluZGV4IDc3NTY5YTQuLjIyOTYxNjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvbWFpbi5jCisrKyBiL2FyY2gveDg2L2Jvb3QvbWFpbi5jCkBAIC0xNjUsNiArMTY1LDEwIEBACiAJLyogU2V0IHRoZSB2aWRlbyBtb2RlICovCiAJc2V0X3ZpZGVvKCk7CiAKKwkvKiBQYXJzZSBjb21tYW5kIGxpbmUgZm9yICdxdWlldCcgYW5kIHBhc3MgaXQgdG8gZGVjb21wcmVzc29yLiAqLworCWlmIChjbWRsaW5lX2ZpbmRfb3B0aW9uX2Jvb2woInF1aWV0IikpCisJCWJvb3RfcGFyYW1zLmhkci5sb2FkZmxhZ3MgfD0gUVVJRVRfRkxBRzsKKwogCS8qIERvIHRoZSBsYXN0IHRoaW5ncyBhbmQgaW52b2tlIHByb3RlY3RlZCBtb2RlICovCiAJZ29fdG9fcHJvdGVjdGVkX21vZGUoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMgYi9hcmNoL3g4Ni9ib290L21lbW9yeS5jCmluZGV4IGFjYWQzMmUuLjUzMTY1YzkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMKKysrIGIvYXJjaC94ODYvYm9vdC9tZW1vcnkuYwpAQCAtMTMsNiArMTMsNyBAQAogICovCiAKICNpbmNsdWRlICJib290LmgiCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAKICNkZWZpbmUgU01BUAkweDUzNGQ0MTUwCS8qIEFTQ0lJICJTTUFQIiAqLwogCkBAIC01Myw3ICs1NCw3IEBACiAKIAkJY291bnQrKzsKIAkJZGVzYysrOwotCX0gd2hpbGUgKG5leHQgJiYgY291bnQgPCBFODIwTUFYKTsKKwl9IHdoaWxlIChuZXh0ICYmIGNvdW50IDwgQVJSQVlfU0laRShib290X3BhcmFtcy5lODIwX21hcCkpOwogCiAJcmV0dXJuIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyA9IGNvdW50OwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9wbWp1bXAuUyBiL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMKaW5kZXggYWIwNDlkNC4uMTQxYjZlMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9wbWp1bXAuUworKysgYi9hcmNoL3g4Ni9ib290L3BtanVtcC5TCkBAIC0zMyw2ICszMyw4IEBACiAJbW92dwklY3MsICVieAogCXNobGwJJDQsICVlYngKIAlhZGRsCSVlYngsIDJmCisJam1wCTFmCQkJIyBTaG9ydCBqdW1wIHRvIHNlcmlhbGl6ZSBvbiAzODYvNDg2CisxOgogCiAJbW92dwkkX19CT09UX0RTLCAlY3gKIAltb3Z3CSRfX0JPT1RfVFNTLCAlZGkKQEAgLTQwLDggKzQyLDYgQEAKIAltb3ZsCSVjcjAsICVlZHgKIAlvcmIJJFg4Nl9DUjBfUEUsICVkbAkjIFByb3RlY3RlZCBtb2RlCiAJbW92bAklZWR4LCAlY3IwCi0Jam1wCTFmCQkJIyBTaG9ydCBqdW1wIHRvIHNlcmlhbGl6ZSBvbiAzODYvNDg2Ci0xOgogCiAJIyBUcmFuc2l0aW9uIHRvIDMyLWJpdCBtb2RlCiAJLmJ5dGUJMHg2NiwgMHhlYQkJIyBsam1wbCBvcGNvZGUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMgYi9hcmNoL3g4Ni9ib290L3ZpZGVvLXZnYS5jCmluZGV4IDQwZWNiOGQuLmI5MzljYjQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvdmlkZW8tdmdhLmMKKysrIGIvYXJjaC94ODYvYm9vdC92aWRlby12Z2EuYwpAQCAtMjU5LDggKzI1OSw3IEBACiAJcmV0dXJuIG1vZGVfY291bnRbYWRhcHRlcl07CiB9CiAKLV9fdmlkZW9jYXJkIHZpZGVvX3ZnYSA9Ci17CitfX3ZpZGVvY2FyZCB2aWRlb192Z2EgPSB7CiAJLmNhcmRfbmFtZQk9ICJWR0EiLAogCS5wcm9iZQkJPSB2Z2FfcHJvYmUsCiAJLnNldF9tb2RlCT0gdmdhX3NldF9tb2RlLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZyBiL2FyY2gveDg2L2NvbmZpZ3MvaTM4Nl9kZWZjb25maWcKaW5kZXggYWQ3ZGRhYS4uOWJjMzRlMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNvbmZpZworKysgYi9hcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnCkBAIC0xLDU0ICsxLDEwMyBAQAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBtYWtlIGNvbmZpZzogZG9uJ3QgZWRpdAotIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjIyLWdpdDE0Ci0jIEZyaSBKdWwgMjAgMDk6NTM6MTUgMjAwNworIyBMaW51eCBrZXJuZWwgdmVyc2lvbjogMi42LjI2LXJjMQorIyBTdW4gTWF5ICA0IDE5OjU5OjAyIDIwMDgKICMKKyMgQ09ORklHXzY0QklUIGlzIG5vdCBzZXQKIENPTkZJR19YODZfMzI9eQorIyBDT05GSUdfWDg2XzY0IGlzIG5vdCBzZXQKK0NPTkZJR19YODY9eQorQ09ORklHX0RFRkNPTkZJR19MSVNUPSJhcmNoL3g4Ni9jb25maWdzL2kzODZfZGVmY29uZmlnIgorIyBDT05GSUdfR0VORVJJQ19MT0NLQlJFQUsgaXMgbm90IHNldAogQ09ORklHX0dFTkVSSUNfVElNRT15CitDT05GSUdfR0VORVJJQ19DTU9TX1VQREFURT15CiBDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQogQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQogQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15Ci1DT05GSUdfU0VNQVBIT1JFX1NMRUVQRVJTPXkKLUNPTkZJR19YODY9eQorQ09ORklHX0hBVkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKK0NPTkZJR19GQVNUX0NNUFhDSEdfTE9DQUw9eQogQ09ORklHX01NVT15CiBDT05GSUdfWk9ORV9ETUE9eQotQ09ORklHX1FVSUNLTElTVD15CiBDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKIENPTkZJR19HRU5FUklDX0lPTUFQPXkKIENPTkZJR19HRU5FUklDX0JVRz15CiBDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQotQ09ORklHX0RNST15Ci1DT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgotCi0jCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucwotIwotQ09ORklHX0VYUEVSSU1FTlRBTD15Ci1DT05GSUdfTE9DS19LRVJORUw9eQotQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorIyBDT05GSUdfUldTRU1fR0VORVJJQ19TUElOTE9DSyBpcyBub3Qgc2V0CitDT05GSUdfUldTRU1fWENIR0FERF9BTEdPUklUSE09eQorIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CitDT05GSUdfR0VORVJJQ19DQUxJQlJBVEVfREVMQVk9eQorIyBDT05GSUdfR0VORVJJQ19USU1FX1ZTWVNDQUxMIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0hBU19DUFVfUkVMQVg9eQorQ09ORklHX0FSQ0hfSEFTX0NBQ0hFX0xJTkVfU0laRT15CitDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUE9eQorIyBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAgaXMgbm90IHNldAorQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fUE9TU0lCTEU9eQorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CisjIENPTkZJR19aT05FX0RNQTMyIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15CisjIENPTkZJR19BVURJVF9BUkNIIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX1NVUFBPUlRTX0FPVVQ9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lOTElOSU5HPXkKK0NPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKK0NPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15CitDT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15CitDT05GSUdfWDg2X1NNUD15CitDT05GSUdfWDg2XzMyX1NNUD15CitDT05GSUdfWDg2X0hUPXkKK0NPTkZJR19YODZfQklPU19SRUJPT1Q9eQorQ09ORklHX1g4Nl9UUkFNUE9MSU5FPXkKK0NPTkZJR19LVElNRV9TQ0FMQVI9eQogCiAjCiAjIEdlbmVyYWwgc2V0dXAKICMKK0NPTkZJR19FWFBFUklNRU5UQUw9eQorQ09ORklHX0xPQ0tfS0VSTkVMPXkKK0NPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKIENPTkZJR19MT0NBTFZFUlNJT049IiIKLUNPTkZJR19MT0NBTFZFUlNJT05fQVVUTz15CisjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfU1dBUD15CiBDT05GSUdfU1lTVklQQz15CiBDT05GSUdfU1lTVklQQ19TWVNDVEw9eQogQ09ORklHX1BPU0lYX01RVUVVRT15Ci0jIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RBU0tTVEFUUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0VSX05TIGlzIG5vdCBzZXQKLSMgQ09ORklHX0FVRElUIGlzIG5vdCBzZXQKLUNPTkZJR19JS0NPTkZJRz15Ci1DT05GSUdfSUtDT05GSUdfUFJPQz15Ci1DT05GSUdfTE9HX0JVRl9TSElGVD0xOAotIyBDT05GSUdfQ1BVU0VUUyBpcyBub3Qgc2V0Ci1DT05GSUdfU1lTRlNfREVQUkVDQVRFRD15CitDT05GSUdfQlNEX1BST0NFU1NfQUNDVD15CisjIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1YzIGlzIG5vdCBzZXQKK0NPTkZJR19UQVNLU1RBVFM9eQorQ09ORklHX1RBU0tfREVMQVlfQUNDVD15CitDT05GSUdfVEFTS19YQUNDVD15CitDT05GSUdfVEFTS19JT19BQ0NPVU5USU5HPXkKK0NPTkZJR19BVURJVD15CitDT05GSUdfQVVESVRTWVNDQUxMPXkKK0NPTkZJR19BVURJVF9UUkVFPXkKKyMgQ09ORklHX0lLQ09ORklHIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dfQlVGX1NISUZUPTE3CitDT05GSUdfQ0dST1VQUz15CisjIENPTkZJR19DR1JPVVBfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0NHUk9VUF9OUz15CisjIENPTkZJR19DR1JPVVBfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19DUFVTRVRTPXkKK0NPTkZJR19HUk9VUF9TQ0hFRD15CitDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRD15CisjIENPTkZJR19SVF9HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0VSX1NDSEVEIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfU0NIRUQ9eQorQ09ORklHX0NHUk9VUF9DUFVBQ0NUPXkKK0NPTkZJR19SRVNPVVJDRV9DT1VOVEVSUz15CisjIENPTkZJR19DR1JPVVBfTUVNX1JFU19DVExSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90IHNldAorQ09ORklHX1BST0NfUElEX0NQVVNFVD15CiBDT05GSUdfUkVMQVk9eQorQ09ORklHX05BTUVTUEFDRVM9eQorQ09ORklHX1VUU19OUz15CitDT05GSUdfSVBDX05TPXkKK0NPTkZJR19VU0VSX05TPXkKK0NPTkZJR19QSURfTlM9eQogQ09ORklHX0JMS19ERVZfSU5JVFJEPXkKIENPTkZJR19JTklUUkFNRlNfU09VUkNFPSIiCiBDT05GSUdfQ0NfT1BUSU1JWkVfRk9SX1NJWkU9eQpAQCAtNTYsMTMgKzEwNSwxNSBAQAogIyBDT05GSUdfRU1CRURERUQgaXMgbm90IHNldAogQ09ORklHX1VJRDE2PXkKIENPTkZJR19TWVNDVExfU1lTQ0FMTD15CitDT05GSUdfU1lTQ1RMX1NZU0NBTExfQ0hFQ0s9eQogQ09ORklHX0tBTExTWU1TPXkKIENPTkZJR19LQUxMU1lNU19BTEw9eQotIyBDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUyBpcyBub3Qgc2V0CitDT05GSUdfS0FMTFNZTVNfRVhUUkFfUEFTUz15CiBDT05GSUdfSE9UUExVRz15CiBDT05GSUdfUFJJTlRLPXkKIENPTkZJR19CVUc9eQogQ09ORklHX0VMRl9DT1JFPXkKKyMgQ09ORklHX0NPTVBBVF9CUksgaXMgbm90IHNldAogQ09ORklHX0JBU0VfRlVMTD15CiBDT05GSUdfRlVURVg9eQogQ09ORklHX0FOT05fSU5PREVTPXkKQEAgLTc2LDYgKzEyNywxNyBAQAogIyBDT05GSUdfU0xBQiBpcyBub3Qgc2V0CiBDT05GSUdfU0xVQj15CiAjIENPTkZJR19TTE9CIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9GSUxJTkc9eQorQ09ORklHX01BUktFUlM9eQorIyBDT05GSUdfT1BST0ZJTEUgaXMgbm90IHNldAorQ09ORklHX0hBVkVfT1BST0ZJTEU9eQorQ09ORklHX0tQUk9CRVM9eQorQ09ORklHX0tSRVRQUk9CRVM9eQorQ09ORklHX0hBVkVfS1BST0JFUz15CitDT05GSUdfSEFWRV9LUkVUUFJPQkVTPXkKKyMgQ09ORklHX0hBVkVfRE1BX0FUVFJTIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CitDT05GSUdfU0xBQklORk89eQogQ09ORklHX1JUX01VVEVYRVM9eQogIyBDT05GSUdfVElOWV9TSE1FTSBpcyBub3Qgc2V0CiBDT05GSUdfQkFTRV9TTUFMTD0wCkBAIC04NywxMCArMTQ5LDEwIEBACiAjIENPTkZJR19LTU9EIGlzIG5vdCBzZXQKIENPTkZJR19TVE9QX01BQ0hJTkU9eQogQ09ORklHX0JMT0NLPXkKLUNPTkZJR19MQkQ9eQotIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19MQkQgaXMgbm90IHNldAorQ09ORklHX0JMS19ERVZfSU9fVFJBQ0U9eQogIyBDT05GSUdfTFNGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX0JTRz15CiAKICMKICMgSU8gU2NoZWR1bGVycwpAQCAtMTAzLDcgKzE2NSw4IEBACiAjIENPTkZJR19ERUZBVUxUX0RFQURMSU5FIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAotQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iYW50aWNpcGF0b3J5IgorQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBQcm9jZXNzb3IgdHlwZSBhbmQgZmVhdHVyZXMKQEAgLTExMSwxOCArMTc0LDIxIEBACiBDT05GSUdfVElDS19PTkVTSE9UPXkKIENPTkZJR19OT19IWj15CiBDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKIENPTkZJR19TTVA9eQotIyBDT05GSUdfWDg2X1BDIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfUEM9eQogIyBDT05GSUdfWDg2X0VMQU4gaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1ZPWUFHRVIgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X05VTUFRIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TVU1NSVQgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X0JJR1NNUCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfVklTV1MgaXMgbm90IHNldAotQ09ORklHX1g4Nl9HRU5FUklDQVJDSD15CisjIENPTkZJR19YODZfR0VORVJJQ0FSQ0ggaXMgbm90IHNldAogIyBDT05GSUdfWDg2X0VTNzAwMCBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVJBVklSVCBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X0NZQ0xPTkVfVElNRVI9eQorIyBDT05GSUdfWDg2X1JEQzMyMVggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldAorQ09ORklHX1NDSEVEX05PX05PX09NSVRfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19QQVJBVklSVF9HVUVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19NMzg2IGlzIG5vdCBzZXQKICMgQ09ORklHX000ODYgaXMgbm90IHNldAogIyBDT05GSUdfTTU4NiBpcyBub3Qgc2V0CkBAIC0xMzAsOSArMTk2LDggQEAKICMgQ09ORklHX001ODZNTVggaXMgbm90IHNldAogIyBDT05GSUdfTTY4NiBpcyBub3Qgc2V0CiAjIENPTkZJR19NUEVOVElVTUlJIGlzIG5vdCBzZXQKLUNPTkZJR19NUEVOVElVTUlJST15CisjIENPTkZJR19NUEVOVElVTUlJSSBpcyBub3Qgc2V0CiAjIENPTkZJR19NUEVOVElVTU0gaXMgbm90IHNldAotIyBDT05GSUdfTUNPUkUyIGlzIG5vdCBzZXQKICMgQ09ORklHX01QRU5USVVNNCBpcyBub3Qgc2V0CiAjIENPTkZJR19NSzYgaXMgbm90IHNldAogIyBDT05GSUdfTUs3IGlzIG5vdCBzZXQKQEAgLTE0NywxNCArMjEyLDE0IEBACiAjIENPTkZJR19NQ1lSSVhJSUkgaXMgbm90IHNldAogIyBDT05GSUdfTVZJQUMzXzIgaXMgbm90IHNldAogIyBDT05GSUdfTVZJQUM3IGlzIG5vdCBzZXQKLUNPTkZJR19YODZfR0VORVJJQz15CisjIENPTkZJR19NUFNDIGlzIG5vdCBzZXQKK0NPTkZJR19NQ09SRTI9eQorIyBDT05GSUdfR0VORVJJQ19DUFUgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X0dFTkVSSUMgaXMgbm90IHNldAorQ09ORklHX1g4Nl9DUFU9eQogQ09ORklHX1g4Nl9DTVBYQ0hHPXkKLUNPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NworQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CiBDT05GSUdfWDg2X1hBREQ9eQotQ09ORklHX1JXU0VNX1hDSEdBRERfQUxHT1JJVEhNPXkKLSMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1UzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19BUkNIX0hBU19JTE9HMl9VNjQgaXMgbm90IHNldAotQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKIENPTkZJR19YODZfV1BfV09SS1NfT0s9eQogQ09ORklHX1g4Nl9JTlZMUEc9eQogQ09ORklHX1g4Nl9CU1dBUD15CkBAIC0xNjIsMTA2ICsyMjcsMTIwIEBACiBDT05GSUdfWDg2X0dPT0RfQVBJQz15CiBDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZPXkKIENPTkZJR19YODZfVVNFX1BQUk9fQ0hFQ0tTVU09eQorQ09ORklHX1g4Nl9QNl9OT1A9eQogQ09ORklHX1g4Nl9UU0M9eQotQ09ORklHX1g4Nl9DTU9WPXkKLUNPTkZJR19YODZfTUlOSU1VTV9DUFVfRkFNSUxZPTQKK0NPTkZJR19YODZfTUlOSU1VTV9DUFVfRkFNSUxZPTYKK0NPTkZJR19YODZfREVCVUdDVExNU1I9eQogQ09ORklHX0hQRVRfVElNRVI9eQogQ09ORklHX0hQRVRfRU1VTEFURV9SVEM9eQotQ09ORklHX05SX0NQVVM9MzIKLUNPTkZJR19TQ0hFRF9TTVQ9eQorQ09ORklHX0RNST15CisjIENPTkZJR19JT01NVV9IRUxQRVIgaXMgbm90IHNldAorQ09ORklHX05SX0NQVVM9NAorIyBDT05GSUdfU0NIRURfU01UIGlzIG5vdCBzZXQKIENPTkZJR19TQ0hFRF9NQz15CiAjIENPTkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldAogQ09ORklHX1BSRUVNUFRfVk9MVU5UQVJZPXkKICMgQ09ORklHX1BSRUVNUFQgaXMgbm90IHNldAotQ09ORklHX1BSRUVNUFRfQktMPXkKIENPTkZJR19YODZfTE9DQUxfQVBJQz15CiBDT05GSUdfWDg2X0lPX0FQSUM9eQotQ09ORklHX1g4Nl9NQ0U9eQotQ09ORklHX1g4Nl9NQ0VfTk9ORkFUQUw9eQotQ09ORklHX1g4Nl9NQ0VfUDRUSEVSTUFMPXkKKyMgQ09ORklHX1g4Nl9NQ0UgaXMgbm90IHNldAogQ09ORklHX1ZNODY9eQogIyBDT05GSUdfVE9TSElCQSBpcyBub3Qgc2V0CiAjIENPTkZJR19JOEsgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1JFQk9PVEZJWFVQUyBpcyBub3Qgc2V0Ci1DT05GSUdfTUlDUk9DT0RFPXkKLUNPTkZJR19NSUNST0NPREVfT0xEX0lOVEVSRkFDRT15CisjIENPTkZJR19NSUNST0NPREUgaXMgbm90IHNldAogQ09ORklHX1g4Nl9NU1I9eQogQ09ORklHX1g4Nl9DUFVJRD15Ci0KLSMKLSMgRmlybXdhcmUgRHJpdmVycwotIwotIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFTExfUkJVIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RDREJBUyBpcyBub3Qgc2V0Ci1DT05GSUdfRE1JSUQ9eQogIyBDT05GSUdfTk9ISUdITUVNIGlzIG5vdCBzZXQKIENPTkZJR19ISUdITUVNNEc9eQogIyBDT05GSUdfSElHSE1FTTY0RyBpcyBub3Qgc2V0CiBDT05GSUdfUEFHRV9PRkZTRVQ9MHhDMDAwMDAwMAogQ09ORklHX0hJR0hNRU09eQotQ09ORklHX0FSQ0hfUE9QVUxBVEVTX05PREVfTUFQPXkKK0NPTkZJR19ORUVEX05PREVfTUVNTUFQX1NJWkU9eQorQ09ORklHX0FSQ0hfRkxBVE1FTV9FTkFCTEU9eQorQ09ORklHX0FSQ0hfU1BBUlNFTUVNX0VOQUJMRT15CitDT05GSUdfQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMPXkKIENPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKLUNPTkZJR19GTEFUTUVNX01BTlVBTD15CisjIENPTkZJR19GTEFUTUVNX01BTlVBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQQVJTRU1FTV9NQU5VQUwgaXMgbm90IHNldAotQ09ORklHX0ZMQVRNRU09eQotQ09ORklHX0ZMQVRfTk9ERV9NRU1fTUFQPXkKLSMgQ09ORklHX1NQQVJTRU1FTV9TVEFUSUMgaXMgbm90IHNldAorQ09ORklHX1NQQVJTRU1FTV9NQU5VQUw9eQorQ09ORklHX1NQQVJTRU1FTT15CitDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15CitDT05GSUdfU1BBUlNFTUVNX1NUQVRJQz15CisjIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEUgaXMgbm90IHNldAorCisjCisjIE1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRseSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kCisjCitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CiBDT05GSUdfUkVTT1VSQ0VTXzY0QklUPXkKIENPTkZJR19aT05FX0RNQV9GTEFHPTEKIENPTkZJR19CT1VOQ0U9eQotQ09ORklHX05SX1FVSUNLPTEKIENPTkZJR19WSVJUX1RPX0JVUz15CiAjIENPTkZJR19ISUdIUFRFIGlzIG5vdCBzZXQKICMgQ09ORklHX01BVEhfRU1VTEFUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19NVFJSPXkKLSMgQ09ORklHX0VGSSBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUEFUIGlzIG5vdCBzZXQKK0NPTkZJR19FRkk9eQogIyBDT05GSUdfSVJRQkFMQU5DRSBpcyBub3Qgc2V0CiBDT05GSUdfU0VDQ09NUD15CiAjIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAotQ09ORklHX0haXzI1MD15CisjIENPTkZJR19IWl8yNTAgaXMgbm90IHNldAogIyBDT05GSUdfSFpfMzAwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0haXzEwMDAgaXMgbm90IHNldAotQ09ORklHX0haPTI1MAotIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAotIyBDT05GSUdfQ1JBU0hfRFVNUCBpcyBub3Qgc2V0Ci1DT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAKLSMgQ09ORklHX1JFTE9DQVRBQkxFIGlzIG5vdCBzZXQKLUNPTkZJR19QSFlTSUNBTF9BTElHTj0weDEwMDAwMAotIyBDT05GSUdfSE9UUExVR19DUFUgaXMgbm90IHNldAotQ09ORklHX0NPTVBBVF9WRFNPPXkKK0NPTkZJR19IWl8xMDAwPXkKK0NPTkZJR19IWj0xMDAwCitDT05GSUdfU0NIRURfSFJUSUNLPXkKK0NPTkZJR19LRVhFQz15CitDT05GSUdfQ1JBU0hfRFVNUD15CitDT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAwCitDT05GSUdfUkVMT0NBVEFCTEU9eQorQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MjAwMDAwCitDT05GSUdfSE9UUExVR19DUFU9eQorIyBDT05GSUdfQ09NUEFUX1ZEU08gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRU5BQkxFX01FTU9SWV9IT1RQTFVHPXkKIAogIwotIyBQb3dlciBtYW5hZ2VtZW50IG9wdGlvbnMgKEFDUEksIEFQTSkKKyMgUG93ZXIgbWFuYWdlbWVudCBvcHRpb25zCiAjCiBDT05GSUdfUE09eQotQ09ORklHX1BNX0xFR0FDWT15Ci0jIENPTkZJR19QTV9ERUJVRyBpcyBub3Qgc2V0Ci0KLSMKLSMgQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0Ci0jCitDT05GSUdfUE1fREVCVUc9eQorIyBDT05GSUdfUE1fVkVSQk9TRSBpcyBub3Qgc2V0CitDT05GSUdfQ0FOX1BNX1RSQUNFPXkKK0NPTkZJR19QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0VfUlRDPXkKK0NPTkZJR19QTV9TTEVFUF9TTVA9eQorQ09ORklHX1BNX1NMRUVQPXkKK0NPTkZJR19TVVNQRU5EPXkKK0NPTkZJR19TVVNQRU5EX0ZSRUVaRVI9eQorQ09ORklHX0hJQkVSTkFUSU9OPXkKK0NPTkZJR19QTV9TVERfUEFSVElUSU9OPSIiCiBDT05GSUdfQUNQST15CitDT05GSUdfQUNQSV9TTEVFUD15CiBDT05GSUdfQUNQSV9QUk9DRlM9eQorQ09ORklHX0FDUElfUFJPQ0ZTX1BPV0VSPXkKK0NPTkZJR19BQ1BJX1NZU0ZTX1BPV0VSPXkKK0NPTkZJR19BQ1BJX1BST0NfRVZFTlQ9eQogQ09ORklHX0FDUElfQUM9eQogQ09ORklHX0FDUElfQkFUVEVSWT15CiBDT05GSUdfQUNQSV9CVVRUT049eQogQ09ORklHX0FDUElfRkFOPXkKLSMgQ09ORklHX0FDUElfRE9DSyBpcyBub3Qgc2V0CitDT05GSUdfQUNQSV9ET0NLPXkKKyMgQ09ORklHX0FDUElfQkFZIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX1BST0NFU1NPUj15CitDT05GSUdfQUNQSV9IT1RQTFVHX0NQVT15CiBDT05GSUdfQUNQSV9USEVSTUFMPXkKKyMgQ09ORklHX0FDUElfV01JIGlzIG5vdCBzZXQKICMgQ09ORklHX0FDUElfQVNVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX1RPU0hJQkEgaXMgbm90IHNldAotQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lFQVI9MjAwMQotQ09ORklHX0FDUElfREVCVUc9eQorIyBDT05GSUdfQUNQSV9DVVNUT01fRFNEVCBpcyBub3Qgc2V0CitDT05GSUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCisjIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19BQ1BJX0VDPXkKIENPTkZJR19BQ1BJX1BPV0VSPXkKIENPTkZJR19BQ1BJX1NZU1RFTT15CiBDT05GSUdfWDg2X1BNX1RJTUVSPXkKLSMgQ09ORklHX0FDUElfQ09OVEFJTkVSIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0NPTlRBSU5FUj15CiAjIENPTkZJR19BQ1BJX1NCUyBpcyBub3Qgc2V0CiAjIENPTkZJR19BUE0gaXMgbm90IHNldAogCkBAIC0yNzEsMTUgKzM1MCwxNyBAQAogQ09ORklHX0NQVV9GUkVRPXkKIENPTkZJR19DUFVfRlJFUV9UQUJMRT15CiBDT05GSUdfQ1BVX0ZSRVFfREVCVUc9eQotQ09ORklHX0NQVV9GUkVRX1NUQVQ9eQotIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVF9ERVRBSUxTIGlzIG5vdCBzZXQKLUNPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRT15Ci0jIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAorQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRT15CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9DT05TRVJWQVRJVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5DRT15CiAjIENPTkZJR19DUFVfRlJFUV9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfRlJFUV9HT1ZfVVNFUlNQQUNFPXkKIENPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQotQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJVkU9eQorIyBDT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiAKICMKICMgQ1BVRnJlcSBwcm9jZXNzb3IgZHJpdmVycwpAQCAtMjg3LDggKzM2OCw3IEBACiBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CiAjIENPTkZJR19YODZfUE9XRVJOT1dfSzYgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s3IGlzIG5vdCBzZXQKLUNPTkZJR19YODZfUE9XRVJOT1dfSzg9eQotQ09ORklHX1g4Nl9QT1dFUk5PV19LOF9BQ1BJPXkKKyMgQ09ORklHX1g4Nl9QT1dFUk5PV19LOCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfR1hfU1VTUE1PRCBpcyBub3Qgc2V0CiAjIENPTkZJR19YODZfU1BFRURTVEVQX0NFTlRSSU5PIGlzIG5vdCBzZXQKICMgQ09ORklHX1g4Nl9TUEVFRFNURVBfSUNIIGlzIG5vdCBzZXQKQEAgLTMwMiw0MyArMzgyLDcyIEBACiAjCiAjIHNoYXJlZCBvcHRpb25zCiAjCi1DT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEY9eQorIyBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEYgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9MSUIgaXMgbm90IHNldAorQ09ORklHX0NQVV9JRExFPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTEFEREVSPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTUVOVT15CiAKICMKLSMgQnVzIG9wdGlvbnMgKFBDSSwgUENNQ0lBLCBFSVNBLCBNQ0EsIElTQSkKKyMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQogIwogQ09ORklHX1BDST15CiAjIENPTkZJR19QQ0lfR09CSU9TIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9HT01NQ09ORklHIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9HT0RJUkVDVCBpcyBub3Qgc2V0CiBDT05GSUdfUENJX0dPQU5ZPXkKKyMgQ09ORklHX1BDSV9HT09MUEMgaXMgbm90IHNldAogQ09ORklHX1BDSV9CSU9TPXkKIENPTkZJR19QQ0lfRElSRUNUPXkKIENPTkZJR19QQ0lfTU1DT05GSUc9eQotIyBDT05GSUdfUENJRVBPUlRCVVMgaXMgbm90IHNldAorQ09ORklHX1BDSV9ET01BSU5TPXkKK0NPTkZJR19QQ0lFUE9SVEJVUz15CisjIENPTkZJR19IT1RQTFVHX1BDSV9QQ0lFIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0lFQUVSPXkKKyMgQ09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQKIENPTkZJR19BUkNIX1NVUFBPUlRTX01TST15CiBDT05GSUdfUENJX01TST15CisjIENPTkZJR19QQ0lfTEVHQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19IVF9JUlEgaXMgbm90IHNldAorQ09ORklHX0hUX0lSUT15CiBDT05GSUdfSVNBX0RNQV9BUEk9eQogIyBDT05GSUdfSVNBIGlzIG5vdCBzZXQKICMgQ09ORklHX01DQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ3gyMDAgaXMgbm90IHNldAorIyBDT05GSUdfT0xQQyBpcyBub3Qgc2V0CiBDT05GSUdfSzhfTkI9eQorQ09ORklHX1BDQ0FSRD15CisjIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BDTUNJQT15CitDT05GSUdfUENNQ0lBX0xPQURfQ0lTPXkKK0NPTkZJR19QQ01DSUFfSU9DVEw9eQorQ09ORklHX0NBUkRCVVM9eQogCiAjCi0jIFBDQ0FSRCAoUENNQ0lBL0NhcmRCdXMpIHN1cHBvcnQKKyMgUEMtY2FyZCBicmlkZ2VzCiAjCi0jIENPTkZJR19QQ0NBUkQgaXMgbm90IHNldAotIyBDT05GSUdfSE9UUExVR19QQ0kgaXMgbm90IHNldAorQ09ORklHX1lFTlRBPXkKK0NPTkZJR19ZRU5UQV9PMj15CitDT05GSUdfWUVOVEFfUklDT0g9eQorQ09ORklHX1lFTlRBX1RJPXkKK0NPTkZJR19ZRU5UQV9FTkVfVFVORT15CitDT05GSUdfWUVOVEFfVE9TSElCQT15CisjIENPTkZJR19QRDY3MjkgaXMgbm90IHNldAorIyBDT05GSUdfSTgyMDkyIGlzIG5vdCBzZXQKK0NPTkZJR19QQ0NBUkRfTk9OU1RBVElDPXkKK0NPTkZJR19IT1RQTFVHX1BDST15CisjIENPTkZJR19IT1RQTFVHX1BDSV9GQUtFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0lCTSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9BQ1BJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX0NQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfU0hQQyBpcyBub3Qgc2V0CiAKICMKLSMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMKKyMgRXhlY3V0YWJsZSBmaWxlIGZvcm1hdHMgLyBFbXVsYXRpb25zCiAjCiBDT05GSUdfQklORk1UX0VMRj15CiAjIENPTkZJR19CSU5GTVRfQU9VVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CSU5GTVRfTUlTQyBpcyBub3Qgc2V0CitDT05GSUdfQklORk1UX01JU0M9eQogCiAjCiAjIE5ldHdvcmtpbmcKQEAgLTM0OSw1OSArNDU4LDE0MiBAQAogIyBOZXR3b3JraW5nIG9wdGlvbnMKICMKIENPTkZJR19QQUNLRVQ9eQotIyBDT05GSUdfUEFDS0VUX01NQVAgaXMgbm90IHNldAorQ09ORklHX1BBQ0tFVF9NTUFQPXkKIENPTkZJR19VTklYPXkKIENPTkZJR19YRlJNPXkKLSMgQ09ORklHX1hGUk1fVVNFUiBpcyBub3Qgc2V0CitDT05GSUdfWEZSTV9VU0VSPXkKICMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19YRlJNX01JR1JBVEUgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9LRVkgaXMgbm90IHNldAogQ09ORklHX0lORVQ9eQogQ09ORklHX0lQX01VTFRJQ0FTVD15Ci0jIENPTkZJR19JUF9BRFZBTkNFRF9ST1VURVIgaXMgbm90IHNldAorQ09ORklHX0lQX0FEVkFOQ0VEX1JPVVRFUj15CitDT05GSUdfQVNLX0lQX0ZJQl9IQVNIPXkKKyMgQ09ORklHX0lQX0ZJQl9UUklFIGlzIG5vdCBzZXQKIENPTkZJR19JUF9GSUJfSEFTSD15Ci1DT05GSUdfSVBfUE5QPXkKLUNPTkZJR19JUF9QTlBfREhDUD15Ci0jIENPTkZJR19JUF9QTlBfQk9PVFAgaXMgbm90IHNldAotIyBDT05GSUdfSVBfUE5QX1JBUlAgaXMgbm90IHNldAorQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUz15CitDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRIPXkKK0NPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKKyMgQ09ORklHX0lQX1BOUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfSVBHUkUgaXMgbm90IHNldAotIyBDT05GSUdfSVBfTVJPVVRFIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NUk9VVEU9eQorQ09ORklHX0lQX1BJTVNNX1YxPXkKK0NPTkZJR19JUF9QSU1TTV9WMj15CiAjIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NZTl9DT09LSUVTIGlzIG5vdCBzZXQKK0NPTkZJR19TWU5fQ09PS0lFUz15CiAjIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAogQ09ORklHX0lORVRfVFVOTkVMPXkKLUNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQotQ09ORklHX0lORVRfWEZSTV9NT0RFX1RVTk5FTD15CisjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQgaXMgbm90IHNldAorIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAotQ09ORklHX0lORVRfRElBRz15Ci1DT05GSUdfSU5FVF9UQ1BfRElBRz15Ci0jIENPTkZJR19UQ1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVF9MUk89eQorIyBDT05GSUdfSU5FVF9ESUFHIGlzIG5vdCBzZXQKK0NPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15CisjIENPTkZJR19UQ1BfQ09OR19CSUMgaXMgbm90IHNldAogQ09ORklHX1RDUF9DT05HX0NVQklDPXkKKyMgQ09ORklHX1RDUF9DT05HX1dFU1RXT09EIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0hUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFNUQ1AgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFlCTEEgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfU0NBTEFCTEUgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfTFAgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfVkVOTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19ZRUFIIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX0lMTElOT0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfQklDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX0NVQklDPXkKKyMgQ09ORklHX0RFRkFVTFRfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1ZFR0FTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9SRU5PIGlzIG5vdCBzZXQKIENPTkZJR19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKLSMgQ09ORklHX1RDUF9NRDVTSUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9NRDVTSUc9eQorIyBDT05GSUdfSVBfVlMgaXMgbm90IHNldAogQ09ORklHX0lQVjY9eQogIyBDT05GSUdfSVBWNl9QUklWQUNZIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfUk9VVEVSX1BSRUYgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9PUFRJTUlTVElDX0RBRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9BSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9FU1AgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X0FIPXkKK0NPTkZJR19JTkVUNl9FU1A9eQogIyBDT05GSUdfSU5FVDZfSVBDT01QIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQVjZfTUlQNiBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUNl9YRlJNX1RVTk5FTCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldAogQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQogQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9eQotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUPXkKICMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElNSVpBVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNl9TSVQ9eQorQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZUEU9eQogIyBDT05GSUdfSVBWNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAotIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfTkVUTEFCRUw9eQorQ09ORklHX05FVFdPUktfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSPXkKKyMgQ09ORklHX05FVEZJTFRFUl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVJfQURWQU5DRUQgaXMgbm90IHNldAorCisjCisjIENvcmUgTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOSz15CitDT05GSUdfTkVURklMVEVSX05FVExJTktfTE9HPXkKK0NPTkZJR19ORl9DT05OVFJBQ0s9eQorQ09ORklHX05GX0NPTk5UUkFDS19TRUNNQVJLPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfRlRQPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVJDPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfU0lQPXkKK0NPTkZJR19ORl9DVF9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfWFRBQkxFUz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX05GTE9HPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09OTlNFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfVENQTVNTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1BPTElDWT15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPXkKKworIworIyBJUDogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWND15CitDT05GSUdfTkZfQ09OTlRSQUNLX1BST0NfQ09NUEFUPXkKK0NPTkZJR19JUF9ORl9JUFRBQkxFUz15CitDT05GSUdfSVBfTkZfRklMVEVSPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfVUxPRz15CitDT05GSUdfTkZfTkFUPXkKK0NPTkZJR19ORl9OQVRfTkVFREVEPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTUFTUVVFUkFERT15CitDT05GSUdfTkZfTkFUX0ZUUD15CitDT05GSUdfTkZfTkFUX0lSQz15CisjIENPTkZJR19ORl9OQVRfVEZUUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9QUFRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9IMzIzIGlzIG5vdCBzZXQKK0NPTkZJR19ORl9OQVRfU0lQPXkKK0NPTkZJR19JUF9ORl9NQU5HTEU9eQorCisjCisjIElQdjY6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQorQ09ORklHX0lQNl9ORl9JUFRBQkxFUz15CitDT05GSUdfSVA2X05GX01BVENIX0lQVjZIRUFERVI9eQorQ09ORklHX0lQNl9ORl9GSUxURVI9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUDZfTkZfVEFSR0VUX1JFSkVDVD15CitDT05GSUdfSVA2X05GX01BTkdMRT15CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAogIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CkBAIC00MDksNiArNjAxLDcgQEAKICMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CitDT05GSUdfTExDPXkKICMgQ09ORklHX0xMQzIgaXMgbm90IHNldAogIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKQEAgLTQxNiwyOCArNjA5LDk5IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIRUQ9eQogCiAjCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZworIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiAjCi0jIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9DQlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IVEIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IRlNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUFJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1JSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfU0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEVRTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1RCRiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0dSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9EU01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9ORVRFTSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0lOR1JFU1MgaXMgbm90IHNldAorCisjCisjIENsYXNzaWZpY2F0aW9uCisjCitDT05GSUdfTkVUX0NMUz15CisjIENPTkZJR19ORVRfQ0xTX0JBU0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JPVVRFNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX0ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JTVlA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRkxPVyBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VNQVRDSD15CitDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgorIyBDT05GSUdfTkVUX0VNQVRDSF9DTVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9OQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX01FVEEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9URVhUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfQ0xTX0FDVD15CisjIENPTkZJR19ORVRfQUNUX1BPTElDRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0dBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9JUFQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9OQVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1NJTVAgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hfRklGTz15CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CitDT05GSUdfSEFNUkFESU89eQorCisjCisjIFBhY2tldCBSYWRpbyBwcm90b2NvbHMKKyMKKyMgQ09ORklHX0FYMjUgaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorQ09ORklHX0ZJQl9SVUxFUz15CiAKICMKICMgV2lyZWxlc3MKICMKLSMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfQ0ZHODAyMTE9eQorQ09ORklHX05MODAyMTE9eQorQ09ORklHX1dJUkVMRVNTX0VYVD15CitDT05GSUdfTUFDODAyMTE9eQorCisjCisjIFJhdGUgY29udHJvbCBhbGdvcml0aG0gc2VsZWN0aW9uCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9OT05FIGlzIG5vdCBzZXQKKworIworIyBTZWxlY3RpbmcgJ3knIGZvciBhbiBhbGdvcml0aG0gd2lsbAorIworCisjCisjIGJ1aWxkIHRoZSBhbGdvcml0aG0gaW50byBtYWM4MDIxMS4KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJwaWQiCitDT05GSUdfTUFDODAyMTFfUkNfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldAorQ09ORklHX01BQzgwMjExX0xFRFM9eQorIyBDT05GSUdfTUFDODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR19QQUNLRVRfQUxJR05NRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKQEAgLTQ0OSwxMyArNzEzLDE1IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0RFVlJFUz15CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX0NPTk5FQ1RPUj15CitDT05GSUdfUFJPQ19FVkVOVFM9eQogIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAogQ09ORklHX1BOUD15CkBAIC00NjYsNyArNzMyLDcgQEAKICMKIENPTkZJR19QTlBBQ1BJPXkKIENPTkZJR19CTEtfREVWPXkKLUNPTkZJR19CTEtfREVWX0ZEPXkKKyMgQ09ORklHX0JMS19ERVZfRkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldApAQCAtNDc5LDggKzc0NSw4IEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTYzODQKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKIENPTkZJR19NSVNDX0RFVklDRVM9eQpAQCAtNDg5LDczICs3NTUsMTcgQEAKICMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CiAjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfQUNFUl9XTUkgaXMgbm90IHNldAorIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfRlVKSVRTVV9MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfVEMxMTAwX1dNSSBpcyBub3Qgc2V0CisjIENPTkZJR19NU0lfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1NPTllfTEFQVE9QIGlzIG5vdCBzZXQKICMgQ09ORklHX1RISU5LUEFEX0FDUEkgaXMgbm90IHNldAotQ09ORklHX0lERT15Ci1DT05GSUdfQkxLX0RFVl9JREU9eQotCi0jCi0jIFBsZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwotIwotIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0hEX0lERSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVESVNLPXkKLUNPTkZJR19JREVESVNLX01VTFRJX01PREU9eQotQ09ORklHX0JMS19ERVZfSURFQ0Q9eQotIyBDT05GSUdfQkxLX0RFVl9JREVUQVBFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFRkxPUFBZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVBQ1BJPXkKLSMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKLUNPTkZJR19JREVfUFJPQ19GUz15Ci0KLSMKLSMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwotIwotQ09ORklHX0lERV9HRU5FUklDPXkKLSMgQ09ORklHX0JMS19ERVZfQ01ENjQwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSURFUE5QIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX0lERVBDST15Ci0jIENPTkZJR19JREVQQ0lfU0hBUkVfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19JREVQQ0lfUENJQlVTX09SREVSPXkKLSMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1JaMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVETUFfUENJPXkKLSMgQ09ORklHX0JMS19ERVZfSURFRE1BX0ZPUkNFRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JREVETUFfT05MWURJU0sgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9BRUM2MlhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUxJMTVYMyBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9BTUQ3NFhYPXkKLSMgQ09ORklHX0JMS19ERVZfQVRJSVhQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ01ENjRYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfVFJJRkxFWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0NZODJDNjkzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTIwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTMwIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1M1NTM1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSFBUMzRYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSFBUMzY2IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSk1JQ1JPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NDMTIwMCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9QSUlYPXkKLSMgQ09ORklHX0JMS19ERVZfSVQ4MjEzIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfSVQ4MjFYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfTlM4NzQxNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1BEQzIwMlhYX09MRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1BEQzIwMlhYX05FVyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NWV0tTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NJUzU1MTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TTEM5MEU2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1ZJQTgyQ1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RDODZDMDAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BPXkKLSMgQ09ORklHX0lERURNQV9JVkIgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFTF9NRU5MT1cgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTU2NCw4ICs3NzQsOCBAQAogQ09ORklHX1NDU0k9eQogQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX05FVExJTks9eQotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTc0LDcgKzc4NCw3IEBACiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9TUj15Ci0jIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1I9eQogQ09ORklHX0NIUl9ERVZfU0c9eQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCkBAIC01ODIsNyArNzkyLDcgQEAKICMgU29tZSBTQ1NJIGRldmljZXMgKGUuZy4gQ0QganVrZWJveCkgc3VwcG9ydCBtdWx0aXBsZSBMVU5zCiAjCiAjIENPTkZJR19TQ1NJX01VTFRJX0xVTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0NPTlNUQU5UUyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9DT05TVEFOVFM9eQogIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0NBTl9BU1lOQyBpcyBub3Qgc2V0CiBDT05GSUdfU0NTSV9XQUlUX1NDQU49bQpAQCAtNTkxLDgxICs4MDEsMzcgQEAKICMgU0NTSSBUcmFuc3BvcnRzCiAjCiBDT05GSUdfU0NTSV9TUElfQVRUUlM9eQotQ09ORklHX1NDU0lfRkNfQVRUUlM9eQorIyBDT05GSUdfU0NTSV9GQ19BVFRSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ1NJX0lTQ1NJX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIwotIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWXzNXX1hYWFhfUkFJRD15Ci0jIENPTkZJR19TQ1NJXzNXXzlYWFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FBQ1JBSUQgaXMgbm90IHNldAotQ09ORklHX1NDU0lfQUlDN1hYWD15Ci1DT05GSUdfQUlDN1hYWF9DTURTX1BFUl9ERVZJQ0U9MzIKLUNPTkZJR19BSUM3WFhYX1JFU0VUX0RFTEFZX01TPTUwMDAKLUNPTkZJR19BSUM3WFhYX0RFQlVHX0VOQUJMRT15Ci1DT05GSUdfQUlDN1hYWF9ERUJVR19NQVNLPTAKLUNPTkZJR19BSUM3WFhYX1JFR19QUkVUVFlfUFJJTlQ9eQotIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9BSUM3OVhYPXkKLUNPTkZJR19BSUM3OVhYX0NNRFNfUEVSX0RFVklDRT0zMgotQ09ORklHX0FJQzc5WFhfUkVTRVRfREVMQVlfTVM9NDAwMAotIyBDT05GSUdfQUlDNzlYWF9ERUJVR19FTkFCTEUgaXMgbm90IHNldAotQ09ORklHX0FJQzc5WFhfREVCVUdfTUFTSz0wCi0jIENPTkZJR19BSUM3OVhYX1JFR19QUkVUVFlfUFJJTlQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfRFBUX0kyTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FEVkFOU1lTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfU0FTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSFBUSU9QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQlVTTE9HSUMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0VBVEEgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9GVVRVUkVfRE9NQUlOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfR0RUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5NXggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5MFQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9OU1AzMiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1JQIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfU1JQX0FUVFJTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUwgaXMgbm90IHNldAorIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAogQ09ORklHX0FUQT15CiAjIENPTkZJR19BVEFfTk9OU1RBTkRBUkQgaXMgbm90IHNldAogQ09ORklHX0FUQV9BQ1BJPXkKK0NPTkZJR19TQVRBX1BNUD15CiBDT05GSUdfU0FUQV9BSENJPXkKLUNPTkZJR19TQVRBX1NWVz15CisjIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKK0NPTkZJR19BVEFfU0ZGPXkKKyMgQ09ORklHX1NBVEFfU1ZXIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfUElJWD15CiAjIENPTkZJR19TQVRBX01WIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX05WPXkKKyMgQ09ORklHX1NBVEFfTlYgaXMgbm90IHNldAogIyBDT05GSUdfUERDX0FETUEgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9RU1RPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1BST01JU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90IHNldAotQ09ORklHX1NBVEFfU0lMPXkKLSMgQ09ORklHX1NBVEFfU0lMMjQgaXMgbm90IHNldAorIyBDT05GSUdfU0FUQV9TSUwgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9TSVMgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAotQ09ORklHX1NBVEFfVklBPXkKKyMgQ09ORklHX1NBVEFfVklBIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX0lOSUMxNjJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfQUNQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FMSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QQVRBX0FNRCBpcyBub3Qgc2V0CitDT05GSUdfUEFUQV9BTUQ9eQogIyBDT05GSUdfUEFUQV9BUlRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NNRDY0MF9QQ0kgaXMgbm90IHNldApAQCAtNjczLDYgKzgzOSw3IEBACiAjIENPTkZJR19QQVRBX0NTNTUyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NTNTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0NTNTUzNiBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX0NZUFJFU1MgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9FRkFSIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQV9HRU5FUklDIGlzIG5vdCBzZXQKQEAgLTY4NiwxMSArODUzLDE0IEBACiAjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX09MRFBJSVg9eQogIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QQ01DSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CkBAIC03MDIsNjUgKzg3Miw0MiBAQAogIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKIENPTkZJR19NRD15Ci0jIENPTkZJR19CTEtfREVWX01EIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX01EPXkKKyMgQ09ORklHX01EX0xJTkVBUiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMTAgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9NVUxUSVBBVEggaXMgbm90IHNldAorIyBDT05GSUdfTURfRkFVTFRZIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0RNPXkKICMgQ09ORklHX0RNX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0NSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX1NOQVBTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX01JUlJPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETV9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19ETV9NSVJST1I9eQorQ09ORklHX0RNX1pFUk89eQogIyBDT05GSUdfRE1fTVVMVElQQVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0RFTEFZIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCi1DT05GSUdfRlVTSU9OPXkKLUNPTkZJR19GVVNJT05fU1BJPXkKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKLUNPTkZJR19GVVNJT05fTUFYX1NHRT0xMjgKLSMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNldAorIyBDT05GSUdfRE1fVUVWRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAogIwogIyBDT05GSUdfRklSRVdJUkUgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0PXkKLQotIwotIyBTdWJzeXN0ZW0gT3B0aW9ucwotIwotIyBDT05GSUdfSUVFRTEzOTRfVkVSQk9TRURFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBDb250cm9sbGVycwotIwotCi0jCi0jIFRleGFzIEluc3RydW1lbnRzIFBDSUx5bnggcmVxdWlyZXMgSTJDCi0jCi1DT05GSUdfSUVFRTEzOTRfT0hDSTEzOTQ9eQotCi0jCi0jIFByb3RvY29scwotIwotIyBDT05GSUdfSUVFRTEzOTRfVklERU8xMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X1NCUDIgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NF9ST01fRU5UUlkgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9EVjEzOTQgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0X1JBV0lPPXkKKyMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKICMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSU5UT1NIX0RSSVZFUlM9eQotIyBDT05GSUdfTUFDX0VNVU1PVVNFQlROIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfRU1VTU9VU0VCVE49eQogQ09ORklHX05FVERFVklDRVM9eQotQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRT15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfSUZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAogIyBDT05GSUdfVFVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZFVEggaXMgbm90IHNldAogIyBDT05GSUdfTkVUX1NCMTAwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUkNORVQgaXMgbm90IHNldAogIyBDT05GSUdfUEhZTElCIGlzIG5vdCBzZXQKQEAgLTc3MCwzOCArOTE3LDQwIEBACiAjIENPTkZJR19TVU5HRU0gaXMgbm90IHNldAogIyBDT05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1ZFTkRPUl8zQ09NPXkKLUNPTkZJR19WT1JURVg9eQorIyBDT05GSUdfVk9SVEVYIGlzIG5vdCBzZXQKICMgQ09ORklHX1RZUEhPT04gaXMgbm90IHNldAogQ09ORklHX05FVF9UVUxJUD15CiAjIENPTkZJR19ERTIxMDRYIGlzIG5vdCBzZXQKLUNPTkZJR19UVUxJUD15Ci0jIENPTkZJR19UVUxJUF9NV0kgaXMgbm90IHNldAotIyBDT05GSUdfVFVMSVBfTU1JTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9OQVBJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RVTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFNFg1IGlzIG5vdCBzZXQKICMgQ09ORklHX1dJTkJPTkRfODQwIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNOTEwMiBpcyBub3Qgc2V0CiAjIENPTkZJR19VTEk1MjZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9YSVJDT00gaXMgbm90IHNldAogIyBDT05GSUdfSFAxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTV9ORVdfRU1BQ19UQUggaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIENPTkZJR19ORVRfUENJPXkKICMgQ09ORklHX1BDTkVUMzIgaXMgbm90IHNldAogIyBDT05GSUdfQU1EODExMV9FVEggaXMgbm90IHNldAogIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBpcyBub3Qgc2V0Ci1DT05GSUdfQjQ0PXkKKyMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiBDT05GSUdfRk9SQ0VERVRIPXkKICMgQ09ORklHX0ZPUkNFREVUSF9OQVBJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RHUlMgaXMgbm90IHNldAogIyBDT05GSUdfRUVQUk8xMDAgaXMgbm90IHNldAogQ09ORklHX0UxMDA9eQogIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKICMgQ09ORklHX05BVFNFTUkgaXMgbm90IHNldAogIyBDT05GSUdfTkUyS19QQ0kgaXMgbm90IHNldAotQ09ORklHXzgxMzlDUD15CisjIENPTkZJR184MTM5Q1AgaXMgbm90IHNldAogQ09ORklHXzgxMzlUT089eQotIyBDT05GSUdfODEzOVRPT19QSU8gaXMgbm90IHNldAorQ09ORklHXzgxMzlUT09fUElPPXkKICMgQ09ORklHXzgxMzlUT09fVFVORV9UV0lTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlUT09fODEyOSBpcyBub3Qgc2V0CiAjIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CisjIENPTkZJR19SNjA0MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVM5MDAgaXMgbm90IHNldAogIyBDT05GSUdfRVBJQzEwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CkBAIC04MTQsMzQgKzk2Myw3NSBAQAogQ09ORklHX0UxMDAwPXkKICMgQ09ORklHX0UxMDAwX05BUEkgaXMgbm90IHNldAogIyBDT05GSUdfRTEwMDBfRElTQUJMRV9QQUNLRVRfU1BMSVQgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0UxMDAwRV9FTkFCTEVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JR0IgaXMgbm90IHNldAogIyBDT05GSUdfTlM4MzgyMCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKICMgQ09ORklHX1lFTExPV0ZJTiBpcyBub3Qgc2V0Ci1DT05GSUdfUjgxNjk9eQotIyBDT05GSUdfUjgxNjlfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19SODE2OSBpcyBub3Qgc2V0CiAjIENPTkZJR19TSVMxOTAgaXMgbm90IHNldAogIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CiBDT05GSUdfU0tZMj15CisjIENPTkZJR19TS1kyX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CiBDT05GSUdfVElHT04zPXkKLUNPTkZJR19CTlgyPXkKKyMgQ09ORklHX0JOWDIgaXMgbm90IHNldAogIyBDT05GSUdfUUxBM1hYWCBpcyBub3Qgc2V0CiAjIENPTkZJR19BVEwxIGlzIG5vdCBzZXQKIENPTkZJR19ORVRERVZfMTAwMDA9eQogIyBDT05GSUdfQ0hFTFNJT19UMSBpcyBub3Qgc2V0CiAjIENPTkZJR19DSEVMU0lPX1QzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lYR0JFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lYR0IgaXMgbm90IHNldAogIyBDT05GSUdfUzJJTyBpcyBub3Qgc2V0CiAjIENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRYRU5fTklDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05JVSBpcyBub3Qgc2V0CiAjIENPTkZJR19NTFg0X0NPUkUgaXMgbm90IHNldAotIyBDT05GSUdfVFIgaXMgbm90IHNldAorIyBDT05GSUdfVEVIVVRJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JOWDJYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NGQyBpcyBub3Qgc2V0CitDT05GSUdfVFI9eQorIyBDT05GSUdfSUJNT0wgaXMgbm90IHNldAorIyBDT05GSUdfSUJNTFMgaXMgbm90IHNldAorIyBDT05GSUdfM0MzNTkgaXMgbm90IHNldAorIyBDT05GSUdfVE1TMzgwVFIgaXMgbm90IHNldAogCiAjCiAjIFdpcmVsZXNzIExBTgogIwogIyBDT05GSUdfV0xBTl9QUkU4MDIxMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19XTEFOXzgwMjExIGlzIG5vdCBzZXQKK0NPTkZJR19XTEFOXzgwMjExPXkKKyMgQ09ORklHX1BDTUNJQV9SQVlDUyBpcyBub3Qgc2V0CisjIENPTkZJR19JUFcyMTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIyMDAgaXMgbm90IHNldAorIyBDT05GSUdfTElCRVJUQVMgaXMgbm90IHNldAorIyBDT05GSUdfQUlSTyBpcyBub3Qgc2V0CisjIENPTkZJR19IRVJNRVMgaXMgbm90IHNldAorIyBDT05GSUdfQVRNRUwgaXMgbm90IHNldAorIyBDT05GSUdfQUlST19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfV0wzNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BSSVNNNTQgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1pEMTIwMSBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfTkVUX1JORElTX1dMQU4gaXMgbm90IHNldAorIyBDT05GSUdfUlRMODE4MCBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTg3IGlzIG5vdCBzZXQKKyMgQ09ORklHX0FETTgyMTEgaXMgbm90IHNldAorIyBDT05GSUdfUDU0X0NPTU1PTiBpcyBub3Qgc2V0CitDT05GSUdfQVRINUs9eQorIyBDT05GSUdfQVRINUtfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSSBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xDT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTFdJRklfTEVEUyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0w0OTY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDM5NDUgaXMgbm90IHNldAorIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0MyBpcyBub3Qgc2V0CisjIENPTkZJR19CNDNMRUdBQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWkQxMjExUlcgaXMgbm90IHNldAorIyBDT05GSUdfUlQyWDAwIGlzIG5vdCBzZXQKIAogIwogIyBVU0IgTmV0d29yayBBZGFwdGVycwpAQCAtODUwLDE2ICsxMDQwLDI3IEBACiAjIENPTkZJR19VU0JfS0FXRVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9QRUdBU1VTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9SVEw4MTUwIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9VU0JORVRfTUlJIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAorQ09ORklHX05FVF9QQ01DSUE9eQorIyBDT05GSUdfUENNQ0lBXzNDNTg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV8zQzU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfRk1WSjE4WCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfUENORVQgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX05NQ0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfU01DOTFDOTIgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkMyUFMgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX0FYTkVUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9JQk1UUiBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU4gaXMgbm90IHNldAotIyBDT05GSUdfRkRESSBpcyBub3Qgc2V0CitDT05GSUdfRkREST15CisjIENPTkZJR19ERUZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TS0ZQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hJUFBJIGlzIG5vdCBzZXQKICMgQ09ORklHX1BQUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TTElQIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TSEFQRVIgaXMgbm90IHNldAogQ09ORklHX05FVENPTlNPTEU9eQorIyBDT05GSUdfTkVUQ09OU09MRV9EWU5BTUlDIGlzIG5vdCBzZXQKIENPTkZJR19ORVRQT0xMPXkKICMgQ09ORklHX05FVFBPTExfVFJBUCBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1BPTExfQ09OVFJPTExFUj15CkBAIC04NzAsMTggKzEwNzEsMTcgQEAKICMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKICMKIENPTkZJR19JTlBVVD15Ci0jIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1BPTExERVYgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0ZGX01FTUxFU1M9eQorQ09ORklHX0lOUFVUX1BPTExERVY9eQogCiAjCiAjIFVzZXJsYW5kIGludGVyZmFjZXMKICMKIENPTkZJR19JTlBVVF9NT1VTRURFVj15Ci1DT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQorIyBDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVggaXMgbm90IHNldAogQ09ORklHX0lOUFVUX01PVVNFREVWX1NDUkVFTl9YPTEwMjQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWT03NjgKICMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CiBDT05GSUdfSU5QVVRfRVZERVY9eQogIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAogCkBAIC05MDYsMTcgKzExMDYsNjMgQEAKICMgQ09ORklHX01PVVNFX1NFUklBTCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9BUFBMRVRPVUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX01PVVNFX1ZTWFhYQUEgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfSk9ZU1RJQ0sgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX01JU0MgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX0pPWVNUSUNLPXkKKyMgQ09ORklHX0pPWVNUSUNLX0FOQUxPRyBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19BM0QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0NPQlJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dGMksgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HUklQX01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dVSUxMRU1PVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TSURFV0lOREVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RNREMgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1dBUlJJT1IgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfTUFHRUxMQU4gaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VCQUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NUSU5HRVIgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19aSEVOSFVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0pPWURVTVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfVEFCTEVUPXkKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUNFQ0FEIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfR1RDTyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0tCVEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RPVUNIU0NSRUVOPXkKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0ZVSklUU1UgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fR1VOWkUgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fRUxPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NSzcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9QRU5NT1VOVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFJJR0hUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1RPVUNIV0lOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VDQjE0MDAgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVVNCX0NPTVBPU0lURSBpcyBub3Qgc2V0CitDT05GSUdfSU5QVVRfTUlTQz15CisjIENPTkZJR19JTlBVVF9QQ1NQS1IgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVBBTkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1dJU1RST05fQlROUyBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVExBU19CVE5TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUSV9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URTIgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1lFQUxJTksgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKIENPTkZJR19TRVJJTz15CiBDT05GSUdfU0VSSU9fSTgwNDI9eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU9fU0VSUE9SVD15CiAjIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldAogQ09ORklHX1NFUklPX0xJQlBTMj15CkBAIC05MjksOCArMTE3NSwyNiBAQAogQ09ORklHX1ZUPXkKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORz15CitDT05GSUdfREVWS01FTT15CitDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEPXkKKyMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CisjIENPTkZJR19ST0NLRVRQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NZQ0xBREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RJR0lFUENBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PWEFfSU5URUxMSU8gaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9TTUFSVElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOS01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LX0dUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0CisjIENPTkZJR19SSVNDT004IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CisjIENPTkZJR19TWCBpcyBub3Qgc2V0CisjIENPTkZJR19SSU8gaXMgbm90IHNldAorIyBDT05GSUdfU1RBTERSViBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCkBAIC05NDAsOSArMTIwNCwxNCBAQAogQ09ORklHX0ZJWF9FQVJMWUNPTl9NRU09eQogQ09ORklHX1NFUklBTF84MjUwX1BDST15CiBDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKLUNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CisjIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9MzIKIENPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTQKLSMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CitDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JUUz15CitDT05GSUdfU0VSSUFMXzgyNTBfU0hBUkVfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9ERVRFQ1RfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9SU0E9eQogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKQEAgLTk1MSwyMCArMTIyMCwxNjggQEAKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NPXkKLUNPTkZJR19IV19SQU5ET01fSU5URUw9eQotQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQorIyBDT05GSUdfSFdfUkFORE9NX0lOVEVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXX1JBTkRPTV9BTUQgaXMgbm90IHNldAogQ09ORklHX0hXX1JBTkRPTV9HRU9ERT15CiBDT05GSUdfSFdfUkFORE9NX1ZJQT15Ci0jIENPTkZJR19OVlJBTSBpcyBub3Qgc2V0Ci1DT05GSUdfUlRDPXkKK0NPTkZJR19OVlJBTT15CiAjIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19TT05ZUEkgaXMgbm90IHNldAorCisjCisjIFBDTUNJQSBjaGFyYWN0ZXIgZGV2aWNlcworIworIyBDT05GSUdfU1lOQ0xJTktfQ1MgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CisjIENPTkZJR19JUFdJUkVMRVNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDODczNnhfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19OU0NfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19DUzU1MzVfR1BJTyBpcyBub3Qgc2V0CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKK0NPTkZJR19IUEVUPXkKKyMgQ09ORklHX0hQRVRfUlRDX0lSUSBpcyBub3Qgc2V0CisjIENPTkZJR19IUEVUX01NQVAgaXMgbm90IHNldAorIyBDT05GSUdfSEFOR0NIRUNLX1RJTUVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAorIyBDT05GSUdfVEVMQ0xPQ0sgaXMgbm90IHNldAorQ09ORklHX0RFVlBPUlQ9eQorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CisjIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CisKKyMKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CisjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfSTgwMT15CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfU0N4MjAwX0FDQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNTU5NSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTNjMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSVM5NlggaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1RBT1NfRVZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TVFVCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WSUFQUk8gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZPT0RPTzMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1BDQV9QTEFURk9STSBpcyBub3Qgc2V0CisKKyMKKyMgTWlzY2VsbGFuZW91cyBJMkMgQ2hpcCBzdXBwb3J0CisjCisjIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19FRVBST00gaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDRjg1NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19QQ0Y4NTkxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfTUFYNjg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX1RTTDI1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0FMR08gaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0JVUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorIyBDT05GSUdfVzEgaXMgbm90IHNldAorQ09ORklHX1BPV0VSX1NVUFBMWT15CisjIENPTkZJR19QT1dFUl9TVVBQTFlfREVCVUcgaXMgbm90IHNldAorIyBDT05GSUdfUERBX1BPV0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0JBVFRFUllfRFMyNzYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hXTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19USEVSTUFMPXkKK0NPTkZJR19XQVRDSERPRz15CisjIENPTkZJR19XQVRDSERPR19OT1dBWU9VVCBpcyBub3Qgc2V0CisKKyMKKyMgV2F0Y2hkb2cgRGV2aWNlIERyaXZlcnMKKyMKKyMgQ09ORklHX1NPRlRfV0FUQ0hET0cgaXMgbm90IHNldAorIyBDT05GSUdfQUNRVUlSRV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQURWQU5URUNIX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19BTElNMTUzNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTcxMDFfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDNTIwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19FVVJPVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSUI3MDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCTUFTUiBpcyBub3Qgc2V0CisjIENPTkZJR19XQUZFUl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfSTYzMDBFU0JfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUQ09fV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lUODcxMkZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hQX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDMTIwMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfUEM4NzQxM19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfNjBYWF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDODM2MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDNzI0MF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVNV9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU01TQzM3Qjc4N19XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzNjI3SEZfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzY5N0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM4NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM5NzdGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19NQUNIWl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfU0JDX0VQWF9DM19XQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgUENJLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19QQ0lQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX1dEVFBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCLWJhc2VkIFdhdGNoZG9nIENhcmRzCisjCisjIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKKworIworIyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKKyMKK0NPTkZJR19TU0JfUE9TU0lCTEU9eQorIyBDT05GSUdfU1NCIGlzIG5vdCBzZXQKKworIworIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCisjCisjIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAorIyBDT05GSUdfSFRDX1BBU0lDMyBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkZXZpY2VzCisjCisKKyMKKyMgTXVsdGltZWRpYSBjb3JlIHN1cHBvcnQKKyMKKyMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CisjIENPTkZJR19EVkJfQ09SRSBpcyBub3Qgc2V0CisKKyMKKyMgTXVsdGltZWRpYSBkcml2ZXJzCisjCitDT05GSUdfREFCPXkKKyMgQ09ORklHX1VTQl9EQUJVU0IgaXMgbm90IHNldAorCisjCisjIEdyYXBoaWNzIHN1cHBvcnQKKyMKIENPTkZJR19BR1A9eQogIyBDT05GSUdfQUdQX0FMSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BR1BfQVRJIGlzIG5vdCBzZXQKQEAgLTk3Niw2NCArMTM5MywxMDIgQEAKICMgQ09ORklHX0FHUF9TV09SS1MgaXMgbm90IHNldAogIyBDT05GSUdfQUdQX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19BR1BfRUZGSUNFT04gaXMgbm90IHNldAotIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKLSMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1BDODczNnhfR1BJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19OU0NfR1BJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19DUzU1MzVfR1BJTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkFXX0RSSVZFUj15Ci1DT05GSUdfTUFYX1JBV19ERVZTPTI1NgotQ09ORklHX0hQRVQ9eQotIyBDT05GSUdfSFBFVF9SVENfSVJRIGlzIG5vdCBzZXQKLUNPTkZJR19IUEVUX01NQVA9eQotIyBDT05GSUdfSEFOR0NIRUNLX1RJTUVSIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAotIyBDT05GSUdfVEVMQ0xPQ0sgaXMgbm90IHNldAotQ09ORklHX0RFVlBPUlQ9eQotIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKK0NPTkZJR19EUk09eQorIyBDT05GSUdfRFJNX1RERlggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1IxMjggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1JBREVPTiBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgzMCBpcyBub3Qgc2V0CitDT05GSUdfRFJNX0k5MTU9eQorIyBDT05GSUdfRFJNX01HQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CitDT05GSUdfRkI9eQorIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAorQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CitDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKK0NPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9ERUZFUlJFRF9JTz15CisjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CitDT05GSUdfRkJfTU9ERV9IRUxQRVJTPXkKK0NPTkZJR19GQl9USUxFQkxJVFRJTkc9eQogCiAjCi0jIFNQSSBzdXBwb3J0CisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCiAjCi0jIENPTkZJR19TUEkgaXMgbm90IHNldAotIyBDT05GSUdfU1BJX01BU1RFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XMSBpcyBub3Qgc2V0Ci0jIENPTkZJR19QT1dFUl9TVVBQTFkgaXMgbm90IHNldAotIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAotCi0jCi0jIE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKLSMKLSMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0Ci0KLSMKLSMgTXVsdGltZWRpYSBkZXZpY2VzCi0jCi0jIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAotIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAotQ09ORklHX0RBQj15Ci0jIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKLQotIwotIyBHcmFwaGljcyBzdXBwb3J0Ci0jCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9DWUJFUjIwMDAgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVJDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FTSUxJQU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0lNU1RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZHQTE2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1VWRVNBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZFU0EgaXMgbm90IHNldAorQ09ORklHX0ZCX0VGST15CisjIENPTkZJR19GQl9JTUFDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX040MTEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSEdBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1MxRDEzWFhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9SSVZBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0k4MTAgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTEU4MDU3OCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAorIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAorIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQ1lCTEEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUksgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0dFT0RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVD15CisjIENPTkZJR19MQ0RfQ0xBU1NfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFPXkKKyMgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSSBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKIENPTkZJR19WR0FfQ09OU09MRT15CiBDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDSz15Ci1DT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTEyOAorQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0tfU0laRT02NAogQ09ORklHX1ZJREVPX1NFTEVDVD15CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPPXkKKyMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCkBAIC0xMDQzLDMzICsxNDk4LDE2NyBAQAogIwogIyBBZHZhbmNlZCBMaW51eCBTb3VuZCBBcmNoaXRlY3R1cmUKICMKLSMgQ09ORklHX1NORCBpcyBub3Qgc2V0CitDT05GSUdfU05EPXkKK0NPTkZJR19TTkRfVElNRVI9eQorQ09ORklHX1NORF9QQ009eQorQ09ORklHX1NORF9IV0RFUD15CitDT05GSUdfU05EX1NFUVVFTkNFUj15CitDT05GSUdfU05EX1NFUV9EVU1NWT15CitDT05GSUdfU05EX09TU0VNVUw9eQorQ09ORklHX1NORF9NSVhFUl9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTPXkKK0NPTkZJR19TTkRfUENNX09TU19QTFVHSU5TPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSX09TUz15CitDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTPXkKK0NPTkZJR19TTkRfU1VQUE9SVF9PTERfQVBJPXkKK0NPTkZJR19TTkRfVkVSQk9TRV9QUk9DRlM9eQorIyBDT05GSUdfU05EX1ZFUkJPU0VfUFJJTlRLIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfU05EX1ZNQVNURVI9eQorCisjCisjIEdlbmVyaWMgZGV2aWNlcworIworIyBDT05GSUdfU05EX1BDU1AgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RVTU1ZIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJNSURJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU0VSSUFMX1UxNjU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTVBVNDAxIGlzIG5vdCBzZXQKKworIworIyBQQ0kgZGV2aWNlcworIworIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQUxTMzAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFM0MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVElJWFAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODEwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVcyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BWlQzMzI4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9CVDg3WCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ0EwMTA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DTUlQQ0kgaXMgbm90IHNldAorIyBDT05GSUdfU05EX09YWUdFTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQ2WFggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNTUzMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M1NTM1QVVESU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfREFSTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfR0lOQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NT05BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSUEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTkRJR09JTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VNVTEwSzFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTlMxMzcxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5MzggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRk04MDEgaXMgbm90IHNldAorQ09ORklHX1NORF9IREFfSU5URUw9eQorQ09ORklHX1NORF9IREFfSFdERVA9eQorQ09ORklHX1NORF9IREFfQ09ERUNfUkVBTFRFSz15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BTkFMT0c9eQorQ09ORklHX1NORF9IREFfQ09ERUNfU0lHTUFURUw9eQorQ09ORklHX1NORF9IREFfQ09ERUNfVklBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0FUSUhETUk9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ09ORVhBTlQ9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQ01FRElBPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJMzA1ND15CitDT05GSUdfU05EX0hEQV9HRU5FUklDPXkKKyMgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSERTUE0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hJRklFUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcxMiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSUNFMTcyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfS09SRzEyMTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NSVhBUlQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX05NMjU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QQ1hIUiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUklQVElERSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FMzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NjUyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TSVM3MDE5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TT05JQ1ZJQkVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSUE4MlhYX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9WSVJUVU9TTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVlgyMjIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1lNRlBDSSBpcyBub3Qgc2V0CisKKyMKKyMgVVNCIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9VU0JfQVVESU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9VU1gyWSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVVNCX0NBSUFRIGlzIG5vdCBzZXQKKworIworIyBQQ01DSUEgZGV2aWNlcworIworIyBDT05GSUdfU05EX1ZYUE9DS0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9QREFVRElPQ0YgaXMgbm90IHNldAorCisjCisjIFN5c3RlbSBvbiBDaGlwIGF1ZGlvIHN1cHBvcnQKKyMKKyMgQ09ORklHX1NORF9TT0MgaXMgbm90IHNldAorCisjCisjIEFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcworIworCisjCisjIFNvQyBBdWRpbyBmb3IgdGhlIFRleGFzIEluc3RydW1lbnRzIE9NQVAKKyMKIAogIwogIyBPcGVuIFNvdW5kIFN5c3RlbQogIwotQ09ORklHX1NPVU5EX1BSSU1FPXkKLSMgQ09ORklHX1NPVU5EX1RSSURFTlQgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORENMQVMgaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfTVNORFBJTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19TT1VORF9PU1MgaXMgbm90IHNldAorIyBDT05GSUdfU09VTkRfUFJJTUUgaXMgbm90IHNldAogQ09ORklHX0hJRF9TVVBQT1JUPXkKIENPTkZJR19ISUQ9eQotIyBDT05GSUdfSElEX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19ISURfREVCVUc9eQorQ09ORklHX0hJRFJBVz15CiAKICMKICMgVVNCIElucHV0IERldmljZXMKICMKIENPTkZJR19VU0JfSElEPXkKLSMgQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0sgaXMgbm90IHNldAotIyBDT05GSUdfSElEX0ZGIGlzIG5vdCBzZXQKLSMgQ09ORklHX1VTQl9ISURERVYgaXMgbm90IHNldAorQ09ORklHX1VTQl9ISURJTlBVVF9QT1dFUkJPT0s9eQorQ09ORklHX0hJRF9GRj15CitDT05GSUdfSElEX1BJRD15CitDT05GSUdfTE9HSVRFQ0hfRkY9eQorIyBDT05GSUdfTE9HSVJVTUJMRVBBRDJfRkYgaXMgbm90IHNldAorQ09ORklHX1BBTlRIRVJMT1JEX0ZGPXkKK0NPTkZJR19USFJVU1RNQVNURVJfRkY9eQorQ09ORklHX1pFUk9QTFVTX0ZGPXkKK0NPTkZJR19VU0JfSElEREVWPXkKIENPTkZJR19VU0JfU1VQUE9SVD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX0hDRD15CiBDT05GSUdfVVNCX0FSQ0hfSEFTX09IQ0k9eQogQ09ORklHX1VTQl9BUkNIX0hBU19FSENJPXkKIENPTkZJR19VU0I9eQotIyBDT05GSUdfVVNCX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfREVCVUc9eQorQ09ORklHX1VTQl9BTk5PVU5DRV9ORVdfREVWSUNFUz15CiAKICMKICMgTWlzY2VsbGFuZW91cyBVU0Igb3B0aW9ucwpAQCAtMTA3NywxOCArMTY2NiwxOCBAQAogQ09ORklHX1VTQl9ERVZJQ0VGUz15CiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVU1BFTkQ9eQogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX0VIQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9IQ0Q9eQogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CkBAIC0xMTIxLDggKzE3MTAsMTAgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9MSUJVU1VBTD15CiAKICMKICMgVVNCIEltYWdpbmcgZGV2aWNlcwpAQCAtMTEzNCwxMCArMTcyNSw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTE2Myw5MCArMTc1MCwxMjUgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwogIyBMRUQgZHJpdmVycwogIworIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIAogIwogIyBMRUQgVHJpZ2dlcnMKICMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CisjIENPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldAogIyBDT05GSUdfSU5GSU5JQkFORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19FREFDPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgUmVwb3J0aW5nIHN1YnN5c3RlbXMKICMKLSMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19FREFDX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfTU1fRURBQyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CitDT05GSUdfUlRDX0NMQVNTPXkKKyMgQ09ORklHX1JUQ19IQ1RPU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0CisjIFJUQyBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfSU5URl9TWVNGUz15CitDT05GSUdfUlRDX0lOVEZfUFJPQz15CitDT05GSUdfUlRDX0lOVEZfREVWPXkKKyMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIERNQSBDbGllbnRzCisjIEkyQyBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0NNT1M9eQorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19ETUFERVZJQ0VTPXkKIAogIwogIyBETUEgRGV2aWNlcwogIwotQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKLSMgQ09ORklHX0tWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFTF9JT0FURE1BIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VJTyBpcyBub3Qgc2V0CiAKICMKLSMgVXNlcnNwYWNlIEkvTworIyBGaXJtd2FyZSBEcml2ZXJzCiAjCi0jIENPTkZJR19VSU8gaXMgbm90IHNldAorIyBDT05GSUdfRUREIGlzIG5vdCBzZXQKK0NPTkZJR19FRklfVkFSUz15CisjIENPTkZJR19ERUxMX1JCVSBpcyBub3Qgc2V0CisjIENPTkZJR19EQ0RCQVMgaXMgbm90IHNldAorQ09ORklHX0RNSUlEPXkKKyMgQ09ORklHX0lTQ1NJX0lCRlRfRklORCBpcyBub3Qgc2V0CiAKICMKICMgRmlsZSBzeXN0ZW1zCiAjCi1DT05GSUdfRVhUMl9GUz15Ci1DT05GSUdfRVhUMl9GU19YQVRUUj15Ci1DT05GSUdfRVhUMl9GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUMl9GU19TRUNVUklUWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19FWFQyX0ZTX1hJUCBpcyBub3Qgc2V0CisjIENPTkZJR19FWFQyX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19FWFQzX0ZTPXkKIENPTkZJR19FWFQzX0ZTX1hBVFRSPXkKIENPTkZJR19FWFQzX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZIGlzIG5vdCBzZXQKK0NPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKICMgQ09ORklHX0VYVDRERVZfRlMgaXMgbm90IHNldAogQ09ORklHX0pCRD15CiAjIENPTkZJR19KQkRfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0ZTX01CQ0FDSEU9eQotQ09ORklHX1JFSVNFUkZTX0ZTPXkKLSMgQ09ORklHX1JFSVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JFSVNFUkZTX1BST0NfSU5GTyBpcyBub3Qgc2V0Ci1DT05GSUdfUkVJU0VSRlNfRlNfWEFUVFI9eQotQ09ORklHX1JFSVNFUkZTX0ZTX1BPU0lYX0FDTD15Ci0jIENPTkZJR19SRUlTRVJGU19GU19TRUNVUklUWSBpcyBub3Qgc2V0CisjIENPTkZJR19SRUlTRVJGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0ZTX1BPU0lYX0FDTD15CiAjIENPTkZJR19YRlNfRlMgaXMgbm90IHNldAotIyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19PQ0ZTMl9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NSU5JWF9GUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CitDT05GSUdfRE5PVElGWT15CiBDT05GSUdfSU5PVElGWT15CiBDT05GSUdfSU5PVElGWV9VU0VSPXkKLSMgQ09ORklHX1FVT1RBIGlzIG5vdCBzZXQKLUNPTkZJR19ETk9USUZZPXkKK0NPTkZJR19RVU9UQT15CitDT05GSUdfUVVPVEFfTkVUTElOS19JTlRFUkZBQ0U9eQorIyBDT05GSUdfUFJJTlRfUVVPVEFfV0FSTklORyBpcyBub3Qgc2V0CisjIENPTkZJR19RRk1UX1YxIGlzIG5vdCBzZXQKK0NPTkZJR19RRk1UX1YyPXkKK0NPTkZJR19RVU9UQUNUTD15CiAjIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldAogQ09ORklHX0FVVE9GUzRfRlM9eQogIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkBAIC0xMjU2LDggKzE4NzgsOCBAQAogIyBDRC1ST00vRFZEIEZpbGVzeXN0ZW1zCiAjCiBDT05GSUdfSVNPOTY2MF9GUz15Ci0jIENPTkZJR19KT0xJRVQgaXMgbm90IHNldAotIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19KT0xJRVQ9eQorQ09ORklHX1pJU09GUz15CiAjIENPTkZJR19VREZfRlMgaXMgbm90IHNldAogCiAjCkBAIC0xMjc1LDEzICsxODk3LDEzIEBACiAjCiBDT05GSUdfUFJPQ19GUz15CiBDT05GSUdfUFJPQ19LQ09SRT15CitDT05GSUdfUFJPQ19WTUNPUkU9eQogQ09ORklHX1BST0NfU1lTQ1RMPXkKIENPTkZJR19TWVNGUz15CiBDT05GSUdfVE1QRlM9eQogQ09ORklHX1RNUEZTX1BPU0lYX0FDTD15CiBDT05GSUdfSFVHRVRMQkZTPXkKIENPTkZJR19IVUdFVExCX1BBR0U9eQotQ09ORklHX1JBTUZTPXkKICMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTI4OSw2ICsxOTExLDcgQEAKICMKICMgQ09ORklHX0FERlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQUZGU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19FQ1JZUFRfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CkBAIC0xMjk2LDMzICsxOTE5LDE1IEBACiAjIENPTkZJR19FRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1ZYRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSFBGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19VRlNfRlMgaXMgbm90IHNldAotCi0jCi0jIE5ldHdvcmsgRmlsZSBTeXN0ZW1zCi0jCi1DT05GSUdfTkZTX0ZTPXkKLUNPTkZJR19ORlNfVjM9eQotIyBDT05GSUdfTkZTX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNfVjQgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX0RJUkVDVElPIGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEPXkKLUNPTkZJR19ORlNEX1YzPXkKLSMgQ09ORklHX05GU0RfVjNfQUNMIGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU0RfVjQgaXMgbm90IHNldAotQ09ORklHX05GU0RfVENQPXkKLUNPTkZJR19ST09UX05GUz15Ci1DT05GSUdfTE9DS0Q9eQotQ09ORklHX0xPQ0tEX1Y0PXkKLUNPTkZJR19FWFBPUlRGUz15Ci1DT05GSUdfTkZTX0NPTU1PTj15Ci1DT05GSUdfU1VOUlBDPXkKLSMgQ09ORklHX1NVTlJQQ19CSU5EMzQgaXMgbm90IHNldAotIyBDT05GSUdfUlBDU0VDX0dTU19LUkI1IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAorQ09ORklHX05FVFdPUktfRklMRVNZU1RFTVM9eQorIyBDT05GSUdfTkZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GU0QgaXMgbm90IHNldAogIyBDT05GSUdfU01CX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NJRlMgaXMgbm90IHNldAogIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKQEAgLTEzMzIsMTQgKzE5MzcsMjYgQEAKICMKICMgUGFydGl0aW9uIFR5cGVzCiAjCi0jIENPTkZJR19QQVJUSVRJT05fQURWQU5DRUQgaXMgbm90IHNldAorQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CisjIENPTkZJR19BQ09STl9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX09TRl9QQVJUSVRJT049eQorQ09ORklHX0FNSUdBX1BBUlRJVElPTj15CisjIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX01BQ19QQVJUSVRJT049eQogQ09ORklHX01TRE9TX1BBUlRJVElPTj15Ci0KLSMKLSMgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKLSMKK0NPTkZJR19CU0RfRElTS0xBQkVMPXkKK0NPTkZJR19NSU5JWF9TVUJQQVJUSVRJT049eQorQ09ORklHX1NPTEFSSVNfWDg2X1BBUlRJVElPTj15CitDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKKyMgQ09ORklHX0xETV9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NHSV9QQVJUSVRJT049eQorIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CitDT05GSUdfU1VOX1BBUlRJVElPTj15CitDT05GSUdfS0FSTUFfUEFSVElUSU9OPXkKK0NPTkZJR19FRklfUEFSVElUSU9OPXkKKyMgQ09ORklHX1NZU1Y2OF9QQVJUSVRJT04gaXMgbm90IHNldAogQ09ORklHX05MUz15Ci1DT05GSUdfTkxTX0RFRkFVTFQ9Imlzbzg4NTktMSIKK0NPTkZJR19OTFNfREVGQVVMVD0idXRmOCIKIENPTkZJR19OTFNfQ09ERVBBR0VfNDM3PXkKICMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0NPREVQQUdFXzc3NSBpcyBub3Qgc2V0CkBAIC0xMzc0LDM3ICsxOTkxLDMzIEBACiAjIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19JU084ODU5XzE0IGlzIG5vdCBzZXQKLUNPTkZJR19OTFNfSVNPODg1OV8xNT15CisjIENPTkZJR19OTFNfSVNPODg1OV8xNSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9SIGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19LT0k4X1UgaXMgbm90IHNldAogQ09ORklHX05MU19VVEY4PXkKLQotIwotIyBEaXN0cmlidXRlZCBMb2NrIE1hbmFnZXIKLSMKICMgQ09ORklHX0RMTSBpcyBub3Qgc2V0Ci1DT05GSUdfSU5TVFJVTUVOVEFUSU9OPXkKLUNPTkZJR19QUk9GSUxJTkc9eQotQ09ORklHX09QUk9GSUxFPXkKLUNPTkZJR19LUFJPQkVTPXkKIAogIwogIyBLZXJuZWwgaGFja2luZwogIwogQ09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQogIyBDT05GSUdfUFJJTlRLX1RJTUUgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfV0FSTj0yMDQ4CiBDT05GSUdfTUFHSUNfU1lTUlE9eQotQ09ORklHX1VOVVNFRF9TWU1CT0xTPXkKLSMgQ09ORklHX0RFQlVHX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19GUz15CiAjIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIENPTkZJR19ERUJVR19LRVJORUw9eQogIyBDT05GSUdfREVCVUdfU0hJUlEgaXMgbm90IHNldAotQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQPXkKKyMgQ09ORklHX0RFVEVDVF9TT0ZUTE9DS1VQIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDSEVEX0RFQlVHIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDSEVEU1RBVFMgaXMgbm90IHNldAorQ09ORklHX1NDSEVEU1RBVFM9eQogQ09ORklHX1RJTUVSX1NUQVRTPXkKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAogIyBDT05GSUdfU0xVQl9ERUJVR19PTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKQEAgLTE0MTksNDggKzIwMzIsMTc0IEBACiBDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiAjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19PUFRJTUlaRV9JTkxJTklORz15CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAorIyBDT05GSUdfTEFURU5DWVRPUCBpcyBub3Qgc2V0CitDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVD15CisjIENPTkZJR19TQU1QTEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tHREIgaXMgbm90IHNldAorQ09ORklHX0hBVkVfQVJDSF9LR0RCPXkKKyMgQ09ORklHX05PTlBST01JU0NfREVWTUVNIGlzIG5vdCBzZXQKIENPTkZJR19FQVJMWV9QUklOVEs9eQogQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1c9eQotIyBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UgaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19TVEFDS19VU0FHRT15CisjIENPTkZJR19ERUJVR19QQUdFQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1BURFVNUCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfUk9EQVRBPXkKKyMgQ09ORklHX0RFQlVHX1JPREFUQV9URVNUIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19OWF9URVNUPW0KICMgQ09ORklHXzRLU1RBQ0tTIGlzIG5vdCBzZXQKIENPTkZJR19YODZfRklORF9TTVBfQ09ORklHPXkKIENPTkZJR19YODZfTVBQQVJTRT15CiBDT05GSUdfRE9VQkxFRkFVTFQ9eQorQ09ORklHX0lPX0RFTEFZX1RZUEVfMFg4MD0wCitDT05GSUdfSU9fREVMQVlfVFlQRV8wWEVEPTEKK0NPTkZJR19JT19ERUxBWV9UWVBFX1VERUxBWT0yCitDT05GSUdfSU9fREVMQVlfVFlQRV9OT05FPTMKK0NPTkZJR19JT19ERUxBWV8wWDgwPXkKKyMgQ09ORklHX0lPX0RFTEFZXzBYRUQgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfVURFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPX0RFTEFZX05PTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9fREVMQVlfVFlQRT0wCitDT05GSUdfREVCVUdfQk9PVF9QQVJBTVM9eQorIyBDT05GSUdfQ1BBX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCiAjCi0jIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZUz15CitDT05GSUdfS0VZU19ERUJVR19QUk9DX0tFWVM9eQorQ09ORklHX1NFQ1VSSVRZPXkKK0NPTkZJR19TRUNVUklUWV9ORVRXT1JLPXkKKyMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTPXkKK0NPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUz15CisjIENPTkZJR19TRUNVUklUWV9ST09UUExVRyBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfREVGQVVMVF9NTUFQX01JTl9BRERSPTY1NTM2CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU09eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNX1ZBTFVFPTEKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RJU0FCTEU9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfREVWRUxPUD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQ0hFQ0tSRVFQUk9UX1ZBTFVFPTEKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRU5BQkxFX1NFQ01BUktfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX1BPTElDWURCX1ZFUlNJT05fTUFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NNQUNLIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIworQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19BRUFEPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fSEFTSD15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BVVRIRU5DPXkKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9eQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0hNQUM9eQorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1NIQTE9eQorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCitDT05GSUdfQ1JZUFRPX0FFUz15CisjIENPTkZJR19DUllQVE9fQUVTXzU4NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVJDND15CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwXzU4NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIXzU4NiBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX1BBRExPQ0sgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0RFVl9HRU9ERSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LVk09eQorQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKKyMgQ09ORklHX0tWTSBpcyBub3Qgc2V0CisjIENPTkZJR19MR1VFU1QgaXMgbm90IHNldAorIyBDT05GSUdfVklSVElPX1BDSSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fQkFMTE9PTiBpcyBub3Qgc2V0CiAKICMKICMgTGlicmFyeSByb3V0aW5lcwogIwogQ09ORklHX0JJVFJFVkVSU0U9eQorQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQ9eQorQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVD15CiAjIENPTkZJR19DUkNfQ0NJVFQgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldAogIyBDT05GSUdfQ1JDX0lUVV9UIGlzIG5vdCBzZXQKIENPTkZJR19DUkMzMj15CiAjIENPTkZJR19DUkM3IGlzIG5vdCBzZXQKICMgQ09ORklHX0xJQkNSQzMyQyBpcyBub3Qgc2V0CitDT05GSUdfQVVESVRfR0VORVJJQz15CiBDT05GSUdfWkxJQl9JTkZMQVRFPXkKIENPTkZJR19QTElTVD15CiBDT05GSUdfSEFTX0lPTUVNPXkKIENPTkZJR19IQVNfSU9QT1JUPXkKIENPTkZJR19IQVNfRE1BPXkKLUNPTkZJR19HRU5FUklDX0hBUkRJUlFTPXkKLUNPTkZJR19HRU5FUklDX0lSUV9QUk9CRT15Ci1DT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15Ci1DT05GSUdfWDg2X1NNUD15Ci1DT05GSUdfWDg2X0hUPXkKLUNPTkZJR19YODZfQklPU19SRUJPT1Q9eQotQ09ORklHX1g4Nl9UUkFNUE9MSU5FPXkKLUNPTkZJR19LVElNRV9TQ0FMQVI9eQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnIGIvYXJjaC94ODYvY29uZmlncy94ODZfNjRfZGVmY29uZmlnCmluZGV4IDJkNmY1YjIuLmFlNTEyNGUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZworKysgYi9hcmNoL3g4Ni9jb25maWdzL3g4Nl82NF9kZWZjb25maWcKQEAgLTEsNjQgKzEsMTAzIEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjItZ2l0MTQKLSMgRnJpIEp1bCAyMCAwOTo1MzoxNSAyMDA3CisjIExpbnV4IGtlcm5lbCB2ZXJzaW9uOiAyLjYuMjYtcmMxCisjIFN1biBNYXkgIDQgMTk6NTk6NTcgMjAwOAogIwotQ09ORklHX1g4Nl82ND15CiBDT05GSUdfNjRCSVQ9eQorIyBDT05GSUdfWDg2XzMyIGlzIG5vdCBzZXQKK0NPTkZJR19YODZfNjQ9eQogQ09ORklHX1g4Nj15CitDT05GSUdfREVGQ09ORklHX0xJU1Q9ImFyY2gveDg2L2NvbmZpZ3MveDg2XzY0X2RlZmNvbmZpZyIKKyMgQ09ORklHX0dFTkVSSUNfTE9DS0JSRUFLIGlzIG5vdCBzZXQKIENPTkZJR19HRU5FUklDX1RJTUU9eQotQ09ORklHX0dFTkVSSUNfVElNRV9WU1lTQ0FMTD15CiBDT05GSUdfR0VORVJJQ19DTU9TX1VQREFURT15Ci1DT05GSUdfWk9ORV9ETUEzMj15CitDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9eQorQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFNfQlJPQURDQVNUPXkKIENPTkZJR19MT0NLREVQX1NVUFBPUlQ9eQogQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15Ci1DT05GSUdfU0VNQVBIT1JFX1NMRUVQRVJTPXkKK0NPTkZJR19IQVZFX0xBVEVOQ1lUT1BfU1VQUE9SVD15CitDT05GSUdfRkFTVF9DTVBYQ0hHX0xPQ0FMPXkKIENPTkZJR19NTVU9eQogQ09ORklHX1pPTkVfRE1BPXkKLUNPTkZJR19RVUlDS0xJU1Q9eQotQ09ORklHX05SX1FVSUNLPTIKLUNPTkZJR19SV1NFTV9HRU5FUklDX1NQSU5MT0NLPXkKLUNPTkZJR19HRU5FUklDX0hXRUlHSFQ9eQotQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKLUNPTkZJR19YODZfQ01QWENIRz15Ci1DT05GSUdfRUFSTFlfUFJJTlRLPXkKIENPTkZJR19HRU5FUklDX0lTQV9ETUE9eQogQ09ORklHX0dFTkVSSUNfSU9NQVA9eQotQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKLUNPTkZJR19BUkNIX1BPUFVMQVRFU19OT0RFX01BUD15Ci1DT05GSUdfRE1JPXkKLUNPTkZJR19BVURJVF9BUkNIPXkKIENPTkZJR19HRU5FUklDX0JVRz15CitDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKKyMgQ09ORklHX0dFTkVSSUNfR1BJTyBpcyBub3Qgc2V0CitDT05GSUdfQVJDSF9NQVlfSEFWRV9QQ19GREM9eQorQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQorIyBDT05GSUdfUldTRU1fWENIR0FERF9BTEdPUklUSE0gaXMgbm90IHNldAogIyBDT05GSUdfQVJDSF9IQVNfSUxPRzJfVTMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ0hfSEFTX0lMT0cyX1U2NCBpcyBub3Qgc2V0Ci1DT05GSUdfREVGQ09ORklHX0xJU1Q9Ii9saWIvbW9kdWxlcy8kVU5BTUVfUkVMRUFTRS8uY29uZmlnIgotCi0jCi0jIENvZGUgbWF0dXJpdHkgbGV2ZWwgb3B0aW9ucwotIwotQ09ORklHX0VYUEVSSU1FTlRBTD15Ci1DT05GSUdfTE9DS19LRVJORUw9eQotQ09ORklHX0lOSVRfRU5WX0FSR19MSU1JVD0zMgorQ09ORklHX0FSQ0hfSEFTX0NQVV9JRExFX1dBSVQ9eQorQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKK0NPTkZJR19HRU5FUklDX1RJTUVfVlNZU0NBTEw9eQorQ09ORklHX0FSQ0hfSEFTX0NQVV9SRUxBWD15CitDT05GSUdfQVJDSF9IQVNfQ0FDSEVfTElORV9TSVpFPXkKK0NPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CitDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVA9eQorQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fUE9TU0lCTEU9eQorQ09ORklHX0FSQ0hfU1VTUEVORF9QT1NTSUJMRT15CitDT05GSUdfWk9ORV9ETUEzMj15CitDT05GSUdfQVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQorQ09ORklHX0FVRElUX0FSQ0g9eQorQ09ORklHX0FSQ0hfU1VQUE9SVFNfQU9VVD15CitDT05GSUdfQVJDSF9TVVBQT1JUU19PUFRJTUlaRURfSU5MSU5JTkc9eQorQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQorQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKK0NPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKK0NPTkZJR19YODZfU01QPXkKK0NPTkZJR19YODZfNjRfU01QPXkKK0NPTkZJR19YODZfSFQ9eQorQ09ORklHX1g4Nl9CSU9TX1JFQk9PVD15CitDT05GSUdfWDg2X1RSQU1QT0xJTkU9eQorIyBDT05GSUdfS1RJTUVfU0NBTEFSIGlzIG5vdCBzZXQKIAogIwogIyBHZW5lcmFsIHNldHVwCiAjCitDT05GSUdfRVhQRVJJTUVOVEFMPXkKK0NPTkZJR19MT0NLX0tFUk5FTD15CitDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCiBDT05GSUdfTE9DQUxWRVJTSU9OPSIiCi1DT05GSUdfTE9DQUxWRVJTSU9OX0FVVE89eQorIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNldAogQ09ORklHX1NXQVA9eQogQ09ORklHX1NZU1ZJUEM9eQogQ09ORklHX1NZU1ZJUENfU1lTQ1RMPXkKIENPTkZJR19QT1NJWF9NUVVFVUU9eQotIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAotIyBDT05GSUdfVVNFUl9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BVURJVCBpcyBub3Qgc2V0Ci1DT05GSUdfSUtDT05GSUc9eQotQ09ORklHX0lLQ09ORklHX1BST0M9eQotQ09ORklHX0xPR19CVUZfU0hJRlQ9MTgKLSMgQ09ORklHX0NQVVNFVFMgaXMgbm90IHNldAotQ09ORklHX1NZU0ZTX0RFUFJFQ0FURUQ9eQorQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1Q9eQorIyBDT05GSUdfQlNEX1BST0NFU1NfQUNDVF9WMyBpcyBub3Qgc2V0CitDT05GSUdfVEFTS1NUQVRTPXkKK0NPTkZJR19UQVNLX0RFTEFZX0FDQ1Q9eQorQ09ORklHX1RBU0tfWEFDQ1Q9eQorQ09ORklHX1RBU0tfSU9fQUNDT1VOVElORz15CitDT05GSUdfQVVESVQ9eQorQ09ORklHX0FVRElUU1lTQ0FMTD15CitDT05GSUdfQVVESVRfVFJFRT15CisjIENPTkZJR19JS0NPTkZJRyBpcyBub3Qgc2V0CitDT05GSUdfTE9HX0JVRl9TSElGVD0xNworQ09ORklHX0NHUk9VUFM9eQorIyBDT05GSUdfQ0dST1VQX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19DR1JPVVBfTlM9eQorIyBDT05GSUdfQ0dST1VQX0RFVklDRSBpcyBub3Qgc2V0CitDT05GSUdfQ1BVU0VUUz15CitDT05GSUdfR1JPVVBfU0NIRUQ9eQorQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQ9eQorIyBDT05GSUdfUlRfR1JPVVBfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfVVNFUl9TQ0hFRCBpcyBub3Qgc2V0CitDT05GSUdfQ0dST1VQX1NDSEVEPXkKK0NPTkZJR19DR1JPVVBfQ1BVQUNDVD15CitDT05GSUdfUkVTT1VSQ0VfQ09VTlRFUlM9eQorIyBDT05GSUdfQ0dST1VQX01FTV9SRVNfQ1RMUiBpcyBub3Qgc2V0CisjIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1YyIGlzIG5vdCBzZXQKK0NPTkZJR19QUk9DX1BJRF9DUFVTRVQ9eQogQ09ORklHX1JFTEFZPXkKK0NPTkZJR19OQU1FU1BBQ0VTPXkKK0NPTkZJR19VVFNfTlM9eQorQ09ORklHX0lQQ19OUz15CitDT05GSUdfVVNFUl9OUz15CitDT05GSUdfUElEX05TPXkKIENPTkZJR19CTEtfREVWX0lOSVRSRD15CiBDT05GSUdfSU5JVFJBTUZTX1NPVVJDRT0iIgogQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFPXkKQEAgLTY2LDEzICsxMDUsMTUgQEAKICMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKIENPTkZJR19VSUQxNj15CiBDT05GSUdfU1lTQ1RMX1NZU0NBTEw9eQorQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLPXkKIENPTkZJR19LQUxMU1lNUz15CiBDT05GSUdfS0FMTFNZTVNfQUxMPXkKLSMgQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1MgaXMgbm90IHNldAorQ09ORklHX0tBTExTWU1TX0VYVFJBX1BBU1M9eQogQ09ORklHX0hPVFBMVUc9eQogQ09ORklHX1BSSU5USz15CiBDT05GSUdfQlVHPXkKIENPTkZJR19FTEZfQ09SRT15CisjIENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX0ZVTEw9eQogQ09ORklHX0ZVVEVYPXkKIENPTkZJR19BTk9OX0lOT0RFUz15CkBAIC04Miw5ICsxMjMsMjEgQEAKIENPTkZJR19FVkVOVEZEPXkKIENPTkZJR19TSE1FTT15CiBDT05GSUdfVk1fRVZFTlRfQ09VTlRFUlM9eQotQ09ORklHX1NMQUI9eQotIyBDT05GSUdfU0xVQiBpcyBub3Qgc2V0CitDT05GSUdfU0xVQl9ERUJVRz15CisjIENPTkZJR19TTEFCIGlzIG5vdCBzZXQKK0NPTkZJR19TTFVCPXkKICMgQ09ORklHX1NMT0IgaXMgbm90IHNldAorQ09ORklHX1BST0ZJTElORz15CitDT05GSUdfTUFSS0VSUz15CisjIENPTkZJR19PUFJPRklMRSBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9PUFJPRklMRT15CitDT05GSUdfS1BST0JFUz15CitDT05GSUdfS1JFVFBST0JFUz15CitDT05GSUdfSEFWRV9LUFJPQkVTPXkKK0NPTkZJR19IQVZFX0tSRVRQUk9CRVM9eQorIyBDT05GSUdfSEFWRV9ETUFfQVRUUlMgaXMgbm90IHNldAorQ09ORklHX1BST0NfUEFHRV9NT05JVE9SPXkKK0NPTkZJR19TTEFCSU5GTz15CiBDT05GSUdfUlRfTVVURVhFUz15CiAjIENPTkZJR19USU5ZX1NITUVNIGlzIG5vdCBzZXQKIENPTkZJR19CQVNFX1NNQUxMPTAKQEAgLTk2LDE0ICsxNDksMTUgQEAKICMgQ09ORklHX0tNT0QgaXMgbm90IHNldAogQ09ORklHX1NUT1BfTUFDSElORT15CiBDT05GSUdfQkxPQ0s9eQotIyBDT05GSUdfQkxLX0RFVl9JT19UUkFDRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0JTRyBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9JT19UUkFDRT15CitDT05GSUdfQkxLX0RFVl9CU0c9eQorQ09ORklHX0JMT0NLX0NPTVBBVD15CiAKICMKICMgSU8gU2NoZWR1bGVycwogIwogQ09ORklHX0lPU0NIRURfTk9PUD15Ci0jIENPTkZJR19JT1NDSEVEX0FTIGlzIG5vdCBzZXQKK0NPTkZJR19JT1NDSEVEX0FTPXkKIENPTkZJR19JT1NDSEVEX0RFQURMSU5FPXkKIENPTkZJR19JT1NDSEVEX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX0FTIGlzIG5vdCBzZXQKQEAgLTExMSwxMDcgKzE2NSwxNzcgQEAKIENPTkZJR19ERUZBVUxUX0NGUT15CiAjIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfSU9TQ0hFRD0iY2ZxIgorQ09ORklHX0NMQVNTSUNfUkNVPXkKIAogIwogIyBQcm9jZXNzb3IgdHlwZSBhbmQgZmVhdHVyZXMKICMKLUNPTkZJR19YODZfUEM9eQotIyBDT05GSUdfWDg2X1ZTTVAgaXMgbm90IHNldAotIyBDT05GSUdfTUs4IGlzIG5vdCBzZXQKLSMgQ09ORklHX01QU0MgaXMgbm90IHNldAotIyBDT05GSUdfTUNPUkUyIGlzIG5vdCBzZXQKLUNPTkZJR19HRU5FUklDX0NQVT15Ci1DT05GSUdfWDg2X0wxX0NBQ0hFX0JZVEVTPTEyOAotQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD03Ci1DT05GSUdfWDg2X0lOVEVSTk9ERV9DQUNIRV9CWVRFUz0xMjgKLUNPTkZJR19YODZfVFNDPXkKLUNPTkZJR19YODZfR09PRF9BUElDPXkKLSMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0Ci1DT05GSUdfWDg2X01TUj15Ci1DT05GSUdfWDg2X0NQVUlEPXkKLUNPTkZJR19YODZfSFQ9eQotQ09ORklHX1g4Nl9JT19BUElDPXkKLUNPTkZJR19YODZfTE9DQUxfQVBJQz15Ci1DT05GSUdfTVRSUj15CitDT05GSUdfVElDS19PTkVTSE9UPXkKK0NPTkZJR19OT19IWj15CitDT05GSUdfSElHSF9SRVNfVElNRVJTPXkKK0NPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKIENPTkZJR19TTVA9eQotQ09ORklHX1NDSEVEX1NNVD15CitDT05GSUdfWDg2X1BDPXkKKyMgQ09ORklHX1g4Nl9FTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9WT1lBR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9OVU1BUSBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfU1VNTUlUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9CSUdTTVAgaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1ZJU1dTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfRVM3MDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9SREMzMjFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9WU01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBUkFWSVJUX0dVRVNUIGlzIG5vdCBzZXQKK0NPTkZJR19NRU1URVNUX0JPT1RQQVJBTT15CitDT05GSUdfTUVNVEVTVF9CT09UUEFSQU1fVkFMVUU9MAorIyBDT05GSUdfTTM4NiBpcyBub3Qgc2V0CisjIENPTkZJR19NNDg2IGlzIG5vdCBzZXQKKyMgQ09ORklHX001ODYgaXMgbm90IHNldAorIyBDT05GSUdfTTU4NlRTQyBpcyBub3Qgc2V0CisjIENPTkZJR19NNTg2TU1YIGlzIG5vdCBzZXQKKyMgQ09ORklHX002ODYgaXMgbm90IHNldAorIyBDT05GSUdfTVBFTlRJVU1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTUlJSSBpcyBub3Qgc2V0CisjIENPTkZJR19NUEVOVElVTU0gaXMgbm90IHNldAorIyBDT05GSUdfTVBFTlRJVU00IGlzIG5vdCBzZXQKKyMgQ09ORklHX01LNiBpcyBub3Qgc2V0CisjIENPTkZJR19NSzcgaXMgbm90IHNldAorIyBDT05GSUdfTUs4IGlzIG5vdCBzZXQKKyMgQ09ORklHX01DUlVTT0UgaXMgbm90IHNldAorIyBDT05GSUdfTUVGRklDRU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX01XSU5DSElQQzYgaXMgbm90IHNldAorIyBDT05GSUdfTVdJTkNISVAyIGlzIG5vdCBzZXQKKyMgQ09ORklHX01XSU5DSElQM0QgaXMgbm90IHNldAorIyBDT05GSUdfTUdFT0RFR1gxIGlzIG5vdCBzZXQKKyMgQ09ORklHX01HRU9ERV9MWCBpcyBub3Qgc2V0CisjIENPTkZJR19NQ1lSSVhJSUkgaXMgbm90IHNldAorIyBDT05GSUdfTVZJQUMzXzIgaXMgbm90IHNldAorIyBDT05GSUdfTVZJQUM3IGlzIG5vdCBzZXQKKyMgQ09ORklHX01QU0MgaXMgbm90IHNldAorQ09ORklHX01DT1JFMj15CisjIENPTkZJR19HRU5FUklDX0NQVSBpcyBub3Qgc2V0CitDT05GSUdfWDg2X0NQVT15CitDT05GSUdfWDg2X0wxX0NBQ0hFX0JZVEVTPTY0CitDT05GSUdfWDg2X0lOVEVSTk9ERV9DQUNIRV9CWVRFUz02NAorQ09ORklHX1g4Nl9DTVBYQ0hHPXkKK0NPTkZJR19YODZfTDFfQ0FDSEVfU0hJRlQ9NgorQ09ORklHX1g4Nl9HT09EX0FQSUM9eQorQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWT15CitDT05GSUdfWDg2X1VTRV9QUFJPX0NIRUNLU1VNPXkKK0NPTkZJR19YODZfUDZfTk9QPXkKK0NPTkZJR19YODZfVFNDPXkKK0NPTkZJR19YODZfQ01PVj15CitDT05GSUdfWDg2X01JTklNVU1fQ1BVX0ZBTUlMWT02NAorQ09ORklHX1g4Nl9ERUJVR0NUTE1TUj15CitDT05GSUdfSFBFVF9USU1FUj15CitDT05GSUdfSFBFVF9FTVVMQVRFX1JUQz15CitDT05GSUdfRE1JPXkKK0NPTkZJR19HQVJUX0lPTU1VPXkKK0NPTkZJR19DQUxHQVJZX0lPTU1VPXkKK0NPTkZJR19DQUxHQVJZX0lPTU1VX0VOQUJMRURfQllfREVGQVVMVD15CitDT05GSUdfU1dJT1RMQj15CitDT05GSUdfSU9NTVVfSEVMUEVSPXkKK0NPTkZJR19OUl9DUFVTPTQKKyMgQ09ORklHX1NDSEVEX1NNVCBpcyBub3Qgc2V0CiBDT05GSUdfU0NIRURfTUM9eQogIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKIENPTkZJR19QUkVFTVBUX1ZPTFVOVEFSWT15CiAjIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKLUNPTkZJR19QUkVFTVBUX0JLTD15CitDT05GSUdfWDg2X0xPQ0FMX0FQSUM9eQorQ09ORklHX1g4Nl9JT19BUElDPXkKKyMgQ09ORklHX1g4Nl9NQ0UgaXMgbm90IHNldAorIyBDT05GSUdfSThLIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JQ1JPQ09ERSBpcyBub3Qgc2V0CitDT05GSUdfWDg2X01TUj15CitDT05GSUdfWDg2X0NQVUlEPXkKIENPTkZJR19OVU1BPXkKIENPTkZJR19LOF9OVU1BPXkKLUNPTkZJR19OT0RFU19TSElGVD02CiBDT05GSUdfWDg2XzY0X0FDUElfTlVNQT15Ci1DT05GSUdfTlVNQV9FTVU9eQorQ09ORklHX05PREVTX1NQQU5fT1RIRVJfTk9ERVM9eQorIyBDT05GSUdfTlVNQV9FTVUgaXMgbm90IHNldAorQ09ORklHX05PREVTX1NISUZUPTYKK0NPTkZJR19BUkNIX1NQQVJTRU1FTV9ERUZBVUxUPXkKK0NPTkZJR19BUkNIX1NQQVJTRU1FTV9FTkFCTEU9eQorQ09ORklHX0FSQ0hfU0VMRUNUX01FTU9SWV9NT0RFTD15CitDT05GSUdfU0VMRUNUX01FTU9SWV9NT0RFTD15CisjIENPTkZJR19GTEFUTUVNX01BTlVBTCBpcyBub3Qgc2V0CisjIENPTkZJR19ESVNDT05USUdNRU1fTUFOVUFMIGlzIG5vdCBzZXQKK0NPTkZJR19TUEFSU0VNRU1fTUFOVUFMPXkKK0NPTkZJR19TUEFSU0VNRU09eQogQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVM9eQorQ09ORklHX0hBVkVfTUVNT1JZX1BSRVNFTlQ9eQogIyBDT05GSUdfU1BBUlNFTUVNX1NUQVRJQyBpcyBub3Qgc2V0CitDT05GSUdfU1BBUlNFTUVNX0VYVFJFTUU9eQorQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQX0VOQUJMRT15CitDT05GSUdfU1BBUlNFTUVNX1ZNRU1NQVA9eQorCisjCisjIE1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRseSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kCisjCitDT05GSUdfUEFHRUZMQUdTX0VYVEVOREVEPXkKIENPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CiBDT05GSUdfTUlHUkFUSU9OPXkKIENPTkZJR19SRVNPVVJDRVNfNjRCSVQ9eQogQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQogQ09ORklHX0JPVU5DRT15CiBDT05GSUdfVklSVF9UT19CVVM9eQotQ09ORklHX0hBVkVfQVJDSF9FQVJMWV9QRk5fVE9fTklEPXkKLUNPTkZJR19PVVRfT0ZfTElORV9QRk5fVE9fUEFHRT15Ci1DT05GSUdfTlJfQ1BVUz0zMgorQ09ORklHX01UUlI9eQorIyBDT05GSUdfWDg2X1BBVCBpcyBub3Qgc2V0CitDT05GSUdfRUZJPXkKK0NPTkZJR19TRUNDT01QPXkKKyMgQ09ORklHX0haXzEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19IWl8yNTAgaXMgbm90IHNldAorIyBDT05GSUdfSFpfMzAwIGlzIG5vdCBzZXQKK0NPTkZJR19IWl8xMDAwPXkKK0NPTkZJR19IWj0xMDAwCitDT05GSUdfU0NIRURfSFJUSUNLPXkKK0NPTkZJR19LRVhFQz15CitDT05GSUdfQ1JBU0hfRFVNUD15CitDT05GSUdfUEhZU0lDQUxfU1RBUlQ9MHgxMDAwMDAwCitDT05GSUdfUkVMT0NBVEFCTEU9eQogQ09ORklHX1BIWVNJQ0FMX0FMSUdOPTB4MjAwMDAwCiBDT05GSUdfSE9UUExVR19DUFU9eQorIyBDT05GSUdfQ09NUEFUX1ZEU08gaXMgbm90IHNldAogQ09ORklHX0FSQ0hfRU5BQkxFX01FTU9SWV9IT1RQTFVHPXkKLUNPTkZJR19IUEVUX1RJTUVSPXkKLUNPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKLUNPTkZJR19HQVJUX0lPTU1VPXkKLSMgQ09ORklHX0NBTEdBUllfSU9NTVUgaXMgbm90IHNldAotQ09ORklHX1NXSU9UTEI9eQotQ09ORklHX1g4Nl9NQ0U9eQotQ09ORklHX1g4Nl9NQ0VfSU5URUw9eQotQ09ORklHX1g4Nl9NQ0VfQU1EPXkKLSMgQ09ORklHX0tFWEVDIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSQVNIX0RVTVAgaXMgbm90IHNldAotIyBDT05GSUdfUkVMT0NBVEFCTEUgaXMgbm90IHNldAotQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MjAwMDAwCi1DT05GSUdfU0VDQ09NUD15Ci0jIENPTkZJR19DQ19TVEFDS1BST1RFQ1RPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19IWl8xMDAgaXMgbm90IHNldAotQ09ORklHX0haXzI1MD15Ci0jIENPTkZJR19IWl8zMDAgaXMgbm90IHNldAotIyBDT05GSUdfSFpfMTAwMCBpcyBub3Qgc2V0Ci1DT05GSUdfSFo9MjUwCi1DT05GSUdfSzhfTkI9eQotQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQotQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkKLUNPTkZJR19JU0FfRE1BX0FQST15Ci1DT05GSUdfR0VORVJJQ19QRU5ESU5HX0lSUT15CitDT05GSUdfSEFWRV9BUkNIX0VBUkxZX1BGTl9UT19OSUQ9eQogCiAjCiAjIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucwogIworQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fSEVBREVSPXkKIENPTkZJR19QTT15Ci0jIENPTkZJR19QTV9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfUE1fREVCVUcgaXMgbm90IHNldAorQ09ORklHX1BNX0RFQlVHPXkKKyMgQ09ORklHX1BNX1ZFUkJPU0UgaXMgbm90IHNldAorQ09ORklHX0NBTl9QTV9UUkFDRT15CitDT05GSUdfUE1fVFJBQ0U9eQorQ09ORklHX1BNX1RSQUNFX1JUQz15CitDT05GSUdfUE1fU0xFRVBfU01QPXkKK0NPTkZJR19QTV9TTEVFUD15CitDT05GSUdfU1VTUEVORD15CitDT05GSUdfU1VTUEVORF9GUkVFWkVSPXkKIENPTkZJR19ISUJFUk5BVElPTj15CiBDT05GSUdfUE1fU1REX1BBUlRJVElPTj0iIgotCi0jCi0jIEFDUEkgKEFkdmFuY2VkIENvbmZpZ3VyYXRpb24gYW5kIFBvd2VyIEludGVyZmFjZSkgU3VwcG9ydAotIwogQ09ORklHX0FDUEk9eQogQ09ORklHX0FDUElfU0xFRVA9eQotQ09ORklHX0FDUElfU0xFRVBfUFJPQ19GUz15Ci1DT05GSUdfQUNQSV9TTEVFUF9QUk9DX1NMRUVQPXkKIENPTkZJR19BQ1BJX1BST0NGUz15CitDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVI9eQorQ09ORklHX0FDUElfU1lTRlNfUE9XRVI9eQorQ09ORklHX0FDUElfUFJPQ19FVkVOVD15CiBDT05GSUdfQUNQSV9BQz15CiBDT05GSUdfQUNQSV9CQVRURVJZPXkKIENPTkZJR19BQ1BJX0JVVFRPTj15CiBDT05GSUdfQUNQSV9GQU49eQotIyBDT05GSUdfQUNQSV9ET0NLIGlzIG5vdCBzZXQKK0NPTkZJR19BQ1BJX0RPQ0s9eQorIyBDT05GSUdfQUNQSV9CQVkgaXMgbm90IHNldAogQ09ORklHX0FDUElfUFJPQ0VTU09SPXkKIENPTkZJR19BQ1BJX0hPVFBMVUdfQ1BVPXkKIENPTkZJR19BQ1BJX1RIRVJNQUw9eQogQ09ORklHX0FDUElfTlVNQT15CisjIENPTkZJR19BQ1BJX1dNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19BQ1BJX0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfQUNQSV9UT1NISUJBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDUElfQ1VTVE9NX0RTRFQgaXMgbm90IHNldAogQ09ORklHX0FDUElfQkxBQ0tMSVNUX1lFQVI9MAogIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qgc2V0CiBDT05GSUdfQUNQSV9FQz15CkBAIC0yMjcsMjkgKzM1MSwzNCBAQAogQ09ORklHX0NQVV9GUkVRPXkKIENPTkZJR19DUFVfRlJFUV9UQUJMRT15CiBDT05GSUdfQ1BVX0ZSRVFfREVCVUc9eQotQ09ORklHX0NQVV9GUkVRX1NUQVQ9eQotIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVF9ERVRBSUxTIGlzIG5vdCBzZXQKLUNPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRT15Ci0jIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VSU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfQ1BVX0ZSRVFfU1RBVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QRVJGT1JNQU5DRSBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9QT1dFUlNBVkUgaXMgbm90IHNldAorQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX1VTRVJTUEFDRT15CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0CisjIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9DT05TRVJWQVRJVkUgaXMgbm90IHNldAogQ09ORklHX0NQVV9GUkVRX0dPVl9QRVJGT1JNQU5DRT15CiAjIENPTkZJR19DUFVfRlJFUV9HT1ZfUE9XRVJTQVZFIGlzIG5vdCBzZXQKIENPTkZJR19DUFVfRlJFUV9HT1ZfVVNFUlNQQUNFPXkKIENPTkZJR19DUFVfRlJFUV9HT1ZfT05ERU1BTkQ9eQotQ09ORklHX0NQVV9GUkVRX0dPVl9DT05TRVJWQVRJVkU9eQorIyBDT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CiAKICMKICMgQ1BVRnJlcSBwcm9jZXNzb3IgZHJpdmVycwogIwotQ09ORklHX1g4Nl9QT1dFUk5PV19LOD15Ci1DT05GSUdfWDg2X1BPV0VSTk9XX0s4X0FDUEk9eQotIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0CiBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUT15CisjIENPTkZJR19YODZfUE9XRVJOT1dfSzggaXMgbm90IHNldAorIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0CisjIENPTkZJR19YODZfUDRfQ0xPQ0tNT0QgaXMgbm90IHNldAogCiAjCiAjIHNoYXJlZCBvcHRpb25zCiAjCi1DT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEY9eQorIyBDT05GSUdfWDg2X0FDUElfQ1BVRlJFUV9QUk9DX0lOVEYgaXMgbm90IHNldAogIyBDT05GSUdfWDg2X1NQRUVEU1RFUF9MSUIgaXMgbm90IHNldAorQ09ORklHX0NQVV9JRExFPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTEFEREVSPXkKK0NPTkZJR19DUFVfSURMRV9HT1ZfTUVOVT15CiAKICMKICMgQnVzIG9wdGlvbnMgKFBDSSBldGMuKQpAQCAtMjU3LDI3ICszODYsNTYgQEAKIENPTkZJR19QQ0k9eQogQ09ORklHX1BDSV9ESVJFQ1Q9eQogQ09ORklHX1BDSV9NTUNPTkZJRz15CitDT05GSUdfUENJX0RPTUFJTlM9eQorQ09ORklHX0RNQVI9eQorQ09ORklHX0RNQVJfR0ZYX1dBPXkKK0NPTkZJR19ETUFSX0ZMT1BQWV9XQT15CiBDT05GSUdfUENJRVBPUlRCVVM9eQorIyBDT05GSUdfSE9UUExVR19QQ0lfUENJRSBpcyBub3Qgc2V0CiBDT05GSUdfUENJRUFFUj15CisjIENPTkZJR19QQ0lFQVNQTSBpcyBub3Qgc2V0CiBDT05GSUdfQVJDSF9TVVBQT1JUU19NU0k9eQogQ09ORklHX1BDSV9NU0k9eQorIyBDT05GSUdfUENJX0xFR0FDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQ0lfREVCVUcgaXMgbm90IHNldAotIyBDT05GSUdfSFRfSVJRIGlzIG5vdCBzZXQKK0NPTkZJR19IVF9JUlE9eQorQ09ORklHX0lTQV9ETUFfQVBJPXkKK0NPTkZJR19LOF9OQj15CitDT05GSUdfUENDQVJEPXkKKyMgQ09ORklHX1BDTUNJQV9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfUENNQ0lBPXkKK0NPTkZJR19QQ01DSUFfTE9BRF9DSVM9eQorQ09ORklHX1BDTUNJQV9JT0NUTD15CitDT05GSUdfQ0FSREJVUz15CiAKICMKLSMgUENDQVJEIChQQ01DSUEvQ2FyZEJ1cykgc3VwcG9ydAorIyBQQy1jYXJkIGJyaWRnZXMKICMKLSMgQ09ORklHX1BDQ0FSRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19IT1RQTFVHX1BDSSBpcyBub3Qgc2V0CitDT05GSUdfWUVOVEE9eQorQ09ORklHX1lFTlRBX08yPXkKK0NPTkZJR19ZRU5UQV9SSUNPSD15CitDT05GSUdfWUVOVEFfVEk9eQorQ09ORklHX1lFTlRBX0VORV9UVU5FPXkKK0NPTkZJR19ZRU5UQV9UT1NISUJBPXkKKyMgQ09ORklHX1BENjcyOSBpcyBub3Qgc2V0CisjIENPTkZJR19JODIwOTIgaXMgbm90IHNldAorQ09ORklHX1BDQ0FSRF9OT05TVEFUSUM9eQorQ09ORklHX0hPVFBMVUdfUENJPXkKKyMgQ09ORklHX0hPVFBMVUdfUENJX0ZBS0UgaXMgbm90IHNldAorIyBDT05GSUdfSE9UUExVR19QQ0lfQUNQSSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1RQTFVHX1BDSV9DUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hPVFBMVUdfUENJX1NIUEMgaXMgbm90IHNldAogCiAjCiAjIEV4ZWN1dGFibGUgZmlsZSBmb3JtYXRzIC8gRW11bGF0aW9ucwogIwogQ09ORklHX0JJTkZNVF9FTEY9eQotIyBDT05GSUdfQklORk1UX01JU0MgaXMgbm90IHNldAorQ09ORklHX0NPTVBBVF9CSU5GTVRfRUxGPXkKK0NPTkZJR19CSU5GTVRfTUlTQz15CiBDT05GSUdfSUEzMl9FTVVMQVRJT049eQotQ09ORklHX0lBMzJfQU9VVD15CisjIENPTkZJR19JQTMyX0FPVVQgaXMgbm90IHNldAogQ09ORklHX0NPTVBBVD15CitDT05GSUdfQ09NUEFUX0ZPUl9VNjRfQUxJR05NRU5UPXkKIENPTkZJR19TWVNWSVBDX0NPTVBBVD15CiAKICMKQEAgLTI4OSwyMiArNDQ3LDMxIEBACiAjIE5ldHdvcmtpbmcgb3B0aW9ucwogIwogQ09ORklHX1BBQ0tFVD15Ci0jIENPTkZJR19QQUNLRVRfTU1BUCBpcyBub3Qgc2V0CitDT05GSUdfUEFDS0VUX01NQVA9eQogQ09ORklHX1VOSVg9eQorQ09ORklHX1hGUk09eQorQ09ORklHX1hGUk1fVVNFUj15CisjIENPTkZJR19YRlJNX1NVQl9QT0xJQ1kgaXMgbm90IHNldAorIyBDT05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfS0VZIGlzIG5vdCBzZXQKIENPTkZJR19JTkVUPXkKIENPTkZJR19JUF9NVUxUSUNBU1Q9eQotIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQorQ09ORklHX0FTS19JUF9GSUJfSEFTSD15CisjIENPTkZJR19JUF9GSUJfVFJJRSBpcyBub3Qgc2V0CiBDT05GSUdfSVBfRklCX0hBU0g9eQotQ09ORklHX0lQX1BOUD15Ci1DT05GSUdfSVBfUE5QX0RIQ1A9eQotIyBDT05GSUdfSVBfUE5QX0JPT1RQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX1BOUF9SQVJQIGlzIG5vdCBzZXQKK0NPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVM9eQorQ09ORklHX0lQX1JPVVRFX01VTFRJUEFUSD15CitDT05GSUdfSVBfUk9VVEVfVkVSQk9TRT15CisjIENPTkZJR19JUF9QTlAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQSVAgaXMgbm90IHNldAogIyBDT05GSUdfTkVUX0lQR1JFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfSVBfTVJPVVRFPXkKK0NPTkZJR19JUF9QSU1TTV9WMT15CitDT05GSUdfSVBfUElNU01fVjI9eQogIyBDT05GSUdfQVJQRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TWU5fQ09PS0lFUyBpcyBub3Qgc2V0CitDT05GSUdfU1lOX0NPT0tJRVM9eQogIyBDT05GSUdfSU5FVF9BSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0VTUCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CkBAIC0zMTMsMzEgKzQ4MCwxMDkgQEAKICMgQ09ORklHX0lORVRfWEZSTV9NT0RFX1RSQU5TUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTkVUX1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0Ci1DT05GSUdfSU5FVF9ESUFHPXkKLUNPTkZJR19JTkVUX1RDUF9ESUFHPXkKLSMgQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19JTkVUX0xSTz15CisjIENPTkZJR19JTkVUX0RJQUcgaXMgbm90IHNldAorQ09ORklHX1RDUF9DT05HX0FEVkFOQ0VEPXkKKyMgQ09ORklHX1RDUF9DT05HX0JJQyBpcyBub3Qgc2V0CiBDT05GSUdfVENQX0NPTkdfQ1VCSUM9eQorIyBDT05GSUdfVENQX0NPTkdfV0VTVFdPT0QgaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSFRDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IU1RDUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19IWUJMQSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19TQ0FMQUJMRSBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19MUCBpcyBub3Qgc2V0CisjIENPTkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RDUF9DT05HX1lFQUggaXMgbm90IHNldAorIyBDT05GSUdfVENQX0NPTkdfSUxMSU5PSVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9CSUMgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfQ1VCSUM9eQorIyBDT05GSUdfREVGQVVMVF9IVENQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFRkFVTFRfVkVHQVMgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9XRVNUV09PRCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZBVUxUX1JFTk8gaXMgbm90IHNldAogQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9ImN1YmljIgotIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0CitDT05GSUdfVENQX01ENVNJRz15CisjIENPTkZJR19JUF9WUyBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNj15CiAjIENPTkZJR19JUFY2X1BSSVZBQ1kgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9ST1VURVJfUFJFRiBpcyBub3Qgc2V0CiAjIENPTkZJR19JUFY2X09QVElNSVNUSUNfREFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0FIIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X0VTUCBpcyBub3Qgc2V0CitDT05GSUdfSU5FVDZfQUg9eQorQ09ORklHX0lORVQ2X0VTUD15CiAjIENPTkZJR19JTkVUNl9JUENPTVAgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1hGUk1fVFVOTkVMIGlzIG5vdCBzZXQKICMgQ09ORklHX0lORVQ2X1RVTk5FTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTkVUNl9YRlJNX01PREVfVFJBTlNQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUwgaXMgbm90IHNldAotIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX0JFRVQgaXMgbm90IHNldAorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9UVU5ORUw9eQorQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9CRUVUPXkKICMgQ09ORklHX0lORVQ2X1hGUk1fTU9ERV9ST1VURU9QVElNSVpBVElPTiBpcyBub3Qgc2V0CiBDT05GSUdfSVBWNl9TSVQ9eQorQ09ORklHX0lQVjZfTkRJU0NfTk9ERVRZUEU9eQogIyBDT05GSUdfSVBWNl9UVU5ORUwgaXMgbm90IHNldAogIyBDT05GSUdfSVBWNl9NVUxUSVBMRV9UQUJMRVMgaXMgbm90IHNldAotIyBDT05GSUdfTkVUV09SS19TRUNNQVJLIGlzIG5vdCBzZXQKLSMgQ09ORklHX05FVEZJTFRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19JUFY2X01ST1VURSBpcyBub3Qgc2V0CitDT05GSUdfTkVUTEFCRUw9eQorQ09ORklHX05FVFdPUktfU0VDTUFSSz15CitDT05GSUdfTkVURklMVEVSPXkKKyMgQ09ORklHX05FVEZJTFRFUl9ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRGSUxURVJfQURWQU5DRUQgaXMgbm90IHNldAorCisjCisjIENvcmUgTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORVRGSUxURVJfTkVUTElOSz15CitDT05GSUdfTkVURklMVEVSX05FVExJTktfTE9HPXkKK0NPTkZJR19ORl9DT05OVFJBQ0s9eQorQ09ORklHX05GX0NPTk5UUkFDS19TRUNNQVJLPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfRlRQPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVJDPXkKK0NPTkZJR19ORl9DT05OVFJBQ0tfU0lQPXkKK0NPTkZJR19ORl9DVF9ORVRMSU5LPXkKK0NPTkZJR19ORVRGSUxURVJfWFRBQkxFUz15CitDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9NQVJLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX05GTE9HPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfQ09OTlNFQ01BUks9eQorQ09ORklHX05FVEZJTFRFUl9YVF9UQVJHRVRfVENQTVNTPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfQ09OTlRSQUNLPXkKK0NPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfTUFSSz15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1BPTElDWT15CitDT05GSUdfTkVURklMVEVSX1hUX01BVENIX1NUQVRFPXkKKworIworIyBJUDogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KKyMKK0NPTkZJR19ORl9DT05OVFJBQ0tfSVBWND15CitDT05GSUdfTkZfQ09OTlRSQUNLX1BST0NfQ09NUEFUPXkKK0NPTkZJR19JUF9ORl9JUFRBQkxFUz15CitDT05GSUdfSVBfTkZfRklMVEVSPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfVUxPRz15CitDT05GSUdfTkZfTkFUPXkKK0NPTkZJR19ORl9OQVRfTkVFREVEPXkKK0NPTkZJR19JUF9ORl9UQVJHRVRfTUFTUVVFUkFERT15CitDT05GSUdfTkZfTkFUX0ZUUD15CitDT05GSUdfTkZfTkFUX0lSQz15CisjIENPTkZJR19ORl9OQVRfVEZUUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9QUFRQIGlzIG5vdCBzZXQKKyMgQ09ORklHX05GX05BVF9IMzIzIGlzIG5vdCBzZXQKK0NPTkZJR19ORl9OQVRfU0lQPXkKK0NPTkZJR19JUF9ORl9NQU5HTEU9eQorCisjCisjIElQdjY6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCisjCitDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQorQ09ORklHX0lQNl9ORl9JUFRBQkxFUz15CitDT05GSUdfSVA2X05GX01BVENIX0lQVjZIRUFERVI9eQorQ09ORklHX0lQNl9ORl9GSUxURVI9eQorQ09ORklHX0lQNl9ORl9UQVJHRVRfTE9HPXkKK0NPTkZJR19JUDZfTkZfVEFSR0VUX1JFSkVDVD15CitDT05GSUdfSVA2X05GX01BTkdMRT15CiAjIENPTkZJR19JUF9EQ0NQIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQX1NDVFAgaXMgbm90IHNldAogIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0CkBAIC0zNDUsNiArNTkwLDcgQEAKICMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CiAjIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CitDT05GSUdfTExDPXkKICMgQ09ORklHX0xMQzIgaXMgbm90IHNldAogIyBDT05GSUdfSVBYIGlzIG5vdCBzZXQKICMgQ09ORklHX0FUQUxLIGlzIG5vdCBzZXQKQEAgLTM1MiwyOCArNTk4LDk5IEBACiAjIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKICMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfU0NIRUQ9eQogCiAjCi0jIFFvUyBhbmQvb3IgZmFpciBxdWV1ZWluZworIyBRdWV1ZWluZy9TY2hlZHVsaW5nCiAjCi0jIENPTkZJR19ORVRfU0NIRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9DQlEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IVEIgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9IRlNDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUFJJTyBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1JSIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfUkVEIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfU0ZRIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9TQ0hfVEVRTCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX1RCRiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0dSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9EU01BUksgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX1NDSF9ORVRFTSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfU0NIX0lOR1JFU1MgaXMgbm90IHNldAorCisjCisjIENsYXNzaWZpY2F0aW9uCisjCitDT05GSUdfTkVUX0NMUz15CisjIENPTkZJR19ORVRfQ0xTX0JBU0lDIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JPVVRFNCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX0ZXIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfUlNWUCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQ0xTX1JTVlA2IGlzIG5vdCBzZXQKKyMgQ09ORklHX05FVF9DTFNfRkxPVyBpcyBub3Qgc2V0CitDT05GSUdfTkVUX0VNQVRDSD15CitDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgorIyBDT05GSUdfTkVUX0VNQVRDSF9DTVAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9OQllURSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfRU1BVENIX01FVEEgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0VNQVRDSF9URVhUIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRfQ0xTX0FDVD15CisjIENPTkZJR19ORVRfQUNUX1BPTElDRSBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX0dBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9JUFQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9OQVQgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CisjIENPTkZJR19ORVRfQUNUX1NJTVAgaXMgbm90IHNldAorQ09ORklHX05FVF9TQ0hfRklGTz15CiAKICMKICMgTmV0d29yayB0ZXN0aW5nCiAjCiAjIENPTkZJR19ORVRfUEtUR0VOIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVF9UQ1BQUk9CRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IQU1SQURJTyBpcyBub3Qgc2V0CitDT05GSUdfSEFNUkFESU89eQorCisjCisjIFBhY2tldCBSYWRpbyBwcm90b2NvbHMKKyMKKyMgQ09ORklHX0FYMjUgaXMgbm90IHNldAorIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKICMgQ09ORklHX0lSREEgaXMgbm90IHNldAogIyBDT05GSUdfQlQgaXMgbm90IHNldAogIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAorQ09ORklHX0ZJQl9SVUxFUz15CiAKICMKICMgV2lyZWxlc3MKICMKLSMgQ09ORklHX0NGRzgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dJUkVMRVNTX0VYVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUM4MDIxMSBpcyBub3Qgc2V0CitDT05GSUdfQ0ZHODAyMTE9eQorQ09ORklHX05MODAyMTE9eQorQ09ORklHX1dJUkVMRVNTX0VYVD15CitDT05GSUdfTUFDODAyMTE9eQorCisjCisjIFJhdGUgY29udHJvbCBhbGdvcml0aG0gc2VsZWN0aW9uCisjCitDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9QSUQ9eQorIyBDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVF9OT05FIGlzIG5vdCBzZXQKKworIworIyBTZWxlY3RpbmcgJ3knIGZvciBhbiBhbGdvcml0aG0gd2lsbAorIworCisjCisjIGJ1aWxkIHRoZSBhbGdvcml0aG0gaW50byBtYWM4MDIxMS4KKyMKK0NPTkZJR19NQUM4MDIxMV9SQ19ERUZBVUxUPSJwaWQiCitDT05GSUdfTUFDODAyMTFfUkNfUElEPXkKKyMgQ09ORklHX01BQzgwMjExX01FU0ggaXMgbm90IHNldAorQ09ORklHX01BQzgwMjExX0xFRFM9eQorIyBDT05GSUdfTUFDODAyMTFfREVCVUdGUyBpcyBub3Qgc2V0CisjIENPTkZJR19NQUM4MDIxMV9ERUJVR19QQUNLRVRfQUxJR05NRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX01BQzgwMjExX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0lFRUU4MDIxMSBpcyBub3Qgc2V0CiAjIENPTkZJR19SRktJTEwgaXMgbm90IHNldAogIyBDT05GSUdfTkVUXzlQIGlzIG5vdCBzZXQKQEAgLTM4NSwxMyArNzAyLDE1IEBACiAjCiAjIEdlbmVyaWMgRHJpdmVyIE9wdGlvbnMKICMKK0NPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCiBDT05GSUdfU1RBTkRBTE9ORT15CiBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRD15CiBDT05GSUdfRldfTE9BREVSPXkKICMgQ09ORklHX0RFQlVHX0RSSVZFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERUJVR19ERVZSRVMgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX0RFVlJFUz15CiAjIENPTkZJR19TWVNfSFlQRVJWSVNPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19DT05ORUNUT1IgaXMgbm90IHNldAorQ09ORklHX0NPTk5FQ1RPUj15CitDT05GSUdfUFJPQ19FVkVOVFM9eQogIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBUlBPUlQgaXMgbm90IHNldAogQ09ORklHX1BOUD15CkBAIC00MDIsNyArNzIxLDcgQEAKICMKIENPTkZJR19QTlBBQ1BJPXkKIENPTkZJR19CTEtfREVWPXkKLUNPTkZJR19CTEtfREVWX0ZEPXkKKyMgQ09ORklHX0JMS19ERVZfRkQgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0NQUV9EQSBpcyBub3Qgc2V0CiAjIENPTkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAogIyBDT05GSUdfQkxLX0RFVl9EQUM5NjAgaXMgbm90IHNldApAQCAtNDE1LDggKzczNCw4IEBACiAjIENPTkZJR19CTEtfREVWX1VCIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX1JBTT15CiBDT05GSUdfQkxLX0RFVl9SQU1fQ09VTlQ9MTYKLUNPTkZJR19CTEtfREVWX1JBTV9TSVpFPTQwOTYKLUNPTkZJR19CTEtfREVWX1JBTV9CTE9DS1NJWkU9MTAyNAorQ09ORklHX0JMS19ERVZfUkFNX1NJWkU9MTYzODQKKyMgQ09ORklHX0JMS19ERVZfWElQIGlzIG5vdCBzZXQKICMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAogIyBDT05GSUdfQVRBX09WRVJfRVRIIGlzIG5vdCBzZXQKIENPTkZJR19NSVNDX0RFVklDRVM9eQpAQCAtNDI1LDcyICs3NDQsMTYgQEAKICMgQ09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CiAjIENPTkZJR19TR0lfSU9DNCBpcyBub3Qgc2V0CiAjIENPTkZJR19USUZNX0NPUkUgaXMgbm90IHNldAorIyBDT05GSUdfQUNFUl9XTUkgaXMgbm90IHNldAorIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfRlVKSVRTVV9MQVBUT1AgaXMgbm90IHNldAorIyBDT05GSUdfTVNJX0xBUFRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TT05ZX0xBUFRPUCBpcyBub3Qgc2V0CiAjIENPTkZJR19USElOS1BBRF9BQ1BJIGlzIG5vdCBzZXQKLUNPTkZJR19JREU9eQotQ09ORklHX0JMS19ERVZfSURFPXkKLQotIwotIyBQbGVhc2Ugc2VlIERvY3VtZW50YXRpb24vaWRlLnR4dCBmb3IgaGVscC9pbmZvIG9uIElERSBkcml2ZXMKLSMKLSMgQ09ORklHX0JMS19ERVZfSURFX1NBVEEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRF9JREUgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRElTSz15Ci1DT05GSUdfSURFRElTS19NVUxUSV9NT0RFPXkKLUNPTkZJR19CTEtfREVWX0lERUNEPXkKLSMgQ09ORklHX0JMS19ERVZfSURFVEFQRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERUZMT1BQWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVNDU0kgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFQUNQST15Ci0jIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0Ci1DT05GSUdfSURFX1BST0NfRlM9eQotCi0jCi0jIElERSBjaGlwc2V0IHN1cHBvcnQvYnVnZml4ZXMKLSMKLUNPTkZJR19JREVfR0VORVJJQz15Ci0jIENPTkZJR19CTEtfREVWX0NNRDY0MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0lERVBOUCBpcyBub3Qgc2V0Ci1DT05GSUdfQkxLX0RFVl9JREVQQ0k9eQotIyBDT05GSUdfSURFUENJX1NIQVJFX0lSUSBpcyBub3Qgc2V0Ci1DT05GSUdfSURFUENJX1BDSUJVU19PUkRFUj15Ci0jIENPTkZJR19CTEtfREVWX09GRkJPQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfR0VORVJJQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX09QVEk2MjEgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BX1BDST15Ci0jIENPTkZJR19CTEtfREVWX0lERURNQV9GT1JDRUQgaXMgbm90IHNldAotIyBDT05GSUdfSURFRE1BX09OTFlESVNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQUVDNjJYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX0FMSTE1WDMgaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfQU1ENzRYWD15Ci1DT05GSUdfQkxLX0RFVl9BVElJWFA9eQotIyBDT05GSUdfQkxLX0RFVl9DTUQ2NFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9UUklGTEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfQ1k4MkM2OTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MjAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9DUzU1MzAgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNFggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9KTUlDUk9OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0MxMjAwIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1BJSVg9eQotIyBDT05GSUdfQkxLX0RFVl9JVDgyMTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9JVDgyMVggaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfUERDMjAyWFhfT0xEIGlzIG5vdCBzZXQKLUNPTkZJR19CTEtfREVWX1BEQzIwMlhYX05FVz15Ci0jIENPTkZJR19CTEtfREVWX1NWV0tTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1NJUzU1MTMgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9TTEM5MEU2NiBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1ZJQTgyQ1hYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19CTEtfREVWX1RDODZDMDAxIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lERV9BUk0gaXMgbm90IHNldAotQ09ORklHX0JMS19ERVZfSURFRE1BPXkKLSMgQ09ORklHX0lERURNQV9JVkIgaXMgbm90IHNldAotIyBDT05GSUdfQkxLX0RFVl9IRCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFTF9NRU5MT1cgaXMgbm90IHNldAorIyBDT05GSUdfRU5DTE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0lERT15CisjIENPTkZJR19JREUgaXMgbm90IHNldAogCiAjCiAjIFNDU0kgZGV2aWNlIHN1cHBvcnQKQEAgLTQ5OSw4ICs3NjIsOCBAQAogQ09ORklHX1NDU0k9eQogQ09ORklHX1NDU0lfRE1BPXkKICMgQ09ORklHX1NDU0lfVEdUIGlzIG5vdCBzZXQKLUNPTkZJR19TQ1NJX05FVExJTks9eQotIyBDT05GSUdfU0NTSV9QUk9DX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTkVUTElOSyBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9QUk9DX0ZTPXkKIAogIwogIyBTQ1NJIHN1cHBvcnQgdHlwZSAoZGlzaywgdGFwZSwgQ0QtUk9NKQpAQCAtNTA5LDcgKzc3Miw3IEBACiAjIENPTkZJR19DSFJfREVWX1NUIGlzIG5vdCBzZXQKICMgQ09ORklHX0NIUl9ERVZfT1NTVCBpcyBub3Qgc2V0CiBDT05GSUdfQkxLX0RFVl9TUj15Ci0jIENPTkZJR19CTEtfREVWX1NSX1ZFTkRPUiBpcyBub3Qgc2V0CitDT05GSUdfQkxLX0RFVl9TUl9WRU5ET1I9eQogQ09ORklHX0NIUl9ERVZfU0c9eQogIyBDT05GSUdfQ0hSX0RFVl9TQ0ggaXMgbm90IHNldAogCkBAIC01MjYsNzMgKzc4OSwzNyBAQAogIyBTQ1NJIFRyYW5zcG9ydHMKICMKIENPTkZJR19TQ1NJX1NQSV9BVFRSUz15Ci1DT05GSUdfU0NTSV9GQ19BVFRSUz15CisjIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfSVNDU0lfQVRUUlMgaXMgbm90IHNldAotQ09ORklHX1NDU0lfU0FTX0FUVFJTPXkKKyMgQ09ORklHX1NDU0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NDU0lfU0FTX0xJQlNBUyBpcyBub3Qgc2V0Ci0KLSMKLSMgU0NTSSBsb3ctbGV2ZWwgZHJpdmVycwotIwotIyBDT05GSUdfSVNDU0lfVENQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JMS19ERVZfM1dfWFhYWF9SQUlEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfM1dfOVhYWCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FDQVJEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQUFDUkFJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0FJQzdYWFggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM3WFhYX09MRCBpcyBub3Qgc2V0Ci1DT05GSUdfU0NTSV9BSUM3OVhYPXkKLUNPTkZJR19BSUM3OVhYX0NNRFNfUEVSX0RFVklDRT0zMgotQ09ORklHX0FJQzc5WFhfUkVTRVRfREVMQVlfTVM9NDAwMAotIyBDT05GSUdfQUlDNzlYWF9ERUJVR19FTkFCTEUgaXMgbm90IHNldAotQ09ORklHX0FJQzc5WFhfREVCVUdfTUFTSz0wCi0jIENPTkZJR19BSUM3OVhYX1JFR19QUkVUVFlfUFJJTlQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9BSUM5NFhYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQVJDTVNSIGlzIG5vdCBzZXQKLSMgQ09ORklHX01FR0FSQUlEX05FV0dFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19NRUdBUkFJRF9MRUdBQ1kgaXMgbm90IHNldAotIyBDT05GSUdfTUVHQVJBSURfU0FTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfSFBUSU9QIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfQlVTTE9HSUMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ETVgzMTkxRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0VBVEEgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9GVVRVUkVfRE9NQUlOIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfR0RUSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lQUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSVRJTyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0lOSUExMDAgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9TVEVYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfU1lNNTNDOFhYXzIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9JUFIgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9RTE9HSUNfMTI4MCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1FMQV9JU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX0xQRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5NXggaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9EQzM5MFQgaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1NSUCBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX1NSUF9BVFRSUyBpcyBub3Qgc2V0CisjIENPTkZJR19TQ1NJX0xPV0xFVkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NDU0lfTE9XTEVWRUxfUENNQ0lBIGlzIG5vdCBzZXQKIENPTkZJR19BVEE9eQogIyBDT05GSUdfQVRBX05PTlNUQU5EQVJEIGlzIG5vdCBzZXQKIENPTkZJR19BVEFfQUNQST15CitDT05GSUdfU0FUQV9QTVA9eQogQ09ORklHX1NBVEFfQUhDST15Ci1DT05GSUdfU0FUQV9TVlc9eQorIyBDT05GSUdfU0FUQV9TSUwyNCBpcyBub3Qgc2V0CitDT05GSUdfQVRBX1NGRj15CisjIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CiBDT05GSUdfQVRBX1BJSVg9eQogIyBDT05GSUdfU0FUQV9NViBpcyBub3Qgc2V0Ci1DT05GSUdfU0FUQV9OVj15CisjIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKICMgQ09ORklHX1BEQ19BRE1BIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfUVNUT1IgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU1g0IGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX1NJTD15Ci0jIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NBVEFfU0lMIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfU0lTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NBVEFfVUxJIGlzIG5vdCBzZXQKLUNPTkZJR19TQVRBX1ZJQT15CisjIENPTkZJR19TQVRBX1ZJQSBpcyBub3Qgc2V0CiAjIENPTkZJR19TQVRBX1ZJVEVTU0UgaXMgbm90IHNldAogIyBDT05GSUdfU0FUQV9JTklDMTYyWCBpcyBub3Qgc2V0CisjIENPTkZJR19QQVRBX0FDUEkgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BTEkgaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9BTUQgaXMgbm90IHNldAorQ09ORklHX1BBVEFfQU1EPXkKICMgQ09ORklHX1BBVEFfQVJUT1AgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9BVElJWFAgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9DTUQ2NDBfUENJIGlzIG5vdCBzZXQKQEAgLTYxMiwxMSArODM5LDE0IEBACiAjIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9NQVJWRUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfTVBJSVggaXMgbm90IHNldAotIyBDT05GSUdfUEFUQV9PTERQSUlYIGlzIG5vdCBzZXQKK0NPTkZJR19QQVRBX09MRFBJSVg9eQogIyBDT05GSUdfUEFUQV9ORVRDRUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BBVEFfTklOSkEzMiBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX05TODc0MTAgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9OUzg3NDE1IGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfT1BUSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAorIyBDT05GSUdfUEFUQV9QQ01DSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9QRENfT0xEIGlzIG5vdCBzZXQKICMgQ09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiAjIENPTkZJR19QQVRBX1JaMTAwMCBpcyBub3Qgc2V0CkBAIC02MjgsNjUgKzg1OCw0MiBAQAogIyBDT05GSUdfUEFUQV9WSUEgaXMgbm90IHNldAogIyBDT05GSUdfUEFUQV9XSU5CT05EIGlzIG5vdCBzZXQKIENPTkZJR19NRD15Ci0jIENPTkZJR19CTEtfREVWX01EIGlzIG5vdCBzZXQKK0NPTkZJR19CTEtfREVWX01EPXkKKyMgQ09ORklHX01EX0xJTkVBUiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMCBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMSBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9SQUlEMTAgaXMgbm90IHNldAorIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0CisjIENPTkZJR19NRF9NVUxUSVBBVEggaXMgbm90IHNldAorIyBDT05GSUdfTURfRkFVTFRZIGlzIG5vdCBzZXQKIENPTkZJR19CTEtfREVWX0RNPXkKICMgQ09ORklHX0RNX0RFQlVHIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0NSWVBUIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX1NOQVBTSE9UIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RNX01JUlJPUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19ETV9aRVJPIGlzIG5vdCBzZXQKK0NPTkZJR19ETV9NSVJST1I9eQorQ09ORklHX0RNX1pFUk89eQogIyBDT05GSUdfRE1fTVVMVElQQVRIIGlzIG5vdCBzZXQKICMgQ09ORklHX0RNX0RFTEFZIGlzIG5vdCBzZXQKLQotIwotIyBGdXNpb24gTVBUIGRldmljZSBzdXBwb3J0Ci0jCi1DT05GSUdfRlVTSU9OPXkKLUNPTkZJR19GVVNJT05fU1BJPXkKLSMgQ09ORklHX0ZVU0lPTl9GQyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GVVNJT05fU0FTIGlzIG5vdCBzZXQKLUNPTkZJR19GVVNJT05fTUFYX1NHRT0xMjgKLSMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNldAorIyBDT05GSUdfRE1fVUVWRU5UIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZVU0lPTiBpcyBub3Qgc2V0CiAKICMKICMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAogIwogIyBDT05GSUdfRklSRVdJUkUgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0PXkKLQotIwotIyBTdWJzeXN0ZW0gT3B0aW9ucwotIwotIyBDT05GSUdfSUVFRTEzOTRfVkVSQk9TRURFQlVHIGlzIG5vdCBzZXQKLQotIwotIyBDb250cm9sbGVycwotIwotCi0jCi0jIFRleGFzIEluc3RydW1lbnRzIFBDSUx5bnggcmVxdWlyZXMgSTJDCi0jCi1DT05GSUdfSUVFRTEzOTRfT0hDSTEzOTQ9eQotCi0jCi0jIFByb3RvY29scwotIwotIyBDT05GSUdfSUVFRTEzOTRfVklERU8xMzk0IGlzIG5vdCBzZXQKLSMgQ09ORklHX0lFRUUxMzk0X1NCUDIgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NF9ST01fRU5UUlkgaXMgbm90IHNldAotIyBDT05GSUdfSUVFRTEzOTRfRVRIMTM5NCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JRUVFMTM5NF9EVjEzOTQgaXMgbm90IHNldAotQ09ORklHX0lFRUUxMzk0X1JBV0lPPXkKKyMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKICMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CiBDT05GSUdfTUFDSU5UT1NIX0RSSVZFUlM9eQotIyBDT05GSUdfTUFDX0VNVU1PVVNFQlROIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfRU1VTU9VU0VCVE49eQogQ09ORklHX05FVERFVklDRVM9eQotQ09ORklHX05FVERFVklDRVNfTVVMVElRVUVVRT15CisjIENPTkZJR19ORVRERVZJQ0VTX01VTFRJUVVFVUUgaXMgbm90IHNldAorIyBDT05GSUdfSUZCIGlzIG5vdCBzZXQKICMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKICMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAogIyBDT05GSUdfTUFDVkxBTiBpcyBub3Qgc2V0CiAjIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAotQ09ORklHX1RVTj15CisjIENPTkZJR19UVU4gaXMgbm90IHNldAorIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfU0IxMDAwIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSFlMSUIgaXMgbm90IHNldApAQCAtNjk2LDM5ICs5MDMsNDAgQEAKICMgQ09ORklHX1NVTkdFTSBpcyBub3Qgc2V0CiAjIENPTkZJR19DQVNTSU5JIGlzIG5vdCBzZXQKIENPTkZJR19ORVRfVkVORE9SXzNDT009eQotQ09ORklHX1ZPUlRFWD15CisjIENPTkZJR19WT1JURVggaXMgbm90IHNldAogIyBDT05GSUdfVFlQSE9PTiBpcyBub3Qgc2V0CiBDT05GSUdfTkVUX1RVTElQPXkKICMgQ09ORklHX0RFMjEwNFggaXMgbm90IHNldAotQ09ORklHX1RVTElQPXkKLSMgQ09ORklHX1RVTElQX01XSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UVUxJUF9NTUlPIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RVTElQX05BUEkgaXMgbm90IHNldAorIyBDT05GSUdfVFVMSVAgaXMgbm90IHNldAogIyBDT05GSUdfREU0WDUgaXMgbm90IHNldAogIyBDT05GSUdfV0lOQk9ORF84NDAgaXMgbm90IHNldAogIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKICMgQ09ORklHX1VMSTUyNlggaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBX1hJUkNPTSBpcyBub3Qgc2V0CiAjIENPTkZJR19IUDEwMCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfWk1JSSBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfUkdNSUkgaXMgbm90IHNldAorIyBDT05GSUdfSUJNX05FV19FTUFDX1RBSCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1fTkVXX0VNQUNfRU1BQzQgaXMgbm90IHNldAogQ09ORklHX05FVF9QQ0k9eQogIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0Ci1DT05GSUdfQU1EODExMV9FVEg9eQotIyBDT05GSUdfQU1EODExMUVfTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19BREFQVEVDX1NUQVJGSVJFIGlzIG5vdCBzZXQKLUNPTkZJR19CNDQ9eQorIyBDT05GSUdfQjQ0IGlzIG5vdCBzZXQKIENPTkZJR19GT1JDRURFVEg9eQogIyBDT05GSUdfRk9SQ0VERVRIX05BUEkgaXMgbm90IHNldAotIyBDT05GSUdfREdSUyBpcyBub3Qgc2V0CiAjIENPTkZJR19FRVBSTzEwMCBpcyBub3Qgc2V0CiBDT05GSUdfRTEwMD15CiAjIENPTkZJR19GRUFMTlggaXMgbm90IHNldAogIyBDT05GSUdfTkFUU0VNSSBpcyBub3Qgc2V0CiAjIENPTkZJR19ORTJLX1BDSSBpcyBub3Qgc2V0Ci1DT05GSUdfODEzOUNQPXkKKyMgQ09ORklHXzgxMzlDUCBpcyBub3Qgc2V0CiBDT05GSUdfODEzOVRPTz15Ci0jIENPTkZJR184MTM5VE9PX1BJTyBpcyBub3Qgc2V0CitDT05GSUdfODEzOVRPT19QSU89eQogIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfODEzOVRPT184MTI5IGlzIG5vdCBzZXQKICMgQ09ORklHXzgxMzlfT0xEX1JYX1JFU0VUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1I2MDQwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiAjIENPTkZJR19FUElDMTAwIGlzIG5vdCBzZXQKICMgQ09ORklHX1NVTkRBTkNFIGlzIG5vdCBzZXQKQEAgLTc0MCwzNCArOTQ4LDc0IEBACiBDT05GSUdfRTEwMDA9eQogIyBDT05GSUdfRTEwMDBfTkFQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19FMTAwMF9ESVNBQkxFX1BBQ0tFVF9TUExJVCBpcyBub3Qgc2V0CisjIENPTkZJR19FMTAwMEUgaXMgbm90IHNldAorIyBDT05GSUdfRTEwMDBFX0VOQUJMRUQgaXMgbm90IHNldAorIyBDT05GSUdfSVAxMDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiAjIENPTkZJR19OUzgzODIwIGlzIG5vdCBzZXQKICMgQ09ORklHX0hBTUFDSEkgaXMgbm90IHNldAogIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKICMgQ09ORklHX1I4MTY5IGlzIG5vdCBzZXQKICMgQ09ORklHX1NJUzE5MCBpcyBub3Qgc2V0CiAjIENPTkZJR19TS0dFIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NLWTIgaXMgbm90IHNldAorQ09ORklHX1NLWTI9eQorIyBDT05GSUdfU0tZMl9ERUJVRyBpcyBub3Qgc2V0CiAjIENPTkZJR19WSUFfVkVMT0NJVFkgaXMgbm90IHNldAogQ09ORklHX1RJR09OMz15Ci1DT05GSUdfQk5YMj15CisjIENPTkZJR19CTlgyIGlzIG5vdCBzZXQKICMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAogIyBDT05GSUdfQVRMMSBpcyBub3Qgc2V0CiBDT05GSUdfTkVUREVWXzEwMDAwPXkKICMgQ09ORklHX0NIRUxTSU9fVDEgaXMgbm90IHNldAogIyBDT05GSUdfQ0hFTFNJT19UMyBpcyBub3Qgc2V0CisjIENPTkZJR19JWEdCRSBpcyBub3Qgc2V0CiAjIENPTkZJR19JWEdCIGlzIG5vdCBzZXQKLUNPTkZJR19TMklPPW0KLSMgQ09ORklHX1MySU9fTkFQSSBpcyBub3Qgc2V0CisjIENPTkZJR19TMklPIGlzIG5vdCBzZXQKICMgQ09ORklHX01ZUkkxMEdFIGlzIG5vdCBzZXQKICMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNldAorIyBDT05GSUdfTklVIGlzIG5vdCBzZXQKICMgQ09ORklHX01MWDRfQ09SRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19UUiBpcyBub3Qgc2V0CisjIENPTkZJR19URUhVVEkgaXMgbm90IHNldAorIyBDT05GSUdfQk5YMlggaXMgbm90IHNldAorIyBDT05GSUdfU0ZDIGlzIG5vdCBzZXQKK0NPTkZJR19UUj15CisjIENPTkZJR19JQk1PTCBpcyBub3Qgc2V0CisjIENPTkZJR18zQzM1OSBpcyBub3Qgc2V0CisjIENPTkZJR19UTVMzODBUUiBpcyBub3Qgc2V0CiAKICMKICMgV2lyZWxlc3MgTEFOCiAjCiAjIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKLSMgQ09ORklHX1dMQU5fODAyMTEgaXMgbm90IHNldAorQ09ORklHX1dMQU5fODAyMTE9eQorIyBDT05GSUdfUENNQ0lBX1JBWUNTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQVzIxMDAgaXMgbm90IHNldAorIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0CisjIENPTkZJR19MSUJFUlRBUyBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CisjIENPTkZJR19BVE1FTCBpcyBub3Qgc2V0CisjIENPTkZJR19BSVJPX0NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9XTDM1MDEgaXMgbm90IHNldAorIyBDT05GSUdfUFJJU001NCBpcyBub3Qgc2V0CisjIENPTkZJR19VU0JfWkQxMjAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBub3Qgc2V0CisjIENPTkZJR19SVEw4MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUTDgxODcgaXMgbm90IHNldAorIyBDT05GSUdfQURNODIxMSBpcyBub3Qgc2V0CisjIENPTkZJR19QNTRfQ09NTU9OIGlzIG5vdCBzZXQKK0NPTkZJR19BVEg1Sz15CisjIENPTkZJR19BVEg1S19ERUJVRyBpcyBub3Qgc2V0CisjIENPTkZJR19JV0xXSUZJIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTENPUkUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMV0lGSV9MRURTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lXTDQ5NjUgaXMgbm90IHNldAorIyBDT05GSUdfSVdMMzk0NSBpcyBub3Qgc2V0CisjIENPTkZJR19IT1NUQVAgaXMgbm90IHNldAorIyBDT05GSUdfQjQzIGlzIG5vdCBzZXQKKyMgQ09ORklHX0I0M0xFR0FDWSBpcyBub3Qgc2V0CisjIENPTkZJR19aRDEyMTFSVyBpcyBub3Qgc2V0CisjIENPTkZJR19SVDJYMDAgaXMgbm90IHNldAogCiAjCiAjIFVTQiBOZXR3b3JrIEFkYXB0ZXJzCkBAIC03NzYsMTYgKzEwMjQsMjYgQEAKICMgQ09ORklHX1VTQl9LQVdFVEggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1JUTDgxNTAgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX1VTQk5FVF9NSUkgaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1VTQk5FVCBpcyBub3Qgc2V0CitDT05GSUdfTkVUX1BDTUNJQT15CisjIENPTkZJR19QQ01DSUFfM0M1ODkgaXMgbm90IHNldAorIyBDT05GSUdfUENNQ0lBXzNDNTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9GTVZKMThYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9QQ05FVCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfTk1DTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDTUNJQV9TTUM5MUM5MiBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfWElSQzJQUyBpcyBub3Qgc2V0CisjIENPTkZJR19QQ01DSUFfQVhORVQgaXMgbm90IHNldAogIyBDT05GSUdfV0FOIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZEREkgaXMgbm90IHNldAorQ09ORklHX0ZEREk9eQorIyBDT05GSUdfREVGWFggaXMgbm90IHNldAorIyBDT05GSUdfU0tGUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0CiAjIENPTkZJR19QUFAgaXMgbm90IHNldAogIyBDT05GSUdfU0xJUCBpcyBub3Qgc2V0CiAjIENPTkZJR19ORVRfRkMgaXMgbm90IHNldAotIyBDT05GSUdfU0hBUEVSIGlzIG5vdCBzZXQKIENPTkZJR19ORVRDT05TT0xFPXkKKyMgQ09ORklHX05FVENPTlNPTEVfRFlOQU1JQyBpcyBub3Qgc2V0CiBDT05GSUdfTkVUUE9MTD15CiAjIENPTkZJR19ORVRQT0xMX1RSQVAgaXMgbm90IHNldAogQ09ORklHX05FVF9QT0xMX0NPTlRST0xMRVI9eQpAQCAtNzk2LDE4ICsxMDU0LDE3IEBACiAjIElucHV0IGRldmljZSBzdXBwb3J0CiAjCiBDT05GSUdfSU5QVVQ9eQotIyBDT05GSUdfSU5QVVRfRkZfTUVNTEVTUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9QT0xMREVWIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9GRl9NRU1MRVNTPXkKK0NPTkZJR19JTlBVVF9QT0xMREVWPXkKIAogIwogIyBVc2VybGFuZCBpbnRlcmZhY2VzCiAjCiBDT05GSUdfSU5QVVRfTU9VU0VERVY9eQotQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYPXkKKyMgQ09ORklHX0lOUFVUX01PVVNFREVWX1BTQVVYIGlzIG5vdCBzZXQKIENPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CiBDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CiAjIENPTkZJR19JTlBVVF9KT1lERVYgaXMgbm90IHNldAotIyBDT05GSUdfSU5QVVRfVFNERVYgaXMgbm90IHNldAogQ09ORklHX0lOUFVUX0VWREVWPXkKICMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKIApAQCAtODMyLDE3ICsxMDg5LDYyIEBACiAjIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldAogIyBDT05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0CiAjIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lOUFVUX1RBQkxFVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTlBVVF9NSVNDIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9KT1lTVElDSz15CisjIENPTkZJR19KT1lTVElDS19BTkFMT0cgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0FESSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19DT0JSQSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HRjJLIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0dSSVAgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUF9NUCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19HVUlMTEVNT1QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfSU5URVJBQ1QgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfU0lERVdJTkRFUiBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19UTURDIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX0lGT1JDRSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19XQVJSSU9SIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX01BR0VMTEFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NQQUNFT1JCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1NQQUNFQkFMTCBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19TVElOR0VSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1RXSURKT1kgaXMgbm90IHNldAorIyBDT05GSUdfSk9ZU1RJQ0tfWkhFTkhVQSBpcyBub3Qgc2V0CisjIENPTkZJR19KT1lTVElDS19KT1lEVU1QIGlzIG5vdCBzZXQKKyMgQ09ORklHX0pPWVNUSUNLX1hQQUQgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX1RBQkxFVD15CisjIENPTkZJR19UQUJMRVRfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0FJUFRFSyBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX0dUQ08gaXMgbm90IHNldAorIyBDT05GSUdfVEFCTEVUX1VTQl9LQlRBQiBpcyBub3Qgc2V0CisjIENPTkZJR19UQUJMRVRfVVNCX1dBQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19JTlBVVF9UT1VDSFNDUkVFTj15CisjIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX0VMTyBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9NVE9VQ0ggaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fTUs3MTIgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAorIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hSSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9UT1VDSFdJTiBpcyBub3Qgc2V0CisjIENPTkZJR19UT1VDSFNDUkVFTl9VQ0IxNDAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RPVUNIU0NSRUVOX1VTQl9DT01QT1NJVEUgaXMgbm90IHNldAorQ09ORklHX0lOUFVUX01JU0M9eQorIyBDT05GSUdfSU5QVVRfUENTUEtSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FQQU5FTCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlBVVF9BVExBU19CVE5TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX0FUSV9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URTIgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfS0VZU1BBTl9SRU1PVEUgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfUE9XRVJNQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOUFVUX1lFQUxJTksgaXMgbm90IHNldAorIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKIAogIwogIyBIYXJkd2FyZSBJL08gcG9ydHMKICMKIENPTkZJR19TRVJJTz15CiBDT05GSUdfU0VSSU9fSTgwNDI9eQotIyBDT05GSUdfU0VSSU9fU0VSUE9SVCBpcyBub3Qgc2V0CitDT05GSUdfU0VSSU9fU0VSUE9SVD15CiAjIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVJJT19QQ0lQUzIgaXMgbm90IHNldAogQ09ORklHX1NFUklPX0xJQlBTMj15CkBAIC04NTUsOCArMTE1NywyNiBAQAogQ09ORklHX1ZUPXkKIENPTkZJR19WVF9DT05TT0xFPXkKIENPTkZJR19IV19DT05TT0xFPXkKLSMgQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAorQ09ORklHX1ZUX0hXX0NPTlNPTEVfQklORElORz15CitDT05GSUdfREVWS01FTT15CitDT05GSUdfU0VSSUFMX05PTlNUQU5EQVJEPXkKKyMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CisjIENPTkZJR19ST0NLRVRQT1JUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NZQ0xBREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RJR0lFUENBIGlzIG5vdCBzZXQKKyMgQ09ORklHX01PWEFfSU5URUxMSU8gaXMgbm90IHNldAorIyBDT05GSUdfTU9YQV9TTUFSVElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOSyBpcyBub3Qgc2V0CisjIENPTkZJR19TWU5DTElOS01QIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NZTkNMSU5LX0dUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05fSERMQyBpcyBub3Qgc2V0CisjIENPTkZJR19SSVNDT004IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CisjIENPTkZJR19TWCBpcyBub3Qgc2V0CisjIENPTkZJR19SSU8gaXMgbm90IHNldAorIyBDT05GSUdfU1RBTERSViBpcyBub3Qgc2V0CisjIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAogCiAjCiAjIFNlcmlhbCBkcml2ZXJzCkBAIC04NjYsOSArMTE4NiwxNCBAQAogQ09ORklHX0ZJWF9FQVJMWUNPTl9NRU09eQogQ09ORklHX1NFUklBTF84MjUwX1BDST15CiBDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKLUNPTkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz00CisjIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0CitDT05GSUdfU0VSSUFMXzgyNTBfTlJfVUFSVFM9MzIKIENPTkZJR19TRVJJQUxfODI1MF9SVU5USU1FX1VBUlRTPTQKLSMgQ09ORklHX1NFUklBTF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKK0NPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CitDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JUUz15CitDT05GSUdfU0VSSUFMXzgyNTBfU0hBUkVfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9ERVRFQ1RfSVJRPXkKK0NPTkZJR19TRVJJQUxfODI1MF9SU0E9eQogCiAjCiAjIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKQEAgLTg3Nyw3OCArMTIwMiwyNjAgQEAKIENPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKICMgQ09ORklHX1NFUklBTF9KU00gaXMgbm90IHNldAogQ09ORklHX1VOSVg5OF9QVFlTPXkKLUNPTkZJR19MRUdBQ1lfUFRZUz15Ci1DT05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKKyMgQ09ORklHX0xFR0FDWV9QVFlTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiBDT05GSUdfSFdfUkFORE9NPXkKLUNPTkZJR19IV19SQU5ET01fSU5URUw9eQotQ09ORklHX0hXX1JBTkRPTV9BTUQ9eQotIyBDT05GSUdfTlZSQU0gaXMgbm90IHNldAotQ09ORklHX1JUQz15CisjIENPTkZJR19IV19SQU5ET01fSU5URUwgaXMgbm90IHNldAorIyBDT05GSUdfSFdfUkFORE9NX0FNRCBpcyBub3Qgc2V0CitDT05GSUdfTlZSQU09eQogIyBDT05GSUdfUjM5NjQgaXMgbm90IHNldAogIyBDT05GSUdfQVBQTElDT00gaXMgbm90IHNldAotQ09ORklHX0FHUD15Ci1DT05GSUdfQUdQX0FNRDY0PXkKLUNPTkZJR19BR1BfSU5URUw9eQotIyBDT05GSUdfQUdQX1NJUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGNoYXJhY3RlciBkZXZpY2VzCisjCisjIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CisjIENPTkZJR19DQVJETUFOXzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfQ0FSRE1BTl80MDQwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lQV0lSRUxFU1MgaXMgbm90IHNldAogIyBDT05GSUdfTVdBVkUgaXMgbm90IHNldAogIyBDT05GSUdfUEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKLUNPTkZJR19SQVdfRFJJVkVSPXkKLUNPTkZJR19NQVhfUkFXX0RFVlM9MjU2CisjIENPTkZJR19SQVdfRFJJVkVSIGlzIG5vdCBzZXQKIENPTkZJR19IUEVUPXkKICMgQ09ORklHX0hQRVRfUlRDX0lSUSBpcyBub3Qgc2V0Ci1DT05GSUdfSFBFVF9NTUFQPXkKKyMgQ09ORklHX0hQRVRfTU1BUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IQU5HQ0hFQ0tfVElNRVIgaXMgbm90IHNldAogIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiAjIENPTkZJR19URUxDTE9DSyBpcyBub3Qgc2V0CiBDT05GSUdfREVWUE9SVD15Ci0jIENPTkZJR19JMkMgaXMgbm90IHNldAorQ09ORklHX0kyQz15CitDT05GSUdfSTJDX0JPQVJESU5GTz15CisjIENPTkZJR19JMkNfQ0hBUkRFViBpcyBub3Qgc2V0CiAKICMKLSMgU1BJIHN1cHBvcnQKKyMgSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0CiAjCisjIENPTkZJR19JMkNfQUxJMTUzNSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQUxJMTVYMyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfQU1ENzU2IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfSTgwMT15CisjIENPTkZJR19JMkNfSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX05GT1JDRTIgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfUFJPU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TQVZBR0U0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzU1OTUgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU0lTOTZYIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfU1RVQiBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVElOWV9VU0IgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX1ZJQSBpcyBub3Qgc2V0CisjIENPTkZJR19JMkNfVklBUFJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0gaXMgbm90IHNldAorCisjCisjIE1pc2NlbGxhbmVvdXMgSTJDIENoaXAgc3VwcG9ydAorIworIyBDT05GSUdfRFMxNjgyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfRUVQUk9NIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU3NCBpcyBub3Qgc2V0CisjIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFTlNPUlNfUENGODU5MSBpcyBub3Qgc2V0CisjIENPTkZJR19TRU5TT1JTX01BWDY4NzUgaXMgbm90IHNldAorIyBDT05GSUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19DT1JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19BTEdPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0kyQ19ERUJVR19CVVMgaXMgbm90IHNldAorIyBDT05GSUdfSTJDX0RFQlVHX0NISVAgaXMgbm90IHNldAogIyBDT05GSUdfU1BJIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NQSV9NQVNURVIgaXMgbm90IHNldAogIyBDT05GSUdfVzEgaXMgbm90IHNldAotIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5vdCBzZXQKK0NPTkZJR19QT1dFUl9TVVBQTFk9eQorIyBDT05GSUdfUE9XRVJfU1VQUExZX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BEQV9QT1dFUiBpcyBub3Qgc2V0CisjIENPTkZJR19CQVRURVJZX0RTMjc2MCBpcyBub3Qgc2V0CiAjIENPTkZJR19IV01PTiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTD15CitDT05GSUdfV0FUQ0hET0c9eQorIyBDT05GSUdfV0FUQ0hET0dfTk9XQVlPVVQgaXMgbm90IHNldAorCisjCisjIFdhdGNoZG9nIERldmljZSBEcml2ZXJzCisjCisjIENPTkZJR19TT0ZUX1dBVENIRE9HIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDUVVJUkVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FEVkFOVEVDSF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfQUxJTTE1MzVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FMSU03MTAxX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19TQzUyMF9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfRVVST1RFQ0hfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lCNzAwX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JQk1BU1IgaXMgbm90IHNldAorIyBDT05GSUdfV0FGRVJfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0k2MzAwRVNCX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JVENPX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19JVDg3MTJGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19IUF9XQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19TQzEyMDBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1BDODc0MTNfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHXzYwWFhfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQzgzNjBfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NQVTVfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NNU0MzN0I3ODdfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1c4MzYyN0hGX1dEVCBpcyBub3Qgc2V0CisjIENPTkZJR19XODM2OTdIRl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzODc3Rl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfVzgzOTc3Rl9XRFQgaXMgbm90IHNldAorIyBDT05GSUdfTUFDSFpfV0RUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NCQ19FUFhfQzNfV0FUQ0hET0cgaXMgbm90IHNldAorCisjCisjIFBDSS1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfUENJUENXQVRDSERPRyBpcyBub3Qgc2V0CisjIENPTkZJR19XRFRQQ0kgaXMgbm90IHNldAorCisjCisjIFVTQi1iYXNlZCBXYXRjaGRvZyBDYXJkcworIworIyBDT05GSUdfVVNCUENXQVRDSERPRyBpcyBub3Qgc2V0CisKKyMKKyMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCisjCitDT05GSUdfU1NCX1BPU1NJQkxFPXkKKyMgQ09ORklHX1NTQiBpcyBub3Qgc2V0CiAKICMKICMgTXVsdGlmdW5jdGlvbiBkZXZpY2UgZHJpdmVycwogIwogIyBDT05GSUdfTUZEX1NNNTAxIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hUQ19QQVNJQzMgaXMgbm90IHNldAogCiAjCiAjIE11bHRpbWVkaWEgZGV2aWNlcwogIworCisjCisjIE11bHRpbWVkaWEgY29yZSBzdXBwb3J0CisjCiAjIENPTkZJR19WSURFT19ERVYgaXMgbm90IHNldAogIyBDT05GSUdfRFZCX0NPUkUgaXMgbm90IHNldAorCisjCisjIE11bHRpbWVkaWEgZHJpdmVycworIwogQ09ORklHX0RBQj15CiAjIENPTkZJR19VU0JfREFCVVNCIGlzIG5vdCBzZXQKIAogIwogIyBHcmFwaGljcyBzdXBwb3J0CiAjCi0jIENPTkZJR19CQUNLTElHSFRfTENEX1NVUFBPUlQgaXMgbm90IHNldAorQ09ORklHX0FHUD15CitDT05GSUdfQUdQX0FNRDY0PXkKK0NPTkZJR19BR1BfSU5URUw9eQorIyBDT05GSUdfQUdQX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19BR1BfVklBIGlzIG5vdCBzZXQKK0NPTkZJR19EUk09eQorIyBDT05GSUdfRFJNX1RERlggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1IxMjggaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1JBREVPTiBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fSTgzMCBpcyBub3Qgc2V0CitDT05GSUdfRFJNX0k5MTU9eQorIyBDT05GSUdfRFJNX01HQSBpcyBub3Qgc2V0CisjIENPTkZJR19EUk1fU0lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RSTV9WSUEgaXMgbm90IHNldAorIyBDT05GSUdfRFJNX1NBVkFHRSBpcyBub3Qgc2V0CisjIENPTkZJR19WR0FTVEFURSBpcyBub3Qgc2V0CisjIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CitDT05GSUdfRkI9eQorIyBDT05GSUdfRklSTVdBUkVfRURJRCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9EREMgaXMgbm90IHNldAorQ09ORklHX0ZCX0NGQl9GSUxMUkVDVD15CitDT05GSUdfRkJfQ0ZCX0NPUFlBUkVBPXkKK0NPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKKyMgQ09ORklHX0ZCX0NGQl9SRVZfUElYRUxTX0lOX0JZVEUgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU1lTX0ZJTExSRUNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9TWVNfSU1BR0VCTElUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0ZPUkVJR05fRU5ESUFOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKK0NPTkZJR19GQl9ERUZFUlJFRF9JTz15CisjIENPTkZJR19GQl9TVkdBTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0JBQ0tMSUdIVCBpcyBub3Qgc2V0CitDT05GSUdfRkJfTU9ERV9IRUxQRVJTPXkKK0NPTkZJR19GQl9USUxFQkxJVFRJTkc9eQorCisjCisjIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCisjCisjIENPTkZJR19GQl9DSVJSVVMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0NZQkVSMjAwMCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUkMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfSU1TVFQgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkdBMTYgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVVZFU0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVkVTQSBpcyBub3Qgc2V0CitDT05GSUdfRkJfRUZJPXkKKyMgQ09ORklHX0ZCX0lNQUMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTjQxMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9IR0EgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzFEMTNYWFggaXMgbm90IHNldAorIyBDT05GSUdfRkJfTlZJRElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1JJVkEgaXMgbm90IHNldAorIyBDT05GSUdfRkJfTEU4MDU3OCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9JTlRFTCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAorIyBDT05GSUdfRkJfUkFERU9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUzMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfU0FWQUdFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9ORU9NQUdJQyBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9LWVJPIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAorIyBDT05GSUdfRkJfVk9PRE9PMSBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9WVDg2MjMgaXMgbm90IHNldAorIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19GQl9BUksgaXMgbm90IHNldAorIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX0dFT0RFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMgbm90IHNldAorQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVD15CisjIENPTkZJR19MQ0RfQ0xBU1NfREVWSUNFIGlzIG5vdCBzZXQKK0NPTkZJR19CQUNLTElHSFRfQ0xBU1NfREVWSUNFPXkKKyMgQ09ORklHX0JBQ0tMSUdIVF9DT1JHSSBpcyBub3Qgc2V0CisjIENPTkZJR19CQUNLTElHSFRfUFJPR0VBUiBpcyBub3Qgc2V0CiAKICMKICMgRGlzcGxheSBkZXZpY2Ugc3VwcG9ydAogIwogIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZCIGlzIG5vdCBzZXQKIAogIwogIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKICMKIENPTkZJR19WR0FfQ09OU09MRT15CiBDT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDSz15Ci1DT05GSUdfVkdBQ09OX1NPRlRfU0NST0xMQkFDS19TSVpFPTI1NgorQ09ORklHX1ZHQUNPTl9TT0ZUX1NDUk9MTEJBQ0tfU0laRT02NAogQ09ORklHX1ZJREVPX1NFTEVDVD15CiBDT05GSUdfRFVNTVlfQ09OU09MRT15CisjIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFIGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPPXkKKyMgQ09ORklHX0xPR09fTElOVVhfTU9OTyBpcyBub3Qgc2V0CisjIENPTkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKK0NPTkZJR19MT0dPX0xJTlVYX0NMVVQyMjQ9eQogCiAjCiAjIFNvdW5kCkBAIC05NTgsMzMgKzE0NjUsMTY1IEBACiAjCiAjIEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZQogIwotIyBDT05GSUdfU05EIGlzIG5vdCBzZXQKK0NPTkZJR19TTkQ9eQorQ09ORklHX1NORF9USU1FUj15CitDT05GSUdfU05EX1BDTT15CitDT05GSUdfU05EX0hXREVQPXkKK0NPTkZJR19TTkRfU0VRVUVOQ0VSPXkKK0NPTkZJR19TTkRfU0VRX0RVTU1ZPXkKK0NPTkZJR19TTkRfT1NTRU1VTD15CitDT05GSUdfU05EX01JWEVSX09TUz15CitDT05GSUdfU05EX1BDTV9PU1M9eQorQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQorQ09ORklHX1NORF9TRVFVRU5DRVJfT1NTPXkKK0NPTkZJR19TTkRfRFlOQU1JQ19NSU5PUlM9eQorQ09ORklHX1NORF9TVVBQT1JUX09MRF9BUEk9eQorQ09ORklHX1NORF9WRVJCT1NFX1BST0NGUz15CisjIENPTkZJR19TTkRfVkVSQk9TRV9QUklOVEsgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfVk1BU1RFUj15CisKKyMKKyMgR2VuZXJpYyBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfUENTUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZJUk1JREkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX01UUEFWIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9TRVJJQUxfVTE2NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NUFU0MDEgaXMgbm90IHNldAorCisjCisjIFBDSSBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfQUQxODg5IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BTFMzMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMUzQwMDAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FMSTU0NTEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVRJSVhQX01PREVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVTg4MTAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQVU4ODMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9BVzIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0FaVDMzMjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0JUODdYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DQTAxMDYgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfT1hZR0VOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9DUzQyODEgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfQ1M1NTMwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9EQVJMQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9HSU5BMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0xBWUxBMjAgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0RBUkxBMjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTEFZTEEyNCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTU9OQSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FQ0hPM0cgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHTyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lORElHT0RKIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTVUxMEsxIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU5TMTM3MCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRU5TMTM3MSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9FUzE5NjggaXMgbm90IHNldAorIyBDT05GSUdfU05EX0ZNODAxIGlzIG5vdCBzZXQKK0NPTkZJR19TTkRfSERBX0lOVEVMPXkKK0NPTkZJR19TTkRfSERBX0hXREVQPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1JFQUxURUs9eQorQ09ORklHX1NORF9IREFfQ09ERUNfQU5BTE9HPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1NJR01BVEVMPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX1ZJQT15CitDT05GSUdfU05EX0hEQV9DT0RFQ19BVElIRE1JPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0NPTkVYQU5UPXkKK0NPTkZJR19TTkRfSERBX0NPREVDX0NNRURJQT15CitDT05GSUdfU05EX0hEQV9DT0RFQ19TSTMwNTQ9eQorQ09ORklHX1NORF9IREFfR0VORVJJQz15CisjIENPTkZJR19TTkRfSERBX1BPV0VSX1NBVkUgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hEU1AgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ISUZJRVIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lDRTE3MTIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lDRTE3MjQgaXMgbm90IHNldAorIyBDT05GSUdfU05EX0lOVEVMOFgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9JTlRFTDhYME0gaXMgbm90IHNldAorIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9NQUVTVFJPMyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfTUlYQVJUIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUENYSFIgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JJUFRJREUgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1JNRTMyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9STUU5NiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUk1FOTY1MiBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVFJJREVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklBODJYWCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfVklSVFVPU08gaXMgbm90IHNldAorIyBDT05GSUdfU05EX1ZYMjIyIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9ZTUZQQ0kgaXMgbm90IHNldAorCisjCisjIFVTQiBkZXZpY2VzCisjCisjIENPTkZJR19TTkRfVVNCX0FVRElPIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NORF9VU0JfVVNYMlkgaXMgbm90IHNldAorIyBDT05GSUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CisKKyMKKyMgUENNQ0lBIGRldmljZXMKKyMKKyMgQ09ORklHX1NORF9WWFBPQ0tFVCBpcyBub3Qgc2V0CisjIENPTkZJR19TTkRfUERBVURJT0NGIGlzIG5vdCBzZXQKKworIworIyBTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0CisjCisjIENPTkZJR19TTkRfU09DIGlzIG5vdCBzZXQKKworIworIyBBTFNBIFNvQyBhdWRpbyBmb3IgRnJlZXNjYWxlIFNPQ3MKKyMKKworIworIyBTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQCisjCiAKICMKICMgT3BlbiBTb3VuZCBTeXN0ZW0KICMKLUNPTkZJR19TT1VORF9QUklNRT15Ci0jIENPTkZJR19TT1VORF9UUklERU5UIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX01TTkRDTEFTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NPVU5EX01TTkRQSU4gaXMgbm90IHNldAotIyBDT05GSUdfU09VTkRfT1NTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKIENPTkZJR19ISURfU1VQUE9SVD15CiBDT05GSUdfSElEPXkKLSMgQ09ORklHX0hJRF9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSElEX0RFQlVHPXkKK0NPTkZJR19ISURSQVc9eQogCiAjCiAjIFVTQiBJbnB1dCBEZXZpY2VzCiAjCiBDT05GSUdfVVNCX0hJRD15Ci0jIENPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LIGlzIG5vdCBzZXQKLSMgQ09ORklHX0hJRF9GRiBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfSElEREVWIGlzIG5vdCBzZXQKK0NPTkZJR19VU0JfSElESU5QVVRfUE9XRVJCT09LPXkKK0NPTkZJR19ISURfRkY9eQorQ09ORklHX0hJRF9QSUQ9eQorQ09ORklHX0xPR0lURUNIX0ZGPXkKKyMgQ09ORklHX0xPR0lSVU1CTEVQQUQyX0ZGIGlzIG5vdCBzZXQKK0NPTkZJR19QQU5USEVSTE9SRF9GRj15CitDT05GSUdfVEhSVVNUTUFTVEVSX0ZGPXkKK0NPTkZJR19aRVJPUExVU19GRj15CitDT05GSUdfVVNCX0hJRERFVj15CiBDT05GSUdfVVNCX1NVUFBPUlQ9eQogQ09ORklHX1VTQl9BUkNIX0hBU19IQ0Q9eQogQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKIENPTkZJR19VU0JfQVJDSF9IQVNfRUhDST15CiBDT05GSUdfVVNCPXkKLSMgQ09ORklHX1VTQl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfVVNCX0RFQlVHPXkKK0NPTkZJR19VU0JfQU5OT1VOQ0VfTkVXX0RFVklDRVM9eQogCiAjCiAjIE1pc2NlbGxhbmVvdXMgVVNCIG9wdGlvbnMKQEAgLTk5MiwxOCArMTYzMSwxOCBAQAogQ09ORklHX1VTQl9ERVZJQ0VGUz15CiAjIENPTkZJR19VU0JfREVWSUNFX0NMQVNTIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9EWU5BTUlDX01JTk9SUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfU1VTUEVORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VU0JfUEVSU0lTVCBpcyBub3Qgc2V0CitDT05GSUdfVVNCX1NVU1BFTkQ9eQogIyBDT05GSUdfVVNCX09URyBpcyBub3Qgc2V0CiAKICMKICMgVVNCIEhvc3QgQ29udHJvbGxlciBEcml2ZXJzCiAjCisjIENPTkZJR19VU0JfQzY3WDAwX0hDRCBpcyBub3Qgc2V0CiBDT05GSUdfVVNCX0VIQ0lfSENEPXkKLSMgQ09ORklHX1VTQl9FSENJX1NQTElUX0lTTyBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9ST09UX0hVQl9UVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfRUhDSV9UVF9ORVdTQ0hFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSVNQMTE2WF9IQ0QgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQKIENPTkZJR19VU0JfT0hDSV9IQ0Q9eQogIyBDT05GSUdfVVNCX09IQ0lfQklHX0VORElBTl9ERVNDIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CkBAIC0xMDM2LDggKzE2NzUsMTAgQEAKICMgQ09ORklHX1VTQl9TVE9SQUdFX1NERFI1NSBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9KVU1QU0hPVCBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfU1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAorIyBDT05GSUdfVVNCX1NUT1JBR0VfT05FVE9VQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVVNCX1NUT1JBR0VfS0FSTUEgaXMgbm90IHNldAotIyBDT05GSUdfVVNCX0xJQlVTVUFMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQl9TVE9SQUdFX0NZUFJFU1NfQVRBQ0IgaXMgbm90IHNldAorQ09ORklHX1VTQl9MSUJVU1VBTD15CiAKICMKICMgVVNCIEltYWdpbmcgZGV2aWNlcwpAQCAtMTA0OSwxMCArMTY5MCw2IEBACiAjCiAjIFVTQiBwb3J0IGRyaXZlcnMKICMKLQotIwotIyBVU0IgU2VyaWFsIENvbnZlcnRlciBzdXBwb3J0Ci0jCiAjIENPTkZJR19VU0JfU0VSSUFMIGlzIG5vdCBzZXQKIAogIwpAQCAtMTA3OCw5OCArMTcxNSwxMjYgQEAKICMgQ09ORklHX1VTQl9UUkFOQ0VWSUJSQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1VTQl9URVNUIGlzIG5vdCBzZXQKLQotIwotIyBVU0IgRFNMIG1vZGVtIHN1cHBvcnQKLSMKLQotIwotIyBVU0IgR2FkZ2V0IFN1cHBvcnQKLSMKICMgQ09ORklHX1VTQl9HQURHRVQgaXMgbm90IHNldAogIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKLQotIwotIyBMRUQgZGV2aWNlcwotIwotIyBDT05GSUdfTkVXX0xFRFMgaXMgbm90IHNldAorIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldAorQ09ORklHX05FV19MRURTPXkKK0NPTkZJR19MRURTX0NMQVNTPXkKIAogIwogIyBMRUQgZHJpdmVycwogIworIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIAogIwogIyBMRUQgVHJpZ2dlcnMKICMKK0NPTkZJR19MRURTX1RSSUdHRVJTPXkKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CisjIENPTkZJR19MRURTX1RSSUdHRVJfSEVBUlRCRUFUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xFRFNfVFJJR0dFUl9ERUZBVUxUX09OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldAogIyBDT05GSUdfSU5GSU5JQkFORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19FREFDIGlzIG5vdCBzZXQKK0NPTkZJR19FREFDPXkKIAogIwotIyBSZWFsIFRpbWUgQ2xvY2sKKyMgUmVwb3J0aW5nIHN1YnN5c3RlbXMKICMKLSMgQ09ORklHX1JUQ19DTEFTUyBpcyBub3Qgc2V0CisjIENPTkZJR19FREFDX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VEQUNfTU1fRURBQyBpcyBub3Qgc2V0CitDT05GSUdfUlRDX0xJQj15CitDT05GSUdfUlRDX0NMQVNTPXkKKyMgQ09ORklHX1JUQ19IQ1RPU1lTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0CiAKICMKLSMgRE1BIEVuZ2luZSBzdXBwb3J0CisjIFJUQyBpbnRlcmZhY2VzCiAjCi0jIENPTkZJR19ETUFfRU5HSU5FIGlzIG5vdCBzZXQKK0NPTkZJR19SVENfSU5URl9TWVNGUz15CitDT05GSUdfUlRDX0lOVEZfUFJPQz15CitDT05GSUdfUlRDX0lOVEZfREVWPXkKKyMgQ09ORklHX1JUQ19JTlRGX0RFVl9VSUVfRU1VTCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAogCiAjCi0jIERNQSBDbGllbnRzCisjIEkyQyBSVEMgZHJpdmVycwogIworIyBDT05GSUdfUlRDX0RSVl9EUzEzMDcgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE2NzIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9NQVg2OTAwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUlM1QzM3MiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX0lTTDEyMDggaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9YMTIwNSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1BDRjg1NjMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfTTQxVDgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBub3Qgc2V0CisKKyMKKyMgU1BJIFJUQyBkcml2ZXJzCisjCisKKyMKKyMgUGxhdGZvcm0gUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19SVENfRFJWX0NNT1M9eQorIyBDT05GSUdfUlRDX0RSVl9EUzE1MTEgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE1NTMgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90IHNldAorIyBDT05GSUdfUlRDX0RSVl9TVEsxN1RBOCBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ4NiBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX000OFQ1OSBpcyBub3Qgc2V0CisjIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKKworIworIyBvbi1DUFUgUlRDIGRyaXZlcnMKKyMKK0NPTkZJR19ETUFERVZJQ0VTPXkKIAogIwogIyBETUEgRGV2aWNlcwogIwotQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKLSMgQ09ORklHX0tWTSBpcyBub3Qgc2V0Ci0KLSMKLSMgVXNlcnNwYWNlIEkvTwotIworIyBDT05GSUdfSU5URUxfSU9BVERNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19VSU8gaXMgbm90IHNldAogCiAjCiAjIEZpcm13YXJlIERyaXZlcnMKICMKICMgQ09ORklHX0VERCBpcyBub3Qgc2V0CitDT05GSUdfRUZJX1ZBUlM9eQogIyBDT05GSUdfREVMTF9SQlUgaXMgbm90IHNldAogIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKIENPTkZJR19ETUlJRD15CisjIENPTkZJR19JU0NTSV9JQkZUX0ZJTkQgaXMgbm90IHNldAogCiAjCiAjIEZpbGUgc3lzdGVtcwogIwotQ09ORklHX0VYVDJfRlM9eQotQ09ORklHX0VYVDJfRlNfWEFUVFI9eQotQ09ORklHX0VYVDJfRlNfUE9TSVhfQUNMPXkKLSMgQ09ORklHX0VYVDJfRlNfU0VDVVJJVFkgaXMgbm90IHNldAotIyBDT05GSUdfRVhUMl9GU19YSVAgaXMgbm90IHNldAorIyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CiBDT05GSUdfRVhUM19GUz15CiBDT05GSUdfRVhUM19GU19YQVRUUj15CiBDT05GSUdfRVhUM19GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfRVhUM19GU19TRUNVUklUWSBpcyBub3Qgc2V0CitDT05GSUdfRVhUM19GU19TRUNVUklUWT15CiAjIENPTkZJR19FWFQ0REVWX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19KQkQ9eQogIyBDT05GSUdfSkJEX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19GU19NQkNBQ0hFPXkKLUNPTkZJR19SRUlTRVJGU19GUz15Ci0jIENPTkZJR19SRUlTRVJGU19DSEVDSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19SRUlTRVJGU19QUk9DX0lORk8gaXMgbm90IHNldAotQ09ORklHX1JFSVNFUkZTX0ZTX1hBVFRSPXkKLUNPTkZJR19SRUlTRVJGU19GU19QT1NJWF9BQ0w9eQotIyBDT05GSUdfUkVJU0VSRlNfRlNfU0VDVVJJVFkgaXMgbm90IHNldAorIyBDT05GSUdfUkVJU0VSRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfSkZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19GU19QT1NJWF9BQ0w9eQogIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0dGUzJfRlMgaXMgbm90IHNldAogIyBDT05GSUdfT0NGUzJfRlMgaXMgbm90IHNldAotIyBDT05GSUdfTUlOSVhfRlMgaXMgbm90IHNldAotIyBDT05GSUdfUk9NRlNfRlMgaXMgbm90IHNldAorQ09ORklHX0ROT1RJRlk9eQogQ09ORklHX0lOT1RJRlk9eQogQ09ORklHX0lOT1RJRllfVVNFUj15Ci0jIENPTkZJR19RVU9UQSBpcyBub3Qgc2V0Ci1DT05GSUdfRE5PVElGWT15CitDT05GSUdfUVVPVEE9eQorQ09ORklHX1FVT1RBX05FVExJTktfSU5URVJGQUNFPXkKKyMgQ09ORklHX1BSSU5UX1FVT1RBX1dBUk5JTkcgaXMgbm90IHNldAorIyBDT05GSUdfUUZNVF9WMSBpcyBub3Qgc2V0CitDT05GSUdfUUZNVF9WMj15CitDT05GSUdfUVVPVEFDVEw9eQogIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKIENPTkZJR19BVVRPRlM0X0ZTPXkKICMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldApAQCAtMTE4MCw3ICsxODQ1LDcgQEAKICMKIENPTkZJR19JU085NjYwX0ZTPXkKIENPTkZJR19KT0xJRVQ9eQotIyBDT05GSUdfWklTT0ZTIGlzIG5vdCBzZXQKK0NPTkZJR19aSVNPRlM9eQogIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKIAogIwpAQCAtMTE5OCwxMyArMTg2MywxMyBAQAogIwogQ09ORklHX1BST0NfRlM9eQogQ09ORklHX1BST0NfS0NPUkU9eQorQ09ORklHX1BST0NfVk1DT1JFPXkKIENPTkZJR19QUk9DX1NZU0NUTD15CiBDT05GSUdfU1lTRlM9eQogQ09ORklHX1RNUEZTPXkKIENPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQogQ09ORklHX0hVR0VUTEJGUz15CiBDT05GSUdfSFVHRVRMQl9QQUdFPXkKLUNPTkZJR19SQU1GUz15CiAjIENPTkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CiAKICMKQEAgLTEyMTIsNiArMTg3Nyw3IEBACiAjCiAjIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAorIyBDT05GSUdfRUNSWVBUX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hGU19GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0JFRlNfRlMgaXMgbm90IHNldApAQCAtMTIxOSwzMyArMTg4NSwxNSBAQAogIyBDT05GSUdfRUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldAogIyBDT05GSUdfUU5YNEZTX0ZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JPTUZTX0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX1NZU1ZfRlMgaXMgbm90IHNldAogIyBDT05GSUdfVUZTX0ZTIGlzIG5vdCBzZXQKLQotIwotIyBOZXR3b3JrIEZpbGUgU3lzdGVtcwotIwotQ09ORklHX05GU19GUz15Ci1DT05GSUdfTkZTX1YzPXkKLSMgQ09ORklHX05GU19WM19BQ0wgaXMgbm90IHNldAotIyBDT05GSUdfTkZTX1Y0IGlzIG5vdCBzZXQKLSMgQ09ORklHX05GU19ESVJFQ1RJTyBpcyBub3Qgc2V0Ci1DT05GSUdfTkZTRD15Ci1DT05GSUdfTkZTRF9WMz15Ci0jIENPTkZJR19ORlNEX1YzX0FDTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19ORlNEX1Y0IGlzIG5vdCBzZXQKLUNPTkZJR19ORlNEX1RDUD15Ci1DT05GSUdfUk9PVF9ORlM9eQotQ09ORklHX0xPQ0tEPXkKLUNPTkZJR19MT0NLRF9WND15Ci1DT05GSUdfRVhQT1JURlM9eQotQ09ORklHX05GU19DT01NT049eQotQ09ORklHX1NVTlJQQz15Ci0jIENPTkZJR19TVU5SUENfQklORDM0IGlzIG5vdCBzZXQKLSMgQ09ORklHX1JQQ1NFQ19HU1NfS1JCNSBpcyBub3Qgc2V0Ci0jIENPTkZJR19SUENTRUNfR1NTX1NQS00zIGlzIG5vdCBzZXQKK0NPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKKyMgQ09ORklHX05GU19GUyBpcyBub3Qgc2V0CisjIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKICMgQ09ORklHX1NNQl9GUyBpcyBub3Qgc2V0CiAjIENPTkZJR19DSUZTIGlzIG5vdCBzZXQKICMgQ09ORklHX05DUF9GUyBpcyBub3Qgc2V0CkBAIC0xMjU1LDE0ICsxOTAzLDI2IEBACiAjCiAjIFBhcnRpdGlvbiBUeXBlcwogIwotIyBDT05GSUdfUEFSVElUSU9OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKK0NPTkZJR19QQVJUSVRJT05fQURWQU5DRUQ9eQorIyBDT05GSUdfQUNPUk5fUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19PU0ZfUEFSVElUSU9OPXkKK0NPTkZJR19BTUlHQV9QQVJUSVRJT049eQorIyBDT05GSUdfQVRBUklfUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19NQUNfUEFSVElUSU9OPXkKIENPTkZJR19NU0RPU19QQVJUSVRJT049eQotCi0jCi0jIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0Ci0jCitDT05GSUdfQlNEX0RJU0tMQUJFTD15CitDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OPXkKK0NPTkZJR19TT0xBUklTX1g4Nl9QQVJUSVRJT049eQorQ09ORklHX1VOSVhXQVJFX0RJU0tMQUJFTD15CisjIENPTkZJR19MRE1fUEFSVElUSU9OIGlzIG5vdCBzZXQKK0NPTkZJR19TR0lfUEFSVElUSU9OPXkKKyMgQ09ORklHX1VMVFJJWF9QQVJUSVRJT04gaXMgbm90IHNldAorQ09ORklHX1NVTl9QQVJUSVRJT049eQorQ09ORklHX0tBUk1BX1BBUlRJVElPTj15CitDT05GSUdfRUZJX1BBUlRJVElPTj15CisjIENPTkZJR19TWVNWNjhfUEFSVElUSU9OIGlzIG5vdCBzZXQKIENPTkZJR19OTFM9eQotQ09ORklHX05MU19ERUZBVUxUPSJpc284ODU5LTEiCitDT05GSUdfTkxTX0RFRkFVTFQ9InV0ZjgiCiBDT05GSUdfTkxTX0NPREVQQUdFXzQzNz15CiAjIENPTkZJR19OTFNfQ09ERVBBR0VfNzM3IGlzIG5vdCBzZXQKICMgQ09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldApAQCAtMTI5Nyw0MCArMTk1NywzMyBAQAogIyBDT05GSUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xMyBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBub3Qgc2V0Ci1DT05GSUdfTkxTX0lTTzg4NTlfMTU9eQorIyBDT05GSUdfTkxTX0lTTzg4NTlfMTUgaXMgbm90IHNldAogIyBDT05GSUdfTkxTX0tPSThfUiBpcyBub3Qgc2V0CiAjIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKIENPTkZJR19OTFNfVVRGOD15Ci0KLSMKLSMgRGlzdHJpYnV0ZWQgTG9jayBNYW5hZ2VyCi0jCiAjIENPTkZJR19ETE0gaXMgbm90IHNldAogCiAjCi0jIEluc3RydW1lbnRhdGlvbiBTdXBwb3J0Ci0jCi1DT05GSUdfUFJPRklMSU5HPXkKLUNPTkZJR19PUFJPRklMRT15Ci1DT05GSUdfS1BST0JFUz15Ci0KLSMKICMgS2VybmVsIGhhY2tpbmcKICMKIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUPXkKICMgQ09ORklHX1BSSU5US19USU1FIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQgaXMgbm90IHNldAogIyBDT05GSUdfRU5BQkxFX01VU1RfQ0hFQ0sgaXMgbm90IHNldAorQ09ORklHX0ZSQU1FX1dBUk49MjA0OAogQ09ORklHX01BR0lDX1NZU1JRPXkKLUNPTkZJR19VTlVTRURfU1lNQk9MUz15CisjIENPTkZJR19VTlVTRURfU1lNQk9MUyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfRlM9eQogIyBDT05GSUdfSEVBREVSU19DSEVDSyBpcyBub3Qgc2V0CiBDT05GSUdfREVCVUdfS0VSTkVMPXkKICMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKLUNPTkZJR19ERVRFQ1RfU09GVExPQ0tVUD15CisjIENPTkZJR19ERVRFQ1RfU09GVExPQ0tVUCBpcyBub3Qgc2V0CiAjIENPTkZJR19TQ0hFRF9ERUJVRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ0hFRFNUQVRTIGlzIG5vdCBzZXQKK0NPTkZJR19TQ0hFRFNUQVRTPXkKIENPTkZJR19USU1FUl9TVEFUUz15Ci0jIENPTkZJR19ERUJVR19TTEFCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX09CSkVDVFMgaXMgbm90IHNldAorIyBDT05GSUdfU0xVQl9ERUJVR19PTiBpcyBub3Qgc2V0CisjIENPTkZJR19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1JUX01VVEVYRVMgaXMgbm90IHNldAogIyBDT05GSUdfUlRfTVVURVhfVEVTVEVSIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKQEAgLTEzNDQsMjggKzE5OTcsMTYyIEBACiBDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CiAjIENPTkZJR19ERUJVR19JTkZPIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFQlVHX1ZNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0RFQlVHX1dSSVRFQ09VTlQgaXMgbm90IHNldAogIyBDT05GSUdfREVCVUdfTElTVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQKLUNPTkZJR19PUFRJTUlaRV9JTkxJTklORz15CisjIENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CitDT05GSUdfRlJBTUVfUE9JTlRFUj15CisjIENPTkZJR19CT09UX1BSSU5US19ERUxBWSBpcyBub3Qgc2V0CiAjIENPTkZJR19SQ1VfVE9SVFVSRV9URVNUIGlzIG5vdCBzZXQKKyMgQ09ORklHX0tQUk9CRVNfU0FOSVRZX1RFU1QgaXMgbm90IHNldAorIyBDT05GSUdfQkFDS1RSQUNFX1NFTEZfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19MS0RUTSBpcyBub3Qgc2V0CiAjIENPTkZJR19GQVVMVF9JTkpFQ1RJT04gaXMgbm90IHNldAotIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lPTU1VX0RFQlVHIGlzIG5vdCBzZXQKKyMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNldAorQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQ9eQorIyBDT05GSUdfU0FNUExFUyBpcyBub3Qgc2V0CisjIENPTkZJR19LR0RCIGlzIG5vdCBzZXQKK0NPTkZJR19IQVZFX0FSQ0hfS0dEQj15CisjIENPTkZJR19OT05QUk9NSVNDX0RFVk1FTSBpcyBub3Qgc2V0CitDT05GSUdfRUFSTFlfUFJJTlRLPXkKIENPTkZJR19ERUJVR19TVEFDS09WRVJGTE9XPXkKLSMgQ09ORklHX0RFQlVHX1NUQUNLX1VTQUdFIGlzIG5vdCBzZXQKK0NPTkZJR19ERUJVR19TVEFDS19VU0FHRT15CisjIENPTkZJR19ERUJVR19QQUdFQUxMT0MgaXMgbm90IHNldAorIyBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1g4Nl9QVERVTVAgaXMgbm90IHNldAorQ09ORklHX0RFQlVHX1JPREFUQT15CisjIENPTkZJR19ESVJFQ1RfR0JQQUdFUyBpcyBub3Qgc2V0CisjIENPTkZJR19ERUJVR19ST0RBVEFfVEVTVCBpcyBub3Qgc2V0CitDT05GSUdfREVCVUdfTlhfVEVTVD1tCitDT05GSUdfWDg2X01QUEFSU0U9eQorIyBDT05GSUdfSU9NTVVfREVCVUcgaXMgbm90IHNldAorQ09ORklHX0lPX0RFTEFZX1RZUEVfMFg4MD0wCitDT05GSUdfSU9fREVMQVlfVFlQRV8wWEVEPTEKK0NPTkZJR19JT19ERUxBWV9UWVBFX1VERUxBWT0yCitDT05GSUdfSU9fREVMQVlfVFlQRV9OT05FPTMKK0NPTkZJR19JT19ERUxBWV8wWDgwPXkKKyMgQ09ORklHX0lPX0RFTEFZXzBYRUQgaXMgbm90IHNldAorIyBDT05GSUdfSU9fREVMQVlfVURFTEFZIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lPX0RFTEFZX05PTkUgaXMgbm90IHNldAorQ09ORklHX0RFRkFVTFRfSU9fREVMQVlfVFlQRT0wCitDT05GSUdfREVCVUdfQk9PVF9QQVJBTVM9eQorIyBDT05GSUdfQ1BBX0RFQlVHIGlzIG5vdCBzZXQKIAogIwogIyBTZWN1cml0eSBvcHRpb25zCiAjCi0jIENPTkZJR19LRVlTIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NSWVBUTyBpcyBub3Qgc2V0CitDT05GSUdfS0VZUz15CitDT05GSUdfS0VZU19ERUJVR19QUk9DX0tFWVM9eQorQ09ORklHX1NFQ1VSSVRZPXkKK0NPTkZJR19TRUNVUklUWV9ORVRXT1JLPXkKKyMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfQ0FQQUJJTElUSUVTPXkKK0NPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUz15CisjIENPTkZJR19TRUNVUklUWV9ST09UUExVRyBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfREVGQVVMVF9NTUFQX01JTl9BRERSPTY1NTM2CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9CT09UUEFSQU09eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQk9PVFBBUkFNX1ZBTFVFPTEKK0NPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RJU0FCTEU9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfREVWRUxPUD15CitDT05GSUdfU0VDVVJJVFlfU0VMSU5VWF9BVkNfU1RBVFM9eQorQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQ0hFQ0tSRVFQUk9UX1ZBTFVFPTEKKyMgQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfRU5BQkxFX1NFQ01BUktfREVGQVVMVCBpcyBub3Qgc2V0CisjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYX1BPTElDWURCX1ZFUlNJT05fTUFYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFQ1VSSVRZX1NNQUNLIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE89eQorCisjCisjIENyeXB0byBjb3JlIG9yIGhlbHBlcgorIworQ09ORklHX0NSWVBUT19BTEdBUEk9eQorQ09ORklHX0NSWVBUT19BRUFEPXkKK0NPTkZJR19DUllQVE9fQkxLQ0lQSEVSPXkKK0NPTkZJR19DUllQVE9fSEFTSD15CitDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQorIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19OVUxMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DUllQVEQgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19BVVRIRU5DPXkKKyMgQ09ORklHX0NSWVBUT19URVNUIGlzIG5vdCBzZXQKKworIworIyBBdXRoZW50aWNhdGVkIEVuY3J5cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKKyMKKyMgQ09ORklHX0NSWVBUT19DQ00gaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAorCisjCisjIEJsb2NrIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0NCQz15CisjIENPTkZJR19DUllQVE9fQ1RSIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DVFMgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19FQ0I9eQorIyBDT05GSUdfQ1JZUFRPX0xSVyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKKworIworIyBIYXNoIG1vZGVzCisjCitDT05GSUdfQ1JZUFRPX0hNQUM9eQorIyBDT05GSUdfQ1JZUFRPX1hDQkMgaXMgbm90IHNldAorCisjCisjIERpZ2VzdAorIworIyBDT05GSUdfQ1JZUFRPX0NSQzMyQyBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fTUQ0IGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fTUQ1PXkKKyMgQ09ORklHX0NSWVBUT19NSUNIQUVMX01JQyBpcyBub3Qgc2V0CitDT05GSUdfQ1JZUFRPX1NIQTE9eQorIyBDT05GSUdfQ1JZUFRPX1NIQTI1NiBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0hBNTEyIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX1dQNTEyIGlzIG5vdCBzZXQKKworIworIyBDaXBoZXJzCisjCitDT05GSUdfQ1JZUFRPX0FFUz15CisjIENPTkZJR19DUllQVE9fQUVTX1g4Nl82NCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQU5VQklTIGlzIG5vdCBzZXQKK0NPTkZJR19DUllQVE9fQVJDND15CisjIENPTkZJR19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAorIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19DQVNUNSBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fQ0FTVDYgaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19ERVM9eQorIyBDT05GSUdfQ1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fS0hBWkFEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19TQUxTQTIwX1g4Nl82NCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VFRCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fU0VSUEVOVCBpcyBub3Qgc2V0CisjIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19UV09GSVNIX1g4Nl82NCBpcyBub3Qgc2V0CisKKyMKKyMgQ29tcHJlc3Npb24KKyMKKyMgQ09ORklHX0NSWVBUT19ERUZMQVRFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAorQ09ORklHX0NSWVBUT19IVz15CisjIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0CitDT05GSUdfSEFWRV9LVk09eQorQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKKyMgQ09ORklHX0tWTSBpcyBub3Qgc2V0CisjIENPTkZJR19WSVJUSU9fUENJIGlzIG5vdCBzZXQKKyMgQ09ORklHX1ZJUlRJT19CQUxMT09OIGlzIG5vdCBzZXQKIAogIwogIyBMaWJyYXJ5IHJvdXRpbmVzCiAjCiBDT05GSUdfQklUUkVWRVJTRT15CitDT05GSUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVD15CitDT05GSUdfR0VORVJJQ19GSU5EX05FWFRfQklUPXkKICMgQ09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkMxNiBpcyBub3Qgc2V0CiAjIENPTkZJR19DUkNfSVRVX1QgaXMgbm90IHNldApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUyBiL2FyY2gveDg2L2lhMzIvaWEzMmVudHJ5LlMKaW5kZXggYjVlMzI5ZC4uMjAzNzFkMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaWEzMi9pYTMyZW50cnkuUworKysgYi9hcmNoL3g4Ni9pYTMyL2lhMzJlbnRyeS5TCkBAIC02MSw2ICs2MSwxOSBAQAogCUNGSV9VTkRFRklORUQJcjE1CiAJLmVuZG0KIAorI2lmZGVmIENPTkZJR19QQVJBVklSVAorRU5UUlkobmF0aXZlX3VzZXJnc19zeXNyZXQzMikKKwlzd2FwZ3MKKwlzeXNyZXRsCitFTkRQUk9DKG5hdGl2ZV91c2VyZ3Nfc3lzcmV0MzIpCisKK0VOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2V4aXQpCisJc3dhcGdzCisJc3RpCisJc3lzZXhpdAorRU5EUFJPQyhuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KQorI2VuZGlmCisKIC8qCiAgKiAzMmJpdCBTWVNFTlRFUiBpbnN0cnVjdGlvbiBlbnRyeS4KICAqCkBAIC04NSwxNCArOTgsMTQgQEAKIAlDRklfU0lHTkFMX0ZSQU1FCiAJQ0ZJX0RFRl9DRkEJcnNwLDAKIAlDRklfUkVHSVNURVIJcnNwLHJicAotCXN3YXBncworCVNXQVBHU19VTlNBRkVfU1RBQ0sKIAltb3ZxCSVnczpwZGFfa2VybmVsc3RhY2ssICVyc3AKIAlhZGRxCSQoUERBX1NUQUNLT0ZGU0VUKSwlcnNwCQogCS8qCiAJICogTm8gbmVlZCB0byBmb2xsb3cgdGhpcyBpcnFzIG9uL29mZiBzZWN0aW9uOiB0aGUgc3lzY2FsbAogCSAqIGRpc2FibGVkIGlycXMsIGhlcmUgd2UgZW5hYmxlIGl0IHN0cmFpZ2h0IGFmdGVyIGVudHJ5OgogCSAqLwotCXN0aQkKKwlFTkFCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAgCW1vdmwJJWVicCwlZWJwCQkvKiB6ZXJvIGV4dGVuc2lvbiAqLwogCXB1c2hxCSRfX1VTRVIzMl9EUwogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC0xMDMsNyArMTE2LDcgQEAKIAlwdXNoZnEKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAogCS8qQ0ZJX1JFTF9PRkZTRVQgcmZsYWdzLDAqLwotCW1vdmwJOCozLVRIUkVBRF9TSVpFK3RocmVhZGluZm9fc3lzZW50ZXJfcmV0dXJuKCVyc3ApLCAlcjEwZAorCW1vdmwJOCozLVRIUkVBRF9TSVpFK1RJX3N5c2VudGVyX3JldHVybiglcnNwKSwgJXIxMGQKIAlDRklfUkVHSVNURVIgcmlwLHIxMAogCXB1c2hxCSRfX1VTRVIzMl9DUwogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CkBAIC0xMjMsOCArMTM2LDkgQEAKICAJLnF1YWQgMWIsaWEzMl9iYWRhcmcKICAJLnByZXZpb3VzCQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCW9ybCAgICAkVFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCi0JdGVzdGwgICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwlvcmwgICAgJFRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKKwl0ZXN0bCAgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJIFRJX2ZsYWdzKCVyMTApCiAJQ0ZJX1JFTUVNQkVSX1NUQVRFCiAJam56ICBzeXNlbnRlcl90cmFjZXN5cwogc3lzZW50ZXJfZG9fY2FsbDoJCkBAIC0xMzQsMTEgKzE0OCwxMSBAQAogCWNhbGwJKmlhMzJfc3lzX2NhbGxfdGFibGUoLCVyYXgsOCkKIAltb3ZxCSVyYXgsUkFYLUFSR09GRlNFVCglcnNwKQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCWNsaQorCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJVFJBQ0VfSVJRU19PRkYKLQl0ZXN0bAkkX1RJRl9BTExXT1JLX01BU0ssdGhyZWFkaW5mb19mbGFncyglcjEwKQorCXRlc3RsCSRfVElGX0FMTFdPUktfTUFTSyxUSV9mbGFncyglcjEwKQogCWpueglpbnRfcmV0X2Zyb21fc3lzX2NhbGwKLQlhbmRsICAgICR+VFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCisJYW5kbCAgICAkflRTX0NPTVBBVCxUSV9zdGF0dXMoJXIxMCkKIAkvKiBjbGVhciBJRiwgdGhhdCBwb3BmcSBkb2Vzbid0IGVuYWJsZSBpbnRlcnJ1cHRzIGVhcmx5ICovCiAJYW5kbCAgJH4weDIwMCxFRkxBR1MtUjExKCVyc3ApIAogCW1vdmwJUklQLVIxMSglcnNwKSwlZWR4CQkvKiBVc2VyICVlaXAgKi8KQEAgLTE1MSwxMCArMTY1LDcgQEAKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKIAlDRklfUkVHSVNURVIgcnNwLHJjeAogCVRSQUNFX0lSUVNfT04KLQlzd2FwZ3MKLQlzdGkJCS8qIHN0aSBvbmx5IHRha2VzIGVmZmVjdCBhZnRlciB0aGUgbmV4dCBpbnN0cnVjdGlvbiAqLwotCS8qIHN5c2V4aXQgKi8KLQkuYnl0ZQkweGYsIDB4MzUKKwlFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUMzIKIAogc3lzZW50ZXJfdHJhY2VzeXM6CiAJQ0ZJX1JFU1RPUkVfU1RBVEUKQEAgLTIwMCw3ICsyMTEsNyBAQAogCUNGSV9ERUZfQ0ZBCXJzcCxQREFfU1RBQ0tPRkZTRVQKIAlDRklfUkVHSVNURVIJcmlwLHJjeAogCS8qQ0ZJX1JFR0lTVEVSCXJmbGFncyxyMTEqLwotCXN3YXBncworCVNXQVBHU19VTlNBRkVfU1RBQ0sKIAltb3ZsCSVlc3AsJXI4ZAogCUNGSV9SRUdJU1RFUglyc3AscjgKIAltb3ZxCSVnczpwZGFfa2VybmVsc3RhY2ssJXJzcApAQCAtMjA4LDcgKzIxOSw3IEBACiAJICogTm8gbmVlZCB0byBmb2xsb3cgdGhpcyBpcnFzIG9uL29mZiBzZWN0aW9uOiB0aGUgc3lzY2FsbAogCSAqIGRpc2FibGVkIGlycXMgYW5kIGhlcmUgd2UgZW5hYmxlIGl0IHN0cmFpZ2h0IGFmdGVyIGVudHJ5OgogCSAqLwotCXN0aQorCUVOQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlTQVZFX0FSR1MgOCwxLDEKIAltb3ZsIAklZWF4LCVlYXgJLyogemVybyBleHRlbnNpb24gKi8KIAltb3ZxCSVyYXgsT1JJR19SQVgtQVJHT0ZGU0VUKCVyc3ApCkBAIC0yMzAsOCArMjQxLDkgQEAKIAkucXVhZCAxYixpYTMyX2JhZGFyZwogCS5wcmV2aW91cwkKIAlHRVRfVEhSRUFEX0lORk8oJXIxMCkKLQlvcmwgICAkVFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyMTApCi0JdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksdGhyZWFkaW5mb19mbGFncyglcjEwKQorCW9ybCAgICRUU19DT01QQVQsVElfc3RhdHVzKCVyMTApCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJVElfZmxhZ3MoJXIxMCkKIAlDRklfUkVNRU1CRVJfU1RBVEUKIAlqbnogICBjc3Rhcl90cmFjZXN5cwogY3N0YXJfZG9fY2FsbDoJCkBAIC0yNDEsMTEgKzI1MywxMSBAQAogCWNhbGwgKmlhMzJfc3lzX2NhbGxfdGFibGUoLCVyYXgsOCkKIAltb3ZxICVyYXgsUkFYLUFSR09GRlNFVCglcnNwKQogCUdFVF9USFJFQURfSU5GTyglcjEwKQotCWNsaQorCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJVFJBQ0VfSVJRU19PRkYKLQl0ZXN0bCAkX1RJRl9BTExXT1JLX01BU0ssdGhyZWFkaW5mb19mbGFncyglcjEwKQorCXRlc3RsICRfVElGX0FMTFdPUktfTUFTSyxUSV9mbGFncyglcjEwKQogCWpueiAgaW50X3JldF9mcm9tX3N5c19jYWxsCi0JYW5kbCAkflRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQorCWFuZGwgJH5UU19DT01QQVQsVElfc3RhdHVzKCVyMTApCiAJUkVTVE9SRV9BUkdTIDEsLUFSR19TS0lQLDEsMSwxCiAJbW92bCBSSVAtQVJHT0ZGU0VUKCVyc3ApLCVlY3gKIAlDRklfUkVHSVNURVIgcmlwLHJjeApAQCAtMjU0LDggKzI2Niw3IEBACiAJVFJBQ0VfSVJRU19PTgogCW1vdmwgUlNQLUFSR09GRlNFVCglcnNwKSwlZXNwCiAJQ0ZJX1JFU1RPUkUgcnNwCi0Jc3dhcGdzCi0Jc3lzcmV0bAorCVVTRVJHU19TWVNSRVQzMgogCQogY3N0YXJfdHJhY2VzeXM6CQogCUNGSV9SRVNUT1JFX1NUQVRFCkBAIC0zMTAsMTIgKzMyMSwxMiBAQAogCS8qQ0ZJX1JFTF9PRkZTRVQJcmZsYWdzLEVGTEFHUy1SSVAqLwogCS8qQ0ZJX1JFTF9PRkZTRVQJY3MsQ1MtUklQKi8KIAlDRklfUkVMX09GRlNFVAlyaXAsUklQLVJJUAotCXN3YXBncworCVNXQVBHUwogCS8qCiAJICogTm8gbmVlZCB0byBmb2xsb3cgdGhpcyBpcnFzIG9uL29mZiBzZWN0aW9uOiB0aGUgc3lzY2FsbAogCSAqIGRpc2FibGVkIGlycXMgYW5kIGhlcmUgd2UgZW5hYmxlIGl0IHN0cmFpZ2h0IGFmdGVyIGVudHJ5OgogCSAqLwotCXN0aQorCUVOQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAltb3ZsICVlYXgsJWVheAogCXB1c2hxICVyYXgKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOApAQCAtMzI0LDggKzMzNSw5IEBACiAJICAgdGhpcyBjb3VsZCBiZSBhIHByb2JsZW0uICovCiAJU0FWRV9BUkdTIDAsMCwxCiAJR0VUX1RIUkVBRF9JTkZPKCVyMTApCi0Jb3JsICAgJFRTX0NPTVBBVCx0aHJlYWRpbmZvX3N0YXR1cyglcjEwKQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLHRocmVhZGluZm9fZmxhZ3MoJXIxMCkKKwlvcmwgICAkVFNfQ09NUEFULFRJX3N0YXR1cyglcjEwKQorCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NFQ0NPTVApLCBcCisJCVRJX2ZsYWdzKCVyMTApCiAJam56IGlhMzJfdHJhY2VzeXMKIGlhMzJfZG9fc3lzY2FsbDoJCiAJY21wbCAkKElBMzJfTlJfc3lzY2FsbHMtMSksJWVheApAQCAtMzcwLDEzICszODIsMTEgQEAKIAlQVFJFR1NDQUxMIHN0dWIzMl9ydF9zaWdyZXR1cm4sIHN5czMyX3J0X3NpZ3JldHVybiwgJXJkaQogCVBUUkVHU0NBTEwgc3R1YjMyX3NpZ3JldHVybiwgc3lzMzJfc2lncmV0dXJuLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfc2lnYWx0c3RhY2ssIHN5czMyX3NpZ2FsdHN0YWNrLCAlcmR4Ci0JUFRSRUdTQ0FMTCBzdHViMzJfc2lnc3VzcGVuZCwgc3lzMzJfc2lnc3VzcGVuZCwgJXJjeAogCVBUUkVHU0NBTEwgc3R1YjMyX2V4ZWN2ZSwgc3lzMzJfZXhlY3ZlLCAlcmN4CiAJUFRSRUdTQ0FMTCBzdHViMzJfZm9yaywgc3lzX2ZvcmssICVyZGkKIAlQVFJFR1NDQUxMIHN0dWIzMl9jbG9uZSwgc3lzMzJfY2xvbmUsICVyZHgKIAlQVFJFR1NDQUxMIHN0dWIzMl92Zm9yaywgc3lzX3Zmb3JrLCAlcmRpCiAJUFRSRUdTQ0FMTCBzdHViMzJfaW9wbCwgc3lzX2lvcGwsICVyc2kKLQlQVFJFR1NDQUxMIHN0dWIzMl9ydF9zaWdzdXNwZW5kLCBzeXNfcnRfc2lnc3VzcGVuZCwgJXJkeAogCiBFTlRSWShpYTMyX3B0cmVnc19jb21tb24pCiAJcG9wcSAlcjExCkBAIC00NzYsNyArNDg2LDcgQEAKIAkucXVhZCBzeXNfc3NldG1hc2sKIAkucXVhZCBzeXNfc2V0cmV1aWQxNgkvKiA3MCAqLwogCS5xdWFkIHN5c19zZXRyZWdpZDE2Ci0JLnF1YWQgc3R1YjMyX3NpZ3N1c3BlbmQKKwkucXVhZCBzeXMzMl9zaWdzdXNwZW5kCiAJLnF1YWQgY29tcGF0X3N5c19zaWdwZW5kaW5nCiAJLnF1YWQgc3lzX3NldGhvc3RuYW1lCiAJLnF1YWQgY29tcGF0X3N5c19zZXRybGltaXQJLyogNzUgKi8KQEAgLTU4Myw3ICs1OTMsNyBAQAogCS5xdWFkIHN5czMyX3J0X3NpZ3BlbmRpbmcKIAkucXVhZCBjb21wYXRfc3lzX3J0X3NpZ3RpbWVkd2FpdAogCS5xdWFkIHN5czMyX3J0X3NpZ3F1ZXVlaW5mbwotCS5xdWFkIHN0dWIzMl9ydF9zaWdzdXNwZW5kCisJLnF1YWQgc3lzX3J0X3NpZ3N1c3BlbmQKIAkucXVhZCBzeXMzMl9wcmVhZAkJLyogMTgwICovCiAJLnF1YWQgc3lzMzJfcHdyaXRlCiAJLnF1YWQgc3lzX2Nob3duMTYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC8uZ2l0aWdub3JlIGIvYXJjaC94ODYva2VybmVsLy5naXRpZ25vcmUKaW5kZXggNGVhMzhhMy4uMDhmNGZkNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsLy5naXRpZ25vcmUKKysrIGIvYXJjaC94ODYva2VybmVsLy5naXRpZ25vcmUKQEAgLTEsMiArMSwzIEBACiB2c3lzY2FsbC5sZHMKIHZzeXNjYWxsXzMyLmxkcwordm1saW51eC5sZHMKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gveDg2L2tlcm5lbC9NYWtlZmlsZQppbmRleCA3NzgwN2Q0Li41MTEyYzg0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYva2VybmVsL01ha2VmaWxlCkBAIC0yLDEwICsyLDE3IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgbGludXgga2VybmVsLgogIwogCi1leHRyYS15ICAgICAgICAgICAgICAgIDo9IGhlYWRfJChCSVRTKS5vIGhlYWQkKEJJVFMpLm8gaW5pdF90YXNrLm8gdm1saW51eC5sZHMKK2V4dHJhLXkgICAgICAgICAgICAgICAgOj0gaGVhZF8kKEJJVFMpLm8gaGVhZCQoQklUUykubyBoZWFkLm8gaW5pdF90YXNrLm8gdm1saW51eC5sZHMKIAogQ1BQRkxBR1Nfdm1saW51eC5sZHMgKz0gLVUkKFVUU19NQUNISU5FKQogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCBwcm9maWxlIGRlYnVnIHV0aWxpdGllcworQ0ZMQUdTX1JFTU9WRV90c2NfNjQubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV90c2NfMzIubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9ydGMubyA9IC1wZworZW5kaWYKKwogIwogIyB2c3lzY2FsbHMgKHdoaWNoIHdvcmsgb24gdGhlIHVzZXIgc3RhY2spIHNob3VsZCBoYXZlCiAjIG5vIHN0YWNrLXByb3RlY3RvciBjaGVja3M6CkBAIC0xMywyMCArMjAsMjEgQEAKIG5vc3RhY2twIDo9ICQoY2FsbCBjYy1vcHRpb24sIC1mbm8tc3RhY2stcHJvdGVjdG9yKQogQ0ZMQUdTX3ZzeXNjYWxsXzY0Lm8JOj0gJChQUk9GSUxJTkcpIC1nMCAkKG5vc3RhY2twKQogQ0ZMQUdTX2hwZXQubwkJOj0gJChub3N0YWNrcCkKLUNGTEFHU190c2NfNjQubwkJOj0gJChub3N0YWNrcCkKK0NGTEFHU190c2MubwkJOj0gJChub3N0YWNrcCkKIAogb2JqLXkJCQk6PSBwcm9jZXNzXyQoQklUUykubyBzaWduYWxfJChCSVRTKS5vIGVudHJ5XyQoQklUUykubwogb2JqLXkJCQkrPSB0cmFwc18kKEJJVFMpLm8gaXJxXyQoQklUUykubwogb2JqLXkJCQkrPSB0aW1lXyQoQklUUykubyBpb3BvcnQubyBsZHQubwotb2JqLXkJCQkrPSBzZXR1cF8kKEJJVFMpLm8gaTgyNTlfJChCSVRTKS5vIHNldHVwLm8KK29iai15CQkJKz0gc2V0dXAubyBpODI1OS5vIGlycWluaXRfJChCSVRTKS5vIHNldHVwX3BlcmNwdS5vCitvYmotJChDT05GSUdfWDg2X1ZJU1dTKQkrPSB2aXN3c19xdWlya3Mubworb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gcHJvYmVfcm9tc18zMi5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBzeXNfaTM4Nl8zMi5vIGkzODZfa3N5bXNfMzIubwogb2JqLSQoQ09ORklHX1g4Nl82NCkJKz0gc3lzX3g4Nl82NC5vIHg4NjY0X2tzeW1zXzY0Lm8KLW9iai0kKENPTkZJR19YODZfNjQpCSs9IHN5c2NhbGxfNjQubyB2c3lzY2FsbF82NC5vIHNldHVwNjQubwotb2JqLXkJCQkrPSBib290ZmxhZy5vIGU4MjBfJChCSVRTKS5vCitvYmotJChDT05GSUdfWDg2XzY0KQkrPSBzeXNjYWxsXzY0Lm8gdnN5c2NhbGxfNjQubworb2JqLXkJCQkrPSBib290ZmxhZy5vIGU4MjAubwogb2JqLXkJCQkrPSBwY2ktZG1hLm8gcXVpcmtzLm8gaTgyMzcubyB0b3BvbG9neS5vIGtkZWJ1Z2ZzLm8KIG9iai15CQkJKz0gYWx0ZXJuYXRpdmUubyBpODI1My5vIHBjaS1ub21tdS5vCi1vYmotJChDT05GSUdfWDg2XzY0KQkrPSBidWdzXzY0Lm8KLW9iai15CQkJKz0gdHNjXyQoQklUUykubyBpb19kZWxheS5vIHJ0Yy5vCitvYmoteQkJCSs9IHRzYy5vIGlvX2RlbGF5Lm8gcnRjLm8KIAogb2JqLSQoQ09ORklHX1g4Nl9UUkFNUE9MSU5FKQkrPSB0cmFtcG9saW5lLm8KIG9iai15CQkJCSs9IHByb2Nlc3MubwpAQCAtNTMsOSArNjEsMTAgQEAKIG9iai0kKENPTkZJR19YODZfNjRfU01QKQkrPSB0c2Nfc3luYy5vIHNtcGNvbW1vbi5vCiBvYmotJChDT05GSUdfWDg2X1RSQU1QT0xJTkUpCSs9IHRyYW1wb2xpbmVfJChCSVRTKS5vCiBvYmotJChDT05GSUdfWDg2X01QUEFSU0UpCSs9IG1wcGFyc2Uubwotb2JqLSQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKQkrPSBhcGljXyQoQklUUykubyBubWlfJChCSVRTKS5vCitvYmotJChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpCSs9IGFwaWNfJChCSVRTKS5vIG5taS5vCiBvYmotJChDT05GSUdfWDg2X0lPX0FQSUMpCSs9IGlvX2FwaWNfJChCSVRTKS5vCiBvYmotJChDT05GSUdfWDg2X1JFQk9PVEZJWFVQUykJKz0gcmVib290X2ZpeHVwc18zMi5vCitvYmotJChDT05GSUdfRFlOQU1JQ19GVFJBQ0UpCSs9IGZ0cmFjZS5vCiBvYmotJChDT05GSUdfS0VYRUMpCQkrPSBtYWNoaW5lX2tleGVjXyQoQklUUykubwogb2JqLSQoQ09ORklHX0tFWEVDKQkJKz0gcmVsb2NhdGVfa2VybmVsXyQoQklUUykubyBjcmFzaC5vCiBvYmotJChDT05GSUdfQ1JBU0hfRFVNUCkJKz0gY3Jhc2hfZHVtcF8kKEJJVFMpLm8KQEAgLTY0LDcgKzczLDYgQEAKIG9iai15CQkJCSs9IHZzbXBfNjQubwogb2JqLSQoQ09ORklHX0tQUk9CRVMpCQkrPSBrcHJvYmVzLm8KIG9iai0kKENPTkZJR19NT0RVTEVTKQkJKz0gbW9kdWxlXyQoQklUUykubwotb2JqLSQoQ09ORklHX0FDUElfU1JBVCkgCSs9IHNyYXRfMzIubwogb2JqLSQoQ09ORklHX0VGSSkgCQkrPSBlZmkubyBlZmlfJChCSVRTKS5vIGVmaV9zdHViXyQoQklUUykubwogb2JqLSQoQ09ORklHX0RPVUJMRUZBVUxUKSAJKz0gZG91YmxlZmF1bHRfMzIubwogb2JqLSQoQ09ORklHX0tHREIpCQkrPSBrZ2RiLm8KQEAgLTk0LDEyICsxMDIsMTMgQEAKICMjIwogIyA2NCBiaXQgc3BlY2lmaWMgZmlsZXMKIGlmZXEgKCQoQ09ORklHX1g4Nl82NCkseSkKLSAgICAgICAgb2JqLXkJCQkJKz0gZ2VuYXBpY182NC5vIGdlbmFwaWNfZmxhdF82NC5vIGdlbngyYXBpY191dl94Lm8KKyAgICAgICAgb2JqLXkJCQkJKz0gZ2VuYXBpY182NC5vIGdlbmFwaWNfZmxhdF82NC5vIGdlbngyYXBpY191dl94Lm8gdGxiX3V2Lm8KICAgICAgICAgb2JqLSQoQ09ORklHX1g4Nl9QTV9USU1FUikJKz0gcG10aW1lcl82NC5vCiAgICAgICAgIG9iai0kKENPTkZJR19BVURJVCkJCSs9IGF1ZGl0XzY0Lm8KIAogICAgICAgICBvYmotJChDT05GSUdfR0FSVF9JT01NVSkJKz0gcGNpLWdhcnRfNjQubyBhcGVydHVyZV82NC5vCiAgICAgICAgIG9iai0kKENPTkZJR19DQUxHQVJZX0lPTU1VKQkrPSBwY2ktY2FsZ2FyeV82NC5vIHRjZV82NC5vCisgICAgICAgIG9iai0kKENPTkZJR19BTURfSU9NTVUpCQkrPSBhbWRfaW9tbXVfaW5pdC5vIGFtZF9pb21tdS5vCiAgICAgICAgIG9iai0kKENPTkZJR19TV0lPVExCKQkJKz0gcGNpLXN3aW90bGJfNjQubwogCiAgICAgICAgIG9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpCSs9IG1tY29uZi1mYW0xMGhfNjQubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jIGIvYXJjaC94ODYva2VybmVsL2FjcGkvYm9vdC5jCmluZGV4IDMzYzUyMTYuLmY0ODlkN2EgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hY3BpL2Jvb3QuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9ib290LmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9pb19hcGljLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CkBAIC0xMDYsMjEgKzEwNyw2IEBACiAgKi8KIGVudW0gYWNwaV9pcnFfbW9kZWxfaWQgYWNwaV9pcnFfbW9kZWwgPSBBQ1BJX0lSUV9NT0RFTF9QSUM7CiAKLSNpZmRlZglDT05GSUdfWDg2XzY0Ci0KLS8qIHJlbHkgb24gYWxsIEFDUEkgdGFibGVzIGJlaW5nIGluIHRoZSBkaXJlY3QgbWFwcGluZyAqLwotY2hhciAqX19pbml0IF9fYWNwaV9tYXBfdGFibGUodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLXsKLQlpZiAoIXBoeXNfYWRkciB8fCAhc2l6ZSkKLQkJcmV0dXJuIE5VTEw7Ci0KLQlpZiAocGh5c19hZGRyK3NpemUgPD0gKG1heF9wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpICsgUEFHRV9TSVpFKQotCQlyZXR1cm4gX192YShwaHlzX2FkZHIpOwotCi0JcmV0dXJuIE5VTEw7Ci19Ci0KLSNlbHNlCiAKIC8qCiAgKiBUZW1wb3JhcmlseSB1c2UgdGhlIHZpcnR1YWwgYXJlYSBzdGFydGluZyBmcm9tIEZJWF9JT19BUElDX0JBU0VfRU5ELApAQCAtMTM5LDExICsxMjUsMTUgQEAKIAl1bnNpZ25lZCBsb25nIGJhc2UsIG9mZnNldCwgbWFwcGVkX3NpemU7CiAJaW50IGlkeDsKIAotCWlmIChwaHlzICsgc2l6ZSA8IDggKiAxMDI0ICogMTAyNCkKKwlpZiAoIXBoeXMgfHwgIXNpemUpCisJCXJldHVybiBOVUxMOworCisJaWYgKHBoeXMrc2l6ZSA8PSAobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQogCQlyZXR1cm4gX192YShwaHlzKTsKIAogCW9mZnNldCA9IHBoeXMgJiAoUEFHRV9TSVpFIC0gMSk7CiAJbWFwcGVkX3NpemUgPSBQQUdFX1NJWkUgLSBvZmZzZXQ7CisJY2xlYXJfZml4bWFwKEZJWF9BQ1BJX0VORCk7CiAJc2V0X2ZpeG1hcChGSVhfQUNQSV9FTkQsIHBoeXMpOwogCWJhc2UgPSBmaXhfdG9fdmlydChGSVhfQUNQSV9FTkQpOwogCkBAIC0xNTUsMTMgKzE0NSwxMyBAQAogCQlpZiAoLS1pZHggPCBGSVhfQUNQSV9CRUdJTikKIAkJCXJldHVybiBOVUxMOwkvKiBjYW5ub3QgaGFuZGxlIHRoaXMgKi8KIAkJcGh5cyArPSBQQUdFX1NJWkU7CisJCWNsZWFyX2ZpeG1hcChpZHgpOwogCQlzZXRfZml4bWFwKGlkeCwgcGh5cyk7CiAJCW1hcHBlZF9zaXplICs9IFBBR0VfU0laRTsKIAl9CiAKIAlyZXR1cm4gKCh1bnNpZ25lZCBjaGFyICopYmFzZSArIG9mZnNldCk7CiB9Ci0jZW5kaWYKIAogI2lmZGVmIENPTkZJR19QQ0lfTU1DT05GSUcKIC8qIFRoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBNTUNPTkZJRyBhcGVydHVyZS4gIFNldCBmcm9tIEFDUEkgdGFibGVzLiAqLwpAQCAtMzM4LDggKzMyOCw2IEBACiAKICNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAotc3RydWN0IG1wX2lvYXBpY19yb3V0aW5nIG1wX2lvYXBpY19yb3V0aW5nW01BWF9JT19BUElDU107Ci0KIHN0YXRpYyBpbnQgX19pbml0CiBhY3BpX3BhcnNlX2lvYXBpYyhzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKiBoZWFkZXIsIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQogewpAQCAtNTE0LDggKzUwMiw2IEBACiAJICogTWFrZSBzdXJlIGFsbCAobGVnYWN5KSBQQ0kgSVJRcyBhcmUgc2V0IGFzIGxldmVsLXRyaWdnZXJlZC4KIAkgKi8KIAlpZiAoYWNwaV9pcnFfbW9kZWwgPT0gQUNQSV9JUlFfTU9ERUxfUElDKSB7Ci0JCWV4dGVybiB2b2lkIGVpc2Ffc2V0X2xldmVsX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLQogCQlpZiAodHJpZ2dlcmluZyA9PSBBQ1BJX0xFVkVMX1NFTlNJVElWRSkKIAkJCWVpc2Ffc2V0X2xldmVsX2lycShnc2kpOwogCX0KQEAgLTg2MCw2ICs4NDYsMzY0IEBACiAjZW5kaWYJCQkJLyogQ09ORklHX1g4Nl9MT0NBTF9BUElDICovCiAKICNpZmRlZglDT05GSUdfWDg2X0lPX0FQSUMKKyNkZWZpbmUgTVBfSVNBX0JVUwkJMAorCisjaWZkZWYgQ09ORklHX1g4Nl9FUzcwMDAKK2V4dGVybiBpbnQgZXM3MDAwX3BsYXQ7CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCB7CisJaW50IGFwaWNfaWQ7CisJaW50IGdzaV9iYXNlOworCWludCBnc2lfZW5kOworCURFQ0xBUkVfQklUTUFQKHBpbl9wcm9ncmFtbWVkLCBNUF9NQVhfSU9BUElDX1BJTiArIDEpOworfSBtcF9pb2FwaWNfcm91dGluZ1tNQVhfSU9fQVBJQ1NdOworCitzdGF0aWMgaW50IG1wX2ZpbmRfaW9hcGljKGludCBnc2kpCit7CisJaW50IGkgPSAwOworCisJLyogRmluZCB0aGUgSU9BUElDIHRoYXQgbWFuYWdlcyB0aGlzIEdTSS4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7CisJCWlmICgoZ3NpID49IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9iYXNlKQorCQkgICAgJiYgKGdzaSA8PSBtcF9pb2FwaWNfcm91dGluZ1tpXS5nc2lfZW5kKSkKKwkJCXJldHVybiBpOworCX0KKworCXByaW50ayhLRVJOX0VSUiAiRVJST1I6IFVuYWJsZSB0byBsb2NhdGUgSU9BUElDIGZvciBHU0kgJWRcbiIsIGdzaSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdTggX19pbml0IHVuaXFfaW9hcGljX2lkKHU4IGlkKQoreworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAoKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMKSAmJgorCSAgICAhQVBJQ19YQVBJQyhhcGljX3ZlcnNpb25bYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkXSkpCisJCXJldHVybiBpb19hcGljX2dldF91bmlxdWVfaWQobnJfaW9hcGljcywgaWQpOworCWVsc2UKKwkJcmV0dXJuIGlkOworI2Vsc2UKKwlpbnQgaTsKKwlERUNMQVJFX0JJVE1BUCh1c2VkLCAyNTYpOworCWJpdG1hcF96ZXJvKHVzZWQsIDI1Nik7CisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyAqaWEgPSAmbXBfaW9hcGljc1tpXTsKKwkJX19zZXRfYml0KGlhLT5tcF9hcGljaWQsIHVzZWQpOworCX0KKwlpZiAoIXRlc3RfYml0KGlkLCB1c2VkKSkKKwkJcmV0dXJuIGlkOworCXJldHVybiBmaW5kX2ZpcnN0X3plcm9fYml0KHVzZWQsIDI1Nik7CisjZW5kaWYKK30KKworc3RhdGljIGludCBiYWRfaW9hcGljKHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKwlpZiAobnJfaW9hcGljcyA+PSBNQVhfSU9fQVBJQ1MpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogTWF4ICMgb2YgSS9PIEFQSUNzICglZCkgZXhjZWVkZWQgIgorCQkgICAgICAgIihmb3VuZCAlZClcbiIsIE1BWF9JT19BUElDUywgbnJfaW9hcGljcyk7CisJCXBhbmljKCJSZWNvbXBpbGUga2VybmVsIHdpdGggYmlnZ2VyIE1BWF9JT19BUElDUyFcbiIpOworCX0KKwlpZiAoIWFkZHJlc3MpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJXQVJOSU5HOiBCb2d1cyAoemVybykgSS9PIEFQSUMgYWRkcmVzcyIKKwkJICAgICAgICIgZm91bmQgaW4gdGFibGUsIHNraXBwaW5nIVxuIik7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKwordm9pZCBfX2luaXQgbXBfcmVnaXN0ZXJfaW9hcGljKGludCBpZCwgdTMyIGFkZHJlc3MsIHUzMiBnc2lfYmFzZSkKK3sKKwlpbnQgaWR4ID0gMDsKKworCWlmIChiYWRfaW9hcGljKGFkZHJlc3MpKQorCQlyZXR1cm47CisKKwlpZHggPSBucl9pb2FwaWNzOworCisJbXBfaW9hcGljc1tpZHhdLm1wX3R5cGUgPSBNUF9JT0FQSUM7CisJbXBfaW9hcGljc1tpZHhdLm1wX2ZsYWdzID0gTVBDX0FQSUNfVVNBQkxFOworCW1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciA9IGFkZHJlc3M7CisKKwlzZXRfZml4bWFwX25vY2FjaGUoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4LCBhZGRyZXNzKTsKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2lkID0gdW5pcV9pb2FwaWNfaWQoaWQpOworI2lmZGVmIENPTkZJR19YODZfMzIKKwltcF9pb2FwaWNzW2lkeF0ubXBfYXBpY3ZlciA9IGlvX2FwaWNfZ2V0X3ZlcnNpb24oaWR4KTsKKyNlbHNlCisJbXBfaW9hcGljc1tpZHhdLm1wX2FwaWN2ZXIgPSAwOworI2VuZGlmCisJLyoKKwkgKiBCdWlsZCBiYXNpYyBHU0kgbG9va3VwIHRhYmxlIHRvIGZhY2lsaXRhdGUgZ3NpLT5pb19hcGljIGxvb2t1cHMKKwkgKiBhbmQgdG8gcHJldmVudCByZXByb2dyYW1taW5nIG9mIElPQVBJQyBwaW5zIChQQ0kgR1NJcykuCisJICovCisJbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5hcGljX2lkID0gbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNpZDsKKwltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9iYXNlID0gZ3NpX2Jhc2U7CisJbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kID0gZ3NpX2Jhc2UgKworCSAgICBpb19hcGljX2dldF9yZWRpcl9lbnRyaWVzKGlkeCk7CisKKwlwcmludGsoS0VSTl9JTkZPICJJT0FQSUNbJWRdOiBhcGljX2lkICVkLCB2ZXJzaW9uICVkLCBhZGRyZXNzIDB4JWx4LCAiCisJICAgICAgICJHU0kgJWQtJWRcbiIsIGlkeCwgbXBfaW9hcGljc1tpZHhdLm1wX2FwaWNpZCwKKwkgICAgICAgbXBfaW9hcGljc1tpZHhdLm1wX2FwaWN2ZXIsIG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciwKKwkgICAgICAgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfYmFzZSwgbXBfaW9hcGljX3JvdXRpbmdbaWR4XS5nc2lfZW5kKTsKKworCW5yX2lvYXBpY3MrKzsKK30KKworc3RhdGljIHZvaWQgYXNzaWduX3RvX21wX2lycShzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbSwKKwkJCQkgICAgc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSkKK3sKKwltZW1jcHkobXBfaXJxLCBtLCBzaXplb2Yoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMpKTsKK30KKworc3RhdGljIGludCBtcF9pcnFfY21wKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEsCisJCQkJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJcmV0dXJuIG1lbWNtcChtcF9pcnEsIG0sIHNpemVvZihzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYykpOworfQorCitzdGF0aWMgdm9pZCBzYXZlX21wX2lycShzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7CisJCWlmICghbXBfaXJxX2NtcCgmbXBfaXJxc1tpXSwgbSkpCisJCQlyZXR1cm47CisJfQorCisJYXNzaWduX3RvX21wX2lycShtLCAmbXBfaXJxc1ttcF9pcnFfZW50cmllc10pOworCWlmICgrK21wX2lycV9lbnRyaWVzID09IE1BWF9JUlFfU09VUkNFUykKKwkJcGFuaWMoIk1heCAjIG9mIGlycSBzb3VyY2VzIGV4Y2VlZGVkISFcbiIpOworfQorCit2b2lkIF9faW5pdCBtcF9vdmVycmlkZV9sZWdhY3lfaXJxKHU4IGJ1c19pcnEsIHU4IHBvbGFyaXR5LCB1OCB0cmlnZ2VyLCB1MzIgZ3NpKQoreworCWludCBpb2FwaWM7CisJaW50IHBpbjsKKwlzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnE7CisKKwkvKgorCSAqIENvbnZlcnQgJ2dzaScgdG8gJ2lvYXBpYy5waW4nLgorCSAqLworCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7CisJaWYgKGlvYXBpYyA8IDApCisJCXJldHVybjsKKwlwaW4gPSBnc2kgLSBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmdzaV9iYXNlOworCisJLyoKKwkgKiBUQkQ6IFRoaXMgY2hlY2sgaXMgZm9yIGZhdWx0eSB0aW1lciBlbnRyaWVzLCB3aGVyZSB0aGUgb3ZlcnJpZGUKKwkgKiAgICAgIGVycm9uZW91c2x5IHNldHMgdGhlIHRyaWdnZXIgdG8gbGV2ZWwsIHJlc3VsdGluZyBpbiBhIEhVR0UKKwkgKiAgICAgIGluY3JlYXNlIG9mIHRpbWVyIGludGVycnVwdHMhCisJICovCisJaWYgKChidXNfaXJxID09IDApICYmICh0cmlnZ2VyID09IDMpKQorCQl0cmlnZ2VyID0gMTsKKworCW1wX2lycS5tcF90eXBlID0gTVBfSU5UU1JDOworCW1wX2lycS5tcF9pcnF0eXBlID0gbXBfSU5UOworCW1wX2lycS5tcF9pcnFmbGFnID0gKHRyaWdnZXIgPDwgMikgfCBwb2xhcml0eTsKKwltcF9pcnEubXBfc3JjYnVzID0gTVBfSVNBX0JVUzsKKwltcF9pcnEubXBfc3JjYnVzaXJxID0gYnVzX2lycTsJLyogSVJRICovCisJbXBfaXJxLm1wX2RzdGFwaWMgPSBtcF9pb2FwaWNzW2lvYXBpY10ubXBfYXBpY2lkOyAvKiBBUElDIElEICovCisJbXBfaXJxLm1wX2RzdGlycSA9IHBpbjsJLyogSU5USU4jICovCisKKwlzYXZlX21wX2lycSgmbXBfaXJxKTsKK30KKwordm9pZCBfX2luaXQgbXBfY29uZmlnX2FjcGlfbGVnYWN5X2lycXModm9pZCkKK3sKKwlpbnQgaTsKKwlpbnQgaW9hcGljOworCXVuc2lnbmVkIGludCBkc3RhcGljOworCXN0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycTsKKworI2lmIGRlZmluZWQgKENPTkZJR19NQ0EpIHx8IGRlZmluZWQgKENPTkZJR19FSVNBKQorCS8qCisJICogRmFicmljYXRlIHRoZSBsZWdhY3kgSVNBIGJ1cyAoYnVzICMzMSkuCisJICovCisJbXBfYnVzX2lkX3RvX3R5cGVbTVBfSVNBX0JVU10gPSBNUF9CVVNfSVNBOworI2VuZGlmCisJc2V0X2JpdChNUF9JU0FfQlVTLCBtcF9idXNfbm90X3BjaSk7CisJRHByaW50aygiQnVzICMlZCBpcyBJU0FcbiIsIE1QX0lTQV9CVVMpOworCisjaWZkZWYgQ09ORklHX1g4Nl9FUzcwMDAKKwkvKgorCSAqIE9sZGVyIGdlbmVyYXRpb25zIG9mIEVTNzAwMCBoYXZlIG5vIGxlZ2FjeSBpZGVudGl0eSBtYXBwaW5ncworCSAqLworCWlmIChlczcwMDBfcGxhdCA9PSAxKQorCQlyZXR1cm47CisjZW5kaWYKKworCS8qCisJICogTG9jYXRlIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoZSBJU0EgSVJRcyAoMC0xNSkuCisJICovCisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoMCk7CisJaWYgKGlvYXBpYyA8IDApCisJCXJldHVybjsKKwlkc3RhcGljID0gbXBfaW9hcGljc1tpb2FwaWNdLm1wX2FwaWNpZDsKKworCS8qCisJICogVXNlIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBJUlFzIDAtMTUuICBVbmxlc3MKKwkgKiBvdmVycmlkZGVuIGJ5IChNQURUKSBpbnRlcnJ1cHQgc291cmNlIG92ZXJyaWRlIGVudHJpZXMuCisJICovCisJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKKwkJaW50IGlkeDsKKworCQlmb3IgKGlkeCA9IDA7IGlkeCA8IG1wX2lycV9lbnRyaWVzOyBpZHgrKykgeworCQkJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKmlycSA9IG1wX2lycXMgKyBpZHg7CisKKwkJCS8qIERvIHdlIGFscmVhZHkgaGF2ZSBhIG1hcHBpbmcgZm9yIHRoaXMgSVNBIElSUT8gKi8KKwkJCWlmIChpcnEtPm1wX3NyY2J1cyA9PSBNUF9JU0FfQlVTCisJCQkgICAgJiYgaXJxLT5tcF9zcmNidXNpcnEgPT0gaSkKKwkJCQlicmVhazsKKworCQkJLyogRG8gd2UgYWxyZWFkeSBoYXZlIGEgbWFwcGluZyBmb3IgdGhpcyBJT0FQSUMgcGluICovCisJCQlpZiAoaXJxLT5tcF9kc3RhcGljID09IGRzdGFwaWMgJiYKKwkJCSAgICBpcnEtPm1wX2RzdGlycSA9PSBpKQorCQkJCWJyZWFrOworCQl9CisKKwkJaWYgKGlkeCAhPSBtcF9pcnFfZW50cmllcykgeworCQkJcHJpbnRrKEtFUk5fREVCVUcgIkFDUEk6IElSUSVkIHVzZWQgYnkgb3ZlcnJpZGUuXG4iLCBpKTsKKwkJCWNvbnRpbnVlOwkvKiBJUlEgYWxyZWFkeSB1c2VkICovCisJCX0KKworCQltcF9pcnEubXBfdHlwZSA9IE1QX0lOVFNSQzsKKwkJbXBfaXJxLm1wX2lycWZsYWcgPSAwOwkvKiBDb25mb3JtaW5nICovCisJCW1wX2lycS5tcF9zcmNidXMgPSBNUF9JU0FfQlVTOworCQltcF9pcnEubXBfZHN0YXBpYyA9IGRzdGFwaWM7CisJCW1wX2lycS5tcF9pcnF0eXBlID0gbXBfSU5UOworCQltcF9pcnEubXBfc3JjYnVzaXJxID0gaTsgLyogSWRlbnRpdHkgbWFwcGVkICovCisJCW1wX2lycS5tcF9kc3RpcnEgPSBpOworCisJCXNhdmVfbXBfaXJxKCZtcF9pcnEpOworCX0KK30KKworaW50IG1wX3JlZ2lzdGVyX2dzaSh1MzIgZ3NpLCBpbnQgdHJpZ2dlcmluZywgaW50IHBvbGFyaXR5KQoreworCWludCBpb2FwaWM7CisJaW50IGlvYXBpY19waW47CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBNQVhfR1NJX05VTQk0MDk2CisjZGVmaW5lIElSUV9DT01QUkVTU0lPTl9TVEFSVAk2NAorCisJc3RhdGljIGludCBwY2lfaXJxID0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUOworCS8qCisJICogTWFwcGluZyBiZXR3ZWVuIEdsb2JhbCBTeXN0ZW0gSW50ZXJydXB0cywgd2hpY2gKKwkgKiByZXByZXNlbnQgYWxsIHBvc3NpYmxlIGludGVycnVwdHMsIGFuZCBJUlFzCisJICogYXNzaWduZWQgdG8gYWN0dWFsIGRldmljZXMuCisJICovCisJc3RhdGljIGludCBnc2lfdG9faXJxW01BWF9HU0lfTlVNXTsKKyNlbHNlCisKKwlpZiAoYWNwaV9pcnFfbW9kZWwgIT0gQUNQSV9JUlFfTU9ERUxfSU9BUElDKQorCQlyZXR1cm4gZ3NpOworI2VuZGlmCisKKwkvKiBEb24ndCBzZXQgdXAgdGhlIEFDUEkgU0NJIGJlY2F1c2UgaXQncyBhbHJlYWR5IHNldCB1cCAqLworCWlmIChhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQgPT0gZ3NpKQorCQlyZXR1cm4gZ3NpOworCisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKKwlpZiAoaW9hcGljIDwgMCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJObyBJT0FQSUMgZm9yIEdTSSAldVxuIiwgZ3NpKTsKKwkJcmV0dXJuIGdzaTsKKwl9CisKKwlpb2FwaWNfcGluID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpZiAoaW9hcGljX3JlbnVtYmVyX2lycSkKKwkJZ3NpID0gaW9hcGljX3JlbnVtYmVyX2lycShpb2FwaWMsIGdzaSk7CisjZW5kaWYKKworCS8qCisJICogQXZvaWQgcGluIHJlcHJvZ3JhbW1pbmcuICBQUlRzIHR5cGljYWxseSBpbmNsdWRlIGVudHJpZXMKKwkgKiB3aXRoIHJlZHVuZGFudCBwaW4tPmdzaSBtYXBwaW5ncyAoYnV0IHVuaXF1ZSBQQ0kgZGV2aWNlcyk7CisJICogd2Ugb25seSBwcm9ncmFtIHRoZSBJT0FQSUMgb24gdGhlIGZpcnN0LgorCSAqLworCWlmIChpb2FwaWNfcGluID4gTVBfTUFYX0lPQVBJQ19QSU4pIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIHJlZmVyZW5jZSB0byBJT0FQSUMgcGluICIKKwkJICAgICAgICIlZC0lZFxuIiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkLAorCQkgICAgICAgaW9hcGljX3Bpbik7CisJCXJldHVybiBnc2k7CisJfQorCWlmICh0ZXN0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKSkgeworCQlEcHJpbnRrKEtFUk5fREVCVUcgIlBpbiAlZC0lZCBhbHJlYWR5IHByb2dyYW1tZWRcbiIsCisJCQltcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLmFwaWNfaWQsIGlvYXBpY19waW4pOworI2lmZGVmIENPTkZJR19YODZfMzIKKwkJcmV0dXJuIChnc2kgPCBJUlFfQ09NUFJFU1NJT05fU1RBUlQgPyBnc2kgOiBnc2lfdG9faXJxW2dzaV0pOworI2Vsc2UKKwkJcmV0dXJuIGdzaTsKKyNlbmRpZgorCX0KKworCXNldF9iaXQoaW9hcGljX3BpbiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5waW5fcHJvZ3JhbW1lZCk7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCS8qCisJICogRm9yIEdTSSA+PSA2NCwgdXNlIElSUSBjb21wcmVzc2lvbgorCSAqLworCWlmICgoZ3NpID49IElSUV9DT01QUkVTU0lPTl9TVEFSVCkKKwkgICAgJiYgKHRyaWdnZXJpbmcgPT0gQUNQSV9MRVZFTF9TRU5TSVRJVkUpKSB7CisJCS8qCisJCSAqIEZvciBQQ0kgZGV2aWNlcyBhc3NpZ24gSVJRcyBpbiBvcmRlciwgYXZvaWRpbmcgZ2FwcworCQkgKiBkdWUgdG8gdW51c2VkIEkvTyBBUElDIHBpbnMuCisJCSAqLworCQlpbnQgaXJxID0gZ3NpOworCQlpZiAoZ3NpIDwgTUFYX0dTSV9OVU0pIHsKKwkJCS8qCisJCQkgKiBSZXRhaW4gdGhlIFZJQSBjaGlwc2V0IHdvcmstYXJvdW5kIChnc2kgPiAxNSksIGJ1dAorCQkJICogYXZvaWQgYSBwcm9ibGVtIHdoZXJlIHRoZSA4MjU0IHRpbWVyIChJUlEwKSBpcyBzZXR1cAorCQkJICogdmlhIGFuIG92ZXJyaWRlIChzbyBpdCdzIG5vdCBvbiBwaW4gMCBvZiB0aGUgaW9hcGljKSwKKwkJCSAqIGFuZCBhdCB0aGUgc2FtZSB0aW1lLCB0aGUgcGluIDAgaW50ZXJydXB0IGlzIGEgUENJCisJCQkgKiB0eXBlLiAgVGhlIGdzaSA+IDE1IHRlc3QgY291bGQgY2F1c2UgdGhlc2UgdHdvIHBpbnMKKwkJCSAqIHRvIGJlIHNoYXJlZCBhcyBJUlEwLCBhbmQgdGhleSBhcmUgbm90IHNoYXJlYWJsZS4KKwkJCSAqIFNvIHRlc3QgZm9yIHRoaXMgY29uZGl0aW9uLCBhbmQgaWYgbmVjZXNzYXJ5LCBhdm9pZAorCQkJICogdGhlIHBpbiBjb2xsaXNpb24uCisJCQkgKi8KKwkJCWdzaSA9IHBjaV9pcnErKzsKKwkJCS8qCisJCQkgKiBEb24ndCBhc3NpZ24gSVJRIHVzZWQgYnkgQUNQSSBTQ0kKKwkJCSAqLworCQkJaWYgKGdzaSA9PSBhY3BpX2dibF9GQURULnNjaV9pbnRlcnJ1cHQpCisJCQkJZ3NpID0gcGNpX2lycSsrOworCQkJZ3NpX3RvX2lycVtpcnFdID0gZ3NpOworCQl9IGVsc2UgeworCQkJcHJpbnRrKEtFUk5fRVJSICJHU0kgJXUgaXMgdG9vIGhpZ2hcbiIsIGdzaSk7CisJCQlyZXR1cm4gZ3NpOworCQl9CisJfQorI2VuZGlmCisJaW9fYXBpY19zZXRfcGNpX3JvdXRpbmcoaW9hcGljLCBpb2FwaWNfcGluLCBnc2ksCisJCQkJdHJpZ2dlcmluZyA9PSBBQ1BJX0VER0VfU0VOU0lUSVZFID8gMCA6IDEsCisJCQkJcG9sYXJpdHkgPT0gQUNQSV9BQ1RJVkVfSElHSCA/IDAgOiAxKTsKKwlyZXR1cm4gZ3NpOworfQorCitpbnQgbXBfY29uZmlnX2FjcGlfZ3NpKHVuc2lnbmVkIGNoYXIgbnVtYmVyLCB1bnNpZ25lZCBpbnQgZGV2Zm4sIHU4IHBpbiwKKwkJCXUzMiBnc2ksIGludCB0cmlnZ2VyaW5nLCBpbnQgcG9sYXJpdHkpCit7CisjaWZkZWYgQ09ORklHX1g4Nl9NUFBBUlNFCisJc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxOworCWludCBpb2FwaWM7CisKKwlpZiAoIWFjcGlfaW9hcGljKQorCQlyZXR1cm4gMDsKKworCS8qIHByaW50IHRoZSBlbnRyeSBzaG91bGQgaGFwcGVuIG9uIG1wdGFibGUgaWRlbnRpY2FsbHkgKi8KKwltcF9pcnEubXBfdHlwZSA9IE1QX0lOVFNSQzsKKwltcF9pcnEubXBfaXJxdHlwZSA9IG1wX0lOVDsKKwltcF9pcnEubXBfaXJxZmxhZyA9ICh0cmlnZ2VyaW5nID09IEFDUElfRURHRV9TRU5TSVRJVkUgPyA0IDogMHgwYykgfAorCQkJCShwb2xhcml0eSA9PSBBQ1BJX0FDVElWRV9ISUdIID8gMSA6IDMpOworCW1wX2lycS5tcF9zcmNidXMgPSBudW1iZXI7CisJbXBfaXJxLm1wX3NyY2J1c2lycSA9ICgoKGRldmZuID4+IDMpICYgMHgxZikgPDwgMikgfCAoKHBpbiAtIDEpICYgMyk7CisJaW9hcGljID0gbXBfZmluZF9pb2FwaWMoZ3NpKTsKKwltcF9pcnEubXBfZHN0YXBpYyA9IG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZDsKKwltcF9pcnEubXBfZHN0aXJxID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKKworCXNhdmVfbXBfaXJxKCZtcF9pcnEpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBQYXJzZSBJT0FQSUMgcmVsYXRlZCBlbnRyaWVzIGluIE1BRFQKICAqIHJldHVybnMgMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IKQEAgLTEwMDksOCArMTM1Myw2IEBACiAJcmV0dXJuOwogfQogCi0jaWZkZWYgX19pMzg2X18KLQogc3RhdGljIGludCBfX2luaXQgZGlzYWJsZV9hY3BpX2lycShjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCAqZCkKIHsKIAlpZiAoIWFjcGlfZm9yY2UpIHsKQEAgLTEwNjEsNiArMTQwMywxNiBAQAogfQogCiAvKgorICogRm9yY2UgaWdub3JpbmcgQklPUyBJUlEwIHBpbjIgb3ZlcnJpZGUKKyAqLworc3RhdGljIGludCBfX2luaXQgZG1pX2lnbm9yZV9pcnEwX3RpbWVyX292ZXJyaWRlKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQoreworCXByX25vdGljZSgiJXMgZGV0ZWN0ZWQ6IElnbm9yaW5nIEJJT1MgSVJRMCBwaW4yIG92ZXJyaWRlXG4iLCBkLT5pZGVudCk7CisJYWNwaV9za2lwX3RpbWVyX292ZXJyaWRlID0gMTsKKwlyZXR1cm4gMDsKK30KKworLyoKICAqIElmIHlvdXIgc3lzdGVtIGlzIGJsYWNrbGlzdGVkIGhlcmUsIGJ1dCB5b3UgZmluZCB0aGF0IGFjcGk9Zm9yY2UKICAqIHdvcmtzIGZvciB5b3UsIHBsZWFzZSBjb250YWN0IGFjcGktZGV2ZWxAc291cmNlZm9yZ2UubmV0CiAgKi8KQEAgLTEyMjcsMTEgKzE1NzksMzUgQEAKIAkJICAgICBETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIlRyYXZlbE1hdGUgMzYwIiksCiAJCSAgICAgfSwKIAkgfSwKKwkvKgorCSAqIEhQIGxhcHRvcHMgd2hpY2ggdXNlIGEgRFNEVCByZXBvcnRpbmcgYXMgSFAvU0I0MDAvMTAwMDAsCisJICogd2hpY2ggaW5jbHVkZXMgc29tZSBjb2RlIHdoaWNoIG92ZXJyaWRlcyBhbGwgdGVtcGVyYXR1cmUKKwkgKiB0cmlwIHBvaW50cyB0byAxNkMgaWYgdGhlIElOVElOMiBpbnB1dCBvZiB0aGUgSS9PIEFQSUMKKwkgKiBpcyBlbmFibGVkLiAgVGhpcyBpbnB1dCBpcyBpbmNvcnJlY3RseSBkZXNpZ25hdGVkIHRoZQorCSAqIElTQSBJUlEgMCB2aWEgYW4gaW50ZXJydXB0IHNvdXJjZSBvdmVycmlkZSBldmVuIHRob3VnaAorCSAqIGl0IGlzIHdpcmVkIHRvIHRoZSBvdXRwdXQgb2YgdGhlIG1hc3RlciA4MjU5QSBhbmQgSU5USU4wCisJICogaXMgbm90IGNvbm5lY3RlZCBhdCBhbGwuICBGb3JjZSBpZ25vcmluZyBCSU9TIElSUTAgcGluMgorCSAqIG92ZXJyaWRlIGluIHRoYXQgY2FzZXMuCisJICovCisJeworCSAuY2FsbGJhY2sgPSBkbWlfaWdub3JlX2lycTBfdGltZXJfb3ZlcnJpZGUsCisJIC5pZGVudCA9ICJIUCBOWDYxMjUgbGFwdG9wIiwKKwkgLm1hdGNoZXMgPSB7CisJCSAgICAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiSGV3bGV0dC1QYWNrYXJkIiksCisJCSAgICAgRE1JX01BVENIKERNSV9QUk9EVUNUX05BTUUsICJIUCBDb21wYXEgbng2MTI1IiksCisJCSAgICAgfSwKKwkgfSwKKwl7CisJIC5jYWxsYmFjayA9IGRtaV9pZ25vcmVfaXJxMF90aW1lcl9vdmVycmlkZSwKKwkgLmlkZW50ID0gIkhQIE5YNjMyNSBsYXB0b3AiLAorCSAubWF0Y2hlcyA9IHsKKwkJICAgICBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJIZXdsZXR0LVBhY2thcmQiKSwKKwkJICAgICBETUlfTUFUQ0goRE1JX1BST0RVQ1RfTkFNRSwgIkhQIENvbXBhcSBueDYzMjUiKSwKKwkJICAgICB9LAorCSB9LAogCXt9CiB9OwogCi0jZW5kaWYJCQkJLyogX19pMzg2X18gKi8KLQogLyoKICAqIGFjcGlfYm9vdF90YWJsZV9pbml0KCkgYW5kIGFjcGlfYm9vdF9pbml0KCkKICAqICBjYWxsZWQgZnJvbSBzZXR1cF9hcmNoKCksIGFsd2F5cy4KQEAgLTEyNTksOSArMTYzNSw3IEBACiB7CiAJaW50IGVycm9yOwogCi0jaWZkZWYgX19pMzg2X18KIAlkbWlfY2hlY2tfc3lzdGVtKGFjcGlfZG1pX3RhYmxlKTsKLSNlbmRpZgogCiAJLyoKIAkgKiBJZiBhY3BpX2Rpc2FibGVkLCBiYWlsIG91dApAQCAtMTM4Niw2ICsxNzYwLDIwIEBACiB9CiBlYXJseV9wYXJhbSgicGNpIiwgcGFyc2VfcGNpKTsKIAoraW50IF9faW5pdCBhY3BpX21wc19jaGVjayh2b2lkKQoreworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKSAmJiAhZGVmaW5lZChDT05GSUdfWDg2X01QUEFSU0UpCisvKiBtcHRhYmxlIGNvZGUgaXMgbm90IGJ1aWx0LWluKi8KKwlpZiAoYWNwaV9kaXNhYmxlZCB8fCBhY3BpX25vaXJxKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1QUyBzdXBwb3J0IGNvZGUgaXMgbm90IGJ1aWx0LWluLlxuIgorCQkgICAgICAgIlVzaW5nIGFjcGk9b2ZmIG9yIGFjcGk9bm9pcnEgb3IgcGNpPW5vYWNwaSAiCisJCSAgICAgICAibWF5IGhhdmUgcHJvYmxlbVxuIik7CisJCXJldHVybiAxOworCX0KKyNlbmRpZgorCXJldHVybiAwOworfQorCiAjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9hY3BpX3NraXBfdGltZXJfb3ZlcnJpZGUoY2hhciAqYXJnKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYyBiL2FyY2gveDg2L2tlcm5lbC9hY3BpL3NsZWVwLmMKaW5kZXggMzZhZjAxZi4uNzkzYWQyMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FjcGkvc2xlZXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYWNwaS9zbGVlcC5jCkBAIC0yMyw2ICsyMywxNSBAQAogc3RhdGljIGNoYXIgdGVtcF9zdGFja1sxMDI0MF07CiAjZW5kaWYKIAorLyogWFhYOiB0aGlzIG1hY3JvIHNob3VsZCBtb3ZlIHRvIGFzbS14ODYvc2VnbWVudC5oIGFuZCBiZSBzaGFyZWQgd2l0aCB0aGUKKyAgIGJvb3QgY29kZS4uLiAqLworI2RlZmluZSBHRFRfRU5UUlkoZmxhZ3MsIGJhc2UsIGxpbWl0KQkJXAorCSgoKHU2NCkoYmFzZSAmIDB4ZmYwMDAwMDApIDw8IDMyKSB8CVwKKwkgKCh1NjQpZmxhZ3MgPDwgNDApIHwJCQlcCisJICgodTY0KShsaW1pdCAmIDB4MDBmZjAwMDApIDw8IDMyKSB8CVwKKwkgKCh1NjQpKGJhc2UgJiAweDAwZmZmZmZmKSA8PCAxNikgfAlcCisJICgodTY0KShsaW1pdCAmIDB4MDAwMGZmZmYpKSkKKwogLyoqCiAgKiBhY3BpX3NhdmVfc3RhdGVfbWVtIC0gc2F2ZSBrZXJuZWwgc3RhdGUKICAqCkBAIC01MSwxOCArNjAsMjcgQEAKIAloZWFkZXItPnZpZGVvX21vZGUgPSBzYXZlZF92aWRlb19tb2RlOwogCiAJaGVhZGVyLT53YWtldXBfam1wX3NlZyA9IGFjcGlfd2FrZXVwX2FkZHJlc3MgPj4gNDsKKworCS8qCisJICogU2V0IHVwIHRoZSB3YWtldXAgR0RULiAgV2Ugc2V0IHRoZXNlIHVwIGFzIEJpZyBSZWFsIE1vZGUsCisJICogdGhhdCBpcywgd2l0aCBsaW1pdHMgc2V0IHRvIDQgR0IuICBBdCBsZWFzdCB0aGUgTGVub3ZvCisJICogVGhpbmtwYWQgWDYxIGlzIGtub3duIHRvIG5lZWQgdGhpcyBmb3IgdGhlIHZpZGVvIEJJT1MKKwkgKiBpbml0aWFsaXphdGlvbiBxdWlyayB0byB3b3JrOyB0aGlzIGlzIGxpa2VseSB0byBhbHNvCisJICogYmUgdGhlIGNhc2UgZm9yIG90aGVyIGxhcHRvcHMgb3IgaW50ZWdyYXRlZCB2aWRlbyBkZXZpY2VzLgorCSAqLworCiAJLyogR0RUWzBdOiBHRFQgc2VsZi1wb2ludGVyICovCiAJaGVhZGVyLT53YWtldXBfZ2R0WzBdID0KIAkJKHU2NCkoc2l6ZW9mKGhlYWRlci0+d2FrZXVwX2dkdCkgLSAxKSArCiAJCSgodTY0KShhY3BpX3dha2V1cF9hZGRyZXNzICsKIAkJCSgoY2hhciAqKSZoZWFkZXItPndha2V1cF9nZHQgLSAoY2hhciAqKWFjcGlfcmVhbG1vZGUpKQogCQkJCTw8IDE2KTsKLQkvKiBHRFRbMV06IHJlYWwtbW9kZS1saWtlIGNvZGUgc2VnbWVudCAqLwotCWhlYWRlci0+d2FrZXVwX2dkdFsxXSA9ICgweDAwOWJVTEwgPDwgNDApICsKLQkJKCh1NjQpYWNwaV93YWtldXBfYWRkcmVzcyA8PCAxNikgKyAweGZmZmY7Ci0JLyogR0RUWzJdOiByZWFsLW1vZGUtbGlrZSBkYXRhIHNlZ21lbnQgKi8KLQloZWFkZXItPndha2V1cF9nZHRbMl0gPSAoMHgwMDkzVUxMIDw8IDQwKSArCi0JCSgodTY0KWFjcGlfd2FrZXVwX2FkZHJlc3MgPDwgMTYpICsgMHhmZmZmOworCS8qIEdEVFsxXTogYmlnIHJlYWwgbW9kZS1saWtlIGNvZGUgc2VnbWVudCAqLworCWhlYWRlci0+d2FrZXVwX2dkdFsxXSA9CisJCUdEVF9FTlRSWSgweDgwOWIsIGFjcGlfd2FrZXVwX2FkZHJlc3MsIDB4ZmZmZmYpOworCS8qIEdEVFsyXTogYmlnIHJlYWwgbW9kZS1saWtlIGRhdGEgc2VnbWVudCAqLworCWhlYWRlci0+d2FrZXVwX2dkdFsyXSA9CisJCUdEVF9FTlRSWSgweDgwOTMsIGFjcGlfd2FrZXVwX2FkZHJlc3MsIDB4ZmZmZmYpOwogCiAjaWZuZGVmIENPTkZJR182NEJJVAogCXN0b3JlX2dkdCgoc3RydWN0IGRlc2NfcHRyICopJmhlYWRlci0+cG1vZGVfZ2R0KTsKQEAgLTg2LDcgKzEwNCw5IEBACiAJc2F2ZWRfbWFnaWMgPSAweDEyMzQ1Njc4OwogI2Vsc2UgLyogQ09ORklHXzY0QklUICovCiAJaGVhZGVyLT50cmFtcG9saW5lX3NlZ21lbnQgPSBzZXR1cF90cmFtcG9saW5lKCkgPj4gNDsKLQlpbml0X3JzcCA9ICh1bnNpZ25lZCBsb25nKXRlbXBfc3RhY2sgKyA0MDk2OworI2lmZGVmIENPTkZJR19TTVAKKwlzdGFja19zdGFydC5zcCA9IHRlbXBfc3RhY2sgKyA0MDk2OworI2VuZGlmCiAJaW5pdGlhbF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpd2FrZXVwX2xvbmc2NDsKIAlzYXZlZF9tYWdpYyA9IDB4MTIzNDU2Nzg5YWJjZGVmMDsKICNlbmRpZiAvKiBDT05GSUdfNjRCSVQgKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hbHRlcm5hdGl2ZS5jIGIvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMKaW5kZXggNjVjNzg1Ny4uMjc2M2NiMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FsdGVybmF0aXZlLmMKQEAgLTEsNiArMSw2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgpAQCAtMTQzLDcgKzE0Myw3IEBACiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCiBleHRlcm4gY2hhciBfX3ZzeXNjYWxsXzA7Ci1zdGF0aWMgaW5saW5lIGNvbnN0IHVuc2lnbmVkIGNoYXIqY29uc3QgKiBmaW5kX25vcF90YWJsZSh2b2lkKQorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpCiB7CiAJcmV0dXJuIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMIHx8CiAJICAgICAgIGJvb3RfY3B1X2RhdGEueDg2IDwgNiA/IGs4X25vcHMgOiBwNl9ub3BzOwpAQCAtMTYyLDcgKzE2Miw3IEBACiAJeyAtMSwgTlVMTCB9CiB9OwogCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhcipjb25zdCAqIGZpbmRfbm9wX3RhYmxlKHZvaWQpCitjb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqZmluZF9ub3BfdGFibGUodm9pZCkKIHsKIAljb25zdCB1bnNpZ25lZCBjaGFyICpjb25zdCAqbm9wdGFibGUgPSBpbnRlbF9ub3BzOwogCWludCBpOwpAQCAtMjc5LDcgKzI3OSw3IEBACiAJc3RydWN0IGxpc3RfaGVhZCBuZXh0OwogfTsKIHN0YXRpYyBMSVNUX0hFQUQoc21wX2FsdF9tb2R1bGVzKTsKLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc21wX2FsdCk7CitzdGF0aWMgREVGSU5FX01VVEVYKHNtcF9hbHQpOwogc3RhdGljIGludCBzbXBfbW9kZSA9IDE7CS8qIHByb3RlY3RlZCBieSBzbXBfYWx0ICovCiAKIHZvaWQgYWx0ZXJuYXRpdmVzX3NtcF9tb2R1bGVfYWRkKHN0cnVjdCBtb2R1bGUgKm1vZCwgY2hhciAqbmFtZSwKQEAgLTMxMiwxMiArMzEyLDEyIEBACiAJCV9fZnVuY19fLCBzbXAtPmxvY2tzLCBzbXAtPmxvY2tzX2VuZCwKIAkJc21wLT50ZXh0LCBzbXAtPnRleHRfZW5kLCBzbXAtPm5hbWUpOwogCi0Jc3Bpbl9sb2NrKCZzbXBfYWx0KTsKKwltdXRleF9sb2NrKCZzbXBfYWx0KTsKIAlsaXN0X2FkZF90YWlsKCZzbXAtPm5leHQsICZzbXBfYWx0X21vZHVsZXMpOwogCWlmIChib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfVVApKQogCQlhbHRlcm5hdGl2ZXNfc21wX3VubG9jayhzbXAtPmxvY2tzLCBzbXAtPmxvY2tzX2VuZCwKIAkJCQkJc21wLT50ZXh0LCBzbXAtPnRleHRfZW5kKTsKLQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIH0KIAogdm9pZCBhbHRlcm5hdGl2ZXNfc21wX21vZHVsZV9kZWwoc3RydWN0IG1vZHVsZSAqbW9kKQpAQCAtMzI3LDE3ICszMjcsMTcgQEAKIAlpZiAoc21wX2FsdF9vbmNlIHx8IG5vcmVwbGFjZV9zbXApCiAJCXJldHVybjsKIAotCXNwaW5fbG9jaygmc21wX2FsdCk7CisJbXV0ZXhfbG9jaygmc21wX2FsdCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShpdGVtLCAmc21wX2FsdF9tb2R1bGVzLCBuZXh0KSB7CiAJCWlmIChtb2QgIT0gaXRlbS0+bW9kKQogCQkJY29udGludWU7CiAJCWxpc3RfZGVsKCZpdGVtLT5uZXh0KTsKLQkJc3Bpbl91bmxvY2soJnNtcF9hbHQpOworCQltdXRleF91bmxvY2soJnNtcF9hbHQpOwogCQlEUFJJTlRLKCIlczogJXNcbiIsIF9fZnVuY19fLCBpdGVtLT5uYW1lKTsKIAkJa2ZyZWUoaXRlbSk7CiAJCXJldHVybjsKIAl9Ci0Jc3Bpbl91bmxvY2soJnNtcF9hbHQpOworCW11dGV4X3VubG9jaygmc21wX2FsdCk7CiB9CiAKIHZvaWQgYWx0ZXJuYXRpdmVzX3NtcF9zd2l0Y2goaW50IHNtcCkKQEAgLTM1OSw3ICszNTksNyBAQAogCQlyZXR1cm47CiAJQlVHX09OKCFzbXAgJiYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkpOwogCi0Jc3Bpbl9sb2NrKCZzbXBfYWx0KTsKKwltdXRleF9sb2NrKCZzbXBfYWx0KTsKIAogCS8qCiAJICogQXZvaWQgdW5uZWNlc3Nhcnkgc3dpdGNoZXMgYmVjYXVzZSBpdCBmb3JjZXMgSklUIGJhc2VkIFZNcyB0bwpAQCAtMzgzLDcgKzM4Myw3IEBACiAJCQkJCQltb2QtPnRleHQsIG1vZC0+dGV4dF9lbmQpOwogCX0KIAlzbXBfbW9kZSA9IHNtcDsKLQlzcGluX3VubG9jaygmc21wX2FsdCk7CisJbXV0ZXhfdW5sb2NrKCZzbXBfYWx0KTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI3NjZkOAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hbWRfaW9tbXUuYwpAQCAtMCwwICsxLDk2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqIEF1dGhvcjogSm9lcmcgUm9lZGVsIDxqb2VyZy5yb2VkZWxAYW1kLmNvbT4KKyAqICAgICAgICAgTGVvIER1cmFuIDxsZW8uZHVyYW5AYW1kLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMgcHVibGlzaGVkCisgKiBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGNpLmg+CisjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9pb21tdS1oZWxwZXIuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vZ2FydC5oPgorI2luY2x1ZGUgPGFzbS9hbWRfaW9tbXVfdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11Lmg+CisKKyNkZWZpbmUgQ01EX1NFVF9UWVBFKGNtZCwgdCkgKChjbWQpLT5kYXRhWzFdIHw9ICgodCkgPDwgMjgpKQorCisjZGVmaW5lIHRvX3BhZ2VzKGFkZHIsIHNpemUpIFwKKwkgKHJvdW5kX3VwKCgoYWRkcikgJiB+UEFHRV9NQVNLKSArIChzaXplKSwgUEFHRV9TSVpFKSA+PiBQQUdFX1NISUZUKQorCitzdGF0aWMgREVGSU5FX1JXTE9DSyhhbWRfaW9tbXVfZGV2dGFibGVfbG9jayk7CisKK3N0cnVjdCBjb21tYW5kIHsKKwl1MzIgZGF0YVs0XTsKK307CisKK3N0YXRpYyBpbnQgZG1hX29wc191bml0eV9tYXAoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgICBzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplKTsKKworc3RhdGljIGludCBpb21tdV9oYXNfbnBjYWNoZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlyZXR1cm4gaW9tbXUtPmNhcCAmIElPTU1VX0NBUF9OUENBQ0hFOworfQorCitzdGF0aWMgaW50IF9faW9tbXVfcXVldWVfY29tbWFuZChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgc3RydWN0IGNvbW1hbmQgKmNtZCkKK3sKKwl1MzIgdGFpbCwgaGVhZDsKKwl1OCAqdGFyZ2V0OworCisJdGFpbCA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9UQUlMX09GRlNFVCk7CisJdGFyZ2V0ID0gKGlvbW11LT5jbWRfYnVmICsgdGFpbCk7CisJbWVtY3B5X3RvaW8odGFyZ2V0LCBjbWQsIHNpemVvZigqY21kKSk7CisJdGFpbCA9ICh0YWlsICsgc2l6ZW9mKCpjbWQpKSAlIGlvbW11LT5jbWRfYnVmX3NpemU7CisJaGVhZCA9IHJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9IRUFEX09GRlNFVCk7CisJaWYgKHRhaWwgPT0gaGVhZCkKKwkJcmV0dXJuIC1FTk9NRU07CisJd3JpdGVsKHRhaWwsIGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9UQUlMX09GRlNFVCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9xdWV1ZV9jb21tYW5kKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBzdHJ1Y3QgY29tbWFuZCAqY21kKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHJldDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworCXJldCA9IF9faW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgY21kKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBpb21tdV9jb21wbGV0aW9uX3dhaXQoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaW50IHJldDsKKwlzdHJ1Y3QgY29tbWFuZCBjbWQ7CisJdm9sYXRpbGUgdTY0IHJlYWR5ID0gMDsKKwl1bnNpZ25lZCBsb25nIHJlYWR5X3BoeXMgPSB2aXJ0X3RvX3BoeXMoJnJlYWR5KTsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJY21kLmRhdGFbMF0gPSBMT1dfVTMyKHJlYWR5X3BoeXMpIHwgQ01EX0NPTVBMX1dBSVRfU1RPUkVfTUFTSzsKKwljbWQuZGF0YVsxXSA9IEhJR0hfVTMyKHJlYWR5X3BoeXMpOworCWNtZC5kYXRhWzJdID0gMTsgLyogdmFsdWUgd3JpdHRlbiB0byAncmVhZHknICovCisJQ01EX1NFVF9UWVBFKCZjbWQsIENNRF9DT01QTF9XQUlUKTsKKworCWlvbW11LT5uZWVkX3N5bmMgPSAwOworCisJcmV0ID0gaW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgJmNtZCk7CisKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJd2hpbGUgKCFyZWFkeSkKKwkJY3B1X3JlbGF4KCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9xdWV1ZV9pbnZfZGV2X2VudHJ5KHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCB1MTYgZGV2aWQpCit7CisJc3RydWN0IGNvbW1hbmQgY21kOworCisJQlVHX09OKGlvbW11ID09IE5VTEwpOworCisJbWVtc2V0KCZjbWQsIDAsIHNpemVvZihjbWQpKTsKKwlDTURfU0VUX1RZUEUoJmNtZCwgQ01EX0lOVl9ERVZfRU5UUlkpOworCWNtZC5kYXRhWzBdID0gZGV2aWQ7CisKKwlpb21tdS0+bmVlZF9zeW5jID0gMTsKKworCXJldHVybiBpb21tdV9xdWV1ZV9jb21tYW5kKGlvbW11LCAmY21kKTsKK30KKworc3RhdGljIGludCBpb21tdV9xdWV1ZV9pbnZfaW9tbXVfcGFnZXMoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCXU2NCBhZGRyZXNzLCB1MTYgZG9taWQsIGludCBwZGUsIGludCBzKQoreworCXN0cnVjdCBjb21tYW5kIGNtZDsKKworCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7CisJYWRkcmVzcyAmPSBQQUdFX01BU0s7CisJQ01EX1NFVF9UWVBFKCZjbWQsIENNRF9JTlZfSU9NTVVfUEFHRVMpOworCWNtZC5kYXRhWzFdIHw9IGRvbWlkOworCWNtZC5kYXRhWzJdID0gTE9XX1UzMihhZGRyZXNzKTsKKwljbWQuZGF0YVszXSA9IEhJR0hfVTMyKGFkZHJlc3MpOworCWlmIChzKQorCQljbWQuZGF0YVsyXSB8PSBDTURfSU5WX0lPTU1VX1BBR0VTX1NJWkVfTUFTSzsKKwlpZiAocGRlKQorCQljbWQuZGF0YVsyXSB8PSBDTURfSU5WX0lPTU1VX1BBR0VTX1BERV9NQVNLOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDE7CisKKwlyZXR1cm4gaW9tbXVfcXVldWVfY29tbWFuZChpb21tdSwgJmNtZCk7Cit9CisKK3N0YXRpYyBpbnQgaW9tbXVfZmx1c2hfcGFnZXMoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHUxNiBkb21pZCwKKwkJdTY0IGFkZHJlc3MsIHNpemVfdCBzaXplKQoreworCWludCBzID0gMDsKKwl1bnNpZ25lZCBwYWdlcyA9IHRvX3BhZ2VzKGFkZHJlc3MsIHNpemUpOworCisJYWRkcmVzcyAmPSBQQUdFX01BU0s7CisKKwlpZiAocGFnZXMgPiAxKSB7CisJCS8qCisJCSAqIElmIHdlIGhhdmUgdG8gZmx1c2ggbW9yZSB0aGFuIG9uZSBwYWdlLCBmbHVzaCBhbGwKKwkJICogVExCIGVudHJpZXMgZm9yIHRoaXMgZG9tYWluCisJCSAqLworCQlhZGRyZXNzID0gQ01EX0lOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUzsKKwkJcyA9IDE7CisJfQorCisJaW9tbXVfcXVldWVfaW52X2lvbW11X3BhZ2VzKGlvbW11LCBhZGRyZXNzLCBkb21pZCwgMCwgcyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9tYXAoc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb20sCisJCSAgICAgdW5zaWduZWQgbG9uZyBidXNfYWRkciwKKwkJICAgICB1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwKKwkJICAgICBpbnQgcHJvdCkKK3sKKwl1NjQgX19wdGUsICpwdGUsICpwYWdlOworCisJYnVzX2FkZHIgID0gUEFHRV9BTElHTihidXNfYWRkcik7CisJcGh5c19hZGRyID0gUEFHRV9BTElHTihidXNfYWRkcik7CisKKwkvKiBvbmx5IHN1cHBvcnQgNTEyR0IgYWRkcmVzcyBzcGFjZXMgZm9yIG5vdyAqLworCWlmIChidXNfYWRkciA+IElPTU1VX01BUF9TSVpFX0wzIHx8ICEocHJvdCAmIElPTU1VX1BST1RfTUFTSykpCisJCXJldHVybiAtRUlOVkFMOworCisJcHRlID0gJmRvbS0+cHRfcm9vdFtJT01NVV9QVEVfTDJfSU5ERVgoYnVzX2FkZHIpXTsKKworCWlmICghSU9NTVVfUFRFX1BSRVNFTlQoKnB0ZSkpIHsKKwkJcGFnZSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmICghcGFnZSkKKwkJCXJldHVybiAtRU5PTUVNOworCQkqcHRlID0gSU9NTVVfTDJfUERFKHZpcnRfdG9fcGh5cyhwYWdlKSk7CisJfQorCisJcHRlID0gSU9NTVVfUFRFX1BBR0UoKnB0ZSk7CisJcHRlID0gJnB0ZVtJT01NVV9QVEVfTDFfSU5ERVgoYnVzX2FkZHIpXTsKKworCWlmICghSU9NTVVfUFRFX1BSRVNFTlQoKnB0ZSkpIHsKKwkJcGFnZSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmICghcGFnZSkKKwkJCXJldHVybiAtRU5PTUVNOworCQkqcHRlID0gSU9NTVVfTDFfUERFKHZpcnRfdG9fcGh5cyhwYWdlKSk7CisJfQorCisJcHRlID0gSU9NTVVfUFRFX1BBR0UoKnB0ZSk7CisJcHRlID0gJnB0ZVtJT01NVV9QVEVfTDBfSU5ERVgoYnVzX2FkZHIpXTsKKworCWlmIChJT01NVV9QVEVfUFJFU0VOVCgqcHRlKSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCV9fcHRlID0gcGh5c19hZGRyIHwgSU9NTVVfUFRFX1A7CisJaWYgKHByb3QgJiBJT01NVV9QUk9UX0lSKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVI7CisJaWYgKHByb3QgJiBJT01NVV9QUk9UX0lXKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVc7CisKKwkqcHRlID0gX19wdGU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9mb3JfdW5pdHlfbWFwKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgICAgIHN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmVudHJ5KQoreworCXUxNiBiZGYsIGk7CisKKwlmb3IgKGkgPSBlbnRyeS0+ZGV2aWRfc3RhcnQ7IGkgPD0gZW50cnktPmRldmlkX2VuZDsgKytpKSB7CisJCWJkZiA9IGFtZF9pb21tdV9hbGlhc190YWJsZVtpXTsKKwkJaWYgKGFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2JkZl0gPT0gaW9tbXUpCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpb21tdV9pbml0X3VuaXR5X21hcHBpbmdzKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmVudHJ5OworCWludCByZXQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmYW1kX2lvbW11X3VuaXR5X21hcCwgbGlzdCkgeworCQlpZiAoIWlvbW11X2Zvcl91bml0eV9tYXAoaW9tbXUsIGVudHJ5KSkKKwkJCWNvbnRpbnVlOworCQlyZXQgPSBkbWFfb3BzX3VuaXR5X21hcChpb21tdS0+ZGVmYXVsdF9kb20sIGVudHJ5KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZG1hX29wc191bml0eV9tYXAoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgICBzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplKQoreworCXU2NCBhZGRyOworCWludCByZXQ7CisKKwlmb3IgKGFkZHIgPSBlLT5hZGRyZXNzX3N0YXJ0OyBhZGRyIDwgZS0+YWRkcmVzc19lbmQ7CisJICAgICBhZGRyICs9IFBBR0VfU0laRSkgeworCQlyZXQgPSBpb21tdV9tYXAoJmRtYV9kb20tPmRvbWFpbiwgYWRkciwgYWRkciwgZS0+cHJvdCk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCQkvKgorCQkgKiBpZiB1bml0eSBtYXBwaW5nIGlzIGluIGFwZXJ0dXJlIHJhbmdlIG1hcmsgdGhlIHBhZ2UKKwkJICogYXMgYWxsb2NhdGVkIGluIHRoZSBhcGVydHVyZQorCQkgKi8KKwkJaWYgKGFkZHIgPCBkbWFfZG9tLT5hcGVydHVyZV9zaXplKQorCQkJX19zZXRfYml0KGFkZHIgPj4gUEFHRV9TSElGVCwgZG1hX2RvbS0+Yml0bWFwKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpbml0X3VuaXR5X21hcHBpbmdzX2Zvcl9kZXZpY2Uoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJCQkgIHUxNiBkZXZpZCkKK3sKKwlzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplOworCWludCByZXQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGUsICZhbWRfaW9tbXVfdW5pdHlfbWFwLCBsaXN0KSB7CisJCWlmICghKGRldmlkID49IGUtPmRldmlkX3N0YXJ0ICYmIGRldmlkIDw9IGUtPmRldmlkX2VuZCkpCisJCQljb250aW51ZTsKKwkJcmV0ID0gZG1hX29wc191bml0eV9tYXAoZG1hX2RvbSwgZSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfbWFza190b19wYWdlcyh1bnNpZ25lZCBsb25nIG1hc2spCit7CisJcmV0dXJuIChtYXNrID4+IFBBR0VfU0hJRlQpICsKKwkJKFBBR0VfQUxJR04obWFzayAmIH5QQUdFX01BU0spID4+IFBBR0VfU0hJRlQpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkbWFfb3BzX2FsbG9jX2FkZHJlc3NlcyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSAgICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJCSAgICAgdW5zaWduZWQgaW50IHBhZ2VzKQoreworCXVuc2lnbmVkIGxvbmcgbGltaXQgPSBkbWFfbWFza190b19wYWdlcygqZGV2LT5kbWFfbWFzayk7CisJdW5zaWduZWQgbG9uZyBhZGRyZXNzOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IGRvbS0+YXBlcnR1cmVfc2l6ZSA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGxvbmcgYm91bmRhcnlfc2l6ZTsKKworCWJvdW5kYXJ5X3NpemUgPSBBTElHTihkbWFfZ2V0X3NlZ19ib3VuZGFyeShkZXYpICsgMSwKKwkJCVBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKKwlsaW1pdCA9IGxpbWl0IDwgc2l6ZSA/IGxpbWl0IDogc2l6ZTsKKworCWlmIChkb20tPm5leHRfYml0ID49IGxpbWl0KQorCQlkb20tPm5leHRfYml0ID0gMDsKKworCWFkZHJlc3MgPSBpb21tdV9hcmVhX2FsbG9jKGRvbS0+Yml0bWFwLCBsaW1pdCwgZG9tLT5uZXh0X2JpdCwgcGFnZXMsCisJCQkwICwgYm91bmRhcnlfc2l6ZSwgMCk7CisJaWYgKGFkZHJlc3MgPT0gLTEpCisJCWFkZHJlc3MgPSBpb21tdV9hcmVhX2FsbG9jKGRvbS0+Yml0bWFwLCBsaW1pdCwgMCwgcGFnZXMsCisJCQkJMCwgYm91bmRhcnlfc2l6ZSwgMCk7CisKKwlpZiAobGlrZWx5KGFkZHJlc3MgIT0gLTEpKSB7CisJCWRvbS0+bmV4dF9iaXQgPSBhZGRyZXNzICsgcGFnZXM7CisJCWFkZHJlc3MgPDw9IFBBR0VfU0hJRlQ7CisJfSBlbHNlCisJCWFkZHJlc3MgPSBiYWRfZG1hX2FkZHJlc3M7CisKKwlXQVJOX09OKChhZGRyZXNzICsgKFBBR0VfU0laRSpwYWdlcykpID4gZG9tLT5hcGVydHVyZV9zaXplKTsKKworCXJldHVybiBhZGRyZXNzOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2ZyZWVfYWRkcmVzc2VzKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywKKwkJCQkgICB1bnNpZ25lZCBpbnQgcGFnZXMpCit7CisJYWRkcmVzcyA+Pj0gUEFHRV9TSElGVDsKKwlpb21tdV9hcmVhX2ZyZWUoZG9tLT5iaXRtYXAsIGFkZHJlc3MsIHBhZ2VzKTsKK30KKworc3RhdGljIHUxNiBkb21haW5faWRfYWxsb2Modm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCBpZDsKKworCXdyaXRlX2xvY2tfaXJxc2F2ZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKwlpZCA9IGZpbmRfZmlyc3RfemVyb19iaXQoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCwgTUFYX0RPTUFJTl9JRCk7CisJQlVHX09OKGlkID09IDApOworCWlmIChpZCA+IDAgJiYgaWQgPCBNQVhfRE9NQUlOX0lEKQorCQlfX3NldF9iaXQoaWQsIGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXApOworCWVsc2UKKwkJaWQgPSAwOworCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCisJcmV0dXJuIGlkOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX3Jlc2VydmVfYWRkcmVzc2VzKHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGFnZSwKKwkJCQkgICAgICB1bnNpZ25lZCBpbnQgcGFnZXMpCit7CisJdW5zaWduZWQgaW50IGxhc3RfcGFnZSA9IGRvbS0+YXBlcnR1cmVfc2l6ZSA+PiBQQUdFX1NISUZUOworCisJaWYgKHN0YXJ0X3BhZ2UgKyBwYWdlcyA+IGxhc3RfcGFnZSkKKwkJcGFnZXMgPSBsYXN0X3BhZ2UgLSBzdGFydF9wYWdlOworCisJc2V0X2JpdF9zdHJpbmcoZG9tLT5iaXRtYXAsIHN0YXJ0X3BhZ2UsIHBhZ2VzKTsKK30KKworc3RhdGljIHZvaWQgZG1hX29wc19mcmVlX3BhZ2V0YWJsZShzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20pCit7CisJaW50IGksIGo7CisJdTY0ICpwMSwgKnAyLCAqcDM7CisKKwlwMSA9IGRtYV9kb20tPmRvbWFpbi5wdF9yb290OworCisJaWYgKCFwMSkKKwkJcmV0dXJuOworCisJZm9yIChpID0gMDsgaSA8IDUxMjsgKytpKSB7CisJCWlmICghSU9NTVVfUFRFX1BSRVNFTlQocDFbaV0pKQorCQkJY29udGludWU7CisKKwkJcDIgPSBJT01NVV9QVEVfUEFHRShwMVtpXSk7CisJCWZvciAoaiA9IDA7IGogPCA1MTI7ICsraSkgeworCQkJaWYgKCFJT01NVV9QVEVfUFJFU0VOVChwMltqXSkpCisJCQkJY29udGludWU7CisJCQlwMyA9IElPTU1VX1BURV9QQUdFKHAyW2pdKTsKKwkJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwMyk7CisJCX0KKworCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcDIpOworCX0KKworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwMSk7Cit9CisKK3N0YXRpYyB2b2lkIGRtYV9vcHNfZG9tYWluX2ZyZWUoc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20pCit7CisJaWYgKCFkb20pCisJCXJldHVybjsKKworCWRtYV9vcHNfZnJlZV9wYWdldGFibGUoZG9tKTsKKworCWtmcmVlKGRvbS0+cHRlX3BhZ2VzKTsKKworCWtmcmVlKGRvbS0+Yml0bWFwKTsKKworCWtmcmVlKGRvbSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9vcHNfZG9tYWluX2FsbG9jKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJCQkJICAgdW5zaWduZWQgb3JkZXIpCit7CisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tOworCXVuc2lnbmVkIGksIG51bV9wdGVfcGFnZXM7CisJdTY0ICpsMl9wZGU7CisJdTY0IGFkZHJlc3M7CisKKwkvKgorCSAqIEN1cnJlbnRseSB0aGUgRE1BIGFwZXJ0dXJlIG11c3QgYmUgYmV0d2VlbiAzMiBNQiBhbmQgMUdCIGluIHNpemUKKwkgKi8KKwlpZiAoKG9yZGVyIDwgMjUpIHx8IChvcmRlciA+IDMwKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlkbWFfZG9tID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRtYV9vcHNfZG9tYWluKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkbWFfZG9tKQorCQlyZXR1cm4gTlVMTDsKKworCXNwaW5fbG9ja19pbml0KCZkbWFfZG9tLT5kb21haW4ubG9jayk7CisKKwlkbWFfZG9tLT5kb21haW4uaWQgPSBkb21haW5faWRfYWxsb2MoKTsKKwlpZiAoZG1hX2RvbS0+ZG9tYWluLmlkID09IDApCisJCWdvdG8gZnJlZV9kbWFfZG9tOworCWRtYV9kb20tPmRvbWFpbi5tb2RlID0gUEFHRV9NT0RFXzNfTEVWRUw7CisJZG1hX2RvbS0+ZG9tYWluLnB0X3Jvb3QgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKwlkbWFfZG9tLT5kb21haW4ucHJpdiA9IGRtYV9kb207CisJaWYgKCFkbWFfZG9tLT5kb21haW4ucHRfcm9vdCkKKwkJZ290byBmcmVlX2RtYV9kb207CisJZG1hX2RvbS0+YXBlcnR1cmVfc2l6ZSA9ICgxVUxMIDw8IG9yZGVyKTsKKwlkbWFfZG9tLT5iaXRtYXAgPSBremFsbG9jKGRtYV9kb20tPmFwZXJ0dXJlX3NpemUgLyAoUEFHRV9TSVpFICogOCksCisJCQkJICBHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9kb20tPmJpdG1hcCkKKwkJZ290byBmcmVlX2RtYV9kb207CisJLyoKKwkgKiBtYXJrIHRoZSBmaXJzdCBwYWdlIGFzIGFsbG9jYXRlZCBzbyB3ZSBuZXZlciByZXR1cm4gMCBhcworCSAqIGEgdmFsaWQgZG1hLWFkZHJlc3MuIFNvIHdlIGNhbiB1c2UgMCBhcyBlcnJvciB2YWx1ZQorCSAqLworCWRtYV9kb20tPmJpdG1hcFswXSA9IDE7CisJZG1hX2RvbS0+bmV4dF9iaXQgPSAwOworCisJaWYgKGlvbW11LT5leGNsdXNpb25fc3RhcnQgJiYKKwkgICAgaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCA8IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUpIHsKKwkJdW5zaWduZWQgbG9uZyBzdGFydHBhZ2UgPSBpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJCWludCBwYWdlcyA9IHRvX3BhZ2VzKGlvbW11LT5leGNsdXNpb25fc3RhcnQsCisJCQkJaW9tbXUtPmV4Y2x1c2lvbl9sZW5ndGgpOworCQlkbWFfb3BzX3Jlc2VydmVfYWRkcmVzc2VzKGRtYV9kb20sIHN0YXJ0cGFnZSwgcGFnZXMpOworCX0KKworCW51bV9wdGVfcGFnZXMgPSBkbWFfZG9tLT5hcGVydHVyZV9zaXplIC8gKFBBR0VfU0laRSAqIDUxMik7CisJZG1hX2RvbS0+cHRlX3BhZ2VzID0ga3phbGxvYyhudW1fcHRlX3BhZ2VzICogc2l6ZW9mKHZvaWQgKiksCisJCQlHRlBfS0VSTkVMKTsKKwlpZiAoIWRtYV9kb20tPnB0ZV9wYWdlcykKKwkJZ290byBmcmVlX2RtYV9kb207CisKKwlsMl9wZGUgPSAodTY0ICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCWlmIChsMl9wZGUgPT0gTlVMTCkKKwkJZ290byBmcmVlX2RtYV9kb207CisKKwlkbWFfZG9tLT5kb21haW4ucHRfcm9vdFswXSA9IElPTU1VX0wyX1BERSh2aXJ0X3RvX3BoeXMobDJfcGRlKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3B0ZV9wYWdlczsgKytpKSB7CisJCWRtYV9kb20tPnB0ZV9wYWdlc1tpXSA9ICh1NjQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmICghZG1hX2RvbS0+cHRlX3BhZ2VzW2ldKQorCQkJZ290byBmcmVlX2RtYV9kb207CisJCWFkZHJlc3MgPSB2aXJ0X3RvX3BoeXMoZG1hX2RvbS0+cHRlX3BhZ2VzW2ldKTsKKwkJbDJfcGRlW2ldID0gSU9NTVVfTDFfUERFKGFkZHJlc3MpOworCX0KKworCXJldHVybiBkbWFfZG9tOworCitmcmVlX2RtYV9kb206CisJZG1hX29wc19kb21haW5fZnJlZShkbWFfZG9tKTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW5fZm9yX2RldmljZSh1MTYgZGV2aWQpCit7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb207CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXJlYWRfbG9ja19pcnFzYXZlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCWRvbSA9IGFtZF9pb21tdV9wZF90YWJsZVtkZXZpZF07CisJcmVhZF91bmxvY2tfaXJxcmVzdG9yZSgmYW1kX2lvbW11X2RldnRhYmxlX2xvY2ssIGZsYWdzKTsKKworCXJldHVybiBkb207Cit9CisKK3N0YXRpYyB2b2lkIHNldF9kZXZpY2VfZG9tYWluKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgICAgc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW4sCisJCQkgICAgICB1MTYgZGV2aWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXU2NCBwdGVfcm9vdCA9IHZpcnRfdG9fcGh5cyhkb21haW4tPnB0X3Jvb3QpOworCisJcHRlX3Jvb3QgfD0gKGRvbWFpbi0+bW9kZSAmIDB4MDcpIDw8IDk7CisJcHRlX3Jvb3QgfD0gSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXIHwgSU9NTVVfUFRFX1AgfCAyOworCisJd3JpdGVfbG9ja19pcnFzYXZlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCWFtZF9pb21tdV9kZXZfdGFibGVbZGV2aWRdLmRhdGFbMF0gPSBwdGVfcm9vdDsKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhWzFdID0gcHRlX3Jvb3QgPj4gMzI7CisJYW1kX2lvbW11X2Rldl90YWJsZVtkZXZpZF0uZGF0YVsyXSA9IGRvbWFpbi0+aWQ7CisKKwlhbWRfaW9tbXVfcGRfdGFibGVbZGV2aWRdID0gZG9tYWluOworCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZhbWRfaW9tbXVfZGV2dGFibGVfbG9jaywgZmxhZ3MpOworCisJaW9tbXVfcXVldWVfaW52X2Rldl9lbnRyeShpb21tdSwgZGV2aWQpOworCisJaW9tbXUtPm5lZWRfc3luYyA9IDE7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2RldmljZV9yZXNvdXJjZXMoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCXN0cnVjdCBhbWRfaW9tbXUgKippb21tdSwKKwkJCQlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKipkb21haW4sCisJCQkJdTE2ICpiZGYpCit7CisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tOworCXN0cnVjdCBwY2lfZGV2ICpwY2lkZXY7CisJdTE2IF9iZGY7CisKKwlCVUdfT04oIWRldiB8fCBkZXYtPmJ1cyAhPSAmcGNpX2J1c190eXBlIHx8ICFkZXYtPmRtYV9tYXNrKTsKKworCXBjaWRldiA9IHRvX3BjaV9kZXYoZGV2KTsKKwlfYmRmID0gKHBjaWRldi0+YnVzLT5udW1iZXIgPDwgOCkgfCBwY2lkZXYtPmRldmZuOworCisJaWYgKF9iZGYgPj0gYW1kX2lvbW11X2xhc3RfYmRmKSB7CisJCSppb21tdSA9IE5VTEw7CisJCSpkb21haW4gPSBOVUxMOworCQkqYmRmID0gMHhmZmZmOworCQlyZXR1cm4gMDsKKwl9CisKKwkqYmRmID0gYW1kX2lvbW11X2FsaWFzX3RhYmxlW19iZGZdOworCisJKmlvbW11ID0gYW1kX2lvbW11X3Jsb29rdXBfdGFibGVbKmJkZl07CisJaWYgKCppb21tdSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlkbWFfZG9tID0gKCppb21tdSktPmRlZmF1bHRfZG9tOworCSpkb21haW4gPSBkb21haW5fZm9yX2RldmljZSgqYmRmKTsKKwlpZiAoKmRvbWFpbiA9PSBOVUxMKSB7CisJCSpkb21haW4gPSAmZG1hX2RvbS0+ZG9tYWluOworCQlzZXRfZGV2aWNlX2RvbWFpbigqaW9tbXUsICpkb21haW4sICpiZGYpOworCQlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IFVzaW5nIHByb3RlY3Rpb24gZG9tYWluICVkIGZvciAiCisJCQkJImRldmljZSAiLCAoKmRvbWFpbiktPmlkKTsKKwkJcHJpbnRfZGV2aWQoX2JkZiwgMSk7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBkbWFfYWRkcl90IGRtYV9vcHNfZG9tYWluX21hcChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkgICAgIHN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG9tLAorCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyZXNzLAorCQkJCSAgICAgcGh5c19hZGRyX3QgcGFkZHIsCisJCQkJICAgICBpbnQgZGlyZWN0aW9uKQoreworCXU2NCAqcHRlLCBfX3B0ZTsKKworCVdBUk5fT04oYWRkcmVzcyA+IGRvbS0+YXBlcnR1cmVfc2l6ZSk7CisKKwlwYWRkciAmPSBQQUdFX01BU0s7CisKKwlwdGUgID0gZG9tLT5wdGVfcGFnZXNbSU9NTVVfUFRFX0wxX0lOREVYKGFkZHJlc3MpXTsKKwlwdGUgKz0gSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpOworCisJX19wdGUgPSBwYWRkciB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0ZDOworCisJaWYgKGRpcmVjdGlvbiA9PSBETUFfVE9fREVWSUNFKQorCQlfX3B0ZSB8PSBJT01NVV9QVEVfSVI7CisJZWxzZSBpZiAoZGlyZWN0aW9uID09IERNQV9GUk9NX0RFVklDRSkKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lXOworCWVsc2UgaWYgKGRpcmVjdGlvbiA9PSBETUFfQklESVJFQ1RJT05BTCkKKwkJX19wdGUgfD0gSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXOworCisJV0FSTl9PTigqcHRlKTsKKworCSpwdGUgPSBfX3B0ZTsKKworCXJldHVybiAoZG1hX2FkZHJfdClhZGRyZXNzOworfQorCitzdGF0aWMgdm9pZCBkbWFfb3BzX2RvbWFpbl91bm1hcChzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCQkgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkb20sCisJCQkJIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKK3sKKwl1NjQgKnB0ZTsKKworCWlmIChhZGRyZXNzID49IGRvbS0+YXBlcnR1cmVfc2l6ZSkKKwkJcmV0dXJuOworCisJV0FSTl9PTihhZGRyZXNzICYgMHhmZmZVTEwgfHwgYWRkcmVzcyA+IGRvbS0+YXBlcnR1cmVfc2l6ZSk7CisKKwlwdGUgID0gZG9tLT5wdGVfcGFnZXNbSU9NTVVfUFRFX0wxX0lOREVYKGFkZHJlc3MpXTsKKwlwdGUgKz0gSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpOworCisJV0FSTl9PTighKnB0ZSk7CisKKwkqcHRlID0gMFVMTDsKK30KKworc3RhdGljIGRtYV9hZGRyX3QgX19tYXBfc2luZ2xlKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCSAgICAgICBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKKwkJCSAgICAgICBzdHJ1Y3QgZG1hX29wc19kb21haW4gKmRtYV9kb20sCisJCQkgICAgICAgcGh5c19hZGRyX3QgcGFkZHIsCisJCQkgICAgICAgc2l6ZV90IHNpemUsCisJCQkgICAgICAgaW50IGRpcikKK3sKKwlkbWFfYWRkcl90IG9mZnNldCA9IHBhZGRyICYgflBBR0VfTUFTSzsKKwlkbWFfYWRkcl90IGFkZHJlc3MsIHN0YXJ0OworCXVuc2lnbmVkIGludCBwYWdlczsKKwlpbnQgaTsKKworCXBhZ2VzID0gdG9fcGFnZXMocGFkZHIsIHNpemUpOworCXBhZGRyICY9IFBBR0VfTUFTSzsKKworCWFkZHJlc3MgPSBkbWFfb3BzX2FsbG9jX2FkZHJlc3NlcyhkZXYsIGRtYV9kb20sIHBhZ2VzKTsKKwlpZiAodW5saWtlbHkoYWRkcmVzcyA9PSBiYWRfZG1hX2FkZHJlc3MpKQorCQlnb3RvIG91dDsKKworCXN0YXJ0ID0gYWRkcmVzczsKKwlmb3IgKGkgPSAwOyBpIDwgcGFnZXM7ICsraSkgeworCQlkbWFfb3BzX2RvbWFpbl9tYXAoaW9tbXUsIGRtYV9kb20sIHN0YXJ0LCBwYWRkciwgZGlyKTsKKwkJcGFkZHIgKz0gUEFHRV9TSVpFOworCQlzdGFydCArPSBQQUdFX1NJWkU7CisJfQorCWFkZHJlc3MgKz0gb2Zmc2V0OworCitvdXQ6CisJcmV0dXJuIGFkZHJlc3M7Cit9CisKK3N0YXRpYyB2b2lkIF9fdW5tYXBfc2luZ2xlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LAorCQkJICAgc3RydWN0IGRtYV9vcHNfZG9tYWluICpkbWFfZG9tLAorCQkJICAgZG1hX2FkZHJfdCBkbWFfYWRkciwKKwkJCSAgIHNpemVfdCBzaXplLAorCQkJICAgaW50IGRpcikKK3sKKwlkbWFfYWRkcl90IGksIHN0YXJ0OworCXVuc2lnbmVkIGludCBwYWdlczsKKworCWlmICgoZG1hX2FkZHIgPT0gMCkgfHwgKGRtYV9hZGRyICsgc2l6ZSA+IGRtYV9kb20tPmFwZXJ0dXJlX3NpemUpKQorCQlyZXR1cm47CisKKwlwYWdlcyA9IHRvX3BhZ2VzKGRtYV9hZGRyLCBzaXplKTsKKwlkbWFfYWRkciAmPSBQQUdFX01BU0s7CisJc3RhcnQgPSBkbWFfYWRkcjsKKworCWZvciAoaSA9IDA7IGkgPCBwYWdlczsgKytpKSB7CisJCWRtYV9vcHNfZG9tYWluX3VubWFwKGlvbW11LCBkbWFfZG9tLCBzdGFydCk7CisJCXN0YXJ0ICs9IFBBR0VfU0laRTsKKwl9CisKKwlkbWFfb3BzX2ZyZWVfYWRkcmVzc2VzKGRtYV9kb20sIGRtYV9hZGRyLCBwYWdlcyk7Cit9CisKK3N0YXRpYyBkbWFfYWRkcl90IG1hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LCBwaHlzX2FkZHJfdCBwYWRkciwKKwkJCSAgICAgc2l6ZV90IHNpemUsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisJZG1hX2FkZHJfdCBhZGRyOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoaW9tbXUgPT0gTlVMTCB8fCBkb21haW4gPT0gTlVMTCkKKwkJcmV0dXJuIChkbWFfYWRkcl90KXBhZGRyOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCWFkZHIgPSBfX21hcF9zaW5nbGUoZGV2LCBpb21tdSwgZG9tYWluLT5wcml2LCBwYWRkciwgc2l6ZSwgZGlyKTsKKwlpZiAoYWRkciA9PSBiYWRfZG1hX2FkZHJlc3MpCisJCWdvdG8gb3V0OworCisJaWYgKGlvbW11X2hhc19ucGNhY2hlKGlvbW11KSkKKwkJaW9tbXVfZmx1c2hfcGFnZXMoaW9tbXUsIGRvbWFpbi0+aWQsIGFkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiBhZGRyOworfQorCitzdGF0aWMgdm9pZCB1bm1hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGRtYV9hZGRyLAorCQkJIHNpemVfdCBzaXplLCBpbnQgZGlyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCisJaWYgKCFnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKSkKKwkJcmV0dXJuOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJX191bm1hcF9zaW5nbGUoaW9tbXUsIGRvbWFpbi0+cHJpdiwgZG1hX2FkZHIsIHNpemUsIGRpcik7CisKKwlpb21tdV9mbHVzaF9wYWdlcyhpb21tdSwgZG9tYWluLT5pZCwgZG1hX2FkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIGludCBtYXBfc2dfbm9faW9tbXUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwKKwkJCSAgIGludCBuZWxlbXMsIGludCBkaXIpCit7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOworCWludCBpOworCisJZm9yX2VhY2hfc2coc2dsaXN0LCBzLCBuZWxlbXMsIGkpIHsKKwkJcy0+ZG1hX2FkZHJlc3MgPSAoZG1hX2FkZHJfdClzZ19waHlzKHMpOworCQlzLT5kbWFfbGVuZ3RoICA9IHMtPmxlbmd0aDsKKwl9CisKKwlyZXR1cm4gbmVsZW1zOworfQorCitzdGF0aWMgaW50IG1hcF9zZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0LAorCQkgIGludCBuZWxlbXMsIGludCBkaXIpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKmRvbWFpbjsKKwl1MTYgZGV2aWQ7CisJaW50IGk7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOworCXBoeXNfYWRkcl90IHBhZGRyOworCWludCBtYXBwZWRfZWxlbXMgPSAwOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoIWlvbW11IHx8ICFkb21haW4pCisJCXJldHVybiBtYXBfc2dfbm9faW9tbXUoZGV2LCBzZ2xpc3QsIG5lbGVtcywgZGlyKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbmVsZW1zLCBpKSB7CisJCXBhZGRyID0gc2dfcGh5cyhzKTsKKworCQlzLT5kbWFfYWRkcmVzcyA9IF9fbWFwX3NpbmdsZShkZXYsIGlvbW11LCBkb21haW4tPnByaXYsCisJCQkJCSAgICAgIHBhZGRyLCBzLT5sZW5ndGgsIGRpcik7CisKKwkJaWYgKHMtPmRtYV9hZGRyZXNzKSB7CisJCQlzLT5kbWFfbGVuZ3RoID0gcy0+bGVuZ3RoOworCQkJbWFwcGVkX2VsZW1zKys7CisJCX0gZWxzZQorCQkJZ290byB1bm1hcDsKKwkJaWYgKGlvbW11X2hhc19ucGNhY2hlKGlvbW11KSkKKwkJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBzLT5kbWFfYWRkcmVzcywKKwkJCQkJICBzLT5kbWFfbGVuZ3RoKTsKKwl9CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIG1hcHBlZF9lbGVtczsKK3VubWFwOgorCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbWFwcGVkX2VsZW1zLCBpKSB7CisJCWlmIChzLT5kbWFfYWRkcmVzcykKKwkJCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIHMtPmRtYV9hZGRyZXNzLAorCQkJCSAgICAgICBzLT5kbWFfbGVuZ3RoLCBkaXIpOworCQlzLT5kbWFfYWRkcmVzcyA9IHMtPmRtYV9sZW5ndGggPSAwOworCX0KKworCW1hcHBlZF9lbGVtcyA9IDA7CisKKwlnb3RvIG91dDsKK30KKworc3RhdGljIHZvaWQgdW5tYXBfc2coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnbGlzdCwKKwkJICAgICBpbnQgbmVsZW1zLCBpbnQgZGlyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzOworCXUxNiBkZXZpZDsKKwlpbnQgaTsKKworCWlmICghZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCkpCisJCXJldHVybjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCWZvcl9lYWNoX3NnKHNnbGlzdCwgcywgbmVsZW1zLCBpKSB7CisJCV9fdW5tYXBfc2luZ2xlKGlvbW11LCBkb21haW4tPnByaXYsIHMtPmRtYV9hZGRyZXNzLAorCQkJICAgICAgIHMtPmRtYV9sZW5ndGgsIGRpcik7CisJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBzLT5kbWFfYWRkcmVzcywKKwkJCQkgIHMtPmRtYV9sZW5ndGgpOworCQlzLT5kbWFfYWRkcmVzcyA9IHMtPmRtYV9sZW5ndGggPSAwOworCX0KKworCWlmIChpb21tdS0+bmVlZF9zeW5jKQorCQlpb21tdV9jb21wbGV0aW9uX3dhaXQoaW9tbXUpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkICphbGxvY19jb2hlcmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAorCQkJICAgIGRtYV9hZGRyX3QgKmRtYV9hZGRyLCBnZnBfdCBmbGFnKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdm9pZCAqdmlydF9hZGRyOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCXN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqZG9tYWluOworCXUxNiBkZXZpZDsKKwlwaHlzX2FkZHJfdCBwYWRkcjsKKworCXZpcnRfYWRkciA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhmbGFnLCBnZXRfb3JkZXIoc2l6ZSkpOworCWlmICghdmlydF9hZGRyKQorCQlyZXR1cm4gMDsKKworCW1lbXNldCh2aXJ0X2FkZHIsIDAsIHNpemUpOworCXBhZGRyID0gdmlydF90b19waHlzKHZpcnRfYWRkcik7CisKKwlnZXRfZGV2aWNlX3Jlc291cmNlcyhkZXYsICZpb21tdSwgJmRvbWFpbiwgJmRldmlkKTsKKworCWlmICghaW9tbXUgfHwgIWRvbWFpbikgeworCQkqZG1hX2FkZHIgPSAoZG1hX2FkZHJfdClwYWRkcjsKKwkJcmV0dXJuIHZpcnRfYWRkcjsKKwl9CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwkqZG1hX2FkZHIgPSBfX21hcF9zaW5nbGUoZGV2LCBpb21tdSwgZG9tYWluLT5wcml2LCBwYWRkciwKKwkJCQkgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpOworCisJaWYgKCpkbWFfYWRkciA9PSBiYWRfZG1hX2FkZHJlc3MpIHsKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZyl2aXJ0X2FkZHIsIGdldF9vcmRlcihzaXplKSk7CisJCXZpcnRfYWRkciA9IE5VTEw7CisJCWdvdG8gb3V0OworCX0KKworCWlmIChpb21tdV9oYXNfbnBjYWNoZShpb21tdSkpCisJCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCAqZG1hX2FkZHIsIHNpemUpOworCisJaWYgKGlvbW11LT5uZWVkX3N5bmMpCisJCWlvbW11X2NvbXBsZXRpb25fd2FpdChpb21tdSk7CisKK291dDoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkb21haW4tPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiB2aXJ0X2FkZHI7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfY29oZXJlbnQoc3RydWN0IGRldmljZSAqZGV2LCBzaXplX3Qgc2l6ZSwKKwkJCSAgdm9pZCAqdmlydF9hZGRyLCBkbWFfYWRkcl90IGRtYV9hZGRyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisJc3RydWN0IHByb3RlY3Rpb25fZG9tYWluICpkb21haW47CisJdTE2IGRldmlkOworCisJZ2V0X2RldmljZV9yZXNvdXJjZXMoZGV2LCAmaW9tbXUsICZkb21haW4sICZkZXZpZCk7CisKKwlpZiAoIWlvbW11IHx8ICFkb21haW4pCisJCWdvdG8gZnJlZV9tZW07CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZG9tYWluLT5sb2NrLCBmbGFncyk7CisKKwlfX3VubWFwX3NpbmdsZShpb21tdSwgZG9tYWluLT5wcml2LCBkbWFfYWRkciwgc2l6ZSwgRE1BX0JJRElSRUNUSU9OQUwpOworCWlvbW11X2ZsdXNoX3BhZ2VzKGlvbW11LCBkb21haW4tPmlkLCBkbWFfYWRkciwgc2l6ZSk7CisKKwlpZiAoaW9tbXUtPm5lZWRfc3luYykKKwkJaW9tbXVfY29tcGxldGlvbl93YWl0KGlvbW11KTsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRvbWFpbi0+bG9jaywgZmxhZ3MpOworCitmcmVlX21lbToKKwlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKXZpcnRfYWRkciwgZ2V0X29yZGVyKHNpemUpKTsKK30KKworLyoKKyAqIElmIHRoZSBkcml2ZXIgY29yZSBpbmZvcm1zIHRoZSBETUEgbGF5ZXIgaWYgYSBkcml2ZXIgZ3JhYnMgYSBkZXZpY2UKKyAqIHdlIGRvbid0IG5lZWQgdG8gcHJlYWxsb2NhdGUgdGhlIHByb3RlY3Rpb24gZG9tYWlucyBhbnltb3JlLgorICogRm9yIG5vdyB3ZSBoYXZlIHRvLgorICovCit2b2lkIHByZWFsbG9jX3Byb3RlY3Rpb25fZG9tYWlucyh2b2lkKQoreworCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBOVUxMOworCXN0cnVjdCBkbWFfb3BzX2RvbWFpbiAqZG1hX2RvbTsKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdTsKKwlpbnQgb3JkZXIgPSBhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXI7CisJdTE2IGRldmlkOworCisJd2hpbGUgKChkZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBkZXYpKSAhPSBOVUxMKSB7CisJCWRldmlkID0gKGRldi0+YnVzLT5udW1iZXIgPDwgOCkgfCBkZXYtPmRldmZuOworCQlpZiAoZGV2aWQgPj0gYW1kX2lvbW11X2xhc3RfYmRmKQorCQkJY29udGludWU7CisJCWRldmlkID0gYW1kX2lvbW11X2FsaWFzX3RhYmxlW2RldmlkXTsKKwkJaWYgKGRvbWFpbl9mb3JfZGV2aWNlKGRldmlkKSkKKwkJCWNvbnRpbnVlOworCQlpb21tdSA9IGFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2RldmlkXTsKKwkJaWYgKCFpb21tdSkKKwkJCWNvbnRpbnVlOworCQlkbWFfZG9tID0gZG1hX29wc19kb21haW5fYWxsb2MoaW9tbXUsIG9yZGVyKTsKKwkJaWYgKCFkbWFfZG9tKQorCQkJY29udGludWU7CisJCWluaXRfdW5pdHlfbWFwcGluZ3NfZm9yX2RldmljZShkbWFfZG9tLCBkZXZpZCk7CisJCXNldF9kZXZpY2VfZG9tYWluKGlvbW11LCAmZG1hX2RvbS0+ZG9tYWluLCBkZXZpZCk7CisJCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogQWxsb2NhdGVkIGRvbWFpbiAlZCBmb3IgZGV2aWNlICIsCisJCSAgICAgICBkbWFfZG9tLT5kb21haW4uaWQpOworCQlwcmludF9kZXZpZChkZXZpZCwgMSk7CisJfQorfQorCitzdGF0aWMgc3RydWN0IGRtYV9tYXBwaW5nX29wcyBhbWRfaW9tbXVfZG1hX29wcyA9IHsKKwkuYWxsb2NfY29oZXJlbnQgPSBhbGxvY19jb2hlcmVudCwKKwkuZnJlZV9jb2hlcmVudCA9IGZyZWVfY29oZXJlbnQsCisJLm1hcF9zaW5nbGUgPSBtYXBfc2luZ2xlLAorCS51bm1hcF9zaW5nbGUgPSB1bm1hcF9zaW5nbGUsCisJLm1hcF9zZyA9IG1hcF9zZywKKwkudW5tYXBfc2cgPSB1bm1hcF9zZywKK307CisKK2ludCBfX2luaXQgYW1kX2lvbW11X2luaXRfZG1hX29wcyh2b2lkKQoreworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCWludCBvcmRlciA9IGFtZF9pb21tdV9hcGVydHVyZV9vcmRlcjsKKwlpbnQgcmV0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpb21tdSwgJmFtZF9pb21tdV9saXN0LCBsaXN0KSB7CisJCWlvbW11LT5kZWZhdWx0X2RvbSA9IGRtYV9vcHNfZG9tYWluX2FsbG9jKGlvbW11LCBvcmRlcik7CisJCWlmIChpb21tdS0+ZGVmYXVsdF9kb20gPT0gTlVMTCkKKwkJCXJldHVybiAtRU5PTUVNOworCQlyZXQgPSBpb21tdV9pbml0X3VuaXR5X21hcHBpbmdzKGlvbW11KTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZnJlZV9kb21haW5zOworCX0KKworCWlmIChhbWRfaW9tbXVfaXNvbGF0ZSkKKwkJcHJlYWxsb2NfcHJvdGVjdGlvbl9kb21haW5zKCk7CisKKwlpb21tdV9kZXRlY3RlZCA9IDE7CisJZm9yY2VfaW9tbXUgPSAxOworCWJhZF9kbWFfYWRkcmVzcyA9IDA7CisjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKKwlnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkID0gMTsKKwlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMDsKKyNlbmRpZgorCisJZG1hX29wcyA9ICZhbWRfaW9tbXVfZG1hX29wczsKKworCXJldHVybiAwOworCitmcmVlX2RvbWFpbnM6CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvbW11LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJaWYgKGlvbW11LT5kZWZhdWx0X2RvbSkKKwkJCWRtYV9vcHNfZG9tYWluX2ZyZWUoaW9tbXUtPmRlZmF1bHRfZG9tKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdV9pbml0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvYW1kX2lvbW11X2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTEzZTQzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2FtZF9pb21tdV9pbml0LmMKQEAgLTAsMCArMSw4NzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CisjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KKyNpbmNsdWRlIDxhc20vYW1kX2lvbW11X3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdS5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CisKKy8qCisgKiBkZWZpbml0aW9ucyBmb3IgdGhlIEFDUEkgc2Nhbm5pbmcgY29kZQorICovCisjZGVmaW5lIFVQREFURV9MQVNUX0JERih4KSBkbyB7XAorCWlmICgoeCkgPiBhbWRfaW9tbXVfbGFzdF9iZGYpIFwKKwkJYW1kX2lvbW11X2xhc3RfYmRmID0gKHgpOyBcCisJfSB3aGlsZSAoMCk7CisKKyNkZWZpbmUgREVWSUQoYnVzLCBkZXZmbikgKCgoYnVzKSA8PCA4KSB8IChkZXZmbikpCisjZGVmaW5lIFBDSV9CVVMoeCkgKCgoeCkgPj4gOCkgJiAweGZmKQorI2RlZmluZSBJVlJTX0hFQURFUl9MRU5HVEggNDgKKyNkZWZpbmUgVEJMX1NJWkUoeCkgKDEgPDwgKFBBR0VfU0hJRlQgKyBnZXRfb3JkZXIoYW1kX2lvbW11X2xhc3RfYmRmICogKHgpKSkpCisKKyNkZWZpbmUgQUNQSV9JVkhEX1RZUEUgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lIEFDUElfSVZNRF9UWVBFX0FMTCAgICAgICAgICAgICAgMHgyMAorI2RlZmluZSBBQ1BJX0lWTURfVFlQRSAgICAgICAgICAgICAgICAgIDB4MjEKKyNkZWZpbmUgQUNQSV9JVk1EX1RZUEVfUkFOR0UgICAgICAgICAgICAweDIyCisKKyNkZWZpbmUgSVZIRF9ERVZfQUxMICAgICAgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIElWSERfREVWX1NFTEVDVCAgICAgICAgICAgICAgICAgMHgwMgorI2RlZmluZSBJVkhEX0RFVl9TRUxFQ1RfUkFOR0VfU1RBUlQgICAgIDB4MDMKKyNkZWZpbmUgSVZIRF9ERVZfUkFOR0VfRU5EICAgICAgICAgICAgICAweDA0CisjZGVmaW5lIElWSERfREVWX0FMSUFTICAgICAgICAgICAgICAgICAgMHg0MgorI2RlZmluZSBJVkhEX0RFVl9BTElBU19SQU5HRSAgICAgICAgICAgIDB4NDMKKyNkZWZpbmUgSVZIRF9ERVZfRVhUX1NFTEVDVCAgICAgICAgICAgICAweDQ2CisjZGVmaW5lIElWSERfREVWX0VYVF9TRUxFQ1RfUkFOR0UgICAgICAgMHg0NworCisjZGVmaW5lIElWSERfRkxBR19IVF9UVU5fRU4gICAgICAgICAgICAgMHgwMAorI2RlZmluZSBJVkhEX0ZMQUdfUEFTU1BXX0VOICAgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgSVZIRF9GTEFHX1JFU1BBU1NQV19FTiAgICAgICAgICAweDAyCisjZGVmaW5lIElWSERfRkxBR19JU09DX0VOICAgICAgICAgICAgICAgMHgwMworCisjZGVmaW5lIElWTURfRkxBR19FWENMX1JBTkdFICAgICAgICAgICAgMHgwOAorI2RlZmluZSBJVk1EX0ZMQUdfVU5JVFlfTUFQICAgICAgICAgICAgIDB4MDEKKworI2RlZmluZSBBQ1BJX0RFVkZMQUdfSU5JVFBBU1MgICAgICAgICAgIDB4MDEKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0VYVElOVCAgICAgICAgICAgICAweDAyCisjZGVmaW5lIEFDUElfREVWRkxBR19OTUkgICAgICAgICAgICAgICAgMHgwNAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfU1lTTUdUMSAgICAgICAgICAgIDB4MTAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX1NZU01HVDIgICAgICAgICAgICAweDIwCisjZGVmaW5lIEFDUElfREVWRkxBR19MSU5UMCAgICAgICAgICAgICAgMHg0MAorI2RlZmluZSBBQ1BJX0RFVkZMQUdfTElOVDEgICAgICAgICAgICAgIDB4ODAKKyNkZWZpbmUgQUNQSV9ERVZGTEFHX0FUU0RJUyAgICAgICAgICAgICAweDEwMDAwMDAwCisKK3N0cnVjdCBpdmhkX2hlYWRlciB7CisJdTggdHlwZTsKKwl1OCBmbGFnczsKKwl1MTYgbGVuZ3RoOworCXUxNiBkZXZpZDsKKwl1MTYgY2FwX3B0cjsKKwl1NjQgbW1pb19waHlzOworCXUxNiBwY2lfc2VnOworCXUxNiBpbmZvOworCXUzMiByZXNlcnZlZDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBpdmhkX2VudHJ5IHsKKwl1OCB0eXBlOworCXUxNiBkZXZpZDsKKwl1OCBmbGFnczsKKwl1MzIgZXh0OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGl2bWRfaGVhZGVyIHsKKwl1OCB0eXBlOworCXU4IGZsYWdzOworCXUxNiBsZW5ndGg7CisJdTE2IGRldmlkOworCXUxNiBhdXg7CisJdTY0IHJlc3Y7CisJdTY0IHJhbmdlX3N0YXJ0OworCXU2NCByYW5nZV9sZW5ndGg7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgYW1kX2lvbW11X2RldGVjdGVkOworCit1MTYgYW1kX2lvbW11X2xhc3RfYmRmOworc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfdW5pdHlfbWFwOwordW5zaWduZWQgYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjY7CitpbnQgYW1kX2lvbW11X2lzb2xhdGU7CisKK3N0cnVjdCBsaXN0X2hlYWQgYW1kX2lvbW11X2xpc3Q7CitzdHJ1Y3QgZGV2X3RhYmxlX2VudHJ5ICphbWRfaW9tbXVfZGV2X3RhYmxlOwordTE2ICphbWRfaW9tbXVfYWxpYXNfdGFibGU7CitzdHJ1Y3QgYW1kX2lvbW11ICoqYW1kX2lvbW11X3Jsb29rdXBfdGFibGU7CitzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gKiphbWRfaW9tbXVfcGRfdGFibGU7Cit1bnNpZ25lZCBsb25nICphbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwOworCitzdGF0aWMgdTMyIGRldl90YWJsZV9zaXplOworc3RhdGljIHUzMiBhbGlhc190YWJsZV9zaXplOworc3RhdGljIHUzMiBybG9va3VwX3RhYmxlX3NpemU7CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9zZXRfZXhjbHVzaW9uX3JhbmdlKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCXU2NCBzdGFydCA9IGlvbW11LT5leGNsdXNpb25fc3RhcnQgJiBQQUdFX01BU0s7CisJdTY0IGxpbWl0ID0gKHN0YXJ0ICsgaW9tbXUtPmV4Y2x1c2lvbl9sZW5ndGgpICYgUEFHRV9NQVNLOworCXU2NCBlbnRyeTsKKworCWlmICghaW9tbXUtPmV4Y2x1c2lvbl9zdGFydCkKKwkJcmV0dXJuOworCisJZW50cnkgPSBzdGFydCB8IE1NSU9fRVhDTF9FTkFCTEVfTUFTSzsKKwltZW1jcHlfdG9pbyhpb21tdS0+bW1pb19iYXNlICsgTU1JT19FWENMX0JBU0VfT0ZGU0VULAorCQkJJmVudHJ5LCBzaXplb2YoZW50cnkpKTsKKworCWVudHJ5ID0gbGltaXQ7CisJbWVtY3B5X3RvaW8oaW9tbXUtPm1taW9fYmFzZSArIE1NSU9fRVhDTF9MSU1JVF9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfc2V0X2RldmljZV90YWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1MzIgZW50cnk7CisKKwlCVUdfT04oaW9tbXUtPm1taW9fYmFzZSA9PSBOVUxMKTsKKworCWVudHJ5ID0gdmlydF90b19waHlzKGFtZF9pb21tdV9kZXZfdGFibGUpOworCWVudHJ5IHw9IChkZXZfdGFibGVfc2l6ZSA+PiAxMikgLSAxOworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0RFVl9UQUJMRV9PRkZTRVQsCisJCQkmZW50cnksIHNpemVvZihlbnRyeSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW9tbXVfZmVhdHVyZV9lbmFibGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHU4IGJpdCkKK3sKKwl1MzIgY3RybDsKKworCWN0cmwgPSByZWFkbChpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7CisJY3RybCB8PSAoMSA8PCBiaXQpOworCXdyaXRlbChjdHJsLCBpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9mZWF0dXJlX2Rpc2FibGUoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsIHU4IGJpdCkKK3sKKwl1MzIgY3RybDsKKworCWN0cmwgPSAodTY0KXJlYWRsKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NPTlRST0xfT0ZGU0VUKTsKKwljdHJsICY9IH4oMSA8PCBiaXQpOworCXdyaXRlbChjdHJsLCBpb21tdS0+bW1pb19iYXNlICsgTU1JT19DT05UUk9MX09GRlNFVCk7Cit9CisKK3ZvaWQgX19pbml0IGlvbW11X2VuYWJsZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJBTUQgSU9NTVU6IEVuYWJsaW5nIElPTU1VIGF0ICIpOworCXByaW50X2RldmlkKGlvbW11LT5kZXZpZCwgMCk7CisJcHJpbnRrKCIgY2FwIDB4JWh4XG4iLCBpb21tdS0+Y2FwX3B0cik7CisKKwlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9JT01NVV9FTik7Cit9CisKK3N0YXRpYyB1OCAqIF9faW5pdCBpb21tdV9tYXBfbW1pb19zcGFjZSh1NjQgYWRkcmVzcykKK3sKKwl1OCAqcmV0OworCisJaWYgKCFyZXF1ZXN0X21lbV9yZWdpb24oYWRkcmVzcywgTU1JT19SRUdJT05fTEVOR1RILCAiYW1kX2lvbW11IikpCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gaW9yZW1hcF9ub2NhY2hlKGFkZHJlc3MsIE1NSU9fUkVHSU9OX0xFTkdUSCk7CisJaWYgKHJldCAhPSBOVUxMKQorCQlyZXR1cm4gcmV0OworCisJcmVsZWFzZV9tZW1fcmVnaW9uKGFkZHJlc3MsIE1NSU9fUkVHSU9OX0xFTkdUSCk7CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGlvbW11X3VubWFwX21taW9fc3BhY2Uoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaWYgKGlvbW11LT5tbWlvX2Jhc2UpCisJCWlvdW5tYXAoaW9tbXUtPm1taW9fYmFzZSk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKGlvbW11LT5tbWlvX3BoeXMsIE1NSU9fUkVHSU9OX0xFTkdUSCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGZpbmRfbGFzdF9kZXZpZF9vbl9wY2koaW50IGJ1cywgaW50IGRldiwgaW50IGZuLCBpbnQgY2FwX3B0cikKK3sKKwl1MzIgY2FwOworCisJY2FwID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgZGV2LCBmbiwgY2FwX3B0citNTUlPX1JBTkdFX09GRlNFVCk7CisJVVBEQVRFX0xBU1RfQkRGKERFVklEKE1NSU9fR0VUX0JVUyhjYXApLCBNTUlPX0dFVF9MRChjYXApKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgZmluZF9sYXN0X2RldmlkX2Zyb21faXZoZChzdHJ1Y3QgaXZoZF9oZWFkZXIgKmgpCit7CisJdTggKnAgPSAodm9pZCAqKWgsICplbmQgPSAodm9pZCAqKWg7CisJc3RydWN0IGl2aGRfZW50cnkgKmRldjsKKworCXAgKz0gc2l6ZW9mKCpoKTsKKwllbmQgKz0gaC0+bGVuZ3RoOworCisJZmluZF9sYXN0X2RldmlkX29uX3BjaShQQ0lfQlVTKGgtPmRldmlkKSwKKwkJCVBDSV9TTE9UKGgtPmRldmlkKSwKKwkJCVBDSV9GVU5DKGgtPmRldmlkKSwKKwkJCWgtPmNhcF9wdHIpOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJZGV2ID0gKHN0cnVjdCBpdmhkX2VudHJ5ICopcDsKKwkJc3dpdGNoIChkZXYtPnR5cGUpIHsKKwkJY2FzZSBJVkhEX0RFVl9TRUxFQ1Q6CisJCWNhc2UgSVZIRF9ERVZfUkFOR0VfRU5EOgorCQljYXNlIElWSERfREVWX0FMSUFTOgorCQljYXNlIElWSERfREVWX0VYVF9TRUxFQ1Q6CisJCQlVUERBVEVfTEFTVF9CREYoZGV2LT5kZXZpZCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXAgKz0gMHgwNCA8PCAoKnAgPj4gNik7CisJfQorCisJV0FSTl9PTihwICE9IGVuZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgZmluZF9sYXN0X2RldmlkX2FjcGkoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSkKK3sKKwlpbnQgaTsKKwl1OCBjaGVja3N1bSA9IDAsICpwID0gKHU4ICopdGFibGUsICplbmQgPSAodTggKil0YWJsZTsKKwlzdHJ1Y3QgaXZoZF9oZWFkZXIgKmg7CisKKwkvKgorCSAqIFZhbGlkYXRlIGNoZWNrc3VtIGhlcmUgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBpdCB3aGVuCisJICogd2UgYWN0dWFsbHkgcGFyc2UgdGhlIHRhYmxlCisJICovCisJZm9yIChpID0gMDsgaSA8IHRhYmxlLT5sZW5ndGg7ICsraSkKKwkJY2hlY2tzdW0gKz0gcFtpXTsKKwlpZiAoY2hlY2tzdW0gIT0gMCkKKwkJLyogQUNQSSB0YWJsZSBjb3JydXB0ICovCisJCXJldHVybiAtRU5PREVWOworCisJcCArPSBJVlJTX0hFQURFUl9MRU5HVEg7CisKKwllbmQgKz0gdGFibGUtPmxlbmd0aDsKKwl3aGlsZSAocCA8IGVuZCkgeworCQloID0gKHN0cnVjdCBpdmhkX2hlYWRlciAqKXA7CisJCXN3aXRjaCAoaC0+dHlwZSkgeworCQljYXNlIEFDUElfSVZIRF9UWVBFOgorCQkJZmluZF9sYXN0X2RldmlkX2Zyb21faXZoZChoKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJcCArPSBoLT5sZW5ndGg7CisJfQorCVdBUk5fT04ocCAhPSBlbmQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1OCAqIF9faW5pdCBhbGxvY19jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSkKK3sKKwl1OCAqY21kX2J1ZiA9ICh1OCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCWdldF9vcmRlcihDTURfQlVGRkVSX1NJWkUpKTsKKwl1NjQgZW50cnkgPSAwOworCisJaWYgKGNtZF9idWYgPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7CisKKwlpb21tdS0+Y21kX2J1Zl9zaXplID0gQ01EX0JVRkZFUl9TSVpFOworCisJbWVtc2V0KGNtZF9idWYsIDAsIENNRF9CVUZGRVJfU0laRSk7CisKKwllbnRyeSA9ICh1NjQpdmlydF90b19waHlzKGNtZF9idWYpOworCWVudHJ5IHw9IE1NSU9fQ01EX1NJWkVfNTEyOworCW1lbWNweV90b2lvKGlvbW11LT5tbWlvX2Jhc2UgKyBNTUlPX0NNRF9CVUZfT0ZGU0VULAorCQkJJmVudHJ5LCBzaXplb2YoZW50cnkpKTsKKworCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0NNREJVRl9FTik7CisKKwlyZXR1cm4gY21kX2J1ZjsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfY29tbWFuZF9idWZmZXIoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaWYgKGlvbW11LT5jbWRfYnVmKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWlvbW11LT5jbWRfYnVmLAorCQkJCWdldF9vcmRlcihDTURfQlVGRkVSX1NJWkUpKTsKK30KKworc3RhdGljIHZvaWQgc2V0X2Rldl9lbnRyeV9iaXQodTE2IGRldmlkLCB1OCBiaXQpCit7CisJaW50IGkgPSAoYml0ID4+IDUpICYgMHgwNzsKKwlpbnQgX2JpdCA9IGJpdCAmIDB4MWY7CisKKwlhbWRfaW9tbXVfZGV2X3RhYmxlW2RldmlkXS5kYXRhW2ldIHw9ICgxIDw8IF9iaXQpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkodTE2IGRldmlkLCB1MzIgZmxhZ3MsIHUzMiBleHRfZmxhZ3MpCit7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0lOSVRQQVNTKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX0lOSVRfUEFTUyk7CisJaWYgKGZsYWdzICYgQUNQSV9ERVZGTEFHX0VYVElOVCkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9FSU5UX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19OTUkpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfTk1JX1BBU1MpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19TWVNNR1QxKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX1NZU01HVDEpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19TWVNNR1QyKQorCQlzZXRfZGV2X2VudHJ5X2JpdChkZXZpZCwgREVWX0VOVFJZX1NZU01HVDIpOworCWlmIChmbGFncyAmIEFDUElfREVWRkxBR19MSU5UMCkKKwkJc2V0X2Rldl9lbnRyeV9iaXQoZGV2aWQsIERFVl9FTlRSWV9MSU5UMF9QQVNTKTsKKwlpZiAoZmxhZ3MgJiBBQ1BJX0RFVkZMQUdfTElOVDEpCisJCXNldF9kZXZfZW50cnlfYml0KGRldmlkLCBERVZfRU5UUllfTElOVDFfUEFTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfaW9tbXVfZm9yX2RldmljZShzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgdTE2IGRldmlkKQoreworCWFtZF9pb21tdV9ybG9va3VwX3RhYmxlW2RldmlkXSA9IGlvbW11OworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgc2V0X2RldmljZV9leGNsdXNpb25fcmFuZ2UodTE2IGRldmlkLCBzdHJ1Y3QgaXZtZF9oZWFkZXIgKm0pCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXUgPSBhbWRfaW9tbXVfcmxvb2t1cF90YWJsZVtkZXZpZF07CisKKwlpZiAoIShtLT5mbGFncyAmIElWTURfRkxBR19FWENMX1JBTkdFKSkKKwkJcmV0dXJuOworCisJaWYgKGlvbW11KSB7CisJCXNldF9kZXZfZW50cnlfYml0KG0tPmRldmlkLCBERVZfRU5UUllfRVgpOworCQlpb21tdS0+ZXhjbHVzaW9uX3N0YXJ0ID0gbS0+cmFuZ2Vfc3RhcnQ7CisJCWlvbW11LT5leGNsdXNpb25fbGVuZ3RoID0gbS0+cmFuZ2VfbGVuZ3RoOworCX0KK30KKworc3RhdGljIHZvaWQgX19pbml0IGluaXRfaW9tbXVfZnJvbV9wY2koc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJaW50IGJ1cyA9IFBDSV9CVVMoaW9tbXUtPmRldmlkKTsKKwlpbnQgZGV2ID0gUENJX1NMT1QoaW9tbXUtPmRldmlkKTsKKwlpbnQgZm4gID0gUENJX0ZVTkMoaW9tbXUtPmRldmlkKTsKKwlpbnQgY2FwX3B0ciA9IGlvbW11LT5jYXBfcHRyOworCXUzMiByYW5nZTsKKworCWlvbW11LT5jYXAgPSByZWFkX3BjaV9jb25maWcoYnVzLCBkZXYsIGZuLCBjYXBfcHRyK01NSU9fQ0FQX0hEUl9PRkZTRVQpOworCisJcmFuZ2UgPSByZWFkX3BjaV9jb25maWcoYnVzLCBkZXYsIGZuLCBjYXBfcHRyK01NSU9fUkFOR0VfT0ZGU0VUKTsKKwlpb21tdS0+Zmlyc3RfZGV2aWNlID0gREVWSUQoTU1JT19HRVRfQlVTKHJhbmdlKSwgTU1JT19HRVRfRkQocmFuZ2UpKTsKKwlpb21tdS0+bGFzdF9kZXZpY2UgPSBERVZJRChNTUlPX0dFVF9CVVMocmFuZ2UpLCBNTUlPX0dFVF9MRChyYW5nZSkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9pb21tdV9mcm9tX2FjcGkoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUsCisJCQkJCXN0cnVjdCBpdmhkX2hlYWRlciAqaCkKK3sKKwl1OCAqcCA9ICh1OCAqKWg7CisJdTggKmVuZCA9IHAsIGZsYWdzID0gMDsKKwl1MTYgZGV2X2ksIGRldmlkID0gMCwgZGV2aWRfc3RhcnQgPSAwLCBkZXZpZF90byA9IDA7CisJdTMyIGV4dF9mbGFncyA9IDA7CisJYm9vbCBhbGlhcyA9IDA7CisJc3RydWN0IGl2aGRfZW50cnkgKmU7CisKKwkvKgorCSAqIEZpcnN0IHNldCB0aGUgcmVjb21tZW5kZWQgZmVhdHVyZSBlbmFibGUgYml0cyBmcm9tIEFDUEkKKwkgKiBpbnRvIHRoZSBJT01NVSBjb250cm9sIHJlZ2lzdGVycworCSAqLworCWgtPmZsYWdzICYgSVZIRF9GTEFHX0hUX1RVTl9FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX0hUX1RVTl9FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfSFRfVFVOX0VOKTsKKworCWgtPmZsYWdzICYgSVZIRF9GTEFHX1BBU1NQV19FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX1BBU1NQV19FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfUEFTU1BXX0VOKTsKKworCWgtPmZsYWdzICYgSVZIRF9GTEFHX1JFU1BBU1NQV19FTiA/CisJCWlvbW11X2ZlYXR1cmVfZW5hYmxlKGlvbW11LCBDT05UUk9MX1JFU1BBU1NQV19FTikgOgorCQlpb21tdV9mZWF0dXJlX2Rpc2FibGUoaW9tbXUsIENPTlRST0xfUkVTUEFTU1BXX0VOKTsKKworCWgtPmZsYWdzICYgSVZIRF9GTEFHX0lTT0NfRU4gPworCQlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9JU09DX0VOKSA6CisJCWlvbW11X2ZlYXR1cmVfZGlzYWJsZShpb21tdSwgQ09OVFJPTF9JU09DX0VOKTsKKworCS8qCisJICogbWFrZSBJT01NVSBtZW1vcnkgYWNjZXNzZXMgY2FjaGUgY29oZXJlbnQKKwkgKi8KKwlpb21tdV9mZWF0dXJlX2VuYWJsZShpb21tdSwgQ09OVFJPTF9DT0hFUkVOVF9FTik7CisKKwkvKgorCSAqIERvbmUuIE5vdyBwYXJzZSB0aGUgZGV2aWNlIGVudHJpZXMKKwkgKi8KKwlwICs9IHNpemVvZihzdHJ1Y3QgaXZoZF9oZWFkZXIpOworCWVuZCArPSBoLT5sZW5ndGg7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQllID0gKHN0cnVjdCBpdmhkX2VudHJ5ICopcDsKKwkJc3dpdGNoIChlLT50eXBlKSB7CisJCWNhc2UgSVZIRF9ERVZfQUxMOgorCQkJZm9yIChkZXZfaSA9IGlvbW11LT5maXJzdF9kZXZpY2U7CisJCQkJCWRldl9pIDw9IGlvbW11LT5sYXN0X2RldmljZTsgKytkZXZfaSkKKwkJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaShkZXZfaSwgZS0+ZmxhZ3MsIDApOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfU0VMRUNUOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCXNldF9kZXZfZW50cnlfZnJvbV9hY3BpKGRldmlkLCBlLT5mbGFncywgMCk7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9TRUxFQ1RfUkFOR0VfU1RBUlQ6CisJCQlkZXZpZF9zdGFydCA9IGUtPmRldmlkOworCQkJZmxhZ3MgPSBlLT5mbGFnczsKKwkJCWV4dF9mbGFncyA9IDA7CisJCQlhbGlhcyA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBJVkhEX0RFVl9BTElBUzoKKwkJCWRldmlkID0gZS0+ZGV2aWQ7CisJCQlkZXZpZF90byA9IGUtPmV4dCA+PiA4OworCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2aWQsIGUtPmZsYWdzLCAwKTsKKwkJCWFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZpZF0gPSBkZXZpZF90bzsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0FMSUFTX1JBTkdFOgorCQkJZGV2aWRfc3RhcnQgPSBlLT5kZXZpZDsKKwkJCWZsYWdzID0gZS0+ZmxhZ3M7CisJCQlkZXZpZF90byA9IGUtPmV4dCA+PiA4OworCQkJZXh0X2ZsYWdzID0gMDsKKwkJCWFsaWFzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIElWSERfREVWX0VYVF9TRUxFQ1Q6CisJCQlkZXZpZCA9IGUtPmRldmlkOworCQkJc2V0X2Rldl9lbnRyeV9mcm9tX2FjcGkoZGV2aWQsIGUtPmZsYWdzLCBlLT5leHQpOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfRVhUX1NFTEVDVF9SQU5HRToKKwkJCWRldmlkX3N0YXJ0ID0gZS0+ZGV2aWQ7CisJCQlmbGFncyA9IGUtPmZsYWdzOworCQkJZXh0X2ZsYWdzID0gZS0+ZXh0OworCQkJYWxpYXMgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgSVZIRF9ERVZfUkFOR0VfRU5EOgorCQkJZGV2aWQgPSBlLT5kZXZpZDsKKwkJCWZvciAoZGV2X2kgPSBkZXZpZF9zdGFydDsgZGV2X2kgPD0gZGV2aWQ7ICsrZGV2X2kpIHsKKwkJCQlpZiAoYWxpYXMpCisJCQkJCWFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZfaV0gPSBkZXZpZF90bzsKKwkJCQlzZXRfZGV2X2VudHJ5X2Zyb21fYWNwaSgKKwkJCQkJCWFtZF9pb21tdV9hbGlhc190YWJsZVtkZXZfaV0sCisJCQkJCQlmbGFncywgZXh0X2ZsYWdzKTsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlwICs9IDB4MDQgPDwgKGUtPnR5cGUgPj4gNik7CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X2lvbW11X2RldmljZXMoc3RydWN0IGFtZF9pb21tdSAqaW9tbXUpCit7CisJdTE2IGk7CisKKwlmb3IgKGkgPSBpb21tdS0+Zmlyc3RfZGV2aWNlOyBpIDw9IGlvbW11LT5sYXN0X2RldmljZTsgKytpKQorCQlzZXRfaW9tbXVfZm9yX2RldmljZShpb21tdSwgaSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZyZWVfaW9tbXVfb25lKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11KQoreworCWZyZWVfY29tbWFuZF9idWZmZXIoaW9tbXUpOworCWlvbW11X3VubWFwX21taW9fc3BhY2UoaW9tbXUpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZnJlZV9pb21tdV9hbGwodm9pZCkKK3sKKwlzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwgKm5leHQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoaW9tbXUsIG5leHQsICZhbWRfaW9tbXVfbGlzdCwgbGlzdCkgeworCQlsaXN0X2RlbCgmaW9tbXUtPmxpc3QpOworCQlmcmVlX2lvbW11X29uZShpb21tdSk7CisJCWtmcmVlKGlvbW11KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfaW9tbXVfb25lKHN0cnVjdCBhbWRfaW9tbXUgKmlvbW11LCBzdHJ1Y3QgaXZoZF9oZWFkZXIgKmgpCit7CisJc3Bpbl9sb2NrX2luaXQoJmlvbW11LT5sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZpb21tdS0+bGlzdCwgJmFtZF9pb21tdV9saXN0KTsKKworCS8qCisJICogQ29weSBkYXRhIGZyb20gQUNQSSB0YWJsZSBlbnRyeSB0byB0aGUgaW9tbXUgc3RydWN0CisJICovCisJaW9tbXUtPmRldmlkID0gaC0+ZGV2aWQ7CisJaW9tbXUtPmNhcF9wdHIgPSBoLT5jYXBfcHRyOworCWlvbW11LT5tbWlvX3BoeXMgPSBoLT5tbWlvX3BoeXM7CisJaW9tbXUtPm1taW9fYmFzZSA9IGlvbW11X21hcF9tbWlvX3NwYWNlKGgtPm1taW9fcGh5cyk7CisJaWYgKCFpb21tdS0+bW1pb19iYXNlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlvbW11X3NldF9kZXZpY2VfdGFibGUoaW9tbXUpOworCWlvbW11LT5jbWRfYnVmID0gYWxsb2NfY29tbWFuZF9idWZmZXIoaW9tbXUpOworCWlmICghaW9tbXUtPmNtZF9idWYpCisJCXJldHVybiAtRU5PTUVNOworCisJaW5pdF9pb21tdV9mcm9tX3BjaShpb21tdSk7CisJaW5pdF9pb21tdV9mcm9tX2FjcGkoaW9tbXUsIGgpOworCWluaXRfaW9tbXVfZGV2aWNlcyhpb21tdSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF9pb21tdV9hbGwoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSkKK3sKKwl1OCAqcCA9ICh1OCAqKXRhYmxlLCAqZW5kID0gKHU4ICopdGFibGU7CisJc3RydWN0IGl2aGRfaGVhZGVyICpoOworCXN0cnVjdCBhbWRfaW9tbXUgKmlvbW11OworCWludCByZXQ7CisKKwlJTklUX0xJU1RfSEVBRCgmYW1kX2lvbW11X2xpc3QpOworCisJZW5kICs9IHRhYmxlLT5sZW5ndGg7CisJcCArPSBJVlJTX0hFQURFUl9MRU5HVEg7CisKKwl3aGlsZSAocCA8IGVuZCkgeworCQloID0gKHN0cnVjdCBpdmhkX2hlYWRlciAqKXA7CisJCXN3aXRjaCAoKnApIHsKKwkJY2FzZSBBQ1BJX0lWSERfVFlQRToKKwkJCWlvbW11ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGFtZF9pb21tdSksIEdGUF9LRVJORUwpOworCQkJaWYgKGlvbW11ID09IE5VTEwpCisJCQkJcmV0dXJuIC1FTk9NRU07CisJCQlyZXQgPSBpbml0X2lvbW11X29uZShpb21tdSwgaCk7CisJCQlpZiAocmV0KQorCQkJCXJldHVybiByZXQ7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXAgKz0gaC0+bGVuZ3RoOworCisJfQorCVdBUk5fT04ocCAhPSBlbmQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBmcmVlX3VuaXR5X21hcHModm9pZCkKK3sKKwlzdHJ1Y3QgdW5pdHlfbWFwX2VudHJ5ICplbnRyeSwgKm5leHQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZW50cnksIG5leHQsICZhbWRfaW9tbXVfdW5pdHlfbWFwLCBsaXN0KSB7CisJCWxpc3RfZGVsKCZlbnRyeS0+bGlzdCk7CisJCWtmcmVlKGVudHJ5KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXRfZXhjbHVzaW9uX3JhbmdlKHN0cnVjdCBpdm1kX2hlYWRlciAqbSkKK3sKKwlpbnQgaTsKKworCXN3aXRjaCAobS0+dHlwZSkgeworCWNhc2UgQUNQSV9JVk1EX1RZUEU6CisJCXNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKG0tPmRldmlkLCBtKTsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9BTEw6CisJCWZvciAoaSA9IDA7IGkgPCBhbWRfaW9tbXVfbGFzdF9iZGY7ICsraSkKKwkJCXNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKGksIG0pOworCQlicmVhazsKKwljYXNlIEFDUElfSVZNRF9UWVBFX1JBTkdFOgorCQlmb3IgKGkgPSBtLT5kZXZpZDsgaSA8PSBtLT5hdXg7ICsraSkKKwkJCXNldF9kZXZpY2VfZXhjbHVzaW9uX3JhbmdlKGksIG0pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgaW5pdF91bml0eV9tYXBfcmFuZ2Uoc3RydWN0IGl2bWRfaGVhZGVyICptKQoreworCXN0cnVjdCB1bml0eV9tYXBfZW50cnkgKmUgPSAwOworCisJZSA9IGt6YWxsb2Moc2l6ZW9mKCplKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlzd2l0Y2ggKG0tPnR5cGUpIHsKKwlkZWZhdWx0OgorCWNhc2UgQUNQSV9JVk1EX1RZUEU6CisJCWUtPmRldmlkX3N0YXJ0ID0gZS0+ZGV2aWRfZW5kID0gbS0+ZGV2aWQ7CisJCWJyZWFrOworCWNhc2UgQUNQSV9JVk1EX1RZUEVfQUxMOgorCQllLT5kZXZpZF9zdGFydCA9IDA7CisJCWUtPmRldmlkX2VuZCA9IGFtZF9pb21tdV9sYXN0X2JkZjsKKwkJYnJlYWs7CisJY2FzZSBBQ1BJX0lWTURfVFlQRV9SQU5HRToKKwkJZS0+ZGV2aWRfc3RhcnQgPSBtLT5kZXZpZDsKKwkJZS0+ZGV2aWRfZW5kID0gbS0+YXV4OworCQlicmVhazsKKwl9CisJZS0+YWRkcmVzc19zdGFydCA9IFBBR0VfQUxJR04obS0+cmFuZ2Vfc3RhcnQpOworCWUtPmFkZHJlc3NfZW5kID0gZS0+YWRkcmVzc19zdGFydCArIFBBR0VfQUxJR04obS0+cmFuZ2VfbGVuZ3RoKTsKKwllLT5wcm90ID0gbS0+ZmxhZ3MgPj4gMTsKKworCWxpc3RfYWRkX3RhaWwoJmUtPmxpc3QsICZhbWRfaW9tbXVfdW5pdHlfbWFwKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdCBpbml0X21lbW9yeV9kZWZpbml0aW9ucyhzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCXU4ICpwID0gKHU4ICopdGFibGUsICplbmQgPSAodTggKil0YWJsZTsKKwlzdHJ1Y3QgaXZtZF9oZWFkZXIgKm07CisKKwlJTklUX0xJU1RfSEVBRCgmYW1kX2lvbW11X3VuaXR5X21hcCk7CisKKwllbmQgKz0gdGFibGUtPmxlbmd0aDsKKwlwICs9IElWUlNfSEVBREVSX0xFTkdUSDsKKworCXdoaWxlIChwIDwgZW5kKSB7CisJCW0gPSAoc3RydWN0IGl2bWRfaGVhZGVyICopcDsKKwkJaWYgKG0tPmZsYWdzICYgSVZNRF9GTEFHX0VYQ0xfUkFOR0UpCisJCQlpbml0X2V4Y2x1c2lvbl9yYW5nZShtKTsKKwkJZWxzZSBpZiAobS0+ZmxhZ3MgJiBJVk1EX0ZMQUdfVU5JVFlfTUFQKQorCQkJaW5pdF91bml0eV9tYXBfcmFuZ2UobSk7CisKKwkJcCArPSBtLT5sZW5ndGg7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBlbmFibGVfaW9tbXVzKHZvaWQpCit7CisJc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvbW11LCAmYW1kX2lvbW11X2xpc3QsIGxpc3QpIHsKKwkJaW9tbXVfc2V0X2V4Y2x1c2lvbl9yYW5nZShpb21tdSk7CisJCWlvbW11X2VuYWJsZShpb21tdSk7CisJfQorfQorCisvKgorICogU3VzcGVuZC9SZXN1bWUgc3VwcG9ydAorICogZGlzYWJsZSBzdXNwZW5kIHVudGlsIHJlYWwgcmVzdW1lIGltcGxlbWVudGVkCisgKi8KKworc3RhdGljIGludCBhbWRfaW9tbXVfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYW1kX2lvbW11X3N1c3BlbmQoc3RydWN0IHN5c19kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBhbWRfaW9tbXVfc3lzZGV2X2NsYXNzID0geworCS5uYW1lID0gImFtZF9pb21tdSIsCisJLnN1c3BlbmQgPSBhbWRfaW9tbXVfc3VzcGVuZCwKKwkucmVzdW1lID0gYW1kX2lvbW11X3Jlc3VtZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzX2RldmljZSBkZXZpY2VfYW1kX2lvbW11ID0geworCS5pZCA9IDAsCisJLmNscyA9ICZhbWRfaW9tbXVfc3lzZGV2X2NsYXNzLAorfTsKKworaW50IF9faW5pdCBhbWRfaW9tbXVfaW5pdCh2b2lkKQoreworCWludCBpLCByZXQgPSAwOworCisKKwlpZiAobm9faW9tbXUpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VIGRpc2FibGVkIGJ5IGtlcm5lbCBjb21tYW5kIGxpbmVcbiIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIWFtZF9pb21tdV9kZXRlY3RlZCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKgorCSAqIEZpcnN0IHBhcnNlIEFDUEkgdGFibGVzIHRvIGZpbmQgdGhlIGxhcmdlc3QgQnVzL0Rldi9GdW5jCisJICogd2UgbmVlZCB0byBoYW5kbGUuIFVwb24gdGhpcyBpbmZvcm1hdGlvbiB0aGUgc2hhcmVkIGRhdGEKKwkgKiBzdHJ1Y3R1cmVzIGZvciB0aGUgSU9NTVVzIGluIHRoZSBzeXN0ZW0gd2lsbCBiZSBhbGxvY2F0ZWQKKwkgKi8KKwlpZiAoYWNwaV90YWJsZV9wYXJzZSgiSVZSUyIsIGZpbmRfbGFzdF9kZXZpZF9hY3BpKSAhPSAwKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWRldl90YWJsZV9zaXplICAgICA9IFRCTF9TSVpFKERFVl9UQUJMRV9FTlRSWV9TSVpFKTsKKwlhbGlhc190YWJsZV9zaXplICAgPSBUQkxfU0laRShBTElBU19UQUJMRV9FTlRSWV9TSVpFKTsKKwlybG9va3VwX3RhYmxlX3NpemUgPSBUQkxfU0laRShSTE9PS1VQX1RBQkxFX0VOVFJZX1NJWkUpOworCisJcmV0ID0gLUVOT01FTTsKKworCS8qIERldmljZSB0YWJsZSAtIGRpcmVjdGx5IHVzZWQgYnkgYWxsIElPTU1VcyAqLworCWFtZF9pb21tdV9kZXZfdGFibGUgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCQkgICAgICBnZXRfb3JkZXIoZGV2X3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X2Rldl90YWJsZSA9PSBOVUxMKQorCQlnb3RvIG91dDsKKworCS8qCisJICogQWxpYXMgdGFibGUgLSBtYXAgUENJIEJ1cy9EZXYvRnVuYyB0byBCdXMvRGV2L0Z1bmMgdGhlCisJICogSU9NTVUgc2VlIGZvciB0aGF0IGRldmljZQorCSAqLworCWFtZF9pb21tdV9hbGlhc190YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJZ2V0X29yZGVyKGFsaWFzX3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X2FsaWFzX3RhYmxlID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCS8qIElPTU1VIHJsb29rdXAgdGFibGUgLSBmaW5kIHRoZSBJT01NVSBmb3IgYSBzcGVjaWZpYyBkZXZpY2UgKi8KKwlhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSA9ICh2b2lkICopX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLAorCQkJZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCWlmIChhbWRfaW9tbXVfcmxvb2t1cF90YWJsZSA9PSBOVUxMKQorCQlnb3RvIGZyZWU7CisKKwkvKgorCSAqIFByb3RlY3Rpb24gRG9tYWluIHRhYmxlIC0gbWFwcyBkZXZpY2VzIHRvIHByb3RlY3Rpb24gZG9tYWlucworCSAqIFRoaXMgdGFibGUgaGFzIHRoZSBzYW1lIHNpemUgYXMgdGhlIHJsb29rdXBfdGFibGUKKwkgKi8KKwlhbWRfaW9tbXVfcGRfdGFibGUgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCQkgICAgIGdldF9vcmRlcihybG9va3VwX3RhYmxlX3NpemUpKTsKKwlpZiAoYW1kX2lvbW11X3BkX3RhYmxlID09IE5VTEwpCisJCWdvdG8gZnJlZTsKKworCWFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCwKKwkJCQkJICAgIGdldF9vcmRlcihNQVhfRE9NQUlOX0lELzgpKTsKKwlpZiAoYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCA9PSBOVUxMKQorCQlnb3RvIGZyZWU7CisKKwkvKgorCSAqIG1lbW9yeSBpcyBhbGxvY2F0ZWQgbm93OyBpbml0aWFsaXplIHRoZSBkZXZpY2UgdGFibGUgd2l0aCBhbGwgemVyb2VzCisJICogYW5kIGxldCBhbGwgYWxpYXMgZW50cmllcyBwb2ludCB0byBpdHNlbGYKKwkgKi8KKwltZW1zZXQoYW1kX2lvbW11X2Rldl90YWJsZSwgMCwgZGV2X3RhYmxlX3NpemUpOworCWZvciAoaSA9IDA7IGkgPCBhbWRfaW9tbXVfbGFzdF9iZGY7ICsraSkKKwkJYW1kX2lvbW11X2FsaWFzX3RhYmxlW2ldID0gaTsKKworCW1lbXNldChhbWRfaW9tbXVfcGRfdGFibGUsIDAsIHJsb29rdXBfdGFibGVfc2l6ZSk7CisJbWVtc2V0KGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXAsIDAsIE1BWF9ET01BSU5fSUQgLyA4KTsKKworCS8qCisJICogbmV2ZXIgYWxsb2NhdGUgZG9tYWluIDAgYmVjYXVzZSBpdHMgdXNlZCBhcyB0aGUgbm9uLWFsbG9jYXRlZCBhbmQKKwkgKiBlcnJvciB2YWx1ZSBwbGFjZWhvbGRlcgorCSAqLworCWFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXBbMF0gPSAxOworCisJLyoKKwkgKiBub3cgdGhlIGRhdGEgc3RydWN0dXJlcyBhcmUgYWxsb2NhdGVkIGFuZCBiYXNpY2FsbHkgaW5pdGlhbGl6ZWQKKwkgKiBzdGFydCB0aGUgcmVhbCBhY3BpIHRhYmxlIHNjYW4KKwkgKi8KKwlyZXQgPSAtRU5PREVWOworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgaW5pdF9pb21tdV9hbGwpICE9IDApCisJCWdvdG8gZnJlZTsKKworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgaW5pdF9tZW1vcnlfZGVmaW5pdGlvbnMpICE9IDApCisJCWdvdG8gZnJlZTsKKworCXJldCA9IGFtZF9pb21tdV9pbml0X2RtYV9vcHMoKTsKKwlpZiAocmV0KQorCQlnb3RvIGZyZWU7CisKKwlyZXQgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmFtZF9pb21tdV9zeXNkZXZfY2xhc3MpOworCWlmIChyZXQpCisJCWdvdG8gZnJlZTsKKworCXJldCA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2FtZF9pb21tdSk7CisJaWYgKHJldCkKKwkJZ290byBmcmVlOworCisJZW5hYmxlX2lvbW11cygpOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIElPTU1VOiBhcGVydHVyZSBzaXplIGlzICVkIE1CXG4iLAorCQkJKDEgPDwgKGFtZF9pb21tdV9hcGVydHVyZV9vcmRlci0yMCkpKTsKKworCXByaW50ayhLRVJOX0lORk8gIkFNRCBJT01NVTogZGV2aWNlIGlzb2xhdGlvbiAiKTsKKwlpZiAoYW1kX2lvbW11X2lzb2xhdGUpCisJCXByaW50aygiZW5hYmxlZFxuIik7CisJZWxzZQorCQlwcmludGsoImRpc2FibGVkXG4iKTsKKworb3V0OgorCXJldHVybiByZXQ7CisKK2ZyZWU6CisJaWYgKGFtZF9pb21tdV9wZF9hbGxvY19iaXRtYXApCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X3BkX2FsbG9jX2JpdG1hcCwgMSk7CisKKwlpZiAoYW1kX2lvbW11X3BkX3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9wZF90YWJsZSwKKwkJCQlnZXRfb3JkZXIocmxvb2t1cF90YWJsZV9zaXplKSk7CisKKwlpZiAoYW1kX2lvbW11X3Jsb29rdXBfdGFibGUpCisJCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpYW1kX2lvbW11X3Jsb29rdXBfdGFibGUsCisJCQkJZ2V0X29yZGVyKHJsb29rdXBfdGFibGVfc2l6ZSkpOworCisJaWYgKGFtZF9pb21tdV9hbGlhc190YWJsZSkKKwkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZylhbWRfaW9tbXVfYWxpYXNfdGFibGUsCisJCQkJZ2V0X29yZGVyKGFsaWFzX3RhYmxlX3NpemUpKTsKKworCWlmIChhbWRfaW9tbXVfZGV2X3RhYmxlKQorCQlmcmVlX3BhZ2VzKCh1bnNpZ25lZCBsb25nKWFtZF9pb21tdV9kZXZfdGFibGUsCisJCQkJZ2V0X29yZGVyKGRldl90YWJsZV9zaXplKSk7CisKKwlmcmVlX2lvbW11X2FsbCgpOworCisJZnJlZV91bml0eV9tYXBzKCk7CisKKwlnb3RvIG91dDsKK30KKworc3RhdGljIGludCBfX2luaXQgZWFybHlfYW1kX2lvbW11X2RldGVjdChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKnRhYmxlKQoreworCXJldHVybiAwOworfQorCit2b2lkIF9faW5pdCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpCit7CisJaWYgKHN3aW90bGIgfHwgbm9faW9tbXUgfHwgaW9tbXVfZGV0ZWN0ZWQpCisJCXJldHVybjsKKworCWlmIChhY3BpX3RhYmxlX3BhcnNlKCJJVlJTIiwgZWFybHlfYW1kX2lvbW11X2RldGVjdCkgPT0gMCkgeworCQlpb21tdV9kZXRlY3RlZCA9IDE7CisJCWFtZF9pb21tdV9kZXRlY3RlZCA9IDE7CisjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKKwkJZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZCA9IDE7CisJCWdhcnRfaW9tbXVfYXBlcnR1cmUgPSAwOworI2VuZGlmCisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9hbWRfaW9tbXVfb3B0aW9ucyhjaGFyICpzdHIpCit7CisJZm9yICg7ICpzdHI7ICsrc3RyKSB7CisJCWlmIChzdHJjbXAoc3RyLCAiaXNvbGF0ZSIpID09IDApCisJCQlhbWRfaW9tbXVfaXNvbGF0ZSA9IDE7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX2FtZF9pb21tdV9zaXplX29wdGlvbnMoY2hhciAqc3RyKQoreworCWZvciAoOyAqc3RyOyArK3N0cikgeworCQlpZiAoc3RyY21wKHN0ciwgIjMyTSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNTsKKwkJaWYgKHN0cmNtcChzdHIsICI2NE0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjY7CisJCWlmIChzdHJjbXAoc3RyLCAiMTI4TSIpID09IDApCisJCQlhbWRfaW9tbXVfYXBlcnR1cmVfb3JkZXIgPSAyNzsKKwkJaWYgKHN0cmNtcChzdHIsICIyNTZNIikgPT0gMCkKKwkJCWFtZF9pb21tdV9hcGVydHVyZV9vcmRlciA9IDI4OworCQlpZiAoc3RyY21wKHN0ciwgIjUxMk0iKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMjk7CisJCWlmIChzdHJjbXAoc3RyLCAiMUciKSA9PSAwKQorCQkJYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyID0gMzA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK19fc2V0dXAoImFtZF9pb21tdT0iLCBwYXJzZV9hbWRfaW9tbXVfb3B0aW9ucyk7CitfX3NldHVwKCJhbWRfaW9tbXVfc2l6ZT0iLCBwYXJzZV9hbWRfaW9tbXVfc2l6ZV9vcHRpb25zKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcGVydHVyZV82NC5jIGIvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMKaW5kZXggNDc5OTI2ZC4uOWY5MDc4MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwZXJ0dXJlXzY0LmMKQEAgLTM1LDYgKzM1LDE4IEBACiAKIGludCBmaXhfYXBlcnR1cmUgX19pbml0ZGF0YSA9IDE7CiAKK3N0cnVjdCBidXNfZGV2X3JhbmdlIHsKKwlpbnQgYnVzOworCWludCBkZXZfYmFzZTsKKwlpbnQgZGV2X2xpbWl0OworfTsKKworc3RhdGljIHN0cnVjdCBidXNfZGV2X3JhbmdlIGJ1c19kZXZfcmFuZ2VzW10gX19pbml0ZGF0YSA9IHsKKwl7IDB4MDAsIDB4MTgsIDB4MjB9LAorCXsgMHhmZiwgMHgwMCwgMHgyMH0sCisJeyAweGZlLCAweDAwLCAweDIwfQorfTsKKwogc3RhdGljIHN0cnVjdCByZXNvdXJjZSBnYXJ0X3Jlc291cmNlID0gewogCS5uYW1lCT0gIkdBUlQiLAogCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLApAQCAtNTUsOCArNjcsOSBAQAogCXUzMiBhcGVyX3NpemU7CiAJdm9pZCAqcDsKIAotCWlmIChmYWxsYmFja19hcGVyX29yZGVyID4gNykKLQkJZmFsbGJhY2tfYXBlcl9vcmRlciA9IDc7CisJLyogYXBlcl9zaXplIHNob3VsZCA8PSAxRyAqLworCWlmIChmYWxsYmFja19hcGVyX29yZGVyID4gNSkKKwkJZmFsbGJhY2tfYXBlcl9vcmRlciA9IDU7CiAJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGZhbGxiYWNrX2FwZXJfb3JkZXI7CiAKIAkvKgpAQCAtNjUsNyArNzgsMjAgQEAKIAkgKiBtZW1vcnkuIFVuZm9ydHVuYXRlbHkgd2UgY2Fubm90IG1vdmUgaXQgdXAgYmVjYXVzZSB0aGF0IHdvdWxkCiAJICogbWFrZSB0aGUgSU9NTVUgdXNlbGVzcy4KIAkgKi8KLQlwID0gX19hbGxvY19ib290bWVtX25vcGFuaWMoYXBlcl9zaXplLCBhcGVyX3NpemUsIDApOworCS8qCisJICogdXNpbmcgNTEyTSBhcyBnb2FsLCBpbiBjYXNlIGtleGVjIHdpbGwgbG9hZCBrZXJuZWxfYmlnCisJICogdGhhdCB3aWxsIGRvIHRoZSBvbiBwb3NpdGlvbiBkZWNvbXByZXNzLCBhbmQgIGNvdWxkIG92ZXJsYXAgd2l0aAorCSAqIHRoYXQgcG9zaXRvbiB3aXRoIGdhcnQgdGhhdCBpcyB1c2VkLgorCSAqIHNlcXVlbmRlOgorCSAqIGtlcm5lbF9zbWFsbAorCSAqID09PiBrZXhlYyAod2l0aCBrZHVtcCB0cmlnZ2VyIHBhdGggb3IgcHJldmlvdXMgZG9lc24ndCBzaHV0ZG93biBnYXJ0KQorCSAqID09PiBrZXJuZWxfc21hbGwoZ2FydCBhcmVhIGJlY29tZSBlODIwX3Jlc2VydmVkKQorCSAqID09PiBrZXhlYyAod2l0aCBrZHVtcCB0cmlnZ2VyIHBhdGggb3IgcHJldmlvdXMgZG9lc24ndCBzaHV0ZG93biBnYXJ0KQorCSAqID09PiBrZXJuZV9iaWcgKHVuY29tcHJlc3NlZCBzaXplIHdpbGwgYmUgYmlnIHRoYW4gNjRNIG9yIDEyOE0pCisJICogc28gZG9uJ3QgdXNlIDUxMk0gYmVsb3cgYXMgZ2FydCBpb21tdSwgbGVhdmUgdGhlIHNwYWNlIGZvciBrZXJuZWwKKwkgKiBjb2RlIGZvciBzYWZlCisJICovCisJcCA9IF9fYWxsb2NfYm9vdG1lbV9ub3BhbmljKGFwZXJfc2l6ZSwgYXBlcl9zaXplLCA1MTJVTEw8PDIwKTsKIAlpZiAoIXAgfHwgX19wYShwKSthcGVyX3NpemUgPiAweGZmZmZmZmZmKSB7CiAJCXByaW50ayhLRVJOX0VSUgogCQkJIkNhbm5vdCBhbGxvY2F0ZSBhcGVydHVyZSBtZW1vcnkgaG9sZSAoJXAsJXVLKVxuIiwKQEAgLTgzLDY5ICsxMDksNTMgQEAKIAlyZXR1cm4gKHUzMilfX3BhKHApOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBhcGVydHVyZV92YWxpZCh1NjQgYXBlcl9iYXNlLCB1MzIgYXBlcl9zaXplKQotewotCWlmICghYXBlcl9iYXNlKQotCQlyZXR1cm4gMDsKLQotCWlmIChhcGVyX2Jhc2UgKyBhcGVyX3NpemUgPiAweDEwMDAwMDAwMFVMKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgYmV5b25kIDRHQi4gSWdub3JpbmcuXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCWlmIChlODIwX2FueV9tYXBwZWQoYXBlcl9iYXNlLCBhcGVyX2Jhc2UgKyBhcGVyX3NpemUsIEU4MjBfUkFNKSkgewotCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHBvaW50aW5nIHRvIGU4MjAgUkFNLiBJZ25vcmluZy5cbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JaWYgKGFwZXJfc2l6ZSA8IDY0KjEwMjQqMTAyNCkgewotCQlwcmludGsoS0VSTl9FUlIgIkFwZXJ0dXJlIHRvbyBzbWFsbCAoJWQgTUIpXG4iLCBhcGVyX3NpemU+PjIwKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0dXJuIDE7Ci19CiAKIC8qIEZpbmQgYSBQQ0kgY2FwYWJpbGl0eSAqLwotc3RhdGljIF9fdTMyIF9faW5pdCBmaW5kX2NhcChpbnQgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMsIGludCBjYXApCitzdGF0aWMgdTMyIF9faW5pdCBmaW5kX2NhcChpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZ1bmMsIGludCBjYXApCiB7CiAJaW50IGJ5dGVzOwogCXU4IHBvczsKIAotCWlmICghKHJlYWRfcGNpX2NvbmZpZ18xNihudW0sIHNsb3QsIGZ1bmMsIFBDSV9TVEFUVVMpICYKKwlpZiAoIShyZWFkX3BjaV9jb25maWdfMTYoYnVzLCBzbG90LCBmdW5jLCBQQ0lfU1RBVFVTKSAmCiAJCQkJCQlQQ0lfU1RBVFVTX0NBUF9MSVNUKSkKIAkJcmV0dXJuIDA7CiAKLQlwb3MgPSByZWFkX3BjaV9jb25maWdfYnl0ZShudW0sIHNsb3QsIGZ1bmMsIFBDSV9DQVBBQklMSVRZX0xJU1QpOworCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKGJ1cywgc2xvdCwgZnVuYywgUENJX0NBUEFCSUxJVFlfTElTVCk7CiAJZm9yIChieXRlcyA9IDA7IGJ5dGVzIDwgNDggJiYgcG9zID49IDB4NDA7IGJ5dGVzKyspIHsKIAkJdTggaWQ7CiAKIAkJcG9zICY9IH4zOwotCQlpZCA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywgcG9zK1BDSV9DQVBfTElTVF9JRCk7CisJCWlkID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLCBwb3MrUENJX0NBUF9MSVNUX0lEKTsKIAkJaWYgKGlkID09IDB4ZmYpCiAJCQlicmVhazsKIAkJaWYgKGlkID09IGNhcCkKIAkJCXJldHVybiBwb3M7Ci0JCXBvcyA9IHJlYWRfcGNpX2NvbmZpZ19ieXRlKG51bSwgc2xvdCwgZnVuYywKKwkJcG9zID0gcmVhZF9wY2lfY29uZmlnX2J5dGUoYnVzLCBzbG90LCBmdW5jLAogCQkJCQkJcG9zK1BDSV9DQVBfTElTVF9ORVhUKTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIC8qIFJlYWQgYSBzdGFuZGFyZCBBR1B2MyBicmlkZ2UgaGVhZGVyICovCi1zdGF0aWMgX191MzIgX19pbml0IHJlYWRfYWdwKGludCBudW0sIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCwgdTMyICpvcmRlcikKK3N0YXRpYyB1MzIgX19pbml0IHJlYWRfYWdwKGludCBidXMsIGludCBzbG90LCBpbnQgZnVuYywgaW50IGNhcCwgdTMyICpvcmRlcikKIHsKIAl1MzIgYXBzaXplOwogCXUzMiBhcHNpemVyZWc7CiAJaW50IG5iaXRzOwogCXUzMiBhcGVyX2xvdywgYXBlcl9oaTsKIAl1NjQgYXBlcjsKKwl1MzIgb2xkX29yZGVyOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAiQUdQIGJyaWRnZSBhdCAlMDJ4OiUwMng6JTAyeFxuIiwgbnVtLCBzbG90LCBmdW5jKTsKLQlhcHNpemVyZWcgPSByZWFkX3BjaV9jb25maWdfMTYobnVtLCBzbG90LCBmdW5jLCBjYXAgKyAweDE0KTsKKwlwcmludGsoS0VSTl9JTkZPICJBR1AgYnJpZGdlIGF0ICUwMng6JTAyeDolMDJ4XG4iLCBidXMsIHNsb3QsIGZ1bmMpOworCWFwc2l6ZXJlZyA9IHJlYWRfcGNpX2NvbmZpZ18xNihidXMsIHNsb3QsIGZ1bmMsIGNhcCArIDB4MTQpOwogCWlmIChhcHNpemVyZWcgPT0gMHhmZmZmZmZmZikgewogCQlwcmludGsoS0VSTl9FUlIgIkFQU0laRSBpbiBBR1AgYnJpZGdlIHVucmVhZGFibGVcbiIpOwogCQlyZXR1cm4gMDsKIAl9CiAKKwkvKiBvbGRfb3JkZXIgY291bGQgYmUgdGhlIHZhbHVlIGZyb20gTkIgZ2FydCBzZXR0aW5nICovCisJb2xkX29yZGVyID0gKm9yZGVyOworCiAJYXBzaXplID0gYXBzaXplcmVnICYgMHhmZmY7CiAJLyogU29tZSBCSU9TIHVzZSB3ZWlyZCBlbmNvZGluZ3Mgbm90IGluIHRoZSBBR1B2MyB0YWJsZS4gKi8KIAlpZiAoYXBzaXplICYgMHhmZikKQEAgLTE1NSwxNCArMTY1LDI2IEBACiAJaWYgKChpbnQpKm9yZGVyIDwgMCkgLyogPCAzMk1CICovCiAJCSpvcmRlciA9IDA7CiAKLQlhcGVyX2xvdyA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsIDB4MTApOwotCWFwZXJfaGkgPSByZWFkX3BjaV9jb25maWcobnVtLCBzbG90LCBmdW5jLCAweDE0KTsKKwlhcGVyX2xvdyA9IHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIGZ1bmMsIDB4MTApOworCWFwZXJfaGkgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCBmdW5jLCAweDE0KTsKIAlhcGVyID0gKGFwZXJfbG93ICYgfigoMTw8MjIpLTEpKSB8ICgodTY0KWFwZXJfaGkgPDwgMzIpOwogCisJLyoKKwkgKiBPbiBzb21lIHNpY2sgY2hpcHMsIEFQU0laRSBpcyAwLiBJdCBtZWFucyBpdCB3YW50cyA0RworCSAqIHNvIGxldCBkb3VibGUgY2hlY2sgdGhhdCBvcmRlciwgYW5kIGxldHMgdHJ1c3QgQU1EIE5CIHNldHRpbmdzOgorCSAqLworCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIGZyb20gQUdQIEAgJUx4IG9sZCBzaXplICV1IE1CXG4iLAorCQkJYXBlciwgMzIgPDwgb2xkX29yZGVyKTsKKwlpZiAoYXBlciArICgzMlVMTDw8KDIwICsgKm9yZGVyKSkgPiAweDEwMDAwMDAwMFVMTCkgeworCQlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBzaXplICV1IE1CIChBUFNJWkUgJXgpIGlzIG5vdCByaWdodCwgdXNpbmcgc2V0dGluZ3MgZnJvbSBOQlxuIiwKKwkJCQkzMiA8PCAqb3JkZXIsIGFwc2l6ZXJlZyk7CisJCSpvcmRlciA9IG9sZF9vcmRlcjsKKwl9CisKIAlwcmludGsoS0VSTl9JTkZPICJBcGVydHVyZSBmcm9tIEFHUCBAICVMeCBzaXplICV1IE1CIChBUFNJWkUgJXgpXG4iLAogCQkJYXBlciwgMzIgPDwgKm9yZGVyLCBhcHNpemVyZWcpOwogCi0JaWYgKCFhcGVydHVyZV92YWxpZChhcGVyLCAoMzIqMTAyNCoxMDI0KSA8PCAqb3JkZXIpKQorCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCkgPDwgKm9yZGVyLCAzMjw8MjApKQogCQlyZXR1cm4gMDsKIAlyZXR1cm4gKHUzMilhcGVyOwogfQpAQCAtMTgwLDE3ICsyMDIsMTcgQEAKICAqIHRoZSBBR1AgYnJpZGdlcyBzaG91bGQgYmUgYWx3YXlzIGFuIG93biBidXMgb24gdGhlIEhUIGhpZXJhcmNoeSwKICAqIGJ1dCBkbyBpdCBoZXJlIGZvciBmdXR1cmUgc2FmZXR5LgogICovCi1zdGF0aWMgX191MzIgX19pbml0IHNlYXJjaF9hZ3BfYnJpZGdlKHUzMiAqb3JkZXIsIGludCAqdmFsaWRfYWdwKQorc3RhdGljIHUzMiBfX2luaXQgc2VhcmNoX2FncF9icmlkZ2UodTMyICpvcmRlciwgaW50ICp2YWxpZF9hZ3ApCiB7Ci0JaW50IG51bSwgc2xvdCwgZnVuYzsKKwlpbnQgYnVzLCBzbG90LCBmdW5jOwogCiAJLyogUG9vciBtYW4ncyBQQ0kgZGlzY292ZXJ5ICovCi0JZm9yIChudW0gPSAwOyBudW0gPCAyNTY7IG51bSsrKSB7CisJZm9yIChidXMgPSAwOyBidXMgPCAyNTY7IGJ1cysrKSB7CiAJCWZvciAoc2xvdCA9IDA7IHNsb3QgPCAzMjsgc2xvdCsrKSB7CiAJCQlmb3IgKGZ1bmMgPSAwOyBmdW5jIDwgODsgZnVuYysrKSB7CiAJCQkJdTMyIGNsYXNzLCBjYXA7CiAJCQkJdTggdHlwZTsKLQkJCQljbGFzcyA9IHJlYWRfcGNpX2NvbmZpZyhudW0sIHNsb3QsIGZ1bmMsCisJCQkJY2xhc3MgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCBmdW5jLAogCQkJCQkJCVBDSV9DTEFTU19SRVZJU0lPTik7CiAJCQkJaWYgKGNsYXNzID09IDB4ZmZmZmZmZmYpCiAJCQkJCWJyZWFrOwpAQCAtMTk5LDE3ICsyMjEsMTcgQEAKIAkJCQljYXNlIFBDSV9DTEFTU19CUklER0VfSE9TVDoKIAkJCQljYXNlIFBDSV9DTEFTU19CUklER0VfT1RIRVI6IC8qIG5lZWRlZD8gKi8KIAkJCQkJLyogQUdQIGJyaWRnZT8gKi8KLQkJCQkJY2FwID0gZmluZF9jYXAobnVtLCBzbG90LCBmdW5jLAorCQkJCQljYXAgPSBmaW5kX2NhcChidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQkJUENJX0NBUF9JRF9BR1ApOwogCQkJCQlpZiAoIWNhcCkKIAkJCQkJCWJyZWFrOwogCQkJCQkqdmFsaWRfYWdwID0gMTsKLQkJCQkJcmV0dXJuIHJlYWRfYWdwKG51bSwgc2xvdCwgZnVuYywgY2FwLAorCQkJCQlyZXR1cm4gcmVhZF9hZ3AoYnVzLCBzbG90LCBmdW5jLCBjYXAsCiAJCQkJCQkJb3JkZXIpOwogCQkJCX0KIAogCQkJCS8qIE5vIG11bHRpLWZ1bmN0aW9uIGRldmljZT8gKi8KLQkJCQl0eXBlID0gcmVhZF9wY2lfY29uZmlnX2J5dGUobnVtLCBzbG90LCBmdW5jLAorCQkJCXR5cGUgPSByZWFkX3BjaV9jb25maWdfYnl0ZShidXMsIHNsb3QsIGZ1bmMsCiAJCQkJCQkJICAgICAgIFBDSV9IRUFERVJfVFlQRSk7CiAJCQkJaWYgKCEodHlwZSAmIDB4ODApKQogCQkJCQlicmVhazsKQEAgLTI0OSwzNiArMjcxLDUwIEBACiAJICogb3IgQklPUyBmb3JnZXQgdG8gcHV0IHRoYXQgaW4gcmVzZXJ2ZWQuCiAJICogdHJ5IHRvIHVwZGF0ZSBlODIwIHRvIG1ha2UgdGhhdCByZWdpb24gYXMgcmVzZXJ2ZWQuCiAJICovCi0JaW50IGZpeCwgbnVtOworCWludCBpLCBmaXgsIHNsb3Q7CiAJdTMyIGN0bDsKIAl1MzIgYXBlcl9zaXplID0gMCwgYXBlcl9vcmRlciA9IDAsIGxhc3RfYXBlcl9vcmRlciA9IDA7CiAJdTY0IGFwZXJfYmFzZSA9IDAsIGxhc3RfYXBlcl9iYXNlID0gMDsKLQlpbnQgYXBlcl9lbmFibGVkID0gMCwgbGFzdF9hcGVyX2VuYWJsZWQgPSAwOworCWludCBhcGVyX2VuYWJsZWQgPSAwLCBsYXN0X2FwZXJfZW5hYmxlZCA9IDAsIGxhc3RfdmFsaWQgPSAwOwogCiAJaWYgKCFlYXJseV9wY2lfYWxsb3dlZCgpKQogCQlyZXR1cm47CiAKKwkvKiBUaGlzIGlzIG1vc3RseSBkdXBsaWNhdGUgb2YgaW9tbXVfaG9sZV9pbml0ICovCiAJZml4ID0gMDsKLQlmb3IgKG51bSA9IDI0OyBudW0gPCAzMjsgbnVtKyspIHsKLQkJaWYgKCFlYXJseV9pc19rOF9uYihyZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDAwKSkpCi0JCQljb250aW51ZTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShidXNfZGV2X3Jhbmdlcyk7IGkrKykgeworCQlpbnQgYnVzOworCQlpbnQgZGV2X2Jhc2UsIGRldl9saW1pdDsKIAotCQljdGwgPSByZWFkX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDkwKTsKLQkJYXBlcl9lbmFibGVkID0gY3RsICYgMTsKLQkJYXBlcl9vcmRlciA9IChjdGwgPj4gMSkgJiA3OwotCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKLQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5NCkgJiAweDdmZmY7Ci0JCWFwZXJfYmFzZSA8PD0gMjU7CisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OwogCi0JCWlmICgobGFzdF9hcGVyX29yZGVyICYmIGFwZXJfb3JkZXIgIT0gbGFzdF9hcGVyX29yZGVyKSB8fAotCQkgICAgKGxhc3RfYXBlcl9iYXNlICYmIGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkgfHwKLQkJICAgIChsYXN0X2FwZXJfZW5hYmxlZCAmJiBhcGVyX2VuYWJsZWQgIT0gbGFzdF9hcGVyX2VuYWJsZWQpKSB7Ci0JCQlmaXggPSAxOwotCQkJYnJlYWs7CisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOworCisJCQljdGwgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwpOworCQkJYXBlcl9lbmFibGVkID0gY3RsICYgQU1ENjRfR0FSVEVOOworCQkJYXBlcl9vcmRlciA9IChjdGwgPj4gMSkgJiA3OworCQkJYXBlcl9zaXplID0gKDMyICogMTAyNCAqIDEwMjQpIDw8IGFwZXJfb3JkZXI7CisJCQlhcGVyX2Jhc2UgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFKSAmIDB4N2ZmZjsKKwkJCWFwZXJfYmFzZSA8PD0gMjU7CisKKwkJCWlmIChsYXN0X3ZhbGlkKSB7CisJCQkJaWYgKChhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKKwkJCQkgICAgKGFwZXJfYmFzZSAhPSBsYXN0X2FwZXJfYmFzZSkgfHwKKwkJCQkgICAgKGFwZXJfZW5hYmxlZCAhPSBsYXN0X2FwZXJfZW5hYmxlZCkpIHsKKwkJCQkJZml4ID0gMTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCisJCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOworCQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7CisJCQlsYXN0X2FwZXJfZW5hYmxlZCA9IGFwZXJfZW5hYmxlZDsKKwkJCWxhc3RfdmFsaWQgPSAxOwogCQl9Ci0JCWxhc3RfYXBlcl9vcmRlciA9IGFwZXJfb3JkZXI7Ci0JCWxhc3RfYXBlcl9iYXNlID0gYXBlcl9iYXNlOwotCQlsYXN0X2FwZXJfZW5hYmxlZCA9IGFwZXJfZW5hYmxlZDsKIAl9CiAKIAlpZiAoIWZpeCAmJiAhYXBlcl9lbmFibGVkKQpAQCAtMjkwLDMyICszMjYsNDYgQEAKIAlpZiAoZ2FydF9maXhfZTgyMCAmJiAhZml4ICYmIGFwZXJfZW5hYmxlZCkgewogCQlpZiAoZTgyMF9hbnlfbWFwcGVkKGFwZXJfYmFzZSwgYXBlcl9iYXNlICsgYXBlcl9zaXplLAogCQkJCSAgICBFODIwX1JBTSkpIHsKLQkJCS8qIHJlc2VydmVkIGl0LCBzbyB3ZSBjYW4gcmVzdXNlIGl0IGluIHNlY29uZCBrZXJuZWwgKi8KKwkJCS8qIHJlc2VydmUgaXQsIHNvIHdlIGNhbiByZXVzZSBpdCBpbiBzZWNvbmQga2VybmVsICovCiAJCQlwcmludGsoS0VSTl9JTkZPICJ1cGRhdGUgZTgyMCBmb3IgR0FSVFxuIik7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihhcGVyX2Jhc2UsIGFwZXJfc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisJCQllODIwX2FkZF9yZWdpb24oYXBlcl9iYXNlLCBhcGVyX3NpemUsIEU4MjBfUkVTRVJWRUQpOwogCQkJdXBkYXRlX2U4MjAoKTsKIAkJfQotCQlyZXR1cm47CiAJfQogCi0JLyogZGlmZmVyZW50IG5vZGVzIGhhdmUgZGlmZmVyZW50IHNldHRpbmcsIGRpc2FibGUgdGhlbSBhbGwgYXQgZmlyc3QqLwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWlmICghZml4KQorCQlyZXR1cm47CiAKLQkJY3RsID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCk7Ci0JCWN0bCAmPSB+MTsKLQkJd3JpdGVfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4OTAsIGN0bCk7CisJLyogZGlmZmVyZW50IG5vZGVzIGhhdmUgZGlmZmVyZW50IHNldHRpbmcsIGRpc2FibGUgdGhlbSBhbGwgYXQgZmlyc3QqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OworCisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OworCisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOworCisJCQljdGwgPSByZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwpOworCQkJY3RsICY9IH5BTUQ2NF9HQVJURU47CisJCQl3cml0ZV9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBjdGwpOworCQl9CiAJfQogCiB9CiAKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBwcmludGVkX2dhcnRfc2l6ZV9tc2c7CisKIHZvaWQgX19pbml0IGdhcnRfaW9tbXVfaG9sZV9pbml0KHZvaWQpCiB7CisJdTMyIGFncF9hcGVyX2Jhc2UgPSAwLCBhZ3BfYXBlcl9vcmRlciA9IDA7CiAJdTMyIGFwZXJfc2l6ZSwgYXBlcl9hbGxvYyA9IDAsIGFwZXJfb3JkZXIgPSAwLCBsYXN0X2FwZXJfb3JkZXIgPSAwOwogCXU2NCBhcGVyX2Jhc2UsIGxhc3RfYXBlcl9iYXNlID0gMDsKLQlpbnQgZml4LCBudW0sIHZhbGlkX2FncCA9IDA7Ci0JaW50IG5vZGU7CisJaW50IGZpeCwgc2xvdCwgdmFsaWRfYWdwID0gMDsKKwlpbnQgaSwgbm9kZTsKIAogCWlmIChnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkIHx8ICFmaXhfYXBlcnR1cmUgfHwKIAkgICAgIWVhcmx5X3BjaV9hbGxvd2VkKCkpCkBAIC0zMjMsMzggKzM3Myw2NSBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAgIkNoZWNraW5nIGFwZXJ0dXJlLi4uXG4iKTsKIAorCWlmICghZmFsbGJhY2tfYXBlcl9mb3JjZSkKKwkJYWdwX2FwZXJfYmFzZSA9IHNlYXJjaF9hZ3BfYnJpZGdlKCZhZ3BfYXBlcl9vcmRlciwgJnZhbGlkX2FncCk7CisKIAlmaXggPSAwOwogCW5vZGUgPSAwOwotCWZvciAobnVtID0gMjQ7IG51bSA8IDMyOyBudW0rKykgewotCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZygwLCBudW0sIDMsIDB4MDApKSkKLQkJCWNvbnRpbnVlOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJ1c19kZXZfcmFuZ2VzKTsgaSsrKSB7CisJCWludCBidXM7CisJCWludCBkZXZfYmFzZSwgZGV2X2xpbWl0OwogCi0JCWlvbW11X2RldGVjdGVkID0gMTsKLQkJZ2FydF9pb21tdV9hcGVydHVyZSA9IDE7CisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OwogCi0JCWFwZXJfb3JkZXIgPSAocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCkgPj4gMSkgJiA3OwotCQlhcGVyX3NpemUgPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgYXBlcl9vcmRlcjsKLQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5NCkgJiAweDdmZmY7Ci0JCWFwZXJfYmFzZSA8PD0gMjU7CisJCWZvciAoc2xvdCA9IGRldl9iYXNlOyBzbG90IDwgZGV2X2xpbWl0OyBzbG90KyspIHsKKwkJCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgMHgwMCkpKQorCQkJCWNvbnRpbnVlOwogCi0JCXByaW50ayhLRVJOX0lORk8gIk5vZGUgJWQ6IGFwZXJ0dXJlIEAgJUx4IHNpemUgJXUgTUJcbiIsCi0JCQkJbm9kZSwgYXBlcl9iYXNlLCBhcGVyX3NpemUgPj4gMjApOwotCQlub2RlKys7CisJCQlpb21tdV9kZXRlY3RlZCA9IDE7CisJCQlnYXJ0X2lvbW11X2FwZXJ0dXJlID0gMTsKIAotCQlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXJfYmFzZSwgYXBlcl9zaXplKSkgewotCQkJZml4ID0gMTsKLQkJCWJyZWFrOworCQkJYXBlcl9vcmRlciA9IChyZWFkX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwpID4+IDEpICYgNzsKKwkJCWFwZXJfc2l6ZSA9ICgzMiAqIDEwMjQgKiAxMDI0KSA8PCBhcGVyX29yZGVyOworCQkJYXBlcl9iYXNlID0gcmVhZF9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSkgJiAweDdmZmY7CisJCQlhcGVyX2Jhc2UgPDw9IDI1OworCisJCQlwcmludGsoS0VSTl9JTkZPICJOb2RlICVkOiBhcGVydHVyZSBAICVMeCBzaXplICV1IE1CXG4iLAorCQkJCQlub2RlLCBhcGVyX2Jhc2UsIGFwZXJfc2l6ZSA+PiAyMCk7CisJCQlub2RlKys7CisKKwkJCWlmICghYXBlcnR1cmVfdmFsaWQoYXBlcl9iYXNlLCBhcGVyX3NpemUsIDY0PDwyMCkpIHsKKwkJCQlpZiAodmFsaWRfYWdwICYmIGFncF9hcGVyX2Jhc2UgJiYKKwkJCQkgICAgYWdwX2FwZXJfYmFzZSA9PSBhcGVyX2Jhc2UgJiYKKwkJCQkgICAgYWdwX2FwZXJfb3JkZXIgPT0gYXBlcl9vcmRlcikgeworCQkJCQkvKiB0aGUgc2FtZSBiZXR3ZWVuIHR3byBzZXR0aW5nIGZyb20gTkIgYW5kIGFncCAqLworCQkJCQlpZiAoIW5vX2lvbW11ICYmCisJCQkJCSAgICBtYXhfcGZuID4gTUFYX0RNQTMyX1BGTiAmJgorCQkJCQkgICAgIXByaW50ZWRfZ2FydF9zaXplX21zZykgeworCQkJCQkJcHJpbnRrKEtFUk5fRVJSICJ5b3UgYXJlIHVzaW5nIGlvbW11IHdpdGggYWdwLCBidXQgR0FSVCBzaXplIGlzIGxlc3MgdGhhbiA2NE1cbiIpOworCQkJCQkJcHJpbnRrKEtFUk5fRVJSICJwbGVhc2UgaW5jcmVhc2UgR0FSVCBzaXplIGluIHlvdXIgQklPUyBzZXR1cFxuIik7CisJCQkJCQlwcmludGsoS0VSTl9FUlIgImlmIEJJT1MgZG9lc24ndCBoYXZlIHRoYXQgb3B0aW9uLCBjb250YWN0IHlvdXIgSFcgdmVuZG9yIVxuIik7CisJCQkJCQlwcmludGVkX2dhcnRfc2l6ZV9tc2cgPSAxOworCQkJCQl9CisJCQkJfSBlbHNlIHsKKwkJCQkJZml4ID0gMTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCQkJfQorCisJCQlpZiAoKGxhc3RfYXBlcl9vcmRlciAmJiBhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKKwkJCSAgICAobGFzdF9hcGVyX2Jhc2UgJiYgYXBlcl9iYXNlICE9IGxhc3RfYXBlcl9iYXNlKSkgeworCQkJCWZpeCA9IDE7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCQlsYXN0X2FwZXJfb3JkZXIgPSBhcGVyX29yZGVyOworCQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7CiAJCX0KLQotCQlpZiAoKGxhc3RfYXBlcl9vcmRlciAmJiBhcGVyX29yZGVyICE9IGxhc3RfYXBlcl9vcmRlcikgfHwKLQkJICAgIChsYXN0X2FwZXJfYmFzZSAmJiBhcGVyX2Jhc2UgIT0gbGFzdF9hcGVyX2Jhc2UpKSB7Ci0JCQlmaXggPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJbGFzdF9hcGVyX29yZGVyID0gYXBlcl9vcmRlcjsKLQkJbGFzdF9hcGVyX2Jhc2UgPSBhcGVyX2Jhc2U7CiAJfQogCitvdXQ6CiAJaWYgKCFmaXggJiYgIWZhbGxiYWNrX2FwZXJfZm9yY2UpIHsKIAkJaWYgKGxhc3RfYXBlcl9iYXNlKSB7CiAJCQl1bnNpZ25lZCBsb25nIG4gPSAoMzIgKiAxMDI0ICogMTAyNCkgPDwgbGFzdF9hcGVyX29yZGVyOwpAQCAtMzY0LDE0ICs0NDEsMTYgQEAKIAkJcmV0dXJuOwogCX0KIAotCWlmICghZmFsbGJhY2tfYXBlcl9mb3JjZSkKLQkJYXBlcl9hbGxvYyA9IHNlYXJjaF9hZ3BfYnJpZGdlKCZhcGVyX29yZGVyLCAmdmFsaWRfYWdwKTsKKwlpZiAoIWZhbGxiYWNrX2FwZXJfZm9yY2UpIHsKKwkJYXBlcl9hbGxvYyA9IGFncF9hcGVyX2Jhc2U7CisJCWFwZXJfb3JkZXIgPSBhZ3BfYXBlcl9vcmRlcjsKKwl9CiAKIAlpZiAoYXBlcl9hbGxvYykgewogCQkvKiBHb3QgdGhlIGFwZXJ0dXJlIGZyb20gdGhlIEFHUCBicmlkZ2UgKi8KIAl9IGVsc2UgaWYgKHN3aW90bGIgJiYgIXZhbGlkX2FncCkgewogCQkvKiBEbyBub3RoaW5nICovCi0JfSBlbHNlIGlmICgoIW5vX2lvbW11ICYmIGVuZF9wZm4gPiBNQVhfRE1BMzJfUEZOKSB8fAorCX0gZWxzZSBpZiAoKCFub19pb21tdSAmJiBtYXhfcGZuID4gTUFYX0RNQTMyX1BGTikgfHwKIAkJICAgZm9yY2VfaW9tbXUgfHwKIAkJICAgdmFsaWRfYWdwIHx8CiAJCSAgIGZhbGxiYWNrX2FwZXJfZm9yY2UpIHsKQEAgLTQwMSwxNiArNDgwLDI0IEBACiAJfQogCiAJLyogRml4IHVwIHRoZSBub3J0aCBicmlkZ2VzICovCi0JZm9yIChudW0gPSAyNDsgbnVtIDwgMzI7IG51bSsrKSB7Ci0JCWlmICghZWFybHlfaXNfazhfbmIocmVhZF9wY2lfY29uZmlnKDAsIG51bSwgMywgMHgwMCkpKQotCQkJY29udGludWU7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYnVzX2Rldl9yYW5nZXMpOyBpKyspIHsKKwkJaW50IGJ1czsKKwkJaW50IGRldl9iYXNlLCBkZXZfbGltaXQ7CiAKLQkJLyoKLQkJICogRG9uJ3QgZW5hYmxlIHRyYW5zbGF0aW9uIHlldC4gVGhhdCBpcyBkb25lIGxhdGVyLgotCQkgKiBBc3N1bWUgdGhpcyBCSU9TIGRpZG4ndCBpbml0aWFsaXNlIHRoZSBHQVJUIHNvCi0JCSAqIGp1c3Qgb3ZlcndyaXRlIGFsbCBwcmV2aW91cyBiaXRzCi0JCSAqLwotCQl3cml0ZV9wY2lfY29uZmlnKDAsIG51bSwgMywgMHg5MCwgYXBlcl9vcmRlcjw8MSk7Ci0JCXdyaXRlX3BjaV9jb25maWcoMCwgbnVtLCAzLCAweDk0LCBhcGVyX2FsbG9jPj4yNSk7CisJCWJ1cyA9IGJ1c19kZXZfcmFuZ2VzW2ldLmJ1czsKKwkJZGV2X2Jhc2UgPSBidXNfZGV2X3Jhbmdlc1tpXS5kZXZfYmFzZTsKKwkJZGV2X2xpbWl0ID0gYnVzX2Rldl9yYW5nZXNbaV0uZGV2X2xpbWl0OworCQlmb3IgKHNsb3QgPSBkZXZfYmFzZTsgc2xvdCA8IGRldl9saW1pdDsgc2xvdCsrKSB7CisJCQlpZiAoIWVhcmx5X2lzX2s4X25iKHJlYWRfcGNpX2NvbmZpZyhidXMsIHNsb3QsIDMsIDB4MDApKSkKKwkJCQljb250aW51ZTsKKworCQkJLyogRG9uJ3QgZW5hYmxlIHRyYW5zbGF0aW9uIHlldC4gVGhhdCBpcyBkb25lIGxhdGVyLgorCQkJICAgQXNzdW1lIHRoaXMgQklPUyBkaWRuJ3QgaW5pdGlhbGlzZSB0aGUgR0FSVCBzbworCQkJICAganVzdCBvdmVyd3JpdGUgYWxsIHByZXZpb3VzIGJpdHMgKi8KKwkJCXdyaXRlX3BjaV9jb25maWcoYnVzLCBzbG90LCAzLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIGFwZXJfb3JkZXIgPDwgMSk7CisJCQl3cml0ZV9wY2lfY29uZmlnKGJ1cywgc2xvdCwgMywgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgYXBlcl9hbGxvYyA+PiAyNSk7CisJCX0KIAl9CisKKwlzZXRfdXBfZ2FydF9yZXN1bWUoYXBlcl9vcmRlciwgYXBlcl9hbGxvYyk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jIGIvYXJjaC94ODYva2VybmVsL2FwaWNfMzIuYwppbmRleCA0Yjk5YjFiLi5hNDM3ZDAyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBpY18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcGljXzMyLmMKQEAgLTUyLDMwICs1Miw0MSBAQAogCiB1bnNpZ25lZCBsb25nIG1wX2xhcGljX2FkZHI7CiAKLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2Jpb3NfY3B1X2FwaWNpZCkgPSBCQURfQVBJQ0lEOwotRVhQT1JUX1BFUl9DUFVfU1lNQk9MKHg4Nl9iaW9zX2NwdV9hcGljaWQpOwotCiAvKgogICogS25vYiB0byBjb250cm9sIG91ciB3aWxsaW5nbmVzcyB0byBlbmFibGUgdGhlIGxvY2FsIEFQSUMuCiAgKgotICogLTE9Zm9yY2UtZGlzYWJsZSwgKzE9Zm9yY2UtZW5hYmxlCisgKiArMT1mb3JjZS1lbmFibGUKICAqLwotc3RhdGljIGludCBlbmFibGVfbG9jYWxfYXBpYyBfX2luaXRkYXRhOworc3RhdGljIGludCBmb3JjZV9lbmFibGVfbG9jYWxfYXBpYzsKK2ludCBkaXNhYmxlX2FwaWM7CiAKIC8qIExvY2FsIEFQSUMgdGltZXIgdmVyaWZpY2F0aW9uIG9rICovCiBzdGF0aWMgaW50IGxvY2FsX2FwaWNfdGltZXJfdmVyaWZ5X29rOwotLyogRGlzYWJsZSBsb2NhbCBBUElDIHRpbWVyIGZyb20gdGhlIGtlcm5lbCBjb21tYW5kbGluZSBvciB2aWEgZG1pIHF1aXJrCi0gICBvciB1c2luZyBDUFUgTVNSIGNoZWNrICovCi1pbnQgbG9jYWxfYXBpY190aW1lcl9kaXNhYmxlZDsKKy8qIERpc2FibGUgbG9jYWwgQVBJQyB0aW1lciBmcm9tIHRoZSBrZXJuZWwgY29tbWFuZGxpbmUgb3IgdmlhIGRtaSBxdWlyayAqLworc3RhdGljIGludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOwogLyogTG9jYWwgQVBJQyB0aW1lciB3b3JrcyBpbiBDMiAqLwogaW50IGxvY2FsX2FwaWNfdGltZXJfYzJfb2s7CiBFWFBPUlRfU1lNQk9MX0dQTChsb2NhbF9hcGljX3RpbWVyX2MyX29rKTsKIAoraW50IGZpcnN0X3N5c3RlbV92ZWN0b3IgPSAweGZlOworCitjaGFyIHN5c3RlbV92ZWN0b3JzW05SX1ZFQ1RPUlNdID0geyBbMCAuLi4gTlJfVkVDVE9SUy0xXSA9IFNZU19WRUNUT1JfRlJFRX07CisKIC8qCiAgKiBEZWJ1ZyBsZXZlbCwgZXhwb3J0ZWQgZm9yIGlvX2FwaWMuYwogICovCiBpbnQgYXBpY192ZXJib3NpdHk7CiAKK2ludCBwaWNfbW9kZTsKKworLyogSGF2ZSB3ZSBmb3VuZCBhbiBNUCB0YWJsZSAqLworaW50IHNtcF9mb3VuZF9jb25maWc7CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgbGFwaWNfcmVzb3VyY2UgPSB7CisJLm5hbWUgPSAiTG9jYWwgQVBJQyIsCisJLmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1ksCit9OworCiBzdGF0aWMgdW5zaWduZWQgaW50IGNhbGlicmF0aW9uX3Jlc3VsdDsKIAogc3RhdGljIGludCBsYXBpY19uZXh0X2V2ZW50KHVuc2lnbmVkIGxvbmcgZGVsdGEsCkBAIC01NDUsNyArNTU2LDcgQEAKIAkJCWxhcGljX2Nsb2NrZXZlbnQuZmVhdHVyZXMgJj0gfkNMT0NLX0VWVF9GRUFUX0RVTU1ZOwogCQllbHNlCiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJBUElDIHRpbWVyIHJlZ2lzdGVyZWQgYXMgZHVtbXksIgotCQkJICAgICAgICIgZHVlIHRvIG5taV93YXRjaGRvZz0xIVxuIik7CisJCQkJIiBkdWUgdG8gbm1pX3dhdGNoZG9nPSVkIVxuIiwgbm1pX3dhdGNoZG9nKTsKIAl9CiAKIAkvKiBTZXR1cCB0aGUgbGFwaWMgb3IgcmVxdWVzdCB0aGUgYnJvYWRjYXN0ICovCkBAIC05NjMsNyArOTc0LDcgQEAKIAkgKiBEb3VibGUtY2hlY2sgd2hldGhlciB0aGlzIEFQSUMgaXMgcmVhbGx5IHJlZ2lzdGVyZWQuCiAJICovCiAJaWYgKCFhcGljX2lkX3JlZ2lzdGVyZWQoKSkKLQkJQlVHKCk7CisJCVdBUk5fT05fT05DRSgxKTsKIAogCS8qCiAJICogSW50ZWwgcmVjb21tZW5kcyB0byBzZXQgREZSLCBMRFIgYW5kIFRQUiBiZWZvcmUgZW5hYmxpbmcKQEAgLTEwOTQsNyArMTEwNSw3IEBACiAJdTMyIGgsIGwsIGZlYXR1cmVzOwogCiAJLyogRGlzYWJsZWQgYnkga2VybmVsIG9wdGlvbj8gKi8KLQlpZiAoZW5hYmxlX2xvY2FsX2FwaWMgPCAwKQorCWlmIChkaXNhYmxlX2FwaWMpCiAJCXJldHVybiAtMTsKIAogCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yKSB7CkBAIC0xMTE3LDcgKzExMjgsNyBAQAogCQkgKiBPdmVyLXJpZGUgQklPUyBhbmQgdHJ5IHRvIGVuYWJsZSB0aGUgbG9jYWwgQVBJQyBvbmx5IGlmCiAJCSAqICJsYXBpYyIgc3BlY2lmaWVkLgogCQkgKi8KLQkJaWYgKGVuYWJsZV9sb2NhbF9hcGljIDw9IDApIHsKKwkJaWYgKCFmb3JjZV9lbmFibGVfbG9jYWxfYXBpYykgewogCQkJcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBkaXNhYmxlZCBieSBCSU9TIC0tICIKIAkJCSAgICAgICAieW91IGNhbiBlbmFibGUgaXQgd2l0aCBcImxhcGljXCJcbiIpOwogCQkJcmV0dXJuIC0xOwpAQCAtMTE1NCw5ICsxMTY1LDYgQEAKIAlpZiAobCAmIE1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRSkKIAkJbXBfbGFwaWNfYWRkciA9IGwgJiBNU1JfSUEzMl9BUElDQkFTRV9CQVNFOwogCi0JaWYgKG5taV93YXRjaGRvZyAhPSBOTUlfTk9ORSAmJiBubWlfd2F0Y2hkb2cgIT0gTk1JX0RJU0FCTEVEKQotCQlubWlfd2F0Y2hkb2cgPSBOTUlfTE9DQUxfQVBJQzsKLQogCXByaW50ayhLRVJOX0lORk8gIkZvdW5kIGFuZCBlbmFibGVkIGxvY2FsIEFQSUMhXG4iKTsKIAogCWFwaWNfcG1fYWN0aXZhdGUoKTsKQEAgLTExOTUsMzYgKzEyMDMsNiBAQAogCWlmIChib290X2NwdV9waHlzaWNhbF9hcGljaWQgPT0gLTFVKQogCQlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSk7CiAKLSNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKLQl7Ci0JCXVuc2lnbmVkIGxvbmcgaW9hcGljX3BoeXMsIGlkeCA9IEZJWF9JT19BUElDX0JBU0VfMDsKLQkJaW50IGk7Ci0KLQkJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgewotCQkJaWYgKHNtcF9mb3VuZF9jb25maWcpIHsKLQkJCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNhZGRyOwotCQkJCWlmICghaW9hcGljX3BoeXMpIHsKLQkJCQkJcHJpbnRrKEtFUk5fRVJSCi0JCQkJCSAgICAgICAiV0FSTklORzogYm9ndXMgemVybyBJTy1BUElDICIKLQkJCQkJICAgICAgICJhZGRyZXNzIGZvdW5kIGluIE1QVEFCTEUsICIKLQkJCQkJICAgICAgICJkaXNhYmxpbmcgSU8vQVBJQyBzdXBwb3J0IVxuIik7Ci0JCQkJCXNtcF9mb3VuZF9jb25maWcgPSAwOwotCQkJCQlza2lwX2lvYXBpY19zZXR1cCA9IDE7Ci0JCQkJCWdvdG8gZmFrZV9pb2FwaWNfcGFnZTsKLQkJCQl9Ci0JCQl9IGVsc2UgewotZmFrZV9pb2FwaWNfcGFnZToKLQkJCQlpb2FwaWNfcGh5cyA9ICh1bnNpZ25lZCBsb25nKQotCQkJCQkgICAgICBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7Ci0JCQkJaW9hcGljX3BoeXMgPSBfX3BhKGlvYXBpY19waHlzKTsKLQkJCX0KLQkJCXNldF9maXhtYXBfbm9jYWNoZShpZHgsIGlvYXBpY19waHlzKTsKLQkJCXByaW50ayhLRVJOX0RFQlVHICJtYXBwZWQgSU9BUElDIHRvICUwOGx4ICglMDhseClcbiIsCi0JCQkgICAgICAgX19maXhfdG9fdmlydChpZHgpLCBpb2FwaWNfcGh5cyk7Ci0JCQlpZHgrKzsKLQkJfQotCX0KLSNlbmRpZgogfQogCiAvKgpAQCAtMTIzNiw3ICsxMjE0LDcgQEAKIAogaW50IF9faW5pdCBBUElDX2luaXRfdW5pcHJvY2Vzc29yKHZvaWQpCiB7Ci0JaWYgKGVuYWJsZV9sb2NhbF9hcGljIDwgMCkKKwlpZiAoZGlzYWJsZV9hcGljKQogCQljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAogCWlmICghc21wX2ZvdW5kX2NvbmZpZyAmJiAhY3B1X2hhc19hcGljKQpAQCAtMTI2NSwxMCArMTI0MywxNCBAQAogI2lmZGVmIENPTkZJR19DUkFTSF9EVU1QCiAJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gR0VUX0FQSUNfSUQocmVhZF9hcGljX2lkKCkpOwogI2VuZGlmCi0JcGh5c19jcHVfcHJlc2VudF9tYXAgPSBwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwlwaHlzaWRfc2V0X21hc2tfb2ZfcGh5c2lkKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCwgJnBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKIAogCXNldHVwX2xvY2FsX0FQSUMoKTsKIAorI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCWlmICghc21wX2ZvdW5kX2NvbmZpZyB8fCBza2lwX2lvYXBpY19zZXR1cCB8fCAhbnJfaW9hcGljcykKKyNlbmRpZgorCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKIAllbmRfbG9jYWxfQVBJQ19zZXR1cCgpOwogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCWlmIChzbXBfZm91bmRfY29uZmlnKQpAQCAtMTM1MSwxMyArMTMzMywxNyBAQAogCSAqIFRoZSByZXNjaGVkdWxlIGludGVycnVwdCBpcyBhIENQVS10by1DUFUgcmVzY2hlZHVsZS1oZWxwZXIKIAkgKiBJUEksIGRyaXZlbiBieSB3YWtldXAuCiAJICovCi0Jc2V0X2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOwogCiAJLyogSVBJIGZvciBpbnZhbGlkYXRpb24gKi8KLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1IsIGludmFsaWRhdGVfaW50ZXJydXB0KTsKIAogCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCi0Jc2V0X2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShDQUxMX0ZVTkNUSU9OX1ZFQ1RPUiwgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpOworCisJLyogSVBJIGZvciBzaW5nbGUgY2FsbCBmdW5jdGlvbiAqLworCXNldF9pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SLAorCQkJCWNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCk7CiB9CiAjZW5kaWYKIApAQCAtMTM3MCwxNSArMTM1NiwxNSBAQAogCXNtcF9pbnRyX2luaXQoKTsKICNlbmRpZgogCS8qIHNlbGYgZ2VuZXJhdGVkIElQSSBmb3IgbG9jYWwgQVBJQyB0aW1lciAqLwotCXNldF9pbnRyX2dhdGUoTE9DQUxfVElNRVJfVkVDVE9SLCBhcGljX3RpbWVyX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKExPQ0FMX1RJTUVSX1ZFQ1RPUiwgYXBpY190aW1lcl9pbnRlcnJ1cHQpOwogCiAJLyogSVBJIHZlY3RvcnMgZm9yIEFQSUMgc3B1cmlvdXMgYW5kIGVycm9yIGludGVycnVwdHMgKi8KLQlzZXRfaW50cl9nYXRlKFNQVVJJT1VTX0FQSUNfVkVDVE9SLCBzcHVyaW91c19pbnRlcnJ1cHQpOwotCXNldF9pbnRyX2dhdGUoRVJST1JfQVBJQ19WRUNUT1IsIGVycm9yX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKFNQVVJJT1VTX0FQSUNfVkVDVE9SLCBzcHVyaW91c19pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShFUlJPUl9BUElDX1ZFQ1RPUiwgZXJyb3JfaW50ZXJydXB0KTsKIAogCS8qIHRoZXJtYWwgbW9uaXRvciBMVlQgaW50ZXJydXB0ICovCiAjaWZkZWYgQ09ORklHX1g4Nl9NQ0VfUDRUSEVSTUFMCi0Jc2V0X2ludHJfZ2F0ZShUSEVSTUFMX0FQSUNfVkVDVE9SLCB0aGVybWFsX2ludGVycnVwdCk7CisJYWxsb2NfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKICNlbmRpZgogfQogCkBAIC0xNTEzLDYgKzE0OTksOSBAQAogCQkgKi8KIAkJY3B1ID0gMDsKIAorCWlmIChhcGljaWQgPiBtYXhfcGh5c2ljYWxfYXBpY2lkKQorCQltYXhfcGh5c2ljYWxfYXBpY2lkID0gYXBpY2lkOworCiAJLyoKIAkgKiBXb3VsZCBiZSBwcmVmZXJhYmxlIHRvIHN3aXRjaCB0byBiaWdzbXAgd2hlbiBDT05GSUdfSE9UUExVR19DUFU9eQogCSAqIGJ1dCB3ZSBuZWVkIHRvIHdvcmsgb3RoZXIgZGVwZW5kZW5jaWVzIGxpa2UgU01QX1NVU1BFTkQgZXRjCkBAIC0xNTIwLDcgKzE1MDksNyBAQAogCSAqIGlmIChDUFVfSE9UUExVR19FTkFCTEVEIHx8IG51bV9wcm9jZXNzb3JzID4gOCkKIAkgKiAgICAgICAtIEFzaG9rIFJhaiA8YXNob2sucmFqQGludGVsLmNvbT4KIAkgKi8KLQlpZiAobnVtX3Byb2Nlc3NvcnMgPiA4KSB7CisJaWYgKG1heF9waHlzaWNhbF9hcGljaWQgPj0gOCkgewogCQlzd2l0Y2ggKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvcikgewogCQljYXNlIFg4Nl9WRU5ET1JfSU5URUw6CiAJCQlpZiAoIUFQSUNfWEFQSUModmVyc2lvbikpIHsKQEAgLTE1MzQsOSArMTUyMyw5IEBACiAJfQogI2lmZGVmIENPTkZJR19TTVAKIAkvKiBhcmUgd2UgYmVpbmcgY2FsbGVkIGVhcmx5IGluIGtlcm5lbCBzdGFydHVwPyAqLwotCWlmICh4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHIpIHsKLQkJdTE2ICpjcHVfdG9fYXBpY2lkID0geDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyOwotCQl1MTYgKmJpb3NfY3B1X2FwaWNpZCA9IHg4Nl9iaW9zX2NwdV9hcGljaWRfZWFybHlfcHRyOworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX2FwaWNpZCkpIHsKKwkJdTE2ICpjcHVfdG9fYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpOworCQl1MTYgKmJpb3NfY3B1X2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9iaW9zX2NwdV9hcGljaWQpOwogCiAJCWNwdV90b19hcGljaWRbY3B1XSA9IGFwaWNpZDsKIAkJYmlvc19jcHVfYXBpY2lkW2NwdV0gPSBhcGljaWQ7CkBAIC0xNzAzLDE0ICsxNjkyLDE0IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2xhcGljKGNoYXIgKmFyZykKIHsKLQllbmFibGVfbG9jYWxfYXBpYyA9IDE7CisJZm9yY2VfZW5hYmxlX2xvY2FsX2FwaWMgPSAxOwogCXJldHVybiAwOwogfQogZWFybHlfcGFyYW0oImxhcGljIiwgcGFyc2VfbGFwaWMpOwogCiBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9ub2xhcGljKGNoYXIgKmFyZykKIHsKLQllbmFibGVfbG9jYWxfYXBpYyA9IC0xOworCWRpc2FibGVfYXBpYyA9IDE7CiAJY2xlYXJfY3B1X2NhcCgmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQVBJQyk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xNzQwLDMgKzE3MjksMjEgQEAKIH0KIF9fc2V0dXAoImFwaWM9IiwgYXBpY19zZXRfdmVyYm9zaXR5KTsKIAorc3RhdGljIGludCBfX2luaXQgbGFwaWNfaW5zZXJ0X3Jlc291cmNlKHZvaWQpCit7CisJaWYgKCFhcGljX3BoeXMpCisJCXJldHVybiAtMTsKKworCS8qIFB1dCBsb2NhbCBBUElDIGludG8gdGhlIHJlc291cmNlIG1hcC4gKi8KKwlsYXBpY19yZXNvdXJjZS5zdGFydCA9IGFwaWNfcGh5czsKKwlsYXBpY19yZXNvdXJjZS5lbmQgPSBsYXBpY19yZXNvdXJjZS5zdGFydCArIFBBR0VfU0laRSAtIDE7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmxhcGljX3Jlc291cmNlKTsKKworCXJldHVybiAwOworfQorCisvKgorICogbmVlZCBjYWxsIGluc2VydCBhZnRlciBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKCkKKyAqIHRoYXQgaXMgdXNpbmcgcmVxdWVzdF9yZXNvdXJjZQorICovCitsYXRlX2luaXRjYWxsKGxhcGljX2luc2VydF9yZXNvdXJjZSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXBpY182NC5jIGIvYXJjaC94ODYva2VybmVsL2FwaWNfNjQuYwppbmRleCAwNjMzY2ZkLi4xZTNkMzJlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBpY182NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcGljXzY0LmMKQEAgLTQzLDcgKzQzLDcgQEAKICNpbmNsdWRlIDxtYWNoX2lwaS5oPgogI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgogCi1pbnQgZGlzYWJsZV9hcGljX3RpbWVyIF9fY3B1aW5pdGRhdGE7CitzdGF0aWMgaW50IGRpc2FibGVfYXBpY190aW1lciBfX2NwdWluaXRkYXRhOwogc3RhdGljIGludCBhcGljX2NhbGlicmF0ZV9wbXRtciBfX2luaXRkYXRhOwogaW50IGRpc2FibGVfYXBpYzsKIApAQCAtNTYsNiArNTYsOSBAQAogICovCiBpbnQgYXBpY192ZXJib3NpdHk7CiAKKy8qIEhhdmUgd2UgZm91bmQgYW4gTVAgdGFibGUgKi8KK2ludCBzbXBfZm91bmRfY29uZmlnOworCiBzdGF0aWMgc3RydWN0IHJlc291cmNlIGxhcGljX3Jlc291cmNlID0gewogCS5uYW1lID0gIkxvY2FsIEFQSUMiLAogCS5mbGFncyA9IElPUkVTT1VSQ0VfTUVNIHwgSU9SRVNPVVJDRV9CVVNZLApAQCAtODcsOSArOTAsNiBAQAogCiB1bnNpZ25lZCBsb25nIG1wX2xhcGljX2FkZHI7CiAKLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2Jpb3NfY3B1X2FwaWNpZCkgPSBCQURfQVBJQ0lEOwotRVhQT1JUX1BFUl9DUFVfU1lNQk9MKHg4Nl9iaW9zX2NwdV9hcGljaWQpOwotCiB1bnNpZ25lZCBpbnQgX19jcHVpbml0ZGF0YSBtYXhjcHVzID0gTlJfQ1BVUzsKIC8qCiAgKiBHZXQgdGhlIExBUElDIHZlcnNpb24KQEAgLTQxNywzNyArNDE3LDEzIEBACiAJCWxhcGljX2Nsb2NrZXZlbnQuZmVhdHVyZXMgJj0gfkNMT0NLX0VWVF9GRUFUX0RVTU1ZOwogCWVsc2UKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiQVBJQyB0aW1lciByZWdpc3RlcmVkIGFzIGR1bW15LCIKLQkJICAgICAgICIgZHVlIHRvIG5taV93YXRjaGRvZz0xIVxuIik7CisJCQkiIGR1ZSB0byBubWlfd2F0Y2hkb2c9JWQhXG4iLCBubWlfd2F0Y2hkb2cpOwogCiAJc2V0dXBfQVBJQ190aW1lcigpOwogfQogCi0vKgotICogQU1EIEMxRSBlbmFibGVkIENQVXMgaGF2ZSBhIHJlYWwgbmFzdHkgcHJvYmxlbTogU29tZSBCSU9TZXMgc2V0IHRoZQotICogQzFFIGZsYWcgb25seSBpbiB0aGUgc2Vjb25kYXJ5IENQVSwgc28gd2hlbiB3ZSBkZXRlY3QgdGhlIHdyZWNrYWdlCi0gKiB3ZSBhbHJlYWR5IGhhdmUgZW5hYmxlZCB0aGUgYm9vdCBDUFUgbG9jYWwgYXBpYyB0aW1lci4gQ2hlY2ssIGlmCi0gKiBkaXNhYmxlX2FwaWNfdGltZXIgaXMgc2V0IGFuZCB0aGUgRFVNTVkgZmxhZyBpcyBjbGVhcmVkLiBJZiB5ZXMsCi0gKiBzZXQgdGhlIERVTU1ZIGZsYWcgYWdhaW4gYW5kIGZvcmNlIHRoZSBicm9hZGNhc3QgbW9kZSBpbiB0aGUKLSAqIGNsb2NrZXZlbnRzIGxheWVyLgotICovCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgY2hlY2tfYm9vdF9hcGljX3RpbWVyX2Jyb2FkY2FzdCh2b2lkKQotewotCWlmICghZGlzYWJsZV9hcGljX3RpbWVyIHx8Ci0JICAgIChsYXBpY19jbG9ja2V2ZW50LmZlYXR1cmVzICYgQ0xPQ0tfRVZUX0ZFQVRfRFVNTVkpKQotCQlyZXR1cm47Ci0KLQlwcmludGsoS0VSTl9JTkZPICJBTUQgQzFFIGRldGVjdGVkIGxhdGUuIEZvcmNlIHRpbWVyIGJyb2FkY2FzdC5cbiIpOwotCWxhcGljX2Nsb2NrZXZlbnQuZmVhdHVyZXMgfD0gQ0xPQ0tfRVZUX0ZFQVRfRFVNTVk7Ci0KLQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JY2xvY2tldmVudHNfbm90aWZ5KENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0ZPUkNFLAotCQkJICAgJmJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7Ci0JbG9jYWxfaXJxX2Rpc2FibGUoKTsKLX0KLQogdm9pZCBfX2NwdWluaXQgc2V0dXBfc2Vjb25kYXJ5X0FQSUNfY2xvY2sodm9pZCkKIHsKLQljaGVja19ib290X2FwaWNfdGltZXJfYnJvYWRjYXN0KCk7CiAJc2V0dXBfQVBJQ190aW1lcigpOwogfQogCkBAIC04NTAsNyArODI2LDYgQEAKIHZvaWQgX19jcHVpbml0IGVuZF9sb2NhbF9BUElDX3NldHVwKHZvaWQpCiB7CiAJbGFwaWNfc2V0dXBfZXNyKCk7Ci0Jbm1pX3dhdGNoZG9nX2RlZmF1bHQoKTsKIAlzZXR1cF9hcGljX25taV93YXRjaGRvZyhOVUxMKTsKIAlhcGljX3BtX2FjdGl2YXRlKCk7CiB9CkBAIC04NzUsNyArODUwLDcgQEAKIAogdm9pZCBfX2luaXQgZWFybHlfaW5pdF9sYXBpY19tYXBwaW5nKHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBhcGljX3BoeXM7CisJdW5zaWduZWQgbG9uZyBwaHlzX2FkZHI7CiAKIAkvKgogCSAqIElmIG5vIGxvY2FsIEFQSUMgY2FuIGJlIGZvdW5kIHRoZW4gZ28gb3V0CkBAIC04ODQsMTEgKzg1OSwxMSBAQAogCWlmICghc21wX2ZvdW5kX2NvbmZpZykKIAkJcmV0dXJuOwogCi0JYXBpY19waHlzID0gbXBfbGFwaWNfYWRkcjsKKwlwaHlzX2FkZHIgPSBtcF9sYXBpY19hZGRyOwogCi0Jc2V0X2ZpeG1hcF9ub2NhY2hlKEZJWF9BUElDX0JBU0UsIGFwaWNfcGh5cyk7CisJc2V0X2ZpeG1hcF9ub2NhY2hlKEZJWF9BUElDX0JBU0UsIHBoeXNfYWRkcik7CiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAibWFwcGVkIEFQSUMgdG8gJTE2bHggKCUxNmx4KVxuIiwKLQkJCQkgQVBJQ19CQVNFLCBhcGljX3BoeXMpOworCQkgICAgQVBJQ19CQVNFLCBwaHlzX2FkZHIpOwogCiAJLyoKIAkgKiBGZXRjaCB0aGUgQVBJQyBJRCBvZiB0aGUgQlNQIGluIGNhc2Ugd2UgaGF2ZSBhCkBAIC05NDIsNyArOTE3LDkgQEAKIAogCXZlcmlmeV9sb2NhbF9BUElDKCk7CiAKLQlwaHlzX2NwdV9wcmVzZW50X21hcCA9IHBoeXNpZF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQpOworCWNvbm5lY3RfYnNwX0FQSUMoKTsKKworCXBoeXNpZF9zZXRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCWFwaWNfd3JpdGUoQVBJQ19JRCwgU0VUX0FQSUNfSUQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKSk7CiAKIAlzZXR1cF9sb2NhbF9BUElDKCk7CkBAIC05NTQsNiArOTMxLDggQEAKIAlpZiAoIXNraXBfaW9hcGljX3NldHVwICYmIG5yX2lvYXBpY3MpCiAJCWVuYWJsZV9JT19BUElDKCk7CiAKKwlpZiAoIXNtcF9mb3VuZF9jb25maWcgfHwgc2tpcF9pb2FwaWNfc2V0dXAgfHwgIW5yX2lvYXBpY3MpCisJCWxvY2FsaXNlX25taV93YXRjaGRvZygpOwogCWVuZF9sb2NhbF9BUElDX3NldHVwKCk7CiAKIAlpZiAoc21wX2ZvdW5kX2NvbmZpZyAmJiAhc2tpcF9pb2FwaWNfc2V0dXAgJiYgbnJfaW9hcGljcykKQEAgLTEwMjEsNiArMTAwMCwxNCBAQAogCWlycV9leGl0KCk7CiB9CiAKKy8qKgorICogICogY29ubmVjdF9ic3BfQVBJQyAtIGF0dGFjaCB0aGUgQVBJQyB0byB0aGUgaW50ZXJydXB0IHN5c3RlbQorICogICAqLwordm9pZCBfX2luaXQgY29ubmVjdF9ic3BfQVBJQyh2b2lkKQoreworCWVuYWJsZV9hcGljX21vZGUoKTsKK30KKwogdm9pZCBkaXNjb25uZWN0X2JzcF9BUElDKGludCB2aXJ0X3dpcmVfc2V0dXApCiB7CiAJLyogR28gYmFjayB0byBWaXJ0dWFsIFdpcmUgY29tcGF0aWJpbGl0eSBtb2RlICovCkBAIC0xMDkwLDEwICsxMDc3LDEzIEBACiAJCSAqLwogCQljcHUgPSAwOwogCX0KKwlpZiAoYXBpY2lkID4gbWF4X3BoeXNpY2FsX2FwaWNpZCkKKwkJbWF4X3BoeXNpY2FsX2FwaWNpZCA9IGFwaWNpZDsKKwogCS8qIGFyZSB3ZSBiZWluZyBjYWxsZWQgZWFybHkgaW4ga2VybmVsIHN0YXJ0dXA/ICovCi0JaWYgKHg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0cikgewotCQl1MTYgKmNwdV90b19hcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9lYXJseV9wdHI7Ci0JCXUxNiAqYmlvc19jcHVfYXBpY2lkID0geDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHI7CisJaWYgKGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKSkgeworCQl1MTYgKmNwdV90b19hcGljaWQgPSBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX2FwaWNpZCk7CisJCXUxNiAqYmlvc19jcHVfYXBpY2lkID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CiAKIAkJY3B1X3RvX2FwaWNpZFtjcHVdID0gYXBpY2lkOwogCQliaW9zX2NwdV9hcGljaWRbY3B1XSA9IGFwaWNpZDsKQEAgLTEyNjksNyArMTI1OSw3IEBACiAJaWYgKChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQpICYmICFpc192c21wX2JveCgpKQogCQlyZXR1cm4gMDsKIAotCWJpb3NfY3B1X2FwaWNpZCA9IHg4Nl9iaW9zX2NwdV9hcGljaWRfZWFybHlfcHRyOworCWJpb3NfY3B1X2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9iaW9zX2NwdV9hcGljaWQpOwogCWJpdG1hcF96ZXJvKGNsdXN0ZXJtYXAsIE5VTV9BUElDX0NMVVNURVJTKTsKIAogCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hcG1fMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9hcG1fMzIuYwppbmRleCBiZjkyOTBlLi43NWNiNWRhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvYXBtXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FwbV8zMi5jCkBAIC0yMDQsNiArMjA0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KQEAgLTIyOCw2ICsyMjksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTExNDksNyArMTE1MSw3IEBACiAJCQkJYXMtPmV2ZW50X3RhaWwgPSAwOwogCQl9CiAJCWFzLT5ldmVudHNbYXMtPmV2ZW50X2hlYWRdID0gZXZlbnQ7Ci0JCWlmICgoIWFzLT5zdXNlcikgfHwgKCFhcy0+d3JpdGVyKSkKKwkJaWYgKCFhcy0+c3VzZXIgfHwgIWFzLT53cml0ZXIpCiAJCQljb250aW51ZTsKIAkJc3dpdGNoIChldmVudCkgewogCQljYXNlIEFQTV9TWVNfU1VTUEVORDoKQEAgLTEzOTYsNyArMTM5OCw3IEBACiAKIHN0YXRpYyBpbnQgY2hlY2tfYXBtX3VzZXIoc3RydWN0IGFwbV91c2VyICphcywgY29uc3QgY2hhciAqZnVuYykKIHsKLQlpZiAoKGFzID09IE5VTEwpIHx8IChhcy0+bWFnaWMgIT0gQVBNX0JJT1NfTUFHSUMpKSB7CisJaWYgKGFzID09IE5VTEwgfHwgYXMtPm1hZ2ljICE9IEFQTV9CSU9TX01BR0lDKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiYXBtOiAlcyBwYXNzZWQgYmFkIGZpbHBcbiIsIGZ1bmMpOwogCQlyZXR1cm4gMTsKIAl9CkBAIC0xNDU5LDE4ICsxNDYxLDE5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZG9faW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHAsCi0JCSAgICB1X2ludCBjbWQsIHVfbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBkb19pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdV9pbnQgY21kLCB1X2xvbmcgYXJnKQogewogCXN0cnVjdCBhcG1fdXNlciAqYXM7CisJaW50IHJldDsKIAogCWFzID0gZmlscC0+cHJpdmF0ZV9kYXRhOwogCWlmIChjaGVja19hcG1fdXNlcihhcywgImlvY3RsIikpCiAJCXJldHVybiAtRUlPOwotCWlmICgoIWFzLT5zdXNlcikgfHwgKCFhcy0+d3JpdGVyKSkKKwlpZiAoIWFzLT5zdXNlciB8fCAhYXMtPndyaXRlcikKIAkJcmV0dXJuIC1FUEVSTTsKIAlzd2l0Y2ggKGNtZCkgewogCWNhc2UgQVBNX0lPQ19TVEFOREJZOgorCQlsb2NrX2tlcm5lbCgpOwogCQlpZiAoYXMtPnN0YW5kYnlzX3JlYWQgPiAwKSB7CiAJCQlhcy0+c3RhbmRieXNfcmVhZC0tOwogCQkJYXMtPnN0YW5kYnlzX3BlbmRpbmctLTsKQEAgLTE0NzksOCArMTQ4MiwxMCBAQAogCQkJcXVldWVfZXZlbnQoQVBNX1VTRVJfU1RBTkRCWSwgYXMpOwogCQlpZiAoc3RhbmRieXNfcGVuZGluZyA8PSAwKQogCQkJc3RhbmRieSgpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWNhc2UgQVBNX0lPQ19TVVNQRU5EOgorCQlsb2NrX2tlcm5lbCgpOwogCQlpZiAoYXMtPnN1c3BlbmRzX3JlYWQgPiAwKSB7CiAJCQlhcy0+c3VzcGVuZHNfcmVhZC0tOwogCQkJYXMtPnN1c3BlbmRzX3BlbmRpbmctLTsKQEAgLTE0ODgsMTYgKzE0OTMsMTcgQEAKIAkJfSBlbHNlCiAJCQlxdWV1ZV9ldmVudChBUE1fVVNFUl9TVVNQRU5ELCBhcyk7CiAJCWlmIChzdXNwZW5kc19wZW5kaW5nIDw9IDApIHsKLQkJCXJldHVybiBzdXNwZW5kKDEpOworCQkJcmV0ID0gc3VzcGVuZCgxKTsKIAkJfSBlbHNlIHsKIAkJCWFzLT5zdXNwZW5kX3dhaXQgPSAxOwogCQkJd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGFwbV9zdXNwZW5kX3dhaXRxdWV1ZSwKIAkJCQkJYXMtPnN1c3BlbmRfd2FpdCA9PSAwKTsKLQkJCXJldHVybiBhcy0+c3VzcGVuZF9yZXN1bHQ7CisJCQlyZXQgPSBhcy0+c3VzcGVuZF9yZXN1bHQ7CiAJCX0KLQkJYnJlYWs7CisJCXVubG9ja19rZXJuZWwoKTsKKwkJcmV0dXJuIHJldDsKIAlkZWZhdWx0OgotCQlyZXR1cm4gLUVJTlZBTDsKKwkJcmV0dXJuIC1FTk9UVFk7CiAJfQogCXJldHVybiAwOwogfQpAQCAtMTU0NCwxMCArMTU1MCwxMiBAQAogewogCXN0cnVjdCBhcG1fdXNlciAqYXM7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWFzID0ga21hbGxvYyhzaXplb2YoKmFzKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGFzID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJhcG06IGNhbm5vdCBhbGxvY2F0ZSBzdHJ1Y3Qgb2Ygc2l6ZSAlZCBieXRlc1xuIiwKIAkJICAgICAgIHNpemVvZigqYXMpKTsKKwkJICAgICAgIHVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCWFzLT5tYWdpYyA9IEFQTV9CSU9TX01BR0lDOwpAQCAtMTU2OSw2ICsxNTc3LDcgQEAKIAl1c2VyX2xpc3QgPSBhczsKIAlzcGluX3VubG9jaygmdXNlcl9saXN0X2xvY2spOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGFzOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTg2MCw3ICsxODY5LDcgQEAKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLnJlYWQJCT0gZG9fcmVhZCwKIAkucG9sbAkJPSBkb19wb2xsLAotCS5pb2N0bAkJPSBkb19pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwJPSBkb19pb2N0bCwKIAkub3BlbgkJPSBkb19vcGVuLAogCS5yZWxlYXNlCT0gZG9fcmVsZWFzZSwKIH07CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvYXNtLW9mZnNldHNfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c18zMi5jCmluZGV4IDkyNTg4MDguLjY2NDlkMDkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c18zMi5jCkBAIC0xMTEsNyArMTExLDcgQEAKIAlPRkZTRVQoUFZfSVJRX2lycV9kaXNhYmxlLCBwdl9pcnFfb3BzLCBpcnFfZGlzYWJsZSk7CiAJT0ZGU0VUKFBWX0lSUV9pcnFfZW5hYmxlLCBwdl9pcnFfb3BzLCBpcnFfZW5hYmxlKTsKIAlPRkZTRVQoUFZfQ1BVX2lyZXQsIHB2X2NwdV9vcHMsIGlyZXQpOwotCU9GRlNFVChQVl9DUFVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwgcHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCk7CisJT0ZGU0VUKFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQsIHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCk7CiAJT0ZGU0VUKFBWX0NQVV9yZWFkX2NyMCwgcHZfY3B1X29wcywgcmVhZF9jcjApOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9hc20tb2Zmc2V0c182NC5jIGIvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzY0LmMKaW5kZXggZjEyNmMwNS4uYmFjZjVkZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2FzbS1vZmZzZXRzXzY0LmMKQEAgLTM0LDcgKzM0LDcgQEAKIAlFTlRSWShwaWQpOwogCUJMQU5LKCk7CiAjdW5kZWYgRU5UUlkKLSNkZWZpbmUgRU5UUlkoZW50cnkpIERFRklORSh0aHJlYWRpbmZvXyAjIyBlbnRyeSwgb2Zmc2V0b2Yoc3RydWN0IHRocmVhZF9pbmZvLCBlbnRyeSkpCisjZGVmaW5lIEVOVFJZKGVudHJ5KSBERUZJTkUoVElfICMjIGVudHJ5LCBvZmZzZXRvZihzdHJ1Y3QgdGhyZWFkX2luZm8sIGVudHJ5KSkKIAlFTlRSWShmbGFncyk7CiAJRU5UUlkoYWRkcl9saW1pdCk7CiAJRU5UUlkocHJlZW1wdF9jb3VudCk7CkBAIC02MSw4ICs2MSwxMSBAQAogCU9GRlNFVChQQVJBVklSVF9QQVRDSF9wdl9pcnFfb3BzLCBwYXJhdmlydF9wYXRjaF90ZW1wbGF0ZSwgcHZfaXJxX29wcyk7CiAJT0ZGU0VUKFBWX0lSUV9pcnFfZGlzYWJsZSwgcHZfaXJxX29wcywgaXJxX2Rpc2FibGUpOwogCU9GRlNFVChQVl9JUlFfaXJxX2VuYWJsZSwgcHZfaXJxX29wcywgaXJxX2VuYWJsZSk7CisJT0ZGU0VUKFBWX0lSUV9hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lLCBwdl9pcnFfb3BzLCBhZGp1c3RfZXhjZXB0aW9uX2ZyYW1lKTsKIAlPRkZTRVQoUFZfQ1BVX2lyZXQsIHB2X2NwdV9vcHMsIGlyZXQpOwotCU9GRlNFVChQVl9DUFVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCwgcHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCk7CisJT0ZGU0VUKFBWX0NQVV91c2VyZ3Nfc3lzcmV0MzIsIHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQzMik7CisJT0ZGU0VUKFBWX0NQVV91c2VyZ3Nfc3lzcmV0NjQsIHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQ2NCk7CisJT0ZGU0VUKFBWX0NQVV9pcnFfZW5hYmxlX3N5c2V4aXQsIHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCk7CiAJT0ZGU0VUKFBWX0NQVV9zd2FwZ3MsIHB2X2NwdV9vcHMsIHN3YXBncyk7CiAJT0ZGU0VUKFBWX01NVV9yZWFkX2NyMiwgcHZfbW11X29wcywgcmVhZF9jcjIpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L01ha2VmaWxlIGIvYXJjaC94ODYva2VybmVsL2NwdS9NYWtlZmlsZQppbmRleCBhMGM2ZjgxLi5lZTc2ZWFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L01ha2VmaWxlCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvTWFrZWZpbGUKQEAgLTYsMTEgKzYsMTUgQEAKIG9iai15CQkJKz0gcHJvYy5vIGZlYXR1cmVfbmFtZXMubwogCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBjb21tb24ubyBidWdzLm8KK29iai0kKENPTkZJR19YODZfNjQpCSs9IGNvbW1vbl82NC5vIGJ1Z3NfNjQubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gYW1kLm8KK29iai0kKENPTkZJR19YODZfNjQpCSs9IGFtZF82NC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBjeXJpeC5vCiBvYmotJChDT05GSUdfWDg2XzMyKQkrPSBjZW50YXVyLm8KK29iai0kKENPTkZJR19YODZfNjQpCSs9IGNlbnRhdXJfNjQubwogb2JqLSQoQ09ORklHX1g4Nl8zMikJKz0gdHJhbnNtZXRhLm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IGludGVsLm8KK29iai0kKENPTkZJR19YODZfNjQpCSs9IGludGVsXzY0Lm8KIG9iai0kKENPTkZJR19YODZfMzIpCSs9IHVtYy5vCiAKIG9iai0kKENPTkZJR19YODZfTUNFKQkrPSBtY2hlY2svCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FkZG9uX2NwdWlkX2ZlYXR1cmVzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FkZG9uX2NwdWlkX2ZlYXR1cmVzLmMKaW5kZXggYzJlMWNlMy4uODRhODIyMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9hZGRvbl9jcHVpZF9mZWF0dXJlcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYWRkb25fY3B1aWRfZmVhdHVyZXMuYwpAQCAtMSw5ICsxLDcgQEAKLQogLyoKICAqCVJvdXRpbmVzIHRvIGluZGVudGlmeSBhZGRpdGlvbmFsIGNwdSBmZWF0dXJlcyB0aGF0IGFyZSBzY2F0dGVyZWQgaW4KICAqCWNwdWlkIHNwYWNlLgogICovCi0KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KIAogI2luY2x1ZGUgPGFzbS9wYXQuaD4KQEAgLTUzLDE5ICs1MSwyMCBAQAogI2lmZGVmIENPTkZJR19YODZfUEFUCiB2b2lkIF9fY3B1aW5pdCB2YWxpZGF0ZV9wYXRfc3VwcG9ydChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7CisJaWYgKCFjcHVfaGFzX3BhdCkKKwkJcGF0X2Rpc2FibGUoIlBBVCBub3Qgc3VwcG9ydGVkIGJ5IENQVS4iKTsKKwogCXN3aXRjaCAoYy0+eDg2X3ZlbmRvcikgewotCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6Ci0JCWlmIChjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKQotCQkJcmV0dXJuOwotCQlicmVhazsKIAljYXNlIFg4Nl9WRU5ET1JfSU5URUw6CiAJCWlmIChjLT54ODYgPT0gMHhGIHx8IChjLT54ODYgPT0gNiAmJiBjLT54ODZfbW9kZWwgPj0gMTUpKQogCQkJcmV0dXJuOwogCQlicmVhazsKKwljYXNlIFg4Nl9WRU5ET1JfQU1EOgorCWNhc2UgWDg2X1ZFTkRPUl9DRU5UQVVSOgorCWNhc2UgWDg2X1ZFTkRPUl9UUkFOU01FVEE6CisJCXJldHVybjsKIAl9CiAKLQlwYXRfZGlzYWJsZShjcHVfaGFzX3BhdCA/Ci0JCSAgICAiUEFUIGRpc2FibGVkLiBOb3QgeWV0IHZlcmlmaWVkIG9uIHRoaXMgQ1BVIHR5cGUuIiA6Ci0JCSAgICAiUEFUIG5vdCBzdXBwb3J0ZWQgYnkgQ1BVLiIpOworCXBhdF9kaXNhYmxlKCJQQVQgZGlzYWJsZWQuIE5vdCB5ZXQgdmVyaWZpZWQgb24gdGhpcyBDUFUgdHlwZS4iKTsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYW1kLmMKaW5kZXggMjQ1ODY2OC4uODFhMDdjYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jCkBAIC0yNCw0MyArMjQsNiBAQAogZXh0ZXJuIHZvaWQgdmlkZSh2b2lkKTsKIF9fYXNtX18oIi5hbGlnbiA0XG52aWRlOiByZXQiKTsKIAotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotI2RlZmluZSBFTkFCTEVfQzFFX01BU0sgICAgICAgICAweDE4MDAwMDAwCi0jZGVmaW5lIENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUgICAgICAgMQotI2RlZmluZSBDUFVJRF9YRkFNICAgICAgICAgICAgICAweDBmZjAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fSzggICAgICAgICAgIDB4MDAwMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMEggICAgICAgICAgMHgwMDEwMDAwMAotI2RlZmluZSBDUFVJRF9YRkFNXzExSCAgICAgICAgICAweDAwMjAwMDAwCi0jZGVmaW5lIENQVUlEX1hNT0QgICAgICAgICAgICAgIDB4MDAwZjAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRF9SRVZfRiAgICAgICAgMHgwMDA0MDAwMAotCi0vKiBBTUQgc3lzdGVtcyB3aXRoIEMxRSBkb24ndCBoYXZlIGEgd29ya2luZyBsQVBJQyB0aW1lci4gQ2hlY2sgZm9yIHRoYXQuICovCi1zdGF0aWMgX19jcHVpbml0IGludCBhbWRfYXBpY190aW1lcl9icm9rZW4odm9pZCkKLXsKLQl1MzIgbG8sIGhpOwotCXUzMiBlYXggPSBjcHVpZF9lYXgoQ1BVSURfUFJPQ0VTU09SX1NJR05BVFVSRSk7Ci0Jc3dpdGNoIChlYXggJiBDUFVJRF9YRkFNKSB7Ci0JY2FzZSBDUFVJRF9YRkFNX0s4OgotCQlpZiAoKGVheCAmIENQVUlEX1hNT0QpIDwgQ1BVSURfWE1PRF9SRVZfRikKLQkJCWJyZWFrOwotCWNhc2UgQ1BVSURfWEZBTV8xMEg6Ci0JY2FzZSBDUFVJRF9YRkFNXzExSDoKLQkJcmRtc3IoTVNSX0s4X0VOQUJMRV9DMUUsIGxvLCBoaSk7Ci0JCWlmIChsbyAmIEVOQUJMRV9DMUVfTUFTSykgewotCQkJaWYgKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSBib290X2NwdV9waHlzaWNhbF9hcGljaWQpCi0JCQkJcHJpbnRrKEtFUk5fSU5GTyAiQU1EIEMxRSBkZXRlY3RlZCBsYXRlLiAiCi0JCQkJICAgICAgICIJRm9yY2UgdGltZXIgYnJvYWRjYXN0LlxuIik7Ci0JCQlyZXR1cm4gMTsKLQkJfQotCQlicmVhazsKLQlkZWZhdWx0OgotCQkvKiBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiAqLwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0jZW5kaWYKLQogaW50IGZvcmNlX213YWl0IF9fY3B1aW5pdGRhdGE7CiAKIHN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCkBAIC0yOTcsMTEgKzI2MCw2IEBACiAJCQludW1fY2FjaGVfbGVhdmVzID0gMzsKIAl9CiAKLSNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKLQlpZiAoYW1kX2FwaWNfdGltZXJfYnJva2VuKCkpCi0JCWxvY2FsX2FwaWNfdGltZXJfZGlzYWJsZWQgPSAxOwotI2VuZGlmCi0KIAkvKiBLNnMgcmVwb3J0cyBNQ0VzIGJ1dCBkb24ndCBhY3R1YWxseSBoYXZlIGFsbCB0aGUgTVNScyAqLwogCWlmIChjLT54ODYgPCA2KQogCQljbGVhcl9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX01DRSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2FtZF82NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWRfNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzM2ZmI4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWRfNjQuYwpAQCAtMCwwICsxLDIyMiBAQAorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorCisjaW5jbHVkZSA8YXNtL251bWFfNjQuaD4KKyNpbmNsdWRlIDxhc20vbW1jb25maWcuaD4KKyNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgorCisjaW5jbHVkZSA8bWFjaF9hcGljLmg+CisKKyNpbmNsdWRlICJjcHUuaCIKKworaW50IGZvcmNlX213YWl0IF9fY3B1aW5pdGRhdGE7CisKKyNpZmRlZiBDT05GSUdfTlVNQQorc3RhdGljIGludCBfX2NwdWluaXQgbmVhcmJ5X25vZGUoaW50IGFwaWNpZCkKK3sKKwlpbnQgaSwgbm9kZTsKKworCWZvciAoaSA9IGFwaWNpZCAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKKwkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQorCQkJcmV0dXJuIG5vZGU7CisJfQorCWZvciAoaSA9IGFwaWNpZCArIDE7IGkgPCBNQVhfTE9DQUxfQVBJQzsgaSsrKSB7CisJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKKwkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQorCQkJcmV0dXJuIG5vZGU7CisJfQorCXJldHVybiBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7IC8qIFNob3VsZG4ndCBoYXBwZW4gKi8KK30KKyNlbmRpZgorCisvKgorICogT24gYSBBTUQgZHVhbCBjb3JlIHNldHVwIHRoZSBsb3dlciBiaXRzIG9mIHRoZSBBUElDIGlkIGRpc3Rpbmd1c2ggdGhlIGNvcmVzLgorICogQXNzdW1lcyBudW1iZXIgb2YgY29yZXMgaXMgYSBwb3dlciBvZiB0d28uCisgKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBhbWRfZGV0ZWN0X2NtcChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisjaWZkZWYgQ09ORklHX1NNUAorCXVuc2lnbmVkIGJpdHM7CisjaWZkZWYgQ09ORklHX05VTUEKKwlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCWludCBub2RlID0gMDsKKwl1bnNpZ25lZCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKKyNlbmRpZgorCWJpdHMgPSBjLT54ODZfY29yZWlkX2JpdHM7CisKKwkvKiBMb3cgb3JkZXIgYml0cyBkZWZpbmUgdGhlIGNvcmUgaWQgKGluZGV4IG9mIGNvcmUgaW4gc29ja2V0KSAqLworCWMtPmNwdV9jb3JlX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgJiAoKDEgPDwgYml0cyktMSk7CisJLyogQ29udmVydCB0aGUgaW5pdGlhbCBBUElDIElEIGludG8gdGhlIHNvY2tldCBJRCAqLworCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkID4+IGJpdHM7CisKKyNpZmRlZiBDT05GSUdfTlVNQQorCW5vZGUgPSBjLT5waHlzX3Byb2NfaWQ7CisJaWYgKGFwaWNpZF90b19ub2RlW2FwaWNpZF0gIT0gTlVNQV9OT19OT0RFKQorCQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKKwlpZiAoIW5vZGVfb25saW5lKG5vZGUpKSB7CisJCS8qIFR3byBwb3NzaWJpbGl0aWVzIGhlcmU6CisJCSAgIC0gVGhlIENQVSBpcyBtaXNzaW5nIG1lbW9yeSBhbmQgbm8gbm9kZSB3YXMgY3JlYXRlZC4KKwkJICAgSW4gdGhhdCBjYXNlIHRyeSBwaWNraW5nIG9uZSBmcm9tIGEgbmVhcmJ5IENQVQorCQkgICAtIFRoZSBBUElDIElEcyBkaWZmZXIgZnJvbSB0aGUgSHlwZXJUcmFuc3BvcnQgbm9kZSBJRHMKKwkJICAgd2hpY2ggdGhlIEs4IG5vcnRoYnJpZGdlIHBhcnNpbmcgZmlsbHMgaW4uCisJCSAgIEFzc3VtZSB0aGV5IGFyZSBhbGwgaW5jcmVhc2VkIGJ5IGEgY29uc3RhbnQgb2Zmc2V0LAorCQkgICBidXQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIEhUIG5vZGVpZHMuCisJCSAgIElmIHRoYXQgZG9lc24ndCByZXN1bHQgaW4gYSB1c2FibGUgbm9kZSBmYWxsIGJhY2sgdG8gdGhlCisJCSAgIHBhdGggZm9yIHRoZSBwcmV2aW91cyBjYXNlLiAgKi8KKworCQlpbnQgaHRfbm9kZWlkID0gYy0+aW5pdGlhbF9hcGljaWQ7CisKKwkJaWYgKGh0X25vZGVpZCA+PSAwICYmCisJCSAgICBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdICE9IE5VTUFfTk9fTk9ERSkKKwkJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdOworCQkvKiBQaWNrIGEgbmVhcmJ5IG5vZGUgKi8KKwkJaWYgKCFub2RlX29ubGluZShub2RlKSkKKwkJCW5vZGUgPSBuZWFyYnlfbm9kZShhcGljaWQpOworCX0KKwludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOworI2VuZGlmCisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kX21jKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJdW5zaWduZWQgYml0cywgZWN4OworCisJLyogTXVsdGkgY29yZSBDUFU/ICovCisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwOCkKKwkJcmV0dXJuOworCisJZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDgpOworCisJYy0+eDg2X21heF9jb3JlcyA9IChlY3ggJiAweGZmKSArIDE7CisKKwkvKiBDUFUgdGVsbGluZyB1cyB0aGUgY29yZSBpZCBiaXRzIHNoaWZ0PyAqLworCWJpdHMgPSAoZWN4ID4+IDEyKSAmIDB4RjsKKworCS8qIE90aGVyd2lzZSByZWNvbXB1dGUgKi8KKwlpZiAoYml0cyA9PSAwKSB7CisJCXdoaWxlICgoMSA8PCBiaXRzKSA8IGMtPng4Nl9tYXhfY29yZXMpCisJCQliaXRzKys7CisJfQorCisJYy0+eDg2X2NvcmVpZF9iaXRzID0gYml0czsKKworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJZWFybHlfaW5pdF9hbWRfbWMoYyk7CisKKwkvKiBjLT54ODZfcG93ZXIgaXMgODAwMF8wMDA3IGVkeC4gQml0IDggaXMgY29uc3RhbnQgVFNDICovCisJaWYgKGMtPng4Nl9wb3dlciAmICgxPDw4KSkKKwkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGluaXRfYW1kKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwl1bnNpZ25lZCBsZXZlbDsKKworI2lmZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBsb25nIHZhbHVlOworCisJLyoKKwkgKiBEaXNhYmxlIFRMQiBmbHVzaCBmaWx0ZXIgYnkgc2V0dGluZyBIV0NSLkZGRElTIG9uIEs4CisJICogYml0IDYgb2YgbXNyIEMwMDFfMDAxNQorCSAqCisJICogRXJyYXRhIDYzIGZvciBTSC1CMyBzdGVwcGluZ3MKKwkgKiBFcnJhdGEgMTIyIGZvciBhbGwgc3RlcHBpbmdzIChGKyBoYXZlIGl0IGRpc2FibGVkIGJ5IGRlZmF1bHQpCisJICovCisJaWYgKGMtPng4NiA9PSAweGYpIHsKKwkJcmRtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7CisJCXZhbHVlIHw9IDEgPDwgNjsKKwkJd3Jtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7CisJfQorI2VuZGlmCisKKwkvKiBCaXQgMzEgaW4gbm9ybWFsIENQVUlEIHVzZWQgZm9yIG5vbnN0YW5kYXJkIDNETm93IElEOworCSAgIDNETm93IGlzIElEZCBieSBiaXQgMzEgaW4gZXh0ZW5kZWQgQ1BVSUQgKDEqMzIrMzEpIGFueXdheSAqLworCWNsZWFyX2NwdV9jYXAoYywgMCozMiszMSk7CisKKwkvKiBPbiBDKyBzdGVwcGluZyBLOCByZXAgbWljcm9jb2RlIHdvcmtzIHdlbGwgZm9yIGNvcHkvbWVtc2V0ICovCisJaWYgKGMtPng4NiA9PSAweGYpIHsKKwkJbGV2ZWwgPSBjcHVpZF9lYXgoMSk7CisJCWlmKChsZXZlbCA+PSAweDBmNDggJiYgbGV2ZWwgPCAweDBmNTApIHx8IGxldmVsID49IDB4MGY1OCkKKwkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKKwl9CisJaWYgKGMtPng4NiA9PSAweDEwIHx8IGMtPng4NiA9PSAweDExKQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9SRVBfR09PRCk7CisKKwkvKiBFbmFibGUgd29ya2Fyb3VuZCBmb3IgRlhTQVZFIGxlYWsgKi8KKwlpZiAoYy0+eDg2ID49IDYpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0ZYU0FWRV9MRUFLKTsKKworCWxldmVsID0gZ2V0X21vZGVsX25hbWUoYyk7CisJaWYgKCFsZXZlbCkgeworCQlzd2l0Y2ggKGMtPng4NikgeworCQljYXNlIDB4ZjoKKwkJCS8qIFNob3VsZCBkaXN0aW5ndWlzaCBNb2RlbHMgaGVyZSwgYnV0IHRoaXMgaXMgb25seQorCQkJICAgYSBmYWxsYmFjayBhbnl3YXlzLiAqLworCQkJc3RyY3B5KGMtPng4Nl9tb2RlbF9pZCwgIkhhbW1lciIpOworCQkJYnJlYWs7CisJCX0KKwl9CisJZGlzcGxheV9jYWNoZWluZm8oYyk7CisKKwkvKiBNdWx0aSBjb3JlIENQVT8gKi8KKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKKwkJYW1kX2RldGVjdF9jbXAoYyk7CisKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNiAmJgorCQkoY3B1aWRfZWR4KDB4ODAwMDAwMDYpICYgMHhmMDAwKSkKKwkJbnVtX2NhY2hlX2xlYXZlcyA9IDQ7CisJZWxzZQorCQludW1fY2FjaGVfbGVhdmVzID0gMzsKKworCWlmIChjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9LOCk7CisKKwkvKiBNRkVOQ0Ugc3RvcHMgUkRUU0Mgc3BlY3VsYXRpb24gKi8KKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MpOworCisJaWYgKGMtPng4NiA9PSAweDEwKSB7CisJCS8qIGRvIHRoaXMgZm9yIGJvb3QgY3B1ICovCisJCWlmIChjID09ICZib290X2NwdV9kYXRhKQorCQkJY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKCk7CisKKwkJZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZygpOworCX0KKworCWlmIChjID09ICZib290X2NwdV9kYXRhICYmIGMtPng4NiA+PSAweGYgJiYgYy0+eDg2IDw9IDB4MTEpIHsKKwkJdW5zaWduZWQgbG9uZyBsb25nIHRzZWc7CisKKwkJLyoKKwkJICogU3BsaXQgdXAgZGlyZWN0IG1hcHBpbmcgYXJvdW5kIHRoZSBUU0VHIFNNTSBhcmVhLgorCQkgKiBEb24ndCBkbyBpdCBmb3IgZ2JwYWdlcyBiZWNhdXNlIHRoZXJlIHNlZW1zIHZlcnkgbGl0dGxlCisJCSAqIGJlbmVmaXQgaW4gZG9pbmcgc28uCisJCSAqLworCQlpZiAoIXJkbXNybF9zYWZlKE1TUl9LOF9UU0VHX0FERFIsICZ0c2VnKSkgeworCQkgICAgcHJpbnRrKEtFUk5fREVCVUcgInRzZWc6ICUwMTBsbHhcbiIsIHRzZWcpOworCQkgICAgaWYgKCh0c2VnPj5QTURfU0hJRlQpIDwKKwkJCQkobWF4X2xvd19wZm5fbWFwcGVkPj4oUE1EX1NISUZULVBBR0VfU0hJRlQpKSB8fAorCQkJKCh0c2VnPj5QTURfU0hJRlQpIDwKKwkJCQkobWF4X3Bmbl9tYXBwZWQ+PihQTURfU0hJRlQtUEFHRV9TSElGVCkpICYmCisJCQkgKHRzZWc+PlBNRF9TSElGVCkgPj0gKDFVTEw8PCgzMiAtIFBNRF9TSElGVCkpKSkKKwkJCXNldF9tZW1vcnlfNGsoKHVuc2lnbmVkIGxvbmcpX192YSh0c2VnKSwgMSk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3B1X2RldiBhbWRfY3B1X2RldiBfX2NwdWluaXRkYXRhID0geworCS5jX3ZlbmRvcgk9ICJBTUQiLAorCS5jX2lkZW50CT0geyAiQXV0aGVudGljQU1EIiB9LAorCS5jX2Vhcmx5X2luaXQgICA9IGVhcmx5X2luaXRfYW1kLAorCS5jX2luaXQJCT0gaW5pdF9hbWQsCit9OworCitjcHVfdmVuZG9yX2Rldl9yZWdpc3RlcihYODZfVkVORE9SX0FNRCwgJmFtZF9jcHVfZGV2KTsKKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9idWdzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3MuYwppbmRleCAxNzBkMmY1Li4xYjFjNTZiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3MuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3MuYwpAQCAtNTksOCArNTksMTIgQEAKIAkJcmV0dXJuOwogCX0KIAotLyogdHJhcF9pbml0KCkgZW5hYmxlZCBGWFNSIGFuZCBjb21wYW55IF9iZWZvcmVfIHRlc3RpbmcgZm9yIEZQIHByb2JsZW1zIGhlcmUuICovCi0JLyogVGVzdCBmb3IgdGhlIGRpdmwgYnVnLi4gKi8KKwkvKgorCSAqIHRyYXBfaW5pdCgpIGVuYWJsZWQgRlhTUiBhbmQgY29tcGFueSBfYmVmb3JlXyB0ZXN0aW5nIGZvciBGUAorCSAqIHByb2JsZW1zIGhlcmUuCisJICoKKwkgKiBUZXN0IGZvciB0aGUgZGl2bCBidWcuLgorCSAqLwogCV9fYXNtX18oImZuaW5pdFxuXHQiCiAJCSJmbGRsICUxXG5cdCIKIAkJImZkaXZsICUyXG5cdCIKQEAgLTEwOCwxMCArMTEyLDE1IEBACiAJICAibW92bCAkMTIzNDU2NzgsJSVlYXg7IG1vdmwgJDAsJSVlZGk7IHB1c2hhOyBwb3BhOyBtb3ZsICglJWVkeCwlJWVkaSksJSVlY3ggIgogCSAgOiAiPSZhIiAocmVzKQogCSAgOiAiZCIgKGlucCkKLQkgIDogImVjeCIsICJlZGkiICk7Ci0JLyogSWYgdGhpcyBmYWlscywgaXQgbWVhbnMgdGhhdCBhbnkgdXNlciBwcm9ncmFtIG1heSBsb2NrIHRoZSBDUFUgaGFyZC4gVG9vIGJhZC4gKi8KLQlpZiAocmVzICE9IDEyMzQ1Njc4KSBwcmludGsoICJCdWdneS5cbiIgKTsKLQkJICAgICAgICBlbHNlIHByaW50ayggIk9LLlxuIiApOworCSAgOiAiZWN4IiwgImVkaSIpOworCS8qCisJICogSWYgdGhpcyBmYWlscywgaXQgbWVhbnMgdGhhdCBhbnkgdXNlciBwcm9ncmFtIG1heSBsb2NrIHRoZQorCSAqIENQVSBoYXJkLiBUb28gYmFkLgorCSAqLworCWlmIChyZXMgIT0gMTIzNDU2NzgpCisJCXByaW50aygiQnVnZ3kuXG4iKTsKKwllbHNlCisJCXByaW50aygiT0suXG4iKTsKICNlbmRpZgogfQogCkBAIC0xMzcsNyArMTQ2LDggQEAKICAqIGk0ODYrIG9ubHkgZmVhdHVyZXMhIChXUCB3b3JrcyBpbiBzdXBlcnZpc29yIG1vZGUgYW5kIHRoZQogICogbmV3ICJpbnZscGciIGFuZCAiYnN3YXAiIGluc3RydWN0aW9ucykKICAqLwotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9XUF9XT1JLU19PSykgfHwgZGVmaW5lZChDT05GSUdfWDg2X0lOVkxQRykgfHwgZGVmaW5lZChDT05GSUdfWDg2X0JTV0FQKQorI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9XUF9XT1JLU19PSykgfHwgZGVmaW5lZChDT05GSUdfWDg2X0lOVkxQRykgfHwgXAorCWRlZmluZWQoQ09ORklHX1g4Nl9CU1dBUCkKIAlpZiAoYm9vdF9jcHVfZGF0YS54ODYgPT0gMykKIAkJcGFuaWMoIktlcm5lbCByZXF1aXJlcyBpNDg2KyBmb3IgJ2ludmxwZycgYW5kIG90aGVyIGZlYXR1cmVzIik7CiAjZW5kaWYKQEAgLTE3MCw2ICsxODAsNyBAQAogCWNoZWNrX2ZwdSgpOwogCWNoZWNrX2hsdCgpOwogCWNoZWNrX3BvcGFkKCk7Ci0JaW5pdF91dHNuYW1lKCktPm1hY2hpbmVbMV0gPSAnMCcgKyAoYm9vdF9jcHVfZGF0YS54ODYgPiA2ID8gNiA6IGJvb3RfY3B1X2RhdGEueDg2KTsKKwlpbml0X3V0c25hbWUoKS0+bWFjaGluZVsxXSA9CisJCScwJyArIChib290X2NwdV9kYXRhLng4NiA+IDYgPyA2IDogYm9vdF9jcHVfZGF0YS54ODYpOwogCWFsdGVybmF0aXZlX2luc3RydWN0aW9ucygpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2J1Z3NfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVnc182NC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBhcmNoL3g4Ni9rZXJuZWwvYnVnc182NC5jCnJlbmFtZSB0byBhcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3NfNjQuYwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9jZW50YXVyXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRhdXJfNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDE4MWM0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jZW50YXVyXzY0LmMKQEAgLTAsMCArMSwzNSBAQAorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGFzbS9jcHVmZWF0dXJlLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorCisjaW5jbHVkZSAiY3B1LmgiCisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWlmIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweGYpCisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7CisKKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9TWVNFTlRFUjMyKTsKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGluaXRfY2VudGF1cihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4ZikgeworCQljLT54ODZfY2FjaGVfYWxpZ25tZW50ID0gYy0+eDg2X2NsZmx1c2hfc2l6ZSAqIDI7CisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7CisJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX1JFUF9HT09EKTsKKwl9CisJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTEZFTkNFX1JEVFNDKTsKK30KKworc3RhdGljIHN0cnVjdCBjcHVfZGV2IGNlbnRhdXJfY3B1X2RldiBfX2NwdWluaXRkYXRhID0geworCS5jX3ZlbmRvcgk9ICJDZW50YXVyIiwKKwkuY19pZGVudAk9IHsgIkNlbnRhdXJIYXVscyIgfSwKKwkuY19lYXJseV9pbml0CT0gZWFybHlfaW5pdF9jZW50YXVyLAorCS5jX2luaXQJCT0gaW5pdF9jZW50YXVyLAorfTsKKworY3B1X3ZlbmRvcl9kZXZfcmVnaXN0ZXIoWDg2X1ZFTkRPUl9DRU5UQVVSLCAmY2VudGF1cl9jcHVfZGV2KTsKKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKaW5kZXggZDA0NjNhOS4uODBhYjIwZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jCkBAIC00MjcsNyArNDI3LDcgQEAKIC8qCiAgKiBUaGlzIGRvZXMgdGhlIGhhcmQgd29yayBvZiBhY3R1YWxseSBwaWNraW5nIGFwYXJ0IHRoZSBDUFUgc3R1ZmYuLi4KICAqLwotdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQogewogCWludCBpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbl82NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb25fNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjhjYzcyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb25fNjQuYwpAQCAtMCwwICsxLDY4MSBAQAorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9rZ2RiLmg+CisjaW5jbHVkZSA8bGludXgvdG9wb2xvZ3kuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vaTM4Ny5oPgorI2luY2x1ZGUgPGFzbS9tc3IuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KKyNpbmNsdWRlIDxhc20vbXRyci5oPgorI2luY2x1ZGUgPGFzbS9tY2UuaD4KKyNpbmNsdWRlIDxhc20vcGF0Lmg+CisjaW5jbHVkZSA8YXNtL251bWEuaD4KKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGFzbS9wZGEuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vZ2VuYXBpYy5oPgorCisjaW5jbHVkZSAiY3B1LmgiCisKKy8qIFdlIG5lZWQgdmFsaWQga2VybmVsIHNlZ21lbnRzIGZvciBkYXRhIGFuZCBjb2RlIGluIGxvbmcgbW9kZSB0b28KKyAqIElSRVQgd2lsbCBjaGVjayB0aGUgc2VnbWVudCB0eXBlcyAga2tlaWwgMjAwMC8xMC8yOAorICogQWxzbyBzeXNyZXQgbWFuZGF0ZXMgYSBzcGVjaWFsIEdEVCBsYXlvdXQKKyAqLworLyogVGhlIFRMUyBkZXNjcmlwdG9ycyBhcmUgY3VycmVudGx5IGF0IGEgZGlmZmVyZW50IHBsYWNlIGNvbXBhcmVkIHRvIGkzODYuCisgICBIb3BlZnVsbHkgbm9ib2R5IGV4cGVjdHMgdGhlbSBhdCBhIGZpeGVkIHBsYWNlIChXaW5lPykgKi8KK0RFRklORV9QRVJfQ1BVKHN0cnVjdCBnZHRfcGFnZSwgZ2R0X3BhZ2UpID0geyAuZ2R0ID0geworCVtHRFRfRU5UUllfS0VSTkVMMzJfQ1NdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGNmOWIwMCB9IH0gfSwKKwlbR0RUX0VOVFJZX0tFUk5FTF9DU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwYWY5YjAwIH0gfSB9LAorCVtHRFRfRU5UUllfS0VSTkVMX0RTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBjZjkzMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9ERUZBVUxUX1VTRVIzMl9DU10gPSB7IHsgeyAweDAwMDBmZmZmLCAweDAwY2ZmYjAwIH0gfSB9LAorCVtHRFRfRU5UUllfREVGQVVMVF9VU0VSX0RTXSA9IHsgeyB7IDB4MDAwMGZmZmYsIDB4MDBjZmYzMDAgfSB9IH0sCisJW0dEVF9FTlRSWV9ERUZBVUxUX1VTRVJfQ1NdID0geyB7IHsgMHgwMDAwZmZmZiwgMHgwMGFmZmIwMCB9IH0gfSwKK30gfTsKK0VYUE9SVF9QRVJfQ1BVX1NZTUJPTF9HUEwoZ2R0X3BhZ2UpOworCitfX3UzMiBjbGVhcmVkX2NwdV9jYXBzW05DQVBJTlRTXSBfX2NwdWluaXRkYXRhOworCisvKiBDdXJyZW50IGdkdCBwb2ludHMgJWZzIGF0IHRoZSAibWFzdGVyIiBwZXItY3B1IGFyZWE6IGFmdGVyIHRoaXMsCisgKiBpdCdzIG9uIHRoZSByZWFsIG9uZS4gKi8KK3ZvaWQgc3dpdGNoX3RvX25ld19nZHQodm9pZCkKK3sKKwlzdHJ1Y3QgZGVzY19wdHIgZ2R0X2Rlc2NyOworCisJZ2R0X2Rlc2NyLmFkZHJlc3MgPSAobG9uZylnZXRfY3B1X2dkdF90YWJsZShzbXBfcHJvY2Vzc29yX2lkKCkpOworCWdkdF9kZXNjci5zaXplID0gR0RUX1NJWkUgLSAxOworCWxvYWRfZ2R0KCZnZHRfZGVzY3IpOworfQorCitzdHJ1Y3QgY3B1X2RldiAqY3B1X2RldnNbWDg2X1ZFTkRPUl9OVU1dID0ge307CisKK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBkZWZhdWx0X2luaXQoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWRpc3BsYXlfY2FjaGVpbmZvKGMpOworfQorCitzdGF0aWMgc3RydWN0IGNwdV9kZXYgX19jcHVpbml0ZGF0YSBkZWZhdWx0X2NwdSA9IHsKKwkuY19pbml0CT0gZGVmYXVsdF9pbml0LAorCS5jX3ZlbmRvciA9ICJVbmtub3duIiwKK307CitzdGF0aWMgc3RydWN0IGNwdV9kZXYgKnRoaXNfY3B1IF9fY3B1aW5pdGRhdGEgPSAmZGVmYXVsdF9jcHU7CisKK2ludCBfX2NwdWluaXQgZ2V0X21vZGVsX25hbWUoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVkIGludCAqdjsKKworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA8IDB4ODAwMDAwMDQpCisJCXJldHVybiAwOworCisJdiA9ICh1bnNpZ25lZCBpbnQgKikgYy0+eDg2X21vZGVsX2lkOworCWNwdWlkKDB4ODAwMDAwMDIsICZ2WzBdLCAmdlsxXSwgJnZbMl0sICZ2WzNdKTsKKwljcHVpZCgweDgwMDAwMDAzLCAmdls0XSwgJnZbNV0sICZ2WzZdLCAmdls3XSk7CisJY3B1aWQoMHg4MDAwMDAwNCwgJnZbOF0sICZ2WzldLCAmdlsxMF0sICZ2WzExXSk7CisJYy0+eDg2X21vZGVsX2lkWzQ4XSA9IDA7CisJcmV0dXJuIDE7Cit9CisKKwordm9pZCBfX2NwdWluaXQgZGlzcGxheV9jYWNoZWluZm8oc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVkIGludCBuLCBkdW1teSwgZWJ4LCBlY3gsIGVkeDsKKworCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKKworCWlmIChuID49IDB4ODAwMDAwMDUpIHsKKwkJY3B1aWQoMHg4MDAwMDAwNSwgJmR1bW15LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVOiBMMSBJIENhY2hlOiAlZEsgKCVkIGJ5dGVzL2xpbmUpLCAiCisJCSAgICAgICAiRCBjYWNoZSAlZEsgKCVkIGJ5dGVzL2xpbmUpXG4iLAorCQkgICAgICAgZWR4Pj4yNCwgZWR4JjB4RkYsIGVjeD4+MjQsIGVjeCYweEZGKTsKKwkJYy0+eDg2X2NhY2hlX3NpemUgPSAoZWN4Pj4yNCkgKyAoZWR4Pj4yNCk7CisJCS8qIE9uIEs4IEwxIFRMQiBpcyBpbmNsdXNpdmUsIHNvIGRvbid0IGNvdW50IGl0ICovCisJCWMtPng4Nl90bGJzaXplID0gMDsKKwl9CisKKwlpZiAobiA+PSAweDgwMDAwMDA2KSB7CisJCWNwdWlkKDB4ODAwMDAwMDYsICZkdW1teSwgJmVieCwgJmVjeCwgJmVkeCk7CisJCWVjeCA9IGNwdWlkX2VjeCgweDgwMDAwMDA2KTsKKwkJYy0+eDg2X2NhY2hlX3NpemUgPSBlY3ggPj4gMTY7CisJCWMtPng4Nl90bGJzaXplICs9ICgoZWJ4ID4+IDE2KSAmIDB4ZmZmKSArIChlYnggJiAweGZmZik7CisKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVOiBMMiBDYWNoZTogJWRLICglZCBieXRlcy9saW5lKVxuIiwKKwkJYy0+eDg2X2NhY2hlX3NpemUsIGVjeCAmIDB4RkYpOworCX0KK30KKwordm9pZCBfX2NwdWluaXQgZGV0ZWN0X2h0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJdTMyIGVheCwgZWJ4LCBlY3gsIGVkeDsKKwlpbnQgaW5kZXhfbXNiLCBjb3JlX2JpdHM7CisKKwljcHVpZCgxLCAmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKworCisJaWYgKCFjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0hUKSkKKwkJcmV0dXJuOworCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX0NNUF9MRUdBQ1kpKQorCQlnb3RvIG91dDsKKworCXNtcF9udW1fc2libGluZ3MgPSAoZWJ4ICYgMHhmZjAwMDApID4+IDE2OworCisJaWYgKHNtcF9udW1fc2libGluZ3MgPT0gMSkgeworCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBIeXBlci1UaHJlYWRpbmcgaXMgZGlzYWJsZWRcbiIpOworCX0gZWxzZSBpZiAoc21wX251bV9zaWJsaW5ncyA+IDEpIHsKKworCQlpZiAoc21wX251bV9zaWJsaW5ncyA+IE5SX0NQVVMpIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIkNQVTogVW5zdXBwb3J0ZWQgbnVtYmVyIG9mICIKKwkJCSAgICAgICAic2libGluZ3MgJWQiLCBzbXBfbnVtX3NpYmxpbmdzKTsKKwkJCXNtcF9udW1fc2libGluZ3MgPSAxOworCQkJcmV0dXJuOworCQl9CisKKwkJaW5kZXhfbXNiID0gZ2V0X2NvdW50X29yZGVyKHNtcF9udW1fc2libGluZ3MpOworCQljLT5waHlzX3Byb2NfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpOworCisJCXNtcF9udW1fc2libGluZ3MgPSBzbXBfbnVtX3NpYmxpbmdzIC8gYy0+eDg2X21heF9jb3JlczsKKworCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7CisKKwkJY29yZV9iaXRzID0gZ2V0X2NvdW50X29yZGVyKGMtPng4Nl9tYXhfY29yZXMpOworCisJCWMtPmNwdV9jb3JlX2lkID0gcGh5c19wa2dfaWQoaW5kZXhfbXNiKSAmCisJCQkJCSAgICAgICAoKDEgPDwgY29yZV9iaXRzKSAtIDEpOworCX0KK291dDoKKwlpZiAoKGMtPng4Nl9tYXhfY29yZXMgKiBzbXBfbnVtX3NpYmxpbmdzKSA+IDEpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUGh5c2ljYWwgUHJvY2Vzc29yIElEOiAlZFxuIiwKKwkJICAgICAgIGMtPnBoeXNfcHJvY19pZCk7CisJCXByaW50ayhLRVJOX0lORk8gICJDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAlZFxuIiwKKwkJICAgICAgIGMtPmNwdV9jb3JlX2lkKTsKKwl9CisKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZ2V0X2NwdV92ZW5kb3Ioc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWNoYXIgKnYgPSBjLT54ODZfdmVuZG9yX2lkOworCWludCBpOworCXN0YXRpYyBpbnQgcHJpbnRlZDsKKworCWZvciAoaSA9IDA7IGkgPCBYODZfVkVORE9SX05VTTsgaSsrKSB7CisJCWlmIChjcHVfZGV2c1tpXSkgeworCQkJaWYgKCFzdHJjbXAodiwgY3B1X2RldnNbaV0tPmNfaWRlbnRbMF0pIHx8CisJCQkgICAgKGNwdV9kZXZzW2ldLT5jX2lkZW50WzFdICYmCisJCQkgICAgIXN0cmNtcCh2LCBjcHVfZGV2c1tpXS0+Y19pZGVudFsxXSkpKSB7CisJCQkJYy0+eDg2X3ZlbmRvciA9IGk7CisJCQkJdGhpc19jcHUgPSBjcHVfZGV2c1tpXTsKKwkJCQlyZXR1cm47CisJCQl9CisJCX0KKwl9CisJaWYgKCFwcmludGVkKSB7CisJCXByaW50ZWQrKzsKKwkJcHJpbnRrKEtFUk5fRVJSICJDUFU6IFZlbmRvciB1bmtub3duLCB1c2luZyBnZW5lcmljIGluaXQuXG4iKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJDUFU6IFlvdXIgc3lzdGVtIG1heSBiZSB1bnN0YWJsZS5cbiIpOworCX0KKwljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9VTktOT1dOOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZWFybHlfY3B1X3N1cHBvcnRfcHJpbnQodm9pZCkKK3sKKwlpbnQgaSxqOworCXN0cnVjdCBjcHVfZGV2ICpjcHVfZGV2eDsKKworCXByaW50aygiS0VSTkVMIHN1cHBvcnRlZCBjcHVzOlxuIik7CisJZm9yIChpID0gMDsgaSA8IFg4Nl9WRU5ET1JfTlVNOyBpKyspIHsKKwkJY3B1X2RldnggPSBjcHVfZGV2c1tpXTsKKwkJaWYgKCFjcHVfZGV2eCkKKwkJCWNvbnRpbnVlOworCQlmb3IgKGogPSAwOyBqIDwgMjsgaisrKSB7CisJCQlpZiAoIWNwdV9kZXZ4LT5jX2lkZW50W2pdKQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRrKCIgICVzICVzXG4iLCBjcHVfZGV2eC0+Y192ZW5kb3IsCisJCQkJY3B1X2RldngtPmNfaWRlbnRbal0pOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgZWFybHlfaWRlbnRpZnlfY3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CisKK3ZvaWQgX19pbml0IGVhcmx5X2NwdV9pbml0KHZvaWQpCit7CisgICAgICAgIHN0cnVjdCBjcHVfdmVuZG9yX2RldiAqY3ZkZXY7CisKKyAgICAgICAgZm9yIChjdmRldiA9IF9feDg2Y3B1dmVuZG9yX3N0YXJ0IDsKKyAgICAgICAgICAgICBjdmRldiA8IF9feDg2Y3B1dmVuZG9yX2VuZCAgIDsKKyAgICAgICAgICAgICBjdmRldisrKQorICAgICAgICAgICAgICAgIGNwdV9kZXZzW2N2ZGV2LT52ZW5kb3JdID0gY3ZkZXYtPmNwdV9kZXY7CisJZWFybHlfY3B1X3N1cHBvcnRfcHJpbnQoKTsKKwllYXJseV9pZGVudGlmeV9jcHUoJmJvb3RfY3B1X2RhdGEpOworfQorCisvKiBEbyBzb21lIGVhcmx5IGNwdWlkIG9uIHRoZSBib290IENQVSB0byBnZXQgc29tZSBwYXJhbWV0ZXIgdGhhdCBhcmUKKyAgIG5lZWRlZCBiZWZvcmUgY2hlY2tfYnVncy4gRXZlcnl0aGluZyBhZHZhbmNlZCBpcyBpbiBpZGVudGlmeV9jcHUKKyAgIGJlbG93LiAqLworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2lkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJdTMyIHRmbXMsIHhsdmw7CisKKwljLT5sb29wc19wZXJfamlmZnkgPSBsb29wc19wZXJfamlmZnk7CisJYy0+eDg2X2NhY2hlX3NpemUgPSAtMTsKKwljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9VTktOT1dOOworCWMtPng4Nl9tb2RlbCA9IGMtPng4Nl9tYXNrID0gMDsJLyogU28gZmFyIHVua25vd24uLi4gKi8KKwljLT54ODZfdmVuZG9yX2lkWzBdID0gJ1wwJzsgLyogVW5zZXQgKi8KKwljLT54ODZfbW9kZWxfaWRbMF0gPSAnXDAnOyAgLyogVW5zZXQgKi8KKwljLT54ODZfY2xmbHVzaF9zaXplID0gNjQ7CisJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemU7CisJYy0+eDg2X21heF9jb3JlcyA9IDE7CisJYy0+eDg2X2NvcmVpZF9iaXRzID0gMDsKKwljLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA9IDA7CisJbWVtc2V0KCZjLT54ODZfY2FwYWJpbGl0eSwgMCwgc2l6ZW9mIGMtPng4Nl9jYXBhYmlsaXR5KTsKKworCS8qIEdldCB2ZW5kb3IgbmFtZSAqLworCWNwdWlkKDB4MDAwMDAwMDAsICh1bnNpZ25lZCBpbnQgKikmYy0+Y3B1aWRfbGV2ZWwsCisJICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzBdLAorCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFs4XSwKKwkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbNF0pOworCisJZ2V0X2NwdV92ZW5kb3IoYyk7CisKKwkvKiBJbml0aWFsaXplIHRoZSBzdGFuZGFyZCBzZXQgb2YgY2FwYWJpbGl0aWVzICovCisJLyogTm90ZSB0aGF0IHRoZSB2ZW5kb3Itc3BlY2lmaWMgY29kZSBiZWxvdyBtaWdodCBvdmVycmlkZSAqLworCisJLyogSW50ZWwtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHgwMDAwMDAwMSAqLworCWlmIChjLT5jcHVpZF9sZXZlbCA+PSAweDAwMDAwMDAxKSB7CisJCV9fdTMyIG1pc2M7CisJCWNwdWlkKDB4MDAwMDAwMDEsICZ0Zm1zLCAmbWlzYywgJmMtPng4Nl9jYXBhYmlsaXR5WzRdLAorCQkgICAgICAmYy0+eDg2X2NhcGFiaWxpdHlbMF0pOworCQljLT54ODYgPSAodGZtcyA+PiA4KSAmIDB4ZjsKKwkJYy0+eDg2X21vZGVsID0gKHRmbXMgPj4gNCkgJiAweGY7CisJCWMtPng4Nl9tYXNrID0gdGZtcyAmIDB4ZjsKKwkJaWYgKGMtPng4NiA9PSAweGYpCisJCQljLT54ODYgKz0gKHRmbXMgPj4gMjApICYgMHhmZjsKKwkJaWYgKGMtPng4NiA+PSAweDYpCisJCQljLT54ODZfbW9kZWwgKz0gKCh0Zm1zID4+IDE2KSAmIDB4RikgPDwgNDsKKwkJaWYgKHRlc3RfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DTEZMU0gpKQorCQkJYy0+eDg2X2NsZmx1c2hfc2l6ZSA9ICgobWlzYyA+PiA4KSAmIDB4ZmYpICogODsKKwl9IGVsc2UgeworCQkvKiBIYXZlIENQVUlEIGxldmVsIDAgb25seSAtIHVuaGVhcmQgb2YgKi8KKwkJYy0+eDg2ID0gNDsKKwl9CisKKwljLT5pbml0aWFsX2FwaWNpZCA9IChjcHVpZF9lYngoMSkgPj4gMjQpICYgMHhmZjsKKyNpZmRlZiBDT05GSUdfU01QCisJYy0+cGh5c19wcm9jX2lkID0gYy0+aW5pdGlhbF9hcGljaWQ7CisjZW5kaWYKKwkvKiBBTUQtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHg4MDAwMDAwMSAqLworCXhsdmwgPSBjcHVpZF9lYXgoMHg4MDAwMDAwMCk7CisJYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSB4bHZsOworCWlmICgoeGx2bCAmIDB4ZmZmZjAwMDApID09IDB4ODAwMDAwMDApIHsKKwkJaWYgKHhsdmwgPj0gMHg4MDAwMDAwMSkgeworCQkJYy0+eDg2X2NhcGFiaWxpdHlbMV0gPSBjcHVpZF9lZHgoMHg4MDAwMDAwMSk7CisJCQljLT54ODZfY2FwYWJpbGl0eVs2XSA9IGNwdWlkX2VjeCgweDgwMDAwMDAxKTsKKwkJfQorCQlpZiAoeGx2bCA+PSAweDgwMDAwMDA0KQorCQkJZ2V0X21vZGVsX25hbWUoYyk7IC8qIERlZmF1bHQgbmFtZSAqLworCX0KKworCS8qIFRyYW5zbWV0YS1kZWZpbmVkIGZsYWdzOiBsZXZlbCAweDgwODYwMDAxICovCisJeGx2bCA9IGNwdWlkX2VheCgweDgwODYwMDAwKTsKKwlpZiAoKHhsdmwgJiAweGZmZmYwMDAwKSA9PSAweDgwODYwMDAwKSB7CisJCS8qIERvbid0IHNldCB4ODZfY3B1aWRfbGV2ZWwgaGVyZSBmb3Igbm93IHRvIG5vdCBjb25mdXNlLiAqLworCQlpZiAoeGx2bCA+PSAweDgwODYwMDAxKQorCQkJYy0+eDg2X2NhcGFiaWxpdHlbMl0gPSBjcHVpZF9lZHgoMHg4MDg2MDAwMSk7CisJfQorCisJYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSBjcHVpZF9lYXgoMHg4MDAwMDAwMCk7CisJaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID49IDB4ODAwMDAwMDcpCisJCWMtPng4Nl9wb3dlciA9IGNwdWlkX2VkeCgweDgwMDAwMDA3KTsKKworCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA4KSB7CisJCXUzMiBlYXggPSBjcHVpZF9lYXgoMHg4MDAwMDAwOCk7CisKKwkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOworCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKKwl9CisKKwkvKiBBc3N1bWUgYWxsIDY0LWJpdCBDUFVzIHN1cHBvcnQgMzItYml0IHN5c2NhbGwgKi8KKwlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9TWVNDQUxMMzIpOworCisJaWYgKGMtPng4Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9VTktOT1dOICYmCisJICAgIGNwdV9kZXZzW2MtPng4Nl92ZW5kb3JdLT5jX2Vhcmx5X2luaXQpCisJCWNwdV9kZXZzW2MtPng4Nl92ZW5kb3JdLT5jX2Vhcmx5X2luaXQoYyk7CisKKwl2YWxpZGF0ZV9wYXRfc3VwcG9ydChjKTsKKworCS8qIGVhcmx5X3BhcmFtIGNvdWxkIGNsZWFyIHRoYXQsIGJ1dCByZWNhbGwgZ2V0IGl0IHNldCBhZ2FpbiAqLworCWlmIChkaXNhYmxlX2FwaWMpCisJCWNsZWFyX2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVBJQyk7Cit9CisKKy8qCisgKiBUaGlzIGRvZXMgdGhlIGhhcmQgd29yayBvZiBhY3R1YWxseSBwaWNraW5nIGFwYXJ0IHRoZSBDUFUgc3R1ZmYuLi4KKyAqLworc3RhdGljIHZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaW50IGk7CisKKwllYXJseV9pZGVudGlmeV9jcHUoYyk7CisKKwlpbml0X3NjYXR0ZXJlZF9jcHVpZF9mZWF0dXJlcyhjKTsKKworCWMtPmFwaWNpZCA9IHBoeXNfcGtnX2lkKDApOworCisJLyoKKwkgKiBWZW5kb3Itc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24uICBJbiB0aGlzIHNlY3Rpb24gd2UKKwkgKiBjYW5vbmljYWxpemUgdGhlIGZlYXR1cmUgZmxhZ3MsIG1lYW5pbmcgaWYgdGhlcmUgYXJlCisJICogZmVhdHVyZXMgYSBjZXJ0YWluIENQVSBzdXBwb3J0cyB3aGljaCBDUFVJRCBkb2Vzbid0CisJICogdGVsbCB1cywgQ1BVSUQgY2xhaW1pbmcgaW5jb3JyZWN0IGZsYWdzLCBvciBvdGhlciBidWdzLAorCSAqIHdlIGhhbmRsZSB0aGVtIGhlcmUuCisJICoKKwkgKiBBdCB0aGUgZW5kIG9mIHRoaXMgc2VjdGlvbiwgYy0+eDg2X2NhcGFiaWxpdHkgYmV0dGVyCisJICogaW5kaWNhdGUgdGhlIGZlYXR1cmVzIHRoaXMgQ1BVIGdlbnVpbmVseSBzdXBwb3J0cyEKKwkgKi8KKwlpZiAodGhpc19jcHUtPmNfaW5pdCkKKwkJdGhpc19jcHUtPmNfaW5pdChjKTsKKworCWRldGVjdF9odChjKTsKKworCS8qCisJICogT24gU01QLCBib290X2NwdV9kYXRhIGhvbGRzIHRoZSBjb21tb24gZmVhdHVyZSBzZXQgYmV0d2VlbgorCSAqIGFsbCBDUFVzOyBzbyBtYWtlIHN1cmUgdGhhdCB3ZSBpbmRpY2F0ZSB3aGljaCBmZWF0dXJlcyBhcmUKKwkgKiBjb21tb24gYmV0d2VlbiB0aGUgQ1BVcy4gIFRoZSBmaXJzdCB0aW1lIHRoaXMgcm91dGluZSBnZXRzCisJICogZXhlY3V0ZWQsIGMgPT0gJmJvb3RfY3B1X2RhdGEuCisJICovCisJaWYgKGMgIT0gJmJvb3RfY3B1X2RhdGEpIHsKKwkJLyogQU5EIHRoZSBhbHJlYWR5IGFjY3VtdWxhdGVkIGZsYWdzIHdpdGggdGhlc2UgKi8KKwkJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCisJCQlib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5W2ldICY9IGMtPng4Nl9jYXBhYmlsaXR5W2ldOworCX0KKworCS8qIENsZWFyIGFsbCBmbGFncyBvdmVycmlkZW4gYnkgb3B0aW9ucyAqLworCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQorCQljLT54ODZfY2FwYWJpbGl0eVtpXSAmPSB+Y2xlYXJlZF9jcHVfY2Fwc1tpXTsKKworI2lmZGVmIENPTkZJR19YODZfTUNFCisJbWNoZWNrX2luaXQoYyk7CisjZW5kaWYKKwlzZWxlY3RfaWRsZV9yb3V0aW5lKGMpOworCisjaWZkZWYgQ09ORklHX05VTUEKKwludW1hX2FkZF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKyNlbmRpZgorCit9CisKK3ZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpCit7CisJaWRlbnRpZnlfY3B1KCZib290X2NwdV9kYXRhKTsKK30KKwordm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJQlVHX09OKGMgPT0gJmJvb3RfY3B1X2RhdGEpOworCWlkZW50aWZ5X2NwdShjKTsKKwltdHJyX2FwX2luaXQoKTsKK30KKworc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfbm9jbGZsdXNoKGNoYXIgKmFyZykKK3sKKwlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0NMRkxTSCk7CisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJub2NsZmx1c2giLCBzZXR1cF9ub2NsZmx1c2gpOworCit2b2lkIF9fY3B1aW5pdCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit7CisJaWYgKGMtPng4Nl9tb2RlbF9pZFswXSkKKwkJcHJpbnRrKEtFUk5fQ09OVCAiJXMiLCBjLT54ODZfbW9kZWxfaWQpOworCisJaWYgKGMtPng4Nl9tYXNrIHx8IGMtPmNwdWlkX2xldmVsID49IDApCisJCXByaW50ayhLRVJOX0NPTlQgIiBzdGVwcGluZyAlMDJ4XG4iLCBjLT54ODZfbWFzayk7CisJZWxzZQorCQlwcmludGsoS0VSTl9DT05UICJcbiIpOworfQorCitzdGF0aWMgX19pbml0IGludCBzZXR1cF9kaXNhYmxlY3B1aWQoY2hhciAqYXJnKQoreworCWludCBiaXQ7CisJaWYgKGdldF9vcHRpb24oJmFyZywgJmJpdCkgJiYgYml0IDwgTkNBUElOVFMqMzIpCisJCXNldHVwX2NsZWFyX2NwdV9jYXAoYml0KTsKKwllbHNlCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorX19zZXR1cCgiY2xlYXJjcHVpZD0iLCBzZXR1cF9kaXNhYmxlY3B1aWQpOworCitjcHVtYXNrX3QgY3B1X2luaXRpYWxpemVkIF9fY3B1aW5pdGRhdGEgPSBDUFVfTUFTS19OT05FOworCitzdHJ1Y3QgeDg2NjRfcGRhICoqX2NwdV9wZGEgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woX2NwdV9wZGEpOworCitzdHJ1Y3QgZGVzY19wdHIgaWR0X2Rlc2NyID0geyAyNTYgKiAxNiAtIDEsICh1bnNpZ25lZCBsb25nKSBpZHRfdGFibGUgfTsKKworY2hhciBib290X2NwdV9zdGFja1tJUlFTVEFDS1NJWkVdIF9fcGFnZV9hbGlnbmVkX2JzczsKKwordW5zaWduZWQgbG9uZyBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfjBVTDsKK0VYUE9SVF9TWU1CT0xfR1BMKF9fc3VwcG9ydGVkX3B0ZV9tYXNrKTsKKworc3RhdGljIGludCBkb19ub3RfbnggX19jcHVpbml0ZGF0YTsKKworLyogbm9leGVjPW9ufG9mZgorQ29udHJvbCBub24gZXhlY3V0YWJsZSBtYXBwaW5ncyBmb3IgNjRiaXQgcHJvY2Vzc2VzLgorCitvbglFbmFibGUoZGVmYXVsdCkKK29mZglEaXNhYmxlCisqLworc3RhdGljIGludCBfX2luaXQgbm9ueF9zZXR1cChjaGFyICpzdHIpCit7CisJaWYgKCFzdHIpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghc3RybmNtcChzdHIsICJvbiIsIDIpKSB7CisJCV9fc3VwcG9ydGVkX3B0ZV9tYXNrIHw9IF9QQUdFX05YOworCQlkb19ub3RfbnggPSAwOworCX0gZWxzZSBpZiAoIXN0cm5jbXAoc3RyLCAib2ZmIiwgMykpIHsKKwkJZG9fbm90X254ID0gMTsKKwkJX19zdXBwb3J0ZWRfcHRlX21hc2sgJj0gfl9QQUdFX05YOworCX0KKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJub2V4ZWMiLCBub254X3NldHVwKTsKKworaW50IGZvcmNlX3BlcnNvbmFsaXR5MzI7CisKKy8qIG5vZXhlYzMyPW9ufG9mZgorQ29udHJvbCBub24gZXhlY3V0YWJsZSBoZWFwIGZvciAzMmJpdCBwcm9jZXNzZXMuCitUbyBjb250cm9sIHRoZSBzdGFjayB0b28gdXNlIG5vZXhlYz1vZmYKKworb24JUFJPVF9SRUFEIGRvZXMgbm90IGltcGx5IFBST1RfRVhFQyBmb3IgMzJiaXQgcHJvY2Vzc2VzIChkZWZhdWx0KQorb2ZmCVBST1RfUkVBRCBpbXBsaWVzIFBST1RfRVhFQworKi8KK3N0YXRpYyBpbnQgX19pbml0IG5vbngzMl9zZXR1cChjaGFyICpzdHIpCit7CisJaWYgKCFzdHJjbXAoc3RyLCAib24iKSkKKwkJZm9yY2VfcGVyc29uYWxpdHkzMiAmPSB+UkVBRF9JTVBMSUVTX0VYRUM7CisJZWxzZSBpZiAoIXN0cmNtcChzdHIsICJvZmYiKSkKKwkJZm9yY2VfcGVyc29uYWxpdHkzMiB8PSBSRUFEX0lNUExJRVNfRVhFQzsKKwlyZXR1cm4gMTsKK30KK19fc2V0dXAoIm5vZXhlYzMyPSIsIG5vbngzMl9zZXR1cCk7CisKK3ZvaWQgcGRhX2luaXQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgeDg2NjRfcGRhICpwZGEgPSBjcHVfcGRhKGNwdSk7CisKKwkvKiBTZXR1cCB1cCBkYXRhIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiBfX2dldF9mcmVlX3BhZ2VzIGVhcmx5ICovCisJbG9hZHNlZ21lbnQoZnMsIDApOworCWxvYWRzZWdtZW50KGdzLCAwKTsKKwkvKiBNZW1vcnkgY2xvYmJlcnMgdXNlZCB0byBvcmRlciBQREEgYWNjZXNzZWQgKi8KKwltYigpOworCXdybXNybChNU1JfR1NfQkFTRSwgcGRhKTsKKwltYigpOworCisJcGRhLT5jcHVudW1iZXIgPSBjcHU7CisJcGRhLT5pcnFjb3VudCA9IC0xOworCXBkYS0+a2VybmVsc3RhY2sgPSAodW5zaWduZWQgbG9uZylzdGFja190aHJlYWRfaW5mbygpIC0KKwkJCQkgUERBX1NUQUNLT0ZGU0VUICsgVEhSRUFEX1NJWkU7CisJcGRhLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKKwlwZGEtPm1tdV9zdGF0ZSA9IDA7CisKKwlpZiAoY3B1ID09IDApIHsKKwkJLyogb3RoZXJzIGFyZSBpbml0aWFsaXplZCBpbiBzbXBib290LmMgKi8KKwkJcGRhLT5wY3VycmVudCA9ICZpbml0X3Rhc2s7CisJCXBkYS0+aXJxc3RhY2twdHIgPSBib290X2NwdV9zdGFjazsKKwl9IGVsc2UgeworCQlwZGEtPmlycXN0YWNrcHRyID0gKGNoYXIgKikKKwkJCV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgSVJRU1RBQ0tfT1JERVIpOworCQlpZiAoIXBkYS0+aXJxc3RhY2twdHIpCisJCQlwYW5pYygiY2Fubm90IGFsbG9jYXRlIGlycXN0YWNrIGZvciBjcHUgJWQiLCBjcHUpOworCisJCWlmIChwZGEtPm5vZGVudW1iZXIgPT0gMCAmJiBjcHVfdG9fbm9kZShjcHUpICE9IE5VTUFfTk9fTk9ERSkKKwkJCXBkYS0+bm9kZW51bWJlciA9IGNwdV90b19ub2RlKGNwdSk7CisJfQorCisJcGRhLT5pcnFzdGFja3B0ciArPSBJUlFTVEFDS1NJWkUtNjQ7Cit9CisKK2NoYXIgYm9vdF9leGNlcHRpb25fc3RhY2tzWyhOX0VYQ0VQVElPTl9TVEFDS1MgLSAxKSAqIEVYQ0VQVElPTl9TVEtTWiArCisJCQkgICBERUJVR19TVEtTWl0KK19fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBpZ25vcmVfc3lzcmV0KHZvaWQpOworCisvKiBNYXkgbm90IGJlIG1hcmtlZCBfX2luaXQ6IHVzZWQgYnkgc29mdHdhcmUgc3VzcGVuZCAqLwordm9pZCBzeXNjYWxsX2luaXQodm9pZCkKK3sKKwkvKgorCSAqIExTVEFSIGFuZCBTVEFSIGxpdmUgaW4gYSBiaXQgc3RyYW5nZSBzeW1iaW9zaXMuCisJICogVGhleSBib3RoIHdyaXRlIHRvIHRoZSBzYW1lIGludGVybmFsIHJlZ2lzdGVyLiBTVEFSIGFsbG93cyB0bworCSAqIHNldCBDUy9EUyBidXQgb25seSBhIDMyYml0IHRhcmdldC4gTFNUQVIgc2V0cyB0aGUgNjRiaXQgcmlwLgorCSAqLworCXdybXNybChNU1JfU1RBUiwgICgodTY0KV9fVVNFUjMyX0NTKTw8NDggIHwgKCh1NjQpX19LRVJORUxfQ1MpPDwzMik7CisJd3Jtc3JsKE1TUl9MU1RBUiwgc3lzdGVtX2NhbGwpOworCXdybXNybChNU1JfQ1NUQVIsIGlnbm9yZV9zeXNyZXQpOworCisjaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OCisJc3lzY2FsbDMyX2NwdV9pbml0KCk7CisjZW5kaWYKKworCS8qIEZsYWdzIHRvIGNsZWFyIG9uIHN5c2NhbGwgKi8KKwl3cm1zcmwoTVNSX1NZU0NBTExfTUFTSywKKwkgICAgICAgWDg2X0VGTEFHU19URnxYODZfRUZMQUdTX0RGfFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19JT1BMKTsKK30KKwordm9pZCBfX2NwdWluaXQgY2hlY2tfZWZlcih2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZWZlcjsKKworCXJkbXNybChNU1JfRUZFUiwgZWZlcik7CisJaWYgKCEoZWZlciAmIEVGRVJfTlgpIHx8IGRvX25vdF9ueCkKKwkJX19zdXBwb3J0ZWRfcHRlX21hc2sgJj0gfl9QQUdFX05YOworfQorCit1bnNpZ25lZCBsb25nIGtlcm5lbF9lZmxhZ3M7CisKKy8qCisgKiBDb3BpZXMgb2YgdGhlIG9yaWdpbmFsIGlzdCB2YWx1ZXMgZnJvbSB0aGUgdHNzIGFyZSBvbmx5IGFjY2Vzc2VkIGR1cmluZworICogZGVidWdnaW5nLCBubyBzcGVjaWFsIGFsaWdubWVudCByZXF1aXJlZC4KKyAqLworREVGSU5FX1BFUl9DUFUoc3RydWN0IG9yaWdfaXN0LCBvcmlnX2lzdCk7CisKKy8qCisgKiBjcHVfaW5pdCgpIGluaXRpYWxpemVzIHN0YXRlIHRoYXQgaXMgcGVyLUNQVS4gU29tZSBkYXRhIGlzIGFscmVhZHkKKyAqIGluaXRpYWxpemVkIChuYXR1cmFsbHkpIGluIHRoZSBib290c3RyYXAgcHJvY2Vzcywgc3VjaCBhcyB0aGUgR0RUCisgKiBhbmQgSURULiBXZSByZWxvYWQgdGhlbSBuZXZlcnRoZWxlc3MsIHRoaXMgZnVuY3Rpb24gYWN0cyBhcyBhCisgKiAnQ1BVIHN0YXRlIGJhcnJpZXInLCBub3RoaW5nIHNob3VsZCBnZXQgYWNyb3NzLgorICogQSBsb3Qgb2Ygc3RhdGUgaXMgYWxyZWFkeSBzZXQgdXAgaW4gUERBIGluaXQuCisgKi8KK3ZvaWQgX19jcHVpbml0IGNwdV9pbml0KHZvaWQpCit7CisJaW50IGNwdSA9IHN0YWNrX3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlzdHJ1Y3QgdHNzX3N0cnVjdCAqdCA9ICZwZXJfY3B1KGluaXRfdHNzLCBjcHUpOworCXN0cnVjdCBvcmlnX2lzdCAqb3JpZ19pc3QgPSAmcGVyX2NwdShvcmlnX2lzdCwgY3B1KTsKKwl1bnNpZ25lZCBsb25nIHY7CisJY2hhciAqZXN0YWNrcyA9IE5VTEw7CisJc3RydWN0IHRhc2tfc3RydWN0ICptZTsKKwlpbnQgaTsKKworCS8qIENQVSAwIGlzIGluaXRpYWxpc2VkIGluIGhlYWQ2NC5jICovCisJaWYgKGNwdSAhPSAwKQorCQlwZGFfaW5pdChjcHUpOworCWVsc2UKKwkJZXN0YWNrcyA9IGJvb3RfZXhjZXB0aW9uX3N0YWNrczsKKworCW1lID0gY3VycmVudDsKKworCWlmIChjcHVfdGVzdF9hbmRfc2V0KGNwdSwgY3B1X2luaXRpYWxpemVkKSkKKwkJcGFuaWMoIkNQVSMlZCBhbHJlYWR5IGluaXRpYWxpemVkIVxuIiwgY3B1KTsKKworCXByaW50ayhLRVJOX0lORk8gIkluaXRpYWxpemluZyBDUFUjJWRcbiIsIGNwdSk7CisKKwljbGVhcl9pbl9jcjQoWDg2X0NSNF9WTUV8WDg2X0NSNF9QVkl8WDg2X0NSNF9UU0R8WDg2X0NSNF9ERSk7CisKKwkvKgorCSAqIEluaXRpYWxpemUgdGhlIHBlci1DUFUgR0RUIHdpdGggdGhlIGJvb3QgR0RULAorCSAqIGFuZCBzZXQgdXAgdGhlIEdEVCBkZXNjcmlwdG9yOgorCSAqLworCisJc3dpdGNoX3RvX25ld19nZHQoKTsKKwlsb2FkX2lkdCgoY29uc3Qgc3RydWN0IGRlc2NfcHRyICopJmlkdF9kZXNjcik7CisKKwltZW1zZXQobWUtPnRocmVhZC50bHNfYXJyYXksIDAsIEdEVF9FTlRSWV9UTFNfRU5UUklFUyAqIDgpOworCXN5c2NhbGxfaW5pdCgpOworCisJd3Jtc3JsKE1TUl9GU19CQVNFLCAwKTsKKwl3cm1zcmwoTVNSX0tFUk5FTF9HU19CQVNFLCAwKTsKKwliYXJyaWVyKCk7CisKKwljaGVja19lZmVyKCk7CisKKwkvKgorCSAqIHNldCB1cCBhbmQgbG9hZCB0aGUgcGVyLUNQVSBUU1MKKwkgKi8KKwlmb3IgKHYgPSAwOyB2IDwgTl9FWENFUFRJT05fU1RBQ0tTOyB2KyspIHsKKwkJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBvcmRlcltOX0VYQ0VQVElPTl9TVEFDS1NdID0geworCQkJWzAgLi4uIE5fRVhDRVBUSU9OX1NUQUNLUyAtIDFdID0gRVhDRVBUSU9OX1NUQUNLX09SREVSLAorCQkJW0RFQlVHX1NUQUNLIC0gMV0gPSBERUJVR19TVEFDS19PUkRFUgorCQl9OworCQlpZiAoY3B1KSB7CisJCQllc3RhY2tzID0gKGNoYXIgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIG9yZGVyW3ZdKTsKKwkJCWlmICghZXN0YWNrcykKKwkJCQlwYW5pYygiQ2Fubm90IGFsbG9jYXRlIGV4Y2VwdGlvbiBzdGFjayAlbGQgJWRcbiIsCisJCQkJICAgICAgdiwgY3B1KTsKKwkJfQorCQllc3RhY2tzICs9IFBBR0VfU0laRSA8PCBvcmRlclt2XTsKKwkJb3JpZ19pc3QtPmlzdFt2XSA9IHQtPng4Nl90c3MuaXN0W3ZdID0gKHVuc2lnbmVkIGxvbmcpZXN0YWNrczsKKwl9CisKKwl0LT54ODZfdHNzLmlvX2JpdG1hcF9iYXNlID0gb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3QsIGlvX2JpdG1hcCk7CisJLyoKKwkgKiA8PSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBDUFUgd2lsbCBhY2Nlc3MgdXAgdG8KKwkgKiA4IGJpdHMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIElPIHBlcm1pc3Npb24gYml0bWFwLgorCSAqLworCWZvciAoaSA9IDA7IGkgPD0gSU9fQklUTUFQX0xPTkdTOyBpKyspCisJCXQtPmlvX2JpdG1hcFtpXSA9IH4wVUw7CisKKwlhdG9taWNfaW5jKCZpbml0X21tLm1tX2NvdW50KTsKKwltZS0+YWN0aXZlX21tID0gJmluaXRfbW07CisJaWYgKG1lLT5tbSkKKwkJQlVHKCk7CisJZW50ZXJfbGF6eV90bGIoJmluaXRfbW0sIG1lKTsKKworCWxvYWRfc3AwKHQsICZjdXJyZW50LT50aHJlYWQpOworCXNldF90c3NfZGVzYyhjcHUsIHQpOworCWxvYWRfVFJfZGVzYygpOworCWxvYWRfTERUKCZpbml0X21tLmNvbnRleHQpOworCisjaWZkZWYgQ09ORklHX0tHREIKKwkvKgorCSAqIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAgVGhpcworCSAqIGlzIG9ubHkgYXBwbGljYWJsZSB3aGVuIEtHREIgYW5kIGEgS0dEQiBJL08gbW9kdWxlIGFyZSBidWlsdAorCSAqIGludG8gdGhlIGtlcm5lbCBhbmQgeW91IGFyZSB1c2luZyBlYXJseSBkZWJ1Z2dpbmcgd2l0aAorCSAqIGtnZGJ3YWl0LiBLR0RCIHdpbGwgY29udHJvbCB0aGUga2VybmVsIEhXIGJyZWFrcG9pbnQgcmVnaXN0ZXJzLgorCSAqLworCWlmIChrZ2RiX2Nvbm5lY3RlZCAmJiBhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWspCisJCWFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaygpOworCWVsc2UgeworI2VuZGlmCisJLyoKKwkgKiBDbGVhciBhbGwgNiBkZWJ1ZyByZWdpc3RlcnM6CisJICovCisKKwlzZXRfZGVidWdyZWcoMFVMLCAwKTsKKwlzZXRfZGVidWdyZWcoMFVMLCAxKTsKKwlzZXRfZGVidWdyZWcoMFVMLCAyKTsKKwlzZXRfZGVidWdyZWcoMFVMLCAzKTsKKwlzZXRfZGVidWdyZWcoMFVMLCA2KTsKKwlzZXRfZGVidWdyZWcoMFVMLCA3KTsKKyNpZmRlZiBDT05GSUdfS0dEQgorCS8qIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAqLworCX0KKyNlbmRpZgorCisJZnB1X2luaXQoKTsKKworCXJhd19sb2NhbF9zYXZlX2ZsYWdzKGtlcm5lbF9lZmxhZ3MpOworCisJaWYgKGlzX3V2X3N5c3RlbSgpKQorCQl1dl9jcHVfaW5pdCgpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9jcHUuaCBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1LmgKaW5kZXggNzgzNjkxYi4uNGQ4OTRlOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9jcHUuaAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdS5oCkBAIC0xLDMgKzEsNiBAQAorI2lmbmRlZiBBUkNIX1g4Nl9DUFVfSAorCisjZGVmaW5lIEFSQ0hfWDg2X0NQVV9ICiAKIHN0cnVjdCBjcHVfbW9kZWxfaW5mbyB7CiAJaW50IHZlbmRvcjsKQEAgLTM2LDMgKzM5LDUgQEAKIAogZXh0ZXJuIGludCBnZXRfbW9kZWxfbmFtZShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpOwogZXh0ZXJuIHZvaWQgZGlzcGxheV9jYWNoZWluZm8oc3RydWN0IGNwdWluZm9feDg2ICpjKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdWZyZXEvY3B1ZnJlcS1uZm9yY2UyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdWZyZXEvY3B1ZnJlcS1uZm9yY2UyLmMKaW5kZXggZjAzZTkxNTMuLjk2NWVhNTIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3B1ZnJlcS9jcHVmcmVxLW5mb3JjZTIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NwdWZyZXEvY3B1ZnJlcS1uZm9yY2UyLmMKQEAgLTI2LDkgKzI2LDEwIEBACiAjZGVmaW5lIE5GT1JDRTJfU0FGRV9ESVNUQU5DRSA1MAogCiAvKiBEZWxheSBpbiBtcyBiZXR3ZWVuIEZTQiBjaGFuZ2VzICovCi0vLyNkZWZpbmUgTkZPUkNFMl9ERUxBWSAxMAorLyogI2RlZmluZSBORk9SQ0UyX0RFTEFZIDEwICovCiAKLS8qIG5mb3JjZTJfY2hpcHNldDoKKy8qCisgKiBuZm9yY2UyX2NoaXBzZXQ6CiAgKiBGU0IgaXMgY2hhbmdlZCB1c2luZyB0aGUgY2hpcHNldAogICovCiBzdGF0aWMgc3RydWN0IHBjaV9kZXYgKm5mb3JjZTJfY2hpcHNldF9kZXY7CkBAIC0zNiwxMyArMzcsMTMgQEAKIC8qIGZpZDoKICAqIG11bHRpcGxpZXIgKiAxMAogICovCi1zdGF0aWMgaW50IGZpZCA9IDA7CitzdGF0aWMgaW50IGZpZDsKIAogLyogbWluX2ZzYiwgbWF4X2ZzYjoKICAqIG1pbmltdW0gYW5kIG1heGltdW0gRlNCICg9IEZTQiBhdCBib290IHRpbWUpCiAgKi8KLXN0YXRpYyBpbnQgbWluX2ZzYiA9IDA7Ci1zdGF0aWMgaW50IG1heF9mc2IgPSAwOworc3RhdGljIGludCBtaW5fZnNiOworc3RhdGljIGludCBtYXhfZnNiOwogCiBNT0RVTEVfQVVUSE9SKCJTZWJhc3RpYW4gV2l0dCA8c2Uud2l0dEBnbXgubmV0PiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJuRm9yY2UyIEZTQiBjaGFuZ2luZyBjcHVmcmVxIGRyaXZlciIpOwpAQCAtNTMsNyArNTQsNyBAQAogCiBNT0RVTEVfUEFSTV9ERVNDKGZpZCwgIkNQVSBtdWx0aXBsaWVyIHRvIHVzZSAoMTEuNSA9IDExNSkiKTsKIE1PRFVMRV9QQVJNX0RFU0MobWluX2ZzYiwKLSAgICAgICAgICAgICAgICAgIk1pbmltdW0gRlNCIHRvIHVzZSwgaWYgbm90IGRlZmluZWQ6IGN1cnJlbnQgRlNCIC0gNTAiKTsKKwkJIk1pbmltdW0gRlNCIHRvIHVzZSwgaWYgbm90IGRlZmluZWQ6IGN1cnJlbnQgRlNCIC0gNTAiKTsKIAogI2RlZmluZSBkcHJpbnRrKG1zZy4uLikgY3B1ZnJlcV9kZWJ1Z19wcmludGsoQ1BVRlJFUV9ERUJVR19EUklWRVIsICJjcHVmcmVxLW5mb3JjZTIiLCBtc2cpCiAKQEAgLTEzOSw3ICsxNDAsNyBAQAogCiAJLyogR2V0IGNoaXBzZXQgYm9vdCBGU0IgZnJvbSBzdWJkZXZpY2UgNSAoRlNCIGF0IGJvb3QtdGltZSkgKi8KIAluZm9yY2UyX3N1YjUgPSBwY2lfZ2V0X3N1YnN5cyhQQ0lfVkVORE9SX0lEX05WSURJQSwKLQkJCQkJCTB4MDFFRixQQ0lfQU5ZX0lELFBDSV9BTllfSUQsTlVMTCk7CisJCQkJCQkweDAxRUYsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIE5VTEwpOwogCWlmICghbmZvcmNlMl9zdWI1KQogCQlyZXR1cm4gMDsKIApAQCAtMTQ3LDEzICsxNDgsMTMgQEAKIAlmc2IgLz0gMTAwMDAwMDsKIAogCS8qIENoZWNrIGlmIFBMTCByZWdpc3RlciBpcyBhbHJlYWR5IHNldCAqLwotCXBjaV9yZWFkX2NvbmZpZ19ieXRlKG5mb3JjZTJfY2hpcHNldF9kZXYsTkZPUkNFMl9QTExFTkFCTEUsICh1OCAqKSZ0ZW1wKTsKKwlwY2lfcmVhZF9jb25maWdfYnl0ZShuZm9yY2UyX2NoaXBzZXRfZGV2LCBORk9SQ0UyX1BMTEVOQUJMRSwgKHU4ICopJnRlbXApOwogCi0JaWYoYm9vdGZzYiB8fCAhdGVtcCkKKwlpZiAoYm9vdGZzYiB8fCAhdGVtcCkKIAkJcmV0dXJuIGZzYjsKLQkJCisKIAkvKiBVc2UgUExMIHJlZ2lzdGVyIEZTQiB2YWx1ZSAqLwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuZm9yY2UyX2NoaXBzZXRfZGV2LE5GT1JDRTJfUExMUkVHLCAmdGVtcCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5mb3JjZTJfY2hpcHNldF9kZXYsIE5GT1JDRTJfUExMUkVHLCAmdGVtcCk7CiAJZnNiID0gbmZvcmNlMl9jYWxjX2ZzYih0ZW1wKTsKIAogCXJldHVybiBmc2I7CkBAIC0xODQsNyArMTg1LDcgQEAKIAl9CiAKIAkvKiBGaXJzdCB3cml0ZT8gVGhlbiBzZXQgYWN0dWFsIHZhbHVlICovCi0JcGNpX3JlYWRfY29uZmlnX2J5dGUobmZvcmNlMl9jaGlwc2V0X2RldixORk9SQ0UyX1BMTEVOQUJMRSwgKHU4ICopJnRlbXApOworCXBjaV9yZWFkX2NvbmZpZ19ieXRlKG5mb3JjZTJfY2hpcHNldF9kZXYsIE5GT1JDRTJfUExMRU5BQkxFLCAodTggKikmdGVtcCk7CiAJaWYgKCF0ZW1wKSB7CiAJCXBsbCA9IG5mb3JjZTJfY2FsY19wbGwodGZzYik7CiAKQEAgLTIxMCw3ICsyMTEsOCBAQAogCQkJdGZzYi0tOwogCiAJCS8qIENhbGN1bGF0ZSB0aGUgUExMIHJlZy4gdmFsdWUgKi8KLQkJaWYgKChwbGwgPSBuZm9yY2UyX2NhbGNfcGxsKHRmc2IpKSA9PSAtMSkKKwkJcGxsID0gbmZvcmNlMl9jYWxjX3BsbCh0ZnNiKTsKKwkJaWYgKHBsbCA9PSAtMSkKIAkJCXJldHVybiAtRUlOVkFMOwogCiAJCW5mb3JjZTJfd3JpdGVfcGxsKHBsbCk7CkBAIC0yNDksNyArMjUxLDcgQEAKIHN0YXRpYyBpbnQgbmZvcmNlMl90YXJnZXQoc3RydWN0IGNwdWZyZXFfcG9saWN5ICpwb2xpY3ksCiAJCQkgIHVuc2lnbmVkIGludCB0YXJnZXRfZnJlcSwgdW5zaWduZWQgaW50IHJlbGF0aW9uKQogewotLy8gICAgICAgIHVuc2lnbmVkIGxvbmcgICAgICAgICBmbGFnczsKKy8qICAgICAgICB1bnNpZ25lZCBsb25nICAgICAgICAgZmxhZ3M7ICovCiAJc3RydWN0IGNwdWZyZXFfZnJlcXMgZnJlcXM7CiAJdW5zaWduZWQgaW50IHRhcmdldF9mc2I7CiAKQEAgLTI3MSwxNyArMjczLDE3IEBACiAJY3B1ZnJlcV9ub3RpZnlfdHJhbnNpdGlvbigmZnJlcXMsIENQVUZSRVFfUFJFQ0hBTkdFKTsKIAogCS8qIERpc2FibGUgSVJRcyAqLwotCS8vbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCS8qIGxvY2FsX2lycV9zYXZlKGZsYWdzKTsgKi8KIAogCWlmIChuZm9yY2UyX3NldF9mc2IodGFyZ2V0X2ZzYikgPCAwKQogCQlwcmludGsoS0VSTl9FUlIgImNwdWZyZXE6IENoYW5naW5nIEZTQiB0byAlZCBmYWlsZWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9mc2IpOworCQkJdGFyZ2V0X2ZzYik7CiAJZWxzZQogCQlkcHJpbnRrKCJDaGFuZ2VkIEZTQiBzdWNjZXNzZnVsbHkgdG8gJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9mc2IpOworCQkJdGFyZ2V0X2ZzYik7CiAKIAkvKiBFbmFibGUgSVJRcyAqLwotCS8vbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCS8qIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsgKi8KIAogCWNwdWZyZXFfbm90aWZ5X3RyYW5zaXRpb24oJmZyZXFzLCBDUFVGUkVRX1BPU1RDSEFOR0UpOwogCkBAIC0zMDIsOCArMzA0LDggQEAKIAkJcG9saWN5LT5tYXggPSAoZnNiX3BvbF9tYXggKyAxKSAqIGZpZCAqIDEwMDsKIAogCWNwdWZyZXFfdmVyaWZ5X3dpdGhpbl9saW1pdHMocG9saWN5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGljeS0+Y3B1aW5mby5taW5fZnJlcSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3ktPmNwdWluZm8ubWF4X2ZyZXEpOworCQkJCSAgICAgcG9saWN5LT5jcHVpbmZvLm1pbl9mcmVxLAorCQkJCSAgICAgcG9saWN5LT5jcHVpbmZvLm1heF9mcmVxKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzQ3LDcgKzM0OSw3IEBACiAJLyogU2V0IG1heGltdW0gRlNCIHRvIEZTQiBhdCBib290IHRpbWUgKi8KIAltYXhfZnNiID0gbmZvcmNlMl9mc2JfcmVhZCgxKTsKIAotCWlmKCFtYXhfZnNiKQorCWlmICghbWF4X2ZzYikKIAkJcmV0dXJuIC1FSU87CiAKIAlpZiAoIW1pbl9mc2IpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsLmMKaW5kZXggZmU5MjI0Yy4uNzA2MDllZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYwpAQCAtMjI2LDYgKzIyNiwxMCBAQAogCiAJaWYgKGNwdV9oYXNfYnRzKQogCQlkc19pbml0X2ludGVsKGMpOworCisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCW51bWFxX3RzY19kaXNhYmxlKCk7CisjZW5kaWYKIH0KIAogc3RhdGljIHVuc2lnbmVkIGludCBfX2NwdWluaXQgaW50ZWxfc2l6ZV9jYWNoZShzdHJ1Y3QgY3B1aW5mb194ODYgKmMsIHVuc2lnbmVkIGludCBzaXplKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF82NC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF82NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMTljNTgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsXzY0LmMKQEAgLTAsMCArMSw5NSBAQAorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9udW1hXzY0Lmg+CisKKyNpbmNsdWRlICJjcHUuaCIKKworc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWlmICgoYy0+eDg2ID09IDB4ZiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwMykgfHwKKwkgICAgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4MGUpKQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOworCisJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfU1lTRU5URVIzMik7Cit9CisKKy8qCisgKiBmaW5kIG91dCB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvciBjb3JlcyBvbiB0aGUgZGllCisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGludGVsX251bV9jcHVfY29yZXMoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVkIGludCBlYXgsIHQ7CisKKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCA0KQorCQlyZXR1cm4gMTsKKworCWNwdWlkX2NvdW50KDQsIDAsICZlYXgsICZ0LCAmdCwgJnQpOworCisJaWYgKGVheCAmIDB4MWYpCisJCXJldHVybiAoKGVheCA+PiAyNikgKyAxKTsKKwllbHNlCisJCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBfX2NwdWluaXQgc3JhdF9kZXRlY3Rfbm9kZSh2b2lkKQoreworI2lmZGVmIENPTkZJR19OVU1BCisJdW5zaWduZWQgbm9kZTsKKwlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCWludCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKKworCS8qIERvbid0IGRvIHRoZSBmdW5reSBmYWxsYmFjayBoZXVyaXN0aWNzIHRoZSBBTUQgdmVyc2lvbiBlbXBsb3lzCisJICAgZm9yIG5vdy4gKi8KKwlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKKwlpZiAobm9kZSA9PSBOVU1BX05PX05PREUgfHwgIW5vZGVfb25saW5lKG5vZGUpKQorCQlub2RlID0gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOworCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKKworCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgX19jcHVpbml0IGluaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCWluaXRfaW50ZWxfY2FjaGVpbmZvKGMpOworCWlmIChjLT5jcHVpZF9sZXZlbCA+IDkpIHsKKwkJdW5zaWduZWQgZWF4ID0gY3B1aWRfZWF4KDEwKTsKKwkJLyogQ2hlY2sgZm9yIHZlcnNpb24gYW5kIHRoZSBudW1iZXIgb2YgY291bnRlcnMgKi8KKwkJaWYgKChlYXggJiAweGZmKSAmJiAoKChlYXg+PjgpICYgMHhmZikgPiAxKSkKKwkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0FSQ0hfUEVSRk1PTik7CisJfQorCisJaWYgKGNwdV9oYXNfZHMpIHsKKwkJdW5zaWduZWQgaW50IGwxLCBsMjsKKwkJcmRtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwxLCBsMik7CisJCWlmICghKGwxICYgKDE8PDExKSkpCisJCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9CVFMpOworCQlpZiAoIShsMSAmICgxPDwxMikpKQorCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUEVCUyk7CisJfQorCisKKwlpZiAoY3B1X2hhc19idHMpCisJCWRzX2luaXRfaW50ZWwoYyk7CisKKwlpZiAoYy0+eDg2ID09IDE1KQorCQljLT54ODZfY2FjaGVfYWxpZ25tZW50ID0gYy0+eDg2X2NsZmx1c2hfc2l6ZSAqIDI7CisJaWYgKGMtPng4NiA9PSA2KQorCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9SRVBfR09PRCk7CisJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfTEZFTkNFX1JEVFNDKTsKKwljLT54ODZfbWF4X2NvcmVzID0gaW50ZWxfbnVtX2NwdV9jb3JlcyhjKTsKKworCXNyYXRfZGV0ZWN0X25vZGUoKTsKK30KKworc3RhdGljIHN0cnVjdCBjcHVfZGV2IGludGVsX2NwdV9kZXYgX19jcHVpbml0ZGF0YSA9IHsKKwkuY192ZW5kb3IJPSAiSW50ZWwiLAorCS5jX2lkZW50CT0geyAiR2VudWluZUludGVsIiB9LAorCS5jX2Vhcmx5X2luaXQgICA9IGVhcmx5X2luaXRfaW50ZWwsCisJLmNfaW5pdAkJPSBpbml0X2ludGVsLAorfTsKK2NwdV92ZW5kb3JfZGV2X3JlZ2lzdGVyKFg4Nl9WRU5ET1JfSU5URUwsICZpbnRlbF9jcHVfZGV2KTsKKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF9jYWNoZWluZm8uYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWxfY2FjaGVpbmZvLmMKaW5kZXggMjZkNjE1ZC4uMmM4YWZhZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbF9jYWNoZWluZm8uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2ludGVsX2NhY2hlaW5mby5jCkBAIC02Miw2ICs2Miw3IEBACiAJeyAweDRiLCBMVkxfMywgICAgICA4MTkyIH0sCS8qIDE2LXdheSBzZXQgYXNzb2MsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDRjLCBMVkxfMywgICAgIDEyMjg4IH0sCS8qIDEyLXdheSBzZXQgYXNzb2MsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDRkLCBMVkxfMywgICAgIDE2Mzg0IH0sCS8qIDE2LXdheSBzZXQgYXNzb2MsIDY0IGJ5dGUgbGluZSBzaXplICovCisJeyAweDRlLCBMVkxfMiwgICAgICA2MTQ0IH0sCS8qIDI0LXdheSBzZXQgYXNzb2MsIDY0IGJ5dGUgbGluZSBzaXplICovCiAJeyAweDYwLCBMVkxfMV9EQVRBLCAxNiB9LAkvKiA4LXdheSBzZXQgYXNzb2MsIHNlY3RvcmVkIGNhY2hlLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwogCXsgMHg2NiwgTFZMXzFfREFUQSwgOCB9LAkvKiA0LXdheSBzZXQgYXNzb2MsIHNlY3RvcmVkIGNhY2hlLCA2NCBieXRlIGxpbmUgc2l6ZSAqLwogCXsgMHg2NywgTFZMXzFfREFUQSwgMTYgfSwJLyogNC13YXkgc2V0IGFzc29jLCBzZWN0b3JlZCBjYWNoZSwgNjQgYnl0ZSBsaW5lIHNpemUgKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL2s3LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9rNy5jCmluZGV4IGU2MzNjOWMuLmYzOTBjOWYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL2s3LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svazcuYwpAQCAtOSwyMyArOSwyMyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCi0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPiAKKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KIAogI2luY2x1ZGUgIm1jZS5oIgogCiAvKiBNYWNoaW5lIENoZWNrIEhhbmRsZXIgRm9yIEFNRCBBdGhsb24vRHVyb24gKi8KLXN0YXRpYyB2b2lkIGs3X21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpCitzdGF0aWMgdm9pZCBrN19tYWNoaW5lX2NoZWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7Ci0JaW50IHJlY292ZXI9MTsKKwlpbnQgcmVjb3ZlciA9IDE7CiAJdTMyIGFsb3csIGFoaWdoLCBoaWdoLCBsb3c7CiAJdTMyIG1jZ3N0bCwgbWNnc3RoOwogCWludCBpOwogCi0JcmRtc3IgKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CiAJaWYgKG1jZ3N0bCAmICgxPDwwKSkJLyogUmVjb3ZlcmFibGUgPyAqLwotCQlyZWNvdmVyPTA7CisJCXJlY292ZXIgPSAwOwogCiAJcHJpbnRrKEtFUk5fRU1FUkcgIkNQVSAlZDogTWFjaGluZSBDaGVjayBFeGNlcHRpb246ICUwOHglMDh4XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIG1jZ3N0aCwgbWNnc3RsKTsKQEAgLTYwLDEyICs2MCwxMiBAQAogCX0KIAogCWlmIChyZWNvdmVyJjIpCi0JCXBhbmljICgiQ1BVIGNvbnRleHQgY29ycnVwdCIpOworCQlwYW5pYygiQ1BVIGNvbnRleHQgY29ycnVwdCIpOwogCWlmIChyZWNvdmVyJjEpCi0JCXBhbmljICgiVW5hYmxlIHRvIGNvbnRpbnVlIik7Ci0JcHJpbnRrIChLRVJOX0VNRVJHICJBdHRlbXB0aW5nIHRvIGNvbnRpbnVlLlxuIik7CisJCXBhbmljKCJVbmFibGUgdG8gY29udGludWUiKTsKKwlwcmludGsoS0VSTl9FTUVSRyAiQXR0ZW1wdGluZyB0byBjb250aW51ZS5cbiIpOwogCW1jZ3N0bCAmPSB+KDE8PDIpOwotCXdybXNyIChNU1JfSUEzMl9NQ0dfU1RBVFVTLG1jZ3N0bCwgbWNnc3RoKTsKKwl3cm1zcihNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CiB9CiAKIApAQCAtODEsMjUgKzgxLDI1IEBACiAJbWFjaGluZV9jaGVja192ZWN0b3IgPSBrN19tYWNoaW5lX2NoZWNrOwogCXdtYigpOwogCi0JcHJpbnRrIChLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC5cbiIpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKKwlwcmludGsoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIGFyY2hpdGVjdHVyZSBzdXBwb3J0ZWQuXG4iKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKIAlpZiAobCAmICgxPDw4KSkJLyogQ29udHJvbCByZWdpc3RlciBwcmVzZW50ID8gKi8KLQkJd3Jtc3IgKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCQl3cm1zcihNU1JfSUEzMl9NQ0dfQ1RMLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKIAlucl9tY2VfYmFua3MgPSBsICYgMHhmZjsKIAogCS8qIENsZWFyIHN0YXR1cyBmb3IgTUMgaW5kZXggMCBzZXBhcmF0ZWx5LCB3ZSBkb24ndCB0b3VjaCBDVEwsCiAJICogYXMgc29tZSBLNyBBdGhsb25zIGNhdXNlIHNwdXJpb3VzIE1DRXMgd2hlbiBpdHMgZW5hYmxlZC4gKi8KIAlpZiAoYm9vdF9jcHVfZGF0YS54ODYgPT0gNikgewotCQl3cm1zciAoTVNSX0lBMzJfTUMwX1NUQVRVUywgMHgwLCAweDApOworCQl3cm1zcihNU1JfSUEzMl9NQzBfU1RBVFVTLCAweDAsIDB4MCk7CiAJCWkgPSAxOwogCX0gZWxzZQogCQlpID0gMDsKLQlmb3IgKDsgaTxucl9tY2VfYmFua3M7IGkrKykgewotCQl3cm1zciAoTVNSX0lBMzJfTUMwX0NUTCs0KmksIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwotCQl3cm1zciAoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDB4MCwgMHgwKTsKKwlmb3IgKDsgaSA8IG5yX21jZV9iYW5rczsgaSsrKSB7CisJCXdybXNyKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDB4MCwgMHgwKTsKIAl9CiAKLQlzZXRfaW5fY3I0IChYODZfQ1I0X01DRSk7Ci0JcHJpbnRrIChLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKKwlzZXRfaW5fY3I0KFg4Nl9DUjRfTUNFKTsKKwlwcmludGsoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMlZC5cbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV82NC5jCmluZGV4IGUwN2U4YzAuLmM0YTdlYzMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV82NC5jCkBAIC05LDYgKzksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KQEAgLTMxLDcgKzMyLDcgQEAKICNpbmNsdWRlIDxhc20vaWRsZS5oPgogCiAjZGVmaW5lIE1JU0NfTUNFTE9HX01JTk9SIDIyNwotI2RlZmluZSBOUl9CQU5LUyA2CisjZGVmaW5lIE5SX1NZU0ZTX0JBTktTIDYKIAogYXRvbWljX3QgbWNlX2VudHJ5OwogCkBAIC00Niw3ICs0Nyw3IEBACiAgKi8KIHN0YXRpYyBpbnQgdG9sZXJhbnQgPSAxOwogc3RhdGljIGludCBiYW5rczsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGJhbmtbTlJfQkFOS1NdID0geyBbMCAuLi4gTlJfQkFOS1MtMV0gPSB+MFVMIH07CitzdGF0aWMgdW5zaWduZWQgbG9uZyBiYW5rW05SX1NZU0ZTX0JBTktTXSA9IHsgWzAgLi4uIE5SX1NZU0ZTX0JBTktTLTFdID0gfjBVTCB9Owogc3RhdGljIHVuc2lnbmVkIGxvbmcgbm90aWZ5X3VzZXI7CiBzdGF0aWMgaW50IHJpcF9tc3I7CiBzdGF0aWMgaW50IG1jZV9ib290bG9nID0gLTE7CkBAIC0yMDksNyArMjEwLDcgQEAKIAliYXJyaWVyKCk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYmFua3M7IGkrKykgewotCQlpZiAoIWJhbmtbaV0pCisJCWlmIChpIDwgTlJfU1lTRlNfQkFOS1MgJiYgIWJhbmtbaV0pCiAJCQljb250aW51ZTsKIAogCQltLm1pc2MgPSAwOwpAQCAtMzYzLDcgKzM2NCw3IEBACiAKIHN0YXRpYyB2b2lkIG1jaGVja190aW1lcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0Jb25fZWFjaF9jcHUobWNoZWNrX2NoZWNrX2NwdSwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUobWNoZWNrX2NoZWNrX2NwdSwgTlVMTCwgMSk7CiAKIAkvKgogCSAqIEFsZXJ0IHVzZXJzcGFjZSBpZiBuZWVkZWQuICBJZiB3ZSBsb2dnZWQgYW4gTUNFLCByZWR1Y2UgdGhlCkBAIC00NDQsOSArNDQ1LDEwIEBACiAKIAlyZG1zcmwoTVNSX0lBMzJfTUNHX0NBUCwgY2FwKTsKIAliYW5rcyA9IGNhcCAmIDB4ZmY7Ci0JaWYgKGJhbmtzID4gTlJfQkFOS1MpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiTUNFOiB3YXJuaW5nOiB1c2luZyBvbmx5ICVkIGJhbmtzXG4iLCBiYW5rcyk7Ci0JCWJhbmtzID0gTlJfQkFOS1M7CisJaWYgKGJhbmtzID4gTUNFX0VYVEVOREVEX0JBTkspIHsKKwkJYmFua3MgPSBNQ0VfRVhURU5ERURfQkFOSzsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiTUNFOiB3YXJuaW5nOiB1c2luZyBvbmx5ICVkIGJhbmtzXG4iLAorCQkgICAgICAgTUNFX0VYVEVOREVEX0JBTkspOwogCX0KIAkvKiBVc2UgYWNjdXJhdGUgUklQIHJlcG9ydGluZyBpZiBhdmFpbGFibGUuICovCiAJaWYgKChjYXAgJiAoMTw8OSkpICYmICgoY2FwID4+IDE2KSAmIDB4ZmYpID49IDkpCkBAIC00NjIsNyArNDY0LDExIEBACiAJCXdybXNyKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwogCiAJZm9yIChpID0gMDsgaSA8IGJhbmtzOyBpKyspIHsKLQkJd3Jtc3JsKE1TUl9JQTMyX01DMF9DVEwrNCppLCBiYW5rW2ldKTsKKwkJaWYgKGkgPCBOUl9TWVNGU19CQU5LUykKKwkJCXdybXNybChNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgYmFua1tpXSk7CisJCWVsc2UKKwkJCXdybXNybChNU1JfSUEzMl9NQzBfQ1RMKzQqaSwgfjBVTCk7CisKIAkJd3Jtc3JsKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAwKTsKIAl9CiB9CkBAIC01MjcsMTAgKzUzMywxMiBAQAogCiBzdGF0aWMgaW50IG1jZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZtY2Vfc3RhdGVfbG9jayk7CiAKIAlpZiAob3Blbl9leGNsdSB8fCAob3Blbl9jb3VudCAmJiAoZmlsZS0+Zl9mbGFncyAmIE9fRVhDTCkpKSB7CiAJCXNwaW5fdW5sb2NrKCZtY2Vfc3RhdGVfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTUzOSw2ICs1NDcsNyBAQAogCW9wZW5fY291bnQrKzsKIAogCXNwaW5fdW5sb2NrKCZtY2Vfc3RhdGVfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogfQpAQCAtNjEyLDcgKzYyMSw3IEBACiAJICogQ29sbGVjdCBlbnRyaWVzIHRoYXQgd2VyZSBzdGlsbCBnZXR0aW5nIHdyaXR0ZW4gYmVmb3JlIHRoZQogCSAqIHN5bmNocm9uaXplLgogCSAqLwotCW9uX2VhY2hfY3B1KGNvbGxlY3RfdHNjcywgY3B1X3RzYywgMSwgMSk7CisJb25fZWFjaF9jcHUoY29sbGVjdF90c2NzLCBjcHVfdHNjLCAxKTsKIAlmb3IgKGkgPSBuZXh0OyBpIDwgTUNFX0xPR19MRU47IGkrKykgewogCQlpZiAobWNlbG9nLmVudHJ5W2ldLmZpbmlzaGVkICYmCiAJCSAgICBtY2Vsb2cuZW50cnlbaV0udHNjIDwgY3B1X3RzY1ttY2Vsb2cuZW50cnlbaV0uY3B1XSkgewpAQCAtNzM3LDcgKzc0Niw3IEBACiAJaWYgKG5leHRfaW50ZXJ2YWwpCiAJCWNhbmNlbF9kZWxheWVkX3dvcmsoJm1jaGVja193b3JrKTsKIAkvKiBUaW1lciByYWNlIGlzIGhhcm1sZXNzIGhlcmUgKi8KLQlvbl9lYWNoX2NwdShtY2VfaW5pdCwgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUobWNlX2luaXQsIE5VTEwsIDEpOwogCW5leHRfaW50ZXJ2YWwgPSBjaGVja19pbnRlcnZhbCAqIEhaOwogCWlmIChuZXh0X2ludGVydmFsKQogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJm1jaGVja193b3JrLApAQCAtNzY2LDcgKzc3NSwxMCBAQAogCX0JCQkJCQkJCVwKIAlzdGF0aWMgU1lTREVWX0FUVFIobmFtZSwgMDY0NCwgc2hvd18gIyMgbmFtZSwgc2V0XyAjIyBuYW1lKTsKIAotLyogVEJEIHNob3VsZCBnZW5lcmF0ZSB0aGVzZSBkeW5hbWljYWxseSBiYXNlZCBvbiBudW1iZXIgb2YgYXZhaWxhYmxlIGJhbmtzICovCisvKgorICogVEJEIHNob3VsZCBnZW5lcmF0ZSB0aGVzZSBkeW5hbWljYWxseSBiYXNlZCBvbiBudW1iZXIgb2YgYXZhaWxhYmxlIGJhbmtzLgorICogSGF2ZSBvbmx5IDYgY29udG9sIGJhbmtzIGluIC9zeXNmcyB1bnRpbCB0aGVuLgorICovCiBBQ0NFU1NPUihiYW5rMGN0bCxiYW5rWzBdLG1jZV9yZXN0YXJ0KCkpCiBBQ0NFU1NPUihiYW5rMWN0bCxiYW5rWzFdLG1jZV9yZXN0YXJ0KCkpCiBBQ0NFU1NPUihiYW5rMmN0bCxiYW5rWzJdLG1jZV9yZXN0YXJ0KCkpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9ub24tZmF0YWwuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL25vbi1mYXRhbC5jCmluZGV4IDAwY2NiNmMuLmNjMWZjY2QgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL25vbi1mYXRhbC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL25vbi1mYXRhbC5jCkBAIC01OSw3ICs1OSw3IEBACiAKIHN0YXRpYyB2b2lkIG1jZV93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLQlvbl9lYWNoX2NwdShtY2VfY2hlY2tyZWdzLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShtY2VfY2hlY2tyZWdzLCBOVUxMLCAxKTsKIAlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJm1jZV93b3JrLCByb3VuZF9qaWZmaWVzX3JlbGF0aXZlKE1DRV9SQVRFKSk7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9wNC5jCmluZGV4IGNiMDMzNDUuLmVlZjAwMWEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3A0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svcDQuYwpAQCAtOCw3ICs4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4gCisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vbXNyLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KQEAgLTMyLDEyICszMiwxMiBAQAogCS8qIHUzMiAqcmVzZXJ2ZWRbXTsgKi8KIH07CiAKLXN0YXRpYyBpbnQgbWNlX251bV9leHRlbmRlZF9tc3JzID0gMDsKK3N0YXRpYyBpbnQgbWNlX251bV9leHRlbmRlZF9tc3JzOwogCiAKICNpZmRlZiBDT05GSUdfWDg2X01DRV9QNFRIRVJNQUwKIHN0YXRpYyB2b2lkIHVuZXhwZWN0ZWRfdGhlcm1hbF9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCi17CQorewogCXByaW50ayhLRVJOX0VSUiAiQ1BVJWQ6IFVuZXhwZWN0ZWQgTFZUIFRNUiBpbnRlcnJ1cHQhXG4iLAogCQkJc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAlhZGRfdGFpbnQoVEFJTlRfTUFDSElORV9DSEVDSyk7CkBAIC04Myw3ICs4Myw3IEBACiAJICogYmUgc29tZSBTTU0gZ29vIHdoaWNoIGhhbmRsZXMgaXQsIHNvIHdlIGNhbid0IGV2ZW4gcHV0IGEgaGFuZGxlcgogCSAqIHNpbmNlIGl0IG1pZ2h0IGJlIGRlbGl2ZXJlZCB2aWEgU01JIGFscmVhZHkgLXp3YW5lbS4KIAkgKi8KLQlyZG1zciAoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOworCXJkbXNyKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsLCBoKTsKIAloID0gYXBpY19yZWFkKEFQSUNfTFZUVEhNUik7CiAJaWYgKChsICYgKDE8PDMpKSAmJiAoaCAmIEFQSUNfRE1fU01JKSkgewogCQlwcmludGsoS0VSTl9ERUJVRyAiQ1BVJWQ6IFRoZXJtYWwgbW9uaXRvcmluZyBoYW5kbGVkIGJ5IFNNSVxuIiwKQEAgLTkxLDcgKzkxLDcgQEAKIAkJcmV0dXJuOyAvKiAtRUJVU1kgKi8KIAl9CiAKLQkvKiBjaGVjayB3aGV0aGVyIGEgdmVjdG9yIGFscmVhZHkgZXhpc3RzLCB0ZW1wb3JhcmlseSBtYXNrZWQ/ICovCQorCS8qIGNoZWNrIHdoZXRoZXIgYSB2ZWN0b3IgYWxyZWFkeSBleGlzdHMsIHRlbXBvcmFyaWx5IG1hc2tlZD8gKi8KIAlpZiAoaCAmIEFQSUNfVkVDVE9SX01BU0spIHsKIAkJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSVkOiBUaGVybWFsIExWVCB2ZWN0b3IgKCUjeCkgYWxyZWFkeSAiCiAJCQkJImluc3RhbGxlZFxuIiwKQEAgLTEwNCwxOCArMTA0LDE4IEBACiAJaCB8PSAoQVBJQ19ETV9GSVhFRCB8IEFQSUNfTFZUX01BU0tFRCk7CS8qIHdlJ2xsIG1hc2sgdGlsbCB3ZSdyZSByZWFkeSAqLwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUVEhNUiwgaCk7CiAKLQlyZG1zciAoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsLCBoKTsKLQl3cm1zciAoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsIHwgMHgwMyAsIGgpOworCXJkbXNyKE1TUl9JQTMyX1RIRVJNX0lOVEVSUlVQVCwgbCwgaCk7CisJd3Jtc3IoTVNSX0lBMzJfVEhFUk1fSU5URVJSVVBULCBsIHwgMHgwMyAsIGgpOwogCiAJLyogb2sgd2UncmUgZ29vZCB0byBnby4uLiAqLwogCXZlbmRvcl90aGVybWFsX2ludGVycnVwdCA9IGludGVsX3RoZXJtYWxfaW50ZXJydXB0OwotCQotCXJkbXNyIChNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbCwgaCk7Ci0Jd3Jtc3IgKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsIHwgKDE8PDMpLCBoKTsKIAotCWwgPSBhcGljX3JlYWQgKEFQSUNfTFZUVEhNUik7Ci0JYXBpY193cml0ZV9hcm91bmQgKEFQSUNfTFZUVEhNUiwgbCAmIH5BUElDX0xWVF9NQVNLRUQpOwotCXByaW50ayAoS0VSTl9JTkZPICJDUFUlZDogVGhlcm1hbCBtb25pdG9yaW5nIGVuYWJsZWRcbiIsIGNwdSk7CisJcmRtc3IoTVNSX0lBMzJfTUlTQ19FTkFCTEUsIGwsIGgpOworCXdybXNyKE1TUl9JQTMyX01JU0NfRU5BQkxFLCBsIHwgKDE8PDMpLCBoKTsKKworCWwgPSBhcGljX3JlYWQoQVBJQ19MVlRUSE1SKTsKKwlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVFRITVIsIGwgJiB+QVBJQ19MVlRfTUFTS0VEKTsKKwlwcmludGsoS0VSTl9JTkZPICJDUFUlZDogVGhlcm1hbCBtb25pdG9yaW5nIGVuYWJsZWRcbiIsIGNwdSk7CiAKIAkvKiBlbmFibGUgdGhlcm1hbCB0aHJvdHRsZSBwcm9jZXNzaW5nICovCiAJYXRvbWljX3NldCgmdGhlcm1fdGhyb3RfZW4sIDEpOwpAQCAtMTI5LDI4ICsxMjksMjggQEAKIHsKIAl1MzIgaDsKIAotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUFYLCByLT5lYXgsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUJYLCByLT5lYngsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUNYLCByLT5lY3gsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRURYLCByLT5lZHgsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRVNJLCByLT5lc2ksIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRURJLCByLT5lZGksIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUJQLCByLT5lYnAsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRVNQLCByLT5lc3AsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUZMQUdTLCByLT5lZmxhZ3MsIGgpOwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfRUlQLCByLT5laXAsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQVgsIHItPmVheCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VCWCwgci0+ZWJ4LCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUNYLCByLT5lY3gsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FRFgsIHItPmVkeCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VTSSwgci0+ZXNpLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRURJLCByLT5lZGksIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FQlAsIHItPmVicCwgaCk7CisJcmRtc3IoTVNSX0lBMzJfTUNHX0VTUCwgci0+ZXNwLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfRUZMQUdTLCByLT5lZmxhZ3MsIGgpOworCXJkbXNyKE1TUl9JQTMyX01DR19FSVAsIHItPmVpcCwgaCk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX21hY2hpbmVfY2hlY2soc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUpCitzdGF0aWMgdm9pZCBpbnRlbF9tYWNoaW5lX2NoZWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7Ci0JaW50IHJlY292ZXI9MTsKKwlpbnQgcmVjb3ZlciA9IDE7CiAJdTMyIGFsb3csIGFoaWdoLCBoaWdoLCBsb3c7CiAJdTMyIG1jZ3N0bCwgbWNnc3RoOwogCWludCBpOwogCi0JcmRtc3IgKE1TUl9JQTMyX01DR19TVEFUVVMsIG1jZ3N0bCwgbWNnc3RoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfU1RBVFVTLCBtY2dzdGwsIG1jZ3N0aCk7CiAJaWYgKG1jZ3N0bCAmICgxPDwwKSkJLyogUmVjb3ZlcmFibGUgPyAqLwotCQlyZWNvdmVyPTA7CisJCXJlY292ZXIgPSAwOwogCiAJcHJpbnRrKEtFUk5fRU1FUkcgIkNQVSAlZDogTWFjaGluZSBDaGVjayBFeGNlcHRpb246ICUwOHglMDh4XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIG1jZ3N0aCwgbWNnc3RsKTsKQEAgLTE5MSwyMCArMTkxLDIwIEBACiAJfQogCiAJaWYgKHJlY292ZXIgJiAyKQotCQlwYW5pYyAoIkNQVSBjb250ZXh0IGNvcnJ1cHQiKTsKKwkJcGFuaWMoIkNQVSBjb250ZXh0IGNvcnJ1cHQiKTsKIAlpZiAocmVjb3ZlciAmIDEpCi0JCXBhbmljICgiVW5hYmxlIHRvIGNvbnRpbnVlIik7CisJCXBhbmljKCJVbmFibGUgdG8gY29udGludWUiKTsKIAogCXByaW50ayhLRVJOX0VNRVJHICJBdHRlbXB0aW5nIHRvIGNvbnRpbnVlLlxuIik7Ci0JLyogCi0JICogRG8gbm90IGNsZWFyIHRoZSBNU1JfSUEzMl9NQ2lfU1RBVFVTIGlmIHRoZSBlcnJvciBpcyBub3QgCisJLyoKKwkgKiBEbyBub3QgY2xlYXIgdGhlIE1TUl9JQTMyX01DaV9TVEFUVVMgaWYgdGhlIGVycm9yIGlzIG5vdAogCSAqIHJlY292ZXJhYmxlL2NvbnRpbnVhYmxlLlRoaXMgd2lsbCBhbGxvdyBCSU9TIHRvIGxvb2sgYXQgdGhlIE1TUnMKIAkgKiBmb3IgZXJyb3JzIGlmIHRoZSBPUyBjb3VsZCBub3QgbG9nIHRoZSBlcnJvci4KIAkgKi8KLQlmb3IgKGk9MDsgaTxucl9tY2VfYmFua3M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9tY2VfYmFua3M7IGkrKykgewogCQl1MzIgbXNyOwogCQltc3IgPSBNU1JfSUEzMl9NQzBfU1RBVFVTK2kqNDsKLQkJcmRtc3IgKG1zciwgbG93LCBoaWdoKTsKKwkJcmRtc3IobXNyLCBsb3csIGhpZ2gpOwogCQlpZiAoaGlnaCYoMTw8MzEpKSB7CiAJCQkvKiBDbGVhciBpdCAqLwogCQkJd3Jtc3IobXNyLCAwVUwsIDBVTCk7CkBAIC0yMTQsNyArMjE0LDcgQEAKIAkJfQogCX0KIAltY2dzdGwgJj0gfigxPDwyKTsKLQl3cm1zciAoTVNSX0lBMzJfTUNHX1NUQVRVUyxtY2dzdGwsIG1jZ3N0aCk7CisJd3Jtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUywgbWNnc3RsLCBtY2dzdGgpOwogfQogCiAKQEAgLTIyMiwzMCArMjIyLDMwIEBACiB7CiAJdTMyIGwsIGg7CiAJaW50IGk7Ci0JCisKIAltYWNoaW5lX2NoZWNrX3ZlY3RvciA9IGludGVsX21hY2hpbmVfY2hlY2s7CiAJd21iKCk7CiAKLQlwcmludGsgKEtFUk5fSU5GTyAiSW50ZWwgbWFjaGluZSBjaGVjayBhcmNoaXRlY3R1cmUgc3VwcG9ydGVkLlxuIik7Ci0JcmRtc3IgKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOworCXByaW50ayhLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgYXJjaGl0ZWN0dXJlIHN1cHBvcnRlZC5cbiIpOworCXJkbXNyKE1TUl9JQTMyX01DR19DQVAsIGwsIGgpOwogCWlmIChsICYgKDE8PDgpKQkvKiBDb250cm9sIHJlZ2lzdGVyIHByZXNlbnQgPyAqLwotCQl3cm1zciAoTVNSX0lBMzJfTUNHX0NUTCwgMHhmZmZmZmZmZiwgMHhmZmZmZmZmZik7CisJCXdybXNyKE1TUl9JQTMyX01DR19DVEwsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOwogCW5yX21jZV9iYW5rcyA9IGwgJiAweGZmOwogCi0JZm9yIChpPTA7IGk8bnJfbWNlX2JhbmtzOyBpKyspIHsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKLQkJd3Jtc3IgKE1TUl9JQTMyX01DMF9TVEFUVVMrNCppLCAweDAsIDB4MCk7CisJZm9yIChpID0gMDsgaSA8IG5yX21jZV9iYW5rczsgaSsrKSB7CisJCXdybXNyKE1TUl9JQTMyX01DMF9DVEwrNCppLCAweGZmZmZmZmZmLCAweGZmZmZmZmZmKTsKKwkJd3Jtc3IoTVNSX0lBMzJfTUMwX1NUQVRVUys0KmksIDB4MCwgMHgwKTsKIAl9CiAKLQlzZXRfaW5fY3I0IChYODZfQ1I0X01DRSk7Ci0JcHJpbnRrIChLRVJOX0lORk8gIkludGVsIG1hY2hpbmUgY2hlY2sgcmVwb3J0aW5nIGVuYWJsZWQgb24gQ1BVIyVkLlxuIiwKKwlzZXRfaW5fY3I0KFg4Nl9DUjRfTUNFKTsKKwlwcmludGsoS0VSTl9JTkZPICJJbnRlbCBtYWNoaW5lIGNoZWNrIHJlcG9ydGluZyBlbmFibGVkIG9uIENQVSMlZC5cbiIsCiAJCXNtcF9wcm9jZXNzb3JfaWQoKSk7CiAKIAkvKiBDaGVjayBmb3IgUDQvWGVvbiBleHRlbmRlZCBNQ0UgTVNScyAqLwotCXJkbXNyIChNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKKwlyZG1zcihNU1JfSUEzMl9NQ0dfQ0FQLCBsLCBoKTsKIAlpZiAobCAmICgxPDw5KSkJey8qIE1DR19FWFRfUCAqLwogCQltY2VfbnVtX2V4dGVuZGVkX21zcnMgPSAobCA+PiAxNikgJiAweGZmOwotCQlwcmludGsgKEtFUk5fSU5GTyAiQ1BVJWQ6IEludGVsIFA0L1hlb24gRXh0ZW5kZWQgTUNFIE1TUnMgKCVkKSIKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQ1BVJWQ6IEludGVsIFA0L1hlb24gRXh0ZW5kZWQgTUNFIE1TUnMgKCVkKSIKIAkJCQkiIGF2YWlsYWJsZVxuIiwKIAkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgbWNlX251bV9leHRlbmRlZF9tc3JzKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9nZW5lcmljLmMKaW5kZXggNWQyNDFjZS4uNTA5YmQzZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL2dlbmVyaWMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvZ2VuZXJpYy5jCkBAIC0zNyw3ICszNyw3IEBACiBzdGF0aWMgdW5zaWduZWQgbG9uZyBzbXBfY2hhbmdlc19tYXNrOwogc3RhdGljIHN0cnVjdCBtdHJyX3N0YXRlIG10cnJfc3RhdGUgPSB7fTsKIHN0YXRpYyBpbnQgbXRycl9zdGF0ZV9zZXQ7Ci1zdGF0aWMgdTY0IHRvbTI7Cit1NjQgbXRycl90b20yOwogCiAjdW5kZWYgTU9EVUxFX1BBUkFNX1BSRUZJWAogI2RlZmluZSBNT0RVTEVfUEFSQU1fUFJFRklYICJtdHJyLiIKQEAgLTEzOSw4ICsxMzksOCBAQAogCQl9CiAJfQogCi0JaWYgKHRvbTIpIHsKLQkJaWYgKHN0YXJ0ID49ICgxVUxMPDwzMikgJiYgKGVuZCA8IHRvbTIpKQorCWlmIChtdHJyX3RvbTIpIHsKKwkJaWYgKHN0YXJ0ID49ICgxVUxMPDwzMikgJiYgKGVuZCA8IG10cnJfdG9tMikpCiAJCQlyZXR1cm4gTVRSUl9UWVBFX1dSQkFDSzsKIAl9CiAKQEAgLTE1OCw2ICsxNTgsMjAgQEAKIAlyZG1zcihNVFJScGh5c01hc2tfTVNSKGluZGV4KSwgdnItPm1hc2tfbG8sIHZyLT5tYXNrX2hpKTsKIH0KIAorLyogIGZpbGwgdGhlIE1TUiBwYWlyIHJlbGF0aW5nIHRvIGEgdmFyIHJhbmdlICAqLwordm9pZCBmaWxsX210cnJfdmFyX3JhbmdlKHVuc2lnbmVkIGludCBpbmRleCwKKwkJdTMyIGJhc2VfbG8sIHUzMiBiYXNlX2hpLCB1MzIgbWFza19sbywgdTMyIG1hc2tfaGkpCit7CisJc3RydWN0IG10cnJfdmFyX3JhbmdlICp2cjsKKworCXZyID0gbXRycl9zdGF0ZS52YXJfcmFuZ2VzOworCisJdnJbaW5kZXhdLmJhc2VfbG8gPSBiYXNlX2xvOworCXZyW2luZGV4XS5iYXNlX2hpID0gYmFzZV9oaTsKKwl2cltpbmRleF0ubWFza19sbyA9IG1hc2tfbG87CisJdnJbaW5kZXhdLm1hc2tfaGkgPSBtYXNrX2hpOworfQorCiBzdGF0aWMgdm9pZAogZ2V0X2ZpeGVkX3JhbmdlcyhtdHJyX3R5cGUgKiBmcnMpCiB7CkBAIC0yMTMsMTMgKzIyNywxMyBAQAogCW10cnJfc3RhdGUuZW5hYmxlZCA9IChsbyAmIDB4YzAwKSA+PiAxMDsKIAogCWlmIChhbWRfc3BlY2lhbF9kZWZhdWx0X210cnIoKSkgewotCQl1bnNpZ25lZCBsbywgaGk7CisJCXVuc2lnbmVkIGxvdywgaGlnaDsKIAkJLyogVE9QX01FTTIgKi8KLQkJcmRtc3IoTVNSX0s4X1RPUF9NRU0yLCBsbywgaGkpOwotCQl0b20yID0gaGk7Ci0JCXRvbTIgPDw9IDMyOwotCQl0b20yIHw9IGxvOwotCQl0b20yICY9IDB4ZmZmZmZmODAwMDAwMFVMTDsKKwkJcmRtc3IoTVNSX0s4X1RPUF9NRU0yLCBsb3csIGhpZ2gpOworCQltdHJyX3RvbTIgPSBoaWdoOworCQltdHJyX3RvbTIgPDw9IDMyOworCQltdHJyX3RvbTIgfD0gbG93OworCQltdHJyX3RvbTIgJj0gMHhmZmZmZmY4MDAwMDBVTEw7CiAJfQogCWlmIChtdHJyX3Nob3cpIHsKIAkJaW50IGhpZ2hfd2lkdGg7CkBAIC0yNTEsOSArMjY1LDkgQEAKIAkJCWVsc2UKIAkJCQlwcmludGsoS0VSTl9JTkZPICJNVFJSICV1IGRpc2FibGVkXG4iLCBpKTsKIAkJfQotCQlpZiAodG9tMikgeworCQlpZiAobXRycl90b20yKSB7CiAJCQlwcmludGsoS0VSTl9JTkZPICJUT00yOiAlMDE2bGx4IGFrYSAlbGxkTVxuIiwKLQkJCQkJICB0b20yLCB0b20yPj4yMCk7CisJCQkJCSAgbXRycl90b20yLCBtdHJyX3RvbTI+PjIwKTsKIAkJfQogCX0KIAltdHJyX3N0YXRlX3NldCA9IDE7CkBAIC0zMjgsNyArMzQyLDcgQEAKIAogCWlmIChsbyAhPSBtc3J3b3Jkc1swXSB8fCBoaSAhPSBtc3J3b3Jkc1sxXSkgewogCQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICYmCi0JCSAgICBib290X2NwdV9kYXRhLng4NiA9PSAxNSAmJgorCQkgICAgKGJvb3RfY3B1X2RhdGEueDg2ID49IDB4MGYgJiYgYm9vdF9jcHVfZGF0YS54ODYgPD0gMHgxMSkgJiYKIAkJICAgICgobXNyd29yZHNbMF0gfCBtc3J3b3Jkc1sxXSkgJiBLOF9NVFJSX1JETUVNX1dSTUVNX01BU0spKQogCQkJazhfZW5hYmxlX2ZpeGVkX2lvcnJzKCk7CiAJCW10cnJfd3Jtc3IobXNyLCBtc3J3b3Jkc1swXSwgbXNyd29yZHNbMV0pOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tYWluLmMKaW5kZXggNmExZTI3OC4uNmYyMzk2OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL21haW4uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbWFpbi5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zb3J0Lmg+CiAKICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+CkBAIC0yMjIsNyArMjIzLDcgQEAKIAlhdG9taWNfc2V0KCZkYXRhLmdhdGUsMCk7CiAKIAkvKiAgU3RhcnQgdGhlIGJhbGwgcm9sbGluZyBvbiBvdGhlciBDUFVzICAqLwotCWlmIChzbXBfY2FsbF9mdW5jdGlvbihpcGlfaGFuZGxlciwgJmRhdGEsIDEsIDApICE9IDApCisJaWYgKHNtcF9jYWxsX2Z1bmN0aW9uKGlwaV9oYW5kbGVyLCAmZGF0YSwgMCkgIT0gMCkKIAkJcGFuaWMoIm10cnI6IHRpbWVkIG91dCB3YWl0aW5nIGZvciBvdGhlciBDUFVzXG4iKTsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKQEAgLTYwOSw2ICs2MTAsNzg3IEBACiAJLnJlc3VtZQkJPSBtdHJyX3Jlc3RvcmUsCiB9OwogCisvKiBzaG91bGQgYmUgcmVsYXRlZCB0byBNVFJSX1ZBUl9SQU5HRVMgbnVtcyAqLworI2RlZmluZSBSQU5HRV9OVU0gMjU2CisKK3N0cnVjdCByZXNfcmFuZ2UgeworCXVuc2lnbmVkIGxvbmcgc3RhcnQ7CisJdW5zaWduZWQgbG9uZyBlbmQ7Cit9OworCitzdGF0aWMgaW50IF9faW5pdAorYWRkX3JhbmdlKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCBpbnQgbnJfcmFuZ2UsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwkvKiBvdXQgb2Ygc2xvdHMgKi8KKwlpZiAobnJfcmFuZ2UgPj0gUkFOR0VfTlVNKQorCQlyZXR1cm4gbnJfcmFuZ2U7CisKKwlyYW5nZVtucl9yYW5nZV0uc3RhcnQgPSBzdGFydDsKKwlyYW5nZVtucl9yYW5nZV0uZW5kID0gZW5kOworCisJbnJfcmFuZ2UrKzsKKworCXJldHVybiBucl9yYW5nZTsKK30KKworc3RhdGljIGludCBfX2luaXQKK2FkZF9yYW5nZV93aXRoX21lcmdlKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCBpbnQgbnJfcmFuZ2UsIHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlpbnQgaTsKKworCS8qIHRyeSB0byBtZXJnZSBpdCB3aXRoIG9sZCBvbmUgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykgeworCQl1bnNpZ25lZCBsb25nIGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQ7CisJCXVuc2lnbmVkIGxvbmcgY29tbW9uX3N0YXJ0LCBjb21tb25fZW5kOworCisJCWlmICghcmFuZ2VbaV0uZW5kKQorCQkJY29udGludWU7CisKKwkJY29tbW9uX3N0YXJ0ID0gbWF4KHJhbmdlW2ldLnN0YXJ0LCBzdGFydCk7CisJCWNvbW1vbl9lbmQgPSBtaW4ocmFuZ2VbaV0uZW5kLCBlbmQpOworCQlpZiAoY29tbW9uX3N0YXJ0ID4gY29tbW9uX2VuZCArIDEpCisJCQljb250aW51ZTsKKworCQlmaW5hbF9zdGFydCA9IG1pbihyYW5nZVtpXS5zdGFydCwgc3RhcnQpOworCQlmaW5hbF9lbmQgPSBtYXgocmFuZ2VbaV0uZW5kLCBlbmQpOworCisJCXJhbmdlW2ldLnN0YXJ0ID0gZmluYWxfc3RhcnQ7CisJCXJhbmdlW2ldLmVuZCA9ICBmaW5hbF9lbmQ7CisJCXJldHVybiBucl9yYW5nZTsKKwl9CisKKwkvKiBuZWVkIHRvIGFkZCB0aGF0ICovCisJcmV0dXJuIGFkZF9yYW5nZShyYW5nZSwgbnJfcmFuZ2UsIHN0YXJ0LCBlbmQpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3N1YnRyYWN0X3JhbmdlKHN0cnVjdCByZXNfcmFuZ2UgKnJhbmdlLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKK3sKKwlpbnQgaSwgajsKKworCWZvciAoaiA9IDA7IGogPCBSQU5HRV9OVU07IGorKykgeworCQlpZiAoIXJhbmdlW2pdLmVuZCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChzdGFydCA8PSByYW5nZVtqXS5zdGFydCAmJiBlbmQgPj0gcmFuZ2Vbal0uZW5kKSB7CisJCQlyYW5nZVtqXS5zdGFydCA9IDA7CisJCQlyYW5nZVtqXS5lbmQgPSAwOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoc3RhcnQgPD0gcmFuZ2Vbal0uc3RhcnQgJiYgZW5kIDwgcmFuZ2Vbal0uZW5kICYmCisJCSAgICByYW5nZVtqXS5zdGFydCA8IGVuZCArIDEpIHsKKwkJCXJhbmdlW2pdLnN0YXJ0ID0gZW5kICsgMTsKKwkJCWNvbnRpbnVlOworCQl9CisKKworCQlpZiAoc3RhcnQgPiByYW5nZVtqXS5zdGFydCAmJiBlbmQgPj0gcmFuZ2Vbal0uZW5kICYmCisJCSAgICByYW5nZVtqXS5lbmQgPiBzdGFydCAtIDEpIHsKKwkJCXJhbmdlW2pdLmVuZCA9IHN0YXJ0IC0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHN0YXJ0ID4gcmFuZ2Vbal0uc3RhcnQgJiYgZW5kIDwgcmFuZ2Vbal0uZW5kKSB7CisJCQkvKiBmaW5kIHRoZSBuZXcgc3BhcmUgKi8KKwkJCWZvciAoaSA9IDA7IGkgPCBSQU5HRV9OVU07IGkrKykgeworCQkJCWlmIChyYW5nZVtpXS5lbmQgPT0gMCkKKwkJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoaSA8IFJBTkdFX05VTSkgeworCQkJCXJhbmdlW2ldLmVuZCA9IHJhbmdlW2pdLmVuZDsKKwkJCQlyYW5nZVtpXS5zdGFydCA9IGVuZCArIDE7CisJCQl9IGVsc2UgeworCQkJCXByaW50ayhLRVJOX0VSUiAicnVuIG9mIHNsb3QgaW4gcmFuZ2VzXG4iKTsKKwkJCX0KKwkJCXJhbmdlW2pdLmVuZCA9IHN0YXJ0IC0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisJfQorfQorCitzdGF0aWMgaW50IF9faW5pdCBjbXBfcmFuZ2UoY29uc3Qgdm9pZCAqeDEsIGNvbnN0IHZvaWQgKngyKQoreworCWNvbnN0IHN0cnVjdCByZXNfcmFuZ2UgKnIxID0geDE7CisJY29uc3Qgc3RydWN0IHJlc19yYW5nZSAqcjIgPSB4MjsKKwlsb25nIHN0YXJ0MSwgc3RhcnQyOworCisJc3RhcnQxID0gcjEtPnN0YXJ0OworCXN0YXJ0MiA9IHIyLT5zdGFydDsKKworCXJldHVybiBzdGFydDEgLSBzdGFydDI7Cit9CisKK3N0cnVjdCB2YXJfbXRycl9yYW5nZV9zdGF0ZSB7CisJdW5zaWduZWQgbG9uZyBiYXNlX3BmbjsKKwl1bnNpZ25lZCBsb25nIHNpemVfcGZuOworCW10cnJfdHlwZSB0eXBlOworfTsKKworc3RydWN0IHZhcl9tdHJyX3JhbmdlX3N0YXRlIF9faW5pdGRhdGEgcmFuZ2Vfc3RhdGVbUkFOR0VfTlVNXTsKK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBkZWJ1Z19wcmludDsKKworc3RhdGljIGludCBfX2luaXQKK3g4Nl9nZXRfbXRycl9tZW1fcmFuZ2Uoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSwKKwkJICAgICAgIHVuc2lnbmVkIGxvbmcgZXh0cmFfcmVtb3ZlX2Jhc2UsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIGV4dHJhX3JlbW92ZV9zaXplKQoreworCXVuc2lnbmVkIGxvbmcgaSwgYmFzZSwgc2l6ZTsKKwltdHJyX3R5cGUgdHlwZTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOworCQlpZiAodHlwZSAhPSBNVFJSX1RZUEVfV1JCQUNLKQorCQkJY29udGludWU7CisJCWJhc2UgPSByYW5nZV9zdGF0ZVtpXS5iYXNlX3BmbjsKKwkJc2l6ZSA9IHJhbmdlX3N0YXRlW2ldLnNpemVfcGZuOworCQlucl9yYW5nZSA9IGFkZF9yYW5nZV93aXRoX21lcmdlKHJhbmdlLCBucl9yYW5nZSwgYmFzZSwKKwkJCQkJCWJhc2UgKyBzaXplIC0gMSk7CisJfQorCWlmIChkZWJ1Z19wcmludCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiQWZ0ZXIgV0IgY2hlY2tpbmdcbiIpOworCQlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJCXByaW50ayhLRVJOX0RFQlVHICJNVFJSIE1BUCBQRk46ICUwMTZseCAtICUwMTZseFxuIiwKKwkJCQkgcmFuZ2VbaV0uc3RhcnQsIHJhbmdlW2ldLmVuZCArIDEpOworCX0KKworCS8qIHRha2Ugb3V0IFVDIHJhbmdlcyAqLworCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7CisJCXR5cGUgPSByYW5nZV9zdGF0ZVtpXS50eXBlOworCQlpZiAodHlwZSAhPSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKKwkJCWNvbnRpbnVlOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CisJCWlmICghc2l6ZSkKKwkJCWNvbnRpbnVlOworCQliYXNlID0gcmFuZ2Vfc3RhdGVbaV0uYmFzZV9wZm47CisJCXN1YnRyYWN0X3JhbmdlKHJhbmdlLCBiYXNlLCBiYXNlICsgc2l6ZSAtIDEpOworCX0KKwlpZiAoZXh0cmFfcmVtb3ZlX3NpemUpCisJCXN1YnRyYWN0X3JhbmdlKHJhbmdlLCBleHRyYV9yZW1vdmVfYmFzZSwKKwkJCQkgZXh0cmFfcmVtb3ZlX2Jhc2UgKyBleHRyYV9yZW1vdmVfc2l6ZSAgLSAxKTsKKworCS8qIGdldCBuZXcgcmFuZ2UgbnVtICovCisJbnJfcmFuZ2UgPSAwOworCWZvciAoaSA9IDA7IGkgPCBSQU5HRV9OVU07IGkrKykgeworCQlpZiAoIXJhbmdlW2ldLmVuZCkKKwkJCWNvbnRpbnVlOworCQlucl9yYW5nZSsrOworCX0KKwlpZiAgKGRlYnVnX3ByaW50KSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJBZnRlciBVQyBjaGVja2luZ1xuIik7CisJCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQkJcHJpbnRrKEtFUk5fREVCVUcgIk1UUlIgTUFQIFBGTjogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCSByYW5nZVtpXS5zdGFydCwgcmFuZ2VbaV0uZW5kICsgMSk7CisJfQorCisJLyogc29ydCB0aGUgcmFuZ2VzICovCisJc29ydChyYW5nZSwgbnJfcmFuZ2UsIHNpemVvZihzdHJ1Y3QgcmVzX3JhbmdlKSwgY21wX3JhbmdlLCBOVUxMKTsKKwlpZiAgKGRlYnVnX3ByaW50KSB7CisJCXByaW50ayhLRVJOX0RFQlVHICJBZnRlciBzb3J0aW5nXG4iKTsKKwkJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCQlwcmludGsoS0VSTl9ERUJVRyAiTVRSUiBNQVAgUEZOOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJIHJhbmdlW2ldLnN0YXJ0LCByYW5nZVtpXS5lbmQgKyAxKTsKKwl9CisKKwkvKiBjbGVhciB0aG9zZSBpcyBub3QgdXNlZCAqLworCWZvciAoaSA9IG5yX3JhbmdlOyBpIDwgUkFOR0VfTlVNOyBpKyspCisJCW1lbXNldCgmcmFuZ2VbaV0sIDAsIHNpemVvZihyYW5nZVtpXSkpOworCisJcmV0dXJuIG5yX3JhbmdlOworfQorCitzdGF0aWMgc3RydWN0IHJlc19yYW5nZSBfX2luaXRkYXRhIHJhbmdlW1JBTkdFX05VTV07CisKKyNpZmRlZiBDT05GSUdfTVRSUl9TQU5JVElaRVIKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IHN1bV9yYW5nZXMoc3RydWN0IHJlc19yYW5nZSAqcmFuZ2UsIGludCBucl9yYW5nZSkKK3sKKwl1bnNpZ25lZCBsb25nIHN1bTsKKwlpbnQgaTsKKworCXN1bSA9IDA7CisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlOyBpKyspCisJCXN1bSArPSByYW5nZVtpXS5lbmQgKyAxIC0gcmFuZ2VbaV0uc3RhcnQ7CisKKwlyZXR1cm4gc3VtOworfQorCitzdGF0aWMgaW50IGVuYWJsZV9tdHJyX2NsZWFudXAgX19pbml0ZGF0YSA9CisJQ09ORklHX01UUlJfU0FOSVRJWkVSX0VOQUJMRV9ERUZBVUxUOworCitzdGF0aWMgaW50IF9faW5pdCBkaXNhYmxlX210cnJfY2xlYW51cF9zZXR1cChjaGFyICpzdHIpCit7CisJaWYgKGVuYWJsZV9tdHJyX2NsZWFudXAgIT0gLTEpCisJCWVuYWJsZV9tdHJyX2NsZWFudXAgPSAwOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImRpc2FibGVfbXRycl9jbGVhbnVwIiwgZGlzYWJsZV9tdHJyX2NsZWFudXBfc2V0dXApOworCitzdGF0aWMgaW50IF9faW5pdCBlbmFibGVfbXRycl9jbGVhbnVwX3NldHVwKGNoYXIgKnN0cikKK3sKKwlpZiAoZW5hYmxlX210cnJfY2xlYW51cCAhPSAtMSkKKwkJZW5hYmxlX210cnJfY2xlYW51cCA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgiZW5ibGVfbXRycl9jbGVhbnVwIiwgZW5hYmxlX210cnJfY2xlYW51cF9zZXR1cCk7CisKK3N0cnVjdCB2YXJfbXRycl9zdGF0ZSB7CisJdW5zaWduZWQgbG9uZwlyYW5nZV9zdGFydGs7CisJdW5zaWduZWQgbG9uZwlyYW5nZV9zaXplazsKKwl1bnNpZ25lZCBsb25nCWNodW5rX3NpemVrOworCXVuc2lnbmVkIGxvbmcJZ3Jhbl9zaXplazsKKwl1bnNpZ25lZCBpbnQJcmVnOworfTsKKworc3RhdGljIHZvaWQgX19pbml0CitzZXRfdmFyX210cnIodW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgbG9uZyBiYXNlaywgdW5zaWduZWQgbG9uZyBzaXplaywKKwkJdW5zaWduZWQgY2hhciB0eXBlLCB1bnNpZ25lZCBpbnQgYWRkcmVzc19iaXRzKQoreworCXUzMiBiYXNlX2xvLCBiYXNlX2hpLCBtYXNrX2xvLCBtYXNrX2hpOworCXU2NCBiYXNlLCBtYXNrOworCisJaWYgKCFzaXplaykgeworCQlmaWxsX210cnJfdmFyX3JhbmdlKHJlZywgMCwgMCwgMCwgMCk7CisJCXJldHVybjsKKwl9CisKKwltYXNrID0gKDFVTEwgPDwgYWRkcmVzc19iaXRzKSAtIDE7CisJbWFzayAmPSB+KCgoKHU2NClzaXplaykgPDwgMTApIC0gMSk7CisKKwliYXNlICA9ICgodTY0KWJhc2VrKSA8PCAxMDsKKworCWJhc2UgfD0gdHlwZTsKKwltYXNrIHw9IDB4ODAwOworCisJYmFzZV9sbyA9IGJhc2UgJiAoKDFVTEw8PDMyKSAtIDEpOworCWJhc2VfaGkgPSBiYXNlID4+IDMyOworCisJbWFza19sbyA9IG1hc2sgJiAoKDFVTEw8PDMyKSAtIDEpOworCW1hc2tfaGkgPSBtYXNrID4+IDMyOworCisJZmlsbF9tdHJyX3Zhcl9yYW5nZShyZWcsIGJhc2VfbG8sIGJhc2VfaGksIG1hc2tfbG8sIG1hc2tfaGkpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3NhdmVfdmFyX210cnIodW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgbG9uZyBiYXNlaywgdW5zaWduZWQgbG9uZyBzaXplaywKKwkJdW5zaWduZWQgY2hhciB0eXBlKQoreworCXJhbmdlX3N0YXRlW3JlZ10uYmFzZV9wZm4gPSBiYXNlayA+PiAoUEFHRV9TSElGVCAtIDEwKTsKKwlyYW5nZV9zdGF0ZVtyZWddLnNpemVfcGZuID0gc2l6ZWsgPj4gKFBBR0VfU0hJRlQgLSAxMCk7CisJcmFuZ2Vfc3RhdGVbcmVnXS50eXBlID0gdHlwZTsKK30KKworc3RhdGljIHZvaWQgX19pbml0CitzZXRfdmFyX210cnJfYWxsKHVuc2lnbmVkIGludCBhZGRyZXNzX2JpdHMpCit7CisJdW5zaWduZWQgbG9uZyBiYXNlaywgc2l6ZWs7CisJdW5zaWduZWQgY2hhciB0eXBlOworCXVuc2lnbmVkIGludCByZWc7CisKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IG51bV92YXJfcmFuZ2VzOyByZWcrKykgeworCQliYXNlayA9IHJhbmdlX3N0YXRlW3JlZ10uYmFzZV9wZm4gPDwgKFBBR0VfU0hJRlQgLSAxMCk7CisJCXNpemVrID0gcmFuZ2Vfc3RhdGVbcmVnXS5zaXplX3BmbiA8PCAoUEFHRV9TSElGVCAtIDEwKTsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW3JlZ10udHlwZTsKKworCQlzZXRfdmFyX210cnIocmVnLCBiYXNlaywgc2l6ZWssIHR5cGUsIGFkZHJlc3NfYml0cyk7CisJfQorfQorCitzdGF0aWMgdW5zaWduZWQgaW50IF9faW5pdAorcmFuZ2VfdG9fbXRycih1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBsb25nIHJhbmdlX3N0YXJ0aywKKwkgICAgICB1bnNpZ25lZCBsb25nIHJhbmdlX3NpemVrLCB1bnNpZ25lZCBjaGFyIHR5cGUpCit7CisJaWYgKCFyYW5nZV9zaXplayB8fCAocmVnID49IG51bV92YXJfcmFuZ2VzKSkKKwkJcmV0dXJuIHJlZzsKKworCXdoaWxlIChyYW5nZV9zaXplaykgeworCQl1bnNpZ25lZCBsb25nIG1heF9hbGlnbiwgYWxpZ247CisJCXVuc2lnbmVkIGxvbmcgc2l6ZWs7CisKKwkJLyogQ29tcHV0ZSB0aGUgbWF4aW11bSBzaXplIEkgY2FuIG1ha2UgYSByYW5nZSAqLworCQlpZiAocmFuZ2Vfc3RhcnRrKQorCQkJbWF4X2FsaWduID0gZmZzKHJhbmdlX3N0YXJ0aykgLSAxOworCQllbHNlCisJCQltYXhfYWxpZ24gPSAzMjsKKwkJYWxpZ24gPSBmbHMocmFuZ2Vfc2l6ZWspIC0gMTsKKwkJaWYgKGFsaWduID4gbWF4X2FsaWduKQorCQkJYWxpZ24gPSBtYXhfYWxpZ247CisKKwkJc2l6ZWsgPSAxIDw8IGFsaWduOworCQlpZiAoZGVidWdfcHJpbnQpCisJCQlwcmludGsoS0VSTl9ERUJVRyAiU2V0dGluZyB2YXJpYWJsZSBNVFJSICVkLCAiCisJCQkJImJhc2U6ICVsZE1CLCByYW5nZTogJWxkTUIsIHR5cGUgJXNcbiIsCisJCQkJcmVnLCByYW5nZV9zdGFydGsgPj4gMTAsIHNpemVrID4+IDEwLAorCQkJCSh0eXBlID09IE1UUlJfVFlQRV9VTkNBQ0hBQkxFKT8iVUMiOgorCQkJCSAgICAoKHR5cGUgPT0gTVRSUl9UWVBFX1dSQkFDSyk/IldCIjoiT3RoZXIiKQorCQkJCSk7CisJCXNhdmVfdmFyX210cnIocmVnKyssIHJhbmdlX3N0YXJ0aywgc2l6ZWssIHR5cGUpOworCQlyYW5nZV9zdGFydGsgKz0gc2l6ZWs7CisJCXJhbmdlX3NpemVrIC09IHNpemVrOworCQlpZiAocmVnID49IG51bV92YXJfcmFuZ2VzKQorCQkJYnJlYWs7CisJfQorCXJldHVybiByZWc7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBfX2luaXQKK3JhbmdlX3RvX210cnJfd2l0aF9ob2xlKHN0cnVjdCB2YXJfbXRycl9zdGF0ZSAqc3RhdGUsIHVuc2lnbmVkIGxvbmcgYmFzZWssCisJCQl1bnNpZ25lZCBsb25nIHNpemVrKQoreworCXVuc2lnbmVkIGxvbmcgaG9sZV9iYXNlaywgaG9sZV9zaXplazsKKwl1bnNpZ25lZCBsb25nIHNlY29uZF9iYXNlaywgc2Vjb25kX3NpemVrOworCXVuc2lnbmVkIGxvbmcgcmFuZ2UwX2Jhc2VrLCByYW5nZTBfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyByYW5nZV9iYXNlaywgcmFuZ2Vfc2l6ZWs7CisJdW5zaWduZWQgbG9uZyBjaHVua19zaXplazsKKwl1bnNpZ25lZCBsb25nIGdyYW5fc2l6ZWs7CisKKwlob2xlX2Jhc2VrID0gMDsKKwlob2xlX3NpemVrID0gMDsKKwlzZWNvbmRfYmFzZWsgPSAwOworCXNlY29uZF9zaXplayA9IDA7CisJY2h1bmtfc2l6ZWsgPSBzdGF0ZS0+Y2h1bmtfc2l6ZWs7CisJZ3Jhbl9zaXplayA9IHN0YXRlLT5ncmFuX3NpemVrOworCisJLyogYWxpZ24gd2l0aCBncmFuIHNpemUsIHByZXZlbnQgc21hbGwgYmxvY2sgdXNlZCB1cCBNVFJScyAqLworCXJhbmdlX2Jhc2VrID0gQUxJR04oc3RhdGUtPnJhbmdlX3N0YXJ0aywgZ3Jhbl9zaXplayk7CisJaWYgKChyYW5nZV9iYXNlayA+IGJhc2VrKSAmJiBiYXNlaykKKwkJcmV0dXJuIHNlY29uZF9zaXplazsKKwlzdGF0ZS0+cmFuZ2Vfc2l6ZWsgLT0gKHJhbmdlX2Jhc2VrIC0gc3RhdGUtPnJhbmdlX3N0YXJ0ayk7CisJcmFuZ2Vfc2l6ZWsgPSBBTElHTihzdGF0ZS0+cmFuZ2Vfc2l6ZWssIGdyYW5fc2l6ZWspOworCisJd2hpbGUgKHJhbmdlX3NpemVrID4gc3RhdGUtPnJhbmdlX3NpemVrKSB7CisJCXJhbmdlX3NpemVrIC09IGdyYW5fc2l6ZWs7CisJCWlmICghcmFuZ2Vfc2l6ZWspCisJCQlyZXR1cm4gMDsKKwl9CisJc3RhdGUtPnJhbmdlX3NpemVrID0gcmFuZ2Vfc2l6ZWs7CisKKwkvKiB0cnkgdG8gYXBwZW5kIHNvbWUgc21hbGwgaG9sZSAqLworCXJhbmdlMF9iYXNlayA9IHN0YXRlLT5yYW5nZV9zdGFydGs7CisJcmFuZ2UwX3NpemVrID0gQUxJR04oc3RhdGUtPnJhbmdlX3NpemVrLCBjaHVua19zaXplayk7CisJaWYgKHJhbmdlMF9zaXplayA9PSBzdGF0ZS0+cmFuZ2Vfc2l6ZWspIHsKKwkJaWYgKGRlYnVnX3ByaW50KQorCQkJcHJpbnRrKEtFUk5fREVCVUcgInJhbmdlWDogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCXJhbmdlMF9iYXNlazw8MTAsCisJCQkJKHJhbmdlMF9iYXNlayArIHN0YXRlLT5yYW5nZV9zaXplayk8PDEwKTsKKwkJc3RhdGUtPnJlZyA9IHJhbmdlX3RvX210cnIoc3RhdGUtPnJlZywgcmFuZ2UwX2Jhc2VrLAorCQkJCXN0YXRlLT5yYW5nZV9zaXplaywgTVRSUl9UWVBFX1dSQkFDSyk7CisJCXJldHVybiAwOworCX0KKworCXJhbmdlMF9zaXplayAtPSBjaHVua19zaXplazsKKwlpZiAocmFuZ2UwX3NpemVrICYmIHNpemVrKSB7CisJICAgIHdoaWxlIChyYW5nZTBfYmFzZWsgKyByYW5nZTBfc2l6ZWsgPiAoYmFzZWsgKyBzaXplaykpIHsKKwkJcmFuZ2UwX3NpemVrIC09IGNodW5rX3NpemVrOworCQlpZiAoIXJhbmdlMF9zaXplaykKKwkJCWJyZWFrOworCSAgICB9CisJfQorCisJaWYgKHJhbmdlMF9zaXplaykgeworCQlpZiAoZGVidWdfcHJpbnQpCisJCQlwcmludGsoS0VSTl9ERUJVRyAicmFuZ2UwOiAlMDE2bHggLSAlMDE2bHhcbiIsCisJCQkJcmFuZ2UwX2Jhc2VrPDwxMCwKKwkJCQkocmFuZ2UwX2Jhc2VrICsgcmFuZ2UwX3NpemVrKTw8MTApOworCQlzdGF0ZS0+cmVnID0gcmFuZ2VfdG9fbXRycihzdGF0ZS0+cmVnLCByYW5nZTBfYmFzZWssCisJCQkJcmFuZ2UwX3NpemVrLCBNVFJSX1RZUEVfV1JCQUNLKTsKKworCX0KKworCXJhbmdlX2Jhc2VrID0gcmFuZ2UwX2Jhc2VrICsgcmFuZ2UwX3NpemVrOworCXJhbmdlX3NpemVrID0gY2h1bmtfc2l6ZWs7CisKKwlpZiAocmFuZ2VfYmFzZWsgKyByYW5nZV9zaXplayA+IGJhc2VrICYmCisJICAgIHJhbmdlX2Jhc2VrICsgcmFuZ2Vfc2l6ZWsgPD0gKGJhc2VrICsgc2l6ZWspKSB7CisJCS8qIG9uZSBob2xlICovCisJCXNlY29uZF9iYXNlayA9IGJhc2VrOworCQlzZWNvbmRfc2l6ZWsgPSByYW5nZV9iYXNlayArIHJhbmdlX3NpemVrIC0gYmFzZWs7CisJfQorCisJLyogaWYgbGFzdCBwaWVjZSwgb25seSBjb3VsZCBvbmUgaG9sZSBuZWFyIGVuZCAqLworCWlmICgoc2Vjb25kX2Jhc2VrIHx8ICFiYXNlaykgJiYKKwkgICAgcmFuZ2Vfc2l6ZWsgLSAoc3RhdGUtPnJhbmdlX3NpemVrIC0gcmFuZ2UwX3NpemVrKSAtIHNlY29uZF9zaXplayA8CisJICAgIChjaHVua19zaXplayA+PiAxKSkgeworCQkvKgorCQkgKiBvbmUgaG9sZSBpbiBtaWRkbGUgKHNlY29uZF9zaXplayBpcyAwKSBvciBhdCBlbmQKKwkJICogKHNlY29uZF9zaXplayBpcyAwICkKKwkJICovCisJCWhvbGVfc2l6ZWsgPSByYW5nZV9zaXplayAtIChzdGF0ZS0+cmFuZ2Vfc2l6ZWsgLSByYW5nZTBfc2l6ZWspCisJCQkJIC0gc2Vjb25kX3NpemVrOworCQlob2xlX2Jhc2VrID0gcmFuZ2VfYmFzZWsgKyByYW5nZV9zaXplayAtIGhvbGVfc2l6ZWsKKwkJCQkgLSBzZWNvbmRfc2l6ZWs7CisJfSBlbHNlIHsKKwkJLyogZmFsbGJhY2sgZm9yIGJpZyBob2xlLCBvciBzZXZlcmFsIGhvbGVzICovCisJCXJhbmdlX3NpemVrID0gc3RhdGUtPnJhbmdlX3NpemVrIC0gcmFuZ2UwX3NpemVrOworCQlzZWNvbmRfYmFzZWsgPSAwOworCQlzZWNvbmRfc2l6ZWsgPSAwOworCX0KKworCWlmIChkZWJ1Z19wcmludCkKKwkJcHJpbnRrKEtFUk5fREVCVUcgInJhbmdlOiAlMDE2bHggLSAlMDE2bHhcbiIsIHJhbmdlX2Jhc2VrPDwxMCwKKwkJCSAocmFuZ2VfYmFzZWsgKyByYW5nZV9zaXplayk8PDEwKTsKKwlzdGF0ZS0+cmVnID0gcmFuZ2VfdG9fbXRycihzdGF0ZS0+cmVnLCByYW5nZV9iYXNlaywgcmFuZ2Vfc2l6ZWssCisJCQkJCSBNVFJSX1RZUEVfV1JCQUNLKTsKKwlpZiAoaG9sZV9zaXplaykgeworCQlpZiAoZGVidWdfcHJpbnQpCisJCQlwcmludGsoS0VSTl9ERUJVRyAiaG9sZTogJTAxNmx4IC0gJTAxNmx4XG4iLAorCQkJCSBob2xlX2Jhc2VrPDwxMCwgKGhvbGVfYmFzZWsgKyBob2xlX3NpemVrKTw8MTApOworCQlzdGF0ZS0+cmVnID0gcmFuZ2VfdG9fbXRycihzdGF0ZS0+cmVnLCBob2xlX2Jhc2VrLCBob2xlX3NpemVrLAorCQkJCQkJIE1UUlJfVFlQRV9VTkNBQ0hBQkxFKTsKKworCX0KKworCXJldHVybiBzZWNvbmRfc2l6ZWs7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdAorc2V0X3Zhcl9tdHJyX3JhbmdlKHN0cnVjdCB2YXJfbXRycl9zdGF0ZSAqc3RhdGUsIHVuc2lnbmVkIGxvbmcgYmFzZV9wZm4sCisJCSAgIHVuc2lnbmVkIGxvbmcgc2l6ZV9wZm4pCit7CisJdW5zaWduZWQgbG9uZyBiYXNlaywgc2l6ZWs7CisJdW5zaWduZWQgbG9uZyBzZWNvbmRfc2l6ZWsgPSAwOworCisJaWYgKHN0YXRlLT5yZWcgPj0gbnVtX3Zhcl9yYW5nZXMpCisJCXJldHVybjsKKworCWJhc2VrID0gYmFzZV9wZm4gPDwgKFBBR0VfU0hJRlQgLSAxMCk7CisJc2l6ZWsgPSBzaXplX3BmbiA8PCAoUEFHRV9TSElGVCAtIDEwKTsKKworCS8qIFNlZSBpZiBJIGNhbiBtZXJnZSB3aXRoIHRoZSBsYXN0IHJhbmdlICovCisJaWYgKChiYXNlayA8PSAxMDI0KSB8fAorCSAgICAoc3RhdGUtPnJhbmdlX3N0YXJ0ayArIHN0YXRlLT5yYW5nZV9zaXplayA9PSBiYXNlaykpIHsKKwkJdW5zaWduZWQgbG9uZyBlbmRrID0gYmFzZWsgKyBzaXplazsKKwkJc3RhdGUtPnJhbmdlX3NpemVrID0gZW5kayAtIHN0YXRlLT5yYW5nZV9zdGFydGs7CisJCXJldHVybjsKKwl9CisJLyogV3JpdGUgdGhlIHJhbmdlIG10cnJzICovCisJaWYgKHN0YXRlLT5yYW5nZV9zaXplayAhPSAwKQorCQlzZWNvbmRfc2l6ZWsgPSByYW5nZV90b19tdHJyX3dpdGhfaG9sZShzdGF0ZSwgYmFzZWssIHNpemVrKTsKKworCS8qIEFsbG9jYXRlIGFuIG1zciAqLworCXN0YXRlLT5yYW5nZV9zdGFydGsgPSBiYXNlayArIHNlY29uZF9zaXplazsKKwlzdGF0ZS0+cmFuZ2Vfc2l6ZWsgID0gc2l6ZWsgLSBzZWNvbmRfc2l6ZWs7Cit9CisKKy8qIG1pbmludW0gc2l6ZSBvZiBtdHJyIGJsb2NrIHRoYXQgY2FuIHRha2UgaG9sZSAqLworc3RhdGljIHU2NCBtdHJyX2NodW5rX3NpemUgX19pbml0ZGF0YSA9ICgyNTZVTEw8PDIwKTsKKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfbXRycl9jaHVua19zaXplX29wdChjaGFyICpwKQoreworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJbXRycl9jaHVua19zaXplID0gbWVtcGFyc2UocCwgJnApOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oIm10cnJfY2h1bmtfc2l6ZSIsIHBhcnNlX210cnJfY2h1bmtfc2l6ZV9vcHQpOworCisvKiBncmFuaXR5IG9mIG10cnIgb2YgYmxvY2sgKi8KK3N0YXRpYyB1NjQgbXRycl9ncmFuX3NpemUgX19pbml0ZGF0YTsKKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfbXRycl9ncmFuX3NpemVfb3B0KGNoYXIgKnApCit7CisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKwltdHJyX2dyYW5fc2l6ZSA9IG1lbXBhcnNlKHAsICZwKTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJtdHJyX2dyYW5fc2l6ZSIsIHBhcnNlX210cnJfZ3Jhbl9zaXplX29wdCk7CisKK3N0YXRpYyBpbnQgbnJfbXRycl9zcGFyZV9yZWcgX19pbml0ZGF0YSA9CisJCQkJIENPTkZJR19NVFJSX1NBTklUSVpFUl9TUEFSRV9SRUdfTlJfREVGQVVMVDsKKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfbXRycl9zcGFyZV9yZWcoY2hhciAqYXJnKQoreworCWlmIChhcmcpCisJCW5yX210cnJfc3BhcmVfcmVnID0gc2ltcGxlX3N0cnRvdWwoYXJnLCBOVUxMLCAwKTsKKwlyZXR1cm4gMDsKK30KKworZWFybHlfcGFyYW0oIm10cnJfc3BhcmVfcmVnX25yIiwgcGFyc2VfbXRycl9zcGFyZV9yZWcpOworCitzdGF0aWMgaW50IF9faW5pdAoreDg2X3NldHVwX3Zhcl9tdHJycyhzdHJ1Y3QgcmVzX3JhbmdlICpyYW5nZSwgaW50IG5yX3JhbmdlLAorCQkgICAgdTY0IGNodW5rX3NpemUsIHU2NCBncmFuX3NpemUpCit7CisJc3RydWN0IHZhcl9tdHJyX3N0YXRlIHZhcl9zdGF0ZTsKKwlpbnQgaTsKKwlpbnQgbnVtX3JlZzsKKworCXZhcl9zdGF0ZS5yYW5nZV9zdGFydGsJPSAwOworCXZhcl9zdGF0ZS5yYW5nZV9zaXplawk9IDA7CisJdmFyX3N0YXRlLnJlZwkJPSAwOworCXZhcl9zdGF0ZS5jaHVua19zaXplawk9IGNodW5rX3NpemUgPj4gMTA7CisJdmFyX3N0YXRlLmdyYW5fc2l6ZWsJPSBncmFuX3NpemUgPj4gMTA7CisKKwltZW1zZXQocmFuZ2Vfc3RhdGUsIDAsIHNpemVvZihyYW5nZV9zdGF0ZSkpOworCisJLyogV3JpdGUgdGhlIHJhbmdlIGV0YyAqLworCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQlzZXRfdmFyX210cnJfcmFuZ2UoJnZhcl9zdGF0ZSwgcmFuZ2VbaV0uc3RhcnQsCisJCQkJICAgcmFuZ2VbaV0uZW5kIC0gcmFuZ2VbaV0uc3RhcnQgKyAxKTsKKworCS8qIFdyaXRlIHRoZSBsYXN0IHJhbmdlICovCisJaWYgKHZhcl9zdGF0ZS5yYW5nZV9zaXplayAhPSAwKQorCQlyYW5nZV90b19tdHJyX3dpdGhfaG9sZSgmdmFyX3N0YXRlLCAwLCAwKTsKKworCW51bV9yZWcgPSB2YXJfc3RhdGUucmVnOworCS8qIENsZWFyIG91dCB0aGUgZXh0cmEgTVRSUidzICovCisJd2hpbGUgKHZhcl9zdGF0ZS5yZWcgPCBudW1fdmFyX3JhbmdlcykgeworCQlzYXZlX3Zhcl9tdHJyKHZhcl9zdGF0ZS5yZWcsIDAsIDAsIDApOworCQl2YXJfc3RhdGUucmVnKys7CisJfQorCisJcmV0dXJuIG51bV9yZWc7Cit9CisKK3N0cnVjdCBtdHJyX2NsZWFudXBfcmVzdWx0IHsKKwl1bnNpZ25lZCBsb25nIGdyYW5fc2l6ZWs7CisJdW5zaWduZWQgbG9uZyBjaHVua19zaXplazsKKwl1bnNpZ25lZCBsb25nIGxvc2VfY292ZXJfc2l6ZWs7CisJdW5zaWduZWQgaW50IG51bV9yZWc7CisJaW50IGJhZDsKK307CisKKy8qCisgKiBncmFuX3NpemU6IDFNLCAyTSwgLi4uLCAyRworICogY2h1bmsgc2l6ZTogZ3Jhbl9zaXplLCAuLi4sIDRHCisgKiBzbyB3ZSBuZWVkICgyKzEzKSo2CisgKi8KKyNkZWZpbmUgTlVNX1JFU1VMVAk5MAorI2RlZmluZSBQU0hJRlQJCShQQUdFX1NISUZUIC0gMTApCisKK3N0YXRpYyBzdHJ1Y3QgbXRycl9jbGVhbnVwX3Jlc3VsdCBfX2luaXRkYXRhIHJlc3VsdFtOVU1fUkVTVUxUXTsKK3N0YXRpYyBzdHJ1Y3QgcmVzX3JhbmdlIF9faW5pdGRhdGEgcmFuZ2VfbmV3W1JBTkdFX05VTV07CitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG1pbl9sb3NzX3BmbltSQU5HRV9OVU1dOworCitzdGF0aWMgaW50IF9faW5pdCBtdHJyX2NsZWFudXAodW5zaWduZWQgYWRkcmVzc19iaXRzKQoreworCXVuc2lnbmVkIGxvbmcgZXh0cmFfcmVtb3ZlX2Jhc2UsIGV4dHJhX3JlbW92ZV9zaXplOworCXVuc2lnbmVkIGxvbmcgaSwgYmFzZSwgc2l6ZSwgZGVmLCBkdW1teTsKKwltdHJyX3R5cGUgdHlwZTsKKwlpbnQgbnJfcmFuZ2UsIG5yX3JhbmdlX25ldzsKKwl1NjQgY2h1bmtfc2l6ZSwgZ3Jhbl9zaXplOworCXVuc2lnbmVkIGxvbmcgcmFuZ2Vfc3VtcywgcmFuZ2Vfc3Vtc19uZXc7CisJaW50IGluZGV4X2dvb2Q7CisJaW50IG51bV9yZWdfZ29vZDsKKworCS8qIGV4dHJhIG9uZSBmb3IgYWxsIDAgKi8KKwlpbnQgbnVtW01UUlJfTlVNX1RZUEVTICsgMV07CisKKwlpZiAoIWlzX2NwdShJTlRFTCkgfHwgZW5hYmxlX210cnJfY2xlYW51cCA8IDEpCisJCXJldHVybiAwOworCXJkbXNyKE1UUlJkZWZUeXBlX01TUiwgZGVmLCBkdW1teSk7CisJZGVmICY9IDB4ZmY7CisJaWYgKGRlZiAhPSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKKwkJcmV0dXJuIDA7CisKKwkvKiBnZXQgaXQgYW5kIHN0b3JlIGl0IGFzaWRlICovCisJbWVtc2V0KHJhbmdlX3N0YXRlLCAwLCBzaXplb2YocmFuZ2Vfc3RhdGUpKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgeworCQltdHJyX2lmLT5nZXQoaSwgJmJhc2UsICZzaXplLCAmdHlwZSk7CisJCXJhbmdlX3N0YXRlW2ldLmJhc2VfcGZuID0gYmFzZTsKKwkJcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm4gPSBzaXplOworCQlyYW5nZV9zdGF0ZVtpXS50eXBlID0gdHlwZTsKKwl9CisKKwkvKiBjaGVjayBlbnRyaWVzIG51bWJlciAqLworCW1lbXNldChudW0sIDAsIHNpemVvZihudW0pKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgeworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbaV0udHlwZTsKKwkJc2l6ZSA9IHJhbmdlX3N0YXRlW2ldLnNpemVfcGZuOworCQlpZiAodHlwZSA+PSBNVFJSX05VTV9UWVBFUykKKwkJCWNvbnRpbnVlOworCQlpZiAoIXNpemUpCisJCQl0eXBlID0gTVRSUl9OVU1fVFlQRVM7CisJCW51bVt0eXBlXSsrOworCX0KKworCS8qIGNoZWNrIGlmIHdlIGdvdCBVQyBlbnRyaWVzICovCisJaWYgKCFudW1bTVRSUl9UWVBFX1VOQ0FDSEFCTEVdKQorCQlyZXR1cm4gMDsKKworCS8qIGNoZWNrIGlmIHdlIG9ubHkgaGFkIFdCIGFuZCBVQyAqLworCWlmIChudW1bTVRSUl9UWVBFX1dSQkFDS10gKyBudW1bTVRSUl9UWVBFX1VOQ0FDSEFCTEVdICE9CisJCW51bV92YXJfcmFuZ2VzIC0gbnVtW01UUlJfTlVNX1RZUEVTXSkKKwkJcmV0dXJuIDA7CisKKwltZW1zZXQocmFuZ2UsIDAsIHNpemVvZihyYW5nZSkpOworCWV4dHJhX3JlbW92ZV9zaXplID0gMDsKKwlpZiAobXRycl90b20yKSB7CisJCWV4dHJhX3JlbW92ZV9iYXNlID0gMSA8PCAoMzIgLSBQQUdFX1NISUZUKTsKKwkJZXh0cmFfcmVtb3ZlX3NpemUgPQorCQkJKG10cnJfdG9tMiA+PiBQQUdFX1NISUZUKSAtIGV4dHJhX3JlbW92ZV9iYXNlOworCX0KKwlucl9yYW5nZSA9IHg4Nl9nZXRfbXRycl9tZW1fcmFuZ2UocmFuZ2UsIDAsIGV4dHJhX3JlbW92ZV9iYXNlLAorCQkJCQkgIGV4dHJhX3JlbW92ZV9zaXplKTsKKwlyYW5nZV9zdW1zID0gc3VtX3JhbmdlcyhyYW5nZSwgbnJfcmFuZ2UpOworCXByaW50ayhLRVJOX0lORk8gInRvdGFsIFJBTSBjb3ZlcnJlZDogJWxkTVxuIiwKKwkgICAgICAgcmFuZ2Vfc3VtcyA+PiAoMjAgLSBQQUdFX1NISUZUKSk7CisKKwlpZiAobXRycl9jaHVua19zaXplICYmIG10cnJfZ3Jhbl9zaXplKSB7CisJCWludCBudW1fcmVnOworCisJCWRlYnVnX3ByaW50ID0gMTsKKwkJLyogY29udmVydCByYW5nZXMgdG8gdmFyIHJhbmdlcyBzdGF0ZSAqLworCQludW1fcmVnID0geDg2X3NldHVwX3Zhcl9tdHJycyhyYW5nZSwgbnJfcmFuZ2UsIG10cnJfY2h1bmtfc2l6ZSwKKwkJCQkJICAgICAgbXRycl9ncmFuX3NpemUpOworCisJCS8qIHdlIGdvdCBuZXcgc2V0dGluZyBpbiByYW5nZV9zdGF0ZSwgY2hlY2sgaXQgKi8KKwkJbWVtc2V0KHJhbmdlX25ldywgMCwgc2l6ZW9mKHJhbmdlX25ldykpOworCQlucl9yYW5nZV9uZXcgPSB4ODZfZ2V0X210cnJfbWVtX3JhbmdlKHJhbmdlX25ldywgMCwKKwkJCQkJCSAgICAgIGV4dHJhX3JlbW92ZV9iYXNlLAorCQkJCQkJICAgICAgZXh0cmFfcmVtb3ZlX3NpemUpOworCQlyYW5nZV9zdW1zX25ldyA9IHN1bV9yYW5nZXMocmFuZ2VfbmV3LCBucl9yYW5nZV9uZXcpOworCisJCWkgPSAwOworCQlyZXN1bHRbaV0uY2h1bmtfc2l6ZWsgPSBtdHJyX2NodW5rX3NpemUgPj4gMTA7CisJCXJlc3VsdFtpXS5ncmFuX3NpemVrID0gbXRycl9ncmFuX3NpemUgPj4gMTA7CisJCXJlc3VsdFtpXS5udW1fcmVnID0gbnVtX3JlZzsKKwkJaWYgKHJhbmdlX3N1bXMgPCByYW5nZV9zdW1zX25ldykgeworCQkJcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPQorCQkJCShyYW5nZV9zdW1zX25ldyAtIHJhbmdlX3N1bXMpIDw8IFBTSElGVDsKKwkJCXJlc3VsdFtpXS5iYWQgPSAxOworCQl9IGVsc2UKKwkJCXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrID0KKwkJCQkocmFuZ2Vfc3VtcyAtIHJhbmdlX3N1bXNfbmV3KSA8PCBQU0hJRlQ7CisKKwkJcHJpbnRrKEtFUk5fSU5GTyAiJXNncmFuX3NpemU6ICVsZE0gXHRjaHVua19zaXplOiAlbGRNIFx0IiwKKwkJCSByZXN1bHRbaV0uYmFkPyIqQkFEKiI6IiAiLCByZXN1bHRbaV0uZ3Jhbl9zaXplayA+PiAxMCwKKwkJCSByZXN1bHRbaV0uY2h1bmtfc2l6ZWsgPj4gMTApOworCQlwcmludGsoS0VSTl9DT05UICJudW1fcmVnOiAlZCAgXHRsb3NlIGNvdmVyIFJBTTogJXMlbGRNIFxuIiwKKwkJCSByZXN1bHRbaV0ubnVtX3JlZywgcmVzdWx0W2ldLmJhZD8iLSI6IiIsCisJCQkgcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPj4gMTApOworCQlpZiAoIXJlc3VsdFtpXS5iYWQpIHsKKwkJCXNldF92YXJfbXRycl9hbGwoYWRkcmVzc19iaXRzKTsKKwkJCXJldHVybiAxOworCQl9CisJCXByaW50ayhLRVJOX0lORk8gImludmFsaWQgbXRycl9ncmFuX3NpemUgb3IgbXRycl9jaHVua19zaXplLCAiCisJCSAgICAgICAid2lsbCBmaW5kIG9wdGltYWwgb25lXG4iKTsKKwkJZGVidWdfcHJpbnQgPSAwOworCQltZW1zZXQocmVzdWx0LCAwLCBzaXplb2YocmVzdWx0WzBdKSk7CisJfQorCisJaSA9IDA7CisJbWVtc2V0KG1pbl9sb3NzX3BmbiwgMHhmZiwgc2l6ZW9mKG1pbl9sb3NzX3BmbikpOworCW1lbXNldChyZXN1bHQsIDAsIHNpemVvZihyZXN1bHQpKTsKKwlmb3IgKGdyYW5fc2l6ZSA9ICgxVUxMPDwyMCk7IGdyYW5fc2l6ZSA8ICgxVUxMPDwzMik7IGdyYW5fc2l6ZSA8PD0gMSkgeworCQlmb3IgKGNodW5rX3NpemUgPSBncmFuX3NpemU7IGNodW5rX3NpemUgPCAoMVVMTDw8MzMpOworCQkgICAgIGNodW5rX3NpemUgPDw9IDEpIHsKKwkJCWludCBudW1fcmVnOworCisJCQlpZiAoZGVidWdfcHJpbnQpCisJCQkJcHJpbnRrKEtFUk5fSU5GTworCQkJICAgICAgICJcbmdyYW5fc2l6ZTogJWxsZE0gICBjaHVua19zaXplX3NpemU6ICVsbGRNXG4iLAorCQkJCSAgICAgICBncmFuX3NpemUgPj4gMjAsIGNodW5rX3NpemUgPj4gMjApOworCQkJaWYgKGkgPj0gTlVNX1JFU1VMVCkKKwkJCQljb250aW51ZTsKKworCQkJLyogY29udmVydCByYW5nZXMgdG8gdmFyIHJhbmdlcyBzdGF0ZSAqLworCQkJbnVtX3JlZyA9IHg4Nl9zZXR1cF92YXJfbXRycnMocmFuZ2UsIG5yX3JhbmdlLAorCQkJCQkJCSBjaHVua19zaXplLCBncmFuX3NpemUpOworCisJCQkvKiB3ZSBnb3QgbmV3IHNldHRpbmcgaW4gcmFuZ2Vfc3RhdGUsIGNoZWNrIGl0ICovCisJCQltZW1zZXQocmFuZ2VfbmV3LCAwLCBzaXplb2YocmFuZ2VfbmV3KSk7CisJCQlucl9yYW5nZV9uZXcgPSB4ODZfZ2V0X210cnJfbWVtX3JhbmdlKHJhbmdlX25ldywgMCwKKwkJCQkJIGV4dHJhX3JlbW92ZV9iYXNlLCBleHRyYV9yZW1vdmVfc2l6ZSk7CisJCQlyYW5nZV9zdW1zX25ldyA9IHN1bV9yYW5nZXMocmFuZ2VfbmV3LCBucl9yYW5nZV9uZXcpOworCisJCQlyZXN1bHRbaV0uY2h1bmtfc2l6ZWsgPSBjaHVua19zaXplID4+IDEwOworCQkJcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPSBncmFuX3NpemUgPj4gMTA7CisJCQlyZXN1bHRbaV0ubnVtX3JlZyA9IG51bV9yZWc7CisJCQlpZiAocmFuZ2Vfc3VtcyA8IHJhbmdlX3N1bXNfbmV3KSB7CisJCQkJcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPQorCQkJCQkocmFuZ2Vfc3Vtc19uZXcgLSByYW5nZV9zdW1zKSA8PCBQU0hJRlQ7CisJCQkJcmVzdWx0W2ldLmJhZCA9IDE7CisJCQl9IGVsc2UKKwkJCQlyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA9CisJCQkJCShyYW5nZV9zdW1zIC0gcmFuZ2Vfc3Vtc19uZXcpIDw8IFBTSElGVDsKKworCQkJLyogZG91YmxlIGNoZWNrIGl0ICovCisJCQlpZiAoIXJlc3VsdFtpXS5iYWQgJiYgIXJlc3VsdFtpXS5sb3NlX2NvdmVyX3NpemVrKSB7CisJCQkJaWYgKG5yX3JhbmdlX25ldyAhPSBucl9yYW5nZSB8fAorCQkJCQltZW1jbXAocmFuZ2UsIHJhbmdlX25ldywgc2l6ZW9mKHJhbmdlKSkpCisJCQkJCQlyZXN1bHRbaV0uYmFkID0gMTsKKwkJCX0KKworCQkJaWYgKCFyZXN1bHRbaV0uYmFkICYmIChyYW5nZV9zdW1zIC0gcmFuZ2Vfc3Vtc19uZXcgPAorCQkJCQkgICAgICAgbWluX2xvc3NfcGZuW251bV9yZWddKSkgeworCQkJCW1pbl9sb3NzX3BmbltudW1fcmVnXSA9CisJCQkJCXJhbmdlX3N1bXMgLSByYW5nZV9zdW1zX25ldzsKKwkJCX0KKwkJCWkrKzsKKwkJfQorCX0KKworCS8qIHByaW50IG91dCBhbGwgKi8KKwlmb3IgKGkgPSAwOyBpIDwgTlVNX1JFU1VMVDsgaSsrKSB7CisJCXByaW50ayhLRVJOX0lORk8gIiVzZ3Jhbl9zaXplOiAlbGRNIFx0Y2h1bmtfc2l6ZTogJWxkTSBcdCIsCisJCSAgICAgICByZXN1bHRbaV0uYmFkPyIqQkFEKiAiOiIgIiwgcmVzdWx0W2ldLmdyYW5fc2l6ZWsgPj4gMTAsCisJCSAgICAgICByZXN1bHRbaV0uY2h1bmtfc2l6ZWsgPj4gMTApOworCQlwcmludGsoS0VSTl9DT05UICJudW1fcmVnOiAlZCBcdGxvc2UgUkFNOiAlcyVsZE1cbiIsCisJCSAgICAgICByZXN1bHRbaV0ubnVtX3JlZywgcmVzdWx0W2ldLmJhZD8iLSI6IiIsCisJCSAgICAgICByZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplayA+PiAxMCk7CisJfQorCisJLyogdHJ5IHRvIGZpbmQgdGhlIG9wdGltYWwgaW5kZXggKi8KKwlpZiAobnJfbXRycl9zcGFyZV9yZWcgPj0gbnVtX3Zhcl9yYW5nZXMpCisJCW5yX210cnJfc3BhcmVfcmVnID0gbnVtX3Zhcl9yYW5nZXMgLSAxOworCW51bV9yZWdfZ29vZCA9IC0xOworCWZvciAoaSA9IG51bV92YXJfcmFuZ2VzIC0gbnJfbXRycl9zcGFyZV9yZWc7IGkgPiAwOyBpLS0pIHsKKwkJaWYgKCFtaW5fbG9zc19wZm5baV0pIHsKKwkJCW51bV9yZWdfZ29vZCA9IGk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWluZGV4X2dvb2QgPSAtMTsKKwlpZiAobnVtX3JlZ19nb29kICE9IC0xKSB7CisJCWZvciAoaSA9IDA7IGkgPCBOVU1fUkVTVUxUOyBpKyspIHsKKwkJCWlmICghcmVzdWx0W2ldLmJhZCAmJgorCQkJICAgIHJlc3VsdFtpXS5udW1fcmVnID09IG51bV9yZWdfZ29vZCAmJgorCQkJICAgICFyZXN1bHRbaV0ubG9zZV9jb3Zlcl9zaXplaykgeworCQkJCWluZGV4X2dvb2QgPSBpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJaWYgKGluZGV4X2dvb2QgIT0gLTEpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiRm91bmQgb3B0aW1hbCBzZXR0aW5nIGZvciBtdHJyIGNsZWFuIHVwXG4iKTsKKwkJaSA9IGluZGV4X2dvb2Q7CisJCXByaW50ayhLRVJOX0lORk8gImdyYW5fc2l6ZTogJWxkTSBcdGNodW5rX3NpemU6ICVsZE0gXHQiLAorCQkJCXJlc3VsdFtpXS5ncmFuX3NpemVrID4+IDEwLAorCQkJCXJlc3VsdFtpXS5jaHVua19zaXplayA+PiAxMCk7CisJCXByaW50ayhLRVJOX0NPTlQgIm51bV9yZWc6ICVkIFx0bG9zZSBSQU06ICVsZE1cbiIsCisJCQkJcmVzdWx0W2ldLm51bV9yZWcsCisJCQkJcmVzdWx0W2ldLmxvc2VfY292ZXJfc2l6ZWsgPj4gMTApOworCQkvKiBjb252ZXJ0IHJhbmdlcyB0byB2YXIgcmFuZ2VzIHN0YXRlICovCisJCWNodW5rX3NpemUgPSByZXN1bHRbaV0uY2h1bmtfc2l6ZWs7CisJCWNodW5rX3NpemUgPDw9IDEwOworCQlncmFuX3NpemUgPSByZXN1bHRbaV0uZ3Jhbl9zaXplazsKKwkJZ3Jhbl9zaXplIDw8PSAxMDsKKwkJZGVidWdfcHJpbnQgPSAxOworCQl4ODZfc2V0dXBfdmFyX210cnJzKHJhbmdlLCBucl9yYW5nZSwgY2h1bmtfc2l6ZSwgZ3Jhbl9zaXplKTsKKwkJc2V0X3Zhcl9tdHJyX2FsbChhZGRyZXNzX2JpdHMpOworCQlyZXR1cm4gMTsKKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJtdHJyX2NsZWFudXA6IGNhbiBub3QgZmluZCBvcHRpbWFsIHZhbHVlXG4iKTsKKwlwcmludGsoS0VSTl9JTkZPICJwbGVhc2Ugc3BlY2lmeSBtdHJyX2dyYW5fc2l6ZS9tdHJyX2NodW5rX3NpemVcbiIpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorc3RhdGljIGludCBfX2luaXQgbXRycl9jbGVhbnVwKHVuc2lnbmVkIGFkZHJlc3NfYml0cykKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IF9faW5pdGRhdGEgY2hhbmdlZF9ieV9tdHJyX2NsZWFudXA7CisKIHN0YXRpYyBpbnQgZGlzYWJsZV9tdHJyX3RyaW07CiAKIHN0YXRpYyBpbnQgX19pbml0IGRpc2FibGVfbXRycl90cmltX3NldHVwKGNoYXIgKnN0cikKQEAgLTY0OCw2ICsxNDMwLDE5IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB1NjQgX19pbml0IHJlYWxfdHJpbV9tZW1vcnkodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJICAgdW5zaWduZWQgbG9uZyBsaW1pdF9wZm4pCit7CisJdTY0IHRyaW1fc3RhcnQsIHRyaW1fc2l6ZTsKKwl0cmltX3N0YXJ0ID0gc3RhcnRfcGZuOworCXRyaW1fc3RhcnQgPDw9IFBBR0VfU0hJRlQ7CisJdHJpbV9zaXplID0gbGltaXRfcGZuOworCXRyaW1fc2l6ZSA8PD0gUEFHRV9TSElGVDsKKwl0cmltX3NpemUgLT0gdHJpbV9zdGFydDsKKworCXJldHVybiBlODIwX3VwZGF0ZV9yYW5nZSh0cmltX3N0YXJ0LCB0cmltX3NpemUsIEU4MjBfUkFNLAorCQkJCUU4MjBfUkVTRVJWRUQpOworfQogLyoqCiAgKiBtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5IC0gdHJpbSBSQU0gbm90IGNvdmVyZWQgYnkgTVRSUnMKICAqIEBlbmRfcGZuOiBlbmRpbmcgcGFnZSBmcmFtZSBudW1iZXIKQEAgLTY2Myw4ICsxNDU4LDExIEBACiB7CiAJdW5zaWduZWQgbG9uZyBpLCBiYXNlLCBzaXplLCBoaWdoZXN0X3BmbiA9IDAsIGRlZiwgZHVtbXk7CiAJbXRycl90eXBlIHR5cGU7Ci0JdTY0IHRyaW1fc3RhcnQsIHRyaW1fc2l6ZTsKKwlpbnQgbnJfcmFuZ2U7CisJdTY0IHRvdGFsX3RyaW1fc2l6ZTsKIAorCS8qIGV4dHJhIG9uZSBmb3IgYWxsIDAgKi8KKwlpbnQgbnVtW01UUlJfTlVNX1RZUEVTICsgMV07CiAJLyoKIAkgKiBNYWtlIHN1cmUgd2Ugb25seSB0cmltIHVuY2FjaGFibGUgbWVtb3J5IG9uIG1hY2hpbmVzIHRoYXQKIAkgKiBzdXBwb3J0IHRoZSBJbnRlbCBNVFJSIGFyY2hpdGVjdHVyZToKQEAgLTY3NiwxNCArMTQ3NCwyMiBAQAogCWlmIChkZWYgIT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpCiAJCXJldHVybiAwOwogCi0JaWYgKGFtZF9zcGVjaWFsX2RlZmF1bHRfbXRycigpKQotCQlyZXR1cm4gMDsKKwkvKiBnZXQgaXQgYW5kIHN0b3JlIGl0IGFzaWRlICovCisJbWVtc2V0KHJhbmdlX3N0YXRlLCAwLCBzaXplb2YocmFuZ2Vfc3RhdGUpKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgeworCQltdHJyX2lmLT5nZXQoaSwgJmJhc2UsICZzaXplLCAmdHlwZSk7CisJCXJhbmdlX3N0YXRlW2ldLmJhc2VfcGZuID0gYmFzZTsKKwkJcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm4gPSBzaXplOworCQlyYW5nZV9zdGF0ZVtpXS50eXBlID0gdHlwZTsKKwl9CiAKIAkvKiBGaW5kIGhpZ2hlc3QgY2FjaGVkIHBmbiAqLwogCWZvciAoaSA9IDA7IGkgPCBudW1fdmFyX3JhbmdlczsgaSsrKSB7Ci0JCW10cnJfaWYtPmdldChpLCAmYmFzZSwgJnNpemUsICZ0eXBlKTsKKwkJdHlwZSA9IHJhbmdlX3N0YXRlW2ldLnR5cGU7CiAJCWlmICh0eXBlICE9IE1UUlJfVFlQRV9XUkJBQ0spCiAJCQljb250aW51ZTsKKwkJYmFzZSA9IHJhbmdlX3N0YXRlW2ldLmJhc2VfcGZuOworCQlzaXplID0gcmFuZ2Vfc3RhdGVbaV0uc2l6ZV9wZm47CiAJCWlmIChoaWdoZXN0X3BmbiA8IGJhc2UgKyBzaXplKQogCQkJaGlnaGVzdF9wZm4gPSBiYXNlICsgc2l6ZTsKIAl9CkBAIC02OTgsMjIgKzE1MDQsNjUgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JaWYgKGhpZ2hlc3RfcGZuIDwgZW5kX3BmbikgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJXQVJOSU5HOiBCSU9TIGJ1ZzogQ1BVIE1UUlJzIGRvbid0IGNvdmVyIgotCQkJIiBhbGwgb2YgbWVtb3J5LCBsb3NpbmcgJWx1TUIgb2YgUkFNLlxuIiwKLQkJCShlbmRfcGZuIC0gaGlnaGVzdF9wZm4pID4+ICgyMCAtIFBBR0VfU0hJRlQpKTsKKwkvKiBjaGVjayBlbnRyaWVzIG51bWJlciAqLworCW1lbXNldChudW0sIDAsIHNpemVvZihudW0pKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX3Zhcl9yYW5nZXM7IGkrKykgeworCQl0eXBlID0gcmFuZ2Vfc3RhdGVbaV0udHlwZTsKKwkJaWYgKHR5cGUgPj0gTVRSUl9OVU1fVFlQRVMpCisJCQljb250aW51ZTsKKwkJc2l6ZSA9IHJhbmdlX3N0YXRlW2ldLnNpemVfcGZuOworCQlpZiAoIXNpemUpCisJCQl0eXBlID0gTVRSUl9OVU1fVFlQRVM7CisJCW51bVt0eXBlXSsrOworCX0KIAotCQlXQVJOX09OKDEpOworCS8qIG5vIGVudHJ5IGZvciBXQj8gKi8KKwlpZiAoIW51bVtNVFJSX1RZUEVfV1JCQUNLXSkKKwkJcmV0dXJuIDA7CisKKwkvKiBjaGVjayBpZiB3ZSBvbmx5IGhhZCBXQiBhbmQgVUMgKi8KKwlpZiAobnVtW01UUlJfVFlQRV9XUkJBQ0tdICsgbnVtW01UUlJfVFlQRV9VTkNBQ0hBQkxFXSAhPQorCQludW1fdmFyX3JhbmdlcyAtIG51bVtNVFJSX05VTV9UWVBFU10pCisJCXJldHVybiAwOworCisJbWVtc2V0KHJhbmdlLCAwLCBzaXplb2YocmFuZ2UpKTsKKwlucl9yYW5nZSA9IDA7CisJaWYgKG10cnJfdG9tMikgeworCQlyYW5nZVtucl9yYW5nZV0uc3RhcnQgPSAoMVVMTDw8KDMyIC0gUEFHRV9TSElGVCkpOworCQlyYW5nZVtucl9yYW5nZV0uZW5kID0gKG10cnJfdG9tMiA+PiBQQUdFX1NISUZUKSAtIDE7CisJCWlmIChoaWdoZXN0X3BmbiA8IHJhbmdlW25yX3JhbmdlXS5lbmQgKyAxKQorCQkJaGlnaGVzdF9wZm4gPSByYW5nZVtucl9yYW5nZV0uZW5kICsgMTsKKwkJbnJfcmFuZ2UrKzsKKwl9CisJbnJfcmFuZ2UgPSB4ODZfZ2V0X210cnJfbWVtX3JhbmdlKHJhbmdlLCBucl9yYW5nZSwgMCwgMCk7CisKKwl0b3RhbF90cmltX3NpemUgPSAwOworCS8qIGNoZWNrIHRoZSBoZWFkICovCisJaWYgKHJhbmdlWzBdLnN0YXJ0KQorCQl0b3RhbF90cmltX3NpemUgKz0gcmVhbF90cmltX21lbW9yeSgwLCByYW5nZVswXS5zdGFydCk7CisJLyogY2hlY2sgdGhlIGhvbGVzICovCisJZm9yIChpID0gMDsgaSA8IG5yX3JhbmdlIC0gMTsgaSsrKSB7CisJCWlmIChyYW5nZVtpXS5lbmQgKyAxIDwgcmFuZ2VbaSsxXS5zdGFydCkKKwkJCXRvdGFsX3RyaW1fc2l6ZSArPSByZWFsX3RyaW1fbWVtb3J5KHJhbmdlW2ldLmVuZCArIDEsCisJCQkJCQkJICAgIHJhbmdlW2krMV0uc3RhcnQpOworCX0KKwkvKiBjaGVjayB0aGUgdG9wICovCisJaSA9IG5yX3JhbmdlIC0gMTsKKwlpZiAocmFuZ2VbaV0uZW5kICsgMSA8IGVuZF9wZm4pCisJCXRvdGFsX3RyaW1fc2l6ZSArPSByZWFsX3RyaW1fbWVtb3J5KHJhbmdlW2ldLmVuZCArIDEsCisJCQkJCQkJIGVuZF9wZm4pOworCisJaWYgKHRvdGFsX3RyaW1fc2l6ZSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJXQVJOSU5HOiBCSU9TIGJ1ZzogQ1BVIE1UUlJzIGRvbid0IGNvdmVyIgorCQkJIiBhbGwgb2YgbWVtb3J5LCBsb3NpbmcgJWxsdU1CIG9mIFJBTS5cbiIsCisJCQl0b3RhbF90cmltX3NpemUgPj4gMjApOworCisJCWlmICghY2hhbmdlZF9ieV9tdHJyX2NsZWFudXApCisJCQlXQVJOX09OKDEpOwogCiAJCXByaW50ayhLRVJOX0lORk8gInVwZGF0ZSBlODIwIGZvciBtdHJyXG4iKTsKLQkJdHJpbV9zdGFydCA9IGhpZ2hlc3RfcGZuOwotCQl0cmltX3N0YXJ0IDw8PSBQQUdFX1NISUZUOwotCQl0cmltX3NpemUgPSBlbmRfcGZuOwotCQl0cmltX3NpemUgPDw9IFBBR0VfU0hJRlQ7Ci0JCXRyaW1fc2l6ZSAtPSB0cmltX3N0YXJ0OwotCQl1cGRhdGVfbWVtb3J5X3JhbmdlKHRyaW1fc3RhcnQsIHRyaW1fc2l6ZSwgRTgyMF9SQU0sCi0JCQkJCUU4MjBfUkVTRVJWRUQpOwogCQl1cGRhdGVfZTgyMCgpOworCiAJCXJldHVybiAxOwogCX0KIApAQCAtNzI5LDE4ICsxNTc4LDIxIEBACiAgKi8KIHZvaWQgX19pbml0IG10cnJfYnBfaW5pdCh2b2lkKQogeworCXUzMiBwaHlzX2FkZHI7CiAJaW5pdF9pZnMoKTsKIAorCXBoeXNfYWRkciA9IDMyOworCiAJaWYgKGNwdV9oYXNfbXRycikgewogCQltdHJyX2lmID0gJmdlbmVyaWNfbXRycl9vcHM7CiAJCXNpemVfb3JfbWFzayA9IDB4ZmYwMDAwMDA7CS8qIDM2IGJpdHMgKi8KIAkJc2l6ZV9hbmRfbWFzayA9IDB4MDBmMDAwMDA7CisJCXBoeXNfYWRkciA9IDM2OwogCiAJCS8qIFRoaXMgaXMgYW4gQU1EIHNwZWNpZmljIE1TUiwgYnV0IHdlIGFzc3VtZShob3BlPykgdGhhdAogCQkgICBJbnRlbCB3aWxsIGltcGxlbWVudCBpdCB0byB3aGVuIHRoZXkgZXh0ZW5kIHRoZSBhZGRyZXNzCiAJCSAgIGJ1cyBvZiB0aGUgWGVvbi4gKi8KIAkJaWYgKGNwdWlkX2VheCgweDgwMDAwMDAwKSA+PSAweDgwMDAwMDA4KSB7Ci0JCQl1MzIgcGh5c19hZGRyOwogCQkJcGh5c19hZGRyID0gY3B1aWRfZWF4KDB4ODAwMDAwMDgpICYgMHhmZjsKIAkJCS8qIENQVUlEIHdvcmthcm91bmQgZm9yIEludGVsIDBGMzMvMEYzNCBDUFUgKi8KIAkJCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCAmJgpAQCAtNzU4LDYgKzE2MTAsNyBAQAogCQkJICAgZG9uJ3Qgc3VwcG9ydCBQQUUgKi8KIAkJCXNpemVfb3JfbWFzayA9IDB4ZmZmMDAwMDA7CS8qIDMyIGJpdHMgKi8KIAkJCXNpemVfYW5kX21hc2sgPSAwOworCQkJcGh5c19hZGRyID0gMzI7CiAJCX0KIAl9IGVsc2UgewogCQlzd2l0Y2ggKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvcikgewpAQCAtNzkxLDggKzE2NDQsMTUgQEAKIAlpZiAobXRycl9pZikgewogCQlzZXRfbnVtX3Zhcl9yYW5nZXMoKTsKIAkJaW5pdF90YWJsZSgpOwotCQlpZiAodXNlX2ludGVsKCkpCisJCWlmICh1c2VfaW50ZWwoKSkgewogCQkJZ2V0X210cnJfc3RhdGUoKTsKKworCQkJaWYgKG10cnJfY2xlYW51cChwaHlzX2FkZHIpKSB7CisJCQkJY2hhbmdlZF9ieV9tdHJyX2NsZWFudXAgPSAxOworCQkJCW10cnJfaWYtPnNldF9hbGwoKTsKKwkJCX0KKworCQl9CiAJfQogfQogCkBAIC04MjIsMTYgKzE2ODIsMTcgQEAKICAqLwogdm9pZCBtdHJyX3NhdmVfc3RhdGUodm9pZCkKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoMCwgbXRycl9zYXZlX2ZpeGVkX3JhbmdlcywgTlVMTCwgMSwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKDAsIG10cnJfc2F2ZV9maXhlZF9yYW5nZXMsIE5VTEwsIDEpOwogfQogCiBzdGF0aWMgaW50IF9faW5pdCBtdHJyX2luaXRfZmluaWFsaXplKHZvaWQpCiB7CiAJaWYgKCFtdHJyX2lmKQogCQlyZXR1cm4gMDsKLQlpZiAodXNlX2ludGVsKCkpCi0JCW10cnJfc3RhdGVfd2FybigpOwotCWVsc2UgeworCWlmICh1c2VfaW50ZWwoKSkgeworCQlpZiAoIWNoYW5nZWRfYnlfbXRycl9jbGVhbnVwKQorCQkJbXRycl9zdGF0ZV93YXJuKCk7CisJfSBlbHNlIHsKIAkJLyogVGhlIENQVXMgaGF2ZW4ndCBNVFJSIGFuZCBzZWVtIHRvIG5vdCBzdXBwb3J0IFNNUC4gVGhleSBoYXZlCiAJCSAqIHNwZWNpZmljIGRyaXZlcnMsIHdlIHVzZSBhIHRyaWNreSBtZXRob2QgdG8gc3VwcG9ydAogCQkgKiBzdXNwZW5kL3Jlc3VtZSBmb3IgdGhlbS4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tdHJyLmggYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L210cnIvbXRyci5oCmluZGV4IDJjYzc3ZWIuLjJkYzRlYzYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvbXRyci9tdHJyLmgKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tdHJyL210cnIuaApAQCAtODEsNiArODEsOCBAQAogdm9pZCBzZXRfbXRycl9jYWNoZV9kaXNhYmxlKHN0cnVjdCBzZXRfbXRycl9jb250ZXh0ICpjdHh0KTsKIHZvaWQgc2V0X210cnJfcHJlcGFyZV9zYXZlKHN0cnVjdCBzZXRfbXRycl9jb250ZXh0ICpjdHh0KTsKIAordm9pZCBmaWxsX210cnJfdmFyX3JhbmdlKHVuc2lnbmVkIGludCBpbmRleCwKKwkJdTMyIGJhc2VfbG8sIHUzMiBiYXNlX2hpLCB1MzIgbWFza19sbywgdTMyIG1hc2tfaGkpOwogdm9pZCBnZXRfbXRycl9zdGF0ZSh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgc2V0X210cnJfb3BzKHN0cnVjdCBtdHJyX29wcyAqIG9wcyk7CkBAIC05Miw2ICs5NCw3IEBACiAjZGVmaW5lIHVzZV9pbnRlbCgpCShtdHJyX2lmICYmIG10cnJfaWYtPnVzZV9pbnRlbF9pZiA9PSAxKQogCiBleHRlcm4gdW5zaWduZWQgaW50IG51bV92YXJfcmFuZ2VzOworZXh0ZXJuIHU2NCBtdHJyX3RvbTI7CiAKIHZvaWQgbXRycl9zdGF0ZV93YXJuKHZvaWQpOwogY29uc3QgY2hhciAqbXRycl9hdHRyaWJfdG9fc3RyKGludCB4KTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvcGVyZmN0ci13YXRjaGRvZy5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9wZXJmY3RyLXdhdGNoZG9nLmMKaW5kZXggZjlhZTkzYS4uNmQ0YmRjMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9wZXJmY3RyLXdhdGNoZG9nLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9wZXJmY3RyLXdhdGNoZG9nLmMKQEAgLTEsMTEgKzEsMTUgQEAKLS8qIGxvY2FsIGFwaWMgYmFzZWQgTk1JIHdhdGNoZG9nIGZvciB2YXJpb3VzIENQVXMuCi0gICBUaGlzIGZpbGUgYWxzbyBoYW5kbGVzIHJlc2VydmF0aW9uIG9mIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGZvciBjb29yZGluYXRpb24KLSAgIHdpdGggb3RoZXIgdXNlcnMgKGxpa2Ugb3Byb2ZpbGUpLgotCi0gICBOb3RlIHRoYXQgdGhlc2UgZXZlbnRzIG5vcm1hbGx5IGRvbid0IHRpY2sgd2hlbiB0aGUgQ1BVIGlkbGVzLiBUaGlzIG1lYW5zCi0gICB0aGUgZnJlcXVlbmN5IHZhcmllcyB3aXRoIENQVSBsb2FkLgotCi0gICBPcmlnaW5hbCBjb2RlIGZvciBLNy9QNiB3cml0dGVuIGJ5IEtlaXRoIE93ZW5zICovCisvKgorICogbG9jYWwgYXBpYyBiYXNlZCBOTUkgd2F0Y2hkb2cgZm9yIHZhcmlvdXMgQ1BVcy4KKyAqCisgKiBUaGlzIGZpbGUgYWxzbyBoYW5kbGVzIHJlc2VydmF0aW9uIG9mIHBlcmZvcm1hbmNlIGNvdW50ZXJzIGZvciBjb29yZGluYXRpb24KKyAqIHdpdGggb3RoZXIgdXNlcnMgKGxpa2Ugb3Byb2ZpbGUpLgorICoKKyAqIE5vdGUgdGhhdCB0aGVzZSBldmVudHMgbm9ybWFsbHkgZG9uJ3QgdGljayB3aGVuIHRoZSBDUFUgaWRsZXMuIFRoaXMgbWVhbnMKKyAqIHRoZSBmcmVxdWVuY3kgdmFyaWVzIHdpdGggQ1BVIGxvYWQuCisgKgorICogT3JpZ2luYWwgY29kZSBmb3IgSzcvUDYgd3JpdHRlbiBieSBLZWl0aCBPd2VucworICoKKyAqLwogCiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zNiwxMiArNDAsMTYgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCB3ZF9vcHMgKndkX29wczsKIAotLyogdGhpcyBudW1iZXIgaXMgY2FsY3VsYXRlZCBmcm9tIEludGVsJ3MgTVNSX1A0X0NSVV9FU0NSNSByZWdpc3RlciBhbmQgaXQncwotICogb2Zmc2V0IGZyb20gTVNSX1A0X0JTVV9FU0NSMC4gIEl0IHdpbGwgYmUgdGhlIG1heCBmb3IgYWxsIHBsYXRmb3JtcyAoZm9yIG5vdykKKy8qCisgKiB0aGlzIG51bWJlciBpcyBjYWxjdWxhdGVkIGZyb20gSW50ZWwncyBNU1JfUDRfQ1JVX0VTQ1I1IHJlZ2lzdGVyIGFuZCBpdCdzCisgKiBvZmZzZXQgZnJvbSBNU1JfUDRfQlNVX0VTQ1IwLgorICoKKyAqIEl0IHdpbGwgYmUgdGhlIG1heCBmb3IgYWxsIHBsYXRmb3JtcyAoZm9yIG5vdykKICAqLwogI2RlZmluZSBOTUlfTUFYX0NPVU5URVJfQklUUyA2NgogCi0vKiBwZXJmY3RyX25taV9vd25lciB0cmFja3MgdGhlIG93bmVyc2hpcCBvZiB0aGUgcGVyZmN0ciByZWdpc3RlcnM6CisvKgorICogcGVyZmN0cl9ubWlfb3duZXIgdHJhY2tzIHRoZSBvd25lcnNoaXAgb2YgdGhlIHBlcmZjdHIgcmVnaXN0ZXJzOgogICogZXZ0c2VsX25taV9vd25lciB0cmFja3MgdGhlIG93bmVyc2hpcCBvZiB0aGUgZXZlbnQgc2VsZWN0aW9uCiAgKiAtIGRpZmZlcmVudCBwZXJmb3JtYW5jZSBjb3VudGVycy8gZXZlbnQgc2VsZWN0aW9uIG1heSBiZSByZXNlcnZlZCBmb3IKICAqICAgZGlmZmVyZW50IHN1YnN5c3RlbXMgdGhpcyByZXNlcnZhdGlvbiBzeXN0ZW0ganVzdCB0cmllcyB0byBjb29yZGluYXRlCkBAIC03Myw4ICs4MSwxMCBAQAogCXJldHVybiAwOwogfQogCi0vKiBjb252ZXJ0cyBhbiBtc3IgdG8gYW4gYXBwcm9wcmlhdGUgcmVzZXJ2YXRpb24gYml0ICovCi0vKiByZXR1cm5zIHRoZSBiaXQgb2Zmc2V0IG9mIHRoZSBldmVudCBzZWxlY3Rpb24gcmVnaXN0ZXIgKi8KKy8qCisgKiBjb252ZXJ0cyBhbiBtc3IgdG8gYW4gYXBwcm9wcmlhdGUgcmVzZXJ2YXRpb24gYml0CisgKiByZXR1cm5zIHRoZSBiaXQgb2Zmc2V0IG9mIHRoZSBldmVudCBzZWxlY3Rpb24gcmVnaXN0ZXIKKyAqLwogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgbm1pX2V2bnRzZWxfbXNyX3RvX2JpdCh1bnNpZ25lZCBpbnQgbXNyKQogewogCS8qIHJldHVybnMgdGhlIGJpdCBvZmZzZXQgb2YgdGhlIGV2ZW50IHNlbGVjdGlvbiByZWdpc3RlciAqLwpAQCAtMTE0LDYgKzEyNCw3IEBACiAKIAlyZXR1cm4gKCF0ZXN0X2JpdChjb3VudGVyLCBwZXJmY3RyX25taV9vd25lcikpOwogfQorRVhQT1JUX1NZTUJPTChhdmFpbF90b19yZXNydl9wZXJmY3RyX25taV9iaXQpOwogCiBpbnQgcmVzZXJ2ZV9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQgbXNyKQogewpAQCAtMTI4LDYgKzEzOSw3IEBACiAJCXJldHVybiAxOwogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChyZXNlcnZlX3BlcmZjdHJfbm1pKTsKIAogdm9pZCByZWxlYXNlX3BlcmZjdHJfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xNDAsNiArMTUyLDcgQEAKIAogCWNsZWFyX2JpdChjb3VudGVyLCBwZXJmY3RyX25taV9vd25lcik7CiB9CitFWFBPUlRfU1lNQk9MKHJlbGVhc2VfcGVyZmN0cl9ubWkpOwogCiBpbnQgcmVzZXJ2ZV9ldm50c2VsX25taSh1bnNpZ25lZCBpbnQgbXNyKQogewpAQCAtMTU0LDYgKzE2Nyw3IEBACiAJCXJldHVybiAxOwogCXJldHVybiAwOwogfQorRVhQT1JUX1NZTUJPTChyZXNlcnZlX2V2bnRzZWxfbm1pKTsKIAogdm9pZCByZWxlYXNlX2V2bnRzZWxfbm1pKHVuc2lnbmVkIGludCBtc3IpCiB7CkBAIC0xNjYsMTEgKzE4MCw2IEBACiAKIAljbGVhcl9iaXQoY291bnRlciwgZXZudHNlbF9ubWlfb3duZXIpOwogfQotCi1FWFBPUlRfU1lNQk9MKGF2YWlsX3RvX3Jlc3J2X3BlcmZjdHJfbm1pX2JpdCk7Ci1FWFBPUlRfU1lNQk9MKHJlc2VydmVfcGVyZmN0cl9ubWkpOwotRVhQT1JUX1NZTUJPTChyZWxlYXNlX3BlcmZjdHJfbm1pKTsKLUVYUE9SVF9TWU1CT0wocmVzZXJ2ZV9ldm50c2VsX25taSk7CiBFWFBPUlRfU1lNQk9MKHJlbGVhc2VfZXZudHNlbF9ubWkpOwogCiB2b2lkIGRpc2FibGVfbGFwaWNfbm1pX3dhdGNoZG9nKHZvaWQpCkBAIC0xODAsOCArMTg5LDEwIEBACiAJaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8PSAwKQogCQlyZXR1cm47CiAKLQlvbl9lYWNoX2NwdShzdG9wX2FwaWNfbm1pX3dhdGNoZG9nLCBOVUxMLCAwLCAxKTsKLQl3ZF9vcHMtPnVucmVzZXJ2ZSgpOworCW9uX2VhY2hfY3B1KHN0b3BfYXBpY19ubWlfd2F0Y2hkb2csIE5VTEwsIDEpOworCisJaWYgKHdkX29wcykKKwkJd2Rfb3BzLT51bnJlc2VydmUoKTsKIAogCUJVR19PTihhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgIT0gMCk7CiB9CkBAIC0yMDIsNyArMjEzLDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCW9uX2VhY2hfY3B1KHNldHVwX2FwaWNfbm1pX3dhdGNoZG9nLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShzZXR1cF9hcGljX25taV93YXRjaGRvZywgTlVMTCwgMSk7CiAJdG91Y2hfbm1pX3dhdGNoZG9nKCk7CiB9CiAKQEAgLTIzMiw4ICsyNDMsOCBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLXN0YXRpYyB2b2lkCi13cml0ZV93YXRjaGRvZ19jb3VudGVyKHVuc2lnbmVkIGludCBwZXJmY3RyX21zciwgY29uc3QgY2hhciAqZGVzY3IsIHVuc2lnbmVkIG5taV9oeikKK3N0YXRpYyB2b2lkIHdyaXRlX3dhdGNoZG9nX2NvdW50ZXIodW5zaWduZWQgaW50IHBlcmZjdHJfbXNyLAorCQkJCWNvbnN0IGNoYXIgKmRlc2NyLCB1bnNpZ25lZCBubWlfaHopCiB7CiAJdTY0IGNvdW50ID0gKHU2NCljcHVfa2h6ICogMTAwMDsKIApAQCAtMjQ0LDcgKzI1NSw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIHdyaXRlX3dhdGNoZG9nX2NvdW50ZXIzMih1bnNpZ25lZCBpbnQgcGVyZmN0cl9tc3IsCi0JCWNvbnN0IGNoYXIgKmRlc2NyLCB1bnNpZ25lZCBubWlfaHopCisJCQkJY29uc3QgY2hhciAqZGVzY3IsIHVuc2lnbmVkIG5taV9oeikKIHsKIAl1NjQgY291bnQgPSAodTY0KWNwdV9raHogKiAxMDAwOwogCkBAIC0yNTQsOSArMjY1LDEwIEBACiAJd3Jtc3IocGVyZmN0cl9tc3IsICh1MzIpKC1jb3VudCksIDApOwogfQogCi0vKiBBTUQgSzcvSzgvRmFtaWx5MTBoL0ZhbWlseTExaCBzdXBwb3J0LiBBTUQga2VlcHMgdGhpcyBpbnRlcmZhY2UKLSAgIG5pY2VseSBzdGFibGUgc28gdGhlcmUgaXMgbm90IG11Y2ggdmFyaWV0eSAqLwotCisvKgorICogQU1EIEs3L0s4L0ZhbWlseTEwaC9GYW1pbHkxMWggc3VwcG9ydC4KKyAqIEFNRCBrZWVwcyB0aGlzIGludGVyZmFjZSBuaWNlbHkgc3RhYmxlIHNvIHRoZXJlIGlzIG5vdCBtdWNoIHZhcmlldHkKKyAqLwogI2RlZmluZSBLN19FVk5UU0VMX0VOQUJMRQkoMSA8PCAyMikKICNkZWZpbmUgSzdfRVZOVFNFTF9JTlQJCSgxIDw8IDIwKQogI2RlZmluZSBLN19FVk5UU0VMX09TCQkoMSA8PCAxNykKQEAgLTI4OSw3ICszMDEsNyBAQAogCiAJd2QtPnBlcmZjdHJfbXNyID0gcGVyZmN0cl9tc3I7CiAJd2QtPmV2bnRzZWxfbXNyID0gZXZudHNlbF9tc3I7Ci0Jd2QtPmNjY3JfbXNyID0gMDsgIC8vdW51c2VkCisJd2QtPmNjY3JfbXNyID0gMDsgIC8qIHVudXNlZCAqLwogCXJldHVybiAxOwogfQogCkBAIC0zMjUsMTggKzMzNywxOSBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyBrN193ZF9vcHMgPSB7Ci0JLnJlc2VydmUgPSBzaW5nbGVfbXNyX3Jlc2VydmUsCi0JLnVucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAotCS5zZXR1cCA9IHNldHVwX2s3X3dhdGNoZG9nLAotCS5yZWFybSA9IHNpbmdsZV9tc3JfcmVhcm0sCi0JLnN0b3AgPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCi0JLnBlcmZjdHIgPSBNU1JfSzdfUEVSRkNUUjAsCi0JLmV2bnRzZWwgPSBNU1JfSzdfRVZOVFNFTDAsCi0JLmNoZWNrYml0ID0gMVVMTDw8NDcsCisJLnJlc2VydmUJPSBzaW5nbGVfbXNyX3Jlc2VydmUsCisJLnVucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAorCS5zZXR1cAkJPSBzZXR1cF9rN193YXRjaGRvZywKKwkucmVhcm0JCT0gc2luZ2xlX21zcl9yZWFybSwKKwkuc3RvcAkJPSBzaW5nbGVfbXNyX3N0b3Bfd2F0Y2hkb2csCisJLnBlcmZjdHIJPSBNU1JfSzdfUEVSRkNUUjAsCisJLmV2bnRzZWwJPSBNU1JfSzdfRVZOVFNFTDAsCisJLmNoZWNrYml0CT0gMVVMTCA8PCA0NywKIH07CiAKLS8qIEludGVsIE1vZGVsIDYgKFBQcm8rLFAyLFAzLFAtTSxDb3JlMSkgKi8KLQorLyoKKyAqIEludGVsIE1vZGVsIDYgKFBQcm8rLFAyLFAzLFAtTSxDb3JlMSkKKyAqLwogI2RlZmluZSBQNl9FVk5UU0VMMF9FTkFCTEUJKDEgPDwgMjIpCiAjZGVmaW5lIFA2X0VWTlRTRUxfSU5UCQkoMSA8PCAyMCkKICNkZWZpbmUgUDZfRVZOVFNFTF9PUwkJKDEgPDwgMTcpCkBAIC0zNzIsNTIgKzM4NSw1OCBAQAogCiAJd2QtPnBlcmZjdHJfbXNyID0gcGVyZmN0cl9tc3I7CiAJd2QtPmV2bnRzZWxfbXNyID0gZXZudHNlbF9tc3I7Ci0Jd2QtPmNjY3JfbXNyID0gMDsgIC8vdW51c2VkCisJd2QtPmNjY3JfbXNyID0gMDsgIC8qIHVudXNlZCAqLwogCXJldHVybiAxOwogfQogCiBzdGF0aWMgdm9pZCBwNl9yZWFybShzdHJ1Y3Qgbm1pX3dhdGNoZG9nX2N0bGJsayAqd2QsIHVuc2lnbmVkIG5taV9oeikKIHsKLQkvKiBQNiBiYXNlZCBQZW50aXVtIE0gbmVlZCB0byByZS11bm1hc2sKKwkvKgorCSAqIFA2IGJhc2VkIFBlbnRpdW0gTSBuZWVkIHRvIHJlLXVubWFzawogCSAqIHRoZSBhcGljIHZlY3RvciBidXQgaXQgZG9lc24ndCBodXJ0CiAJICogb3RoZXIgUDYgdmFyaWFudC4KLQkgKiBBcmNoUGVyZm9tL0NvcmUgRHVvIGFsc28gbmVlZHMgdGhpcyAqLworCSAqIEFyY2hQZXJmb20vQ29yZSBEdW8gYWxzbyBuZWVkcyB0aGlzCisJICovCiAJYXBpY193cml0ZShBUElDX0xWVFBDLCBBUElDX0RNX05NSSk7CisKIAkvKiBQNi9BUkNIX1BFUkZNT04gaGFzIDMyIGJpdCBjb3VudGVyIHdyaXRlICovCiAJd3JpdGVfd2F0Y2hkb2dfY291bnRlcjMyKHdkLT5wZXJmY3RyX21zciwgTlVMTCxubWlfaHopOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHdkX29wcyBwNl93ZF9vcHMgPSB7Ci0JLnJlc2VydmUgPSBzaW5nbGVfbXNyX3Jlc2VydmUsCi0JLnVucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfdW5yZXNlcnZlLAotCS5zZXR1cCA9IHNldHVwX3A2X3dhdGNoZG9nLAotCS5yZWFybSA9IHA2X3JlYXJtLAotCS5zdG9wID0gc2luZ2xlX21zcl9zdG9wX3dhdGNoZG9nLAotCS5wZXJmY3RyID0gTVNSX1A2X1BFUkZDVFIwLAotCS5ldm50c2VsID0gTVNSX1A2X0VWTlRTRUwwLAotCS5jaGVja2JpdCA9IDFVTEw8PDM5LAorCS5yZXNlcnZlCT0gc2luZ2xlX21zcl9yZXNlcnZlLAorCS51bnJlc2VydmUJPSBzaW5nbGVfbXNyX3VucmVzZXJ2ZSwKKwkuc2V0dXAJCT0gc2V0dXBfcDZfd2F0Y2hkb2csCisJLnJlYXJtCQk9IHA2X3JlYXJtLAorCS5zdG9wCQk9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKKwkucGVyZmN0cgk9IE1TUl9QNl9QRVJGQ1RSMCwKKwkuZXZudHNlbAk9IE1TUl9QNl9FVk5UU0VMMCwKKwkuY2hlY2tiaXQJPSAxVUxMIDw8IDM5LAogfTsKIAotLyogSW50ZWwgUDQgcGVyZm9ybWFuY2UgY291bnRlcnMuIEJ5IGZhciB0aGUgbW9zdCBjb21wbGljYXRlZCBvZiBhbGwuICovCisvKgorICogSW50ZWwgUDQgcGVyZm9ybWFuY2UgY291bnRlcnMuCisgKiBCeSBmYXIgdGhlIG1vc3QgY29tcGxpY2F0ZWQgb2YgYWxsLgorICovCisjZGVmaW5lIE1TUl9QNF9NSVNDX0VOQUJMRV9QRVJGX0FWQUlMCSgxIDw8IDcpCisjZGVmaW5lIFA0X0VTQ1JfRVZFTlRfU0VMRUNUKE4pCSgoTikgPDwgMjUpCisjZGVmaW5lIFA0X0VTQ1JfT1MJCSgxIDw8IDMpCisjZGVmaW5lIFA0X0VTQ1JfVVNSCQkoMSA8PCAyKQorI2RlZmluZSBQNF9DQ0NSX09WRl9QTUkwCSgxIDw8IDI2KQorI2RlZmluZSBQNF9DQ0NSX09WRl9QTUkxCSgxIDw8IDI3KQorI2RlZmluZSBQNF9DQ0NSX1RIUkVTSE9MRChOKQkoKE4pIDw8IDIwKQorI2RlZmluZSBQNF9DQ0NSX0NPTVBMRU1FTlQJKDEgPDwgMTkpCisjZGVmaW5lIFA0X0NDQ1JfQ09NUEFSRQkJKDEgPDwgMTgpCisjZGVmaW5lIFA0X0NDQ1JfUkVRVUlSRUQJKDMgPDwgMTYpCisjZGVmaW5lIFA0X0NDQ1JfRVNDUl9TRUxFQ1QoTikJKChOKSA8PCAxMykKKyNkZWZpbmUgUDRfQ0NDUl9FTkFCTEUJCSgxIDw8IDEyKQorI2RlZmluZSBQNF9DQ0NSX09WRiAJCSgxIDw8IDMxKQogCi0jZGVmaW5lIE1TUl9QNF9NSVNDX0VOQUJMRV9QRVJGX0FWQUlMCSgxPDw3KQotI2RlZmluZSBQNF9FU0NSX0VWRU5UX1NFTEVDVChOKQkoKE4pPDwyNSkKLSNkZWZpbmUgUDRfRVNDUl9PUwkJKDE8PDMpCi0jZGVmaW5lIFA0X0VTQ1JfVVNSCQkoMTw8MikKLSNkZWZpbmUgUDRfQ0NDUl9PVkZfUE1JMAkoMTw8MjYpCi0jZGVmaW5lIFA0X0NDQ1JfT1ZGX1BNSTEJKDE8PDI3KQotI2RlZmluZSBQNF9DQ0NSX1RIUkVTSE9MRChOKQkoKE4pPDwyMCkKLSNkZWZpbmUgUDRfQ0NDUl9DT01QTEVNRU5UCSgxPDwxOSkKLSNkZWZpbmUgUDRfQ0NDUl9DT01QQVJFCQkoMTw8MTgpCi0jZGVmaW5lIFA0X0NDQ1JfUkVRVUlSRUQJKDM8PDE2KQotI2RlZmluZSBQNF9DQ0NSX0VTQ1JfU0VMRUNUKE4pCSgoTik8PDEzKQotI2RlZmluZSBQNF9DQ0NSX0VOQUJMRQkJKDE8PDEyKQotI2RlZmluZSBQNF9DQ0NSX09WRiAJCSgxPDwzMSkKLQotLyogU2V0IHVwIElRX0NPVU5URVIwIHRvIGJlaGF2ZSBsaWtlIGEgY2xvY2ssIGJ5IGhhdmluZyBJUV9DQ0NSMCBmaWx0ZXIKLSAgIENSVV9FU0NSMCAod2l0aCBhbnkgbm9uLW51bGwgZXZlbnQgc2VsZWN0b3IpIHRocm91Z2ggYSBjb21wbGVtZW50ZWQKLSAgIG1heCB0aHJlc2hvbGQuIFtJQTMyLVZvbDMsIFNlY3Rpb24gMTQuOS45XSAqLwotCisvKgorICogU2V0IHVwIElRX0NPVU5URVIwIHRvIGJlaGF2ZSBsaWtlIGEgY2xvY2ssIGJ5IGhhdmluZyBJUV9DQ0NSMCBmaWx0ZXIKKyAqIENSVV9FU0NSMCAod2l0aCBhbnkgbm9uLW51bGwgZXZlbnQgc2VsZWN0b3IpIHRocm91Z2ggYSBjb21wbGVtZW50ZWQKKyAqIG1heCB0aHJlc2hvbGQuIFtJQTMyLVZvbDMsIFNlY3Rpb24gMTQuOS45XQorICovCiBzdGF0aWMgaW50IHNldHVwX3A0X3dhdGNoZG9nKHVuc2lnbmVkIG5taV9oeikKIHsKIAl1bnNpZ25lZCBpbnQgcGVyZmN0cl9tc3IsIGV2bnRzZWxfbXNyLCBjY2NyX21zcjsKQEAgLTQ0Miw3ICs0NjEsOCBAQAogI2VuZGlmCiAJCWh0X251bSA9IDA7CiAKLQkvKiBwZXJmb3JtYW5jZSBjb3VudGVycyBhcmUgc2hhcmVkIHJlc291cmNlcworCS8qCisJICogcGVyZm9ybWFuY2UgY291bnRlcnMgYXJlIHNoYXJlZCByZXNvdXJjZXMKIAkgKiBhc3NpZ24gZWFjaCBoeXBlcnRocmVhZCBpdHMgb3duIHNldAogCSAqIChyZS11c2UgdGhlIEVTQ1IwIHJlZ2lzdGVyLCBzZWVtcyBzYWZlCiAJICogYW5kIGtlZXBzIHRoZSBjY2NyX3ZhbCB0aGUgc2FtZSkKQEAgLTU0MCwyMCArNTYwLDIxIEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2Rfb3BzIHA0X3dkX29wcyA9IHsKLQkucmVzZXJ2ZSA9IHA0X3Jlc2VydmUsCi0JLnVucmVzZXJ2ZSA9IHA0X3VucmVzZXJ2ZSwKLQkuc2V0dXAgPSBzZXR1cF9wNF93YXRjaGRvZywKLQkucmVhcm0gPSBwNF9yZWFybSwKLQkuc3RvcCA9IHN0b3BfcDRfd2F0Y2hkb2csCisJLnJlc2VydmUJPSBwNF9yZXNlcnZlLAorCS51bnJlc2VydmUJPSBwNF91bnJlc2VydmUsCisJLnNldHVwCQk9IHNldHVwX3A0X3dhdGNoZG9nLAorCS5yZWFybQkJPSBwNF9yZWFybSwKKwkuc3RvcAkJPSBzdG9wX3A0X3dhdGNoZG9nLAogCS8qIFJFRC1QRU4gdGhpcyBpcyB3cm9uZyBmb3IgdGhlIG90aGVyIHNpYmxpbmcgKi8KLQkucGVyZmN0ciA9IE1TUl9QNF9CUFVfUEVSRkNUUjAsCi0JLmV2bnRzZWwgPSBNU1JfUDRfQlNVX0VTQ1IwLAotCS5jaGVja2JpdCA9IDFVTEw8PDM5LAorCS5wZXJmY3RyCT0gTVNSX1A0X0JQVV9QRVJGQ1RSMCwKKwkuZXZudHNlbAk9IE1TUl9QNF9CU1VfRVNDUjAsCisJLmNoZWNrYml0CT0gMVVMTCA8PCAzOSwKIH07CiAKLS8qIFdhdGNoZG9nIHVzaW5nIHRoZSBJbnRlbCBhcmNoaXRlY3RlZCBQZXJmTW9uLiBVc2VkIGZvciBDb3JlMiBhbmQgaG9wZWZ1bGx5Ci0gICBhbGwgZnV0dXJlIEludGVsIENQVXMuICovCi0KKy8qCisgKiBXYXRjaGRvZyB1c2luZyB0aGUgSW50ZWwgYXJjaGl0ZWN0ZWQgUGVyZk1vbi4KKyAqIFVzZWQgZm9yIENvcmUyIGFuZCBob3BlZnVsbHkgYWxsIGZ1dHVyZSBJbnRlbCBDUFVzLgorICovCiAjZGVmaW5lIEFSQ0hfUEVSRk1PTl9OTUlfRVZFTlRfU0VMCUFSQ0hfUEVSRk1PTl9VTkhBTFRFRF9DT1JFX0NZQ0xFU19TRUwKICNkZWZpbmUgQVJDSF9QRVJGTU9OX05NSV9FVkVOVF9VTUFTSwlBUkNIX1BFUkZNT05fVU5IQUxURURfQ09SRV9DWUNMRVNfVU1BU0sKIApAQCAtNTk5LDE5ICs2MjAsMTkgQEAKIAogCXdkLT5wZXJmY3RyX21zciA9IHBlcmZjdHJfbXNyOwogCXdkLT5ldm50c2VsX21zciA9IGV2bnRzZWxfbXNyOwotCXdkLT5jY2NyX21zciA9IDA7ICAvL3VudXNlZAorCXdkLT5jY2NyX21zciA9IDA7ICAvKiB1bnVzZWQgKi8KIAlpbnRlbF9hcmNoX3dkX29wcy5jaGVja2JpdCA9IDFVTEwgPDwgKGVheC5zcGxpdC5iaXRfd2lkdGggLSAxKTsKIAlyZXR1cm4gMTsKIH0KIAogc3RhdGljIHN0cnVjdCB3ZF9vcHMgaW50ZWxfYXJjaF93ZF9vcHMgX19yZWFkX21vc3RseSA9IHsKLQkucmVzZXJ2ZSA9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKLQkudW5yZXNlcnZlID0gc2luZ2xlX21zcl91bnJlc2VydmUsCi0JLnNldHVwID0gc2V0dXBfaW50ZWxfYXJjaF93YXRjaGRvZywKLQkucmVhcm0gPSBwNl9yZWFybSwKLQkuc3RvcCA9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKLQkucGVyZmN0ciA9IE1TUl9BUkNIX1BFUkZNT05fUEVSRkNUUjEsCi0JLmV2bnRzZWwgPSBNU1JfQVJDSF9QRVJGTU9OX0VWRU5UU0VMMSwKKwkucmVzZXJ2ZQk9IHNpbmdsZV9tc3JfcmVzZXJ2ZSwKKwkudW5yZXNlcnZlCT0gc2luZ2xlX21zcl91bnJlc2VydmUsCisJLnNldHVwCQk9IHNldHVwX2ludGVsX2FyY2hfd2F0Y2hkb2csCisJLnJlYXJtCQk9IHA2X3JlYXJtLAorCS5zdG9wCQk9IHNpbmdsZV9tc3Jfc3RvcF93YXRjaGRvZywKKwkucGVyZmN0cgk9IE1TUl9BUkNIX1BFUkZNT05fUEVSRkNUUjEsCisJLmV2bnRzZWwJPSBNU1JfQVJDSF9QRVJGTU9OX0VWRU5UU0VMMSwKIH07CiAKIHN0YXRpYyB2b2lkIHByb2JlX25taV93YXRjaGRvZyh2b2lkKQpAQCAtNjI0LDggKzY0NSwxMCBAQAogCQl3ZF9vcHMgPSAmazdfd2Rfb3BzOwogCQlicmVhazsKIAljYXNlIFg4Nl9WRU5ET1JfSU5URUw6Ci0JCS8qIFdvcmsgYXJvdW5kIENvcmUgRHVvIChZb25haCkgZXJyYXRhIEFFNDkgd2hlcmUgcGVyZmN0cjEKLQkJICAgZG9lc24ndCBoYXZlIGEgd29ya2luZyBlbmFibGUgYml0LiAqLworCQkvKgorCQkgKiBXb3JrIGFyb3VuZCBDb3JlIER1byAoWW9uYWgpIGVycmF0YSBBRTQ5IHdoZXJlIHBlcmZjdHIxCisJCSAqIGRvZXNuJ3QgaGF2ZSBhIHdvcmtpbmcgZW5hYmxlIGJpdC4KKwkJICovCiAJCWlmIChib290X2NwdV9kYXRhLng4NiA9PSA2ICYmIGJvb3RfY3B1X2RhdGEueDg2X21vZGVsID09IDE0KSB7CiAJCQlpbnRlbF9hcmNoX3dkX29wcy5wZXJmY3RyID0gTVNSX0FSQ0hfUEVSRk1PTl9QRVJGQ1RSMDsKIAkJCWludGVsX2FyY2hfd2Rfb3BzLmV2bnRzZWwgPSBNU1JfQVJDSF9QRVJGTU9OX0VWRU5UU0VMMDsKQEAgLTYzNiw3ICs2NTksNyBAQAogCQl9CiAJCXN3aXRjaCAoYm9vdF9jcHVfZGF0YS54ODYpIHsKIAkJY2FzZSA2OgotCQkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X21vZGVsID4gMHhkKQorCQkJaWYgKGJvb3RfY3B1X2RhdGEueDg2X21vZGVsID4gMTMpCiAJCQkJcmV0dXJuOwogCiAJCQl3ZF9vcHMgPSAmcDZfd2Rfb3BzOwpAQCAtNjk3LDEwICs3MjAsMTEgQEAKIHsKIAlzdHJ1Y3Qgbm1pX3dhdGNoZG9nX2N0bGJsayAqd2QgPSAmX19nZXRfY3B1X3ZhcihubWlfd2F0Y2hkb2dfY3RsYmxrKTsKIAl1NjQgY3RyOworCiAJcmRtc3JsKHdkLT5wZXJmY3RyX21zciwgY3RyKTsKLQlpZiAoY3RyICYgd2Rfb3BzLT5jaGVja2JpdCkgeyAvKiBwZXJmY3RyIHN0aWxsIHJ1bm5pbmc/ICovCisJaWYgKGN0ciAmIHdkX29wcy0+Y2hlY2tiaXQpIC8qIHBlcmZjdHIgc3RpbGwgcnVubmluZz8gKi8KIAkJcmV0dXJuIDA7Ci0JfQorCiAJd2Rfb3BzLT5yZWFybSh3ZCwgbm1pX2h6KTsKIAlyZXR1cm4gMTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHVpZC5jIGIvYXJjaC94ODYva2VybmVsL2NwdWlkLmMKaW5kZXggZGFmZjUyYS4uMmRlNWZhMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdWlkLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdWlkLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CkBAIC05NSw3ICs5Niw3IEBACiAJZm9yICg7IGNvdW50OyBjb3VudCAtPSAxNikgewogCQljbWQuZWF4ID0gcG9zOwogCQljbWQuZWN4ID0gcG9zID4+IDMyOwotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBjcHVpZF9zbXBfY3B1aWQsICZjbWQsIDEsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBjcHVpZF9zbXBfY3B1aWQsICZjbWQsIDEpOwogCQlpZiAoY29weV90b191c2VyKHRtcCwgJmNtZCwgMTYpKQogCQkJcmV0dXJuIC1FRkFVTFQ7CiAJCXRtcCArPSAxNjsKQEAgLTEwNywxNSArMTA4LDIzIEBACiAKIHN0YXRpYyBpbnQgY3B1aWRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQl1bnNpZ25lZCBpbnQgY3B1ID0gaW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwotCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZjcHVfZGF0YShjcHUpOworCXVuc2lnbmVkIGludCBjcHU7CisJc3RydWN0IGNwdWluZm9feDg2ICpjOworCWludCByZXQgPSAwOworCQorCWxvY2tfa2VybmVsKCk7CiAKLQlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkKLQkJcmV0dXJuIC1FTlhJTzsJLyogTm8gc3VjaCBDUFUgKi8KKwljcHUgPSBpbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7CisJaWYgKGNwdSA+PSBOUl9DUFVTIHx8ICFjcHVfb25saW5lKGNwdSkpIHsKKwkJcmV0ID0gLUVOWElPOwkvKiBObyBzdWNoIENQVSAqLworCQlnb3RvIG91dDsKKwl9CisJYyA9ICZjcHVfZGF0YShjcHUpOwogCWlmIChjLT5jcHVpZF9sZXZlbCA8IDApCi0JCXJldHVybiAtRUlPOwkvKiBDUFVJRCBub3Qgc3VwcG9ydGVkICovCi0KLQlyZXR1cm4gMDsKKwkJcmV0ID0gLUVJTzsJLyogQ1BVSUQgbm90IHN1cHBvcnRlZCAqLworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2U4MjAuYyBiL2FyY2gveDg2L2tlcm5lbC9lODIwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhjMjkxOAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lODIwLmMKQEAgLTAsMCArMSwxMzkwIEBACisvKgorICogSGFuZGxlIHRoZSBtZW1vcnkgbWFwLgorICogVGhlIGZ1bmN0aW9ucyBoZXJlIGRvIHRoZSBqb2IgdW50aWwgYm9vdG1lbSB0YWtlcyBvdmVyLgorICoKKyAqICBHZXR0aW5nIHNhbml0aXplX2U4MjBfbWFwKCkgaW4gc3luYyB3aXRoIGkzODYgdmVyc2lvbiBieSBhcHBseWluZyBjaGFuZ2U6CisgKiAgLSAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgorICogICAgIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgorICogIFZlbmthdGVzaCBQYWxsaXBhZGkgPHZlbmthdGVzaC5wYWxsaXBhZGlAaW50ZWwuY29tPgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvcGZuLmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLW1hcC5oPgorCisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KKworLyoKKyAqIFRoZSBlODIwIG1hcCBpcyB0aGUgbWFwIHRoYXQgZ2V0cyBtb2RpZmllZCBlLmcuIHdpdGggY29tbWFuZCBsaW5lIHBhcmFtZXRlcnMKKyAqIGFuZCB0aGF0IGlzIGFsc28gcmVnaXN0ZXJlZCB3aXRoIG1vZGlmaWNhdGlvbnMgaW4gdGhlIGtlcm5lbCByZXNvdXJjZSB0cmVlCisgKiB3aXRoIHRoZSBpb21lbV9yZXNvdXJjZSBhcyBwYXJlbnQuCisgKgorICogVGhlIGU4MjBfc2F2ZWQgaXMgZGlyZWN0bHkgc2F2ZWQgYWZ0ZXIgdGhlIEJJT1MtcHJvdmlkZWQgbWVtb3J5IG1hcCBpcworICogY29waWVkLiBJdCBkb2Vzbid0IGdldCBtb2RpZmllZCBhZnRlcndhcmRzLiBJdCdzIHJlZ2lzdGVyZWQgZm9yIHRoZQorICogL3N5cy9maXJtd2FyZS9tZW1tYXAgaW50ZXJmYWNlLgorICoKKyAqIFRoYXQgbWVtb3J5IG1hcCBpcyBub3QgbW9kaWZpZWQgYW5kIGlzIHVzZWQgYXMgYmFzZSBmb3Iga2V4ZWMuIFRoZSBrZXhlYydkCisgKiBrZXJuZWwgc2hvdWxkIGdldCB0aGUgc2FtZSBtZW1vcnkgbWFwIGFzIHRoZSBmaXJtd2FyZSBwcm92aWRlcy4gVGhlbiB0aGUKKyAqIHVzZXIgY2FuIGUuZy4gYm9vdCB0aGUgb3JpZ2luYWwga2VybmVsIHdpdGggbWVtPTFHIHdoaWxlIHN0aWxsIGJvb3RpbmcgdGhlCisgKiBuZXh0IGtlcm5lbCB3aXRoIGZ1bGwgbWVtb3J5LgorICovCitzdHJ1Y3QgZTgyMG1hcCBlODIwOworc3RydWN0IGU4MjBtYXAgZTgyMF9zYXZlZDsKKworLyogRm9yIFBDSSBvciBvdGhlciBtZW1vcnktbWFwcGVkIHJlc291cmNlcyAqLwordW5zaWduZWQgbG9uZyBwY2lfbWVtX3N0YXJ0ID0gMHhhZWVkYmFiZTsKKyNpZmRlZiBDT05GSUdfUENJCitFWFBPUlRfU1lNQk9MKHBjaV9tZW1fc3RhcnQpOworI2VuZGlmCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbnkgcGFydCBvZiB0aGUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkCisgKiB3aXRoIHR5cGUuCisgKi8KK2ludAorZTgyMF9hbnlfbWFwcGVkKHU2NCBzdGFydCwgdTY0IGVuZCwgdW5zaWduZWQgdHlwZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCisJCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCisJCQljb250aW51ZTsKKwkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQorCQkJY29udGludWU7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGU4MjBfYW55X21hcHBlZCk7CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgZW50aXJlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZCB3aXRoIHR5cGUuCisgKgorICogTm90ZTogdGhpcyBmdW5jdGlvbiBvbmx5IHdvcmtzIGNvcnJlY3QgaWYgdGhlIGU4MjAgdGFibGUgaXMgc29ydGVkIGFuZAorICogbm90LW92ZXJsYXBwaW5nLCB3aGljaCBpcyB0aGUgY2FzZQorICovCitpbnQgX19pbml0IGU4MjBfYWxsX21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKworCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQorCQkJY29udGludWU7CisJCS8qIGlzIHRoZSByZWdpb24gKHBhcnQpIGluIG92ZXJsYXAgd2l0aCB0aGUgY3VycmVudCByZWdpb24gPyovCisJCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKKwkJCWNvbnRpbnVlOworCisJCS8qIGlmIHRoZSByZWdpb24gaXMgYXQgdGhlIGJlZ2lubmluZyBvZiA8c3RhcnQsZW5kPiB3ZSBtb3ZlCisJCSAqIHN0YXJ0IHRvIHRoZSBlbmQgb2YgdGhlIHJlZ2lvbiBzaW5jZSBpdCdzIG9rIHVudGlsIHRoZXJlCisJCSAqLworCQlpZiAoZWktPmFkZHIgPD0gc3RhcnQpCisJCQlzdGFydCA9IGVpLT5hZGRyICsgZWktPnNpemU7CisJCS8qCisJCSAqIGlmIHN0YXJ0IGlzIG5vdyBhdCBvciBiZXlvbmQgZW5kLCB3ZSdyZSBkb25lLCBmdWxsCisJCSAqIGNvdmVyYWdlCisJCSAqLworCQlpZiAoc3RhcnQgPj0gZW5kKQorCQkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQWRkIGEgbWVtb3J5IHJlZ2lvbiB0byB0aGUga2VybmVsIGU4MjAgbWFwLgorICovCit2b2lkIF9faW5pdCBlODIwX2FkZF9yZWdpb24odTY0IHN0YXJ0LCB1NjQgc2l6ZSwgaW50IHR5cGUpCit7CisJaW50IHggPSBlODIwLm5yX21hcDsKKworCWlmICh4ID09IEFSUkFZX1NJWkUoZTgyMC5tYXApKSB7CisJCXByaW50ayhLRVJOX0VSUiAiT29vcHMhIFRvbyBtYW55IGVudHJpZXMgaW4gdGhlIG1lbW9yeSBtYXAhXG4iKTsKKwkJcmV0dXJuOworCX0KKworCWU4MjAubWFwW3hdLmFkZHIgPSBzdGFydDsKKwllODIwLm1hcFt4XS5zaXplID0gc2l6ZTsKKwllODIwLm1hcFt4XS50eXBlID0gdHlwZTsKKwllODIwLm5yX21hcCsrOworfQorCit2b2lkIF9faW5pdCBlODIwX3ByaW50X21hcChjaGFyICp3aG8pCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlwcmludGsoS0VSTl9JTkZPICIgJXM6ICUwMTZMeCAtICUwMTZMeCAiLCB3aG8sCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSBlODIwLm1hcFtpXS5hZGRyLAorCQkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykKKwkJICAgICAgIChlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSkpOworCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKKwkJY2FzZSBFODIwX1JBTToKKwkJY2FzZSBFODIwX1JFU0VSVkVEX0tFUk46CisJCQlwcmludGsoS0VSTl9DT05UICIodXNhYmxlKVxuIik7CisJCQlicmVhazsKKwkJY2FzZSBFODIwX1JFU0VSVkVEOgorCQkJcHJpbnRrKEtFUk5fQ09OVCAiKHJlc2VydmVkKVxuIik7CisJCQlicmVhazsKKwkJY2FzZSBFODIwX0FDUEk6CisJCQlwcmludGsoS0VSTl9DT05UICIoQUNQSSBkYXRhKVxuIik7CisJCQlicmVhazsKKwkJY2FzZSBFODIwX05WUzoKKwkJCXByaW50ayhLRVJOX0NPTlQgIihBQ1BJIE5WUylcbiIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlwcmludGsoS0VSTl9DT05UICJ0eXBlICV1XG4iLCBlODIwLm1hcFtpXS50eXBlKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCisvKgorICogU2FuaXRpemUgdGhlIEJJT1MgZTgyMCBtYXAuCisgKgorICogU29tZSBlODIwIHJlc3BvbnNlcyBpbmNsdWRlIG92ZXJsYXBwaW5nIGVudHJpZXMuIFRoZSBmb2xsb3dpbmcKKyAqIHJlcGxhY2VzIHRoZSBvcmlnaW5hbCBlODIwIG1hcCB3aXRoIGEgbmV3IG9uZSwgcmVtb3Zpbmcgb3ZlcmxhcHMsCisgKiBhbmQgcmVzb2x2aW5nIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyBpbiBmYXZvciBvZiBoaWdoZXN0CisgKiBudW1iZXJlZCB0eXBlLgorICoKKyAqIFRoZSBpbnB1dCBwYXJhbWV0ZXIgYmlvc21hcCBwb2ludHMgdG8gYW4gYXJyYXkgb2YgJ3N0cnVjdAorICogZTgyMGVudHJ5JyB3aGljaCBvbiBlbnRyeSBoYXMgZWxlbWVudHMgaW4gdGhlIHJhbmdlIFswLCAqcG5yX21hcCkKKyAqIHZhbGlkLCBhbmQgd2hpY2ggaGFzIHNwYWNlIGZvciB1cCB0byBtYXhfbnJfbWFwIGVudHJpZXMuCisgKiBPbiByZXR1cm4sIHRoZSByZXN1bHRpbmcgc2FuaXRpemVkIGU4MjAgbWFwIGVudHJpZXMgd2lsbCBiZSBpbgorICogb3ZlcndyaXR0ZW4gaW4gdGhlIHNhbWUgbG9jYXRpb24sIHN0YXJ0aW5nIGF0IGJpb3NtYXAuCisgKgorICogVGhlIGludGVnZXIgcG9pbnRlZCB0byBieSBwbnJfbWFwIG11c3QgYmUgdmFsaWQgb24gZW50cnkgKHRoZQorICogY3VycmVudCBudW1iZXIgb2YgdmFsaWQgZW50cmllcyBsb2NhdGVkIGF0IGJpb3NtYXApIGFuZCB3aWxsCisgKiBiZSB1cGRhdGVkIG9uIHJldHVybiwgd2l0aCB0aGUgbmV3IG51bWJlciBvZiB2YWxpZCBlbnRyaWVzCisgKiAoc29tZXRoaW5nIG5vIG1vcmUgdGhhbiBtYXhfbnJfbWFwLikKKyAqCisgKiBUaGUgcmV0dXJuIHZhbHVlIGZyb20gc2FuaXRpemVfZTgyMF9tYXAoKSBpcyB6ZXJvIGlmIGl0CisgKiBzdWNjZXNzZnVsbHkgJ3Nhbml0aXplZCcgdGhlIG1hcCBlbnRyaWVzIHBhc3NlZCBpbiwgYW5kIGlzIC0xCisgKiBpZiBpdCBkaWQgbm90aGluZywgd2hpY2ggY2FuIGhhcHBlbiBpZiBlaXRoZXIgb2YgKDEpIGl0IHdhcworICogb25seSBwYXNzZWQgb25lIG1hcCBlbnRyeSwgb3IgKDIpIGFueSBvZiB0aGUgaW5wdXQgbWFwIGVudHJpZXMKKyAqIHdlcmUgaW52YWxpZCAoc3RhcnQgKyBzaXplIDwgc3RhcnQsIG1lYW5pbmcgdGhhdCB0aGUgc2l6ZSB3YXMKKyAqIHNvIGJpZyB0aGUgZGVzY3JpYmVkIG1lbW9yeSByYW5nZSB3cmFwcGVkIGFyb3VuZCB0aHJvdWdoIHplcm8uKQorICoKKyAqCVZpc3VhbGx5IHdlJ3JlIHBlcmZvcm1pbmcgdGhlIGZvbGxvd2luZworICoJKDEsMiwzLDQgPSBtZW1vcnkgdHlwZXMpLi4uCisgKgorICoJU2FtcGxlIG1lbW9yeSBtYXAgKHcvb3ZlcmxhcHMpOgorICoJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fX19fNF8KKyAqCSAgIF9fX18xMTExX19fX19fX19fX19fX19fXworICoJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCisgKgkgICAxMTExMTExMV9fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXworICoJICAgX19fX19fX19fX180NF9fX19fX19fX19fCisgKgkgICBfX19fX19fX19fMzMzMzNfX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fMjJfX19fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fXzIyMjJfCisgKgkgICBfX19fX19fX18xMTExMTExMTFfX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fXzExXworICoJICAgX19fX19fX19fX19fX19fX180X19fX19fCisgKgorICoJU2FuaXRpemVkIGVxdWl2YWxlbnQgKG5vIG92ZXJsYXApOgorICoJICAgMV9fX19fX19fX19fX19fX19fX19fX19fCisgKgkgICBfNDRfX19fX19fX19fX19fX19fX19fX18KKyAqCSAgIF9fXzFfX19fX19fX19fX19fX19fX19fXworICoJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCisgKgkgICBfX19fX18xMV9fX19fX19fX19fX19fX18KKyAqCSAgIF9fX19fX19fXzFfX19fX19fX19fX19fXworICoJICAgX19fX19fX19fXzNfX19fX19fX19fX19fCisgKgkgICBfX19fX19fX19fXzQ0X19fX19fX19fX18KKyAqCSAgIF9fX19fX19fX19fX18zM19fX19fX19fXworICoJICAgX19fX19fX19fX19fX19fMl9fX19fX19fCisgKgkgICBfX19fX19fX19fX19fX19fMV9fX19fX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXworICoJICAgX19fX19fX19fX19fX19fX19fXzJfX19fCisgKgkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KKyAqCSAgIF9fX19fX19fX19fX19fX19fX19fX180XworICovCisKK2ludCBfX2luaXQgc2FuaXRpemVfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG1heF9ucl9tYXAsCisJCQkJaW50ICpwbnJfbWFwKQoreworCXN0cnVjdCBjaGFuZ2VfbWVtYmVyIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqcGJpb3M7IC8qIHBvaW50ZXIgdG8gb3JpZ2luYWwgYmlvcyBlbnRyeSAqLworCQl1bnNpZ25lZCBsb25nIGxvbmcgYWRkcjsgLyogYWRkcmVzcyBmb3IgdGhpcyBjaGFuZ2UgcG9pbnQgKi8KKwl9OworCXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciBjaGFuZ2VfcG9pbnRfbGlzdFsyKkU4MjBfWF9NQVhdIF9faW5pdGRhdGE7CisJc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfcG9pbnRbMipFODIwX1hfTUFYXSBfX2luaXRkYXRhOworCXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5ICpvdmVybGFwX2xpc3RbRTgyMF9YX01BWF0gX19pbml0ZGF0YTsKKwlzdGF0aWMgc3RydWN0IGU4MjBlbnRyeSBuZXdfYmlvc1tFODIwX1hfTUFYXSBfX2luaXRkYXRhOworCXN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfdG1wOworCXVuc2lnbmVkIGxvbmcgY3VycmVudF90eXBlLCBsYXN0X3R5cGU7CisJdW5zaWduZWQgbG9uZyBsb25nIGxhc3RfYWRkcjsKKwlpbnQgY2hnaWR4LCBzdGlsbF9jaGFuZ2luZzsKKwlpbnQgb3ZlcmxhcF9lbnRyaWVzOworCWludCBuZXdfYmlvc19lbnRyeTsKKwlpbnQgb2xkX25yLCBuZXdfbnIsIGNoZ19ucjsKKwlpbnQgaTsKKworCS8qIGlmIHRoZXJlJ3Mgb25seSBvbmUgbWVtb3J5IHJlZ2lvbiwgZG9uJ3QgYm90aGVyICovCisJaWYgKCpwbnJfbWFwIDwgMikKKwkJcmV0dXJuIC0xOworCisJb2xkX25yID0gKnBucl9tYXA7CisJQlVHX09OKG9sZF9uciA+IG1heF9ucl9tYXApOworCisJLyogYmFpbCBvdXQgaWYgd2UgZmluZCBhbnkgdW5yZWFzb25hYmxlIGFkZHJlc3NlcyBpbiBiaW9zIG1hcCAqLworCWZvciAoaSA9IDA7IGkgPCBvbGRfbnI7IGkrKykKKwkJaWYgKGJpb3NtYXBbaV0uYWRkciArIGJpb3NtYXBbaV0uc2l6ZSA8IGJpb3NtYXBbaV0uYWRkcikKKwkJCXJldHVybiAtMTsKKworCS8qIGNyZWF0ZSBwb2ludGVycyBmb3IgaW5pdGlhbCBjaGFuZ2UtcG9pbnQgaW5mb3JtYXRpb24gKGZvciBzb3J0aW5nKSAqLworCWZvciAoaSA9IDA7IGkgPCAyICogb2xkX25yOyBpKyspCisJCWNoYW5nZV9wb2ludFtpXSA9ICZjaGFuZ2VfcG9pbnRfbGlzdFtpXTsKKworCS8qIHJlY29yZCBhbGwga25vd24gY2hhbmdlLXBvaW50cyAoc3RhcnRpbmcgYW5kIGVuZGluZyBhZGRyZXNzZXMpLAorCSAgIG9taXR0aW5nIHRob3NlIHRoYXQgYXJlIGZvciBlbXB0eSBtZW1vcnkgcmVnaW9ucyAqLworCWNoZ2lkeCA9IDA7CisJZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQl7CisJCWlmIChiaW9zbWFwW2ldLnNpemUgIT0gMCkgeworCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPSBiaW9zbWFwW2ldLmFkZHI7CisJCQljaGFuZ2VfcG9pbnRbY2hnaWR4KytdLT5wYmlvcyA9ICZiaW9zbWFwW2ldOworCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPSBiaW9zbWFwW2ldLmFkZHIgKworCQkJCWJpb3NtYXBbaV0uc2l6ZTsKKwkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07CisJCX0KKwl9CisJY2hnX25yID0gY2hnaWR4OworCisJLyogc29ydCBjaGFuZ2UtcG9pbnQgbGlzdCBieSBtZW1vcnkgYWRkcmVzc2VzIChsb3cgLT4gaGlnaCkgKi8KKwlzdGlsbF9jaGFuZ2luZyA9IDE7CisJd2hpbGUgKHN0aWxsX2NoYW5naW5nKQl7CisJCXN0aWxsX2NoYW5naW5nID0gMDsKKwkJZm9yIChpID0gMTsgaSA8IGNoZ19ucjsgaSsrKSAgeworCQkJdW5zaWduZWQgbG9uZyBsb25nIGN1cmFkZHIsIGxhc3RhZGRyOworCQkJdW5zaWduZWQgbG9uZyBsb25nIGN1cnBiYWRkciwgbGFzdHBiYWRkcjsKKworCQkJY3VyYWRkciA9IGNoYW5nZV9wb2ludFtpXS0+YWRkcjsKKwkJCWxhc3RhZGRyID0gY2hhbmdlX3BvaW50W2kgLSAxXS0+YWRkcjsKKwkJCWN1cnBiYWRkciA9IGNoYW5nZV9wb2ludFtpXS0+cGJpb3MtPmFkZHI7CisJCQlsYXN0cGJhZGRyID0gY2hhbmdlX3BvaW50W2kgLSAxXS0+cGJpb3MtPmFkZHI7CisKKwkJCS8qCisJCQkgKiBzd2FwIGVudHJpZXMsIHdoZW46CisJCQkgKgorCQkJICogY3VyYWRkciA+IGxhc3RhZGRyIG9yCisJCQkgKiBjdXJhZGRyID09IGxhc3RhZGRyIGFuZCBjdXJhZGRyID09IGN1cnBiYWRkciBhbmQKKwkJCSAqIGxhc3RhZGRyICE9IGxhc3RwYmFkZHIKKwkJCSAqLworCQkJaWYgKGN1cmFkZHIgPCBsYXN0YWRkciB8fAorCQkJICAgIChjdXJhZGRyID09IGxhc3RhZGRyICYmIGN1cmFkZHIgPT0gY3VycGJhZGRyICYmCisJCQkgICAgIGxhc3RhZGRyICE9IGxhc3RwYmFkZHIpKSB7CisJCQkJY2hhbmdlX3RtcCA9IGNoYW5nZV9wb2ludFtpXTsKKwkJCQljaGFuZ2VfcG9pbnRbaV0gPSBjaGFuZ2VfcG9pbnRbaS0xXTsKKwkJCQljaGFuZ2VfcG9pbnRbaS0xXSA9IGNoYW5nZV90bXA7CisJCQkJc3RpbGxfY2hhbmdpbmcgPSAxOworCQkJfQorCQl9CisJfQorCisJLyogY3JlYXRlIGEgbmV3IGJpb3MgbWVtb3J5IG1hcCwgcmVtb3Zpbmcgb3ZlcmxhcHMgKi8KKwlvdmVybGFwX2VudHJpZXMgPSAwOwkgLyogbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIG92ZXJsYXAgdGFibGUgKi8KKwluZXdfYmlvc19lbnRyeSA9IDA7CSAvKiBpbmRleCBmb3IgY3JlYXRpbmcgbmV3IGJpb3MgbWFwIGVudHJpZXMgKi8KKwlsYXN0X3R5cGUgPSAwOwkJIC8qIHN0YXJ0IHdpdGggdW5kZWZpbmVkIG1lbW9yeSB0eXBlICovCisJbGFzdF9hZGRyID0gMDsJCSAvKiBzdGFydCB3aXRoIDAgYXMgbGFzdCBzdGFydGluZyBhZGRyZXNzICovCisKKwkvKiBsb29wIHRocm91Z2ggY2hhbmdlLXBvaW50cywgZGV0ZXJtaW5pbmcgYWZmZWN0IG9uIHRoZSBuZXcgYmlvcyBtYXAgKi8KKwlmb3IgKGNoZ2lkeCA9IDA7IGNoZ2lkeCA8IGNoZ19ucjsgY2hnaWR4KyspIHsKKwkJLyoga2VlcCB0cmFjayBvZiBhbGwgb3ZlcmxhcHBpbmcgYmlvcyBlbnRyaWVzICovCisJCWlmIChjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9PQorCQkgICAgY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zLT5hZGRyKSB7CisJCQkvKgorCQkJICogYWRkIG1hcCBlbnRyeSB0byBvdmVybGFwIGxpc3QgKD4gMSBlbnRyeQorCQkJICogaW1wbGllcyBhbiBvdmVybGFwKQorCQkJICovCisJCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzKytdID0KKwkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3M7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogcmVtb3ZlIGVudHJ5IGZyb20gbGlzdCAob3JkZXIgaW5kZXBlbmRlbnQsCisJCQkgKiBzbyBzd2FwIHdpdGggbGFzdCkKKwkJCSAqLworCQkJZm9yIChpID0gMDsgaSA8IG92ZXJsYXBfZW50cmllczsgaSsrKSB7CisJCQkJaWYgKG92ZXJsYXBfbGlzdFtpXSA9PQorCQkJCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MpCisJCQkJCW92ZXJsYXBfbGlzdFtpXSA9CisJCQkJCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzLTFdOworCQkJfQorCQkJb3ZlcmxhcF9lbnRyaWVzLS07CisJCX0KKwkJLyoKKwkJICogaWYgdGhlcmUgYXJlIG92ZXJsYXBwaW5nIGVudHJpZXMsIGRlY2lkZSB3aGljaAorCQkgKiAidHlwZSIgdG8gdXNlIChsYXJnZXIgdmFsdWUgdGFrZXMgcHJlY2VkZW5jZSAtLQorCQkgKiAxPXVzYWJsZSwgMiwzLDQsNCs9dW51c2FibGUpCisJCSAqLworCQljdXJyZW50X3R5cGUgPSAwOworCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspCisJCQlpZiAob3ZlcmxhcF9saXN0W2ldLT50eXBlID4gY3VycmVudF90eXBlKQorCQkJCWN1cnJlbnRfdHlwZSA9IG92ZXJsYXBfbGlzdFtpXS0+dHlwZTsKKwkJLyoKKwkJICogY29udGludWUgYnVpbGRpbmcgdXAgbmV3IGJpb3MgbWFwIGJhc2VkIG9uIHRoaXMKKwkJICogaW5mb3JtYXRpb24KKwkJICovCisJCWlmIChjdXJyZW50X3R5cGUgIT0gbGFzdF90eXBlKQl7CisJCQlpZiAobGFzdF90eXBlICE9IDApCSB7CisJCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgPQorCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciAtIGxhc3RfYWRkcjsKKwkJCQkvKgorCQkJCSAqIG1vdmUgZm9yd2FyZCBvbmx5IGlmIHRoZSBuZXcgc2l6ZQorCQkJCSAqIHdhcyBub24temVybworCQkJCSAqLworCQkJCWlmIChuZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSAhPSAwKQorCQkJCQkvKgorCQkJCQkgKiBubyBtb3JlIHNwYWNlIGxlZnQgZm9yIG5ldworCQkJCQkgKiBiaW9zIGVudHJpZXMgPworCQkJCQkgKi8KKwkJCQkJaWYgKCsrbmV3X2Jpb3NfZW50cnkgPj0gbWF4X25yX21hcCkKKwkJCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGN1cnJlbnRfdHlwZSAhPSAwKQl7CisJCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLmFkZHIgPQorCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKKwkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0udHlwZSA9IGN1cnJlbnRfdHlwZTsKKwkJCQlsYXN0X2FkZHIgPSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKKwkJCX0KKwkJCWxhc3RfdHlwZSA9IGN1cnJlbnRfdHlwZTsKKwkJfQorCX0KKwkvKiByZXRhaW4gY291bnQgZm9yIG5ldyBiaW9zIGVudHJpZXMgKi8KKwluZXdfbnIgPSBuZXdfYmlvc19lbnRyeTsKKworCS8qIGNvcHkgbmV3IGJpb3MgbWFwcGluZyBpbnRvIG9yaWdpbmFsIGxvY2F0aW9uICovCisJbWVtY3B5KGJpb3NtYXAsIG5ld19iaW9zLCBuZXdfbnIgKiBzaXplb2Yoc3RydWN0IGU4MjBlbnRyeSkpOworCSpwbnJfbWFwID0gbmV3X25yOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IF9fYXBwZW5kX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBucl9tYXApCit7CisJd2hpbGUgKG5yX21hcCkgeworCQl1NjQgc3RhcnQgPSBiaW9zbWFwLT5hZGRyOworCQl1NjQgc2l6ZSA9IGJpb3NtYXAtPnNpemU7CisJCXU2NCBlbmQgPSBzdGFydCArIHNpemU7CisJCXUzMiB0eXBlID0gYmlvc21hcC0+dHlwZTsKKworCQkvKiBPdmVyZmxvdyBpbiA2NCBiaXRzPyBJZ25vcmUgdGhlIG1lbW9yeSBtYXAuICovCisJCWlmIChzdGFydCA+IGVuZCkKKwkJCXJldHVybiAtMTsKKworCQllODIwX2FkZF9yZWdpb24oc3RhcnQsIHNpemUsIHR5cGUpOworCisJCWJpb3NtYXArKzsKKwkJbnJfbWFwLS07CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQ29weSB0aGUgQklPUyBlODIwIG1hcCBpbnRvIGEgc2FmZSBwbGFjZS4KKyAqCisgKiBTYW5pdHktY2hlY2sgaXQgd2hpbGUgd2UncmUgYXQgaXQuLgorICoKKyAqIElmIHdlJ3JlIGx1Y2t5IGFuZCBsaXZlIG9uIGEgbW9kZXJuIHN5c3RlbSwgdGhlIHNldHVwIGNvZGUKKyAqIHdpbGwgaGF2ZSBnaXZlbiB1cyBhIG1lbW9yeSBtYXAgdGhhdCB3ZSBjYW4gdXNlIHRvIHByb3Blcmx5CisgKiBzZXQgdXAgbWVtb3J5LiAgSWYgd2UgYXJlbid0LCB3ZSdsbCBmYWtlIGEgbWVtb3J5IG1hcC4KKyAqLworc3RhdGljIGludCBfX2luaXQgYXBwZW5kX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBucl9tYXApCit7CisJLyogT25seSBvbmUgbWVtb3J5IHJlZ2lvbiAob3IgbmVnYXRpdmUpPyBJZ25vcmUgaXQgKi8KKwlpZiAobnJfbWFwIDwgMikKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIF9fYXBwZW5kX2U4MjBfbWFwKGJpb3NtYXAsIG5yX21hcCk7Cit9CisKK3N0YXRpYyB1NjQgX19pbml0IGU4MjBfdXBkYXRlX3JhbmdlX21hcChzdHJ1Y3QgZTgyMG1hcCAqZTgyMHgsIHU2NCBzdGFydCwKKwkJCQkJdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJCQl1bnNpZ25lZCBuZXdfdHlwZSkKK3sKKwlpbnQgaTsKKwl1NjQgcmVhbF91cGRhdGVkX3NpemUgPSAwOworCisJQlVHX09OKG9sZF90eXBlID09IG5ld190eXBlKTsKKworCWlmIChzaXplID4gKFVMTE9OR19NQVggLSBzdGFydCkpCisJCXNpemUgPSBVTExPTkdfTUFYIC0gc3RhcnQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIweC0+bWFwW2ldOworCQl1NjQgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKKwkJaWYgKGVpLT50eXBlICE9IG9sZF90eXBlKQorCQkJY29udGludWU7CisJCS8qIHRvdGFsbHkgY292ZXJlZD8gKi8KKwkJaWYgKGVpLT5hZGRyID49IHN0YXJ0ICYmCisJCSAgICAoZWktPmFkZHIgKyBlaS0+c2l6ZSkgPD0gKHN0YXJ0ICsgc2l6ZSkpIHsKKwkJCWVpLT50eXBlID0gbmV3X3R5cGU7CisJCQlyZWFsX3VwZGF0ZWRfc2l6ZSArPSBlaS0+c2l6ZTsKKwkJCWNvbnRpbnVlOworCQl9CisJCS8qIHBhcnRpYWxseSBjb3ZlcmVkICovCisJCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCBlaS0+YWRkcik7CisJCWZpbmFsX2VuZCA9IG1pbihzdGFydCArIHNpemUsIGVpLT5hZGRyICsgZWktPnNpemUpOworCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQorCQkJY29udGludWU7CisJCWU4MjBfYWRkX3JlZ2lvbihmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQsCisJCQkJCSBuZXdfdHlwZSk7CisJCXJlYWxfdXBkYXRlZF9zaXplICs9IGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0OworCisJCWVpLT5zaXplIC09IGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0OworCQlpZiAoZWktPmFkZHIgPCBmaW5hbF9zdGFydCkKKwkJCWNvbnRpbnVlOworCQllaS0+YWRkciA9IGZpbmFsX2VuZDsKKwl9CisJcmV0dXJuIHJlYWxfdXBkYXRlZF9zaXplOworfQorCit1NjQgX19pbml0IGU4MjBfdXBkYXRlX3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJICAgICB1bnNpZ25lZCBuZXdfdHlwZSkKK3sKKwlyZXR1cm4gZTgyMF91cGRhdGVfcmFuZ2VfbWFwKCZlODIwLCBzdGFydCwgc2l6ZSwgb2xkX3R5cGUsIG5ld190eXBlKTsKK30KKworc3RhdGljIHU2NCBfX2luaXQgZTgyMF91cGRhdGVfcmFuZ2Vfc2F2ZWQodTY0IHN0YXJ0LCB1NjQgc2l6ZSwKKwkJCQkJICB1bnNpZ25lZCBvbGRfdHlwZSwgdW5zaWduZWQgbmV3X3R5cGUpCit7CisJcmV0dXJuIGU4MjBfdXBkYXRlX3JhbmdlX21hcCgmZTgyMF9zYXZlZCwgc3RhcnQsIHNpemUsIG9sZF90eXBlLAorCQkJCSAgICAgbmV3X3R5cGUpOworfQorCisvKiBtYWtlIGU4MjAgbm90IGNvdmVyIHRoZSByYW5nZSAqLwordTY0IF9faW5pdCBlODIwX3JlbW92ZV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKKwkJCSAgICAgaW50IGNoZWNrdHlwZSkKK3sKKwlpbnQgaTsKKwl1NjQgcmVhbF9yZW1vdmVkX3NpemUgPSAwOworCisJaWYgKHNpemUgPiAoVUxMT05HX01BWCAtIHN0YXJ0KSkKKwkJc2l6ZSA9IFVMTE9OR19NQVggLSBzdGFydDsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCQl1NjQgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKKworCQlpZiAoY2hlY2t0eXBlICYmIGVpLT50eXBlICE9IG9sZF90eXBlKQorCQkJY29udGludWU7CisJCS8qIHRvdGFsbHkgY292ZXJlZD8gKi8KKwkJaWYgKGVpLT5hZGRyID49IHN0YXJ0ICYmCisJCSAgICAoZWktPmFkZHIgKyBlaS0+c2l6ZSkgPD0gKHN0YXJ0ICsgc2l6ZSkpIHsKKwkJCXJlYWxfcmVtb3ZlZF9zaXplICs9IGVpLT5zaXplOworCQkJbWVtc2V0KGVpLCAwLCBzaXplb2Yoc3RydWN0IGU4MjBlbnRyeSkpOworCQkJY29udGludWU7CisJCX0KKwkJLyogcGFydGlhbGx5IGNvdmVyZWQgKi8KKwkJZmluYWxfc3RhcnQgPSBtYXgoc3RhcnQsIGVpLT5hZGRyKTsKKwkJZmluYWxfZW5kID0gbWluKHN0YXJ0ICsgc2l6ZSwgZWktPmFkZHIgKyBlaS0+c2l6ZSk7CisJCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCisJCQljb250aW51ZTsKKwkJcmVhbF9yZW1vdmVkX3NpemUgKz0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisKKwkJZWktPnNpemUgLT0gZmluYWxfZW5kIC0gZmluYWxfc3RhcnQ7CisJCWlmIChlaS0+YWRkciA8IGZpbmFsX3N0YXJ0KQorCQkJY29udGludWU7CisJCWVpLT5hZGRyID0gZmluYWxfZW5kOworCX0KKwlyZXR1cm4gcmVhbF9yZW1vdmVkX3NpemU7Cit9CisKK3ZvaWQgX19pbml0IHVwZGF0ZV9lODIwKHZvaWQpCit7CisJaW50IG5yX21hcDsKKworCW5yX21hcCA9IGU4MjAubnJfbWFwOworCWlmIChzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgQVJSQVlfU0laRShlODIwLm1hcCksICZucl9tYXApKQorCQlyZXR1cm47CisJZTgyMC5ucl9tYXAgPSBucl9tYXA7CisJcHJpbnRrKEtFUk5fSU5GTyAibW9kaWZpZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCWU4MjBfcHJpbnRfbWFwKCJtb2RpZmllZCIpOworfQorc3RhdGljIHZvaWQgX19pbml0IHVwZGF0ZV9lODIwX3NhdmVkKHZvaWQpCit7CisJaW50IG5yX21hcDsKKworCW5yX21hcCA9IGU4MjBfc2F2ZWQubnJfbWFwOworCWlmIChzYW5pdGl6ZV9lODIwX21hcChlODIwX3NhdmVkLm1hcCwgQVJSQVlfU0laRShlODIwX3NhdmVkLm1hcCksICZucl9tYXApKQorCQlyZXR1cm47CisJZTgyMF9zYXZlZC5ucl9tYXAgPSBucl9tYXA7Cit9CisjZGVmaW5lIE1BWF9HQVBfRU5EIDB4MTAwMDAwMDAwdWxsCisvKgorICogU2VhcmNoIGZvciBhIGdhcCBpbiB0aGUgZTgyMCBtZW1vcnkgc3BhY2UgZnJvbSBzdGFydF9hZGRyIHRvIGVuZF9hZGRyLgorICovCitfX2luaXQgaW50IGU4MjBfc2VhcmNoX2dhcCh1bnNpZ25lZCBsb25nICpnYXBzdGFydCwgdW5zaWduZWQgbG9uZyAqZ2Fwc2l6ZSwKKwkJdW5zaWduZWQgbG9uZyBzdGFydF9hZGRyLCB1bnNpZ25lZCBsb25nIGxvbmcgZW5kX2FkZHIpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIGxhc3Q7CisJaW50IGkgPSBlODIwLm5yX21hcDsKKwlpbnQgZm91bmQgPSAwOworCisJbGFzdCA9IChlbmRfYWRkciAmJiBlbmRfYWRkciA8IE1BWF9HQVBfRU5EKSA/IGVuZF9hZGRyIDogTUFYX0dBUF9FTkQ7CisKKwl3aGlsZSAoLS1pID49IDApIHsKKwkJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKKwkJdW5zaWduZWQgbG9uZyBsb25nIGVuZCA9IHN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZTsKKworCQlpZiAoZW5kIDwgc3RhcnRfYWRkcikKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIFNpbmNlICJsYXN0IiBpcyBhdCBtb3N0IDRHQiwgd2Uga25vdyB3ZSdsbAorCQkgKiBmaXQgaW4gMzIgYml0cyBpZiB0aGlzIGNvbmRpdGlvbiBpcyB0cnVlCisJCSAqLworCQlpZiAobGFzdCA+IGVuZCkgeworCQkJdW5zaWduZWQgbG9uZyBnYXAgPSBsYXN0IC0gZW5kOworCisJCQlpZiAoZ2FwID49ICpnYXBzaXplKSB7CisJCQkJKmdhcHNpemUgPSBnYXA7CisJCQkJKmdhcHN0YXJ0ID0gZW5kOworCQkJCWZvdW5kID0gMTsKKwkJCX0KKwkJfQorCQlpZiAoc3RhcnQgPCBsYXN0KQorCQkJbGFzdCA9IHN0YXJ0OworCX0KKwlyZXR1cm4gZm91bmQ7Cit9CisKKy8qCisgKiBTZWFyY2ggZm9yIHRoZSBiaWdnZXN0IGdhcCBpbiB0aGUgbG93IDMyIGJpdHMgb2YgdGhlIGU4MjAKKyAqIG1lbW9yeSBzcGFjZS4gIFdlIHBhc3MgdGhpcyBzcGFjZSB0byBQQ0kgdG8gYXNzaWduIE1NSU8gcmVzb3VyY2VzCisgKiBmb3IgaG90cGx1ZyBvciB1bmNvbmZpZ3VyZWQgZGV2aWNlcyBpbi4KKyAqIEhvcGVmdWxseSB0aGUgQklPUyBsZXQgZW5vdWdoIHNwYWNlIGxlZnQuCisgKi8KK19faW5pdCB2b2lkIGU4MjBfc2V0dXBfZ2FwKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBnYXBzdGFydCwgZ2Fwc2l6ZSwgcm91bmQ7CisJaW50IGZvdW5kOworCisJZ2Fwc3RhcnQgPSAweDEwMDAwMDAwOworCWdhcHNpemUgPSAweDQwMDAwMDsKKwlmb3VuZCAgPSBlODIwX3NlYXJjaF9nYXAoJmdhcHN0YXJ0LCAmZ2Fwc2l6ZSwgMCwgTUFYX0dBUF9FTkQpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmICghZm91bmQpIHsKKwkJZ2Fwc3RhcnQgPSAobWF4X3BmbiA8PCBQQUdFX1NISUZUKSArIDEwMjQqMTAyNDsKKwkJcHJpbnRrKEtFUk5fRVJSICJQQ0k6IFdhcm5pbmc6IENhbm5vdCBmaW5kIGEgZ2FwIGluIHRoZSAzMmJpdCAiCisJCSAgICAgICAiYWRkcmVzcyByYW5nZVxuIgorCQkgICAgICAgS0VSTl9FUlIgIlBDSTogVW5hc3NpZ25lZCBkZXZpY2VzIHdpdGggMzJiaXQgcmVzb3VyY2UgIgorCQkgICAgICAgInJlZ2lzdGVycyBtYXkgYnJlYWshXG4iKTsKKwl9CisjZW5kaWYKKworCS8qCisJICogU2VlIGhvdyBtdWNoIHdlIHdhbnQgdG8gcm91bmQgdXA6IHN0YXJ0IG9mZiB3aXRoCisJICogcm91bmRpbmcgdG8gdGhlIG5leHQgMU1CIGFyZWEuCisJICovCisJcm91bmQgPSAweDEwMDAwMDsKKwl3aGlsZSAoKGdhcHNpemUgPj4gNCkgPiByb3VuZCkKKwkJcm91bmQgKz0gcm91bmQ7CisJLyogRnVuIHdpdGggdHdvJ3MgY29tcGxlbWVudCAqLworCXBjaV9tZW1fc3RhcnQgPSAoZ2Fwc3RhcnQgKyByb3VuZCkgJiAtcm91bmQ7CisKKwlwcmludGsoS0VSTl9JTkZPCisJICAgICAgICJBbGxvY2F0aW5nIFBDSSByZXNvdXJjZXMgc3RhcnRpbmcgYXQgJWx4IChnYXA6ICVseDolbHgpXG4iLAorCSAgICAgICBwY2lfbWVtX3N0YXJ0LCBnYXBzdGFydCwgZ2Fwc2l6ZSk7Cit9CisKKy8qKgorICogQmVjYXVzZSBvZiB0aGUgc2l6ZSBsaW1pdGF0aW9uIG9mIHN0cnVjdCBib290X3BhcmFtcywgb25seSBmaXJzdAorICogMTI4IEU4MjAgbWVtb3J5IGVudHJpZXMgYXJlIHBhc3NlZCB0byBrZXJuZWwgdmlhCisgKiBib290X3BhcmFtcy5lODIwX21hcCwgb3RoZXJzIGFyZSBwYXNzZWQgdmlhIFNFVFVQX0U4MjBfRVhUIG5vZGUgb2YKKyAqIGxpbmtlZCBsaXN0IG9mIHN0cnVjdCBzZXR1cF9kYXRhLCB3aGljaCBpcyBwYXJzZWQgaGVyZS4KKyAqLwordm9pZCBfX2luaXQgcGFyc2VfZTgyMF9leHQoc3RydWN0IHNldHVwX2RhdGEgKnNkYXRhLCB1bnNpZ25lZCBsb25nIHBhX2RhdGEpCit7CisJdTMyIG1hcF9sZW47CisJaW50IGVudHJpZXM7CisJc3RydWN0IGU4MjBlbnRyeSAqZXh0bWFwOworCisJZW50cmllcyA9IHNkYXRhLT5sZW4gLyBzaXplb2Yoc3RydWN0IGU4MjBlbnRyeSk7CisJbWFwX2xlbiA9IHNkYXRhLT5sZW4gKyBzaXplb2Yoc3RydWN0IHNldHVwX2RhdGEpOworCWlmIChtYXBfbGVuID4gUEFHRV9TSVpFKQorCQlzZGF0YSA9IGVhcmx5X2lvcmVtYXAocGFfZGF0YSwgbWFwX2xlbik7CisJZXh0bWFwID0gKHN0cnVjdCBlODIwZW50cnkgKikoc2RhdGEtPmRhdGEpOworCV9fYXBwZW5kX2U4MjBfbWFwKGV4dG1hcCwgZW50cmllcyk7CisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOworCWlmIChtYXBfbGVuID4gUEFHRV9TSVpFKQorCQllYXJseV9pb3VubWFwKHNkYXRhLCBtYXBfbGVuKTsKKwlwcmludGsoS0VSTl9JTkZPICJleHRlbmRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7CisJZTgyMF9wcmludF9tYXAoImV4dGVuZGVkIik7Cit9CisKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpIHx8IFwKKwkoZGVmaW5lZChDT05GSUdfWDg2XzMyKSAmJiBkZWZpbmVkKENPTkZJR19ISUJFUk5BVElPTikpCisvKioKKyAqIEZpbmQgdGhlIHJhbmdlcyBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgdGhhdCBkbyBub3QgY29ycmVzcG9uZCB0bworICogZTgyMCBSQU0gYXJlYXMgYW5kIG1hcmsgdGhlIGNvcnJlc3BvbmRpbmcgcGFnZXMgYXMgbm9zYXZlIGZvcgorICogaGliZXJuYXRpb24gKDMyIGJpdCkgb3Igc29mdHdhcmUgc3VzcGVuZCBhbmQgc3VzcGVuZCB0byBSQU0gKDY0IGJpdCkuCisgKgorICogVGhpcyBmdW5jdGlvbiByZXF1aXJlcyB0aGUgZTgyMCBtYXAgdG8gYmUgc29ydGVkIGFuZCB3aXRob3V0IGFueQorICogb3ZlcmxhcHBpbmcgZW50cmllcyBhbmQgYXNzdW1lcyB0aGUgZmlyc3QgZTgyMCBhcmVhIHRvIGJlIFJBTS4KKyAqLwordm9pZCBfX2luaXQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbGltaXRfcGZuKQoreworCWludCBpOworCXVuc2lnbmVkIGxvbmcgcGZuOworCisJcGZuID0gUEZOX0RPV04oZTgyMC5tYXBbMF0uYWRkciArIGU4MjAubWFwWzBdLnNpemUpOworCWZvciAoaSA9IDE7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOworCisJCWlmIChwZm4gPCBQRk5fVVAoZWktPmFkZHIpKQorCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihwZm4sIFBGTl9VUChlaS0+YWRkcikpOworCisJCXBmbiA9IFBGTl9ET1dOKGVpLT5hZGRyICsgZWktPnNpemUpOworCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0gJiYgZWktPnR5cGUgIT0gRTgyMF9SRVNFUlZFRF9LRVJOKQorCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fVVAoZWktPmFkZHIpLCBwZm4pOworCisJCWlmIChwZm4gPj0gbGltaXRfcGZuKQorCQkJYnJlYWs7CisJfQorfQorI2VuZGlmCisKKy8qCisgKiBFYXJseSByZXNlcnZlZCBtZW1vcnkgYXJlYXMuCisgKi8KKyNkZWZpbmUgTUFYX0VBUkxZX1JFUyAyMAorCitzdHJ1Y3QgZWFybHlfcmVzIHsKKwl1NjQgc3RhcnQsIGVuZDsKKwljaGFyIG5hbWVbMTZdOworCWNoYXIgb3ZlcmxhcF9vazsKK307CitzdGF0aWMgc3RydWN0IGVhcmx5X3JlcyBlYXJseV9yZXNbTUFYX0VBUkxZX1JFU10gX19pbml0ZGF0YSA9IHsKKwl7IDAsIFBBR0VfU0laRSwgIkJJT1MgZGF0YSBwYWdlIiB9LAkvKiBCSU9TIGRhdGEgcGFnZSAqLworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1RSQU1QT0xJTkUpCisJeyBUUkFNUE9MSU5FX0JBU0UsIFRSQU1QT0xJTkVfQkFTRSArIDIgKiBQQUdFX1NJWkUsICJUUkFNUE9MSU5FIiB9LAorI2VuZGlmCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzMyKSAmJiBkZWZpbmVkKENPTkZJR19TTVApCisJLyoKKwkgKiBCdXQgZmlyc3QgcGluY2ggYSBmZXcgZm9yIHRoZSBzdGFjay90cmFtcG9saW5lIHN0dWZmCisJICogRklYTUU6IERvbid0IG5lZWQgdGhlIGV4dHJhIHBhZ2UgYXQgNEssIGJ1dCBuZWVkIHRvIGZpeAorCSAqIHRyYW1wb2xpbmUgYmVmb3JlIHJlbW92aW5nIGl0LiAoc2VlIHRoZSBHRFQgc3R1ZmYpCisJICovCisJeyBQQUdFX1NJWkUsIFBBR0VfU0laRSArIFBBR0VfU0laRSwgIkVYIFRSQU1QT0xJTkUiIH0sCisJLyoKKwkgKiBIYXMgdG8gYmUgaW4gdmVyeSBsb3cgbWVtb3J5IHNvIHdlIGNhbiBleGVjdXRlCisJICogcmVhbC1tb2RlIEFQIGNvZGUuCisJICovCisJeyBUUkFNUE9MSU5FX0JBU0UsIFRSQU1QT0xJTkVfQkFTRSArIFBBR0VfU0laRSwgIlRSQU1QT0xJTkUiIH0sCisjZW5kaWYKKwl7fQorfTsKKworc3RhdGljIGludCBfX2luaXQgZmluZF9vdmVybGFwcGVkX2Vhcmx5KHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgZWFybHlfcmVzICpyOworCisJZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7CisJCXIgPSAmZWFybHlfcmVzW2ldOworCQlpZiAoZW5kID4gci0+c3RhcnQgJiYgc3RhcnQgPCByLT5lbmQpCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gaTsKK30KKworLyoKKyAqIERyb3AgdGhlIGktdGggcmFuZ2UgZnJvbSB0aGUgZWFybHkgcmVzZXJ2YXRpb24gbWFwLAorICogYnkgY29weWluZyBhbnkgaGlnaGVyIHJhbmdlcyBkb3duIG9uZSBvdmVyIGl0LCBhbmQKKyAqIGNsZWFyaW5nIHdoYXQgaGFkIGJlZW4gdGhlIGxhc3Qgc2xvdC4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IGRyb3BfcmFuZ2UoaW50IGkpCit7CisJaW50IGo7CisKKwlmb3IgKGogPSBpICsgMTsgaiA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2pdLmVuZDsgaisrKQorCQk7CisKKwltZW1tb3ZlKCZlYXJseV9yZXNbaV0sICZlYXJseV9yZXNbaSArIDFdLAorCSAgICAgICAoaiAtIDEgLSBpKSAqIHNpemVvZihzdHJ1Y3QgZWFybHlfcmVzKSk7CisKKwllYXJseV9yZXNbaiAtIDFdLmVuZCA9IDA7Cit9CisKKy8qCisgKiBTcGxpdCBhbnkgZXhpc3RpbmcgcmFuZ2VzIHRoYXQ6CisgKiAgMSkgYXJlIG1hcmtlZCAnb3ZlcmxhcF9vaycsIGFuZAorICogIDIpIG92ZXJsYXAgd2l0aCB0aGUgc3RhdGVkIHJhbmdlIFtzdGFydCwgZW5kKQorICogaW50byB3aGF0ZXZlciBwb3J0aW9uIChpZiBhbnkpIG9mIHRoZSBleGlzdGluZyByYW5nZSBpcyBlbnRpcmVseQorICogYmVsb3cgb3IgZW50aXJlbHkgYWJvdmUgdGhlIHN0YXRlZCByYW5nZS4gIERyb3AgdGhlIHBvcnRpb24KKyAqIG9mIHRoZSBleGlzdGluZyByYW5nZSB0aGF0IG92ZXJsYXBzIHdpdGggdGhlIHN0YXRlZCByYW5nZSwKKyAqIHdoaWNoIHdpbGwgYWxsb3cgdGhlIGNhbGxlciBvZiB0aGlzIHJvdXRpbmUgdG8gdGhlbiBhZGQgdGhhdAorICogc3RhdGVkIHJhbmdlIHdpdGhvdXQgY29uZmxpY3Rpbmcgd2l0aCBhbnkgZXhpc3RpbmcgcmFuZ2UuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgZWFybHlfcmVzICpyOworCXU2NCBsb3dlcl9zdGFydCwgbG93ZXJfZW5kOworCXU2NCB1cHBlcl9zdGFydCwgdXBwZXJfZW5kOworCWNoYXIgbmFtZVsxNl07CisKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKKwkJciA9ICZlYXJseV9yZXNbaV07CisKKwkJLyogQ29udGludWUgcGFzdCBub24tb3ZlcmxhcHBpbmcgcmFuZ2VzICovCisJCWlmIChlbmQgPD0gci0+c3RhcnQgfHwgc3RhcnQgPj0gci0+ZW5kKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJICogTGVhdmUgbm9uLW9rIG92ZXJsYXBzIGFzIGlzOyBsZXQgY2FsbGVyCisJCSAqIHBhbmljICJPdmVybGFwcGluZyBlYXJseSByZXNlcnZhdGlvbnMiCisJCSAqIHdoZW4gaXQgaGl0cyB0aGlzIG92ZXJsYXAuCisJCSAqLworCQlpZiAoIXItPm92ZXJsYXBfb2spCisJCQlyZXR1cm47CisKKwkJLyoKKwkJICogV2UgaGF2ZSBhbiBvayBvdmVybGFwLiAgV2Ugd2lsbCBkcm9wIGl0IGZyb20gdGhlIGVhcmx5CisJCSAqIHJlc2VydmF0aW9uIG1hcCwgYW5kIGFkZCBiYWNrIGluIGFueSBub24tb3ZlcmxhcHBpbmcKKwkJICogcG9ydGlvbnMgKGxvd2VyIG9yIHVwcGVyKSBhcyBzZXBhcmF0ZSwgb3ZlcmxhcF9vaywKKwkJICogbm9uLW92ZXJsYXBwaW5nIHJhbmdlcy4KKwkJICovCisKKwkJLyogMS4gTm90ZSBhbnkgbm9uLW92ZXJsYXBwaW5nIChsb3dlciBvciB1cHBlcikgcmFuZ2VzLiAqLworCQlzdHJuY3B5KG5hbWUsIHItPm5hbWUsIHNpemVvZihuYW1lKSAtIDEpOworCisJCWxvd2VyX3N0YXJ0ID0gbG93ZXJfZW5kID0gMDsKKwkJdXBwZXJfc3RhcnQgPSB1cHBlcl9lbmQgPSAwOworCQlpZiAoci0+c3RhcnQgPCBzdGFydCkgeworCQkgCWxvd2VyX3N0YXJ0ID0gci0+c3RhcnQ7CisJCQlsb3dlcl9lbmQgPSBzdGFydDsKKwkJfQorCQlpZiAoci0+ZW5kID4gZW5kKSB7CisJCQl1cHBlcl9zdGFydCA9IGVuZDsKKwkJCXVwcGVyX2VuZCA9IHItPmVuZDsKKwkJfQorCisJCS8qIDIuIERyb3AgdGhlIG9yaWdpbmFsIG9rIG92ZXJsYXBwaW5nIHJhbmdlICovCisJCWRyb3BfcmFuZ2UoaSk7CisKKwkJaS0tOwkJLyogcmVzdW1lIGZvci1sb29wIG9uIGNvcGllZCBkb3duIGVudHJ5ICovCisKKwkJLyogMy4gQWRkIGJhY2sgaW4gYW55IG5vbi1vdmVybGFwcGluZyByYW5nZXMuICovCisJCWlmIChsb3dlcl9lbmQpCisJCQlyZXNlcnZlX2Vhcmx5X292ZXJsYXBfb2sobG93ZXJfc3RhcnQsIGxvd2VyX2VuZCwgbmFtZSk7CisJCWlmICh1cHBlcl9lbmQpCisJCQlyZXNlcnZlX2Vhcmx5X292ZXJsYXBfb2sodXBwZXJfc3RhcnQsIHVwcGVyX2VuZCwgbmFtZSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgX19yZXNlcnZlX2Vhcmx5KHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSwKKwkJCQkJCWludCBvdmVybGFwX29rKQoreworCWludCBpOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CisKKwlpID0gZmluZF9vdmVybGFwcGVkX2Vhcmx5KHN0YXJ0LCBlbmQpOworCWlmIChpID49IE1BWF9FQVJMWV9SRVMpCisJCXBhbmljKCJUb28gbWFueSBlYXJseSByZXNlcnZhdGlvbnMiKTsKKwlyID0gJmVhcmx5X3Jlc1tpXTsKKwlpZiAoci0+ZW5kKQorCQlwYW5pYygiT3ZlcmxhcHBpbmcgZWFybHkgcmVzZXJ2YXRpb25zICIKKwkJICAgICAgIiVsbHgtJWxseCAlcyB0byAlbGx4LSVsbHggJXNcbiIsCisJCSAgICAgIHN0YXJ0LCBlbmQgLSAxLCBuYW1lP25hbWU6IiIsIHItPnN0YXJ0LAorCQkgICAgICByLT5lbmQgLSAxLCByLT5uYW1lKTsKKwlyLT5zdGFydCA9IHN0YXJ0OworCXItPmVuZCA9IGVuZDsKKwlyLT5vdmVybGFwX29rID0gb3ZlcmxhcF9vazsKKwlpZiAobmFtZSkKKwkJc3RybmNweShyLT5uYW1lLCBuYW1lLCBzaXplb2Yoci0+bmFtZSkgLSAxKTsKK30KKworLyoKKyAqIEEgZmV3IGVhcmx5IHJlc2VydnRhdGlvbnMgY29tZSBoZXJlLgorICoKKyAqIFRoZSAnb3ZlcmxhcF9vaycgaW4gdGhlIG5hbWUgb2YgdGhpcyByb3V0aW5lIGRvZXMgLW5vdC0gbWVhbiBpdAorICogaXMgb2sgZm9yIHRoZXNlIHJlc2VydmF0aW9ucyB0byBvdmVybGFwIGFuIGVhcmxpZXIgcmVzZXJ2YXRpb24uCisgKiBSYXRoZXIgaXQgbWVhbnMgdGhhdCBpdCBpcyBvayBmb3Igc3Vic2VxdWVudCByZXNlcnZhdGlvbnMgdG8KKyAqIG92ZXJsYXAgdGhpcyBvbmUuCisgKgorICogVXNlIHRoaXMgZW50cnkgcG9pbnQgdG8gcmVzZXJ2ZSBlYXJseSByYW5nZXMgd2hlbiB5b3UgYXJlIGRvaW5nCisgKiBzbyBvdXQgb2YgIlBhcmFub2lhIiwgcmVzZXJ2aW5nIHBlcmhhcHMgbW9yZSBtZW1vcnkgdGhhbiB5b3UgbmVlZCwKKyAqIGp1c3QgaW4gY2FzZSwgYW5kIGRvbid0IG1pbmQgYSBzdWJzZXF1ZW50IG92ZXJsYXBwaW5nIHJlc2VydmF0aW9uCisgKiB0aGF0IGlzIGtub3duIHRvIGJlIG5lZWRlZC4KKyAqCisgKiBUaGUgZHJvcF9vdmVybGFwc190aGF0X2FyZV9vaygpIGNhbGwgaGVyZSBpc24ndCByZWFsbHkgbmVlZGVkLgorICogSXQgd291bGQgYmUgbmVlZGVkIGlmIHdlIGhhZCB0d28gY29sbGlkaW5nICdvdmVybGFwX29rJworICogcmVzZXJ2YXRpb25zLCBzbyB0aGF0IHRoZSBzZWNvbmQgc3VjaCB3b3VsZCBub3QgcGFuaWMgb24gdGhlCisgKiBvdmVybGFwIHdpdGggdGhlIGZpcnN0LiAgV2UgZG9uJ3QgaGF2ZSBhbnkgc3VjaCBhcyBvZiB0aGlzCisgKiB3cml0aW5nLCBidXQgbWlnaHQgYXMgd2VsbCB0b2xlcmF0ZSBzdWNoIGlmIGl0IGhhcHBlbnMgaW4KKyAqIHRoZSBmdXR1cmUuCisgKi8KK3ZvaWQgX19pbml0IHJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayh1NjQgc3RhcnQsIHU2NCBlbmQsIGNoYXIgKm5hbWUpCit7CisJZHJvcF9vdmVybGFwc190aGF0X2FyZV9vayhzdGFydCwgZW5kKTsKKwlfX3Jlc2VydmVfZWFybHkoc3RhcnQsIGVuZCwgbmFtZSwgMSk7Cit9CisKKy8qCisgKiBNb3N0IGVhcmx5IHJlc2VydmF0aW9ucyBjb21lIGhlcmUuCisgKgorICogV2UgZmlyc3QgaGF2ZSBkcm9wX292ZXJsYXBzX3RoYXRfYXJlX29rKCkgZHJvcCBhbnkgcHJlLWV4aXN0aW5nCisgKiAnb3ZlcmxhcF9vaycgcmFuZ2VzLCBzbyB0aGF0IHdlIGNhbiB0aGVuIHJlc2VydmUgdGhpcyBtZW1vcnkKKyAqIHJhbmdlIHdpdGhvdXQgcmlzayBvZiBwYW5pYydpbmcgb24gYW4gb3ZlcmxhcHBpbmcgb3ZlcmxhcF9vaworICogZWFybHkgcmVzZXJ2YXRpb24uCisgKi8KK3ZvaWQgX19pbml0IHJlc2VydmVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lKQoreworCWRyb3Bfb3ZlcmxhcHNfdGhhdF9hcmVfb2soc3RhcnQsIGVuZCk7CisJX19yZXNlcnZlX2Vhcmx5KHN0YXJ0LCBlbmQsIG5hbWUsIDApOworfQorCit2b2lkIF9faW5pdCBmcmVlX2Vhcmx5KHU2NCBzdGFydCwgdTY0IGVuZCkKK3sKKwlzdHJ1Y3QgZWFybHlfcmVzICpyOworCWludCBpOworCisJaSA9IGZpbmRfb3ZlcmxhcHBlZF9lYXJseShzdGFydCwgZW5kKTsKKwlyID0gJmVhcmx5X3Jlc1tpXTsKKwlpZiAoaSA+PSBNQVhfRUFSTFlfUkVTIHx8IHItPmVuZCAhPSBlbmQgfHwgci0+c3RhcnQgIT0gc3RhcnQpCisJCXBhbmljKCJmcmVlX2Vhcmx5IG9uIG5vdCByZXNlcnZlZCBhcmVhOiAlbGx4LSVsbHghIiwKKwkJCSBzdGFydCwgZW5kIC0gMSk7CisKKwlkcm9wX3JhbmdlKGkpOworfQorCit2b2lkIF9faW5pdCBlYXJseV9yZXNfdG9fYm9vdG1lbSh1NjQgc3RhcnQsIHU2NCBlbmQpCit7CisJaW50IGksIGNvdW50OworCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOworCisJY291bnQgID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspCisJCWNvdW50Kys7CisKKwlwcmludGsoS0VSTl9JTkZPICIoJWQgZWFybHkgcmVzZXJ2YXRpb25zKSA9PT4gYm9vdG1lbVxuIiwgY291bnQpOworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCXN0cnVjdCBlYXJseV9yZXMgKnIgPSAmZWFybHlfcmVzW2ldOworCQlwcmludGsoS0VSTl9JTkZPICIgICMlZCBbJTAxMGxseCAtICUwMTBsbHhdICUxNnMiLCBpLAorCQkJci0+c3RhcnQsIHItPmVuZCwgci0+bmFtZSk7CisJCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCByLT5zdGFydCk7CisJCWZpbmFsX2VuZCA9IG1pbihlbmQsIHItPmVuZCk7CisJCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpIHsKKwkJCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CisJCQljb250aW51ZTsKKwkJfQorCQlwcmludGsoS0VSTl9DT05UICIgPT0+IFslMDEwbGx4IC0gJTAxMGxseF1cbiIsCisJCQlmaW5hbF9zdGFydCwgZmluYWxfZW5kKTsKKwkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMoZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0LAorCQkJCUJPT1RNRU1fREVGQVVMVCk7CisJfQorfQorCisvKiBDaGVjayBmb3IgYWxyZWFkeSByZXNlcnZlZCBhcmVhcyAqLworc3RhdGljIGlubGluZSBpbnQgX19pbml0IGJhZF9hZGRyKHU2NCAqYWRkcnAsIHU2NCBzaXplLCB1NjQgYWxpZ24pCit7CisJaW50IGk7CisJdTY0IGFkZHIgPSAqYWRkcnA7CisJaW50IGNoYW5nZWQgPSAwOworCXN0cnVjdCBlYXJseV9yZXMgKnI7CithZ2FpbjoKKwlpID0gZmluZF9vdmVybGFwcGVkX2Vhcmx5KGFkZHIsIGFkZHIgKyBzaXplKTsKKwlyID0gJmVhcmx5X3Jlc1tpXTsKKwlpZiAoaSA8IE1BWF9FQVJMWV9SRVMgJiYgci0+ZW5kKSB7CisJCSphZGRycCA9IGFkZHIgPSByb3VuZF91cChyLT5lbmQsIGFsaWduKTsKKwkJY2hhbmdlZCA9IDE7CisJCWdvdG8gYWdhaW47CisJfQorCXJldHVybiBjaGFuZ2VkOworfQorCisvKiBDaGVjayBmb3IgYWxyZWFkeSByZXNlcnZlZCBhcmVhcyAqLworc3RhdGljIGlubGluZSBpbnQgX19pbml0IGJhZF9hZGRyX3NpemUodTY0ICphZGRycCwgdTY0ICpzaXplcCwgdTY0IGFsaWduKQoreworCWludCBpOworCXU2NCBhZGRyID0gKmFkZHJwLCBsYXN0OworCXU2NCBzaXplID0gKnNpemVwOworCWludCBjaGFuZ2VkID0gMDsKK2FnYWluOgorCWxhc3QgPSBhZGRyICsgc2l6ZTsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKKwkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07CisJCWlmIChsYXN0ID4gci0+c3RhcnQgJiYgYWRkciA8IHItPnN0YXJ0KSB7CisJCQlzaXplID0gci0+c3RhcnQgLSBhZGRyOworCQkJY2hhbmdlZCA9IDE7CisJCQlnb3RvIGFnYWluOworCQl9CisJCWlmIChsYXN0ID4gci0+ZW5kICYmIGFkZHIgPCByLT5lbmQpIHsKKwkJCWFkZHIgPSByb3VuZF91cChyLT5lbmQsIGFsaWduKTsKKwkJCXNpemUgPSBsYXN0IC0gYWRkcjsKKwkJCWNoYW5nZWQgPSAxOworCQkJZ290byBhZ2FpbjsKKwkJfQorCQlpZiAobGFzdCA8PSByLT5lbmQgJiYgYWRkciA+PSByLT5zdGFydCkgeworCQkJKCpzaXplcCkrKzsKKwkJCXJldHVybiAwOworCQl9CisJfQorCWlmIChjaGFuZ2VkKSB7CisJCSphZGRycCA9IGFkZHI7CisJCSpzaXplcCA9IHNpemU7CisJfQorCXJldHVybiBjaGFuZ2VkOworfQorCisvKgorICogRmluZCBhIGZyZWUgYXJlYSB3aXRoIHNwZWNpZmllZCBhbGlnbm1lbnQgaW4gYSBzcGVjaWZpYyByYW5nZS4KKyAqLwordTY0IF9faW5pdCBmaW5kX2U4MjBfYXJlYSh1NjQgc3RhcnQsIHU2NCBlbmQsIHU2NCBzaXplLCB1NjQgYWxpZ24pCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKwkJdTY0IGFkZHIsIGxhc3Q7CisJCXU2NCBlaV9sYXN0OworCisJCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKKwkJCWNvbnRpbnVlOworCQlhZGRyID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKTsKKwkJZWlfbGFzdCA9IGVpLT5hZGRyICsgZWktPnNpemU7CisJCWlmIChhZGRyIDwgc3RhcnQpCisJCQlhZGRyID0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKKwkJaWYgKGFkZHIgPj0gZWlfbGFzdCkKKwkJCWNvbnRpbnVlOworCQl3aGlsZSAoYmFkX2FkZHIoJmFkZHIsIHNpemUsIGFsaWduKSAmJiBhZGRyK3NpemUgPD0gZWlfbGFzdCkKKwkJCTsKKwkJbGFzdCA9IGFkZHIgKyBzaXplOworCQlpZiAobGFzdCA+IGVpX2xhc3QpCisJCQljb250aW51ZTsKKwkJaWYgKGxhc3QgPiBlbmQpCisJCQljb250aW51ZTsKKwkJcmV0dXJuIGFkZHI7CisJfQorCXJldHVybiAtMVVMTDsKK30KKworLyoKKyAqIEZpbmQgbmV4dCBmcmVlIHJhbmdlIGFmdGVyICpzdGFydAorICovCit1NjQgX19pbml0IGZpbmRfZTgyMF9hcmVhX3NpemUodTY0IHN0YXJ0LCB1NjQgKnNpemVwLCB1NjQgYWxpZ24pCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKwkJdTY0IGFkZHIsIGxhc3Q7CisJCXU2NCBlaV9sYXN0OworCisJCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKKwkJCWNvbnRpbnVlOworCQlhZGRyID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKTsKKwkJZWlfbGFzdCA9IGVpLT5hZGRyICsgZWktPnNpemU7CisJCWlmIChhZGRyIDwgc3RhcnQpCisJCQlhZGRyID0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKKwkJaWYgKGFkZHIgPj0gZWlfbGFzdCkKKwkJCWNvbnRpbnVlOworCQkqc2l6ZXAgPSBlaV9sYXN0IC0gYWRkcjsKKwkJd2hpbGUgKGJhZF9hZGRyX3NpemUoJmFkZHIsIHNpemVwLCBhbGlnbikgJiYKKwkJCWFkZHIgKyAqc2l6ZXAgPD0gZWlfbGFzdCkKKwkJCTsKKwkJbGFzdCA9IGFkZHIgKyAqc2l6ZXA7CisJCWlmIChsYXN0ID4gZWlfbGFzdCkKKwkJCWNvbnRpbnVlOworCQlyZXR1cm4gYWRkcjsKKwl9CisJcmV0dXJuIC0xVUw7CisKK30KKworLyoKKyAqIHByZSBhbGxvY2F0ZWQgNGsgYW5kIHJlc2VydmVkIGl0IGluIGU4MjAKKyAqLwordTY0IF9faW5pdCBlYXJseV9yZXNlcnZlX2U4MjAodTY0IHN0YXJ0dCwgdTY0IHNpemV0LCB1NjQgYWxpZ24pCit7CisJdTY0IHNpemUgPSAwOworCXU2NCBhZGRyOworCXU2NCBzdGFydDsKKworCXN0YXJ0ID0gc3RhcnR0OworCXdoaWxlIChzaXplIDwgc2l6ZXQpCisJCXN0YXJ0ID0gZmluZF9lODIwX2FyZWFfc2l6ZShzdGFydCwgJnNpemUsIGFsaWduKTsKKworCWlmIChzaXplIDwgc2l6ZXQpCisJCXJldHVybiAwOworCisJYWRkciA9IHJvdW5kX2Rvd24oc3RhcnQgKyBzaXplIC0gc2l6ZXQsIGFsaWduKTsKKwllODIwX3VwZGF0ZV9yYW5nZShhZGRyLCBzaXpldCwgRTgyMF9SQU0sIEU4MjBfUkVTRVJWRUQpOworCWU4MjBfdXBkYXRlX3JhbmdlX3NhdmVkKGFkZHIsIHNpemV0LCBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRCk7CisJcHJpbnRrKEtFUk5fSU5GTyAidXBkYXRlIGU4MjAgZm9yIGVhcmx5X3Jlc2VydmVfZTgyMFxuIik7CisJdXBkYXRlX2U4MjAoKTsKKwl1cGRhdGVfZTgyMF9zYXZlZCgpOworCisJcmV0dXJuIGFkZHI7Cit9CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjIGlmZGVmIENPTkZJR19YODZfUEFFCisjICBkZWZpbmUgTUFYX0FSQ0hfUEZOCQkoMVVMTDw8KDM2LVBBR0VfU0hJRlQpKQorIyBlbHNlCisjICBkZWZpbmUgTUFYX0FSQ0hfUEZOCQkoMVVMTDw8KDMyLVBBR0VfU0hJRlQpKQorIyBlbmRpZgorI2Vsc2UgLyogQ09ORklHX1g4Nl8zMiAqLworIyBkZWZpbmUgTUFYX0FSQ0hfUEZOIE1BWE1FTT4+UEFHRV9TSElGVAorI2VuZGlmCisKKy8qCisgKiBGaW5kIHRoZSBoaWdoZXN0IHBhZ2UgZnJhbWUgbnVtYmVyIHdlIGhhdmUgYXZhaWxhYmxlCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2VuZF9wZm4odW5zaWduZWQgbG9uZyBsaW1pdF9wZm4sIHVuc2lnbmVkIHR5cGUpCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBsYXN0X3BmbiA9IDA7CisJdW5zaWduZWQgbG9uZyBtYXhfYXJjaF9wZm4gPSBNQVhfQVJDSF9QRk47CisKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKKwkJdW5zaWduZWQgbG9uZyBzdGFydF9wZm47CisJCXVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKKworCQlpZiAoZWktPnR5cGUgIT0gdHlwZSkKKwkJCWNvbnRpbnVlOworCisJCXN0YXJ0X3BmbiA9IGVpLT5hZGRyID4+IFBBR0VfU0hJRlQ7CisJCWVuZF9wZm4gPSAoZWktPmFkZHIgKyBlaS0+c2l6ZSkgPj4gUEFHRV9TSElGVDsKKworCQlpZiAoc3RhcnRfcGZuID49IGxpbWl0X3BmbikKKwkJCWNvbnRpbnVlOworCQlpZiAoZW5kX3BmbiA+IGxpbWl0X3BmbikgeworCQkJbGFzdF9wZm4gPSBsaW1pdF9wZm47CisJCQlicmVhazsKKwkJfQorCQlpZiAoZW5kX3BmbiA+IGxhc3RfcGZuKQorCQkJbGFzdF9wZm4gPSBlbmRfcGZuOworCX0KKworCWlmIChsYXN0X3BmbiA+IG1heF9hcmNoX3BmbikKKwkJbGFzdF9wZm4gPSBtYXhfYXJjaF9wZm47CisKKwlwcmludGsoS0VSTl9JTkZPICJsYXN0X3BmbiA9ICUjbHggbWF4X2FyY2hfcGZuID0gJSNseFxuIiwKKwkJCSBsYXN0X3BmbiwgbWF4X2FyY2hfcGZuKTsKKwlyZXR1cm4gbGFzdF9wZm47Cit9Cit1bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2VuZF9vZl9yYW1fcGZuKHZvaWQpCit7CisJcmV0dXJuIGU4MjBfZW5kX3BmbihNQVhfQVJDSF9QRk4sIEU4MjBfUkFNKTsKK30KKwordW5zaWduZWQgbG9uZyBfX2luaXQgZTgyMF9lbmRfb2ZfbG93X3JhbV9wZm4odm9pZCkKK3sKKwlyZXR1cm4gZTgyMF9lbmRfcGZuKDFVTDw8KDMyIC0gUEFHRV9TSElGVCksIEU4MjBfUkFNKTsKK30KKy8qCisgKiBGaW5kcyBhbiBhY3RpdmUgcmVnaW9uIGluIHRoZSBhZGRyZXNzIHJhbmdlIGZyb20gc3RhcnRfcGZuIHRvIGxhc3RfcGZuIGFuZAorICogcmV0dXJucyBpdHMgcmFuZ2UgaW4gZWlfc3RhcnRwZm4gYW5kIGVpX2VuZHBmbiBmb3IgdGhlIGU4MjAgZW50cnkuCisgKi8KK2ludCBfX2luaXQgZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWksCisJCQkJICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nICplaV9zdGFydHBmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX2VuZHBmbikKK3sKKwl1NjQgYWxpZ24gPSBQQUdFX1NJWkU7CisKKwkqZWlfc3RhcnRwZm4gPSByb3VuZF91cChlaS0+YWRkciwgYWxpZ24pID4+IFBBR0VfU0hJRlQ7CisJKmVpX2VuZHBmbiA9IHJvdW5kX2Rvd24oZWktPmFkZHIgKyBlaS0+c2l6ZSwgYWxpZ24pID4+IFBBR0VfU0hJRlQ7CisKKwkvKiBTa2lwIG1hcCBlbnRyaWVzIHNtYWxsZXIgdGhhbiBhIHBhZ2UgKi8KKwlpZiAoKmVpX3N0YXJ0cGZuID49ICplaV9lbmRwZm4pCisJCXJldHVybiAwOworCisJLyogU2tpcCBpZiBtYXAgaXMgb3V0c2lkZSB0aGUgbm9kZSAqLworCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSB8fCAqZWlfZW5kcGZuIDw9IHN0YXJ0X3BmbiB8fAorCQkJCSAgICAqZWlfc3RhcnRwZm4gPj0gbGFzdF9wZm4pCisJCXJldHVybiAwOworCisJLyogQ2hlY2sgZm9yIG92ZXJsYXBzICovCisJaWYgKCplaV9zdGFydHBmbiA8IHN0YXJ0X3BmbikKKwkJKmVpX3N0YXJ0cGZuID0gc3RhcnRfcGZuOworCWlmICgqZWlfZW5kcGZuID4gbGFzdF9wZm4pCisJCSplaV9lbmRwZm4gPSBsYXN0X3BmbjsKKworCXJldHVybiAxOworfQorCisvKiBXYWxrIHRoZSBlODIwIG1hcCBhbmQgcmVnaXN0ZXIgYWN0aXZlIHJlZ2lvbnMgd2l0aGluIGEgbm9kZSAqLwordm9pZCBfX2luaXQgZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucyhpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCit7CisJdW5zaWduZWQgbG9uZyBlaV9zdGFydHBmbjsKKwl1bnNpZ25lZCBsb25nIGVpX2VuZHBmbjsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKQorCQlpZiAoZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oJmU4MjAubWFwW2ldLAorCQkJCQkgICAgc3RhcnRfcGZuLCBsYXN0X3BmbiwKKwkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCisJCQlhZGRfYWN0aXZlX3JhbmdlKG5pZCwgZWlfc3RhcnRwZm4sIGVpX2VuZHBmbik7Cit9CisKKy8qCisgKiBGaW5kIHRoZSBob2xlIHNpemUgKGluIGJ5dGVzKSBpbiB0aGUgbWVtb3J5IHJhbmdlLgorICogQHN0YXJ0OiBzdGFydGluZyBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UgdG8gc2NhbgorICogQGVuZDogZW5kaW5nIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSB0byBzY2FuCisgKi8KK3U2NCBfX2luaXQgZTgyMF9ob2xlX3NpemUodTY0IHN0YXJ0LCB1NjQgZW5kKQoreworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIGxhc3RfcGZuID0gZW5kID4+IFBBR0VfU0hJRlQ7CisJdW5zaWduZWQgbG9uZyBlaV9zdGFydHBmbiwgZWlfZW5kcGZuLCByYW0gPSAwOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKKwkJaWYgKGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKCZlODIwLm1hcFtpXSwKKwkJCQkJICAgIHN0YXJ0X3BmbiwgbGFzdF9wZm4sCisJCQkJCSAgICAmZWlfc3RhcnRwZm4sICZlaV9lbmRwZm4pKQorCQkJcmFtICs9IGVpX2VuZHBmbiAtIGVpX3N0YXJ0cGZuOworCX0KKwlyZXR1cm4gZW5kIC0gc3RhcnQgLSAoKHU2NClyYW0gPDwgUEFHRV9TSElGVCk7Cit9CisKK3N0YXRpYyB2b2lkIGVhcmx5X3BhbmljKGNoYXIgKm1zZykKK3sKKwllYXJseV9wcmludGsobXNnKTsKKwlwYW5pYyhtc2cpOworfQorCitzdGF0aWMgaW50IHVzZXJkZWYgX19pbml0ZGF0YTsKKworLyogIm1lbT1ub3BlbnRpdW0iIGRpc2FibGVzIHRoZSA0TUIgcGFnZSB0YWJsZXMuICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW1vcHQoY2hhciAqcCkKK3sKKwl1NjQgbWVtX3NpemU7CisKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmICghc3RyY21wKHAsICJub3BlbnRpdW0iKSkgeworCQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1BTRSk7CisJCXJldHVybiAwOworCX0KKyNlbmRpZgorCisJdXNlcmRlZiA9IDE7CisJbWVtX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7CisJZTgyMF9yZW1vdmVfcmFuZ2UobWVtX3NpemUsIFVMTE9OR19NQVggLSBtZW1fc2l6ZSwgRTgyMF9SQU0sIDEpOworCisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgibWVtIiwgcGFyc2VfbWVtb3B0KTsKKworc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtbWFwX29wdChjaGFyICpwKQoreworCWNoYXIgKm9sZHA7CisJdTY0IHN0YXJ0X2F0LCBtZW1fc2l6ZTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIXN0cmNtcChwLCAiZXhhY3RtYXAiKSkgeworI2lmZGVmIENPTkZJR19DUkFTSF9EVU1QCisJCS8qCisJCSAqIElmIHdlIGFyZSBkb2luZyBhIGNyYXNoIGR1bXAsIHdlIHN0aWxsIG5lZWQgdG8ga25vdworCQkgKiB0aGUgcmVhbCBtZW0gc2l6ZSBiZWZvcmUgb3JpZ2luYWwgbWVtb3J5IG1hcCBpcworCQkgKiByZXNldC4KKwkJICovCisJCXNhdmVkX21heF9wZm4gPSBlODIwX2VuZF9vZl9yYW1fcGZuKCk7CisjZW5kaWYKKwkJZTgyMC5ucl9tYXAgPSAwOworCQl1c2VyZGVmID0gMTsKKwkJcmV0dXJuIDA7CisJfQorCisJb2xkcCA9IHA7CisJbWVtX3NpemUgPSBtZW1wYXJzZShwLCAmcCk7CisJaWYgKHAgPT0gb2xkcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl1c2VyZGVmID0gMTsKKwlpZiAoKnAgPT0gJ0AnKSB7CisJCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7CisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkFNKTsKKwl9IGVsc2UgaWYgKCpwID09ICcjJykgeworCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOworCQllODIwX2FkZF9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX0FDUEkpOworCX0gZWxzZSBpZiAoKnAgPT0gJyQnKSB7CisJCXN0YXJ0X2F0ID0gbWVtcGFyc2UocCsxLCAmcCk7CisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkVTRVJWRUQpOworCX0gZWxzZQorCQllODIwX3JlbW92ZV9yYW5nZShtZW1fc2l6ZSwgVUxMT05HX01BWCAtIG1lbV9zaXplLCBFODIwX1JBTSwgMSk7CisKKwlyZXR1cm4gKnAgPT0gJ1wwJyA/IDAgOiAtRUlOVkFMOworfQorZWFybHlfcGFyYW0oIm1lbW1hcCIsIHBhcnNlX21lbW1hcF9vcHQpOworCit2b2lkIF9faW5pdCBmaW5pc2hfZTgyMF9wYXJzaW5nKHZvaWQpCit7CisJaWYgKHVzZXJkZWYpIHsKKwkJaW50IG5yID0gZTgyMC5ucl9tYXA7CisKKwkJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJm5yKSA8IDApCisJCQllYXJseV9wYW5pYygiSW52YWxpZCB1c2VyIHN1cHBsaWVkIG1lbW9yeSBtYXAiKTsKKwkJZTgyMC5ucl9tYXAgPSBucjsKKworCQlwcmludGsoS0VSTl9JTkZPICJ1c2VyLWRlZmluZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCQllODIwX3ByaW50X21hcCgidXNlciIpOworCX0KK30KKworc3RhdGljIGlubGluZSBjb25zdCBjaGFyICplODIwX3R5cGVfdG9fc3RyaW5nKGludCBlODIwX3R5cGUpCit7CisJc3dpdGNoIChlODIwX3R5cGUpIHsKKwljYXNlIEU4MjBfUkVTRVJWRURfS0VSTjoKKwljYXNlIEU4MjBfUkFNOglyZXR1cm4gIlN5c3RlbSBSQU0iOworCWNhc2UgRTgyMF9BQ1BJOglyZXR1cm4gIkFDUEkgVGFibGVzIjsKKwljYXNlIEU4MjBfTlZTOglyZXR1cm4gIkFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UiOworCWRlZmF1bHQ6CXJldHVybiAicmVzZXJ2ZWQiOworCX0KK30KKworLyoKKyAqIE1hcmsgZTgyMCByZXNlcnZlZCBhcmVhcyBhcyBidXN5IGZvciB0aGUgcmVzb3VyY2UgbWFuYWdlci4KKyAqLwordm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3Jlc291cmNlcyh2b2lkKQoreworCWludCBpOworCXN0cnVjdCByZXNvdXJjZSAqcmVzOworCXU2NCBlbmQ7CisKKwlyZXMgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2Yoc3RydWN0IHJlc291cmNlKSAqIGU4MjAubnJfbWFwKTsKKwlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgeworCQllbmQgPSBlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSAtIDE7CisjaWZuZGVmIENPTkZJR19SRVNPVVJDRVNfNjRCSVQKKwkJaWYgKGVuZCA+IDB4MTAwMDAwMDAwVUxMKSB7CisJCQlyZXMrKzsKKwkJCWNvbnRpbnVlOworCQl9CisjZW5kaWYKKwkJcmVzLT5uYW1lID0gZTgyMF90eXBlX3RvX3N0cmluZyhlODIwLm1hcFtpXS50eXBlKTsKKwkJcmVzLT5zdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7CisJCXJlcy0+ZW5kID0gZW5kOworCisJCXJlcy0+ZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWTsKKwkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgcmVzKTsKKwkJcmVzKys7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGU4MjBfc2F2ZWQubnJfbWFwOyBpKyspIHsKKwkJc3RydWN0IGU4MjBlbnRyeSAqZW50cnkgPSAmZTgyMF9zYXZlZC5tYXBbaV07CisJCWZpcm13YXJlX21hcF9hZGRfZWFybHkoZW50cnktPmFkZHIsCisJCQllbnRyeS0+YWRkciArIGVudHJ5LT5zaXplIC0gMSwKKwkJCWU4MjBfdHlwZV90b19zdHJpbmcoZW50cnktPnR5cGUpKTsKKwl9Cit9CisKKy8qCisgKiBOb24tc3RhbmRhcmQgbWVtb3J5IHNldHVwIGNhbiBiZSBzcGVjaWZpZWQgdmlhIHRoaXMgcXVpcms6CisgKi8KK2NoYXIgKiAoKmFyY2hfbWVtb3J5X3NldHVwX3F1aXJrKSh2b2lkKTsKKworY2hhciAqX19pbml0IGRlZmF1bHRfbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKK3sKKwljaGFyICp3aG8gPSAiQklPUy1lODIwIjsKKwlpbnQgbmV3X25yOworCS8qCisJICogVHJ5IHRvIGNvcHkgdGhlIEJJT1Mtc3VwcGxpZWQgRTgyMC1tYXAuCisJICoKKwkgKiBPdGhlcndpc2UgZmFrZSBhIG1lbW9yeSBtYXA7IG9uZSBzZWN0aW9uIGZyb20gMGstPjY0MGssCisJICogdGhlIG5leHQgc2VjdGlvbiBmcm9tIDFtYi0+YXBwcm9wcmlhdGVfbWVtX2sKKwkgKi8KKwluZXdfbnIgPSBib290X3BhcmFtcy5lODIwX2VudHJpZXM7CisJc2FuaXRpemVfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsCisJCQlBUlJBWV9TSVpFKGJvb3RfcGFyYW1zLmU4MjBfbWFwKSwKKwkJCSZuZXdfbnIpOworCWJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyA9IG5ld19ucjsKKwlpZiAoYXBwZW5kX2U4MjBfbWFwKGJvb3RfcGFyYW1zLmU4MjBfbWFwLCBib290X3BhcmFtcy5lODIwX2VudHJpZXMpCisJICA8IDApIHsKKwkJdTY0IG1lbV9zaXplOworCisJCS8qIGNvbXBhcmUgcmVzdWx0cyBmcm9tIG90aGVyIG1ldGhvZHMgYW5kIHRha2UgdGhlIGdyZWF0ZXIgKi8KKwkJaWYgKGJvb3RfcGFyYW1zLmFsdF9tZW1faworCQkgICAgPCBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2spIHsKKwkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rOworCQkJd2hvID0gIkJJT1MtODgiOworCQl9IGVsc2UgeworCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5hbHRfbWVtX2s7CisJCQl3aG8gPSAiQklPUy1lODAxIjsKKwkJfQorCisJCWU4MjAubnJfbWFwID0gMDsKKwkJZTgyMF9hZGRfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOworCQllODIwX2FkZF9yZWdpb24oSElHSF9NRU1PUlksIG1lbV9zaXplIDw8IDEwLCBFODIwX1JBTSk7CisJfQorCisJLyogSW4gY2FzZSBzb21lb25lIGNhcmVzLi4uICovCisJcmV0dXJuIHdobzsKK30KKworY2hhciAqX19pbml0IF9fYXR0cmlidXRlX18oKHdlYWspKSBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQoreworCWlmIChhcmNoX21lbW9yeV9zZXR1cF9xdWlyaykgeworCQljaGFyICp3aG8gPSBhcmNoX21lbW9yeV9zZXR1cF9xdWlyaygpOworCisJCWlmICh3aG8pCisJCQlyZXR1cm4gd2hvOworCX0KKwlyZXR1cm4gZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOworfQorCisvKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgaWYgQ09ORklHX1BBUkFWSVJUICovCitjaGFyICogX19pbml0IF9fYXR0cmlidXRlX18oKHdlYWspKSBtZW1vcnlfc2V0dXAodm9pZCkKK3sKKwlyZXR1cm4gbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKK30KKwordm9pZCBfX2luaXQgc2V0dXBfbWVtb3J5X21hcCh2b2lkKQoreworCWNoYXIgKndobzsKKworCXdobyA9IG1lbW9yeV9zZXR1cCgpOworCW1lbWNweSgmZTgyMF9zYXZlZCwgJmU4MjAsIHNpemVvZihzdHJ1Y3QgZTgyMG1hcCkpOworCXByaW50ayhLRVJOX0lORk8gIkJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCWU4MjBfcHJpbnRfbWFwKHdobyk7Cit9CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitpbnQgX19pbml0IGFyY2hfZ2V0X3JhbV9yYW5nZShpbnQgc2xvdCwgdTY0ICphZGRyLCB1NjQgKnNpemUpCit7CisJaW50IGk7CisKKwlpZiAoc2xvdCA8IDAgfHwgc2xvdCA+PSBlODIwLm5yX21hcCkKKwkJcmV0dXJuIC0xOworCWZvciAoaSA9IHNsb3Q7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7CisJCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQorCQkJY29udGludWU7CisJCWJyZWFrOworCX0KKwlpZiAoaSA9PSBlODIwLm5yX21hcCB8fCBlODIwLm1hcFtpXS5hZGRyID4gKG1heF9wZm4gPDwgUEFHRV9TSElGVCkpCisJCXJldHVybiAtMTsKKwkqYWRkciA9IGU4MjAubWFwW2ldLmFkZHI7CisJKnNpemUgPSBtaW5fdCh1NjQsIGU4MjAubWFwW2ldLnNpemUgKyBlODIwLm1hcFtpXS5hZGRyLAorCQltYXhfcGZuIDw8IFBBR0VfU0hJRlQpIC0gKmFkZHI7CisJcmV0dXJuIGkgKyAxOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMF8zMi5jIGIvYXJjaC94ODYva2VybmVsL2U4MjBfMzIuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ3MzNlNy4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZTgyMF8zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsNzc1ICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Ci0jaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxsaW51eC9zdXNwZW5kLmg+Ci0KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KLQotc3RydWN0IGU4MjBtYXAgZTgyMDsKLXN0cnVjdCBjaGFuZ2VfbWVtYmVyIHsKLQlzdHJ1Y3QgZTgyMGVudHJ5ICpwYmlvczsgLyogcG9pbnRlciB0byBvcmlnaW5hbCBiaW9zIGVudHJ5ICovCi0JdW5zaWduZWQgbG9uZyBsb25nIGFkZHI7IC8qIGFkZHJlc3MgZm9yIHRoaXMgY2hhbmdlIHBvaW50ICovCi19Owotc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyIGNoYW5nZV9wb2ludF9saXN0WzIqRTgyME1BWF0gX19pbml0ZGF0YTsKLXN0YXRpYyBzdHJ1Y3QgY2hhbmdlX21lbWJlciAqY2hhbmdlX3BvaW50WzIqRTgyME1BWF0gX19pbml0ZGF0YTsKLXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5ICpvdmVybGFwX2xpc3RbRTgyME1BWF0gX19pbml0ZGF0YTsKLXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5IG5ld19iaW9zW0U4MjBNQVhdIF9faW5pdGRhdGE7Ci0vKiBGb3IgUENJIG9yIG90aGVyIG1lbW9yeS1tYXBwZWQgcmVzb3VyY2VzICovCi11bnNpZ25lZCBsb25nIHBjaV9tZW1fc3RhcnQgPSAweDEwMDAwMDAwOwotI2lmZGVmIENPTkZJR19QQ0kKLUVYUE9SVF9TWU1CT0wocGNpX21lbV9zdGFydCk7Ci0jZW5kaWYKLWV4dGVybiBpbnQgdXNlcl9kZWZpbmVkX21lbW1hcDsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzeXN0ZW1fcm9tX3Jlc291cmNlID0gewotCS5uYW1lCT0gIlN5c3RlbSBST00iLAotCS5zdGFydAk9IDB4ZjAwMDAsCi0JLmVuZAk9IDB4ZmZmZmYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGV4dGVuc2lvbl9yb21fcmVzb3VyY2UgPSB7Ci0JLm5hbWUJPSAiRXh0ZW5zaW9uIFJPTSIsCi0JLnN0YXJ0CT0gMHhlMDAwMCwKLQkuZW5kCT0gMHhlZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYWRhcHRlcl9yb21fcmVzb3VyY2VzW10gPSB7IHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDB4YzgwMDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0sIHsKLQkubmFtZSAJPSAiQWRhcHRlciBST00iLAotCS5zdGFydAk9IDAsCi0JLmVuZAk9IDAsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCi19LCB7Ci0JLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQotfSwgewotCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX0gfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yb21fcmVzb3VyY2UgPSB7Ci0JLm5hbWUgCT0gIlZpZGVvIFJPTSIsCi0JLnN0YXJ0CT0gMHhjMDAwMCwKLQkuZW5kCT0gMHhjN2ZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KLX07Ci0KLSNkZWZpbmUgUk9NU0lHTkFUVVJFIDB4YWE1NQotCi1zdGF0aWMgaW50IF9faW5pdCByb21zaWduYXR1cmUoY29uc3QgdW5zaWduZWQgY2hhciAqcm9tKQotewotCWNvbnN0IHVuc2lnbmVkIHNob3J0ICogY29uc3QgcHRyID0gKGNvbnN0IHVuc2lnbmVkIHNob3J0ICopcm9tOwotCXVuc2lnbmVkIHNob3J0IHNpZzsKLQotCXJldHVybiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhwdHIsIHNpZykgPT0gMCAmJiBzaWcgPT0gUk9NU0lHTkFUVVJFOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCByb21jaGVja3N1bShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20sIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKQotewotCXVuc2lnbmVkIGNoYXIgc3VtLCBjOwotCi0JZm9yIChzdW0gPSAwOyBsZW5ndGggJiYgcHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tKyssIGMpID09IDA7IGxlbmd0aC0tKQotCQlzdW0gKz0gYzsKLQlyZXR1cm4gIWxlbmd0aCAmJiAhc3VtOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgcHJvYmVfcm9tcyh2b2lkKQotewotCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnJvbTsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0LCBsZW5ndGgsIHVwcGVyOwotCXVuc2lnbmVkIGNoYXIgYzsKLQlpbnQgaTsKLQotCS8qIHZpZGVvIHJvbSAqLwotCXVwcGVyID0gYWRhcHRlcl9yb21fcmVzb3VyY2VzWzBdLnN0YXJ0OwotCWZvciAoc3RhcnQgPSB2aWRlb19yb21fcmVzb3VyY2Uuc3RhcnQ7IHN0YXJ0IDwgdXBwZXI7IHN0YXJ0ICs9IDIwNDgpIHsKLQkJcm9tID0gaXNhX2J1c190b192aXJ0KHN0YXJ0KTsKLQkJaWYgKCFyb21zaWduYXR1cmUocm9tKSkKLQkJCWNvbnRpbnVlOwotCi0JCXZpZGVvX3JvbV9yZXNvdXJjZS5zdGFydCA9IHN0YXJ0OwotCi0JCWlmIChwcm9iZV9rZXJuZWxfYWRkcmVzcyhyb20gKyAyLCBjKSAhPSAwKQotCQkJY29udGludWU7Ci0KLQkJLyogMCA8IGxlbmd0aCA8PSAweDdmICogNTEyLCBoaXN0b3JpY2FsbHkgKi8KLQkJbGVuZ3RoID0gYyAqIDUxMjsKLQotCQkvKiBpZiBjaGVja3N1bSBva2F5LCB0cnVzdCBsZW5ndGggYnl0ZSAqLwotCQlpZiAobGVuZ3RoICYmIHJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkKLQkJCXZpZGVvX3JvbV9yZXNvdXJjZS5lbmQgPSBzdGFydCArIGxlbmd0aCAtIDE7Ci0KLQkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yb21fcmVzb3VyY2UpOwotCQlicmVhazsKLQl9Ci0KLQlzdGFydCA9ICh2aWRlb19yb21fcmVzb3VyY2UuZW5kICsgMSArIDIwNDcpICYgfjIwNDdVTDsKLQlpZiAoc3RhcnQgPCB1cHBlcikKLQkJc3RhcnQgPSB1cHBlcjsKLQotCS8qIHN5c3RlbSByb20gKi8KLQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnN5c3RlbV9yb21fcmVzb3VyY2UpOwotCXVwcGVyID0gc3lzdGVtX3JvbV9yZXNvdXJjZS5zdGFydDsKLQotCS8qIGNoZWNrIGZvciBleHRlbnNpb24gcm9tIChpZ25vcmUgbGVuZ3RoIGJ5dGUhKSAqLwotCXJvbSA9IGlzYV9idXNfdG9fdmlydChleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0KTsKLQlpZiAocm9tc2lnbmF0dXJlKHJvbSkpIHsKLQkJbGVuZ3RoID0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5lbmQgLSBleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0ICsgMTsKLQkJaWYgKHJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkgewotCQkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZleHRlbnNpb25fcm9tX3Jlc291cmNlKTsKLQkJCXVwcGVyID0gZXh0ZW5zaW9uX3JvbV9yZXNvdXJjZS5zdGFydDsKLQkJfQotCX0KLQotCS8qIGNoZWNrIGZvciBhZGFwdGVyIHJvbXMgb24gMmsgYm91bmRhcmllcyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFkYXB0ZXJfcm9tX3Jlc291cmNlcykgJiYgc3RhcnQgPCB1cHBlcjsgc3RhcnQgKz0gMjA0OCkgewotCQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoc3RhcnQpOwotCQlpZiAoIXJvbXNpZ25hdHVyZShyb20pKQotCQkJY29udGludWU7Ci0KLQkJaWYgKHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSArIDIsIGMpICE9IDApCi0JCQljb250aW51ZTsKLQotCQkvKiAwIDwgbGVuZ3RoIDw9IDB4N2YgKiA1MTIsIGhpc3RvcmljYWxseSAqLwotCQlsZW5ndGggPSBjICogNTEyOwotCi0JCS8qIGJ1dCBhY2NlcHQgYW55IGxlbmd0aCB0aGF0IGZpdHMgaWYgY2hlY2tzdW0gb2theSAqLwotCQlpZiAoIWxlbmd0aCB8fCBzdGFydCArIGxlbmd0aCA+IHVwcGVyIHx8ICFyb21jaGVja3N1bShyb20sIGxlbmd0aCkpCi0JCQljb250aW51ZTsKLQotCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uc3RhcnQgPSBzdGFydDsKLQkJYWRhcHRlcl9yb21fcmVzb3VyY2VzW2ldLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKLQkJcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0pOwotCi0JCXN0YXJ0ID0gYWRhcHRlcl9yb21fcmVzb3VyY2VzW2krK10uZW5kICYgfjIwNDdVTDsKLQl9Ci19Ci0KLS8qCi0gKiBSZXF1ZXN0IGFkZHJlc3Mgc3BhY2UgZm9yIGFsbCBzdGFuZGFyZCBSQU0gYW5kIFJPTSByZXNvdXJjZXMKLSAqIGFuZCBhbHNvIGZvciByZWdpb25zIHJlcG9ydGVkIGFzIHJlc2VydmVkIGJ5IHRoZSBlODIwLgotICovCi12b2lkIF9faW5pdCBpbml0X2lvbWVtX3Jlc291cmNlcyhzdHJ1Y3QgcmVzb3VyY2UgKmNvZGVfcmVzb3VyY2UsCi0JCXN0cnVjdCByZXNvdXJjZSAqZGF0YV9yZXNvdXJjZSwKLQkJc3RydWN0IHJlc291cmNlICpic3NfcmVzb3VyY2UpCi17Ci0JaW50IGk7Ci0KLQlwcm9iZV9yb21zKCk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IHJlc291cmNlICpyZXM7Ci0jaWZuZGVmIENPTkZJR19SRVNPVVJDRVNfNjRCSVQKLQkJaWYgKGU4MjAubWFwW2ldLmFkZHIgKyBlODIwLm1hcFtpXS5zaXplID4gMHgxMDAwMDAwMDBVTEwpCi0JCQljb250aW51ZTsKLSNlbmRpZgotCQlyZXMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpLCBHRlBfQVRPTUlDKTsKLQkJc3dpdGNoIChlODIwLm1hcFtpXS50eXBlKSB7Ci0JCWNhc2UgRTgyMF9SQU06CXJlcy0+bmFtZSA9ICJTeXN0ZW0gUkFNIjsgYnJlYWs7Ci0JCWNhc2UgRTgyMF9BQ1BJOglyZXMtPm5hbWUgPSAiQUNQSSBUYWJsZXMiOyBicmVhazsKLQkJY2FzZSBFODIwX05WUzoJcmVzLT5uYW1lID0gIkFDUEkgTm9uLXZvbGF0aWxlIFN0b3JhZ2UiOyBicmVhazsKLQkJZGVmYXVsdDoJcmVzLT5uYW1lID0gInJlc2VydmVkIjsKLQkJfQotCQlyZXMtPnN0YXJ0ID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkJcmVzLT5lbmQgPSByZXMtPnN0YXJ0ICsgZTgyMC5tYXBbaV0uc2l6ZSAtIDE7Ci0JCXJlcy0+ZmxhZ3MgPSBJT1JFU09VUkNFX01FTSB8IElPUkVTT1VSQ0VfQlVTWTsKLQkJaWYgKHJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCByZXMpKSB7Ci0JCQlrZnJlZShyZXMpOwotCQkJY29udGludWU7Ci0JCX0KLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgPT0gRTgyMF9SQU0pIHsKLQkJCS8qCi0JCQkgKiAgV2UgZG9uJ3Qga25vdyB3aGljaCBSQU0gcmVnaW9uIGNvbnRhaW5zIGtlcm5lbCBkYXRhLAotCQkJICogIHNvIHdlIHRyeSBpdCByZXBlYXRlZGx5IGFuZCBsZXQgdGhlIHJlc291cmNlIG1hbmFnZXIKLQkJCSAqICB0ZXN0IGl0LgotCQkJICovCi0JCQlyZXF1ZXN0X3Jlc291cmNlKHJlcywgY29kZV9yZXNvdXJjZSk7Ci0JCQlyZXF1ZXN0X3Jlc291cmNlKHJlcywgZGF0YV9yZXNvdXJjZSk7Ci0JCQlyZXF1ZXN0X3Jlc291cmNlKHJlcywgYnNzX3Jlc291cmNlKTsKLSNpZmRlZiBDT05GSUdfS0VYRUMKLQkJCWlmIChjcmFzaGtfcmVzLnN0YXJ0ICE9IGNyYXNoa19yZXMuZW5kKQotCQkJCXJlcXVlc3RfcmVzb3VyY2UocmVzLCAmY3Jhc2hrX3Jlcyk7Ci0jZW5kaWYKLQkJfQotCX0KLX0KLQotI2lmIGRlZmluZWQoQ09ORklHX1BNKSAmJiBkZWZpbmVkKENPTkZJR19ISUJFUk5BVElPTikKLS8qKgotICogZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zIC0gRmluZCB0aGUgcmFuZ2VzIG9mIHBoeXNpY2FsIGFkZHJlc3NlcyB0aGF0IGRvIG5vdAotICogY29ycmVzcG9uZCB0byBlODIwIFJBTSBhcmVhcyBhbmQgbWFyayB0aGUgY29ycmVzcG9uZGluZyBwYWdlcyBhcyBub3NhdmUgZm9yCi0gKiBoaWJlcm5hdGlvbi4KLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIHJlcXVpcmVzIHRoZSBlODIwIG1hcCB0byBiZSBzb3J0ZWQgYW5kIHdpdGhvdXQgYW55Ci0gKiBvdmVybGFwcGluZyBlbnRyaWVzIGFuZCBhc3N1bWVzIHRoZSBmaXJzdCBlODIwIGFyZWEgdG8gYmUgUkFNLgotICovCi12b2lkIF9faW5pdCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCkKLXsKLQlpbnQgaTsKLQl1bnNpZ25lZCBsb25nIHBmbjsKLQotCXBmbiA9IFBGTl9ET1dOKGU4MjAubWFwWzBdLmFkZHIgKyBlODIwLm1hcFswXS5zaXplKTsKLQlmb3IgKGkgPSAxOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQotCQlpZiAocGZuIDwgUEZOX1VQKGVpLT5hZGRyKSkKLQkJCXJlZ2lzdGVyX25vc2F2ZV9yZWdpb24ocGZuLCBQRk5fVVAoZWktPmFkZHIpKTsKLQotCQlwZm4gPSBQRk5fRE9XTihlaS0+YWRkciArIGVpLT5zaXplKTsKLQkJaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNKQotCQkJcmVnaXN0ZXJfbm9zYXZlX3JlZ2lvbihQRk5fVVAoZWktPmFkZHIpLCBwZm4pOwotCi0JCWlmIChwZm4gPj0gbWF4X2xvd19wZm4pCi0JCQlicmVhazsKLQl9Ci19Ci0jZW5kaWYKLQotdm9pZCBfX2luaXQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNpemUsIGludCB0eXBlKQotewotCWludCB4OwotCi0JeCA9IGU4MjAubnJfbWFwOwotCi0JaWYgKHggPT0gRTgyME1BWCkgewotCQlwcmludGsoS0VSTl9FUlIgIk9vb3BzISBUb28gbWFueSBlbnRyaWVzIGluIHRoZSBtZW1vcnkgbWFwIVxuIik7Ci0JCXJldHVybjsKLQl9Ci0KLQllODIwLm1hcFt4XS5hZGRyID0gc3RhcnQ7Ci0JZTgyMC5tYXBbeF0uc2l6ZSA9IHNpemU7Ci0JZTgyMC5tYXBbeF0udHlwZSA9IHR5cGU7Ci0JZTgyMC5ucl9tYXArKzsKLX0gLyogYWRkX21lbW9yeV9yZWdpb24gKi8KLQotLyoKLSAqIFNhbml0aXplIHRoZSBCSU9TIGU4MjAgbWFwLgotICoKLSAqIFNvbWUgZTgyMCByZXNwb25zZXMgaW5jbHVkZSBvdmVybGFwcGluZyBlbnRyaWVzLiAgVGhlIGZvbGxvd2luZwotICogcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGU4MjAgbWFwIHdpdGggYSBuZXcgb25lLCByZW1vdmluZyBvdmVybGFwcy4KLSAqCi0gKi8KLWludCBfX2luaXQgc2FuaXRpemVfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqIGJpb3NtYXAsIGNoYXIgKiBwbnJfbWFwKQotewotCXN0cnVjdCBjaGFuZ2VfbWVtYmVyICpjaGFuZ2VfdG1wOwotCXVuc2lnbmVkIGxvbmcgY3VycmVudF90eXBlLCBsYXN0X3R5cGU7Ci0JdW5zaWduZWQgbG9uZyBsb25nIGxhc3RfYWRkcjsKLQlpbnQgY2hnaWR4LCBzdGlsbF9jaGFuZ2luZzsKLQlpbnQgb3ZlcmxhcF9lbnRyaWVzOwotCWludCBuZXdfYmlvc19lbnRyeTsKLQlpbnQgb2xkX25yLCBuZXdfbnIsIGNoZ19ucjsKLQlpbnQgaTsKLQotCS8qCi0JCVZpc3VhbGx5IHdlJ3JlIHBlcmZvcm1pbmcgdGhlIGZvbGxvd2luZyAoMSwyLDMsNCA9IG1lbW9yeSB0eXBlcykuLi4KLQotCQlTYW1wbGUgbWVtb3J5IG1hcCAody9vdmVybGFwcyk6Ci0JCSAgIF9fX18yMl9fX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fX19fNF8KLQkJICAgX19fXzExMTFfX19fX19fX19fX19fX19fCi0JCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXwotCQkgICAxMTExMTExMV9fX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX18zM19fCi0JCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXwotCQkgICBfX19fX19fX19fMzMzMzNfX19fX19fX18KLQkJICAgX19fX19fX19fX19fX18yMl9fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX18yMjIyXwotCQkgICBfX19fX19fX18xMTExMTExMTFfX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX19fMTFfCi0JCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXwotCi0JCVNhbml0aXplZCBlcXVpdmFsZW50IChubyBvdmVybGFwKToKLQkJICAgMV9fX19fX19fX19fX19fX19fX19fX19fCi0JCSAgIF80NF9fX19fX19fX19fX19fX19fX19fXwotCQkgICBfX18xX19fX19fX19fX19fX19fX19fX18KLQkJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fXzExX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX18xX19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fXzNfX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fNDRfX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fMzNfX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fMl9fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX18xX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fXzRfX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fXzJfX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fMzNfXwotCQkgICBfX19fX19fX19fX19fX19fX19fX19fNF8KLQkqLwotCS8qIGlmIHRoZXJlJ3Mgb25seSBvbmUgbWVtb3J5IHJlZ2lvbiwgZG9uJ3QgYm90aGVyICovCi0JaWYgKCpwbnJfbWFwIDwgMikgewotCQlyZXR1cm4gLTE7Ci0JfQotCi0Jb2xkX25yID0gKnBucl9tYXA7Ci0KLQkvKiBiYWlsIG91dCBpZiB3ZSBmaW5kIGFueSB1bnJlYXNvbmFibGUgYWRkcmVzc2VzIGluIGJpb3MgbWFwICovCi0JZm9yIChpPTA7IGk8b2xkX25yOyBpKyspCi0JCWlmIChiaW9zbWFwW2ldLmFkZHIgKyBiaW9zbWFwW2ldLnNpemUgPCBiaW9zbWFwW2ldLmFkZHIpIHsKLQkJCXJldHVybiAtMTsKLQkJfQotCi0JLyogY3JlYXRlIHBvaW50ZXJzIGZvciBpbml0aWFsIGNoYW5nZS1wb2ludCBpbmZvcm1hdGlvbiAoZm9yIHNvcnRpbmcpICovCi0JZm9yIChpPTA7IGkgPCAyKm9sZF9ucjsgaSsrKQotCQljaGFuZ2VfcG9pbnRbaV0gPSAmY2hhbmdlX3BvaW50X2xpc3RbaV07Ci0KLQkvKiByZWNvcmQgYWxsIGtub3duIGNoYW5nZS1wb2ludHMgKHN0YXJ0aW5nIGFuZCBlbmRpbmcgYWRkcmVzc2VzKSwKLQkgICBvbWl0dGluZyB0aG9zZSB0aGF0IGFyZSBmb3IgZW1wdHkgbWVtb3J5IHJlZ2lvbnMgKi8KLQljaGdpZHggPSAwOwotCWZvciAoaT0wOyBpIDwgb2xkX25yOyBpKyspCXsKLQkJaWYgKGJpb3NtYXBbaV0uc2l6ZSAhPSAwKSB7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkcjsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9IGJpb3NtYXBbaV0uYWRkciArIGJpb3NtYXBbaV0uc2l6ZTsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07Ci0JCX0KLQl9Ci0JY2hnX25yID0gY2hnaWR4OyAgICAJLyogdHJ1ZSBudW1iZXIgb2YgY2hhbmdlLXBvaW50cyAqLwotCi0JLyogc29ydCBjaGFuZ2UtcG9pbnQgbGlzdCBieSBtZW1vcnkgYWRkcmVzc2VzIChsb3cgLT4gaGlnaCkgKi8KLQlzdGlsbF9jaGFuZ2luZyA9IDE7Ci0Jd2hpbGUgKHN0aWxsX2NoYW5naW5nKQl7Ci0JCXN0aWxsX2NoYW5naW5nID0gMDsKLQkJZm9yIChpPTE7IGkgPCBjaGdfbnI7IGkrKykgIHsKLQkJCS8qIGlmIDxjdXJyZW50X2FkZHI+ID4gPGxhc3RfYWRkcj4sIHN3YXAgKi8KLQkJCS8qIG9yLCBpZiBjdXJyZW50PTxzdGFydF9hZGRyPiAmIGxhc3Q9PGVuZF9hZGRyPiwgc3dhcCAqLwotCQkJaWYgKChjaGFuZ2VfcG9pbnRbaV0tPmFkZHIgPCBjaGFuZ2VfcG9pbnRbaS0xXS0+YWRkcikgfHwKLQkJCQkoKGNoYW5nZV9wb2ludFtpXS0+YWRkciA9PSBjaGFuZ2VfcG9pbnRbaS0xXS0+YWRkcikgJiYKLQkJCQkgKGNoYW5nZV9wb2ludFtpXS0+YWRkciA9PSBjaGFuZ2VfcG9pbnRbaV0tPnBiaW9zLT5hZGRyKSAmJgotCQkJCSAoY2hhbmdlX3BvaW50W2ktMV0tPmFkZHIgIT0gY2hhbmdlX3BvaW50W2ktMV0tPnBiaW9zLT5hZGRyKSkKLQkJCSAgICkKLQkJCXsKLQkJCQljaGFuZ2VfdG1wID0gY2hhbmdlX3BvaW50W2ldOwotCQkJCWNoYW5nZV9wb2ludFtpXSA9IGNoYW5nZV9wb2ludFtpLTFdOwotCQkJCWNoYW5nZV9wb2ludFtpLTFdID0gY2hhbmdlX3RtcDsKLQkJCQlzdGlsbF9jaGFuZ2luZz0xOwotCQkJfQotCQl9Ci0JfQotCi0JLyogY3JlYXRlIGEgbmV3IGJpb3MgbWVtb3J5IG1hcCwgcmVtb3Zpbmcgb3ZlcmxhcHMgKi8KLQlvdmVybGFwX2VudHJpZXM9MDsJIC8qIG51bWJlciBvZiBlbnRyaWVzIGluIHRoZSBvdmVybGFwIHRhYmxlICovCi0JbmV3X2Jpb3NfZW50cnk9MDsJIC8qIGluZGV4IGZvciBjcmVhdGluZyBuZXcgYmlvcyBtYXAgZW50cmllcyAqLwotCWxhc3RfdHlwZSA9IDA7CQkgLyogc3RhcnQgd2l0aCB1bmRlZmluZWQgbWVtb3J5IHR5cGUgKi8KLQlsYXN0X2FkZHIgPSAwOwkJIC8qIHN0YXJ0IHdpdGggMCBhcyBsYXN0IHN0YXJ0aW5nIGFkZHJlc3MgKi8KLQkvKiBsb29wIHRocm91Z2ggY2hhbmdlLXBvaW50cywgZGV0ZXJtaW5pbmcgYWZmZWN0IG9uIHRoZSBuZXcgYmlvcyBtYXAgKi8KLQlmb3IgKGNoZ2lkeD0wOyBjaGdpZHggPCBjaGdfbnI7IGNoZ2lkeCsrKQotCXsKLQkJLyoga2VlcCB0cmFjayBvZiBhbGwgb3ZlcmxhcHBpbmcgYmlvcyBlbnRyaWVzICovCi0JCWlmIChjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9PSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MtPmFkZHIpCi0JCXsKLQkJCS8qIGFkZCBtYXAgZW50cnkgdG8gb3ZlcmxhcCBsaXN0ICg+IDEgZW50cnkgaW1wbGllcyBhbiBvdmVybGFwKSAqLwotCQkJb3ZlcmxhcF9saXN0W292ZXJsYXBfZW50cmllcysrXT1jaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3M7Ci0JCX0KLQkJZWxzZQotCQl7Ci0JCQkvKiByZW1vdmUgZW50cnkgZnJvbSBsaXN0IChvcmRlciBpbmRlcGVuZGVudCwgc28gc3dhcCB3aXRoIGxhc3QpICovCi0JCQlmb3IgKGk9MDsgaTxvdmVybGFwX2VudHJpZXM7IGkrKykKLQkJCXsKLQkJCQlpZiAob3ZlcmxhcF9saXN0W2ldID09IGNoYW5nZV9wb2ludFtjaGdpZHhdLT5wYmlvcykKLQkJCQkJb3ZlcmxhcF9saXN0W2ldID0gb3ZlcmxhcF9saXN0W292ZXJsYXBfZW50cmllcy0xXTsKLQkJCX0KLQkJCW92ZXJsYXBfZW50cmllcy0tOwotCQl9Ci0JCS8qIGlmIHRoZXJlIGFyZSBvdmVybGFwcGluZyBlbnRyaWVzLCBkZWNpZGUgd2hpY2ggInR5cGUiIHRvIHVzZSAqLwotCQkvKiAobGFyZ2VyIHZhbHVlIHRha2VzIHByZWNlZGVuY2UgLS0gMT11c2FibGUsIDIsMyw0LDQrPXVudXNhYmxlKSAqLwotCQljdXJyZW50X3R5cGUgPSAwOwotCQlmb3IgKGk9MDsgaTxvdmVybGFwX2VudHJpZXM7IGkrKykKLQkJCWlmIChvdmVybGFwX2xpc3RbaV0tPnR5cGUgPiBjdXJyZW50X3R5cGUpCi0JCQkJY3VycmVudF90eXBlID0gb3ZlcmxhcF9saXN0W2ldLT50eXBlOwotCQkvKiBjb250aW51ZSBidWlsZGluZyB1cCBuZXcgYmlvcyBtYXAgYmFzZWQgb24gdGhpcyBpbmZvcm1hdGlvbiAqLwotCQlpZiAoY3VycmVudF90eXBlICE9IGxhc3RfdHlwZSkJewotCQkJaWYgKGxhc3RfdHlwZSAhPSAwKQkgewotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5zaXplID0KLQkJCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgLSBsYXN0X2FkZHI7Ci0JCQkJLyogbW92ZSBmb3J3YXJkIG9ubHkgaWYgdGhlIG5ldyBzaXplIHdhcyBub24temVybyAqLwotCQkJCWlmIChuZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSAhPSAwKQotCQkJCQlpZiAoKytuZXdfYmlvc19lbnRyeSA+PSBFODIwTUFYKQotCQkJCQkJYnJlYWs7IAkvKiBubyBtb3JlIHNwYWNlIGxlZnQgZm9yIG5ldyBiaW9zIGVudHJpZXMgKi8KLQkJCX0KLQkJCWlmIChjdXJyZW50X3R5cGUgIT0gMCkJewotCQkJCW5ld19iaW9zW25ld19iaW9zX2VudHJ5XS5hZGRyID0gY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHI7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnR5cGUgPSBjdXJyZW50X3R5cGU7Ci0JCQkJbGFzdF9hZGRyPWNoYW5nZV9wb2ludFtjaGdpZHhdLT5hZGRyOwotCQkJfQotCQkJbGFzdF90eXBlID0gY3VycmVudF90eXBlOwotCQl9Ci0JfQotCW5ld19uciA9IG5ld19iaW9zX2VudHJ5OyAgIC8qIHJldGFpbiBjb3VudCBmb3IgbmV3IGJpb3MgZW50cmllcyAqLwotCi0JLyogY29weSBuZXcgYmlvcyBtYXBwaW5nIGludG8gb3JpZ2luYWwgbG9jYXRpb24gKi8KLQltZW1jcHkoYmlvc21hcCwgbmV3X2Jpb3MsIG5ld19ucipzaXplb2Yoc3RydWN0IGU4MjBlbnRyeSkpOwotCSpwbnJfbWFwID0gbmV3X25yOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBDb3B5IHRoZSBCSU9TIGU4MjAgbWFwIGludG8gYSBzYWZlIHBsYWNlLgotICoKLSAqIFNhbml0eS1jaGVjayBpdCB3aGlsZSB3ZSdyZSBhdCBpdC4uCi0gKgotICogSWYgd2UncmUgbHVja3kgYW5kIGxpdmUgb24gYSBtb2Rlcm4gc3lzdGVtLCB0aGUgc2V0dXAgY29kZQotICogd2lsbCBoYXZlIGdpdmVuIHVzIGEgbWVtb3J5IG1hcCB0aGF0IHdlIGNhbiB1c2UgdG8gcHJvcGVybHkKLSAqIHNldCB1cCBtZW1vcnkuICBJZiB3ZSBhcmVuJ3QsIHdlJ2xsIGZha2UgYSBtZW1vcnkgbWFwLgotICoKLSAqIFdlIGNoZWNrIHRvIHNlZSB0aGF0IHRoZSBtZW1vcnkgbWFwIGNvbnRhaW5zIGF0IGxlYXN0IDIgZWxlbWVudHMKLSAqIGJlZm9yZSB3ZSdsbCB1c2UgaXQsIGJlY2F1c2UgdGhlIGRldGVjdGlvbiBjb2RlIGluIHNldHVwLlMgbWF5Ci0gKiBub3QgYmUgcGVyZmVjdCBhbmQgbW9zdCBldmVyeSBQQyBrbm93biB0byBtYW4gaGFzIHR3byBtZW1vcnkKLSAqIHJlZ2lvbnM6IG9uZSBmcm9tIDAgdG8gNjQwaywgYW5kIG9uZSBmcm9tIDFtYiB1cC4gIChUaGUgSUJNCi0gKiB0aGlua3BhZCA1NjB4LCBmb3IgZXhhbXBsZSwgZG9lcyBub3QgY29vcGVyYXRlIHdpdGggdGhlIG1lbW9yeQotICogZGV0ZWN0aW9uIGNvZGUuKQotICovCi1pbnQgX19pbml0IGNvcHlfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG5yX21hcCkKLXsKLQkvKiBPbmx5IG9uZSBtZW1vcnkgcmVnaW9uIChvciBuZWdhdGl2ZSk/IElnbm9yZSBpdCAqLwotCWlmIChucl9tYXAgPCAyKQotCQlyZXR1cm4gLTE7Ci0KLQlkbyB7Ci0JCXU2NCBzdGFydCA9IGJpb3NtYXAtPmFkZHI7Ci0JCXU2NCBzaXplID0gYmlvc21hcC0+c2l6ZTsKLQkJdTY0IGVuZCA9IHN0YXJ0ICsgc2l6ZTsKLQkJdTMyIHR5cGUgPSBiaW9zbWFwLT50eXBlOwotCi0JCS8qIE92ZXJmbG93IGluIDY0IGJpdHM/IElnbm9yZSB0aGUgbWVtb3J5IG1hcC4gKi8KLQkJaWYgKHN0YXJ0ID4gZW5kKQotCQkJcmV0dXJuIC0xOwotCi0JCWFkZF9tZW1vcnlfcmVnaW9uKHN0YXJ0LCBzaXplLCB0eXBlKTsKLQl9IHdoaWxlIChiaW9zbWFwKyssIC0tbnJfbWFwKTsKLQotCXJldHVybiAwOwotfQotCi0vKgotICogRmluZCB0aGUgaGlnaGVzdCBwYWdlIGZyYW1lIG51bWJlciB3ZSBoYXZlIGF2YWlsYWJsZQotICovCi12b2lkIF9faW5pdCBwcm9wYWdhdGVfZTgyMF9tYXAodm9pZCkKLXsKLQlpbnQgaTsKLQotCW1heF9wZm4gPSAwOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJdW5zaWduZWQgbG9uZyBzdGFydCwgZW5kOwotCQkvKiBSQU0/ICovCi0JCWlmIChlODIwLm1hcFtpXS50eXBlICE9IEU4MjBfUkFNKQotCQkJY29udGludWU7Ci0JCXN0YXJ0ID0gUEZOX1VQKGU4MjAubWFwW2ldLmFkZHIpOwotCQllbmQgPSBQRk5fRE9XTihlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSk7Ci0JCWlmIChzdGFydCA+PSBlbmQpCi0JCQljb250aW51ZTsKLQkJaWYgKGVuZCA+IG1heF9wZm4pCi0JCQltYXhfcGZuID0gZW5kOwotCQltZW1vcnlfcHJlc2VudCgwLCBzdGFydCwgZW5kKTsKLQl9Ci19Ci0KLS8qCi0gKiBSZWdpc3RlciBmdWxseSBhdmFpbGFibGUgbG93IFJBTSBwYWdlcyB3aXRoIHRoZSBib290bWVtIGFsbG9jYXRvci4KLSAqLwotdm9pZCBfX2luaXQgcmVnaXN0ZXJfYm9vdG1lbV9sb3dfcGFnZXModW5zaWduZWQgbG9uZyBtYXhfbG93X3BmbikKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXVuc2lnbmVkIGxvbmcgY3Vycl9wZm4sIGxhc3RfcGZuLCBzaXplOwotCQkvKgotCQkgKiBSZXNlcnZlIHVzYWJsZSBsb3cgbWVtb3J5Ci0JCSAqLwotCQlpZiAoZTgyMC5tYXBbaV0udHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQkvKgotCQkgKiBXZSBhcmUgcm91bmRpbmcgdXAgdGhlIHN0YXJ0IGFkZHJlc3Mgb2YgdXNhYmxlIG1lbW9yeToKLQkJICovCi0JCWN1cnJfcGZuID0gUEZOX1VQKGU4MjAubWFwW2ldLmFkZHIpOwotCQlpZiAoY3Vycl9wZm4gPj0gbWF4X2xvd19wZm4pCi0JCQljb250aW51ZTsKLQkJLyoKLQkJICogLi4uIGFuZCBhdCB0aGUgZW5kIG9mIHRoZSB1c2FibGUgcmFuZ2UgZG93bndhcmRzOgotCQkgKi8KLQkJbGFzdF9wZm4gPSBQRk5fRE9XTihlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSk7Ci0KLQkJaWYgKGxhc3RfcGZuID4gbWF4X2xvd19wZm4pCi0JCQlsYXN0X3BmbiA9IG1heF9sb3dfcGZuOwotCi0JCS8qCi0JCSAqIC4uIGZpbmFsbHksIGRpZCBhbGwgdGhlIHJvdW5kaW5nIGFuZCBwbGF5aW5nCi0JCSAqIGFyb3VuZCBqdXN0IG1ha2UgdGhlIGFyZWEgZ28gYXdheT8KLQkJICovCi0JCWlmIChsYXN0X3BmbiA8PSBjdXJyX3BmbikKLQkJCWNvbnRpbnVlOwotCi0JCXNpemUgPSBsYXN0X3BmbiAtIGN1cnJfcGZuOwotCQlmcmVlX2Jvb3RtZW0oUEZOX1BIWVMoY3Vycl9wZm4pLCBQRk5fUEhZUyhzaXplKSk7Ci0JfQotfQotCi12b2lkIF9faW5pdCBlODIwX3JlZ2lzdGVyX21lbW9yeSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZ2Fwc3RhcnQsIGdhcHNpemUsIHJvdW5kOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBsYXN0OwotCWludCBpOwotCi0JLyoKLQkgKiBTZWFyY2ggZm9yIHRoZSBiaWdnZXN0IGdhcCBpbiB0aGUgbG93IDMyIGJpdHMgb2YgdGhlIGU4MjAKLQkgKiBtZW1vcnkgc3BhY2UuCi0JICovCi0JbGFzdCA9IDB4MTAwMDAwMDAwdWxsOwotCWdhcHN0YXJ0ID0gMHgxMDAwMDAwMDsKLQlnYXBzaXplID0gMHg0MDAwMDA7Ci0JaSA9IGU4MjAubnJfbWFwOwotCXdoaWxlICgtLWkgPj0gMCkgewotCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOwotCQl1bnNpZ25lZCBsb25nIGxvbmcgZW5kID0gc3RhcnQgKyBlODIwLm1hcFtpXS5zaXplOwotCi0JCS8qCi0JCSAqIFNpbmNlICJsYXN0IiBpcyBhdCBtb3N0IDRHQiwgd2Uga25vdyB3ZSdsbAotCQkgKiBmaXQgaW4gMzIgYml0cyBpZiB0aGlzIGNvbmRpdGlvbiBpcyB0cnVlCi0JCSAqLwotCQlpZiAobGFzdCA+IGVuZCkgewotCQkJdW5zaWduZWQgbG9uZyBnYXAgPSBsYXN0IC0gZW5kOwotCi0JCQlpZiAoZ2FwID4gZ2Fwc2l6ZSkgewotCQkJCWdhcHNpemUgPSBnYXA7Ci0JCQkJZ2Fwc3RhcnQgPSBlbmQ7Ci0JCQl9Ci0JCX0KLQkJaWYgKHN0YXJ0IDwgbGFzdCkKLQkJCWxhc3QgPSBzdGFydDsKLQl9Ci0KLQkvKgotCSAqIFNlZSBob3cgbXVjaCB3ZSB3YW50IHRvIHJvdW5kIHVwOiBzdGFydCBvZmYgd2l0aAotCSAqIHJvdW5kaW5nIHRvIHRoZSBuZXh0IDFNQiBhcmVhLgotCSAqLwotCXJvdW5kID0gMHgxMDAwMDA7Ci0Jd2hpbGUgKChnYXBzaXplID4+IDQpID4gcm91bmQpCi0JCXJvdW5kICs9IHJvdW5kOwotCS8qIEZ1biB3aXRoIHR3bydzIGNvbXBsZW1lbnQgKi8KLQlwY2lfbWVtX3N0YXJ0ID0gKGdhcHN0YXJ0ICsgcm91bmQpICYgLXJvdW5kOwotCi0JcHJpbnRrKCJBbGxvY2F0aW5nIFBDSSByZXNvdXJjZXMgc3RhcnRpbmcgYXQgJTA4bHggKGdhcDogJTA4bHg6JTA4bHgpXG4iLAotCQlwY2lfbWVtX3N0YXJ0LCBnYXBzdGFydCwgZ2Fwc2l6ZSk7Ci19Ci0KLXZvaWQgX19pbml0IHByaW50X21lbW9yeV9tYXAoY2hhciAqd2hvKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJcHJpbnRrKCIgJXM6ICUwMTZMeCAtICUwMTZMeCAiLCB3aG8sCi0JCQllODIwLm1hcFtpXS5hZGRyLAotCQkJZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemUpOwotCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKLQkJY2FzZSBFODIwX1JBTToJcHJpbnRrKCIodXNhYmxlKVxuIik7Ci0JCQkJYnJlYWs7Ci0JCWNhc2UgRTgyMF9SRVNFUlZFRDoKLQkJCQlwcmludGsoIihyZXNlcnZlZClcbiIpOwotCQkJCWJyZWFrOwotCQljYXNlIEU4MjBfQUNQSToKLQkJCQlwcmludGsoIihBQ1BJIGRhdGEpXG4iKTsKLQkJCQlicmVhazsKLQkJY2FzZSBFODIwX05WUzoKLQkJCQlwcmludGsoIihBQ1BJIE5WUylcbiIpOwotCQkJCWJyZWFrOwotCQlkZWZhdWx0OglwcmludGsoInR5cGUgJXVcbiIsIGU4MjAubWFwW2ldLnR5cGUpOwotCQkJCWJyZWFrOwotCQl9Ci0JfQotfQotCi12b2lkIF9faW5pdCBsaW1pdF9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBjdXJyZW50X2FkZHI7Ci0JaW50IGk7Ci0KLQlwcmludF9tZW1vcnlfbWFwKCJsaW1pdF9yZWdpb25zIHN0YXJ0Iik7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJY3VycmVudF9hZGRyID0gZTgyMC5tYXBbaV0uYWRkciArIGU4MjAubWFwW2ldLnNpemU7Ci0JCWlmIChjdXJyZW50X2FkZHIgPCBzaXplKQotCQkJY29udGludWU7Ci0KLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQotCQlpZiAoZTgyMC5tYXBbaV0uYWRkciA+PSBzaXplKSB7Ci0JCQkvKgotCQkJICogVGhpcyByZWdpb24gc3RhcnRzIHBhc3QgdGhlIGVuZCBvZiB0aGUKLQkJCSAqIHJlcXVlc3RlZCBzaXplLCBza2lwIGl0IGNvbXBsZXRlbHkuCi0JCQkgKi8KLQkJCWU4MjAubnJfbWFwID0gaTsKLQkJfSBlbHNlIHsKLQkJCWU4MjAubnJfbWFwID0gaSArIDE7Ci0JCQllODIwLm1hcFtpXS5zaXplIC09IGN1cnJlbnRfYWRkciAtIHNpemU7Ci0JCX0KLQkJcHJpbnRfbWVtb3J5X21hcCgibGltaXRfcmVnaW9ucyBlbmRmb3IiKTsKLQkJcmV0dXJuOwotCX0KLQlwcmludF9tZW1vcnlfbWFwKCJsaW1pdF9yZWdpb25zIGVuZGZ1bmMiKTsKLX0KLQotLyoKLSAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGFueSBwYXJ0IG9mIHRoZSByYW5nZSA8c3RhcnQsZW5kPiBpcyBtYXBwZWQKLSAqIHdpdGggdHlwZS4KLSAqLwotaW50Ci1lODIwX2FueV9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKQotewotCWludCBpOwotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCWNvbnN0IHN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCQlpZiAodHlwZSAmJiBlaS0+dHlwZSAhPSB0eXBlKQotCQkJY29udGludWU7Ci0JCWlmIChlaS0+YWRkciA+PSBlbmQgfHwgZWktPmFkZHIgKyBlaS0+c2l6ZSA8PSBzdGFydCkKLQkJCWNvbnRpbnVlOwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChlODIwX2FueV9tYXBwZWQpOwotCi0gLyoKLSAgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiB0aGUgZW50aXJlIHJhbmdlIDxzdGFydCxlbmQ+IGlzIG1hcHBlZCB3aXRoIHR5cGUuCi0gICoKLSAgKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG9ubHkgd29ya3MgY29ycmVjdCBpZiB0aGUgZTgyMCB0YWJsZSBpcyBzb3J0ZWQgYW5kCi0gICogbm90LW92ZXJsYXBwaW5nLCB3aGljaCBpcyB0aGUgY2FzZQotICAqLwotaW50IF9faW5pdAotZTgyMF9hbGxfbWFwcGVkKHVuc2lnbmVkIGxvbmcgcywgdW5zaWduZWQgbG9uZyBlLCB1bnNpZ25lZCB0eXBlKQotewotCXU2NCBzdGFydCA9IHM7Ci0JdTY0IGVuZCA9IGU7Ci0JaW50IGk7Ci0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCi0JCQljb250aW51ZTsKLQkJLyogaXMgdGhlIHJlZ2lvbiAocGFydCkgaW4gb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IHJlZ2lvbiA/Ki8KLQkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQotCQkJY29udGludWU7Ci0JCS8qIGlmIHRoZSByZWdpb24gaXMgYXQgdGhlIGJlZ2lubmluZyBvZiA8c3RhcnQsZW5kPiB3ZSBtb3ZlCi0JCSAqIHN0YXJ0IHRvIHRoZSBlbmQgb2YgdGhlIHJlZ2lvbiBzaW5jZSBpdCdzIG9rIHVudGlsIHRoZXJlCi0JCSAqLwotCQlpZiAoZWktPmFkZHIgPD0gc3RhcnQpCi0JCQlzdGFydCA9IGVpLT5hZGRyICsgZWktPnNpemU7Ci0JCS8qIGlmIHN0YXJ0IGlzIG5vdyBhdCBvciBiZXlvbmQgZW5kLCB3ZSdyZSBkb25lLCBmdWxsCi0JCSAqIGNvdmVyYWdlICovCi0JCWlmIChzdGFydCA+PSBlbmQpCi0JCQlyZXR1cm4gMTsgLyogd2UncmUgZG9uZSAqLwotCX0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtbWFwKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpZiAoc3RyY21wKGFyZywgImV4YWN0bWFwIikgPT0gMCkgewotI2lmZGVmIENPTkZJR19DUkFTSF9EVU1QCi0JCS8qIElmIHdlIGFyZSBkb2luZyBhIGNyYXNoIGR1bXAsIHdlCi0JCSAqIHN0aWxsIG5lZWQgdG8ga25vdyB0aGUgcmVhbCBtZW0KLQkJICogc2l6ZSBiZWZvcmUgb3JpZ2luYWwgbWVtb3J5IG1hcCBpcwotCQkgKiByZXNldC4KLQkJICovCi0JCXByb3BhZ2F0ZV9lODIwX21hcCgpOwotCQlzYXZlZF9tYXhfcGZuID0gbWF4X3BmbjsKLSNlbmRpZgotCQllODIwLm5yX21hcCA9IDA7Ci0JCXVzZXJfZGVmaW5lZF9tZW1tYXAgPSAxOwotCX0gZWxzZSB7Ci0JCS8qIElmIHRoZSB1c2VyIHNwZWNpZmllcyBtZW1vcnkgc2l6ZSwgd2UKLQkJICogbGltaXQgdGhlIEJJT1MtcHJvdmlkZWQgbWVtb3J5IG1hcCB0bwotCQkgKiB0aGF0IHNpemUuIGV4YWN0bWFwIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkKLQkJICogdGhlIGV4YWN0IG1hcC4gbWVtPW51bWJlciBjYW4gYmUgdXNlZCB0bwotCQkgKiB0cmltIHRoZSBleGlzdGluZyBtZW1vcnkgbWFwLgotCQkgKi8KLQkJdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0X2F0LCBtZW1fc2l6ZTsKLQotCQltZW1fc2l6ZSA9IG1lbXBhcnNlKGFyZywgJmFyZyk7Ci0JCWlmICgqYXJnID09ICdAJykgewotCQkJc3RhcnRfYXQgPSBtZW1wYXJzZShhcmcrMSwgJmFyZyk7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkFNKTsKLQkJfSBlbHNlIGlmICgqYXJnID09ICcjJykgewotCQkJc3RhcnRfYXQgPSBtZW1wYXJzZShhcmcrMSwgJmFyZyk7Ci0JCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfQUNQSSk7Ci0JCX0gZWxzZSBpZiAoKmFyZyA9PSAnJCcpIHsKLQkJCXN0YXJ0X2F0ID0gbWVtcGFyc2UoYXJnKzEsICZhcmcpOwotCQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX1JFU0VSVkVEKTsKLQkJfSBlbHNlIHsKLQkJCWxpbWl0X3JlZ2lvbnMobWVtX3NpemUpOwotCQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JCX0KLQl9Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgibWVtbWFwIiwgcGFyc2VfbWVtbWFwKTsKLXZvaWQgX19pbml0IHVwZGF0ZV9tZW1vcnlfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCi0JCQkJdW5zaWduZWQgbmV3X3R5cGUpCi17Ci0JaW50IGk7Ci0KLQlCVUdfT04ob2xkX3R5cGUgPT0gbmV3X3R5cGUpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXU2NCBmaW5hbF9zdGFydCwgZmluYWxfZW5kOwotCQlpZiAoZWktPnR5cGUgIT0gb2xkX3R5cGUpCi0JCQljb250aW51ZTsKLQkJLyogdG90YWxseSBjb3ZlcmVkPyAqLwotCQlpZiAoZWktPmFkZHIgPj0gc3RhcnQgJiYgZWktPnNpemUgPD0gc2l6ZSkgewotCQkJZWktPnR5cGUgPSBuZXdfdHlwZTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCS8qIHBhcnRpYWxseSBjb3ZlcmVkICovCi0JCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCBlaS0+YWRkcik7Ci0JCWZpbmFsX2VuZCA9IG1pbihzdGFydCArIHNpemUsIGVpLT5hZGRyICsgZWktPnNpemUpOwotCQlpZiAoZmluYWxfc3RhcnQgPj0gZmluYWxfZW5kKQotCQkJY29udGludWU7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKGZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSBmaW5hbF9zdGFydCwKLQkJCQkJIG5ld190eXBlKTsKLQl9Ci19Ci12b2lkIF9faW5pdCB1cGRhdGVfZTgyMCh2b2lkKQotewotCXU4IG5yX21hcDsKLQotCW5yX21hcCA9IGU4MjAubnJfbWFwOwotCWlmIChzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgJm5yX21hcCkpCi0JCXJldHVybjsKLQllODIwLm5yX21hcCA9IG5yX21hcDsKLQlwcmludGsoS0VSTl9JTkZPICJtb2RpZmllZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JcHJpbnRfbWVtb3J5X21hcCgibW9kaWZpZWQiKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvZTgyMF82NC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjQ0ODBjLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9lODIwXzY0LmMKKysrIC9kZXYvbnVsbApAQCAtMSw5NTIgKzAsMCBAQAotLyoKLSAqIEhhbmRsZSB0aGUgbWVtb3J5IG1hcC4KLSAqIFRoZSBmdW5jdGlvbnMgaGVyZSBkbyB0aGUgam9iIHVudGlsIGJvb3RtZW0gdGFrZXMgb3Zlci4KLSAqCi0gKiAgR2V0dGluZyBzYW5pdGl6ZV9lODIwX21hcCgpIGluIHN5bmMgd2l0aCBpMzg2IHZlcnNpb24gYnkgYXBwbHlpbmcgY2hhbmdlOgotICogIC0gIFByb3Zpc2lvbnMgZm9yIGVtcHR5IEU4MjAgbWVtb3J5IHJlZ2lvbnMgKHJlcG9ydGVkIGJ5IGNlcnRhaW4gQklPU2VzKS4KLSAqICAgICBBbGV4IEFjaGVuYmFjaCA8eGVsYUBzbGl0LmRlPiwgRGVjZW1iZXIgMjAwMi4KLSAqICBWZW5rYXRlc2ggUGFsbGlwYWRpIDx2ZW5rYXRlc2gucGFsbGlwYWRpQGludGVsLmNvbT4KLSAqCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+Ci0jaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KLSNpbmNsdWRlIDxsaW51eC9wZm4uaD4KLQotI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZTgyMC5oPgotI2luY2x1ZGUgPGFzbS9wcm90by5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9rZGVidWcuaD4KLSNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgotCi1zdHJ1Y3QgZTgyMG1hcCBlODIwOwotCi0vKgotICogUEZOIG9mIGxhc3QgbWVtb3J5IHBhZ2UuCi0gKi8KLXVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKLQotLyoKLSAqIGVuZF9wZm4gb25seSBpbmNsdWRlcyBSQU0sIHdoaWxlIG1heF9wZm5fbWFwcGVkIGluY2x1ZGVzIGFsbCBlODIwIGVudHJpZXMuCi0gKiBUaGUgZGlyZWN0IG1hcHBpbmcgZXh0ZW5kcyB0byBtYXhfcGZuX21hcHBlZCwgc28gdGhhdCB3ZSBjYW4gZGlyZWN0bHkgYWNjZXNzCi0gKiBhcGVydHVyZXMsIEFDUEkgYW5kIG90aGVyIHRhYmxlcyB3aXRob3V0IGhhdmluZyB0byBwbGF5IHdpdGggZml4bWFwcy4KLSAqLwotdW5zaWduZWQgbG9uZyBtYXhfcGZuX21hcHBlZDsKLQotLyoKLSAqIExhc3QgcGZuIHdoaWNoIHRoZSB1c2VyIHdhbnRzIHRvIHVzZS4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBlbmRfdXNlcl9wZm4gPSBNQVhNRU0+PlBBR0VfU0hJRlQ7Ci0KLS8qCi0gKiBFYXJseSByZXNlcnZlZCBtZW1vcnkgYXJlYXMuCi0gKi8KLSNkZWZpbmUgTUFYX0VBUkxZX1JFUyAyMAotCi1zdHJ1Y3QgZWFybHlfcmVzIHsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7Ci0JY2hhciBuYW1lWzE2XTsKLX07Ci1zdGF0aWMgc3RydWN0IGVhcmx5X3JlcyBlYXJseV9yZXNbTUFYX0VBUkxZX1JFU10gX19pbml0ZGF0YSA9IHsKLQl7IDAsIFBBR0VfU0laRSwgIkJJT1MgZGF0YSBwYWdlIiB9LAkJCS8qIEJJT1MgZGF0YSBwYWdlICovCi0jaWZkZWYgQ09ORklHX1g4Nl9UUkFNUE9MSU5FCi0JeyBUUkFNUE9MSU5FX0JBU0UsIFRSQU1QT0xJTkVfQkFTRSArIDIgKiBQQUdFX1NJWkUsICJUUkFNUE9MSU5FIiB9LAotI2VuZGlmCi0Je30KLX07Ci0KLXZvaWQgX19pbml0IHJlc2VydmVfZWFybHkodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIGNoYXIgKm5hbWUpCi17Ci0JaW50IGk7Ci0Jc3RydWN0IGVhcmx5X3JlcyAqcjsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJciA9ICZlYXJseV9yZXNbaV07Ci0JCWlmIChlbmQgPiByLT5zdGFydCAmJiBzdGFydCA8IHItPmVuZCkKLQkJCXBhbmljKCJPdmVybGFwcGluZyBlYXJseSByZXNlcnZhdGlvbnMgJWx4LSVseCAlcyB0byAlbHgtJWx4ICVzXG4iLAotCQkJICAgICAgc3RhcnQsIGVuZCAtIDEsIG5hbWU/bmFtZToiIiwgci0+c3RhcnQsIHItPmVuZCAtIDEsIHItPm5hbWUpOwotCX0KLQlpZiAoaSA+PSBNQVhfRUFSTFlfUkVTKQotCQlwYW5pYygiVG9vIG1hbnkgZWFybHkgcmVzZXJ2YXRpb25zIik7Ci0JciA9ICZlYXJseV9yZXNbaV07Ci0Jci0+c3RhcnQgPSBzdGFydDsKLQlyLT5lbmQgPSBlbmQ7Ci0JaWYgKG5hbWUpCi0JCXN0cm5jcHkoci0+bmFtZSwgbmFtZSwgc2l6ZW9mKHItPm5hbWUpIC0gMSk7Ci19Ci0KLXZvaWQgX19pbml0IGZyZWVfZWFybHkodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCi17Ci0Jc3RydWN0IGVhcmx5X3JlcyAqcjsKLQlpbnQgaSwgajsKLQotCWZvciAoaSA9IDA7IGkgPCBNQVhfRUFSTFlfUkVTICYmIGVhcmx5X3Jlc1tpXS5lbmQ7IGkrKykgewotCQlyID0gJmVhcmx5X3Jlc1tpXTsKLQkJaWYgKHN0YXJ0ID09IHItPnN0YXJ0ICYmIGVuZCA9PSByLT5lbmQpCi0JCQlicmVhazsKLQl9Ci0JaWYgKGkgPj0gTUFYX0VBUkxZX1JFUyB8fCAhZWFybHlfcmVzW2ldLmVuZCkKLQkJcGFuaWMoImZyZWVfZWFybHkgb24gbm90IHJlc2VydmVkIGFyZWE6ICVseC0lbHghIiwgc3RhcnQsIGVuZCk7Ci0KLQlmb3IgKGogPSBpICsgMTsgaiA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2pdLmVuZDsgaisrKQotCQk7Ci0KLQltZW1tb3ZlKCZlYXJseV9yZXNbaV0sICZlYXJseV9yZXNbaSArIDFdLAotCSAgICAgICAoaiAtIDEgLSBpKSAqIHNpemVvZihzdHJ1Y3QgZWFybHlfcmVzKSk7Ci0KLQllYXJseV9yZXNbaiAtIDFdLmVuZCA9IDA7Ci19Ci0KLXZvaWQgX19pbml0IGVhcmx5X3Jlc190b19ib290bWVtKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQotewotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07Ci0JCWZpbmFsX3N0YXJ0ID0gbWF4KHN0YXJ0LCByLT5zdGFydCk7Ci0JCWZpbmFsX2VuZCA9IG1pbihlbmQsIHItPmVuZCk7Ci0JCWlmIChmaW5hbF9zdGFydCA+PSBmaW5hbF9lbmQpCi0JCQljb250aW51ZTsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiICBlYXJseSByZXM6ICVkIFslbHgtJWx4XSAlc1xuIiwgaSwKLQkJCWZpbmFsX3N0YXJ0LCBmaW5hbF9lbmQgLSAxLCByLT5uYW1lKTsKLQkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWMoZmluYWxfc3RhcnQsIGZpbmFsX2VuZCAtIGZpbmFsX3N0YXJ0KTsKLQl9Ci19Ci0KLS8qIENoZWNrIGZvciBhbHJlYWR5IHJlc2VydmVkIGFyZWFzICovCi1zdGF0aWMgaW5saW5lIGludCBfX2luaXQKLWJhZF9hZGRyKHVuc2lnbmVkIGxvbmcgKmFkZHJwLCB1bnNpZ25lZCBsb25nIHNpemUsIHVuc2lnbmVkIGxvbmcgYWxpZ24pCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBhZGRyID0gKmFkZHJwLCBsYXN0OwotCWludCBjaGFuZ2VkID0gMDsKLWFnYWluOgotCWxhc3QgPSBhZGRyICsgc2l6ZTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX0VBUkxZX1JFUyAmJiBlYXJseV9yZXNbaV0uZW5kOyBpKyspIHsKLQkJc3RydWN0IGVhcmx5X3JlcyAqciA9ICZlYXJseV9yZXNbaV07Ci0JCWlmIChsYXN0ID49IHItPnN0YXJ0ICYmIGFkZHIgPCByLT5lbmQpIHsKLQkJCSphZGRycCA9IGFkZHIgPSByb3VuZF91cChyLT5lbmQsIGFsaWduKTsKLQkJCWNoYW5nZWQgPSAxOwotCQkJZ290byBhZ2FpbjsKLQkJfQotCX0KLQlyZXR1cm4gY2hhbmdlZDsKLX0KLQotLyogQ2hlY2sgZm9yIGFscmVhZHkgcmVzZXJ2ZWQgYXJlYXMgKi8KLXN0YXRpYyBpbmxpbmUgaW50IF9faW5pdAotYmFkX2FkZHJfc2l6ZSh1bnNpZ25lZCBsb25nICphZGRycCwgdW5zaWduZWQgbG9uZyAqc2l6ZXAsIHVuc2lnbmVkIGxvbmcgYWxpZ24pCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBhZGRyID0gKmFkZHJwLCBsYXN0OwotCXVuc2lnbmVkIGxvbmcgc2l6ZSA9ICpzaXplcDsKLQlpbnQgY2hhbmdlZCA9IDA7Ci1hZ2FpbjoKLQlsYXN0ID0gYWRkciArIHNpemU7Ci0JZm9yIChpID0gMDsgaSA8IE1BWF9FQVJMWV9SRVMgJiYgZWFybHlfcmVzW2ldLmVuZDsgaSsrKSB7Ci0JCXN0cnVjdCBlYXJseV9yZXMgKnIgPSAmZWFybHlfcmVzW2ldOwotCQlpZiAobGFzdCA+IHItPnN0YXJ0ICYmIGFkZHIgPCByLT5zdGFydCkgewotCQkJc2l6ZSA9IHItPnN0YXJ0IC0gYWRkcjsKLQkJCWNoYW5nZWQgPSAxOwotCQkJZ290byBhZ2FpbjsKLQkJfQotCQlpZiAobGFzdCA+IHItPmVuZCAmJiBhZGRyIDwgci0+ZW5kKSB7Ci0JCQlhZGRyID0gcm91bmRfdXAoci0+ZW5kLCBhbGlnbik7Ci0JCQlzaXplID0gbGFzdCAtIGFkZHI7Ci0JCQljaGFuZ2VkID0gMTsKLQkJCWdvdG8gYWdhaW47Ci0JCX0KLQkJaWYgKGxhc3QgPD0gci0+ZW5kICYmIGFkZHIgPj0gci0+c3RhcnQpIHsKLQkJCSgqc2l6ZXApKys7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCX0KLQlpZiAoY2hhbmdlZCkgewotCQkqYWRkcnAgPSBhZGRyOwotCQkqc2l6ZXAgPSBzaXplOwotCX0KLQlyZXR1cm4gY2hhbmdlZDsKLX0KLS8qCi0gKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBpZiBhbnkgcGFydCBvZiB0aGUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkCi0gKiB3aXRoIHR5cGUuCi0gKi8KLWludAotZTgyMF9hbnlfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLCB1bnNpZ25lZCB0eXBlKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0KLQkJaWYgKHR5cGUgJiYgZWktPnR5cGUgIT0gdHlwZSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoZWktPmFkZHIgPj0gZW5kIHx8IGVpLT5hZGRyICsgZWktPnNpemUgPD0gc3RhcnQpCi0JCQljb250aW51ZTsKLQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoZTgyMF9hbnlfbWFwcGVkKTsKLQotLyoKLSAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIHRoZSBlbnRpcmUgcmFuZ2UgPHN0YXJ0LGVuZD4gaXMgbWFwcGVkIHdpdGggdHlwZS4KLSAqCi0gKiBOb3RlOiB0aGlzIGZ1bmN0aW9uIG9ubHkgd29ya3MgY29ycmVjdCBpZiB0aGUgZTgyMCB0YWJsZSBpcyBzb3J0ZWQgYW5kCi0gKiBub3Qtb3ZlcmxhcHBpbmcsIHdoaWNoIGlzIHRoZSBjYXNlCi0gKi8KLWludCBfX2luaXQgZTgyMF9hbGxfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJICAgdW5zaWduZWQgdHlwZSkKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCi0JCWlmICh0eXBlICYmIGVpLT50eXBlICE9IHR5cGUpCi0JCQljb250aW51ZTsKLQkJLyogaXMgdGhlIHJlZ2lvbiAocGFydCkgaW4gb3ZlcmxhcCB3aXRoIHRoZSBjdXJyZW50IHJlZ2lvbiA/Ki8KLQkJaWYgKGVpLT5hZGRyID49IGVuZCB8fCBlaS0+YWRkciArIGVpLT5zaXplIDw9IHN0YXJ0KQotCQkJY29udGludWU7Ci0KLQkJLyogaWYgdGhlIHJlZ2lvbiBpcyBhdCB0aGUgYmVnaW5uaW5nIG9mIDxzdGFydCxlbmQ+IHdlIG1vdmUKLQkJICogc3RhcnQgdG8gdGhlIGVuZCBvZiB0aGUgcmVnaW9uIHNpbmNlIGl0J3Mgb2sgdW50aWwgdGhlcmUKLQkJICovCi0JCWlmIChlaS0+YWRkciA8PSBzdGFydCkKLQkJCXN0YXJ0ID0gZWktPmFkZHIgKyBlaS0+c2l6ZTsKLQkJLyoKLQkJICogaWYgc3RhcnQgaXMgbm93IGF0IG9yIGJleW9uZCBlbmQsIHdlJ3JlIGRvbmUsIGZ1bGwKLQkJICogY292ZXJhZ2UKLQkJICovCi0JCWlmIChzdGFydCA+PSBlbmQpCi0JCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBGaW5kIGEgZnJlZSBhcmVhIHdpdGggc3BlY2lmaWVkIGFsaWdubWVudCBpbiBhIHNwZWNpZmljIHJhbmdlLgotICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBmaW5kX2U4MjBfYXJlYSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCQkgICAgdW5zaWduZWQgbG9uZyBzaXplLCB1bnNpZ25lZCBsb25nIGFsaWduKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJc3RydWN0IGU4MjBlbnRyeSAqZWkgPSAmZTgyMC5tYXBbaV07Ci0JCXVuc2lnbmVkIGxvbmcgYWRkciwgbGFzdDsKLQkJdW5zaWduZWQgbG9uZyBlaV9sYXN0OwotCi0JCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKLQkJCWNvbnRpbnVlOwotCQlhZGRyID0gcm91bmRfdXAoZWktPmFkZHIsIGFsaWduKTsKLQkJZWlfbGFzdCA9IGVpLT5hZGRyICsgZWktPnNpemU7Ci0JCWlmIChhZGRyIDwgc3RhcnQpCi0JCQlhZGRyID0gcm91bmRfdXAoc3RhcnQsIGFsaWduKTsKLQkJaWYgKGFkZHIgPj0gZWlfbGFzdCkKLQkJCWNvbnRpbnVlOwotCQl3aGlsZSAoYmFkX2FkZHIoJmFkZHIsIHNpemUsIGFsaWduKSAmJiBhZGRyK3NpemUgPD0gZWlfbGFzdCkKLQkJCTsKLQkJbGFzdCA9IGFkZHIgKyBzaXplOwotCQlpZiAobGFzdCA+IGVpX2xhc3QpCi0JCQljb250aW51ZTsKLQkJaWYgKGxhc3QgPiBlbmQpCi0JCQljb250aW51ZTsKLQkJcmV0dXJuIGFkZHI7Ci0JfQotCXJldHVybiAtMVVMOwotfQotCi0vKgotICogRmluZCBuZXh0IGZyZWUgcmFuZ2UgYWZ0ZXIgKnN0YXJ0Ci0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfZTgyMF9hcmVhX3NpemUodW5zaWduZWQgbG9uZyBzdGFydCwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgKnNpemVwLAotCQkJCQkgdW5zaWduZWQgbG9uZyBhbGlnbikKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCQl1bnNpZ25lZCBsb25nIGFkZHIsIGxhc3Q7Ci0JCXVuc2lnbmVkIGxvbmcgZWlfbGFzdDsKLQotCQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJYWRkciA9IHJvdW5kX3VwKGVpLT5hZGRyLCBhbGlnbik7Ci0JCWVpX2xhc3QgPSBlaS0+YWRkciArIGVpLT5zaXplOwotCQlpZiAoYWRkciA8IHN0YXJ0KQotCQkJYWRkciA9IHJvdW5kX3VwKHN0YXJ0LCBhbGlnbik7Ci0JCWlmIChhZGRyID49IGVpX2xhc3QpCi0JCQljb250aW51ZTsKLQkJKnNpemVwID0gZWlfbGFzdCAtIGFkZHI7Ci0JCXdoaWxlIChiYWRfYWRkcl9zaXplKCZhZGRyLCBzaXplcCwgYWxpZ24pICYmCi0JCQlhZGRyICsgKnNpemVwIDw9IGVpX2xhc3QpCi0JCQk7Ci0JCWxhc3QgPSBhZGRyICsgKnNpemVwOwotCQlpZiAobGFzdCA+IGVpX2xhc3QpCi0JCQljb250aW51ZTsKLQkJcmV0dXJuIGFkZHI7Ci0JfQotCXJldHVybiAtMVVMOwotCi19Ci0vKgotICogRmluZCB0aGUgaGlnaGVzdCBwYWdlIGZyYW1lIG51bWJlciB3ZSBoYXZlIGF2YWlsYWJsZQotICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2VuZF9vZl9yYW0odm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGVuZF9wZm47Ci0KLQllbmRfcGZuID0gZmluZF9tYXhfcGZuX3dpdGhfYWN0aXZlX3JlZ2lvbnMoKTsKLQotCWlmIChlbmRfcGZuID4gbWF4X3Bmbl9tYXBwZWQpCi0JCW1heF9wZm5fbWFwcGVkID0gZW5kX3BmbjsKLQlpZiAobWF4X3Bmbl9tYXBwZWQgPiBNQVhNRU0+PlBBR0VfU0hJRlQpCi0JCW1heF9wZm5fbWFwcGVkID0gTUFYTUVNPj5QQUdFX1NISUZUOwotCWlmIChlbmRfcGZuID4gZW5kX3VzZXJfcGZuKQotCQllbmRfcGZuID0gZW5kX3VzZXJfcGZuOwotCWlmIChlbmRfcGZuID4gbWF4X3Bmbl9tYXBwZWQpCi0JCWVuZF9wZm4gPSBtYXhfcGZuX21hcHBlZDsKLQotCXByaW50ayhLRVJOX0lORk8gIm1heF9wZm5fbWFwcGVkID0gJWx1XG4iLCBtYXhfcGZuX21hcHBlZCk7Ci0JcmV0dXJuIGVuZF9wZm47Ci19Ci0KLS8qCi0gKiBNYXJrIGU4MjAgcmVzZXJ2ZWQgYXJlYXMgYXMgYnVzeSBmb3IgdGhlIHJlc291cmNlIG1hbmFnZXIuCi0gKi8KLXZvaWQgX19pbml0IGU4MjBfcmVzZXJ2ZV9yZXNvdXJjZXModm9pZCkKLXsKLQlpbnQgaTsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKLQotCXJlcyA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemVvZihzdHJ1Y3QgcmVzb3VyY2UpICogZTgyMC5ucl9tYXApOwotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN3aXRjaCAoZTgyMC5tYXBbaV0udHlwZSkgewotCQljYXNlIEU4MjBfUkFNOglyZXMtPm5hbWUgPSAiU3lzdGVtIFJBTSI7IGJyZWFrOwotCQljYXNlIEU4MjBfQUNQSToJcmVzLT5uYW1lID0gIkFDUEkgVGFibGVzIjsgYnJlYWs7Ci0JCWNhc2UgRTgyMF9OVlM6CXJlcy0+bmFtZSA9ICJBQ1BJIE5vbi12b2xhdGlsZSBTdG9yYWdlIjsgYnJlYWs7Ci0JCWRlZmF1bHQ6CXJlcy0+bmFtZSA9ICJyZXNlcnZlZCI7Ci0JCX0KLQkJcmVzLT5zdGFydCA9IGU4MjAubWFwW2ldLmFkZHI7Ci0JCXJlcy0+ZW5kID0gcmVzLT5zdGFydCArIGU4MjAubWFwW2ldLnNpemUgLSAxOwotCQlyZXMtPmZsYWdzID0gSU9SRVNPVVJDRV9NRU0gfCBJT1JFU09VUkNFX0JVU1k7Ci0JCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsIHJlcyk7Ci0JCXJlcysrOwotCX0KLX0KLQotLyoKLSAqIEZpbmQgdGhlIHJhbmdlcyBvZiBwaHlzaWNhbCBhZGRyZXNzZXMgdGhhdCBkbyBub3QgY29ycmVzcG9uZCB0bwotICogZTgyMCBSQU0gYXJlYXMgYW5kIG1hcmsgdGhlIGNvcnJlc3BvbmRpbmcgcGFnZXMgYXMgbm9zYXZlIGZvciBzb2Z0d2FyZQotICogc3VzcGVuZCBhbmQgc3VzcGVuZCB0byBSQU0uCi0gKgotICogVGhpcyBmdW5jdGlvbiByZXF1aXJlcyB0aGUgZTgyMCBtYXAgdG8gYmUgc29ydGVkIGFuZCB3aXRob3V0IGFueQotICogb3ZlcmxhcHBpbmcgZW50cmllcyBhbmQgYXNzdW1lcyB0aGUgZmlyc3QgZTgyMCBhcmVhIHRvIGJlIFJBTS4KLSAqLwotdm9pZCBfX2luaXQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpCi17Ci0JaW50IGk7Ci0JdW5zaWduZWQgbG9uZyBwYWRkcjsKLQotCXBhZGRyID0gcm91bmRfZG93bihlODIwLm1hcFswXS5hZGRyICsgZTgyMC5tYXBbMF0uc2l6ZSwgUEFHRV9TSVpFKTsKLQlmb3IgKGkgPSAxOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICplaSA9ICZlODIwLm1hcFtpXTsKLQotCQlpZiAocGFkZHIgPCBlaS0+YWRkcikKLQkJCXJlZ2lzdGVyX25vc2F2ZV9yZWdpb24oUEZOX0RPV04ocGFkZHIpLAotCQkJCQkJUEZOX1VQKGVpLT5hZGRyKSk7Ci0KLQkJcGFkZHIgPSByb3VuZF9kb3duKGVpLT5hZGRyICsgZWktPnNpemUsIFBBR0VfU0laRSk7Ci0JCWlmIChlaS0+dHlwZSAhPSBFODIwX1JBTSkKLQkJCXJlZ2lzdGVyX25vc2F2ZV9yZWdpb24oUEZOX1VQKGVpLT5hZGRyKSwKLQkJCQkJCVBGTl9ET1dOKHBhZGRyKSk7Ci0KLQkJaWYgKHBhZGRyID49IChlbmRfcGZuIDw8IFBBR0VfU0hJRlQpKQotCQkJYnJlYWs7Ci0JfQotfQotCi0vKgotICogRmluZHMgYW4gYWN0aXZlIHJlZ2lvbiBpbiB0aGUgYWRkcmVzcyByYW5nZSBmcm9tIHN0YXJ0X3BmbiB0byBlbmRfcGZuIGFuZAotICogcmV0dXJucyBpdHMgcmFuZ2UgaW4gZWlfc3RhcnRwZm4gYW5kIGVpX2VuZHBmbiBmb3IgdGhlIGU4MjAgZW50cnkuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKGNvbnN0IHN0cnVjdCBlODIwZW50cnkgKmVpLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgZW5kX3BmbiwKLQkJCQkJICB1bnNpZ25lZCBsb25nICplaV9zdGFydHBmbiwKLQkJCQkJICB1bnNpZ25lZCBsb25nICplaV9lbmRwZm4pCi17Ci0JKmVpX3N0YXJ0cGZuID0gcm91bmRfdXAoZWktPmFkZHIsIFBBR0VfU0laRSkgPj4gUEFHRV9TSElGVDsKLQkqZWlfZW5kcGZuID0gcm91bmRfZG93bihlaS0+YWRkciArIGVpLT5zaXplLCBQQUdFX1NJWkUpID4+IFBBR0VfU0hJRlQ7Ci0KLQkvKiBTa2lwIG1hcCBlbnRyaWVzIHNtYWxsZXIgdGhhbiBhIHBhZ2UgKi8KLQlpZiAoKmVpX3N0YXJ0cGZuID49ICplaV9lbmRwZm4pCi0JCXJldHVybiAwOwotCi0JLyogQ2hlY2sgaWYgbWF4X3Bmbl9tYXBwZWQgc2hvdWxkIGJlIHVwZGF0ZWQgKi8KLQlpZiAoZWktPnR5cGUgIT0gRTgyMF9SQU0gJiYgKmVpX2VuZHBmbiA+IG1heF9wZm5fbWFwcGVkKQotCQltYXhfcGZuX21hcHBlZCA9ICplaV9lbmRwZm47Ci0KLQkvKiBTa2lwIGlmIG1hcCBpcyBvdXRzaWRlIHRoZSBub2RlICovCi0JaWYgKGVpLT50eXBlICE9IEU4MjBfUkFNIHx8ICplaV9lbmRwZm4gPD0gc3RhcnRfcGZuIHx8Ci0JCQkJICAgICplaV9zdGFydHBmbiA+PSBlbmRfcGZuKQotCQlyZXR1cm4gMDsKLQotCS8qIENoZWNrIGZvciBvdmVybGFwcyAqLwotCWlmICgqZWlfc3RhcnRwZm4gPCBzdGFydF9wZm4pCi0JCSplaV9zdGFydHBmbiA9IHN0YXJ0X3BmbjsKLQlpZiAoKmVpX2VuZHBmbiA+IGVuZF9wZm4pCi0JCSplaV9lbmRwZm4gPSBlbmRfcGZuOwotCi0JLyogT2JleSBlbmRfdXNlcl9wZm4gdG8gc2F2ZSBvbiBtZW1tYXAgKi8KLQlpZiAoKmVpX3N0YXJ0cGZuID49IGVuZF91c2VyX3BmbikKLQkJcmV0dXJuIDA7Ci0JaWYgKCplaV9lbmRwZm4gPiBlbmRfdXNlcl9wZm4pCi0JCSplaV9lbmRwZm4gPSBlbmRfdXNlcl9wZm47Ci0KLQlyZXR1cm4gMTsKLX0KLQotLyogV2FsayB0aGUgZTgyMCBtYXAgYW5kIHJlZ2lzdGVyIGFjdGl2ZSByZWdpb25zIHdpdGhpbiBhIG5vZGUgKi8KLXZvaWQgX19pbml0Ci1lODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAotCQkJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3BmbikKLXsKLQl1bnNpZ25lZCBsb25nIGVpX3N0YXJ0cGZuOwotCXVuc2lnbmVkIGxvbmcgZWlfZW5kcGZuOwotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspCi0JCWlmIChlODIwX2ZpbmRfYWN0aXZlX3JlZ2lvbigmZTgyMC5tYXBbaV0sCi0JCQkJCSAgICBzdGFydF9wZm4sIGVuZF9wZm4sCi0JCQkJCSAgICAmZWlfc3RhcnRwZm4sICZlaV9lbmRwZm4pKQotCQkJYWRkX2FjdGl2ZV9yYW5nZShuaWQsIGVpX3N0YXJ0cGZuLCBlaV9lbmRwZm4pOwotfQotCi0vKgotICogQWRkIGEgbWVtb3J5IHJlZ2lvbiB0byB0aGUga2VybmVsIGU4MjAgbWFwLgotICovCi12b2lkIF9faW5pdCBhZGRfbWVtb3J5X3JlZ2lvbih1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUsIGludCB0eXBlKQotewotCWludCB4ID0gZTgyMC5ucl9tYXA7Ci0KLQlpZiAoeCA9PSBFODIwTUFYKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiT29vcHMhIFRvbyBtYW55IGVudHJpZXMgaW4gdGhlIG1lbW9yeSBtYXAhXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCWU4MjAubWFwW3hdLmFkZHIgPSBzdGFydDsKLQllODIwLm1hcFt4XS5zaXplID0gc2l6ZTsKLQllODIwLm1hcFt4XS50eXBlID0gdHlwZTsKLQllODIwLm5yX21hcCsrOwotfQotCi0vKgotICogRmluZCB0aGUgaG9sZSBzaXplIChpbiBieXRlcykgaW4gdGhlIG1lbW9yeSByYW5nZS4KLSAqIEBzdGFydDogc3RhcnRpbmcgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIHRvIHNjYW4KLSAqIEBlbmQ6IGVuZGluZyBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UgdG8gc2NhbgotICovCi11bnNpZ25lZCBsb25nIF9faW5pdCBlODIwX2hvbGVfc2l6ZSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCkKLXsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7Ci0JdW5zaWduZWQgbG9uZyBlbmRfcGZuID0gZW5kID4+IFBBR0VfU0hJRlQ7Ci0JdW5zaWduZWQgbG9uZyBlaV9zdGFydHBmbiwgZWlfZW5kcGZuLCByYW0gPSAwOwotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJaWYgKGU4MjBfZmluZF9hY3RpdmVfcmVnaW9uKCZlODIwLm1hcFtpXSwKLQkJCQkJICAgIHN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJCQkJICAgICZlaV9zdGFydHBmbiwgJmVpX2VuZHBmbikpCi0JCQlyYW0gKz0gZWlfZW5kcGZuIC0gZWlfc3RhcnRwZm47Ci0JfQotCXJldHVybiBlbmQgLSBzdGFydCAtIChyYW0gPDwgUEFHRV9TSElGVCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBlODIwX3ByaW50X21hcChjaGFyICp3aG8pCi17Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkrKykgewotCQlwcmludGsoS0VSTl9JTkZPICIgJXM6ICUwMTZMeCAtICUwMTZMeCAiLCB3aG8sCi0JCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSBlODIwLm1hcFtpXS5hZGRyLAotCQkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykKLQkJICAgICAgIChlODIwLm1hcFtpXS5hZGRyICsgZTgyMC5tYXBbaV0uc2l6ZSkpOwotCQlzd2l0Y2ggKGU4MjAubWFwW2ldLnR5cGUpIHsKLQkJY2FzZSBFODIwX1JBTToKLQkJCXByaW50ayhLRVJOX0NPTlQgIih1c2FibGUpXG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIEU4MjBfUkVTRVJWRUQ6Ci0JCQlwcmludGsoS0VSTl9DT05UICIocmVzZXJ2ZWQpXG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIEU4MjBfQUNQSToKLQkJCXByaW50ayhLRVJOX0NPTlQgIihBQ1BJIGRhdGEpXG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIEU4MjBfTlZTOgotCQkJcHJpbnRrKEtFUk5fQ09OVCAiKEFDUEkgTlZTKVxuIik7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXByaW50ayhLRVJOX0NPTlQgInR5cGUgJXVcbiIsIGU4MjAubWFwW2ldLnR5cGUpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci19Ci0KLS8qCi0gKiBTYW5pdGl6ZSB0aGUgQklPUyBlODIwIG1hcC4KLSAqCi0gKiBTb21lIGU4MjAgcmVzcG9uc2VzIGluY2x1ZGUgb3ZlcmxhcHBpbmcgZW50cmllcy4gVGhlIGZvbGxvd2luZwotICogcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGU4MjAgbWFwIHdpdGggYSBuZXcgb25lLCByZW1vdmluZyBvdmVybGFwcy4KLSAqCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHNhbml0aXplX2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGNoYXIgKnBucl9tYXApCi17Ci0Jc3RydWN0IGNoYW5nZV9tZW1iZXIgewotCQlzdHJ1Y3QgZTgyMGVudHJ5ICpwYmlvczsgLyogcG9pbnRlciB0byBvcmlnaW5hbCBiaW9zIGVudHJ5ICovCi0JCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyOyAvKiBhZGRyZXNzIGZvciB0aGlzIGNoYW5nZSBwb2ludCAqLwotCX07Ci0Jc3RhdGljIHN0cnVjdCBjaGFuZ2VfbWVtYmVyIGNoYW5nZV9wb2ludF9saXN0WzIqRTgyME1BWF0gX19pbml0ZGF0YTsKLQlzdGF0aWMgc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV9wb2ludFsyKkU4MjBNQVhdIF9faW5pdGRhdGE7Ci0Jc3RhdGljIHN0cnVjdCBlODIwZW50cnkgKm92ZXJsYXBfbGlzdFtFODIwTUFYXSBfX2luaXRkYXRhOwotCXN0YXRpYyBzdHJ1Y3QgZTgyMGVudHJ5IG5ld19iaW9zW0U4MjBNQVhdIF9faW5pdGRhdGE7Ci0Jc3RydWN0IGNoYW5nZV9tZW1iZXIgKmNoYW5nZV90bXA7Ci0JdW5zaWduZWQgbG9uZyBjdXJyZW50X3R5cGUsIGxhc3RfdHlwZTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGFzdF9hZGRyOwotCWludCBjaGdpZHgsIHN0aWxsX2NoYW5naW5nOwotCWludCBvdmVybGFwX2VudHJpZXM7Ci0JaW50IG5ld19iaW9zX2VudHJ5OwotCWludCBvbGRfbnIsIG5ld19uciwgY2hnX25yOwotCWludCBpOwotCi0JLyoKLQkJVmlzdWFsbHkgd2UncmUgcGVyZm9ybWluZyB0aGUgZm9sbG93aW5nCi0JCSgxLDIsMyw0ID0gbWVtb3J5IHR5cGVzKS4uLgotCi0JCVNhbXBsZSBtZW1vcnkgbWFwICh3L292ZXJsYXBzKToKLQkJICAgX19fXzIyX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCQkgICBfX19fMTExMV9fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIDExMTExMTExX19fX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fXzMzX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX18zMzMzM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fXzIyX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fX19fXzIyMjJfCi0JCSAgIF9fX19fX19fXzExMTExMTExMV9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fX18xMV8KLQkJICAgX19fX19fX19fX19fX19fX180X19fX19fCi0KLQkJU2FuaXRpemVkIGVxdWl2YWxlbnQgKG5vIG92ZXJsYXApOgotCQkgICAxX19fX19fX19fX19fX19fX19fX19fX18KLQkJICAgXzQ0X19fX19fX19fX19fX19fX19fX19fCi0JCSAgIF9fXzFfX19fX19fX19fX19fX19fX19fXwotCQkgICBfX19fMjJfX19fX19fX19fX19fX19fX18KLQkJICAgX19fX19fMTFfX19fX19fX19fX19fX19fCi0JCSAgIF9fX19fX19fXzFfX19fX19fX19fX19fXwotCQkgICBfX19fX19fX19fM19fX19fX19fX19fX18KLQkJICAgX19fX19fX19fX180NF9fX19fX19fX19fCi0JCSAgIF9fX19fX19fX19fX18zM19fX19fX19fXwotCQkgICBfX19fX19fX19fX19fX18yX19fX19fX18KLQkJICAgX19fX19fX19fX19fX19fXzFfX19fX19fCi0JCSAgIF9fX19fX19fX19fX19fX19fNF9fX19fXwotCQkgICBfX19fX19fX19fX19fX19fX19fMl9fX18KLQkJICAgX19fX19fX19fX19fX19fX19fX18zM19fCi0JCSAgIF9fX19fX19fX19fX19fX19fX19fX180XwotCSovCi0KLQkvKiBpZiB0aGVyZSdzIG9ubHkgb25lIG1lbW9yeSByZWdpb24sIGRvbid0IGJvdGhlciAqLwotCWlmICgqcG5yX21hcCA8IDIpCi0JCXJldHVybiAtMTsKLQotCW9sZF9uciA9ICpwbnJfbWFwOwotCi0JLyogYmFpbCBvdXQgaWYgd2UgZmluZCBhbnkgdW5yZWFzb25hYmxlIGFkZHJlc3NlcyBpbiBiaW9zIG1hcCAqLwotCWZvciAoaSA9IDA7IGkgPCBvbGRfbnI7IGkrKykKLQkJaWYgKGJpb3NtYXBbaV0uYWRkciArIGJpb3NtYXBbaV0uc2l6ZSA8IGJpb3NtYXBbaV0uYWRkcikKLQkJCXJldHVybiAtMTsKLQotCS8qIGNyZWF0ZSBwb2ludGVycyBmb3IgaW5pdGlhbCBjaGFuZ2UtcG9pbnQgaW5mb3JtYXRpb24gKGZvciBzb3J0aW5nKSAqLwotCWZvciAoaSA9IDA7IGkgPCAyICogb2xkX25yOyBpKyspCi0JCWNoYW5nZV9wb2ludFtpXSA9ICZjaGFuZ2VfcG9pbnRfbGlzdFtpXTsKLQotCS8qIHJlY29yZCBhbGwga25vd24gY2hhbmdlLXBvaW50cyAoc3RhcnRpbmcgYW5kIGVuZGluZyBhZGRyZXNzZXMpLAotCSAgIG9taXR0aW5nIHRob3NlIHRoYXQgYXJlIGZvciBlbXB0eSBtZW1vcnkgcmVnaW9ucyAqLwotCWNoZ2lkeCA9IDA7Ci0JZm9yIChpID0gMDsgaSA8IG9sZF9ucjsgaSsrKQl7Ci0JCWlmIChiaW9zbWFwW2ldLnNpemUgIT0gMCkgewotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPSBiaW9zbWFwW2ldLmFkZHI7Ci0JCQljaGFuZ2VfcG9pbnRbY2hnaWR4KytdLT5wYmlvcyA9ICZiaW9zbWFwW2ldOwotCQkJY2hhbmdlX3BvaW50W2NoZ2lkeF0tPmFkZHIgPSBiaW9zbWFwW2ldLmFkZHIgKwotCQkJCWJpb3NtYXBbaV0uc2l6ZTsKLQkJCWNoYW5nZV9wb2ludFtjaGdpZHgrK10tPnBiaW9zID0gJmJpb3NtYXBbaV07Ci0JCX0KLQl9Ci0JY2hnX25yID0gY2hnaWR4OwotCi0JLyogc29ydCBjaGFuZ2UtcG9pbnQgbGlzdCBieSBtZW1vcnkgYWRkcmVzc2VzIChsb3cgLT4gaGlnaCkgKi8KLQlzdGlsbF9jaGFuZ2luZyA9IDE7Ci0Jd2hpbGUgKHN0aWxsX2NoYW5naW5nKQl7Ci0JCXN0aWxsX2NoYW5naW5nID0gMDsKLQkJZm9yIChpID0gMTsgaSA8IGNoZ19ucjsgaSsrKSAgewotCQkJdW5zaWduZWQgbG9uZyBsb25nIGN1cmFkZHIsIGxhc3RhZGRyOwotCQkJdW5zaWduZWQgbG9uZyBsb25nIGN1cnBiYWRkciwgbGFzdHBiYWRkcjsKLQotCQkJY3VyYWRkciA9IGNoYW5nZV9wb2ludFtpXS0+YWRkcjsKLQkJCWxhc3RhZGRyID0gY2hhbmdlX3BvaW50W2kgLSAxXS0+YWRkcjsKLQkJCWN1cnBiYWRkciA9IGNoYW5nZV9wb2ludFtpXS0+cGJpb3MtPmFkZHI7Ci0JCQlsYXN0cGJhZGRyID0gY2hhbmdlX3BvaW50W2kgLSAxXS0+cGJpb3MtPmFkZHI7Ci0KLQkJCS8qCi0JCQkgKiBzd2FwIGVudHJpZXMsIHdoZW46Ci0JCQkgKgotCQkJICogY3VyYWRkciA+IGxhc3RhZGRyIG9yCi0JCQkgKiBjdXJhZGRyID09IGxhc3RhZGRyIGFuZCBjdXJhZGRyID09IGN1cnBiYWRkciBhbmQKLQkJCSAqIGxhc3RhZGRyICE9IGxhc3RwYmFkZHIKLQkJCSAqLwotCQkJaWYgKGN1cmFkZHIgPCBsYXN0YWRkciB8fAotCQkJICAgIChjdXJhZGRyID09IGxhc3RhZGRyICYmIGN1cmFkZHIgPT0gY3VycGJhZGRyICYmCi0JCQkgICAgIGxhc3RhZGRyICE9IGxhc3RwYmFkZHIpKSB7Ci0JCQkJY2hhbmdlX3RtcCA9IGNoYW5nZV9wb2ludFtpXTsKLQkJCQljaGFuZ2VfcG9pbnRbaV0gPSBjaGFuZ2VfcG9pbnRbaS0xXTsKLQkJCQljaGFuZ2VfcG9pbnRbaS0xXSA9IGNoYW5nZV90bXA7Ci0JCQkJc3RpbGxfY2hhbmdpbmcgPSAxOwotCQkJfQotCQl9Ci0JfQotCi0JLyogY3JlYXRlIGEgbmV3IGJpb3MgbWVtb3J5IG1hcCwgcmVtb3Zpbmcgb3ZlcmxhcHMgKi8KLQlvdmVybGFwX2VudHJpZXMgPSAwOwkgLyogbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIG92ZXJsYXAgdGFibGUgKi8KLQluZXdfYmlvc19lbnRyeSA9IDA7CSAvKiBpbmRleCBmb3IgY3JlYXRpbmcgbmV3IGJpb3MgbWFwIGVudHJpZXMgKi8KLQlsYXN0X3R5cGUgPSAwOwkJIC8qIHN0YXJ0IHdpdGggdW5kZWZpbmVkIG1lbW9yeSB0eXBlICovCi0JbGFzdF9hZGRyID0gMDsJCSAvKiBzdGFydCB3aXRoIDAgYXMgbGFzdCBzdGFydGluZyBhZGRyZXNzICovCi0KLQkvKiBsb29wIHRocm91Z2ggY2hhbmdlLXBvaW50cywgZGV0ZXJtaW5pbmcgYWZmZWN0IG9uIHRoZSBuZXcgYmlvcyBtYXAgKi8KLQlmb3IgKGNoZ2lkeCA9IDA7IGNoZ2lkeCA8IGNoZ19ucjsgY2hnaWR4KyspIHsKLQkJLyoga2VlcCB0cmFjayBvZiBhbGwgb3ZlcmxhcHBpbmcgYmlvcyBlbnRyaWVzICovCi0JCWlmIChjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciA9PQotCQkgICAgY2hhbmdlX3BvaW50W2NoZ2lkeF0tPnBiaW9zLT5hZGRyKSB7Ci0JCQkvKgotCQkJICogYWRkIG1hcCBlbnRyeSB0byBvdmVybGFwIGxpc3QgKD4gMSBlbnRyeQotCQkJICogaW1wbGllcyBhbiBvdmVybGFwKQotCQkJICovCi0JCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzKytdID0KLQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3M7Ci0JCX0gZWxzZSB7Ci0JCQkvKgotCQkJICogcmVtb3ZlIGVudHJ5IGZyb20gbGlzdCAob3JkZXIgaW5kZXBlbmRlbnQsCi0JCQkgKiBzbyBzd2FwIHdpdGggbGFzdCkKLQkJCSAqLwotCQkJZm9yIChpID0gMDsgaSA8IG92ZXJsYXBfZW50cmllczsgaSsrKSB7Ci0JCQkJaWYgKG92ZXJsYXBfbGlzdFtpXSA9PQotCQkJCSAgICBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+cGJpb3MpCi0JCQkJCW92ZXJsYXBfbGlzdFtpXSA9Ci0JCQkJCQlvdmVybGFwX2xpc3Rbb3ZlcmxhcF9lbnRyaWVzLTFdOwotCQkJfQotCQkJb3ZlcmxhcF9lbnRyaWVzLS07Ci0JCX0KLQkJLyoKLQkJICogaWYgdGhlcmUgYXJlIG92ZXJsYXBwaW5nIGVudHJpZXMsIGRlY2lkZSB3aGljaAotCQkgKiAidHlwZSIgdG8gdXNlIChsYXJnZXIgdmFsdWUgdGFrZXMgcHJlY2VkZW5jZSAtLQotCQkgKiAxPXVzYWJsZSwgMiwzLDQsNCs9dW51c2FibGUpCi0JCSAqLwotCQljdXJyZW50X3R5cGUgPSAwOwotCQlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxhcF9lbnRyaWVzOyBpKyspCi0JCQlpZiAob3ZlcmxhcF9saXN0W2ldLT50eXBlID4gY3VycmVudF90eXBlKQotCQkJCWN1cnJlbnRfdHlwZSA9IG92ZXJsYXBfbGlzdFtpXS0+dHlwZTsKLQkJLyoKLQkJICogY29udGludWUgYnVpbGRpbmcgdXAgbmV3IGJpb3MgbWFwIGJhc2VkIG9uIHRoaXMKLQkJICogaW5mb3JtYXRpb24KLQkJICovCi0JCWlmIChjdXJyZW50X3R5cGUgIT0gbGFzdF90eXBlKQl7Ci0JCQlpZiAobGFzdF90eXBlICE9IDApCSB7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLnNpemUgPQotCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkciAtIGxhc3RfYWRkcjsKLQkJCQkvKgotCQkJCSAqIG1vdmUgZm9yd2FyZCBvbmx5IGlmIHRoZSBuZXcgc2l6ZQotCQkJCSAqIHdhcyBub24temVybwotCQkJCSAqLwotCQkJCWlmIChuZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0uc2l6ZSAhPSAwKQotCQkJCQkvKgotCQkJCQkgKiBubyBtb3JlIHNwYWNlIGxlZnQgZm9yIG5ldwotCQkJCQkgKiBiaW9zIGVudHJpZXMgPwotCQkJCQkgKi8KLQkJCQkJaWYgKCsrbmV3X2Jpb3NfZW50cnkgPj0gRTgyME1BWCkKLQkJCQkJCWJyZWFrOwotCQkJfQotCQkJaWYgKGN1cnJlbnRfdHlwZSAhPSAwKQl7Ci0JCQkJbmV3X2Jpb3NbbmV3X2Jpb3NfZW50cnldLmFkZHIgPQotCQkJCQljaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKLQkJCQluZXdfYmlvc1tuZXdfYmlvc19lbnRyeV0udHlwZSA9IGN1cnJlbnRfdHlwZTsKLQkJCQlsYXN0X2FkZHIgPSBjaGFuZ2VfcG9pbnRbY2hnaWR4XS0+YWRkcjsKLQkJCX0KLQkJCWxhc3RfdHlwZSA9IGN1cnJlbnRfdHlwZTsKLQkJfQotCX0KLQkvKiByZXRhaW4gY291bnQgZm9yIG5ldyBiaW9zIGVudHJpZXMgKi8KLQluZXdfbnIgPSBuZXdfYmlvc19lbnRyeTsKLQotCS8qIGNvcHkgbmV3IGJpb3MgbWFwcGluZyBpbnRvIG9yaWdpbmFsIGxvY2F0aW9uICovCi0JbWVtY3B5KGJpb3NtYXAsIG5ld19iaW9zLCBuZXdfbnIgKiBzaXplb2Yoc3RydWN0IGU4MjBlbnRyeSkpOwotCSpwbnJfbWFwID0gbmV3X25yOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBDb3B5IHRoZSBCSU9TIGU4MjAgbWFwIGludG8gYSBzYWZlIHBsYWNlLgotICoKLSAqIFNhbml0eS1jaGVjayBpdCB3aGlsZSB3ZSdyZSBhdCBpdC4uCi0gKgotICogSWYgd2UncmUgbHVja3kgYW5kIGxpdmUgb24gYSBtb2Rlcm4gc3lzdGVtLCB0aGUgc2V0dXAgY29kZQotICogd2lsbCBoYXZlIGdpdmVuIHVzIGEgbWVtb3J5IG1hcCB0aGF0IHdlIGNhbiB1c2UgdG8gcHJvcGVybHkKLSAqIHNldCB1cCBtZW1vcnkuICBJZiB3ZSBhcmVuJ3QsIHdlJ2xsIGZha2UgYSBtZW1vcnkgbWFwLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBjb3B5X2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBucl9tYXApCi17Ci0JLyogT25seSBvbmUgbWVtb3J5IHJlZ2lvbiAob3IgbmVnYXRpdmUpPyBJZ25vcmUgaXQgKi8KLQlpZiAobnJfbWFwIDwgMikKLQkJcmV0dXJuIC0xOwotCi0JZG8gewotCQl1NjQgc3RhcnQgPSBiaW9zbWFwLT5hZGRyOwotCQl1NjQgc2l6ZSA9IGJpb3NtYXAtPnNpemU7Ci0JCXU2NCBlbmQgPSBzdGFydCArIHNpemU7Ci0JCXUzMiB0eXBlID0gYmlvc21hcC0+dHlwZTsKLQotCQkvKiBPdmVyZmxvdyBpbiA2NCBiaXRzPyBJZ25vcmUgdGhlIG1lbW9yeSBtYXAuICovCi0JCWlmIChzdGFydCA+IGVuZCkKLQkJCXJldHVybiAtMTsKLQotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydCwgc2l6ZSwgdHlwZSk7Ci0JfSB3aGlsZSAoYmlvc21hcCsrLCAtLW5yX21hcCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGVhcmx5X3BhbmljKGNoYXIgKm1zZykKLXsKLQllYXJseV9wcmludGsobXNnKTsKLQlwYW5pYyhtc2cpOwotfQotCi0vKiBXZSdyZSBub3Qgdm9pZCBvbmx5IGZvciB4ODYgMzItYml0IGNvbXBhdCAqLwotY2hhciAqIF9faW5pdCBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKQotewotCWNoYXIgKndobyA9ICJCSU9TLWU4MjAiOwotCS8qCi0JICogVHJ5IHRvIGNvcHkgdGhlIEJJT1Mtc3VwcGxpZWQgRTgyMC1tYXAuCi0JICoKLQkgKiBPdGhlcndpc2UgZmFrZSBhIG1lbW9yeSBtYXA7IG9uZSBzZWN0aW9uIGZyb20gMGstPjY0MGssCi0JICogdGhlIG5leHQgc2VjdGlvbiBmcm9tIDFtYi0+YXBwcm9wcmlhdGVfbWVtX2sKLQkgKi8KLQlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgJmJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyk7Ci0JaWYgKGNvcHlfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykgPCAwKQotCQllYXJseV9wYW5pYygiQ2Fubm90IGZpbmQgYSB2YWxpZCBtZW1vcnkgbWFwIik7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JZTgyMF9wcmludF9tYXAod2hvKTsKLQotCS8qIEluIGNhc2Ugc29tZW9uZSBjYXJlcy4uLiAqLwotCXJldHVybiB3aG87Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX21lbW9wdChjaGFyICpwKQotewotCWlmICghcCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JZW5kX3VzZXJfcGZuID0gbWVtcGFyc2UocCwgJnApOwotCWVuZF91c2VyX3BmbiA+Pj0gUEFHRV9TSElGVDsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJtZW0iLCBwYXJzZV9tZW1vcHQpOwotCi1zdGF0aWMgaW50IHVzZXJkZWYgX19pbml0ZGF0YTsKLQotc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtbWFwX29wdChjaGFyICpwKQotewotCWNoYXIgKm9sZHA7Ci0JdW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0X2F0LCBtZW1fc2l6ZTsKLQotCWlmICghc3RyY21wKHAsICJleGFjdG1hcCIpKSB7Ci0jaWZkZWYgQ09ORklHX0NSQVNIX0RVTVAKLQkJLyoKLQkJICogSWYgd2UgYXJlIGRvaW5nIGEgY3Jhc2ggZHVtcCwgd2Ugc3RpbGwgbmVlZCB0byBrbm93Ci0JCSAqIHRoZSByZWFsIG1lbSBzaXplIGJlZm9yZSBvcmlnaW5hbCBtZW1vcnkgbWFwIGlzCi0JCSAqIHJlc2V0LgotCQkgKi8KLQkJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCAwLCAtMVVMKTsKLQkJc2F2ZWRfbWF4X3BmbiA9IGU4MjBfZW5kX29mX3JhbSgpOwotCQlyZW1vdmVfYWxsX2FjdGl2ZV9yYW5nZXMoKTsKLSNlbmRpZgotCQltYXhfcGZuX21hcHBlZCA9IDA7Ci0JCWU4MjAubnJfbWFwID0gMDsKLQkJdXNlcmRlZiA9IDE7Ci0JCXJldHVybiAwOwotCX0KLQotCW9sZHAgPSBwOwotCW1lbV9zaXplID0gbWVtcGFyc2UocCwgJnApOwotCWlmIChwID09IG9sZHApCi0JCXJldHVybiAtRUlOVkFMOwotCi0JdXNlcmRlZiA9IDE7Ci0JaWYgKCpwID09ICdAJykgewotCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfUkFNKTsKLQl9IGVsc2UgaWYgKCpwID09ICcjJykgewotCQlzdGFydF9hdCA9IG1lbXBhcnNlKHArMSwgJnApOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihzdGFydF9hdCwgbWVtX3NpemUsIEU4MjBfQUNQSSk7Ci0JfSBlbHNlIGlmICgqcCA9PSAnJCcpIHsKLQkJc3RhcnRfYXQgPSBtZW1wYXJzZShwKzEsICZwKTsKLQkJYWRkX21lbW9yeV9yZWdpb24oc3RhcnRfYXQsIG1lbV9zaXplLCBFODIwX1JFU0VSVkVEKTsKLQl9IGVsc2UgewotCQllbmRfdXNlcl9wZm4gPSAobWVtX3NpemUgPj4gUEFHRV9TSElGVCk7Ci0JfQotCXJldHVybiAqcCA9PSAnXDAnID8gMCA6IC1FSU5WQUw7Ci19Ci1lYXJseV9wYXJhbSgibWVtbWFwIiwgcGFyc2VfbWVtbWFwX29wdCk7Ci0KLXZvaWQgX19pbml0IGZpbmlzaF9lODIwX3BhcnNpbmcodm9pZCkKLXsKLQlpZiAodXNlcmRlZikgewotCQljaGFyIG5yID0gZTgyMC5ucl9tYXA7Ci0KLQkJaWYgKHNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCAmbnIpIDwgMCkKLQkJCWVhcmx5X3BhbmljKCJJbnZhbGlkIHVzZXIgc3VwcGxpZWQgbWVtb3J5IG1hcCIpOwotCQllODIwLm5yX21hcCA9IG5yOwotCi0JCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JCWU4MjBfcHJpbnRfbWFwKCJ1c2VyIik7Ci0JfQotfQotCi12b2lkIF9faW5pdCB1cGRhdGVfbWVtb3J5X3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAotCQkJCXVuc2lnbmVkIG5ld190eXBlKQotewotCWludCBpOwotCi0JQlVHX09OKG9sZF90eXBlID09IG5ld190eXBlKTsKLQotCWZvciAoaSA9IDA7IGkgPCBlODIwLm5yX21hcDsgaSsrKSB7Ci0JCXN0cnVjdCBlODIwZW50cnkgKmVpID0gJmU4MjAubWFwW2ldOwotCQl1NjQgZmluYWxfc3RhcnQsIGZpbmFsX2VuZDsKLQkJaWYgKGVpLT50eXBlICE9IG9sZF90eXBlKQotCQkJY29udGludWU7Ci0JCS8qIHRvdGFsbHkgY292ZXJlZD8gKi8KLQkJaWYgKGVpLT5hZGRyID49IHN0YXJ0ICYmIGVpLT5zaXplIDw9IHNpemUpIHsKLQkJCWVpLT50eXBlID0gbmV3X3R5cGU7Ci0JCQljb250aW51ZTsKLQkJfQotCQkvKiBwYXJ0aWFsbHkgY292ZXJlZCAqLwotCQlmaW5hbF9zdGFydCA9IG1heChzdGFydCwgZWktPmFkZHIpOwotCQlmaW5hbF9lbmQgPSBtaW4oc3RhcnQgKyBzaXplLCBlaS0+YWRkciArIGVpLT5zaXplKTsKLQkJaWYgKGZpbmFsX3N0YXJ0ID49IGZpbmFsX2VuZCkKLQkJCWNvbnRpbnVlOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihmaW5hbF9zdGFydCwgZmluYWxfZW5kIC0gZmluYWxfc3RhcnQsCi0JCQkJCSBuZXdfdHlwZSk7Ci0JfQotfQotCi12b2lkIF9faW5pdCB1cGRhdGVfZTgyMCh2b2lkKQotewotCXU4IG5yX21hcDsKLQotCW5yX21hcCA9IGU4MjAubnJfbWFwOwotCWlmIChzYW5pdGl6ZV9lODIwX21hcChlODIwLm1hcCwgJm5yX21hcCkpCi0JCXJldHVybjsKLQllODIwLm5yX21hcCA9IG5yX21hcDsKLQlwcmludGsoS0VSTl9JTkZPICJtb2RpZmllZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JZTgyMF9wcmludF9tYXAoIm1vZGlmaWVkIik7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgcGNpX21lbV9zdGFydCA9IDB4YWVlZGJhYmU7Ci1FWFBPUlRfU1lNQk9MKHBjaV9tZW1fc3RhcnQpOwotCi0vKgotICogU2VhcmNoIGZvciB0aGUgYmlnZ2VzdCBnYXAgaW4gdGhlIGxvdyAzMiBiaXRzIG9mIHRoZSBlODIwCi0gKiBtZW1vcnkgc3BhY2UuICBXZSBwYXNzIHRoaXMgc3BhY2UgdG8gUENJIHRvIGFzc2lnbiBNTUlPIHJlc291cmNlcwotICogZm9yIGhvdHBsdWcgb3IgdW5jb25maWd1cmVkIGRldmljZXMgaW4uCi0gKiBIb3BlZnVsbHkgdGhlIEJJT1MgbGV0IGVub3VnaCBzcGFjZSBsZWZ0LgotICovCi1fX2luaXQgdm9pZCBlODIwX3NldHVwX2dhcCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZ2Fwc3RhcnQsIGdhcHNpemUsIHJvdW5kOwotCXVuc2lnbmVkIGxvbmcgbGFzdDsKLQlpbnQgaTsKLQlpbnQgZm91bmQgPSAwOwotCi0JbGFzdCA9IDB4MTAwMDAwMDAwdWxsOwotCWdhcHN0YXJ0ID0gMHgxMDAwMDAwMDsKLQlnYXBzaXplID0gMHg0MDAwMDA7Ci0JaSA9IGU4MjAubnJfbWFwOwotCXdoaWxlICgtLWkgPj0gMCkgewotCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSBlODIwLm1hcFtpXS5hZGRyOwotCQl1bnNpZ25lZCBsb25nIGxvbmcgZW5kID0gc3RhcnQgKyBlODIwLm1hcFtpXS5zaXplOwotCi0JCS8qCi0JCSAqIFNpbmNlICJsYXN0IiBpcyBhdCBtb3N0IDRHQiwgd2Uga25vdyB3ZSdsbAotCQkgKiBmaXQgaW4gMzIgYml0cyBpZiB0aGlzIGNvbmRpdGlvbiBpcyB0cnVlCi0JCSAqLwotCQlpZiAobGFzdCA+IGVuZCkgewotCQkJdW5zaWduZWQgbG9uZyBnYXAgPSBsYXN0IC0gZW5kOwotCi0JCQlpZiAoZ2FwID4gZ2Fwc2l6ZSkgewotCQkJCWdhcHNpemUgPSBnYXA7Ci0JCQkJZ2Fwc3RhcnQgPSBlbmQ7Ci0JCQkJZm91bmQgPSAxOwotCQkJfQotCQl9Ci0JCWlmIChzdGFydCA8IGxhc3QpCi0JCQlsYXN0ID0gc3RhcnQ7Ci0JfQotCi0JaWYgKCFmb3VuZCkgewotCQlnYXBzdGFydCA9IChlbmRfcGZuIDw8IFBBR0VfU0hJRlQpICsgMTAyNCoxMDI0OwotCQlwcmludGsoS0VSTl9FUlIgIlBDSTogV2FybmluZzogQ2Fubm90IGZpbmQgYSBnYXAgaW4gdGhlIDMyYml0ICIKLQkJICAgICAgICJhZGRyZXNzIHJhbmdlXG4iCi0JCSAgICAgICBLRVJOX0VSUiAiUENJOiBVbmFzc2lnbmVkIGRldmljZXMgd2l0aCAzMmJpdCByZXNvdXJjZSAiCi0JCSAgICAgICAicmVnaXN0ZXJzIG1heSBicmVhayFcbiIpOwotCX0KLQotCS8qCi0JICogU2VlIGhvdyBtdWNoIHdlIHdhbnQgdG8gcm91bmQgdXA6IHN0YXJ0IG9mZiB3aXRoCi0JICogcm91bmRpbmcgdG8gdGhlIG5leHQgMU1CIGFyZWEuCi0JICovCi0Jcm91bmQgPSAweDEwMDAwMDsKLQl3aGlsZSAoKGdhcHNpemUgPj4gNCkgPiByb3VuZCkKLQkJcm91bmQgKz0gcm91bmQ7Ci0JLyogRnVuIHdpdGggdHdvJ3MgY29tcGxlbWVudCAqLwotCXBjaV9tZW1fc3RhcnQgPSAoZ2Fwc3RhcnQgKyByb3VuZCkgJiAtcm91bmQ7Ci0KLQlwcmludGsoS0VSTl9JTkZPCi0JICAgICAgICJBbGxvY2F0aW5nIFBDSSByZXNvdXJjZXMgc3RhcnRpbmcgYXQgJWx4IChnYXA6ICVseDolbHgpXG4iLAotCSAgICAgICBwY2lfbWVtX3N0YXJ0LCBnYXBzdGFydCwgZ2Fwc2l6ZSk7Ci19Ci0KLWludCBfX2luaXQgYXJjaF9nZXRfcmFtX3JhbmdlKGludCBzbG90LCB1NjQgKmFkZHIsIHU2NCAqc2l6ZSkKLXsKLQlpbnQgaTsKLQotCWlmIChzbG90IDwgMCB8fCBzbG90ID49IGU4MjAubnJfbWFwKQotCQlyZXR1cm4gLTE7Ci0JZm9yIChpID0gc2xvdDsgaSA8IGU4MjAubnJfbWFwOyBpKyspIHsKLQkJaWYgKGU4MjAubWFwW2ldLnR5cGUgIT0gRTgyMF9SQU0pCi0JCQljb250aW51ZTsKLQkJYnJlYWs7Ci0JfQotCWlmIChpID09IGU4MjAubnJfbWFwIHx8IGU4MjAubWFwW2ldLmFkZHIgPiAobWF4X3BmbiA8PCBQQUdFX1NISUZUKSkKLQkJcmV0dXJuIC0xOwotCSphZGRyID0gZTgyMC5tYXBbaV0uYWRkcjsKLQkqc2l6ZSA9IG1pbl90KHU2NCwgZTgyMC5tYXBbaV0uc2l6ZSArIGU4MjAubWFwW2ldLmFkZHIsCi0JCW1heF9wZm4gPDwgUEFHRV9TSElGVCkgLSAqYWRkcjsKLQlyZXR1cm4gaSArIDE7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHktcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZWFybHktcXVpcmtzLmMKaW5kZXggOWY1MWUxZS4uYTQ2NjVmMyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2Vhcmx5LXF1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseS1xdWlya3MuYwpAQCAtNTAsNyArNTAsNyBAQAogc3RhdGljIHZvaWQgX19pbml0IHZpYV9idWdzKGludCAgbnVtLCBpbnQgc2xvdCwgaW50IGZ1bmMpCiB7CiAjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKLQlpZiAoKGVuZF9wZm4gPiBNQVhfRE1BMzJfUEZOIHx8ICBmb3JjZV9pb21tdSkgJiYKKwlpZiAoKG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOIHx8ICBmb3JjZV9pb21tdSkgJiYKIAkgICAgIWdhcnRfaW9tbXVfYXBlcnR1cmVfYWxsb3dlZCkgewogCQlwcmludGsoS0VSTl9JTkZPCiAJCSAgICAgICAiTG9va3MgbGlrZSBhIFZJQSBjaGlwc2V0LiBEaXNhYmxpbmcgSU9NTVUuIgpAQCAtOTgsMTcgKzk4LDYgQEAKIAogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgYXRpX2J1Z3MoaW50IG51bSwgaW50IHNsb3QsIGludCBmdW5jKQotewotI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwotCWlmICh0aW1lcl9vdmVyXzgyNTQgPT0gMSkgewotCQl0aW1lcl9vdmVyXzgyNTQgPSAwOwotCQlwcmludGsoS0VSTl9JTkZPCi0JCSJBVEkgYm9hcmQgZGV0ZWN0ZWQuIERpc2FibGluZyB0aW1lciByb3V0aW5nIG92ZXIgODI1NC5cbiIpOwotCX0KLSNlbmRpZgotfQotCiAjZGVmaW5lIFFGTEFHX0FQUExZX09OQ0UgCTB4MQogI2RlZmluZSBRRkxBR19BUFBMSUVECQkweDIKICNkZWZpbmUgUUZMQUdfRE9ORQkJKFFGTEFHX0FQUExZX09OQ0V8UUZMQUdfQVBQTElFRCkKQEAgLTEyNiw4ICsxMTUsNiBAQAogCSAgUENJX0NMQVNTX0JSSURHRV9QQ0ksIFBDSV9BTllfSUQsIFFGTEFHX0FQUExZX09OQ0UsIG52aWRpYV9idWdzIH0sCiAJeyBQQ0lfVkVORE9SX0lEX1ZJQSwgUENJX0FOWV9JRCwKIAkgIFBDSV9DTEFTU19CUklER0VfUENJLCBQQ0lfQU5ZX0lELCBRRkxBR19BUFBMWV9PTkNFLCB2aWFfYnVncyB9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9BTllfSUQsCi0JICBQQ0lfQ0xBU1NfQlJJREdFX1BDSSwgUENJX0FOWV9JRCwgUUZMQUdfQVBQTFlfT05DRSwgYXRpX2J1Z3MgfSwKIAl7IFBDSV9WRU5ET1JfSURfQU1ELCBQQ0lfREVWSUNFX0lEX0FNRF9LOF9OQiwKIAkgIFBDSV9DTEFTU19CUklER0VfSE9TVCwgUENJX0FOWV9JRCwgMCwgZml4X2h5cGVydHJhbnNwb3J0X2NvbmZpZyB9LAogCXt9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZWFybHlfcHJpbnRrLmMgYi9hcmNoL3g4Ni9rZXJuZWwvZWFybHlfcHJpbnRrLmMKaW5kZXggNjQzZmQ4Ni4uZmY5ZTczNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2Vhcmx5X3ByaW50ay5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lYXJseV9wcmludGsuYwpAQCAtMTk2LDcgKzE5Niw3IEBACiBzdGF0aWMgc3RydWN0IGNvbnNvbGUgKmVhcmx5X2NvbnNvbGUgPSAmZWFybHlfdmdhX2NvbnNvbGU7CiBzdGF0aWMgaW50IGVhcmx5X2NvbnNvbGVfaW5pdGlhbGl6ZWQ7CiAKLXZvaWQgZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorYXNtbGlua2FnZSB2b2lkIGVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIAljaGFyIGJ1Zls1MTJdOwogCWludCBuOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2VmaS5jIGIvYXJjaC94ODYva2VybmVsL2VmaS5jCmluZGV4IDc3ZDQyNGMuLjA2Y2M4ZDQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lZmkuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZWZpLmMKQEAgLTY0LDYgKzY0LDE3IEBACiB9CiBlYXJseV9wYXJhbSgibm9lZmkiLCBzZXR1cF9ub2VmaSk7CiAKK2ludCBhZGRfZWZpX21lbW1hcDsKK0VYUE9SVF9TWU1CT0woYWRkX2VmaV9tZW1tYXApOworCitzdGF0aWMgaW50IF9faW5pdCBzZXR1cF9hZGRfZWZpX21lbW1hcChjaGFyICphcmcpCit7CisJYWRkX2VmaV9tZW1tYXAgPSAxOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oImFkZF9lZmlfbWVtbWFwIiwgc2V0dXBfYWRkX2VmaV9tZW1tYXApOworCisKIHN0YXRpYyBlZmlfc3RhdHVzX3QgdmlydF9lZmlfZ2V0X3RpbWUoZWZpX3RpbWVfdCAqdG0sIGVmaV90aW1lX2NhcF90ICp0YykKIHsKIAlyZXR1cm4gZWZpX2NhbGxfdmlydDIoZ2V0X3RpbWUsIHRtLCB0Yyk7CkBAIC0yMTMsNiArMjI0LDUwIEBACiAJCSAgICAgIGVmdC5taW51dGUsIGVmdC5zZWNvbmQpOwogfQogCisvKgorICogVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBFRkkgbWVtb3J5IG1hcC4gIFRoaXMgbWlnaHQgaW5jbHVkZQorICogbW9yZSB0aGFuIHRoZSBtYXggMTI4IGVudHJpZXMgdGhhdCBjYW4gZml0IGluIHRoZSBlODIwIGxlZ2FjeQorICogKHplcm9wYWdlKSBtZW1vcnkgbWFwLgorICovCisKK3N0YXRpYyB2b2lkIF9faW5pdCBkb19hZGRfZWZpX21lbW1hcCh2b2lkKQoreworCXZvaWQgKnA7CisKKwlmb3IgKHAgPSBtZW1tYXAubWFwOyBwIDwgbWVtbWFwLm1hcF9lbmQ7IHAgKz0gbWVtbWFwLmRlc2Nfc2l6ZSkgeworCQllZmlfbWVtb3J5X2Rlc2NfdCAqbWQgPSBwOworCQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSBtZC0+cGh5c19hZGRyOworCQl1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZSA9IG1kLT5udW1fcGFnZXMgPDwgRUZJX1BBR0VfU0hJRlQ7CisJCWludCBlODIwX3R5cGU7CisKKwkJaWYgKG1kLT5hdHRyaWJ1dGUgJiBFRklfTUVNT1JZX1dCKQorCQkJZTgyMF90eXBlID0gRTgyMF9SQU07CisJCWVsc2UKKwkJCWU4MjBfdHlwZSA9IEU4MjBfUkVTRVJWRUQ7CisJCWU4MjBfYWRkX3JlZ2lvbihzdGFydCwgc2l6ZSwgZTgyMF90eXBlKTsKKwl9CisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOworfQorCit2b2lkIF9faW5pdCBlZmlfcmVzZXJ2ZV9lYXJseSh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgcG1hcDsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlwbWFwID0gYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcDsKKyNlbHNlCisJcG1hcCA9IChib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwIHwKKwkJKChfX3U2NClib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwX2hpPDwzMikpOworI2VuZGlmCisJbWVtbWFwLnBoeXNfbWFwID0gKHZvaWQgKilwbWFwOworCW1lbW1hcC5ucl9tYXAgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwX3NpemUgLworCQlib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtZGVzY19zaXplOworCW1lbW1hcC5kZXNjX3ZlcnNpb24gPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtZGVzY192ZXJzaW9uOworCW1lbW1hcC5kZXNjX3NpemUgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtZGVzY19zaXplOworCXJlc2VydmVfZWFybHkocG1hcCwgcG1hcCArIG1lbW1hcC5ucl9tYXAgKiBtZW1tYXAuZGVzY19zaXplLAorCQkgICAgICAiRUZJIG1lbW1hcCIpOworfQorCiAjaWYgRUZJX0RFQlVHCiBzdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfZWZpX21lbW1hcCh2b2lkKQogewpAQCAtMjQ0LDE5ICsyOTksMTEgQEAKIAogI2lmZGVmIENPTkZJR19YODZfMzIKIAllZmlfcGh5cy5zeXN0YWIgPSAoZWZpX3N5c3RlbV90YWJsZV90ICopYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX3N5c3RhYjsKLQltZW1tYXAucGh5c19tYXAgPSAodm9pZCAqKWJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9tZW1tYXA7CiAjZWxzZQogCWVmaV9waHlzLnN5c3RhYiA9IChlZmlfc3lzdGVtX3RhYmxlX3QgKikKIAkJKGJvb3RfcGFyYW1zLmVmaV9pbmZvLmVmaV9zeXN0YWIgfAogCQkgKChfX3U2NClib290X3BhcmFtcy5lZmlfaW5mby5lZmlfc3lzdGFiX2hpPDwzMikpOwotCW1lbW1hcC5waHlzX21hcCA9ICh2b2lkICopCi0JCShib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwIHwKLQkJICgoX191NjQpYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX21lbW1hcF9oaTw8MzIpKTsKICNlbmRpZgotCW1lbW1hcC5ucl9tYXAgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtbWFwX3NpemUgLwotCQlib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtZGVzY19zaXplOwotCW1lbW1hcC5kZXNjX3ZlcnNpb24gPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtZGVzY192ZXJzaW9uOwotCW1lbW1hcC5kZXNjX3NpemUgPSBib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbWVtZGVzY19zaXplOwogCiAJZWZpLnN5c3RhYiA9IGVhcmx5X2lvcmVtYXAoKHVuc2lnbmVkIGxvbmcpZWZpX3BoeXMuc3lzdGFiLAogCQkJCSAgIHNpemVvZihlZmlfc3lzdGVtX3RhYmxlX3QpKTsKQEAgLTM3MCw2ICs0MTcsOCBAQAogCWlmIChtZW1tYXAuZGVzY19zaXplICE9IHNpemVvZihlZmlfbWVtb3J5X2Rlc2NfdCkpCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIktlcm5lbC1kZWZpbmVkIG1lbWRlc2MiCiAJCSAgICAgICAiZG9lc24ndCBtYXRjaCB0aGUgb25lIGZyb20gRUZJIVxuIik7CisJaWYgKGFkZF9lZmlfbWVtbWFwKQorCQlkb19hZGRfZWZpX21lbW1hcCgpOwogCiAJLyogU2V0dXAgZm9yIEVGSSBydW50aW1lIHNlcnZpY2UgKi8KIAlyZWJvb3RfdHlwZSA9IEJPT1RfRUZJOwpAQCAtNDI0LDcgKzQ3Myw3IEBACiAJCXNpemUgPSBtZC0+bnVtX3BhZ2VzIDw8IEVGSV9QQUdFX1NISUZUOwogCQllbmQgPSBtZC0+cGh5c19hZGRyICsgc2l6ZTsKIAotCQlpZiAoUEZOX1VQKGVuZCkgPD0gbWF4X3Bmbl9tYXBwZWQpCisJCWlmIChQRk5fVVAoZW5kKSA8PSBtYXhfbG93X3Bmbl9tYXBwZWQpCiAJCQl2YSA9IF9fdmEobWQtPnBoeXNfYWRkcik7CiAJCWVsc2UKIAkJCXZhID0gZWZpX2lvcmVtYXAobWQtPnBoeXNfYWRkciwgc2l6ZSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZWZpXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvZWZpXzY0LmMKaW5kZXggZDAwNjBmZC4uNjUyYzUyOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2VmaV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lZmlfNjQuYwpAQCAtOTcsMTMgKzk3LDcgQEAKIAllYXJseV9ydW50aW1lX2NvZGVfbWFwcGluZ19zZXRfZXhlYygwKTsKIH0KIAotdm9pZCBfX2luaXQgZWZpX3Jlc2VydmVfYm9vdG1lbSh2b2lkKQotewotCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKCh1bnNpZ25lZCBsb25nKW1lbW1hcC5waHlzX21hcCwKLQkJCQltZW1tYXAubnJfbWFwICogbWVtbWFwLmRlc2Nfc2l6ZSk7Ci19Ci0KLXZvaWQgX19pb21lbSAqIF9faW5pdCBlZmlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQordm9pZCBfX2lvbWVtICpfX2luaXQgZWZpX2lvcmVtYXAodW5zaWduZWQgbG9uZyBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKIHsKIAlzdGF0aWMgdW5zaWduZWQgcGFnZXNfbWFwcGVkIF9faW5pdGRhdGE7CiAJdW5zaWduZWQgaSwgcGFnZXM7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfMzIuUyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TCmluZGV4IGM3NzhlNGYuLjZiYzA3ZjAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9lbnRyeV8zMi5TCkBAIC01MSwxNCArNTEsMTUgQEAKICNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KLSNpbmNsdWRlICJpcnFfdmVjdG9ycy5oIgorI2luY2x1ZGUgPGFzbS9mdHJhY2UuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KIAogLyoKICAqIFdlIHVzZSBtYWNyb3MgZm9yIGxvdy1sZXZlbCBvcGVyYXRpb25zIHdoaWNoIG5lZWQgdG8gYmUgb3ZlcnJpZGRlbgogICogZm9yIHBhcmF2aXJ0dWFsaXphdGlvbi4gIFRoZSBmb2xsb3dpbmcgd2lsbCBuZXZlciBjbG9iYmVyIGFueSByZWdpc3RlcnM6CiAgKiAgIElOVEVSUlVQVF9SRVRVUk4gKGFrYS4gImlyZXQiKQogICogICBHRVRfQ1IwX0lOVE9fRUFYIChha2EuICJtb3ZsICVjcjAsICVlYXgiKQotICogICBFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVCAoYWthICJzdGk7IHN5c2V4aXQiKS4KKyAqICAgRU5BQkxFX0lOVEVSUlVQVFNfU1lTRVhJVCAoYWthICJzdGk7IHN5c2V4aXQiKS4KICAqCiAgKiBGb3IgRElTQUJMRV9JTlRFUlJVUFRTL0VOQUJMRV9JTlRFUlJVUFRTIChha2EgImNsaSIvInN0aSIpLCB5b3UgbXVzdAogICogc3BlY2lmeSB3aGF0IHJlZ2lzdGVycyBjYW4gYmUgb3ZlcndyaXR0ZW4gKENMQlJfTk9ORSwgQ0xCUl9FQVgvRURYL0VDWC9BTlkpLgpAQCAtMzQ5LDcgKzM1MCw3IEBACiAJeG9ybCAlZWJwLCVlYnAKIAlUUkFDRV9JUlFTX09OCiAxOgltb3YgIFBUX0ZTKCVlc3ApLCAlZnMKLQlFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVAorCUVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQKIAlDRklfRU5EUFJPQwogLnB1c2hzZWN0aW9uIC5maXh1cCwiYXgiCiAyOgltb3ZsICQwLFBUX0ZTKCVlc3ApCkBAIC04NzQsMTAgKzg3NSwxMCBAQAogLnByZXZpb3VzCiBFTkQobmF0aXZlX2lyZXQpCiAKLUVOVFJZKG5hdGl2ZV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KQorRU5UUlkobmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCkKIAlzdGkKIAlzeXNleGl0Ci1FTkQobmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQpCitFTkQobmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCkKICNlbmRpZgogCiBLUFJPQkVfRU5UUlkoaW50MykKQEAgLTEwMjQsNiArMTAyNSw3IEBACiAJUklORzBfSU5UX0ZSQU1FCiAJYWRkbCAkNSo0LCAlZXNwCQkvKiByZW1vdmUgeGVuLXByb3ZpZGVkIGZyYW1lICovCiAJam1wIHN5c2VudGVyX3Bhc3RfZXNwCisJQ0ZJX0VORFBST0MKIAogRU5UUlkoeGVuX2h5cGVydmlzb3JfY2FsbGJhY2spCiAJQ0ZJX1NUQVJUUFJPQwpAQCAtMTExMCw2ICsxMTEyLDc3IEBACiAKICNlbmRpZgkvKiBDT05GSUdfWEVOICovCiAKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisKK0VOVFJZKG1jb3VudCkKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwltb3ZsIDB4YyglZXNwKSwgJWVheAorCXN1YmwgJE1DT1VOVF9JTlNOX1NJWkUsICVlYXgKKworLmdsb2JsIG1jb3VudF9jYWxsCittY291bnRfY2FsbDoKKwljYWxsIGZ0cmFjZV9zdHViCisKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKworCXJldAorRU5EKG1jb3VudCkKKworRU5UUlkoZnRyYWNlX2NhbGxlcikKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwltb3ZsIDB4YyglZXNwKSwgJWVheAorCW1vdmwgMHg0KCVlYnApLCAlZWR4CisJc3VibCAkTUNPVU5UX0lOU05fU0laRSwgJWVheAorCisuZ2xvYmwgZnRyYWNlX2NhbGwKK2Z0cmFjZV9jYWxsOgorCWNhbGwgZnRyYWNlX3N0dWIKKworCXBvcGwgJWVkeAorCXBvcGwgJWVjeAorCXBvcGwgJWVheAorCisuZ2xvYmwgZnRyYWNlX3N0dWIKK2Z0cmFjZV9zdHViOgorCXJldAorRU5EKGZ0cmFjZV9jYWxsZXIpCisKKyNlbHNlIC8qICEgQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKK0VOVFJZKG1jb3VudCkKKwljbXBsICRmdHJhY2Vfc3R1YiwgZnRyYWNlX3RyYWNlX2Z1bmN0aW9uCisJam56IHRyYWNlCisuZ2xvYmwgZnRyYWNlX3N0dWIKK2Z0cmFjZV9zdHViOgorCXJldAorCisJLyogdGFrZW4gZnJvbSBnbGliYyAqLwordHJhY2U6CisJcHVzaGwgJWVheAorCXB1c2hsICVlY3gKKwlwdXNobCAlZWR4CisJbW92bCAweGMoJWVzcCksICVlYXgKKwltb3ZsIDB4NCglZWJwKSwgJWVkeAorCXN1YmwgJE1DT1VOVF9JTlNOX1NJWkUsICVlYXgKKworCWNhbGwgKmZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCisJcG9wbCAlZWR4CisJcG9wbCAlZWN4CisJcG9wbCAlZWF4CisKKwlqbXAgZnRyYWNlX3N0dWIKK0VORChtY291bnQpCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCiAuc2VjdGlvbiAucm9kYXRhLCJhIgogI2luY2x1ZGUgInN5c2NhbGxfdGFibGVfMzIuUyIKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2VudHJ5XzY0LlMgYi9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUwppbmRleCA1NTZhOGRmLi5hZTYzZTU4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZW50cnlfNjQuUwpAQCAtNTEsMTYgKzUxLDEyMSBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL2lycWZsYWdzLmg+CiAjaW5jbHVkZSA8YXNtL3BhcmF2aXJ0Lmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgogCiAJLmNvZGU2NAogCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorRU5UUlkobWNvdW50KQorCisJc3VicSAkMHgzOCwgJXJzcAorCW1vdnEgJXJheCwgKCVyc3ApCisJbW92cSAlcmN4LCA4KCVyc3ApCisJbW92cSAlcmR4LCAxNiglcnNwKQorCW1vdnEgJXJzaSwgMjQoJXJzcCkKKwltb3ZxICVyZGksIDMyKCVyc3ApCisJbW92cSAlcjgsIDQwKCVyc3ApCisJbW92cSAlcjksIDQ4KCVyc3ApCisKKwltb3ZxIDB4MzgoJXJzcCksICVyZGkKKwlzdWJxICRNQ09VTlRfSU5TTl9TSVpFLCAlcmRpCisKKy5nbG9ibCBtY291bnRfY2FsbAorbWNvdW50X2NhbGw6CisJY2FsbCBmdHJhY2Vfc3R1YgorCisJbW92cSA0OCglcnNwKSwgJXI5CisJbW92cSA0MCglcnNwKSwgJXI4CisJbW92cSAzMiglcnNwKSwgJXJkaQorCW1vdnEgMjQoJXJzcCksICVyc2kKKwltb3ZxIDE2KCVyc3ApLCAlcmR4CisJbW92cSA4KCVyc3ApLCAlcmN4CisJbW92cSAoJXJzcCksICVyYXgKKwlhZGRxICQweDM4LCAlcnNwCisKKwlyZXRxCitFTkQobWNvdW50KQorCitFTlRSWShmdHJhY2VfY2FsbGVyKQorCisJLyogdGFrZW4gZnJvbSBnbGliYyAqLworCXN1YnEgJDB4MzgsICVyc3AKKwltb3ZxICVyYXgsICglcnNwKQorCW1vdnEgJXJjeCwgOCglcnNwKQorCW1vdnEgJXJkeCwgMTYoJXJzcCkKKwltb3ZxICVyc2ksIDI0KCVyc3ApCisJbW92cSAlcmRpLCAzMiglcnNwKQorCW1vdnEgJXI4LCA0MCglcnNwKQorCW1vdnEgJXI5LCA0OCglcnNwKQorCisJbW92cSAweDM4KCVyc3ApLCAlcmRpCisJbW92cSA4KCVyYnApLCAlcnNpCisJc3VicSAkTUNPVU5UX0lOU05fU0laRSwgJXJkaQorCisuZ2xvYmwgZnRyYWNlX2NhbGwKK2Z0cmFjZV9jYWxsOgorCWNhbGwgZnRyYWNlX3N0dWIKKworCW1vdnEgNDgoJXJzcCksICVyOQorCW1vdnEgNDAoJXJzcCksICVyOAorCW1vdnEgMzIoJXJzcCksICVyZGkKKwltb3ZxIDI0KCVyc3ApLCAlcnNpCisJbW92cSAxNiglcnNwKSwgJXJkeAorCW1vdnEgOCglcnNwKSwgJXJjeAorCW1vdnEgKCVyc3ApLCAlcmF4CisJYWRkcSAkMHgzOCwgJXJzcAorCisuZ2xvYmwgZnRyYWNlX3N0dWIKK2Z0cmFjZV9zdHViOgorCXJldHEKK0VORChmdHJhY2VfY2FsbGVyKQorCisjZWxzZSAvKiAhIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworRU5UUlkobWNvdW50KQorCWNtcHEgJGZ0cmFjZV9zdHViLCBmdHJhY2VfdHJhY2VfZnVuY3Rpb24KKwlqbnogdHJhY2UKKy5nbG9ibCBmdHJhY2Vfc3R1YgorZnRyYWNlX3N0dWI6CisJcmV0cQorCit0cmFjZToKKwkvKiB0YWtlbiBmcm9tIGdsaWJjICovCisJc3VicSAkMHgzOCwgJXJzcAorCW1vdnEgJXJheCwgKCVyc3ApCisJbW92cSAlcmN4LCA4KCVyc3ApCisJbW92cSAlcmR4LCAxNiglcnNwKQorCW1vdnEgJXJzaSwgMjQoJXJzcCkKKwltb3ZxICVyZGksIDMyKCVyc3ApCisJbW92cSAlcjgsIDQwKCVyc3ApCisJbW92cSAlcjksIDQ4KCVyc3ApCisKKwltb3ZxIDB4MzgoJXJzcCksICVyZGkKKwltb3ZxIDgoJXJicCksICVyc2kKKwlzdWJxICRNQ09VTlRfSU5TTl9TSVpFLCAlcmRpCisKKwljYWxsICAgKmZ0cmFjZV90cmFjZV9mdW5jdGlvbgorCisJbW92cSA0OCglcnNwKSwgJXI5CisJbW92cSA0MCglcnNwKSwgJXI4CisJbW92cSAzMiglcnNwKSwgJXJkaQorCW1vdnEgMjQoJXJzcCksICVyc2kKKwltb3ZxIDE2KCVyc3ApLCAlcmR4CisJbW92cSA4KCVyc3ApLCAlcmN4CisJbW92cSAoJXJzcCksICVyYXgKKwlhZGRxICQweDM4LCAlcnNwCisKKwlqbXAgZnRyYWNlX3N0dWIKK0VORChtY291bnQpCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCiAjaWZuZGVmIENPTkZJR19QUkVFTVBUCiAjZGVmaW5lIHJldGludF9rZXJuZWwgcmV0aW50X3Jlc3RvcmVfYXJncwogI2VuZGlmCQogCiAjaWZkZWYgQ09ORklHX1BBUkFWSVJUCi1FTlRSWShuYXRpdmVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCkKLQltb3ZxCSVnczpwZGFfb2xkcnNwLCVyc3AKK0VOVFJZKG5hdGl2ZV91c2VyZ3Nfc3lzcmV0NjQpCiAJc3dhcGdzCiAJc3lzcmV0cQogI2VuZGlmIC8qIENPTkZJR19QQVJBVklSVCAqLwpAQCAtMTA0LDcgKzIwOSw3IEBACiAJLm1hY3JvIEZBS0VfU1RBQ0tfRlJBTUUgY2hpbGRfcmlwCiAJLyogcHVzaCBpbiBvcmRlciBzcywgcnNwLCBlZmxhZ3MsIGNzLCByaXAgKi8KIAl4b3JsICVlYXgsICVlYXgKLQlwdXNocSAlcmF4IC8qIHNzICovCisJcHVzaHEgJF9fS0VSTkVMX0RTIC8qIHNzICovCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUCTgKIAkvKkNGSV9SRUxfT0ZGU0VUCXNzLDAqLwogCXB1c2hxICVyYXggLyogcnNwICovCkBAIC0xNjksMTMgKzI3NCwxMyBAQAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtNAogCWNhbGwgc2NoZWR1bGVfdGFpbAogCUdFVF9USFJFQURfSU5GTyglcmN4KQotCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVCksdGhyZWFkaW5mb19mbGFncyglcmN4KQorCXRlc3RsICQoX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVCksVElfZmxhZ3MoJXJjeCkKIAlqbnogcmZmX3RyYWNlCiByZmZfYWN0aW9uOgkKIAlSRVNUT1JFX1JFU1QKIAl0ZXN0bCAkMyxDUy1BUkdPRkZTRVQoJXJzcCkJIyBmcm9tIGtlcm5lbF90aHJlYWQ/CiAJamUgICBpbnRfcmV0X2Zyb21fc3lzX2NhbGwKLQl0ZXN0bCAkX1RJRl9JQTMyLHRocmVhZGluZm9fZmxhZ3MoJXJjeCkKKwl0ZXN0bCAkX1RJRl9JQTMyLFRJX2ZsYWdzKCVyY3gpCiAJam56ICBpbnRfcmV0X2Zyb21fc3lzX2NhbGwKIAlSRVNUT1JFX1RPUF9PRl9TVEFDSyAlcmRpLEFSR09GRlNFVAogCWptcCByZXRfZnJvbV9zeXNfY2FsbApAQCAtMjQ0LDcgKzM0OSw4IEBACiAJbW92cSAgJXJjeCxSSVAtQVJHT0ZGU0VUKCVyc3ApCiAJQ0ZJX1JFTF9PRkZTRVQgcmlwLFJJUC1BUkdPRkZTRVQKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQl0ZXN0bCAkKF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TRUNDT01QKSx0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpCisJdGVzdGwgJChfVElGX1NZU0NBTExfVFJBQ0V8X1RJRl9TWVNDQUxMX0FVRElUfF9USUZfU0VDQ09NUCksIFwKKwkJVElfZmxhZ3MoJXJjeCkKIAlqbnogdHJhY2VzeXMKIAljbXBxICRfX05SX3N5c2NhbGxfbWF4LCVyYXgKIAlqYSBiYWRzeXMKQEAgLTI2Myw3ICszNjksNyBAQAogCUdFVF9USFJFQURfSU5GTyglcmN4KQogCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCiAJVFJBQ0VfSVJRU19PRkYKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVkeAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVkeAogCWFuZGwgJWVkaSwlZWR4CiAJam56ICBzeXNyZXRfY2FyZWZ1bCAKIAlDRklfUkVNRU1CRVJfU1RBVEUKQEAgLTI3NSw3ICszODEsOCBAQAogCUNGSV9SRUdJU1RFUglyaXAscmN4CiAJUkVTVE9SRV9BUkdTIDAsLUFSR19TS0lQLDEKIAkvKkNGSV9SRUdJU1RFUglyZmxhZ3MscjExKi8KLQlFTkFCTEVfSU5URVJSVVBUU19TWVNDQUxMX1JFVAorCW1vdnEJJWdzOnBkYV9vbGRyc3AsICVyc3AKKwlVU0VSR1NfU1lTUkVUNjQKIAogCUNGSV9SRVNUT1JFX1NUQVRFCiAJLyogSGFuZGxlIHJlc2NoZWR1bGVzICovCkBAIC0zMDUsNyArNDEyLDcgQEAKIAlsZWFxIC1BUkdPRkZTRVQoJXJzcCksJXJkaSAjICZwdF9yZWdzIC0+IGFyZzEKIAl4b3JsICVlc2ksJWVzaSAjIG9sZHNldCAtPiBhcmcyCiAJY2FsbCBwdHJlZ3NjYWxsX2NvbW1vbgotMToJbW92bCAkX1RJRl9ORUVEX1JFU0NIRUQsJWVkaQorMToJbW92bCAkX1RJRl9XT1JLX01BU0ssJWVkaQogCS8qIFVzZSBJUkVUIGJlY2F1c2UgdXNlciBjb3VsZCBoYXZlIGNoYW5nZWQgZnJhbWUuIFRoaXMKIAkgICB3b3JrcyBiZWNhdXNlIHB0cmVnc2NhbGxfY29tbW9uIGhhcyBjYWxsZWQgRklYVVBfVE9QX09GX1NUQUNLLiAqLwogCURJU0FCTEVfSU5URVJSVVBUUyhDTEJSX05PTkUpCkBAIC0zNDcsMTAgKzQ1NCwxMCBAQAogaW50X3dpdGhfY2hlY2s6CiAJTE9DS0RFUF9TWVNfRVhJVF9JUlEKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQltb3ZsIHRocmVhZGluZm9fZmxhZ3MoJXJjeCksJWVkeAorCW1vdmwgVElfZmxhZ3MoJXJjeCksJWVkeAogCWFuZGwgJWVkaSwlZWR4CiAJam56ICAgaW50X2NhcmVmdWwKLQlhbmRsICAgICR+VFNfQ09NUEFULHRocmVhZGluZm9fc3RhdHVzKCVyY3gpCisJYW5kbCAgICAkflRTX0NPTVBBVCxUSV9zdGF0dXMoJXJjeCkKIAlqbXAgICByZXRpbnRfc3dhcGdzCiAKIAkvKiBFaXRoZXIgcmVzY2hlZHVsZSBvciBzaWduYWwgb3Igc3lzY2FsbCBleGl0IHRyYWNraW5nIG5lZWRlZC4gKi8KQEAgLTM5Myw3ICs1MDAsNyBAQAogCW1vdnEgJXJzcCwlcmRpCQkjICZwdHJlZ3MgLT4gYXJnMQogCXhvcmwgJWVzaSwlZXNpCQkjIG9sZHNldCAtPiBhcmcyCiAJY2FsbCBkb19ub3RpZnlfcmVzdW1lCi0xOgltb3ZsICRfVElGX05FRURfUkVTQ0hFRCwlZWRpCQorMToJbW92bCAkX1RJRl9XT1JLX01BU0ssJWVkaQogaW50X3Jlc3RvcmVfcmVzdDoKIAlSRVNUT1JFX1JFU1QKIAlESVNBQkxFX0lOVEVSUlVQVFMoQ0xCUl9OT05FKQpAQCAtNDIwLDcgKzUyNyw2IEBACiAJUFRSRUdTQ0FMTCBzdHViX2Nsb25lLCBzeXNfY2xvbmUsICVyOAogCVBUUkVHU0NBTEwgc3R1Yl9mb3JrLCBzeXNfZm9yaywgJXJkaQogCVBUUkVHU0NBTEwgc3R1Yl92Zm9yaywgc3lzX3Zmb3JrLCAlcmRpCi0JUFRSRUdTQ0FMTCBzdHViX3J0X3NpZ3N1c3BlbmQsIHN5c19ydF9zaWdzdXNwZW5kLCAlcmR4CiAJUFRSRUdTQ0FMTCBzdHViX3NpZ2FsdHN0YWNrLCBzeXNfc2lnYWx0c3RhY2ssICVyZHgKIAlQVFJFR1NDQUxMIHN0dWJfaW9wbCwgc3lzX2lvcGwsICVyc2kKIApAQCAtNTU5LDcgKzY2NSw3IEBACiAJbW92bCAkX1RJRl9XT1JLX01BU0ssJWVkaQogcmV0aW50X2NoZWNrOgogCUxPQ0tERVBfU1lTX0VYSVRfSVJRCi0JbW92bCB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlZHgKKwltb3ZsIFRJX2ZsYWdzKCVyY3gpLCVlZHgKIAlhbmRsICVlZGksJWVkeAogCUNGSV9SRU1FTUJFUl9TVEFURQogCWpueiAgcmV0aW50X2NhcmVmdWwKQEAgLTY0NywxNyArNzUzLDE2IEBACiAJUkVTVE9SRV9SRVNUCiAJRElTQUJMRV9JTlRFUlJVUFRTKENMQlJfTk9ORSkKIAlUUkFDRV9JUlFTX09GRgotCW1vdmwgJF9USUZfTkVFRF9SRVNDSEVELCVlZGkKIAlHRVRfVEhSRUFEX0lORk8oJXJjeCkKLQlqbXAgcmV0aW50X2NoZWNrCisJam1wIHJldGludF93aXRoX3Jlc2NoZWR1bGUKIAogI2lmZGVmIENPTkZJR19QUkVFTVBUCiAJLyogUmV0dXJuaW5nIHRvIGtlcm5lbCBzcGFjZS4gQ2hlY2sgaWYgd2UgbmVlZCBwcmVlbXB0aW9uICovCiAJLyogcmN4OgkgdGhyZWFkaW5mby4gaW50ZXJydXB0cyBvZmYuICovCiBFTlRSWShyZXRpbnRfa2VybmVsKQotCWNtcGwgJDAsdGhyZWFkaW5mb19wcmVlbXB0X2NvdW50KCVyY3gpCisJY21wbCAkMCxUSV9wcmVlbXB0X2NvdW50KCVyY3gpCiAJam56ICByZXRpbnRfcmVzdG9yZV9hcmdzCi0JYnQgICRUSUZfTkVFRF9SRVNDSEVELHRocmVhZGluZm9fZmxhZ3MoJXJjeCkKKwlidCAgJFRJRl9ORUVEX1JFU0NIRUQsVElfZmxhZ3MoJXJjeCkKIAlqbmMgIHJldGludF9yZXN0b3JlX2FyZ3MKIAlidCAgICQ5LEVGTEFHUy1BUkdPRkZTRVQoJXJzcCkJLyogaW50ZXJydXB0cyBvZmY/ICovCiAJam5jICByZXRpbnRfcmVzdG9yZV9hcmdzCkBAIC03MTEsNiArODE2LDkgQEAKIEVOVFJZKGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KQogCWFwaWNpbnRlcnJ1cHQgQ0FMTF9GVU5DVElPTl9WRUNUT1Isc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0CiBFTkQoY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQpCitFTlRSWShjYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQpCisJYXBpY2ludGVycnVwdCBDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1Isc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdAorRU5EKGNhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCkKIEVOVFJZKGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KQogCWFwaWNpbnRlcnJ1cHQgSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1Isc21wX2lycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0CiBFTkQoaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQpCkBAIC03MjAsNiArODI4LDEwIEBACiAJYXBpY2ludGVycnVwdCBMT0NBTF9USU1FUl9WRUNUT1Isc21wX2FwaWNfdGltZXJfaW50ZXJydXB0CiBFTkQoYXBpY190aW1lcl9pbnRlcnJ1cHQpCiAKK0VOVFJZKHV2X2JhdV9tZXNzYWdlX2ludHIxKQorCWFwaWNpbnRlcnJ1cHQgMjIwLHV2X2JhdV9tZXNzYWdlX2ludGVycnVwdAorRU5EKHV2X2JhdV9tZXNzYWdlX2ludHIxKQorCiBFTlRSWShlcnJvcl9pbnRlcnJ1cHQpCiAJYXBpY2ludGVycnVwdCBFUlJPUl9BUElDX1ZFQ1RPUixzbXBfZXJyb3JfaW50ZXJydXB0CiBFTkQoZXJyb3JfaW50ZXJydXB0KQpAQCAtNzMzLDYgKzg0NSw3IEBACiAgKi8gCQkKIAkubWFjcm8gemVyb2VudHJ5IHN5bQogCUlOVFJfRlJBTUUKKwlQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCiAJcHVzaHEgJDAJLyogcHVzaCBlcnJvciBjb2RlL29sZHJheCAqLyAKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAogCXB1c2hxICVyYXgJLyogcHVzaCByZWFsIG9sZHJheCB0byB0aGUgcmRpIHNsb3QgKi8gCkBAIC03NDUsNiArODU4LDcgQEAKIAogCS5tYWNybyBlcnJvcmVudHJ5IHN5bQogCVhDUFRfRlJBTUUKKwlQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCiAJcHVzaHEgJXJheAogCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4CiAJQ0ZJX1JFTF9PRkZTRVQgcmF4LDAKQEAgLTgxNCw3ICs5MjgsNyBAQAogCWptcCBpcnFfcmV0dXJuCiBwYXJhbm9pZF91c2Vyc3BhY2VcdHJhY2U6CiAJR0VUX1RIUkVBRF9JTkZPKCVyY3gpCi0JbW92bCB0aHJlYWRpbmZvX2ZsYWdzKCVyY3gpLCVlYngKKwltb3ZsIFRJX2ZsYWdzKCVyY3gpLCVlYngKIAlhbmRsICRfVElGX1dPUktfTUFTSywlZWJ4CiAJanogcGFyYW5vaWRfc3dhcGdzXHRyYWNlCiAJbW92cSAlcnNwLCVyZGkJCQkvKiAmcHRfcmVncyAqLwpAQCAtOTEyLDcgKzEwMjYsNyBAQAogCXRlc3RsICVlYXgsJWVheAogCWpuZSAgcmV0aW50X2tlcm5lbAogCUxPQ0tERVBfU1lTX0VYSVRfSVJRCi0JbW92bCAgdGhyZWFkaW5mb19mbGFncyglcmN4KSwlZWR4CisJbW92bCAgVElfZmxhZ3MoJXJjeCksJWVkeAogCW1vdmwgICRfVElGX1dPUktfTUFTSywlZWRpCiAJYW5kbCAgJWVkaSwlZWR4CiAJam56ICByZXRpbnRfY2FyZWZ1bApAQCAtOTI2LDExICsxMDQwLDExIEBACiAJICAgaXJldCBydW4gd2l0aCBrZXJuZWwgZ3MgYWdhaW4sIHNvIGRvbid0IHNldCB0aGUgdXNlciBzcGFjZSBmbGFnLgogCSAgIEIgc3RlcHBpbmcgSzhzIHNvbWV0aW1lcyByZXBvcnQgYW4gdHJ1bmNhdGVkIFJJUCBmb3IgSVJFVCAKIAkgICBleGNlcHRpb25zIHJldHVybmluZyB0byBjb21wYXQgbW9kZS4gQ2hlY2sgZm9yIHRoZXNlIGhlcmUgdG9vLiAqLwotCWxlYXEgaXJxX3JldHVybiglcmlwKSwlcmJwCi0JY21wcSAlcmJwLFJJUCglcnNwKSAKKwlsZWFxIGlycV9yZXR1cm4oJXJpcCksJXJjeAorCWNtcHEgJXJjeCxSSVAoJXJzcCkKIAlqZSAgIGVycm9yX3N3YXBncwotCW1vdmwgJWVicCwlZWJwCS8qIHplcm8gZXh0ZW5kICovCi0JY21wcSAlcmJwLFJJUCglcnNwKSAKKwltb3ZsICVlY3gsJWVjeAkvKiB6ZXJvIGV4dGVuZCAqLworCWNtcHEgJXJjeCxSSVAoJXJzcCkKIAlqZSAgIGVycm9yX3N3YXBncwogCWNtcHEgJGdzX2NoYW5nZSxSSVAoJXJzcCkKICAgICAgICAgamUgICBlcnJvcl9zd2FwZ3MKQEAgLTkzOSw3ICsxMDUzLDcgQEAKIAkKICAgICAgICAvKiBSZWxvYWQgZ3Mgc2VsZWN0b3Igd2l0aCBleGNlcHRpb24gaGFuZGxpbmcgKi8KICAgICAgICAvKiBlZGk6ICBuZXcgc2VsZWN0b3IgKi8gCi1FTlRSWShsb2FkX2dzX2luZGV4KQorRU5UUlkobmF0aXZlX2xvYWRfZ3NfaW5kZXgpCiAJQ0ZJX1NUQVJUUFJPQwogCXB1c2hmCiAJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKQEAgLTk1Myw3ICsxMDY3LDcgQEAKIAlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKICAgICAgICAgcmV0CiAJQ0ZJX0VORFBST0MKLUVORFBST0MobG9hZF9nc19pbmRleCkKK0VORFBST0MobmF0aXZlX2xvYWRfZ3NfaW5kZXgpCiAgICAgICAgCiAgICAgICAgIC5zZWN0aW9uIF9fZXhfdGFibGUsImEiCiAgICAgICAgIC5hbGlnbiA4CkBAIC0xMTIwLDEwICsxMjM0LDYgQEAKIAl6ZXJvZW50cnkgZG9fY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuCiBFTkQoY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogCi1FTlRSWShyZXNlcnZlZCkKLQl6ZXJvZW50cnkgZG9fcmVzZXJ2ZWQKLUVORChyZXNlcnZlZCkKLQogCS8qIHJ1bnMgb24gZXhjZXB0aW9uIHN0YWNrICovCiBFTlRSWShkb3VibGVfZmF1bHQpCiAJWENQVF9GUkFNRQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2Z0cmFjZS5jIGIvYXJjaC94ODYva2VybmVsL2Z0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMTE1Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvZnRyYWNlLmMKQEAgLTAsMCArMSwxNDEgQEAKKy8qCisgKiBDb2RlIGZvciByZXBsYWNpbmcgZnRyYWNlIGNhbGxzIHdpdGgganVtcHMuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgorICogVGhhbmtzIGdvZXMgdG8gSW5nbyBNb2xuYXIsIGZvciBzdWdnZXN0aW5nIHRoZSBpZGVhLgorICogTWF0aGlldSBEZXNub3llcnMsIGZvciBzdWdnZXN0aW5nIHBvc3Rwb25pbmcgdGhlIG1vZGlmaWNhdGlvbnMuCisgKiBBcmphbiB2YW4gZGUgVmVuLCBmb3Iga2VlcGluZyBtZSBzdHJhaWdodCwgYW5kIGV4cGxhaW5pbmcgdG8gbWUKKyAqIHRoZSBkYW5nZXJzIG9mIG1vZGlmeWluZyBjb2RlIG9uIHRoZSBydW4uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKKyNpbmNsdWRlIDxhc20vYWx0ZXJuYXRpdmUuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKworLyogTG9uZyBpcyBmaW5lLCBldmVuIGlmIGl0IGlzIG9ubHkgNCBieXRlcyA7LSkgKi8KK3N0YXRpYyBsb25nICpmdHJhY2Vfbm9wOworCit1bmlvbiBmdHJhY2VfY29kZV91bmlvbiB7CisJY2hhciBjb2RlW01DT1VOVF9JTlNOX1NJWkVdOworCXN0cnVjdCB7CisJCWNoYXIgZTg7CisJCWludCBvZmZzZXQ7CisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKK307CisKKworc3RhdGljIGludCBub3RyYWNlIGZ0cmFjZV9jYWxjX29mZnNldChsb25nIGlwLCBsb25nIGFkZHIpCit7CisJcmV0dXJuIChpbnQpKGFkZHIgLSBpcCk7Cit9CisKK25vdHJhY2UgdW5zaWduZWQgY2hhciAqZnRyYWNlX25vcF9yZXBsYWNlKHZvaWQpCit7CisJcmV0dXJuIChjaGFyICopZnRyYWNlX25vcDsKK30KKworbm90cmFjZSB1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlzdGF0aWMgdW5pb24gZnRyYWNlX2NvZGVfdW5pb24gY2FsYzsKKworCWNhbGMuZTgJCT0gMHhlODsKKwljYWxjLm9mZnNldAk9IGZ0cmFjZV9jYWxjX29mZnNldChpcCArIE1DT1VOVF9JTlNOX1NJWkUsIGFkZHIpOworCisJLyoKKwkgKiBObyBsb2NraW5nIG5lZWRlZCwgdGhpcyBtdXN0IGJlIGNhbGxlZCB2aWEga3N0b3BfbWFjaGluZQorCSAqIHdoaWNoIGluIGVzc2VuY2UgaXMgbGlrZSBydW5uaW5nIG9uIGEgdW5pcHJvY2Vzc29yIG1hY2hpbmUuCisJICovCisJcmV0dXJuIGNhbGMuY29kZTsKK30KKworbm90cmFjZSBpbnQKK2Z0cmFjZV9tb2RpZnlfY29kZSh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBjaGFyICpvbGRfY29kZSwKKwkJICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpCit7CisJdW5zaWduZWQgcmVwbGFjZWQ7CisJdW5zaWduZWQgb2xkID0gKih1bnNpZ25lZCAqKW9sZF9jb2RlOyAvKiA0IGJ5dGVzICovCisJdW5zaWduZWQgbmV3ID0gKih1bnNpZ25lZCAqKW5ld19jb2RlOyAvKiA0IGJ5dGVzICovCisJdW5zaWduZWQgY2hhciBuZXdjaCA9IG5ld19jb2RlWzRdOworCWludCBmYXVsdGVkID0gMDsKKworCS8qCisJICogTm90ZTogRHVlIHRvIG1vZHVsZXMgYW5kIF9faW5pdCwgY29kZSBjYW4KKwkgKiAgZGlzYXBwZWFyIGFuZCBjaGFuZ2UsIHdlIG5lZWQgdG8gcHJvdGVjdCBhZ2FpbnN0IGZhdWx0aW5nCisJICogIGFzIHdlbGwgYXMgY29kZSBjaGFuZ2luZy4KKwkgKgorCSAqIE5vIHJlYWwgbG9ja2luZyBuZWVkZWQsIHRoaXMgY29kZSBpcyBydW4gdGhyb3VnaAorCSAqIGtzdG9wX21hY2hpbmUuCisJICovCisJYXNtIHZvbGF0aWxlICgKKwkJIjE6IGxvY2tcbiIKKwkJIiAgIGNtcHhjaGcgJTMsICglMilcbiIKKwkJIiAgIGpueiAyZlxuIgorCQkiICAgbW92YiAlYjQsIDQoJTIpXG4iCisJCSIyOlxuIgorCQkiLnNlY3Rpb24gLmZpeHVwLCBcImF4XCJcbiIKKwkJIjM6CW1vdmwgJDEsICUwXG4iCisJCSIJam1wIDJiXG4iCisJCSIucHJldmlvdXNcbiIKKwkJX0FTTV9FWFRBQkxFKDFiLCAzYikKKwkJOiAiPXIiKGZhdWx0ZWQpLCAiPWEiKHJlcGxhY2VkKQorCQk6ICJyIihpcCksICJyIihuZXcpLCAiYyIobmV3Y2gpLAorCQkgICIwIihmYXVsdGVkKSwgImEiKG9sZCkKKwkJOiAibWVtb3J5Iik7CisJc3luY19jb3JlKCk7CisKKwlpZiAocmVwbGFjZWQgIT0gb2xkICYmIHJlcGxhY2VkICE9IG5ldykKKwkJZmF1bHRlZCA9IDI7CisKKwlyZXR1cm4gZmF1bHRlZDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfZnVuY190IGZ1bmMpCit7CisJdW5zaWduZWQgbG9uZyBpcCA9ICh1bnNpZ25lZCBsb25nKSgmZnRyYWNlX2NhbGwpOworCXVuc2lnbmVkIGNoYXIgb2xkW01DT1VOVF9JTlNOX1NJWkVdLCAqbmV3OworCWludCByZXQ7CisKKwltZW1jcHkob2xkLCAmZnRyYWNlX2NhbGwsIE1DT1VOVF9JTlNOX1NJWkUpOworCW5ldyA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsICh1bnNpZ25lZCBsb25nKWZ1bmMpOworCXJldCA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworCisJcmV0dXJuIHJldDsKK30KKworbm90cmFjZSBpbnQgZnRyYWNlX21jb3VudF9zZXQodW5zaWduZWQgbG9uZyAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGlwID0gKGxvbmcpKCZtY291bnRfY2FsbCk7CisJdW5zaWduZWQgbG9uZyAqYWRkciA9IGRhdGE7CisJdW5zaWduZWQgY2hhciBvbGRbTUNPVU5UX0lOU05fU0laRV0sICpuZXc7CisKKwkvKgorCSAqIFJlcGxhY2UgdGhlIG1jb3VudCBzdHViIHdpdGggYSBwb2ludGVyIHRvIHRoZQorCSAqIGlwIHJlY29yZGVyIGZ1bmN0aW9uLgorCSAqLworCW1lbWNweShvbGQsICZtY291bnRfY2FsbCwgTUNPVU5UX0lOU05fU0laRSk7CisJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgKmFkZHIpOworCSphZGRyID0gZnRyYWNlX21vZGlmeV9jb2RlKGlwLCBvbGQsIG5ldyk7CisKKwlyZXR1cm4gMDsKK30KKworaW50IF9faW5pdCBmdHJhY2VfZHluX2FyY2hfaW5pdCh2b2lkICpkYXRhKQoreworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvbnN0ICpub3B0YWJsZSA9IGZpbmRfbm9wX3RhYmxlKCk7CisKKwkvKiBUaGlzIGlzIHJ1bm5pbmcgaW4ga3N0b3BfbWFjaGluZSAqLworCisJZnRyYWNlX21jb3VudF9zZXQoZGF0YSk7CisKKwlmdHJhY2Vfbm9wID0gKHVuc2lnbmVkIGxvbmcgKilub3B0YWJsZVtNQ09VTlRfSU5TTl9TSVpFXTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2dlbmFwaWNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9nZW5hcGljXzY0LmMKaW5kZXggY2JhYWY2OS4uMWZhOGJlNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2dlbmFwaWNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvZ2VuYXBpY182NC5jCkBAIC01MSw3ICs1MSw3IEBACiAJZWxzZQogI2VuZGlmCiAKLQlpZiAobnVtX3Bvc3NpYmxlX2NwdXMoKSA8PSA4KQorCWlmIChtYXhfcGh5c2ljYWxfYXBpY2lkIDwgOCkKIAkJZ2VuYXBpYyA9ICZhcGljX2ZsYXQ7CiAJZWxzZQogCQlnZW5hcGljID0gJmFwaWNfcGh5c2ZsYXQ7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvZ2VueDJhcGljX3V2X3guYyBiL2FyY2gveDg2L2tlcm5lbC9nZW54MmFwaWNfdXZfeC5jCmluZGV4IGViZjEzOTAuLjcxMWYxMWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9nZW54MmFwaWNfdXZfeC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9nZW54MmFwaWNfdXZfeC5jCkBAIC01LDkgKzUsMTAgQEAKICAqCiAgKiBTR0kgVVYgQVBJQyBmdW5jdGlvbnMgKG5vdGU6IG5vdCBhbiBJbnRlbCBjb21wYXRpYmxlIEFQSUMpCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA3IFNpbGljb24gR3JhcGhpY3MsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFNpbGljb24gR3JhcGhpY3MsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqLwogCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTIwLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxhc20vc21wLmg+CiAjaW5jbHVkZSA8YXNtL2lwaS5oPgogI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vdXYvdXZfbW1ycy5oPgogI2luY2x1ZGUgPGFzbS91di91dl9odWIuaD4KIApAQCAtNTUsMzcgKzU3LDM3IEBACiBpbnQgdXZfd2FrZXVwX3NlY29uZGFyeShpbnQgcGh5c19hcGljaWQsIHVuc2lnbmVkIGludCBzdGFydF9yaXApCiB7CiAJdW5zaWduZWQgbG9uZyB2YWw7Ci0JaW50IG5hc2lkOworCWludCBwbm9kZTsKIAotCW5hc2lkID0gdXZfYXBpY2lkX3RvX25hc2lkKHBoeXNfYXBpY2lkKTsKKwlwbm9kZSA9IHV2X2FwaWNpZF90b19wbm9kZShwaHlzX2FwaWNpZCk7CiAJdmFsID0gKDFVTCA8PCBVVkhfSVBJX0lOVF9TRU5EX1NIRlQpIHwKIAkgICAgKHBoeXNfYXBpY2lkIDw8IFVWSF9JUElfSU5UX0FQSUNfSURfU0hGVCkgfAogCSAgICAoKChsb25nKXN0YXJ0X3JpcCA8PCBVVkhfSVBJX0lOVF9WRUNUT1JfU0hGVCkgPj4gMTIpIHwKIAkgICAgQVBJQ19ETV9JTklUOwotCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChuYXNpZCwgVVZIX0lQSV9JTlQsIHZhbCk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfSVBJX0lOVCwgdmFsKTsKIAltZGVsYXkoMTApOwogCiAJdmFsID0gKDFVTCA8PCBVVkhfSVBJX0lOVF9TRU5EX1NIRlQpIHwKIAkgICAgKHBoeXNfYXBpY2lkIDw8IFVWSF9JUElfSU5UX0FQSUNfSURfU0hGVCkgfAogCSAgICAoKChsb25nKXN0YXJ0X3JpcCA8PCBVVkhfSVBJX0lOVF9WRUNUT1JfU0hGVCkgPj4gMTIpIHwKIAkgICAgQVBJQ19ETV9TVEFSVFVQOwotCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChuYXNpZCwgVVZIX0lQSV9JTlQsIHZhbCk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfSVBJX0lOVCwgdmFsKTsKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgdXZfc2VuZF9JUElfb25lKGludCBjcHUsIGludCB2ZWN0b3IpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWwsIGFwaWNpZCwgbGFwaWNpZDsKLQlpbnQgbmFzaWQ7CisJaW50IHBub2RlOwogCiAJYXBpY2lkID0gcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KTsgLyogWlpaIC0gY2FjaGUgbm9kZS1sb2NhbCA/ICovCiAJbGFwaWNpZCA9IGFwaWNpZCAmIDB4M2Y7CQkvKiBaWlogbWFjcm8gbmVlZGVkICovCi0JbmFzaWQgPSB1dl9hcGljaWRfdG9fbmFzaWQoYXBpY2lkKTsKKwlwbm9kZSA9IHV2X2FwaWNpZF90b19wbm9kZShhcGljaWQpOwogCXZhbCA9CiAJICAgICgxVUwgPDwgVVZIX0lQSV9JTlRfU0VORF9TSEZUKSB8IChsYXBpY2lkIDw8CiAJCQkJCSAgICAgIFVWSF9JUElfSU5UX0FQSUNfSURfU0hGVCkgfAogCSAgICAodmVjdG9yIDw8IFVWSF9JUElfSU5UX1ZFQ1RPUl9TSEZUKTsKLQl1dl93cml0ZV9nbG9iYWxfbW1yNjQobmFzaWQsIFVWSF9JUElfSU5ULCB2YWwpOworCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0lQSV9JTlQsIHZhbCk7CiB9CiAKIHN0YXRpYyB2b2lkIHV2X3NlbmRfSVBJX21hc2soY3B1bWFza190IG1hc2ssIGludCB2ZWN0b3IpCkBAIC0xNTksMzkgKzE2MSwxNDYgQEAKIAkucGh5c19wa2dfaWQgPSBwaHlzX3BrZ19pZCwJLyogRml4bWUgWlpaICovCiB9OwogCi1zdGF0aWMgX19jcHVpbml0IHZvaWQgc2V0X3gyYXBpY19leHRyYV9iaXRzKGludCBuYXNpZCkKK3N0YXRpYyBfX2NwdWluaXQgdm9pZCBzZXRfeDJhcGljX2V4dHJhX2JpdHMoaW50IHBub2RlKQogewotCV9fZ2V0X2NwdV92YXIoeDJhcGljX2V4dHJhX2JpdHMpID0gKChuYXNpZCA+PiAxKSA8PCA2KTsKKwlfX2dldF9jcHVfdmFyKHgyYXBpY19leHRyYV9iaXRzKSA9IChwbm9kZSA8PCA2KTsKIH0KIAogLyoKICAqIENhbGxlZCBvbiBib290IGNwdS4KICAqLworc3RhdGljIF9faW5pdCBpbnQgYm9vdF9wbm9kZV90b19ibGFkZShpbnQgcG5vZGUpCit7CisJaW50IGJsYWRlOworCisJZm9yIChibGFkZSA9IDA7IGJsYWRlIDwgdXZfbnVtX3Bvc3NpYmxlX2JsYWRlcygpOyBibGFkZSsrKQorCQlpZiAocG5vZGUgPT0gdXZfYmxhZGVfaW5mb1tibGFkZV0ucG5vZGUpCisJCQlyZXR1cm4gYmxhZGU7CisJQlVHKCk7Cit9CisKK3N0cnVjdCByZWRpcl9hZGRyIHsKKwl1bnNpZ25lZCBsb25nIHJlZGlyZWN0OworCXVuc2lnbmVkIGxvbmcgYWxpYXM7Cit9OworCisjZGVmaW5lIERFU1RfU0hJRlQgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVJfREVTVF9CQVNFX1NIRlQKKworc3RhdGljIF9faW5pdGRhdGEgc3RydWN0IHJlZGlyX2FkZHIgcmVkaXJfYWRkcnNbXSA9IHsKKwl7VVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVIsIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUd9LAorCXtVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18xX01NUiwgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR30sCisJe1VWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzJfTU1SLCBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHfSwKK307CisKK3N0YXRpYyBfX2luaXQgdm9pZCBnZXRfbG93bWVtX3JlZGlyZWN0KHVuc2lnbmVkIGxvbmcgKmJhc2UsIHVuc2lnbmVkIGxvbmcgKnNpemUpCit7CisJdW5pb24gdXZoX3NpX2FsaWFzMF9vdmVybGF5X2NvbmZpZ191IGFsaWFzOworCXVuaW9uIHV2aF9yaF9nYW1fYWxpYXMyMTBfcmVkaXJlY3RfY29uZmlnXzJfbW1yX3UgcmVkaXJlY3Q7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWRpcl9hZGRycyk7IGkrKykgeworCQlhbGlhcy52ID0gdXZfcmVhZF9sb2NhbF9tbXIocmVkaXJfYWRkcnNbaV0uYWxpYXMpOworCQlpZiAoYWxpYXMucy5iYXNlID09IDApIHsKKwkJCSpzaXplID0gKDFVTCA8PCBhbGlhcy5zLm1fYWxpYXMpOworCQkJcmVkaXJlY3QudiA9IHV2X3JlYWRfbG9jYWxfbW1yKHJlZGlyX2FkZHJzW2ldLnJlZGlyZWN0KTsKKwkJCSpiYXNlID0gKHVuc2lnbmVkIGxvbmcpcmVkaXJlY3Qucy5kZXN0X2Jhc2UgPDwgREVTVF9TSElGVDsKKwkJCXJldHVybjsKKwkJfQorCX0KKwlCVUcoKTsKK30KKworc3RhdGljIF9faW5pdCB2b2lkIG1hcF9sb3dfbW1ycyh2b2lkKQoreworCWluaXRfZXh0cmFfbWFwcGluZ191YyhVVl9HTE9CQUxfTU1SMzJfQkFTRSwgVVZfR0xPQkFMX01NUjMyX1NJWkUpOworCWluaXRfZXh0cmFfbWFwcGluZ191YyhVVl9MT0NBTF9NTVJfQkFTRSwgVVZfTE9DQUxfTU1SX1NJWkUpOworfQorCitlbnVtIG1hcF90eXBlIHttYXBfd2IsIG1hcF91Y307CisKK3N0YXRpYyB2b2lkIG1hcF9oaWdoKGNoYXIgKmlkLCB1bnNpZ25lZCBsb25nIGJhc2UsIGludCBzaGlmdCwgZW51bSBtYXBfdHlwZSBtYXBfdHlwZSkKK3sKKwl1bnNpZ25lZCBsb25nIGJ5dGVzLCBwYWRkcjsKKworCXBhZGRyID0gYmFzZSA8PCBzaGlmdDsKKwlieXRlcyA9ICgxVUwgPDwgc2hpZnQpOworCXByaW50ayhLRVJOX0lORk8gIlVWOiBNYXAgJXNfSEkgMHglbHggLSAweCVseFxuIiwgaWQsIHBhZGRyLAorCSAgICAgICAJCQkJCXBhZGRyICsgYnl0ZXMpOworCWlmIChtYXBfdHlwZSA9PSBtYXBfdWMpCisJCWluaXRfZXh0cmFfbWFwcGluZ191YyhwYWRkciwgYnl0ZXMpOworCWVsc2UKKwkJaW5pdF9leHRyYV9tYXBwaW5nX3diKHBhZGRyLCBieXRlcyk7CisKK30KK3N0YXRpYyBfX2luaXQgdm9pZCBtYXBfZ3J1X2hpZ2goaW50IG1heF9wbm9kZSkKK3sKKwl1bmlvbiB1dmhfcmhfZ2FtX2dydV9vdmVybGF5X2NvbmZpZ19tbXJfdSBncnU7CisJaW50IHNoaWZ0ID0gVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVDsKKworCWdydS52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SKTsKKwlpZiAoZ3J1LnMuZW5hYmxlKQorCQltYXBfaGlnaCgiR1JVIiwgZ3J1LnMuYmFzZSwgc2hpZnQsIG1hcF93Yik7Cit9CisKK3N0YXRpYyBfX2luaXQgdm9pZCBtYXBfY29uZmlnX2hpZ2goaW50IG1heF9wbm9kZSkKK3sKKwl1bmlvbiB1dmhfcmhfZ2FtX2NmZ19vdmVybGF5X2NvbmZpZ19tbXJfdSBjZmc7CisJaW50IHNoaWZ0ID0gVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVDsKKworCWNmZy52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SKTsKKwlpZiAoY2ZnLnMuZW5hYmxlKQorCQltYXBfaGlnaCgiQ09ORklHIiwgY2ZnLnMuYmFzZSwgc2hpZnQsIG1hcF91Yyk7Cit9CisKK3N0YXRpYyBfX2luaXQgdm9pZCBtYXBfbW1yX2hpZ2goaW50IG1heF9wbm9kZSkKK3sKKwl1bmlvbiB1dmhfcmhfZ2FtX21tcl9vdmVybGF5X2NvbmZpZ19tbXJfdSBtbXI7CisJaW50IHNoaWZ0ID0gVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVDsKKworCW1tci52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SKTsKKwlpZiAobW1yLnMuZW5hYmxlKQorCQltYXBfaGlnaCgiTU1SIiwgbW1yLnMuYmFzZSwgc2hpZnQsIG1hcF91Yyk7Cit9CisKK3N0YXRpYyBfX2luaXQgdm9pZCBtYXBfbW1pb2hfaGlnaChpbnQgbWF4X3Bub2RlKQoreworCXVuaW9uIHV2aF9yaF9nYW1fbW1pb2hfb3ZlcmxheV9jb25maWdfbW1yX3UgbW1pb2g7CisJaW50IHNoaWZ0ID0gVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUOworCisJbW1pb2gudiA9IHV2X3JlYWRfbG9jYWxfbW1yKFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SKTsKKwlpZiAobW1pb2gucy5lbmFibGUpCisJCW1hcF9oaWdoKCJNTUlPSCIsIG1taW9oLnMuYmFzZSwgc2hpZnQsIG1hcF91Yyk7Cit9CisKIHN0YXRpYyBfX2luaXQgdm9pZCB1dl9zeXN0ZW1faW5pdCh2b2lkKQogewogCXVuaW9uIHV2aF9zaV9hZGRyX21hcF9jb25maWdfdSBtX25fY29uZmlnOwotCWludCBieXRlcywgbmlkLCBjcHUsIGxjcHUsIG5hc2lkLCBsYXN0X25hc2lkLCBibGFkZTsKLQl1bnNpZ25lZCBsb25nIG1tcl9iYXNlOworCXVuaW9uIHV2aF9ub2RlX2lkX3Ugbm9kZV9pZDsKKwl1bnNpZ25lZCBsb25nIGdub2RlX3VwcGVyLCBsb3dtZW1fcmVkaXJfYmFzZSwgbG93bWVtX3JlZGlyX3NpemU7CisJaW50IGJ5dGVzLCBuaWQsIGNwdSwgbGNwdSwgcG5vZGUsIGJsYWRlLCBpLCBqLCBtX3ZhbCwgbl92YWw7CisJaW50IG1heF9wbm9kZSA9IDA7CisJdW5zaWduZWQgbG9uZyBtbXJfYmFzZSwgcHJlc2VudDsKKworCW1hcF9sb3dfbW1ycygpOwogCiAJbV9uX2NvbmZpZy52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX1NJX0FERFJfTUFQX0NPTkZJRyk7CisJbV92YWwgPSBtX25fY29uZmlnLnMubV9za3Q7CisJbl92YWwgPSBtX25fY29uZmlnLnMubl9za3Q7CiAJbW1yX2Jhc2UgPQogCSAgICB1dl9yZWFkX2xvY2FsX21tcihVVkhfUkhfR0FNX01NUl9PVkVSTEFZX0NPTkZJR19NTVIpICYKIAkgICAgflVWX01NUl9FTkFCTEU7CiAJcHJpbnRrKEtFUk5fREVCVUcgIlVWOiBnbG9iYWwgTU1SIGJhc2UgMHglbHhcbiIsIG1tcl9iYXNlKTsKIAotCWxhc3RfbmFzaWQgPSAtMTsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7Ci0JCW5pZCA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCW5hc2lkID0gdXZfYXBpY2lkX3RvX25hc2lkKHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSkpOwotCQlpZiAobmFzaWQgIT0gbGFzdF9uYXNpZCkKLQkJCXV2X3Bvc3NpYmxlX2JsYWRlcysrOwotCQlsYXN0X25hc2lkID0gbmFzaWQ7Ci0JfQorCWZvcihpID0gMDsgaSA8IFVWSF9OT0RFX1BSRVNFTlRfVEFCTEVfREVQVEg7IGkrKykKKwkJdXZfcG9zc2libGVfYmxhZGVzICs9CisJCSAgaHdlaWdodDY0KHV2X3JlYWRfbG9jYWxfbW1yKCBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFICsgaSAqIDgpKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiVVY6IEZvdW5kICVkIGJsYWRlc1xuIiwgdXZfbnVtX3Bvc3NpYmxlX2JsYWRlcygpKTsKIAogCWJ5dGVzID0gc2l6ZW9mKHN0cnVjdCB1dl9ibGFkZV9pbmZvKSAqIHV2X251bV9wb3NzaWJsZV9ibGFkZXMoKTsKIAl1dl9ibGFkZV9pbmZvID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhieXRlcyk7CiAKKwlnZXRfbG93bWVtX3JlZGlyZWN0KCZsb3dtZW1fcmVkaXJfYmFzZSwgJmxvd21lbV9yZWRpcl9zaXplKTsKKwogCWJ5dGVzID0gc2l6ZW9mKHV2X25vZGVfdG9fYmxhZGVbMF0pICogbnVtX3Bvc3NpYmxlX25vZGVzKCk7CiAJdXZfbm9kZV90b19ibGFkZSA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoYnl0ZXMpOwogCW1lbXNldCh1dl9ub2RlX3RvX2JsYWRlLCAyNTUsIGJ5dGVzKTsKQEAgLTIwMCw0MyArMzA5LDYyIEBACiAJdXZfY3B1X3RvX2JsYWRlID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhieXRlcyk7CiAJbWVtc2V0KHV2X2NwdV90b19ibGFkZSwgMjU1LCBieXRlcyk7CiAKLQlsYXN0X25hc2lkID0gLTE7Ci0JYmxhZGUgPSAtMTsKLQlsY3B1ID0gLTE7Ci0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgewotCQluaWQgPSBjcHVfdG9fbm9kZShjcHUpOwotCQluYXNpZCA9IHV2X2FwaWNpZF90b19uYXNpZChwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpKTsKLQkJaWYgKG5hc2lkICE9IGxhc3RfbmFzaWQpIHsKLQkJCWJsYWRlKys7Ci0JCQlsY3B1ID0gLTE7Ci0JCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NpYmxlX2NwdXMgPSAwOworCWJsYWRlID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgVVZIX05PREVfUFJFU0VOVF9UQUJMRV9ERVBUSDsgaSsrKSB7CisJCXByZXNlbnQgPSB1dl9yZWFkX2xvY2FsX21tcihVVkhfTk9ERV9QUkVTRU5UX1RBQkxFICsgaSAqIDgpOworCQlmb3IgKGogPSAwOyBqIDwgNjQ7IGorKykgeworCQkJaWYgKCF0ZXN0X2JpdChqLCAmcHJlc2VudCkpCisJCQkJY29udGludWU7CisJCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5wbm9kZSA9IChpICogNjQgKyBqKTsKKwkJCXV2X2JsYWRlX2luZm9bYmxhZGVdLm5yX3Bvc3NpYmxlX2NwdXMgPSAwOwogCQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfb25saW5lX2NwdXMgPSAwOworCQkJYmxhZGUrKzsKIAkJfQotCQlsYXN0X25hc2lkID0gbmFzaWQ7Ci0JCWxjcHUrKzsKKwl9CiAKLQkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm1fdmFsID0gbV9uX2NvbmZpZy5zLm1fc2t0OwotCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bl92YWwgPSBtX25fY29uZmlnLnMubl9za3Q7CisJbm9kZV9pZC52ID0gdXZfcmVhZF9sb2NhbF9tbXIoVVZIX05PREVfSUQpOworCWdub2RlX3VwcGVyID0gKCgodW5zaWduZWQgbG9uZylub2RlX2lkLnMubm9kZV9pZCkgJgorCQkgICAgICAgfigoMSA8PCBuX3ZhbCkgLSAxKSkgPDwgbV92YWw7CisKKwlmb3JfZWFjaF9wcmVzZW50X2NwdShjcHUpIHsKKwkJbmlkID0gY3B1X3RvX25vZGUoY3B1KTsKKwkJcG5vZGUgPSB1dl9hcGljaWRfdG9fcG5vZGUocGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSk7CisJCWJsYWRlID0gYm9vdF9wbm9kZV90b19ibGFkZShwbm9kZSk7CisJCWxjcHUgPSB1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NzaWJsZV9jcHVzOworCQl1dl9ibGFkZV9pbmZvW2JsYWRlXS5ucl9wb3NzaWJsZV9jcHVzKys7CisKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmxvd21lbV9yZW1hcF9iYXNlID0gbG93bWVtX3JlZGlyX2Jhc2U7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5sb3dtZW1fcmVtYXBfdG9wID0KKwkJCQkJbG93bWVtX3JlZGlyX2Jhc2UgKyBsb3dtZW1fcmVkaXJfc2l6ZTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPm1fdmFsID0gbV92YWw7CisJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5uX3ZhbCA9IG1fdmFsOwogCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+bnVtYV9ibGFkZV9pZCA9IGJsYWRlOwogCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+YmxhZGVfcHJvY2Vzc29yX2lkID0gbGNwdTsKLQkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmxvY2FsX25hc2lkID0gbmFzaWQ7Ci0JCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5nbm9kZV91cHBlciA9Ci0JCSAgICBuYXNpZCAmIH4oKDEgPDwgdXZfaHViX2luZm8tPm5fdmFsKSAtIDEpOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+cG5vZGUgPSBwbm9kZTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPnBub2RlX21hc2sgPSAoMSA8PCBuX3ZhbCkgLSAxOworCQl1dl9jcHVfaHViX2luZm8oY3B1KS0+Z3BhX21hc2sgPSAoMSA8PCAobV92YWwgKyBuX3ZhbCkpIC0gMTsKKwkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmdub2RlX3VwcGVyID0gZ25vZGVfdXBwZXI7CiAJCXV2X2NwdV9odWJfaW5mbyhjcHUpLT5nbG9iYWxfbW1yX2Jhc2UgPSBtbXJfYmFzZTsKIAkJdXZfY3B1X2h1Yl9pbmZvKGNwdSktPmNvaGVyZW5jeV9kb21haW5fbnVtYmVyID0gMDsvKiBaWlogKi8KLQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubmFzaWQgPSBuYXNpZDsKLQkJdXZfYmxhZGVfaW5mb1tibGFkZV0ubnJfcG9zaWJsZV9jcHVzKys7CiAJCXV2X25vZGVfdG9fYmxhZGVbbmlkXSA9IGJsYWRlOwogCQl1dl9jcHVfdG9fYmxhZGVbY3B1XSA9IGJsYWRlOworCQltYXhfcG5vZGUgPSBtYXgocG5vZGUsIG1heF9wbm9kZSk7CiAKLQkJcHJpbnRrKEtFUk5fREVCVUcgIlVWIGNwdSAlZCwgYXBpY2lkIDB4JXgsIG5hc2lkICVkLCBuaWQgJWRcbiIsCi0JCSAgICAgICBjcHUsIHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGNwdSksIG5hc2lkLCBuaWQpOwotCQlwcmludGsoS0VSTl9ERUJVRyAiVVYgICBsY3B1ICVkLCBibGFkZSAlZFxuIiwgbGNwdSwgYmxhZGUpOworCQlwcmludGsoS0VSTl9ERUJVRyAiVVY6IGNwdSAlZCwgYXBpY2lkIDB4JXgsIHBub2RlICVkLCBuaWQgJWQsICIKKwkJCSJsY3B1ICVkLCBibGFkZSAlZFxuIiwKKwkJCWNwdSwgcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSwgcG5vZGUsIG5pZCwKKwkJCWxjcHUsIGJsYWRlKTsKIAl9CisKKwltYXBfZ3J1X2hpZ2gobWF4X3Bub2RlKTsKKwltYXBfbW1yX2hpZ2gobWF4X3Bub2RlKTsKKwltYXBfY29uZmlnX2hpZ2gobWF4X3Bub2RlKTsKKwltYXBfbW1pb2hfaGlnaChtYXhfcG5vZGUpOwogfQogCiAvKgogICogQ2FsbGVkIG9uIGVhY2ggY3B1IHRvIGluaXRpYWxpemUgdGhlIHBlcl9jcHUgVVYgZGF0YSBhcmVhLgorICogCVpaWiBob3RwbHVnIG5vdCBzdXBwb3J0ZWQgeWV0CiAgKi8KIHZvaWQgX19jcHVpbml0IHV2X2NwdV9pbml0KHZvaWQpCiB7CkBAIC0yNDYsNSArMzc0LDUgQEAKIAl1dl9ibGFkZV9pbmZvW3V2X251bWFfYmxhZGVfaWQoKV0ubnJfb25saW5lX2NwdXMrKzsKIAogCWlmIChnZXRfdXZfc3lzdGVtX3R5cGUoKSA9PSBVVl9OT05fVU5JUVVFX0FQSUMpCi0JCXNldF94MmFwaWNfZXh0cmFfYml0cyh1dl9odWJfaW5mby0+bG9jYWxfbmFzaWQpOworCQlzZXRfeDJhcGljX2V4dHJhX2JpdHModXZfaHViX2luZm8tPnBub2RlKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNjZiZDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZC5jCkBAIC0wLDAgKzEsNTUgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisKKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisKKyNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCisKKy8qCisgKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAorICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgorICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKKyAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgorICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCisgKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCisgKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAorICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KKyAqLwordm9pZCBfX2luaXQgcmVzZXJ2ZV9lYmRhX3JlZ2lvbih2b2lkKQoreworCXVuc2lnbmVkIGludCBsb3dtZW0sIGViZGFfYWRkcjsKKworCS8qIFRvIGRldGVybWluZSB0aGUgcG9zaXRpb24gb2YgdGhlIEVCREEgYW5kIHRoZSAqLworCS8qIGVuZCBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCB3ZSBuZWVkIHRvIGxvb2sgYXQgKi8KKwkvKiB0aGUgQklPUyBkYXRhIGFyZWEuIEluIGEgcGFyYXZpcnR1YWwgZW52aXJvbm1lbnQgKi8KKwkvKiB0aGF0IGFyZWEgaXMgYWJzZW50LiBXZSdsbCBqdXN0IGhhdmUgdG8gYXNzdW1lICovCisJLyogdGhhdCB0aGUgcGFyYXZpcnQgY2FzZSBjYW4gaGFuZGxlIG1lbW9yeSBzZXR1cCAqLworCS8qIGNvcnJlY3RseSwgd2l0aG91dCBvdXIgaGVscC4gKi8KKwlpZiAocGFyYXZpcnRfZW5hYmxlZCgpKQorCQlyZXR1cm47CisKKwkvKiBlbmQgb2YgbG93IChjb252ZW50aW9uYWwpIG1lbW9yeSAqLworCWxvd21lbSA9ICoodW5zaWduZWQgc2hvcnQgKilfX3ZhKEJJT1NfTE9XTUVNX0tJTE9CWVRFUyk7CisJbG93bWVtIDw8PSAxMDsKKworCS8qIHN0YXJ0IG9mIEVCREEgYXJlYSAqLworCWViZGFfYWRkciA9IGdldF9iaW9zX2ViZGEoKTsKKworCS8qIEZpeHVwOiBiaW9zIHB1dHMgYW4gRUJEQSBpbiB0aGUgdG9wIDY0SyBzZWdtZW50ICovCisJLyogb2YgY29udmVudGlvbmFsIG1lbW9yeSwgYnV0IGRvZXMgbm90IGFkanVzdCBsb3dtZW0uICovCisJaWYgKChsb3dtZW0gLSBlYmRhX2FkZHIpIDw9IDB4MTAwMDApCisJCWxvd21lbSA9IGViZGFfYWRkcjsKKworCS8qIEZpeHVwOiBiaW9zIGRvZXMgbm90IHJlcG9ydCBhbiBFQkRBIGF0IGFsbC4gKi8KKwkvKiBTb21lIG9sZCBEZWxscyBzZWVtIHRvIG5lZWQgNGsgYW55aG93IChidWd6aWxsYSAyOTkwKSAqLworCWlmICgoZWJkYV9hZGRyID09IDApICYmIChsb3dtZW0gPj0gMHg5ZjAwMCkpCisJCWxvd21lbSA9IDB4OWYwMDA7CisKKwkvKiBQYXJhbm9pYTogc2hvdWxkIG5ldmVyIGhhcHBlbiwgYnV0Li4uICovCisJaWYgKChsb3dtZW0gPT0gMCkgfHwgKGxvd21lbSA+PSAweDEwMDAwMCkpCisJCWxvd21lbSA9IDB4OWYwMDA7CisKKwkvKiByZXNlcnZlIGFsbCBtZW1vcnkgYmV0d2VlbiBsb3dtZW0gYW5kIHRoZSAxTUIgbWFyayAqLworCXJlc2VydmVfZWFybHlfb3ZlcmxhcF9vayhsb3dtZW0sIDB4MTAwMDAwLCAiQklPUyByZXNlcnZlZCIpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQzMi5jIGIvYXJjaC94ODYva2VybmVsL2hlYWQzMi5jCmluZGV4IDNkYjA1OTAuLmZhMWQyNWQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKQEAgLTgsNyArOCwzNCBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFydF9rZXJuZWwuaD4KIAorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgorI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5oPgorCiB2b2lkIF9faW5pdCBpMzg2X3N0YXJ0X2tlcm5lbCh2b2lkKQogeworCXJlc2VydmVfZWFybHkoX19wYV9zeW1ib2woJl90ZXh0KSwgX19wYV9zeW1ib2woJl9lbmQpLCAiVEVYVCBEQVRBIEJTUyIpOworCisjaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECisJLyogUmVzZXJ2ZSBJTklUUkQgKi8KKwlpZiAoYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyICYmIGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlKSB7CisJCXU2NCByYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJCXU2NCByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKKwkJdTY0IHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOworCQlyZXNlcnZlX2Vhcmx5KHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfZW5kLCAiUkFNRElTSyIpOworCX0KKyNlbmRpZgorCXJlc2VydmVfZWFybHkoaW5pdF9wZ190YWJsZXNfc3RhcnQsIGluaXRfcGdfdGFibGVzX2VuZCwKKwkJCSJJTklUX1BHX1RBQkxFIik7CisKKwlyZXNlcnZlX2ViZGFfcmVnaW9uKCk7CisKKwkvKgorCSAqIEF0IHRoaXMgcG9pbnQgZXZlcnl0aGluZyBzdGlsbCBuZWVkZWQgZnJvbSB0aGUgYm9vdCBsb2FkZXIKKwkgKiBvciBCSU9TIG9yIGtlcm5lbCB0ZXh0IHNob3VsZCBiZSBlYXJseSByZXNlcnZlZCBvciBtYXJrZWQgbm90CisJICogUkFNIGluIGU4MjAuIEFsbCBvdGhlciBtZW1vcnkgaXMgZnJlZSBnYW1lLgorCSAqLworCiAJc3RhcnRfa2VybmVsKCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDY0LmMKaW5kZXggZTI1YzU3Yi4uYzk3ODE5OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkNjQuYwpAQCAtMjUsNiArMjUsMjAgQEAKICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KIAorLyogYm9vdCBjcHUgcGRhICovCitzdGF0aWMgc3RydWN0IHg4NjY0X3BkYSBfYm9vdF9jcHVfcGRhIF9fcmVhZF9tb3N0bHk7CisKKyNpZmRlZiBDT05GSUdfU01QCisvKgorICogV2UgaW5zdGFsbCBhbiBlbXB0eSBjcHVfcGRhIHBvaW50ZXIgdGFibGUgdG8gaW5kaWNhdGUgdG8gZWFybHkgdXNlcnMKKyAqIChudW1hX3NldF9ub2RlKSB0aGF0IHRoZSBjcHVfcGRhIHBvaW50ZXIgdGFibGUgZm9yIGNwdXMgb3RoZXIgdGhhbgorICogdGhlIGJvb3QgY3B1IGlzIG5vdCB5ZXQgc2V0dXAuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgeDg2NjRfcGRhICpfX2NwdV9wZGFbTlJfQ1BVU10gX19pbml0ZGF0YTsKKyNlbHNlCitzdGF0aWMgc3RydWN0IHg4NjY0X3BkYSAqX19jcHVfcGRhW05SX0NQVVNdIF9fcmVhZF9tb3N0bHk7CisjZW5kaWYKKwogc3RhdGljIHZvaWQgX19pbml0IHphcF9pZGVudGl0eV9tYXBwaW5ncyh2b2lkKQogewogCXBnZF90ICpwZ2QgPSBwZ2Rfb2Zmc2V0X2soMFVMKTsKQEAgLTUxLDc0ICs2NSw2IEBACiAJfQogfQogCi0jZGVmaW5lIEJJT1NfTE9XTUVNX0tJTE9CWVRFUyAweDQxMwotCi0vKgotICogVGhlIEJJT1MgcGxhY2VzIHRoZSBFQkRBL1hCREEgYXQgdGhlIHRvcCBvZiBjb252ZW50aW9uYWwKLSAqIG1lbW9yeSwgYW5kIHVzdWFsbHkgZGVjcmVhc2VzIHRoZSByZXBvcnRlZCBhbW91bnQgb2YKLSAqIGNvbnZlbnRpb25hbCBtZW1vcnkgKGludCAweDEyKSB0b28uIFRoaXMgYWxzbyBjb250YWlucyBhCi0gKiB3b3JrYXJvdW5kIGZvciBEZWxsIHN5c3RlbXMgdGhhdCBuZWdsZWN0IHRvIHJlc2VydmUgRUJEQS4KLSAqIFRoZSBzYW1lIHdvcmthcm91bmQgYWxzbyBhdm9pZHMgYSBwcm9ibGVtIHdpdGggdGhlIEFNRDc2OE1QWAotICogY2hpcHNldDogcmVzZXJ2ZSBhIHBhZ2UgYmVmb3JlIFZHQSB0byBwcmV2ZW50IFBDSSBwcmVmZXRjaAotICogaW50byBpdCAoZXJyYXRhICM1NikuIFVzdWFsbHkgdGhlIHBhZ2UgaXMgcmVzZXJ2ZWQgYW55d2F5cywKLSAqIHVubGVzcyB5b3UgaGF2ZSBubyBQUy8yIG1vdXNlIHBsdWdnZWQgaW4uCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2ViZGFfcmVnaW9uKHZvaWQpCi17Ci0JdW5zaWduZWQgaW50IGxvd21lbSwgZWJkYV9hZGRyOwotCi0JLyogVG8gZGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgRUJEQSBhbmQgdGhlICovCi0JLyogZW5kIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIHdlIG5lZWQgdG8gbG9vayBhdCAqLwotCS8qIHRoZSBCSU9TIGRhdGEgYXJlYS4gSW4gYSBwYXJhdmlydHVhbCBlbnZpcm9ubWVudCAqLwotCS8qIHRoYXQgYXJlYSBpcyBhYnNlbnQuIFdlJ2xsIGp1c3QgaGF2ZSB0byBhc3N1bWUgKi8KLQkvKiB0aGF0IHRoZSBwYXJhdmlydCBjYXNlIGNhbiBoYW5kbGUgbWVtb3J5IHNldHVwICovCi0JLyogY29ycmVjdGx5LCB3aXRob3V0IG91ciBoZWxwLiAqLwotCWlmIChwYXJhdmlydF9lbmFibGVkKCkpCi0JCXJldHVybjsKLQotCS8qIGVuZCBvZiBsb3cgKGNvbnZlbnRpb25hbCkgbWVtb3J5ICovCi0JbG93bWVtID0gKih1bnNpZ25lZCBzaG9ydCAqKV9fdmEoQklPU19MT1dNRU1fS0lMT0JZVEVTKTsKLQlsb3dtZW0gPDw9IDEwOwotCi0JLyogc3RhcnQgb2YgRUJEQSBhcmVhICovCi0JZWJkYV9hZGRyID0gZ2V0X2Jpb3NfZWJkYSgpOwotCi0JLyogRml4dXA6IGJpb3MgcHV0cyBhbiBFQkRBIGluIHRoZSB0b3AgNjRLIHNlZ21lbnQgKi8KLQkvKiBvZiBjb252ZW50aW9uYWwgbWVtb3J5LCBidXQgZG9lcyBub3QgYWRqdXN0IGxvd21lbS4gKi8KLQlpZiAoKGxvd21lbSAtIGViZGFfYWRkcikgPD0gMHgxMDAwMCkKLQkJbG93bWVtID0gZWJkYV9hZGRyOwotCi0JLyogRml4dXA6IGJpb3MgZG9lcyBub3QgcmVwb3J0IGFuIEVCREEgYXQgYWxsLiAqLwotCS8qIFNvbWUgb2xkIERlbGxzIHNlZW0gdG8gbmVlZCA0ayBhbnlob3cgKGJ1Z3ppbGxhIDI5OTApICovCi0JaWYgKChlYmRhX2FkZHIgPT0gMCkgJiYgKGxvd21lbSA+PSAweDlmMDAwKSkKLQkJbG93bWVtID0gMHg5ZjAwMDsKLQotCS8qIFBhcmFub2lhOiBzaG91bGQgbmV2ZXIgaGFwcGVuLCBidXQuLi4gKi8KLQlpZiAoKGxvd21lbSA9PSAwKSB8fCAobG93bWVtID49IDB4MTAwMDAwKSkKLQkJbG93bWVtID0gMHg5ZjAwMDsKLQotCS8qIHJlc2VydmUgYWxsIG1lbW9yeSBiZXR3ZWVuIGxvd21lbSBhbmQgdGhlIDFNQiBtYXJrICovCi0JcmVzZXJ2ZV9lYXJseShsb3dtZW0sIDB4MTAwMDAwLCAiQklPUyByZXNlcnZlZCIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9zZXR1cF9kYXRhKHZvaWQpCi17Ci0Jc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7Ci0JdW5zaWduZWQgbG9uZyBwYV9kYXRhOwotCWNoYXIgYnVmWzMyXTsKLQotCWlmIChib290X3BhcmFtcy5oZHIudmVyc2lvbiA8IDB4MDIwOSkKLQkJcmV0dXJuOwotCXBhX2RhdGEgPSBib290X3BhcmFtcy5oZHIuc2V0dXBfZGF0YTsKLQl3aGlsZSAocGFfZGF0YSkgewotCQlkYXRhID0gZWFybHlfaW9yZW1hcChwYV9kYXRhLCBzaXplb2YoKmRhdGEpKTsKLQkJc3ByaW50ZihidWYsICJzZXR1cCBkYXRhICV4IiwgZGF0YS0+dHlwZSk7Ci0JCXJlc2VydmVfZWFybHkocGFfZGF0YSwgcGFfZGF0YStzaXplb2YoKmRhdGEpK2RhdGEtPmxlbiwgYnVmKTsKLQkJcGFfZGF0YSA9IGRhdGEtPm5leHQ7Ci0JCWVhcmx5X2lvdW5tYXAoZGF0YSwgc2l6ZW9mKCpkYXRhKSk7Ci0JfQotfQotCiB2b2lkIF9faW5pdCB4ODZfNjRfc3RhcnRfa2VybmVsKGNoYXIgKiByZWFsX21vZGVfZGF0YSkKIHsKIAlpbnQgaTsKQEAgLTE1NiwxMCArMTAyLDE3IEBACiAKIAllYXJseV9wcmludGsoIktlcm5lbCBhbGl2ZVxuIik7CiAKLSAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykKLSAJCWNwdV9wZGEoaSkgPSAmYm9vdF9jcHVfcGRhW2ldOwotCisJX2NwdV9wZGEgPSBfX2NwdV9wZGE7CisJY3B1X3BkYSgwKSA9ICZfYm9vdF9jcHVfcGRhOwogCXBkYV9pbml0KDApOworCisJZWFybHlfcHJpbnRrKCJLZXJuZWwgcmVhbGx5IGFsaXZlXG4iKTsKKworCXg4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMocmVhbF9tb2RlX2RhdGEpOworfQorCit2b2lkIF9faW5pdCB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKGNoYXIgKnJlYWxfbW9kZV9kYXRhKQorewogCWNvcHlfYm9vdGRhdGEoX192YShyZWFsX21vZGVfZGF0YSkpOwogCiAJcmVzZXJ2ZV9lYXJseShfX3BhX3N5bWJvbCgmX3RleHQpLCBfX3BhX3N5bWJvbCgmX2VuZCksICJURVhUIERBVEEgQlNTIik7CkBAIC0xNzUsNyArMTI4LDYgQEAKICNlbmRpZgogCiAJcmVzZXJ2ZV9lYmRhX3JlZ2lvbigpOwotCXJlc2VydmVfc2V0dXBfZGF0YSgpOwogCiAJLyoKIAkgKiBBdCB0aGlzIHBvaW50IGV2ZXJ5dGhpbmcgc3RpbGwgbmVlZGVkIGZyb20gdGhlIGJvb3QgbG9hZGVyCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TIGIvYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUwppbmRleCBmNzM1N2NjLi5mNjdlOTM0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZF8zMi5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKQEAgLTE5NCw2ICsxOTQsNyBAQAogCXhvcmwgJWVieCwlZWJ4CQkJCS8qICVlYnggaXMga2VwdCBhdCB6ZXJvICovCiAKIAltb3ZsICRwYShwZzApLCAlZWRpCisJbW92bCAlZWRpLCBwYShpbml0X3BnX3RhYmxlc19zdGFydCkKIAltb3ZsICRwYShzd2FwcGVyX3BnX3BtZCksICVlZHgKIAltb3ZsICRQVEVfQVRUUiwgJWVheAogMTA6CkBAIC0yMTksNiArMjIwLDggQEAKIAlqYiAxMGIKIDE6CiAJbW92bCAlZWRpLHBhKGluaXRfcGdfdGFibGVzX2VuZCkKKwlzaHJsICQxMiwgJWVheAorCW1vdmwgJWVheCwgcGEobWF4X3Bmbl9tYXBwZWQpCiAKIAkvKiBEbyBlYXJseSBpbml0aWFsaXphdGlvbiBvZiB0aGUgZml4bWFwIGFyZWEgKi8KIAltb3ZsICRwYShzd2FwcGVyX3BnX2ZpeG1hcCkrUERFX0FUVFIsJWVheApAQCAtMjI4LDYgKzIzMSw3IEBACiBwYWdlX3BkZV9vZmZzZXQgPSAoX19QQUdFX09GRlNFVCA+PiAyMCk7CiAKIAltb3ZsICRwYShwZzApLCAlZWRpCisJbW92bCAlZWRpLCBwYShpbml0X3BnX3RhYmxlc19zdGFydCkKIAltb3ZsICRwYShzd2FwcGVyX3BnX2RpciksICVlZHgKIAltb3ZsICRQVEVfQVRUUiwgJWVheAogMTA6CkBAIC0yNDksNiArMjUzLDggQEAKIAljbXBsICVlYnAsJWVheAogCWpiIDEwYgogCW1vdmwgJWVkaSxwYShpbml0X3BnX3RhYmxlc19lbmQpCisJc2hybCAkMTIsICVlYXgKKwltb3ZsICVlYXgsIHBhKG1heF9wZm5fbWFwcGVkKQogCiAJLyogRG8gZWFybHkgaW5pdGlhbGl6YXRpb24gb2YgdGhlIGZpeG1hcCBhcmVhICovCiAJbW92bCAkcGEoc3dhcHBlcl9wZ19maXhtYXApK1BERV9BVFRSLCVlYXgKQEAgLTQ0NiwxMCArNDUyLDEzIEBACiAJamUgICAxZgogCW1vdmwgJChfX0tFUk5FTF9QRVJDUFUpLCAlZWF4CiAJbW92bCAlZWF4LCVmcwkJIyBzZXQgdGhpcyBjcHUncyBwZXJjcHUKLQlqbXAgaW5pdGlhbGl6ZV9zZWNvbmRhcnkgIyBhbGwgb3RoZXIgQ1BVcyBjYWxsIGluaXRpYWxpemVfc2Vjb25kYXJ5CisJbW92bCAoc3RhY2tfc3RhcnQpLCAlZXNwCiAxOgogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KLQlqbXAgaTM4Nl9zdGFydF9rZXJuZWwKKwlqbXAgKihpbml0aWFsX2NvZGUpCisuYWxpZ24gNAorRU5UUlkoaW5pdGlhbF9jb2RlKQorCS5sb25nIGkzODZfc3RhcnRfa2VybmVsCiAKIC8qCiAgKiBXZSBkZXBlbmQgb24gRVQgdG8gYmUgY29ycmVjdC4gVGhpcyBjaGVja3MgZm9yIDI4Ny8zODcuCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TIGIvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUwppbmRleCBiODE3OTc0Li5iMDdhYzdiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KICNpbmNsdWRlIDxhc20vY2FjaGUuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLWZsYWdzLmg+CiAKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KQEAgLTMxLDYgKzMyLDEzIEBACiAgKgogICovCiAKKyNkZWZpbmUgcHVkX2luZGV4KHgpCSgoKHgpID4+IFBVRF9TSElGVCkgJiAoUFRSU19QRVJfUFVELTEpKQorCitMNF9QQUdFX09GRlNFVCA9IHBnZF9pbmRleChfX1BBR0VfT0ZGU0VUKQorTDNfUEFHRV9PRkZTRVQgPSBwdWRfaW5kZXgoX19QQUdFX09GRlNFVCkKK0w0X1NUQVJUX0tFUk5FTCA9IHBnZF9pbmRleChfX1NUQVJUX0tFUk5FTF9tYXApCitMM19TVEFSVF9LRVJORUwgPSBwdWRfaW5kZXgoX19TVEFSVF9LRVJORUxfbWFwKQorCiAJLnRleHQKIAkuc2VjdGlvbiAudGV4dC5oZWFkCiAJLmNvZGU2NApAQCAtNzYsOCArODQsOCBAQAogCS8qIEZpeHVwIHRoZSBwaHlzaWNhbCBhZGRyZXNzZXMgaW4gdGhlIHBhZ2UgdGFibGUKIAkgKi8KIAlhZGRxCSVyYnAsIGluaXRfbGV2ZWw0X3BndCArIDAoJXJpcCkKLQlhZGRxCSVyYnAsIGluaXRfbGV2ZWw0X3BndCArICgyNTgqOCkoJXJpcCkKLQlhZGRxCSVyYnAsIGluaXRfbGV2ZWw0X3BndCArICg1MTEqOCkoJXJpcCkKKwlhZGRxCSVyYnAsIGluaXRfbGV2ZWw0X3BndCArIChMNF9QQUdFX09GRlNFVCo4KSglcmlwKQorCWFkZHEJJXJicCwgaW5pdF9sZXZlbDRfcGd0ICsgKEw0X1NUQVJUX0tFUk5FTCo4KSglcmlwKQogCiAJYWRkcQklcmJwLCBsZXZlbDNfaWRlbnRfcGd0ICsgMCglcmlwKQogCkBAIC0xNTQsOSArMTYyLDcgQEAKIAkgKi8KIAogCS8qIEVuYWJsZSBQQUUgbW9kZSBhbmQgUEdFICovCi0JeG9ycQklcmF4LCAlcmF4Ci0JYnRzcQkkNSwgJXJheAotCWJ0c3EJJDcsICVyYXgKKwltb3ZsCSQoWDg2X0NSNF9QQUUgfCBYODZfQ1I0X1BHRSksICVlYXgKIAltb3ZxCSVyYXgsICVjcjQKIAogCS8qIFNldHVwIGVhcmx5IGJvb3Qgc3RhZ2UgNCBsZXZlbCBwYWdldGFibGVzLiAqLwpAQCAtMTg0LDE5ICsxOTAsMTUgQEAKIDE6CXdybXNyCQkJCS8qIE1ha2UgY2hhbmdlcyBlZmZlY3RpdmUgKi8KIAogCS8qIFNldHVwIGNyMCAqLwotI2RlZmluZSBDUjBfUE0JCQkJMQkJLyogcHJvdGVjdGVkIG1vZGUgKi8KLSNkZWZpbmUgQ1IwX01QCQkJCSgxPDwxKQotI2RlZmluZSBDUjBfRVQJCQkJKDE8PDQpCi0jZGVmaW5lIENSMF9ORQkJCQkoMTw8NSkKLSNkZWZpbmUgQ1IwX1dQCQkJCSgxPDwxNikKLSNkZWZpbmUgQ1IwX0FNCQkJCSgxPDwxOCkKLSNkZWZpbmUgQ1IwX1BBR0lORyAJCQkoMTw8MzEpCi0JbW92bCAkQ1IwX1BNfENSMF9NUHxDUjBfRVR8Q1IwX05FfENSMF9XUHxDUjBfQU18Q1IwX1BBR0lORywlZWF4CisjZGVmaW5lIENSMF9TVEFURQkoWDg2X0NSMF9QRSB8IFg4Nl9DUjBfTVAgfCBYODZfQ1IwX0VUIHwgXAorCQkJIFg4Nl9DUjBfTkUgfCBYODZfQ1IwX1dQIHwgWDg2X0NSMF9BTSB8IFwKKwkJCSBYODZfQ1IwX1BHKQorCW1vdmwJJENSMF9TVEFURSwgJWVheAogCS8qIE1ha2UgY2hhbmdlcyBlZmZlY3RpdmUgKi8KIAltb3ZxCSVyYXgsICVjcjAKIAogCS8qIFNldHVwIGEgYm9vdCB0aW1lIHN0YWNrICovCi0JbW92cSBpbml0X3JzcCglcmlwKSwlcnNwCisJbW92cSBzdGFja19zdGFydCglcmlwKSwlcnNwCiAKIAkvKiB6ZXJvIEVGTEFHUyBhZnRlciBzZXR0aW5nIHJzcCAqLwogCXB1c2hxICQwCkBAIC0yMDgsNyArMjEwLDcgQEAKIAkgKiBhZGRyZXNzZXMgd2hlcmUgd2UncmUgY3VycmVudGx5IHJ1bm5pbmcgb24uIFdlIGhhdmUgdG8gZG8gdGhhdCBoZXJlCiAJICogYmVjYXVzZSBpbiAzMmJpdCB3ZSBjb3VsZG4ndCBsb2FkIGEgNjRiaXQgbGluZWFyIGFkZHJlc3MuCiAJICovCi0JbGdkdAljcHVfZ2R0X2Rlc2NyKCVyaXApCisJbGdkdAllYXJseV9nZHRfZGVzY3IoJXJpcCkKIAogCS8qIHNldCB1cCBkYXRhIHNlZ21lbnRzLiBhY3R1YWxseSAwIHdvdWxkIGRvIHRvbyAqLwogCW1vdmwgJF9fS0VSTkVMX0RTLCVlYXgKQEAgLTI1Nyw4ICsyNTksOSBAQAogCS5xdWFkCXg4Nl82NF9zdGFydF9rZXJuZWwKIAlfX0ZJTklUREFUQQogCi0JRU5UUlkoaW5pdF9yc3ApCisJRU5UUlkoc3RhY2tfc3RhcnQpCiAJLnF1YWQgIGluaXRfdGhyZWFkX3VuaW9uK1RIUkVBRF9TSVpFLTgKKwkud29yZCAgMAogCiBiYWRfYWRkcmVzczoKIAlqbXAgYmFkX2FkZHJlc3MKQEAgLTMyNywxMSArMzMwLDExIEBACiBFTlRSWShuYW1lKQogCiAvKiBBdXRvbWF0ZSB0aGUgY3JlYXRpb24gb2YgMSB0byAxIG1hcHBpbmcgcG1kIGVudHJpZXMgKi8KLSNkZWZpbmUgUE1EUyhTVEFSVCwgUEVSTSwgQ09VTlQpCQlcCi0JaSA9IDAgOwkJCQkJXAotCS5yZXB0IChDT1VOVCkgOwkJCQlcCi0JLnF1YWQJKFNUQVJUKSArIChpIDw8IDIxKSArIChQRVJNKSA7CVwKLQlpID0gaSArIDEgOwkJCQlcCisjZGVmaW5lIFBNRFMoU1RBUlQsIFBFUk0sIENPVU5UKQkJCVwKKwlpID0gMCA7CQkJCQkJXAorCS5yZXB0IChDT1VOVCkgOwkJCQkJXAorCS5xdWFkCShTVEFSVCkgKyAoaSA8PCBQTURfU0hJRlQpICsgKFBFUk0pIDsJXAorCWkgPSBpICsgMSA7CQkJCQlcCiAJLmVuZHIKIAogCS8qCkBAIC0zNDIsOSArMzQ1LDkgQEAKIAkgKi8KIE5FWFRfUEFHRShpbml0X2xldmVsNF9wZ3QpCiAJLnF1YWQJbGV2ZWwzX2lkZW50X3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9LRVJOUEdfVEFCTEUKLQkuZmlsbAkyNTcsOCwwCisJLm9yZwlpbml0X2xldmVsNF9wZ3QgKyBMNF9QQUdFX09GRlNFVCo4LCAwCiAJLnF1YWQJbGV2ZWwzX2lkZW50X3BndCAtIF9fU1RBUlRfS0VSTkVMX21hcCArIF9LRVJOUEdfVEFCTEUKLQkuZmlsbAkyNTIsOCwwCisJLm9yZwlpbml0X2xldmVsNF9wZ3QgKyBMNF9TVEFSVF9LRVJORUwqOCwgMAogCS8qICgyXjQ4LSgyKjEwMjQqMTAyNCoxMDI0KSkvKDJeMzkpID0gNTExICovCiAJLnF1YWQJbGV2ZWwzX2tlcm5lbF9wZ3QgLSBfX1NUQVJUX0tFUk5FTF9tYXAgKyBfUEFHRV9UQUJMRQogCkBAIC0zNTMsNyArMzU2LDcgQEAKIAkuZmlsbAk1MTEsOCwwCiAKIE5FWFRfUEFHRShsZXZlbDNfa2VybmVsX3BndCkKLQkuZmlsbAk1MTAsOCwwCisJLmZpbGwJTDNfU1RBUlRfS0VSTkVMLDgsMAogCS8qICgyXjQ4LSgyKjEwMjQqMTAyNCoxMDI0KS0oKDJeMzkpKjUxMSkpLygyXjMwKSA9IDUxMCAqLwogCS5xdWFkCWxldmVsMl9rZXJuZWxfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX0tFUk5QR19UQUJMRQogCS5xdWFkCWxldmVsMl9maXhtYXBfcGd0IC0gX19TVEFSVF9LRVJORUxfbWFwICsgX1BBR0VfVEFCTEUKQEAgLTM4NCw3ICszODcsNyBAQAogCSAqICBJZiB5b3Ugd2FudCB0byBpbmNyZWFzZSB0aGlzIHRoZW4gaW5jcmVhc2UgTU9EVUxFU19WQUREUgogCSAqICB0b28uKQogCSAqLwotCVBNRFMoMCwgX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDfF9QQUdFX0dMT0JBTCwKKwlQTURTKDAsIF9fUEFHRV9LRVJORUxfTEFSR0VfRVhFQywKIAkJS0VSTkVMX0lNQUdFX1NJWkUvUE1EX1NJWkUpCiAKIE5FWFRfUEFHRShsZXZlbDJfc3BhcmVfcGd0KQpAQCAtMzk1LDU0ICszOTgsMTYgQEAKIAogCS5kYXRhCiAJLmFsaWduIDE2Ci0JLmdsb2JsIGNwdV9nZHRfZGVzY3IKLWNwdV9nZHRfZGVzY3I6Ci0JLndvcmQJZ2R0X2VuZC1jcHVfZ2R0X3RhYmxlLTEKLWdkdDoKLQkucXVhZAljcHVfZ2R0X3RhYmxlCi0jaWZkZWYgQ09ORklHX1NNUAotCS5yZXB0CU5SX0NQVVMtMQotCS53b3JkCTAKLQkucXVhZAkwCi0JLmVuZHIKLSNlbmRpZgorCS5nbG9ibCBlYXJseV9nZHRfZGVzY3IKK2Vhcmx5X2dkdF9kZXNjcjoKKwkud29yZAlHRFRfRU5UUklFUyo4LTEKKwkucXVhZCAgIHBlcl9jcHVfX2dkdF9wYWdlCiAKIEVOVFJZKHBoeXNfYmFzZSkKIAkvKiBUaGlzIG11c3QgbWF0Y2ggdGhlIGZpcnN0IGVudHJ5IGluIGxldmVsMl9rZXJuZWxfcGd0ICovCiAJLnF1YWQgICAweDAwMDAwMDAwMDAwMDAwMDAKIAotLyogV2UgbmVlZCB2YWxpZCBrZXJuZWwgc2VnbWVudHMgZm9yIGRhdGEgYW5kIGNvZGUgaW4gbG9uZyBtb2RlIHRvbwotICogSVJFVCB3aWxsIGNoZWNrIHRoZSBzZWdtZW50IHR5cGVzICBra2VpbCAyMDAwLzEwLzI4Ci0gKiBBbHNvIHN5c3JldCBtYW5kYXRlcyBhIHNwZWNpYWwgR0RUIGxheW91dCAKLSAqLwotCQkgCQkKLQkuc2VjdGlvbiAuZGF0YS5wYWdlX2FsaWduZWQsICJhdyIKLQkuYWxpZ24gUEFHRV9TSVpFCi0KLS8qIFRoZSBUTFMgZGVzY3JpcHRvcnMgYXJlIGN1cnJlbnRseSBhdCBhIGRpZmZlcmVudCBwbGFjZSBjb21wYXJlZCB0byBpMzg2LgotICAgSG9wZWZ1bGx5IG5vYm9keSBleHBlY3RzIHRoZW0gYXQgYSBmaXhlZCBwbGFjZSAoV2luZT8pICovCiAJCi1FTlRSWShjcHVfZ2R0X3RhYmxlKQotCS5xdWFkCTB4MDAwMDAwMDAwMDAwMDAwMAkvKiBOVUxMIGRlc2NyaXB0b3IgKi8KLQkucXVhZAkweDAwY2Y5YjAwMDAwMGZmZmYJLyogX19LRVJORUwzMl9DUyAqLwotCS5xdWFkCTB4MDBhZjliMDAwMDAwZmZmZgkvKiBfX0tFUk5FTF9DUyAqLwotCS5xdWFkCTB4MDBjZjkzMDAwMDAwZmZmZgkvKiBfX0tFUk5FTF9EUyAqLwotCS5xdWFkCTB4MDBjZmZiMDAwMDAwZmZmZgkvKiBfX1VTRVIzMl9DUyAqLwotCS5xdWFkCTB4MDBjZmYzMDAwMDAwZmZmZgkvKiBfX1VTRVJfRFMsIF9fVVNFUjMyX0RTICAqLwotCS5xdWFkCTB4MDBhZmZiMDAwMDAwZmZmZgkvKiBfX1VTRVJfQ1MgKi8KLQkucXVhZAkweDAJCQkvKiB1bnVzZWQgKi8KLQkucXVhZAkwLDAJCQkvKiBUU1MgKi8KLQkucXVhZAkwLDAJCQkvKiBMRFQgKi8KLQkucXVhZCAgIDAsMCwwCQkJLyogdGhyZWUgVExTIGRlc2NyaXB0b3JzICovIAotCS5xdWFkCTB4MDAwMGY0MDAwMDAwMDAwMAkvKiBub2RlL0NQVSBzdG9yZWQgaW4gbGltaXQgKi8KLWdkdF9lbmQ6CQotCS8qIGFzbS9zZWdtZW50Lmg6R0RUX0VOVFJJRVMgbXVzdCBtYXRjaCB0aGlzICovCQotCS8qIFRoaXMgc2hvdWxkIGJlIGEgbXVsdGlwbGUgb2YgdGhlIGNhY2hlIGxpbmUgc2l6ZSAqLwotCS8qIEdEVHMgb2Ygb3RoZXIgQ1BVcyBhcmUgbm93IGR5bmFtaWNhbGx5IGFsbG9jYXRlZCAqLwotCi0JLyogemVybyB0aGUgcmVtYWluaW5nIHBhZ2UgKi8KLQkuZmlsbCBQQUdFX1NJWkUgLyA4IC0gR0RUX0VOVFJJRVMsOCwwCi0KIAkuc2VjdGlvbiAuYnNzLCAiYXciLCBAbm9iaXRzCiAJLmFsaWduIEwxX0NBQ0hFX0JZVEVTCiBFTlRSWShpZHRfdGFibGUpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaHBldC5jIGIvYXJjaC94ODYva2VybmVsL2hwZXQuYwppbmRleCA5YjVjZmNkLi4wZWE2YTE5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaHBldC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9ocGV0LmMKQEAgLTE3LDcgKzE3LDcgQEAKIAogLyogRlNFQyA9IDEwXi0xNQogICAgTlNFQyA9IDEwXi05ICovCi0jZGVmaW5lIEZTRUNfUEVSX05TRUMJMTAwMDAwMAorI2RlZmluZSBGU0VDX1BFUl9OU0VDCTEwMDAwMDBMCiAKIC8qCiAgKiBIUEVUIGFkZHJlc3MgaXMgc2V0IGluIGFjcGkvYm9vdC5jLCB3aGVuIGFuIEFDUEkgZW50cnkgZXhpc3RzCkBAIC0zNiwyNiArMzYsMTUgQEAKIH0KIAogI2lmZGVmIENPTkZJR19YODZfNjQKLQogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBocGV0X3NldF9tYXBwaW5nKHZvaWQpCi17Ci0Jc2V0X2ZpeG1hcF9ub2NhY2hlKEZJWF9IUEVUX0JBU0UsIGhwZXRfYWRkcmVzcyk7Ci0JX19zZXRfZml4bWFwKFZTWVNDQUxMX0hQRVQsIGhwZXRfYWRkcmVzcywgUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSk7Ci0JaHBldF92aXJ0X2FkZHJlc3MgPSAodm9pZCBfX2lvbWVtICopZml4X3RvX3ZpcnQoRklYX0hQRVRfQkFTRSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBocGV0X2NsZWFyX21hcHBpbmcodm9pZCkKLXsKLQlocGV0X3ZpcnRfYWRkcmVzcyA9IE5VTEw7Ci19Ci0KLSNlbHNlCisjZW5kaWYKIAogc3RhdGljIGlubGluZSB2b2lkIGhwZXRfc2V0X21hcHBpbmcodm9pZCkKIHsKIAlocGV0X3ZpcnRfYWRkcmVzcyA9IGlvcmVtYXBfbm9jYWNoZShocGV0X2FkZHJlc3MsIEhQRVRfTU1BUF9TSVpFKTsKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJX19zZXRfZml4bWFwKFZTWVNDQUxMX0hQRVQsIGhwZXRfYWRkcmVzcywgUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRSk7CisjZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGhwZXRfY2xlYXJfbWFwcGluZyh2b2lkKQpAQCAtNjMsNyArNTIsNiBAQAogCWlvdW5tYXAoaHBldF92aXJ0X2FkZHJlc3MpOwogCWhwZXRfdmlydF9hZGRyZXNzID0gTlVMTDsKIH0KLSNlbmRpZgogCiAvKgogICogSFBFVCBjb21tYW5kIGxpbmUgZW5hYmxlIC8gZGlzYWJsZQpAQCAtMjA2LDIwICsxOTQsMTkgQEAKIAogc3RhdGljIHZvaWQgaHBldF9sZWdhY3lfY2xvY2tldmVudF9yZWdpc3Rlcih2b2lkKQogewotCXVpbnQ2NF90IGhwZXRfZnJlcTsKLQogCS8qIFN0YXJ0IEhQRVQgbGVnYWN5IGludGVycnVwdHMgKi8KIAlocGV0X2VuYWJsZV9sZWdhY3lfaW50KCk7CiAKIAkvKgotCSAqIFRoZSBwZXJpb2QgaXMgYSBmZW10byBzZWNvbmRzIHZhbHVlLiBXZSBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUKLQkgKiBzY2FsZWQgbWF0aCBtdWx0aXBsaWNhdGlvbiBmYWN0b3IgZm9yIG5hbm9zZWNvbmQgdG8gaHBldCB0aWNrCi0JICogY29udmVyc2lvbi4KKwkgKiBUaGUgbXVsdCBmYWN0b3IgaXMgZGVmaW5lZCBhcyAoaW5jbHVkZS9saW51eC9jbG9ja2NoaXBzLmgpCisJICogIG11bHQvMl5zaGlmdCA9IGN5Yy9ucyAoaW4gY29udHJhc3QgdG8gbnMvY3ljIGluIGNsb2Nrc291cmNlLmgpCisJICogaHBldF9wZXJpb2QgaXMgaW4gdW5pdHMgb2YgZmVtdG9zZWNvbmRzIChwZXIgY3ljbGUpLCBzbworCSAqICBtdWx0LzJec2hpZnQgPSBjeWMvbnMgPSAxMF42L2hwZXRfcGVyaW9kCisJICogIG11bHQgPSAoMTBeNiAqIDJec2hpZnQpL2hwZXRfcGVyaW9kCisJICogIG11bHQgPSAoRlNFQ19QRVJfTlNFQyA8PCBocGV0X2Nsb2NrZXZlbnQuc2hpZnQpL2hwZXRfcGVyaW9kCiAJICovCi0JaHBldF9mcmVxID0gMTAwMDAwMDAwMDAwMDAwMFVMTDsKLQlkb19kaXYoaHBldF9mcmVxLCBocGV0X3BlcmlvZCk7Ci0JaHBldF9jbG9ja2V2ZW50Lm11bHQgPSBkaXZfc2MoKHVuc2lnbmVkIGxvbmcpIGhwZXRfZnJlcSwKLQkJCQkgICAgICBOU0VDX1BFUl9TRUMsIGhwZXRfY2xvY2tldmVudC5zaGlmdCk7CisJaHBldF9jbG9ja2V2ZW50Lm11bHQgPSBkaXZfc2MoKHVuc2lnbmVkIGxvbmcpIEZTRUNfUEVSX05TRUMsCisJCQkJICAgICAgaHBldF9wZXJpb2QsIGhwZXRfY2xvY2tldmVudC5zaGlmdCk7CiAJLyogQ2FsY3VsYXRlIHRoZSBtaW4gLyBtYXggZGVsdGEgKi8KIAlocGV0X2Nsb2NrZXZlbnQubWF4X2RlbHRhX25zID0gY2xvY2tldmVudF9kZWx0YTJucygweDdGRkZGRkZGLAogCQkJCQkJCSAgICZocGV0X2Nsb2NrZXZlbnQpOwpAQCAtMzI0LDcgKzMxMSw3IEBACiAKIHN0YXRpYyBpbnQgaHBldF9jbG9ja3NvdXJjZV9yZWdpc3Rlcih2b2lkKQogewotCXU2NCB0bXAsIHN0YXJ0LCBub3c7CisJdTY0IHN0YXJ0LCBub3c7CiAJY3ljbGVfdCB0MTsKIAogCS8qIFN0YXJ0IHRoZSBjb3VudGVyICovCkBAIC0zNTEsMjEgKzMzOCwxNSBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQkvKiBJbml0aWFsaXplIGFuZCByZWdpc3RlciBIUEVUIGNsb2Nrc291cmNlCi0JICoKLQkgKiBocGV0IHBlcmlvZCBpcyBpbiBmZW10byBzZWNvbmRzIHBlciBjeWNsZQotCSAqIHNvIHdlIG5lZWQgdG8gY29udmVydCB0aGlzIHRvIG5zL2N5YyB1bml0cwotCSAqIGFwcHJveGltYXRlZCBieSBtdWx0LzJec2hpZnQKLQkgKgotCSAqICBmc2VjL2N5YyAqIDFuc2VjLzEwMDAwMDBmc2VjID0gbnNlYy9jeWMgPSBtdWx0LzJec2hpZnQKLQkgKiAgZnNlYy9jeWMgKiAxbnMvMTAwMDAwMGZzZWMgKiAyXnNoaWZ0ID0gbXVsdAotCSAqICBmc2VjL2N5YyAqIDJec2hpZnQgKiAxbnNlYy8xMDAwMDAwZnNlYyA9IG11bHQKLQkgKiAgKGZzZWMvY3ljIDw8IHNoaWZ0KS8xMDAwMDAwID0gbXVsdAotCSAqICAoaHBldF9wZXJpb2QgPDwgc2hpZnQpL0ZTRUNfUEVSX05TRUMgPSBtdWx0CisJLyoKKwkgKiBUaGUgZGVmaW5pdGlvbiBvZiBtdWx0IGlzIChpbmNsdWRlL2xpbnV4L2Nsb2Nrc291cmNlLmgpCisJICogbXVsdC8yXnNoaWZ0ID0gbnMvY3ljIGFuZCBocGV0X3BlcmlvZCBpcyBpbiB1bml0cyBvZiBmc2VjL2N5YworCSAqIHNvIHdlIGZpcnN0IG5lZWQgdG8gY29udmVydCBocGV0X3BlcmlvZCB0byBucy9jeWMgdW5pdHM6CisJICogIG11bHQvMl5zaGlmdCA9IG5zL2N5YyA9IGhwZXRfcGVyaW9kLzEwXjYKKwkgKiAgbXVsdCA9IChocGV0X3BlcmlvZCAqIDJec2hpZnQpLzEwXjYKKwkgKiAgbXVsdCA9IChocGV0X3BlcmlvZCA8PCBzaGlmdCkvRlNFQ19QRVJfTlNFQwogCSAqLwotCXRtcCA9ICh1NjQpaHBldF9wZXJpb2QgPDwgSFBFVF9TSElGVDsKLQlkb19kaXYodG1wLCBGU0VDX1BFUl9OU0VDKTsKLQljbG9ja3NvdXJjZV9ocGV0Lm11bHQgPSAodTMyKXRtcDsKKwljbG9ja3NvdXJjZV9ocGV0Lm11bHQgPSBkaXZfc2MoaHBldF9wZXJpb2QsIEZTRUNfUEVSX05TRUMsIEhQRVRfU0hJRlQpOwogCiAJY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX2hwZXQpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaTM4Nl9rc3ltc18zMi5jIGIvYXJjaC94ODYva2VybmVsL2kzODZfa3N5bXNfMzIuYwppbmRleCBkZWI0Mzc4Li5kZDdlYmVlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTM4Nl9rc3ltc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pMzg2X2tzeW1zXzMyLmMKQEAgLTEsNyArMSwxNCBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorCiAjaW5jbHVkZSA8YXNtL2NoZWNrc3VtLmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2Z0cmFjZS5oPgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyogbWNvdW50IGlzIGRlZmluZWQgaW4gYXNzZW1ibHkgKi8KK0VYUE9SVF9TWU1CT0wobWNvdW50KTsKKyNlbmRpZgogCiAvKiBOZXR3b3JraW5nIGhlbHBlciByb3V0aW5lcy4gKi8KIEVYUE9SVF9TWU1CT0woY3N1bV9wYXJ0aWFsX2NvcHlfZ2VuZXJpYyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaTM4Ny5jIGIvYXJjaC94ODYva2VybmVsL2kzODcuYwppbmRleCA5NWU4MGU1Li5lYjlkZGQ4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaTM4Ny5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pMzg3LmMKQEAgLTE2Miw3ICsxNjIsNyBAQAogCWludCByZXQ7CiAKIAlpZiAoIWNwdV9oYXNfZnhzcikKLQkJcmV0dXJuIC1FSU87CisJCXJldHVybiAtRU5PREVWOwogCiAJcmV0ID0gaW5pdF9mcHUodGFyZ2V0KTsKIAlpZiAocmV0KQpAQCAtMTc5LDcgKzE3OSw3IEBACiAJaW50IHJldDsKIAogCWlmICghY3B1X2hhc19meHNyKQotCQlyZXR1cm4gLUVJTzsKKwkJcmV0dXJuIC1FTk9ERVY7CiAKIAlyZXQgPSBpbml0X2ZwdSh0YXJnZXQpOwogCWlmIChyZXQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaTgyNTlfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9pODI1OS5jCnNpbWlsYXJpdHkgaW5kZXggNzAlCnJlbmFtZSBmcm9tIGFyY2gveDg2L2tlcm5lbC9pODI1OV8zMi5jCnJlbmFtZSB0byBhcmNoL3g4Ni9rZXJuZWwvaTgyNTkuYwppbmRleCBmZTYzMTk2Ny4uZGM5MmI0OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2k4MjU5XzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2k4MjU5LmMKQEAgLTEsOCArMSwxMCBAQAorI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvdGltZXguaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMTAsMTAgKzEyLDEyIEBACiAjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CiAKKyNpbmNsdWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisjaW5jbHVkZSA8YXNtL2h3X2lycS5oPgogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL2RlbGF5Lmg+CiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KQEAgLTMyLDcgKzM2LDcgQEAKIERFRklORV9TUElOTE9DSyhpODI1OUFfbG9jayk7CiBzdGF0aWMgdm9pZCBtYXNrX2FuZF9hY2tfODI1OUEodW5zaWduZWQgaW50KTsKIAotc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcCA9IHsKK3N0cnVjdCBpcnFfY2hpcCBpODI1OUFfY2hpcCA9IHsKIAkubmFtZQkJPSAiWFQtUElDIiwKIAkubWFzawkJPSBkaXNhYmxlXzgyNTlBX2lycSwKIAkuZGlzYWJsZQk9IGRpc2FibGVfODI1OUFfaXJxLApAQCAtMTI1LDE0ICsxMjksMTQgQEAKIAlpbnQgaXJxbWFzayA9IDE8PGlycTsKIAogCWlmIChpcnEgPCA4KSB7Ci0JCW91dGIoMHgwQixQSUNfTUFTVEVSX0NNRCk7CS8qIElTUiByZWdpc3RlciAqLworCQlvdXRiKDB4MEIsIFBJQ19NQVNURVJfQ01EKTsJLyogSVNSIHJlZ2lzdGVyICovCiAJCXZhbHVlID0gaW5iKFBJQ19NQVNURVJfQ01EKSAmIGlycW1hc2s7Ci0JCW91dGIoMHgwQSxQSUNfTUFTVEVSX0NNRCk7CS8qIGJhY2sgdG8gdGhlIElSUiByZWdpc3RlciAqLworCQlvdXRiKDB4MEEsIFBJQ19NQVNURVJfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCiAJCXJldHVybiB2YWx1ZTsKIAl9Ci0Jb3V0YigweDBCLFBJQ19TTEFWRV9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KKwlvdXRiKDB4MEIsIFBJQ19TTEFWRV9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KIAl2YWx1ZSA9IGluYihQSUNfU0xBVkVfQ01EKSAmIChpcnFtYXNrID4+IDgpOwotCW91dGIoMHgwQSxQSUNfU0xBVkVfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCisJb3V0YigweDBBLCBQSUNfU0xBVkVfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCiAJcmV0dXJuIHZhbHVlOwogfQogCkBAIC0xNzEsMTIgKzE3NSwxNCBAQAogCWlmIChpcnEgJiA4KSB7CiAJCWluYihQSUNfU0xBVkVfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KIAkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgUElDX1NMQVZFX0lNUik7Ci0JCW91dGIoMHg2MCsoaXJxJjcpLFBJQ19TTEFWRV9DTUQpOy8qICdTcGVjaWZpYyBFT0knIHRvIHNsYXZlICovCi0JCW91dGIoMHg2MCtQSUNfQ0FTQ0FERV9JUixQSUNfTUFTVEVSX0NNRCk7IC8qICdTcGVjaWZpYyBFT0knIHRvIG1hc3Rlci1JUlEyICovCisJCS8qICdTcGVjaWZpYyBFT0knIHRvIHNsYXZlICovCisJCW91dGIoMHg2MCsoaXJxJjcpLCBQSUNfU0xBVkVfQ01EKTsKKwkJIC8qICdTcGVjaWZpYyBFT0knIHRvIG1hc3Rlci1JUlEyICovCisJCW91dGIoMHg2MCtQSUNfQ0FTQ0FERV9JUiwgUElDX01BU1RFUl9DTUQpOwogCX0gZWxzZSB7CiAJCWluYihQSUNfTUFTVEVSX0lNUik7CS8qIERVTU1ZIC0gKGRvIHdlIG5lZWQgdGhpcz8pICovCiAJCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCBQSUNfTUFTVEVSX0lNUik7Ci0JCW91dGIoMHg2MCtpcnEsUElDX01BU1RFUl9DTUQpOwkvKiAnU3BlY2lmaWMgRU9JIHRvIG1hc3RlciAqLworCQlvdXRiKDB4NjAraXJxLCBQSUNfTUFTVEVSX0NNRCk7CS8qICdTcGVjaWZpYyBFT0kgdG8gbWFzdGVyICovCiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7CiAJcmV0dXJuOwpAQCAtMTk5LDcgKzIwNSw4IEBACiAJCSAqIGxldHMgQUNLIGFuZCByZXBvcnQgaXQuIFtvbmNlIHBlciBJUlFdCiAJCSAqLwogCQlpZiAoIShzcHVyaW91c19pcnFfbWFzayAmIGlycW1hc2spKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRyAic3B1cmlvdXMgODI1OUEgaW50ZXJydXB0OiBJUlElZC5cbiIsIGlycSk7CisJCQlwcmludGsoS0VSTl9ERUJVRworCQkJICAgICAgICJzcHVyaW91cyA4MjU5QSBpbnRlcnJ1cHQ6IElSUSVkLlxuIiwgaXJxKTsKIAkJCXNwdXJpb3VzX2lycV9tYXNrIHw9IGlycW1hc2s7CiAJCX0KIAkJYXRvbWljX2luYygmaXJxX2Vycl9jb3VudCk7CkBAIC0yOTAsMTcgKzI5NywyOCBAQAogCSAqIG91dGJfcGljIC0gdGhpcyBoYXMgdG8gd29yayBvbiBhIHdpZGUgcmFuZ2Ugb2YgUEMgaGFyZHdhcmUuCiAJICovCiAJb3V0Yl9waWMoMHgxMSwgUElDX01BU1RFUl9DTUQpOwkvKiBJQ1cxOiBzZWxlY3QgODI1OUEtMSBpbml0ICovCi0Jb3V0Yl9waWMoMHgyMCArIDAsIFBJQ19NQVNURVJfSU1SKTsJLyogSUNXMjogODI1OUEtMSBJUjAtNyBtYXBwZWQgdG8gMHgyMC0weDI3ICovCi0Jb3V0Yl9waWMoMVUgPDwgUElDX0NBU0NBREVfSVIsIFBJQ19NQVNURVJfSU1SKTsJLyogODI1OUEtMSAodGhlIG1hc3RlcikgaGFzIGEgc2xhdmUgb24gSVIyICovCisKKwkvKiBJQ1cyOiA4MjU5QS0xIElSMC03IG1hcHBlZCB0byAweDMwLTB4Mzcgb24geDg2LTY0LAorCSAgICAgICAgICAgICAgICAgICAgICAgdG8gMHgyMC0weDI3IG9uIGkzODYgKi8KKwlvdXRiX3BpYyhJUlEwX1ZFQ1RPUiwgUElDX01BU1RFUl9JTVIpOworCisJLyogODI1OUEtMSAodGhlIG1hc3RlcikgaGFzIGEgc2xhdmUgb24gSVIyICovCisJb3V0Yl9waWMoMVUgPDwgUElDX0NBU0NBREVfSVIsIFBJQ19NQVNURVJfSU1SKTsKKwogCWlmIChhdXRvX2VvaSkJLyogbWFzdGVyIGRvZXMgQXV0byBFT0kgKi8KIAkJb3V0Yl9waWMoTUFTVEVSX0lDVzRfREVGQVVMVCB8IFBJQ19JQ1c0X0FFT0ksIFBJQ19NQVNURVJfSU1SKTsKIAllbHNlCQkvKiBtYXN0ZXIgZXhwZWN0cyBub3JtYWwgRU9JICovCiAJCW91dGJfcGljKE1BU1RFUl9JQ1c0X0RFRkFVTFQsIFBJQ19NQVNURVJfSU1SKTsKIAogCW91dGJfcGljKDB4MTEsIFBJQ19TTEFWRV9DTUQpOwkvKiBJQ1cxOiBzZWxlY3QgODI1OUEtMiBpbml0ICovCi0Jb3V0Yl9waWMoMHgyMCArIDgsIFBJQ19TTEFWRV9JTVIpOwkvKiBJQ1cyOiA4MjU5QS0yIElSMC03IG1hcHBlZCB0byAweDI4LTB4MmYgKi8KLQlvdXRiX3BpYyhQSUNfQ0FTQ0FERV9JUiwgUElDX1NMQVZFX0lNUik7CS8qIDgyNTlBLTIgaXMgYSBzbGF2ZSBvbiBtYXN0ZXIncyBJUjIgKi8KLQlvdXRiX3BpYyhTTEFWRV9JQ1c0X0RFRkFVTFQsIFBJQ19TTEFWRV9JTVIpOyAvKiAoc2xhdmUncyBzdXBwb3J0IGZvciBBRU9JIGluIGZsYXQgbW9kZSBpcyB0byBiZSBpbnZlc3RpZ2F0ZWQpICovCisKKwkvKiBJQ1cyOiA4MjU5QS0yIElSMC03IG1hcHBlZCB0byBJUlE4X1ZFQ1RPUiAqLworCW91dGJfcGljKElSUThfVkVDVE9SLCBQSUNfU0xBVkVfSU1SKTsKKwkvKiA4MjU5QS0yIGlzIGEgc2xhdmUgb24gbWFzdGVyJ3MgSVIyICovCisJb3V0Yl9waWMoUElDX0NBU0NBREVfSVIsIFBJQ19TTEFWRV9JTVIpOworCS8qIChzbGF2ZSdzIHN1cHBvcnQgZm9yIEFFT0kgaW4gZmxhdCBtb2RlIGlzIHRvIGJlIGludmVzdGlnYXRlZCkgKi8KKwlvdXRiX3BpYyhTTEFWRV9JQ1c0X0RFRkFVTFQsIFBJQ19TTEFWRV9JTVIpOworCiAJaWYgKGF1dG9fZW9pKQogCQkvKgogCQkgKiBJbiBBRU9JIG1vZGUgd2UganVzdCBoYXZlIHRvIG1hc2sgdGhlIGludGVycnVwdApAQCAtMzE3LDkzICszMzUsMyBAQAogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKIH0KLQotLyoKLSAqIE5vdGUgdGhhdCBvbiBhIDQ4Niwgd2UgZG9uJ3Qgd2FudCB0byBkbyBhIFNJR0ZQRSBvbiBhbiBpcnExMwotICogYXMgdGhlIGlycSBpcyB1bnJlbGlhYmxlLCBhbmQgZXhjZXB0aW9uIDE2IHdvcmtzIGNvcnJlY3RseQotICogKGllIGFzIGV4cGxhaW5lZCBpbiB0aGUgaW50ZWwgbGl0ZXJhdHVyZSkuIE9uIGEgMzg2LCB5b3UKLSAqIGNhbid0IHVzZSBleGNlcHRpb24gMTYgZHVlIHRvIGJhZCBJQk0gZGVzaWduLCBzbyB3ZSBoYXZlIHRvCi0gKiByZWx5IG9uIHRoZSBsZXNzIGV4YWN0IGlycTEzLgotICoKLSAqIENhcmVmdWwuLiBOb3Qgb25seSBpcyBJUlExMyB1bnJlbGlhYmxlLCBidXQgaXQgaXMgYWxzbwotICogbGVhZHMgdG8gcmFjZXMuIElCTSBkZXNpZ25lcnMgd2hvIGNhbWUgdXAgd2l0aCBpdCBzaG91bGQKLSAqIGJlIHNob3QuCi0gKi8KLSAKLQotc3RhdGljIGlycXJldHVybl90IG1hdGhfZXJyb3JfaXJxKGludCBjcGwsIHZvaWQgKmRldl9pZCkKLXsKLQlleHRlcm4gdm9pZCBtYXRoX2Vycm9yKHZvaWQgX191c2VyICopOwotCW91dGIoMCwweEYwKTsKLQlpZiAoaWdub3JlX2ZwdV9pcnEgfHwgIWJvb3RfY3B1X2RhdGEuaGFyZF9tYXRoKQotCQlyZXR1cm4gSVJRX05PTkU7Ci0JbWF0aF9lcnJvcigodm9pZCBfX3VzZXIgKilnZXRfaXJxX3JlZ3MoKS0+aXApOwotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotLyoKLSAqIE5ldyBtb3RoZXJib2FyZHMgc29tZXRpbWVzIG1ha2UgSVJRIDEzIGJlIGEgUENJIGludGVycnVwdCwKLSAqIHNvIGFsbG93IGludGVycnVwdCBzaGFyaW5nLgotICovCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiBmcHVfaXJxID0gewotCS5oYW5kbGVyID0gbWF0aF9lcnJvcl9pcnEsCi0JLm1hc2sgPSBDUFVfTUFTS19OT05FLAotCS5uYW1lID0gImZwdSIsCi19OwotCi12b2lkIF9faW5pdCBpbml0X0lTQV9pcnFzICh2b2lkKQotewotCWludCBpOwotCi0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0JaW5pdF9ic3BfQVBJQygpOwotI2VuZGlmCi0JaW5pdF84MjU5QSgwKTsKLQotCS8qCi0JICogMTYgb2xkLXN0eWxlIElOVEEtY3ljbGUgaW50ZXJydXB0czoKLQkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykgewotCQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpLCAmaTgyNTlBX2NoaXAsCi0JCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOwotCX0KLX0KLQotLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jICovCi12b2lkIGluaXRfSVJRKHZvaWQpIF9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJuYXRpdmVfaW5pdF9JUlEiKSkpOwotCi12b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCkKLXsKLQlpbnQgaTsKLQotCS8qIGFsbCB0aGUgc2V0IHVwIGJlZm9yZSB0aGUgY2FsbCBnYXRlcyBhcmUgaW5pdGlhbGlzZWQgKi8KLQlwcmVfaW50cl9pbml0X2hvb2soKTsKLQotCS8qCi0JICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKLQkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKLQkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCi0JICovCi0JZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7Ci0JCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOwotCQlpZiAoaSA+PSBOUl9JUlFTKQotCQkJYnJlYWs7Ci0JCS8qIFNZU0NBTExfVkVDVE9SIHdhcyByZXNlcnZlZCBpbiB0cmFwX2luaXQuICovCi0JCWlmICghdGVzdF9iaXQodmVjdG9yLCB1c2VkX3ZlY3RvcnMpKQotCQkJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFtpXSk7Ci0JfQotCi0JLyogc2V0dXAgYWZ0ZXIgY2FsbCBnYXRlcyBhcmUgaW5pdGlhbGlzZWQgKHVzdWFsbHkgYWRkIGluCi0JICogdGhlIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBnYXRlcykKLQkgKi8KLQlpbnRyX2luaXRfaG9vaygpOwotCi0JLyoKLQkgKiBFeHRlcm5hbCBGUFU/IFNldCB1cCBpcnExMyBpZiBzbywgZm9yCi0JICogb3JpZ2luYWwgYnJhaW5kYW1hZ2VkIElCTSBGRVJSIGNvdXBsaW5nLgotCSAqLwotCWlmIChib290X2NwdV9kYXRhLmhhcmRfbWF0aCAmJiAhY3B1X2hhc19mcHUpCi0JCXNldHVwX2lycShGUFVfSVJRLCAmZnB1X2lycSk7Ci0KLQlpcnFfY3R4X2luaXQoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pODI1OV82NC5jIGIvYXJjaC94ODYva2VybmVsL2k4MjU5XzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhNTdhMTUuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL2k4MjU5XzY0LmMKKysrIC9kZXYvbnVsbApAQCAtMSw1MTIgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgotI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZXguaD4KLSNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0KLSNpbmNsdWRlIDxhc20vYWNwaS5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vc3lzdGVtLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2h3X2lycS5oPgotI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0jaW5jbHVkZSA8YXNtL2RlbGF5Lmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXBpYy5oPgotI2luY2x1ZGUgPGFzbS9pODI1OS5oPgotCi0vKgotICogQ29tbW9uIHBsYWNlIHRvIGRlZmluZSBhbGwgeDg2IElSUSB2ZWN0b3JzCi0gKgotICogVGhpcyBidWlsZHMgdXAgdGhlIElSUSBoYW5kbGVyIHN0dWJzIHVzaW5nIHNvbWUgdWdseSBtYWNyb3MgaW4gaXJxLmgKLSAqCi0gKiBUaGVzZSBtYWNyb3MgY3JlYXRlIHRoZSBsb3ctbGV2ZWwgYXNzZW1ibHkgSVJRIHJvdXRpbmVzIHRoYXQgc2F2ZQotICogcmVnaXN0ZXIgY29udGV4dCBhbmQgY2FsbCBkb19JUlEoKS4gZG9fSVJRKCkgdGhlbiBkb2VzIGFsbCB0aGUKLSAqIG9wZXJhdGlvbnMgdGhhdCBhcmUgbmVlZGVkIHRvIGtlZXAgdGhlIEFUIChvciBTTVAgSU9BUElDKQotICogaW50ZXJydXB0LWNvbnRyb2xsZXIgaGFwcHkuCi0gKi8KLQotI2RlZmluZSBCSSh4LHkpIFwKLQlCVUlMRF9JUlEoeCMjeSkKLQotI2RlZmluZSBCVUlMRF8xNl9JUlFTKHgpIFwKLQlCSSh4LDApIEJJKHgsMSkgQkkoeCwyKSBCSSh4LDMpIFwKLQlCSSh4LDQpIEJJKHgsNSkgQkkoeCw2KSBCSSh4LDcpIFwKLQlCSSh4LDgpIEJJKHgsOSkgQkkoeCxhKSBCSSh4LGIpIFwKLQlCSSh4LGMpIEJJKHgsZCkgQkkoeCxlKSBCSSh4LGYpCi0KLS8qCi0gKiBJU0EgUElDIG9yIGxvdyBJTy1BUElDIHRyaWdnZXJlZCAoSU5UQS1jeWNsZSBvciBBUElDKSBpbnRlcnJ1cHRzOgotICogKHRoZXNlIGFyZSB1c3VhbGx5IG1hcHBlZCB0byB2ZWN0b3JzIDB4MzAtMHgzZikKLSAqLwotCi0vKgotICogVGhlIElPLUFQSUMgZ2l2ZXMgdXMgbWFueSBtb3JlIGludGVycnVwdCBzb3VyY2VzLiBNb3N0IG9mIHRoZXNlCi0gKiBhcmUgdW51c2VkIGJ1dCBhbiBTTVAgc3lzdGVtIGlzIHN1cHBvc2VkIHRvIGhhdmUgZW5vdWdoIG1lbW9yeSAuLi4KLSAqIHNvbWV0aW1lcyAobW9zdGx5IHdydC4gaHcgYnVncykgd2UgZ2V0IGNvcnJ1cHRlZCB2ZWN0b3JzIGFsbAotICogYWNyb3NzIHRoZSBzcGVjdHJ1bSwgc28gd2UgcmVhbGx5IHdhbnQgdG8gYmUgcHJlcGFyZWQgdG8gZ2V0IGFsbAotICogb2YgdGhlc2UuIFBsdXMsIG1vcmUgcG93ZXJmdWwgc3lzdGVtcyBtaWdodCBoYXZlIG1vcmUgdGhhbiA2NAotICogSU8tQVBJQyByZWdpc3RlcnMuCi0gKgotICogKHRoZXNlIGFyZSB1c3VhbGx5IG1hcHBlZCBpbnRvIHRoZSAweDMwLTB4ZmYgdmVjdG9yIHJhbmdlKQotICovCi0JCQkJICAgICAgQlVJTERfMTZfSVJRUygweDIpIEJVSUxEXzE2X0lSUVMoMHgzKQotQlVJTERfMTZfSVJRUygweDQpIEJVSUxEXzE2X0lSUVMoMHg1KSBCVUlMRF8xNl9JUlFTKDB4NikgQlVJTERfMTZfSVJRUygweDcpCi1CVUlMRF8xNl9JUlFTKDB4OCkgQlVJTERfMTZfSVJRUygweDkpIEJVSUxEXzE2X0lSUVMoMHhhKSBCVUlMRF8xNl9JUlFTKDB4YikKLUJVSUxEXzE2X0lSUVMoMHhjKSBCVUlMRF8xNl9JUlFTKDB4ZCkgQlVJTERfMTZfSVJRUygweGUpIEJVSUxEXzE2X0lSUVMoMHhmKQotCi0jdW5kZWYgQlVJTERfMTZfSVJRUwotI3VuZGVmIEJJCi0KLQotI2RlZmluZSBJUlEoeCx5KSBcCi0JSVJRIyN4IyN5IyNfaW50ZXJydXB0Ci0KLSNkZWZpbmUgSVJRTElTVF8xNih4KSBcCi0JSVJRKHgsMCksIElSUSh4LDEpLCBJUlEoeCwyKSwgSVJRKHgsMyksIFwKLQlJUlEoeCw0KSwgSVJRKHgsNSksIElSUSh4LDYpLCBJUlEoeCw3KSwgXAotCUlSUSh4LDgpLCBJUlEoeCw5KSwgSVJRKHgsYSksIElSUSh4LGIpLCBcCi0JSVJRKHgsYyksIElSUSh4LGQpLCBJUlEoeCxlKSwgSVJRKHgsZikKLQotLyogZm9yIHRoZSBpcnEgdmVjdG9ycyAqLwotc3RhdGljIHZvaWQgKCpfX2luaXRkYXRhIGludGVycnVwdFtOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SXSkodm9pZCkgPSB7Ci0JCQkJCSAgSVJRTElTVF8xNigweDIpLCBJUlFMSVNUXzE2KDB4MyksCi0JSVJRTElTVF8xNigweDQpLCBJUlFMSVNUXzE2KDB4NSksIElSUUxJU1RfMTYoMHg2KSwgSVJRTElTVF8xNigweDcpLAotCUlSUUxJU1RfMTYoMHg4KSwgSVJRTElTVF8xNigweDkpLCBJUlFMSVNUXzE2KDB4YSksIElSUUxJU1RfMTYoMHhiKSwKLQlJUlFMSVNUXzE2KDB4YyksIElSUUxJU1RfMTYoMHhkKSwgSVJRTElTVF8xNigweGUpLCBJUlFMSVNUXzE2KDB4ZikKLX07Ci0KLSN1bmRlZiBJUlEKLSN1bmRlZiBJUlFMSVNUXzE2Ci0KLS8qCi0gKiBUaGlzIGlzIHRoZSAnbGVnYWN5JyA4MjU5QSBQcm9ncmFtbWFibGUgSW50ZXJydXB0IENvbnRyb2xsZXIsCi0gKiBwcmVzZW50IGluIHRoZSBtYWpvcml0eSBvZiBQQy9BVCBib3hlcy4KLSAqIHBsdXMgc29tZSBnZW5lcmljIHg4NiBzcGVjaWZpYyB0aGluZ3MgaWYgZ2VuZXJpYyBzcGVjaWZpY3MgbWFrZXMKLSAqIGFueSBzZW5zZSBhdCBhbGwuCi0gKiB0aGlzIGZpbGUgc2hvdWxkIGJlY29tZSBhcmNoL2kzODYva2VybmVsL2lycS5jIHdoZW4gdGhlIG9sZCBpcnEuYwotICogbW92ZXMgdG8gYXJjaCBpbmRlcGVuZGVudCBsYW5kCi0gKi8KLQotc3RhdGljIGludCBpODI1OUFfYXV0b19lb2k7Ci1ERUZJTkVfU1BJTkxPQ0soaTgyNTlBX2xvY2spOwotc3RhdGljIHZvaWQgbWFza19hbmRfYWNrXzgyNTlBKHVuc2lnbmVkIGludCk7Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgaTgyNTlBX2NoaXAgPSB7Ci0JLm5hbWUJCT0gIlhULVBJQyIsCi0JLm1hc2sJCT0gZGlzYWJsZV84MjU5QV9pcnEsCi0JLmRpc2FibGUJPSBkaXNhYmxlXzgyNTlBX2lycSwKLQkudW5tYXNrCQk9IGVuYWJsZV84MjU5QV9pcnEsCi0JLm1hc2tfYWNrCT0gbWFza19hbmRfYWNrXzgyNTlBLAotfTsKLQotLyoKLSAqIDgyNTlBIFBJQyBmdW5jdGlvbnMgdG8gaGFuZGxlIElTQSBkZXZpY2VzOgotICovCi0KLS8qCi0gKiBUaGlzIGNvbnRhaW5zIHRoZSBpcnEgbWFzayBmb3IgYm90aCA4MjU5QSBpcnEgY29udHJvbGxlcnMsCi0gKi8KLXVuc2lnbmVkIGludCBjYWNoZWRfaXJxX21hc2sgPSAweGZmZmY7Ci0KLS8qCi0gKiBOb3QgYWxsIElSUXMgY2FuIGJlIHJvdXRlZCB0aHJvdWdoIHRoZSBJTy1BUElDLCBlZy4gb24gY2VydGFpbiAob2xkZXIpCi0gKiBib2FyZHMgdGhlIHRpbWVyIGludGVycnVwdCBpcyBub3QgcmVhbGx5IGNvbm5lY3RlZCB0byBhbnkgSU8tQVBJQyBwaW4sCi0gKiBpdCdzIGZlZCB0byB0aGUgbWFzdGVyIDgyNTlBJ3MgSVIwIGxpbmUgb25seS4KLSAqCi0gKiBBbnkgJzEnIGJpdCBpbiB0aGlzIG1hc2sgbWVhbnMgdGhlIElSUSBpcyByb3V0ZWQgdGhyb3VnaCB0aGUgSU8tQVBJQy4KLSAqIHRoaXMgJ21peGVkIG1vZGUnIElSUSBoYW5kbGluZyBjb3N0cyBub3RoaW5nIGJlY2F1c2UgaXQncyBvbmx5IHVzZWQKLSAqIGF0IElSUSBzZXR1cCB0aW1lLgotICovCi11bnNpZ25lZCBsb25nIGlvX2FwaWNfaXJxczsKLQotdm9pZCBkaXNhYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGludCBtYXNrID0gMSA8PCBpcnE7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCWNhY2hlZF9pcnFfbWFzayB8PSBtYXNrOwotCWlmIChpcnEgJiA4KQotCQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsKLQllbHNlCi0JCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCBQSUNfTUFTVEVSX0lNUik7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLX0KLQotdm9pZCBlbmFibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IG1hc2sgPSB+KDEgPDwgaXJxKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JY2FjaGVkX2lycV9tYXNrICY9IG1hc2s7Ci0JaWYgKGlycSAmIDgpCi0JCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwotCWVsc2UKLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotfQotCi1pbnQgaTgyNTlBX2lycV9wZW5kaW5nKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgaW50IG1hc2sgPSAxPDxpcnE7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0OwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0JaWYgKGlycSA8IDgpCi0JCXJldCA9IGluYihQSUNfTUFTVEVSX0NNRCkgJiBtYXNrOwotCWVsc2UKLQkJcmV0ID0gaW5iKFBJQ19TTEFWRV9DTUQpICYgKG1hc2sgPj4gOCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXZvaWQgbWFrZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQlkaXNhYmxlX2lycV9ub3N5bmMoaXJxKTsKLQlpb19hcGljX2lycXMgJj0gfigxPDxpcnEpOwotCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGlycSwgJmk4MjU5QV9jaGlwLCBoYW5kbGVfbGV2ZWxfaXJxLAotCQkJCSAgICAgICJYVCIpOwotCWVuYWJsZV9pcnEoaXJxKTsKLX0KLQotLyoKLSAqIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyB0byBiZSBjYWxsZWQgcmFyZWx5LiBTd2l0Y2hpbmcgYmV0d2VlbgotICogODI1OUEgcmVnaXN0ZXJzIGlzIHNsb3cuCi0gKiBUaGlzIGhhcyB0byBiZSBwcm90ZWN0ZWQgYnkgdGhlIGlycSBjb250cm9sbGVyIHNwaW5sb2NrCi0gKiBiZWZvcmUgYmVpbmcgY2FsbGVkLgotICovCi1zdGF0aWMgaW5saW5lIGludCBpODI1OUFfaXJxX3JlYWwodW5zaWduZWQgaW50IGlycSkKLXsKLQlpbnQgdmFsdWU7Ci0JaW50IGlycW1hc2sgPSAxPDxpcnE7Ci0KLQlpZiAoaXJxIDwgOCkgewotCQlvdXRiKDB4MEIsUElDX01BU1RFUl9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KLQkJdmFsdWUgPSBpbmIoUElDX01BU1RFUl9DTUQpICYgaXJxbWFzazsKLQkJb3V0YigweDBBLFBJQ19NQVNURVJfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCi0JCXJldHVybiB2YWx1ZTsKLQl9Ci0Jb3V0YigweDBCLFBJQ19TTEFWRV9DTUQpOwkvKiBJU1IgcmVnaXN0ZXIgKi8KLQl2YWx1ZSA9IGluYihQSUNfU0xBVkVfQ01EKSAmIChpcnFtYXNrID4+IDgpOwotCW91dGIoMHgwQSxQSUNfU0xBVkVfQ01EKTsJLyogYmFjayB0byB0aGUgSVJSIHJlZ2lzdGVyICovCi0JcmV0dXJuIHZhbHVlOwotfQotCi0vKgotICogQ2FyZWZ1bCEgVGhlIDgyNTlBIGlzIGEgZnJhZ2lsZSBiZWFzdCwgaXQgcHJldHR5Ci0gKiBtdWNoIF9oYXNfIHRvIGJlIGRvbmUgZXhhY3RseSBsaWtlIHRoaXMgKG1hc2sgaXQKLSAqIGZpcnN0LCBfdGhlbl8gc2VuZCB0aGUgRU9JLCBhbmQgdGhlIG9yZGVyIG9mIEVPSQotICogdG8gdGhlIHR3byA4MjU5cyBpcyBpbXBvcnRhbnQhCi0gKi8KLXN0YXRpYyB2b2lkIG1hc2tfYW5kX2Fja184MjU5QSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGludCBpcnFtYXNrID0gMSA8PCBpcnE7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCS8qCi0JICogTGlnaHR3ZWlnaHQgc3B1cmlvdXMgSVJRIGRldGVjdGlvbi4gV2UgZG8gbm90IHdhbnQKLQkgKiB0byBvdmVyZG8gc3B1cmlvdXMgSVJRIGhhbmRsaW5nIC0gaXQncyB1c3VhbGx5IGEgc2lnbgotCSAqIG9mIGhhcmR3YXJlIHByb2JsZW1zLCBzbyB3ZSBvbmx5IGRvIHRoZSBjaGVja3Mgd2UgY2FuCi0JICogZG8gd2l0aG91dCBzbG93aW5nIGRvd24gZ29vZCBoYXJkd2FyZSB1bm5lY2Vzc2FyaWx5LgotCSAqCi0JICogTm90ZSB0aGF0IElSUTcgYW5kIElSUTE1ICh0aGUgdHdvIHNwdXJpb3VzIElSUXMKLQkgKiB1c3VhbGx5IHJlc3VsdGluZyBmcm9tIHRoZSA4MjU5QS0xfDIgUElDcykgb2NjdXIKLQkgKiBldmVuIGlmIHRoZSBJUlEgaXMgbWFza2VkIGluIHRoZSA4MjU5QS4gVGh1cyB3ZQotCSAqIGNhbiBjaGVjayBzcHVyaW91cyA4MjU5QSBJUlFzIHdpdGhvdXQgZG9pbmcgdGhlCi0JICogcXVpdGUgc2xvdyBpODI1OUFfaXJxX3JlYWwoKSBjYWxsIGZvciBldmVyeSBJUlEuCi0JICogVGhpcyBkb2VzIG5vdCBjb3ZlciAxMDAlIG9mIHNwdXJpb3VzIGludGVycnVwdHMsCi0JICogYnV0IHNob3VsZCBiZSBlbm91Z2ggdG8gd2FybiB0aGUgdXNlciB0aGF0IHRoZXJlCi0JICogaXMgc29tZXRoaW5nIGJhZCBnb2luZyBvbiAuLi4KLQkgKi8KLQlpZiAoY2FjaGVkX2lycV9tYXNrICYgaXJxbWFzaykKLQkJZ290byBzcHVyaW91c184MjU5QV9pcnE7Ci0JY2FjaGVkX2lycV9tYXNrIHw9IGlycW1hc2s7Ci0KLWhhbmRsZV9yZWFsX2lycToKLQlpZiAoaXJxICYgOCkgewotCQlpbmIoUElDX1NMQVZFX0lNUik7CS8qIERVTU1ZIC0gKGRvIHdlIG5lZWQgdGhpcz8pICovCi0JCW91dGIoY2FjaGVkX3NsYXZlX21hc2ssIFBJQ19TTEFWRV9JTVIpOwotCQkvKiAnU3BlY2lmaWMgRU9JJyB0byBzbGF2ZSAqLwotCQlvdXRiKDB4NjArKGlycSY3KSxQSUNfU0xBVkVfQ01EKTsKLQkJIC8qICdTcGVjaWZpYyBFT0knIHRvIG1hc3Rlci1JUlEyICovCi0JCW91dGIoMHg2MCtQSUNfQ0FTQ0FERV9JUixQSUNfTUFTVEVSX0NNRCk7Ci0JfSBlbHNlIHsKLQkJaW5iKFBJQ19NQVNURVJfSU1SKTsJLyogRFVNTVkgLSAoZG8gd2UgbmVlZCB0aGlzPykgKi8KLQkJb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsKLQkJLyogJ1NwZWNpZmljIEVPSScgdG8gbWFzdGVyICovCi0JCW91dGIoMHg2MCtpcnEsUElDX01BU1RFUl9DTUQpOwotCX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCXJldHVybjsKLQotc3B1cmlvdXNfODI1OUFfaXJxOgotCS8qCi0JICogdGhpcyBpcyB0aGUgc2xvdyBwYXRoIC0gc2hvdWxkIGhhcHBlbiByYXJlbHkuCi0JICovCi0JaWYgKGk4MjU5QV9pcnFfcmVhbChpcnEpKQotCQkvKgotCQkgKiBvb3BzLCB0aGUgSVJRIF9pc18gaW4gc2VydmljZSBhY2NvcmRpbmcgdG8gdGhlCi0JCSAqIDgyNTlBIC0gbm90IHNwdXJpb3VzLCBnbyBoYW5kbGUgaXQuCi0JCSAqLwotCQlnb3RvIGhhbmRsZV9yZWFsX2lycTsKLQotCXsKLQkJc3RhdGljIGludCBzcHVyaW91c19pcnFfbWFzazsKLQkJLyoKLQkJICogQXQgdGhpcyBwb2ludCB3ZSBjYW4gYmUgc3VyZSB0aGUgSVJRIGlzIHNwdXJpb3VzLAotCQkgKiBsZXRzIEFDSyBhbmQgcmVwb3J0IGl0LiBbb25jZSBwZXIgSVJRXQotCQkgKi8KLQkJaWYgKCEoc3B1cmlvdXNfaXJxX21hc2sgJiBpcnFtYXNrKSkgewotCQkJcHJpbnRrKEtFUk5fREVCVUcKLQkJCSAgICAgICAic3B1cmlvdXMgODI1OUEgaW50ZXJydXB0OiBJUlElZC5cbiIsIGlycSk7Ci0JCQlzcHVyaW91c19pcnFfbWFzayB8PSBpcnFtYXNrOwotCQl9Ci0JCWF0b21pY19pbmMoJmlycV9lcnJfY291bnQpOwotCQkvKgotCQkgKiBUaGVvcmV0aWNhbGx5IHdlIGRvIG5vdCBoYXZlIHRvIGhhbmRsZSB0aGlzIElSUSwKLQkJICogYnV0IGluIExpbnV4IHRoaXMgZG9lcyBub3QgY2F1c2UgcHJvYmxlbXMgYW5kIGlzCi0JCSAqIHNpbXBsZXIgZm9yIHVzLgotCQkgKi8KLQkJZ290byBoYW5kbGVfcmVhbF9pcnE7Ci0JfQotfQotCi1zdGF0aWMgY2hhciBpcnFfdHJpZ2dlclsyXTsKLS8qKgotICogRUxDUiByZWdpc3RlcnMgKDB4NGQwLCAweDRkMSkgY29udHJvbCBlZGdlL2xldmVsIG9mIElSUQotICovCi1zdGF0aWMgdm9pZCByZXN0b3JlX0VMQ1IoY2hhciAqdHJpZ2dlcikKLXsKLQlvdXRiKHRyaWdnZXJbMF0sIDB4NGQwKTsKLQlvdXRiKHRyaWdnZXJbMV0sIDB4NGQxKTsKLX0KLQotc3RhdGljIHZvaWQgc2F2ZV9FTENSKGNoYXIgKnRyaWdnZXIpCi17Ci0JLyogSVJRIDAsMSwyLDgsMTMgYXJlIG1hcmtlZCBhcyByZXNlcnZlZCAqLwotCXRyaWdnZXJbMF0gPSBpbmIoMHg0ZDApICYgMHhGODsKLQl0cmlnZ2VyWzFdID0gaW5iKDB4NGQxKSAmIDB4REU7Ci19Ci0KLXN0YXRpYyBpbnQgaTgyNTlBX3Jlc3VtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2KQotewotCWluaXRfODI1OUEoaTgyNTlBX2F1dG9fZW9pKTsKLQlyZXN0b3JlX0VMQ1IoaXJxX3RyaWdnZXIpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGk4MjU5QV9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKLXsKLQlzYXZlX0VMQ1IoaXJxX3RyaWdnZXIpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGk4MjU5QV9zaHV0ZG93bihzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2KQotewotCS8qIFB1dCB0aGUgaTgyNTlBIGludG8gYSBxdWllc2NlbnQgc3RhdGUgdGhhdAotCSAqIHRoZSBrZXJuZWwgaW5pdGlhbGl6YXRpb24gY29kZSBjYW4gZ2V0IGl0Ci0JICogb3V0IG9mLgotCSAqLwotCW91dGIoMHhmZiwgUElDX01BU1RFUl9JTVIpOwkvKiBtYXNrIGFsbCBvZiA4MjU5QS0xICovCi0Jb3V0YigweGZmLCBQSUNfU0xBVkVfSU1SKTsJLyogbWFzayBhbGwgb2YgODI1OUEtMSAqLwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IHN5c2Rldl9jbGFzcyBpODI1OV9zeXNkZXZfY2xhc3MgPSB7Ci0JLm5hbWUgPSAiaTgyNTkiLAotCS5zdXNwZW5kID0gaTgyNTlBX3N1c3BlbmQsCi0JLnJlc3VtZSA9IGk4MjU5QV9yZXN1bWUsCi0JLnNodXRkb3duID0gaTgyNTlBX3NodXRkb3duLAotfTsKLQotc3RhdGljIHN0cnVjdCBzeXNfZGV2aWNlIGRldmljZV9pODI1OUEgPSB7Ci0JLmlkCT0gMCwKLQkuY2xzCT0gJmk4MjU5X3N5c2Rldl9jbGFzcywKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGk4MjU5QV9pbml0X3N5c2ZzKHZvaWQpCi17Ci0JaW50IGVycm9yID0gc3lzZGV2X2NsYXNzX3JlZ2lzdGVyKCZpODI1OV9zeXNkZXZfY2xhc3MpOwotCWlmICghZXJyb3IpCi0JCWVycm9yID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfaTgyNTlBKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLWRldmljZV9pbml0Y2FsbChpODI1OUFfaW5pdF9zeXNmcyk7Ci0KLXZvaWQgaW5pdF84MjU5QShpbnQgYXV0b19lb2kpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCWk4MjU5QV9hdXRvX2VvaSA9IGF1dG9fZW9pOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmk4MjU5QV9sb2NrLCBmbGFncyk7Ci0KLQlvdXRiKDB4ZmYsIFBJQ19NQVNURVJfSU1SKTsJLyogbWFzayBhbGwgb2YgODI1OUEtMSAqLwotCW91dGIoMHhmZiwgUElDX1NMQVZFX0lNUik7CS8qIG1hc2sgYWxsIG9mIDgyNTlBLTIgKi8KLQotCS8qCi0JICogb3V0Yl9waWMgLSB0aGlzIGhhcyB0byB3b3JrIG9uIGEgd2lkZSByYW5nZSBvZiBQQyBoYXJkd2FyZS4KLQkgKi8KLQlvdXRiX3BpYygweDExLCBQSUNfTUFTVEVSX0NNRCk7CS8qIElDVzE6IHNlbGVjdCA4MjU5QS0xIGluaXQgKi8KLQkvKiBJQ1cyOiA4MjU5QS0xIElSMC03IG1hcHBlZCB0byAweDMwLTB4MzcgKi8KLQlvdXRiX3BpYyhJUlEwX1ZFQ1RPUiwgUElDX01BU1RFUl9JTVIpOwotCS8qIDgyNTlBLTEgKHRoZSBtYXN0ZXIpIGhhcyBhIHNsYXZlIG9uIElSMiAqLwotCW91dGJfcGljKDB4MDQsIFBJQ19NQVNURVJfSU1SKTsKLQlpZiAoYXV0b19lb2kpCS8qIG1hc3RlciBkb2VzIEF1dG8gRU9JICovCi0JCW91dGJfcGljKE1BU1RFUl9JQ1c0X0RFRkFVTFQgfCBQSUNfSUNXNF9BRU9JLCBQSUNfTUFTVEVSX0lNUik7Ci0JZWxzZQkJLyogbWFzdGVyIGV4cGVjdHMgbm9ybWFsIEVPSSAqLwotCQlvdXRiX3BpYyhNQVNURVJfSUNXNF9ERUZBVUxULCBQSUNfTUFTVEVSX0lNUik7Ci0KLQlvdXRiX3BpYygweDExLCBQSUNfU0xBVkVfQ01EKTsJLyogSUNXMTogc2VsZWN0IDgyNTlBLTIgaW5pdCAqLwotCS8qIElDVzI6IDgyNTlBLTIgSVIwLTcgbWFwcGVkIHRvIDB4MzgtMHgzZiAqLwotCW91dGJfcGljKElSUThfVkVDVE9SLCBQSUNfU0xBVkVfSU1SKTsKLQkvKiA4MjU5QS0yIGlzIGEgc2xhdmUgb24gbWFzdGVyJ3MgSVIyICovCi0Jb3V0Yl9waWMoUElDX0NBU0NBREVfSVIsIFBJQ19TTEFWRV9JTVIpOwotCS8qIChzbGF2ZSdzIHN1cHBvcnQgZm9yIEFFT0kgaW4gZmxhdCBtb2RlIGlzIHRvIGJlIGludmVzdGlnYXRlZCkgKi8KLQlvdXRiX3BpYyhTTEFWRV9JQ1c0X0RFRkFVTFQsIFBJQ19TTEFWRV9JTVIpOwotCi0JaWYgKGF1dG9fZW9pKQotCQkvKgotCQkgKiBJbiBBRU9JIG1vZGUgd2UganVzdCBoYXZlIHRvIG1hc2sgdGhlIGludGVycnVwdAotCQkgKiB3aGVuIGFja2luZy4KLQkJICovCi0JCWk4MjU5QV9jaGlwLm1hc2tfYWNrID0gZGlzYWJsZV84MjU5QV9pcnE7Ci0JZWxzZQotCQlpODI1OUFfY2hpcC5tYXNrX2FjayA9IG1hc2tfYW5kX2Fja184MjU5QTsKLQotCXVkZWxheSgxMDApOwkJLyogd2FpdCBmb3IgODI1OUEgdG8gaW5pdGlhbGl6ZSAqLwotCi0Jb3V0YihjYWNoZWRfbWFzdGVyX21hc2ssIFBJQ19NQVNURVJfSU1SKTsgLyogcmVzdG9yZSBtYXN0ZXIgSVJRIG1hc2sgKi8KLQlvdXRiKGNhY2hlZF9zbGF2ZV9tYXNrLCBQSUNfU0xBVkVfSU1SKTsJICAvKiByZXN0b3JlIHNsYXZlIElSUSBtYXNrICovCi0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotfQotCi0KLQotCi0vKgotICogSVJRMiBpcyBjYXNjYWRlIGludGVycnVwdCB0byBzZWNvbmQgaW50ZXJydXB0IGNvbnRyb2xsZXIKLSAqLwotCi1zdGF0aWMgc3RydWN0IGlycWFjdGlvbiBpcnEyID0gewotCS5oYW5kbGVyID0gbm9fYWN0aW9uLAotCS5tYXNrID0gQ1BVX01BU0tfTk9ORSwKLQkubmFtZSA9ICJjYXNjYWRlIiwKLX07Ci1ERUZJTkVfUEVSX0NQVSh2ZWN0b3JfaXJxX3QsIHZlY3Rvcl9pcnEpID0gewotCVswIC4uLiBJUlEwX1ZFQ1RPUiAtIDFdID0gLTEsCi0JW0lSUTBfVkVDVE9SXSA9IDAsCi0JW0lSUTFfVkVDVE9SXSA9IDEsCi0JW0lSUTJfVkVDVE9SXSA9IDIsCi0JW0lSUTNfVkVDVE9SXSA9IDMsCi0JW0lSUTRfVkVDVE9SXSA9IDQsCi0JW0lSUTVfVkVDVE9SXSA9IDUsCi0JW0lSUTZfVkVDVE9SXSA9IDYsCi0JW0lSUTdfVkVDVE9SXSA9IDcsCi0JW0lSUThfVkVDVE9SXSA9IDgsCi0JW0lSUTlfVkVDVE9SXSA9IDksCi0JW0lSUTEwX1ZFQ1RPUl0gPSAxMCwKLQlbSVJRMTFfVkVDVE9SXSA9IDExLAotCVtJUlExMl9WRUNUT1JdID0gMTIsCi0JW0lSUTEzX1ZFQ1RPUl0gPSAxMywKLQlbSVJRMTRfVkVDVE9SXSA9IDE0LAotCVtJUlExNV9WRUNUT1JdID0gMTUsCi0JW0lSUTE1X1ZFQ1RPUiArIDEgLi4uIE5SX1ZFQ1RPUlMgLSAxXSA9IC0xCi19OwotCi12b2lkIF9faW5pdCBpbml0X0lTQV9pcnFzICh2b2lkKQotewotCWludCBpOwotCi0JaW5pdF9ic3BfQVBJQygpOwotCWluaXRfODI1OUEoMCk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTlJfSVJRUzsgaSsrKSB7Ci0JCWlycV9kZXNjW2ldLnN0YXR1cyA9IElSUV9ESVNBQkxFRDsKLQkJaXJxX2Rlc2NbaV0uYWN0aW9uID0gTlVMTDsKLQkJaXJxX2Rlc2NbaV0uZGVwdGggPSAxOwotCi0JCWlmIChpIDwgMTYpIHsKLQkJCS8qCi0JCQkgKiAxNiBvbGQtc3R5bGUgSU5UQS1jeWNsZSBpbnRlcnJ1cHRzOgotCQkJICovCi0JCQlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpLCAmaTgyNTlBX2NoaXAsCi0JCQkJCQkgICAgICBoYW5kbGVfbGV2ZWxfaXJxLCAiWFQiKTsKLQkJfSBlbHNlIHsKLQkJCS8qCi0JCQkgKiAnaGlnaCcgUENJIElSUXMgZmlsbGVkIGluIG9uIGRlbWFuZAotCQkJICovCi0JCQlpcnFfZGVzY1tpXS5jaGlwID0gJm5vX2lycV9jaGlwOwotCQl9Ci0JfQotfQotCi12b2lkIGluaXRfSVJRKHZvaWQpIF9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJuYXRpdmVfaW5pdF9JUlEiKSkpOwotCi12b2lkIF9faW5pdCBuYXRpdmVfaW5pdF9JUlEodm9pZCkKLXsKLQlpbnQgaTsKLQotCWluaXRfSVNBX2lycXMoKTsKLQkvKgotCSAqIENvdmVyIHRoZSB3aG9sZSB2ZWN0b3Igc3BhY2UsIG5vIHZlY3RvciBjYW4gZXNjYXBlCi0JICogdXMuIChzb21lIG9mIHRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgYmVjb21lCi0JICogJ3NwZWNpYWwnIFNNUCBpbnRlcnJ1cHRzKQotCSAqLwotCWZvciAoaSA9IDA7IGkgPCAoTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUik7IGkrKykgewotCQlpbnQgdmVjdG9yID0gRklSU1RfRVhURVJOQUxfVkVDVE9SICsgaTsKLQkJaWYgKHZlY3RvciAhPSBJQTMyX1NZU0NBTExfVkVDVE9SKQotCQkJc2V0X2ludHJfZ2F0ZSh2ZWN0b3IsIGludGVycnVwdFtpXSk7Ci0JfQotCi0jaWZkZWYgQ09ORklHX1NNUAotCS8qCi0JICogVGhlIHJlc2NoZWR1bGUgaW50ZXJydXB0IGlzIGEgQ1BVLXRvLUNQVSByZXNjaGVkdWxlLWhlbHBlcgotCSAqIElQSSwgZHJpdmVuIGJ5IHdha2V1cC4KLQkgKi8KLQlzZXRfaW50cl9nYXRlKFJFU0NIRURVTEVfVkVDVE9SLCByZXNjaGVkdWxlX2ludGVycnVwdCk7Ci0KLQkvKiBJUElzIGZvciBpbnZhbGlkYXRpb24gKi8KLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCswLCBpbnZhbGlkYXRlX2ludGVycnVwdDApOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzEsIGludmFsaWRhdGVfaW50ZXJydXB0MSk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMiwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQyKTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCszLCBpbnZhbGlkYXRlX2ludGVycnVwdDMpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzQsIGludmFsaWRhdGVfaW50ZXJydXB0NCk7Ci0Jc2V0X2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ1KTsKLQlzZXRfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs2LCBpbnZhbGlkYXRlX2ludGVycnVwdDYpOwotCXNldF9pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzcsIGludmFsaWRhdGVfaW50ZXJydXB0Nyk7Ci0KLQkvKiBJUEkgZm9yIGdlbmVyaWMgZnVuY3Rpb24gY2FsbCAqLwotCXNldF9pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9WRUNUT1IsIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KTsKLQotCS8qIExvdyBwcmlvcml0eSBJUEkgdG8gY2xlYW51cCBhZnRlciBtb3ZpbmcgYW4gaXJxICovCi0Jc2V0X2ludHJfZ2F0ZShJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUiwgaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQpOwotI2VuZGlmCi0Jc2V0X2ludHJfZ2F0ZShUSEVSTUFMX0FQSUNfVkVDVE9SLCB0aGVybWFsX2ludGVycnVwdCk7Ci0Jc2V0X2ludHJfZ2F0ZShUSFJFU0hPTERfQVBJQ19WRUNUT1IsIHRocmVzaG9sZF9pbnRlcnJ1cHQpOwotCi0JLyogc2VsZiBnZW5lcmF0ZWQgSVBJIGZvciBsb2NhbCBBUElDIHRpbWVyICovCi0Jc2V0X2ludHJfZ2F0ZShMT0NBTF9USU1FUl9WRUNUT1IsIGFwaWNfdGltZXJfaW50ZXJydXB0KTsKLQotCS8qIElQSSB2ZWN0b3JzIGZvciBBUElDIHNwdXJpb3VzIGFuZCBlcnJvciBpbnRlcnJ1cHRzICovCi0Jc2V0X2ludHJfZ2F0ZShTUFVSSU9VU19BUElDX1ZFQ1RPUiwgc3B1cmlvdXNfaW50ZXJydXB0KTsKLQlzZXRfaW50cl9nYXRlKEVSUk9SX0FQSUNfVkVDVE9SLCBlcnJvcl9pbnRlcnJ1cHQpOwotCi0JaWYgKCFhY3BpX2lvYXBpYykKLQkJc2V0dXBfaXJxKDIsICZpcnEyKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY18zMi5jCmluZGV4IDRkYzg2MDBkOS4uNTU4YWJmNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY18zMi5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KICNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgogI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KQEAgLTU4LDcgKzU5LDcgQEAKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9hcGljX2xvY2spOwogc3RhdGljIERFRklORV9TUElOTE9DSyh2ZWN0b3JfbG9jayk7CiAKLWludCB0aW1lcl9vdmVyXzgyNTQgX19pbml0ZGF0YSA9IDE7CitpbnQgdGltZXJfdGhyb3VnaF84MjU5IF9faW5pdGRhdGE7CiAKIC8qCiAgKglJcyB0aGUgU2lTIEFQSUMgcm13IGJ1ZyBwcmVzZW50ID8KQEAgLTcyLDE1ICs3MywyMSBAQAogaW50IG5yX2lvYXBpY19yZWdpc3RlcnNbTUFYX0lPX0FQSUNTXTsKIAogLyogSS9PIEFQSUMgZW50cmllcyAqLwotc3RydWN0IG1wY19jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKK3N0cnVjdCBtcF9jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKIGludCBucl9pb2FwaWNzOwogCiAvKiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KLXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CitzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyBtcF9pcnFzW01BWF9JUlFfU09VUkNFU107CiAKIC8qICMgb2YgTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCiBpbnQgbXBfaXJxX2VudHJpZXM7CiAKKyNpZiBkZWZpbmVkIChDT05GSUdfTUNBKSB8fCBkZWZpbmVkIChDT05GSUdfRUlTQSkKK2ludCBtcF9idXNfaWRfdG9fdHlwZVtNQVhfTVBfQlVTU0VTXTsKKyNlbmRpZgorCitERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CisKIHN0YXRpYyBpbnQgZGlzYWJsZV90aW1lcl9waW5fMSBfX2luaXRkYXRhOwogCiAvKgpAQCAtMTEwLDcgKzExNyw3IEBACiBzdGF0aWMgX19hdHRyaWJ1dGVfY29uc3RfXyBzdHJ1Y3QgaW9fYXBpYyBfX2lvbWVtICppb19hcGljX2Jhc2UoaW50IGlkeCkKIHsKIAlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSBfX2ZpeF90b192aXJ0KEZJWF9JT19BUElDX0JBU0VfMCArIGlkeCkKLQkJKyAobXBfaW9hcGljc1tpZHhdLm1wY19hcGljYWRkciAmIH5QQUdFX01BU0spOworCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBfYXBpY2FkZHIgJiB+UEFHRV9NQVNLKTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgaW9fYXBpY19yZWFkKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcmVnKQpAQCAtMjM5LDcgKzI0Niw3IEBACiAJfQogfQogCi1zdGF0aWMgdm9pZCBfX21vZGlmeV9JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSwgdW5zaWduZWQgbG9uZyBlbmFibGUsIHVuc2lnbmVkIGxvbmcgZGlzYWJsZSkKK3N0YXRpYyB2b2lkIF9fbW9kaWZ5X0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEsIHVuc2lnbmVkIGxvbmcgZW5hYmxlLCB1bnNpZ25lZCBsb25nIGRpc2FibGUpCiB7CiAJc3RydWN0IGlycV9waW5fbGlzdCAqZW50cnkgPSBpcnFfMl9waW4gKyBpcnE7CiAJdW5zaWduZWQgaW50IHBpbiwgcmVnOwpAQCAtMjU5LDMwICsyNjYsMzIgQEAKIH0KIAogLyogbWFzayA9IDEgKi8KLXN0YXRpYyB2b2lkIF9fbWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fbWFza19JT19BUElDX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewotCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgMHgwMDAxMDAwMCwgMCk7CisJX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCBJT19BUElDX1JFRElSX01BU0tFRCwgMCk7CiB9CiAKIC8qIG1hc2sgPSAwICovCi1zdGF0aWMgdm9pZCBfX3VubWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIF9fdW5tYXNrX0lPX0FQSUNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7Ci0JX19tb2RpZnlfSU9fQVBJQ19pcnEoaXJxLCAwLCAweDAwMDEwMDAwKTsKKwlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDAsIElPX0FQSUNfUkVESVJfTUFTS0VEKTsKIH0KIAogLyogbWFzayA9IDEsIHRyaWdnZXIgPSAwICovCi1zdGF0aWMgdm9pZCBfX21hc2tfYW5kX2VkZ2VfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBfX21hc2tfYW5kX2VkZ2VfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDB4MDAwMTAwMDAsIDB4MDAwMDgwMDApOworCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgSU9fQVBJQ19SRURJUl9NQVNLRUQsCisJCQkJSU9fQVBJQ19SRURJUl9MRVZFTF9UUklHR0VSKTsKIH0KIAogLyogbWFzayA9IDAsIHRyaWdnZXIgPSAxICovCi1zdGF0aWMgdm9pZCBfX3VubWFza19hbmRfbGV2ZWxfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCBfX3VubWFza19hbmRfbGV2ZWxfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKLQlfX21vZGlmeV9JT19BUElDX2lycShpcnEsIDB4MDAwMDgwMDAsIDB4MDAwMTAwMDApOworCV9fbW9kaWZ5X0lPX0FQSUNfaXJxKGlycSwgSU9fQVBJQ19SRURJUl9MRVZFTF9UUklHR0VSLAorCQkJCUlPX0FQSUNfUkVESVJfTUFTS0VEKTsKIH0KIAotc3RhdGljIHZvaWQgbWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIG1hc2tfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0yOTEsNyArMzAwLDcgQEAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogfQogCi1zdGF0aWMgdm9pZCB1bm1hc2tfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCB1bm1hc2tfSU9fQVBJQ19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0zMDMsNyArMzEyLDcgQEAKIHN0YXRpYyB2b2lkIGNsZWFyX0lPX0FQSUNfcGluKHVuc2lnbmVkIGludCBhcGljLCB1bnNpZ25lZCBpbnQgcGluKQogewogCXN0cnVjdCBJT19BUElDX3JvdXRlX2VudHJ5IGVudHJ5OwotCQorCiAJLyogQ2hlY2sgZGVsaXZlcnlfbW9kZSB0byBiZSBzdXJlIHdlJ3JlIG5vdCBjbGVhcmluZyBhbiBTTUkgcGluICovCiAJZW50cnkgPSBpb2FwaWNfcmVhZF9lbnRyeShhcGljLCBwaW4pOwogCWlmIChlbnRyeS5kZWxpdmVyeV9tb2RlID09IGRlc3RfU01JKQpAQCAtMzE1LDcgKzMyNCw3IEBACiAJaW9hcGljX21hc2tfZW50cnkoYXBpYywgcGluKTsKIH0KIAotc3RhdGljIHZvaWQgY2xlYXJfSU9fQVBJQyAodm9pZCkKK3N0YXRpYyB2b2lkIGNsZWFyX0lPX0FQSUModm9pZCkKIHsKIAlpbnQgYXBpYywgcGluOwogCkBAIC0zMzIsNyArMzQxLDcgQEAKIAlzdHJ1Y3QgaXJxX3Bpbl9saXN0ICplbnRyeSA9IGlycV8yX3BpbiArIGlycTsKIAl1bnNpZ25lZCBpbnQgYXBpY2lkX3ZhbHVlOwogCWNwdW1hc2tfdCB0bXA7Ci0JCisKIAljcHVzX2FuZCh0bXAsIGNwdW1hc2ssIGNwdV9vbmxpbmVfbWFwKTsKIAlpZiAoY3B1c19lbXB0eSh0bXApKQogCQl0bXAgPSBUQVJHRVRfQ1BVUzsKQEAgLTM2MSw3ICszNzAsNyBAQAogIyBpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgkvKiBrc3RhdCAqLwogIyBpbmNsdWRlIDxsaW51eC9zbGFiLmg+CQkvKiBrbWFsbG9jKCkgKi8KICMgaW5jbHVkZSA8bGludXgvdGltZXIuaD4KLSAKKwogI2RlZmluZSBJUlFCQUxBTkNFX0NIRUNLX0FSQ0ggLTk5OQogI2RlZmluZSBNQVhfQkFMQU5DRURfSVJRX0lOVEVSVkFMCSg1KkhaKQogI2RlZmluZSBNSU5fQkFMQU5DRURfSVJRX0lOVEVSVkFMCShIWi8yKQpAQCAtMzczLDE0ICszODIsMTQgQEAKIHN0YXRpYyBsb25nIGJhbGFuY2VkX2lycV9pbnRlcnZhbCBfX3JlYWRfbW9zdGx5ID0gTUFYX0JBTEFOQ0VEX0lSUV9JTlRFUlZBTDsKIAogc3RhdGljIHN0cnVjdCBpcnFfY3B1X2luZm8gewotCXVuc2lnbmVkIGxvbmcgKiBsYXN0X2lycTsKLQl1bnNpZ25lZCBsb25nICogaXJxX2RlbHRhOworCXVuc2lnbmVkIGxvbmcgKmxhc3RfaXJxOworCXVuc2lnbmVkIGxvbmcgKmlycV9kZWx0YTsKIAl1bnNpZ25lZCBsb25nIGlycTsKIH0gaXJxX2NwdV9kYXRhW05SX0NQVVNdOwogCiAjZGVmaW5lIENQVV9JUlEoY3B1KQkJKGlycV9jcHVfZGF0YVtjcHVdLmlycSkKLSNkZWZpbmUgTEFTVF9DUFVfSVJRKGNwdSxpcnEpICAgKGlycV9jcHVfZGF0YVtjcHVdLmxhc3RfaXJxW2lycV0pCi0jZGVmaW5lIElSUV9ERUxUQShjcHUsaXJxKSAJKGlycV9jcHVfZGF0YVtjcHVdLmlycV9kZWx0YVtpcnFdKQorI2RlZmluZSBMQVNUX0NQVV9JUlEoY3B1LCBpcnEpICAgKGlycV9jcHVfZGF0YVtjcHVdLmxhc3RfaXJxW2lycV0pCisjZGVmaW5lIElSUV9ERUxUQShjcHUsIGlycSkgCShpcnFfY3B1X2RhdGFbY3B1XS5pcnFfZGVsdGFbaXJxXSkKIAogI2RlZmluZSBJRExFX0VOT1VHSChjcHUsbm93KSBcCiAJKGlkbGVfY3B1KGNwdSkgJiYgKChub3cpIC0gcGVyX2NwdShpcnFfc3RhdCwgKGNwdSkpLmlkbGVfdGltZXN0YW1wID4gMSkpCkBAIC00MTksOCArNDI4LDggQEAKIAkJCWlmIChjcHUgPT0gLTEpCiAJCQkJY3B1ID0gTlJfQ1BVUy0xOwogCQl9Ci0JfSB3aGlsZSAoIWNwdV9vbmxpbmUoY3B1KSB8fCAhSVJRX0FMTE9XRUQoY3B1LGFsbG93ZWRfbWFzaykgfHwKLQkJCShzZWFyY2hfaWRsZSAmJiAhSURMRV9FTk9VR0goY3B1LG5vdykpKTsKKwl9IHdoaWxlICghY3B1X29ubGluZShjcHUpIHx8ICFJUlFfQUxMT1dFRChjcHUsIGFsbG93ZWRfbWFzaykgfHwKKwkJCShzZWFyY2hfaWRsZSAmJiAhSURMRV9FTk9VR0goY3B1LCBub3cpKSk7CiAKIAlyZXR1cm4gY3B1OwogfQpAQCAtNDMwLDE1ICs0MzksMTQgQEAKIAl1bnNpZ25lZCBsb25nIG5vdyA9IGppZmZpZXM7CiAJY3B1bWFza190IGFsbG93ZWRfbWFzazsKIAl1bnNpZ25lZCBpbnQgbmV3X2NwdTsKLQkJCisKIAlpZiAoaXJxYmFsYW5jZV9kaXNhYmxlZCkKLQkJcmV0dXJuOyAKKwkJcmV0dXJuOwogCiAJY3B1c19hbmQoYWxsb3dlZF9tYXNrLCBjcHVfb25saW5lX21hcCwgYmFsYW5jZV9pcnFfYWZmaW5pdHlbaXJxXSk7CiAJbmV3X2NwdSA9IG1vdmUoY3B1LCBhbGxvd2VkX21hc2ssIG5vdywgMSk7Ci0JaWYgKGNwdSAhPSBuZXdfY3B1KSB7CisJaWYgKGNwdSAhPSBuZXdfY3B1KQogCQlzZXRfcGVuZGluZ19pcnEoaXJxLCBjcHVtYXNrX29mX2NwdShuZXdfY3B1KSk7Ci0JfQogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcm90YXRlX2lycXNfYW1vbmdfY3B1cyh1bnNpZ25lZCBsb25nIHVzZWZ1bF9sb2FkX3RocmVzaG9sZCkKQEAgLTQ1MCwxNCArNDU4LDE0IEBACiAJCQlpZiAoIWlycV9kZXNjW2pdLmFjdGlvbikKIAkJCQljb250aW51ZTsKIAkJCS8qIElzIGl0IGEgc2lnbmlmaWNhbnQgbG9hZCA/ICAqLwotCQkJaWYgKElSUV9ERUxUQShDUFVfVE9fUEFDS0FHRUlOREVYKGkpLGopIDwKKwkJCWlmIChJUlFfREVMVEEoQ1BVX1RPX1BBQ0tBR0VJTkRFWChpKSwgaikgPAogCQkJCQkJdXNlZnVsX2xvYWRfdGhyZXNob2xkKQogCQkJCWNvbnRpbnVlOwogCQkJYmFsYW5jZV9pcnEoaSwgaik7CiAJCX0KIAl9CiAJYmFsYW5jZWRfaXJxX2ludGVydmFsID0gbWF4KChsb25nKU1JTl9CQUxBTkNFRF9JUlFfSU5URVJWQUwsCi0JCWJhbGFuY2VkX2lycV9pbnRlcnZhbCAtIEJBTEFOQ0VEX0lSUV9MRVNTX0RFTFRBKTsJCisJCWJhbGFuY2VkX2lycV9pbnRlcnZhbCAtIEJBTEFOQ0VEX0lSUV9MRVNTX0RFTFRBKTsKIAlyZXR1cm47CiB9CiAKQEAgLTQ4NiwyMiArNDk0LDIyIEBACiAJCQkvKiBJcyB0aGlzIGFuIGFjdGl2ZSBJUlEgb3IgYmFsYW5jaW5nIGRpc2FibGVkID8gKi8KIAkJCWlmICghaXJxX2Rlc2Nbal0uYWN0aW9uIHx8IGlycV9iYWxhbmNpbmdfZGlzYWJsZWQoaikpCiAJCQkJY29udGludWU7Ci0JCQlpZiAoIHBhY2thZ2VfaW5kZXggPT0gaSApCi0JCQkJSVJRX0RFTFRBKHBhY2thZ2VfaW5kZXgsaikgPSAwOworCQkJaWYgKHBhY2thZ2VfaW5kZXggPT0gaSkKKwkJCQlJUlFfREVMVEEocGFja2FnZV9pbmRleCwgaikgPSAwOwogCQkJLyogRGV0ZXJtaW5lIHRoZSB0b3RhbCBjb3VudCBwZXIgcHJvY2Vzc29yIHBlciBJUlEgKi8KIAkJCXZhbHVlX25vdyA9ICh1bnNpZ25lZCBsb25nKSBrc3RhdF9jcHUoaSkuaXJxc1tqXTsKIAogCQkJLyogRGV0ZXJtaW5lIHRoZSBhY3Rpdml0eSBwZXIgcHJvY2Vzc29yIHBlciBJUlEgKi8KLQkJCWRlbHRhID0gdmFsdWVfbm93IC0gTEFTVF9DUFVfSVJRKGksaik7CisJCQlkZWx0YSA9IHZhbHVlX25vdyAtIExBU1RfQ1BVX0lSUShpLCBqKTsKIAogCQkJLyogVXBkYXRlIGxhc3RfY3B1X2lycVtdW10gZm9yIHRoZSBuZXh0IHRpbWUgKi8KLQkJCUxBU1RfQ1BVX0lSUShpLGopID0gdmFsdWVfbm93OworCQkJTEFTVF9DUFVfSVJRKGksIGopID0gdmFsdWVfbm93OwogCiAJCQkvKiBJZ25vcmUgSVJRcyB3aG9zZSByYXRlIGlzIGxlc3MgdGhhbiB0aGUgY2xvY2sgKi8KIAkJCWlmIChkZWx0YSA8IHVzZWZ1bF9sb2FkX3RocmVzaG9sZCkKIAkJCQljb250aW51ZTsKIAkJCS8qIHVwZGF0ZSB0aGUgbG9hZCBmb3IgdGhlIHByb2Nlc3NvciBvciBwYWNrYWdlIHRvdGFsICovCi0JCQlJUlFfREVMVEEocGFja2FnZV9pbmRleCxqKSArPSBkZWx0YTsKKwkJCUlSUV9ERUxUQShwYWNrYWdlX2luZGV4LCBqKSArPSBkZWx0YTsKIAogCQkJLyogS2VlcCB0cmFjayBvZiB0aGUgaGlnaGVyIG51bWJlcmVkIHNpYmxpbmcgYXMgd2VsbCAqLwogCQkJaWYgKGkgIT0gcGFja2FnZV9pbmRleCkKQEAgLTUyNyw3ICs1MzUsOCBAQAogCW1heF9jcHVfaXJxID0gVUxPTkdfTUFYOwogCiB0cnlhbm90aGVyY3B1OgotCS8qIExvb2sgZm9yIGhlYXZpZXN0IGxvYWRlZCBwcm9jZXNzb3IuCisJLyoKKwkgKiBMb29rIGZvciBoZWF2aWVzdCBsb2FkZWQgcHJvY2Vzc29yLgogCSAqIFdlIG1heSBjb21lIGJhY2sgdG8gZ2V0IHRoZSBuZXh0IGhlYXZpZXN0IGxvYWRlZCBwcm9jZXNzb3IuCiAJICogU2tpcCBwcm9jZXNzb3JzIHdpdGggdHJpdmlhbCBsb2Fkcy4KIAkgKi8KQEAgLTUzNiw3ICs1NDUsNyBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoaSkgewogCQlpZiAoaSAhPSBDUFVfVE9fUEFDS0FHRUlOREVYKGkpKQogCQkJY29udGludWU7Ci0JCWlmIChtYXhfY3B1X2lycSA8PSBDUFVfSVJRKGkpKSAKKwkJaWYgKG1heF9jcHVfaXJxIDw9IENQVV9JUlEoaSkpCiAJCQljb250aW51ZTsKIAkJaWYgKHRtcF9jcHVfaXJxIDwgQ1BVX0lSUShpKSkgewogCQkJdG1wX2NwdV9pcnEgPSBDUFVfSVJRKGkpOwpAQCAtNTQ1LDggKzU1NCw5IEBACiAJfQogCiAJaWYgKHRtcF9sb2FkZWQgPT0gLTEpIHsKLSAJIC8qIEluIHRoZSBjYXNlIG9mIHNtYWxsIG51bWJlciBvZiBoZWF2eSBpbnRlcnJ1cHQgc291cmNlcywgCi0JICAqIGxvYWRpbmcgc29tZSBvZiB0aGUgY3B1cyB0b28gbXVjaC4gV2UgdXNlIEluZ28ncyBvcmlnaW5hbCAKKwkgLyoKKwkgICogSW4gdGhlIGNhc2Ugb2Ygc21hbGwgbnVtYmVyIG9mIGhlYXZ5IGludGVycnVwdCBzb3VyY2VzLAorCSAgKiBsb2FkaW5nIHNvbWUgb2YgdGhlIGNwdXMgdG9vIG11Y2guIFdlIHVzZSBJbmdvJ3Mgb3JpZ2luYWwKIAkgICogYXBwcm9hY2ggdG8gcm90YXRlIHRoZW0gYXJvdW5kLgogCSAgKi8KIAkJaWYgKCFmaXJzdF9hdHRlbXB0ICYmIGltYmFsYW5jZSA+PSB1c2VmdWxfbG9hZF90aHJlc2hvbGQpIHsKQEAgLTU1NSwxMyArNTY1LDE0IEBACiAJCX0KIAkJZ290byBub3Rfd29ydGhfdGhlX2VmZm9ydDsKIAl9Ci0JCisKIAlmaXJzdF9hdHRlbXB0ID0gMDsJCS8qIGhlYXZpZXN0IHNlYXJjaCAqLwogCW1heF9jcHVfaXJxID0gdG1wX2NwdV9pcnE7CS8qIGxvYWQgKi8KIAltYXhfbG9hZGVkID0gdG1wX2xvYWRlZDsJLyogcHJvY2Vzc29yICovCiAJaW1iYWxhbmNlID0gKG1heF9jcHVfaXJxIC0gbWluX2NwdV9pcnEpIC8gMjsKLQkKLQkvKiBpZiBpbWJhbGFuY2UgaXMgbGVzcyB0aGFuIGFwcHJveCAxMCUgb2YgbWF4IGxvYWQsIHRoZW4KKworCS8qCisJICogaWYgaW1iYWxhbmNlIGlzIGxlc3MgdGhhbiBhcHByb3ggMTAlIG9mIG1heCBsb2FkLCB0aGVuCiAJICogb2JzZXJ2ZSBkaW1pbmlzaGluZyByZXR1cm5zIGFjdGlvbi4gLSBxdWl0CiAJICovCiAJaWYgKGltYmFsYW5jZSA8IChtYXhfY3B1X2lycSA+PiAzKSkKQEAgLTU3NywyNiArNTg4LDI1IEBACiAJCS8qIElzIHRoaXMgYW4gYWN0aXZlIElSUT8gKi8KIAkJaWYgKCFpcnFfZGVzY1tqXS5hY3Rpb24pCiAJCQljb250aW51ZTsKLQkJaWYgKGltYmFsYW5jZSA8PSBJUlFfREVMVEEobWF4X2xvYWRlZCxqKSkKKwkJaWYgKGltYmFsYW5jZSA8PSBJUlFfREVMVEEobWF4X2xvYWRlZCwgaikpCiAJCQljb250aW51ZTsKIAkJLyogVHJ5IHRvIGZpbmQgdGhlIElSUSB0aGF0IGlzIGNsb3Nlc3QgdG8gdGhlIGltYmFsYW5jZQogCQkgKiB3aXRob3V0IGdvaW5nIG92ZXIuCiAJCSAqLwotCQlpZiAobW92ZV90aGlzX2xvYWQgPCBJUlFfREVMVEEobWF4X2xvYWRlZCxqKSkgewotCQkJbW92ZV90aGlzX2xvYWQgPSBJUlFfREVMVEEobWF4X2xvYWRlZCxqKTsKKwkJaWYgKG1vdmVfdGhpc19sb2FkIDwgSVJRX0RFTFRBKG1heF9sb2FkZWQsIGopKSB7CisJCQltb3ZlX3RoaXNfbG9hZCA9IElSUV9ERUxUQShtYXhfbG9hZGVkLCBqKTsKIAkJCXNlbGVjdGVkX2lycSA9IGo7CiAJCX0KIAl9Ci0JaWYgKHNlbGVjdGVkX2lycSA9PSAtMSkgeworCWlmIChzZWxlY3RlZF9pcnEgPT0gLTEpCiAJCWdvdG8gdHJ5YW5vdGhlcmNwdTsKLQl9CiAKIAlpbWJhbGFuY2UgPSBtb3ZlX3RoaXNfbG9hZDsKLQkKKwogCS8qIEZvciBwaHlzaWNhbF9iYWxhbmNlIGNhc2UsIHdlIGFjY3VtdWxhdGVkIGJvdGggbG9hZAogCSAqIHZhbHVlcyBpbiB0aGUgb25lIG9mIHRoZSBzaWJsaW5ncyBjcHVfaXJxW10sCiAJICogdG8gdXNlIHRoZSBzYW1lIGNvZGUgZm9yIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHByb2Nlc3NvcnMKLQkgKiBhcyBtdWNoIGFzIHBvc3NpYmxlLiAKKwkgKiBhcyBtdWNoIGFzIHBvc3NpYmxlLgogCSAqCiAJICogTk9URTogdGhlIGNwdV9pcnFbXSBhcnJheSBob2xkcyB0aGUgc3VtIG9mIHRoZSBsb2FkIGZvcgogCSAqIHNpYmxpbmcgQSBhbmQgc2libGluZyBCIGluIHRoZSBzbG90IGZvciB0aGUgbG93ZXN0IG51bWJlcmVkCkBAIC02MjUsMTEgKzYzNSwxMSBAQAogCQkvKiBtYXJrIGZvciBjaGFuZ2UgZGVzdGluYXRpb24gKi8KIAkJc2V0X3BlbmRpbmdfaXJxKHNlbGVjdGVkX2lycSwgY3B1bWFza19vZl9jcHUobWluX2xvYWRlZCkpOwogCi0JCS8qIFNpbmNlIHdlIG1hZGUgYSBjaGFuZ2UsIGNvbWUgYmFjayBzb29uZXIgdG8gCisJCS8qIFNpbmNlIHdlIG1hZGUgYSBjaGFuZ2UsIGNvbWUgYmFjayBzb29uZXIgdG8KIAkJICogY2hlY2sgZm9yIG1vcmUgdmFyaWF0aW9uLgogCQkgKi8KIAkJYmFsYW5jZWRfaXJxX2ludGVydmFsID0gbWF4KChsb25nKU1JTl9CQUxBTkNFRF9JUlFfSU5URVJWQUwsCi0JCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgLSBCQUxBTkNFRF9JUlFfTEVTU19ERUxUQSk7CQorCQkJYmFsYW5jZWRfaXJxX2ludGVydmFsIC0gQkFMQU5DRURfSVJRX0xFU1NfREVMVEEpOwogCQlyZXR1cm47CiAJfQogCWdvdG8gdHJ5YW5vdGhlcmlycTsKQEAgLTY0MCw3ICs2NTAsNyBAQAogCSAqIHVwd2FyZAogCSAqLwogCWJhbGFuY2VkX2lycV9pbnRlcnZhbCA9IG1pbigobG9uZylNQVhfQkFMQU5DRURfSVJRX0lOVEVSVkFMLAotCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgKyBCQUxBTkNFRF9JUlFfTU9SRV9ERUxUQSk7CQorCQliYWxhbmNlZF9pcnFfaW50ZXJ2YWwgKyBCQUxBTkNFRF9JUlFfTU9SRV9ERUxUQSk7CiAJcmV0dXJuOwogfQogCkBAIC02NzksMTMgKzY4OSwxMyBAQAogCWNwdW1hc2tfdCB0bXA7CiAKIAljcHVzX3NoaWZ0X3JpZ2h0KHRtcCwgY3B1X29ubGluZV9tYXAsIDIpOwotICAgICAgICBjID0gJmJvb3RfY3B1X2RhdGE7CisJYyA9ICZib290X2NwdV9kYXRhOwogCS8qIFdoZW4gbm90IG92ZXJ3cml0dGVuIGJ5IHRoZSBjb21tYW5kIGxpbmUgYXNrIHN1YmFyY2hpdGVjdHVyZS4gKi8KIAlpZiAoaXJxYmFsYW5jZV9kaXNhYmxlZCA9PSBJUlFCQUxBTkNFX0NIRUNLX0FSQ0gpCiAJCWlycWJhbGFuY2VfZGlzYWJsZWQgPSBOT19CQUxBTkNFX0lSUTsKIAlpZiAoaXJxYmFsYW5jZV9kaXNhYmxlZCkKIAkJcmV0dXJuIDA7Ci0JCisKIAkgLyogZGlzYWJsZSBpcnFiYWxhbmNlIGNvbXBsZXRlbHkgaWYgdGhlcmUgaXMgb25seSBvbmUgcHJvY2Vzc29yIG9ubGluZSAqLwogCWlmIChudW1fb25saW5lX2NwdXMoKSA8IDIpIHsKIAkJaXJxYmFsYW5jZV9kaXNhYmxlZCA9IDE7CkBAIC02OTksMTYgKzcwOSwxNCBAQAogCQlwaHlzaWNhbF9iYWxhbmNlID0gMTsKIAogCWZvcl9lYWNoX29ubGluZV9jcHUoaSkgewotCQlpcnFfY3B1X2RhdGFbaV0uaXJxX2RlbHRhID0ga21hbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKLQkJaXJxX2NwdV9kYXRhW2ldLmxhc3RfaXJxID0ga21hbGxvYyhzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTLCBHRlBfS0VSTkVMKTsKKwkJaXJxX2NwdV9kYXRhW2ldLmlycV9kZWx0YSA9IGt6YWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogTlJfSVJRUywgR0ZQX0tFUk5FTCk7CisJCWlycV9jcHVfZGF0YVtpXS5sYXN0X2lycSA9IGt6YWxsb2Moc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogTlJfSVJRUywgR0ZQX0tFUk5FTCk7CiAJCWlmIChpcnFfY3B1X2RhdGFbaV0uaXJxX2RlbHRhID09IE5VTEwgfHwgaXJxX2NwdV9kYXRhW2ldLmxhc3RfaXJxID09IE5VTEwpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiYmFsYW5jZWRfaXJxX2luaXQ6IG91dCBvZiBtZW1vcnkiKTsKIAkJCWdvdG8gZmFpbGVkOwogCQl9Ci0JCW1lbXNldChpcnFfY3B1X2RhdGFbaV0uaXJxX2RlbHRhLDAsc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogTlJfSVJRUyk7Ci0JCW1lbXNldChpcnFfY3B1X2RhdGFbaV0ubGFzdF9pcnEsMCxzaXplb2YodW5zaWduZWQgbG9uZykgKiBOUl9JUlFTKTsKIAl9Ci0JCisKIAlwcmludGsoS0VSTl9JTkZPICJTdGFydGluZyBiYWxhbmNlZF9pcnFcbiIpOwogCWlmICghSVNfRVJSKGt0aHJlYWRfcnVuKGJhbGFuY2VkX2lycSwgTlVMTCwgImtpcnFkIikpKQogCQlyZXR1cm4gMDsKQEAgLTgwMSwxMCArODA5LDEwIEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkIHx8Ci0JCSAgICAgbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkgJiYKLQkJICAgIG1wX2lycXNbaV0ubXBjX2RzdGlycSA9PSBwaW4pCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCB8fAorCQkgICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfZHN0aXJxID09IHBpbikKIAkJCXJldHVybiBpOwogCiAJcmV0dXJuIC0xOwpAQCAtODE4LDEzICs4MjYsMTMgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWlmICh0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGlycSkpCisJCSAgICAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUpICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gaXJxKSkKIAotCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBjX2RzdGlycTsKKwkJCXJldHVybiBtcF9pcnFzW2ldLm1wX2RzdGlycTsKIAl9CiAJcmV0dXJuIC0xOwogfQpAQCAtODM0LDE3ICs4NDIsMTcgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWlmICh0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGlycSkpCisJCSAgICAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUpICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gaXJxKSkKIAkJCWJyZWFrOwogCX0KIAlpZiAoaSA8IG1wX2lycV9lbnRyaWVzKSB7CiAJCWludCBhcGljOwotCQlmb3IoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKLQkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPT0gbXBfaXJxc1tpXS5tcGNfZHN0YXBpYykKKwkJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgeworCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID09IG1wX2lycXNbaV0ubXBfZHN0YXBpYykKIAkJCQlyZXR1cm4gYXBpYzsKIAkJfQogCX0KQEAgLTg2NCwyOCArODcyLDI4IEBACiAKIAlhcGljX3ByaW50ayhBUElDX0RFQlVHLCAicXVlcnlpbmcgUENJIC0+IElSUSBtYXBwaW5nIGJ1czolZCwgIgogCQkic2xvdDolZCwgcGluOiVkLlxuIiwgYnVzLCBzbG90LCBwaW4pOwotCWlmIChtcF9idXNfaWRfdG9fcGNpX2J1c1tidXNdID09IC0xKSB7CisJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBDSSBCSU9TIHBhc3NlZCBub25leGlzdGVudCBQQ0kgYnVzICVkIVxuIiwgYnVzKTsKIAkJcmV0dXJuIC0xOwogCX0KIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykgewotCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBjX3NyY2J1czsKKwkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wX3NyY2J1czsKIAogCQlmb3IgKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKQotCQkJaWYgKG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wY19kc3RhcGljIHx8Ci0JCQkgICAgbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkKKwkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgfHwKKwkJCSAgICBtcF9pcnFzW2ldLm1wX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpCiAJCQkJYnJlYWs7CiAKIAkJaWYgKCF0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgICFtcF9pcnFzW2ldLm1wY19pcnF0eXBlICYmCisJCSAgICAhbXBfaXJxc1tpXS5tcF9pcnF0eXBlICYmCiAJCSAgICAoYnVzID09IGxidXMpICYmCi0JCSAgICAoc2xvdCA9PSAoKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSA+PiAyKSAmIDB4MWYpKSkgewotCQkJaW50IGlycSA9IHBpbl8yX2lycShpLGFwaWMsbXBfaXJxc1tpXS5tcGNfZHN0aXJxKTsKKwkJICAgIChzbG90ID09ICgobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPj4gMikgJiAweDFmKSkpIHsKKwkJCWludCBpcnEgPSBwaW5fMl9pcnEoaSwgYXBpYywgbXBfaXJxc1tpXS5tcF9kc3RpcnEpOwogCiAJCQlpZiAoIShhcGljIHx8IElPX0FQSUNfSVJRKGlycSkpKQogCQkJCWNvbnRpbnVlOwogCi0JCQlpZiAocGluID09IChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgJiAzKSkKKwkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxICYgMykpCiAJCQkJcmV0dXJuIGlycTsKIAkJCS8qCiAJCQkgKiBVc2UgdGhlIGZpcnN0IGFsbC1idXQtcGluIG1hdGNoaW5nIGVudHJ5IGFzIGEKQEAgLTkwMCw3ICs5MDgsNyBAQAogRVhQT1JUX1NZTUJPTChJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3Rvcik7CiAKIC8qCi0gKiBUaGlzIGZ1bmN0aW9uIGN1cnJlbnRseSBpcyBvbmx5IGEgaGVscGVyIGZvciB0aGUgaTM4NiBzbXAgYm9vdCBwcm9jZXNzIHdoZXJlIAorICogVGhpcyBmdW5jdGlvbiBjdXJyZW50bHkgaXMgb25seSBhIGhlbHBlciBmb3IgdGhlIGkzODYgc21wIGJvb3QgcHJvY2VzcyB3aGVyZQogICogd2UgbmVlZCB0byByZXByb2dyYW0gdGhlIGlvcmVkdGJscyB0byBjYXRlciBmb3IgdGhlIGNwdXMgd2hpY2ggaGF2ZSBjb21lIG9ubGluZQogICogc28gbWFzayBpbiBhbGwgY2FzZXMgc2hvdWxkIHNpbXBseSBiZSBUQVJHRVRfQ1BVUwogICovCkBAIC05NTIsNyArOTYwLDcgQEAKICAqIEVJU0EgY29uZm9ybWluZyBpbiB0aGUgTVAgdGFibGUsIHRoYXQgbWVhbnMgaXRzIHRyaWdnZXIgdHlwZSBtdXN0CiAgKiBiZSByZWFkIGluIGZyb20gdGhlIEVMQ1IgKi8KIAotI2RlZmluZSBkZWZhdWx0X0VJU0FfdHJpZ2dlcihpZHgpCShFSVNBX0VMQ1IobXBfaXJxc1tpZHhdLm1wY19zcmNidXNpcnEpKQorI2RlZmluZSBkZWZhdWx0X0VJU0FfdHJpZ2dlcihpZHgpCShFSVNBX0VMQ1IobXBfaXJxc1tpZHhdLm1wX3NyY2J1c2lycSkpCiAjZGVmaW5lIGRlZmF1bHRfRUlTQV9wb2xhcml0eShpZHgpCWRlZmF1bHRfSVNBX3BvbGFyaXR5KGlkeCkKIAogLyogUENJIGludGVycnVwdHMgYXJlIGFsd2F5cyBwb2xhcml0eSBvbmUgbGV2ZWwgdHJpZ2dlcmVkLApAQCAtOTY5LDExNyArOTc3LDExNCBAQAogCiBzdGF0aWMgaW50IE1QQklPU19wb2xhcml0eShpbnQgaWR4KQogewotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAlpbnQgcG9sYXJpdHk7CiAKIAkvKgogCSAqIERldGVybWluZSBJUlEgbGluZSBwb2xhcml0eSAoaGlnaCBhY3RpdmUgb3IgbG93IGFjdGl2ZSk6CiAJICovCi0Jc3dpdGNoIChtcF9pcnFzW2lkeF0ubXBjX2lycWZsYWcgJiAzKQorCXN3aXRjaCAobXBfaXJxc1tpZHhdLm1wX2lycWZsYWcgJiAzKSB7CisJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCBwb2xhcml0eSAqLwogCXsKLQkJY2FzZSAwOiAvKiBjb25mb3JtcywgaWUuIGJ1cy10eXBlIGRlcGVuZGVudCBwb2xhcml0eSAqLwotCQl7Ci0JCQlwb2xhcml0eSA9IHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpPwotCQkJCWRlZmF1bHRfSVNBX3BvbGFyaXR5KGlkeCk6Ci0JCQkJZGVmYXVsdF9QQ0lfcG9sYXJpdHkoaWR4KTsKLQkJCWJyZWFrOwotCQl9Ci0JCWNhc2UgMTogLyogaGlnaCBhY3RpdmUgKi8KLQkJewotCQkJcG9sYXJpdHkgPSAwOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAyOiAvKiByZXNlcnZlZCAqLwotCQl7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCXBvbGFyaXR5ID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWNhc2UgMzogLyogbG93IGFjdGl2ZSAqLwotCQl7Ci0JCQlwb2xhcml0eSA9IDE7Ci0JCQlicmVhazsKLQkJfQotCQlkZWZhdWx0OiAvKiBpbnZhbGlkICovCi0JCXsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJcG9sYXJpdHkgPSAxOwotCQkJYnJlYWs7Ci0JCX0KKwkJcG9sYXJpdHkgPSB0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKT8KKwkJCWRlZmF1bHRfSVNBX3BvbGFyaXR5KGlkeCk6CisJCQlkZWZhdWx0X1BDSV9wb2xhcml0eShpZHgpOworCQlicmVhazsKKwl9CisJY2FzZSAxOiAvKiBoaWdoIGFjdGl2ZSAqLworCXsKKwkJcG9sYXJpdHkgPSAwOworCQlicmVhazsKKwl9CisJY2FzZSAyOiAvKiByZXNlcnZlZCAqLworCXsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCXBvbGFyaXR5ID0gMTsKKwkJYnJlYWs7CisJfQorCWNhc2UgMzogLyogbG93IGFjdGl2ZSAqLworCXsKKwkJcG9sYXJpdHkgPSAxOworCQlicmVhazsKKwl9CisJZGVmYXVsdDogLyogaW52YWxpZCAqLworCXsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCXBvbGFyaXR5ID0gMTsKKwkJYnJlYWs7CisJfQogCX0KIAlyZXR1cm4gcG9sYXJpdHk7CiB9CiAKIHN0YXRpYyBpbnQgTVBCSU9TX3RyaWdnZXIoaW50IGlkeCkKIHsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAJaW50IHRyaWdnZXI7CiAKIAkvKgogCSAqIERldGVybWluZSBJUlEgdHJpZ2dlciBtb2RlIChlZGdlIG9yIGxldmVsIHNlbnNpdGl2ZSk6CiAJICovCi0Jc3dpdGNoICgobXBfaXJxc1tpZHhdLm1wY19pcnFmbGFnPj4yKSAmIDMpCisJc3dpdGNoICgobXBfaXJxc1tpZHhdLm1wX2lycWZsYWc+PjIpICYgMykgeworCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgKi8KIAl7Ci0JCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgKi8KLQkJewotCQkJdHJpZ2dlciA9IHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpPwotCQkJCQlkZWZhdWx0X0lTQV90cmlnZ2VyKGlkeCk6Ci0JCQkJCWRlZmF1bHRfUENJX3RyaWdnZXIoaWR4KTsKKwkJdHJpZ2dlciA9IHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpPworCQkJCWRlZmF1bHRfSVNBX3RyaWdnZXIoaWR4KToKKwkJCQlkZWZhdWx0X1BDSV90cmlnZ2VyKGlkeCk7CiAjaWYgZGVmaW5lZChDT05GSUdfRUlTQSkgfHwgZGVmaW5lZChDT05GSUdfTUNBKQotCQkJc3dpdGNoIChtcF9idXNfaWRfdG9fdHlwZVtidXNdKQotCQkJewotCQkJCWNhc2UgTVBfQlVTX0lTQTogLyogSVNBIHBpbiAqLwotCQkJCXsKLQkJCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCi0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQljYXNlIE1QX0JVU19FSVNBOiAvKiBFSVNBIHBpbiAqLwotCQkJCXsKLQkJCQkJdHJpZ2dlciA9IGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCk7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCQljYXNlIE1QX0JVU19QQ0k6IC8qIFBDSSBwaW4gKi8KLQkJCQl7Ci0JCQkJCS8qIHNldCBiZWZvcmUgdGhlIHN3aXRjaCAqLwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQkJY2FzZSBNUF9CVVNfTUNBOiAvKiBNQ0EgcGluICovCi0JCQkJewotCQkJCQl0cmlnZ2VyID0gZGVmYXVsdF9NQ0FfdHJpZ2dlcihpZHgpOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQkJZGVmYXVsdDoKLQkJCQl7Ci0JCQkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOwotCQkJCQl0cmlnZ2VyID0gMTsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCQkJfQorCQlzd2l0Y2ggKG1wX2J1c19pZF90b190eXBlW2J1c10pIHsKKwkJY2FzZSBNUF9CVVNfSVNBOiAvKiBJU0EgcGluICovCisJCXsKKwkJCS8qIHNldCBiZWZvcmUgdGhlIHN3aXRjaCAqLworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBNUF9CVVNfRUlTQTogLyogRUlTQSBwaW4gKi8KKwkJeworCQkJdHJpZ2dlciA9IGRlZmF1bHRfRUlTQV90cmlnZ2VyKGlkeCk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIE1QX0JVU19QQ0k6IC8qIFBDSSBwaW4gKi8KKwkJeworCQkJLyogc2V0IGJlZm9yZSB0aGUgc3dpdGNoICovCisJCQlicmVhazsKKwkJfQorCQljYXNlIE1QX0JVU19NQ0E6IC8qIE1DQSBwaW4gKi8KKwkJeworCQkJdHJpZ2dlciA9IGRlZmF1bHRfTUNBX3RyaWdnZXIoaWR4KTsKKwkJCWJyZWFrOworCQl9CisJCWRlZmF1bHQ6CisJCXsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImJyb2tlbiBCSU9TISFcbiIpOworCQkJdHJpZ2dlciA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KICNlbmRpZgotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAxOiAvKiBlZGdlICovCi0JCXsKLQkJCXRyaWdnZXIgPSAwOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAyOiAvKiByZXNlcnZlZCAqLwotCQl7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKLQkJCXRyaWdnZXIgPSAxOwotCQkJYnJlYWs7Ci0JCX0KLQkJY2FzZSAzOiAvKiBsZXZlbCAqLwotCQl7Ci0JCQl0cmlnZ2VyID0gMTsKLQkJCWJyZWFrOwotCQl9Ci0JCWRlZmF1bHQ6IC8qIGludmFsaWQgKi8KLQkJewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7Ci0JCQl0cmlnZ2VyID0gMDsKLQkJCWJyZWFrOwotCQl9CisJCWJyZWFrOworCX0KKwljYXNlIDE6IC8qIGVkZ2UgKi8KKwl7CisJCXRyaWdnZXIgPSAwOworCQlicmVhazsKKwl9CisJY2FzZSAyOiAvKiByZXNlcnZlZCAqLworCXsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiYnJva2VuIEJJT1MhIVxuIik7CisJCXRyaWdnZXIgPSAxOworCQlicmVhazsKKwl9CisJY2FzZSAzOiAvKiBsZXZlbCAqLworCXsKKwkJdHJpZ2dlciA9IDE7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OiAvKiBpbnZhbGlkICovCisJeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJicm9rZW4gQklPUyEhXG4iKTsKKwkJdHJpZ2dlciA9IDA7CisJCWJyZWFrOworCX0KIAl9CiAJcmV0dXJuIHRyaWdnZXI7CiB9CkBAIC0xMDk3LDE2ICsxMTAyLDE2IEBACiBzdGF0aWMgaW50IHBpbl8yX2lycShpbnQgaWR4LCBpbnQgYXBpYywgaW50IHBpbikKIHsKIAlpbnQgaXJxLCBpOwotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAogCS8qCiAJICogRGVidWdnaW5nIGNoZWNrLCB3ZSBhcmUgaW4gYmlnIHRyb3VibGUgaWYgdGhpcyBtZXNzYWdlIHBvcHMgdXAhCiAJICovCi0JaWYgKG1wX2lycXNbaWR4XS5tcGNfZHN0aXJxICE9IHBpbikKKwlpZiAobXBfaXJxc1tpZHhdLm1wX2RzdGlycSAhPSBwaW4pCiAJCXByaW50ayhLRVJOX0VSUiAiYnJva2VuIEJJT1Mgb3IgTVBUQUJMRSBwYXJzZXIsIGF5aWVlISFcbiIpOwogCiAJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKQotCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1c2lycTsKKwkJaXJxID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1c2lycTsKIAllbHNlIHsKIAkJLyoKIAkJICogUENJIElSUXMgYXJlIG1hcHBlZCBpbiBvcmRlcgpAQCAtMTE0OCw4ICsxMTUzLDggQEAKIAogCWZvciAoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKIAkJZm9yIChwaW4gPSAwOyBwaW4gPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2FwaWNdOyBwaW4rKykgewotCQkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYyxwaW4sbXBfSU5UKTsKLQkJCWlmICgoaWR4ICE9IC0xKSAmJiAoaXJxID09IHBpbl8yX2lycShpZHgsYXBpYyxwaW4pKSkKKwkJCWlkeCA9IGZpbmRfaXJxX2VudHJ5KGFwaWMsIHBpbiwgbXBfSU5UKTsKKwkJCWlmICgoaWR4ICE9IC0xKSAmJiAoaXJxID09IHBpbl8yX2lycShpZHgsIGFwaWMsIHBpbikpKQogCQkJCXJldHVybiBpcnFfdHJpZ2dlcihpZHgpOwogCQl9CiAJfQpAQCAtMTE2NCw3ICsxMTY5LDcgQEAKIAogc3RhdGljIGludCBfX2Fzc2lnbl9pcnFfdmVjdG9yKGludCBpcnEpCiB7Ci0Jc3RhdGljIGludCBjdXJyZW50X3ZlY3RvciA9IEZJUlNUX0RFVklDRV9WRUNUT1IsIGN1cnJlbnRfb2Zmc2V0ID0gMDsKKwlzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1RfREVWSUNFX1ZFQ1RPUiwgY3VycmVudF9vZmZzZXQ7CiAJaW50IHZlY3Rvciwgb2Zmc2V0OwogCiAJQlVHX09OKCh1bnNpZ25lZClpcnEgPj0gTlJfSVJRX1ZFQ1RPUlMpOwpAQCAtMTE3Niw3ICsxMTgxLDcgQEAKIAlvZmZzZXQgPSBjdXJyZW50X29mZnNldDsKIG5leHQ6CiAJdmVjdG9yICs9IDg7Ci0JaWYgKHZlY3RvciA+PSBGSVJTVF9TWVNURU1fVkVDVE9SKSB7CisJaWYgKHZlY3RvciA+PSBmaXJzdF9zeXN0ZW1fdmVjdG9yKSB7CiAJCW9mZnNldCA9IChvZmZzZXQgKyAxKSAlIDg7CiAJCXZlY3RvciA9IEZJUlNUX0RFVklDRV9WRUNUT1IgKyBvZmZzZXQ7CiAJfQpAQCAtMTIwMyw2ICsxMjA4LDExIEBACiAKIAlyZXR1cm4gdmVjdG9yOwogfQorCit2b2lkIHNldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSkKK3sKK30KKwogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpb2FwaWNfY2hpcDsKIAogI2RlZmluZSBJT0FQSUNfQVVUTwktMQpAQCAtMTIzNywyNSArMTI0NywyNSBAQAogCQkvKgogCQkgKiBhZGQgaXQgdG8gdGhlIElPLUFQSUMgaXJxLXJvdXRpbmcgdGFibGU6CiAJCSAqLwotCQltZW1zZXQoJmVudHJ5LDAsc2l6ZW9mKGVudHJ5KSk7CisJCW1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwogCiAJCWVudHJ5LmRlbGl2ZXJ5X21vZGUgPSBJTlRfREVMSVZFUllfTU9ERTsKIAkJZW50cnkuZGVzdF9tb2RlID0gSU5UX0RFU1RfTU9ERTsKIAkJZW50cnkubWFzayA9IDA7CQkJCS8qIGVuYWJsZSBJUlEgKi8KLQkJZW50cnkuZGVzdC5sb2dpY2FsLmxvZ2ljYWxfZGVzdCA9IAorCQllbnRyeS5kZXN0LmxvZ2ljYWwubG9naWNhbF9kZXN0ID0KIAkJCQkJY3B1X21hc2tfdG9fYXBpY2lkKFRBUkdFVF9DUFVTKTsKIAotCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLHBpbixtcF9JTlQpOworCQlpZHggPSBmaW5kX2lycV9lbnRyeShhcGljLCBwaW4sIG1wX0lOVCk7CiAJCWlmIChpZHggPT0gLTEpIHsKIAkJCWlmIChmaXJzdF9ub3Rjb24pIHsKIAkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fREVCVUcKIAkJCQkJCSIgSU8tQVBJQyAoYXBpY2lkLXBpbikgJWQtJWQiLAotCQkJCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLAorCQkJCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsCiAJCQkJCQlwaW4pOwogCQkJCWZpcnN0X25vdGNvbiA9IDA7CiAJCQl9IGVsc2UKIAkJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICIsICVkLSVkIiwKLQkJCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLCBwaW4pOworCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCwgcGluKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKQEAgLTEyODksNyArMTI5OSw3IEBACiAJCQl2ZWN0b3IgPSBhc3NpZ25faXJxX3ZlY3RvcihpcnEpOwogCQkJZW50cnkudmVjdG9yID0gdmVjdG9yOwogCQkJaW9hcGljX3JlZ2lzdGVyX2ludHIoaXJxLCB2ZWN0b3IsIElPQVBJQ19BVVRPKTsKLQkJCisKIAkJCWlmICghYXBpYyAmJiAoaXJxIDwgMTYpKQogCQkJCWRpc2FibGVfODI1OUFfaXJxKGlycSk7CiAJCX0KQEAgLTEzMDIsMjUgKzEzMTIsMjEgQEAKIH0KIAogLyoKLSAqIFNldCB1cCB0aGUgODI1OUEtbWFzdGVyIG91dHB1dCBwaW46CisgKiBTZXQgdXAgdGhlIHRpbWVyIHBpbiwgcG9zc2libHkgd2l0aCB0aGUgODI1OUEtbWFzdGVyIGJlaGluZC4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX0V4dElOVF9JUlEwX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbiwgaW50IHZlY3RvcikKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF90aW1lcl9JUlEwX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbiwKKwkJCQkJaW50IHZlY3RvcikKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeTsKIAotCW1lbXNldCgmZW50cnksMCxzaXplb2YoZW50cnkpKTsKLQotCWRpc2FibGVfODI1OUFfaXJxKDApOwotCi0JLyogbWFzayBMVlQwICovCi0JYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0xWVF9NQVNLRUQgfCBBUElDX0RNX0VYVElOVCk7CisJbWVtc2V0KCZlbnRyeSwgMCwgc2l6ZW9mKGVudHJ5KSk7CiAKIAkvKgogCSAqIFdlIHVzZSBsb2dpY2FsIGRlbGl2ZXJ5IHRvIGdldCB0aGUgdGltZXIgSVJRCiAJICogdG8gdGhlIGZpcnN0IENQVS4KIAkgKi8KIAllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwotCWVudHJ5Lm1hc2sgPSAwOwkJCQkJLyogdW5tYXNrIElSUSBub3cgKi8KKwllbnRyeS5tYXNrID0gMTsJCQkJCS8qIG1hc2sgSVJRIG5vdyAqLwogCWVudHJ5LmRlc3QubG9naWNhbC5sb2dpY2FsX2Rlc3QgPSBjcHVfbWFza190b19hcGljaWQoVEFSR0VUX0NQVVMpOwogCWVudHJ5LmRlbGl2ZXJ5X21vZGUgPSBJTlRfREVMSVZFUllfTU9ERTsKIAllbnRyeS5wb2xhcml0eSA9IDA7CkBAIC0xMzI5LDE3ICsxMzM1LDE0IEBACiAKIAkvKgogCSAqIFRoZSB0aW1lciBJUlEgZG9lc24ndCBoYXZlIHRvIGtub3cgdGhhdCBiZWhpbmQgdGhlCi0JICogc2NlbmUgd2UgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCisJICogc2NlbmUgd2UgbWF5IGhhdmUgYSA4MjU5QS1tYXN0ZXIgaW4gQUVPSSBtb2RlIC4uLgogCSAqLwotCWlycV9kZXNjWzBdLmNoaXAgPSAmaW9hcGljX2NoaXA7Ci0Jc2V0X2lycV9oYW5kbGVyKDAsIGhhbmRsZV9lZGdlX2lycSk7CisJaW9hcGljX3JlZ2lzdGVyX2ludHIoMCwgdmVjdG9yLCBJT0FQSUNfRURHRSk7CiAKIAkvKgogCSAqIEFkZCBpdCB0byB0aGUgSU8tQVBJQyBpcnEtcm91dGluZyB0YWJsZToKIAkgKi8KIAlpb2FwaWNfd3JpdGVfZW50cnkoYXBpYywgcGluLCBlbnRyeSk7Ci0KLQllbmFibGVfODI1OUFfaXJxKDApOwogfQogCiB2b2lkIF9faW5pdCBwcmludF9JT19BUElDKHZvaWQpCkBAIC0xMzU0LDEwICsxMzU3LDEwIEBACiAJaWYgKGFwaWNfdmVyYm9zaXR5ID09IEFQSUNfUVVJRVQpCiAJCXJldHVybjsKIAotIAlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIE1QIElSUSBzb3VyY2VzOiAlZC5cbiIsIG1wX2lycV9lbnRyaWVzKTsKKwlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIE1QIElSUSBzb3VyY2VzOiAlZC5cbiIsIG1wX2lycV9lbnRyaWVzKTsKIAlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKQogCQlwcmludGsoS0VSTl9ERUJVRyAibnVtYmVyIG9mIElPLUFQSUMgIyVkIHJlZ2lzdGVyczogJWQuXG4iLAotCQkgICAgICAgbXBfaW9hcGljc1tpXS5tcGNfYXBpY2lkLCBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldKTsKKwkJICAgICAgIG1wX2lvYXBpY3NbaV0ubXBfYXBpY2lkLCBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldKTsKIAogCS8qCiAJICogV2UgYXJlIGEgYml0IGNvbnNlcnZhdGl2ZSBhYm91dCB3aGF0IHdlIGV4cGVjdC4gIFdlIGhhdmUgdG8KQEAgLTEzNzYsNyArMTM3OSw3IEBACiAJCXJlZ18wMy5yYXcgPSBpb19hcGljX3JlYWQoYXBpYywgMyk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAotCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiSU8gQVBJQyAjJWQuLi4uLi5cbiIsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uLiByZWdpc3RlciAjMDA6ICUwOFhcbiIsIHJlZ18wMC5yYXcpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uLi4uICAgIDogcGh5c2ljYWwgQVBJQyBpZDogJTAyWFxuIiwgcmVnXzAwLmJpdHMuSUQpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uLi4uICAgIDogRGVsaXZlcnkgVHlwZTogJVhcbiIsIHJlZ18wMC5iaXRzLmRlbGl2ZXJ5X3R5cGUpOwpAQCAtMTQ1OSw3ICsxNDYyLDcgQEAKIAogI2lmIDAKIAotc3RhdGljIHZvaWQgcHJpbnRfQVBJQ19iaXRmaWVsZCAoaW50IGJhc2UpCitzdGF0aWMgdm9pZCBwcmludF9BUElDX2JpdGZpZWxkKGludCBiYXNlKQogewogCXVuc2lnbmVkIGludCB2OwogCWludCBpLCBqOwpAQCAtMTQ4MCw3ICsxNDgzLDcgQEAKIAl9CiB9CiAKLXZvaWQgLypfX2luaXQqLyBwcmludF9sb2NhbF9BUElDKHZvaWQgKiBkdW1teSkKK3ZvaWQgLypfX2luaXQqLyBwcmludF9sb2NhbF9BUElDKHZvaWQgKmR1bW15KQogewogCXVuc2lnbmVkIGludCB2LCB2ZXIsIG1heGx2dDsKIApAQCAtMTQ4OSw2ICsxNDkyLDcgQEAKIAogCXByaW50aygiXG4iIEtFUk5fREVCVUcgInByaW50aW5nIGxvY2FsIEFQSUMgY29udGVudHMgb24gQ1BVIyVkLyVkOlxuIiwKIAkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJdiA9IGFwaWNfcmVhZChBUElDX0lEKTsKIAlwcmludGsoS0VSTl9JTkZPICIuLi4gQVBJQyBJRDogICAgICAlMDh4ICglMDF4KVxuIiwgdiwKIAkJCUdFVF9BUElDX0lEKHJlYWRfYXBpY19pZCgpKSk7CiAJdiA9IGFwaWNfcmVhZChBUElDX0xWUik7CkBAIC0xNTYzLDkgKzE1NjcsOSBAQAogCXByaW50aygiXG4iKTsKIH0KIAotdm9pZCBwcmludF9hbGxfbG9jYWxfQVBJQ3MgKHZvaWQpCit2b2lkIHByaW50X2FsbF9sb2NhbF9BUElDcyh2b2lkKQogewotCW9uX2VhY2hfY3B1KHByaW50X2xvY2FsX0FQSUMsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KHByaW50X2xvY2FsX0FQSUMsIE5VTEwsIDEpOwogfQogCiB2b2lkIC8qX19pbml0Ki8gcHJpbnRfUElDKHZvaWQpCkBAIC0xNTg2LDExICsxNTkwLDExIEBACiAJdiA9IGluYigweGEwKSA8PCA4IHwgaW5iKDB4MjApOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4gUElDICBJUlI6ICUwNHhcbiIsIHYpOwogCi0Jb3V0YigweDBiLDB4YTApOwotCW91dGIoMHgwYiwweDIwKTsKKwlvdXRiKDB4MGIsIDB4YTApOworCW91dGIoMHgwYiwgMHgyMCk7CiAJdiA9IGluYigweGEwKSA8PCA4IHwgaW5iKDB4MjApOwotCW91dGIoMHgwYSwweGEwKTsKLQlvdXRiKDB4MGEsMHgyMCk7CisJb3V0YigweDBhLCAweGEwKTsKKwlvdXRiKDB4MGEsIDB4MjApOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKIApAQCAtMTYyNiw3ICsxNjMwLDcgQEAKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJbnJfaW9hcGljX3JlZ2lzdGVyc1thcGljXSA9IHJlZ18wMS5iaXRzLmVudHJpZXMrMTsKIAl9Ci0JZm9yKGFwaWMgPSAwOyBhcGljIDwgbnJfaW9hcGljczsgYXBpYysrKSB7CisJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykgewogCQlpbnQgcGluOwogCQkvKiBTZWUgaWYgYW55IG9mIHRoZSBwaW5zIGlzIGluIEV4dElOVCBtb2RlICovCiAJCWZvciAocGluID0gMDsgcGluIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1thcGljXTsgcGluKyspIHsKQEAgLTE3MTYsNyArMTcyMCw2IEBACiAgKiBieSBNYXR0IERvbXNjaCA8TWF0dF9Eb21zY2hAZGVsbC5jb20+ICBUdWUgRGVjIDIxIDEyOjI1OjA1IENTVCAxOTk5CiAgKi8KIAotI2lmbmRlZiBDT05GSUdfWDg2X05VTUFRCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfaW9hcGljX2lkc19mcm9tX21wYyh2b2lkKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAwIHJlZ18wMDsKQEAgLTE3MjYsNiArMTcyOSwxMSBAQAogCXVuc2lnbmVkIGNoYXIgb2xkX2lkOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJaWYgKGZvdW5kX251bWFxKQorCQlyZXR1cm47CisjZW5kaWYKKwogCS8qCiAJICogRG9uJ3QgY2hlY2sgSS9PIEFQSUMgSURzIGZvciB4QVBJQyBzeXN0ZW1zLiAgVGhleSBoYXZlCiAJICogbm8gbWVhbmluZyB3aXRob3V0IHRoZSBzZXJpYWwgQVBJQyBidXMuCkBAIC0xNzQ4LDE1ICsxNzU2LDE1IEBACiAJCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGFwaWMsIDApOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwotCQkKLQkJb2xkX2lkID0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkOwogCi0JCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPj0gZ2V0X3BoeXNpY2FsX2Jyb2FkY2FzdCgpKSB7CisJCW9sZF9pZCA9IG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkOworCisJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA+PSBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIElPLUFQSUMjJWQgSUQgaXMgJWQgaW4gdGhlIE1QQyB0YWJsZSEuLi5cbiIsCi0JCQkJYXBpYywgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlwcmludGsoS0VSTl9FUlIgIi4uLiBmaXhpbmcgdXAgdG8gJWQuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKIAkJCQlyZWdfMDAuYml0cy5JRCk7Ci0JCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPSByZWdfMDAuYml0cy5JRDsKKwkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkID0gcmVnXzAwLmJpdHMuSUQ7CiAJCX0KIAogCQkvKgpAQCAtMTc2NSw5ICsxNzczLDkgQEAKIAkJICogJ3N0dWNrIG9uIHNtcF9pbnZhbGlkYXRlX25lZWRlZCBJUEkgd2FpdCcgbWVzc2FnZXMuCiAJCSAqLwogCQlpZiAoY2hlY2tfYXBpY2lkX3VzZWQocGh5c19pZF9wcmVzZW50X21hcCwKLQkJCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKSkgeworCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQklPUyBidWcsIElPLUFQSUMjJWQgSUQgJWQgaXMgYWxyZWFkeSB1c2VkIS4uLlxuIiwKLQkJCQlhcGljLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJCWFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAkJCWZvciAoaSA9IDA7IGkgPCBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCk7IGkrKykKIAkJCQlpZiAoIXBoeXNpZF9pc3NldChpLCBwaHlzX2lkX3ByZXNlbnRfbWFwKSkKIAkJCQkJYnJlYWs7CkBAIC0xNzc2LDEzICsxNzg0LDEzIEBACiAJCQlwcmludGsoS0VSTl9FUlIgIi4uLiBmaXhpbmcgdXAgdG8gJWQuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKIAkJCQlpKTsKIAkJCXBoeXNpZF9zZXQoaSwgcGh5c19pZF9wcmVzZW50X21hcCk7Ci0JCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPSBpOworCQkJbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPSBpOwogCQl9IGVsc2UgewogCQkJcGh5c2lkX21hc2tfdCB0bXA7Ci0JCQl0bXAgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCXRtcCA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJTZXR0aW5nICVkIGluIHRoZSAiCiAJCQkJCSJwaHlzX2lkX3ByZXNlbnRfbWFwXG4iLAotCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQpOworCQkJCQltcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCk7CiAJCQlwaHlzaWRzX29yKHBoeXNfaWRfcHJlc2VudF9tYXAsIHBoeXNfaWRfcHJlc2VudF9tYXAsIHRtcCk7CiAJCX0KIApAQCAtMTc5MSwyMSArMTc5OSwyMSBAQAogCQkgKiBXZSBuZWVkIHRvIGFkanVzdCB0aGUgSVJRIHJvdXRpbmcgdGFibGUKIAkJICogaWYgdGhlIElEIGNoYW5nZWQuCiAJCSAqLwotCQlpZiAob2xkX2lkICE9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCkKKwkJaWYgKG9sZF9pZCAhPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCkKIAkJCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKQotCQkJCWlmIChtcF9pcnFzW2ldLm1wY19kc3RhcGljID09IG9sZF9pZCkKLQkJCQkJbXBfaXJxc1tpXS5tcGNfZHN0YXBpYwotCQkJCQkJPSBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQ7CisJCQkJaWYgKG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBvbGRfaWQpCisJCQkJCW1wX2lycXNbaV0ubXBfZHN0YXBpYworCQkJCQkJPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZDsKIAogCQkvKgogCQkgKiBSZWFkIHRoZSByaWdodCB2YWx1ZSBmcm9tIHRoZSBNUEMgdGFibGUgYW5kCiAJCSAqIHdyaXRlIGl0IGludG8gdGhlIElEIHJlZ2lzdGVyLgotCSAJICovCisJCSAqLwogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fSU5GTwogCQkJIi4uLmNoYW5naW5nIElPLUFQSUMgcGh5c2ljYWwgQVBJQyBJRCB0byAlZCAuLi4iLAotCQkJbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwkJCW1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAotCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZDsKKwkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZDsKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CiAJCWlvX2FwaWNfd3JpdGUoYXBpYywgMCwgcmVnXzAwLnJhdyk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CkBAIC0xODE2LDE1ICsxODI0LDEyIEBACiAJCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCQlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGFwaWMsIDApOwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwotCQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKQorCQlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQpCiAJCQlwcmludGsoImNvdWxkIG5vdCBzZXQgSUQhXG4iKTsKIAkJZWxzZQogCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiIG9rLlxuIik7CiAJfQogfQotI2Vsc2UKLXN0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9pb2FwaWNfaWRzX2Zyb21fbXBjKHZvaWQpIHsgfQotI2VuZGlmCiAKIGludCBub190aW1lcl9jaGVjayBfX2luaXRkYXRhOwogCkBAIC0yMDE1LDEyICsyMDIwLDEyIEBACiAgKiBUaGUgbG9jYWwgQVBJQyBpcnEtY2hpcCBpbXBsZW1lbnRhdGlvbjoKICAqLwogCi1zdGF0aWMgdm9pZCBhY2tfYXBpYyh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgYWNrX2xhcGljX2lycSh1bnNpZ25lZCBpbnQgaXJxKQogewogCWFja19BUElDX2lycSgpOwogfQogCi1zdGF0aWMgdm9pZCBtYXNrX2xhcGljX2lycSAodW5zaWduZWQgaW50IGlycSkKK3N0YXRpYyB2b2lkIG1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0yMDI4LDcgKzIwMzMsNyBAQAogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgdiB8IEFQSUNfTFZUX01BU0tFRCk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFza19sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCB1bm1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0yMDM3LDIzICsyMDQyLDMxIEBACiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgbGFwaWNfY2hpcCBfX3JlYWRfbW9zdGx5ID0gewotCS5uYW1lCQk9ICJsb2NhbC1BUElDLWVkZ2UiLAorCS5uYW1lCQk9ICJsb2NhbC1BUElDIiwKIAkubWFzawkJPSBtYXNrX2xhcGljX2lycSwKIAkudW5tYXNrCQk9IHVubWFza19sYXBpY19pcnEsCi0JLmVvaQkJPSBhY2tfYXBpYywKKwkuYWNrCQk9IGFja19sYXBpY19pcnEsCiB9OwogCitzdGF0aWMgdm9pZCBsYXBpY19yZWdpc3Rlcl9pbnRyKGludCBpcnEsIGludCB2ZWN0b3IpCit7CisJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfklSUV9MRVZFTDsKKwlzZXRfaXJxX2NoaXBfYW5kX2hhbmRsZXJfbmFtZShpcnEsICZsYXBpY19jaGlwLCBoYW5kbGVfZWRnZV9pcnEsCisJCQkJICAgICAgImVkZ2UiKTsKKwlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2lycV0pOworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbm1pKHZvaWQpCiB7CiAJLyoKLSAJICogRGlydHkgdHJpY2sgdG8gZW5hYmxlIHRoZSBOTUkgd2F0Y2hkb2cgLi4uCisJICogRGlydHkgdHJpY2sgdG8gZW5hYmxlIHRoZSBOTUkgd2F0Y2hkb2cgLi4uCiAJICogV2UgcHV0IHRoZSA4MjU5QSBtYXN0ZXIgaW50byBBRU9JIG1vZGUgYW5kCiAJICogdW5tYXNrIG9uIGFsbCBsb2NhbCBBUElDcyBMVlQwIGFzIE5NSS4KIAkgKgogCSAqIFRoZSBpZGVhIHRvIHVzZSB0aGUgODI1OUEgaW4gQUVPSSBtb2RlICgnODI1OUEgVmlydHVhbCBXaXJlJykKIAkgKiBpcyBmcm9tIE1hY2llaiBXLiBSb3p5Y2tpIC0gc28gd2UgZG8gbm90IGhhdmUgdG8gRU9JIGZyb20KIAkgKiB0aGUgTk1JIGhhbmRsZXIgb3IgdGhlIHRpbWVyIGludGVycnVwdC4KLQkgKi8gCisJICovCiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCBLRVJOX0lORk8gImFjdGl2YXRpbmcgTk1JIFdhdGNoZG9nIC4uLiIpOwogCiAJZW5hYmxlX05NSV90aHJvdWdoX0xWVDAoKTsKQEAgLTIxMjksMTEgKzIxNDIsMTYgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgY2hlY2tfdGltZXIodm9pZCkKIHsKIAlpbnQgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yOworCWludCBub19waW4xID0gMDsKIAlpbnQgdmVjdG9yOworCXVuc2lnbmVkIGludCB2ZXI7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAorCXZlciA9IGFwaWNfcmVhZChBUElDX0xWUik7CisJdmVyID0gR0VUX0FQSUNfVkVSU0lPTih2ZXIpOworCiAJLyoKIAkgKiBnZXQvc2V0IHRoZSB0aW1lciBJUlEgdmVjdG9yOgogCSAqLwpAQCAtMjE0MiwxNyArMjE2MCwxNyBAQAogCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbMF0pOwogCiAJLyoKLQkgKiBTdWJ0bGUsIGNvZGUgaW4gZG9fdGltZXJfaW50ZXJydXB0KCkgZXhwZWN0cyBhbiBBRU9JCi0JICogbW9kZSBmb3IgdGhlIDgyNTlBIHdoZW5ldmVyIGludGVycnVwdHMgYXJlIHJvdXRlZAotCSAqIHRocm91Z2ggSS9PIEFQSUNzLiAgQWxzbyBJUlEwIGhhcyB0byBiZSBlbmFibGVkIGluCi0JICogdGhlIDgyNTlBIHdoaWNoIGltcGxpZXMgdGhlIHZpcnR1YWwgd2lyZSBoYXMgdG8gYmUKLQkgKiBkaXNhYmxlZCBpbiB0aGUgbG9jYWwgQVBJQy4KKwkgKiBBcyBJUlEwIGlzIHRvIGJlIGVuYWJsZWQgaW4gdGhlIDgyNTlBLCB0aGUgdmlydHVhbAorCSAqIHdpcmUgaGFzIHRvIGJlIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLiAgQWxzbworCSAqIHRpbWVyIGludGVycnVwdHMgbmVlZCB0byBiZSBhY2tub3dsZWRnZWQgbWFudWFsbHkgaW4KKwkgKiB0aGUgODI1OUEgZm9yIHRoZSBpODI0ODlEWCB3aGVuIHVzaW5nIHRoZSBOTUkKKwkgKiB3YXRjaGRvZyBhcyB0aGF0IEFQSUMgdHJlYXRzIE5NSXMgYXMgbGV2ZWwtdHJpZ2dlcmVkLgorCSAqIFRoZSBBRU9JIG1vZGUgd2lsbCBmaW5pc2ggdGhlbSBpbiB0aGUgODI1OUEKKwkgKiBhdXRvbWF0aWNhbGx5LgogCSAqLwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOwogCWluaXRfODI1OUEoMSk7Ci0JdGltZXJfYWNrID0gMTsKLQlpZiAodGltZXJfb3Zlcl84MjU0ID4gMCkKLQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKKwl0aW1lcl9hY2sgPSAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDICYmICFBUElDX0lOVEVHUkFURUQodmVyKSk7CiAKIAlwaW4xICA9IGZpbmRfaXNhX2lycV9waW4oMCwgbXBfSU5UKTsKIAlhcGljMSA9IGZpbmRfaXNhX2lycV9hcGljKDAsIG1wX0lOVCk7CkBAIC0yMTYyLDE0ICsyMTgwLDMzIEBACiAJcHJpbnRrKEtFUk5fSU5GTyAiLi5USU1FUjogdmVjdG9yPTB4JTAyWCBhcGljMT0lZCBwaW4xPSVkIGFwaWMyPSVkIHBpbjI9JWRcbiIsCiAJCXZlY3RvciwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKIAorCS8qCisJICogU29tZSBCSU9TIHdyaXRlcnMgYXJlIGNsdWVsZXNzIGFuZCByZXBvcnQgdGhlIEV4dElOVEEKKwkgKiBJL08gQVBJQyBpbnB1dCBmcm9tIHRoZSBjYXNjYWRlZCA4MjU5QSBhcyB0aGUgdGltZXIKKwkgKiBpbnRlcnJ1cHQgaW5wdXQuICBTbyBqdXN0IGluIGNhc2UsIGlmIG9ubHkgb25lIHBpbgorCSAqIHdhcyBmb3VuZCBhYm92ZSwgdHJ5IGl0IGJvdGggZGlyZWN0bHkgYW5kIHRocm91Z2ggdGhlCisJICogODI1OUEuCisJICovCisJaWYgKHBpbjEgPT0gLTEpIHsKKwkJcGluMSA9IHBpbjI7CisJCWFwaWMxID0gYXBpYzI7CisJCW5vX3BpbjEgPSAxOworCX0gZWxzZSBpZiAocGluMiA9PSAtMSkgeworCQlwaW4yID0gcGluMTsKKwkJYXBpYzIgPSBhcGljMTsKKwl9CisKIAlpZiAocGluMSAhPSAtMSkgewogCQkvKgogCQkgKiBPaywgZG9lcyBJUlEwIHRocm91Z2ggdGhlIElPQVBJQyB3b3JrPwogCQkgKi8KKwkJaWYgKG5vX3BpbjEpIHsKKwkJCWFkZF9waW5fdG9faXJxKDAsIGFwaWMxLCBwaW4xKTsKKwkJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMxLCBwaW4xLCB2ZWN0b3IpOworCQl9CiAJCXVubWFza19JT19BUElDX2lycSgwKTsKIAkJaWYgKHRpbWVyX2lycV93b3JrcygpKSB7CiAJCQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7Ci0JCQkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCQkJc2V0dXBfbm1pKCk7CiAJCQkJZW5hYmxlXzgyNTlBX2lycSgwKTsKIAkJCX0KQEAgLTIxNzgsNDUgKzIyMTUsNDcgQEAKIAkJCWdvdG8gb3V0OwogCQl9CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMxLCBwaW4xKTsKLQkJcHJpbnRrKEtFUk5fRVJSICIuLk1QLUJJT1MgYnVnOiA4MjU0IHRpbWVyIG5vdCBjb25uZWN0ZWQgdG8gIgotCQkJCSJJTy1BUElDXG4iKTsKLQl9CisJCWlmICghbm9fcGluMSkKKwkJCXByaW50ayhLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogIgorCQkJICAgICAgICI4MjU0IHRpbWVyIG5vdCBjb25uZWN0ZWQgdG8gSU8tQVBJQ1xuIik7CiAKLQlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIChJUlEwKSB0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7Ci0JaWYgKHBpbjIgIT0gLTEpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgIgorCQkgICAgICAgInRocm91Z2ggdGhlIDgyNTlBIC4uLiAiKTsKIAkJcHJpbnRrKCJcbi4uLi4uIChmb3VuZCBwaW4gJWQpIC4uLiIsIHBpbjIpOwogCQkvKgogCQkgKiBsZWdhY3kgZGV2aWNlcyBzaG91bGQgYmUgY29ubmVjdGVkIHRvIElPIEFQSUMgIzAKIAkJICovCi0JCXNldHVwX0V4dElOVF9JUlEwX3BpbihhcGljMiwgcGluMiwgdmVjdG9yKTsKKwkJcmVwbGFjZV9waW5fYXRfaXJxKDAsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7CisJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMyLCBwaW4yLCB2ZWN0b3IpOworCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CisJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCWlmICh0aW1lcl9pcnFfd29ya3MoKSkgewogCQkJcHJpbnRrKCJ3b3Jrcy5cbiIpOwotCQkJaWYgKHBpbjEgIT0gLTEpCi0JCQkJcmVwbGFjZV9waW5fYXRfaXJxKDAsIGFwaWMxLCBwaW4xLCBhcGljMiwgcGluMik7Ci0JCQllbHNlCi0JCQkJYWRkX3Bpbl90b19pcnEoMCwgYXBpYzIsIHBpbjIpOworCQkJdGltZXJfdGhyb3VnaF84MjU5ID0gMTsKIAkJCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0lPX0FQSUMpIHsKKwkJCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJCQlzZXR1cF9ubWkoKTsKKwkJCQllbmFibGVfODI1OUFfaXJxKDApOwogCQkJfQogCQkJZ290byBvdXQ7CiAJCX0KIAkJLyoKIAkJICogQ2xlYW51cCwganVzdCBpbiBjYXNlIC4uLgogCQkgKi8KKwkJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJCWNsZWFyX0lPX0FQSUNfcGluKGFwaWMyLCBwaW4yKTsKKwkJcHJpbnRrKCIgZmFpbGVkLlxuIik7CiAJfQotCXByaW50aygiIGZhaWxlZC5cbiIpOwogCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJ0aW1lciBkb2Vzbid0IHdvcmsgdGhyb3VnaCB0aGUgSU8tQVBJQyAtIGRpc2FibGluZyBOTUkgV2F0Y2hkb2chXG4iKTsKLQkJbm1pX3dhdGNoZG9nID0gMDsKKwkJbm1pX3dhdGNoZG9nID0gTk1JX05PTkU7CiAJfQorCXRpbWVyX2FjayA9IDA7CiAKIAlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIGFzIFZpcnR1YWwgV2lyZSBJUlEuLi4iKTsKIAotCWRpc2FibGVfODI1OUFfaXJxKDApOwotCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKDAsICZsYXBpY19jaGlwLCBoYW5kbGVfZmFzdGVvaV9pcnEsCi0JCQkJICAgICAgImZhc3Rlb2kiKTsKKwlsYXBpY19yZWdpc3Rlcl9pbnRyKDAsIHZlY3Rvcik7CiAJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX0ZJWEVEIHwgdmVjdG9yKTsJLyogRml4ZWQgbW9kZSAqLwogCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAKQEAgLTIyMjQsMTIgKzIyNjMsMTIgQEAKIAkJcHJpbnRrKCIgd29ya3MuXG4iKTsKIAkJZ290byBvdXQ7CiAJfQorCWRpc2FibGVfODI1OUFfaXJxKDApOwogCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9GSVhFRCB8IHZlY3Rvcik7CiAJcHJpbnRrKCIgZmFpbGVkLlxuIik7CiAKIAlwcmludGsoS0VSTl9JTkZPICIuLi50cnlpbmcgdG8gc2V0IHVwIHRpbWVyIGFzIEV4dElOVCBJUlEuLi4iKTsKIAotCXRpbWVyX2FjayA9IDA7CiAJaW5pdF84MjU5QSgwKTsKIAltYWtlXzgyNTlBX2lycSgwKTsKIAlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fRVhUSU5UKTsKQEAgLTIyNDgsMTEgKzIyODcsMjEgQEAKIH0KIAogLyoKLSAqCi0gKiBJUlEncyB0aGF0IGFyZSBoYW5kbGVkIGJ5IHRoZSBQSUMgaW4gdGhlIE1QUyBJT0FQSUMgY2FzZS4KLSAqIC0gSVJRMiBpcyB0aGUgY2FzY2FkZSBJUlEsIGFuZCBjYW5ub3QgYmUgYSBpby1hcGljIElSUS4KLSAqICAgTGludXggZG9lc24ndCByZWFsbHkgY2FyZSwgYXMgaXQncyBub3QgYWN0dWFsbHkgdXNlZAotICogICBmb3IgYW55IGludGVycnVwdCBoYW5kbGluZyBhbnl3YXkuCisgKiBUcmFkaXRpb25hbGx5IElTQSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGlzIG5vdCBhdmFpbGFibGUKKyAqIHRvIGRldmljZXMuICBIb3dldmVyIHRoZXJlIG1heSBiZSBhbiBJL08gQVBJQyBwaW4gYXZhaWxhYmxlIGZvcgorICogdGhpcyBpbnRlcnJ1cHQgcmVnYXJkbGVzcy4gIFRoZSBwaW4gbWF5IGJlIGxlZnQgdW5jb25uZWN0ZWQsIGJ1dAorICogdHlwaWNhbGx5IGl0IHdpbGwgYmUgcmV1c2VkIGFzIGFuIEV4dElOVCBjYXNjYWRlIGludGVycnVwdCBmb3IKKyAqIHRoZSBtYXN0ZXIgODI1OUEuICBJbiB0aGUgTVBTIGNhc2Ugc3VjaCBhIHBpbiB3aWxsIG5vcm1hbGx5IGJlCisgKiByZXBvcnRlZCBhcyBhbiBFeHRJTlQgaW50ZXJydXB0IGluIHRoZSBNUCB0YWJsZS4gIFdpdGggQUNQSQorICogdGhlcmUgaXMgbm8gcHJvdmlzaW9uIGZvciBFeHRJTlQgaW50ZXJydXB0cywgYW5kIGluIHRoZSBhYnNlbmNlCisgKiBvZiBhbiBvdmVycmlkZSBpdCB3b3VsZCBiZSB0cmVhdGVkIGFzIGFuIG9yZGluYXJ5IElTQSBJL08gQVBJQworICogaW50ZXJydXB0LCB0aGF0IGlzIGVkZ2UtdHJpZ2dlcmVkIGFuZCB1bm1hc2tlZCBieSBkZWZhdWx0LiAgV2UKKyAqIHVzZWQgdG8gZG8gdGhpcywgYnV0IGl0IGNhdXNlZCBwcm9ibGVtcyBvbiBzb21lIHN5c3RlbXMgYmVjYXVzZQorICogb2YgdGhlIE5NSSB3YXRjaGRvZyBhbmQgc29tZXRpbWVzIElSUTAgb2YgdGhlIDgyNTQgdGltZXIgdXNpbmcKKyAqIHRoZSBzYW1lIEV4dElOVCBjYXNjYWRlIGludGVycnVwdCB0byBkcml2ZSB0aGUgbG9jYWwgQVBJQyBvZiB0aGUKKyAqIGJvb3RzdHJhcCBwcm9jZXNzb3IuICBUaGVyZWZvcmUgd2UgcmVmcmFpbiBmcm9tIHJvdXRpbmcgSVJRMiB0bworICogdGhlIEkvTyBBUElDIGluIGFsbCBjYXNlcyBub3cuICBObyBhY3R1YWwgZGV2aWNlIHNob3VsZCByZXF1ZXN0CisgKiBpdCBhbnl3YXkuICAtLW1hY3JvCiAgKi8KICNkZWZpbmUgUElDX0lSUVMJKDEgPDwgUElDX0NBU0NBREVfSVIpCiAKQEAgLTIyNjEsMTUgKzIzMTAsMTIgQEAKIAlpbnQgaTsKIAogCS8qIFJlc2VydmUgYWxsIHRoZSBzeXN0ZW0gdmVjdG9ycy4gKi8KLQlmb3IgKGkgPSBGSVJTVF9TWVNURU1fVkVDVE9SOyBpIDwgTlJfVkVDVE9SUzsgaSsrKQorCWZvciAoaSA9IGZpcnN0X3N5c3RlbV92ZWN0b3I7IGkgPCBOUl9WRUNUT1JTOyBpKyspCiAJCXNldF9iaXQoaSwgdXNlZF92ZWN0b3JzKTsKIAogCWVuYWJsZV9JT19BUElDKCk7CiAKLQlpZiAoYWNwaV9pb2FwaWMpCi0JCWlvX2FwaWNfaXJxcyA9IH4wOwkvKiBhbGwgSVJRcyBnbyB0aHJvdWdoIElPQVBJQyAqLwotCWVsc2UKLQkJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOworCWlvX2FwaWNfaXJxcyA9IH5QSUNfSVJRUzsKIAogCXByaW50aygiRU5BQkxJTkcgSU8tQVBJQyBJUlFzXG4iKTsKIApAQCAtMjI4NiwyOCArMjMzMiwxNCBAQAogCQlwcmludF9JT19BUElDKCk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX2Rpc2FibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IC0xOwotCXJldHVybiAxOwotfQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZW5hYmxlXzgyNTRfdGltZXIoY2hhciAqcykKLXsKLQl0aW1lcl9vdmVyXzgyNTQgPSAyOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJkaXNhYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9kaXNhYmxlXzgyNTRfdGltZXIpOwotX19zZXR1cCgiZW5hYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9lbmFibGVfODI1NF90aW1lcik7Ci0KIC8qCiAgKglDYWxsZWQgYWZ0ZXIgYWxsIHRoZSBpbml0aWFsaXphdGlvbiBpcyBkb25lLiBJZiB3ZSBkaWRudCBmaW5kIGFueQogICoJQVBJQyBidWdzIHRoZW4gd2UgY2FuIGFsbG93IHRoZSBtb2RpZnkgZmFzdCBwYXRoCiAgKi8KLSAKKwogc3RhdGljIGludCBfX2luaXQgaW9fYXBpY19idWdfZmluYWxpemUodm9pZCkKIHsKLQlpZihzaXNfYXBpY19idWcgPT0gLTEpCisJaWYgKHNpc19hcGljX2J1ZyA9PSAtMSkKIAkJc2lzX2FwaWNfYnVnID0gMDsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMTgsMTcgKzIzNTAsMTcgQEAKIAlzdHJ1Y3Qgc3lzX2RldmljZSBkZXY7CiAJc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnlbMF07CiB9Owotc3RhdGljIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSAqIG1wX2lvYXBpY19kYXRhW01BWF9JT19BUElDU107CitzdGF0aWMgc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhICptcF9pb2FwaWNfZGF0YVtNQVhfSU9fQVBJQ1NdOwogCiBzdGF0aWMgaW50IGlvYXBpY19zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSAqZW50cnk7CiAJc3RydWN0IHN5c2ZzX2lvYXBpY19kYXRhICpkYXRhOwogCWludCBpOwotCQorCiAJZGF0YSA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBzeXNmc19pb2FwaWNfZGF0YSwgZGV2KTsKIAllbnRyeSA9IGRhdGEtPmVudHJ5OwotCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpICsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNfcmVnaXN0ZXJzW2Rldi0+aWRdOyBpKyspCiAJCWVudHJ5W2ldID0gaW9hcGljX3JlYWRfZW50cnkoZGV2LT5pZCwgaSk7CiAKIAlyZXR1cm4gMDsKQEAgLTIzNDEsMTggKzIzNzMsMTggQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuaW9uIElPX0FQSUNfcmVnXzAwIHJlZ18wMDsKIAlpbnQgaTsKLQkKKwogCWRhdGEgPSBjb250YWluZXJfb2YoZGV2LCBzdHJ1Y3Qgc3lzZnNfaW9hcGljX2RhdGEsIGRldik7CiAJZW50cnkgPSBkYXRhLT5lbnRyeTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCXJlZ18wMC5yYXcgPSBpb19hcGljX3JlYWQoZGV2LT5pZCwgMCk7Ci0JaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZCkgewotCQlyZWdfMDAuYml0cy5JRCA9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBjX2FwaWNpZDsKKwlpZiAocmVnXzAwLmJpdHMuSUQgIT0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQpIHsKKwkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wX2FwaWNpZDsKIAkJaW9fYXBpY193cml0ZShkZXYtPmlkLCAwLCByZWdfMDAucmF3KTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1tkZXYtPmlkXTsgaSArKykKKwlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljX3JlZ2lzdGVyc1tkZXYtPmlkXTsgaSsrKQogCQlpb2FwaWNfd3JpdGVfZW50cnkoZGV2LT5pZCwgaSwgZW50cnlbaV0pOwogCiAJcmV0dXJuIDA7CkBAIC0yMzY2LDI0ICsyMzk4LDIzIEBACiAKIHN0YXRpYyBpbnQgX19pbml0IGlvYXBpY19pbml0X3N5c2ZzKHZvaWQpCiB7Ci0Jc3RydWN0IHN5c19kZXZpY2UgKiBkZXY7CisJc3RydWN0IHN5c19kZXZpY2UgKmRldjsKIAlpbnQgaSwgc2l6ZSwgZXJyb3IgPSAwOwogCiAJZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmlvYXBpY19zeXNkZXZfY2xhc3MpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCi0JZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKyApIHsKLQkJc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc3lzX2RldmljZSkgKyBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldIAorCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKKwkJc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc3lzX2RldmljZSkgKyBucl9pb2FwaWNfcmVnaXN0ZXJzW2ldCiAJCQkqIHNpemVvZihzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSk7Ci0JCW1wX2lvYXBpY19kYXRhW2ldID0ga21hbGxvYyhzaXplLCBHRlBfS0VSTkVMKTsKKwkJbXBfaW9hcGljX2RhdGFbaV0gPSBremFsbG9jKHNpemUsIEdGUF9LRVJORUwpOwogCQlpZiAoIW1wX2lvYXBpY19kYXRhW2ldKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIkNhbid0IHN1c3BlbmQvcmVzdW1lIElPQVBJQyAlZFxuIiwgaSk7CiAJCQljb250aW51ZTsKIAkJfQotCQltZW1zZXQobXBfaW9hcGljX2RhdGFbaV0sIDAsIHNpemUpOwogCQlkZXYgPSAmbXBfaW9hcGljX2RhdGFbaV0tPmRldjsKLQkJZGV2LT5pZCA9IGk7IAorCQlkZXYtPmlkID0gaTsKIAkJZGV2LT5jbHMgPSAmaW9hcGljX3N5c2Rldl9jbGFzczsKIAkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoZGV2KTsKIAkJaWYgKGVycm9yKSB7CkBAIC0yNDU4LDcgKzI0ODksNyBAQAogCQltc2ctPmFkZHJlc3NfbG8gPQogCQkJTVNJX0FERFJfQkFTRV9MTyB8CiAJCQkoKElOVF9ERVNUX01PREUgPT0gMCkgPwotCQkJCU1TSV9BRERSX0RFU1RfTU9ERV9QSFlTSUNBTDoKK01TSV9BRERSX0RFU1RfTU9ERV9QSFlTSUNBTDoKIAkJCQlNU0lfQUREUl9ERVNUX01PREVfTE9HSUNBTCkgfAogCQkJKChJTlRfREVMSVZFUllfTU9ERSAhPSBkZXN0X0xvd2VzdFByaW8pID8KIAkJCQlNU0lfQUREUl9SRURJUkVDVElPTl9DUFU6CkBAIC0yNDY5LDcgKzI1MDAsNyBAQAogCQkJTVNJX0RBVEFfVFJJR0dFUl9FREdFIHwKIAkJCU1TSV9EQVRBX0xFVkVMX0FTU0VSVCB8CiAJCQkoKElOVF9ERUxJVkVSWV9NT0RFICE9IGRlc3RfTG93ZXN0UHJpbykgPwotCQkJCU1TSV9EQVRBX0RFTElWRVJZX0ZJWEVEOgorTVNJX0RBVEFfREVMSVZFUllfRklYRUQ6CiAJCQkJTVNJX0RBVEFfREVMSVZFUllfTE9XUFJJKSB8CiAJCQlNU0lfREFUQV9WRUNUT1IodmVjdG9yKTsKIAl9CkBAIC0yNjQwLDEyICsyNjcxLDEyIEBACiAjZW5kaWYgLyogQ09ORklHX0hUX0lSUSAqLwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJLWJhc2VkIElPQVBJQyBDb25maWd1cmF0aW9uCisJCQlBQ1BJLWJhc2VkIElPQVBJQyBDb25maWd1cmF0aW9uCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAjaWZkZWYgQ09ORklHX0FDUEkKIAotaW50IF9faW5pdCBpb19hcGljX2dldF91bmlxdWVfaWQgKGludCBpb2FwaWMsIGludCBhcGljX2lkKQoraW50IF9faW5pdCBpb19hcGljX2dldF91bmlxdWVfaWQoaW50IGlvYXBpYywgaW50IGFwaWNfaWQpCiB7CiAJdW5pb24gSU9fQVBJQ19yZWdfMDAgcmVnXzAwOwogCXN0YXRpYyBwaHlzaWRfbWFza190IGFwaWNfaWRfbWFwID0gUEhZU0lEX01BU0tfTk9ORTsKQEAgLTI2NTQsMTAgKzI2ODUsMTAgQEAKIAlpbnQgaSA9IDA7CiAKIAkvKgotCSAqIFRoZSBQNCBwbGF0Zm9ybSBzdXBwb3J0cyB1cCB0byAyNTYgQVBJQyBJRHMgb24gdHdvIHNlcGFyYXRlIEFQSUMgCi0JICogYnVzZXMgKG9uZSBmb3IgTEFQSUNzLCBvbmUgZm9yIElPQVBJQ3MpLCB3aGVyZSBwcmVkZWNlc3NvcnMgb25seSAKKwkgKiBUaGUgUDQgcGxhdGZvcm0gc3VwcG9ydHMgdXAgdG8gMjU2IEFQSUMgSURzIG9uIHR3byBzZXBhcmF0ZSBBUElDCisJICogYnVzZXMgKG9uZSBmb3IgTEFQSUNzLCBvbmUgZm9yIElPQVBJQ3MpLCB3aGVyZSBwcmVkZWNlc3NvcnMgb25seQogCSAqIHN1cHBvcnRzIHVwIHRvIDE2IG9uIG9uZSBzaGFyZWQgQVBJQyBidXMuCi0JICogCisJICoKIAkgKiBUQkQ6IEV4cGFuZCBMQVBJQy9JT0FQSUMgc3VwcG9ydCBvbiBQNC1jbGFzcyBzeXN0ZW1zIHRvIHRha2UgZnVsbAogCSAqICAgICAgYWR2YW50YWdlIG9mIG5ldyBBUElDIGJ1cyBhcmNoaXRlY3R1cmUuCiAJICovCkBAIC0yNjc2LDcgKzI3MDcsNyBAQAogCX0KIAogCS8qCi0JICogRXZlcnkgQVBJQyBpbiBhIHN5c3RlbSBtdXN0IGhhdmUgYSB1bmlxdWUgSUQgb3Igd2UgZ2V0IGxvdHMgb2YgbmljZSAKKwkgKiBFdmVyeSBBUElDIGluIGEgc3lzdGVtIG11c3QgaGF2ZSBhIHVuaXF1ZSBJRCBvciB3ZSBnZXQgbG90cyBvZiBuaWNlCiAJICogJ3N0dWNrIG9uIHNtcF9pbnZhbGlkYXRlX25lZWRlZCBJUEkgd2FpdCcgbWVzc2FnZXMuCiAJICovCiAJaWYgKGNoZWNrX2FwaWNpZF91c2VkKGFwaWNfaWRfbWFwLCBhcGljX2lkKSkgewpAQCAtMjY5Myw3ICsyNzI0LDcgQEAKIAkJCSJ0cnlpbmcgJWRcbiIsIGlvYXBpYywgYXBpY19pZCwgaSk7CiAKIAkJYXBpY19pZCA9IGk7Ci0JfSAKKwl9CiAKIAl0bXAgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQoYXBpY19pZCk7CiAJcGh5c2lkc19vcihhcGljX2lkX21hcCwgYXBpY19pZF9tYXAsIHRtcCk7CkBAIC0yNzIwLDcgKzI3NTEsNyBAQAogfQogCiAKLWludCBfX2luaXQgaW9fYXBpY19nZXRfdmVyc2lvbiAoaW50IGlvYXBpYykKK2ludCBfX2luaXQgaW9fYXBpY19nZXRfdmVyc2lvbihpbnQgaW9hcGljKQogewogCXVuaW9uIElPX0FQSUNfcmVnXzAxCXJlZ18wMTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtMjczMyw3ICsyNzY0LDcgQEAKIH0KIAogCi1pbnQgX19pbml0IGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMgKGludCBpb2FwaWMpCitpbnQgX19pbml0IGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMoaW50IGlvYXBpYykKIHsKIAl1bmlvbiBJT19BUElDX3JlZ18wMQlyZWdfMDE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTI3NDYsNyArMjc3Nyw3IEBACiB9CiAKIAotaW50IGlvX2FwaWNfc2V0X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLCBpbnQgcGluLCBpbnQgaXJxLCBpbnQgZWRnZV9sZXZlbCwgaW50IGFjdGl2ZV9oaWdoX2xvdykKK2ludCBpb19hcGljX3NldF9wY2lfcm91dGluZyhpbnQgaW9hcGljLCBpbnQgcGluLCBpbnQgaXJxLCBpbnQgZWRnZV9sZXZlbCwgaW50IGFjdGl2ZV9oaWdoX2xvdykKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeTsKIApAQCAtMjc2Miw3ICsyNzkzLDcgQEAKIAkgKiBjb3JyZXNwb25kaW5nIGRldmljZSBkcml2ZXIgcmVnaXN0ZXJzIGZvciB0aGlzIElSUS4KIAkgKi8KIAotCW1lbXNldCgmZW50cnksMCxzaXplb2YoZW50cnkpKTsKKwltZW1zZXQoJmVudHJ5LCAwLCBzaXplb2YoZW50cnkpKTsKIAogCWVudHJ5LmRlbGl2ZXJ5X21vZGUgPSBJTlRfREVMSVZFUllfTU9ERTsKIAllbnRyeS5kZXN0X21vZGUgPSBJTlRfREVTVF9NT0RFOwpAQCAtMjc4MSw3ICsyODEyLDcgQEAKIAogCWFwaWNfcHJpbnRrKEFQSUNfREVCVUcsIEtFUk5fREVCVUcgIklPQVBJQ1slZF06IFNldCBQQ0kgcm91dGluZyBlbnRyeSAiCiAJCSIoJWQtJWQgLT4gMHgleCAtPiBJUlEgJWQgTW9kZTolaSBBY3RpdmU6JWkpXG4iLCBpb2FwaWMsCi0JCW1wX2lvYXBpY3NbaW9hcGljXS5tcGNfYXBpY2lkLCBwaW4sIGVudHJ5LnZlY3RvciwgaXJxLAorCQltcF9pb2FwaWNzW2lvYXBpY10ubXBfYXBpY2lkLCBwaW4sIGVudHJ5LnZlY3RvciwgaXJxLAogCQllZGdlX2xldmVsLCBhY3RpdmVfaGlnaF9sb3cpOwogCiAJaW9hcGljX3JlZ2lzdGVyX2ludHIoaXJxLCBlbnRyeS52ZWN0b3IsIGVkZ2VfbGV2ZWwpOwpAQCAtMjgwMiw4ICsyODMzLDggQEAKIAkJcmV0dXJuIC0xOwogCiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspCi0JCWlmIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IG1wX0lOVCAmJgotCQkgICAgbXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGJ1c19pcnEpCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gbXBfSU5UICYmCisJCSAgICBtcF9pcnFzW2ldLm1wX3NyY2J1c2lycSA9PSBidXNfaXJxKQogCQkJYnJlYWs7CiAJaWYgKGkgPj0gbXBfaXJxX2VudHJpZXMpCiAJCXJldHVybiAtMTsKQEAgLTI4MzYsMyArMjg2NywzNCBAQAogCXJldHVybiAwOwogfQogZWFybHlfcGFyYW0oIm5vYXBpYyIsIHBhcnNlX25vYXBpYyk7CisKK3ZvaWQgX19pbml0IGlvYXBpY19pbml0X21hcHBpbmdzKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBpb2FwaWNfcGh5cywgaWR4ID0gRklYX0lPX0FQSUNfQkFTRV8wOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykgeworCQlpZiAoc21wX2ZvdW5kX2NvbmZpZykgeworCQkJaW9hcGljX3BoeXMgPSBtcF9pb2FwaWNzW2ldLm1wX2FwaWNhZGRyOworCQkJaWYgKCFpb2FwaWNfcGh5cykgeworCQkJCXByaW50ayhLRVJOX0VSUgorCQkJCSAgICAgICAiV0FSTklORzogYm9ndXMgemVybyBJTy1BUElDICIKKwkJCQkgICAgICAgImFkZHJlc3MgZm91bmQgaW4gTVBUQUJMRSwgIgorCQkJCSAgICAgICAiZGlzYWJsaW5nIElPL0FQSUMgc3VwcG9ydCFcbiIpOworCQkJCXNtcF9mb3VuZF9jb25maWcgPSAwOworCQkJCXNraXBfaW9hcGljX3NldHVwID0gMTsKKwkJCQlnb3RvIGZha2VfaW9hcGljX3BhZ2U7CisJCQl9CisJCX0gZWxzZSB7CitmYWtlX2lvYXBpY19wYWdlOgorCQkJaW9hcGljX3BoeXMgPSAodW5zaWduZWQgbG9uZykKKwkJCQkgICAgICBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CisJCQlpb2FwaWNfcGh5cyA9IF9fcGEoaW9hcGljX3BoeXMpOworCQl9CisJCXNldF9maXhtYXBfbm9jYWNoZShpZHgsIGlvYXBpY19waHlzKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIm1hcHBlZCBJT0FQSUMgdG8gJTA4bHggKCUwOGx4KVxuIiwKKwkJICAgICAgIF9fZml4X3RvX3ZpcnQoaWR4KSwgaW9hcGljX3BoeXMpOworCQlpZHgrKzsKKwl9Cit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvaW9fYXBpY182NC5jCmluZGV4IGVmMWE4ZGYuLjY1MTBjZGUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pb19hcGljXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lvX2FwaWNfNjQuYwpAQCAtNjEsNyArNjEsNyBAQAogfTsKIAogLyogaXJxX2NmZyBpcyBpbmRleGVkIGJ5IHRoZSBzdW0gb2YgYWxsIFJURXMgaW4gYWxsIEkvTyBBUElDcy4gKi8KLXN0cnVjdCBpcnFfY2ZnIGlycV9jZmdbTlJfSVJRU10gX19yZWFkX21vc3RseSA9IHsKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NmZyBpcnFfY2ZnW05SX0lSUVNdIF9fcmVhZF9tb3N0bHkgPSB7CiAJWzBdICA9IHsgLmRvbWFpbiA9IENQVV9NQVNLX0FMTCwgLnZlY3RvciA9IElSUTBfVkVDVE9SLCAgfSwKIAlbMV0gID0geyAuZG9tYWluID0gQ1BVX01BU0tfQUxMLCAudmVjdG9yID0gSVJRMV9WRUNUT1IsICB9LAogCVsyXSAgPSB7IC5kb21haW4gPSBDUFVfTUFTS19BTEwsIC52ZWN0b3IgPSBJUlEyX1ZFQ1RPUiwgIH0sCkBAIC04Miw2ICs4MiwxMCBAQAogCiBzdGF0aWMgaW50IGFzc2lnbl9pcnFfdmVjdG9yKGludCBpcnEsIGNwdW1hc2tfdCBtYXNrKTsKIAoraW50IGZpcnN0X3N5c3RlbV92ZWN0b3IgPSAweGZlOworCitjaGFyIHN5c3RlbV92ZWN0b3JzW05SX1ZFQ1RPUlNdID0geyBbMCAuLi4gTlJfVkVDVE9SUy0xXSA9IFNZU19WRUNUT1JfRlJFRX07CisKICNkZWZpbmUgX19hcGljZGVidWdpbml0ICBfX2luaXQKIAogaW50IHNpc19hcGljX2J1ZzsgLyogbm90IGFjdHVhbGx5IHN1cHBvcnRlZCwgZHVtbXkgZm9yIGNvbXBpbGUgKi8KQEAgLTkwLDcgKzk0LDcgQEAKIAogc3RhdGljIGludCBkaXNhYmxlX3RpbWVyX3Bpbl8xIF9faW5pdGRhdGE7CiAKLWludCB0aW1lcl9vdmVyXzgyNTQgX19pbml0ZGF0YSA9IDE7CitpbnQgdGltZXJfdGhyb3VnaF84MjU5IF9faW5pdGRhdGE7CiAKIC8qIFdoZXJlIGlmIGFueXdoZXJlIGlzIHRoZSBpODI1OSBjb25uZWN0IGluIGV4dGVybmFsIGludCBtb2RlICovCiBzdGF0aWMgc3RydWN0IHsgaW50IHBpbiwgYXBpYzsgfSBpb2FwaWNfaTgyNTkgPSB7IC0xLCAtMSB9OwpAQCAtMTA0LDE1ICsxMDgsMTcgQEAKIGludCBucl9pb2FwaWNfcmVnaXN0ZXJzW01BWF9JT19BUElDU107CiAKIC8qIEkvTyBBUElDIGVudHJpZXMgKi8KLXN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CitzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CiBpbnQgbnJfaW9hcGljczsKIAogLyogTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCi1zdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOworc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOwogCiAvKiAjIG9mIE1QIElSUSBzb3VyY2UgZW50cmllcyAqLwogaW50IG1wX2lycV9lbnRyaWVzOwogCitERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7CisKIC8qCiAgKiBSb3VnaCBlc3RpbWF0aW9uIG9mIGhvdyBtYW55IHNoYXJlZCBJUlFzIHRoZXJlIGFyZSwgY2FuCiAgKiBiZSBjaGFuZ2VkIGFueXRpbWUuCkBAIC0xNDAsNyArMTQ2LDcgQEAKIHN0YXRpYyBfX2F0dHJpYnV0ZV9jb25zdF9fIHN0cnVjdCBpb19hcGljIF9faW9tZW0gKmlvX2FwaWNfYmFzZShpbnQgaWR4KQogewogCXJldHVybiAodm9pZCBfX2lvbWVtICopIF9fZml4X3RvX3ZpcnQoRklYX0lPX0FQSUNfQkFTRV8wICsgaWR4KQotCQkrIChtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWNhZGRyICYgflBBR0VfTUFTSyk7CisJCSsgKG1wX2lvYXBpY3NbaWR4XS5tcF9hcGljYWRkciAmIH5QQUdFX01BU0spOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpb19hcGljX3JlYWQodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcpCkBAIC0xODMsNyArMTg5LDcgQEAKIAkJCWJyZWFrOwogCQlyZWcgPSBpb19hcGljX3JlYWQoZW50cnktPmFwaWMsIDB4MTAgKyBwaW4qMik7CiAJCS8qIElzIHRoZSByZW1vdGUgSVJSIGJpdCBzZXQ/ICovCi0JCWlmICgocmVnID4+IDE0KSAmIDEpIHsKKwkJaWYgKHJlZyAmIElPX0FQSUNfUkVESVJfUkVNT1RFX0lSUikgewogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAkJCXJldHVybiB0cnVlOwogCQl9CkBAIC0yOTgsNyArMzA0LDcgQEAKIAkJCWJyZWFrOwogCQlpb19hcGljX3dyaXRlKGFwaWMsIDB4MTEgKyBwaW4qMiwgZGVzdCk7CiAJCXJlZyA9IGlvX2FwaWNfcmVhZChhcGljLCAweDEwICsgcGluKjIpOwotCQlyZWcgJj0gfjB4MDAwMDAwZmY7CisJCXJlZyAmPSB+SU9fQVBJQ19SRURJUl9WRUNUT1JfTUFTSzsKIAkJcmVnIHw9IHZlY3RvcjsKIAkJaW9fYXBpY19tb2RpZnkoYXBpYywgcmVnKTsKIAkJaWYgKCFlbnRyeS0+bmV4dCkKQEAgLTM2MCwxNiArMzY2LDM3IEBACiAJZW50cnktPnBpbiA9IHBpbjsKIH0KIAorLyoKKyAqIFJlcm91dGUgYW4gSVJRIHRvIGEgZGlmZmVyZW50IHBpbi4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IHJlcGxhY2VfcGluX2F0X2lycSh1bnNpZ25lZCBpbnQgaXJxLAorCQkJCSAgICAgIGludCBvbGRhcGljLCBpbnQgb2xkcGluLAorCQkJCSAgICAgIGludCBuZXdhcGljLCBpbnQgbmV3cGluKQoreworCXN0cnVjdCBpcnFfcGluX2xpc3QgKmVudHJ5ID0gaXJxXzJfcGluICsgaXJxOworCisJd2hpbGUgKDEpIHsKKwkJaWYgKGVudHJ5LT5hcGljID09IG9sZGFwaWMgJiYgZW50cnktPnBpbiA9PSBvbGRwaW4pIHsKKwkJCWVudHJ5LT5hcGljID0gbmV3YXBpYzsKKwkJCWVudHJ5LT5waW4gPSBuZXdwaW47CisJCX0KKwkJaWYgKCFlbnRyeS0+bmV4dCkKKwkJCWJyZWFrOworCQllbnRyeSA9IGlycV8yX3BpbiArIGVudHJ5LT5uZXh0OworCX0KK30KKwogCiAjZGVmaW5lIERPX0FDVElPTihuYW1lLFIsQUNUSU9OLCBGSU5BTCkJCQkJCVwKIAkJCQkJCQkJCVwKIAlzdGF0aWMgdm9pZCBuYW1lIyNfSU9fQVBJQ19pcnEgKHVuc2lnbmVkIGludCBpcnEpCQlcCiAJX19ET19BQ1RJT04oUiwgQUNUSU9OLCBGSU5BTCkKIAotRE9fQUNUSU9OKCBfX21hc2ssICAgICAgICAgICAgIDAsIHw9IDB4MDAwMTAwMDAsIGlvX2FwaWNfc3luYyhlbnRyeS0+YXBpYykgKQotCQkJCQkJLyogbWFzayA9IDEgKi8KLURPX0FDVElPTiggX191bm1hc2ssICAgICAgICAgICAwLCAmPSAweGZmZmVmZmZmLCApCi0JCQkJCQkvKiBtYXNrID0gMCAqLworLyogbWFzayA9IDEgKi8KK0RPX0FDVElPTihfX21hc2ssCTAsIHw9IElPX0FQSUNfUkVESVJfTUFTS0VELCBpb19hcGljX3N5bmMoZW50cnktPmFwaWMpKQorCisvKiBtYXNrID0gMCAqLworRE9fQUNUSU9OKF9fdW5tYXNrLAkwLCAmPSB+SU9fQVBJQ19SRURJUl9NQVNLRUQsICkKIAogc3RhdGljIHZvaWQgbWFza19JT19BUElDX2lycSAodW5zaWduZWQgaW50IGlycSkKIHsKQEAgLTQzMCwyMCArNDU3LDYgQEAKIH0KIF9fc2V0dXAoImRpc2FibGVfdGltZXJfcGluXzEiLCBkaXNhYmxlX3RpbWVyX3Bpbl9zZXR1cCk7CiAKLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX2Rpc2FibGVfODI1NF90aW1lcihjaGFyICpzKQotewotCXRpbWVyX292ZXJfODI1NCA9IC0xOwotCXJldHVybiAxOwotfQotc3RhdGljIGludCBfX2luaXQgc2V0dXBfZW5hYmxlXzgyNTRfdGltZXIoY2hhciAqcykKLXsKLQl0aW1lcl9vdmVyXzgyNTQgPSAyOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJkaXNhYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9kaXNhYmxlXzgyNTRfdGltZXIpOwotX19zZXR1cCgiZW5hYmxlXzgyNTRfdGltZXIiLCBzZXR1cF9lbmFibGVfODI1NF90aW1lcik7Ci0KIAogLyoKICAqIEZpbmQgdGhlIElSUSBlbnRyeSBudW1iZXIgb2YgYSBjZXJ0YWluIHBpbi4KQEAgLTQ1MywxMCArNDY2LDEwIEBACiAJaW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gdHlwZSAmJgotCQkgICAgKG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkIHx8Ci0JCSAgICAgbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkgJiYKLQkJICAgIG1wX2lycXNbaV0ubXBjX2RzdGlycSA9PSBwaW4pCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgPT0gdHlwZSAmJgorCQkgICAgKG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCB8fAorCQkgICAgIG1wX2lycXNbaV0ubXBfZHN0YXBpYyA9PSBNUF9BUElDX0FMTCkgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfZHN0aXJxID09IHBpbikKIAkJCXJldHVybiBpOwogCiAJcmV0dXJuIC0xOwpAQCAtNDcwLDEzICs0ODMsMTMgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWlmICh0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGlycSkpCisJCSAgICAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUpICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gaXJxKSkKIAotCQkJcmV0dXJuIG1wX2lycXNbaV0ubXBjX2RzdGlycTsKKwkJCXJldHVybiBtcF9pcnFzW2ldLm1wX2RzdGlycTsKIAl9CiAJcmV0dXJuIC0xOwogfQpAQCAtNDg2LDE3ICs0OTksMTcgQEAKIAlpbnQgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7Ci0JCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcGNfc3JjYnVzOworCQlpbnQgbGJ1cyA9IG1wX2lycXNbaV0ubXBfc3JjYnVzOwogCiAJCWlmICh0ZXN0X2JpdChsYnVzLCBtcF9idXNfbm90X3BjaSkgJiYKLQkJICAgIChtcF9pcnFzW2ldLm1wY19pcnF0eXBlID09IHR5cGUpICYmCi0JCSAgICAobXBfaXJxc1tpXS5tcGNfc3JjYnVzaXJxID09IGlycSkpCisJCSAgICAobXBfaXJxc1tpXS5tcF9pcnF0eXBlID09IHR5cGUpICYmCisJCSAgICAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgPT0gaXJxKSkKIAkJCWJyZWFrOwogCX0KIAlpZiAoaSA8IG1wX2lycV9lbnRyaWVzKSB7CiAJCWludCBhcGljOwogCQlmb3IoYXBpYyA9IDA7IGFwaWMgPCBucl9pb2FwaWNzOyBhcGljKyspIHsKLQkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPT0gbXBfaXJxc1tpXS5tcGNfZHN0YXBpYykKKwkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wX2FwaWNpZCA9PSBtcF9pcnFzW2ldLm1wX2RzdGFwaWMpCiAJCQkJcmV0dXJuIGFwaWM7CiAJCX0KIAl9CkBAIC01MTYsMjggKzUyOSwyOCBAQAogCiAJYXBpY19wcmludGsoQVBJQ19ERUJVRywgInF1ZXJ5aW5nIFBDSSAtPiBJUlEgbWFwcGluZyBidXM6JWQsIHNsb3Q6JWQsIHBpbjolZC5cbiIsCiAJCWJ1cywgc2xvdCwgcGluKTsKLQlpZiAobXBfYnVzX2lkX3RvX3BjaV9idXNbYnVzXSA9PSAtMSkgeworCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkgewogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsICJQQ0kgQklPUyBwYXNzZWQgbm9uZXhpc3RlbnQgUENJIGJ1cyAlZCFcbiIsIGJ1cyk7CiAJCXJldHVybiAtMTsKIAl9CiAJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKLQkJaW50IGxidXMgPSBtcF9pcnFzW2ldLm1wY19zcmNidXM7CisJCWludCBsYnVzID0gbXBfaXJxc1tpXS5tcF9zcmNidXM7CiAKIAkJZm9yIChhcGljID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKykKLQkJCWlmIChtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQgPT0gbXBfaXJxc1tpXS5tcGNfZHN0YXBpYyB8fAotCQkJICAgIG1wX2lycXNbaV0ubXBjX2RzdGFwaWMgPT0gTVBfQVBJQ19BTEwpCisJCQlpZiAobXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQgPT0gbXBfaXJxc1tpXS5tcF9kc3RhcGljIHx8CisJCQkgICAgbXBfaXJxc1tpXS5tcF9kc3RhcGljID09IE1QX0FQSUNfQUxMKQogCQkJCWJyZWFrOwogCiAJCWlmICghdGVzdF9iaXQobGJ1cywgbXBfYnVzX25vdF9wY2kpICYmCi0JCSAgICAhbXBfaXJxc1tpXS5tcGNfaXJxdHlwZSAmJgorCQkgICAgIW1wX2lycXNbaV0ubXBfaXJxdHlwZSAmJgogCQkgICAgKGJ1cyA9PSBsYnVzKSAmJgotCQkgICAgKHNsb3QgPT0gKChtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPj4gMikgJiAweDFmKSkpIHsKLQkJCWludCBpcnEgPSBwaW5fMl9pcnEoaSxhcGljLG1wX2lycXNbaV0ubXBjX2RzdGlycSk7CisJCSAgICAoc2xvdCA9PSAoKG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID4+IDIpICYgMHgxZikpKSB7CisJCQlpbnQgaXJxID0gcGluXzJfaXJxKGksYXBpYyxtcF9pcnFzW2ldLm1wX2RzdGlycSk7CiAKIAkJCWlmICghKGFwaWMgfHwgSU9fQVBJQ19JUlEoaXJxKSkpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChwaW4gPT0gKG1wX2lycXNbaV0ubXBjX3NyY2J1c2lycSAmIDMpKQorCQkJaWYgKHBpbiA9PSAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgJiAzKSkKIAkJCQlyZXR1cm4gaXJxOwogCQkJLyoKIAkJCSAqIFVzZSB0aGUgZmlyc3QgYWxsLWJ1dC1waW4gbWF0Y2hpbmcgZW50cnkgYXMgYQpAQCAtNTY1LDEzICs1NzgsMTMgQEAKIAogc3RhdGljIGludCBNUEJJT1NfcG9sYXJpdHkoaW50IGlkeCkKIHsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAJaW50IHBvbGFyaXR5OwogCiAJLyoKIAkgKiBEZXRlcm1pbmUgSVJRIGxpbmUgcG9sYXJpdHkgKGhpZ2ggYWN0aXZlIG9yIGxvdyBhY3RpdmUpOgogCSAqLwotCXN3aXRjaCAobXBfaXJxc1tpZHhdLm1wY19pcnFmbGFnICYgMykKKwlzd2l0Y2ggKG1wX2lycXNbaWR4XS5tcF9pcnFmbGFnICYgMykKIAl7CiAJCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgcG9sYXJpdHkgKi8KIAkJCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkKQEAgLTYwNywxMyArNjIwLDEzIEBACiAKIHN0YXRpYyBpbnQgTVBCSU9TX3RyaWdnZXIoaW50IGlkeCkKIHsKLQlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wY19zcmNidXM7CisJaW50IGJ1cyA9IG1wX2lycXNbaWR4XS5tcF9zcmNidXM7CiAJaW50IHRyaWdnZXI7CiAKIAkvKgogCSAqIERldGVybWluZSBJUlEgdHJpZ2dlciBtb2RlIChlZGdlIG9yIGxldmVsIHNlbnNpdGl2ZSk6CiAJICovCi0Jc3dpdGNoICgobXBfaXJxc1tpZHhdLm1wY19pcnFmbGFnPj4yKSAmIDMpCisJc3dpdGNoICgobXBfaXJxc1tpZHhdLm1wX2lycWZsYWc+PjIpICYgMykKIAl7CiAJCWNhc2UgMDogLyogY29uZm9ybXMsIGllLiBidXMtdHlwZSBkZXBlbmRlbnQgKi8KIAkJCWlmICh0ZXN0X2JpdChidXMsIG1wX2J1c19ub3RfcGNpKSkKQEAgLTY2MCwxNiArNjczLDE2IEBACiBzdGF0aWMgaW50IHBpbl8yX2lycShpbnQgaWR4LCBpbnQgYXBpYywgaW50IHBpbikKIHsKIAlpbnQgaXJxLCBpOwotCWludCBidXMgPSBtcF9pcnFzW2lkeF0ubXBjX3NyY2J1czsKKwlpbnQgYnVzID0gbXBfaXJxc1tpZHhdLm1wX3NyY2J1czsKIAogCS8qCiAJICogRGVidWdnaW5nIGNoZWNrLCB3ZSBhcmUgaW4gYmlnIHRyb3VibGUgaWYgdGhpcyBtZXNzYWdlIHBvcHMgdXAhCiAJICovCi0JaWYgKG1wX2lycXNbaWR4XS5tcGNfZHN0aXJxICE9IHBpbikKKwlpZiAobXBfaXJxc1tpZHhdLm1wX2RzdGlycSAhPSBwaW4pCiAJCXByaW50ayhLRVJOX0VSUiAiYnJva2VuIEJJT1Mgb3IgTVBUQUJMRSBwYXJzZXIsIGF5aWVlISFcbiIpOwogCiAJaWYgKHRlc3RfYml0KGJ1cywgbXBfYnVzX25vdF9wY2kpKSB7Ci0JCWlycSA9IG1wX2lycXNbaWR4XS5tcGNfc3JjYnVzaXJxOworCQlpcnEgPSBtcF9pcnFzW2lkeF0ubXBfc3JjYnVzaXJxOwogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIFBDSSBJUlFzIGFyZSBtYXBwZWQgaW4gb3JkZXIKQEAgLTczMCw3ICs3NDMsNyBAQAogCQlvZmZzZXQgPSBjdXJyZW50X29mZnNldDsKIG5leHQ6CiAJCXZlY3RvciArPSA4OwotCQlpZiAodmVjdG9yID49IEZJUlNUX1NZU1RFTV9WRUNUT1IpIHsKKwkJaWYgKHZlY3RvciA+PSBmaXJzdF9zeXN0ZW1fdmVjdG9yKSB7CiAJCQkvKiBJZiB3ZSBydW4gb3V0IG9mIHZlY3RvcnMgb24gbGFyZ2UgYm94ZW4sIG11c3Qgc2hhcmUgdGhlbS4gKi8KIAkJCW9mZnNldCA9IChvZmZzZXQgKyAxKSAlIDg7CiAJCQl2ZWN0b3IgPSBGSVJTVF9ERVZJQ0VfVkVDVE9SICsgb2Zmc2V0OwpAQCAtNzg4LDcgKzgwMSw3IEBACiAJY3B1c19jbGVhcihjZmctPmRvbWFpbik7CiB9CiAKLXZvaWQgX19zZXR1cF92ZWN0b3JfaXJxKGludCBjcHUpCitzdGF0aWMgdm9pZCBfX3NldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSkKIHsKIAkvKiBJbml0aWFsaXplIHZlY3Rvcl9pcnEgb24gYSBuZXcgY3B1ICovCiAJLyogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCB3aXRoIHZlY3Rvcl9sb2NrIGhlbGQgKi8KQEAgLTgxMSw2ICs4MjQsMTMgQEAKIAl9CiB9CiAKK3ZvaWQgc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KQoreworCXNwaW5fbG9jaygmdmVjdG9yX2xvY2spOworCV9fc2V0dXBfdmVjdG9yX2lycShzbXBfcHJvY2Vzc29yX2lkKCkpOworCXNwaW5fdW5sb2NrKCZ2ZWN0b3JfbG9jayk7Cit9CisKIAogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCBpb2FwaWNfY2hpcDsKIApAQCAtODQ2LDcgKzg2Niw3IEBACiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fREVCVUcKIAkJICAgICJJT0FQSUNbJWRdOiBTZXQgcm91dGluZyBlbnRyeSAoJWQtJWQgLT4gMHgleCAtPiAiCiAJCSAgICAiSVJRICVkIE1vZGU6JWkgQWN0aXZlOiVpKVxuIiwKLQkJICAgIGFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBjX2FwaWNpZCwgcGluLCBjZmctPnZlY3RvciwKKwkJICAgIGFwaWMsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4sIGNmZy0+dmVjdG9yLAogCQkgICAgaXJxLCB0cmlnZ2VyLCBwb2xhcml0eSk7CiAKIAkvKgpAQCAtODg3LDEwICs5MDcsMTAgQEAKIAkJaWR4ID0gZmluZF9pcnFfZW50cnkoYXBpYyxwaW4sbXBfSU5UKTsKIAkJaWYgKGlkeCA9PSAtMSkgewogCQkJaWYgKGZpcnN0X25vdGNvbikgewotCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRyAiIElPLUFQSUMgKGFwaWNpZC1waW4pICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkLCBwaW4pOworCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgS0VSTl9ERUJVRyAiIElPLUFQSUMgKGFwaWNpZC1waW4pICVkLSVkIiwgbXBfaW9hcGljc1thcGljXS5tcF9hcGljaWQsIHBpbik7CiAJCQkJZmlyc3Rfbm90Y29uID0gMDsKIAkJCX0gZWxzZQotCQkJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIiwgJWQtJWQiLCBtcF9pb2FwaWNzW2FwaWNdLm1wY19hcGljaWQsIHBpbik7CisJCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCAiLCAlZC0lZCIsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkLCBwaW4pOwogCQkJY29udGludWU7CiAJCX0KIAkJaWYgKCFmaXJzdF9ub3Rjb24pIHsKQEAgLTkxMSwyNiArOTMxLDIxIEBACiB9CiAKIC8qCi0gKiBTZXQgdXAgdGhlIDgyNTlBLW1hc3RlciBvdXRwdXQgcGluIGFzIGJyb2FkY2FzdCB0byBhbGwKLSAqIENQVXMuCisgKiBTZXQgdXAgdGhlIHRpbWVyIHBpbiwgcG9zc2libHkgd2l0aCB0aGUgODI1OUEtbWFzdGVyIGJlaGluZC4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX0V4dElOVF9JUlEwX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbiwgaW50IHZlY3RvcikKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF90aW1lcl9JUlEwX3Bpbih1bnNpZ25lZCBpbnQgYXBpYywgdW5zaWduZWQgaW50IHBpbiwKKwkJCQkJaW50IHZlY3RvcikKIHsKIAlzdHJ1Y3QgSU9fQVBJQ19yb3V0ZV9lbnRyeSBlbnRyeTsKIAogCW1lbXNldCgmZW50cnksIDAsIHNpemVvZihlbnRyeSkpOwogCi0JZGlzYWJsZV84MjU5QV9pcnEoMCk7Ci0KLQkvKiBtYXNrIExWVDAgKi8KLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19MVlRfTUFTS0VEIHwgQVBJQ19ETV9FWFRJTlQpOwotCiAJLyoKIAkgKiBXZSB1c2UgbG9naWNhbCBkZWxpdmVyeSB0byBnZXQgdGhlIHRpbWVyIElSUQogCSAqIHRvIHRoZSBmaXJzdCBDUFUuCiAJICovCiAJZW50cnkuZGVzdF9tb2RlID0gSU5UX0RFU1RfTU9ERTsKLQllbnRyeS5tYXNrID0gMDsJCQkJCS8qIHVubWFzayBJUlEgbm93ICovCisJZW50cnkubWFzayA9IDE7CQkJCQkvKiBtYXNrIElSUSBub3cgKi8KIAllbnRyeS5kZXN0ID0gY3B1X21hc2tfdG9fYXBpY2lkKFRBUkdFVF9DUFVTKTsKIAllbnRyeS5kZWxpdmVyeV9tb2RlID0gSU5UX0RFTElWRVJZX01PREU7CiAJZW50cnkucG9sYXJpdHkgPSAwOwpAQCAtOTM5LDcgKzk1NCw3IEBACiAKIAkvKgogCSAqIFRoZSB0aW1lciBJUlEgZG9lc24ndCBoYXZlIHRvIGtub3cgdGhhdCBiZWhpbmQgdGhlCi0JICogc2NlbmUgd2UgaGF2ZSBhIDgyNTlBLW1hc3RlciBpbiBBRU9JIG1vZGUgLi4uCisJICogc2NlbmUgd2UgbWF5IGhhdmUgYSA4MjU5QS1tYXN0ZXIgaW4gQUVPSSBtb2RlIC4uLgogCSAqLwogCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKDAsICZpb2FwaWNfY2hpcCwgaGFuZGxlX2VkZ2VfaXJxLCAiZWRnZSIpOwogCkBAIC05NDcsOCArOTYyLDYgQEAKIAkgKiBBZGQgaXQgdG8gdGhlIElPLUFQSUMgaXJxLXJvdXRpbmcgdGFibGU6CiAJICovCiAJaW9hcGljX3dyaXRlX2VudHJ5KGFwaWMsIHBpbiwgZW50cnkpOwotCi0JZW5hYmxlXzgyNTlBX2lycSgwKTsKIH0KIAogdm9pZCBfX2FwaWNkZWJ1Z2luaXQgcHJpbnRfSU9fQVBJQyh2b2lkKQpAQCAtOTY1LDcgKzk3OCw3IEBACiAJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBNUCBJUlEgc291cmNlczogJWQuXG4iLCBtcF9pcnFfZW50cmllcyk7CiAJZm9yIChpID0gMDsgaSA8IG5yX2lvYXBpY3M7IGkrKykKIAkJcHJpbnRrKEtFUk5fREVCVUcgIm51bWJlciBvZiBJTy1BUElDICMlZCByZWdpc3RlcnM6ICVkLlxuIiwKLQkJICAgICAgIG1wX2lvYXBpY3NbaV0ubXBjX2FwaWNpZCwgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSk7CisJCSAgICAgICBtcF9pb2FwaWNzW2ldLm1wX2FwaWNpZCwgbnJfaW9hcGljX3JlZ2lzdGVyc1tpXSk7CiAKIAkvKgogCSAqIFdlIGFyZSBhIGJpdCBjb25zZXJ2YXRpdmUgYWJvdXQgd2hhdCB3ZSBleHBlY3QuICBXZSBoYXZlIHRvCkBAIC05ODMsNyArOTk2LDcgQEAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb2FwaWNfbG9jaywgZmxhZ3MpOwogCiAJcHJpbnRrKCJcbiIpOwotCXByaW50ayhLRVJOX0RFQlVHICJJTyBBUElDICMlZC4uLi4uLlxuIiwgbXBfaW9hcGljc1thcGljXS5tcGNfYXBpY2lkKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiSU8gQVBJQyAjJWQuLi4uLi5cbiIsIG1wX2lvYXBpY3NbYXBpY10ubXBfYXBpY2lkKTsKIAlwcmludGsoS0VSTl9ERUJVRyAiLi4uLiByZWdpc3RlciAjMDA6ICUwOFhcbiIsIHJlZ18wMC5yYXcpOwogCXByaW50ayhLRVJOX0RFQlVHICIuLi4uLi4uICAgIDogcGh5c2ljYWwgQVBJQyBpZDogJTAyWFxuIiwgcmVnXzAwLmJpdHMuSUQpOwogCkBAIC0xMDc3LDYgKzEwOTAsNyBAQAogCiAJcHJpbnRrKCJcbiIgS0VSTl9ERUJVRyAicHJpbnRpbmcgbG9jYWwgQVBJQyBjb250ZW50cyBvbiBDUFUjJWQvJWQ6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIGhhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwl2ID0gYXBpY19yZWFkKEFQSUNfSUQpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIElEOiAgICAgICUwOHggKCUwMXgpXG4iLCB2LCBHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSkpOwogCXYgPSBhcGljX3JlYWQoQVBJQ19MVlIpOwogCXByaW50ayhLRVJOX0lORk8gIi4uLiBBUElDIFZFUlNJT046ICUwOHhcbiIsIHYpOwpAQCAtMTE0Niw3ICsxMTYwLDcgQEAKIAogdm9pZCBwcmludF9hbGxfbG9jYWxfQVBJQ3MgKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSwgMSk7CisJb25fZWFjaF9jcHUocHJpbnRfbG9jYWxfQVBJQywgTlVMTCwgMSk7CiB9CiAKIHZvaWQgX19hcGljZGVidWdpbml0IHByaW50X1BJQyh2b2lkKQpAQCAtMTU0MCw3ICsxNTU0LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGVuYWJsZV9sYXBpY19pcnEgKHVuc2lnbmVkIGludCBpcnEpCitzdGF0aWMgdm9pZCB1bm1hc2tfbGFwaWNfaXJxKHVuc2lnbmVkIGludCBpcnEpCiB7CiAJdW5zaWduZWQgbG9uZyB2OwogCkBAIC0xNTQ4LDcgKzE1NjIsNyBAQAogCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCB2ICYgfkFQSUNfTFZUX01BU0tFRCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRpc2FibGVfbGFwaWNfaXJxICh1bnNpZ25lZCBpbnQgaXJxKQorc3RhdGljIHZvaWQgbWFza19sYXBpY19pcnEodW5zaWduZWQgaW50IGlycSkKIHsKIAl1bnNpZ25lZCBsb25nIHY7CiAKQEAgLTE1NjEsMTkgKzE1NzUsMjAgQEAKIAlhY2tfQVBJQ19pcnEoKTsKIH0KIAotc3RhdGljIHZvaWQgZW5kX2xhcGljX2lycSAodW5zaWduZWQgaW50IGkpIHsgLyogbm90aGluZyAqLyB9Ci0KLXN0YXRpYyBzdHJ1Y3QgaHdfaW50ZXJydXB0X3R5cGUgbGFwaWNfaXJxX3R5cGUgX19yZWFkX21vc3RseSA9IHsKLQkubmFtZSA9ICJsb2NhbC1BUElDIiwKLQkudHlwZW5hbWUgPSAibG9jYWwtQVBJQy1lZGdlIiwKLQkuc3RhcnR1cCA9IE5VTEwsIC8qIHN0YXJ0dXBfaXJxKCkgbm90IHVzZWQgZm9yIElSUTAgKi8KLQkuc2h1dGRvd24gPSBOVUxMLCAvKiBzaHV0ZG93bl9pcnEoKSBub3QgdXNlZCBmb3IgSVJRMCAqLwotCS5lbmFibGUgPSBlbmFibGVfbGFwaWNfaXJxLAotCS5kaXNhYmxlID0gZGlzYWJsZV9sYXBpY19pcnEsCi0JLmFjayA9IGFja19sYXBpY19pcnEsCi0JLmVuZCA9IGVuZF9sYXBpY19pcnEsCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGxhcGljX2NoaXAgX19yZWFkX21vc3RseSA9IHsKKwkubmFtZQkJPSAibG9jYWwtQVBJQyIsCisJLm1hc2sJCT0gbWFza19sYXBpY19pcnEsCisJLnVubWFzawkJPSB1bm1hc2tfbGFwaWNfaXJxLAorCS5hY2sJCT0gYWNrX2xhcGljX2lycSwKIH07CiAKK3N0YXRpYyB2b2lkIGxhcGljX3JlZ2lzdGVyX2ludHIoaW50IGlycSkKK3sKKwlpcnFfZGVzY1tpcnFdLnN0YXR1cyAmPSB+SVJRX0xFVkVMOworCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGlycSwgJmxhcGljX2NoaXAsIGhhbmRsZV9lZGdlX2lycSwKKwkJCQkgICAgICAiZWRnZSIpOworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgc2V0dXBfbm1pKHZvaWQpCiB7CiAJLyoKQEAgLTE2NTksNiArMTY3NCw3IEBACiAJc3RydWN0IGlycV9jZmcgKmNmZyA9IGlycV9jZmcgKyAwOwogCWludCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjI7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgbm9fcGluMSA9IDA7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAKQEAgLTE2NjksMTYgKzE2ODUsMTEgQEAKIAlhc3NpZ25faXJxX3ZlY3RvcigwLCBUQVJHRVRfQ1BVUyk7CiAKIAkvKgotCSAqIFN1YnRsZSwgY29kZSBpbiBkb190aW1lcl9pbnRlcnJ1cHQoKSBleHBlY3RzIGFuIEFFT0kKLQkgKiBtb2RlIGZvciB0aGUgODI1OUEgd2hlbmV2ZXIgaW50ZXJydXB0cyBhcmUgcm91dGVkCi0JICogdGhyb3VnaCBJL08gQVBJQ3MuICBBbHNvIElSUTAgaGFzIHRvIGJlIGVuYWJsZWQgaW4KLQkgKiB0aGUgODI1OUEgd2hpY2ggaW1wbGllcyB0aGUgdmlydHVhbCB3aXJlIGhhcyB0byBiZQotCSAqIGRpc2FibGVkIGluIHRoZSBsb2NhbCBBUElDLgorCSAqIEFzIElSUTAgaXMgdG8gYmUgZW5hYmxlZCBpbiB0aGUgODI1OUEsIHRoZSB2aXJ0dWFsCisJICogd2lyZSBoYXMgdG8gYmUgZGlzYWJsZWQgaW4gdGhlIGxvY2FsIEFQSUMuCiAJICovCiAJYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRVhUSU5UKTsKIAlpbml0XzgyNTlBKDEpOwotCWlmICh0aW1lcl9vdmVyXzgyNTQgPiAwKQotCQllbmFibGVfODI1OUFfaXJxKDApOwogCiAJcGluMSAgPSBmaW5kX2lzYV9pcnFfcGluKDAsIG1wX0lOVCk7CiAJYXBpYzEgPSBmaW5kX2lzYV9pcnFfYXBpYygwLCBtcF9JTlQpOwpAQCAtMTY4OCwxNSArMTY5OSwzMyBAQAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSxLRVJOX0lORk8gIi4uVElNRVI6IHZlY3Rvcj0weCUwMlggYXBpYzE9JWQgcGluMT0lZCBhcGljMj0lZCBwaW4yPSVkXG4iLAogCQljZmctPnZlY3RvciwgYXBpYzEsIHBpbjEsIGFwaWMyLCBwaW4yKTsKIAorCS8qCisJICogU29tZSBCSU9TIHdyaXRlcnMgYXJlIGNsdWVsZXNzIGFuZCByZXBvcnQgdGhlIEV4dElOVEEKKwkgKiBJL08gQVBJQyBpbnB1dCBmcm9tIHRoZSBjYXNjYWRlZCA4MjU5QSBhcyB0aGUgdGltZXIKKwkgKiBpbnRlcnJ1cHQgaW5wdXQuICBTbyBqdXN0IGluIGNhc2UsIGlmIG9ubHkgb25lIHBpbgorCSAqIHdhcyBmb3VuZCBhYm92ZSwgdHJ5IGl0IGJvdGggZGlyZWN0bHkgYW5kIHRocm91Z2ggdGhlCisJICogODI1OUEuCisJICovCisJaWYgKHBpbjEgPT0gLTEpIHsKKwkJcGluMSA9IHBpbjI7CisJCWFwaWMxID0gYXBpYzI7CisJCW5vX3BpbjEgPSAxOworCX0gZWxzZSBpZiAocGluMiA9PSAtMSkgeworCQlwaW4yID0gcGluMTsKKwkJYXBpYzIgPSBhcGljMTsKKwl9CisKIAlpZiAocGluMSAhPSAtMSkgewogCQkvKgogCQkgKiBPaywgZG9lcyBJUlEwIHRocm91Z2ggdGhlIElPQVBJQyB3b3JrPwogCQkgKi8KKwkJaWYgKG5vX3BpbjEpIHsKKwkJCWFkZF9waW5fdG9faXJxKDAsIGFwaWMxLCBwaW4xKTsKKwkJCXNldHVwX3RpbWVyX0lSUTBfcGluKGFwaWMxLCBwaW4xLCBjZmctPnZlY3Rvcik7CisJCX0KIAkJdW5tYXNrX0lPX0FQSUNfaXJxKDApOwogCQlpZiAoIW5vX3RpbWVyX2NoZWNrICYmIHRpbWVyX2lycV93b3JrcygpKSB7Ci0JCQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgewotCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOwogCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CkBAIC0xNzA1LDQzICsxNzM0LDQ4IEBACiAJCQlnb3RvIG91dDsKIAkJfQogCQljbGVhcl9JT19BUElDX3BpbihhcGljMSwgcGluMSk7Ci0JCWFwaWNfcHJpbnRrKEFQSUNfUVVJRVQsS0VSTl9FUlIgIi4uTVAtQklPUyBidWc6IDgyNTQgdGltZXIgbm90ICIKLQkJCQkiY29ubmVjdGVkIHRvIElPLUFQSUNcbiIpOwotCX0KKwkJaWYgKCFub19waW4xKQorCQkJYXBpY19wcmludGsoQVBJQ19RVUlFVCxLRVJOX0VSUiAiLi5NUC1CSU9TIGJ1ZzogIgorCQkJCSAgICAiODI1NCB0aW1lciBub3QgY29ubmVjdGVkIHRvIElPLUFQSUNcbiIpOwogCi0JYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciAoSVJRMCkgIgotCQkJCSJ0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7Ci0JaWYgKHBpbjIgIT0gLTEpIHsKKwkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLEtFUk5fSU5GTworCQkJIi4uLnRyeWluZyB0byBzZXQgdXAgdGltZXIgKElSUTApICIKKwkJCSJ0aHJvdWdoIHRoZSA4MjU5QSAuLi4gIik7CiAJCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwiXG4uLi4uLiAoZm91bmQgYXBpYyAlZCBwaW4gJWQpIC4uLiIsCiAJCQlhcGljMiwgcGluMik7CiAJCS8qCiAJCSAqIGxlZ2FjeSBkZXZpY2VzIHNob3VsZCBiZSBjb25uZWN0ZWQgdG8gSU8gQVBJQyAjMAogCQkgKi8KLQkJc2V0dXBfRXh0SU5UX0lSUTBfcGluKGFwaWMyLCBwaW4yLCBjZmctPnZlY3Rvcik7CisJCXJlcGxhY2VfcGluX2F0X2lycSgwLCBhcGljMSwgcGluMSwgYXBpYzIsIHBpbjIpOworCQlzZXR1cF90aW1lcl9JUlEwX3BpbihhcGljMiwgcGluMiwgY2ZnLT52ZWN0b3IpOworCQl1bm1hc2tfSU9fQVBJQ19pcnEoMCk7CisJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCWlmICh0aW1lcl9pcnFfd29ya3MoKSkgewogCQkJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgd29ya3MuXG4iKTsKLQkJCW5taV93YXRjaGRvZ19kZWZhdWx0KCk7CisJCQl0aW1lcl90aHJvdWdoXzgyNTkgPSAxOwogCQkJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykgeworCQkJCWRpc2FibGVfODI1OUFfaXJxKDApOwogCQkJCXNldHVwX25taSgpOworCQkJCWVuYWJsZV84MjU5QV9pcnEoMCk7CiAJCQl9CiAJCQlnb3RvIG91dDsKIAkJfQogCQkvKgogCQkgKiBDbGVhbnVwLCBqdXN0IGluIGNhc2UgLi4uCiAJCSAqLworCQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKIAkJY2xlYXJfSU9fQVBJQ19waW4oYXBpYzIsIHBpbjIpOworCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiBmYWlsZWQuXG4iKTsKIAl9Ci0JYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgZmFpbGVkLlxuIik7CiAKIAlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgInRpbWVyIGRvZXNuJ3Qgd29yayB0aHJvdWdoIHRoZSBJTy1BUElDIC0gZGlzYWJsaW5nIE5NSSBXYXRjaGRvZyFcbiIpOwotCQlubWlfd2F0Y2hkb2cgPSAwOworCQlubWlfd2F0Y2hkb2cgPSBOTUlfTk9ORTsKIAl9CiAKIAlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIEtFUk5fSU5GTyAiLi4udHJ5aW5nIHRvIHNldCB1cCB0aW1lciBhcyBWaXJ0dWFsIFdpcmUgSVJRLi4uIik7CiAKLQlkaXNhYmxlXzgyNTlBX2lycSgwKTsKLQlpcnFfZGVzY1swXS5jaGlwID0gJmxhcGljX2lycV90eXBlOworCWxhcGljX3JlZ2lzdGVyX2ludHIoMCk7CiAJYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfRE1fRklYRUQgfCBjZmctPnZlY3Rvcik7CS8qIEZpeGVkIG1vZGUgKi8KIAllbmFibGVfODI1OUFfaXJxKDApOwogCkBAIC0xNzQ5LDYgKzE3ODMsNyBAQAogCQlhcGljX3ByaW50ayhBUElDX1ZFUkJPU0UsIiB3b3Jrcy5cbiIpOwogCQlnb3RvIG91dDsKIAl9CisJZGlzYWJsZV84MjU5QV9pcnEoMCk7CiAJYXBpY193cml0ZShBUElDX0xWVDAsIEFQSUNfTFZUX01BU0tFRCB8IEFQSUNfRE1fRklYRUQgfCBjZmctPnZlY3Rvcik7CiAJYXBpY19wcmludGsoQVBJQ19WRVJCT1NFLCIgZmFpbGVkLlxuIik7CiAKQEAgLTE3NzgsMTEgKzE4MTMsMjEgQEAKIF9fc2V0dXAoIm5vX3RpbWVyX2NoZWNrIiwgbm90aW1lcmNoZWNrKTsKIAogLyoKLSAqCi0gKiBJUlFzIHRoYXQgYXJlIGhhbmRsZWQgYnkgdGhlIFBJQyBpbiB0aGUgTVBTIElPQVBJQyBjYXNlLgotICogLSBJUlEyIGlzIHRoZSBjYXNjYWRlIElSUSwgYW5kIGNhbm5vdCBiZSBhIGlvLWFwaWMgSVJRLgotICogICBMaW51eCBkb2Vzbid0IHJlYWxseSBjYXJlLCBhcyBpdCdzIG5vdCBhY3R1YWxseSB1c2VkCi0gKiAgIGZvciBhbnkgaW50ZXJydXB0IGhhbmRsaW5nIGFueXdheS4KKyAqIFRyYWRpdGlvbmFsbHkgSVNBIElSUTIgaXMgdGhlIGNhc2NhZGUgSVJRLCBhbmQgaXMgbm90IGF2YWlsYWJsZQorICogdG8gZGV2aWNlcy4gIEhvd2V2ZXIgdGhlcmUgbWF5IGJlIGFuIEkvTyBBUElDIHBpbiBhdmFpbGFibGUgZm9yCisgKiB0aGlzIGludGVycnVwdCByZWdhcmRsZXNzLiAgVGhlIHBpbiBtYXkgYmUgbGVmdCB1bmNvbm5lY3RlZCwgYnV0CisgKiB0eXBpY2FsbHkgaXQgd2lsbCBiZSByZXVzZWQgYXMgYW4gRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IGZvcgorICogdGhlIG1hc3RlciA4MjU5QS4gIEluIHRoZSBNUFMgY2FzZSBzdWNoIGEgcGluIHdpbGwgbm9ybWFsbHkgYmUKKyAqIHJlcG9ydGVkIGFzIGFuIEV4dElOVCBpbnRlcnJ1cHQgaW4gdGhlIE1QIHRhYmxlLiAgV2l0aCBBQ1BJCisgKiB0aGVyZSBpcyBubyBwcm92aXNpb24gZm9yIEV4dElOVCBpbnRlcnJ1cHRzLCBhbmQgaW4gdGhlIGFic2VuY2UKKyAqIG9mIGFuIG92ZXJyaWRlIGl0IHdvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gb3JkaW5hcnkgSVNBIEkvTyBBUElDCisgKiBpbnRlcnJ1cHQsIHRoYXQgaXMgZWRnZS10cmlnZ2VyZWQgYW5kIHVubWFza2VkIGJ5IGRlZmF1bHQuICBXZQorICogdXNlZCB0byBkbyB0aGlzLCBidXQgaXQgY2F1c2VkIHByb2JsZW1zIG9uIHNvbWUgc3lzdGVtcyBiZWNhdXNlCisgKiBvZiB0aGUgTk1JIHdhdGNoZG9nIGFuZCBzb21ldGltZXMgSVJRMCBvZiB0aGUgODI1NCB0aW1lciB1c2luZworICogdGhlIHNhbWUgRXh0SU5UIGNhc2NhZGUgaW50ZXJydXB0IHRvIGRyaXZlIHRoZSBsb2NhbCBBUElDIG9mIHRoZQorICogYm9vdHN0cmFwIHByb2Nlc3Nvci4gIFRoZXJlZm9yZSB3ZSByZWZyYWluIGZyb20gcm91dGluZyBJUlEyIHRvCisgKiB0aGUgSS9PIEFQSUMgaW4gYWxsIGNhc2VzIG5vdy4gIE5vIGFjdHVhbCBkZXZpY2Ugc2hvdWxkIHJlcXVlc3QKKyAqIGl0IGFueXdheS4gIC0tbWFjcm8KICAqLwogI2RlZmluZSBQSUNfSVJRUwkoMTw8MikKIApAQCAtMTc5MywxMCArMTgzOCw3IEBACiAJICogY2FsbGluZyBlbmFibGVfSU9fQVBJQygpIGlzIG1vdmVkIHRvIHNldHVwX2xvY2FsX0FQSUMgZm9yIEJQCiAJICovCiAKLQlpZiAoYWNwaV9pb2FwaWMpCi0JCWlvX2FwaWNfaXJxcyA9IH4wOwkvKiBhbGwgSVJRcyBnbyB0aHJvdWdoIElPQVBJQyAqLwotCWVsc2UKLQkJaW9fYXBpY19pcnFzID0gflBJQ19JUlFTOworCWlvX2FwaWNfaXJxcyA9IH5QSUNfSVJRUzsKIAogCWFwaWNfcHJpbnRrKEFQSUNfVkVSQk9TRSwgIkVOQUJMSU5HIElPLUFQSUMgSVJRc1xuIik7CiAKQEAgLTE4NDEsOCArMTg4Myw4IEBACiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmaW9hcGljX2xvY2ssIGZsYWdzKTsKIAlyZWdfMDAucmF3ID0gaW9fYXBpY19yZWFkKGRldi0+aWQsIDApOwotCWlmIChyZWdfMDAuYml0cy5JRCAhPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wY19hcGljaWQpIHsKLQkJcmVnXzAwLmJpdHMuSUQgPSBtcF9pb2FwaWNzW2Rldi0+aWRdLm1wY19hcGljaWQ7CisJaWYgKHJlZ18wMC5iaXRzLklEICE9IG1wX2lvYXBpY3NbZGV2LT5pZF0ubXBfYXBpY2lkKSB7CisJCXJlZ18wMC5iaXRzLklEID0gbXBfaW9hcGljc1tkZXYtPmlkXS5tcF9hcGljaWQ7CiAJCWlvX2FwaWNfd3JpdGUoZGV2LT5pZCwgMCwgcmVnXzAwLnJhdyk7CiAJfQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmlvYXBpY19sb2NrLCBmbGFncyk7CkBAIC0yMjQyLDggKzIyODQsOCBAQAogCQlyZXR1cm4gLTE7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbXBfaXJxX2VudHJpZXM7IGkrKykKLQkJaWYgKG1wX2lycXNbaV0ubXBjX2lycXR5cGUgPT0gbXBfSU5UICYmCi0JCSAgICBtcF9pcnFzW2ldLm1wY19zcmNidXNpcnEgPT0gYnVzX2lycSkKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSA9PSBtcF9JTlQgJiYKKwkJICAgIG1wX2lycXNbaV0ubXBfc3JjYnVzaXJxID09IGJ1c19pcnEpCiAJCQlicmVhazsKIAlpZiAoaSA+PSBtcF9pcnFfZW50cmllcykKIAkJcmV0dXJuIC0xOwpAQCAtMjMzNiw3ICsyMzc4LDcgQEAKIAlpb2FwaWNfcmVzID0gaW9hcGljX3NldHVwX3Jlc291cmNlcygpOwogCWZvciAoaSA9IDA7IGkgPCBucl9pb2FwaWNzOyBpKyspIHsKIAkJaWYgKHNtcF9mb3VuZF9jb25maWcpIHsKLQkJCWlvYXBpY19waHlzID0gbXBfaW9hcGljc1tpXS5tcGNfYXBpY2FkZHI7CisJCQlpb2FwaWNfcGh5cyA9IG1wX2lvYXBpY3NbaV0ubXBfYXBpY2FkZHI7CiAJCX0gZWxzZSB7CiAJCQlpb2FwaWNfcGh5cyA9ICh1bnNpZ25lZCBsb25nKQogCQkJCWFsbG9jX2Jvb3RtZW1fcGFnZXMoUEFHRV9TSVpFKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcGkuYyBiL2FyY2gveDg2L2tlcm5lbC9pcGkuYwppbmRleCBjMGRmN2I4Li45ZDk4Y2RhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXBpLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lwaS5jCkBAIC04LDcgKzgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KICNpbmNsdWRlIDxsaW51eC9jYWNoZS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxXzMyLmMKaW5kZXggMTQ3MzUyZC4uNDdhNmY2ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2lycV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfMzIuYwpAQCAtNDgsNiArNDgsMjkgQEAKICNlbmRpZgogfQogCisjaWZkZWYgQ09ORklHX0RFQlVHX1NUQUNLT1ZFUkZMT1cKKy8qIERlYnVnZ2luZyBjaGVjayBmb3Igc3RhY2sgb3ZlcmZsb3c6IGlzIHRoZXJlIGxlc3MgdGhhbiAxS0IgZnJlZT8gKi8KK3N0YXRpYyBpbnQgY2hlY2tfc3RhY2tfb3ZlcmZsb3codm9pZCkKK3sKKwlsb25nIHNwOworCisJX19hc21fXyBfX3ZvbGF0aWxlX18oImFuZGwgJSVlc3AsJTAiIDoKKwkJCSAgICAgIj1yIiAoc3ApIDogIjAiIChUSFJFQURfU0laRSAtIDEpKTsKKworCXJldHVybiBzcCA8IChzaXplb2Yoc3RydWN0IHRocmVhZF9pbmZvKSArIFNUQUNLX1dBUk4pOworfQorCitzdGF0aWMgdm9pZCBwcmludF9zdGFja19vdmVyZmxvdyh2b2lkKQoreworCXByaW50ayhLRVJOX1dBUk5JTkcgImxvdyBzdGFjayBkZXRlY3RlZCBieSBpcnEgaGFuZGxlclxuIik7CisJZHVtcF9zdGFjaygpOworfQorCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgY2hlY2tfc3RhY2tfb3ZlcmZsb3codm9pZCkgeyByZXR1cm4gMDsgfQorc3RhdGljIGlubGluZSB2b2lkIHByaW50X3N0YWNrX292ZXJmbG93KHZvaWQpIHsgfQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfNEtTVEFDS1MKIC8qCiAgKiBwZXItQ1BVIElSUSBoYW5kbGluZyBjb250ZXh0cyAodGhyZWFkIGluZm9ybWF0aW9uIGFuZCBzdGFjaykKQEAgLTU5LDQ4ICs4MiwyOSBAQAogCiBzdGF0aWMgdW5pb24gaXJxX2N0eCAqaGFyZGlycV9jdHhbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKIHN0YXRpYyB1bmlvbiBpcnFfY3R4ICpzb2Z0aXJxX2N0eFtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OwotI2VuZGlmCiAKLS8qCi0gKiBkb19JUlEgaGFuZGxlcyBhbGwgbm9ybWFsIGRldmljZSBJUlEncyAodGhlIHNwZWNpYWwKLSAqIFNNUCBjcm9zcy1DUFUgaW50ZXJydXB0cyBoYXZlIHRoZWlyIG93biBzcGVjaWZpYwotICogaGFuZGxlcnMpLgotICovCi11bnNpZ25lZCBpbnQgZG9fSVJRKHN0cnVjdCBwdF9yZWdzICpyZWdzKQotewkKLQlzdHJ1Y3QgcHRfcmVncyAqb2xkX3JlZ3M7Ci0JLyogaGlnaCBiaXQgdXNlZCBpbiByZXRfZnJvbV8gY29kZSAqLwotCWludCBpcnEgPSB+cmVncy0+b3JpZ19heDsKLQlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2MgPSBpcnFfZGVzYyArIGlycTsKLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKK3N0YXRpYyBjaGFyIHNvZnRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQorCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgY2hhciBoYXJkaXJxX3N0YWNrW05SX0NQVVMgKiBUSFJFQURfU0laRV0KKwkJX19hdHRyaWJ1dGVfXygoX19zZWN0aW9uX18oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIHZvaWQgY2FsbF9vbl9zdGFjayh2b2lkICpmdW5jLCB2b2lkICpzdGFjaykKK3sKKwlhc20gdm9sYXRpbGUoInhjaGdsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgICJjYWxsCSolJWVkaQkJXG4iCisJCSAgICAgIm1vdmwJJSVlYngsJSVlc3AJXG4iCisJCSAgICAgOiAiPWIiIChzdGFjaykKKwkJICAgICA6ICIwIiAoc3RhY2spLAorCQkgICAgICAgIkQiKGZ1bmMpCisJCSAgICAgOiAibWVtb3J5IiwgImNjIiwgImVkeCIsICJlY3giLCAiZWF4Iik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50CitleGVjdXRlX29uX2lycV9zdGFjayhpbnQgb3ZlcmZsb3csIHN0cnVjdCBpcnFfZGVzYyAqZGVzYywgaW50IGlycSkKK3sKIAl1bmlvbiBpcnFfY3R4ICpjdXJjdHgsICppcnFjdHg7Ci0JdTMyICppc3A7Ci0jZW5kaWYKLQotCWlmICh1bmxpa2VseSgodW5zaWduZWQpaXJxID49IE5SX0lSUVMpKSB7Ci0JCXByaW50ayhLRVJOX0VNRVJHICIlczogY2Fubm90IGhhbmRsZSBJUlEgJWRcbiIsCi0JCQkJCV9fZnVuY19fLCBpcnEpOwotCQlCVUcoKTsKLQl9Ci0KLQlvbGRfcmVncyA9IHNldF9pcnFfcmVncyhyZWdzKTsKLQlpcnFfZW50ZXIoKTsKLSNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tPVkVSRkxPVwotCS8qIERlYnVnZ2luZyBjaGVjayBmb3Igc3RhY2sgb3ZlcmZsb3c6IGlzIHRoZXJlIGxlc3MgdGhhbiAxS0IgZnJlZT8gKi8KLQl7Ci0JCWxvbmcgc3A7Ci0KLQkJX19hc21fXyBfX3ZvbGF0aWxlX18oImFuZGwgJSVlc3AsJTAiIDoKLQkJCQkJIj1yIiAoc3ApIDogIjAiIChUSFJFQURfU0laRSAtIDEpKTsKLQkJaWYgKHVubGlrZWx5KHNwIDwgKHNpemVvZihzdHJ1Y3QgdGhyZWFkX2luZm8pICsgU1RBQ0tfV0FSTikpKSB7Ci0JCQlwcmludGsoImRvX0lSUTogc3RhY2sgb3ZlcmZsb3c6ICVsZFxuIiwKLQkJCQlzcCAtIHNpemVvZihzdHJ1Y3QgdGhyZWFkX2luZm8pKTsKLQkJCWR1bXBfc3RhY2soKTsKLQkJfQotCX0KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCisJdTMyICppc3AsIGFyZzEsIGFyZzI7CiAKIAljdXJjdHggPSAodW5pb24gaXJxX2N0eCAqKSBjdXJyZW50X3RocmVhZF9pbmZvKCk7CiAJaXJxY3R4ID0gaGFyZGlycV9jdHhbc21wX3Byb2Nlc3Nvcl9pZCgpXTsKQEAgLTExMSw1MiArMTE1LDM5IEBACiAJICogaGFuZGxlcikgd2UgY2FuJ3QgZG8gdGhhdCBhbmQganVzdCBoYXZlIHRvIGtlZXAgdXNpbmcgdGhlCiAJICogY3VycmVudCBzdGFjayAod2hpY2ggaXMgdGhlIGlycSBzdGFjayBhbHJlYWR5IGFmdGVyIGFsbCkKIAkgKi8KLQlpZiAoY3VyY3R4ICE9IGlycWN0eCkgewotCQlpbnQgYXJnMSwgYXJnMiwgYng7CisJaWYgKHVubGlrZWx5KGN1cmN0eCA9PSBpcnFjdHgpKQorCQlyZXR1cm4gMDsKIAotCQkvKiBidWlsZCB0aGUgc3RhY2sgZnJhbWUgb24gdGhlIElSUSBzdGFjayAqLwotCQlpc3AgPSAodTMyKikgKChjaGFyKilpcnFjdHggKyBzaXplb2YoKmlycWN0eCkpOwotCQlpcnFjdHgtPnRpbmZvLnRhc2sgPSBjdXJjdHgtPnRpbmZvLnRhc2s7Ci0JCWlycWN0eC0+dGluZm8ucHJldmlvdXNfZXNwID0gY3VycmVudF9zdGFja19wb2ludGVyOworCS8qIGJ1aWxkIHRoZSBzdGFjayBmcmFtZSBvbiB0aGUgSVJRIHN0YWNrICovCisJaXNwID0gKHUzMiAqKSAoKGNoYXIqKWlycWN0eCArIHNpemVvZigqaXJxY3R4KSk7CisJaXJxY3R4LT50aW5mby50YXNrID0gY3VyY3R4LT50aW5mby50YXNrOworCWlycWN0eC0+dGluZm8ucHJldmlvdXNfZXNwID0gY3VycmVudF9zdGFja19wb2ludGVyOwogCi0JCS8qCi0JCSAqIENvcHkgdGhlIHNvZnRpcnEgYml0cyBpbiBwcmVlbXB0X2NvdW50IHNvIHRoYXQgdGhlCi0JCSAqIHNvZnRpcnEgY2hlY2tzIHdvcmsgaW4gdGhlIGhhcmRpcnEgY29udGV4dC4KLQkJICovCi0JCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCA9Ci0JCQkoaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgflNPRlRJUlFfTUFTSykgfAotCQkJKGN1cmN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAmIFNPRlRJUlFfTUFTSyk7CisJLyoKKwkgKiBDb3B5IHRoZSBzb2Z0aXJxIGJpdHMgaW4gcHJlZW1wdF9jb3VudCBzbyB0aGF0IHRoZQorCSAqIHNvZnRpcnEgY2hlY2tzIHdvcmsgaW4gdGhlIGhhcmRpcnEgY29udGV4dC4KKwkgKi8KKwlpcnFjdHgtPnRpbmZvLnByZWVtcHRfY291bnQgPQorCQkoaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgflNPRlRJUlFfTUFTSykgfAorCQkoY3VyY3R4LT50aW5mby5wcmVlbXB0X2NvdW50ICYgU09GVElSUV9NQVNLKTsKIAotCQlhc20gdm9sYXRpbGUoCi0JCQkiICAgICAgIHhjaGdsICAlJWVieCwlJWVzcCAgICBcbiIKLQkJCSIgICAgICAgY2FsbCAgIColJWVkaSAgICAgICAgIFxuIgotCQkJIiAgICAgICBtb3ZsICAgJSVlYngsJSVlc3AgICAgXG4iCi0JCQk6ICI9YSIgKGFyZzEpLCAiPWQiIChhcmcyKSwgIj1iIiAoYngpCi0JCQk6ICAiMCIgKGlycSksICAgIjEiIChkZXNjKSwgICIyIiAoaXNwKSwKLQkJCSAgICJEIiAoZGVzYy0+aGFuZGxlX2lycSkKLQkJCTogIm1lbW9yeSIsICJjYyIsICJlY3giCi0JCSk7Ci0JfSBlbHNlCi0jZW5kaWYKLQkJZGVzYy0+aGFuZGxlX2lycShpcnEsIGRlc2MpOworCWlmICh1bmxpa2VseShvdmVyZmxvdykpCisJCWNhbGxfb25fc3RhY2socHJpbnRfc3RhY2tfb3ZlcmZsb3csIGlzcCk7CiAKLQlpcnFfZXhpdCgpOwotCXNldF9pcnFfcmVncyhvbGRfcmVncyk7CisJYXNtIHZvbGF0aWxlKCJ4Y2hnbAklJWVieCwlJWVzcAlcbiIKKwkJICAgICAiY2FsbAkqJSVlZGkJCVxuIgorCQkgICAgICJtb3ZsCSUlZWJ4LCUlZXNwCVxuIgorCQkgICAgIDogIj1hIiAoYXJnMSksICI9ZCIgKGFyZzIpLCAiPWIiIChpc3ApCisJCSAgICAgOiAgIjAiIChpcnEpLCAgICIxIiAoZGVzYyksICAiMiIgKGlzcCksCisJCQkiRCIgKGRlc2MtPmhhbmRsZV9pcnEpCisJCSAgICAgOiAibWVtb3J5IiwgImNjIiwgImVjeCIpOwogCXJldHVybiAxOwogfQogCi0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCi0KLXN0YXRpYyBjaGFyIHNvZnRpcnFfc3RhY2tbTlJfQ1BVUyAqIFRIUkVBRF9TSVpFXQotCQlfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCi1zdGF0aWMgY2hhciBoYXJkaXJxX3N0YWNrW05SX0NQVVMgKiBUSFJFQURfU0laRV0KLQkJX19hdHRyaWJ1dGVfXygoX19zZWN0aW9uX18oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQogLyoKICAqIGFsbG9jYXRlIHBlci1jcHUgc3RhY2tzIGZvciBoYXJkaXJxIGFuZCBmb3Igc29mdGlycSBwcm9jZXNzaW5nCiAgKi8KLXZvaWQgaXJxX2N0eF9pbml0KGludCBjcHUpCit2b2lkIF9fY3B1aW5pdCBpcnFfY3R4X2luaXQoaW50IGNwdSkKIHsKIAl1bmlvbiBpcnFfY3R4ICppcnFjdHg7CiAKQEAgLTE2NCwyNSArMTU1LDI1IEBACiAJCXJldHVybjsKIAogCWlycWN0eCA9ICh1bmlvbiBpcnFfY3R4KikgJmhhcmRpcnFfc3RhY2tbY3B1KlRIUkVBRF9TSVpFXTsKLQlpcnFjdHgtPnRpbmZvLnRhc2sgICAgICAgICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmNwdSAgICAgICAgICAgICAgID0gY3B1OwotCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAgICAgPSBIQVJESVJRX09GRlNFVDsKLQlpcnFjdHgtPnRpbmZvLmFkZHJfbGltaXQgICAgICAgID0gTUFLRV9NTV9TRUcoMCk7CisJaXJxY3R4LT50aW5mby50YXNrCQk9IE5VTEw7CisJaXJxY3R4LT50aW5mby5leGVjX2RvbWFpbgk9IE5VTEw7CisJaXJxY3R4LT50aW5mby5jcHUJCT0gY3B1OworCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudAk9IEhBUkRJUlFfT0ZGU0VUOworCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdAk9IE1BS0VfTU1fU0VHKDApOwogCiAJaGFyZGlycV9jdHhbY3B1XSA9IGlycWN0eDsKIAogCWlycWN0eCA9ICh1bmlvbiBpcnFfY3R4KikgJnNvZnRpcnFfc3RhY2tbY3B1KlRIUkVBRF9TSVpFXTsKLQlpcnFjdHgtPnRpbmZvLnRhc2sgICAgICAgICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluICAgICAgID0gTlVMTDsKLQlpcnFjdHgtPnRpbmZvLmNwdSAgICAgICAgICAgICAgID0gY3B1OwotCWlycWN0eC0+dGluZm8ucHJlZW1wdF9jb3VudCAgICAgPSAwOwotCWlycWN0eC0+dGluZm8uYWRkcl9saW1pdCAgICAgICAgPSBNQUtFX01NX1NFRygwKTsKKwlpcnFjdHgtPnRpbmZvLnRhc2sJCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmV4ZWNfZG9tYWluCT0gTlVMTDsKKwlpcnFjdHgtPnRpbmZvLmNwdQkJPSBjcHU7CisJaXJxY3R4LT50aW5mby5wcmVlbXB0X2NvdW50CT0gMDsKKwlpcnFjdHgtPnRpbmZvLmFkZHJfbGltaXQJPSBNQUtFX01NX1NFRygwKTsKIAogCXNvZnRpcnFfY3R4W2NwdV0gPSBpcnFjdHg7CiAKLQlwcmludGsoIkNQVSAldSBpcnFzdGFja3MsIGhhcmQ9JXAgc29mdD0lcFxuIiwKLQkJY3B1LGhhcmRpcnFfY3R4W2NwdV0sc29mdGlycV9jdHhbY3B1XSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSAldSBpcnFzdGFja3MsIGhhcmQ9JXAgc29mdD0lcFxuIiwKKwkgICAgICAgY3B1LGhhcmRpcnFfY3R4W2NwdV0sc29mdGlycV9jdHhbY3B1XSk7CiB9CiAKIHZvaWQgaXJxX2N0eF9leGl0KGludCBjcHUpCkBAIC0yMTEsMjUgKzIwMiw1NiBAQAogCQkvKiBidWlsZCB0aGUgc3RhY2sgZnJhbWUgb24gdGhlIHNvZnRpcnEgc3RhY2sgKi8KIAkJaXNwID0gKHUzMiopICgoY2hhciopaXJxY3R4ICsgc2l6ZW9mKCppcnFjdHgpKTsKIAotCQlhc20gdm9sYXRpbGUoCi0JCQkiICAgICAgIHhjaGdsICAgJSVlYngsJSVlc3AgICAgIFxuIgotCQkJIiAgICAgICBjYWxsICAgIF9fZG9fc29mdGlycSAgICBcbiIKLQkJCSIgICAgICAgbW92bCAgICAlJWVieCwlJWVzcCAgICAgXG4iCi0JCQk6ICI9YiIoaXNwKQotCQkJOiAiMCIoaXNwKQotCQkJOiAibWVtb3J5IiwgImNjIiwgImVkeCIsICJlY3giLCAiZWF4IgotCQkpOworCQljYWxsX29uX3N0YWNrKF9fZG9fc29mdGlycSwgaXNwKTsKIAkJLyoKIAkJICogU2hvdWxkbnQgaGFwcGVuLCB3ZSByZXR1cm5lZCBhYm92ZSBpZiBpbl9pbnRlcnJ1cHQoKToKLQkgCSAqLworCQkgKi8KIAkJV0FSTl9PTl9PTkNFKHNvZnRpcnFfY291bnQoKSk7CiAJfQogCiAJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQorCisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK2V4ZWN1dGVfb25faXJxX3N0YWNrKGludCBvdmVyZmxvdywgc3RydWN0IGlycV9kZXNjICpkZXNjLCBpbnQgaXJxKSB7IHJldHVybiAwOyB9CiAjZW5kaWYKIAogLyoKKyAqIGRvX0lSUSBoYW5kbGVzIGFsbCBub3JtYWwgZGV2aWNlIElSUSdzICh0aGUgc3BlY2lhbAorICogU01QIGNyb3NzLUNQVSBpbnRlcnJ1cHRzIGhhdmUgdGhlaXIgb3duIHNwZWNpZmljCisgKiBoYW5kbGVycykuCisgKi8KK3Vuc2lnbmVkIGludCBkb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzOworCS8qIGhpZ2ggYml0IHVzZWQgaW4gcmV0X2Zyb21fIGNvZGUgKi8KKwlpbnQgb3ZlcmZsb3csIGlycSA9IH5yZWdzLT5vcmlnX2F4OworCXN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9IGlycV9kZXNjICsgaXJxOworCisJaWYgKHVubGlrZWx5KCh1bnNpZ25lZClpcnEgPj0gTlJfSVJRUykpIHsKKwkJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiBjYW5ub3QgaGFuZGxlIElSUSAlZFxuIiwKKwkJCQkJX19mdW5jX18sIGlycSk7CisJCUJVRygpOworCX0KKworCW9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOworCWlycV9lbnRlcigpOworCisJb3ZlcmZsb3cgPSBjaGVja19zdGFja19vdmVyZmxvdygpOworCisJaWYgKCFleGVjdXRlX29uX2lycV9zdGFjayhvdmVyZmxvdywgZGVzYywgaXJxKSkgeworCQlpZiAodW5saWtlbHkob3ZlcmZsb3cpKQorCQkJcHJpbnRfc3RhY2tfb3ZlcmZsb3coKTsKKwkJZGVzYy0+aGFuZGxlX2lycShpcnEsIGRlc2MpOworCX0KKworCWlycV9leGl0KCk7CisJc2V0X2lycV9yZWdzKG9sZF9yZWdzKTsKKwlyZXR1cm4gMTsKK30KKworLyoKICAqIEludGVycnVwdCBzdGF0aXN0aWNzOgogICovCiAKQEAgLTMxMywxNiArMzM1LDIwIEBACiAJCQkJcGVyX2NwdShpcnFfc3RhdCxqKS5pcnFfdGxiX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUTEIgc2hvb3Rkb3duc1xuIik7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQogCQlzZXFfcHJpbnRmKHAsICJUUk06ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsCiAJCQkJcGVyX2NwdShpcnFfc3RhdCxqKS5pcnFfdGhlcm1hbF9jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgVGhlcm1hbCBldmVudCBpbnRlcnJ1cHRzXG4iKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCQlzZXFfcHJpbnRmKHAsICJTUFU6ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsCiAJCQkJcGVyX2NwdShpcnFfc3RhdCxqKS5pcnFfc3B1cmlvdXNfY291bnQpOwogCQlzZXFfcHJpbnRmKHAsICIgIFNwdXJpb3VzIGludGVycnVwdHNcbiIpOworI2VuZGlmCiAJCXNlcV9wcmludGYocCwgIkVSUjogJTEwdVxuIiwgYXRvbWljX3JlYWQoJmlycV9lcnJfY291bnQpKTsKICNpZiBkZWZpbmVkKENPTkZJR19YODZfSU9fQVBJQykKIAkJc2VxX3ByaW50ZihwLCAiTUlTOiAlMTB1XG4iLCBhdG9taWNfcmVhZCgmaXJxX21pc19jb3VudCkpOwpAQCAtMzMxLDYgKzM1Nyw0MCBAQAogCXJldHVybiAwOwogfQogCisvKgorICogL3Byb2Mvc3RhdCBoZWxwZXJzCisgKi8KK3U2NCBhcmNoX2lycV9zdGF0X2NwdSh1bnNpZ25lZCBpbnQgY3B1KQoreworCXU2NCBzdW0gPSBubWlfY291bnQoY3B1KTsKKworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmFwaWNfdGltZXJfaXJxczsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19TTVAKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfcmVzY2hlZF9jb3VudDsKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfY2FsbF9jb3VudDsKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfdGxiX2NvdW50OworI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKKwlzdW0gKz0gcGVyX2NwdShpcnFfc3RhdCwgY3B1KS5pcnFfdGhlcm1hbF9jb3VudDsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCXN1bSArPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmlycV9zcHVyaW91c19jb3VudDsKKyNlbmRpZgorCXJldHVybiBzdW07Cit9CisKK3U2NCBhcmNoX2lycV9zdGF0KHZvaWQpCit7CisJdTY0IHN1bSA9IGF0b21pY19yZWFkKCZpcnFfZXJyX2NvdW50KTsKKworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCXN1bSArPSBhdG9taWNfcmVhZCgmaXJxX21pc19jb3VudCk7CisjZW5kaWYKKwlyZXR1cm4gc3VtOworfQorCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiAjaW5jbHVkZSA8bWFjaF9hcGljLmg+CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9pcnFfNjQuYwppbmRleCAzYWFjMTU0Li4xZjc4YjIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXJxXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2lycV82NC5jCkBAIC0xMzUsNiArMTM1LDcgQEAKIAkJCXNlcV9wcmludGYocCwgIiUxMHUgIiwgY3B1X3BkYShqKS0+aXJxX3RsYl9jb3VudCk7CiAJCXNlcV9wcmludGYocCwgIiAgVExCIHNob290ZG93bnNcbiIpOwogI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9NQ0UKIAkJc2VxX3ByaW50ZihwLCAiVFJNOiAiKTsKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfdGhlcm1hbF9jb3VudCk7CkBAIC0xNDMsNiArMTQ0LDcgQEAKIAkJZm9yX2VhY2hfb25saW5lX2NwdShqKQogCQkJc2VxX3ByaW50ZihwLCAiJTEwdSAiLCBjcHVfcGRhKGopLT5pcnFfdGhyZXNob2xkX2NvdW50KTsKIAkJc2VxX3ByaW50ZihwLCAiICBUaHJlc2hvbGQgQVBJQyBpbnRlcnJ1cHRzXG4iKTsKKyNlbmRpZgogCQlzZXFfcHJpbnRmKHAsICJTUFU6ICIpOwogCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGopCiAJCQlzZXFfcHJpbnRmKHAsICIlMTB1ICIsIGNwdV9wZGEoaiktPmlycV9zcHVyaW91c19jb3VudCk7CkBAIC0xNTMsNiArMTU1LDMyIEBACiB9CiAKIC8qCisgKiAvcHJvYy9zdGF0IGhlbHBlcnMKKyAqLwordTY0IGFyY2hfaXJxX3N0YXRfY3B1KHVuc2lnbmVkIGludCBjcHUpCit7CisJdTY0IHN1bSA9IGNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQ7CisKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5hcGljX3RpbWVyX2lycXM7CisjaWZkZWYgQ09ORklHX1NNUAorCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV9yZXNjaGVkX2NvdW50OworCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV9jYWxsX2NvdW50OworCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV90bGJfY291bnQ7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01DRQorCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV90aGVybWFsX2NvdW50OworCXN1bSArPSBjcHVfcGRhKGNwdSktPmlycV90aHJlc2hvbGRfY291bnQ7CisjZW5kaWYKKwlzdW0gKz0gY3B1X3BkYShjcHUpLT5pcnFfc3B1cmlvdXNfY291bnQ7CisJcmV0dXJuIHN1bTsKK30KKwordTY0IGFyY2hfaXJxX3N0YXQodm9pZCkKK3sKKwlyZXR1cm4gYXRvbWljX3JlYWQoJmlycV9lcnJfY291bnQpOworfQorCisvKgogICogZG9fSVJRIGhhbmRsZXMgYWxsIG5vcm1hbCBkZXZpY2UgSVJRJ3MgKHRoZSBzcGVjaWFsCiAgKiBTTVAgY3Jvc3MtQ1BVIGludGVycnVwdHMgaGF2ZSB0aGVpciBvd24gc3BlY2lmaWMKICAqIGhhbmRsZXJzKS4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9pcnFpbml0XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF8zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NjkxNDIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF8zMi5jCkBAIC0wLDAgKzEsMTE0IEBACisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9yYW5kb20uaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsX3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKworI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKyNpbmNsdWRlIDxhc20vZGVzYy5oPgorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisjaW5jbHVkZSA8YXNtL2FyY2hfaG9va3MuaD4KKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKworCisKKy8qCisgKiBOb3RlIHRoYXQgb24gYSA0ODYsIHdlIGRvbid0IHdhbnQgdG8gZG8gYSBTSUdGUEUgb24gYW4gaXJxMTMKKyAqIGFzIHRoZSBpcnEgaXMgdW5yZWxpYWJsZSwgYW5kIGV4Y2VwdGlvbiAxNiB3b3JrcyBjb3JyZWN0bHkKKyAqIChpZSBhcyBleHBsYWluZWQgaW4gdGhlIGludGVsIGxpdGVyYXR1cmUpLiBPbiBhIDM4NiwgeW91CisgKiBjYW4ndCB1c2UgZXhjZXB0aW9uIDE2IGR1ZSB0byBiYWQgSUJNIGRlc2lnbiwgc28gd2UgaGF2ZSB0bworICogcmVseSBvbiB0aGUgbGVzcyBleGFjdCBpcnExMy4KKyAqCisgKiBDYXJlZnVsLi4gTm90IG9ubHkgaXMgSVJRMTMgdW5yZWxpYWJsZSwgYnV0IGl0IGlzIGFsc28KKyAqIGxlYWRzIHRvIHJhY2VzLiBJQk0gZGVzaWduZXJzIHdobyBjYW1lIHVwIHdpdGggaXQgc2hvdWxkCisgKiBiZSBzaG90LgorICovCisgCisKK3N0YXRpYyBpcnFyZXR1cm5fdCBtYXRoX2Vycm9yX2lycShpbnQgY3BsLCB2b2lkICpkZXZfaWQpCit7CisJZXh0ZXJuIHZvaWQgbWF0aF9lcnJvcih2b2lkIF9fdXNlciAqKTsKKwlvdXRiKDAsMHhGMCk7CisJaWYgKGlnbm9yZV9mcHVfaXJxIHx8ICFib290X2NwdV9kYXRhLmhhcmRfbWF0aCkKKwkJcmV0dXJuIElSUV9OT05FOworCW1hdGhfZXJyb3IoKHZvaWQgX191c2VyICopZ2V0X2lycV9yZWdzKCktPmlwKTsKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKKy8qCisgKiBOZXcgbW90aGVyYm9hcmRzIHNvbWV0aW1lcyBtYWtlIElSUSAxMyBiZSBhIFBDSSBpbnRlcnJ1cHQsCisgKiBzbyBhbGxvdyBpbnRlcnJ1cHQgc2hhcmluZy4KKyAqLworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gZnB1X2lycSA9IHsKKwkuaGFuZGxlciA9IG1hdGhfZXJyb3JfaXJxLAorCS5tYXNrID0gQ1BVX01BU0tfTk9ORSwKKwkubmFtZSA9ICJmcHUiLAorfTsKKwordm9pZCBfX2luaXQgaW5pdF9JU0FfaXJxcyAodm9pZCkKK3sKKwlpbnQgaTsKKworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworCWluaXRfYnNwX0FQSUMoKTsKKyNlbmRpZgorCWluaXRfODI1OUEoMCk7CisKKwkvKgorCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6CisJICovCisJZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKKwkJc2V0X2lycV9jaGlwX2FuZF9oYW5kbGVyX25hbWUoaSwgJmk4MjU5QV9jaGlwLAorCQkJCQkgICAgICBoYW5kbGVfbGV2ZWxfaXJxLCAiWFQiKTsKKwl9Cit9CisKKy8qIE92ZXJyaWRkZW4gaW4gcGFyYXZpcnQuYyAqLwordm9pZCBpbml0X0lSUSh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrLCBhbGlhcygibmF0aXZlX2luaXRfSVJRIikpKTsKKwordm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBhbGwgdGhlIHNldCB1cCBiZWZvcmUgdGhlIGNhbGwgZ2F0ZXMgYXJlIGluaXRpYWxpc2VkICovCisJcHJlX2ludHJfaW5pdF9ob29rKCk7CisKKwkvKgorCSAqIENvdmVyIHRoZSB3aG9sZSB2ZWN0b3Igc3BhY2UsIG5vIHZlY3RvciBjYW4gZXNjYXBlCisJICogdXMuIChzb21lIG9mIHRoZXNlIHdpbGwgYmUgb3ZlcnJpZGRlbiBhbmQgYmVjb21lCisJICogJ3NwZWNpYWwnIFNNUCBpbnRlcnJ1cHRzKQorCSAqLworCWZvciAoaSA9IDA7IGkgPCAoTlJfVkVDVE9SUyAtIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUik7IGkrKykgeworCQlpbnQgdmVjdG9yID0gRklSU1RfRVhURVJOQUxfVkVDVE9SICsgaTsKKwkJaWYgKGkgPj0gTlJfSVJRUykKKwkJCWJyZWFrOworCQkvKiBTWVNDQUxMX1ZFQ1RPUiB3YXMgcmVzZXJ2ZWQgaW4gdHJhcF9pbml0LiAqLworCQlpZiAoIXRlc3RfYml0KHZlY3RvciwgdXNlZF92ZWN0b3JzKSkKKwkJCXNldF9pbnRyX2dhdGUodmVjdG9yLCBpbnRlcnJ1cHRbaV0pOworCX0KKworCS8qIHNldHVwIGFmdGVyIGNhbGwgZ2F0ZXMgYXJlIGluaXRpYWxpc2VkICh1c3VhbGx5IGFkZCBpbgorCSAqIHRoZSBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgZ2F0ZXMpCisJICovCisJaW50cl9pbml0X2hvb2soKTsKKworCS8qCisJICogRXh0ZXJuYWwgRlBVPyBTZXQgdXAgaXJxMTMgaWYgc28sIGZvcgorCSAqIG9yaWdpbmFsIGJyYWluZGFtYWdlZCBJQk0gRkVSUiBjb3VwbGluZy4KKwkgKi8KKwlpZiAoYm9vdF9jcHVfZGF0YS5oYXJkX21hdGggJiYgIWNwdV9oYXNfZnB1KQorCQlzZXR1cF9pcnEoRlBVX0lSUSwgJmZwdV9pcnEpOworCisJaXJxX2N0eF9pbml0KHNtcF9wcm9jZXNzb3JfaWQoKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvaXJxaW5pdF82NC5jIGIvYXJjaC94ODYva2VybmVsL2lycWluaXRfNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzczZTg4Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL2lycWluaXRfNjQuYwpAQCAtMCwwICsxLDIyMSBAQAorI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvdGltZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CisjaW5jbHVkZSA8bGludXgvc3lzZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisKKyNpbmNsdWRlIDxhc20vYWNwaS5oPgorI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2h3X2lycS5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8YXNtL2RlbGF5Lmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9pODI1OS5oPgorCisvKgorICogQ29tbW9uIHBsYWNlIHRvIGRlZmluZSBhbGwgeDg2IElSUSB2ZWN0b3JzCisgKgorICogVGhpcyBidWlsZHMgdXAgdGhlIElSUSBoYW5kbGVyIHN0dWJzIHVzaW5nIHNvbWUgdWdseSBtYWNyb3MgaW4gaXJxLmgKKyAqCisgKiBUaGVzZSBtYWNyb3MgY3JlYXRlIHRoZSBsb3ctbGV2ZWwgYXNzZW1ibHkgSVJRIHJvdXRpbmVzIHRoYXQgc2F2ZQorICogcmVnaXN0ZXIgY29udGV4dCBhbmQgY2FsbCBkb19JUlEoKS4gZG9fSVJRKCkgdGhlbiBkb2VzIGFsbCB0aGUKKyAqIG9wZXJhdGlvbnMgdGhhdCBhcmUgbmVlZGVkIHRvIGtlZXAgdGhlIEFUIChvciBTTVAgSU9BUElDKQorICogaW50ZXJydXB0LWNvbnRyb2xsZXIgaGFwcHkuCisgKi8KKworI2RlZmluZSBJUlFfTkFNRTIobnIpIG5yIyNfaW50ZXJydXB0KHZvaWQpCisjZGVmaW5lIElSUV9OQU1FKG5yKSBJUlFfTkFNRTIoSVJRIyNucikKKworLyoKKyAqCVNNUCBoYXMgYSBmZXcgc3BlY2lhbCBpbnRlcnJ1cHRzIGZvciBJUEkgbWVzc2FnZXMKKyAqLworCisjZGVmaW5lIEJVSUxEX0lSUShucikJCQkJXAorCWFzbWxpbmthZ2Ugdm9pZCBJUlFfTkFNRShucik7CQlcCisJYXNtKCJcbi5wMmFsaWduXG4iCQkJXAorCSAgICAiSVJRIiAjbnIgIl9pbnRlcnJ1cHQ6XG5cdCIJCVwKKwkgICAgInB1c2ggJH4oIiAjbnIgIikgOyAiCQlcCisJICAgICJqbXAgY29tbW9uX2ludGVycnVwdCIpOworCisjZGVmaW5lIEJJKHgseSkgXAorCUJVSUxEX0lSUSh4IyN5KQorCisjZGVmaW5lIEJVSUxEXzE2X0lSUVMoeCkgXAorCUJJKHgsMCkgQkkoeCwxKSBCSSh4LDIpIEJJKHgsMykgXAorCUJJKHgsNCkgQkkoeCw1KSBCSSh4LDYpIEJJKHgsNykgXAorCUJJKHgsOCkgQkkoeCw5KSBCSSh4LGEpIEJJKHgsYikgXAorCUJJKHgsYykgQkkoeCxkKSBCSSh4LGUpIEJJKHgsZikKKworLyoKKyAqIElTQSBQSUMgb3IgbG93IElPLUFQSUMgdHJpZ2dlcmVkIChJTlRBLWN5Y2xlIG9yIEFQSUMpIGludGVycnVwdHM6CisgKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIHRvIHZlY3RvcnMgMHgzMC0weDNmKQorICovCisKKy8qCisgKiBUaGUgSU8tQVBJQyBnaXZlcyB1cyBtYW55IG1vcmUgaW50ZXJydXB0IHNvdXJjZXMuIE1vc3Qgb2YgdGhlc2UKKyAqIGFyZSB1bnVzZWQgYnV0IGFuIFNNUCBzeXN0ZW0gaXMgc3VwcG9zZWQgdG8gaGF2ZSBlbm91Z2ggbWVtb3J5IC4uLgorICogc29tZXRpbWVzIChtb3N0bHkgd3J0LiBodyBidWdzKSB3ZSBnZXQgY29ycnVwdGVkIHZlY3RvcnMgYWxsCisgKiBhY3Jvc3MgdGhlIHNwZWN0cnVtLCBzbyB3ZSByZWFsbHkgd2FudCB0byBiZSBwcmVwYXJlZCB0byBnZXQgYWxsCisgKiBvZiB0aGVzZS4gUGx1cywgbW9yZSBwb3dlcmZ1bCBzeXN0ZW1zIG1pZ2h0IGhhdmUgbW9yZSB0aGFuIDY0CisgKiBJTy1BUElDIHJlZ2lzdGVycy4KKyAqCisgKiAodGhlc2UgYXJlIHVzdWFsbHkgbWFwcGVkIGludG8gdGhlIDB4MzAtMHhmZiB2ZWN0b3IgcmFuZ2UpCisgKi8KKwkJCQkgICAgICBCVUlMRF8xNl9JUlFTKDB4MikgQlVJTERfMTZfSVJRUygweDMpCitCVUlMRF8xNl9JUlFTKDB4NCkgQlVJTERfMTZfSVJRUygweDUpIEJVSUxEXzE2X0lSUVMoMHg2KSBCVUlMRF8xNl9JUlFTKDB4NykKK0JVSUxEXzE2X0lSUVMoMHg4KSBCVUlMRF8xNl9JUlFTKDB4OSkgQlVJTERfMTZfSVJRUygweGEpIEJVSUxEXzE2X0lSUVMoMHhiKQorQlVJTERfMTZfSVJRUygweGMpIEJVSUxEXzE2X0lSUVMoMHhkKSBCVUlMRF8xNl9JUlFTKDB4ZSkgQlVJTERfMTZfSVJRUygweGYpCisKKyN1bmRlZiBCVUlMRF8xNl9JUlFTCisjdW5kZWYgQkkKKworCisjZGVmaW5lIElSUSh4LHkpIFwKKwlJUlEjI3gjI3kjI19pbnRlcnJ1cHQKKworI2RlZmluZSBJUlFMSVNUXzE2KHgpIFwKKwlJUlEoeCwwKSwgSVJRKHgsMSksIElSUSh4LDIpLCBJUlEoeCwzKSwgXAorCUlSUSh4LDQpLCBJUlEoeCw1KSwgSVJRKHgsNiksIElSUSh4LDcpLCBcCisJSVJRKHgsOCksIElSUSh4LDkpLCBJUlEoeCxhKSwgSVJRKHgsYiksIFwKKwlJUlEoeCxjKSwgSVJRKHgsZCksIElSUSh4LGUpLCBJUlEoeCxmKQorCisvKiBmb3IgdGhlIGlycSB2ZWN0b3JzICovCitzdGF0aWMgdm9pZCAoKl9faW5pdGRhdGEgaW50ZXJydXB0W05SX1ZFQ1RPUlMgLSBGSVJTVF9FWFRFUk5BTF9WRUNUT1JdKSh2b2lkKSA9IHsKKwkJCQkJICBJUlFMSVNUXzE2KDB4MiksIElSUUxJU1RfMTYoMHgzKSwKKwlJUlFMSVNUXzE2KDB4NCksIElSUUxJU1RfMTYoMHg1KSwgSVJRTElTVF8xNigweDYpLCBJUlFMSVNUXzE2KDB4NyksCisJSVJRTElTVF8xNigweDgpLCBJUlFMSVNUXzE2KDB4OSksIElSUUxJU1RfMTYoMHhhKSwgSVJRTElTVF8xNigweGIpLAorCUlSUUxJU1RfMTYoMHhjKSwgSVJRTElTVF8xNigweGQpLCBJUlFMSVNUXzE2KDB4ZSksIElSUUxJU1RfMTYoMHhmKQorfTsKKworI3VuZGVmIElSUQorI3VuZGVmIElSUUxJU1RfMTYKKworCisKKworLyoKKyAqIElSUTIgaXMgY2FzY2FkZSBpbnRlcnJ1cHQgdG8gc2Vjb25kIGludGVycnVwdCBjb250cm9sbGVyCisgKi8KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gaXJxMiA9IHsKKwkuaGFuZGxlciA9IG5vX2FjdGlvbiwKKwkubWFzayA9IENQVV9NQVNLX05PTkUsCisJLm5hbWUgPSAiY2FzY2FkZSIsCit9OworREVGSU5FX1BFUl9DUFUodmVjdG9yX2lycV90LCB2ZWN0b3JfaXJxKSA9IHsKKwlbMCAuLi4gSVJRMF9WRUNUT1IgLSAxXSA9IC0xLAorCVtJUlEwX1ZFQ1RPUl0gPSAwLAorCVtJUlExX1ZFQ1RPUl0gPSAxLAorCVtJUlEyX1ZFQ1RPUl0gPSAyLAorCVtJUlEzX1ZFQ1RPUl0gPSAzLAorCVtJUlE0X1ZFQ1RPUl0gPSA0LAorCVtJUlE1X1ZFQ1RPUl0gPSA1LAorCVtJUlE2X1ZFQ1RPUl0gPSA2LAorCVtJUlE3X1ZFQ1RPUl0gPSA3LAorCVtJUlE4X1ZFQ1RPUl0gPSA4LAorCVtJUlE5X1ZFQ1RPUl0gPSA5LAorCVtJUlExMF9WRUNUT1JdID0gMTAsCisJW0lSUTExX1ZFQ1RPUl0gPSAxMSwKKwlbSVJRMTJfVkVDVE9SXSA9IDEyLAorCVtJUlExM19WRUNUT1JdID0gMTMsCisJW0lSUTE0X1ZFQ1RPUl0gPSAxNCwKKwlbSVJRMTVfVkVDVE9SXSA9IDE1LAorCVtJUlExNV9WRUNUT1IgKyAxIC4uLiBOUl9WRUNUT1JTIC0gMV0gPSAtMQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IGluaXRfSVNBX2lycXMgKHZvaWQpCit7CisJaW50IGk7CisKKwlpbml0X2JzcF9BUElDKCk7CisJaW5pdF84MjU5QSgwKTsKKworCWZvciAoaSA9IDA7IGkgPCBOUl9JUlFTOyBpKyspIHsKKwkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOworCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSBOVUxMOworCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7CisKKwkJaWYgKGkgPCAxNikgeworCQkJLyoKKwkJCSAqIDE2IG9sZC1zdHlsZSBJTlRBLWN5Y2xlIGludGVycnVwdHM6CisJCQkgKi8KKwkJCXNldF9pcnFfY2hpcF9hbmRfaGFuZGxlcl9uYW1lKGksICZpODI1OUFfY2hpcCwKKwkJCQkJCSAgICAgIGhhbmRsZV9sZXZlbF9pcnEsICJYVCIpOworCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqICdoaWdoJyBQQ0kgSVJRcyBmaWxsZWQgaW4gb24gZGVtYW5kCisJCQkgKi8KKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmbm9faXJxX2NoaXA7CisJCX0KKwl9Cit9CisKK3ZvaWQgaW5pdF9JUlEodm9pZCkgX19hdHRyaWJ1dGVfXygod2VhaywgYWxpYXMoIm5hdGl2ZV9pbml0X0lSUSIpKSk7CisKK3ZvaWQgX19pbml0IG5hdGl2ZV9pbml0X0lSUSh2b2lkKQoreworCWludCBpOworCisJaW5pdF9JU0FfaXJxcygpOworCS8qCisJICogQ292ZXIgdGhlIHdob2xlIHZlY3RvciBzcGFjZSwgbm8gdmVjdG9yIGNhbiBlc2NhcGUKKwkgKiB1cy4gKHNvbWUgb2YgdGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGFuZCBiZWNvbWUKKwkgKiAnc3BlY2lhbCcgU01QIGludGVycnVwdHMpCisJICovCisJZm9yIChpID0gMDsgaSA8IChOUl9WRUNUT1JTIC0gRklSU1RfRVhURVJOQUxfVkVDVE9SKTsgaSsrKSB7CisJCWludCB2ZWN0b3IgPSBGSVJTVF9FWFRFUk5BTF9WRUNUT1IgKyBpOworCQlpZiAodmVjdG9yICE9IElBMzJfU1lTQ0FMTF9WRUNUT1IpCisJCQlzZXRfaW50cl9nYXRlKHZlY3RvciwgaW50ZXJydXB0W2ldKTsKKwl9CisKKyNpZmRlZiBDT05GSUdfU01QCisJLyoKKwkgKiBUaGUgcmVzY2hlZHVsZSBpbnRlcnJ1cHQgaXMgYSBDUFUtdG8tQ1BVIHJlc2NoZWR1bGUtaGVscGVyCisJICogSVBJLCBkcml2ZW4gYnkgd2FrZXVwLgorCSAqLworCWFsbG9jX2ludHJfZ2F0ZShSRVNDSEVEVUxFX1ZFQ1RPUiwgcmVzY2hlZHVsZV9pbnRlcnJ1cHQpOworCisJLyogSVBJcyBmb3IgaW52YWxpZGF0aW9uICovCisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCswLCBpbnZhbGlkYXRlX2ludGVycnVwdDApOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrMSwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzIsIGludmFsaWRhdGVfaW50ZXJydXB0Mik7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCszLCBpbnZhbGlkYXRlX2ludGVycnVwdDMpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNCwgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KTsKKwlhbGxvY19pbnRyX2dhdGUoSU5WQUxJREFURV9UTEJfVkVDVE9SX1NUQVJUKzUsIGludmFsaWRhdGVfaW50ZXJydXB0NSk7CisJYWxsb2NfaW50cl9nYXRlKElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVCs2LCBpbnZhbGlkYXRlX2ludGVycnVwdDYpOworCWFsbG9jX2ludHJfZ2F0ZShJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQrNywgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KTsKKworCS8qIElQSSBmb3IgZ2VuZXJpYyBmdW5jdGlvbiBjYWxsICovCisJYWxsb2NfaW50cl9nYXRlKENBTExfRlVOQ1RJT05fVkVDVE9SLCBjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCk7CisKKwkvKiBJUEkgZm9yIGdlbmVyaWMgc2luZ2xlIGZ1bmN0aW9uIGNhbGwgKi8KKwlhbGxvY19pbnRyX2dhdGUoQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SLAorCQkJY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KTsKKworCS8qIExvdyBwcmlvcml0eSBJUEkgdG8gY2xlYW51cCBhZnRlciBtb3ZpbmcgYW4gaXJxICovCisJc2V0X2ludHJfZ2F0ZShJUlFfTU9WRV9DTEVBTlVQX1ZFQ1RPUiwgaXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQpOworI2VuZGlmCisJYWxsb2NfaW50cl9nYXRlKFRIRVJNQUxfQVBJQ19WRUNUT1IsIHRoZXJtYWxfaW50ZXJydXB0KTsKKwlhbGxvY19pbnRyX2dhdGUoVEhSRVNIT0xEX0FQSUNfVkVDVE9SLCB0aHJlc2hvbGRfaW50ZXJydXB0KTsKKworCS8qIHNlbGYgZ2VuZXJhdGVkIElQSSBmb3IgbG9jYWwgQVBJQyB0aW1lciAqLworCWFsbG9jX2ludHJfZ2F0ZShMT0NBTF9USU1FUl9WRUNUT1IsIGFwaWNfdGltZXJfaW50ZXJydXB0KTsKKworCS8qIElQSSB2ZWN0b3JzIGZvciBBUElDIHNwdXJpb3VzIGFuZCBlcnJvciBpbnRlcnJ1cHRzICovCisJYWxsb2NfaW50cl9nYXRlKFNQVVJJT1VTX0FQSUNfVkVDVE9SLCBzcHVyaW91c19pbnRlcnJ1cHQpOworCWFsbG9jX2ludHJfZ2F0ZShFUlJPUl9BUElDX1ZFQ1RPUiwgZXJyb3JfaW50ZXJydXB0KTsKKworCWlmICghYWNwaV9pb2FwaWMpCisJCXNldHVwX2lycSgyLCAmaXJxMik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbGR0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvbGR0LmMKaW5kZXggMDIyNGMzNi4uYTg0NDk1NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2xkdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9sZHQuYwpAQCAtMjAsOSArMjAsOSBAQAogI2luY2x1ZGUgPGFzbS9tbXVfY29udGV4dC5oPgogCiAjaWZkZWYgQ09ORklHX1NNUAotc3RhdGljIHZvaWQgZmx1c2hfbGR0KHZvaWQgKm51bGwpCitzdGF0aWMgdm9pZCBmbHVzaF9sZHQodm9pZCAqY3VycmVudF9tbSkKIHsKLQlpZiAoY3VycmVudC0+YWN0aXZlX21tKQorCWlmIChjdXJyZW50LT5hY3RpdmVfbW0gPT0gY3VycmVudF9tbSkKIAkJbG9hZF9MRFQoJmN1cnJlbnQtPmFjdGl2ZV9tbS0+Y29udGV4dCk7CiB9CiAjZW5kaWYKQEAgLTY4LDcgKzY4LDcgQEAKIAkJbG9hZF9MRFQocGMpOwogCQltYXNrID0gY3B1bWFza19vZl9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAkJaWYgKCFjcHVzX2VxdWFsKGN1cnJlbnQtPm1tLT5jcHVfdm1fbWFzaywgbWFzaykpCi0JCQlzbXBfY2FsbF9mdW5jdGlvbihmbHVzaF9sZHQsIE5VTEwsIDEsIDEpOworCQkJc21wX2NhbGxfZnVuY3Rpb24oZmx1c2hfbGR0LCBjdXJyZW50LT5tbSwgMSk7CiAJCXByZWVtcHRfZW5hYmxlKCk7CiAjZWxzZQogCQlsb2FkX0xEVChwYyk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY18zMi5jIGIvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfMzIuYwppbmRleCBkMGIyMzRjLi44ODY0MjMwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzMyLmMKQEAgLTExLDYgKzExLDggQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9udW1hLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisKICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CkBAIC0zOSw3ICs0MSw3IEBACiAJY3VyaWR0LmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZyluZXdpZHQ7CiAKIAlsb2FkX2lkdCgmY3VyaWR0KTsKLX07Cit9CiAKIAogc3RhdGljIHZvaWQgc2V0X2dkdCh2b2lkICpuZXdnZHQsIF9fdTE2IGxpbWl0KQpAQCAtNTEsNyArNTMsNyBAQAogCWN1cmdkdC5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpbmV3Z2R0OwogCiAJbG9hZF9nZHQoJmN1cmdkdCk7Ci19OworfQogCiBzdGF0aWMgdm9pZCBsb2FkX3NlZ21lbnRzKHZvaWQpCiB7CkBAIC0xMDcsNiArMTA5LDggQEAKIAl1bnNpZ25lZCBsb25nIHBhZ2VfbGlzdFtQQUdFU19OUl07CiAJdm9pZCAqY29udHJvbF9wYWdlOwogCisJdHJhY2VyX2Rpc2FibGUoKTsKKwogCS8qIEludGVycnVwdHMgYXJlbid0IGFjY2VwdGFibGUgd2hpbGUgd2UgcmVib290ICovCiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9tYWNoaW5lX2tleGVjXzY0LmMKaW5kZXggNTc2YTAzZC4uOWRkOTI2MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21hY2hpbmVfa2V4ZWNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbWFjaGluZV9rZXhlY182NC5jCkBAIC0xMSw2ICsxMSw4IEBACiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CiAjaW5jbHVkZSA8bGludXgvbnVtYS5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorCiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KICNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KQEAgLTExMCw3ICsxMTIsNyBAQAogewogCXBnZF90ICpsZXZlbDRwOwogCWxldmVsNHAgPSAocGdkX3QgKilfX3ZhKHN0YXJ0X3BndGFibGUpOwotIAlyZXR1cm4gaW5pdF9sZXZlbDRfcGFnZShpbWFnZSwgbGV2ZWw0cCwgMCwgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKKwlyZXR1cm4gaW5pdF9sZXZlbDRfcGFnZShpbWFnZSwgbGV2ZWw0cCwgMCwgbWF4X3BmbiA8PCBQQUdFX1NISUZUKTsKIH0KIAogc3RhdGljIHZvaWQgc2V0X2lkdCh2b2lkICpuZXdpZHQsIHUxNiBsaW1pdCkKQEAgLTE4NCw2ICsxODYsOCBAQAogCXVuc2lnbmVkIGxvbmcgcGFnZV9saXN0W1BBR0VTX05SXTsKIAl2b2lkICpjb250cm9sX3BhZ2U7CiAKKwl0cmFjZXJfZGlzYWJsZSgpOworCiAJLyogSW50ZXJydXB0cyBhcmVuJ3QgYWNjZXB0YWJsZSB3aGlsZSB3ZSByZWJvb3QgKi8KIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbWljcm9jb2RlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbWljcm9jb2RlLmMKaW5kZXggNjk3MjllMy4uNTZiOTMzMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL21pY3JvY29kZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9taWNyb2NvZGUuYwpAQCAtNSwxMyArNSwxNCBAQAogICoJCSAgICAgIDIwMDYJU2hhb2h1YSBMaSA8c2hhb2h1YS5saUBpbnRlbC5jb20+CiAgKgogICoJVGhpcyBkcml2ZXIgYWxsb3dzIHRvIHVwZ3JhZGUgbWljcm9jb2RlIG9uIEludGVsIHByb2Nlc3NvcnMKLSAqCWJlbG9uZ2luZyB0byBJQS0zMiBmYW1pbHkgLSBQZW50aXVtUHJvLCBQZW50aXVtIElJLCAKKyAqCWJlbG9uZ2luZyB0byBJQS0zMiBmYW1pbHkgLSBQZW50aXVtUHJvLCBQZW50aXVtIElJLAogICoJUGVudGl1bSBJSUksIFhlb24sIFBlbnRpdW0gNCwgZXRjLgogICoKLSAqCVJlZmVyZW5jZTogU2VjdGlvbiA4LjEwIG9mIFZvbHVtZSBJSUksIEludGVsIFBlbnRpdW0gNCBNYW51YWwsIAotICoJT3JkZXIgTnVtYmVyIDI0NTQ3MiBvciBmcmVlIGRvd25sb2FkIGZyb206Ci0gKgkJCi0gKglodHRwOi8vZGV2ZWxvcGVyLmludGVsLmNvbS9kZXNpZ24vcGVudGl1bTQvbWFudWFscy8yNDU0NzIuaHRtCisgKglSZWZlcmVuY2U6IFNlY3Rpb24gOC4xMSBvZiBWb2x1bWUgM2EsIElBLTMyIEludGVsPyBBcmNoaXRlY3R1cmUKKyAqCVNvZnR3YXJlIERldmVsb3BlcidzIE1hbnVhbAorICoJT3JkZXIgTnVtYmVyIDI1MzY2OCBvciBmcmVlIGRvd25sb2FkIGZyb206CisgKgorICoJaHR0cDovL2RldmVsb3Blci5pbnRlbC5jb20vZGVzaWduL3BlbnRpdW00L21hbnVhbHMvMjUzNjY4Lmh0bQogICoKICAqCUZvciBtb3JlIGluZm9ybWF0aW9uLCBnbyB0byBodHRwOi8vd3d3LnVyYmFubXl0aC5vcmcvbWljcm9jb2RlCiAgKgpAQCAtNTgsMTIgKzU5LDEyIEBACiAgKgkJbmF0dXJlIG9mIGltcGxlbWVudGF0aW9uLgogICoJMS4xMQkyMiBNYXIgMjAwMiBUaWdyYW4gQWl2YXppYW4gPHRpZ3JhbkB2ZXJpdGFzLmNvbT4KICAqCQlGaXggdGhlIHBhbmljIHdoZW4gd3JpdGluZyB6ZXJvLWxlbmd0aCBtaWNyb2NvZGUgY2h1bmsuCi0gKgkxLjEyCTI5IFNlcCAyMDAzIE5pdGluIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiwgCisgKgkxLjEyCTI5IFNlcCAyMDAzIE5pdGluIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiwKICAqCQlKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+CiAgKgkJU3VwcG9ydCBmb3IgdGhlIG1pY3JvY29kZSB1cGRhdGVzIGluIHRoZSBuZXcgZm9ybWF0LgogICoJMS4xMwkxMCBPY3QgMjAwMyBUaWdyYW4gQWl2YXppYW4gPHRpZ3JhbkB2ZXJpdGFzLmNvbT4KICAqCQlSZW1vdmVkIC0+cmVhZCgpIG1ldGhvZCBhbmQgb2Jzb2xldGVkIE1JQ1JPQ09ERV9JT0NGUkVFIGlvY3RsCi0gKgkJYmVjYXVzZSB3ZSBubyBsb25nZXIgaG9sZCBhIGNvcHkgb2YgYXBwbGllZCBtaWNyb2NvZGUgCisgKgkJYmVjYXVzZSB3ZSBubyBsb25nZXIgaG9sZCBhIGNvcHkgb2YgYXBwbGllZCBtaWNyb2NvZGUKICAqCQlpbiBrZXJuZWwgbWVtb3J5LgogICoJMS4xNAkyNSBKdW4gMjAwNCBUaWdyYW4gQWl2YXppYW4gPHRpZ3JhbkB2ZXJpdGFzLmNvbT4KICAqCQlGaXggc2lnbWF0Y2goKSBtYWNybyB0byBoYW5kbGUgb2xkIENQVXMgd2l0aCBwZiA9PSAwLgpAQCAtNzUsNiArNzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KQEAgLTMyMCwxMSArMzIyLDExIEBACiAJCXJldHVybjsKIAogCS8qIHNlcmlhbGl6ZSBhY2Nlc3MgdG8gdGhlIHBoeXNpY2FsIHdyaXRlIHRvIE1TUiAweDc5ICovCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJm1pY3JvY29kZV91cGRhdGVfbG9jaywgZmxhZ3MpOyAgICAgICAgICAKKwlzcGluX2xvY2tfaXJxc2F2ZSgmbWljcm9jb2RlX3VwZGF0ZV9sb2NrLCBmbGFncyk7CiAKIAkvKiB3cml0ZSBtaWNyb2NvZGUgdmlhIE1TUiAweDc5ICovCiAJd3Jtc3IoTVNSX0lBMzJfVUNPREVfV1JJVEUsCi0JCSh1bnNpZ25lZCBsb25nKSB1Y2ktPm1jLT5iaXRzLCAKKwkJKHVuc2lnbmVkIGxvbmcpIHVjaS0+bWMtPmJpdHMsCiAJCSh1bnNpZ25lZCBsb25nKSB1Y2ktPm1jLT5iaXRzID4+IDE2ID4+IDE2KTsKIAl3cm1zcihNU1JfSUEzMl9VQ09ERV9SRVYsIDAsIDApOwogCkBAIC0zNDEsNyArMzQzLDcgQEAKIAkJcmV0dXJuOwogCX0KIAlwcmludGsoS0VSTl9JTkZPICJtaWNyb2NvZGU6IENQVSVkIHVwZGF0ZWQgZnJvbSByZXZpc2lvbiAiCi0JICAgICAgICIweCV4IHRvIDB4JXgsIGRhdGUgPSAlMDh4IFxuIiwgCisJICAgICAgICIweCV4IHRvIDB4JXgsIGRhdGUgPSAlMDh4IFxuIiwKIAkgICAgICAgY3B1X251bSwgdWNpLT5yZXYsIHZhbFsxXSwgdWNpLT5tYy0+aGRyLmRhdGUpOwogCXVjaS0+cmV2ID0gdmFsWzFdOwogfQpAQCAtNDIyLDYgKzQyNCw3IEBACiAKIHN0YXRpYyBpbnQgbWljcm9jb2RlX29wZW4gKHN0cnVjdCBpbm9kZSAqdW51c2VkMSwgc3RydWN0IGZpbGUgKnVudXNlZDIpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gY2FwYWJsZShDQVBfU1lTX1JBV0lPKSA/IDAgOiAtRVBFUk07CiB9CiAKQEAgLTQ4OCw3ICs0OTEsNyBAQAogI2RlZmluZSBtaWNyb2NvZGVfZGV2X2V4aXQoKSBkbyB7IH0gd2hpbGUoMCkKICNlbmRpZgogCi1zdGF0aWMgbG9uZyBnZXRfbmV4dF91Y29kZV9mcm9tX2J1ZmZlcih2b2lkICoqbWMsIHZvaWQgKmJ1ZiwKK3N0YXRpYyBsb25nIGdldF9uZXh0X3Vjb2RlX2Zyb21fYnVmZmVyKHZvaWQgKiptYywgY29uc3QgdTggKmJ1ZiwKIAl1bnNpZ25lZCBsb25nIHNpemUsIGxvbmcgb2Zmc2V0KQogewogCW1pY3JvY29kZV9oZWFkZXJfdCAqbWNfaGVhZGVyOwpAQCAtNTIyLDcgKzUyNSw3IEBACiAJY2hhciBuYW1lWzMwXTsKIAlzdHJ1Y3QgY3B1aW5mb194ODYgKmMgPSAmY3B1X2RhdGEoY3B1KTsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlOwotCXZvaWQgKmJ1ZjsKKwljb25zdCB1OCAqYnVmOwogCXVuc2lnbmVkIGxvbmcgc2l6ZTsKIAlsb25nIG9mZnNldCA9IDA7CiAJaW50IGVycm9yOwpAQCAtNTM0LDcgKzUzNyw3IEBACiAJCWMtPng4NiwgYy0+eDg2X21vZGVsLCBjLT54ODZfbWFzayk7CiAJZXJyb3IgPSByZXF1ZXN0X2Zpcm13YXJlKCZmaXJtd2FyZSwgbmFtZSwgJm1pY3JvY29kZV9wZGV2LT5kZXYpOwogCWlmIChlcnJvcikgewotCQlwcl9kZWJ1ZygibWljcm9jb2RlOiB1Y29kZSBkYXRhIGZpbGUgJXMgbG9hZCBmYWlsZWRcbiIsIG5hbWUpOworCQlwcl9kZWJ1ZygibWljcm9jb2RlOiBkYXRhIGZpbGUgJXMgbG9hZCBmYWlsZWRcbiIsIG5hbWUpOwogCQlyZXR1cm4gZXJyb3I7CiAJfQogCWJ1ZiA9IGZpcm13YXJlLT5kYXRhOwpAQCAtODA1LDYgKzgwOCw5IEBACiB7CiAJaW50IGVycm9yOwogCisJcHJpbnRrKEtFUk5fSU5GTworCQkiSUEtMzIgTWljcm9jb2RlIFVwZGF0ZSBEcml2ZXI6IHYiIE1JQ1JPQ09ERV9WRVJTSU9OICIgPHRpZ3JhbkBhaXZhemlhbi5mc25ldC5jby51az5cbiIpOworCiAJZXJyb3IgPSBtaWNyb2NvZGVfZGV2X2luaXQoKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKQEAgLTgyNSw5ICs4MzEsNiBAQAogCX0KIAogCXJlZ2lzdGVyX2hvdGNwdV9ub3RpZmllcigmbWNfY3B1X25vdGlmaWVyKTsKLQotCXByaW50ayhLRVJOX0lORk8gCi0JCSJJQS0zMiBNaWNyb2NvZGUgVXBkYXRlIERyaXZlcjogdiIgTUlDUk9DT0RFX1ZFUlNJT04gIiA8dGlncmFuQGFpdmF6aWFuLmZzbmV0LmNvLnVrPlxuIik7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tbWNvbmYtZmFtMTBoXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvbW1jb25mLWZhbTEwaF82NC5jCmluZGV4IGVkYzVmYmYuLmZkZmRjNTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9tbWNvbmYtZmFtMTBoXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL21tY29uZi1mYW0xMGhfNjQuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KICNpbmNsdWRlIDxhc20vYWNwaS5oPgorI2luY2x1ZGUgPGFzbS9tbWNvbmZpZy5oPgogCiAjaW5jbHVkZSAiLi4vcGNpL3BjaS5oIgogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvbXBwYXJzZS5jIGIvYXJjaC94ODYva2VybmVsL21wcGFyc2UuYwppbmRleCA0MDQ2ODNiLi4zYjI1ZTQ5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbXBwYXJzZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9tcHBhcnNlLmMKQEAgLTI1LDYgKzI1LDggQEAKICNpbmNsdWRlIDxhc20vcHJvdG8uaD4KICNpbmNsdWRlIDxhc20vYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS90cmFtcG9saW5lLmg+CiAKICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KICNpZmRlZiBDT05GSUdfWDg2XzMyCkBAIC0zMiwyOCArMzQsNiBAQAogI2luY2x1ZGUgPG1hY2hfbXBwYXJzZS5oPgogI2VuZGlmCiAKLS8qIEhhdmUgd2UgZm91bmQgYW4gTVAgdGFibGUgKi8KLWludCBzbXBfZm91bmRfY29uZmlnOwotCi0vKgotICogVmFyaW91cyBMaW51eC1pbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMgY3JlYXRlZCBmcm9tIHRoZQotICogTVAtdGFibGUuCi0gKi8KLSNpZiBkZWZpbmVkIChDT05GSUdfTUNBKSB8fCBkZWZpbmVkIChDT05GSUdfRUlTQSkKLWludCBtcF9idXNfaWRfdG9fdHlwZVtNQVhfTVBfQlVTU0VTXTsKLSNlbmRpZgotCi1ERUNMQVJFX0JJVE1BUChtcF9idXNfbm90X3BjaSwgTUFYX01QX0JVU1NFUyk7Ci1pbnQgbXBfYnVzX2lkX3RvX3BjaV9idXNbTUFYX01QX0JVU1NFU10gPSB7WzAgLi4uIE1BWF9NUF9CVVNTRVMgLSAxXSA9IC0xIH07Ci0KLXN0YXRpYyBpbnQgbXBfY3VycmVudF9wY2lfaWQ7Ci0KLWludCBwaWNfbW9kZTsKLQotLyoKLSAqIEludGVsIE1QIEJJT1MgdGFibGUgcGFyc2luZyByb3V0aW5lczoKLSAqLwotCiAvKgogICogQ2hlY2tzdW0gYW4gTVAgY29uZmlndXJhdGlvbiBibG9jay4KICAqLwpAQCAtNjksMTUgKzQ5LDczIEBACiB9CiAKICNpZmRlZiBDT05GSUdfWDg2X05VTUFRCitpbnQgZm91bmRfbnVtYXE7CiAvKgogICogSGF2ZSB0byBtYXRjaCB0cmFuc2xhdGlvbiB0YWJsZSBlbnRyaWVzIHRvIG1haW4gdGFibGUgZW50cmllcyBieSBjb3VudGVyCiAgKiBoZW5jZSB0aGUgbXBjX3JlY29yZCB2YXJpYWJsZSAuLi4uIGNhbid0IHNlZSBhIGxlc3MgZGlzZ3VzdGluZyB3YXkgb2YKICAqIGRvaW5nIHRoaXMgLi4uLgogICovCitzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiB7CisJdW5zaWduZWQgY2hhciBtcGNfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIHRyYW5zX2xlbjsKKwl1bnNpZ25lZCBjaGFyIHRyYW5zX3R5cGU7CisJdW5zaWduZWQgY2hhciB0cmFuc19xdWFkOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfZ2xvYmFsOworCXVuc2lnbmVkIGNoYXIgdHJhbnNfbG9jYWw7CisJdW5zaWduZWQgc2hvcnQgdHJhbnNfcmVzZXJ2ZWQ7Cit9OworCiAKIHN0YXRpYyBpbnQgbXBjX3JlY29yZDsKIHN0YXRpYyBzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb25fdGFibGVbTUFYX01QQ19FTlRSWV0KICAgICBfX2NwdWluaXRkYXRhOworCitzdGF0aWMgaW5saW5lIGludCBnZW5lcmF0ZV9sb2dpY2FsX2FwaWNpZChpbnQgcXVhZCwgaW50IHBoeXNfYXBpY2lkKQoreworCXJldHVybiAocXVhZCA8PCA0KSArIChwaHlzX2FwaWNpZCA/IHBoeXNfYXBpY2lkIDw8IDEgOiAxKTsKK30KKworCitzdGF0aWMgaW5saW5lIGludCBtcGNfYXBpY19pZChzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0sCisJCQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb25fcmVjb3JkKQoreworCWludCBxdWFkID0gdHJhbnNsYXRpb25fcmVjb3JkLT50cmFuc19xdWFkOworCWludCBsb2dpY2FsX2FwaWNpZCA9IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKHF1YWQsIG0tPm1wY19hcGljaWQpOworCisJcHJpbnRrKEtFUk5fREVCVUcgIlByb2Nlc3NvciAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkIChxdWFkICVkLCBhcGljICVkKVxuIiwKKwkgICAgICAgbS0+bXBjX2FwaWNpZCwKKwkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX0ZBTUlMWV9NQVNLKSA+PiA4LAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfTU9ERUxfTUFTSykgPj4gNCwKKwkgICAgICAgbS0+bXBjX2FwaWN2ZXIsIHF1YWQsIGxvZ2ljYWxfYXBpY2lkKTsKKwlyZXR1cm4gbG9naWNhbF9hcGljaWQ7Cit9CisKK2ludCBtcF9idXNfaWRfdG9fbm9kZVtNQVhfTVBfQlVTU0VTXTsKKworaW50IG1wX2J1c19pZF90b19sb2NhbFtNQVhfTVBfQlVTU0VTXTsKKworc3RhdGljIHZvaWQgbXBjX29lbV9idXNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sIGNoYXIgKm5hbWUsCisJc3RydWN0IG1wY19jb25maWdfdHJhbnNsYXRpb24gKnRyYW5zbGF0aW9uKQoreworCWludCBxdWFkID0gdHJhbnNsYXRpb24tPnRyYW5zX3F1YWQ7CisJaW50IGxvY2FsID0gdHJhbnNsYXRpb24tPnRyYW5zX2xvY2FsOworCisJbXBfYnVzX2lkX3RvX25vZGVbbS0+bXBjX2J1c2lkXSA9IHF1YWQ7CisJbXBfYnVzX2lkX3RvX2xvY2FsW20tPm1wY19idXNpZF0gPSBsb2NhbDsKKwlwcmludGsoS0VSTl9JTkZPICJCdXMgIyVkIGlzICVzIChub2RlICVkKVxuIiwKKwkgICAgICAgbS0+bXBjX2J1c2lkLCBuYW1lLCBxdWFkKTsKK30KKworaW50IHF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkIFtOUl9DUFVTLzRdWzRdOworc3RhdGljIHZvaWQgbXBjX29lbV9wY2lfYnVzKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwKKwlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCit7CisJaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKKwlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7CisKKwlxdWFkX2xvY2FsX3RvX21wX2J1c19pZFtxdWFkXVtsb2NhbF0gPSBtLT5tcGNfYnVzaWQ7Cit9CisKICNlbmRpZgogCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgTVBfcHJvY2Vzc29yX2luZm8oc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptKQpAQCAtOTAsNyArMTI4LDEwIEBACiAJCXJldHVybjsKIAl9CiAjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCWFwaWNpZCA9IG1wY19hcGljX2lkKG0sIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKKwlpZiAoZm91bmRfbnVtYXEpCisJCWFwaWNpZCA9IG1wY19hcGljX2lkKG0sIHRyYW5zbGF0aW9uX3RhYmxlW21wY19yZWNvcmRdKTsKKwllbHNlCisJCWFwaWNpZCA9IG0tPm1wY19hcGljaWQ7CiAjZWxzZQogCWFwaWNpZCA9IG0tPm1wY19hcGljaWQ7CiAjZW5kaWYKQEAgLTEwMywxNyArMTQ0LDE4IEBACiAJZ2VuZXJpY19wcm9jZXNzb3JfaW5mbyhhcGljaWQsIG0tPm1wY19hcGljdmVyKTsKIH0KIAorI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogc3RhdGljIHZvaWQgX19pbml0IE1QX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSkKIHsKIAljaGFyIHN0cls3XTsKLQogCW1lbWNweShzdHIsIG0tPm1wY19idXN0eXBlLCA2KTsKIAlzdHJbNl0gPSAwOwogCiAjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCW1wY19vZW1fYnVzX2luZm8obSwgc3RyLCB0cmFuc2xhdGlvbl90YWJsZVttcGNfcmVjb3JkXSk7CisJaWYgKGZvdW5kX251bWFxKQorCQltcGNfb2VtX2J1c19pbmZvKG0sIHN0ciwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOwogI2Vsc2UKLQlEcHJpbnRrKCJCdXMgIyVkIGlzICVzXG4iLCBtLT5tcGNfYnVzaWQsIHN0cik7CisJcHJpbnRrKEtFUk5fSU5GTyAiQnVzICMlZCBpcyAlc1xuIiwgbS0+bXBjX2J1c2lkLCBzdHIpOwogI2VuZGlmCiAKICNpZiBNQVhfTVBfQlVTU0VTIDwgMjU2CkBAIC0xMzIsMTEgKzE3NCwxMCBAQAogI2VuZGlmCiAJfSBlbHNlIGlmIChzdHJuY21wKHN0ciwgQlVTVFlQRV9QQ0ksIHNpemVvZihCVVNUWVBFX1BDSSkgLSAxKSA9PSAwKSB7CiAjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQotCQltcGNfb2VtX3BjaV9idXMobSwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOworCQlpZiAoZm91bmRfbnVtYXEpCisJCQltcGNfb2VtX3BjaV9idXMobSwgdHJhbnNsYXRpb25fdGFibGVbbXBjX3JlY29yZF0pOwogI2VuZGlmCiAJCWNsZWFyX2JpdChtLT5tcGNfYnVzaWQsIG1wX2J1c19ub3RfcGNpKTsKLQkJbXBfYnVzX2lkX3RvX3BjaV9idXNbbS0+bXBjX2J1c2lkXSA9IG1wX2N1cnJlbnRfcGNpX2lkOwotCQltcF9jdXJyZW50X3BjaV9pZCsrOwogI2lmIGRlZmluZWQoQ09ORklHX0VJU0EpIHx8IGRlZmluZWQgKENPTkZJR19NQ0EpCiAJCW1wX2J1c19pZF90b190eXBlW20tPm1wY19idXNpZF0gPSBNUF9CVVNfUENJOwogCX0gZWxzZSBpZiAoc3RybmNtcChzdHIsIEJVU1RZUEVfRUlTQSwgc2l6ZW9mKEJVU1RZUEVfRUlTQSkgLSAxKSA9PSAwKSB7CkBAIC0xNDcsNiArMTg4LDcgQEAKIAl9IGVsc2UKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiVW5rbm93biBidXN0eXBlICVzIC0gaWdub3JpbmdcbiIsIHN0cik7CiB9CisjZW5kaWYKIAogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCkBAIC0xNzYsMTggKzIxOCw4OSBAQAogCWlmIChiYWRfaW9hcGljKG0tPm1wY19hcGljYWRkcikpCiAJCXJldHVybjsKIAotCW1wX2lvYXBpY3NbbnJfaW9hcGljc10gPSAqbTsKKwltcF9pb2FwaWNzW25yX2lvYXBpY3NdLm1wX2FwaWNhZGRyID0gbS0+bXBjX2FwaWNhZGRyOworCW1wX2lvYXBpY3NbbnJfaW9hcGljc10ubXBfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKKwltcF9pb2FwaWNzW25yX2lvYXBpY3NdLm1wX3R5cGUgPSBtLT5tcGNfdHlwZTsKKwltcF9pb2FwaWNzW25yX2lvYXBpY3NdLm1wX2FwaWN2ZXIgPSBtLT5tcGNfYXBpY3ZlcjsKKwltcF9pb2FwaWNzW25yX2lvYXBpY3NdLm1wX2ZsYWdzID0gbS0+bXBjX2ZsYWdzOwogCW5yX2lvYXBpY3MrKzsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IE1QX2ludHNyY19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKK3N0YXRpYyB2b2lkIHByaW50X01QX2ludHNyY19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSkKIHsKLQltcF9pcnFzW21wX2lycV9lbnRyaWVzXSA9ICptOwotCURwcmludGsoIkludDogdHlwZSAlZCwgcG9sICVkLCB0cmlnICVkLCBidXMgJWQsIgorCXByaW50ayhLRVJOX0NPTlQgIkludDogdHlwZSAlZCwgcG9sICVkLCB0cmlnICVkLCBidXMgJTAyeCwiCiAJCSIgSVJRICUwMngsIEFQSUMgSUQgJXgsIEFQSUMgSU5UICUwMnhcbiIsCiAJCW0tPm1wY19pcnF0eXBlLCBtLT5tcGNfaXJxZmxhZyAmIDMsCiAJCShtLT5tcGNfaXJxZmxhZyA+PiAyKSAmIDMsIG0tPm1wY19zcmNidXMsCiAJCW0tPm1wY19zcmNidXNpcnEsIG0tPm1wY19kc3RhcGljLCBtLT5tcGNfZHN0aXJxKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHByaW50X21wX2lycV9pbmZvKHN0cnVjdCBtcF9jb25maWdfaW50c3JjICptcF9pcnEpCit7CisJcHJpbnRrKEtFUk5fQ09OVCAiSW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlMDJ4LCIKKwkJIiBJUlEgJTAyeCwgQVBJQyBJRCAleCwgQVBJQyBJTlQgJTAyeFxuIiwKKwkJbXBfaXJxLT5tcF9pcnF0eXBlLCBtcF9pcnEtPm1wX2lycWZsYWcgJiAzLAorCQkobXBfaXJxLT5tcF9pcnFmbGFnID4+IDIpICYgMywgbXBfaXJxLT5tcF9zcmNidXMsCisJCW1wX2lycS0+bXBfc3JjYnVzaXJxLCBtcF9pcnEtPm1wX2RzdGFwaWMsIG1wX2lycS0+bXBfZHN0aXJxKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGFzc2lnbl90b19tcF9pcnEoc3RydWN0IG1wY19jb25maWdfaW50c3JjICptLAorCQkJCSAgICBzdHJ1Y3QgbXBfY29uZmlnX2ludHNyYyAqbXBfaXJxKQoreworCW1wX2lycS0+bXBfZHN0YXBpYyA9IG0tPm1wY19kc3RhcGljOworCW1wX2lycS0+bXBfdHlwZSA9IG0tPm1wY190eXBlOworCW1wX2lycS0+bXBfaXJxdHlwZSA9IG0tPm1wY19pcnF0eXBlOworCW1wX2lycS0+bXBfaXJxZmxhZyA9IG0tPm1wY19pcnFmbGFnOworCW1wX2lycS0+bXBfc3JjYnVzID0gbS0+bXBjX3NyY2J1czsKKwltcF9pcnEtPm1wX3NyY2J1c2lycSA9IG0tPm1wY19zcmNidXNpcnE7CisJbXBfaXJxLT5tcF9kc3RpcnEgPSBtLT5tcGNfZHN0aXJxOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgYXNzaWduX3RvX21wY19pbnRzcmMoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSwKKwkJCQkJc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQoreworCW0tPm1wY19kc3RhcGljID0gbXBfaXJxLT5tcF9kc3RhcGljOworCW0tPm1wY190eXBlID0gbXBfaXJxLT5tcF90eXBlOworCW0tPm1wY19pcnF0eXBlID0gbXBfaXJxLT5tcF9pcnF0eXBlOworCW0tPm1wY19pcnFmbGFnID0gbXBfaXJxLT5tcF9pcnFmbGFnOworCW0tPm1wY19zcmNidXMgPSBtcF9pcnEtPm1wX3NyY2J1czsKKwltLT5tcGNfc3JjYnVzaXJxID0gbXBfaXJxLT5tcF9zcmNidXNpcnE7CisJbS0+bXBjX2RzdGlycSA9IG1wX2lycS0+bXBfZHN0aXJxOworfQorCitzdGF0aWMgaW50IF9faW5pdCBtcF9pcnFfbXBjX2ludHNyY19jbXAoc3RydWN0IG1wX2NvbmZpZ19pbnRzcmMgKm1wX2lycSwKKwkJCQkJc3RydWN0IG1wY19jb25maWdfaW50c3JjICptKQoreworCWlmIChtcF9pcnEtPm1wX2RzdGFwaWMgIT0gbS0+bXBjX2RzdGFwaWMpCisJCXJldHVybiAxOworCWlmIChtcF9pcnEtPm1wX3R5cGUgIT0gbS0+bXBjX3R5cGUpCisJCXJldHVybiAyOworCWlmIChtcF9pcnEtPm1wX2lycXR5cGUgIT0gbS0+bXBjX2lycXR5cGUpCisJCXJldHVybiAzOworCWlmIChtcF9pcnEtPm1wX2lycWZsYWcgIT0gbS0+bXBjX2lycWZsYWcpCisJCXJldHVybiA0OworCWlmIChtcF9pcnEtPm1wX3NyY2J1cyAhPSBtLT5tcGNfc3JjYnVzKQorCQlyZXR1cm4gNTsKKwlpZiAobXBfaXJxLT5tcF9zcmNidXNpcnEgIT0gbS0+bXBjX3NyY2J1c2lycSkKKwkJcmV0dXJuIDY7CisJaWYgKG1wX2lycS0+bXBfZHN0aXJxICE9IG0tPm1wY19kc3RpcnEpCisJCXJldHVybiA3OworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCBNUF9pbnRzcmNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCit7CisJaW50IGk7CisKKwlwcmludF9NUF9pbnRzcmNfaW5mbyhtKTsKKworCWZvciAoaSA9IDA7IGkgPCBtcF9pcnFfZW50cmllczsgaSsrKSB7CisJCWlmICghbXBfaXJxX21wY19pbnRzcmNfY21wKCZtcF9pcnFzW2ldLCBtKSkKKwkJCXJldHVybjsKKwl9CisKKwlhc3NpZ25fdG9fbXBfaXJxKG0sICZtcF9pcnFzW21wX2lycV9lbnRyaWVzXSk7CiAJaWYgKCsrbXBfaXJxX2VudHJpZXMgPT0gTUFYX0lSUV9TT1VSQ0VTKQogCQlwYW5pYygiTWF4ICMgb2YgaXJxIHNvdXJjZXMgZXhjZWVkZWQhIVxuIik7CiB9CkBAIC0xOTYsNyArMzA5LDcgQEAKIAogc3RhdGljIHZvaWQgX19pbml0IE1QX2xpbnRzcmNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjICptKQogewotCURwcmludGsoIkxpbnQ6IHR5cGUgJWQsIHBvbCAlZCwgdHJpZyAlZCwgYnVzICVkLCIKKwlwcmludGsoS0VSTl9JTkZPICJMaW50OiB0eXBlICVkLCBwb2wgJWQsIHRyaWcgJWQsIGJ1cyAlMDJ4LCIKIAkJIiBJUlEgJTAyeCwgQVBJQyBJRCAleCwgQVBJQyBMSU5UICUwMnhcbiIsCiAJCW0tPm1wY19pcnF0eXBlLCBtLT5tcGNfaXJxZmxhZyAmIDMsCiAJCShtLT5tcGNfaXJxZmxhZyA+PiAyKSAmIDMsIG0tPm1wY19zcmNidXNpZCwKQEAgLTI2NiwxMSArMzc5LDE0IEBACiAJfQogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKK3ZvaWQgbnVtYXFfbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKIAkJCQkgY2hhciAqcHJvZHVjdGlkKQogewogCWlmIChzdHJuY21wKG9lbSwgIklCTSBOVU1BIiwgOCkpCi0JCXByaW50aygiV2FybmluZyEgIE1heSBub3QgYmUgYSBOVU1BLVEgc3lzdGVtIVxuIik7CisJCXByaW50aygiV2FybmluZyEgIE5vdCBhIE5VTUEtUSBzeXN0ZW0hXG4iKTsKKwllbHNlCisJCWZvdW5kX251bWFxID0gMTsKKwogCWlmIChtcGMtPm1wY19vZW1wdHIpCiAJCXNtcF9yZWFkX21wY19vZW0oKHN0cnVjdCBtcF9jb25maWdfb2VtdGFibGUgKiltcGMtPm1wY19vZW1wdHIsCiAJCQkJIG1wYy0+bXBjX29lbXNpemUpOwpAQCAtMjgxLDEyICszOTcsOSBAQAogICogUmVhZC9wYXJzZSB0aGUgTVBDCiAgKi8KIAotc3RhdGljIGludCBfX2luaXQgc21wX3JlYWRfbXBjKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgdW5zaWduZWQgZWFybHkpCitzdGF0aWMgaW50IF9faW5pdCBzbXBfY2hlY2tfbXBjKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLAorCQkJCWNoYXIgKnN0cikKIHsKLQljaGFyIHN0clsxNl07Ci0JY2hhciBvZW1bMTBdOwotCWludCBjb3VudCA9IHNpemVvZigqbXBjKTsKLQl1bnNpZ25lZCBjaGFyICptcHQgPSAoKHVuc2lnbmVkIGNoYXIgKiltcGMpICsgY291bnQ7CiAKIAlpZiAobWVtY21wKG1wYy0+bXBjX3NpZ25hdHVyZSwgTVBDX1NJR05BVFVSRSwgNCkpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJNUFRBQkxFOiBiYWQgc2lnbmF0dXJlIFslYyVjJWMlY10hXG4iLApAQCAtMzA5LDE5ICs0MjIsNDIgQEAKIAl9CiAJbWVtY3B5KG9lbSwgbXBjLT5tcGNfb2VtLCA4KTsKIAlvZW1bOF0gPSAwOwotCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IE9FTSBJRDogJXMgIiwgb2VtKTsKKwlwcmludGsoS0VSTl9JTkZPICJNUFRBQkxFOiBPRU0gSUQ6ICVzXG4iLCBvZW0pOwogCiAJbWVtY3B5KHN0ciwgbXBjLT5tcGNfcHJvZHVjdGlkLCAxMik7CiAJc3RyWzEyXSA9IDA7Ci0JcHJpbnRrKCJQcm9kdWN0IElEOiAlcyAiLCBzdHIpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCW1wc19vZW1fY2hlY2sobXBjLCBvZW0sIHN0cik7Ci0jZW5kaWYKLQlwcmludGsoS0VSTl9JTkZPICJNUFRBQkxFOiBQcm9kdWN0IElEOiAlcyAiLCBzdHIpOworCXByaW50ayhLRVJOX0lORk8gIk1QVEFCTEU6IFByb2R1Y3QgSUQ6ICVzXG4iLCBzdHIpOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiTVBUQUJMRTogQVBJQyBhdDogMHglWFxuIiwgbXBjLT5tcGNfbGFwaWMpOwogCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHNtcF9yZWFkX21wYyhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIHVuc2lnbmVkIGVhcmx5KQoreworCWNoYXIgc3RyWzE2XTsKKwljaGFyIG9lbVsxMF07CisKKwlpbnQgY291bnQgPSBzaXplb2YoKm1wYyk7CisJdW5zaWduZWQgY2hhciAqbXB0ID0gKCh1bnNpZ25lZCBjaGFyICopbXBjKSArIGNvdW50OworCisJaWYgKCFzbXBfY2hlY2tfbXBjKG1wYywgb2VtLCBzdHIpKQorCQlyZXR1cm4gMDsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwkvKgorCSAqIG5lZWQgdG8gbWFrZSBzdXJlIHN1bW1pdCBhbmQgZXM3MDAwJ3MgbXBzX29lbV9jaGVjayBpcyBzYWZlIHRvIGJlCisJICogY2FsbGVkIGVhcmx5IHZpYSBnZW5lcmljYXJjaCAncyBtcHNfb2VtX2NoZWNrCisJICovCisJaWYgKGVhcmx5KSB7CisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCQludW1hcV9tcHNfb2VtX2NoZWNrKG1wYywgb2VtLCBzdHIpOworI2VuZGlmCisJfSBlbHNlCisJCW1wc19vZW1fY2hlY2sobXBjLCBvZW0sIHN0cik7CisjZW5kaWYKKwogCS8qIHNhdmUgdGhlIGxvY2FsIEFQSUMgYWRkcmVzcywgaXQgbWlnaHQgYmUgbm9uLWRlZmF1bHQgKi8KIAlpZiAoIWFjcGlfbGFwaWMpCiAJCW1wX2xhcGljX2FkZHIgPSBtcGMtPm1wY19sYXBpYzsKQEAgLTM1Miw3ICs0ODgsOSBAQAogCQkJewogCQkJCXN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSA9CiAJCQkJICAgIChzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKiltcHQ7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCiAJCQkJTVBfYnVzX2luZm8obSk7CisjZW5kaWYKIAkJCQltcHQgKz0gc2l6ZW9mKCptKTsKIAkJCQljb3VudCArPSBzaXplb2YoKm0pOwogCQkJCWJyZWFrOwpAQCAtNDAyLDYgKzU0MCwxMSBAQAogCQkrK21wY19yZWNvcmQ7CiAjZW5kaWYKIAl9CisKKyNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICisgICAgICAgZ2VuZXJpY19iaWdzbXBfcHJvYmUoKTsKKyNlbmRpZgorCiAJc2V0dXBfYXBpY19yb3V0aW5nKCk7CiAJaWYgKCFudW1fcHJvY2Vzc29ycykKIAkJcHJpbnRrKEtFUk5fRVJSICJNUFRBQkxFOiBubyBwcm9jZXNzb3JzIHJlZ2lzdGVyZWQhXG4iKTsKQEAgLTQyNyw3ICs1NzAsNyBAQAogCWludHNyYy5tcGNfdHlwZSA9IE1QX0lOVFNSQzsKIAlpbnRzcmMubXBjX2lycWZsYWcgPSAwOwkvKiBjb25mb3JtaW5nICovCiAJaW50c3JjLm1wY19zcmNidXMgPSAwOwotCWludHNyYy5tcGNfZHN0YXBpYyA9IG1wX2lvYXBpY3NbMF0ubXBjX2FwaWNpZDsKKwlpbnRzcmMubXBjX2RzdGFwaWMgPSBtcF9pb2FwaWNzWzBdLm1wX2FwaWNpZDsKIAogCWludHNyYy5tcGNfaXJxdHlwZSA9IG1wX0lOVDsKIApAQCAtNDg4LDQwICs2MzEsMTEgQEAKIAlNUF9pbnRzcmNfaW5mbygmaW50c3JjKTsKIH0KIAotI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgY29uc3RydWN0X2RlZmF1bHRfSVNBX21wdGFibGUoaW50IG1wY19kZWZhdWx0X3R5cGUpCitzdGF0aWMgdm9pZCBjb25zdHJ1Y3RfaW9hcGljX3RhYmxlKGludCBtcGNfZGVmYXVsdF90eXBlKQogewotCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciBwcm9jZXNzb3I7Ci0Jc3RydWN0IG1wY19jb25maWdfYnVzIGJ1czsKLSNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAlzdHJ1Y3QgbXBjX2NvbmZpZ19pb2FwaWMgaW9hcGljOwotI2VuZGlmCi0Jc3RydWN0IG1wY19jb25maWdfbGludHNyYyBsaW50c3JjOwotCWludCBsaW50dHlwZXNbMl0gPSB7IG1wX0V4dElOVCwgbXBfTk1JIH07Ci0JaW50IGk7Ci0KLQkvKgotCSAqIGxvY2FsIEFQSUMgaGFzIGRlZmF1bHQgYWRkcmVzcwotCSAqLwotCW1wX2xhcGljX2FkZHIgPSBBUElDX0RFRkFVTFRfUEhZU19CQVNFOwotCi0JLyoKLQkgKiAyIENQVXMsIG51bWJlcmVkIDAgJiAxLgotCSAqLwotCXByb2Nlc3Nvci5tcGNfdHlwZSA9IE1QX1BST0NFU1NPUjsKLQkvKiBFaXRoZXIgYW4gaW50ZWdyYXRlZCBBUElDIG9yIGEgZGlzY3JldGUgODI0ODlEWC4gKi8KLQlwcm9jZXNzb3IubXBjX2FwaWN2ZXIgPSBtcGNfZGVmYXVsdF90eXBlID4gNCA/IDB4MTAgOiAweDAxOwotCXByb2Nlc3Nvci5tcGNfY3B1ZmxhZyA9IENQVV9FTkFCTEVEOwotCXByb2Nlc3Nvci5tcGNfY3B1ZmVhdHVyZSA9IChib290X2NwdV9kYXRhLng4NiA8PCA4KSB8Ci0JICAgIChib290X2NwdV9kYXRhLng4Nl9tb2RlbCA8PCA0KSB8IGJvb3RfY3B1X2RhdGEueDg2X21hc2s7Ci0JcHJvY2Vzc29yLm1wY19mZWF0dXJlZmxhZyA9IGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHlbMF07Ci0JcHJvY2Vzc29yLm1wY19yZXNlcnZlZFswXSA9IDA7Ci0JcHJvY2Vzc29yLm1wY19yZXNlcnZlZFsxXSA9IDA7Ci0JZm9yIChpID0gMDsgaSA8IDI7IGkrKykgewotCQlwcm9jZXNzb3IubXBjX2FwaWNpZCA9IGk7Ci0JCU1QX3Byb2Nlc3Nvcl9pbmZvKCZwcm9jZXNzb3IpOwotCX0KKwlzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgYnVzOwogCiAJYnVzLm1wY190eXBlID0gTVBfQlVTOwogCWJ1cy5tcGNfYnVzaWQgPSAwOwpAQCAtNTUwLDcgKzY2NCw2IEBACiAJCU1QX2J1c19pbmZvKCZidXMpOwogCX0KIAotI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCWlvYXBpYy5tcGNfdHlwZSA9IE1QX0lPQVBJQzsKIAlpb2FwaWMubXBjX2FwaWNpZCA9IDI7CiAJaW9hcGljLm1wY19hcGljdmVyID0gbXBjX2RlZmF1bHRfdHlwZSA+IDQgPyAweDEwIDogMHgwMTsKQEAgLTU2Miw3ICs2NzUsNDIgQEAKIAkgKiBXZSBzZXQgdXAgbW9zdCBvZiB0aGUgbG93IDE2IElPLUFQSUMgcGlucyBhY2NvcmRpbmcgdG8gTVBTIHJ1bGVzLgogCSAqLwogCWNvbnN0cnVjdF9kZWZhdWx0X2lvaXJxX21wdGFibGUobXBjX2RlZmF1bHRfdHlwZSk7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGNvbnN0cnVjdF9pb2FwaWNfdGFibGUoaW50IG1wY19kZWZhdWx0X3R5cGUpIHsgfQogI2VuZGlmCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgY29uc3RydWN0X2RlZmF1bHRfSVNBX21wdGFibGUoaW50IG1wY19kZWZhdWx0X3R5cGUpCit7CisJc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yIHByb2Nlc3NvcjsKKwlzdHJ1Y3QgbXBjX2NvbmZpZ19saW50c3JjIGxpbnRzcmM7CisJaW50IGxpbnR0eXBlc1syXSA9IHsgbXBfRXh0SU5ULCBtcF9OTUkgfTsKKwlpbnQgaTsKKworCS8qCisJICogbG9jYWwgQVBJQyBoYXMgZGVmYXVsdCBhZGRyZXNzCisJICovCisJbXBfbGFwaWNfYWRkciA9IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7CisKKwkvKgorCSAqIDIgQ1BVcywgbnVtYmVyZWQgMCAmIDEuCisJICovCisJcHJvY2Vzc29yLm1wY190eXBlID0gTVBfUFJPQ0VTU09SOworCS8qIEVpdGhlciBhbiBpbnRlZ3JhdGVkIEFQSUMgb3IgYSBkaXNjcmV0ZSA4MjQ4OURYLiAqLworCXByb2Nlc3Nvci5tcGNfYXBpY3ZlciA9IG1wY19kZWZhdWx0X3R5cGUgPiA0ID8gMHgxMCA6IDB4MDE7CisJcHJvY2Vzc29yLm1wY19jcHVmbGFnID0gQ1BVX0VOQUJMRUQ7CisJcHJvY2Vzc29yLm1wY19jcHVmZWF0dXJlID0gKGJvb3RfY3B1X2RhdGEueDg2IDw8IDgpIHwKKwkgICAgKGJvb3RfY3B1X2RhdGEueDg2X21vZGVsIDw8IDQpIHwgYm9vdF9jcHVfZGF0YS54ODZfbWFzazsKKwlwcm9jZXNzb3IubXBjX2ZlYXR1cmVmbGFnID0gYm9vdF9jcHVfZGF0YS54ODZfY2FwYWJpbGl0eVswXTsKKwlwcm9jZXNzb3IubXBjX3Jlc2VydmVkWzBdID0gMDsKKwlwcm9jZXNzb3IubXBjX3Jlc2VydmVkWzFdID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgMjsgaSsrKSB7CisJCXByb2Nlc3Nvci5tcGNfYXBpY2lkID0gaTsKKwkJTVBfcHJvY2Vzc29yX2luZm8oJnByb2Nlc3Nvcik7CisJfQorCisJY29uc3RydWN0X2lvYXBpY190YWJsZShtcGNfZGVmYXVsdF90eXBlKTsKKwogCWxpbnRzcmMubXBjX3R5cGUgPSBNUF9MSU5UU1JDOwogCWxpbnRzcmMubXBjX2lycWZsYWcgPSAwOwkvKiBjb25mb3JtaW5nICovCiAJbGludHNyYy5tcGNfc3JjYnVzaWQgPSAwOwpAQCAtNTc4LDEyICs3MjYsMjIgQEAKIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZl9mb3VuZDsKIAogLyoKKyAqIE1hY2hpbmUgc3BlY2lmaWMgcXVpcmsgZm9yIGZpbmRpbmcgdGhlIFNNUCBjb25maWcgYmVmb3JlIG90aGVyIHNldHVwCisgKiBhY3Rpdml0aWVzIGRlc3Ryb3kgdGhlIHRhYmxlOgorICovCitpbnQgKCptYWNoX2dldF9zbXBfY29uZmlnX3F1aXJrKSh1bnNpZ25lZCBpbnQgZWFybHkpOworCisvKgogICogU2NhbiB0aGUgbWVtb3J5IGJsb2NrcyBmb3IgYW4gU01QIGNvbmZpZ3VyYXRpb24gYmxvY2suCiAgKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBfX2dldF9zbXBfY29uZmlnKHVuc2lnbmVkIGVhcmx5KQorc3RhdGljIHZvaWQgX19pbml0IF9fZ2V0X3NtcF9jb25maWcodW5zaWduZWQgaW50IGVhcmx5KQogewogCXN0cnVjdCBpbnRlbF9tcF9mbG9hdGluZyAqbXBmID0gbXBmX2ZvdW5kOwogCisJaWYgKG1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmspIHsKKwkJaWYgKG1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmsoZWFybHkpKQorCQkJcmV0dXJuOworCX0KIAlpZiAoYWNwaV9sYXBpYyAmJiBlYXJseSkKIAkJcmV0dXJuOwogCS8qCkBAIC02MDAsNyArNzU4LDcgQEAKIAogCXByaW50ayhLRVJOX0lORk8gIkludGVsIE11bHRpUHJvY2Vzc29yIFNwZWNpZmljYXRpb24gdjEuJWRcbiIsCiAJICAgICAgIG1wZi0+bXBmX3NwZWNpZmljYXRpb24pOwotI2lmZGVmIENPTkZJR19YODZfMzIKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfTE9DQUxfQVBJQykgJiYgZGVmaW5lZChDT05GSUdfWDg2XzMyKQogCWlmIChtcGYtPm1wZl9mZWF0dXJlMiAmICgxIDw8IDcpKSB7CiAJCXByaW50ayhLRVJOX0lORk8gIiAgICBJTUNSIGFuZCBQSUMgY29tcGF0aWJpbGl0eSBtb2RlLlxuIik7CiAJCXBpY19tb2RlID0gMTsKQEAgLTYzMiw3ICs3OTAsOSBAQAogCQkgKiBvdmVycmlkZSB0aGUgZGVmYXVsdHMuCiAJCSAqLwogCQlpZiAoIXNtcF9yZWFkX21wYyhwaHlzX3RvX3ZpcnQobXBmLT5tcGZfcGh5c3B0ciksIGVhcmx5KSkgeworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCQkJc21wX2ZvdW5kX2NvbmZpZyA9IDA7CisjZW5kaWYKIAkJCXByaW50ayhLRVJOX0VSUgogCQkJICAgICAgICJCSU9TIGJ1ZywgTVAgdGFibGUgZXJyb3JzIGRldGVjdGVkIS4uLlxuIik7CiAJCQlwcmludGsoS0VSTl9FUlIgIi4uLiBkaXNhYmxpbmcgU01QIHN1cHBvcnQuICIKQEAgLTY4OSw3ICs4NDksNyBAQAogCXVuc2lnbmVkIGludCAqYnAgPSBwaHlzX3RvX3ZpcnQoYmFzZSk7CiAJc3RydWN0IGludGVsX21wX2Zsb2F0aW5nICptcGY7CiAKLQlEcHJpbnRrKCJTY2FuIFNNUCBmcm9tICVwIGZvciAlbGQgYnl0ZXMuXG4iLCBicCwgbGVuZ3RoKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiU2NhbiBTTVAgZnJvbSAlcCBmb3IgJWxkIGJ5dGVzLlxuIiwgYnAsIGxlbmd0aCk7CiAJQlVJTERfQlVHX09OKHNpemVvZigqbXBmKSAhPSAxNik7CiAKIAl3aGlsZSAobGVuZ3RoID4gMCkgewpAQCAtNjk5LDE1ICs4NTksMjEgQEAKIAkJICAgICFtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKilicCwgMTYpICYmCiAJCSAgICAoKG1wZi0+bXBmX3NwZWNpZmljYXRpb24gPT0gMSkKIAkJICAgICB8fCAobXBmLT5tcGZfc3BlY2lmaWNhdGlvbiA9PSA0KSkpIHsKLQorI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCQkJc21wX2ZvdW5kX2NvbmZpZyA9IDE7CisjZW5kaWYKIAkJCW1wZl9mb3VuZCA9IG1wZjsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCisKIAkJCXByaW50ayhLRVJOX0lORk8gImZvdW5kIFNNUCBNUC10YWJsZSBhdCBbJXBdICUwOGx4XG4iLAogCQkJICAgICAgIG1wZiwgdmlydF90b19waHlzKG1wZikpOwotCQkJcmVzZXJ2ZV9ib290bWVtKHZpcnRfdG9fcGh5cyhtcGYpLCBQQUdFX1NJWkUsCisKKwkJCWlmICghcmVzZXJ2ZSkKKwkJCQlyZXR1cm4gMTsKKwkJCXJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHZpcnRfdG9fcGh5cyhtcGYpLCBQQUdFX1NJWkUsCiAJCQkJCUJPT1RNRU1fREVGQVVMVCk7CiAJCQlpZiAobXBmLT5tcGZfcGh5c3B0cikgeworCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IFBBR0VfU0laRTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCiAJCQkJLyoKIAkJCQkgKiBXZSBjYW5ub3QgYWNjZXNzIHRvIE1QQyB0YWJsZSB0byBjb21wdXRlCiAJCQkJICogdGFibGUgc2l6ZSB5ZXQsIGFzIG9ubHkgZmV3IG1lZ2FieXRlcyBmcm9tCkBAIC03MTcsMjQgKzg4MywxNSBAQAogCQkJCSAqIFBBR0VfU0laRSBmcm9tIG1wZy0+bXBmX3BoeXNwdHIgeWllbGRzIEJVRygpCiAJCQkJICogaW4gcmVzZXJ2ZV9ib290bWVtLgogCQkJCSAqLwotCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IFBBR0VfU0laRTsKIAkJCQl1bnNpZ25lZCBsb25nIGVuZCA9IG1heF9sb3dfcGZuICogUEFHRV9TSVpFOwogCQkJCWlmIChtcGYtPm1wZl9waHlzcHRyICsgc2l6ZSA+IGVuZCkKIAkJCQkJc2l6ZSA9IGVuZCAtIG1wZi0+bXBmX3BoeXNwdHI7Ci0JCQkJcmVzZXJ2ZV9ib290bWVtKG1wZi0+bXBmX3BoeXNwdHIsIHNpemUsCisjZW5kaWYKKwkJCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhtcGYtPm1wZl9waHlzcHRyLCBzaXplLAogCQkJCQkJQk9PVE1FTV9ERUZBVUxUKTsKIAkJCX0KIAotI2Vsc2UKLQkJCWlmICghcmVzZXJ2ZSkKLQkJCQlyZXR1cm4gMTsKLQotCQkJcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModmlydF90b19waHlzKG1wZiksIFBBR0VfU0laRSk7Ci0JCQlpZiAobXBmLT5tcGZfcGh5c3B0cikKLQkJCQlyZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyhtcGYtPm1wZl9waHlzcHRyLAotCQkJCQkJCVBBR0VfU0laRSk7Ci0jZW5kaWYKLQkJcmV0dXJuIDE7CisJCQlyZXR1cm4gMTsKIAkJfQogCQlicCArPSA0OwogCQlsZW5ndGggLT0gMTY7CkBAIC03NDIsMTAgKzg5OSwxNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgX19maW5kX3NtcF9jb25maWcodW5zaWduZWQgcmVzZXJ2ZSkKK2ludCAoKm1hY2hfZmluZF9zbXBfY29uZmlnX3F1aXJrKSh1bnNpZ25lZCBpbnQgcmVzZXJ2ZSk7CisKK3N0YXRpYyB2b2lkIF9faW5pdCBfX2ZpbmRfc21wX2NvbmZpZyh1bnNpZ25lZCBpbnQgcmVzZXJ2ZSkKIHsKIAl1bnNpZ25lZCBpbnQgYWRkcmVzczsKIAorCWlmIChtYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyaykgeworCQlpZiAobWFjaF9maW5kX3NtcF9jb25maWdfcXVpcmsocmVzZXJ2ZSkpCisJCQlyZXR1cm47CisJfQogCS8qCiAJICogRklYTUU6IExpbnV4IGFzc3VtZXMgeW91IGhhdmUgNjQwSyBvZiBiYXNlIHJhbS4uCiAJICogdGhpcyBjb250aW51ZXMgdGhlIGVycm9yLi4uCkBAIC03OTAsMjk4ICs5NTMsMjk0IEBACiAJX19maW5kX3NtcF9jb25maWcoMSk7CiB9CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNQSS1iYXNlZCBNUCBDb25maWd1cmF0aW9uCi0gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworc3RhdGljIHU4IF9faW5pdGRhdGEgaXJxX3VzZWRbTUFYX0lSUV9TT1VSQ0VTXTsKIAotLyoKLSAqIEtlZXAgdGhpcyBvdXRzaWRlIGFuZCBpbml0aWFsaXplZCB0byAwLCBmb3IgIUNPTkZJR19BQ1BJIGJ1aWxkczoKLSAqLwotaW50IGVzNzAwMF9wbGF0OwotCi0jaWZkZWYgQ09ORklHX0FDUEkKLQotI2lmZGVmCUNPTkZJR19YODZfSU9fQVBJQwotCi0jZGVmaW5lIE1QX0lTQV9CVVMJCTAKLQotZXh0ZXJuIHN0cnVjdCBtcF9pb2FwaWNfcm91dGluZyBtcF9pb2FwaWNfcm91dGluZ1tNQVhfSU9fQVBJQ1NdOwotCi1zdGF0aWMgaW50IG1wX2ZpbmRfaW9hcGljKGludCBnc2kpCitzdGF0aWMgaW50ICBfX2luaXQgZ2V0X01QX2ludHNyY19pbmRleChzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgKm0pCiB7Ci0JaW50IGkgPSAwOworCWludCBpOwogCi0JLyogRmluZCB0aGUgSU9BUElDIHRoYXQgbWFuYWdlcyB0aGlzIEdTSS4gKi8KLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7Ci0JCWlmICgoZ3NpID49IG1wX2lvYXBpY19yb3V0aW5nW2ldLmdzaV9iYXNlKQotCQkgICAgJiYgKGdzaSA8PSBtcF9pb2FwaWNfcm91dGluZ1tpXS5nc2lfZW5kKSkKLQkJCXJldHVybiBpOworCWlmIChtLT5tcGNfaXJxdHlwZSAhPSBtcF9JTlQpCisJCXJldHVybiAwOworCisJaWYgKG0tPm1wY19pcnFmbGFnICE9IDB4MGYpCisJCXJldHVybiAwOworCisJLyogbm90IGxlZ2FjeSAqLworCisJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKKwkJaWYgKG1wX2lycXNbaV0ubXBfaXJxdHlwZSAhPSBtcF9JTlQpCisJCQljb250aW51ZTsKKworCQlpZiAobXBfaXJxc1tpXS5tcF9pcnFmbGFnICE9IDB4MGYpCisJCQljb250aW51ZTsKKworCQlpZiAobXBfaXJxc1tpXS5tcF9zcmNidXMgIT0gbS0+bXBjX3NyY2J1cykKKwkJCWNvbnRpbnVlOworCQlpZiAobXBfaXJxc1tpXS5tcF9zcmNidXNpcnEgIT0gbS0+bXBjX3NyY2J1c2lycSkKKwkJCWNvbnRpbnVlOworCQlpZiAoaXJxX3VzZWRbaV0pIHsKKwkJCS8qIGFscmVhZHkgY2xhaW1lZCAqLworCQkJcmV0dXJuIC0yOworCQl9CisJCWlycV91c2VkW2ldID0gMTsKKwkJcmV0dXJuIGk7CiAJfQogCi0JcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogVW5hYmxlIHRvIGxvY2F0ZSBJT0FQSUMgZm9yIEdTSSAlZFxuIiwgZ3NpKTsKKwkvKiBub3QgZm91bmQgKi8KIAlyZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyB1OCBfX2luaXQgdW5pcV9pb2FwaWNfaWQodTggaWQpCi17Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCWlmICgoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfSU5URUwpICYmCi0JICAgICFBUElDX1hBUElDKGFwaWNfdmVyc2lvbltib290X2NwdV9waHlzaWNhbF9hcGljaWRdKSkKLQkJcmV0dXJuIGlvX2FwaWNfZ2V0X3VuaXF1ZV9pZChucl9pb2FwaWNzLCBpZCk7Ci0JZWxzZQotCQlyZXR1cm4gaWQ7Ci0jZWxzZQotCWludCBpOwotCURFQ0xBUkVfQklUTUFQKHVzZWQsIDI1Nik7Ci0JYml0bWFwX3plcm8odXNlZCwgMjU2KTsKLQlmb3IgKGkgPSAwOyBpIDwgbnJfaW9hcGljczsgaSsrKSB7Ci0JCXN0cnVjdCBtcGNfY29uZmlnX2lvYXBpYyAqaWEgPSAmbXBfaW9hcGljc1tpXTsKLQkJX19zZXRfYml0KGlhLT5tcGNfYXBpY2lkLCB1c2VkKTsKLQl9Ci0JaWYgKCF0ZXN0X2JpdChpZCwgdXNlZCkpCi0JCXJldHVybiBpZDsKLQlyZXR1cm4gZmluZF9maXJzdF96ZXJvX2JpdCh1c2VkLCAyNTYpOworI2RlZmluZSBTUEFSRV9TTE9UX05VTSAyMAorCitzdGF0aWMgc3RydWN0IG1wY19jb25maWdfaW50c3JjIF9faW5pdGRhdGEgKm1fc3BhcmVbU1BBUkVfU0xPVF9OVU1dOwogI2VuZGlmCi19CiAKLXZvaWQgX19pbml0IG1wX3JlZ2lzdGVyX2lvYXBpYyhpbnQgaWQsIHUzMiBhZGRyZXNzLCB1MzIgZ3NpX2Jhc2UpCitzdGF0aWMgaW50ICBfX2luaXQgcmVwbGFjZV9pbnRzcmNfYWxsKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywKKwkJCQkJdW5zaWduZWQgbG9uZyBtcGNfbmV3X3BoeXMsCisJCQkJCXVuc2lnbmVkIGxvbmcgbXBjX25ld19sZW5ndGgpCiB7Ci0JaW50IGlkeCA9IDA7Ci0KLQlpZiAoYmFkX2lvYXBpYyhhZGRyZXNzKSkKLQkJcmV0dXJuOwotCi0JaWR4ID0gbnJfaW9hcGljczsKLQotCW1wX2lvYXBpY3NbaWR4XS5tcGNfdHlwZSA9IE1QX0lPQVBJQzsKLQltcF9pb2FwaWNzW2lkeF0ubXBjX2ZsYWdzID0gTVBDX0FQSUNfVVNBQkxFOwotCW1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2FkZHIgPSBhZGRyZXNzOwotCi0Jc2V0X2ZpeG1hcF9ub2NhY2hlKEZJWF9JT19BUElDX0JBU0VfMCArIGlkeCwgYWRkcmVzcyk7Ci0JbXBfaW9hcGljc1tpZHhdLm1wY19hcGljaWQgPSB1bmlxX2lvYXBpY19pZChpZCk7Ci0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCW1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY3ZlciA9IGlvX2FwaWNfZ2V0X3ZlcnNpb24oaWR4KTsKLSNlbHNlCi0JbXBfaW9hcGljc1tpZHhdLm1wY19hcGljdmVyID0gMDsKLSNlbmRpZgotCS8qCi0JICogQnVpbGQgYmFzaWMgR1NJIGxvb2t1cCB0YWJsZSB0byBmYWNpbGl0YXRlIGdzaS0+aW9fYXBpYyBsb29rdXBzCi0JICogYW5kIHRvIHByZXZlbnQgcmVwcm9ncmFtbWluZyBvZiBJT0FQSUMgcGlucyAoUENJIEdTSXMpLgotCSAqLwotCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uYXBpY19pZCA9IG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2lkOwotCW1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2Jhc2UgPSBnc2lfYmFzZTsKLQltcF9pb2FwaWNfcm91dGluZ1tpZHhdLmdzaV9lbmQgPSBnc2lfYmFzZSArCi0JICAgIGlvX2FwaWNfZ2V0X3JlZGlyX2VudHJpZXMoaWR4KTsKLQotCXByaW50ayhLRVJOX0lORk8gIklPQVBJQ1slZF06IGFwaWNfaWQgJWQsIHZlcnNpb24gJWQsIGFkZHJlc3MgMHgleCwgIgotCSAgICAgICAiR1NJICVkLSVkXG4iLCBpZHgsIG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2lkLAotCSAgICAgICBtcF9pb2FwaWNzW2lkeF0ubXBjX2FwaWN2ZXIsIG1wX2lvYXBpY3NbaWR4XS5tcGNfYXBpY2FkZHIsCi0JICAgICAgIG1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2Jhc2UsIG1wX2lvYXBpY19yb3V0aW5nW2lkeF0uZ3NpX2VuZCk7Ci0KLQlucl9pb2FwaWNzKys7Ci19Ci0KLXZvaWQgX19pbml0IG1wX292ZXJyaWRlX2xlZ2FjeV9pcnEodTggYnVzX2lycSwgdTggcG9sYXJpdHksIHU4IHRyaWdnZXIsIHUzMiBnc2kpCi17Ci0Jc3RydWN0IG1wY19jb25maWdfaW50c3JjIGludHNyYzsKLQlpbnQgaW9hcGljID0gLTE7Ci0JaW50IHBpbiA9IC0xOwotCi0JLyoKLQkgKiBDb252ZXJ0ICdnc2knIHRvICdpb2FwaWMucGluJy4KLQkgKi8KLQlpb2FwaWMgPSBtcF9maW5kX2lvYXBpYyhnc2kpOwotCWlmIChpb2FwaWMgPCAwKQotCQlyZXR1cm47Ci0JcGluID0gZ3NpIC0gbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5nc2lfYmFzZTsKLQotCS8qCi0JICogVEJEOiBUaGlzIGNoZWNrIGlzIGZvciBmYXVsdHkgdGltZXIgZW50cmllcywgd2hlcmUgdGhlIG92ZXJyaWRlCi0JICogICAgICBlcnJvbmVvdXNseSBzZXRzIHRoZSB0cmlnZ2VyIHRvIGxldmVsLCByZXN1bHRpbmcgaW4gYSBIVUdFCi0JICogICAgICBpbmNyZWFzZSBvZiB0aW1lciBpbnRlcnJ1cHRzIQotCSAqLwotCWlmICgoYnVzX2lycSA9PSAwKSAmJiAodHJpZ2dlciA9PSAzKSkKLQkJdHJpZ2dlciA9IDE7Ci0KLQlpbnRzcmMubXBjX3R5cGUgPSBNUF9JTlRTUkM7Ci0JaW50c3JjLm1wY19pcnF0eXBlID0gbXBfSU5UOwotCWludHNyYy5tcGNfaXJxZmxhZyA9ICh0cmlnZ2VyIDw8IDIpIHwgcG9sYXJpdHk7Ci0JaW50c3JjLm1wY19zcmNidXMgPSBNUF9JU0FfQlVTOwotCWludHNyYy5tcGNfc3JjYnVzaXJxID0gYnVzX2lycTsJLyogSVJRICovCi0JaW50c3JjLm1wY19kc3RhcGljID0gbXBfaW9hcGljc1tpb2FwaWNdLm1wY19hcGljaWQ7CS8qIEFQSUMgSUQgKi8KLQlpbnRzcmMubXBjX2RzdGlycSA9IHBpbjsJLyogSU5USU4jICovCi0KLQlNUF9pbnRzcmNfaW5mbygmaW50c3JjKTsKLX0KLQotdm9pZCBfX2luaXQgbXBfY29uZmlnX2FjcGlfbGVnYWN5X2lycXModm9pZCkKLXsKLQlzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgaW50c3JjOwotCWludCBpID0gMDsKLQlpbnQgaW9hcGljID0gLTE7Ci0KLSNpZiBkZWZpbmVkIChDT05GSUdfTUNBKSB8fCBkZWZpbmVkIChDT05GSUdfRUlTQSkKLQkvKgotCSAqIEZhYnJpY2F0ZSB0aGUgbGVnYWN5IElTQSBidXMgKGJ1cyAjMzEpLgotCSAqLwotCW1wX2J1c19pZF90b190eXBlW01QX0lTQV9CVVNdID0gTVBfQlVTX0lTQTsKLSNlbmRpZgotCXNldF9iaXQoTVBfSVNBX0JVUywgbXBfYnVzX25vdF9wY2kpOwotCURwcmludGsoIkJ1cyAjJWQgaXMgSVNBXG4iLCBNUF9JU0FfQlVTKTsKLQotCS8qCi0JICogT2xkZXIgZ2VuZXJhdGlvbnMgb2YgRVM3MDAwIGhhdmUgbm8gbGVnYWN5IGlkZW50aXR5IG1hcHBpbmdzCi0JICovCi0JaWYgKGVzNzAwMF9wbGF0ID09IDEpCi0JCXJldHVybjsKLQotCS8qCi0JICogTG9jYXRlIHRoZSBJT0FQSUMgdGhhdCBtYW5hZ2VzIHRoZSBJU0EgSVJRcyAoMC0xNSkuCi0JICovCi0JaW9hcGljID0gbXBfZmluZF9pb2FwaWMoMCk7Ci0JaWYgKGlvYXBpYyA8IDApCi0JCXJldHVybjsKLQotCWludHNyYy5tcGNfdHlwZSA9IE1QX0lOVFNSQzsKLQlpbnRzcmMubXBjX2lycWZsYWcgPSAwOwkvKiBDb25mb3JtaW5nICovCi0JaW50c3JjLm1wY19zcmNidXMgPSBNUF9JU0FfQlVTOwogI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwotCWludHNyYy5tcGNfZHN0YXBpYyA9IG1wX2lvYXBpY3NbaW9hcGljXS5tcGNfYXBpY2lkOworCWludCBpOworCWludCBucl9tX3NwYXJlID0gMDsKICNlbmRpZgotCS8qCi0JICogVXNlIHRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBJUlFzIDAtMTUuICBVbmxlc3MKLQkgKiBvdmVycmlkZGVuIGJ5IChNQURUKSBpbnRlcnJ1cHQgc291cmNlIG92ZXJyaWRlIGVudHJpZXMuCi0JICovCi0JZm9yIChpID0gMDsgaSA8IDE2OyBpKyspIHsKLQkJaW50IGlkeDsKIAotCQlmb3IgKGlkeCA9IDA7IGlkeCA8IG1wX2lycV9lbnRyaWVzOyBpZHgrKykgewotCQkJc3RydWN0IG1wY19jb25maWdfaW50c3JjICppcnEgPSBtcF9pcnFzICsgaWR4OworCWludCBjb3VudCA9IHNpemVvZigqbXBjKTsKKwl1bnNpZ25lZCBjaGFyICptcHQgPSAoKHVuc2lnbmVkIGNoYXIgKiltcGMpICsgY291bnQ7CiAKLQkJCS8qIERvIHdlIGFscmVhZHkgaGF2ZSBhIG1hcHBpbmcgZm9yIHRoaXMgSVNBIElSUT8gKi8KLQkJCWlmIChpcnEtPm1wY19zcmNidXMgPT0gTVBfSVNBX0JVUwotCQkJICAgICYmIGlycS0+bXBjX3NyY2J1c2lycSA9PSBpKQorCXByaW50ayhLRVJOX0lORk8gIm1wY19sZW5ndGggJXhcbiIsIG1wYy0+bXBjX2xlbmd0aCk7CisJd2hpbGUgKGNvdW50IDwgbXBjLT5tcGNfbGVuZ3RoKSB7CisJCXN3aXRjaCAoKm1wdCkgeworCQljYXNlIE1QX1BST0NFU1NPUjoKKwkJCXsKKwkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm0gPQorCQkJCSAgICAoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICopbXB0OworCQkJCW1wdCArPSBzaXplb2YoKm0pOworCQkJCWNvdW50ICs9IHNpemVvZigqbSk7CiAJCQkJYnJlYWs7Ci0KLQkJCS8qIERvIHdlIGFscmVhZHkgaGF2ZSBhIG1hcHBpbmcgZm9yIHRoaXMgSU9BUElDIHBpbiAqLwotCQkJaWYgKChpcnEtPm1wY19kc3RhcGljID09IGludHNyYy5tcGNfZHN0YXBpYykgJiYKLQkJCSAgICAoaXJxLT5tcGNfZHN0aXJxID09IGkpKQorCQkJfQorCQljYXNlIE1QX0JVUzoKKwkJCXsKKwkJCQlzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0gPQorCQkJCSAgICAoc3RydWN0IG1wY19jb25maWdfYnVzICopbXB0OworCQkJCW1wdCArPSBzaXplb2YoKm0pOworCQkJCWNvdW50ICs9IHNpemVvZigqbSk7CiAJCQkJYnJlYWs7CisJCQl9CisJCWNhc2UgTVBfSU9BUElDOgorCQkJeworCQkJCW1wdCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW9hcGljKTsKKwkJCQljb3VudCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW9hcGljKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSBNUF9JTlRTUkM6CisJCQl7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJCQkJc3RydWN0IG1wY19jb25maWdfaW50c3JjICptID0KKwkJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqKW1wdDsKKworCQkJCXByaW50ayhLRVJOX0lORk8gIk9MRCAiKTsKKwkJCQlwcmludF9NUF9pbnRzcmNfaW5mbyhtKTsKKwkJCQlpID0gZ2V0X01QX2ludHNyY19pbmRleChtKTsKKwkJCQlpZiAoaSA+IDApIHsKKwkJCQkJYXNzaWduX3RvX21wY19pbnRzcmMoJm1wX2lycXNbaV0sIG0pOworCQkJCQlwcmludGsoS0VSTl9JTkZPICJORVcgIik7CisJCQkJCXByaW50X21wX2lycV9pbmZvKCZtcF9pcnFzW2ldKTsKKwkJCQl9IGVsc2UgaWYgKCFpKSB7CisJCQkJCS8qIGxlZ2FjeSwgZG8gbm90aGluZyAqLworCQkJCX0gZWxzZSBpZiAobnJfbV9zcGFyZSA8IFNQQVJFX1NMT1RfTlVNKSB7CisJCQkJCS8qCisJCQkJCSAqIG5vdCBmb3VuZCAoLTEpLCBvciBkdXBsaWNhdGVkICgtMikKKwkJCQkJICogYXJlIGludmFsaWQgZW50cmllcywKKwkJCQkJICogd2UgbmVlZCB0byB1c2UgdGhlIHNsb3QgIGxhdGVyCisJCQkJCSAqLworCQkJCQltX3NwYXJlW25yX21fc3BhcmVdID0gbTsKKwkJCQkJbnJfbV9zcGFyZSsrOworCQkJCX0KKyNlbmRpZgorCQkJCW1wdCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW50c3JjKTsKKwkJCQljb3VudCArPSBzaXplb2Yoc3RydWN0IG1wY19jb25maWdfaW50c3JjKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJY2FzZSBNUF9MSU5UU1JDOgorCQkJeworCQkJCXN0cnVjdCBtcGNfY29uZmlnX2xpbnRzcmMgKm0gPQorCQkJCSAgICAoc3RydWN0IG1wY19jb25maWdfbGludHNyYyAqKW1wdDsKKwkJCQltcHQgKz0gc2l6ZW9mKCptKTsKKwkJCQljb3VudCArPSBzaXplb2YoKm0pOworCQkJCWJyZWFrOworCQkJfQorCQlkZWZhdWx0OgorCQkJLyogd3JvbmcgbXB0YWJsZSAqLworCQkJcHJpbnRrKEtFUk5fRVJSICJZb3VyIG1wdGFibGUgaXMgd3JvbmcsIGNvbnRhY3QgeW91ciBIVyB2ZW5kb3IhXG4iKTsKKwkJCXByaW50ayhLRVJOX0VSUiAidHlwZSAleFxuIiwgKm1wdCk7CisJCQlwcmludF9oZXhfZHVtcChLRVJOX0VSUiwgIiAgIiwgRFVNUF9QUkVGSVhfQUREUkVTUywgMTYsCisJCQkJCTEsIG1wYywgbXBjLT5tcGNfbGVuZ3RoLCAxKTsKKwkJCWdvdG8gb3V0OwogCQl9Ci0KLQkJaWYgKGlkeCAhPSBtcF9pcnFfZW50cmllcykgewotCQkJcHJpbnRrKEtFUk5fREVCVUcgIkFDUEk6IElSUSVkIHVzZWQgYnkgb3ZlcnJpZGUuXG4iLCBpKTsKLQkJCWNvbnRpbnVlOwkvKiBJUlEgYWxyZWFkeSB1c2VkICovCi0JCX0KLQotCQlpbnRzcmMubXBjX2lycXR5cGUgPSBtcF9JTlQ7Ci0JCWludHNyYy5tcGNfc3JjYnVzaXJxID0gaTsJLyogSWRlbnRpdHkgbWFwcGVkICovCi0JCWludHNyYy5tcGNfZHN0aXJxID0gaTsKLQotCQlNUF9pbnRzcmNfaW5mbygmaW50c3JjKTsKLQl9Ci19Ci0KLWludCBtcF9yZWdpc3Rlcl9nc2kodTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSkKLXsKLQlpbnQgaW9hcGljOwotCWludCBpb2FwaWNfcGluOwotI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgTUFYX0dTSV9OVU0JNDA5NgotI2RlZmluZSBJUlFfQ09NUFJFU1NJT05fU1RBUlQJNjQKLQotCXN0YXRpYyBpbnQgcGNpX2lycSA9IElSUV9DT01QUkVTU0lPTl9TVEFSVDsKLQkvKgotCSAqIE1hcHBpbmcgYmV0d2VlbiBHbG9iYWwgU3lzdGVtIEludGVycnVwdHMsIHdoaWNoCi0JICogcmVwcmVzZW50IGFsbCBwb3NzaWJsZSBpbnRlcnJ1cHRzLCBhbmQgSVJRcwotCSAqIGFzc2lnbmVkIHRvIGFjdHVhbCBkZXZpY2VzLgotCSAqLwotCXN0YXRpYyBpbnQgZ3NpX3RvX2lycVtNQVhfR1NJX05VTV07Ci0jZWxzZQotCi0JaWYgKGFjcGlfaXJxX21vZGVsICE9IEFDUElfSVJRX01PREVMX0lPQVBJQykKLQkJcmV0dXJuIGdzaTsKLSNlbmRpZgotCi0JLyogRG9uJ3Qgc2V0IHVwIHRoZSBBQ1BJIFNDSSBiZWNhdXNlIGl0J3MgYWxyZWFkeSBzZXQgdXAgKi8KLQlpZiAoYWNwaV9nYmxfRkFEVC5zY2lfaW50ZXJydXB0ID09IGdzaSkKLQkJcmV0dXJuIGdzaTsKLQotCWlvYXBpYyA9IG1wX2ZpbmRfaW9hcGljKGdzaSk7Ci0JaWYgKGlvYXBpYyA8IDApIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiTm8gSU9BUElDIGZvciBHU0kgJXVcbiIsIGdzaSk7Ci0JCXJldHVybiBnc2k7CiAJfQogCi0JaW9hcGljX3BpbiA9IGdzaSAtIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uZ3NpX2Jhc2U7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCisJZm9yIChpID0gMDsgaSA8IG1wX2lycV9lbnRyaWVzOyBpKyspIHsKKwkJaWYgKGlycV91c2VkW2ldKQorCQkJY29udGludWU7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JaWYgKGlvYXBpY19yZW51bWJlcl9pcnEpCi0JCWdzaSA9IGlvYXBpY19yZW51bWJlcl9pcnEoaW9hcGljLCBnc2kpOwotI2VuZGlmCisJCWlmIChtcF9pcnFzW2ldLm1wX2lycXR5cGUgIT0gbXBfSU5UKQorCQkJY29udGludWU7CiAKLQkvKgotCSAqIEF2b2lkIHBpbiByZXByb2dyYW1taW5nLiAgUFJUcyB0eXBpY2FsbHkgaW5jbHVkZSBlbnRyaWVzCi0JICogd2l0aCByZWR1bmRhbnQgcGluLT5nc2kgbWFwcGluZ3MgKGJ1dCB1bmlxdWUgUENJIGRldmljZXMpOwotCSAqIHdlIG9ubHkgcHJvZ3JhbSB0aGUgSU9BUElDIG9uIHRoZSBmaXJzdC4KLQkgKi8KLQlpZiAoaW9hcGljX3BpbiA+IE1QX01BWF9JT0FQSUNfUElOKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiSW52YWxpZCByZWZlcmVuY2UgdG8gSU9BUElDIHBpbiAiCi0JCSAgICAgICAiJWQtJWRcbiIsIG1wX2lvYXBpY19yb3V0aW5nW2lvYXBpY10uYXBpY19pZCwKLQkJICAgICAgIGlvYXBpY19waW4pOwotCQlyZXR1cm4gZ3NpOwotCX0KLQlpZiAodGVzdF9iaXQoaW9hcGljX3BpbiwgbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5waW5fcHJvZ3JhbW1lZCkpIHsKLQkJRHByaW50ayhLRVJOX0RFQlVHICJQaW4gJWQtJWQgYWxyZWFkeSBwcm9ncmFtbWVkXG4iLAotCQkJbXBfaW9hcGljX3JvdXRpbmdbaW9hcGljXS5hcGljX2lkLCBpb2FwaWNfcGluKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JCXJldHVybiAoZ3NpIDwgSVJRX0NPTVBSRVNTSU9OX1NUQVJUID8gZ3NpIDogZ3NpX3RvX2lycVtnc2ldKTsKLSNlbHNlCi0JCXJldHVybiBnc2k7Ci0jZW5kaWYKLQl9CisJCWlmIChtcF9pcnFzW2ldLm1wX2lycWZsYWcgIT0gMHgwZikKKwkJCWNvbnRpbnVlOwogCi0Jc2V0X2JpdChpb2FwaWNfcGluLCBtcF9pb2FwaWNfcm91dGluZ1tpb2FwaWNdLnBpbl9wcm9ncmFtbWVkKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0JLyoKLQkgKiBGb3IgR1NJID49IDY0LCB1c2UgSVJRIGNvbXByZXNzaW9uCi0JICovCi0JaWYgKChnc2kgPj0gSVJRX0NPTVBSRVNTSU9OX1NUQVJUKQotCSAgICAmJiAodHJpZ2dlcmluZyA9PSBBQ1BJX0xFVkVMX1NFTlNJVElWRSkpIHsKLQkJLyoKLQkJICogRm9yIFBDSSBkZXZpY2VzIGFzc2lnbiBJUlFzIGluIG9yZGVyLCBhdm9pZGluZyBnYXBzCi0JCSAqIGR1ZSB0byB1bnVzZWQgSS9PIEFQSUMgcGlucy4KLQkJICovCi0JCWludCBpcnEgPSBnc2k7Ci0JCWlmIChnc2kgPCBNQVhfR1NJX05VTSkgewotCQkJLyoKLQkJCSAqIFJldGFpbiB0aGUgVklBIGNoaXBzZXQgd29yay1hcm91bmQgKGdzaSA+IDE1KSwgYnV0Ci0JCQkgKiBhdm9pZCBhIHByb2JsZW0gd2hlcmUgdGhlIDgyNTQgdGltZXIgKElSUTApIGlzIHNldHVwCi0JCQkgKiB2aWEgYW4gb3ZlcnJpZGUgKHNvIGl0J3Mgbm90IG9uIHBpbiAwIG9mIHRoZSBpb2FwaWMpLAotCQkJICogYW5kIGF0IHRoZSBzYW1lIHRpbWUsIHRoZSBwaW4gMCBpbnRlcnJ1cHQgaXMgYSBQQ0kKLQkJCSAqIHR5cGUuICBUaGUgZ3NpID4gMTUgdGVzdCBjb3VsZCBjYXVzZSB0aGVzZSB0d28gcGlucwotCQkJICogdG8gYmUgc2hhcmVkIGFzIElSUTAsIGFuZCB0aGV5IGFyZSBub3Qgc2hhcmVhYmxlLgotCQkJICogU28gdGVzdCBmb3IgdGhpcyBjb25kaXRpb24sIGFuZCBpZiBuZWNlc3NhcnksIGF2b2lkCi0JCQkgKiB0aGUgcGluIGNvbGxpc2lvbi4KLQkJCSAqLwotCQkJZ3NpID0gcGNpX2lycSsrOwotCQkJLyoKLQkJCSAqIERvbid0IGFzc2lnbiBJUlEgdXNlZCBieSBBQ1BJIFNDSQotCQkJICovCi0JCQlpZiAoZ3NpID09IGFjcGlfZ2JsX0ZBRFQuc2NpX2ludGVycnVwdCkKLQkJCQlnc2kgPSBwY2lfaXJxKys7Ci0JCQlnc2lfdG9faXJxW2lycV0gPSBnc2k7CisJCWlmIChucl9tX3NwYXJlID4gMCkgeworCQkJcHJpbnRrKEtFUk5fSU5GTyAiKk5FVyogZm91bmQgIik7CisJCQlucl9tX3NwYXJlLS07CisJCQlhc3NpZ25fdG9fbXBjX2ludHNyYygmbXBfaXJxc1tpXSwgbV9zcGFyZVtucl9tX3NwYXJlXSk7CisJCQltX3NwYXJlW25yX21fc3BhcmVdID0gTlVMTDsKIAkJfSBlbHNlIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiR1NJICV1IGlzIHRvbyBoaWdoXG4iLCBnc2kpOwotCQkJcmV0dXJuIGdzaTsKKwkJCXN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqbSA9CisJCQkgICAgKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyAqKW1wdDsKKwkJCWNvdW50ICs9IHNpemVvZihzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMpOworCQkJaWYgKCFtcGNfbmV3X3BoeXMpIHsKKwkJCQlwcmludGsoS0VSTl9JTkZPICJObyBzcGFyZSBzbG90cywgdHJ5IHRvIGFwcGVuZC4uLnRha2UgeW91ciByaXNrLCBuZXcgbXBjX2xlbmd0aCAleFxuIiwgY291bnQpOworCQkJfSBlbHNlIHsKKwkJCQlpZiAoY291bnQgPD0gbXBjX25ld19sZW5ndGgpCisJCQkJCXByaW50ayhLRVJOX0lORk8gIk5vIHNwYXJlIHNsb3RzLCB0cnkgdG8gYXBwZW5kLi4uLCBuZXcgbXBjX2xlbmd0aCAleFxuIiwgY291bnQpOworCQkJCWVsc2UgeworCQkJCQlwcmludGsoS0VSTl9FUlIgIm1wY19uZXdfbGVuZ3RoICVseCBpcyB0b28gc21hbGxcbiIsIG1wY19uZXdfbGVuZ3RoKTsKKwkJCQkJZ290byBvdXQ7CisJCQkJfQorCQkJfQorCQkJYXNzaWduX3RvX21wY19pbnRzcmMoJm1wX2lycXNbaV0sIG0pOworCQkJbXBjLT5tcGNfbGVuZ3RoID0gY291bnQ7CisJCQltcHQgKz0gc2l6ZW9mKHN0cnVjdCBtcGNfY29uZmlnX2ludHNyYyk7CiAJCX0KKwkJcHJpbnRfbXBfaXJxX2luZm8oJm1wX2lycXNbaV0pOwogCX0KICNlbmRpZgotCWlvX2FwaWNfc2V0X3BjaV9yb3V0aW5nKGlvYXBpYywgaW9hcGljX3BpbiwgZ3NpLAotCQkJCXRyaWdnZXJpbmcgPT0gQUNQSV9FREdFX1NFTlNJVElWRSA/IDAgOiAxLAotCQkJCXBvbGFyaXR5ID09IEFDUElfQUNUSVZFX0hJR0ggPyAwIDogMSk7Ci0JcmV0dXJuIGdzaTsKK291dDoKKwkvKiB1cGRhdGUgY2hlY2tzdW0gKi8KKwltcGMtPm1wY19jaGVja3N1bSA9IDA7CisJbXBjLT5tcGNfY2hlY2tzdW0gLT0gbXBmX2NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyICopbXBjLAorCQkJCQkgICBtcGMtPm1wY19sZW5ndGgpOworCisJcmV0dXJuIDA7CiB9CiAKLSNlbmRpZiAvKiBDT05GSUdfWDg2X0lPX0FQSUMgKi8KLSNlbmRpZiAvKiBDT05GSUdfQUNQSSAqLworc3RhdGljIGludCBfX2luaXRkYXRhIGVuYWJsZV91cGRhdGVfbXB0YWJsZTsKKworc3RhdGljIGludCBfX2luaXQgdXBkYXRlX21wdGFibGVfc2V0dXAoY2hhciAqc3RyKQoreworCWVuYWJsZV91cGRhdGVfbXB0YWJsZSA9IDE7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgidXBkYXRlX21wdGFibGUiLCB1cGRhdGVfbXB0YWJsZV9zZXR1cCk7CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbXBjX25ld19waHlzOworc3RhdGljIHVuc2lnbmVkIGxvbmcgbXBjX25ld19sZW5ndGggX19pbml0ZGF0YSA9IDQwOTY7CisKKy8qIGFsbG9jX21wdGFibGUgb3IgYWxsb2NfbXB0YWJsZT00ayAqLworc3RhdGljIGludCBfX2luaXRkYXRhIGFsbG9jX21wdGFibGU7CitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9hbGxvY19tcHRhYmxlX29wdChjaGFyICpwKQoreworCWVuYWJsZV91cGRhdGVfbXB0YWJsZSA9IDE7CisJYWxsb2NfbXB0YWJsZSA9IDE7CisJaWYgKCFwKQorCQlyZXR1cm4gMDsKKwltcGNfbmV3X2xlbmd0aCA9IG1lbXBhcnNlKHAsICZwKTsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJhbGxvY19tcHRhYmxlIiwgcGFyc2VfYWxsb2NfbXB0YWJsZV9vcHQpOworCit2b2lkIF9faW5pdCBlYXJseV9yZXNlcnZlX2U4MjBfbXBjX25ldyh2b2lkKQoreworCWlmIChlbmFibGVfdXBkYXRlX21wdGFibGUgJiYgYWxsb2NfbXB0YWJsZSkgeworCQl1NjQgc3RhcnR0ID0gMDsKKyNpZmRlZiBDT05GSUdfWDg2X1RSQU1QT0xJTkUKKwkJc3RhcnR0ID0gVFJBTVBPTElORV9CQVNFOworI2VuZGlmCisJCW1wY19uZXdfcGh5cyA9IGVhcmx5X3Jlc2VydmVfZTgyMChzdGFydHQsIG1wY19uZXdfbGVuZ3RoLCA0KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHVwZGF0ZV9tcF90YWJsZSh2b2lkKQoreworCWNoYXIgc3RyWzE2XTsKKwljaGFyIG9lbVsxMF07CisJc3RydWN0IGludGVsX21wX2Zsb2F0aW5nICptcGY7CisJc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjOworCXN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wY19uZXc7CisKKwlpZiAoIWVuYWJsZV91cGRhdGVfbXB0YWJsZSkKKwkJcmV0dXJuIDA7CisKKwltcGYgPSBtcGZfZm91bmQ7CisJaWYgKCFtcGYpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBOb3cgc2VlIGlmIHdlIG5lZWQgdG8gZ28gZnVydGhlci4KKwkgKi8KKwlpZiAobXBmLT5tcGZfZmVhdHVyZTEgIT0gMCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIW1wZi0+bXBmX3BoeXNwdHIpCisJCXJldHVybiAwOworCisJbXBjID0gcGh5c190b192aXJ0KG1wZi0+bXBmX3BoeXNwdHIpOworCisJaWYgKCFzbXBfY2hlY2tfbXBjKG1wYywgb2VtLCBzdHIpKQorCQlyZXR1cm4gMDsKKworCXByaW50ayhLRVJOX0lORk8gIm1wZjogJWx4XG4iLCB2aXJ0X3RvX3BoeXMobXBmKSk7CisJcHJpbnRrKEtFUk5fSU5GTyAibXBmX3BoeXNwdHI6ICV4XG4iLCBtcGYtPm1wZl9waHlzcHRyKTsKKworCWlmIChtcGNfbmV3X3BoeXMgJiYgbXBjLT5tcGNfbGVuZ3RoID4gbXBjX25ld19sZW5ndGgpIHsKKwkJbXBjX25ld19waHlzID0gMDsKKwkJcHJpbnRrKEtFUk5fSU5GTyAibXBjX25ld19sZW5ndGggaXMgJWxkLCBwbGVhc2UgdXNlIGFsbG9jX21wdGFibGU9OGtcbiIsCisJCQkgbXBjX25ld19sZW5ndGgpOworCX0KKworCWlmICghbXBjX25ld19waHlzKSB7CisJCXVuc2lnbmVkIGNoYXIgb2xkLCBuZXc7CisJCS8qIGNoZWNrIGlmIHdlIGNhbiBjaGFuZ2UgdGhlIHBvc3Rpb24gKi8KKwkJbXBjLT5tcGNfY2hlY2tzdW0gPSAwOworCQlvbGQgPSBtcGZfY2hlY2tzdW0oKHVuc2lnbmVkIGNoYXIgKiltcGMsIG1wYy0+bXBjX2xlbmd0aCk7CisJCW1wYy0+bXBjX2NoZWNrc3VtID0gMHhmZjsKKwkJbmV3ID0gbXBmX2NoZWNrc3VtKCh1bnNpZ25lZCBjaGFyICopbXBjLCBtcGMtPm1wY19sZW5ndGgpOworCQlpZiAob2xkID09IG5ldykgeworCQkJcHJpbnRrKEtFUk5fSU5GTyAibXBjIGlzIHJlYWRvbmx5LCBwbGVhc2UgdHJ5IGFsbG9jX21wdGFibGUgaW5zdGVhZFxuIik7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlwcmludGsoS0VSTl9JTkZPICJ1c2UgaW4tcG9zaXRvbiByZXBsYWNpbmdcbiIpOworCX0gZWxzZSB7CisJCW1wZi0+bXBmX3BoeXNwdHIgPSBtcGNfbmV3X3BoeXM7CisJCW1wY19uZXcgPSBwaHlzX3RvX3ZpcnQobXBjX25ld19waHlzKTsKKwkJbWVtY3B5KG1wY19uZXcsIG1wYywgbXBjLT5tcGNfbGVuZ3RoKTsKKwkJbXBjID0gbXBjX25ldzsKKwkJLyogY2hlY2sgaWYgd2UgY2FuIG1vZGlmeSB0aGF0ICovCisJCWlmIChtcGNfbmV3X3BoeXMgLSBtcGYtPm1wZl9waHlzcHRyKSB7CisJCQlzdHJ1Y3QgaW50ZWxfbXBfZmxvYXRpbmcgKm1wZl9uZXc7CisJCQkvKiBzdGVhbCAxNiBieXRlcyBmcm9tIFswLCAxaykgKi8KKwkJCXByaW50ayhLRVJOX0lORk8gIm1wZiBuZXc6ICV4XG4iLCAweDQwMCAtIDE2KTsKKwkJCW1wZl9uZXcgPSBwaHlzX3RvX3ZpcnQoMHg0MDAgLSAxNik7CisJCQltZW1jcHkobXBmX25ldywgbXBmLCAxNik7CisJCQltcGYgPSBtcGZfbmV3OworCQkJbXBmLT5tcGZfcGh5c3B0ciA9IG1wY19uZXdfcGh5czsKKwkJfQorCQltcGYtPm1wZl9jaGVja3N1bSA9IDA7CisJCW1wZi0+bXBmX2NoZWNrc3VtIC09IG1wZl9jaGVja3N1bSgodW5zaWduZWQgY2hhciAqKW1wZiwgMTYpOworCQlwcmludGsoS0VSTl9JTkZPICJtcGZfcGh5c3B0ciBuZXc6ICV4XG4iLCBtcGYtPm1wZl9waHlzcHRyKTsKKwl9CisKKwkvKgorCSAqIG9ubHkgcmVwbGFjZSB0aGUgb25lIHdpdGggbXBfSU5UIGFuZAorCSAqCSBNUF9JUlFfVFJJR0dFUl9MRVZFTHxNUF9JUlFfUE9MQVJJVFlfTE9XLAorCSAqIGFscmVhZHkgaW4gbXBfaXJxcyAsIHN0b3JlZCBieSAuLi4gYW5kIG1wX2NvbmZpZ19hY3BpX2dzaSwKKwkgKiBtYXkgbmVlZCBwY2k9cm91dGVpcnEgZm9yIGFsbCBjb3ZlcmFnZQorCSAqLworCXJlcGxhY2VfaW50c3JjX2FsbChtcGMsIG1wY19uZXdfcGh5cywgbXBjX25ld19sZW5ndGgpOworCisJcmV0dXJuIDA7Cit9CisKK2xhdGVfaW5pdGNhbGwodXBkYXRlX21wX3RhYmxlKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9tc3IuYyBiL2FyY2gveDg2L2tlcm5lbC9tc3IuYwppbmRleCAxZjNhYmUwLi5hMTUzYjM5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbXNyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL21zci5jCkBAIC0xMTcsMTIgKzExNywyMCBAQAogewogCXVuc2lnbmVkIGludCBjcHUgPSBpbWlub3IoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7CiAJc3RydWN0IGNwdWluZm9feDg2ICpjID0gJmNwdV9kYXRhKGNwdSk7CisJaW50IHJldCA9IDA7CiAKLQlpZiAoY3B1ID49IE5SX0NQVVMgfHwgIWNwdV9vbmxpbmUoY3B1KSkKLQkJcmV0dXJuIC1FTlhJTzsJLyogTm8gc3VjaCBDUFUgKi8KKwlsb2NrX2tlcm5lbCgpOworCWNwdSA9IGltaW5vcihmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKTsKKworCWlmIChjcHUgPj0gTlJfQ1BVUyB8fCAhY3B1X29ubGluZShjcHUpKSB7CisJCXJldCA9IC1FTlhJTzsJLyogTm8gc3VjaCBDUFUgKi8KKwkJZ290byBvdXQ7CisJfQorCWMgPSAmY3B1X2RhdGEoY3B1KTsKIAlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfTVNSKSkKLQkJcmV0dXJuIC1FSU87CS8qIE1TUiBub3Qgc3VwcG9ydGVkICovCi0KKwkJcmV0ID0gLUVJTzsJLyogTVNSIG5vdCBzdXBwb3J0ZWQgKi8KK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9ubWlfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9ubWkuYwpzaW1pbGFyaXR5IGluZGV4IDY3JQpyZW5hbWUgZnJvbSBhcmNoL3g4Ni9rZXJuZWwvbm1pXzY0LmMKcmVuYW1lIHRvIGFyY2gveDg2L2tlcm5lbC9ubWkuYwppbmRleCA1YTI5ZGVkLi5lYzAyNGIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbm1pXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL25taS5jCkBAIC02LDEwICs2LDEzIEBACiAgKiAgRml4ZXM6CiAgKiAgTWlrYWVsIFBldHRlcnNzb24JOiBBTUQgSzcgc3VwcG9ydCBmb3IgbG9jYWwgQVBJQyBOTUkgd2F0Y2hkb2cuCiAgKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQb3dlciBNYW5hZ2VtZW50IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KKyAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBlbnRpdW0gNCBzdXBwb3J0IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KICAqICBQYXZlbCBNYWNoZWsgYW5kCiAgKiAgTWlrYWVsIFBldHRlcnNzb24JOiBQTSBjb252ZXJ0ZWQgdG8gZHJpdmVyIG1vZGVsLiBEaXNhYmxlL2VuYWJsZSBBUEkuCiAgKi8KIAorI2luY2x1ZGUgPGFzbS9hcGljLmg+CisKICNpbmNsdWRlIDxsaW51eC9ubWkuaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CkBAIC0xNywyMCArMjAsMjYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CiAKKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKyNpbmNsdWRlIDxhc20vaW9fYXBpYy5oPgogI2luY2x1ZGUgPGFzbS9zbXAuaD4KICNpbmNsdWRlIDxhc20vbm1pLmg+CiAjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisKICNpbmNsdWRlIDxhc20vbWNlLmg+CiAKICNpbmNsdWRlIDxtYWNoX3RyYXBzLmg+CiAKIGludCB1bmtub3duX25taV9wYW5pYzsKIGludCBubWlfd2F0Y2hkb2dfZW5hYmxlZDsKLWludCBwYW5pY19vbl91bnJlY292ZXJlZF9ubWk7CiAKIHN0YXRpYyBjcHVtYXNrX3QgYmFja3RyYWNlX21hc2sgPSBDUFVfTUFTS19OT05FOwogCkBAIC00MSwzNyArNTAsNjUgQEAKICAqICAwOiB0aGUgbGFwaWMgTk1JIHdhdGNoZG9nIGlzIGRpc2FibGVkLCBidXQgY2FuIGJlIGVuYWJsZWQKICAqLwogYXRvbWljX3Qgbm1pX2FjdGl2ZSA9IEFUT01JQ19JTklUKDApOwkJLyogb3Byb2ZpbGUgdXNlcyB0aGlzICovCitFWFBPUlRfU1lNQk9MKG5taV9hY3RpdmUpOworCit1bnNpZ25lZCBpbnQgbm1pX3dhdGNoZG9nID0gTk1JX05PTkU7CitFWFBPUlRfU1lNQk9MKG5taV93YXRjaGRvZyk7CisKIHN0YXRpYyBpbnQgcGFuaWNfb25fdGltZW91dDsKIAotdW5zaWduZWQgaW50IG5taV93YXRjaGRvZyA9IE5NSV9ERUZBVUxUOwogc3RhdGljIHVuc2lnbmVkIGludCBubWlfaHogPSBIWjsKLQogc3RhdGljIERFRklORV9QRVJfQ1BVKHNob3J0LCB3ZF9lbmFibGVkKTsKK3N0YXRpYyBpbnQgZW5kZmxhZyBfX2luaXRkYXRhOwogCi0vKiBSdW4gYWZ0ZXIgY29tbWFuZCBsaW5lIGFuZCBjcHVfaW5pdCBpbml0LCBidXQgYmVmb3JlIGFsbCBvdGhlciBjaGVja3MgKi8KLXZvaWQgbm1pX3dhdGNoZG9nX2RlZmF1bHQodm9pZCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdldF9ubWlfY291bnQoaW50IGNwdSkKIHsKLQlpZiAobm1pX3dhdGNoZG9nICE9IE5NSV9ERUZBVUxUKQotCQlyZXR1cm47Ci0Jbm1pX3dhdGNoZG9nID0gTk1JX05PTkU7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCXJldHVybiBjcHVfcGRhKGNwdSktPl9fbm1pX2NvdW50OworI2Vsc2UKKwlyZXR1cm4gbm1pX2NvdW50KGNwdSk7CisjZW5kaWYKIH0KIAotc3RhdGljIGludCBlbmRmbGFnIF9faW5pdGRhdGEgPSAwOworc3RhdGljIGlubGluZSBpbnQgbWNlX2luX3Byb2dyZXNzKHZvaWQpCit7CisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzY0KSAmJiBkZWZpbmVkKENPTkZJR19YODZfTUNFKQorCXJldHVybiBhdG9taWNfcmVhZCgmbWNlX2VudHJ5KSA+IDA7CisjZW5kaWYKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFRha2UgdGhlIGxvY2FsIGFwaWMgdGltZXIgYW5kIFBJVC9IUEVUIGludG8gYWNjb3VudC4gV2UgZG9uJ3QKKyAqIGtub3cgd2hpY2ggb25lIGlzIGFjdGl2ZSwgd2hlbiB3ZSBoYXZlIGhpZ2hyZXMvZHludGljayBvbgorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBnZXRfdGltZXJfaXJxcyhpbnQgY3B1KQoreworI2lmZGVmIENPTkZJR19YODZfNjQKKwlyZXR1cm4gcmVhZF9wZGEoYXBpY190aW1lcl9pcnFzKSArIHJlYWRfcGRhKGlycTBfaXJxcyk7CisjZWxzZQorCXJldHVybiBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmFwaWNfdGltZXJfaXJxcyArCisJCXBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxMF9pcnFzOworI2VuZGlmCit9CiAKICNpZmRlZiBDT05GSUdfU01QCi0vKiBUaGUgcGVyZm9ybWFuY2UgY291bnRlcnMgdXNlZCBieSBOTUlfTE9DQUxfQVBJQyBkb24ndCB0cmlnZ2VyIHdoZW4KKy8qCisgKiBUaGUgcGVyZm9ybWFuY2UgY291bnRlcnMgdXNlZCBieSBOTUlfTE9DQUxfQVBJQyBkb24ndCB0cmlnZ2VyIHdoZW4KICAqIHRoZSBDUFUgaXMgaWRsZS4gVG8gbWFrZSBzdXJlIHRoZSBOTUkgd2F0Y2hkb2cgcmVhbGx5IHRpY2tzIG9uIGFsbAogICogQ1BVcyBkdXJpbmcgdGhlIHRlc3QgbWFrZSB0aGVtIGJ1c3kuCiAgKi8KIHN0YXRpYyBfX2luaXQgdm9pZCBubWlfY3B1X2J1c3kodm9pZCAqZGF0YSkKIHsKIAlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKLQkvKiBJbnRlbnRpb25hbGx5IGRvbid0IHVzZSBjcHVfcmVsYXggaGVyZS4gVGhpcyBpcwotCSAgIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIHJlYWxseSB0aWNrcywKLQkgICBldmVuIGlmIHRoZXJlIGlzIGEgc2ltdWxhdG9yIG9yIHNpbWlsYXIgdGhhdCBjYXRjaGVzIHRoZQotCSAgIHBhdXNlIGluc3RydWN0aW9uLiBPbiBhIHJlYWwgSFQgbWFjaGluZSB0aGlzIGlzIGZpbmUgYmVjYXVzZQotCSAgIGFsbCBvdGhlciBDUFVzIGFyZSBidXN5IHdpdGggInVzZWxlc3MiIGRlbGF5IGxvb3BzIGFuZCBkb24ndAotCSAgIGNhcmUgaWYgdGhleSBnZXQgc29tZXdoYXQgbGVzcyBjeWNsZXMuICovCisJLyoKKwkgKiBJbnRlbnRpb25hbGx5IGRvbid0IHVzZSBjcHVfcmVsYXggaGVyZS4gVGhpcyBpcworCSAqIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIHJlYWxseSB0aWNrcywKKwkgKiBldmVuIGlmIHRoZXJlIGlzIGEgc2ltdWxhdG9yIG9yIHNpbWlsYXIgdGhhdCBjYXRjaGVzIHRoZQorCSAqIHBhdXNlIGluc3RydWN0aW9uLiBPbiBhIHJlYWwgSFQgbWFjaGluZSB0aGlzIGlzIGZpbmUgYmVjYXVzZQorCSAqIGFsbCBvdGhlciBDUFVzIGFyZSBidXN5IHdpdGggInVzZWxlc3MiIGRlbGF5IGxvb3BzIGFuZCBkb24ndAorCSAqIGNhcmUgaWYgdGhleSBnZXQgc29tZXdoYXQgbGVzcyBjeWNsZXMuCisJICovCiAJd2hpbGUgKGVuZGZsYWcgPT0gMCkKIAkJbWIoKTsKIH0KQEAgLTc5LDQwICsxMTYsMzcgQEAKIAogaW50IF9faW5pdCBjaGVja19ubWlfd2F0Y2hkb2codm9pZCkKIHsKLQlpbnQgKnByZXZfbm1pX2NvdW50OworCXVuc2lnbmVkIGludCAqcHJldl9ubWlfY291bnQ7CiAJaW50IGNwdTsKIAotCWlmICgobm1pX3dhdGNoZG9nID09IE5NSV9OT05FKSB8fCAobm1pX3dhdGNoZG9nID09IE5NSV9ESVNBQkxFRCkpCisJaWYgKCFubWlfd2F0Y2hkb2dfYWN0aXZlKCkgfHwgIWF0b21pY19yZWFkKCZubWlfYWN0aXZlKSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoIWF0b21pY19yZWFkKCZubWlfYWN0aXZlKSkKLQkJcmV0dXJuIDA7Ci0KLQlwcmV2X25taV9jb3VudCA9IGttYWxsb2MoTlJfQ1BVUyAqIHNpemVvZihpbnQpLCBHRlBfS0VSTkVMKTsKKwlwcmV2X25taV9jb3VudCA9IGttYWxsb2MobnJfY3B1X2lkcyAqIHNpemVvZihpbnQpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXByZXZfbm1pX2NvdW50KQotCQlyZXR1cm4gLTE7CisJCWdvdG8gZXJyb3I7CiAKIAlwcmludGsoS0VSTl9JTkZPICJUZXN0aW5nIE5NSSB3YXRjaGRvZyAuLi4gIik7CiAKICNpZmRlZiBDT05GSUdfU01QCiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKLQkJc21wX2NhbGxfZnVuY3Rpb24obm1pX2NwdV9idXN5LCAodm9pZCAqKSZlbmRmbGFnLCAwLCAwKTsKKwkJc21wX2NhbGxfZnVuY3Rpb24obm1pX2NwdV9idXN5LCAodm9pZCAqKSZlbmRmbGFnLCAwKTsKICNlbmRpZgogCi0JZm9yIChjcHUgPSAwOyBjcHUgPCBOUl9DUFVTOyBjcHUrKykKLQkJcHJldl9ubWlfY291bnRbY3B1XSA9IGNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQ7CisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKKwkJcHJldl9ubWlfY291bnRbY3B1XSA9IGdldF9ubWlfY291bnQoY3B1KTsKIAlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JbWRlbGF5KCgyMCoxMDAwKS9ubWlfaHopOyAvLyB3YWl0IDIwIHRpY2tzCisJbWRlbGF5KCgyMCAqIDEwMDApIC8gbm1pX2h6KTsgLyogd2FpdCAyMCB0aWNrcyAqLwogCiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJaWYgKCFwZXJfY3B1KHdkX2VuYWJsZWQsIGNwdSkpCiAJCQljb250aW51ZTsKLQkJaWYgKGNwdV9wZGEoY3B1KS0+X19ubWlfY291bnQgLSBwcmV2X25taV9jb3VudFtjcHVdIDw9IDUpIHsKKwkJaWYgKGdldF9ubWlfY291bnQoY3B1KSAtIHByZXZfbm1pX2NvdW50W2NwdV0gPD0gNSkgewogCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV0FSTklORzogQ1BVIyVkOiBOTUkgIgotCQkJICAgICAgICJhcHBlYXJzIHRvIGJlIHN0dWNrICglZC0+JWQpIVxuIiwKKwkJCQkiYXBwZWFycyB0byBiZSBzdHVjayAoJWQtPiVkKSFcbiIsCiAJCQkJY3B1LAogCQkJCXByZXZfbm1pX2NvdW50W2NwdV0sCi0JCQkJY3B1X3BkYShjcHUpLT5fX25taV9jb3VudCk7CisJCQkJZ2V0X25taV9jb3VudChjcHUpKTsKIAkJCXBlcl9jcHUod2RfZW5hYmxlZCwgY3B1KSA9IDA7CiAJCQlhdG9taWNfZGVjKCZubWlfYWN0aXZlKTsKIAkJfQpAQCAtMTIxLDI0ICsxNTUsMzMgQEAKIAlpZiAoIWF0b21pY19yZWFkKCZubWlfYWN0aXZlKSkgewogCQlrZnJlZShwcmV2X25taV9jb3VudCk7CiAJCWF0b21pY19zZXQoJm5taV9hY3RpdmUsIC0xKTsKLQkJcmV0dXJuIC0xOworCQlnb3RvIGVycm9yOwogCX0KIAlwcmludGsoIk9LLlxuIik7CiAKLQkvKiBub3cgdGhhdCB3ZSBrbm93IGl0IHdvcmtzIHdlIGNhbiByZWR1Y2UgTk1JIGZyZXF1ZW5jeSB0bwotCSAgIHNvbWV0aGluZyBtb3JlIHJlYXNvbmFibGU7IG1ha2VzIGEgZGlmZmVyZW5jZSBpbiBzb21lIGNvbmZpZ3MgKi8KKwkvKgorCSAqIG5vdyB0aGF0IHdlIGtub3cgaXQgd29ya3Mgd2UgY2FuIHJlZHVjZSBOTUkgZnJlcXVlbmN5IHRvCisJICogc29tZXRoaW5nIG1vcmUgcmVhc29uYWJsZTsgbWFrZXMgYSBkaWZmZXJlbmNlIGluIHNvbWUgY29uZmlncworCSAqLwogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCiAJCW5taV9oeiA9IGxhcGljX2FkanVzdF9ubWlfaHooMSk7CiAKIAlrZnJlZShwcmV2X25taV9jb3VudCk7CiAJcmV0dXJuIDA7CitlcnJvcjoKKwlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDICYmICF0aW1lcl90aHJvdWdoXzgyNTkpCisJCWRpc2FibGVfODI1OUFfaXJxKDApOworI2lmZGVmIENPTkZJR19YODZfMzIKKwl0aW1lcl9hY2sgPSAwOworI2VuZGlmCisJcmV0dXJuIC0xOwogfQogCiBzdGF0aWMgaW50IF9faW5pdCBzZXR1cF9ubWlfd2F0Y2hkb2coY2hhciAqc3RyKQogewotCWludCBubWk7CisJdW5zaWduZWQgaW50IG5taTsKIAotCWlmICghc3RybmNtcChzdHIsInBhbmljIiw1KSkgeworCWlmICghc3RybmNtcChzdHIsICJwYW5pYyIsIDUpKSB7CiAJCXBhbmljX29uX3RpbWVvdXQgPSAxOwogCQlzdHIgPSBzdHJjaHIoc3RyLCAnLCcpOwogCQlpZiAoIXN0cikKQEAgLTE0OCwxNSArMTkxLDE3IEBACiAKIAlnZXRfb3B0aW9uKCZzdHIsICZubWkpOwogCi0JaWYgKChubWkgPj0gTk1JX0lOVkFMSUQpIHx8IChubWkgPCBOTUlfTk9ORSkpCisJaWYgKG5taSA+PSBOTUlfSU5WQUxJRCkKIAkJcmV0dXJuIDA7CiAKIAlubWlfd2F0Y2hkb2cgPSBubWk7CiAJcmV0dXJuIDE7CiB9Ci0KIF9fc2V0dXAoIm5taV93YXRjaGRvZz0iLCBzZXR1cF9ubWlfd2F0Y2hkb2cpOwogCisvKgorICogU3VzcGVuZC9yZXN1bWUgc3VwcG9ydAorICovCiAjaWZkZWYgQ09ORklHX1BNCiAKIHN0YXRpYyBpbnQgbm1pX3BtX2FjdGl2ZTsgLyogbm1pX2FjdGl2ZSBiZWZvcmUgc3VzcGVuZCAqLwpAQCAtMTk1LDcgKzI0MCw4IEBACiB7CiAJaW50IGVycm9yOwogCi0JLyogc2hvdWxkIHJlYWxseSBiZSBhIEJVR19PTiBidXQgYi9jIHRoaXMgaXMgYW4KKwkvKgorCSAqIHNob3VsZCByZWFsbHkgYmUgYSBCVUdfT04gYnV0IGIvYyB0aGlzIGlzIGFuCiAJICogaW5pdCBjYWxsLCBpdCBqdXN0IGRvZXNuJ3Qgd29yay4gIC1kY3oKIAkgKi8KIAlpZiAobm1pX3dhdGNoZG9nICE9IE5NSV9MT0NBTF9BUElDKQpAQCAtMjA5LDYgKzI1NSw3IEBACiAJCWVycm9yID0gc3lzZGV2X3JlZ2lzdGVyKCZkZXZpY2VfbGFwaWNfbm1pKTsKIAlyZXR1cm4gZXJyb3I7CiB9CisKIC8qIG11c3QgY29tZSBhZnRlciB0aGUgbG9jYWwgQVBJQydzIGRldmljZV9pbml0Y2FsbCgpICovCiBsYXRlX2luaXRjYWxsKGluaXRfbGFwaWNfbm1pX3N5c2ZzKTsKIApAQCAtMjE2LDcgKzI2Myw3IEBACiAKIHN0YXRpYyB2b2lkIF9fYWNwaV9ubWlfZW5hYmxlKHZvaWQgKl9fdW51c2VkKQogewotCWFwaWNfd3JpdGUoQVBJQ19MVlQwLCBBUElDX0RNX05NSSk7CisJYXBpY193cml0ZV9hcm91bmQoQVBJQ19MVlQwLCBBUElDX0RNX05NSSk7CiB9CiAKIC8qCkBAIC0yMjUsMTIgKzI3MiwxMiBAQAogdm9pZCBhY3BpX25taV9lbmFibGUodm9pZCkKIHsKIAlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpICYmIG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykKLQkJb25fZWFjaF9jcHUoX19hY3BpX25taV9lbmFibGUsIE5VTEwsIDAsIDEpOworCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2VuYWJsZSwgTlVMTCwgMSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fYWNwaV9ubWlfZGlzYWJsZSh2b2lkICpfX3VudXNlZCkKIHsKLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkgfCBBUElDX0xWVF9NQVNLRUQpOworCWFwaWNfd3JpdGVfYXJvdW5kKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkgfCBBUElDX0xWVF9NQVNLRUQpOwogfQogCiAvKgpAQCAtMjM5LDcgKzI4Niw3IEBACiB2b2lkIGFjcGlfbm1pX2Rpc2FibGUodm9pZCkKIHsKIAlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpICYmIG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykKLQkJb25fZWFjaF9jcHUoX19hY3BpX25taV9kaXNhYmxlLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoX19hY3BpX25taV9kaXNhYmxlLCBOVUxMLCAxKTsKIH0KIAogdm9pZCBzZXR1cF9hcGljX25taV93YXRjaGRvZyh2b2lkICp1bnVzZWQpCkBAIC0yNDksMTEgKzI5NiwxMiBAQAogCiAJLyogY2hlYXAgaGFjayB0byBzdXBwb3J0IHN1c3BlbmQvcmVzdW1lICovCiAJLyogaWYgY3B1MCBpcyBub3QgYWN0aXZlIG5laXRoZXIgc2hvdWxkIHRoZSBvdGhlciBjcHVzICovCi0JaWYgKChzbXBfcHJvY2Vzc29yX2lkKCkgIT0gMCkgJiYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8PSAwKSkKKwlpZiAoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IDAgJiYgYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDw9IDApCiAJCXJldHVybjsKIAogCXN3aXRjaCAobm1pX3dhdGNoZG9nKSB7CiAJY2FzZSBOTUlfTE9DQUxfQVBJQzoKKwkJIC8qIGVuYWJsZSBpdCBiZWZvcmUgdG8gYXZvaWQgcmFjZSB3aXRoIGhhbmRsZXIgKi8KIAkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDE7CiAJCWlmIChsYXBpY193YXRjaGRvZ19pbml0KG5taV9oeikgPCAwKSB7CiAJCQlfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID0gMDsKQEAgLTI2OSw5ICszMTcsOCBAQAogdm9pZCBzdG9wX2FwaWNfbm1pX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKIHsKIAkvKiBvbmx5IHN1cHBvcnQgTE9DQUwgYW5kIElPIEFQSUNzIGZvciBub3cgKi8KLQlpZiAoKG5taV93YXRjaGRvZyAhPSBOTUlfTE9DQUxfQVBJQykgJiYKLQkgICAgKG5taV93YXRjaGRvZyAhPSBOTUlfSU9fQVBJQykpCi0JICAgIAlyZXR1cm47CisJaWYgKCFubWlfd2F0Y2hkb2dfYWN0aXZlKCkpCisJCXJldHVybjsKIAlpZiAoX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9PSAwKQogCQlyZXR1cm47CiAJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKQEAgLTI4Nyw2ICszMzQsMTEgQEAKICAqCiAgKiBhcyB0aGVzZSB3YXRjaGRvZyBOTUkgSVJRcyBhcmUgZ2VuZXJhdGVkIG9uIGV2ZXJ5IENQVSwgd2Ugb25seQogICogaGF2ZSB0byBjaGVjayB0aGUgY3VycmVudCBwcm9jZXNzb3IuCisgKgorICogc2luY2UgTk1JcyBkb24ndCBsaXN0ZW4gdG8gX2FueV8gbG9ja3MsIHdlIGhhdmUgdG8gYmUgZXh0cmVtZWx5CisgKiBjYXJlZnVsIG5vdCB0byByZWx5IG9uIHVuc2FmZSB2YXJpYWJsZXMuIFRoZSBwcmludGsgbWlnaHQgbG9jaworICogdXAgdGhvdWdoLCBzbyB3ZSBoYXZlIHRvIGJyZWFrIHVwIGFueSBjb25zb2xlIGxvY2tzIGZpcnN0IC4uLgorICogW3doZW4gdGhlcmUgd2lsbCBiZSBtb3JlIHR0eS1yZWxhdGVkIGxvY2tzLCBicmVhayB0aGVtIHVwIGhlcmUgdG9vIV0KICAqLwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQsIGxhc3RfaXJxX3N1bSk7CkBAIC0yOTUsMTEgKzM0NywxMSBAQAogCiB2b2lkIHRvdWNoX25taV93YXRjaGRvZyh2b2lkKQogewotCWlmIChubWlfd2F0Y2hkb2cgPiAwKSB7CisJaWYgKG5taV93YXRjaGRvZ19hY3RpdmUoKSkgewogCQl1bnNpZ25lZCBjcHU7CiAKIAkJLyoKLSAJCSAqIFRlbGwgb3RoZXIgQ1BVcyB0byByZXNldCB0aGVpciBhbGVydCBjb3VudGVycy4gV2UgY2Fubm90CisJCSAqIFRlbGwgb3RoZXIgQ1BVcyB0byByZXNldCB0aGVpciBhbGVydCBjb3VudGVycy4gV2UgY2Fubm90CiAJCSAqIGRvIGl0IG91cnNlbHZlcyBiZWNhdXNlIHRoZSBhbGVydCBjb3VudCBpbmNyZWFzZSBpcyBub3QKIAkJICogYXRvbWljLgogCQkgKi8KQEAgLTMwOSw2ICszNjEsOSBAQAogCQl9CiAJfQogCisJLyoKKwkgKiBUaWNrbGUgdGhlIHNvZnRsb2NrdXAgZGV0ZWN0b3IgdG9vOgorCSAqLwogCXRvdWNoX3NvZnRsb2NrdXBfd2F0Y2hkb2coKTsKIH0KIEVYUE9SVF9TWU1CT0wodG91Y2hfbm1pX3dhdGNoZG9nKTsKQEAgLTMxNiw3ICszNzEsMTIgQEAKIG5vdHJhY2UgX19rcHJvYmVzIGludAogbm1pX3dhdGNoZG9nX3RpY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIHJlYXNvbikKIHsKLQlpbnQgc3VtOworCS8qCisJICogU2luY2UgY3VycmVudF90aHJlYWRfaW5mbygpLT4gaXMgYWx3YXlzIG9uIHRoZSBzdGFjaywgYW5kIHdlCisJICogYWx3YXlzIHN3aXRjaCB0aGUgc3RhY2sgTk1JLWF0b21pY2FsbHksIGl0J3Mgc2FmZSB0byB1c2UKKwkgKiBzbXBfcHJvY2Vzc29yX2lkKCkuCisJICovCisJdW5zaWduZWQgaW50IHN1bTsKIAlpbnQgdG91Y2hlZCA9IDA7CiAJaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAlpbnQgcmMgPSAwOwpAQCAtMzI4LDcgKzM4OCw4IEBACiAJCXRvdWNoZWQgPSAxOwogCX0KIAotCXN1bSA9IHJlYWRfcGRhKGFwaWNfdGltZXJfaXJxcykgKyByZWFkX3BkYShpcnEwX2lycXMpOworCXN1bSA9IGdldF90aW1lcl9pcnFzKGNwdSk7CisKIAlpZiAoX19nZXRfY3B1X3ZhcihubWlfdG91Y2gpKSB7CiAJCV9fZ2V0X2NwdV92YXIobm1pX3RvdWNoKSA9IDA7CiAJCXRvdWNoZWQgPSAxOwpAQCAtMzM4LDI4ICszOTksMjkgQEAKIAkJc3RhdGljIERFRklORV9TUElOTE9DSyhsb2NrKTsJLyogU2VyaWFsaXNlIHRoZSBwcmludGtzICovCiAKIAkJc3Bpbl9sb2NrKCZsb2NrKTsKLQkJcHJpbnRrKCJOTUkgYmFja3RyYWNlIGZvciBjcHUgJWRcbiIsIGNwdSk7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAlZFxuIiwgY3B1KTsKIAkJZHVtcF9zdGFjaygpOwogCQlzcGluX3VubG9jaygmbG9jayk7CiAJCWNwdV9jbGVhcihjcHUsIGJhY2t0cmFjZV9tYXNrKTsKIAl9CiAKLSNpZmRlZiBDT05GSUdfWDg2X01DRQotCS8qIENvdWxkIGNoZWNrIG9vcHNfaW5fcHJvZ3Jlc3MgaGVyZSB0b28sIGJ1dCBpdCdzIHNhZmVyCi0JICAgbm90IHRvbyAqLwotCWlmIChhdG9taWNfcmVhZCgmbWNlX2VudHJ5KSA+IDApCisJLyogQ291bGQgY2hlY2sgb29wc19pbl9wcm9ncmVzcyBoZXJlIHRvbywgYnV0IGl0J3Mgc2FmZXIgbm90IHRvICovCisJaWYgKG1jZV9pbl9wcm9ncmVzcygpKQogCQl0b3VjaGVkID0gMTsKLSNlbmRpZgotCS8qIGlmIHRoZSBhcGljIHRpbWVyIGlzbid0IGZpcmluZywgdGhpcyBjcHUgaXNuJ3QgZG9pbmcgbXVjaCAqLworCisJLyogaWYgdGhlIG5vbmUgb2YgdGhlIHRpbWVycyBpc24ndCBmaXJpbmcsIHRoaXMgY3B1IGlzbid0IGRvaW5nIG11Y2ggKi8KIAlpZiAoIXRvdWNoZWQgJiYgX19nZXRfY3B1X3ZhcihsYXN0X2lycV9zdW0pID09IHN1bSkgewogCQkvKgogCQkgKiBBeWllZSwgbG9va3MgbGlrZSB0aGlzIENQVSBpcyBzdHVjayAuLi4KIAkJICogd2FpdCBhIGZldyBJUlFzICg1IHNlY29uZHMpIGJlZm9yZSBkb2luZyB0aGUgb29wcyAuLi4KIAkJICovCiAJCWxvY2FsX2luYygmX19nZXRfY3B1X3ZhcihhbGVydF9jb3VudGVyKSk7Ci0JCWlmIChsb2NhbF9yZWFkKCZfX2dldF9jcHVfdmFyKGFsZXJ0X2NvdW50ZXIpKSA9PSA1Km5taV9oeikKLQkJCWRpZV9ubWkoIk5NSSBXYXRjaGRvZyBkZXRlY3RlZCBMT0NLVVAgb24gQ1BVICVkXG4iLCByZWdzLAotCQkJCXBhbmljX29uX3RpbWVvdXQpOworCQlpZiAobG9jYWxfcmVhZCgmX19nZXRfY3B1X3ZhcihhbGVydF9jb3VudGVyKSkgPT0gNSAqIG5taV9oeikKKwkJCS8qCisJCQkgKiBkaWVfbm1pIHdpbGwgcmV0dXJuIE9OTFkgaWYgTk9USUZZX1NUT1AgaGFwcGVucy4uCisJCQkgKi8KKwkJCWRpZV9ubWkoIkJVRzogTk1JIFdhdGNoZG9nIGRldGVjdGVkIExPQ0tVUCIsCisJCQkJcmVncywgcGFuaWNfb25fdGltZW91dCk7CiAJfSBlbHNlIHsKIAkJX19nZXRfY3B1X3ZhcihsYXN0X2lycV9zdW0pID0gc3VtOwogCQlsb2NhbF9zZXQoJl9fZ2V0X2NwdV92YXIoYWxlcnRfY291bnRlciksIDApOwpAQCAtMzczLDcgKzQzNSw4IEBACiAJCXJjIHw9IGxhcGljX3dkX2V2ZW50KG5taV9oeik7CiAJCWJyZWFrOwogCWNhc2UgTk1JX0lPX0FQSUM6Ci0JCS8qIGRvbid0IGtub3cgaG93IHRvIGFjY3VyYXRlbHkgY2hlY2sgZm9yIHRoaXMuCisJCS8qCisJCSAqIGRvbid0IGtub3cgaG93IHRvIGFjY3VyYXRlbHkgY2hlY2sgZm9yIHRoaXMuCiAJCSAqIGp1c3QgYXNzdW1lIGl0IHdhcyBhIHdhdGNoZG9nIHRpbWVyIGludGVycnVwdAogCQkgKiBUaGlzIG1hdGNoZXMgdGhlIG9sZCBiZWhhdmlvdXIuCiAJCSAqLwpAQCAtMzgzLDMwICs0NDYsNiBAQAogCXJldHVybiByYzsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGlnbm9yZV9ubWlzOwotCi1hc21saW5rYWdlIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKLWRvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQotewotCW5taV9lbnRlcigpOwotCWFkZF9wZGEoX19ubWlfY291bnQsMSk7Ci0JaWYgKCFpZ25vcmVfbm1pcykKLQkJZGVmYXVsdF9kb19ubWkocmVncyk7Ci0Jbm1pX2V4aXQoKTsKLX0KLQotdm9pZCBzdG9wX25taSh2b2lkKQotewotCWFjcGlfbm1pX2Rpc2FibGUoKTsKLQlpZ25vcmVfbm1pcysrOwotfQotCi12b2lkIHJlc3RhcnRfbm1pKHZvaWQpCi17Ci0JaWdub3JlX25taXMtLTsKLQlhY3BpX25taV9lbmFibGUoKTsKLX0KLQogI2lmZGVmIENPTkZJR19TWVNDVEwKIAogc3RhdGljIGludCB1bmtub3duX25taV9wYW5pY19jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSkKQEAgLTQxNSw3ICs0NTQsNyBAQAogCWNoYXIgYnVmWzY0XTsKIAogCXNwcmludGYoYnVmLCAiTk1JIHJlY2VpdmVkIGZvciB1bmtub3duIHJlYXNvbiAlMDJ4XG4iLCByZWFzb24pOwotCWRpZV9ubWkoYnVmLCByZWdzLCAxKTsJLyogQWx3YXlzIHBhbmljIGhlcmUgKi8KKwlkaWVfbm1pKGJ1ZiwgcmVncywgMSk7IC8qIEFsd2F5cyBwYW5pYyBoZXJlICovCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQzMywyOCArNDcyLDI2IEBACiAJaWYgKCEhb2xkX3N0YXRlID09ICEhbm1pX3dhdGNoZG9nX2VuYWJsZWQpCiAJCXJldHVybiAwOwogCi0JaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8IDAgfHwgbm1pX3dhdGNoZG9nID09IE5NSV9ESVNBQkxFRCkgewotCQlwcmludGsoIEtFUk5fV0FSTklORyAiTk1JIHdhdGNoZG9nIGlzIHBlcm1hbmVudGx5IGRpc2FibGVkXG4iKTsKKwlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDwgMCB8fCAhbm1pX3dhdGNoZG9nX2FjdGl2ZSgpKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJOTUkgd2F0Y2hkb2cgaXMgcGVybWFuZW50bHkgZGlzYWJsZWRcbiIpOwogCQlyZXR1cm4gLUVJTzsKIAl9CiAKLQkvKiBpZiBubWlfd2F0Y2hkb2cgaXMgbm90IHNldCB5ZXQsIHRoZW4gc2V0IGl0ICovCi0Jbm1pX3dhdGNoZG9nX2RlZmF1bHQoKTsKLQogCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpIHsKIAkJaWYgKG5taV93YXRjaGRvZ19lbmFibGVkKQogCQkJZW5hYmxlX2xhcGljX25taV93YXRjaGRvZygpOwogCQllbHNlCiAJCQlkaXNhYmxlX2xhcGljX25taV93YXRjaGRvZygpOwogCX0gZWxzZSB7Ci0JCXByaW50ayggS0VSTl9XQVJOSU5HCisJCXByaW50ayhLRVJOX1dBUk5JTkcKIAkJCSJOTUkgd2F0Y2hkb2cgZG9lc24ndCBrbm93IHdoYXQgaGFyZHdhcmUgdG8gdG91Y2hcbiIpOwogCQlyZXR1cm4gLUVJTzsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TWVNDVEwgKi8KIAogaW50IGRvX25taV9jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSkKIHsKQEAgLTQ3Nyw2ICs1MTQsMyBAQAogCQltZGVsYXkoMSk7CiAJfQogfQotCi1FWFBPUlRfU1lNQk9MKG5taV9hY3RpdmUpOwotRVhQT1JUX1NZTUJPTChubWlfd2F0Y2hkb2cpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL25taV8zMi5jIGIvYXJjaC94ODYva2VybmVsL25taV8zMi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDE2MGY3Li4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9ubWlfMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDQ2NyArMCwwIEBACi0vKgotICogIE5NSSB3YXRjaGRvZyBzdXBwb3J0IG9uIEFQSUMgc3lzdGVtcwotICoKLSAqICBTdGFydGVkIGJ5IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgotICoKLSAqICBGaXhlczoKLSAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IEFNRCBLNyBzdXBwb3J0IGZvciBsb2NhbCBBUElDIE5NSSB3YXRjaGRvZy4KLSAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBvd2VyIE1hbmFnZW1lbnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgotICogIE1pa2FlbCBQZXR0ZXJzc29uCTogUGVudGl1bSA0IHN1cHBvcnQgZm9yIGxvY2FsIEFQSUMgTk1JIHdhdGNoZG9nLgotICogIFBhdmVsIE1hY2hlayBhbmQKLSAqICBNaWthZWwgUGV0dGVyc3Nvbgk6IFBNIGNvbnZlcnRlZCB0byBkcml2ZXIgbW9kZWwuIERpc2FibGUvZW5hYmxlIEFQSS4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9ubWkuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KLSNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KLSNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2RlYnVnLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotCi0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2luY2x1ZGUgPGFzbS9ubWkuaD4KLQotI2luY2x1ZGUgIm1hY2hfdHJhcHMuaCIKLQotaW50IHVua25vd25fbm1pX3BhbmljOwotaW50IG5taV93YXRjaGRvZ19lbmFibGVkOwotCi1zdGF0aWMgY3B1bWFza190IGJhY2t0cmFjZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKLQotLyogbm1pX2FjdGl2ZToKLSAqID4wOiB0aGUgbGFwaWMgTk1JIHdhdGNoZG9nIGlzIGFjdGl2ZSwgYnV0IGNhbiBiZSBkaXNhYmxlZAotICogPDA6IHRoZSBsYXBpYyBOTUkgd2F0Y2hkb2cgaGFzIG5vdCBiZWVuIHNldCB1cCwgYW5kIGNhbm5vdAotICogICAgIGJlIGVuYWJsZWQKLSAqICAwOiB0aGUgbGFwaWMgTk1JIHdhdGNoZG9nIGlzIGRpc2FibGVkLCBidXQgY2FuIGJlIGVuYWJsZWQKLSAqLwotYXRvbWljX3Qgbm1pX2FjdGl2ZSA9IEFUT01JQ19JTklUKDApOwkJLyogb3Byb2ZpbGUgdXNlcyB0aGlzICovCi0KLXVuc2lnbmVkIGludCBubWlfd2F0Y2hkb2cgPSBOTUlfREVGQVVMVDsKLXN0YXRpYyB1bnNpZ25lZCBpbnQgbm1pX2h6ID0gSFo7Ci0KLXN0YXRpYyBERUZJTkVfUEVSX0NQVShzaG9ydCwgd2RfZW5hYmxlZCk7Ci0KLXN0YXRpYyBpbnQgZW5kZmxhZyBfX2luaXRkYXRhID0gMDsKLQotI2lmZGVmIENPTkZJR19TTVAKLS8qIFRoZSBwZXJmb3JtYW5jZSBjb3VudGVycyB1c2VkIGJ5IE5NSV9MT0NBTF9BUElDIGRvbid0IHRyaWdnZXIgd2hlbgotICogdGhlIENQVSBpcyBpZGxlLiBUbyBtYWtlIHN1cmUgdGhlIE5NSSB3YXRjaGRvZyByZWFsbHkgdGlja3Mgb24gYWxsCi0gKiBDUFVzIGR1cmluZyB0aGUgdGVzdCBtYWtlIHRoZW0gYnVzeS4KLSAqLwotc3RhdGljIF9faW5pdCB2b2lkIG5taV9jcHVfYnVzeSh2b2lkICpkYXRhKQotewotCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCS8qIEludGVudGlvbmFsbHkgZG9uJ3QgdXNlIGNwdV9yZWxheCBoZXJlLiBUaGlzIGlzCi0JICAgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgcmVhbGx5IHRpY2tzLAotCSAgIGV2ZW4gaWYgdGhlcmUgaXMgYSBzaW11bGF0b3Igb3Igc2ltaWxhciB0aGF0IGNhdGNoZXMgdGhlCi0JICAgcGF1c2UgaW5zdHJ1Y3Rpb24uIE9uIGEgcmVhbCBIVCBtYWNoaW5lIHRoaXMgaXMgZmluZSBiZWNhdXNlCi0JICAgYWxsIG90aGVyIENQVXMgYXJlIGJ1c3kgd2l0aCAidXNlbGVzcyIgZGVsYXkgbG9vcHMgYW5kIGRvbid0Ci0JICAgY2FyZSBpZiB0aGV5IGdldCBzb21ld2hhdCBsZXNzIGN5Y2xlcy4gKi8KLQl3aGlsZSAoZW5kZmxhZyA9PSAwKQotCQltYigpOwotfQotI2VuZGlmCi0KLWludCBfX2luaXQgY2hlY2tfbm1pX3dhdGNoZG9nKHZvaWQpCi17Ci0JdW5zaWduZWQgaW50ICpwcmV2X25taV9jb3VudDsKLQlpbnQgY3B1OwotCi0JaWYgKChubWlfd2F0Y2hkb2cgPT0gTk1JX05PTkUpIHx8IChubWlfd2F0Y2hkb2cgPT0gTk1JX0RJU0FCTEVEKSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIWF0b21pY19yZWFkKCZubWlfYWN0aXZlKSkKLQkJcmV0dXJuIDA7Ci0KLQlwcmV2X25taV9jb3VudCA9IGttYWxsb2MoTlJfQ1BVUyAqIHNpemVvZihpbnQpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXByZXZfbm1pX2NvdW50KQotCQlyZXR1cm4gLTE7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJUZXN0aW5nIE5NSSB3YXRjaGRvZyAuLi4gIik7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfTE9DQUxfQVBJQykKLQkJc21wX2NhbGxfZnVuY3Rpb24obm1pX2NwdV9idXN5LCAodm9pZCAqKSZlbmRmbGFnLCAwLCAwKTsKLSNlbmRpZgotCi0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKLQkJcHJldl9ubWlfY291bnRbY3B1XSA9IG5taV9jb3VudChjcHUpOwotCWxvY2FsX2lycV9lbmFibGUoKTsKLQltZGVsYXkoKDIwKjEwMDApL25taV9oeik7IC8vIHdhaXQgMjAgdGlja3MKLQotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLSNpZmRlZiBDT05GSUdfU01QCi0JCS8qIENoZWNrIGNwdV9jYWxsaW5fbWFwIGhlcmUgYmVjYXVzZSB0aGF0IGlzIHNldAotCQkgICBhZnRlciB0aGUgdGltZXIgaXMgc3RhcnRlZC4gKi8KLQkJaWYgKCFjcHVfaXNzZXQoY3B1LCBjcHVfY2FsbGluX21hcCkpCi0JCQljb250aW51ZTsKLSNlbmRpZgotCQlpZiAoIXBlcl9jcHUod2RfZW5hYmxlZCwgY3B1KSkKLQkJCWNvbnRpbnVlOwotCQlpZiAobm1pX2NvdW50KGNwdSkgLSBwcmV2X25taV9jb3VudFtjcHVdIDw9IDUpIHsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IENQVSMlZDogTk1JICIKLQkJCQkiYXBwZWFycyB0byBiZSBzdHVjayAoJWQtPiVkKSFcbiIsCi0JCQkJY3B1LAotCQkJCXByZXZfbm1pX2NvdW50W2NwdV0sCi0JCQkJbm1pX2NvdW50KGNwdSkpOwotCQkJcGVyX2NwdSh3ZF9lbmFibGVkLCBjcHUpID0gMDsKLQkJCWF0b21pY19kZWMoJm5taV9hY3RpdmUpOwotCQl9Ci0JfQotCWVuZGZsYWcgPSAxOwotCWlmICghYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpKSB7Ci0JCWtmcmVlKHByZXZfbm1pX2NvdW50KTsKLQkJYXRvbWljX3NldCgmbm1pX2FjdGl2ZSwgLTEpOwotCQlyZXR1cm4gLTE7Ci0JfQotCXByaW50aygiT0suXG4iKTsKLQotCS8qIG5vdyB0aGF0IHdlIGtub3cgaXQgd29ya3Mgd2UgY2FuIHJlZHVjZSBOTUkgZnJlcXVlbmN5IHRvCi0JICAgc29tZXRoaW5nIG1vcmUgcmVhc29uYWJsZTsgbWFrZXMgYSBkaWZmZXJlbmNlIGluIHNvbWUgY29uZmlncyAqLwotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpCi0JCW5taV9oeiA9IGxhcGljX2FkanVzdF9ubWlfaHooMSk7Ci0KLQlrZnJlZShwcmV2X25taV9jb3VudCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX25taV93YXRjaGRvZyhjaGFyICpzdHIpCi17Ci0JaW50IG5taTsKLQotCWdldF9vcHRpb24oJnN0ciwgJm5taSk7Ci0KLQlpZiAoKG5taSA+PSBOTUlfSU5WQUxJRCkgfHwgKG5taSA8IE5NSV9OT05FKSkKLQkJcmV0dXJuIDA7Ci0KLQlubWlfd2F0Y2hkb2cgPSBubWk7Ci0JcmV0dXJuIDE7Ci19Ci0KLV9fc2V0dXAoIm5taV93YXRjaGRvZz0iLCBzZXR1cF9ubWlfd2F0Y2hkb2cpOwotCi0KLS8qIFN1c3BlbmQvcmVzdW1lIHN1cHBvcnQgKi8KLQotI2lmZGVmIENPTkZJR19QTQotCi1zdGF0aWMgaW50IG5taV9wbV9hY3RpdmU7IC8qIG5taV9hY3RpdmUgYmVmb3JlIHN1c3BlbmQgKi8KLQotc3RhdGljIGludCBsYXBpY19ubWlfc3VzcGVuZChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCi17Ci0JLyogb25seSBDUFUwIGdvZXMgaGVyZSwgb3RoZXIgQ1BVcyBzaG91bGQgYmUgb2ZmbGluZSAqLwotCW5taV9wbV9hY3RpdmUgPSBhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSk7Ci0Jc3RvcF9hcGljX25taV93YXRjaGRvZyhOVUxMKTsKLQlCVUdfT04oYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpICE9IDApOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGxhcGljX25taV9yZXN1bWUoc3RydWN0IHN5c19kZXZpY2UgKmRldikKLXsKLQkvKiBvbmx5IENQVTAgZ29lcyBoZXJlLCBvdGhlciBDUFVzIHNob3VsZCBiZSBvZmZsaW5lICovCi0JaWYgKG5taV9wbV9hY3RpdmUgPiAwKSB7Ci0JCXNldHVwX2FwaWNfbm1pX3dhdGNoZG9nKE5VTEwpOwotCQl0b3VjaF9ubWlfd2F0Y2hkb2coKTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3Mgbm1pX3N5c2NsYXNzID0gewotCS5uYW1lCQk9ICJsYXBpY19ubWkiLAotCS5yZXN1bWUJCT0gbGFwaWNfbm1pX3Jlc3VtZSwKLQkuc3VzcGVuZAk9IGxhcGljX25taV9zdXNwZW5kLAotfTsKLQotc3RhdGljIHN0cnVjdCBzeXNfZGV2aWNlIGRldmljZV9sYXBpY19ubWkgPSB7Ci0JLmlkCT0gMCwKLQkuY2xzCT0gJm5taV9zeXNjbGFzcywKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGluaXRfbGFwaWNfbm1pX3N5c2ZzKHZvaWQpCi17Ci0JaW50IGVycm9yOwotCi0JLyogc2hvdWxkIHJlYWxseSBiZSBhIEJVR19PTiBidXQgYi9jIHRoaXMgaXMgYW4KLQkgKiBpbml0IGNhbGwsIGl0IGp1c3QgZG9lc24ndCB3b3JrLiAgLWRjegotCSAqLwotCWlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX0xPQ0FMX0FQSUMpCi0JCXJldHVybiAwOwotCi0JaWYgKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA8IDApCi0JCXJldHVybiAwOwotCi0JZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJm5taV9zeXNjbGFzcyk7Ci0JaWYgKCFlcnJvcikKLQkJZXJyb3IgPSBzeXNkZXZfcmVnaXN0ZXIoJmRldmljZV9sYXBpY19ubWkpOwotCXJldHVybiBlcnJvcjsKLX0KLS8qIG11c3QgY29tZSBhZnRlciB0aGUgbG9jYWwgQVBJQydzIGRldmljZV9pbml0Y2FsbCgpICovCi1sYXRlX2luaXRjYWxsKGluaXRfbGFwaWNfbm1pX3N5c2ZzKTsKLQotI2VuZGlmCS8qIENPTkZJR19QTSAqLwotCi1zdGF0aWMgdm9pZCBfX2FjcGlfbm1pX2VuYWJsZSh2b2lkICpfX3VudXNlZCkKLXsKLQlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xWVDAsIEFQSUNfRE1fTk1JKTsKLX0KLQotLyoKLSAqIEVuYWJsZSB0aW1lciBiYXNlZCBOTUlzIG9uIGFsbCBDUFVzOgotICovCi12b2lkIGFjcGlfbm1pX2VuYWJsZSh2b2lkKQotewotCWlmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgJiYgbm1pX3dhdGNoZG9nID09IE5NSV9JT19BUElDKQotCQlvbl9lYWNoX2NwdShfX2FjcGlfbm1pX2VuYWJsZSwgTlVMTCwgMCwgMSk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fYWNwaV9ubWlfZGlzYWJsZSh2b2lkICpfX3VudXNlZCkKLXsKLQlhcGljX3dyaXRlKEFQSUNfTFZUMCwgQVBJQ19ETV9OTUkgfCBBUElDX0xWVF9NQVNLRUQpOwotfQotCi0vKgotICogRGlzYWJsZSB0aW1lciBiYXNlZCBOTUlzIG9uIGFsbCBDUFVzOgotICovCi12b2lkIGFjcGlfbm1pX2Rpc2FibGUodm9pZCkKLXsKLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpICYmIG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykKLQkJb25fZWFjaF9jcHUoX19hY3BpX25taV9kaXNhYmxlLCBOVUxMLCAwLCAxKTsKLX0KLQotdm9pZCBzZXR1cF9hcGljX25taV93YXRjaGRvZyh2b2lkICp1bnVzZWQpCi17Ci0JaWYgKF9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkpCi0JCXJldHVybjsKLQotCS8qIGNoZWFwIGhhY2sgdG8gc3VwcG9ydCBzdXNwZW5kL3Jlc3VtZSAqLwotCS8qIGlmIGNwdTAgaXMgbm90IGFjdGl2ZSBuZWl0aGVyIHNob3VsZCB0aGUgb3RoZXIgY3B1cyAqLwotCWlmICgoc21wX3Byb2Nlc3Nvcl9pZCgpICE9IDApICYmIChhdG9taWNfcmVhZCgmbm1pX2FjdGl2ZSkgPD0gMCkpCi0JCXJldHVybjsKLQotCXN3aXRjaCAobm1pX3dhdGNoZG9nKSB7Ci0JY2FzZSBOTUlfTE9DQUxfQVBJQzoKLQkJX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDE7IC8qIGVuYWJsZSBpdCBiZWZvcmUgdG8gYXZvaWQgcmFjZSB3aXRoIGhhbmRsZXIgKi8KLQkJaWYgKGxhcGljX3dhdGNoZG9nX2luaXQobm1pX2h6KSA8IDApIHsKLQkJCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAwOwotCQkJcmV0dXJuOwotCQl9Ci0JCS8qIEZBTEwgVEhST1VHSCAqLwotCWNhc2UgTk1JX0lPX0FQSUM6Ci0JCV9fZ2V0X2NwdV92YXIod2RfZW5hYmxlZCkgPSAxOwotCQlhdG9taWNfaW5jKCZubWlfYWN0aXZlKTsKLQl9Ci19Ci0KLXZvaWQgc3RvcF9hcGljX25taV93YXRjaGRvZyh2b2lkICp1bnVzZWQpCi17Ci0JLyogb25seSBzdXBwb3J0IExPQ0FMIGFuZCBJTyBBUElDcyBmb3Igbm93ICovCi0JaWYgKChubWlfd2F0Y2hkb2cgIT0gTk1JX0xPQ0FMX0FQSUMpICYmCi0JICAgIChubWlfd2F0Y2hkb2cgIT0gTk1JX0lPX0FQSUMpKQotCSAgICAJcmV0dXJuOwotCWlmIChfX2dldF9jcHVfdmFyKHdkX2VuYWJsZWQpID09IDApCi0JCXJldHVybjsKLQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9MT0NBTF9BUElDKQotCQlsYXBpY193YXRjaGRvZ19zdG9wKCk7Ci0JX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSA9IDA7Ci0JYXRvbWljX2RlYygmbm1pX2FjdGl2ZSk7Ci19Ci0KLS8qCi0gKiB0aGUgYmVzdCB3YXkgdG8gZGV0ZWN0IHdoZXRoZXIgYSBDUFUgaGFzIGEgJ2hhcmQgbG9ja3VwJyBwcm9ibGVtCi0gKiBpcyB0byBjaGVjayBpdCdzIGxvY2FsIEFQSUMgdGltZXIgSVJRIGNvdW50cy4gSWYgdGhleSBhcmUgbm90Ci0gKiBjaGFuZ2luZyB0aGVuIHRoYXQgQ1BVIGhhcyBzb21lIHByb2JsZW0uCi0gKgotICogYXMgdGhlc2Ugd2F0Y2hkb2cgTk1JIElSUXMgYXJlIGdlbmVyYXRlZCBvbiBldmVyeSBDUFUsIHdlIG9ubHkKLSAqIGhhdmUgdG8gY2hlY2sgdGhlIGN1cnJlbnQgcHJvY2Vzc29yLgotICoKLSAqIHNpbmNlIE5NSXMgZG9uJ3QgbGlzdGVuIHRvIF9hbnlfIGxvY2tzLCB3ZSBoYXZlIHRvIGJlIGV4dHJlbWVseQotICogY2FyZWZ1bCBub3QgdG8gcmVseSBvbiB1bnNhZmUgdmFyaWFibGVzLiBUaGUgcHJpbnRrIG1pZ2h0IGxvY2sKLSAqIHVwIHRob3VnaCwgc28gd2UgaGF2ZSB0byBicmVhayB1cCBhbnkgY29uc29sZSBsb2NrcyBmaXJzdCAuLi4KLSAqIFt3aGVuIHRoZXJlIHdpbGwgYmUgbW9yZSB0dHktcmVsYXRlZCBsb2NrcywgYnJlYWsgdGhlbSB1cAotICogIGhlcmUgdG9vIV0KLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50Ci0JbGFzdF9pcnFfc3VtcyBbTlJfQ1BVU10sCi0JYWxlcnRfY291bnRlciBbTlJfQ1BVU107Ci0KLXZvaWQgdG91Y2hfbm1pX3dhdGNoZG9nKHZvaWQpCi17Ci0JaWYgKG5taV93YXRjaGRvZyA+IDApIHsKLQkJdW5zaWduZWQgY3B1OwotCi0JCS8qCi0JCSAqIEp1c3QgcmVzZXQgdGhlIGFsZXJ0IGNvdW50ZXJzLCAob3RoZXIgQ1BVcyBtaWdodCBiZQotCQkgKiBzcGlubmluZyBvbiBsb2NrcyB3ZSBob2xkKToKLQkJICovCi0JCWZvcl9lYWNoX3ByZXNlbnRfY3B1KGNwdSkgewotCQkJaWYgKGFsZXJ0X2NvdW50ZXJbY3B1XSkKLQkJCQlhbGVydF9jb3VudGVyW2NwdV0gPSAwOwotCQl9Ci0JfQotCi0JLyoKLQkgKiBUaWNrbGUgdGhlIHNvZnRsb2NrdXAgZGV0ZWN0b3IgdG9vOgotCSAqLwotCXRvdWNoX3NvZnRsb2NrdXBfd2F0Y2hkb2coKTsKLX0KLUVYUE9SVF9TWU1CT0wodG91Y2hfbm1pX3dhdGNoZG9nKTsKLQotZXh0ZXJuIHZvaWQgZGllX25taShzdHJ1Y3QgcHRfcmVncyAqLCBjb25zdCBjaGFyICptc2cpOwotCi1ub3RyYWNlIF9fa3Byb2JlcyBpbnQKLW5taV93YXRjaGRvZ190aWNrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCByZWFzb24pCi17Ci0KLQkvKgotCSAqIFNpbmNlIGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+IGlzIGFsd2F5cyBvbiB0aGUgc3RhY2ssIGFuZCB3ZQotCSAqIGFsd2F5cyBzd2l0Y2ggdGhlIHN0YWNrIE5NSS1hdG9taWNhbGx5LCBpdCdzIHNhZmUgdG8gdXNlCi0JICogc21wX3Byb2Nlc3Nvcl9pZCgpLgotCSAqLwotCXVuc2lnbmVkIGludCBzdW07Ci0JaW50IHRvdWNoZWQgPSAwOwotCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0JaW50IHJjID0gMDsKLQotCS8qIGNoZWNrIGZvciBvdGhlciB1c2VycyBmaXJzdCAqLwotCWlmIChub3RpZnlfZGllKERJRV9OTUksICJubWkiLCByZWdzLCByZWFzb24sIDIsIFNJR0lOVCkKLQkJCT09IE5PVElGWV9TVE9QKSB7Ci0JCXJjID0gMTsKLQkJdG91Y2hlZCA9IDE7Ci0JfQotCi0JaWYgKGNwdV9pc3NldChjcHUsIGJhY2t0cmFjZV9tYXNrKSkgewotCQlzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGxvY2spOwkvKiBTZXJpYWxpc2UgdGhlIHByaW50a3MgKi8KLQotCQlzcGluX2xvY2soJmxvY2spOwotCQlwcmludGsoIk5NSSBiYWNrdHJhY2UgZm9yIGNwdSAlZFxuIiwgY3B1KTsKLQkJZHVtcF9zdGFjaygpOwotCQlzcGluX3VubG9jaygmbG9jayk7Ci0JCWNwdV9jbGVhcihjcHUsIGJhY2t0cmFjZV9tYXNrKTsKLQl9Ci0KLQkvKgotCSAqIFRha2UgdGhlIGxvY2FsIGFwaWMgdGltZXIgYW5kIFBJVC9IUEVUIGludG8gYWNjb3VudC4gV2UgZG9uJ3QKLQkgKiBrbm93IHdoaWNoIG9uZSBpcyBhY3RpdmUsIHdoZW4gd2UgaGF2ZSBoaWdocmVzL2R5bnRpY2sgb24KLQkgKi8KLQlzdW0gPSBwZXJfY3B1KGlycV9zdGF0LCBjcHUpLmFwaWNfdGltZXJfaXJxcyArCi0JCXBlcl9jcHUoaXJxX3N0YXQsIGNwdSkuaXJxMF9pcnFzOwotCi0JLyogaWYgdGhlIG5vbmUgb2YgdGhlIHRpbWVycyBpc24ndCBmaXJpbmcsIHRoaXMgY3B1IGlzbid0IGRvaW5nIG11Y2ggKi8KLQlpZiAoIXRvdWNoZWQgJiYgbGFzdF9pcnFfc3Vtc1tjcHVdID09IHN1bSkgewotCQkvKgotCQkgKiBBeWllZSwgbG9va3MgbGlrZSB0aGlzIENQVSBpcyBzdHVjayAuLi4KLQkJICogd2FpdCBhIGZldyBJUlFzICg1IHNlY29uZHMpIGJlZm9yZSBkb2luZyB0aGUgb29wcyAuLi4KLQkJICovCi0JCWFsZXJ0X2NvdW50ZXJbY3B1XSsrOwotCQlpZiAoYWxlcnRfY291bnRlcltjcHVdID09IDUqbm1pX2h6KQotCQkJLyoKLQkJCSAqIGRpZV9ubWkgd2lsbCByZXR1cm4gT05MWSBpZiBOT1RJRllfU1RPUCBoYXBwZW5zLi4KLQkJCSAqLwotCQkJZGllX25taShyZWdzLCAiQlVHOiBOTUkgV2F0Y2hkb2cgZGV0ZWN0ZWQgTE9DS1VQIik7Ci0JfSBlbHNlIHsKLQkJbGFzdF9pcnFfc3Vtc1tjcHVdID0gc3VtOwotCQlhbGVydF9jb3VudGVyW2NwdV0gPSAwOwotCX0KLQkvKiBzZWUgaWYgdGhlIG5taSB3YXRjaGRvZyB3ZW50IG9mZiAqLwotCWlmICghX19nZXRfY3B1X3Zhcih3ZF9lbmFibGVkKSkKLQkJcmV0dXJuIHJjOwotCXN3aXRjaCAobm1pX3dhdGNoZG9nKSB7Ci0JY2FzZSBOTUlfTE9DQUxfQVBJQzoKLQkJcmMgfD0gbGFwaWNfd2RfZXZlbnQobm1pX2h6KTsKLQkJYnJlYWs7Ci0JY2FzZSBOTUlfSU9fQVBJQzoKLQkJLyogZG9uJ3Qga25vdyBob3cgdG8gYWNjdXJhdGVseSBjaGVjayBmb3IgdGhpcy4KLQkJICoganVzdCBhc3N1bWUgaXQgd2FzIGEgd2F0Y2hkb2cgdGltZXIgaW50ZXJydXB0Ci0JCSAqIFRoaXMgbWF0Y2hlcyB0aGUgb2xkIGJlaGF2aW91ci4KLQkJICovCi0JCXJjID0gMTsKLQkJYnJlYWs7Ci0JfQotCXJldHVybiByYzsKLX0KLQotI2lmZGVmIENPTkZJR19TWVNDVEwKLQotc3RhdGljIGludCB1bmtub3duX25taV9wYW5pY19jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBjaGFyIHJlYXNvbiA9IGdldF9ubWlfcmVhc29uKCk7Ci0JY2hhciBidWZbNjRdOwotCi0Jc3ByaW50ZihidWYsICJOTUkgcmVjZWl2ZWQgZm9yIHVua25vd24gcmVhc29uICUwMnhcbiIsIHJlYXNvbik7Ci0JZGllX25taShyZWdzLCBidWYpOwotCXJldHVybiAwOwotfQotCi0vKgotICogcHJvYyBoYW5kbGVyIGZvciAvcHJvYy9zeXMva2VybmVsL25taQotICovCi1pbnQgcHJvY19ubWlfZW5hYmxlZChzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJCXZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVuZ3RoLCBsb2ZmX3QgKnBwb3MpCi17Ci0JaW50IG9sZF9zdGF0ZTsKLQotCW5taV93YXRjaGRvZ19lbmFibGVkID0gKGF0b21pY19yZWFkKCZubWlfYWN0aXZlKSA+IDApID8gMSA6IDA7Ci0Jb2xkX3N0YXRlID0gbm1pX3dhdGNoZG9nX2VuYWJsZWQ7Ci0JcHJvY19kb2ludHZlYyh0YWJsZSwgd3JpdGUsIGZpbGUsIGJ1ZmZlciwgbGVuZ3RoLCBwcG9zKTsKLQlpZiAoISFvbGRfc3RhdGUgPT0gISFubWlfd2F0Y2hkb2dfZW5hYmxlZCkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoYXRvbWljX3JlYWQoJm5taV9hY3RpdmUpIDwgMCB8fCBubWlfd2F0Y2hkb2cgPT0gTk1JX0RJU0FCTEVEKSB7Ci0JCXByaW50ayggS0VSTl9XQVJOSU5HICJOTUkgd2F0Y2hkb2cgaXMgcGVybWFuZW50bHkgZGlzYWJsZWRcbiIpOwotCQlyZXR1cm4gLUVJTzsKLQl9Ci0KLQlpZiAobm1pX3dhdGNoZG9nID09IE5NSV9ERUZBVUxUKSB7Ci0JCWlmIChsYXBpY193YXRjaGRvZ19vaygpKQotCQkJbm1pX3dhdGNoZG9nID0gTk1JX0xPQ0FMX0FQSUM7Ci0JCWVsc2UKLQkJCW5taV93YXRjaGRvZyA9IE5NSV9JT19BUElDOwotCX0KLQotCWlmIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMpIHsKLQkJaWYgKG5taV93YXRjaGRvZ19lbmFibGVkKQotCQkJZW5hYmxlX2xhcGljX25taV93YXRjaGRvZygpOwotCQllbHNlCi0JCQlkaXNhYmxlX2xhcGljX25taV93YXRjaGRvZygpOwotCX0gZWxzZSB7Ci0JCXByaW50ayggS0VSTl9XQVJOSU5HCi0JCQkiTk1JIHdhdGNoZG9nIGRvZXNuJ3Qga25vdyB3aGF0IGhhcmR3YXJlIHRvIHRvdWNoXG4iKTsKLQkJcmV0dXJuIC1FSU87Ci0JfQotCXJldHVybiAwOwotfQotCi0jZW5kaWYKLQotaW50IGRvX25taV9jYWxsYmFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSkKLXsKLSNpZmRlZiBDT05GSUdfU1lTQ1RMCi0JaWYgKHVua25vd25fbm1pX3BhbmljKQotCQlyZXR1cm4gdW5rbm93bl9ubWlfcGFuaWNfY2FsbGJhY2socmVncywgY3B1KTsKLSNlbmRpZgotCXJldHVybiAwOwotfQotCi12b2lkIF9fdHJpZ2dlcl9hbGxfY3B1X2JhY2t0cmFjZSh2b2lkKQotewotCWludCBpOwotCi0JYmFja3RyYWNlX21hc2sgPSBjcHVfb25saW5lX21hcDsKLQkvKiBXYWl0IGZvciB1cCB0byAxMCBzZWNvbmRzIGZvciBhbGwgQ1BVcyB0byBkbyB0aGUgYmFja3RyYWNlICovCi0JZm9yIChpID0gMDsgaSA8IDEwICogMTAwMDsgaSsrKSB7Ci0JCWlmIChjcHVzX2VtcHR5KGJhY2t0cmFjZV9tYXNrKSkKLQkJCWJyZWFrOwotCQltZGVsYXkoMSk7Ci0JfQotfQotCi1FWFBPUlRfU1lNQk9MKG5taV9hY3RpdmUpOwotRVhQT1JUX1NZTUJPTChubWlfd2F0Y2hkb2cpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL251bWFxXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvbnVtYXFfMzIuYwppbmRleCBlNjUyODFiLi41YjIwYTVlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvbnVtYXFfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvbnVtYXFfMzIuYwpAQCAtMzEsNiArMzEsOCBAQAogI2luY2x1ZGUgPGFzbS9udW1hcS5oPgogI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KIAogI2RlZmluZQlNQl9UT19QQUdFUyhhZGRyKSAoKGFkZHIpIDw8ICgyMCAtIFBBR0VfU0hJRlQpKQogCkBAIC01OCw2ICs2MCw4IEBACiAJCQlub2RlX2VuZF9wZm5bbm9kZV0gPSBNQl9UT19QQUdFUygKIAkJCQllcS0+aGlfc2hyZF9tZW1fc3RhcnQgKyBlcS0+aGlfc2hyZF9tZW1fc2l6ZSk7CiAKKwkJCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMobm9kZSwgbm9kZV9zdGFydF9wZm5bbm9kZV0sCisJCQkJCQkJbm9kZV9lbmRfcGZuW25vZGVdKTsKIAkJCW1lbW9yeV9wcmVzZW50KG5vZGUsCiAJCQkJbm9kZV9zdGFydF9wZm5bbm9kZV0sIG5vZGVfZW5kX3Bmbltub2RlXSk7CiAJCQlub2RlX3JlbWFwX3NpemVbbm9kZV0gPSBub2RlX21lbW1hcF9zaXplX2J5dGVzKG5vZGUsCkBAIC02NywyMyArNzEsMzUgQEAKIAl9CiB9CiAKLS8qCi0gKiBVbmxpa2UgU3VtbWl0LCB3ZSBkb24ndCByZWFsbHkgY2FyZSB0byBsZXQgdGhlIE5VTUEtUQotICogZmFsbCBiYWNrIHRvIGZsYXQgbW9kZS4gIERvbid0IGNvbXBpbGUgZm9yIE5VTUEtUQotICogdW5sZXNzIHlvdSByZWFsbHkgbmVlZCBpdCEKLSAqLworc3RhdGljIF9faW5pdCB2b2lkIGVhcmx5X2NoZWNrX251bWFxKHZvaWQpCit7CisJLyoKKwkgKiBGaW5kIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbjoKKwkgKi8KKwllYXJseV9maW5kX3NtcF9jb25maWcoKTsKKwkvKgorCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJaWYgKHNtcF9mb3VuZF9jb25maWcpCisJCWVhcmx5X2dldF9zbXBfY29uZmlnKCk7Cit9CisKIGludCBfX2luaXQgZ2V0X21lbWNmZ19udW1hcSh2b2lkKQogeworCWVhcmx5X2NoZWNrX251bWFxKCk7CisJaWYgKCFmb3VuZF9udW1hcSkKKwkJcmV0dXJuIDA7CiAJc21wX2R1bXBfcWN0KCk7CiAJcmV0dXJuIDE7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IG51bWFxX3RzY19kaXNhYmxlKHZvaWQpCit2b2lkIF9faW5pdCBudW1hcV90c2NfZGlzYWJsZSh2b2lkKQogeworCWlmICghZm91bmRfbnVtYXEpCisJCXJldHVybiAtMTsKKwogCWlmIChudW1fb25saW5lX25vZGVzKCkgPiAxKSB7CiAJCXByaW50ayhLRVJOX0RFQlVHICJOVU1BUTogZGlzYWJsaW5nIFRTQ1xuIik7CiAJCXNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZFQVRVUkVfVFNDKTsKIAl9Ci0JcmV0dXJuIDA7CiB9Ci1hcmNoX2luaXRjYWxsKG51bWFxX3RzY19kaXNhYmxlKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMKaW5kZXggNzRmMGM1ZS4uZTBmNTcxZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgogI2luY2x1ZGUgPGFzbS90aW1lLmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2RlbGF5Lmg+CiAjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgpAQCAtMTM5LDcgKzE0MCw5IEBACiAJCS8qIElmIHRoZSBvcGVyYXRpb24gaXMgYSBub3AsIHRoZW4gbm9wIHRoZSBjYWxsc2l0ZSAqLwogCQlyZXQgPSBwYXJhdmlydF9wYXRjaF9ub3AoKTsKIAllbHNlIGlmICh0eXBlID09IFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMuaXJldCkgfHwKLQkJIHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KSkKKwkJIHR5cGUgPT0gUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2V4aXQpIHx8CisJCSB0eXBlID09IFBBUkFWSVJUX1BBVENIKHB2X2NwdV9vcHMudXNlcmdzX3N5c3JldDMyKSB8fAorCQkgdHlwZSA9PSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLnVzZXJnc19zeXNyZXQ2NCkpCiAJCS8qIElmIG9wZXJhdGlvbiByZXF1aXJlcyBhIGptcCwgdGhlbiBqbXAgKi8KIAkJcmV0ID0gcGFyYXZpcnRfcGF0Y2hfam1wKGluc25idWYsIG9wZnVuYywgYWRkciwgbGVuKTsKIAllbHNlCkBAIC0xOTAsNyArMTkzLDkgQEAKIAogLyogVGhlc2UgYXJlIGluIGVudHJ5LlMgKi8KIGV4dGVybiB2b2lkIG5hdGl2ZV9pcmV0KHZvaWQpOwotZXh0ZXJuIHZvaWQgbmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQodm9pZCk7CitleHRlcm4gdm9pZCBuYXRpdmVfaXJxX2VuYWJsZV9zeXNleGl0KHZvaWQpOworZXh0ZXJuIHZvaWQgbmF0aXZlX3VzZXJnc19zeXNyZXQzMih2b2lkKTsKK2V4dGVybiB2b2lkIG5hdGl2ZV91c2VyZ3Nfc3lzcmV0NjQodm9pZCk7CiAKIHN0YXRpYyBpbnQgX19pbml0IHByaW50X2Jhbm5lcih2b2lkKQogewpAQCAtMjgwLDcgKzI4NSw3IEBACiAJLmdldF93YWxsY2xvY2sgPSBuYXRpdmVfZ2V0X3dhbGxjbG9jaywKIAkuc2V0X3dhbGxjbG9jayA9IG5hdGl2ZV9zZXRfd2FsbGNsb2NrLAogCS5zY2hlZF9jbG9jayA9IG5hdGl2ZV9zY2hlZF9jbG9jaywKLQkuZ2V0X2NwdV9raHogPSBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHosCisJLmdldF90c2Nfa2h6ID0gbmF0aXZlX2NhbGlicmF0ZV90c2MsCiB9OwogCiBzdHJ1Y3QgcHZfaXJxX29wcyBwdl9pcnFfb3BzID0gewpAQCAtMjkxLDYgKzI5Niw5IEBACiAJLmlycV9lbmFibGUgPSBuYXRpdmVfaXJxX2VuYWJsZSwKIAkuc2FmZV9oYWx0ID0gbmF0aXZlX3NhZmVfaGFsdCwKIAkuaGFsdCA9IG5hdGl2ZV9oYWx0LAorI2lmZGVmIENPTkZJR19YODZfNjQKKwkuYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSA9IHBhcmF2aXJ0X25vcCwKKyNlbmRpZgogfTsKIAogc3RydWN0IHB2X2NwdV9vcHMgcHZfY3B1X29wcyA9IHsKQEAgLTMyMSwxMiArMzI5LDIzIEBACiAJLnN0b3JlX2lkdCA9IG5hdGl2ZV9zdG9yZV9pZHQsCiAJLnN0b3JlX3RyID0gbmF0aXZlX3N0b3JlX3RyLAogCS5sb2FkX3RscyA9IG5hdGl2ZV9sb2FkX3RscywKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJLmxvYWRfZ3NfaW5kZXggPSBuYXRpdmVfbG9hZF9nc19pbmRleCwKKyNlbmRpZgogCS53cml0ZV9sZHRfZW50cnkgPSBuYXRpdmVfd3JpdGVfbGR0X2VudHJ5LAogCS53cml0ZV9nZHRfZW50cnkgPSBuYXRpdmVfd3JpdGVfZ2R0X2VudHJ5LAogCS53cml0ZV9pZHRfZW50cnkgPSBuYXRpdmVfd3JpdGVfaWR0X2VudHJ5LAogCS5sb2FkX3NwMCA9IG5hdGl2ZV9sb2FkX3NwMCwKIAotCS5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0ID0gbmF0aXZlX2lycV9lbmFibGVfc3lzY2FsbF9yZXQsCisjaWYgZGVmaW5lZChDT05GSUdfWDg2XzMyKSB8fCBkZWZpbmVkKENPTkZJR19JQTMyX0VNVUxBVElPTikKKwkuaXJxX2VuYWJsZV9zeXNleGl0ID0gbmF0aXZlX2lycV9lbmFibGVfc3lzZXhpdCwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfNjQKKyNpZmRlZiBDT05GSUdfSUEzMl9FTVVMQVRJT04KKwkudXNlcmdzX3N5c3JldDMyID0gbmF0aXZlX3VzZXJnc19zeXNyZXQzMiwKKyNlbmRpZgorCS51c2VyZ3Nfc3lzcmV0NjQgPSBuYXRpdmVfdXNlcmdzX3N5c3JldDY0LAorI2VuZGlmCiAJLmlyZXQgPSBuYXRpdmVfaXJldCwKIAkuc3dhcGdzID0gbmF0aXZlX3N3YXBncywKIApAQCAtMzY2LDYgKzM4NSw5IEBACiAJLmZsdXNoX3RsYl9zaW5nbGUgPSBuYXRpdmVfZmx1c2hfdGxiX3NpbmdsZSwKIAkuZmx1c2hfdGxiX290aGVycyA9IG5hdGl2ZV9mbHVzaF90bGJfb3RoZXJzLAogCisJLnBnZF9hbGxvYyA9IF9fcGFyYXZpcnRfcGdkX2FsbG9jLAorCS5wZ2RfZnJlZSA9IHBhcmF2aXJ0X25vcCwKKwogCS5hbGxvY19wdGUgPSBwYXJhdmlydF9ub3AsCiAJLmFsbG9jX3BtZCA9IHBhcmF2aXJ0X25vcCwKIAkuYWxsb2NfcG1kX2Nsb25lID0gcGFyYXZpcnRfbm9wLApAQCAtMzgwLDYgKzQwMiw5IEBACiAJLnB0ZV91cGRhdGUgPSBwYXJhdmlydF9ub3AsCiAJLnB0ZV91cGRhdGVfZGVmZXIgPSBwYXJhdmlydF9ub3AsCiAKKwkucHRlcF9tb2RpZnlfcHJvdF9zdGFydCA9IF9fcHRlcF9tb2RpZnlfcHJvdF9zdGFydCwKKwkucHRlcF9tb2RpZnlfcHJvdF9jb21taXQgPSBfX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0LAorCiAjaWZkZWYgQ09ORklHX0hJR0hQVEUKIAkua21hcF9hdG9taWNfcHRlID0ga21hcF9hdG9taWMsCiAjZW5kaWYKQEAgLTQwMyw2ICs0MjgsNyBAQAogI2VuZGlmIC8qIFBBR0VUQUJMRV9MRVZFTFMgPj0gMyAqLwogCiAJLnB0ZV92YWwgPSBuYXRpdmVfcHRlX3ZhbCwKKwkucHRlX2ZsYWdzID0gbmF0aXZlX3B0ZV92YWwsCiAJLnBnZF92YWwgPSBuYXRpdmVfcGdkX3ZhbCwKIAogCS5tYWtlX3B0ZSA9IG5hdGl2ZV9tYWtlX3B0ZSwKQEAgLTQxNiw2ICs0NDIsOCBAQAogCQkuZW50ZXIgPSBwYXJhdmlydF9ub3AsCiAJCS5sZWF2ZSA9IHBhcmF2aXJ0X25vcCwKIAl9LAorCisJLnNldF9maXhtYXAgPSBuYXRpdmVfc2V0X2ZpeG1hcCwKIH07CiAKIEVYUE9SVF9TWU1CT0xfR1BMKHB2X3RpbWVfb3BzKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzMyLmMKaW5kZXggODJmYzVmYy4uNTgyNjIyMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzMyLmMKQEAgLTUsNyArNSw3IEBACiBERUZfTkFUSVZFKHB2X2lycV9vcHMsIHJlc3RvcmVfZmwsICJwdXNoICVlYXg7IHBvcGYiKTsKIERFRl9OQVRJVkUocHZfaXJxX29wcywgc2F2ZV9mbCwgInB1c2hmOyBwb3AgJWVheCIpOwogREVGX05BVElWRShwdl9jcHVfb3BzLCBpcmV0LCAiaXJldCIpOwotREVGX05BVElWRShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0LCAic3RpOyBzeXNleGl0Iik7CitERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzZXhpdCwgInN0aTsgc3lzZXhpdCIpOwogREVGX05BVElWRShwdl9tbXVfb3BzLCByZWFkX2NyMiwgIm1vdiAlY3IyLCAlZWF4Iik7CiBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHdyaXRlX2NyMywgIm1vdiAlZWF4LCAlY3IzIik7CiBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHJlYWRfY3IzLCAibW92ICVjcjMsICVlYXgiKTsKQEAgLTI5LDcgKzI5LDcgQEAKIAkJUEFUQ0hfU0lURShwdl9pcnFfb3BzLCByZXN0b3JlX2ZsKTsKIAkJUEFUQ0hfU0lURShwdl9pcnFfb3BzLCBzYXZlX2ZsKTsKIAkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcmV0KTsKLQkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2NhbGxfcmV0KTsKKwkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCBpcnFfZW5hYmxlX3N5c2V4aXQpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9vcHMsIHJlYWRfY3IyKTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCByZWFkX2NyMyk7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgd3JpdGVfY3IzKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF82NC5jIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzY0LmMKaW5kZXggN2Q5MDRlMS4uMDYxZDAxZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzY0LmMKQEAgLTE0LDggKzE0LDkgQEAKIERFRl9OQVRJVkUocHZfY3B1X29wcywgY2x0cywgImNsdHMiKTsKIERFRl9OQVRJVkUocHZfY3B1X29wcywgd2JpbnZkLCAid2JpbnZkIik7CiAKLS8qIHRoZSB0aHJlZSBjb21tYW5kcyBnaXZlIHVzIG1vcmUgY29udHJvbCB0byBob3cgdG8gcmV0dXJuIGZyb20gYSBzeXNjYWxsICovCi1ERUZfTkFUSVZFKHB2X2NwdV9vcHMsIGlycV9lbmFibGVfc3lzY2FsbF9yZXQsICJtb3ZxICVnczoiIF9fc3RyaW5naWZ5KHBkYV9vbGRyc3ApICIsICVyc3A7IHN3YXBnczsgc3lzcmV0cTsiKTsKK0RFRl9OQVRJVkUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0LCAic3dhcGdzOyBzdGk7IHN5c2V4aXQiKTsKK0RFRl9OQVRJVkUocHZfY3B1X29wcywgdXNlcmdzX3N5c3JldDY0LCAic3dhcGdzOyBzeXNyZXRxIik7CitERUZfTkFUSVZFKHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQzMiwgInN3YXBnczsgc3lzcmV0bCIpOwogREVGX05BVElWRShwdl9jcHVfb3BzLCBzd2FwZ3MsICJzd2FwZ3MiKTsKIAogdW5zaWduZWQgbmF0aXZlX3BhdGNoKHU4IHR5cGUsIHUxNiBjbG9iYmVycywgdm9pZCAqaWJ1ZiwKQEAgLTM1LDcgKzM2LDkgQEAKIAkJUEFUQ0hfU0lURShwdl9pcnFfb3BzLCBpcnFfZW5hYmxlKTsKIAkJUEFUQ0hfU0lURShwdl9pcnFfb3BzLCBpcnFfZGlzYWJsZSk7CiAJCVBBVENIX1NJVEUocHZfY3B1X29wcywgaXJldCk7Ci0JCVBBVENIX1NJVEUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNjYWxsX3JldCk7CisJCVBBVENIX1NJVEUocHZfY3B1X29wcywgaXJxX2VuYWJsZV9zeXNleGl0KTsKKwkJUEFUQ0hfU0lURShwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0MzIpOworCQlQQVRDSF9TSVRFKHB2X2NwdV9vcHMsIHVzZXJnc19zeXNyZXQ2NCk7CiAJCVBBVENIX1NJVEUocHZfY3B1X29wcywgc3dhcGdzKTsKIAkJUEFUQ0hfU0lURShwdl9tbXVfb3BzLCByZWFkX2NyMik7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgcmVhZF9jcjMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BjaS1jYWxnYXJ5XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWNhbGdhcnlfNjQuYwppbmRleCBlMjhlYzQ5Li42OTU5YjVjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWNhbGdhcnlfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWNhbGdhcnlfNjQuYwpAQCAtMTM5NCw3ICsxMzk0LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCXNwZWNpZmllZF90YWJsZV9zaXplID0gZGV0ZXJtaW5lX3RjZV90YWJsZV9zaXplKGVuZF9wZm4gKiBQQUdFX1NJWkUpOworCXNwZWNpZmllZF90YWJsZV9zaXplID0gZGV0ZXJtaW5lX3RjZV90YWJsZV9zaXplKG1heF9wZm4gKiBQQUdFX1NJWkUpOwogCiAJZm9yIChidXMgPSAwOyBidXMgPCBNQVhfUEhCX0JVU19OVU07IGJ1cysrKSB7CiAJCXN0cnVjdCBjYWxnYXJ5X2J1c19pbmZvICppbmZvID0gJmJ1c19pbmZvW2J1c107CkBAIC0xNDU5LDcgKzE0NTksNyBAQAogCWlmIChyZXQpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJQQ0ktRE1BOiBDYWxnYXJ5IGluaXQgZmFpbGVkICVkLCAiCiAJCSAgICAgICAiZmFsbGluZyBiYWNrIHRvIG5vX2lvbW11XG4iLCByZXQpOwotCQlpZiAoZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4pCisJCWlmIChtYXhfcGZuID4gTUFYX0RNQTMyX1BGTikKIAkJCXByaW50ayhLRVJOX0VSUiAiV0FSTklORyBtb3JlIHRoYW4gNEdCIG9mIG1lbW9yeSwgIgogCQkJCQkiMzJiaXQgUENJIG1heSBtYWxmdW5jdGlvbi5cbiIpOwogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BjaS1kbWEuYyBiL2FyY2gveDg2L2tlcm5lbC9wY2ktZG1hLmMKaW5kZXggZGMwMGExMy4uODQ2N2VjMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BjaS1kbWEuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWRtYS5jCkBAIC03LDYgKzcsNyBAQAogI2luY2x1ZGUgPGFzbS9kbWEuaD4KICNpbmNsdWRlIDxhc20vZ2FydC5oPgogI2luY2x1ZGUgPGFzbS9jYWxnYXJ5Lmg+CisjaW5jbHVkZSA8YXNtL2FtZF9pb21tdS5oPgogCiBpbnQgZm9yYmlkX2RhYyBfX3JlYWRfbW9zdGx5OwogRVhQT1JUX1NZTUJPTChmb3JiaWRfZGFjKTsKQEAgLTc0LDEzICs3NSwxNyBAQAogdm9pZCBfX2luaXQgZG1hMzJfcmVzZXJ2ZV9ib290bWVtKHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBzaXplLCBhbGlnbjsKLQlpZiAoZW5kX3BmbiA8PSBNQVhfRE1BMzJfUEZOKQorCWlmIChtYXhfcGZuIDw9IE1BWF9ETUEzMl9QRk4pCiAJCXJldHVybjsKIAorCS8qCisJICogY2hlY2sgYXBlcnR1cmVfNjQuYyBhbGxvY2F0ZV9hcGVydHVyZSgpIGZvciByZWFzb24gYWJvdXQKKwkgKiB1c2luZyA1MTJNIGFzIGdvYWwKKwkgKi8KIAlhbGlnbiA9IDY0VUxMPDwyMDsKIAlzaXplID0gcm91bmRfdXAoZG1hMzJfYm9vdG1lbV9zaXplLCBhbGlnbik7CiAJZG1hMzJfYm9vdG1lbV9wdHIgPSBfX2FsbG9jX2Jvb3RtZW1fbm9wYW5pYyhzaXplLCBhbGlnbiwKLQkJCQkgX19wYShNQVhfRE1BX0FERFJFU1MpKTsKKwkJCQkgNTEyVUxMPDwyMCk7CiAJaWYgKGRtYTMyX2Jvb3RtZW1fcHRyKQogCQlkbWEzMl9ib290bWVtX3NpemUgPSBzaXplOwogCWVsc2UKQEAgLTg4LDE3ICs5MywxNCBAQAogfQogc3RhdGljIHZvaWQgX19pbml0IGRtYTMyX2ZyZWVfYm9vdG1lbSh2b2lkKQogewotCWludCBub2RlOwogCi0JaWYgKGVuZF9wZm4gPD0gTUFYX0RNQTMyX1BGTikKKwlpZiAobWF4X3BmbiA8PSBNQVhfRE1BMzJfUEZOKQogCQlyZXR1cm47CiAKIAlpZiAoIWRtYTMyX2Jvb3RtZW1fcHRyKQogCQlyZXR1cm47CiAKLQlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKQotCQlmcmVlX2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobm9kZSksIF9fcGEoZG1hMzJfYm9vdG1lbV9wdHIpLAotCQkJCSAgZG1hMzJfYm9vdG1lbV9zaXplKTsKKwlmcmVlX2Jvb3RtZW0oX19wYShkbWEzMl9ib290bWVtX3B0ciksIGRtYTMyX2Jvb3RtZW1fc2l6ZSk7CiAKIAlkbWEzMl9ib290bWVtX3B0ciA9IE5VTEw7CiAJZG1hMzJfYm9vdG1lbV9zaXplID0gMDsKQEAgLTEyMiw2ICsxMjQsOCBAQAogCiAJZGV0ZWN0X2ludGVsX2lvbW11KCk7CiAKKwlhbWRfaW9tbXVfZGV0ZWN0KCk7CisKICNpZmRlZiBDT05GSUdfU1dJT1RMQgogCXBjaV9zd2lvdGxiX2luaXQoKTsKICNlbmRpZgpAQCAtMzU3LDcgKzM2MSw3IEBACiBFWFBPUlRfU1lNQk9MKGRtYV9zdXBwb3J0ZWQpOwogCiAvKiBBbGxvY2F0ZSBETUEgbWVtb3J5IG9uIG5vZGUgbmVhciBkZXZpY2UgKi8KLW5vaW5saW5lIHN0cnVjdCBwYWdlICoKK3N0YXRpYyBub2lubGluZSBzdHJ1Y3QgcGFnZSAqCiBkbWFfYWxsb2NfcGFnZXMoc3RydWN0IGRldmljZSAqZGV2LCBnZnBfdCBnZnAsIHVuc2lnbmVkIG9yZGVyKQogewogCWludCBub2RlOwpAQCAtNTAyLDYgKzUwNiw4IEBACiAKIAlpbnRlbF9pb21tdV9pbml0KCk7CiAKKwlhbWRfaW9tbXVfaW5pdCgpOworCiAjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKIAlnYXJ0X2lvbW11X2luaXQoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3BjaS1nYXJ0XzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWdhcnRfNjQuYwppbmRleCBhYThlYzkyLi5jM2ZlNzg0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGNpLWdhcnRfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGNpLWdhcnRfNjQuYwpAQCAtMTA0LDcgKzEwNCw2IEBACiAJCQkJCSAgc2l6ZSwgYmFzZV9pbmRleCwgYm91bmRhcnlfc2l6ZSwgMCk7CiAJfQogCWlmIChvZmZzZXQgIT0gLTEpIHsKLQkJc2V0X2JpdF9zdHJpbmcoaW9tbXVfZ2FydF9iaXRtYXAsIG9mZnNldCwgc2l6ZSk7CiAJCW5leHRfYml0ID0gb2Zmc2V0K3NpemU7CiAJCWlmIChuZXh0X2JpdCA+PSBpb21tdV9wYWdlcykgewogCQkJbmV4dF9iaXQgPSAwOwpAQCAtNTM0LDggKzUzMyw4IEBACiAJdW5zaWduZWQgYXBlcl9zaXplID0gMCwgYXBlcl9iYXNlXzMyLCBhcGVyX29yZGVyOwogCXU2NCBhcGVyX2Jhc2U7CiAKLQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDk0LCAmYXBlcl9iYXNlXzMyKTsKLQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDkwLCAmYXBlcl9vcmRlcik7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwgJmFwZXJfYmFzZV8zMik7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmYXBlcl9vcmRlcik7CiAJYXBlcl9vcmRlciA9IChhcGVyX29yZGVyID4+IDEpICYgNzsKIAogCWFwZXJfYmFzZSA9IGFwZXJfYmFzZV8zMiAmIDB4N2ZmZjsKQEAgLTU0OSwxNCArNTQ4LDYzIEBACiAJcmV0dXJuIGFwZXJfYmFzZTsKIH0KIAorc3RhdGljIHZvaWQgZW5hYmxlX2dhcnRfdHJhbnNsYXRpb25zKHZvaWQpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2s4X25vcnRoYnJpZGdlczsgaSsrKSB7CisJCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBrOF9ub3J0aGJyaWRnZXNbaV07CisKKwkJZW5hYmxlX2dhcnRfdHJhbnNsYXRpb24oZGV2LCBfX3BhKGFncF9nYXR0X3RhYmxlKSk7CisJfQorfQorCisvKgorICogSWYgZml4X3VwX25vcnRoX2JyaWRnZXMgaXMgc2V0LCB0aGUgbm9ydGggYnJpZGdlcyBoYXZlIHRvIGJlIGZpeGVkIHVwIG9uCisgKiByZXN1bWUgaW4gdGhlIHNhbWUgd2F5IGFzIHRoZXkgYXJlIGhhbmRsZWQgaW4gZ2FydF9pb21tdV9ob2xlX2luaXQoKS4KKyAqLworc3RhdGljIGJvb2wgZml4X3VwX25vcnRoX2JyaWRnZXM7CitzdGF0aWMgdTMyIGFwZXJ0dXJlX29yZGVyOworc3RhdGljIHUzMiBhcGVydHVyZV9hbGxvYzsKKwordm9pZCBzZXRfdXBfZ2FydF9yZXN1bWUodTMyIGFwZXJfb3JkZXIsIHUzMiBhcGVyX2FsbG9jKQoreworCWZpeF91cF9ub3J0aF9icmlkZ2VzID0gdHJ1ZTsKKwlhcGVydHVyZV9vcmRlciA9IGFwZXJfb3JkZXI7CisJYXBlcnR1cmVfYWxsb2MgPSBhcGVyX2FsbG9jOworfQorCiBzdGF0aWMgaW50IGdhcnRfcmVzdW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYpCiB7CisJcHJpbnRrKEtFUk5fSU5GTyAiUENJLURNQTogUmVzdW1pbmcgR0FSVCBJT01NVVxuIik7CisKKwlpZiAoZml4X3VwX25vcnRoX2JyaWRnZXMpIHsKKwkJaW50IGk7CisKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUENJLURNQTogUmVzdG9yaW5nIEdBUlQgYXBlcnR1cmUgc2V0dGluZ3NcbiIpOworCisJCWZvciAoaSA9IDA7IGkgPCBudW1fazhfbm9ydGhicmlkZ2VzOyBpKyspIHsKKwkJCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBrOF9ub3J0aGJyaWRnZXNbaV07CisKKwkJCS8qCisJCQkgKiBEb24ndCBlbmFibGUgdHJhbnNsYXRpb25zIGp1c3QgeWV0LiAgVGhhdCBpcyB0aGUgbmV4dAorCQkJICogc3RlcC4gIFJlc3RvcmUgdGhlIHByZS1zdXNwZW5kIGFwZXJ0dXJlIHNldHRpbmdzLgorCQkJICovCisJCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLAorCQkJCQkJYXBlcnR1cmVfb3JkZXIgPDwgMSk7CisJCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQkFTRSwKKwkJCQkJCWFwZXJ0dXJlX2FsbG9jID4+IDI1KTsKKwkJfQorCX0KKworCWVuYWJsZV9nYXJ0X3RyYW5zbGF0aW9ucygpOworCiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZ2FydF9zdXNwZW5kKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKLQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIHN0cnVjdCBzeXNkZXZfY2xhc3MgZ2FydF9zeXNkZXZfY2xhc3MgPSB7CkBAIC01ODIsNiArNjMwLDcgQEAKIAlzdHJ1Y3QgcGNpX2RldiAqZGV2OwogCXZvaWQgKmdhdHQ7CiAJaW50IGksIGVycm9yOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiUENJLURNQTogRGlzYWJsaW5nIEFHUC5cbiIpOwogCWFwZXJfc2l6ZSA9IGFwZXJfYmFzZSA9IGluZm8tPmFwZXJfc2l6ZSA9IDA7CkBAIC02MTQsMzEgKzY2MywyNSBAQAogCW1lbXNldChnYXR0LCAwLCBnYXR0X3NpemUpOwogCWFncF9nYXR0X3RhYmxlID0gZ2F0dDsKIAotCWZvciAoaSA9IDA7IGkgPCBudW1fazhfbm9ydGhicmlkZ2VzOyBpKyspIHsKLQkJdTMyIGdhdHRfcmVnOwotCQl1MzIgY3RsOwotCi0JCWRldiA9IGs4X25vcnRoYnJpZGdlc1tpXTsKLQkJZ2F0dF9yZWcgPSBfX3BhKGdhdHQpID4+IDEyOwotCQlnYXR0X3JlZyA8PD0gNDsKLQkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIDB4OTgsIGdhdHRfcmVnKTsKLQkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg5MCwgJmN0bCk7Ci0KLQkJY3RsIHw9IDE7Ci0JCWN0bCAmPSB+KCgxPDw0KSB8ICgxPDw1KSk7Ci0KLQkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIDB4OTAsIGN0bCk7Ci0JfQorCWVuYWJsZV9nYXJ0X3RyYW5zbGF0aW9ucygpOwogCiAJZXJyb3IgPSBzeXNkZXZfY2xhc3NfcmVnaXN0ZXIoJmdhcnRfc3lzZGV2X2NsYXNzKTsKIAlpZiAoIWVycm9yKQogCQllcnJvciA9IHN5c2Rldl9yZWdpc3RlcigmZGV2aWNlX2dhcnQpOwogCWlmIChlcnJvcikKIAkJcGFuaWMoIkNvdWxkIG5vdCByZWdpc3RlciBnYXJ0X3N5c2RldiAtLSB3b3VsZCBjb3JydXB0IGRhdGEgb24gbmV4dCBzdXNwZW5kIik7CisKIAlmbHVzaF9nYXJ0KCk7CiAKIAlwcmludGsoS0VSTl9JTkZPICJQQ0ktRE1BOiBhcGVydHVyZSBiYXNlIEAgJXggc2l6ZSAldSBLQlxuIiwKIAkgICAgICAgYXBlcl9iYXNlLCBhcGVyX3NpemU+PjEwKTsKKworCS8qIG5lZWQgdG8gbWFwIHRoYXQgcmFuZ2UgKi8KKwllbmRfcGZuID0gKGFwZXJfYmFzZT4+UEFHRV9TSElGVCkgKyAoYXBlcl9zaXplPj5QQUdFX1NISUZUKTsKKwlpZiAoZW5kX3BmbiA+IG1heF9sb3dfcGZuX21hcHBlZCkgeworCQlzdGFydF9wZm4gPSAoYXBlcl9iYXNlPj5QQUdFX1NISUZUKTsKKwkJaW5pdF9tZW1vcnlfbWFwcGluZyhzdGFydF9wZm48PFBBR0VfU0hJRlQsIGVuZF9wZm48PFBBR0VfU0hJRlQpOworCX0KIAlyZXR1cm4gMDsKIAogIG5vbW11OgpAQCAtNjc3LDExICs3MjAsMTEgQEAKIAkJdTMyIGN0bDsKIAogCQlkZXYgPSBrOF9ub3J0aGJyaWRnZXNbaV07Ci0JCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIDB4OTAsICZjdGwpOworCQlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZjdGwpOwogCi0JCWN0bCAmPSB+MTsKKwkJY3RsICY9IH5HQVJURU47CiAKLQkJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChkZXYsIDB4OTAsIGN0bCk7CisJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIGN0bCk7CiAJfQogfQogCkBAIC03MTYsMTAgKzc1OSwxMCBAQAogCQlyZXR1cm47CiAKIAlpZiAobm9faW9tbXUgfHwKLQkgICAgKCFmb3JjZV9pb21tdSAmJiBlbmRfcGZuIDw9IE1BWF9ETUEzMl9QRk4pIHx8CisJICAgICghZm9yY2VfaW9tbXUgJiYgbWF4X3BmbiA8PSBNQVhfRE1BMzJfUEZOKSB8fAogCSAgICAhZ2FydF9pb21tdV9hcGVydHVyZSB8fAogCSAgICAobm9fYWdwICYmIGluaXRfazhfZ2F0dCgmaW5mbykgPCAwKSkgewotCQlpZiAoZW5kX3BmbiA+IE1BWF9ETUEzMl9QRk4pIHsKKwkJaWYgKG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOKSB7CiAJCQlwcmludGsoS0VSTl9XQVJOSU5HICJNb3JlIHRoYW4gNEdCIG9mIG1lbW9yeSAiCiAJCQkgICAgICAgCSAgICAgICAgICAiYnV0IEdBUlQgSU9NTVUgbm90IGF2YWlsYWJsZS5cbiIKIAkJCSAgICAgICBLRVJOX1dBUk5JTkcgImZhbGxpbmcgYmFjayB0byBpb21tdT1zb2Z0LlxuIik7CkBAIC03ODgsMTAgKzgzMSwxMCBAQAogCXdiaW52ZCgpOwogCiAJLyoKLQkgKiBUcnkgdG8gd29ya2Fyb3VuZCBhIGJ1ZyAodGhhbmtzIHRvIEJlbkgpCisJICogVHJ5IHRvIHdvcmthcm91bmQgYSBidWcgKHRoYW5rcyB0byBCZW5IKToKIAkgKiBTZXQgdW5tYXBwZWQgZW50cmllcyB0byBhIHNjcmF0Y2ggcGFnZSBpbnN0ZWFkIG9mIDAuCiAJICogQW55IHByZWZldGNoZXMgdGhhdCBoaXQgdW5tYXBwZWQgZW50cmllcyB3b24ndCBnZXQgYW4gYnVzIGFib3J0Ci0JICogdGhlbi4KKwkgKiB0aGVuLiAoUDJQIGJyaWRnZSBtYXkgYmUgcHJlZmV0Y2hpbmcgb24gRE1BIHJlYWRzKS4KIAkgKi8KIAlzY3JhdGNoID0gZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOwogCWlmICghc2NyYXRjaCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wY2ktc3dpb3RsYl82NC5jIGIvYXJjaC94ODYva2VybmVsL3BjaS1zd2lvdGxiXzY0LmMKaW5kZXggNDkwZGE3Zi4uODIyOTljZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3BjaS1zd2lvdGxiXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3BjaS1zd2lvdGxiXzY0LmMKQEAgLTM4LDcgKzM4LDcgQEAKIHZvaWQgX19pbml0IHBjaV9zd2lvdGxiX2luaXQodm9pZCkKIHsKIAkvKiBkb24ndCBpbml0aWFsaXplIHN3aW90bGIgaWYgaW9tbXU9b2ZmIChub19pb21tdT0xKSAqLwotCWlmICghaW9tbXVfZGV0ZWN0ZWQgJiYgIW5vX2lvbW11ICYmIGVuZF9wZm4gPiBNQVhfRE1BMzJfUEZOKQorCWlmICghaW9tbXVfZGV0ZWN0ZWQgJiYgIW5vX2lvbW11ICYmIG1heF9wZm4gPiBNQVhfRE1BMzJfUEZOKQogCSAgICAgICBzd2lvdGxiID0gMTsKIAlpZiAoc3dpb3RsYl9mb3JjZSkKIAkJc3dpb3RsYiA9IDE7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvYmVfcm9tc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3Byb2JlX3JvbXNfMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzVhNDhjCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2JlX3JvbXNfMzIuYwpAQCAtMCwwICsxLDE2NiBAQAorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbW16b25lLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2VkZC5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CisKKworI2luY2x1ZGUgPGFzbS9lODIwLmg+CisjaW5jbHVkZSA8YXNtL21tem9uZS5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzeXN0ZW1fcm9tX3Jlc291cmNlID0geworCS5uYW1lCT0gIlN5c3RlbSBST00iLAorCS5zdGFydAk9IDB4ZjAwMDAsCisJLmVuZAk9IDB4ZmZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGV4dGVuc2lvbl9yb21fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiRXh0ZW5zaW9uIFJPTSIsCisJLnN0YXJ0CT0gMHhlMDAwMCwKKwkuZW5kCT0gMHhlZmZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYWRhcHRlcl9yb21fcmVzb3VyY2VzW10gPSB7IHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDB4YzgwMDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSwgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30sIHsKKwkubmFtZSAJPSAiQWRhcHRlciBST00iLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9SRUFET05MWSB8IElPUkVTT1VSQ0VfTUVNCit9LCB7CisJLm5hbWUgCT0gIkFkYXB0ZXIgUk9NIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfUkVBRE9OTFkgfCBJT1JFU09VUkNFX01FTQorfSwgeworCS5uYW1lIAk9ICJBZGFwdGVyIFJPTSIsCisJLnN0YXJ0CT0gMCwKKwkuZW5kCT0gMCwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK30gfTsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yb21fcmVzb3VyY2UgPSB7CisJLm5hbWUgCT0gIlZpZGVvIFJPTSIsCisJLnN0YXJ0CT0gMHhjMDAwMCwKKwkuZW5kCT0gMHhjN2ZmZiwKKwkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX1JFQURPTkxZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKyNkZWZpbmUgUk9NU0lHTkFUVVJFIDB4YWE1NQorCitzdGF0aWMgaW50IF9faW5pdCByb21zaWduYXR1cmUoY29uc3QgdW5zaWduZWQgY2hhciAqcm9tKQoreworCWNvbnN0IHVuc2lnbmVkIHNob3J0ICogY29uc3QgcHRyID0gKGNvbnN0IHVuc2lnbmVkIHNob3J0ICopcm9tOworCXVuc2lnbmVkIHNob3J0IHNpZzsKKworCXJldHVybiBwcm9iZV9rZXJuZWxfYWRkcmVzcyhwdHIsIHNpZykgPT0gMCAmJiBzaWcgPT0gUk9NU0lHTkFUVVJFOworfQorCitzdGF0aWMgaW50IF9faW5pdCByb21jaGVja3N1bShjb25zdCB1bnNpZ25lZCBjaGFyICpyb20sIHVuc2lnbmVkIGxvbmcgbGVuZ3RoKQoreworCXVuc2lnbmVkIGNoYXIgc3VtLCBjOworCisJZm9yIChzdW0gPSAwOyBsZW5ndGggJiYgcHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tKyssIGMpID09IDA7IGxlbmd0aC0tKQorCQlzdW0gKz0gYzsKKwlyZXR1cm4gIWxlbmd0aCAmJiAhc3VtOworfQorCit2b2lkIF9faW5pdCBwcm9iZV9yb21zKHZvaWQpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcm9tOworCXVuc2lnbmVkIGxvbmcgc3RhcnQsIGxlbmd0aCwgdXBwZXI7CisJdW5zaWduZWQgY2hhciBjOworCWludCBpOworCisJLyogdmlkZW8gcm9tICovCisJdXBwZXIgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbMF0uc3RhcnQ7CisJZm9yIChzdGFydCA9IHZpZGVvX3JvbV9yZXNvdXJjZS5zdGFydDsgc3RhcnQgPCB1cHBlcjsgc3RhcnQgKz0gMjA0OCkgeworCQlyb20gPSBpc2FfYnVzX3RvX3ZpcnQoc3RhcnQpOworCQlpZiAoIXJvbXNpZ25hdHVyZShyb20pKQorCQkJY29udGludWU7CisKKwkJdmlkZW9fcm9tX3Jlc291cmNlLnN0YXJ0ID0gc3RhcnQ7CisKKwkJaWYgKHByb2JlX2tlcm5lbF9hZGRyZXNzKHJvbSArIDIsIGMpICE9IDApCisJCQljb250aW51ZTsKKworCQkvKiAwIDwgbGVuZ3RoIDw9IDB4N2YgKiA1MTIsIGhpc3RvcmljYWxseSAqLworCQlsZW5ndGggPSBjICogNTEyOworCisJCS8qIGlmIGNoZWNrc3VtIG9rYXksIHRydXN0IGxlbmd0aCBieXRlICovCisJCWlmIChsZW5ndGggJiYgcm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKQorCQkJdmlkZW9fcm9tX3Jlc291cmNlLmVuZCA9IHN0YXJ0ICsgbGVuZ3RoIC0gMTsKKworCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JvbV9yZXNvdXJjZSk7CisJCWJyZWFrOworCX0KKworCXN0YXJ0ID0gKHZpZGVvX3JvbV9yZXNvdXJjZS5lbmQgKyAxICsgMjA0NykgJiB+MjA0N1VMOworCWlmIChzdGFydCA8IHVwcGVyKQorCQlzdGFydCA9IHVwcGVyOworCisJLyogc3lzdGVtIHJvbSAqLworCXJlcXVlc3RfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmc3lzdGVtX3JvbV9yZXNvdXJjZSk7CisJdXBwZXIgPSBzeXN0ZW1fcm9tX3Jlc291cmNlLnN0YXJ0OworCisJLyogY2hlY2sgZm9yIGV4dGVuc2lvbiByb20gKGlnbm9yZSBsZW5ndGggYnl0ZSEpICovCisJcm9tID0gaXNhX2J1c190b192aXJ0KGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQpOworCWlmIChyb21zaWduYXR1cmUocm9tKSkgeworCQlsZW5ndGggPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLmVuZCAtIGV4dGVuc2lvbl9yb21fcmVzb3VyY2Uuc3RhcnQgKyAxOworCQlpZiAocm9tY2hlY2tzdW0ocm9tLCBsZW5ndGgpKSB7CisJCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmV4dGVuc2lvbl9yb21fcmVzb3VyY2UpOworCQkJdXBwZXIgPSBleHRlbnNpb25fcm9tX3Jlc291cmNlLnN0YXJ0OworCQl9CisJfQorCisJLyogY2hlY2sgZm9yIGFkYXB0ZXIgcm9tcyBvbiAyayBib3VuZGFyaWVzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWRhcHRlcl9yb21fcmVzb3VyY2VzKSAmJiBzdGFydCA8IHVwcGVyOyBzdGFydCArPSAyMDQ4KSB7CisJCXJvbSA9IGlzYV9idXNfdG9fdmlydChzdGFydCk7CisJCWlmICghcm9tc2lnbmF0dXJlKHJvbSkpCisJCQljb250aW51ZTsKKworCQlpZiAocHJvYmVfa2VybmVsX2FkZHJlc3Mocm9tICsgMiwgYykgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qIDAgPCBsZW5ndGggPD0gMHg3ZiAqIDUxMiwgaGlzdG9yaWNhbGx5ICovCisJCWxlbmd0aCA9IGMgKiA1MTI7CisKKwkJLyogYnV0IGFjY2VwdCBhbnkgbGVuZ3RoIHRoYXQgZml0cyBpZiBjaGVja3N1bSBva2F5ICovCisJCWlmICghbGVuZ3RoIHx8IHN0YXJ0ICsgbGVuZ3RoID4gdXBwZXIgfHwgIXJvbWNoZWNrc3VtKHJvbSwgbGVuZ3RoKSkKKwkJCWNvbnRpbnVlOworCisJCWFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXS5zdGFydCA9IHN0YXJ0OworCQlhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaV0uZW5kID0gc3RhcnQgKyBsZW5ndGggLSAxOworCQlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmFkYXB0ZXJfcm9tX3Jlc291cmNlc1tpXSk7CisKKwkJc3RhcnQgPSBhZGFwdGVyX3JvbV9yZXNvdXJjZXNbaSsrXS5lbmQgJiB+MjA0N1VMOworCX0KK30KKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggYmEzNzBkYy4uN2RjZWVhOSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3Byb2Nlc3MuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jCkBAIC02LDYgKzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja2NoaXBzLmg+CiAKIHN0cnVjdCBrbWVtX2NhY2hlICp0YXNrX3hzdGF0ZV9jYWNoZXA7CiAKQEAgLTQ1LDYgKzQ2LDc2IEBACiAJCQkJICBTTEFCX1BBTklDLCBOVUxMKTsKIH0KIAorLyoKKyAqIElkbGUgcmVsYXRlZCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucworICovCit1bnNpZ25lZCBsb25nIGJvb3Rfb3B0aW9uX2lkbGVfb3ZlcnJpZGUgPSAwOworRVhQT1JUX1NZTUJPTChib290X29wdGlvbl9pZGxlX292ZXJyaWRlKTsKKworLyoKKyAqIFBvd2VybWFuYWdlbWVudCBpZGxlIGZ1bmN0aW9uLCBpZiBhbnkuLgorICovCit2b2lkICgqcG1faWRsZSkodm9pZCk7CitFWFBPUlRfU1lNQk9MKHBtX2lkbGUpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorLyoKKyAqIFRoaXMgaGFsdCBtYWdpYyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhbmNpZW50IGZsb3BweSBETUEKKyAqIHdyZWNrYWdlLiBJdCBzaG91bGQgYmUgc2FmZSB0byByZW1vdmUuCisgKi8KK3N0YXRpYyBpbnQgaGx0X2NvdW50ZXI7Cit2b2lkIGRpc2FibGVfaGx0KHZvaWQpCit7CisJaGx0X2NvdW50ZXIrKzsKK30KK0VYUE9SVF9TWU1CT0woZGlzYWJsZV9obHQpOworCit2b2lkIGVuYWJsZV9obHQodm9pZCkKK3sKKwlobHRfY291bnRlci0tOworfQorRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKKworc3RhdGljIGlubGluZSBpbnQgaGx0X3VzZV9oYWx0KHZvaWQpCit7CisJcmV0dXJuICghaGx0X2NvdW50ZXIgJiYgYm9vdF9jcHVfZGF0YS5obHRfd29ya3Nfb2spOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGhsdF91c2VfaGFsdCh2b2lkKQoreworCXJldHVybiAxOworfQorI2VuZGlmCisKKy8qCisgKiBXZSB1c2UgdGhpcyBpZiB3ZSBkb24ndCBoYXZlIGFueSBiZXR0ZXIKKyAqIGlkbGUgcm91dGluZS4uCisgKi8KK3ZvaWQgZGVmYXVsdF9pZGxlKHZvaWQpCit7CisJaWYgKGhsdF91c2VfaGFsdCgpKSB7CisJCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOworCQkvKgorCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQorCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKKwkJICovCisJCXNtcF9tYigpOworCisJCWlmICghbmVlZF9yZXNjaGVkKCkpCisJCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KKwkJZWxzZQorCQkJbG9jYWxfaXJxX2VuYWJsZSgpOworCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOworCX0gZWxzZSB7CisJCWxvY2FsX2lycV9lbmFibGUoKTsKKwkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KKwkJY3B1X3JlbGF4KCk7CisJfQorfQorI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCitFWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7CisjZW5kaWYKKwogc3RhdGljIHZvaWQgZG9fbm90aGluZyh2b2lkICp1bnVzZWQpCiB7CiB9CkBAIC02MSw3ICsxMzIsNyBAQAogewogCXNtcF9tYigpOwogCS8qIGtpY2sgYWxsIHRoZSBDUFVzIHNvIHRoYXQgdGhleSBleGl0IG91dCBvZiBwbV9pZGxlICovCi0Jc21wX2NhbGxfZnVuY3Rpb24oZG9fbm90aGluZywgTlVMTCwgMCwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oZG9fbm90aGluZywgTlVMTCwgMSk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChjcHVfaWRsZV93YWl0KTsKIApAQCAtMTIyLDQ0ICsxOTMsMTI5IEBACiAgKgogICogaWRsZT1td2FpdCBvdmVycmlkZXMgdGhpcyBkZWNpc2lvbiBhbmQgZm9yY2VzIHRoZSB1c2FnZSBvZiBtd2FpdC4KICAqLworCisjZGVmaW5lIE1XQUlUX0lORk8JCQkweDA1CisjZGVmaW5lIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPCQkweDAxCisjZGVmaW5lIE1XQUlUX0VEWF9DMQkJCTB4ZjAKKwogc3RhdGljIGludCBfX2NwdWluaXQgbXdhaXRfdXNhYmxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKKwl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OworCiAJaWYgKGZvcmNlX213YWl0KQogCQlyZXR1cm4gMTsKIAotCWlmIChjLT54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSB7Ci0JCXN3aXRjaChjLT54ODYpIHsKLQkJY2FzZSAweDEwOgotCQljYXNlIDB4MTE6Ci0JCQlyZXR1cm4gMDsKKwlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCBNV0FJVF9JTkZPKQorCQlyZXR1cm4gMDsKKworCWNwdWlkKE1XQUlUX0lORk8sICZlYXgsICZlYngsICZlY3gsICZlZHgpOworCS8qIENoZWNrLCB3aGV0aGVyIEVEWCBoYXMgZXh0ZW5kZWQgaW5mbyBhYm91dCBNV0FJVCAqLworCWlmICghKGVjeCAmIE1XQUlUX0VDWF9FWFRFTkRFRF9JTkZPKSkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIGVkeCBlbnVtZXJhdGlvcyBNT05JVE9SL01XQUlUIGV4dGVuc2lvbnMuIENoZWNrLCB3aGV0aGVyCisJICogQzEgIHN1cHBvcnRzIE1XQUlUCisJICovCisJcmV0dXJuIChlZHggJiBNV0FJVF9FRFhfQzEpOworfQorCisvKgorICogQ2hlY2sgZm9yIEFNRCBDUFVzLCB3aGljaCBoYXZlIHBvdGVudGlhbGx5IEMxRSBzdXBwb3J0CisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGNoZWNrX2MxZV9pZGxlKGNvbnN0IHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKK3sKKwlpZiAoYy0+eDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0FNRCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoYy0+eDg2IDwgMHgwRikKKwkJcmV0dXJuIDA7CisKKwkvKiBGYW1pbHkgMHgwZiBtb2RlbHMgPCByZXYgRiBkbyBub3QgaGF2ZSBDMUUgKi8KKwlpZiAoYy0+eDg2ID09IDB4MGYgJiYgYy0+eDg2X21vZGVsIDwgMHg0MCkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEMxRSBhd2FyZSBpZGxlIHJvdXRpbmUuIFdlIGNoZWNrIGZvciBDMUUgYWN0aXZlIGluIHRoZSBpbnRlcnJ1cHQKKyAqIHBlbmRpbmcgbWVzc2FnZSBNU1IuIElmIHdlIGRldGVjdCBDMUUsIHRoZW4gd2UgaGFuZGxlIGl0IHRoZSBzYW1lCisgKiB3YXkgYXMgQzMgcG93ZXIgc3RhdGVzIChsb2NhbCBhcGljIHRpbWVyIGFuZCBUU0Mgc3RvcCkKKyAqLworc3RhdGljIHZvaWQgYzFlX2lkbGUodm9pZCkKK3sKKwlzdGF0aWMgY3B1bWFza190IGMxZV9tYXNrID0gQ1BVX01BU0tfTk9ORTsKKwlzdGF0aWMgaW50IGMxZV9kZXRlY3RlZDsKKworCWlmIChuZWVkX3Jlc2NoZWQoKSkKKwkJcmV0dXJuOworCisJaWYgKCFjMWVfZGV0ZWN0ZWQpIHsKKwkJdTMyIGxvLCBoaTsKKworCQlyZG1zcihNU1JfSzhfSU5UX1BFTkRJTkdfTVNHLCBsbywgaGkpOworCQlpZiAobG8gJiBLOF9JTlRQX0MxRV9BQ1RJVkVfTUFTSykgeworCQkJYzFlX2RldGVjdGVkID0gMTsKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0MgaGFsdCBpbiBDMUUiKTsKKwkJCXByaW50ayhLRVJOX0lORk8gIlN5c3RlbSBoYXMgQzFFIGVuYWJsZWRcbiIpOwogCQl9CiAJfQotCXJldHVybiAxOworCisJaWYgKGMxZV9kZXRlY3RlZCkgeworCQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJCWlmICghY3B1X2lzc2V0KGNwdSwgYzFlX21hc2spKSB7CisJCQljcHVfc2V0KGNwdSwgYzFlX21hc2spOworCQkJLyoKKwkJCSAqIEZvcmNlIGJyb2FkY2FzdCBzbyBBQ1BJIGNhbiBub3QgaW50ZXJmZXJlLiBOZWVkcworCQkJICogdG8gcnVuIHdpdGggaW50ZXJydXB0cyBlbmFibGVkIGFzIGl0IHVzZXMKKwkJCSAqIHNtcF9mdW5jdGlvbl9jYWxsLgorCQkJICovCisJCQlsb2NhbF9pcnFfZW5hYmxlKCk7CisJCQljbG9ja2V2ZW50c19ub3RpZnkoQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfRk9SQ0UsCisJCQkJCSAgICZjcHUpOworCQkJcHJpbnRrKEtFUk5fSU5GTyAiU3dpdGNoIHRvIGJyb2FkY2FzdCBtb2RlIG9uIENQVSVkXG4iLAorCQkJICAgICAgIGNwdSk7CisJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOworCQl9CisJCWNsb2NrZXZlbnRzX25vdGlmeShDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9FTlRFUiwgJmNwdSk7CisKKwkJZGVmYXVsdF9pZGxlKCk7CisKKwkJLyoKKwkJICogVGhlIHN3aXRjaCBiYWNrIGZyb20gYnJvYWRjYXN0IG1vZGUgbmVlZHMgdG8gYmUKKwkJICogY2FsbGVkIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4KKwkJICovCisJCSBsb2NhbF9pcnFfZGlzYWJsZSgpOworCQkgY2xvY2tldmVudHNfbm90aWZ5KENMT0NLX0VWVF9OT1RJRllfQlJPQURDQVNUX0VYSVQsICZjcHUpOworCQkgbG9jYWxfaXJxX2VuYWJsZSgpOworCX0gZWxzZQorCQlkZWZhdWx0X2lkbGUoKTsKIH0KIAogdm9pZCBfX2NwdWluaXQgc2VsZWN0X2lkbGVfcm91dGluZShjb25zdCBzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiB7Ci0Jc3RhdGljIGludCBzZWxlY3RlZDsKLQotCWlmIChzZWxlY3RlZCkKLQkJcmV0dXJuOwogI2lmZGVmIENPTkZJR19YODZfU01QCiAJaWYgKHBtX2lkbGUgPT0gcG9sbF9pZGxlICYmIHNtcF9udW1fc2libGluZ3MgPiAxKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIldBUk5JTkc6IHBvbGxpbmcgaWRsZSBhbmQgSFQgZW5hYmxlZCwiCiAJCQkiIHBlcmZvcm1hbmNlIG1heSBkZWdyYWRlLlxuIik7CiAJfQogI2VuZGlmCisJaWYgKHBtX2lkbGUpCisJCXJldHVybjsKKwogCWlmIChjcHVfaGFzKGMsIFg4Nl9GRUFUVVJFX01XQUlUKSAmJiBtd2FpdF91c2FibGUoYykpIHsKIAkJLyoKLQkJICogU2tpcCwgaWYgc2V0dXAgaGFzIG92ZXJyaWRkZW4gaWRsZS4KIAkJICogT25lIENQVSBzdXBwb3J0cyBtd2FpdCA9PiBBbGwgQ1BVcyBzdXBwb3J0cyBtd2FpdAogCQkgKi8KLQkJaWYgKCFwbV9pZGxlKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJ1c2luZyBtd2FpdCBpbiBpZGxlIHRocmVhZHMuXG4iKTsKLQkJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOwotCQl9Ci0JfQotCXNlbGVjdGVkID0gMTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgbXdhaXQgaW4gaWRsZSB0aHJlYWRzLlxuIik7CisJCXBtX2lkbGUgPSBtd2FpdF9pZGxlOworCX0gZWxzZSBpZiAoY2hlY2tfYzFlX2lkbGUoYykpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAidXNpbmcgQzFFIGF3YXJlIGlkbGUgcm91dGluZVxuIik7CisJCXBtX2lkbGUgPSBjMWVfaWRsZTsKKwl9IGVsc2UKKwkJcG1faWRsZSA9IGRlZmF1bHRfaWRsZTsKIH0KIAogc3RhdGljIGludCBfX2luaXQgaWRsZV9zZXR1cChjaGFyICpzdHIpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfMzIuYwppbmRleCBlMmRiOWFjLi4wYzM5MjdhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzMyLmMKQEAgLTU4LDExICs1OCw2IEBACiAKIGFzbWxpbmthZ2Ugdm9pZCByZXRfZnJvbV9mb3JrKHZvaWQpIF9fYXNtX18oInJldF9mcm9tX2ZvcmsiKTsKIAotc3RhdGljIGludCBobHRfY291bnRlcjsKLQotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spID0gJmluaXRfdGFzazsKIEVYUE9SVF9QRVJfQ1BVX1NZTUJPTChjdXJyZW50X3Rhc2spOwogCkBAIC03Nyw1NyArNzIsMjQgQEAKIAlyZXR1cm4gKCh1bnNpZ25lZCBsb25nICopdHNrLT50aHJlYWQuc3ApWzNdOwogfQogCi0vKgotICogUG93ZXJtYW5hZ2VtZW50IGlkbGUgZnVuY3Rpb24sIGlmIGFueS4uCi0gKi8KLXZvaWQgKCpwbV9pZGxlKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1faWRsZSk7Ci0KLXZvaWQgZGlzYWJsZV9obHQodm9pZCkKLXsKLQlobHRfY291bnRlcisrOwotfQotCi1FWFBPUlRfU1lNQk9MKGRpc2FibGVfaGx0KTsKLQotdm9pZCBlbmFibGVfaGx0KHZvaWQpCi17Ci0JaGx0X2NvdW50ZXItLTsKLX0KLQotRVhQT1JUX1NZTUJPTChlbmFibGVfaGx0KTsKLQotLyoKLSAqIFdlIHVzZSB0aGlzIGlmIHdlIGRvbid0IGhhdmUgYW55IGJldHRlcgotICogaWRsZSByb3V0aW5lLi4KLSAqLwotdm9pZCBkZWZhdWx0X2lkbGUodm9pZCkKLXsKLQlpZiAoIWhsdF9jb3VudGVyICYmIGJvb3RfY3B1X2RhdGEuaGx0X3dvcmtzX29rKSB7Ci0JCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCQkvKgotCQkgKiBUU19QT0xMSU5HLWNsZWFyZWQgc3RhdGUgbXVzdCBiZSB2aXNpYmxlIGJlZm9yZSB3ZQotCQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkJICovCi0JCXNtcF9tYigpOwotCi0JCWlmICghbmVlZF9yZXNjaGVkKCkpCi0JCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQkJZWxzZQotCQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotCX0gZWxzZSB7Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQkJLyogbG9vcCBpcyBkb25lIGJ5IHRoZSBjYWxsZXIgKi8KLQkJY3B1X3JlbGF4KCk7Ci0JfQotfQotI2lmZGVmIENPTkZJR19BUE1fTU9EVUxFCi1FWFBPUlRfU1lNQk9MKGRlZmF1bHRfaWRsZSk7Ci0jZW5kaWYKLQogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2luY2x1ZGUgPGFzbS9ubWkuaD4KKworc3RhdGljIHZvaWQgY3B1X2V4aXRfY2xlYXIodm9pZCkKK3sKKwlpbnQgY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKworCWlkbGVfdGFza19leGl0KCk7CisKKwljcHVfdW5pbml0KCk7CisJaXJxX2N0eF9leGl0KGNwdSk7CisKKwljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbG91dF9tYXApOworCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsaW5fbWFwKTsKKworCW51bWFfcmVtb3ZlX2NwdShjcHUpOworfQorCiAvKiBXZSBkb24ndCBhY3R1YWxseSB0YWtlIENQVSBkb3duLCBqdXN0IHNwaW4gd2l0aG91dCBpbnRlcnJ1cHRzLiAqLwogc3RhdGljIGlubGluZSB2b2lkIHBsYXlfZGVhZCh2b2lkKQogewpAQCAtMTY4LDI0ICsxMzAsMjIgQEAKIAl3aGlsZSAoMSkgewogCQl0aWNrX25vaHpfc3RvcF9zY2hlZF90aWNrKCk7CiAJCXdoaWxlICghbmVlZF9yZXNjaGVkKCkpIHsKLQkJCXZvaWQgKCppZGxlKSh2b2lkKTsKIAogCQkJY2hlY2tfcGd0X2NhY2hlKCk7CiAJCQlybWIoKTsKLQkJCWlkbGUgPSBwbV9pZGxlOwogCiAJCQlpZiAocmN1X3BlbmRpbmcoY3B1KSkKIAkJCQlyY3VfY2hlY2tfY2FsbGJhY2tzKGNwdSwgMCk7CiAKLQkJCWlmICghaWRsZSkKLQkJCQlpZGxlID0gZGVmYXVsdF9pZGxlOwotCiAJCQlpZiAoY3B1X2lzX29mZmxpbmUoY3B1KSkKIAkJCQlwbGF5X2RlYWQoKTsKIAogCQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIAkJCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlkbGVfdGltZXN0YW1wID0gamlmZmllczsKLQkJCWlkbGUoKTsKKwkJCS8qIERvbid0IHRyYWNlIGlycXMgb2ZmIGZvciBpZGxlICovCisJCQlzdG9wX2NyaXRpY2FsX3RpbWluZ3MoKTsKKwkJCXBtX2lkbGUoKTsKKwkJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKTsKIAkJfQogCQl0aWNrX25vaHpfcmVzdGFydF9zY2hlZF90aWNrKCk7CiAJCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzc182NC5jCmluZGV4IGM2ZWI1YzkuLmE4ZTUzNjIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wcm9jZXNzXzY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3Byb2Nlc3NfNjQuYwpAQCAtNTYsMTUgKzU2LDYgQEAKIAogdW5zaWduZWQgbG9uZyBrZXJuZWxfdGhyZWFkX2ZsYWdzID0gQ0xPTkVfVk0gfCBDTE9ORV9VTlRSQUNFRDsKIAotdW5zaWduZWQgbG9uZyBib290X29wdGlvbl9pZGxlX292ZXJyaWRlID0gMDsKLUVYUE9SVF9TWU1CT0woYm9vdF9vcHRpb25faWRsZV9vdmVycmlkZSk7Ci0KLS8qCi0gKiBQb3dlcm1hbmFnZW1lbnQgaWRsZSBmdW5jdGlvbiwgaWYgYW55Li4KLSAqLwotdm9pZCAoKnBtX2lkbGUpKHZvaWQpOwotRVhQT1JUX1NZTUJPTChwbV9pZGxlKTsKLQogc3RhdGljIEFUT01JQ19OT1RJRklFUl9IRUFEKGlkbGVfbm90aWZpZXIpOwogCiB2b2lkIGlkbGVfbm90aWZpZXJfcmVnaXN0ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuKQpAQCAtOTQsMjUgKzg1LDYgQEAKIAlfX2V4aXRfaWRsZSgpOwogfQogCi0vKgotICogV2UgdXNlIHRoaXMgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgYmV0dGVyCi0gKiBpZGxlIHJvdXRpbmUuLgotICovCi12b2lkIGRlZmF1bHRfaWRsZSh2b2lkKQotewotCWN1cnJlbnRfdGhyZWFkX2luZm8oKS0+c3RhdHVzICY9IH5UU19QT0xMSU5HOwotCS8qCi0JICogVFNfUE9MTElORy1jbGVhcmVkIHN0YXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgd2UKLQkgKiB0ZXN0IE5FRURfUkVTQ0hFRDoKLQkgKi8KLQlzbXBfbWIoKTsKLQlpZiAoIW5lZWRfcmVzY2hlZCgpKQotCQlzYWZlX2hhbHQoKTsJLyogZW5hYmxlcyBpbnRlcnJ1cHRzIHJhY2VsZXNzbHkgKi8KLQllbHNlCi0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQljdXJyZW50X3RocmVhZF9pbmZvKCktPnN0YXR1cyB8PSBUU19QT0xMSU5HOwotfQotCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCiBERUNMQVJFX1BFUl9DUFUoaW50LCBjcHVfc3RhdGUpOwogCkBAIC0xNTAsMTIgKzEyMiw5IEBACiAJd2hpbGUgKDEpIHsKIAkJdGlja19ub2h6X3N0b3Bfc2NoZWRfdGljaygpOwogCQl3aGlsZSAoIW5lZWRfcmVzY2hlZCgpKSB7Ci0JCQl2b2lkICgqaWRsZSkodm9pZCk7CiAKIAkJCXJtYigpOwotCQkJaWRsZSA9IHBtX2lkbGU7Ci0JCQlpZiAoIWlkbGUpCi0JCQkJaWRsZSA9IGRlZmF1bHRfaWRsZTsKKwogCQkJaWYgKGNwdV9pc19vZmZsaW5lKHNtcF9wcm9jZXNzb3JfaWQoKSkpCiAJCQkJcGxheV9kZWFkKCk7CiAJCQkvKgpAQCAtMTY1LDcgKzEzNCwxMCBAQAogCQkJICovCiAJCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwogCQkJZW50ZXJfaWRsZSgpOwotCQkJaWRsZSgpOworCQkJLyogRG9uJ3QgdHJhY2UgaXJxcyBvZmYgZm9yIGlkbGUgKi8KKwkJCXN0b3BfY3JpdGljYWxfdGltaW5ncygpOworCQkJcG1faWRsZSgpOworCQkJc3RhcnRfY3JpdGljYWxfdGltaW5ncygpOwogCQkJLyogSW4gbWFueSBjYXNlcyB0aGUgaW50ZXJydXB0IHRoYXQgZW5kZWQgaWRsZQogCQkJICAgaGFzIGFscmVhZHkgY2FsbGVkIGV4aXRfaWRsZS4gQnV0IHNvbWUgaWRsZQogCQkJICAgbG9vcHMgY2FuIGJlIHdva2VuIHVwIHdpdGhvdXQgaW50ZXJydXB0LiAqLwpAQCAtMzY2LDEwICszMzgsMTAgQEAKIAlwLT50aHJlYWQuZnMgPSBtZS0+dGhyZWFkLmZzOwogCXAtPnRocmVhZC5ncyA9IG1lLT50aHJlYWQuZ3M7CiAKLQlhc20oIm1vdiAlJWdzLCUwIiA6ICI9bSIgKHAtPnRocmVhZC5nc2luZGV4KSk7Ci0JYXNtKCJtb3YgJSVmcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZnNpbmRleCkpOwotCWFzbSgibW92ICUlZXMsJTAiIDogIj1tIiAocC0+dGhyZWFkLmVzKSk7Ci0JYXNtKCJtb3YgJSVkcywlMCIgOiAiPW0iIChwLT50aHJlYWQuZHMpKTsKKwlzYXZlc2VnbWVudChncywgcC0+dGhyZWFkLmdzaW5kZXgpOworCXNhdmVzZWdtZW50KGZzLCBwLT50aHJlYWQuZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZXMsIHAtPnRocmVhZC5lcyk7CisJc2F2ZXNlZ21lbnQoZHMsIHAtPnRocmVhZC5kcyk7CiAKIAlpZiAodW5saWtlbHkodGVzdF90c2tfdGhyZWFkX2ZsYWcobWUsIFRJRl9JT19CSVRNQVApKSkgewogCQlwLT50aHJlYWQuaW9fYml0bWFwX3B0ciA9IGttYWxsb2MoSU9fQklUTUFQX0JZVEVTLCBHRlBfS0VSTkVMKTsKQEAgLTQwOCw3ICszODAsOSBAQAogdm9pZAogc3RhcnRfdGhyZWFkKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIG5ld19pcCwgdW5zaWduZWQgbG9uZyBuZXdfc3ApCiB7Ci0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCAlJWZzOyBtb3ZsICUwLCAlJWVzOyBtb3ZsICUwLCAlJWRzIiA6OiAiciIoMCkpOworCWxvYWRzZWdtZW50KGZzLCAwKTsKKwlsb2Fkc2VnbWVudChlcywgMCk7CisJbG9hZHNlZ21lbnQoZHMsIDApOwogCWxvYWRfZ3NfaW5kZXgoMCk7CiAJcmVncy0+aXAJCT0gbmV3X2lwOwogCXJlZ3MtPnNwCQk9IG5ld19zcDsKQEAgLTU2Nyw2ICs1NDEsNyBAQAogCQkJCSAqbmV4dCA9ICZuZXh0X3AtPnRocmVhZDsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0c3Nfc3RydWN0ICp0c3MgPSAmcGVyX2NwdShpbml0X3RzcywgY3B1KTsKKwl1bnNpZ25lZCBmc2luZGV4LCBnc2luZGV4OwogCiAJLyogd2UncmUgZ29pbmcgdG8gdXNlIHRoaXMgc29vbiwgYWZ0ZXIgYSBmZXcgZXhwZW5zaXZlIHRoaW5ncyAqLwogCWlmIChuZXh0X3AtPmZwdV9jb3VudGVyPjUpCkBAIC01ODEsMjIgKzU1NiwzOCBAQAogCSAqIFN3aXRjaCBEUyBhbmQgRVMuCiAJICogVGhpcyB3b24ndCBwaWNrIHVwIHRocmVhZCBzZWxlY3RvciBjaGFuZ2VzLCBidXQgSSBndWVzcyB0aGF0IGlzIG9rLgogCSAqLwotCWFzbSB2b2xhdGlsZSgibW92ICUlZXMsJTAiIDogIj1tIiAocHJldi0+ZXMpKTsKKwlzYXZlc2VnbWVudChlcywgcHJldi0+ZXMpOwogCWlmICh1bmxpa2VseShuZXh0LT5lcyB8IHByZXYtPmVzKSkKIAkJbG9hZHNlZ21lbnQoZXMsIG5leHQtPmVzKTsgCi0JCi0JYXNtIHZvbGF0aWxlICgibW92ICUlZHMsJTAiIDogIj1tIiAocHJldi0+ZHMpKTsKKworCXNhdmVzZWdtZW50KGRzLCBwcmV2LT5kcyk7CiAJaWYgKHVubGlrZWx5KG5leHQtPmRzIHwgcHJldi0+ZHMpKQogCQlsb2Fkc2VnbWVudChkcywgbmV4dC0+ZHMpOwogCisKKwkvKiBXZSBtdXN0IHNhdmUgJWZzIGFuZCAlZ3MgYmVmb3JlIGxvYWRfVExTKCkgYmVjYXVzZQorCSAqICVmcyBhbmQgJWdzIG1heSBiZSBjbGVhcmVkIGJ5IGxvYWRfVExTKCkuCisJICoKKwkgKiAoZS5nLiB4ZW5fbG9hZF90bHMoKSkKKwkgKi8KKwlzYXZlc2VnbWVudChmcywgZnNpbmRleCk7CisJc2F2ZXNlZ21lbnQoZ3MsIGdzaW5kZXgpOworCiAJbG9hZF9UTFMobmV4dCwgY3B1KTsKIAorCS8qCisJICogTGVhdmUgbGF6eSBtb2RlLCBmbHVzaGluZyBhbnkgaHlwZXJjYWxscyBtYWRlIGhlcmUuCisJICogVGhpcyBtdXN0IGJlIGRvbmUgYmVmb3JlIHJlc3RvcmluZyBUTFMgc2VnbWVudHMgc28KKwkgKiB0aGUgR0RUIGFuZCBMRFQgYXJlIHByb3Blcmx5IHVwZGF0ZWQsIGFuZCBtdXN0IGJlCisJICogZG9uZSBiZWZvcmUgbWF0aF9zdGF0ZV9yZXN0b3JlLCBzbyB0aGUgVFMgYml0IGlzIHVwCisJICogdG8gZGF0ZS4KKwkgKi8KKwlhcmNoX2xlYXZlX2xhenlfY3B1X21vZGUoKTsKKwogCS8qIAogCSAqIFN3aXRjaCBGUyBhbmQgR1MuCiAJICovCiAJeyAKLQkJdW5zaWduZWQgZnNpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZnMsJTAiIDogIj1yIiAoZnNpbmRleCkpOyAKIAkJLyogc2VnbWVudCByZWdpc3RlciAhPSAwIGFsd2F5cyByZXF1aXJlcyBhIHJlbG9hZC4gCiAJCSAgIGFsc28gcmVsb2FkIHdoZW4gaXQgaGFzIGNoYW5nZWQuIAogCQkgICB3aGVuIHByZXYgcHJvY2VzcyB1c2VkIDY0Yml0IGJhc2UgYWx3YXlzIHJlbG9hZApAQCAtNjE0LDEwICs2MDUsNyBAQAogCQlpZiAobmV4dC0+ZnMpIAogCQkJd3Jtc3JsKE1TUl9GU19CQVNFLCBuZXh0LT5mcyk7IAogCQlwcmV2LT5mc2luZGV4ID0gZnNpbmRleDsKLQl9Ci0JeyAKLQkJdW5zaWduZWQgZ3NpbmRleDsKLQkJYXNtIHZvbGF0aWxlKCJtb3ZsICUlZ3MsJTAiIDogIj1yIiAoZ3NpbmRleCkpOyAKKwogCQlpZiAodW5saWtlbHkoZ3NpbmRleCB8IG5leHQtPmdzaW5kZXggfCBwcmV2LT5ncykpIHsKIAkJCWxvYWRfZ3NfaW5kZXgobmV4dC0+Z3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKQEAgLTc5OCw3ICs3ODYsNyBAQAogCQkJc2V0XzMyYml0X3Rscyh0YXNrLCBGU19UTFMsIGFkZHIpOwogCQkJaWYgKGRvaXQpIHsKIAkJCQlsb2FkX1RMUygmdGFzay0+dGhyZWFkLCBjcHUpOwotCQkJCWFzbSB2b2xhdGlsZSgibW92bCAlMCwlJWZzIiA6OiAiciIoRlNfVExTX1NFTCkpOworCQkJCWxvYWRzZWdtZW50KGZzLCBGU19UTFNfU0VMKTsKIAkJCX0KIAkJCXRhc2stPnRocmVhZC5mc2luZGV4ID0gRlNfVExTX1NFTDsKIAkJCXRhc2stPnRocmVhZC5mcyA9IDA7CkBAIC04MDgsNyArNzk2LDcgQEAKIAkJCWlmIChkb2l0KSB7CiAJCQkJLyogc2V0IHRoZSBzZWxlY3RvciB0byAwIHRvIG5vdCBjb25mdXNlCiAJCQkJICAgX19zd2l0Y2hfdG8gKi8KLQkJCQlhc20gdm9sYXRpbGUoIm1vdmwgJTAsJSVmcyIgOjogInIiICgwKSk7CisJCQkJbG9hZHNlZ21lbnQoZnMsIDApOwogCQkJCXJldCA9IGNoZWNraW5nX3dybXNybChNU1JfRlNfQkFTRSwgYWRkcik7CiAJCQl9CiAJCX0KQEAgLTgzMSw3ICs4MTksNyBAQAogCQlpZiAodGFzay0+dGhyZWFkLmdzaW5kZXggPT0gR1NfVExTX1NFTCkKIAkJCWJhc2UgPSByZWFkXzMyYml0X3Rscyh0YXNrLCBHU19UTFMpOwogCQllbHNlIGlmIChkb2l0KSB7Ci0JCQlhc20oIm1vdmwgJSVncywlMCIgOiAiPXIiIChnc2luZGV4KSk7CisJCQlzYXZlc2VnbWVudChncywgZ3NpbmRleCk7CiAJCQlpZiAoZ3NpbmRleCkKIAkJCQlyZG1zcmwoTVNSX0tFUk5FTF9HU19CQVNFLCBiYXNlKTsKIAkJCWVsc2UKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9wdHJhY2UuYwppbmRleCBhNzgzNWYyLi43NzA0MGI2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcHRyYWNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3B0cmFjZS5jCkBAIC05NDMsMTMgKzk0MywxMyBAQAogCQlyZXR1cm4gY29weV9yZWdzZXRfdG9fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgIFJFR1NFVF9YRlAsCiAJCQkJCSAgIDAsIHNpemVvZihzdHJ1Y3QgdXNlcl9meHNyX3N0cnVjdCksCi0JCQkJCSAgIGRhdGFwKTsKKwkJCQkJICAgZGF0YXApID8gLUVJTyA6IDA7CiAKIAljYXNlIFBUUkFDRV9TRVRGUFhSRUdTOgkvKiBTZXQgdGhlIGNoaWxkIGV4dGVuZGVkIEZQVSBzdGF0ZS4gKi8KIAkJcmV0dXJuIGNvcHlfcmVnc2V0X2Zyb21fdXNlcihjaGlsZCwgJnVzZXJfeDg2XzMyX3ZpZXcsCiAJCQkJCSAgICAgUkVHU0VUX1hGUCwKIAkJCQkJICAgICAwLCBzaXplb2Yoc3RydWN0IHVzZXJfZnhzcl9zdHJ1Y3QpLAotCQkJCQkgICAgIGRhdGFwKTsKKwkJCQkJICAgICBkYXRhcCkgPyAtRUlPIDogMDsKICNlbmRpZgogCiAjaWYgZGVmaW5lZCBDT05GSUdfWDg2XzMyIHx8IGRlZmluZWQgQ09ORklHX0lBMzJfRU1VTEFUSU9OCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcXVpcmtzLmMKaW5kZXggZDg5YTY0OC4uZDEzODU4OCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3F1aXJrcy5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9xdWlya3MuYwpAQCAtNjUsNiArNjUsNyBAQAogCUlDSF9GT1JDRV9IUEVUX1JFU1VNRSwKIAlWVDgyMzdfRk9SQ0VfSFBFVF9SRVNVTUUsCiAJTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FLAorCUFUSV9GT1JDRV9IUEVUX1JFU1VNRSwKIH0gZm9yY2VfaHBldF9yZXN1bWVfdHlwZTsKIAogc3RhdGljIHZvaWQgX19pb21lbSAqcmNiYV9iYXNlOwpAQCAtMTU4LDYgKzE1OSw4IEBACiAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0VTQjJfMCwKIAkJCSBpY2hfZm9yY2VfZW5hYmxlX2hwZXQpOworREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wLAorCQkJIGljaF9mb3JjZV9lbmFibGVfaHBldCk7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzEsCiAJCQkgaWNoX2ZvcmNlX2VuYWJsZV9ocGV0KTsKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMCwKQEAgLTE3NCw2ICsxNzcsMTIgQEAKIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICpjYWNoZWRfZGV2OwogCitzdGF0aWMgdm9pZCBocGV0X3ByaW50X2ZvcmNlX2luZm8odm9pZCkKK3sKKwlwcmludGsoS0VSTl9JTkZPICJIUEVUIG5vdCBlbmFibGVkIGluIEJJT1MuICIKKwkgICAgICAgIllvdSBtaWdodCB0cnkgaHBldD1mb3JjZSBib290IG9wdGlvblxuIik7Cit9CisKIHN0YXRpYyB2b2lkIG9sZF9pY2hfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKIHsKIAl1MzIgdmFsOwpAQCAtMjUzLDggKzI2MiwxMiBAQAogewogCWlmIChocGV0X2ZvcmNlX3VzZXIpCiAJCW9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXQoZGV2KTsKKwllbHNlCisJCWhwZXRfcHJpbnRfZm9yY2VfaW5mbygpOwogfQogCitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMSwKKwkJCSBvbGRfaWNoX2ZvcmNlX2VuYWJsZV9ocGV0X3VzZXIpOwogREVDTEFSRV9QQ0lfRklYVVBfSEVBREVSKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8wLAogCQkJIG9sZF9pY2hfZm9yY2VfZW5hYmxlX2hwZXRfdXNlcik7CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyLApAQCAtMjkwLDkgKzMwMywxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfcmVhZF9jb25maWdfZHdvcmQoZGV2LCAweDY4LCAmdmFsKTsKIAkvKgogCSAqIEJpdCA3IGlzIEhQRVQgZW5hYmxlIGJpdC4KQEAgLTMzMCw2ICszNDgsMzYgQEAKIERFQ0xBUkVfUENJX0ZJWFVQX0hFQURFUihQQ0lfVkVORE9SX0lEX1ZJQSwgUENJX0RFVklDRV9JRF9WSUFfODIzNywKIAkJCSB2dDgyMzdfZm9yY2VfZW5hYmxlX2hwZXQpOwogCitzdGF0aWMgdm9pZCBhdGlfZm9yY2VfaHBldF9yZXN1bWUodm9pZCkKK3sKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGNhY2hlZF9kZXYsIDB4MTQsIDB4ZmVkMDAwMDApOworCXByaW50ayhLRVJOX0RFQlVHICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgcmVzdW1lXG4iKTsKK30KKworc3RhdGljIHZvaWQgYXRpX2ZvcmNlX2VuYWJsZV9ocGV0KHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisJdTMyIHVuaW5pdGlhbGl6ZWRfdmFyKHZhbCk7CisKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwkJcmV0dXJuOworCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgMHhmZWQwMDAwMCk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHgxNCwgJnZhbCk7CisJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsOworCWZvcmNlX2hwZXRfcmVzdW1lX3R5cGUgPSBBVElfRk9SQ0VfSFBFVF9SRVNVTUU7CisJZGV2X3ByaW50ayhLRVJOX0RFQlVHLCAmZGV2LT5kZXYsICJGb3JjZSBlbmFibGVkIEhQRVQgYXQgMHglbHhcbiIsCisJCSAgIGZvcmNlX2hwZXRfYWRkcmVzcyk7CisJY2FjaGVkX2RldiA9IGRldjsKKwlyZXR1cm47Cit9CitERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX0lYUDQwMF9TTUJVUywKKwkJCSBhdGlfZm9yY2VfZW5hYmxlX2hwZXQpOworCiAvKgogICogVW5kb2N1bWVudGVkIGNoaXBzZXQgZmVhdHVyZSB0YWtlbiBmcm9tIExpbnV4QklPUy4KICAqLwpAQCAtMzQzLDkgKzM5MSwxNCBAQAogewogCXUzMiB1bmluaXRpYWxpemVkX3Zhcih2YWwpOwogCi0JaWYgKCFocGV0X2ZvcmNlX3VzZXIgfHwgaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKKwlpZiAoaHBldF9hZGRyZXNzIHx8IGZvcmNlX2hwZXRfYWRkcmVzcykKIAkJcmV0dXJuOwogCisJaWYgKCFocGV0X2ZvcmNlX3VzZXIpIHsKKwkJaHBldF9wcmludF9mb3JjZV9pbmZvKCk7CisJCXJldHVybjsKKwl9CisKIAlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgMHhmZWQwMDAwMSk7CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgMHg0NCwgJnZhbCk7CiAJZm9yY2VfaHBldF9hZGRyZXNzID0gdmFsICYgMHhmZmZmZmZmZTsKQEAgLTM5Nyw2ICs0NTAsOSBAQAogCWNhc2UgTlZJRElBX0ZPUkNFX0hQRVRfUkVTVU1FOgogCQludmlkaWFfZm9yY2VfaHBldF9yZXN1bWUoKTsKIAkJcmV0dXJuOworCWNhc2UgQVRJX0ZPUkNFX0hQRVRfUkVTVU1FOgorCQlhdGlfZm9yY2VfaHBldF9yZXN1bWUoKTsKKwkJcmV0dXJuOwogCWRlZmF1bHQ6CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYyBiL2FyY2gveDg2L2tlcm5lbC9yZWJvb3QuYwppbmRleCBmNmJlN2Q1Li5mOGE2MjE2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcmVib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdC5jCkBAIC0yNyw3ICsyNyw3IEBACiB2b2lkICgqcG1fcG93ZXJfb2ZmKSh2b2lkKTsKIEVYUE9SVF9TWU1CT0wocG1fcG93ZXJfb2ZmKTsKIAotc3RhdGljIGxvbmcgbm9faWR0WzNdOworc3RhdGljIGNvbnN0IHN0cnVjdCBkZXNjX3B0ciBub19pZHQgPSB7fTsKIHN0YXRpYyBpbnQgcmVib290X21vZGU7CiBlbnVtIHJlYm9vdF90eXBlIHJlYm9vdF90eXBlID0gQk9PVF9LQkQ7CiBpbnQgcmVib290X2ZvcmNlOwpAQCAtMjAxLDE1ICsyMDEsMTUgQEAKICAgIGNvbnRyb2xsZXIgdG8gcHVsc2UgdGhlIENQVSByZXNldCBsaW5lLCB3aGljaCBpcyBtb3JlIHRob3JvdWdoLCBidXQKICAgIGRvZXNuJ3Qgd29yayB3aXRoIGF0IGxlYXN0IG9uZSB0eXBlIG9mIDQ4NiBtb3RoZXJib2FyZC4gIEl0IGlzIGVhc3kKICAgIHRvIHN0b3AgdGhpcyBjb2RlIHdvcmtpbmc7IGhlbmNlIHRoZSBjb3Bpb3VzIGNvbW1lbnRzLiAqLwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZwogcmVhbF9tb2RlX2dkdF9lbnRyaWVzIFszXSA9CiB7CiAJMHgwMDAwMDAwMDAwMDAwMDAwVUxMLAkvKiBOdWxsIGRlc2NyaXB0b3IgKi8KLQkweDAwMDA5YTAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLwotCTB4MDAwMDkyMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KKwkweDAwMDA5YjAwMDAwMGZmZmZVTEwsCS8qIDE2LWJpdCByZWFsLW1vZGUgNjRrIGNvZGUgYXQgMHgwMDAwMDAwMCAqLworCTB4MDAwMDkzMDAwMTAwZmZmZlVMTAkvKiAxNi1iaXQgcmVhbC1tb2RlIDY0ayBkYXRhIGF0IDB4MDAwMDAxMDAgKi8KIH07CiAKLXN0YXRpYyBzdHJ1Y3QgZGVzY19wdHIKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZGVzY19wdHIKIHJlYWxfbW9kZV9nZHQgPSB7IHNpemVvZiAocmVhbF9tb2RlX2dkdF9lbnRyaWVzKSAtIDEsIChsb25nKXJlYWxfbW9kZV9nZHRfZW50cmllcyB9LAogcmVhbF9tb2RlX2lkdCA9IHsgMHgzZmYsIDAgfTsKIApAQCAtMjMxLDcgKzIzMSw3IEBACiAKICAgIE1vcmUgY291bGQgYmUgZG9uZSBoZXJlIHRvIHNldCB1cCB0aGUgcmVnaXN0ZXJzIGFzIGlmIGEgQ1BVIHJlc2V0IGhhZAogICAgb2NjdXJyZWQ7IGhvcGVmdWxseSByZWFsIEJJT1NzIGRvbid0IGFzc3VtZSBtdWNoLiAqLwotc3RhdGljIHVuc2lnbmVkIGNoYXIgcmVhbF9tb2RlX3N3aXRjaCBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciByZWFsX21vZGVfc3dpdGNoIFtdID0KIHsKIAkweDY2LCAweDBmLCAweDIwLCAweGMwLAkJCS8qICAgIG1vdmwgICVjcjAsJWVheCAgICAgICAgKi8KIAkweDY2LCAweDgzLCAweGUwLCAweDExLAkJCS8qICAgIGFuZGwgICQweDAwMDAwMDExLCVlYXggKi8KQEAgLTI0NSw3ICsyNDUsNyBAQAogCTB4MjQsIDB4MTAsCQkJCS8qIGY6IGFuZGIgICQweDEwLGFsICAgICAgICAgKi8KIAkweDY2LCAweDBmLCAweDIyLCAweGMwCQkJLyogICAgbW92bCAgJWVheCwlY3IwICAgICAgICAqLwogfTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGp1bXBfdG9fYmlvcyBbXSA9CitzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBqdW1wX3RvX2Jpb3MgW10gPQogewogCTB4ZWEsIDB4MDAsIDB4MDAsIDB4ZmYsIDB4ZmYJCS8qICAgIGxqbXAgICQweGZmZmYsJDB4MDAwMCAgKi8KIH07CkBAIC0yNTUsNyArMjU1LDcgQEAKICAqIHNwZWNpZmllZCBieSB0aGUgY29kZSBhbmQgbGVuZ3RoIHBhcmFtZXRlcnMuCiAgKiBXZSBhc3N1bWUgdGhhdCBsZW5ndGggd2lsbCBhd2F5cyBiZSBsZXNzIHRoYXQgMTAwIQogICovCi12b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCit2b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpCiB7CiAJbG9jYWxfaXJxX2Rpc2FibGUoKTsKIApAQCAtMzY4LDcgKzM2OCw3IEBACiAJCQl9CiAKIAkJY2FzZSBCT09UX1RSSVBMRToKLQkJCWxvYWRfaWR0KChjb25zdCBzdHJ1Y3QgZGVzY19wdHIgKikmbm9faWR0KTsKKwkJCWxvYWRfaWR0KCZub19pZHQpOwogCQkJX19hc21fXyBfX3ZvbGF0aWxlX18oImludDMiKTsKIAogCQkJcmVib290X3R5cGUgPSBCT09UX0tCRDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvcmVib290X2ZpeHVwc18zMi5jCmluZGV4IGRlYzBiNWUuLjYxYTgzNzcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9yZWJvb3RfZml4dXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3JlYm9vdF9maXh1cHNfMzIuYwpAQCAtNDksNyArNDksNyBAQAogCXZvaWQgKCpyZWJvb3RfZml4dXApKHN0cnVjdCBwY2lfZGV2ICopOwogfTsKIAotc3RhdGljIHN0cnVjdCBkZXZpY2VfZml4dXAgZml4dXBzX3RhYmxlW10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRldmljZV9maXh1cCBmaXh1cHNfdGFibGVbXSA9IHsKIHsgUENJX1ZFTkRPUl9JRF9DWVJJWCwgUENJX0RFVklDRV9JRF9DWVJJWF81NTMwX0xFR0FDWSwgY3M1NTMwYV93YXJtX3Jlc2V0IH0sCiB7IFBDSV9WRU5ET1JfSURfQU1ELCBQQ0lfREVWSUNFX0lEX0FNRF9DUzU1MzZfSVNBLCBjczU1MzZfd2FybV9yZXNldCB9LAogeyBQQ0lfVkVORE9SX0lEX05TLCBQQ0lfREVWSUNFX0lEX05TX1NDMTEwMF9CUklER0UsIGNzNTUzMGFfd2FybV9yZXNldCB9LApAQCAtNjQsNyArNjQsNyBAQAogICovCiB2b2lkIG1hY2hfcmVib290X2ZpeHVwcyh2b2lkKQogewotCXN0cnVjdCBkZXZpY2VfZml4dXAgKmN1cjsKKwljb25zdCBzdHJ1Y3QgZGV2aWNlX2ZpeHVwICpjdXI7CiAJc3RydWN0IHBjaV9kZXYgKmRldjsKIAlpbnQgaTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwppbmRleCA2ZjgwYjg1Li4zNmM1NDBkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwpAQCAtMSwxMzkgKzEsODg5IEBACi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCisgKgorICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5CisgKgorICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAorICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQorICoKKyAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKKyAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCisgKgorICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYworICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKKyAqCisgKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgorICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgorICoKKyAqLworCisvKgorICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+CiAjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L21jYS5oPgorI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L3Bmbi5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdF9vaGNpMTM5NF9kbWEuaD4KKyNpbmNsdWRlIDxsaW51eC9rdm1fcGFyYS5oPgorCisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvdXNlci5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgorCisjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KKyNpbmNsdWRlIDxsaW51eC9lZGQuaD4KKyNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVmcmVxLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKwogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KKworI2luY2x1ZGUgPHZpZGVvL2VkaWQuaD4KKworI2luY2x1ZGUgPGFzbS9tdHJyLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgorI2luY2x1ZGUgPGFzbS9lZmkuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNpbmNsdWRlIDxhc20vZG1pLmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaXN0Lmg+CisjaW5jbHVkZSA8YXNtL3ZtaS5oPgorI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KKyNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8YXNtL2J1Z3MuaD4KKworI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KKyNpbmNsdWRlIDxhc20vdnN5c2NhbGwuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZG1hLmg+CisjaW5jbHVkZSA8YXNtL2dhcnQuaD4KKyNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KKworI2luY2x1ZGUgPG1hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9wYXJhdmlydC5oPgorCiAjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgogI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICNpbmNsdWRlIDxhc20vdG9wb2xvZ3kuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSA8YXNtL2FwaWNkZWYuaD4KLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotdW5zaWduZWQgaW50IG51bV9wcm9jZXNzb3JzOwotdW5zaWduZWQgZGlzYWJsZWRfY3B1cyBfX2NwdWluaXRkYXRhOwotLyogUHJvY2Vzc29yIHRoYXQgaXMgZG9pbmcgdGhlIGJvb3QgdXAgKi8KLXVuc2lnbmVkIGludCBib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSAtMVU7Ci1FWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7Ci0KLURFRklORV9QRVJfQ1BVKHUxNiwgeDg2X2NwdV90b19hcGljaWQpID0gQkFEX0FQSUNJRDsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX2FwaWNpZCk7Ci0KLS8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCi1waHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2lmZGVmIENPTkZJR19YODZfNjQKKyNpbmNsdWRlIDxhc20vbnVtYV82NC5oPgogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQSkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1NNUCkKKyNpZm5kZWYgQVJDSF9TRVRVUAorI2RlZmluZSBBUkNIX1NFVFVQCisjZW5kaWYKKworI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKK3N0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOworI2Vsc2UKK3N0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKKyNlbmRpZgorCiAvKgotICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKLSAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKLSAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKiBNYWNoaW5lIHNldHVwLi4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfbWFwcyh2b2lkKQorc3RhdGljIHN0cnVjdCByZXNvdXJjZSBkYXRhX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBkYXRhIiwKKwkuc3RhcnQJPSAwLAorCS5lbmQJPSAwLAorCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiS2VybmVsIGNvZGUiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKK3N0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYnNzX3Jlc291cmNlID0geworCS5uYW1lCT0gIktlcm5lbCBic3MiLAorCS5zdGFydAk9IDAsCisJLmVuZAk9IDAsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCisgICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCisgICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KK3Vuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfc3RhcnQgX19pbml0ZGF0YSA9IH4wVUw7Cit1bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX2VuZCBfX2luaXRkYXRhID0gfjBVTDsKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSB2aWRlb19yYW1fcmVzb3VyY2UgPSB7CisJLm5hbWUJPSAiVmlkZW8gUkFNIGFyZWEiLAorCS5zdGFydAk9IDB4YTAwMDAsCisJLmVuZAk9IDB4YmZmZmYsCisJLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0KK307CisKKy8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLworc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CisvKiBjb21tb24gY3B1IGRhdGEgZm9yIGFsbCBjcHVzICovCitzdHJ1Y3QgY3B1aW5mb194ODYgYm9vdF9jcHVfZGF0YSBfX3JlYWRfbW9zdGx5ID0gezAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMX07CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X2RhdGEpOworc3RhdGljIHZvaWQgc2V0X21jYV9idXMoaW50IHgpCiB7Ci0JaW50IGNwdTsKLQotCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKLQkJcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KSA9IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbY3B1XTsKLQkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KLQkJCQkJCXg4Nl9iaW9zX2NwdV9hcGljaWRfaW5pdFtjcHVdOwotI2lmZGVmIENPTkZJR19OVU1BCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9Ci0JCQkJCQl4ODZfY3B1X3RvX25vZGVfbWFwX2luaXRbY3B1XTsKLSNlbmRpZgotCX0KLQotCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCi0JeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyID0gTlVMTDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9IE5VTEw7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQl4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0ciA9IE5VTEw7CisjaWZkZWYgQ09ORklHX01DQQorCU1DQV9idXMgPSB4OwogI2VuZGlmCiB9CiAKLSNpZmRlZiBDT05GSUdfSEFWRV9DUFVNQVNLX09GX0NQVV9NQVAKLWNwdW1hc2tfdCAqY3B1bWFza19vZl9jcHVfbWFwIF9fcmVhZF9tb3N0bHk7Ci1FWFBPUlRfU1lNQk9MKGNwdW1hc2tfb2ZfY3B1X21hcCk7Cit1bnNpZ25lZCBpbnQgZGVmX3RvX2JpZ3NtcDsKIAotLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCisvKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KK3Vuc2lnbmVkIGludCBtYWNoaW5lX2lkOwordW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Cit1bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKKworc3RydWN0IGFwbV9pbmZvIGFwbV9pbmZvOworRVhQT1JUX1NZTUJPTChhcG1faW5mbyk7CisKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfU1BFRURTVEVQX1NNSSkgfHwgXAorCWRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JX01PRFVMRSkKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKK0VYUE9SVF9TWU1CT0woaXN0X2luZm8pOworI2Vsc2UKK3N0cnVjdCBpc3RfaW5mbyBpc3RfaW5mbzsKKyNlbmRpZgorCisjZWxzZQorc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7CisjZW5kaWYKKworCisjaWYgIWRlZmluZWQoQ09ORklHX1g4Nl9QQUUpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl82NCkKK3Vuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKKyNlbHNlCit1bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKKyNlbmRpZgorCisvKiBCb290IGxvYWRlciBJRCBhcyBhbiBpbnRlZ2VyLCBmb3IgdGhlIGJlbmVmaXQgb2YgcHJvY19kb2ludHZlYyAqLworaW50IGJvb3Rsb2FkZXJfdHlwZTsKKworLyoKKyAqIEVhcmx5IERNSSBtZW1vcnkKKyAqLworaW50IGRtaV9hbGxvY19pbmRleDsKK2NoYXIgZG1pX2FsbG9jX2RhdGFbRE1JX01BWF9EQVRBXTsKKworLyoKKyAqIFNldHVwIG9wdGlvbnMKKyAqLworc3RydWN0IHNjcmVlbl9pbmZvIHNjcmVlbl9pbmZvOworRVhQT1JUX1NZTUJPTChzY3JlZW5faW5mbyk7CitzdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKK0VYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7CisKK2V4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOworCit1bnNpZ25lZCBsb25nIHNhdmVkX3ZpZGVvX21vZGU7CisKKyNkZWZpbmUgUkFNRElTS19JTUFHRV9TVEFSVF9NQVNLCTB4MDdGRgorI2RlZmluZSBSQU1ESVNLX1BST01QVF9GTEFHCQkweDgwMDAKKyNkZWZpbmUgUkFNRElTS19MT0FEX0ZMQUcJCTB4NDAwMAorCitzdGF0aWMgY2hhciBfX2luaXRkYXRhIGNvbW1hbmRfbGluZVtDT01NQU5EX0xJTkVfU0laRV07CisKKyNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCitzdHJ1Y3QgZWRkIGVkZDsKKyNpZmRlZiBDT05GSUdfRUREX01PRFVMRQorRVhQT1JUX1NZTUJPTChlZGQpOworI2VuZGlmCisvKioKKyAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgorICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCisgKgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKK3sKKyAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCisJICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOworICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKKyAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKKyAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCit7Cit9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAorCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCisjZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKK3N0YXRpYyB2b2lkIF9faW5pdCByZWxvY2F0ZV9pbml0cmQodm9pZCkKK3sKKworCXU2NCByYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJdTY0IHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOworCXU2NCBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKKwl1NjQgcmFtZGlza19oZXJlOworCXVuc2lnbmVkIGxvbmcgc2xvcCwgY2xlbiwgbWFwYWRkcjsKKwljaGFyICpwLCAqcTsKKworCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KKwlyYW1kaXNrX2hlcmUgPSBmaW5kX2U4MjBfYXJlYSgwLCBlbmRfb2ZfbG93bWVtLCByYW1kaXNrX3NpemUsCisJCQkJCSBQQUdFX1NJWkUpOworCisJaWYgKHJhbWRpc2tfaGVyZSA9PSAtMVVMTCkKKwkJcGFuaWMoIkNhbm5vdCBmaW5kIHBsYWNlIGZvciBuZXcgUkFNRElTSyBvZiBzaXplICVsbGRcbiIsCisJCQkgcmFtZGlza19zaXplKTsKKworCS8qIE5vdGU6IHRoaXMgaW5jbHVkZXMgYWxsIHRoZSBsb3dtZW0gY3VycmVudGx5IG9jY3VwaWVkIGJ5CisJICAgdGhlIGluaXRyZCwgd2UgcmVseSBvbiB0aGF0IGZhY3QgdG8ga2VlcCB0aGUgZGF0YSBpbnRhY3QuICovCisJcmVzZXJ2ZV9lYXJseShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfaGVyZSArIHJhbWRpc2tfc2l6ZSwKKwkJCSAiTkVXIFJBTURJU0siKTsKKwlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKKwlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiQWxsb2NhdGVkIG5ldyBSQU1ESVNLOiAlMDhsbHggLSAlMDhsbHhcbiIsCisJCQkgcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUpOworCisJcSA9IChjaGFyICopaW5pdHJkX3N0YXJ0OworCisJLyogQ29weSBhbnkgbG93bWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCWlmIChyYW1kaXNrX2ltYWdlIDwgZW5kX29mX2xvd21lbSkgeworCQljbGVuID0gZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfaW1hZ2U7CisJCXAgPSAoY2hhciAqKV9fdmEocmFtZGlza19pbWFnZSk7CisJCW1lbWNweShxLCBwLCBjbGVuKTsKKwkJcSArPSBjbGVuOworCQlyYW1kaXNrX2ltYWdlICs9IGNsZW47CisJCXJhbWRpc2tfc2l6ZSAgLT0gY2xlbjsKKwl9CisKKwkvKiBDb3B5IHRoZSBoaWdobWVtIHBvcnRpb24gb2YgdGhlIGluaXRyZCAqLworCXdoaWxlIChyYW1kaXNrX3NpemUpIHsKKwkJc2xvcCA9IHJhbWRpc2tfaW1hZ2UgJiB+UEFHRV9NQVNLOworCQljbGVuID0gcmFtZGlza19zaXplOworCQlpZiAoY2xlbiA+IE1BWF9NQVBfQ0hVTkstc2xvcCkKKwkJCWNsZW4gPSBNQVhfTUFQX0NIVU5LLXNsb3A7CisJCW1hcGFkZHIgPSByYW1kaXNrX2ltYWdlICYgUEFHRV9NQVNLOworCQlwID0gZWFybHlfaW9yZW1hcChtYXBhZGRyLCBjbGVuK3Nsb3ApOworCQltZW1jcHkocSwgcCtzbG9wLCBjbGVuKTsKKwkJZWFybHlfaW91bm1hcChwLCBjbGVuK3Nsb3ApOworCQlxICs9IGNsZW47CisJCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKKwkJcmFtZGlza19zaXplICAtPSBjbGVuOworCX0KKwkvKiBoaWdoIHBhZ2VzIGlzIG5vdCBjb252ZXJ0ZWQgYnkgZWFybHlfcmVzX3RvX2Jvb3RtZW0gKi8KKwlyYW1kaXNrX2ltYWdlID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfaW1hZ2U7CisJcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7CisJcHJpbnRrKEtFUk5fSU5GTyAiTW92ZSBSQU1ESVNLIGZyb20gJTAxNmxseCAtICUwMTZsbHggdG8iCisJCSIgJTA4bGx4IC0gJTA4bGx4XG4iLAorCQlyYW1kaXNrX2ltYWdlLCByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplIC0gMSwKKwkJcmFtZGlza19oZXJlLCByYW1kaXNrX2hlcmUgKyByYW1kaXNrX3NpemUgLSAxKTsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKK3sKKwl1NjQgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOworCXU2NCByYW1kaXNrX3NpemUgID0gYm9vdF9wYXJhbXMuaGRyLnJhbWRpc2tfc2l6ZTsKKwl1NjQgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7CisJdTY0IGVuZF9vZl9sb3dtZW0gPSBtYXhfbG93X3BmbiA8PCBQQUdFX1NISUZUOworCisJaWYgKCFib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgfHwKKwkgICAgIXJhbWRpc2tfaW1hZ2UgfHwgIXJhbWRpc2tfc2l6ZSkKKwkJcmV0dXJuOwkJLyogTm8gaW5pdHJkIHByb3ZpZGVkIGJ5IGJvb3Rsb2FkZXIgKi8KKworCWluaXRyZF9zdGFydCA9IDA7CisKKwlpZiAocmFtZGlza19zaXplID49IChlbmRfb2ZfbG93bWVtPj4xKSkgeworCQlmcmVlX2Vhcmx5KHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfZW5kKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJpbml0cmQgdG9vIGxhcmdlIHRvIGhhbmRsZSwgIgorCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOworCQlyZXR1cm47CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiUkFNRElTSzogJTA4bGx4IC0gJTA4bGx4XG4iLCByYW1kaXNrX2ltYWdlLAorCQkJcmFtZGlza19lbmQpOworCisKKwlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgeworCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KKwkJLyoKKwkJICogZG9uJ3QgbmVlZCB0byByZXNlcnZlIGFnYWluLCBhbHJlYWR5IHJlc2VydmVkIGVhcmx5CisJCSAqIGluIGkzODZfc3RhcnRfa2VybmVsCisJCSAqLworCQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2ltYWdlICsgUEFHRV9PRkZTRVQ7CisJCWluaXRyZF9lbmQgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7CisJCXJldHVybjsKKwl9CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcmVsb2NhdGVfaW5pdHJkKCk7CisjZWxzZQorCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgorCSAgICAgICAiKDB4JTA4bGx4ID4gMHglMDhsbHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAorCSAgICAgICByYW1kaXNrX2VuZCwgZW5kX29mX2xvd21lbSk7CisJaW5pdHJkX3N0YXJ0ID0gMDsKKyNlbmRpZgorCWZyZWVfZWFybHkocmFtZGlza19pbWFnZSwgcmFtZGlza19lbmQpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2luaXRyZCh2b2lkKQoreworfQorI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOSVRSRCAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vfc2V0dXBfZGF0YSh2b2lkKQoreworCXN0cnVjdCBzZXR1cF9kYXRhICpkYXRhOworCXU2NCBwYV9kYXRhOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7CisJCXN3aXRjaCAoZGF0YS0+dHlwZSkgeworCQljYXNlIFNFVFVQX0U4MjBfRVhUOgorCQkJcGFyc2VfZTgyMF9leHQoZGF0YSwgcGFfZGF0YSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIFBBR0VfU0laRSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2luaXQgZTgyMF9yZXNlcnZlX3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwlpbnQgZm91bmQgPSAwOworCisJaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQorCQlyZXR1cm47CisJcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOworCXdoaWxlIChwYV9kYXRhKSB7CisJCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIHNpemVvZigqZGF0YSkpOworCQllODIwX3VwZGF0ZV9yYW5nZShwYV9kYXRhLCBzaXplb2YoKmRhdGEpK2RhdGEtPmxlbiwKKwkJCSBFODIwX1JBTSwgRTgyMF9SRVNFUlZFRF9LRVJOKTsKKwkJZm91bmQgPSAxOworCQlwYV9kYXRhID0gZGF0YS0+bmV4dDsKKwkJZWFybHlfaW91bm1hcChkYXRhLCBzaXplb2YoKmRhdGEpKTsKKwl9CisJaWYgKCFmb3VuZCkKKwkJcmV0dXJuOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOworCW1lbWNweSgmZTgyMF9zYXZlZCwgJmU4MjAsIHNpemVvZihzdHJ1Y3QgZTgyMG1hcCkpOworCXByaW50ayhLRVJOX0lORk8gImV4dGVuZGVkIHBoeXNpY2FsIFJBTSBtYXA6XG4iKTsKKwllODIwX3ByaW50X21hcCgicmVzZXJ2ZSBzZXR1cF9kYXRhIik7Cit9CisKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2Vhcmx5X3NldHVwX2RhdGEodm9pZCkKK3sKKwlzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YTsKKwl1NjQgcGFfZGF0YTsKKwljaGFyIGJ1ZlszMl07CisKKwlpZiAoYm9vdF9wYXJhbXMuaGRyLnZlcnNpb24gPCAweDAyMDkpCisJCXJldHVybjsKKwlwYV9kYXRhID0gYm9vdF9wYXJhbXMuaGRyLnNldHVwX2RhdGE7CisJd2hpbGUgKHBhX2RhdGEpIHsKKwkJZGF0YSA9IGVhcmx5X2lvcmVtYXAocGFfZGF0YSwgc2l6ZW9mKCpkYXRhKSk7CisJCXNwcmludGYoYnVmLCAic2V0dXAgZGF0YSAleCIsIGRhdGEtPnR5cGUpOworCQlyZXNlcnZlX2Vhcmx5KHBhX2RhdGEsIHBhX2RhdGErc2l6ZW9mKCpkYXRhKStkYXRhLT5sZW4sIGJ1Zik7CisJCXBhX2RhdGEgPSBkYXRhLT5uZXh0OworCQllYXJseV9pb3VubWFwKGRhdGEsIHNpemVvZigqZGF0YSkpOworCX0KK30KKworLyoKKyAqIC0tLS0tLS0tLSBDcmFzaGtlcm5lbCByZXNlcnZhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisjaWZkZWYgQ09ORklHX0tFWEVDCisKKy8qKgorICogUmVzZXJ2ZSBAc2l6ZSBieXRlcyBvZiBjcmFzaGtlcm5lbCBtZW1vcnkgYXQgYW55IHN1aXRhYmxlIG9mZnNldC4KKyAqCisgKiBAc2l6ZTogU2l6ZSBvZiB0aGUgY3Jhc2hrZXJuZWwgbWVtb3J5IHRvIHJlc2VydmUuCisgKiBSZXR1cm5zIHRoZSBiYXNlIGFkZHJlc3Mgb24gc3VjY2VzcywgYW5kIC0xVUxMIG9uIGZhaWx1cmUuCisgKi8KK3Vuc2lnbmVkIGxvbmcgbG9uZyBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKQoreworCWNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyBhbGlnbm1lbnQgPSAxNjw8MjA7IAkvKiAxNk0gKi8KKwl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQgPSAwTEw7CisKKwl3aGlsZSAoMSkgeworCQlpbnQgcmV0OworCisJCXN0YXJ0ID0gZmluZF9lODIwX2FyZWEoc3RhcnQsIFVMT05HX01BWCwgc2l6ZSwgYWxpZ25tZW50KTsKKwkJaWYgKHN0YXJ0ID09IC0xVUxMKQorCQkJcmV0dXJuIHN0YXJ0OworCisJCS8qIHRyeSB0byByZXNlcnZlIGl0ICovCisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHN0YXJ0LCBzaXplLCBCT09UTUVNX0VYQ0xVU0lWRSk7CisJCWlmIChyZXQgPj0gMCkKKwkJCXJldHVybiBzdGFydDsKKworCQlzdGFydCArPSBhbGlnbm1lbnQ7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBnZXRfdG90YWxfbWVtKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsOworCisJdG90YWwgPSBtYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJdG90YWwgKz0gaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuOworI2VuZGlmCisKKwlyZXR1cm4gdG90YWwgPDwgUEFHRV9TSElGVDsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOworCWludCByZXQ7CisKKwl0b3RhbF9tZW0gPSBnZXRfdG90YWxfbWVtKCk7CisKKwlyZXQgPSBwYXJzZV9jcmFzaGtlcm5lbChib290X2NvbW1hbmRfbGluZSwgdG90YWxfbWVtLAorCQkJJmNyYXNoX3NpemUsICZjcmFzaF9iYXNlKTsKKwlpZiAocmV0ICE9IDAgfHwgY3Jhc2hfc2l6ZSA8PSAwKQorCQlyZXR1cm47CisKKwkvKiAwIG1lYW5zOiBmaW5kIHRoZSBhZGRyZXNzIGF1dG9tYXRpY2FsbHkgKi8KKwlpZiAoY3Jhc2hfYmFzZSA8PSAwKSB7CisJCWNyYXNoX2Jhc2UgPSBmaW5kX2FuZF9yZXNlcnZlX2NyYXNoa2VybmVsKGNyYXNoX3NpemUpOworCQlpZiAoY3Jhc2hfYmFzZSA9PSAtMVVMTCkgeworCQkJcHJfaW5mbygiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkLiAiCisJCQkJIk5vIHN1aXRhYmxlIGFyZWEgZm91bmQuXG4iKTsKKwkJCXJldHVybjsKKwkJfQorCX0gZWxzZSB7CisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCisJCQkJCUJPT1RNRU1fRVhDTFVTSVZFKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByX2luZm8oImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKKwkJCQkibWVtb3J5IGlzIGluIHVzZVxuIik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgJWxkTUIgb2YgbWVtb3J5IGF0ICVsZE1CICIKKwkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9iYXNlID4+IDIwKSwKKwkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKKworCWNyYXNoa19yZXMuc3RhcnQgPSBjcmFzaF9iYXNlOworCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOworfQorI2Vsc2UKK3N0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCit7Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKKwl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAorCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCisJeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKKwl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKKwkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAorCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCisJCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQorfTsKKworc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfc3RhbmRhcmRfaW9fcmVzb3VyY2VzKHZvaWQpCiB7CiAJaW50IGk7CiAKLQkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KLQljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOwotCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCi0JCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKKwkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCisJCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7CisKIH0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9Ci0jZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfMzIKLS8qCi0gKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKLSAqIHRoZSBzYW1lIHdheQorI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQorLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKKyAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCisgKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgogICovCi11bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7Ci0jZW5kaWYKLQotLyoKLSAqIEdyZWF0IGZ1dHVyZSBwbGFuOgotICogRGVjbGFyZSBQREEgaXRzZWxmIGFuZCBzdXBwb3J0IChpcnFzdGFjayx0c3MscGdkKSBhcyBwZXIgY3B1IGRhdGEuCi0gKiBBbHdheXMgcG9pbnQgJWdzIHRvIGl0cyBiZWdpbm5pbmcKLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfcGVyX2NwdV9hcmVhcyh2b2lkKQorc3RhdGljIGludCBfX2luaXQgc2V0dXBfZWxmY29yZWhkcihjaGFyICphcmcpCiB7Ci0JaW50IGksIGhpZ2hlc3RfY3B1ID0gMDsKLQl1bnNpZ25lZCBsb25nIHNpemU7Ci0KLSNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLQlwcmVmaWxsX3Bvc3NpYmxlX21hcCgpOworCWNoYXIgKmVuZDsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZWxmY29yZWhkcl9hZGRyID0gbWVtcGFyc2UoYXJnLCAmZW5kKTsKKwlyZXR1cm4gZW5kID4gYXJnID8gMCA6IC1FSU5WQUw7Cit9CitlYXJseV9wYXJhbSgiZWxmY29yZWhkciIsIHNldHVwX2VsZmNvcmVoZHIpOwogI2VuZGlmCiAKLQkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KLQlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOwotCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlbHUgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAotCQkJICBzaXplKTsKKy8qCisgKiBEZXRlcm1pbmUgaWYgd2Ugd2VyZSBsb2FkZWQgYnkgYW4gRUZJIGxvYWRlci4gIElmIHNvLCB0aGVuIHdlIGhhdmUgYWxzbyBiZWVuCisgKiBwYXNzZWQgdGhlIGVmaSBtZW1tYXAsIHN5c3RhYiwgZXRjLiwgc28gd2Ugc2hvdWxkIHVzZSB0aGVzZSBkYXRhIHN0cnVjdHVyZXMKKyAqIGZvciBpbml0aWFsaXphdGlvbi4gIE5vdGUsIHRoZSBlZmkgaW5pdCBjb2RlIHBhdGggaXMgZGV0ZXJtaW5lZCBieSB0aGUKKyAqIGdsb2JhbCBlZmlfZW5hYmxlZC4gVGhpcyBhbGxvd3MgdGhlIHNhbWUga2VybmVsIGltYWdlIHRvIGJlIHVzZWQgb24gZXhpc3RpbmcKKyAqIHN5c3RlbXMgKHdpdGggYSB0cmFkaXRpb25hbCBCSU9TKSBhcyB3ZWxsIGFzIG9uIEVGSSBzeXN0ZW1zLgorICovCisvKgorICogc2V0dXBfYXJjaCAtIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBib290LXRpbWUgaW5pdGlhbGl6YXRpb25zCisgKgorICogTm90ZTogT24geDg2XzY0LCBmaXhtYXBzIGFyZSByZWFkeSBmb3IgdXNlIGV2ZW4gYmVmb3JlIHRoaXMgaXMgY2FsbGVkLgorICovCiAKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgewotCQljaGFyICpwdHI7Ci0jaWZuZGVmIENPTkZJR19ORUVEX01VTFRJUExFX05PREVTCi0JCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXMoc2l6ZSk7Cit2b2lkIF9faW5pdCBzZXR1cF9hcmNoKGNoYXIgKipjbWRsaW5lX3ApCit7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCW1lbWNweSgmYm9vdF9jcHVfZGF0YSwgJm5ld19jcHVfZGF0YSwgc2l6ZW9mKG5ld19jcHVfZGF0YSkpOworCXZpc3dzX2Vhcmx5X2RldGVjdCgpOworCXByZV9zZXR1cF9hcmNoX2hvb2soKTsKKwllYXJseV9jcHVfaW5pdCgpOwogI2Vsc2UKLQkJaW50IG5vZGUgPSBlYXJseV9jcHVfdG9fbm9kZShpKTsKLQkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7Ci0JCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOwotCQkJcHJpbnRrKEtFUk5fSU5GTwotCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsIGkpOwotCQl9Ci0JCWVsc2UKLQkJCXB0ciA9IGFsbG9jX2Jvb3RtZW1fcGFnZXNfbm9kZShOT0RFX0RBVEEobm9kZSksIHNpemUpOworCXByaW50ayhLRVJOX0lORk8gIkNvbW1hbmQgbGluZTogJXNcbiIsIGJvb3RfY29tbWFuZF9saW5lKTsKICNlbmRpZgotCQlpZiAoIXB0cikKLQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgY3B1IGRhdGEgZm9yIENQVSAlZFxuIiwgaSk7CisKKwllYXJseV9pb3JlbWFwX2luaXQoKTsKKworCVJPT1RfREVWID0gb2xkX2RlY29kZV9kZXYoYm9vdF9wYXJhbXMuaGRyLnJvb3RfZGV2KTsKKwlzY3JlZW5faW5mbyA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvOworCWVkaWRfaW5mbyA9IGJvb3RfcGFyYW1zLmVkaWRfaW5mbzsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87CisJaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKKwlpZiAoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUubGVuZ3RoICE9IDApIHsKKwkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOworCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07CisJCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKKwkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOworCX0KKyNlbmRpZgorCXNhdmVkX3ZpZGVvX21vZGUgPSBib290X3BhcmFtcy5oZHIudmlkX21vZGU7CisJYm9vdGxvYWRlcl90eXBlID0gYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyOworCisjaWZkZWYgQ09ORklHX0JMS19ERVZfUkFNCisJcmRfaW1hZ2Vfc3RhcnQgPSBib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX0lNQUdFX1NUQVJUX01BU0s7CisJcmRfcHJvbXB0ID0gKChib290X3BhcmFtcy5oZHIucmFtX3NpemUgJiBSQU1ESVNLX1BST01QVF9GTEFHKSAhPSAwKTsKKwlyZF9kb2xvYWQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfTE9BRF9GTEFHKSAhPSAwKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19FRkkKKwlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCQkgICAgICJFTDMyIiwKKyNlbHNlCisJCSAgICAgIkVMNjQiLAorI2VuZGlmCisJIDQpKSB7CisJCWVmaV9lbmFibGVkID0gMTsKKwkJZWZpX3Jlc2VydmVfZWFybHkoKTsKKwl9CisjZW5kaWYKKworCUFSQ0hfU0VUVVAKKworCXNldHVwX21lbW9yeV9tYXAoKTsKKwlwYXJzZV9zZXR1cF9kYXRhKCk7CisJLyogdXBkYXRlIHRoZSBlODIwX3NhdmVkIHRvbyAqLworCWU4MjBfcmVzZXJ2ZV9zZXR1cF9kYXRhKCk7CisKKwljb3B5X2VkZCgpOworCisJaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKKwkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7CisJaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OworCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OworCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOworI2lmZGVmIENPTkZJR19YODZfMzIKKwlpbml0X21tLmJyayA9IGluaXRfcGdfdGFibGVzX2VuZCArIFBBR0VfT0ZGU0VUOworI2Vsc2UKKwlpbml0X21tLmJyayA9ICh1bnNpZ25lZCBsb25nKSAmX2VuZDsKKyNlbmRpZgorCisJY29kZV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfdGV4dCk7CisJY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KS0xOworCWRhdGFfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoX2V0ZXh0KTsKKwlkYXRhX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZWRhdGEpLTE7CisJYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7CisJYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKKwogI2lmZGVmIENPTkZJR19YODZfNjQKLQkJY3B1X3BkYShpKS0+ZGF0YV9vZmZzZXQgPSBwdHIgLSBfX3Blcl9jcHVfc3RhcnQ7Ci0jZWxzZQotCQlfX3Blcl9jcHVfb2Zmc2V0W2ldID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCWVhcmx5X2NwdV9pbml0KCk7CiAjZW5kaWYKLQkJbWVtY3B5KHB0ciwgX19wZXJfY3B1X3N0YXJ0LCBfX3Blcl9jcHVfZW5kIC0gX19wZXJfY3B1X3N0YXJ0KTsKKwlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKKwkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwogCi0JCWhpZ2hlc3RfY3B1ID0gaTsKKwlwYXJzZV9lYXJseV9wYXJhbSgpOworCisJLyogYWZ0ZXIgZWFybHkgcGFyYW0sIHNvIGNvdWxkIGdldCBwYW5pYyBmcm9tIHNlcmlhbCAqLworCXJlc2VydmVfZWFybHlfc2V0dXBfZGF0YSgpOworCisJaWYgKGFjcGlfbXBzX2NoZWNrKCkpIHsKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKKwkJZGlzYWJsZV9hcGljID0gMTsKKyNlbmRpZgorCQljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9BUElDKTsKIAl9CiAKLQlucl9jcHVfaWRzID0gaGlnaGVzdF9jcHUgKyAxOwotCXByaW50ayhLRVJOX0RFQlVHICJOUl9DUFVTOiAlZCwgbnJfY3B1X2lkczogJWRcbiIsIE5SX0NQVVMsIG5yX2NwdV9pZHMpOworCWZpbmlzaF9lODIwX3BhcnNpbmcoKTsKIAotCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KLQlzZXR1cF9wZXJfY3B1X21hcHMoKTsKLQotCS8qIFNldHVwIGNwdW1hc2tfb2ZfY3B1IG1hcCAqLwotCXNldHVwX2NwdW1hc2tfb2ZfY3B1KCk7Ci19Ci0KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJcHJvYmVfcm9tcygpOwogI2VuZGlmCisKKwkvKiBhZnRlciBwYXJzZV9lYXJseV9wYXJhbSwgc28gY291bGQgZGVidWcgaXQgKi8KKwlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmY29kZV9yZXNvdXJjZSk7CisJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UpOworCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOworCisJaWYgKGVmaV9lbmFibGVkKQorCQllZmlfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCWlmIChwcHJvX3dpdGhfcmFtX2J1ZygpKSB7CisJCWU4MjBfdXBkYXRlX3JhbmdlKDB4NzAwMDAwMDBVTEwsIDB4NDAwMDBVTEwsIEU4MjBfUkFNLAorCQkJCSAgRTgyMF9SRVNFUlZFRCk7CisJCXNhbml0aXplX2U4MjBfbWFwKGU4MjAubWFwLCBBUlJBWV9TSVpFKGU4MjAubWFwKSwgJmU4MjAubnJfbWFwKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZml4ZWQgcGh5c2ljYWwgUkFNIG1hcDpcbiIpOworCQllODIwX3ByaW50X21hcCgiYmFkX3Bwcm8iKTsKKwl9CisjZWxzZQorCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKKyNlbmRpZgorCisJLyoKKwkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKKwkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKKwkgKi8KKwltYXhfcGZuID0gZTgyMF9lbmRfb2ZfcmFtX3BmbigpOworCisJLyogcHJlYWxsb2NhdGUgNGsgZm9yIG1wdGFibGUgbXBjICovCisJZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcoKTsKKwkvKiB1cGRhdGUgZTgyMCBmb3IgbWVtb3J5IG5vdCBjb3ZlcmVkIGJ5IFdCIE1UUlJzICovCisJbXRycl9icF9pbml0KCk7CisJaWYgKG10cnJfdHJpbV91bmNhY2hlZF9tZW1vcnkobWF4X3BmbikpCisJCW1heF9wZm4gPSBlODIwX2VuZF9vZl9yYW1fcGZuKCk7CisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJLyogbWF4X2xvd19wZm4gZ2V0IHVwZGF0ZWQgaGVyZSAqLworCWZpbmRfbG93X3Bmbl9yYW5nZSgpOworI2Vsc2UKKwludW1fcGh5c3BhZ2VzID0gbWF4X3BmbjsKKworCWNoZWNrX2VmZXIoKTsKKworCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLworCS8qIG5lZWQgdGhpcyBiZWZvcmUgY2FsbGluZyByZXNlcnZlX2luaXRyZCAqLworCWlmIChtYXhfcGZuID4gKDFVTDw8KDMyIC0gUEFHRV9TSElGVCkpKQorCQltYXhfbG93X3BmbiA9IGU4MjBfZW5kX29mX2xvd19yYW1fcGZuKCk7CisJZWxzZQorCQltYXhfbG93X3BmbiA9IG1heF9wZm47CisKKwloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShtYXhfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2VuZGlmCisKKwkvKiBtYXhfcGZuX21hcHBlZCBpcyB1cGRhdGVkIGhlcmUgKi8KKwltYXhfbG93X3Bmbl9tYXBwZWQgPSBpbml0X21lbW9yeV9tYXBwaW5nKDAsIG1heF9sb3dfcGZuPDxQQUdFX1NISUZUKTsKKwltYXhfcGZuX21hcHBlZCA9IG1heF9sb3dfcGZuX21hcHBlZDsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKSB7CisJCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygxVUw8PDMyLAorCQkJCQkJICAgICBtYXhfcGZuPDxQQUdFX1NISUZUKTsKKwkJLyogY2FuIHdlIHByZXNldmUgbWF4X2xvd19wZm4gPyovCisJCW1heF9sb3dfcGZuID0gbWF4X3BmbjsKKwl9CisjZW5kaWYKKworCS8qCisJICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KKwkgKi8KKworI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCisJaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQorCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKKyNlbmRpZgorCisJcmVzZXJ2ZV9pbml0cmQoKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2c21wX2luaXQoKTsKKyNlbmRpZgorCisJZG1pX3NjYW5fbWFjaGluZSgpOworCisJaW9fZGVsYXlfaW5pdCgpOworCisJLyoKKwkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KKwkgKi8KKwlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX0FDUElfTlVNQQorCS8qCisJICogUGFyc2UgU1JBVCB0byBkaXNjb3ZlciBub2Rlcy4KKwkgKi8KKwlhY3BpX251bWFfaW5pdCgpOworI2VuZGlmCisKKwlpbml0bWVtX2luaXQoMCwgbWF4X3Bmbik7CisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJZG1hMzJfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BQ1BJX1NMRUVQCisJLyoKKwkgKiBSZXNlcnZlIGxvdyBtZW1vcnkgcmVnaW9uIGZvciBzbGVlcCBzdXBwb3J0LgorCSAqLworCWFjcGlfcmVzZXJ2ZV9ib290bWVtKCk7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0ZJTkRfU01QX0NPTkZJRworCS8qCisJICogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJZmluZF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKwlyZXNlcnZlX2NyYXNoa2VybmVsKCk7CisKKwlyZXNlcnZlX2liZnRfcmVnaW9uKCk7CisKKyNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCisJa3ZtY2xvY2tfaW5pdCgpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkKENPTkZJR19WTUkpICYmIGRlZmluZWQoQ09ORklHX1g4Nl8zMikKKwkvKgorCSAqIE11c3QgYmUgYWZ0ZXIgbWF4X2xvd19wZm4gaXMgZGV0ZXJtaW5lZCwgYW5kIGJlZm9yZSBrZXJuZWwKKwkgKiBwYWdldGFibGVzIGFyZSBzZXR1cC4KKwkgKi8KKwl2bWlfaW5pdCgpOworI2VuZGlmCisKKwlwYWdpbmdfaW5pdCgpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW1hcF92c3lzY2FsbCgpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICisJZ2VuZXJpY19hcGljX3Byb2JlKCk7CisjZW5kaWYKKworCWVhcmx5X3F1aXJrcygpOworCisJLyoKKwkgKiBSZWFkIEFQSUMgYW5kIHNvbWUgb3RoZXIgZWFybHkgaW5mb3JtYXRpb24gZnJvbSBBQ1BJIHRhYmxlcy4KKwkgKi8KKwlhY3BpX2Jvb3RfaW5pdCgpOworCisjaWYgZGVmaW5lZChDT05GSUdfWDg2X01QUEFSU0UpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9WSVNXUykKKwkvKgorCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CisJICovCisJaWYgKHNtcF9mb3VuZF9jb25maWcpCisJCWdldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKKworCXByZWZpbGxfcG9zc2libGVfbWFwKCk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWluaXRfY3B1X3RvX25vZGUoKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQorCS8qCisJICogbmVlZCB0byBjaGVjayBvbmxpbmUgbm9kZXMgbnVtLCBjYWxsIGl0CisJICogaGVyZSBiZWZvcmUgdGltZV9pbml0L3RzY19pbml0CisJICovCisJbnVtYXFfdHNjX2Rpc2FibGUoKTsKKyNlbmRpZgorCisJaW5pdF9hcGljX21hcHBpbmdzKCk7CisJaW9hcGljX2luaXRfbWFwcGluZ3MoKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKSAmJiBkZWZpbmVkKENPTkZJR19YODZfMzIpCisJaWYgKGRlZl90b19iaWdzbXApCisJCXByaW50ayhLRVJOX1dBUk5JTkcgIk1vcmUgdGhhbiA4IENQVXMgZGV0ZWN0ZWQgYW5kICIKKwkJCSJDT05GSUdfWDg2X1BDIGNhbm5vdCBoYW5kbGUgaXQuXG5Vc2UgIgorCQkJIkNPTkZJR19YODZfR0VORVJJQ0FSQ0ggb3IgQ09ORklHX1g4Nl9CSUdTTVAuXG4iKTsKKyNlbmRpZgorCWt2bV9ndWVzdF9pbml0KCk7CisKKwllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7CisJZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKG1heF9sb3dfcGZuKTsKKworI2lmZGVmIENPTkZJR19YODZfMzIKKwlyZXF1ZXN0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJnZpZGVvX3JhbV9yZXNvdXJjZSk7CisjZW5kaWYKKwlyZXNlcnZlX3N0YW5kYXJkX2lvX3Jlc291cmNlcygpOworCisJZTgyMF9zZXR1cF9nYXAoKTsKKworI2lmZGVmIENPTkZJR19WVAorI2lmIGRlZmluZWQoQ09ORklHX1ZHQV9DT05TT0xFKQorCWlmICghZWZpX2VuYWJsZWQgfHwgKGVmaV9tZW1fdHlwZSgweGEwMDAwKSAhPSBFRklfQ09OVkVOVElPTkFMX01FTU9SWSkpCisJCWNvbnN3aXRjaHAgPSAmdmdhX2NvbjsKKyNlbGlmIGRlZmluZWQoQ09ORklHX0RVTU1ZX0NPTlNPTEUpCisJY29uc3dpdGNocCA9ICZkdW1teV9jb247CisjZW5kaWYKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cDY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlZTBlODIuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDI4NyArMCwwIEBACi0vKiAKLSAqIFg4Ni02NCBzcGVjaWZpYyBDUFUgc2V0dXAuCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKiBDb3B5cmlnaHQgMjAwMSwgMjAwMiwgMjAwMyBTdVNFIExhYnMgLyBBbmRpIEtsZWVuLgotICogU2VlIHNldHVwLmMgZm9yIG9sZGVyIGNoYW5nZWxvZy4KLSAqLyAKLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgva2dkYi5oPgotI2luY2x1ZGUgPGFzbS9wZGEuaD4KLSNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxhc20vZGVzYy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vbW11X2NvbnRleHQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL2kzODcuaD4KLSNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KLQotI2lmbmRlZiBDT05GSUdfREVCVUdfQk9PVF9QQVJBTVMKLXN0cnVjdCBib290X3BhcmFtcyBfX2luaXRkYXRhIGJvb3RfcGFyYW1zOwotI2Vsc2UKLXN0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKLSNlbmRpZgotCi1jcHVtYXNrX3QgY3B1X2luaXRpYWxpemVkIF9fY3B1aW5pdGRhdGEgPSBDUFVfTUFTS19OT05FOwotCi1zdHJ1Y3QgeDg2NjRfcGRhICpfY3B1X3BkYVtOUl9DUFVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChfY3B1X3BkYSk7Ci1zdHJ1Y3QgeDg2NjRfcGRhIGJvb3RfY3B1X3BkYVtOUl9DUFVTXSBfX2NhY2hlbGluZV9hbGlnbmVkOwotCi1zdHJ1Y3QgZGVzY19wdHIgaWR0X2Rlc2NyID0geyAyNTYgKiAxNiAtIDEsICh1bnNpZ25lZCBsb25nKSBpZHRfdGFibGUgfTsKLQotY2hhciBib290X2NwdV9zdGFja1tJUlFTVEFDS1NJWkVdIF9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKLQotdW5zaWduZWQgbG9uZyBfX3N1cHBvcnRlZF9wdGVfbWFzayBfX3JlYWRfbW9zdGx5ID0gfjBVTDsKLUVYUE9SVF9TWU1CT0xfR1BMKF9fc3VwcG9ydGVkX3B0ZV9tYXNrKTsKLQotc3RhdGljIGludCBkb19ub3RfbnggX19jcHVpbml0ZGF0YSA9IDA7Ci0KLS8qIG5vZXhlYz1vbnxvZmYKLUNvbnRyb2wgbm9uIGV4ZWN1dGFibGUgbWFwcGluZ3MgZm9yIDY0Yml0IHByb2Nlc3Nlcy4KLQotb24JRW5hYmxlKGRlZmF1bHQpCi1vZmYJRGlzYWJsZQotKi8gCi1zdGF0aWMgaW50IF9faW5pdCBub254X3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cikKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JaWYgKCFzdHJuY21wKHN0ciwgIm9uIiwgMikpIHsKLSAgICAgICAgICAgICAgICBfX3N1cHBvcnRlZF9wdGVfbWFzayB8PSBfUEFHRV9OWDsgCi0gCQlkb19ub3RfbnggPSAwOyAKLQl9IGVsc2UgaWYgKCFzdHJuY21wKHN0ciwgIm9mZiIsIDMpKSB7Ci0JCWRvX25vdF9ueCA9IDE7Ci0JCV9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsKLSAgICAgICAgfQotCXJldHVybiAwOwotfSAKLWVhcmx5X3BhcmFtKCJub2V4ZWMiLCBub254X3NldHVwKTsKLQotaW50IGZvcmNlX3BlcnNvbmFsaXR5MzIgPSAwOyAKLQotLyogbm9leGVjMzI9b258b2ZmCi1Db250cm9sIG5vbiBleGVjdXRhYmxlIGhlYXAgZm9yIDMyYml0IHByb2Nlc3Nlcy4KLVRvIGNvbnRyb2wgdGhlIHN0YWNrIHRvbyB1c2Ugbm9leGVjPW9mZgotCi1vbglQUk9UX1JFQUQgZG9lcyBub3QgaW1wbHkgUFJPVF9FWEVDIGZvciAzMmJpdCBwcm9jZXNzZXMgKGRlZmF1bHQpCi1vZmYJUFJPVF9SRUFEIGltcGxpZXMgUFJPVF9FWEVDCi0qLwotc3RhdGljIGludCBfX2luaXQgbm9ueDMyX3NldHVwKGNoYXIgKnN0cikKLXsKLQlpZiAoIXN0cmNtcChzdHIsICJvbiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyICY9IH5SRUFEX0lNUExJRVNfRVhFQzsKLQllbHNlIGlmICghc3RyY21wKHN0ciwgIm9mZiIpKQotCQlmb3JjZV9wZXJzb25hbGl0eTMyIHw9IFJFQURfSU1QTElFU19FWEVDOwotCXJldHVybiAxOwotfQotX19zZXR1cCgibm9leGVjMzI9Iiwgbm9ueDMyX3NldHVwKTsKLQotdm9pZCBwZGFfaW5pdChpbnQgY3B1KQoteyAKLQlzdHJ1Y3QgeDg2NjRfcGRhICpwZGEgPSBjcHVfcGRhKGNwdSk7Ci0KLQkvKiBTZXR1cCB1cCBkYXRhIHRoYXQgbWF5IGJlIG5lZWRlZCBpbiBfX2dldF9mcmVlX3BhZ2VzIGVhcmx5ICovCi0JYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnMgOyBtb3ZsICUwLCUlZ3MiIDo6ICJyIiAoMCkpOyAKLQkvKiBNZW1vcnkgY2xvYmJlcnMgdXNlZCB0byBvcmRlciBQREEgYWNjZXNzZWQgKi8KLQltYigpOwotCXdybXNybChNU1JfR1NfQkFTRSwgcGRhKTsKLQltYigpOwotCi0JcGRhLT5jcHVudW1iZXIgPSBjcHU7IAotCXBkYS0+aXJxY291bnQgPSAtMTsKLQlwZGEtPmtlcm5lbHN0YWNrID0gCi0JCSh1bnNpZ25lZCBsb25nKXN0YWNrX3RocmVhZF9pbmZvKCkgLSBQREFfU1RBQ0tPRkZTRVQgKyBUSFJFQURfU0laRTsgCi0JcGRhLT5hY3RpdmVfbW0gPSAmaW5pdF9tbTsKLQlwZGEtPm1tdV9zdGF0ZSA9IDA7Ci0KLQlpZiAoY3B1ID09IDApIHsKLQkJLyogb3RoZXJzIGFyZSBpbml0aWFsaXplZCBpbiBzbXBib290LmMgKi8KLQkJcGRhLT5wY3VycmVudCA9ICZpbml0X3Rhc2s7Ci0JCXBkYS0+aXJxc3RhY2twdHIgPSBib290X2NwdV9zdGFjazsgCi0JfSBlbHNlIHsKLQkJcGRhLT5pcnFzdGFja3B0ciA9IChjaGFyICopCi0JCQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9BVE9NSUMsIElSUVNUQUNLX09SREVSKTsKLQkJaWYgKCFwZGEtPmlycXN0YWNrcHRyKQotCQkJcGFuaWMoImNhbm5vdCBhbGxvY2F0ZSBpcnFzdGFjayBmb3IgY3B1ICVkIiwgY3B1KTsgCi0JfQotCi0KLQlwZGEtPmlycXN0YWNrcHRyICs9IElSUVNUQUNLU0laRS02NDsKLX0gCi0KLWNoYXIgYm9vdF9leGNlcHRpb25fc3RhY2tzWyhOX0VYQ0VQVElPTl9TVEFDS1MgLSAxKSAqIEVYQ0VQVElPTl9TVEtTWiArIERFQlVHX1NUS1NaXQotX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOwotCi1leHRlcm4gYXNtbGlua2FnZSB2b2lkIGlnbm9yZV9zeXNyZXQodm9pZCk7Ci0KLS8qIE1heSBub3QgYmUgbWFya2VkIF9faW5pdDogdXNlZCBieSBzb2Z0d2FyZSBzdXNwZW5kICovCi12b2lkIHN5c2NhbGxfaW5pdCh2b2lkKQotewotCS8qIAotCSAqIExTVEFSIGFuZCBTVEFSIGxpdmUgaW4gYSBiaXQgc3RyYW5nZSBzeW1iaW9zaXMuCi0JICogVGhleSBib3RoIHdyaXRlIHRvIHRoZSBzYW1lIGludGVybmFsIHJlZ2lzdGVyLiBTVEFSIGFsbG93cyB0byBzZXQgQ1MvRFMKLQkgKiBidXQgb25seSBhIDMyYml0IHRhcmdldC4gTFNUQVIgc2V0cyB0aGUgNjRiaXQgcmlwLiAJIAotCSAqLyAKLQl3cm1zcmwoTVNSX1NUQVIsICAoKHU2NClfX1VTRVIzMl9DUyk8PDQ4ICB8ICgodTY0KV9fS0VSTkVMX0NTKTw8MzIpOyAKLQl3cm1zcmwoTVNSX0xTVEFSLCBzeXN0ZW1fY2FsbCk7IAotCXdybXNybChNU1JfQ1NUQVIsIGlnbm9yZV9zeXNyZXQpOwotCi0jaWZkZWYgQ09ORklHX0lBMzJfRU1VTEFUSU9OICAgCQkKLQlzeXNjYWxsMzJfY3B1X2luaXQgKCk7Ci0jZW5kaWYKLQotCS8qIEZsYWdzIHRvIGNsZWFyIG9uIHN5c2NhbGwgKi8KLQl3cm1zcmwoTVNSX1NZU0NBTExfTUFTSywKLQkgICAgICAgWDg2X0VGTEFHU19URnxYODZfRUZMQUdTX0RGfFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19JT1BMKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgY2hlY2tfZWZlcih2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZWZlcjsKLQotCXJkbXNybChNU1JfRUZFUiwgZWZlcik7IAotICAgICAgICBpZiAoIShlZmVyICYgRUZFUl9OWCkgfHwgZG9fbm90X254KSB7IAotICAgICAgICAgICAgICAgIF9fc3VwcG9ydGVkX3B0ZV9tYXNrICY9IH5fUEFHRV9OWDsgCi0gICAgICAgIH0gICAgICAgCi19Ci0KLXVuc2lnbmVkIGxvbmcga2VybmVsX2VmbGFnczsKLQotLyoKLSAqIENvcGllcyBvZiB0aGUgb3JpZ2luYWwgaXN0IHZhbHVlcyBmcm9tIHRoZSB0c3MgYXJlIG9ubHkgYWNjZXNzZWQgZHVyaW5nCi0gKiBkZWJ1Z2dpbmcsIG5vIHNwZWNpYWwgYWxpZ25tZW50IHJlcXVpcmVkLgotICovCi1ERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgb3JpZ19pc3QsIG9yaWdfaXN0KTsKLQotLyoKLSAqIGNwdV9pbml0KCkgaW5pdGlhbGl6ZXMgc3RhdGUgdGhhdCBpcyBwZXItQ1BVLiBTb21lIGRhdGEgaXMgYWxyZWFkeQotICogaW5pdGlhbGl6ZWQgKG5hdHVyYWxseSkgaW4gdGhlIGJvb3RzdHJhcCBwcm9jZXNzLCBzdWNoIGFzIHRoZSBHRFQKLSAqIGFuZCBJRFQuIFdlIHJlbG9hZCB0aGVtIG5ldmVydGhlbGVzcywgdGhpcyBmdW5jdGlvbiBhY3RzIGFzIGEKLSAqICdDUFUgc3RhdGUgYmFycmllcicsIG5vdGhpbmcgc2hvdWxkIGdldCBhY3Jvc3MuCi0gKiBBIGxvdCBvZiBzdGF0ZSBpcyBhbHJlYWR5IHNldCB1cCBpbiBQREEgaW5pdC4KLSAqLwotdm9pZCBfX2NwdWluaXQgY3B1X2luaXQgKHZvaWQpCi17Ci0JaW50IGNwdSA9IHN0YWNrX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQlzdHJ1Y3QgdHNzX3N0cnVjdCAqdCA9ICZwZXJfY3B1KGluaXRfdHNzLCBjcHUpOwotCXN0cnVjdCBvcmlnX2lzdCAqb3JpZ19pc3QgPSAmcGVyX2NwdShvcmlnX2lzdCwgY3B1KTsKLQl1bnNpZ25lZCBsb25nIHY7IAotCWNoYXIgKmVzdGFja3MgPSBOVUxMOyAKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm1lOwotCWludCBpOwotCi0JLyogQ1BVIDAgaXMgaW5pdGlhbGlzZWQgaW4gaGVhZDY0LmMgKi8KLQlpZiAoY3B1ICE9IDApIHsKLQkJcGRhX2luaXQoY3B1KTsKLQl9IGVsc2UgCi0JCWVzdGFja3MgPSBib290X2V4Y2VwdGlvbl9zdGFja3M7IAotCi0JbWUgPSBjdXJyZW50OwotCi0JaWYgKGNwdV90ZXN0X2FuZF9zZXQoY3B1LCBjcHVfaW5pdGlhbGl6ZWQpKQotCQlwYW5pYygiQ1BVIyVkIGFscmVhZHkgaW5pdGlhbGl6ZWQhXG4iLCBjcHUpOwotCi0JcHJpbnRrKCJJbml0aWFsaXppbmcgQ1BVIyVkXG4iLCBjcHUpOwotCi0JY2xlYXJfaW5fY3I0KFg4Nl9DUjRfVk1FfFg4Nl9DUjRfUFZJfFg4Nl9DUjRfVFNEfFg4Nl9DUjRfREUpOwotCi0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBwZXItQ1BVIEdEVCB3aXRoIHRoZSBib290IEdEVCwKLQkgKiBhbmQgc2V0IHVwIHRoZSBHRFQgZGVzY3JpcHRvcjoKLQkgKi8KLQlpZiAoY3B1KQotCQltZW1jcHkoZ2V0X2NwdV9nZHRfdGFibGUoY3B1KSwgY3B1X2dkdF90YWJsZSwgR0RUX1NJWkUpOwotCi0JY3B1X2dkdF9kZXNjcltjcHVdLnNpemUgPSBHRFRfU0laRTsKLQlsb2FkX2dkdCgoY29uc3Qgc3RydWN0IGRlc2NfcHRyICopJmNwdV9nZHRfZGVzY3JbY3B1XSk7Ci0JbG9hZF9pZHQoKGNvbnN0IHN0cnVjdCBkZXNjX3B0ciAqKSZpZHRfZGVzY3IpOwotCi0JbWVtc2V0KG1lLT50aHJlYWQudGxzX2FycmF5LCAwLCBHRFRfRU5UUllfVExTX0VOVFJJRVMgKiA4KTsKLQlzeXNjYWxsX2luaXQoKTsKLQotCXdybXNybChNU1JfRlNfQkFTRSwgMCk7Ci0Jd3Jtc3JsKE1TUl9LRVJORUxfR1NfQkFTRSwgMCk7Ci0JYmFycmllcigpOyAKLQotCWNoZWNrX2VmZXIoKTsKLQotCS8qCi0JICogc2V0IHVwIGFuZCBsb2FkIHRoZSBwZXItQ1BVIFRTUwotCSAqLwotCWZvciAodiA9IDA7IHYgPCBOX0VYQ0VQVElPTl9TVEFDS1M7IHYrKykgewotCQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG9yZGVyW05fRVhDRVBUSU9OX1NUQUNLU10gPSB7Ci0JCQlbMCAuLi4gTl9FWENFUFRJT05fU1RBQ0tTIC0gMV0gPSBFWENFUFRJT05fU1RBQ0tfT1JERVIsCi0JCQlbREVCVUdfU1RBQ0sgLSAxXSA9IERFQlVHX1NUQUNLX09SREVSCi0JCX07Ci0JCWlmIChjcHUpIHsKLQkJCWVzdGFja3MgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0FUT01JQywgb3JkZXJbdl0pOwotCQkJaWYgKCFlc3RhY2tzKQotCQkJCXBhbmljKCJDYW5ub3QgYWxsb2NhdGUgZXhjZXB0aW9uIHN0YWNrICVsZCAlZFxuIiwKLQkJCQkgICAgICB2LCBjcHUpOyAKLQkJfQotCQllc3RhY2tzICs9IFBBR0VfU0laRSA8PCBvcmRlclt2XTsKLQkJb3JpZ19pc3QtPmlzdFt2XSA9IHQtPng4Nl90c3MuaXN0W3ZdID0gKHVuc2lnbmVkIGxvbmcpZXN0YWNrczsKLQl9Ci0KLQl0LT54ODZfdHNzLmlvX2JpdG1hcF9iYXNlID0gb2Zmc2V0b2Yoc3RydWN0IHRzc19zdHJ1Y3QsIGlvX2JpdG1hcCk7Ci0JLyoKLQkgKiA8PSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBDUFUgd2lsbCBhY2Nlc3MgdXAgdG8KLQkgKiA4IGJpdHMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIElPIHBlcm1pc3Npb24gYml0bWFwLgotCSAqLwotCWZvciAoaSA9IDA7IGkgPD0gSU9fQklUTUFQX0xPTkdTOyBpKyspCi0JCXQtPmlvX2JpdG1hcFtpXSA9IH4wVUw7Ci0KLQlhdG9taWNfaW5jKCZpbml0X21tLm1tX2NvdW50KTsKLQltZS0+YWN0aXZlX21tID0gJmluaXRfbW07Ci0JaWYgKG1lLT5tbSkKLQkJQlVHKCk7Ci0JZW50ZXJfbGF6eV90bGIoJmluaXRfbW0sIG1lKTsKLQotCXNldF90c3NfZGVzYyhjcHUsIHQpOwotCWxvYWRfVFJfZGVzYygpOwotCWxvYWRfTERUKCZpbml0X21tLmNvbnRleHQpOwotCi0jaWZkZWYgQ09ORklHX0tHREIKLQkvKgotCSAqIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAgVGhpcwotCSAqIGlzIG9ubHkgYXBwbGljYWJsZSB3aGVuIEtHREIgYW5kIGEgS0dEQiBJL08gbW9kdWxlIGFyZSBidWlsdAotCSAqIGludG8gdGhlIGtlcm5lbCBhbmQgeW91IGFyZSB1c2luZyBlYXJseSBkZWJ1Z2dpbmcgd2l0aAotCSAqIGtnZGJ3YWl0LiBLR0RCIHdpbGwgY29udHJvbCB0aGUga2VybmVsIEhXIGJyZWFrcG9pbnQgcmVnaXN0ZXJzLgotCSAqLwotCWlmIChrZ2RiX2Nvbm5lY3RlZCAmJiBhcmNoX2tnZGJfb3BzLmNvcnJlY3RfaHdfYnJlYWspCi0JCWFyY2hfa2dkYl9vcHMuY29ycmVjdF9od19icmVhaygpOwotCWVsc2UgewotI2VuZGlmCi0JLyoKLQkgKiBDbGVhciBhbGwgNiBkZWJ1ZyByZWdpc3RlcnM6Ci0JICovCi0KLQlzZXRfZGVidWdyZWcoMFVMLCAwKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAxKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAyKTsKLQlzZXRfZGVidWdyZWcoMFVMLCAzKTsKLQlzZXRfZGVidWdyZWcoMFVMLCA2KTsKLQlzZXRfZGVidWdyZWcoMFVMLCA3KTsKLSNpZmRlZiBDT05GSUdfS0dEQgotCS8qIElmIHRoZSBrZ2RiIGlzIGNvbm5lY3RlZCBubyBkZWJ1ZyByZWdzIHNob3VsZCBiZSBhbHRlcmVkLiAqLwotCX0KLSNlbmRpZgotCi0JZnB1X2luaXQoKTsgCi0KLQlyYXdfbG9jYWxfc2F2ZV9mbGFncyhrZXJuZWxfZWZsYWdzKTsKLQotCWlmIChpc191dl9zeXN0ZW0oKSkKLQkJdXZfY3B1X2luaXQoKTsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF8zMi5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMmY4ZTAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NldHVwXzMyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw5NjQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKgotICogIFN1cHBvcnQgb2YgQklHTUVNIGFkZGVkIGJ5IEdlcmhhcmQgV2ljaGVydCwgU2llbWVucyBBRywgSnVseSAxOTk5Ci0gKgotICogIE1lbW9yeSByZWdpb24gc3VwcG9ydAotICoJRGF2aWQgUGFyc29ucyA8b3JjQHBlbGwuY2hpLmlsLnVzPiwgSnVseS1BdWd1c3QgMTk5OQotICoKLSAqICBBZGRlZCBFODIwIHNhbml0aXphdGlvbiByb3V0aW5lIChyZW1vdmVzIG92ZXJsYXBwaW5nIG1lbW9yeSByZWdpb25zKTsKLSAqICBCcmlhbiBNb3lsZSA8Ym1veWxlQG12aXN0YS5jb20+LCBGZWJydWFyeSAyMDAxCi0gKgotICogTW92ZWQgQ1BVIGRldGVjdGlvbiBjb2RlIHRvIGNwdS8ke2NwdX0uYwotICogICAgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4sIE1hcmNoIDIwMDIKLSAqCi0gKiAgUHJvdmlzaW9ucyBmb3IgZW1wdHkgRTgyMCBtZW1vcnkgcmVnaW9ucyAocmVwb3J0ZWQgYnkgY2VydGFpbiBCSU9TZXMpLgotICogIEFsZXggQWNoZW5iYWNoIDx4ZWxhQHNsaXQuZGU+LCBEZWNlbWJlciAyMDAyLgotICoKLSAqLwotCi0vKgotICogVGhpcyBmaWxlIGhhbmRsZXMgdGhlIGFyY2hpdGVjdHVyZS1kZXBlbmRlbnQgcGFydHMgb2YgaW5pdGlhbGl6YXRpb24KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L21tem9uZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NjcmVlbl9pbmZvLmg+Ci0jaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+Ci0jaW5jbHVkZSA8bGludXgvYWNwaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FwbV9iaW9zLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdHJkLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgotI2luY2x1ZGUgPGxpbnV4L21jYS5oPgotI2luY2x1ZGUgPGxpbnV4L3Jvb3RfZGV2Lmg+Ci0jaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9lZGQuaD4KLSNpbmNsdWRlIDxsaW51eC9pc2NzaV9pYmZ0Lmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2R1bXAuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9wZm4uaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tem9uZS5oPgotI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0jaW5jbHVkZSA8YXNtL2lvX2FwaWMuaD4KLSNpbmNsdWRlIDxhc20vaXN0Lmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3ZtaS5oPgotI2luY2x1ZGUgPHNldHVwX2FyY2guaD4KLSNpbmNsdWRlIDxhc20vYmlvc19lYmRhLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0KLS8qIFRoaXMgdmFsdWUgaXMgc2V0IHVwIGJ5IHRoZSBlYXJseSBib290IGNvZGUgdG8gcG9pbnQgdG8gdGhlIHZhbHVlCi0gICBpbW1lZGlhdGVseSBhZnRlciB0aGUgYm9vdCB0aW1lIHBhZ2UgdGFibGVzLiAgSXQgY29udGFpbnMgYSAqcGh5c2ljYWwqCi0gICBhZGRyZXNzLCBhbmQgbXVzdCBub3QgYmUgaW4gdGhlIC5ic3Mgc2VnbWVudCEgKi8KLXVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfZW5kIF9faW5pdGRhdGEgPSB+MFVMOwotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0CT0gMCwKLQkuZW5kCT0gMCwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBjb2RlX3Jlc291cmNlID0gewotCS5uYW1lCT0gIktlcm5lbCBjb2RlIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIGJzc19yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJLZXJuZWwgYnNzIiwKLQkuc3RhcnQJPSAwLAotCS5lbmQJPSAwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfTUVNCi19OwotCi1zdGF0aWMgc3RydWN0IHJlc291cmNlIHZpZGVvX3JhbV9yZXNvdXJjZSA9IHsKLQkubmFtZQk9ICJWaWRlbyBSQU0gYXJlYSIsCi0JLnN0YXJ0CT0gMHhhMDAwMCwKLQkuZW5kCT0gMHhiZmZmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX01FTQotfTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsgewotCS5uYW1lCT0gImRtYTEiLAotCS5zdGFydAk9IDB4MDAwMCwKLQkuZW5kCT0gMHgwMDFmLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJwaWMxIiwKLQkuc3RhcnQJPSAweDAwMjAsCi0JLmVuZAk9IDB4MDAyMSwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjAiLAotCS5zdGFydAk9IDB4MDA0MCwKLQkuZW5kICAgID0gMHgwMDQzLAotCS5mbGFncyAgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUgICA9ICJ0aW1lcjEiLAotCS5zdGFydCAgPSAweDAwNTAsCi0JLmVuZCAgICA9IDB4MDA1MywKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAia2V5Ym9hcmQiLAotCS5zdGFydAk9IDB4MDA2MCwKLQkuZW5kCT0gMHgwMDYwLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJrZXlib2FyZCIsCi0JLnN0YXJ0CT0gMHgwMDY0LAotCS5lbmQJPSAweDAwNjQsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gImRtYSBwYWdlIHJlZyIsCi0JLnN0YXJ0CT0gMHgwMDgwLAotCS5lbmQJPSAweDAwOGYsCi0JLmZsYWdzCT0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTwotfSwgewotCS5uYW1lCT0gInBpYzIiLAotCS5zdGFydAk9IDB4MDBhMCwKLQkuZW5kCT0gMHgwMGExLAotCS5mbGFncwk9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8KLX0sIHsKLQkubmFtZQk9ICJkbWEyIiwKLQkuc3RhcnQJPSAweDAwYzAsCi0JLmVuZAk9IDB4MDBkZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19LCB7Ci0JLm5hbWUJPSAiZnB1IiwKLQkuc3RhcnQJPSAweDAwZjAsCi0JLmVuZAk9IDB4MDBmZiwKLQkuZmxhZ3MJPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPCi19IH07Ci0KLS8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBhc3NlbWJseSBjb2RlIGluIGhlYWQuUyAqLwotc3RydWN0IGNwdWluZm9feDg2IG5ld19jcHVfZGF0YSBfX2NwdWluaXRkYXRhID0geyAwLCAwLCAwLCAwLCAtMSwgMSwgMCwgMCwgLTEgfTsKLS8qIGNvbW1vbiBjcHUgZGF0YSBmb3IgYWxsIGNwdXMgKi8KLXN0cnVjdCBjcHVpbmZvX3g4NiBib290X2NwdV9kYXRhIF9fcmVhZF9tb3N0bHkgPSB7IDAsIDAsIDAsIDAsIC0xLCAxLCAwLCAwLCAtMSB9OwotRVhQT1JUX1NZTUJPTChib290X2NwdV9kYXRhKTsKLQotdW5zaWduZWQgaW50IGRlZl90b19iaWdzbXA7Ci0KLSNpZm5kZWYgQ09ORklHX1g4Nl9QQUUKLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLSNlbHNlCi11bnNpZ25lZCBsb25nIG1tdV9jcjRfZmVhdHVyZXMgPSBYODZfQ1I0X1BBRTsKLSNlbmRpZgotCi0vKiBmb3IgTUNBLCBidXQgYW55b25lIGVsc2UgY2FuIHVzZSBpdCBpZiB0aGV5IHdhbnQgKi8KLXVuc2lnbmVkIGludCBtYWNoaW5lX2lkOwotdW5zaWduZWQgaW50IG1hY2hpbmVfc3VibW9kZWxfaWQ7Ci11bnNpZ25lZCBpbnQgQklPU19yZXZpc2lvbjsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLS8qIHVzZXItZGVmaW5lZCBoaWdobWVtIHNpemUgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgaGlnaG1lbV9wYWdlcyA9IC0xOwotCi0vKgotICogU2V0dXAgb3B0aW9ucwotICovCi1zdHJ1Y3Qgc2NyZWVuX2luZm8gc2NyZWVuX2luZm87Ci1FWFBPUlRfU1lNQk9MKHNjcmVlbl9pbmZvKTsKLXN0cnVjdCBhcG1faW5mbyBhcG1faW5mbzsKLUVYUE9SVF9TWU1CT0woYXBtX2luZm8pOwotc3RydWN0IGVkaWRfaW5mbyBlZGlkX2luZm87Ci1FWFBPUlRfU1lNQk9MX0dQTChlZGlkX2luZm8pOwotc3RydWN0IGlzdF9pbmZvIGlzdF9pbmZvOwotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9TUEVFRFNURVBfU01JKSB8fCBcCi0JZGVmaW5lZChDT05GSUdfWDg2X1NQRUVEU1RFUF9TTUlfTU9EVUxFKQotRVhQT1JUX1NZTUJPTChpc3RfaW5mbyk7Ci0jZW5kaWYKLQotZXh0ZXJuIHZvaWQgZWFybHlfY3B1X2luaXQodm9pZCk7Ci1leHRlcm4gaW50IHJvb3RfbW91bnRmbGFnczsKLQotdW5zaWduZWQgbG9uZyBzYXZlZF92aWRlb19tb2RlOwotCi0jZGVmaW5lIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSwkweDA3RkYKLSNkZWZpbmUgUkFNRElTS19QUk9NUFRfRkxBRwkJMHg4MDAwCi0jZGVmaW5lIFJBTURJU0tfTE9BRF9GTEFHCQkweDQwMDAKLQotc3RhdGljIGNoYXIgX19pbml0ZGF0YSBjb21tYW5kX2xpbmVbQ09NTUFORF9MSU5FX1NJWkVdOwotCi0jaWZuZGVmIENPTkZJR19ERUJVR19CT09UX1BBUkFNUwotc3RydWN0IGJvb3RfcGFyYW1zIF9faW5pdGRhdGEgYm9vdF9wYXJhbXM7Ci0jZWxzZQotc3RydWN0IGJvb3RfcGFyYW1zIGJvb3RfcGFyYW1zOwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotaW50IF9faW5pdGRhdGEgdXNlcl9kZWZpbmVkX21lbW1hcDsKLQotLyoKLSAqICJtZW09bm9wZW50aXVtIiBkaXNhYmxlcyB0aGUgNE1CIHBhZ2UgdGFibGVzLgotICogIm1lbT1YWFhba0ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20gSElHSF9NRU0KLSAqIHRvIDxtZW0+LCBvdmVycmlkaW5nIHRoZSBiaW9zIHNpemUuCi0gKiAibWVtbWFwPVhYWFtLa21NXUBYWFhbS2ttTV0iIGRlZmluZXMgYSBtZW1vcnkgcmVnaW9uIGZyb20KLSAqIDxzdGFydD4gdG8gPHN0YXJ0Pis8bWVtPiwgb3ZlcnJpZGluZyB0aGUgYmlvcyBzaXplLgotICoKLSAqIEhQQSB0ZWxscyBtZSBib290bG9hZGVycyBuZWVkIHRvIHBhcnNlIG1lbT0sIHNvIG5vIG5ldwotICogb3B0aW9uIHNob3VsZCBiZSBtZW09ICBbYWxzbyBzZWUgRG9jdW1lbnRhdGlvbi9pMzg2L2Jvb3QudHh0XQotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9tZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmIChzdHJjbXAoYXJnLCAibm9wZW50aXVtIikgPT0gMCkgewotCQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1BTRSk7Ci0JfSBlbHNlIHsKLQkJLyogSWYgdGhlIHVzZXIgc3BlY2lmaWVzIG1lbW9yeSBzaXplLCB3ZQotCQkgKiBsaW1pdCB0aGUgQklPUy1wcm92aWRlZCBtZW1vcnkgbWFwIHRvCi0JCSAqIHRoYXQgc2l6ZS4gZXhhY3RtYXAgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeQotCQkgKiB0aGUgZXhhY3QgbWFwLiBtZW09bnVtYmVyIGNhbiBiZSB1c2VkIHRvCi0JCSAqIHRyaW0gdGhlIGV4aXN0aW5nIG1lbW9yeSBtYXAuCi0JCSAqLwotCQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtX3NpemU7Ci0KLQkJbWVtX3NpemUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCQlsaW1pdF9yZWdpb25zKG1lbV9zaXplKTsKLQkJdXNlcl9kZWZpbmVkX21lbW1hcCA9IDE7Ci0JfQotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oIm1lbSIsIHBhcnNlX21lbSk7Ci0KLSNpZmRlZiBDT05GSUdfUFJPQ19WTUNPUkUKLS8qIGVsZmNvcmVoZHI9IHNwZWNpZmllcyB0aGUgbG9jYXRpb24gb2YgZWxmIGNvcmUgaGVhZGVyCi0gKiBzdG9yZWQgYnkgdGhlIGNyYXNoZWQga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBwYXJzZV9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQlpZiAoIWFyZykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQllbGZjb3JlaGRyX2FkZHIgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBwYXJzZV9lbGZjb3JlaGRyKTsKLSNlbmRpZiAvKiBDT05GSUdfUFJPQ19WTUNPUkUgKi8KLQotLyoKLSAqIGhpZ2htZW09c2l6ZSBmb3JjZXMgaGlnaG1lbSB0byBiZSBleGFjdGx5ICdzaXplJyBieXRlcy4KLSAqIFRoaXMgd29ya3MgZXZlbiBvbiBib3hlcyB0aGF0IGhhdmUgbm8gaGlnaG1lbSBvdGhlcndpc2UuCi0gKiBUaGlzIGFsc28gd29ya3MgdG8gcmVkdWNlIGhpZ2htZW0gc2l6ZSBvbiBiaWdnZXIgYm94ZXMuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2hpZ2htZW0oY2hhciAqYXJnKQotewotCWlmICghYXJnKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWhpZ2htZW1fcGFnZXMgPSBtZW1wYXJzZShhcmcsICZhcmcpID4+IFBBR0VfU0hJRlQ7Ci0JcmV0dXJuIDA7Ci19Ci1lYXJseV9wYXJhbSgiaGlnaG1lbSIsIHBhcnNlX2hpZ2htZW0pOwotCi0vKgotICogdm1hbGxvYz1zaXplIGZvcmNlcyB0aGUgdm1hbGxvYyBhcmVhIHRvIGJlIGV4YWN0bHkgJ3NpemUnCi0gKiBieXRlcy4gVGhpcyBjYW4gYmUgdXNlZCB0byBpbmNyZWFzZSAob3IgZGVjcmVhc2UpIHRoZQotICogdm1hbGxvYyBhcmVhIC0gdGhlIGRlZmF1bHQgaXMgMTI4bS4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2Vfdm1hbGxvYyhjaGFyICphcmcpCi17Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JX19WTUFMTE9DX1JFU0VSVkUgPSBtZW1wYXJzZShhcmcsICZhcmcpOwotCXJldHVybiAwOwotfQotZWFybHlfcGFyYW0oInZtYWxsb2MiLCBwYXJzZV92bWFsbG9jKTsKLQotLyoKLSAqIHJlc2VydmV0b3A9c2l6ZSByZXNlcnZlcyBhIGhvbGUgYXQgdGhlIHRvcCBvZiB0aGUga2VybmVsIGFkZHJlc3Mgc3BhY2Ugd2hpY2gKLSAqIGEgaHlwZXJ2aXNvciBjYW4gbG9hZCBpbnRvIGxhdGVyLiAgTmVlZGVkIGZvciBkeW5hbWljYWxseSBsb2FkZWQgaHlwZXJ2aXNvcnMsCi0gKiBzbyByZWxvY2F0aW5nIHRoZSBmaXhtYXAgY2FuIGJlIGRvbmUgYmVmb3JlIHBhZ2luZyBpbml0aWFsaXphdGlvbi4KLSAqLwotc3RhdGljIGludCBfX2luaXQgcGFyc2VfcmVzZXJ2ZXRvcChjaGFyICphcmcpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyZXNzOwotCi0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JYWRkcmVzcyA9IG1lbXBhcnNlKGFyZywgJmFyZyk7Ci0JcmVzZXJ2ZV90b3BfYWRkcmVzcyhhZGRyZXNzKTsKLQlyZXR1cm4gMDsKLX0KLWVhcmx5X3BhcmFtKCJyZXNlcnZldG9wIiwgcGFyc2VfcmVzZXJ2ZXRvcCk7Ci0KLS8qCi0gKiBEZXRlcm1pbmUgbG93IGFuZCBoaWdoIG1lbW9yeSByYW5nZXM6Ci0gKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWF4X2xvd19wZm4odm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuOwotCi0JbWF4X2xvd19wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfbG93X3BmbiA+IE1BWE1FTV9QRk4pIHsKLQkJaWYgKGhpZ2htZW1fcGFnZXMgPT0gLTEpCi0JCQloaWdobWVtX3BhZ2VzID0gbWF4X3BmbiAtIE1BWE1FTV9QRk47Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA8IG1heF9wZm4pCi0JCQltYXhfcGZuID0gTUFYTUVNX1BGTiArIGhpZ2htZW1fcGFnZXM7Ci0JCWlmIChoaWdobWVtX3BhZ2VzICsgTUFYTUVNX1BGTiA+IG1heF9wZm4pIHsKLQkJCXByaW50aygib25seSAlbHVNQiBoaWdobWVtIHBhZ2VzIGF2YWlsYWJsZSwgaWdub3JpbmcgaGlnaG1lbSBzaXplIG9mICV1TUIuXG4iLCBwYWdlc190b19tYihtYXhfcGZuIC0gTUFYTUVNX1BGTiksIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCW1heF9sb3dfcGZuID0gTUFYTUVNX1BGTjsKLSNpZm5kZWYgQ09ORklHX0hJR0hNRU0KLQkJLyogTWF4aW11bSBtZW1vcnkgdXNhYmxlIGlzIHdoYXQgaXMgZGlyZWN0bHkgYWRkcmVzc2FibGUgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV2FybmluZyBvbmx5ICVsZE1CIHdpbGwgYmUgdXNlZC5cbiIsCi0JCQkJCU1BWE1FTT4+MjApOwotCQlpZiAobWF4X3BmbiA+IE1BWF9OT05QQUVfUEZOKQotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVXNlIGEgSElHSE1FTTY0RyBlbmFibGVkIGtlcm5lbC5cbiIpOwotCQllbHNlCi0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCW1heF9wZm4gPSBNQVhNRU1fUEZOOwotI2Vsc2UgLyogIUNPTkZJR19ISUdITUVNICovCi0jaWZuZGVmIENPTkZJR19ISUdITUVNNjRHCi0JCWlmIChtYXhfcGZuID4gTUFYX05PTlBBRV9QRk4pIHsKLQkJCW1heF9wZm4gPSBNQVhfTk9OUEFFX1BGTjsKLQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIldhcm5pbmcgb25seSA0R0Igd2lsbCBiZSB1c2VkLlxuIik7Ci0JCQlwcmludGsoS0VSTl9XQVJOSU5HICJVc2UgYSBISUdITUVNNjRHIGVuYWJsZWQga2VybmVsLlxuIik7Ci0JCX0KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU02NEcgKi8KLSNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU0gKi8KLQl9IGVsc2UgewotCQlpZiAoaGlnaG1lbV9wYWdlcyA9PSAtMSkKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotI2lmZGVmIENPTkZJR19ISUdITUVNCi0JCWlmIChoaWdobWVtX3BhZ2VzID49IG1heF9wZm4pIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplIHNwZWNpZmllZCAoJXVNQikgaXMgYmlnZ2VyIHRoYW4gcGFnZXMgYXZhaWxhYmxlICglbHVNQikhLlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcyksIHBhZ2VzX3RvX21iKG1heF9wZm4pKTsKLQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQl9Ci0JCWlmIChoaWdobWVtX3BhZ2VzKSB7Ci0JCQlpZiAobWF4X2xvd19wZm4taGlnaG1lbV9wYWdlcyA8IDY0KjEwMjQqMTAyNC9QQUdFX1NJWkUpewotCQkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplICV1TUIgcmVzdWx0cyBpbiBzbWFsbGVyIHRoYW4gNjRNQiBsb3dtZW0sIGlnbm9yaW5nIGl0LlxuIiwgcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOwotCQkJCWhpZ2htZW1fcGFnZXMgPSAwOwotCQkJfQotCQkJbWF4X2xvd19wZm4gLT0gaGlnaG1lbV9wYWdlczsKLQkJfQotI2Vsc2UKLQkJaWYgKGhpZ2htZW1fcGFnZXMpCi0JCQlwcmludGsoS0VSTl9FUlIgImlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvbiBub24taGlnaG1lbSBrZXJuZWwhXG4iKTsKLSNlbmRpZgotCX0KLQlyZXR1cm4gbWF4X2xvd19wZm47Ci19Ci0KLSNkZWZpbmUgQklPU19MT1dNRU1fS0lMT0JZVEVTIDB4NDEzCi0KLS8qCi0gKiBUaGUgQklPUyBwbGFjZXMgdGhlIEVCREEvWEJEQSBhdCB0aGUgdG9wIG9mIGNvbnZlbnRpb25hbAotICogbWVtb3J5LCBhbmQgdXN1YWxseSBkZWNyZWFzZXMgdGhlIHJlcG9ydGVkIGFtb3VudCBvZgotICogY29udmVudGlvbmFsIG1lbW9yeSAoaW50IDB4MTIpIHRvby4gVGhpcyBhbHNvIGNvbnRhaW5zIGEKLSAqIHdvcmthcm91bmQgZm9yIERlbGwgc3lzdGVtcyB0aGF0IG5lZ2xlY3QgdG8gcmVzZXJ2ZSBFQkRBLgotICogVGhlIHNhbWUgd29ya2Fyb3VuZCBhbHNvIGF2b2lkcyBhIHByb2JsZW0gd2l0aCB0aGUgQU1ENzY4TVBYCi0gKiBjaGlwc2V0OiByZXNlcnZlIGEgcGFnZSBiZWZvcmUgVkdBIHRvIHByZXZlbnQgUENJIHByZWZldGNoCi0gKiBpbnRvIGl0IChlcnJhdGEgIzU2KS4gVXN1YWxseSB0aGUgcGFnZSBpcyByZXNlcnZlZCBhbnl3YXlzLAotICogdW5sZXNzIHlvdSBoYXZlIG5vIFBTLzIgbW91c2UgcGx1Z2dlZCBpbi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCkKLXsKLQl1bnNpZ25lZCBpbnQgbG93bWVtLCBlYmRhX2FkZHI7Ci0KLQkvKiBUbyBkZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBFQkRBIGFuZCB0aGUgKi8KLQkvKiBlbmQgb2YgY29udmVudGlvbmFsIG1lbW9yeSwgd2UgbmVlZCB0byBsb29rIGF0ICovCi0JLyogdGhlIEJJT1MgZGF0YSBhcmVhLiBJbiBhIHBhcmF2aXJ0dWFsIGVudmlyb25tZW50ICovCi0JLyogdGhhdCBhcmVhIGlzIGFic2VudC4gV2UnbGwganVzdCBoYXZlIHRvIGFzc3VtZSAqLwotCS8qIHRoYXQgdGhlIHBhcmF2aXJ0IGNhc2UgY2FuIGhhbmRsZSBtZW1vcnkgc2V0dXAgKi8KLQkvKiBjb3JyZWN0bHksIHdpdGhvdXQgb3VyIGhlbHAuICovCi0JaWYgKHBhcmF2aXJ0X2VuYWJsZWQoKSkKLQkJcmV0dXJuOwotCi0JLyogZW5kIG9mIGxvdyAoY29udmVudGlvbmFsKSBtZW1vcnkgKi8KLQlsb3dtZW0gPSAqKHVuc2lnbmVkIHNob3J0ICopX192YShCSU9TX0xPV01FTV9LSUxPQllURVMpOwotCWxvd21lbSA8PD0gMTA7Ci0KLQkvKiBzdGFydCBvZiBFQkRBIGFyZWEgKi8KLQllYmRhX2FkZHIgPSBnZXRfYmlvc19lYmRhKCk7Ci0KLQkvKiBGaXh1cDogYmlvcyBwdXRzIGFuIEVCREEgaW4gdGhlIHRvcCA2NEsgc2VnbWVudCAqLwotCS8qIG9mIGNvbnZlbnRpb25hbCBtZW1vcnksIGJ1dCBkb2VzIG5vdCBhZGp1c3QgbG93bWVtLiAqLwotCWlmICgobG93bWVtIC0gZWJkYV9hZGRyKSA8PSAweDEwMDAwKQotCQlsb3dtZW0gPSBlYmRhX2FkZHI7Ci0KLQkvKiBGaXh1cDogYmlvcyBkb2VzIG5vdCByZXBvcnQgYW4gRUJEQSBhdCBhbGwuICovCi0JLyogU29tZSBvbGQgRGVsbHMgc2VlbSB0byBuZWVkIDRrIGFueWhvdyAoYnVnemlsbGEgMjk5MCkgKi8KLQlpZiAoKGViZGFfYWRkciA9PSAwKSAmJiAobG93bWVtID49IDB4OWYwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogUGFyYW5vaWE6IHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dC4uLiAqLwotCWlmICgobG93bWVtID09IDApIHx8IChsb3dtZW0gPj0gMHgxMDAwMDApKQotCQlsb3dtZW0gPSAweDlmMDAwOwotCi0JLyogcmVzZXJ2ZSBhbGwgbWVtb3J5IGJldHdlZW4gbG93bWVtIGFuZCB0aGUgMU1CIG1hcmsgKi8KLQlyZXNlcnZlX2Jvb3RtZW0obG93bWVtLCAweDEwMDAwMCAtIGxvd21lbSwgQk9PVE1FTV9ERUZBVUxUKTsKLX0KLQotI2lmbmRlZiBDT05GSUdfTkVFRF9NVUxUSVBMRV9OT0RFUwotc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKQotewotCS8qCi0JICogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzCi0JICogd2UgYXJlIHJvdW5kaW5nIHVwd2FyZHM6Ci0JICovCi0JbWluX2xvd19wZm4gPSBQRk5fVVAoaW5pdF9wZ190YWJsZXNfZW5kKTsKLQotCW1heF9sb3dfcGZuID0gZmluZF9tYXhfbG93X3BmbigpOwotCi0jaWZkZWYgQ09ORklHX0hJR0hNRU0KLQloaWdoc3RhcnRfcGZuID0gaGlnaGVuZF9wZm4gPSBtYXhfcGZuOwotCWlmIChtYXhfcGZuID4gbWF4X2xvd19wZm4pIHsKLQkJaGlnaHN0YXJ0X3BmbiA9IG1heF9sb3dfcGZuOwotCX0KLQlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKLQkJcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7Ci0JbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOwotCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2Vsc2UKLQludW1fcGh5c3BhZ2VzID0gbWF4X2xvd19wZm47Ci0JaGlnaF9tZW1vcnkgPSAodm9pZCAqKSBfX3ZhKG1heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0ZMQVRNRU0KLQltYXhfbWFwbnIgPSBudW1fcGh5c3BhZ2VzOwotI2VuZGlmCi0JcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBMT1dNRU0gYXZhaWxhYmxlLlxuIiwKLQkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7Ci0KLQlzZXR1cF9ib290bWVtX2FsbG9jYXRvcigpOwotCi0JcmV0dXJuIG1heF9sb3dfcGZuOwotfQotCi1zdGF0aWMgdm9pZCBfX2luaXQgem9uZV9zaXplc19pbml0KHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107Ci0JbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7Ci0JbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQotCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOwotCWFkZF9hY3RpdmVfcmFuZ2UoMCwgMCwgaGlnaGVuZF9wZm4pOwotI2Vsc2UKLQlhZGRfYWN0aXZlX3JhbmdlKDAsIDAsIG1heF9sb3dfcGZuKTsKLSNlbmRpZgotCi0JZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Ci19Ci0jZWxzZQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIHpvbmVfc2l6ZXNfaW5pdCh2b2lkKTsKLSNlbmRpZiAvKiAhQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMgKi8KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgZ2V0X3RvdGFsX21lbSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbDsKLQotCXRvdGFsID0gbWF4X2xvd19wZm4gLSBtaW5fbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCXRvdGFsICs9IGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbjsKLSNlbmRpZgotCi0JcmV0dXJuIHRvdGFsIDw8IFBBR0VfU0hJRlQ7Ci19Ci0KLSNpZmRlZiBDT05GSUdfS0VYRUMKLXN0YXRpYyB2b2lkIF9faW5pdCByZXNlcnZlX2NyYXNoa2VybmVsKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX21lbTsKLQl1bnNpZ25lZCBsb25nIGxvbmcgY3Jhc2hfc2l6ZSwgY3Jhc2hfYmFzZTsKLQlpbnQgcmV0OwotCi0JdG90YWxfbWVtID0gZ2V0X3RvdGFsX21lbSgpOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUgPiAwKSB7Ci0JCWlmIChjcmFzaF9iYXNlID4gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJCSJmb3IgY3Jhc2hrZXJuZWwgKFN5c3RlbSBSQU06ICVsZE1CKVxuIiwKLQkJCQkJKHVuc2lnbmVkIGxvbmcpKGNyYXNoX3NpemUgPj4gMjApLAotCQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJCSh1bnNpZ25lZCBsb25nKSh0b3RhbF9tZW0gPj4gMjApKTsKLQotCQkJaWYgKHJlc2VydmVfYm9vdG1lbShjcmFzaF9iYXNlLCBjcmFzaF9zaXplLAotCQkJCQlCT09UTUVNX0VYQ0xVU0lWRSkgPCAwKSB7Ci0JCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gIgotCQkJCQkiZmFpbGVkIC0gbWVtb3J5IGlzIGluIHVzZVxuIik7Ci0JCQkJcmV0dXJuOwotCQkJfQotCi0JCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJCWNyYXNoa19yZXMuZW5kICAgPSBjcmFzaF9iYXNlICsgY3Jhc2hfc2l6ZSAtIDE7Ci0JCX0gZWxzZQotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JfQotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2luaXQgcmVzZXJ2ZV9jcmFzaGtlcm5lbCh2b2lkKQote30KLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0KLXN0YXRpYyBib29sIGRvX3JlbG9jYXRlX2luaXRyZCA9IGZhbHNlOwotCi1zdGF0aWMgdm9pZCBfX2luaXQgcmVzZXJ2ZV9pbml0cmQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaW1hZ2UgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19pbWFnZTsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19lbmQgICA9IHJhbWRpc2tfaW1hZ2UgKyByYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQotCWluaXRyZF9zdGFydCA9IDA7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci50eXBlX29mX2xvYWRlciB8fAotCSAgICAhcmFtZGlza19pbWFnZSB8fCAhcmFtZGlza19zaXplKQotCQlyZXR1cm47CQkvKiBObyBpbml0cmQgcHJvdmlkZWQgYnkgYm9vdGxvYWRlciAqLwotCi0JaWYgKHJhbWRpc2tfZW5kIDwgcmFtZGlza19pbWFnZSkgewotCQlwcmludGsoS0VSTl9FUlIgImluaXRyZCB3cmFwcyBhcm91bmQgZW5kIG9mIG1lbW9yeSwgIgotCQkgICAgICAgImRpc2FibGluZyBpbml0cmRcbiIpOwotCQlyZXR1cm47Ci0JfQotCWlmIChyYW1kaXNrX3NpemUgPj0gZW5kX29mX2xvd21lbS8yKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIHRvbyBsYXJnZSB0byBoYW5kbGUsICIKLQkJICAgICAgICJkaXNhYmxpbmcgaW5pdHJkXG4iKTsKLQkJcmV0dXJuOwotCX0KLQlpZiAocmFtZGlza19lbmQgPD0gZW5kX29mX2xvd21lbSkgewotCQkvKiBBbGwgaW4gbG93bWVtLCBlYXN5IGNhc2UgKi8KLQkJcmVzZXJ2ZV9ib290bWVtKHJhbWRpc2tfaW1hZ2UsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQlpbml0cmRfZW5kID0gaW5pdHJkX3N0YXJ0K3JhbWRpc2tfc2l6ZTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIFdlIG5lZWQgdG8gbW92ZSB0aGUgaW5pdHJkIGRvd24gaW50byBsb3dtZW0gKi8KLQlyYW1kaXNrX2hlcmUgPSAoZW5kX29mX2xvd21lbSAtIHJhbWRpc2tfc2l6ZSkgJiBQQUdFX01BU0s7Ci0KLQkvKiBOb3RlOiB0aGlzIGluY2x1ZGVzIGFsbCB0aGUgbG93bWVtIGN1cnJlbnRseSBvY2N1cGllZCBieQotCSAgIHRoZSBpbml0cmQsIHdlIHJlbHkgb24gdGhhdCBmYWN0IHRvIGtlZXAgdGhlIGRhdGEgaW50YWN0LiAqLwotCXJlc2VydmVfYm9vdG1lbShyYW1kaXNrX2hlcmUsIHJhbWRpc2tfc2l6ZSwgQk9PVE1FTV9ERUZBVUxUKTsKLQlpbml0cmRfc3RhcnQgPSByYW1kaXNrX2hlcmUgKyBQQUdFX09GRlNFVDsKLQlpbml0cmRfZW5kICAgPSBpbml0cmRfc3RhcnQgKyByYW1kaXNrX3NpemU7Ci0KLQlkb19yZWxvY2F0ZV9pbml0cmQgPSB0cnVlOwotfQotCi0jZGVmaW5lIE1BWF9NQVBfQ0hVTksJKE5SX0ZJWF9CVE1BUFMgPDwgUEFHRV9TSElGVCkKLQotc3RhdGljIHZvaWQgX19pbml0IHJlbG9jYXRlX2luaXRyZCh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCXVuc2lnbmVkIGxvbmcgcmFtZGlza19zaXplICA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemU7Ci0JdW5zaWduZWQgbG9uZyBlbmRfb2ZfbG93bWVtID0gbWF4X2xvd19wZm4gPDwgUEFHRV9TSElGVDsKLQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfaGVyZTsKLQl1bnNpZ25lZCBsb25nIHNsb3AsIGNsZW4sIG1hcGFkZHI7Ci0JY2hhciAqcCwgKnE7Ci0KLQlpZiAoIWRvX3JlbG9jYXRlX2luaXRyZCkKLQkJcmV0dXJuOwotCi0JcmFtZGlza19oZXJlID0gaW5pdHJkX3N0YXJ0IC0gUEFHRV9PRkZTRVQ7Ci0KLQlxID0gKGNoYXIgKilpbml0cmRfc3RhcnQ7Ci0KLQkvKiBDb3B5IGFueSBsb3dtZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0JaWYgKHJhbWRpc2tfaW1hZ2UgPCBlbmRfb2ZfbG93bWVtKSB7Ci0JCWNsZW4gPSBlbmRfb2ZfbG93bWVtIC0gcmFtZGlza19pbWFnZTsKLQkJcCA9IChjaGFyICopX192YShyYW1kaXNrX2ltYWdlKTsKLQkJbWVtY3B5KHEsIHAsIGNsZW4pOwotCQlxICs9IGNsZW47Ci0JCXJhbWRpc2tfaW1hZ2UgKz0gY2xlbjsKLQkJcmFtZGlza19zaXplICAtPSBjbGVuOwotCX0KLQotCS8qIENvcHkgdGhlIGhpZ2htZW0gcG9ydGlvbiBvZiB0aGUgaW5pdHJkICovCi0Jd2hpbGUgKHJhbWRpc2tfc2l6ZSkgewotCQlzbG9wID0gcmFtZGlza19pbWFnZSAmIH5QQUdFX01BU0s7Ci0JCWNsZW4gPSByYW1kaXNrX3NpemU7Ci0JCWlmIChjbGVuID4gTUFYX01BUF9DSFVOSy1zbG9wKQotCQkJY2xlbiA9IE1BWF9NQVBfQ0hVTkstc2xvcDsKLQkJbWFwYWRkciA9IHJhbWRpc2tfaW1hZ2UgJiBQQUdFX01BU0s7Ci0JCXAgPSBlYXJseV9pb3JlbWFwKG1hcGFkZHIsIGNsZW4rc2xvcCk7Ci0JCW1lbWNweShxLCBwK3Nsb3AsIGNsZW4pOwotCQllYXJseV9pb3VubWFwKHAsIGNsZW4rc2xvcCk7Ci0JCXEgKz0gY2xlbjsKLQkJcmFtZGlza19pbWFnZSArPSBjbGVuOwotCQlyYW1kaXNrX3NpemUgIC09IGNsZW47Ci0JfQotfQotCi0jZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5JVFJEICovCi0KLXZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBib290bWFwX3NpemU7Ci0JLyoKLQkgKiBJbml0aWFsaXplIHRoZSBib290LXRpbWUgYWxsb2NhdG9yICh3aXRoIGxvdyBtZW1vcnkgb25seSk6Ci0JICovCi0JYm9vdG1hcF9zaXplID0gaW5pdF9ib290bWVtKG1pbl9sb3dfcGZuLCBtYXhfbG93X3Bmbik7Ci0KLQlyZWdpc3Rlcl9ib290bWVtX2xvd19wYWdlcyhtYXhfbG93X3Bmbik7Ci0KLQkvKgotCSAqIFJlc2VydmUgdGhlIGJvb3RtZW0gYml0bWFwIGl0c2VsZiBhcyB3ZWxsLiBXZSBkbyB0aGlzIGluIHR3bwotCSAqIHN0ZXBzIChmaXJzdCBzdGVwIHdhcyBpbml0X2Jvb3RtZW0oKSkgYmVjYXVzZSB0aGlzIGNhdGNoZXMKLQkgKiB0aGUgKHZlcnkgdW5saWtlbHkpIGNhc2Ugb2YgdXMgYWNjaWRlbnRhbGx5IGluaXRpYWxpemluZyB0aGUKLQkgKiBib290bWVtIGFsbG9jYXRvciB3aXRoIGFuIGludmFsaWQgUkFNIGFyZWEuCi0JICovCi0JcmVzZXJ2ZV9ib290bWVtKF9fcGFfc3ltYm9sKF90ZXh0KSwgKFBGTl9QSFlTKG1pbl9sb3dfcGZuKSArCi0JCQkgYm9vdG1hcF9zaXplICsgUEFHRV9TSVpFLTEpIC0gX19wYV9zeW1ib2woX3RleHQpLAotCQkJIEJPT1RNRU1fREVGQVVMVCk7Ci0KLQkvKgotCSAqIHJlc2VydmUgcGh5c2ljYWwgcGFnZSAwIC0gaXQncyBhIHNwZWNpYWwgQklPUyBwYWdlIG9uIG1hbnkgYm94ZXMsCi0JICogZW5hYmxpbmcgY2xlYW4gcmVib290cywgU01QIG9wZXJhdGlvbiwgbGFwdG9wIGZ1bmN0aW9ucy4KLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oMCwgUEFHRV9TSVpFLCBCT09UTUVNX0RFRkFVTFQpOwotCi0JLyogcmVzZXJ2ZSBFQkRBIHJlZ2lvbiAqLwotCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLQkvKgotCSAqIEJ1dCBmaXJzdCBwaW5jaCBhIGZldyBmb3IgdGhlIHN0YWNrL3RyYW1wb2xpbmUgc3R1ZmYKLQkgKiBGSVhNRTogRG9uJ3QgbmVlZCB0aGUgZXh0cmEgcGFnZSBhdCA0SywgYnV0IG5lZWQgdG8gZml4Ci0JICogdHJhbXBvbGluZSBiZWZvcmUgcmVtb3ZpbmcgaXQuIChzZWUgdGhlIEdEVCBzdHVmZikKLQkgKi8KLQlyZXNlcnZlX2Jvb3RtZW0oUEFHRV9TSVpFLCBQQUdFX1NJWkUsIEJPT1RNRU1fREVGQVVMVCk7Ci0jZW5kaWYKLSNpZmRlZiBDT05GSUdfQUNQSV9TTEVFUAotCS8qCi0JICogUmVzZXJ2ZSBsb3cgbWVtb3J5IHJlZ2lvbiBmb3Igc2xlZXAgc3VwcG9ydC4KLQkgKi8KLQlhY3BpX3Jlc2VydmVfYm9vdG1lbSgpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX1g4Nl9GSU5EX1NNUF9DT05GSUcKLQkvKgotCSAqIEZpbmQgYW5kIHJlc2VydmUgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWZpbmRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSU5JVFJECi0JcmVzZXJ2ZV9pbml0cmQoKTsKLSNlbmRpZgotCW51bWFfa3ZhX3Jlc2VydmUoKTsKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci19Ci0KLS8qCi0gKiBUaGUgbm9kZSAwIHBnZGF0IGlzIGluaXRpYWxpemVkIGJlZm9yZSBhbGwgb2YgdGhlc2UgYmVjYXVzZQotICogaXQncyBuZWVkZWQgZm9yIGJvb3RtZW0uICBub2RlPjAgcGdkYXRzIGhhdmUgdGhlaXIgdmlydHVhbAotICogc3BhY2UgYWxsb2NhdGVkIGJlZm9yZSB0aGUgcGFnZXRhYmxlcyBhcmUgaW4gcGxhY2UgdG8gYWNjZXNzCi0gKiB0aGVtLCBzbyB0aGV5IGNhbid0IGJlIGNsZWFyZWQgdGhlbi4KLSAqCi0gKiBUaGlzIHNob3VsZCBhbGwgY29tcGlsZSBkb3duIHRvIG5vdGhpbmcgd2hlbiBOVU1BIGlzIG9mZi4KLSAqLwotc3RhdGljIHZvaWQgX19pbml0IHJlbWFwcGVkX3BnZGF0X2luaXQodm9pZCkKLXsKLQlpbnQgbmlkOwotCi0JZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCWlmIChuaWQgIT0gMCkKLQkJCW1lbXNldChOT0RFX0RBVEEobmlkKSwgMCwgc2l6ZW9mKHN0cnVjdCBwZ2xpc3RfZGF0YSkpOwotCX0KLX0KLQotI2lmZGVmIENPTkZJR19NQ0EKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KQotewotCU1DQV9idXMgPSB4OwotfQotI2Vsc2UKLXN0YXRpYyB2b2lkIHNldF9tY2FfYnVzKGludCB4KSB7IH0KLSNlbmRpZgotCi0vKiBPdmVycmlkZGVuIGluIHBhcmF2aXJ0LmMgaWYgQ09ORklHX1BBUkFWSVJUICovCi1jaGFyICogX19pbml0IF9fYXR0cmlidXRlX18oKHdlYWspKSBtZW1vcnlfc2V0dXAodm9pZCkKLXsKLQlyZXR1cm4gbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAoKTsKLX0KLQotI2lmZGVmIENPTkZJR19OVU1BCi0vKgotICogSW4gdGhlIGdvbGRlbiBkYXksIHdoZW4gZXZlcnl0aGluZyBhbW9uZyBpMzg2IGFuZCB4ODZfNjQgd2lsbCBiZQotICogaW50ZWdyYXRlZCwgdGhpcyB3aWxsIG5vdCBsaXZlIGhlcmUKLSAqLwotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19OwotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLSNlbmRpZgotCi0vKgotICogRGV0ZXJtaW5lIGlmIHdlIHdlcmUgbG9hZGVkIGJ5IGFuIEVGSSBsb2FkZXIuICBJZiBzbywgdGhlbiB3ZSBoYXZlIGFsc28gYmVlbgotICogcGFzc2VkIHRoZSBlZmkgbWVtbWFwLCBzeXN0YWIsIGV0Yy4sIHNvIHdlIHNob3VsZCB1c2UgdGhlc2UgZGF0YSBzdHJ1Y3R1cmVzCi0gKiBmb3IgaW5pdGlhbGl6YXRpb24uICBOb3RlLCB0aGUgZWZpIGluaXQgY29kZSBwYXRoIGlzIGRldGVybWluZWQgYnkgdGhlCi0gKiBnbG9iYWwgZWZpX2VuYWJsZWQuIFRoaXMgYWxsb3dzIHRoZSBzYW1lIGtlcm5lbCBpbWFnZSB0byBiZSB1c2VkIG9uIGV4aXN0aW5nCi0gKiBzeXN0ZW1zICh3aXRoIGEgdHJhZGl0aW9uYWwgQklPUykgYXMgd2VsbCBhcyBvbiBFRkkgc3lzdGVtcy4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm47Ci0KLQltZW1jcHkoJmJvb3RfY3B1X2RhdGEsICZuZXdfY3B1X2RhdGEsIHNpemVvZihuZXdfY3B1X2RhdGEpKTsKLQlwcmVfc2V0dXBfYXJjaF9ob29rKCk7Ci0JZWFybHlfY3B1X2luaXQoKTsKLQllYXJseV9pb3JlbWFwX2luaXQoKTsKLQotI2lmZGVmIENPTkZJR19FRkkKLQlpZiAoIXN0cm5jbXAoKGNoYXIgKikmYm9vdF9wYXJhbXMuZWZpX2luZm8uZWZpX2xvYWRlcl9zaWduYXR1cmUsCi0JCSAgICAgIkVMMzIiLCA0KSkKLQkJZWZpX2VuYWJsZWQgPSAxOwotI2VuZGlmCi0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0JYXBtX2luZm8uYmlvcyA9IGJvb3RfcGFyYW1zLmFwbV9iaW9zX2luZm87Ci0JaXN0X2luZm8gPSBib290X3BhcmFtcy5pc3RfaW5mbzsKLQlzYXZlZF92aWRlb19tb2RlID0gYm9vdF9wYXJhbXMuaGRyLnZpZF9tb2RlOwotCWlmKCBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS5sZW5ndGggIT0gMCApIHsKLQkJc2V0X21jYV9idXMoYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbM10gJiAweDIpOwotCQltYWNoaW5lX2lkID0gYm9vdF9wYXJhbXMuc3lzX2Rlc2NfdGFibGUudGFibGVbMF07Ci0JCW1hY2hpbmVfc3VibW9kZWxfaWQgPSBib290X3BhcmFtcy5zeXNfZGVzY190YWJsZS50YWJsZVsxXTsKLQkJQklPU19yZXZpc2lvbiA9IGJvb3RfcGFyYW1zLnN5c19kZXNjX3RhYmxlLnRhYmxlWzJdOwotCX0KLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0JQVJDSF9TRVRVUAotCi0JcHJpbnRrKEtFUk5fSU5GTyAiQklPUy1wcm92aWRlZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JcHJpbnRfbWVtb3J5X21hcChtZW1vcnlfc2V0dXAoKSk7Ci0KLQljb3B5X2VkZCgpOwotCi0JaWYgKCFib290X3BhcmFtcy5oZHIucm9vdF9mbGFncykKLQkJcm9vdF9tb3VudGZsYWdzICY9IH5NU19SRE9OTFk7Ci0JaW5pdF9tbS5zdGFydF9jb2RlID0gKHVuc2lnbmVkIGxvbmcpIF90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgX2V0ZXh0OwotCWluaXRfbW0uZW5kX2RhdGEgPSAodW5zaWduZWQgbG9uZykgX2VkYXRhOwotCWluaXRfbW0uYnJrID0gaW5pdF9wZ190YWJsZXNfZW5kICsgUEFHRV9PRkZTRVQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKF90ZXh0KTsKLQljb2RlX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpLTE7Ci0JZGF0YV9yZXNvdXJjZS5zdGFydCA9IHZpcnRfdG9fcGh5cyhfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKF9lZGF0YSktMTsKLQlic3NfcmVzb3VyY2Uuc3RhcnQgPSB2aXJ0X3RvX3BoeXMoJl9fYnNzX3N0YXJ0KTsKLQlic3NfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfX2Jzc19zdG9wKS0xOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotCWlmICh1c2VyX2RlZmluZWRfbWVtbWFwKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gInVzZXItZGVmaW5lZCBwaHlzaWNhbCBSQU0gbWFwOlxuIik7Ci0JCXByaW50X21lbW9yeV9tYXAoInVzZXIiKTsKLQl9Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfaW5pdCgpOwotCi0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCXByb3BhZ2F0ZV9lODIwX21hcCgpOwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KG1heF9wZm4pKQotCQlwcm9wYWdhdGVfZTgyMF9tYXAoKTsKLQotCW1heF9sb3dfcGZuID0gc2V0dXBfbWVtb3J5KCk7Ci0KLSNpZmRlZiBDT05GSUdfS1ZNX0NMT0NLCi0Ja3ZtY2xvY2tfaW5pdCgpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVk1JCi0JLyoKLQkgKiBNdXN0IGJlIGFmdGVyIG1heF9sb3dfcGZuIGlzIGRldGVybWluZWQsIGFuZCBiZWZvcmUga2VybmVsCi0JICogcGFnZXRhYmxlcyBhcmUgc2V0dXAuCi0JICovCi0Jdm1pX2luaXQoKTsKLSNlbmRpZgotCWt2bV9ndWVzdF9pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGJlZm9yZSB0aGlzIHBvaW50IF9ub2JvZHlfIGlzIGFsbG93ZWQgdG8gYWxsb2NhdGUKLQkgKiBhbnkgbWVtb3J5IHVzaW5nIHRoZSBib290bWVtIGFsbG9jYXRvci4gIEFsdGhvdWdoIHRoZQotCSAqIGFsbG9jYXRvciBpcyBub3cgaW5pdGlhbGlzZWQgb25seSB0aGUgZmlyc3QgOE1iIG9mIHRoZSBrZXJuZWwKLQkgKiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgaGFzIGJlZW4gbWFwcGVkLiAgQWxsIGFsbG9jYXRpb25zIGJlZm9yZQotCSAqIHBhZ2luZ19pbml0KCkgaGFzIGNvbXBsZXRlZCBtdXN0IHVzZSB0aGUgYWxsb2NfYm9vdG1lbV9sb3dfcGFnZXMoKQotCSAqIHZhcmlhbnQgKHdoaWNoIGFsbG9jYXRlcyBETUEnYWJsZSBtZW1vcnkpIGFuZCBjYXJlIG11c3QgYmUgdGFrZW4KLQkgKiBub3QgdG8gZXhjZWVkIHRoZSA4TWIgbGltaXQuCi0JICovCi0KLSNpZmRlZiBDT05GSUdfU01QCi0Jc21wX2FsbG9jX21lbW9yeSgpOyAvKiBBUCBwcm9jZXNzb3IgcmVhbG1vZGUgc3RhY2tzIGluIGxvdyBtZW1vcnkqLwotI2VuZGlmCi0JcGFnaW5nX2luaXQoKTsKLQotCS8qCi0JICogTk9URTogT24geDg2LTMyLCBvbmx5IGZyb20gdGhpcyBwb2ludCBvbiwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JcmVtYXBwZWRfcGdkYXRfaW5pdCgpOwotCXNwYXJzZV9pbml0KCk7Ci0Jem9uZV9zaXplc19pbml0KCk7Ci0KLQkvKgotCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9yIGlzIGZ1bGx5IGF2YWlsYWJsZS4KLQkgKi8KLQotI2lmZGVmIENPTkZJR19CTEtfREVWX0lOSVRSRAotCXJlbG9jYXRlX2luaXRyZCgpOwotI2VuZGlmCi0KLQlwYXJhdmlydF9wb3N0X2FsbG9jYXRvcl9pbml0KCk7Ci0KLQlkbWlfc2Nhbl9tYWNoaW5lKCk7Ci0KLQlpb19kZWxheV9pbml0KCk7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1NNUAotCS8qCi0JICogc2V0dXAgdG8gdXNlIHRoZSBlYXJseSBzdGF0aWMgaW5pdCB0YWJsZXMgZHVyaW5nIGtlcm5lbCBzdGFydHVwCi0JICogWDg2X1NNUCB3aWxsIGV4Y2x1ZGUgc3ViLWFyY2hlcyB0aGF0IGRvbid0IGRlYWwgd2VsbCB3aXRoIGl0LgotCSAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfWDg2X0dFTkVSSUNBUkNICi0JZ2VuZXJpY19hcGljX3Byb2JlKCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JLyoKLQkgKiBQYXJzZSB0aGUgQUNQSSB0YWJsZXMgZm9yIHBvc3NpYmxlIGJvb3QtdGltZSBTTVAgY29uZmlndXJhdGlvbi4KLQkgKi8KLQlhY3BpX2Jvb3RfdGFibGVfaW5pdCgpOwotI2VuZGlmCi0KLQllYXJseV9xdWlya3MoKTsKLQotI2lmZGVmIENPTkZJR19BQ1BJCi0JYWNwaV9ib290X2luaXQoKTsKLQotI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYgZGVmaW5lZChDT05GSUdfWDg2X1BDKQotCWlmIChkZWZfdG9fYmlnc21wKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJNb3JlIHRoYW4gOCBDUFVzIGRldGVjdGVkIGFuZCAiCi0JCQkiQ09ORklHX1g4Nl9QQyBjYW5ub3QgaGFuZGxlIGl0LlxuVXNlICIKLQkJCSJDT05GSUdfWDg2X0dFTkVSSUNBUkNIIG9yIENPTkZJR19YODZfQklHU01QLlxuIik7Ci0jZW5kaWYKLSNlbmRpZgotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotI2VuZGlmCi0KLQllODIwX3JlZ2lzdGVyX21lbW9yeSgpOwotCWU4MjBfbWFya19ub3NhdmVfcmVnaW9ucygpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi19Ci0KLS8qCi0gKiBSZXF1ZXN0IGFkZHJlc3Mgc3BhY2UgZm9yIGFsbCBzdGFuZGFyZCByZXNvdXJjZXMKLSAqCi0gKiBUaGlzIGlzIGNhbGxlZCBqdXN0IGJlZm9yZSBwY2liaW9zX2luaXQoKSwgd2hpY2ggaXMgYWxzbyBhCi0gKiBzdWJzeXNfaW5pdGNhbGwsIGJ1dCBpcyBsaW5rZWQgaW4gbGF0ZXIgKGluIGFyY2gvaTM4Ni9wY2kvY29tbW9uLmMpLgotICovCi1zdGF0aWMgaW50IF9faW5pdCByZXF1ZXN0X3N0YW5kYXJkX3Jlc291cmNlcyh2b2lkKQotewotCWludCBpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyB1cCBzdGFuZGFyZCBQQ0kgcmVzb3VyY2VzXG4iKTsKLQlpbml0X2lvbWVtX3Jlc291cmNlcygmY29kZV9yZXNvdXJjZSwgJmRhdGFfcmVzb3VyY2UsICZic3NfcmVzb3VyY2UpOwotCi0JcmVxdWVzdF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZ2aWRlb19yYW1fcmVzb3VyY2UpOwotCi0JLyogcmVxdWVzdCBJL08gc3BhY2UgZm9yIGRldmljZXMgdXNlZCBvbiBhbGwgaVszNDVdODYgUENzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3RhbmRhcmRfaW9fcmVzb3VyY2VzKTsgaSsrKQotCQlyZXF1ZXN0X3Jlc291cmNlKCZpb3BvcnRfcmVzb3VyY2UsICZzdGFuZGFyZF9pb19yZXNvdXJjZXNbaV0pOwotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwocmVxdWVzdF9zdGFuZGFyZF9yZXNvdXJjZXMpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRmZjEyOC4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDExOTQgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTUgIExpbnVzIFRvcnZhbGRzCi0gKi8KLQotLyoKLSAqIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSBhcmNoaXRlY3R1cmUtZGVwZW5kZW50IHBhcnRzIG9mIGluaXRpYWxpemF0aW9uCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgotI2luY2x1ZGUgPGxpbnV4L3VuaXN0ZC5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC91c2VyLmg+Ci0jaW5jbHVkZSA8bGludXgvc2NyZWVuX2luZm8uaD4KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLSNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0cmQuaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+Ci0jaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9jcmFzaF9kdW1wLmg+Ci0jaW5jbHVkZSA8bGludXgvcm9vdF9kZXYuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxhc20vcGNpLWRpcmVjdC5oPgotI2luY2x1ZGUgPGxpbnV4L2VmaS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KLSNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgotI2luY2x1ZGUgPGxpbnV4L2VkZC5oPgotI2luY2x1ZGUgPGxpbnV4L2lzY3NpX2liZnQuaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXhlYy5oPgotI2luY2x1ZGUgPGxpbnV4L2NwdWZyZXEuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+Ci0jaW5jbHVkZSA8bGludXgvc29ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0X29oY2kxMzk0X2RtYS5oPgotI2luY2x1ZGUgPGxpbnV4L2t2bV9wYXJhLmg+Ci0KLSNpbmNsdWRlIDxhc20vbXRyci5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS92c3lzY2FsbC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vbXNyLmg+Ci0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDx2aWRlby9lZGlkLmg+Ci0jaW5jbHVkZSA8YXNtL2U4MjAuaD4KLSNpbmNsdWRlIDxhc20vZG1hLmg+Ci0jaW5jbHVkZSA8YXNtL2dhcnQuaD4KLSNpbmNsdWRlIDxhc20vbXBzcGVjLmg+Ci0jaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSA8YXNtL251bWEuaD4KLSNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KLSNpbmNsdWRlIDxhc20vZG1pLmg+Ci0jaW5jbHVkZSA8YXNtL2NhY2hlZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vbWNlLmg+Ci0jaW5jbHVkZSA8YXNtL2RzLmg+Ci0jaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+Ci0jaW5jbHVkZSA8YXNtL3RyYW1wb2xpbmUuaD4KLSNpbmNsdWRlIDxhc20vcGF0Lmg+Ci0KLSNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLSNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KLSNlbHNlCi0jZGVmaW5lIEFSQ0hfU0VUVVAKLSNlbmRpZgotCi0vKgotICogTWFjaGluZSBzZXR1cC4uCi0gKi8KLQotc3RydWN0IGNwdWluZm9feDg2IGJvb3RfY3B1X2RhdGEgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woYm9vdF9jcHVfZGF0YSk7Ci0KLV9fdTMyIGNsZWFyZWRfY3B1X2NhcHNbTkNBUElOVFNdIF9fY3B1aW5pdGRhdGE7Ci0KLXVuc2lnbmVkIGxvbmcgbW11X2NyNF9mZWF0dXJlczsKLQotLyogQm9vdCBsb2FkZXIgSUQgYXMgYW4gaW50ZWdlciwgZm9yIHRoZSBiZW5lZml0IG9mIHByb2NfZG9pbnR2ZWMgKi8KLWludCBib290bG9hZGVyX3R5cGU7Ci0KLXVuc2lnbmVkIGxvbmcgc2F2ZWRfdmlkZW9fbW9kZTsKLQotaW50IGZvcmNlX213YWl0IF9fY3B1aW5pdGRhdGE7Ci0KLS8qCi0gKiBFYXJseSBETUkgbWVtb3J5Ci0gKi8KLWludCBkbWlfYWxsb2NfaW5kZXg7Ci1jaGFyIGRtaV9hbGxvY19kYXRhW0RNSV9NQVhfREFUQV07Ci0KLS8qCi0gKiBTZXR1cCBvcHRpb25zCi0gKi8KLXN0cnVjdCBzY3JlZW5faW5mbyBzY3JlZW5faW5mbzsKLUVYUE9SVF9TWU1CT0woc2NyZWVuX2luZm8pOwotc3RydWN0IHN5c19kZXNjX3RhYmxlX3N0cnVjdCB7Ci0JdW5zaWduZWQgc2hvcnQgbGVuZ3RoOwotCXVuc2lnbmVkIGNoYXIgdGFibGVbMF07Ci19OwotCi1zdHJ1Y3QgZWRpZF9pbmZvIGVkaWRfaW5mbzsKLUVYUE9SVF9TWU1CT0xfR1BMKGVkaWRfaW5mbyk7Ci0KLWV4dGVybiBpbnQgcm9vdF9tb3VudGZsYWdzOwotCi1jaGFyIF9faW5pdGRhdGEgY29tbWFuZF9saW5lW0NPTU1BTkRfTElORV9TSVpFXTsKLQotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBzdGFuZGFyZF9pb19yZXNvdXJjZXNbXSA9IHsKLQl7IC5uYW1lID0gImRtYTEiLCAuc3RhcnQgPSAweDAwLCAuZW5kID0gMHgxZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAicGljMSIsIC5zdGFydCA9IDB4MjAsIC5lbmQgPSAweDIxLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJ0aW1lcjAiLCAuc3RhcnQgPSAweDQwLCAuZW5kID0gMHg0MywKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAidGltZXIxIiwgLnN0YXJ0ID0gMHg1MCwgLmVuZCA9IDB4NTMsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2MCwgLmVuZCA9IDB4NjAsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImtleWJvYXJkIiwgLnN0YXJ0ID0gMHg2NCwgLmVuZCA9IDB4NjQsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYSBwYWdlIHJlZyIsIC5zdGFydCA9IDB4ODAsIC5lbmQgPSAweDhmLAotCQkuZmxhZ3MgPSBJT1JFU09VUkNFX0JVU1kgfCBJT1JFU09VUkNFX0lPIH0sCi0JeyAubmFtZSA9ICJwaWMyIiwgLnN0YXJ0ID0gMHhhMCwgLmVuZCA9IDB4YTEsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfSwKLQl7IC5uYW1lID0gImRtYTIiLCAuc3RhcnQgPSAweGMwLCAuZW5kID0gMHhkZiwKLQkJLmZsYWdzID0gSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9JTyB9LAotCXsgLm5hbWUgPSAiZnB1IiwgLnN0YXJ0ID0gMHhmMCwgLmVuZCA9IDB4ZmYsCi0JCS5mbGFncyA9IElPUkVTT1VSQ0VfQlVTWSB8IElPUkVTT1VSQ0VfSU8gfQotfTsKLQotI2RlZmluZSBJT1JFU09VUkNFX1JBTSAoSU9SRVNPVVJDRV9CVVNZIHwgSU9SRVNPVVJDRV9NRU0pCi0KLXN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgZGF0YV9yZXNvdXJjZSA9IHsKLQkubmFtZSA9ICJLZXJuZWwgZGF0YSIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci1zdGF0aWMgc3RydWN0IHJlc291cmNlIGNvZGVfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGNvZGUiLAotCS5zdGFydCA9IDAsCi0JLmVuZCA9IDAsCi0JLmZsYWdzID0gSU9SRVNPVVJDRV9SQU0sCi19Owotc3RhdGljIHN0cnVjdCByZXNvdXJjZSBic3NfcmVzb3VyY2UgPSB7Ci0JLm5hbWUgPSAiS2VybmVsIGJzcyIsCi0JLnN0YXJ0ID0gMCwKLQkuZW5kID0gMCwKLQkuZmxhZ3MgPSBJT1JFU09VUkNFX1JBTSwKLX07Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKLQotI2lmZGVmIENPTkZJR19QUk9DX1ZNQ09SRQotLyogZWxmY29yZWhkcj0gc3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBvZiBlbGYgY29yZSBoZWFkZXIKLSAqIHN0b3JlZCBieSB0aGUgY3Jhc2hlZCBrZXJuZWwuIFRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkCi0gKiBieSBrZXhlYyBsb2FkZXIgdG8gdGhlIGNhcHR1cmUga2VybmVsLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzZXR1cF9lbGZjb3JlaGRyKGNoYXIgKmFyZykKLXsKLQljaGFyICplbmQ7Ci0JaWYgKCFhcmcpCi0JCXJldHVybiAtRUlOVkFMOwotCWVsZmNvcmVoZHJfYWRkciA9IG1lbXBhcnNlKGFyZywgJmVuZCk7Ci0JcmV0dXJuIGVuZCA+IGFyZyA/IDAgOiAtRUlOVkFMOwotfQotZWFybHlfcGFyYW0oImVsZmNvcmVoZHIiLCBzZXR1cF9lbGZjb3JlaGRyKTsKLSNlbmRpZgotCi0jaWZuZGVmIENPTkZJR19OVU1BCi1zdGF0aWMgdm9pZCBfX2luaXQKLWNvbnRpZ19pbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKLXsKLQl1bnNpZ25lZCBsb25nIGJvb3RtYXBfc2l6ZSwgYm9vdG1hcDsKLQotCWJvb3RtYXBfc2l6ZSA9IGJvb3RtZW1fYm9vdG1hcF9wYWdlcyhlbmRfcGZuKTw8UEFHRV9TSElGVDsKLQlib290bWFwID0gZmluZF9lODIwX2FyZWEoMCwgZW5kX3Bmbjw8UEFHRV9TSElGVCwgYm9vdG1hcF9zaXplLAotCQkJCSBQQUdFX1NJWkUpOwotCWlmIChib290bWFwID09IC0xTCkKLQkJcGFuaWMoIkNhbm5vdCBmaW5kIGJvb3RtZW0gbWFwIG9mIHNpemUgJWxkXG4iLCBib290bWFwX3NpemUpOwotCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbShib290bWFwID4+IFBBR0VfU0hJRlQsIGVuZF9wZm4pOwotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKLQlmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucygwLCBlbmRfcGZuKTsKLQllYXJseV9yZXNfdG9fYm9vdG1lbSgwLCBlbmRfcGZuPDxQQUdFX1NISUZUKTsKLQlyZXNlcnZlX2Jvb3RtZW0oYm9vdG1hcCwgYm9vdG1hcF9zaXplLCBCT09UTUVNX0RFRkFVTFQpOwotfQotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKENPTkZJR19FREQpIHx8IGRlZmluZWQoQ09ORklHX0VERF9NT0RVTEUpCi1zdHJ1Y3QgZWRkIGVkZDsKLSNpZmRlZiBDT05GSUdfRUREX01PRFVMRQotRVhQT1JUX1NZTUJPTChlZGQpOwotI2VuZGlmCi0vKioKLSAqIGNvcHlfZWRkKCkgLSBDb3B5IHRoZSBCSU9TIEVERCBpbmZvcm1hdGlvbgotICogICAgICAgICAgICAgIGZyb20gYm9vdF9wYXJhbXMgaW50byBhIHNhZmUgcGxhY2UuCi0gKgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY29weV9lZGQodm9pZCkKLXsKLSAgICAgbWVtY3B5KGVkZC5tYnJfc2lnbmF0dXJlLCBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZmZXIsCi0JICAgIHNpemVvZihlZGQubWJyX3NpZ25hdHVyZSkpOwotICAgICBtZW1jcHkoZWRkLmVkZF9pbmZvLCBib290X3BhcmFtcy5lZGRidWYsIHNpemVvZihlZGQuZWRkX2luZm8pKTsKLSAgICAgZWRkLm1icl9zaWduYXR1cmVfbnIgPSBib290X3BhcmFtcy5lZGRfbWJyX3NpZ19idWZfZW50cmllczsKLSAgICAgZWRkLmVkZF9pbmZvX25yID0gYm9vdF9wYXJhbXMuZWRkYnVmX2VudHJpZXM7Ci19Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGNvcHlfZWRkKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19LRVhFQwotc3RhdGljIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgdG90YWxfbWVtOwotCXVuc2lnbmVkIGxvbmcgbG9uZyBjcmFzaF9zaXplLCBjcmFzaF9iYXNlOwotCWludCByZXQ7Ci0KLQl0b3RhbF9tZW0gPSAoKHVuc2lnbmVkIGxvbmcgbG9uZyltYXhfbG93X3BmbiAtIG1pbl9sb3dfcGZuKSA8PCBQQUdFX1NISUZUOwotCi0JcmV0ID0gcGFyc2VfY3Jhc2hrZXJuZWwoYm9vdF9jb21tYW5kX2xpbmUsIHRvdGFsX21lbSwKLQkJCSZjcmFzaF9zaXplLCAmY3Jhc2hfYmFzZSk7Ci0JaWYgKHJldCA9PSAwICYmIGNyYXNoX3NpemUpIHsKLQkJaWYgKGNyYXNoX2Jhc2UgPD0gMCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiY3Jhc2hrZXJuZWwgcmVzZXJ2YXRpb24gZmFpbGVkIC0gIgotCQkJCQkieW91IGhhdmUgdG8gc3BlY2lmeSBhIGJhc2UgYWRkcmVzc1xuIik7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpZiAocmVzZXJ2ZV9ib290bWVtKGNyYXNoX2Jhc2UsIGNyYXNoX3NpemUsCi0JCQkJCUJPT1RNRU1fRVhDTFVTSVZFKSA8IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImNyYXNoa2VybmVsIHJlc2VydmF0aW9uIGZhaWxlZCAtICIKLQkJCQkJIm1lbW9yeSBpcyBpbiB1c2VcbiIpOwotCQkJcmV0dXJuOwotCQl9Ci0KLQkJcHJpbnRrKEtFUk5fSU5GTyAiUmVzZXJ2aW5nICVsZE1CIG9mIG1lbW9yeSBhdCAlbGRNQiAiCi0JCQkJImZvciBjcmFzaGtlcm5lbCAoU3lzdGVtIFJBTTogJWxkTUIpXG4iLAotCQkJCSh1bnNpZ25lZCBsb25nKShjcmFzaF9zaXplID4+IDIwKSwKLQkJCQkodW5zaWduZWQgbG9uZykoY3Jhc2hfYmFzZSA+PiAyMCksCi0JCQkJKHVuc2lnbmVkIGxvbmcpKHRvdGFsX21lbSA+PiAyMCkpOwotCQljcmFzaGtfcmVzLnN0YXJ0ID0gY3Jhc2hfYmFzZTsKLQkJY3Jhc2hrX3Jlcy5lbmQgICA9IGNyYXNoX2Jhc2UgKyBjcmFzaF9zaXplIC0gMTsKLQkJaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNyYXNoa19yZXMpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIHZvaWQgX19pbml0IHJlc2VydmVfY3Jhc2hrZXJuZWwodm9pZCkKLXt9Ci0jZW5kaWYKLQotLyogT3ZlcnJpZGRlbiBpbiBwYXJhdmlydC5jIGlmIENPTkZJR19QQVJBVklSVCAqLwotdm9pZCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgX19pbml0IG1lbW9yeV9zZXR1cCh2b2lkKQotewotICAgICAgIG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9zZXR1cF9kYXRhKHZvaWQpCi17Ci0Jc3RydWN0IHNldHVwX2RhdGEgKmRhdGE7Ci0JdW5zaWduZWQgbG9uZyBwYV9kYXRhOwotCi0JaWYgKGJvb3RfcGFyYW1zLmhkci52ZXJzaW9uIDwgMHgwMjA5KQotCQlyZXR1cm47Ci0JcGFfZGF0YSA9IGJvb3RfcGFyYW1zLmhkci5zZXR1cF9kYXRhOwotCXdoaWxlIChwYV9kYXRhKSB7Ci0JCWRhdGEgPSBlYXJseV9pb3JlbWFwKHBhX2RhdGEsIFBBR0VfU0laRSk7Ci0JCXN3aXRjaCAoZGF0YS0+dHlwZSkgewotCQlkZWZhdWx0OgotCQkJYnJlYWs7Ci0JCX0KLSNpZm5kZWYgQ09ORklHX0RFQlVHX0JPT1RfUEFSQU1TCi0JCWZyZWVfZWFybHkocGFfZGF0YSwgcGFfZGF0YStzaXplb2YoKmRhdGEpK2RhdGEtPmxlbik7Ci0jZW5kaWYKLQkJcGFfZGF0YSA9IGRhdGEtPm5leHQ7Ci0JCWVhcmx5X2lvdW5tYXAoZGF0YSwgUEFHRV9TSVpFKTsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfUENJX01NQ09ORklHCi1leHRlcm4gdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKTsKLWV4dGVybiB2b2lkIF9faW5pdCBjaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkodm9pZCk7Ci0jZWxzZQotdm9pZCBfX2NwdWluaXQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKQotewotfQotdm9pZCBfX2luaXQgY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKHZvaWQpCi17Ci19Ci0jZW5kaWYKLQotLyoKLSAqIHNldHVwX2FyY2ggLSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgYm9vdC10aW1lIGluaXRpYWxpemF0aW9ucwotICoKLSAqIE5vdGU6IE9uIHg4Nl82NCwgZml4bWFwcyBhcmUgcmVhZHkgZm9yIHVzZSBldmVuIGJlZm9yZSB0aGlzIGlzIGNhbGxlZC4KLSAqLwotdm9pZCBfX2luaXQgc2V0dXBfYXJjaChjaGFyICoqY21kbGluZV9wKQotewotCXVuc2lnbmVkIGk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDb21tYW5kIGxpbmU6ICVzXG4iLCBib290X2NvbW1hbmRfbGluZSk7Ci0KLQlST09UX0RFViA9IG9sZF9kZWNvZGVfZGV2KGJvb3RfcGFyYW1zLmhkci5yb290X2Rldik7Ci0Jc2NyZWVuX2luZm8gPSBib290X3BhcmFtcy5zY3JlZW5faW5mbzsKLQllZGlkX2luZm8gPSBib290X3BhcmFtcy5lZGlkX2luZm87Ci0Jc2F2ZWRfdmlkZW9fbW9kZSA9IGJvb3RfcGFyYW1zLmhkci52aWRfbW9kZTsKLQlib290bG9hZGVyX3R5cGUgPSBib290X3BhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXI7Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9SQU0KLQlyZF9pbWFnZV9zdGFydCA9IGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfSU1BR0VfU1RBUlRfTUFTSzsKLQlyZF9wcm9tcHQgPSAoKGJvb3RfcGFyYW1zLmhkci5yYW1fc2l6ZSAmIFJBTURJU0tfUFJPTVBUX0ZMQUcpICE9IDApOwotCXJkX2RvbG9hZCA9ICgoYm9vdF9wYXJhbXMuaGRyLnJhbV9zaXplICYgUkFNRElTS19MT0FEX0ZMQUcpICE9IDApOwotI2VuZGlmCi0jaWZkZWYgQ09ORklHX0VGSQotCWlmICghc3RybmNtcCgoY2hhciAqKSZib290X3BhcmFtcy5lZmlfaW5mby5lZmlfbG9hZGVyX3NpZ25hdHVyZSwKLQkJICAgICAiRUw2NCIsIDQpKQotCQllZmlfZW5hYmxlZCA9IDE7Ci0jZW5kaWYKLQotCUFSQ0hfU0VUVVAKLQotCW1lbW9yeV9zZXR1cCgpOwotCWNvcHlfZWRkKCk7Ci0KLQlpZiAoIWJvb3RfcGFyYW1zLmhkci5yb290X2ZsYWdzKQotCQlyb290X21vdW50ZmxhZ3MgJj0gfk1TX1JET05MWTsKLQlpbml0X21tLnN0YXJ0X2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl90ZXh0OwotCWluaXRfbW0uZW5kX2NvZGUgPSAodW5zaWduZWQgbG9uZykgJl9ldGV4dDsKLQlpbml0X21tLmVuZF9kYXRhID0gKHVuc2lnbmVkIGxvbmcpICZfZWRhdGE7Ci0JaW5pdF9tbS5icmsgPSAodW5zaWduZWQgbG9uZykgJl9lbmQ7Ci0KLQljb2RlX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfdGV4dCk7Ci0JY29kZV9yZXNvdXJjZS5lbmQgPSB2aXJ0X3RvX3BoeXMoJl9ldGV4dCktMTsKLQlkYXRhX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfZXRleHQpOwotCWRhdGFfcmVzb3VyY2UuZW5kID0gdmlydF90b19waHlzKCZfZWRhdGEpLTE7Ci0JYnNzX3Jlc291cmNlLnN0YXJ0ID0gdmlydF90b19waHlzKCZfX2Jzc19zdGFydCk7Ci0JYnNzX3Jlc291cmNlLmVuZCA9IHZpcnRfdG9fcGh5cygmX19ic3Nfc3RvcCktMTsKLQotCWVhcmx5X2lkZW50aWZ5X2NwdSgmYm9vdF9jcHVfZGF0YSk7Ci0KLQlzdHJsY3B5KGNvbW1hbmRfbGluZSwgYm9vdF9jb21tYW5kX2xpbmUsIENPTU1BTkRfTElORV9TSVpFKTsKLQkqY21kbGluZV9wID0gY29tbWFuZF9saW5lOwotCi0JcGFyc2Vfc2V0dXBfZGF0YSgpOwotCi0JcGFyc2VfZWFybHlfcGFyYW0oKTsKLQotI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCi0JaWYgKGluaXRfb2hjaTEzOTRfZG1hX2Vhcmx5KQotCQlpbml0X29oY2kxMzk0X2RtYV9vbl9hbGxfY29udHJvbGxlcnMoKTsKLSNlbmRpZgotCi0JZmluaXNoX2U4MjBfcGFyc2luZygpOwotCi0JLyogYWZ0ZXIgcGFyc2VfZWFybHlfcGFyYW0sIHNvIGNvdWxkIGRlYnVnIGl0ICovCi0JaW5zZXJ0X3Jlc291cmNlKCZpb21lbV9yZXNvdXJjZSwgJmNvZGVfcmVzb3VyY2UpOwotCWluc2VydF9yZXNvdXJjZSgmaW9tZW1fcmVzb3VyY2UsICZkYXRhX3Jlc291cmNlKTsKLQlpbnNlcnRfcmVzb3VyY2UoJmlvbWVtX3Jlc291cmNlLCAmYnNzX3Jlc291cmNlKTsKLQotCWVhcmx5X2dhcnRfaW9tbXVfY2hlY2soKTsKLQotCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JLyoKLQkgKiBwYXJ0aWFsbHkgdXNlZCBwYWdlcyBhcmUgbm90IHVzYWJsZSAtIHRodXMKLQkgKiB3ZSBhcmUgcm91bmRpbmcgdXB3YXJkczoKLQkgKi8KLQllbmRfcGZuID0gZTgyMF9lbmRfb2ZfcmFtKCk7Ci0JLyogdXBkYXRlIGU4MjAgZm9yIG1lbW9yeSBub3QgY292ZXJlZCBieSBXQiBNVFJScyAqLwotCW10cnJfYnBfaW5pdCgpOwotCWlmIChtdHJyX3RyaW1fdW5jYWNoZWRfbWVtb3J5KGVuZF9wZm4pKSB7Ci0JCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoMCwgMCwgLTFVTCk7Ci0JCWVuZF9wZm4gPSBlODIwX2VuZF9vZl9yYW0oKTsKLQl9Ci0KLQludW1fcGh5c3BhZ2VzID0gZW5kX3BmbjsKLQotCWNoZWNrX2VmZXIoKTsKLQotCW1heF9wZm5fbWFwcGVkID0gaW5pdF9tZW1vcnlfbWFwcGluZygwLCAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpOwotCWlmIChlZmlfZW5hYmxlZCkKLQkJZWZpX2luaXQoKTsKLQotCXZzbXBfaW5pdCgpOwotCi0JZG1pX3NjYW5fbWFjaGluZSgpOwotCi0JaW9fZGVsYXlfaW5pdCgpOwotCi0jaWZkZWYgQ09ORklHX0tWTV9DTE9DSwotCWt2bWNsb2NrX2luaXQoKTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1NNUAotCS8qIHNldHVwIHRvIHVzZSB0aGUgZWFybHkgc3RhdGljIGluaXQgdGFibGVzIGR1cmluZyBrZXJuZWwgc3RhcnR1cCAqLwotCXg4Nl9jcHVfdG9fYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2NwdV90b19hcGljaWRfaW5pdDsKLQl4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0ciA9ICh2b2lkICopeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0OwotI2lmZGVmIENPTkZJR19OVU1BCi0JeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHIgPSAodm9pZCAqKXg4Nl9jcHVfdG9fbm9kZV9tYXBfaW5pdDsKLSNlbmRpZgotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogSW5pdGlhbGl6ZSB0aGUgQUNQSSBib290LXRpbWUgdGFibGUgcGFyc2VyIChnZXRzIHRoZSBSU0RQIGFuZCBTRFQpLgotCSAqIENhbGwgdGhpcyBlYXJseSBmb3IgU1JBVCBub2RlIHNldHVwLgotCSAqLwotCWFjcGlfYm9vdF90YWJsZV9pbml0KCk7Ci0jZW5kaWYKLQotCS8qIEhvdyBtYW55IGVuZC1vZi1tZW1vcnkgdmFyaWFibGVzIHlvdSBoYXZlLCBncmFuZG1hISAqLwotCW1heF9sb3dfcGZuID0gZW5kX3BmbjsKLQltYXhfcGZuID0gZW5kX3BmbjsKLQloaWdoX21lbW9yeSA9ICh2b2lkICopX192YShlbmRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOwotCi0JLyogUmVtb3ZlIGFjdGl2ZSByYW5nZXMgc28gcmVkaXNjb3Zlcnkgd2l0aCBOVU1BLWF3YXJlbmVzcyBoYXBwZW5zICovCi0JcmVtb3ZlX2FsbF9hY3RpdmVfcmFuZ2VzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCi0JLyoKLQkgKiBQYXJzZSBTUkFUIHRvIGRpc2NvdmVyIG5vZGVzLgotCSAqLwotCWFjcGlfbnVtYV9pbml0KCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19OVU1BCi0JbnVtYV9pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZWxzZQotCWNvbnRpZ19pbml0bWVtX2luaXQoMCwgZW5kX3Bmbik7Ci0jZW5kaWYKLQotCWRtYTMyX3Jlc2VydmVfYm9vdG1lbSgpOwotCi0jaWZkZWYgQ09ORklHX0FDUElfU0xFRVAKLQkvKgotCSAqIFJlc2VydmUgbG93IG1lbW9yeSByZWdpb24gZm9yIHNsZWVwIHN1cHBvcnQuCi0JICovCi0gICAgICAgYWNwaV9yZXNlcnZlX2Jvb3RtZW0oKTsKLSNlbmRpZgotCi0JaWYgKGVmaV9lbmFibGVkKQotCQllZmlfcmVzZXJ2ZV9ib290bWVtKCk7Ci0KLSAgICAgICAvKgotCSogRmluZCBhbmQgcmVzZXJ2ZSBwb3NzaWJsZSBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246Ci0JKi8KLQlmaW5kX3NtcF9jb25maWcoKTsKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKLQlpZiAoYm9vdF9wYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyICYmIGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlKSB7Ci0JCXVuc2lnbmVkIGxvbmcgcmFtZGlza19pbWFnZSA9IGJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX2ltYWdlOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfc2l6ZSAgPSBib290X3BhcmFtcy5oZHIucmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIHJhbWRpc2tfZW5kICAgPSByYW1kaXNrX2ltYWdlICsgcmFtZGlza19zaXplOwotCQl1bnNpZ25lZCBsb25nIGVuZF9vZl9tZW0gICAgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7Ci0KLQkJaWYgKHJhbWRpc2tfZW5kIDw9IGVuZF9vZl9tZW0pIHsKLQkJCS8qCi0JCQkgKiBkb24ndCBuZWVkIHRvIHJlc2VydmUgYWdhaW4sIGFscmVhZHkgcmVzZXJ2ZWQgZWFybHkKLQkJCSAqIGluIHg4Nl82NF9zdGFydF9rZXJuZWwsIGFuZCBlYXJseV9yZXNfdG9fYm9vdG1lbQotCQkJICogY29udmVydCB0aGF0IHRvIHJlc2VydmVkIGluIGJvb3RtZW0KLQkJCSAqLwotCQkJaW5pdHJkX3N0YXJ0ID0gcmFtZGlza19pbWFnZSArIFBBR0VfT0ZGU0VUOwotCQkJaW5pdHJkX2VuZCA9IGluaXRyZF9zdGFydCtyYW1kaXNrX3NpemU7Ci0JCX0gZWxzZSB7Ci0JCQlmcmVlX2Jvb3RtZW0ocmFtZGlza19pbWFnZSwgcmFtZGlza19zaXplKTsKLQkJCXByaW50ayhLRVJOX0VSUiAiaW5pdHJkIGV4dGVuZHMgYmV5b25kIGVuZCBvZiBtZW1vcnkgIgotCQkJICAgICAgICIoMHglMDhseCA+IDB4JTA4bHgpXG5kaXNhYmxpbmcgaW5pdHJkXG4iLAotCQkJICAgICAgIHJhbWRpc2tfZW5kLCBlbmRfb2ZfbWVtKTsKLQkJCWluaXRyZF9zdGFydCA9IDA7Ci0JCX0KLQl9Ci0jZW5kaWYKLQlyZXNlcnZlX2NyYXNoa2VybmVsKCk7Ci0KLQlyZXNlcnZlX2liZnRfcmVnaW9uKCk7Ci0KLQlwYWdpbmdfaW5pdCgpOwotCW1hcF92c3lzY2FsbCgpOwotCi0JZWFybHlfcXVpcmtzKCk7Ci0KLSNpZmRlZiBDT05GSUdfQUNQSQotCS8qCi0JICogUmVhZCBBUElDIGFuZCBzb21lIG90aGVyIGVhcmx5IGluZm9ybWF0aW9uIGZyb20gQUNQSSB0YWJsZXMuCi0JICovCi0JYWNwaV9ib290X2luaXQoKTsKLSNlbmRpZgotCi0JaW5pdF9jcHVfdG9fbm9kZSgpOwotCi0JLyoKLQkgKiBnZXQgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgotCSAqLwotCWlmIChzbXBfZm91bmRfY29uZmlnKQotCQlnZXRfc21wX2NvbmZpZygpOwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotCWlvYXBpY19pbml0X21hcHBpbmdzKCk7Ci0KLQlrdm1fZ3Vlc3RfaW5pdCgpOwotCi0JLyoKLQkgKiBXZSB0cnVzdCBlODIwIGNvbXBsZXRlbHkuIE5vIGV4cGxpY2l0IFJPTSBwcm9iaW5nIGluIG1lbW9yeS4KLQkgKi8KLQllODIwX3Jlc2VydmVfcmVzb3VyY2VzKCk7Ci0JZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKCk7Ci0KLQkvKiByZXF1ZXN0IEkvTyBzcGFjZSBmb3IgZGV2aWNlcyB1c2VkIG9uIGFsbCBpWzM0NV04NiBQQ3MgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGFuZGFyZF9pb19yZXNvdXJjZXMpOyBpKyspCi0JCXJlcXVlc3RfcmVzb3VyY2UoJmlvcG9ydF9yZXNvdXJjZSwgJnN0YW5kYXJkX2lvX3Jlc291cmNlc1tpXSk7Ci0KLQllODIwX3NldHVwX2dhcCgpOwotCi0jaWZkZWYgQ09ORklHX1ZUCi0jaWYgZGVmaW5lZChDT05GSUdfVkdBX0NPTlNPTEUpCi0JaWYgKCFlZmlfZW5hYmxlZCB8fCAoZWZpX21lbV90eXBlKDB4YTAwMDApICE9IEVGSV9DT05WRU5USU9OQUxfTUVNT1JZKSkKLQkJY29uc3dpdGNocCA9ICZ2Z2FfY29uOwotI2VsaWYgZGVmaW5lZChDT05GSUdfRFVNTVlfQ09OU09MRSkKLQljb25zd2l0Y2hwID0gJmR1bW15X2NvbjsKLSNlbmRpZgotI2VuZGlmCi0KLQkvKiBkbyB0aGlzIGJlZm9yZSBpZGVudGlmeV9jcHUgZm9yIGJvb3QgY3B1ICovCi0JY2hlY2tfZW5hYmxlX2FtZF9tbWNvbmZfZG1pKCk7Ci19Ci0KLXN0YXRpYyBpbnQgX19jcHVpbml0IGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLQl1bnNpZ25lZCBpbnQgKnY7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPCAweDgwMDAwMDA0KQotCQlyZXR1cm4gMDsKLQotCXYgPSAodW5zaWduZWQgaW50ICopIGMtPng4Nl9tb2RlbF9pZDsKLQljcHVpZCgweDgwMDAwMDAyLCAmdlswXSwgJnZbMV0sICZ2WzJdLCAmdlszXSk7Ci0JY3B1aWQoMHg4MDAwMDAwMywgJnZbNF0sICZ2WzVdLCAmdls2XSwgJnZbN10pOwotCWNwdWlkKDB4ODAwMDAwMDQsICZ2WzhdLCAmdls5XSwgJnZbMTBdLCAmdlsxMV0pOwotCWMtPng4Nl9tb2RlbF9pZFs0OF0gPSAwOwotCXJldHVybiAxOwotfQotCi0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBkaXNwbGF5X2NhY2hlaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgaW50IG4sIGR1bW15LCBlYXgsIGVieCwgZWN4LCBlZHg7Ci0KLQluID0gYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWw7Ci0KLQlpZiAobiA+PSAweDgwMDAwMDA1KSB7Ci0JCWNwdWlkKDB4ODAwMDAwMDUsICZkdW1teSwgJmVieCwgJmVjeCwgJmVkeCk7Ci0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDEgSSBDYWNoZTogJWRLICglZCBieXRlcy9saW5lKSwgIgotCQkgICAgICAgIkQgY2FjaGUgJWRLICglZCBieXRlcy9saW5lKVxuIiwKLQkJICAgICAgIGVkeD4+MjQsIGVkeCYweEZGLCBlY3g+PjI0LCBlY3gmMHhGRik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gKGVjeD4+MjQpICsgKGVkeD4+MjQpOwotCQkvKiBPbiBLOCBMMSBUTEIgaXMgaW5jbHVzaXZlLCBzbyBkb24ndCBjb3VudCBpdCAqLwotCQljLT54ODZfdGxic2l6ZSA9IDA7Ci0JfQotCi0JaWYgKG4gPj0gMHg4MDAwMDAwNikgewotCQljcHVpZCgweDgwMDAwMDA2LCAmZHVtbXksICZlYngsICZlY3gsICZlZHgpOwotCQllY3ggPSBjcHVpZF9lY3goMHg4MDAwMDAwNik7Ci0JCWMtPng4Nl9jYWNoZV9zaXplID0gZWN4ID4+IDE2OwotCQljLT54ODZfdGxic2l6ZSArPSAoKGVieCA+PiAxNikgJiAweGZmZikgKyAoZWJ4ICYgMHhmZmYpOwotCi0JCXByaW50ayhLRVJOX0lORk8gIkNQVTogTDIgQ2FjaGU6ICVkSyAoJWQgYnl0ZXMvbGluZSlcbiIsCi0JCWMtPng4Nl9jYWNoZV9zaXplLCBlY3ggJiAweEZGKTsKLQl9Ci0JaWYgKG4gPj0gMHg4MDAwMDAwOCkgewotCQljcHVpZCgweDgwMDAwMDA4LCAmZWF4LCAmZHVtbXksICZkdW1teSwgJmR1bW15KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci19Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotc3RhdGljIGludCBfX2NwdWluaXQgbmVhcmJ5X25vZGUoaW50IGFwaWNpZCkKLXsKLQlpbnQgaSwgbm9kZTsKLQotCWZvciAoaSA9IGFwaWNpZCAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCWZvciAoaSA9IGFwaWNpZCArIDE7IGkgPCBNQVhfTE9DQUxfQVBJQzsgaSsrKSB7Ci0JCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtpXTsKLQkJaWYgKG5vZGUgIT0gTlVNQV9OT19OT0RFICYmIG5vZGVfb25saW5lKG5vZGUpKQotCQkJcmV0dXJuIG5vZGU7Ci0JfQotCXJldHVybiBmaXJzdF9ub2RlKG5vZGVfb25saW5lX21hcCk7IC8qIFNob3VsZG4ndCBoYXBwZW4gKi8KLX0KLSNlbmRpZgotCi0vKgotICogT24gYSBBTUQgZHVhbCBjb3JlIHNldHVwIHRoZSBsb3dlciBiaXRzIG9mIHRoZSBBUElDIGlkIGRpc3Rpbmd1c2ggdGhlIGNvcmVzLgotICogQXNzdW1lcyBudW1iZXIgb2YgY29yZXMgaXMgYSBwb3dlciBvZiB0d28uCi0gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBhbWRfZGV0ZWN0X2NtcChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXVuc2lnbmVkIGJpdHM7Ci0jaWZkZWYgQ09ORklHX05VTUEKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBub2RlID0gMDsKLQl1bnNpZ25lZCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLSNlbmRpZgotCWJpdHMgPSBjLT54ODZfY29yZWlkX2JpdHM7Ci0KLQkvKiBMb3cgb3JkZXIgYml0cyBkZWZpbmUgdGhlIGNvcmUgaWQgKGluZGV4IG9mIGNvcmUgaW4gc29ja2V0KSAqLwotCWMtPmNwdV9jb3JlX2lkID0gYy0+aW5pdGlhbF9hcGljaWQgJiAoKDEgPDwgYml0cyktMSk7Ci0JLyogQ29udmVydCB0aGUgaW5pdGlhbCBBUElDIElEIGludG8gdGhlIHNvY2tldCBJRCAqLwotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkID4+IGJpdHM7Ci0KLSNpZmRlZiBDT05GSUdfTlVNQQotCW5vZGUgPSBjLT5waHlzX3Byb2NfaWQ7Ci0JaWYgKGFwaWNpZF90b19ub2RlW2FwaWNpZF0gIT0gTlVNQV9OT19OT0RFKQotCQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAoIW5vZGVfb25saW5lKG5vZGUpKSB7Ci0JCS8qIFR3byBwb3NzaWJpbGl0aWVzIGhlcmU6Ci0JCSAgIC0gVGhlIENQVSBpcyBtaXNzaW5nIG1lbW9yeSBhbmQgbm8gbm9kZSB3YXMgY3JlYXRlZC4KLQkJICAgSW4gdGhhdCBjYXNlIHRyeSBwaWNraW5nIG9uZSBmcm9tIGEgbmVhcmJ5IENQVQotCQkgICAtIFRoZSBBUElDIElEcyBkaWZmZXIgZnJvbSB0aGUgSHlwZXJUcmFuc3BvcnQgbm9kZSBJRHMKLQkJICAgd2hpY2ggdGhlIEs4IG5vcnRoYnJpZGdlIHBhcnNpbmcgZmlsbHMgaW4uCi0JCSAgIEFzc3VtZSB0aGV5IGFyZSBhbGwgaW5jcmVhc2VkIGJ5IGEgY29uc3RhbnQgb2Zmc2V0LAotCQkgICBidXQgaW4gdGhlIHNhbWUgb3JkZXIgYXMgdGhlIEhUIG5vZGVpZHMuCi0JCSAgIElmIHRoYXQgZG9lc24ndCByZXN1bHQgaW4gYSB1c2FibGUgbm9kZSBmYWxsIGJhY2sgdG8gdGhlCi0JCSAgIHBhdGggZm9yIHRoZSBwcmV2aW91cyBjYXNlLiAgKi8KLQotCQlpbnQgaHRfbm9kZWlkID0gYy0+aW5pdGlhbF9hcGljaWQ7Ci0KLQkJaWYgKGh0X25vZGVpZCA+PSAwICYmCi0JCSAgICBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdICE9IE5VTUFfTk9fTk9ERSkKLQkJCW5vZGUgPSBhcGljaWRfdG9fbm9kZVtodF9ub2RlaWRdOwotCQkvKiBQaWNrIGEgbmVhcmJ5IG5vZGUgKi8KLQkJaWYgKCFub2RlX29ubGluZShub2RlKSkKLQkJCW5vZGUgPSBuZWFyYnlfbm9kZShhcGljaWQpOwotCX0KLQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJDUFUgJWQvJXggLT4gTm9kZSAlZFxuIiwgY3B1LCBhcGljaWQsIG5vZGUpOwotI2VuZGlmCi0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfYW1kX21jKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKLXsKLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgYml0cywgZWN4OwotCi0JLyogTXVsdGkgY29yZSBDUFU/ICovCi0JaWYgKGMtPmV4dGVuZGVkX2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwOCkKLQkJcmV0dXJuOwotCi0JZWN4ID0gY3B1aWRfZWN4KDB4ODAwMDAwMDgpOwotCi0JYy0+eDg2X21heF9jb3JlcyA9IChlY3ggJiAweGZmKSArIDE7Ci0KLQkvKiBDUFUgdGVsbGluZyB1cyB0aGUgY29yZSBpZCBiaXRzIHNoaWZ0PyAqLwotCWJpdHMgPSAoZWN4ID4+IDEyKSAmIDB4RjsKLQotCS8qIE90aGVyd2lzZSByZWNvbXB1dGUgKi8KLQlpZiAoYml0cyA9PSAwKSB7Ci0JCXdoaWxlICgoMSA8PCBiaXRzKSA8IGMtPng4Nl9tYXhfY29yZXMpCi0JCQliaXRzKys7Ci0JfQotCi0JYy0+eDg2X2NvcmVpZF9iaXRzID0gYml0czsKLQotI2VuZGlmCi19Ci0KLSNkZWZpbmUgRU5BQkxFX0MxRV9NQVNLCQkweDE4MDAwMDAwCi0jZGVmaW5lIENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUJMQotI2RlZmluZSBDUFVJRF9YRkFNCQkweDBmZjAwMDAwCi0jZGVmaW5lIENQVUlEX1hGQU1fSzgJCTB4MDAwMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMEgJCTB4MDAxMDAwMDAKLSNkZWZpbmUgQ1BVSURfWEZBTV8xMUgJCTB4MDAyMDAwMDAKLSNkZWZpbmUgQ1BVSURfWE1PRAkJMHgwMDBmMDAwMAotI2RlZmluZSBDUFVJRF9YTU9EX1JFVl9GCTB4MDAwNDAwMDAKLQotLyogQU1EIHN5c3RlbXMgd2l0aCBDMUUgZG9uJ3QgaGF2ZSBhIHdvcmtpbmcgbEFQSUMgdGltZXIuIENoZWNrIGZvciB0aGF0LiAqLwotc3RhdGljIF9fY3B1aW5pdCBpbnQgYW1kX2FwaWNfdGltZXJfYnJva2VuKHZvaWQpCi17Ci0JdTMyIGxvLCBoaSwgZWF4ID0gY3B1aWRfZWF4KENQVUlEX1BST0NFU1NPUl9TSUdOQVRVUkUpOwotCi0Jc3dpdGNoIChlYXggJiBDUFVJRF9YRkFNKSB7Ci0JY2FzZSBDUFVJRF9YRkFNX0s4OgotCQlpZiAoKGVheCAmIENQVUlEX1hNT0QpIDwgQ1BVSURfWE1PRF9SRVZfRikKLQkJCWJyZWFrOwotCWNhc2UgQ1BVSURfWEZBTV8xMEg6Ci0JY2FzZSBDUFVJRF9YRkFNXzExSDoKLQkJcmRtc3IoTVNSX0s4X0VOQUJMRV9DMUUsIGxvLCBoaSk7Ci0JCWlmIChsbyAmIEVOQUJMRV9DMUVfTUFTSykKLQkJCXJldHVybiAxOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQkvKiBlcnIgb24gdGhlIHNpZGUgb2YgY2F1dGlvbiAqLwotCQlyZXR1cm4gMTsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JZWFybHlfaW5pdF9hbWRfbWMoYyk7Ci0KLSAJLyogYy0+eDg2X3Bvd2VyIGlzIDgwMDBfMDAwNyBlZHguIEJpdCA4IGlzIGNvbnN0YW50IFRTQyAqLwotCWlmIChjLT54ODZfcG93ZXIgJiAoMTw8OCkpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JdW5zaWduZWQgbGV2ZWw7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JdW5zaWduZWQgbG9uZyB2YWx1ZTsKLQotCS8qCi0JICogRGlzYWJsZSBUTEIgZmx1c2ggZmlsdGVyIGJ5IHNldHRpbmcgSFdDUi5GRkRJUyBvbiBLOAotCSAqIGJpdCA2IG9mIG1zciBDMDAxXzAwMTUKLQkgKgotCSAqIEVycmF0YSA2MyBmb3IgU0gtQjMgc3RlcHBpbmdzCi0JICogRXJyYXRhIDEyMiBmb3IgYWxsIHN0ZXBwaW5ncyAoRisgaGF2ZSBpdCBkaXNhYmxlZCBieSBkZWZhdWx0KQotCSAqLwotCWlmIChjLT54ODYgPT0gMTUpIHsKLQkJcmRtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JCXZhbHVlIHw9IDEgPDwgNjsKLQkJd3Jtc3JsKE1TUl9LOF9IV0NSLCB2YWx1ZSk7Ci0JfQotI2VuZGlmCi0KLQkvKiBCaXQgMzEgaW4gbm9ybWFsIENQVUlEIHVzZWQgZm9yIG5vbnN0YW5kYXJkIDNETm93IElEOwotCSAgIDNETm93IGlzIElEZCBieSBiaXQgMzEgaW4gZXh0ZW5kZWQgQ1BVSUQgKDEqMzIrMzEpIGFueXdheSAqLwotCWNsZWFyX2NwdV9jYXAoYywgMCozMiszMSk7Ci0KLQkvKiBPbiBDKyBzdGVwcGluZyBLOCByZXAgbWljcm9jb2RlIHdvcmtzIHdlbGwgZm9yIGNvcHkvbWVtc2V0ICovCi0JbGV2ZWwgPSBjcHVpZF9lYXgoMSk7Ci0JaWYgKGMtPng4NiA9PSAxNSAmJiAoKGxldmVsID49IDB4MGY0OCAmJiBsZXZlbCA8IDB4MGY1MCkgfHwKLQkJCSAgICAgbGV2ZWwgPj0gMHgwZjU4KSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCWlmIChjLT54ODYgPT0gMHgxMCB8fCBjLT54ODYgPT0gMHgxMSkKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCi0JLyogRW5hYmxlIHdvcmthcm91bmQgZm9yIEZYU0FWRSBsZWFrICovCi0JaWYgKGMtPng4NiA+PSA2KQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9GWFNBVkVfTEVBSyk7Ci0KLQlsZXZlbCA9IGdldF9tb2RlbF9uYW1lKGMpOwotCWlmICghbGV2ZWwpIHsKLQkJc3dpdGNoIChjLT54ODYpIHsKLQkJY2FzZSAxNToKLQkJCS8qIFNob3VsZCBkaXN0aW5ndWlzaCBNb2RlbHMgaGVyZSwgYnV0IHRoaXMgaXMgb25seQotCQkJICAgYSBmYWxsYmFjayBhbnl3YXlzLiAqLwotCQkJc3RyY3B5KGMtPng4Nl9tb2RlbF9pZCwgIkhhbW1lciIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0JZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0KLQkvKiBNdWx0aSBjb3JlIENQVT8gKi8KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKLQkJYW1kX2RldGVjdF9jbXAoYyk7Ci0KLQlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPj0gMHg4MDAwMDAwNiAmJgotCQkoY3B1aWRfZWR4KDB4ODAwMDAwMDYpICYgMHhmMDAwKSkKLQkJbnVtX2NhY2hlX2xlYXZlcyA9IDQ7Ci0JZWxzZQotCQludW1fY2FjaGVfbGVhdmVzID0gMzsKLQotCWlmIChjLT54ODYgPT0gMHhmIHx8IGMtPng4NiA9PSAweDEwIHx8IGMtPng4NiA9PSAweDExKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9LOCk7Ci0KLQkvKiBNRkVOQ0Ugc3RvcHMgUkRUU0Mgc3BlY3VsYXRpb24gKi8KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9NRkVOQ0VfUkRUU0MpOwotCi0JaWYgKGMtPng4NiA9PSAweDEwKQotCQlmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKCk7Ci0KLQlpZiAoYW1kX2FwaWNfdGltZXJfYnJva2VuKCkpCi0JCWRpc2FibGVfYXBpY190aW1lciA9IDE7Ci0KLQlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSAmJiBjLT54ODYgPj0gMHhmICYmIGMtPng4NiA8PSAweDExKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2VnOwotCi0JCS8qCi0JCSAqIFNwbGl0IHVwIGRpcmVjdCBtYXBwaW5nIGFyb3VuZCB0aGUgVFNFRyBTTU0gYXJlYS4KLQkJICogRG9uJ3QgZG8gaXQgZm9yIGdicGFnZXMgYmVjYXVzZSB0aGVyZSBzZWVtcyB2ZXJ5IGxpdHRsZQotCQkgKiBiZW5lZml0IGluIGRvaW5nIHNvLgotCQkgKi8KLQkJaWYgKCFyZG1zcmxfc2FmZShNU1JfSzhfVFNFR19BRERSLCAmdHNlZykgJiYKLQkJKHRzZWcgPj4gUE1EX1NISUZUKSA8IChtYXhfcGZuX21hcHBlZCA+PiAoUE1EX1NISUZULVBBR0VfU0hJRlQpKSkKLQkJCXNldF9tZW1vcnlfNGsoKHVuc2lnbmVkIGxvbmcpX192YSh0c2VnKSwgMSk7Ci0JfQotfQotCi12b2lkIF9fY3B1aW5pdCBkZXRlY3RfaHQoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotI2lmZGVmIENPTkZJR19TTVAKLQl1MzIgZWF4LCBlYngsIGVjeCwgZWR4OwotCWludCBpbmRleF9tc2IsIGNvcmVfYml0czsKLQotCWNwdWlkKDEsICZlYXgsICZlYngsICZlY3gsICZlZHgpOwotCi0KLQlpZiAoIWNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfSFQpKQotCQlyZXR1cm47Ci0JaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkpCi0JCWdvdG8gb3V0OwotCi0Jc21wX251bV9zaWJsaW5ncyA9IChlYnggJiAweGZmMDAwMCkgPj4gMTY7Ci0KLQlpZiAoc21wX251bV9zaWJsaW5ncyA9PSAxKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gICJDUFU6IEh5cGVyLVRocmVhZGluZyBpcyBkaXNhYmxlZFxuIik7Ci0JfSBlbHNlIGlmIChzbXBfbnVtX3NpYmxpbmdzID4gMSkgewotCi0JCWlmIChzbXBfbnVtX3NpYmxpbmdzID4gTlJfQ1BVUykgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ1BVOiBVbnN1cHBvcnRlZCBudW1iZXIgb2YgIgotCQkJICAgICAgICJzaWJsaW5ncyAlZCIsIHNtcF9udW1fc2libGluZ3MpOwotCQkJc21wX251bV9zaWJsaW5ncyA9IDE7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlpbmRleF9tc2IgPSBnZXRfY291bnRfb3JkZXIoc21wX251bV9zaWJsaW5ncyk7Ci0JCWMtPnBoeXNfcHJvY19pZCA9IHBoeXNfcGtnX2lkKGluZGV4X21zYik7Ci0KLQkJc21wX251bV9zaWJsaW5ncyA9IHNtcF9udW1fc2libGluZ3MgLyBjLT54ODZfbWF4X2NvcmVzOwotCi0JCWluZGV4X21zYiA9IGdldF9jb3VudF9vcmRlcihzbXBfbnVtX3NpYmxpbmdzKTsKLQotCQljb3JlX2JpdHMgPSBnZXRfY291bnRfb3JkZXIoYy0+eDg2X21heF9jb3Jlcyk7Ci0KLQkJYy0+Y3B1X2NvcmVfaWQgPSBwaHlzX3BrZ19pZChpbmRleF9tc2IpICYKLQkJCQkJICAgICAgICgoMSA8PCBjb3JlX2JpdHMpIC0gMSk7Ci0JfQotb3V0OgotCWlmICgoYy0+eDg2X21heF9jb3JlcyAqIHNtcF9udW1fc2libGluZ3MpID4gMSkgewotCQlwcmludGsoS0VSTl9JTkZPICAiQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+cGh5c19wcm9jX2lkKTsKLQkJcHJpbnRrKEtFUk5fSU5GTyAgIkNQVTogUHJvY2Vzc29yIENvcmUgSUQ6ICVkXG4iLAotCQkgICAgICAgYy0+Y3B1X2NvcmVfaWQpOwotCX0KLQotI2VuZGlmCi19Ci0KLS8qCi0gKiBmaW5kIG91dCB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvciBjb3JlcyBvbiB0aGUgZGllCi0gKi8KLXN0YXRpYyBpbnQgX19jcHVpbml0IGludGVsX251bV9jcHVfY29yZXMoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXVuc2lnbmVkIGludCBlYXgsIHQ7Ci0KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPCA0KQotCQlyZXR1cm4gMTsKLQotCWNwdWlkX2NvdW50KDQsIDAsICZlYXgsICZ0LCAmdCwgJnQpOwotCi0JaWYgKGVheCAmIDB4MWYpCi0JCXJldHVybiAoKGVheCA+PiAyNikgKyAxKTsKLQllbHNlCi0JCXJldHVybiAxOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgc3JhdF9kZXRlY3Rfbm9kZSh2b2lkKQotewotI2lmZGVmIENPTkZJR19OVU1BCi0JdW5zaWduZWQgbm9kZTsKLQlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwotCWludCBhcGljaWQgPSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKTsKLQotCS8qIERvbid0IGRvIHRoZSBmdW5reSBmYWxsYmFjayBoZXVyaXN0aWNzIHRoZSBBTUQgdmVyc2lvbiBlbXBsb3lzCi0JICAgZm9yIG5vdy4gKi8KLQlub2RlID0gYXBpY2lkX3RvX25vZGVbYXBpY2lkXTsKLQlpZiAobm9kZSA9PSBOVU1BX05PX05PREUgfHwgIW5vZGVfb25saW5lKG5vZGUpKQotCQlub2RlID0gZmlyc3Rfbm9kZShub2RlX29ubGluZV9tYXApOwotCW51bWFfc2V0X25vZGUoY3B1LCBub2RlKTsKLQotCXByaW50ayhLRVJOX0lORk8gIkNQVSAlZC8leCAtPiBOb2RlICVkXG4iLCBjcHUsIGFwaWNpZCwgbm9kZSk7Ci0jZW5kaWYKLX0KLQotc3RhdGljIHZvaWQgX19jcHVpbml0IGVhcmx5X2luaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmICgoYy0+eDg2ID09IDB4ZiAmJiBjLT54ODZfbW9kZWwgPj0gMHgwMykgfHwKLQkgICAgKGMtPng4NiA9PSAweDYgJiYgYy0+eDg2X21vZGVsID49IDB4MGUpKQotCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgaW5pdF9pbnRlbChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JLyogQ2FjaGUgc2l6ZXMgKi8KLQl1bnNpZ25lZCBuOwotCi0JaW5pdF9pbnRlbF9jYWNoZWluZm8oYyk7Ci0JaWYgKGMtPmNwdWlkX2xldmVsID4gOSkgewotCQl1bnNpZ25lZCBlYXggPSBjcHVpZF9lYXgoMTApOwotCQkvKiBDaGVjayBmb3IgdmVyc2lvbiBhbmQgdGhlIG51bWJlciBvZiBjb3VudGVycyAqLwotCQlpZiAoKGVheCAmIDB4ZmYpICYmICgoKGVheD4+OCkgJiAweGZmKSA+IDEpKQotCQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQVJDSF9QRVJGTU9OKTsKLQl9Ci0KLQlpZiAoY3B1X2hhc19kcykgewotCQl1bnNpZ25lZCBpbnQgbDEsIGwyOwotCQlyZG1zcihNU1JfSUEzMl9NSVNDX0VOQUJMRSwgbDEsIGwyKTsKLQkJaWYgKCEobDEgJiAoMTw8MTEpKSkKLQkJCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0JUUyk7Ci0JCWlmICghKGwxICYgKDE8PDEyKSkpCi0JCQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9QRUJTKTsKLQl9Ci0KLQotCWlmIChjcHVfaGFzX2J0cykKLQkJZHNfaW5pdF9pbnRlbChjKTsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQkJLyogQ1BVSUQgd29ya2Fyb3VuZCBmb3IgSW50ZWwgMEYzNCBDUFUgKi8KLQkJaWYgKGMtPng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCAmJgotCQkgICAgYy0+eDg2ID09IDB4RiAmJiBjLT54ODZfbW9kZWwgPT0gMHgzICYmCi0JCSAgICBjLT54ODZfbWFzayA9PSAweDQpCi0JCQljLT54ODZfcGh5c19iaXRzID0gMzY7Ci0JfQotCi0JaWYgKGMtPng4NiA9PSAxNSkKLQkJYy0+eDg2X2NhY2hlX2FsaWdubWVudCA9IGMtPng4Nl9jbGZsdXNoX3NpemUgKiAyOwotCWlmIChjLT54ODYgPT0gNikKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyk7Ci0JYy0+eDg2X21heF9jb3JlcyA9IGludGVsX251bV9jcHVfY29yZXMoYyk7Ci0KLQlzcmF0X2RldGVjdF9ub2RlKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWlmIChjLT54ODYgPT0gMHg2ICYmIGMtPng4Nl9tb2RlbCA+PSAweGYpCi0JCXNldF9jcHVfY2FwKGMsIFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQyk7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBpbml0X2NlbnRhdXIoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCS8qIENhY2hlIHNpemVzICovCi0JdW5zaWduZWQgbjsKLQotCW4gPSBjLT5leHRlbmRlZF9jcHVpZF9sZXZlbDsKLQlpZiAobiA+PSAweDgwMDAwMDA4KSB7Ci0JCXVuc2lnbmVkIGVheCA9IGNwdWlkX2VheCgweDgwMDAwMDA4KTsKLQkJYy0+eDg2X3ZpcnRfYml0cyA9IChlYXggPj4gOCkgJiAweGZmOwotCQljLT54ODZfcGh5c19iaXRzID0gZWF4ICYgMHhmZjsKLQl9Ci0KLQlpZiAoYy0+eDg2ID09IDB4NiAmJiBjLT54ODZfbW9kZWwgPj0gMHhmKSB7Ci0JCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplICogMjsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKTsKLQkJc2V0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfUkVQX0dPT0QpOwotCX0KLQlzZXRfY3B1X2NhcChjLCBYODZfRkVBVFVSRV9MRkVOQ0VfUkRUU0MpOwotfQotCi1zdGF0aWMgdm9pZCBfX2NwdWluaXQgZ2V0X2NwdV92ZW5kb3Ioc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWNoYXIgKnYgPSBjLT54ODZfdmVuZG9yX2lkOwotCi0JaWYgKCFzdHJjbXAodiwgIkF1dGhlbnRpY0FNRCIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9BTUQ7Ci0JZWxzZSBpZiAoIXN0cmNtcCh2LCAiR2VudWluZUludGVsIikpCi0JCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9SX0lOVEVMOwotCWVsc2UgaWYgKCFzdHJjbXAodiwgIkNlbnRhdXJIYXVscyIpKQotCQljLT54ODZfdmVuZG9yID0gWDg2X1ZFTkRPUl9DRU5UQVVSOwotCWVsc2UKLQkJYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLX0KLQotLyogRG8gc29tZSBlYXJseSBjcHVpZCBvbiB0aGUgYm9vdCBDUFUgdG8gZ2V0IHNvbWUgcGFyYW1ldGVyIHRoYXQgYXJlCi0gICBuZWVkZWQgYmVmb3JlIGNoZWNrX2J1Z3MuIEV2ZXJ5dGhpbmcgYWR2YW5jZWQgaXMgaW4gaWRlbnRpZnlfY3B1Ci0gICBiZWxvdy4gKi8KLXN0YXRpYyB2b2lkIF9fY3B1aW5pdCBlYXJseV9pZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCXUzMiB0Zm1zLCB4bHZsOwotCi0JYy0+bG9vcHNfcGVyX2ppZmZ5ID0gbG9vcHNfcGVyX2ppZmZ5OwotCWMtPng4Nl9jYWNoZV9zaXplID0gLTE7Ci0JYy0+eDg2X3ZlbmRvciA9IFg4Nl9WRU5ET1JfVU5LTk9XTjsKLQljLT54ODZfbW9kZWwgPSBjLT54ODZfbWFzayA9IDA7CS8qIFNvIGZhciB1bmtub3duLi4uICovCi0JYy0+eDg2X3ZlbmRvcl9pZFswXSA9ICdcMCc7IC8qIFVuc2V0ICovCi0JYy0+eDg2X21vZGVsX2lkWzBdID0gJ1wwJzsgIC8qIFVuc2V0ICovCi0JYy0+eDg2X2NsZmx1c2hfc2l6ZSA9IDY0OwotCWMtPng4Nl9jYWNoZV9hbGlnbm1lbnQgPSBjLT54ODZfY2xmbHVzaF9zaXplOwotCWMtPng4Nl9tYXhfY29yZXMgPSAxOwotCWMtPng4Nl9jb3JlaWRfYml0cyA9IDA7Ci0JYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwgPSAwOwotCW1lbXNldCgmYy0+eDg2X2NhcGFiaWxpdHksIDAsIHNpemVvZiBjLT54ODZfY2FwYWJpbGl0eSk7Ci0KLQkvKiBHZXQgdmVuZG9yIG5hbWUgKi8KLQljcHVpZCgweDAwMDAwMDAwLCAodW5zaWduZWQgaW50ICopJmMtPmNwdWlkX2xldmVsLAotCSAgICAgICh1bnNpZ25lZCBpbnQgKikmYy0+eDg2X3ZlbmRvcl9pZFswXSwKLQkgICAgICAodW5zaWduZWQgaW50ICopJmMtPng4Nl92ZW5kb3JfaWRbOF0sCi0JICAgICAgKHVuc2lnbmVkIGludCAqKSZjLT54ODZfdmVuZG9yX2lkWzRdKTsKLQotCWdldF9jcHVfdmVuZG9yKGMpOwotCi0JLyogSW5pdGlhbGl6ZSB0aGUgc3RhbmRhcmQgc2V0IG9mIGNhcGFiaWxpdGllcyAqLwotCS8qIE5vdGUgdGhhdCB0aGUgdmVuZG9yLXNwZWNpZmljIGNvZGUgYmVsb3cgbWlnaHQgb3ZlcnJpZGUgKi8KLQotCS8qIEludGVsLWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4MDAwMDAwMDEgKi8KLQlpZiAoYy0+Y3B1aWRfbGV2ZWwgPj0gMHgwMDAwMDAwMSkgewotCQlfX3UzMiBtaXNjOwotCQljcHVpZCgweDAwMDAwMDAxLCAmdGZtcywgJm1pc2MsICZjLT54ODZfY2FwYWJpbGl0eVs0XSwKLQkJICAgICAgJmMtPng4Nl9jYXBhYmlsaXR5WzBdKTsKLQkJYy0+eDg2ID0gKHRmbXMgPj4gOCkgJiAweGY7Ci0JCWMtPng4Nl9tb2RlbCA9ICh0Zm1zID4+IDQpICYgMHhmOwotCQljLT54ODZfbWFzayA9IHRmbXMgJiAweGY7Ci0JCWlmIChjLT54ODYgPT0gMHhmKQotCQkJYy0+eDg2ICs9ICh0Zm1zID4+IDIwKSAmIDB4ZmY7Ci0JCWlmIChjLT54ODYgPj0gMHg2KQotCQkJYy0+eDg2X21vZGVsICs9ICgodGZtcyA+PiAxNikgJiAweEYpIDw8IDQ7Ci0JCWlmICh0ZXN0X2NwdV9jYXAoYywgWDg2X0ZFQVRVUkVfQ0xGTFNIKSkKLQkJCWMtPng4Nl9jbGZsdXNoX3NpemUgPSAoKG1pc2MgPj4gOCkgJiAweGZmKSAqIDg7Ci0JfSBlbHNlIHsKLQkJLyogSGF2ZSBDUFVJRCBsZXZlbCAwIG9ubHkgLSB1bmhlYXJkIG9mICovCi0JCWMtPng4NiA9IDQ7Ci0JfQotCi0JYy0+aW5pdGlhbF9hcGljaWQgPSAoY3B1aWRfZWJ4KDEpID4+IDI0KSAmIDB4ZmY7Ci0jaWZkZWYgQ09ORklHX1NNUAotCWMtPnBoeXNfcHJvY19pZCA9IGMtPmluaXRpYWxfYXBpY2lkOwotI2VuZGlmCi0JLyogQU1ELWRlZmluZWQgZmxhZ3M6IGxldmVsIDB4ODAwMDAwMDEgKi8KLQl4bHZsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0geGx2bDsKLQlpZiAoKHhsdmwgJiAweGZmZmYwMDAwKSA9PSAweDgwMDAwMDAwKSB7Ci0JCWlmICh4bHZsID49IDB4ODAwMDAwMDEpIHsKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzFdID0gY3B1aWRfZWR4KDB4ODAwMDAwMDEpOwotCQkJYy0+eDg2X2NhcGFiaWxpdHlbNl0gPSBjcHVpZF9lY3goMHg4MDAwMDAwMSk7Ci0JCX0KLQkJaWYgKHhsdmwgPj0gMHg4MDAwMDAwNCkKLQkJCWdldF9tb2RlbF9uYW1lKGMpOyAvKiBEZWZhdWx0IG5hbWUgKi8KLQl9Ci0KLQkvKiBUcmFuc21ldGEtZGVmaW5lZCBmbGFnczogbGV2ZWwgMHg4MDg2MDAwMSAqLwotCXhsdmwgPSBjcHVpZF9lYXgoMHg4MDg2MDAwMCk7Ci0JaWYgKCh4bHZsICYgMHhmZmZmMDAwMCkgPT0gMHg4MDg2MDAwMCkgewotCQkvKiBEb24ndCBzZXQgeDg2X2NwdWlkX2xldmVsIGhlcmUgZm9yIG5vdyB0byBub3QgY29uZnVzZS4gKi8KLQkJaWYgKHhsdmwgPj0gMHg4MDg2MDAwMSkKLQkJCWMtPng4Nl9jYXBhYmlsaXR5WzJdID0gY3B1aWRfZWR4KDB4ODA4NjAwMDEpOwotCX0KLQotCWMtPmV4dGVuZGVkX2NwdWlkX2xldmVsID0gY3B1aWRfZWF4KDB4ODAwMDAwMDApOwotCWlmIChjLT5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDA3KQotCQljLT54ODZfcG93ZXIgPSBjcHVpZF9lZHgoMHg4MDAwMDAwNyk7Ci0KLQlzd2l0Y2ggKGMtPng4Nl92ZW5kb3IpIHsKLQljYXNlIFg4Nl9WRU5ET1JfQU1EOgotCQllYXJseV9pbml0X2FtZChjKTsKLQkJYnJlYWs7Ci0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQllYXJseV9pbml0X2ludGVsKGMpOwotCQlicmVhazsKLQljYXNlIFg4Nl9WRU5ET1JfQ0VOVEFVUjoKLQkJZWFybHlfaW5pdF9jZW50YXVyKGMpOwotCQlicmVhazsKLQl9Ci0KLQl2YWxpZGF0ZV9wYXRfc3VwcG9ydChjKTsKLX0KLQotLyoKLSAqIFRoaXMgZG9lcyB0aGUgaGFyZCB3b3JrIG9mIGFjdHVhbGx5IHBpY2tpbmcgYXBhcnQgdGhlIENQVSBzdHVmZi4uLgotICovCi12b2lkIF9fY3B1aW5pdCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICpjKQotewotCWludCBpOwotCi0JZWFybHlfaWRlbnRpZnlfY3B1KGMpOwotCi0JaW5pdF9zY2F0dGVyZWRfY3B1aWRfZmVhdHVyZXMoYyk7Ci0KLQljLT5hcGljaWQgPSBwaHlzX3BrZ19pZCgwKTsKLQotCS8qCi0JICogVmVuZG9yLXNwZWNpZmljIGluaXRpYWxpemF0aW9uLiAgSW4gdGhpcyBzZWN0aW9uIHdlCi0JICogY2Fub25pY2FsaXplIHRoZSBmZWF0dXJlIGZsYWdzLCBtZWFuaW5nIGlmIHRoZXJlIGFyZQotCSAqIGZlYXR1cmVzIGEgY2VydGFpbiBDUFUgc3VwcG9ydHMgd2hpY2ggQ1BVSUQgZG9lc24ndAotCSAqIHRlbGwgdXMsIENQVUlEIGNsYWltaW5nIGluY29ycmVjdCBmbGFncywgb3Igb3RoZXIgYnVncywKLQkgKiB3ZSBoYW5kbGUgdGhlbSBoZXJlLgotCSAqCi0JICogQXQgdGhlIGVuZCBvZiB0aGlzIHNlY3Rpb24sIGMtPng4Nl9jYXBhYmlsaXR5IGJldHRlcgotCSAqIGluZGljYXRlIHRoZSBmZWF0dXJlcyB0aGlzIENQVSBnZW51aW5lbHkgc3VwcG9ydHMhCi0JICovCi0Jc3dpdGNoIChjLT54ODZfdmVuZG9yKSB7Ci0JY2FzZSBYODZfVkVORE9SX0FNRDoKLQkJaW5pdF9hbWQoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX0lOVEVMOgotCQlpbml0X2ludGVsKGMpOwotCQlicmVhazsKLQotCWNhc2UgWDg2X1ZFTkRPUl9DRU5UQVVSOgotCQlpbml0X2NlbnRhdXIoYyk7Ci0JCWJyZWFrOwotCi0JY2FzZSBYODZfVkVORE9SX1VOS05PV046Ci0JZGVmYXVsdDoKLQkJZGlzcGxheV9jYWNoZWluZm8oYyk7Ci0JCWJyZWFrOwotCX0KLQotCWRldGVjdF9odChjKTsKLQotCS8qCi0JICogT24gU01QLCBib290X2NwdV9kYXRhIGhvbGRzIHRoZSBjb21tb24gZmVhdHVyZSBzZXQgYmV0d2VlbgotCSAqIGFsbCBDUFVzOyBzbyBtYWtlIHN1cmUgdGhhdCB3ZSBpbmRpY2F0ZSB3aGljaCBmZWF0dXJlcyBhcmUKLQkgKiBjb21tb24gYmV0d2VlbiB0aGUgQ1BVcy4gIFRoZSBmaXJzdCB0aW1lIHRoaXMgcm91dGluZSBnZXRzCi0JICogZXhlY3V0ZWQsIGMgPT0gJmJvb3RfY3B1X2RhdGEuCi0JICovCi0JaWYgKGMgIT0gJmJvb3RfY3B1X2RhdGEpIHsKLQkJLyogQU5EIHRoZSBhbHJlYWR5IGFjY3VtdWxhdGVkIGZsYWdzIHdpdGggdGhlc2UgKi8KLQkJZm9yIChpID0gMDsgaSA8IE5DQVBJTlRTOyBpKyspCi0JCQlib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5W2ldICY9IGMtPng4Nl9jYXBhYmlsaXR5W2ldOwotCX0KLQotCS8qIENsZWFyIGFsbCBmbGFncyBvdmVycmlkZW4gYnkgb3B0aW9ucyAqLwotCWZvciAoaSA9IDA7IGkgPCBOQ0FQSU5UUzsgaSsrKQotCQljLT54ODZfY2FwYWJpbGl0eVtpXSAmPSB+Y2xlYXJlZF9jcHVfY2Fwc1tpXTsKLQotI2lmZGVmIENPTkZJR19YODZfTUNFCi0JbWNoZWNrX2luaXQoYyk7Ci0jZW5kaWYKLQlzZWxlY3RfaWRsZV9yb3V0aW5lKGMpOwotCi0jaWZkZWYgQ09ORklHX05VTUEKLQludW1hX2FkZF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLSNlbmRpZgotCi19Ci0KLXZvaWQgX19jcHVpbml0IGlkZW50aWZ5X2Jvb3RfY3B1KHZvaWQpCi17Ci0JaWRlbnRpZnlfY3B1KCZib290X2NwdV9kYXRhKTsKLX0KLQotdm9pZCBfX2NwdWluaXQgaWRlbnRpZnlfc2Vjb25kYXJ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JQlVHX09OKGMgPT0gJmJvb3RfY3B1X2RhdGEpOwotCWlkZW50aWZ5X2NwdShjKTsKLQltdHJyX2FwX2luaXQoKTsKLX0KLQotc3RhdGljIF9faW5pdCBpbnQgc2V0dXBfbm9jbGZsdXNoKGNoYXIgKmFyZykKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0NMRkxTSCk7Ci0JcmV0dXJuIDE7Ci19Ci1fX3NldHVwKCJub2NsZmx1c2giLCBzZXR1cF9ub2NsZmx1c2gpOwotCi12b2lkIF9fY3B1aW5pdCBwcmludF9jcHVfaW5mbyhzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCi17Ci0JaWYgKGMtPng4Nl9tb2RlbF9pZFswXSkKLQkJcHJpbnRrKEtFUk5fQ09OVCAiJXMiLCBjLT54ODZfbW9kZWxfaWQpOwotCi0JaWYgKGMtPng4Nl9tYXNrIHx8IGMtPmNwdWlkX2xldmVsID49IDApCi0JCXByaW50ayhLRVJOX0NPTlQgIiBzdGVwcGluZyAlMDJ4XG4iLCBjLT54ODZfbWFzayk7Ci0JZWxzZQotCQlwcmludGsoS0VSTl9DT05UICJcbiIpOwotfQotCi1zdGF0aWMgX19pbml0IGludCBzZXR1cF9kaXNhYmxlY3B1aWQoY2hhciAqYXJnKQotewotCWludCBiaXQ7Ci0JaWYgKGdldF9vcHRpb24oJmFyZywgJmJpdCkgJiYgYml0IDwgTkNBUElOVFMqMzIpCi0JCXNldHVwX2NsZWFyX2NwdV9jYXAoYml0KTsKLQllbHNlCi0JCXJldHVybiAwOwotCXJldHVybiAxOwotfQotX19zZXR1cCgiY2xlYXJjcHVpZD0iLCBzZXR1cF9kaXNhYmxlY3B1aWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jIGIvYXJjaC94ODYva2VybmVsL3NldHVwX3BlcmNwdS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhYzY4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1LmMKQEAgLTAsMCArMSwzOTkgQEAKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYm9vdG1lbS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+CisjaW5jbHVkZSA8bGludXgvY3Jhc2hfZHVtcC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CisjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KKyNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9oaWdobWVtLmg+CisKKyNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKK3Vuc2lnbmVkIGludCBudW1fcHJvY2Vzc29yczsKK3Vuc2lnbmVkIGRpc2FibGVkX2NwdXMgX19jcHVpbml0ZGF0YTsKKy8qIFByb2Nlc3NvciB0aGF0IGlzIGRvaW5nIHRoZSBib290IHVwICovCit1bnNpZ25lZCBpbnQgYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gLTFVOwordW5zaWduZWQgaW50IG1heF9waHlzaWNhbF9hcGljaWQ7CitFWFBPUlRfU1lNQk9MKGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZCk7CisKKy8qIEJpdG1hc2sgb2YgcGh5c2ljYWxseSBleGlzdGluZyBDUFVzICovCitwaHlzaWRfbWFza190IHBoeXNfY3B1X3ByZXNlbnRfbWFwOworI2VuZGlmCisKKy8qIG1hcCBjcHUgaW5kZXggdG8gcGh5c2ljYWwgQVBJQyBJRCAqLworREVGSU5FX0VBUkxZX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCwgQkFEX0FQSUNJRCk7CitERUZJTkVfRUFSTFlfUEVSX0NQVSh1MTYsIHg4Nl9iaW9zX2NwdV9hcGljaWQsIEJBRF9BUElDSUQpOworRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKHg4Nl9jcHVfdG9fYXBpY2lkKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfYmlvc19jcHVfYXBpY2lkKTsKKworI2lmIGRlZmluZWQoQ09ORklHX05VTUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkKKyNkZWZpbmUJWDg2XzY0X05VTUEJMQorCisvKiBtYXAgY3B1IGluZGV4IHRvIG5vZGUgaW5kZXggKi8KK0RFRklORV9FQVJMWV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCwgTlVNQV9OT19OT0RFKTsKK0VYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKKworLyogd2hpY2ggbG9naWNhbCBDUFVzIGFyZSBvbiB3aGljaCBub2RlcyAqLworY3B1bWFza190ICpub2RlX3RvX2NwdW1hc2tfbWFwOworRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKKworLyogc2V0dXAgbm9kZV90b19jcHVtYXNrX21hcCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX25vZGVfdG9fY3B1bWFza19tYXAodm9pZCk7CisKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfbm9kZV90b19jcHVtYXNrX21hcCh2b2lkKSB7IH0KKyNlbmRpZgorCisjaWYgZGVmaW5lZChDT05GSUdfSEFWRV9TRVRVUF9QRVJfQ1BVX0FSRUEpICYmIGRlZmluZWQoQ09ORklHX1g4Nl9TTVApCisvKgorICogQ29weSBkYXRhIHVzZWQgaW4gZWFybHkgaW5pdCByb3V0aW5lcyBmcm9tIHRoZSBpbml0aWFsIGFycmF5cyB0byB0aGUKKyAqIHBlciBjcHUgZGF0YSBhcmVhcy4gIFRoZXNlIGFycmF5cyB0aGVuIGJlY29tZSBleHBlbmRhYmxlIGFuZCB0aGUKKyAqICpfZWFybHlfcHRyJ3MgYXJlIHplcm9lZCBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXRpYyBhcnJheXMgYXJlIGdvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9wZXJfY3B1X21hcHModm9pZCkKK3sKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlwZXJfY3B1KHg4Nl9jcHVfdG9fYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KTsKKwkJcGVyX2NwdSh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpID0KKwkJCQllYXJseV9wZXJfY3B1X21hcCh4ODZfYmlvc19jcHVfYXBpY2lkLCBjcHUpOworI2lmZGVmIFg4Nl82NF9OVU1BCisJCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9CisJCQkJZWFybHlfcGVyX2NwdV9tYXAoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKKyNlbmRpZgorCX0KKworCS8qIGluZGljYXRlIHRoZSBlYXJseSBzdGF0aWMgYXJyYXlzIHdpbGwgc29vbiBiZSBnb25lICovCisJZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19hcGljaWQpID0gTlVMTDsKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfYmlvc19jcHVfYXBpY2lkKSA9IE5VTEw7CisjaWZkZWYgWDg2XzY0X05VTUEKKwllYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTEw7CisjZW5kaWYKK30KKworI2lmZGVmIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUAorY3B1bWFza190ICpjcHVtYXNrX29mX2NwdV9tYXAgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woY3B1bWFza19vZl9jcHVfbWFwKTsKKworLyogcmVxdWlyZXMgbnJfY3B1X2lkcyB0byBiZSBpbml0aWFsaXplZCAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdW1hc2tfb2ZfY3B1KHZvaWQpCit7CisJaW50IGk7CisKKwkvKiBhbGxvY19ib290bWVtIHplcm9lcyBtZW1vcnkgKi8KKwljcHVtYXNrX29mX2NwdV9tYXAgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2YoY3B1bWFza190KSAqIG5yX2NwdV9pZHMpOworCWZvciAoaSA9IDA7IGkgPCBucl9jcHVfaWRzOyBpKyspCisJCWNwdV9zZXQoaSwgY3B1bWFza19vZl9jcHVfbWFwW2ldKTsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1bWFza19vZl9jcHUodm9pZCkgeyB9CisjZW5kaWYKKworI2lmZGVmIENPTkZJR19YODZfMzIKKy8qCisgKiBHcmVhdCBmdXR1cmUgbm90LXNvLWZ1dHVyaXN0aWMgcGxhbjogbWFrZSBpMzg2IGFuZCB4ODZfNjQgZG8gaXQKKyAqIHRoZSBzYW1lIHdheQorICovCit1bnNpZ25lZCBsb25nIF9fcGVyX2NwdV9vZmZzZXRbTlJfQ1BVU10gX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woX19wZXJfY3B1X29mZnNldCk7CitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbGlmICFkZWZpbmVkKENPTkZJR19TTVApCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfY3B1X3BkYV9tYXAodm9pZCkgeyB9CisKKyNlbHNlIC8qIENPTkZJR19TTVAgJiYgQ09ORklHX1g4Nl82NCAqLworCisvKgorICogQWxsb2NhdGUgY3B1X3BkYSBwb2ludGVyIHRhYmxlIGFuZCBhcnJheSB2aWEgYWxsb2NfYm9vdG1lbS4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2NwdV9wZGFfbWFwKHZvaWQpCit7CisJY2hhciAqcGRhOworCXN0cnVjdCB4ODY2NF9wZGEgKipuZXdfY3B1X3BkYTsKKwl1bnNpZ25lZCBsb25nIHNpemU7CisJaW50IGNwdTsKKworCXNpemUgPSByb3VuZHVwKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgY2FjaGVfbGluZV9zaXplKCkpOworCisJLyogYWxsb2NhdGUgY3B1X3BkYSBhcnJheSBhbmQgcG9pbnRlciB0YWJsZSAqLworCXsKKwkJdW5zaWduZWQgbG9uZyB0c2l6ZSA9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKTsKKwkJdW5zaWduZWQgbG9uZyBhc2l6ZSA9IHNpemUgKiAobnJfY3B1X2lkcyAtIDEpOworCisJCXRzaXplID0gcm91bmR1cCh0c2l6ZSwgY2FjaGVfbGluZV9zaXplKCkpOworCQluZXdfY3B1X3BkYSA9IGFsbG9jX2Jvb3RtZW0odHNpemUgKyBhc2l6ZSk7CisJCXBkYSA9IChjaGFyICopbmV3X2NwdV9wZGEgKyB0c2l6ZTsKKwl9CisKKwkvKiBpbml0aWFsaXplIHBvaW50ZXIgdGFibGUgdG8gc3RhdGljIHBkYSdzICovCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgeworCQlpZiAoY3B1ID09IDApIHsKKwkJCS8qIGxlYXZlIGJvb3QgY3B1IHBkYSBpbiBwbGFjZSAqLworCQkJbmV3X2NwdV9wZGFbMF0gPSBjcHVfcGRhKDApOworCQkJY29udGludWU7CisJCX0KKwkJbmV3X2NwdV9wZGFbY3B1XSA9IChzdHJ1Y3QgeDg2NjRfcGRhICopcGRhOworCQluZXdfY3B1X3BkYVtjcHVdLT5pbl9ib290bWVtID0gMTsKKwkJcGRhICs9IHNpemU7CisJfQorCisJLyogcG9pbnQgdG8gbmV3IHBvaW50ZXIgdGFibGUgKi8KKwlfY3B1X3BkYSA9IG5ld19jcHVfcGRhOworfQorI2VuZGlmCisKKy8qCisgKiBHcmVhdCBmdXR1cmUgcGxhbjoKKyAqIERlY2xhcmUgUERBIGl0c2VsZiBhbmQgc3VwcG9ydCAoaXJxc3RhY2ssdHNzLHBnZCkgYXMgcGVyIGNwdSBkYXRhLgorICogQWx3YXlzIHBvaW50ICVncyB0byBpdHMgYmVnaW5uaW5nCisgKi8KK3ZvaWQgX19pbml0IHNldHVwX3Blcl9jcHVfYXJlYXModm9pZCkKK3sKKwlzc2l6ZV90IHNpemUgPSBQRVJDUFVfRU5PVUdIX1JPT007CisJY2hhciAqcHRyOworCWludCBjcHU7CisKKwkvKiBTZXR1cCBjcHVfcGRhIG1hcCAqLworCXNldHVwX2NwdV9wZGFfbWFwKCk7CisKKwkvKiBDb3B5IHNlY3Rpb24gZm9yIGVhY2ggQ1BVICh3ZSBkaXNjYXJkIHRoZSBvcmlnaW5hbCkgKi8KKwlzaXplID0gUEVSQ1BVX0VOT1VHSF9ST09NOworCXByaW50ayhLRVJOX0lORk8gIlBFUkNQVTogQWxsb2NhdGluZyAlemQgYnl0ZXMgb2YgcGVyIGNwdSBkYXRhXG4iLAorCQkJICBzaXplKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKyNpZm5kZWYgQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMKKwkJcHRyID0gYWxsb2NfYm9vdG1lbV9wYWdlcyhzaXplKTsKKyNlbHNlCisJCWludCBub2RlID0gZWFybHlfY3B1X3RvX25vZGUoY3B1KTsKKwkJaWYgKCFub2RlX29ubGluZShub2RlKSB8fCAhTk9ERV9EQVRBKG5vZGUpKSB7CisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzKHNpemUpOworCQkJcHJpbnRrKEtFUk5fSU5GTworCQkJICAgICAgICJjcHUgJWQgaGFzIG5vIG5vZGUgJWQgb3Igbm9kZS1sb2NhbCBtZW1vcnlcbiIsCisJCQkJY3B1LCBub2RlKTsKKwkJfQorCQllbHNlCisJCQlwdHIgPSBhbGxvY19ib290bWVtX3BhZ2VzX25vZGUoTk9ERV9EQVRBKG5vZGUpLCBzaXplKTsKKyNlbmRpZgorCQlwZXJfY3B1X29mZnNldChjcHUpID0gcHRyIC0gX19wZXJfY3B1X3N0YXJ0OworCQltZW1jcHkocHRyLCBfX3Blcl9jcHVfc3RhcnQsIF9fcGVyX2NwdV9lbmQgLSBfX3Blcl9jcHVfc3RhcnQpOworCisJfQorCisJcHJpbnRrKEtFUk5fREVCVUcgIk5SX0NQVVM6ICVkLCBucl9jcHVfaWRzOiAlZCwgbnJfbm9kZV9pZHMgJWRcbiIsCisJCU5SX0NQVVMsIG5yX2NwdV9pZHMsIG5yX25vZGVfaWRzKTsKKworCS8qIFNldHVwIHBlcmNwdSBkYXRhIG1hcHMgKi8KKwlzZXR1cF9wZXJfY3B1X21hcHMoKTsKKworCS8qIFNldHVwIG5vZGUgdG8gY3B1bWFzayBtYXAgKi8KKwlzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKCk7CisKKwkvKiBTZXR1cCBjcHVtYXNrX29mX2NwdSBtYXAgKi8KKwlzZXR1cF9jcHVtYXNrX29mX2NwdSgpOworfQorCisjZW5kaWYKKworI2lmZGVmIFg4Nl82NF9OVU1BCisKKy8qCisgKiBBbGxvY2F0ZSBub2RlX3RvX2NwdW1hc2tfbWFwIGJhc2VkIG9uIG51bWJlciBvZiBhdmFpbGFibGUgbm9kZXMKKyAqIFJlcXVpcmVzIG5vZGVfcG9zc2libGVfbWFwIHRvIGJlIHZhbGlkLgorICoKKyAqIE5vdGU6IG5vZGVfdG9fY3B1bWFzaygpIGlzIG5vdCB2YWxpZCB1bnRpbCBhZnRlciB0aGlzIGlzIGRvbmUuCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX3RvX2NwdW1hc2tfbWFwKHZvaWQpCit7CisJdW5zaWduZWQgaW50IG5vZGUsIG51bSA9IDA7CisJY3B1bWFza190ICptYXA7CisKKwkvKiBzZXR1cCBucl9ub2RlX2lkcyBpZiBub3QgZG9uZSB5ZXQgKi8KKwlpZiAobnJfbm9kZV9pZHMgPT0gTUFYX05VTU5PREVTKSB7CisJCWZvcl9lYWNoX25vZGVfbWFzayhub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkKKwkJCW51bSA9IG5vZGU7CisJCW5yX25vZGVfaWRzID0gbnVtICsgMTsKKwl9CisKKwkvKiBhbGxvY2F0ZSB0aGUgbWFwICovCisJbWFwID0gYWxsb2NfYm9vdG1lbV9sb3cobnJfbm9kZV9pZHMgKiBzaXplb2YoY3B1bWFza190KSk7CisKKwlEcHJpbnRrKEtFUk5fREVCVUcgIk5vZGUgdG8gY3B1bWFzayBtYXAgYXQgJXAgZm9yICVkIG5vZGVzXG4iLAorCQltYXAsIG5yX25vZGVfaWRzKTsKKworCS8qIG5vZGVfdG9fY3B1bWFzaygpIHdpbGwgbm93IHdvcmsgKi8KKwlub2RlX3RvX2NwdW1hc2tfbWFwID0gbWFwOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQoreworCWludCAqY3B1X3RvX25vZGVfbWFwID0gZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCk7CisKKwlpZiAoY3B1X3BkYShjcHUpICYmIG5vZGUgIT0gTlVNQV9OT19OT0RFKQorCQljcHVfcGRhKGNwdSktPm5vZGVudW1iZXIgPSBub2RlOworCisJaWYgKGNwdV90b19ub2RlX21hcCkKKwkJY3B1X3RvX25vZGVfbWFwW2NwdV0gPSBub2RlOworCisJZWxzZSBpZiAocGVyX2NwdV9vZmZzZXQoY3B1KSkKKwkJcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpID0gbm9kZTsKKworCWVsc2UKKwkJRHByaW50ayhLRVJOX0lORk8gIlNldHRpbmcgbm9kZSBmb3Igbm9uLXByZXNlbnQgY3B1ICVkXG4iLCBjcHUpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX2NsZWFyX25vZGUoaW50IGNwdSkKK3sKKwludW1hX3NldF9ub2RlKGNwdSwgTlVNQV9OT19OT0RFKTsKK30KKworI2lmbmRlZiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTCisKK3ZvaWQgX19jcHVpbml0IG51bWFfYWRkX2NwdShpbnQgY3B1KQoreworCWNwdV9zZXQoY3B1LCBub2RlX3RvX2NwdW1hc2tfbWFwW2Vhcmx5X2NwdV90b19ub2RlKGNwdSldKTsKK30KKwordm9pZCBfX2NwdWluaXQgbnVtYV9yZW1vdmVfY3B1KGludCBjcHUpCit7CisJY3B1X2NsZWFyKGNwdSwgbm9kZV90b19jcHVtYXNrX21hcFtjcHVfdG9fbm9kZShjcHUpXSk7Cit9CisKKyNlbHNlIC8qIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgKi8KKworLyoKKyAqIC0tLS0tLS0tLSBkZWJ1ZyB2ZXJzaW9ucyBvZiB0aGUgbnVtYSBmdW5jdGlvbnMgLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lkIF9fY3B1aW5pdCBudW1hX3NldF9jcHVtYXNrKGludCBjcHUsIGludCBlbmFibGUpCit7CisJaW50IG5vZGUgPSBjcHVfdG9fbm9kZShjcHUpOworCWNwdW1hc2tfdCAqbWFzazsKKwljaGFyIGJ1Zls2NF07CisKKwlpZiAobm9kZV90b19jcHVtYXNrX21hcCA9PSBOVUxMKSB7CisJCXByaW50ayhLRVJOX0VSUiAibm9kZV90b19jcHVtYXNrX21hcCBOVUxMXG4iKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm47CisJfQorCisJbWFzayA9ICZub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOworCWlmIChlbmFibGUpCisJCWNwdV9zZXQoY3B1LCAqbWFzayk7CisJZWxzZQorCQljcHVfY2xlYXIoY3B1LCAqbWFzayk7CisKKwljcHVsaXN0X3NjbnByaW50ZihidWYsIHNpemVvZihidWYpLCAqbWFzayk7CisJcHJpbnRrKEtFUk5fREVCVUcgIiVzIGNwdSAlZCBub2RlICVkOiBtYXNrIG5vdyAlc1xuIiwKKwkJZW5hYmxlPyAibnVtYV9hZGRfY3B1IjoibnVtYV9yZW1vdmVfY3B1IiwgY3B1LCBub2RlLCBidWYpOworIH0KKwordm9pZCBfX2NwdWluaXQgbnVtYV9hZGRfY3B1KGludCBjcHUpCit7CisJbnVtYV9zZXRfY3B1bWFzayhjcHUsIDEpOworfQorCit2b2lkIF9fY3B1aW5pdCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKK3sKKwludW1hX3NldF9jcHVtYXNrKGNwdSwgMCk7Cit9CisKK2ludCBjcHVfdG9fbm9kZShpbnQgY3B1KQoreworCWlmIChlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiY3B1X3RvX25vZGUoJWQpOiB1c2FnZSB0b28gZWFybHkhXG4iLCBjcHUpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCX0KKwlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOworfQorRVhQT1JUX1NZTUJPTChjcHVfdG9fbm9kZSk7CisKKy8qCisgKiBTYW1lIGZ1bmN0aW9uIGFzIGNwdV90b19ub2RlKCkgYnV0IHVzZWQgaWYgY2FsbGVkIGJlZm9yZSB0aGUKKyAqIHBlcl9jcHUgYXJlYXMgYXJlIHNldHVwLgorICovCitpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSkKK3sKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkpCisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCisJaWYgKCFwZXJfY3B1X29mZnNldChjcHUpKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJlYXJseV9jcHVfdG9fbm9kZSglZCk6IG5vIHBlcl9jcHUgYXJlYSFcbiIsIGNwdSk7CisJCWR1bXBfc3RhY2soKTsKKwkJcmV0dXJuIE5VTUFfTk9fTk9ERTsKKwl9CisJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKK30KKworCisvKiBlbXB0eSBjcHVtYXNrICovCitzdGF0aWMgY29uc3QgY3B1bWFza190IGNwdV9tYXNrX25vbmU7CisKKy8qCisgKiBSZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgYml0bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLgorICovCitjb25zdCBjcHVtYXNrX3QgKl9ub2RlX3RvX2NwdW1hc2tfcHRyKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm8gbm9kZV90b19jcHVtYXNrX21hcCFcbiIsCisJCQlub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gKGNvbnN0IGNwdW1hc2tfdCAqKSZjcHVfb25saW5lX21hcDsKKwl9CisJaWYgKG5vZGUgPj0gbnJfbm9kZV9pZHMpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIl9ub2RlX3RvX2NwdW1hc2tfcHRyKCVkKTogbm9kZSA+IG5yX25vZGVfaWRzKCVkKVxuIiwKKwkJCW5vZGUsIG5yX25vZGVfaWRzKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gJmNwdV9tYXNrX25vbmU7CisJfQorCXJldHVybiAmbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0woX25vZGVfdG9fY3B1bWFza19wdHIpOworCisvKgorICogUmV0dXJucyBhIGJpdG1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4KKyAqCisgKiBTaWRlIG5vdGU6IHRoaXMgZnVuY3Rpb24gY3JlYXRlcyB0aGUgcmV0dXJuZWQgY3B1bWFzayBvbiB0aGUgc3RhY2sKKyAqIHNvIHdpdGggYSBoaWdoIE5SX0NQVVMgY291bnQsIGV4Y2Vzc2l2ZSBzdGFjayBzcGFjZSBpcyB1c2VkLiAgVGhlCisgKiBub2RlX3RvX2NwdW1hc2tfcHRyIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHdoZW5ldmVyIHBvc3NpYmxlLgorICovCitjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCWlmIChub2RlX3RvX2NwdW1hc2tfbWFwID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIm5vZGVfdG9fY3B1bWFzayglZCk6IG5vIG5vZGVfdG9fY3B1bWFza19tYXAhXG4iLCBub2RlKTsKKwkJZHVtcF9zdGFjaygpOworCQlyZXR1cm4gY3B1X29ubGluZV9tYXA7CisJfQorCWlmIChub2RlID49IG5yX25vZGVfaWRzKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJub2RlX3RvX2NwdW1hc2soJWQpOiBub2RlID4gbnJfbm9kZV9pZHMoJWQpXG4iLAorCQkJbm9kZSwgbnJfbm9kZV9pZHMpOworCQlkdW1wX3N0YWNrKCk7CisJCXJldHVybiBjcHVfbWFza19ub25lOworCX0KKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KK0VYUE9SVF9TWU1CT0wobm9kZV90b19jcHVtYXNrKTsKKworLyoKKyAqIC0tLS0tLS0tLSBlbmQgb2YgZGVidWcgdmVyc2lvbnMgb2YgdGhlIG51bWEgZnVuY3Rpb25zIC0tLS0tLS0tLQorICovCisKKyNlbmRpZiAvKiBDT05GSUdfREVCVUdfUEVSX0NQVV9NQVBTICovCisKKyNlbmRpZiAvKiBYODZfNjRfTlVNQSAqLworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc21wLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc21wLmMKaW5kZXggMGNiN2FhZC4uMzYxYjdhNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3NtcC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zbXAuYwpAQCAtMTIxLDEzMiArMTIxLDIzIEBACiAJc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBSRVNDSEVEVUxFX1ZFQ1RPUik7CiB9CiAKLS8qCi0gKiBTdHJ1Y3R1cmUgYW5kIGRhdGEgZm9yIHNtcF9jYWxsX2Z1bmN0aW9uKCkuIFRoaXMgaXMgZGVzaWduZWQgdG8gbWluaW1pc2UKLSAqIHN0YXRpYyBtZW1vcnkgcmVxdWlyZW1lbnRzLiBJdCBhbHNvIGxvb2tzIGNsZWFuZXIuCi0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQlhdG9taWNfdCBzdGFydGVkOwotCWF0b21pY190IGZpbmlzaGVkOwotCWludCB3YWl0OwotfTsKLQotdm9pZCBsb2NrX2lwaV9jYWxsX2xvY2sodm9pZCkKK3ZvaWQgbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkoaW50IGNwdSkKIHsKLQlzcGluX2xvY2tfaXJxKCZjYWxsX2xvY2spOworCXNlbmRfSVBJX21hc2soY3B1bWFza19vZl9jcHUoY3B1KSwgQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKTsKIH0KIAotdm9pZCB1bmxvY2tfaXBpX2NhbGxfbG9jayh2b2lkKQordm9pZCBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpKGNwdW1hc2tfdCBtYXNrKQogewotCXNwaW5fdW5sb2NrX2lycSgmY2FsbF9sb2NrKTsKLX0KLQotc3RhdGljIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KLXN0YXRpYyB2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCQlpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCkKLXsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCWludCBjcHVzID0gbnVtX29ubGluZV9jcHVzKCkgLSAxOwotCi0JaWYgKCFjcHVzKQotCQlyZXR1cm47Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBhbGwgb3RoZXIgQ1BVcyBhbmQgd2FpdCBmb3IgdGhlbSB0byByZXNwb25kICovCi0Jc2VuZF9JUElfYWxsYnV0c2VsZihDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzKQotCQljcHVfcmVsYXgoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoYXRvbWljX3JlYWQoJmRhdGEuZmluaXNoZWQpICE9IGNwdXMpCi0JCQljcHVfcmVsYXgoKTsKLX0KLQotCi0vKioKLSAqIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soKTogUnVuIGEgZnVuY3Rpb24gb24gYSBzZXQgb2Ygb3RoZXIgQ1BVcy4KLSAqIEBtYXNrOiBUaGUgc2V0IG9mIGNwdXMgdG8gcnVuIG9uLiAgTXVzdCBub3QgaW5jbHVkZSB0aGUgY3VycmVudCBjcHUuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKgotICogWW91IG11c3Qgbm90IGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGRpc2FibGVkIGludGVycnVwdHMgb3IgZnJvbSBhCi0gKiBoYXJkd2FyZSBpbnRlcnJ1cHQgaGFuZGxlciBvciBmcm9tIGEgYm90dG9tIGhhbGYgaGFuZGxlci4KLSAqLwotc3RhdGljIGludAotbmF0aXZlX3NtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssCi0JCQkgICAgICB2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgIGludCB3YWl0KQotewotCXN0cnVjdCBjYWxsX2RhdGFfc3RydWN0IGRhdGE7CiAJY3B1bWFza190IGFsbGJ1dHNlbGY7Ci0JaW50IGNwdXM7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7CiAKIAlhbGxidXRzZWxmID0gY3B1X29ubGluZV9tYXA7CiAJY3B1X2NsZWFyKHNtcF9wcm9jZXNzb3JfaWQoKSwgYWxsYnV0c2VsZik7CiAKLQljcHVzX2FuZChtYXNrLCBtYXNrLCBhbGxidXRzZWxmKTsKLQljcHVzID0gY3B1c193ZWlnaHQobWFzayk7Ci0KLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCWRhdGEuZnVuYyA9IGZ1bmM7Ci0JZGF0YS5pbmZvID0gaW5mbzsKLQlhdG9taWNfc2V0KCZkYXRhLnN0YXJ0ZWQsIDApOwotCWRhdGEud2FpdCA9IHdhaXQ7Ci0JaWYgKHdhaXQpCi0JCWF0b21pY19zZXQoJmRhdGEuZmluaXNoZWQsIDApOwotCi0JY2FsbF9kYXRhID0gJmRhdGE7Ci0Jd21iKCk7Ci0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzICovCiAJaWYgKGNwdXNfZXF1YWwobWFzaywgYWxsYnV0c2VsZikgJiYKIAkgICAgY3B1c19lcXVhbChjcHVfb25saW5lX21hcCwgY3B1X2NhbGxvdXRfbWFwKSkKIAkJc2VuZF9JUElfYWxsYnV0c2VsZihDQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7CiAJZWxzZQogCQlzZW5kX0lQSV9tYXNrKG1hc2ssIENBTExfRlVOQ1RJT05fVkVDVE9SKTsKLQotCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCi0Jd2hpbGUgKGF0b21pY19yZWFkKCZkYXRhLnN0YXJ0ZWQpICE9IGNwdXMpCi0JCWNwdV9yZWxheCgpOwotCi0JaWYgKHdhaXQpCi0JCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5maW5pc2hlZCkgIT0gY3B1cykKLQkJCWNwdV9yZWxheCgpOwotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCi0JcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkIHN0b3BfdGhpc19jcHUodm9pZCAqZHVtbXkpCkBAIC0yNjgsMTggKzE1OSwxMyBAQAogCiBzdGF0aWMgdm9pZCBuYXRpdmVfc21wX3NlbmRfc3RvcCh2b2lkKQogewotCWludCBub2xvY2s7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWlmIChyZWJvb3RfZm9yY2UpCiAJCXJldHVybjsKIAotCS8qIERvbid0IGRlYWRsb2NrIG9uIHRoZSBjYWxsIGxvY2sgaW4gcGFuaWMgKi8KLQlub2xvY2sgPSAhc3Bpbl90cnlsb2NrKCZjYWxsX2xvY2spOworCXNtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDApOwogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQlfX3NtcF9jYWxsX2Z1bmN0aW9uKHN0b3BfdGhpc19jcHUsIE5VTEwsIDAsIDApOwotCWlmICghbm9sb2NrKQotCQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKIAlkaXNhYmxlX2xvY2FsX0FQSUMoKTsKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CkBAIC0zMDEsMzMgKzE4NywyOCBAQAogCiB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKLQl2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pID0gY2FsbF9kYXRhLT5mdW5jOwotCXZvaWQgKmluZm8gPSBjYWxsX2RhdGEtPmluZm87Ci0JaW50IHdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0KIAlhY2tfQVBJQ19pcnEoKTsKLQkvKgotCSAqIE5vdGlmeSBpbml0aWF0aW5nIENQVSB0aGF0IEkndmUgZ3JhYmJlZCB0aGUgZGF0YSBhbmQgYW0KLQkgKiBhYm91dCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbgotCSAqLwotCW1iKCk7Ci0JYXRvbWljX2luYygmY2FsbF9kYXRhLT5zdGFydGVkKTsKLQkvKgotCSAqIEF0IHRoaXMgcG9pbnQgdGhlIGluZm8gc3RydWN0dXJlIG1heSBiZSBvdXQgb2Ygc2NvcGUgdW5sZXNzIHdhaXQ9PTEKLQkgKi8KIAlpcnFfZW50ZXIoKTsKLQkoKmZ1bmMpKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAjZWxzZQogCWFkZF9wZGEoaXJxX2NhbGxfY291bnQsIDEpOwogI2VuZGlmCiAJaXJxX2V4aXQoKTsKK30KIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7Ci0JCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+ZmluaXNoZWQpOwotCX0KK3ZvaWQgc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlhY2tfQVBJQ19pcnEoKTsKKwlpcnFfZW50ZXIoKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKyNlbHNlCisJYWRkX3BkYShpcnFfY2FsbF9jb3VudCwgMSk7CisjZW5kaWYKKwlpcnFfZXhpdCgpOwogfQogCiBzdHJ1Y3Qgc21wX29wcyBzbXBfb3BzID0gewpAQCAtMzM4LDcgKzIxOSw4IEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IG5hdGl2ZV9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0gbmF0aXZlX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSBuYXRpdmVfc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpLAorCS5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpID0gbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGksCiB9OwogRVhQT1JUX1NZTUJPTF9HUEwoc21wX29wcyk7Ci0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc21wYm9vdC5jCmluZGV4IDNlMWNlY2UuLjY4NzM3NmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMKKysrIGIvYXJjaC94ODYva2VybmVsL3NtcGJvb3QuYwpAQCAtNTksNyArNTksNiBAQAogI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CiAjaW5jbHVkZSA8YXNtL210cnIuaD4KLSNpbmNsdWRlIDxhc20vbm1pLmg+CiAjaW5jbHVkZSA8YXNtL3ZtaS5oPgogI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CiAjaW5jbHVkZSA8bGludXgvbWMxNDY4MThydGMuaD4KQEAgLTY4LDIyICs2Nyw2IEBACiAjaW5jbHVkZSA8bWFjaF93YWtlY3B1Lmg+CiAjaW5jbHVkZSA8c21wYm9vdF9ob29rcy5oPgogCi0vKgotICogRklYTUU6IEZvciB4ODZfNjQsIHRob3NlIGFyZSBkZWZpbmVkIGluIG90aGVyIGZpbGVzLiBCdXQgbW92aW5nIHRoZW0gaGVyZSwKLSAqIHdvdWxkIG1ha2UgdGhlIHNldHVwIGFyZWFzIGRlcGVuZGVudCBvbiBzbXAsIHdoaWNoIGlzIGEgbG9zcy4gV2hlbiB3ZQotICogaW50ZWdyYXRlIGFwaWMgYmV0d2VlbiBhcmNoZXMsIHdlIGNhbiBwcm9iYWJseSBkbyBhIGJldHRlciBqb2IsIGJ1dAotICogcmlnaHQgbm93LCB0aGV5J2xsIHN0YXkgaGVyZSAtLSBnbG9tbWVyCi0gKi8KLQotLyogd2hpY2ggbG9naWNhbCBDUFUgbnVtYmVyIG1hcHMgdG8gd2hpY2ggQ1BVIChwaHlzaWNhbCBBUElDIElEKSAqLwotdTE2IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbTlJfQ1BVU10gX19pbml0ZGF0YSA9Ci0JCQl7IFswIC4uLiBOUl9DUFVTLTFdID0gQkFEX0FQSUNJRCB9Owotdm9pZCAqeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyOwotCi11MTYgeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0W05SX0NQVVNdIF9faW5pdGRhdGEKLQkJCQk9IHsgWzAgLi4uIE5SX0NQVVMtMV0gPSBCQURfQVBJQ0lEIH07Ci12b2lkICp4ODZfYmlvc19jcHVfYXBpY2lkX2Vhcmx5X3B0cjsKLQogI2lmZGVmIENPTkZJR19YODZfMzIKIHU4IGFwaWNpZF8yX25vZGVbTUFYX0FQSUNJRF07CiBzdGF0aWMgaW50IGxvd19tYXBwaW5nczsKQEAgLTE5OCwxMyArMTgxLDEyIEBACiAJbWFwX2NwdV90b19ub2RlKGNwdSwgbm9kZSk7CiB9CiAKLXN0YXRpYyB2b2lkIHVubWFwX2NwdV90b19sb2dpY2FsX2FwaWNpZChpbnQgY3B1KQordm9pZCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkKIHsKIAljcHVfMl9sb2dpY2FsX2FwaWNpZFtjcHVdID0gQkFEX0FQSUNJRDsKIAl1bm1hcF9jcHVfdG9fbm9kZShjcHUpOwogfQogI2Vsc2UKLSNkZWZpbmUgdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSkgZG8ge30gd2hpbGUgKDApCiAjZGVmaW5lIG1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoKSAgZG8ge30gd2hpbGUgKDApCiAjZW5kaWYKIApAQCAtMzQ1LDE5ICszMjcsMTIgQEAKIAkgKiBsb2NrIGhlbHBzIHVzIHRvIG5vdCBpbmNsdWRlIHRoaXMgY3B1IGluIGEgY3VycmVudGx5IGluIHByb2dyZXNzCiAJICogc21wX2NhbGxfZnVuY3Rpb24oKS4KIAkgKi8KLQlsb2NrX2lwaV9jYWxsX2xvY2soKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0Jc3Bpbl9sb2NrKCZ2ZWN0b3JfbG9jayk7Ci0KLQkvKiBTZXR1cCB0aGUgcGVyIGNwdSBpcnEgaGFuZGxpbmcgZGF0YSBzdHJ1Y3R1cmVzICovCi0JX19zZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7Ci0JLyoKLQkgKiBBbGxvdyB0aGUgbWFzdGVyIHRvIGNvbnRpbnVlLgotCSAqLwotCXNwaW5fdW5sb2NrKCZ2ZWN0b3JfbG9jayk7CisJaXBpX2NhbGxfbG9ja19pcnEoKTsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKKwlzZXR1cF92ZWN0b3JfaXJxKHNtcF9wcm9jZXNzb3JfaWQoKSk7CiAjZW5kaWYKIAljcHVfc2V0KHNtcF9wcm9jZXNzb3JfaWQoKSwgY3B1X29ubGluZV9tYXApOwotCXVubG9ja19pcGlfY2FsbF9sb2NrKCk7CisJaXBpX2NhbGxfdW5sb2NrX2lycSgpOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBzbXBfcHJvY2Vzc29yX2lkKCkpID0gQ1BVX09OTElORTsKIAogCXNldHVwX3NlY29uZGFyeV9jbG9jaygpOwpAQCAtMzY2LDMxICszNDEsOCBAQAogCWNwdV9pZGxlKCk7CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogRXZlcnl0aGluZyBoYXMgYmVlbiBzZXQgdXAgZm9yIHRoZSBzZWNvbmRhcnkKLSAqIENQVXMgLSB0aGV5IGp1c3QgbmVlZCB0byByZWxvYWQgZXZlcnl0aGluZwotICogZnJvbSB0aGUgdGFzayBzdHJ1Y3R1cmUKLSAqIFRoaXMgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuLgotICovCi12b2lkIF9fZGV2aW5pdCBpbml0aWFsaXplX3NlY29uZGFyeSh2b2lkKQotewotCS8qCi0JICogV2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBsb2FkIHRoZSBmdWxsIFRTUywKLQkgKiBiYXNpY2FsbHkganVzdCB0aGUgc3RhY2sgcG9pbnRlciBhbmQgdGhlIGlwLgotCSAqLwotCi0JYXNtIHZvbGF0aWxlKAotCQkibW92bCAlMCwlJWVzcFxuXHQiCi0JCSJqbXAgKiUxIgotCQk6Ci0JCToibSIgKGN1cnJlbnQtPnRocmVhZC5zcCksICJtIiAoY3VycmVudC0+dGhyZWFkLmlwKSk7Ci19Ci0jZW5kaWYKLQogc3RhdGljIHZvaWQgX19jcHVpbml0IHNtcF9hcHBseV9xdWlya3Moc3RydWN0IGNwdWluZm9feDg2ICpjKQogewotI2lmZGVmIENPTkZJR19YODZfMzIKIAkvKgogCSAqIE1hc2sgQiwgUGVudGl1bSwgYnV0IG5vdCBQZW50aXVtIE1NWAogCSAqLwpAQCAtNDQwLDcgKzM5Miw2IEBACiAKIHZhbGlkX2s3OgogCTsKLSNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgc21wX2NoZWNrcyh2b2lkKQpAQCAtNTU1LDIzICs1MDYsNiBAQAogCQlyZXR1cm4gYy0+bGxjX3NoYXJlZF9tYXA7CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0vKgotICogV2UgYXJlIGNhbGxlZCB2ZXJ5IGVhcmx5IHRvIGdldCB0aGUgbG93IG1lbW9yeSBmb3IgdGhlCi0gKiBTTVAgYm9vdHVwIHRyYW1wb2xpbmUgcGFnZS4KLSAqLwotdm9pZCBfX2luaXQgc21wX2FsbG9jX21lbW9yeSh2b2lkKQotewotCXRyYW1wb2xpbmVfYmFzZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0JLyoKLQkgKiBIYXMgdG8gYmUgaW4gdmVyeSBsb3cgbWVtb3J5IHNvIHdlIGNhbiBleGVjdXRlCi0JICogcmVhbC1tb2RlIEFQIGNvZGUuCi0JICovCi0JaWYgKF9fcGEodHJhbXBvbGluZV9iYXNlKSA+PSAweDlGMDAwKQotCQlCVUcoKTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgdm9pZCBpbXByZXNzX2ZyaWVuZHModm9pZCkKIHsKIAlpbnQgY3B1OwpAQCAtNzQ4LDExICs2ODIsNyBAQAogCSAqIHRhcmdldCBwcm9jZXNzb3Igc3RhdGUuCiAJICovCiAJc3RhcnR1cF9pcGlfaG9vayhwaHlzX2FwaWNpZCwgKHVuc2lnbmVkIGxvbmcpIHN0YXJ0X3NlY29uZGFyeSwKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JCQkgKHVuc2lnbmVkIGxvbmcpaW5pdF9yc3ApOwotI2Vsc2UKIAkJCSAodW5zaWduZWQgbG9uZylzdGFja19zdGFydC5zcCk7Ci0jZW5kaWYKIAogCS8qCiAJICogUnVuIFNUQVJUVVAgSVBJIGxvb3AuCkBAIC04MzIsNiArNzYyLDQ1IEBACiAJY29tcGxldGUoJmNfaWRsZS0+ZG9uZSk7CiB9CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisvKgorICogQWxsb2NhdGUgbm9kZSBsb2NhbCBtZW1vcnkgZm9yIHRoZSBBUCBwZGEuCisgKgorICogTXVzdCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIF9jcHVfcGRhIHBvaW50ZXIgdGFibGUgaXMgaW5pdGlhbGl6ZWQuCisgKi8KK3N0YXRpYyBpbnQgX19jcHVpbml0IGdldF9sb2NhbF9wZGEoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgeDg2NjRfcGRhICpvbGRwZGEsICpuZXdwZGE7CisJdW5zaWduZWQgbG9uZyBzaXplID0gc2l6ZW9mKHN0cnVjdCB4ODY2NF9wZGEpOworCWludCBub2RlID0gY3B1X3RvX25vZGUoY3B1KTsKKworCWlmIChjcHVfcGRhKGNwdSkgJiYgIWNwdV9wZGEoY3B1KS0+aW5fYm9vdG1lbSkKKwkJcmV0dXJuIDA7CisKKwlvbGRwZGEgPSBjcHVfcGRhKGNwdSk7CisJbmV3cGRhID0ga21hbGxvY19ub2RlKHNpemUsIEdGUF9BVE9NSUMsIG5vZGUpOworCWlmICghbmV3cGRhKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQ291bGQgbm90IGFsbG9jYXRlIG5vZGUgbG9jYWwgUERBICIKKwkJCSJmb3IgQ1BVICVkIG9uIG5vZGUgJWRcbiIsIGNwdSwgbm9kZSk7CisKKwkJaWYgKG9sZHBkYSkKKwkJCXJldHVybiAwOwkvKiBoYXZlIGEgdXNhYmxlIHBkYSAqLworCQllbHNlCisJCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG9sZHBkYSkgeworCQltZW1jcHkobmV3cGRhLCBvbGRwZGEsIHNpemUpOworCQlpZiAoIWFmdGVyX2Jvb3RtZW0pCisJCQlmcmVlX2Jvb3RtZW0oKHVuc2lnbmVkIGxvbmcpb2xkcGRhLCBzaXplKTsKKwl9CisKKwluZXdwZGEtPmluX2Jvb3RtZW0gPSAwOworCWNwdV9wZGEoY3B1KSA9IG5ld3BkYTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfWDg2XzY0ICovCisKIHN0YXRpYyBpbnQgX19jcHVpbml0IGRvX2Jvb3RfY3B1KGludCBhcGljaWQsIGludCBjcHUpCiAvKgogICogTk9URSAtIG9uIG1vc3Qgc3lzdGVtcyB0aGlzIGlzIGEgUEhZU0lDQUwgYXBpYyBJRCwgYnV0IG9uIG11bHRpcXVhZApAQCAtODQ4LDI4ICs4MTcsMTQgQEAKIAkJLmRvbmUgPSBDT01QTEVUSU9OX0lOSVRJQUxJWkVSX09OU1RBQ0soY19pZGxlLmRvbmUpLAogCX07CiAJSU5JVF9XT1JLKCZjX2lkbGUud29yaywgZG9fZm9ya19pZGxlKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0JLyogYWxsb2NhdGUgbWVtb3J5IGZvciBnZHRzIG9mIHNlY29uZGFyeSBjcHVzLiBIb3RwbHVnIGlzIGNvbnNpZGVyZWQgKi8KLQlpZiAoIWNwdV9nZHRfZGVzY3JbY3B1XS5hZGRyZXNzICYmCi0JCSEoY3B1X2dkdF9kZXNjcltjcHVdLmFkZHJlc3MgPSBnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGFsbG9jYXRlIEdEVCBmb3IgQ1BVICVkXG4iLCBjcHUpOwotCQlyZXR1cm4gLTE7Ci0JfQogCisjaWZkZWYgQ09ORklHX1g4Nl82NAogCS8qIEFsbG9jYXRlIG5vZGUgbG9jYWwgbWVtb3J5IGZvciBBUCBwZGFzICovCi0JaWYgKGNwdV9wZGEoY3B1KSA9PSAmYm9vdF9jcHVfcGRhW2NwdV0pIHsKLQkJc3RydWN0IHg4NjY0X3BkYSAqbmV3cGRhLCAqcGRhOwotCQlpbnQgbm9kZSA9IGNwdV90b19ub2RlKGNwdSk7Ci0JCXBkYSA9IGNwdV9wZGEoY3B1KTsKLQkJbmV3cGRhID0ga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgeDg2NjRfcGRhKSwgR0ZQX0FUT01JQywKLQkJCQkgICAgICBub2RlKTsKLQkJaWYgKG5ld3BkYSkgewotCQkJbWVtY3B5KG5ld3BkYSwgcGRhLCBzaXplb2Yoc3RydWN0IHg4NjY0X3BkYSkpOwotCQkJY3B1X3BkYShjcHUpID0gbmV3cGRhOwotCQl9IGVsc2UKLQkJCXByaW50ayhLRVJOX0VSUgotCQkiQ291bGQgbm90IGFsbG9jYXRlIG5vZGUgbG9jYWwgUERBIGZvciBDUFUgJWQgb24gbm9kZSAlZFxuIiwKLQkJCQljcHUsIG5vZGUpOworCWlmIChjcHUgPiAwKSB7CisJCWJvb3RfZXJyb3IgPSBnZXRfbG9jYWxfcGRhKGNwdSk7CisJCWlmIChib290X2Vycm9yKQorCQkJZ290byByZXN0b3JlX3N0YXRlOworCQkJLyogaWYgY2FuJ3QgZ2V0IHBkYSBtZW1vcnksIGNhbid0IHN0YXJ0IGNwdSAqLwogCX0KICNlbmRpZgogCkBAIC05MDUsMTggKzg2MCwxNSBAQAogI2lmZGVmIENPTkZJR19YODZfMzIKIAlwZXJfY3B1KGN1cnJlbnRfdGFzaywgY3B1KSA9IGNfaWRsZS5pZGxlOwogCWluaXRfZ2R0KGNwdSk7Ci0JZWFybHlfZ2R0X2Rlc2NyLmFkZHJlc3MgPSAodW5zaWduZWQgbG9uZylnZXRfY3B1X2dkdF90YWJsZShjcHUpOwotCWNfaWRsZS5pZGxlLT50aHJlYWQuaXAgPSAodW5zaWduZWQgbG9uZykgc3RhcnRfc2Vjb25kYXJ5OwogCS8qIFN0YWNrIGZvciBzdGFydHVwXzMyIGNhbiBiZSBqdXN0IGFzIGZvciBzdGFydF9zZWNvbmRhcnkgb253YXJkcyAqLwotCXN0YWNrX3N0YXJ0LnNwID0gKHZvaWQgKikgY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKIAlpcnFfY3R4X2luaXQoY3B1KTsKICNlbHNlCiAJY3B1X3BkYShjcHUpLT5wY3VycmVudCA9IGNfaWRsZS5pZGxlOwotCWluaXRfcnNwID0gY19pZGxlLmlkbGUtPnRocmVhZC5zcDsKLQlsb2FkX3NwMCgmcGVyX2NwdShpbml0X3RzcywgY3B1KSwgJmNfaWRsZS5pZGxlLT50aHJlYWQpOwotCWluaXRpYWxfY29kZSA9ICh1bnNpZ25lZCBsb25nKXN0YXJ0X3NlY29uZGFyeTsKIAljbGVhcl90c2tfdGhyZWFkX2ZsYWcoY19pZGxlLmlkbGUsIFRJRl9GT1JLKTsKICNlbmRpZgorCWVhcmx5X2dkdF9kZXNjci5hZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpZ2V0X2NwdV9nZHRfdGFibGUoY3B1KTsKKwlpbml0aWFsX2NvZGUgPSAodW5zaWduZWQgbG9uZylzdGFydF9zZWNvbmRhcnk7CisJc3RhY2tfc3RhcnQuc3AgPSAodm9pZCAqKSBjX2lkbGUuaWRsZS0+dGhyZWFkLnNwOwogCiAJLyogc3RhcnRfaXAgaGFkIGJldHRlciBiZSBwYWdlLWFsaWduZWQhICovCiAJc3RhcnRfaXAgPSBzZXR1cF90cmFtcG9saW5lKCk7CkBAIC05ODcsMTMgKzkzOSwxMiBAQAogCQkJCWlucXVpcmVfcmVtb3RlX2FwaWMoYXBpY2lkKTsKIAkJfQogCX0KLQorI2lmZGVmIENPTkZJR19YODZfNjQKK3Jlc3RvcmVfc3RhdGU6CisjZW5kaWYKIAlpZiAoYm9vdF9lcnJvcikgewogCQkvKiBUcnkgdG8gcHV0IHRoaW5ncyBiYWNrIHRoZSB3YXkgdGhleSB3ZXJlIGJlZm9yZSAuLi4gKi8KLQkJdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSk7Ci0jaWZkZWYgQ09ORklHX1g4Nl82NAotCQljbGVhcl9ub2RlX2NwdW1hc2soY3B1KTsgLyogd2FzIHNldCBieSBudW1hX2FkZF9jcHUgKi8KLSNlbmRpZgorCQludW1hX3JlbW92ZV9jcHUoY3B1KTsgLyogd2FzIHNldCBieSBudW1hX2FkZF9jcHUgKi8KIAkJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsgLyogd2FzIHNldCBieSBkb19ib290X2NwdSgpICovCiAJCWNwdV9jbGVhcihjcHUsIGNwdV9pbml0aWFsaXplZCk7IC8qIHdhcyBzZXQgYnkgY3B1X2luaXQoKSAqLwogCQljcHVfY2xlYXIoY3B1LCBjcHVfcHJlc2VudF9tYXApOwpAQCAtMTA4NywxNCArMTAzOCwxMiBAQAogewogCWNwdV9wcmVzZW50X21hcCA9IGNwdW1hc2tfb2ZfY3B1KDApOwogCWNwdV9wb3NzaWJsZV9tYXAgPSBjcHVtYXNrX29mX2NwdSgwKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCiAJc21wYm9vdF9jbGVhcl9pb19hcGljX2lycXMoKTsKLSNlbmRpZgorCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCi0JCXBoeXNfY3B1X3ByZXNlbnRfbWFwID0KLQkJCQlwaHlzaWRfbWFza19vZl9waHlzaWQoYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkKTsKKwkJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZChib290X2NwdV9waHlzaWNhbF9hcGljaWQsICZwaHlzX2NwdV9wcmVzZW50X21hcCk7CiAJZWxzZQotCQlwaHlzX2NwdV9wcmVzZW50X21hcCA9IHBoeXNpZF9tYXNrX29mX3BoeXNpZCgwKTsKKwkJcGh5c2lkX3NldF9tYXNrX29mX3BoeXNpZCgwLCAmcGh5c19jcHVfcHJlc2VudF9tYXApOwogCW1hcF9jcHVfdG9fbG9naWNhbF9hcGljaWQoKTsKIAljcHVfc2V0KDAsIHBlcl9jcHUoY3B1X3NpYmxpbmdfbWFwLCAwKSk7CiAJY3B1X3NldCgwLCBwZXJfY3B1KGNwdV9jb3JlX21hcCwgMCkpOwpAQCAtMTE1NywxMiArMTEwNiwxMiBAQAogCSAqIElmIFNNUCBzaG91bGQgYmUgZGlzYWJsZWQsIHRoZW4gcmVhbGx5IGRpc2FibGUgaXQhCiAJICovCiAJaWYgKCFtYXhfY3B1cykgewotCQlwcmludGsoS0VSTl9JTkZPICJTTVAgbW9kZSBkZWFjdGl2YXRlZCwiCi0JCQkJICJmb3JjaW5nIHVzZSBvZiBkdW1teSBBUElDIGVtdWxhdGlvbi5cbiIpOworCQlwcmludGsoS0VSTl9JTkZPICJTTVAgbW9kZSBkZWFjdGl2YXRlZC5cbiIpOwogCQlzbXBib290X2NsZWFyX2lvX2FwaWMoKTsKLSNpZmRlZiBDT05GSUdfWDg2XzMyCisKKwkJbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKCk7CisKIAkJY29ubmVjdF9ic3BfQVBJQygpOwotI2VuZGlmCiAJCXNldHVwX2xvY2FsX0FQSUMoKTsKIAkJZW5kX2xvY2FsX0FQSUNfc2V0dXAoKTsKIAkJcmV0dXJuIC0xOwpAQCAtMTE5MCw3ICsxMTM5LDYgQEAKIHZvaWQgX19pbml0IG5hdGl2ZV9zbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cykKIHsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKLQlubWlfd2F0Y2hkb2dfZGVmYXVsdCgpOwogCXNtcF9jcHVfaW5kZXhfZGVmYXVsdCgpOwogCWN1cnJlbnRfY3B1X2RhdGEgPSBib290X2NwdV9kYXRhOwogCWNwdV9jYWxsaW5fbWFwID0gY3B1bWFza19vZl9jcHUoMCk7CkBAIC0xMjE3LDkgKzExNjUsOCBAQAogCX0KIAlwcmVlbXB0X2VuYWJsZSgpOwogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgogCWNvbm5lY3RfYnNwX0FQSUMoKTsKLSNlbmRpZgorCiAJLyoKIAkgKiBTd2l0Y2ggZnJvbSBQSUMgdG8gQVBJQyBtb2RlLgogCSAqLwpAQCAtMTI1Nyw4ICsxMjA0LDggQEAKIAlpbnQgbWUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogCWluaXRfZ2R0KG1lKTsKLQlzd2l0Y2hfdG9fbmV3X2dkdCgpOwogI2VuZGlmCisJc3dpdGNoX3RvX25ld19nZHQoKTsKIAkvKiBhbHJlYWR5IHNldCBtZSBpbiBjcHVfb25saW5lX21hcCBpbiBib290X2NwdV9pbml0KCkgKi8KIAljcHVfc2V0KG1lLCBjcHVfY2FsbG91dF9tYXApOwogCXBlcl9jcHUoY3B1X3N0YXRlLCBtZSkgPSBDUFVfT05MSU5FOwpAQCAtMTI3OCwyMyArMTIyNSw2IEBACiAKICNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKIAotIyAgaWZkZWYgQ09ORklHX1g4Nl8zMgotdm9pZCBjcHVfZXhpdF9jbGVhcih2b2lkKQotewotCWludCBjcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwotCi0JaWRsZV90YXNrX2V4aXQoKTsKLQotCWNwdV91bmluaXQoKTsKLQlpcnFfY3R4X2V4aXQoY3B1KTsKLQotCWNwdV9jbGVhcihjcHUsIGNwdV9jYWxsb3V0X21hcCk7Ci0JY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxpbl9tYXApOwotCi0JdW5tYXBfY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGNwdSk7Ci19Ci0jICBlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCi0KIHN0YXRpYyB2b2lkIHJlbW92ZV9zaWJsaW5naW5mbyhpbnQgY3B1KQogewogCWludCBzaWJsaW5nOwpAQCAtMTM0OCwxMiArMTI3OCwyMCBAQAogCWludCBpOwogCWludCBwb3NzaWJsZTsKIAorCS8qIG5vIHByb2Nlc3NvciBmcm9tIG1wdGFibGUgb3IgbWFkdCAqLworCWlmICghbnVtX3Byb2Nlc3NvcnMpCisJCW51bV9wcm9jZXNzb3JzID0gMTsKKworI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogCWlmIChhZGRpdGlvbmFsX2NwdXMgPT0gLTEpIHsKIAkJaWYgKGRpc2FibGVkX2NwdXMgPiAwKQogCQkJYWRkaXRpb25hbF9jcHVzID0gZGlzYWJsZWRfY3B1czsKIAkJZWxzZQogCQkJYWRkaXRpb25hbF9jcHVzID0gMDsKIAl9CisjZWxzZQorCWFkZGl0aW9uYWxfY3B1cyA9IDA7CisjZW5kaWYKIAlwb3NzaWJsZSA9IG51bV9wcm9jZXNzb3JzICsgYWRkaXRpb25hbF9jcHVzOwogCWlmIChwb3NzaWJsZSA+IE5SX0NQVVMpCiAJCXBvc3NpYmxlID0gTlJfQ1BVUzsKQEAgLTEzNjMsMTggKzEzMDEsMTggQEAKIAogCWZvciAoaSA9IDA7IGkgPCBwb3NzaWJsZTsgaSsrKQogCQljcHVfc2V0KGksIGNwdV9wb3NzaWJsZV9tYXApOworCisJbnJfY3B1X2lkcyA9IHBvc3NpYmxlOwogfQogCiBzdGF0aWMgdm9pZCBfX3JlZiByZW1vdmVfY3B1X2Zyb21fbWFwcyhpbnQgY3B1KQogewogCWNwdV9jbGVhcihjcHUsIGNwdV9vbmxpbmVfbWFwKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0CiAJY3B1X2NsZWFyKGNwdSwgY3B1X2NhbGxvdXRfbWFwKTsKIAljcHVfY2xlYXIoY3B1LCBjcHVfY2FsbGluX21hcCk7CiAJLyogd2FzIHNldCBieSBjcHVfaW5pdCgpICovCiAJY2xlYXJfYml0KGNwdSwgKHVuc2lnbmVkIGxvbmcgKikmY3B1X2luaXRpYWxpemVkKTsKLQljbGVhcl9ub2RlX2NwdW1hc2soY3B1KTsKLSNlbmRpZgorCW51bWFfcmVtb3ZlX2NwdShjcHUpOwogfQogCiBpbnQgX19jcHVfZGlzYWJsZSh2b2lkKQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jIGIvYXJjaC94ODYva2VybmVsL3NtcGNvbW1vbi5jCmluZGV4IDM0NDkwNjQuLjk5OTQxYjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXBjb21tb24uYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc21wY29tbW9uLmMKQEAgLTI1LDU5ICsyNSwzIEBACiAJcGVyX2NwdShjcHVfbnVtYmVyLCBjcHUpID0gY3B1OwogfQogI2VuZGlmCi0KLS8qKgotICogc21wX2NhbGxfZnVuY3Rpb24oKTogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCi0gKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KLSAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KLSAqIEBub25hdG9taWM6IFVudXNlZC4KLSAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCi0gKgotICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KLSAqCi0gKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQotICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4KLSAqCi0gKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKLSAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLgotICovCi1pbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IG5vbmF0b21pYywKLQkJICAgICAgaW50IHdhaXQpCi17Ci0JcmV0dXJuIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHdhaXQpOwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbik7Ci0KLS8qKgotICogc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlIC0gUnVuIGEgZnVuY3Rpb24gb24gYSBzcGVjaWZpYyBDUFUKLSAqIEBjcHU6IFRoZSB0YXJnZXQgQ1BVLiAgQ2Fubm90IGJlIHRoZSBjYWxsaW5nIENQVS4KLSAqIEBmdW5jOiBUaGUgZnVuY3Rpb24gdG8gcnVuLiBUaGlzIG11c3QgYmUgZmFzdCBhbmQgbm9uLWJsb2NraW5nLgotICogQGluZm86IEFuIGFyYml0cmFyeSBwb2ludGVyIHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLgotICogQG5vbmF0b21pYzogVW51c2VkLgotICogQHdhaXQ6IElmIHRydWUsIHdhaXQgdW50aWwgZnVuY3Rpb24gaGFzIGNvbXBsZXRlZCBvbiBvdGhlciBDUFVzLgotICoKLSAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBlbHNlIGEgbmVnYXRpdmUgc3RhdHVzIGNvZGUuCi0gKgotICogSWYgQHdhaXQgaXMgdHJ1ZSwgdGhlbiByZXR1cm5zIG9uY2UgQGZ1bmMgaGFzIHJldHVybmVkOyBvdGhlcndpc2UKLSAqIGl0IHJldHVybnMganVzdCBiZWZvcmUgdGhlIHRhcmdldCBjcHUgY2FsbHMgQGZ1bmMuCi0gKi8KLWludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKLQkJCSAgICAgaW50IG5vbmF0b21pYywgaW50IHdhaXQpCi17Ci0JLyogcHJldmVudCBwcmVlbXB0aW9uIGFuZCByZXNjaGVkdWxlIG9uIGFub3RoZXIgcHJvY2Vzc29yICovCi0JaW50IHJldDsKLQlpbnQgbWUgPSBnZXRfY3B1KCk7Ci0JaWYgKGNwdSA9PSBtZSkgewotCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwotCQlmdW5jKGluZm8pOwotCQlsb2NhbF9pcnFfZW5hYmxlKCk7Ci0JCXB1dF9jcHUoKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBmdW5jLCBpbmZvLCB3YWl0KTsKLQotCXB1dF9jcHUoKTsKLQlyZXR1cm4gcmV0OwotfQotRVhQT1JUX1NZTUJPTChzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC9zcmF0XzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwZTRhMzcuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3NyYXRfMzIuYworKysgL2Rldi9udWxsCkBAIC0xLDM1OCArMCwwIEBACi0vKgotICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCi0gKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KLSAqCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLSAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgotICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKLSAqIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+Ci0gKi8KLSNpbmNsdWRlIDxsaW51eC9tbS5oPgotI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KLSNpbmNsdWRlIDxhc20vc3JhdC5oPgotI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLQotLyoKLSAqIHByb3hpbWl0eSBtYWNyb3MgYW5kIGRlZmluaXRpb25zCi0gKi8KLSNkZWZpbmUgTk9ERV9BUlJBWV9JTkRFWCh4KQkoKHgpIC8gOCkJLyogOCBiaXRzL2NoYXIgKi8KLSNkZWZpbmUgTk9ERV9BUlJBWV9PRkZTRVQoeCkJKCh4KSAlIDgpCS8qIDggYml0cy9jaGFyICovCi0jZGVmaW5lIEJNQVBfU0VUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldIHw9IDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkKLSNkZWZpbmUgQk1BUF9URVNUKGJtYXAsIGJpdCkJKChibWFwKVtOT0RFX0FSUkFZX0lOREVYKGJpdCldICYgKDEgPDwgTk9ERV9BUlJBWV9PRkZTRVQoYml0KSkpCi0vKiBiaXRtYXAgbGVuZ3RoOyBfUFhNIGlzIGF0IG1vc3QgMjU1ICovCi0jZGVmaW5lIFBYTV9CSVRNQVBfTEVOIChNQVhfUFhNX0RPTUFJTlMgLyA4KSAKLXN0YXRpYyB1OCBweG1fYml0bWFwW1BYTV9CSVRNQVBfTEVOXTsJLyogYml0bWFwIG9mIHByb3hpbWl0eSBkb21haW5zICovCi0KLSNkZWZpbmUgTUFYX0NIVU5LU19QRVJfTk9ERQkzCi0jZGVmaW5lIE1BWENIVU5LUwkJKE1BWF9DSFVOS1NfUEVSX05PREUgKiBNQVhfTlVNTk9ERVMpCi1zdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyB7Ci0JdW5zaWduZWQgbG9uZwlzdGFydF9wZm47Ci0JdW5zaWduZWQgbG9uZwllbmRfcGZuOwotCXU4CXB4bTsJCS8vIHByb3hpbWl0eSBkb21haW4gb2Ygbm9kZQotCXU4CW5pZDsJCS8vIHdoaWNoIGNub2RlIGNvbnRhaW5zIHRoaXMgY2h1bms/Ci0JdTgJYmFuazsJCS8vIHdoaWNoIG1lbSBiYW5rIG9uIHRoaXMgbm9kZQotfTsKLXN0YXRpYyBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOwotCi1zdGF0aWMgaW50IG51bV9tZW1vcnlfY2h1bmtzOwkJLyogdG90YWwgbnVtYmVyIG9mIG1lbW9yeSBjaHVua3MgKi8KLXN0YXRpYyB1OCBfX2luaXRkYXRhIGFwaWNpZF90b19weG1bTUFYX0FQSUNJRF07Ci0KLS8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwotc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX2NwdV9hZmZpbml0eV9zdHJ1Y3R1cmUoY2hhciAqcCkKLXsKLQlzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5ID0KLQkJCQkoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkgKikgcDsKLQotCWlmICgoY3B1X2FmZmluaXR5LT5mbGFncyAmIEFDUElfU1JBVF9DUFVfRU5BQkxFRCkgPT0gMCkKLQkJcmV0dXJuOwkJLyogZW1wdHkgZW50cnkgKi8KLQotCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLwotCUJNQVBfU0VUKHB4bV9iaXRtYXAsIGNwdV9hZmZpbml0eS0+cHJveGltaXR5X2RvbWFpbl9sbyk7Ci0KLQlhcGljaWRfdG9fcHhtW2NwdV9hZmZpbml0eS0+YXBpY19pZF0gPSBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG87Ci0KLQlwcmludGsoIkNQVSAweCUwMlggaW4gcHJveGltaXR5IGRvbWFpbiAweCUwMlhcbiIsCi0JCWNwdV9hZmZpbml0eS0+YXBpY19pZCwgY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvKTsKLX0KLQotLyoKLSAqIElkZW50aWZ5IG1lbW9yeSBwcm94aW1pdHkgZG9tYWlucyBhbmQgaG90LXJlbW92ZSBjYXBhYmlsaXRpZXMuCi0gKiBGaWxsIG5vZGUgbWVtb3J5IGNodW5rIGxpc3Qgc3RydWN0dXJlLgotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfbWVtb3J5X2FmZmluaXR5X3N0cnVjdHVyZSAoY2hhciAqc3JhdHApCi17Ci0JdW5zaWduZWQgbG9uZyBsb25nIHBhZGRyLCBzaXplOwotCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBlbmRfcGZuOwotCXU4IHB4bTsKLQlzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqcCwgKnEsICpwZW5kOwotCXN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICptZW1vcnlfYWZmaW5pdHkgPQotCQkJKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5ICopIHNyYXRwOwotCi0JaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQotCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLwotCi0JcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKLQotCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLwotCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7Ci0KLQkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLwotCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7Ci0Jc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOwotCi0Jc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKLQllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKLQotCi0JaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgewotCQlwcmludGsoIlRvbyBtYW55IG1lbSBjaHVua3MgaW4gU1JBVC4gSWdub3JpbmcgJWxsZCBNQnl0ZXMgYXQgJWxseFxuIiwKLQkJCXNpemUvKDEwMjQqMTAyNCksIHBhZGRyKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIEluc2VydGlvbiBzb3J0IGJhc2VkIG9uIGJhc2UgYWRkcmVzcyAqLwotCXBlbmQgPSAmbm9kZV9tZW1vcnlfY2h1bmtbbnVtX21lbW9yeV9jaHVua3NdOwotCWZvciAocCA9ICZub2RlX21lbW9yeV9jaHVua1swXTsgcCA8IHBlbmQ7IHArKykgewotCQlpZiAoc3RhcnRfcGZuIDwgcC0+c3RhcnRfcGZuKQotCQkJYnJlYWs7Ci0JfQotCWlmIChwIDwgcGVuZCkgewotCQlmb3IgKHEgPSBwZW5kOyBxID49IHA7IHEtLSkKLQkJCSoocSArIDEpID0gKnE7Ci0JfQotCXAtPnN0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsKLQlwLT5lbmRfcGZuID0gZW5kX3BmbjsKLQlwLT5weG0gPSBweG07Ci0KLQludW1fbWVtb3J5X2NodW5rcysrOwotCi0JcHJpbnRrKCJNZW1vcnkgcmFuZ2UgMHglbFggdG8gMHglbFggKHR5cGUgMHglWCkgaW4gcHJveGltaXR5IGRvbWFpbiAweCUwMlggJXNcbiIsCi0JCXN0YXJ0X3BmbiwgZW5kX3BmbiwKLQkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKLQkJcHhtLAotCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KLQkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKLX0KLQotLyoKLSAqIFRoZSBTUkFUIHRhYmxlIGFsd2F5cyBsaXN0cyBhc2NlbmRpbmcgYWRkcmVzc2VzLCBzbyBjYW4gYWx3YXlzCi0gKiBhc3N1bWUgdGhhdCB0aGUgZmlyc3QgInN0YXJ0IiBhZGRyZXNzIHRoYXQgeW91IHNlZSBpcyB0aGUgcmVhbAotICogc3RhcnQgb2YgdGhlIG5vZGUsIGFuZCB0aGF0IHRoZSBjdXJyZW50ICJlbmQiIGFkZHJlc3MgaXMgYWZ0ZXIKLSAqIHRoZSBwcmV2aW91cyBvbmUuCi0gKi8KLXN0YXRpYyBfX2luaXQgdm9pZCBub2RlX3JlYWRfY2h1bmsoaW50IG5pZCwgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKm1lbW9yeV9jaHVuaykKLXsKLQkvKgotCSAqIE9ubHkgYWRkIHByZXNlbnQgbWVtb3J5IGFzIHRvbGQgYnkgdGhlIGU4MjAuCi0JICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIGZyb20gdGhlIFNSQVQgdGhhdCB0aGUgbWVtb3J5IGl0Ci0JICogZW51bWVyYXRlcyBpcyBwcmVzZW50IGF0IGJvb3QgdGltZSBiZWNhdXNlIGl0IHJlcHJlc2VudHMKLQkgKiAqcG9zc2libGUqIG1lbW9yeSBob3RwbHVnIGFyZWFzIHRoZSBzYW1lIGFzIG5vcm1hbCBSQU0uCi0JICovCi0JaWYgKG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuID49IG1heF9wZm4pIHsKLQkJcHJpbnRrIChLRVJOX0lORk8gIklnbm9yaW5nIFNSQVQgcGZuczogMHglMDhseCAtPiAlMDhseFxuIiwKLQkJCW1lbW9yeV9jaHVuay0+c3RhcnRfcGZuLCBtZW1vcnlfY2h1bmstPmVuZF9wZm4pOwotCQlyZXR1cm47Ci0JfQotCWlmIChtZW1vcnlfY2h1bmstPm5pZCAhPSBuaWQpCi0JCXJldHVybjsKLQotCWlmICghbm9kZV9oYXNfb25saW5lX21lbShuaWQpKQotCQlub2RlX3N0YXJ0X3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5zdGFydF9wZm47Ci0KLQlpZiAobm9kZV9zdGFydF9wZm5bbmlkXSA+IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuKQotCQlub2RlX3N0YXJ0X3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5zdGFydF9wZm47Ci0KLQlpZiAobm9kZV9lbmRfcGZuW25pZF0gPCBtZW1vcnlfY2h1bmstPmVuZF9wZm4pCi0JCW5vZGVfZW5kX3BmbltuaWRdID0gbWVtb3J5X2NodW5rLT5lbmRfcGZuOwotfQotCi0vKiBQYXJzZSB0aGUgQUNQSSBTdGF0aWMgUmVzb3VyY2UgQWZmaW5pdHkgVGFibGUgKi8KLXN0YXRpYyBpbnQgX19pbml0IGFjcGkyMF9wYXJzZV9zcmF0KHN0cnVjdCBhY3BpX3RhYmxlX3NyYXQgKnNyYXRwKQotewotCXU4ICpzdGFydCwgKmVuZCwgKnA7Ci0JaW50IGksIGosIG5pZDsKLQotCXN0YXJ0ID0gKHU4ICopKCYoc3JhdHAtPnJlc2VydmVkKSArIDEpOwkvKiBza2lwIGhlYWRlciAqLwotCXAgPSBzdGFydDsKLQllbmQgPSAodTggKilzcmF0cCArIHNyYXRwLT5oZWFkZXIubGVuZ3RoOwotCi0JbWVtc2V0KHB4bV9iaXRtYXAsIDAsIHNpemVvZihweG1fYml0bWFwKSk7CS8qIGluaXQgcHJveGltaXR5IGRvbWFpbiBiaXRtYXAgKi8KLQltZW1zZXQobm9kZV9tZW1vcnlfY2h1bmssIDAsIHNpemVvZihub2RlX21lbW9yeV9jaHVuaykpOwotCi0JbnVtX21lbW9yeV9jaHVua3MgPSAwOwotCXdoaWxlIChwIDwgZW5kKSB7Ci0JCXN3aXRjaCAoKnApIHsKLQkJY2FzZSBBQ1BJX1NSQVRfVFlQRV9DUFVfQUZGSU5JVFk6Ci0JCQlwYXJzZV9jcHVfYWZmaW5pdHlfc3RydWN0dXJlKHApOwotCQkJYnJlYWs7Ci0JCWNhc2UgQUNQSV9TUkFUX1RZUEVfTUVNT1JZX0FGRklOSVRZOgotCQkJcGFyc2VfbWVtb3J5X2FmZmluaXR5X3N0cnVjdHVyZShwKTsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcHJpbnRrKCJBQ1BJIDIuMCBTUkFUOiB1bmtub3duIGVudHJ5IHNraXBwZWQ6IHR5cGU9MHglMDJYLCBsZW49JWRcbiIsIHBbMF0sIHBbMV0pOwotCQkJYnJlYWs7Ci0JCX0KLQkJcCArPSBwWzFdOwotCQlpZiAocFsxXSA9PSAwKSB7Ci0JCQlwcmludGsoImFjcGkyMF9wYXJzZV9zcmF0OiBFbnRyeSBsZW5ndGggdmFsdWUgaXMgemVybzsiCi0JCQkJIiBjYW4ndCBwYXJzZSBhbnkgZnVydGhlciFcbiIpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgewotCQlwcmludGsoImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCi0JLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKLQkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KLQkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCi0JICovCi0JLyoKLQkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgotCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5Ci0JICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCi0JICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCi0JICovCi0Jbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKLQkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgewotCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOwotCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7Ci0JCX0KLQl9Ci0JQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKLQotCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCi0JZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCi0JCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7Ci0KLQlwcmludGsoInB4bSBiaXRtYXA6ICIpOwotCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocHhtX2JpdG1hcCk7IGkrKykgewotCQlwcmludGsoIiUwMlggIiwgcHhtX2JpdG1hcFtpXSk7Ci0JfQotCXByaW50aygiXG4iKTsKLQlwcmludGsoIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLCBudW1fb25saW5lX25vZGVzKCkpOwotCXByaW50aygiTnVtYmVyIG9mIG1lbW9yeSBjaHVua3MgaW4gc3lzdGVtID0gJWRcbiIsIG51bV9tZW1vcnlfY2h1bmtzKTsKLQotCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCi0JCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKLQotCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKLQkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKLQkJcHJpbnRrKCJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCi0JCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7Ci0JCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7Ci0JCWFkZF9hY3RpdmVfcmFuZ2UoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwgY2h1bmstPmVuZF9wZm4pOwotCX0KLSAKLQlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKLQkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07Ci0JCXVuc2lnbmVkIGxvbmcgZW5kID0gbm9kZV9lbmRfcGZuW25pZF07Ci0KLQkJbWVtb3J5X3ByZXNlbnQobmlkLCBzdGFydCwgZW5kKTsKLQkJbm9kZV9yZW1hcF9zaXplW25pZF0gPSBub2RlX21lbW1hcF9zaXplX2J5dGVzKG5pZCwgc3RhcnQsIGVuZCk7Ci0JfQotCXJldHVybiAxOwotb3V0X2ZhaWw6Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0cnVjdCBhY3BpX3N0YXRpY19yc2R0IHsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9yc2R0IHRhYmxlOwotCXUzMiBwYWRkaW5nWzddOyAvKiBBbGxvdyBmb3IgNyBtb3JlIHRhYmxlIGVudHJpZXMgKi8KLX07Ci0KLWludCBfX2luaXQgZ2V0X21lbWNmZ19mcm9tX3NyYXQodm9pZCkKLXsKLQlzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKmhlYWRlciA9IE5VTEw7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkcCAqcnNkcCA9IE5VTEw7Ci0Jc3RydWN0IGFjcGlfdGFibGVfcnNkdCAqcnNkdCA9IE5VTEw7Ci0JYWNwaV9uYXRpdmVfdWludCByc2RwX2FkZHJlc3MgPSAwOwotCXN0cnVjdCBhY3BpX3N0YXRpY19yc2R0IHNhdmVkX3JzZHQ7Ci0JaW50IHRhYmxlcyA9IDA7Ci0JaW50IGkgPSAwOwotCi0JcnNkcF9hZGRyZXNzID0gYWNwaV9vc19nZXRfcm9vdF9wb2ludGVyKCk7Ci0JaWYgKCFyc2RwX2FkZHJlc3MpIHsKLQkJcHJpbnRrKCIlczogU3lzdGVtIGRlc2NyaXB0aW9uIHRhYmxlcyBub3QgZm91bmRcbiIsCi0JCSAgICAgICBfX2Z1bmNfXyk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoIiVzOiBhc3NpZ25pbmcgYWRkcmVzcyB0byByc2RwXG4iLCBfX2Z1bmNfXyk7Ci0JcnNkcCA9IChzdHJ1Y3QgYWNwaV90YWJsZV9yc2RwICopKHUzMilyc2RwX2FkZHJlc3M7Ci0JaWYgKCFyc2RwKSB7Ci0JCXByaW50aygiJXM6IERpZG4ndCBmaW5kIEFDUEkgcm9vdCFcbiIsIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8gIiUuOHMgdiVkIFslLjZzXVxuIiwgcnNkcC0+c2lnbmF0dXJlLCByc2RwLT5yZXZpc2lvbiwKLQkJcnNkcC0+b2VtX2lkKTsKLQotCWlmIChzdHJuY21wKHJzZHAtPnNpZ25hdHVyZSwgQUNQSV9TSUdfUlNEUCxzdHJsZW4oQUNQSV9TSUdfUlNEUCkpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBSU0RQIHRhYmxlIHNpZ25hdHVyZSBpbmNvcnJlY3RcbiIsIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCXJzZHQgPSAoc3RydWN0IGFjcGlfdGFibGVfcnNkdCAqKQotCSAgICBlYXJseV9pb3JlbWFwKHJzZHAtPnJzZHRfcGh5c2ljYWxfYWRkcmVzcywgc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX3JzZHQpKTsKLQotCWlmICghcnNkdCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HCi0JCSAgICAgICAiJXM6IEFDUEk6IEludmFsaWQgcm9vdCBzeXN0ZW0gZGVzY3JpcHRpb24gdGFibGVzIChSU0RUKVxuIiwKLQkJICAgICAgIF9fZnVuY19fKTsKLQkJZ290byBvdXRfZXJyOwotCX0KLQotCWhlYWRlciA9ICZyc2R0LT5oZWFkZXI7Ci0KLQlpZiAoc3RybmNtcChoZWFkZXItPnNpZ25hdHVyZSwgQUNQSV9TSUdfUlNEVCwgc3RybGVuKEFDUElfU0lHX1JTRFQpKSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJBQ1BJOiBSU0RUIHNpZ25hdHVyZSBpbmNvcnJlY3RcbiIpOwotCQlnb3RvIG91dF9lcnI7Ci0JfQotCi0JLyogCi0JICogVGhlIG51bWJlciBvZiB0YWJsZXMgaXMgY29tcHV0ZWQgYnkgdGFraW5nIHRoZSAKLQkgKiBzaXplIG9mIGFsbCBlbnRyaWVzIChoZWFkZXIgc2l6ZSBtaW51cyB0b3RhbCAKLQkgKiBzaXplIG9mIFJTRFQpIGRpdmlkZWQgYnkgdGhlIHNpemUgb2YgZWFjaCBlbnRyeQotCSAqICg0LWJ5dGUgdGFibGUgcG9pbnRlcnMpLgotCSAqLwotCXRhYmxlcyA9IChoZWFkZXItPmxlbmd0aCAtIHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIpKSAvIDQ7Ci0KLQlpZiAoIXRhYmxlcykKLQkJZ290byBvdXRfZXJyOwotCi0JbWVtY3B5KCZzYXZlZF9yc2R0LCByc2R0LCBzaXplb2Yoc2F2ZWRfcnNkdCkpOwotCi0JaWYgKHNhdmVkX3JzZHQudGFibGUuaGVhZGVyLmxlbmd0aCA+IHNpemVvZihzYXZlZF9yc2R0KSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJBQ1BJOiBUb28gYmlnIGxlbmd0aCBpbiBSU0RUOiAlZFxuIiwKLQkJICAgICAgIHNhdmVkX3JzZHQudGFibGUuaGVhZGVyLmxlbmd0aCk7Ci0JCWdvdG8gb3V0X2VycjsKLQl9Ci0KLQlwcmludGsoIkJlZ2luIFNSQVQgdGFibGUgc2Nhbi4uLi5cbiIpOwotCi0JZm9yIChpID0gMDsgaSA8IHRhYmxlczsgaSsrKSB7Ci0JCS8qIE1hcCBpbiBoZWFkZXIsIHRoZW4gbWFwIGluIGZ1bGwgdGFibGUgbGVuZ3RoLiAqLwotCQloZWFkZXIgPSAoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICopCi0JCQllYXJseV9pb3JlbWFwKHNhdmVkX3JzZHQudGFibGUudGFibGVfb2Zmc2V0X2VudHJ5W2ldLCBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyKSk7Ci0JCWlmICghaGVhZGVyKQotCQkJYnJlYWs7Ci0JCWhlYWRlciA9IChzdHJ1Y3QgYWNwaV90YWJsZV9oZWFkZXIgKikKLQkJCWVhcmx5X2lvcmVtYXAoc2F2ZWRfcnNkdC50YWJsZS50YWJsZV9vZmZzZXRfZW50cnlbaV0sIGhlYWRlci0+bGVuZ3RoKTsKLQkJaWYgKCFoZWFkZXIpCi0JCQlicmVhazsKLQotCQlpZiAoc3RybmNtcCgoY2hhciAqKSAmaGVhZGVyLT5zaWduYXR1cmUsIEFDUElfU0lHX1NSQVQsIDQpKQotCQkJY29udGludWU7Ci0KLQkJLyogd2UndmUgZm91bmQgdGhlIHNyYXQgdGFibGUuIGRvbid0IG5lZWQgdG8gbG9vayBhdCBhbnkgbW9yZSB0YWJsZXMgKi8KLQkJcmV0dXJuIGFjcGkyMF9wYXJzZV9zcmF0KChzdHJ1Y3QgYWNwaV90YWJsZV9zcmF0ICopaGVhZGVyKTsKLQl9Ci1vdXRfZXJyOgotCXJlbW92ZV9hbGxfYWN0aXZlX3JhbmdlcygpOwotCXByaW50aygiZmFpbGVkIHRvIGdldCBOVU1BIG1lbW9yeSBpbmZvcm1hdGlvbiBmcm9tIFNSQVQgdGFibGVcbiIpOwotCXJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYyBiL2FyY2gveDg2L2tlcm5lbC9zdGFja3RyYWNlLmMKaW5kZXggYzI4YzM0Mi4uYTAzZTdmNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N0YWNrdHJhY2UuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3RhY2t0cmFjZS5jCkBAIC03NCw2ICs3NCw3IEBACiAJaWYgKHRyYWNlLT5ucl9lbnRyaWVzIDwgdHJhY2UtPm1heF9lbnRyaWVzKQogCQl0cmFjZS0+ZW50cmllc1t0cmFjZS0+bnJfZW50cmllcysrXSA9IFVMT05HX01BWDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKHNhdmVfc3RhY2tfdHJhY2UpOwogCiB2b2lkIHNhdmVfc3RhY2tfdHJhY2VfdHNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3Qgc3RhY2tfdHJhY2UgKnRyYWNlKQogewpAQCAtODEsMyArODIsNCBAQAogCWlmICh0cmFjZS0+bnJfZW50cmllcyA8IHRyYWNlLT5tYXhfZW50cmllcykKIAkJdHJhY2UtPmVudHJpZXNbdHJhY2UtPm5yX2VudHJpZXMrK10gPSBVTE9OR19NQVg7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChzYXZlX3N0YWNrX3RyYWNlX3Rzayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3VtbWl0XzMyLmMKaW5kZXggYWU3NTEwOS4uZDY3Y2U1ZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3N1bW1pdF8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zdW1taXRfMzIuYwpAQCAtMzYsNyArMzYsOSBAQAogc3RhdGljIHN0cnVjdCBzY2FsX2RldGFpbCAgICpzY2FsX2RldnNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogc3RhdGljIHN0cnVjdCByaW9fZGV0YWlsICAgICpyaW9fZGV2c1tNQVhfTlVNTk9ERVMqNF0gX19pbml0ZGF0YTsKIAorI2lmbmRlZiBDT05GSUdfWDg2X05VTUFRCiBzdGF0aWMgaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdIF9faW5pdGRhdGE7CisjZW5kaWYKIAogc3RhdGljIGludCBfX2luaXQgc2V0dXBfcGNpX25vZGVfbWFwX2Zvcl93cGVnKGludCB3cGVnX251bSwgaW50IGxhc3RfYnVzKQogewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3N5c19pMzg2XzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYwppbmRleCBkMmFiNTJjLi43MDY2Y2I4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc3lzX2kzODZfMzIuYwpAQCAtMTksOCArMTksOCBAQAogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KICNpbmNsdWRlIDxsaW51eC9pcGMuaD4KIAotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3VuaXN0ZC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KIAogYXNtbGlua2FnZSBsb25nIHN5c19tbWFwMih1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgbGVuLAogCQkJICB1bnNpZ25lZCBsb25nIHByb3QsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCkBAIC0xMDMsNyArMTAzLDcgQEAKICAqCiAgKiBUaGlzIGlzIHJlYWxseSBob3JyaWJseSB1Z2x5LgogICovCi1hc21saW5rYWdlIGludCBzeXNfaXBjICh1aW50IGNhbGwsIGludCBmaXJzdCwgaW50IHNlY29uZCwKK2FzbWxpbmthZ2UgaW50IHN5c19pcGModWludCBjYWxsLCBpbnQgZmlyc3QsIGludCBzZWNvbmQsCiAJCQlpbnQgdGhpcmQsIHZvaWQgX191c2VyICpwdHIsIGxvbmcgZmlmdGgpCiB7CiAJaW50IHZlcnNpb24sIHJldDsKQEAgLTExMywyNCArMTEzLDI0IEBACiAKIAlzd2l0Y2ggKGNhbGwpIHsKIAljYXNlIFNFTU9QOgotCQlyZXR1cm4gc3lzX3NlbXRpbWVkb3AgKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwgTlVMTCk7CisJCXJldHVybiBzeXNfc2VtdGltZWRvcChmaXJzdCwgKHN0cnVjdCBzZW1idWYgX191c2VyICopcHRyLCBzZWNvbmQsIE5VTEwpOwogCWNhc2UgU0VNVElNRURPUDoKIAkJcmV0dXJuIHN5c19zZW10aW1lZG9wKGZpcnN0LCAoc3RydWN0IHNlbWJ1ZiBfX3VzZXIgKilwdHIsIHNlY29uZCwKIAkJCQkJKGNvbnN0IHN0cnVjdCB0aW1lc3BlYyBfX3VzZXIgKilmaWZ0aCk7CiAKIAljYXNlIFNFTUdFVDoKLQkJcmV0dXJuIHN5c19zZW1nZXQgKGZpcnN0LCBzZWNvbmQsIHRoaXJkKTsKKwkJcmV0dXJuIHN5c19zZW1nZXQoZmlyc3QsIHNlY29uZCwgdGhpcmQpOwogCWNhc2UgU0VNQ1RMOiB7CiAJCXVuaW9uIHNlbXVuIGZvdXJ0aDsKIAkJaWYgKCFwdHIpCiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJaWYgKGdldF91c2VyKGZvdXJ0aC5fX3BhZCwgKHZvaWQgX191c2VyICogX191c2VyICopIHB0cikpCiAJCQlyZXR1cm4gLUVGQVVMVDsKLQkJcmV0dXJuIHN5c19zZW1jdGwgKGZpcnN0LCBzZWNvbmQsIHRoaXJkLCBmb3VydGgpOworCQlyZXR1cm4gc3lzX3NlbWN0bChmaXJzdCwgc2Vjb25kLCB0aGlyZCwgZm91cnRoKTsKIAl9CiAKIAljYXNlIE1TR1NORDoKLQkJcmV0dXJuIHN5c19tc2dzbmQgKGZpcnN0LCAoc3RydWN0IG1zZ2J1ZiBfX3VzZXIgKikgcHRyLCAKKwkJcmV0dXJuIHN5c19tc2dzbmQoZmlyc3QsIChzdHJ1Y3QgbXNnYnVmIF9fdXNlciAqKSBwdHIsCiAJCQkJICAgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBNU0dSQ1Y6CiAJCXN3aXRjaCAodmVyc2lvbikgewpAQCAtMTM4LDQ1ICsxMzgsNDUgQEAKIAkJCXN0cnVjdCBpcGNfa2x1ZGdlIHRtcDsKIAkJCWlmICghcHRyKQogCQkJCXJldHVybiAtRUlOVkFMOwotCQkJCisKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigmdG1wLAotCQkJCQkgICAoc3RydWN0IGlwY19rbHVkZ2UgX191c2VyICopIHB0ciwgCi0JCQkJCSAgIHNpemVvZiAodG1wKSkpCisJCQkJCSAgIChzdHJ1Y3QgaXBjX2tsdWRnZSBfX3VzZXIgKikgcHRyLAorCQkJCQkgICBzaXplb2YodG1wKSkpCiAJCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCQlyZXR1cm4gc3lzX21zZ3JjdiAoZmlyc3QsIHRtcC5tc2dwLCBzZWNvbmQsCisJCQlyZXR1cm4gc3lzX21zZ3JjdihmaXJzdCwgdG1wLm1zZ3AsIHNlY29uZCwKIAkJCQkJICAgdG1wLm1zZ3R5cCwgdGhpcmQpOwogCQl9CiAJCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gc3lzX21zZ3JjdiAoZmlyc3QsCisJCQlyZXR1cm4gc3lzX21zZ3JjdihmaXJzdCwKIAkJCQkJICAgKHN0cnVjdCBtc2didWYgX191c2VyICopIHB0ciwKIAkJCQkJICAgc2Vjb25kLCBmaWZ0aCwgdGhpcmQpOwogCQl9CiAJY2FzZSBNU0dHRVQ6Ci0JCXJldHVybiBzeXNfbXNnZ2V0ICgoa2V5X3QpIGZpcnN0LCBzZWNvbmQpOworCQlyZXR1cm4gc3lzX21zZ2dldCgoa2V5X3QpIGZpcnN0LCBzZWNvbmQpOwogCWNhc2UgTVNHQ1RMOgotCQlyZXR1cm4gc3lzX21zZ2N0bCAoZmlyc3QsIHNlY29uZCwgKHN0cnVjdCBtc3FpZF9kcyBfX3VzZXIgKikgcHRyKTsKKwkJcmV0dXJuIHN5c19tc2djdGwoZmlyc3QsIHNlY29uZCwgKHN0cnVjdCBtc3FpZF9kcyBfX3VzZXIgKikgcHRyKTsKIAogCWNhc2UgU0hNQVQ6CiAJCXN3aXRjaCAodmVyc2lvbikgewogCQlkZWZhdWx0OiB7CiAJCQl1bG9uZyByYWRkcjsKLQkJCXJldCA9IGRvX3NobWF0IChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAmcmFkZHIpOworCQkJcmV0ID0gZG9fc2htYXQoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgJnJhZGRyKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKLQkJCXJldHVybiBwdXRfdXNlciAocmFkZHIsICh1bG9uZyBfX3VzZXIgKikgdGhpcmQpOworCQkJcmV0dXJuIHB1dF91c2VyKHJhZGRyLCAodWxvbmcgX191c2VyICopIHRoaXJkKTsKIAkJfQogCQljYXNlIDE6CS8qIGlCQ1MyIGVtdWxhdG9yIGVudHJ5IHBvaW50ICovCiAJCQlpZiAoIXNlZ21lbnRfZXEoZ2V0X2ZzKCksIGdldF9kcygpKSkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCS8qIFRoZSAiKHVsb25nICopIHRoaXJkIiBpcyB2YWxpZCBfb25seV8gYmVjYXVzZSBvZiB0aGUga2VybmVsIHNlZ21lbnQgdGhpbmcgKi8KLQkJCXJldHVybiBkb19zaG1hdCAoZmlyc3QsIChjaGFyIF9fdXNlciAqKSBwdHIsIHNlY29uZCwgKHVsb25nICopIHRoaXJkKTsKKwkJCXJldHVybiBkb19zaG1hdChmaXJzdCwgKGNoYXIgX191c2VyICopIHB0ciwgc2Vjb25kLCAodWxvbmcgKikgdGhpcmQpOwogCQl9Ci0JY2FzZSBTSE1EVDogCi0JCXJldHVybiBzeXNfc2htZHQgKChjaGFyIF9fdXNlciAqKXB0cik7CisJY2FzZSBTSE1EVDoKKwkJcmV0dXJuIHN5c19zaG1kdCgoY2hhciBfX3VzZXIgKilwdHIpOwogCWNhc2UgU0hNR0VUOgotCQlyZXR1cm4gc3lzX3NobWdldCAoZmlyc3QsIHNlY29uZCwgdGhpcmQpOworCQlyZXR1cm4gc3lzX3NobWdldChmaXJzdCwgc2Vjb25kLCB0aGlyZCk7CiAJY2FzZSBTSE1DVEw6Ci0JCXJldHVybiBzeXNfc2htY3RsIChmaXJzdCwgc2Vjb25kLAorCQlyZXR1cm4gc3lzX3NobWN0bChmaXJzdCwgc2Vjb25kLAogCQkJCSAgIChzdHJ1Y3Qgc2htaWRfZHMgX191c2VyICopIHB0cik7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIC1FTk9TWVM7CkBAIC0xODYsMjggKzE4NiwyOCBAQAogLyoKICAqIE9sZCBjcnVmdAogICovCi1hc21saW5rYWdlIGludCBzeXNfdW5hbWUoc3RydWN0IG9sZF91dHNuYW1lIF9fdXNlciAqIG5hbWUpCithc21saW5rYWdlIGludCBzeXNfdW5hbWUoc3RydWN0IG9sZF91dHNuYW1lIF9fdXNlciAqbmFtZSkKIHsKIAlpbnQgZXJyOwogCWlmICghbmFtZSkKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJZG93bl9yZWFkKCZ1dHNfc2VtKTsKLQllcnIgPSBjb3B5X3RvX3VzZXIobmFtZSwgdXRzbmFtZSgpLCBzaXplb2YgKCpuYW1lKSk7CisJZXJyID0gY29weV90b191c2VyKG5hbWUsIHV0c25hbWUoKSwgc2l6ZW9mKCpuYW1lKSk7CiAJdXBfcmVhZCgmdXRzX3NlbSk7Ci0JcmV0dXJuIGVycj8tRUZBVUxUOjA7CisJcmV0dXJuIGVycj8gLUVGQVVMVDowOwogfQogCi1hc21saW5rYWdlIGludCBzeXNfb2xkdW5hbWUoc3RydWN0IG9sZG9sZF91dHNuYW1lIF9fdXNlciAqIG5hbWUpCithc21saW5rYWdlIGludCBzeXNfb2xkdW5hbWUoc3RydWN0IG9sZG9sZF91dHNuYW1lIF9fdXNlciAqbmFtZSkKIHsKIAlpbnQgZXJyb3I7CiAKIAlpZiAoIW5hbWUpCiAJCXJldHVybiAtRUZBVUxUOwotCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSxuYW1lLHNpemVvZihzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUpKSkKKwlpZiAoIWFjY2Vzc19vayhWRVJJRllfV1JJVEUsIG5hbWUsIHNpemVvZihzdHJ1Y3Qgb2xkb2xkX3V0c25hbWUpKSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0gIAotICAJZG93bl9yZWFkKCZ1dHNfc2VtKTsKLQkKKworCWRvd25fcmVhZCgmdXRzX3NlbSk7CisKIAllcnJvciA9IF9fY29weV90b191c2VyKCZuYW1lLT5zeXNuYW1lLCAmdXRzbmFtZSgpLT5zeXNuYW1lLAogCQkJICAgICAgIF9fT0xEX1VUU19MRU4pOwogCWVycm9yIHw9IF9fcHV0X3VzZXIoMCwgbmFtZS0+c3lzbmFtZSArIF9fT0xEX1VUU19MRU4pOwpAQCAtMjIzLDkgKzIyMyw5IEBACiAJZXJyb3IgfD0gX19jb3B5X3RvX3VzZXIoJm5hbWUtPm1hY2hpbmUsICZ1dHNuYW1lKCktPm1hY2hpbmUsCiAJCQkJX19PTERfVVRTX0xFTik7CiAJZXJyb3IgfD0gX19wdXRfdXNlcigwLCBuYW1lLT5tYWNoaW5lICsgX19PTERfVVRTX0xFTik7Ci0JCisKIAl1cF9yZWFkKCZ1dHNfc2VtKTsKLQkKKwogCWVycm9yID0gZXJyb3IgPyAtRUZBVUxUIDogMDsKIAogCXJldHVybiBlcnJvcjsKQEAgLTI0MSw2ICsyNDEsNiBAQAogCWxvbmcgX19yZXM7CiAJYXNtIHZvbGF0aWxlICgicHVzaCAlJWVieCA7IG1vdmwgJTIsJSVlYnggOyBpbnQgJDB4ODAgOyBwb3AgJSVlYngiCiAJOiAiPWEiIChfX3JlcykKLQk6ICIwIiAoX19OUl9leGVjdmUpLCJyaSIgKGZpbGVuYW1lKSwiYyIgKGFyZ3YpLCAiZCIgKGVudnApIDogIm1lbW9yeSIpOworCTogIjAiIChfX05SX2V4ZWN2ZSksICJyaSIgKGZpbGVuYW1lKSwgImMiIChhcmd2KSwgImQiIChlbnZwKSA6ICJtZW1vcnkiKTsKIAlyZXR1cm4gX19yZXM7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jIGIvYXJjaC94ODYva2VybmVsL3RpbWVfMzIuYwppbmRleCAyZmYyMWYzLi4wNTljYTZlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzMyLmMKQEAgLTM5LDkgKzM5LDYgQEAKIAogI2luY2x1ZGUgImRvX3RpbWVyLmgiCiAKLXVuc2lnbmVkIGludCBjcHVfa2h6OwkvKiBEZXRlY3RlZCBhcyB3ZSBjYWxpYnJhdGUgdGhlIFRTQyAqLwotRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKLQogaW50IHRpbWVyX2FjazsKIAogdW5zaWduZWQgbG9uZyBwcm9maWxlX3BjKHN0cnVjdCBwdF9yZWdzICpyZWdzKQpAQCAtODQsOCArODEsNyBAQAogCWlmICh0aW1lcl9hY2spIHsKIAkJLyoKIAkJICogU3VidGxlLCB3aGVuIEkvTyBBUElDcyBhcmUgdXNlZCB3ZSBoYXZlIHRvIGFjayB0aW1lciBJUlEKLQkJICogbWFudWFsbHkgdG8gcmVzZXQgdGhlIElSUiBiaXQgZm9yIGRvX3Nsb3dfZ2V0dGltZW9mZnNldCgpLgotCQkgKiBUaGlzIHdpbGwgYWxzbyBkZWFzc2VydCBOTUkgbGluZXMgZm9yIHRoZSB3YXRjaGRvZyBpZiBydW4KKwkJICogbWFudWFsbHkgdG8gZGVhc3NlcnQgTk1JIGxpbmVzIGZvciB0aGUgd2F0Y2hkb2cgaWYgcnVuCiAJCSAqIG9uIGFuIDgyNDg5RFgtYmFzZWQgc3lzdGVtLgogCQkgKi8KIAkJc3Bpbl9sb2NrKCZpODI1OUFfbG9jayk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jIGIvYXJjaC94ODYva2VybmVsL3RpbWVfNjQuYwppbmRleCBjNzM3ODQ5Li5lM2Q0OWM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdGltZV82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90aW1lXzY0LmMKQEAgLTU2LDcgKzU2LDcgQEAKIC8qIGNhbGlicmF0ZV9jcHUgaXMgdXNlZCBvbiBzeXN0ZW1zIHdpdGggZml4ZWQgcmF0ZSBUU0NzIHRvIGRldGVybWluZQogICogcHJvY2Vzc29yIGZyZXF1ZW5jeSAqLwogI2RlZmluZSBUSUNLX0NPVU5UIDEwMDAwMDAwMAotdW5zaWduZWQgbG9uZyBfX2luaXQgbmF0aXZlX2NhbGN1bGF0ZV9jcHVfa2h6KHZvaWQpCit1bnNpZ25lZCBsb25nIF9faW5pdCBjYWxpYnJhdGVfY3B1KHZvaWQpCiB7CiAJaW50IHRzY19zdGFydCwgdHNjX25vdzsKIAlpbnQgaSwgbm9fY3RyX2ZyZWU7CkBAIC0xMTYsMjMgKzExNiwxMSBAQAogCiB2b2lkIF9faW5pdCB0aW1lX2luaXQodm9pZCkKIHsKLQl0c2NfY2FsaWJyYXRlKCk7Ci0KLQljcHVfa2h6ID0gdHNjX2toejsKLQlpZiAoY3B1X2hhcygmYm9vdF9jcHVfZGF0YSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSAmJgotCQkoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSkKLQkJY3B1X2toeiA9IGNhbGN1bGF0ZV9jcHVfa2h6KCk7Ci0KLQlpZiAodW5zeW5jaHJvbml6ZWRfdHNjKCkpCi0JCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0NzIHVuc3luY2hyb25pemVkIik7Ci0KKwl0c2NfaW5pdCgpOwogCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9SRFRTQ1ApKQogCQl2Z2V0Y3B1X21vZGUgPSBWR0VUQ1BVX1JEVFNDUDsKIAllbHNlCiAJCXZnZXRjcHVfbW9kZSA9IFZHRVRDUFVfTFNMOwogCi0JcHJpbnRrKEtFUk5fSU5GTyAidGltZS5jOiBEZXRlY3RlZCAlZC4lMDNkIE1IeiBwcm9jZXNzb3IuXG4iLAotCQljcHVfa2h6IC8gMTAwMCwgY3B1X2toeiAlIDEwMDApOwotCWluaXRfdHNjX2Nsb2Nrc291cmNlKCk7CiAJbGF0ZV90aW1lX2luaXQgPSBjaG9vc2VfdGltZV9pbml0KCk7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzMyLmMKaW5kZXggOWJiMjM2My4uZmVjMWVjZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RsYl8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfMzIuYwpAQCAtMjM4LDYgKzIzOCw2IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiXzY0LmMKaW5kZXggYTFmMDdkNy4uZGNiZjdhMSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RsYl82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90bGJfNjQuYwpAQCAtMTUsNiArMTUsOCBAQAogI2luY2x1ZGUgPGFzbS9wcm90by5oPgogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL2lkbGUuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2JhdS5oPgogCiAjaW5jbHVkZSA8bWFjaF9pcGkuaD4KIC8qCkBAIC0xNjIsNiArMTY0LDkgQEAKIAl1bmlvbiBzbXBfZmx1c2hfc3RhdGUgKmY7CiAJY3B1bWFza190IGNwdW1hc2sgPSAqY3B1bWFza3A7CiAKKwlpZiAoaXNfdXZfc3lzdGVtKCkgJiYgdXZfZmx1c2hfdGxiX290aGVycygmY3B1bWFzaywgbW0sIHZhKSkKKwkJcmV0dXJuOworCiAJLyogQ2FsbGVyIGhhcyBkaXNhYmxlZCBwcmVlbXB0aW9uICovCiAJc2VuZGVyID0gc21wX3Byb2Nlc3Nvcl9pZCgpICUgTlVNX0lOVkFMSURBVEVfVExCX1ZFQ1RPUlM7CiAJZiA9ICZwZXJfY3B1KGZsdXNoX3N0YXRlLCBzZW5kZXIpOwpAQCAtMjcwLDUgKzI3NSw1IEBACiAKIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIE5VTEwsIDEpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RsYl91di5jIGIvYXJjaC94ODYva2VybmVsL3RsYl91di5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZmJiNzcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9rZXJuZWwvdGxiX3V2LmMKQEAgLTAsMCArMSw3OTIgQEAKKy8qCisgKglTR0kgVWx0cmFWaW9sZXQgVExCIGZsdXNoIHJvdXRpbmVzLgorICoKKyAqCShjKSAyMDA4IENsaWZmIFdpY2ttYW4gPGNwd0BzZ2kuY29tPiwgU0dJLgorICoKKyAqCVRoaXMgY29kZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yCisgKglsYXRlci4KKyAqLworI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CisjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorCisjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X21tcnMuaD4KKyNpbmNsdWRlIDxhc20vdXYvdXZfaHViLmg+CisjaW5jbHVkZSA8YXNtL3V2L3V2X2JhdS5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisjaW5jbHVkZSA8YXNtL2lkbGUuaD4KKyNpbmNsdWRlIDxhc20vdHNjLmg+CisKKyNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKworc3RhdGljIHN0cnVjdCBiYXVfY29udHJvbAkqKnV2X2JhdV90YWJsZV9iYXNlcyBfX3JlYWRfbW9zdGx5Oworc3RhdGljIGludAkJCXV2X2JhdV9yZXRyeV9saW1pdCBfX3JlYWRfbW9zdGx5OworCisvKiBwb3NpdGlvbiBvZiBwbm9kZSAod2hpY2ggaXMgbmFzaWQ+PjEpOiAqLworc3RhdGljIGludAkJCXV2X25zaGlmdCBfX3JlYWRfbW9zdGx5OworCitzdGF0aWMgdW5zaWduZWQgbG9uZwkJdXZfbW1hc2sgX19yZWFkX21vc3RseTsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBwdGNfc3RhdHMsIHB0Y3N0YXRzKTsKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgYmF1X2NvbnRyb2wsIGJhdV9jb250cm9sKTsKKworLyoKKyAqIEZyZWUgYSBzb2Z0d2FyZSBhY2tub3dsZWRnZSBoYXJkd2FyZSByZXNvdXJjZSBieSBjbGVhcmluZyBpdHMgUGVuZGluZworICogYml0LiBUaGlzIHdpbGwgcmV0dXJuIGEgcmVwbHkgdG8gdGhlIHNlbmRlci4KKyAqIElmIHRoZSBtZXNzYWdlIGhhcyB0aW1lZCBvdXQsIGEgcmVwbHkgaGFzIGFscmVhZHkgYmVlbiBzZW50IGJ5IHRoZQorICogaGFyZHdhcmUgYnV0IHRoZSByZXNvdXJjZSBoYXMgbm90IGJlZW4gcmVsZWFzZWQuIEluIHRoYXQgY2FzZSBvdXIKKyAqIGNsZWFyIG9mIHRoZSBUaW1lb3V0IGJpdCAoYXMgd2VsbCkgd2lsbCBmcmVlIHRoZSByZXNvdXJjZS4gTm8gcmVwbHkgd2lsbAorICogYmUgc2VudCAodGhlIGhhcmR3YXJlIHdpbGwgb25seSBkbyBvbmUgcmVwbHkgcGVyIG1lc3NhZ2UpLgorICovCitzdGF0aWMgdm9pZCB1dl9yZXBseV90b19tZXNzYWdlKGludCByZXNvdXJjZSwKKwkJCQlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZywKKwkJCQlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zcCkKK3sKKwl1bnNpZ25lZCBsb25nIGR3OworCisJZHcgPSAoMSA8PCAocmVzb3VyY2UgKyBVVl9TV19BQ0tfTlBFTkRJTkcpKSB8ICgxIDw8IHJlc291cmNlKTsKKwltc2ctPnJlcGxpZWRfdG8gPSAxOworCW1zZy0+c3dfYWNrX3ZlY3RvciA9IDA7CisJaWYgKG1zcCkKKwkJbXNwLT5zZWVuX2J5LmJpdHMgPSAwOworCXV2X3dyaXRlX2xvY2FsX21tcihVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMsIGR3KTsKK30KKworLyoKKyAqIERvIGFsbCB0aGUgdGhpbmdzIGEgY3B1IHNob3VsZCBkbyBmb3IgYSBUTEIgc2hvb3Rkb3duIG1lc3NhZ2UuCisgKiBPdGhlciBjcHUncyBtYXkgY29tZSBoZXJlIGF0IHRoZSBzYW1lIHRpbWUgZm9yIHRoaXMgbWVzc2FnZS4KKyAqLworc3RhdGljIHZvaWQgdXZfYmF1X3Byb2Nlc3NfbWVzc2FnZShzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKm1zZywKKwkJCQkgICBpbnQgbXNnX3Nsb3QsIGludCBzd19hY2tfc2xvdCkKK3sKKwl1bnNpZ25lZCBsb25nIHRoaXNfY3B1X21hc2s7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJaW50IGNwdTsKKworCW1zcCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLm1zZ19zdGF0dXNlcyArIG1zZ19zbG90OworCWNwdSA9IHV2X2JsYWRlX3Byb2Nlc3Nvcl9pZCgpOworCW1zZy0+bnVtYmVyX29mX2NwdXMgPQorCSAgICB1dl9ibGFkZV9ucl9vbmxpbmVfY3B1cyh1dl9ub2RlX3RvX2JsYWRlX2lkKG51bWFfbm9kZV9pZCgpKSk7CisJdGhpc19jcHVfbWFzayA9IDFVTCA8PCBjcHU7CisJaWYgKG1zcC0+c2Vlbl9ieS5iaXRzICYgdGhpc19jcHVfbWFzaykKKwkJcmV0dXJuOworCWF0b21pY19vcl9sb25nKCZtc3AtPnNlZW5fYnkuYml0cywgdGhpc19jcHVfbWFzayk7CisKKwlpZiAobXNnLT5yZXBsaWVkX3RvID09IDEpCisJCXJldHVybjsKKworCWlmIChtc2ctPmFkZHJlc3MgPT0gVExCX0ZMVVNIX0FMTCkgeworCQlsb2NhbF9mbHVzaF90bGIoKTsKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuYWxsdGxiKys7CisJfSBlbHNlIHsKKwkJX19mbHVzaF90bGJfb25lKG1zZy0+YWRkcmVzcyk7CisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm9uZXRsYisrOworCX0KKworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLnJlcXVlc3RlZSsrOworCisJYXRvbWljX2luY19zaG9ydCgmbXNnLT5hY2tub3dsZWRnZV9jb3VudCk7CisJaWYgKG1zZy0+bnVtYmVyX29mX2NwdXMgPT0gbXNnLT5hY2tub3dsZWRnZV9jb3VudCkKKwkJdXZfcmVwbHlfdG9fbWVzc2FnZShzd19hY2tfc2xvdCwgbXNnLCBtc3ApOworfQorCisvKgorICogRXhhbWluZSB0aGUgcGF5bG9hZCBxdWV1ZSBvbiBvbmUgZGlzdHJpYnV0aW9uIG5vZGUgdG8gc2VlCisgKiB3aGljaCBtZXNzYWdlcyBoYXZlIG5vdCBiZWVuIHNlZW4sIGFuZCB3aGljaCBjcHUocykgaGF2ZSBub3Qgc2VlbiB0aGVtLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjcHUncyB0aGF0IGhhdmUgbm90IHJlc3BvbmRlZC4KKyAqLworc3RhdGljIGludCB1dl9leGFtaW5lX2Rlc3RpbmF0aW9uKHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3AsIGludCBzZW5kZXIpCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJaW50IGNvdW50ID0gMDsKKwlpbnQgaTsKKwlpbnQgajsKKworCWZvciAobXNnID0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0LCBpID0gMDsgaSA8IERFU1RfUV9TSVpFOworCSAgICAgbXNnKyssIGkrKykgeworCQlpZiAoKG1zZy0+c2VuZGluZ19jcHUgPT0gc2VuZGVyKSAmJiAoIW1zZy0+cmVwbGllZF90bykpIHsKKwkJCW1zcCA9IGJhdV90YWJsZXNwLT5tc2dfc3RhdHVzZXMgKyBpOworCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSAgICAgICAiYmxhZGUgJWQ6IGFkZHJlc3M6JSNseCAlZCBvZiAlZCwgbm90IGNwdShzKTogIiwKKwkJCSAgICAgICBpLCBtc2ctPmFkZHJlc3MsIG1zZy0+YWNrbm93bGVkZ2VfY291bnQsCisJCQkgICAgICAgbXNnLT5udW1iZXJfb2ZfY3B1cyk7CisJCQlmb3IgKGogPSAwOyBqIDwgbXNnLT5udW1iZXJfb2ZfY3B1czsgaisrKSB7CisJCQkJaWYgKCEoKDFMIDw8IGopICYgbXNwLT5zZWVuX2J5LmJpdHMpKSB7CisJCQkJCWNvdW50Kys7CisJCQkJCXByaW50aygiJWQgIiwgaik7CisJCQkJfQorCQkJfQorCQkJcHJpbnRrKCJcbiIpOworCQl9CisJfQorCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIEV4YW1pbmUgdGhlIHBheWxvYWQgcXVldWUgb24gYWxsIHRoZSBkaXN0cmlidXRpb24gbm9kZXMgdG8gc2VlCisgKiB3aGljaCBtZXNzYWdlcyBoYXZlIG5vdCBiZWVuIHNlZW4sIGFuZCB3aGljaCBjcHUocykgaGF2ZSBub3Qgc2VlbiB0aGVtLgorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBjcHUncyB0aGF0IGhhdmUgbm90IHJlc3BvbmRlZC4KKyAqLworc3RhdGljIGludCB1dl9leGFtaW5lX2Rlc3RpbmF0aW9ucyhzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZGlzdHJpYnV0aW9uKQoreworCWludCBzZW5kZXI7CisJaW50IGk7CisJaW50IGNvdW50ID0gMDsKKworCXNlbmRlciA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKKwlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrKSAqIEJJVFNQRVJCWVRFOyBpKyspIHsKKwkJaWYgKCFiYXVfbm9kZV9pc3NldChpLCBkaXN0cmlidXRpb24pKQorCQkJY29udGludWU7CisJCWNvdW50ICs9IHV2X2V4YW1pbmVfZGVzdGluYXRpb24odXZfYmF1X3RhYmxlX2Jhc2VzW2ldLCBzZW5kZXIpOworCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiB3YWl0IGZvciBjb21wbGV0aW9uIG9mIGEgYnJvYWRjYXN0IG1lc3NhZ2UKKyAqCisgKiByZXR1cm4gQ09NUExFVEUsIFJFVFJZIG9yIEdJVkVVUAorICovCitzdGF0aWMgaW50IHV2X3dhaXRfY29tcGxldGlvbihzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjLAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBtbXJfb2Zmc2V0LCBpbnQgcmlnaHRfc2hpZnQpCit7CisJaW50IGV4YW1zID0gMDsKKwlsb25nIGRlc3RpbmF0aW9uX3RpbWVvdXRzID0gMDsKKwlsb25nIHNvdXJjZV90aW1lb3V0cyA9IDA7CisJdW5zaWduZWQgbG9uZyBkZXNjcmlwdG9yX3N0YXR1czsKKworCXdoaWxlICgoZGVzY3JpcHRvcl9zdGF0dXMgPSAoKCh1bnNpZ25lZCBsb25nKQorCQl1dl9yZWFkX2xvY2FsX21tcihtbXJfb2Zmc2V0KSA+PgorCQkJcmlnaHRfc2hpZnQpICYgVVZfQUNUX1NUQVRVU19NQVNLKSkgIT0KKwkJCURFU0NfU1RBVFVTX0lETEUpIHsKKwkJaWYgKGRlc2NyaXB0b3Jfc3RhdHVzID09IERFU0NfU1RBVFVTX1NPVVJDRV9USU1FT1VUKSB7CisJCQlzb3VyY2VfdGltZW91dHMrKzsKKwkJCWlmIChzb3VyY2VfdGltZW91dHMgPiBTT1VSQ0VfVElNRU9VVF9MSU1JVCkKKwkJCQlzb3VyY2VfdGltZW91dHMgPSAwOworCQkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuc19yZXRyeSsrOworCQkJcmV0dXJuIEZMVVNIX1JFVFJZOworCQl9CisJCS8qCisJCSAqIHNwaW4gaGVyZSBsb29raW5nIGZvciBwcm9ncmVzcyBhdCB0aGUgZGVzdGluYXRpb25zCisJCSAqLworCQlpZiAoZGVzY3JpcHRvcl9zdGF0dXMgPT0gREVTQ19TVEFUVVNfREVTVElOQVRJT05fVElNRU9VVCkgeworCQkJZGVzdGluYXRpb25fdGltZW91dHMrKzsKKwkJCWlmIChkZXN0aW5hdGlvbl90aW1lb3V0cyA+IERFU1RJTkFUSU9OX1RJTUVPVVRfTElNSVQpIHsKKwkJCQkvKgorCQkJCSAqIHJldHVybnMgbnVtYmVyIG9mIGNwdXMgbm90IHJlc3BvbmRpbmcKKwkJCQkgKi8KKwkJCQlpZiAodXZfZXhhbWluZV9kZXN0aW5hdGlvbnMKKwkJCQkgICAgKCZiYXVfZGVzYy0+ZGlzdHJpYnV0aW9uKSA9PSAwKSB7CisJCQkJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmRfcmV0cnkrKzsKKwkJCQkJcmV0dXJuIEZMVVNIX1JFVFJZOworCQkJCX0KKwkJCQlleGFtcysrOworCQkJCWlmIChleGFtcyA+PSB1dl9iYXVfcmV0cnlfbGltaXQpIHsKKwkJCQkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCQkJICAgICAgICJ1dl9mbHVzaF90bGJfb3RoZXJzIik7CisJCQkJCXByaW50aygiZ2l2aW5nIHVwIG9uIGNwdSAlZFxuIiwKKwkJCQkJICAgICAgIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJCQkJCXJldHVybiBGTFVTSF9HSVZFVVA7CisJCQkJfQorCQkJCS8qCisJCQkJICogZGVsYXlzIGNhbiBoYW5nIHRoZSBzaW11bGF0b3IKKwkJCQkgICB1ZGVsYXkoMTAwMCk7CisJCQkJICovCisJCQkJZGVzdGluYXRpb25fdGltZW91dHMgPSAwOworCQkJfQorCQl9CisJfQorCXJldHVybiBGTFVTSF9DT01QTEVURTsKK30KKworLyoqCisgKiB1dl9mbHVzaF9zZW5kX2FuZF93YWl0CisgKgorICogU2VuZCBhIGJyb2FkY2FzdCBhbmQgd2FpdCBmb3IgYSBicm9hZGNhc3QgbWVzc2FnZSB0byBjb21wbGV0ZS4KKyAqCisgKiBUaGUgY3B1bWFza3AgbWFzayBjb250YWlucyB0aGUgY3B1cyB0aGUgYnJvYWRjYXN0IHdhcyBzZW50IHRvLgorICoKKyAqIFJldHVybnMgMSBpZiBhbGwgcmVtb3RlIGZsdXNoaW5nIHdhcyBkb25lLiBUaGUgbWFzayBpcyB6ZXJvZWQuCisgKiBSZXR1cm5zIDAgaWYgc29tZSByZW1vdGUgZmx1c2hpbmcgcmVtYWlucyB0byBiZSBkb25lLiBUaGUgbWFzayBpcyBsZWZ0CisgKiB1bmNoYW5nZWQuCisgKi8KK2ludCB1dl9mbHVzaF9zZW5kX2FuZF93YWl0KGludCBjcHUsIGludCB0aGlzX2JsYWRlLCBzdHJ1Y3QgYmF1X2Rlc2MgKmJhdV9kZXNjLAorCQkJICAgY3B1bWFza190ICpjcHVtYXNrcCkKK3sKKwlpbnQgY29tcGxldGlvbl9zdGF0dXMgPSAwOworCWludCByaWdodF9zaGlmdDsKKwlpbnQgdHJpZXMgPSAwOworCWludCBibGFkZTsKKwlpbnQgYml0OworCXVuc2lnbmVkIGxvbmcgbW1yX29mZnNldDsKKwl1bnNpZ25lZCBsb25nIGluZGV4OworCWN5Y2xlc190IHRpbWUxOworCWN5Y2xlc190IHRpbWUyOworCisJaWYgKGNwdSA8IFVWX0NQVVNfUEVSX0FDVF9TVEFUVVMpIHsKKwkJbW1yX29mZnNldCA9IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMDsKKwkJcmlnaHRfc2hpZnQgPSBjcHUgKiBVVl9BQ1RfU1RBVFVTX1NJWkU7CisJfSBlbHNlIHsKKwkJbW1yX29mZnNldCA9IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMTsKKwkJcmlnaHRfc2hpZnQgPQorCQkgICAgKChjcHUgLSBVVl9DUFVTX1BFUl9BQ1RfU1RBVFVTKSAqIFVWX0FDVF9TVEFUVVNfU0laRSk7CisJfQorCXRpbWUxID0gZ2V0X2N5Y2xlcygpOworCWRvIHsKKwkJdHJpZXMrKzsKKwkJaW5kZXggPSAoMVVMIDw8IFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MX1BVU0hfU0hGVCkgfAorCQkJY3B1OworCQl1dl93cml0ZV9sb2NhbF9tbXIoVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0wsIGluZGV4KTsKKwkJY29tcGxldGlvbl9zdGF0dXMgPSB1dl93YWl0X2NvbXBsZXRpb24oYmF1X2Rlc2MsIG1tcl9vZmZzZXQsCisJCQkJCXJpZ2h0X3NoaWZ0KTsKKwl9IHdoaWxlIChjb21wbGV0aW9uX3N0YXR1cyA9PSBGTFVTSF9SRVRSWSk7CisJdGltZTIgPSBnZXRfY3ljbGVzKCk7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykuc2ZsdXNoICs9ICh0aW1lMiAtIHRpbWUxKTsKKwlpZiAodHJpZXMgPiAxKQorCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5yZXRyaWVzb2srKzsKKworCWlmIChjb21wbGV0aW9uX3N0YXR1cyA9PSBGTFVTSF9HSVZFVVApIHsKKwkJLyoKKwkJICogQ2F1c2UgdGhlIGNhbGxlciB0byBkbyBhbiBJUEktc3R5bGUgVExCIHNob290ZG93biBvbgorCQkgKiB0aGUgY3B1J3MsIGFsbCBvZiB3aGljaCBhcmUgc3RpbGwgaW4gdGhlIG1hc2suCisJCSAqLworCQlfX2dldF9jcHVfdmFyKHB0Y3N0YXRzKS5wdGNfaSsrOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqIFN1Y2Nlc3MsIHNvIGNsZWFyIHRoZSByZW1vdGUgY3B1J3MgZnJvbSB0aGUgbWFzayBzbyB3ZSBkb24ndAorCSAqIHVzZSB0aGUgSVBJIG1ldGhvZCBvZiBzaG9vdGRvd24gb24gdGhlbS4KKwkgKi8KKwlmb3JfZWFjaF9jcHVfbWFzayhiaXQsICpjcHVtYXNrcCkgeworCQlibGFkZSA9IHV2X2NwdV90b19ibGFkZV9pZChiaXQpOworCQlpZiAoYmxhZGUgPT0gdGhpc19ibGFkZSkKKwkJCWNvbnRpbnVlOworCQljcHVfY2xlYXIoYml0LCAqY3B1bWFza3ApOworCX0KKwlpZiAoIWNwdXNfZW1wdHkoKmNwdW1hc2twKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qKgorICogdXZfZmx1c2hfdGxiX290aGVycyAtIGdsb2JhbGx5IHB1cmdlIHRyYW5zbGF0aW9uIGNhY2hlIG9mIGEgdmlydHVhbAorICogYWRkcmVzcyBvciBhbGwgVExCJ3MKKyAqIEBjcHVtYXNrcDogbWFzayBvZiBhbGwgY3B1J3MgaW4gd2hpY2ggdGhlIGFkZHJlc3MgaXMgdG8gYmUgcmVtb3ZlZAorICogQG1tOiBtbV9zdHJ1Y3QgY29udGFpbmluZyB2aXJ0dWFsIGFkZHJlc3MgcmFuZ2UKKyAqIEB2YTogdmlydHVhbCBhZGRyZXNzIHRvIGJlIHJlbW92ZWQgKG9yIFRMQl9GTFVTSF9BTEwgZm9yIGFsbCBUTEIncyBvbiBjcHUpCisgKgorICogVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIGluaXRpYXRpbmcgYW55IFVWIGdsb2JhbCBUTEIgc2hvb3Rkb3duLgorICoKKyAqIFB1cmdlcyB0aGUgdHJhbnNsYXRpb24gY2FjaGVzIG9mIGFsbCBzcGVjaWZpZWQgcHJvY2Vzc29ycyBvZiB0aGUgZ2l2ZW4KKyAqIHZpcnR1YWwgYWRkcmVzcywgb3IgcHVyZ2VzIGFsbCBUTEIncyBvbiBzcGVjaWZpZWQgcHJvY2Vzc29ycy4KKyAqCisgKiBUaGUgY2FsbGVyIGhhcyBkZXJpdmVkIHRoZSBjcHVtYXNrcCBmcm9tIHRoZSBtbV9zdHJ1Y3QgYW5kIGhhcyBzdWJ0cmFjdGVkCisgKiB0aGUgbG9jYWwgY3B1IGZyb20gdGhlIG1hc2suICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGlmIHRoZXJlCisgKiBhcmUgYml0cyBzZXQgaW4gdGhlIG1hc2suIChlLmcuIGZsdXNoX3RsYl9wYWdlKCkpCisgKgorICogVGhlIGNwdW1hc2twIGlzIGNvbnZlcnRlZCBpbnRvIGEgbm9kZW1hc2sgb2YgdGhlIG5vZGVzIGNvbnRhaW5pbmcKKyAqIHRoZSBjcHVzLgorICoKKyAqIFJldHVybnMgMSBpZiBhbGwgcmVtb3RlIGZsdXNoaW5nIHdhcyBkb25lLgorICogUmV0dXJucyAwIGlmIHNvbWUgcmVtb3RlIGZsdXNoaW5nIHJlbWFpbnMgdG8gYmUgZG9uZS4KKyAqLworaW50IHV2X2ZsdXNoX3RsYl9vdGhlcnMoY3B1bWFza190ICpjcHVtYXNrcCwgc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQl1bnNpZ25lZCBsb25nIHZhKQoreworCWludCBpOworCWludCBiaXQ7CisJaW50IGJsYWRlOworCWludCBjcHU7CisJaW50IHRoaXNfYmxhZGU7CisJaW50IGxvY2FscyA9IDA7CisJc3RydWN0IGJhdV9kZXNjICpiYXVfZGVzYzsKKworCWNwdSA9IHV2X2JsYWRlX3Byb2Nlc3Nvcl9pZCgpOworCXRoaXNfYmxhZGUgPSB1dl9udW1hX2JsYWRlX2lkKCk7CisJYmF1X2Rlc2MgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS5kZXNjcmlwdG9yX2Jhc2U7CisJYmF1X2Rlc2MgKz0gVVZfSVRFTVNfUEVSX0RFU0NSSVBUT1IgKiBjcHU7CisKKwliYXVfbm9kZXNfY2xlYXIoJmJhdV9kZXNjLT5kaXN0cmlidXRpb24sIFVWX0RJU1RSSUJVVElPTl9TSVpFKTsKKworCWkgPSAwOworCWZvcl9lYWNoX2NwdV9tYXNrKGJpdCwgKmNwdW1hc2twKSB7CisJCWJsYWRlID0gdXZfY3B1X3RvX2JsYWRlX2lkKGJpdCk7CisJCUJVR19PTihibGFkZSA+IChVVl9ESVNUUklCVVRJT05fU0laRSAtIDEpKTsKKwkJaWYgKGJsYWRlID09IHRoaXNfYmxhZGUpIHsKKwkJCWxvY2FscysrOworCQkJY29udGludWU7CisJCX0KKwkJYmF1X25vZGVfc2V0KGJsYWRlLCAmYmF1X2Rlc2MtPmRpc3RyaWJ1dGlvbik7CisJCWkrKzsKKwl9CisJaWYgKGkgPT0gMCkgeworCQkvKgorCQkgKiBubyBvZmZfbm9kZSBmbHVzaGluZzsgcmV0dXJuIHN0YXR1cyBmb3IgbG9jYWwgbm9kZQorCQkgKi8KKwkJaWYgKGxvY2FscykKKwkJCXJldHVybiAwOworCQllbHNlCisJCQlyZXR1cm4gMTsKKwl9CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykucmVxdWVzdG9yKys7CisJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubnRhcmdldGVkICs9IGk7CisKKwliYXVfZGVzYy0+cGF5bG9hZC5hZGRyZXNzID0gdmE7CisJYmF1X2Rlc2MtPnBheWxvYWQuc2VuZGluZ19jcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisKKwlyZXR1cm4gdXZfZmx1c2hfc2VuZF9hbmRfd2FpdChjcHUsIHRoaXNfYmxhZGUsIGJhdV9kZXNjLCBjcHVtYXNrcCk7Cit9CisKKy8qCisgKiBUaGUgQkFVIG1lc3NhZ2UgaW50ZXJydXB0IGNvbWVzIGhlcmUuIChyZWdpc3RlcmVkIGJ5IHNldF9pbnRyX2dhdGUpCisgKiBTZWUgZW50cnlfNjQuUworICoKKyAqIFdlIHJlY2VpdmVkIGEgYnJvYWRjYXN0IGFzc2lzdCBtZXNzYWdlLgorICoKKyAqIEludGVycnVwdHMgbWF5IGhhdmUgYmVlbiBkaXNhYmxlZDsgdGhpcyBpbnRlcnJ1cHQgY291bGQgcmVwcmVzZW50CisgKiB0aGUgcmVjZWlwdCBvZiBzZXZlcmFsIG1lc3NhZ2VzLgorICoKKyAqIEFsbCBjb3Jlcy90aHJlYWRzIG9uIHRoaXMgbm9kZSBnZXQgdGhpcyBpbnRlcnJ1cHQuCisgKiBUaGUgbGFzdCBvbmUgdG8gc2VlIGl0IGRvZXMgdGhlIHMvdyBhY2suCisgKiAodGhlIHJlc291cmNlIHdpbGwgbm90IGJlIGZyZWVkIHVudGlsIG5vbmludGVycnVwdGFibGUgY3B1cyBzZWUgdGhpcworICogIGludGVycnVwdDsgaGFyZHdhcmUgd2lsbCB0aW1lb3V0IHRoZSBzL3cgYWNrIGFuZCByZXBseSBFUlJPUikKKyAqLwordm9pZCB1dl9iYXVfbWVzc2FnZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICp2YV9xdWV1ZV9maXJzdDsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnZhX3F1ZXVlX2xhc3Q7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CisJc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOworCWN5Y2xlc190IHRpbWUxOworCWN5Y2xlc190IHRpbWUyOworCWludCBtc2dfc2xvdDsKKwlpbnQgc3dfYWNrX3Nsb3Q7CisJaW50IGZ3OworCWludCBjb3VudCA9IDA7CisJdW5zaWduZWQgbG9uZyBsb2NhbF9wbm9kZTsKKworCWFja19BUElDX2lycSgpOworCWV4aXRfaWRsZSgpOworCWlycV9lbnRlcigpOworCisJdGltZTEgPSBnZXRfY3ljbGVzKCk7CisKKwlsb2NhbF9wbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKHV2X251bWFfYmxhZGVfaWQoKSk7CisKKwl2YV9xdWV1ZV9maXJzdCA9IF9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLnZhX3F1ZXVlX2ZpcnN0OworCXZhX3F1ZXVlX2xhc3QgPSBfX2dldF9jcHVfdmFyKGJhdV9jb250cm9sKS52YV9xdWV1ZV9sYXN0OworCisJbXNnID0gX19nZXRfY3B1X3ZhcihiYXVfY29udHJvbCkuYmF1X21zZ19oZWFkOworCXdoaWxlIChtc2ctPnN3X2Fja192ZWN0b3IpIHsKKwkJY291bnQrKzsKKwkJZncgPSBtc2ctPnN3X2Fja192ZWN0b3I7CisJCW1zZ19zbG90ID0gbXNnIC0gdmFfcXVldWVfZmlyc3Q7CisJCXN3X2Fja19zbG90ID0gZmZzKGZ3KSAtIDE7CisKKwkJdXZfYmF1X3Byb2Nlc3NfbWVzc2FnZShtc2csIG1zZ19zbG90LCBzd19hY2tfc2xvdCk7CisKKwkJbXNnKys7CisJCWlmIChtc2cgPiB2YV9xdWV1ZV9sYXN0KQorCQkJbXNnID0gdmFfcXVldWVfZmlyc3Q7CisJCV9fZ2V0X2NwdV92YXIoYmF1X2NvbnRyb2wpLmJhdV9tc2dfaGVhZCA9IG1zZzsKKwl9CisJaWYgKCFjb3VudCkKKwkJX19nZXRfY3B1X3ZhcihwdGNzdGF0cykubm9tc2crKzsKKwllbHNlIGlmIChjb3VudCA+IDEpCisJCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLm11bHRtc2crKzsKKworCXRpbWUyID0gZ2V0X2N5Y2xlcygpOworCV9fZ2V0X2NwdV92YXIocHRjc3RhdHMpLmRmbHVzaCArPSAodGltZTIgLSB0aW1lMSk7CisKKwlpcnFfZXhpdCgpOworCXNldF9pcnFfcmVncyhvbGRfcmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIHV2X2VuYWJsZV90aW1lb3V0cyh2b2lkKQoreworCWludCBpOworCWludCBibGFkZTsKKwlpbnQgbGFzdF9ibGFkZTsKKwlpbnQgcG5vZGU7CisJaW50IGN1cl9jcHUgPSAwOworCXVuc2lnbmVkIGxvbmcgYXBpY2lkOworCisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKGkpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKGkpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCWFwaWNpZCA9IHBlcl9jcHUoeDg2X2NwdV90b19hcGljaWQsIGN1cl9jcHUpOworCQlwbm9kZSA9IHV2X2JsYWRlX3RvX3Bub2RlKGJsYWRlKTsKKwkJY3VyX2NwdSArPSB1dl9ibGFkZV9ucl9wb3NzaWJsZV9jcHVzKGkpOworCX0KK30KKworc3RhdGljIHZvaWQgKnV2X3B0Y19zZXFfc3RhcnQoc3RydWN0IHNlcV9maWxlICpmaWxlLCBsb2ZmX3QgKm9mZnNldCkKK3sKKwlpZiAoKm9mZnNldCA8IG51bV9wb3NzaWJsZV9jcHVzKCkpCisJCXJldHVybiBvZmZzZXQ7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkICp1dl9wdGNfc2VxX25leHQoc3RydWN0IHNlcV9maWxlICpmaWxlLCB2b2lkICpkYXRhLCBsb2ZmX3QgKm9mZnNldCkKK3sKKwkoKm9mZnNldCkrKzsKKwlpZiAoKm9mZnNldCA8IG51bV9wb3NzaWJsZV9jcHVzKCkpCisJCXJldHVybiBvZmZzZXQ7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHV2X3B0Y19zZXFfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKmRhdGEpCit7Cit9CisKKy8qCisgKiBEaXNwbGF5IHRoZSBzdGF0aXN0aWNzIHRocnUgL3Byb2MKKyAqIGRhdGEgcG9pbnRzIHRvIHRoZSBjcHUgbnVtYmVyCisgKi8KK3N0YXRpYyBpbnQgdXZfcHRjX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgcHRjX3N0YXRzICpzdGF0OworCWludCBjcHU7CisKKwljcHUgPSAqKGxvZmZfdCAqKWRhdGE7CisKKwlpZiAoIWNwdSkgeworCQlzZXFfcHJpbnRmKGZpbGUsCisJCSIjIGNwdSByZXF1ZXN0b3IgcmVxdWVzdGVlIG9uZSBhbGwgc3JldHJ5IGRyZXRyeSBwdGNfaSAiKTsKKwkJc2VxX3ByaW50ZihmaWxlLAorCQkic3dfYWNrIHNmbHVzaCBkZmx1c2ggc29rIGRub21zZyBkbXVsdCBzdGFyZ2V0XG4iKTsKKwl9CisJaWYgKGNwdSA8IG51bV9wb3NzaWJsZV9jcHVzKCkgJiYgY3B1X29ubGluZShjcHUpKSB7CisJCXN0YXQgPSAmcGVyX2NwdShwdGNzdGF0cywgY3B1KTsKKwkJc2VxX3ByaW50ZihmaWxlLCAiY3B1ICVkICVsZCAlbGQgJWxkICVsZCAlbGQgJWxkICVsZCAiLAorCQkJICAgY3B1LCBzdGF0LT5yZXF1ZXN0b3IsCisJCQkgICBzdGF0LT5yZXF1ZXN0ZWUsIHN0YXQtPm9uZXRsYiwgc3RhdC0+YWxsdGxiLAorCQkJICAgc3RhdC0+c19yZXRyeSwgc3RhdC0+ZF9yZXRyeSwgc3RhdC0+cHRjX2kpOworCQlzZXFfcHJpbnRmKGZpbGUsICIlbHggJWxkICVsZCAlbGQgJWxkICVsZCAlbGRcbiIsCisJCQkgICB1dl9yZWFkX2dsb2JhbF9tbXI2NCh1dl9ibGFkZV90b19wbm9kZQorCQkJCQkodXZfY3B1X3RvX2JsYWRlX2lkKGNwdSkpLAorCQkJCQlVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UpLAorCQkJICAgc3RhdC0+c2ZsdXNoLCBzdGF0LT5kZmx1c2gsCisJCQkgICBzdGF0LT5yZXRyaWVzb2ssIHN0YXQtPm5vbXNnLAorCQkJICAgc3RhdC0+bXVsdG1zZywgc3RhdC0+bnRhcmdldGVkKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqICAwOiBkaXNwbGF5IG1lYW5pbmcgb2YgdGhlIHN0YXRpc3RpY3MKKyAqID4wOiByZXRyeSBsaW1pdAorICovCitzdGF0aWMgc3NpemVfdCB1dl9wdGNfcHJvY193cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVzZXIsCisJCQkJIHNpemVfdCBjb3VudCwgbG9mZl90ICpkYXRhKQoreworCWxvbmcgbmV3bW9kZTsKKwljaGFyIG9wdHN0cls2NF07CisKKwlpZiAoY291bnQgPT0gMCB8fCBjb3VudCA+IHNpemVvZihvcHRzdHIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoY29weV9mcm9tX3VzZXIob3B0c3RyLCB1c2VyLCBjb3VudCkpCisJCXJldHVybiAtRUZBVUxUOworCW9wdHN0cltjb3VudCAtIDFdID0gJ1wwJzsKKwlpZiAoc3RyaWN0X3N0cnRvdWwob3B0c3RyLCAxMCwgJm5ld21vZGUpIDwgMCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiJXMgaXMgaW52YWxpZFxuIiwgb3B0c3RyKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKG5ld21vZGUgPT0gMCkgeworCQlwcmludGsoS0VSTl9ERUJVRyAiIyBjcHU6ICAgICAgY3B1IG51bWJlclxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJyZXF1ZXN0b3I6ICB0aW1lcyB0aGlzIGNwdSB3YXMgdGhlIGZsdXNoIHJlcXVlc3RvclxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJyZXF1ZXN0ZWU6ICB0aW1lcyB0aGlzIGNwdSB3YXMgcmVxdWVzdGVkIHRvIGZsdXNoIGl0cyBUTEJzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJIm9uZTogICAgICAgIHRpbWVzIHJlcXVlc3RlZCB0byBmbHVzaCBhIHNpbmdsZSBhZGRyZXNzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJImFsbDogICAgICAgIHRpbWVzIHJlcXVlc3RlZCB0byBmbHVzaCBhbGwgVExCJ3NcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic3JldHJ5OiAgICAgbnVtYmVyIG9mIHJldHJpZXMgb2Ygc291cmNlLXNpZGUgdGltZW91dHNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZHJldHJ5OiAgICAgbnVtYmVyIG9mIHJldHJpZXMgb2YgZGVzdGluYXRpb24tc2lkZSB0aW1lb3V0c1xuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJwdGNfaTogICAgICB0aW1lcyBVViBmZWxsIHRocm91Z2ggdG8gSVBJLXN0eWxlIGZsdXNoZXNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkic3dfYWNrOiAgICAgaW1hZ2Ugb2YgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJInNmbHVzaF91czogIGN5Y2xlcyBzcGVudCBpbiB1dl9mbHVzaF90bGJfb3RoZXJzKClcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRworCQkiZGZsdXNoX3VzOiAgY3ljbGVzIHNwZW50IGluIGhhbmRsaW5nIGZsdXNoIHJlcXVlc3RzXG4iKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgInNvazogICAgICAgIHN1Y2Nlc3NlcyBvbiByZXRyeVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHICJkbm9tc2c6ICAgICBpbnRlcnJ1cHRzIHdpdGggbm8gbWVzc2FnZVxuIik7CisJCXByaW50ayhLRVJOX0RFQlVHCisJCSJkbXVsdDogICAgICBpbnRlcnJ1cHRzIHdpdGggbXVsdGlwbGUgbWVzc2FnZXNcbiIpOworCQlwcmludGsoS0VSTl9ERUJVRyAic3RhcmdldDogICAgbm9kZXMgdGFyZ2V0ZWRcbiIpOworCX0gZWxzZSB7CisJCXV2X2JhdV9yZXRyeV9saW1pdCA9IG5ld21vZGU7CisJCXByaW50ayhLRVJOX0RFQlVHICJ0aW1lb3V0IHJldHJ5IGxpbWl0OiVkXG4iLAorCQkgICAgICAgdXZfYmF1X3JldHJ5X2xpbWl0KTsKKwl9CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgdXZfcHRjX3NlcV9vcHMgPSB7CisJLnN0YXJ0CQk9IHV2X3B0Y19zZXFfc3RhcnQsCisJLm5leHQJCT0gdXZfcHRjX3NlcV9uZXh0LAorCS5zdG9wCQk9IHV2X3B0Y19zZXFfc3RvcCwKKwkuc2hvdwkJPSB1dl9wdGNfc2VxX3Nob3cKK307CisKK3N0YXRpYyBpbnQgdXZfcHRjX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2VxX29wZW4oZmlsZSwgJnV2X3B0Y19zZXFfb3BzKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcHJvY191dl9wdGNfb3BlcmF0aW9ucyA9IHsKKwkub3BlbgkJPSB1dl9wdGNfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS53cml0ZQkJPSB1dl9wdGNfcHJvY193cml0ZSwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNlcV9yZWxlYXNlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgdXZfcHRjX2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnByb2NfdXZfcHRjOworCisJaWYgKCFpc191dl9zeXN0ZW0oKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXByb2NfbWtkaXIoInNnaV91diIsIE5VTEwpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByb2NfdXZfcHRjID0gY3JlYXRlX3Byb2NfZW50cnkoVVZfUFRDX0JBU0VOQU1FLCAwNDQ0LCBOVUxMKTsKKwlpZiAoIXByb2NfdXZfcHRjKSB7CisJCXByaW50ayhLRVJOX0VSUiAidW5hYmxlIHRvIGNyZWF0ZSAlcyBwcm9jIGVudHJ5XG4iLAorCQkgICAgICAgVVZfUFRDX0JBU0VOQU1FKTsKKwkJcmVtb3ZlX3Byb2NfZW50cnkoInNnaV91diIsIE5VTEwpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcHJvY191dl9wdGMtPnByb2NfZm9wcyA9ICZwcm9jX3V2X3B0Y19vcGVyYXRpb25zOworCXJldHVybiAwOworfQorCisvKgorICogYmVnaW4gdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwZXItYmxhZGUgY29udHJvbCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X2NvbnRyb2wgKiBfX2luaXQgdXZfdGFibGVfYmFzZXNfaW5pdChpbnQgYmxhZGUsIGludCBub2RlKQoreworCWludCBpOworCWludCAqaXA7CisJc3RydWN0IGJhdV9tc2dfc3RhdHVzICptc3A7CisJc3RydWN0IGJhdV9jb250cm9sICpiYXVfdGFicDsKKworCWJhdV90YWJwID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihzdHJ1Y3QgYmF1X2NvbnRyb2wpLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwKTsKKworCWJhdV90YWJwLT5tc2dfc3RhdHVzZXMgPQorCSAgICBrbWFsbG9jX25vZGUoc2l6ZW9mKHN0cnVjdCBiYXVfbXNnX3N0YXR1cykgKgorCQkJIERFU1RfUV9TSVpFLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwLT5tc2dfc3RhdHVzZXMpOworCisJZm9yIChpID0gMCwgbXNwID0gYmF1X3RhYnAtPm1zZ19zdGF0dXNlczsgaSA8IERFU1RfUV9TSVpFOyBpKyssIG1zcCsrKQorCQliYXVfY3B1Yml0c19jbGVhcigmbXNwLT5zZWVuX2J5LCAoaW50KQorCQkJCSAgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSkpOworCisJYmF1X3RhYnAtPndhdGNoaW5nID0KKwkgICAga21hbGxvY19ub2RlKHNpemVvZihpbnQpICogREVTVF9OVU1fUkVTT1VSQ0VTLCBHRlBfS0VSTkVMLCBub2RlKTsKKwlCVUdfT04oIWJhdV90YWJwLT53YXRjaGluZyk7CisKKwlmb3IgKGkgPSAwLCBpcCA9IGJhdV90YWJwLT53YXRjaGluZzsgaSA8IERFU1RfUV9TSVpFOyBpKyssIGlwKyspCisJCSppcCA9IDA7CisKKwl1dl9iYXVfdGFibGVfYmFzZXNbYmxhZGVdID0gYmF1X3RhYnA7CisKKwlyZXR1cm4gYmF1X3RhYnA7Cit9CisKKy8qCisgKiBmaW5pc2ggdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBwZXItYmxhZGUgY29udHJvbCBzdHJ1Y3R1cmVzCisgKi8KK3N0YXRpYyB2b2lkIF9faW5pdAordXZfdGFibGVfYmFzZXNfZmluaXNoKGludCBibGFkZSwgaW50IG5vZGUsIGludCBjdXJfY3B1LAorCQkgICAgICBzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJhdV90YWJsZXNwLAorCQkgICAgICBzdHJ1Y3QgYmF1X2Rlc2MgKmFkcCkKK3sKKwlzdHJ1Y3QgYmF1X2NvbnRyb2wgKmJjcDsKKwlpbnQgaTsKKworCWZvciAoaSA9IGN1cl9jcHU7IGkgPCBjdXJfY3B1ICsgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhibGFkZSk7IGkrKykgeworCQliY3AgPSAoc3RydWN0IGJhdV9jb250cm9sICopJnBlcl9jcHUoYmF1X2NvbnRyb2wsIGkpOworCisJCWJjcC0+YmF1X21zZ19oZWFkCT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0OworCQliY3AtPnZhX3F1ZXVlX2ZpcnN0CT0gYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2ZpcnN0OworCQliY3AtPnZhX3F1ZXVlX2xhc3QJPSBiYXVfdGFibGVzcC0+dmFfcXVldWVfbGFzdDsKKwkJYmNwLT53YXRjaGluZwkJPSBiYXVfdGFibGVzcC0+d2F0Y2hpbmc7CisJCWJjcC0+bXNnX3N0YXR1c2VzCT0gYmF1X3RhYmxlc3AtPm1zZ19zdGF0dXNlczsKKwkJYmNwLT5kZXNjcmlwdG9yX2Jhc2UJPSBhZHA7CisJfQorfQorCisvKgorICogaW5pdGlhbGl6ZSB0aGUgc2VuZGluZyBzaWRlJ3Mgc2VuZGluZyBidWZmZXJzCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYmF1X2Rlc2MgKiBfX2luaXQKK3V2X2FjdGl2YXRpb25fZGVzY3JpcHRvcl9pbml0KGludCBub2RlLCBpbnQgcG5vZGUpCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBwYTsKKwl1bnNpZ25lZCBsb25nIG07CisJdW5zaWduZWQgbG9uZyBuOworCXVuc2lnbmVkIGxvbmcgbW1yX2ltYWdlOworCXN0cnVjdCBiYXVfZGVzYyAqYWRwOworCXN0cnVjdCBiYXVfZGVzYyAqYWQyOworCisJYWRwID0gKHN0cnVjdCBiYXVfZGVzYyAqKQorCSAgICBrbWFsbG9jX25vZGUoMTYzODQsIEdGUF9LRVJORUwsIG5vZGUpOworCUJVR19PTighYWRwKTsKKworCXBhID0gX19wYSgodW5zaWduZWQgbG9uZylhZHApOworCW4gPSBwYSA+PiB1dl9uc2hpZnQ7CisJbSA9IHBhICYgdXZfbW1hc2s7CisKKwltbXJfaW1hZ2UgPSB1dl9yZWFkX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UpOworCWlmIChtbXJfaW1hZ2UpIHsKKwkJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCAodW5zaWduZWQgbG9uZykKKwkJCQkgICAgICBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRSwKKwkJCQkgICAgICAobiA8PCBVVl9ERVNDX0JBU0VfUE5PREVfU0hJRlQgfCBtKSk7CisJfQorCisJZm9yIChpID0gMCwgYWQyID0gYWRwOyBpIDwgVVZfQUNUSVZBVElPTl9ERVNDUklQVE9SX1NJWkU7IGkrKywgYWQyKyspIHsKKwkJbWVtc2V0KGFkMiwgMCwgc2l6ZW9mKHN0cnVjdCBiYXVfZGVzYykpOworCQlhZDItPmhlYWRlci5zd19hY2tfZmxhZyA9IDE7CisJCWFkMi0+aGVhZGVyLmJhc2VfZGVzdF9ub2RlaWQgPQorCQkgICAgdXZfYmxhZGVfdG9fcG5vZGUodXZfY3B1X3RvX2JsYWRlX2lkKDApKTsKKwkJYWQyLT5oZWFkZXIuY29tbWFuZCA9IFVWX05FVF9FTkRQT0lOVF9JTlREOworCQlhZDItPmhlYWRlci5pbnRfYm90aCA9IDE7CisJCS8qCisJCSAqIGFsbCBvdGhlcnMgbmVlZCB0byBiZSBzZXQgdG8gemVybzoKKwkJICogICBmYWlybmVzcyBjaGFpbmluZyBtdWx0aWxldmVsIGNvdW50IHJlcGxpZWRfdG8KKwkJICovCisJfQorCXJldHVybiBhZHA7Cit9CisKKy8qCisgKiBpbml0aWFsaXplIHRoZSBkZXN0aW5hdGlvbiBzaWRlJ3MgcmVjZWl2aW5nIGJ1ZmZlcnMKKyAqLworc3RhdGljIHN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqIF9faW5pdAordXZfcGF5bG9hZF9xdWV1ZV9pbml0KGludCBub2RlLCBpbnQgcG5vZGUsIHN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3ApCit7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICpwcXA7CisJY2hhciAqY3A7CisKKwlwcXAgPSAoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICopIGttYWxsb2Nfbm9kZSgKKwkJKERFU1RfUV9TSVpFICsgMSkgKiBzaXplb2Yoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5KSwKKwkJR0ZQX0tFUk5FTCwgbm9kZSk7CisJQlVHX09OKCFwcXApOworCisJY3AgPSAoY2hhciAqKXBxcCArIDMxOworCXBxcCA9IChzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKikoKCh1bnNpZ25lZCBsb25nKWNwID4+IDUpIDw8IDUpOworCWJhdV90YWJsZXNwLT52YV9xdWV1ZV9maXJzdCA9IHBxcDsKKwl1dl93cml0ZV9nbG9iYWxfbW1yNjQocG5vZGUsCisJCQkgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCwKKwkJCSAgICAgICgodW5zaWduZWQgbG9uZylwbm9kZSA8PAorCQkJICAgICAgIFVWX1BBWUxPQURRX1BOT0RFX1NISUZUKSB8CisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIocHFwKSk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMLAorCQkJICAgICAgdXZfcGh5c25vZGVhZGRyKHBxcCkpOworCWJhdV90YWJsZXNwLT52YV9xdWV1ZV9sYXN0ID0gcHFwICsgKERFU1RfUV9TSVpFIC0gMSk7CisJdXZfd3JpdGVfZ2xvYmFsX21tcjY0KHBub2RlLCBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNULAorCQkJICAgICAgKHVuc2lnbmVkIGxvbmcpCisJCQkgICAgICB1dl9waHlzbm9kZWFkZHIoYmF1X3RhYmxlc3AtPnZhX3F1ZXVlX2xhc3QpKTsKKwltZW1zZXQocHFwLCAwLCBzaXplb2Yoc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5KSAqIERFU1RfUV9TSVpFKTsKKworCXJldHVybiBwcXA7Cit9CisKKy8qCisgKiBJbml0aWFsaXphdGlvbiBvZiBlYWNoIFVWIGJsYWRlJ3Mgc3RydWN0dXJlcworICovCitzdGF0aWMgaW50IF9faW5pdCB1dl9pbml0X2JsYWRlKGludCBibGFkZSwgaW50IG5vZGUsIGludCBjdXJfY3B1KQoreworCWludCBwbm9kZTsKKwl1bnNpZ25lZCBsb25nIHBhOworCXVuc2lnbmVkIGxvbmcgYXBpY2lkOworCXN0cnVjdCBiYXVfZGVzYyAqYWRwOworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqcHFwOworCXN0cnVjdCBiYXVfY29udHJvbCAqYmF1X3RhYmxlc3A7CisKKwliYXVfdGFibGVzcCA9IHV2X3RhYmxlX2Jhc2VzX2luaXQoYmxhZGUsIG5vZGUpOworCXBub2RlID0gdXZfYmxhZGVfdG9fcG5vZGUoYmxhZGUpOworCWFkcCA9IHV2X2FjdGl2YXRpb25fZGVzY3JpcHRvcl9pbml0KG5vZGUsIHBub2RlKTsKKwlwcXAgPSB1dl9wYXlsb2FkX3F1ZXVlX2luaXQobm9kZSwgcG5vZGUsIGJhdV90YWJsZXNwKTsKKwl1dl90YWJsZV9iYXNlc19maW5pc2goYmxhZGUsIG5vZGUsIGN1cl9jcHUsIGJhdV90YWJsZXNwLCBhZHApOworCS8qCisJICogdGhlIGJlbG93IGluaXRpYWxpemF0aW9uIGNhbid0IGJlIGluIGZpcm13YXJlIGJlY2F1c2UgdGhlCisJICogbWVzc2FnaW5nIElSUSB3aWxsIGJlIGRldGVybWluZWQgYnkgdGhlIE9TCisJICovCisJYXBpY2lkID0gcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3VyX2NwdSk7CisJcGEgPSB1dl9yZWFkX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0JBVV9EQVRBX0NPTkZJRyk7CisJaWYgKChwYSAmIDB4ZmYpICE9IFVWX0JBVV9NRVNTQUdFKSB7CisJCXV2X3dyaXRlX2dsb2JhbF9tbXI2NChwbm9kZSwgVVZIX0JBVV9EQVRBX0NPTkZJRywKKwkJCQkgICAgICAoKGFwaWNpZCA8PCAzMikgfCBVVl9CQVVfTUVTU0FHRSkpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEluaXRpYWxpemF0aW9uIG9mIEJBVS1yZWxhdGVkIHN0cnVjdHVyZXMKKyAqLworc3RhdGljIGludCBfX2luaXQgdXZfYmF1X2luaXQodm9pZCkKK3sKKwlpbnQgYmxhZGU7CisJaW50IG5vZGU7CisJaW50IG5ibGFkZXM7CisJaW50IGxhc3RfYmxhZGU7CisJaW50IGN1cl9jcHUgPSAwOworCisJaWYgKCFpc191dl9zeXN0ZW0oKSkKKwkJcmV0dXJuIDA7CisKKwl1dl9iYXVfcmV0cnlfbGltaXQgPSAxOworCXV2X25zaGlmdCA9IHV2X2h1Yl9pbmZvLT5uX3ZhbDsKKwl1dl9tbWFzayA9ICgxVUwgPDwgdXZfaHViX2luZm8tPm5fdmFsKSAtIDE7CisJbmJsYWRlcyA9IDA7CisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKG5vZGUpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCW5ibGFkZXMrKzsKKwl9CisJdXZfYmF1X3RhYmxlX2Jhc2VzID0gKHN0cnVjdCBiYXVfY29udHJvbCAqKikKKwkgICAga21hbGxvYyhuYmxhZGVzICogc2l6ZW9mKHN0cnVjdCBiYXVfY29udHJvbCAqKSwgR0ZQX0tFUk5FTCk7CisJQlVHX09OKCF1dl9iYXVfdGFibGVfYmFzZXMpOworCisJbGFzdF9ibGFkZSA9IC0xOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5vZGUpIHsKKwkJYmxhZGUgPSB1dl9ub2RlX3RvX2JsYWRlX2lkKG5vZGUpOworCQlpZiAoYmxhZGUgPT0gbGFzdF9ibGFkZSkKKwkJCWNvbnRpbnVlOworCQlsYXN0X2JsYWRlID0gYmxhZGU7CisJCXV2X2luaXRfYmxhZGUoYmxhZGUsIG5vZGUsIGN1cl9jcHUpOworCQljdXJfY3B1ICs9IHV2X2JsYWRlX25yX3Bvc3NpYmxlX2NwdXMoYmxhZGUpOworCX0KKwlzZXRfaW50cl9nYXRlKFVWX0JBVV9NRVNTQUdFLCB1dl9iYXVfbWVzc2FnZV9pbnRyMSk7CisJdXZfZW5hYmxlX3RpbWVvdXRzKCk7CisKKwlyZXR1cm4gMDsKK30KK19faW5pdGNhbGwodXZfYmF1X2luaXQpOworX19pbml0Y2FsbCh1dl9wdGNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jIGIvYXJjaC94ODYva2VybmVsL3RyYW1wb2xpbmUuYwppbmRleCBhYmJmMTk5Li4xMTA2ZmFjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhbXBvbGluZS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC90cmFtcG9saW5lLmMKQEAgLTIsNyArMiw3IEBACiAKICNpbmNsdWRlIDxhc20vdHJhbXBvbGluZS5oPgogCi0vKiByZWFkeSBmb3IgeDg2XzY0LCBubyBoYXJtIGZvciB4ODYsIHNpbmNlIGl0IHdpbGwgb3ZlcndyaXRlIGFmdGVyIGFsbG9jICovCisvKiByZWFkeSBmb3IgeDg2XzY0IGFuZCB4ODYgKi8KIHVuc2lnbmVkIGNoYXIgKnRyYW1wb2xpbmVfYmFzZSA9IF9fdmEoVFJBTVBPTElORV9CQVNFKTsKIAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90cmFwc18zMi5jIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKaW5kZXggMDhkNzUyZC4uOGE3Njg5NyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3RyYXBzXzMyLmMKQEAgLTEsNSArMSw2IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiAgTGludXMgVG9ydmFsZHMKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDEsIDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzCiAgKgogICogIFBlbnRpdW0gSUlJIEZYU1IsIFNTRSBzdXBwb3J0CiAgKglHYXJldGggSHVnaGVzIDxnYXJldGhAdmFsaW51eC5jb20+LCBNYXkgMjAwMApAQCAtNjAsOCArNjEsNiBAQAogCiAjaW5jbHVkZSAibWFjaF90cmFwcy5oIgogCi1pbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwotCiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOwogRVhQT1JUX1NZTUJPTF9HUEwodXNlZF92ZWN0b3JzKTsKIApAQCAtOTgsMTkgKzk3LDIyIEBACiBhc21saW5rYWdlIHZvaWQgc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogCitpbnQgcGFuaWNfb25fdW5yZWNvdmVyZWRfbm1pOwogaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDI0Owogc3RhdGljIHVuc2lnbmVkIGludCBjb2RlX2J5dGVzID0gNjQ7CitzdGF0aWMgaW50IGlnbm9yZV9ubWlzOworc3RhdGljIGludCBkaWVfY291bnRlcjsKIAogdm9pZCBwcmludGtfYWRkcmVzcyh1bnNpZ25lZCBsb25nIGFkZHJlc3MsIGludCByZWxpYWJsZSkKIHsKICNpZmRlZiBDT05GSUdfS0FMTFNZTVMKLQljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwOwogCXVuc2lnbmVkIGxvbmcgc3ltc2l6ZTsKIAljb25zdCBjaGFyICpzeW1uYW1lOwotCWNoYXIgcmVsaWFiWzRdID0gIiI7Ci0JY2hhciAqZGVsaW0gPSAiOiI7CiAJY2hhciAqbW9kbmFtZTsKKwljaGFyICpkZWxpbSA9ICI6IjsKKwljaGFyIG5hbWVidWZbS1NZTV9OQU1FX0xFTl07CisJY2hhciByZWxpYWJbNF0gPSAiIjsKIAogCXN5bW5hbWUgPSBrYWxsc3ltc19sb29rdXAoYWRkcmVzcywgJnN5bXNpemUsICZvZmZzZXQsCiAJCQkJCSZtb2RuYW1lLCBuYW1lYnVmKTsKQEAgLTEzMCwyMiArMTMyLDIzIEBACiAjZW5kaWYKIH0KIAotc3RhdGljIGlubGluZSBpbnQgdmFsaWRfc3RhY2tfcHRyKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sIHZvaWQgKnAsIHVuc2lnbmVkIHNpemUpCitzdGF0aWMgaW5saW5lIGludCB2YWxpZF9zdGFja19wdHIoc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKKwkJCXZvaWQgKnAsIHVuc2lnbmVkIGludCBzaXplKQogewotCXJldHVybglwID4gKHZvaWQgKil0aW5mbyAmJgotCQlwIDw9ICh2b2lkICopdGluZm8gKyBUSFJFQURfU0laRSAtIHNpemU7CisJdm9pZCAqdCA9IHRpbmZvOworCXJldHVybglwID4gdCAmJiBwIDw9IHQgKyBUSFJFQURfU0laRSAtIHNpemU7CiB9CiAKIC8qIFRoZSBmb3JtIG9mIHRoZSB0b3Agb2YgdGhlIGZyYW1lIG9uIHRoZSBzdGFjayAqLwogc3RydWN0IHN0YWNrX2ZyYW1lIHsKLQlzdHJ1Y3Qgc3RhY2tfZnJhbWUJKm5leHRfZnJhbWU7Ci0JdW5zaWduZWQgbG9uZwkJcmV0dXJuX2FkZHJlc3M7CisJc3RydWN0IHN0YWNrX2ZyYW1lICpuZXh0X2ZyYW1lOworCXVuc2lnbmVkIGxvbmcgcmV0dXJuX2FkZHJlc3M7CiB9OwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKIHByaW50X2NvbnRleHRfc3RhY2soc3RydWN0IHRocmVhZF9pbmZvICp0aW5mbywKLQkJICAgIHVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAotCQkgICAgY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAorCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3Qgc3RhY2tfZnJhbWUgKmZyYW1lID0gKHN0cnVjdCBzdGFja19mcmFtZSAqKWJwOwogCkBAIC0xNjcsOCArMTcwLDYgQEAKIAlyZXR1cm4gYnA7CiB9CiAKLSNkZWZpbmUgTVNHKG1zZykJCW9wcy0+d2FybmluZyhkYXRhLCBtc2cpCi0KIHZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKIAkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCkBAIC0xNzgsNyArMTc5LDYgQEAKIAogCWlmICghc3RhY2spIHsKIAkJdW5zaWduZWQgbG9uZyBkdW1teTsKLQogCQlzdGFjayA9ICZkdW1teTsKIAkJaWYgKHRhc2sgIT0gY3VycmVudCkKIAkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0YXNrLT50aHJlYWQuc3A7CkBAIC0xOTYsNyArMTk2LDcgQEAKIAl9CiAjZW5kaWYKIAotCXdoaWxlICgxKSB7CisJZm9yICg7OykgewogCQlzdHJ1Y3QgdGhyZWFkX2luZm8gKmNvbnRleHQ7CiAKIAkJY29udGV4dCA9IChzdHJ1Y3QgdGhyZWFkX2luZm8gKikKQEAgLTI0OCwxMCArMjQ4LDEwIEBACiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgcHJpbnRfdHJhY2Vfb3BzID0gewotCS53YXJuaW5nCQk9IHByaW50X3RyYWNlX3dhcm5pbmcsCi0JLndhcm5pbmdfc3ltYm9sCQk9IHByaW50X3RyYWNlX3dhcm5pbmdfc3ltYm9sLAotCS5zdGFjawkJCT0gcHJpbnRfdHJhY2Vfc3RhY2ssCi0JLmFkZHJlc3MJCT0gcHJpbnRfdHJhY2VfYWRkcmVzcywKKwkud2FybmluZyA9IHByaW50X3RyYWNlX3dhcm5pbmcsCisJLndhcm5pbmdfc3ltYm9sID0gcHJpbnRfdHJhY2Vfd2FybmluZ19zeW1ib2wsCisJLnN0YWNrID0gcHJpbnRfdHJhY2Vfc3RhY2ssCisJLmFkZHJlc3MgPSBwcmludF90cmFjZV9hZGRyZXNzLAogfTsKIAogc3RhdGljIHZvaWQKQEAgLTM1MSwxNSArMzUxLDE0IEBACiAJCXByaW50ayhLRVJOX0VNRVJHICJDb2RlOiAiKTsKIAogCQlpcCA9ICh1OCAqKXJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKLQkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwKLQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgeworCQlpZiAoaXAgPCAodTggKilQQUdFX09GRlNFVCB8fCBwcm9iZV9rZXJuZWxfYWRkcmVzcyhpcCwgYykpIHsKIAkJCS8qIHRyeSBzdGFydGluZyBhdCBFSVAgKi8KIAkJCWlwID0gKHU4ICopcmVncy0+aXA7CiAJCQljb2RlX2xlbiA9IGNvZGVfbGVuIC0gY29kZV9wcm9sb2d1ZSArIDE7CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IGNvZGVfbGVuOyBpKyssIGlwKyspIHsKIAkJCWlmIChpcCA8ICh1OCAqKVBBR0VfT0ZGU0VUIHx8Ci0JCQkJcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CisJCQkJCXByb2JlX2tlcm5lbF9hZGRyZXNzKGlwLCBjKSkgewogCQkJCXByaW50aygiIEJhZCBFSVAgdmFsdWUuIik7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC0zODQsOCArMzgzLDYgQEAKIAlyZXR1cm4gdWQyID09IDB4MGIwZjsKIH0KIAotc3RhdGljIGludCBkaWVfY291bnRlcjsKLQogaW50IF9fa3Byb2JlcyBfX2RpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKIAl1bnNpZ25lZCBzaG9ydCBzczsKQEAgLTQwMiwyNiArMzk5LDIyIEBACiAJcHJpbnRrKCJERUJVR19QQUdFQUxMT0MiKTsKICNlbmRpZgogCXByaW50aygiXG4iKTsKLQogCWlmIChub3RpZnlfZGllKERJRV9PT1BTLCBzdHIsIHJlZ3MsIGVyciwKLQkJCWN1cnJlbnQtPnRocmVhZC50cmFwX25vLCBTSUdTRUdWKSAhPSBOT1RJRllfU1RPUCkgeworCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQorCQlyZXR1cm4gMTsKIAotCQlzaG93X3JlZ2lzdGVycyhyZWdzKTsKLQkJLyogRXhlY3V0aXZlIHN1bW1hcnkgaW4gY2FzZSB0aGUgb29wcyBzY3JvbGxlZCBhd2F5ICovCi0JCXNwID0gKHVuc2lnbmVkIGxvbmcpICgmcmVncy0+c3ApOwotCQlzYXZlc2VnbWVudChzcywgc3MpOwotCQlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7Ci0JCQlzcCA9IHJlZ3MtPnNwOwotCQkJc3MgPSByZWdzLT5zcyAmIDB4ZmZmZjsKLQkJfQotCQlwcmludGsoS0VSTl9FTUVSRyAiRUlQOiBbPCUwOGx4Pl0gIiwgcmVncy0+aXApOwotCQlwcmludF9zeW1ib2woIiVzIiwgcmVncy0+aXApOwotCQlwcmludGsoIiBTUzpFU1AgJTA0eDolMDhseFxuIiwgc3MsIHNwKTsKLQotCQlyZXR1cm4gMDsKKwlzaG93X3JlZ2lzdGVycyhyZWdzKTsKKwkvKiBFeGVjdXRpdmUgc3VtbWFyeSBpbiBjYXNlIHRoZSBvb3BzIHNjcm9sbGVkIGF3YXkgKi8KKwlzcCA9ICh1bnNpZ25lZCBsb25nKSAoJnJlZ3MtPnNwKTsKKwlzYXZlc2VnbWVudChzcywgc3MpOworCWlmICh1c2VyX21vZGUocmVncykpIHsKKwkJc3AgPSByZWdzLT5zcDsKKwkJc3MgPSByZWdzLT5zcyAmIDB4ZmZmZjsKIAl9Ci0KLQlyZXR1cm4gMTsKKwlwcmludGsoS0VSTl9FTUVSRyAiRUlQOiBbPCUwOGx4Pl0gIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbCgiJXMiLCByZWdzLT5pcCk7CisJcHJpbnRrKCIgU1M6RVNQICUwNHg6JTA4bHhcbiIsIHNzLCBzcCk7CisJcmV0dXJuIDA7CiB9CiAKIC8qCkBAIC01NDYsNyArNTM5LDcgQEAKIHsJCQkJCQkJCQlcCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCiAJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAotCQkJCQkJPT0gTk9USUZZX1NUT1ApCQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKIAkJcmV0dXJuOwkJCQkJCQlcCiAJZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIDAsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwkJXAogfQpAQCAtNTYyLDcgKzU1NSw3IEBACiAJaW5mby5zaV9jb2RlID0gc2ljb2RlOwkJCQkJCVwKIAlpbmZvLnNpX2FkZHIgPSAodm9pZCBfX3VzZXIgKilzaWFkZHI7CQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMCwgcmVncywgZXJyb3JfY29kZSwgJmluZm8pOwlcCiB9CkBAIC01NzEsNyArNTY0LDcgQEAKIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCQkJXAogewkJCQkJCQkJCVwKIAlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCi0JCQkJCQk9PSBOT1RJRllfU1RPUCkJCVwKKwkJCQkJCQk9PSBOT1RJRllfU1RPUCkJXAogCQlyZXR1cm47CQkJCQkJCVwKIAlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgMSwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CkBAIC01ODYsMjcgKzU3OSwyOSBAQAogCWluZm8uc2lfYWRkciA9ICh2b2lkIF9fdXNlciAqKXNpYWRkcjsJCQkJXAogCXRyYWNlX2hhcmRpcnFzX2ZpeHVwKCk7CQkJCQkJXAogCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpCVwKLQkJCQkJCT09IE5PVElGWV9TVE9QKQkJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCiAJCXJldHVybjsJCQkJCQkJXAogCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCAxLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CVwKIH0KIAotRE9fVk04Nl9FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQorRE9fVk04Nl9FUlJPUl9JTkZPKDAsIFNJR0ZQRSwgImRpdmlkZSBlcnJvciIsIGRpdmlkZV9lcnJvciwgRlBFX0lOVERJViwgcmVncy0+aXApCiAjaWZuZGVmIENPTkZJR19LUFJPQkVTCiBET19WTTg2X0VSUk9SKDMsIFNJR1RSQVAsICJpbnQzIiwgaW50MykKICNlbmRpZgogRE9fVk04Nl9FUlJPUig0LCBTSUdTRUdWLCAib3ZlcmZsb3ciLCBvdmVyZmxvdykKIERPX1ZNODZfRVJST1IoNSwgU0lHU0VHViwgImJvdW5kcyIsIGJvdW5kcykKLURPX0VSUk9SX0lORk8oNiwgU0lHSUxMLCAgImludmFsaWQgb3Bjb2RlIiwgaW52YWxpZF9vcCwgSUxMX0lMTE9QTiwgcmVncy0+aXAsIDApCi1ET19FUlJPUig5LCBTSUdGUEUsICAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQorRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwLCAwKQorRE9fRVJST1IoOSwgU0lHRlBFLCAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogRE9fRVJST1IoMTAsIFNJR1NFR1YsICJpbnZhbGlkIFRTUyIsIGludmFsaWRfVFNTKQotRE9fRVJST1IoMTEsIFNJR0JVUywgICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKLURPX0VSUk9SKDEyLCBTSUdCVVMsICAic3RhY2sgc2VnbWVudCIsIHN0YWNrX3NlZ21lbnQpCitET19FUlJPUigxMSwgU0lHQlVTLCAic2VnbWVudCBub3QgcHJlc2VudCIsIHNlZ21lbnRfbm90X3ByZXNlbnQpCitET19FUlJPUigxMiwgU0lHQlVTLCAic3RhY2sgc2VnbWVudCIsIHN0YWNrX3NlZ21lbnQpCiBET19FUlJPUl9JTkZPKDE3LCBTSUdCVVMsICJhbGlnbm1lbnQgY2hlY2siLCBhbGlnbm1lbnRfY2hlY2ssIEJVU19BRFJBTE4sIDAsIDApCiBET19FUlJPUl9JTkZPKDMyLCBTSUdJTEwsICJpcmV0IGV4Y2VwdGlvbiIsIGlyZXRfZXJyb3IsIElMTF9CQURTVEssIDAsIDEpCiAKLXZvaWQgX19rcHJvYmVzIGRvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQordm9pZCBfX2twcm9iZXMKK2RvX2dlbmVyYWxfcHJvdGVjdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQogeworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogCXN0cnVjdCB0aHJlYWRfc3RydWN0ICp0aHJlYWQ7CiAJc3RydWN0IHRzc19zdHJ1Y3QgKnRzczsKIAlpbnQgY3B1OwpAQCAtNjQ3LDIzICs2NDIsMjQgQEAKIAlpZiAocmVncy0+ZmxhZ3MgJiBYODZfVk1fTUFTSykKIAkJZ290byBncF9pbl92bTg2OwogCisJdHNrID0gY3VycmVudDsKIAlpZiAoIXVzZXJfbW9kZShyZWdzKSkKIAkJZ290byBncF9pbl9rZXJuZWw7CiAKLQljdXJyZW50LT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0JY3VycmVudC0+dGhyZWFkLnRyYXBfbm8gPSAxMzsKKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CiAKLQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKGN1cnJlbnQsIFNJR1NFR1YpICYmCi0JICAgIHByaW50a19yYXRlbGltaXQoKSkgeworCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgorCQkJcHJpbnRrX3JhdGVsaW1pdCgpKSB7CiAJCXByaW50ayhLRVJOX0lORk8KLQkJICAgICIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKLQkJICAgIGN1cnJlbnQtPmNvbW0sIHRhc2tfcGlkX25yKGN1cnJlbnQpLAotCQkgICAgcmVncy0+aXAsIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKKwkJCSIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJCXRzay0+Y29tbSwgdGFza19waWRfbnIodHNrKSwKKwkJCXJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CiAJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOwogCQlwcmludGsoIlxuIik7CiAJfQogCi0JZm9yY2Vfc2lnKFNJR1NFR1YsIGN1cnJlbnQpOworCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOwogCXJldHVybjsKIAogZ3BfaW5fdm04NjoKQEAgLTY3MiwxNCArNjY4LDE1IEBACiAJcmV0dXJuOwogCiBncF9pbl9rZXJuZWw6Ci0JaWYgKCFmaXh1cF9leGNlcHRpb24ocmVncykpIHsKLQkJY3VycmVudC0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwotCQljdXJyZW50LT50aHJlYWQudHJhcF9ubyA9IDEzOwotCQlpZiAobm90aWZ5X2RpZShESUVfR1BGLCAiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywKKwlpZiAoZml4dXBfZXhjZXB0aW9uKHJlZ3MpKQorCQlyZXR1cm47CisKKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CisJaWYgKG5vdGlmeV9kaWUoRElFX0dQRiwgImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsCiAJCQkJZXJyb3JfY29kZSwgMTMsIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQotCQkJcmV0dXJuOwotCQlkaWUoImdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCIsIHJlZ3MsIGVycm9yX2NvZGUpOwotCX0KKwkJcmV0dXJuOworCWRpZSgiZ2VuZXJhbCBwcm90ZWN0aW9uIGZhdWx0IiwgcmVncywgZXJyb3JfY29kZSk7CiB9CiAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkCkBAIC03NTYsOSArNzUzLDkgQEAKIAogc3RhdGljIERFRklORV9TUElOTE9DSyhubWlfcHJpbnRfbG9jayk7CiAKLXZvaWQgbm90cmFjZSBfX2twcm9iZXMgZGllX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgY29uc3QgY2hhciAqbXNnKQordm9pZCBub3RyYWNlIF9fa3Byb2JlcyBkaWVfbm1pKGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBkb19wYW5pYykKIHsKLQlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIG1zZywgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKKwlpZiAobm90aWZ5X2RpZShESUVfTk1JV0FUQ0hET0csIHN0ciwgcmVncywgMCwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOwogCiAJc3Bpbl9sb2NrKCZubWlfcHJpbnRfbG9jayk7CkBAIC03NjcsMTAgKzc2NCwxMiBAQAogCSogdG8gZ2V0IGEgbWVzc2FnZSBvdXQ6CiAJKi8KIAlidXN0X3NwaW5sb2NrcygxKTsKLQlwcmludGsoS0VSTl9FTUVSRyAiJXMiLCBtc2cpOworCXByaW50ayhLRVJOX0VNRVJHICIlcyIsIHN0cik7CiAJcHJpbnRrKCIgb24gQ1BVJWQsIGlwICUwOGx4LCByZWdpc3RlcnM6XG4iLAogCQlzbXBfcHJvY2Vzc29yX2lkKCksIHJlZ3MtPmlwKTsKIAlzaG93X3JlZ2lzdGVycyhyZWdzKTsKKwlpZiAoZG9fcGFuaWMpCisJCXBhbmljKCJOb24gbWFza2FibGUgaW50ZXJydXB0Iik7CiAJY29uc29sZV9zaWxlbnQoKTsKIAlzcGluX3VubG9jaygmbm1pX3ByaW50X2xvY2spOwogCWJ1c3Rfc3BpbmxvY2tzKDApOwpAQCAtNzkwLDE0ICs3ODksMTcgQEAKIHN0YXRpYyBub3RyYWNlIF9fa3Byb2JlcyB2b2lkIGRlZmF1bHRfZG9fbm1pKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXVuc2lnbmVkIGNoYXIgcmVhc29uID0gMDsKKwlpbnQgY3B1OwogCi0JLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW06ICovCi0JaWYgKCFzbXBfcHJvY2Vzc29yX2lkKCkpCisJY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJLyogT25seSB0aGUgQlNQIGdldHMgZXh0ZXJuYWwgTk1JcyBmcm9tIHRoZSBzeXN0ZW0uICovCisJaWYgKCFjcHUpCiAJCXJlYXNvbiA9IGdldF9ubWlfcmVhc29uKCk7CiAKIAlpZiAoIShyZWFzb24gJiAweGMwKSkgewogCQlpZiAobm90aWZ5X2RpZShESUVfTk1JX0lQSSwgIm5taV9pcGkiLCByZWdzLCByZWFzb24sIDIsIFNJR0lOVCkKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkKKwkJCQkJCQkJPT0gTk9USUZZX1NUT1ApCiAJCQlyZXR1cm47CiAjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCiAJCS8qCkBAIC04MDYsNyArODA4LDcgQEAKIAkJICovCiAJCWlmIChubWlfd2F0Y2hkb2dfdGljayhyZWdzLCByZWFzb24pKQogCQkJcmV0dXJuOwotCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBzbXBfcHJvY2Vzc29yX2lkKCkpKQorCQlpZiAoIWRvX25taV9jYWxsYmFjayhyZWdzLCBjcHUpKQogCQkJdW5rbm93bl9ubWlfZXJyb3IocmVhc29uLCByZWdzKTsKICNlbHNlCiAJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CkBAIC04MTYsNiArODE4LDggQEAKIAl9CiAJaWYgKG5vdGlmeV9kaWUoRElFX05NSSwgIm5taSIsIHJlZ3MsIHJlYXNvbiwgMiwgU0lHSU5UKSA9PSBOT1RJRllfU1RPUCkKIAkJcmV0dXJuOworCisJLyogQUs6IGZvbGxvd2luZyBjaGVja3Mgc2VlbSB0byBiZSBicm9rZW4gb24gbW9kZXJuIGNoaXBzZXRzLiBGSVhNRSAqLwogCWlmIChyZWFzb24gJiAweDgwKQogCQltZW1fcGFyaXR5X2Vycm9yKHJlYXNvbiwgcmVncyk7CiAJaWYgKHJlYXNvbiAmIDB4NDApCkBAIC04MjcsOCArODMxLDYgQEAKIAlyZWFzc2VydF9ubWkoKTsKIH0KIAotc3RhdGljIGludCBpZ25vcmVfbm1pczsKLQogbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkb19ubWkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGxvbmcgZXJyb3JfY29kZSkKIHsKIAlpbnQgY3B1OwpAQCAtOTEzLDcgKzkxNSw3IEBACiAJdHNrLT50aHJlYWQuZGVidWdjdGxtc3IgPSAwOwogCiAJaWYgKG5vdGlmeV9kaWUoRElFX0RFQlVHLCAiZGVidWciLCByZWdzLCBjb25kaXRpb24sIGVycm9yX2NvZGUsCi0JCQkJCVNJR1RSQVApID09IE5PVElGWV9TVE9QKQorCQkJCQkJU0lHVFJBUCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAkvKiBJdCdzIHNhZmUgdG8gYWxsb3cgaXJxJ3MgYWZ0ZXIgRFI2IGhhcyBiZWVuIHNhdmVkICovCiAJaWYgKHJlZ3MtPmZsYWdzICYgWDg2X0VGTEFHU19JRikKQEAgLTk3NCw5ICs5NzYsOCBAQAogdm9pZCBtYXRoX2Vycm9yKHZvaWQgX191c2VyICppcCkKIHsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7Ci0JdW5zaWduZWQgc2hvcnQgY3dkOwotCXVuc2lnbmVkIHNob3J0IHN3ZDsKIAlzaWdpbmZvX3QgaW5mbzsKKwl1bnNpZ25lZCBzaG9ydCBjd2QsIHN3ZDsKIAogCS8qCiAJICogU2F2ZSB0aGUgaW5mbyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFuZCBjbGVhciB0aGUgZXJyb3IuCkBAIC05OTUsNyArOTk2LDcgQEAKIAkgKiBDMSByZWcgeW91IG5lZWQgaW4gY2FzZSBvZiBhIHN0YWNrIGZhdWx0LCAweDA0MCBpcyB0aGUgc3RhY2sKIAkgKiBmYXVsdCBiaXQuICBXZSBzaG91bGQgb25seSBiZSB0YWtpbmcgb25lIGV4Y2VwdGlvbiBhdCBhIHRpbWUsCiAJICogc28gaWYgdGhpcyBjb21iaW5hdGlvbiBkb2Vzbid0IHByb2R1Y2UgYW55IHNpbmdsZSBleGNlcHRpb24sCi0JICogdGhlbiB3ZSBoYXZlIGEgYmFkIHByb2dyYW0gdGhhdCBpc24ndCBzeW5jcm9uaXppbmcgaXRzIEZQVSB1c2FnZQorCSAqIHRoZW4gd2UgaGF2ZSBhIGJhZCBwcm9ncmFtIHRoYXQgaXNuJ3Qgc3luY2hyb25pemluZyBpdHMgRlBVIHVzYWdlCiAJICogYW5kIGl0IHdpbGwgc3VmZmVyIHRoZSBjb25zZXF1ZW5jZXMgc2luY2Ugd2Ugd29uJ3QgYmUgYWJsZSB0bwogCSAqIGZ1bGx5IHJlcHJvZHVjZSB0aGUgY29udGV4dCBvZiB0aGUgZXhjZXB0aW9uCiAJICovCkBAIC0xMDA0LDcgKzEwMDUsNyBAQAogCXN3aXRjaCAoc3dkICYgfmN3ZCAmIDB4M2YpIHsKIAljYXNlIDB4MDAwOiAvKiBObyB1bm1hc2tlZCBleGNlcHRpb24gKi8KIAkJcmV0dXJuOwotCWRlZmF1bHQ6ICAgIC8qIE11bHRpcGxlIGV4Y2VwdGlvbnMgKi8KKwlkZWZhdWx0OiAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCiAJCWJyZWFrOwogCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KIAkJLyoKQEAgLTEwNDAsOCArMTA0MSw4IEBACiBzdGF0aWMgdm9pZCBzaW1kX21hdGhfZXJyb3Iodm9pZCBfX3VzZXIgKmlwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKLQl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIAlzaWdpbmZvX3QgaW5mbzsKKwl1bnNpZ25lZCBzaG9ydCBteGNzcjsKIAogCS8qCiAJICogU2F2ZSB0aGUgaW5mbyBmb3IgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFuZCBjbGVhciB0aGUgZXJyb3IuCkBAIC0xMTE3LDcgKzExMTgsNyBAQAogCiB1bnNpZ25lZCBsb25nIHBhdGNoX2VzcGZpeF9kZXNjKHVuc2lnbmVkIGxvbmcgdWVzcCwgdW5zaWduZWQgbG9uZyBrZXNwKQogewotCXN0cnVjdCBkZXNjX3N0cnVjdCAqZ2R0ID0gX19nZXRfY3B1X3ZhcihnZHRfcGFnZSkuZ2R0OworCXN0cnVjdCBkZXNjX3N0cnVjdCAqZ2R0ID0gZ2V0X2NwdV9nZHRfdGFibGUoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAl1bnNpZ25lZCBsb25nIGJhc2UgPSAoa2VzcCAtIHVlc3ApICYgLVRIUkVBRF9TSVpFOwogCXVuc2lnbmVkIGxvbmcgbmV3X2tlc3AgPSBrZXNwIC0gYmFzZTsKIAl1bnNpZ25lZCBsb25nIGxpbV9wYWdlcyA9IChuZXdfa2VzcCB8IChUSFJFQURfU0laRSAtIDEpKSA+PiBQQUdFX1NISUZUOwpAQCAtMTE5NiwxOSArMTE5NywxNiBAQAogCWVhcmx5X2lvdW5tYXAocCwgNCk7CiAjZW5kaWYKIAotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotCWluaXRfYXBpY19tYXBwaW5ncygpOwotI2VuZGlmCi0Jc2V0X3RyYXBfZ2F0ZSgwLCAgJmRpdmlkZV9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZSgxLCAgJmRlYnVnKTsKLQlzZXRfaW50cl9nYXRlKDIsICAmbm1pKTsKLQlzZXRfc3lzdGVtX2ludHJfZ2F0ZSgzLCAmaW50Myk7IC8qIGludDMvNCBjYW4gYmUgY2FsbGVkIGZyb20gYWxsICovCi0Jc2V0X3N5c3RlbV9nYXRlKDQsICZvdmVyZmxvdyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg1LCAgJmJvdW5kcyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg2LCAgJmludmFsaWRfb3ApOwotCXNldF90cmFwX2dhdGUoNywgICZkZXZpY2Vfbm90X2F2YWlsYWJsZSk7Ci0Jc2V0X3Rhc2tfZ2F0ZSg4LCAgR0RUX0VOVFJZX0RPVUJMRUZBVUxUX1RTUyk7Ci0Jc2V0X3RyYXBfZ2F0ZSg5LCAgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CisJc2V0X3RyYXBfZ2F0ZSgwLCAmZGl2aWRlX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDEsICZkZWJ1Zyk7CisJc2V0X2ludHJfZ2F0ZSgyLCAmbm1pKTsKKwlzZXRfc3lzdGVtX2ludHJfZ2F0ZSgzLCAmaW50Myk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOyAvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfdHJhcF9nYXRlKDUsICZib3VuZHMpOworCXNldF90cmFwX2dhdGUoNiwgJmludmFsaWRfb3ApOworCXNldF90cmFwX2dhdGUoNywgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKKwlzZXRfdGFza19nYXRlKDgsIEdEVF9FTlRSWV9ET1VCTEVGQVVMVF9UU1MpOworCXNldF90cmFwX2dhdGUoOSwgJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7CiAJc2V0X3RyYXBfZ2F0ZSgxMCwgJmludmFsaWRfVFNTKTsKIAlzZXRfdHJhcF9nYXRlKDExLCAmc2VnbWVudF9ub3RfcHJlc2VudCk7CiAJc2V0X3RyYXBfZ2F0ZSgxMiwgJnN0YWNrX3NlZ21lbnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3RyYXBzXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYwppbmRleCBhZGZmNzZlLi4yNjk2YTY4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdHJhcHNfNjQuYwpAQCAtMTAsNDkgKzEwLDQ5IEBACiAgKiAnVHJhcHMuYycgaGFuZGxlcyBoYXJkd2FyZSB0cmFwcyBhbmQgZmF1bHRzIGFmdGVyIHdlIGhhdmUgc2F2ZWQgc29tZQogICogc3RhdGUgaW4gJ2VudHJ5LlMnLgogICovCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgotI2luY2x1ZGUgPGxpbnV4L25taS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgva3Byb2Jlcy5oPgotI2luY2x1ZGUgPGxpbnV4L2tleGVjLmg+Ci0jaW5jbHVkZSA8bGludXgvdW53aW5kLmg+CiAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgotI2luY2x1ZGUgPGxpbnV4L2tkZWJ1Zy5oPgogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KLQotI2luY2x1ZGUgPG1hY2hfdHJhcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9rZGVidWcuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC91bndpbmQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2J1Zy5oPgorI2luY2x1ZGUgPGxpbnV4L25taS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAKICNpZiBkZWZpbmVkKENPTkZJR19FREFDKQogI2luY2x1ZGUgPGxpbnV4L2VkYWMuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxhc20vc3RhY2t0cmFjZS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgorI2luY2x1ZGUgPGFzbS91bndpbmQuaD4KICNpbmNsdWRlIDxhc20vZGVzYy5oPgogI2luY2x1ZGUgPGFzbS9pMzg3Lmg+Ci0jaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgotI2luY2x1ZGUgPGFzbS91bndpbmQuaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0jaW5jbHVkZSA8YXNtL3Byb3RvLmg+CiAjaW5jbHVkZSA8YXNtL25taS5oPgotI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL3NtcC5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CisjaW5jbHVkZSA8YXNtL3Byb3RvLmg+CisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCisjaW5jbHVkZSA8bWFjaF90cmFwcy5oPgogCiBhc21saW5rYWdlIHZvaWQgZGl2aWRlX2Vycm9yKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGRlYnVnKHZvaWQpOwpAQCAtNzEsMTIgKzcxLDE1IEBACiBhc21saW5rYWdlIHZvaWQgcGFnZV9mYXVsdCh2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBjb3Byb2Nlc3Nvcl9lcnJvcih2b2lkKTsKIGFzbWxpbmthZ2Ugdm9pZCBzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKHZvaWQpOwotYXNtbGlua2FnZSB2b2lkIHJlc2VydmVkKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIGFsaWdubWVudF9jaGVjayh2b2lkKTsKLWFzbWxpbmthZ2Ugdm9pZCBtYWNoaW5lX2NoZWNrKHZvaWQpOwogYXNtbGlua2FnZSB2b2lkIHNwdXJpb3VzX2ludGVycnVwdF9idWcodm9pZCk7Cithc21saW5rYWdlIHZvaWQgbWFjaGluZV9jaGVjayh2b2lkKTsKIAoraW50IHBhbmljX29uX3VucmVjb3ZlcmVkX25taTsKK2ludCBrc3RhY2tfZGVwdGhfdG9fcHJpbnQgPSAxMjsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgY29kZV9ieXRlcyA9IDY0Oworc3RhdGljIGludCBpZ25vcmVfbm1pczsKK3N0YXRpYyBpbnQgZGllX2NvdW50ZXI7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBjb25kaXRpb25hbF9zdGkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CkBAIC0xMDAsMzQgKzEwMyw5IEBACiAJZGVjX3ByZWVtcHRfY291bnQoKTsKIH0KIAotaW50IGtzdGFja19kZXB0aF90b19wcmludCA9IDEyOwotCiB2b2lkIHByaW50a19hZGRyZXNzKHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgaW50IHJlbGlhYmxlKQogewotI2lmZGVmIENPTkZJR19LQUxMU1lNUwotCXVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCwgc3ltc2l6ZTsKLQljb25zdCBjaGFyICpzeW1uYW1lOwotCWNoYXIgKm1vZG5hbWU7Ci0JY2hhciAqZGVsaW0gPSAiOiI7Ci0JY2hhciBuYW1lYnVmW0tTWU1fTkFNRV9MRU5dOwotCWNoYXIgcmVsaWFiWzRdID0gIiI7Ci0KLQlzeW1uYW1lID0ga2FsbHN5bXNfbG9va3VwKGFkZHJlc3MsICZzeW1zaXplLCAmb2Zmc2V0LAotCQkJCQkmbW9kbmFtZSwgbmFtZWJ1Zik7Ci0JaWYgKCFzeW1uYW1lKSB7Ci0JCXByaW50aygiIFs8JTAxNmx4Pl1cbiIsIGFkZHJlc3MpOwotCQlyZXR1cm47Ci0JfQotCWlmICghcmVsaWFibGUpCi0JCXN0cmNweShyZWxpYWIsICI/ICIpOwotCi0JaWYgKCFtb2RuYW1lKQotCQltb2RuYW1lID0gZGVsaW0gPSAiIjsKLQlwcmludGsoIiBbPCUwMTZseD5dICVzJXMlcyVzJXMrMHglbHgvMHglbHhcbiIsCi0JCWFkZHJlc3MsIHJlbGlhYiwgZGVsaW0sIG1vZG5hbWUsIGRlbGltLCBzeW1uYW1lLCBvZmZzZXQsIHN5bXNpemUpOwotI2Vsc2UKLQlwcmludGsoIiBbPCUwMTZseD5dXG4iLCBhZGRyZXNzKTsKLSNlbmRpZgorCXByaW50aygiIFs8JTAxNmx4Pl0gJXMlcFNcbiIsIGFkZHJlc3MsIHJlbGlhYmxlID8gIiI6ICI/ICIsICh2b2lkICopIGFkZHJlc3MpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyAqaW5fZXhjZXB0aW9uX3N0YWNrKHVuc2lnbmVkIGNwdSwgdW5zaWduZWQgbG9uZyBzdGFjaywKQEAgLTIwNCw4ICsxODIsNiBAQAogCXJldHVybiBOVUxMOwogfQogCi0jZGVmaW5lIE1TRyh0eHQpIG9wcy0+d2FybmluZyhkYXRhLCB0eHQpCi0KIC8qCiAgKiB4ODYtNjQgY2FuIGhhdmUgdXAgdG8gdGhyZWUga2VybmVsIHN0YWNrczogCiAgKiBwcm9jZXNzIHN0YWNrCkBAIC0yMzIsMTEgKzIwOCwxMSBAQAogCXVuc2lnbmVkIGxvbmcgcmV0dXJuX2FkZHJlc3M7CiB9OwogCi0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCi0JCQkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnAsCi0JCQkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEsCi0JCQkJdW5zaWduZWQgbG9uZyAqZW5kKQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitwcmludF9jb250ZXh0X3N0YWNrKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm8sCisJCXVuc2lnbmVkIGxvbmcgKnN0YWNrLCB1bnNpZ25lZCBsb25nIGJwLAorCQljb25zdCBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgKm9wcywgdm9pZCAqZGF0YSwKKwkJdW5zaWduZWQgbG9uZyAqZW5kKQogewogCXN0cnVjdCBzdGFja19mcmFtZSAqZnJhbWUgPSAoc3RydWN0IHN0YWNrX2ZyYW1lICopYnA7CiAKQEAgLTI1OCw3ICsyMzQsNyBAQAogCXJldHVybiBicDsKIH0KIAotdm9pZCBkdW1wX3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKK3ZvaWQgZHVtcF90cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLAogCQl1bnNpZ25lZCBsb25nICpzdGFjaywgdW5zaWduZWQgbG9uZyBicCwKIAkJY29uc3Qgc3RydWN0IHN0YWNrdHJhY2Vfb3BzICpvcHMsIHZvaWQgKmRhdGEpCiB7CkBAIC0yNjcsMzYgKzI0MywzNCBAQAogCXVuc2lnbmVkIHVzZWQgPSAwOwogCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGluZm87CiAKLQlpZiAoIXRzaykKLQkJdHNrID0gY3VycmVudDsKLQl0aW5mbyA9IHRhc2tfdGhyZWFkX2luZm8odHNrKTsKKwlpZiAoIXRhc2spCisJCXRhc2sgPSBjdXJyZW50OwogCiAJaWYgKCFzdGFjaykgewogCQl1bnNpZ25lZCBsb25nIGR1bW15OwogCQlzdGFjayA9ICZkdW1teTsKLQkJaWYgKHRzayAmJiB0c2sgIT0gY3VycmVudCkKLQkJCXN0YWNrID0gKHVuc2lnbmVkIGxvbmcgKil0c2stPnRocmVhZC5zcDsKKwkJaWYgKHRhc2sgJiYgdGFzayAhPSBjdXJyZW50KQorCQkJc3RhY2sgPSAodW5zaWduZWQgbG9uZyAqKXRhc2stPnRocmVhZC5zcDsKIAl9CiAKICNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUgogCWlmICghYnApIHsKLQkJaWYgKHRzayA9PSBjdXJyZW50KSB7CisJCWlmICh0YXNrID09IGN1cnJlbnQpIHsKIAkJCS8qIEdyYWIgYnAgcmlnaHQgZnJvbSBvdXIgcmVncyAqLwotCQkJYXNtKCJtb3ZxICUlcmJwLCAlMCIgOiAiPXIiIChicCk6KTsKKwkJCWFzbSgibW92cSAlJXJicCwgJTAiIDogIj1yIiAoYnApIDopOwogCQl9IGVsc2UgewogCQkJLyogYnAgaXMgdGhlIGxhc3QgcmVnIHB1c2hlZCBieSBzd2l0Y2hfdG8gKi8KLQkJCWJwID0gKih1bnNpZ25lZCBsb25nICopIHRzay0+dGhyZWFkLnNwOworCQkJYnAgPSAqKHVuc2lnbmVkIGxvbmcgKikgdGFzay0+dGhyZWFkLnNwOwogCQl9CiAJfQogI2VuZGlmCiAKLQotCiAJLyoKIAkgKiBQcmludCBmdW5jdGlvbiBjYWxsIGVudHJpZXMgaW4gYWxsIHN0YWNrcywgc3RhcnRpbmcgYXQgdGhlCiAJICogY3VycmVudCBzdGFjayBhZGRyZXNzLiBJZiB0aGUgc3RhY2tzIGNvbnNpc3Qgb2YgbmVzdGVkCiAJICogZXhjZXB0aW9ucwogCSAqLworCXRpbmZvID0gdGFza190aHJlYWRfaW5mbyh0YXNrKTsKIAlmb3IgKDs7KSB7CiAJCWNoYXIgKmlkOwogCQl1bnNpZ25lZCBsb25nICplc3RhY2tfZW5kOwpAQCAtMzgxLDE4ICszNTUsMTcgQEAKIAkuYWRkcmVzcyA9IHByaW50X3RyYWNlX2FkZHJlc3MsCiB9OwogCi12b2lkCi1zaG93X3RyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyAqc3RhY2ssCi0JCXVuc2lnbmVkIGxvbmcgYnApCit2b2lkIHNob3dfdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJdW5zaWduZWQgbG9uZyAqc3RhY2ssIHVuc2lnbmVkIGxvbmcgYnApCiB7CiAJcHJpbnRrKCJcbkNhbGwgVHJhY2U6XG4iKTsKLQlkdW1wX3RyYWNlKHRzaywgcmVncywgc3RhY2ssIGJwLCAmcHJpbnRfdHJhY2Vfb3BzLCBOVUxMKTsKKwlkdW1wX3RyYWNlKHRhc2ssIHJlZ3MsIHN0YWNrLCBicCwgJnByaW50X3RyYWNlX29wcywgTlVMTCk7CiAJcHJpbnRrKCJcbiIpOwogfQogCiBzdGF0aWMgdm9pZAotX3Nob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nICpzcCwKLQkJCQkJCQl1bnNpZ25lZCBsb25nIGJwKQorX3Nob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywKKwkJdW5zaWduZWQgbG9uZyAqc3AsIHVuc2lnbmVkIGxvbmcgYnApCiB7CiAJdW5zaWduZWQgbG9uZyAqc3RhY2s7CiAJaW50IGk7CkBAIC00MDQsMTQgKzM3NywxNCBAQAogCS8vIGJhY2sgdHJhY2UgZm9yIHRoaXMgY3B1LgogCiAJaWYgKHNwID09IE5VTEwpIHsKLQkJaWYgKHRzaykKLQkJCXNwID0gKHVuc2lnbmVkIGxvbmcgKil0c2stPnRocmVhZC5zcDsKKwkJaWYgKHRhc2spCisJCQlzcCA9ICh1bnNpZ25lZCBsb25nICopdGFzay0+dGhyZWFkLnNwOwogCQllbHNlCiAJCQlzcCA9ICh1bnNpZ25lZCBsb25nICopJnNwOwogCX0KIAogCXN0YWNrID0gc3A7Ci0JZm9yKGk9MDsgaSA8IGtzdGFja19kZXB0aF90b19wcmludDsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGtzdGFja19kZXB0aF90b19wcmludDsgaSsrKSB7CiAJCWlmIChzdGFjayA+PSBpcnFzdGFjayAmJiBzdGFjayA8PSBpcnFzdGFja19lbmQpIHsKIAkJCWlmIChzdGFjayA9PSBpcnFzdGFja19lbmQpIHsKIAkJCQlzdGFjayA9ICh1bnNpZ25lZCBsb25nICopIChpcnFzdGFja19lbmRbLTFdKTsKQEAgLTQyNiwxMiArMzk5LDEyIEBACiAJCXByaW50aygiICUwMTZseCIsICpzdGFjaysrKTsKIAkJdG91Y2hfbm1pX3dhdGNoZG9nKCk7CiAJfQotCXNob3dfdHJhY2UodHNrLCByZWdzLCBzcCwgYnApOworCXNob3dfdHJhY2UodGFzaywgcmVncywgc3AsIGJwKTsKIH0KIAotdm9pZCBzaG93X3N0YWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCB1bnNpZ25lZCBsb25nICogc3ApCit2b2lkIHNob3dfc3RhY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBsb25nICpzcCkKIHsKLQlfc2hvd19zdGFjayh0c2ssIE5VTEwsIHNwLCAwKTsKKwlfc2hvd19zdGFjayh0YXNrLCBOVUxMLCBzcCwgMCk7CiB9CiAKIC8qCkBAIC00MzksOCArNDEyLDggQEAKICAqLwogdm9pZCBkdW1wX3N0YWNrKHZvaWQpCiB7Ci0JdW5zaWduZWQgbG9uZyBkdW1teTsKIAl1bnNpZ25lZCBsb25nIGJwID0gMDsKKwl1bnNpZ25lZCBsb25nIHN0YWNrOwogCiAjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKIAlpZiAoIWJwKQpAQCAtNDUyLDcgKzQyNSw3IEBACiAJCWluaXRfdXRzbmFtZSgpLT5yZWxlYXNlLAogCQkoaW50KXN0cmNzcG4oaW5pdF91dHNuYW1lKCktPnZlcnNpb24sICIgIiksCiAJCWluaXRfdXRzbmFtZSgpLT52ZXJzaW9uKTsKLQlzaG93X3RyYWNlKE5VTEwsIE5VTEwsICZkdW1teSwgYnApOworCXNob3dfdHJhY2UoTlVMTCwgTlVMTCwgJnN0YWNrLCBicCk7CiB9CiAKIEVYUE9SVF9TWU1CT0woZHVtcF9zdGFjayk7CkBAIC00NjMsMTIgKzQzNiw4IEBACiAJdW5zaWduZWQgbG9uZyBzcDsKIAljb25zdCBpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyID0gY3B1X3BkYShjcHUpLT5wY3VycmVudDsKLQl1OCAqaXA7Ci0JdW5zaWduZWQgaW50IGNvZGVfcHJvbG9ndWUgPSBjb2RlX2J5dGVzICogNDMgLyA2NDsKLQl1bnNpZ25lZCBpbnQgY29kZV9sZW4gPSBjb2RlX2J5dGVzOwogCiAJc3AgPSByZWdzLT5zcDsKLQlpcCA9ICh1OCAqKSByZWdzLT5pcCAtIGNvZGVfcHJvbG9ndWU7CiAJcHJpbnRrKCJDUFUgJWQgIiwgY3B1KTsKIAlfX3Nob3dfcmVncyhyZWdzKTsKIAlwcmludGsoIlByb2Nlc3MgJXMgKHBpZDogJWQsIHRocmVhZGluZm8gJXAsIHRhc2sgJXApXG4iLApAQCAtNDc5LDE1ICs0NDgsMjEgQEAKIAkgKiB0aW1lIG9mIHRoZSBmYXVsdC4uCiAJICovCiAJaWYgKCF1c2VyX21vZGUocmVncykpIHsKKwkJdW5zaWduZWQgaW50IGNvZGVfcHJvbG9ndWUgPSBjb2RlX2J5dGVzICogNDMgLyA2NDsKKwkJdW5zaWduZWQgaW50IGNvZGVfbGVuID0gY29kZV9ieXRlczsKIAkJdW5zaWduZWQgY2hhciBjOworCQl1OCAqaXA7CisKIAkJcHJpbnRrKCJTdGFjazogIik7CiAJCV9zaG93X3N0YWNrKE5VTEwsIHJlZ3MsICh1bnNpZ25lZCBsb25nICopc3AsIHJlZ3MtPmJwKTsKIAkJcHJpbnRrKCJcbiIpOwogCiAJCXByaW50ayhLRVJOX0VNRVJHICJDb2RlOiAiKTsKKworCQlpcCA9ICh1OCAqKXJlZ3MtPmlwIC0gY29kZV9wcm9sb2d1ZTsKIAkJaWYgKGlwIDwgKHU4ICopUEFHRV9PRkZTRVQgfHwgcHJvYmVfa2VybmVsX2FkZHJlc3MoaXAsIGMpKSB7CiAJCQkvKiB0cnkgc3RhcnRpbmcgYXQgUklQICovCi0JCQlpcCA9ICh1OCAqKSByZWdzLT5pcDsKKwkJCWlwID0gKHU4ICopcmVncy0+aXA7CiAJCQljb2RlX2xlbiA9IGNvZGVfbGVuIC0gY29kZV9wcm9sb2d1ZSArIDE7CiAJCX0KIAkJZm9yIChpID0gMDsgaSA8IGNvZGVfbGVuOyBpKyssIGlwKyspIHsKQEAgLTUwMyw3ICs0NzgsNyBAQAogCQl9CiAJfQogCXByaW50aygiXG4iKTsKLX0JCit9CiAKIGludCBpc192YWxpZF9idWdhZGRyKHVuc2lnbmVkIGxvbmcgaXApCiB7CkBAIC01NjEsMTAgKzUzNiw5IEBACiAJZG9fZXhpdChzaWducik7CiB9CiAKLWludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqIHN0ciwgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycikKK2ludCBfX2twcm9iZXMgX19kaWUoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnIpCiB7Ci0Jc3RhdGljIGludCBkaWVfY291bnRlcjsKLQlwcmludGsoS0VSTl9FTUVSRyAiJXM6ICUwNGx4IFsldV0gIiwgc3RyLCBlcnIgJiAweGZmZmYsKytkaWVfY291bnRlcik7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzOiAlMDRseCBbJXVdICIsIHN0ciwgZXJyICYgMHhmZmZmLCArK2RpZV9jb3VudGVyKTsKICNpZmRlZiBDT05GSUdfUFJFRU1QVAogCXByaW50aygiUFJFRU1QVCAiKTsKICNlbmRpZgpAQCAtNTc1LDggKzU0OSwxMCBAQAogCXByaW50aygiREVCVUdfUEFHRUFMTE9DIik7CiAjZW5kaWYKIAlwcmludGsoIlxuIik7Ci0JaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLCBjdXJyZW50LT50aHJlYWQudHJhcF9ubywgU0lHU0VHVikgPT0gTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX09PUFMsIHN0ciwgcmVncywgZXJyLAorCQkJY3VycmVudC0+dGhyZWFkLnRyYXBfbm8sIFNJR1NFR1YpID09IE5PVElGWV9TVE9QKQogCQlyZXR1cm4gMTsKKwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwogCWFkZF90YWludChUQUlOVF9ESUUpOwogCS8qIEV4ZWN1dGl2ZSBzdW1tYXJ5IGluIGNhc2UgdGhlIG9vcHMgc2Nyb2xsZWQgYXdheSAqLwpAQCAtNTg4LDcgKzU2NCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXZvaWQgZGllKGNvbnN0IGNoYXIgKiBzdHIsIHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnIpCit2b2lkIGRpZShjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycikKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzID0gb29wc19iZWdpbigpOwogCkBAIC02MDUsOCArNTgxLDcgQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0JaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0KLQkgICAgTk9USUZZX1NUT1ApCisJaWYgKG5vdGlmeV9kaWUoRElFX05NSVdBVENIRE9HLCBzdHIsIHJlZ3MsIDAsIDIsIFNJR0lOVCkgPT0gTk9USUZZX1NUT1ApCiAJCXJldHVybjsKIAogCWZsYWdzID0gb29wc19iZWdpbigpOwpAQCAtNjE0LDcgKzU4OSw5IEBACiAJICogV2UgYXJlIGluIHRyb3VibGUgYW55d2F5LCBsZXRzIGF0IGxlYXN0IHRyeQogCSAqIHRvIGdldCBhIG1lc3NhZ2Ugb3V0LgogCSAqLwotCXByaW50ayhzdHIsIHNtcF9wcm9jZXNzb3JfaWQoKSk7CisJcHJpbnRrKEtFUk5fRU1FUkcgIiVzIiwgc3RyKTsKKwlwcmludGsoIiBvbiBDUFUlZCwgaXAgJTA4bHgsIHJlZ2lzdGVyczpcbiIsCisJCXNtcF9wcm9jZXNzb3JfaWQoKSwgcmVncy0+aXApOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwogCWlmIChrZXhlY19zaG91bGRfY3Jhc2goY3VycmVudCkpCiAJCWNyYXNoX2tleGVjKHJlZ3MpOwpAQCAtNjI2LDQ0ICs2MDMsNDQgQEAKIAlkb19leGl0KFNJR0JVUyk7CiB9CiAKLXN0YXRpYyB2b2lkIF9fa3Byb2JlcyBkb190cmFwKGludCB0cmFwbnIsIGludCBzaWduciwgY2hhciAqc3RyLAotCQkJICAgICAgc3RydWN0IHB0X3JlZ3MgKiByZWdzLCBsb25nIGVycm9yX2NvZGUsCi0JCQkgICAgICBzaWdpbmZvX3QgKmluZm8pCitzdGF0aWMgdm9pZCBfX2twcm9iZXMKK2RvX3RyYXAoaW50IHRyYXBuciwgaW50IHNpZ25yLCBjaGFyICpzdHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCWxvbmcgZXJyb3JfY29kZSwgc2lnaW5mb190ICppbmZvKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrID0gY3VycmVudDsKIAotCWlmICh1c2VyX21vZGUocmVncykpIHsKLQkJLyoKLQkJICogV2Ugd2FudCBlcnJvcl9jb2RlIGFuZCB0cmFwX25vIHNldCBmb3IgdXNlcnNwYWNlCi0JCSAqIGZhdWx0cyBhbmQga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIHJlc3VsdCBpbgotCQkgKiBkaWUoKSwgYnV0IG5vdCBrZXJuZWxzcGFjZSBmYXVsdHMgd2hpY2ggYXJlIGZpeGVkCi0JCSAqIHVwLiAgZGllKCkgZ2l2ZXMgdGhlIHByb2Nlc3Mgbm8gY2hhbmNlIHRvIGhhbmRsZQotCQkgKiB0aGUgc2lnbmFsIGFuZCBub3RpY2UgdGhlIGtlcm5lbCBmYXVsdCBpbmZvcm1hdGlvbiwKLQkJICogc28gdGhhdCB3b24ndCByZXN1bHQgaW4gcG9sbHV0aW5nIHRoZSBpbmZvcm1hdGlvbgotCQkgKiBhYm91dCBwcmV2aW91c2x5IHF1ZXVlZCwgYnV0IG5vdCB5ZXQgZGVsaXZlcmVkLAotCQkgKiBmYXVsdHMuICBTZWUgYWxzbyBkb19nZW5lcmFsX3Byb3RlY3Rpb24gYmVsb3cuCi0JCSAqLwotCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJdHNrLT50aHJlYWQudHJhcF9ubyA9IHRyYXBucjsKKwlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJZ290byBrZXJuZWxfdHJhcDsKIAotCQlpZiAoc2hvd191bmhhbmRsZWRfc2lnbmFscyAmJiB1bmhhbmRsZWRfc2lnbmFsKHRzaywgc2lnbnIpICYmCi0JCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKLQkJCXByaW50ayhLRVJOX0lORk8KLQkJCSAgICAgICAiJXNbJWRdIHRyYXAgJXMgaXA6JWx4IHNwOiVseCBlcnJvcjolbHgiLAotCQkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsIHN0ciwKLQkJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwotCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7Ci0JCQlwcmludGsoIlxuIik7Ci0JCX0KKwkvKgorCSAqIFdlIHdhbnQgZXJyb3JfY29kZSBhbmQgdHJhcF9ubyBzZXQgZm9yIHVzZXJzcGFjZSBmYXVsdHMgYW5kCisJICoga2VybmVsc3BhY2UgZmF1bHRzIHdoaWNoIHJlc3VsdCBpbiBkaWUoKSwgYnV0IG5vdAorCSAqIGtlcm5lbHNwYWNlIGZhdWx0cyB3aGljaCBhcmUgZml4ZWQgdXAuICBkaWUoKSBnaXZlcyB0aGUKKwkgKiBwcm9jZXNzIG5vIGNoYW5jZSB0byBoYW5kbGUgdGhlIHNpZ25hbCBhbmQgbm90aWNlIHRoZQorCSAqIGtlcm5lbCBmYXVsdCBpbmZvcm1hdGlvbiwgc28gdGhhdCB3b24ndCByZXN1bHQgaW4gcG9sbHV0aW5nCisJICogdGhlIGluZm9ybWF0aW9uIGFib3V0IHByZXZpb3VzbHkgcXVldWVkLCBidXQgbm90IHlldAorCSAqIGRlbGl2ZXJlZCwgZmF1bHRzLiAgU2VlIGFsc28gZG9fZ2VuZXJhbF9wcm90ZWN0aW9uIGJlbG93LgorCSAqLworCXRzay0+dGhyZWFkLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOworCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CiAKLQkJaWYgKGluZm8pCi0JCQlmb3JjZV9zaWdfaW5mbyhzaWduciwgaW5mbywgdHNrKTsKLQkJZWxzZQotCQkJZm9yY2Vfc2lnKHNpZ25yLCB0c2spOwotCQlyZXR1cm47CisJaWYgKHNob3dfdW5oYW5kbGVkX3NpZ25hbHMgJiYgdW5oYW5kbGVkX3NpZ25hbCh0c2ssIHNpZ25yKSAmJgorCSAgICBwcmludGtfcmF0ZWxpbWl0KCkpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkgICAgICAgIiVzWyVkXSB0cmFwICVzIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJICAgICAgIHRzay0+Y29tbSwgdHNrLT5waWQsIHN0ciwKKwkJICAgICAgIHJlZ3MtPmlwLCByZWdzLT5zcCwgZXJyb3JfY29kZSk7CisJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOworCQlwcmludGsoIlxuIik7CiAJfQogCisJaWYgKGluZm8pCisJCWZvcmNlX3NpZ19pbmZvKHNpZ25yLCBpbmZvLCB0c2spOworCWVsc2UKKwkJZm9yY2Vfc2lnKHNpZ25yLCB0c2spOworCXJldHVybjsKIAora2VybmVsX3RyYXA6CiAJaWYgKCFmaXh1cF9leGNlcHRpb24ocmVncykpIHsKIAkJdHNrLT50aHJlYWQuZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CiAJCXRzay0+dGhyZWFkLnRyYXBfbm8gPSB0cmFwbnI7CkBAIC02NzMsNDEgKzY1MCwzOSBAQAogfQogCiAjZGVmaW5lIERPX0VSUk9SKHRyYXBuciwgc2lnbnIsIHN0ciwgbmFtZSkgXAotYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkgXAoteyBcCi0JaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikgXAotCQkJCQkJCT09IE5PVElGWV9TVE9QKSBcCi0JCXJldHVybjsgXAorYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJXAorewkJCQkJCQkJCVwKKwlpZiAobm90aWZ5X2RpZShESUVfVFJBUCwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCB0cmFwbnIsIHNpZ25yKQlcCisJCQkJCQkJPT0gTk9USUZZX1NUT1ApCVwKKwkJcmV0dXJuOwkJCQkJCQlcCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwkJCQkJCVwKLQlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7IFwKKwlkb190cmFwKHRyYXBuciwgc2lnbnIsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgTlVMTCk7CQlcCiB9CiAKLSNkZWZpbmUgRE9fRVJST1JfSU5GTyh0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUsIHNpY29kZSwgc2lhZGRyKSBcCi1hc21saW5rYWdlIHZvaWQgZG9fIyNuYW1lKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKSBcCi17IFwKLQlzaWdpbmZvX3QgaW5mbzsgXAotCWluZm8uc2lfc2lnbm8gPSBzaWducjsgXAotCWluZm8uc2lfZXJybm8gPSAwOyBcCi0JaW5mby5zaV9jb2RlID0gc2ljb2RlOyBcCi0JaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOyBcCi0JdHJhY2VfaGFyZGlycXNfZml4dXAoKTsgXAotCWlmIChub3RpZnlfZGllKERJRV9UUkFQLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsIHRyYXBuciwgc2lnbnIpIFwKLQkJCQkJCQk9PSBOT1RJRllfU1RPUCkgXAotCQlyZXR1cm47IFwKKyNkZWZpbmUgRE9fRVJST1JfSU5GTyh0cmFwbnIsIHNpZ25yLCBzdHIsIG5hbWUsIHNpY29kZSwgc2lhZGRyKQkJXAorYXNtbGlua2FnZSB2b2lkIGRvXyMjbmFtZShzdHJ1Y3QgcHRfcmVncyAqIHJlZ3MsIGxvbmcgZXJyb3JfY29kZSkJXAorewkJCQkJCQkJCVwKKwlzaWdpbmZvX3QgaW5mbzsJCQkJCQkJXAorCWluZm8uc2lfc2lnbm8gPSBzaWducjsJCQkJCQlcCisJaW5mby5zaV9lcnJubyA9IDA7CQkJCQkJXAorCWluZm8uc2lfY29kZSA9IHNpY29kZTsJCQkJCQlcCisJaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICopc2lhZGRyOwkJCQlcCisJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsJCQkJCQlcCisJaWYgKG5vdGlmeV9kaWUoRElFX1RSQVAsIHN0ciwgcmVncywgZXJyb3JfY29kZSwgdHJhcG5yLCBzaWducikJXAorCQkJCQkJCT09IE5PVElGWV9TVE9QKQlcCisJCXJldHVybjsJCQkJCQkJXAogCWNvbmRpdGlvbmFsX3N0aShyZWdzKTsJCQkJCQlcCi0JZG9fdHJhcCh0cmFwbnIsIHNpZ25yLCBzdHIsIHJlZ3MsIGVycm9yX2NvZGUsICZpbmZvKTsgXAorCWRvX3RyYXAodHJhcG5yLCBzaWduciwgc3RyLCByZWdzLCBlcnJvcl9jb2RlLCAmaW5mbyk7CQlcCiB9CiAKLURPX0VSUk9SX0lORk8oIDAsIFNJR0ZQRSwgICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQotRE9fRVJST1IoIDQsIFNJR1NFR1YsICJvdmVyZmxvdyIsIG92ZXJmbG93KQotRE9fRVJST1IoIDUsIFNJR1NFR1YsICJib3VuZHMiLCBib3VuZHMpCi1ET19FUlJPUl9JTkZPKCA2LCBTSUdJTEwsICAiaW52YWxpZCBvcGNvZGUiLCBpbnZhbGlkX29wLCBJTExfSUxMT1BOLCByZWdzLT5pcCkKLURPX0VSUk9SKCA3LCBTSUdTRUdWLCAiZGV2aWNlIG5vdCBhdmFpbGFibGUiLCBkZXZpY2Vfbm90X2F2YWlsYWJsZSkKLURPX0VSUk9SKCA5LCBTSUdGUEUsICAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQorRE9fRVJST1JfSU5GTygwLCBTSUdGUEUsICJkaXZpZGUgZXJyb3IiLCBkaXZpZGVfZXJyb3IsIEZQRV9JTlRESVYsIHJlZ3MtPmlwKQorRE9fRVJST1IoNCwgU0lHU0VHViwgIm92ZXJmbG93Iiwgb3ZlcmZsb3cpCitET19FUlJPUig1LCBTSUdTRUdWLCAiYm91bmRzIiwgYm91bmRzKQorRE9fRVJST1JfSU5GTyg2LCBTSUdJTEwsICJpbnZhbGlkIG9wY29kZSIsIGludmFsaWRfb3AsIElMTF9JTExPUE4sIHJlZ3MtPmlwKQorRE9fRVJST1IoOSwgU0lHRlBFLCAiY29wcm9jZXNzb3Igc2VnbWVudCBvdmVycnVuIiwgY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKQogRE9fRVJST1IoMTAsIFNJR1NFR1YsICJpbnZhbGlkIFRTUyIsIGludmFsaWRfVFNTKQotRE9fRVJST1IoMTEsIFNJR0JVUywgICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKK0RPX0VSUk9SKDExLCBTSUdCVVMsICJzZWdtZW50IG5vdCBwcmVzZW50Iiwgc2VnbWVudF9ub3RfcHJlc2VudCkKIERPX0VSUk9SX0lORk8oMTcsIFNJR0JVUywgImFsaWdubWVudCBjaGVjayIsIGFsaWdubWVudF9jaGVjaywgQlVTX0FEUkFMTiwgMCkKLURPX0VSUk9SKDE4LCBTSUdTRUdWLCAicmVzZXJ2ZWQiLCByZXNlcnZlZCkKIAogLyogUnVucyBvbiBJU1Qgc3RhY2sgKi8KIGFzbWxpbmthZ2Ugdm9pZCBkb19zdGFja19zZWdtZW50KHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCkBAIC03MzcsMzEgKzcxMiwzNCBAQAogCQlkaWUoc3RyLCByZWdzLCBlcnJvcl9jb2RlKTsKIH0KIAotYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IHB0X3JlZ3MgKiByZWdzLAotCQkJCQkJbG9uZyBlcnJvcl9jb2RlKQorYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcworZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwogCiAJY29uZGl0aW9uYWxfc3RpKHJlZ3MpOwogCi0JaWYgKHVzZXJfbW9kZShyZWdzKSkgewotCQl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKLQkJdHNrLT50aHJlYWQudHJhcF9ubyA9IDEzOworCXRzayA9IGN1cnJlbnQ7CisJaWYgKCF1c2VyX21vZGUocmVncykpCisJCWdvdG8gZ3BfaW5fa2VybmVsOwogCi0JCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgotCQkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7Ci0JCQlwcmludGsoS0VSTl9JTkZPCi0JCSAgICAgICAiJXNbJWRdIGdlbmVyYWwgcHJvdGVjdGlvbiBpcDolbHggc3A6JWx4IGVycm9yOiVseCIsCi0JCQkgICAgICAgdHNrLT5jb21tLCB0c2stPnBpZCwKLQkJCSAgICAgICByZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOwotCQkJcHJpbnRfdm1hX2FkZHIoIiBpbiAiLCByZWdzLT5pcCk7Ci0JCQlwcmludGsoIlxuIik7Ci0JCX0KKwl0c2stPnRocmVhZC5lcnJvcl9jb2RlID0gZXJyb3JfY29kZTsKKwl0c2stPnRocmVhZC50cmFwX25vID0gMTM7CiAKLQkJZm9yY2Vfc2lnKFNJR1NFR1YsIHRzayk7Ci0JCXJldHVybjsKLQl9IAorCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgorCQkJcHJpbnRrX3JhdGVsaW1pdCgpKSB7CisJCXByaW50ayhLRVJOX0lORk8KKwkJCSIlc1slZF0gZ2VuZXJhbCBwcm90ZWN0aW9uIGlwOiVseCBzcDolbHggZXJyb3I6JWx4IiwKKwkJCXRzay0+Y29tbSwgdHNrLT5waWQsCisJCQlyZWdzLT5pcCwgcmVncy0+c3AsIGVycm9yX2NvZGUpOworCQlwcmludF92bWFfYWRkcigiIGluICIsIHJlZ3MtPmlwKTsKKwkJcHJpbnRrKCJcbiIpOworCX0KIAorCWZvcmNlX3NpZyhTSUdTRUdWLCB0c2spOworCXJldHVybjsKKworZ3BfaW5fa2VybmVsOgogCWlmIChmaXh1cF9leGNlcHRpb24ocmVncykpCiAJCXJldHVybjsKIApAQCAtNzc0LDE0ICs3NTIsMTQgQEAKIH0KIAogc3RhdGljIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKLW1lbV9wYXJpdHlfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICogcmVncykKK21lbV9wYXJpdHlfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXByaW50ayhLRVJOX0VNRVJHICJVaGh1aC4gTk1JIHJlY2VpdmVkIGZvciB1bmtub3duIHJlYXNvbiAlMDJ4LlxuIiwKIAkJcmVhc29uKTsKIAlwcmludGsoS0VSTl9FTUVSRyAiWW91IGhhdmUgc29tZSBoYXJkd2FyZSBwcm9ibGVtLCBsaWtlbHkgb24gdGhlIFBDSSBidXMuXG4iKTsKIAogI2lmIGRlZmluZWQoQ09ORklHX0VEQUMpCi0JaWYoZWRhY19oYW5kbGVyX3NldCgpKSB7CisJaWYgKGVkYWNfaGFuZGxlcl9zZXQoKSkgewogCQllZGFjX2F0b21pY19hc3NlcnRfZXJyb3IoKTsKIAkJcmV0dXJuOwogCX0KQEAgLTc5OCw3ICs3NzYsNyBAQAogfQogCiBzdGF0aWMgbm90cmFjZSBfX2twcm9iZXMgdm9pZAotaW9fY2hlY2tfZXJyb3IodW5zaWduZWQgY2hhciByZWFzb24sIHN0cnVjdCBwdF9yZWdzICogcmVncykKK2lvX2NoZWNrX2Vycm9yKHVuc2lnbmVkIGNoYXIgcmVhc29uLCBzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlwcmludGsoIk5NSTogSU9DSyBlcnJvciAoZGVidWcgaW50ZXJydXB0PylcbiIpOwogCXNob3dfcmVnaXN0ZXJzKHJlZ3MpOwpAQCAtODI4LDE0ICs4MDYsMTQgQEAKIAogLyogUnVucyBvbiBJU1Qgc3RhY2suIFRoaXMgY29kZSBtdXN0IGtlZXAgaW50ZXJydXB0cyBvZmYgYWxsIHRoZSB0aW1lLgogICAgTmVzdGVkIE5NSXMgYXJlIHByZXZlbnRlZCBieSB0aGUgQ1BVLiAqLwotYXNtbGlua2FnZSBub3RyYWNlICBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK2FzbWxpbmthZ2Ugbm90cmFjZSBfX2twcm9iZXMgdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl1bnNpZ25lZCBjaGFyIHJlYXNvbiA9IDA7CiAJaW50IGNwdTsKIAogCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAotCS8qIE9ubHkgdGhlIEJTUCBnZXRzIGV4dGVybmFsIE5NSXMgZnJvbSB0aGUgc3lzdGVtLiAgKi8KKwkvKiBPbmx5IHRoZSBCU1AgZ2V0cyBleHRlcm5hbCBOTUlzIGZyb20gdGhlIHN5c3RlbS4gKi8KIAlpZiAoIWNwdSkKIAkJcmVhc29uID0gZ2V0X25taV9yZWFzb24oKTsKIApAQCAtODQ3LDMyICs4MjUsNTcgQEAKIAkJICogT2ssIHNvIHRoaXMgaXMgbm9uZSBvZiB0aGUgZG9jdW1lbnRlZCBOTUkgc291cmNlcywKIAkJICogc28gaXQgbXVzdCBiZSB0aGUgTk1JIHdhdGNoZG9nLgogCQkgKi8KLQkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MscmVhc29uKSkKKwkJaWYgKG5taV93YXRjaGRvZ190aWNrKHJlZ3MsIHJlYXNvbikpCiAJCQlyZXR1cm47Ci0JCWlmICghZG9fbm1pX2NhbGxiYWNrKHJlZ3MsY3B1KSkKKwkJaWYgKCFkb19ubWlfY2FsbGJhY2socmVncywgY3B1KSkKIAkJCXVua25vd25fbm1pX2Vycm9yKHJlYXNvbiwgcmVncyk7CiAKIAkJcmV0dXJuOwogCX0KIAlpZiAobm90aWZ5X2RpZShESUVfTk1JLCAibm1pIiwgcmVncywgcmVhc29uLCAyLCBTSUdJTlQpID09IE5PVElGWV9TVE9QKQotCQlyZXR1cm47IAorCQlyZXR1cm47CiAKIAkvKiBBSzogZm9sbG93aW5nIGNoZWNrcyBzZWVtIHRvIGJlIGJyb2tlbiBvbiBtb2Rlcm4gY2hpcHNldHMuIEZJWE1FICovCi0KIAlpZiAocmVhc29uICYgMHg4MCkKIAkJbWVtX3Bhcml0eV9lcnJvcihyZWFzb24sIHJlZ3MpOwogCWlmIChyZWFzb24gJiAweDQwKQogCQlpb19jaGVja19lcnJvcihyZWFzb24sIHJlZ3MpOwogfQogCithc21saW5rYWdlIG5vdHJhY2UgX19rcHJvYmVzIHZvaWQKK2RvX25taShzdHJ1Y3QgcHRfcmVncyAqcmVncywgbG9uZyBlcnJvcl9jb2RlKQoreworCW5taV9lbnRlcigpOworCisJYWRkX3BkYShfX25taV9jb3VudCwgMSk7CisKKwlpZiAoIWlnbm9yZV9ubWlzKQorCQlkZWZhdWx0X2RvX25taShyZWdzKTsKKworCW5taV9leGl0KCk7Cit9CisKK3ZvaWQgc3RvcF9ubWkodm9pZCkKK3sKKwlhY3BpX25taV9kaXNhYmxlKCk7CisJaWdub3JlX25taXMrKzsKK30KKwordm9pZCByZXN0YXJ0X25taSh2b2lkKQoreworCWlnbm9yZV9ubWlzLS07CisJYWNwaV9ubWlfZW5hYmxlKCk7Cit9CisKIC8qIHJ1bnMgb24gSVNUIHN0YWNrLiAqLwotYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdzICogcmVncywgbG9uZyBlcnJvcl9jb2RlKQorYXNtbGlua2FnZSB2b2lkIF9fa3Byb2JlcyBkb19pbnQzKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIGVycm9yX2NvZGUpCiB7CiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsKIAotCWlmIChub3RpZnlfZGllKERJRV9JTlQzLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIDMsIFNJR1RSQVApID09IE5PVElGWV9TVE9QKSB7CisJaWYgKG5vdGlmeV9kaWUoRElFX0lOVDMsICJpbnQzIiwgcmVncywgZXJyb3JfY29kZSwgMywgU0lHVFJBUCkKKwkJCT09IE5PVElGWV9TVE9QKQogCQlyZXR1cm47Ci0JfQorCiAJcHJlZW1wdF9jb25kaXRpb25hbF9zdGkocmVncyk7CiAJZG9fdHJhcCgzLCBTSUdUUkFQLCAiaW50MyIsIHJlZ3MsIGVycm9yX2NvZGUsIE5VTEwpOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOwpAQCAtOTAzLDggKzkwNiw4IEBACiBhc21saW5rYWdlIHZvaWQgX19rcHJvYmVzIGRvX2RlYnVnKHN0cnVjdCBwdF9yZWdzICogcmVncywKIAkJCQkgICB1bnNpZ25lZCBsb25nIGVycm9yX2NvZGUpCiB7Ci0JdW5zaWduZWQgbG9uZyBjb25kaXRpb247CiAJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXVuc2lnbmVkIGxvbmcgY29uZGl0aW9uOwogCXNpZ2luZm9fdCBpbmZvOwogCiAJdHJhY2VfaGFyZGlycXNfZml4dXAoKTsKQEAgLTkyNSwyMSArOTI4LDE5IEBACiAKIAkvKiBNYXNrIG91dCBzcHVyaW91cyBkZWJ1ZyB0cmFwcyBkdWUgdG8gbGF6eSBEUjcgc2V0dGluZyAqLwogCWlmIChjb25kaXRpb24gJiAoRFJfVFJBUDB8RFJfVFJBUDF8RFJfVFJBUDJ8RFJfVFJBUDMpKSB7Ci0JCWlmICghdHNrLT50aHJlYWQuZGVidWdyZWc3KSB7IAorCQlpZiAoIXRzay0+dGhyZWFkLmRlYnVncmVnNykKIAkJCWdvdG8gY2xlYXJfZHI3OwotCQl9CiAJfQogCiAJdHNrLT50aHJlYWQuZGVidWdyZWc2ID0gY29uZGl0aW9uOwogCi0KIAkvKgogCSAqIFNpbmdsZS1zdGVwcGluZyB0aHJvdWdoIFRGOiBtYWtlIHN1cmUgd2UgaWdub3JlIGFueSBldmVudHMgaW4KIAkgKiBrZXJuZWwgc3BhY2UgKGJ1dCByZS1lbmFibGUgVEYgd2hlbiByZXR1cm5pbmcgdG8gdXNlciBtb2RlKS4KIAkgKi8KIAlpZiAoY29uZGl0aW9uICYgRFJfU1RFUCkgewotICAgICAgICAgICAgICAgIGlmICghdXNlcl9tb2RlKHJlZ3MpKQotICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGNsZWFyX1RGX3JlZW5hYmxlOworCQlpZiAoIXVzZXJfbW9kZShyZWdzKSkKKwkJCWdvdG8gY2xlYXJfVEZfcmVlbmFibGU7CiAJfQogCiAJLyogT2ssIGZpbmFsbHkgc29tZXRoaW5nIHdlIGNhbiBoYW5kbGUgKi8KQEAgLTk1Miw3ICs5NTMsNyBAQAogCWZvcmNlX3NpZ19pbmZvKFNJR1RSQVAsICZpbmZvLCB0c2spOwogCiBjbGVhcl9kcjc6Ci0Jc2V0X2RlYnVncmVnKDBVTCwgNyk7CisJc2V0X2RlYnVncmVnKDAsIDcpOwogCXByZWVtcHRfY29uZGl0aW9uYWxfY2xpKHJlZ3MpOwogCXJldHVybjsKIApAQCAtOTYwLDYgKzk2MSw3IEBACiAJc2V0X3Rza190aHJlYWRfZmxhZyh0c2ssIFRJRl9TSU5HTEVTVEVQKTsKIAlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKIAlwcmVlbXB0X2NvbmRpdGlvbmFsX2NsaShyZWdzKTsKKwlyZXR1cm47CiB9CiAKIHN0YXRpYyBpbnQga2VybmVsX21hdGhfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGNvbnN0IGNoYXIgKnN0ciwgaW50IHRyYXBucikKQEAgLTk4Miw3ICs5ODQsNyBAQAogYXNtbGlua2FnZSB2b2lkIGRvX2NvcHJvY2Vzc29yX2Vycm9yKHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXZvaWQgX191c2VyICppcCA9ICh2b2lkIF9fdXNlciAqKShyZWdzLT5pcCk7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICogdGFzazsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2s7CiAJc2lnaW5mb190IGluZm87CiAJdW5zaWduZWQgc2hvcnQgY3dkLCBzd2Q7CiAKQEAgLTEwMTUsMzAgKzEwMTcsMzAgQEAKIAljd2QgPSBnZXRfZnB1X2N3ZCh0YXNrKTsKIAlzd2QgPSBnZXRfZnB1X3N3ZCh0YXNrKTsKIAlzd2l0Y2ggKHN3ZCAmIH5jd2QgJiAweDNmKSB7Ci0JCWNhc2UgMHgwMDA6Ci0JCWRlZmF1bHQ6Ci0JCQlicmVhazsKLQkJY2FzZSAweDAwMTogLyogSW52YWxpZCBPcCAqLwotCQkJLyoKLQkJCSAqIHN3ZCAmIDB4MjQwID09IDB4MDQwOiBTdGFjayBVbmRlcmZsb3cKLQkJCSAqIHN3ZCAmIDB4MjQwID09IDB4MjQwOiBTdGFjayBPdmVyZmxvdwotCQkJICogVXNlciBtdXN0IGNsZWFyIHRoZSBTRiBiaXQgKDB4NDApIGlmIHNldAotCQkJICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCi0JCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7Ci0JCQlicmVhazsKKwljYXNlIDB4MDAwOiAvKiBObyB1bm1hc2tlZCBleGNlcHRpb24gKi8KKwlkZWZhdWx0OiAvKiBNdWx0aXBsZSBleGNlcHRpb25zICovCisJCWJyZWFrOworCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KKwkJLyoKKwkJICogc3dkICYgMHgyNDAgPT0gMHgwNDA6IFN0YWNrIFVuZGVyZmxvdworCQkgKiBzd2QgJiAweDI0MCA9PSAweDI0MDogU3RhY2sgT3ZlcmZsb3cKKwkJICogVXNlciBtdXN0IGNsZWFyIHRoZSBTRiBiaXQgKDB4NDApIGlmIHNldAorCQkgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KKwljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKKwkJYnJlYWs7CisJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKKwkJYnJlYWs7CisJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7CisJCWJyZWFrOwogCX0KIAlmb3JjZV9zaWdfaW5mbyhTSUdGUEUsICZpbmZvLCB0YXNrKTsKIH0KQEAgLTEwNTEsNyArMTA1Myw3IEBACiBhc21saW5rYWdlIHZvaWQgZG9fc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcihzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAl2b2lkIF9fdXNlciAqaXAgPSAodm9pZCBfX3VzZXIgKikocmVncy0+aXApOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqIHRhc2s7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrOwogCXNpZ2luZm9fdCBpbmZvOwogCXVuc2lnbmVkIHNob3J0IG14Y3NyOwogCkBAIC0xMDc5LDI1ICsxMDgxLDI1IEBACiAJICovCiAJbXhjc3IgPSBnZXRfZnB1X214Y3NyKHRhc2spOwogCXN3aXRjaCAofigobXhjc3IgJiAweDFmODApID4+IDcpICYgKG14Y3NyICYgMHgzZikpIHsKLQkJY2FzZSAweDAwMDoKLQkJZGVmYXVsdDoKLQkJCWJyZWFrOwotCQljYXNlIDB4MDAxOiAvKiBJbnZhbGlkIE9wICovCi0JCQlpbmZvLnNpX2NvZGUgPSBGUEVfRkxUSU5WOwotCQkJYnJlYWs7Ci0JCWNhc2UgMHgwMDI6IC8qIERlbm9ybWFsaXplICovCi0JCWNhc2UgMHgwMTA6IC8qIFVuZGVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA0OiAvKiBaZXJvIERpdmlkZSAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDA4OiAvKiBPdmVyZmxvdyAqLwotCQkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKLQkJCWJyZWFrOwotCQljYXNlIDB4MDIwOiAvKiBQcmVjaXNpb24gKi8KLQkJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7Ci0JCQlicmVhazsKKwljYXNlIDB4MDAwOgorCWRlZmF1bHQ6CisJCWJyZWFrOworCWNhc2UgMHgwMDE6IC8qIEludmFsaWQgT3AgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVElOVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwMjogLyogRGVub3JtYWxpemUgKi8KKwljYXNlIDB4MDEwOiAvKiBVbmRlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVFVORDsKKwkJYnJlYWs7CisJY2FzZSAweDAwNDogLyogWmVybyBEaXZpZGUgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVERJVjsKKwkJYnJlYWs7CisJY2FzZSAweDAwODogLyogT3ZlcmZsb3cgKi8KKwkJaW5mby5zaV9jb2RlID0gRlBFX0ZMVE9WRjsKKwkJYnJlYWs7CisJY2FzZSAweDAyMDogLyogUHJlY2lzaW9uICovCisJCWluZm8uc2lfY29kZSA9IEZQRV9GTFRSRVM7CisJCWJyZWFrOwogCX0KIAlmb3JjZV9zaWdfaW5mbyhTSUdGUEUsICZpbmZvLCB0YXNrKTsKIH0KQEAgLTExMTUsNyArMTExNyw3IEBACiB9CiAKIC8qCi0gKiAgJ21hdGhfc3RhdGVfcmVzdG9yZSgpJyBzYXZlcyB0aGUgY3VycmVudCBtYXRoIGluZm9ybWF0aW9uIGluIHRoZQorICogJ21hdGhfc3RhdGVfcmVzdG9yZSgpJyBzYXZlcyB0aGUgY3VycmVudCBtYXRoIGluZm9ybWF0aW9uIGluIHRoZQogICogb2xkIG1hdGggc3RhdGUgYXJyYXksIGFuZCBnZXRzIHRoZSBuZXcgb25lcyBmcm9tIHRoZSBjdXJyZW50IHRhc2sKICAqCiAgKiBDYXJlZnVsLi4gVGhlcmUgYXJlIHByb2JsZW1zIHdpdGggSUJNLWRlc2lnbmVkIElSUTEzIGJlaGF2aW91ci4KQEAgLTExNDAsNyArMTE0Miw3IEBACiAJCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJfQogCi0JY2x0cygpOwkJCS8qIEFsbG93IG1hdGhzIG9wcyAob3Igd2UgcmVjdXJzZSkgKi8KKwljbHRzKCk7CQkJCS8qIEFsbG93IG1hdGhzIG9wcyAob3Igd2UgcmVjdXJzZSkgKi8KIAlyZXN0b3JlX2ZwdV9jaGVja2luZygmbWUtPnRocmVhZC54c3RhdGUtPmZ4c2F2ZSk7CiAJdGFza190aHJlYWRfaW5mbyhtZSktPnN0YXR1cyB8PSBUU19VU0VERlBVOwogCW1lLT5mcHVfY291bnRlcisrOwpAQCAtMTE0OSw2NCArMTE1MSw2MSBAQAogCiB2b2lkIF9faW5pdCB0cmFwX2luaXQodm9pZCkKIHsKLQlzZXRfaW50cl9nYXRlKDAsJmRpdmlkZV9lcnJvcik7Ci0Jc2V0X2ludHJfZ2F0ZV9pc3QoMSwmZGVidWcsREVCVUdfU1RBQ0spOwotCXNldF9pbnRyX2dhdGVfaXN0KDIsJm5taSxOTUlfU1RBQ0spOwotIAlzZXRfc3lzdGVtX2dhdGVfaXN0KDMsJmludDMsREVCVUdfU1RBQ0spOyAvKiBpbnQzIGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfc3lzdGVtX2dhdGUoNCwmb3ZlcmZsb3cpOwkvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KLQlzZXRfaW50cl9nYXRlKDUsJmJvdW5kcyk7Ci0Jc2V0X2ludHJfZ2F0ZSg2LCZpbnZhbGlkX29wKTsKLQlzZXRfaW50cl9nYXRlKDcsJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKLQlzZXRfaW50cl9nYXRlX2lzdCg4LCZkb3VibGVfZmF1bHQsIERPVUJMRUZBVUxUX1NUQUNLKTsKLQlzZXRfaW50cl9nYXRlKDksJmNvcHJvY2Vzc29yX3NlZ21lbnRfb3ZlcnJ1bik7Ci0Jc2V0X2ludHJfZ2F0ZSgxMCwmaW52YWxpZF9UU1MpOwotCXNldF9pbnRyX2dhdGUoMTEsJnNlZ21lbnRfbm90X3ByZXNlbnQpOwotCXNldF9pbnRyX2dhdGVfaXN0KDEyLCZzdGFja19zZWdtZW50LFNUQUNLRkFVTFRfU1RBQ0spOwotCXNldF9pbnRyX2dhdGUoMTMsJmdlbmVyYWxfcHJvdGVjdGlvbik7Ci0Jc2V0X2ludHJfZ2F0ZSgxNCwmcGFnZV9mYXVsdCk7Ci0Jc2V0X2ludHJfZ2F0ZSgxNSwmc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyk7Ci0Jc2V0X2ludHJfZ2F0ZSgxNiwmY29wcm9jZXNzb3JfZXJyb3IpOwotCXNldF9pbnRyX2dhdGUoMTcsJmFsaWdubWVudF9jaGVjayk7CisJc2V0X2ludHJfZ2F0ZSgwLCAmZGl2aWRlX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlX2lzdCgxLCAmZGVidWcsIERFQlVHX1NUQUNLKTsKKwlzZXRfaW50cl9nYXRlX2lzdCgyLCAmbm1pLCBOTUlfU1RBQ0spOworIAlzZXRfc3lzdGVtX2dhdGVfaXN0KDMsICZpbnQzLCBERUJVR19TVEFDSyk7IC8qIGludDMgY2FuIGJlIGNhbGxlZCBmcm9tIGFsbCAqLworCXNldF9zeXN0ZW1fZ2F0ZSg0LCAmb3ZlcmZsb3cpOyAvKiBpbnQ0IGNhbiBiZSBjYWxsZWQgZnJvbSBhbGwgKi8KKwlzZXRfaW50cl9nYXRlKDUsICZib3VuZHMpOworCXNldF9pbnRyX2dhdGUoNiwgJmludmFsaWRfb3ApOworCXNldF9pbnRyX2dhdGUoNywgJmRldmljZV9ub3RfYXZhaWxhYmxlKTsKKwlzZXRfaW50cl9nYXRlX2lzdCg4LCAmZG91YmxlX2ZhdWx0LCBET1VCTEVGQVVMVF9TVEFDSyk7CisJc2V0X2ludHJfZ2F0ZSg5LCAmY29wcm9jZXNzb3Jfc2VnbWVudF9vdmVycnVuKTsKKwlzZXRfaW50cl9nYXRlKDEwLCAmaW52YWxpZF9UU1MpOworCXNldF9pbnRyX2dhdGUoMTEsICZzZWdtZW50X25vdF9wcmVzZW50KTsKKwlzZXRfaW50cl9nYXRlX2lzdCgxMiwgJnN0YWNrX3NlZ21lbnQsIFNUQUNLRkFVTFRfU1RBQ0spOworCXNldF9pbnRyX2dhdGUoMTMsICZnZW5lcmFsX3Byb3RlY3Rpb24pOworCXNldF9pbnRyX2dhdGUoMTQsICZwYWdlX2ZhdWx0KTsKKwlzZXRfaW50cl9nYXRlKDE1LCAmc3B1cmlvdXNfaW50ZXJydXB0X2J1Zyk7CisJc2V0X2ludHJfZ2F0ZSgxNiwgJmNvcHJvY2Vzc29yX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDE3LCAmYWxpZ25tZW50X2NoZWNrKTsKICNpZmRlZiBDT05GSUdfWDg2X01DRQotCXNldF9pbnRyX2dhdGVfaXN0KDE4LCZtYWNoaW5lX2NoZWNrLCBNQ0VfU1RBQ0spOyAKKwlzZXRfaW50cl9nYXRlX2lzdCgxOCwgJm1hY2hpbmVfY2hlY2ssIE1DRV9TVEFDSyk7CiAjZW5kaWYKLQlzZXRfaW50cl9nYXRlKDE5LCZzaW1kX2NvcHJvY2Vzc29yX2Vycm9yKTsKKwlzZXRfaW50cl9nYXRlKDE5LCAmc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcik7CiAKICNpZmRlZiBDT05GSUdfSUEzMl9FTVVMQVRJT04KIAlzZXRfc3lzdGVtX2dhdGUoSUEzMl9TWVNDQUxMX1ZFQ1RPUiwgaWEzMl9zeXNjYWxsKTsKICNlbmRpZgotICAgICAgIAogCS8qCiAJICogaW5pdGlhbGl6ZSB0aGUgcGVyIHRocmVhZCBleHRlbmRlZCBzdGF0ZToKIAkgKi8KLSAgICAgICAgaW5pdF90aHJlYWRfeHN0YXRlKCk7CisJaW5pdF90aHJlYWRfeHN0YXRlKCk7CiAJLyoKLQkgKiBTaG91bGQgYmUgYSBiYXJyaWVyIGZvciBhbnkgZXh0ZXJuYWwgQ1BVIHN0YXRlLgorCSAqIFNob3VsZCBiZSBhIGJhcnJpZXIgZm9yIGFueSBleHRlcm5hbCBDUFUgc3RhdGU6CiAJICovCiAJY3B1X2luaXQoKTsKIH0KIAotCiBzdGF0aWMgaW50IF9faW5pdCBvb3BzX3NldHVwKGNoYXIgKnMpCi17IAorewogCWlmICghcykKIAkJcmV0dXJuIC1FSU5WQUw7CiAJaWYgKCFzdHJjbXAocywgInBhbmljIikpCiAJCXBhbmljX29uX29vcHMgPSAxOwogCXJldHVybiAwOwotfSAKK30KIGVhcmx5X3BhcmFtKCJvb3BzIiwgb29wc19zZXR1cCk7CiAKIHN0YXRpYyBpbnQgX19pbml0IGtzdGFja19zZXR1cChjaGFyICpzKQogewogCWlmICghcykKIAkJcmV0dXJuIC1FSU5WQUw7Ci0Ja3N0YWNrX2RlcHRoX3RvX3ByaW50ID0gc2ltcGxlX3N0cnRvdWwocyxOVUxMLDApOworCWtzdGFja19kZXB0aF90b19wcmludCA9IHNpbXBsZV9zdHJ0b3VsKHMsIE5VTEwsIDApOwogCXJldHVybiAwOwogfQogZWFybHlfcGFyYW0oImtzdGFjayIsIGtzdGFja19zZXR1cCk7CiAKLQogc3RhdGljIGludCBfX2luaXQgY29kZV9ieXRlc19zZXR1cChjaGFyICpzKQogewogCWNvZGVfYnl0ZXMgPSBzaW1wbGVfc3RydG91bChzLCBOVUxMLCAwKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC90c2MuYyBiL2FyY2gveDg2L2tlcm5lbC90c2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzM2ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYva2VybmVsL3RzYy5jCkBAIC0wLDAgKzEsNTMzIEBACisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpX3BtdG1yLmg+CisjaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKworI2luY2x1ZGUgPGFzbS9ocGV0Lmg+CisjaW5jbHVkZSA8YXNtL3RpbWVyLmg+CisjaW5jbHVkZSA8YXNtL3ZndG9kLmg+CisjaW5jbHVkZSA8YXNtL3RpbWUuaD4KKyNpbmNsdWRlIDxhc20vZGVsYXkuaD4KKwordW5zaWduZWQgaW50IGNwdV9raHo7ICAgICAgICAgICAvKiBUU0MgY2xvY2tzIC8gdXNlYywgbm90IHVzZWQgaGVyZSAqLworRVhQT1JUX1NZTUJPTChjcHVfa2h6KTsKK3Vuc2lnbmVkIGludCB0c2Nfa2h6OworRVhQT1JUX1NZTUJPTCh0c2Nfa2h6KTsKKworLyoKKyAqIFRTQyBjYW4gYmUgdW5zdGFibGUgZHVlIHRvIGNwdWZyZXEgb3IgZHVlIHRvIHVuc3luY2VkIFRTQ3MKKyAqLworc3RhdGljIGludCB0c2NfdW5zdGFibGU7CisKKy8qIG5hdGl2ZV9zY2hlZF9jbG9jaygpIGlzIGNhbGxlZCBiZWZvcmUgdHNjX2luaXQoKSwgc28KKyAgIHdlIG11c3Qgc3RhcnQgd2l0aCB0aGUgVFNDIHNvZnQgZGlzYWJsZWQgdG8gcHJldmVudAorICAgZXJyb25lb3VzIHJkdHNjIHVzYWdlIG9uICFjcHVfaGFzX3RzYyBwcm9jZXNzb3JzICovCitzdGF0aWMgaW50IHRzY19kaXNhYmxlZCA9IC0xOworCisvKgorICogU2NoZWR1bGVyIGNsb2NrIC0gcmV0dXJucyBjdXJyZW50IHRpbWUgaW4gbmFub3NlYyB1bml0cy4KKyAqLwordTY0IG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQoreworCXU2NCB0aGlzX29mZnNldDsKKworCS8qCisJICogRmFsbCBiYWNrIHRvIGppZmZpZXMgaWYgdGhlcmUncyBubyBUU0MgYXZhaWxhYmxlOgorCSAqICggQnV0IG5vdGUgdGhhdCB3ZSBzdGlsbCB1c2UgaXQgaWYgdGhlIFRTQyBpcyBtYXJrZWQKKwkgKiAgIHVuc3RhYmxlLiBXZSBkbyB0aGlzIGJlY2F1c2UgdW5saWtlIFRpbWUgT2YgRGF5LAorCSAqICAgdGhlIHNjaGVkdWxlciBjbG9jayB0b2xlcmF0ZXMgc21hbGwgZXJyb3JzIGFuZCBpdCdzCisJICogICB2ZXJ5IGltcG9ydGFudCBmb3IgaXQgdG8gYmUgYXMgZmFzdCBhcyB0aGUgcGxhdGZvcm0KKwkgKiAgIGNhbiBhY2hpdmUgaXQuICkKKwkgKi8KKwlpZiAodW5saWtlbHkodHNjX2Rpc2FibGVkKSkgeworCQkvKiBObyBsb2NraW5nIGJ1dCBhIHJhcmUgd3JvbmcgdmFsdWUgaXMgbm90IGEgYmlnIGRlYWw6ICovCisJCXJldHVybiAoamlmZmllc182NCAtIElOSVRJQUxfSklGRklFUykgKiAoMTAwMDAwMDAwMCAvIEhaKTsKKwl9CisKKwkvKiByZWFkIHRoZSBUaW1lIFN0YW1wIENvdW50ZXI6ICovCisJcmR0c2NsbCh0aGlzX29mZnNldCk7CisKKwkvKiByZXR1cm4gdGhlIHZhbHVlIGluIG5zICovCisJcmV0dXJuIGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0KTsKK30KKworLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCisgICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLworI2lmZGVmIENPTkZJR19QQVJBVklSVAordW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCit7CisJcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Cit9CisjZWxzZQordW5zaWduZWQgbG9uZyBsb25nCitzY2hlZF9jbG9jayh2b2lkKSBfX2F0dHJpYnV0ZV9fKChhbGlhcygibmF0aXZlX3NjaGVkX2Nsb2NrIikpKTsKKyNlbmRpZgorCitpbnQgY2hlY2tfdHNjX3Vuc3RhYmxlKHZvaWQpCit7CisJcmV0dXJuIHRzY191bnN0YWJsZTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNoZWNrX3RzY191bnN0YWJsZSk7CisKKyNpZmRlZiBDT05GSUdfWDg2X1RTQworaW50IF9faW5pdCBub3RzY19zZXR1cChjaGFyICpzdHIpCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAibm90c2M6IEtlcm5lbCBjb21waWxlZCB3aXRoIENPTkZJR19YODZfVFNDLCAiCisJCQkiY2Fubm90IGRpc2FibGUgVFNDIGNvbXBsZXRlbHkuXG4iKTsKKwl0c2NfZGlzYWJsZWQgPSAxOworCXJldHVybiAxOworfQorI2Vsc2UKKy8qCisgKiBkaXNhYmxlIGZsYWcgZm9yIHRzYy4gVGFrZXMgZWZmZWN0IGJ5IGNsZWFyaW5nIHRoZSBUU0MgY3B1IGZsYWcKKyAqIGluIGNwdS9jb21tb24uYworICovCitpbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnN0cikKK3sKKwlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7CisJcmV0dXJuIDE7Cit9CisjZW5kaWYKKworX19zZXR1cCgibm90c2MiLCBub3RzY19zZXR1cCk7CisKKyNkZWZpbmUgTUFYX1JFVFJJRVMgICAgIDUKKyNkZWZpbmUgU01JX1RSRVNIT0xEICAgIDUwMDAwCisKKy8qCisgKiBSZWFkIFRTQyBhbmQgdGhlIHJlZmVyZW5jZSBjb3VudGVycy4gVGFrZSBjYXJlIG9mIFNNSSBkaXN0dXJiYW5jZQorICovCitzdGF0aWMgdTY0IF9faW5pdCB0c2NfcmVhZF9yZWZzKHU2NCAqcG0sIHU2NCAqaHBldCkKK3sKKwl1NjQgdDEsIHQyOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IE1BWF9SRVRSSUVTOyBpKyspIHsKKwkJdDEgPSBnZXRfY3ljbGVzKCk7CisJCWlmIChocGV0KQorCQkJKmhwZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUikgJiAweEZGRkZGRkZGOworCQllbHNlCisJCQkqcG0gPSBhY3BpX3BtX3JlYWRfZWFybHkoKTsKKwkJdDIgPSBnZXRfY3ljbGVzKCk7CisJCWlmICgodDIgLSB0MSkgPCBTTUlfVFJFU0hPTEQpCisJCQlyZXR1cm4gdDI7CisJfQorCXJldHVybiBVTExPTkdfTUFYOworfQorCisvKioKKyAqIG5hdGl2ZV9jYWxpYnJhdGVfdHNjIC0gY2FsaWJyYXRlIHRoZSB0c2Mgb24gYm9vdAorICovCit1bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxpYnJhdGVfdHNjKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1NjQgdHNjMSwgdHNjMiwgdHIxLCB0cjIsIGRlbHRhLCBwbTEsIHBtMiwgaHBldDEsIGhwZXQyOworCWludCBocGV0ID0gaXNfaHBldF9lbmFibGVkKCk7CisJdW5zaWduZWQgaW50IHRzY19raHpfdmFsID0gMDsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKworCXRzYzEgPSB0c2NfcmVhZF9yZWZzKCZwbTEsIGhwZXQgPyAmaHBldDEgOiBOVUxMKTsKKworCW91dGIoKGluYigweDYxKSAmIH4weDAyKSB8IDB4MDEsIDB4NjEpOworCisJb3V0YigweGIwLCAweDQzKTsKKwlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgJiAweGZmLCAweDQyKTsKKwlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgPj4gOCwgMHg0Mik7CisJdHIxID0gZ2V0X2N5Y2xlcygpOworCXdoaWxlICgoaW5iKDB4NjEpICYgMHgyMCkgPT0gMCk7CisJdHIyID0gZ2V0X2N5Y2xlcygpOworCisJdHNjMiA9IHRzY19yZWFkX3JlZnMoJnBtMiwgaHBldCA/ICZocGV0MiA6IE5VTEwpOworCisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJLyoKKwkgKiBQcmVzZXQgdGhlIHJlc3VsdCB3aXRoIHRoZSByYXcgYW5kIGluYWNjdXJhdGUgUElUCisJICogY2FsaWJyYXRpb24gdmFsdWUKKwkgKi8KKwlkZWx0YSA9ICh0cjIgLSB0cjEpOworCWRvX2RpdihkZWx0YSwgNTApOworCXRzY19raHpfdmFsID0gZGVsdGE7CisKKwkvKiBocGV0IG9yIHBtdGltZXIgYXZhaWxhYmxlID8gKi8KKwlpZiAoIWhwZXQgJiYgIXBtMSAmJiAhcG0yKSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUElUXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogQ2hlY2ssIHdoZXRoZXIgdGhlIHNhbXBsaW5nIHdhcyBkaXN0dXJiZWQgYnkgYW4gU01JICovCisJaWYgKHRzYzEgPT0gVUxMT05HX01BWCB8fCB0c2MyID09IFVMTE9OR19NQVgpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiVFNDIGNhbGlicmF0aW9uIGRpc3R1cmJlZCBieSBTTUksICIKKwkJCQkidXNpbmcgUElUIGNhbGlicmF0aW9uIHJlc3VsdFxuIik7CisJCWdvdG8gb3V0OworCX0KKworCXRzYzIgPSAodHNjMiAtIHRzYzEpICogMTAwMDAwMExMOworCisJaWYgKGhwZXQpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBIUEVUXG4iKTsKKwkJaWYgKGhwZXQyIDwgaHBldDEpCisJCQlocGV0MiArPSAweDEwMDAwMDAwMFVMTDsKKwkJaHBldDIgLT0gaHBldDE7CisJCXRzYzEgPSAoKHU2NClocGV0MiAqIGhwZXRfcmVhZGwoSFBFVF9QRVJJT0QpKTsKKwkJZG9fZGl2KHRzYzEsIDEwMDAwMDApOworCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgUE1fVElNRVJcbiIpOworCQlpZiAocG0yIDwgcG0xKQorCQkJcG0yICs9ICh1NjQpQUNQSV9QTV9PVlJSVU47CisJCXBtMiAtPSBwbTE7CisJCXRzYzEgPSBwbTIgKiAxMDAwMDAwMDAwTEw7CisJCWRvX2Rpdih0c2MxLCBQTVRNUl9USUNLU19QRVJfU0VDKTsKKwl9CisKKwlkb19kaXYodHNjMiwgdHNjMSk7CisJdHNjX2toel92YWwgPSB0c2MyOworCitvdXQ6CisJcmV0dXJuIHRzY19raHpfdmFsOworfQorCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisvKiBPbmx5IGNhbGxlZCBmcm9tIHRoZSBQb3dlcm5vdyBLNyBjcHUgZnJlcSBkcml2ZXIgKi8KK2ludCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpCit7CisjaWZuZGVmIENPTkZJR19TTVAKKwl1bnNpZ25lZCBsb25nIGNwdV9raHpfb2xkID0gY3B1X2toejsKKworCWlmIChjcHVfaGFzX3RzYykgeworCQl0c2Nfa2h6ID0gY2FsaWJyYXRlX3RzYygpOworCQljcHVfa2h6ID0gdHNjX2toejsKKwkJY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5ID0KKwkJCWNwdWZyZXFfc2NhbGUoY3B1X2RhdGEoMCkubG9vcHNfcGVyX2ppZmZ5LAorCQkJCQljcHVfa2h6X29sZCwgY3B1X2toeik7CisJCXJldHVybiAwOworCX0gZWxzZQorCQlyZXR1cm4gLUVOT0RFVjsKKyNlbHNlCisJcmV0dXJuIC1FTk9ERVY7CisjZW5kaWYKK30KKworRVhQT1JUX1NZTUJPTChyZWNhbGlicmF0ZV9jcHVfa2h6KTsKKworI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKworLyogQWNjZWxlcmF0b3JzIGZvciBzY2hlZF9jbG9jaygpCisgKiBjb252ZXJ0IGZyb20gY3ljbGVzKDY0Yml0cykgPT4gbmFub3NlY29uZHMgKDY0Yml0cykKKyAqICBiYXNpYyBlcXVhdGlvbjoKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAvIChmcmVxIC8gbnNfcGVyX3NlYykKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqIChuc19wZXJfc2VjIC8gZnJlcSkKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF45IC8gKGNwdV9raHogKiAxMF4zKSkKKyAqICAgICAgICAgICAgICBucyA9IGN5Y2xlcyAqICgxMF42IC8gY3B1X2toeikKKyAqCisgKiAgICAgIFRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6CisgKiAgICAgICAgICAgICAgbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQworICogICAgICAgICAgICAgIG5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKKyAqCisgKiAgICAgIEFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgorICogIGludG8gYSBzaGlmdC4KKyAqCisgKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKKyAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgorICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQorICoKKyAqICAgICAgICAgICAgICAgICAgICAgIC1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgorICovCisKK0RFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7CisKK3N0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7CisJdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKKworCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOworCisJcmR0c2NsbCh0c2Nfbm93KTsKKwluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOworCisJaWYgKGNwdV9raHopCisJCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7CisKKwlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKKwlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKKworLyogRnJlcXVlbmN5IHNjYWxpbmcgc3VwcG9ydC4gQWRqdXN0IHRoZSBUU0MgYmFzZWQgdGltZXIgd2hlbiB0aGUgY3B1IGZyZXF1ZW5jeQorICogY2hhbmdlcy4KKyAqCisgKiBSRUQtUEVOOiBPbiBTTVAgd2UgYXNzdW1lIGFsbCBDUFVzIHJ1biB3aXRoIHRoZSBzYW1lIGZyZXF1ZW5jeS4gIEl0J3MKKyAqIG5vdCB0aGF0IGltcG9ydGFudCBiZWNhdXNlIGN1cnJlbnQgT3B0ZXJvbiBzZXR1cHMgZG8gbm90IHN1cHBvcnQKKyAqIHNjYWxpbmcgb24gU01QIGFueXJvYWRzLgorICoKKyAqIFNob3VsZCBmaXggdXAgbGFzdF90c2MgdG9vLiBDdXJyZW50bHkgZ2V0dGltZW9mZGF5IGluIHRoZQorICogZmlyc3QgdGljayBhZnRlciB0aGUgY2hhbmdlIHdpbGwgYmUgc2xpZ2h0bHkgd3JvbmcuCisgKi8KKworc3RhdGljIHVuc2lnbmVkIGludCAgcmVmX2ZyZXE7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb29wc19wZXJfamlmZnlfcmVmOworc3RhdGljIHVuc2lnbmVkIGxvbmcgdHNjX2toel9yZWY7CisKK3N0YXRpYyBpbnQgdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLAorCQkJCXZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOworCXVuc2lnbmVkIGxvbmcgKmxwaiwgZHVtbXk7CisKKwlpZiAoY3B1X2hhcygmY3B1X2RhdGEoZnJlcS0+Y3B1KSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKKwkJcmV0dXJuIDA7CisKKwlscGogPSAmZHVtbXk7CisJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKKyNpZmRlZiBDT05GSUdfU01QCisJCWxwaiA9ICZjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKKyNlbHNlCisJbHBqID0gJmJvb3RfY3B1X2RhdGEubG9vcHNfcGVyX2ppZmZ5OworI2VuZGlmCisKKwlpZiAoIXJlZl9mcmVxKSB7CisJCXJlZl9mcmVxID0gZnJlcS0+b2xkOworCQlsb29wc19wZXJfamlmZnlfcmVmID0gKmxwajsKKwkJdHNjX2toel9yZWYgPSB0c2Nfa2h6OworCX0KKwlpZiAoKHZhbCA9PSBDUFVGUkVRX1BSRUNIQU5HRSAgJiYgZnJlcS0+b2xkIDwgZnJlcS0+bmV3KSB8fAorCQkJKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAorCQkJKHZhbCA9PSBDUFVGUkVRX1JFU1VNRUNIQU5HRSkpIHsKKwkJKmxwaiA9IAljcHVmcmVxX3NjYWxlKGxvb3BzX3Blcl9qaWZmeV9yZWYsIHJlZl9mcmVxLCBmcmVxLT5uZXcpOworCisJCXRzY19raHogPSBjcHVmcmVxX3NjYWxlKHRzY19raHpfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKKwkJaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKKwkJCW1hcmtfdHNjX3Vuc3RhYmxlKCJjcHVmcmVxIGNoYW5nZXMiKTsKKwl9CisKKwlzZXRfY3ljMm5zX3NjYWxlKHRzY19raHpfcmVmLCBmcmVxLT5jcHUpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0geworCS5ub3RpZmllcl9jYWxsICA9IHRpbWVfY3B1ZnJlcV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgY3B1ZnJlcV90c2Modm9pZCkKK3sKKwljcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCisJCQkJQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKKwlyZXR1cm4gMDsKK30KKworY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7CisKKyNlbmRpZiAvKiBDT05GSUdfQ1BVX0ZSRVEgKi8KKworLyogY2xvY2tzb3VyY2UgY29kZSAqLworCitzdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKKworLyoKKyAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKKyAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycC4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4gYQorICogdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKKyAqIHh0aW1lL3ZzeXNjYWxsX2d0b2QgbG9jayBhbmQgdGhlIG90aGVyIENQVSByZWFkcyBhIFRTQyB2YWx1ZSB3aGljaAorICogaXMgc21hbGxlciB0aGFuIHRoZSBjeWNsZV9sYXN0IHJlZmVyZW5jZSB2YWx1ZSBkdWUgdG8gYSBUU0Mgd2hpY2gKKyAqIGlzIHNsaWdodHkgYmVoaW5kLiBUaGlzIGRlbHRhIGlzIG5vd2hlcmUgZWxzZSBvYnNlcnZhYmxlLCBidXQgaW4KKyAqIHRoYXQgY2FzZSBpdCByZXN1bHRzIGluIGEgZm9yd2FyZCB0aW1lIGp1bXAgaW4gdGhlIHJhbmdlIG9mIGhvdXJzCisgKiBkdWUgdG8gdGhlIHVuc2lnbmVkIGRlbHRhIGNhbGN1bGF0aW9uIG9mIHRoZSB0aW1lIGtlZXBpbmcgY29yZQorICogY29kZSwgd2hpY2ggaXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgd3JhcHBpbmcgY2xvY2tzb3VyY2VzIGxpa2UgcG0KKyAqIHRpbWVyLgorICovCitzdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQoreworCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpZ2V0X2N5Y2xlcygpOworCisJcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/CisJCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OworfQorCitzdGF0aWMgY3ljbGVfdCBfX3ZzeXNjYWxsX2ZuIHZyZWFkX3RzYyh2b2lkKQoreworCWN5Y2xlX3QgcmV0ID0gKGN5Y2xlX3QpdmdldF9jeWNsZXMoKTsKKworCXJldHVybiByZXQgPj0gX192c3lzY2FsbF9ndG9kX2RhdGEuY2xvY2suY3ljbGVfbGFzdCA/CisJCXJldCA6IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3Q7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tzb3VyY2UgY2xvY2tzb3VyY2VfdHNjID0geworCS5uYW1lICAgICAgICAgICAgICAgICAgID0gInRzYyIsCisJLnJhdGluZyAgICAgICAgICAgICAgICAgPSAzMDAsCisJLnJlYWQgICAgICAgICAgICAgICAgICAgPSByZWFkX3RzYywKKwkubWFzayAgICAgICAgICAgICAgICAgICA9IENMT0NLU09VUkNFX01BU0soNjQpLAorCS5zaGlmdCAgICAgICAgICAgICAgICAgID0gMjIsCisJLmZsYWdzICAgICAgICAgICAgICAgICAgPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8CisJCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS52cmVhZCAgICAgICAgICAgICAgICAgID0gdnJlYWRfdHNjLAorI2VuZGlmCit9OworCit2b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKK3sKKwlpZiAoIXRzY191bnN0YWJsZSkgeworCQl0c2NfdW5zdGFibGUgPSAxOworCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0byAlc1xuIiwgcmVhc29uKTsKKwkJLyogQ2hhbmdlIG9ubHkgdGhlIHJhdGluZywgd2hlbiBub3QgcmVnaXN0ZXJlZCAqLworCQlpZiAoY2xvY2tzb3VyY2VfdHNjLm11bHQpCisJCQljbG9ja3NvdXJjZV9jaGFuZ2VfcmF0aW5nKCZjbG9ja3NvdXJjZV90c2MsIDApOworCQllbHNlCisJCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKKwl9Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKKworc3RhdGljIGludCBfX2luaXQgZG1pX21hcmtfdHNjX3Vuc3RhYmxlKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQoreworCXByaW50ayhLRVJOX05PVElDRSAiJXMgZGV0ZWN0ZWQ6IG1hcmtpbmcgVFNDIHVuc3RhYmxlLlxuIiwKKwkJCWQtPmlkZW50KTsKKwl0c2NfdW5zdGFibGUgPSAxOworCXJldHVybiAwOworfQorCisvKiBMaXN0IG9mIHN5c3RlbXMgdGhhdCBoYXZlIGtub3duIFRTQyBwcm9ibGVtcyAqLworc3RhdGljIHN0cnVjdCBkbWlfc3lzdGVtX2lkIF9faW5pdGRhdGEgYmFkX3RzY19kbWlfdGFibGVbXSA9IHsKKwl7CisJCS5jYWxsYmFjayA9IGRtaV9tYXJrX3RzY191bnN0YWJsZSwKKwkJLmlkZW50ID0gIklCTSBUaGlua3BhZCAzODBYRCIsCisJCS5tYXRjaGVzID0geworCQkJRE1JX01BVENIKERNSV9CT0FSRF9WRU5ET1IsICJJQk0iKSwKKwkJCURNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIjI2MzVGQTAiKSwKKwkJfSwKKwl9LAorCXt9Cit9OworCisvKgorICogR2VvZGVfTFggLSB0aGUgT0xQQyBDUFUgaGFzIGEgcG9zc2libHkgYSB2ZXJ5IHJlbGlhYmxlIFRTQworICovCisjaWZkZWYgQ09ORklHX01HRU9ERV9MWAorLyogUlRTQyBjb3VudHMgZHVyaW5nIHN1c3BlbmQgKi8KKyNkZWZpbmUgUlRTQ19TVVNQIDB4MTAwCisKK3N0YXRpYyB2b2lkIF9faW5pdCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkKK3sKKwl1bnNpZ25lZCBsb25nIHJlc19sb3csIHJlc19oaWdoOworCisJcmRtc3Jfc2FmZShNU1JfR0VPREVfQlVTQ09OVF9DT05GMCwgJnJlc19sb3csICZyZXNfaGlnaCk7CisJaWYgKHJlc19sb3cgJiBSVFNDX1NVU1ApCisJCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkgeyB9CisjZW5kaWYKKworLyoKKyAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCisgKiBvdmVyIGFsbCBDUFVzLgorICovCitfX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQoreworCWlmICghY3B1X2hhc190c2MgfHwgdHNjX3Vuc3RhYmxlKQorCQlyZXR1cm4gMTsKKworI2lmZGVmIENPTkZJR19TTVAKKwlpZiAoYXBpY19pc19jbHVzdGVyZWRfYm94KCkpCisJCXJldHVybiAxOworI2VuZGlmCisKKwlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCisJCXJldHVybiAwOworCS8qCisJICogSW50ZWwgc3lzdGVtcyBhcmUgbm9ybWFsbHkgYWxsIHN5bmNocm9uaXplZC4KKwkgKiBFeGNlcHRpb25zIG11c3QgbWFyayBUU0MgYXMgdW5zdGFibGU6CisJICovCisJaWYgKGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0lOVEVMKSB7CisJCS8qIGFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZDogKi8KKwkJaWYgKG51bV9wb3NzaWJsZV9jcHVzKCkgPiAxKQorCQkJdHNjX3Vuc3RhYmxlID0gMTsKKwl9CisKKwlyZXR1cm4gdHNjX3Vuc3RhYmxlOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF90c2NfY2xvY2tzb3VyY2Uodm9pZCkKK3sKKwljbG9ja3NvdXJjZV90c2MubXVsdCA9IGNsb2Nrc291cmNlX2toejJtdWx0KHRzY19raHosCisJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOworCS8qIGxvd2VyIHRoZSByYXRpbmcgaWYgd2UgYWxyZWFkeSBrbm93IGl0cyB1bnN0YWJsZTogKi8KKwlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpIHsKKwkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7CisJCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX0lTX0NPTlRJTlVPVVM7CisJfQorCWNsb2Nrc291cmNlX3JlZ2lzdGVyKCZjbG9ja3NvdXJjZV90c2MpOworfQorCit2b2lkIF9faW5pdCB0c2NfaW5pdCh2b2lkKQoreworCXU2NCBscGo7CisJaW50IGNwdTsKKworCWlmICghY3B1X2hhc190c2MpCisJCXJldHVybjsKKworCXRzY19raHogPSBjYWxpYnJhdGVfdHNjKCk7CisJY3B1X2toeiA9IHRzY19raHo7CisKKwlpZiAoIXRzY19raHopIHsKKwkJbWFya190c2NfdW5zdGFibGUoImNvdWxkIG5vdCBjYWxjdWxhdGUgVFNDIGtoeiIpOworCQlyZXR1cm47CisJfQorCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcHVfaGFzKCZib290X2NwdV9kYXRhLCBYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpICYmCisJCQkoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSkKKwkJY3B1X2toeiA9IGNhbGlicmF0ZV9jcHUoKTsKKyNlbmRpZgorCisJbHBqID0gKCh1NjQpdHNjX2toeiAqIDEwMDApOworCWRvX2RpdihscGosIEhaKTsKKwlscGpfZmluZSA9IGxwajsKKworCXByaW50aygiRGV0ZWN0ZWQgJWx1LiUwM2x1IE1IeiBwcm9jZXNzb3IuXG4iLAorCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAvIDEwMDAsCisJCQkodW5zaWduZWQgbG9uZyljcHVfa2h6ICUgMTAwMCk7CisKKwkvKgorCSAqIFNlY29uZGFyeSBDUFVzIGRvIG5vdCBydW4gdGhyb3VnaCB0c2NfaW5pdCgpLCBzbyBzZXQgdXAKKwkgKiBhbGwgdGhlIHNjYWxlIGZhY3RvcnMgZm9yIGFsbCBDUFVzLCBhc3N1bWluZyB0aGUgc2FtZQorCSAqIHNwZWVkIGFzIHRoZSBib290dXAgQ1BVLiAoY3B1ZnJlcSBub3RpZmllcnMgd2lsbCBmaXggdGhpcworCSAqIHVwIGlmIHRoZWlyIHNwZWVkIGRpdmVyZ2VzKQorCSAqLworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpCisJCXNldF9jeWMybnNfc2NhbGUoY3B1X2toeiwgY3B1KTsKKworCWlmICh0c2NfZGlzYWJsZWQgPiAwKQorCQlyZXR1cm47CisKKwkvKiBub3cgYWxsb3cgbmF0aXZlX3NjaGVkX2Nsb2NrKCkgdG8gdXNlIHJkdHNjICovCisJdHNjX2Rpc2FibGVkID0gMDsKKworCXVzZV90c2NfZGVsYXkoKTsKKwkvKiBDaGVjayBhbmQgaW5zdGFsbCB0aGUgVFNDIGNsb2Nrc291cmNlICovCisJZG1pX2NoZWNrX3N5c3RlbShiYWRfdHNjX2RtaV90YWJsZSk7CisKKwlpZiAodW5zeW5jaHJvbml6ZWRfdHNjKCkpCisJCW1hcmtfdHNjX3Vuc3RhYmxlKCJUU0NzIHVuc3luY2hyb25pemVkIik7CisKKwljaGVja19nZW9kZV90c2NfcmVsaWFibGUoKTsKKwlpbml0X3RzY19jbG9ja3NvdXJjZSgpOworfQorCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjXzMyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjcwNjMuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3RzY18zMi5jCisrKyAvZGV2L251bGwKQEAgLTEsNDUxICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2Nsb2Nrc291cmNlLmg+Ci0jaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgotI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZG1pLmg+Ci0jaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+Ci0KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vdHNjLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWVyLmg+Ci0KLSNpbmNsdWRlICJtYWNoX3RpbWVyLmgiCi0KLS8qIG5hdGl2ZV9zY2hlZF9jbG9jaygpIGlzIGNhbGxlZCBiZWZvcmUgdHNjX2luaXQoKSwgc28KLSAgIHdlIG11c3Qgc3RhcnQgd2l0aCB0aGUgVFNDIHNvZnQgZGlzYWJsZWQgdG8gcHJldmVudAotICAgZXJyb25lb3VzIHJkdHNjIHVzYWdlIG9uICFjcHVfaGFzX3RzYyBwcm9jZXNzb3JzICovCi1zdGF0aWMgaW50IHRzY19kaXNhYmxlZCA9IC0xOwotCi0vKgotICogT24gc29tZSBzeXN0ZW1zIHRoZSBUU0MgZnJlcXVlbmN5IGRvZXMgbm90Ci0gKiBjaGFuZ2Ugd2l0aCB0aGUgY3B1IGZyZXF1ZW5jeS4gU28gd2UgbmVlZAotICogYW4gZXh0cmEgdmFsdWUgdG8gc3RvcmUgdGhlIFRTQyBmcmVxCi0gKi8KLXVuc2lnbmVkIGludCB0c2Nfa2h6OwotRVhQT1JUX1NZTUJPTF9HUEwodHNjX2toeik7Ci0KLSNpZmRlZiBDT05GSUdfWDg2X1RTQwotc3RhdGljIGludCBfX2luaXQgdHNjX3NldHVwKGNoYXIgKnN0cikKLXsKLQlwcmludGsoS0VSTl9XQVJOSU5HICJub3RzYzogS2VybmVsIGNvbXBpbGVkIHdpdGggQ09ORklHX1g4Nl9UU0MsICIKLQkgICAgICAgImNhbm5vdCBkaXNhYmxlIFRTQyBjb21wbGV0ZWx5LlxuIik7Ci0JdHNjX2Rpc2FibGVkID0gMTsKLQlyZXR1cm4gMTsKLX0KLSNlbHNlCi0vKgotICogZGlzYWJsZSBmbGFnIGZvciB0c2MuIFRha2VzIGVmZmVjdCBieSBjbGVhcmluZyB0aGUgVFNDIGNwdSBmbGFnCi0gKiBpbiBjcHUvY29tbW9uLmMKLSAqLwotc3RhdGljIGludCBfX2luaXQgdHNjX3NldHVwKGNoYXIgKnN0cikKLXsKLQlzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX1RTQyk7Ci0JcmV0dXJuIDE7Ci19Ci0jZW5kaWYKLQotX19zZXR1cCgibm90c2MiLCB0c2Nfc2V0dXApOwotCi0vKgotICogY29kZSB0byBtYXJrIGFuZCBjaGVjayBpZiB0aGUgVFNDIGlzIHVuc3RhYmxlCi0gKiBkdWUgdG8gY3B1ZnJlcSBvciBkdWUgdG8gdW5zeW5jZWQgVFNDcwotICovCi1zdGF0aWMgaW50IHRzY191bnN0YWJsZTsKLQotaW50IGNoZWNrX3RzY191bnN0YWJsZSh2b2lkKQotewotCXJldHVybiB0c2NfdW5zdGFibGU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjaGVja190c2NfdW5zdGFibGUpOwotCi0vKiBBY2NlbGVyYXRvcnMgZm9yIHNjaGVkX2Nsb2NrKCkKLSAqIGNvbnZlcnQgZnJvbSBjeWNsZXMoNjRiaXRzKSA9PiBuYW5vc2Vjb25kcyAoNjRiaXRzKQotICogIGJhc2ljIGVxdWF0aW9uOgotICoJCW5zID0gY3ljbGVzIC8gKGZyZXEgLyBuc19wZXJfc2VjKQotICoJCW5zID0gY3ljbGVzICogKG5zX3Blcl9zZWMgLyBmcmVxKQotICoJCW5zID0gY3ljbGVzICogKDEwXjkgLyAoY3B1X2toeiAqIDEwXjMpKQotICoJCW5zID0gY3ljbGVzICogKDEwXjYgLyBjcHVfa2h6KQotICoKLSAqCVRoZW4gd2UgdXNlIHNjYWxpbmcgbWF0aCAoc3VnZ2VzdGVkIGJ5IGdlb3JnZUBtdmlzdGEuY29tKSB0byBnZXQ6Ci0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAqIFNDIC8gY3B1X2toeikgLyBTQwotICoJCW5zID0gY3ljbGVzICogY3ljMm5zX3NjYWxlIC8gU0MKLSAqCi0gKglBbmQgc2luY2UgU0MgaXMgYSBjb25zdGFudCBwb3dlciBvZiB0d28sIHdlIGNhbiBjb252ZXJ0IHRoZSBkaXYKLSAqICBpbnRvIGEgc2hpZnQuCi0gKgotICogIFdlIGNhbiB1c2Uga2h6IGRpdmlzb3IgaW5zdGVhZCBvZiBtaHogdG8ga2VlcCBhIGJldHRlciBwcmVjaXNpb24sIHNpbmNlCi0gKiAgY3ljMm5zX3NjYWxlIGlzIGxpbWl0ZWQgdG8gMTBeNiAqIDJeMTAsIHdoaWNoIGZpdHMgaW4gMzIgYml0cy4KLSAqICAobWF0aGlldS5kZXNub3llcnNAcG9seW10bC5jYSkKLSAqCi0gKgkJCS1qb2huc3R1bEB1cy5pYm0uY29tICJtYXRoIGlzIGhhcmQsIGxldHMgZ28gc2hvcHBpbmchIgotICovCi0KLURFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7Ci0KLXN0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKLQotCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOwotCi0JcmR0c2NsbCh0c2Nfbm93KTsKLQluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOwotCi0JaWYgKGNwdV9raHopCi0JCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7Ci0KLQkvKgotCSAqIFN0YXJ0IHNtb290aGx5IHdpdGggdGhlIG5ldyBmcmVxdWVuY3k6Ci0JICovCi0Jc2NoZWRfY2xvY2tfaWRsZV93YWtldXBfZXZlbnQoMCk7Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotfQotCi0vKgotICogU2NoZWR1bGVyIGNsb2NrIC0gcmV0dXJucyBjdXJyZW50IHRpbWUgaW4gbmFub3NlYyB1bml0cy4KLSAqLwotdW5zaWduZWQgbG9uZyBsb25nIG5hdGl2ZV9zY2hlZF9jbG9jayh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0aGlzX29mZnNldDsKLQotCS8qCi0JICogRmFsbCBiYWNrIHRvIGppZmZpZXMgaWYgdGhlcmUncyBubyBUU0MgYXZhaWxhYmxlOgotCSAqICggQnV0IG5vdGUgdGhhdCB3ZSBzdGlsbCB1c2UgaXQgaWYgdGhlIFRTQyBpcyBtYXJrZWQKLQkgKiAgIHVuc3RhYmxlLiBXZSBkbyB0aGlzIGJlY2F1c2UgdW5saWtlIFRpbWUgT2YgRGF5LAotCSAqICAgdGhlIHNjaGVkdWxlciBjbG9jayB0b2xlcmF0ZXMgc21hbGwgZXJyb3JzIGFuZCBpdCdzCi0JICogICB2ZXJ5IGltcG9ydGFudCBmb3IgaXQgdG8gYmUgYXMgZmFzdCBhcyB0aGUgcGxhdGZvcm0KLQkgKiAgIGNhbiBhY2hpdmUgaXQuICkKLQkgKi8KLQlpZiAodW5saWtlbHkodHNjX2Rpc2FibGVkKSkKLQkJLyogTm8gbG9ja2luZyBidXQgYSByYXJlIHdyb25nIHZhbHVlIGlzIG5vdCBhIGJpZyBkZWFsOiAqLwotCQlyZXR1cm4gKGppZmZpZXNfNjQgLSBJTklUSUFMX0pJRkZJRVMpICogKDEwMDAwMDAwMDAgLyBIWik7Ci0KLQkvKiByZWFkIHRoZSBUaW1lIFN0YW1wIENvdW50ZXI6ICovCi0JcmR0c2NsbCh0aGlzX29mZnNldCk7Ci0KLQkvKiByZXR1cm4gdGhlIHZhbHVlIGluIG5zICovCi0JcmV0dXJuIGN5Y2xlc18yX25zKHRoaXNfb2Zmc2V0KTsKLX0KLQotLyogV2UgbmVlZCB0byBkZWZpbmUgYSByZWFsIGZ1bmN0aW9uIGZvciBzY2hlZF9jbG9jaywgdG8gb3ZlcnJpZGUgdGhlCi0gICB3ZWFrIGRlZmF1bHQgdmVyc2lvbiAqLwotI2lmZGVmIENPTkZJR19QQVJBVklSVAotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi17Ci0JcmV0dXJuIHBhcmF2aXJ0X3NjaGVkX2Nsb2NrKCk7Ci19Ci0jZWxzZQotdW5zaWduZWQgbG9uZyBsb25nIHNjaGVkX2Nsb2NrKHZvaWQpCi0JX19hdHRyaWJ1dGVfXygoYWxpYXMoIm5hdGl2ZV9zY2hlZF9jbG9jayIpKSk7Ci0jZW5kaWYKLQotdW5zaWduZWQgbG9uZyBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHoodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsIGVuZDsKLQl1bnNpZ25lZCBsb25nIGNvdW50OwotCXU2NCBkZWx0YTY0ID0gKHU2NClVTExPTkdfTUFYOwotCWludCBpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0KLQkvKiBydW4gMyB0aW1lcyB0byBlbnN1cmUgdGhlIGNhY2hlIGlzIHdhcm0gYW5kIHRvIGdldCBhbiBhY2N1cmF0ZSByZWFkaW5nICovCi0JZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewotCQltYWNoX3ByZXBhcmVfY291bnRlcigpOwotCQlyZHRzY2xsKHN0YXJ0KTsKLQkJbWFjaF9jb3VudHVwKCZjb3VudCk7Ci0JCXJkdHNjbGwoZW5kKTsKLQotCQkvKgotCQkgKiBFcnJvcjogRUNUQ05FVkVSU0VUCi0JCSAqIFRoZSBDVEMgd2Fzbid0IHJlbGlhYmxlOiB3ZSBnb3QgYSBoaXQgb24gdGhlIHZlcnkgZmlyc3QgcmVhZCwKLQkJICogb3IgdGhlIENQVSB3YXMgc28gZmFzdC9zbG93IHRoYXQgdGhlIHF1b3RpZW50IHdvdWxkbid0IGZpdCBpbgotCQkgKiAzMiBiaXRzLi4KLQkJICovCi0JCWlmIChjb3VudCA8PSAxKQotCQkJY29udGludWU7Ci0KLQkJLyogY3B1IGZyZXEgdG9vIHNsb3c6ICovCi0JCWlmICgoZW5kIC0gc3RhcnQpIDw9IENBTElCUkFURV9USU1FX01TRUMpCi0JCQljb250aW51ZTsKLQotCQkvKgotCQkgKiBXZSB3YW50IHRoZSBtaW5pbXVtIHRpbWUgb2YgYWxsIHJ1bnMgaW4gY2FzZSBvbmUgb2YgdGhlbQotCQkgKiBpcyBpbmFjY3VyYXRlIGR1ZSB0byBTTUkgb3Igb3RoZXIgZGVsYXkKLQkJICovCi0JCWRlbHRhNjQgPSBtaW4oZGVsdGE2NCwgKGVuZCAtIHN0YXJ0KSk7Ci0JfQotCi0JLyogY3B1IGZyZXEgdG9vIGZhc3QgKG9yIGV2ZXJ5IHJ1biB3YXMgYmFkKTogKi8KLQlpZiAoZGVsdGE2NCA+ICgxVUxMPDwzMikpCi0JCWdvdG8gZXJyOwotCi0JZGVsdGE2NCArPSBDQUxJQlJBVEVfVElNRV9NU0VDLzI7IC8qIHJvdW5kIGZvciBkb19kaXYgKi8KLQlkb19kaXYoZGVsdGE2NCxDQUxJQlJBVEVfVElNRV9NU0VDKTsKLQotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQlyZXR1cm4gKHVuc2lnbmVkIGxvbmcpZGVsdGE2NDsKLWVycjoKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWludCByZWNhbGlicmF0ZV9jcHVfa2h6KHZvaWQpCi17Ci0jaWZuZGVmIENPTkZJR19TTVAKLQl1bnNpZ25lZCBsb25nIGNwdV9raHpfb2xkID0gY3B1X2toejsKLQotCWlmIChjcHVfaGFzX3RzYykgewotCQljcHVfa2h6ID0gY2FsY3VsYXRlX2NwdV9raHooKTsKLQkJdHNjX2toeiA9IGNwdV9raHo7Ci0JCWNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSA9Ci0JCQljcHVmcmVxX3NjYWxlKGNwdV9kYXRhKDApLmxvb3BzX3Blcl9qaWZmeSwKLQkJCQkJY3B1X2toel9vbGQsIGNwdV9raHopOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UKLQkJcmV0dXJuIC1FTk9ERVY7Ci0jZWxzZQotCXJldHVybiAtRU5PREVWOwotI2VuZGlmCi19Ci0KLUVYUE9SVF9TWU1CT0wocmVjYWxpYnJhdGVfY3B1X2toeik7Ci0KLSNpZmRlZiBDT05GSUdfQ1BVX0ZSRVEKLQotLyoKLSAqIGlmIHRoZSBDUFUgZnJlcXVlbmN5IGlzIHNjYWxlZCwgVFNDLWJhc2VkIGRlbGF5cyB3aWxsIG5lZWQgYSBkaWZmZXJlbnQKLSAqIGxvb3BzX3Blcl9qaWZmeSB2YWx1ZSB0byBmdW5jdGlvbiBwcm9wZXJseS4KLSAqLwotc3RhdGljIHVuc2lnbmVkIGludCByZWZfZnJlcTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfa2h6X3JlZjsKLQotc3RhdGljIGludAotdGltZV9jcHVmcmVxX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsIHVuc2lnbmVkIGxvbmcgdmFsLCB2b2lkICpkYXRhKQotewotCXN0cnVjdCBjcHVmcmVxX2ZyZXFzICpmcmVxID0gZGF0YTsKLQotCWlmICghcmVmX2ZyZXEpIHsKLQkJaWYgKCFmcmVxLT5vbGQpewotCQkJcmVmX2ZyZXEgPSBmcmVxLT5uZXc7Ci0JCQlyZXR1cm4gMDsKLQkJfQotCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKLQkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9IGNwdV9kYXRhKGZyZXEtPmNwdSkubG9vcHNfcGVyX2ppZmZ5OwotCQljcHVfa2h6X3JlZiA9IGNwdV9raHo7Ci0JfQotCi0JaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKLQkgICAgKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAotCSAgICAodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgewotCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKQotCQkJY3B1X2RhdGEoZnJlcS0+Y3B1KS5sb29wc19wZXJfamlmZnkgPQotCQkJCWNwdWZyZXFfc2NhbGUobG9vcHNfcGVyX2ppZmZ5X3JlZiwKLQkJCQkJCXJlZl9mcmVxLCBmcmVxLT5uZXcpOwotCi0JCWlmIChjcHVfa2h6KSB7Ci0KLQkJCWlmIChudW1fb25saW5lX2NwdXMoKSA9PSAxKQotCQkJCWNwdV9raHogPSBjcHVmcmVxX3NjYWxlKGNwdV9raHpfcmVmLAotCQkJCQkJcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0JCQlpZiAoIShmcmVxLT5mbGFncyAmIENQVUZSRVFfQ09OU1RfTE9PUFMpKSB7Ci0JCQkJdHNjX2toeiA9IGNwdV9raHo7Ci0JCQkJc2V0X2N5YzJuc19zY2FsZShjcHVfa2h6LCBmcmVxLT5jcHUpOwotCQkJCS8qCi0JCQkJICogVFNDIGJhc2VkIHNjaGVkX2Nsb2NrIHR1cm5zCi0JCQkJICogdG8ganVuayB3LyBjcHVmcmVxCi0JCQkJICovCi0JCQkJbWFya190c2NfdW5zdGFibGUoImNwdWZyZXEgY2hhbmdlcyIpOwotCQkJfQotCQl9Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrID0gewotCS5ub3RpZmllcl9jYWxsCT0gdGltZV9jcHVmcmVxX25vdGlmaWVyCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBjcHVmcmVxX3RzYyh2b2lkKQotewotCXJldHVybiBjcHVmcmVxX3JlZ2lzdGVyX25vdGlmaWVyKCZ0aW1lX2NwdWZyZXFfbm90aWZpZXJfYmxvY2ssCi0JCQkJCSBDUFVGUkVRX1RSQU5TSVRJT05fTk9USUZJRVIpOwotfQotY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7Ci0KLSNlbmRpZgotCi0vKiBjbG9jayBzb3VyY2UgY29kZSAqLwotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBjdXJyZW50X3RzY19raHo7Ci1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYzsKLQotLyoKLSAqIFdlIGNvbXBhcmUgdGhlIFRTQyB0byB0aGUgY3ljbGVfbGFzdCB2YWx1ZSBpbiB0aGUgY2xvY2tzb3VyY2UKLSAqIHN0cnVjdHVyZSB0byBhdm9pZCBhIG5hc3R5IHRpbWUtd2FycCBpc3N1ZS4gVGhpcyBjYW4gYmUgb2JzZXJ2ZWQgaW4KLSAqIGEgdmVyeSBzbWFsbCB3aW5kb3cgcmlnaHQgYWZ0ZXIgb25lIENQVSB1cGRhdGVkIGN5Y2xlX2xhc3QgdW5kZXIKLSAqIHh0aW1lIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2ggaXMgc21hbGxlcgotICogdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoIGlzIHNsaWdodHkKLSAqIGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluIHRoYXQgY2FzZSBpdAotICogcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycyBkdWUgdG8gdGhlCi0gKiB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUgY29kZSwgd2hpY2ggaXMKLSAqIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtIHRpbWVyLgotICovCi1zdGF0aWMgY3ljbGVfdCByZWFkX3RzYyh2b2lkKQotewotCWN5Y2xlX3QgcmV0OwotCi0JcmR0c2NsbChyZXQpOwotCi0JcmV0dXJuIHJldCA+PSBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdCA/Ci0JCXJldCA6IGNsb2Nrc291cmNlX3RzYy5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKLQkubmFtZQkJCT0gInRzYyIsCi0JLnJhdGluZwkJCT0gMzAwLAotCS5yZWFkCQkJPSByZWFkX3RzYywKLQkubWFzawkJCT0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCi0JLm11bHQJCQk9IDAsIC8qIHRvIGJlIHNldCAqLwotCS5zaGlmdAkJCT0gMjIsCi0JLmZsYWdzCQkJPSBDTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUyB8Ci0JCQkJICBDTE9DS19TT1VSQ0VfTVVTVF9WRVJJRlksCi19OwotCi12b2lkIG1hcmtfdHNjX3Vuc3RhYmxlKGNoYXIgKnJlYXNvbikKLXsKLQlpZiAoIXRzY191bnN0YWJsZSkgewotCQl0c2NfdW5zdGFibGUgPSAxOwotCQlwcmludGsoIk1hcmtpbmcgVFNDIHVuc3RhYmxlIGR1ZSB0bzogJXMuXG4iLCByZWFzb24pOwotCQkvKiBDYW4gYmUgY2FsbGVkIGJlZm9yZSByZWdpc3RyYXRpb24gKi8KLQkJaWYgKGNsb2Nrc291cmNlX3RzYy5tdWx0KQotCQkJY2xvY2tzb3VyY2VfY2hhbmdlX3JhdGluZygmY2xvY2tzb3VyY2VfdHNjLCAwKTsKLQkJZWxzZQotCQkJY2xvY2tzb3VyY2VfdHNjLnJhdGluZyA9IDA7Ci0JfQotfQotRVhQT1JUX1NZTUJPTF9HUEwobWFya190c2NfdW5zdGFibGUpOwotCi1zdGF0aWMgaW50IF9faW5pdCBkbWlfbWFya190c2NfdW5zdGFibGUoY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgKmQpCi17Ci0JcHJpbnRrKEtFUk5fTk9USUNFICIlcyBkZXRlY3RlZDogbWFya2luZyBUU0MgdW5zdGFibGUuXG4iLAotCSAgICAgICBkLT5pZGVudCk7Ci0JdHNjX3Vuc3RhYmxlID0gMTsKLQlyZXR1cm4gMDsKLX0KLQotLyogTGlzdCBvZiBzeXN0ZW1zIHRoYXQgaGF2ZSBrbm93biBUU0MgcHJvYmxlbXMgKi8KLXN0YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCBfX2luaXRkYXRhIGJhZF90c2NfZG1pX3RhYmxlW10gPSB7Ci0JewotCSAuY2FsbGJhY2sgPSBkbWlfbWFya190c2NfdW5zdGFibGUsCi0JIC5pZGVudCA9ICJJQk0gVGhpbmtwYWQgMzgwWEQiLAotCSAubWF0Y2hlcyA9IHsKLQkJICAgICBETUlfTUFUQ0goRE1JX0JPQVJEX1ZFTkRPUiwgIklCTSIpLAotCQkgICAgIERNSV9NQVRDSChETUlfQk9BUkRfTkFNRSwgIjI2MzVGQTAiKSwKLQkJICAgICB9LAotCSB9LAotCSB7fQotfTsKLQotLyoKLSAqIE1ha2UgYW4gZWR1Y2F0ZWQgZ3Vlc3MgaWYgdGhlIFRTQyBpcyB0cnVzdHdvcnRoeSBhbmQgc3luY2hyb25pemVkCi0gKiBvdmVyIGFsbCBDUFVzLgotICovCi1fX2NwdWluaXQgaW50IHVuc3luY2hyb25pemVkX3RzYyh2b2lkKQotewotCWlmICghY3B1X2hhc190c2MgfHwgdHNjX3Vuc3RhYmxlKQotCQlyZXR1cm4gMTsKLQotCS8qIEFueXRoaW5nIHdpdGggY29uc3RhbnQgVFNDIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgKi8KLQlpZiAoYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykpCi0JCXJldHVybiAwOwotCi0JLyoKLQkgKiBJbnRlbCBzeXN0ZW1zIGFyZSBub3JtYWxseSBhbGwgc3luY2hyb25pemVkLgotCSAqIEV4Y2VwdGlvbnMgbXVzdCBtYXJrIFRTQyBhcyB1bnN0YWJsZToKLQkgKi8KLQlpZiAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwpIHsKLQkJLyogYXNzdW1lIG11bHRpIHNvY2tldCBzeXN0ZW1zIGFyZSBub3Qgc3luY2hyb25pemVkOiAqLwotCQlpZiAobnVtX3Bvc3NpYmxlX2NwdXMoKSA+IDEpCi0JCQl0c2NfdW5zdGFibGUgPSAxOwotCX0KLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotCi0vKgotICogR2VvZGVfTFggLSB0aGUgT0xQQyBDUFUgaGFzIGEgcG9zc2libHkgYSB2ZXJ5IHJlbGlhYmxlIFRTQwotICovCi0jaWZkZWYgQ09ORklHX01HRU9ERV9MWAotLyogUlRTQyBjb3VudHMgZHVyaW5nIHN1c3BlbmQgKi8KLSNkZWZpbmUgUlRTQ19TVVNQIDB4MTAwCi0KLXN0YXRpYyB2b2lkIF9faW5pdCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIHJlc19sb3csIHJlc19oaWdoOwotCi0JcmRtc3Jfc2FmZShNU1JfR0VPREVfQlVTQ09OVF9DT05GMCwgJnJlc19sb3csICZyZXNfaGlnaCk7Ci0JaWYgKHJlc19sb3cgJiBSVFNDX1NVU1ApCi0JCWNsb2Nrc291cmNlX3RzYy5mbGFncyAmPSB+Q0xPQ0tfU09VUkNFX01VU1RfVkVSSUZZOwotfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19nZW9kZV90c2NfcmVsaWFibGUodm9pZCkgeyB9Ci0jZW5kaWYKLQotCi12b2lkIF9faW5pdCB0c2NfaW5pdCh2b2lkKQotewotCWludCBjcHU7Ci0KLQlpZiAoIWNwdV9oYXNfdHNjIHx8IHRzY19kaXNhYmxlZCA+IDApCi0JCXJldHVybjsKLQotCWNwdV9raHogPSBjYWxjdWxhdGVfY3B1X2toeigpOwotCXRzY19raHogPSBjcHVfa2h6OwotCi0JaWYgKCFjcHVfa2h6KSB7Ci0JCW1hcmtfdHNjX3Vuc3RhYmxlKCJjb3VsZCBub3QgY2FsY3VsYXRlIFRTQyBraHoiKTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIG5vdyBhbGxvdyBuYXRpdmVfc2NoZWRfY2xvY2soKSB0byB1c2UgcmR0c2MgKi8KLQl0c2NfZGlzYWJsZWQgPSAwOwotCi0JcHJpbnRrKCJEZXRlY3RlZCAlbHUuJTAzbHUgTUh6IHByb2Nlc3Nvci5cbiIsCi0JCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAvIDEwMDAsCi0JCQkJKHVuc2lnbmVkIGxvbmcpY3B1X2toeiAlIDEwMDApOwotCi0JLyoKLQkgKiBTZWNvbmRhcnkgQ1BVcyBkbyBub3QgcnVuIHRocm91Z2ggdHNjX2luaXQoKSwgc28gc2V0IHVwCi0JICogYWxsIHRoZSBzY2FsZSBmYWN0b3JzIGZvciBhbGwgQ1BVcywgYXNzdW1pbmcgdGhlIHNhbWUKLQkgKiBzcGVlZCBhcyB0aGUgYm9vdHVwIENQVS4gKGNwdWZyZXEgbm90aWZpZXJzIHdpbGwgZml4IHRoaXMKLQkgKiB1cCBpZiB0aGVpciBzcGVlZCBkaXZlcmdlcykKLQkgKi8KLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KQotCQlzZXRfY3ljMm5zX3NjYWxlKGNwdV9raHosIGNwdSk7Ci0KLQl1c2VfdHNjX2RlbGF5KCk7Ci0KLQkvKiBDaGVjayBhbmQgaW5zdGFsbCB0aGUgVFNDIGNsb2Nrc291cmNlICovCi0JZG1pX2NoZWNrX3N5c3RlbShiYWRfdHNjX2RtaV90YWJsZSk7Ci0KLQl1bnN5bmNocm9uaXplZF90c2MoKTsKLQljaGVja19nZW9kZV90c2NfcmVsaWFibGUoKTsKLQljdXJyZW50X3RzY19raHogPSB0c2Nfa2h6OwotCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQoY3VycmVudF90c2Nfa2h6LAotCQkJCQkJCWNsb2Nrc291cmNlX3RzYy5zaGlmdCk7Ci0JLyogbG93ZXIgdGhlIHJhdGluZyBpZiB3ZSBhbHJlYWR5IGtub3cgaXRzIHVuc3RhYmxlOiAqLwotCWlmIChjaGVja190c2NfdW5zdGFibGUoKSkgewotCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQkJY2xvY2tzb3VyY2VfdHNjLmZsYWdzICY9IH5DTE9DS19TT1VSQ0VfSVNfQ09OVElOVU9VUzsKLQl9Ci0JY2xvY2tzb3VyY2VfcmVnaXN0ZXIoJmNsb2Nrc291cmNlX3RzYyk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwvdHNjXzY0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3ODRiODAuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYva2VybmVsL3RzY182NC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzU3ICswLDAgQEAKLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgotI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KLSNpbmNsdWRlIDxsaW51eC9hY3BpLmg+Ci0jaW5jbHVkZSA8bGludXgvY3B1ZnJlcS5oPgotI2luY2x1ZGUgPGxpbnV4L2FjcGlfcG10bXIuaD4KLQotI2luY2x1ZGUgPGFzbS9ocGV0Lmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWV4Lmg+Ci0jaW5jbHVkZSA8YXNtL3RpbWVyLmg+Ci0jaW5jbHVkZSA8YXNtL3ZndG9kLmg+Ci0KLXN0YXRpYyBpbnQgbm90c2MgX19pbml0ZGF0YSA9IDA7Ci0KLXVuc2lnbmVkIGludCBjcHVfa2h6OwkJLyogVFNDIGNsb2NrcyAvIHVzZWMsIG5vdCB1c2VkIGhlcmUgKi8KLUVYUE9SVF9TWU1CT0woY3B1X2toeik7Ci11bnNpZ25lZCBpbnQgdHNjX2toejsKLUVYUE9SVF9TWU1CT0wodHNjX2toeik7Ci0KLS8qIEFjY2VsZXJhdG9ycyBmb3Igc2NoZWRfY2xvY2soKQotICogY29udmVydCBmcm9tIGN5Y2xlcyg2NGJpdHMpID0+IG5hbm9zZWNvbmRzICg2NGJpdHMpCi0gKiAgYmFzaWMgZXF1YXRpb246Ci0gKgkJbnMgPSBjeWNsZXMgLyAoZnJlcSAvIG5zX3Blcl9zZWMpCi0gKgkJbnMgPSBjeWNsZXMgKiAobnNfcGVyX3NlYyAvIGZyZXEpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeOSAvIChjcHVfa2h6ICogMTBeMykpCi0gKgkJbnMgPSBjeWNsZXMgKiAoMTBeNiAvIGNwdV9raHopCi0gKgotICoJVGhlbiB3ZSB1c2Ugc2NhbGluZyBtYXRoIChzdWdnZXN0ZWQgYnkgZ2VvcmdlQG12aXN0YS5jb20pIHRvIGdldDoKLSAqCQlucyA9IGN5Y2xlcyAqICgxMF42ICogU0MgLyBjcHVfa2h6KSAvIFNDCi0gKgkJbnMgPSBjeWNsZXMgKiBjeWMybnNfc2NhbGUgLyBTQwotICoKLSAqCUFuZCBzaW5jZSBTQyBpcyBhIGNvbnN0YW50IHBvd2VyIG9mIHR3bywgd2UgY2FuIGNvbnZlcnQgdGhlIGRpdgotICogIGludG8gYSBzaGlmdC4KLSAqCi0gKiAgV2UgY2FuIHVzZSBraHogZGl2aXNvciBpbnN0ZWFkIG9mIG1oeiB0byBrZWVwIGEgYmV0dGVyIHByZWNpc2lvbiwgc2luY2UKLSAqICBjeWMybnNfc2NhbGUgaXMgbGltaXRlZCB0byAxMF42ICogMl4xMCwgd2hpY2ggZml0cyBpbiAzMiBiaXRzLgotICogIChtYXRoaWV1LmRlc25veWVyc0Bwb2x5bXRsLmNhKQotICoKLSAqCQkJLWpvaG5zdHVsQHVzLmlibS5jb20gIm1hdGggaXMgaGFyZCwgbGV0cyBnbyBzaG9wcGluZyEiCi0gKi8KLURFRklORV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIGN5YzJucyk7Ci0KLXN0YXRpYyB2b2lkIHNldF9jeWMybnNfc2NhbGUodW5zaWduZWQgbG9uZyBjcHVfa2h6LCBpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyB0c2Nfbm93LCBuc19ub3c7Ci0JdW5zaWduZWQgbG9uZyBmbGFncywgKnNjYWxlOwotCi0JbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwotCXNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQoKTsKLQotCXNjYWxlID0gJnBlcl9jcHUoY3ljMm5zLCBjcHUpOwotCi0JcmR0c2NsbCh0c2Nfbm93KTsKLQluc19ub3cgPSBfX2N5Y2xlc18yX25zKHRzY19ub3cpOwotCi0JaWYgKGNwdV9raHopCi0JCSpzY2FsZSA9IChOU0VDX1BFUl9NU0VDIDw8IENZQzJOU19TQ0FMRV9GQUNUT1IpL2NwdV9raHo7Ci0KLQlzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCgwKTsKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci19Ci0KLXVuc2lnbmVkIGxvbmcgbG9uZyBuYXRpdmVfc2NoZWRfY2xvY2sodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGEgPSAwOwotCi0JLyogQ291bGQgZG8gQ1BVIGNvcmUgc3luYyBoZXJlLiBPcHRlcm9uIGNhbiBleGVjdXRlIHJkdHNjIHNwZWN1bGF0aXZlbHksCi0JICogd2hpY2ggbWVhbnMgaXQgaXMgbm90IGNvbXBsZXRlbHkgZXhhY3QgYW5kIG1heSBub3QgYmUgbW9ub3Rvbm91cwotCSAqIGJldHdlZW4gQ1BVcy4gQnV0IHRoZSBlcnJvcnMgc2hvdWxkIGJlIHRvbyBzbWFsbCB0byBtYXR0ZXIgZm9yCi0JICogc2NoZWR1bGluZyBwdXJwb3Nlcy4KLQkgKi8KLQotCXJkdHNjbGwoYSk7Ci0JcmV0dXJuIGN5Y2xlc18yX25zKGEpOwotfQotCi0vKiBXZSBuZWVkIHRvIGRlZmluZSBhIHJlYWwgZnVuY3Rpb24gZm9yIHNjaGVkX2Nsb2NrLCB0byBvdmVycmlkZSB0aGUKLSAgIHdlYWsgZGVmYXVsdCB2ZXJzaW9uICovCi0jaWZkZWYgQ09ORklHX1BBUkFWSVJUCi11bnNpZ25lZCBsb25nIGxvbmcgc2NoZWRfY2xvY2sodm9pZCkKLXsKLQlyZXR1cm4gcGFyYXZpcnRfc2NoZWRfY2xvY2soKTsKLX0KLSNlbHNlCi11bnNpZ25lZCBsb25nIGxvbmcKLXNjaGVkX2Nsb2NrKHZvaWQpIF9fYXR0cmlidXRlX18oKGFsaWFzKCJuYXRpdmVfc2NoZWRfY2xvY2siKSkpOwotI2VuZGlmCi0KLQotc3RhdGljIGludCB0c2NfdW5zdGFibGU7Ci0KLWludCBjaGVja190c2NfdW5zdGFibGUodm9pZCkKLXsKLQlyZXR1cm4gdHNjX3Vuc3RhYmxlOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoY2hlY2tfdHNjX3Vuc3RhYmxlKTsKLQotI2lmZGVmIENPTkZJR19DUFVfRlJFUQotCi0vKiBGcmVxdWVuY3kgc2NhbGluZyBzdXBwb3J0LiBBZGp1c3QgdGhlIFRTQyBiYXNlZCB0aW1lciB3aGVuIHRoZSBjcHUgZnJlcXVlbmN5Ci0gKiBjaGFuZ2VzLgotICoKLSAqIFJFRC1QRU46IE9uIFNNUCB3ZSBhc3N1bWUgYWxsIENQVXMgcnVuIHdpdGggdGhlIHNhbWUgZnJlcXVlbmN5LiAgSXQncwotICogbm90IHRoYXQgaW1wb3J0YW50IGJlY2F1c2UgY3VycmVudCBPcHRlcm9uIHNldHVwcyBkbyBub3Qgc3VwcG9ydAotICogc2NhbGluZyBvbiBTTVAgYW55cm9hZHMuCi0gKgotICogU2hvdWxkIGZpeCB1cCBsYXN0X3RzYyB0b28uIEN1cnJlbnRseSBnZXR0aW1lb2ZkYXkgaW4gdGhlCi0gKiBmaXJzdCB0aWNrIGFmdGVyIHRoZSBjaGFuZ2Ugd2lsbCBiZSBzbGlnaHRseSB3cm9uZy4KLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50ICByZWZfZnJlcTsKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvb3BzX3Blcl9qaWZmeV9yZWY7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyB0c2Nfa2h6X3JlZjsKLQotc3RhdGljIGludCB0aW1lX2NwdWZyZXFfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsCi0JCQkJIHZvaWQgKmRhdGEpCi17Ci0Jc3RydWN0IGNwdWZyZXFfZnJlcXMgKmZyZXEgPSBkYXRhOwotCXVuc2lnbmVkIGxvbmcgKmxwaiwgZHVtbXk7Ci0KLQlpZiAoY3B1X2hhcygmY3B1X2RhdGEoZnJlcS0+Y3B1KSwgWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSkKLQkJcmV0dXJuIDA7Ci0KLQlscGogPSAmZHVtbXk7Ci0JaWYgKCEoZnJlcS0+ZmxhZ3MgJiBDUFVGUkVRX0NPTlNUX0xPT1BTKSkKLSNpZmRlZiBDT05GSUdfU01QCi0JCWxwaiA9ICZjcHVfZGF0YShmcmVxLT5jcHUpLmxvb3BzX3Blcl9qaWZmeTsKLSNlbHNlCi0JCWxwaiA9ICZib290X2NwdV9kYXRhLmxvb3BzX3Blcl9qaWZmeTsKLSNlbmRpZgotCi0JaWYgKCFyZWZfZnJlcSkgewotCQlyZWZfZnJlcSA9IGZyZXEtPm9sZDsKLQkJbG9vcHNfcGVyX2ppZmZ5X3JlZiA9ICpscGo7Ci0JCXRzY19raHpfcmVmID0gdHNjX2toejsKLQl9Ci0JaWYgKCh2YWwgPT0gQ1BVRlJFUV9QUkVDSEFOR0UgICYmIGZyZXEtPm9sZCA8IGZyZXEtPm5ldykgfHwKLQkJKHZhbCA9PSBDUFVGUkVRX1BPU1RDSEFOR0UgJiYgZnJlcS0+b2xkID4gZnJlcS0+bmV3KSB8fAotCQkodmFsID09IENQVUZSRVFfUkVTVU1FQ0hBTkdFKSkgewotCQkqbHBqID0KLQkJY3B1ZnJlcV9zY2FsZShsb29wc19wZXJfamlmZnlfcmVmLCByZWZfZnJlcSwgZnJlcS0+bmV3KTsKLQotCQl0c2Nfa2h6ID0gY3B1ZnJlcV9zY2FsZSh0c2Nfa2h6X3JlZiwgcmVmX2ZyZXEsIGZyZXEtPm5ldyk7Ci0JCWlmICghKGZyZXEtPmZsYWdzICYgQ1BVRlJFUV9DT05TVF9MT09QUykpCi0JCQltYXJrX3RzY191bnN0YWJsZSgiY3B1ZnJlcSBjaGFuZ2VzIik7Ci0JfQotCi0Jc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6X3JlZiwgZnJlcS0+Y3B1KTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHRpbWVfY3B1ZnJlcV9ub3RpZmllcl9ibG9jayA9IHsKLQkubm90aWZpZXJfY2FsbCAgPSB0aW1lX2NwdWZyZXFfbm90aWZpZXIKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGNwdWZyZXFfdHNjKHZvaWQpCi17Ci0JY3B1ZnJlcV9yZWdpc3Rlcl9ub3RpZmllcigmdGltZV9jcHVmcmVxX25vdGlmaWVyX2Jsb2NrLAotCQkJCSAgQ1BVRlJFUV9UUkFOU0lUSU9OX05PVElGSUVSKTsKLQlyZXR1cm4gMDsKLX0KLQotY29yZV9pbml0Y2FsbChjcHVmcmVxX3RzYyk7Ci0KLSNlbmRpZgotCi0jZGVmaW5lIE1BWF9SRVRSSUVTCTUKLSNkZWZpbmUgU01JX1RSRVNIT0xECTUwMDAwCi0KLS8qCi0gKiBSZWFkIFRTQyBhbmQgdGhlIHJlZmVyZW5jZSBjb3VudGVycy4gVGFrZSBjYXJlIG9mIFNNSSBkaXN0dXJiYW5jZQotICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXQgdHNjX3JlYWRfcmVmcyh1bnNpZ25lZCBsb25nICpwbSwKLQkJCQkJICB1bnNpZ25lZCBsb25nICpocGV0KQotewotCXVuc2lnbmVkIGxvbmcgdDEsIHQyOwotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9SRVRSSUVTOyBpKyspIHsKLQkJdDEgPSBnZXRfY3ljbGVzKCk7Ci0JCWlmIChocGV0KQotCQkJKmhwZXQgPSBocGV0X3JlYWRsKEhQRVRfQ09VTlRFUikgJiAweEZGRkZGRkZGOwotCQllbHNlCi0JCQkqcG0gPSBhY3BpX3BtX3JlYWRfZWFybHkoKTsKLQkJdDIgPSBnZXRfY3ljbGVzKCk7Ci0JCWlmICgodDIgLSB0MSkgPCBTTUlfVFJFU0hPTEQpCi0JCQlyZXR1cm4gdDI7Ci0JfQotCXJldHVybiBVTE9OR19NQVg7Ci19Ci0KLS8qKgotICogdHNjX2NhbGlicmF0ZSAtIGNhbGlicmF0ZSB0aGUgdHNjIG9uIGJvb3QKLSAqLwotdm9pZCBfX2luaXQgdHNjX2NhbGlicmF0ZSh2b2lkKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3MsIHRzYzEsIHRzYzIsIHRyMSwgdHIyLCBwbTEsIHBtMiwgaHBldDEsIGhwZXQyOwotCWludCBocGV0ID0gaXNfaHBldF9lbmFibGVkKCksIGNwdTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLQotCXRzYzEgPSB0c2NfcmVhZF9yZWZzKCZwbTEsIGhwZXQgPyAmaHBldDEgOiBOVUxMKTsKLQotCW91dGIoKGluYigweDYxKSAmIH4weDAyKSB8IDB4MDEsIDB4NjEpOwotCi0Jb3V0YigweGIwLCAweDQzKTsKLQlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgJiAweGZmLCAweDQyKTsKLQlvdXRiKChDTE9DS19USUNLX1JBVEUgLyAoMTAwMCAvIDUwKSkgPj4gOCwgMHg0Mik7Ci0JdHIxID0gZ2V0X2N5Y2xlcygpOwotCXdoaWxlICgoaW5iKDB4NjEpICYgMHgyMCkgPT0gMCk7Ci0JdHIyID0gZ2V0X2N5Y2xlcygpOwotCi0JdHNjMiA9IHRzY19yZWFkX3JlZnMoJnBtMiwgaHBldCA/ICZocGV0MiA6IE5VTEwpOwotCi0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCi0JLyoKLQkgKiBQcmVzZXQgdGhlIHJlc3VsdCB3aXRoIHRoZSByYXcgYW5kIGluYWNjdXJhdGUgUElUCi0JICogY2FsaWJyYXRpb24gdmFsdWUKLQkgKi8KLQl0c2Nfa2h6ID0gKHRyMiAtIHRyMSkgLyA1MDsKLQotCS8qIGhwZXQgb3IgcG10aW1lciBhdmFpbGFibGUgPyAqLwotCWlmICghaHBldCAmJiAhcG0xICYmICFwbTIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiVFNDIGNhbGlicmF0ZWQgYWdhaW5zdCBQSVRcbiIpOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKiBDaGVjaywgd2hldGhlciB0aGUgc2FtcGxpbmcgd2FzIGRpc3R1cmJlZCBieSBhbiBTTUkgKi8KLQlpZiAodHNjMSA9PSBVTE9OR19NQVggfHwgdHNjMiA9PSBVTE9OR19NQVgpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVFNDIGNhbGlicmF0aW9uIGRpc3R1cmJlZCBieSBTTUksICIKLQkJICAgICAgICJ1c2luZyBQSVQgY2FsaWJyYXRpb24gcmVzdWx0XG4iKTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JdHNjMiA9ICh0c2MyIC0gdHNjMSkgKiAxMDAwMDAwTDsKLQotCWlmIChocGV0KSB7Ci0JCXByaW50ayhLRVJOX0lORk8gIlRTQyBjYWxpYnJhdGVkIGFnYWluc3QgSFBFVFxuIik7Ci0JCWlmIChocGV0MiA8IGhwZXQxKQotCQkJaHBldDIgKz0gMHgxMDAwMDAwMDA7Ci0JCWhwZXQyIC09IGhwZXQxOwotCQl0c2MxID0gKGhwZXQyICogaHBldF9yZWFkbChIUEVUX1BFUklPRCkpIC8gMTAwMDAwMDsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9JTkZPICJUU0MgY2FsaWJyYXRlZCBhZ2FpbnN0IFBNX1RJTUVSXG4iKTsKLQkJaWYgKHBtMiA8IHBtMSkKLQkJCXBtMiArPSBBQ1BJX1BNX09WUlJVTjsKLQkJcG0yIC09IHBtMTsKLQkJdHNjMSA9IChwbTIgKiAxMDAwMDAwMDAwKSAvIFBNVE1SX1RJQ0tTX1BFUl9TRUM7Ci0JfQotCi0JdHNjX2toeiA9IHRzYzIgLyB0c2MxOwotCi1vdXQ6Ci0JZm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkKLQkJc2V0X2N5YzJuc19zY2FsZSh0c2Nfa2h6LCBjcHUpOwotfQotCi0vKgotICogTWFrZSBhbiBlZHVjYXRlZCBndWVzcyBpZiB0aGUgVFNDIGlzIHRydXN0d29ydGh5IGFuZCBzeW5jaHJvbml6ZWQKLSAqIG92ZXIgYWxsIENQVXMuCi0gKi8KLV9fY3B1aW5pdCBpbnQgdW5zeW5jaHJvbml6ZWRfdHNjKHZvaWQpCi17Ci0JaWYgKHRzY191bnN0YWJsZSkKLQkJcmV0dXJuIDE7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0JaWYgKGFwaWNfaXNfY2x1c3RlcmVkX2JveCgpKQotCQlyZXR1cm4gMTsKLSNlbmRpZgotCi0JaWYgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpKQotCQlyZXR1cm4gMDsKLQotCS8qIEFzc3VtZSBtdWx0aSBzb2NrZXQgc3lzdGVtcyBhcmUgbm90IHN5bmNocm9uaXplZCAqLwotCXJldHVybiBudW1fcHJlc2VudF9jcHVzKCkgPiAxOwotfQotCi1pbnQgX19pbml0IG5vdHNjX3NldHVwKGNoYXIgKnMpCi17Ci0Jbm90c2MgPSAxOwotCXJldHVybiAxOwotfQotCi1fX3NldHVwKCJub3RzYyIsIG5vdHNjX3NldHVwKTsKLQotc3RhdGljIHN0cnVjdCBjbG9ja3NvdXJjZSBjbG9ja3NvdXJjZV90c2M7Ci0KLS8qCi0gKiBXZSBjb21wYXJlIHRoZSBUU0MgdG8gdGhlIGN5Y2xlX2xhc3QgdmFsdWUgaW4gdGhlIGNsb2Nrc291cmNlCi0gKiBzdHJ1Y3R1cmUgdG8gYXZvaWQgYSBuYXN0eSB0aW1lLXdhcnAuIFRoaXMgY2FuIGJlIG9ic2VydmVkIGluIGEKLSAqIHZlcnkgc21hbGwgd2luZG93IHJpZ2h0IGFmdGVyIG9uZSBDUFUgdXBkYXRlZCBjeWNsZV9sYXN0IHVuZGVyCi0gKiB4dGltZS92c3lzY2FsbF9ndG9kIGxvY2sgYW5kIHRoZSBvdGhlciBDUFUgcmVhZHMgYSBUU0MgdmFsdWUgd2hpY2gKLSAqIGlzIHNtYWxsZXIgdGhhbiB0aGUgY3ljbGVfbGFzdCByZWZlcmVuY2UgdmFsdWUgZHVlIHRvIGEgVFNDIHdoaWNoCi0gKiBpcyBzbGlnaHR5IGJlaGluZC4gVGhpcyBkZWx0YSBpcyBub3doZXJlIGVsc2Ugb2JzZXJ2YWJsZSwgYnV0IGluCi0gKiB0aGF0IGNhc2UgaXQgcmVzdWx0cyBpbiBhIGZvcndhcmQgdGltZSBqdW1wIGluIHRoZSByYW5nZSBvZiBob3VycwotICogZHVlIHRvIHRoZSB1bnNpZ25lZCBkZWx0YSBjYWxjdWxhdGlvbiBvZiB0aGUgdGltZSBrZWVwaW5nIGNvcmUKLSAqIGNvZGUsIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBzdXBwb3J0IHdyYXBwaW5nIGNsb2Nrc291cmNlcyBsaWtlIHBtCi0gKiB0aW1lci4KLSAqLwotc3RhdGljIGN5Y2xlX3QgcmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldCA9IChjeWNsZV90KWdldF9jeWNsZXMoKTsKLQotCXJldHVybiByZXQgPj0gY2xvY2tzb3VyY2VfdHNjLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBjbG9ja3NvdXJjZV90c2MuY3ljbGVfbGFzdDsKLX0KLQotc3RhdGljIGN5Y2xlX3QgX192c3lzY2FsbF9mbiB2cmVhZF90c2Modm9pZCkKLXsKLQljeWNsZV90IHJldCA9IChjeWNsZV90KXZnZXRfY3ljbGVzKCk7Ci0KLQlyZXR1cm4gcmV0ID49IF9fdnN5c2NhbGxfZ3RvZF9kYXRhLmNsb2NrLmN5Y2xlX2xhc3QgPwotCQlyZXQgOiBfX3ZzeXNjYWxsX2d0b2RfZGF0YS5jbG9jay5jeWNsZV9sYXN0OwotfQotCi1zdGF0aWMgc3RydWN0IGNsb2Nrc291cmNlIGNsb2Nrc291cmNlX3RzYyA9IHsKLQkubmFtZQkJCT0gInRzYyIsCi0JLnJhdGluZwkJCT0gMzAwLAotCS5yZWFkCQkJPSByZWFkX3RzYywKLQkubWFzawkJCT0gQ0xPQ0tTT1VSQ0VfTUFTSyg2NCksCi0JLnNoaWZ0CQkJPSAyMiwKLQkuZmxhZ3MJCQk9IENMT0NLX1NPVVJDRV9JU19DT05USU5VT1VTIHwKLQkJCQkgIENMT0NLX1NPVVJDRV9NVVNUX1ZFUklGWSwKLQkudnJlYWQJCQk9IHZyZWFkX3RzYywKLX07Ci0KLXZvaWQgbWFya190c2NfdW5zdGFibGUoY2hhciAqcmVhc29uKQotewotCWlmICghdHNjX3Vuc3RhYmxlKSB7Ci0JCXRzY191bnN0YWJsZSA9IDE7Ci0JCXByaW50aygiTWFya2luZyBUU0MgdW5zdGFibGUgZHVlIHRvICVzXG4iLCByZWFzb24pOwotCQkvKiBDaGFuZ2Ugb25seSB0aGUgcmF0aW5nLCB3aGVuIG5vdCByZWdpc3RlcmVkICovCi0JCWlmIChjbG9ja3NvdXJjZV90c2MubXVsdCkKLQkJCWNsb2Nrc291cmNlX2NoYW5nZV9yYXRpbmcoJmNsb2Nrc291cmNlX3RzYywgMCk7Ci0JCWVsc2UKLQkJCWNsb2Nrc291cmNlX3RzYy5yYXRpbmcgPSAwOwotCX0KLX0KLUVYUE9SVF9TWU1CT0xfR1BMKG1hcmtfdHNjX3Vuc3RhYmxlKTsKLQotdm9pZCBfX2luaXQgaW5pdF90c2NfY2xvY2tzb3VyY2Uodm9pZCkKLXsKLQlpZiAoIW5vdHNjKSB7Ci0JCWNsb2Nrc291cmNlX3RzYy5tdWx0ID0gY2xvY2tzb3VyY2Vfa2h6Mm11bHQodHNjX2toeiwKLQkJCQkJCQljbG9ja3NvdXJjZV90c2Muc2hpZnQpOwotCQlpZiAoY2hlY2tfdHNjX3Vuc3RhYmxlKCkpCi0JCQljbG9ja3NvdXJjZV90c2MucmF0aW5nID0gMDsKLQotCQljbG9ja3NvdXJjZV9yZWdpc3RlcigmY2xvY2tzb3VyY2VfdHNjKTsKLQl9Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdmlzd3NfcXVpcmtzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk0YmRiNgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC92aXN3c19xdWlya3MuYwpAQCAtMCwwICsxLDcwOSBAQAorLyoKKyAqICBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHN1cHBvcnQgYW5kIHF1aXJrcywgdW5tYWludGFpbmVkLgorICoKKyAqICBTcGxpdCBvdXQgZnJvbSBzZXR1cC5jIGJ5IGRhdmVqQHN1c2UuZGUKKyAqCisgKglDb3B5cmlnaHQgKEMpIDE5OTkgQmVudCBIYWdlbWFyaywgSW5nbyBNb2xuYXIKKyAqCisgKiAgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBpbnRlcnJ1cHQgY29udHJvbGxlcgorICoKKyAqICBUaGUgQ29iYWx0IHN5c3RlbSBBU0lDIGluIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gY29udGFpbnMgYSAiQ29iYWx0IiBBUElDCisgKiAgd2hpY2ggc2VydmVzIGFzIHRoZSBtYWluIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBzeXN0ZW0uICBOb24tbGVnYWN5CisgKiAgaGFyZHdhcmUgaW4gdGhlIHN5c3RlbSB1c2VzIHRoaXMgY29udHJvbGxlciBkaXJlY3RseS4gIExlZ2FjeSBkZXZpY2VzCisgKiAgYXJlIGNvbm5lY3RlZCB0byB0aGUgUElJWDQgd2hpY2ggaW4gdHVybiBoYXMgaXRzIDgyNTkocykgY29ubmVjdGVkIHRvCisgKiAgYSBvZiB0aGUgQ29iYWx0IEFQSUMgZW50cnkuCisgKgorICogIDA5LzAyLzIwMDAgLSBVcGRhdGVkIGZvciAyLjQgYnkgamJhcm5lc0BzZ2kuY29tCisgKgorICogIDI1LzExLzIwMDIgLSBVcGRhdGVkIGZvciAyLjUgYnkgQW5kcmV5IFBhbmluIDxwYXprZUBvcmJpdGExLnJ1PgorICovCisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgorCisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9waWl4NC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgorI2luY2x1ZGUgPGFzbS9yZWJvb3QuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKworI2luY2x1ZGUgPG1hY2hfaXBpLmg+CisKKyNpbmNsdWRlICJtYWNoX2FwaWMuaCIKKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorCisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vaTgyNTkuaD4KKyNpbmNsdWRlIDxhc20vaXJxX3ZlY3RvcnMuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2xpdGhpdW0uaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvcGlpeDQuaD4KKworI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KKworZXh0ZXJuIGludCBub19icm9hZGNhc3Q7CisKKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CisKK2NoYXIgdmlzd3NfYm9hcmRfdHlwZQk9IC0xOworY2hhciB2aXN3c19ib2FyZF9yZXYJPSAtMTsKKworaW50IGlzX3Zpc3dzX2JveCh2b2lkKQoreworCXJldHVybiB2aXN3c19ib2FyZF90eXBlID49IDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX3RpbWVfaW5pdF9xdWlyayh2b2lkKQoreworCXByaW50ayhLRVJOX0lORk8gIlN0YXJ0aW5nIENvYmFsdCBUaW1lciBzeXN0ZW0gY2xvY2tcbiIpOworCisJLyogU2V0IHRoZSBjb3VudGRvd24gdmFsdWUgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX1RJTUVWQUwsIENPX1RJTUVfSFovSFopOworCisJLyogU3RhcnQgdGhlIHRpbWVyICovCisJY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgfCBDT19DVFJMX1RJTUVSVU4pOworCisJLyogRW5hYmxlICh1bm1hc2spIHRoZSB0aW1lciBpbnRlcnJ1cHQgKi8KKwljb19jcHVfd3JpdGUoQ09fQ1BVX0NUUkwsIGNvX2NwdV9yZWFkKENPX0NQVV9DVFJMKSAmIH5DT19DVFJMX1RJTUVNQVNLKTsKKworCS8qCisJICogWmVybyByZXR1cm4gbWVhbnMgdGhlIGdlbmVyaWMgdGltZXIgc2V0dXAgY29kZSB3aWxsIHNldCB1cAorCSAqIHRoZSBzdGFuZGFyZCB2ZWN0b3I6CisJICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHZpc3dzX3ByZV9pbnRyX2luaXRfcXVpcmsodm9pZCkKK3sKKwlpbml0X1ZJU1dTX0FQSUNfaXJxcygpOworCisJLyoKKwkgKiBXZSBkb250IHdhbnQgSVNBIGlycXMgdG8gYmUgc2V0IHVwIGJ5IHRoZSBnZW5lcmljIGNvZGU6CisJICovCisJcmV0dXJuIDE7Cit9CisKKy8qIFF1aXJrIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4gKi8KKworI2RlZmluZSBNQiAoMTAyNCAqIDEwMjQpCisKK3Vuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fcGh5czsKK3Vuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKK0VYUE9SVF9TWU1CT0woc2dpdndmYl9tZW1fcGh5cyk7CitFWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3NpemUpOworCitsb25nIGxvbmcgbWVtX3NpemUgX19pbml0ZGF0YSA9IDA7CisKK3N0YXRpYyBjaGFyICogX19pbml0IHZpc3dzX21lbW9yeV9zZXR1cF9xdWlyayh2b2lkKQoreworCWxvbmcgbG9uZyBnZnhfbWVtX3NpemUgPSA4ICogTUI7CisKKwltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKKworCWlmICghbWVtX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiQm9vdGxvYWRlciBkaWRuJ3Qgc2V0IG1lbW9yeSBzaXplLCB1cGdyYWRlIGl0ICFcbiIpOworCQltZW1fc2l6ZSA9IDEyOCAqIE1COworCX0KKworCS8qCisJICogdGhpcyBoYXJkY29kZXMgdGhlIGdyYXBoaWNzIG1lbW9yeSB0byA4IE1CCisJICogaXQgcmVhbGx5IHNob3VsZCBiZSBzaXplZCBkeW5hbWljYWxseSAob3IgYXQgbGVhc3QKKwkgKiBzZXQgYXMgYSBib290IHBhcmFtKQorCSAqLworCWlmICghc2dpdndmYl9tZW1fc2l6ZSkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJEZWZhdWx0aW5nIHRvIDggTUIgZnJhbWVidWZmZXIgc2l6ZVxuIik7CisJCXNnaXZ3ZmJfbWVtX3NpemUgPSA4ICogTUI7CisJfQorCisJLyoKKwkgKiBUcmltIHRvIG5lYXJlc3QgTUIKKwkgKi8KKwlzZ2l2d2ZiX21lbV9zaXplICY9IH4oKDEgPDwgMjApIC0gMSk7CisJc2dpdndmYl9tZW1fcGh5cyA9IG1lbV9zaXplIC0gZ2Z4X21lbV9zaXplOworCisJZTgyMF9hZGRfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOworCWU4MjBfYWRkX3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgLSBzZ2l2d2ZiX21lbV9zaXplIC0gSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKwllODIwX2FkZF9yZWdpb24oc2dpdndmYl9tZW1fcGh5cywgc2dpdndmYl9tZW1fc2l6ZSwgRTgyMF9SRVNFUlZFRCk7CisKKwlyZXR1cm4gIlBST00iOworfQorCitzdGF0aWMgdm9pZCB2aXN3c19tYWNoaW5lX2VtZXJnZW5jeV9yZXN0YXJ0KHZvaWQpCit7CisJLyoKKwkgKiBWaXN1YWwgV29ya3N0YXRpb25zIHJlc3RhcnQgYWZ0ZXIgdGhpcworCSAqIHJlZ2lzdGVyIGlzIHBva2VkIG9uIHRoZSBQSUlYNAorCSAqLworCW91dGIoUElJWDRfUkVTRVRfVkFMLCBQSUlYNF9SRVNFVF9QT1JUKTsKK30KKworc3RhdGljIHZvaWQgdmlzd3NfbWFjaGluZV9wb3dlcl9vZmYodm9pZCkKK3sKKwl1bnNpZ25lZCBzaG9ydCBwbV9zdGF0dXM7CisvKglleHRlcm4gdW5zaWduZWQgaW50IHBjaV9idXMwOyAqLworCisJd2hpbGUgKChwbV9zdGF0dXMgPSBpbncoUE1TVFNfUE9SVCkpICYgMHgxMDApCisJCW91dHcocG1fc3RhdHVzLCBQTVNUU19QT1JUKTsKKworCW91dHcoUE1fU1VTUEVORF9FTkFCTEUsIFBNQ05UUkxfUE9SVCk7CisKKwltZGVsYXkoMTApOworCisjZGVmaW5lIFBDSV9DT05GMV9BRERSRVNTKGJ1cywgZGV2Zm4sIHJlZykgXAorCSgweDgwMDAwMDAwIHwgKGJ1cyA8PCAxNikgfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgfjMpKQorCisvKglvdXRsKFBDSV9DT05GMV9BRERSRVNTKHBjaV9idXMwLCBTUEVDSUFMX0RFViwgU1BFQ0lBTF9SRUcpLCAweENGOCk7ICovCisJb3V0bChQSUlYX1NQRUNJQUxfU1RPUCwgMHhDRkMpOworfQorCitzdGF0aWMgaW50IF9faW5pdCB2aXN3c19nZXRfc21wX2NvbmZpZ19xdWlyayh1bnNpZ25lZCBpbnQgZWFybHkpCit7CisJLyoKKwkgKiBQcmV2ZW50IE1QLXRhYmxlIHBhcnNpbmcgYnkgdGhlIGdlbmVyaWMgY29kZToKKwkgKi8KKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIHVuc2lnbmVkIGludCBfX2NwdWluaXRkYXRhIG1heGNwdXM7CisKKy8qCisgKiBUaGUgVmlzdWFsIFdvcmtzdGF0aW9uIGlzIEludGVsIE1QIGNvbXBsaWFudCBpbiB0aGUgaGFyZHdhcmUKKyAqIHNlbnNlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgQklPUygtY29uZmlndXJhdGlvbiB0YWJsZSkuCisgKiBObyBwcm9ibGVtIGZvciBMaW51eC4KKyAqLworCitzdGF0aWMgdm9pZCBfX2luaXQgTVBfcHJvY2Vzc29yX2luZm8gKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSkKK3sKKwlpbnQgdmVyLCBsb2dpY2FsX2FwaWNpZDsKKwlwaHlzaWRfbWFza190IGFwaWNfY3B1czsKKworCWlmICghKG0tPm1wY19jcHVmbGFnICYgQ1BVX0VOQUJMRUQpKQorCQlyZXR1cm47CisKKwlsb2dpY2FsX2FwaWNpZCA9IG0tPm1wY19hcGljaWQ7CisJcHJpbnRrKEtFUk5fSU5GTyAiJXNDUFUgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZFxuIiwKKwkgICAgICAgbS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUiA/ICJCb290dXAgIiA6ICIiLAorCSAgICAgICBtLT5tcGNfYXBpY2lkLAorCSAgICAgICAobS0+bXBjX2NwdWZlYXR1cmUgJiBDUFVfRkFNSUxZX01BU0spID4+IDgsCisJICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9NT0RFTF9NQVNLKSA+PiA0LAorCSAgICAgICBtLT5tcGNfYXBpY3Zlcik7CisKKwlpZiAobS0+bXBjX2NwdWZsYWcgJiBDUFVfQk9PVFBST0NFU1NPUikKKwkJYm9vdF9jcHVfcGh5c2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKKworCXZlciA9IG0tPm1wY19hcGljdmVyOworCWlmICgodmVyID49IDB4MTQgJiYgbS0+bXBjX2FwaWNpZCA+PSAweGZmKSB8fCBtLT5tcGNfYXBpY2lkID49IDB4ZikgeworCQlwcmludGsoS0VSTl9FUlIgIlByb2Nlc3NvciAjJWQgSU5WQUxJRC4gKE1heCBJRDogJWQpLlxuIiwKKwkJCW0tPm1wY19hcGljaWQsIE1BWF9BUElDUyk7CisJCXJldHVybjsKKwl9CisKKwlhcGljX2NwdXMgPSBhcGljaWRfdG9fY3B1X3ByZXNlbnQobS0+bXBjX2FwaWNpZCk7CisJcGh5c2lkc19vcihwaHlzX2NwdV9wcmVzZW50X21hcCwgcGh5c19jcHVfcHJlc2VudF9tYXAsIGFwaWNfY3B1cyk7CisJLyoKKwkgKiBWYWxpZGF0ZSB2ZXJzaW9uCisJICovCisJaWYgKHZlciA9PSAweDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJCSU9TIGJ1ZywgQVBJQyB2ZXJzaW9uIGlzIDAgZm9yIENQVSMlZCEgIgorCQkJImZpeGluZyB1cCB0byAweDEwLiAodGVsbCB5b3VyIGh3IHZlbmRvcilcbiIsCisJCQltLT5tcGNfYXBpY2lkKTsKKwkJdmVyID0gMHgxMDsKKwl9CisJYXBpY192ZXJzaW9uW20tPm1wY19hcGljaWRdID0gdmVyOworfQorCitpbnQgX19pbml0IHZpc3dzX2ZpbmRfc21wX2NvbmZpZ19xdWlyayh1bnNpZ25lZCBpbnQgcmVzZXJ2ZSkKK3sKKwlzdHJ1Y3QgbXBjX2NvbmZpZ19wcm9jZXNzb3IgKm1wID0gcGh5c190b192aXJ0KENPX0NQVV9UQUJfUEhZUyk7CisJdW5zaWduZWQgc2hvcnQgbmNwdXMgPSByZWFkdyhwaHlzX3RvX3ZpcnQoQ09fQ1BVX05VTV9QSFlTKSk7CisKKwlpZiAobmNwdXMgPiBDT19DUFVfTUFYKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgImZpbmRfdmlzd3Nfc21wOiBnb3QgY3B1IGNvdW50IG9mICVkIGF0ICVwXG4iLAorCQkJbmNwdXMsIG1wKTsKKworCQluY3B1cyA9IENPX0NQVV9NQVg7CisJfQorCisJaWYgKG5jcHVzID4gbWF4Y3B1cykKKwkJbmNwdXMgPSBtYXhjcHVzOworCisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJc21wX2ZvdW5kX2NvbmZpZyA9IDE7CisjZW5kaWYKKwl3aGlsZSAobmNwdXMtLSkKKwkJTVBfcHJvY2Vzc29yX2luZm8obXArKyk7CisKKwltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKKworCXJldHVybiAxOworfQorCitleHRlcm4gaW50IHZpc3dzX3RyYXBfaW5pdF9xdWlyayh2b2lkKTsKKwordm9pZCBfX2luaXQgdmlzd3NfZWFybHlfZGV0ZWN0KHZvaWQpCit7CisJaW50IHJhdzsKKworCXZpc3dzX2JvYXJkX3R5cGUgPSAoY2hhcikoaW5iX3AoUElJWF9HUElfQkRfUkVHKSAmIFBJSVhfR1BJX0JEX1JFRykKKwkJCQkJCQkgPj4gUElJWF9HUElfQkRfU0hJRlQ7CisKKwlpZiAodmlzd3NfYm9hcmRfdHlwZSA8IDApCisJCXJldHVybjsKKworCS8qCisJICogSW5zdGFsbCBzcGVjaWFsIHF1aXJrcyBmb3IgdGltZXIsIGludGVycnVwdCBhbmQgbWVtb3J5IHNldHVwOgorCSAqLworCWFyY2hfdGltZV9pbml0X3F1aXJrCQk9IHZpc3dzX3RpbWVfaW5pdF9xdWlyazsKKwlhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmsJPSB2aXN3c19wcmVfaW50cl9pbml0X3F1aXJrOworCWFyY2hfbWVtb3J5X3NldHVwX3F1aXJrCQk9IHZpc3dzX21lbW9yeV9zZXR1cF9xdWlyazsKKworCS8qCisJICogRmFsbCBiYWNrIHRvIGdlbmVyaWMgYmVoYXZpb3IgZm9yIHRyYXBzOgorCSAqLworCWFyY2hfaW50cl9pbml0X3F1aXJrCQk9IE5VTEw7CisJYXJjaF90cmFwX2luaXRfcXVpcmsJCT0gdmlzd3NfdHJhcF9pbml0X3F1aXJrOworCisJLyoKKwkgKiBJbnN0YWxsIHJlYm9vdCBxdWlya3M6CisJICovCisJcG1fcG93ZXJfb2ZmCQkJPSB2aXN3c19tYWNoaW5lX3Bvd2VyX29mZjsKKwltYWNoaW5lX29wcy5lbWVyZ2VuY3lfcmVzdGFydAk9IHZpc3dzX21hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQ7CisKKwkvKgorCSAqIERvIG5vdCB1c2UgYnJvYWRjYXN0IElQSXM6CisJICovCisJbm9fYnJvYWRjYXN0ID0gMDsKKworCS8qCisJICogT3ZlcnJpZGUgZ2VuZXJpYyBNUC10YWJsZSBwYXJzaW5nOgorCSAqLworCW1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmsJPSB2aXN3c19nZXRfc21wX2NvbmZpZ19xdWlyazsKKwltYWNoX2ZpbmRfc21wX2NvbmZpZ19xdWlyawk9IHZpc3dzX2ZpbmRfc21wX2NvbmZpZ19xdWlyazsKKworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQworCS8qCisJICogVHVybiBvZmYgSU8tQVBJQyBkZXRlY3Rpb24gYW5kIGluaXRpYWxpemF0aW9uOgorCSAqLworCXNraXBfaW9hcGljX3NldHVwCQk9IDE7CisjZW5kaWYKKworCS8qCisJICogR2V0IEJvYXJkIHJldi4KKwkgKiBGaXJzdCwgd2UgaGF2ZSB0byBpbml0aWFsaXplIHRoZSAzMDcgcGFydCB0byBhbGxvdyB1cyBhY2Nlc3MKKwkgKiB0byB0aGUgR1BJTyByZWdpc3RlcnMuICBMZXQncyBtYXAgdGhlbSBhdCAweDBmYzAgd2hpY2ggaXMgcmlnaHQKKwkgKiBhZnRlciB0aGUgUElJWDQgUE0gc2VjdGlvbi4KKwkgKi8KKwlvdXRiX3AoU0lPX0RFVl9TRUwsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9ERVYsIFNJT19EQVRBKTsJLyogVGFsayB0byBHUElPIHJlZ3MuICovCisKKwlvdXRiX3AoU0lPX0RFVl9NU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9NU0IsIFNJT19EQVRBKTsJLyogTVNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19HUF9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIEdQSU8gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7CisJb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBHUElPIHJlZ2lzdGVycy4gKi8KKworCS8qCisJICogTm93LCB3ZSBoYXZlIHRvIG1hcCB0aGUgcG93ZXIgbWFuYWdlbWVudCBzZWN0aW9uIHRvIHdyaXRlCisJICogYSBiaXQgd2hpY2ggZW5hYmxlcyBhY2Nlc3MgdG8gdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqIFdoYXQgbHVuYXRpYyBjYW1lIHVwIHdpdGggdGhpcyBzaGl0PworCSAqLworCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KKworCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKKwlvdXRiX3AoU0lPX1BNX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCisKKwlvdXRiX3AoU0lPX0RFVl9MU0IsIFNJT19JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9MU0IsIFNJT19EQVRBKTsJLyogTFNCIG9mIFBNIGJhc2UgYWRkcmVzcyAqLworCisJb3V0Yl9wKFNJT19ERVZfRU5CLCBTSU9fSU5ERVgpOworCW91dGJfcCgxLCBTSU9fREFUQSk7CQkvKiBFbmFibGUgUE0gcmVnaXN0ZXJzLiAqLworCisJLyoKKwkgKiBOb3csIHdyaXRlIHRoZSBQTSByZWdpc3RlciB3aGljaCBlbmFibGVzIHRoZSBHUElPIHJlZ2lzdGVycy4KKwkgKi8KKwlvdXRiX3AoU0lPX1BNX0ZFUjIsIFNJT19QTV9JTkRFWCk7CisJb3V0Yl9wKFNJT19QTV9HUF9FTiwgU0lPX1BNX0RBVEEpOworCisJLyoKKwkgKiBOb3csIGluaXRpYWxpemUgdGhlIEdQSU8gcmVnaXN0ZXJzLgorCSAqIFdlIHdhbnQgdGhlbSBhbGwgdG8gYmUgaW5wdXRzIHdoaWNoIGlzIHRoZQorCSAqIHBvd2VyIG9uIGRlZmF1bHQsIHNvIGxldCdzIGxlYXZlIHRoZW0gYWxvbmUuCisJICogU28sIGxldCdzIGp1c3QgcmVhZCB0aGUgYm9hcmQgcmV2IQorCSAqLworCXJhdyA9IGluYl9wKFNJT19HUF9EQVRBMSk7CisJcmF3ICY9IDB4N2Y7CS8qIDcgYml0cyBvZiB2YWxpZCBib2FyZCByZXZpc2lvbiBJRC4gKi8KKworCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCkgeworCQlpZiAocmF3IDwgMHg2KSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSA0OworCQl9IGVsc2UgaWYgKHJhdyA8IDB4YykgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gNTsKKwkJfSBlbHNlIHsKKwkJCXZpc3dzX2JvYXJkX3JldiA9IDY7CisJCX0KKwl9IGVsc2UgaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfNTQwKSB7CisJCQl2aXN3c19ib2FyZF9yZXYgPSAyOworCQl9IGVsc2UgeworCQkJdmlzd3NfYm9hcmRfcmV2ID0gcmF3OworCQl9CisKKwlwcmludGsoS0VSTl9JTkZPICJTaWxpY29uIEdyYXBoaWNzIFZpc3VhbCBXb3Jrc3RhdGlvbiAlcyAocmV2ICVkKSBkZXRlY3RlZFxuIiwKKwkgICAgICAgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwID8gIjMyMCIgOgorCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDAgPyAiNTQwIiA6CisJCSJ1bmtub3duIikpLCB2aXN3c19ib2FyZF9yZXYpOworfQorCisjZGVmaW5lIEEwMTIzNCAoTElfSU5UQV8wIHwgTElfSU5UQV8xIHwgTElfSU5UQV8yIHwgTElfSU5UQV8zIHwgTElfSU5UQV80KQorI2RlZmluZSBCQ0QgKExJX0lOVEIgfCBMSV9JTlRDIHwgTElfSU5URCkKKyNkZWZpbmUgQUxMREVWUyAoQTAxMjM0IHwgQkNEKQorCitzdGF0aWMgX19pbml0IHZvaWQgbGl0aGl1bV9pbml0KHZvaWQpCit7CisJc2V0X2ZpeG1hcChGSVhfTElfUENJQSwgTElfUENJX0FfUEhZUyk7CisJc2V0X2ZpeG1hcChGSVhfTElfUENJQiwgTElfUENJX0JfUEhZUyk7CisKKwlpZiAoKGxpX3BjaWFfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAorCSAgICAobGlfcGNpYV9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKKwkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdBJyk7CisvKgkJcGFuaWMoIlRoaXMgbWFjaGluZSBpcyBub3QgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiAzMjAvNTQwIik7ICovCisJfQorCisJaWYgKChsaV9wY2liX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKKwkgICAgKGxpX3BjaWJfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7CisJCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQicpOworLyoJCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOyAqLworCX0KKworCWxpX3BjaWFfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOworCWxpX3BjaWJfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOworfQorCitzdGF0aWMgX19pbml0IHZvaWQgY29iYWx0X2luaXQodm9pZCkKK3sKKwkvKgorCSAqIE9uIG5vcm1hbCBTTVAgUEMgdGhpcyBpcyB1c2VkIG9ubHkgd2l0aCBTTVAsIGJ1dCB3ZSBoYXZlIHRvCisJICogdXNlIGl0IGFuZCBzZXQgaXQgdXAgaGVyZSB0byBzdGFydCB0aGUgQ29iYWx0IGNsb2NrCisJICovCisJc2V0X2ZpeG1hcChGSVhfQVBJQ19CQVNFLCBBUElDX0RFRkFVTFRfUEhZU19CQVNFKTsKKwlzZXR1cF9sb2NhbF9BUElDKCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBWZXJzaW9uICUjeCwgSUQgJSN4XG4iLAorCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0xWUiksCisJCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfSUQpKTsKKworCXNldF9maXhtYXAoRklYX0NPX0NQVSwgQ09fQ1BVX1BIWVMpOworCXNldF9maXhtYXAoRklYX0NPX0FQSUMsIENPX0FQSUNfUEhZUyk7CisJcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IFJldmlzaW9uICUjbHgsIEFQSUMgSUQgJSNseFxuIiwKKwkJY29fY3B1X3JlYWQoQ09fQ1BVX1JFViksIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7CisKKwkvKiBFbmFibGUgQ29iYWx0IEFQSUMgYmVpbmcgY2FyZWZ1bCB0byBOT1QgY2hhbmdlIHRoZSBJRCEgKi8KKwljb19hcGljX3dyaXRlKENPX0FQSUNfSUQsIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSB8IENPX0FQSUNfRU5BQkxFKTsKKworCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBBUElDIGVuYWJsZWQ6IElEIHJlZyAlI2x4XG4iLAorCQljb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOworfQorCitpbnQgX19pbml0IHZpc3dzX3RyYXBfaW5pdF9xdWlyayh2b2lkKQoreworCWxpdGhpdW1faW5pdCgpOworCWNvYmFsdF9pbml0KCk7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIElSUSBjb250cm9sbGVyIC8gQVBJQyBzdXBwb3J0OgorICovCisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soY29iYWx0X2xvY2spOworCisvKgorICogU2V0IHRoZSBnaXZlbiBDb2JhbHQgQVBJQyBSZWRpcmVjdGlvbiBUYWJsZSBlbnRyeSB0byBwb2ludAorICogdG8gdGhlIGdpdmVuIElEVCB2ZWN0b3IvaW5kZXguCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBjb19hcGljX3NldChpbnQgZW50cnksIGludCBpcnEpCit7CisJY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19MRVZFTCB8IChpcnEgKyBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpKTsKKwljb19hcGljX3dyaXRlKENPX0FQSUNfSEkoZW50cnkpLCAwKTsKK30KKworLyoKKyAqIENvYmFsdCAoSU8pLUFQSUMgZnVuY3Rpb25zIHRvIGhhbmRsZSBQQ0kgZGV2aWNlcy4KKyAqLworc3RhdGljIGlubGluZSBpbnQgY29fYXBpY19pZGUwX2hhY2sodm9pZCkKK3sKKwlleHRlcm4gY2hhciB2aXN3c19ib2FyZF90eXBlOworCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3JldjsKKworCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCAmJiB2aXN3c19ib2FyZF9yZXYgPT0gNSkKKwkJcmV0dXJuIDU7CisJcmV0dXJuIENPX0FQSUNfSURFMDsKK30KKworc3RhdGljIGludCBpc19jb19hcGljKHVuc2lnbmVkIGludCBpcnEpCit7CisJaWYgKElTX0NPX0FQSUMoaXJxKSkKKwkJcmV0dXJuIENPX0FQSUMoaXJxKTsKKworCXN3aXRjaCAoaXJxKSB7CisJCWNhc2UgMDogcmV0dXJuIENPX0FQSUNfQ1BVOworCQljYXNlIENPX0lSUV9JREUwOiByZXR1cm4gY29fYXBpY19pZGUwX2hhY2soKTsKKwkJY2FzZSBDT19JUlFfSURFMTogcmV0dXJuIENPX0FQSUNfSURFMTsKKwkJZGVmYXVsdDogcmV0dXJuIC0xOworCX0KK30KKworCisvKgorICogVGhpcyBpcyB0aGUgU0dJIENvYmFsdCAoSU8tKUFQSUM6CisgKi8KKworc3RhdGljIHZvaWQgZW5hYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwljb19hcGljX3NldChpc19jb19hcGljKGlycSksIGlycSk7Cit9CisKK3N0YXRpYyB2b2lkIGRpc2FibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWludCBlbnRyeSA9IGlzX2NvX2FwaWMoaXJxKTsKKworCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTUFTSyk7CisJY29fYXBpY19yZWFkKENPX0FQSUNfTE8oZW50cnkpKTsKK30KKworLyoKKyAqICJpcnEiIHJlYWxseSBqdXN0IHNlcnZlcyB0byBpZGVudGlmeSB0aGUgZGV2aWNlLiAgSGVyZSBpcyB3aGVyZSB3ZQorICogbWFwIHRoaXMgdG8gdGhlIENvYmFsdCBBUElDIGVudHJ5IHdoZXJlIGl0J3MgcGh5c2ljYWxseSB3aXJlZC4KKyAqIFRoaXMgaXMgY2FsbGVkIHZpYSByZXF1ZXN0X2lycSAtPiBzZXR1cF9pcnEgLT4gaXJxX2Rlc2MtPnN0YXJ0dXAoKQorICovCitzdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKKwlpZiAoKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpKSkKKwkJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfihJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKTsKKwllbmFibGVfY29iYWx0X2lycShpcnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGFja19jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworCWRpc2FibGVfY29iYWx0X2lycShpcnEpOworCWFwaWNfd3JpdGUoQVBJQ19FT0ksIEFQSUNfRUlPX0FDSyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgZW5kX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJaWYgKCEoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MpKSkKKwkJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIGNvYmFsdF9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiQ29iYWx0LUFQSUMiLAorCS5zdGFydHVwID0Jc3RhcnR1cF9jb2JhbHRfaXJxLAorCS5zaHV0ZG93biA9CWRpc2FibGVfY29iYWx0X2lycSwKKwkuZW5hYmxlID0JZW5hYmxlX2NvYmFsdF9pcnEsCisJLmRpc2FibGUgPQlkaXNhYmxlX2NvYmFsdF9pcnEsCisJLmFjayA9CQlhY2tfY29iYWx0X2lycSwKKwkuZW5kID0JCWVuZF9jb2JhbHRfaXJxLAorfTsKKworCisvKgorICogVGhpcyBpcyB0aGUgUElJWDQtYmFzZWQgODI1OSB0aGF0IGlzIHdpcmVkIHVwIGluZGlyZWN0bHkgdG8gQ29iYWx0CisgKiAtLSBub3QgdGhlIG1hbm5lciBleHBlY3RlZCBieSB0aGUgY29kZSBpbiBpODI1OS5jLgorICoKKyAqIHRoZXJlIGlzIGEgJ21hc3RlcicgcGh5c2ljYWwgaW50ZXJydXB0IHNvdXJjZSB0aGF0IGdldHMgc2VudCB0bworICogdGhlIENQVS4gQnV0IGluIHRoZSBjaGlwc2V0IHRoZXJlIGFyZSB2YXJpb3VzICd2aXJ0dWFsJyBpbnRlcnJ1cHRzCisgKiB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuIFdlIHJlcHJlc2VudCB0aGlzIHRvIExpbnV4IHRocm91Z2ggYSAnbWFzdGVyJworICogaW50ZXJydXB0IGNvbnRyb2xsZXIgdHlwZSwgYW5kIHRocm91Z2ggYSBzcGVjaWFsIHZpcnR1YWwgaW50ZXJydXB0LQorICogY29udHJvbGxlci4gRGV2aWNlIGRyaXZlcnMgb25seSBzZWUgdGhlIHZpcnR1YWwgaW50ZXJydXB0IHNvdXJjZXMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCit7CisJaW5pdF84MjU5QSgwKTsKKworCXJldHVybiBzdGFydHVwX2NvYmFsdF9pcnEoaXJxKTsKK30KKworc3RhdGljIHZvaWQgZW5kX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7CisJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X21hc3Rlcl9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiUElJWDQtbWFzdGVyIiwKKwkuc3RhcnR1cCA9CXN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSwKKwkuYWNrID0JCWFja19jb2JhbHRfaXJxLAorCS5lbmQgPQkJZW5kX3BpaXg0X21hc3Rlcl9pcnEsCit9OworCisKK3N0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfdmlydHVhbF9pcnFfdHlwZSA9IHsKKwkudHlwZW5hbWUgPQkiUElJWDQtdmlydHVhbCIsCisJLnNodXRkb3duID0JZGlzYWJsZV84MjU5QV9pcnEsCisJLmVuYWJsZSA9CWVuYWJsZV84MjU5QV9pcnEsCisJLmRpc2FibGUgPQlkaXNhYmxlXzgyNTlBX2lycSwKK307CisKKworLyoKKyAqIFBJSVg0LTgyNTkgbWFzdGVyL3ZpcnR1YWwgZnVuY3Rpb25zIHRvIGhhbmRsZSBpbnRlcnJ1cHQgcmVxdWVzdHMKKyAqIGZyb20gbGVnYWN5IGRldmljZXM6IGZsb3BweSwgcGFyYWxsZWwsIHNlcmlhbCwgcnRjLgorICoKKyAqIE5vbmUgb2YgdGhlc2UgZ2V0IENvYmFsdCBBUElDIGVudHJpZXMsIG5laXRoZXIgZG8gdGhleSBoYXZlIElEVAorICogZW50cmllcy4gVGhlc2UgaW50ZXJydXB0cyBhcmUgcHVyZWx5IHZpcnR1YWwgYW5kIGRpc3RyaWJ1dGVkIGZyb20KKyAqIHRoZSAnbWFzdGVyJyBpbnRlcnJ1cHQgc291cmNlOiBDT19JUlFfODI1OS4KKyAqCisgKiBXaGVuIHRoZSA4MjU5IGludGVycnVwdHMgaXRzIGhhbmRsZXIgZmlndXJlcyBvdXQgd2hpY2ggb2YgdGhlc2UKKyAqIGRldmljZXMgaXMgaW50ZXJydXB0aW5nIGFuZCBkaXNwYXRjaGVzIHRvIGl0cyBoYW5kbGVyLgorICoKKyAqIENBUkVGVUw6IGRldmljZXMgc2VlIHRoZSAndmlydHVhbCcgaW50ZXJydXB0IG9ubHkuIFRodXMgZGlzYWJsZS8KKyAqIGVuYWJsZV9pcnEgZ2V0cyB0aGUgcmlnaHQgaXJxLiBUaGlzICdtYXN0ZXInIGlycSBpcyBuZXZlciBkaXJlY3RseQorICogbWFuaXB1bGF0ZWQgYnkgYW55IGRyaXZlci4KKyAqLworc3RhdGljIGlycXJldHVybl90IHBpaXg0X21hc3Rlcl9pbnRyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlpbnQgcmVhbGlycTsKKwlpcnFfZGVzY190ICpkZXNjOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKworCS8qIEZpbmQgb3V0IHdoYXQncyBpbnRlcnJ1cHRpbmcgaW4gdGhlIFBJSVg0IG1hc3RlciA4MjU5ICovCisJb3V0YigweDBjLCAweDIwKTsJCS8qIE9DVzMgUG9sbCBjb21tYW5kICovCisJcmVhbGlycSA9IGluYigweDIwKTsKKworCS8qCisJICogQml0IDcgPT0gMCBtZWFucyBpbnZhbGlkL3NwdXJpb3VzCisJICovCisJaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJcmVhbGlycSAmPSA3OworCisJaWYgKHVubGlrZWx5KHJlYWxpcnEgPT0gMikpIHsKKwkJb3V0YigweDBjLCAweGEwKTsKKwkJcmVhbGlycSA9IGluYigweGEwKTsKKworCQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQorCQkJZ290byBvdXRfdW5sb2NrOworCisJCXJlYWxpcnEgPSAocmVhbGlycSAmIDcpICsgODsKKwl9CisKKwkvKiBtYXNrIGFuZCBhY2sgaW50ZXJydXB0ICovCisJY2FjaGVkX2lycV9tYXNrIHw9IDEgPDwgcmVhbGlycTsKKwlpZiAodW5saWtlbHkocmVhbGlycSA+IDcpKSB7CisJCWluYigweGExKTsKKwkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgMHhhMSk7CisJCW91dGIoMHg2MCArIChyZWFsaXJxICYgNyksIDB4YTApOworCQlvdXRiKDB4NjAgKyAyLCAweDIwKTsKKwl9IGVsc2UgeworCQlpbmIoMHgyMSk7CisJCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCAweDIxKTsKKwkJb3V0YigweDYwICsgcmVhbGlycSwgMHgyMCk7CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKKworCWRlc2MgPSBpcnFfZGVzYyArIHJlYWxpcnE7CisKKwkvKgorCSAqIGhhbmRsZSB0aGlzICd2aXJ0dWFsIGludGVycnVwdCcgYXMgYSBDb2JhbHQgb25lIG5vdy4KKwkgKi8KKwlrc3RhdF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKS5pcnFzW3JlYWxpcnFdKys7CisKKwlpZiAobGlrZWx5KGRlc2MtPmFjdGlvbiAhPSBOVUxMKSkKKwkJaGFuZGxlX0lSUV9ldmVudChyZWFsaXJxLCBkZXNjLT5hY3Rpb24pOworCisJaWYgKCEoZGVzYy0+c3RhdHVzICYgSVJRX0RJU0FCTEVEKSkKKwkJZW5hYmxlXzgyNTlBX2lycShyZWFsaXJxKTsKKworCXJldHVybiBJUlFfSEFORExFRDsKKworb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOworCXJldHVybiBJUlFfTk9ORTsKK30KKworc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbWFzdGVyX2FjdGlvbiA9IHsKKwkuaGFuZGxlciA9CXBpaXg0X21hc3Rlcl9pbnRyLAorCS5uYW1lID0JCSJQSUlYNC04MjU5IiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGNhc2NhZGVfYWN0aW9uID0geworCS5oYW5kbGVyID0gCW5vX2FjdGlvbiwKKwkubmFtZSA9CQkiY2FzY2FkZSIsCit9OworCisKK3ZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBDT19JUlFfQVBJQzAgKyBDT19BUElDX0xBU1QgKyAxOyBpKyspIHsKKwkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOworCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSAwOworCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7CisKKwkJaWYgKGkgPT0gMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA9PSBDT19JUlFfODI1OSkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF9tYXN0ZXJfaXJxX3R5cGU7CisJCX0KKwkJZWxzZSBpZiAoaSA8IENPX0lSUV9BUElDMCkgeworCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF92aXJ0dWFsX2lycV90eXBlOworCQl9CisJCWVsc2UgaWYgKElTX0NPX0FQSUMoaSkpIHsKKwkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOworCQl9CisJfQorCisJc2V0dXBfaXJxKENPX0lSUV84MjU5LCAmbWFzdGVyX2FjdGlvbik7CisJc2V0dXBfaXJxKDIsICZjYXNjYWRlX2FjdGlvbik7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1pXzMyLmMKaW5kZXggOTU2ZjM4OS4uYjE1MzQ2MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtaV8zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWlfMzIuYwpAQCAtMTUxLDcgKzE1MSw3IEBACiAJCQkJCSAgICAgIGluc25zLCBpcCk7CiAJCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcmV0KToKIAkJCXJldHVybiBwYXRjaF9pbnRlcm5hbChWTUlfQ0FMTF9JUkVULCBsZW4sIGluc25zLCBpcCk7Ci0JCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KToKKwkJY2FzZSBQQVJBVklSVF9QQVRDSChwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzZXhpdCk6CiAJCQlyZXR1cm4gcGF0Y2hfaW50ZXJuYWwoVk1JX0NBTExfU1lTRVhJVCwgbGVuLCBpbnNucywgaXApOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CkBAIC04OTYsNyArODk2LDcgQEAKIAkgKiB0aGUgYmFja2VuZC4gIFRoZXkgYXJlIHBlcmZvcm1hbmNlIGNyaXRpY2FsIGFueXdheSwgc28gcmVxdWlyaW5nCiAJICogYSBwYXRjaCBpcyBub3QgYSBiaWcgcHJvYmxlbS4KIAkgKi8KLQlwdl9jcHVfb3BzLmlycV9lbmFibGVfc3lzY2FsbF9yZXQgPSAodm9pZCAqKTB4ZmVlZGJhYjA7CisJcHZfY3B1X29wcy5pcnFfZW5hYmxlX3N5c2V4aXQgPSAodm9pZCAqKTB4ZmVlZGJhYjA7CiAJcHZfY3B1X29wcy5pcmV0ID0gKHZvaWQgKikweGJhZGJhYjA7CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC05MzIsNyArOTMyLDcgQEAKIAkJcHZfYXBpY19vcHMuc2V0dXBfc2Vjb25kYXJ5X2Nsb2NrID0gdm1pX3RpbWVfYXBfaW5pdDsKICNlbmRpZgogCQlwdl90aW1lX29wcy5zY2hlZF9jbG9jayA9IHZtaV9zY2hlZF9jbG9jazsKLSAJCXB2X3RpbWVfb3BzLmdldF9jcHVfa2h6ID0gdm1pX2NwdV9raHo7CisJCXB2X3RpbWVfb3BzLmdldF90c2Nfa2h6ID0gdm1pX3RzY19raHo7CiAKIAkJLyogV2UgaGF2ZSB0cnVlIHdhbGxjbG9jayBmdW5jdGlvbnM7IGRpc2FibGUgQ01PUyBjbG9jayBzeW5jICovCiAJCW5vX3N5bmNfY21vc19jbG9jayA9IDE7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvdm1pY2xvY2tfMzIuYyBiL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCmluZGV4IGEyYjAzMDcuLjY5NTM4NTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWljbG9ja18zMi5jCkBAIC0zMyw4ICszMyw3IEBACiAjaW5jbHVkZSA8YXNtL2FwaWMuaD4KICNpbmNsdWRlIDxhc20vdGltZXIuaD4KICNpbmNsdWRlIDxhc20vaTgyNTMuaD4KLQotI2luY2x1ZGUgPGlycV92ZWN0b3JzLmg+CisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CiAKICNkZWZpbmUgVk1JX09ORVNIT1QgIChWTUlfQUxBUk1fSVNfT05FU0hPVCAgfCBWTUlfQ1lDTEVTX1JFQUwgfCB2bWlfZ2V0X2FsYXJtX3dpcmluZygpKQogI2RlZmluZSBWTUlfUEVSSU9ESUMgKFZNSV9BTEFSTV9JU19QRVJJT0RJQyB8IFZNSV9DWUNMRVNfUkVBTCB8IHZtaV9nZXRfYWxhcm1fd2lyaW5nKCkpCkBAIC03MCw4ICs2OSw4IEBACiAJcmV0dXJuIGN5Y2xlc18yX25zKHZtaV90aW1lcl9vcHMuZ2V0X2N5Y2xlX2NvdW50ZXIoVk1JX0NZQ0xFU19BVkFJTEFCTEUpKTsKIH0KIAotLyogcGFyYXZpcnRfb3BzLmdldF9jcHVfa2h6ID0gdm1pX2NwdV9raHogKi8KLXVuc2lnbmVkIGxvbmcgdm1pX2NwdV9raHoodm9pZCkKKy8qIHBhcmF2aXJ0X29wcy5nZXRfdHNjX2toeiA9IHZtaV90c2Nfa2h6ICovCit1bnNpZ25lZCBsb25nIHZtaV90c2Nfa2h6KHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBsb25nIGtoejsKIAlraHogPSB2bWlfdGltZXJfb3BzLmdldF9jeWNsZV9mcmVxdWVuY3koKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4XzMyLmxkcy5TIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKaW5kZXggY2U1ZWQwOC4uY2RiMjM2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKKysrIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXhfMzIubGRzLlMKQEAgLTQ5LDIzICs0OSwxNCBAQAogICAJX2V0ZXh0ID0gLjsJCQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAgIH0gOnRleHQgPSAweDkwOTAKIAorICBOT1RFUyA6dGV4dCA6bm90ZQorCiAgIC4gPSBBTElHTigxNik7CQkvKiBFeGNlcHRpb24gdGFibGUgKi8KICAgX19leF90YWJsZSA6IEFUKEFERFIoX19leF90YWJsZSkgLSBMT0FEX09GRlNFVCkgewogICAJX19zdGFydF9fX2V4X3RhYmxlID0gLjsKIAkgKihfX2V4X3RhYmxlKQogICAJX19zdG9wX19fZXhfdGFibGUgPSAuOwotICB9Ci0KLSAgTk9URVMgOnRleHQgOm5vdGUKLQotICBCVUdfVEFCTEUgOnRleHQKLQotICAuID0gQUxJR04oNCk7Ci0gIC50cmFjZWRhdGEgOiBBVChBRERSKC50cmFjZWRhdGEpIC0gTE9BRF9PRkZTRVQpIHsKLSAgCV9fdHJhY2VkYXRhX3N0YXJ0ID0gLjsKLQkqKC50cmFjZWRhdGEpCi0gIAlfX3RyYWNlZGF0YV9lbmQgPSAuOwotICB9CisgIH0gOnRleHQgPSAweDkwOTAKIAogICBST0RBVEEKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZtbGludXhfNjQubGRzLlMgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUwppbmRleCBmYWQzNjc0Li42M2U1YzFhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdm1saW51eF82NC5sZHMuUwpAQCAtMTksNyArMTksNyBAQAogCWRhdGEgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCiAJdXNlciBQVF9MT0FEIEZMQUdTKDcpOwkvKiBSV0UgKi8KIAlkYXRhLmluaXQgUFRfTE9BRCBGTEFHUyg3KTsJLyogUldFICovCi0Jbm90ZSBQVF9OT1RFIEZMQUdTKDQpOwkvKiBSX18gKi8KKwlub3RlIFBUX05PVEUgRkxBR1MoMCk7CS8qIF9fXyAqLwogfQogU0VDVElPTlMKIHsKQEAgLTQwLDI2ICs0MCwxNyBAQAogCV9ldGV4dCA9IC47CQkvKiBFbmQgb2YgdGV4dCBzZWN0aW9uICovCiAgIH0gOnRleHQgPSAweDkwOTAKIAorICBOT1RFUyA6dGV4dCA6bm90ZQorCiAgIC4gPSBBTElHTigxNik7CQkvKiBFeGNlcHRpb24gdGFibGUgKi8KICAgX19leF90YWJsZSA6IEFUKEFERFIoX19leF90YWJsZSkgLSBMT0FEX09GRlNFVCkgewogICAJX19zdGFydF9fX2V4X3RhYmxlID0gLjsKIAkgKihfX2V4X3RhYmxlKQogICAJX19zdG9wX19fZXhfdGFibGUgPSAuOwotICB9Ci0KLSAgTk9URVMgOnRleHQgOm5vdGUKLQotICBCVUdfVEFCTEUgOnRleHQKKyAgfSA6dGV4dCA9IDB4OTA5MAogCiAgIFJPREFUQQogCi0gIC4gPSBBTElHTig0KTsKLSAgLnRyYWNlZGF0YSA6IEFUKEFERFIoLnRyYWNlZGF0YSkgLSBMT0FEX09GRlNFVCkgewotICAJX190cmFjZWRhdGFfc3RhcnQgPSAuOwotCSooLnRyYWNlZGF0YSkKLSAgCV9fdHJhY2VkYXRhX2VuZCA9IC47Ci0gIH0KLQogICAuID0gQUxJR04oUEFHRV9TSVpFKTsJCS8qIEFsaWduIGRhdGEgc2VnbWVudCB0byBwYWdlIHNpemUgYm91bmRhcnkgKi8KIAkJCQkvKiBEYXRhICovCiAgIC5kYXRhIDogQVQoQUREUiguZGF0YSkgLSBMT0FEX09GRlNFVCkgewpAQCAtMTc3LDYgKzE2OCw3IEBACiAJKiguY29uX2luaXRjYWxsLmluaXQpCiAgIH0KICAgX19jb25faW5pdGNhbGxfZW5kID0gLjsKKyAgLiA9IEFMSUdOKDE2KTsKICAgX194ODZjcHV2ZW5kb3Jfc3RhcnQgPSAuOwogICAueDg2Y3B1dmVuZG9yLmluaXQgOiBBVChBRERSKC54ODZjcHV2ZW5kb3IuaW5pdCkgLSBMT0FEX09GRlNFVCkgewogCSooLng4NmNwdXZlbmRvci5pbml0KQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYyBiL2FyY2gveDg2L2tlcm5lbC92c21wXzY0LmMKaW5kZXggYmE4YzBiNy4uMGMwMjllOCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL3ZzbXBfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvdnNtcF82NC5jCkBAIC0xNSw5ICsxNSwxMiBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2lfaWRzLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpX3JlZ3MuaD4KKworI2luY2x1ZGUgPGFzbS9hcGljLmg+CiAjaW5jbHVkZSA8YXNtL3BjaS1kaXJlY3QuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KKyNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogI2lmIGRlZmluZWQgQ09ORklHX1BDSSAmJiBkZWZpbmVkIENPTkZJR19QQVJBVklSVAogLyoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92c3lzY2FsbF82NC5jIGIvYXJjaC94ODYva2VybmVsL3ZzeXNjYWxsXzY0LmMKaW5kZXggNjFlZmEyZi4uMGI4YjY2OTAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92c3lzY2FsbF82NC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC92c3lzY2FsbF82NC5jCkBAIC00Miw3ICs0Miw4IEBACiAjaW5jbHVkZSA8YXNtL3RvcG9sb2d5Lmg+CiAjaW5jbHVkZSA8YXNtL3ZndG9kLmg+CiAKLSNkZWZpbmUgX192c3lzY2FsbChucikgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCxfX3NlY3Rpb25fXygiLnZzeXNjYWxsXyIgI25yKSkpCisjZGVmaW5lIF9fdnN5c2NhbGwobnIpIFwKKwkJX19hdHRyaWJ1dGVfXyAoKHVudXNlZCwgX19zZWN0aW9uX18oIi52c3lzY2FsbF8iICNucikpKSBub3RyYWNlCiAjZGVmaW5lIF9fc3lzY2FsbF9jbG9iYmVyICJyMTEiLCJjeCIsIm1lbW9yeSIKIAogLyoKQEAgLTI0OSw3ICsyNTAsNyBAQAogICAgZG9lc24ndCB2aW9sYXRlIHRoYXQuIFdlJ2xsIGZpbmQgb3V0IGlmIGl0IGRvZXMuICovCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgdnN5c2NhbGxfc2V0X2NwdShpbnQgY3B1KQogewotCXVuc2lnbmVkIGxvbmcgKmQ7CisJdW5zaWduZWQgbG9uZyBkOwogCXVuc2lnbmVkIGxvbmcgbm9kZSA9IDA7CiAjaWZkZWYgQ09ORklHX05VTUEKIAlub2RlID0gY3B1X3RvX25vZGUoY3B1KTsKQEAgLTI2MCwxMSArMjYxLDExIEBACiAJLyogU3RvcmUgY3B1IG51bWJlciBpbiBsaW1pdCBzbyB0aGF0IGl0IGNhbiBiZSBsb2FkZWQgcXVpY2tseQogCSAgIGluIHVzZXIgc3BhY2UgaW4gdmdldGNwdS4KIAkgICAxMiBiaXRzIGZvciB0aGUgQ1BVIGFuZCA4IGJpdHMgZm9yIHRoZSBub2RlLiAqLwotCWQgPSAodW5zaWduZWQgbG9uZyAqKShnZXRfY3B1X2dkdF90YWJsZShjcHUpICsgR0RUX0VOVFJZX1BFUl9DUFUpOwotCSpkID0gMHgwZjQwMDAwMDAwMDAwVUxMOwotCSpkIHw9IGNwdTsKLQkqZCB8PSAobm9kZSAmIDB4ZikgPDwgMTI7Ci0JKmQgfD0gKG5vZGUgPj4gNCkgPDwgNDg7CisJZCA9IDB4MGY0MDAwMDAwMDAwMFVMTDsKKwlkIHw9IGNwdTsKKwlkIHw9IChub2RlICYgMHhmKSA8PCAxMjsKKwlkIHw9IChub2RlID4+IDQpIDw8IDQ4OworCXdyaXRlX2dkdF9lbnRyeShnZXRfY3B1X2dkdF90YWJsZShjcHUpLCBHRFRfRU5UUllfUEVSX0NQVSwgJmQsIERFU0NUWVBFX1MpOwogfQogCiBzdGF0aWMgdm9pZCBfX2NwdWluaXQgY3B1X3ZzeXNjYWxsX2luaXQodm9pZCAqYXJnKQpAQCAtMjc4LDcgKzI3OSw3IEBACiB7CiAJbG9uZyBjcHUgPSAobG9uZylhcmc7CiAJaWYgKGFjdGlvbiA9PSBDUFVfT05MSU5FIHx8IGFjdGlvbiA9PSBDUFVfT05MSU5FX0ZST1pFTikKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgY3B1X3ZzeXNjYWxsX2luaXQsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBjcHVfdnN5c2NhbGxfaW5pdCwgTlVMTCwgMSk7CiAJcmV0dXJuIE5PVElGWV9ET05FOwogfQogCkBAIC0zMDEsNyArMzAyLDcgQEAKICNpZmRlZiBDT05GSUdfU1lTQ1RMCiAJcmVnaXN0ZXJfc3lzY3RsX3RhYmxlKGtlcm5lbF9yb290X3RhYmxlMik7CiAjZW5kaWYKLQlvbl9lYWNoX2NwdShjcHVfdnN5c2NhbGxfaW5pdCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoY3B1X3ZzeXNjYWxsX2luaXQsIE5VTEwsIDEpOwogCWhvdGNwdV9ub3RpZmllcihjcHVfdnN5c2NhbGxfbm90aWZpZXIsIDApOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3g4NjY0X2tzeW1zXzY0LmMgYi9hcmNoL3g4Ni9rZXJuZWwveDg2NjRfa3N5bXNfNjQuYwppbmRleCBmNmMwNWQwLi5iNTQ1ZjM3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwveDg2NjRfa3N5bXNfNjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwveDg2NjRfa3N5bXNfNjQuYwpAQCAtMiwxMyArMiwyMCBAQAogICAgQWxsIEMgZXhwb3J0cyBzaG91bGQgZ28gaW4gdGhlIHJlc3BlY3RpdmUgQyBmaWxlcy4gKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPG5ldC9jaGVja3N1bS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogCisjaW5jbHVkZSA8bmV0L2NoZWNrc3VtLmg+CisKICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+Ci0jaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2Rlc2MuaD4KKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisvKiBtY291bnQgaXMgZGVmaW5lZCBpbiBhc3NlbWJseSAqLworRVhQT1JUX1NZTUJPTChtY291bnQpOworI2VuZGlmCiAKIEVYUE9SVF9TWU1CT0woa2VybmVsX3RocmVhZCk7CiAKQEAgLTUzLDggKzYwLDMgQEAKIEVYUE9SVF9TWU1CT0wobG9hZF9nc19pbmRleCk7CiAKIEVYUE9SVF9TWU1CT0woX3Byb3h5X3BkYSk7Ci0KLSNpZmRlZiBDT05GSUdfUEFSQVZJUlQKLS8qIFZpcnR1YWxpemVkIGd1ZXN0cyBtYXkgd2FudCB0byB1c2UgaXQgKi8KLUVYUE9SVF9TWU1CT0xfR1BMKGNwdV9nZHRfZGVzY3IpOwotI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0vdm14LmMgYi9hcmNoL3g4Ni9rdm0vdm14LmMKaW5kZXggNTQwZTk1MS4uMTBjZTZlZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva3ZtL3ZteC5jCisrKyBiL2FyY2gveDg2L2t2bS92bXguYwpAQCAtMzM1LDcgKzMzNSw3IEBACiB7CiAJaWYgKHZteC0+dmNwdS5jcHUgPT0gLTEpCiAJCXJldHVybjsKLQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUodm14LT52Y3B1LmNwdSwgX192Y3B1X2NsZWFyLCB2bXgsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSh2bXgtPnZjcHUuY3B1LCBfX3ZjcHVfY2xlYXIsIHZteCwgMSk7CiAJdm14LT5sYXVuY2hlZCA9IDA7CiB9CiAKQEAgLTI5NjgsNyArMjk2OCw3IEBACiAJc3RydWN0IHZjcHVfdm14ICp2bXggPSB0b192bXgodmNwdSk7CiAKIAlpZiAodm14LT52bWNzKSB7Ci0JCW9uX2VhY2hfY3B1KF9fdmNwdV9jbGVhciwgdm14LCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoX192Y3B1X2NsZWFyLCB2bXgsIDEpOwogCQlmcmVlX3ZtY3Modm14LT52bWNzKTsKIAkJdm14LT52bWNzID0gTlVMTDsKIAl9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0veDg2LmMgYi9hcmNoL3g4Ni9rdm0veDg2LmMKaW5kZXggNjNhNzdjYS4uMGZhYTI1NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYva3ZtL3g4Ni5jCisrKyBiL2FyY2gveDg2L2t2bS94ODYuYwpAQCAtNDA0NCw2ICs0MDQ0LDYgQEAKIAkgKiBTbyBuZWVkIG5vdCB0byBjYWxsIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgpIGluIHRoYXQgY2FzZS4KIAkgKi8KIAlpZiAodmNwdS0+Z3Vlc3RfbW9kZSAmJiB2Y3B1LT5jcHUgIT0gY3B1KQotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaXBpX3BjcHUsIHZjcHVfa2lja19pbnRyLCB2Y3B1LCAwLCAwKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGlwaV9wY3B1LCB2Y3B1X2tpY2tfaW50ciwgdmNwdSwgMCk7CiAJcHV0X2NwdSgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGd1ZXN0L0tjb25maWcgYi9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZwppbmRleCA5NjRkZmEzLi5jNzBlMTJiIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZworKysgYi9hcmNoL3g4Ni9sZ3Vlc3QvS2NvbmZpZwpAQCAtMyw3ICszLDcgQEAKIAlzZWxlY3QgUEFSQVZJUlQKIAlkZXBlbmRzIG9uIFg4Nl8zMgogCWRlcGVuZHMgb24gIVg4Nl9QQUUKLQlkZXBlbmRzIG9uICEoWDg2X1ZJU1dTIHx8IFg4Nl9WT1lBR0VSKQorCWRlcGVuZHMgb24gIVg4Nl9WT1lBR0VSCiAJc2VsZWN0IFZJUlRJTwogCXNlbGVjdCBWSVJUSU9fUklORwogCXNlbGVjdCBWSVJUSU9fQ09OU09MRQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYyBiL2FyY2gveDg2L2xndWVzdC9ib290LmMKaW5kZXggNWM3ZTJmZC4uNTBkYWQ0NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYworKysgYi9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jCkBAIC02MDcsNyArNjA3LDcgQEAKICAqIHdoYXQgc3BlZWQgaXQgcnVucyBhdCwgb3IgMCBpZiBpdCdzIHVudXNhYmxlIGFzIGEgcmVsaWFibGUgY2xvY2sgc291cmNlLgogICogVGhpcyBtYXRjaGVzIHdoYXQgd2Ugd2FudCBoZXJlOiBpZiB3ZSByZXR1cm4gMCBmcm9tIHRoaXMgZnVuY3Rpb24sIHRoZSB4ODYKICAqIFRTQyBjbG9jayB3aWxsIGdpdmUgdXAgYW5kIG5vdCByZWdpc3RlciBpdHNlbGYuICovCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsZ3Vlc3RfY3B1X2toeih2b2lkKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgbGd1ZXN0X3RzY19raHoodm9pZCkKIHsKIAlyZXR1cm4gbGd1ZXN0X2RhdGEudHNjX2toejsKIH0KQEAgLTgzNSw3ICs4MzUsNyBAQAogCiAJLyogVGhlIExpbnV4IGJvb3Rsb2FkZXIgaGVhZGVyIGNvbnRhaW5zIGFuICJlODIwIiBtZW1vcnkgbWFwOiB0aGUKIAkgKiBMYXVuY2hlciBwb3B1bGF0ZWQgdGhlIGZpcnN0IGVudHJ5IHdpdGggb3VyIG1lbW9yeSBsaW1pdC4gKi8KLQlhZGRfbWVtb3J5X3JlZ2lvbihib290X3BhcmFtcy5lODIwX21hcFswXS5hZGRyLAorCWU4MjBfYWRkX3JlZ2lvbihib290X3BhcmFtcy5lODIwX21hcFswXS5hZGRyLAogCQkJICBib290X3BhcmFtcy5lODIwX21hcFswXS5zaXplLAogCQkJICBib290X3BhcmFtcy5lODIwX21hcFswXS50eXBlKTsKIApAQCAtOTk4LDcgKzk5OCw3IEBACiAJLyogdGltZSBvcGVyYXRpb25zICovCiAJcHZfdGltZV9vcHMuZ2V0X3dhbGxjbG9jayA9IGxndWVzdF9nZXRfd2FsbGNsb2NrOwogCXB2X3RpbWVfb3BzLnRpbWVfaW5pdCA9IGxndWVzdF90aW1lX2luaXQ7Ci0JcHZfdGltZV9vcHMuZ2V0X2NwdV9raHogPSBsZ3Vlc3RfY3B1X2toejsKKwlwdl90aW1lX29wcy5nZXRfdHNjX2toeiA9IGxndWVzdF90c2Nfa2h6OwogCiAJLyogTm93IGlzIGEgZ29vZCB0aW1lIHRvIGxvb2sgYXQgdGhlIGltcGxlbWVudGF0aW9ucyBvZiB0aGVzZSBmdW5jdGlvbnMKIAkgKiBiZWZvcmUgcmV0dXJuaW5nIHRvIHRoZSByZXN0IG9mIGxndWVzdF9pbml0KCkuICovCkBAIC0xMDEyLDYgKzEwMTIsNyBAQAogCSAqIGNsb2JiZXJlZC4gIFRoZSBMYXVuY2hlciBwbGFjZXMgb3VyIGluaXRpYWwgcGFnZXRhYmxlcyBzb21ld2hlcmUgYXQKIAkgKiB0aGUgdG9wIG9mIG91ciBwaHlzaWNhbCBtZW1vcnksIHNvIHdlIGRvbid0IG5lZWQgZXh0cmEgc3BhY2U6IHNldAogCSAqIGluaXRfcGdfdGFibGVzX2VuZCB0byB0aGUgZW5kIG9mIHRoZSBrZXJuZWwuICovCisJaW5pdF9wZ190YWJsZXNfc3RhcnQgPSBfX3BhKHBnMCk7CiAJaW5pdF9wZ190YWJsZXNfZW5kID0gX19wYShwZzApOwogCiAJLyogTG9hZCB0aGUgJWZzIHNlZ21lbnQgcmVnaXN0ZXIgKHRoZSBwZXItY3B1IHNlZ21lbnQgcmVnaXN0ZXIpIHdpdGgKQEAgLTEwNjUsOSArMTA2Niw5IEBACiAJcG1fcG93ZXJfb2ZmID0gbGd1ZXN0X3Bvd2VyX29mZjsKIAltYWNoaW5lX29wcy5yZXN0YXJ0ID0gbGd1ZXN0X3Jlc3RhcnQ7CiAKLQkvKiBOb3cgd2UncmUgc2V0IHVwLCBjYWxsIHN0YXJ0X2tlcm5lbCgpIGluIGluaXQvbWFpbi5jIGFuZCB3ZSBwcm9jZWVkCisJLyogTm93IHdlJ3JlIHNldCB1cCwgY2FsbCBpMzg2X3N0YXJ0X2tlcm5lbCgpIGluIGhlYWQzMi5jIGFuZCB3ZSBwcm9jZWVkCiAJICogdG8gYm9vdCBhcyBub3JtYWwuICBJdCBuZXZlciByZXR1cm5zLiAqLwotCXN0YXJ0X2tlcm5lbCgpOworCWkzODZfc3RhcnRfa2VybmVsKCk7CiB9CiAvKgogICogVGhpcyBtYXJrcyB0aGUgZW5kIG9mIHN0YWdlIElJIG9mIG91ciBqb3VybmV5LCBUaGUgR3Vlc3QuCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvTWFrZWZpbGUgYi9hcmNoL3g4Ni9saWIvTWFrZWZpbGUKaW5kZXggNzZmNjBmNS4uYWEzZmE0MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L2xpYi9NYWtlZmlsZQpAQCAtNCw4ICs0LDkgQEAKIAogb2JqLSQoQ09ORklHX1NNUCkgOj0gbXNyLW9uLWNwdS5vCiAKLWxpYi15IDo9IGRlbGF5XyQoQklUUykubwotbGliLXkgKz0gdXNlcmNvcHlfJChCSVRTKS5vIGdldHVzZXJfJChCSVRTKS5vIHB1dHVzZXJfJChCSVRTKS5vCitsaWIteSA6PSBkZWxheS5vCitsaWIteSArPSB0aHVua18kKEJJVFMpLm8KK2xpYi15ICs9IHVzZXJjb3B5XyQoQklUUykubyBnZXR1c2VyLm8gcHV0dXNlci5vCiBsaWIteSArPSBtZW1jcHlfJChCSVRTKS5vCiAKIGlmZXEgKCQoQ09ORklHX1g4Nl8zMikseSkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfNjQuUwppbmRleCBlZTFjM2Y2Li5kZmRmNDI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvY29weV91c2VyXzY0LlMKKysrIGIvYXJjaC94ODYvbGliL2NvcHlfdXNlcl82NC5TCkBAIC0xLDggKzEsMTAgQEAKLS8qIENvcHlyaWdodCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KKy8qCisgKiBDb3B5cmlnaHQgMjAwOCBWaXRhbHkgTWF5YXRza2lraCA8dm1heWF0c2tAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAyMDAyIEFuZGkgS2xlZW4sIFN1U0UgTGFicy4KICAqIFN1YmplY3QgdG8gdGhlIEdOVSBQdWJsaWMgTGljZW5zZSB2Mi4KLSAqIAotICogRnVuY3Rpb25zIHRvIGNvcHkgZnJvbSBhbmQgdG8gdXNlciBzcGFjZS4JCQotICovCQkgCisgKgorICogRnVuY3Rpb25zIHRvIGNvcHkgZnJvbSBhbmQgdG8gdXNlciBzcGFjZS4KKyAqLwogCiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KQEAgLTIwLDYwICsyMiw4OCBAQAogCS5sb25nIFxvcmlnLTFmCS8qIGJ5IGRlZmF1bHQganVtcCB0byBvcmlnICovCiAxOgogCS5zZWN0aW9uIC5hbHRpbnN0cl9yZXBsYWNlbWVudCwiYXgiCi0yOgkuYnl0ZSAweGU5CSAgICAgICAgICAgICAvKiBuZWFyIGp1bXAgd2l0aCAzMmJpdCBpbW1lZGlhdGUgKi8KKzI6CS5ieXRlIDB4ZTkJCQkvKiBuZWFyIGp1bXAgd2l0aCAzMmJpdCBpbW1lZGlhdGUgKi8KIAkubG9uZyBcYWx0LTFiIC8qIG9mZnNldCAqLyAgIC8qIG9yIGFsdGVybmF0aXZlbHkgdG8gYWx0ICovCiAJLnByZXZpb3VzCiAJLnNlY3Rpb24gLmFsdGluc3RydWN0aW9ucywiYSIKIAkuYWxpZ24gOAogCS5xdWFkICAwYgogCS5xdWFkICAyYgotCS5ieXRlICBcZmVhdHVyZQkJICAgICAvKiB3aGVuIGZlYXR1cmUgaXMgc2V0ICovCisJLmJ5dGUgIFxmZWF0dXJlCQkJLyogd2hlbiBmZWF0dXJlIGlzIHNldCAqLwogCS5ieXRlICA1CiAJLmJ5dGUgIDUKIAkucHJldmlvdXMKIAkuZW5kbQogCi0vKiBTdGFuZGFyZCBjb3B5X3RvX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCQkKKwkubWFjcm8gQUxJR05fREVTVElOQVRJT04KKyNpZmRlZiBGSVhfQUxJR05NRU5UCisJLyogY2hlY2sgZm9yIGJhZCBhbGlnbm1lbnQgb2YgZGVzdGluYXRpb24gKi8KKwltb3ZsICVlZGksJWVjeAorCWFuZGwgJDcsJWVjeAorCWp6IDEwMmYJCQkJLyogYWxyZWFkeSBhbGlnbmVkICovCisJc3VibCAkOCwlZWN4CisJbmVnbCAlZWN4CisJc3VibCAlZWN4LCVlZHgKKzEwMDoJbW92YiAoJXJzaSksJWFsCisxMDE6CW1vdmIgJWFsLCglcmRpKQorCWluY3EgJXJzaQorCWluY3EgJXJkaQorCWRlY2wgJWVjeAorCWpueiAxMDBiCisxMDI6CisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzEwMzoJYWRkbCAlcjhkLCVlZHgJCQkvKiBlY3ggaXMgemVyb3Jlc3QgYWxzbyAqLworCWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwKKwkucHJldmlvdXMKKworCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCisJLmFsaWduIDgKKwkucXVhZCAxMDBiLDEwM2IKKwkucXVhZCAxMDFiLDEwM2IKKwkucHJldmlvdXMKKyNlbmRpZgorCS5lbmRtCisKKy8qIFN0YW5kYXJkIGNvcHlfdG9fdXNlciB3aXRoIHNlZ21lbnQgbGltaXQgY2hlY2tpbmcgKi8KIEVOVFJZKGNvcHlfdG9fdXNlcikKIAlDRklfU1RBUlRQUk9DCiAJR0VUX1RIUkVBRF9JTkZPKCVyYXgpCiAJbW92cSAlcmRpLCVyY3gKIAlhZGRxICVyZHgsJXJjeAotCWpjICBiYWRfdG9fdXNlcgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyYXgpLCVyY3gKKwlqYyBiYWRfdG9fdXNlcgorCWNtcHEgVElfYWRkcl9saW1pdCglcmF4KSwlcmN4CiAJamFlIGJhZF90b191c2VyCi0JeG9ybCAlZWF4LCVlYXgJLyogY2xlYXIgemVybyBmbGFnICovCiAJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKIAlDRklfRU5EUFJPQwogCi1FTlRSWShjb3B5X3VzZXJfZ2VuZXJpYykKLQlDRklfU1RBUlRQUk9DCi0JbW92bCAkMSwlZWN4CS8qIHNldCB6ZXJvIGZsYWcgKi8KLQlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwotCUNGSV9FTkRQUk9DCi0KLUVOVFJZKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMpCi0JQ0ZJX1NUQVJUUFJPQwotCXhvcmwgJWVjeCwlZWN4CS8qIGNsZWFyIHplcm8gZmxhZyAqLwotCUFMVEVSTkFUSVZFX0pVTVAgWDg2X0ZFQVRVUkVfUkVQX0dPT0QsY29weV91c2VyX2dlbmVyaWNfdW5yb2xsZWQsY29weV91c2VyX2dlbmVyaWNfc3RyaW5nCi0JQ0ZJX0VORFBST0MKLQotLyogU3RhbmRhcmQgY29weV9mcm9tX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCQorLyogU3RhbmRhcmQgY29weV9mcm9tX3VzZXIgd2l0aCBzZWdtZW50IGxpbWl0IGNoZWNraW5nICovCiBFTlRSWShjb3B5X2Zyb21fdXNlcikKIAlDRklfU1RBUlRQUk9DCiAJR0VUX1RIUkVBRF9JTkZPKCVyYXgpCiAJbW92cSAlcnNpLCVyY3gKIAlhZGRxICVyZHgsJXJjeAotCWpjICBiYWRfZnJvbV91c2VyCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXJheCksJXJjeAotCWphZSAgYmFkX2Zyb21fdXNlcgotCW1vdmwgJDEsJWVjeAkvKiBzZXQgemVybyBmbGFnICovCisJamMgYmFkX2Zyb21fdXNlcgorCWNtcHEgVElfYWRkcl9saW1pdCglcmF4KSwlcmN4CisJamFlIGJhZF9mcm9tX3VzZXIKIAlBTFRFUk5BVElWRV9KVU1QIFg4Nl9GRUFUVVJFX1JFUF9HT09ELGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkLGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZwogCUNGSV9FTkRQUk9DCiBFTkRQUk9DKGNvcHlfZnJvbV91c2VyKQotCQorCitFTlRSWShjb3B5X3VzZXJfZ2VuZXJpYykKKwlDRklfU1RBUlRQUk9DCisJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKKwlDRklfRU5EUFJPQworRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpYykKKworRU5UUlkoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYykKKwlDRklfU1RBUlRQUk9DCisJQUxURVJOQVRJVkVfSlVNUCBYODZfRkVBVFVSRV9SRVBfR09PRCxjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCxjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKQorCiAJLnNlY3Rpb24gLmZpeHVwLCJheCIKIAkvKiBtdXN0IHplcm8gZGVzdCAqLworRU5UUlkoYmFkX2Zyb21fdXNlcikKIGJhZF9mcm9tX3VzZXI6CiAJQ0ZJX1NUQVJUUFJPQwogCW1vdmwgJWVkeCwlZWN4CkBAIC04MSwyNzEgKzExMSwxNTggQEAKIAlyZXAKIAlzdG9zYgogYmFkX3RvX3VzZXI6Ci0JbW92bAklZWR4LCVlYXgKKwltb3ZsICVlZHgsJWVheAogCXJldAogCUNGSV9FTkRQUk9DCi1FTkQoYmFkX2Zyb21fdXNlcikKK0VORFBST0MoYmFkX2Zyb21fdXNlcikKIAkucHJldmlvdXMKLQkKLQkJCisKIC8qCiAgKiBjb3B5X3VzZXJfZ2VuZXJpY191bnJvbGxlZCAtIG1lbW9yeSBjb3B5IHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nLgotICogVGhpcyB2ZXJzaW9uIGlzIGZvciBDUFVzIGxpa2UgUDQgdGhhdCBkb24ndCBoYXZlIGVmZmljaWVudCBtaWNybyBjb2RlIGZvciByZXAgbW92c3EKLSAqIAkKLSAqIElucHV0OgkKKyAqIFRoaXMgdmVyc2lvbiBpcyBmb3IgQ1BVcyBsaWtlIFA0IHRoYXQgZG9uJ3QgaGF2ZSBlZmZpY2llbnQgbWljcm8KKyAqIGNvZGUgZm9yIHJlcCBtb3ZzcQorICoKKyAqIElucHV0OgogICogcmRpIGRlc3RpbmF0aW9uCiAgKiByc2kgc291cmNlCiAgKiByZHggY291bnQKLSAqIGVjeCB6ZXJvIGZsYWcgLS0gaWYgdHJ1ZSB6ZXJvIGRlc3RpbmF0aW9uIG9uIGVycm9yCiAgKgotICogT3V0cHV0OgkJCi0gKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsLgorICogT3V0cHV0OgorICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bGwuCiAgKi8KIEVOVFJZKGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkKQogCUNGSV9TVEFSVFBST0MKLQlwdXNocSAlcmJ4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByYngsIDAKLQlwdXNocSAlcmN4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIDgKLQlDRklfUkVMX09GRlNFVCByY3gsIDAKLQl4b3JsICVlYXgsJWVheAkJLyp6ZXJvIGZvciB0aGUgZXhjZXB0aW9uIGhhbmRsZXIgKi8KLQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkvKiBjaGVjayBmb3IgYmFkIGFsaWdubWVudCBvZiBkZXN0aW5hdGlvbiAqLwotCW1vdmwgJWVkaSwlZWN4Ci0JYW5kbCAkNywlZWN4Ci0Jam56ICAuTGJhZF9hbGlnbm1lbnQKLS5MYWZ0ZXJfYmFkX2FsaWdubWVudDoKLSNlbmRpZgotCi0JbW92cSAlcmR4LCVyY3gKLQotCW1vdmwgJDY0LCVlYngKLQlzaHJxICQ2LCVyZHgKLQlkZWNxICVyZHgKLQlqcyAgIC5MaGFuZGxlX3RhaWwKLQotCS5wMmFsaWduIDQKLS5MbG9vcDoKLS5MczE6CW1vdnEgKCVyc2kpLCVyMTEKLS5MczI6CW1vdnEgMSo4KCVyc2kpLCVyOAotLkxzMzoJbW92cSAyKjgoJXJzaSksJXI5Ci0uTHM0Ogltb3ZxIDMqOCglcnNpKSwlcjEwCi0uTGQxOgltb3ZxICVyMTEsKCVyZGkpCi0uTGQyOgltb3ZxICVyOCwxKjgoJXJkaSkKLS5MZDM6CW1vdnEgJXI5LDIqOCglcmRpKQotLkxkNDoJbW92cSAlcjEwLDMqOCglcmRpKQotCi0uTHM1Ogltb3ZxIDQqOCglcnNpKSwlcjExCi0uTHM2Ogltb3ZxIDUqOCglcnNpKSwlcjgKLS5Mczc6CW1vdnEgNio4KCVyc2kpLCVyOQotLkxzODoJbW92cSA3KjgoJXJzaSksJXIxMAotLkxkNToJbW92cSAlcjExLDQqOCglcmRpKQotLkxkNjoJbW92cSAlcjgsNSo4KCVyZGkpCi0uTGQ3Ogltb3ZxICVyOSw2KjgoJXJkaSkKLS5MZDg6CW1vdnEgJXIxMCw3KjgoJXJkaSkKLQotCWRlY3EgJXJkeAotCisJY21wbCAkOCwlZWR4CisJamIgMjBmCQkvKiBsZXNzIHRoZW4gOCBieXRlcywgZ28gdG8gYnl0ZSBjb3B5IGxvb3AgKi8KKwlBTElHTl9ERVNUSU5BVElPTgorCW1vdmwgJWVkeCwlZWN4CisJYW5kbCAkNjMsJWVkeAorCXNocmwgJDYsJWVjeAorCWp6IDE3ZgorMToJbW92cSAoJXJzaSksJXI4CisyOgltb3ZxIDEqOCglcnNpKSwlcjkKKzM6CW1vdnEgMio4KCVyc2kpLCVyMTAKKzQ6CW1vdnEgMyo4KCVyc2kpLCVyMTEKKzU6CW1vdnEgJXI4LCglcmRpKQorNjoJbW92cSAlcjksMSo4KCVyZGkpCis3Ogltb3ZxICVyMTAsMio4KCVyZGkpCis4Ogltb3ZxICVyMTEsMyo4KCVyZGkpCis5Ogltb3ZxIDQqOCglcnNpKSwlcjgKKzEwOgltb3ZxIDUqOCglcnNpKSwlcjkKKzExOgltb3ZxIDYqOCglcnNpKSwlcjEwCisxMjoJbW92cSA3KjgoJXJzaSksJXIxMQorMTM6CW1vdnEgJXI4LDQqOCglcmRpKQorMTQ6CW1vdnEgJXI5LDUqOCglcmRpKQorMTU6CW1vdnEgJXIxMCw2KjgoJXJkaSkKKzE2Ogltb3ZxICVyMTEsNyo4KCVyZGkpCiAJbGVhcSA2NCglcnNpKSwlcnNpCiAJbGVhcSA2NCglcmRpKSwlcmRpCi0KLQlqbnMgIC5MbG9vcAotCi0JLnAyYWxpZ24gNAotLkxoYW5kbGVfdGFpbDoKLQltb3ZsICVlY3gsJWVkeAotCWFuZGwgJDYzLCVlY3gKKwlkZWNsICVlY3gKKwlqbnogMWIKKzE3Ogltb3ZsICVlZHgsJWVjeAorCWFuZGwgJDcsJWVkeAogCXNocmwgJDMsJWVjeAotCWp6ICAgLkxoYW5kbGVfNwotCW1vdmwgJDgsJWVieAotCS5wMmFsaWduIDQKLS5MbG9vcF84OgotLkxzOToJbW92cSAoJXJzaSksJXI4Ci0uTGQ5Ogltb3ZxICVyOCwoJXJkaSkKLQlkZWNsICVlY3gKLQlsZWFxIDgoJXJkaSksJXJkaQorCWp6IDIwZgorMTg6CW1vdnEgKCVyc2kpLCVyOAorMTk6CW1vdnEgJXI4LCglcmRpKQogCWxlYXEgOCglcnNpKSwlcnNpCi0Jam56IC5MbG9vcF84Ci0KLS5MaGFuZGxlXzc6CisJbGVhcSA4KCVyZGkpLCVyZGkKKwlkZWNsICVlY3gKKwlqbnogMThiCisyMDoJYW5kbCAlZWR4LCVlZHgKKwlqeiAyM2YKIAltb3ZsICVlZHgsJWVjeAotCWFuZGwgJDcsJWVjeAotCWp6ICAgLkxlbmRlCi0JLnAyYWxpZ24gNAotLkxsb29wXzE6Ci0uTHMxMDoJbW92YiAoJXJzaSksJWJsCi0uTGQxMDoJbW92YiAlYmwsKCVyZGkpCi0JaW5jcSAlcmRpCisyMToJbW92YiAoJXJzaSksJWFsCisyMjoJbW92YiAlYWwsKCVyZGkpCiAJaW5jcSAlcnNpCisJaW5jcSAlcmRpCiAJZGVjbCAlZWN4Ci0Jam56IC5MbG9vcF8xCi0KLQlDRklfUkVNRU1CRVJfU1RBVEUKLS5MZW5kZToKLQlwb3BxICVyY3gKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSByY3gKLQlwb3BxICVyYngKLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgLTgKLQlDRklfUkVTVE9SRSByYngKKwlqbnogMjFiCisyMzoJeG9yICVlYXgsJWVheAogCXJldAotCUNGSV9SRVNUT1JFX1NUQVRFCiAKLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLyogYWxpZ24gZGVzdGluYXRpb24gKi8KLQkucDJhbGlnbiA0Ci0uTGJhZF9hbGlnbm1lbnQ6Ci0JbW92bCAkOCwlcjlkCi0Jc3VibCAlZWN4LCVyOWQKLQltb3ZsICVyOWQsJWVjeAotCWNtcHEgJXI5LCVyZHgKLQlqeiAgIC5MaGFuZGxlXzcKLQlqcyAgIC5MaGFuZGxlXzcKLS5MYWxpZ25fMToKLS5MczExOgltb3ZiICglcnNpKSwlYmwKLS5MZDExOgltb3ZiICVibCwoJXJkaSkKLQlpbmNxICVyc2kKLQlpbmNxICVyZGkKLQlkZWNsICVlY3gKLQlqbnogLkxhbGlnbl8xCi0Jc3VicSAlcjksJXJkeAotCWptcCAuTGFmdGVyX2JhZF9hbGlnbm1lbnQKLSNlbmRpZgorCS5zZWN0aW9uIC5maXh1cCwiYXgiCiszMDoJc2hsbCAkNiwlZWN4CisJYWRkbCAlZWN4LCVlZHgKKwlqbXAgNjBmCis0MDoJbGVhICglcmR4LCVyY3gsOCksJXJkeAorCWptcCA2MGYKKzUwOgltb3ZsICVlY3gsJWVkeAorNjA6CWptcCBjb3B5X3VzZXJfaGFuZGxlX3RhaWwgLyogZWN4IGlzIHplcm9yZXN0IGFsc28gKi8KKwkucHJldmlvdXMKIAotCS8qIHRhYmxlIHNvcnRlZCBieSBleGNlcHRpb24gYWRkcmVzcyAqLwogCS5zZWN0aW9uIF9fZXhfdGFibGUsImEiCiAJLmFsaWduIDgKLQkucXVhZCAuTHMxLC5MczFlCS8qIExzMS1MczQgaGF2ZSBjb3BpZWQgemVybyBieXRlcyAqLwotCS5xdWFkIC5MczIsLkxzMWUKLQkucXVhZCAuTHMzLC5MczFlCi0JLnF1YWQgLkxzNCwuTHMxZQotCS5xdWFkIC5MZDEsLkxzMWUJLyogTGQxLUxkNCBoYXZlIGNvcGllZCAwLTI0IGJ5dGVzICovCi0JLnF1YWQgLkxkMiwuTHMyZQotCS5xdWFkIC5MZDMsLkxzM2UKLQkucXVhZCAuTGQ0LC5MczRlCi0JLnF1YWQgLkxzNSwuTHM1ZQkvKiBMczUtTHM4IGhhdmUgY29waWVkIDMyIGJ5dGVzICovCi0JLnF1YWQgLkxzNiwuTHM1ZQotCS5xdWFkIC5MczcsLkxzNWUKLQkucXVhZCAuTHM4LC5MczVlCi0JLnF1YWQgLkxkNSwuTHM1ZQkvKiBMZDUtTGQ4IGhhdmUgY29waWVkIDMyLTU2IGJ5dGVzICovCi0JLnF1YWQgLkxkNiwuTHM2ZQotCS5xdWFkIC5MZDcsLkxzN2UKLQkucXVhZCAuTGQ4LC5MczhlCi0JLnF1YWQgLkxzOSwuTGVfcXVhZAotCS5xdWFkIC5MZDksLkxlX3F1YWQKLQkucXVhZCAuTHMxMCwuTGVfYnl0ZQotCS5xdWFkIC5MZDEwLC5MZV9ieXRlCi0jaWZkZWYgRklYX0FMSUdOTUVOVAotCS5xdWFkIC5MczExLC5MemVyb19yZXN0Ci0JLnF1YWQgLkxkMTEsLkx6ZXJvX3Jlc3QKLSNlbmRpZgotCS5xdWFkIC5MZTUsLkxlX3plcm8KKwkucXVhZCAxYiwzMGIKKwkucXVhZCAyYiwzMGIKKwkucXVhZCAzYiwzMGIKKwkucXVhZCA0YiwzMGIKKwkucXVhZCA1YiwzMGIKKwkucXVhZCA2YiwzMGIKKwkucXVhZCA3YiwzMGIKKwkucXVhZCA4YiwzMGIKKwkucXVhZCA5YiwzMGIKKwkucXVhZCAxMGIsMzBiCisJLnF1YWQgMTFiLDMwYgorCS5xdWFkIDEyYiwzMGIKKwkucXVhZCAxM2IsMzBiCisJLnF1YWQgMTRiLDMwYgorCS5xdWFkIDE1YiwzMGIKKwkucXVhZCAxNmIsMzBiCisJLnF1YWQgMThiLDQwYgorCS5xdWFkIDE5Yiw0MGIKKwkucXVhZCAyMWIsNTBiCisJLnF1YWQgMjJiLDUwYgogCS5wcmV2aW91cwotCi0JLyogZWF4OiB6ZXJvLCBlYng6IDY0ICovCi0uTHMxZTogCWFkZGwgJDgsJWVheAkJLyogZWF4IGlzIGJ5dGVzIGxlZnQgdW5jb3BpZWQgd2l0aGluIHRoZSBsb29wIChMczFlOiA2NCAuLiBMczhlOiA4KSAqLwotLkxzMmU6IAlhZGRsICQ4LCVlYXgKLS5MczNlOiAJYWRkbCAkOCwlZWF4Ci0uTHM0ZTogCWFkZGwgJDgsJWVheAotLkxzNWU6IAlhZGRsICQ4LCVlYXgKLS5MczZlOiAJYWRkbCAkOCwlZWF4Ci0uTHM3ZTogCWFkZGwgJDgsJWVheAotLkxzOGU6IAlhZGRsICQ4LCVlYXgKLQlhZGRxICVyYngsJXJkaQkvKiArNjQgKi8KLQlzdWJxICVyYXgsJXJkaSAgLyogY29ycmVjdCBkZXN0aW5hdGlvbiB3aXRoIGNvbXB1dGVkIG9mZnNldCAqLwotCi0Jc2hscSAkNiwlcmR4CS8qIGxvb3AgY291bnRlciAqIDY0IChzdHJpZGUgbGVuZ3RoKSAqLwotCWFkZHEgJXJheCwlcmR4CS8qIGFkZCBvZmZzZXQgdG8gbG9vcGNudCAqLwotCWFuZGwgJDYzLCVlY3gJLyogcmVtYWluaW5nIGJ5dGVzICovCi0JYWRkcSAlcmN4LCVyZHgJLyogYWRkIHRoZW0gKi8KLQlqbXAgLkx6ZXJvX3Jlc3QKLQotCS8qIGV4Y2VwdGlvbiBvbiBxdWFkIHdvcmQgbG9vcCBpbiB0YWlsIGhhbmRsaW5nICovCi0JLyogZWN4Oglsb29wY250LzgsICVlZHg6IGxlbmd0aCwgcmRpOiBjb3JyZWN0ICovCi0uTGVfcXVhZDoKLQlzaGxsICQzLCVlY3gKLQlhbmRsICQ3LCVlZHgKLQlhZGRsICVlY3gsJWVkeAotCS8qIGVkeDogYnl0ZXMgdG8gemVybywgcmRpOiBkZXN0LCBlYXg6emVybyAqLwotLkx6ZXJvX3Jlc3Q6Ci0JY21wbCAkMCwoJXJzcCkKLQlqeiAgIC5MZV96ZXJvCi0JbW92cSAlcmR4LCVyY3gKLS5MZV9ieXRlOgotCXhvcmwgJWVheCwlZWF4Ci0uTGU1OglyZXAKLQlzdG9zYgotCS8qIHdoZW4gdGhlcmUgaXMgYW5vdGhlciBleGNlcHRpb24gd2hpbGUgemVyb2luZyB0aGUgcmVzdCBqdXN0IHJldHVybiAqLwotLkxlX3plcm86Ci0JbW92cSAlcmR4LCVyYXgKLQlqbXAgLkxlbmRlCiAJQ0ZJX0VORFBST0MKLUVORFBST0MoY29weV91c2VyX2dlbmVyaWMpCitFTkRQUk9DKGNvcHlfdXNlcl9nZW5lcmljX3Vucm9sbGVkKQogCi0KLQkvKiBTb21lIENQVXMgcnVuIGZhc3RlciB1c2luZyB0aGUgc3RyaW5nIGNvcHkgaW5zdHJ1Y3Rpb25zLgotCSAgIFRoaXMgaXMgYWxzbyBhIGxvdCBzaW1wbGVyLiBVc2UgdGhlbSB3aGVuIHBvc3NpYmxlLgotCSAgIFBhdGNoIGluIGptcHMgdG8gdGhpcyBjb2RlIGluc3RlYWQgb2YgY29weWluZyBpdCBmdWxseQotCSAgIHRvIGF2b2lkIHVud2FudGVkIGFsaWFzaW5nIGluIHRoZSBleGNlcHRpb24gdGFibGVzLiAqLwotCi0gLyogcmRpCWRlc3RpbmF0aW9uCi0gICogcnNpIHNvdXJjZQotICAqIHJkeCBjb3VudAotICAqIGVjeCB6ZXJvIGZsYWcKLSAgKgotICAqIE91dHB1dDoKLSAgKiBlYXggdW5jb3BpZWQgYnl0ZXMgb3IgMCBpZiBzdWNjZXNzZnVsbC4KLSAgKgotICAqIE9ubHkgNEdCIG9mIGNvcHkgaXMgc3VwcG9ydGVkLiBUaGlzIHNob3VsZG4ndCBiZSBhIHByb2JsZW0KLSAgKiBiZWNhdXNlIHRoZSBrZXJuZWwgbm9ybWFsbHkgb25seSB3cml0ZXMgZnJvbS90byBwYWdlIHNpemVkIGNodW5rcwotICAqIGV2ZW4gaWYgdXNlciBzcGFjZSBwYXNzZWQgYSBsb25nZXIgYnVmZmVyLgotICAqIEFuZCBtb3JlIHdvdWxkIGJlIGRhbmdlcm91cyBiZWNhdXNlIGJvdGggSW50ZWwgYW5kIEFNRCBoYXZlCi0gICogZXJyYXRhIHdpdGggcmVwIG1vdnNxID4gNEdCLiBJZiBzb21lb25lIGZlZWxzIHRoZSBuZWVkIHRvIGZpeAotICAqIHRoaXMgcGxlYXNlIGNvbnNpZGVyIHRoaXMuCi0gICovCisvKiBTb21lIENQVXMgcnVuIGZhc3RlciB1c2luZyB0aGUgc3RyaW5nIGNvcHkgaW5zdHJ1Y3Rpb25zLgorICogVGhpcyBpcyBhbHNvIGEgbG90IHNpbXBsZXIuIFVzZSB0aGVtIHdoZW4gcG9zc2libGUuCisgKgorICogT25seSA0R0Igb2YgY29weSBpcyBzdXBwb3J0ZWQuIFRoaXMgc2hvdWxkbid0IGJlIGEgcHJvYmxlbQorICogYmVjYXVzZSB0aGUga2VybmVsIG5vcm1hbGx5IG9ubHkgd3JpdGVzIGZyb20vdG8gcGFnZSBzaXplZCBjaHVua3MKKyAqIGV2ZW4gaWYgdXNlciBzcGFjZSBwYXNzZWQgYSBsb25nZXIgYnVmZmVyLgorICogQW5kIG1vcmUgd291bGQgYmUgZGFuZ2Vyb3VzIGJlY2F1c2UgYm90aCBJbnRlbCBhbmQgQU1EIGhhdmUKKyAqIGVycmF0YSB3aXRoIHJlcCBtb3ZzcSA+IDRHQi4gSWYgc29tZW9uZSBmZWVscyB0aGUgbmVlZCB0byBmaXgKKyAqIHRoaXMgcGxlYXNlIGNvbnNpZGVyIHRoaXMuCisgKgorICogSW5wdXQ6CisgKiByZGkgZGVzdGluYXRpb24KKyAqIHJzaSBzb3VyY2UKKyAqIHJkeCBjb3VudAorICoKKyAqIE91dHB1dDoKKyAqIGVheCB1bmNvcGllZCBieXRlcyBvciAwIGlmIHN1Y2Nlc3NmdWwuCisgKi8KIEVOVFJZKGNvcHlfdXNlcl9nZW5lcmljX3N0cmluZykKIAlDRklfU1RBUlRQUk9DCi0JbW92bCAlZWN4LCVyOGQJCS8qIHNhdmUgemVybyBmbGFnICovCisJYW5kbCAlZWR4LCVlZHgKKwlqeiA0ZgorCWNtcGwgJDgsJWVkeAorCWpiIDJmCQkvKiBsZXNzIHRoYW4gOCBieXRlcywgZ28gdG8gYnl0ZSBjb3B5IGxvb3AgKi8KKwlBTElHTl9ERVNUSU5BVElPTgogCW1vdmwgJWVkeCwlZWN4CiAJc2hybCAkMywlZWN4Ci0JYW5kbCAkNywlZWR4CQotCWp6ICAgMTBmCi0xOglyZXAgCi0JbW92c3EgCi0JbW92bCAlZWR4LCVlY3gKLTI6CXJlcAotCW1vdnNiCi05Ogltb3ZsICVlY3gsJWVheAotCXJldAotCi0JLyogbXVsdGlwbGUgb2YgOCBieXRlICovCi0xMDoJcmVwCisJYW5kbCAkNywlZWR4CisxOglyZXAKIAltb3ZzcQotCXhvciAlZWF4LCVlYXgKKzI6CW1vdmwgJWVkeCwlZWN4CiszOglyZXAKKwltb3ZzYgorNDoJeG9ybCAlZWF4LCVlYXgKIAlyZXQKIAotCS8qIGV4Y2VwdGlvbiBoYW5kbGluZyAqLwotMzogICAgICBsZWEgKCVyZHgsJXJjeCw4KSwlcmF4CS8qIGV4Y2VwdGlvbiBvbiBxdWFkIGxvb3AgKi8KLQlqbXAgNmYKLTU6CW1vdmwgJWVjeCwlZWF4CQkvKiBleGNlcHRpb24gb24gYnl0ZSBsb29wICovCi0JLyogZWF4OiBsZWZ0IG92ZXIgYnl0ZXMgKi8KLTY6CXRlc3RsICVyOGQsJXI4ZAkJLyogemVybyBmbGFnIHNldD8gKi8KLQlqeiA3ZgotCW1vdmwgJWVheCwlZWN4CQkvKiBpbml0aWFsaXplIHg4NiBsb29wIGNvdW50ZXIgKi8KLQlwdXNoICVyYXgKLQl4b3JsICVlYXgsJWVheAotODoJcmVwCi0Jc3Rvc2IgCQkJLyogemVybyB0aGUgcmVzdCAqLwotMTE6CXBvcCAlcmF4Ci03OglyZXQKLQlDRklfRU5EUFJPQwotRU5EKGNvcHlfdXNlcl9nZW5lcmljX2MpCisJLnNlY3Rpb24gLmZpeHVwLCJheCIKKzExOglsZWEgKCVyZHgsJXJjeCw4KSwlcmN4CisxMjoJbW92bCAlZWN4LCVlZHgJCS8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAorCS5wcmV2aW91cwogCiAJLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkucXVhZCAxYiwzYgotCS5xdWFkIDJiLDViCi0JLnF1YWQgOGIsMTFiCi0JLnF1YWQgMTBiLDNiCisJLmFsaWduIDgKKwkucXVhZCAxYiwxMWIKKwkucXVhZCAzYiwxMmIKIAkucHJldmlvdXMKKwlDRklfRU5EUFJPQworRU5EUFJPQyhjb3B5X3VzZXJfZ2VuZXJpY19zdHJpbmcpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvY29weV91c2VyX25vY2FjaGVfNjQuUyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TCmluZGV4IDlkM2QxYWIuLjQwZTBlMzAgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TCisrKyBiL2FyY2gveDg2L2xpYi9jb3B5X3VzZXJfbm9jYWNoZV82NC5TCkBAIC0xLDQgKzEsNiBAQAotLyogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgorLyoKKyAqIENvcHlyaWdodCAyMDA4IFZpdGFseSBNYXlhdHNraWtoIDx2bWF5YXRza0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IDIwMDIgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgogICogU3ViamVjdCB0byB0aGUgR05VIFB1YmxpYyBMaWNlbnNlIHYyLgogICoKICAqIEZ1bmN0aW9ucyB0byBjb3B5IGZyb20gYW5kIHRvIHVzZXIgc3BhY2UuCkBAIC0xMiwyMDQgKzE0LDEyNSBAQAogI2luY2x1ZGUgPGFzbS9jdXJyZW50Lmg+CiAjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CiAjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0jaW5jbHVkZSA8YXNtL2NwdWZlYXR1cmUuaD4KIAotLyoKLSAqIGNvcHlfdXNlcl9ub2NhY2hlIC0gVW5jYWNoZWQgbWVtb3J5IGNvcHkgd2l0aCBleGNlcHRpb24gaGFuZGxpbmcKLSAqIFRoaXMgd2lsbCBmb3JjZSBkZXN0aW5hdGlvbi9zb3VyY2Ugb3V0IG9mIGNhY2hlIGZvciBtb3JlIHBlcmZvcm1hbmNlLgotICoKLSAqIElucHV0OgotICogcmRpIGRlc3RpbmF0aW9uCi0gKiByc2kgc291cmNlCi0gKiByZHggY291bnQKLSAqIHJjeCB6ZXJvIGZsYWcJd2hlbiAxIHplcm8gb24gZXhjZXB0aW9uCi0gKgotICogT3V0cHV0OgotICogZWF4IHVuY29waWVkIGJ5dGVzIG9yIDAgaWYgc3VjY2Vzc2Z1bC4KLSAqLwotRU5UUlkoX19jb3B5X3VzZXJfbm9jYWNoZSkKLQlDRklfU1RBUlRQUk9DCi0JcHVzaHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA4Ci0JQ0ZJX1JFTF9PRkZTRVQgcmJ4LCAwCi0JcHVzaHEgJXJjeAkJLyogc2F2ZSB6ZXJvIGZsYWcgKi8KLQlDRklfQURKVVNUX0NGQV9PRkZTRVQgOAotCUNGSV9SRUxfT0ZGU0VUIHJjeCwgMAotCi0JeG9ybCAlZWF4LCVlYXgJCS8qIHplcm8gZm9yIHRoZSBleGNlcHRpb24gaGFuZGxlciAqLwotCisJLm1hY3JvIEFMSUdOX0RFU1RJTkFUSU9OCiAjaWZkZWYgRklYX0FMSUdOTUVOVAogCS8qIGNoZWNrIGZvciBiYWQgYWxpZ25tZW50IG9mIGRlc3RpbmF0aW9uICovCiAJbW92bCAlZWRpLCVlY3gKIAlhbmRsICQ3LCVlY3gKLQlqbnogIC5MYmFkX2FsaWdubWVudAotLkxhZnRlcl9iYWRfYWxpZ25tZW50OgotI2VuZGlmCi0KLQltb3ZxICVyZHgsJXJjeAotCi0JbW92bCAkNjQsJWVieAotCXNocnEgJDYsJXJkeAotCWRlY3EgJXJkeAotCWpzICAgLkxoYW5kbGVfdGFpbAotCi0JLnAyYWxpZ24gNAotLkxsb29wOgotLkxzMToJbW92cSAoJXJzaSksJXIxMQotLkxzMjoJbW92cSAxKjgoJXJzaSksJXI4Ci0uTHMzOgltb3ZxIDIqOCglcnNpKSwlcjkKLS5MczQ6CW1vdnEgMyo4KCVyc2kpLCVyMTAKLS5MZDE6CW1vdm50aSAlcjExLCglcmRpKQotLkxkMjoJbW92bnRpICVyOCwxKjgoJXJkaSkKLS5MZDM6CW1vdm50aSAlcjksMio4KCVyZGkpCi0uTGQ0Ogltb3ZudGkgJXIxMCwzKjgoJXJkaSkKLQotLkxzNToJbW92cSA0KjgoJXJzaSksJXIxMQotLkxzNjoJbW92cSA1KjgoJXJzaSksJXI4Ci0uTHM3Ogltb3ZxIDYqOCglcnNpKSwlcjkKLS5Mczg6CW1vdnEgNyo4KCVyc2kpLCVyMTAKLS5MZDU6CW1vdm50aSAlcjExLDQqOCglcmRpKQotLkxkNjoJbW92bnRpICVyOCw1KjgoJXJkaSkKLS5MZDc6CW1vdm50aSAlcjksNio4KCVyZGkpCi0uTGQ4Ogltb3ZudGkgJXIxMCw3KjgoJXJkaSkKLQotCWRlYyAgJXJkeAotCi0JbGVhcSA2NCglcnNpKSwlcnNpCi0JbGVhcSA2NCglcmRpKSwlcmRpCi0KLQlqbnMgIC5MbG9vcAotCi0JLnAyYWxpZ24gNAotLkxoYW5kbGVfdGFpbDoKLQltb3ZsICVlY3gsJWVkeAotCWFuZGwgJDYzLCVlY3gKLQlzaHJsICQzLCVlY3gKLQlqeiAgIC5MaGFuZGxlXzcKLQltb3ZsICQ4LCVlYngKLQkucDJhbGlnbiA0Ci0uTGxvb3BfODoKLS5Mczk6CW1vdnEgKCVyc2kpLCVyOAotLkxkOToJbW92bnRpICVyOCwoJXJkaSkKLQlkZWNsICVlY3gKLQlsZWFxIDgoJXJkaSksJXJkaQotCWxlYXEgOCglcnNpKSwlcnNpCi0Jam56IC5MbG9vcF84Ci0KLS5MaGFuZGxlXzc6Ci0JbW92bCAlZWR4LCVlY3gKLQlhbmRsICQ3LCVlY3gKLQlqeiAgIC5MZW5kZQotCS5wMmFsaWduIDQKLS5MbG9vcF8xOgotLkxzMTA6CW1vdmIgKCVyc2kpLCVibAotLkxkMTA6CW1vdmIgJWJsLCglcmRpKQotCWluY3EgJXJkaQotCWluY3EgJXJzaQotCWRlY2wgJWVjeAotCWpueiAuTGxvb3BfMQotCi0JQ0ZJX1JFTUVNQkVSX1NUQVRFCi0uTGVuZGU6Ci0JcG9wcSAlcmN4Ci0JQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC04Ci0JQ0ZJX1JFU1RPUkUgJXJjeAotCXBvcHEgJXJieAotCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCAtOAotCUNGSV9SRVNUT1JFIHJieAotCXNmZW5jZQotCXJldAotCUNGSV9SRVNUT1JFX1NUQVRFCi0KLSNpZmRlZiBGSVhfQUxJR05NRU5UCi0JLyogYWxpZ24gZGVzdGluYXRpb24gKi8KLQkucDJhbGlnbiA0Ci0uTGJhZF9hbGlnbm1lbnQ6Ci0JbW92bCAkOCwlcjlkCi0Jc3VibCAlZWN4LCVyOWQKLQltb3ZsICVyOWQsJWVjeAotCWNtcHEgJXI5LCVyZHgKLQlqeiAgIC5MaGFuZGxlXzcKLQlqcyAgIC5MaGFuZGxlXzcKLS5MYWxpZ25fMToKLS5MczExOgltb3ZiICglcnNpKSwlYmwKLS5MZDExOgltb3ZiICVibCwoJXJkaSkKKwlqeiAxMDJmCQkJCS8qIGFscmVhZHkgYWxpZ25lZCAqLworCXN1YmwgJDgsJWVjeAorCW5lZ2wgJWVjeAorCXN1YmwgJWVjeCwlZWR4CisxMDA6CW1vdmIgKCVyc2kpLCVhbAorMTAxOgltb3ZiICVhbCwoJXJkaSkKIAlpbmNxICVyc2kKIAlpbmNxICVyZGkKIAlkZWNsICVlY3gKLQlqbnogLkxhbGlnbl8xCi0Jc3VicSAlcjksJXJkeAotCWptcCAuTGFmdGVyX2JhZF9hbGlnbm1lbnQKLSNlbmRpZgotCi0JLyogdGFibGUgc29ydGVkIGJ5IGV4Y2VwdGlvbiBhZGRyZXNzICovCi0JLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkuYWxpZ24gOAotCS5xdWFkIC5MczEsLkxzMWUJLyogLkxzWzEtNF0gLSAwIGJ5dGVzIGNvcGllZCAqLwotCS5xdWFkIC5MczIsLkxzMWUKLQkucXVhZCAuTHMzLC5MczFlCi0JLnF1YWQgLkxzNCwuTHMxZQotCS5xdWFkIC5MZDEsLkxzMWUJLyogLkxkWzEtNF0gLSAwLi4yNCBieXRlcyBjb3BlZCAqLwotCS5xdWFkIC5MZDIsLkxzMmUKLQkucXVhZCAuTGQzLC5MczNlCi0JLnF1YWQgLkxkNCwuTHM0ZQotCS5xdWFkIC5MczUsLkxzNWUJLyogLkxzWzUtOF0gLSAzMiBieXRlcyBjb3BpZWQgKi8KLQkucXVhZCAuTHM2LC5MczVlCi0JLnF1YWQgLkxzNywuTHM1ZQotCS5xdWFkIC5MczgsLkxzNWUKLQkucXVhZCAuTGQ1LC5MczVlCS8qIC5MZFs1LThdIC0gMzIuLjU2IGJ5dGVzIGNvcGllZCAqLwotCS5xdWFkIC5MZDYsLkxzNmUKLQkucXVhZCAuTGQ3LC5MczdlCi0JLnF1YWQgLkxkOCwuTHM4ZQotCS5xdWFkIC5MczksLkxlX3F1YWQKLQkucXVhZCAuTGQ5LC5MZV9xdWFkCi0JLnF1YWQgLkxzMTAsLkxlX2J5dGUKLQkucXVhZCAuTGQxMCwuTGVfYnl0ZQotI2lmZGVmIEZJWF9BTElHTk1FTlQKLQkucXVhZCAuTHMxMSwuTHplcm9fcmVzdAotCS5xdWFkIC5MZDExLC5MemVyb19yZXN0Ci0jZW5kaWYKLQkucXVhZCAuTGU1LC5MZV96ZXJvCisJam56IDEwMGIKKzEwMjoKKwkuc2VjdGlvbiAuZml4dXAsImF4IgorMTAzOglhZGRsICVyOGQsJWVkeAkJCS8qIGVjeCBpcyB6ZXJvcmVzdCBhbHNvICovCisJam1wIGNvcHlfdXNlcl9oYW5kbGVfdGFpbAogCS5wcmV2aW91cwogCi0JLyogZWF4OiB6ZXJvLCBlYng6IDY0ICovCi0uTHMxZTogCWFkZGwgJDgsJWVheAkvKiBlYXg6IGJ5dGVzIGxlZnQgdW5jb3BpZWQ6IExzMWU6IDY0IC4uIExzOGU6IDggKi8KLS5MczJlOiAJYWRkbCAkOCwlZWF4Ci0uTHMzZTogCWFkZGwgJDgsJWVheAotLkxzNGU6IAlhZGRsICQ4LCVlYXgKLS5MczVlOiAJYWRkbCAkOCwlZWF4Ci0uTHM2ZTogCWFkZGwgJDgsJWVheAotLkxzN2U6IAlhZGRsICQ4LCVlYXgKLS5MczhlOiAJYWRkbCAkOCwlZWF4Ci0JYWRkcSAlcmJ4LCVyZGkJLyogKzY0ICovCi0Jc3VicSAlcmF4LCVyZGkgIC8qIGNvcnJlY3QgZGVzdGluYXRpb24gd2l0aCBjb21wdXRlZCBvZmZzZXQgKi8KKwkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCS5hbGlnbiA4CisJLnF1YWQgMTAwYiwxMDNiCisJLnF1YWQgMTAxYiwxMDNiCisJLnByZXZpb3VzCisjZW5kaWYKKwkuZW5kbQogCi0Jc2hscSAkNiwlcmR4CS8qIGxvb3AgY291bnRlciAqIDY0IChzdHJpZGUgbGVuZ3RoKSAqLwotCWFkZHEgJXJheCwlcmR4CS8qIGFkZCBvZmZzZXQgdG8gbG9vcGNudCAqLwotCWFuZGwgJDYzLCVlY3gJLyogcmVtYWluaW5nIGJ5dGVzICovCi0JYWRkcSAlcmN4LCVyZHgJLyogYWRkIHRoZW0gKi8KLQlqbXAgLkx6ZXJvX3Jlc3QKLQotCS8qIGV4Y2VwdGlvbiBvbiBxdWFkIHdvcmQgbG9vcCBpbiB0YWlsIGhhbmRsaW5nICovCi0JLyogZWN4Oglsb29wY250LzgsICVlZHg6IGxlbmd0aCwgcmRpOiBjb3JyZWN0ICovCi0uTGVfcXVhZDoKLQlzaGxsICQzLCVlY3gKKy8qCisgKiBjb3B5X3VzZXJfbm9jYWNoZSAtIFVuY2FjaGVkIG1lbW9yeSBjb3B5IHdpdGggZXhjZXB0aW9uIGhhbmRsaW5nCisgKiBUaGlzIHdpbGwgZm9yY2UgZGVzdGluYXRpb24vc291cmNlIG91dCBvZiBjYWNoZSBmb3IgbW9yZSBwZXJmb3JtYW5jZS4KKyAqLworRU5UUlkoX19jb3B5X3VzZXJfbm9jYWNoZSkKKwlDRklfU1RBUlRQUk9DCisJY21wbCAkOCwlZWR4CisJamIgMjBmCQkvKiBsZXNzIHRoZW4gOCBieXRlcywgZ28gdG8gYnl0ZSBjb3B5IGxvb3AgKi8KKwlBTElHTl9ERVNUSU5BVElPTgorCW1vdmwgJWVkeCwlZWN4CisJYW5kbCAkNjMsJWVkeAorCXNocmwgJDYsJWVjeAorCWp6IDE3ZgorMToJbW92cSAoJXJzaSksJXI4CisyOgltb3ZxIDEqOCglcnNpKSwlcjkKKzM6CW1vdnEgMio4KCVyc2kpLCVyMTAKKzQ6CW1vdnEgMyo4KCVyc2kpLCVyMTEKKzU6CW1vdm50aSAlcjgsKCVyZGkpCis2Ogltb3ZudGkgJXI5LDEqOCglcmRpKQorNzoJbW92bnRpICVyMTAsMio4KCVyZGkpCis4Ogltb3ZudGkgJXIxMSwzKjgoJXJkaSkKKzk6CW1vdnEgNCo4KCVyc2kpLCVyOAorMTA6CW1vdnEgNSo4KCVyc2kpLCVyOQorMTE6CW1vdnEgNio4KCVyc2kpLCVyMTAKKzEyOgltb3ZxIDcqOCglcnNpKSwlcjExCisxMzoJbW92bnRpICVyOCw0KjgoJXJkaSkKKzE0Ogltb3ZudGkgJXI5LDUqOCglcmRpKQorMTU6CW1vdm50aSAlcjEwLDYqOCglcmRpKQorMTY6CW1vdm50aSAlcjExLDcqOCglcmRpKQorCWxlYXEgNjQoJXJzaSksJXJzaQorCWxlYXEgNjQoJXJkaSksJXJkaQorCWRlY2wgJWVjeAorCWpueiAxYgorMTc6CW1vdmwgJWVkeCwlZWN4CiAJYW5kbCAkNywlZWR4CisJc2hybCAkMywlZWN4CisJanogMjBmCisxODoJbW92cSAoJXJzaSksJXI4CisxOToJbW92bnRpICVyOCwoJXJkaSkKKwlsZWFxIDgoJXJzaSksJXJzaQorCWxlYXEgOCglcmRpKSwlcmRpCisJZGVjbCAlZWN4CisJam56IDE4YgorMjA6CWFuZGwgJWVkeCwlZWR4CisJanogMjNmCisJbW92bCAlZWR4LCVlY3gKKzIxOgltb3ZiICglcnNpKSwlYWwKKzIyOgltb3ZiICVhbCwoJXJkaSkKKwlpbmNxICVyc2kKKwlpbmNxICVyZGkKKwlkZWNsICVlY3gKKwlqbnogMjFiCisyMzoJeG9ybCAlZWF4LCVlYXgKKwlzZmVuY2UKKwlyZXQKKworCS5zZWN0aW9uIC5maXh1cCwiYXgiCiszMDoJc2hsbCAkNiwlZWN4CiAJYWRkbCAlZWN4LCVlZHgKLQkvKiBlZHg6IGJ5dGVzIHRvIHplcm8sIHJkaTogZGVzdCwgZWF4Onplcm8gKi8KLS5MemVyb19yZXN0OgotCWNtcGwgJDAsKCVyc3ApCS8qIHplcm8gZmxhZyBzZXQ/ICovCi0JanogICAuTGVfemVybwotCW1vdnEgJXJkeCwlcmN4Ci0uTGVfYnl0ZToKLQl4b3JsICVlYXgsJWVheAotLkxlNToJcmVwCi0Jc3Rvc2IKLQkvKiB3aGVuIHRoZXJlIGlzIGFub3RoZXIgZXhjZXB0aW9uIHdoaWxlIHplcm9pbmcgdGhlIHJlc3QganVzdCByZXR1cm4gKi8KLS5MZV96ZXJvOgotCW1vdnEgJXJkeCwlcmF4Ci0Jam1wIC5MZW5kZQorCWptcCA2MGYKKzQwOglsZWEgKCVyZHgsJXJjeCw4KSwlcmR4CisJam1wIDYwZgorNTA6CW1vdmwgJWVjeCwlZWR4Cis2MDoJc2ZlbmNlCisJbW92bCAlcjhkLCVlY3gKKwlqbXAgY29weV91c2VyX2hhbmRsZV90YWlsCisJLnByZXZpb3VzCisKKwkuc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgorCS5xdWFkIDFiLDMwYgorCS5xdWFkIDJiLDMwYgorCS5xdWFkIDNiLDMwYgorCS5xdWFkIDRiLDMwYgorCS5xdWFkIDViLDMwYgorCS5xdWFkIDZiLDMwYgorCS5xdWFkIDdiLDMwYgorCS5xdWFkIDhiLDMwYgorCS5xdWFkIDliLDMwYgorCS5xdWFkIDEwYiwzMGIKKwkucXVhZCAxMWIsMzBiCisJLnF1YWQgMTJiLDMwYgorCS5xdWFkIDEzYiwzMGIKKwkucXVhZCAxNGIsMzBiCisJLnF1YWQgMTViLDMwYgorCS5xdWFkIDE2YiwzMGIKKwkucXVhZCAxOGIsNDBiCisJLnF1YWQgMTliLDQwYgorCS5xdWFkIDIxYiw1MGIKKwkucXVhZCAyMmIsNTBiCisJLnByZXZpb3VzCiAJQ0ZJX0VORFBST0MKIEVORFBST0MoX19jb3B5X3VzZXJfbm9jYWNoZSkKLQotCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZGVsYXlfMzIuYyBiL2FyY2gveDg2L2xpYi9kZWxheS5jCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIGFyY2gveDg2L2xpYi9kZWxheV8zMi5jCnJlbmFtZSB0byBhcmNoL3g4Ni9saWIvZGVsYXkuYwppbmRleCBkNzEwZjJkLi5mNDU2ODYwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvZGVsYXlfMzIuYworKysgYi9hcmNoL3g4Ni9saWIvZGVsYXkuYwpAQCAtMyw2ICszLDcgQEAKICAqCiAgKglDb3B5cmlnaHQgKEMpIDE5OTMgTGludXMgVG9ydmFsZHMKICAqCUNvcHlyaWdodCAoQykgMTk5NyBNYXJ0aW4gTWFyZXMgPG1qQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jej4KKyAqCUNvcHlyaWdodCAoQykgMjAwOCBKaXJpIEhsYWRreSA8aGxhZGt5IF9kb3RfIGppcmkgX2F0XyBnbWFpbCBfZG90XyBjb20+CiAgKgogICoJVGhlIF9fZGVsYXkgZnVuY3Rpb24gbXVzdCBfTk9UXyBiZSBpbmxpbmVkIGFzIGl0cyBleGVjdXRpb24gdGltZQogICoJZGVwZW5kcyB3aWxkbHkgb24gYWxpZ25tZW50IG9uIG1hbnkgeDg2IHByb2Nlc3NvcnMuIFRoZSBhZGRpdGlvbmFsCkBAIC0yOCwxNiArMjksMjIgQEAKIC8qIHNpbXBsZSBsb29wIGJhc2VkIGRlbGF5OiAqLwogc3RhdGljIHZvaWQgZGVsYXlfbG9vcCh1bnNpZ25lZCBsb25nIGxvb3BzKQogewotCWludCBkMDsKKwlhc20gdm9sYXRpbGUoCisJCSIJdGVzdCAlMCwlMAlcbiIKKwkJIglqeiAzZgkJXG4iCisJCSIJam1wIDFmCQlcbiIKIAotCV9fYXNtX18gX192b2xhdGlsZV9fKAotCQkiXHRqbXAgMWZcbiIKLQkJIi5hbGlnbiAxNlxuIgotCQkiMTpcdGptcCAyZlxuIgotCQkiLmFsaWduIDE2XG4iCi0JCSIyOlx0ZGVjbCAlMFxuXHRqbnMgMmIiCi0JCToiPSZhIiAoZDApCi0JCToiMCIgKGxvb3BzKSk7CisJCSIuYWxpZ24gMTYJCVxuIgorCQkiMToJam1wIDJmCQlcbiIKKworCQkiLmFsaWduIDE2CQlcbiIKKwkJIjI6CWRlYyAlMAkJXG4iCisJCSIJam56IDJiCQlcbiIKKwkJIjM6CWRlYyAlMAkJXG4iCisKKwkJOiAvKiB3ZSBkb24ndCBuZWVkIG91dHB1dCAqLworCQk6ImEiIChsb29wcykKKwkpOwogfQogCiAvKiBUU0MgYmFzZWQgZGVsYXk6ICovCkBAIC05MSw3ICs5OCw3IEBACiBpbnQgX19kZXZpbml0IHJlYWRfY3VycmVudF90aW1lcih1bnNpZ25lZCBsb25nICp0aW1lcl92YWwpCiB7CiAJaWYgKGRlbGF5X2ZuID09IGRlbGF5X3RzYykgewotCQlyZHRzY2woKnRpbWVyX3ZhbCk7CisJCXJkdHNjbGwoKnRpbWVyX3ZhbCk7CiAJCXJldHVybiAwOwogCX0KIAlyZXR1cm4gLTE7CkBAIC0xMDEsMzEgKzEwOCwzMCBAQAogewogCWRlbGF5X2ZuKGxvb3BzKTsKIH0KK0VYUE9SVF9TWU1CT0woX19kZWxheSk7CiAKIGlubGluZSB2b2lkIF9fY29uc3RfdWRlbGF5KHVuc2lnbmVkIGxvbmcgeGxvb3BzKQogewogCWludCBkMDsKIAogCXhsb29wcyAqPSA0OwotCV9fYXNtX18oIm11bGwgJTAiCisJYXNtKCJtdWxsICUlZWR4IgogCQk6Ij1kIiAoeGxvb3BzKSwgIj0mYSIgKGQwKQogCQk6IjEiICh4bG9vcHMpLCAiMCIKIAkJKGNwdV9kYXRhKHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpLmxvb3BzX3Blcl9qaWZmeSAqIChIWi80KSkpOwogCiAJX19kZWxheSgrK3hsb29wcyk7CiB9CitFWFBPUlRfU1lNQk9MKF9fY29uc3RfdWRlbGF5KTsKIAogdm9pZCBfX3VkZWxheSh1bnNpZ25lZCBsb25nIHVzZWNzKQogewogCV9fY29uc3RfdWRlbGF5KHVzZWNzICogMHgwMDAwMTBjNyk7IC8qIDIqKjMyIC8gMTAwMDAwMCAocm91bmRlZCB1cCkgKi8KIH0KK0VYUE9SVF9TWU1CT0woX191ZGVsYXkpOwogCiB2b2lkIF9fbmRlbGF5KHVuc2lnbmVkIGxvbmcgbnNlY3MpCiB7CiAJX19jb25zdF91ZGVsYXkobnNlY3MgKiAweDAwMDA1KTsgLyogMioqMzIgLyAxMDAwMDAwMDAwIChyb3VuZGVkIHVwKSAqLwogfQotCi1FWFBPUlRfU1lNQk9MKF9fZGVsYXkpOwotRVhQT1JUX1NZTUJPTChfX2NvbnN0X3VkZWxheSk7Ci1FWFBPUlRfU1lNQk9MKF9fdWRlbGF5KTsKIEVYUE9SVF9TWU1CT0woX19uZGVsYXkpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL2RlbGF5XzY0LmMgYi9hcmNoL3g4Ni9saWIvZGVsYXlfNjQuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM0NDFiZS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvZGVsYXlfNjQuYworKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKglQcmVjaXNlIERlbGF5IExvb3BzIGZvciB4ODYtNjQKLSAqCi0gKglDb3B5cmlnaHQgKEMpIDE5OTMgTGludXMgVG9ydmFsZHMKLSAqCUNvcHlyaWdodCAoQykgMTk5NyBNYXJ0aW4gTWFyZXMgPG1qQGF0cmV5Lmthcmxpbi5tZmYuY3VuaS5jej4KLSAqCi0gKglUaGUgX19kZWxheSBmdW5jdGlvbiBtdXN0IF9OT1RfIGJlIGlubGluZWQgYXMgaXRzIGV4ZWN1dGlvbiB0aW1lCi0gKglkZXBlbmRzIHdpbGRseSBvbiBhbGlnbm1lbnQgb24gbWFueSB4ODYgcHJvY2Vzc29ycy4gCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZXguaD4KLSNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0KLSNpbmNsdWRlIDxhc20vZGVsYXkuaD4KLSNpbmNsdWRlIDxhc20vbXNyLmg+Ci0KLSNpZmRlZiBDT05GSUdfU01QCi0jaW5jbHVkZSA8YXNtL3NtcC5oPgotI2VuZGlmCi0KLWludCBfX2RldmluaXQgcmVhZF9jdXJyZW50X3RpbWVyKHVuc2lnbmVkIGxvbmcgKnRpbWVyX3ZhbHVlKQotewotCXJkdHNjbGwoKnRpbWVyX3ZhbHVlKTsKLQlyZXR1cm4gMDsKLX0KLQotdm9pZCBfX2RlbGF5KHVuc2lnbmVkIGxvbmcgbG9vcHMpCi17Ci0JdW5zaWduZWQgYmNsb2NrLCBub3c7Ci0JaW50IGNwdTsKLQotCXByZWVtcHRfZGlzYWJsZSgpOwotCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQlyZHRzY2woYmNsb2NrKTsKLQlmb3IgKDs7KSB7Ci0JCXJkdHNjbChub3cpOwotCQlpZiAoKG5vdyAtIGJjbG9jaykgPj0gbG9vcHMpCi0JCQlicmVhazsKLQotCQkvKiBBbGxvdyBSVCB0YXNrcyB0byBydW4gKi8KLQkJcHJlZW1wdF9lbmFibGUoKTsKLQkJcmVwX25vcCgpOwotCQlwcmVlbXB0X2Rpc2FibGUoKTsKLQotCQkvKgotCQkgKiBJdCBpcyBwb3NzaWJsZSB0aGF0IHdlIG1vdmVkIHRvIGFub3RoZXIgQ1BVLCBhbmQKLQkJICogc2luY2UgVFNDJ3MgYXJlIHBlci1jcHUgd2UgbmVlZCB0byBjYWxjdWxhdGUKLQkJICogdGhhdC4gVGhlIGRlbGF5IG11c3QgZ3VhcmFudGVlIHRoYXQgd2Ugd2FpdCAiYXQKLQkJICogbGVhc3QiIHRoZSBhbW91bnQgb2YgdGltZS4gQmVpbmcgbW92ZWQgdG8gYW5vdGhlcgotCQkgKiBDUFUgY291bGQgbWFrZSB0aGUgd2FpdCBsb25nZXIgYnV0IHdlIGp1c3QgbmVlZCB0bwotCQkgKiBtYWtlIHN1cmUgd2Ugd2FpdGVkIGxvbmcgZW5vdWdoLiBSZWJhbGFuY2UgdGhlCi0JCSAqIGNvdW50ZXIgZm9yIHRoaXMgQ1BVLgotCQkgKi8KLQkJaWYgKHVubGlrZWx5KGNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkpKSB7Ci0JCQlsb29wcyAtPSAobm93IC0gYmNsb2NrKTsKLQkJCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQkJCXJkdHNjbChiY2xvY2spOwotCQl9Ci0JfQotCXByZWVtcHRfZW5hYmxlKCk7Ci19Ci1FWFBPUlRfU1lNQk9MKF9fZGVsYXkpOwotCi1pbmxpbmUgdm9pZCBfX2NvbnN0X3VkZWxheSh1bnNpZ25lZCBsb25nIHhsb29wcykKLXsKLQlfX2RlbGF5KCgoeGxvb3BzICogSFogKgotCQljcHVfZGF0YShyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKS5sb29wc19wZXJfamlmZnkpID4+IDMyKSArIDEpOwotfQotRVhQT1JUX1NZTUJPTChfX2NvbnN0X3VkZWxheSk7Ci0KLXZvaWQgX191ZGVsYXkodW5zaWduZWQgbG9uZyB1c2VjcykKLXsKLQlfX2NvbnN0X3VkZWxheSh1c2VjcyAqIDB4MDAwMDEwYzcpOyAgLyogMioqMzIgLyAxMDAwMDAwIChyb3VuZGVkIHVwKSAqLwotfQotRVhQT1JUX1NZTUJPTChfX3VkZWxheSk7Ci0KLXZvaWQgX19uZGVsYXkodW5zaWduZWQgbG9uZyBuc2VjcykKLXsKLQlfX2NvbnN0X3VkZWxheShuc2VjcyAqIDB4MDAwMDUpOyAgLyogMioqMzIgLyAxMDAwMDAwMDAwIChyb3VuZGVkIHVwKSAqLwotfQotRVhQT1JUX1NZTUJPTChfX25kZWxheSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZ2V0dXNlci5TIGIvYXJjaC94ODYvbGliL2dldHVzZXIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDM3NDAwCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbGliL2dldHVzZXIuUwpAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAqIF9fZ2V0X3VzZXIgZnVuY3Rpb25zLgorICoKKyAqIChDKSBDb3B5cmlnaHQgMTk5OCBMaW51cyBUb3J2YWxkcworICogKEMpIENvcHlyaWdodCAyMDA1IEFuZGkgS2xlZW4KKyAqIChDKSBDb3B5cmlnaHQgMjAwOCBHbGF1YmVyIENvc3RhCisgKgorICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKKyAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5CisgKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgorICogcmV0dXJuIHZhbHVlLgorICovCisKKy8qCisgKiBfX2dldF91c2VyX1gKKyAqCisgKiBJbnB1dHM6CSVbcnxlXWF4IGNvbnRhaW5zIHRoZSBhZGRyZXNzLgorICoJCVRoZSByZWdpc3RlciBpcyBtb2RpZmllZCwgYnV0IGFsbCBjaGFuZ2VzIGFyZSB1bmRvbmUKKyAqCQliZWZvcmUgcmV0dXJuaW5nIGJlY2F1c2UgdGhlIEMgY29kZSBkb2Vzbid0IGtub3cgYWJvdXQgaXQuCisgKgorICogT3V0cHV0czoJJVtyfGVdYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQorICoJCSVbcnxlXWR4IGNvbnRhaW5zIHplcm8tZXh0ZW5kZWQgdmFsdWUKKyAqCisgKgorICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCisgKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgorICovCisKKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgorI2luY2x1ZGUgPGFzbS9wYWdlLmg+CisjaW5jbHVkZSA8YXNtL2Vycm5vLmg+CisjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CisjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8YXNtL2FzbS5oPgorCisJLnRleHQKK0VOVFJZKF9fZ2V0X3VzZXJfMSkKKwlDRklfU1RBUlRQUk9DCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZSBiYWRfZ2V0X3VzZXIKKzE6CW1vdnpiICglX0FTTV9BWCksJWVkeAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzEpCisKK0VOVFJZKF9fZ2V0X3VzZXJfMikKKwlDRklfU1RBUlRQUk9DCisJYWRkICQxLCVfQVNNX0FYCisJamMgYmFkX2dldF91c2VyCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZSBiYWRfZ2V0X3VzZXIKKzI6CW1vdnp3bCAtMSglX0FTTV9BWCksJWVkeAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzIpCisKK0VOVFJZKF9fZ2V0X3VzZXJfNCkKKwlDRklfU1RBUlRQUk9DCisJYWRkICQzLCVfQVNNX0FYCisJamMgYmFkX2dldF91c2VyCisJR0VUX1RIUkVBRF9JTkZPKCVfQVNNX0RYKQorCWNtcCBUSV9hZGRyX2xpbWl0KCVfQVNNX0RYKSwlX0FTTV9BWAorCWphZSBiYWRfZ2V0X3VzZXIKKzM6CW1vdiAtMyglX0FTTV9BWCksJWVkeAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzQpCisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitFTlRSWShfX2dldF91c2VyXzgpCisJQ0ZJX1NUQVJUUFJPQworCWFkZCAkNywlX0FTTV9BWAorCWpjIGJhZF9nZXRfdXNlcgorCUdFVF9USFJFQURfSU5GTyglX0FTTV9EWCkKKwljbXAgVElfYWRkcl9saW1pdCglX0FTTV9EWCksJV9BU01fQVgKKwlqYWUJYmFkX2dldF91c2VyCis0Ogltb3ZxIC03KCVfQVNNX0FYKSwlX0FTTV9EWAorCXhvciAlZWF4LCVlYXgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EUFJPQyhfX2dldF91c2VyXzgpCisjZW5kaWYKKworYmFkX2dldF91c2VyOgorCUNGSV9TVEFSVFBST0MKKwl4b3IgJWVkeCwlZWR4CisJbW92ICQoLUVGQVVMVCksJV9BU01fQVgKKwlyZXQKKwlDRklfRU5EUFJPQworRU5EKGJhZF9nZXRfdXNlcikKKworLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwlfQVNNX1BUUiAxYixiYWRfZ2V0X3VzZXIKKwlfQVNNX1BUUiAyYixiYWRfZ2V0X3VzZXIKKwlfQVNNX1BUUiAzYixiYWRfZ2V0X3VzZXIKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJX0FTTV9QVFIgNGIsYmFkX2dldF91c2VyCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzMyLlMgYi9hcmNoL3g4Ni9saWIvZ2V0dXNlcl8zMi5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDg0YjUzLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L2xpYi9nZXR1c2VyXzMyLlMKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKgotICogX19nZXRfdXNlciBmdW5jdGlvbnMuCi0gKgotICogKEMpIENvcHlyaWdodCAxOTk4IExpbnVzIFRvcnZhbGRzCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0jaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgotI2luY2x1ZGUgPGFzbS9kd2FyZjIuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCi0vKgotICogX19nZXRfdXNlcl9YCi0gKgotICogSW5wdXRzOgklZWF4IGNvbnRhaW5zIHRoZSBhZGRyZXNzCi0gKgotICogT3V0cHV0czoJJWVheCBpcyBlcnJvciBjb2RlICgwIG9yIC1FRkFVTFQpCi0gKgkJJWVkeCBjb250YWlucyB6ZXJvLWV4dGVuZGVkIHZhbHVlCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLS50ZXh0Ci1FTlRSWShfX2dldF91c2VyXzEpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglZWR4KQotCWNtcGwgVElfYWRkcl9saW1pdCglZWR4KSwlZWF4Ci0JamFlIGJhZF9nZXRfdXNlcgotMToJbW92emJsICglZWF4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzEpCi0KLUVOVFJZKF9fZ2V0X3VzZXJfMikKLQlDRklfU1RBUlRQUk9DCi0JYWRkbCAkMSwlZWF4Ci0JamMgYmFkX2dldF91c2VyCi0JR0VUX1RIUkVBRF9JTkZPKCVlZHgpCi0JY21wbCBUSV9hZGRyX2xpbWl0KCVlZHgpLCVlYXgKLQlqYWUgYmFkX2dldF91c2VyCi0yOgltb3Z6d2wgLTEoJWVheCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8yKQotCi1FTlRSWShfX2dldF91c2VyXzQpCi0JQ0ZJX1NUQVJUUFJPQwotCWFkZGwgJDMsJWVheAotCWpjIGJhZF9nZXRfdXNlcgotCUdFVF9USFJFQURfSU5GTyglZWR4KQotCWNtcGwgVElfYWRkcl9saW1pdCglZWR4KSwlZWF4Ci0JamFlIGJhZF9nZXRfdXNlcgotMzoJbW92bCAtMyglZWF4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzQpCi0KLWJhZF9nZXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DCi0JeG9ybCAlZWR4LCVlZHgKLQltb3ZsICQtMTQsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkQoYmFkX2dldF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5sb25nIDFiLGJhZF9nZXRfdXNlcgotCS5sb25nIDJiLGJhZF9nZXRfdXNlcgotCS5sb25nIDNiLGJhZF9nZXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvZ2V0dXNlcl82NC5TIGIvYXJjaC94ODYvbGliL2dldHVzZXJfNjQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQ0ODg3Ni4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvZ2V0dXNlcl82NC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLS8qCi0gKiBfX2dldF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKLSAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0KLS8qCi0gKiBfX2dldF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVyY3ggY29udGFpbnMgdGhlIGFkZHJlc3MuCi0gKgkJVGhlIHJlZ2lzdGVyIGlzIG1vZGlmaWVkLCBidXQgYWxsIGNoYW5nZXMgYXJlIHVuZG9uZQotICoJCWJlZm9yZSByZXR1cm5pbmcgYmVjYXVzZSB0aGUgQyBjb2RlIGRvZXNuJ3Qga25vdyBhYm91dCBpdC4KLSAqCi0gKiBPdXRwdXRzOgklcmF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKLSAqCQklcmR4IGNvbnRhaW5zIHplcm8tZXh0ZW5kZWQgdmFsdWUKLSAqIAotICogJXI4IGlzIGRlc3Ryb3llZC4KLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKLSAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KLSNpbmNsdWRlIDxhc20vZHdhcmYyLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vZXJybm8uaD4KLSNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4KLSNpbmNsdWRlIDxhc20vdGhyZWFkX2luZm8uaD4KLQotCS50ZXh0Ci1FTlRSWShfX2dldF91c2VyXzEpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIGJhZF9nZXRfdXNlcgotMToJbW92emIgKCVyY3gpLCVlZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfMSkKLQotRU5UUlkoX19nZXRfdXNlcl8yKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDEsJXJjeAotCWpjIDIwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSAyMGYKLQlkZWNxICAgJXJjeAotMjoJbW92endsICglcmN4KSwlZWR4Ci0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTIwOglkZWNxICAgICVyY3gKLQlqbXAJYmFkX2dldF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19nZXRfdXNlcl8yKQotCi1FTlRSWShfX2dldF91c2VyXzQpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMywlcmN4Ci0JamMgMzBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDMwZgotCXN1YnEgJDMsJXJjeAotMzoJbW92bCAoJXJjeCksJWVkeAotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0zMDoJc3VicSAkMywlcmN4Ci0Jam1wIGJhZF9nZXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fZ2V0X3VzZXJfNCkKLQotRU5UUlkoX19nZXRfdXNlcl84KQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDcsJXJjeAotCWpjIDQwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZQk0MGYKLQlzdWJxCSQ3LCVyY3gKLTQ6CW1vdnEgKCVyY3gpLCVyZHgKLQl4b3JsICVlYXgsJWVheAotCXJldAotNDA6CXN1YnEgJDcsJXJjeAotCWptcCBiYWRfZ2V0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX2dldF91c2VyXzgpCi0KLWJhZF9nZXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DCi0JeG9ybCAlZWR4LCVlZHgKLQltb3ZxICQoLUVGQVVMVCksJXJheAotCXJldAotCUNGSV9FTkRQUk9DCi1FTkQoYmFkX2dldF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5xdWFkIDFiLGJhZF9nZXRfdXNlcgotCS5xdWFkIDJiLGJhZF9nZXRfdXNlcgotCS5xdWFkIDNiLGJhZF9nZXRfdXNlcgotCS5xdWFkIDRiLGJhZF9nZXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvbXNyLW9uLWNwdS5jIGIvYXJjaC94ODYvbGliL21zci1vbi1jcHUuYwppbmRleCA1N2QwNDNmLi5kNWEyYjM5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvbXNyLW9uLWNwdS5jCisrKyBiL2FyY2gveDg2L2xpYi9tc3Itb24tY3B1LmMKQEAgLTMwLDEwICszMCwxMCBAQAogCiAJcnYubXNyX25vID0gbXNyX25vOwogCWlmIChzYWZlKSB7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fcmRtc3Jfc2FmZV9vbl9jcHUsICZydiwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fcmRtc3Jfc2FmZV9vbl9jcHUsICZydiwgMSk7CiAJCWVyciA9IHJ2LmVycjsKIAl9IGVsc2UgewotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3JkbXNyX29uX2NwdSwgJnJ2LCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX19yZG1zcl9vbl9jcHUsICZydiwgMSk7CiAJfQogCSpsID0gcnYubDsKIAkqaCA9IHJ2Lmg7CkBAIC02NCwxMCArNjQsMTAgQEAKIAlydi5sID0gbDsKIAlydi5oID0gaDsKIAlpZiAoc2FmZSkgewotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3dybXNyX3NhZmVfb25fY3B1LCAmcnYsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBfX3dybXNyX3NhZmVfb25fY3B1LCAmcnYsIDEpOwogCQllcnIgPSBydi5lcnI7CiAJfSBlbHNlIHsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgX193cm1zcl9vbl9jcHUsICZydiwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIF9fd3Jtc3Jfb25fY3B1LCAmcnYsIDEpOwogCX0KIAogCXJldHVybiBlcnI7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvcHV0dXNlci5TIGIvYXJjaC94ODYvbGliL3B1dHVzZXIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNmIwZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbGliL3B1dHVzZXIuUwpAQCAtMCwwICsxLDk3IEBACisvKgorICogX19wdXRfdXNlciBmdW5jdGlvbnMuCisgKgorICogKEMpIENvcHlyaWdodCAyMDA1IExpbnVzIFRvcnZhbGRzCisgKiAoQykgQ29weXJpZ2h0IDIwMDUgQW5kaSBLbGVlbgorICogKEMpIENvcHlyaWdodCAyMDA4IEdsYXViZXIgQ29zdGEKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQorICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKKyAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCisgKiByZXR1cm4gdmFsdWUuCisgKi8KKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgorI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgorI2luY2x1ZGUgPGFzbS9lcnJuby5oPgorI2luY2x1ZGUgPGFzbS9hc20uaD4KKworCisvKgorICogX19wdXRfdXNlcl9YCisgKgorICogSW5wdXRzOgklZWF4WzolZWR4XSBjb250YWlucyB0aGUgZGF0YQorICoJCSVlY3ggY29udGFpbnMgdGhlIGFkZHJlc3MKKyAqCisgKiBPdXRwdXRzOgklZWF4IGlzIGVycm9yIGNvZGUgKDAgb3IgLUVGQVVMVCkKKyAqCisgKiBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBtb2RpZnkgYW55IG90aGVyIHJlZ2lzdGVycywKKyAqIGFzIHRoZXkgZ2V0IGNhbGxlZCBmcm9tIHdpdGhpbiBpbmxpbmUgYXNzZW1ibHkuCisgKi8KKworI2RlZmluZSBFTlRFUglDRklfU1RBUlRQUk9DIDsgXAorCQlHRVRfVEhSRUFEX0lORk8oJV9BU01fQlgpCisjZGVmaW5lIEVYSVQJcmV0IDsgXAorCQlDRklfRU5EUFJPQworCisudGV4dAorRU5UUlkoX19wdXRfdXNlcl8xKQorCUVOVEVSCisJY21wIFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorMToJbW92YiAlYWwsKCVfQVNNX0NYKQorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfMSkKKworRU5UUlkoX19wdXRfdXNlcl8yKQorCUVOVEVSCisJbW92IFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0JYCisJc3ViICQxLCVfQVNNX0JYCisJY21wICVfQVNNX0JYLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorMjoJbW92dyAlYXgsKCVfQVNNX0NYKQorCXhvciAlZWF4LCVlYXgKKwlFWElUCitFTkRQUk9DKF9fcHV0X3VzZXJfMikKKworRU5UUlkoX19wdXRfdXNlcl80KQorCUVOVEVSCisJbW92IFRJX2FkZHJfbGltaXQoJV9BU01fQlgpLCVfQVNNX0JYCisJc3ViICQzLCVfQVNNX0JYCisJY21wICVfQVNNX0JYLCVfQVNNX0NYCisJamFlIGJhZF9wdXRfdXNlcgorMzoJbW92bCAlZWF4LCglX0FTTV9DWCkKKwl4b3IgJWVheCwlZWF4CisJRVhJVAorRU5EUFJPQyhfX3B1dF91c2VyXzQpCisKK0VOVFJZKF9fcHV0X3VzZXJfOCkKKwlFTlRFUgorCW1vdiBUSV9hZGRyX2xpbWl0KCVfQVNNX0JYKSwlX0FTTV9CWAorCXN1YiAkNywlX0FTTV9CWAorCWNtcCAlX0FTTV9CWCwlX0FTTV9DWAorCWphZSBiYWRfcHV0X3VzZXIKKzQ6CW1vdiAlX0FTTV9BWCwoJV9BU01fQ1gpCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorNToJbW92bCAlZWR4LDQoJV9BU01fQ1gpCisjZW5kaWYKKwl4b3IgJWVheCwlZWF4CisJRVhJVAorRU5EUFJPQyhfX3B1dF91c2VyXzgpCisKK2JhZF9wdXRfdXNlcjoKKwlDRklfU1RBUlRQUk9DCisJbW92bCAkLUVGQVVMVCwlZWF4CisJRVhJVAorRU5EKGJhZF9wdXRfdXNlcikKKworLnNlY3Rpb24gX19leF90YWJsZSwiYSIKKwlfQVNNX1BUUiAxYixiYWRfcHV0X3VzZXIKKwlfQVNNX1BUUiAyYixiYWRfcHV0X3VzZXIKKwlfQVNNX1BUUiAzYixiYWRfcHV0X3VzZXIKKwlfQVNNX1BUUiA0YixiYWRfcHV0X3VzZXIKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisJX0FTTV9QVFIgNWIsYmFkX3B1dF91c2VyCisjZW5kaWYKKy5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3B1dHVzZXJfMzIuUyBiL2FyY2gveDg2L2xpYi9wdXR1c2VyXzMyLlMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1OGZiYTEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbGliL3B1dHVzZXJfMzIuUworKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLS8qCi0gKiBfX3B1dF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDIwMDUgTGludXMgVG9ydmFsZHMKLSAqCi0gKiBUaGVzZSBmdW5jdGlvbnMgaGF2ZSBhIG5vbi1zdGFuZGFyZCBjYWxsIGludGVyZmFjZQotICogdG8gbWFrZSB0aGVtIG1vcmUgZWZmaWNpZW50LCBlc3BlY2lhbGx5IGFzIHRoZXkKLSAqIHJldHVybiBhbiBlcnJvciB2YWx1ZSBpbiBhZGRpdGlvbiB0byB0aGUgInJlYWwiCi0gKiByZXR1cm4gdmFsdWUuCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5mby5oPgotCi0KLS8qCi0gKiBfX3B1dF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVlYXhbOiVlZHhdIGNvbnRhaW5zIHRoZSBkYXRhCi0gKgkJJWVjeCBjb250YWlucyB0aGUgYWRkcmVzcwotICoKLSAqIE91dHB1dHM6CSVlYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoKLSAqIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgbm90IG1vZGlmeSBhbnkgb3RoZXIgcmVnaXN0ZXJzLAotICogYXMgdGhleSBnZXQgY2FsbGVkIGZyb20gd2l0aGluIGlubGluZSBhc3NlbWJseS4KLSAqLwotCi0jZGVmaW5lIEVOVEVSCUNGSV9TVEFSVFBST0MgOyBcCi0JCXB1c2hsICVlYnggOyBcCi0JCUNGSV9BREpVU1RfQ0ZBX09GRlNFVCA0IDsgXAotCQlDRklfUkVMX09GRlNFVCBlYngsIDAgOyBcCi0JCUdFVF9USFJFQURfSU5GTyglZWJ4KQotI2RlZmluZSBFWElUCXBvcGwgJWVieCA7IFwKLQkJQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUIC00IDsgXAotCQlDRklfUkVTVE9SRSBlYnggOyBcCi0JCXJldCA7IFwKLQkJQ0ZJX0VORFBST0MKLQotLnRleHQKLUVOVFJZKF9fcHV0X3VzZXJfMSkKLQlFTlRFUgotCWNtcGwgVElfYWRkcl9saW1pdCglZWJ4KSwlZWN4Ci0JamFlIGJhZF9wdXRfdXNlcgotMToJbW92YiAlYWwsKCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfMSkKLQotRU5UUlkoX19wdXRfdXNlcl8yKQotCUVOVEVSCi0JbW92bCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlYngKLQlzdWJsICQxLCVlYngKLQljbXBsICVlYngsJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTI6CW1vdncgJWF4LCglZWN4KQotCXhvcmwgJWVheCwlZWF4Ci0JRVhJVAotRU5EUFJPQyhfX3B1dF91c2VyXzIpCi0KLUVOVFJZKF9fcHV0X3VzZXJfNCkKLQlFTlRFUgotCW1vdmwgVElfYWRkcl9saW1pdCglZWJ4KSwlZWJ4Ci0Jc3VibCAkMywlZWJ4Ci0JY21wbCAlZWJ4LCVlY3gKLQlqYWUgYmFkX3B1dF91c2VyCi0zOgltb3ZsICVlYXgsKCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfNCkKLQotRU5UUlkoX19wdXRfdXNlcl84KQotCUVOVEVSCi0JbW92bCBUSV9hZGRyX2xpbWl0KCVlYngpLCVlYngKLQlzdWJsICQ3LCVlYngKLQljbXBsICVlYngsJWVjeAotCWphZSBiYWRfcHV0X3VzZXIKLTQ6CW1vdmwgJWVheCwoJWVjeCkKLTU6CW1vdmwgJWVkeCw0KCVlY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlFWElUCi1FTkRQUk9DKF9fcHV0X3VzZXJfOCkKLQotYmFkX3B1dF91c2VyOgotCUNGSV9TVEFSVFBST0Mgc2ltcGxlCi0JQ0ZJX0RFRl9DRkEgZXNwLCAyKjQKLQlDRklfT0ZGU0VUIGVpcCwgLTEqNAotCUNGSV9PRkZTRVQgZWJ4LCAtMio0Ci0JbW92bCAkLTE0LCVlYXgKLQlFWElUCi1FTkQoYmFkX3B1dF91c2VyKQotCi0uc2VjdGlvbiBfX2V4X3RhYmxlLCJhIgotCS5sb25nIDFiLGJhZF9wdXRfdXNlcgotCS5sb25nIDJiLGJhZF9wdXRfdXNlcgotCS5sb25nIDNiLGJhZF9wdXRfdXNlcgotCS5sb25nIDRiLGJhZF9wdXRfdXNlcgotCS5sb25nIDViLGJhZF9wdXRfdXNlcgotLnByZXZpb3VzCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl82NC5TIGIvYXJjaC94ODYvbGliL3B1dHVzZXJfNjQuUwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk4OWY1YS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9saWIvcHV0dXNlcl82NC5TCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLS8qCi0gKiBfX3B1dF91c2VyIGZ1bmN0aW9ucy4KLSAqCi0gKiAoQykgQ29weXJpZ2h0IDE5OTggTGludXMgVG9ydmFsZHMKLSAqIChDKSBDb3B5cmlnaHQgMjAwNSBBbmRpIEtsZWVuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIGhhdmUgYSBub24tc3RhbmRhcmQgY2FsbCBpbnRlcmZhY2UKLSAqIHRvIG1ha2UgdGhlbSBtb3JlIGVmZmljaWVudCwgZXNwZWNpYWxseSBhcyB0aGV5Ci0gKiByZXR1cm4gYW4gZXJyb3IgdmFsdWUgaW4gYWRkaXRpb24gdG8gdGhlICJyZWFsIgotICogcmV0dXJuIHZhbHVlLgotICovCi0KLS8qCi0gKiBfX3B1dF91c2VyX1gKLSAqCi0gKiBJbnB1dHM6CSVyY3ggY29udGFpbnMgdGhlIGFkZHJlc3MKLSAqCQklcmR4IGNvbnRhaW5zIG5ldyB2YWx1ZQotICoKLSAqIE91dHB1dHM6CSVyYXggaXMgZXJyb3IgY29kZSAoMCBvciAtRUZBVUxUKQotICoKLSAqICVyOCBpcyBkZXN0cm95ZWQuCi0gKgotICogVGhlc2UgZnVuY3Rpb25zIHNob3VsZCBub3QgbW9kaWZ5IGFueSBvdGhlciByZWdpc3RlcnMsCi0gKiBhcyB0aGV5IGdldCBjYWxsZWQgZnJvbSB3aXRoaW4gaW5saW5lIGFzc2VtYmx5LgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2R3YXJmMi5oPgotI2luY2x1ZGUgPGFzbS9wYWdlLmg+Ci0jaW5jbHVkZSA8YXNtL2Vycm5vLmg+Ci0jaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+Ci0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLQkudGV4dAotRU5UUlkoX19wdXRfdXNlcl8xKQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSBiYWRfcHV0X3VzZXIKLTE6CW1vdmIgJWRsLCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl8xKQotCi1FTlRSWShfX3B1dF91c2VyXzIpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMSwlcmN4Ci0JamMgMjBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDIwZgotCWRlY3EgJXJjeAotMjoJbW92dyAlZHgsKCVyY3gpCi0JeG9ybCAlZWF4LCVlYXgKLQlyZXQKLTIwOglkZWNxICVyY3gKLQlqbXAgYmFkX3B1dF91c2VyCi0JQ0ZJX0VORFBST0MKLUVORFBST0MoX19wdXRfdXNlcl8yKQotCi1FTlRSWShfX3B1dF91c2VyXzQpCi0JQ0ZJX1NUQVJUUFJPQwotCUdFVF9USFJFQURfSU5GTyglcjgpCi0JYWRkcSAkMywlcmN4Ci0JamMgMzBmCi0JY21wcSB0aHJlYWRpbmZvX2FkZHJfbGltaXQoJXI4KSwlcmN4Ci0JamFlIDMwZgotCXN1YnEgJDMsJXJjeAotMzoJbW92bCAlZWR4LCglcmN4KQotCXhvcmwgJWVheCwlZWF4Ci0JcmV0Ci0zMDoJc3VicSAkMywlcmN4Ci0Jam1wIGJhZF9wdXRfdXNlcgotCUNGSV9FTkRQUk9DCi1FTkRQUk9DKF9fcHV0X3VzZXJfNCkKLQotRU5UUlkoX19wdXRfdXNlcl84KQotCUNGSV9TVEFSVFBST0MKLQlHRVRfVEhSRUFEX0lORk8oJXI4KQotCWFkZHEgJDcsJXJjeAotCWpjIDQwZgotCWNtcHEgdGhyZWFkaW5mb19hZGRyX2xpbWl0KCVyOCksJXJjeAotCWphZSA0MGYKLQlzdWJxICQ3LCVyY3gKLTQ6CW1vdnEgJXJkeCwoJXJjeCkKLQl4b3JsICVlYXgsJWVheAotCXJldAotNDA6CXN1YnEgJDcsJXJjeAotCWptcCBiYWRfcHV0X3VzZXIKLQlDRklfRU5EUFJPQwotRU5EUFJPQyhfX3B1dF91c2VyXzgpCi0KLWJhZF9wdXRfdXNlcjoKLQlDRklfU1RBUlRQUk9DCi0JbW92cSAkKC1FRkFVTFQpLCVyYXgKLQlyZXQKLQlDRklfRU5EUFJPQwotRU5EKGJhZF9wdXRfdXNlcikKLQotLnNlY3Rpb24gX19leF90YWJsZSwiYSIKLQkucXVhZCAxYixiYWRfcHV0X3VzZXIKLQkucXVhZCAyYixiYWRfcHV0X3VzZXIKLQkucXVhZCAzYixiYWRfcHV0X3VzZXIKLQkucXVhZCA0YixiYWRfcHV0X3VzZXIKLS5wcmV2aW91cwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3RodW5rXzMyLlMgYi9hcmNoL3g4Ni9saWIvdGh1bmtfMzIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTBiMTFlCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbGliL3RodW5rXzMyLlMKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIFRyYW1wb2xpbmUgdG8gdHJhY2UgaXJxcyBvZmYuIChvdGhlcndpc2UgQ0FMTEVSX0FERFIxIG1pZ2h0IGNyYXNoKQorICogQ29weXJpZ2h0IDIwMDggYnkgU3RldmVuIFJvc3RlZHQsIFJlZCBIYXQsIEluYworICogIChpbnNwaXJlZCBieSBBbmRpIEtsZWVuJ3MgdGh1bmtfNjQuUykKKyAqIFN1YmplY3QgdG8gdGhlIEdOVSBwdWJsaWMgbGljZW5zZSwgdi4yLiBObyB3YXJyYW50eSBvZiBhbnkga2luZC4KKyAqLworCisJI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KKworI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT04JCQlcCisJcHVzaGwgJWVheDsJCQkJXAorCXB1c2hsICVlY3g7CQkJCVwKKwlwdXNobCAlZWR4OwkJCQlcCisJY2FsbCB0cmFjZV9oYXJkaXJxc19vbjsJCQlcCisJcG9wbCAlZWR4OwkJCQlcCisJcG9wbCAlZWN4OwkJCQlcCisJcG9wbCAlZWF4OworCisjZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PRkYJCQlcCisJcHVzaGwgJWVheDsJCQkJXAorCXB1c2hsICVlY3g7CQkJCVwKKwlwdXNobCAlZWR4OwkJCQlcCisJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmY7CQlcCisJcG9wbCAlZWR4OwkJCQlcCisJcG9wbCAlZWN4OwkJCQlcCisJcG9wbCAlZWF4OworCisjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCisJLyogcHV0IHJldHVybiBhZGRyZXNzIGluIGVheCAoYXJnMSkgKi8KKwkubWFjcm8gdGh1bmtfcmEgbmFtZSxmdW5jCisJLmdsb2JsIFxuYW1lCitcbmFtZToKKwlwdXNobCAlZWF4CisJcHVzaGwgJWVjeAorCXB1c2hsICVlZHgKKwkvKiBQbGFjZSBFSVAgaW4gdGhlIGFyZzEgKi8KKwltb3ZsIDMqNCglZXNwKSwgJWVheAorCWNhbGwgXGZ1bmMKKwlwb3BsICVlZHgKKwlwb3BsICVlY3gKKwlwb3BsICVlYXgKKwlyZXQKKwkuZW5kbQorCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb25fdGh1bmssdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyCisJdGh1bmtfcmEgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rLHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbGliL3RodW5rXzY0LlMgYi9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUwppbmRleCBlMDA5MjUxLi5iZjlhN2Q1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUworKysgYi9hcmNoL3g4Ni9saWIvdGh1bmtfNjQuUwpAQCAtMiw2ICsyLDcgQEAKICAqIFNhdmUgcmVnaXN0ZXJzIGJlZm9yZSBjYWxsaW5nIGFzc2VtYmx5IGZ1bmN0aW9ucy4gVGhpcyBhdm9pZHMKICAqIGRpc3R1cmJhbmNlIG9mIHJlZ2lzdGVyIGFsbG9jYXRpb24gaW4gc29tZSBpbmxpbmUgYXNzZW1ibHkgY29uc3RydWN0cy4KICAqIENvcHlyaWdodCAyMDAxLDIwMDIgYnkgQW5kaSBLbGVlbiwgU3VTRSBMYWJzLgorICogQWRkZWQgdHJhY2VfaGFyZGlycXMgY2FsbGVycyAtIENvcHlyaWdodCAyMDA3IFN0ZXZlbiBSb3N0ZWR0LCBSZWQgSGF0LCBJbmMuCiAgKiBTdWJqZWN0IHRvIHRoZSBHTlUgcHVibGljIGxpY2Vuc2UsIHYuMi4gTm8gd2FycmFudHkgb2YgYW55IGtpbmQuCiAgKi8KIApAQCAtNDIsOCArNDMsMjIgQEAKICNlbmRpZgkKIAkKICNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQl0aHVuayB0cmFjZV9oYXJkaXJxc19vbl90aHVuayx0cmFjZV9oYXJkaXJxc19vbgotCXRodW5rIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayx0cmFjZV9oYXJkaXJxc19vZmYKKwkvKiBwdXQgcmV0dXJuIGFkZHJlc3MgaW4gcmRpIChhcmcxKSAqLworCS5tYWNybyB0aHVua19yYSBuYW1lLGZ1bmMKKwkuZ2xvYmwgXG5hbWUKK1xuYW1lOgorCUNGSV9TVEFSVFBST0MKKwlTQVZFX0FSR1MKKwkvKiBTQVZFX0FSR1MgcHVzaHMgOSBlbGVtZW50cyAqLworCS8qIHRoZSBuZXh0IGVsZW1lbnQgd291bGQgYmUgdGhlIHJpcCAqLworCW1vdnEgOSo4KCVyc3ApLCAlcmRpCisJY2FsbCBcZnVuYworCWptcCAgcmVzdG9yZQorCUNGSV9FTkRQUk9DCisJLmVuZG0KKworCXRodW5rX3JhIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rLHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcgorCXRodW5rX3JhIHRyYWNlX2hhcmRpcnFzX29mZl90aHVuayx0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyCiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19ERUJVR19MT0NLX0FMTE9DCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvdXNlcmNvcHlfNjQuYyBiL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jCmluZGV4IDBjODlkMWIuLmY0ZGY2ZTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jCisrKyBiL2FyY2gveDg2L2xpYi91c2VyY29weV82NC5jCkBAIC0xNTgsMyArMTU4LDI2IEBACiB9CiBFWFBPUlRfU1lNQk9MKGNvcHlfaW5fdXNlcik7CiAKKy8qCisgKiBUcnkgdG8gY29weSBsYXN0IGJ5dGVzIGFuZCBjbGVhciB0aGUgcmVzdCBpZiBuZWVkZWQuCisgKiBTaW5jZSBwcm90ZWN0aW9uIGZhdWx0IGluIGNvcHlfZnJvbS90b191c2VyIGlzIG5vdCBhIG5vcm1hbCBzaXR1YXRpb24sCisgKiBpdCBpcyBub3QgbmVjZXNzYXJ5IHRvIG9wdGltaXplIHRhaWwgaGFuZGxpbmcuCisgKi8KK3Vuc2lnbmVkIGxvbmcKK2NvcHlfdXNlcl9oYW5kbGVfdGFpbChjaGFyICp0bywgY2hhciAqZnJvbSwgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCB6ZXJvcmVzdCkKK3sKKwljaGFyIGM7CisJdW5zaWduZWQgemVyb19sZW47CisKKwlmb3IgKDsgbGVuOyAtLWxlbikgeworCQlpZiAoX19nZXRfdXNlcl9ub2NoZWNrKGMsIGZyb20rKywgc2l6ZW9mKGNoYXIpKSkKKwkJCWJyZWFrOworCQlpZiAoX19wdXRfdXNlcl9ub2NoZWNrKGMsIHRvKyssIHNpemVvZihjaGFyKSkpCisJCQlicmVhazsKKwl9CisKKwlmb3IgKGMgPSAwLCB6ZXJvX2xlbiA9IGxlbjsgemVyb3Jlc3QgJiYgemVyb19sZW47IC0temVyb19sZW4pCisJCWlmIChfX3B1dF91c2VyX25vY2hlY2soYywgdG8rKywgc2l6ZW9mKGNoYXIpKSkKKwkJCWJyZWFrOworCXJldHVybiBsZW47Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWRlZmF1bHQvc2V0dXAuYyBiL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jCmluZGV4IDBjMjhhMDcuLjQ4Mjc4ZmEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jCisrKyBiL2FyY2gveDg2L21hY2gtZGVmYXVsdC9zZXR1cC5jCkBAIC0xMCw2ICsxMCwxNCBAQAogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAKKy8qCisgKiBBbnkgcXVpcmtzIHRvIGJlIHBlcmZvcm1lZCB0byBpbml0aWFsaXplIHRpbWVycy9pcnFzL2V0Yz8KKyAqLworaW50ICgqYXJjaF90aW1lX2luaXRfcXVpcmspKHZvaWQpOworaW50ICgqYXJjaF9wcmVfaW50cl9pbml0X3F1aXJrKSh2b2lkKTsKK2ludCAoKmFyY2hfaW50cl9pbml0X3F1aXJrKSh2b2lkKTsKK2ludCAoKmFyY2hfdHJhcF9pbml0X3F1aXJrKSh2b2lkKTsKKwogI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQogI2RlZmluZSBERUZBVUxUX1NFTkRfSVBJCSgxKQogI2Vsc2UKQEAgLTI5LDYgKzM3LDEwIEBACiAgKiovCiB2b2lkIF9faW5pdCBwcmVfaW50cl9pbml0X2hvb2sodm9pZCkKIHsKKwlpZiAoYXJjaF9wcmVfaW50cl9pbml0X3F1aXJrKSB7CisJCWlmIChhcmNoX3ByZV9pbnRyX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CiAJaW5pdF9JU0FfaXJxcygpOwogfQogCkBAIC01Miw2ICs2NCwxMCBAQAogICoqLwogdm9pZCBfX2luaXQgaW50cl9pbml0X2hvb2sodm9pZCkKIHsKKwlpZiAoYXJjaF9pbnRyX2luaXRfcXVpcmspIHsKKwkJaWYgKGFyY2hfaW50cl9pbml0X3F1aXJrKCkpCisJCQlyZXR1cm47CisJfQogI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogCWFwaWNfaW50cl9pbml0KCk7CiAjZW5kaWYKQEAgLTY1LDcgKzgxLDcgQEAKICAqCiAgKiBEZXNjcmlwdGlvbjoKICAqCWdlbmVyYWxseSB1c2VkIHRvIGFjdGl2YXRlIGFueSBtYWNoaW5lIHNwZWNpZmljIGlkZW50aWZpY2F0aW9uCi0gKglyb3V0aW5lcyB0aGF0IG1heSBiZSBuZWVkZWQgYmVmb3JlIHNldHVwX2FyY2goKSBydW5zLiAgT24gVklTV1MKKyAqCXJvdXRpbmVzIHRoYXQgbWF5IGJlIG5lZWRlZCBiZWZvcmUgc2V0dXBfYXJjaCgpIHJ1bnMuICBPbiBWb3lhZ2VyCiAgKgl0aGlzIGlzIHVzZWQgdG8gZ2V0IHRoZSBib2FyZCByZXZpc2lvbiBhbmQgdHlwZS4KICAqKi8KIHZvaWQgX19pbml0IHByZV9zZXR1cF9hcmNoX2hvb2sodm9pZCkKQEAgLTgxLDYgKzk3LDEwIEBACiAgKiovCiB2b2lkIF9faW5pdCB0cmFwX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX3RyYXBfaW5pdF9xdWlyaykgeworCQlpZiAoYXJjaF90cmFwX2luaXRfcXVpcmsoKSkKKwkJCXJldHVybjsKKwl9CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTAgID0gewpAQCAtOTksNiArMTE5LDE2IEBACiAgKiovCiB2b2lkIF9faW5pdCB0aW1lX2luaXRfaG9vayh2b2lkKQogeworCWlmIChhcmNoX3RpbWVfaW5pdF9xdWlyaykgeworCQkvKgorCQkgKiBBIG5vbnplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiBmYWlsdXJlLCBpdCBtZWFucworCQkgKiB0aGF0IHRoZSBhcmNoaXRlY3R1cmUgcXVpcmsgZG9lcyBub3Qgd2FudCBhbnkKKwkJICogZ2VuZXJpYyAodGltZXIpIHNldHVwIHRvIGJlIHBlcmZvcm1lZCBhZnRlciB0aGlzOgorCQkgKi8KKwkJaWYgKGFyY2hfdGltZV9pbml0X3F1aXJrKCkpCisJCQlyZXR1cm47CisJfQorCiAJaXJxMC5tYXNrID0gY3B1bWFza19vZl9jcHUoMCk7CiAJc2V0dXBfaXJxKDAsICZpcnEwKTsKIH0KQEAgLTE0Miw0NSArMTcyLDMgQEAKIAogbGF0ZV9pbml0Y2FsbChwcmludF9pcGlfbW9kZSk7CiAKLS8qKgotICogbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAgLSBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqCVRoaXMgaXMgaW5jbHVkZWQgbGF0ZSBpbiBrZXJuZWwvc2V0dXAuYyBzbyB0aGF0IGl0IGNhbiBtYWtlCi0gKgl1c2Ugb2YgYWxsIG9mIHRoZSBzdGF0aWMgZnVuY3Rpb25zLgotICoqLwotCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JY2hhciAqd2hvOwotCi0KLQl3aG8gPSAiQklPUy1lODIwIjsKLQotCS8qCi0JICogVHJ5IHRvIGNvcHkgdGhlIEJJT1Mtc3VwcGxpZWQgRTgyMC1tYXAuCi0JICoKLQkgKiBPdGhlcndpc2UgZmFrZSBhIG1lbW9yeSBtYXA7IG9uZSBzZWN0aW9uIGZyb20gMGstPjY0MGssCi0JICogdGhlIG5leHQgc2VjdGlvbiBmcm9tIDFtYi0+YXBwcm9wcmlhdGVfbWVtX2sKLQkgKi8KLQlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgJmJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyk7Ci0JaWYgKGNvcHlfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKLQkgICAgPCAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbWVtX3NpemU7Ci0KLQkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLwotCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rCi0JCSAgICA8IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1faykgewotCQkJbWVtX3NpemUgPSBib290X3BhcmFtcy5zY3JlZW5faW5mby5leHRfbWVtX2s7Ci0JCQl3aG8gPSAiQklPUy04OCI7Ci0JCX0gZWxzZSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLmFsdF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLWU4MDEiOwotCQl9Ci0KLQkJZTgyMC5ucl9tYXAgPSAwOwotCQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQkJYWRkX21lbW9yeV9yZWdpb24oSElHSF9NRU1PUlksIG1lbV9zaXplIDw8IDEwLCBFODIwX1JBTSk7Ci0gIAl9Ci0JcmV0dXJuIHdobzsKLX0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21hY2gtZXM3MDAwL01ha2VmaWxlIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUKaW5kZXggNjlkZDRkYS4uM2VmOGI0MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvTWFrZWZpbGUKQEAgLTMsNCArMywzIEBACiAjCiAKIG9iai0kKENPTkZJR19YODZfRVM3MDAwKQk6PSBlczcwMDBwbGF0Lm8KLW9iai0kKENPTkZJR19YODZfR0VORVJJQ0FSQ0gpCTo9IGVzNzAwMHBsYXQubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jIGIvYXJjaC94ODYvbWFjaC1lczcwMDAvZXM3MDAwcGxhdC5jCmluZGV4IGY1ZDZmN2QuLjQzNTRjZTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZXM3MDAwL2VzNzAwMHBsYXQuYworKysgYi9hcmNoL3g4Ni9tYWNoLWVzNzAwMC9lczcwMDBwbGF0LmMKQEAgLTUyLDYgKzUyLDggQEAKIHN0YXRpYyBpbnQgCQkJbWlwX3BvcnQ7CiBzdGF0aWMgdW5zaWduZWQgbG9uZwkJbWlwX2FkZHIsIGhvc3RfYWRkcjsKIAoraW50IGVzNzAwMF9wbGF0OworCiAvKgogICogR1NJIG92ZXJyaWRlIGZvciBFUzcwMDAgcGxhdGZvcm1zLgogICovCkBAIC0xNzUsNTMgKzE3Nyw2IEBACiB9CiAjZW5kaWYKIAotLyoKLSAqIFRoaXMgZmlsZSBhbHNvIGdldHMgY29tcGlsZWQgaWYgQ09ORklHX1g4Nl9HRU5FUklDQVJDSCBpcyBzZXQuIEdlbmVyaWMKLSAqIGFyY2ggYWxyZWFkeSBoYXMgZ290IGZvbGxvd2luZyBmdW5jdGlvbiBkZWZpbml0aW9ucyAoYXNtLWdlbmVyaWMvZXM3MDAwLmMpCi0gKiBoZW5jZSBubyBuZWVkIHRvIGRlZmluZSB0aGVzZSBmb3IgdGhhdCBjYXNlLgotICovCi0jaWZuZGVmIENPTkZJR19YODZfR0VORVJJQ0FSQ0gKLXZvaWQgZXM3MDAwX3N3X2FwaWModm9pZCk7Ci12b2lkIF9faW5pdCBlbmFibGVfYXBpY19tb2RlKHZvaWQpCi17Ci0JZXM3MDAwX3N3X2FwaWMoKTsKLQlyZXR1cm47Ci19Ci0KLV9faW5pdCBpbnQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKLQkJY2hhciAqcHJvZHVjdGlkKQotewotCWlmIChtcGMtPm1wY19vZW1wdHIpIHsKLQkJc3RydWN0IG1wX2NvbmZpZ19vZW10YWJsZSAqb2VtX3RhYmxlID0KLQkJCShzdHJ1Y3QgbXBfY29uZmlnX29lbXRhYmxlICopbXBjLT5tcGNfb2VtcHRyOwotCQlpZiAoIXN0cm5jbXAob2VtLCAiVU5JU1lTIiwgNikpCi0JCQlyZXR1cm4gcGFyc2VfdW5pc3lzX29lbSgoY2hhciAqKW9lbV90YWJsZSk7Ci0JfQotCXJldHVybiAwOwotfQotI2lmZGVmIENPTkZJR19BQ1BJCi0vKiBIb29rIGZyb20gZ2VuZXJpYyBBQ1BJIHRhYmxlcy5jICovCi1pbnQgX19pbml0IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCi17Ci0JdW5zaWduZWQgbG9uZyBvZW1fYWRkcjsKLQlpZiAoIWZpbmRfdW5pc3lzX2FjcGlfb2VtX3RhYmxlKCZvZW1fYWRkcikpIHsKLQkJaWYgKGVzNzAwMF9jaGVja19kc2R0KCkpCi0JCQlyZXR1cm4gcGFyc2VfdW5pc3lzX29lbSgoY2hhciAqKW9lbV9hZGRyKTsKLQkJZWxzZSB7Ci0JCQlzZXR1cF91bmlzeXMoKTsKLQkJCXJldHVybiAxOwotCQl9Ci0JfQotCXJldHVybiAwOwotfQotI2Vsc2UKLWludCBfX2luaXQgYWNwaV9tYWR0X29lbV9jaGVjayhjaGFyICpvZW1faWQsIGNoYXIgKm9lbV90YWJsZV9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLSNlbmRpZgotI2VuZGlmIC8qIENPRklHX1g4Nl9HRU5FUklDQVJDSCAqLwotCiBzdGF0aWMgdm9pZAogZXM3MDAwX3NwaW4oaW50IG4pCiB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvTWFrZWZpbGUKaW5kZXggMTlkNmQ0MC4uMGRiZDc4MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9NYWtlZmlsZQpAQCAtMiw3ICsyLDExIEBACiAjIE1ha2VmaWxlIGZvciB0aGUgZ2VuZXJpYyBhcmNoaXRlY3R1cmUKICMKIAotRVhUUkFfQ0ZMQUdTCTo9IC1JYXJjaC94ODYva2VybmVsCitFWFRSQV9DRkxBR1MJCQk6PSAtSWFyY2gveDg2L2tlcm5lbAogCi1vYmoteQkJOj0gcHJvYmUubyBzdW1taXQubyBiaWdzbXAubyBlczcwMDAubyBkZWZhdWx0Lm8gCi1vYmoteQkJKz0gLi4vLi4veDg2L21hY2gtZXM3MDAwLworb2JqLXkJCQkJOj0gcHJvYmUubyBkZWZhdWx0Lm8KK29iai0kKENPTkZJR19YODZfTlVNQVEpCQkrPSBudW1hcS5vCitvYmotJChDT05GSUdfWDg2X1NVTU1JVCkJKz0gc3VtbWl0Lm8KK29iai0kKENPTkZJR19YODZfQklHU01QKQkrPSBiaWdzbXAubworb2JqLSQoQ09ORklHX1g4Nl9FUzcwMDApCSs9IGVzNzAwMC5vCitvYmotJChDT05GSUdfWDg2X0VTNzAwMCkJKz0gLi4vLi4veDg2L21hY2gtZXM3MDAwLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jIGIvYXJjaC94ODYvbWFjaC1nZW5lcmljL2JpZ3NtcC5jCmluZGV4IDk1ZmM0NjMuLjU5ZDc3MTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9iaWdzbXAuYworKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvYmlnc21wLmMKQEAgLTIzLDEwICsyMyw4IEBACiAKIHN0YXRpYyBpbnQgaHBfaHRfYmlnc21wKGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkICpkKQogewotI2lmZGVmIENPTkZJR19YODZfR0VORVJJQ0FSQ0gKIAlwcmludGsoS0VSTl9OT1RJQ0UgIiVzIGRldGVjdGVkOiBmb3JjZSB1c2Ugb2YgYXBpYz1iaWdzbXBcbiIsIGQtPmlkZW50KTsKIAlkbWlfYmlnc21wID0gMTsKLSNlbmRpZgogCXJldHVybiAwOwogfQogCkBAIC00OCw3ICs0Niw3IEBACiBzdGF0aWMgaW50IHByb2JlX2JpZ3NtcCh2b2lkKQogewogCWlmIChkZWZfdG9fYmlnc21wKQotCWRtaV9iaWdzbXAgPSAxOworCQlkbWlfYmlnc21wID0gMTsKIAllbHNlCiAJCWRtaV9jaGVja19zeXN0ZW0oYmlnc21wX2RtaV90YWJsZSk7CiAJcmV0dXJuIGRtaV9iaWdzbXA7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvbnVtYXEuYyBiL2FyY2gveDg2L21hY2gtZ2VuZXJpYy9udW1hcS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwOTFlNjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvbnVtYXEuYwpAQCAtMCwwICsxLDQxIEBACisvKgorICogQVBJQyBkcml2ZXIgZm9yIHRoZSBJQk0gTlVNQVEgY2hpcHNldC4KKyAqLworI2RlZmluZSBBUElDX0RFRklOSVRJT04gMQorI2luY2x1ZGUgPGxpbnV4L3RocmVhZHMuaD4KKyNpbmNsdWRlIDxsaW51eC9jcHVtYXNrLmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgorI2luY2x1ZGUgPGFzbS9nZW5hcGljLmg+CisjaW5jbHVkZSA8YXNtL2ZpeG1hcC5oPgorI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfYXBpY2RlZi5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLW51bWFxL21hY2hfaXBpLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF9tcHBhcnNlLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtbnVtYXEvbWFjaF93YWtlY3B1Lmg+CisjaW5jbHVkZSA8YXNtL251bWFxLmg+CisKK3N0YXRpYyBpbnQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJY2hhciAqcHJvZHVjdGlkKQoreworCW51bWFxX21wc19vZW1fY2hlY2sobXBjLCBvZW0sIHByb2R1Y3RpZCk7CisJcmV0dXJuIGZvdW5kX251bWFxOworfQorCitzdGF0aWMgaW50IHByb2JlX251bWFxKHZvaWQpCit7CisJLyogYWxyZWFkeSBrbm93IGZyb20gZ2V0X21lbWNmZ19udW1hcSgpICovCisJcmV0dXJuIGZvdW5kX251bWFxOworfQorCisvKiBIb29rIGZyb20gZ2VuZXJpYyBBQ1BJIHRhYmxlcy5jICovCitzdGF0aWMgaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBnZW5hcGljIGFwaWNfbnVtYXEgPSBBUElDX0lOSVQoIk5VTUFRIiwgcHJvYmVfbnVtYXEpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1nZW5lcmljL3Byb2JlLmMgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYwppbmRleCBjNWFlNzUxLi41YTdlNDYxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYworKysgYi9hcmNoL3g4Ni9tYWNoLWdlbmVyaWMvcHJvYmUuYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CiAjaW5jbHVkZSA8YXNtL2dlbmFwaWMuaD4KIAorZXh0ZXJuIHN0cnVjdCBnZW5hcGljIGFwaWNfbnVtYXE7CiBleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19zdW1taXQ7CiBleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19iaWdzbXA7CiBleHRlcm4gc3RydWN0IGdlbmFwaWMgYXBpY19lczcwMDA7CkBAIC0yNCw5ICsyNSwxOCBAQAogc3RydWN0IGdlbmFwaWMgKmdlbmFwaWMgPSAmYXBpY19kZWZhdWx0OwogCiBzdGF0aWMgc3RydWN0IGdlbmFwaWMgKmFwaWNfcHJvYmVbXSBfX2luaXRkYXRhID0geworI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwkmYXBpY19udW1hcSwKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YODZfU1VNTUlUCiAJJmFwaWNfc3VtbWl0LAorI2VuZGlmCisjaWZkZWYgQ09ORklHX1g4Nl9CSUdTTVAKIAkmYXBpY19iaWdzbXAsCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X0VTNzAwMAogCSZhcGljX2VzNzAwMCwKKyNlbmRpZgogCSZhcGljX2RlZmF1bHQsCS8qIG11c3QgYmUgbGFzdCAqLwogCU5VTEwsCiB9OwpAQCAtNTQsNiArNjQsNyBAQAogCiB2b2lkIF9faW5pdCBnZW5lcmljX2JpZ3NtcF9wcm9iZSh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfQklHU01QCiAJLyoKIAkgKiBUaGlzIHJvdXRpbmUgaXMgdXNlZCB0byBzd2l0Y2ggdG8gYmlnc21wIG1vZGUgd2hlbgogCSAqIC0gVGhlcmUgaXMgbm8gYXBpYz0gb3B0aW9uIHNwZWNpZmllZCBieSB0aGUgdXNlcgpAQCAtNjcsNiArNzgsNyBAQAogCQkJcHJpbnRrKEtFUk5fSU5GTyAiT3ZlcnJpZGluZyBBUElDIGRyaXZlciB3aXRoICVzXG4iLAogCQkJICAgICAgIGdlbmFwaWMtPm5hbWUpOwogCQl9CisjZW5kaWYKIH0KIAogdm9pZCBfX2luaXQgZ2VuZXJpY19hcGljX3Byb2JlKHZvaWQpCkBAIC04OCw3ICsxMDAsOCBAQAogCiAvKiBUaGVzZSBmdW5jdGlvbnMgY2FuIHN3aXRjaCB0aGUgQVBJQyBldmVuIGFmdGVyIHRoZSBpbml0aWFsIC0+cHJvYmUoKSAqLwogCi1pbnQgX19pbml0IG1wc19vZW1fY2hlY2soc3RydWN0IG1wX2NvbmZpZ190YWJsZSAqbXBjLCBjaGFyICpvZW0sIGNoYXIgKnByb2R1Y3RpZCkKK2ludCBfX2luaXQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCQkgY2hhciAqcHJvZHVjdGlkKQogewogCWludCBpOwogCWZvciAoaSA9IDA7IGFwaWNfcHJvYmVbaV07ICsraSkgewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9NYWtlZmlsZSBiL2FyY2gveDg2L21hY2gtdmlzd3MvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzNWZkOTYuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgdGhlIGxpbnV4IGtlcm5lbC4KLSMKLQotb2JqLXkJCQkJOj0gc2V0dXAubyB0cmFwcy5vIHJlYm9vdC5vCi0KLW9iai0kKENPTkZJR19YODZfVklTV1NfQVBJQykJKz0gdmlzd3NfYXBpYy5vCi1vYmotJChDT05GSUdfWDg2X0xPQ0FMX0FQSUMpCSs9IG1wcGFyc2UubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9tcHBhcnNlLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL21wcGFyc2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc0ODRlOS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL21wcGFyc2UuYworKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLQotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXAuaD4KLQotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotI2luY2x1ZGUgImNvYmFsdC5oIgotI2luY2x1ZGUgIm1hY2hfYXBpYy5oIgotCi0vKiBIYXZlIHdlIGZvdW5kIGFuIE1QIHRhYmxlICovCi1pbnQgc21wX2ZvdW5kX2NvbmZpZzsKLQotaW50IHBpY19tb2RlOwotCi1leHRlcm4gdW5zaWduZWQgaW50IF9fY3B1aW5pdGRhdGEgbWF4Y3B1czsKLQotLyoKLSAqIFRoZSBWaXN1YWwgV29ya3N0YXRpb24gaXMgSW50ZWwgTVAgY29tcGxpYW50IGluIHRoZSBoYXJkd2FyZQotICogc2Vuc2UsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSBCSU9TKC1jb25maWd1cmF0aW9uIHRhYmxlKS4KLSAqIE5vIHByb2JsZW0gZm9yIExpbnV4LgotICovCi0KLXN0YXRpYyB2b2lkIF9faW5pdCBNUF9wcm9jZXNzb3JfaW5mbyAoc3RydWN0IG1wY19jb25maWdfcHJvY2Vzc29yICptKQotewotCWludCB2ZXIsIGxvZ2ljYWxfYXBpY2lkOwotCXBoeXNpZF9tYXNrX3QgYXBpY19jcHVzOwotCi0JaWYgKCEobS0+bXBjX2NwdWZsYWcgJiBDUFVfRU5BQkxFRCkpCi0JCXJldHVybjsKLQotCWxvZ2ljYWxfYXBpY2lkID0gbS0+bXBjX2FwaWNpZDsKLQlwcmludGsoS0VSTl9JTkZPICIlc0NQVSAjJWQgJXU6JXUgQVBJQyB2ZXJzaW9uICVkXG4iLAotCSAgICAgICBtLT5tcGNfY3B1ZmxhZyAmIENQVV9CT09UUFJPQ0VTU09SID8gIkJvb3R1cCAiIDogIiIsCi0JICAgICAgIG0tPm1wY19hcGljaWQsCi0JICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9GQU1JTFlfTUFTSykgPj4gOCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX01PREVMX01BU0spID4+IDQsCi0JICAgICAgIG0tPm1wY19hcGljdmVyKTsKLQotCWlmIChtLT5tcGNfY3B1ZmxhZyAmIENQVV9CT09UUFJPQ0VTU09SKQotCQlib290X2NwdV9waHlzaWNhbF9hcGljaWQgPSBtLT5tcGNfYXBpY2lkOwotCi0JdmVyID0gbS0+bXBjX2FwaWN2ZXI7Ci0JaWYgKCh2ZXIgPj0gMHgxNCAmJiBtLT5tcGNfYXBpY2lkID49IDB4ZmYpIHx8IG0tPm1wY19hcGljaWQgPj0gMHhmKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiUHJvY2Vzc29yICMlZCBJTlZBTElELiAoTWF4IElEOiAlZCkuXG4iLAotCQkJbS0+bXBjX2FwaWNpZCwgTUFYX0FQSUNTKTsKLQkJcmV0dXJuOwotCX0KLQotCWFwaWNfY3B1cyA9IGFwaWNpZF90b19jcHVfcHJlc2VudChtLT5tcGNfYXBpY2lkKTsKLQlwaHlzaWRzX29yKHBoeXNfY3B1X3ByZXNlbnRfbWFwLCBwaHlzX2NwdV9wcmVzZW50X21hcCwgYXBpY19jcHVzKTsKLQkvKgotCSAqIFZhbGlkYXRlIHZlcnNpb24KLQkgKi8KLQlpZiAodmVyID09IDB4MCkgewotCQlwcmludGsoS0VSTl9FUlIgIkJJT1MgYnVnLCBBUElDIHZlcnNpb24gaXMgMCBmb3IgQ1BVIyVkISAiCi0JCQkiZml4aW5nIHVwIHRvIDB4MTAuICh0ZWxsIHlvdXIgaHcgdmVuZG9yKVxuIiwKLQkJCW0tPm1wY19hcGljaWQpOwotCQl2ZXIgPSAweDEwOwotCX0KLQlhcGljX3ZlcnNpb25bbS0+bXBjX2FwaWNpZF0gPSB2ZXI7Ci19Ci0KLXZvaWQgX19pbml0IGZpbmRfc21wX2NvbmZpZyh2b2lkKQotewotCXN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbXAgPSBwaHlzX3RvX3ZpcnQoQ09fQ1BVX1RBQl9QSFlTKTsKLQl1bnNpZ25lZCBzaG9ydCBuY3B1cyA9IHJlYWR3KHBoeXNfdG9fdmlydChDT19DUFVfTlVNX1BIWVMpKTsKLQotCWlmIChuY3B1cyA+IENPX0NQVV9NQVgpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiZmluZF92aXN3c19zbXA6IGdvdCBjcHUgY291bnQgb2YgJWQgYXQgJXBcbiIsCi0JCQluY3B1cywgbXApOwotCi0JCW5jcHVzID0gQ09fQ1BVX01BWDsKLQl9Ci0KLQlpZiAobmNwdXMgPiBtYXhjcHVzKQotCQluY3B1cyA9IG1heGNwdXM7Ci0KLQlzbXBfZm91bmRfY29uZmlnID0gMTsKLQl3aGlsZSAobmNwdXMtLSkKLQkJTVBfcHJvY2Vzc29yX2luZm8obXArKyk7Ci0KLQltcF9sYXBpY19hZGRyID0gQVBJQ19ERUZBVUxUX1BIWVNfQkFTRTsKLX0KLQotdm9pZCBfX2luaXQgZ2V0X3NtcF9jb25maWcgKHZvaWQpCi17Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3JlYm9vdC5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy9yZWJvb3QuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTkzMzJhYi4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3JlYm9vdC5jCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+Ci0KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlICJwaWl4NC5oIgotCi12b2lkICgqcG1fcG93ZXJfb2ZmKSh2b2lkKTsKLUVYUE9SVF9TWU1CT0wocG1fcG93ZXJfb2ZmKTsKLQotdm9pZCBtYWNoaW5lX3NodXRkb3duKHZvaWQpCi17Ci0jaWZkZWYgQ09ORklHX1NNUAotCXNtcF9zZW5kX3N0b3AoKTsKLSNlbmRpZgotfQotCi12b2lkIG1hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQodm9pZCkKLXsKLQkvKgotCSAqIFZpc3VhbCBXb3Jrc3RhdGlvbnMgcmVzdGFydCBhZnRlciB0aGlzCi0JICogcmVnaXN0ZXIgaXMgcG9rZWQgb24gdGhlIFBJSVg0Ci0JICovCi0Jb3V0YihQSUlYNF9SRVNFVF9WQUwsIFBJSVg0X1JFU0VUX1BPUlQpOwotfQotCi12b2lkIG1hY2hpbmVfcmVzdGFydChjaGFyICogX191bnVzZWQpCi17Ci0JbWFjaGluZV9zaHV0ZG93bigpOwotCW1hY2hpbmVfZW1lcmdlbmN5X3Jlc3RhcnQoKTsKLX0KLQotdm9pZCBtYWNoaW5lX3Bvd2VyX29mZih2b2lkKQotewotCXVuc2lnbmVkIHNob3J0IHBtX3N0YXR1czsKLQlleHRlcm4gdW5zaWduZWQgaW50IHBjaV9idXMwOwotCi0Jd2hpbGUgKChwbV9zdGF0dXMgPSBpbncoUE1TVFNfUE9SVCkpICYgMHgxMDApCi0JCW91dHcocG1fc3RhdHVzLCBQTVNUU19QT1JUKTsKLQotCW91dHcoUE1fU1VTUEVORF9FTkFCTEUsIFBNQ05UUkxfUE9SVCk7Ci0KLQltZGVsYXkoMTApOwotCi0jZGVmaW5lIFBDSV9DT05GMV9BRERSRVNTKGJ1cywgZGV2Zm4sIHJlZykgXAotCSgweDgwMDAwMDAwIHwgKGJ1cyA8PCAxNikgfCAoZGV2Zm4gPDwgOCkgfCAocmVnICYgfjMpKQotCi0Jb3V0bChQQ0lfQ09ORjFfQUREUkVTUyhwY2lfYnVzMCwgU1BFQ0lBTF9ERVYsIFNQRUNJQUxfUkVHKSwgMHhDRjgpOwotCW91dGwoUElJWF9TUEVDSUFMX1NUT1AsIDB4Q0ZDKTsKLX0KLQotdm9pZCBtYWNoaW5lX2hhbHQodm9pZCkKLXsKLX0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12aXN3cy9zZXR1cC5jIGIvYXJjaC94ODYvbWFjaC12aXN3cy9zZXR1cC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTRjOWRiLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3Mvc2V0dXAuYworKysgL2Rldi9udWxsCkBAIC0xLDE4MyArMCwwIEBACi0vKgotICogIFVubWFpbnRhaW5lZCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIHN1cHBvcnQuCi0gKiAgU3BsaXQgb3V0IGZyb20gc2V0dXAuYyBieSBkYXZlakBzdXNlLmRlCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KLQotI2luY2x1ZGUgPGFzbS9maXhtYXAuaD4KLSNpbmNsdWRlIDxhc20vYXJjaF9ob29rcy5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9lODIwLmg+Ci0jaW5jbHVkZSA8YXNtL3NldHVwLmg+Ci0jaW5jbHVkZSAiY29iYWx0LmgiCi0jaW5jbHVkZSAicGlpeDQuaCIKLQotaW50IG5vX2Jyb2FkY2FzdDsKLQotY2hhciB2aXN3c19ib2FyZF90eXBlID0gLTE7Ci1jaGFyIHZpc3dzX2JvYXJkX3JldiA9IC0xOwotCi12b2lkIF9faW5pdCB2aXN3c19nZXRfYm9hcmRfdHlwZV9hbmRfcmV2KHZvaWQpCi17Ci0JaW50IHJhdzsKLQotCXZpc3dzX2JvYXJkX3R5cGUgPSAoY2hhcikoaW5iX3AoUElJWF9HUElfQkRfUkVHKSAmIFBJSVhfR1BJX0JEX1JFRykKLQkJCQkJCQkgPj4gUElJWF9HUElfQkRfU0hJRlQ7Ci0JLyoKLQkgKiBHZXQgQm9hcmQgcmV2LgotCSAqIEZpcnN0LCB3ZSBoYXZlIHRvIGluaXRpYWxpemUgdGhlIDMwNyBwYXJ0IHRvIGFsbG93IHVzIGFjY2VzcwotCSAqIHRvIHRoZSBHUElPIHJlZ2lzdGVycy4gIExldCdzIG1hcCB0aGVtIGF0IDB4MGZjMCB3aGljaCBpcyByaWdodAotCSAqIGFmdGVyIHRoZSBQSUlYNCBQTSBzZWN0aW9uLgotCSAqLwotCW91dGJfcChTSU9fREVWX1NFTCwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX0dQX0RFViwgU0lPX0RBVEEpOwkvKiBUYWxrIHRvIEdQSU8gcmVncy4gKi8KLQotCW91dGJfcChTSU9fREVWX01TQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX0dQX01TQiwgU0lPX0RBVEEpOwkvKiBNU0Igb2YgR1BJTyBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0xTQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX0dQX0xTQiwgU0lPX0RBVEEpOwkvKiBMU0Igb2YgR1BJTyBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0VOQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoMSwgU0lPX0RBVEEpOwkJLyogRW5hYmxlIEdQSU8gcmVnaXN0ZXJzLiAqLwotCi0JLyoKLQkgKiBOb3csIHdlIGhhdmUgdG8gbWFwIHRoZSBwb3dlciBtYW5hZ2VtZW50IHNlY3Rpb24gdG8gd3JpdGUKLQkgKiBhIGJpdCB3aGljaCBlbmFibGVzIGFjY2VzcyB0byB0aGUgR1BJTyByZWdpc3RlcnMuCi0JICogV2hhdCBsdW5hdGljIGNhbWUgdXAgd2l0aCB0aGlzIHNoaXQ/Ci0JICovCi0Jb3V0Yl9wKFNJT19ERVZfU0VMLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fREVWLCBTSU9fREFUQSk7CS8qIFRhbGsgdG8gR1BJTyByZWdzLiAqLwotCi0Jb3V0Yl9wKFNJT19ERVZfTVNCLCBTSU9fSU5ERVgpOwotCW91dGJfcChTSU9fUE1fTVNCLCBTSU9fREFUQSk7CS8qIE1TQiBvZiBQTSBiYXNlIGFkZHJlc3MgKi8KLQotCW91dGJfcChTSU9fREVWX0xTQiwgU0lPX0lOREVYKTsKLQlvdXRiX3AoU0lPX1BNX0xTQiwgU0lPX0RBVEEpOwkvKiBMU0Igb2YgUE0gYmFzZSBhZGRyZXNzICovCi0KLQlvdXRiX3AoU0lPX0RFVl9FTkIsIFNJT19JTkRFWCk7Ci0Jb3V0Yl9wKDEsIFNJT19EQVRBKTsJCS8qIEVuYWJsZSBQTSByZWdpc3RlcnMuICovCi0KLQkvKgotCSAqIE5vdywgd3JpdGUgdGhlIFBNIHJlZ2lzdGVyIHdoaWNoIGVuYWJsZXMgdGhlIEdQSU8gcmVnaXN0ZXJzLgotCSAqLwotCW91dGJfcChTSU9fUE1fRkVSMiwgU0lPX1BNX0lOREVYKTsKLQlvdXRiX3AoU0lPX1BNX0dQX0VOLCBTSU9fUE1fREFUQSk7Ci0KLQkvKgotCSAqIE5vdywgaW5pdGlhbGl6ZSB0aGUgR1BJTyByZWdpc3RlcnMuCi0JICogV2Ugd2FudCB0aGVtIGFsbCB0byBiZSBpbnB1dHMgd2hpY2ggaXMgdGhlCi0JICogcG93ZXIgb24gZGVmYXVsdCwgc28gbGV0J3MgbGVhdmUgdGhlbSBhbG9uZS4KLQkgKiBTbywgbGV0J3MganVzdCByZWFkIHRoZSBib2FyZCByZXYhCi0JICovCi0JcmF3ID0gaW5iX3AoU0lPX0dQX0RBVEExKTsKLQlyYXcgJj0gMHg3ZjsJLyogNyBiaXRzIG9mIHZhbGlkIGJvYXJkIHJldmlzaW9uIElELiAqLwotCi0JaWYgKHZpc3dzX2JvYXJkX3R5cGUgPT0gVklTV1NfMzIwKSB7Ci0JCWlmIChyYXcgPCAweDYpIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDQ7Ci0JCX0gZWxzZSBpZiAocmF3IDwgMHhjKSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSA1OwotCQl9IGVsc2UgewotCQkJdmlzd3NfYm9hcmRfcmV2ID0gNjsKLQkJfQotCX0gZWxzZSBpZiAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU181NDApIHsKLQkJCXZpc3dzX2JvYXJkX3JldiA9IDI7Ci0JCX0gZWxzZSB7Ci0JCQl2aXN3c19ib2FyZF9yZXYgPSByYXc7Ci0JCX0KLQotCXByaW50ayhLRVJOX0lORk8gIlNpbGljb24gR3JhcGhpY3MgVmlzdWFsIFdvcmtzdGF0aW9uICVzIChyZXYgJWQpIGRldGVjdGVkXG4iLAotCSAgICAgICAodmlzd3NfYm9hcmRfdHlwZSA9PSBWSVNXU18zMjAgPyAiMzIwIiA6Ci0JICAgICAgICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzU0MCA/ICI1NDAiIDoKLQkJInVua25vd24iKSksIHZpc3dzX2JvYXJkX3Jldik7Ci19Ci0KLXZvaWQgX19pbml0IHByZV9pbnRyX2luaXRfaG9vayh2b2lkKQotewotCWluaXRfVklTV1NfQVBJQ19pcnFzKCk7Ci19Ci0KLXZvaWQgX19pbml0IGludHJfaW5pdF9ob29rKHZvaWQpCi17Ci0jaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCi0JYXBpY19pbnRyX2luaXQoKTsKLSNlbmRpZgotfQotCi12b2lkIF9faW5pdCBwcmVfc2V0dXBfYXJjaF9ob29rKCkKLXsKLQl2aXN3c19nZXRfYm9hcmRfdHlwZV9hbmRfcmV2KCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGlycTAgPSB7Ci0JLmhhbmRsZXIgPQl0aW1lcl9pbnRlcnJ1cHQsCi0JLmZsYWdzID0JSVJRRl9ESVNBQkxFRCB8IElSUUZfSVJRUE9MTCwKLQkubmFtZSA9CQkidGltZXIiLAotfTsKLQotdm9pZCBfX2luaXQgdGltZV9pbml0X2hvb2sodm9pZCkKLXsKLQlwcmludGsoS0VSTl9JTkZPICJTdGFydGluZyBDb2JhbHQgVGltZXIgc3lzdGVtIGNsb2NrXG4iKTsKLQotCS8qIFNldCB0aGUgY291bnRkb3duIHZhbHVlICovCi0JY29fY3B1X3dyaXRlKENPX0NQVV9USU1FVkFMLCBDT19USU1FX0haL0haKTsKLQotCS8qIFN0YXJ0IHRoZSB0aW1lciAqLwotCWNvX2NwdV93cml0ZShDT19DUFVfQ1RSTCwgY29fY3B1X3JlYWQoQ09fQ1BVX0NUUkwpIHwgQ09fQ1RSTF9USU1FUlVOKTsKLQotCS8qIEVuYWJsZSAodW5tYXNrKSB0aGUgdGltZXIgaW50ZXJydXB0ICovCi0JY29fY3B1X3dyaXRlKENPX0NQVV9DVFJMLCBjb19jcHVfcmVhZChDT19DUFVfQ1RSTCkgJiB+Q09fQ1RSTF9USU1FTUFTSyk7Ci0KLQkvKiBXaXJlIGNwdSBJRFQgZW50cnkgdG8gcy93IGhhbmRsZXIgKGFuZCBDb2JhbHQgQVBJQyB0byBJRFQpICovCi0Jc2V0dXBfaXJxKDAsICZpcnEwKTsKLX0KLQotLyogSG9vayBmb3IgbWFjaGluZSBzcGVjaWZpYyBtZW1vcnkgc2V0dXAuICovCi0KLSNkZWZpbmUgTUIgKDEwMjQgKiAxMDI0KQotCi11bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3BoeXM7Ci11bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3NpemU7Ci1FWFBPUlRfU1lNQk9MKHNnaXZ3ZmJfbWVtX3BoeXMpOwotRVhQT1JUX1NZTUJPTChzZ2l2d2ZiX21lbV9zaXplKTsKLQotbG9uZyBsb25nIG1lbV9zaXplIF9faW5pdGRhdGEgPSAwOwotCi1jaGFyICogX19pbml0IG1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpCi17Ci0JbG9uZyBsb25nIGdmeF9tZW1fc2l6ZSA9IDggKiBNQjsKLQotCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOwotCi0JaWYgKCFtZW1fc2l6ZSkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJCb290bG9hZGVyIGRpZG4ndCBzZXQgbWVtb3J5IHNpemUsIHVwZ3JhZGUgaXQgIVxuIik7Ci0JCW1lbV9zaXplID0gMTI4ICogTUI7Ci0JfQotCi0JLyoKLQkgKiB0aGlzIGhhcmRjb2RlcyB0aGUgZ3JhcGhpY3MgbWVtb3J5IHRvIDggTUIKLQkgKiBpdCByZWFsbHkgc2hvdWxkIGJlIHNpemVkIGR5bmFtaWNhbGx5IChvciBhdCBsZWFzdAotCSAqIHNldCBhcyBhIGJvb3QgcGFyYW0pCi0JICovCi0JaWYgKCFzZ2l2d2ZiX21lbV9zaXplKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgIkRlZmF1bHRpbmcgdG8gOCBNQiBmcmFtZWJ1ZmZlciBzaXplXG4iKTsKLQkJc2dpdndmYl9tZW1fc2l6ZSA9IDggKiBNQjsKLQl9Ci0KLQkvKgotCSAqIFRyaW0gdG8gbmVhcmVzdCBNQgotCSAqLwotCXNnaXZ3ZmJfbWVtX3NpemUgJj0gfigoMSA8PCAyMCkgLSAxKTsKLQlzZ2l2d2ZiX21lbV9waHlzID0gbWVtX3NpemUgLSBnZnhfbWVtX3NpemU7Ci0KLQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgLSBzZ2l2d2ZiX21lbV9zaXplIC0gSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihzZ2l2d2ZiX21lbV9waHlzLCBzZ2l2d2ZiX21lbV9zaXplLCBFODIwX1JFU0VSVkVEKTsKLQotCXJldHVybiAiUFJPTSI7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3RyYXBzLmMgYi9hcmNoL3g4Ni9tYWNoLXZpc3dzL3RyYXBzLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmYWM2YmEuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvbWFjaC12aXN3cy90cmFwcy5jCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotLyogVklTV1MgdHJhcHMgKi8KLQotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaV9pZHMuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hcmNoX2hvb2tzLmg+Ci0jaW5jbHVkZSA8YXNtL2FwaWMuaD4KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJsaXRoaXVtLmgiCi0KLQotI2RlZmluZSBBMDEyMzQgKExJX0lOVEFfMCB8IExJX0lOVEFfMSB8IExJX0lOVEFfMiB8IExJX0lOVEFfMyB8IExJX0lOVEFfNCkKLSNkZWZpbmUgQkNEIChMSV9JTlRCIHwgTElfSU5UQyB8IExJX0lOVEQpCi0jZGVmaW5lIEFMTERFVlMgKEEwMTIzNCB8IEJDRCkKLQotc3RhdGljIF9faW5pdCB2b2lkIGxpdGhpdW1faW5pdCh2b2lkKQotewotCXNldF9maXhtYXAoRklYX0xJX1BDSUEsIExJX1BDSV9BX1BIWVMpOwotCXNldF9maXhtYXAoRklYX0xJX1BDSUIsIExJX1BDSV9CX1BIWVMpOwotCi0JaWYgKChsaV9wY2lhX3JlYWQxNihQQ0lfVkVORE9SX0lEKSAhPSBQQ0lfVkVORE9SX0lEX1NHSSkgfHwKLQkgICAgKGxpX3BjaWFfcmVhZDE2KFBDSV9ERVZJQ0VfSUQpICE9IFBDSV9ERVZJQ0VfSURfU0dJX0xJVEhJVU0pKSB7Ci0JCXByaW50ayhLRVJOX0VNRVJHICJMaXRoaXVtIGhvc3RicmlkZ2UgJWMgbm90IGZvdW5kXG4iLCAnQScpOwotCQlwYW5pYygiVGhpcyBtYWNoaW5lIGlzIG5vdCBTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIDMyMC81NDAiKTsKLQl9Ci0KLQlpZiAoKGxpX3BjaWJfcmVhZDE2KFBDSV9WRU5ET1JfSUQpICE9IFBDSV9WRU5ET1JfSURfU0dJKSB8fAotCSAgICAobGlfcGNpYl9yZWFkMTYoUENJX0RFVklDRV9JRCkgIT0gUENJX0RFVklDRV9JRF9TR0lfTElUSElVTSkpIHsKLQkJcHJpbnRrKEtFUk5fRU1FUkcgIkxpdGhpdW0gaG9zdGJyaWRnZSAlYyBub3QgZm91bmRcbiIsICdCJyk7Ci0JCXBhbmljKCJUaGlzIG1hY2hpbmUgaXMgbm90IFNHSSBWaXN1YWwgV29ya3N0YXRpb24gMzIwLzU0MCIpOwotCX0KLQotCWxpX3BjaWFfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOwotCWxpX3BjaWJfd3JpdGUxNihMSV9QQ0lfSU5URU4sIEFMTERFVlMpOwotfQotCi1zdGF0aWMgX19pbml0IHZvaWQgY29iYWx0X2luaXQodm9pZCkKLXsKLQkvKgotCSAqIE9uIG5vcm1hbCBTTVAgUEMgdGhpcyBpcyB1c2VkIG9ubHkgd2l0aCBTTVAsIGJ1dCB3ZSBoYXZlIHRvCi0JICogdXNlIGl0IGFuZCBzZXQgaXQgdXAgaGVyZSB0byBzdGFydCB0aGUgQ29iYWx0IGNsb2NrCi0JICovCi0Jc2V0X2ZpeG1hcChGSVhfQVBJQ19CQVNFLCBBUElDX0RFRkFVTFRfUEhZU19CQVNFKTsKLQlzZXR1cF9sb2NhbF9BUElDKCk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiTG9jYWwgQVBJQyBWZXJzaW9uICUjeCwgSUQgJSN4XG4iLAotCQkodW5zaWduZWQgaW50KWFwaWNfcmVhZChBUElDX0xWUiksCi0JCSh1bnNpZ25lZCBpbnQpYXBpY19yZWFkKEFQSUNfSUQpKTsKLQotCXNldF9maXhtYXAoRklYX0NPX0NQVSwgQ09fQ1BVX1BIWVMpOwotCXNldF9maXhtYXAoRklYX0NPX0FQSUMsIENPX0FQSUNfUEhZUyk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQ29iYWx0IFJldmlzaW9uICUjbHgsIEFQSUMgSUQgJSNseFxuIiwKLQkJY29fY3B1X3JlYWQoQ09fQ1BVX1JFViksIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSk7Ci0KLQkvKiBFbmFibGUgQ29iYWx0IEFQSUMgYmVpbmcgY2FyZWZ1bCB0byBOT1QgY2hhbmdlIHRoZSBJRCEgKi8KLQljb19hcGljX3dyaXRlKENPX0FQSUNfSUQsIGNvX2FwaWNfcmVhZChDT19BUElDX0lEKSB8IENPX0FQSUNfRU5BQkxFKTsKLQotCXByaW50ayhLRVJOX0lORk8gIkNvYmFsdCBBUElDIGVuYWJsZWQ6IElEIHJlZyAlI2x4XG4iLAotCQljb19hcGljX3JlYWQoQ09fQVBJQ19JRCkpOwotfQotCi12b2lkIF9faW5pdCB0cmFwX2luaXRfaG9vayh2b2lkKQotewotCWxpdGhpdW1faW5pdCgpOwotCWNvYmFsdF9pbml0KCk7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZpc3dzL3Zpc3dzX2FwaWMuYyBiL2FyY2gveDg2L21hY2gtdmlzd3Mvdmlzd3NfYXBpYy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZWY5Y2IxLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L21hY2gtdmlzd3Mvdmlzd3NfYXBpYy5jCisrKyAvZGV2L251bGwKQEAgLTEsMjk3ICswLDAgQEAKLS8qCi0gKglDb3B5cmlnaHQgKEMpIDE5OTkgQmVudCBIYWdlbWFyaywgSW5nbyBNb2xuYXIKLSAqCi0gKiAgU0dJIFZpc3VhbCBXb3Jrc3RhdGlvbiBpbnRlcnJ1cHQgY29udHJvbGxlcgotICoKLSAqICBUaGUgQ29iYWx0IHN5c3RlbSBBU0lDIGluIHRoZSBWaXN1YWwgV29ya3N0YXRpb24gY29udGFpbnMgYSAiQ29iYWx0IiBBUElDCi0gKiAgd2hpY2ggc2VydmVzIGFzIHRoZSBtYWluIGludGVycnVwdCBjb250cm9sbGVyIGluIHRoZSBzeXN0ZW0uICBOb24tbGVnYWN5Ci0gKiAgaGFyZHdhcmUgaW4gdGhlIHN5c3RlbSB1c2VzIHRoaXMgY29udHJvbGxlciBkaXJlY3RseS4gIExlZ2FjeSBkZXZpY2VzCi0gKiAgYXJlIGNvbm5lY3RlZCB0byB0aGUgUElJWDQgd2hpY2ggaW4gdHVybiBoYXMgaXRzIDgyNTkocykgY29ubmVjdGVkIHRvCi0gKiAgYSBvZiB0aGUgQ29iYWx0IEFQSUMgZW50cnkuCi0gKgotICogIDA5LzAyLzIwMDAgLSBVcGRhdGVkIGZvciAyLjQgYnkgamJhcm5lc0BzZ2kuY29tCi0gKgotICogIDI1LzExLzIwMDIgLSBVcGRhdGVkIGZvciAyLjUgYnkgQW5kcmV5IFBhbmluIDxwYXprZUBvcmJpdGExLnJ1PgotICovCi0KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWxfc3RhdC5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLQotI2luY2x1ZGUgPGFzbS9pby5oPgotI2luY2x1ZGUgPGFzbS9hcGljLmg+Ci0jaW5jbHVkZSA8YXNtL2k4MjU5Lmg+Ci0KLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJpcnFfdmVjdG9ycy5oIgotCi0KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY29iYWx0X2xvY2spOwotCi0vKgotICogU2V0IHRoZSBnaXZlbiBDb2JhbHQgQVBJQyBSZWRpcmVjdGlvbiBUYWJsZSBlbnRyeSB0byBwb2ludAotICogdG8gdGhlIGdpdmVuIElEVCB2ZWN0b3IvaW5kZXguCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjb19hcGljX3NldChpbnQgZW50cnksIGludCBpcnEpCi17Ci0JY29fYXBpY193cml0ZShDT19BUElDX0xPKGVudHJ5KSwgQ09fQVBJQ19MRVZFTCB8IChpcnEgKyBGSVJTVF9FWFRFUk5BTF9WRUNUT1IpKTsKLQljb19hcGljX3dyaXRlKENPX0FQSUNfSEkoZW50cnkpLCAwKTsKLX0KLQotLyoKLSAqIENvYmFsdCAoSU8pLUFQSUMgZnVuY3Rpb25zIHRvIGhhbmRsZSBQQ0kgZGV2aWNlcy4KLSAqLwotc3RhdGljIGlubGluZSBpbnQgY29fYXBpY19pZGUwX2hhY2sodm9pZCkKLXsKLQlleHRlcm4gY2hhciB2aXN3c19ib2FyZF90eXBlOwotCWV4dGVybiBjaGFyIHZpc3dzX2JvYXJkX3JldjsKLQotCWlmICh2aXN3c19ib2FyZF90eXBlID09IFZJU1dTXzMyMCAmJiB2aXN3c19ib2FyZF9yZXYgPT0gNSkKLQkJcmV0dXJuIDU7Ci0JcmV0dXJuIENPX0FQSUNfSURFMDsKLX0KLQotc3RhdGljIGludCBpc19jb19hcGljKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaWYgKElTX0NPX0FQSUMoaXJxKSkKLQkJcmV0dXJuIENPX0FQSUMoaXJxKTsKLQotCXN3aXRjaCAoaXJxKSB7Ci0JCWNhc2UgMDogcmV0dXJuIENPX0FQSUNfQ1BVOwotCQljYXNlIENPX0lSUV9JREUwOiByZXR1cm4gY29fYXBpY19pZGUwX2hhY2soKTsKLQkJY2FzZSBDT19JUlFfSURFMTogcmV0dXJuIENPX0FQSUNfSURFMTsKLQkJZGVmYXVsdDogcmV0dXJuIC0xOwotCX0KLX0KLQotCi0vKgotICogVGhpcyBpcyB0aGUgU0dJIENvYmFsdCAoSU8tKUFQSUM6Ci0gKi8KLQotc3RhdGljIHZvaWQgZW5hYmxlX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQljb19hcGljX3NldChpc19jb19hcGljKGlycSksIGlycSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRpc2FibGVfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCWludCBlbnRyeSA9IGlzX2NvX2FwaWMoaXJxKTsKLQotCWNvX2FwaWNfd3JpdGUoQ09fQVBJQ19MTyhlbnRyeSksIENPX0FQSUNfTUFTSyk7Ci0JY29fYXBpY19yZWFkKENPX0FQSUNfTE8oZW50cnkpKTsKLX0KLQotLyoKLSAqICJpcnEiIHJlYWxseSBqdXN0IHNlcnZlcyB0byBpZGVudGlmeSB0aGUgZGV2aWNlLiAgSGVyZSBpcyB3aGVyZSB3ZQotICogbWFwIHRoaXMgdG8gdGhlIENvYmFsdCBBUElDIGVudHJ5IHdoZXJlIGl0J3MgcGh5c2ljYWxseSB3aXJlZC4KLSAqIFRoaXMgaXMgY2FsbGVkIHZpYSByZXF1ZXN0X2lycSAtPiBzZXR1cF9pcnEgLT4gaXJxX2Rlc2MtPnN0YXJ0dXAoKQotICovCi1zdGF0aWMgdW5zaWduZWQgaW50IHN0YXJ0dXBfY29iYWx0X2lycSh1bnNpZ25lZCBpbnQgaXJxKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLQlpZiAoKGlycV9kZXNjW2lycV0uc3RhdHVzICYgKElSUV9ESVNBQkxFRCB8IElSUV9JTlBST0dSRVNTIHwgSVJRX1dBSVRJTkcpKSkKLQkJaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJj0gfihJUlFfRElTQUJMRUQgfCBJUlFfSU5QUk9HUkVTUyB8IElSUV9XQUlUSU5HKTsKLQllbmFibGVfY29iYWx0X2lycShpcnEpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGFja19jb2JhbHRfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotCWRpc2FibGVfY29iYWx0X2lycShpcnEpOwotCWFwaWNfd3JpdGUoQVBJQ19FT0ksIEFQSUNfRUlPX0FDSyk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29iYWx0X2xvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHZvaWQgZW5kX2NvYmFsdF9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JaWYgKCEoaXJxX2Rlc2NbaXJxXS5zdGF0dXMgJiAoSVJRX0RJU0FCTEVEIHwgSVJRX0lOUFJPR1JFU1MpKSkKLQkJZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIGNvYmFsdF9pcnFfdHlwZSA9IHsKLQkudHlwZW5hbWUgPQkiQ29iYWx0LUFQSUMiLAotCS5zdGFydHVwID0Jc3RhcnR1cF9jb2JhbHRfaXJxLAotCS5zaHV0ZG93biA9CWRpc2FibGVfY29iYWx0X2lycSwKLQkuZW5hYmxlID0JZW5hYmxlX2NvYmFsdF9pcnEsCi0JLmRpc2FibGUgPQlkaXNhYmxlX2NvYmFsdF9pcnEsCi0JLmFjayA9CQlhY2tfY29iYWx0X2lycSwKLQkuZW5kID0JCWVuZF9jb2JhbHRfaXJxLAotfTsKLQotCi0vKgotICogVGhpcyBpcyB0aGUgUElJWDQtYmFzZWQgODI1OSB0aGF0IGlzIHdpcmVkIHVwIGluZGlyZWN0bHkgdG8gQ29iYWx0Ci0gKiAtLSBub3QgdGhlIG1hbm5lciBleHBlY3RlZCBieSB0aGUgY29kZSBpbiBpODI1OS5jLgotICoKLSAqIHRoZXJlIGlzIGEgJ21hc3RlcicgcGh5c2ljYWwgaW50ZXJydXB0IHNvdXJjZSB0aGF0IGdldHMgc2VudCB0bwotICogdGhlIENQVS4gQnV0IGluIHRoZSBjaGlwc2V0IHRoZXJlIGFyZSB2YXJpb3VzICd2aXJ0dWFsJyBpbnRlcnJ1cHRzCi0gKiB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuIFdlIHJlcHJlc2VudCB0aGlzIHRvIExpbnV4IHRocm91Z2ggYSAnbWFzdGVyJwotICogaW50ZXJydXB0IGNvbnRyb2xsZXIgdHlwZSwgYW5kIHRocm91Z2ggYSBzcGVjaWFsIHZpcnR1YWwgaW50ZXJydXB0LQotICogY29udHJvbGxlci4gRGV2aWNlIGRyaXZlcnMgb25seSBzZWUgdGhlIHZpcnR1YWwgaW50ZXJydXB0IHNvdXJjZXMuCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgc3RhcnR1cF9waWl4NF9tYXN0ZXJfaXJxKHVuc2lnbmVkIGludCBpcnEpCi17Ci0JaW5pdF84MjU5QSgwKTsKLQotCXJldHVybiBzdGFydHVwX2NvYmFsdF9pcnEoaXJxKTsKLX0KLQotc3RhdGljIHZvaWQgZW5kX3BpaXg0X21hc3Rlcl9pcnEodW5zaWduZWQgaW50IGlycSkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNvYmFsdF9sb2NrLCBmbGFncyk7Ci0JZW5hYmxlX2NvYmFsdF9pcnEoaXJxKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb2JhbHRfbG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgc3RydWN0IGlycV9jaGlwIHBpaXg0X21hc3Rlcl9pcnFfdHlwZSA9IHsKLQkudHlwZW5hbWUgPQkiUElJWDQtbWFzdGVyIiwKLQkuc3RhcnR1cCA9CXN0YXJ0dXBfcGlpeDRfbWFzdGVyX2lycSwKLQkuYWNrID0JCWFja19jb2JhbHRfaXJxLAotCS5lbmQgPQkJZW5kX3BpaXg0X21hc3Rlcl9pcnEsCi19OwotCi0KLXN0YXRpYyBzdHJ1Y3QgaXJxX2NoaXAgcGlpeDRfdmlydHVhbF9pcnFfdHlwZSA9IHsKLQkudHlwZW5hbWUgPQkiUElJWDQtdmlydHVhbCIsCi0JLnNodXRkb3duID0JZGlzYWJsZV84MjU5QV9pcnEsCi0JLmVuYWJsZSA9CWVuYWJsZV84MjU5QV9pcnEsCi0JLmRpc2FibGUgPQlkaXNhYmxlXzgyNTlBX2lycSwKLX07Ci0KLQotLyoKLSAqIFBJSVg0LTgyNTkgbWFzdGVyL3ZpcnR1YWwgZnVuY3Rpb25zIHRvIGhhbmRsZSBpbnRlcnJ1cHQgcmVxdWVzdHMKLSAqIGZyb20gbGVnYWN5IGRldmljZXM6IGZsb3BweSwgcGFyYWxsZWwsIHNlcmlhbCwgcnRjLgotICoKLSAqIE5vbmUgb2YgdGhlc2UgZ2V0IENvYmFsdCBBUElDIGVudHJpZXMsIG5laXRoZXIgZG8gdGhleSBoYXZlIElEVAotICogZW50cmllcy4gVGhlc2UgaW50ZXJydXB0cyBhcmUgcHVyZWx5IHZpcnR1YWwgYW5kIGRpc3RyaWJ1dGVkIGZyb20KLSAqIHRoZSAnbWFzdGVyJyBpbnRlcnJ1cHQgc291cmNlOiBDT19JUlFfODI1OS4KLSAqCi0gKiBXaGVuIHRoZSA4MjU5IGludGVycnVwdHMgaXRzIGhhbmRsZXIgZmlndXJlcyBvdXQgd2hpY2ggb2YgdGhlc2UKLSAqIGRldmljZXMgaXMgaW50ZXJydXB0aW5nIGFuZCBkaXNwYXRjaGVzIHRvIGl0cyBoYW5kbGVyLgotICoKLSAqIENBUkVGVUw6IGRldmljZXMgc2VlIHRoZSAndmlydHVhbCcgaW50ZXJydXB0IG9ubHkuIFRodXMgZGlzYWJsZS8KLSAqIGVuYWJsZV9pcnEgZ2V0cyB0aGUgcmlnaHQgaXJxLiBUaGlzICdtYXN0ZXInIGlycSBpcyBuZXZlciBkaXJlY3RseQotICogbWFuaXB1bGF0ZWQgYnkgYW55IGRyaXZlci4KLSAqLwotc3RhdGljIGlycXJldHVybl90IHBpaXg0X21hc3Rlcl9pbnRyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKLXsKLQlpbnQgcmVhbGlycTsKLQlpcnFfZGVzY190ICpkZXNjOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCS8qIEZpbmQgb3V0IHdoYXQncyBpbnRlcnJ1cHRpbmcgaW4gdGhlIFBJSVg0IG1hc3RlciA4MjU5ICovCi0Jb3V0YigweDBjLCAweDIwKTsJCS8qIE9DVzMgUG9sbCBjb21tYW5kICovCi0JcmVhbGlycSA9IGluYigweDIwKTsKLQotCS8qCi0JICogQml0IDcgPT0gMCBtZWFucyBpbnZhbGlkL3NwdXJpb3VzCi0JICovCi0JaWYgKHVubGlrZWx5KCEocmVhbGlycSAmIDB4ODApKSkKLQkJZ290byBvdXRfdW5sb2NrOwotCi0JcmVhbGlycSAmPSA3OwotCi0JaWYgKHVubGlrZWx5KHJlYWxpcnEgPT0gMikpIHsKLQkJb3V0YigweDBjLCAweGEwKTsKLQkJcmVhbGlycSA9IGluYigweGEwKTsKLQotCQlpZiAodW5saWtlbHkoIShyZWFsaXJxICYgMHg4MCkpKQotCQkJZ290byBvdXRfdW5sb2NrOwotCi0JCXJlYWxpcnEgPSAocmVhbGlycSAmIDcpICsgODsKLQl9Ci0KLQkvKiBtYXNrIGFuZCBhY2sgaW50ZXJydXB0ICovCi0JY2FjaGVkX2lycV9tYXNrIHw9IDEgPDwgcmVhbGlycTsKLQlpZiAodW5saWtlbHkocmVhbGlycSA+IDcpKSB7Ci0JCWluYigweGExKTsKLQkJb3V0YihjYWNoZWRfc2xhdmVfbWFzaywgMHhhMSk7Ci0JCW91dGIoMHg2MCArIChyZWFsaXJxICYgNyksIDB4YTApOwotCQlvdXRiKDB4NjAgKyAyLCAweDIwKTsKLQl9IGVsc2UgewotCQlpbmIoMHgyMSk7Ci0JCW91dGIoY2FjaGVkX21hc3Rlcl9tYXNrLCAweDIxKTsKLQkJb3V0YigweDYwICsgcmVhbGlycSwgMHgyMCk7Ci0JfQotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTgyNTlBX2xvY2ssIGZsYWdzKTsKLQotCWRlc2MgPSBpcnFfZGVzYyArIHJlYWxpcnE7Ci0KLQkvKgotCSAqIGhhbmRsZSB0aGlzICd2aXJ0dWFsIGludGVycnVwdCcgYXMgYSBDb2JhbHQgb25lIG5vdy4KLQkgKi8KLQlrc3RhdF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpKS5pcnFzW3JlYWxpcnFdKys7Ci0KLQlpZiAobGlrZWx5KGRlc2MtPmFjdGlvbiAhPSBOVUxMKSkKLQkJaGFuZGxlX0lSUV9ldmVudChyZWFsaXJxLCBkZXNjLT5hY3Rpb24pOwotCi0JaWYgKCEoZGVzYy0+c3RhdHVzICYgSVJRX0RJU0FCTEVEKSkKLQkJZW5hYmxlXzgyNTlBX2lycShyZWFsaXJxKTsKLQotCXJldHVybiBJUlFfSEFORExFRDsKLQotb3V0X3VubG9jazoKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpODI1OUFfbG9jaywgZmxhZ3MpOwotCXJldHVybiBJUlFfTk9ORTsKLX0KLQotc3RhdGljIHN0cnVjdCBpcnFhY3Rpb24gbWFzdGVyX2FjdGlvbiA9IHsKLQkuaGFuZGxlciA9CXBpaXg0X21hc3Rlcl9pbnRyLAotCS5uYW1lID0JCSJQSUlYNC04MjU5IiwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaXJxYWN0aW9uIGNhc2NhZGVfYWN0aW9uID0gewotCS5oYW5kbGVyID0gCW5vX2FjdGlvbiwKLQkubmFtZSA9CQkiY2FzY2FkZSIsCi19OwotCi0KLXZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCkKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBDT19JUlFfQVBJQzAgKyBDT19BUElDX0xBU1QgKyAxOyBpKyspIHsKLQkJaXJxX2Rlc2NbaV0uc3RhdHVzID0gSVJRX0RJU0FCTEVEOwotCQlpcnFfZGVzY1tpXS5hY3Rpb24gPSAwOwotCQlpcnFfZGVzY1tpXS5kZXB0aCA9IDE7Ci0KLQkJaWYgKGkgPT0gMCkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMCkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA9PSBDT19JUlFfSURFMSkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZjb2JhbHRfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA9PSBDT19JUlFfODI1OSkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF9tYXN0ZXJfaXJxX3R5cGU7Ci0JCX0KLQkJZWxzZSBpZiAoaSA8IENPX0lSUV9BUElDMCkgewotCQkJaXJxX2Rlc2NbaV0uY2hpcCA9ICZwaWl4NF92aXJ0dWFsX2lycV90eXBlOwotCQl9Ci0JCWVsc2UgaWYgKElTX0NPX0FQSUMoaSkpIHsKLQkJCWlycV9kZXNjW2ldLmNoaXAgPSAmY29iYWx0X2lycV90eXBlOwotCQl9Ci0JfQotCi0Jc2V0dXBfaXJxKENPX0lSUV84MjU5LCAmbWFzdGVyX2FjdGlvbik7Ci0Jc2V0dXBfaXJxKDIsICZjYXNjYWRlX2FjdGlvbik7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvc2V0dXAuYyBiL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jCmluZGV4IDVhZTU0NjYuLjZiYmRkNjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jCisrKyBiL2FyY2gveDg2L21hY2gtdm95YWdlci9zZXR1cC5jCkBAIC02Miw2ICs2Miw3IEBACiBjaGFyICpfX2luaXQgbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAodm9pZCkKIHsKIAljaGFyICp3aG87CisJaW50IG5ld19ucjsKIAogCXdobyA9ICJOT1QgVk9ZQUdFUiI7CiAKQEAgLTczLDcgKzc0LDcgQEAKIAogCQllODIwLm5yX21hcCA9IDA7CiAJCWZvciAoaSA9IDA7IHZveWFnZXJfbWVtb3J5X2RldGVjdChpLCAmYWRkciwgJmxlbmd0aCk7IGkrKykgewotCQkJYWRkX21lbW9yeV9yZWdpb24oYWRkciwgbGVuZ3RoLCBFODIwX1JBTSk7CisJCQllODIwX2FkZF9yZWdpb24oYWRkciwgbGVuZ3RoLCBFODIwX1JBTSk7CiAJCX0KIAkJcmV0dXJuIHdobzsKIAl9IGVsc2UgaWYgKHZveWFnZXJfbGV2ZWwgPT0gNCkgewpAQCAtOTEsNDMgKzkyLDE3IEBACiAJCQl0b20gPSAoYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSA8PCAxMDsKIAkJfQogCQl3aG8gPSAiVm95YWdlci1UT00iOwotCQlhZGRfbWVtb3J5X3JlZ2lvbigwLCAweDlmMDAwLCBFODIwX1JBTSk7CisJCWU4MjBfYWRkX3JlZ2lvbigwLCAweDlmMDAwLCBFODIwX1JBTSk7CiAJCS8qIG1hcCBmcm9tIDFNIHRvIHRvcCBvZiBtZW1vcnkgKi8KLQkJYWRkX21lbW9yeV9yZWdpb24oMSAqIDEwMjQgKiAxMDI0LCB0b20gLSAxICogMTAyNCAqIDEwMjQsCisJCWU4MjBfYWRkX3JlZ2lvbigxICogMTAyNCAqIDEwMjQsIHRvbSAtIDEgKiAxMDI0ICogMTAyNCwKIAkJCQkgIEU4MjBfUkFNKTsKIAkJLyogRklYTUU6IFNob3VsZCBjaGVjayB0aGUgQVNJQ3MgdG8gc2VlIGlmIEkgbmVlZCB0bwogCQkgKiB0YWtlIG91dCB0aGUgOE0gd2luZG93LiAgSnVzdCBkbyBpdCBhdCB0aGUgbW9tZW50CiAJCSAqICovCi0JCWFkZF9tZW1vcnlfcmVnaW9uKDggKiAxMDI0ICogMTAyNCwgOCAqIDEwMjQgKiAxMDI0LAorCQllODIwX2FkZF9yZWdpb24oOCAqIDEwMjQgKiAxMDI0LCA4ICogMTAyNCAqIDEwMjQsCiAJCQkJICBFODIwX1JFU0VSVkVEKTsKIAkJcmV0dXJuIHdobzsKIAl9CiAKLQl3aG8gPSAiQklPUy1lODIwIjsKLQotCS8qCi0JICogVHJ5IHRvIGNvcHkgdGhlIEJJT1Mtc3VwcGxpZWQgRTgyMC1tYXAuCi0JICoKLQkgKiBPdGhlcndpc2UgZmFrZSBhIG1lbW9yeSBtYXA7IG9uZSBzZWN0aW9uIGZyb20gMGstPjY0MGssCi0JICogdGhlIG5leHQgc2VjdGlvbiBmcm9tIDFtYi0+YXBwcm9wcmlhdGVfbWVtX2sKLQkgKi8KLQlzYW5pdGl6ZV9lODIwX21hcChib290X3BhcmFtcy5lODIwX21hcCwgJmJvb3RfcGFyYW1zLmU4MjBfZW50cmllcyk7Ci0JaWYgKGNvcHlfZTgyMF9tYXAoYm9vdF9wYXJhbXMuZTgyMF9tYXAsIGJvb3RfcGFyYW1zLmU4MjBfZW50cmllcykKLQkgICAgPCAwKSB7Ci0JCXVuc2lnbmVkIGxvbmcgbWVtX3NpemU7Ci0KLQkJLyogY29tcGFyZSByZXN1bHRzIGZyb20gb3RoZXIgbWV0aG9kcyBhbmQgdGFrZSB0aGUgZ3JlYXRlciAqLwotCQlpZiAoYm9vdF9wYXJhbXMuYWx0X21lbV9rIDwgYm9vdF9wYXJhbXMuc2NyZWVuX2luZm8uZXh0X21lbV9rKSB7Ci0JCQltZW1fc2l6ZSA9IGJvb3RfcGFyYW1zLnNjcmVlbl9pbmZvLmV4dF9tZW1fazsKLQkJCXdobyA9ICJCSU9TLTg4IjsKLQkJfSBlbHNlIHsKLQkJCW1lbV9zaXplID0gYm9vdF9wYXJhbXMuYWx0X21lbV9rOwotCQkJd2hvID0gIkJJT1MtZTgwMSI7Ci0JCX0KLQotCQllODIwLm5yX21hcCA9IDA7Ci0JCWFkZF9tZW1vcnlfcmVnaW9uKDAsIExPV01FTVNJWkUoKSwgRTgyMF9SQU0pOwotCQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgbWVtX3NpemUgPDwgMTAsIEU4MjBfUkFNKTsKLQl9Ci0JcmV0dXJuIHdobzsKKwlyZXR1cm4gZGVmYXVsdF9tYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC12b3lhZ2VyL3ZveWFnZXJfc21wLmMgYi9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYwppbmRleCA4YWNiZjBjLi5lZTBmYmEwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYworKysgYi9hcmNoL3g4Ni9tYWNoLXZveWFnZXIvdm95YWdlcl9zbXAuYwpAQCAtNTksMTEgKzU5LDYgQEAKICAqIGFjdGl2aXR5IGNvdW50LiAgRmluYWxseSBleHBvcnRlZCBieSBpMzg2X2tzeW1zLmMgKi8KIHN0YXRpYyBpbnQgdm95YWdlcl9leHRlbmRlZF9jcHVzID0gMTsKIAotLyogSGF2ZSB3ZSBmb3VuZCBhbiBTTVAgYm94IC0gdXNlZCBieSB0aW1lLmMgdG8gZG8gdGhlIHByb2ZpbGluZwotICAgaW50ZXJydXB0IGZvciB0aW1lc2xpY2luZzsgZG8gbm90IHNldCB0byAxIHVudGlsIHRoZSBwZXIgQ1BVIHRpbWVyCi0gICBpbnRlcnJ1cHQgaXMgYWN0aXZlICovCi1pbnQgc21wX2ZvdW5kX2NvbmZpZyA9IDA7Ci0KIC8qIFVzZWQgZm9yIHRoZSBpbnZhbGlkYXRlIG1hcCB0aGF0J3MgYWxzbyBjaGVja2VkIGluIHRoZSBzcGlubG9jayAqLwogc3RhdGljIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgc21wX2ludmFsaWRhdGVfbmVlZGVkOwogCkBAIC05NTUsOTQgKzk1MCwyNCBAQAogCQloYWx0KCk7CiB9CiAKLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0soY2FsbF9sb2NrKTsKLQotc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyk7Ci0Jdm9pZCAqaW5mbzsKLQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nIHN0YXJ0ZWQ7Ci0Jdm9sYXRpbGUgdW5zaWduZWQgbG9uZyBmaW5pc2hlZDsKLQlpbnQgd2FpdDsKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOwotCiAvKiBleGVjdXRlIGEgdGhyZWFkIG9uIGEgbmV3IENQVS4gIFRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgbXVzdCBiZQogICogcHJldmlvdXNseSBzZXQgdXAuICBUaGlzIGlzIHVzZWQgdG8gc2NoZWR1bGUgYSBmdW5jdGlvbiBmb3IKICAqIGV4ZWN1dGlvbiBvbiBhbGwgQ1BVcyAtIHNldCB1cCB0aGUgZnVuY3Rpb24gdGhlbiBicm9hZGNhc3QgYQogICogZnVuY3Rpb25faW50ZXJydXB0IENQSSB0byBjb21lIGhlcmUgb24gZWFjaCBDUFUgKi8KIHN0YXRpYyB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCh2b2lkKQogewotCXZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbykgPSBjYWxsX2RhdGEtPmZ1bmM7Ci0Jdm9pZCAqaW5mbyA9IGNhbGxfZGF0YS0+aW5mbzsKLQkvKiBtdXN0IHRha2UgY29weSBvZiB3YWl0IGJlY2F1c2UgY2FsbF9kYXRhIG1heSBiZSByZXBsYWNlZAotCSAqIHVubGVzcyB0aGUgZnVuY3Rpb24gaXMgd2FpdGluZyBmb3IgdXMgdG8gZmluaXNoICovCi0JaW50IHdhaXQgPSBjYWxsX2RhdGEtPndhaXQ7Ci0JX191OCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0KLQkvKgotCSAqIE5vdGlmeSBpbml0aWF0aW5nIENQVSB0aGF0IEkndmUgZ3JhYmJlZCB0aGUgZGF0YSBhbmQgYW0KLQkgKiBhYm91dCB0byBleGVjdXRlIHRoZSBmdW5jdGlvbgotCSAqLwotCW1iKCk7Ci0JaWYgKCF0ZXN0X2FuZF9jbGVhcl9iaXQoY3B1LCAmY2FsbF9kYXRhLT5zdGFydGVkKSkgewotCQkvKiBJZiB0aGUgYml0IHdhc24ndCBzZXQsIHRoaXMgY291bGQgYmUgYSByZXBsYXkgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiVk9ZQUdFUiBTTVA6IENQVSAlZCByZWNlaXZlZCBjYWxsIGZ1bnRpb24iCi0JCSAgICAgICAiIHdpdGggbm8gY2FsbCBwZW5kaW5nXG4iLCBjcHUpOwotCQlyZXR1cm47Ci0JfQotCS8qCi0JICogQXQgdGhpcyBwb2ludCB0aGUgaW5mbyBzdHJ1Y3R1cmUgbWF5IGJlIG91dCBvZiBzY29wZSB1bmxlc3Mgd2FpdD09MQotCSAqLwogCWlycV9lbnRlcigpOwotCSgqZnVuYykgKGluZm8pOworCWdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKIAlpcnFfZXhpdCgpOwotCWlmICh3YWl0KSB7Ci0JCW1iKCk7Ci0JCWNsZWFyX2JpdChjcHUsICZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9CiB9CiAKLXN0YXRpYyBpbnQKLXZveWFnZXJfc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgY3B1bWFzaywKLQkJCSAgICAgICB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKK3N0YXRpYyB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQodm9pZCkKIHsKLQlzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCBkYXRhOwotCXUzMiBtYXNrID0gY3B1c19hZGRyKGNwdW1hc2spWzBdOwotCi0JbWFzayAmPSB+KDEgPDwgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLQotCWlmICghbWFzaykKLQkJcmV0dXJuIDA7Ci0KLQkvKiBDYW4gZGVhZGxvY2sgd2hlbiBjYWxsZWQgd2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkICovCi0JV0FSTl9PTihpcnFzX2Rpc2FibGVkKCkpOwotCi0JZGF0YS5mdW5jID0gZnVuYzsKLQlkYXRhLmluZm8gPSBpbmZvOwotCWRhdGEuc3RhcnRlZCA9IG1hc2s7Ci0JZGF0YS53YWl0ID0gd2FpdDsKLQlpZiAod2FpdCkKLQkJZGF0YS5maW5pc2hlZCA9IG1hc2s7Ci0KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0JY2FsbF9kYXRhID0gJmRhdGE7Ci0Jd21iKCk7Ci0JLyogU2VuZCBhIG1lc3NhZ2UgdG8gYWxsIG90aGVyIENQVXMgYW5kIHdhaXQgZm9yIHRoZW0gdG8gcmVzcG9uZCAqLwotCXNlbmRfQ1BJKG1hc2ssIFZJQ19DQUxMX0ZVTkNUSU9OX0NQSSk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChkYXRhLnN0YXJ0ZWQpCi0JCWJhcnJpZXIoKTsKLQotCWlmICh3YWl0KQotCQl3aGlsZSAoZGF0YS5maW5pc2hlZCkKLQkJCWJhcnJpZXIoKTsKLQotCXNwaW5fdW5sb2NrKCZjYWxsX2xvY2spOwotCi0JcmV0dXJuIDA7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKwlpcnFfZXhpdCgpOwogfQogCiAvKiBTb3JyeSBhYm91dCB0aGUgbmFtZS4gIEluIGFuIEFQSUMgYmFzZWQgc3lzdGVtLCB0aGUgQVBJQ3MKQEAgLTEwOTksNiArMTAyNCwxMiBAQAogCXNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogfQogCit2b2lkIHNtcF9xaWNfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCWFja19RSUNfQ1BJKFFJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkpOworCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoKTsKK30KKwogdm9pZCBzbXBfdmljX2NwaV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzID0gc2V0X2lycV9yZWdzKHJlZ3MpOwpAQCAtMTExOSw2ICsxMDUwLDggQEAKIAkJc21wX2VuYWJsZV9pcnFfaW50ZXJydXB0KCk7CiAJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChWSUNfQ0FMTF9GVU5DVElPTl9DUEksICZ2aWNfY3BpX21haWxib3hbY3B1XSkpCiAJCXNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoVklDX0NBTExfRlVOQ1RJT05fU0lOR0xFX0NQSSwgJnZpY19jcGlfbWFpbGJveFtjcHVdKSkKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOwogCXNldF9pcnFfcmVncyhvbGRfcmVncyk7CiB9CiAKQEAgLTExMzQsMTYgKzEwNjcsNyBAQAogLyogZmx1c2ggdGhlIFRMQiBvZiBldmVyeSBhY3RpdmUgQ1BVIGluIHRoZSBzeXN0ZW0gKi8KIHZvaWQgZmx1c2hfdGxiX2FsbCh2b2lkKQogewotCW9uX2VhY2hfY3B1KGRvX2ZsdXNoX3RsYl9hbGwsIDAsIDEsIDEpOwotfQotCi0vKiB1c2VkIHRvIHNldCB1cCB0aGUgdHJhbXBvbGluZSBmb3Igb3RoZXIgQ1BVcyB3aGVuIHRoZSBtZW1vcnkgbWFuYWdlcgotICogaXMgc29ydGVkIG91dCAqLwotdm9pZCBfX2luaXQgc21wX2FsbG9jX21lbW9yeSh2b2lkKQotewotCXRyYW1wb2xpbmVfYmFzZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0JaWYgKF9fcGEodHJhbXBvbGluZV9iYXNlKSA+PSAweDkzMDAwKQotCQlCVUcoKTsKKwlvbl9lYWNoX2NwdShkb19mbHVzaF90bGJfYWxsLCAwLCAxKTsKIH0KIAogLyogc2VuZCBhIHJlc2NoZWR1bGUgQ1BJIHRvIG9uZSBDUFUgYnkgcGh5c2ljYWwgQ1BVIG51bWJlciovCkBAIC0xMTc1LDcgKzEwOTksNyBAQAogLyogYnJvYWRjYXN0IGEgaGFsdCB0byBhbGwgb3RoZXIgQ1BVcyAqLwogc3RhdGljIHZvaWQgdm95YWdlcl9zbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc21wX3N0b3BfY3B1X2Z1bmN0aW9uLCBOVUxMLCAxLCAxKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzbXBfc3RvcF9jcHVfZnVuY3Rpb24sIE5VTEwsIDEpOwogfQogCiAvKiB0aGlzIGZ1bmN0aW9uIGlzIHRyaWdnZXJlZCBpbiB0aW1lLmMgd2hlbiBhIGNsb2NrIHRpY2sgZmlyZXMKQEAgLTE4NjIsNSArMTc4Niw3IEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IHZveWFnZXJfc21wX3NlbmRfc3RvcCwKIAkuc21wX3NlbmRfcmVzY2hlZHVsZSA9IHZveWFnZXJfc21wX3NlbmRfcmVzY2hlZHVsZSwKLQkuc21wX2NhbGxfZnVuY3Rpb25fbWFzayA9IHZveWFnZXJfc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfaXBpLAorCS5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpID0gbmF0aXZlX3NlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGksCiB9OwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbWF0aC1lbXUvcmVnX2NvbnN0YW50LmMgYi9hcmNoL3g4Ni9tYXRoLWVtdS9yZWdfY29uc3RhbnQuYwppbmRleCAwNDg2OWU2Li4wMDU0ODM1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tYXRoLWVtdS9yZWdfY29uc3RhbnQuYworKysgYi9hcmNoL3g4Ni9tYXRoLWVtdS9yZWdfY29uc3RhbnQuYwpAQCAtMTYsOCArMTYsOCBAQAogI2luY2x1ZGUgInJlZ19jb25zdGFudC5oIgogI2luY2x1ZGUgImNvbnRyb2xfdy5oIgogCi0jZGVmaW5lIE1BS0VfUkVHKHMsZSxsLGgpIHsgbCwgaCwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRVhURU5ERURfRWJpYXMrKGUpKSB8ICgoU0lHTl8jI3MgIT0gMCkqMHg4MDAwKSkgfQorI2RlZmluZSBNQUtFX1JFRyhzLCBlLCBsLCBoKSB7IGwsIGgsIFwKKwkJKChFWFRFTkRFRF9FYmlhcysoZSkpIHwgKChTSUdOXyMjcyAhPSAwKSoweDgwMDApKSB9CiAKIEZQVV9SRUcgY29uc3QgQ09OU1RfMSA9IE1BS0VfUkVHKFBPUywgMCwgMHgwMDAwMDAwMCwgMHg4MDAwMDAwMCk7CiAjaWYgMApAQCAtNDAsNyArNDAsNyBAQAogRlBVX1JFRyBjb25zdCBDT05TVF9aID0gTUFLRV9SRUcoUE9TLCBFWFBfVU5ERVIsIDB4MCwgMHgwKTsKIAogLyogT25seSB0aGUgc2lnbiBhbmQgc2lnbmlmaWNhbmQgKGFuZCB0YWcpIGFyZSB1c2VkIGluIGludGVybmFsIE5hTnMgKi8KLS8qIFRoZSA4MDQ4NiBuZXZlciBnZW5lcmF0ZXMgb25lIG9mIHRoZXNlIAorLyogVGhlIDgwNDg2IG5ldmVyIGdlbmVyYXRlcyBvbmUgb2YgdGhlc2UKIEZQVV9SRUcgY29uc3QgQ09OU1RfU05BTiA9IE1BS0VfUkVHKFBPUywgRVhQX09WRVIsIDB4MDAwMDAwMDEsIDB4ODAwMDAwMDApOwogICovCiAvKiBUaGlzIGlzIHRoZSByZWFsIGluZGVmaW5pdGUgUU5hTiAqLwpAQCAtNDksNyArNDksNyBAQAogLyogT25seSB0aGUgc2lnbiAoYW5kIHRhZykgaXMgdXNlZCBpbiBpbnRlcm5hbCBpbmZpbml0aWVzICovCiBGUFVfUkVHIGNvbnN0IENPTlNUX0lORiA9IE1BS0VfUkVHKFBPUywgRVhQX09WRVIsIDB4MDAwMDAwMDAsIDB4ODAwMDAwMDApOwogCi1zdGF0aWMgdm9pZCBmbGRfY29uc3QoRlBVX1JFRyBjb25zdCAqYywgaW50IGFkaiwgdV9jaGFyIHRhZykKK3N0YXRpYyB2b2lkIGZsZF9jb25zdChGUFVfUkVHIGNvbnN0ICogYywgaW50IGFkaiwgdV9jaGFyIHRhZykKIHsKIAlGUFVfUkVHICpzdF9uZXdfcHRyOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9NYWtlZmlsZSBiL2FyY2gveDg2L21tL01ha2VmaWxlCmluZGV4IGI3YjNlNGMuLjk4NzM3MTYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L21tL01ha2VmaWxlCkBAIC04LDEwICs4LDE2IEBACiAKIG9iai0kKENPTkZJR19ISUdITUVNKQkJKz0gaGlnaG1lbV8zMi5vCiAKK29iai0kKENPTkZJR19NTUlPVFJBQ0VfSE9PS1MpCSs9IGttbWlvLm8KK29iai0kKENPTkZJR19NTUlPVFJBQ0UpCQkrPSBtbWlvdHJhY2UubworbW1pb3RyYWNlLXkJCQk6PSBwZl9pbi5vIG1taW8tbW9kLm8KK29iai0kKENPTkZJR19NTUlPVFJBQ0VfVEVTVCkJKz0gdGVzdG1taW90cmFjZS5vCisKIGlmZXEgKCQoQ09ORklHX1g4Nl8zMikseSkKIG9iai0kKENPTkZJR19OVU1BKQkJKz0gZGlzY29udGlnXzMyLm8KIGVsc2UKIG9iai0kKENPTkZJR19OVU1BKQkJKz0gbnVtYV82NC5vCiBvYmotJChDT05GSUdfSzhfTlVNQSkJCSs9IGs4dG9wb2xvZ3lfNjQubwotb2JqLSQoQ09ORklHX0FDUElfTlVNQSkJCSs9IHNyYXRfNjQubwogZW5kaWYKK29iai0kKENPTkZJR19BQ1BJX05VTUEpCQkrPSBzcmF0XyQoQklUUykubworCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9kaXNjb250aWdfMzIuYyBiL2FyY2gveDg2L21tL2Rpc2NvbnRpZ18zMi5jCmluZGV4IDkxNGNjZjkuLjVkZmVmOWYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2Rpc2NvbnRpZ18zMi5jCisrKyBiL2FyY2gveDg2L21tL2Rpc2NvbnRpZ18zMi5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CiAjaW5jbHVkZSA8YXNtL21tem9uZS5oPgogI2luY2x1ZGUgPGFzbS9iaW9zX2ViZGEuaD4KKyNpbmNsdWRlIDxhc20vcHJvdG8uaD4KIAogc3RydWN0IHBnbGlzdF9kYXRhICpub2RlX2RhdGFbTUFYX05VTU5PREVTXSBfX3JlYWRfbW9zdGx5OwogRVhQT1JUX1NZTUJPTChub2RlX2RhdGEpOwpAQCAtNTksMTQgKzYwLDE0IEBACiAvKgogICogNCkgcGh5c25vZGVfbWFwICAgICAtIHRoZSBtYXBwaW5nIGJldHdlZW4gYSBwZm4gYW5kIG93bmluZyBub2RlCiAgKiBwaHlzbm9kZV9tYXAga2VlcHMgdHJhY2sgb2YgdGhlIHBoeXNpY2FsIG1lbW9yeSBsYXlvdXQgb2YgYSBnZW5lcmljCi0gKiBudW1hIG5vZGUgb24gYSAyNTZNYiBicmVhayAoZWFjaCBlbGVtZW50IG9mIHRoZSBhcnJheSB3aWxsCi0gKiByZXByZXNlbnQgMjU2TWIgb2YgbWVtb3J5IGFuZCB3aWxsIGJlIG1hcmtlZCBieSB0aGUgbm9kZSBpZC4gIHNvLAorICogbnVtYSBub2RlIG9uIGEgNjRNYiBicmVhayAoZWFjaCBlbGVtZW50IG9mIHRoZSBhcnJheSB3aWxsCisgKiByZXByZXNlbnQgNjRNYiBvZiBtZW1vcnkgYW5kIHdpbGwgYmUgbWFya2VkIGJ5IHRoZSBub2RlIGlkLiAgc28sCiAgKiBpZiB0aGUgZmlyc3QgZ2lnIGlzIG9uIG5vZGUgMCwgYW5kIHRoZSBzZWNvbmQgZ2lnIGlzIG9uIG5vZGUgMQogICogcGh5c25vZGVfbWFwIHdpbGwgY29udGFpbjoKICAqCi0gKiAgICAgcGh5c25vZGVfbWFwWzAtM10gPSAwOwotICogICAgIHBoeXNub2RlX21hcFs0LTddID0gMTsKLSAqICAgICBwaHlzbm9kZV9tYXBbOC0gXSA9IC0xOworICogICAgIHBoeXNub2RlX21hcFswLTE1XSA9IDA7CisgKiAgICAgcGh5c25vZGVfbWFwWzE2LTMxXSA9IDE7CisgKiAgICAgcGh5c25vZGVfbWFwWzMyLSBdID0gLTE7CiAgKi8KIHM4IHBoeXNub2RlX21hcFtNQVhfRUxFTUVOVFNdIF9fcmVhZF9tb3N0bHkgPSB7IFswIC4uLiAoTUFYX0VMRU1FTlRTIC0gMSldID0gLTF9OwogRVhQT1JUX1NZTUJPTChwaHlzbm9kZV9tYXApOwpAQCAtNzUsMTUgKzc2LDE1IEBACiB7CiAJdW5zaWduZWQgbG9uZyBwZm47CiAKLQlwcmludGsoS0VSTl9JTkZPICJOb2RlOiAlZCwgc3RhcnRfcGZuOiAlbGQsIGVuZF9wZm46ICVsZFxuIiwKKwlwcmludGsoS0VSTl9JTkZPICJOb2RlOiAlZCwgc3RhcnRfcGZuOiAlbHgsIGVuZF9wZm46ICVseFxuIiwKIAkJCW5pZCwgc3RhcnQsIGVuZCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIiAgU2V0dGluZyBwaHlzbm9kZV9tYXAgYXJyYXkgdG8gbm9kZSAlZCBmb3IgcGZuczpcbiIsIG5pZCk7CiAJcHJpbnRrKEtFUk5fREVCVUcgIiAgIik7CiAJZm9yIChwZm4gPSBzdGFydDsgcGZuIDwgZW5kOyBwZm4gKz0gUEFHRVNfUEVSX0VMRU1FTlQpIHsKIAkJcGh5c25vZGVfbWFwW3BmbiAvIFBBR0VTX1BFUl9FTEVNRU5UXSA9IG5pZDsKLQkJcHJpbnRrKCIlbGQgIiwgcGZuKTsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiJWx4ICIsIHBmbik7CiAJfQotCXByaW50aygiXG4iKTsKKwlwcmludGsoS0VSTl9DT05UICJcbiIpOwogfQogCiB1bnNpZ25lZCBsb25nIG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCkBAIC05OSw3ICsxMDAsNiBAQAogI2VuZGlmCiAKIGV4dGVybiB1bnNpZ25lZCBsb25nIGZpbmRfbWF4X2xvd19wZm4odm9pZCk7Ci1leHRlcm4gdm9pZCBhZGRfb25lX2hpZ2hwYWdlX2luaXQoc3RydWN0IHBhZ2UgKiwgaW50LCBpbnQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaGlnaGVuZF9wZm4sIGhpZ2hzdGFydF9wZm47CiAKICNkZWZpbmUgTEFSR0VfUEFHRV9CWVRFUyAoUFRSU19QRVJfUFRFICogUEFHRV9TSVpFKQpAQCAtMTE3LDEzICsxMTcsMTMgQEAKICAqLwogaW50IF9faW5pdCBnZXRfbWVtY2ZnX251bWFfZmxhdCh2b2lkKQogewotCXByaW50aygiTlVNQSAtIHNpbmdsZSBub2RlLCBmbGF0IG1lbW9yeSBtb2RlXG4iKTsKKwlwcmludGsoS0VSTl9ERUJVRyAiTlVNQSAtIHNpbmdsZSBub2RlLCBmbGF0IG1lbW9yeSBtb2RlXG4iKTsKIAotCS8qIFJ1biB0aGUgbWVtb3J5IGNvbmZpZ3VyYXRpb24gYW5kIGZpbmQgdGhlIHRvcCBvZiBtZW1vcnkuICovCi0JcHJvcGFnYXRlX2U4MjBfbWFwKCk7CiAJbm9kZV9zdGFydF9wZm5bMF0gPSAwOwogCW5vZGVfZW5kX3BmblswXSA9IG1heF9wZm47CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCAwLCBtYXhfcGZuKTsKIAltZW1vcnlfcHJlc2VudCgwLCAwLCBtYXhfcGZuKTsKKwlub2RlX3JlbWFwX3NpemVbMF0gPSBub2RlX21lbW1hcF9zaXplX2J5dGVzKDAsIDAsIG1heF9wZm4pOwogCiAgICAgICAgIC8qIEluZGljYXRlIHRoZXJlIGlzIG9uZSBub2RlIGF2YWlsYWJsZS4gKi8KIAlub2Rlc19jbGVhcihub2RlX29ubGluZV9tYXApOwpAQCAtMTU2LDI0ICsxNTYsMzIgQEAKICAqLwogc3RhdGljIHZvaWQgX19pbml0IGFsbG9jYXRlX3BnZGF0KGludCBuaWQpCiB7Ci0JaWYgKG5pZCAmJiBub2RlX2hhc19vbmxpbmVfbWVtKG5pZCkpCisJY2hhciBidWZbMTZdOworCisJaWYgKG5vZGVfaGFzX29ubGluZV9tZW0obmlkKSAmJiBub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25pZF0pCiAJCU5PREVfREFUQShuaWQpID0gKHBnX2RhdGFfdCAqKW5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXTsKIAllbHNlIHsKLQkJTk9ERV9EQVRBKG5pZCkgPSAocGdfZGF0YV90ICopKHBmbl90b19rYWRkcihtaW5fbG93X3BmbikpOwotCQltaW5fbG93X3BmbiArPSBQRk5fVVAoc2l6ZW9mKHBnX2RhdGFfdCkpOworCQl1bnNpZ25lZCBsb25nIHBnZGF0X3BoeXM7CisJCXBnZGF0X3BoeXMgPSBmaW5kX2U4MjBfYXJlYShtaW5fbG93X3Bmbjw8UEFHRV9TSElGVCwKKwkJCQkgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQsCisJCQkJIHNpemVvZihwZ19kYXRhX3QpLAorCQkJCSBQQUdFX1NJWkUpOworCQlOT0RFX0RBVEEobmlkKSA9IChwZ19kYXRhX3QgKikocGZuX3RvX2thZGRyKHBnZGF0X3BoeXM+PlBBR0VfU0hJRlQpKTsKKwkJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOworCQlzcHJpbnRmKGJ1ZiwgIk5PREVfREFUQSAlZCIsICBuaWQpOworCQlyZXNlcnZlX2Vhcmx5KHBnZGF0X3BoeXMsIHBnZGF0X3BoeXMgKyBzaXplb2YocGdfZGF0YV90KSwgYnVmKTsKIAl9CisJcHJpbnRrKEtFUk5fREVCVUcgImFsbG9jYXRlX3BnZGF0OiBub2RlICVkIE5PREVfREFUQSAlMDhseFxuIiwKKwkJbmlkLCAodW5zaWduZWQgbG9uZylOT0RFX0RBVEEobmlkKSk7CiB9CiAKLSNpZmRlZiBDT05GSUdfRElTQ09OVElHTUVNCiAvKgotICogSW4gdGhlIGRpc2NvbnRpZyBtZW1vcnkgbW9kZWwsIGEgcG9ydGlvbiBvZiB0aGUga2VybmVsIHZpcnR1YWwgYXJlYSAoS1ZBKQotICogaXMgcmVzZXJ2ZWQgYW5kIHBvcnRpb25zIG9mIG5vZGVzIGFyZSBtYXBwZWQgdXNpbmcgaXQuIFRoaXMgaXMgdG8gYWxsb3cKLSAqIG5vZGUtbG9jYWwgbWVtb3J5IHRvIGJlIGFsbG9jYXRlZCBmb3Igc3RydWN0dXJlcyB0aGF0IHdvdWxkIG5vcm1hbGx5IHJlcXVpcmUKLSAqIFpPTkVfTk9STUFMLiBUaGUgbWVtb3J5IGlzIGFsbG9jYXRlZCB3aXRoIGFsbG9jX3JlbWFwKCkgYW5kIGNhbGxlcnMKLSAqIHNob3VsZCBiZSBwcmVwYXJlZCB0byBhbGxvY2F0ZSBmcm9tIHRoZSBib290bWVtIGFsbG9jYXRvciBpbnN0ZWFkLiBUaGlzIEtWQQotICogbWVjaGFuaXNtIGlzIGluY29tcGF0aWJsZSB3aXRoIFNQQVJTRU1FTSBhcyBpdCBtYWtlcyBhc3N1bXB0aW9ucyBhYm91dCB0aGUKLSAqIGxheW91dCBvZiBtZW1vcnkgdGhhdCBhcmUgYnJva2VuIGlmIGFsbG9jX3JlbWFwKCkgc3VjY2VlZHMgZm9yIHNvbWUgb2YgdGhlCi0gKiBtYXAgYW5kIGZhaWxzIGZvciBvdGhlcnMKKyAqIEluIHRoZSBESVNDT05USUdNRU0gYW5kIFNQQVJTRU1FTSBtZW1vcnkgbW9kZWwsIGEgcG9ydGlvbiBvZiB0aGUga2VybmVsCisgKiB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgKEtWQSkgaXMgcmVzZXJ2ZWQgYW5kIHBvcnRpb25zIG9mIG5vZGVzIGFyZSBtYXBwZWQKKyAqIHVzaW5nIGl0LiBUaGlzIGlzIHRvIGFsbG93IG5vZGUtbG9jYWwgbWVtb3J5IHRvIGJlIGFsbG9jYXRlZCBmb3IKKyAqIHN0cnVjdHVyZXMgdGhhdCB3b3VsZCBub3JtYWxseSByZXF1aXJlIFpPTkVfTk9STUFMLiBUaGUgbWVtb3J5IGlzCisgKiBhbGxvY2F0ZWQgd2l0aCBhbGxvY19yZW1hcCgpIGFuZCBjYWxsZXJzIHNob3VsZCBiZSBwcmVwYXJlZCB0byBhbGxvY2F0ZQorICogZnJvbSB0aGUgYm9vdG1lbSBhbGxvY2F0b3IgaW5zdGVhZC4KICAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcgbm9kZV9yZW1hcF9zdGFydF9wZm5bTUFYX05VTU5PREVTXTsKIHN0YXRpYyB2b2lkICpub2RlX3JlbWFwX2VuZF92YWRkcltNQVhfTlVNTk9ERVNdOwpAQCAtMTk1LDE1ICsyMDMsMTkgQEAKIAlyZXR1cm4gYWxsb2NhdGlvbjsKIH0KIAotdm9pZCBfX2luaXQgcmVtYXBfbnVtYV9rdmEodm9pZCkKK3N0YXRpYyB2b2lkIF9faW5pdCByZW1hcF9udW1hX2t2YSh2b2lkKQogewogCXZvaWQgKnZhZGRyOwogCXVuc2lnbmVkIGxvbmcgcGZuOwogCWludCBub2RlOwogCiAJZm9yX2VhY2hfb25saW5lX25vZGUobm9kZSkgeworCQlwcmludGsoS0VSTl9ERUJVRyAicmVtYXBfbnVtYV9rdmE6IG5vZGUgJWRcbiIsIG5vZGUpOwogCQlmb3IgKHBmbj0wOyBwZm4gPCBub2RlX3JlbWFwX3NpemVbbm9kZV07IHBmbiArPSBQVFJTX1BFUl9QVEUpIHsKIAkJCXZhZGRyID0gbm9kZV9yZW1hcF9zdGFydF92YWRkcltub2RlXSsocGZuPDxQQUdFX1NISUZUKTsKKwkJCXByaW50ayhLRVJOX0RFQlVHICJyZW1hcF9udW1hX2t2YTogJTA4bHggdG8gcGZuICUwOGx4XG4iLAorCQkJCSh1bnNpZ25lZCBsb25nKXZhZGRyLAorCQkJCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25vZGVdICsgcGZuKTsKIAkJCXNldF9wbWRfcGZuKCh1bG9uZykgdmFkZHIsIAogCQkJCW5vZGVfcmVtYXBfc3RhcnRfcGZuW25vZGVdICsgcGZuLCAKIAkJCQlQQUdFX0tFUk5FTF9MQVJHRSk7CkBAIC0yMTUsMTcgKzIyNywyMSBAQAogewogCWludCBuaWQ7CiAJdW5zaWduZWQgbG9uZyBzaXplLCByZXNlcnZlX3BhZ2VzID0gMDsKLQl1bnNpZ25lZCBsb25nIHBmbjsKIAogCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgewotCQl1bnNpZ25lZCBvbGRfZW5kX3BmbiA9IG5vZGVfZW5kX3BmbltuaWRdOworCQl1NjQgbm9kZV9rdmFfdGFyZ2V0OworCQl1NjQgbm9kZV9rdmFfZmluYWw7CiAKIAkJLyoKIAkJICogVGhlIGFjcGkvc3JhdCBub2RlIGluZm8gY2FuIHNob3cgaG90LWFkZCBtZW1yb3kgem9uZXMKIAkJICogd2hlcmUgbWVtb3J5IGNvdWxkIGJlIGFkZGVkIGJ1dCBub3QgY3VycmVudGx5IHByZXNlbnQuCiAJCSAqLworCQlwcmludGsoS0VSTl9ERUJVRyAibm9kZSAlZCBwZm46IFslbHggLSAlbHhdXG4iLAorCQkJbmlkLCBub2RlX3N0YXJ0X3BmbltuaWRdLCBub2RlX2VuZF9wZm5bbmlkXSk7CiAJCWlmIChub2RlX3N0YXJ0X3BmbltuaWRdID4gbWF4X3BmbikKIAkJCWNvbnRpbnVlOworCQlpZiAoIW5vZGVfZW5kX3BmbltuaWRdKQorCQkJY29udGludWU7CiAJCWlmIChub2RlX2VuZF9wZm5bbmlkXSA+IG1heF9wZm4pCiAJCQlub2RlX2VuZF9wZm5bbmlkXSA9IG1heF9wZm47CiAKQEAgLTIzNyw0MSArMjUzLDQ4IEBACiAJCS8qIG5vdyB0aGUgcm91bmR1cCBpcyBjb3JyZWN0LCBjb252ZXJ0IHRvIFBBR0VfU0laRSBwYWdlcyAqLwogCQlzaXplID0gc2l6ZSAqIFBUUlNfUEVSX1BURTsKIAotCQkvKgotCQkgKiBWYWxpZGF0ZSB0aGUgcmVnaW9uIHdlIGFyZSBhbGxvY2F0aW5nIG9ubHkgY29udGFpbnMgdmFsaWQKLQkJICogcGFnZXMuCi0JCSAqLwotCQlmb3IgKHBmbiA9IG5vZGVfZW5kX3BmbltuaWRdIC0gc2l6ZTsKLQkJICAgICBwZm4gPCBub2RlX2VuZF9wZm5bbmlkXTsgcGZuKyspCi0JCQlpZiAoIXBhZ2VfaXNfcmFtKHBmbikpCi0JCQkJYnJlYWs7CisJCW5vZGVfa3ZhX3RhcmdldCA9IHJvdW5kX2Rvd24obm9kZV9lbmRfcGZuW25pZF0gLSBzaXplLAorCQkJCQkJIFBUUlNfUEVSX1BURSk7CisJCW5vZGVfa3ZhX3RhcmdldCA8PD0gUEFHRV9TSElGVDsKKwkJZG8geworCQkJbm9kZV9rdmFfZmluYWwgPSBmaW5kX2U4MjBfYXJlYShub2RlX2t2YV90YXJnZXQsCisJCQkJCSgodTY0KW5vZGVfZW5kX3BmbltuaWRdKTw8UEFHRV9TSElGVCwKKwkJCQkJCSgodTY0KXNpemUpPDxQQUdFX1NISUZULAorCQkJCQkJTEFSR0VfUEFHRV9CWVRFUyk7CisJCQlub2RlX2t2YV90YXJnZXQgLT0gTEFSR0VfUEFHRV9CWVRFUzsKKwkJfSB3aGlsZSAobm9kZV9rdmFfZmluYWwgPT0gLTFVTEwgJiYKKwkJCSAobm9kZV9rdmFfdGFyZ2V0Pj5QQUdFX1NISUZUKSA+IChub2RlX3N0YXJ0X3BmbltuaWRdKSk7CiAKLQkJaWYgKHBmbiAhPSBub2RlX2VuZF9wZm5bbmlkXSkKLQkJCXNpemUgPSAwOworCQlpZiAobm9kZV9rdmFfZmluYWwgPT0gLTFVTEwpCisJCQlwYW5pYygiQ2FuIG5vdCBnZXQga3ZhIHJhbVxuIik7CiAKLQkJcHJpbnRrKCJSZXNlcnZpbmcgJWxkIHBhZ2VzIG9mIEtWQSBmb3IgbG1lbV9tYXAgb2Ygbm9kZSAlZFxuIiwKLQkJCQlzaXplLCBuaWQpOwogCQlub2RlX3JlbWFwX3NpemVbbmlkXSA9IHNpemU7CiAJCW5vZGVfcmVtYXBfb2Zmc2V0W25pZF0gPSByZXNlcnZlX3BhZ2VzOwogCQlyZXNlcnZlX3BhZ2VzICs9IHNpemU7Ci0JCXByaW50aygiU2hyaW5raW5nIG5vZGUgJWQgZnJvbSAlbGQgcGFnZXMgdG8gJWxkIHBhZ2VzXG4iLAotCQkJbmlkLCBub2RlX2VuZF9wZm5bbmlkXSwgbm9kZV9lbmRfcGZuW25pZF0gLSBzaXplKTsKKwkJcHJpbnRrKEtFUk5fREVCVUcgIlJlc2VydmluZyAlbGQgcGFnZXMgb2YgS1ZBIGZvciBsbWVtX21hcCBvZiIKKwkJCQkgICIgbm9kZSAlZCBhdCAlbGx4XG4iLAorCQkJCXNpemUsIG5pZCwgbm9kZV9rdmFfZmluYWw+PlBBR0VfU0hJRlQpOwogCi0JCWlmIChub2RlX2VuZF9wZm5bbmlkXSAmIChQVFJTX1BFUl9QVEUtMSkpIHsKLQkJCS8qCi0JCQkgKiBBbGlnbiBub2RlX2VuZF9wZm5bXSBhbmQgbm9kZV9yZW1hcF9zdGFydF9wZm5bXSB0bwotCQkJICogcG1kIGJvdW5kYXJ5LiByZW1hcF9udW1hX2t2YSB3aWxsIGJhcmYgb3RoZXJ3aXNlLgotCQkJICovCi0JCQlwcmludGsoIlNocmlua2luZyBub2RlICVkIGZ1cnRoZXIgYnkgJWxkIHBhZ2VzIGZvciBwcm9wZXIgYWxpZ25tZW50XG4iLAotCQkJCW5pZCwgbm9kZV9lbmRfcGZuW25pZF0gJiAoUFRSU19QRVJfUFRFLTEpKTsKLQkJCXNpemUgKz0gIG5vZGVfZW5kX3BmbltuaWRdICYgKFBUUlNfUEVSX1BURS0xKTsKLQkJfQorCQkvKgorCQkgKiAgcHJldmVudCBrdmEgYWRkcmVzcyBiZWxvdyBtYXhfbG93X3BmbiB3YW50IGl0IG9uIHN5c3RlbQorCQkgKiAgd2l0aCBsZXNzIG1lbW9yeSBsYXRlci4KKwkJICogIGxheW91dCB3aWxsIGJlOiBLVkEgYWRkcmVzcyAsIEtWQSBSQU0KKwkJICoKKwkJICogIHdlIGFyZSBzdXBwb3NlZCB0byBvbmx5IHJlY29yZCB0aGUgb25lIGxlc3MgdGhlbiBtYXhfbG93X3BmbgorCQkgKiAgYnV0IHdlIGNvdWxkIGhhdmUgc29tZSBob2xlIGluIGhpZ2ggbWVtb3J5LCBhbmQgaXQgd2lsbCBvbmx5CisJCSAqICBjaGVjayBwYWdlX2lzX3JhbShwZm4pICYmICFwYWdlX2lzX3Jlc2VydmVkX2Vhcmx5KHBmbikgdG8gZGVjaWRlCisJCSAqICB0byB1c2UgaXQgYXMgZnJlZS4KKwkJICogIFNvIHJlc2VydmVfZWFybHkgaGVyZSwgaG9wZSB3ZSBkb24ndCBydW4gb3V0IG9mIHRoYXQgYXJyYXkKKwkJICovCisJCXJlc2VydmVfZWFybHkobm9kZV9rdmFfZmluYWwsCisJCQkgICAgICBub2RlX2t2YV9maW5hbCsoKCh1NjQpc2l6ZSk8PFBBR0VfU0hJRlQpLAorCQkJICAgICAgIktWQSBSQU0iKTsKIAotCQlub2RlX2VuZF9wZm5bbmlkXSAtPSBzaXplOwotCQlub2RlX3JlbWFwX3N0YXJ0X3BmbltuaWRdID0gbm9kZV9lbmRfcGZuW25pZF07Ci0JCXNocmlua19hY3RpdmVfcmFuZ2UobmlkLCBvbGRfZW5kX3Bmbiwgbm9kZV9lbmRfcGZuW25pZF0pOworCQlub2RlX3JlbWFwX3N0YXJ0X3BmbltuaWRdID0gbm9kZV9rdmFfZmluYWw+PlBBR0VfU0hJRlQ7CisJCXJlbW92ZV9hY3RpdmVfcmFuZ2UobmlkLCBub2RlX3JlbWFwX3N0YXJ0X3BmbltuaWRdLAorCQkJCQkgbm9kZV9yZW1hcF9zdGFydF9wZm5bbmlkXSArIHNpemUpOwogCX0KLQlwcmludGsoIlJlc2VydmluZyB0b3RhbCBvZiAlbGQgcGFnZXMgZm9yIG51bWEgS1ZBIHJlbWFwXG4iLAorCXByaW50ayhLRVJOX0lORk8gIlJlc2VydmluZyB0b3RhbCBvZiAlbHggcGFnZXMgZm9yIG51bWEgS1ZBIHJlbWFwXG4iLAogCQkJcmVzZXJ2ZV9wYWdlcyk7CiAJcmV0dXJuIHJlc2VydmVfcGFnZXM7CiB9CkBAIC0yODUsMzcgKzMwOCwxNiBAQAogCW5vZGVfcmVtYXBfYWxsb2NfdmFkZHJbbmlkXSA9IG5vZGVfcmVtYXBfc3RhcnRfdmFkZHJbbmlkXSArCiAJCUFMSUdOKHNpemVvZihwZ19kYXRhX3QpLCBQQUdFX1NJWkUpOwogCi0JcHJpbnRrICgibm9kZSAlZCB3aWxsIHJlbWFwIHRvIHZhZGRyICUwOGx4IC0gJTA4bHhcbiIsIG5pZCwKKwlwcmludGsoS0VSTl9ERUJVRyAibm9kZSAlZCB3aWxsIHJlbWFwIHRvIHZhZGRyICUwOGx4IC0gJTA4bHhcbiIsIG5pZCwKIAkJKHVsb25nKSBub2RlX3JlbWFwX3N0YXJ0X3ZhZGRyW25pZF0sCi0JCSh1bG9uZykgcGZuX3RvX2thZGRyKGhpZ2hzdGFydF9wZm4KLQkJICAgKyBub2RlX3JlbWFwX29mZnNldFtuaWRdICsgbm9kZV9yZW1hcF9zaXplW25pZF0pKTsKLX0KLSNlbHNlCi12b2lkICphbGxvY19yZW1hcChpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHNpemUpCi17Ci0JcmV0dXJuIE5VTEw7CisJCSh1bG9uZykgbm9kZV9yZW1hcF9lbmRfdmFkZHJbbmlkXSk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGNhbGN1bGF0ZV9udW1hX3JlbWFwX3BhZ2VzKHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGluaXRfcmVtYXBfYWxsb2NhdG9yKGludCBuaWQpCi17Ci19Ci0KLXZvaWQgX19pbml0IHJlbWFwX251bWFfa3ZhKHZvaWQpCi17Ci19Ci0jZW5kaWYgLyogQ09ORklHX0RJU0NPTlRJR01FTSAqLwotCi1leHRlcm4gdm9pZCBzZXR1cF9ib290bWVtX2FsbG9jYXRvcih2b2lkKTsKLXVuc2lnbmVkIGxvbmcgX19pbml0IHNldHVwX21lbW9yeSh2b2lkKQordm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCSAgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQogewogCWludCBuaWQ7Ci0JdW5zaWduZWQgbG9uZyBzeXN0ZW1fc3RhcnRfcGZuLCBzeXN0ZW1fbWF4X2xvd19wZm47Ci0JdW5zaWduZWQgbG9uZyB3YXN0ZWRfcGFnZXM7CisJbG9uZyBrdmFfdGFyZ2V0X3BmbjsKIAogCS8qCiAJICogV2hlbiBtYXBwaW5nIGEgTlVNQSBtYWNoaW5lIHdlIGFsbG9jYXRlIHRoZSBub2RlX21lbV9tYXAgYXJyYXlzCkBAIC0zMjQsMTA5ICszMjYsNzcgQEAKIAkgKiB0aGlzIHNwYWNlIGFuZCB1c2UgaXQgdG8gYWRqdXN0IHRoZSBib3VuZGFyeSBiZXR3ZWVuIFpPTkVfTk9STUFMCiAJICogYW5kIFpPTkVfSElHSE1FTS4KIAkgKi8KKwogCWdldF9tZW1jZmdfbnVtYSgpOwogCi0Ja3ZhX3BhZ2VzID0gY2FsY3VsYXRlX251bWFfcmVtYXBfcGFnZXMoKTsKKwlrdmFfcGFnZXMgPSByb3VuZF91cChjYWxjdWxhdGVfbnVtYV9yZW1hcF9wYWdlcygpLCBQVFJTX1BFUl9QVEUpOwogCi0JLyogcGFydGlhbGx5IHVzZWQgcGFnZXMgYXJlIG5vdCB1c2FibGUgLSB0aHVzIHJvdW5kIHVwd2FyZHMgKi8KLQlzeXN0ZW1fc3RhcnRfcGZuID0gbWluX2xvd19wZm4gPSBQRk5fVVAoaW5pdF9wZ190YWJsZXNfZW5kKTsKKwlrdmFfdGFyZ2V0X3BmbiA9IHJvdW5kX2Rvd24obWF4X2xvd19wZm4gLSBrdmFfcGFnZXMsIFBUUlNfUEVSX1BURSk7CisJZG8geworCQlrdmFfc3RhcnRfcGZuID0gZmluZF9lODIwX2FyZWEoa3ZhX3RhcmdldF9wZm48PFBBR0VfU0hJRlQsCisJCQkJCW1heF9sb3dfcGZuPDxQQUdFX1NISUZULAorCQkJCQlrdmFfcGFnZXM8PFBBR0VfU0hJRlQsCisJCQkJCVBUUlNfUEVSX1BURTw8UEFHRV9TSElGVCkgPj4gUEFHRV9TSElGVDsKKwkJa3ZhX3RhcmdldF9wZm4gLT0gUFRSU19QRVJfUFRFOworCX0gd2hpbGUgKGt2YV9zdGFydF9wZm4gPT0gLTFVTCAmJiBrdmFfdGFyZ2V0X3BmbiA+IG1pbl9sb3dfcGZuKTsKIAotCWt2YV9zdGFydF9wZm4gPSBmaW5kX21heF9sb3dfcGZuKCkgLSBrdmFfcGFnZXM7CisJaWYgKGt2YV9zdGFydF9wZm4gPT0gLTFVTCkKKwkJcGFuaWMoIkNhbiBub3QgZ2V0IGt2YSBzcGFjZVxuIik7CiAKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JTklUUkQKLQkvKiBOdW1hIGt2YSBhcmVhIGlzIGJlbG93IHRoZSBpbml0cmQgKi8KLQlpZiAoaW5pdHJkX3N0YXJ0KQotCQlrdmFfc3RhcnRfcGZuID0gUEZOX0RPV04oaW5pdHJkX3N0YXJ0IC0gUEFHRV9PRkZTRVQpCi0JCQktIGt2YV9wYWdlczsKLSNlbmRpZgotCi0JLyoKLQkgKiBXZSB3YXN0ZSBwYWdlcyBwYXN0IGF0IHRoZSBlbmQgb2YgdGhlIEtWQSBmb3Igbm8gZ29vZCByZWFzb24gb3RoZXIKLQkgKiB0aGFuIGhvdyBpdCBpcyBsb2NhdGVkLiBUaGlzIGlzIGJhZC4KLQkgKi8KLQl3YXN0ZWRfcGFnZXMgPSBrdmFfc3RhcnRfcGZuICYgKFBUUlNfUEVSX1BURS0xKTsKLQlrdmFfc3RhcnRfcGZuIC09IHdhc3RlZF9wYWdlczsKLQlrdmFfcGFnZXMgKz0gd2FzdGVkX3BhZ2VzOwotCi0Jc3lzdGVtX21heF9sb3dfcGZuID0gbWF4X2xvd19wZm4gPSBmaW5kX21heF9sb3dfcGZuKCk7Ci0JcHJpbnRrKCJrdmFfc3RhcnRfcGZuIH4gJWxkIGZpbmRfbWF4X2xvd19wZm4oKSB+ICVsZFxuIiwKKwlwcmludGsoS0VSTl9JTkZPICJrdmFfc3RhcnRfcGZuIH4gJWx4IG1heF9sb3dfcGZuIH4gJWx4XG4iLAogCQlrdmFfc3RhcnRfcGZuLCBtYXhfbG93X3Bmbik7Ci0JcHJpbnRrKCJtYXhfcGZuID0gJWxkXG4iLCBtYXhfcGZuKTsKKwlwcmludGsoS0VSTl9JTkZPICJtYXhfcGZuID0gJWx4XG4iLCBtYXhfcGZuKTsKKworCS8qIGF2b2lkIGNsYXNoIHdpdGggaW5pdHJkICovCisJcmVzZXJ2ZV9lYXJseShrdmFfc3RhcnRfcGZuPDxQQUdFX1NISUZULAorCQkgICAgICAoa3ZhX3N0YXJ0X3BmbiArIGt2YV9wYWdlcyk8PFBBR0VfU0hJRlQsCisJCSAgICAgIktWQSBQRyIpOwogI2lmZGVmIENPTkZJR19ISUdITUVNCiAJaGlnaHN0YXJ0X3BmbiA9IGhpZ2hlbmRfcGZuID0gbWF4X3BmbjsKLQlpZiAobWF4X3BmbiA+IHN5c3RlbV9tYXhfbG93X3BmbikKLQkJaGlnaHN0YXJ0X3BmbiA9IHN5c3RlbV9tYXhfbG93X3BmbjsKKwlpZiAobWF4X3BmbiA+IG1heF9sb3dfcGZuKQorCQloaWdoc3RhcnRfcGZuID0gbWF4X2xvd19wZm47CiAJcHJpbnRrKEtFUk5fTk9USUNFICIlbGRNQiBISUdITUVNIGF2YWlsYWJsZS5cbiIsCiAJICAgICAgIHBhZ2VzX3RvX21iKGhpZ2hlbmRfcGZuIC0gaGlnaHN0YXJ0X3BmbikpOwogCW51bV9waHlzcGFnZXMgPSBoaWdoZW5kX3BmbjsKIAloaWdoX21lbW9yeSA9ICh2b2lkICopIF9fdmEoaGlnaHN0YXJ0X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKICNlbHNlCi0JbnVtX3BoeXNwYWdlcyA9IHN5c3RlbV9tYXhfbG93X3BmbjsKLQloaWdoX21lbW9yeSA9ICh2b2lkICopIF9fdmEoc3lzdGVtX21heF9sb3dfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworCW51bV9waHlzcGFnZXMgPSBtYXhfbG93X3BmbjsKKwloaWdoX21lbW9yeSA9ICh2b2lkICopIF9fdmEobWF4X2xvd19wZm4gKiBQQUdFX1NJWkUgLSAxKSArIDE7CiAjZW5kaWYKIAlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIExPV01FTSBhdmFpbGFibGUuXG4iLAotCQkJcGFnZXNfdG9fbWIoc3lzdGVtX21heF9sb3dfcGZuKSk7Ci0JcHJpbnRrKCJtaW5fbG93X3BmbiA9ICVsZCwgbWF4X2xvd19wZm4gPSAlbGQsIGhpZ2hzdGFydF9wZm4gPSAlbGRcbiIsIAotCQkJbWluX2xvd19wZm4sIG1heF9sb3dfcGZuLCBoaWdoc3RhcnRfcGZuKTsKKwkJCXBhZ2VzX3RvX21iKG1heF9sb3dfcGZuKSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIm1heF9sb3dfcGZuID0gJWx4LCBoaWdoc3RhcnRfcGZuID0gJWx4XG4iLAorCQkJbWF4X2xvd19wZm4sIGhpZ2hzdGFydF9wZm4pOwogCi0JcHJpbnRrKCJMb3cgbWVtb3J5IGVuZHMgYXQgdmFkZHIgJTA4bHhcbiIsCisJcHJpbnRrKEtFUk5fREVCVUcgIkxvdyBtZW1vcnkgZW5kcyBhdCB2YWRkciAlMDhseFxuIiwKIAkJCSh1bG9uZykgcGZuX3RvX2thZGRyKG1heF9sb3dfcGZuKSk7CiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7CiAJCWluaXRfcmVtYXBfYWxsb2NhdG9yKG5pZCk7CiAKIAkJYWxsb2NhdGVfcGdkYXQobmlkKTsKIAl9Ci0JcHJpbnRrKCJIaWdoIG1lbW9yeSBzdGFydHMgYXQgdmFkZHIgJTA4bHhcbiIsCisJcmVtYXBfbnVtYV9rdmEoKTsKKworCXByaW50ayhLRVJOX0RFQlVHICJIaWdoIG1lbW9yeSBzdGFydHMgYXQgdmFkZHIgJTA4bHhcbiIsCiAJCQkodWxvbmcpIHBmbl90b19rYWRkcihoaWdoc3RhcnRfcGZuKSk7CiAJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKQogCQlwcm9wYWdhdGVfZTgyMF9tYXBfbm9kZShuaWQpOwogCi0JbWVtc2V0KE5PREVfREFUQSgwKSwgMCwgc2l6ZW9mKHN0cnVjdCBwZ2xpc3RfZGF0YSkpOworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkKKwkJbWVtc2V0KE5PREVfREFUQShuaWQpLCAwLCBzaXplb2Yoc3RydWN0IHBnbGlzdF9kYXRhKSk7CisKIAlOT0RFX0RBVEEoMCktPmJkYXRhID0gJm5vZGUwX2JkYXRhOwogCXNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKCk7Ci0JcmV0dXJuIG1heF9sb3dfcGZuOwogfQogCi12b2lkIF9faW5pdCBudW1hX2t2YV9yZXNlcnZlKHZvaWQpCi17Ci0JaWYgKGt2YV9wYWdlcykKLQkJcmVzZXJ2ZV9ib290bWVtKFBGTl9QSFlTKGt2YV9zdGFydF9wZm4pLCBQRk5fUEhZUyhrdmFfcGFnZXMpLAotCQkJCUJPT1RNRU1fREVGQVVMVCk7Ci19Ci0KLXZvaWQgX19pbml0IHpvbmVfc2l6ZXNfaW5pdCh2b2lkKQotewotCWludCBuaWQ7Ci0JdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107Ci0JbWVtc2V0KG1heF96b25lX3BmbnMsIDAsIHNpemVvZihtYXhfem9uZV9wZm5zKSk7Ci0JbWF4X3pvbmVfcGZuc1taT05FX0RNQV0gPQotCQl2aXJ0X3RvX3BoeXMoKGNoYXIgKilNQVhfRE1BX0FERFJFU1MpID4+IFBBR0VfU0hJRlQ7Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBtYXhfbG93X3BmbjsKLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCW1heF96b25lX3BmbnNbWk9ORV9ISUdITUVNXSA9IGhpZ2hlbmRfcGZuOwotI2VuZGlmCi0KLQkvKiBJZiBTUkFUIGhhcyBub3QgcmVnaXN0ZXJlZCBtZW1vcnksIHJlZ2lzdGVyIGl0IG5vdyAqLwotCWlmIChmaW5kX21heF9wZm5fd2l0aF9hY3RpdmVfcmVnaW9ucygpID09IDApIHsKLQkJZm9yX2VhY2hfb25saW5lX25vZGUobmlkKSB7Ci0JCQlpZiAobm9kZV9oYXNfb25saW5lX21lbShuaWQpKQotCQkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBub2RlX3N0YXJ0X3BmbltuaWRdLAotCQkJCQkJCW5vZGVfZW5kX3BmbltuaWRdKTsKLQkJfQotCX0KLQotCWZyZWVfYXJlYV9pbml0X25vZGVzKG1heF96b25lX3BmbnMpOwotCXJldHVybjsKLX0KLQotdm9pZCBfX2luaXQgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdChpbnQgYmFkX3Bwcm8pIAordm9pZCBfX2luaXQgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdCh2b2lkKQogewogI2lmZGVmIENPTkZJR19ISUdITUVNCiAJc3RydWN0IHpvbmUgKnpvbmU7Ci0Jc3RydWN0IHBhZ2UgKnBhZ2U7CisJaW50IG5pZDsKIAogCWZvcl9lYWNoX3pvbmUoem9uZSkgewotCQl1bnNpZ25lZCBsb25nIG5vZGVfcGZuLCB6b25lX3N0YXJ0X3Bmbiwgem9uZV9lbmRfcGZuOworCQl1bnNpZ25lZCBsb25nIHpvbmVfc3RhcnRfcGZuLCB6b25lX2VuZF9wZm47CiAKIAkJaWYgKCFpc19oaWdobWVtKHpvbmUpKQogCQkJY29udGludWU7CkBAIC00MzQsMTYgKzQwNCwxMiBAQAogCQl6b25lX3N0YXJ0X3BmbiA9IHpvbmUtPnpvbmVfc3RhcnRfcGZuOwogCQl6b25lX2VuZF9wZm4gPSB6b25lX3N0YXJ0X3BmbiArIHpvbmUtPnNwYW5uZWRfcGFnZXM7CiAKLQkJcHJpbnRrKCJJbml0aWFsaXppbmcgJXMgZm9yIG5vZGUgJWQgKCUwOGx4OiUwOGx4KVxuIiwKLQkJCQl6b25lLT5uYW1lLCB6b25lX3RvX25pZCh6b25lKSwKLQkJCQl6b25lX3N0YXJ0X3Bmbiwgem9uZV9lbmRfcGZuKTsKKwkJbmlkID0gem9uZV90b19uaWQoem9uZSk7CisJCXByaW50ayhLRVJOX0lORk8gIkluaXRpYWxpemluZyAlcyBmb3Igbm9kZSAlZCAoJTA4bHg6JTA4bHgpXG4iLAorCQkJCXpvbmUtPm5hbWUsIG5pZCwgem9uZV9zdGFydF9wZm4sIHpvbmVfZW5kX3Bmbik7CiAKLQkJZm9yIChub2RlX3BmbiA9IHpvbmVfc3RhcnRfcGZuOyBub2RlX3BmbiA8IHpvbmVfZW5kX3Bmbjsgbm9kZV9wZm4rKykgewotCQkJaWYgKCFwZm5fdmFsaWQobm9kZV9wZm4pKQotCQkJCWNvbnRpbnVlOwotCQkJcGFnZSA9IHBmbl90b19wYWdlKG5vZGVfcGZuKTsKLQkJCWFkZF9vbmVfaGlnaHBhZ2VfaW5pdChwYWdlLCBub2RlX3BmbiwgYmFkX3Bwcm8pOwotCQl9CisJCWFkZF9oaWdocGFnZXNfd2l0aF9hY3RpdmVfcmVnaW9ucyhuaWQsIHpvbmVfc3RhcnRfcGZuLAorCQkJCSB6b25lX2VuZF9wZm4pOwogCX0KIAl0b3RhbHJhbV9wYWdlcyArPSB0b3RhbGhpZ2hfcGFnZXM7CiAjZW5kaWYKQEAgLTQ3NiwzICs0NDIsNCBAQAogCiBFWFBPUlRfU1lNQk9MX0dQTChtZW1vcnlfYWRkX3BoeXNhZGRyX3RvX25pZCk7CiAjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vZHVtcF9wYWdldGFibGVzLmMgYi9hcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYwppbmRleCAyYzI0YmVhLi4wYmIwY2FlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYworKysgYi9hcmNoL3g4Ni9tbS9kdW1wX3BhZ2V0YWJsZXMuYwpAQCAtNDIsNyArNDIsNyBAQAogCXsgMCwgIlVzZXIgU3BhY2UiIH0sCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCXsgMHg4MDAwMDAwMDAwMDAwMDAwVUwsICJLZXJuZWwgU3BhY2UiIH0sCi0JeyAweGZmZmY4MTAwMDAwMDAwMDBVTCwgIkxvdyBLZXJuZWwgTWFwcGluZyIgfSwKKwl7IFBBR0VfT0ZGU0VULAkJIkxvdyBLZXJuZWwgTWFwcGluZyIgfSwKIAl7IFZNQUxMT0NfU1RBUlQsICAgICAgICAidm1hbGxvYygpIEFyZWEiIH0sCiAJeyBWTUVNTUFQX1NUQVJULCAgICAgICAgIlZtZW1tYXAiIH0sCiAJeyBfX1NUQVJUX0tFUk5FTF9tYXAsICAgIkhpZ2ggS2VybmVsIE1hcHBpbmciIH0sCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9mYXVsdC5jIGIvYXJjaC94ODYvbW0vZmF1bHQuYwppbmRleCA4YmNiNmY0Li40NTVmM2ZlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9mYXVsdC5jCisrKyBiL2FyY2gveDg2L21tL2ZhdWx0LmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgogI2luY2x1ZGUgPGxpbnV4L21tYW4uaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgpAQCAtNDksMTcgKzUwLDIzIEBACiAjZGVmaW5lIFBGX1JTVkQJCSgxPDwzKQogI2RlZmluZSBQRl9JTlNUUgkoMTw8NCkKIAorc3RhdGljIGlubGluZSBpbnQga21taW9fZmF1bHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFX0hPT0tTCisJaWYgKHVubGlrZWx5KGlzX2ttbWlvX2FjdGl2ZSgpKSkKKwkJaWYgKGttbWlvX2hhbmRsZXIocmVncywgYWRkcikgPT0gMSkKKwkJCXJldHVybiAtMTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIGludCBub3RpZnlfcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKICNpZmRlZiBDT05GSUdfS1BST0JFUwogCWludCByZXQgPSAwOwogCiAJLyoga3Byb2JlX3J1bm5pbmcoKSBuZWVkcyBzbXBfcHJvY2Vzc29yX2lkKCkgKi8KLSNpZmRlZiBDT05GSUdfWDg2XzMyCiAJaWYgKCF1c2VyX21vZGVfdm0ocmVncykpIHsKLSNlbHNlCi0JaWYgKCF1c2VyX21vZGUocmVncykpIHsKLSNlbmRpZgogCQlwcmVlbXB0X2Rpc2FibGUoKTsKIAkJaWYgKGtwcm9iZV9ydW5uaW5nKCkgJiYga3Byb2JlX2ZhdWx0X2hhbmRsZXIocmVncywgMTQpKQogCQkJcmV0ID0gMTsKQEAgLTM5NiwxMSArNDAzLDcgQEAKIAkJcHJpbnRrKEtFUk5fQ09OVCAiTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIik7CiAJZWxzZQogCQlwcmludGsoS0VSTl9DT05UICJwYWdpbmcgcmVxdWVzdCIpOwotI2lmZGVmIENPTkZJR19YODZfMzIKLQlwcmludGsoS0VSTl9DT05UICIgYXQgJTA4bHhcbiIsIGFkZHJlc3MpOwotI2Vsc2UKLQlwcmludGsoS0VSTl9DT05UICIgYXQgJTAxNmx4XG4iLCBhZGRyZXNzKTsKLSNlbmRpZgorCXByaW50ayhLRVJOX0NPTlQgIiBhdCAlcFxuIiwgKHZvaWQgKikgYWRkcmVzcyk7CiAJcHJpbnRrKEtFUk5fQUxFUlQgIklQOiIpOwogCXByaW50a19hZGRyZXNzKHJlZ3MtPmlwLCAxKTsKIAlkdW1wX3BhZ2V0YWJsZShhZGRyZXNzKTsKQEAgLTYwNiw2ICs2MDksOCBAQAogCiAJaWYgKG5vdGlmeV9wYWdlX2ZhdWx0KHJlZ3MpKQogCQlyZXR1cm47CisJaWYgKHVubGlrZWx5KGttbWlvX2ZhdWx0KHJlZ3MsIGFkZHJlc3MpKSkKKwkJcmV0dXJuOwogCiAJLyoKIAkgKiBXZSBmYXVsdC1pbiBrZXJuZWwtc3BhY2UgdmlydHVhbCBtZW1vcnkgb24tZGVtYW5kLiBUaGUKQEAgLTgwMCwxNCArODA1LDEwIEBACiAJCWlmIChzaG93X3VuaGFuZGxlZF9zaWduYWxzICYmIHVuaGFuZGxlZF9zaWduYWwodHNrLCBTSUdTRUdWKSAmJgogCQkgICAgcHJpbnRrX3JhdGVsaW1pdCgpKSB7CiAJCQlwcmludGsoCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotCQkJIiVzJXNbJWRdOiBzZWdmYXVsdCBhdCAlbHggaXAgJTA4bHggc3AgJTA4bHggZXJyb3IgJWx4IiwKLSNlbHNlCi0JCQkiJXMlc1slZF06IHNlZ2ZhdWx0IGF0ICVseCBpcCAlbHggc3AgJWx4IGVycm9yICVseCIsCi0jZW5kaWYKKwkJCSIlcyVzWyVkXTogc2VnZmF1bHQgYXQgJWx4IGlwICVwIHNwICVwIGVycm9yICVseCIsCiAJCQl0YXNrX3BpZF9ucih0c2spID4gMSA/IEtFUk5fSU5GTyA6IEtFUk5fRU1FUkcsCi0JCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzayksIGFkZHJlc3MsIHJlZ3MtPmlwLAotCQkJcmVncy0+c3AsIGVycm9yX2NvZGUpOworCQkJdHNrLT5jb21tLCB0YXNrX3BpZF9ucih0c2spLCBhZGRyZXNzLAorCQkJKHZvaWQgKikgcmVncy0+aXAsICh2b2lkICopIHJlZ3MtPnNwLCBlcnJvcl9jb2RlKTsKIAkJCXByaW50X3ZtYV9hZGRyKCIgaW4gIiwgcmVncy0+aXApOwogCQkJcHJpbnRrKCJcbiIpOwogCQl9CkBAIC05MTUsMTQgKzkxNiw3IEBACiB2b2lkIHZtYWxsb2Nfc3luY19hbGwodm9pZCkKIHsKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0JLyoKLQkgKiBOb3RlIHRoYXQgcmFjZXMgaW4gdGhlIHVwZGF0ZXMgb2YgaW5zeW5jIGFuZCBzdGFydCBhcmVuJ3QKLQkgKiBwcm9ibGVtYXRpYzogaW5zeW5jIGNhbiBvbmx5IGdldCBzZXQgYml0cyBhZGRlZCwgYW5kIHVwZGF0ZXMgdG8KLQkgKiBzdGFydCBhcmUgb25seSBpbXByb3ZpbmcgcGVyZm9ybWFuY2UgKHdpdGhvdXQgYWZmZWN0aW5nIGNvcnJlY3RuZXNzCi0JICogaWYgdW5kb25lKS4KLQkgKi8KLQlzdGF0aWMgREVDTEFSRV9CSVRNQVAoaW5zeW5jLCBQVFJTX1BFUl9QR0QpOwotCXN0YXRpYyB1bnNpZ25lZCBsb25nIHN0YXJ0ID0gVEFTS19TSVpFOworCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBWTUFMTE9DX1NUQVJUICYgUEdESVJfTUFTSzsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CiAKIAlpZiAoU0hBUkVEX0tFUk5FTF9QTUQpCkBAIC05MzAsNTYgKzkyNCwzOCBAQAogCiAJQlVJTERfQlVHX09OKFRBU0tfU0laRSAmIH5QR0RJUl9NQVNLKTsKIAlmb3IgKGFkZHJlc3MgPSBzdGFydDsgYWRkcmVzcyA+PSBUQVNLX1NJWkU7IGFkZHJlc3MgKz0gUEdESVJfU0laRSkgewotCQlpZiAoIXRlc3RfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKSkgewotCQkJdW5zaWduZWQgbG9uZyBmbGFnczsKLQkJCXN0cnVjdCBwYWdlICpwYWdlOworCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKIAotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnBnZF9sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7Ci0JCQkJaWYgKCF2bWFsbG9jX3N5bmNfb25lKHBhZ2VfYWRkcmVzcyhwYWdlKSwKLQkJCQkJCSAgICAgIGFkZHJlc3MpKQotCQkJCQlicmVhazsKLQkJCX0KLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Ci0JCQlpZiAoIXBhZ2UpCi0JCQkJc2V0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYyk7CisJCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7CisJCQlpZiAoIXZtYWxsb2Nfc3luY19vbmUocGFnZV9hZGRyZXNzKHBhZ2UpLAorCQkJCQkgICAgICBhZGRyZXNzKSkKKwkJCQlicmVhazsKIAkJfQotCQlpZiAoYWRkcmVzcyA9PSBzdGFydCAmJiB0ZXN0X2JpdChwZ2RfaW5kZXgoYWRkcmVzcyksIGluc3luYykpCi0JCQlzdGFydCA9IGFkZHJlc3MgKyBQR0RJUl9TSVpFOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOwogCX0KICNlbHNlIC8qIENPTkZJR19YODZfNjQgKi8KLQkvKgotCSAqIE5vdGUgdGhhdCByYWNlcyBpbiB0aGUgdXBkYXRlcyBvZiBpbnN5bmMgYW5kIHN0YXJ0IGFyZW4ndAotCSAqIHByb2JsZW1hdGljOiBpbnN5bmMgY2FuIG9ubHkgZ2V0IHNldCBiaXRzIGFkZGVkLCBhbmQgdXBkYXRlcyB0bwotCSAqIHN0YXJ0IGFyZSBvbmx5IGltcHJvdmluZyBwZXJmb3JtYW5jZSAod2l0aG91dCBhZmZlY3RpbmcgY29ycmVjdG5lc3MKLQkgKiBpZiB1bmRvbmUpLgotCSAqLwotCXN0YXRpYyBERUNMQVJFX0JJVE1BUChpbnN5bmMsIFBUUlNfUEVSX1BHRCk7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgc3RhcnQgPSBWTUFMTE9DX1NUQVJUICYgUEdESVJfTUFTSzsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gVk1BTExPQ19TVEFSVCAmIFBHRElSX01BU0s7CiAJdW5zaWduZWQgbG9uZyBhZGRyZXNzOwogCiAJZm9yIChhZGRyZXNzID0gc3RhcnQ7IGFkZHJlc3MgPD0gVk1BTExPQ19FTkQ7IGFkZHJlc3MgKz0gUEdESVJfU0laRSkgewotCQlpZiAoIXRlc3RfYml0KHBnZF9pbmRleChhZGRyZXNzKSwgaW5zeW5jKSkgewotCQkJY29uc3QgcGdkX3QgKnBnZF9yZWYgPSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcyk7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCQkJc3RydWN0IHBhZ2UgKnBhZ2U7CisJCWNvbnN0IHBnZF90ICpwZ2RfcmVmID0gcGdkX29mZnNldF9rKGFkZHJlc3MpOworCQl1bnNpZ25lZCBsb25nIGZsYWdzOworCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKIAotCQkJaWYgKHBnZF9ub25lKCpwZ2RfcmVmKSkKLQkJCQljb250aW51ZTsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOwotCQkJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgewotCQkJCXBnZF90ICpwZ2Q7Ci0JCQkJcGdkID0gKHBnZF90ICopcGFnZV9hZGRyZXNzKHBhZ2UpICsgcGdkX2luZGV4KGFkZHJlc3MpOwotCQkJCWlmIChwZ2Rfbm9uZSgqcGdkKSkKLQkJCQkJc2V0X3BnZChwZ2QsICpwZ2RfcmVmKTsKLQkJCQllbHNlCi0JCQkJCUJVR19PTihwZ2RfcGFnZV92YWRkcigqcGdkKSAhPSBwZ2RfcGFnZV92YWRkcigqcGdkX3JlZikpOwotCQkJfQotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKLQkJCXNldF9iaXQocGdkX2luZGV4KGFkZHJlc3MpLCBpbnN5bmMpOworCQlpZiAocGdkX25vbmUoKnBnZF9yZWYpKQorCQkJY29udGludWU7CisJCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhZ2UsICZwZ2RfbGlzdCwgbHJ1KSB7CisJCQlwZ2RfdCAqcGdkOworCQkJcGdkID0gKHBnZF90ICopcGFnZV9hZGRyZXNzKHBhZ2UpICsgcGdkX2luZGV4KGFkZHJlc3MpOworCQkJaWYgKHBnZF9ub25lKCpwZ2QpKQorCQkJCXNldF9wZ2QocGdkLCAqcGdkX3JlZik7CisJCQllbHNlCisJCQkJQlVHX09OKHBnZF9wYWdlX3ZhZGRyKCpwZ2QpICE9IHBnZF9wYWdlX3ZhZGRyKCpwZ2RfcmVmKSk7CiAJCX0KLQkJaWYgKGFkZHJlc3MgPT0gc3RhcnQpCi0JCQlzdGFydCA9IGFkZHJlc3MgKyBQR0RJUl9TSVpFOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwZ2RfbG9jaywgZmxhZ3MpOwogCX0KICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vaW5pdF8zMi5jIGIvYXJjaC94ODYvbW0vaW5pdF8zMi5jCmluZGV4IGVjMzBkMTAuLjk2ODlhNTEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2luaXRfMzIuYworKysgYi9hcmNoL3g4Ni9tbS9pbml0XzMyLmMKQEAgLTUwLDYgKzUwLDcgQEAKIAogdW5zaWduZWQgaW50IF9fVk1BTExPQ19SRVNFUlZFID0gMTI4IDw8IDIwOwogCit1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuX21hcHBlZDsKIHVuc2lnbmVkIGxvbmcgbWF4X3Bmbl9tYXBwZWQ7CiAKIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbXVfZ2F0aGVyLCBtbXVfZ2F0aGVycyk7CkBAIC01Nyw2ICs1OCwyNyBAQAogCiBzdGF0aWMgbm9pbmxpbmUgaW50IGRvX3Rlc3Rfd3BfYml0KHZvaWQpOwogCisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgdGFibGVfc3RhcnQ7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXRkYXRhIHRhYmxlX2VuZDsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdGRhdGEgdGFibGVfdG9wOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgYWZ0ZXJfaW5pdF9ib290bWVtOworCitzdGF0aWMgX19pbml0IHZvaWQgKmFsbG9jX2xvd19wYWdlKHVuc2lnbmVkIGxvbmcgKnBoeXMpCit7CisJdW5zaWduZWQgbG9uZyBwZm4gPSB0YWJsZV9lbmQrKzsKKwl2b2lkICphZHI7CisKKwlpZiAocGZuID49IHRhYmxlX3RvcCkKKwkJcGFuaWMoImFsbG9jX2xvd19wYWdlOiByYW4gb3V0IG9mIG1lbW9yeSIpOworCisJYWRyID0gX192YShwZm4gKiBQQUdFX1NJWkUpOworCW1lbXNldChhZHIsIDAsIFBBR0VfU0laRSk7CisJKnBoeXMgID0gcGZuICogUEFHRV9TSVpFOworCXJldHVybiBhZHI7Cit9CisKIC8qCiAgKiBDcmVhdGVzIGEgbWlkZGxlIHBhZ2UgdGFibGUgYW5kIHB1dHMgYSBwb2ludGVyIHRvIGl0IGluIHRoZQogICogZ2l2ZW4gZ2xvYmFsIGRpcmVjdG9yeSBlbnRyeS4gVGhpcyBvbmx5IHJldHVybnMgdGhlIGdkIGVudHJ5CkBAIC02OCw5ICs5MCwxMiBAQAogCXBtZF90ICpwbWRfdGFibGU7CiAKICNpZmRlZiBDT05GSUdfWDg2X1BBRQorCXVuc2lnbmVkIGxvbmcgcGh5czsKIAlpZiAoIShwZ2RfdmFsKCpwZ2QpICYgX1BBR0VfUFJFU0VOVCkpIHsKLQkJcG1kX3RhYmxlID0gKHBtZF90ICopIGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0KKwkJaWYgKGFmdGVyX2luaXRfYm9vdG1lbSkKKwkJCXBtZF90YWJsZSA9IChwbWRfdCAqKWFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7CisJCWVsc2UKKwkJCXBtZF90YWJsZSA9IChwbWRfdCAqKWFsbG9jX2xvd19wYWdlKCZwaHlzKTsKIAkJcGFyYXZpcnRfYWxsb2NfcG1kKCZpbml0X21tLCBfX3BhKHBtZF90YWJsZSkgPj4gUEFHRV9TSElGVCk7CiAJCXNldF9wZ2QocGdkLCBfX3BnZChfX3BhKHBtZF90YWJsZSkgfCBfUEFHRV9QUkVTRU5UKSk7CiAJCXB1ZCA9IHB1ZF9vZmZzZXQocGdkLCAwKTsKQEAgLTkyLDEyICsxMTcsMTYgQEAKIAlpZiAoIShwbWRfdmFsKCpwbWQpICYgX1BBR0VfUFJFU0VOVCkpIHsKIAkJcHRlX3QgKnBhZ2VfdGFibGUgPSBOVUxMOwogCisJCWlmIChhZnRlcl9pbml0X2Jvb3RtZW0pIHsKICNpZmRlZiBDT05GSUdfREVCVUdfUEFHRUFMTE9DCi0JCXBhZ2VfdGFibGUgPSAocHRlX3QgKikgYWxsb2NfYm9vdG1lbV9wYWdlcyhQQUdFX1NJWkUpOworCQkJcGFnZV90YWJsZSA9IChwdGVfdCAqKSBhbGxvY19ib290bWVtX3BhZ2VzKFBBR0VfU0laRSk7CiAjZW5kaWYKLQkJaWYgKCFwYWdlX3RhYmxlKSB7Ci0JCQlwYWdlX3RhYmxlID0KKwkJCWlmICghcGFnZV90YWJsZSkKKwkJCQlwYWdlX3RhYmxlID0KIAkJCQkocHRlX3QgKilhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOworCQl9IGVsc2UgeworCQkJdW5zaWduZWQgbG9uZyBwaHlzOworCQkJcGFnZV90YWJsZSA9IChwdGVfdCAqKWFsbG9jX2xvd19wYWdlKCZwaHlzKTsKIAkJfQogCiAJCXBhcmF2aXJ0X2FsbG9jX3B0ZSgmaW5pdF9tbSwgX19wYShwYWdlX3RhYmxlKSA+PiBQQUdFX1NISUZUKTsKQEAgLTE1NSwzOCArMTg0LDQ0IEBACiAgKiBvZiBtYXhfbG93X3BmbiBwYWdlcywgYnkgY3JlYXRpbmcgcGFnZSB0YWJsZXMgc3RhcnRpbmcgZnJvbSBhZGRyZXNzCiAgKiBQQUdFX09GRlNFVDoKICAqLwotc3RhdGljIHZvaWQgX19pbml0IGtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX3QgKnBnZF9iYXNlKQorc3RhdGljIHZvaWQgX19pbml0IGtlcm5lbF9waHlzaWNhbF9tYXBwaW5nX2luaXQocGdkX3QgKnBnZF9iYXNlLAorCQkJCQkJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCQl1bnNpZ25lZCBsb25nIGVuZF9wZm4sCisJCQkJCQlpbnQgdXNlX3BzZSkKIHsKIAlpbnQgcGdkX2lkeCwgcG1kX2lkeCwgcHRlX29mczsKIAl1bnNpZ25lZCBsb25nIHBmbjsKIAlwZ2RfdCAqcGdkOwogCXBtZF90ICpwbWQ7CiAJcHRlX3QgKnB0ZTsKKwl1bnNpZ25lZCBwYWdlc18ybSA9IDAsIHBhZ2VzXzRrID0gMDsKIAotCXBnZF9pZHggPSBwZ2RfaW5kZXgoUEFHRV9PRkZTRVQpOworCWlmICghY3B1X2hhc19wc2UpCisJCXVzZV9wc2UgPSAwOworCisJcGZuID0gc3RhcnRfcGZuOworCXBnZF9pZHggPSBwZ2RfaW5kZXgoKHBmbjw8UEFHRV9TSElGVCkgKyBQQUdFX09GRlNFVCk7CiAJcGdkID0gcGdkX2Jhc2UgKyBwZ2RfaWR4OwotCXBmbiA9IDA7Ci0KIAlmb3IgKDsgcGdkX2lkeCA8IFBUUlNfUEVSX1BHRDsgcGdkKyssIHBnZF9pZHgrKykgewogCQlwbWQgPSBvbmVfbWRfdGFibGVfaW5pdChwZ2QpOwotCQlpZiAocGZuID49IG1heF9sb3dfcGZuKQotCQkJY29udGludWU7CiAKLQkJZm9yIChwbWRfaWR4ID0gMDsKLQkJICAgICBwbWRfaWR4IDwgUFRSU19QRVJfUE1EICYmIHBmbiA8IG1heF9sb3dfcGZuOworCQlpZiAocGZuID49IGVuZF9wZm4pCisJCQljb250aW51ZTsKKyNpZmRlZiBDT05GSUdfWDg2X1BBRQorCQlwbWRfaWR4ID0gcG1kX2luZGV4KChwZm48PFBBR0VfU0hJRlQpICsgUEFHRV9PRkZTRVQpOworCQlwbWQgKz0gcG1kX2lkeDsKKyNlbHNlCisJCXBtZF9pZHggPSAwOworI2VuZGlmCisJCWZvciAoOyBwbWRfaWR4IDwgUFRSU19QRVJfUE1EICYmIHBmbiA8IGVuZF9wZm47CiAJCSAgICAgcG1kKyssIHBtZF9pZHgrKykgewogCQkJdW5zaWduZWQgaW50IGFkZHIgPSBwZm4gKiBQQUdFX1NJWkUgKyBQQUdFX09GRlNFVDsKIAogCQkJLyoKIAkJCSAqIE1hcCB3aXRoIGJpZyBwYWdlcyBpZiBwb3NzaWJsZSwgb3RoZXJ3aXNlCiAJCQkgKiBjcmVhdGUgbm9ybWFsIHBhZ2UgdGFibGVzOgotCQkJICoKLQkJCSAqIERvbid0IHVzZSBhIGxhcmdlIHBhZ2UgZm9yIHRoZSBmaXJzdCAyLzRNQiBvZiBtZW1vcnkKLQkJCSAqIGJlY2F1c2UgdGhlcmUgYXJlIG9mdGVuIGZpeGVkIHNpemUgTVRSUnMgaW4gdGhlcmUKLQkJCSAqIGFuZCBvdmVybGFwcGluZyBNVFJScyBpbnRvIGxhcmdlIHBhZ2VzIGNhbiBjYXVzZQotCQkJICogc2xvd2Rvd25zLgogCQkJICovCi0JCQlpZiAoY3B1X2hhc19wc2UgJiYgIShwZ2RfaWR4ID09IDAgJiYgcG1kX2lkeCA9PSAwKSkgeworCQkJaWYgKHVzZV9wc2UpIHsKIAkJCQl1bnNpZ25lZCBpbnQgYWRkcjI7CiAJCQkJcGdwcm90X3QgcHJvdCA9IFBBR0VfS0VSTkVMX0xBUkdFOwogCkBAIC0xOTcsMzQgKzIzMiwzMCBAQAogCQkJCSAgICBpc19rZXJuZWxfdGV4dChhZGRyMikpCiAJCQkJCXByb3QgPSBQQUdFX0tFUk5FTF9MQVJHRV9FWEVDOwogCisJCQkJcGFnZXNfMm0rKzsKIAkJCQlzZXRfcG1kKHBtZCwgcGZuX3BtZChwZm4sIHByb3QpKTsKIAogCQkJCXBmbiArPSBQVFJTX1BFUl9QVEU7Ci0JCQkJbWF4X3Bmbl9tYXBwZWQgPSBwZm47CiAJCQkJY29udGludWU7CiAJCQl9CiAJCQlwdGUgPSBvbmVfcGFnZV90YWJsZV9pbml0KHBtZCk7CiAKLQkJCWZvciAocHRlX29mcyA9IDA7Ci0JCQkgICAgIHB0ZV9vZnMgPCBQVFJTX1BFUl9QVEUgJiYgcGZuIDwgbWF4X2xvd19wZm47CisJCQlwdGVfb2ZzID0gcHRlX2luZGV4KChwZm48PFBBR0VfU0hJRlQpICsgUEFHRV9PRkZTRVQpOworCQkJcHRlICs9IHB0ZV9vZnM7CisJCQlmb3IgKDsgcHRlX29mcyA8IFBUUlNfUEVSX1BURSAmJiBwZm4gPCBlbmRfcGZuOwogCQkJICAgICBwdGUrKywgcGZuKyssIHB0ZV9vZnMrKywgYWRkciArPSBQQUdFX1NJWkUpIHsKIAkJCQlwZ3Byb3RfdCBwcm90ID0gUEFHRV9LRVJORUw7CiAKIAkJCQlpZiAoaXNfa2VybmVsX3RleHQoYWRkcikpCiAJCQkJCXByb3QgPSBQQUdFX0tFUk5FTF9FWEVDOwogCisJCQkJcGFnZXNfNGsrKzsKIAkJCQlzZXRfcHRlKHB0ZSwgcGZuX3B0ZShwZm4sIHByb3QpKTsKIAkJCX0KLQkJCW1heF9wZm5fbWFwcGVkID0gcGZuOwogCQl9CiAJfQotfQotCi1zdGF0aWMgaW5saW5lIGludCBwYWdlX2tpbGxzX3Bwcm8odW5zaWduZWQgbG9uZyBwYWdlbnIpCi17Ci0JaWYgKHBhZ2VuciA+PSAweDcwMDAwICYmIHBhZ2VuciA8PSAweDcwMDNGKQotCQlyZXR1cm4gMTsKLQlyZXR1cm4gMDsKKwl1cGRhdGVfcGFnZV9jb3VudChQR19MRVZFTF8yTSwgcGFnZXNfMm0pOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzRLLCBwYWdlc180ayk7CiB9CiAKIC8qCkBAIC0yODcsMjkgKzMxOCw2MiBAQAogCXBrbWFwX3BhZ2VfdGFibGUgPSBwdGU7CiB9CiAKLXZvaWQgX19pbml0IGFkZF9vbmVfaGlnaHBhZ2VfaW5pdChzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IHBmbiwgaW50IGJhZF9wcHJvKQorc3RhdGljIHZvaWQgX19pbml0IGFkZF9vbmVfaGlnaHBhZ2VfaW5pdChzdHJ1Y3QgcGFnZSAqcGFnZSwgaW50IHBmbikKIHsKLQlpZiAocGFnZV9pc19yYW0ocGZuKSAmJiAhKGJhZF9wcHJvICYmIHBhZ2Vfa2lsbHNfcHBybyhwZm4pKSkgewotCQlDbGVhclBhZ2VSZXNlcnZlZChwYWdlKTsKLQkJaW5pdF9wYWdlX2NvdW50KHBhZ2UpOwotCQlfX2ZyZWVfcGFnZShwYWdlKTsKLQkJdG90YWxoaWdoX3BhZ2VzKys7Ci0JfSBlbHNlCi0JCVNldFBhZ2VSZXNlcnZlZChwYWdlKTsKKwlDbGVhclBhZ2VSZXNlcnZlZChwYWdlKTsKKwlpbml0X3BhZ2VfY291bnQocGFnZSk7CisJX19mcmVlX3BhZ2UocGFnZSk7CisJdG90YWxoaWdoX3BhZ2VzKys7Cit9CisKK3N0cnVjdCBhZGRfaGlnaHBhZ2VzX2RhdGEgeworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuOworCXVuc2lnbmVkIGxvbmcgZW5kX3BmbjsKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGFkZF9oaWdocGFnZXNfd29ya19mbih1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgZW5kX3Bmbiwgdm9pZCAqZGF0YXgpCit7CisJaW50IG5vZGVfcGZuOworCXN0cnVjdCBwYWdlICpwYWdlOworCXVuc2lnbmVkIGxvbmcgZmluYWxfc3RhcnRfcGZuLCBmaW5hbF9lbmRfcGZuOworCXN0cnVjdCBhZGRfaGlnaHBhZ2VzX2RhdGEgKmRhdGE7CisKKwlkYXRhID0gKHN0cnVjdCBhZGRfaGlnaHBhZ2VzX2RhdGEgKilkYXRheDsKKworCWZpbmFsX3N0YXJ0X3BmbiA9IG1heChzdGFydF9wZm4sIGRhdGEtPnN0YXJ0X3Bmbik7CisJZmluYWxfZW5kX3BmbiA9IG1pbihlbmRfcGZuLCBkYXRhLT5lbmRfcGZuKTsKKwlpZiAoZmluYWxfc3RhcnRfcGZuID49IGZpbmFsX2VuZF9wZm4pCisJCXJldHVybiAwOworCisJZm9yIChub2RlX3BmbiA9IGZpbmFsX3N0YXJ0X3Bmbjsgbm9kZV9wZm4gPCBmaW5hbF9lbmRfcGZuOworCSAgICAgbm9kZV9wZm4rKykgeworCQlpZiAoIXBmbl92YWxpZChub2RlX3BmbikpCisJCQljb250aW51ZTsKKwkJcGFnZSA9IHBmbl90b19wYWdlKG5vZGVfcGZuKTsKKwkJYWRkX29uZV9oaWdocGFnZV9pbml0KHBhZ2UsIG5vZGVfcGZuKTsKKwl9CisKKwlyZXR1cm4gMDsKKworfQorCit2b2lkIF9faW5pdCBhZGRfaGlnaHBhZ2VzX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKK3sKKwlzdHJ1Y3QgYWRkX2hpZ2hwYWdlc19kYXRhIGRhdGE7CisKKwlkYXRhLnN0YXJ0X3BmbiA9IHN0YXJ0X3BmbjsKKwlkYXRhLmVuZF9wZm4gPSBlbmRfcGZuOworCisJd29ya193aXRoX2FjdGl2ZV9yZWdpb25zKG5pZCwgYWRkX2hpZ2hwYWdlc193b3JrX2ZuLCAmZGF0YSk7CiB9CiAKICNpZm5kZWYgQ09ORklHX05VTUEKLXN0YXRpYyB2b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KGludCBiYWRfcHBybykKK3N0YXRpYyB2b2lkIF9faW5pdCBzZXRfaGlnaG1lbV9wYWdlc19pbml0KHZvaWQpCiB7Ci0JaW50IHBmbjsKKwlhZGRfaGlnaHBhZ2VzX3dpdGhfYWN0aXZlX3JlZ2lvbnMoMCwgaGlnaHN0YXJ0X3BmbiwgaGlnaGVuZF9wZm4pOwogCi0JZm9yIChwZm4gPSBoaWdoc3RhcnRfcGZuOyBwZm4gPCBoaWdoZW5kX3BmbjsgcGZuKyspIHsKLQkJLyoKLQkJICogSG9sZXMgdW5kZXIgc3BhcnNlbWVtIG1pZ2h0IG5vdCBoYXZlIG5vIG1lbV9tYXBbXToKLQkJICovCi0JCWlmIChwZm5fdmFsaWQocGZuKSkKLQkJCWFkZF9vbmVfaGlnaHBhZ2VfaW5pdChwZm5fdG9fcGFnZShwZm4pLCBwZm4sIGJhZF9wcHJvKTsKLQl9CiAJdG90YWxyYW1fcGFnZXMgKz0gdG90YWxoaWdoX3BhZ2VzOwogfQogI2VuZGlmIC8qICFDT05GSUdfTlVNQSAqLwpAQCAtMzE3LDE0ICszODEsOSBAQAogI2Vsc2UKICMgZGVmaW5lIGttYXBfaW5pdCgpCQkJCWRvIHsgfSB3aGlsZSAoMCkKICMgZGVmaW5lIHBlcm1hbmVudF9rbWFwc19pbml0KHBnZF9iYXNlKQkJZG8geyB9IHdoaWxlICgwKQotIyBkZWZpbmUgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdChiYWRfcHBybykJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdCgpCWRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZiAvKiBDT05GSUdfSElHSE1FTSAqLwogCi1wdGV2YWxfdCBfX1BBR0VfS0VSTkVMID0gX1BBR0VfS0VSTkVMOwotRVhQT1JUX1NZTUJPTChfX1BBR0VfS0VSTkVMKTsKLQotcHRldmFsX3QgX19QQUdFX0tFUk5FTF9FWEVDID0gX1BBR0VfS0VSTkVMX0VYRUM7Ci0KIHZvaWQgX19pbml0IG5hdGl2ZV9wYWdldGFibGVfc2V0dXBfc3RhcnQocGdkX3QgKmJhc2UpCiB7CiAJdW5zaWduZWQgbG9uZyBwZm4sIHZhOwpAQCAtMzgwLDI3ICs0MzksMTAgQEAKICAqIGJlIHBhcnRpYWxseSBwb3B1bGF0ZWQsIGFuZCBzbyBpdCBhdm9pZHMgc3RvbXBpbmcgb24gYW55IGV4aXN0aW5nCiAgKiBtYXBwaW5ncy4KICAqLwotc3RhdGljIHZvaWQgX19pbml0IHBhZ2V0YWJsZV9pbml0KHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgZWFybHlfaW9yZW1hcF9wYWdlX3RhYmxlX3JhbmdlX2luaXQocGdkX3QgKnBnZF9iYXNlKQogewotCXBnZF90ICpwZ2RfYmFzZSA9IHN3YXBwZXJfcGdfZGlyOwogCXVuc2lnbmVkIGxvbmcgdmFkZHIsIGVuZDsKIAotCXBhcmF2aXJ0X3BhZ2V0YWJsZV9zZXR1cF9zdGFydChwZ2RfYmFzZSk7Ci0KLQkvKiBFbmFibGUgUFNFIGlmIGF2YWlsYWJsZSAqLwotCWlmIChjcHVfaGFzX3BzZSkKLQkJc2V0X2luX2NyNChYODZfQ1I0X1BTRSk7Ci0KLQkvKiBFbmFibGUgUEdFIGlmIGF2YWlsYWJsZSAqLwotCWlmIChjcHVfaGFzX3BnZSkgewotCQlzZXRfaW5fY3I0KFg4Nl9DUjRfUEdFKTsKLQkJX19QQUdFX0tFUk5FTCB8PSBfUEFHRV9HTE9CQUw7Ci0JCV9fUEFHRV9LRVJORUxfRVhFQyB8PSBfUEFHRV9HTE9CQUw7Ci0JfQotCi0Ja2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfYmFzZSk7Ci0JcmVtYXBfbnVtYV9rdmEoKTsKLQogCS8qCiAJICogRml4ZWQgbWFwcGluZ3MsIG9ubHkgdGhlIHBhZ2UgdGFibGUgc3RydWN0dXJlIGhhcyB0byBiZQogCSAqIGNyZWF0ZWQgLSBtYXBwaW5ncyB3aWxsIGJlIHNldCBieSBzZXRfZml4bWFwKCk6CkBAIC00MTAsNiArNDUyLDEzIEBACiAJZW5kID0gKEZJWEFERFJfVE9QICsgUE1EX1NJWkUgLSAxKSAmIFBNRF9NQVNLOwogCXBhZ2VfdGFibGVfcmFuZ2VfaW5pdCh2YWRkciwgZW5kLCBwZ2RfYmFzZSk7CiAJZWFybHlfaW9yZW1hcF9yZXNldCgpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQgcGFnZXRhYmxlX2luaXQodm9pZCkKK3sKKwlwZ2RfdCAqcGdkX2Jhc2UgPSBzd2FwcGVyX3BnX2RpcjsKKworCXBhcmF2aXJ0X3BhZ2V0YWJsZV9zZXR1cF9zdGFydChwZ2RfYmFzZSk7CiAKIAlwZXJtYW5lbnRfa21hcHNfaW5pdChwZ2RfYmFzZSk7CiAKQEAgLTQ1Niw3ICs1MDUsNyBAQAogCiBpbnQgbnhfZW5hYmxlZDsKIAotcHRldmFsX3QgX19zdXBwb3J0ZWRfcHRlX21hc2sgX19yZWFkX21vc3RseSA9IH5fUEFHRV9OWDsKK3B0ZXZhbF90IF9fc3VwcG9ydGVkX3B0ZV9tYXNrIF9fcmVhZF9tb3N0bHkgPSB+KF9QQUdFX05YIHwgX1BBR0VfR0xPQkFMKTsKIEVYUE9SVF9TWU1CT0xfR1BMKF9fc3VwcG9ydGVkX3B0ZV9tYXNrKTsKIAogI2lmZGVmIENPTkZJR19YODZfUEFFCkBAIC01MDksNiArNTU4LDI5NiBAQAogfQogI2VuZGlmCiAKKy8qIHVzZXItZGVmaW5lZCBoaWdobWVtIHNpemUgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgaGlnaG1lbV9wYWdlcyA9IC0xOworCisvKgorICogaGlnaG1lbT1zaXplIGZvcmNlcyBoaWdobWVtIHRvIGJlIGV4YWN0bHkgJ3NpemUnIGJ5dGVzLgorICogVGhpcyB3b3JrcyBldmVuIG9uIGJveGVzIHRoYXQgaGF2ZSBubyBoaWdobWVtIG90aGVyd2lzZS4KKyAqIFRoaXMgYWxzbyB3b3JrcyB0byByZWR1Y2UgaGlnaG1lbSBzaXplIG9uIGJpZ2dlciBib3hlcy4KKyAqLworc3RhdGljIGludCBfX2luaXQgcGFyc2VfaGlnaG1lbShjaGFyICphcmcpCit7CisJaWYgKCFhcmcpCisJCXJldHVybiAtRUlOVkFMOworCisJaGlnaG1lbV9wYWdlcyA9IG1lbXBhcnNlKGFyZywgJmFyZykgPj4gUEFHRV9TSElGVDsKKwlyZXR1cm4gMDsKK30KK2Vhcmx5X3BhcmFtKCJoaWdobWVtIiwgcGFyc2VfaGlnaG1lbSk7CisKKy8qCisgKiBEZXRlcm1pbmUgbG93IGFuZCBoaWdoIG1lbW9yeSByYW5nZXM6CisgKi8KK3ZvaWQgX19pbml0IGZpbmRfbG93X3Bmbl9yYW5nZSh2b2lkKQoreworCS8qIGl0IGNvdWxkIHVwZGF0ZSBtYXhfcGZuICovCisKKwkvKiBtYXhfbG93X3BmbiBpcyAwLCB3ZSBhbHJlYWR5IGhhdmUgZWFybHlfcmVzIHN1cHBvcnQgKi8KKworCW1heF9sb3dfcGZuID0gbWF4X3BmbjsKKwlpZiAobWF4X2xvd19wZm4gPiBNQVhNRU1fUEZOKSB7CisJCWlmIChoaWdobWVtX3BhZ2VzID09IC0xKQorCQkJaGlnaG1lbV9wYWdlcyA9IG1heF9wZm4gLSBNQVhNRU1fUEZOOworCQlpZiAoaGlnaG1lbV9wYWdlcyArIE1BWE1FTV9QRk4gPCBtYXhfcGZuKQorCQkJbWF4X3BmbiA9IE1BWE1FTV9QRk4gKyBoaWdobWVtX3BhZ2VzOworCQlpZiAoaGlnaG1lbV9wYWdlcyArIE1BWE1FTV9QRk4gPiBtYXhfcGZuKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJvbmx5ICVsdU1CIGhpZ2htZW0gcGFnZXMgIgorCQkJCSJhdmFpbGFibGUsIGlnbm9yaW5nIGhpZ2htZW0gc2l6ZSBvZiAldU1CLlxuIiwKKwkJCQlwYWdlc190b19tYihtYXhfcGZuIC0gTUFYTUVNX1BGTiksCisJCQkJcGFnZXNfdG9fbWIoaGlnaG1lbV9wYWdlcykpOworCQkJaGlnaG1lbV9wYWdlcyA9IDA7CisJCX0KKwkJbWF4X2xvd19wZm4gPSBNQVhNRU1fUEZOOworI2lmbmRlZiBDT05GSUdfSElHSE1FTQorCQkvKiBNYXhpbXVtIG1lbW9yeSB1c2FibGUgaXMgd2hhdCBpcyBkaXJlY3RseSBhZGRyZXNzYWJsZSAqLworCQlwcmludGsoS0VSTl9XQVJOSU5HICJXYXJuaW5nIG9ubHkgJWxkTUIgd2lsbCBiZSB1c2VkLlxuIiwKKwkJCQkJTUFYTUVNPj4yMCk7CisJCWlmIChtYXhfcGZuID4gTUFYX05PTlBBRV9QRk4pCisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkJICJVc2UgYSBISUdITUVNNjRHIGVuYWJsZWQga2VybmVsLlxuIik7CisJCWVsc2UKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlVzZSBhIEhJR0hNRU0gZW5hYmxlZCBrZXJuZWwuXG4iKTsKKwkJbWF4X3BmbiA9IE1BWE1FTV9QRk47CisjZWxzZSAvKiAhQ09ORklHX0hJR0hNRU0gKi8KKyNpZm5kZWYgQ09ORklHX0hJR0hNRU02NEcKKwkJaWYgKG1heF9wZm4gPiBNQVhfTk9OUEFFX1BGTikgeworCQkJbWF4X3BmbiA9IE1BWF9OT05QQUVfUEZOOworCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiV2FybmluZyBvbmx5IDRHQiB3aWxsIGJlIHVzZWQuIgorCQkJCSJVc2UgYSBISUdITUVNNjRHIGVuYWJsZWQga2VybmVsLlxuIik7CisJCX0KKyNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU02NEcgKi8KKyNlbmRpZiAvKiAhQ09ORklHX0hJR0hNRU0gKi8KKwl9IGVsc2UgeworCQlpZiAoaGlnaG1lbV9wYWdlcyA9PSAtMSkKKwkJCWhpZ2htZW1fcGFnZXMgPSAwOworI2lmZGVmIENPTkZJR19ISUdITUVNCisJCWlmIChoaWdobWVtX3BhZ2VzID49IG1heF9wZm4pIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiaGlnaG1lbSBzaXplIHNwZWNpZmllZCAoJXVNQikgaXMgIgorCQkJCSJiaWdnZXIgdGhhbiBwYWdlcyBhdmFpbGFibGUgKCVsdU1CKSEuXG4iLAorCQkJCXBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpLAorCQkJCXBhZ2VzX3RvX21iKG1heF9wZm4pKTsKKwkJCWhpZ2htZW1fcGFnZXMgPSAwOworCQl9CisJCWlmIChoaWdobWVtX3BhZ2VzKSB7CisJCQlpZiAobWF4X2xvd19wZm4gLSBoaWdobWVtX3BhZ2VzIDwKKwkJCSAgICA2NCoxMDI0KjEwMjQvUEFHRV9TSVpFKXsKKwkJCQlwcmludGsoS0VSTl9FUlIgImhpZ2htZW0gc2l6ZSAldU1CIHJlc3VsdHMgaW4gIgorCQkJCSJzbWFsbGVyIHRoYW4gNjRNQiBsb3dtZW0sIGlnbm9yaW5nIGl0LlxuIgorCQkJCQksIHBhZ2VzX3RvX21iKGhpZ2htZW1fcGFnZXMpKTsKKwkJCQloaWdobWVtX3BhZ2VzID0gMDsKKwkJCX0KKwkJCW1heF9sb3dfcGZuIC09IGhpZ2htZW1fcGFnZXM7CisJCX0KKyNlbHNlCisJCWlmIChoaWdobWVtX3BhZ2VzKQorCQkJcHJpbnRrKEtFUk5fRVJSICJpZ25vcmluZyBoaWdobWVtIHNpemUgb24gbm9uLWhpZ2htZW0iCisJCQkJCSIga2VybmVsIVxuIik7CisjZW5kaWYKKwl9Cit9CisKKyNpZm5kZWYgQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMKK3ZvaWQgX19pbml0IGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgZW5kX3BmbikKK3sKKyNpZmRlZiBDT05GSUdfSElHSE1FTQorCWhpZ2hzdGFydF9wZm4gPSBoaWdoZW5kX3BmbiA9IG1heF9wZm47CisJaWYgKG1heF9wZm4gPiBtYXhfbG93X3BmbikKKwkJaGlnaHN0YXJ0X3BmbiA9IG1heF9sb3dfcGZuOworCW1lbW9yeV9wcmVzZW50KDAsIDAsIGhpZ2hlbmRfcGZuKTsKKwllODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKDAsIDAsIGhpZ2hlbmRfcGZuKTsKKwlwcmludGsoS0VSTl9OT1RJQ0UgIiVsZE1CIEhJR0hNRU0gYXZhaWxhYmxlLlxuIiwKKwkJcGFnZXNfdG9fbWIoaGlnaGVuZF9wZm4gLSBoaWdoc3RhcnRfcGZuKSk7CisJbnVtX3BoeXNwYWdlcyA9IGhpZ2hlbmRfcGZuOworCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShoaWdoc3RhcnRfcGZuICogUEFHRV9TSVpFIC0gMSkgKyAxOworI2Vsc2UKKwltZW1vcnlfcHJlc2VudCgwLCAwLCBtYXhfbG93X3Bmbik7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCAwLCBtYXhfbG93X3Bmbik7CisJbnVtX3BoeXNwYWdlcyA9IG1heF9sb3dfcGZuOworCWhpZ2hfbWVtb3J5ID0gKHZvaWQgKikgX192YShtYXhfbG93X3BmbiAqIFBBR0VfU0laRSAtIDEpICsgMTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19GTEFUTUVNCisJbWF4X21hcG5yID0gbnVtX3BoeXNwYWdlczsKKyNlbmRpZgorCXByaW50ayhLRVJOX05PVElDRSAiJWxkTUIgTE9XTUVNIGF2YWlsYWJsZS5cbiIsCisJCQlwYWdlc190b19tYihtYXhfbG93X3BmbikpOworCisJc2V0dXBfYm9vdG1lbV9hbGxvY2F0b3IoKTsKK30KKyNlbmRpZiAvKiAhQ09ORklHX05FRURfTVVMVElQTEVfTk9ERVMgKi8KKworc3RhdGljIHZvaWQgX19pbml0IHpvbmVfc2l6ZXNfaW5pdCh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgbWF4X3pvbmVfcGZuc1tNQVhfTlJfWk9ORVNdOworCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOworCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0KKwkJdmlydF90b19waHlzKChjaGFyICopTUFYX0RNQV9BRERSRVNTKSA+PiBQQUdFX1NISUZUOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X2xvd19wZm47CisjaWZkZWYgQ09ORklHX0hJR0hNRU0KKwltYXhfem9uZV9wZm5zW1pPTkVfSElHSE1FTV0gPSBoaWdoZW5kX3BmbjsKKyNlbmRpZgorCisJZnJlZV9hcmVhX2luaXRfbm9kZXMobWF4X3pvbmVfcGZucyk7Cit9CisKK3ZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpCit7CisJaW50IGk7CisJdW5zaWduZWQgbG9uZyBib290bWFwX3NpemUsIGJvb3RtYXA7CisJLyoKKwkgKiBJbml0aWFsaXplIHRoZSBib290LXRpbWUgYWxsb2NhdG9yICh3aXRoIGxvdyBtZW1vcnkgb25seSk6CisJICovCisJYm9vdG1hcF9zaXplID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKG1heF9sb3dfcGZuKTw8UEFHRV9TSElGVDsKKwlib290bWFwID0gZmluZF9lODIwX2FyZWEobWluX2xvd19wZm48PFBBR0VfU0hJRlQsCisJCQkJIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULCBib290bWFwX3NpemUsCisJCQkJIFBBR0VfU0laRSk7CisJaWYgKGJvb3RtYXAgPT0gLTFMKQorCQlwYW5pYygiQ2Fubm90IGZpbmQgYm9vdG1lbSBtYXAgb2Ygc2l6ZSAlbGRcbiIsIGJvb3RtYXBfc2l6ZSk7CisJcmVzZXJ2ZV9lYXJseShib290bWFwLCBib290bWFwICsgYm9vdG1hcF9zaXplLCAiQk9PVE1BUCIpOworCisJLyogZG9uJ3QgdG91Y2ggbWluX2xvd19wZm4gKi8KKwlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEoMCksIGJvb3RtYXAgPj4gUEFHRV9TSElGVCwKKwkJCQkJIG1pbl9sb3dfcGZuLCBtYXhfbG93X3Bmbik7CisJcHJpbnRrKEtFUk5fSU5GTyAiICBtYXBwZWQgbG93IHJhbTogMCAtICUwOGx4XG4iLAorCQkgbWF4X3Bmbl9tYXBwZWQ8PFBBR0VfU0hJRlQpOworCXByaW50ayhLRVJOX0lORk8gIiAgbG93IHJhbTogJTA4bHggLSAlMDhseFxuIiwKKwkJIG1pbl9sb3dfcGZuPDxQQUdFX1NISUZULCBtYXhfbG93X3Bmbjw8UEFHRV9TSElGVCk7CisJcHJpbnRrKEtFUk5fSU5GTyAiICBib290bWFwICUwOGx4IC0gJTA4bHhcbiIsCisJCSBib290bWFwLCBib290bWFwICsgYm9vdG1hcF9zaXplKTsKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShpKQorCQlmcmVlX2Jvb3RtZW1fd2l0aF9hY3RpdmVfcmVnaW9ucyhpLCBtYXhfbG93X3Bmbik7CisJZWFybHlfcmVzX3RvX2Jvb3RtZW0oMCwgbWF4X2xvd19wZm48PFBBR0VfU0hJRlQpOworCisJYWZ0ZXJfaW5pdF9ib290bWVtID0gMTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGZpbmRfZWFybHlfdGFibGVfc3BhY2UodW5zaWduZWQgbG9uZyBlbmQpCit7CisJdW5zaWduZWQgbG9uZyBwdWRzLCBwbWRzLCBwdGVzLCB0YWJsZXMsIHN0YXJ0OworCisJcHVkcyA9IChlbmQgKyBQVURfU0laRSAtIDEpID4+IFBVRF9TSElGVDsKKwl0YWJsZXMgPSBQQUdFX0FMSUdOKHB1ZHMgKiBzaXplb2YocHVkX3QpKTsKKworCXBtZHMgPSAoZW5kICsgUE1EX1NJWkUgLSAxKSA+PiBQTURfU0hJRlQ7CisJdGFibGVzICs9IFBBR0VfQUxJR04ocG1kcyAqIHNpemVvZihwbWRfdCkpOworCisJaWYgKGNwdV9oYXNfcHNlKSB7CisJCXVuc2lnbmVkIGxvbmcgZXh0cmE7CisKKwkJZXh0cmEgPSBlbmQgLSAoKGVuZD4+UE1EX1NISUZUKSA8PCBQTURfU0hJRlQpOworCQlleHRyYSArPSBQTURfU0laRTsKKwkJcHRlcyA9IChleHRyYSArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJfSBlbHNlCisJCXB0ZXMgPSAoZW5kICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKworCXRhYmxlcyArPSBQQUdFX0FMSUdOKHB0ZXMgKiBzaXplb2YocHRlX3QpKTsKKworCS8qIGZvciBmaXhtYXAgKi8KKwl0YWJsZXMgKz0gUEFHRV9TSVpFICogMjsKKworCS8qCisJICogUkVELVBFTiBwdXR0aW5nIHBhZ2UgdGFibGVzIG9ubHkgb24gbm9kZSAwIGNvdWxkCisJICogY2F1c2UgYSBob3RzcG90IGFuZCBmaWxsIHVwIFpPTkVfRE1BLiBUaGUgcGFnZSB0YWJsZXMKKwkgKiBuZWVkIHJvdWdobHkgMC41S0IgcGVyIEdCLgorCSAqLworCXN0YXJ0ID0gMHg3MDAwOworCXRhYmxlX3N0YXJ0ID0gZmluZF9lODIwX2FyZWEoc3RhcnQsIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULAorCQkJCQl0YWJsZXMsIFBBR0VfU0laRSk7CisJaWYgKHRhYmxlX3N0YXJ0ID09IC0xVUwpCisJCXBhbmljKCJDYW5ub3QgZmluZCBzcGFjZSBmb3IgdGhlIGtlcm5lbCBwYWdlIHRhYmxlcyIpOworCisJdGFibGVfc3RhcnQgPj49IFBBR0VfU0hJRlQ7CisJdGFibGVfZW5kID0gdGFibGVfc3RhcnQ7CisJdGFibGVfdG9wID0gdGFibGVfc3RhcnQgKyAodGFibGVzPj5QQUdFX1NISUZUKTsKKworCXByaW50ayhLRVJOX0RFQlVHICJrZXJuZWwgZGlyZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRvICVseCBAICVseC0lbHhcbiIsCisJCWVuZCwgdGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCwKKwkJKHRhYmxlX3N0YXJ0IDw8IFBBR0VfU0hJRlQpICsgdGFibGVzKTsKK30KKwordW5zaWduZWQgbG9uZyBfX2luaXRfcmVmb2sgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAorCQkJCQkJdW5zaWduZWQgbG9uZyBlbmQpCit7CisJcGdkX3QgKnBnZF9iYXNlID0gc3dhcHBlcl9wZ19kaXI7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CisJdW5zaWduZWQgbG9uZyBiaWdfcGFnZV9zdGFydDsKKworCS8qCisJICogRmluZCBzcGFjZSBmb3IgdGhlIGtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMuCisJICovCisJaWYgKCFhZnRlcl9pbml0X2Jvb3RtZW0pCisJCWZpbmRfZWFybHlfdGFibGVfc3BhY2UoZW5kKTsKKworI2lmZGVmIENPTkZJR19YODZfUEFFCisJc2V0X254KCk7CisJaWYgKG54X2VuYWJsZWQpCisJCXByaW50ayhLRVJOX0lORk8gIk5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb246IGFjdGl2ZVxuIik7CisjZW5kaWYKKworCS8qIEVuYWJsZSBQU0UgaWYgYXZhaWxhYmxlICovCisJaWYgKGNwdV9oYXNfcHNlKQorCQlzZXRfaW5fY3I0KFg4Nl9DUjRfUFNFKTsKKworCS8qIEVuYWJsZSBQR0UgaWYgYXZhaWxhYmxlICovCisJaWYgKGNwdV9oYXNfcGdlKSB7CisJCXNldF9pbl9jcjQoWDg2X0NSNF9QR0UpOworCQlfX3N1cHBvcnRlZF9wdGVfbWFzayB8PSBfUEFHRV9HTE9CQUw7CisJfQorCisJLyoKKwkgKiBEb24ndCB1c2UgYSBsYXJnZSBwYWdlIGZvciB0aGUgZmlyc3QgMi80TUIgb2YgbWVtb3J5CisJICogYmVjYXVzZSB0aGVyZSBhcmUgb2Z0ZW4gZml4ZWQgc2l6ZSBNVFJScyBpbiB0aGVyZQorCSAqIGFuZCBvdmVybGFwcGluZyBNVFJScyBpbnRvIGxhcmdlIHBhZ2VzIGNhbiBjYXVzZQorCSAqIHNsb3dkb3ducy4KKwkgKi8KKwliaWdfcGFnZV9zdGFydCA9IFBNRF9TSVpFOworCisJaWYgKHN0YXJ0IDwgYmlnX3BhZ2Vfc3RhcnQpIHsKKwkJc3RhcnRfcGZuID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwkJZW5kX3BmbiA9IG1pbihiaWdfcGFnZV9zdGFydD4+UEFHRV9TSElGVCwgZW5kPj5QQUdFX1NISUZUKTsKKwl9IGVsc2UgeworCQkvKiBoZWFkIGlzIG5vdCBiaWcgcGFnZSBhbGlnbm1lbnQgPyAqLworCQlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOworCQllbmRfcGZuID0gKChzdGFydCArIChQTURfU0laRSAtIDEpKT4+UE1EX1NISUZUKQorCQkJCSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJfQorCWlmIChzdGFydF9wZm4gPCBlbmRfcGZuKQorCQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlLCBzdGFydF9wZm4sIGVuZF9wZm4sIDApOworCisJLyogYmlnIHBhZ2UgcmFuZ2UgKi8KKwlzdGFydF9wZm4gPSAoKHN0YXJ0ICsgKFBNRF9TSVpFIC0gMSkpPj5QTURfU0hJRlQpCisJCQkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCWlmIChzdGFydF9wZm4gPCAoYmlnX3BhZ2Vfc3RhcnQgPj4gUEFHRV9TSElGVCkpCisJCXN0YXJ0X3BmbiA9ICBiaWdfcGFnZV9zdGFydCA+PiBQQUdFX1NISUZUOworCWVuZF9wZm4gPSAoZW5kPj5QTURfU0hJRlQpIDw8IChQTURfU0hJRlQgLSBQQUdFX1NISUZUKTsKKwlpZiAoc3RhcnRfcGZuIDwgZW5kX3BmbikKKwkJa2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdChwZ2RfYmFzZSwgc3RhcnRfcGZuLCBlbmRfcGZuLAorCQkJCQkJY3B1X2hhc19wc2UpOworCisJLyogdGFpbCBpcyBub3QgYmlnIHBhZ2UgYWxpZ25tZW50ID8gKi8KKwlzdGFydF9wZm4gPSBlbmRfcGZuOworCWlmIChzdGFydF9wZm4gPiAoYmlnX3BhZ2Vfc3RhcnQ+PlBBR0VfU0hJRlQpKSB7CisJCWVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwkJaWYgKHN0YXJ0X3BmbiA8IGVuZF9wZm4pCisJCQlrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHBnZF9iYXNlLCBzdGFydF9wZm4sCisJCQkJCQkJIGVuZF9wZm4sIDApOworCX0KKworCWVhcmx5X2lvcmVtYXBfcGFnZV90YWJsZV9yYW5nZV9pbml0KHBnZF9iYXNlKTsKKworCWxvYWRfY3IzKHN3YXBwZXJfcGdfZGlyKTsKKworCV9fZmx1c2hfdGxiX2FsbCgpOworCisJaWYgKCFhZnRlcl9pbml0X2Jvb3RtZW0pCisJCXJlc2VydmVfZWFybHkodGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCwKKwkJCQkgdGFibGVfZW5kIDw8IFBBR0VfU0hJRlQsICJQR1RBQkxFIik7CisKKwlyZXR1cm4gZW5kID4+IFBBR0VfU0hJRlQ7Cit9CisKKwogLyoKICAqIHBhZ2luZ19pbml0KCkgc2V0cyB1cCB0aGUgcGFnZSB0YWJsZXMgLSBub3RlIHRoYXQgdGhlIGZpcnN0IDhNQiBhcmUKICAqIGFscmVhZHkgbWFwcGVkIGJ5IGhlYWQuUy4KQEAgLTUxOCwxOCArODU3LDE5IEBACiAgKi8KIHZvaWQgX19pbml0IHBhZ2luZ19pbml0KHZvaWQpCiB7Ci0jaWZkZWYgQ09ORklHX1g4Nl9QQUUKLQlzZXRfbngoKTsKLQlpZiAobnhfZW5hYmxlZCkKLQkJcHJpbnRrKEtFUk5fSU5GTyAiTlggKEV4ZWN1dGUgRGlzYWJsZSkgcHJvdGVjdGlvbjogYWN0aXZlXG4iKTsKLSNlbmRpZgogCXBhZ2V0YWJsZV9pbml0KCk7CiAKLQlsb2FkX2NyMyhzd2FwcGVyX3BnX2Rpcik7Ci0KIAlfX2ZsdXNoX3RsYl9hbGwoKTsKIAogCWttYXBfaW5pdCgpOworCisJLyoKKwkgKiBOT1RFOiBhdCB0aGlzIHBvaW50IHRoZSBib290bWVtIGFsbG9jYXRvciBpcyBmdWxseSBhdmFpbGFibGUuCisJICovCisJc3BhcnNlX2luaXQoKTsKKwl6b25lX3NpemVzX2luaXQoKTsKKworCXBhcmF2aXJ0X3Bvc3RfYWxsb2NhdG9yX2luaXQoKTsKIH0KIAogLyoKQEAgLTU2NCwyNCArOTA0LDExIEBACiB2b2lkIF9faW5pdCBtZW1faW5pdCh2b2lkKQogewogCWludCBjb2Rlc2l6ZSwgcmVzZXJ2ZWRwYWdlcywgZGF0YXNpemUsIGluaXRzaXplOwotCWludCB0bXAsIGJhZF9wcHJvOworCWludCB0bXA7CiAKICNpZmRlZiBDT05GSUdfRkxBVE1FTQogCUJVR19PTighbWVtX21hcCk7CiAjZW5kaWYKLQliYWRfcHBybyA9IHBwcm9fd2l0aF9yYW1fYnVnKCk7Ci0KLSNpZmRlZiBDT05GSUdfSElHSE1FTQotCS8qIGNoZWNrIHRoYXQgZml4bWFwIGFuZCBwa21hcCBkbyBub3Qgb3ZlcmxhcCAqLwotCWlmIChQS01BUF9CQVNFICsgTEFTVF9QS01BUCpQQUdFX1NJWkUgPj0gRklYQUREUl9TVEFSVCkgewotCQlwcmludGsoS0VSTl9FUlIKLQkJCSJmaXhtYXAgYW5kIGttYXAgYXJlYXMgb3ZlcmxhcCAtIHRoaXMgd2lsbCBjcmFzaFxuIik7Ci0JCXByaW50ayhLRVJOX0VSUiAicGtzdGFydDogJWx4aCBwa2VuZDogJWx4aCBmaXhzdGFydCAlbHhoXG4iLAotCQkJCVBLTUFQX0JBU0UsIFBLTUFQX0JBU0UgKyBMQVNUX1BLTUFQKlBBR0VfU0laRSwKLQkJCQlGSVhBRERSX1NUQVJUKTsKLQkJQlVHKCk7Ci0JfQotI2VuZGlmCiAJLyogdGhpcyB3aWxsIHB1dCBhbGwgbG93IG1lbW9yeSBvbnRvIHRoZSBmcmVlbGlzdHMgKi8KIAl0b3RhbHJhbV9wYWdlcyArPSBmcmVlX2FsbF9ib290bWVtKCk7CiAKQEAgLTU5Myw3ICs5MjAsNyBAQAogCQlpZiAocGFnZV9pc19yYW0odG1wKSAmJiBQYWdlUmVzZXJ2ZWQocGZuX3RvX3BhZ2UodG1wKSkpCiAJCQlyZXNlcnZlZHBhZ2VzKys7CiAKLQlzZXRfaGlnaG1lbV9wYWdlc19pbml0KGJhZF9wcHJvKTsKKwlzZXRfaGlnaG1lbV9wYWdlc19pbml0KCk7CiAKIAljb2Rlc2l6ZSA9ICAodW5zaWduZWQgbG9uZykgJl9ldGV4dCAtICh1bnNpZ25lZCBsb25nKSAmX3RleHQ7CiAJZGF0YXNpemUgPSAgKHVuc2lnbmVkIGxvbmcpICZfZWRhdGEgLSAodW5zaWduZWQgbG9uZykgJl9ldGV4dDsKQEAgLTYxNCw3ICs5NDEsNiBAQAogCQkodW5zaWduZWQgbG9uZykgKHRvdGFsaGlnaF9wYWdlcyA8PCAoUEFHRV9TSElGVC0xMCkpCiAJICAgICAgICk7CiAKLSNpZiAxIC8qIGRvdWJsZS1zYW5pdHktY2hlY2sgcGFyYW5vaWEgKi8KIAlwcmludGsoS0VSTl9JTkZPICJ2aXJ0dWFsIGtlcm5lbCBtZW1vcnkgbGF5b3V0OlxuIgogCQkiICAgIGZpeG1hcCAgOiAweCUwOGx4IC0gMHglMDhseCAgICglNGxkIGtCKVxuIgogI2lmZGVmIENPTkZJR19ISUdITUVNCkBAIC02NTUsNyArOTgxLDYgQEAKICNlbmRpZgogCUJVR19PTihWTUFMTE9DX1NUQVJUCQkJCT4gVk1BTExPQ19FTkQpOwogCUJVR19PTigodW5zaWduZWQgbG9uZyloaWdoX21lbW9yeQkJPiBWTUFMTE9DX1NUQVJUKTsKLSNlbmRpZiAvKiBkb3VibGUtc2FuaXR5LWNoZWNrIHBhcmFub2lhICovCiAKIAlpZiAoYm9vdF9jcHVfZGF0YS53cF93b3Jrc19vayA8IDApCiAJCXRlc3Rfd3BfYml0KCk7CkBAIC03MTAsNiArMTAzNSw4IEBACiAJdW5zaWduZWQgbG9uZyBzdGFydCA9IFBGTl9BTElHTihfdGV4dCk7CiAJdW5zaWduZWQgbG9uZyBzaXplID0gUEZOX0FMSUdOKF9ldGV4dCkgLSBzdGFydDsKIAorI2lmbmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwkvKiBEeW5hbWljIHRyYWNpbmcgbW9kaWZpZXMgdGhlIGtlcm5lbCB0ZXh0IHNlY3Rpb24gKi8KIAlzZXRfcGFnZXNfcm8odmlydF90b19wYWdlKHN0YXJ0KSwgc2l6ZSA+PiBQQUdFX1NISUZUKTsKIAlwcmludGsoS0VSTl9JTkZPICJXcml0ZSBwcm90ZWN0aW5nIHRoZSBrZXJuZWwgdGV4dDogJWx1a1xuIiwKIAkJc2l6ZSA+PiAxMCk7CkBAIC03MjIsNiArMTA0OSw4IEBACiAJcHJpbnRrKEtFUk5fSU5GTyAiVGVzdGluZyBDUEE6IHdyaXRlIHByb3RlY3RpbmcgYWdhaW5cbiIpOwogCXNldF9wYWdlc19ybyh2aXJ0X3RvX3BhZ2Uoc3RhcnQpLCBzaXplPj5QQUdFX1NISUZUKTsKICNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworCiAJc3RhcnQgKz0gc2l6ZTsKIAlzaXplID0gKHVuc2lnbmVkIGxvbmcpX19lbmRfcm9kYXRhIC0gc3RhcnQ7CiAJc2V0X3BhZ2VzX3JvKHZpcnRfdG9fcGFnZShzdGFydCksIHNpemUgPj4gUEFHRV9TSElGVCk7CkBAIC03ODQsMyArMTExMyw5IEBACiAJZnJlZV9pbml0X3BhZ2VzKCJpbml0cmQgbWVtb3J5Iiwgc3RhcnQsIGVuZCk7CiB9CiAjZW5kaWYKKworaW50IF9faW5pdCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgbGVuLAorCQkJCSAgIGludCBmbGFncykKK3sKKwlyZXR1cm4gcmVzZXJ2ZV9ib290bWVtKHBoeXMsIGxlbiwgZmxhZ3MpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vaW5pdF82NC5jIGIvYXJjaC94ODYvbW0vaW5pdF82NC5jCmluZGV4IDgxOWRhZDkuLjI3ZGUyNDMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2luaXRfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9pbml0XzY0LmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zd2FwLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXRyZC5oPgogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgpAQCAtNDcsNiArNDgsMTQgQEAKICNpbmNsdWRlIDxhc20vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CiAKKy8qCisgKiBlbmRfcGZuIG9ubHkgaW5jbHVkZXMgUkFNLCB3aGlsZSBtYXhfcGZuX21hcHBlZCBpbmNsdWRlcyBhbGwgZTgyMCBlbnRyaWVzLgorICogVGhlIGRpcmVjdCBtYXBwaW5nIGV4dGVuZHMgdG8gbWF4X3Bmbl9tYXBwZWQsIHNvIHRoYXQgd2UgY2FuIGRpcmVjdGx5IGFjY2VzcworICogYXBlcnR1cmVzLCBBQ1BJIGFuZCBvdGhlciB0YWJsZXMgd2l0aG91dCBoYXZpbmcgdG8gcGxheSB3aXRoIGZpeG1hcHMuCisgKi8KK3Vuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm5fbWFwcGVkOwordW5zaWduZWQgbG9uZyBtYXhfcGZuX21hcHBlZDsKKwogc3RhdGljIHVuc2lnbmVkIGxvbmcgZG1hX3Jlc2VydmUgX19pbml0ZGF0YTsKIAogREVGSU5FX1BFUl9DUFUoc3RydWN0IG1tdV9nYXRoZXIsIG1tdV9nYXRoZXJzKTsKQEAgLTEzNSwyNiArMTQ0LDE3IEBACiAJcmV0dXJuIHB0cjsKIH0KIAotc3RhdGljIF9faW5pdCB2b2lkCi1zZXRfcHRlX3BoeXModW5zaWduZWQgbG9uZyB2YWRkciwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBwcm90KQordm9pZAorc2V0X3B0ZV92YWRkcl9wdWQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBuZXdfcHRlKQogewotCXBnZF90ICpwZ2Q7CiAJcHVkX3QgKnB1ZDsKIAlwbWRfdCAqcG1kOwotCXB0ZV90ICpwdGUsIG5ld19wdGU7CisJcHRlX3QgKnB0ZTsKIAotCXByX2RlYnVnKCJzZXRfcHRlX3BoeXMgJWx4IHRvICVseFxuIiwgdmFkZHIsIHBoeXMpOwotCi0JcGdkID0gcGdkX29mZnNldF9rKHZhZGRyKTsKLQlpZiAocGdkX25vbmUoKnBnZCkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSCi0JCQkiUEdEIEZJWE1BUCBNSVNTSU5HLCBpdCBzaG91bGQgYmUgc2V0dXAgaW4gaGVhZC5TIVxuIik7Ci0JCXJldHVybjsKLQl9Ci0JcHVkID0gcHVkX29mZnNldChwZ2QsIHZhZGRyKTsKKwlwdWQgPSBwdWRfcGFnZSArIHB1ZF9pbmRleCh2YWRkcik7CiAJaWYgKHB1ZF9ub25lKCpwdWQpKSB7CiAJCXBtZCA9IChwbWRfdCAqKSBzcHBfZ2V0cGFnZSgpOwotCQlzZXRfcHVkKHB1ZCwgX19wdWQoX19wYShwbWQpIHwgX0tFUk5QR19UQUJMRSB8IF9QQUdFX1VTRVIpKTsKKwkJcHVkX3BvcHVsYXRlKCZpbml0X21tLCBwdWQsIHBtZCk7CiAJCWlmIChwbWQgIT0gcG1kX29mZnNldChwdWQsIDApKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIlBBR0VUQUJMRSBCVUcgIzAxISAlcCA8LT4gJXBcbiIsCiAJCQkJcG1kLCBwbWRfb2Zmc2V0KHB1ZCwgMCkpOwpAQCAtMTY0LDEzICsxNjQsMTIgQEAKIAlwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgdmFkZHIpOwogCWlmIChwbWRfbm9uZSgqcG1kKSkgewogCQlwdGUgPSAocHRlX3QgKikgc3BwX2dldHBhZ2UoKTsKLQkJc2V0X3BtZChwbWQsIF9fcG1kKF9fcGEocHRlKSB8IF9LRVJOUEdfVEFCTEUgfCBfUEFHRV9VU0VSKSk7CisJCXBtZF9wb3B1bGF0ZV9rZXJuZWwoJmluaXRfbW0sIHBtZCwgcHRlKTsKIAkJaWYgKHB0ZSAhPSBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIDApKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgIlBBR0VUQUJMRSBCVUcgIzAyIVxuIik7CiAJCQlyZXR1cm47CiAJCX0KIAl9Ci0JbmV3X3B0ZSA9IHBmbl9wdGUocGh5cyA+PiBQQUdFX1NISUZULCBwcm90KTsKIAogCXB0ZSA9IHB0ZV9vZmZzZXRfa2VybmVsKHBtZCwgdmFkZHIpOwogCWlmICghcHRlX25vbmUoKnB0ZSkgJiYgcHRlX3ZhbChuZXdfcHRlKSAmJgpAQCAtMTg1LDYgKzE4NCw2NCBAQAogCV9fZmx1c2hfdGxiX29uZSh2YWRkcik7CiB9CiAKK3ZvaWQKK3NldF9wdGVfdmFkZHIodW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgcHRldmFsKQoreworCXBnZF90ICpwZ2Q7CisJcHVkX3QgKnB1ZF9wYWdlOworCisJcHJfZGVidWcoInNldF9wdGVfdmFkZHIgJWx4IHRvICVseFxuIiwgdmFkZHIsIG5hdGl2ZV9wdGVfdmFsKHB0ZXZhbCkpOworCisJcGdkID0gcGdkX29mZnNldF9rKHZhZGRyKTsKKwlpZiAocGdkX25vbmUoKnBnZCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSCisJCQkiUEdEIEZJWE1BUCBNSVNTSU5HLCBpdCBzaG91bGQgYmUgc2V0dXAgaW4gaGVhZC5TIVxuIik7CisJCXJldHVybjsKKwl9CisJcHVkX3BhZ2UgPSAocHVkX3QqKXBnZF9wYWdlX3ZhZGRyKCpwZ2QpOworCXNldF9wdGVfdmFkZHJfcHVkKHB1ZF9wYWdlLCB2YWRkciwgcHRldmFsKTsKK30KKworLyoKKyAqIENyZWF0ZSBsYXJnZSBwYWdlIHRhYmxlIG1hcHBpbmdzIGZvciBhIHJhbmdlIG9mIHBoeXNpY2FsIGFkZHJlc3Nlcy4KKyAqLworc3RhdGljIHZvaWQgX19pbml0IF9faW5pdF9leHRyYV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJcGdwcm90X3QgcHJvdCkKK3sKKwlwZ2RfdCAqcGdkOworCXB1ZF90ICpwdWQ7CisJcG1kX3QgKnBtZDsKKworCUJVR19PTigocGh5cyAmIH5QTURfTUFTSykgfHwgKHNpemUgJiB+UE1EX01BU0spKTsKKwlmb3IgKDsgc2l6ZTsgcGh5cyArPSBQTURfU0laRSwgc2l6ZSAtPSBQTURfU0laRSkgeworCQlwZ2QgPSBwZ2Rfb2Zmc2V0X2soKHVuc2lnbmVkIGxvbmcpX192YShwaHlzKSk7CisJCWlmIChwZ2Rfbm9uZSgqcGdkKSkgeworCQkJcHVkID0gKHB1ZF90ICopIHNwcF9nZXRwYWdlKCk7CisJCQlzZXRfcGdkKHBnZCwgX19wZ2QoX19wYShwdWQpIHwgX0tFUk5QR19UQUJMRSB8CisJCQkJCQlfUEFHRV9VU0VSKSk7CisJCX0KKwkJcHVkID0gcHVkX29mZnNldChwZ2QsICh1bnNpZ25lZCBsb25nKV9fdmEocGh5cykpOworCQlpZiAocHVkX25vbmUoKnB1ZCkpIHsKKwkJCXBtZCA9IChwbWRfdCAqKSBzcHBfZ2V0cGFnZSgpOworCQkJc2V0X3B1ZChwdWQsIF9fcHVkKF9fcGEocG1kKSB8IF9LRVJOUEdfVEFCTEUgfAorCQkJCQkJX1BBR0VfVVNFUikpOworCQl9CisJCXBtZCA9IHBtZF9vZmZzZXQocHVkLCBwaHlzKTsKKwkJQlVHX09OKCFwbWRfbm9uZSgqcG1kKSk7CisJCXNldF9wbWQocG1kLCBfX3BtZChwaHlzIHwgcGdwcm90X3ZhbChwcm90KSkpOworCX0KK30KKwordm9pZCBfX2luaXQgaW5pdF9leHRyYV9tYXBwaW5nX3diKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplKQoreworCV9faW5pdF9leHRyYV9tYXBwaW5nKHBoeXMsIHNpemUsIFBBR0VfS0VSTkVMX0xBUkdFKTsKK30KKwordm9pZCBfX2luaXQgaW5pdF9leHRyYV9tYXBwaW5nX3VjKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBzaXplKQoreworCV9faW5pdF9leHRyYV9tYXBwaW5nKHBoeXMsIHNpemUsIFBBR0VfS0VSTkVMX0xBUkdFX05PQ0FDSEUpOworfQorCiAvKgogICogVGhlIGhlYWQuUyBjb2RlIHNldHMgdXAgdGhlIGtlcm5lbCBoaWdoIG1hcHBpbmc6CiAgKgpAQCAtMjEzLDIwICsyNzAsOSBAQAogCX0KIH0KIAotLyogTk9URTogdGhpcyBpcyBtZWFudCB0byBiZSBydW4gb25seSBhdCBib290ICovCi12b2lkIF9faW5pdCBfX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IHByb3QpCi17Ci0JdW5zaWduZWQgbG9uZyBhZGRyZXNzID0gX19maXhfdG9fdmlydChpZHgpOwotCi0JaWYgKGlkeCA+PSBfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJJbnZhbGlkIF9fc2V0X2ZpeG1hcFxuIik7Ci0JCXJldHVybjsKLQl9Ci0Jc2V0X3B0ZV9waHlzKGFkZHJlc3MsIHBoeXMsIHByb3QpOwotfQotCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIHRhYmxlX3N0YXJ0Owogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0ZGF0YSB0YWJsZV9lbmQ7CitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXRkYXRhIHRhYmxlX3RvcDsKIAogc3RhdGljIF9fbWVtaW5pdCB2b2lkICphbGxvY19sb3dfcGFnZSh1bnNpZ25lZCBsb25nICpwaHlzKQogewpAQCAtMjQwLDcgKzI4Niw3IEBACiAJCXJldHVybiBhZHI7CiAJfQogCi0JaWYgKHBmbiA+PSBlbmRfcGZuKQorCWlmIChwZm4gPj0gdGFibGVfdG9wKQogCQlwYW5pYygiYWxsb2NfbG93X3BhZ2U6IHJhbiBvdXQgb2YgbWVtb3J5Iik7CiAKIAlhZHIgPSBlYXJseV9pb3JlbWFwKHBmbiAqIFBBR0VfU0laRSwgUEFHRV9TSVpFKTsKQEAgLTI1Nyw2NSArMzAzLDYxIEBACiAJZWFybHlfaW91bm1hcChhZHIsIFBBR0VfU0laRSk7CiB9CiAKLS8qIE11c3QgcnVuIGJlZm9yZSB6YXBfbG93X21hcHBpbmdzICovCi1fX21lbWluaXQgdm9pZCAqZWFybHlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAorcGh5c19wdGVfaW5pdChwdGVfdCAqcHRlX3BhZ2UsIHVuc2lnbmVkIGxvbmcgYWRkciwgdW5zaWduZWQgbG9uZyBlbmQpCiB7Ci0JcG1kX3QgKnBtZCwgKmxhc3RfcG1kOwotCXVuc2lnbmVkIGxvbmcgdmFkZHI7Ci0JaW50IGksIHBtZHM7CisJdW5zaWduZWQgcGFnZXMgPSAwOworCXVuc2lnbmVkIGxvbmcgbGFzdF9tYXBfYWRkciA9IGVuZDsKKwlpbnQgaTsKIAotCXBtZHMgPSAoKGFkZHIgJiB+UE1EX01BU0spICsgc2l6ZSArIH5QTURfTUFTSykgLyBQTURfU0laRTsKLQl2YWRkciA9IF9fU1RBUlRfS0VSTkVMX21hcDsKLQlwbWQgPSBsZXZlbDJfa2VybmVsX3BndDsKLQlsYXN0X3BtZCA9IGxldmVsMl9rZXJuZWxfcGd0ICsgUFRSU19QRVJfUE1EIC0gMTsKKwlwdGVfdCAqcHRlID0gcHRlX3BhZ2UgKyBwdGVfaW5kZXgoYWRkcik7CiAKLQlmb3IgKDsgcG1kIDw9IGxhc3RfcG1kOyBwbWQrKywgdmFkZHIgKz0gUE1EX1NJWkUpIHsKLQkJZm9yIChpID0gMDsgaSA8IHBtZHM7IGkrKykgewotCQkJaWYgKHBtZF9wcmVzZW50KHBtZFtpXSkpCi0JCQkJZ290byBjb250aW51ZV9vdXRlcl9sb29wOworCWZvcihpID0gcHRlX2luZGV4KGFkZHIpOyBpIDwgUFRSU19QRVJfUFRFOyBpKyssIGFkZHIgKz0gUEFHRV9TSVpFLCBwdGUrKykgeworCisJCWlmIChhZGRyID49IGVuZCkgeworCQkJaWYgKCFhZnRlcl9ib290bWVtKSB7CisJCQkJZm9yKDsgaSA8IFBUUlNfUEVSX1BURTsgaSsrLCBwdGUrKykKKwkJCQkJc2V0X3B0ZShwdGUsIF9fcHRlKDApKTsKKwkJCX0KKwkJCWJyZWFrOwogCQl9Ci0JCXZhZGRyICs9IGFkZHIgJiB+UE1EX01BU0s7Ci0JCWFkZHIgJj0gUE1EX01BU0s7CiAKLQkJZm9yIChpID0gMDsgaSA8IHBtZHM7IGkrKywgYWRkciArPSBQTURfU0laRSkKLQkJCXNldF9wbWQocG1kK2ksIF9fcG1kKGFkZHIgfCBfX1BBR0VfS0VSTkVMX0xBUkdFX0VYRUMpKTsKLQkJX19mbHVzaF90bGJfYWxsKCk7CisJCWlmIChwdGVfdmFsKCpwdGUpKQorCQkJY29udGludWU7CiAKLQkJcmV0dXJuICh2b2lkICopdmFkZHI7Ci1jb250aW51ZV9vdXRlcl9sb29wOgotCQk7CisJCWlmICgwKQorCQkJcHJpbnRrKCIgICBwdGU9JXAgYWRkcj0lbHggcHRlPSUwMTZseFxuIiwKKwkJCSAgICAgICBwdGUsIGFkZHIsIHBmbl9wdGUoYWRkciA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTCkucHRlKTsKKwkJc2V0X3B0ZShwdGUsIHBmbl9wdGUoYWRkciA+PiBQQUdFX1NISUZULCBQQUdFX0tFUk5FTCkpOworCQlsYXN0X21hcF9hZGRyID0gKGFkZHIgJiBQQUdFX01BU0spICsgUEFHRV9TSVpFOworCQlwYWdlcysrOwogCX0KLQlwcmludGsoS0VSTl9FUlIgImVhcmx5X2lvcmVtYXAoMHglbHgsICVsdSkgZmFpbGVkXG4iLCBhZGRyLCBzaXplKTsKKwl1cGRhdGVfcGFnZV9jb3VudChQR19MRVZFTF80SywgcGFnZXMpOwogCi0JcmV0dXJuIE5VTEw7Ci19Ci0KLS8qCi0gKiBUbyBhdm9pZCB2aXJ0dWFsIGFsaWFzZXMgbGF0ZXI6Ci0gKi8KLV9fbWVtaW5pdCB2b2lkIGVhcmx5X2lvdW5tYXAodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQotewotCXVuc2lnbmVkIGxvbmcgdmFkZHI7Ci0JcG1kX3QgKnBtZDsKLQlpbnQgaSwgcG1kczsKLQotCXZhZGRyID0gKHVuc2lnbmVkIGxvbmcpYWRkcjsKLQlwbWRzID0gKCh2YWRkciAmIH5QTURfTUFTSykgKyBzaXplICsgflBNRF9NQVNLKSAvIFBNRF9TSVpFOwotCXBtZCA9IGxldmVsMl9rZXJuZWxfcGd0ICsgcG1kX2luZGV4KHZhZGRyKTsKLQotCWZvciAoaSA9IDA7IGkgPCBwbWRzOyBpKyspCi0JCXBtZF9jbGVhcihwbWQgKyBpKTsKLQotCV9fZmx1c2hfdGxiX2FsbCgpOworCXJldHVybiBsYXN0X21hcF9hZGRyOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKLXBoeXNfcG1kX2luaXQocG1kX3QgKnBtZF9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kKQorcGh5c19wdGVfdXBkYXRlKHBtZF90ICpwbWQsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQpCiB7CisJcHRlX3QgKnB0ZSA9IChwdGVfdCAqKXBtZF9wYWdlX3ZhZGRyKCpwbWQpOworCisJcmV0dXJuIHBoeXNfcHRlX2luaXQocHRlLCBhZGRyZXNzLCBlbmQpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKK3BoeXNfcG1kX2luaXQocG1kX3QgKnBtZF9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHVuc2lnbmVkIGxvbmcgZW5kLAorCQkJIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCit7CisJdW5zaWduZWQgbG9uZyBwYWdlcyA9IDA7CisJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gZW5kOworCiAJaW50IGkgPSBwbWRfaW5kZXgoYWRkcmVzcyk7CiAKIAlmb3IgKDsgaSA8IFBUUlNfUEVSX1BNRDsgaSsrLCBhZGRyZXNzICs9IFBNRF9TSVpFKSB7CisJCXVuc2lnbmVkIGxvbmcgcHRlX3BoeXM7CiAJCXBtZF90ICpwbWQgPSBwbWRfcGFnZSArIHBtZF9pbmRleChhZGRyZXNzKTsKKwkJcHRlX3QgKnB0ZTsKIAogCQlpZiAoYWRkcmVzcyA+PSBlbmQpIHsKIAkJCWlmICghYWZ0ZXJfYm9vdG1lbSkgewpAQCAtMzI1LDMxICszNjcsNTAgQEAKIAkJCWJyZWFrOwogCQl9CiAKLQkJaWYgKHBtZF92YWwoKnBtZCkpCisJCWlmIChwbWRfdmFsKCpwbWQpKSB7CisJCQlpZiAoIXBtZF9sYXJnZSgqcG1kKSkKKwkJCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdGVfdXBkYXRlKHBtZCwgYWRkcmVzcywKKwkJCQkJCQkJIGVuZCk7CiAJCQljb250aW51ZTsKKwkJfQogCi0JCXNldF9wdGUoKHB0ZV90ICopcG1kLAotCQkJcGZuX3B0ZShhZGRyZXNzID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMX0xBUkdFKSk7CisJCWlmIChwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8yTSkpIHsKKwkJCXBhZ2VzKys7CisJCQlzZXRfcHRlKChwdGVfdCAqKXBtZCwKKwkJCQlwZm5fcHRlKGFkZHJlc3MgPj4gUEFHRV9TSElGVCwgUEFHRV9LRVJORUxfTEFSR0UpKTsKKwkJCWxhc3RfbWFwX2FkZHIgPSAoYWRkcmVzcyAmIFBNRF9NQVNLKSArIFBNRF9TSVpFOworCQkJY29udGludWU7CisJCX0KKworCQlwdGUgPSBhbGxvY19sb3dfcGFnZSgmcHRlX3BoeXMpOworCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdGVfaW5pdChwdGUsIGFkZHJlc3MsIGVuZCk7CisJCXVubWFwX2xvd19wYWdlKHB0ZSk7CisKKwkJcG1kX3BvcHVsYXRlX2tlcm5lbCgmaW5pdF9tbSwgcG1kLCBfX3ZhKHB0ZV9waHlzKSk7CiAJfQotCXJldHVybiBhZGRyZXNzOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzJNLCBwYWdlcyk7CisJcmV0dXJuIGxhc3RfbWFwX2FkZHI7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9fbWVtaW5pdAotcGh5c19wbWRfdXBkYXRlKHB1ZF90ICpwdWQsIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgdW5zaWduZWQgbG9uZyBlbmQpCitwaHlzX3BtZF91cGRhdGUocHVkX3QgKnB1ZCwgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCB1bnNpZ25lZCBsb25nIGVuZCwKKwkJCSB1bnNpZ25lZCBsb25nIHBhZ2Vfc2l6ZV9tYXNrKQogewogCXBtZF90ICpwbWQgPSBwbWRfb2Zmc2V0KHB1ZCwgMCk7CiAJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyOwogCiAJc3Bpbl9sb2NrKCZpbml0X21tLnBhZ2VfdGFibGVfbG9jayk7Ci0JbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX2luaXQocG1kLCBhZGRyZXNzLCBlbmQpOworCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3BtZF9pbml0KHBtZCwgYWRkcmVzcywgZW5kLCBwYWdlX3NpemVfbWFzayk7CiAJc3Bpbl91bmxvY2soJmluaXRfbW0ucGFnZV90YWJsZV9sb2NrKTsKIAlfX2ZsdXNoX3RsYl9hbGwoKTsKIAlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcgX19tZW1pbml0Ci1waHlzX3B1ZF9pbml0KHB1ZF90ICpwdWRfcGFnZSwgdW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCkKK3BoeXNfcHVkX2luaXQocHVkX3QgKnB1ZF9wYWdlLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAorCQkJIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCiB7CisJdW5zaWduZWQgbG9uZyBwYWdlcyA9IDA7CiAJdW5zaWduZWQgbG9uZyBsYXN0X21hcF9hZGRyID0gZW5kOwogCWludCBpID0gcHVkX2luZGV4KGFkZHIpOwogCkBAIC0zNjksMTEgKzQzMCwxMyBAQAogCiAJCWlmIChwdWRfdmFsKCpwdWQpKSB7CiAJCQlpZiAoIXB1ZF9sYXJnZSgqcHVkKSkKLQkJCQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfdXBkYXRlKHB1ZCwgYWRkciwgZW5kKTsKKwkJCQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfdXBkYXRlKHB1ZCwgYWRkciwgZW5kLAorCQkJCQkJCSBwYWdlX3NpemVfbWFzayk7CiAJCQljb250aW51ZTsKIAkJfQogCi0JCWlmIChkaXJlY3RfZ2JwYWdlcykgeworCQlpZiAocGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMUcpKSB7CisJCQlwYWdlcysrOwogCQkJc2V0X3B0ZSgocHRlX3QgKilwdWQsCiAJCQkJcGZuX3B0ZShhZGRyID4+IFBBR0VfU0hJRlQsIFBBR0VfS0VSTkVMX0xBUkdFKSk7CiAJCQlsYXN0X21hcF9hZGRyID0gKGFkZHIgJiBQVURfTUFTSykgKyBQVURfU0laRTsKQEAgLTM4MywyNyArNDQ2LDUwIEBACiAJCXBtZCA9IGFsbG9jX2xvd19wYWdlKCZwbWRfcGh5cyk7CiAKIAkJc3Bpbl9sb2NrKCZpbml0X21tLnBhZ2VfdGFibGVfbG9jayk7Ci0JCXNldF9wdWQocHVkLCBfX3B1ZChwbWRfcGh5cyB8IF9LRVJOUEdfVEFCTEUpKTsKLQkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcG1kX2luaXQocG1kLCBhZGRyLCBlbmQpOworCQlsYXN0X21hcF9hZGRyID0gcGh5c19wbWRfaW5pdChwbWQsIGFkZHIsIGVuZCwgcGFnZV9zaXplX21hc2spOworCQl1bm1hcF9sb3dfcGFnZShwbWQpOworCQlwdWRfcG9wdWxhdGUoJmluaXRfbW0sIHB1ZCwgX192YShwbWRfcGh5cykpOwogCQlzcGluX3VubG9jaygmaW5pdF9tbS5wYWdlX3RhYmxlX2xvY2spOwogCi0JCXVubWFwX2xvd19wYWdlKHBtZCk7CiAJfQogCV9fZmx1c2hfdGxiX2FsbCgpOworCXVwZGF0ZV9wYWdlX2NvdW50KFBHX0xFVkVMXzFHLCBwYWdlcyk7CiAKLQlyZXR1cm4gbGFzdF9tYXBfYWRkciA+PiBQQUdFX1NISUZUOworCXJldHVybiBsYXN0X21hcF9hZGRyOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX21lbWluaXQKK3BoeXNfcHVkX3VwZGF0ZShwZ2RfdCAqcGdkLCB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgZW5kLAorCQkgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKwlwdWRfdCAqcHVkOworCisJcHVkID0gKHB1ZF90ICopcGdkX3BhZ2VfdmFkZHIoKnBnZCk7CisKKwlyZXR1cm4gcGh5c19wdWRfaW5pdChwdWQsIGFkZHIsIGVuZCwgcGFnZV9zaXplX21hc2spOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZmluZF9lYXJseV90YWJsZV9zcGFjZSh1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQl1bnNpZ25lZCBsb25nIHB1ZHMsIHBtZHMsIHRhYmxlcywgc3RhcnQ7CisJdW5zaWduZWQgbG9uZyBwdWRzLCBwbWRzLCBwdGVzLCB0YWJsZXMsIHN0YXJ0OwogCiAJcHVkcyA9IChlbmQgKyBQVURfU0laRSAtIDEpID4+IFBVRF9TSElGVDsKIAl0YWJsZXMgPSByb3VuZF91cChwdWRzICogc2l6ZW9mKHB1ZF90KSwgUEFHRV9TSVpFKTsKLQlpZiAoIWRpcmVjdF9nYnBhZ2VzKSB7CisJaWYgKGRpcmVjdF9nYnBhZ2VzKSB7CisJCXVuc2lnbmVkIGxvbmcgZXh0cmE7CisJCWV4dHJhID0gZW5kIC0gKChlbmQ+PlBVRF9TSElGVCkgPDwgUFVEX1NISUZUKTsKKwkJcG1kcyA9IChleHRyYSArIFBNRF9TSVpFIC0gMSkgPj4gUE1EX1NISUZUOworCX0gZWxzZQogCQlwbWRzID0gKGVuZCArIFBNRF9TSVpFIC0gMSkgPj4gUE1EX1NISUZUOwotCQl0YWJsZXMgKz0gcm91bmRfdXAocG1kcyAqIHNpemVvZihwbWRfdCksIFBBR0VfU0laRSk7Ci0JfQorCXRhYmxlcyArPSByb3VuZF91cChwbWRzICogc2l6ZW9mKHBtZF90KSwgUEFHRV9TSVpFKTsKKworCWlmIChjcHVfaGFzX3BzZSkgeworCQl1bnNpZ25lZCBsb25nIGV4dHJhOworCQlleHRyYSA9IGVuZCAtICgoZW5kPj5QTURfU0hJRlQpIDw8IFBNRF9TSElGVCk7CisJCXB0ZXMgPSAoZXh0cmEgKyBQQUdFX1NJWkUgLSAxKSA+PiBQQUdFX1NISUZUOworCX0gZWxzZQorCQlwdGVzID0gKGVuZCArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJdGFibGVzICs9IHJvdW5kX3VwKHB0ZXMgKiBzaXplb2YocHRlX3QpLCBQQUdFX1NJWkUpOwogCiAJLyoKIAkgKiBSRUQtUEVOIHB1dHRpbmcgcGFnZSB0YWJsZXMgb25seSBvbiBub2RlIDAgY291bGQKQEAgLTQxNywxMCArNTAzLDEwIEBACiAKIAl0YWJsZV9zdGFydCA+Pj0gUEFHRV9TSElGVDsKIAl0YWJsZV9lbmQgPSB0YWJsZV9zdGFydDsKKwl0YWJsZV90b3AgPSB0YWJsZV9zdGFydCArICh0YWJsZXMgPj4gUEFHRV9TSElGVCk7CiAKLQllYXJseV9wcmludGsoImtlcm5lbCBkaXJlY3QgbWFwcGluZyB0YWJsZXMgdXAgdG8gJWx4IEAgJWx4LSVseFxuIiwKLQkJZW5kLCB0YWJsZV9zdGFydCA8PCBQQUdFX1NISUZULAotCQkodGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCkgKyB0YWJsZXMpOworCXByaW50ayhLRVJOX0RFQlVHICJrZXJuZWwgZGlyZWN0IG1hcHBpbmcgdGFibGVzIHVwIHRvICVseCBAICVseC0lbHhcbiIsCisJCWVuZCwgdGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCwgdGFibGVfdG9wIDw8IFBBR0VfU0hJRlQpOwogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9nYnBhZ2VzKHZvaWQpCkBAIC00MzEsNyArNTE3LDcgQEAKIAkJZGlyZWN0X2dicGFnZXMgPSAwOwogfQogCi0jaWZkZWYgQ09ORklHX01FTVRFU1RfQk9PVFBBUkFNCisjaWZkZWYgQ09ORklHX01FTVRFU1QKIAogc3RhdGljIHZvaWQgX19pbml0IG1lbXRlc3QodW5zaWduZWQgbG9uZyBzdGFydF9waHlzLCB1bnNpZ25lZCBsb25nIHNpemUsCiAJCQkJIHVuc2lnbmVkIHBhdHRlcm4pCkBAIC00OTMsNyArNTc5LDggQEAKIAogfQogCi1zdGF0aWMgaW50IG1lbXRlc3RfcGF0dGVybiBfX2luaXRkYXRhID0gQ09ORklHX01FTVRFU1RfQk9PVFBBUkFNX1ZBTFVFOworLyogZGVmYXVsdCBpcyBkaXNhYmxlZCAqLworc3RhdGljIGludCBtZW10ZXN0X3BhdHRlcm4gX19pbml0ZGF0YTsKIAogc3RhdGljIGludCBfX2luaXQgcGFyc2VfbWVtdGVzdChjaGFyICphcmcpCiB7CkBAIC01NDIsMTUgKzYyOSw4NSBAQAogfQogI2VuZGlmCiAKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdCBrZXJuZWxfcGh5c2ljYWxfbWFwcGluZ19pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkJCQl1bnNpZ25lZCBsb25nIGVuZCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgcGFnZV9zaXplX21hc2spCit7CisKKwl1bnNpZ25lZCBsb25nIG5leHQsIGxhc3RfbWFwX2FkZHIgPSBlbmQ7CisKKwlzdGFydCA9ICh1bnNpZ25lZCBsb25nKV9fdmEoc3RhcnQpOworCWVuZCA9ICh1bnNpZ25lZCBsb25nKV9fdmEoZW5kKTsKKworCWZvciAoOyBzdGFydCA8IGVuZDsgc3RhcnQgPSBuZXh0KSB7CisJCXBnZF90ICpwZ2QgPSBwZ2Rfb2Zmc2V0X2soc3RhcnQpOworCQl1bnNpZ25lZCBsb25nIHB1ZF9waHlzOworCQlwdWRfdCAqcHVkOworCisJCW5leHQgPSBzdGFydCArIFBHRElSX1NJWkU7CisJCWlmIChuZXh0ID4gZW5kKQorCQkJbmV4dCA9IGVuZDsKKworCQlpZiAocGdkX3ZhbCgqcGdkKSkgeworCQkJbGFzdF9tYXBfYWRkciA9IHBoeXNfcHVkX3VwZGF0ZShwZ2QsIF9fcGEoc3RhcnQpLAorCQkJCQkJIF9fcGEoZW5kKSwgcGFnZV9zaXplX21hc2spOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoYWZ0ZXJfYm9vdG1lbSkKKwkJCXB1ZCA9IHB1ZF9vZmZzZXQocGdkLCBzdGFydCAmIFBHRElSX01BU0spOworCQllbHNlCisJCQlwdWQgPSBhbGxvY19sb3dfcGFnZSgmcHVkX3BoeXMpOworCisJCWxhc3RfbWFwX2FkZHIgPSBwaHlzX3B1ZF9pbml0KHB1ZCwgX19wYShzdGFydCksIF9fcGEobmV4dCksCisJCQkJCQkgcGFnZV9zaXplX21hc2spOworCQl1bm1hcF9sb3dfcGFnZShwdWQpOworCQlwZ2RfcG9wdWxhdGUoJmluaXRfbW0sIHBnZF9vZmZzZXRfayhzdGFydCksCisJCQkgICAgIF9fdmEocHVkX3BoeXMpKTsKKwl9CisKKwlyZXR1cm4gbGFzdF9tYXBfYWRkcjsKK30KKworc3RydWN0IG1hcF9yYW5nZSB7CisJdW5zaWduZWQgbG9uZyBzdGFydDsKKwl1bnNpZ25lZCBsb25nIGVuZDsKKwl1bnNpZ25lZCBwYWdlX3NpemVfbWFzazsKK307CisKKyNkZWZpbmUgTlJfUkFOR0VfTVIgNQorCitzdGF0aWMgaW50IHNhdmVfbXIoc3RydWN0IG1hcF9yYW5nZSAqbXIsIGludCBucl9yYW5nZSwKKwkJICAgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3BmbiwKKwkJICAgdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzaykKK3sKKworCWlmIChzdGFydF9wZm4gPCBlbmRfcGZuKSB7CisJCWlmIChucl9yYW5nZSA+PSBOUl9SQU5HRV9NUikKKwkJCXBhbmljKCJydW4gb3V0IG9mIHJhbmdlIGZvciBpbml0X21lbW9yeV9tYXBwaW5nXG4iKTsKKwkJbXJbbnJfcmFuZ2VdLnN0YXJ0ID0gc3RhcnRfcGZuPDxQQUdFX1NISUZUOworCQltcltucl9yYW5nZV0uZW5kICAgPSBlbmRfcGZuPDxQQUdFX1NISUZUOworCQltcltucl9yYW5nZV0ucGFnZV9zaXplX21hc2sgPSBwYWdlX3NpemVfbWFzazsKKwkJbnJfcmFuZ2UrKzsKKwl9CisKKwlyZXR1cm4gbnJfcmFuZ2U7Cit9CisKIC8qCiAgKiBTZXR1cCB0aGUgZGlyZWN0IG1hcHBpbmcgb2YgdGhlIHBoeXNpY2FsIG1lbW9yeSBhdCBQQUdFX09GRlNFVC4KICAqIFRoaXMgcnVucyBiZWZvcmUgYm9vdG1lbSBpcyBpbml0aWFsaXplZCBhbmQgZ2V0cyBwYWdlcyBkaXJlY3RseSBmcm9tCiAgKiB0aGUgcGh5c2ljYWwgbWVtb3J5LiBUbyBhY2Nlc3MgdGhlbSB0aGV5IGFyZSB0ZW1wb3JhcmlseSBtYXBwZWQuCiAgKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0X3JlZm9rIGluaXRfbWVtb3J5X21hcHBpbmcodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpCit1bnNpZ25lZCBsb25nIF9faW5pdF9yZWZvayBpbml0X21lbW9yeV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsCisJCQkJCSAgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQl1bnNpZ25lZCBsb25nIG5leHQsIGxhc3RfbWFwX2FkZHIgPSBlbmQ7Ci0JdW5zaWduZWQgbG9uZyBzdGFydF9waHlzID0gc3RhcnQsIGVuZF9waHlzID0gZW5kOworCXVuc2lnbmVkIGxvbmcgbGFzdF9tYXBfYWRkciA9IDA7CisJdW5zaWduZWQgbG9uZyBwYWdlX3NpemVfbWFzayA9IDA7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CisKKwlzdHJ1Y3QgbWFwX3JhbmdlIG1yW05SX1JBTkdFX01SXTsKKwlpbnQgbnJfcmFuZ2UsIGk7CiAKIAlwcmludGsoS0VSTl9JTkZPICJpbml0X21lbW9yeV9tYXBwaW5nXG4iKTsKIApAQCAtNTYxLDQ4ICs3MTgsMTE1IEBACiAJICogbWVtb3J5IG1hcHBlZC4gVW5mb3J0dW5hdGVseSB0aGlzIGlzIGRvbmUgY3VycmVudGx5IGJlZm9yZSB0aGUKIAkgKiBub2RlcyBhcmUgZGlzY292ZXJlZC4KIAkgKi8KLQlpZiAoIWFmdGVyX2Jvb3RtZW0pIHsKKwlpZiAoIWFmdGVyX2Jvb3RtZW0pCiAJCWluaXRfZ2JwYWdlcygpOworCisJaWYgKGRpcmVjdF9nYnBhZ2VzKQorCQlwYWdlX3NpemVfbWFzayB8PSAxIDw8IFBHX0xFVkVMXzFHOworCWlmIChjcHVfaGFzX3BzZSkKKwkJcGFnZV9zaXplX21hc2sgfD0gMSA8PCBQR19MRVZFTF8yTTsKKworCW1lbXNldChtciwgMCwgc2l6ZW9mKG1yKSk7CisJbnJfcmFuZ2UgPSAwOworCisJLyogaGVhZCBpZiBub3QgYmlnIHBhZ2UgYWxpZ25tZW50ID8qLworCXN0YXJ0X3BmbiA9IHN0YXJ0ID4+IFBBR0VfU0hJRlQ7CisJZW5kX3BmbiA9ICgoc3RhcnQgKyAoUE1EX1NJWkUgLSAxKSkgPj4gUE1EX1NISUZUKQorCQkJPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwgMCk7CisKKwkvKiBiaWcgcGFnZSAoMk0pIHJhbmdlKi8KKwlzdGFydF9wZm4gPSAoKHN0YXJ0ICsgKFBNRF9TSVpFIC0gMSkpPj5QTURfU0hJRlQpCisJCQkgPDwgKFBNRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCWVuZF9wZm4gPSAoKHN0YXJ0ICsgKFBVRF9TSVpFIC0gMSkpPj5QVURfU0hJRlQpCisJCQkgPDwgKFBVRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCWlmIChlbmRfcGZuID4gKChlbmQ+PlBVRF9TSElGVCk8PChQVURfU0hJRlQgLSBQQUdFX1NISUZUKSkpCisJCWVuZF9wZm4gPSAoKGVuZD4+UFVEX1NISUZUKTw8KFBVRF9TSElGVCAtIFBBR0VfU0hJRlQpKTsKKwlucl9yYW5nZSA9IHNhdmVfbXIobXIsIG5yX3JhbmdlLCBzdGFydF9wZm4sIGVuZF9wZm4sCisJCQlwYWdlX3NpemVfbWFzayAmICgxPDxQR19MRVZFTF8yTSkpOworCisJLyogYmlnIHBhZ2UgKDFHKSByYW5nZSAqLworCXN0YXJ0X3BmbiA9IGVuZF9wZm47CisJZW5kX3BmbiA9IChlbmQ+PlBVRF9TSElGVCkgPDwgKFBVRF9TSElGVCAtIFBBR0VfU0hJRlQpOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJCQlwYWdlX3NpemVfbWFzayAmCisJCQkJICgoMTw8UEdfTEVWRUxfMk0pfCgxPDxQR19MRVZFTF8xRykpKTsKKworCS8qIHRhaWwgaXMgbm90IGJpZyBwYWdlICgxRykgYWxpZ25tZW50ICovCisJc3RhcnRfcGZuID0gZW5kX3BmbjsKKwllbmRfcGZuID0gKGVuZD4+UE1EX1NISUZUKSA8PCAoUE1EX1NISUZUIC0gUEFHRV9TSElGVCk7CisJbnJfcmFuZ2UgPSBzYXZlX21yKG1yLCBucl9yYW5nZSwgc3RhcnRfcGZuLCBlbmRfcGZuLAorCQkJcGFnZV9zaXplX21hc2sgJiAoMTw8UEdfTEVWRUxfMk0pKTsKKworCS8qIHRhaWwgaXMgbm90IGJpZyBwYWdlICgyTSkgYWxpZ25tZW50ICovCisJc3RhcnRfcGZuID0gZW5kX3BmbjsKKwllbmRfcGZuID0gZW5kPj5QQUdFX1NISUZUOworCW5yX3JhbmdlID0gc2F2ZV9tcihtciwgbnJfcmFuZ2UsIHN0YXJ0X3BmbiwgZW5kX3BmbiwgMCk7CisKKwkvKiB0cnkgdG8gbWVyZ2Ugc2FtZSBwYWdlIHNpemUgYW5kIGNvbnRpbnVvdXMgKi8KKwlmb3IgKGkgPSAwOyBucl9yYW5nZSA+IDEgJiYgaSA8IG5yX3JhbmdlIC0gMTsgaSsrKSB7CisJCXVuc2lnbmVkIGxvbmcgb2xkX3N0YXJ0OworCQlpZiAobXJbaV0uZW5kICE9IG1yW2krMV0uc3RhcnQgfHwKKwkJICAgIG1yW2ldLnBhZ2Vfc2l6ZV9tYXNrICE9IG1yW2krMV0ucGFnZV9zaXplX21hc2spCisJCQljb250aW51ZTsKKwkJLyogbW92ZSBpdCAqLworCQlvbGRfc3RhcnQgPSBtcltpXS5zdGFydDsKKwkJbWVtbW92ZSgmbXJbaV0sICZtcltpKzFdLAorCQkJIChucl9yYW5nZSAtIDEgLSBpKSAqIHNpemVvZiAoc3RydWN0IG1hcF9yYW5nZSkpOworCQltcltpXS5zdGFydCA9IG9sZF9zdGFydDsKKwkJbnJfcmFuZ2UtLTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbnJfcmFuZ2U7IGkrKykKKwkJcHJpbnRrKEtFUk5fREVCVUcgIiAlMDEwbHggLSAlMDEwbHggcGFnZSAlc1xuIiwKKwkJCQltcltpXS5zdGFydCwgbXJbaV0uZW5kLAorCQkJKG1yW2ldLnBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzFHKSk/IjFHIjooCisJCQkgKG1yW2ldLnBhZ2Vfc2l6ZV9tYXNrICYgKDE8PFBHX0xFVkVMXzJNKSk/IjJNIjoiNGsiKSk7CisKKwlpZiAoIWFmdGVyX2Jvb3RtZW0pCiAJCWZpbmRfZWFybHlfdGFibGVfc3BhY2UoZW5kKTsKLQl9CiAKLQlzdGFydCA9ICh1bnNpZ25lZCBsb25nKV9fdmEoc3RhcnQpOwotCWVuZCA9ICh1bnNpZ25lZCBsb25nKV9fdmEoZW5kKTsKLQotCWZvciAoOyBzdGFydCA8IGVuZDsgc3RhcnQgPSBuZXh0KSB7Ci0JCXBnZF90ICpwZ2QgPSBwZ2Rfb2Zmc2V0X2soc3RhcnQpOwotCQl1bnNpZ25lZCBsb25nIHB1ZF9waHlzOwotCQlwdWRfdCAqcHVkOwotCi0JCWlmIChhZnRlcl9ib290bWVtKQotCQkJcHVkID0gcHVkX29mZnNldChwZ2QsIHN0YXJ0ICYgUEdESVJfTUFTSyk7Ci0JCWVsc2UKLQkJCXB1ZCA9IGFsbG9jX2xvd19wYWdlKCZwdWRfcGh5cyk7Ci0KLQkJbmV4dCA9IHN0YXJ0ICsgUEdESVJfU0laRTsKLQkJaWYgKG5leHQgPiBlbmQpCi0JCQluZXh0ID0gZW5kOwotCQlsYXN0X21hcF9hZGRyID0gcGh5c19wdWRfaW5pdChwdWQsIF9fcGEoc3RhcnQpLCBfX3BhKG5leHQpKTsKLQkJaWYgKCFhZnRlcl9ib290bWVtKQotCQkJc2V0X3BnZChwZ2Rfb2Zmc2V0X2soc3RhcnQpLCBta19rZXJuZWxfcGdkKHB1ZF9waHlzKSk7Ci0JCXVubWFwX2xvd19wYWdlKHB1ZCk7Ci0JfQorCWZvciAoaSA9IDA7IGkgPCBucl9yYW5nZTsgaSsrKQorCQlsYXN0X21hcF9hZGRyID0ga2VybmVsX3BoeXNpY2FsX21hcHBpbmdfaW5pdCgKKwkJCQkJbXJbaV0uc3RhcnQsIG1yW2ldLmVuZCwKKwkJCQkJbXJbaV0ucGFnZV9zaXplX21hc2spOwogCiAJaWYgKCFhZnRlcl9ib290bWVtKQogCQltbXVfY3I0X2ZlYXR1cmVzID0gcmVhZF9jcjQoKTsKIAlfX2ZsdXNoX3RsYl9hbGwoKTsKIAotCWlmICghYWZ0ZXJfYm9vdG1lbSkKKwlpZiAoIWFmdGVyX2Jvb3RtZW0gJiYgdGFibGVfZW5kID4gdGFibGVfc3RhcnQpCiAJCXJlc2VydmVfZWFybHkodGFibGVfc3RhcnQgPDwgUEFHRV9TSElGVCwKIAkJCQkgdGFibGVfZW5kIDw8IFBBR0VfU0hJRlQsICJQR1RBQkxFIik7CiAKLQlpZiAoIWFmdGVyX2Jvb3RtZW0pCi0JCWVhcmx5X21lbXRlc3Qoc3RhcnRfcGh5cywgZW5kX3BoeXMpOworCXByaW50ayhLRVJOX0lORk8gImxhc3RfbWFwX2FkZHI6ICVseCBlbmQ6ICVseFxuIiwKKwkJCSBsYXN0X21hcF9hZGRyLCBlbmQpOwogCi0JcmV0dXJuIGxhc3RfbWFwX2FkZHI7CisJaWYgKCFhZnRlcl9ib290bWVtKQorCQllYXJseV9tZW10ZXN0KHN0YXJ0LCBlbmQpOworCisJcmV0dXJuIGxhc3RfbWFwX2FkZHIgPj4gUEFHRV9TSElGVDsKIH0KIAogI2lmbmRlZiBDT05GSUdfTlVNQQordm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit7CisJdW5zaWduZWQgbG9uZyBib290bWFwX3NpemUsIGJvb3RtYXA7CisKKwlib290bWFwX3NpemUgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMoZW5kX3Bmbik8PFBBR0VfU0hJRlQ7CisJYm9vdG1hcCA9IGZpbmRfZTgyMF9hcmVhKDAsIGVuZF9wZm48PFBBR0VfU0hJRlQsIGJvb3RtYXBfc2l6ZSwKKwkJCQkgUEFHRV9TSVpFKTsKKwlpZiAoYm9vdG1hcCA9PSAtMUwpCisJCXBhbmljKCJDYW5ub3QgZmluZCBib290bWVtIG1hcCBvZiBzaXplICVsZFxuIiwgYm9vdG1hcF9zaXplKTsKKwkvKiBkb24ndCB0b3VjaCBtaW5fbG93X3BmbiAqLworCWJvb3RtYXBfc2l6ZSA9IGluaXRfYm9vdG1lbV9ub2RlKE5PREVfREFUQSgwKSwgYm9vdG1hcCA+PiBQQUdFX1NISUZULAorCQkJCQkgMCwgZW5kX3Bmbik7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGVuZF9wZm4pOworCWZyZWVfYm9vdG1lbV93aXRoX2FjdGl2ZV9yZWdpb25zKDAsIGVuZF9wZm4pOworCWVhcmx5X3Jlc190b19ib290bWVtKDAsIGVuZF9wZm48PFBBR0VfU0hJRlQpOworCXJlc2VydmVfYm9vdG1lbShib290bWFwLCBib290bWFwX3NpemUsIEJPT1RNRU1fREVGQVVMVCk7Cit9CisKIHZvaWQgX19pbml0IHBhZ2luZ19pbml0KHZvaWQpCiB7CiAJdW5zaWduZWQgbG9uZyBtYXhfem9uZV9wZm5zW01BWF9OUl9aT05FU107CkBAIC02MTAsOSArODM0LDkgQEAKIAltZW1zZXQobWF4X3pvbmVfcGZucywgMCwgc2l6ZW9mKG1heF96b25lX3BmbnMpKTsKIAltYXhfem9uZV9wZm5zW1pPTkVfRE1BXSA9IE1BWF9ETUFfUEZOOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUEzMl0gPSBNQVhfRE1BMzJfUEZOOwotCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gZW5kX3BmbjsKKwltYXhfem9uZV9wZm5zW1pPTkVfTk9STUFMXSA9IG1heF9wZm47CiAKLQltZW1vcnlfcHJlc2VudCgwLCAwLCBlbmRfcGZuKTsKKwltZW1vcnlfcHJlc2VudCgwLCAwLCBtYXhfcGZuKTsKIAlzcGFyc2VfaW5pdCgpOwogCWZyZWVfYXJlYV9pbml0X25vZGVzKG1heF96b25lX3BmbnMpOwogfQpAQCAtNjk0LDggKzkxOCw4IEBACiAjZWxzZQogCXRvdGFscmFtX3BhZ2VzID0gZnJlZV9hbGxfYm9vdG1lbSgpOwogI2VuZGlmCi0JcmVzZXJ2ZWRwYWdlcyA9IGVuZF9wZm4gLSB0b3RhbHJhbV9wYWdlcyAtCi0JCQkJCWFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBlbmRfcGZuKTsKKwlyZXNlcnZlZHBhZ2VzID0gbWF4X3BmbiAtIHRvdGFscmFtX3BhZ2VzIC0KKwkJCQkJYWJzZW50X3BhZ2VzX2luX3JhbmdlKDAsIG1heF9wZm4pOwogCWFmdGVyX2Jvb3RtZW0gPSAxOwogCiAJY29kZXNpemUgPSAgKHVuc2lnbmVkIGxvbmcpICZfZXRleHQgLSAodW5zaWduZWQgbG9uZykgJl90ZXh0OwpAQCAtNzE0LDcgKzkzOCw3IEBACiAJcHJpbnRrKEtFUk5fSU5GTyAiTWVtb3J5OiAlbHVrLyVsdWsgYXZhaWxhYmxlICglbGRrIGtlcm5lbCBjb2RlLCAiCiAJCQkJIiVsZGsgcmVzZXJ2ZWQsICVsZGsgZGF0YSwgJWxkayBpbml0KVxuIiwKIAkJKHVuc2lnbmVkIGxvbmcpIG5yX2ZyZWVfcGFnZXMoKSA8PCAoUEFHRV9TSElGVC0xMCksCi0JCWVuZF9wZm4gPDwgKFBBR0VfU0hJRlQtMTApLAorCQltYXhfcGZuIDw8IChQQUdFX1NISUZULTEwKSwKIAkJY29kZXNpemUgPj4gMTAsCiAJCXJlc2VydmVkcGFnZXMgPDwgKFBBR0VfU0hJRlQtMTApLAogCQlkYXRhc2l6ZSA+PiAxMCwKQEAgLTc2Nyw2ICs5OTEsMTMgQEAKIHZvaWQgbWFya19yb2RhdGFfcm8odm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gUEZOX0FMSUdOKF9zdGV4dCksIGVuZCA9IFBGTl9BTElHTihfX2VuZF9yb2RhdGEpOworCXVuc2lnbmVkIGxvbmcgcm9kYXRhX3N0YXJ0ID0KKwkJKCh1bnNpZ25lZCBsb25nKV9fc3RhcnRfcm9kYXRhICsgUEFHRV9TSVpFIC0gMSkgJiBQQUdFX01BU0s7CisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKwkvKiBEeW5hbWljIHRyYWNpbmcgbW9kaWZpZXMgdGhlIGtlcm5lbCB0ZXh0IHNlY3Rpb24gKi8KKwlzdGFydCA9IHJvZGF0YV9zdGFydDsKKyNlbmRpZgogCiAJcHJpbnRrKEtFUk5fSU5GTyAiV3JpdGUgcHJvdGVjdGluZyB0aGUga2VybmVsIHJlYWQtb25seSBkYXRhOiAlbHVrXG4iLAogCSAgICAgICAoZW5kIC0gc3RhcnQpID4+IDEwKTsKQEAgLTc3Niw4ICsxMDA3LDcgQEAKIAkgKiBUaGUgcm9kYXRhIHNlY3Rpb24gKGJ1dCBub3QgdGhlIGtlcm5lbCB0ZXh0ISkgc2hvdWxkIGFsc28gYmUKIAkgKiBub3QtZXhlY3V0YWJsZS4KIAkgKi8KLQlzdGFydCA9ICgodW5zaWduZWQgbG9uZylfX3N0YXJ0X3JvZGF0YSArIFBBR0VfU0laRSAtIDEpICYgUEFHRV9NQVNLOwotCXNldF9tZW1vcnlfbngoc3RhcnQsIChlbmQgLSBzdGFydCkgPj4gUEFHRV9TSElGVCk7CisJc2V0X21lbW9yeV9ueChyb2RhdGFfc3RhcnQsIChlbmQgLSByb2RhdGFfc3RhcnQpID4+IFBBR0VfU0hJRlQpOwogCiAJcm9kYXRhX3Rlc3QoKTsKIApAQCAtNzk5LDI0ICsxMDI5LDI2IEBACiB9CiAjZW5kaWYKIAotdm9pZCBfX2luaXQgcmVzZXJ2ZV9ib290bWVtX2dlbmVyaWModW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsZW4pCitpbnQgX19pbml0IHJlc2VydmVfYm9vdG1lbV9nZW5lcmljKHVuc2lnbmVkIGxvbmcgcGh5cywgdW5zaWduZWQgbG9uZyBsZW4sCisJCQkJICAgaW50IGZsYWdzKQogewogI2lmZGVmIENPTkZJR19OVU1BCiAJaW50IG5pZCwgbmV4dF9uaWQ7CisJaW50IHJldDsKICNlbmRpZgogCXVuc2lnbmVkIGxvbmcgcGZuID0gcGh5cyA+PiBQQUdFX1NISUZUOwogCi0JaWYgKHBmbiA+PSBlbmRfcGZuKSB7CisJaWYgKHBmbiA+PSBtYXhfcGZuKSB7CiAJCS8qCiAJCSAqIFRoaXMgY2FuIGhhcHBlbiB3aXRoIGtkdW1wIGtlcm5lbHMgd2hlbiBhY2Nlc3NpbmcKIAkJICogZmlybXdhcmUgdGFibGVzOgogCQkgKi8KIAkJaWYgKHBmbiA8IG1heF9wZm5fbWFwcGVkKQotCQkJcmV0dXJuOworCQkJcmV0dXJuIC1FRkFVTFQ7CiAKLQkJcHJpbnRrKEtFUk5fRVJSICJyZXNlcnZlX2Jvb3RtZW06IGlsbGVnYWwgcmVzZXJ2ZSAlbHggJXVcbiIsCisJCXByaW50ayhLRVJOX0VSUiAicmVzZXJ2ZV9ib290bWVtOiBpbGxlZ2FsIHJlc2VydmUgJWx4ICVsdVxuIiwKIAkJCQlwaHlzLCBsZW4pOwotCQlyZXR1cm47CisJCXJldHVybiAtRUZBVUxUOwogCX0KIAogCS8qIFNob3VsZCBjaGVjayBoZXJlIGFnYWluc3QgdGhlIGU4MjAgbWFwIHRvIGF2b2lkIGRvdWJsZSBmcmVlICovCkBAIC04MjQsOSArMTA1NiwxMyBAQAogCW5pZCA9IHBoeXNfdG9fbmlkKHBoeXMpOwogCW5leHRfbmlkID0gcGh5c190b19uaWQocGh5cyArIGxlbiAtIDEpOwogCWlmIChuaWQgPT0gbmV4dF9uaWQpCi0JCXJlc2VydmVfYm9vdG1lbV9ub2RlKE5PREVfREFUQShuaWQpLCBwaHlzLCBsZW4sIEJPT1RNRU1fREVGQVVMVCk7CisJCXJldCA9IHJlc2VydmVfYm9vdG1lbV9ub2RlKE5PREVfREFUQShuaWQpLCBwaHlzLCBsZW4sIGZsYWdzKTsKIAllbHNlCi0JCXJlc2VydmVfYm9vdG1lbShwaHlzLCBsZW4sIEJPT1RNRU1fREVGQVVMVCk7CisJCXJldCA9IHJlc2VydmVfYm9vdG1lbShwaHlzLCBsZW4sIGZsYWdzKTsKKworCWlmIChyZXQgIT0gMCkKKwkJcmV0dXJuIHJldDsKKwogI2Vsc2UKIAlyZXNlcnZlX2Jvb3RtZW0ocGh5cywgbGVuLCBCT09UTUVNX0RFRkFVTFQpOwogI2VuZGlmCkBAIC04MzUsNiArMTA3MSw4IEBACiAJCWRtYV9yZXNlcnZlICs9IGxlbiAvIFBBR0VfU0laRTsKIAkJc2V0X2RtYV9yZXNlcnZlKGRtYV9yZXNlcnZlKTsKIAl9CisKKwlyZXR1cm4gMDsKIH0KIAogaW50IGtlcm5fYWRkcl92YWxpZCh1bnNpZ25lZCBsb25nIGFkZHIpCkBAIC05MzksNyArMTE3Nyw3IEBACiAJcG1kX3QgKnBtZDsKIAogCWZvciAoOyBhZGRyIDwgZW5kOyBhZGRyID0gbmV4dCkgewotCQluZXh0ID0gcG1kX2FkZHJfZW5kKGFkZHIsIGVuZCk7CisJCXZvaWQgKnAgPSBOVUxMOwogCiAJCXBnZCA9IHZtZW1tYXBfcGdkX3BvcHVsYXRlKGFkZHIsIG5vZGUpOwogCQlpZiAoIXBnZCkKQEAgLTk0OSwzMyArMTE4Nyw1MSBAQAogCQlpZiAoIXB1ZCkKIAkJCXJldHVybiAtRU5PTUVNOwogCi0JCXBtZCA9IHBtZF9vZmZzZXQocHVkLCBhZGRyKTsKLQkJaWYgKHBtZF9ub25lKCpwbWQpKSB7Ci0JCQlwdGVfdCBlbnRyeTsKLQkJCXZvaWQgKnA7CisJCWlmICghY3B1X2hhc19wc2UpIHsKKwkJCW5leHQgPSAoYWRkciArIFBBR0VfU0laRSkgJiBQQUdFX01BU0s7CisJCQlwbWQgPSB2bWVtbWFwX3BtZF9wb3B1bGF0ZShwdWQsIGFkZHIsIG5vZGUpOwogCi0JCQlwID0gdm1lbW1hcF9hbGxvY19ibG9jayhQTURfU0laRSwgbm9kZSk7CisJCQlpZiAoIXBtZCkKKwkJCQlyZXR1cm4gLUVOT01FTTsKKworCQkJcCA9IHZtZW1tYXBfcHRlX3BvcHVsYXRlKHBtZCwgYWRkciwgbm9kZSk7CisKIAkJCWlmICghcCkKIAkJCQlyZXR1cm4gLUVOT01FTTsKIAotCQkJZW50cnkgPSBwZm5fcHRlKF9fcGEocCkgPj4gUEFHRV9TSElGVCwKLQkJCQkJCQlQQUdFX0tFUk5FTF9MQVJHRSk7Ci0JCQlzZXRfcG1kKHBtZCwgX19wbWQocHRlX3ZhbChlbnRyeSkpKTsKLQotCQkJLyogY2hlY2sgdG8gc2VlIGlmIHdlIGhhdmUgY29udGlndW91cyBibG9ja3MgKi8KLQkJCWlmIChwX2VuZCAhPSBwIHx8IG5vZGVfc3RhcnQgIT0gbm9kZSkgewotCQkJCWlmIChwX3N0YXJ0KQotCQkJCQlwcmludGsoS0VSTl9ERUJVRyAiIFslbHgtJWx4XSBQTUQgLT4gWyVwLSVwXSBvbiBub2RlICVkXG4iLAotCQkJCQkJYWRkcl9zdGFydCwgYWRkcl9lbmQtMSwgcF9zdGFydCwgcF9lbmQtMSwgbm9kZV9zdGFydCk7Ci0JCQkJYWRkcl9zdGFydCA9IGFkZHI7Ci0JCQkJbm9kZV9zdGFydCA9IG5vZGU7Ci0JCQkJcF9zdGFydCA9IHA7Ci0JCQl9Ci0JCQlhZGRyX2VuZCA9IGFkZHIgKyBQTURfU0laRTsKLQkJCXBfZW5kID0gcCArIFBNRF9TSVpFOworCQkJYWRkcl9lbmQgPSBhZGRyICsgUEFHRV9TSVpFOworCQkJcF9lbmQgPSBwICsgUEFHRV9TSVpFOwogCQl9IGVsc2UgewotCQkJdm1lbW1hcF92ZXJpZnkoKHB0ZV90ICopcG1kLCBub2RlLCBhZGRyLCBuZXh0KTsKKwkJCW5leHQgPSBwbWRfYWRkcl9lbmQoYWRkciwgZW5kKTsKKworCQkJcG1kID0gcG1kX29mZnNldChwdWQsIGFkZHIpOworCQkJaWYgKHBtZF9ub25lKCpwbWQpKSB7CisJCQkJcHRlX3QgZW50cnk7CisKKwkJCQlwID0gdm1lbW1hcF9hbGxvY19ibG9jayhQTURfU0laRSwgbm9kZSk7CisJCQkJaWYgKCFwKQorCQkJCQlyZXR1cm4gLUVOT01FTTsKKworCQkJCWVudHJ5ID0gcGZuX3B0ZShfX3BhKHApID4+IFBBR0VfU0hJRlQsCisJCQkJCQlQQUdFX0tFUk5FTF9MQVJHRSk7CisJCQkJc2V0X3BtZChwbWQsIF9fcG1kKHB0ZV92YWwoZW50cnkpKSk7CisKKwkJCQkvKiBjaGVjayB0byBzZWUgaWYgd2UgaGF2ZSBjb250aWd1b3VzIGJsb2NrcyAqLworCQkJCWlmIChwX2VuZCAhPSBwIHx8IG5vZGVfc3RhcnQgIT0gbm9kZSkgeworCQkJCQlpZiAocF9zdGFydCkKKwkJCQkJCXByaW50ayhLRVJOX0RFQlVHICIgWyVseC0lbHhdIFBNRCAtPiBbJXAtJXBdIG9uIG5vZGUgJWRcbiIsCisJCQkJCQkgICAgICAgYWRkcl9zdGFydCwgYWRkcl9lbmQtMSwgcF9zdGFydCwgcF9lbmQtMSwgbm9kZV9zdGFydCk7CisJCQkJCWFkZHJfc3RhcnQgPSBhZGRyOworCQkJCQlub2RlX3N0YXJ0ID0gbm9kZTsKKwkJCQkJcF9zdGFydCA9IHA7CisJCQkJfQorCisJCQkJYWRkcl9lbmQgPSBhZGRyICsgUE1EX1NJWkU7CisJCQkJcF9lbmQgPSBwICsgUE1EX1NJWkU7CisJCQl9IGVsc2UKKwkJCQl2bWVtbWFwX3ZlcmlmeSgocHRlX3QgKilwbWQsIG5vZGUsIGFkZHIsIG5leHQpOwogCQl9CisKIAl9CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMgYi9hcmNoL3g4Ni9tbS9pb3JlbWFwLmMKaW5kZXggMmIyYmIzZi4uMjRjMWQzYyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vaW9yZW1hcC5jCisrKyBiL2FyY2gveDg2L21tL2lvcmVtYXAuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vY2FjaGVmbHVzaC5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CkBAIC0xMjIsMTAgKzEyMywxMyBAQAogewogCXVuc2lnbmVkIGxvbmcgcGZuLCBvZmZzZXQsIHZhZGRyOwogCXJlc291cmNlX3NpemVfdCBsYXN0X2FkZHI7CisJY29uc3QgcmVzb3VyY2Vfc2l6ZV90IHVuYWxpZ25lZF9waHlzX2FkZHIgPSBwaHlzX2FkZHI7CisJY29uc3QgdW5zaWduZWQgbG9uZyB1bmFsaWduZWRfc2l6ZSA9IHNpemU7CiAJc3RydWN0IHZtX3N0cnVjdCAqYXJlYTsKIAl1bnNpZ25lZCBsb25nIG5ld19wcm90X3ZhbDsKIAlwZ3Byb3RfdCBwcm90OwogCWludCByZXR2YWw7CisJdm9pZCBfX2lvbWVtICpyZXRfYWRkcjsKIAogCS8qIERvbid0IGFsbG93IHdyYXBhcm91bmQgb3IgemVybyBzaXplICovCiAJbGFzdF9hZGRyID0gcGh5c19hZGRyICsgc2l6ZSAtIDE7CkBAIC0xNDIsNyArMTQ2LDcgQEAKIAkvKgogCSAqIERvbid0IHJlbWFwIHRoZSBsb3cgUENJL0lTQSBhcmVhLCBpdCdzIGFsd2F5cyBtYXBwZWQuLgogCSAqLwotCWlmIChwaHlzX2FkZHIgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgbGFzdF9hZGRyIDwgSVNBX0VORF9BRERSRVNTKQorCWlmIChpc19JU0FfcmFuZ2UocGh5c19hZGRyLCBsYXN0X2FkZHIpKQogCQlyZXR1cm4gKF9fZm9yY2Ugdm9pZCBfX2lvbWVtICopcGh5c190b192aXJ0KHBoeXNfYWRkcik7CiAKIAkvKgpAQCAtMjMzLDcgKzIzNywxMCBAQAogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSAodmFkZHIgKyBvZmZzZXQpOworCXJldF9hZGRyID0gKHZvaWQgX19pb21lbSAqKSAodmFkZHIgKyBvZmZzZXQpOworCW1taW90cmFjZV9pb3JlbWFwKHVuYWxpZ25lZF9waHlzX2FkZHIsIHVuYWxpZ25lZF9zaXplLCByZXRfYWRkcik7CisKKwlyZXR1cm4gcmV0X2FkZHI7CiB9CiAKIC8qKgpAQCAtMjYxLDcgKzI2OCw3IEBACiB7CiAJLyoKIAkgKiBJZGVhbGx5LCB0aGlzIHNob3VsZCBiZToKLQkgKglwYXRfd2NfZW5hYmxlZCA/IF9QQUdFX0NBQ0hFX1VDIDogX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJICoJcGF0X2VuYWJsZWQgPyBfUEFHRV9DQUNIRV9VQyA6IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwogCSAqCiAJICogVGlsbCB3ZSBmaXggYWxsIFggZHJpdmVycyB0byB1c2UgaW9yZW1hcF93YygpLCB3ZSB3aWxsIHVzZQogCSAqIFVDIE1JTlVTLgpAQCAtMjg1LDcgKzI5Miw3IEBACiAgKi8KIHZvaWQgX19pb21lbSAqaW9yZW1hcF93Yyh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKQogewotCWlmIChwYXRfd2NfZW5hYmxlZCkKKwlpZiAocGF0X2VuYWJsZWQpCiAJCXJldHVybiBfX2lvcmVtYXBfY2FsbGVyKHBoeXNfYWRkciwgc2l6ZSwgX1BBR0VfQ0FDSEVfV0MsCiAJCQkJCV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7CiAJZWxzZQpAQCAtMzAwLDYgKzMwNywyOSBAQAogfQogRVhQT1JUX1NZTUJPTChpb3JlbWFwX2NhY2hlKTsKIAorc3RhdGljIHZvaWQgX19pb21lbSAqaW9yZW1hcF9kZWZhdWx0KHJlc291cmNlX3NpemVfdCBwaHlzX2FkZHIsCisJCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXZvaWQgKnJldDsKKwlpbnQgZXJyOworCisJLyoKKwkgKiAtIFdCIGZvciBXQi1hYmxlIG1lbW9yeSBhbmQgbm8gb3RoZXIgY29uZmxpY3RpbmcgbWFwcGluZ3MKKwkgKiAtIFVDX01JTlVTIGZvciBub24tV0ItYWJsZSBtZW1vcnkgd2l0aCBubyBvdGhlciBjb25mbGljdGluZyBtYXBwaW5ncworCSAqIC0gSW5oZXJpdCBmcm9tIGNvbmZsaXRpbmcgbWFwcGluZ3Mgb3RoZXJ3aXNlCisJICovCisJZXJyID0gcmVzZXJ2ZV9tZW10eXBlKHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSwgLTEsICZmbGFncyk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gKHZvaWQgKikgX19pb3JlbWFwX2NhbGxlcihwaHlzX2FkZHIsIHNpemUsIGZsYWdzLAorCQkJCQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCkpOworCisJZnJlZV9tZW10eXBlKHBoeXNfYWRkciwgcGh5c19hZGRyICsgc2l6ZSk7CisJcmV0dXJuICh2b2lkIF9faW9tZW0gKilyZXQ7Cit9CisKIC8qKgogICogaW91bm1hcCAtIEZyZWUgYSBJTyByZW1hcHBpbmcKICAqIEBhZGRyOiB2aXJ0dWFsIGFkZHJlc3MgZnJvbSBpb3JlbWFwXyoKQEAgLTMxOCwxMyArMzQ4LDE1IEBACiAJICogdm1fYXJlYSBhbmQgYnkgc2ltcGx5IHJldHVybmluZyBhbiBhZGRyZXNzIGludG8gdGhlIGtlcm5lbCBtYXBwaW5nCiAJICogb2YgSVNBIHNwYWNlLiAgIFNvIGhhbmRsZSB0aGF0IGhlcmUuCiAJICovCi0JaWYgKGFkZHIgPj0gcGh5c190b192aXJ0KElTQV9TVEFSVF9BRERSRVNTKSAmJgotCSAgICBhZGRyIDwgcGh5c190b192aXJ0KElTQV9FTkRfQUREUkVTUykpCisJaWYgKCh2b2lkIF9fZm9yY2UgKilhZGRyID49IHBoeXNfdG9fdmlydChJU0FfU1RBUlRfQUREUkVTUykgJiYKKwkgICAgKHZvaWQgX19mb3JjZSAqKWFkZHIgPCBwaHlzX3RvX3ZpcnQoSVNBX0VORF9BRERSRVNTKSkKIAkJcmV0dXJuOwogCiAJYWRkciA9ICh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKikKIAkJKFBBR0VfTUFTSyAmICh1bnNpZ25lZCBsb25nIF9fZm9yY2UpYWRkcik7CiAKKwltbWlvdHJhY2VfaW91bm1hcChhZGRyKTsKKwogCS8qIFVzZSB0aGUgdm0gYXJlYSB1bmxvY2tlZCwgYXNzdW1pbmcgdGhlIGNhbGxlcgogCSAgIGVuc3VyZXMgdGhlcmUgaXNuJ3QgYW5vdGhlciBpb3VubWFwIGZvciB0aGUgc2FtZSBhZGRyZXNzCiAJICAgaW4gcGFyYWxsZWwuIFJldXNlIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3MgaXMgcHJldmVudGVkIGJ5CkBAIC0zMzIsNyArMzY0LDcgQEAKIAkgICBjcGEgdGFrZXMgY2FyZSBvZiB0aGUgZGlyZWN0IG1hcHBpbmdzLiAqLwogCXJlYWRfbG9jaygmdm1saXN0X2xvY2spOwogCWZvciAocCA9IHZtbGlzdDsgcDsgcCA9IHAtPm5leHQpIHsKLQkJaWYgKHAtPmFkZHIgPT0gYWRkcikKKwkJaWYgKHAtPmFkZHIgPT0gKHZvaWQgX19mb3JjZSAqKWFkZHIpCiAJCQlicmVhazsKIAl9CiAJcmVhZF91bmxvY2soJnZtbGlzdF9sb2NrKTsKQEAgLTM0Niw3ICszNzgsNyBAQAogCWZyZWVfbWVtdHlwZShwLT5waHlzX2FkZHIsIHAtPnBoeXNfYWRkciArIGdldF92bV9hcmVhX3NpemUocCkpOwogCiAJLyogRmluYWxseSByZW1vdmUgaXQgKi8KLQlvID0gcmVtb3ZlX3ZtX2FyZWEoKHZvaWQgKilhZGRyKTsKKwlvID0gcmVtb3ZlX3ZtX2FyZWEoKHZvaWQgX19mb3JjZSAqKWFkZHIpOwogCUJVR19PTihwICE9IG8gfHwgbyA9PSBOVUxMKTsKIAlrZnJlZShwKTsKIH0KQEAgLTM2NSw3ICszOTcsNyBAQAogCWlmIChwYWdlX2lzX3JhbShzdGFydCA+PiBQQUdFX1NISUZUKSkKIAkJcmV0dXJuIF9fdmEocGh5cyk7CiAKLQlhZGRyID0gKHZvaWQgKilpb3JlbWFwKHN0YXJ0LCBQQUdFX1NJWkUpOworCWFkZHIgPSAodm9pZCBfX2ZvcmNlICopaW9yZW1hcF9kZWZhdWx0KHN0YXJ0LCBQQUdFX1NJWkUpOwogCWlmIChhZGRyKQogCQlhZGRyID0gKHZvaWQgKikoKHVuc2lnbmVkIGxvbmcpYWRkciB8IChwaHlzICYgflBBR0VfTUFTSykpOwogCkBAIC0zODEsOCArNDEzLDYgQEAKIAlyZXR1cm47CiB9CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0KIGludCBfX2luaXRkYXRhIGVhcmx5X2lvcmVtYXBfZGVidWc7CiAKIHN0YXRpYyBpbnQgX19pbml0IGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXAoY2hhciAqc3RyKQpAQCAtMzk0LDggKzQyNCw3IEBACiBlYXJseV9wYXJhbSgiZWFybHlfaW9yZW1hcF9kZWJ1ZyIsIGVhcmx5X2lvcmVtYXBfZGVidWdfc2V0dXApOwogCiBzdGF0aWMgX19pbml0ZGF0YSBpbnQgYWZ0ZXJfcGFnaW5nX2luaXQ7Ci1zdGF0aWMgcHRlX3QgYm1fcHRlW1BBR0VfU0laRS9zaXplb2YocHRlX3QpXQotCQlfX3NlY3Rpb24oLmJzcy5wYWdlX2FsaWduZWQpOworc3RhdGljIHB0ZV90IGJtX3B0ZVtQQUdFX1NJWkUvc2l6ZW9mKHB0ZV90KV0gX19wYWdlX2FsaWduZWRfYnNzOwogCiBzdGF0aWMgaW5saW5lIHBtZF90ICogX19pbml0IGVhcmx5X2lvcmVtYXBfcG1kKHVuc2lnbmVkIGxvbmcgYWRkcikKIHsKQEAgLTQ4NCwxMCArNTEzLDExIEBACiAJCXJldHVybjsKIAl9CiAJcHRlID0gZWFybHlfaW9yZW1hcF9wdGUoYWRkcik7CisKIAlpZiAocGdwcm90X3ZhbChmbGFncykpCiAJCXNldF9wdGUocHRlLCBwZm5fcHRlKHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpKTsKIAllbHNlCi0JCXB0ZV9jbGVhcihOVUxMLCBhZGRyLCBwdGUpOworCQlwdGVfY2xlYXIoJmluaXRfbW0sIGFkZHIsIHB0ZSk7CiAJX19mbHVzaF90bGJfb25lKGFkZHIpOwogfQogCkBAIC02MjUsNSArNjU1LDMgQEAKIHsKIAlXQVJOX09OKDEpOwogfQotCi0jZW5kaWYgLyogQ09ORklHX1g4Nl8zMiAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jIGIvYXJjaC94ODYvbW0vazh0b3BvbG9neV82NC5jCmluZGV4IDFmNDc2ZTQuLjQxZjFiNWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2s4dG9wb2xvZ3lfNjQuYworKysgYi9hcmNoL3g4Ni9tbS9rOHRvcG9sb2d5XzY0LmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxhc20vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9rOC5oPgogCiBzdGF0aWMgX19pbml0IGludCBmaW5kX25vcnRoYnJpZGdlKHZvaWQpCiB7CkBAIC01NiwzNCArNTcsMzMgQEAKIAkvKgogCSAqIEZpbmQgcG9zc2libGUgYm9vdC10aW1lIFNNUCBjb25maWd1cmF0aW9uOgogCSAqLworI2lmZGVmIENPTkZJR19YODZfTVBQQVJTRQogCWVhcmx5X2ZpbmRfc21wX2NvbmZpZygpOworI2VuZGlmCiAjaWZkZWYgQ09ORklHX0FDUEkKIAkvKgogCSAqIFJlYWQgQVBJQyBpbmZvcm1hdGlvbiBmcm9tIEFDUEkgdGFibGVzLgogCSAqLwogCWVhcmx5X2FjcGlfYm9vdF9pbml0KCk7CiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfWDg2X01QUEFSU0UKIAkvKgogCSAqIGdldCBib290LXRpbWUgU01QIGNvbmZpZ3VyYXRpb246CiAJICovCiAJaWYgKHNtcF9mb3VuZF9jb25maWcpCiAJCWVhcmx5X2dldF9zbXBfY29uZmlnKCk7CisjZW5kaWYKIAllYXJseV9pbml0X2xhcGljX21hcHBpbmcoKTsKIH0KIAogaW50IF9faW5pdCBrOF9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKQogeworCXVuc2lnbmVkIG51bW5vZGVzLCBjb3JlcywgYml0cywgYXBpY2lkX2Jhc2U7CiAJdW5zaWduZWQgbG9uZyBwcmV2YmFzZTsKIAlzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbOF07Ci0JaW50IG5vZGVpZCwgaSwgbmI7CiAJdW5zaWduZWQgY2hhciBub2RlaWRzWzhdOwotCWludCBmb3VuZCA9IDA7Ci0JdTMyIHJlZzsKLQl1bnNpZ25lZCBudW1ub2RlczsKLQl1bnNpZ25lZCBjb3JlczsKLQl1bnNpZ25lZCBiaXRzOwotCWludCBqOwotCXVuc2lnbmVkIGFwaWNpZF9iYXNlOworCWludCBpLCBqLCBuYiwgZm91bmQgPSAwOworCXUzMiBub2RlaWQsIHJlZzsKIAogCWlmICghZWFybHlfcGNpX2FsbG93ZWQoKSkKIAkJcmV0dXJuIC0xOwpAQCAtMTA1LDcgKzEwNSw2IEBACiAJcHJldmJhc2UgPSAwOwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKIAkJdW5zaWduZWQgbG9uZyBiYXNlLCBsaW1pdDsKLQkJdTMyIG5vZGVpZDsKIAogCQliYXNlID0gcmVhZF9wY2lfY29uZmlnKDAsIG5iLCAxLCAweDQwICsgaSo4KTsKIAkJbGltaXQgPSByZWFkX3BjaV9jb25maWcoMCwgbmIsIDEsIDB4NDQgKyBpKjgpOwpAQCAtMTQ0LDggKzE0Myw4IEBACiAJCWxpbWl0IHw9ICgxPDwyNCktMTsKIAkJbGltaXQrKzsKIAotCQlpZiAobGltaXQgPiBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpCi0JCQlsaW1pdCA9IGVuZF9wZm4gPDwgUEFHRV9TSElGVDsKKwkJaWYgKGxpbWl0ID4gbWF4X3BmbiA8PCBQQUdFX1NISUZUKQorCQkJbGltaXQgPSBtYXhfcGZuIDw8IFBBR0VfU0hJRlQ7CiAJCWlmIChsaW1pdCA8PSBiYXNlKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL2ttbWlvLmMgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZDgyMDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni9tbS9rbW1pby5jCkBAIC0wLDAgKzEsNTEwIEBACisvKiBTdXBwb3J0IGZvciBNTUlPIHByb2Jlcy4KKyAqIEJlbmZpdCBtYW55IGNvZGUgZnJvbSBrcHJvYmVzCisgKiAoQykgMjAwMiBMb3VpcyBaaHVhbmcgPGxvdWlzLnpodWFuZ0BpbnRlbC5jb20+LgorICogICAgIDIwMDcgQWxleGFuZGVyIEVpY2huZXIKKyAqICAgICAyMDA4IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CisjaW5jbHVkZSA8bGludXgva2RlYnVnLmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGFzbS9jYWNoZWZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKworI2RlZmluZSBLTU1JT19QQUdFX0hBU0hfQklUUyA0CisjZGVmaW5lIEtNTUlPX1BBR0VfVEFCTEVfU0laRSAoMSA8PCBLTU1JT19QQUdFX0hBU0hfQklUUykKKworc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcmVsZWFzZV9uZXh0OworCXVuc2lnbmVkIGxvbmcgcGFnZTsgLyogbG9jYXRpb24gb2YgdGhlIGZhdWx0IHBhZ2UgKi8KKworCS8qCisJICogTnVtYmVyIG9mIHRpbWVzIHRoaXMgcGFnZSBoYXMgYmVlbiByZWdpc3RlcmVkIGFzIGEgcGFydAorCSAqIG9mIGEgcHJvYmUuIElmIHplcm8sIHBhZ2UgaXMgZGlzYXJtZWQgYW5kIHRoaXMgbWF5IGJlIGZyZWVkLgorCSAqIFVzZWQgb25seSBieSB3cml0ZXJzIChSQ1UpLgorCSAqLworCWludCBjb3VudDsKK307CisKK3N0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgeworCXN0cnVjdCByY3VfaGVhZCByY3U7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnJlbGVhc2VfbGlzdDsKK307CisKK3N0cnVjdCBrbW1pb19jb250ZXh0IHsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZnBhZ2U7CisJc3RydWN0IGttbWlvX3Byb2JlICpwcm9iZTsKKwl1bnNpZ25lZCBsb25nIHNhdmVkX2ZsYWdzOworCXVuc2lnbmVkIGxvbmcgYWRkcjsKKwlpbnQgYWN0aXZlOworfTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhrbW1pb19sb2NrKTsKKworLyogUHJvdGVjdGVkIGJ5IGttbWlvX2xvY2sgKi8KK3Vuc2lnbmVkIGludCBrbW1pb19jb3VudDsKKworLyogUmVhZC1wcm90ZWN0ZWQgYnkgUkNVLCB3cml0ZS1wcm90ZWN0ZWQgYnkga21taW9fbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIGttbWlvX3BhZ2VfdGFibGVbS01NSU9fUEFHRV9UQUJMRV9TSVpFXTsKK3N0YXRpYyBMSVNUX0hFQUQoa21taW9fcHJvYmVzKTsKKworc3RhdGljIHN0cnVjdCBsaXN0X2hlYWQgKmttbWlvX3BhZ2VfbGlzdCh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJcmV0dXJuICZrbW1pb19wYWdlX3RhYmxlW2hhc2hfbG9uZyhwYWdlLCBLTU1JT19QQUdFX0hBU0hfQklUUyldOworfQorCisvKiBBY2Nlc3NlZCBwZXItY3B1ICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGttbWlvX2NvbnRleHQsIGttbWlvX2N0eCk7CisKKy8qCisgKiB0aGlzIGlzIGJhc2ljYWxseSBhIGR5bmFtaWMgc3RhYmJpbmcgcHJvYmxlbToKKyAqIENvdWxkIHVzZSB0aGUgZXhpc3RpbmcgcHJpbyB0cmVlIGNvZGUgb3IKKyAqIFBvc3NpYmxlIGJldHRlciBpbXBsZW1lbnRhdGlvbnM6CisgKiBUaGUgSW50ZXJ2YWwgU2tpcCBMaXN0OiBBIERhdGEgU3RydWN0dXJlIGZvciBGaW5kaW5nIEFsbCBJbnRlcnZhbHMgVGhhdAorICogT3ZlcmxhcCBhIFBvaW50IChtaWdodCBiZSBzaW1wbGUpCisgKiBTcGFjZSBFZmZpY2llbnQgRHluYW1pYyBTdGFiYmluZyB3aXRoIEZhc3QgUXVlcmllcyAtIE1pa2tlbCBUaG9ydXAKKyAqLworLyogR2V0IHRoZSBrbW1pbyBhdCB0aGlzIGFkZHIgKGlmIGFueSkuIFlvdSBtdXN0IGJlIGhvbGRpbmcgUkNVIHJlYWQgbG9jay4gKi8KK3N0YXRpYyBzdHJ1Y3Qga21taW9fcHJvYmUgKmdldF9rbW1pb19wcm9iZSh1bnNpZ25lZCBsb25nIGFkZHIpCit7CisJc3RydWN0IGttbWlvX3Byb2JlICpwOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHAsICZrbW1pb19wcm9iZXMsIGxpc3QpIHsKKwkJaWYgKGFkZHIgPj0gcC0+YWRkciAmJiBhZGRyIDw9IChwLT5hZGRyICsgcC0+bGVuKSkKKwkJCXJldHVybiBwOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBSQ1UgcmVhZCBsb2NrLiAqLworc3RhdGljIHN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpnZXRfa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcDsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWhlYWQgPSBrbW1pb19wYWdlX2xpc3QocGFnZSk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocCwgaGVhZCwgbGlzdCkgeworCQlpZiAocC0+cGFnZSA9PSBwYWdlKQorCQkJcmV0dXJuIHA7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzZXRfcGFnZV9wcmVzZW50KHVuc2lnbmVkIGxvbmcgYWRkciwgYm9vbCBwcmVzZW50LAorCQkJCQkJCXVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlwdGV2YWxfdCBwdGV2YWw7CisJcG1kdmFsX3QgcG1kdmFsOworCXVuc2lnbmVkIGludCBsZXZlbDsKKwlwbWRfdCAqcG1kOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKCJrbW1pbzogbm8gcHRlIGZvciBwYWdlIDB4JTA4bHhcbiIsIGFkZHIpOworCQlyZXR1cm47CisJfQorCisJaWYgKHBnbGV2ZWwpCisJCSpwZ2xldmVsID0gbGV2ZWw7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBQR19MRVZFTF8yTToKKwkJcG1kID0gKHBtZF90ICopcHRlOworCQlwbWR2YWwgPSBwbWRfdmFsKCpwbWQpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcG1kdmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wbWQocG1kLCBfX3BtZChwbWR2YWwpKTsKKwkJYnJlYWs7CisKKwljYXNlIFBHX0xFVkVMXzRLOgorCQlwdGV2YWwgPSBwdGVfdmFsKCpwdGUpICYgfl9QQUdFX1BSRVNFTlQ7CisJCWlmIChwcmVzZW50KQorCQkJcHRldmFsIHw9IF9QQUdFX1BSRVNFTlQ7CisJCXNldF9wdGVfYXRvbWljKHB0ZSwgX19wdGUocHRldmFsKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJfZXJyKCJrbW1pbzogdW5leHBlY3RlZCBwYWdlIGxldmVsIDB4JXguXG4iLCBsZXZlbCk7CisJCXJldHVybjsKKwl9CisKKwlfX2ZsdXNoX3RsYl9vbmUoYWRkcik7Cit9CisKKy8qKiBNYXJrIHRoZSBnaXZlbiBwYWdlIGFzIG5vdCBwcmVzZW50LiBBY2Nlc3MgdG8gaXQgd2lsbCB0cmlnZ2VyIGEgZmF1bHQuICovCitzdGF0aWMgdm9pZCBhcm1fa21taW9fZmF1bHRfcGFnZSh1bnNpZ25lZCBsb25nIHBhZ2UsIHVuc2lnbmVkIGludCAqcGdsZXZlbCkKK3sKKwlzZXRfcGFnZV9wcmVzZW50KHBhZ2UgJiBQQUdFX01BU0ssIGZhbHNlLCBwZ2xldmVsKTsKK30KKworLyoqIE1hcmsgdGhlIGdpdmVuIHBhZ2UgYXMgcHJlc2VudC4gKi8KK3N0YXRpYyB2b2lkIGRpc2FybV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwgdW5zaWduZWQgaW50ICpwZ2xldmVsKQoreworCXNldF9wYWdlX3ByZXNlbnQocGFnZSAmIFBBR0VfTUFTSywgdHJ1ZSwgcGdsZXZlbCk7Cit9CisKKy8qCisgKiBUaGlzIGlzIGJlaW5nIGNhbGxlZCBmcm9tIGRvX3BhZ2VfZmF1bHQoKS4KKyAqCisgKiBXZSBtYXkgYmUgaW4gYW4gaW50ZXJydXB0IG9yIGEgY3JpdGljYWwgc2VjdGlvbi4gQWxzbyBwcmVmZWN0aGluZyBtYXkKKyAqIHRyaWdnZXIgYSBwYWdlIGZhdWx0LiBXZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBwcm9jZXNzIHN3aXRjaC4KKyAqIFdlIGNhbm5vdCB0YWtlIGFueSBsb2NrcywgYmVjYXVzZSB3ZSBjb3VsZCBiZSBleGVjdXRpbmcgZXNwZWNpYWxseQorICogd2l0aGluIGEga21taW8gY3JpdGljYWwgc2VjdGlvbi4KKyAqCisgKiBMb2NhbCBpbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCwgc28gcHJlZW1wdGlvbiBjYW5ub3QgaGFwcGVuLgorICogRG8gbm90IGVuYWJsZSBpbnRlcnJ1cHRzLCBkbyBub3Qgc2xlZXAsIGFuZCB3YXRjaCBvdXQgZm9yIG90aGVyIENQVXMuCisgKi8KKy8qCisgKiBJbnRlcnJ1cHRzIGFyZSBkaXNhYmxlZCBvbiBlbnRyeSBhcyB0cmFwMyBpcyBhbiBpbnRlcnJ1cHQgZ2F0ZQorICogYW5kIHRoZXkgcmVtYWluIGRpc2FibGVkIHRob3JvdWdoIG91dCB0aGlzIGZ1bmN0aW9uLgorICovCitpbnQga21taW9faGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCBrbW1pb19jb250ZXh0ICpjdHg7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKmZhdWx0cGFnZTsKKwlpbnQgcmV0ID0gMDsgLyogZGVmYXVsdCB0byBmYXVsdCBub3QgaGFuZGxlZCAqLworCisJLyoKKwkgKiBQcmVlbXB0aW9uIGlzIG5vdyBkaXNhYmxlZCB0byBwcmV2ZW50IHByb2Nlc3Mgc3dpdGNoIGR1cmluZworCSAqIHNpbmdsZSBzdGVwcGluZy4gV2UgY2FuIG9ubHkgaGFuZGxlIG9uZSBhY3RpdmUga21taW8gdHJhY2UKKwkgKiBwZXIgY3B1LCBzbyBlbnN1cmUgdGhhdCB3ZSBmaW5pc2ggaXQgYmVmb3JlIHNvbWV0aGluZyBlbHNlCisJICogZ2V0cyB0byBydW4uIFdlIGFsc28gaG9sZCB0aGUgUkNVIHJlYWQgbG9jayBvdmVyIHNpbmdsZQorCSAqIHN0ZXBwaW5nIHRvIGF2b2lkIGxvb2tpbmcgdXAgdGhlIHByb2JlIGFuZCBrbW1pb19mYXVsdF9wYWdlCisJICogYWdhaW4uCisJICovCisJcHJlZW1wdF9kaXNhYmxlKCk7CisJcmN1X3JlYWRfbG9jaygpOworCisJZmF1bHRwYWdlID0gZ2V0X2ttbWlvX2ZhdWx0X3BhZ2UoYWRkcik7CisJaWYgKCFmYXVsdHBhZ2UpIHsKKwkJLyoKKwkJICogRWl0aGVyIHRoaXMgcGFnZSBmYXVsdCBpcyBub3QgY2F1c2VkIGJ5IGttbWlvLCBvcgorCQkgKiBhbm90aGVyIENQVSBqdXN0IHB1bGxlZCB0aGUga21taW8gcHJvYmUgZnJvbSB1bmRlcgorCQkgKiBvdXIgZmVldC4gVGhlIGxhdHRlciBjYXNlIHNob3VsZCBub3QgYmUgcG9zc2libGUuCisJCSAqLworCQlnb3RvIG5vX2ttbWlvOworCX0KKworCWN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCWlmIChjdHgtPmFjdGl2ZSkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmYXVsdHBhZ2UtPnBhZ2UsIE5VTEwpOworCQlpZiAoYWRkciA9PSBjdHgtPmFkZHIpIHsKKwkJCS8qCisJCQkgKiBPbiBTTVAgd2Ugc29tZXRpbWVzIGdldCByZWN1cnNpdmUgcHJvYmUgaGl0cyBvbiB0aGUKKwkJCSAqIHNhbWUgYWRkcmVzcy4gQ29udGV4dCBpcyBhbHJlYWR5IHNhdmVkLCBmYWxsIG91dC4KKwkJCSAqLworCQkJcHJfZGVidWcoImttbWlvOiBkdXBsaWNhdGUgcHJvYmUgaGl0IG9uIENQVSAlZCwgZm9yICIKKwkJCQkJCSJhZGRyZXNzIDB4JTA4bHguXG4iLAorCQkJCQkJc21wX3Byb2Nlc3Nvcl9pZCgpLCBhZGRyKTsKKwkJCXJldCA9IDE7CisJCQlnb3RvIG5vX2ttbWlvX2N0eDsKKwkJfQorCQkvKgorCQkgKiBQcmV2ZW50IG92ZXJ3cml0aW5nIGFscmVhZHkgaW4tZmxpZ2h0IGNvbnRleHQuCisJCSAqIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGxldCdzIGhvcGUgZGlzYXJtaW5nIGF0IGxlYXN0CisJCSAqIHByZXZlbnRzIGEgcGFuaWMuCisJCSAqLworCQlwcl9lbWVyZygia21taW86IHJlY3Vyc2l2ZSBwcm9iZSBoaXQgb24gQ1BVICVkLCAiCisJCQkJCSJmb3IgYWRkcmVzcyAweCUwOGx4LiBJZ25vcmluZy5cbiIsCisJCQkJCXNtcF9wcm9jZXNzb3JfaWQoKSwgYWRkcik7CisJCXByX2VtZXJnKCJrbW1pbzogcHJldmlvdXMgaGl0IHdhcyBhdCAweCUwOGx4LlxuIiwKKwkJCQkJY3R4LT5hZGRyKTsKKwkJZ290byBub19rbW1pb19jdHg7CisJfQorCWN0eC0+YWN0aXZlKys7CisKKwljdHgtPmZwYWdlID0gZmF1bHRwYWdlOworCWN0eC0+cHJvYmUgPSBnZXRfa21taW9fcHJvYmUoYWRkcik7CisJY3R4LT5zYXZlZF9mbGFncyA9IChyZWdzLT5mbGFncyAmIChYODZfRUZMQUdTX1RGIHwgWDg2X0VGTEFHU19JRikpOworCWN0eC0+YWRkciA9IGFkZHI7CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wcmVfaGFuZGxlcikKKwkJY3R4LT5wcm9iZS0+cHJlX2hhbmRsZXIoY3R4LT5wcm9iZSwgcmVncywgYWRkcik7CisKKwkvKgorCSAqIEVuYWJsZSBzaW5nbGUtc3RlcHBpbmcgYW5kIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgdGhlIGZhdWx0aW5nCisJICogY29udGV4dC4gTG9jYWwgaW50ZXJydXB0cyBtdXN0IG5vdCBnZXQgZW5hYmxlZCBkdXJpbmcgc3RlcHBpbmcuCisJICovCisJcmVncy0+ZmxhZ3MgfD0gWDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19JRjsKKworCS8qIE5vdyB3ZSBzZXQgcHJlc2VudCBiaXQgaW4gUFRFIGFuZCBzaW5nbGUgc3RlcC4gKi8KKwlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShjdHgtPmZwYWdlLT5wYWdlLCBOVUxMKTsKKworCS8qCisJICogSWYgYW5vdGhlciBjcHUgYWNjZXNzZXMgdGhlIHNhbWUgcGFnZSB3aGlsZSB3ZSBhcmUgc3RlcHBpbmcsCisJICogdGhlIGFjY2VzcyB3aWxsIG5vdCBiZSBjYXVnaHQuIEl0IHdpbGwgc2ltcGx5IHN1Y2NlZWQgYW5kIHRoZQorCSAqIG9ubHkgZG93bnNpZGUgaXMgd2UgbG9zZSB0aGUgZXZlbnQuIElmIHRoaXMgYmVjb21lcyBhIHByb2JsZW0sCisJICogdGhlIHVzZXIgc2hvdWxkIGRyb3AgdG8gc2luZ2xlIGNwdSBiZWZvcmUgdHJhY2luZy4KKwkgKi8KKworCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7CisJcmV0dXJuIDE7IC8qIGZhdWx0IGhhbmRsZWQgKi8KKworbm9fa21taW9fY3R4OgorCXB1dF9jcHVfdmFyKGttbWlvX2N0eCk7Citub19rbW1pbzoKKwlyY3VfcmVhZF91bmxvY2soKTsKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIEludGVycnVwdHMgYXJlIGRpc2FibGVkIG9uIGVudHJ5IGFzIHRyYXAxIGlzIGFuIGludGVycnVwdCBnYXRlCisgKiBhbmQgdGhleSByZW1haW4gZGlzYWJsZWQgdGhvcm91Z2ggb3V0IHRoaXMgZnVuY3Rpb24uCisgKiBUaGlzIG11c3QgYWx3YXlzIGdldCBjYWxsZWQgYXMgdGhlIHBhaXIgdG8ga21taW9faGFuZGxlcigpLgorICovCitzdGF0aWMgaW50IHBvc3Rfa21taW9faGFuZGxlcih1bnNpZ25lZCBsb25nIGNvbmRpdGlvbiwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJaW50IHJldCA9IDA7CisJc3RydWN0IGttbWlvX2NvbnRleHQgKmN0eCA9ICZnZXRfY3B1X3ZhcihrbW1pb19jdHgpOworCisJaWYgKCFjdHgtPmFjdGl2ZSkgeworCQlwcl9kZWJ1Zygia21taW86IHNwdXJpb3VzIGRlYnVnIHRyYXAgb24gQ1BVICVkLlxuIiwKKwkJCQkJCQlzbXBfcHJvY2Vzc29yX2lkKCkpOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoY3R4LT5wcm9iZSAmJiBjdHgtPnByb2JlLT5wb3N0X2hhbmRsZXIpCisJCWN0eC0+cHJvYmUtPnBvc3RfaGFuZGxlcihjdHgtPnByb2JlLCBjb25kaXRpb24sIHJlZ3MpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoY3R4LT5mcGFnZS0+cGFnZSwgTlVMTCk7CisKKwlyZWdzLT5mbGFncyAmPSB+WDg2X0VGTEFHU19URjsKKwlyZWdzLT5mbGFncyB8PSBjdHgtPnNhdmVkX2ZsYWdzOworCisJLyogVGhlc2Ugd2VyZSBhY3F1aXJlZCBpbiBrbW1pb19oYW5kbGVyKCkuICovCisJY3R4LT5hY3RpdmUtLTsKKwlCVUdfT04oY3R4LT5hY3RpdmUpOworCXJjdV9yZWFkX3VubG9jaygpOworCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKKworCS8qCisJICogaWYgc29tZWJvZHkgZWxzZSBpcyBzaW5nbGVzdGVwcGluZyBhY3Jvc3MgYSBwcm9iZSBwb2ludCwgZmxhZ3MKKwkgKiB3aWxsIGhhdmUgVEYgc2V0LCBpbiB3aGljaCBjYXNlLCBjb250aW51ZSB0aGUgcmVtYWluaW5nIHByb2Nlc3NpbmcKKwkgKiBvZiBkb19kZWJ1ZywgYXMgaWYgdGhpcyBpcyBub3QgYSBwcm9iZSBoaXQuCisJICovCisJaWYgKCEocmVncy0+ZmxhZ3MgJiBYODZfRUZMQUdTX1RGKSkKKwkJcmV0ID0gMTsKK291dDoKKwlwdXRfY3B1X3ZhcihrbW1pb19jdHgpOworCXJldHVybiByZXQ7Cit9CisKKy8qIFlvdSBtdXN0IGJlIGhvbGRpbmcga21taW9fbG9jay4gKi8KK3N0YXRpYyBpbnQgYWRkX2ttbWlvX2ZhdWx0X3BhZ2UodW5zaWduZWQgbG9uZyBwYWdlKQoreworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpmOworCisJcGFnZSAmPSBQQUdFX01BU0s7CisJZiA9IGdldF9rbW1pb19mYXVsdF9wYWdlKHBhZ2UpOworCWlmIChmKSB7CisJCWlmICghZi0+Y291bnQpCisJCQlhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+Y291bnQrKzsKKwkJcmV0dXJuIDA7CisJfQorCisJZiA9IGttYWxsb2Moc2l6ZW9mKCpmKSwgR0ZQX0FUT01JQyk7CisJaWYgKCFmKQorCQlyZXR1cm4gLTE7CisKKwlmLT5jb3VudCA9IDE7CisJZi0+cGFnZSA9IHBhZ2U7CisJbGlzdF9hZGRfcmN1KCZmLT5saXN0LCBrbW1pb19wYWdlX2xpc3QoZi0+cGFnZSkpOworCisJYXJtX2ttbWlvX2ZhdWx0X3BhZ2UoZi0+cGFnZSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKworLyogWW91IG11c3QgYmUgaG9sZGluZyBrbW1pb19sb2NrLiAqLworc3RhdGljIHZvaWQgcmVsZWFzZV9rbW1pb19mYXVsdF9wYWdlKHVuc2lnbmVkIGxvbmcgcGFnZSwKKwkJCQlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqKnJlbGVhc2VfbGlzdCkKK3sKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqZjsKKworCXBhZ2UgJj0gUEFHRV9NQVNLOworCWYgPSBnZXRfa21taW9fZmF1bHRfcGFnZShwYWdlKTsKKwlpZiAoIWYpCisJCXJldHVybjsKKworCWYtPmNvdW50LS07CisJQlVHX09OKGYtPmNvdW50IDwgMCk7CisJaWYgKCFmLT5jb3VudCkgeworCQlkaXNhcm1fa21taW9fZmF1bHRfcGFnZShmLT5wYWdlLCBOVUxMKTsKKwkJZi0+cmVsZWFzZV9uZXh0ID0gKnJlbGVhc2VfbGlzdDsKKwkJKnJlbGVhc2VfbGlzdCA9IGY7CisJfQorfQorCisvKgorICogV2l0aCBwYWdlLXVuYWxpZ25lZCBpb3JlbWFwcywgb25lIG9yIHR3byBhcm1lZCBwYWdlcyBtYXkgY29udGFpbgorICogYWRkcmVzc2VzIGZyb20gb3V0c2lkZSB0aGUgaW50ZW5kZWQgbWFwcGluZy4gRXZlbnRzIGZvciB0aGVzZSBhZGRyZXNzZXMKKyAqIGFyZSBjdXJyZW50bHkgc2lsZW50bHkgZHJvcHBlZC4gVGhlIGV2ZW50cyBtYXkgcmVzdWx0IG9ubHkgZnJvbSBwcm9ncmFtbWluZworICogbWlzdGFrZXMgYnkgYWNjZXNzaW5nIGFkZHJlc3NlcyBiZWZvcmUgdGhlIGJlZ2lubmluZyBvciBwYXN0IHRoZSBlbmQgb2YgYQorICogbWFwcGluZy4KKyAqLworaW50IHJlZ2lzdGVyX2ttbWlvX3Byb2JlKHN0cnVjdCBrbW1pb19wcm9iZSAqcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByZXQgPSAwOworCXVuc2lnbmVkIGxvbmcgc2l6ZSA9IDA7CisJY29uc3QgdW5zaWduZWQgbG9uZyBzaXplX2xpbSA9IHAtPmxlbiArIChwLT5hZGRyICYgflBBR0VfTUFTSyk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgma21taW9fbG9jaywgZmxhZ3MpOworCWlmIChnZXRfa21taW9fcHJvYmUocC0+YWRkcikpIHsKKwkJcmV0ID0gLUVFWElTVDsKKwkJZ290byBvdXQ7CisJfQorCWttbWlvX2NvdW50Kys7CisJbGlzdF9hZGRfcmN1KCZwLT5saXN0LCAma21taW9fcHJvYmVzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCWlmIChhZGRfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSkpCisJCQlwcl9lcnIoImttbWlvOiBVbmFibGUgdG8gc2V0IHBhZ2UgZmF1bHQuXG4iKTsKKwkJc2l6ZSArPSBQQUdFX1NJWkU7CisJfQorb3V0OgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKgorCSAqIFhYWDogV2hhdCBzaG91bGQgSSBkbyBoZXJlPworCSAqIEhlcmUgd2FzIGEgY2FsbCB0byBnbG9iYWxfZmx1c2hfdGxiKCksIGJ1dCBpdCBkb2VzIG5vdCBleGlzdAorCSAqIGFueW1vcmUuIEl0IHNlZW1zIGl0J3Mgbm90IG5lZWRlZCBhZnRlciBhbGwuCisJICovCisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0wocmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgdm9pZCByY3VfZnJlZV9rbW1pb19mYXVsdF9wYWdlcyhzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSAqZHIgPSBjb250YWluZXJfb2YoCisJCQkJCQloZWFkLAorCQkJCQkJc3RydWN0IGttbWlvX2RlbGF5ZWRfcmVsZWFzZSwKKwkJCQkJCXJjdSk7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKnAgPSBkci0+cmVsZWFzZV9saXN0OworCXdoaWxlIChwKSB7CisJCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpuZXh0ID0gcC0+cmVsZWFzZV9uZXh0OworCQlCVUdfT04ocC0+Y291bnQpOworCQlrZnJlZShwKTsKKwkJcCA9IG5leHQ7CisJfQorCWtmcmVlKGRyKTsKK30KKworc3RhdGljIHZvaWQgcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKK3sKKwlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlICpkciA9IGNvbnRhaW5lcl9vZigKKwkJCQkJCWhlYWQsCisJCQkJCQlzdHJ1Y3Qga21taW9fZGVsYXllZF9yZWxlYXNlLAorCQkJCQkJcmN1KTsKKwlzdHJ1Y3Qga21taW9fZmF1bHRfcGFnZSAqcCA9IGRyLT5yZWxlYXNlX2xpc3Q7CisJc3RydWN0IGttbWlvX2ZhdWx0X3BhZ2UgKipwcmV2cCA9ICZkci0+cmVsZWFzZV9saXN0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAocCkgeworCQlpZiAoIXAtPmNvdW50KQorCQkJbGlzdF9kZWxfcmN1KCZwLT5saXN0KTsKKwkJZWxzZQorCQkJKnByZXZwID0gcC0+cmVsZWFzZV9uZXh0OworCQlwcmV2cCA9ICZwLT5yZWxlYXNlX25leHQ7CisJCXAgPSBwLT5yZWxlYXNlX25leHQ7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwkvKiBUaGlzIGlzIHRoZSByZWFsIFJDVSBkZXN0cm95IGNhbGwuICovCisJY2FsbF9yY3UoJmRyLT5yY3UsIHJjdV9mcmVlX2ttbWlvX2ZhdWx0X3BhZ2VzKTsKK30KKworLyoKKyAqIFJlbW92ZSBhIGttbWlvIHByb2JlLiBZb3UgaGF2ZSB0byBzeW5jaHJvbml6ZV9yY3UoKSBiZWZvcmUgeW91IGNhbiBiZQorICogc3VyZSB0aGF0IHRoZSBjYWxsYmFja3Mgd2lsbCBub3QgYmUgY2FsbGVkIGFueW1vcmUuIE9ubHkgYWZ0ZXIgdGhhdAorICogeW91IG1heSBhY3R1YWxseSByZWxlYXNlIHlvdXIgc3RydWN0IGttbWlvX3Byb2JlLgorICoKKyAqIFVucmVnaXN0ZXJpbmcgYSBrbW1pbyBmYXVsdCBwYWdlIGhhcyB0aHJlZSBzdGVwczoKKyAqIDEuIHJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZSgpCisgKiAgICBEaXNhcm0gdGhlIHBhZ2UsIHdhaXQgYSBncmFjZSBwZXJpb2QgdG8gbGV0IGFsbCBmYXVsdHMgZmluaXNoLgorICogMi4gcmVtb3ZlX2ttbWlvX2ZhdWx0X3BhZ2VzKCkKKyAqICAgIFJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLgorICogMy4gcmN1X2ZyZWVfa21taW9fZmF1bHRfcGFnZXMoKQorICogICAgQWN0YWxseSBmcmVlIHRoZSBrbW1pb19mYXVsdF9wYWdlIHN0cnVjdHMgYXMgd2l0aCBSQ1UuCisgKi8KK3ZvaWQgdW5yZWdpc3Rlcl9rbW1pb19wcm9iZShzdHJ1Y3Qga21taW9fcHJvYmUgKnApCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHNpemUgPSAwOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgc2l6ZV9saW0gPSBwLT5sZW4gKyAocC0+YWRkciAmIH5QQUdFX01BU0spOworCXN0cnVjdCBrbW1pb19mYXVsdF9wYWdlICpyZWxlYXNlX2xpc3QgPSBOVUxMOworCXN0cnVjdCBrbW1pb19kZWxheWVkX3JlbGVhc2UgKmRyZWxlYXNlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmttbWlvX2xvY2ssIGZsYWdzKTsKKwl3aGlsZSAoc2l6ZSA8IHNpemVfbGltKSB7CisJCXJlbGVhc2Vfa21taW9fZmF1bHRfcGFnZShwLT5hZGRyICsgc2l6ZSwgJnJlbGVhc2VfbGlzdCk7CisJCXNpemUgKz0gUEFHRV9TSVpFOworCX0KKwlsaXN0X2RlbF9yY3UoJnAtPmxpc3QpOworCWttbWlvX2NvdW50LS07CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgma21taW9fbG9jaywgZmxhZ3MpOworCisJZHJlbGVhc2UgPSBrbWFsbG9jKHNpemVvZigqZHJlbGVhc2UpLCBHRlBfQVRPTUlDKTsKKwlpZiAoIWRyZWxlYXNlKSB7CisJCXByX2NyaXQoImttbWlvOiBsZWFraW5nIGttbWlvX2ZhdWx0X3BhZ2Ugb2JqZWN0cy5cbiIpOworCQlyZXR1cm47CisJfQorCWRyZWxlYXNlLT5yZWxlYXNlX2xpc3QgPSByZWxlYXNlX2xpc3Q7CisKKwkvKgorCSAqIFRoaXMgaXMgbm90IHJlYWxseSBSQ1UgaGVyZS4gV2UgaGF2ZSBqdXN0IGRpc2FybWVkIGEgc2V0IG9mCisJICogcGFnZXMgc28gdGhhdCB0aGV5IGNhbm5vdCB0cmlnZ2VyIHBhZ2UgZmF1bHRzIGFueW1vcmUuIEhvd2V2ZXIsCisJICogd2UgY2Fubm90IHJlbW92ZSB0aGUgcGFnZXMgZnJvbSBrbW1pb19wYWdlX3RhYmxlLAorCSAqIGJlY2F1c2UgYSBwcm9iZSBoaXQgbWlnaHQgYmUgaW4gZmxpZ2h0IG9uIGFub3RoZXIgQ1BVLiBUaGUKKwkgKiBwYWdlcyBhcmUgY29sbGVjdGVkIGludG8gYSBsaXN0LCBhbmQgdGhleSB3aWxsIGJlIHJlbW92ZWQgZnJvbQorCSAqIGttbWlvX3BhZ2VfdGFibGUgd2hlbiBpdCBpcyBjZXJ0YWluIHRoYXQgbm8gcHJvYmUgaGl0IHJlbGF0ZWQgdG8KKwkgKiB0aGVzZSBwYWdlcyBjYW4gYmUgaW4gZmxpZ2h0LiBSQ1UgZ3JhY2UgcGVyaW9kIHNvdW5kcyBsaWtlIGEKKwkgKiBnb29kIGNob2ljZS4KKwkgKgorCSAqIElmIHdlIHJlbW92ZWQgdGhlIHBhZ2VzIHRvbyBlYXJseSwga21taW8gcGFnZSBmYXVsdCBoYW5kbGVyIG1pZ2h0CisJICogbm90IGZpbmQgdGhlIHJlc3BlY3RpdmUga21taW9fZmF1bHRfcGFnZSBhbmQgZGV0ZXJtaW5lIGl0J3Mgbm90CisJICogYSBrbW1pbyBmYXVsdCwgd2hlbiBpdCBhY3R1YWxseSBpcy4gVGhpcyB3b3VsZCBsZWFkIHRvIG1hZG5lc3MuCisJICovCisJY2FsbF9yY3UoJmRyZWxlYXNlLT5yY3UsIHJlbW92ZV9rbW1pb19mYXVsdF9wYWdlcyk7Cit9CitFWFBPUlRfU1lNQk9MKHVucmVnaXN0ZXJfa21taW9fcHJvYmUpOworCitzdGF0aWMgaW50IGttbWlvX2RpZV9ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1bnNpZ25lZCBsb25nIHZhbCwKKwkJCQkJCQkJdm9pZCAqYXJncykKK3sKKwlzdHJ1Y3QgZGllX2FyZ3MgKmFyZyA9IGFyZ3M7CisKKwlpZiAodmFsID09IERJRV9ERUJVRyAmJiAoYXJnLT5lcnIgJiBEUl9TVEVQKSkKKwkJaWYgKHBvc3Rfa21taW9faGFuZGxlcihhcmctPmVyciwgYXJnLT5yZWdzKSA9PSAxKQorCQkJcmV0dXJuIE5PVElGWV9TVE9QOworCisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG5iX2RpZSA9IHsKKwkubm90aWZpZXJfY2FsbCA9IGttbWlvX2RpZV9ub3RpZmllcgorfTsKKworc3RhdGljIGludCBfX2luaXQgaW5pdF9rbW1pbyh2b2lkKQoreworCWludCBpOworCWZvciAoaSA9IDA7IGkgPCBLTU1JT19QQUdFX1RBQkxFX1NJWkU7IGkrKykKKwkJSU5JVF9MSVNUX0hFQUQoJmttbWlvX3BhZ2VfdGFibGVbaV0pOworCXJldHVybiByZWdpc3Rlcl9kaWVfbm90aWZpZXIoJm5iX2RpZSk7Cit9Citmc19pbml0Y2FsbChpbml0X2ttbWlvKTsgLyogc2hvdWxkIGJlIGJlZm9yZSBkZXZpY2VfaW5pdGNhbGwoKSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vbW1pby1tb2QuYyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTczOTdlMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL21taW8tbW9kLmMKQEAgLTAsMCArMSw1MTUgQEAKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgorICoKKyAqIENvcHlyaWdodCAoQykgSUJNIENvcnBvcmF0aW9uLCAyMDA1CisgKiAgICAgICAgICAgICAgIEplZmYgTXVpemVsYWFyLCAyMDA2LCAyMDA3CisgKiAgICAgICAgICAgICAgIFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKgorICogRGVyaXZlZCBmcm9tIHRoZSByZWFkLW1vZCBleGFtcGxlIGZyb20gcmVsYXktZXhhbXBsZXMgYnkgVG9tIFphbnVzc2kuCisgKi8KKyNkZWZpbmUgREVCVUcgMQorCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvbW1pb3RyYWNlLmg+CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4gLyogZm9yIElTQV9TVEFSVF9BRERSRVNTICovCisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorCisjaW5jbHVkZSAicGZfaW4uaCIKKworI2RlZmluZSBOQU1FICJtbWlvdHJhY2U6ICIKKworc3RydWN0IHRyYXBfcmVhc29uIHsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJdW5zaWduZWQgbG9uZyBpcDsKKwllbnVtIHJlYXNvbl90eXBlIHR5cGU7CisJaW50IGFjdGl2ZV90cmFjZXM7Cit9OworCitzdHJ1Y3QgcmVtYXBfdHJhY2UgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3Qga21taW9fcHJvYmUgcHJvYmU7CisJcmVzb3VyY2Vfc2l6ZV90IHBoeXM7CisJdW5zaWduZWQgbG9uZyBpZDsKK307CisKKy8qIEFjY2Vzc2VkIHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYXBfcmVhc29uLCBwZl9yZWFzb24pOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBtbWlvdHJhY2VfcncsIGNwdV90cmFjZSk7CisKKyNpZiAwIC8qIFhYWDogbm8gd2F5IGdhdGhlciB0aGlzIGluZm8gYW55bW9yZSAqLworLyogQWNjZXNzIHRvIHRoaXMgaXMgbm90IHBlci1jcHUuICovCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoYXRvbWljX3QsIGRyb3BwZWQpOworI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICptYXJrZXJfZmlsZTsKKworc3RhdGljIERFRklORV9NVVRFWChtbWlvdHJhY2VfbXV0ZXgpOworc3RhdGljIERFRklORV9TUElOTE9DSyh0cmFjZV9sb2NrKTsKK3N0YXRpYyBhdG9taWNfdCBtbWlvdHJhY2VfZW5hYmxlZDsKK3N0YXRpYyBMSVNUX0hFQUQodHJhY2VfbGlzdCk7CQkvKiBzdHJ1Y3QgcmVtYXBfdHJhY2UgKi8KKworLyoKKyAqIExvY2tpbmcgaW4gdGhpcyBmaWxlOgorICogLSBtbWlvdHJhY2VfbXV0ZXggZW5mb3JjZXMgZW5hYmxlL2Rpc2FibGVfbW1pb3RyYWNlKCkgY3JpdGljYWwgc2VjdGlvbnMuCisgKiAtIG1taW90cmFjZV9lbmFibGVkIG1heSBiZSBtb2RpZmllZCBvbmx5IHdoZW4gaG9sZGluZyBtbWlvdHJhY2VfbXV0ZXgKKyAqICAgYW5kIHRyYWNlX2xvY2suCisgKiAtIFJvdXRpbmVzIGRlcGVuZGluZyBvbiBpc19lbmFibGVkKCkgbXVzdCB0YWtlIHRyYWNlX2xvY2suCisgKiAtIHRyYWNlX2xpc3QgdXNlcnMgbXVzdCBob2xkIHRyYWNlX2xvY2suCisgKiAtIGlzX2VuYWJsZWQoKSBndWFyYW50ZWVzIHRoYXQgbW1pb190cmFjZV9yZWNvcmQgaXMgYWxsb3dlZC4KKyAqIC0gcHJlL3Bvc3QgY2FsbGJhY2tzIGFzc3VtZSB0aGUgZWZmZWN0IG9mIGlzX2VuYWJsZWQoKSBiZWluZyB0cnVlLgorICovCisKKy8qIG1vZHVsZSBwYXJhbWV0ZXJzICovCitzdGF0aWMgdW5zaWduZWQgbG9uZwlmaWx0ZXJfb2Zmc2V0Oworc3RhdGljIGludAkJbm9tbWlvdHJhY2U7CitzdGF0aWMgaW50CQl0cmFjZV9wYzsKKworbW9kdWxlX3BhcmFtKGZpbHRlcl9vZmZzZXQsIHVsb25nLCAwKTsKK21vZHVsZV9wYXJhbShub21taW90cmFjZSwgYm9vbCwgMCk7Cittb2R1bGVfcGFyYW0odHJhY2VfcGMsIGJvb2wsIDApOworCitNT0RVTEVfUEFSTV9ERVNDKGZpbHRlcl9vZmZzZXQsICJTdGFydCBhZGRyZXNzIG9mIHRyYWNlZCBtYXBwaW5ncy4iKTsKK01PRFVMRV9QQVJNX0RFU0Mobm9tbWlvdHJhY2UsICJEaXNhYmxlIGFjdHVhbCBNTUlPIHRyYWNpbmcuIik7CitNT0RVTEVfUEFSTV9ERVNDKHRyYWNlX3BjLCAiUmVjb3JkIGFkZHJlc3Mgb2YgZmF1bHRpbmcgaW5zdHJ1Y3Rpb25zLiIpOworCitzdGF0aWMgYm9vbCBpc19lbmFibGVkKHZvaWQpCit7CisJcmV0dXJuIGF0b21pY19yZWFkKCZtbWlvdHJhY2VfZW5hYmxlZCk7Cit9CisKKyNpZiAwIC8qIFhYWDogbmVlZHMgcmV3cml0ZSAqLworLyoKKyAqIFdyaXRlIGNhbGxiYWNrIGZvciB0aGUgZGVidWdmcyBlbnRyeToKKyAqIFJlYWQgYSBtYXJrZXIgYW5kIHdyaXRlIGl0IHRvIHRoZSBtbWlvIHRyYWNlIGxvZworICovCitzdGF0aWMgc3NpemVfdCB3cml0ZV9tYXJrZXIoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJCQlzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyICpldmVudCA9IE5VTEw7CisJc3RydWN0IG1tX2lvX2hlYWRlciAqaGVhZHA7CisJc3NpemVfdCBsZW4gPSAoY291bnQgPiA2NTUzNSkgPyA2NTUzNSA6IGNvdW50OworCisJZXZlbnQgPSBremFsbG9jKHNpemVvZigqaGVhZHApICsgbGVuLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWV2ZW50KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhlYWRwID0gKHN0cnVjdCBtbV9pb19oZWFkZXIgKilldmVudDsKKwloZWFkcC0+dHlwZSA9IE1NSU9fTUFHSUMgfCAoTU1JT19NQVJLRVIgPDwgTU1JT19PUENPREVfU0hJRlQpOworCWhlYWRwLT5kYXRhX2xlbiA9IGxlbjsKKworCWlmIChjb3B5X2Zyb21fdXNlcihldmVudCArIHNpemVvZigqaGVhZHApLCBidWZmZXIsIGxlbikpIHsKKwkJa2ZyZWUoZXZlbnQpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKyNpZiAwIC8qIFhYWDogY29udmVydCB0aGlzIHRvIHVzZSB0cmFjaW5nICovCisJaWYgKGlzX2VuYWJsZWQoKSkKKwkJcmVsYXlfd3JpdGUoY2hhbiwgZXZlbnQsIHNpemVvZigqaGVhZHApICsgbGVuKTsKKwllbHNlCisjZW5kaWYKKwkJbGVuID0gLUVJTlZBTDsKKwlzcGluX3VubG9ja19pcnEoJnRyYWNlX2xvY2spOworCWtmcmVlKGV2ZW50KTsKKwlyZXR1cm4gbGVuOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIHByaW50X3B0ZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisJdW5zaWduZWQgaW50IGxldmVsOworCXB0ZV90ICpwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyZXNzLCAmbGV2ZWwpOworCisJaWYgKCFwdGUpIHsKKwkJcHJfZXJyKE5BTUUgIkVycm9yIGluICVzOiBubyBwdGUgZm9yIHBhZ2UgMHglMDhseFxuIiwKKwkJCQkJCQlfX2Z1bmNfXywgYWRkcmVzcyk7CisJCXJldHVybjsKKwl9CisKKwlpZiAobGV2ZWwgPT0gUEdfTEVWRUxfMk0pIHsKKwkJcHJfZW1lcmcoTkFNRSAiNE1CIHBhZ2VzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZDogIgorCQkJCQkJCSIweCUwOGx4XG4iLCBhZGRyZXNzKTsKKwkJQlVHKCk7CisJfQorCXByX2luZm8oTkFNRSAicHRlIGZvciAweCVseDogMHglbGx4IDB4JWxseFxuIiwgYWRkcmVzcywKKwkJKHVuc2lnbmVkIGxvbmcgbG9uZylwdGVfdmFsKCpwdGUpLAorCQkodW5zaWduZWQgbG9uZyBsb25nKXB0ZV92YWwoKnB0ZSkgJiBfUEFHRV9QUkVTRU5UKTsKK30KKworLyoKKyAqIEZvciBzb21lIHJlYXNvbiB0aGUgcHJlL3Bvc3QgcGFpcnMgaGF2ZSBiZWVuIGNhbGxlZCBpbiBhbgorICogdW5tYXRjaGVkIG9yZGVyLiBSZXBvcnQgYW5kIGRpZS4KKyAqLworc3RhdGljIHZvaWQgZGllX2ttbWlvX25lc3RpbmdfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwljb25zdCBzdHJ1Y3QgdHJhcF9yZWFzb24gKm15X3JlYXNvbiA9ICZnZXRfY3B1X3ZhcihwZl9yZWFzb24pOworCXByX2VtZXJnKE5BTUUgInVuZXhwZWN0ZWQgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHgsICIKKwkJCQkJImxhc3QgZmF1bHQgZm9yIGFkZHJlc3M6IDB4JTA4bHhcbiIsCisJCQkJCWFkZHIsIG15X3JlYXNvbi0+YWRkcik7CisJcHJpbnRfcHRlKGFkZHIpOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJmYXVsdGluZyBJUCBpcyBhdCAlc1xuIiwgcmVncy0+aXApOworCXByaW50X3N5bWJvbChLRVJOX0VNRVJHICJsYXN0IGZhdWx0aW5nIElQIHdhcyBhdCAlc1xuIiwgbXlfcmVhc29uLT5pcCk7CisjaWZkZWYgX19pMzg2X18KKwlwcl9lbWVyZygiZWF4OiAlMDhseCAgIGVieDogJTA4bHggICBlY3g6ICUwOGx4ICAgZWR4OiAlMDhseFxuIiwKKwkJCXJlZ3MtPmF4LCByZWdzLT5ieCwgcmVncy0+Y3gsIHJlZ3MtPmR4KTsKKwlwcl9lbWVyZygiZXNpOiAlMDhseCAgIGVkaTogJTA4bHggICBlYnA6ICUwOGx4ICAgZXNwOiAlMDhseFxuIiwKKwkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbHNlCisJcHJfZW1lcmcoInJheDogJTAxNmx4ICAgcmN4OiAlMDE2bHggICByZHg6ICUwMTZseFxuIiwKKwkJCQkJcmVncy0+YXgsIHJlZ3MtPmN4LCByZWdzLT5keCk7CisJcHJfZW1lcmcoInJzaTogJTAxNmx4ICAgcmRpOiAlMDE2bHggICByYnA6ICUwMTZseCAgIHJzcDogJTAxNmx4XG4iLAorCQkJCXJlZ3MtPnNpLCByZWdzLT5kaSwgcmVncy0+YnAsIHJlZ3MtPnNwKTsKKyNlbmRpZgorCXB1dF9jcHVfdmFyKHBmX3JlYXNvbik7CisJQlVHKCk7Cit9CisKK3N0YXRpYyB2b2lkIHByZShzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHN0cnVjdCBwdF9yZWdzICpyZWdzLAorCQkJCQkJdW5zaWduZWQgbG9uZyBhZGRyKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwljb25zdCB1bnNpZ25lZCBsb25nIGluc3RwdHIgPSBpbnN0cnVjdGlvbl9wb2ludGVyKHJlZ3MpOworCWNvbnN0IGVudW0gcmVhc29uX3R5cGUgdHlwZSA9IGdldF9pbnNfdHlwZShpbnN0cHRyKTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0gcC0+cHJpdmF0ZTsKKworCS8qIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUgYWN0aXZlIHRyYWNlIHBlciBjcHUgKi8KKwlpZiAobXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzKQorCQlkaWVfa21taW9fbmVzdGluZ19lcnJvcihyZWdzLCBhZGRyKTsKKwllbHNlCisJCW15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcysrOworCisJbXlfcmVhc29uLT50eXBlID0gdHlwZTsKKwlteV9yZWFzb24tPmFkZHIgPSBhZGRyOworCW15X3JlYXNvbi0+aXAgPSBpbnN0cHRyOworCisJbXlfdHJhY2UtPnBoeXMgPSBhZGRyIC0gdHJhY2UtPnByb2JlLmFkZHIgKyB0cmFjZS0+cGh5czsKKwlteV90cmFjZS0+bWFwX2lkID0gdHJhY2UtPmlkOworCisJLyoKKwkgKiBPbmx5IHJlY29yZCB0aGUgcHJvZ3JhbSBjb3VudGVyIHdoZW4gcmVxdWVzdGVkLgorCSAqIEl0IG1heSB0YWludCBjbGVhbi1yb29tIHJldmVyc2UgZW5naW5lZXJpbmcuCisJICovCisJaWYgKHRyYWNlX3BjKQorCQlteV90cmFjZS0+cGMgPSBpbnN0cHRyOworCWVsc2UKKwkJbXlfdHJhY2UtPnBjID0gMDsKKworCS8qCisJICogWFhYOiB0aGUgdGltZXN0YW1wIHJlY29yZGVkIHdpbGwgYmUgKmFmdGVyKiB0aGUgdHJhY2luZyBoYXMgYmVlbgorCSAqIGRvbmUsIG5vdCBhdCB0aGUgdGltZSB3ZSBoaXQgdGhlIGluc3RydWN0aW9uLiBTTVAgaW1wbGljYXRpb25zCisJICogb24gZXZlbnQgb3JkZXJpbmc/CisJICovCisKKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFJFR19SRUFEOgorCQlteV90cmFjZS0+b3Bjb2RlID0gTU1JT19SRUFEOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJYnJlYWs7CisJY2FzZSBSRUdfV1JJVEU6CisJCW15X3RyYWNlLT5vcGNvZGUgPSBNTUlPX1dSSVRFOworCQlteV90cmFjZS0+d2lkdGggPSBnZXRfaW5zX21lbV93aWR0aChpbnN0cHRyKTsKKwkJbXlfdHJhY2UtPnZhbHVlID0gZ2V0X2luc19yZWdfdmFsKGluc3RwdHIsIHJlZ3MpOworCQlicmVhazsKKwljYXNlIElNTV9XUklURToKKwkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fV1JJVEU7CisJCW15X3RyYWNlLT53aWR0aCA9IGdldF9pbnNfbWVtX3dpZHRoKGluc3RwdHIpOworCQlteV90cmFjZS0+dmFsdWUgPSBnZXRfaW5zX2ltbV92YWwoaW5zdHB0cik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXsKKwkJCXVuc2lnbmVkIGNoYXIgKmlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnN0cHRyOworCQkJbXlfdHJhY2UtPm9wY29kZSA9IE1NSU9fVU5LTk9XTl9PUDsKKwkJCW15X3RyYWNlLT53aWR0aCA9IDA7CisJCQlteV90cmFjZS0+dmFsdWUgPSAoKmlwKSA8PCAxNiB8ICooaXAgKyAxKSA8PCA4IHwKKwkJCQkJCQkJKihpcCArIDIpOworCQl9CisJfQorCXB1dF9jcHVfdmFyKGNwdV90cmFjZSk7CisJcHV0X2NwdV92YXIocGZfcmVhc29uKTsKK30KKworc3RhdGljIHZvaWQgcG9zdChzdHJ1Y3Qga21taW9fcHJvYmUgKnAsIHVuc2lnbmVkIGxvbmcgY29uZGl0aW9uLAorCQkJCQkJCXN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCB0cmFwX3JlYXNvbiAqbXlfcmVhc29uID0gJmdldF9jcHVfdmFyKHBmX3JlYXNvbik7CisJc3RydWN0IG1taW90cmFjZV9ydyAqbXlfdHJhY2UgPSAmZ2V0X2NwdV92YXIoY3B1X3RyYWNlKTsKKworCS8qIHRoaXMgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIGFjdGl2ZV90cmFjZSBjb3VudCB0byAwICovCisJbXlfcmVhc29uLT5hY3RpdmVfdHJhY2VzLS07CisJaWYgKG15X3JlYXNvbi0+YWN0aXZlX3RyYWNlcykgeworCQlwcl9lbWVyZyhOQU1FICJ1bmV4cGVjdGVkIHBvc3QgaGFuZGxlciIpOworCQlCVUcoKTsKKwl9CisKKwlzd2l0Y2ggKG15X3JlYXNvbi0+dHlwZSkgeworCWNhc2UgUkVHX1JFQUQ6CisJCW15X3RyYWNlLT52YWx1ZSA9IGdldF9pbnNfcmVnX3ZhbChteV9yZWFzb24tPmlwLCByZWdzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJbW1pb190cmFjZV9ydyhteV90cmFjZSk7CisJcHV0X2NwdV92YXIoY3B1X3RyYWNlKTsKKwlwdXRfY3B1X3ZhcihwZl9yZWFzb24pOworfQorCitzdGF0aWMgdm9pZCBpb3JlbWFwX3RyYWNlX2NvcmUocmVzb3VyY2Vfc2l6ZV90IG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCQkJCXZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdGF0aWMgYXRvbWljX3QgbmV4dF9pZDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlID0ga21hbGxvYyhzaXplb2YoKnRyYWNlKSwgR0ZQX0tFUk5FTCk7CisJLyogVGhlc2UgYXJlIHBhZ2UtdW5hbGlnbmVkLiAqLworCXN0cnVjdCBtbWlvdHJhY2VfbWFwIG1hcCA9IHsKKwkJLnBoeXMgPSBvZmZzZXQsCisJCS52aXJ0ID0gKHVuc2lnbmVkIGxvbmcpYWRkciwKKwkJLmxlbiA9IHNpemUsCisJCS5vcGNvZGUgPSBNTUlPX1BST0JFCisJfTsKKworCWlmICghdHJhY2UpIHsKKwkJcHJfZXJyKE5BTUUgImttYWxsb2MgZmFpbGVkIGluIGlvcmVtYXBcbiIpOworCQlyZXR1cm47CisJfQorCisJKnRyYWNlID0gKHN0cnVjdCByZW1hcF90cmFjZSkgeworCQkucHJvYmUgPSB7CisJCQkuYWRkciA9ICh1bnNpZ25lZCBsb25nKWFkZHIsCisJCQkubGVuID0gc2l6ZSwKKwkJCS5wcmVfaGFuZGxlciA9IHByZSwKKwkJCS5wb3N0X2hhbmRsZXIgPSBwb3N0LAorCQkJLnByaXZhdGUgPSB0cmFjZQorCQl9LAorCQkucGh5cyA9IG9mZnNldCwKKwkJLmlkID0gYXRvbWljX2luY19yZXR1cm4oJm5leHRfaWQpCisJfTsKKwltYXAubWFwX2lkID0gdHJhY2UtPmlkOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisJbGlzdF9hZGRfdGFpbCgmdHJhY2UtPmxpc3QsICZ0cmFjZV9saXN0KTsKKwlpZiAoIW5vbW1pb3RyYWNlKQorCQlyZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKworbm90X2VuYWJsZWQ6CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKK30KKwordm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQl2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJaWYgKCFpc19lbmFibGVkKCkpIC8qIHJlY2hlY2sgYW5kIHByb3BlciBsb2NraW5nIGluICpfY29yZSgpICovCisJCXJldHVybjsKKworCXByX2RlYnVnKE5BTUUgImlvcmVtYXBfKigweCVsbHgsIDB4JWx4KSA9ICVwXG4iLAorCQkJCSh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0LCBzaXplLCBhZGRyKTsKKwlpZiAoKGZpbHRlcl9vZmZzZXQpICYmIChvZmZzZXQgIT0gZmlsdGVyX29mZnNldCkpCisJCXJldHVybjsKKwlpb3JlbWFwX3RyYWNlX2NvcmUob2Zmc2V0LCBzaXplLCBhZGRyKTsKK30KKworc3RhdGljIHZvaWQgaW91bm1hcF90cmFjZV9jb3JlKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKK3sKKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCBtYXAgPSB7CisJCS5waHlzID0gMCwKKwkJLnZpcnQgPSAodW5zaWduZWQgbG9uZylhZGRyLAorCQkubGVuID0gMCwKKwkJLm9wY29kZSA9IE1NSU9fVU5QUk9CRQorCX07CisJc3RydWN0IHJlbWFwX3RyYWNlICp0cmFjZTsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRtcDsKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKmZvdW5kX3RyYWNlID0gTlVMTDsKKworCXByX2RlYnVnKE5BTUUgIlVubWFwcGluZyAlcC5cbiIsIGFkZHIpOworCisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKCFpc19lbmFibGVkKCkpCisJCWdvdG8gbm90X2VuYWJsZWQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodHJhY2UsIHRtcCwgJnRyYWNlX2xpc3QsIGxpc3QpIHsKKwkJaWYgKCh1bnNpZ25lZCBsb25nKWFkZHIgPT0gdHJhY2UtPnByb2JlLmFkZHIpIHsKKwkJCWlmICghbm9tbWlvdHJhY2UpCisJCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwkJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCQlmb3VuZF90cmFjZSA9IHRyYWNlOworCQkJYnJlYWs7CisJCX0KKwl9CisJbWFwLm1hcF9pZCA9IChmb3VuZF90cmFjZSkgPyBmb3VuZF90cmFjZS0+aWQgOiAtMTsKKwltbWlvX3RyYWNlX21hcHBpbmcoJm1hcCk7CisKK25vdF9lbmFibGVkOgorCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJaWYgKGZvdW5kX3RyYWNlKSB7CisJCXN5bmNocm9uaXplX3JjdSgpOyAvKiB1bnJlZ2lzdGVyX2ttbWlvX3Byb2JlKCkgcmVxdWlyZW1lbnQgKi8KKwkJa2ZyZWUoZm91bmRfdHJhY2UpOworCX0KK30KKwordm9pZCBtbWlvdHJhY2VfaW91bm1hcCh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCit7CisJbWlnaHRfc2xlZXAoKTsKKwlpZiAoaXNfZW5hYmxlZCgpKSAvKiByZWNoZWNrIGFuZCBwcm9wZXIgbG9ja2luZyBpbiAqX2NvcmUoKSAqLworCQlpb3VubWFwX3RyYWNlX2NvcmUoYWRkcik7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFyX3RyYWNlX2xpc3Qodm9pZCkKK3sKKwlzdHJ1Y3QgcmVtYXBfdHJhY2UgKnRyYWNlOworCXN0cnVjdCByZW1hcF90cmFjZSAqdG1wOworCisJLyoKKwkgKiBObyBsb2NraW5nIHJlcXVpcmVkLCBiZWNhdXNlIHRoZSBjYWxsZXIgZW5zdXJlcyB3ZSBhcmUgaW4gYQorCSAqIGNyaXRpY2FsIHNlY3Rpb24gdmlhIG11dGV4LCBhbmQgaXNfZW5hYmxlZCgpIGlzIGZhbHNlLAorCSAqIGkuZS4gbm90aGluZyBjYW4gdHJhdmVyc2Ugb3IgbW9kaWZ5IHRoaXMgbGlzdC4KKwkgKiBDYWxsZXIgYWxzbyBlbnN1cmVzIGlzX2VuYWJsZWQoKSBjYW5ub3QgY2hhbmdlLgorCSAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkodHJhY2UsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCXByX25vdGljZShOQU1FICJwdXJnaW5nIG5vbi1pb3VubWFwcGVkICIKKwkJCQkJInRyYWNlIEAweCUwOGx4LCBzaXplIDB4JWx4LlxuIiwKKwkJCQkJdHJhY2UtPnByb2JlLmFkZHIsIHRyYWNlLT5wcm9iZS5sZW4pOworCQlpZiAoIW5vbW1pb3RyYWNlKQorCQkJdW5yZWdpc3Rlcl9rbW1pb19wcm9iZSgmdHJhY2UtPnByb2JlKTsKKwl9CisJc3luY2hyb25pemVfcmN1KCk7IC8qIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoKSByZXF1aXJlbWVudCAqLworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRyYWNlLCB0bXAsICZ0cmFjZV9saXN0LCBsaXN0KSB7CisJCWxpc3RfZGVsKCZ0cmFjZS0+bGlzdCk7CisJCWtmcmVlKHRyYWNlKTsKKwl9Cit9CisKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKK3N0YXRpYyBjcHVtYXNrX3QgZG93bmVkX2NwdXM7CisKK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWludCBjcHU7CisJaW50IGVycjsKKworCWdldF9vbmxpbmVfY3B1cygpOworCWRvd25lZF9jcHVzID0gY3B1X29ubGluZV9tYXA7CisJY3B1X2NsZWFyKGZpcnN0X2NwdShjcHVfb25saW5lX21hcCksIGRvd25lZF9jcHVzKTsKKwlpZiAobnVtX29ubGluZV9jcHVzKCkgPiAxKQorCQlwcl9ub3RpY2UoTkFNRSAiRGlzYWJsaW5nIG5vbi1ib290IENQVXMuLi5cbiIpOworCXB1dF9vbmxpbmVfY3B1cygpOworCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfZG93bihjcHUpOworCQlpZiAoIWVycikKKwkJCXByX2luZm8oTkFNRSAiQ1BVJWQgaXMgZG93bi5cbiIsIGNwdSk7CisJCWVsc2UKKwkJCXByX2VycihOQU1FICJFcnJvciB0YWtpbmcgQ1BVJWQgZG93bjogJWRcbiIsIGNwdSwgZXJyKTsKKwl9CisJaWYgKG51bV9vbmxpbmVfY3B1cygpID4gMSkKKwkJcHJfd2FybmluZyhOQU1FICJtdWx0aXBsZSBDUFVzIHN0aWxsIG9ubGluZSwgIgorCQkJCQkJIm1heSBtaXNzIGV2ZW50cy5cbiIpOworfQorCitzdGF0aWMgdm9pZCBsZWF2ZV91bmlwcm9jZXNzb3Iodm9pZCkKK3sKKwlpbnQgY3B1OworCWludCBlcnI7CisKKwlpZiAoY3B1c193ZWlnaHQoZG93bmVkX2NwdXMpID09IDApCisJCXJldHVybjsKKwlwcl9ub3RpY2UoTkFNRSAiUmUtZW5hYmxpbmcgQ1BVcy4uLlxuIik7CisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBkb3duZWRfY3B1cykgeworCQllcnIgPSBjcHVfdXAoY3B1KTsKKwkJaWYgKCFlcnIpCisJCQlwcl9pbmZvKE5BTUUgImVuYWJsZWQgQ1BVJWQuXG4iLCBjcHUpOworCQllbHNlCisJCQlwcl9lcnIoTkFNRSAiY2Fubm90IHJlLWVuYWJsZSBDUFUlZDogJWRcbiIsIGNwdSwgZXJyKTsKKwl9Cit9CisKKyNlbHNlIC8qICFDT05GSUdfSE9UUExVR19DUFUgKi8KK3N0YXRpYyB2b2lkIGVudGVyX3VuaXByb2Nlc3Nvcih2b2lkKQoreworCWlmIChudW1fb25saW5lX2NwdXMoKSA+IDEpCisJCXByX3dhcm5pbmcoTkFNRSAibXVsdGlwbGUgQ1BVcyBhcmUgb25saW5lLCBtYXkgbWlzcyBldmVudHMuICIKKwkJCSJTdWdnZXN0IGJvb3Rpbmcgd2l0aCBtYXhjcHVzPTEga2VybmVsIGFyZ3VtZW50LlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGxlYXZlX3VuaXByb2Nlc3Nvcih2b2lkKQoreworfQorI2VuZGlmCisKKyNpZiAwIC8qIFhYWDogb3V0IG9mIG9yZGVyICovCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzX21hcmtlciA9IHsKKwkub3duZXIgPQlUSElTX01PRFVMRSwKKwkud3JpdGUgPQl3cml0ZV9tYXJrZXIKK307CisjZW5kaWYKKwordm9pZCBlbmFibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoaXNfZW5hYmxlZCgpKQorCQlnb3RvIG91dDsKKworI2lmIDAgLyogWFhYOiB0cmFjaW5nIGRvZXMgbm90IHN1cHBvcnQgdGV4dCBlbnRyaWVzICovCisJbWFya2VyX2ZpbGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJtYXJrZXIiLCAwNjYwLCBkaXIsIE5VTEwsCisJCQkJCQkJCSZmb3BzX21hcmtlcik7CisJaWYgKCFtYXJrZXJfZmlsZSkKKwkJcHJfZXJyKE5BTUUgIm1hcmtlciBmaWxlIGNyZWF0aW9uIGZhaWxlZC5cbiIpOworI2VuZGlmCisKKwlpZiAobm9tbWlvdHJhY2UpCisJCXByX2luZm8oTkFNRSAiTU1JTyB0cmFjaW5nIGRpc2FibGVkLlxuIik7CisJZW50ZXJfdW5pcHJvY2Vzc29yKCk7CisJc3Bpbl9sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJYXRvbWljX2luYygmbW1pb3RyYWNlX2VuYWJsZWQpOworCXNwaW5fdW5sb2NrX2lycSgmdHJhY2VfbG9jayk7CisJcHJfaW5mbyhOQU1FICJlbmFibGVkLlxuIik7CitvdXQ6CisJbXV0ZXhfdW5sb2NrKCZtbWlvdHJhY2VfbXV0ZXgpOworfQorCit2b2lkIGRpc2FibGVfbW1pb3RyYWNlKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmbW1pb3RyYWNlX211dGV4KTsKKwlpZiAoIWlzX2VuYWJsZWQoKSkKKwkJZ290byBvdXQ7CisKKwlzcGluX2xvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKwlhdG9taWNfZGVjKCZtbWlvdHJhY2VfZW5hYmxlZCk7CisJQlVHX09OKGlzX2VuYWJsZWQoKSk7CisJc3Bpbl91bmxvY2tfaXJxKCZ0cmFjZV9sb2NrKTsKKworCWNsZWFyX3RyYWNlX2xpc3QoKTsgLyogZ3VhcmFudGVlczogbm8gbW9yZSBrbW1pbyBjYWxsYmFja3MgKi8KKwlsZWF2ZV91bmlwcm9jZXNzb3IoKTsKKwlpZiAobWFya2VyX2ZpbGUpIHsKKwkJZGVidWdmc19yZW1vdmUobWFya2VyX2ZpbGUpOworCQltYXJrZXJfZmlsZSA9IE5VTEw7CisJfQorCisJcHJfaW5mbyhOQU1FICJkaXNhYmxlZC5cbiIpOworb3V0OgorCW11dGV4X3VubG9jaygmbW1pb3RyYWNlX211dGV4KTsKK30KZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL251bWFfNjQuYyBiL2FyY2gveDg2L21tL251bWFfNjQuYwppbmRleCBjNTA2NmQ1Li5iNDMyZDU3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9udW1hXzY0LmMKKysrIGIvYXJjaC94ODYvbW0vbnVtYV82NC5jCkBAIC0yNywzMCArMjcsMTcgQEAKIHN0cnVjdCBwZ2xpc3RfZGF0YSAqbm9kZV9kYXRhW01BWF9OVU1OT0RFU10gX19yZWFkX21vc3RseTsKIEVYUE9SVF9TWU1CT0wobm9kZV9kYXRhKTsKIAotYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CitzdGF0aWMgYm9vdG1lbV9kYXRhX3QgcGxhdF9ub2RlX2JkYXRhW01BWF9OVU1OT0RFU107CiAKIHN0cnVjdCBtZW1ub2RlIG1lbW5vZGU7CiAKLSNpZmRlZiBDT05GSUdfU01QCi1pbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W05SX0NQVVNdID0gewotCVswIC4uLiBOUl9DUFVTLTFdID0gTlVNQV9OT19OT0RFCi19Owotdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci1FWFBPUlRfU1lNQk9MKHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyKTsKLSNlbmRpZgotREVGSU5FX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKSA9IE5VTUFfTk9fTk9ERTsKLUVYUE9SVF9QRVJfQ1BVX1NZTUJPTCh4ODZfY3B1X3RvX25vZGVfbWFwKTsKLQogczE2IGFwaWNpZF90b19ub2RlW01BWF9MT0NBTF9BUElDXSBfX2NwdWluaXRkYXRhID0gewogCVswIC4uLiBNQVhfTE9DQUxfQVBJQy0xXSA9IE5VTUFfTk9fTk9ERQogfTsKIAotY3B1bWFza190IG5vZGVfdG9fY3B1bWFza19tYXBbTUFYX05VTU5PREVTXSBfX3JlYWRfbW9zdGx5OwotRVhQT1JUX1NZTUJPTChub2RlX3RvX2NwdW1hc2tfbWFwKTsKLQogaW50IG51bWFfb2ZmIF9faW5pdGRhdGE7Ci11bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOwotdW5zaWduZWQgbG9uZyBfX2luaXRkYXRhIG5vZGVtYXBfc2l6ZTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdGRhdGEgbm9kZW1hcF9hZGRyOworc3RhdGljIHVuc2lnbmVkIGxvbmcgX19pbml0ZGF0YSBub2RlbWFwX3NpemU7CiAKIC8qCiAgKiBHaXZlbiBhIHNoaWZ0IHZhbHVlLCB0cnkgdG8gcG9wdWxhdGUgbWVtbm9kZW1hcFtdCkBAIC05OSw3ICs4Niw3IEBACiAKIAlhZGRyID0gMHg4MDAwOwogCW5vZGVtYXBfc2l6ZSA9IHJvdW5kX3VwKHNpemVvZihzMTYpICogbWVtbm9kZW1hcHNpemUsIEwxX0NBQ0hFX0JZVEVTKTsKLQlub2RlbWFwX2FkZHIgPSBmaW5kX2U4MjBfYXJlYShhZGRyLCBlbmRfcGZuPDxQQUdFX1NISUZULAorCW5vZGVtYXBfYWRkciA9IGZpbmRfZTgyMF9hcmVhKGFkZHIsIG1heF9wZm48PFBBR0VfU0hJRlQsCiAJCQkJICAgICAgbm9kZW1hcF9zaXplLCBMMV9DQUNIRV9CWVRFUyk7CiAJaWYgKG5vZGVtYXBfYWRkciA9PSAtMVVMKSB7CiAJCXByaW50ayhLRVJOX0VSUgpAQCAtMTkyLDcgKzE3OSw3IEBACiB2b2lkIF9faW5pdCBzZXR1cF9ub2RlX2Jvb3RtZW0oaW50IG5vZGVpZCwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICAgICB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQl1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgZW5kX3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOworCXVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCBsYXN0X3BmbiwgYm9vdG1hcF9wYWdlcywgYm9vdG1hcF9zaXplOwogCXVuc2lnbmVkIGxvbmcgYm9vdG1hcF9zdGFydCwgbm9kZWRhdGFfcGh5czsKIAl2b2lkICpib290bWFwOwogCWNvbnN0IGludCBwZ2RhdF9zaXplID0gcm91bmRfdXAoc2l6ZW9mKHBnX2RhdGFfdCksIFBBR0VfU0laRSk7CkBAIC0yMDQsNyArMTkxLDcgQEAKIAkgICAgICAgc3RhcnQsIGVuZCk7CiAKIAlzdGFydF9wZm4gPSBzdGFydCA+PiBQQUdFX1NISUZUOwotCWVuZF9wZm4gPSBlbmQgPj4gUEFHRV9TSElGVDsKKwlsYXN0X3BmbiA9IGVuZCA+PiBQQUdFX1NISUZUOwogCiAJbm9kZV9kYXRhW25vZGVpZF0gPSBlYXJseV9ub2RlX21lbShub2RlaWQsIHN0YXJ0LCBlbmQsIHBnZGF0X3NpemUsCiAJCQkJCSAgIFNNUF9DQUNIRV9CWVRFUyk7CkBAIC0yMTcsNyArMjA0LDcgQEAKIAltZW1zZXQoTk9ERV9EQVRBKG5vZGVpZCksIDAsIHNpemVvZihwZ19kYXRhX3QpKTsKIAlOT0RFX0RBVEEobm9kZWlkKS0+YmRhdGEgPSAmcGxhdF9ub2RlX2JkYXRhW25vZGVpZF07CiAJTk9ERV9EQVRBKG5vZGVpZCktPm5vZGVfc3RhcnRfcGZuID0gc3RhcnRfcGZuOwotCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBlbmRfcGZuIC0gc3RhcnRfcGZuOworCU5PREVfREFUQShub2RlaWQpLT5ub2RlX3NwYW5uZWRfcGFnZXMgPSBsYXN0X3BmbiAtIHN0YXJ0X3BmbjsKIAogCS8qCiAJICogRmluZCBhIHBsYWNlIGZvciB0aGUgYm9vdG1lbSBtYXAKQEAgLTIyNiwxNCArMjEzLDE0IEBACiAJICogZWFybHlfbm9kZV9tZW0gd2lsbCBnZXQgdGhhdCB3aXRoIGZpbmRfZTgyMF9hcmVhIGluc3RlYWQKIAkgKiBvZiBhbGxvY19ib290bWVtLCB0aGF0IGNvdWxkIGNsYXNoIHdpdGggcmVzZXJ2ZWQgcmFuZ2UKIAkgKi8KLQlib290bWFwX3BhZ2VzID0gYm9vdG1lbV9ib290bWFwX3BhZ2VzKGVuZF9wZm4gLSBzdGFydF9wZm4pOworCWJvb3RtYXBfcGFnZXMgPSBib290bWVtX2Jvb3RtYXBfcGFnZXMobGFzdF9wZm4gLSBzdGFydF9wZm4pOwogCW5pZCA9IHBoeXNfdG9fbmlkKG5vZGVkYXRhX3BoeXMpOwogCWlmIChuaWQgPT0gbm9kZWlkKQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAobm9kZWRhdGFfcGh5cyArIHBnZGF0X3NpemUsIFBBR0VfU0laRSk7CiAJZWxzZQogCQlib290bWFwX3N0YXJ0ID0gcm91bmRfdXAoc3RhcnQsIFBBR0VfU0laRSk7CiAJLyoKLQkgKiBTTVBfQ0FIQ0VfQllURVMgY291bGQgYmUgZW5vdWdoLCBidXQgaW5pdF9ib290bWVtX25vZGUgbGlrZQorCSAqIFNNUF9DQUNIRV9CWVRFUyBjb3VsZCBiZSBlbm91Z2gsIGJ1dCBpbml0X2Jvb3RtZW1fbm9kZSBsaWtlCiAJICogdG8gdXNlIHRoYXQgdG8gYWxpZ24gdG8gUEFHRV9TSVpFCiAJICovCiAJYm9vdG1hcCA9IGVhcmx5X25vZGVfbWVtKG5vZGVpZCwgYm9vdG1hcF9zdGFydCwgZW5kLApAQCAtMjQ4LDcgKzIzNSw3IEBACiAKIAlib290bWFwX3NpemUgPSBpbml0X2Jvb3RtZW1fbm9kZShOT0RFX0RBVEEobm9kZWlkKSwKIAkJCQkJIGJvb3RtYXBfc3RhcnQgPj4gUEFHRV9TSElGVCwKLQkJCQkJIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CisJCQkJCSBzdGFydF9wZm4sIGxhc3RfcGZuKTsKIAogCXByaW50ayhLRVJOX0lORk8gIiAgYm9vdG1hcCBbJTAxNmx4IC0gICUwMTZseF0gcGFnZXMgJWx4XG4iLAogCQkgYm9vdG1hcF9zdGFydCwgYm9vdG1hcF9zdGFydCArIGJvb3RtYXBfc2l6ZSAtIDEsCkBAIC0zMDksNyArMjk2LDcgQEAKIAogI2lmZGVmIENPTkZJR19OVU1BX0VNVQogLyogTnVtYSBlbXVsYXRpb24gKi8KLWNoYXIgKmNtZGxpbmUgX19pbml0ZGF0YTsKK3N0YXRpYyBjaGFyICpjbWRsaW5lIF9faW5pdGRhdGE7CiAKIC8qCiAgKiBTZXR1cHMgdXAgbmlkIHRvIHJhbmdlIGZyb20gYWRkciB0byBhZGRyICsgc2l6ZS4gIElmIHRoZSBlbmQKQEAgLTQxMywxNSArNDAwLDE1IEBACiB9CiAKIC8qCi0gKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gZW5kX3BmbiBhY2NvcmRpbmcgdG8gdGhlCisgKiBTZXRzIHVwIHRoZSBzeXN0ZW0gUkFNIGFyZWEgZnJvbSBzdGFydF9wZm4gdG8gbGFzdF9wZm4gYWNjb3JkaW5nIHRvIHRoZQogICogbnVtYT1mYWtlIGNvbW1hbmQtbGluZSBvcHRpb24uCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgYm9vdG5vZGUgbm9kZXNbTUFYX05VTU5PREVTXSBfX2luaXRkYXRhOwogCi1zdGF0aWMgaW50IF9faW5pdCBudW1hX2VtdWxhdGlvbih1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKQorc3RhdGljIGludCBfX2luaXQgbnVtYV9lbXVsYXRpb24odW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJdTY0IHNpemUsIGFkZHIgPSBzdGFydF9wZm4gPDwgUEFHRV9TSElGVDsKLQl1NjQgbWF4X2FkZHIgPSBlbmRfcGZuIDw8IFBBR0VfU0hJRlQ7CisJdTY0IG1heF9hZGRyID0gbGFzdF9wZm4gPDwgUEFHRV9TSElGVDsKIAlpbnQgbnVtX25vZGVzID0gMCwgbnVtID0gMCwgY29lZmZfZmxhZywgY29lZmYgPSAtMSwgaTsKIAogCW1lbXNldCgmbm9kZXMsIDAsIHNpemVvZihub2RlcykpOwpAQCAtNTI3LDcgKzUxNCw3IEBACiB9CiAjZW5kaWYgLyogQ09ORklHX05VTUFfRU1VICovCiAKLXZvaWQgX19pbml0IG51bWFfaW5pdG1lbV9pbml0KHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLCB1bnNpZ25lZCBsb25nIGVuZF9wZm4pCit2b2lkIF9faW5pdCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4pCiB7CiAJaW50IGk7CiAKQEAgLTUzNSw3ICs1MjIsNyBAQAogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CiAKICNpZmRlZiBDT05GSUdfTlVNQV9FTVUKLQlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBlbmRfcGZuKSkKKwlpZiAoY21kbGluZSAmJiAhbnVtYV9lbXVsYXRpb24oc3RhcnRfcGZuLCBsYXN0X3BmbikpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU0Myw3ICs1MzAsNyBAQAogCiAjaWZkZWYgQ09ORklHX0FDUElfTlVNQQogCWlmICghbnVtYV9vZmYgJiYgIWFjcGlfc2Nhbl9ub2RlcyhzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkJCQkJICBlbmRfcGZuIDw8IFBBR0VfU0hJRlQpKQorCQkJCQkgIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpKQogCQlyZXR1cm47CiAJbm9kZXNfY2xlYXIobm9kZV9wb3NzaWJsZV9tYXApOwogCW5vZGVzX2NsZWFyKG5vZGVfb25saW5lX21hcCk7CkBAIC01NTEsNyArNTM4LDcgQEAKIAogI2lmZGVmIENPTkZJR19LOF9OVU1BCiAJaWYgKCFudW1hX29mZiAmJiAhazhfc2Nhbl9ub2RlcyhzdGFydF9wZm48PFBBR0VfU0hJRlQsCi0JCQkJCWVuZF9wZm48PFBBR0VfU0hJRlQpKQorCQkJCQlsYXN0X3Bmbjw8UEFHRV9TSElGVCkpCiAJCXJldHVybjsKIAlub2Rlc19jbGVhcihub2RlX3Bvc3NpYmxlX21hcCk7CiAJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKQEAgLTU2MSw3ICs1NDgsNyBAQAogCiAJcHJpbnRrKEtFUk5fSU5GTyAiRmFraW5nIGEgbm9kZSBhdCAlMDE2bHgtJTAxNmx4XG4iLAogCSAgICAgICBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwKLQkgICAgICAgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKKwkgICAgICAgbGFzdF9wZm4gPDwgUEFHRV9TSElGVCk7CiAJLyogc2V0dXAgZHVtbXkgbm9kZSBjb3ZlcmluZyBhbGwgbWVtb3J5ICovCiAJbWVtbm9kZV9zaGlmdCA9IDYzOwogCW1lbW5vZGVtYXAgPSBtZW1ub2RlLmVtYmVkZGVkX21hcDsKQEAgLTU3MCwyOSArNTU3LDggQEAKIAlub2RlX3NldCgwLCBub2RlX3Bvc3NpYmxlX21hcCk7CiAJZm9yIChpID0gMDsgaSA8IE5SX0NQVVM7IGkrKykKIAkJbnVtYV9zZXRfbm9kZShpLCAwKTsKLQkvKiBjcHVtYXNrX29mX2NwdSgpIG1heSBub3QgYmUgYXZhaWxhYmxlIGR1cmluZyBlYXJseSBzdGFydHVwICovCi0JbWVtc2V0KCZub2RlX3RvX2NwdW1hc2tfbWFwWzBdLCAwLCBzaXplb2Yobm9kZV90b19jcHVtYXNrX21hcFswXSkpOwotCWNwdV9zZXQoMCwgbm9kZV90b19jcHVtYXNrX21hcFswXSk7Ci0JZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGVuZF9wZm4pOwotCXNldHVwX25vZGVfYm9vdG1lbSgwLCBzdGFydF9wZm4gPDwgUEFHRV9TSElGVCwgZW5kX3BmbiA8PCBQQUdFX1NISUZUKTsKLX0KLQotX19jcHVpbml0IHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUpCi17Ci0Jc2V0X2JpdChjcHUsCi0JCSh1bnNpZ25lZCBsb25nICopJm5vZGVfdG9fY3B1bWFza19tYXBbZWFybHlfY3B1X3RvX25vZGUoY3B1KV0pOwotfQotCi12b2lkIF9fY3B1aW5pdCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKQotewotCWludCAqY3B1X3RvX25vZGVfbWFwID0geDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci0KLQlpZihjcHVfdG9fbm9kZV9tYXApCi0JCWNwdV90b19ub2RlX21hcFtjcHVdID0gbm9kZTsKLQllbHNlIGlmKHBlcl9jcHVfb2Zmc2V0KGNwdSkpCi0JCXBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KSA9IG5vZGU7Ci0JZWxzZQotCQlEcHJpbnRrKEtFUk5fSU5GTyAiU2V0dGluZyBub2RlIGZvciBub24tcHJlc2VudCBjcHUgJWRcbiIsIGNwdSk7CisJZTgyMF9yZWdpc3Rlcl9hY3RpdmVfcmVnaW9ucygwLCBzdGFydF9wZm4sIGxhc3RfcGZuKTsKKwlzZXR1cF9ub2RlX2Jvb3RtZW0oMCwgc3RhcnRfcGZuIDw8IFBBR0VfU0hJRlQsIGxhc3RfcGZuIDw8IFBBR0VfU0hJRlQpOwogfQogCiB1bnNpZ25lZCBsb25nIF9faW5pdCBudW1hX2ZyZWVfYWxsX2Jvb3RtZW0odm9pZCkKQEAgLTYxMyw3ICs1NzksNyBAQAogCW1lbXNldChtYXhfem9uZV9wZm5zLCAwLCBzaXplb2YobWF4X3pvbmVfcGZucykpOwogCW1heF96b25lX3BmbnNbWk9ORV9ETUFdID0gTUFYX0RNQV9QRk47CiAJbWF4X3pvbmVfcGZuc1taT05FX0RNQTMyXSA9IE1BWF9ETUEzMl9QRk47Ci0JbWF4X3pvbmVfcGZuc1taT05FX05PUk1BTF0gPSBlbmRfcGZuOworCW1heF96b25lX3BmbnNbWk9ORV9OT1JNQUxdID0gbWF4X3BmbjsKIAogCXNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKE1BWF9OVU1OT0RFUyk7CiAJc3BhcnNlX2luaXQoKTsKQEAgLTY0MSw2ICs2MDcsNyBAQAogfQogZWFybHlfcGFyYW0oIm51bWEiLCBudW1hX3NldHVwKTsKIAorI2lmZGVmIENPTkZJR19OVU1BCiAvKgogICogU2V0dXAgZWFybHkgY3B1X3RvX25vZGUuCiAgKgpAQCAtNjUyLDE0ICs2MTksMTkgQEAKICAqIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQgaW4gYSByb3VuZCByb2JpbiBtYW5uZXIgYXQgbnVtYV9pbml0X2FycmF5LAogICogcHJpb3IgdG8gdGhpcyBjYWxsLCBhbmQgdGhpcyBpbml0aWFsaXphdGlvbiBpcyBnb29kIGVub3VnaAogICogZm9yIHRoZSBmYWtlIE5VTUEgY2FzZXMuCisgKgorICogQ2FsbGVkIGJlZm9yZSB0aGUgcGVyX2NwdSBhcmVhcyBhcmUgc2V0dXAuCiAgKi8KIHZvaWQgX19pbml0IGluaXRfY3B1X3RvX25vZGUodm9pZCkKIHsKLQlpbnQgaTsKKwlpbnQgY3B1OworCXUxNiAqY3B1X3RvX2FwaWNpZCA9IGVhcmx5X3Blcl9jcHVfcHRyKHg4Nl9jcHVfdG9fYXBpY2lkKTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUl9DUFVTOyBpKyspIHsKKwlCVUdfT04oY3B1X3RvX2FwaWNpZCA9PSBOVUxMKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKIAkJaW50IG5vZGU7Ci0JCXUxNiBhcGljaWQgPSB4ODZfY3B1X3RvX2FwaWNpZF9pbml0W2ldOworCQl1MTYgYXBpY2lkID0gY3B1X3RvX2FwaWNpZFtjcHVdOwogCiAJCWlmIChhcGljaWQgPT0gQkFEX0FQSUNJRCkKIAkJCWNvbnRpbnVlOwpAQCAtNjY4LDggKzY0MCw5IEBACiAJCQljb250aW51ZTsKIAkJaWYgKCFub2RlX29ubGluZShub2RlKSkKIAkJCWNvbnRpbnVlOwotCQludW1hX3NldF9ub2RlKGksIG5vZGUpOworCQludW1hX3NldF9ub2RlKGNwdSwgbm9kZSk7CiAJfQogfQorI2VuZGlmCiAKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHItdGVzdC5jCmluZGV4IDc1ZjFiMTAuLjBkY2Q0MmUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BhZ2VhdHRyLXRlc3QuYworKysgYi9hcmNoL3g4Ni9tbS9wYWdlYXR0ci10ZXN0LmMKQEAgLTEsOCArMSw4IEBACiAvKgogICogc2VsZiB0ZXN0IGZvciBjaGFuZ2VfcGFnZV9hdHRyLgogICoKLSAqIENsZWFycyB0aGUgZ2xvYmFsIGJpdCBvbiByYW5kb20gcGFnZXMgaW4gdGhlIGRpcmVjdCBtYXBwaW5nLCB0aGVuIHJldmVydHMKLSAqIGFuZCBjb21wYXJlcyBwYWdlIHRhYmxlcyBmb3J3YXJkcyBhbmQgYWZ0ZXJ3YXJkcy4KKyAqIENsZWFycyB0aGUgYSB0ZXN0IHB0ZSBiaXQgb24gcmFuZG9tIHBhZ2VzIGluIHRoZSBkaXJlY3QgbWFwcGluZywKKyAqIHRoZW4gcmV2ZXJ0cyBhbmQgY29tcGFyZXMgcGFnZSB0YWJsZXMgZm9yd2FyZHMgYW5kIGFmdGVyd2FyZHMuCiAgKi8KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgpAQCAtMzIsNiArMzIsMTMgQEAKIAlHUFMJCQk9ICgxPDwzMCkKIH07CiAKKyNkZWZpbmUgUEFHRV9URVNUQklUCV9fcGdwcm90KF9QQUdFX1VOVVNFRDEpCisKK3N0YXRpYyBpbnQgcHRlX3Rlc3RiaXQocHRlX3QgcHRlKQoreworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX1VOVVNFRDE7Cit9CisKIHN0cnVjdCBzcGxpdF9zdGF0ZSB7CiAJbG9uZyBscGcsIGdwZywgc3BnLCBleGVjOwogCWxvbmcgbWluX2V4ZWMsIG1heF9leGVjOwpAQCAtMTY1LDE1ICsxNzIsMTQgQEAKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9jbGVhcihhZGRyW2ldLCBsZW5baV0sCi0JCQkJCSAgICAgICBfX3BncHJvdChfUEFHRV9HTE9CQUwpKTsKKwkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLCBQQUdFX1RFU1RCSVQpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWQgZmFpbGVkICVkXG4iLCBpLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAogCQlwdGUgPSBsb29rdXBfYWRkcmVzcyhhZGRyW2ldLCAmbGV2ZWwpOwotCQlpZiAoIXB0ZSB8fCBwdGVfZ2xvYmFsKCpwdGUpIHx8IHB0ZV9odWdlKCpwdGUpKSB7CisJCWlmICghcHRlIHx8ICFwdGVfdGVzdGJpdCgqcHRlKSB8fCBwdGVfaHVnZSgqcHRlKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJDUEEgJWx4OiBiYWQgcHRlICVMeFxuIiwgYWRkcltpXSwKIAkJCQlwdGUgPyAodTY0KXB0ZV92YWwoKnB0ZSkgOiAwVUxMKTsKIAkJCWZhaWxlZCsrOwpAQCAtMTk4LDE0ICsyMDQsMTMgQEAKIAkJCWZhaWxlZCsrOwogCQkJY29udGludWU7CiAJCX0KLQkJZXJyID0gY2hhbmdlX3BhZ2VfYXR0cl9zZXQoYWRkcltpXSwgbGVuW2ldLAotCQkJCQkgICAgIF9fcGdwcm90KF9QQUdFX0dMT0JBTCkpOworCQllcnIgPSBjaGFuZ2VfcGFnZV9hdHRyX2NsZWFyKGFkZHJbaV0sIGxlbltpXSwgUEFHRV9URVNUQklUKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBIHJldmVydGluZyBmYWlsZWQ6ICVkXG4iLCBlcnIpOwogCQkJZmFpbGVkKys7CiAJCX0KIAkJcHRlID0gbG9va3VwX2FkZHJlc3MoYWRkcltpXSwgJmxldmVsKTsKLQkJaWYgKCFwdGUgfHwgIXB0ZV9nbG9iYWwoKnB0ZSkpIHsKKwkJaWYgKCFwdGUgfHwgcHRlX3Rlc3RiaXQoKnB0ZSkpIHsKIAkJCXByaW50ayhLRVJOX0VSUiAiQ1BBICVseDogYmFkIHB0ZSBhZnRlciByZXZlcnQgJUx4XG4iLAogCQkJCWFkZHJbaV0sIHB0ZSA/ICh1NjQpcHRlX3ZhbCgqcHRlKSA6IDBVTEwpOwogCQkJZmFpbGVkKys7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jIGIvYXJjaC94ODYvbW0vcGFnZWF0dHIuYwppbmRleCA2MGJjYjViLi42NWM2ZTQ2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9wYWdlYXR0ci5jCisrKyBiL2FyY2gveDg2L21tL3BhZ2VhdHRyLmMKQEAgLTM0LDYgKzM0LDQxIEBACiAJdW5zaWduZWQJZm9yY2Vfc3BsaXQgOiAxOwogfTsKIAorI2lmZGVmIENPTkZJR19QUk9DX0ZTCitzdGF0aWMgdW5zaWduZWQgbG9uZyBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfTlVNXTsKKwordm9pZCB1cGRhdGVfcGFnZV9jb3VudChpbnQgbGV2ZWwsIHVuc2lnbmVkIGxvbmcgcGFnZXMpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qIFByb3RlY3QgYWdhaW5zdCBDUEEgKi8KKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWxdICs9IHBhZ2VzOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHNwbGl0X3BhZ2VfY291bnQoaW50IGxldmVsKQoreworCWRpcmVjdF9wYWdlc19jb3VudFtsZXZlbF0tLTsKKwlkaXJlY3RfcGFnZXNfY291bnRbbGV2ZWwgLSAxXSArPSBQVFJTX1BFUl9QVEU7Cit9CisKK2ludCBhcmNoX3JlcG9ydF9tZW1pbmZvKGNoYXIgKnBhZ2UpCit7CisJaW50IG4gPSBzcHJpbnRmKHBhZ2UsICJEaXJlY3RNYXA0azogICU4bHVcbiIKKwkJCSJEaXJlY3RNYXAyTTogICU4bHVcbiIsCisJCQlkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfNEtdLAorCQkJZGlyZWN0X3BhZ2VzX2NvdW50W1BHX0xFVkVMXzJNXSk7CisjaWZkZWYgQ09ORklHX1g4Nl82NAorCW4gKz0gc3ByaW50ZihwYWdlICsgbiwgIkRpcmVjdE1hcDFHOiAgJThsdVxuIiwKKwkJICAgICBkaXJlY3RfcGFnZXNfY291bnRbUEdfTEVWRUxfMUddKTsKKyNlbmRpZgorCXJldHVybiBuOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdF9wYWdlX2NvdW50KGludCBsZXZlbCkgeyB9CisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19YODZfNjQKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGhpZ2htYXBfc3RhcnRfcGZuKHZvaWQpCkBAIC0xMDYsNyArMTQxLDcgQEAKIHsKIAlCVUdfT04oaXJxc19kaXNhYmxlZCgpKTsKIAotCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEsIDEpOworCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX2FsbCwgKHZvaWQgKikgY2FjaGUsIDEpOwogfQogCiBzdGF0aWMgdm9pZCBfX2NwYV9mbHVzaF9yYW5nZSh2b2lkICphcmcpCkBAIC0xMjcsNyArMTYyLDcgQEAKIAlCVUdfT04oaXJxc19kaXNhYmxlZCgpKTsKIAlXQVJOX09OKFBBR0VfQUxJR04oc3RhcnQpICE9IHN0YXJ0KTsKIAotCW9uX2VhY2hfY3B1KF9fY3BhX2ZsdXNoX3JhbmdlLCBOVUxMLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShfX2NwYV9mbHVzaF9yYW5nZSwgTlVMTCwgMSk7CiAKIAlpZiAoIWNhY2hlKQogCQlyZXR1cm47CkBAIC0yMjcsNiArMjYyLDcgQEAKIAogCXJldHVybiBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIGFkZHJlc3MpOwogfQorRVhQT1JUX1NZTUJPTF9HUEwobG9va3VwX2FkZHJlc3MpOwogCiAvKgogICogU2V0IHRoZSBuZXcgcG1kIGluIGFsbCB0aGUgcGdkcyB3ZSBrbm93IGFib3V0OgpAQCAtNTAwLDYgKzUzNiwxNiBAQAogCWZvciAoaSA9IDA7IGkgPCBQVFJTX1BFUl9QVEU7IGkrKywgcGZuICs9IHBmbmluYykKIAkJc2V0X3B0ZSgmcGJhc2VbaV0sIHBmbl9wdGUocGZuLCByZWZfcHJvdCkpOwogCisJaWYgKGFkZHJlc3MgPj0gKHVuc2lnbmVkIGxvbmcpX192YSgwKSAmJgorCQlhZGRyZXNzIDwgKHVuc2lnbmVkIGxvbmcpX192YShtYXhfbG93X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChhZGRyZXNzID49ICh1bnNpZ25lZCBsb25nKV9fdmEoMVVMPDwzMikgJiYKKwkJYWRkcmVzcyA8ICh1bnNpZ25lZCBsb25nKV9fdmEobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisJCXNwbGl0X3BhZ2VfY291bnQobGV2ZWwpOworI2VuZGlmCisKIAkvKgogCSAqIEluc3RhbGwgdGhlIG5ldywgc3BsaXQgdXAgcGFnZXRhYmxlLiBJbXBvcnRhbnQgZGV0YWlscyBoZXJlOgogCSAqCkBAIC02MTMsMTUgKzY1OSwyNCBAQAogCXN0cnVjdCBjcGFfZGF0YSBhbGlhc19jcGE7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAoY3BhLT5wZm4gPiBtYXhfcGZuX21hcHBlZCkKKwlpZiAoY3BhLT5wZm4gPj0gbWF4X3Bmbl9tYXBwZWQpCiAJCXJldHVybiAwOwogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCWlmIChjcGEtPnBmbiA+PSBtYXhfbG93X3Bmbl9tYXBwZWQgJiYgY3BhLT5wZm4gPCAoMVVMPDwoMzItUEFHRV9TSElGVCkpKQorCQlyZXR1cm4gMDsKKyNlbmRpZgogCS8qCiAJICogTm8gbmVlZCB0byByZWRvLCB3aGVuIHRoZSBwcmltYXJ5IGNhbGwgdG91Y2hlZCB0aGUgZGlyZWN0CiAJICogbWFwcGluZyBhbHJlYWR5OgogCSAqLwotCWlmICghd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAotCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpKSB7CisJaWYgKCEod2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VULAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X2xvd19wZm5fbWFwcGVkIDw8IFBBR0VfU0hJRlQpKQorI2lmZGVmIENPTkZJR19YODZfNjQKKwkJfHwgd2l0aGluKGNwYS0+dmFkZHIsIFBBR0VfT0ZGU0VUICsgKDFVTDw8MzIpLAorCQkgICAgUEFHRV9PRkZTRVQgKyAobWF4X3Bmbl9tYXBwZWQgPDwgUEFHRV9TSElGVCkpCisjZW5kaWYKKwkpKSB7CiAKIAkJYWxpYXNfY3BhID0gKmNwYTsKIAkJYWxpYXNfY3BhLnZhZGRyID0gKHVuc2lnbmVkIGxvbmcpIF9fdmEoY3BhLT5wZm4gPDwgUEFHRV9TSElGVCk7CkBAIC04MDUsNyArODYwLDcgQEAKIAogaW50IHNldF9tZW1vcnlfd2ModW5zaWduZWQgbG9uZyBhZGRyLCBpbnQgbnVtcGFnZXMpCiB7Ci0JaWYgKCFwYXRfd2NfZW5hYmxlZCkKKwlpZiAoIXBhdF9lbmFibGVkKQogCQlyZXR1cm4gc2V0X21lbW9yeV91YyhhZGRyLCBudW1wYWdlcyk7CiAKIAlpZiAocmVzZXJ2ZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBudW1wYWdlcyAqIFBBR0VfU0laRSwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3BhdC5jIGIvYXJjaC94ODYvbW0vcGF0LmMKaW5kZXggMDZiN2ExYy4uZDQ1ODUwNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGF0LmMKKysrIGIvYXJjaC94ODYvbW0vcGF0LmMKQEAgLTI2LDExICsyNiwxMSBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQVQKLWludCBfX3JlYWRfbW9zdGx5IHBhdF93Y19lbmFibGVkID0gMTsKK2ludCBfX3JlYWRfbW9zdGx5IHBhdF9lbmFibGVkID0gMTsKIAogdm9pZCBfX2NwdWluaXQgcGF0X2Rpc2FibGUoY2hhciAqcmVhc29uKQogewotCXBhdF93Y19lbmFibGVkID0gMDsKKwlwYXRfZW5hYmxlZCA9IDA7CiAJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsIHJlYXNvbik7CiB9CiAKQEAgLTQyLDYgKzQyLDE5IEBACiBlYXJseV9wYXJhbSgibm9wYXQiLCBub3BhdCk7CiAjZW5kaWYKIAorCitzdGF0aWMgaW50IGRlYnVnX2VuYWJsZTsKK3N0YXRpYyBpbnQgX19pbml0IHBhdF9kZWJ1Z19zZXR1cChjaGFyICpzdHIpCit7CisJZGVidWdfZW5hYmxlID0gMTsKKwlyZXR1cm4gMDsKK30KK19fc2V0dXAoImRlYnVncGF0IiwgcGF0X2RlYnVnX3NldHVwKTsKKworI2RlZmluZSBkcHJpbnRrKGZtdCwgYXJnLi4uKSBcCisJZG8geyBpZiAoZGVidWdfZW5hYmxlKSBwcmludGsoS0VSTl9JTkZPIGZtdCwgIyNhcmcpOyB9IHdoaWxlICgwKQorCisKIHN0YXRpYyB1NjQgX19yZWFkX21vc3RseSBib290X3BhdF9zdGF0ZTsKIAogZW51bSB7CkBAIC01MywyNCArNjYsMjUgQEAKIAlQQVRfVUNfTUlOVVMgPSA3LAkvKiBVQywgYnV0IGNhbiBiZSBvdmVycmlkZW4gYnkgTVRSUiAqLwogfTsKIAotI2RlZmluZSBQQVQoeCx5KQkoKHU2NClQQVRfICMjIHkgPDwgKCh4KSo4KSkKKyNkZWZpbmUgUEFUKHgsIHkpCSgodTY0KVBBVF8gIyMgeSA8PCAoKHgpKjgpKQogCiB2b2lkIHBhdF9pbml0KHZvaWQpCiB7CiAJdTY0IHBhdDsKIAotCWlmICghcGF0X3djX2VuYWJsZWQpCisJaWYgKCFwYXRfZW5hYmxlZCkKIAkJcmV0dXJuOwogCiAJLyogUGFyYW5vaWEgY2hlY2suICovCi0JaWYgKCFjcHVfaGFzX3BhdCkgewotCQlwcmludGsoS0VSTl9FUlIgIlBBVCBlbmFibGVkLCBidXQgQ1BVIGZlYXR1cmUgY2xlYXJlZFxuIik7CisJaWYgKCFjcHVfaGFzX3BhdCAmJiBib290X3BhdF9zdGF0ZSkgewogCQkvKgotCQkgKiBQYW5pYyBpZiB0aGlzIGhhcHBlbnMgb24gdGhlIHNlY29uZGFyeSBDUFUsIGFuZCB3ZQorCQkgKiBJZiB0aGlzIGhhcHBlbnMgd2UgYXJlIG9uIGEgc2Vjb25kYXJ5IENQVSwgYnV0CiAJCSAqIHN3aXRjaGVkIHRvIFBBVCBvbiB0aGUgYm9vdCBDUFUuIFdlIGhhdmUgbm8gd2F5IHRvCiAJCSAqIHVuZG8gUEFULgotCQkqLwotCQlCVUdfT04oYm9vdF9wYXRfc3RhdGUpOworCQkgKi8KKwkJcHJpbnRrKEtFUk5fRVJSICJQQVQgZW5hYmxlZCwgIgorCQkgICAgICAgImJ1dCBub3Qgc3VwcG9ydGVkIGJ5IHNlY29uZGFyeSBDUFVcbiIpOworCQlCVUcoKTsKIAl9CiAKIAkvKiBTZXQgUFdUIHRvIFdyaXRlLUNvbWJpbmluZy4gQWxsIG90aGVyIGJpdHMgc3RheSB0aGUgc2FtZSAqLwpAQCAtODYsOCArMTAwLDggQEAKIAkgKiAgICAgIDAxMSBVQwkJX1BBR0VfQ0FDSEVfVUMKIAkgKiBQQVQgYml0IHVudXNlZAogCSAqLwotCXBhdCA9IFBBVCgwLFdCKSB8IFBBVCgxLFdDKSB8IFBBVCgyLFVDX01JTlVTKSB8IFBBVCgzLFVDKSB8Ci0JICAgICAgUEFUKDQsV0IpIHwgUEFUKDUsV0MpIHwgUEFUKDYsVUNfTUlOVVMpIHwgUEFUKDcsVUMpOworCXBhdCA9IFBBVCgwLCBXQikgfCBQQVQoMSwgV0MpIHwgUEFUKDIsIFVDX01JTlVTKSB8IFBBVCgzLCBVQykgfAorCSAgICAgIFBBVCg0LCBXQikgfCBQQVQoNSwgV0MpIHwgUEFUKDYsIFVDX01JTlVTKSB8IFBBVCg3LCBVQyk7CiAKIAkvKiBCb290IENQVSBjaGVjayAqLwogCWlmICghYm9vdF9wYXRfc3RhdGUpCkBAIC0xMDMsMTEgKzExNywxMSBAQAogc3RhdGljIGNoYXIgKmNhdHRyX25hbWUodW5zaWduZWQgbG9uZyBmbGFncykKIHsKIAlzd2l0Y2ggKGZsYWdzICYgX1BBR0VfQ0FDSEVfTUFTSykgewotCQljYXNlIF9QQUdFX0NBQ0hFX1VDOgkJcmV0dXJuICJ1bmNhY2hlZCI7Ci0JCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOwotCQljYXNlIF9QQUdFX0NBQ0hFX1dCOgkJcmV0dXJuICJ3cml0ZS1iYWNrIjsKLQkJY2FzZSBfUEFHRV9DQUNIRV9XQzoJCXJldHVybiAid3JpdGUtY29tYmluaW5nIjsKLQkJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CisJY2FzZSBfUEFHRV9DQUNIRV9VQzoJCXJldHVybiAidW5jYWNoZWQiOworCWNhc2UgX1BBR0VfQ0FDSEVfVUNfTUlOVVM6CXJldHVybiAidW5jYWNoZWQtbWludXMiOworCWNhc2UgX1BBR0VfQ0FDSEVfV0I6CQlyZXR1cm4gIndyaXRlLWJhY2siOworCWNhc2UgX1BBR0VfQ0FDSEVfV0M6CQlyZXR1cm4gIndyaXRlLWNvbWJpbmluZyI7CisJZGVmYXVsdDoJCQlyZXR1cm4gImJyb2tlbiI7CiAJfQogfQogCkBAIC0xNDUsNDcgKzE1OSw1MCBAQAogICogVGhlIGludGVyc2VjdGlvbiBpcyBiYXNlZCBvbiAiRWZmZWN0aXZlIE1lbW9yeSBUeXBlIiB0YWJsZXMgaW4gSUEtMzIKICAqIFNETSB2b2wgM2EKICAqLwotc3RhdGljIGludCBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHByb3QsCi0JCQkJdW5zaWduZWQgbG9uZyAqcmV0X3Byb3QpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwYXRfeF9tdHJyX3R5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlKQogewotCXVuc2lnbmVkIGxvbmcgcGF0X3R5cGU7Ci0JdTggbXRycl90eXBlOwotCi0JcGF0X3R5cGUgPSBwcm90ICYgX1BBR0VfQ0FDSEVfTUFTSzsKLQlwcm90ICY9ICh+X1BBR0VfQ0FDSEVfTUFTSyk7Ci0KLQkvKgotCSAqIFdlIHJldHVybiB0aGUgUEFUIHJlcXVlc3QgZGlyZWN0bHkgZm9yIHR5cGVzIHdoZXJlIFBBVCB0YWtlcwotCSAqIHByZWNlZGVuY2Ugd2l0aCByZXNwZWN0IHRvIE1UUlIgYW5kIGZvciBVQ19NSU5VUy4KLQkgKiBDb25zaXN0ZW5jeSBjaGVja3Mgd2l0aCBvdGhlciBQQVQgcmVxdWVzdHMgaXMgZG9uZSBsYXRlcgotCSAqIHdoaWxlIGdvaW5nIHRocm91Z2ggbWVtdHlwZSBsaXN0LgotCSAqLwotCWlmIChwYXRfdHlwZSA9PSBfUEFHRV9DQUNIRV9XQykgewotCQkqcmV0X3Byb3QgPSBwcm90IHwgX1BBR0VfQ0FDSEVfV0M7Ci0JCXJldHVybiAwOwotCX0gZWxzZSBpZiAocGF0X3R5cGUgPT0gX1BBR0VfQ0FDSEVfVUNfTUlOVVMpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDX01JTlVTOwotCQlyZXR1cm4gMDsKLQl9IGVsc2UgaWYgKHBhdF90eXBlID09IF9QQUdFX0NBQ0hFX1VDKSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9VQzsKLQkJcmV0dXJuIDA7Ci0JfQotCiAJLyoKIAkgKiBMb29rIGZvciBNVFJSIGhpbnQgdG8gZ2V0IHRoZSBlZmZlY3RpdmUgdHlwZSBpbiBjYXNlIHdoZXJlIFBBVAogCSAqIHJlcXVlc3QgaXMgZm9yIFdCLgogCSAqLwotCW10cnJfdHlwZSA9IG10cnJfdHlwZV9sb29rdXAoc3RhcnQsIGVuZCk7CisJaWYgKHJlcV90eXBlID09IF9QQUdFX0NBQ0hFX1dCKSB7CisJCXU4IG10cnJfdHlwZTsKIAotCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1VOQ0FDSEFCTEUpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1VDOwotCX0gZWxzZSBpZiAobXRycl90eXBlID09IE1UUlJfVFlQRV9XUkNPTUIpIHsKLQkJKnJldF9wcm90ID0gcHJvdCB8IF9QQUdFX0NBQ0hFX1dDOwotCX0gZWxzZSB7Ci0JCSpyZXRfcHJvdCA9IHByb3QgfCBfUEFHRV9DQUNIRV9XQjsKKwkJbXRycl90eXBlID0gbXRycl90eXBlX2xvb2t1cChzdGFydCwgZW5kKTsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfVU5DQUNIQUJMRSkKKwkJCXJldHVybiBfUEFHRV9DQUNIRV9VQzsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JDT01CKQorCQkJcmV0dXJuIF9QQUdFX0NBQ0hFX1dDOwogCX0KIAorCXJldHVybiByZXFfdHlwZTsKK30KKworc3RhdGljIGludCBjaGtfY29uZmxpY3Qoc3RydWN0IG1lbXR5cGUgKm5ldywgc3RydWN0IG1lbXR5cGUgKmVudHJ5LAorCQkJdW5zaWduZWQgbG9uZyAqdHlwZSkKK3sKKwlpZiAobmV3LT50eXBlICE9IGVudHJ5LT50eXBlKSB7CisJCWlmICh0eXBlKSB7CisJCQluZXctPnR5cGUgPSBlbnRyeS0+dHlwZTsKKwkJCSp0eXBlID0gZW50cnktPnR5cGU7CisJCX0gZWxzZQorCQkJZ290byBjb25mbGljdDsKKwl9CisKKwkgLyogY2hlY2sgb3ZlcmxhcHMgd2l0aCBtb3JlIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0ICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKG5ldy0+ZW5kIDw9IGVudHJ5LT5zdGFydCkKKwkJCWJyZWFrOworCQllbHNlIGlmIChuZXctPnR5cGUgIT0gZW50cnktPnR5cGUpCisJCQlnb3RvIGNvbmZsaWN0OworCX0KIAlyZXR1cm4gMDsKKworIGNvbmZsaWN0OgorCXByaW50ayhLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAiCisJICAgICAgICIlTHgtJUx4ICVzPC0+JXNcbiIsIGN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwgbmV3LT5zdGFydCwKKwkgICAgICAgbmV3LT5lbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShlbnRyeS0+dHlwZSkpOworCXJldHVybiAtRUJVU1k7CiB9CiAKIC8qCkBAIC0xOTgsMzcgKzIxNSwzNiBAQAogICogcmVxX3R5cGUgd2lsbCBoYXZlIGEgc3BlY2lhbCBjYXNlIHZhbHVlICctMScsIHdoZW4gcmVxdWVzdGVyIHdhbnQgdG8gaW5oZXJpdAogICogdGhlIG1lbW9yeSB0eXBlIGZyb20gbXRyciAoaWYgV0IpLCBleGlzdGluZyBQQVQsIGRlZmF1bHRpbmcgdG8gVUNfTUlOVVMuCiAgKgotICogSWYgcmV0X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCi0gKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgcmV0X3R5cGUgaXMgbm9uLW51bGwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCi0gKiBhdmFpbGFibGUgdHlwZSBpbiByZXRfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgorICogSWYgbmV3X3R5cGUgaXMgTlVMTCwgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZXJyb3IgaWYgaXQgY2Fubm90IHJlc2VydmUgdGhlCisgKiByZWdpb24gd2l0aCByZXFfdHlwZS4gSWYgbmV3X3R5cGUgaXMgbm9uLU5VTEwsIGZ1bmN0aW9uIHdpbGwgcmV0dXJuCisgKiBhdmFpbGFibGUgdHlwZSBpbiBuZXdfdHlwZSBpbiBjYXNlIG9mIG5vIGVycm9yLiBJbiBjYXNlIG9mIGFueSBlcnJvcgogICogaXQgd2lsbCByZXR1cm4gYSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUuCiAgKi8KIGludCByZXNlcnZlX21lbXR5cGUodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCBsb25nIHJlcV90eXBlLAotCQkJdW5zaWduZWQgbG9uZyAqcmV0X3R5cGUpCisJCQl1bnNpZ25lZCBsb25nICpuZXdfdHlwZSkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbmV3X2VudHJ5ID0gTlVMTDsKLQlzdHJ1Y3QgbWVtdHlwZSAqcGFyc2U7CisJc3RydWN0IG1lbXR5cGUgKm5ldywgKmVudHJ5OwogCXVuc2lnbmVkIGxvbmcgYWN0dWFsX3R5cGU7CisJc3RydWN0IGxpc3RfaGVhZCAqd2hlcmU7CiAJaW50IGVyciA9IDA7CiAKLQkvKiBPbmx5IHRyYWNrIHdoZW4gcGF0X3djX2VuYWJsZWQgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkKSB7CisgCUJVR19PTihzdGFydCA+PSBlbmQpOyAvKiBlbmQgaXMgZXhjbHVzaXZlICovCisKKwlpZiAoIXBhdF9lbmFibGVkKSB7CiAJCS8qIFRoaXMgaXMgaWRlbnRpY2FsIHRvIHBhZ2UgdGFibGUgc2V0dGluZyB3aXRob3V0IFBBVCAqLwotCQlpZiAocmV0X3R5cGUpIHsKLQkJCWlmIChyZXFfdHlwZSA9PSAtMSkgewotCQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCQkJfSBlbHNlIHsKLQkJCQkqcmV0X3R5cGUgPSByZXFfdHlwZTsKLQkJCX0KKwkJaWYgKG5ld190eXBlKSB7CisJCQlpZiAocmVxX3R5cGUgPT0gLTEpCisJCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CisJCQllbHNlCisJCQkJKm5ld190eXBlID0gcmVxX3R5cGUgJiBfUEFHRV9DQUNIRV9NQVNLOwogCQl9CiAJCXJldHVybiAwOwogCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IgaW4gcGFnZSB0YWJsZS4gTm8gbmVlZCB0byB0cmFjayAqLwotCWlmIChzdGFydCA+PSBJU0FfU1RBUlRfQUREUkVTUyAmJiAoZW5kIC0gMSkgPD0gSVNBX0VORF9BRERSRVNTKSB7Ci0JCWlmIChyZXRfdHlwZSkKLQkJCSpyZXRfdHlwZSA9IF9QQUdFX0NBQ0hFX1dCOwotCisJaWYgKGlzX0lTQV9yYW5nZShzdGFydCwgZW5kIC0gMSkpIHsKKwkJaWYgKG5ld190eXBlKQorCQkJKm5ld190eXBlID0gX1BBR0VfQ0FDSEVfV0I7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMjQxLDIwNiArMjU3LDkyIEBACiAJCSAqLwogCQl1OCBtdHJyX3R5cGUgPSBtdHJyX3R5cGVfbG9va3VwKHN0YXJ0LCBlbmQpOwogCi0JCWlmIChtdHJyX3R5cGUgPT0gTVRSUl9UWVBFX1dSQkFDSykgewotCQkJcmVxX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKKwkJaWYgKG10cnJfdHlwZSA9PSBNVFJSX1RZUEVfV1JCQUNLKQogCQkJYWN0dWFsX3R5cGUgPSBfUEFHRV9DQUNIRV9XQjsKLQkJfSBlbHNlIHsKLQkJCXJlcV90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7CisJCWVsc2UKIAkJCWFjdHVhbF90eXBlID0gX1BBR0VfQ0FDSEVfVUNfTUlOVVM7Ci0JCX0KLQl9IGVsc2UgewotCQlyZXFfdHlwZSAmPSBfUEFHRV9DQUNIRV9NQVNLOwotCQllcnIgPSBwYXRfeF9tdHJyX3R5cGUoc3RhcnQsIGVuZCwgcmVxX3R5cGUsICZhY3R1YWxfdHlwZSk7Ci0JfQorCX0gZWxzZQorCQlhY3R1YWxfdHlwZSA9IHBhdF94X210cnJfdHlwZShzdGFydCwgZW5kLAorCQkJCQkgICAgICByZXFfdHlwZSAmIF9QQUdFX0NBQ0hFX01BU0spOwogCi0JaWYgKGVycikgewotCQlpZiAocmV0X3R5cGUpCi0JCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKLQotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQluZXdfZW50cnkgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW5ld19lbnRyeSkKKwluZXcgID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG1lbXR5cGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIW5ldykKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQluZXdfZW50cnktPnN0YXJ0ID0gc3RhcnQ7Ci0JbmV3X2VudHJ5LT5lbmQgPSBlbmQ7Ci0JbmV3X2VudHJ5LT50eXBlID0gYWN0dWFsX3R5cGU7CisJbmV3LT5zdGFydCA9IHN0YXJ0OworCW5ldy0+ZW5kID0gZW5kOworCW5ldy0+dHlwZSA9IGFjdHVhbF90eXBlOwogCi0JaWYgKHJldF90eXBlKQotCQkqcmV0X3R5cGUgPSBhY3R1YWxfdHlwZTsKKwlpZiAobmV3X3R5cGUpCisJCSpuZXdfdHlwZSA9IGFjdHVhbF90eXBlOwogCiAJc3Bpbl9sb2NrKCZtZW10eXBlX2xvY2spOwogCiAJLyogU2VhcmNoIGZvciBleGlzdGluZyBtYXBwaW5nIHRoYXQgb3ZlcmxhcHMgdGhlIGN1cnJlbnQgcmFuZ2UgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQlzdHJ1Y3QgbWVtdHlwZSAqc2F2ZWRfcHRyOwotCi0JCWlmIChwYXJzZS0+c3RhcnQgPj0gZW5kKSB7Ci0JCQlwcl9kZWJ1ZygiTmV3IEVudHJ5XG4iKTsKLQkJCWxpc3RfYWRkKCZuZXdfZW50cnktPm5kLCBwYXJzZS0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOworCXdoZXJlID0gTlVMTDsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmbWVtdHlwZV9saXN0LCBuZCkgeworCQlpZiAoZW5kIDw9IGVudHJ5LT5zdGFydCkgeworCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCWJyZWFrOwotCQl9Ci0KLQkJaWYgKHN0YXJ0IDw9IHBhcnNlLT5zdGFydCAmJiBlbmQgPj0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDw9IGVudHJ5LT5zdGFydCkgeyAvKiBlbmQgPiBlbnRyeS0+c3RhcnQgKi8KKwkJCWVyciA9IGNoa19jb25mbGljdChuZXcsIGVudHJ5LCBuZXdfdHlwZSk7CisJCQlpZiAoIWVycikgeworCQkJCWRwcmludGsoIk92ZXJsYXAgYXQgMHglTHgtMHglTHhcbiIsCisJCQkJCWVudHJ5LT5zdGFydCwgZW50cnktPmVuZCk7CisJCQkJd2hlcmUgPSBlbnRyeS0+bmQucHJldjsKIAkJCX0KLQotCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJcHJpbnRrKAotCQlLRVJOX0lORk8gIiVzOiVkIGNvbmZsaWN0aW5nIG1lbW9yeSB0eXBlcyAlTHgtJUx4ICVzPC0+JXNcbiIsCi0JCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJY2F0dHJfbmFtZShhY3R1YWxfdHlwZSksCi0JCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0KLQkJCXNhdmVkX3B0ciA9IHBhcnNlOwotCQkJLyoKLQkJCSAqIENoZWNrIHRvIHNlZSB3aGV0aGVyIHRoZSByZXF1ZXN0IG92ZXJsYXBzIG1vcmUKLQkJCSAqIHRoYW4gb25lIGVudHJ5IGluIHRoZSBsaXN0Ci0JCQkgKi8KLQkJCWxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWUocGFyc2UsICZtZW10eXBlX2xpc3QsIG5kKSB7Ci0JCQkJaWYgKGVuZCA8PSBwYXJzZS0+c3RhcnQpIHsKLQkJCQkJYnJlYWs7Ci0JCQkJfQotCi0JCQkJaWYgKGFjdHVhbF90eXBlICE9IHBhcnNlLT50eXBlKSB7Ci0JCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLAotCQkJCQkJc3RhcnQsIGVuZCwKLQkJCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQkJY2F0dHJfbmFtZShwYXJzZS0+dHlwZSkpOwotCQkJCQllcnIgPSAtRUJVU1k7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQkJCX0KLQotCQkJaWYgKGVycikgewotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlwcl9kZWJ1ZygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKLQkJCSAgICAgICBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsIHNhdmVkX3B0ci0+bmQucHJldik7Ci0JCQluZXdfZW50cnkgPSBOVUxMOwogCQkJYnJlYWs7Ci0JCX0KLQotCQlpZiAoc3RhcnQgPCBwYXJzZS0+ZW5kKSB7Ci0JCQlpZiAoYWN0dWFsX3R5cGUgIT0gcGFyc2UtPnR5cGUgJiYgcmV0X3R5cGUpIHsKLQkJCQlhY3R1YWxfdHlwZSA9IHBhcnNlLT50eXBlOwotCQkJCSpyZXRfdHlwZSA9IGFjdHVhbF90eXBlOwotCQkJCW5ld19lbnRyeS0+dHlwZSA9IGFjdHVhbF90eXBlOworCQl9IGVsc2UgaWYgKHN0YXJ0IDwgZW50cnktPmVuZCkgeyAvKiBzdGFydCA+IGVudHJ5LT5zdGFydCAqLworCQkJZXJyID0gY2hrX2NvbmZsaWN0KG5ldywgZW50cnksIG5ld190eXBlKTsKKwkJCWlmICghZXJyKSB7CisJCQkJZHByaW50aygiT3ZlcmxhcCBhdCAweCVMeC0weCVMeFxuIiwKKwkJCQkJZW50cnktPnN0YXJ0LCBlbnRyeS0+ZW5kKTsKKwkJCQl3aGVyZSA9ICZlbnRyeS0+bmQ7CiAJCQl9Ci0KLQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCXByaW50aygKLQkJS0VSTl9JTkZPICIlczolZCBjb25mbGljdGluZyBtZW1vcnkgdHlwZXMgJUx4LSVMeCAlczwtPiVzXG4iLAotCQkJCQljdXJyZW50LT5jb21tLCBjdXJyZW50LT5waWQsCi0JCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCWNhdHRyX25hbWUoYWN0dWFsX3R5cGUpLAotCQkJCQljYXR0cl9uYW1lKHBhcnNlLT50eXBlKSk7Ci0JCQkJZXJyID0gLUVCVVNZOwotCQkJCWJyZWFrOwotCQkJfQotCi0JCQlzYXZlZF9wdHIgPSBwYXJzZTsKLQkJCS8qCi0JCQkgKiBDaGVjayB0byBzZWUgd2hldGhlciB0aGUgcmVxdWVzdCBvdmVybGFwcyBtb3JlCi0JCQkgKiB0aGFuIG9uZSBlbnRyeSBpbiB0aGUgbGlzdAotCQkJICovCi0JCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X2NvbnRpbnVlKHBhcnNlLCAmbWVtdHlwZV9saXN0LCBuZCkgewotCQkJCWlmIChlbmQgPD0gcGFyc2UtPnN0YXJ0KSB7Ci0JCQkJCWJyZWFrOwotCQkJCX0KLQotCQkJCWlmIChhY3R1YWxfdHlwZSAhPSBwYXJzZS0+dHlwZSkgewotCQkJCQlwcmludGsoCi0JCUtFUk5fSU5GTyAiJXM6JWQgY29uZmxpY3RpbmcgbWVtb3J5IHR5cGVzICVMeC0lTHggJXM8LT4lc1xuIiwKLQkJCQkJCWN1cnJlbnQtPmNvbW0sIGN1cnJlbnQtPnBpZCwKLQkJCQkJCXN0YXJ0LCBlbmQsCi0JCQkJCQljYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCQkJCWNhdHRyX25hbWUocGFyc2UtPnR5cGUpKTsKLQkJCQkJZXJyID0gLUVCVVNZOwotCQkJCQlicmVhazsKLQkJCQl9Ci0JCQl9Ci0KLQkJCWlmIChlcnIpIHsKLQkJCQlicmVhazsKLQkJCX0KLQotCQkJcHJfZGVidWcoS0VSTl9JTkZPICJPdmVybGFwIGF0IDB4JUx4LTB4JUx4XG4iLAotCQkJCSBzYXZlZF9wdHItPnN0YXJ0LCBzYXZlZF9wdHItPmVuZCk7Ci0JCQkvKiBObyBjb25mbGljdC4gR28gYWhlYWQgYW5kIGFkZCB0aGlzIG5ldyBlbnRyeSAqLwotCQkJbGlzdF9hZGQoJm5ld19lbnRyeS0+bmQsICZzYXZlZF9wdHItPm5kKTsKLQkJCW5ld19lbnRyeSA9IE5VTEw7CiAJCQlicmVhazsKIAkJfQogCX0KIAogCWlmIChlcnIpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTwotCSJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzXG4iLAotCQkJc3RhcnQsIGVuZCwgY2F0dHJfbmFtZShuZXdfZW50cnktPnR5cGUpLAotCQkJY2F0dHJfbmFtZShyZXFfdHlwZSkpOwotCQlrZnJlZShuZXdfZW50cnkpOworCQlwcmludGsoS0VSTl9JTkZPICJyZXNlcnZlX21lbXR5cGUgZmFpbGVkIDB4JUx4LTB4JUx4LCAiCisJCSAgICAgICAidHJhY2sgJXMsIHJlcSAlc1xuIiwKKwkJICAgICAgIHN0YXJ0LCBlbmQsIGNhdHRyX25hbWUobmV3LT50eXBlKSwgY2F0dHJfbmFtZShyZXFfdHlwZSkpOworCQlrZnJlZShuZXcpOwogCQlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQlpZiAobmV3X2VudHJ5KSB7Ci0JCS8qIE5vIGNvbmZsaWN0LiBOb3QgeWV0IGFkZGVkIHRvIHRoZSBsaXN0LiBBZGQgdG8gdGhlIHRhaWwgKi8KLQkJbGlzdF9hZGRfdGFpbCgmbmV3X2VudHJ5LT5uZCwgJm1lbXR5cGVfbGlzdCk7Ci0JCXByX2RlYnVnKCJOZXcgRW50cnlcbiIpOwotCX0KLQotCWlmIChyZXRfdHlwZSkgewotCQlwcl9kZWJ1ZygKLQkicmVzZXJ2ZV9tZW10eXBlIGFkZGVkIDB4JUx4LTB4JUx4LCB0cmFjayAlcywgcmVxICVzLCByZXQgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpLCBjYXR0cl9uYW1lKCpyZXRfdHlwZSkpOwotCX0gZWxzZSB7Ci0JCXByX2RlYnVnKAotCSJyZXNlcnZlX21lbXR5cGUgYWRkZWQgMHglTHgtMHglTHgsIHRyYWNrICVzLCByZXEgJXNcbiIsCi0JCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKGFjdHVhbF90eXBlKSwKLQkJCWNhdHRyX25hbWUocmVxX3R5cGUpKTsKLQl9CisJaWYgKHdoZXJlKQorCQlsaXN0X2FkZCgmbmV3LT5uZCwgd2hlcmUpOworCWVsc2UKKwkJbGlzdF9hZGRfdGFpbCgmbmV3LT5uZCwgJm1lbXR5cGVfbGlzdCk7CiAKIAlzcGluX3VubG9jaygmbWVtdHlwZV9sb2NrKTsKKworCWRwcmludGsoInJlc2VydmVfbWVtdHlwZSBhZGRlZCAweCVMeC0weCVMeCwgdHJhY2sgJXMsIHJlcSAlcywgcmV0ICVzXG4iLAorCQlzdGFydCwgZW5kLCBjYXR0cl9uYW1lKG5ldy0+dHlwZSksIGNhdHRyX25hbWUocmVxX3R5cGUpLAorCQluZXdfdHlwZSA/IGNhdHRyX25hbWUoKm5ld190eXBlKSA6ICItIik7CisKIAlyZXR1cm4gZXJyOwogfQogCiBpbnQgZnJlZV9tZW10eXBlKHU2NCBzdGFydCwgdTY0IGVuZCkKIHsKLQlzdHJ1Y3QgbWVtdHlwZSAqbWw7CisJc3RydWN0IG1lbXR5cGUgKmVudHJ5OwogCWludCBlcnIgPSAtRUlOVkFMOwogCi0JLyogT25seSB0cmFjayB3aGVuIHBhdF93Y19lbmFibGVkICovCi0JaWYgKCFwYXRfd2NfZW5hYmxlZCkgeworCWlmICghcGF0X2VuYWJsZWQpCiAJCXJldHVybiAwOwotCX0KIAogCS8qIExvdyBJU0EgcmVnaW9uIGlzIGFsd2F5cyBtYXBwZWQgV0IuIE5vIG5lZWQgdG8gdHJhY2sgKi8KLQlpZiAoc3RhcnQgPj0gSVNBX1NUQVJUX0FERFJFU1MgJiYgZW5kIDw9IElTQV9FTkRfQUREUkVTUykgeworCWlmIChpc19JU0FfcmFuZ2Uoc3RhcnQsIGVuZCAtIDEpKQogCQlyZXR1cm4gMDsKLQl9CiAKIAlzcGluX2xvY2soJm1lbXR5cGVfbG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShtbCwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKLQkJaWYgKG1sLT5zdGFydCA9PSBzdGFydCAmJiBtbC0+ZW5kID09IGVuZCkgewotCQkJbGlzdF9kZWwoJm1sLT5uZCk7Ci0JCQlrZnJlZShtbCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJm1lbXR5cGVfbGlzdCwgbmQpIHsKKwkJaWYgKGVudHJ5LT5zdGFydCA9PSBzdGFydCAmJiBlbnRyeS0+ZW5kID09IGVuZCkgeworCQkJbGlzdF9kZWwoJmVudHJ5LT5uZCk7CisJCQlrZnJlZShlbnRyeSk7CiAJCQllcnIgPSAwOwogCQkJYnJlYWs7CiAJCX0KQEAgLTQ1Miw3ICszNTQsNyBAQAogCQkJY3VycmVudC0+Y29tbSwgY3VycmVudC0+cGlkLCBzdGFydCwgZW5kKTsKIAl9CiAKLQlwcl9kZWJ1ZygiZnJlZV9tZW10eXBlIHJlcXVlc3QgMHglTHgtMHglTHhcbiIsIHN0YXJ0LCBlbmQpOworCWRwcmludGsoImZyZWVfbWVtdHlwZSByZXF1ZXN0IDB4JUx4LTB4JUx4XG4iLCBzdGFydCwgZW5kKTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC01MjEsMTIgKzQyMywxMiBAQAogCSAqIGNhY2hpbmcgZm9yIHRoZSBoaWdoIGFkZHJlc3NlcyB0aHJvdWdoIHRoZSBLRU4gcGluLCBidXQKIAkgKiB3ZSBtYWludGFpbiB0aGUgdHJhZGl0aW9uIG9mIHBhcmFub2lhIGluIHRoaXMgY29kZS4KIAkgKi8KLQlpZiAoIXBhdF93Y19lbmFibGVkICYmCi0JICAgICEgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9LNl9NVFJSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSB8fAotCQl0ZXN0X2JpdChYODZfRkVBVFVSRV9DWVJJWF9BUlIsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpIHx8Ci0JCXRlc3RfYml0KFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KSkgJiYKLQkgICAocGZuIDw8IFBBR0VfU0hJRlQpID49IF9fcGEoaGlnaF9tZW1vcnkpKSB7CisJaWYgKCFwYXRfZW5hYmxlZCAmJgorCSAgICAhKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9LNl9NVFJSKSB8fAorCSAgICAgIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DWVJJWF9BUlIpIHx8CisJICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NFTlRBVVJfTUNSKSkgJiYKKwkgICAgKHBmbiA8PCBQQUdFX1NISUZUKSA+PSBfX3BhKGhpZ2hfbWVtb3J5KSkgewogCQlmbGFncyA9IF9QQUdFX0NBQ0hFX1VDOwogCX0KICNlbmRpZgpAQCAtNTQ3LDggKzQ0OSw5IEBACiAJaWYgKHJldHZhbCA8IDApCiAJCXJldHVybiAwOwogCi0JaWYgKHBmbiA8PSBtYXhfcGZuX21hcHBlZCAmJgotICAgICAgICAgICAgaW9yZW1hcF9jaGFuZ2VfYXR0cigodW5zaWduZWQgbG9uZylfX3ZhKG9mZnNldCksIHNpemUsIGZsYWdzKSA8IDApIHsKKwlpZiAoKChwZm4gPCBtYXhfbG93X3Bmbl9tYXBwZWQpIHx8CisJICAgICAocGZuID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJiBwZm4gPCBtYXhfcGZuX21hcHBlZCkpICYmCisJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShvZmZzZXQpLCBzaXplLCBmbGFncykgPCAwKSB7CiAJCWZyZWVfbWVtdHlwZShvZmZzZXQsIG9mZnNldCArIHNpemUpOwogCQlwcmludGsoS0VSTl9JTkZPCiAJCSIlczolZCAvZGV2L21lbSBpb3JlbWFwX2NoYW5nZV9hdHRyIGZhaWxlZCAlcyBmb3IgJUx4LSVMeFxuIiwKQEAgLTU4Niw0ICs0ODksMyBAQAogCiAJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBzaXplKTsKIH0KLQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGZfaW4uYyBiL2FyY2gveDg2L21tL3BmX2luLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhMTkxMQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gveDg2L21tL3BmX2luLmMKQEAgLTAsMCArMSw0ODkgQEAKKy8qCisgKiAgRmF1bHQgSW5qZWN0aW9uIFRlc3QgaGFybmVzcyAoRkkpCisgKiAgQ29weXJpZ2h0IChDKSBJbnRlbCBDcm9wLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3LAorICogIFVTQS4KKyAqCisgKi8KKworLyogIElkOiBwZl9pbi5jLHYgMS4xLjEuMSAyMDAyLzExLzEyIDA1OjU2OjMyIGJybG9jayBFeHAKKyAqICBDb3B5cmlnaHQgYnkgSW50ZWwgQ3JvcC4sIDIwMDIKKyAqICBMb3VpcyBaaHVhbmcgKGxvdWlzLnpodWFuZ0BpbnRlbC5jb20pCisgKgorICogIEJqb3JuIFN0ZWluYnJpbmsgKEIuU3RlaW5icmlua0BnbXguZGUpLCAyMDA3CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPiAvKiBzdHJ1Y3QgcHRfcmVncyAqLworI2luY2x1ZGUgInBmX2luLmgiCisKKyNpZmRlZiBfX2kzODZfXworLyogSUEzMiBNYW51YWwgMywgMi0xICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweEYwLCAweEYyLCAweEYzLCAweDJFLCAweDM2LCAweDNFLCAweDI2LCAweDY0LAorCTB4NjUsIDB4MkUsIDB4M0UsIDB4NjYsIDB4NjcKK307CisvKiBJQTMyIE1hbnVhbCAzLCAzLTQzMiovCitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ19yb3BbXSA9IHsKKwkweDhBLCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CitzdGF0aWMgdW5zaWduZWQgaW50IHJlZ193b3BbXSA9IHsgMHg4OCwgMHg4OSB9Oworc3RhdGljIHVuc2lnbmVkIGludCBpbW1fd29wW10gPSB7IDB4QzYsIDB4QzcgfTsKKy8qIElBMzIgTWFudWFsIDMsIDMtNDMyKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcnczMltdID0geworCTB4ODksIDB4OEIsIDB4QzcsIDB4QjYwRiwgMHhCNzBGLCAweEJFMEYsIDB4QkYwRgorfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXc4W10gPSB7IDB4ODgsIDB4OEEsIDB4QzYsIDB4QjYwRiwgMHhCRTBGIH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13MTZbXSA9IHsgMHhCNzBGLCAweEJGMEYgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXczMltdID0geyAweDg5LCAweDhCLCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IG13NjRbXSA9IHt9OworI2Vsc2UgLyogbm90IF9faTM4Nl9fICovCitzdGF0aWMgdW5zaWduZWQgY2hhciBwcmVmaXhfY29kZXNbXSA9IHsKKwkweDY2LCAweDY3LCAweDJFLCAweDNFLCAweDI2LCAweDY0LCAweDY1LCAweDM2LAorCTB4RjAsIDB4RjMsIDB4RjIsCisJLyogUkVYIFByZWZpeGVzICovCisJMHg0MCwgMHg0MSwgMHg0MiwgMHg0MywgMHg0NCwgMHg0NSwgMHg0NiwgMHg0NywKKwkweDQ4LCAweDQ5LCAweDRhLCAweDRiLCAweDRjLCAweDRkLCAweDRlLCAweDRmCit9OworLyogQU1ENjQgTWFudWFsIDMsIEFwcGVuZGl4IEEqLworc3RhdGljIHVuc2lnbmVkIGludCByZWdfcm9wW10gPSB7CisJMHg4QSwgMHg4QiwgMHhCNjBGLCAweEI3MEYsIDB4QkUwRiwgMHhCRjBGCit9Oworc3RhdGljIHVuc2lnbmVkIGludCByZWdfd29wW10gPSB7IDB4ODgsIDB4ODkgfTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgaW1tX3dvcFtdID0geyAweEM2LCAweEM3IH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3OFtdID0geyAweEM2LCAweDg4LCAweDhBIH07CitzdGF0aWMgdW5zaWduZWQgaW50IHJ3MzJbXSA9IHsKKwkweEM3LCAweDg5LCAweDhCLCAweEI2MEYsIDB4QjcwRiwgMHhCRTBGLCAweEJGMEYKK307CisvKiA4IGJpdCBvbmx5ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13OFtdID0geyAweEM2LCAweDg4LCAweDhBLCAweEI2MEYsIDB4QkUwRiB9OworLyogMTYgYml0IG9ubHkgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXcxNltdID0geyAweEI3MEYsIDB4QkYwRiB9OworLyogMTYgb3IgMzIgYml0ICovCitzdGF0aWMgdW5zaWduZWQgaW50IG13MzJbXSA9IHsgMHhDNyB9OworLyogMTYsIDMyIG9yIDY0IGJpdCAqLworc3RhdGljIHVuc2lnbmVkIGludCBtdzY0W10gPSB7IDB4ODksIDB4OEIgfTsKKyNlbmRpZiAvKiBub3QgX19pMzg2X18gKi8KKworc3RhdGljIGludCBza2lwX3ByZWZpeCh1bnNpZ25lZCBjaGFyICphZGRyLCBpbnQgKnNob3J0ZWQsIGludCAqZW5sYXJnZWQsCisJCQkJCQkJCWludCAqcmV4cikKK3sKKwlpbnQgaTsKKwl1bnNpZ25lZCBjaGFyICpwID0gYWRkcjsKKwkqc2hvcnRlZCA9IDA7CisJKmVubGFyZ2VkID0gMDsKKwkqcmV4ciA9IDA7CisKK3Jlc3RhcnQ6CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocHJlZml4X2NvZGVzKTsgaSsrKSB7CisJCWlmICgqcCA9PSBwcmVmaXhfY29kZXNbaV0pIHsKKwkJCWlmICgqcCA9PSAweDY2KQorCQkJCSpzaG9ydGVkID0gMTsKKyNpZmRlZiBfX2FtZDY0X18KKwkJCWlmICgoKnAgJiAweGY4KSA9PSAweDQ4KQorCQkJCSplbmxhcmdlZCA9IDE7CisJCQlpZiAoKCpwICYgMHhmNCkgPT0gMHg0NCkKKwkJCQkqcmV4ciA9IDE7CisjZW5kaWYKKwkJCXArKzsKKwkJCWdvdG8gcmVzdGFydDsKKwkJfQorCX0KKworCXJldHVybiAocCAtIGFkZHIpOworfQorCitzdGF0aWMgaW50IGdldF9vcGNvZGUodW5zaWduZWQgY2hhciAqYWRkciwgdW5zaWduZWQgaW50ICpvcGNvZGUpCit7CisJaW50IGxlbjsKKworCWlmICgqYWRkciA9PSAweDBGKSB7CisJCS8qIDB4MEYgaXMgZXh0ZW5zaW9uIGluc3RydWN0aW9uICovCisJCSpvcGNvZGUgPSAqKHVuc2lnbmVkIHNob3J0ICopYWRkcjsKKwkJbGVuID0gMjsKKwl9IGVsc2UgeworCQkqb3Bjb2RlID0gKmFkZHI7CisJCWxlbiA9IDE7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworI2RlZmluZSBDSEVDS19PUF9UWVBFKG9wY29kZSwgYXJyYXksIHR5cGUpIFwKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhcnJheSk7IGkrKykgeyBcCisJCWlmIChhcnJheVtpXSA9PSBvcGNvZGUpIHsgXAorCQkJcnYgPSB0eXBlOyBcCisJCQlnb3RvIGV4aXQ7IFwKKwkJfSBcCisJfQorCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisJaW50IGk7CisJZW51bSByZWFzb25fdHlwZSBydiA9IE9USEVSUzsKKworCXAgPSAodW5zaWduZWQgY2hhciAqKWluc19hZGRyOworCXAgKz0gc2tpcF9wcmVmaXgocCwgJnNob3J0ZWQsICZlbmxhcmdlZCwgJnJleHIpOworCXAgKz0gZ2V0X29wY29kZShwLCAmb3Bjb2RlKTsKKworCUNIRUNLX09QX1RZUEUob3Bjb2RlLCByZWdfcm9wLCBSRUdfUkVBRCk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIHJlZ193b3AsIFJFR19XUklURSk7CisJQ0hFQ0tfT1BfVFlQRShvcGNvZGUsIGltbV93b3AsIElNTV9XUklURSk7CisKK2V4aXQ6CisJcmV0dXJuIHJ2OworfQorI3VuZGVmIENIRUNLX09QX1RZUEUKKworc3RhdGljIHVuc2lnbmVkIGludCBnZXRfaW5zX3JlZ193aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzgpOyBpKyspCisJCWlmIChydzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShydzMyKTsgaSsrKQorCQlpZiAocnczMltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gKHNob3J0ZWQgPyAyIDogKGVubGFyZ2VkID8gOCA6IDQpKTsKKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBVbmtub3duIG9wY29kZSAweCUwMnhcbiIsIG9wY29kZSk7CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKQoreworCXVuc2lnbmVkIGludCBvcGNvZGU7CisJdW5zaWduZWQgY2hhciAqcDsKKwlpbnQgaSwgc2hvcnRlZCwgZW5sYXJnZWQsIHJleHI7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzgpOyBpKyspCisJCWlmIChtdzhbaV0gPT0gb3Bjb2RlKQorCQkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzE2KTsgaSsrKQorCQlpZiAobXcxNltpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gMjsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG13MzIpOyBpKyspCisJCWlmIChtdzMyW2ldID09IG9wY29kZSkKKwkJCXJldHVybiBzaG9ydGVkID8gMiA6IDQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShtdzY0KTsgaSsrKQorCQlpZiAobXc2NFtpXSA9PSBvcGNvZGUpCisJCQlyZXR1cm4gc2hvcnRlZCA/IDIgOiAoZW5sYXJnZWQgPyA4IDogNCk7CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogVW5rbm93biBvcGNvZGUgMHglMDJ4XG4iLCBvcGNvZGUpOworCXJldHVybiAwOworfQorCisvKgorICogRGVmaW5lIHJlZ2lzdGVyIGlkZW50IGluIG1vZC9ybSBieXRlLgorICogTm90ZTogdGhlc2UgYXJlIE5PVCB0aGUgc2FtZSBhcyBpbiBwdHJhY2UtYWJpLmguCisgKi8KK2VudW0geworCWFyZ19BTCA9IDAsCisJYXJnX0NMID0gMSwKKwlhcmdfREwgPSAyLAorCWFyZ19CTCA9IDMsCisJYXJnX0FIID0gNCwKKwlhcmdfQ0ggPSA1LAorCWFyZ19ESCA9IDYsCisJYXJnX0JIID0gNywKKworCWFyZ19BWCA9IDAsCisJYXJnX0NYID0gMSwKKwlhcmdfRFggPSAyLAorCWFyZ19CWCA9IDMsCisJYXJnX1NQID0gNCwKKwlhcmdfQlAgPSA1LAorCWFyZ19TSSA9IDYsCisJYXJnX0RJID0gNywKKyNpZmRlZiBfX2FtZDY0X18KKwlhcmdfUjggID0gOCwKKwlhcmdfUjkgID0gOSwKKwlhcmdfUjEwID0gMTAsCisJYXJnX1IxMSA9IDExLAorCWFyZ19SMTIgPSAxMiwKKwlhcmdfUjEzID0gMTMsCisJYXJnX1IxNCA9IDE0LAorCWFyZ19SMTUgPSAxNQorI2VuZGlmCit9OworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X3JlZ193OChpbnQgbm8sIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXVuc2lnbmVkIGNoYXIgKnJ2ID0gTlVMTDsKKworCXN3aXRjaCAobm8pIHsKKwljYXNlIGFyZ19BTDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQkw6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NMOgorCQlydiA9ICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmN4OworCQlicmVhazsKKwljYXNlIGFyZ19ETDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQUg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmF4OworCQlicmVhazsKKwljYXNlIGFyZ19CSDoKKwkJcnYgPSAxICsgKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+Yng7CisJCWJyZWFrOworCWNhc2UgYXJnX0NIOgorCQlydiA9IDEgKyAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5jeDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREg6CisJCXJ2ID0gMSArICh1bnNpZ25lZCBjaGFyICopJnJlZ3MtPmR4OworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yODsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjk6CisJCXJ2ID0gKHVuc2lnbmVkIGNoYXIgKikmcmVncy0+cjk7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTE7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMjoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTI7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMzoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTQ7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNToKKwkJcnYgPSAodW5zaWduZWQgY2hhciAqKSZyZWdzLT5yMTU7CisJCWJyZWFrOworI2VuZGlmCisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IEVycm9yIHJlZyBubyMgJWRcbiIsIG5vKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBydjsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgKmdldF9yZWdfdzMyKGludCBubywgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgbG9uZyAqcnYgPSBOVUxMOworCisJc3dpdGNoIChubykgeworCWNhc2UgYXJnX0FYOgorCQlydiA9ICZyZWdzLT5heDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfQlg6CisJCXJ2ID0gJnJlZ3MtPmJ4OworCQlicmVhazsKKwljYXNlIGFyZ19DWDoKKwkJcnYgPSAmcmVncy0+Y3g7CisJCWJyZWFrOworCWNhc2UgYXJnX0RYOgorCQlydiA9ICZyZWdzLT5keDsKKwkJYnJlYWs7CisJY2FzZSBhcmdfU1A6CisJCXJ2ID0gJnJlZ3MtPnNwOworCQlicmVhazsKKwljYXNlIGFyZ19CUDoKKwkJcnYgPSAmcmVncy0+YnA7CisJCWJyZWFrOworCWNhc2UgYXJnX1NJOgorCQlydiA9ICZyZWdzLT5zaTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfREk6CisJCXJ2ID0gJnJlZ3MtPmRpOworCQlicmVhazsKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIGFyZ19SODoKKwkJcnYgPSAmcmVncy0+cjg7CisJCWJyZWFrOworCWNhc2UgYXJnX1I5OgorCQlydiA9ICZyZWdzLT5yOTsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEwOgorCQlydiA9ICZyZWdzLT5yMTA7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxMToKKwkJcnYgPSAmcmVncy0+cjExOworCQlicmVhazsKKwljYXNlIGFyZ19SMTI6CisJCXJ2ID0gJnJlZ3MtPnIxMjsKKwkJYnJlYWs7CisJY2FzZSBhcmdfUjEzOgorCQlydiA9ICZyZWdzLT5yMTM7CisJCWJyZWFrOworCWNhc2UgYXJnX1IxNDoKKwkJcnYgPSAmcmVncy0+cjE0OworCQlicmVhazsKKwljYXNlIGFyZ19SMTU6CisJCXJ2ID0gJnJlZ3MtPnIxNTsKKwkJYnJlYWs7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3IgcmVnIG5vIyAlZFxuIiwgbm8pOworCX0KKworCXJldHVybiBydjsKK30KKwordW5zaWduZWQgbG9uZyBnZXRfaW5zX3JlZ192YWwodW5zaWduZWQgbG9uZyBpbnNfYWRkciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwlpbnQgcmVnOworCXVuc2lnbmVkIGNoYXIgKnA7CisJaW50IGksIHNob3J0ZWQsIGVubGFyZ2VkLCByZXhyOworCXVuc2lnbmVkIGxvbmcgcnY7CisKKwlwID0gKHVuc2lnbmVkIGNoYXIgKilpbnNfYWRkcjsKKwlwICs9IHNraXBfcHJlZml4KHAsICZzaG9ydGVkLCAmZW5sYXJnZWQsICZyZXhyKTsKKwlwICs9IGdldF9vcGNvZGUocCwgJm9wY29kZSk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVnX3JvcCk7IGkrKykKKwkJaWYgKHJlZ19yb3BbaV0gPT0gb3Bjb2RlKSB7CisJCQlydiA9IFJFR19SRUFEOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyZWdfd29wKTsgaSsrKQorCQlpZiAocmVnX3dvcFtpXSA9PSBvcGNvZGUpIHsKKwkJCXJ2ID0gUkVHX1dSSVRFOworCQkJZ290byBkb193b3JrOworCQl9CisKKwlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogTm90IGEgcmVnaXN0ZXIgaW5zdHJ1Y3Rpb24sIG9wY29kZSAiCisJCQkJCQkJIjB4JTAyeFxuIiwgb3Bjb2RlKTsKKwlnb3RvIGVycjsKKworZG9fd29yazoKKwltb2Rfcm0gPSAqcDsKKwlyZWcgPSAoKG1vZF9ybSA+PiAzKSAmIDB4NykgfCAocmV4ciA8PCAzKTsKKwlzd2l0Y2ggKGdldF9pbnNfcmVnX3dpZHRoKGluc19hZGRyKSkgeworCWNhc2UgMToKKwkJcmV0dXJuICpnZXRfcmVnX3c4KHJlZywgcmVncyk7CisKKwljYXNlIDI6CisJCXJldHVybiAqKHVuc2lnbmVkIHNob3J0ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworCWNhc2UgNDoKKwkJcmV0dXJuICoodW5zaWduZWQgaW50ICopZ2V0X3JlZ193MzIocmVnLCByZWdzKTsKKworI2lmZGVmIF9fYW1kNjRfXworCWNhc2UgODoKKwkJcmV0dXJuICoodW5zaWduZWQgbG9uZyAqKWdldF9yZWdfdzMyKHJlZywgcmVncyk7CisjZW5kaWYKKworCWRlZmF1bHQ6CisJCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBFcnJvciB3aWR0aCMgJWRcbiIsIHJlZyk7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpCit7CisJdW5zaWduZWQgaW50IG9wY29kZTsKKwl1bnNpZ25lZCBjaGFyIG1vZF9ybTsKKwl1bnNpZ25lZCBjaGFyIG1vZDsKKwl1bnNpZ25lZCBjaGFyICpwOworCWludCBpLCBzaG9ydGVkLCBlbmxhcmdlZCwgcmV4cjsKKwl1bnNpZ25lZCBsb25nIHJ2OworCisJcCA9ICh1bnNpZ25lZCBjaGFyICopaW5zX2FkZHI7CisJcCArPSBza2lwX3ByZWZpeChwLCAmc2hvcnRlZCwgJmVubGFyZ2VkLCAmcmV4cik7CisJcCArPSBnZXRfb3Bjb2RlKHAsICZvcGNvZGUpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGltbV93b3ApOyBpKyspCisJCWlmIChpbW1fd29wW2ldID09IG9wY29kZSkgeworCQkJcnYgPSBJTU1fV1JJVEU7CisJCQlnb3RvIGRvX3dvcms7CisJCX0KKworCXByaW50ayhLRVJOX0VSUiAibW1pb3RyYWNlOiBOb3QgYW4gaW1tZWRpYXRlIGluc3RydWN0aW9uLCBvcGNvZGUgIgorCQkJCQkJCSIweCUwMnhcbiIsIG9wY29kZSk7CisJZ290byBlcnI7CisKK2RvX3dvcms6CisJbW9kX3JtID0gKnA7CisJbW9kID0gbW9kX3JtID4+IDY7CisJcCsrOworCXN3aXRjaCAobW9kKSB7CisJY2FzZSAwOgorCQkvKiBpZiByL20gaXMgNSB3ZSBoYXZlIGEgMzIgZGlzcCAoSUEzMiBNYW51YWwgMywgVGFibGUgMi0yKSAgKi8KKwkJLyogQU1ENjQ6IFhYWCBDaGVjayBmb3IgYWRkcmVzcyBzaXplIHByZWZpeD8gKi8KKwkJaWYgKChtb2Rfcm0gJiAweDcpID09IDB4NSkKKwkJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDE6CisJCXAgKz0gMTsKKwkJYnJlYWs7CisKKwljYXNlIDI6CisJCXAgKz0gNDsKKwkJYnJlYWs7CisKKwljYXNlIDM6CisJZGVmYXVsdDoKKwkJcHJpbnRrKEtFUk5fRVJSICJtbWlvdHJhY2U6IG5vdCBhIG1lbW9yeSBhY2Nlc3MgaW5zdHJ1Y3Rpb24gIgorCQkJCQkJImF0IDB4JWx4LCBybV9tb2Q9MHglMDJ4XG4iLAorCQkJCQkJaW5zX2FkZHIsIG1vZF9ybSk7CisJfQorCisJc3dpdGNoIChnZXRfaW5zX3JlZ193aWR0aChpbnNfYWRkcikpIHsKKwljYXNlIDE6CisJCXJldHVybiAqKHVuc2lnbmVkIGNoYXIgKilwOworCisJY2FzZSAyOgorCQlyZXR1cm4gKih1bnNpZ25lZCBzaG9ydCAqKXA7CisKKwljYXNlIDQ6CisJCXJldHVybiAqKHVuc2lnbmVkIGludCAqKXA7CisKKyNpZmRlZiBfX2FtZDY0X18KKwljYXNlIDg6CisJCXJldHVybiAqKHVuc2lnbmVkIGxvbmcgKilwOworI2VuZGlmCisKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgIm1taW90cmFjZTogRXJyb3I6IHdpZHRoLlxuIik7CisJfQorCitlcnI6CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZl9pbi5oIGIvYXJjaC94ODYvbW0vcGZfaW4uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDUzNDFhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vcGZfaW4uaApAQCAtMCwwICsxLDM5IEBACisvKgorICogIEZhdWx0IEluamVjdGlvbiBUZXN0IGhhcm5lc3MgKEZJKQorICogIENvcHlyaWdodCAoQykgSW50ZWwgQ3JvcC4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNywKKyAqICBVU0EuCisgKgorICovCisKKyNpZm5kZWYgX19QRl9IXworI2RlZmluZSBfX1BGX0hfCisKK2VudW0gcmVhc29uX3R5cGUgeworCU5PVF9NRSwJLyogcGFnZSBmYXVsdCBpcyBub3QgaW4gcmVnaW9ucyAqLworCU5PVEhJTkcsCS8qIGFjY2VzcyBvdGhlcnMgcG9pbnQgaW4gcmVnaW9ucyAqLworCVJFR19SRUFELAkvKiByZWFkIGZyb20gYWRkciB0byByZWcgKi8KKwlSRUdfV1JJVEUsCS8qIHdyaXRlIGZyb20gcmVnIHRvIGFkZHIgKi8KKwlJTU1fV1JJVEUsCS8qIHdyaXRlIGZyb20gaW1tIHRvIGFkZHIgKi8KKwlPVEhFUlMJLyogT3RoZXIgaW5zdHJ1Y3Rpb25zIGNhbiBub3QgaW50ZXJjZXB0ICovCit9OworCitlbnVtIHJlYXNvbl90eXBlIGdldF9pbnNfdHlwZSh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGludCBnZXRfaW5zX21lbV93aWR0aCh1bnNpZ25lZCBsb25nIGluc19hZGRyKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19yZWdfdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIsIHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKK3Vuc2lnbmVkIGxvbmcgZ2V0X2luc19pbW1fdmFsKHVuc2lnbmVkIGxvbmcgaW5zX2FkZHIpOworCisjZW5kaWYgLyogX19QRl9IXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vcGd0YWJsZS5jIGIvYXJjaC94ODYvbW0vcGd0YWJsZS5jCmluZGV4IDUwMTU5NzYuLjU1N2IyYWIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL3BndGFibGUuYworKysgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlLmMKQEAgLTIsNiArMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS90bGIuaD4KKyNpbmNsdWRlIDxhc20vZml4bWFwLmg+CiAKIHB0ZV90ICpwdGVfYWxsb2Nfb25lX2tlcm5lbChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewpAQCAtNjUsMTIgKzY2LDYgQEAKIHN0YXRpYyB2b2lkIHBnZF9jdG9yKHZvaWQgKnApCiB7CiAJcGdkX3QgKnBnZCA9IHA7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCS8qIENsZWFyIHVzZXJtb2RlIHBhcnRzIG9mIFBHRCAqLwotCW1lbXNldChwZ2QsIDAsIEtFUk5FTF9QR0RfQk9VTkRBUlkqc2l6ZW9mKHBnZF90KSk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCS8qIElmIHRoZSBwZ2QgcG9pbnRzIHRvIGEgc2hhcmVkIHBhZ2V0YWJsZSBsZXZlbCAoZWl0aGVyIHRoZQogCSAgIHB0ZXMgaW4gbm9uLVBBRSwgb3Igc2hhcmVkIFBNRCBpbiBQQUUpLCB0aGVuIGp1c3QgY29weSB0aGUKQEAgLTkwLDggKzg1LDYgQEAKIAkvKiBsaXN0IHJlcXVpcmVkIHRvIHN5bmMga2VybmVsIG1hcHBpbmcgdXBkYXRlcyAqLwogCWlmICghU0hBUkVEX0tFUk5FTF9QTUQpCiAJCXBnZF9saXN0X2FkZChwZ2QpOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIH0KIAogc3RhdGljIHZvaWQgcGdkX2R0b3Iodm9pZCAqcGdkKQpAQCAtMTE5LDMwICsxMTIsNiBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl9QQUUKIC8qCi0gKiBNb3AgdXAgYW55IHBtZCBwYWdlcyB3aGljaCBtYXkgc3RpbGwgYmUgYXR0YWNoZWQgdG8gdGhlIHBnZC4KLSAqIE5vcm1hbGx5IHRoZXkgd2lsbCBiZSBmcmVlZCBieSBtdW5tYXAvZXhpdF9tbWFwLCBidXQgYW55IHBtZCB3ZQotICogcHJlYWxsb2NhdGUgd2hpY2ggbmV2ZXIgZ290IGEgY29ycmVzcG9uZGluZyB2bWEgd2lsbCBuZWVkIHRvIGJlCi0gKiBmcmVlZCBtYW51YWxseS4KLSAqLwotc3RhdGljIHZvaWQgcGdkX21vcF91cF9wbWRzKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkcCkKLXsKLQlpbnQgaTsKLQotCWZvcihpID0gMDsgaSA8IFVOU0hBUkVEX1BUUlNfUEVSX1BHRDsgaSsrKSB7Ci0JCXBnZF90IHBnZCA9IHBnZHBbaV07Ci0KLQkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7Ci0JCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKLQotCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKLQotCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOwotCQkJcG1kX2ZyZWUobW0sIHBtZCk7Ci0JCX0KLQl9Ci19Ci0KLS8qCiAgKiBJbiBQQUUgbW9kZSwgd2UgbmVlZCB0byBkbyBhIGNyMyByZWxvYWQgKD10bGIgZmx1c2gpIHdoZW4KICAqIHVwZGF0aW5nIHRoZSB0b3AtbGV2ZWwgcGFnZXRhYmxlIGVudHJpZXMgdG8gZ3VhcmFudGVlIHRoZQogICogcHJvY2Vzc29yIG5vdGljZXMgdGhlIHVwZGF0ZS4gIFNpbmNlIHRoaXMgaXMgZXhwZW5zaXZlLCBhbmQKQEAgLTE1MywzMSArMTIyLDcgQEAKICAqIG5vdCBzaGFyZWQgYmV0d2VlbiBwYWdldGFibGVzICghU0hBUkVEX0tFUk5FTF9QTURTKSwgd2UgYWxsb2NhdGUKICAqIGFuZCBpbml0aWFsaXplIHRoZSBrZXJuZWwgcG1kcyBoZXJlLgogICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCi17Ci0JcHVkX3QgKnB1ZDsKLQl1bnNpZ25lZCBsb25nIGFkZHI7Ci0JaW50IGk7Ci0KLQlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7Ci0gCWZvciAoYWRkciA9IGkgPSAwOyBpIDwgVU5TSEFSRURfUFRSU19QRVJfUEdEOwotCSAgICAgaSsrLCBwdWQrKywgYWRkciArPSBQVURfU0laRSkgewotCQlwbWRfdCAqcG1kID0gcG1kX2FsbG9jX29uZShtbSwgYWRkcik7Ci0KLQkJaWYgKCFwbWQpIHsKLQkJCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKLQkJCXJldHVybiAwOwotCQl9Ci0KLQkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKLQkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKLQkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKLQotCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KKyNkZWZpbmUgUFJFQUxMT0NBVEVEX1BNRFMJVU5TSEFSRURfUFRSU19QRVJfUEdECiAKIHZvaWQgcHVkX3BvcHVsYXRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwdWRfdCAqcHVkcCwgcG1kX3QgKnBtZCkKIHsKQEAgLTE5NywzOSArMTQyLDEzMSBAQAogCQl3cml0ZV9jcjMocmVhZF9jcjMoKSk7CiB9CiAjZWxzZSAgLyogIUNPTkZJR19YODZfUEFFICovCisKIC8qIE5vIG5lZWQgdG8gcHJlcG9wdWxhdGUgYW55IHBhZ2V0YWJsZSBlbnRyaWVzIGluIG5vbi1QQUUgbW9kZXMuICovCi1zdGF0aWMgaW50IHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpCisjZGVmaW5lIFBSRUFMTE9DQVRFRF9QTURTCTAKKworI2VuZGlmCS8qIENPTkZJR19YODZfUEFFICovCisKK3N0YXRpYyB2b2lkIGZyZWVfcG1kcyhwbWRfdCAqcG1kc1tdKQogewotCXJldHVybiAxOworCWludCBpOworCisJZm9yKGkgPSAwOyBpIDwgUFJFQUxMT0NBVEVEX1BNRFM7IGkrKykKKwkJaWYgKHBtZHNbaV0pCisJCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcG1kc1tpXSk7CiB9CiAKLXN0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKK3N0YXRpYyBpbnQgcHJlYWxsb2NhdGVfcG1kcyhwbWRfdCAqcG1kc1tdKQogeworCWludCBpOworCWJvb2wgZmFpbGVkID0gZmFsc2U7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBtZF90ICpwbWQgPSAocG1kX3QgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTHxfX0dGUF9SRVBFQVQpOworCQlpZiAocG1kID09IE5VTEwpCisJCQlmYWlsZWQgPSB0cnVlOworCQlwbWRzW2ldID0gcG1kOworCX0KKworCWlmIChmYWlsZWQpIHsKKwkJZnJlZV9wbWRzKHBtZHMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlyZXR1cm4gMDsKIH0KLSNlbmRpZgkvKiBDT05GSUdfWDg2X1BBRSAqLworCisvKgorICogTW9wIHVwIGFueSBwbWQgcGFnZXMgd2hpY2ggbWF5IHN0aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSBwZ2QuCisgKiBOb3JtYWxseSB0aGV5IHdpbGwgYmUgZnJlZWQgYnkgbXVubWFwL2V4aXRfbW1hcCwgYnV0IGFueSBwbWQgd2UKKyAqIHByZWFsbG9jYXRlIHdoaWNoIG5ldmVyIGdvdCBhIGNvcnJlc3BvbmRpbmcgdm1hIHdpbGwgbmVlZCB0byBiZQorICogZnJlZWQgbWFudWFsbHkuCisgKi8KK3N0YXRpYyB2b2lkIHBnZF9tb3BfdXBfcG1kcyhzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZHApCit7CisJaW50IGk7CisKKwlmb3IoaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsgaSsrKSB7CisJCXBnZF90IHBnZCA9IHBnZHBbaV07CisKKwkJaWYgKHBnZF92YWwocGdkKSAhPSAwKSB7CisJCQlwbWRfdCAqcG1kID0gKHBtZF90ICopcGdkX3BhZ2VfdmFkZHIocGdkKTsKKworCQkJcGdkcFtpXSA9IG5hdGl2ZV9tYWtlX3BnZCgwKTsKKworCQkJcGFyYXZpcnRfcmVsZWFzZV9wbWQocGdkX3ZhbChwZ2QpID4+IFBBR0VfU0hJRlQpOworCQkJcG1kX2ZyZWUobW0sIHBtZCk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIHBnZF9wcmVwb3B1bGF0ZV9wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QsIHBtZF90ICpwbWRzW10pCit7CisJcHVkX3QgKnB1ZDsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IGk7CisKKwlwdWQgPSBwdWRfb2Zmc2V0KHBnZCwgMCk7CisKKyAJZm9yIChhZGRyID0gaSA9IDA7IGkgPCBQUkVBTExPQ0FURURfUE1EUzsKKwkgICAgIGkrKywgcHVkKyssIGFkZHIgKz0gUFVEX1NJWkUpIHsKKwkJcG1kX3QgKnBtZCA9IHBtZHNbaV07CisKKwkJaWYgKGkgPj0gS0VSTkVMX1BHRF9CT1VOREFSWSkKKwkJCW1lbWNweShwbWQsIChwbWRfdCAqKXBnZF9wYWdlX3ZhZGRyKHN3YXBwZXJfcGdfZGlyW2ldKSwKKwkJCSAgICAgICBzaXplb2YocG1kX3QpICogUFRSU19QRVJfUE1EKTsKKworCQlwdWRfcG9wdWxhdGUobW0sIHB1ZCwgcG1kKTsKKwl9Cit9CiAKIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7Ci0JcGdkX3QgKnBnZCA9IChwZ2RfdCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7CisJcGdkX3QgKnBnZDsKKwlwbWRfdCAqcG1kc1tQUkVBTExPQ0FURURfUE1EU107CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCS8qIHNvIHRoYXQgYWxsb2NfcG1kIGNhbiB1c2UgaXQgKi8KKwlwZ2QgPSAocGdkX3QgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8pOworCisJaWYgKHBnZCA9PSBOVUxMKQorCQlnb3RvIG91dDsKKwogCW1tLT5wZ2QgPSBwZ2Q7Ci0JaWYgKHBnZCkKLQkJcGdkX2N0b3IocGdkKTsKIAotCWlmIChwZ2QgJiYgIXBnZF9wcmVwb3B1bGF0ZV9wbWQobW0sIHBnZCkpIHsKLQkJcGdkX2R0b3IocGdkKTsKLQkJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXBnZCk7Ci0JCXBnZCA9IE5VTEw7Ci0JfQorCWlmIChwcmVhbGxvY2F0ZV9wbWRzKHBtZHMpICE9IDApCisJCWdvdG8gb3V0X2ZyZWVfcGdkOworCisJaWYgKHBhcmF2aXJ0X3BnZF9hbGxvYyhtbSkgIT0gMCkKKwkJZ290byBvdXRfZnJlZV9wbWRzOworCisJLyoKKwkgKiBNYWtlIHN1cmUgdGhhdCBwcmUtcG9wdWxhdGluZyB0aGUgcG1kcyBpcyBhdG9taWMgd2l0aAorCSAqIHJlc3BlY3QgdG8gYW55dGhpbmcgd2Fsa2luZyB0aGUgcGdkX2xpc3QsIHNvIHRoYXQgdGhleQorCSAqIG5ldmVyIHNlZSBhIHBhcnRpYWxseSBwb3B1bGF0ZWQgcGdkLgorCSAqLworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJcGdkX2N0b3IocGdkKTsKKwlwZ2RfcHJlcG9wdWxhdGVfcG1kKG1tLCBwZ2QsIHBtZHMpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKIAogCXJldHVybiBwZ2Q7CisKK291dF9mcmVlX3BtZHM6CisJZnJlZV9wbWRzKHBtZHMpOworb3V0X2ZyZWVfcGdkOgorCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOworb3V0OgorCXJldHVybiBOVUxMOwogfQogCiB2b2lkIHBnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQogewogCXBnZF9tb3BfdXBfcG1kcyhtbSwgcGdkKTsKIAlwZ2RfZHRvcihwZ2QpOworCXBhcmF2aXJ0X3BnZF9mcmVlKG1tLCBwZ2QpOwogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylwZ2QpOwogfQogCkBAIC0yNTUsNyArMjkyLDcgQEAKIAogCWlmIChwdGVfeW91bmcoKnB0ZXApKQogCQlyZXQgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoX1BBR0VfQklUX0FDQ0VTU0VELAotCQkJCQkgJnB0ZXAtPnB0ZSk7CisJCQkJCSAodW5zaWduZWQgbG9uZyAqKSAmcHRlcC0+cHRlKTsKIAogCWlmIChyZXQpCiAJCXB0ZV91cGRhdGUodm1hLT52bV9tbSwgYWRkciwgcHRlcCk7CkBAIC0yNzQsMyArMzExLDIyIEBACiAKIAlyZXR1cm4geW91bmc7CiB9CisKK2ludCBmaXhtYXBzX3NldDsKKwordm9pZCBfX25hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgcHRlX3QgcHRlKQoreworCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKKworCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7CisJCUJVRygpOworCQlyZXR1cm47CisJfQorCXNldF9wdGVfdmFkZHIoYWRkcmVzcywgcHRlKTsKKwlmaXhtYXBzX3NldCsrOworfQorCit2b2lkIG5hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKK3sKKwlfX25hdGl2ZV9zZXRfZml4bWFwKGlkeCwgcGZuX3B0ZShwaHlzID4+IFBBR0VfU0hJRlQsIGZsYWdzKSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMgYi9hcmNoL3g4Ni9tbS9wZ3RhYmxlXzMyLmMKaW5kZXggMzY5Y2YwNi4uYjRiZWNiZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vcGd0YWJsZV8zMi5jCisrKyBiL2FyY2gveDg2L21tL3BndGFibGVfMzIuYwpAQCAtNzEsNyArNzEsNyBAQAogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lIAogICogYW5kIHByb3RlY3Rpb24gZmxhZ3MgZm9yIHRoYXQgZnJhbWUuCiAgKi8gCi1zdGF0aWMgdm9pZCBzZXRfcHRlX3Bmbih1bnNpZ25lZCBsb25nIHZhZGRyLCB1bnNpZ25lZCBsb25nIHBmbiwgcGdwcm90X3QgZmxhZ3MpCit2b2lkIHNldF9wdGVfdmFkZHIodW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgcHRldmFsKQogewogCXBnZF90ICpwZ2Q7CiAJcHVkX3QgKnB1ZDsKQEAgLTk0LDggKzk0LDggQEAKIAkJcmV0dXJuOwogCX0KIAlwdGUgPSBwdGVfb2Zmc2V0X2tlcm5lbChwbWQsIHZhZGRyKTsKLQlpZiAocGdwcm90X3ZhbChmbGFncykpCi0JCXNldF9wdGVfcHJlc2VudCgmaW5pdF9tbSwgdmFkZHIsIHB0ZSwgcGZuX3B0ZShwZm4sIGZsYWdzKSk7CisJaWYgKHB0ZV92YWwocHRldmFsKSkKKwkJc2V0X3B0ZV9wcmVzZW50KCZpbml0X21tLCB2YWRkciwgcHRlLCBwdGV2YWwpOwogCWVsc2UKIAkJcHRlX2NsZWFyKCZpbml0X21tLCB2YWRkciwgcHRlKTsKIApAQCAtMTQxLDIyICsxNDEsOSBAQAogCV9fZmx1c2hfdGxiX29uZSh2YWRkcik7CiB9CiAKLXN0YXRpYyBpbnQgZml4bWFwczsKIHVuc2lnbmVkIGxvbmcgX19GSVhBRERSX1RPUCA9IDB4ZmZmZmYwMDA7CiBFWFBPUlRfU1lNQk9MKF9fRklYQUREUl9UT1ApOwogCi12b2lkIF9fc2V0X2ZpeG1hcCAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQotewotCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9IF9fZml4X3RvX3ZpcnQoaWR4KTsKLQotCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKSB7Ci0JCUJVRygpOwotCQlyZXR1cm47Ci0JfQotCXNldF9wdGVfcGZuKGFkZHJlc3MsIHBoeXMgPj4gUEFHRV9TSElGVCwgZmxhZ3MpOwotCWZpeG1hcHMrKzsKLX0KLQogLyoqCiAgKiByZXNlcnZlX3RvcF9hZGRyZXNzIC0gcmVzZXJ2ZXMgYSBob2xlIGluIHRoZSB0b3Agb2Yga2VybmVsIGFkZHJlc3Mgc3BhY2UKICAqIEByZXNlcnZlIC0gc2l6ZSBvZiBob2xlIHRvIHJlc2VydmUKQEAgLTE2NCwxMSArMTUxLDQ0IEBACiAgKiBDYW4gYmUgdXNlZCB0byByZWxvY2F0ZSB0aGUgZml4bWFwIGFyZWEgYW5kIHBva2UgYSBob2xlIGluIHRoZSB0b3AKICAqIG9mIGtlcm5lbCBhZGRyZXNzIHNwYWNlIHRvIG1ha2Ugcm9vbSBmb3IgYSBoeXBlcnZpc29yLgogICovCi12b2lkIHJlc2VydmVfdG9wX2FkZHJlc3ModW5zaWduZWQgbG9uZyByZXNlcnZlKQordm9pZCBfX2luaXQgcmVzZXJ2ZV90b3BfYWRkcmVzcyh1bnNpZ25lZCBsb25nIHJlc2VydmUpCiB7Ci0JQlVHX09OKGZpeG1hcHMgPiAwKTsKKwlCVUdfT04oZml4bWFwc19zZXQgPiAwKTsKIAlwcmludGsoS0VSTl9JTkZPICJSZXNlcnZpbmcgdmlydHVhbCBhZGRyZXNzIHNwYWNlIGFib3ZlIDB4JTA4eFxuIiwKIAkgICAgICAgKGludCktcmVzZXJ2ZSk7CiAJX19GSVhBRERSX1RPUCA9IC1yZXNlcnZlIC0gUEFHRV9TSVpFOwogCV9fVk1BTExPQ19SRVNFUlZFICs9IHJlc2VydmU7CiB9CisKKy8qCisgKiB2bWFsbG9jPXNpemUgZm9yY2VzIHRoZSB2bWFsbG9jIGFyZWEgdG8gYmUgZXhhY3RseSAnc2l6ZScKKyAqIGJ5dGVzLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGluY3JlYXNlIChvciBkZWNyZWFzZSkgdGhlCisgKiB2bWFsbG9jIGFyZWEgLSB0aGUgZGVmYXVsdCBpcyAxMjhtLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV92bWFsbG9jKGNoYXIgKmFyZykKK3sKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlfX1ZNQUxMT0NfUkVTRVJWRSA9IG1lbXBhcnNlKGFyZywgJmFyZyk7CisJcmV0dXJuIDA7Cit9CitlYXJseV9wYXJhbSgidm1hbGxvYyIsIHBhcnNlX3ZtYWxsb2MpOworCisvKgorICogcmVzZXJ2ZXRvcD1zaXplIHJlc2VydmVzIGEgaG9sZSBhdCB0aGUgdG9wIG9mIHRoZSBrZXJuZWwgYWRkcmVzcyBzcGFjZSB3aGljaAorICogYSBoeXBlcnZpc29yIGNhbiBsb2FkIGludG8gbGF0ZXIuICBOZWVkZWQgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBoeXBlcnZpc29ycywKKyAqIHNvIHJlbG9jYXRpbmcgdGhlIGZpeG1hcCBjYW4gYmUgZG9uZSBiZWZvcmUgcGFnaW5nIGluaXRpYWxpemF0aW9uLgorICovCitzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9yZXNlcnZldG9wKGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CisKKwlpZiAoIWFyZykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhZGRyZXNzID0gbWVtcGFyc2UoYXJnLCAmYXJnKTsKKwlyZXNlcnZlX3RvcF9hZGRyZXNzKGFkZHJlc3MpOworCXJldHVybiAwOworfQorZWFybHlfcGFyYW0oInJlc2VydmV0b3AiLCBwYXJzZV9yZXNlcnZldG9wKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3NyYXRfMzIuYyBiL2FyY2gveDg2L21tL3NyYXRfMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDFkNjdmCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vc3JhdF8zMi5jCkBAIC0wLDAgKzEsMjgwIEBACisvKgorICogU29tZSBvZiB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaGFzIGJlZW4gZ2xlYW5lZCBmcm9tIHRoZSA2NCBiaXQgCisgKiBkaXNjb250aWdtZW0gc3VwcG9ydCBjb2RlIGJhc2UuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAyLCBJQk0gQ29ycC4KKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLiAgICAgICAgICAKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgR09PRCBUSVRMRSBvcgorICogTk9OIElORlJJTkdFTUVOVC4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUKKyAqIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKiBTZW5kIGZlZWRiYWNrIHRvIFBhdCBHYXVnaGVuIDxnb25lQHVzLmlibS5jb20+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CisjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KKyNpbmNsdWRlIDxhc20vc3JhdC5oPgorI2luY2x1ZGUgPGFzbS90b3BvbG9neS5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KKyNpbmNsdWRlIDxhc20vZTgyMC5oPgorCisvKgorICogcHJveGltaXR5IG1hY3JvcyBhbmQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBOT0RFX0FSUkFZX0lOREVYKHgpCSgoeCkgLyA4KQkvKiA4IGJpdHMvY2hhciAqLworI2RlZmluZSBOT0RFX0FSUkFZX09GRlNFVCh4KQkoKHgpICUgOCkJLyogOCBiaXRzL2NoYXIgKi8KKyNkZWZpbmUgQk1BUF9TRVQoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gfD0gMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKQorI2RlZmluZSBCTUFQX1RFU1QoYm1hcCwgYml0KQkoKGJtYXApW05PREVfQVJSQVlfSU5ERVgoYml0KV0gJiAoMSA8PCBOT0RFX0FSUkFZX09GRlNFVChiaXQpKSkKKy8qIGJpdG1hcCBsZW5ndGg7IF9QWE0gaXMgYXQgbW9zdCAyNTUgKi8KKyNkZWZpbmUgUFhNX0JJVE1BUF9MRU4gKE1BWF9QWE1fRE9NQUlOUyAvIDgpIAorc3RhdGljIHU4IF9faW5pdGRhdGEgcHhtX2JpdG1hcFtQWE1fQklUTUFQX0xFTl07CS8qIGJpdG1hcCBvZiBwcm94aW1pdHkgZG9tYWlucyAqLworCisjZGVmaW5lIE1BWF9DSFVOS1NfUEVSX05PREUJMworI2RlZmluZSBNQVhDSFVOS1MJCShNQVhfQ0hVTktTX1BFUl9OT0RFICogTUFYX05VTU5PREVTKQorc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgeworCXVuc2lnbmVkIGxvbmcJc3RhcnRfcGZuOworCXVuc2lnbmVkIGxvbmcJZW5kX3BmbjsKKwl1OAlweG07CQkvLyBwcm94aW1pdHkgZG9tYWluIG9mIG5vZGUKKwl1OAluaWQ7CQkvLyB3aGljaCBjbm9kZSBjb250YWlucyB0aGlzIGNodW5rPworCXU4CWJhbms7CQkvLyB3aGljaCBtZW0gYmFuayBvbiB0aGlzIG5vZGUKK307CitzdGF0aWMgc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgX19pbml0ZGF0YSBub2RlX21lbW9yeV9jaHVua1tNQVhDSFVOS1NdOworCitzdGF0aWMgaW50IF9faW5pdGRhdGEgbnVtX21lbW9yeV9jaHVua3M7IC8qIHRvdGFsIG51bWJlciBvZiBtZW1vcnkgY2h1bmtzICovCitzdGF0aWMgdTggX19pbml0ZGF0YSBhcGljaWRfdG9fcHhtW01BWF9BUElDSURdOworCitpbnQgbnVtYV9vZmYgX19pbml0ZGF0YTsKK2ludCBhY3BpX251bWEgX19pbml0ZGF0YTsKKworc3RhdGljIF9faW5pdCB2b2lkIGJhZF9zcmF0KHZvaWQpCit7CisgICAgICAgIHByaW50ayhLRVJOX0VSUiAiU1JBVDogU1JBVCBub3QgdXNlZC5cbiIpOworICAgICAgICBhY3BpX251bWEgPSAtMTsKKwludW1fbWVtb3J5X2NodW5rcyA9IDA7Cit9CisKK3N0YXRpYyBfX2luaXQgaW5saW5lIGludCBzcmF0X2Rpc2FibGVkKHZvaWQpCit7CisJcmV0dXJuIG51bWFfb2ZmIHx8IGFjcGlfbnVtYSA8IDA7Cit9CisKKy8qIElkZW50aWZ5IENQVSBwcm94aW1pdHkgZG9tYWlucyAqLwordm9pZCBfX2luaXQKK2FjcGlfbnVtYV9wcm9jZXNzb3JfYWZmaW5pdHlfaW5pdChzdHJ1Y3QgYWNwaV9zcmF0X2NwdV9hZmZpbml0eSAqY3B1X2FmZmluaXR5KQoreworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCXJldHVybjsKKwlpZiAoY3B1X2FmZmluaXR5LT5oZWFkZXIubGVuZ3RoICE9CisJICAgICBzaXplb2Yoc3RydWN0IGFjcGlfc3JhdF9jcHVfYWZmaW5pdHkpKSB7CisJCWJhZF9zcmF0KCk7CisJCXJldHVybjsKKwl9CisKKwlpZiAoKGNwdV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfQ1BVX0VOQUJMRUQpID09IDApCisJCXJldHVybjsJCS8qIGVtcHR5IGVudHJ5ICovCisKKwkvKiBtYXJrIHRoaXMgbm9kZSBhcyAic2VlbiIgaW4gbm9kZSBiaXRtYXAgKi8KKwlCTUFQX1NFVChweG1fYml0bWFwLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworCisJYXBpY2lkX3RvX3B4bVtjcHVfYWZmaW5pdHktPmFwaWNfaWRdID0gY3B1X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluX2xvOworCisJcHJpbnRrKEtFUk5fREVCVUcgIkNQVSAlMDJ4IGluIHByb3hpbWl0eSBkb21haW4gJTAyeFxuIiwKKwkJY3B1X2FmZmluaXR5LT5hcGljX2lkLCBjcHVfYWZmaW5pdHktPnByb3hpbWl0eV9kb21haW5fbG8pOworfQorCisvKgorICogSWRlbnRpZnkgbWVtb3J5IHByb3hpbWl0eSBkb21haW5zIGFuZCBob3QtcmVtb3ZlIGNhcGFiaWxpdGllcy4KKyAqIEZpbGwgbm9kZSBtZW1vcnkgY2h1bmsgbGlzdCBzdHJ1Y3R1cmUuCisgKi8KK3ZvaWQgX19pbml0CithY3BpX251bWFfbWVtb3J5X2FmZmluaXR5X2luaXQoc3RydWN0IGFjcGlfc3JhdF9tZW1fYWZmaW5pdHkgKm1lbW9yeV9hZmZpbml0eSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgcGFkZHIsIHNpemU7CisJdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIGVuZF9wZm47CisJdTggcHhtOworCXN0cnVjdCBub2RlX21lbW9yeV9jaHVua19zICpwLCAqcSwgKnBlbmQ7CisKKwlpZiAoc3JhdF9kaXNhYmxlZCgpKQorCQlyZXR1cm47CisJaWYgKG1lbW9yeV9hZmZpbml0eS0+aGVhZGVyLmxlbmd0aCAhPQorCSAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX3NyYXRfbWVtX2FmZmluaXR5KSkgeworCQliYWRfc3JhdCgpOworCQlyZXR1cm47CisJfQorCisJaWYgKChtZW1vcnlfYWZmaW5pdHktPmZsYWdzICYgQUNQSV9TUkFUX01FTV9FTkFCTEVEKSA9PSAwKQorCQlyZXR1cm47CQkvKiBlbXB0eSBlbnRyeSAqLworCisJcHhtID0gbWVtb3J5X2FmZmluaXR5LT5wcm94aW1pdHlfZG9tYWluICYgMHhmZjsKKworCS8qIG1hcmsgdGhpcyBub2RlIGFzICJzZWVuIiBpbiBub2RlIGJpdG1hcCAqLworCUJNQVBfU0VUKHB4bV9iaXRtYXAsIHB4bSk7CisKKwkvKiBjYWxjdWxhdGUgaW5mbyBmb3IgbWVtb3J5IGNodW5rIHN0cnVjdHVyZSAqLworCXBhZGRyID0gbWVtb3J5X2FmZmluaXR5LT5iYXNlX2FkZHJlc3M7CisJc2l6ZSA9IG1lbW9yeV9hZmZpbml0eS0+bGVuZ3RoOworCisJc3RhcnRfcGZuID0gcGFkZHIgPj4gUEFHRV9TSElGVDsKKwllbmRfcGZuID0gKHBhZGRyICsgc2l6ZSkgPj4gUEFHRV9TSElGVDsKKworCisJaWYgKG51bV9tZW1vcnlfY2h1bmtzID49IE1BWENIVU5LUykgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJUb28gbWFueSBtZW0gY2h1bmtzIGluIFNSQVQuIgorCQkJIiBJZ25vcmluZyAlbGxkIE1CeXRlcyBhdCAlbGx4XG4iLAorCQkJc2l6ZS8oMTAyNCoxMDI0KSwgcGFkZHIpOworCQlyZXR1cm47CisJfQorCisJLyogSW5zZXJ0aW9uIHNvcnQgYmFzZWQgb24gYmFzZSBhZGRyZXNzICovCisJcGVuZCA9ICZub2RlX21lbW9yeV9jaHVua1tudW1fbWVtb3J5X2NodW5rc107CisJZm9yIChwID0gJm5vZGVfbWVtb3J5X2NodW5rWzBdOyBwIDwgcGVuZDsgcCsrKSB7CisJCWlmIChzdGFydF9wZm4gPCBwLT5zdGFydF9wZm4pCisJCQlicmVhazsKKwl9CisJaWYgKHAgPCBwZW5kKSB7CisJCWZvciAocSA9IHBlbmQ7IHEgPj0gcDsgcS0tKQorCQkJKihxICsgMSkgPSAqcTsKKwl9CisJcC0+c3RhcnRfcGZuID0gc3RhcnRfcGZuOworCXAtPmVuZF9wZm4gPSBlbmRfcGZuOworCXAtPnB4bSA9IHB4bTsKKworCW51bV9tZW1vcnlfY2h1bmtzKys7CisKKwlwcmludGsoS0VSTl9ERUJVRyAiTWVtb3J5IHJhbmdlICUwOGx4IHRvICUwOGx4ICh0eXBlICV4KSIKKwkJCSAgIiBpbiBwcm94aW1pdHkgZG9tYWluICUwMnggJXNcbiIsCisJCXN0YXJ0X3BmbiwgZW5kX3BmbiwKKwkJbWVtb3J5X2FmZmluaXR5LT5tZW1vcnlfdHlwZSwKKwkJcHhtLAorCQkoKG1lbW9yeV9hZmZpbml0eS0+ZmxhZ3MgJiBBQ1BJX1NSQVRfTUVNX0hPVF9QTFVHR0FCTEUpID8KKwkJICJlbmFibGVkIGFuZCByZW1vdmFibGUiIDogImVuYWJsZWQiICkgKTsKK30KKworLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwordm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQoreworfQorCit2b2lkIGFjcGlfbnVtYV9hcmNoX2ZpeHVwKHZvaWQpCit7Cit9CisvKgorICogVGhlIFNSQVQgdGFibGUgYWx3YXlzIGxpc3RzIGFzY2VuZGluZyBhZGRyZXNzZXMsIHNvIGNhbiBhbHdheXMKKyAqIGFzc3VtZSB0aGF0IHRoZSBmaXJzdCAic3RhcnQiIGFkZHJlc3MgdGhhdCB5b3Ugc2VlIGlzIHRoZSByZWFsCisgKiBzdGFydCBvZiB0aGUgbm9kZSwgYW5kIHRoYXQgdGhlIGN1cnJlbnQgImVuZCIgYWRkcmVzcyBpcyBhZnRlcgorICogdGhlIHByZXZpb3VzIG9uZS4KKyAqLworc3RhdGljIF9faW5pdCB2b2lkIG5vZGVfcmVhZF9jaHVuayhpbnQgbmlkLCBzdHJ1Y3Qgbm9kZV9tZW1vcnlfY2h1bmtfcyAqbWVtb3J5X2NodW5rKQoreworCS8qCisJICogT25seSBhZGQgcHJlc2VudCBtZW1vcnkgYXMgdG9sZCBieSB0aGUgZTgyMC4KKwkgKiBUaGVyZSBpcyBubyBndWFyYW50ZWUgZnJvbSB0aGUgU1JBVCB0aGF0IHRoZSBtZW1vcnkgaXQKKwkgKiBlbnVtZXJhdGVzIGlzIHByZXNlbnQgYXQgYm9vdCB0aW1lIGJlY2F1c2UgaXQgcmVwcmVzZW50cworCSAqICpwb3NzaWJsZSogbWVtb3J5IGhvdHBsdWcgYXJlYXMgdGhlIHNhbWUgYXMgbm9ybWFsIFJBTS4KKwkgKi8KKwlpZiAobWVtb3J5X2NodW5rLT5zdGFydF9wZm4gPj0gbWF4X3BmbikgeworCQlwcmludGsoS0VSTl9JTkZPICJJZ25vcmluZyBTUkFUIHBmbnM6ICUwOGx4IC0gJTA4bHhcbiIsCisJCQltZW1vcnlfY2h1bmstPnN0YXJ0X3BmbiwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKTsKKwkJcmV0dXJuOworCX0KKwlpZiAobWVtb3J5X2NodW5rLT5uaWQgIT0gbmlkKQorCQlyZXR1cm47CisKKwlpZiAoIW5vZGVfaGFzX29ubGluZV9tZW0obmlkKSkKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfc3RhcnRfcGZuW25pZF0gPiBtZW1vcnlfY2h1bmstPnN0YXJ0X3BmbikKKwkJbm9kZV9zdGFydF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+c3RhcnRfcGZuOworCisJaWYgKG5vZGVfZW5kX3BmbltuaWRdIDwgbWVtb3J5X2NodW5rLT5lbmRfcGZuKQorCQlub2RlX2VuZF9wZm5bbmlkXSA9IG1lbW9yeV9jaHVuay0+ZW5kX3BmbjsKK30KKworaW50IF9faW5pdCBnZXRfbWVtY2ZnX2Zyb21fc3JhdCh2b2lkKQoreworCWludCBpLCBqLCBuaWQ7CisKKworCWlmIChzcmF0X2Rpc2FibGVkKCkpCisJCWdvdG8gb3V0X2ZhaWw7CisKKwlpZiAobnVtX21lbW9yeV9jaHVua3MgPT0gMCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkgImNvdWxkIG5vdCBmaW55IGFueSBBQ1BJIFNSQVQgbWVtb3J5IGFyZWFzLlxuIik7CisJCWdvdG8gb3V0X2ZhaWw7CisJfQorCisJLyogQ2FsY3VsYXRlIHRvdGFsIG51bWJlciBvZiBub2RlcyBpbiBzeXN0ZW0gZnJvbSBQWE0gYml0bWFwIGFuZCBjcmVhdGUKKwkgKiBhIHNldCBvZiBzZXF1ZW50aWFsIG5vZGUgSURzIHN0YXJ0aW5nIGF0IHplcm8uICAoQUNQSSBkb2Vzbid0IHNlZW0KKwkgKiB0byBzcGVjaWZ5IHRoZSByYW5nZSBvZiBfUFhNIHZhbHVlcy4pCisJICovCisJLyoKKwkgKiBNQ0QgLSB3ZSBubyBsb25nZXIgSEFWRSB0byBudW1iZXIgbm9kZXMgc2VxdWVudGlhbGx5LiAgUFhNIGRvbWFpbgorCSAqIG51bWJlcnMgY291bGQgZ28gYXMgaGlnaCBhcyAyNTYsIGFuZCBNQVhfTlVNTk9ERVMgZm9yIGkzODYgaXMgdHlwaWNhbGx5CisJICogMzIsIHNvIHdlIHdpbGwgY29udGludWUgbnVtYmVyaW5nIHRoZW0gaW4gdGhpcyBtYW5uZXIgdW50aWwgTUFYX05VTU5PREVTCisJICogYXBwcm9hY2hlcyBNQVhfUFhNX0RPTUFJTlMgZm9yIGkzODYuCisJICovCisJbm9kZXNfY2xlYXIobm9kZV9vbmxpbmVfbWFwKTsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYX1BYTV9ET01BSU5TOyBpKyspIHsKKwkJaWYgKEJNQVBfVEVTVChweG1fYml0bWFwLCBpKSkgeworCQkJaW50IG5pZCA9IGFjcGlfbWFwX3B4bV90b19ub2RlKGkpOworCQkJbm9kZV9zZXRfb25saW5lKG5pZCk7CisJCX0KKwl9CisJQlVHX09OKG51bV9vbmxpbmVfbm9kZXMoKSA9PSAwKTsKKworCS8qIHNldCBjbm9kZSBpZCBpbiBtZW1vcnkgY2h1bmsgc3RydWN0dXJlICovCisJZm9yIChpID0gMDsgaSA8IG51bV9tZW1vcnlfY2h1bmtzOyBpKyspCisJCW5vZGVfbWVtb3J5X2NodW5rW2ldLm5pZCA9IHB4bV90b19ub2RlKG5vZGVfbWVtb3J5X2NodW5rW2ldLnB4bSk7CisKKwlwcmludGsoS0VSTl9ERUJVRyAicHhtIGJpdG1hcDogIik7CisJZm9yIChpID0gMDsgaSA8IHNpemVvZihweG1fYml0bWFwKTsgaSsrKSB7CisJCXByaW50ayhLRVJOX0NPTlQgIiUwMnggIiwgcHhtX2JpdG1hcFtpXSk7CisJfQorCXByaW50ayhLRVJOX0NPTlQgIlxuIik7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBsb2dpY2FsIG5vZGVzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9vbmxpbmVfbm9kZXMoKSk7CisJcHJpbnRrKEtFUk5fREVCVUcgIk51bWJlciBvZiBtZW1vcnkgY2h1bmtzIGluIHN5c3RlbSA9ICVkXG4iLAorCQkJIG51bV9tZW1vcnlfY2h1bmtzKTsKKworCWZvciAoaSA9IDA7IGkgPCBNQVhfQVBJQ0lEOyBpKyspCisJCWFwaWNpZF8yX25vZGVbaV0gPSBweG1fdG9fbm9kZShhcGljaWRfdG9fcHhtW2ldKTsKKworCWZvciAoaiA9IDA7IGogPCBudW1fbWVtb3J5X2NodW5rczsgaisrKXsKKwkJc3RydWN0IG5vZGVfbWVtb3J5X2NodW5rX3MgKiBjaHVuayA9ICZub2RlX21lbW9yeV9jaHVua1tqXTsKKwkJcHJpbnRrKEtFUk5fREVCVUcKKwkJCSJjaHVuayAlZCBuaWQgJWQgc3RhcnRfcGZuICUwOGx4IGVuZF9wZm4gJTA4bHhcbiIsCisJCSAgICAgICBqLCBjaHVuay0+bmlkLCBjaHVuay0+c3RhcnRfcGZuLCBjaHVuay0+ZW5kX3Bmbik7CisJCW5vZGVfcmVhZF9jaHVuayhjaHVuay0+bmlkLCBjaHVuayk7CisJCWU4MjBfcmVnaXN0ZXJfYWN0aXZlX3JlZ2lvbnMoY2h1bmstPm5pZCwgY2h1bmstPnN0YXJ0X3BmbiwKKwkJCQkJICAgICBtaW4oY2h1bmstPmVuZF9wZm4sIG1heF9wZm4pKTsKKwl9CisKKwlmb3JfZWFjaF9vbmxpbmVfbm9kZShuaWQpIHsKKwkJdW5zaWduZWQgbG9uZyBzdGFydCA9IG5vZGVfc3RhcnRfcGZuW25pZF07CisJCXVuc2lnbmVkIGxvbmcgZW5kID0gbWluKG5vZGVfZW5kX3BmbltuaWRdLCBtYXhfcGZuKTsKKworCQltZW1vcnlfcHJlc2VudChuaWQsIHN0YXJ0LCBlbmQpOworCQlub2RlX3JlbWFwX3NpemVbbmlkXSA9IG5vZGVfbWVtbWFwX3NpemVfYnl0ZXMobmlkLCBzdGFydCwgZW5kKTsKKwl9CisJcmV0dXJuIDE7CitvdXRfZmFpbDoKKwlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBnZXQgTlVNQSBtZW1vcnkgaW5mb3JtYXRpb24gZnJvbSBTUkFUIgorCQkJIiB0YWJsZVxuIik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMgYi9hcmNoL3g4Ni9tbS9zcmF0XzY0LmMKaW5kZXggOTk2NDlkYy4uMWI0NzYzZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbW0vc3JhdF82NC5jCisrKyBiL2FyY2gveDg2L21tL3NyYXRfNjQuYwpAQCAtMTAwLDcgKzEwMCwxOSBAQAogLyogQ2FsbGJhY2sgZm9yIFNMSVQgcGFyc2luZyAqLwogdm9pZCBfX2luaXQgYWNwaV9udW1hX3NsaXRfaW5pdChzdHJ1Y3QgYWNwaV90YWJsZV9zbGl0ICpzbGl0KQogewotCWFjcGlfc2xpdCA9IHNsaXQ7CisJdW5zaWduZWQgbGVuZ3RoOworCXVuc2lnbmVkIGxvbmcgcGh5czsKKworCWxlbmd0aCA9IHNsaXQtPmhlYWRlci5sZW5ndGg7CisJcGh5cyA9IGZpbmRfZTgyMF9hcmVhKDAsIG1heF9wZm5fbWFwcGVkPDxQQUdFX1NISUZULCBsZW5ndGgsCisJCSBQQUdFX1NJWkUpOworCisJaWYgKHBoeXMgPT0gLTFMKQorCQlwYW5pYygiIENhbiBub3Qgc2F2ZSBzbGl0IVxuIik7CisKKwlhY3BpX3NsaXQgPSBfX3ZhKHBoeXMpOworCW1lbWNweShhY3BpX3NsaXQsIHNsaXQsIGxlbmd0aCk7CisJcmVzZXJ2ZV9lYXJseShwaHlzLCBwaHlzICsgbGVuZ3RoLCAiQUNQSSBTTElUIik7CiB9CiAKIC8qIENhbGxiYWNrIGZvciBQcm94aW1pdHkgRG9tYWluIC0+IExBUElDIG1hcHBpbmcgKi8KQEAgLTI5OSw3ICszMTEsNyBAQAogCQkJcHhtcmFtID0gMDsKIAl9CiAKLQllODIwcmFtID0gZW5kX3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBlbmRfcGZuKTsKKwllODIwcmFtID0gbWF4X3BmbiAtIGFic2VudF9wYWdlc19pbl9yYW5nZSgwLCBtYXhfcGZuKTsKIAkvKiBXZSBzZWVtIHRvIGxvc2UgMyBwYWdlcyBzb21ld2hlcmUuIEFsbG93IGEgYml0IG9mIHNsYWNrLiAqLwogCWlmICgobG9uZykoZTgyMHJhbSAtIHB4bXJhbSkgPj0gMSoxMDI0KjEwMjQpIHsKIAkJcHJpbnRrKEtFUk5fRVJSCkBAIC0zNzYsNyArMzg4LDcgQEAKIAkJaWYgKG5vZGUgPT0gTlVNQV9OT19OT0RFKQogCQkJY29udGludWU7CiAJCWlmICghbm9kZV9pc3NldChub2RlLCBub2RlX3Bvc3NpYmxlX21hcCkpCi0JCQludW1hX3NldF9ub2RlKGksIE5VTUFfTk9fTk9ERSk7CisJCQludW1hX2NsZWFyX25vZGUoaSk7CiAJfQogCW51bWFfaW5pdF9hcnJheSgpOwogCXJldHVybiAwOwpAQCAtNDk1LDYgKzUwNyw3IEBACiAKIEVYUE9SVF9TWU1CT0woX19ub2RlX2Rpc3RhbmNlKTsKIAorI2lmIGRlZmluZWQoQ09ORklHX01FTU9SWV9IT1RQTFVHX1NQQVJTRSkgfHwgZGVmaW5lZChDT05GSUdfQUNQSV9IT1RQTFVHX01FTU9SWSkKIGludCBtZW1vcnlfYWRkX3BoeXNhZGRyX3RvX25pZCh1NjQgc3RhcnQpCiB7CiAJaW50IGksIHJldCA9IDA7CkBAIC01MDYsNCArNTE5LDQgQEAKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTF9HUEwobWVtb3J5X2FkZF9waHlzYWRkcl90b19uaWQpOwotCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYyBiL2FyY2gveDg2L21tL3Rlc3RtbWlvdHJhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODc3YzViCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYvbW0vdGVzdG1taW90cmFjZS5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBXcml0dGVuIGJ5IFBla2thIFBhYWxhbmVuLCAyMDA4IDxwcUBpa2kuZmk+CisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIE1PRFVMRV9OQU1FICJ0ZXN0bW1pb3RyYWNlIgorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBtbWlvX2FkZHJlc3M7Cittb2R1bGVfcGFyYW0obW1pb19hZGRyZXNzLCB1bG9uZywgMCk7CitNT0RVTEVfUEFSTV9ERVNDKG1taW9fYWRkcmVzcywgIlN0YXJ0IGFkZHJlc3Mgb2YgdGhlIG1hcHBpbmcgb2YgMTYga0IuIik7CisKK3N0YXRpYyB2b2lkIGRvX3dyaXRlX3Rlc3Qodm9pZCBfX2lvbWVtICpwKQoreworCXVuc2lnbmVkIGludCBpOworCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKKwkJaW93cml0ZTgoaSwgcCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvd3JpdGUxNihpICogMTIgKyA3LCBwICsgaSk7CisJZm9yIChpID0gKDUgKiAxMDI0KTsgaSA8ICgxNiAqIDEwMjQpOyBpICs9IDQpCisJCWlvd3JpdGUzMihpICogMjEyMzcxICsgMTMsIHAgKyBpKTsKK30KKworc3RhdGljIHZvaWQgZG9fcmVhZF90ZXN0KHZvaWQgX19pb21lbSAqcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwlmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspCisJCWlvcmVhZDgocCArIGkpOworCWZvciAoaSA9IDEwMjQ7IGkgPCAoNSAqIDEwMjQpOyBpICs9IDIpCisJCWlvcmVhZDE2KHAgKyBpKTsKKwlmb3IgKGkgPSAoNSAqIDEwMjQpOyBpIDwgKDE2ICogMTAyNCk7IGkgKz0gNCkKKwkJaW9yZWFkMzIocCArIGkpOworfQorCitzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCit7CisJdm9pZCBfX2lvbWVtICpwID0gaW9yZW1hcF9ub2NhY2hlKG1taW9fYWRkcmVzcywgMHg0MDAwKTsKKwlpZiAoIXApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IGNvdWxkIG5vdCBpb3JlbWFwLCBhYm9ydGluZy5cbiIpOworCQlyZXR1cm47CisJfQorCWRvX3dyaXRlX3Rlc3QocCk7CisJZG9fcmVhZF90ZXN0KHApOworCWlvdW5tYXAocCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGluaXQodm9pZCkKK3sKKwlpZiAobW1pb19hZGRyZXNzID09IDApIHsKKwkJcHJfZXJyKE1PRFVMRV9OQU1FICI6IHlvdSBoYXZlIHRvIHVzZSB0aGUgbW9kdWxlIGFyZ3VtZW50ICIKKwkJCQkJCQkibW1pb19hZGRyZXNzLlxuIik7CisJCXByX2VycihNT0RVTEVfTkFNRSAiOiBETyBOT1QgTE9BRCBUSElTIE1PRFVMRSBVTkxFU1MiCisJCQkJIiBZT1UgUkVBTExZIEtOT1cgV0hBVCBZT1UgQVJFIERPSU5HIVxuIik7CisJCXJldHVybiAtRU5YSU87CisJfQorCisJcHJfd2FybmluZyhNT0RVTEVfTkFNRSAiOiBXQVJOSU5HOiBtYXBwaW5nIDE2IGtCIEAgMHglMDhseCAiCisJCQkJCSJpbiBQQ0kgYWRkcmVzcyBzcGFjZSwgYW5kIHdyaXRpbmcgIgorCQkJCQkicnViYmlzaCBpbiB0aGVyZS5cbiIsIG1taW9fYWRkcmVzcyk7CisJZG9fdGVzdCgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY2xlYW51cCh2b2lkKQoreworCXByX2RlYnVnKE1PRFVMRV9OQU1FICI6IHVubG9hZGVkLlxuIik7Cit9CisKK21vZHVsZV9pbml0KGluaXQpOworbW9kdWxlX2V4aXQoY2xlYW51cCk7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMgYi9hcmNoL3g4Ni9vcHJvZmlsZS9ubWlfaW50LmMKaW5kZXggY2M0OGQzZi4uN2YzMzI5YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvb3Byb2ZpbGUvbm1pX2ludC5jCisrKyBiL2FyY2gveDg2L29wcm9maWxlL25taV9pbnQuYwpAQCAtMjE4LDggKzIxOCw4IEBACiAJCX0KIAogCX0KLQlvbl9lYWNoX2NwdShubWlfc2F2ZV9yZWdpc3RlcnMsIE5VTEwsIDAsIDEpOwotCW9uX2VhY2hfY3B1KG5taV9jcHVfc2V0dXAsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KG5taV9zYXZlX3JlZ2lzdGVycywgTlVMTCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zZXR1cCwgTlVMTCwgMSk7CiAJbm1pX2VuYWJsZWQgPSAxOwogCXJldHVybiAwOwogfQpAQCAtMjY5LDEyICsyNjksMTMgQEAKIAogc3RhdGljIHZvaWQgbm1pX3NodXRkb3duKHZvaWQpCiB7Ci0Jc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmX19nZXRfY3B1X3ZhcihjcHVfbXNycyk7CisJc3RydWN0IG9wX21zcnMgKm1zcnMgPSAmZ2V0X2NwdV92YXIoY3B1X21zcnMpOwogCW5taV9lbmFibGVkID0gMDsKLQlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShubWlfY3B1X3NodXRkb3duLCBOVUxMLCAxKTsKIAl1bnJlZ2lzdGVyX2RpZV9ub3RpZmllcigmcHJvZmlsZV9leGNlcHRpb25zX25iKTsKIAltb2RlbC0+c2h1dGRvd24obXNycyk7CiAJZnJlZV9tc3JzKCk7CisJcHV0X2NwdV92YXIoY3B1X21zcnMpOwogfQogCiBzdGF0aWMgdm9pZCBubWlfY3B1X3N0YXJ0KHZvaWQgKmR1bW15KQpAQCAtMjg1LDcgKzI4Niw3IEBACiAKIHN0YXRpYyBpbnQgbm1pX3N0YXJ0KHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUobm1pX2NwdV9zdGFydCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zdGFydCwgTlVMTCwgMSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI5Nyw3ICsyOTgsNyBAQAogCiBzdGF0aWMgdm9pZCBubWlfc3RvcCh2b2lkKQogewotCW9uX2VhY2hfY3B1KG5taV9jcHVfc3RvcCwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUobm1pX2NwdV9zdG9wLCBOVUxMLCAxKTsKIH0KIAogc3RydWN0IG9wX2NvdW50ZXJfY29uZmlnIGNvdW50ZXJfY29uZmlnW09QX01BWF9DT1VOVEVSXTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZSBiL2FyY2gveDg2L3BjaS9NYWtlZmlsZQppbmRleCBjNWM4ZTQ4Li5lNTE1ZThkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlCkBAIC0xLDUgKzEsMTcgQEAKLWlmZXEgKCQoQ09ORklHX1g4Nl8zMikseSkKLWluY2x1ZGUgJHtzcmN0cmVlfS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfMzIKLWVsc2UKLWluY2x1ZGUgJHtzcmN0cmVlfS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKLWVuZGlmCitvYmoteQkJCQk6PSBpMzg2Lm8gaW5pdC5vCisKK29iai0kKENPTkZJR19QQ0lfQklPUykJCSs9IHBjYmlvcy5vCitvYmotJChDT05GSUdfUENJX01NQ09ORklHKQkrPSBtbWNvbmZpZ18kKEJJVFMpLm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KK29iai0kKENPTkZJR19QQ0lfRElSRUNUKQkrPSBkaXJlY3Qubworb2JqLSQoQ09ORklHX1BDSV9PTFBDKQkJKz0gb2xwYy5vCisKK3BjaS15CQkJCTo9IGZpeHVwLm8KK3BjaS0kKENPTkZJR19BQ1BJKQkJKz0gYWNwaS5vCitwY2kteQkJCQkrPSBsZWdhY3kubyBpcnEubworCitwY2ktJChDT05GSUdfWDg2X1ZJU1dTKQkJKz0gdmlzd3MubworCitwY2ktJChDT05GSUdfWDg2X05VTUFRKQkJKz0gbnVtYS5vCisKK29iai15CQkJCSs9ICQocGNpLXkpIGNvbW1vbi5vIGVhcmx5Lm8KK29iai15CQkJCSs9IGFtZF9idXMubwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyIGIvYXJjaC94ODYvcGNpL01ha2VmaWxlXzMyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OWVjMzVkLi4wMDAwMDAwCi0tLSBhL2FyY2gveDg2L3BjaS9NYWtlZmlsZV8zMgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLW9iai15CQkJCTo9IGkzODYubyBpbml0Lm8KLQotb2JqLSQoQ09ORklHX1BDSV9CSU9TKQkJKz0gcGNiaW9zLm8KLW9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpCSs9IG1tY29uZmlnXzMyLm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KLW9iai0kKENPTkZJR19QQ0lfRElSRUNUKQkrPSBkaXJlY3Qubwotb2JqLSQoQ09ORklHX1BDSV9PTFBDKQkJKz0gb2xwYy5vCi0KLXBjaS15CQkJCTo9IGZpeHVwLm8KLQotIyBEbyBub3QgY2hhbmdlIHRoZSBvcmRlcmluZyBoZXJlLiBUaGVyZSBpcyBhIG5hc3R5IGluaXQgZnVuY3Rpb24KLSMgb3JkZXJpbmcgZGVwZW5kZW5jeSB3aGljaCBicmVha3Mgd2hlbiB5b3UgbW92ZSBhY3BpLm8gYmVsb3cKLSMgbGVnYWN5L2lycS5vCi1wY2ktJChDT05GSUdfQUNQSSkJCSs9IGFjcGkubwotcGNpLXkJCQkJKz0gbGVnYWN5Lm8gaXJxLm8KLQotIyBDYXJlZnVsOiBWSVNXUyBhbmQgTlVNQVEgb3ZlcnJ1bGUgdGhlIHBjaS15IGFib3ZlLiBUaGUgY29sb25zIGFyZQotIyB0aGVyZWZvciBjb3JyZWN0LiBUaGlzIG5lZWRzIGEgcHJvcGVyIGZpeCBieSBkaXN0YW5nbGluZyB0aGUgY29kZS4KLXBjaS0kKENPTkZJR19YODZfVklTV1MpCQk6PSB2aXN3cy5vIGZpeHVwLm8KLXBjaS0kKENPTkZJR19YODZfTlVNQVEpCQk6PSBudW1hLm8gaXJxLm8KLQotIyBOZWNlc3NhcnkgZm9yIE5VTUFRIGFzIHdlbGwKLXBjaS0kKENPTkZJR19OVU1BKQkJKz0gbXBfYnVzX3RvX25vZGUubwotCi1vYmoteQkJCQkrPSAkKHBjaS15KSBjb21tb24ubyBlYXJseS5vCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQgYi9hcmNoL3g4Ni9wY2kvTWFrZWZpbGVfNjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmYmQxOTguLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL01ha2VmaWxlXzY0CisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotIwotIyBNYWtlZmlsZSBmb3IgWDg2XzY0IHNwZWNpZmljIFBDSSByb3V0aW5lcwotIwotIyBSZXVzZSB0aGUgaTM4NiBQQ0kgc3Vic3lzdGVtCi0jCi1FWFRSQV9DRkxBR1MgKz0gLUlhcmNoL3g4Ni9wY2kKLQotb2JqLXkJCTo9IGkzODYubwotb2JqLSQoQ09ORklHX1BDSV9ESVJFQ1QpKz0gZGlyZWN0Lm8KLW9iai15CQkrPSBmaXh1cC5vIGluaXQubwotb2JqLSQoQ09ORklHX0FDUEkpCSs9IGFjcGkubwotb2JqLXkJCQkrPSBsZWdhY3kubyBpcnEubyBjb21tb24ubyBlYXJseS5vCi0jIG1tY29uZmlnIGhhcyBhIDY0Yml0IHNwZWNpYWwKLW9iai0kKENPTkZJR19QQ0lfTU1DT05GSUcpICs9IG1tY29uZmlnXzY0Lm8gZGlyZWN0Lm8gbW1jb25maWctc2hhcmVkLm8KLQotb2JqLXkJCSs9IGs4LWJ1c182NC5vCi0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9hY3BpLmMgYi9hcmNoL3g4Ni9wY2kvYWNwaS5jCmluZGV4IGQ5NWRlMmYuLjE5YWYwNjkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9hY3BpLmMKKysrIGIvYXJjaC94ODYvcGNpL2FjcGkuYwpAQCAtMTcxLDggKzE3MSwxMSBAQAogCWlmIChub2RlICE9IC0xKQogCQlzZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtLCBub2RlKTsKIAllbHNlCi0JCW5vZGUgPSBnZXRfbXBfYnVzX3RvX25vZGUoYnVzbnVtKTsKICNlbmRpZgorCQlub2RlID0gZ2V0X21wX2J1c190b19ub2RlKGJ1c251bSk7CisKKwlpZiAobm9kZSAhPSAtMSAmJiAhbm9kZV9vbmxpbmUobm9kZSkpCisJCW5vZGUgPSAtMTsKIAogCS8qIEFsbG9jYXRlIHBlci1yb290LWJ1cyAobm90IHBlciBidXMpIGFyY2gtc3BlY2lmaWMgZGF0YS4KIAkgKiBUT0RPOiBsZWFrOyB0aGlzIG1lbW9yeSBpcyBuZXZlciBmcmVlZC4KQEAgLTIwNCwyMiArMjA3LDIzIEBACiAJaWYgKCFidXMpCiAJCWtmcmVlKHNkKTsKIAorCWlmIChidXMgJiYgbm9kZSAhPSAtMSkgewogI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKLQlpZiAoYnVzKSB7Ci0JCWlmIChweG0gPj0gMCkgeworCQlpZiAocHhtID49IDApCiAJCQlwcmludGsoS0VSTl9ERUJVRyAiYnVzICUwMnggLT4gcHhtICVkIC0+IG5vZGUgJWRcbiIsCi0JCQkJYnVzbnVtLCBweG0sIHB4bV90b19ub2RlKHB4bSkpOwotCQl9Ci0JfQorCQkJCWJ1c251bSwgcHhtLCBub2RlKTsKKyNlbHNlCisJCXByaW50ayhLRVJOX0RFQlVHICJidXMgJTAyeCAtPiBub2RlICVkXG4iLAorCQkJYnVzbnVtLCBub2RlKTsKICNlbmRpZgorCX0KIAogCWlmIChidXMgJiYgKHBjaV9wcm9iZSAmIFBDSV9VU0VfX0NSUykpCiAJCWdldF9jdXJyZW50X3Jlc291cmNlcyhkZXZpY2UsIGJ1c251bSwgZG9tYWluLCBidXMpOwogCXJldHVybiBidXM7CiB9CiAKLWV4dGVybiBpbnQgcGNpX3JvdXRlaXJxOwotc3RhdGljIGludCBfX2luaXQgcGNpX2FjcGlfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpCiB7CiAJc3RydWN0IHBjaV9kZXYgKmRldiA9IE5VTEw7CiAKQEAgLTI1Myw0ICsyNTcsMyBAQAogCiAJcmV0dXJuIDA7CiB9Ci1zdWJzeXNfaW5pdGNhbGwocGNpX2FjcGlfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMgYi9hcmNoL3g4Ni9wY2kvYW1kX2J1cy5jCnNpbWlsYXJpdHkgaW5kZXggOTElCnJlbmFtZSBmcm9tIGFyY2gveDg2L3BjaS9rOC1idXNfNjQuYwpyZW5hbWUgdG8gYXJjaC94ODYvcGNpL2FtZF9idXMuYwppbmRleCA1YzI3OTljLi5kYmY1MzIzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvazgtYnVzXzY0LmMKKysrIGIvYXJjaC94ODYvcGNpL2FtZF9idXMuYwpAQCAtMSw0MCArMSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2luY2x1ZGUgInBjaS5oIgorCisjaWZkZWYgQ09ORklHX1g4Nl82NAogI2luY2x1ZGUgPGFzbS9wY2ktZGlyZWN0Lmg+CiAjaW5jbHVkZSA8YXNtL21wc3BlYy5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KLSNpbmNsdWRlIDxsaW51eC90b3BvbG9neS5oPgorI2VuZGlmCiAKIC8qCiAgKiBUaGlzIGRpc2NvdmVycyB0aGUgcGNpYnVzIDwtPiBub2RlIG1hcHBpbmcgb24gQU1EIEs4LgogICogYWxzbyBnZXQgcGVlciByb290IGJ1cyByZXNvdXJjZSBmb3IgaW8sbW1pbwogICovCiAKLQotLyoKLSAqIHN1YiBidXMgKHRyYW5zcGFyZW50KSB3aWxsIHVzZSBlbnRyZXMgZnJvbSAzIHRvIHN0b3JlIGV4dHJhIGZyb20gcm9vdCwKLSAqIHNvIG5lZWQgdG8gbWFrZSBzdXJlIGhhdmUgZW5vdWdodCBzbG90IHRoZXJlLCBpbmNyZWFzZSBQQ0lfQlVTX05VTV9SRVNPVVJDRVM/Ci0gKi8KLSNkZWZpbmUgUkVTX05VTSAxNgotc3RydWN0IHBjaV9yb290X2luZm8gewotCWNoYXIgbmFtZVsxMl07Ci0JdW5zaWduZWQgaW50IHJlc19udW07Ci0Jc3RydWN0IHJlc291cmNlIHJlc1tSRVNfTlVNXTsKLQlpbnQgYnVzX21pbjsKLQlpbnQgYnVzX21heDsKLQlpbnQgbm9kZTsKLQlpbnQgbGluazsKLX07Ci0KLS8qIDQgYXQgdGhpcyB0aW1lLCBpdCBtYXkgYmVjb21lIHRvIDMyICovCi0jZGVmaW5lIFBDSV9ST09UX05SIDQKLXN0YXRpYyBpbnQgcGNpX3Jvb3RfbnVtOwotc3RhdGljIHN0cnVjdCBwY2lfcm9vdF9pbmZvIHBjaV9yb290X2luZm9bUENJX1JPT1RfTlJdOwotCiAjaWZkZWYgQ09ORklHX05VTUEKIAogI2RlZmluZSBCVVNfTlIgMjU2CiAKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisKIHN0YXRpYyBpbnQgbXBfYnVzX3RvX25vZGVbQlVTX05SXTsKIAogdm9pZCBzZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSwgaW50IG5vZGUpCkBAIC02MSw3ICs0Niw1MiBAQAogCiAJcmV0dXJuIG5vZGU7CiB9Ci0jZW5kaWYKKworI2Vsc2UgLyogQ09ORklHX1g4Nl8zMiAqLworCitzdGF0aWMgdW5zaWduZWQgY2hhciBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOworCit2b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKK3sKKwlpZiAoYnVzbnVtID49IDAgJiYgIGJ1c251bSA8IEJVU19OUikKKwltcF9idXNfdG9fbm9kZVtidXNudW1dID0gKHVuc2lnbmVkIGNoYXIpIG5vZGU7Cit9CisKK2ludCBnZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSkKK3sKKwlpbnQgbm9kZTsKKworCWlmIChidXNudW0gPCAwIHx8IGJ1c251bSA+IChCVVNfTlIgLSAxKSkKKwkJcmV0dXJuIDA7CisJbm9kZSA9IG1wX2J1c190b19ub2RlW2J1c251bV07CisJcmV0dXJuIG5vZGU7Cit9CisKKyNlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCisKKyNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLworCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCisvKgorICogc3ViIGJ1cyAodHJhbnNwYXJlbnQpIHdpbGwgdXNlIGVudHJlcyBmcm9tIDMgdG8gc3RvcmUgZXh0cmEgZnJvbSByb290LAorICogc28gbmVlZCB0byBtYWtlIHN1cmUgaGF2ZSBlbm91Z2h0IHNsb3QgdGhlcmUsIGluY3JlYXNlIFBDSV9CVVNfTlVNX1JFU09VUkNFUz8KKyAqLworI2RlZmluZSBSRVNfTlVNIDE2CitzdHJ1Y3QgcGNpX3Jvb3RfaW5mbyB7CisJY2hhciBuYW1lWzEyXTsKKwl1bnNpZ25lZCBpbnQgcmVzX251bTsKKwlzdHJ1Y3QgcmVzb3VyY2UgcmVzW1JFU19OVU1dOworCWludCBidXNfbWluOworCWludCBidXNfbWF4OworCWludCBub2RlOworCWludCBsaW5rOworfTsKKworLyogNCBhdCB0aGlzIHRpbWUsIGl0IG1heSBiZWNvbWUgdG8gMzIgKi8KKyNkZWZpbmUgUENJX1JPT1RfTlIgNAorc3RhdGljIGludCBwY2lfcm9vdF9udW07CitzdGF0aWMgc3RydWN0IHBjaV9yb290X2luZm8gcGNpX3Jvb3RfaW5mb1tQQ0lfUk9PVF9OUl07CiAKIHZvaWQgc2V0X3BjaV9idXNfcmVzb3VyY2VzX2FyY2hfZGVmYXVsdChzdHJ1Y3QgcGNpX2J1cyAqYikKIHsKQEAgLTM4NCw3ICs0MTQsNyBAQAogCS8qIG5lZWQgdG8gdGFrZSBvdXQgWzAsIFRPTSkgZm9yIFJBTSovCiAJYWRkcmVzcyA9IE1TUl9LOF9UT1BfTUVNMTsKIAlyZG1zcmwoYWRkcmVzcywgdmFsKTsKLQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDAwVUxMKTsKKwllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDBVTEwpOwogCXByaW50ayhLRVJOX0lORk8gIlRPTTogJTAxNmx4IGFrYSAlbGRNXG4iLCBlbmQsIGVuZD4+MjApOwogCWlmIChlbmQgPCAoMVVMTDw8MzIpKQogCQl1cGRhdGVfcmFuZ2UocmFuZ2UsIDAsIGVuZCAtIDEpOwpAQCAtNDc4LDcgKzUwOCw3IEBACiAJCS8qIFRPUF9NRU0yICovCiAJCWFkZHJlc3MgPSBNU1JfSzhfVE9QX01FTTI7CiAJCXJkbXNybChhZGRyZXNzLCB2YWwpOwotCQllbmQgPSAodmFsICYgMHhmZmZmZmY4MDAwMDAwVUxMKTsKKwkJZW5kID0gKHZhbCAmIDB4ZmZmZmZmODAwMDAwVUxMKTsKIAkJcHJpbnRrKEtFUk5fSU5GTyAiVE9NMjogJTAxNmx4IGFrYSAlbGRNXG4iLCBlbmQsIGVuZD4+MjApOwogCQl1cGRhdGVfcmFuZ2UocmFuZ2UsIDFVTEw8PDMyLCBlbmQgLSAxKTsKIAl9CkBAIC01MjYsMyArNTU2LDMxIEBACiB9CiAKIHBvc3Rjb3JlX2luaXRjYWxsKGVhcmx5X2ZpbGxfbXBfYnVzX2luZm8pOworCisjZW5kaWYKKworLyogY29tbW9uIDMyLzY0IGJpdCBjb2RlICovCisKKyNkZWZpbmUgRU5BQkxFX0NGOF9FWFRfQ0ZHICAgICAgKDFVTEwgPDwgNDYpCisKK3N0YXRpYyB2b2lkIGVuYWJsZV9wY2lfaW9fZWNzX3Blcl9jcHUodm9pZCAqdW51c2VkKQoreworCXU2NCByZWc7CisJcmRtc3JsKE1TUl9BTUQ2NF9OQl9DRkcsIHJlZyk7CisJaWYgKCEocmVnICYgRU5BQkxFX0NGOF9FWFRfQ0ZHKSkgeworCQlyZWcgfD0gRU5BQkxFX0NGOF9FWFRfQ0ZHOworCQl3cm1zcmwoTVNSX0FNRDY0X05CX0NGRywgcmVnKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IGVuYWJsZV9wY2lfaW9fZWNzKHZvaWQpCit7CisJLyogYXNzdW1lIGFsbCBjcHVzIGZyb20gZmFtMTBoIGhhdmUgSU8gRUNTICovCisgICAgICAgIGlmIChib290X2NwdV9kYXRhLng4NiA8IDB4MTApCisJCXJldHVybiAwOworCW9uX2VhY2hfY3B1KGVuYWJsZV9wY2lfaW9fZWNzX3Blcl9jcHUsIE5VTEwsIDEpOworCXBjaV9wcm9iZSB8PSBQQ0lfSEFTX0lPX0VDUzsKKwlyZXR1cm4gMDsKK30KKworcG9zdGNvcmVfaW5pdGNhbGwoZW5hYmxlX3BjaV9pb19lY3MpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2NvbW1vbi5jIGIvYXJjaC94ODYvcGNpL2NvbW1vbi5jCmluZGV4IDZlNjRhYWYuLjIwYjlmNTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9jb21tb24uYworKysgYi9hcmNoL3g4Ni9wY2kvY29tbW9uLmMKQEAgLTM4NCw3ICszODQsNyBAQAogCiBleHRlcm4gdTggcGNpX2NhY2hlX2xpbmVfc2l6ZTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpYmlvc19pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQogewogCXN0cnVjdCBjcHVpbmZvX3g4NiAqYyA9ICZib290X2NwdV9kYXRhOwogCkBAIC00MTEsOCArNDExLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaW5pdCk7Ci0KIGNoYXIgKiBfX2RldmluaXQgIHBjaWJpb3Nfc2V0dXAoY2hhciAqc3RyKQogewogCWlmICghc3RyY21wKHN0ciwgIm9mZiIpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMgYi9hcmNoL3g4Ni9wY2kvZGlyZWN0LmMKaW5kZXggMjFkMWUwZS4uOTkxNTI5MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2RpcmVjdC5jCisrKyBiL2FyY2gveDg2L3BjaS9kaXJlY3QuYwpAQCAtOCwxOCArOCwyMSBAQAogI2luY2x1ZGUgInBjaS5oIgogCiAvKgotICogRnVuY3Rpb25zIGZvciBhY2Nlc3NpbmcgUENJIGNvbmZpZ3VyYXRpb24gc3BhY2Ugd2l0aCB0eXBlIDEgYWNjZXNzZXMKKyAqIEZ1bmN0aW9ucyBmb3IgYWNjZXNzaW5nIFBDSSBiYXNlIChmaXJzdCAyNTYgYnl0ZXMpIGFuZCBleHRlbmRlZAorICogKDQwOTYgYnl0ZXMgcGVyIFBDSSBmdW5jdGlvbikgY29uZmlndXJhdGlvbiBzcGFjZSB3aXRoIHR5cGUgMQorICogYWNjZXNzZXMuCiAgKi8KIAogI2RlZmluZSBQQ0lfQ09ORjFfQUREUkVTUyhidXMsIGRldmZuLCByZWcpIFwKLQkoMHg4MDAwMDAwMCB8IChidXMgPDwgMTYpIHwgKGRldmZuIDw8IDgpIHwgKHJlZyAmIH4zKSkKKwkoMHg4MDAwMDAwMCB8ICgocmVnICYgMHhGMDApIDw8IDE2KSB8IChidXMgPDwgMTYpIFwKKwl8IChkZXZmbiA8PCA4KSB8IChyZWcgJiAweEZDKSkKIAogc3RhdGljIGludCBwY2lfY29uZjFfcmVhZCh1bnNpZ25lZCBpbnQgc2VnLCB1bnNpZ25lZCBpbnQgYnVzLAogCQkJICB1bnNpZ25lZCBpbnQgZGV2Zm4sIGludCByZWcsIGludCBsZW4sIHUzMiAqdmFsdWUpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiAyNTUpKSB7CisJaWYgKChidXMgPiAyNTUpIHx8IChkZXZmbiA+IDI1NSkgfHwgKHJlZyA+IDQwOTUpKSB7CiAJCSp2YWx1ZSA9IC0xOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC01MCw3ICs1Myw3IEBACiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCWlmICgoYnVzID4gMjU1KSB8fCAoZGV2Zm4gPiAyNTUpIHx8IChyZWcgPiAyNTUpKSAKKwlpZiAoKGJ1cyA+IDI1NSkgfHwgKGRldmZuID4gMjU1KSB8fCAocmVnID4gNDA5NSkpCiAJCXJldHVybiAtRUlOVkFMOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnBjaV9jb25maWdfbG9jaywgZmxhZ3MpOwpAQCAtMjYwLDEwICsyNjMsMTggQEAKIAkJcmV0dXJuOwogCXByaW50ayhLRVJOX0lORk8gIlBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlICVkIGZvciBiYXNlIGFjY2Vzc1xuIiwKIAkJIHR5cGUpOwotCWlmICh0eXBlID09IDEpCisJaWYgKHR5cGUgPT0gMSkgewogCQlyYXdfcGNpX29wcyA9ICZwY2lfZGlyZWN0X2NvbmYxOwotCWVsc2UKLQkJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMjsKKwkJaWYgKHJhd19wY2lfZXh0X29wcykKKwkJCXJldHVybjsKKwkJaWYgKCEocGNpX3Byb2JlICYgUENJX0hBU19JT19FQ1MpKQorCQkJcmV0dXJuOworCQlwcmludGsoS0VSTl9JTkZPICJQQ0k6IFVzaW5nIGNvbmZpZ3VyYXRpb24gdHlwZSAxICIKKwkJICAgICAgICJmb3IgZXh0ZW5kZWQgYWNjZXNzXG4iKTsKKwkJcmF3X3BjaV9leHRfb3BzID0gJnBjaV9kaXJlY3RfY29uZjE7CisJCXJldHVybjsKKwl9CisJcmF3X3BjaV9vcHMgPSAmcGNpX2RpcmVjdF9jb25mMjsKIH0KIAogaW50IF9faW5pdCBwY2lfZGlyZWN0X3Byb2JlKHZvaWQpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaTM4Ni5jIGIvYXJjaC94ODYvcGNpL2kzODYuYwppbmRleCAxMGZiMzA4Li4yYWFmYjY3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvaTM4Ni5jCisrKyBiL2FyY2gveDg2L3BjaS9pMzg2LmMKQEAgLTI5OSw5ICsyOTksOSBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXByb3QgPSBwZ3Byb3RfdmFsKHZtYS0+dm1fcGFnZV9wcm90KTsKLQlpZiAocGF0X3djX2VuYWJsZWQgJiYgd3JpdGVfY29tYmluZSkKKwlpZiAocGF0X2VuYWJsZWQgJiYgd3JpdGVfY29tYmluZSkKIAkJcHJvdCB8PSBfUEFHRV9DQUNIRV9XQzsKLQllbHNlIGlmIChwYXRfd2NfZW5hYmxlZCB8fCBib290X2NwdV9kYXRhLng4NiA+IDMpCisJZWxzZSBpZiAocGF0X2VuYWJsZWQgfHwgYm9vdF9jcHVfZGF0YS54ODYgPiAzKQogCQkvKgogCQkgKiBpb3JlbWFwKCkgYW5kIGlvcmVtYXBfbm9jYWNoZSgpIGRlZmF1bHRzIHRvIFVDIE1JTlVTIGZvciBub3cuCiAJCSAqIFRvIGF2b2lkIGF0dHJpYnV0ZSBjb25mbGljdHMsIHJlcXVlc3QgVUMgTUlOVVMgaGVyZQpAQCAtMzM0LDcgKzMzNCw5IEBACiAJCWZsYWdzID0gbmV3X2ZsYWdzOwogCX0KIAotCWlmICh2bWEtPnZtX3Bnb2ZmIDw9IG1heF9wZm5fbWFwcGVkICYmCisJaWYgKCgodm1hLT52bV9wZ29mZiA8IG1heF9sb3dfcGZuX21hcHBlZCkgfHwKKwkgICAgICh2bWEtPnZtX3Bnb2ZmID49ICgxVUw8PCgzMiAtIFBBR0VfU0hJRlQpKSAmJgorCSAgICAgIHZtYS0+dm1fcGdvZmYgPCBtYXhfcGZuX21hcHBlZCkpICYmCiAJICAgIGlvcmVtYXBfY2hhbmdlX2F0dHIoKHVuc2lnbmVkIGxvbmcpX192YShhZGRyKSwgbGVuLCBmbGFncykpIHsKIAkJZnJlZV9tZW10eXBlKGFkZHIsIGFkZHIgKyBsZW4pOwogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9pbml0LmMgYi9hcmNoL3g4Ni9wY2kvaW5pdC5jCmluZGV4IGI4MjFmNDQuLmQ2Yzk1MGYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9pbml0LmMKKysrIGIvYXJjaC94ODYvcGNpL2luaXQuYwpAQCAtNCw3ICs0LDcgQEAKIAogLyogYXJjaF9pbml0Y2FsbCBoYXMgdG9vIHJhbmRvbSBvcmRlcmluZywgc28gY2FsbCB0aGUgaW5pdGlhbGl6ZXJzCiAgICBpbiB0aGUgcmlnaHQgc2VxdWVuY2UgZnJvbSBoZXJlLiAqLwotc3RhdGljIF9faW5pdCBpbnQgcGNpX2FjY2Vzc19pbml0KHZvaWQpCitzdGF0aWMgX19pbml0IGludCBwY2lfYXJjaF9pbml0KHZvaWQpCiB7CiAjaWZkZWYgQ09ORklHX1BDSV9ESVJFQ1QKIAlpbnQgdHlwZSA9IDA7CkBAIC00MCw0ICs0MCw0IEBACiAKIAlyZXR1cm4gMDsKIH0KLWFyY2hfaW5pdGNhbGwocGNpX2FjY2Vzc19pbml0KTsKK2FyY2hfaW5pdGNhbGwocGNpX2FyY2hfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvaXJxLmMgYi9hcmNoL3g4Ni9wY2kvaXJxLmMKaW5kZXggY2E4ZGY5Yy4uZGM1NjhjNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL2lycS5jCisrKyBiL2FyY2gveDg2L3BjaS9pcnEuYwpAQCAtMTEsOCArMTEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vc21wLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxhc20vaW9fYXBpYy5oPgogI2luY2x1ZGUgPGxpbnV4L2lycS5oPgogI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KQEAgLTYxLDcgKzYxLDcgQEAKICAqICBhbmQgcGVyZm9ybSBjaGVja3N1bSB2ZXJpZmljYXRpb24uCiAgKi8KIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUgKiBwaXJxX2NoZWNrX3JvdXRpbmdfdGFibGUodTggKmFkZHIpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcGlycV9jaGVja19yb3V0aW5nX3RhYmxlKHU4ICphZGRyKQogewogCXN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcnQ7CiAJaW50IGk7CkBAIC03NCw3ICs3NCw3IEBACiAJICAgIHJ0LT5zaXplIDwgc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpCiAJCXJldHVybiBOVUxMOwogCXN1bSA9IDA7Ci0JZm9yIChpPTA7IGkgPCBydC0+c2l6ZTsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBydC0+c2l6ZTsgaSsrKQogCQlzdW0gKz0gYWRkcltpXTsKIAlpZiAoIXN1bSkgewogCQlEQkcoS0VSTl9ERUJVRyAiUENJOiBJbnRlcnJ1cHQgUm91dGluZyBUYWJsZSBmb3VuZCBhdCAweCVwXG4iLCBydCk7CkBAIC0xMDAsNyArMTAwLDcgQEAKIAkJCXJldHVybiBydDsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiUENJOiBQSVJRIHRhYmxlIE5PVCBmb3VuZCBhdCBwaXJxYWRkclxuIik7CiAJfQotCWZvcihhZGRyID0gKHU4ICopIF9fdmEoMHhmMDAwMCk7IGFkZHIgPCAodTggKikgX192YSgweDEwMDAwMCk7IGFkZHIgKz0gMTYpIHsKKwlmb3IgKGFkZHIgPSAodTggKikgX192YSgweGYwMDAwKTsgYWRkciA8ICh1OCAqKSBfX3ZhKDB4MTAwMDAwKTsgYWRkciArPSAxNikgewogCQlydCA9IHBpcnFfY2hlY2tfcm91dGluZ190YWJsZShhZGRyKTsKIAkJaWYgKHJ0KQogCQkJcmV0dXJuIHJ0OwpAQCAtMTIyLDIwICsxMjIsMjAgQEAKIAlzdHJ1Y3QgaXJxX2luZm8gKmU7CiAKIAltZW1zZXQoYnVzbWFwLCAwLCBzaXplb2YoYnVzbWFwKSk7Ci0JZm9yKGk9MDsgaSA8IChydC0+c2l6ZSAtIHNpemVvZihzdHJ1Y3QgaXJxX3JvdXRpbmdfdGFibGUpKSAvIHNpemVvZihzdHJ1Y3QgaXJxX2luZm8pOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgKHJ0LT5zaXplIC0gc2l6ZW9mKHN0cnVjdCBpcnFfcm91dGluZ190YWJsZSkpIC8gc2l6ZW9mKHN0cnVjdCBpcnFfaW5mbyk7IGkrKykgewogCQllID0gJnJ0LT5zbG90c1tpXTsKICNpZmRlZiBERUJVRwogCQl7CiAJCQlpbnQgajsKIAkJCURCRyhLRVJOX0RFQlVHICIlMDJ4OiUwMnggc2xvdD0lMDJ4IiwgZS0+YnVzLCBlLT5kZXZmbi84LCBlLT5zbG90KTsKLQkJCWZvcihqPTA7IGo8NDsgaisrKQorCQkJZm9yIChqID0gMDsgaiA8IDQ7IGorKykKIAkJCQlEQkcoIiAlZDolMDJ4LyUwNHgiLCBqLCBlLT5pcnFbal0ubGluaywgZS0+aXJxW2pdLmJpdG1hcCk7CiAJCQlEQkcoIlxuIik7CiAJCX0KICNlbmRpZgogCQlidXNtYXBbZS0+YnVzXSA9IDE7CiAJfQotCWZvcihpID0gMTsgaSA8IDI1NjsgaSsrKSB7CisJZm9yIChpID0gMTsgaSA8IDI1NjsgaSsrKSB7CiAJCWludCBub2RlOwogCQlpZiAoIWJ1c21hcFtpXSB8fCBwY2lfZmluZF9idXMoMCwgaSkpCiAJCQljb250aW51ZTsKQEAgLTI4NSw3ICsyODUsNyBAQAogCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBpcnFtYXBbNF0gPSB7IDEsIDAsIDIsIDMgfTsKIAogCVdBUk5fT05fT05DRShwaXJxID4gNCk7Ci0JcmV0dXJuIHJlYWRfY29uZmlnX255YmJsZShyb3V0ZXIsMHg0MywgcGlycW1hcFtwaXJxLTFdKTsKKwlyZXR1cm4gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwgMHg0MywgcGlycW1hcFtwaXJxLTFdKTsKIH0KIAogc3RhdGljIGludCBwaXJxX2l0ZV9zZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEsIGludCBpcnEpCkBAIC0zMTQsNyArMzE0LDcgQEAKIAogLyoKICAqIEN5cml4OiBuaWJibGUgb2Zmc2V0IDB4NUMKLSAqIDB4NUMgYml0cyA3OjQgaXMgSU5UQiBiaXRzIDM6MCBpcyBJTlRBIAorICogMHg1QyBiaXRzIDc6NCBpcyBJTlRCIGJpdHMgMzowIGlzIElOVEEKICAqIDB4NUQgYml0cyA3OjQgaXMgSU5URCBiaXRzIDM6MCBpcyBJTlRDCiAgKi8KIHN0YXRpYyBpbnQgcGlycV9jeXJpeF9nZXQoc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgc3RydWN0IHBjaV9kZXYgKmRldiwgaW50IHBpcnEpCkBAIC0zNTAsNyArMzUwLDcgQEAKICAqCUFwcGFyZW50bHkgdGhlcmUgYXJlIHN5c3RlbXMgaW1wbGVtZW50aW5nIFBDSSByb3V0aW5nIHRhYmxlIHVzaW5nCiAgKglsaW5rIHZhbHVlcyAweDAxLTB4MDQgYW5kIG90aGVycyB1c2luZyAweDQxLTB4NDQgZm9yIFBDSSBJTlRBLi5ELgogICoJV2UgdHJ5IG91ciBiZXN0IHRvIGhhbmRsZSBib3RoIGxpbmsgbWFwcGluZ3MuCi0gKgkKKyAqCiAgKglDdXJyZW50bHkgKDIwMDMtMDUtMjEpIGl0IGFwcGVhcnMgbW9zdCBTaVMgY2hpcHNldHMgZm9sbG93IHRoZQogICoJZGVmaW5pdGlvbiBvZiByb3V0aW5nIHJlZ2lzdGVycyBmcm9tIHRoZSBTaVMtNTU5NSBzb3V0aGJyaWRnZS4KICAqCUFjY29yZGluZyB0byB0aGUgU2lTIDU1OTUgZGF0YXNoZWV0cyB0aGUgcmV2aXNpb24gaWQncyBvZiB0aGUKQEAgLTM3MCw3ICszNzAsNyBAQAogICoKICAqCTB4NjI6CVVTQklSUToKICAqCQliaXQgNiBPSENJIGZ1bmN0aW9uIGRpc2FibGVkICgwKSwgZW5hYmxlZCAoMSkKLSAqCQorICoKICAqCTB4NmE6CUFDUEkvU0NJIElSUTogYml0cyA0LTYgcmVzZXJ2ZWQKICAqCiAgKgkweDdlOglEYXRhIEFjcS4gTW9kdWxlIElSUSAtIGJpdHMgNC02IHJlc2VydmVkCkBAIC00ODcsOSArNDg3LDcgQEAKIAl1OCBpcnE7CiAJaXJxID0gMDsKIAlpZiAocGlycSA8PSA0KQotCXsKIAkJaXJxID0gcmVhZF9jb25maWdfbnliYmxlKHJvdXRlciwgMHg1NiwgcGlycSAtIDEpOwotCX0KIAlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgZ2V0IGlycSA6ICUyZFxuIiwKIAkJZGV2LT52ZW5kb3IsIGRldi0+ZGV2aWNlLCBwaXJxLCBpcnEpOwogCXJldHVybiBpcnE7CkBAIC00OTcsMTIgKzQ5NSwxMCBAQAogCiBzdGF0aWMgaW50IHBpcnFfYW1kNzU2X3NldChzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCBzdHJ1Y3QgcGNpX2RldiAqZGV2LCBpbnQgcGlycSwgaW50IGlycSkKIHsKLQlwcmludGsoS0VSTl9JTkZPICJBTUQ3NTY6IGRldiAlMDR4OiUwNHgsIHJvdXRlciBwaXJxIDogJWQgU0VUIGlycSA6ICUyZFxuIiwgCisJcHJpbnRrKEtFUk5fSU5GTyAiQU1ENzU2OiBkZXYgJTA0eDolMDR4LCByb3V0ZXIgcGlycSA6ICVkIFNFVCBpcnEgOiAlMmRcbiIsCiAJCWRldi0+dmVuZG9yLCBkZXYtPmRldmljZSwgcGlycSwgaXJxKTsKIAlpZiAocGlycSA8PSA0KQotCXsKIAkJd3JpdGVfY29uZmlnX255YmJsZShyb3V0ZXIsIDB4NTYsIHBpcnEgLSAxLCBpcnEpOwotCX0KIAlyZXR1cm4gMTsKIH0KIApAQCAtNTQ5LDUwICs1NDUsNDkgQEAKIAlpZiAocGNpX2Rldl9wcmVzZW50KHBpcnFfNDQwZ3gpKQogCQlyZXR1cm4gMDsKIAotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFGQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFTQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFNWDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyNDQzTVhfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUFfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUJfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMTA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUNBXzEyOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFEQl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVCXzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDZfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMToKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMzA6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMxOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfRVNCMl8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8zOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF80OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8xOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8zOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV80OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV81OgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfVE9MQVBBSV8wOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzE6Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0gxMF8yOgotCQljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIMTBfMzoKLQkJCXItPm5hbWUgPSAiUElJWC9JQ0giOwotCQkJci0+Z2V0ID0gcGlycV9waWl4X2dldDsKLQkJCXItPnNldCA9IHBpcnFfcGlpeF9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MUZCXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyMzcxU0JfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODIzNzFBQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjM3MU1YOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ0M01YXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQUFfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFBQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUJBXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQkFfMTA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODAxQ0FfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFDQV8xMjoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFEQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF84MjgwMUVfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MDFFQl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0JfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNINl8wOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g2XzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDdfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIN18xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMwOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g3XzMxOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9FU0IyXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF8xOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g4XzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDhfMzoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOF80OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfMToKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV8yOgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9JQ0g5XzM6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDlfNDoKKwljYXNlIFBDSV9ERVZJQ0VfSURfSU5URUxfSUNIOV81OgorCWNhc2UgUENJX0RFVklDRV9JRF9JTlRFTF9UT0xBUEFJXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzA6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzE6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzI6CisJY2FzZSBQQ0lfREVWSUNFX0lEX0lOVEVMX0lDSDEwXzM6CisJCXItPm5hbWUgPSAiUElJWC9JQ0giOworCQlyLT5nZXQgPSBwaXJxX3BpaXhfZ2V0OworCQlyLT5zZXQgPSBwaXJxX3BpaXhfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02MDYsNyArNjAxLDcgQEAKIAkgKiB3b3JrYXJvdW5kcyBmb3Igc29tZSBidWdneSBCSU9TZXMKIAkgKi8KIAlpZiAoZGV2aWNlID09IFBDSV9ERVZJQ0VfSURfVklBXzgyQzU4Nl8wKSB7Ci0JCXN3aXRjaChyb3V0ZXItPmRldmljZSkgeworCQlzd2l0Y2ggKHJvdXRlci0+ZGV2aWNlKSB7CiAJCWNhc2UgUENJX0RFVklDRV9JRF9WSUFfODJDNjg2OgogCQkJLyoKIAkJCSAqIEFzdXMgazdtIGJpb3Mgd3JvbmdseSByZXBvcnRzIDgyQzY4NkEKQEAgLTYzMSw3ICs2MjYsNyBAQAogCQl9CiAJfQogCi0Jc3dpdGNoKGRldmljZSkgeworCXN3aXRjaCAoZGV2aWNlKSB7CiAJY2FzZSBQQ0lfREVWSUNFX0lEX1ZJQV84MkM1ODZfMDoKIAkJci0+bmFtZSA9ICJWSUEiOwogCQlyLT5nZXQgPSBwaXJxX3ZpYTU4Nl9nZXQ7CkBAIC02NTQsMTMgKzY0OSwxMiBAQAogCiBzdGF0aWMgX19pbml0IGludCB2bHNpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJDNTM0OgotCQkJci0+bmFtZSA9ICJWTFNJIDgyQzUzNCI7Ci0JCQlyLT5nZXQgPSBwaXJxX3Zsc2lfZ2V0OwotCQkJci0+c2V0ID0gcGlycV92bHNpX3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX1ZMU0lfODJDNTM0OgorCQlyLT5uYW1lID0gIlZMU0kgODJDNTM0IjsKKwkJci0+Z2V0ID0gcGlycV92bHNpX2dldDsKKwkJci0+c2V0ID0gcGlycV92bHNpX3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQpAQCAtNjY4LDE0ICs2NjIsMTMgQEAKIAogc3RhdGljIF9faW5pdCBpbnQgc2VydmVyd29ya3Nfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfU0VSVkVSV09SS1NfT1NCNDoKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX1NFUlZFUldPUktTX0NTQjU6Ci0JCQlyLT5uYW1lID0gIlNlcnZlcldvcmtzIjsKLQkJCXItPmdldCA9IHBpcnFfc2VydmVyd29ya3NfZ2V0OwotCQkJci0+c2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19PU0I0OgorCWNhc2UgUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19DU0I1OgorCQlyLT5uYW1lID0gIlNlcnZlcldvcmtzIjsKKwkJci0+Z2V0ID0gcGlycV9zZXJ2ZXJ3b3Jrc19nZXQ7CisJCXItPnNldCA9IHBpcnFfc2VydmVyd29ya3Nfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC02ODQsNyArNjc3LDcgQEAKIHsKIAlpZiAoZGV2aWNlICE9IFBDSV9ERVZJQ0VfSURfU0lfNTAzKQogCQlyZXR1cm4gMDsKLQkJCisKIAlyLT5uYW1lID0gIlNJUyI7CiAJci0+Z2V0ID0gcGlycV9zaXNfZ2V0OwogCXItPnNldCA9IHBpcnFfc2lzX3NldDsKQEAgLTY5Myw0NyArNjg2LDQzIEBACiAKIHN0YXRpYyBfX2luaXQgaW50IGN5cml4X3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0NZUklYXzU1MjA6Ci0JCQlyLT5uYW1lID0gIk5hdFNlbWkiOwotCQkJci0+Z2V0ID0gcGlycV9jeXJpeF9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX2N5cml4X3NldDsKLQkJCXJldHVybiAxOworCXN3aXRjaCAoZGV2aWNlKSB7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0NZUklYXzU1MjA6CisJCXItPm5hbWUgPSAiTmF0U2VtaSI7CisJCXItPmdldCA9IHBpcnFfY3lyaXhfZ2V0OworCQlyLT5zZXQgPSBwaXJxX2N5cml4X3NldDsKKwkJcmV0dXJuIDE7CiAJfQogCXJldHVybiAwOwogfQogCiBzdGF0aWMgX19pbml0IGludCBvcHRpX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX09QVElfODJDNzAwOgotCQkJci0+bmFtZSA9ICJPUFRJIjsKLQkJCXItPmdldCA9IHBpcnFfb3B0aV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX29wdGlfc2V0OwotCQkJcmV0dXJuIDE7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfT1BUSV84MkM3MDA6CisJCXItPm5hbWUgPSAiT1BUSSI7CisJCXItPmdldCA9IHBpcnFfb3B0aV9nZXQ7CisJCXItPnNldCA9IHBpcnFfb3B0aV9zZXQ7CisJCXJldHVybiAxOwogCX0KIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIF9faW5pdCBpbnQgaXRlX3JvdXRlcl9wcm9iZShzdHJ1Y3QgaXJxX3JvdXRlciAqciwgc3RydWN0IHBjaV9kZXYgKnJvdXRlciwgdTE2IGRldmljZSkKIHsKLQlzd2l0Y2goZGV2aWNlKQotCXsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0lURV9JVDgzMzBHXzA6Ci0JCQlyLT5uYW1lID0gIklURSI7Ci0JCQlyLT5nZXQgPSBwaXJxX2l0ZV9nZXQ7Ci0JCQlyLT5zZXQgPSBwaXJxX2l0ZV9zZXQ7Ci0JCQlyZXR1cm4gMTsKKwlzd2l0Y2ggKGRldmljZSkgeworCWNhc2UgUENJX0RFVklDRV9JRF9JVEVfSVQ4MzMwR18wOgorCQlyLT5uYW1lID0gIklURSI7CisJCXItPmdldCA9IHBpcnFfaXRlX2dldDsKKwkJci0+c2V0ID0gcGlycV9pdGVfc2V0OworCQlyZXR1cm4gMTsKIAl9CiAJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBfX2luaXQgaW50IGFsaV9yb3V0ZXJfcHJvYmUoc3RydWN0IGlycV9yb3V0ZXIgKnIsIHN0cnVjdCBwY2lfZGV2ICpyb3V0ZXIsIHUxNiBkZXZpY2UpCiB7Ci0Jc3dpdGNoKGRldmljZSkKLQl7CisJc3dpdGNoIChkZXZpY2UpIHsKIAljYXNlIFBDSV9ERVZJQ0VfSURfQUxfTTE1MzM6CiAJY2FzZSBQQ0lfREVWSUNFX0lEX0FMX00xNTYzOgogCQlwcmludGsoS0VSTl9ERUJVRyAiUENJOiBVc2luZyBBTEkgSVJRIFJvdXRlclxuIik7CkBAIC03NDcsMjUgKzczNiwyNCBAQAogCiBzdGF0aWMgX19pbml0IGludCBhbWRfcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewotCXN3aXRjaChkZXZpY2UpCi0JewotCQljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MEI6Ci0JCQlyLT5uYW1lID0gIkFNRDc1NiI7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDEzOgotCQkJci0+bmFtZSA9ICJBTUQ3NjYiOwotCQkJYnJlYWs7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQ0MzoKLQkJCXItPm5hbWUgPSAiQU1ENzY4IjsKLQkJCWJyZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuIDA7CisJc3dpdGNoIChkZXZpY2UpIHsKKwljYXNlIFBDSV9ERVZJQ0VfSURfQU1EX1ZJUEVSXzc0MEI6CisJCXItPm5hbWUgPSAiQU1ENzU2IjsKKwkJYnJlYWs7CisJY2FzZSBQQ0lfREVWSUNFX0lEX0FNRF9WSVBFUl83NDEzOgorCQlyLT5uYW1lID0gIkFNRDc2NiI7CisJCWJyZWFrOworCWNhc2UgUENJX0RFVklDRV9JRF9BTURfVklQRVJfNzQ0MzoKKwkJci0+bmFtZSA9ICJBTUQ3NjgiOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKIAl9CiAJci0+Z2V0ID0gcGlycV9hbWQ3NTZfZ2V0OwogCXItPnNldCA9IHBpcnFfYW1kNzU2X3NldDsKIAlyZXR1cm4gMTsKIH0KLQkJCisKIHN0YXRpYyBfX2luaXQgaW50IHBpY29fcm91dGVyX3Byb2JlKHN0cnVjdCBpcnFfcm91dGVyICpyLCBzdHJ1Y3QgcGNpX2RldiAqcm91dGVyLCB1MTYgZGV2aWNlKQogewogCXN3aXRjaCAoZGV2aWNlKSB7CkBAIC04MDcsNyArNzk1LDcgQEAKICAqCUZJWE1FOiBzaG91bGQgd2UgaGF2ZSBhbiBvcHRpb24gdG8gc2F5ICJnZW5lcmljIGZvcgogICoJY2hpcHNldCIgPwogICovCi0gCisKIHN0YXRpYyB2b2lkIF9faW5pdCBwaXJxX2ZpbmRfcm91dGVyKHN0cnVjdCBpcnFfcm91dGVyICpyKQogewogCXN0cnVjdCBpcnFfcm91dGluZ190YWJsZSAqcnQgPSBwaXJxX3RhYmxlOwpAQCAtODI2LDcgKzgxNCw3IEBACiAJci0+bmFtZSA9ICJkZWZhdWx0IjsKIAlyLT5nZXQgPSBOVUxMOwogCXItPnNldCA9IE5VTEw7Ci0JCisKIAlEQkcoS0VSTl9ERUJVRyAiUENJOiBBdHRlbXB0aW5nIHRvIGZpbmQgSVJRIHJvdXRlciBmb3IgJTA0eDolMDR4XG4iLAogCSAgICBydC0+cnRyX3ZlbmRvciwgcnQtPnJ0cl9kZXZpY2UpOwogCkBAIC04MzcsNyArODI1LDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCWZvciggaCA9IHBpcnFfcm91dGVyczsgaC0+dmVuZG9yOyBoKyspIHsKKwlmb3IgKGggPSBwaXJxX3JvdXRlcnM7IGgtPnZlbmRvcjsgaCsrKSB7CiAJCS8qIEZpcnN0IGxvb2sgZm9yIGEgcm91dGVyIG1hdGNoICovCiAJCWlmIChydC0+cnRyX3ZlbmRvciA9PSBoLT52ZW5kb3IgJiYgaC0+cHJvYmUociwgcGlycV9yb3V0ZXJfZGV2LCBydC0+cnRyX2RldmljZSkpCiAJCQlicmVhazsKQEAgLTg4OSw3ICs4NzcsNyBAQAogCiAJaWYgKCFwaXJxX3RhYmxlKQogCQlyZXR1cm4gMDsKLQkKKwogCURCRyhLRVJOX0RFQlVHICJJUlEgZm9yICVzWyVjXSIsIHBjaV9uYW1lKGRldiksICdBJyArIHBpbik7CiAJaW5mbyA9IHBpcnFfZ2V0X2luZm8oZGV2KTsKIAlpZiAoIWluZm8pIHsKQEAgLTkyOCw4ICs5MTYsMTAgQEAKIAkgKi8KIAluZXdpcnEgPSBkZXYtPmlycTsKIAlpZiAobmV3aXJxICYmICEoKDEgPDwgbmV3aXJxKSAmIG1hc2spKSB7Ci0JCWlmICggcGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spIG5ld2lycSA9IDA7Ci0JCWVsc2UgcHJpbnRrKCJcbiIgS0VSTl9XQVJOSU5HCisJCWlmIChwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykKKwkJCW5ld2lycSA9IDA7CisJCWVsc2UKKwkJCXByaW50aygiXG4iIEtFUk5fV0FSTklORwogCQkJIlBDSTogSVJRICVpIGZvciBkZXZpY2UgJXMgZG9lc24ndCBtYXRjaCBQSVJRIG1hc2sgIgogCQkJIi0gdHJ5IHBjaT11c2VwaXJxbWFza1xuIiBLRVJOX0RFQlVHLCBuZXdpcnEsCiAJCQlwY2lfbmFtZShkZXYpKTsKQEAgLTk0OSw4ICs5MzksOCBAQAogCQlpcnEgPSBwaXJxICYgMHhmOwogCQlEQkcoIiAtPiBoYXJkY29kZWQgSVJRICVkXG4iLCBpcnEpOwogCQltc2cgPSAiSGFyZGNvZGVkIjsKLQl9IGVsc2UgaWYgKCByLT5nZXQgJiYgKGlycSA9IHItPmdldChwaXJxX3JvdXRlcl9kZXYsIGRldiwgcGlycSkpICYmIFwKLQkoKCEocGNpX3Byb2JlICYgUENJX1VTRV9QSVJRX01BU0spKSB8fCAoKDEgPDwgaXJxKSAmIG1hc2spKSApIHsKKwl9IGVsc2UgaWYgKHItPmdldCAmJiAoaXJxID0gci0+Z2V0KHBpcnFfcm91dGVyX2RldiwgZGV2LCBwaXJxKSkgJiYgXAorCSgoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykpIHx8ICgoMSA8PCBpcnEpICYgbWFzaykpKSB7CiAJCURCRygiIC0+IGdvdCBJUlEgJWRcbiIsIGlycSk7CiAJCW1zZyA9ICJGb3VuZCI7CiAJCWVpc2Ffc2V0X2xldmVsX2lycShpcnEpOwpAQCAtOTg1LDE1ICs5NzUsMTUgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAoaW5mby0+aXJxW3Bpbl0ubGluayA9PSBwaXJxKSB7CiAJCQkvKiBXZSByZWZ1c2UgdG8gb3ZlcnJpZGUgdGhlIGRldi0+aXJxIGluZm9ybWF0aW9uLiBHaXZlIGEgd2FybmluZyEgKi8KLQkJICAgIAlpZiAoIGRldjItPmlycSAmJiBkZXYyLT5pcnEgIT0gaXJxICYmIFwKKwkJCWlmIChkZXYyLT5pcnEgJiYgZGV2Mi0+aXJxICE9IGlycSAmJiBcCiAJCQkoIShwY2lfcHJvYmUgJiBQQ0lfVVNFX1BJUlFfTUFTSykgfHwgXAotCQkJKCgxIDw8IGRldjItPmlycSkgJiBtYXNrKSkgKSB7CisJCQkoKDEgPDwgZGV2Mi0+aXJxKSAmIG1hc2spKSkgewogI2lmbmRlZiBDT05GSUdfUENJX01TSQotCQkgICAgCQlwcmludGsoS0VSTl9JTkZPICJJUlEgcm91dGluZyBjb25mbGljdCBmb3IgJXMsIGhhdmUgaXJxICVkLCB3YW50IGlycSAlZFxuIiwKKwkJCQlwcmludGsoS0VSTl9JTkZPICJJUlEgcm91dGluZyBjb25mbGljdCBmb3IgJXMsIGhhdmUgaXJxICVkLCB3YW50IGlycSAlZFxuIiwKIAkJCQkgICAgICAgcGNpX25hbWUoZGV2MiksIGRldjItPmlycSwgaXJxKTsKICNlbmRpZgotCQkgICAgCQljb250aW51ZTsKLQkJICAgIAl9CisJCQkJY29udGludWU7CisJCQl9CiAJCQlkZXYyLT5pcnEgPSBpcnE7CiAJCQlwaXJxX3BlbmFsdHlbaXJxXSsrOwogCQkJaWYgKGRldiAhPSBkZXYyKQpAQCAtMTAzMSw4ICsxMDIxLDcgQEAKIAkJLyoKIAkJICogUmVjYWxjdWxhdGUgSVJRIG51bWJlcnMgaWYgd2UgdXNlIHRoZSBJL08gQVBJQy4KIAkJICovCi0JCWlmIChpb19hcGljX2Fzc2lnbl9wY2lfaXJxcykKLQkJeworCQlpZiAoaW9fYXBpY19hc3NpZ25fcGNpX2lycXMpIHsKIAkJCWludCBpcnE7CiAKIAkJCWlmIChwaW4pIHsKQEAgLTEwNDUsMTAgKzEwMzQsMTAgQEAKIAkgKiBidXNzZXMgaXRzZWxmIHNvIHdlIHNob3VsZCBnZXQgaW50byB0aGlzIGJyYW5jaCByZWxpYWJseS4KIAkgKi8KIAkJCQlpZiAoaXJxIDwgMCAmJiBkZXYtPmJ1cy0+cGFyZW50KSB7IC8qIGdvIGJhY2sgdG8gdGhlIGJyaWRnZSAqLwotCQkJCQlzdHJ1Y3QgcGNpX2RldiAqIGJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOworCQkJCQlzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlID0gZGV2LT5idXMtPnNlbGY7CiAKIAkJCQkJcGluID0gKHBpbiArIFBDSV9TTE9UKGRldi0+ZGV2Zm4pKSAlIDQ7Ci0JCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsIAorCQkJCQlpcnEgPSBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihicmlkZ2UtPmJ1cy0+bnVtYmVyLAogCQkJCQkJCVBDSV9TTE9UKGJyaWRnZS0+ZGV2Zm4pLCBwaW4pOwogCQkJCQlpZiAoaXJxID49IDApCiAJCQkJCQlwcmludGsoS0VSTl9XQVJOSU5HICJQQ0k6IHVzaW5nIFBQQiAlc1slY10gdG8gZ2V0IGlycSAlZFxuIiwKQEAgLTExMTgsNyArMTEwNyw3IEBACiAJeyB9CiB9OwogCi1zdGF0aWMgaW50IF9faW5pdCBwY2liaW9zX2lycV9pbml0KHZvaWQpCitpbnQgX19pbml0IHBjaWJpb3NfaXJxX2luaXQodm9pZCkKIHsKIAlEQkcoS0VSTl9ERUJVRyAiUENJOiBJUlEgaW5pdFxuIik7CiAKQEAgLTExMzgsNyArMTEyNyw3IEBACiAJCXBpcnFfZmluZF9yb3V0ZXIoJnBpcnFfcm91dGVyKTsKIAkJaWYgKHBpcnFfdGFibGUtPmV4Y2x1c2l2ZV9pcnFzKSB7CiAJCQlpbnQgaTsKLQkJCWZvciAoaT0wOyBpPDE2OyBpKyspCisJCQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkrKykKIAkJCQlpZiAoIShwaXJxX3RhYmxlLT5leGNsdXNpdmVfaXJxcyAmICgxIDw8IGkpKSkKIAkJCQkJcGlycV9wZW5hbHR5W2ldICs9IDEwMDsKIAkJfQpAQCAtMTE1Myw5ICsxMTQyLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3Vic3lzX2luaXRjYWxsKHBjaWJpb3NfaXJxX2luaXQpOwotCi0KIHN0YXRpYyB2b2lkIHBpcnFfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKQogewogCS8qCkBAIC0xMjAzLDEwICsxMTg5LDEwIEBACiAJCQkgKi8KIAkJCXRlbXBfZGV2ID0gZGV2OwogCQkJd2hpbGUgKGlycSA8IDAgJiYgZGV2LT5idXMtPnBhcmVudCkgeyAvKiBnbyBiYWNrIHRvIHRoZSBicmlkZ2UgKi8KLQkJCQlzdHJ1Y3QgcGNpX2RldiAqIGJyaWRnZSA9IGRldi0+YnVzLT5zZWxmOworCQkJCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsKIAogCQkJCXBpbiA9IChwaW4gKyBQQ0lfU0xPVChkZXYtPmRldmZuKSkgJSA0OwotCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsIAorCQkJCWlycSA9IElPX0FQSUNfZ2V0X1BDSV9pcnFfdmVjdG9yKGJyaWRnZS0+YnVzLT5udW1iZXIsCiAJCQkJCQlQQ0lfU0xPVChicmlkZ2UtPmRldmZuKSwgcGluKTsKIAkJCQlpZiAoaXJxID49IDApCiAJCQkJCXByaW50ayhLRVJOX1dBUk5JTkcgIlBDSTogdXNpbmcgUFBCICVzWyVjXSB0byBnZXQgaXJxICVkXG4iLApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL2xlZ2FjeS5jIGIvYXJjaC94ODYvcGNpL2xlZ2FjeS5jCmluZGV4IGE2NzkyMWMuLjEzMjg3NmMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9sZWdhY3kuYworKysgYi9hcmNoL3g4Ni9wY2kvbGVnYWN5LmMKQEAgLTU1LDQgKzU1LDE4IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2lfbGVnYWN5X2luaXQpOworaW50IF9faW5pdCBwY2lfc3Vic3lzX2luaXQodm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfQUNQSQorCXBjaV9hY3BpX2luaXQoKTsKKyNlbmRpZgorCXBjaV9sZWdhY3lfaW5pdCgpOworCXBjaWJpb3NfaXJxX2luaXQoKTsKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCisJcGNpX251bWFfaW5pdCgpOworI2VuZGlmCisJcGNpYmlvc19pbml0KCk7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChwY2lfc3Vic3lzX2luaXQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jIGIvYXJjaC94ODYvcGNpL21tY29uZmlnLXNoYXJlZC5jCmluZGV4IDBjZmViZWMuLjIzZmFhYTggMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3BjaS9tbWNvbmZpZy1zaGFyZWQuYworKysgYi9hcmNoL3g4Ni9wY2kvbW1jb25maWctc2hhcmVkLmMKQEAgLTM3NCw3ICszNzQsNyBAQAogCiBzdGF0aWMgaW50IF9faW5pdGRhdGEga25vd25fYnJpZGdlOwogCi12b2lkIF9faW5pdCBfX3BjaV9tbWNmZ19pbml0KGludCBlYXJseSkKK3N0YXRpYyB2b2lkIF9faW5pdCBfX3BjaV9tbWNmZ19pbml0KGludCBlYXJseSkKIHsKIAkvKiBNTUNPTkZJRyBkaXNhYmxlZCAqLwogCWlmICgocGNpX3Byb2JlICYgUENJX1BST0JFX01NQ09ORikgPT0gMCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS9tcF9idXNfdG9fbm9kZS5jIGIvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAyMjk0MzkuLjAwMDAwMDAKLS0tIGEvYXJjaC94ODYvcGNpL21wX2J1c190b19ub2RlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0jaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3RvcG9sb2d5Lmg+Ci0KLSNkZWZpbmUgQlVTX05SIDI1NgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBtcF9idXNfdG9fbm9kZVtCVVNfTlJdOwotCi12b2lkIHNldF9tcF9idXNfdG9fbm9kZShpbnQgYnVzbnVtLCBpbnQgbm9kZSkKLXsKLQlpZiAoYnVzbnVtID49IDAgJiYgIGJ1c251bSA8IEJVU19OUikKLQltcF9idXNfdG9fbm9kZVtidXNudW1dID0gKHVuc2lnbmVkIGNoYXIpIG5vZGU7Ci19Ci0KLWludCBnZXRfbXBfYnVzX3RvX25vZGUoaW50IGJ1c251bSkKLXsKLQlpbnQgbm9kZTsKLQotCWlmIChidXNudW0gPCAwIHx8IGJ1c251bSA+IChCVVNfTlIgLSAxKSkKLQkJcmV0dXJuIDA7Ci0Jbm9kZSA9IG1wX2J1c190b19ub2RlW2J1c251bV07Ci0JcmV0dXJuIG5vZGU7Ci19CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvbnVtYS5jIGIvYXJjaC94ODYvcGNpL251bWEuYwppbmRleCBkOWFmYmFlLi44YjVjYTE5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wY2kvbnVtYS5jCisrKyBiL2FyY2gveDg2L3BjaS9udW1hLmMKQEAgLTYsNDUgKzYsMjEgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbm9kZW1hc2suaD4KICNpbmNsdWRlIDxtYWNoX2FwaWMuaD4KKyNpbmNsdWRlIDxhc20vbXBzcGVjLmg+CiAjaW5jbHVkZSAicGNpLmgiCiAKICNkZWZpbmUgWFFVQURfUE9SVElPX0JBU0UgMHhmZTQwMDAwMAogI2RlZmluZSBYUVVBRF9QT1JUSU9fUVVBRCAweDQwMDAwICAvKiAyNTZrIHBlciBxdWFkLiAqLwogCi1pbnQgbXBfYnVzX2lkX3RvX25vZGVbTUFYX01QX0JVU1NFU107CiAjZGVmaW5lIEJVUzJRVUFEKGdsb2JhbCkgKG1wX2J1c19pZF90b19ub2RlW2dsb2JhbF0pCiAKLWludCBtcF9idXNfaWRfdG9fbG9jYWxbTUFYX01QX0JVU1NFU107CiAjZGVmaW5lIEJVUzJMT0NBTChnbG9iYWwpIChtcF9idXNfaWRfdG9fbG9jYWxbZ2xvYmFsXSkKIAotdm9pZCBtcGNfb2VtX2J1c19pbmZvKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwgY2hhciAqbmFtZSwKLQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKLQlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7Ci0KLQltcF9idXNfaWRfdG9fbm9kZVttLT5tcGNfYnVzaWRdID0gcXVhZDsKLQltcF9idXNfaWRfdG9fbG9jYWxbbS0+bXBjX2J1c2lkXSA9IGxvY2FsOwotCXByaW50ayhLRVJOX0lORk8gIkJ1cyAjJWQgaXMgJXMgKG5vZGUgJWQpXG4iLAotCSAgICAgICBtLT5tcGNfYnVzaWQsIG5hbWUsIHF1YWQpOwotfQotCi1pbnQgcXVhZF9sb2NhbF90b19tcF9idXNfaWQgW05SX0NQVVMvNF1bNF07CiAjZGVmaW5lIFFVQURMT0NBTDJCVVMocXVhZCxsb2NhbCkgKHF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkW3F1YWRdW2xvY2FsXSkKLXZvaWQgbXBjX29lbV9wY2lfYnVzKHN0cnVjdCBtcGNfY29uZmlnX2J1cyAqbSwKLQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb24pCi17Ci0JaW50IHF1YWQgPSB0cmFuc2xhdGlvbi0+dHJhbnNfcXVhZDsKLQlpbnQgbG9jYWwgPSB0cmFuc2xhdGlvbi0+dHJhbnNfbG9jYWw7Ci0KLQlxdWFkX2xvY2FsX3RvX21wX2J1c19pZFtxdWFkXVtsb2NhbF0gPSBtLT5tcGNfYnVzaWQ7Ci19CiAKIC8qIFdoZXJlIHRoZSBJTyBhcmVhIHdhcyBtYXBwZWQgb24gbXVsdGlxdWFkLCBhbHdheXMgMCBvdGhlcndpc2UgKi8KIHZvaWQgKnhxdWFkX3BvcnRpbzsKLSNpZmRlZiBDT05GSUdfWDg2X05VTUFRCiBFWFBPUlRfU1lNQk9MKHhxdWFkX3BvcnRpbyk7Ci0jZW5kaWYKIAogI2RlZmluZSBYUVVBRF9QT1JUX0FERFIocG9ydCwgcXVhZCkgKHhxdWFkX3BvcnRpbyArIChYUVVBRF9QT1JUSU9fUVVBRCpxdWFkKSArIHBvcnQpCiAKQEAgLTE3NSwxMCArMTUxLDEzIEBACiB9CiBERUNMQVJFX1BDSV9GSVhVUF9IRUFERVIoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjQ1MU5YLCBwY2lfZml4dXBfaTQ1MG54KTsKIAotc3RhdGljIGludCBfX2luaXQgcGNpX251bWFfaW5pdCh2b2lkKQoraW50IF9faW5pdCBwY2lfbnVtYV9pbml0KHZvaWQpCiB7CiAJaW50IHF1YWQ7CiAKKwlpZiAoIWZvdW5kX251bWFxKQorCQlyZXR1cm4gMDsKKwogCXJhd19wY2lfb3BzID0gJnBjaV9kaXJlY3RfY29uZjFfbXE7CiAKIAlpZiAocGNpYmlvc19zY2FubmVkKyspCkBAIC0xOTcsNSArMTc2LDMgQEAKIAkJfQogCXJldHVybiAwOwogfQotCi1zdWJzeXNfaW5pdGNhbGwocGNpX251bWFfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wY2kvcGNpLmggYi9hcmNoL3g4Ni9wY2kvcGNpLmgKaW5kZXggNzIwYzRjNS4uYjIyNzBhNSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL3BjaS5oCisrKyBiL2FyY2gveDg2L3BjaS9wY2kuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBQQ0lfQ0FOX1NLSVBfSVNBX0FMSUdOCTB4ODAwMAogI2RlZmluZSBQQ0lfVVNFX19DUlMJCTB4MTAwMDAKICNkZWZpbmUgUENJX0NIRUNLX0VOQUJMRV9BTURfTU1DT05GCTB4MjAwMDAKKyNkZWZpbmUgUENJX0hBU19JT19FQ1MJCTB4NDAwMDAKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBwY2lfcHJvYmU7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBwaXJxX3RhYmxlX2FkZHI7CkBAIC0zOCw5ICszOSw2IEBACiAJcGNpX2RtaV9iZiwKIH07CiAKLWV4dGVybiB2b2lkIF9faW5pdCBkbWlfY2hlY2tfcGNpcHJvYmUodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3NraXBfaXNhX2FsaWduKHZvaWQpOwotCiAvKiBwY2ktaTM4Ni5jICovCiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgcGNpYmlvc19tYXhfbGF0ZW5jeTsKQEAgLTk4LDEwICs5NiwxOSBAQAogCiBleHRlcm4gc3RydWN0IHBjaV9yYXdfb3BzIHBjaV9kaXJlY3RfY29uZjE7CiAKKy8qIGFyY2hfaW5pdGNhbGwgbGV2ZWwgKi8KIGV4dGVybiBpbnQgcGNpX2RpcmVjdF9wcm9iZSh2b2lkKTsKIGV4dGVybiB2b2lkIHBjaV9kaXJlY3RfaW5pdChpbnQgdHlwZSk7CiBleHRlcm4gdm9pZCBwY2lfcGNiaW9zX2luaXQodm9pZCk7CiBleHRlcm4gaW50IHBjaV9vbHBjX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBfX2luaXQgZG1pX2NoZWNrX3BjaXByb2JlKHZvaWQpOworZXh0ZXJuIHZvaWQgX19pbml0IGRtaV9jaGVja19za2lwX2lzYV9hbGlnbih2b2lkKTsKKworLyogc29tZSBjb21tb24gdXNlZCBzdWJzeXNfaW5pdGNhbGxzICovCitleHRlcm4gaW50IF9faW5pdCBwY2lfYWNwaV9pbml0KHZvaWQpOworZXh0ZXJuIGludCBfX2luaXQgcGNpYmlvc19pcnFfaW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX19pbml0IHBjaV9udW1hX2luaXQodm9pZCk7CitleHRlcm4gaW50IF9faW5pdCBwY2liaW9zX2luaXQodm9pZCk7CiAKIC8qIHBjaS1tbWNvbmZpZy5jICovCiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BjaS92aXN3cy5jIGIvYXJjaC94ODYvcGNpL3Zpc3dzLmMKaW5kZXggYzJkZjRlOS4uMWE3YmVkNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGNpL3Zpc3dzLmMKKysrIGIvYXJjaC94ODYvcGNpL3Zpc3dzLmMKQEAgLTgsMTggKzgsMTkgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAKLSNpbmNsdWRlICJjb2JhbHQuaCIKLSNpbmNsdWRlICJsaXRoaXVtLmgiCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL2NvYmFsdC5oPgorI2luY2x1ZGUgPGFzbS92aXN3cy9saXRoaXVtLmg+CiAKICNpbmNsdWRlICJwY2kuaCIKIAogc3RhdGljIGludCBwY2lfdmlzd3NfZW5hYmxlX2lycShzdHJ1Y3QgcGNpX2RldiAqZGV2KSB7IHJldHVybiAwOyB9CiBzdGF0aWMgdm9pZCBwY2lfdmlzd3NfZGlzYWJsZV9pcnEoc3RydWN0IHBjaV9kZXYgKmRldikgeyB9CiAKLWludCAoKnBjaWJpb3NfZW5hYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2VuYWJsZV9pcnE7Ci12b2lkICgqcGNpYmlvc19kaXNhYmxlX2lycSkoc3RydWN0IHBjaV9kZXYgKmRldikgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOworLyogaW50ICgqcGNpYmlvc19lbmFibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZW5hYmxlX2lycTsgKi8KKy8qIHZvaWQgKCpwY2liaW9zX2Rpc2FibGVfaXJxKShzdHJ1Y3QgcGNpX2RldiAqZGV2KSA9ICZwY2lfdmlzd3NfZGlzYWJsZV9pcnE7ICovCiAKLXZvaWQgX19pbml0IHBjaWJpb3NfcGVuYWxpemVfaXNhX2lycShpbnQgaXJxLCBpbnQgYWN0aXZlKSB7fQorLyogdm9pZCBfX2luaXQgcGNpYmlvc19wZW5hbGl6ZV9pc2FfaXJxKGludCBpcnEsIGludCBhY3RpdmUpIHt9ICovCiAKIAogdW5zaWduZWQgaW50IHBjaV9idXMwLCBwY2lfYnVzMTsKQEAgLTg1LDcgKzg2LDcgQEAKIAlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBQQ0lfSU5URVJSVVBUX0xJTkUsIGlycSk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IHBjaWJpb3NfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgcGNpX3Zpc3dzX2luaXQodm9pZCkKIHsKIAkvKiBUaGUgVklTV1Mgc3VwcG9ydHMgY29uZmlndXJhdGlvbiBhY2Nlc3MgdHlwZSAxIG9ubHkgKi8KIAlwY2lfcHJvYmUgPSAocGNpX3Byb2JlIHwgUENJX1BST0JFX0NPTkYxKSAmCkBAIC0xMDUsNCArMTA2LDE3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN1YnN5c19pbml0Y2FsbChwY2liaW9zX2luaXQpOworc3RhdGljIF9faW5pdCBpbnQgcGNpX3N1YnN5c19pbml0KHZvaWQpCit7CisJaWYgKCFpc192aXN3c19ib3goKSkKKwkJcmV0dXJuIC0xOworCisJcGNpYmlvc19lbmFibGVfaXJxID0gJnBjaV92aXN3c19lbmFibGVfaXJxOworCXBjaWJpb3NfZGlzYWJsZV9pcnEgPSAmcGNpX3Zpc3dzX2Rpc2FibGVfaXJxOworCisJcGNpX3Zpc3dzX2luaXQoKTsKKwlwY2liaW9zX2luaXQoKTsKKworCXJldHVybiAwOworfQorc3Vic3lzX2luaXRjYWxsKHBjaV9zdWJzeXNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9wb3dlci9oaWJlcm5hdGVfNjQuYyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCmluZGV4IGI1NDIzNTUuLjZkZDAwMGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCisrKyBiL2FyY2gveDg2L3Bvd2VyL2hpYmVybmF0ZV82NC5jCkBAIC04Myw3ICs4Myw3IEBACiAKIAkvKiBTZXQgdXAgdGhlIGRpcmVjdCBtYXBwaW5nIGZyb20gc2NyYXRjaCAqLwogCXN0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpcGZuX3RvX2thZGRyKDApOwotCWVuZCA9ICh1bnNpZ25lZCBsb25nKXBmbl90b19rYWRkcihlbmRfcGZuKTsKKwllbmQgPSAodW5zaWduZWQgbG9uZylwZm5fdG9fa2FkZHIobWF4X3Bmbik7CiAKIAlmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0ID0gbmV4dCkgewogCQlwdWRfdCAqcHVkID0gKHB1ZF90ICopZ2V0X3NhZmVfcGFnZShHRlBfQVRPTUlDKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYyBiL2FyY2gveDg2L3Zkc28vdmNsb2NrX2dldHRpbWUuYwppbmRleCBlZmEyYmE3Li4xZWYwZjkwIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZjbG9ja19nZXR0aW1lLmMKKysrIGIvYXJjaC94ODYvdmRzby92Y2xvY2tfZ2V0dGltZS5jCkBAIC0yMyw3ICsyMyw3IEBACiAKICNkZWZpbmUgZ3RvZCB2ZHNvX3ZzeXNjYWxsX2d0b2RfZGF0YQogCi1zdGF0aWMgbG9uZyB2ZHNvX2ZhbGxiYWNrX2dldHRpbWUobG9uZyBjbG9jaywgc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIGxvbmcgdmRzb19mYWxsYmFja19nZXR0aW1lKGxvbmcgY2xvY2ssIHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJbG9uZyByZXQ7CiAJYXNtKCJzeXNjYWxsIiA6ICI9YSIgKHJldCkgOgpAQCAtMzEsNyArMzEsNyBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgbG9uZyB2Z2V0bnModm9pZCkKK25vdHJhY2Ugc3RhdGljIGlubGluZSBsb25nIHZnZXRucyh2b2lkKQogewogCWxvbmcgdjsKIAljeWNsZXNfdCAoKnZyZWFkKSh2b2lkKTsKQEAgLTQwLDcgKzQwLDcgQEAKIAlyZXR1cm4gKHYgKiBndG9kLT5jbG9jay5tdWx0KSA+PiBndG9kLT5jbG9jay5zaGlmdDsKIH0KIAotc3RhdGljIG5vaW5saW5lIGludCBkb19yZWFsdGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBzdGF0aWMgbm9pbmxpbmUgaW50IGRvX3JlYWx0aW1lKHN0cnVjdCB0aW1lc3BlYyAqdHMpCiB7CiAJdW5zaWduZWQgbG9uZyBzZXEsIG5zOwogCWRvIHsKQEAgLTU0LDcgKzU0LDggQEAKIH0KIAogLyogQ29weSBvZiB0aGUgdmVyc2lvbiBpbiBrZXJuZWwvdGltZS5jIHdoaWNoIHdlIGNhbm5vdCBkaXJlY3RseSBhY2Nlc3MgKi8KLXN0YXRpYyB2b2lkIHZzZXRfbm9ybWFsaXplZF90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnRzLCBsb25nIHNlYywgbG9uZyBuc2VjKQorbm90cmFjZSBzdGF0aWMgdm9pZAordnNldF9ub3JtYWxpemVkX3RpbWVzcGVjKHN0cnVjdCB0aW1lc3BlYyAqdHMsIGxvbmcgc2VjLCBsb25nIG5zZWMpCiB7CiAJd2hpbGUgKG5zZWMgPj0gTlNFQ19QRVJfU0VDKSB7CiAJCW5zZWMgLT0gTlNFQ19QRVJfU0VDOwpAQCAtNjgsNyArNjksNyBAQAogCXRzLT50dl9uc2VjID0gbnNlYzsKIH0KIAotc3RhdGljIG5vaW5saW5lIGludCBkb19tb25vdG9uaWMoc3RydWN0IHRpbWVzcGVjICp0cykKK25vdHJhY2Ugc3RhdGljIG5vaW5saW5lIGludCBkb19tb25vdG9uaWMoc3RydWN0IHRpbWVzcGVjICp0cykKIHsKIAl1bnNpZ25lZCBsb25nIHNlcSwgbnMsIHNlY3M7CiAJZG8gewpAQCAtODIsNyArODMsNyBAQAogCXJldHVybiAwOwogfQogCi1pbnQgX192ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tpZF90IGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQorbm90cmFjZSBpbnQgX192ZHNvX2Nsb2NrX2dldHRpbWUoY2xvY2tpZF90IGNsb2NrLCBzdHJ1Y3QgdGltZXNwZWMgKnRzKQogewogCWlmIChsaWtlbHkoZ3RvZC0+c3lzY3RsX2VuYWJsZWQgJiYgZ3RvZC0+Y2xvY2sudnJlYWQpKQogCQlzd2l0Y2ggKGNsb2NrKSB7CkBAIC05Niw3ICs5Nyw3IEBACiBpbnQgY2xvY2tfZ2V0dGltZShjbG9ja2lkX3QsIHN0cnVjdCB0aW1lc3BlYyAqKQogCV9fYXR0cmlidXRlX18oKHdlYWssIGFsaWFzKCJfX3Zkc29fY2xvY2tfZ2V0dGltZSIpKSk7CiAKLWludCBfX3Zkc29fZ2V0dGltZW9mZGF5KHN0cnVjdCB0aW1ldmFsICp0diwgc3RydWN0IHRpbWV6b25lICp0eikKK25vdHJhY2UgaW50IF9fdmRzb19nZXR0aW1lb2ZkYXkoc3RydWN0IHRpbWV2YWwgKnR2LCBzdHJ1Y3QgdGltZXpvbmUgKnR6KQogewogCWxvbmcgcmV0OwogCWlmIChsaWtlbHkoZ3RvZC0+c3lzY3RsX2VuYWJsZWQgJiYgZ3RvZC0+Y2xvY2sudnJlYWQpKSB7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jIGIvYXJjaC94ODYvdmRzby92ZHNvMzItc2V0dXAuYwppbmRleCBjZjA1OGZlLi4wYmNlNTQyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3Zkc28zMi1zZXR1cC5jCisrKyBiL2FyY2gveDg2L3Zkc28vdmRzbzMyLXNldHVwLmMKQEAgLTIwMywyMCArMjAzLDExIEBACiAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAKLXN0YXRpYyBpbnQgdXNlX3N5c2VudGVyIF9fcmVhZF9tb3N0bHkgPSAtMTsKLQotI2RlZmluZQl2ZHNvMzJfc3lzZW50ZXIoKQkodXNlX3N5c2VudGVyID4gMCkKKyNkZWZpbmUJdmRzbzMyX3N5c2VudGVyKCkJKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TWVNFTlRFUjMyKSkKIAogLyogTWF5IG5vdCBiZSBfX2luaXQ6IGNhbGxlZCBkdXJpbmcgcmVzdW1lICovCiB2b2lkIHN5c2NhbGwzMl9jcHVfaW5pdCh2b2lkKQogewotCWlmICh1c2Vfc3lzZW50ZXIgPCAwKSB7Ci0JCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9JTlRFTCkKLQkJCXVzZV9zeXNlbnRlciA9IDE7Ci0JCWlmIChib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9DRU5UQVVSKQotCQkJdXNlX3N5c2VudGVyID0gMTsKLQl9Ci0KIAkvKiBMb2FkIHRoZXNlIGFsd2F5cyBpbiBjYXNlIHNvbWUgZnV0dXJlIEFNRCBDUFUgc3VwcG9ydHMKIAkgICBTWVNFTlRFUiBmcm9tIGNvbXBhdCBtb2RlIHRvby4gKi8KIAljaGVja2luZ193cm1zcmwoTVNSX0lBMzJfU1lTRU5URVJfQ1MsICh1NjQpX19LRVJORUxfQ1MpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92Z2V0Y3B1LmMgYi9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYwppbmRleCBjODA5N2YxLi45ZmJjNmIyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZnZXRjcHUuYwpAQCAtMTMsNyArMTMsOCBAQAogI2luY2x1ZGUgPGFzbS92Z3RvZC5oPgogI2luY2x1ZGUgInZleHRlcm4uaCIKIAotbG9uZyBfX3Zkc29fZ2V0Y3B1KHVuc2lnbmVkICpjcHUsIHVuc2lnbmVkICpub2RlLCBzdHJ1Y3QgZ2V0Y3B1X2NhY2hlICp1bnVzZWQpCitub3RyYWNlIGxvbmcKK19fdmRzb19nZXRjcHUodW5zaWduZWQgKmNwdSwgdW5zaWduZWQgKm5vZGUsIHN0cnVjdCBnZXRjcHVfY2FjaGUgKnVudXNlZCkKIHsKIAl1bnNpZ25lZCBpbnQgcDsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdmRzby92bWEuYyBiL2FyY2gveDg2L3Zkc28vdm1hLmMKaW5kZXggM2ZkZDUxNC4uMTlhNmNmYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvdmRzby92bWEuYworKysgYi9hcmNoL3g4Ni92ZHNvL3ZtYS5jCkBAIC0xNiw3ICsxNiw3IEBACiAjaW5jbHVkZSAidmV4dGVybi5oIgkJLyogSnVzdCBmb3IgVk1BR0lDLiAgKi8KICN1bmRlZiBWRVhURVJOCiAKLWludCB2ZHNvX2VuYWJsZWQgPSAxOwordW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgdmRzb19lbmFibGVkID0gMTsKIAogZXh0ZXJuIGNoYXIgdmRzb19zdGFydFtdLCB2ZHNvX2VuZFtdOwogZXh0ZXJuIHVuc2lnbmVkIHNob3J0IHZkc29fc3luY19jcHVpZDsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9LY29uZmlnIGIvYXJjaC94ODYveGVuL0tjb25maWcKaW5kZXggNmMzODhlNS4uYzJjYzk5NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL0tjb25maWcKKysrIGIvYXJjaC94ODYveGVuL0tjb25maWcKQEAgLTEyLDMgKzEyLDEzIEBACiAJICBUaGlzIGlzIHRoZSBMaW51eCBYZW4gcG9ydC4gIEVuYWJsaW5nIHRoaXMgd2lsbCBhbGxvdyB0aGUKIAkgIGtlcm5lbCB0byBib290IGluIGEgcGFyYXZpcnR1YWxpemVkIGVudmlyb25tZW50IHVuZGVyIHRoZQogCSAgWGVuIGh5cGVydmlzb3IuCisKK2NvbmZpZyBYRU5fTUFYX0RPTUFJTl9NRU1PUlkKKyAgICAgICBpbnQgIk1heGltdW0gYWxsb3dlZCBzaXplIG9mIGEgZG9tYWluIGluIGdpZ2FieXRlcyIKKyAgICAgICBkZWZhdWx0IDgKKyAgICAgICBkZXBlbmRzIG9uIFhFTgorICAgICAgIGhlbHAKKyAgICAgICAgIFRoZSBwc2V1ZG8tcGh5c2ljYWwgdG8gbWFjaGluZSBhZGRyZXNzIGFycmF5IGlzIHNpemVkCisgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIG1heGltdW0gcG9zc2libGUgbWVtb3J5IHNpemUgb2YgYSBYZW4KKyAgICAgICAgIGRvbWFpbi4gIFRoaXMgYXJyYXkgdXNlcyAxIHBhZ2UgcGVyIGdpZ2FieXRlLCBzbyB0aGVyZSdzIG5vCisgICAgICAgICBuZWVkIHRvIGJlIHRvbyBzdGluZ3kgaGVyZS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUgYi9hcmNoL3g4Ni94ZW4vTWFrZWZpbGUKaW5kZXggM2Q4ZGY5OC4uMmJhMmQxNiAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL01ha2VmaWxlCisrKyBiL2FyY2gveDg2L3hlbi9NYWtlZmlsZQpAQCAtMSw0ICsxLDQgQEAKIG9iai15CQk6PSBlbmxpZ2h0ZW4ubyBzZXR1cC5vIG11bHRpY2FsbHMubyBtbXUubyBcCi0JCQl0aW1lLm8gbWFuYWdlLm8geGVuLWFzbS5vIGdyYW50LXRhYmxlLm8KKwkJCXRpbWUubyB4ZW4tYXNtLm8gZ3JhbnQtdGFibGUubyBzdXNwZW5kLm8KIAogb2JqLSQoQ09ORklHX1NNUCkJKz0gc21wLm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCBmMDljMWM2Li5iYjUwODQ1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KICNpbmNsdWRlIDxhc20vcmVib290Lmg+CisjaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KIAogI2luY2x1ZGUgInhlbi1vcHMuaCIKICNpbmNsdWRlICJtbXUuaCIKQEAgLTc1LDEzICs3NiwxMyBAQAogc3RydWN0IHN0YXJ0X2luZm8gKnhlbl9zdGFydF9pbmZvOwogRVhQT1JUX1NZTUJPTF9HUEwoeGVuX3N0YXJ0X2luZm8pOwogCi1zdGF0aWMgLyogX19pbml0ZGF0YSAqLyBzdHJ1Y3Qgc2hhcmVkX2luZm8gZHVtbXlfc2hhcmVkX2luZm87CitzdHJ1Y3Qgc2hhcmVkX2luZm8geGVuX2R1bW15X3NoYXJlZF9pbmZvOwogCiAvKgogICogUG9pbnQgYXQgc29tZSBlbXB0eSBtZW1vcnkgdG8gc3RhcnQgd2l0aC4gV2UgbWFwIHRoZSByZWFsIHNoYXJlZF9pbmZvCiAgKiBwYWdlIGFzIHNvb24gYXMgZml4bWFwIGlzIHVwIGFuZCBydW5uaW5nLgogICovCi1zdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPSAodm9pZCAqKSZkdW1teV9zaGFyZWRfaW5mbzsKK3N0cnVjdCBzaGFyZWRfaW5mbyAqSFlQRVJWSVNPUl9zaGFyZWRfaW5mbyA9ICh2b2lkICopJnhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIAogLyoKICAqIEZsYWcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdmNwdSBpbmZvIHBsYWNlbWVudCBpcyBhdmFpbGFibGUgb24gYWxsCkBAIC05OCwxMyArOTksMTMgQEAKICAqLwogc3RhdGljIGludCBoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQgPSAxOwogCi1zdGF0aWMgdm9pZCBfX2luaXQgeGVuX3ZjcHVfc2V0dXAoaW50IGNwdSkKK3N0YXRpYyB2b2lkIHhlbl92Y3B1X3NldHVwKGludCBjcHUpCiB7CiAJc3RydWN0IHZjcHVfcmVnaXN0ZXJfdmNwdV9pbmZvIGluZm87CiAJaW50IGVycjsKIAlzdHJ1Y3QgdmNwdV9pbmZvICp2Y3B1cDsKIAotCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZkdW1teV9zaGFyZWRfaW5mbyk7CisJQlVHX09OKEhZUEVSVklTT1Jfc2hhcmVkX2luZm8gPT0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbyk7CiAJcGVyX2NwdSh4ZW5fdmNwdSwgY3B1KSA9ICZIWVBFUlZJU09SX3NoYXJlZF9pbmZvLT52Y3B1X2luZm9bY3B1XTsKIAogCWlmICghaGF2ZV92Y3B1X2luZm9fcGxhY2VtZW50KQpAQCAtMTM2LDExICsxMzcsNDEgQEAKIAl9CiB9CiAKKy8qCisgKiBPbiByZXN0b3JlLCBzZXQgdGhlIHZjcHUgcGxhY2VtZW50IHVwIGFnYWluLgorICogSWYgaXQgZmFpbHMsIHRoZW4gd2UncmUgaW4gYSBiYWQgc3RhdGUsIHNpbmNlCisgKiB3ZSBjYW4ndCBiYWNrIG91dCBmcm9tIHVzaW5nIGl0Li4uCisgKi8KK3ZvaWQgeGVuX3ZjcHVfcmVzdG9yZSh2b2lkKQoreworCWlmIChoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpIHsKKwkJaW50IGNwdTsKKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJYm9vbCBvdGhlcl9jcHUgPSAoY3B1ICE9IHNtcF9wcm9jZXNzb3JfaWQoKSk7CisKKwkJCWlmIChvdGhlcl9jcHUgJiYKKwkJCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2Rvd24sIGNwdSwgTlVMTCkpCisJCQkJQlVHKCk7CisKKwkJCXhlbl92Y3B1X3NldHVwKGNwdSk7CisKKwkJCWlmIChvdGhlcl9jcHUgJiYKKwkJCSAgICBIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3VwLCBjcHUsIE5VTEwpKQorCQkJCUJVRygpOworCQl9CisKKwkJQlVHX09OKCFoYXZlX3ZjcHVfaW5mb19wbGFjZW1lbnQpOworCX0KK30KKwogc3RhdGljIHZvaWQgX19pbml0IHhlbl9iYW5uZXIodm9pZCkKIHsKIAlwcmludGsoS0VSTl9JTkZPICJCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBrZXJuZWwgb24gJXNcbiIsCiAJICAgICAgIHB2X2luZm8ubmFtZSk7Ci0JcHJpbnRrKEtFUk5fSU5GTyAiSHlwZXJ2aXNvciBzaWduYXR1cmU6ICVzXG4iLCB4ZW5fc3RhcnRfaW5mby0+bWFnaWMpOworCXByaW50ayhLRVJOX0lORk8gIkh5cGVydmlzb3Igc2lnbmF0dXJlOiAlcyVzXG4iLAorCSAgICAgICB4ZW5fc3RhcnRfaW5mby0+bWFnaWMsCisJICAgICAgIHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkgPyAiIChwcmVzZXJ2ZS1BRCkiIDogIiIpOwogfQogCiBzdGF0aWMgdm9pZCB4ZW5fY3B1aWQodW5zaWduZWQgaW50ICpheCwgdW5zaWduZWQgaW50ICpieCwKQEAgLTIzNSwxMyArMjY2LDEzIEBACiB7CiAJc3RydWN0IHZjcHVfaW5mbyAqdmNwdTsKIAotCS8qIFRoZXJlJ3MgYSBvbmUgaW5zdHJ1Y3Rpb24gcHJlZW1wdCB3aW5kb3cgaGVyZS4gIFdlIG5lZWQgdG8KLQkgICBtYWtlIHN1cmUgd2UncmUgZG9uJ3Qgc3dpdGNoIENQVXMgYmV0d2VlbiBnZXR0aW5nIHRoZSB2Y3B1Ci0JICAgcG9pbnRlciBhbmQgdXBkYXRpbmcgdGhlIG1hc2suICovCi0JcHJlZW1wdF9kaXNhYmxlKCk7CisJLyogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBiZWluZyBwcmVlbXB0ZWQgaGVyZSwgc2luY2UKKwkgICBlaXRoZXIgYSkgaW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIHNvIG5vIHByZWVtcHRpb24sIG9yIGIpCisJICAgdGhlIGNhbGxlciBpcyBjb25mdXNlZCBhbmQgaXMgdHJ5aW5nIHRvIHJlLWVuYWJsZSBpbnRlcnJ1cHRzCisJICAgb24gYW4gaW5kZXRlcm1pbmF0ZSBwcm9jZXNzb3IuICovCisKIAl2Y3B1ID0geDg2X3JlYWRfcGVyY3B1KHhlbl92Y3B1KTsKIAl2Y3B1LT5ldnRjaG5fdXBjYWxsX21hc2sgPSAwOwotCXByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWQoKTsKIAogCS8qIERvZXNuJ3QgbWF0dGVyIGlmIHdlIGdldCBwcmVlbXB0ZWQgaGVyZSwgYmVjYXVzZSBhbnkKIAkgICBwZW5kaW5nIGV2ZW50IHdpbGwgZ2V0IGRlYWx0IHdpdGggYW55d2F5LiAqLwpAQCAtMjU0LDcgKzI4NSw3IEBACiBzdGF0aWMgdm9pZCB4ZW5fc2FmZV9oYWx0KHZvaWQpCiB7CiAJLyogQmxvY2tpbmcgaW5jbHVkZXMgYW4gaW1wbGljaXQgbG9jYWxfaXJxX2VuYWJsZSgpLiAqLwotCWlmIChIWVBFUlZJU09SX3NjaGVkX29wKFNDSEVET1BfYmxvY2ssIDApICE9IDApCisJaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9ibG9jaywgTlVMTCkgIT0gMCkKIAkJQlVHKCk7CiB9CiAKQEAgLTYwNyw2ICs2MzgsMzAgQEAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogfQogCitzdGF0aWMgdm9pZCB4ZW5fY2x0cyh2b2lkKQoreworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNzOworCisJbWNzID0geGVuX21jX2VudHJ5KDApOworCisJTVVMVElfZnB1X3Rhc2tzd2l0Y2gobWNzLm1jLCAwKTsKKworCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX0NQVSk7Cit9CisKK3N0YXRpYyB2b2lkIHhlbl93cml0ZV9jcjAodW5zaWduZWQgbG9uZyBjcjApCit7CisJc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7CisKKwkvKiBPbmx5IHBheSBhdHRlbnRpb24gdG8gY3IwLlRTOyBldmVyeXRoaW5nIGVsc2UgaXMKKwkgICBpZ25vcmVkLiAqLworCW1jcyA9IHhlbl9tY19lbnRyeSgwKTsKKworCU1VTFRJX2ZwdV90YXNrc3dpdGNoKG1jcy5tYywgKGNyMCAmIFg4Nl9DUjBfVFMpICE9IDApOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfQ1BVKTsKK30KKwogc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyMih1bnNpZ25lZCBsb25nIGNyMikKIHsKIAl4ODZfcmVhZF9wZXJjcHUoeGVuX3ZjcHUpLT5hcmNoLmNyMiA9IGNyMjsKQEAgLTYyNCw4ICs2NzksMTAgQEAKIAogc3RhdGljIHZvaWQgeGVuX3dyaXRlX2NyNCh1bnNpZ25lZCBsb25nIGNyNCkKIHsKLQkvKiBKdXN0IGlnbm9yZSBjcjQgY2hhbmdlczsgWGVuIGRvZXNuJ3QgYWxsb3cgdXMgdG8gZG8KLQkgICBhbnl0aGluZyBhbnl3YXkuICovCisJY3I0ICY9IH5YODZfQ1I0X1BHRTsKKwljcjQgJj0gflg4Nl9DUjRfUFNFOworCisJbmF0aXZlX3dyaXRlX2NyNChjcjQpOwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyB4ZW5fcmVhZF9jcjModm9pZCkKQEAgLTgzMSw3ICs4ODgsNyBAQAogCQkJICBQRk5fRE9XTihfX3BhKHhlbl9zdGFydF9pbmZvLT5wdF9iYXNlKSkpOwogfQogCi1zdGF0aWMgX19pbml0IHZvaWQgc2V0dXBfc2hhcmVkX2luZm8odm9pZCkKK3ZvaWQgeGVuX3NldHVwX3NoYXJlZF9pbmZvKHZvaWQpCiB7CiAJaWYgKCF4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkgewogCQl1bnNpZ25lZCBsb25nIGFkZHIgPSBmaXhfdG9fdmlydChGSVhfUEFSQVZJUlRfQk9PVE1BUCk7CkBAIC04NTQsNiArOTExLDggQEAKIAkvKiBJbiBVUCB0aGlzIGlzIGFzIGdvb2QgYSBwbGFjZSBhcyBhbnkgdG8gc2V0IHVwIHNoYXJlZCBpbmZvICovCiAJeGVuX3NldHVwX3ZjcHVfaW5mb19wbGFjZW1lbnQoKTsKICNlbmRpZgorCisJeGVuX3NldHVwX21mbl9saXN0X2xpc3QoKTsKIH0KIAogc3RhdGljIF9faW5pdCB2b2lkIHhlbl9wYWdldGFibGVfc2V0dXBfZG9uZShwZ2RfdCAqYmFzZSkKQEAgLTg2NiwxNSArOTI1LDIzIEBACiAJcHZfbW11X29wcy5yZWxlYXNlX3BtZCA9IHhlbl9yZWxlYXNlX3BtZDsKIAlwdl9tbXVfb3BzLnNldF9wdGUgPSB4ZW5fc2V0X3B0ZTsKIAotCXNldHVwX3NoYXJlZF9pbmZvKCk7CisJeGVuX3NldHVwX3NoYXJlZF9pbmZvKCk7CiAKIAkvKiBBY3R1YWxseSBwaW4gdGhlIHBhZ2V0YWJsZSBkb3duLCBidXQgd2UgY2FuJ3Qgc2V0IFBHX3Bpbm5lZAogCSAgIHlldCBiZWNhdXNlIHRoZSBwYWdlIHN0cnVjdHVyZXMgZG9uJ3QgZXhpc3QgeWV0LiAqLwogCXBpbl9wYWdldGFibGVfcGZuKE1NVUVYVF9QSU5fTDNfVEFCTEUsIFBGTl9ET1dOKF9fcGEoYmFzZSkpKTsKIH0KIAorc3RhdGljIF9faW5pdCB2b2lkIHhlbl9wb3N0X2FsbG9jYXRvcl9pbml0KHZvaWQpCit7CisJcHZfbW11X29wcy5zZXRfcG1kID0geGVuX3NldF9wbWQ7CisJcHZfbW11X29wcy5zZXRfcHVkID0geGVuX3NldF9wdWQ7CisKKwl4ZW5fbWFya19pbml0X21tX3Bpbm5lZCgpOworfQorCiAvKiBUaGlzIGlzIGNhbGxlZCBvbmNlIHdlIGhhdmUgdGhlIGNwdV9wb3NzaWJsZV9tYXAgKi8KLXZvaWQgX19pbml0IHhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KHZvaWQpCit2b2lkIHhlbl9zZXR1cF92Y3B1X2luZm9fcGxhY2VtZW50KHZvaWQpCiB7CiAJaW50IGNwdTsKIApAQCAtOTQ3LDYgKzEwMTQsMzMgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCB4ZW5fc2V0X2ZpeG1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgcHJvdCkKK3sKKwlwdGVfdCBwdGU7CisKKwlwaHlzID4+PSBQQUdFX1NISUZUOworCisJc3dpdGNoIChpZHgpIHsKKwljYXNlIEZJWF9CVE1BUF9FTkQgLi4uIEZJWF9CVE1BUF9CRUdJTjoKKyNpZmRlZiBDT05GSUdfWDg2X0YwMEZfQlVHCisJY2FzZSBGSVhfRjAwRl9JRFQ6CisjZW5kaWYKKwljYXNlIEZJWF9XUF9URVNUOgorCWNhc2UgRklYX1ZEU086CisjaWZkZWYgQ09ORklHX1g4Nl9MT0NBTF9BUElDCisJY2FzZSBGSVhfQVBJQ19CQVNFOgkvKiBtYXBzIGR1bW15IGxvY2FsIEFQSUMgKi8KKyNlbmRpZgorCQlwdGUgPSBwZm5fcHRlKHBoeXMsIHByb3QpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXB0ZSA9IG1mbl9wdGUocGh5cywgcHJvdCk7CisJCWJyZWFrOworCX0KKworCV9fbmF0aXZlX3NldF9maXhtYXAoaWR4LCBwdGUpOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2luZm8geGVuX2luZm8gX19pbml0ZGF0YSA9IHsKIAkucGFyYXZpcnRfZW5hYmxlZCA9IDEsCiAJLnNoYXJlZF9rZXJuZWxfcG1kID0gMCwKQEAgLTk2MCw3ICsxMDU0LDcgQEAKIAkuYmFubmVyID0geGVuX2Jhbm5lciwKIAkubWVtb3J5X3NldHVwID0geGVuX21lbW9yeV9zZXR1cCwKIAkuYXJjaF9zZXR1cCA9IHhlbl9hcmNoX3NldHVwLAotCS5wb3N0X2FsbG9jYXRvcl9pbml0ID0geGVuX21hcmtfaW5pdF9tbV9waW5uZWQsCisJLnBvc3RfYWxsb2NhdG9yX2luaXQgPSB4ZW5fcG9zdF9hbGxvY2F0b3JfaW5pdCwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHZfdGltZV9vcHMgeGVuX3RpbWVfb3BzIF9faW5pdGRhdGEgPSB7CkBAIC05NjgsNyArMTA2Miw3IEBACiAKIAkuc2V0X3dhbGxjbG9jayA9IHhlbl9zZXRfd2FsbGNsb2NrLAogCS5nZXRfd2FsbGNsb2NrID0geGVuX2dldF93YWxsY2xvY2ssCi0JLmdldF9jcHVfa2h6ID0geGVuX2NwdV9raHosCisJLmdldF90c2Nfa2h6ID0geGVuX3RzY19raHosCiAJLnNjaGVkX2Nsb2NrID0geGVuX3NjaGVkX2Nsb2NrLAogfTsKIApAQCAtOTc4LDEwICsxMDcyLDEwIEBACiAJLnNldF9kZWJ1Z3JlZyA9IHhlbl9zZXRfZGVidWdyZWcsCiAJLmdldF9kZWJ1Z3JlZyA9IHhlbl9nZXRfZGVidWdyZWcsCiAKLQkuY2x0cyA9IG5hdGl2ZV9jbHRzLAorCS5jbHRzID0geGVuX2NsdHMsCiAKIAkucmVhZF9jcjAgPSBuYXRpdmVfcmVhZF9jcjAsCi0JLndyaXRlX2NyMCA9IG5hdGl2ZV93cml0ZV9jcjAsCisJLndyaXRlX2NyMCA9IHhlbl93cml0ZV9jcjAsCiAKIAkucmVhZF9jcjQgPSBuYXRpdmVfcmVhZF9jcjQsCiAJLnJlYWRfY3I0X3NhZmUgPSBuYXRpdmVfcmVhZF9jcjRfc2FmZSwKQEAgLTk5NSw3ICsxMDg5LDcgQEAKIAkucmVhZF9wbWMgPSBuYXRpdmVfcmVhZF9wbWMsCiAKIAkuaXJldCA9IHhlbl9pcmV0LAotCS5pcnFfZW5hYmxlX3N5c2NhbGxfcmV0ID0geGVuX3N5c2V4aXQsCisJLmlycV9lbmFibGVfc3lzZXhpdCA9IHhlbl9zeXNleGl0LAogCiAJLmxvYWRfdHJfZGVzYyA9IHBhcmF2aXJ0X25vcCwKIAkuc2V0X2xkdCA9IHhlbl9zZXRfbGR0LApAQCAtMTAyOSw2ICsxMTIzLDkgQEAKIAkuaXJxX2VuYWJsZSA9IHhlbl9pcnFfZW5hYmxlLAogCS5zYWZlX2hhbHQgPSB4ZW5fc2FmZV9oYWx0LAogCS5oYWx0ID0geGVuX2hhbHQsCisjaWZkZWYgQ09ORklHX1g4Nl82NAorCS5hZGp1c3RfZXhjZXB0aW9uX2ZyYW1lID0gcGFyYXZpcnRfbm9wLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2FwaWNfb3BzIHhlbl9hcGljX29wcyBfX2luaXRkYXRhID0gewpAQCAtMTA2MCw2ICsxMTU3LDkgQEAKIAkucHRlX3VwZGF0ZSA9IHBhcmF2aXJ0X25vcCwKIAkucHRlX3VwZGF0ZV9kZWZlciA9IHBhcmF2aXJ0X25vcCwKIAorCS5wZ2RfYWxsb2MgPSBfX3BhcmF2aXJ0X3BnZF9hbGxvYywKKwkucGdkX2ZyZWUgPSBwYXJhdmlydF9ub3AsCisKIAkuYWxsb2NfcHRlID0geGVuX2FsbG9jX3B0ZV9pbml0LAogCS5yZWxlYXNlX3B0ZSA9IHhlbl9yZWxlYXNlX3B0ZV9pbml0LAogCS5hbGxvY19wbWQgPSB4ZW5fYWxsb2NfcHRlX2luaXQsCkBAIC0xMDcyLDkgKzExNzIsMTMgQEAKIAogCS5zZXRfcHRlID0gTlVMTCwJLyogc2VlIHhlbl9wYWdldGFibGVfc2V0dXBfKiAqLwogCS5zZXRfcHRlX2F0ID0geGVuX3NldF9wdGVfYXQsCi0JLnNldF9wbWQgPSB4ZW5fc2V0X3BtZCwKKwkuc2V0X3BtZCA9IHhlbl9zZXRfcG1kX2h5cGVyLAorCisJLnB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQgPSBfX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQsCisJLnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0ID0gX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdCwKIAogCS5wdGVfdmFsID0geGVuX3B0ZV92YWwsCisJLnB0ZV9mbGFncyA9IG5hdGl2ZV9wdGVfdmFsLAogCS5wZ2RfdmFsID0geGVuX3BnZF92YWwsCiAKIAkubWFrZV9wdGUgPSB4ZW5fbWFrZV9wdGUsCkBAIC0xMDgyLDcgKzExODYsNyBAQAogCiAJLnNldF9wdGVfYXRvbWljID0geGVuX3NldF9wdGVfYXRvbWljLAogCS5zZXRfcHRlX3ByZXNlbnQgPSB4ZW5fc2V0X3B0ZV9hdCwKLQkuc2V0X3B1ZCA9IHhlbl9zZXRfcHVkLAorCS5zZXRfcHVkID0geGVuX3NldF9wdWRfaHlwZXIsCiAJLnB0ZV9jbGVhciA9IHhlbl9wdGVfY2xlYXIsCiAJLnBtZF9jbGVhciA9IHhlbl9wbWRfY2xlYXIsCiAKQEAgLTEwOTcsNiArMTIwMSw4IEBACiAJCS5lbnRlciA9IHBhcmF2aXJ0X2VudGVyX2xhenlfbW11LAogCQkubGVhdmUgPSB4ZW5fbGVhdmVfbGF6eSwKIAl9LAorCisJLnNldF9maXhtYXAgPSB4ZW5fc2V0X2ZpeG1hcCwKIH07CiAKICNpZmRlZiBDT05GSUdfU01QCkBAIC0xMTA4LDE3ICsxMjE0LDIxIEBACiAKIAkuc21wX3NlbmRfc3RvcCA9IHhlbl9zbXBfc2VuZF9zdG9wLAogCS5zbXBfc2VuZF9yZXNjaGVkdWxlID0geGVuX3NtcF9zZW5kX3Jlc2NoZWR1bGUsCi0JLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sgPSB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzaywKKworCS5zZW5kX2NhbGxfZnVuY19pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGksCisJLnNlbmRfY2FsbF9mdW5jX3NpbmdsZV9pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaXBpLAogfTsKICNlbmRpZgkvKiBDT05GSUdfU01QICovCiAKIHN0YXRpYyB2b2lkIHhlbl9yZWJvb3QoaW50IHJlYXNvbikKIHsKKwlzdHJ1Y3Qgc2NoZWRfc2h1dGRvd24gciA9IHsgLnJlYXNvbiA9IHJlYXNvbiB9OworCiAjaWZkZWYgQ09ORklHX1NNUAogCXNtcF9zZW5kX3N0b3AoKTsKICNlbmRpZgogCi0JaWYgKEhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF9zaHV0ZG93biwgcmVhc29uKSkKKwlpZiAoSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3NodXRkb3duLCAmcikpCiAJCUJVRygpOwogfQogCkBAIC0xMTczLDYgKzEyODMsOCBAQAogCiAJQlVHX09OKG1lbWNtcCh4ZW5fc3RhcnRfaW5mby0+bWFnaWMsICJ4ZW4tMyIsIDUpICE9IDApOwogCisJeGVuX3NldHVwX2ZlYXR1cmVzKCk7CisKIAkvKiBJbnN0YWxsIFhlbiBwYXJhdmlydCBvcHMgKi8KIAlwdl9pbmZvID0geGVuX2luZm87CiAJcHZfaW5pdF9vcHMgPSB4ZW5faW5pdF9vcHM7CkBAIC0xMTgyLDIxICsxMjk0LDI2IEBACiAJcHZfYXBpY19vcHMgPSB4ZW5fYXBpY19vcHM7CiAJcHZfbW11X29wcyA9IHhlbl9tbXVfb3BzOwogCisJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZCkpIHsKKwkJcHZfbW11X29wcy5wdGVwX21vZGlmeV9wcm90X3N0YXJ0ID0geGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQ7CisJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQgPSB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQ7CisJfQorCiAJbWFjaGluZV9vcHMgPSB4ZW5fbWFjaGluZV9vcHM7CiAKICNpZmRlZiBDT05GSUdfU01QCiAJc21wX29wcyA9IHhlbl9zbXBfb3BzOwogI2VuZGlmCiAKLQl4ZW5fc2V0dXBfZmVhdHVyZXMoKTsKLQogCS8qIEdldCBtZm4gbGlzdCAqLwogCWlmICgheGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpCi0JCXBoeXNfdG9fbWFjaGluZV9tYXBwaW5nID0gKHVuc2lnbmVkIGxvbmcgKil4ZW5fc3RhcnRfaW5mby0+bWZuX2xpc3Q7CisJCXhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSgpOwogCiAJcGdkID0gKHBnZF90ICopeGVuX3N0YXJ0X2luZm8tPnB0X2Jhc2U7CiAKKwlpbml0X3BnX3RhYmxlc19zdGFydCA9IF9fcGEocGdkKTsKIAlpbml0X3BnX3RhYmxlc19lbmQgPSBfX3BhKHBnZCkgKyB4ZW5fc3RhcnRfaW5mby0+bnJfcHRfZnJhbWVzKlBBR0VfU0laRTsKKwltYXhfcGZuX21hcHBlZCA9IChpbml0X3BnX3RhYmxlc19lbmQgKyA1MTIqMTAyNCkgPj4gUEFHRV9TSElGVDsKIAogCWluaXRfbW0ucGdkID0gcGdkOyAvKiB1c2UgdGhlIFhlbiBwYWdldGFibGVzIHRvIHN0YXJ0ICovCiAKQEAgLTEyMzIsOSArMTM0OSwxMiBAQAogCQk/IF9fcGEoeGVuX3N0YXJ0X2luZm8tPm1vZF9zdGFydCkgOiAwOwogCWJvb3RfcGFyYW1zLmhkci5yYW1kaXNrX3NpemUgPSB4ZW5fc3RhcnRfaW5mby0+bW9kX2xlbjsKIAotCWlmICghaXNfaW5pdGlhbF94ZW5kb21haW4oKSkKKwlpZiAoIWlzX2luaXRpYWxfeGVuZG9tYWluKCkpIHsKKwkJYWRkX3ByZWZlcnJlZF9jb25zb2xlKCJ4ZW5ib290IiwgMCwgTlVMTCk7CisJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgidHR5IiwgMCwgTlVMTCk7CiAJCWFkZF9wcmVmZXJyZWRfY29uc29sZSgiaHZjIiwgMCwgTlVMTCk7CisJfQogCiAJLyogU3RhcnQgdGhlIHdvcmxkICovCi0Jc3RhcnRfa2VybmVsKCk7CisJaTM4Nl9zdGFydF9rZXJuZWwoKTsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tYW5hZ2UuYyBiL2FyY2gveDg2L3hlbi9tYW5hZ2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWE3YWY5ZS4uMDAwMDAwMAotLS0gYS9hcmNoL3g4Ni94ZW4vbWFuYWdlLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotLyoKLSAqIEhhbmRsZSBleHRlcm4gcmVxdWVzdHMgZm9yIHNodXRkb3duLCByZWJvb3QgYW5kIHN5c3JxCi0gKi8KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9lcnIuaD4KLSNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgotCi0jaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgotCi0jZGVmaW5lIFNIVVRET1dOX0lOVkFMSUQgIC0xCi0jZGVmaW5lIFNIVVRET1dOX1BPV0VST0ZGICAwCi0jZGVmaW5lIFNIVVRET1dOX1NVU1BFTkQgICAyCi0vKiBDb2RlIDMgaXMgU0hVVERPV05fQ1JBU0gsIHdoaWNoIHdlIGRvbid0IHVzZSBiZWNhdXNlIHRoZSBkb21haW4gY2FuIG9ubHkKLSAqIHJlcG9ydCBhIGNyYXNoLCBub3QgYmUgaW5zdHJ1Y3RlZCB0byBjcmFzaCEKLSAqIEhBTFQgaXMgdGhlIHNhbWUgYXMgUE9XRVJPRkYsIGFzIGZhciBhcyB3ZSdyZSBjb25jZXJuZWQuICBUaGUgdG9vbHMgdXNlCi0gKiB0aGUgZGlzdGluY3Rpb24gd2hlbiB3ZSByZXR1cm4gdGhlIHJlYXNvbiBjb2RlIHRvIHRoZW0uCi0gKi8KLSNkZWZpbmUgU0hVVERPV05fSEFMVCAgICAgIDQKLQotLyogSWdub3JlIG11bHRpcGxlIHNodXRkb3duIHJlcXVlc3RzLiAqLwotc3RhdGljIGludCBzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKLQotc3RhdGljIHZvaWQgc2h1dGRvd25faGFuZGxlcihzdHJ1Y3QgeGVuYnVzX3dhdGNoICp3YXRjaCwKLQkJCSAgICAgY29uc3QgY2hhciAqKnZlYywgdW5zaWduZWQgaW50IGxlbikKLXsKLQljaGFyICpzdHI7Ci0Jc3RydWN0IHhlbmJ1c190cmFuc2FjdGlvbiB4YnQ7Ci0JaW50IGVycjsKLQotCWlmIChzaHV0dGluZ19kb3duICE9IFNIVVRET1dOX0lOVkFMSUQpCi0JCXJldHVybjsKLQotIGFnYWluOgotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9zdGFydCgmeGJ0KTsKLQlpZiAoZXJyKQotCQlyZXR1cm47Ci0KLQlzdHIgPSAoY2hhciAqKXhlbmJ1c19yZWFkKHhidCwgImNvbnRyb2wiLCAic2h1dGRvd24iLCBOVUxMKTsKLQkvKiBJZ25vcmUgcmVhZCBlcnJvcnMgYW5kIGVtcHR5IHJlYWRzLiAqLwotCWlmIChYRU5CVVNfSVNfRVJSX1JFQUQoc3RyKSkgewotCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0KLQl4ZW5idXNfd3JpdGUoeGJ0LCAiY29udHJvbCIsICJzaHV0ZG93biIsICIiKTsKLQotCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAwKTsKLQlpZiAoZXJyID09IC1FQUdBSU4pIHsKLQkJa2ZyZWUoc3RyKTsKLQkJZ290byBhZ2FpbjsKLQl9Ci0KLQlpZiAoc3RyY21wKHN0ciwgInBvd2Vyb2ZmIikgPT0gMCB8fAotCSAgICBzdHJjbXAoc3RyLCAiaGFsdCIpID09IDApCi0JCW9yZGVybHlfcG93ZXJvZmYoZmFsc2UpOwotCWVsc2UgaWYgKHN0cmNtcChzdHIsICJyZWJvb3QiKSA9PSAwKQotCQljdHJsX2FsdF9kZWwoKTsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiSWdub3Jpbmcgc2h1dGRvd24gcmVxdWVzdDogJXNcbiIsIHN0cik7Ci0JCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOwotCX0KLQotCWtmcmVlKHN0cik7Ci19Ci0KLXN0YXRpYyB2b2lkIHN5c3JxX2hhbmRsZXIoc3RydWN0IHhlbmJ1c193YXRjaCAqd2F0Y2gsIGNvbnN0IGNoYXIgKip2ZWMsCi0JCQkgIHVuc2lnbmVkIGludCBsZW4pCi17Ci0JY2hhciBzeXNycV9rZXkgPSAnXDAnOwotCXN0cnVjdCB4ZW5idXNfdHJhbnNhY3Rpb24geGJ0OwotCWludCBlcnI7Ci0KLSBhZ2FpbjoKLQllcnIgPSB4ZW5idXNfdHJhbnNhY3Rpb25fc3RhcnQoJnhidCk7Ci0JaWYgKGVycikKLQkJcmV0dXJuOwotCWlmICgheGVuYnVzX3NjYW5mKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAmc3lzcnFfa2V5KSkgewotCQlwcmludGsoS0VSTl9FUlIgIlVuYWJsZSB0byByZWFkIHN5c3JxIGNvZGUgaW4gIgotCQkgICAgICAgImNvbnRyb2wvc3lzcnFcbiIpOwotCQl4ZW5idXNfdHJhbnNhY3Rpb25fZW5kKHhidCwgMSk7Ci0JCXJldHVybjsKLQl9Ci0KLQlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCi0JCXhlbmJ1c19wcmludGYoeGJ0LCAiY29udHJvbCIsICJzeXNycSIsICIlYyIsICdcMCcpOwotCi0JZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOwotCWlmIChlcnIgPT0gLUVBR0FJTikKLQkJZ290byBhZ2FpbjsKLQotCWlmIChzeXNycV9rZXkgIT0gJ1wwJykKLQkJaGFuZGxlX3N5c3JxKHN5c3JxX2tleSwgTlVMTCk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHNodXRkb3duX3dhdGNoID0gewotCS5ub2RlID0gImNvbnRyb2wvc2h1dGRvd24iLAotCS5jYWxsYmFjayA9IHNodXRkb3duX2hhbmRsZXIKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgeGVuYnVzX3dhdGNoIHN5c3JxX3dhdGNoID0gewotCS5ub2RlID0gImNvbnRyb2wvc3lzcnEiLAotCS5jYWxsYmFjayA9IHN5c3JxX2hhbmRsZXIKLX07Ci0KLXN0YXRpYyBpbnQgc2V0dXBfc2h1dGRvd25fd2F0Y2hlcih2b2lkKQotewotCWludCBlcnI7Ci0KLQllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnNodXRkb3duX3dhdGNoKTsKLQlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzaHV0ZG93biB3YXRjaGVyXG4iKTsKLQkJcmV0dXJuIGVycjsKLQl9Ci0KLQllcnIgPSByZWdpc3Rlcl94ZW5idXNfd2F0Y2goJnN5c3JxX3dhdGNoKTsKLQlpZiAoZXJyKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHNldCBzeXNycSB3YXRjaGVyXG4iKTsKLQkJcmV0dXJuIGVycjsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzaHV0ZG93bl9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5vdGlmaWVyLAotCQkJICB1bnNpZ25lZCBsb25nIGV2ZW50LAotCQkJICB2b2lkICpkYXRhKQotewotCXNldHVwX3NodXRkb3duX3dhdGNoZXIoKTsKLQlyZXR1cm4gTk9USUZZX0RPTkU7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0IHNldHVwX3NodXRkb3duX2V2ZW50KHZvaWQpCi17Ci0Jc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5zdG9yZV9ub3RpZmllciA9IHsKLQkJLm5vdGlmaWVyX2NhbGwgPSBzaHV0ZG93bl9ldmVudAotCX07Ci0JcmVnaXN0ZXJfeGVuc3RvcmVfbm90aWZpZXIoJnhlbnN0b3JlX25vdGlmaWVyKTsKLQotCXJldHVybiAwOwotfQotCi1zdWJzeXNfaW5pdGNhbGwoc2V0dXBfc2h1dGRvd25fZXZlbnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL21tdS5jIGIvYXJjaC94ODYveGVuL21tdS5jCmluZGV4IDRlNTI3ZTcuLmZmMGFhNzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tbXUuYworKysgYi9hcmNoL3g4Ni94ZW4vbW11LmMKQEAgLTU2LDYgKzU2LDEzMSBAQAogI2luY2x1ZGUgIm11bHRpY2FsbHMuaCIKICNpbmNsdWRlICJtbXUuaCIKIAorI2RlZmluZSBQMk1fRU5UUklFU19QRVJfUEFHRQkoUEFHRV9TSVpFIC8gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKQorI2RlZmluZSBUT1BfRU5UUklFUwkJKE1BWF9ET01BSU5fUEFHRVMgLyBQMk1fRU5UUklFU19QRVJfUEFHRSkKKworLyogUGxhY2Vob2xkZXIgZm9yIGhvbGVzIGluIHRoZSBhZGRyZXNzIHNwYWNlICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwMm1fbWlzc2luZ1tQMk1fRU5UUklFU19QRVJfUEFHRV0KKwlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZGF0YS5wYWdlX2FsaWduZWQiKSkpID0KKwkJeyBbIDAgLi4uIFAyTV9FTlRSSUVTX1BFUl9QQUdFLTEgXSA9IH4wVUwgfTsKKworIC8qIEFycmF5IG9mIHBvaW50ZXJzIHRvIHBhZ2VzIGNvbnRhaW5pbmcgcDJtIGVudHJpZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nICpwMm1fdG9wW1RPUF9FTlRSSUVTXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5kYXRhLnBhZ2VfYWxpZ25lZCIpKSkgPQorCQl7IFsgMCAuLi4gVE9QX0VOVFJJRVMgLSAxXSA9ICZwMm1fbWlzc2luZ1swXSB9OworCisvKiBBcnJheXMgb2YgcDJtIGFycmF5cyBleHByZXNzZWQgaW4gbWZucyB1c2VkIGZvciBzYXZlL3Jlc3RvcmUgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHAybV90b3BfbWZuW1RPUF9FTlRSSUVTXQorCV9fYXR0cmlidXRlX18oKHNlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikpKTsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgcDJtX3RvcF9tZm5fbGlzdFsKKwkJCVBBR0VfQUxJR04oVE9QX0VOVFJJRVMgLyBQMk1fRU5UUklFU19QRVJfUEFHRSldCisJX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSkpOworCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIHAybV90b3BfaW5kZXgodW5zaWduZWQgbG9uZyBwZm4pCit7CisJQlVHX09OKHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKTsKKwlyZXR1cm4gcGZuIC8gUDJNX0VOVFJJRVNfUEVSX1BBR0U7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgcDJtX2luZGV4KHVuc2lnbmVkIGxvbmcgcGZuKQoreworCXJldHVybiBwZm4gJSBQMk1fRU5UUklFU19QRVJfUEFHRTsKK30KKworLyogQnVpbGQgdGhlIHBhcmFsbGVsIHAybV90b3BfbWZuIHN0cnVjdHVyZXMgKi8KK3ZvaWQgeGVuX3NldHVwX21mbl9saXN0X2xpc3Qodm9pZCkKK3sKKwl1bnNpZ25lZCBwZm4sIGlkeDsKKworCWZvcihwZm4gPSAwOyBwZm4gPCBNQVhfRE9NQUlOX1BBR0VTOyBwZm4gKz0gUDJNX0VOVFJJRVNfUEVSX1BBR0UpIHsKKwkJdW5zaWduZWQgdG9waWR4ID0gcDJtX3RvcF9pbmRleChwZm4pOworCisJCXAybV90b3BfbWZuW3RvcGlkeF0gPSB2aXJ0X3RvX21mbihwMm1fdG9wW3RvcGlkeF0pOworCX0KKworCWZvcihpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHAybV90b3BfbWZuX2xpc3QpOyBpZHgrKykgeworCQl1bnNpZ25lZCB0b3BpZHggPSBpZHggKiBQMk1fRU5UUklFU19QRVJfUEFHRTsKKwkJcDJtX3RvcF9tZm5fbGlzdFtpZHhdID0gdmlydF90b19tZm4oJnAybV90b3BfbWZuW3RvcGlkeF0pOworCX0KKworCUJVR19PTihIWVBFUlZJU09SX3NoYXJlZF9pbmZvID09ICZ4ZW5fZHVtbXlfc2hhcmVkX2luZm8pOworCisJSFlQRVJWSVNPUl9zaGFyZWRfaW5mby0+YXJjaC5wZm5fdG9fbWZuX2ZyYW1lX2xpc3RfbGlzdCA9CisJCXZpcnRfdG9fbWZuKHAybV90b3BfbWZuX2xpc3QpOworCUhZUEVSVklTT1Jfc2hhcmVkX2luZm8tPmFyY2gubWF4X3BmbiA9IHhlbl9zdGFydF9pbmZvLT5ucl9wYWdlczsKK30KKworLyogU2V0IHVwIHAybV90b3AgdG8gcG9pbnQgdG8gdGhlIGRvbWFpbi1idWlsZGVyIHByb3ZpZGVkIHAybSBwYWdlcyAqLwordm9pZCBfX2luaXQgeGVuX2J1aWxkX2R5bmFtaWNfcGh5c190b19tYWNoaW5lKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyAqbWZuX2xpc3QgPSAodW5zaWduZWQgbG9uZyAqKXhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdDsKKwl1bnNpZ25lZCBsb25nIG1heF9wZm4gPSBtaW4oTUFYX0RPTUFJTl9QQUdFUywgeGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzKTsKKwl1bnNpZ25lZCBwZm47CisKKwlmb3IocGZuID0gMDsgcGZuIDwgbWF4X3BmbjsgcGZuICs9IFAyTV9FTlRSSUVTX1BFUl9QQUdFKSB7CisJCXVuc2lnbmVkIHRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKworCQlwMm1fdG9wW3RvcGlkeF0gPSAmbWZuX2xpc3RbcGZuXTsKKwl9Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0X3BoeXNfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIHBmbikKK3sKKwl1bnNpZ25lZCB0b3BpZHgsIGlkeDsKKworCWlmICh1bmxpa2VseShwZm4gPj0gTUFYX0RPTUFJTl9QQUdFUykpCisJCXJldHVybiBJTlZBTElEX1AyTV9FTlRSWTsKKworCXRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKwlpZHggPSBwMm1faW5kZXgocGZuKTsKKwlyZXR1cm4gcDJtX3RvcFt0b3BpZHhdW2lkeF07Cit9CitFWFBPUlRfU1lNQk9MX0dQTChnZXRfcGh5c190b19tYWNoaW5lKTsKKworc3RhdGljIHZvaWQgYWxsb2NfcDJtKHVuc2lnbmVkIGxvbmcgKipwcCwgdW5zaWduZWQgbG9uZyAqbWZucCkKK3sKKwl1bnNpZ25lZCBsb25nICpwOworCXVuc2lnbmVkIGk7CisKKwlwID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX05PRkFJTCk7CisJQlVHX09OKHAgPT0gTlVMTCk7CisKKwlmb3IoaSA9IDA7IGkgPCBQMk1fRU5UUklFU19QRVJfUEFHRTsgaSsrKQorCQlwW2ldID0gSU5WQUxJRF9QMk1fRU5UUlk7CisKKwlpZiAoY21weGNoZyhwcCwgcDJtX21pc3NpbmcsIHApICE9IHAybV9taXNzaW5nKQorCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpcCk7CisJZWxzZQorCQkqbWZucCA9IHZpcnRfdG9fbWZuKHApOworfQorCit2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKQoreworCXVuc2lnbmVkIHRvcGlkeCwgaWR4OworCisJaWYgKHVubGlrZWx5KHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKSkgeworCQlCVUdfT04ocGZuICE9IG1mbiAmJiBtZm4gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOworCQlyZXR1cm47CisJfQorCisJaWYgKHVubGlrZWx5KHBmbiA+PSBNQVhfRE9NQUlOX1BBR0VTKSkgeworCQlCVUdfT04obWZuICE9IElOVkFMSURfUDJNX0VOVFJZKTsKKwkJcmV0dXJuOworCX0KKworCXRvcGlkeCA9IHAybV90b3BfaW5kZXgocGZuKTsKKwlpZiAocDJtX3RvcFt0b3BpZHhdID09IHAybV9taXNzaW5nKSB7CisJCS8qIG5vIG5lZWQgdG8gYWxsb2NhdGUgYSBwYWdlIHRvIHN0b3JlIGFuIGludmFsaWQgZW50cnkgKi8KKwkJaWYgKG1mbiA9PSBJTlZBTElEX1AyTV9FTlRSWSkKKwkJCXJldHVybjsKKwkJYWxsb2NfcDJtKCZwMm1fdG9wW3RvcGlkeF0sICZwMm1fdG9wX21mblt0b3BpZHhdKTsKKwl9CisKKwlpZHggPSBwMm1faW5kZXgocGZuKTsKKwlwMm1fdG9wW3RvcGlkeF1baWR4XSA9IG1mbjsKK30KKwogeG1hZGRyX3QgYXJiaXRyYXJ5X3ZpcnRfdG9fbWFjaGluZSh1bnNpZ25lZCBsb25nIGFkZHJlc3MpCiB7CiAJdW5zaWduZWQgaW50IGxldmVsOwpAQCAtOTgsMjQgKzIyMyw2MCBAQAogfQogCiAKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnB0ciwgcG1kX3QgdmFsKQorc3RhdGljIGJvb2wgcGFnZV9waW5uZWQodm9pZCAqcHRyKQoreworCXN0cnVjdCBwYWdlICpwYWdlID0gdmlydF90b19wYWdlKHB0cik7CisKKwlyZXR1cm4gUGFnZVBpbm5lZChwYWdlKTsKK30KKworc3RhdGljIHZvaWQgZXh0ZW5kX21tdV91cGRhdGUoY29uc3Qgc3RydWN0IG1tdV91cGRhdGUgKnVwZGF0ZSkKIHsKIAlzdHJ1Y3QgbXVsdGljYWxsX3NwYWNlIG1jczsKIAlzdHJ1Y3QgbW11X3VwZGF0ZSAqdTsKIAorCW1jcyA9IHhlbl9tY19leHRlbmRfYXJncyhfX0hZUEVSVklTT1JfbW11X3VwZGF0ZSwgc2l6ZW9mKCp1KSk7CisKKwlpZiAobWNzLm1jICE9IE5VTEwpCisJCW1jcy5tYy0+YXJnc1sxXSsrOworCWVsc2UgeworCQltY3MgPSBfX3hlbl9tY19lbnRyeShzaXplb2YoKnUpKTsKKwkJTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIG1jcy5hcmdzLCAxLCBOVUxMLCBET01JRF9TRUxGKTsKKwl9CisKKwl1ID0gbWNzLmFyZ3M7CisJKnUgPSAqdXBkYXRlOworfQorCit2b2lkIHhlbl9zZXRfcG1kX2h5cGVyKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3sKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OworCiAJcHJlZW1wdF9kaXNhYmxlKCk7CiAKLQltY3MgPSB4ZW5fbWNfZW50cnkoc2l6ZW9mKCp1KSk7Ci0JdSA9IG1jcy5hcmdzOwotCXUtPnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOwotCXUtPnZhbCA9IHBtZF92YWxfbWEodmFsKTsKLQlNVUxUSV9tbXVfdXBkYXRlKG1jcy5tYywgdSwgMSwgTlVMTCwgRE9NSURfU0VMRik7CisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdHIpLm1hZGRyOworCXUudmFsID0gcG1kX3ZhbF9tYSh2YWwpOworCWV4dGVuZF9tbXVfdXBkYXRlKCZ1KTsKIAogCXhlbl9tY19pc3N1ZShQQVJBVklSVF9MQVpZX01NVSk7CiAKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCit2b2lkIHhlbl9zZXRfcG1kKHBtZF90ICpwdHIsIHBtZF90IHZhbCkKK3sKKwkvKiBJZiBwYWdlIGlzIG5vdCBwaW5uZWQsIHdlIGNhbiBqdXN0IHVwZGF0ZSB0aGUgZW50cnkKKwkgICBkaXJlY3RseSAqLworCWlmICghcGFnZV9waW5uZWQocHRyKSkgeworCQkqcHRyID0gdmFsOworCQlyZXR1cm47CisJfQorCisJeGVuX3NldF9wbWRfaHlwZXIocHRyLCB2YWwpOworfQorCiAvKgogICogQXNzb2NpYXRlIGEgdmlydHVhbCBwYWdlIGZyYW1lIHdpdGggYSBnaXZlbiBwaHlzaWNhbCBwYWdlIGZyYW1lCiAgKiBhbmQgcHJvdGVjdGlvbiBmbGFncyBmb3IgdGhhdCBmcmFtZS4KQEAgLTE3OSw2ICszNDAsMjYgQEAKIAkJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApCit7CisJLyogSnVzdCByZXR1cm4gdGhlIHB0ZSBhcy1pcy4gIFdlIHByZXNlcnZlIHRoZSBiaXRzIG9uIGNvbW1pdCAqLworCXJldHVybiAqcHRlcDsKK30KKwordm9pZCB4ZW5fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkgcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKK3sKKwlzdHJ1Y3QgbW11X3VwZGF0ZSB1OworCisJeGVuX21jX2JhdGNoKCk7CisKKwl1LnB0ciA9IHZpcnRfdG9fbWFjaGluZShwdGVwKS5tYWRkciB8IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQ7CisJdS52YWwgPSBwdGVfdmFsX21hKHB0ZSk7CisJZXh0ZW5kX21tdV91cGRhdGUoJnUpOworCisJeGVuX21jX2lzc3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKK30KKwogLyogQXNzdW1lIHB0ZXZhbF90IGlzIGVxdWl2YWxlbnQgdG8gYWxsIHRoZSBvdGhlciAqdmFsX3QgdHlwZXMuICovCiBzdGF0aWMgcHRldmFsX3QgcHRlX21mbl90b19wZm4ocHRldmFsX3QgdmFsKQogewpAQCAtMjI5LDI0ICs0MTAsMzUgQEAKIAlyZXR1cm4gcHRlX21mbl90b19wZm4ocG1kLnBtZCk7CiB9CiAKLXZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKQordm9pZCB4ZW5fc2V0X3B1ZF9oeXBlcihwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCiB7Ci0Jc3RydWN0IG11bHRpY2FsbF9zcGFjZSBtY3M7Ci0Jc3RydWN0IG1tdV91cGRhdGUgKnU7CisJc3RydWN0IG1tdV91cGRhdGUgdTsKIAogCXByZWVtcHRfZGlzYWJsZSgpOwogCi0JbWNzID0geGVuX21jX2VudHJ5KHNpemVvZigqdSkpOwotCXUgPSBtY3MuYXJnczsKLQl1LT5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKLQl1LT52YWwgPSBwdWRfdmFsX21hKHZhbCk7Ci0JTVVMVElfbW11X3VwZGF0ZShtY3MubWMsIHUsIDEsIE5VTEwsIERPTUlEX1NFTEYpOworCXhlbl9tY19iYXRjaCgpOworCisJdS5wdHIgPSB2aXJ0X3RvX21hY2hpbmUocHRyKS5tYWRkcjsKKwl1LnZhbCA9IHB1ZF92YWxfbWEodmFsKTsKKwlleHRlbmRfbW11X3VwZGF0ZSgmdSk7CiAKIAl4ZW5fbWNfaXNzdWUoUEFSQVZJUlRfTEFaWV9NTVUpOwogCiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KIAordm9pZCB4ZW5fc2V0X3B1ZChwdWRfdCAqcHRyLCBwdWRfdCB2YWwpCit7CisJLyogSWYgcGFnZSBpcyBub3QgcGlubmVkLCB3ZSBjYW4ganVzdCB1cGRhdGUgdGhlIGVudHJ5CisJICAgZGlyZWN0bHkgKi8KKwlpZiAoIXBhZ2VfcGlubmVkKHB0cikpIHsKKwkJKnB0ciA9IHZhbDsKKwkJcmV0dXJuOworCX0KKworCXhlbl9zZXRfcHVkX2h5cGVyKHB0ciwgdmFsKTsKK30KKwogdm9pZCB4ZW5fc2V0X3B0ZShwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKQogewogCXB0ZXAtPnB0ZV9oaWdoID0gcHRlLnB0ZV9oaWdoOwpAQCAtMjY4LDcgKzQ2MCw3IEBACiAKIHZvaWQgeGVuX3BtZF9jbGVhcihwbWRfdCAqcG1kcCkKIHsKLQl4ZW5fc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7CisJc2V0X3BtZChwbWRwLCBfX3BtZCgwKSk7CiB9CiAKIHBtZF90IHhlbl9tYWtlX3BtZChwbWR2YWxfdCBwbWQpCkBAIC00NDEsNiArNjMzLDI5IEBACiAJeGVuX21jX2lzc3VlKDApOwogfQogCisvKgorICogT24gc2F2ZSwgd2UgbmVlZCB0byBwaW4gYWxsIHBhZ2V0YWJsZXMgdG8gbWFrZSBzdXJlIHRoZXkgZ2V0IHRoZWlyCisgKiBtZm5zIHR1cm5lZCBpbnRvIHBmbnMuICBTZWFyY2ggdGhlIGxpc3QgZm9yIGFueSB1bnBpbm5lZCBwZ2RzIGFuZCBwaW4KKyAqIHRoZW0gKHVucGlubmVkIHBnZHMgYXJlIG5vdCBjdXJyZW50bHkgaW4gdXNlLCBwcm9iYWJseSBiZWNhdXNlIHRoZQorICogcHJvY2VzcyBpcyB1bmRlciBjb25zdHJ1Y3Rpb24gb3IgZGVzdHJ1Y3Rpb24pLgorICovCit2b2lkIHhlbl9tbV9waW5fYWxsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQlpZiAoIVBhZ2VQaW5uZWQocGFnZSkpIHsKKwkJCXhlbl9wZ2RfcGluKChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQlTZXRQYWdlU2F2ZVBpbm5lZChwYWdlKTsKKwkJfQorCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBnZF9sb2NrLCBmbGFncyk7Cit9CisKIC8qIFRoZSBpbml0X21tIHBhZ2V0YWJsZSBpcyByZWFsbHkgcGlubmVkIGFzIHNvb24gYXMgaXRzIGNyZWF0ZWQsIGJ1dAogICAgdGhhdCdzIGJlZm9yZSB3ZSBoYXZlIHBhZ2Ugc3RydWN0dXJlcyB0byBzdG9yZSB0aGUgYml0cy4gIFNvIGRvIGFsbAogICAgdGhlIGJvb2sta2VlcGluZyBub3cuICovCkBAIC00OTgsNiArNzEzLDI5IEBACiAJeGVuX21jX2lzc3VlKDApOwogfQogCisvKgorICogT24gcmVzdW1lLCB1bmRvIGFueSBwaW5uaW5nIGRvbmUgYXQgc2F2ZSwgc28gdGhhdCB0aGUgcmVzdCBvZiB0aGUKKyAqIGtlcm5lbCBkb2Vzbid0IHNlZSBhbnkgdW5leHBlY3RlZCBwaW5uZWQgcGFnZXRhYmxlcy4KKyAqLwordm9pZCB4ZW5fbW1fdW5waW5fYWxsKHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwZ2RfbG9jaywgZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShwYWdlLCAmcGdkX2xpc3QsIGxydSkgeworCQlpZiAoUGFnZVNhdmVQaW5uZWQocGFnZSkpIHsKKwkJCUJVR19PTighUGFnZVBpbm5lZChwYWdlKSk7CisJCQlwcmludGsoInVucGlubmluZyBwaW5uZWQgJXBcbiIsIHBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQl4ZW5fcGdkX3VucGluKChwZ2RfdCAqKXBhZ2VfYWRkcmVzcyhwYWdlKSk7CisJCQlDbGVhclBhZ2VTYXZlUGlubmVkKHBhZ2UpOworCQl9CisJfQorCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGdkX2xvY2ssIGZsYWdzKTsKK30KKwogdm9pZCB4ZW5fYWN0aXZhdGVfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwgc3RydWN0IG1tX3N0cnVjdCAqbmV4dCkKIHsKIAlzcGluX2xvY2soJm5leHQtPnBhZ2VfdGFibGVfbG9jayk7CkBAIC01NTgsNyArNzk2LDcgQEAKIAl9CiAKIAlpZiAoIWNwdXNfZW1wdHkobWFzaykpCi0JCXhlbl9zbXBfY2FsbF9mdW5jdGlvbl9tYXNrKG1hc2ssIGRyb3Bfb3RoZXJfbW1fcmVmLCBtbSwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX21hc2sobWFzaywgZHJvcF9vdGhlcl9tbV9yZWYsIG1tLCAxKTsKIH0KICNlbHNlCiBzdGF0aWMgdm9pZCBkcm9wX21tX3JlZihzdHJ1Y3QgbW1fc3RydWN0ICptbSkKQEAgLTU5MSw3ICs4MjksNyBAQAogCXNwaW5fbG9jaygmbW0tPnBhZ2VfdGFibGVfbG9jayk7CiAKIAkvKiBwZ2QgbWF5IG5vdCBiZSBwaW5uZWQgaW4gdGhlIGVycm9yIGV4aXQgcGF0aCBvZiBleGVjdmUgKi8KLQlpZiAoUGFnZVBpbm5lZCh2aXJ0X3RvX3BhZ2UobW0tPnBnZCkpKQorCWlmIChwYWdlX3Bpbm5lZChtbS0+cGdkKSkKIAkJeGVuX3BnZF91bnBpbihtbS0+cGdkKTsKIAogCXNwaW5fdW5sb2NrKCZtbS0+cGFnZV90YWJsZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tbXUuaCBiL2FyY2gveDg2L3hlbi9tbXUuaAppbmRleCA1ZmU5NjFjLi4yOTdiZjlmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbW11LmgKKysrIGIvYXJjaC94ODYveGVuL21tdS5oCkBAIC0yNSwxMCArMjUsNiBAQAogCiB2b2lkIHNldF9wdGVfbWZuKHVuc2lnbmVkIGxvbmcgdmFkZHIsIHVuc2lnbmVkIGxvbmcgcGZuLCBwZ3Byb3RfdCBmbGFncyk7CiAKLXZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7Ci12b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCi0JCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKLXZvaWQgeGVuX3NldF9wbWQocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7CiAKIHZvaWQgeGVuX2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsIHN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpOwogdm9pZCB4ZW5fZHVwX21tYXAoc3RydWN0IG1tX3N0cnVjdCAqb2xkbW0sIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKQEAgLTQ1LDExICs0MSwxOSBAQAogcG1kX3QgeGVuX21ha2VfcG1kKHBtZHZhbF90KTsKIHBnZF90IHhlbl9tYWtlX3BnZChwZ2R2YWxfdCk7CiAKK3ZvaWQgeGVuX3NldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCk7CiB2b2lkIHhlbl9zZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCiAJCSAgICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKTsKIHZvaWQgeGVuX3NldF9wdGVfYXRvbWljKHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpOwordm9pZCB4ZW5fc2V0X3BtZChwbWRfdCAqcG1kcCwgcG1kX3QgcG1kdmFsKTsKIHZvaWQgeGVuX3NldF9wdWQocHVkX3QgKnB0ciwgcHVkX3QgdmFsKTsKK3ZvaWQgeGVuX3NldF9wbWRfaHlwZXIocG1kX3QgKnBtZHAsIHBtZF90IHBtZHZhbCk7Cit2b2lkIHhlbl9zZXRfcHVkX2h5cGVyKHB1ZF90ICpwdHIsIHB1ZF90IHZhbCk7CiB2b2lkIHhlbl9wdGVfY2xlYXIoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwogdm9pZCB4ZW5fcG1kX2NsZWFyKHBtZF90ICpwbWRwKTsKIAorcHRlX3QgeGVuX3B0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwgcHRlX3QgKnB0ZXApOwordm9pZCAgeGVuX3B0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJICBwdGVfdCAqcHRlcCwgcHRlX3QgcHRlKTsKKwogI2VuZGlmCS8qIF9YRU5fTU1VX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMgYi9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5jCmluZGV4IDU3OTFlYjIuLjNjNjNjNGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmMKKysrIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuYwpAQCAtMjksMTQgKzI5LDE0IEBACiAjZGVmaW5lIE1DX0RFQlVHCTEKIAogI2RlZmluZSBNQ19CQVRDSAkzMgotI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNiAvIHNpemVvZih1NjQpKQorI2RlZmluZSBNQ19BUkdTCQkoTUNfQkFUQ0ggKiAxNikKIAogc3RydWN0IG1jX2J1ZmZlciB7CiAJc3RydWN0IG11bHRpY2FsbF9lbnRyeSBlbnRyaWVzW01DX0JBVENIXTsKICNpZiBNQ19ERUJVRwogCXN0cnVjdCBtdWx0aWNhbGxfZW50cnkgZGVidWdbTUNfQkFUQ0hdOwogI2VuZGlmCi0JdTY0IGFyZ3NbTUNfQVJHU107CisJdW5zaWduZWQgY2hhciBhcmdzW01DX0FSR1NdOwogCXN0cnVjdCBjYWxsYmFjayB7CiAJCXZvaWQgKCpmbikodm9pZCAqKTsKIAkJdm9pZCAqZGF0YTsKQEAgLTEwNywyMCArMTA3LDQ4IEBACiB7CiAJc3RydWN0IG1jX2J1ZmZlciAqYiA9ICZfX2dldF9jcHVfdmFyKG1jX2J1ZmZlcik7CiAJc3RydWN0IG11bHRpY2FsbF9zcGFjZSByZXQ7Ci0JdW5zaWduZWQgYXJnc3BhY2UgPSAoYXJncyArIHNpemVvZih1NjQpIC0gMSkgLyBzaXplb2YodTY0KTsKKwl1bnNpZ25lZCBhcmdpZHggPSByb3VuZHVwKGItPmFyZ2lkeCwgc2l6ZW9mKHU2NCkpOwogCiAJQlVHX09OKHByZWVtcHRpYmxlKCkpOwotCUJVR19PTihhcmdzcGFjZSA+IE1DX0FSR1MpOworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAogCWlmIChiLT5tY2lkeCA9PSBNQ19CQVRDSCB8fAotCSAgICAoYi0+YXJnaWR4ICsgYXJnc3BhY2UpID4gTUNfQVJHUykKKwkgICAgKGFyZ2lkeCArIGFyZ3MpID4gTUNfQVJHUykgewogCQl4ZW5fbWNfZmx1c2goKTsKKwkJYXJnaWR4ID0gcm91bmR1cChiLT5hcmdpZHgsIHNpemVvZih1NjQpKTsKKwl9CiAKIAlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeF07CiAJYi0+bWNpZHgrKzsKLQlyZXQuYXJncyA9ICZiLT5hcmdzW2ItPmFyZ2lkeF07Ci0JYi0+YXJnaWR4ICs9IGFyZ3NwYWNlOworCXJldC5hcmdzID0gJmItPmFyZ3NbYXJnaWR4XTsKKwliLT5hcmdpZHggPSBhcmdpZHggKyBhcmdzOwogCisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCXJldHVybiByZXQ7Cit9CisKK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBtY19idWZmZXIgKmIgPSAmX19nZXRfY3B1X3ZhcihtY19idWZmZXIpOworCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgcmV0ID0geyBOVUxMLCBOVUxMIH07CisKKwlCVUdfT04ocHJlZW1wdGlibGUoKSk7CisJQlVHX09OKGItPmFyZ2lkeCA+IE1DX0FSR1MpOworCisJaWYgKGItPm1jaWR4ID09IDApCisJCXJldHVybiByZXQ7CisKKwlpZiAoYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdLm9wICE9IG9wKQorCQlyZXR1cm4gcmV0OworCisJaWYgKChiLT5hcmdpZHggKyBzaXplKSA+IE1DX0FSR1MpCisJCXJldHVybiByZXQ7CisKKwlyZXQubWMgPSAmYi0+ZW50cmllc1tiLT5tY2lkeCAtIDFdOworCXJldC5hcmdzID0gJmItPmFyZ3NbYi0+YXJnaWR4XTsKKwliLT5hcmdpZHggKz0gc2l6ZTsKKworCUJVR19PTihiLT5hcmdpZHggPiBNQ19BUkdTKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oIGIvYXJjaC94ODYveGVuL211bHRpY2FsbHMuaAppbmRleCA4YmFlOTk2Li44NTg5MzgyIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vbXVsdGljYWxscy5oCisrKyBiL2FyY2gveDg2L3hlbi9tdWx0aWNhbGxzLmgKQEAgLTQ1LDQgKzQ1LDE2IEBACiAvKiBTZXQgdXAgYSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY3VycmVudCBiYXRjaCBpcyBmbHVzaGVkICovCiB2b2lkIHhlbl9tY19jYWxsYmFjayh2b2lkICgqZm4pKHZvaWQgKiksIHZvaWQgKmRhdGEpOwogCisvKgorICogVHJ5IHRvIGV4dGVuZCB0aGUgYXJndW1lbnRzIG9mIHRoZSBwcmV2aW91cyBtdWx0aWNhbGwgY29tbWFuZC4gIFRoZQorICogcHJldmlvdXMgY29tbWFuZCdzIG9wIG11c3QgbWF0Y2guICBJZiBpdCBkb2VzLCB0aGVuIGl0IGF0dGVtcHRzIHRvCisgKiBleHRlbmQgdGhlIGFyZ3VtZW50IHNwYWNlIGFsbG9jYXRlZCB0byB0aGUgbXVsdGljYWxsIGVudHJ5IGJ5CisgKiBhcmdfc2l6ZSBieXRlcy4KKyAqCisgKiBUaGUgcmV0dXJuZWQgbXVsdGljYWxsX3NwYWNlIHdpbGwgcmV0dXJuIHdpdGggbWMgcG9pbnRpbmcgdG8gdGhlCisgKiBjb21tYW5kIG9uIHN1Y2Nlc3MsIG9yIE5VTEwgb24gZmFpbHVyZSwgYW5kIGFyZ3MgcG9pbnRpbmcgdG8gdGhlCisgKiBuZXdseSBhbGxvY2F0ZWQgc3BhY2UuCisgKi8KK3N0cnVjdCBtdWx0aWNhbGxfc3BhY2UgeGVuX21jX2V4dGVuZF9hcmdzKHVuc2lnbmVkIGxvbmcgb3AsIHNpemVfdCBhcmdfc2l6ZSk7CisKICNlbmRpZiAvKiBfWEVOX01VTFRJQ0FMTFNfSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NldHVwLmMgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwppbmRleCA4MjUxN2U0Li5lMGEzOTU5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc2V0dXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc2V0dXAuYwpAQCAtMTMsOSArMTMsMTEgQEAKICNpbmNsdWRlIDxhc20vdmRzby5oPgogI2luY2x1ZGUgPGFzbS9lODIwLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgogCisjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2NhbGxiYWNrLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9waHlzZGV2Lmg+CiAjaW5jbHVkZSA8eGVuL2ZlYXR1cmVzLmg+CkBAIC0yNyw4ICsyOSw2IEBACiBleHRlcm4gY29uc3QgY2hhciB4ZW5faHlwZXJ2aXNvcl9jYWxsYmFja1tdOwogZXh0ZXJuIGNvbnN0IGNoYXIgeGVuX2ZhaWxzYWZlX2NhbGxiYWNrW107CiAKLXVuc2lnbmVkIGxvbmcgKnBoeXNfdG9fbWFjaGluZV9tYXBwaW5nOwotRVhQT1JUX1NZTUJPTChwaHlzX3RvX21hY2hpbmVfbWFwcGluZyk7CiAKIC8qKgogICogbWFjaGluZV9zcGVjaWZpY19tZW1vcnlfc2V0dXAgLSBIb29rIGZvciBtYWNoaW5lIHNwZWNpZmljIG1lbW9yeSBzZXR1cC4KQEAgLTM4LDkgKzM4LDMxIEBACiB7CiAJdW5zaWduZWQgbG9uZyBtYXhfcGZuID0geGVuX3N0YXJ0X2luZm8tPm5yX3BhZ2VzOwogCisJbWF4X3BmbiA9IG1pbihNQVhfRE9NQUlOX1BBR0VTLCBtYXhfcGZuKTsKKwogCWU4MjAubnJfbWFwID0gMDsKLQlhZGRfbWVtb3J5X3JlZ2lvbigwLCBMT1dNRU1TSVpFKCksIEU4MjBfUkFNKTsKLQlhZGRfbWVtb3J5X3JlZ2lvbihISUdIX01FTU9SWSwgUEZOX1BIWVMobWF4X3BmbiktSElHSF9NRU1PUlksIEU4MjBfUkFNKTsKKworCWU4MjBfYWRkX3JlZ2lvbigwLCBQRk5fUEhZUyhtYXhfcGZuKSwgRTgyMF9SQU0pOworCisJLyoKKwkgKiBFdmVuIHRob3VnaCB0aGlzIGlzIG5vcm1hbCwgdXNhYmxlIG1lbW9yeSB1bmRlciBYZW4sIHJlc2VydmUKKwkgKiBJU0EgbWVtb3J5IGFueXdheSBiZWNhdXNlIHRvbyBtYW55IHRoaW5ncyB0aGluayB0aGV5IGNhbiBwb2tlCisJICogYWJvdXQgaW4gdGhlcmUuCisJICovCisJZTgyMF9hZGRfcmVnaW9uKElTQV9TVEFSVF9BRERSRVNTLCBJU0FfRU5EX0FERFJFU1MgLSBJU0FfU1RBUlRfQUREUkVTUywKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJLyoKKwkgKiBSZXNlcnZlIFhlbiBiaXRzOgorCSAqICAtIG1mbl9saXN0CisJICogIC0geGVuX3N0YXJ0X2luZm8KKwkgKiBTZWUgY29tbWVudCBhYm92ZSAic3RydWN0IHN0YXJ0X2luZm8iIGluIDx4ZW4vaW50ZXJmYWNlL3hlbi5oPgorCSAqLworCWU4MjBfYWRkX3JlZ2lvbihfX3BhKHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCksCisJCQl4ZW5fc3RhcnRfaW5mby0+cHRfYmFzZSAtIHhlbl9zdGFydF9pbmZvLT5tZm5fbGlzdCwKKwkJCUU4MjBfUkVTRVJWRUQpOworCisJc2FuaXRpemVfZTgyMF9tYXAoZTgyMC5tYXAsIEFSUkFZX1NJWkUoZTgyMC5tYXApLCAmZTgyMC5ucl9tYXApOwogCiAJcmV0dXJuICJYZW4iOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3NtcC5jIGIvYXJjaC94ODYveGVuL3NtcC5jCmluZGV4IDk0ZTY5MDAuLjIzMzE1NmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9zbXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc21wLmMKQEAgLTM1LDI4ICszNSwxNSBAQAogI2luY2x1ZGUgInhlbi1vcHMuaCIKICNpbmNsdWRlICJtbXUuaCIKIAotc3RhdGljIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKLXN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIHJlc2NoZWRfaXJxKSA9IC0xOwotc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNfaXJxKSA9IC0xOworY3B1bWFza190IHhlbl9jcHVfaW5pdGlhbGl6ZWRfbWFwOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCByZXNjaGVkX2lycSk7CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoaW50LCBjYWxsZnVuY19pcnEpOworc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgY2FsbGZ1bmNzaW5nbGVfaXJxKTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGRlYnVnX2lycSkgPSAtMTsKIAotLyoKLSAqIFN0cnVjdHVyZSBhbmQgZGF0YSBmb3Igc21wX2NhbGxfZnVuY3Rpb24oKS4gVGhpcyBpcyBkZXNpZ25lZCB0byBtaW5pbWlzZQotICogc3RhdGljIG1lbW9yeSByZXF1aXJlbWVudHMuIEl0IGFsc28gbG9va3MgY2xlYW5lci4KLSAqLwotc3RhdGljIERFRklORV9TUElOTE9DSyhjYWxsX2xvY2spOwotCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKLQl2b2lkICppbmZvOwotCWF0b21pY190IHN0YXJ0ZWQ7Ci0JYXRvbWljX3QgZmluaXNoZWQ7Ci0JaW50IHdhaXQ7Ci19OwotCiBzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7Ci0KLXN0YXRpYyBzdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCAqY2FsbF9kYXRhOworc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKTsKIAogLyoKICAqIFJlc2NoZWR1bGUgY2FsbCBiYWNrLiBOb3RoaW5nIHRvIGRvLApAQCAtNjUsNiArNTIsMTIgQEAKICAqLwogc3RhdGljIGlycXJldHVybl90IHhlbl9yZXNjaGVkdWxlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7CisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9yZXNjaGVkX2NvdW50Kys7CisjZWxzZQorCWFkZF9wZGEoaXJxX3Jlc2NoZWRfY291bnQsIDEpOworI2VuZGlmCisKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTEyMiw2ICsxMTUsMTcgQEAKIAkJZ290byBmYWlsOwogCXBlcl9jcHUoZGVidWdfaXJxLCBjcHUpID0gcmM7CiAKKwljYWxsZnVuY19uYW1lID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICJjYWxsZnVuY3NpbmdsZSVkIiwgY3B1KTsKKwlyYyA9IGJpbmRfaXBpX3RvX2lycWhhbmRsZXIoWEVOX0NBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUiwKKwkJCQkgICAgY3B1LAorCQkJCSAgICB4ZW5fY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0LAorCQkJCSAgICBJUlFGX0RJU0FCTEVEfElSUUZfUEVSQ1BVfElSUUZfTk9CQUxBTkNJTkcsCisJCQkJICAgIGNhbGxmdW5jX25hbWUsCisJCQkJICAgIE5VTEwpOworCWlmIChyYyA8IDApCisJCWdvdG8gZmFpbDsKKwlwZXJfY3B1KGNhbGxmdW5jc2luZ2xlX2lycSwgY3B1KSA9IHJjOworCiAJcmV0dXJuIDA7CiAKICBmYWlsOgpAQCAtMTMxLDYgKzEzNSw5IEBACiAJCXVuYmluZF9mcm9tX2lycWhhbmRsZXIocGVyX2NwdShjYWxsZnVuY19pcnEsIGNwdSksIE5VTEwpOwogCWlmIChwZXJfY3B1KGRlYnVnX2lycSwgY3B1KSA+PSAwKQogCQl1bmJpbmRfZnJvbV9pcnFoYW5kbGVyKHBlcl9jcHUoZGVidWdfaXJxLCBjcHUpLCBOVUxMKTsKKwlpZiAocGVyX2NwdShjYWxsZnVuY3NpbmdsZV9pcnEsIGNwdSkgPj0gMCkKKwkJdW5iaW5kX2Zyb21faXJxaGFuZGxlcihwZXJfY3B1KGNhbGxmdW5jc2luZ2xlX2lycSwgY3B1KSwgTlVMTCk7CisKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTMzMCw3ICszMzcsNyBAQAogCiB2b2lkIHhlbl9zbXBfc2VuZF9zdG9wKHZvaWQpCiB7Ci0Jc21wX2NhbGxfZnVuY3Rpb24oc3RvcF9zZWxmLCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzdG9wX3NlbGYsIE5VTEwsIDApOwogfQogCiB2b2lkIHhlbl9zbXBfc2VuZF9yZXNjaGVkdWxlKGludCBjcHUpCkBAIC0zMzgsNyArMzQ1LDYgQEAKIAl4ZW5fc2VuZF9JUElfb25lKGNwdSwgWEVOX1JFU0NIRURVTEVfVkVDVE9SKTsKIH0KIAotCiBzdGF0aWMgdm9pZCB4ZW5fc2VuZF9JUElfbWFzayhjcHVtYXNrX3QgbWFzaywgZW51bSBpcGlfdmVjdG9yIHZlY3RvcikKIHsKIAl1bnNpZ25lZCBjcHU7CkBAIC0zNDksODMgKzM1NSw0MiBAQAogCQl4ZW5fc2VuZF9JUElfb25lKGNwdSwgdmVjdG9yKTsKIH0KIAordm9pZCB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCit7CisJaW50IGNwdTsKKworCXhlbl9zZW5kX0lQSV9tYXNrKG1hc2ssIFhFTl9DQUxMX0ZVTkNUSU9OX1ZFQ1RPUik7CisKKwkvKiBNYWtlIHN1cmUgb3RoZXIgdmNwdXMgZ2V0IGEgY2hhbmNlIHRvIHJ1biBpZiB0aGV5IG5lZWQgdG8uICovCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWlmICh4ZW5fdmNwdV9zdG9sZW4oY3B1KSkgeworCQkJSFlQRVJWSVNPUl9zY2hlZF9vcChTQ0hFRE9QX3lpZWxkLCAwKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSkKK3sKKwl4ZW5fc2VuZF9JUElfbWFzayhjcHVtYXNrX29mX2NwdShjcHUpLCBYRU5fQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKTsKK30KKwogc3RhdGljIGlycXJldHVybl90IHhlbl9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSA9IGNhbGxfZGF0YS0+ZnVuYzsKLQl2b2lkICppbmZvID0gY2FsbF9kYXRhLT5pbmZvOwotCWludCB3YWl0ID0gY2FsbF9kYXRhLT53YWl0OwotCi0JLyoKLQkgKiBOb3RpZnkgaW5pdGlhdGluZyBDUFUgdGhhdCBJJ3ZlIGdyYWJiZWQgdGhlIGRhdGEgYW5kIGFtCi0JICogYWJvdXQgdG8gZXhlY3V0ZSB0aGUgZnVuY3Rpb24KLQkgKi8KLQltYigpOwotCWF0b21pY19pbmMoJmNhbGxfZGF0YS0+c3RhcnRlZCk7Ci0JLyoKLQkgKiBBdCB0aGlzIHBvaW50IHRoZSBpbmZvIHN0cnVjdHVyZSBtYXkgYmUgb3V0IG9mIHNjb3BlIHVubGVzcyB3YWl0PT0xCi0JICovCiAJaXJxX2VudGVyKCk7Ci0JKCpmdW5jKShpbmZvKTsKKwlnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdCgpOwogCV9fZ2V0X2NwdV92YXIoaXJxX3N0YXQpLmlycV9jYWxsX2NvdW50Kys7CiAJaXJxX2V4aXQoKTsKIAotCWlmICh3YWl0KSB7Ci0JCW1iKCk7CQkvKiBjb21taXQgZXZlcnl0aGluZyBiZWZvcmUgc2V0dGluZyBmaW5pc2hlZCAqLwotCQlhdG9taWNfaW5jKCZjYWxsX2RhdGEtPmZpbmlzaGVkKTsKLQl9Ci0KIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksCi0JCQkgICAgICAgdm9pZCAqaW5mbywgaW50IHdhaXQpCitzdGF0aWMgaXJxcmV0dXJuX3QgeGVuX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiB7Ci0Jc3RydWN0IGNhbGxfZGF0YV9zdHJ1Y3QgZGF0YTsKLQlpbnQgY3B1cywgY3B1OwotCWJvb2wgeWllbGQ7CisJaXJxX2VudGVyKCk7CisJZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KCk7CisJX19nZXRfY3B1X3ZhcihpcnFfc3RhdCkuaXJxX2NhbGxfY291bnQrKzsKKwlpcnFfZXhpdCgpOwogCi0JLyogSG9sZGluZyBhbnkgbG9jayBzdG9wcyBjcHVzIGZyb20gZ29pbmcgZG93bi4gKi8KLQlzcGluX2xvY2soJmNhbGxfbG9jayk7Ci0KLQljcHVfY2xlYXIoc21wX3Byb2Nlc3Nvcl9pZCgpLCBtYXNrKTsKLQotCWNwdXMgPSBjcHVzX3dlaWdodChtYXNrKTsKLQlpZiAoIWNwdXMpIHsKLQkJc3Bpbl91bmxvY2soJmNhbGxfbG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KLQlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7Ci0KLQlkYXRhLmZ1bmMgPSBmdW5jOwotCWRhdGEuaW5mbyA9IGluZm87Ci0JYXRvbWljX3NldCgmZGF0YS5zdGFydGVkLCAwKTsKLQlkYXRhLndhaXQgPSB3YWl0OwotCWlmICh3YWl0KQotCQlhdG9taWNfc2V0KCZkYXRhLmZpbmlzaGVkLCAwKTsKLQotCWNhbGxfZGF0YSA9ICZkYXRhOwotCW1iKCk7CQkJLyogd3JpdGUgZXZlcnl0aGluZyBiZWZvcmUgSVBJICovCi0KLQkvKiBTZW5kIGEgbWVzc2FnZSB0byBvdGhlciBDUFVzIGFuZCB3YWl0IGZvciB0aGVtIHRvIHJlc3BvbmQgKi8KLQl4ZW5fc2VuZF9JUElfbWFzayhtYXNrLCBYRU5fQ0FMTF9GVU5DVElPTl9WRUNUT1IpOwotCi0JLyogTWFrZSBzdXJlIG90aGVyIHZjcHVzIGdldCBhIGNoYW5jZSB0byBydW4gaWYgdGhleSBuZWVkIHRvLiAqLwotCXlpZWxkID0gZmFsc2U7Ci0JZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKQotCQlpZiAoeGVuX3ZjcHVfc3RvbGVuKGNwdSkpCi0JCQl5aWVsZCA9IHRydWU7Ci0KLQlpZiAoeWllbGQpCi0JCUhZUEVSVklTT1Jfc2NoZWRfb3AoU0NIRURPUF95aWVsZCwgMCk7Ci0KLQkvKiBXYWl0IGZvciByZXNwb25zZSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmZGF0YS5zdGFydGVkKSAhPSBjcHVzIHx8Ci0JICAgICAgICh3YWl0ICYmIGF0b21pY19yZWFkKCZkYXRhLmZpbmlzaGVkKSAhPSBjcHVzKSkKLQkJY3B1X3JlbGF4KCk7Ci0KLQlzcGluX3VubG9jaygmY2FsbF9sb2NrKTsKLQotCXJldHVybiAwOworCXJldHVybiBJUlFfSEFORExFRDsKIH0KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zdXNwZW5kLmMgYi9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MTY2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL3g4Ni94ZW4vc3VzcGVuZC5jCkBAIC0wLDAgKzEsNDUgQEAKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS94ZW4uaD4KKyNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisKKyNpbmNsdWRlIDxhc20veGVuL2h5cGVyY2FsbC5oPgorI2luY2x1ZGUgPGFzbS94ZW4vcGFnZS5oPgorCisjaW5jbHVkZSAieGVuLW9wcy5oIgorI2luY2x1ZGUgIm1tdS5oIgorCit2b2lkIHhlbl9wcmVfc3VzcGVuZCh2b2lkKQoreworCXhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4gPSBtZm5fdG9fcGZuKHhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4pOworCXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0KKwkJbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisKKwlCVUdfT04oIWlycXNfZGlzYWJsZWQoKSk7CisKKwlIWVBFUlZJU09SX3NoYXJlZF9pbmZvID0gJnhlbl9kdW1teV9zaGFyZWRfaW5mbzsKKwlpZiAoSFlQRVJWSVNPUl91cGRhdGVfdmFfbWFwcGluZyhmaXhfdG9fdmlydChGSVhfUEFSQVZJUlRfQk9PVE1BUCksCisJCQkJCSBfX3B0ZV9tYSgwKSwgMCkpCisJCUJVRygpOworfQorCit2b2lkIHhlbl9wb3N0X3N1c3BlbmQoaW50IHN1c3BlbmRfY2FuY2VsbGVkKQoreworCXhlbl9zZXR1cF9zaGFyZWRfaW5mbygpOworCisJaWYgKHN1c3BlbmRfY2FuY2VsbGVkKSB7CisJCXhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm4gPQorCQkJcGZuX3RvX21mbih4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZuKTsKKwkJeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4gPQorCQkJcGZuX3RvX21mbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisJfSBlbHNlIHsKKyNpZmRlZiBDT05GSUdfU01QCisJCXhlbl9jcHVfaW5pdGlhbGl6ZWRfbWFwID0gY3B1X29ubGluZV9tYXA7CisjZW5kaWYKKwkJeGVuX3ZjcHVfcmVzdG9yZSgpOworCQl4ZW5fdGltZXJfcmVzdW1lKCk7CisJfQorCit9CisKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi90aW1lLmMgYi9hcmNoL3g4Ni94ZW4vdGltZS5jCmluZGV4IDQxZTIxNzUuLjY4NWI3NzQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi90aW1lLmMKKysrIGIvYXJjaC94ODYveGVuL3RpbWUuYwpAQCAtMTk3LDggKzE5Nyw4IEBACiB9CiAKIAotLyogR2V0IHRoZSBDUFUgc3BlZWQgZnJvbSBYZW4gKi8KLXVuc2lnbmVkIGxvbmcgeGVuX2NwdV9raHoodm9pZCkKKy8qIEdldCB0aGUgVFNDIHNwZWVkIGZyb20gWGVuICovCit1bnNpZ25lZCBsb25nIHhlbl90c2Nfa2h6KHZvaWQpCiB7CiAJdTY0IHhlbl9raHogPSAxMDAwMDAwVUxMIDw8IDMyOwogCWNvbnN0IHN0cnVjdCBwdmNsb2NrX3ZjcHVfdGltZV9pbmZvICppbmZvID0KQEAgLTQ1OSw2ICs0NTksMTkgQEAKIAljbG9ja2V2ZW50c19yZWdpc3Rlcl9kZXZpY2UoJl9fZ2V0X2NwdV92YXIoeGVuX2Nsb2NrX2V2ZW50cykpOwogfQogCit2b2lkIHhlbl90aW1lcl9yZXN1bWUodm9pZCkKK3sKKwlpbnQgY3B1OworCisJaWYgKHhlbl9jbG9ja2V2ZW50ICE9ICZ4ZW5fdmNwdW9wX2Nsb2NrZXZlbnQpCisJCXJldHVybjsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CisJCWlmIChIWVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX3N0b3BfcGVyaW9kaWNfdGltZXIsIGNwdSwgTlVMTCkpCisJCQlCVUcoKTsKKwl9Cit9CisKIF9faW5pdCB2b2lkIHhlbl90aW1lX2luaXQodm9pZCkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL3hlbi1oZWFkLlMgYi9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUwppbmRleCA2ZWMzYjRmLi43YzBjZjYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUworKysgYi9hcmNoL3g4Ni94ZW4veGVuLWhlYWQuUwpAQCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8YXNtL2Jvb3QuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaD4KKyNpbmNsdWRlIDxhc20veGVuL2ludGVyZmFjZS5oPgogCiAJX19JTklUCiBFTlRSWShzdGFydHVwX3hlbikKQEAgLTMyLDUgKzMzLDkgQEAKIAlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfRkVBVFVSRVMsICAgICAgIC5hc2NpeiAiIXdyaXRhYmxlX3BhZ2VfdGFibGVzfHBhZV9wZ2Rpcl9hYm92ZV80Z2IiKQogCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9QQUVfTU9ERSwgICAgICAgLmFzY2l6ICJ5ZXMiKQogCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9MT0FERVIsICAgICAgICAgLmFzY2l6ICJnZW5lcmljIikKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfTDFfTUZOX1ZBTElELAorCQkucXVhZCBfUEFHRV9QUkVTRU5UOyAucXVhZCBfUEFHRV9QUkVTRU5UKQorCUVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9TVVNQRU5EX0NBTkNFTCwgLmxvbmcgMSkKKwlFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfSFZfU1RBUlRfTE9XLCAgIC5sb25nIF9fSFlQRVJWSVNPUl9WSVJUX1NUQVJUKQogCiAjZW5kaWYgLypDT05GSUdfWEVOICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oIGIvYXJjaC94ODYveGVuL3hlbi1vcHMuaAppbmRleCBmMTA2M2FlLi42ZjRiMTA0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVuLW9wcy5oCisrKyBiL2FyY2gveDg2L3hlbi94ZW4tb3BzLmgKQEAgLTksMjYgKzksMzUgQEAKIGV4dGVybiBjb25zdCBjaGFyIHhlbl9oeXBlcnZpc29yX2NhbGxiYWNrW107CiBleHRlcm4gY29uc3QgY2hhciB4ZW5fZmFpbHNhZmVfY2FsbGJhY2tbXTsKIAorc3RydWN0IHRyYXBfaW5mbzsKIHZvaWQgeGVuX2NvcHlfdHJhcF9pbmZvKHN0cnVjdCB0cmFwX2luZm8gKnRyYXBzKTsKIAogREVDTEFSRV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIHhlbl9jcjMpOwogREVDTEFSRV9QRVJfQ1BVKHVuc2lnbmVkIGxvbmcsIHhlbl9jdXJyZW50X2NyMyk7CiAKIGV4dGVybiBzdHJ1Y3Qgc3RhcnRfaW5mbyAqeGVuX3N0YXJ0X2luZm87CitleHRlcm4gc3RydWN0IHNoYXJlZF9pbmZvIHhlbl9kdW1teV9zaGFyZWRfaW5mbzsKIGV4dGVybiBzdHJ1Y3Qgc2hhcmVkX2luZm8gKkhZUEVSVklTT1Jfc2hhcmVkX2luZm87CiAKK3ZvaWQgeGVuX3NldHVwX21mbl9saXN0X2xpc3Qodm9pZCk7Cit2b2lkIHhlbl9zZXR1cF9zaGFyZWRfaW5mbyh2b2lkKTsKKwogY2hhciAqIF9faW5pdCB4ZW5fbWVtb3J5X3NldHVwKHZvaWQpOwogdm9pZCBfX2luaXQgeGVuX2FyY2hfc2V0dXAodm9pZCk7CiB2b2lkIF9faW5pdCB4ZW5faW5pdF9JUlEodm9pZCk7CiB2b2lkIHhlbl9lbmFibGVfc3lzZW50ZXIodm9pZCk7Cit2b2lkIHhlbl92Y3B1X3Jlc3RvcmUodm9pZCk7CisKK3ZvaWQgX19pbml0IHhlbl9idWlsZF9keW5hbWljX3BoeXNfdG9fbWFjaGluZSh2b2lkKTsKIAogdm9pZCB4ZW5fc2V0dXBfdGltZXIoaW50IGNwdSk7CiB2b2lkIHhlbl9zZXR1cF9jcHVfY2xvY2tldmVudHModm9pZCk7Ci11bnNpZ25lZCBsb25nIHhlbl9jcHVfa2h6KHZvaWQpOwordW5zaWduZWQgbG9uZyB4ZW5fdHNjX2toeih2b2lkKTsKIHZvaWQgX19pbml0IHhlbl90aW1lX2luaXQodm9pZCk7CiB1bnNpZ25lZCBsb25nIHhlbl9nZXRfd2FsbGNsb2NrKHZvaWQpOwogaW50IHhlbl9zZXRfd2FsbGNsb2NrKHVuc2lnbmVkIGxvbmcgdGltZSk7CiB1bnNpZ25lZCBsb25nIGxvbmcgeGVuX3NjaGVkX2Nsb2NrKHZvaWQpOwordm9pZCB4ZW5fdGltZXJfcmVzdW1lKHZvaWQpOwogCiBpcnFyZXR1cm5fdCB4ZW5fZGVidWdfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCk7CiAKQEAgLTQ2LDEzICs1NSwxMCBAQAogCiB2b2lkIHhlbl9zbXBfc2VuZF9zdG9wKHZvaWQpOwogdm9pZCB4ZW5fc21wX3NlbmRfcmVzY2hlZHVsZShpbnQgY3B1KTsKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb24gKHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsCi0JCQkgICBpbnQgd2FpdCk7Ci1pbnQgeGVuX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1LCB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCSBpbnQgbm9uYXRvbWljLCBpbnQgd2FpdCk7Cit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7Cit2b2lkIHhlbl9zbXBfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CiAKLWludCB4ZW5fc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksCi0JCQkgICAgICAgdm9pZCAqaW5mbywgaW50IHdhaXQpOworZXh0ZXJuIGNwdW1hc2tfdCB4ZW5fY3B1X2luaXRpYWxpemVkX21hcDsKIAogCiAvKiBEZWNsYXJlIGFuIGFzbSBmdW5jdGlvbiwgYWxvbmcgd2l0aCBzeW1ib2xzIG5lZWRlZCB0byBtYWtlIGl0CmRpZmYgLS1naXQgYS9ibG9jay9LY29uZmlnIGIvYmxvY2svS2NvbmZpZwppbmRleCAzZTk3ZjJiLi4xYWI3YzE1IDEwMDY0NAotLS0gYS9ibG9jay9LY29uZmlnCisrKyBiL2Jsb2NrL0tjb25maWcKQEAgLTgxLDYgKzgxLDE4IEBACiAKIAkgIElmIHVuc3VyZSwgc2F5IE4uCiAKK2NvbmZpZyBCTEtfREVWX0lOVEVHUklUWQorCWJvb2wgIkJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IHN1cHBvcnQiCisJLS0taGVscC0tLQorCVNvbWUgc3RvcmFnZSBkZXZpY2VzIGFsbG93IGV4dHJhIGluZm9ybWF0aW9uIHRvIGJlCisJc3RvcmVkL3JldHJpZXZlZCB0byBoZWxwIHByb3RlY3QgdGhlIGRhdGEuICBUaGUgYmxvY2sgbGF5ZXIKKwlkYXRhIGludGVncml0eSBvcHRpb24gcHJvdmlkZXMgaG9va3Mgd2hpY2ggY2FuIGJlIHVzZWQgYnkKKwlmaWxlc3lzdGVtcyB0byBlbnN1cmUgYmV0dGVyIGRhdGEgaW50ZWdyaXR5LgorCisJU2F5IHllcyBoZXJlIGlmIHlvdSBoYXZlIGEgc3RvcmFnZSBkZXZpY2UgdGhhdCBwcm92aWRlcyB0aGUKKwlUMTAvU0NTSSBEYXRhIEludGVncml0eSBGaWVsZCBvciB0aGUgVDEzL0FUQSBFeHRlcm5hbCBQYXRoCisJUHJvdGVjdGlvbi4gIElmIGluIGRvdWJ0LCBzYXkgTi4KKwogZW5kaWYgIyBCTE9DSwogCiBjb25maWcgQkxPQ0tfQ09NUEFUCmRpZmYgLS1naXQgYS9ibG9jay9NYWtlZmlsZSBiL2Jsb2NrL01ha2VmaWxlCmluZGV4IDVhNDNjN2QuLjIwODAwMGIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL01ha2VmaWxlCisrKyBiL2Jsb2NrL01ha2VmaWxlCkBAIC00LDcgKzQsOCBAQAogCiBvYmotJChDT05GSUdfQkxPQ0spIDo9IGVsZXZhdG9yLm8gYmxrLWNvcmUubyBibGstdGFnLm8gYmxrLXN5c2ZzLm8gXAogCQkJYmxrLWJhcnJpZXIubyBibGstc2V0dGluZ3MubyBibGstaW9jLm8gYmxrLW1hcC5vIFwKLQkJCWJsay1leGVjLm8gYmxrLW1lcmdlLm8gaW9jdGwubyBnZW5oZC5vIHNjc2lfaW9jdGwubworCQkJYmxrLWV4ZWMubyBibGstbWVyZ2UubyBpb2N0bC5vIGdlbmhkLm8gc2NzaV9pb2N0bC5vIFwKKwkJCWNtZC1maWx0ZXIubwogCiBvYmotJChDT05GSUdfQkxLX0RFVl9CU0cpCSs9IGJzZy5vCiBvYmotJChDT05GSUdfSU9TQ0hFRF9OT09QKQkrPSBub29wLWlvc2NoZWQubwpAQCAtMTQsMyArMTUsNCBAQAogCiBvYmotJChDT05GSUdfQkxLX0RFVl9JT19UUkFDRSkJKz0gYmxrdHJhY2Uubwogb2JqLSQoQ09ORklHX0JMT0NLX0NPTVBBVCkJKz0gY29tcGF0X2lvY3RsLm8KK29iai0kKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkJKz0gYmxrLWludGVncml0eS5vCmRpZmYgLS1naXQgYS9ibG9jay9hcy1pb3NjaGVkLmMgYi9ibG9jay9hcy1pb3NjaGVkLmMKaW5kZXggNzQzZjMzYS4uOTczNWFjYiAxMDA2NDQKLS0tIGEvYmxvY2svYXMtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2FzLWlvc2NoZWQuYwpAQCAtMTUxLDYgKzE1MSw3IEBACiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKIHN0YXRpYyB2b2lkIGFzX21vdmVfdG9fZGlzcGF0Y2goc3RydWN0IGFzX2RhdGEgKmFkLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpOwogc3RhdGljIHZvaWQgYXNfYW50aWNfc3RvcChzdHJ1Y3QgYXNfZGF0YSAqYWQpOwpAQCAtMTY0LDggKzE2NSwxOSBAQAogewogCWtmcmVlKGFpYyk7CiAJZWx2X2lvY19jb3VudF9kZWMoaW9jX2NvdW50KTsKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIEFTIHNjaGVkdWxlciBpcyBleGl0aW5nLCBncmFiIGV4aXQgbG9jayBhbmQgY2hlY2sKKwkJICogdGhlIHBlbmRpbmcgaW8gY29udGV4dCBjb3VudC4gSWYgaXQgaGl0cyB6ZXJvLAorCQkgKiBjb21wbGV0ZSBpb2NfZ29uZSBhbmQgc2V0IGl0IGJhY2sgdG8gTlVMTC4KKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBhc190cmltKHN0cnVjdCBpb19jb250ZXh0ICppb2MpCkBAIC0xNDkzLDcgKzE1MDUsNyBAQAogCS8qIGlvY19nb25lJ3MgdXBkYXRlIG11c3QgYmUgdmlzaWJsZSBiZWZvcmUgcmVhZGluZyBpb2NfY291bnQgKi8KIAlzbXBfd21iKCk7CiAJaWYgKGVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQl3YWl0X2Zvcl9jb21wbGV0aW9uKGlvY19nb25lKTsKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmYWxsX2dvbmUpOwogCXN5bmNocm9uaXplX3JjdSgpOwogfQogCmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxrLWNvcmUuYwppbmRleCAxOTA1YWFiLi5mZWY3OWNjIDEwMDY0NAotLS0gYS9ibG9jay9ibGstY29yZS5jCisrKyBiL2Jsb2NrL2Jsay1jb3JlLmMKQEAgLTE0Myw2ICsxNDMsMTAgQEAKIAogCQliaW8tPmJpX3NpemUgLT0gbmJ5dGVzOwogCQliaW8tPmJpX3NlY3RvciArPSAobmJ5dGVzID4+IDkpOworCisJCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCQliaW9faW50ZWdyaXR5X2FkdmFuY2UoYmlvLCBuYnl0ZXMpOworCiAJCWlmIChiaW8tPmJpX3NpemUgPT0gMCkKIAkJCWJpb19lbmRpbyhiaW8sIGVycm9yKTsKIAl9IGVsc2UgewpAQCAtMjAxLDggKzIwNSw3IEBACiAJaWYgKGJsa19xdWV1ZV9zdG9wcGVkKHEpKQogCQlyZXR1cm47CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQlfX3NldF9iaXQoUVVFVUVfRkxBR19QTFVHR0VELCAmcS0+cXVldWVfZmxhZ3MpOworCWlmICghcXVldWVfZmxhZ190ZXN0X2FuZF9zZXQoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkgewogCQltb2RfdGltZXIoJnEtPnVucGx1Z190aW1lciwgamlmZmllcyArIHEtPnVucGx1Z19kZWxheSk7CiAJCWJsa19hZGRfdHJhY2VfZ2VuZXJpYyhxLCBOVUxMLCAwLCBCTEtfVEFfUExVRyk7CiAJfQpAQCAtMjE3LDEwICsyMjAsOSBAQAogewogCVdBUk5fT04oIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUExVR0dFRCwgJnEtPnF1ZXVlX2ZsYWdzKSkKKwlpZiAoIXF1ZXVlX2ZsYWdfdGVzdF9hbmRfY2xlYXIoUVVFVUVfRkxBR19QTFVHR0VELCBxKSkKIAkJcmV0dXJuIDA7CiAKLQlxdWV1ZV9mbGFnX2NsZWFyKFFVRVVFX0ZMQUdfUExVR0dFRCwgcSk7CiAJZGVsX3RpbWVyKCZxLT51bnBsdWdfdGltZXIpOwogCXJldHVybiAxOwogfQpAQCAtMzI0LDggKzMyNiw3IEBACiAJICogb25lIGxldmVsIG9mIHJlY3Vyc2lvbiBpcyBvayBhbmQgaXMgbXVjaCBmYXN0ZXIgdGhhbiBraWNraW5nCiAJICogdGhlIHVucGx1ZyBoYW5kbGluZwogCSAqLwotCWlmICghdGVzdF9iaXQoUVVFVUVfRkxBR19SRUVOVEVSLCAmcS0+cXVldWVfZmxhZ3MpKSB7Ci0JCXF1ZXVlX2ZsYWdfc2V0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgcSk7CisJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCXEtPnJlcXVlc3RfZm4ocSk7CiAJCXF1ZXVlX2ZsYWdfY2xlYXIoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKIAl9IGVsc2UgewpAQCAtMzkwLDggKzM5MSw3IEBACiAJICogaGFuZGxpbmcgcmVpbnZva2UgdGhlIGhhbmRsZXIgc2hvcnRseSBpZiB3ZSBhbHJlYWR5IGdvdCB0aGVyZS4KIAkgKi8KIAlpZiAoIWVsdl9xdWV1ZV9lbXB0eShxKSkgewotCQlpZiAoIXRlc3RfYml0KFFVRVVFX0ZMQUdfUkVFTlRFUiwgJnEtPnF1ZXVlX2ZsYWdzKSkgewotCQkJcXVldWVfZmxhZ19zZXQoUVVFVUVfRkxBR19SRUVOVEVSLCBxKTsKKwkJaWYgKCFxdWV1ZV9mbGFnX3Rlc3RfYW5kX3NldChRVUVVRV9GTEFHX1JFRU5URVIsIHEpKSB7CiAJCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCQkJcXVldWVfZmxhZ19jbGVhcihRVUVVRV9GTEFHX1JFRU5URVIsIHEpOwogCQl9IGVsc2UgewpAQCAtMTA0MiwxNSArMTA0Miw5IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IHJlcS0+cTsKIAotCS8qCi0JICogR2VlLCBJREUgY2FsbHMgaW4gdy8gTlVMTCBxLiAgRml4IElERSBhbmQgcmVtb3ZlIHRoZQotCSAqIGZvbGxvd2luZyBpZiAocSkgdGVzdC4KLQkgKi8KLQlpZiAocSkgewotCQlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7Ci0JCV9fYmxrX3B1dF9yZXF1ZXN0KHEsIHJlcSk7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOwotCX0KKwlzcGluX2xvY2tfaXJxc2F2ZShxLT5xdWV1ZV9sb2NrLCBmbGFncyk7CisJX19ibGtfcHV0X3JlcXVlc3QocSwgcmVxKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKHEtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0woYmxrX3B1dF9yZXF1ZXN0KTsKIApAQCAtMTM4MSw2ICsxMzc1LDkgQEAKIAkJICovCiAJCWJsa19wYXJ0aXRpb25fcmVtYXAoYmlvKTsKIAorCQlpZiAoYmlvX2ludGVncml0eV9lbmFibGVkKGJpbykgJiYgYmlvX2ludGVncml0eV9wcmVwKGJpbykpCisJCQlnb3RvIGVuZF9pbzsKKwogCQlpZiAob2xkX3NlY3RvciAhPSAtMSkKIAkJCWJsa19hZGRfdHJhY2VfcmVtYXAocSwgYmlvLCBvbGRfZGV2LCBiaW8tPmJpX3NlY3RvciwKIAkJCQkJICAgIG9sZF9zZWN0b3IpOwpAQCAtMjA0NSw3ICsyMDQyLDcgQEAKIAlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKIAkJSU5JVF9MSVNUX0hFQUQoJnBlcl9jcHUoYmxrX2NwdV9kb25lLCBpKSk7CiAKLQlvcGVuX3NvZnRpcnEoQkxPQ0tfU09GVElSUSwgYmxrX2RvbmVfc29mdGlycSwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKEJMT0NLX1NPRlRJUlEsIGJsa19kb25lX3NvZnRpcnEpOwogCXJlZ2lzdGVyX2hvdGNwdV9ub3RpZmllcigmYmxrX2NwdV9ub3RpZmllcik7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2Jsb2NrL2Jsay1leGVjLmMgYi9ibG9jay9ibGstZXhlYy5jCmluZGV4IDM5MWRkNjIuLjliY2VmZjcgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1leGVjLmMKKysrIGIvYmxvY2svYmxrLWV4ZWMuYwpAQCAtMTgsNyArMTgsNyBAQAogICogQHJxOiByZXF1ZXN0IHRvIGNvbXBsZXRlCiAgKiBAZXJyb3I6IGVuZCBpbyBzdGF0dXMgb2YgdGhlIHJlcXVlc3QKICAqLwotdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCitzdGF0aWMgdm9pZCBibGtfZW5kX3N5bmNfcnEoc3RydWN0IHJlcXVlc3QgKnJxLCBpbnQgZXJyb3IpCiB7CiAJc3RydWN0IGNvbXBsZXRpb24gKndhaXRpbmcgPSBycS0+ZW5kX2lvX2RhdGE7CiAKQEAgLTMxLDcgKzMxLDYgQEAKIAkgKi8KIAljb21wbGV0ZSh3YWl0aW5nKTsKIH0KLUVYUE9SVF9TWU1CT0woYmxrX2VuZF9zeW5jX3JxKTsKIAogLyoqCiAgKiBibGtfZXhlY3V0ZV9ycV9ub3dhaXQgLSBpbnNlcnQgYSByZXF1ZXN0IGludG8gcXVldWUgZm9yIGV4ZWN1dGlvbgpAQCAtNTgsNiArNTcsOSBAQAogCXNwaW5fbG9ja19pcnEocS0+cXVldWVfbG9jayk7CiAJX19lbHZfYWRkX3JlcXVlc3QocSwgcnEsIHdoZXJlLCAxKTsKIAlfX2dlbmVyaWNfdW5wbHVnX2RldmljZShxKTsKKwkvKiB0aGUgcXVldWUgaXMgc3RvcHBlZCBzbyBpdCB3b24ndCBiZSBwbHVnZ2VkK3VucGx1Z2dlZCAqLworCWlmIChibGtfcG1fcmVzdW1lX3JlcXVlc3QocnEpKQorCQlxLT5yZXF1ZXN0X2ZuKHEpOwogCXNwaW5fdW5sb2NrX2lycShxLT5xdWV1ZV9sb2NrKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGJsa19leGVjdXRlX3JxX25vd2FpdCk7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstaW50ZWdyaXR5LmMgYi9ibG9jay9ibGstaW50ZWdyaXR5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YxYTg0NwotLS0gL2Rldi9udWxsCisrKyBiL2Jsb2NrL2Jsay1pbnRlZ3JpdHkuYwpAQCAtMCwwICsxLDM4MSBAQAorLyoKKyAqIGJsay1pbnRlZ3JpdHkuYyAtIEJsb2NrIGxheWVyIGRhdGEgaW50ZWdyaXR5IGV4dGVuc2lvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggT3JhY2xlIENvcnBvcmF0aW9uCisgKiBXcml0dGVuIGJ5OiBNYXJ0aW4gSy4gUGV0ZXJzZW4gPG1hcnRpbi5wZXRlcnNlbkBvcmFjbGUuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24KKyAqIDIgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LAorICogVVNBLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvbWVtcG9vbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgorI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CisKKyNpbmNsdWRlICJibGsuaCIKKworc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICppbnRlZ3JpdHlfY2FjaGVwOworCisvKioKKyAqIGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cgLSBDb3VudCBudW1iZXIgb2YgaW50ZWdyaXR5IHNjYXR0ZXJsaXN0IGVsZW1lbnRzCisgKiBAcnE6CQlyZXF1ZXN0IHdpdGggaW50ZWdyaXR5IG1ldGFkYXRhIGF0dGFjaGVkCisgKgorICogRGVzY3JpcHRpb246IFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyByZXF1aXJlZCBpbiBhCisgKiBzY2F0dGVybGlzdCBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gYSByZXF1ZXN0LgorICovCitpbnQgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEpCit7CisJc3RydWN0IGJpb192ZWMgKml2LCAqaXZwcnY7CisJc3RydWN0IHJlcV9pdGVyYXRvciBpdGVyOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZWdtZW50cyA9IDA7CisKKwlycV9mb3JfZWFjaF9pbnRlZ3JpdHlfc2VnbWVudChpdiwgcnEsIGl0ZXIpIHsKKworCQlpZiAoIWl2cHJ2IHx8ICFCSU9WRUNfUEhZU19NRVJHRUFCTEUoaXZwcnYsIGl2KSkKKwkJCXNlZ21lbnRzKys7CisKKwkJaXZwcnYgPSBpdjsKKwl9CisKKwlyZXR1cm4gc2VnbWVudHM7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19ycV9jb3VudF9pbnRlZ3JpdHlfc2cpOworCisvKioKKyAqIGJsa19ycV9tYXBfaW50ZWdyaXR5X3NnIC0gTWFwIGludGVncml0eSBtZXRhZGF0YSBpbnRvIGEgc2NhdHRlcmxpc3QKKyAqIEBycToJCXJlcXVlc3Qgd2l0aCBpbnRlZ3JpdHkgbWV0YWRhdGEgYXR0YWNoZWQKKyAqIEBzZ2xpc3Q6CXRhcmdldCBzY2F0dGVybGlzdAorICoKKyAqIERlc2NyaXB0aW9uOiBNYXAgdGhlIGludGVncml0eSB2ZWN0b3JzIGluIHJlcXVlc3QgaW50byBhCisgKiBzY2F0dGVybGlzdC4gIFRoZSBzY2F0dGVybGlzdCBtdXN0IGJlIGJpZyBlbm91Z2ggdG8gaG9sZCBhbGwKKyAqIGVsZW1lbnRzLiAgSS5lLiBzaXplZCB1c2luZyBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKCkuCisgKi8KK2ludCBibGtfcnFfbWFwX2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqcnEsIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsaXN0KQoreworCXN0cnVjdCBiaW9fdmVjICppdiwgKml2cHJ2OworCXN0cnVjdCByZXFfaXRlcmF0b3IgaXRlcjsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXVuc2lnbmVkIGludCBzZWdtZW50czsKKworCWl2cHJ2ID0gTlVMTDsKKwlzZyA9IE5VTEw7CisJc2VnbWVudHMgPSAwOworCisJcnFfZm9yX2VhY2hfaW50ZWdyaXR5X3NlZ21lbnQoaXYsIHJxLCBpdGVyKSB7CisKKwkJaWYgKGl2cHJ2KSB7CisJCQlpZiAoIUJJT1ZFQ19QSFlTX01FUkdFQUJMRShpdnBydiwgaXYpKQorCQkJCWdvdG8gbmV3X3NlZ21lbnQ7CisKKwkJCXNnLT5sZW5ndGggKz0gaXYtPmJ2X2xlbjsKKwkJfSBlbHNlIHsKK25ld19zZWdtZW50OgorCQkJaWYgKCFzZykKKwkJCQlzZyA9IHNnbGlzdDsKKwkJCWVsc2UgeworCQkJCXNnLT5wYWdlX2xpbmsgJj0gfjB4MDI7CisJCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJCX0KKworCQkJc2dfc2V0X3BhZ2Uoc2csIGl2LT5idl9wYWdlLCBpdi0+YnZfbGVuLCBpdi0+YnZfb2Zmc2V0KTsKKwkJCXNlZ21lbnRzKys7CisJCX0KKworCQlpdnBydiA9IGl2OworCX0KKworCWlmIChzZykKKwkJc2dfbWFya19lbmQoc2cpOworCisJcmV0dXJuIHNlZ21lbnRzOworfQorRVhQT1JUX1NZTUJPTChibGtfcnFfbWFwX2ludGVncml0eV9zZyk7CisKKy8qKgorICogYmxrX2ludGVncml0eV9jb21wYXJlIC0gQ29tcGFyZSBpbnRlZ3JpdHkgcHJvZmlsZSBvZiB0d28gYmxvY2sgZGV2aWNlcworICogQGIxOgkJRGV2aWNlIHRvIGNvbXBhcmUKKyAqIEBiMjoJCURldmljZSB0byBjb21wYXJlCisgKgorICogRGVzY3JpcHRpb246IE1ldGEtZGV2aWNlcyBsaWtlIERNIGFuZCBNRCBuZWVkIHRvIHZlcmlmeSB0aGF0IGFsbAorICogc3ViLWRldmljZXMgdXNlIHRoZSBzYW1lIGludGVncml0eSBmb3JtYXQgYmVmb3JlIGFkdmVydGlzaW5nIHRvCisgKiB1cHBlciBsYXllcnMgdGhhdCB0aGV5IGNhbiBzZW5kL3JlY2VpdmUgaW50ZWdyaXR5IG1ldGFkYXRhLiAgVGhpcworICogZnVuY3Rpb24gY2FuIGJlIHVzZWQgdG8gY2hlY2sgd2hldGhlciB0d28gYmxvY2sgZGV2aWNlcyBoYXZlCisgKiBjb21wYXRpYmxlIGludGVncml0eSBmb3JtYXRzLgorICovCitpbnQgYmxrX2ludGVncml0eV9jb21wYXJlKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkMSwgc3RydWN0IGJsb2NrX2RldmljZSAqYmQyKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMSA9IGJkMS0+YmRfZGlzay0+aW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiMiA9IGJkMi0+YmRfZGlzay0+aW50ZWdyaXR5OworCisJQlVHX09OKGJkMS0+YmRfZGlzayA9PSBOVUxMKTsKKwlCVUdfT04oYmQyLT5iZF9kaXNrID09IE5VTEwpOworCisJaWYgKCFiMSB8fCAhYjIpCisJCXJldHVybiAwOworCisJaWYgKGIxLT5zZWN0b3Jfc2l6ZSAhPSBiMi0+c2VjdG9yX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgc2VjdG9yIHN6ICV1ICE9ICV1XG4iLCBfX2Z1bmNfXywKKwkJICAgICAgIGJkMS0+YmRfZGlzay0+ZGlza19uYW1lLCBiZDItPmJkX2Rpc2stPmRpc2tfbmFtZSwKKwkJICAgICAgIGIxLT5zZWN0b3Jfc2l6ZSwgYjItPnNlY3Rvcl9zaXplKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChiMS0+dHVwbGVfc2l6ZSAhPSBiMi0+dHVwbGVfc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiAlcy8lcyB0dXBsZSBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dHVwbGVfc2l6ZSwgYjItPnR1cGxlX3NpemUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGIxLT50YWdfc2l6ZSAmJiBiMi0+dGFnX3NpemUgJiYgKGIxLT50YWdfc2l6ZSAhPSBiMi0+dGFnX3NpemUpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6ICVzLyVzIHRhZyBzeiAldSAhPSAldVxuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+dGFnX3NpemUsIGIyLT50YWdfc2l6ZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc3RyY21wKGIxLT5uYW1lLCBiMi0+bmFtZSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogJXMvJXMgdHlwZSAlcyAhPSAlc1xuIiwgX19mdW5jX18sCisJCSAgICAgICBiZDEtPmJkX2Rpc2stPmRpc2tfbmFtZSwgYmQyLT5iZF9kaXNrLT5kaXNrX25hbWUsCisJCSAgICAgICBiMS0+bmFtZSwgYjItPm5hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfY29tcGFyZSk7CisKK3N0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgeworCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsKKwlzc2l6ZV90ICgqc2hvdykoc3RydWN0IGJsa19pbnRlZ3JpdHkgKiwgY2hhciAqKTsKKwlzc2l6ZV90ICgqc3RvcmUpKHN0cnVjdCBibGtfaW50ZWdyaXR5ICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKK307CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQkJICAgY2hhciAqcGFnZSkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCisJcmV0dXJuIGVudHJ5LT5zaG93KGJpLCBwYWdlKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosCisJCQkJICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNvbnN0IGNoYXIgKnBhZ2UsCisJCQkJICAgIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPQorCQljb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19pbnRlZ3JpdHksIGtvYmopOworCXN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgKmVudHJ5ID0KKwkJY29udGFpbmVyX29mKGF0dHIsIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnksIGF0dHIpOworCXNzaXplX3QgcmV0ID0gMDsKKworCWlmIChlbnRyeS0+c3RvcmUpCisJCXJldCA9IGVudHJ5LT5zdG9yZShiaSwgcGFnZSwgY291bnQpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X2Zvcm1hdF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlpZiAoYmkgIT0gTlVMTCAmJiBiaS0+bmFtZSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXNcbiIsIGJpLT5uYW1lKTsKKwllbHNlCisJCXJldHVybiBzcHJpbnRmKHBhZ2UsICJub25lXG4iKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3RhZ19zaXplX3Nob3coc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpLCBjaGFyICpwYWdlKQoreworCWlmIChiaSAhPSBOVUxMKQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJXVcbiIsIGJpLT50YWdfc2l6ZSk7CisJZWxzZQorCQlyZXR1cm4gc3ByaW50ZihwYWdlLCAiMFxuIik7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGludGVncml0eV9yZWFkX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCWNoYXIgKnAgPSAoY2hhciAqKSBwYWdlOworCXVuc2lnbmVkIGxvbmcgdmFsID0gc2ltcGxlX3N0cnRvdWwocCwgJnAsIDEwKTsKKworCWlmICh2YWwpCisJCWJpLT5mbGFncyB8PSBJTlRFR1JJVFlfRkxBR19SRUFEOworCWVsc2UKKwkJYmktPmZsYWdzICY9IH5JTlRFR1JJVFlfRkxBR19SRUFEOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfcmVhZF9zaG93KHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gc3ByaW50ZihwYWdlLCAiJWRcbiIsIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19SRUFEKSAhPSAwKTsKK30KKworc3RhdGljIHNzaXplX3QgaW50ZWdyaXR5X3dyaXRlX3N0b3JlKHN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSwKKwkJCQkgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwljaGFyICpwID0gKGNoYXIgKikgcGFnZTsKKwl1bnNpZ25lZCBsb25nIHZhbCA9IHNpbXBsZV9zdHJ0b3VsKHAsICZwLCAxMCk7CisKKwlpZiAodmFsKQorCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfV1JJVEU7CisJZWxzZQorCQliaS0+ZmxhZ3MgJj0gfklOVEVHUklUWV9GTEFHX1dSSVRFOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgc3NpemVfdCBpbnRlZ3JpdHlfd3JpdGVfc2hvdyhzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmksIGNoYXIgKnBhZ2UpCit7CisJcmV0dXJuIHNwcmludGYocGFnZSwgIiVkXG4iLCAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfV1JJVEUpICE9IDApOworfQorCitzdGF0aWMgc3RydWN0IGludGVncml0eV9zeXNmc19lbnRyeSBpbnRlZ3JpdHlfZm9ybWF0X2VudHJ5ID0geworCS5hdHRyID0geyAubmFtZSA9ICJmb3JtYXQiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV9mb3JtYXRfc2hvdywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV90YWdfc2l6ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAidGFnX3NpemUiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IGludGVncml0eV90YWdfc2l6ZV9zaG93LAorfTsKKworc3RhdGljIHN0cnVjdCBpbnRlZ3JpdHlfc3lzZnNfZW50cnkgaW50ZWdyaXR5X3JlYWRfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdmVyaWZ5IiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gaW50ZWdyaXR5X3JlYWRfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfcmVhZF9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW50ZWdyaXR5X3N5c2ZzX2VudHJ5IGludGVncml0eV93cml0ZV9lbnRyeSA9IHsKKwkuYXR0ciA9IHsgLm5hbWUgPSAid3JpdGVfZ2VuZXJhdGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSBpbnRlZ3JpdHlfd3JpdGVfc2hvdywKKwkuc3RvcmUgPSBpbnRlZ3JpdHlfd3JpdGVfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqaW50ZWdyaXR5X2F0dHJzW10gPSB7CisJJmludGVncml0eV9mb3JtYXRfZW50cnkuYXR0ciwKKwkmaW50ZWdyaXR5X3RhZ19zaXplX2VudHJ5LmF0dHIsCisJJmludGVncml0eV9yZWFkX2VudHJ5LmF0dHIsCisJJmludGVncml0eV93cml0ZV9lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyBpbnRlZ3JpdHlfb3BzID0geworCS5zaG93CT0gJmludGVncml0eV9hdHRyX3Nob3csCisJLnN0b3JlCT0gJmludGVncml0eV9hdHRyX3N0b3JlLAorfTsKKworc3RhdGljIGludCBfX2luaXQgYmxrX2Rldl9pbnRlZ3JpdHlfaW5pdCh2b2lkKQoreworCWludGVncml0eV9jYWNoZXAgPSBrbWVtX2NhY2hlX2NyZWF0ZSgiYmxrZGV2X2ludGVncml0eSIsCisJCQkJCSAgICAgc2l6ZW9mKHN0cnVjdCBibGtfaW50ZWdyaXR5KSwKKwkJCQkJICAgICAwLCBTTEFCX1BBTklDLCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChibGtfZGV2X2ludGVncml0eV9pbml0KTsKKworc3RhdGljIHZvaWQgYmxrX2ludGVncml0eV9yZWxlYXNlKHN0cnVjdCBrb2JqZWN0ICprb2JqKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9CisJCWNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX2ludGVncml0eSwga29iaik7CisKKwlrbWVtX2NhY2hlX2ZyZWUoaW50ZWdyaXR5X2NhY2hlcCwgYmkpOworfQorCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBpbnRlZ3JpdHlfa3R5cGUgPSB7CisJLmRlZmF1bHRfYXR0cnMJPSBpbnRlZ3JpdHlfYXR0cnMsCisJLnN5c2ZzX29wcwk9ICZpbnRlZ3JpdHlfb3BzLAorCS5yZWxlYXNlCT0gYmxrX2ludGVncml0eV9yZWxlYXNlLAorfTsKKworLyoqCisgKiBibGtfaW50ZWdyaXR5X3JlZ2lzdGVyIC0gUmVnaXN0ZXIgYSBnZW5kaXNrIGFzIGJlaW5nIGludGVncml0eS1jYXBhYmxlCisgKiBAZGlzazoJc3RydWN0IGdlbmRpc2sgcG9pbnRlciB0byBtYWtlIGludGVncml0eS1hd2FyZQorICogQHRlbXBsYXRlOglpbnRlZ3JpdHkgcHJvZmlsZQorICoKKyAqIERlc2NyaXB0aW9uOiBXaGVuIGEgZGV2aWNlIG5lZWRzIHRvIGFkdmVydGlzZSBpdHNlbGYgYXMgYmVpbmcgYWJsZQorICogdG8gc2VuZC9yZWNlaXZlIGludGVncml0eSBtZXRhZGF0YSBpdCBtdXN0IHVzZSB0aGlzIGZ1bmN0aW9uIHRvCisgKiByZWdpc3RlciB0aGUgY2FwYWJpbGl0eSB3aXRoIHRoZSBibG9jayBsYXllci4gIFRoZSB0ZW1wbGF0ZSBpcyBhCisgKiBibGtfaW50ZWdyaXR5IHN0cnVjdCB3aXRoIHZhbHVlcyBhcHByb3ByaWF0ZSBmb3IgdGhlIHVuZGVybHlpbmcKKyAqIGhhcmR3YXJlLiAgU2VlIERvY3VtZW50YXRpb24vYmxvY2svZGF0YS1pbnRlZ3JpdHkudHh0LgorICovCitpbnQgYmxrX2ludGVncml0eV9yZWdpc3RlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaywgc3RydWN0IGJsa19pbnRlZ3JpdHkgKnRlbXBsYXRlKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaTsKKworCUJVR19PTihkaXNrID09IE5VTEwpOworCUJVR19PTih0ZW1wbGF0ZSA9PSBOVUxMKTsKKworCWlmIChkaXNrLT5pbnRlZ3JpdHkgPT0gTlVMTCkgeworCQliaSA9IGttZW1fY2FjaGVfYWxsb2MoaW50ZWdyaXR5X2NhY2hlcCwKKwkJCQkJCUdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKTsKKwkJaWYgKCFiaSkKKwkJCXJldHVybiAtMTsKKworCQlpZiAoa29iamVjdF9pbml0X2FuZF9hZGQoJmJpLT5rb2JqLCAmaW50ZWdyaXR5X2t0eXBlLAorCQkJCQkgJmRpc2stPmRldi5rb2JqLCAiJXMiLCAiaW50ZWdyaXR5IikpIHsKKwkJCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKworCQlrb2JqZWN0X3VldmVudCgmYmktPmtvYmosIEtPQkpfQUREKTsKKworCQliaS0+ZmxhZ3MgfD0gSU5URUdSSVRZX0ZMQUdfUkVBRCB8IElOVEVHUklUWV9GTEFHX1dSSVRFOworCQliaS0+c2VjdG9yX3NpemUgPSBkaXNrLT5xdWV1ZS0+aGFyZHNlY3Rfc2l6ZTsKKwkJZGlzay0+aW50ZWdyaXR5ID0gYmk7CisJfSBlbHNlCisJCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJLyogVXNlIHRoZSBwcm92aWRlZCBwcm9maWxlIGFzIHRlbXBsYXRlICovCisJYmktPm5hbWUgPSB0ZW1wbGF0ZS0+bmFtZTsKKwliaS0+Z2VuZXJhdGVfZm4gPSB0ZW1wbGF0ZS0+Z2VuZXJhdGVfZm47CisJYmktPnZlcmlmeV9mbiA9IHRlbXBsYXRlLT52ZXJpZnlfZm47CisJYmktPnR1cGxlX3NpemUgPSB0ZW1wbGF0ZS0+dHVwbGVfc2l6ZTsKKwliaS0+c2V0X3RhZ19mbiA9IHRlbXBsYXRlLT5zZXRfdGFnX2ZuOworCWJpLT5nZXRfdGFnX2ZuID0gdGVtcGxhdGUtPmdldF90YWdfZm47CisJYmktPnRhZ19zaXplID0gdGVtcGxhdGUtPnRhZ19zaXplOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIpOworCisvKioKKyAqIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlciAtIFJlbW92ZSBibG9jayBpbnRlZ3JpdHkgcHJvZmlsZQorICogQGRpc2s6CWRpc2sgd2hvc2UgaW50ZWdyaXR5IHByb2ZpbGUgdG8gZGVhbGxvY2F0ZQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGFsbCBtZW1vcnkgdXNlZCBieSB0aGUgYmxvY2sKKyAqIGludGVncml0eSBwcm9maWxlLiAgVG8gYmUgY2FsbGVkIGF0IGRldmljZSB0ZWFyZG93bi4KKyAqLwordm9pZCBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpOworCisJaWYgKCFkaXNrIHx8ICFkaXNrLT5pbnRlZ3JpdHkpCisJCXJldHVybjsKKworCWJpID0gZGlzay0+aW50ZWdyaXR5OworCisJa29iamVjdF91ZXZlbnQoJmJpLT5rb2JqLCBLT0JKX1JFTU9WRSk7CisJa29iamVjdF9kZWwoJmJpLT5rb2JqKTsKKwlrb2JqZWN0X3B1dCgmZGlzay0+ZGV2LmtvYmopOworCWttZW1fY2FjaGVfZnJlZShpbnRlZ3JpdHlfY2FjaGVwLCBiaSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa19pbnRlZ3JpdHlfdW5yZWdpc3Rlcik7CmRpZmYgLS1naXQgYS9ibG9jay9ibGstbWFwLmMgYi9ibG9jay9ibGstbWFwLmMKaW5kZXggMGIxYWY1YS4uZGRkOTZmYiAxMDA2NDQKLS0tIGEvYmxvY2svYmxrLW1hcC5jCisrKyBiL2Jsb2NrL2Jsay1tYXAuYwpAQCAtMjEwLDYgKzIxMCw3IEBACiAJaWYgKCFiaW9fZmxhZ2dlZChiaW8sIEJJT19VU0VSX01BUFBFRCkpCiAJCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX0NPUFlfVVNFUjsKIAorCWJsa19xdWV1ZV9ib3VuY2UocSwgJmJpbyk7CiAJYmlvX2dldChiaW8pOwogCWJsa19ycV9iaW9fcHJlcChxLCBycSwgYmlvKTsKIAlycS0+YnVmZmVyID0gcnEtPmRhdGEgPSBOVUxMOwpAQCAtMjY4LDYgKzI2OSw3IEBACiAJaW50IHJlYWRpbmcgPSBycV9kYXRhX2RpcihycSkgPT0gUkVBRDsKIAlpbnQgZG9fY29weSA9IDA7CiAJc3RydWN0IGJpbyAqYmlvOworCXVuc2lnbmVkIGxvbmcgc3RhY2tfbWFzayA9IH4oVEhSRUFEX1NJWkUgLSAxKTsKIAogCWlmIChsZW4gPiAocS0+bWF4X2h3X3NlY3RvcnMgPDwgOSkpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMjc4LDYgKzI4MCwxMCBAQAogCWFsaWdubWVudCA9IHF1ZXVlX2RtYV9hbGlnbm1lbnQocSkgfCBxLT5kbWFfcGFkX21hc2s7CiAJZG9fY29weSA9ICgoa2FkZHIgJiBhbGlnbm1lbnQpIHx8IChsZW4gJiBhbGlnbm1lbnQpKTsKIAorCWlmICghKChrYWRkciAmIHN0YWNrX21hc2spIF4KKwkgICAgICAoKHVuc2lnbmVkIGxvbmcpY3VycmVudC0+c3RhY2sgJiBzdGFja19tYXNrKSkpCisJCWRvX2NvcHkgPSAxOworCiAJaWYgKGRvX2NvcHkpCiAJCWJpbyA9IGJpb19jb3B5X2tlcm4ocSwga2J1ZiwgbGVuLCBnZnBfbWFzaywgcmVhZGluZyk7CiAJZWxzZQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLW1lcmdlLmMgYi9ibG9jay9ibGstbWVyZ2UuYwppbmRleCA2NTExMzZhLi41ZWZjOWU3IDEwMDY0NAotLS0gYS9ibG9jay9ibGstbWVyZ2UuYworKysgYi9ibG9jay9ibGstbWVyZ2UuYwpAQCAtNDQxLDYgKzQ0MSw5IEBACiAJICAgIHx8IG5leHQtPnNwZWNpYWwpCiAJCXJldHVybiAwOwogCisJaWYgKGJsa19pbnRlZ3JpdHlfcnEocmVxKSAhPSBibGtfaW50ZWdyaXR5X3JxKG5leHQpKQorCQlyZXR1cm4gMDsKKwogCS8qCiAJICogSWYgd2UgYXJlIGFsbG93ZWQgdG8gbWVyZ2UsIHRoZW4gYXBwZW5kIGJpbyBsaXN0CiAJICogZnJvbSBuZXh0IHRvIHJxIGFuZCByZWxlYXNlIG5leHQuIG1lcmdlX3JlcXVlc3RzX2ZuCmRpZmYgLS1naXQgYS9ibG9jay9ibGstc2V0dGluZ3MuYyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCmluZGV4IDhkZDg2NDEuLmRmYzc3MDEgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCisrKyBiL2Jsb2NrL2Jsay1zZXR0aW5ncy5jCkBAIC0zMDIsMTEgKzMwMiwxMCBAQAogICogQHE6ICAgICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQG1hc2s6ICBwYWQgbWFzawogICoKLSAqIFNldCBwYWQgbWFzay4gIERpcmVjdCBJTyByZXF1ZXN0cyBhcmUgcGFkZGVkIHRvIHRoZSBtYXNrIHNwZWNpZmllZC4KKyAqIFNldCBkbWEgcGFkIG1hc2suCiAgKgotICogQXBwZW5kaW5nIHBhZCBidWZmZXIgdG8gYSByZXF1ZXN0IG1vZGlmaWVzIC0+ZGF0YV9sZW4gc3VjaCB0aGF0IGl0Ci0gKiBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4gIFRoZSBvcmlnaW5hbCByZXF1ZXN0ZWQgZGF0YSBsZW5ndGggY2FuIGJlCi0gKiBvYnRhaW5lZCB1c2luZyBibGtfcnFfcmF3X2RhdGFfbGVuKCkuCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KICAqKi8KIHZvaWQgYmxrX3F1ZXVlX2RtYV9wYWQoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHVuc2lnbmVkIGludCBtYXNrKQogewpAQCAtMzE1LDYgKzMxNCwyMyBAQAogRVhQT1JUX1NZTUJPTChibGtfcXVldWVfZG1hX3BhZCk7CiAKIC8qKgorICogYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkIC0gdXBkYXRlIHBhZCBtYXNrCisgKiBAcTogICAgIHRoZSByZXF1ZXN0IHF1ZXVlIGZvciB0aGUgZGV2aWNlCisgKiBAbWFzazogIHBhZCBtYXNrCisgKgorICogVXBkYXRlIGRtYSBwYWQgbWFzay4KKyAqCisgKiBBcHBlbmRpbmcgcGFkIGJ1ZmZlciB0byBhIHJlcXVlc3QgbW9kaWZpZXMgdGhlIGxhc3QgZW50cnkgb2YgYQorICogc2NhdHRlciBsaXN0IHN1Y2ggdGhhdCBpdCBpbmNsdWRlcyB0aGUgcGFkIGJ1ZmZlci4KKyAqKi8KK3ZvaWQgYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgbWFzaykKK3sKKwlpZiAobWFzayA+IHEtPmRtYV9wYWRfbWFzaykKKwkJcS0+ZG1hX3BhZF9tYXNrID0gbWFzazsKK30KK0VYUE9SVF9TWU1CT0woYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfcGFkKTsKKworLyoqCiAgKiBibGtfcXVldWVfZG1hX2RyYWluIC0gU2V0IHVwIGEgZHJhaW4gYnVmZmVyIGZvciBleGNlc3MgZG1hLgogICogQHE6ICB0aGUgcmVxdWVzdCBxdWV1ZSBmb3IgdGhlIGRldmljZQogICogQGRtYV9kcmFpbl9uZWVkZWQ6IGZuIHdoaWNoIHJldHVybnMgbm9uLXplcm8gaWYgZHJhaW4gaXMgbmVjZXNzYXJ5CmRpZmYgLS1naXQgYS9ibG9jay9ibGsuaCBiL2Jsb2NrL2Jsay5oCmluZGV4IDU5Nzc2YWIuLmM3OWYzMGUgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2Jsay5oCisrKyBiL2Jsb2NrL2Jsay5oCkBAIC01MSw0ICs1MSwxMiBAQAogCXJldHVybiBxLT5ucl9jb25nZXN0aW9uX29mZjsKIH0KIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCisjZGVmaW5lIHJxX2Zvcl9lYWNoX2ludGVncml0eV9zZWdtZW50KGJ2bCwgX3JxLCBfaXRlcikJCVwKKwlfX3JxX2Zvcl9lYWNoX2JpbyhfaXRlci5iaW8sIF9ycSkJCQlcCisJCWJpcF9mb3JfZWFjaF92ZWMoYnZsLCBfaXRlci5iaW8tPmJpX2ludGVncml0eSwgX2l0ZXIuaSkKKworI2VuZGlmIC8qIEJMS19ERVZfSU5URUdSSVRZICovCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrdHJhY2UuYyBiL2Jsb2NrL2Jsa3RyYWNlLmMKaW5kZXggOGQzYTI3Ny4uZWI5NjUxYyAxMDA2NDQKLS0tIGEvYmxvY2svYmxrdHJhY2UuYworKysgYi9ibG9jay9ibGt0cmFjZS5jCkBAIC0yNDQsNiArMjQ0LDcgQEAKIHN0YXRpYyB2b2lkIGJsa190cmFjZV9jbGVhbnVwKHN0cnVjdCBibGtfdHJhY2UgKmJ0KQogewogCXJlbGF5X2Nsb3NlKGJ0LT5yY2hhbik7CisJZGVidWdmc19yZW1vdmUoYnQtPm1zZ19maWxlKTsKIAlkZWJ1Z2ZzX3JlbW92ZShidC0+ZHJvcHBlZF9maWxlKTsKIAlibGtfcmVtb3ZlX3RyZWUoYnQtPmRpcik7CiAJZnJlZV9wZXJjcHUoYnQtPnNlcXVlbmNlKTsKQEAgLTI5MSw2ICsyOTIsNDQgQEAKIAkucmVhZCA9CQlibGtfZHJvcHBlZF9yZWFkLAogfTsKIAorc3RhdGljIGludCBibGtfbXNnX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBibGtfbXNnX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAorCQkJCXNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgKm1zZzsKKwlzdHJ1Y3QgYmxrX3RyYWNlICpidDsKKworCWlmIChjb3VudCA+IEJMS19UTl9NQVhfTVNHKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1zZyA9IGttYWxsb2MoY291bnQsIEdGUF9LRVJORUwpOworCWlmIChtc2cgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY29weV9mcm9tX3VzZXIobXNnLCBidWZmZXIsIGNvdW50KSkgeworCQlrZnJlZShtc2cpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlidCA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwlfX3RyYWNlX25vdGVfbWVzc2FnZShidCwgIiVzIiwgbXNnKTsKKwlrZnJlZShtc2cpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBibGtfbXNnX2ZvcHMgPSB7CisJLm93bmVyID0JVEhJU19NT0RVTEUsCisJLm9wZW4gPQkJYmxrX21zZ19vcGVuLAorCS53cml0ZSA9CWJsa19tc2dfd3JpdGUsCit9OworCiAvKgogICogS2VlcCB0cmFjayBvZiBob3cgbWFueSB0aW1lcyB3ZSBlbmNvdW50ZXJlZCBhIGZ1bGwgc3ViYnVmZmVyLCB0byBhaWQKICAqIHRoZSB1c2VyIHNwYWNlIGFwcCBpbiB0ZWxsaW5nIGhvdyBtYW55IGxvc3QgZXZlbnRzIHRoZXJlIHdlcmUuCkBAIC0zODAsNiArNDE5LDEwIEBACiAJaWYgKCFidC0+ZHJvcHBlZF9maWxlKQogCQlnb3RvIGVycjsKIAorCWJ0LT5tc2dfZmlsZSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoIm1zZyIsIDAyMjIsIGRpciwgYnQsICZibGtfbXNnX2ZvcHMpOworCWlmICghYnQtPm1zZ19maWxlKQorCQlnb3RvIGVycjsKKwogCWJ0LT5yY2hhbiA9IHJlbGF5X29wZW4oInRyYWNlIiwgZGlyLCBidXRzLT5idWZfc2l6ZSwKIAkJCQlidXRzLT5idWZfbnIsICZibGtfcmVsYXlfY2FsbGJhY2tzLCBidCk7CiAJaWYgKCFidC0+cmNoYW4pCkBAIC00MDksNiArNDUyLDggQEAKIAlpZiAoZGlyKQogCQlibGtfcmVtb3ZlX3RyZWUoZGlyKTsKIAlpZiAoYnQpIHsKKwkJaWYgKGJ0LT5tc2dfZmlsZSkKKwkJCWRlYnVnZnNfcmVtb3ZlKGJ0LT5tc2dfZmlsZSk7CiAJCWlmIChidC0+ZHJvcHBlZF9maWxlKQogCQkJZGVidWdmc19yZW1vdmUoYnQtPmRyb3BwZWRfZmlsZSk7CiAJCWZyZWVfcGVyY3B1KGJ0LT5zZXF1ZW5jZSk7CmRpZmYgLS1naXQgYS9ibG9jay9ic2cuYyBiL2Jsb2NrL2JzZy5jCmluZGV4IGYwYjdjZDMuLjBiM2IyODIgMTAwNjQ0Ci0tLSBhL2Jsb2NrL2JzZy5jCisrKyBiL2Jsb2NrL2JzZy5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvdWlvLmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvYnNnLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaV9pb2N0bC5oPgpAQCAtNDQsMTEgKzQ1LDEyIEBACiAJY2hhciBuYW1lW0JVU19JRF9TSVpFXTsKIAlpbnQgbWF4X3F1ZXVlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmNtZF9maWx0ZXI7CisJbW9kZV90ICpmX21vZGU7CiB9OwogCiBlbnVtIHsKIAlCU0dfRl9CTE9DSwkJPSAxLAotCUJTR19GX1dSSVRFX1BFUk0JPSAyLAogfTsKIAogI2RlZmluZSBCU0dfREVGQVVMVF9DTURTCTY0CkBAIC0xNzIsNyArMTc0LDcgQEAKIH0KIAogc3RhdGljIGludCBibGtfZmlsbF9zZ3Y0X2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJCXN0cnVjdCBzZ19pb192NCAqaGRyLCBpbnQgaGFzX3dyaXRlX3Blcm0pCisJCQkJc3RydWN0IHNnX2lvX3Y0ICpoZHIsIHN0cnVjdCBic2dfZGV2aWNlICpiZCkKIHsKIAlpZiAoaGRyLT5yZXF1ZXN0X2xlbiA+IEJMS19NQVhfQ0RCKSB7CiAJCXJxLT5jbWQgPSBremFsbG9jKGhkci0+cmVxdWVzdF9sZW4sIEdGUF9LRVJORUwpOwpAQCAtMTg1LDcgKzE4Nyw4IEBACiAJCXJldHVybiAtRUZBVUxUOwogCiAJaWYgKGhkci0+c3VicHJvdG9jb2wgPT0gQlNHX1NVQl9QUk9UT0NPTF9TQ1NJX0NNRCkgewotCQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwkJaWYgKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKGJkLT5jbWRfZmlsdGVyLCBycS0+Y21kLAorCQkJCQkJIGJkLT5mX21vZGUpKQogCQkJcmV0dXJuIC1FUEVSTTsKIAl9IGVsc2UgaWYgKCFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQogCQlyZXR1cm4gLUVQRVJNOwpAQCAtMjYzLDggKzI2Niw3IEBACiAJcnEgPSBibGtfZ2V0X3JlcXVlc3QocSwgcncsIEdGUF9LRVJORUwpOwogCWlmICghcnEpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIHRlc3RfYml0KEJTR19GX1dSSVRFX1BFUk0sCi0JCQkJCQkgICAgICAgJmJkLT5mbGFncykpOworCXJldCA9IGJsa19maWxsX3NndjRfaGRyX3JxKHEsIHJxLCBoZHIsIGJkKTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIApAQCAtNTY2LDEyICs1NjgsMjMgQEAKIAkJc2V0X2JpdChCU0dfRl9CTE9DSywgJmJkLT5mbGFncyk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBic2dfc2V0X3dyaXRlX3Blcm0oc3RydWN0IGJzZ19kZXZpY2UgKmJkLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3N0YXRpYyB2b2lkIGJzZ19zZXRfY21kX2ZpbHRlcihzdHJ1Y3QgYnNnX2RldmljZSAqYmQsCisJCQkgICBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKLQlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfV1JJVEUpCi0JCXNldF9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7Ci0JZWxzZQotCQljbGVhcl9iaXQoQlNHX0ZfV1JJVEVfUEVSTSwgJmJkLT5mbGFncyk7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwlzdHJ1Y3QgZ2VuZGlzayAqZGlzazsKKworCWlmICghZmlsZSkKKwkJcmV0dXJuOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm47CisKKwlkaXNrID0gaW5vZGUtPmlfYmRldi0+YmRfZGlzazsKKworCWJkLT5jbWRfZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisJYmQtPmZfbW9kZSA9ICZmaWxlLT5mX21vZGU7CiB9CiAKIC8qCkBAIC01OTUsNiArNjA4LDggQEAKIAlkcHJpbnRrKCIlczogcmVhZCAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKKwlic2dfc2V0X2NtZF9maWx0ZXIoYmQsIGZpbGUpOworCiAJYnl0ZXNfcmVhZCA9IDA7CiAJcmV0ID0gX19ic2dfcmVhZChidWYsIGNvdW50LCBiZCwgTlVMTCwgJmJ5dGVzX3JlYWQpOwogCSpwcG9zID0gYnl0ZXNfcmVhZDsKQEAgLTY2OCw3ICs2ODMsNyBAQAogCWRwcmludGsoIiVzOiB3cml0ZSAlWmQgYnl0ZXNcbiIsIGJkLT5uYW1lLCBjb3VudCk7CiAKIAlic2dfc2V0X2Jsb2NrKGJkLCBmaWxlKTsKLQlic2dfc2V0X3dyaXRlX3Blcm0oYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlieXRlc193cml0dGVuID0gMDsKIAlyZXQgPSBfX2JzZ193cml0ZShiZCwgYnVmLCBjb3VudCwgJmJ5dGVzX3dyaXR0ZW4pOwpAQCAtNzA5LDExICs3MjQsMTIgQEAKIHsKIAlzdHJ1Y3QgYnNnX2NsYXNzX2RldmljZSAqYmNkID0KIAkJY29udGFpbmVyX29mKGtyZWYsIHN0cnVjdCBic2dfY2xhc3NfZGV2aWNlLCByZWYpOworCXN0cnVjdCBkZXZpY2UgKnBhcmVudCA9IGJjZC0+cGFyZW50OwogCiAJaWYgKGJjZC0+cmVsZWFzZSkKIAkJYmNkLT5yZWxlYXNlKGJjZC0+cGFyZW50KTsKIAotCXB1dF9kZXZpY2UoYmNkLT5wYXJlbnQpOworCXB1dF9kZXZpY2UocGFyZW50KTsKIH0KIAogc3RhdGljIGludCBic2dfcHV0X2RldmljZShzdHJ1Y3QgYnNnX2RldmljZSAqYmQpCkBAIC03NzEsNyArNzg3LDkgQEAKIAl9CiAKIAliZC0+cXVldWUgPSBycTsKKwogCWJzZ19zZXRfYmxvY2soYmQsIGZpbGUpOworCWJzZ19zZXRfY21kX2ZpbHRlcihiZCwgZmlsZSk7CiAKIAlhdG9taWNfc2V0KCZiZC0+cmVmX2NvdW50LCAxKTsKIAltdXRleF9sb2NrKCZic2dfbXV0ZXgpOwpAQCAtODM0LDcgKzg1MiwxMSBAQAogCiBzdGF0aWMgaW50IGJzZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCXN0cnVjdCBic2dfZGV2aWNlICpiZCA9IGJzZ19nZXRfZGV2aWNlKGlub2RlLCBmaWxlKTsKKwlzdHJ1Y3QgYnNnX2RldmljZSAqYmQ7CisKKwlsb2NrX2tlcm5lbCgpOworCWJkID0gYnNnX2dldF9kZXZpY2UoaW5vZGUsIGZpbGUpOworCXVubG9ja19rZXJuZWwoKTsKIAogCWlmIChJU19FUlIoYmQpKQogCQlyZXR1cm4gUFRSX0VSUihiZCk7CmRpZmYgLS1naXQgYS9ibG9jay9jZnEtaW9zY2hlZC5jIGIvYmxvY2svY2ZxLWlvc2NoZWQuYwppbmRleCBkMDFiNDExLi4xZTJhZmY4IDEwMDY0NAotLS0gYS9ibG9jay9jZnEtaW9zY2hlZC5jCisrKyBiL2Jsb2NrL2NmcS1pb3NjaGVkLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lbGV2YXRvci5oPgogI2luY2x1ZGUgPGxpbnV4L3JidHJlZS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvcHJpby5oPgorI2luY2x1ZGUgPGxpbnV4L2Jsa3RyYWNlX2FwaS5oPgogCiAvKgogICogdHVuYWJsZXMKQEAgLTQxLDEzICs0MiwxNCBAQAogCiAjZGVmaW5lIFJRX0NJQyhycSkJCVwKIAkoKHN0cnVjdCBjZnFfaW9fY29udGV4dCAqKSAocnEpLT5lbGV2YXRvcl9wcml2YXRlKQotI2RlZmluZSBSUV9DRlFRKHJxKQkJKChycSktPmVsZXZhdG9yX3ByaXZhdGUyKQorI2RlZmluZSBSUV9DRlFRKHJxKQkJKHN0cnVjdCBjZnFfcXVldWUgKikgKChycSktPmVsZXZhdG9yX3ByaXZhdGUyKQogCiBzdGF0aWMgc3RydWN0IGttZW1fY2FjaGUgKmNmcV9wb29sOwogc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICpjZnFfaW9jX3Bvb2w7CiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVSh1bnNpZ25lZCBsb25nLCBpb2NfY291bnQpOwogc3RhdGljIHN0cnVjdCBjb21wbGV0aW9uICppb2NfZ29uZTsKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soaW9jX2dvbmVfbG9jayk7CiAKICNkZWZpbmUgQ0ZRX1BSSU9fTElTVFMJCUlPUFJJT19CRV9OUgogI2RlZmluZSBjZnFfY2xhc3NfaWRsZShjZnFxKQkoKGNmcXEpLT5pb3ByaW9fY2xhc3MgPT0gSU9QUklPX0NMQVNTX0lETEUpCkBAIC0xNTUsNiArMTU3LDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBpb3ByaW8sIG9yZ19pb3ByaW87CiAJdW5zaWduZWQgc2hvcnQgaW9wcmlvX2NsYXNzLCBvcmdfaW9wcmlvX2NsYXNzOwogCisJcGlkX3QgcGlkOwogfTsKIAogZW51bSBjZnFxX3N0YXRlX2ZsYWdzIHsKQEAgLTE5OCw2ICsyMDEsMTEgQEAKIENGUV9DRlFRX0ZOUyhzeW5jKTsKICN1bmRlZiBDRlFfQ0ZRUV9GTlMKIAorI2RlZmluZSBjZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgZm10LCBhcmdzLi4uKQlcCisJYmxrX2FkZF90cmFjZV9tc2coKGNmcWQpLT5xdWV1ZSwgImNmcSVkICIgZm10LCAoY2ZxcSktPnBpZCwgIyNhcmdzKQorI2RlZmluZSBjZnFfbG9nKGNmcWQsIGZtdCwgYXJncy4uLikJXAorCWJsa19hZGRfdHJhY2VfbXNnKChjZnFkKS0+cXVldWUsICJjZnEgIiBmbXQsICMjYXJncykKKwogc3RhdGljIHZvaWQgY2ZxX2Rpc3BhdGNoX2luc2VydChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKIHN0YXRpYyBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFfZ2V0X3F1ZXVlKHN0cnVjdCBjZnFfZGF0YSAqLCBpbnQsCiAJCQkJICAgICAgIHN0cnVjdCBpb19jb250ZXh0ICosIGdmcF90KTsKQEAgLTIzNCw4ICsyNDIsMTAgQEAKICAqLwogc3RhdGljIGlubGluZSB2b2lkIGNmcV9zY2hlZHVsZV9kaXNwYXRjaChzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQpCiB7Ci0JaWYgKGNmcWQtPmJ1c3lfcXVldWVzKQorCWlmIChjZnFkLT5idXN5X3F1ZXVlcykgeworCQljZnFfbG9nKGNmcWQsICJzY2hlZHVsZSBkaXNwYXRjaCIpOwogCQlrYmxvY2tkX3NjaGVkdWxlX3dvcmsoJmNmcWQtPnVucGx1Z193b3JrKTsKKwl9CiB9CiAKIHN0YXRpYyBpbnQgY2ZxX3F1ZXVlX2VtcHR5KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQpAQCAtMjcwLDYgKzI4MCw3IEBACiBjZnFfc2V0X3ByaW9fc2xpY2Uoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogewogCWNmcXEtPnNsaWNlX2VuZCA9IGNmcV9wcmlvX3RvX3NsaWNlKGNmcWQsIGNmcXEpICsgamlmZmllczsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInNldF9zbGljZT0lbHUiLCBjZnFxLT5zbGljZV9lbmQgLSBqaWZmaWVzKTsKIH0KIAogLyoKQEAgLTUzOSw2ICs1NTAsNyBAQAogICovCiBzdGF0aWMgdm9pZCBjZnFfYWRkX2NmcXFfcnIoc3RydWN0IGNmcV9kYXRhICpjZnFkLCBzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxKQogeworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiYWRkX3RvX3JyIik7CiAJQlVHX09OKGNmcV9jZnFxX29uX3JyKGNmcXEpKTsKIAljZnFfbWFya19jZnFxX29uX3JyKGNmcXEpOwogCWNmcWQtPmJ1c3lfcXVldWVzKys7CkBAIC01NTIsNiArNTY0LDcgQEAKICAqLwogc3RhdGljIHZvaWQgY2ZxX2RlbF9jZnFxX3JyKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSkKIHsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImRlbF9mcm9tX3JyIik7CiAJQlVHX09OKCFjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CiAJY2ZxX2NsZWFyX2NmcXFfb25fcnIoY2ZxcSk7CiAKQEAgLTYzOCw2ICs2NTEsOCBAQAogCXN0cnVjdCBjZnFfZGF0YSAqY2ZxZCA9IHEtPmVsZXZhdG9yLT5lbGV2YXRvcl9kYXRhOwogCiAJY2ZxZC0+cnFfaW5fZHJpdmVyKys7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIFJRX0NGUVEocnEpLCAiYWN0aXZhdGUgcnEsIGRydj0lZCIsCisJCQkJCQljZnFkLT5ycV9pbl9kcml2ZXIpOwogCiAJLyoKIAkgKiBJZiB0aGUgZGVwdGggaXMgbGFyZ2VyIDEsIGl0IHJlYWxseSBjb3VsZCBiZSBxdWV1ZWluZy4gQnV0IGxldHMKQEAgLTY1Nyw2ICs2NzIsOCBAQAogCiAJV0FSTl9PTighY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIAljZnFkLT5ycV9pbl9kcml2ZXItLTsKKwljZnFfbG9nX2NmcXEoY2ZxZCwgUlFfQ0ZRUShycSksICJkZWFjdGl2YXRlIHJxLCBkcnY9JWQiLAorCQkJCQkJY2ZxZC0+cnFfaW5fZHJpdmVyKTsKIH0KIAogc3RhdGljIHZvaWQgY2ZxX3JlbW92ZV9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0ICpycSkKQEAgLTc0Niw2ICs3NjMsNyBAQAogCQkJCSAgIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CiAJaWYgKGNmcXEpIHsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzZXRfYWN0aXZlIik7CiAJCWNmcXEtPnNsaWNlX2VuZCA9IDA7CiAJCWNmcV9jbGVhcl9jZnFxX211c3RfYWxsb2Nfc2xpY2UoY2ZxcSk7CiAJCWNmcV9jbGVhcl9jZnFxX2ZpZm9fZXhwaXJlKGNmcXEpOwpAQCAtNzYzLDYgKzc4MSw4IEBACiBfX2NmcV9zbGljZV9leHBpcmVkKHN0cnVjdCBjZnFfZGF0YSAqY2ZxZCwgc3RydWN0IGNmcV9xdWV1ZSAqY2ZxcSwKIAkJICAgIGludCB0aW1lZF9vdXQpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJzbGljZSBleHBpcmVkIHQ9JWQiLCB0aW1lZF9vdXQpOworCiAJaWYgKGNmcV9jZnFxX3dhaXRfcmVxdWVzdChjZnFxKSkKIAkJZGVsX3RpbWVyKCZjZnFkLT5pZGxlX3NsaWNlX3RpbWVyKTsKIApAQCAtNzcyLDggKzc5MiwxMCBAQAogCS8qCiAJICogc3RvcmUgd2hhdCB3YXMgbGVmdCBvZiB0aGlzIHNsaWNlLCBpZiB0aGUgcXVldWUgaWRsZWQvdGltZWQgb3V0CiAJICovCi0JaWYgKHRpbWVkX291dCAmJiAhY2ZxX2NmcXFfc2xpY2VfbmV3KGNmcXEpKQorCWlmICh0aW1lZF9vdXQgJiYgIWNmcV9jZnFxX3NsaWNlX25ldyhjZnFxKSkgewogCQljZnFxLT5zbGljZV9yZXNpZCA9IGNmcXEtPnNsaWNlX2VuZCAtIGppZmZpZXM7CisJCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAicmVzaWQ9JWxkIiwgY2ZxcS0+c2xpY2VfcmVzaWQpOworCX0KIAogCWNmcV9yZXNvcnRfcnJfbGlzdChjZnFkLCBjZnFxKTsKIApAQCAtODY2LDYgKzg4OCwxMiBAQAogCQlyZXR1cm47CiAKIAkvKgorCSAqIHN0aWxsIHJlcXVlc3RzIHdpdGggdGhlIGRyaXZlciwgZG9uJ3QgaWRsZQorCSAqLworCWlmIChjZnFkLT5ycV9pbl9kcml2ZXIpCisJCXJldHVybjsKKworCS8qCiAJICogdGFzayBoYXMgZXhpdGVkLCBkb24ndCB3YWl0CiAJICovCiAJY2ljID0gY2ZxZC0+YWN0aXZlX2NpYzsKQEAgLTg5Miw2ICs5MjAsNyBAQAogCQlzbCA9IG1pbihzbCwgbXNlY3NfdG9famlmZmllcyhDRlFfTUlOX1RUKSk7CiAKIAltb2RfdGltZXIoJmNmcWQtPmlkbGVfc2xpY2VfdGltZXIsIGppZmZpZXMgKyBzbCk7CisJY2ZxX2xvZyhjZnFkLCAiYXJtX2lkbGU6ICVsdSIsIHNsKTsKIH0KIAogLyoKQEAgLTkwMiw2ICs5MzEsOCBAQAogCXN0cnVjdCBjZnFfZGF0YSAqY2ZxZCA9IHEtPmVsZXZhdG9yLT5lbGV2YXRvcl9kYXRhOwogCXN0cnVjdCBjZnFfcXVldWUgKmNmcXEgPSBSUV9DRlFRKHJxKTsKIAorCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiZGlzcGF0Y2hfaW5zZXJ0Iik7CisKIAljZnFfcmVtb3ZlX3JlcXVlc3QocnEpOwogCWNmcXEtPmRpc3BhdGNoZWQrKzsKIAllbHZfZGlzcGF0Y2hfc29ydChxLCBycSk7CkBAIC05MzEsOCArOTYyLDkgQEAKIAlycSA9IHJxX2VudHJ5X2ZpZm8oY2ZxcS0+Zmlmby5uZXh0KTsKIAogCWlmICh0aW1lX2JlZm9yZShqaWZmaWVzLCBycS0+c3RhcnRfdGltZSArIGNmcWQtPmNmcV9maWZvX2V4cGlyZVtmaWZvXSkpCi0JCXJldHVybiBOVUxMOworCQlycSA9IE5VTEw7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImZpZm89JXAiLCBycSk7CiAJcmV0dXJuIHJxOwogfQogCkBAIC0xMDcyLDYgKzExMDQsNyBAQAogCiAJQlVHX09OKGNmcWQtPmJ1c3lfcXVldWVzKTsKIAorCWNmcV9sb2coY2ZxZCwgImZvcmNlZF9kaXNwYXRjaD0lZFxuIiwgZGlzcGF0Y2hlZCk7CiAJcmV0dXJuIGRpc3BhdGNoZWQ7CiB9CiAKQEAgLTExMTIsNiArMTE0NSw3IEBACiAJCWRpc3BhdGNoZWQgKz0gX19jZnFfZGlzcGF0Y2hfcmVxdWVzdHMoY2ZxZCwgY2ZxcSwgbWF4X2Rpc3BhdGNoKTsKIAl9CiAKKwljZnFfbG9nKGNmcWQsICJkaXNwYXRjaGVkPSVkIiwgZGlzcGF0Y2hlZCk7CiAJcmV0dXJuIGRpc3BhdGNoZWQ7CiB9CiAKQEAgLTExMzAsNiArMTE2NCw3IEBACiAJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjZnFxLT5yZWYpKQogCQlyZXR1cm47CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgInB1dF9xdWV1ZSIpOwogCUJVR19PTihyYl9maXJzdCgmY2ZxcS0+c29ydF9saXN0KSk7CiAJQlVHX09OKGNmcXEtPmFsbG9jYXRlZFtSRUFEXSArIGNmcXEtPmFsbG9jYXRlZFtXUklURV0pOwogCUJVR19PTihjZnFfY2ZxcV9vbl9ycihjZnFxKSk7CkBAIC0xMTc3LDggKzEyMTIsMTkgQEAKIAlrbWVtX2NhY2hlX2ZyZWUoY2ZxX2lvY19wb29sLCBjaWMpOwogCWVsdl9pb2NfY291bnRfZGVjKGlvY19jb3VudCk7CiAKLQlpZiAoaW9jX2dvbmUgJiYgIWVsdl9pb2NfY291bnRfcmVhZChpb2NfY291bnQpKQotCQljb21wbGV0ZShpb2NfZ29uZSk7CisJaWYgKGlvY19nb25lKSB7CisJCS8qCisJCSAqIENGUSBzY2hlZHVsZXIgaXMgZXhpdGluZywgZ3JhYiBleGl0IGxvY2sgYW5kIGNoZWNrCisJCSAqIHRoZSBwZW5kaW5nIGlvIGNvbnRleHQgY291bnQuIElmIGl0IGhpdHMgemVybywKKwkJICogY29tcGxldGUgaW9jX2dvbmUgYW5kIHNldCBpdCBiYWNrIHRvIE5VTEwKKwkJICovCisJCXNwaW5fbG9jaygmaW9jX2dvbmVfbG9jayk7CisJCWlmIChpb2NfZ29uZSAmJiAhZWx2X2lvY19jb3VudF9yZWFkKGlvY19jb3VudCkpIHsKKwkJCWNvbXBsZXRlKGlvY19nb25lKTsKKwkJCWlvY19nb25lID0gTlVMTDsKKwkJfQorCQlzcGluX3VubG9jaygmaW9jX2dvbmVfbG9jayk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBjZnFfY2ljX2ZyZWUoc3RydWN0IGNmcV9pb19jb250ZXh0ICpjaWMpCkBAIC0xNDI3LDYgKzE0NzMsOCBAQAogCQkJCWNmcV9tYXJrX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CiAJCQljZnFfbWFya19jZnFxX3N5bmMoY2ZxcSk7CiAJCX0KKwkJY2ZxcS0+cGlkID0gY3VycmVudC0+cGlkOworCQljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImFsbG9jZWQiKTsKIAl9CiAKIAlpZiAobmV3X2NmcXEpCkBAIC0xNjc1LDcgKzE3MjMsNyBAQAogY2ZxX3VwZGF0ZV9pZGxlX3dpbmRvdyhzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEsCiAJCSAgICAgICBzdHJ1Y3QgY2ZxX2lvX2NvbnRleHQgKmNpYykKIHsKLQlpbnQgZW5hYmxlX2lkbGU7CisJaW50IG9sZF9pZGxlLCBlbmFibGVfaWRsZTsKIAogCS8qCiAJICogRG9uJ3QgaWRsZSBmb3IgYXN5bmMgb3IgaWRsZSBpbyBwcmlvIGNsYXNzCkBAIC0xNjgzLDcgKzE3MzEsNyBAQAogCWlmICghY2ZxX2NmcXFfc3luYyhjZnFxKSB8fCBjZnFfY2xhc3NfaWRsZShjZnFxKSkKIAkJcmV0dXJuOwogCi0JZW5hYmxlX2lkbGUgPSBjZnFfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwllbmFibGVfaWRsZSA9IG9sZF9pZGxlID0gY2ZxX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7CiAKIAlpZiAoIWF0b21pY19yZWFkKCZjaWMtPmlvYy0+bnJfdGFza3MpIHx8ICFjZnFkLT5jZnFfc2xpY2VfaWRsZSB8fAogCSAgICAoY2ZxZC0+aHdfdGFnICYmIENJQ19TRUVLWShjaWMpKSkKQEAgLTE2OTUsMTAgKzE3NDMsMTMgQEAKIAkJCWVuYWJsZV9pZGxlID0gMTsKIAl9CiAKLQlpZiAoZW5hYmxlX2lkbGUpCi0JCWNmcV9tYXJrX2NmcXFfaWRsZV93aW5kb3coY2ZxcSk7Ci0JZWxzZQotCQljZnFfY2xlYXJfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwlpZiAob2xkX2lkbGUgIT0gZW5hYmxlX2lkbGUpIHsKKwkJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJpZGxlPSVkIiwgZW5hYmxlX2lkbGUpOworCQlpZiAoZW5hYmxlX2lkbGUpCisJCQljZnFfbWFya19jZnFxX2lkbGVfd2luZG93KGNmcXEpOworCQllbHNlCisJCQljZnFfY2xlYXJfY2ZxcV9pZGxlX3dpbmRvdyhjZnFxKTsKKwl9CiB9CiAKIC8qCkBAIC0xNzU3LDYgKzE4MDgsNyBAQAogICovCiBzdGF0aWMgdm9pZCBjZnFfcHJlZW1wdF9xdWV1ZShzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQsIHN0cnVjdCBjZnFfcXVldWUgKmNmcXEpCiB7CisJY2ZxX2xvZ19jZnFxKGNmcWQsIGNmcXEsICJwcmVlbXB0Iik7CiAJY2ZxX3NsaWNlX2V4cGlyZWQoY2ZxZCwgMSk7CiAKIAkvKgpAQCAtMTgxOCw2ICsxODcwLDcgQEAKIAlzdHJ1Y3QgY2ZxX2RhdGEgKmNmcWQgPSBxLT5lbGV2YXRvci0+ZWxldmF0b3JfZGF0YTsKIAlzdHJ1Y3QgY2ZxX3F1ZXVlICpjZnFxID0gUlFfQ0ZRUShycSk7CiAKKwljZnFfbG9nX2NmcXEoY2ZxZCwgY2ZxcSwgImluc2VydF9yZXF1ZXN0Iik7CiAJY2ZxX2luaXRfcHJpb19kYXRhKGNmcXEsIFJRX0NJQyhycSktPmlvYyk7CiAKIAljZnFfYWRkX3JxX3JiKHJxKTsKQEAgLTE4MzUsNiArMTg4OCw3IEBACiAJdW5zaWduZWQgbG9uZyBub3c7CiAKIAlub3cgPSBqaWZmaWVzOworCWNmcV9sb2dfY2ZxcShjZnFkLCBjZnFxLCAiY29tcGxldGUiKTsKIAogCVdBUk5fT04oIWNmcWQtPnJxX2luX2RyaXZlcik7CiAJV0FSTl9PTighY2ZxcS0+ZGlzcGF0Y2hlZCk7CkBAIC0yMDA0LDYgKzIwNTgsNyBAQAogCiAJY2ZxX3NjaGVkdWxlX2Rpc3BhdGNoKGNmcWQpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUocS0+cXVldWVfbG9jaywgZmxhZ3MpOworCWNmcV9sb2coY2ZxZCwgInNldF9yZXF1ZXN0IGZhaWwiKTsKIAlyZXR1cm4gMTsKIH0KIApAQCAtMjAyOSw2ICsyMDg0LDggQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCB0aW1lZF9vdXQgPSAxOwogCisJY2ZxX2xvZyhjZnFkLCAiaWRsZSB0aW1lciBmaXJlZCIpOworCiAJc3Bpbl9sb2NrX2lycXNhdmUoY2ZxZC0+cXVldWUtPnF1ZXVlX2xvY2ssIGZsYWdzKTsKIAogCWNmcXEgPSBjZnFkLT5hY3RpdmVfcXVldWU7CkBAIC0yMzE3LDcgKzIzNzQsNyBAQAogCSAqIHBlbmRpbmcgUkNVIGNhbGxiYWNrcwogCSAqLwogCWlmIChlbHZfaW9jX2NvdW50X3JlYWQoaW9jX2NvdW50KSkKLQkJd2FpdF9mb3JfY29tcGxldGlvbihpb2NfZ29uZSk7CisJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmFsbF9nb25lKTsKIAljZnFfc2xhYl9raWxsKCk7CiB9CiAKZGlmZiAtLWdpdCBhL2Jsb2NrL2NtZC1maWx0ZXIuYyBiL2Jsb2NrL2NtZC1maWx0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWM0NDA0Ci0tLSAvZGV2L251bGwKKysrIGIvYmxvY2svY21kLWZpbHRlci5jCkBAIC0wLDAgKzEsMzM0IEBACisvKgorICogQ29weXJpZ2h0IDIwMDQgUGV0ZXIgTS4gSm9uZXMgPHBqb25lc0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICoKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VucworICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9nZW5oZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvcGFyc2VyLmg+CisjaW5jbHVkZSA8bGludXgvY2FwYWJpbGl0eS5oPgorI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgorCisjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CisjaW5jbHVkZSA8bGludXgvY2Ryb20uaD4KKworaW50IGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIsCisJCQkJICB1bnNpZ25lZCBjaGFyICpjbWQsIG1vZGVfdCAqZl9tb2RlKQoreworCS8qIHJvb3QgY2FuIGRvIGFueSBjb21tYW5kLiAqLworCWlmIChjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQorCQlyZXR1cm4gMDsKKworCS8qIGlmIHRoZXJlJ3Mgbm8gZmlsdGVyIHNldCwgYXNzdW1lIHdlJ3JlIGZpbHRlcmluZyBldmVyeXRoaW5nIG91dCAqLworCWlmICghZmlsdGVyKQorCQlyZXR1cm4gLUVQRVJNOworCisJLyogQW55Ym9keSB3aG8gY2FuIG9wZW4gdGhlIGRldmljZSBjYW4gZG8gYSByZWFkLXNhZmUgY29tbWFuZCAqLworCWlmICh0ZXN0X2JpdChjbWRbMF0sIGZpbHRlci0+cmVhZF9vaykpCisJCXJldHVybiAwOworCisJLyogV3JpdGUtc2FmZSBjb21tYW5kcyByZXF1aXJlIGEgd3JpdGFibGUgb3BlbiAqLworCWlmICh0ZXN0X2JpdChjbWRbMF0sIGZpbHRlci0+d3JpdGVfb2spICYmICgqZl9tb2RlICYgRk1PREVfV1JJVEUpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtRVBFUk07Cit9CitFWFBPUlRfU1lNQk9MKGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKTsKKworaW50IGJsa192ZXJpZnlfY29tbWFuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgY2hhciAqY21kKQoreworCXN0cnVjdCBnZW5kaXNrICpkaXNrOworCXN0cnVjdCBpbm9kZSAqaW5vZGU7CisKKwlpZiAoIWZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsKKwlpZiAoIWlub2RlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRpc2sgPSBpbm9kZS0+aV9iZGV2LT5iZF9kaXNrOworCisJcmV0dXJuIGJsa19jbWRfZmlsdGVyX3ZlcmlmeV9jb21tYW5kKCZkaXNrLT5jbWRfZmlsdGVyLAorCQkJCQkJIGNtZCwgJmZpbGUtPmZfbW9kZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJsa192ZXJpZnlfY29tbWFuZCk7CisKKy8qIGFuZCBub3csIHRoZSBzeXNmcyBzdHVmZiAqLworc3RhdGljIHNzaXplX3QgcmNmX2NtZHNfc2hvdyhzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLCBjaGFyICpwYWdlLAorCQkJICAgICBpbnQgcncpCit7CisJY2hhciAqbnBhZ2UgPSBwYWdlOworCXVuc2lnbmVkIGxvbmcgKm9rYml0czsKKwlpbnQgaTsKKworCWlmIChydyA9PSBSRUFEKQorCQlva2JpdHMgPSBmaWx0ZXItPnJlYWRfb2s7CisJZWxzZQorCQlva2JpdHMgPSBmaWx0ZXItPndyaXRlX29rOworCisJZm9yIChpID0gMDsgaSA8IEJMS19TQ1NJX01BWF9DTURTOyBpKyspIHsKKwkJaWYgKHRlc3RfYml0KGksIG9rYml0cykpIHsKKwkJCXNwcmludGYobnBhZ2UsICIlMDJ4IiwgaSk7CisJCQlucGFnZSArPSAyOworCQkJaWYgKGkgPCBCTEtfU0NTSV9NQVhfQ01EUyAtIDEpCisJCQkJc3ByaW50ZihucGFnZSsrLCAiICIpOworCQl9CisJfQorCisJaWYgKG5wYWdlICE9IHBhZ2UpCisJCW5wYWdlICs9IHNwcmludGYobnBhZ2UsICJcbiIpOworCisJcmV0dXJuIG5wYWdlIC0gcGFnZTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3JlYWRjbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc2hvdyhmaWx0ZXIsIHBhZ2UsIFJFQUQpOworfQorCitzdGF0aWMgc3NpemVfdCByY2Zfd3JpdGVjbWRzX3Nob3coc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCQkgY2hhciAqcGFnZSkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc2hvdyhmaWx0ZXIsIHBhZ2UsIFdSSVRFKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX2NtZHNfc3RvcmUoc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlciwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCwgaW50IHJ3KQoreworCXNzaXplX3QgcmV0ID0gMDsKKwl1bnNpZ25lZCBsb25nIG9rYml0c1tCTEtfU0NTSV9DTURfUEVSX0xPTkddLCAqdGFyZ2V0X29rYml0czsKKwlpbnQgY21kLCBzdGF0dXMsIGxlbjsKKwlzdWJzdHJpbmdfdCBzczsKKworCW1lbXNldCgmb2tiaXRzLCAwLCBzaXplb2Yob2tiaXRzKSk7CisKKwlmb3IgKGxlbiA9IHN0cmxlbihwYWdlKTsgbGVuID4gMDsgbGVuIC09IDMpIHsKKwkJaWYgKGxlbiA8IDIpCisJCQlicmVhazsKKwkJc3MuZnJvbSA9IChjaGFyICopIHBhZ2UgKyByZXQ7CisJCXNzLnRvID0gKGNoYXIgKikgcGFnZSArIHJldCArIDI7CisJCXJldCArPSAzOworCQlzdGF0dXMgPSBtYXRjaF9oZXgoJnNzLCAmY21kKTsKKwkJLyogZWl0aGVyIG9mIHRoZXNlIGNhc2VzIG1lYW5zIGludmFsaWQgaW5wdXQsIHNvIGRvIG5vdGhpbmcuICovCisJCWlmIChzdGF0dXMgfHwgY21kID49IEJMS19TQ1NJX01BWF9DTURTKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJX19zZXRfYml0KGNtZCwgb2tiaXRzKTsKKwl9CisKKwlpZiAocncgPT0gUkVBRCkKKwkJdGFyZ2V0X29rYml0cyA9IGZpbHRlci0+cmVhZF9vazsKKwllbHNlCisJCXRhcmdldF9va2JpdHMgPSBmaWx0ZXItPndyaXRlX29rOworCisJbWVtbW92ZSh0YXJnZXRfb2tiaXRzLCBva2JpdHMsIHNpemVvZihva2JpdHMpKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJjZl9yZWFkY21kc19zdG9yZShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgY29uc3QgY2hhciAqcGFnZSwgc2l6ZV90IGNvdW50KQoreworCXJldHVybiByY2ZfY21kc19zdG9yZShmaWx0ZXIsIHBhZ2UsIGNvdW50LCBSRUFEKTsKK30KKworc3RhdGljIHNzaXplX3QgcmNmX3dyaXRlY21kc19zdG9yZShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCSAgIGNvbnN0IGNoYXIgKnBhZ2UsIHNpemVfdCBjb3VudCkKK3sKKwlyZXR1cm4gcmNmX2NtZHNfc3RvcmUoZmlsdGVyLCBwYWdlLCBjb3VudCwgV1JJVEUpOworfQorCitzdHJ1Y3QgcmNmX3N5c2ZzX2VudHJ5IHsKKwlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CisJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICosIGNoYXIgKik7CisJc3NpemVfdCAoKnN0b3JlKShzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqLCBjb25zdCBjaGFyICosIHNpemVfdCk7Cit9OworCitzdGF0aWMgc3RydWN0IHJjZl9zeXNmc19lbnRyeSByY2ZfcmVhZGNtZHNfZW50cnkgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gInJlYWRfdGFibGUiLCAubW9kZSA9IFNfSVJVR08gfCBTX0lXVVNSIH0sCisJLnNob3cgPSByY2ZfcmVhZGNtZHNfc2hvdywKKwkuc3RvcmUgPSByY2ZfcmVhZGNtZHNfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IHJjZl9zeXNmc19lbnRyeSByY2Zfd3JpdGVjbWRzX2VudHJ5ID0geworCS5hdHRyID0gey5uYW1lID0gIndyaXRlX3RhYmxlIiwgLm1vZGUgPSBTX0lSVUdPIHwgU19JV1VTUiB9LAorCS5zaG93ID0gcmNmX3dyaXRlY21kc19zaG93LAorCS5zdG9yZSA9IHJjZl93cml0ZWNtZHNfc3RvcmUsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZGVmYXVsdF9hdHRyc1tdID0geworCSZyY2ZfcmVhZGNtZHNfZW50cnkuYXR0ciwKKwkmcmNmX3dyaXRlY21kc19lbnRyeS5hdHRyLAorCU5VTEwsCit9OworCisjZGVmaW5lIHRvX3JjZihhdHIpIGNvbnRhaW5lcl9vZigoYXRyKSwgc3RydWN0IHJjZl9zeXNmc19lbnRyeSwgYXR0cikKKworc3RhdGljIHNzaXplX3QKK3JjZl9hdHRyX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCit7CisJc3RydWN0IHJjZl9zeXNmc19lbnRyeSAqZW50cnkgPSB0b19yY2YoYXR0cik7CisJc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIgKmZpbHRlcjsKKworCWZpbHRlciA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciwga29iaik7CisJaWYgKGVudHJ5LT5zaG93KQorCQlyZXR1cm4gZW50cnktPnNob3coZmlsdGVyLCBwYWdlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdAorcmNmX2F0dHJfc3RvcmUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCisJCQljb25zdCBjaGFyICpwYWdlLCBzaXplX3QgbGVuZ3RoKQoreworCXN0cnVjdCByY2Zfc3lzZnNfZW50cnkgKmVudHJ5ID0gdG9fcmNmKGF0dHIpOworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXI7CisKKwlpZiAoIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCisJCXJldHVybiAtRVBFUk07CisKKwlpZiAoIWVudHJ5LT5zdG9yZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmaWx0ZXIgPSBjb250YWluZXJfb2Yoa29iaiwgc3RydWN0IGJsa19zY3NpX2NtZF9maWx0ZXIsIGtvYmopOworCXJldHVybiBlbnRyeS0+c3RvcmUoZmlsdGVyLCBwYWdlLCBsZW5ndGgpOworfQorCitzdGF0aWMgc3RydWN0IHN5c2ZzX29wcyByY2Zfc3lzZnNfb3BzID0geworCS5zaG93ID0gcmNmX2F0dHJfc2hvdywKKwkuc3RvcmUgPSByY2ZfYXR0cl9zdG9yZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qga29ial90eXBlIHJjZl9rdHlwZSA9IHsKKwkuc3lzZnNfb3BzID0gJnJjZl9zeXNmc19vcHMsCisJLmRlZmF1bHRfYXR0cnMgPSBkZWZhdWx0X2F0dHJzLAorfTsKKworI2lmbmRlZiBNQUlOVEVOQU5DRV9JTl9DTUQKKyNkZWZpbmUgTUFJTlRFTkFOQ0VfSU5fQ01EIDB4YTMKKyNlbmRpZgorCitzdGF0aWMgdm9pZCByY2Zfc2V0X2RlZmF1bHRzKHN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIpCit7CisJLyogQmFzaWMgcmVhZC1vbmx5IGNvbW1hbmRzICovCisJX19zZXRfYml0KFRFU1RfVU5JVF9SRUFEWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVRVUVTVF9TRU5TRSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF82LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzEyLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEXzE2LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRUFEX0JVRkZFUiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9ERUZFQ1RfREFUQSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoUkVBRF9MT05HLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChJTlFVSVJZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChNT0RFX1NFTlNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChNT0RFX1NFTlNFXzEwLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChMT0dfU0VOU0UsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFNUQVJUX1NUT1AsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1ZFUklGWV8xMCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoVkVSSUZZXzE2LCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChSRVBPUlRfTFVOUywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoU0VSVklDRV9BQ1RJT05fSU4sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KFJFQ0VJVkVfRElBR05PU1RJQywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoTUFJTlRFTkFOQ0VfSU5fQ01ELCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0JVRkZFUl9DQVBBQ0lUWSwgZmlsdGVyLT5yZWFkX29rKTsKKworCS8qIEF1ZGlvIENEIGNvbW1hbmRzICovCisJX19zZXRfYml0KEdQQ01EX1BMQVlfQ0QsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1BMQVlfQVVESU9fMTAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1BMQVlfQVVESU9fTVNGLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QTEFZX0FVRElPX1RJLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9QQVVTRV9SRVNVTUUsIGZpbHRlci0+cmVhZF9vayk7CisKKwkvKiBDRC9EVkQgZGF0YSByZWFkaW5nICovCisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0QsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfQ0RfTVNGLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0RJU0NfSU5GTywgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9DRFZEX0NBUEFDSVRZLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkUsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfSEVBREVSLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX1RSQUNLX1JaT05FX0lORk8sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFQURfU1VCQ0hBTk5FTCwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfUkVBRF9UT0NfUE1BX0FUSVAsIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1JFUE9SVF9LRVksIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX1NDQU4sIGZpbHRlci0+cmVhZF9vayk7CisJX19zZXRfYml0KEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9SRUFEX0ZPUk1BVF9DQVBBQ0lUSUVTLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9HRVRfRVZFTlRfU1RBVFVTX05PVElGSUNBVElPTiwgZmlsdGVyLT5yZWFkX29rKTsKKwlfX3NldF9iaXQoR1BDTURfR0VUX1BFUkZPUk1BTkNFLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TRUVLLCBmaWx0ZXItPnJlYWRfb2spOworCV9fc2V0X2JpdChHUENNRF9TVE9QX1BMQVlfU0NBTiwgZmlsdGVyLT5yZWFkX29rKTsKKworCS8qIEJhc2ljIHdyaXRpbmcgY29tbWFuZHMgKi8KKwlfX3NldF9iaXQoV1JJVEVfNiwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFXzEwLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfVkVSSUZZLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoV1JJVEVfMTIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9WRVJJRllfMTIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV8xNiwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KFdSSVRFX0xPTkcsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChXUklURV9MT05HXzIsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChFUkFTRSwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX01PREVfU0VMRUNUXzEwLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoTU9ERV9TRUxFQ1QsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChMT0dfU0VMRUNULCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfQkxBTkssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9DTE9TRV9UUkFDSywgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX0ZMVVNIX0NBQ0hFLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfRk9STUFUX1VOSVQsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0ssIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9SRVNFUlZFX1JaT05FX1RSQUNLLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9EVkRfU1RSVUNUVVJFLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9FVkVOVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFTkRfS0VZLCBmaWx0ZXItPndyaXRlX29rKTsKKwlfX3NldF9iaXQoR1BDTURfU0VORF9PUEMsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9TRU5EX0NVRV9TSEVFVCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFVF9TUEVFRCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUwsIGZpbHRlci0+d3JpdGVfb2spOworCV9fc2V0X2JpdChHUENNRF9MT0FEX1VOTE9BRCwgZmlsdGVyLT53cml0ZV9vayk7CisJX19zZXRfYml0KEdQQ01EX1NFVF9TVFJFQU1JTkcsIGZpbHRlci0+d3JpdGVfb2spOworfQorCitpbnQgYmxrX3JlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKK3sKKwlpbnQgcmV0OworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyICpmaWx0ZXIgPSAmZGlzay0+Y21kX2ZpbHRlcjsKKwlzdHJ1Y3Qga29iamVjdCAqcGFyZW50ID0ga29iamVjdF9nZXQoZGlzay0+aG9sZGVyX2Rpci0+cGFyZW50KTsKKworCWlmICghcGFyZW50KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXJldCA9IGtvYmplY3RfaW5pdF9hbmRfYWRkKCZmaWx0ZXItPmtvYmosICZyY2Zfa3R5cGUsIHBhcmVudCwKKwkJCQkgIiVzIiwgImNtZF9maWx0ZXIiKTsKKworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmNmX3NldF9kZWZhdWx0cyhmaWx0ZXIpOworCXJldHVybiAwOworfQorCit2b2lkIGJsa191bnJlZ2lzdGVyX2ZpbHRlcihzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKK3sKKwlzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyID0gJmRpc2stPmNtZF9maWx0ZXI7CisKKwlrb2JqZWN0X3B1dCgmZmlsdGVyLT5rb2JqKTsKKwlrb2JqZWN0X3B1dChkaXNrLT5ob2xkZXJfZGlyLT5wYXJlbnQpOworfQorCmRpZmYgLS1naXQgYS9ibG9jay9lbGV2YXRvci5jIGIvYmxvY2svZWxldmF0b3IuYwppbmRleCA5MDJkZDEzLi5lZDZmOGYzIDEwMDY0NAotLS0gYS9ibG9jay9lbGV2YXRvci5jCisrKyBiL2Jsb2NrL2VsZXZhdG9yLmMKQEAgLTg2LDYgKzg2LDEyIEBACiAJaWYgKHJxLT5ycV9kaXNrICE9IGJpby0+YmlfYmRldi0+YmRfZGlzayB8fCBycS0+c3BlY2lhbCkKIAkJcmV0dXJuIDA7CiAKKwkvKgorCSAqIG9ubHkgbWVyZ2UgaW50ZWdyaXR5IHByb3RlY3RlZCBiaW8gaW50byBkaXR0byBycQorCSAqLworCWlmIChiaW9faW50ZWdyaXR5KGJpbykgIT0gYmxrX2ludGVncml0eV9ycShycSkpCisJCXJldHVybiAwOworCiAJaWYgKCFlbHZfaW9zY2hlZF9hbGxvd19tZXJnZShycSwgYmlvKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTE0NCw3ICsxNTAsNyBAQAogCQllbHNlCiAJCQlzcHJpbnRmKGVsdiwgIiVzLWlvc2NoZWQiLCBuYW1lKTsKIAotCQlyZXF1ZXN0X21vZHVsZShlbHYpOworCQlyZXF1ZXN0X21vZHVsZSgiJXMiLCBlbHYpOwogCQlzcGluX2xvY2soJmVsdl9saXN0X2xvY2spOwogCQllID0gZWxldmF0b3JfZmluZChuYW1lKTsKIAl9CmRpZmYgLS1naXQgYS9ibG9jay9nZW5oZC5jIGIvYmxvY2svZ2VuaGQuYwppbmRleCBiOTIyZDQ4Li45MDc0ZjM4IDEwMDY0NAotLS0gYS9ibG9jay9nZW5oZC5jCisrKyBiL2Jsb2NrL2dlbmhkLmMKQEAgLTE4OSw2ICsxODksNyBAQAogCQkJICAgIGRpc2stPm1pbm9ycywgTlVMTCwgZXhhY3RfbWF0Y2gsIGV4YWN0X2xvY2ssIGRpc2spOwogCXJlZ2lzdGVyX2Rpc2soZGlzayk7CiAJYmxrX3JlZ2lzdGVyX3F1ZXVlKGRpc2spOworCWJsa19yZWdpc3Rlcl9maWx0ZXIoZGlzayk7CiAKIAliZGkgPSAmZGlzay0+cXVldWUtPmJhY2tpbmdfZGV2X2luZm87CiAJYmRpX3JlZ2lzdGVyX2RldihiZGksIE1LREVWKGRpc2stPm1ham9yLCBkaXNrLT5maXJzdF9taW5vcikpOwpAQCAtMjAwLDYgKzIwMSw3IEBACiAKIHZvaWQgdW5saW5rX2dlbmRpc2soc3RydWN0IGdlbmRpc2sgKmRpc2spCiB7CisJYmxrX3VucmVnaXN0ZXJfZmlsdGVyKGRpc2spOwogCXN5c2ZzX3JlbW92ZV9saW5rKCZkaXNrLT5kZXYua29iaiwgImJkaSIpOwogCWJkaV91bnJlZ2lzdGVyKCZkaXNrLT5xdWV1ZS0+YmFja2luZ19kZXZfaW5mbyk7CiAJYmxrX3VucmVnaXN0ZXJfcXVldWUoZGlzayk7CkBAIC00MDAsNiArNDAyLDE0IEBACiAJCSAgICAgICAoZGlzay0+ZmxhZ3MgJiBHRU5IRF9GTF9SRU1PVkFCTEUgPyAxIDogMCkpOwogfQogCitzdGF0aWMgc3NpemVfdCBkaXNrX3JvX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGdlbmRpc2sgKmRpc2sgPSBkZXZfdG9fZGlzayhkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGRpc2stPnBvbGljeSA/IDEgOiAwKTsKK30KKwogc3RhdGljIHNzaXplX3QgZGlza19zaXplX3Nob3coc3RydWN0IGRldmljZSAqZGV2LAogCQkJICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHsKQEAgLTQ3Miw2ICs0ODIsNyBAQAogCiBzdGF0aWMgREVWSUNFX0FUVFIocmFuZ2UsIFNfSVJVR08sIGRpc2tfcmFuZ2Vfc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIocmVtb3ZhYmxlLCBTX0lSVUdPLCBkaXNrX3JlbW92YWJsZV9zaG93LCBOVUxMKTsKK3N0YXRpYyBERVZJQ0VfQVRUUihybywgU19JUlVHTywgZGlza19yb19zaG93LCBOVUxMKTsKIHN0YXRpYyBERVZJQ0VfQVRUUihzaXplLCBTX0lSVUdPLCBkaXNrX3NpemVfc2hvdywgTlVMTCk7CiBzdGF0aWMgREVWSUNFX0FUVFIoY2FwYWJpbGl0eSwgU19JUlVHTywgZGlza19jYXBhYmlsaXR5X3Nob3csIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKHN0YXQsIFNfSVJVR08sIGRpc2tfc3RhdF9zaG93LCBOVUxMKTsKQEAgLTQ4Myw2ICs0OTQsNyBAQAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRpc2tfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJfcmFuZ2UuYXR0ciwKIAkmZGV2X2F0dHJfcmVtb3ZhYmxlLmF0dHIsCisJJmRldl9hdHRyX3JvLmF0dHIsCiAJJmRldl9hdHRyX3NpemUuYXR0ciwKIAkmZGV2X2F0dHJfY2FwYWJpbGl0eS5hdHRyLAogCSZkZXZfYXR0cl9zdGF0LmF0dHIsCmRpZmYgLS1naXQgYS9ibG9jay9zY3NpX2lvY3RsLmMgYi9ibG9jay9zY3NpX2lvY3RsLmMKaW5kZXggNzgxOTljMC4uYzViOWJjZiAxMDA2NDQKLS0tIGEvYmxvY2svc2NzaV9pb2N0bC5jCisrKyBiL2Jsb2NrL3Njc2lfaW9jdGwuYwpAQCAtMTA1LDEyMCArMTA1LDEyIEBACiAJcmV0dXJuIHB1dF91c2VyKDEsIHApOwogfQogCi0jZGVmaW5lIENNRF9SRUFEX1NBRkUJMHgwMQotI2RlZmluZSBDTURfV1JJVEVfU0FGRQkweDAyCi0jZGVmaW5lIENNRF9XQVJORUQJMHgwNAotI2RlZmluZSBzYWZlX2Zvcl9yZWFkKGNtZCkJW2NtZF0gPSBDTURfUkVBRF9TQUZFCi0jZGVmaW5lIHNhZmVfZm9yX3dyaXRlKGNtZCkJW2NtZF0gPSBDTURfV1JJVEVfU0FGRQotCi1pbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHVuc2lnbmVkIGNoYXIgKmNtZCwgaW50IGhhc193cml0ZV9wZXJtKQotewotCXN0YXRpYyB1bnNpZ25lZCBjaGFyIGNtZF90eXBlWzI1Nl0gPSB7Ci0KLQkJLyogQmFzaWMgcmVhZC1vbmx5IGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3JlYWQoVEVTVF9VTklUX1JFQURZKSwKLQkJc2FmZV9mb3JfcmVhZChSRVFVRVNUX1NFTlNFKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEXzYpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTApLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTIpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfMTYpLAotCQlzYWZlX2Zvcl9yZWFkKFJFQURfQlVGRkVSKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0RFRkVDVF9EQVRBKSwKLQkJc2FmZV9mb3JfcmVhZChSRUFEX0xPTkcpLAotCQlzYWZlX2Zvcl9yZWFkKElOUVVJUlkpLAotCQlzYWZlX2Zvcl9yZWFkKE1PREVfU0VOU0UpLAotCQlzYWZlX2Zvcl9yZWFkKE1PREVfU0VOU0VfMTApLAotCQlzYWZlX2Zvcl9yZWFkKExPR19TRU5TRSksCi0JCXNhZmVfZm9yX3JlYWQoU1RBUlRfU1RPUCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfVkVSSUZZXzEwKSwKLQkJc2FmZV9mb3JfcmVhZChWRVJJRllfMTYpLAotCi0JCS8qIEF1ZGlvIENEIGNvbW1hbmRzICovCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9DRCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9BVURJT18xMCksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUExBWV9BVURJT19NU0YpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BMQVlfQVVESU9fVEkpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1BBVVNFX1JFU1VNRSksCi0KLQkJLyogQ0QvRFZEIGRhdGEgcmVhZGluZyAqLwotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfQlVGRkVSX0NBUEFDSVRZKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0NEX01TRiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9ESVNDX0lORk8pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX0hFQURFUiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9UUkFDS19SWk9ORV9JTkZPKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRUFEX1NVQkNIQU5ORUwpLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX1JFQURfVE9DX1BNQV9BVElQKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9SRVBPUlRfS0VZKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9TQ0FOKSwKLQkJc2FmZV9mb3JfcmVhZChHUENNRF9HRVRfQ09ORklHVVJBVElPTiksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfUkVBRF9GT1JNQVRfQ0FQQUNJVElFUyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfR0VUX0VWRU5UX1NUQVRVU19OT1RJRklDQVRJT04pLAotCQlzYWZlX2Zvcl9yZWFkKEdQQ01EX0dFVF9QRVJGT1JNQU5DRSksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU0VFSyksCi0JCXNhZmVfZm9yX3JlYWQoR1BDTURfU1RPUF9QTEFZX1NDQU4pLAotCi0JCS8qIEJhc2ljIHdyaXRpbmcgY29tbWFuZHMgKi8KLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfNiksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFXzEwKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfVkVSSUZZKSwKLQkJc2FmZV9mb3Jfd3JpdGUoV1JJVEVfMTIpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9WRVJJRllfMTIpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV8xNiksCi0JCXNhZmVfZm9yX3dyaXRlKFdSSVRFX0xPTkcpLAotCQlzYWZlX2Zvcl93cml0ZShXUklURV9MT05HXzIpLAotCQlzYWZlX2Zvcl93cml0ZShFUkFTRSksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX01PREVfU0VMRUNUXzEwKSwKLQkJc2FmZV9mb3Jfd3JpdGUoTU9ERV9TRUxFQ1QpLAotCQlzYWZlX2Zvcl93cml0ZShMT0dfU0VMRUNUKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfQkxBTkspLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9DTE9TRV9UUkFDSyksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX0ZMVVNIX0NBQ0hFKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfRk9STUFUX1VOSVQpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9SRVBBSVJfUlpPTkVfVFJBQ0spLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9SRVNFUlZFX1JaT05FX1RSQUNLKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9EVkRfU1RSVUNUVVJFKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9FVkVOVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFTkRfS0VZKSwKLQkJc2FmZV9mb3Jfd3JpdGUoR1BDTURfU0VORF9PUEMpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9TRU5EX0NVRV9TSEVFVCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFVF9TUEVFRCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUwpLAotCQlzYWZlX2Zvcl93cml0ZShHUENNRF9MT0FEX1VOTE9BRCksCi0JCXNhZmVfZm9yX3dyaXRlKEdQQ01EX1NFVF9TVFJFQU1JTkcpLAotCX07Ci0JdW5zaWduZWQgY2hhciB0eXBlID0gY21kX3R5cGVbY21kWzBdXTsKLQotCS8qIEFueWJvZHkgd2hvIGNhbiBvcGVuIHRoZSBkZXZpY2UgY2FuIGRvIGEgcmVhZC1zYWZlIGNvbW1hbmQgKi8KLQlpZiAodHlwZSAmIENNRF9SRUFEX1NBRkUpCi0JCXJldHVybiAwOwotCi0JLyogV3JpdGUtc2FmZSBjb21tYW5kcyBqdXN0IHJlcXVpcmUgYSB3cml0YWJsZSBvcGVuLi4gKi8KLQlpZiAoKHR5cGUgJiBDTURfV1JJVEVfU0FGRSkgJiYgaGFzX3dyaXRlX3Blcm0pCi0JCXJldHVybiAwOwotCi0JLyogQW5kIHJvb3QgY2FuIGRvIGFueSBjb21tYW5kLi4gKi8KLQlpZiAoY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIXR5cGUpIHsKLQkJY21kX3R5cGVbY21kWzBdXSA9IENNRF9XQVJORUQ7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgInNjc2k6IHVua25vd24gb3Bjb2RlIDB4JTAyeFxuIiwgY21kWzBdKTsKLQl9Ci0KLQkvKiBPdGhlcndpc2UgZmFpbCBpdCB3aXRoIGFuICJPcGVyYXRpb24gbm90IHBlcm1pdHRlZCIgKi8KLQlyZXR1cm4gLUVQRVJNOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoYmxrX3ZlcmlmeV9jb21tYW5kKTsKLQogc3RhdGljIGludCBibGtfZmlsbF9zZ2hkcl9ycShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxLAotCQkJICAgICBzdHJ1Y3Qgc2dfaW9faGRyICpoZHIsIGludCBoYXNfd3JpdGVfcGVybSkKKwkJCSAgICAgc3RydWN0IHNnX2lvX2hkciAqaGRyLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlpZiAoY29weV9mcm9tX3VzZXIocnEtPmNtZCwgaGRyLT5jbWRwLCBoZHItPmNtZF9sZW4pKQogCQlyZXR1cm4gLUVGQVVMVDsKLQlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKHJxLT5jbWQsIGhhc193cml0ZV9wZXJtKSkKKwlpZiAoYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIHJxLT5jbWQpKQogCQlyZXR1cm4gLUVQRVJNOwogCiAJLyoKQEAgLTI4Nyw3ICsxNzksNyBAQAogCQlzdHJ1Y3QgZ2VuZGlzayAqYmRfZGlzaywgc3RydWN0IHNnX2lvX2hkciAqaGRyKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnRfdGltZTsKLQlpbnQgd3JpdGluZyA9IDAsIHJldCA9IDAsIGhhc193cml0ZV9wZXJtID0gMDsKKwlpbnQgd3JpdGluZyA9IDAsIHJldCA9IDA7CiAJc3RydWN0IHJlcXVlc3QgKnJxOwogCWNoYXIgc2Vuc2VbU0NTSV9TRU5TRV9CVUZGRVJTSVpFXTsKIAlzdHJ1Y3QgYmlvICpiaW87CkBAIC0zMTYsMTAgKzIwOCw3IEBACiAJaWYgKCFycSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlpZiAoZmlsZSkKLQkJaGFzX3dyaXRlX3Blcm0gPSBmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURTsKLQotCWlmIChibGtfZmlsbF9zZ2hkcl9ycShxLCBycSwgaGRyLCBoYXNfd3JpdGVfcGVybSkpIHsKKwlpZiAoYmxrX2ZpbGxfc2doZHJfcnEocSwgcnEsIGhkciwgZmlsZSkpIHsKIAkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpAQCAtNDUxLDcgKzM0MCw3IEBACiAJaWYgKGluX2xlbiAmJiBjb3B5X2Zyb21fdXNlcihidWZmZXIsIHNpYy0+ZGF0YSArIGNtZGxlbiwgaW5fbGVuKSkKIAkJZ290byBlcnJvcjsKIAotCWVyciA9IGJsa192ZXJpZnlfY29tbWFuZChycS0+Y21kLCBmaWxlLT5mX21vZGUgJiBGTU9ERV9XUklURSk7CisJZXJyID0gYmxrX3ZlcmlmeV9jb21tYW5kKGZpbGUsIHJxLT5jbWQpOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9LY29uZmlnIGIvY3J5cHRvL0tjb25maWcKaW5kZXggODY0NDU2Yy4uZWE1MDM1NyAxMDA2NDQKLS0tIGEvY3J5cHRvL0tjb25maWcKKysrIGIvY3J5cHRvL0tjb25maWcKQEAgLTY1LDYgKzY1LDcgQEAKIGNvbmZpZyBDUllQVE9fQ1JZUFRECiAJdHJpc3RhdGUgIlNvZnR3YXJlIGFzeW5jIGNyeXB0byBkYWVtb24iCiAJc2VsZWN0IENSWVBUT19CTEtDSVBIRVIKKwlzZWxlY3QgQ1JZUFRPX0hBU0gKIAlzZWxlY3QgQ1JZUFRPX01BTkFHRVIKIAloZWxwCiAJICBUaGlzIGlzIGEgZ2VuZXJpYyBzb2Z0d2FyZSBhc3luY2hyb25vdXMgY3J5cHRvIGRhZW1vbiB0aGF0CkBAIC0yMTIsNyArMjEzLDcgQEAKIAogY29uZmlnIENSWVBUT19DUkMzMkMKIAl0cmlzdGF0ZSAiQ1JDMzJjIENSQyBhbGdvcml0aG0iCi0Jc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0hBU0gKIAlzZWxlY3QgTElCQ1JDMzJDCiAJaGVscAogCSAgQ2FzdGFnbm9saSwgZXQgYWwgQ3ljbGljIFJlZHVuZGFuY3ktQ2hlY2sgQWxnb3JpdGhtLiAgVXNlZApAQCAtMjQxLDYgKzI0Miw1NyBAQAogCSAgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBvdGhlciBwdXJwb3NlcyBiZWNhdXNlIG9mIHRoZSB3ZWFrbmVzcwogCSAgb2YgdGhlIGFsZ29yaXRobS4KIAorY29uZmlnIENSWVBUT19STUQxMjgKKyAgdHJpc3RhdGUgIlJJUEVNRC0xMjggZGlnZXN0IGFsZ29yaXRobSIKKyAgc2VsZWN0IENSWVBUT19BTEdBUEkKKyAgaGVscAorICAgIFJJUEVNRC0xMjggKElTTy9JRUMgMTAxMTgtMzoyMDA0KS4KKworICAgIFJJUEVNRC0xMjggaXMgYSAxMjgtYml0IGNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlvbi4gSXQgc2hvdWxkIG9ubHkKKyAgICB0byBiZSB1c2VkIGFzIGEgc2VjdXJlIHJlcGxhY2VtZW50IGZvciBSSVBFTUQuIEZvciBvdGhlciB1c2UgY2FzZXMKKyAgICBSSVBFTUQtMTYwIHNob3VsZCBiZSB1c2VkLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMTYwCisgIHRyaXN0YXRlICJSSVBFTUQtMTYwIGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMTYwIChJU08vSUVDIDEwMTE4LTM6MjAwNCkuCisKKyAgICBSSVBFTUQtMTYwIGlzIGEgMTYwLWJpdCBjcnlwdG9ncmFwaGljIGhhc2ggZnVuY3Rpb24uIEl0IGlzIGludGVuZGVkCisgICAgdG8gYmUgdXNlZCBhcyBhIHNlY3VyZSByZXBsYWNlbWVudCBmb3IgdGhlIDEyOC1iaXQgaGFzaCBmdW5jdGlvbnMKKyAgICBNRDQsIE1ENSBhbmQgaXQncyBwcmVkZWNlc3NvciBSSVBFTUQgKG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIFJJUEVNRC0xMjgpLgorCisgICAgSXQncyBzcGVlZCBpcyBjb21wYXJhYmxlIHRvIFNIQTEgYW5kIHRoZXJlIGFyZSBubyBrbm93biBhdHRhY2tzIGFnYWluc3QKKyAgICBSSVBFTUQtMTYwLgorCisgICAgRGV2ZWxvcGVkIGJ5IEhhbnMgRG9iYmVydGluLCBBbnRvb24gQm9zc2VsYWVycyBhbmQgQmFydCBQcmVuZWVsLgorICAgIFNlZSA8aHR0cDovL2hvbWUuZXNhdC5rdWxldXZlbi5iZS9+Ym9zc2VsYWUvcmlwZW1kMTYwLmh0bWw+CisKK2NvbmZpZyBDUllQVE9fUk1EMjU2CisgIHRyaXN0YXRlICJSSVBFTUQtMjU2IGRpZ2VzdCBhbGdvcml0aG0iCisgIHNlbGVjdCBDUllQVE9fQUxHQVBJCisgIGhlbHAKKyAgICBSSVBFTUQtMjU2IGlzIGFuIG9wdGlvbmFsIGV4dGVuc2lvbiBvZiBSSVBFTUQtMTI4IHdpdGggYSAyNTYgYml0IGhhc2guCisgICAgSXQgaXMgaW50ZW5kZWQgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUgbG9uZ2VyIGhhc2gtcmVzdWx0cywgd2l0aG91dAorICAgIG5lZWRpbmcgYSBsYXJnZXIgc2VjdXJpdHkgbGV2ZWwgKHRoYW4gUklQRU1ELTEyOCkuCisKKyAgICBEZXZlbG9wZWQgYnkgSGFucyBEb2JiZXJ0aW4sIEFudG9vbiBCb3NzZWxhZXJzIGFuZCBCYXJ0IFByZW5lZWwuCisgICAgU2VlIDxodHRwOi8vaG9tZS5lc2F0Lmt1bGV1dmVuLmJlL35ib3NzZWxhZS9yaXBlbWQxNjAuaHRtbD4KKworY29uZmlnIENSWVBUT19STUQzMjAKKyAgdHJpc3RhdGUgIlJJUEVNRC0zMjAgZGlnZXN0IGFsZ29yaXRobSIKKyAgc2VsZWN0IENSWVBUT19BTEdBUEkKKyAgaGVscAorICAgIFJJUEVNRC0zMjAgaXMgYW4gb3B0aW9uYWwgZXh0ZW5zaW9uIG9mIFJJUEVNRC0xNjAgd2l0aCBhIDMyMCBiaXQgaGFzaC4KKyAgICBJdCBpcyBpbnRlbmRlZCBmb3IgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBsb25nZXIgaGFzaC1yZXN1bHRzLCB3aXRob3V0CisgICAgbmVlZGluZyBhIGxhcmdlciBzZWN1cml0eSBsZXZlbCAodGhhbiBSSVBFTUQtMTYwKS4KKworICAgIERldmVsb3BlZCBieSBIYW5zIERvYmJlcnRpbiwgQW50b29uIEJvc3NlbGFlcnMgYW5kIEJhcnQgUHJlbmVlbC4KKyAgICBTZWUgPGh0dHA6Ly9ob21lLmVzYXQua3VsZXV2ZW4uYmUvfmJvc3NlbGFlL3JpcGVtZDE2MC5odG1sPgorCiBjb25maWcgQ1JZUFRPX1NIQTEKIAl0cmlzdGF0ZSAiU0hBMSBkaWdlc3QgYWxnb3JpdGhtIgogCXNlbGVjdCBDUllQVE9fQUxHQVBJCkBAIC02MTQsNiArNjY2LDE1IEBACiAJaGVscAogCSAgVGhpcyBpcyB0aGUgTFpPIGFsZ29yaXRobS4KIAorY29tbWVudCAiUmFuZG9tIE51bWJlciBHZW5lcmF0aW9uIgorCitjb25maWcgQ1JZUFRPX1BSTkcKKwl0cmlzdGF0ZSAiUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdGlvbiBmb3IgQ3J5cHRvZ3JhcGhpYyBtb2R1bGVzIgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgdGhlIGdlbmVyaWMgcHNldWRvIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCisJICBmb3IgY3J5cHRvZ3JhcGhpYyBtb2R1bGVzLiAgVXNlcyB0aGUgQWxnb3JpdGhtIHNwZWNpZmllZCBpbgorCSAgQU5TSSBYOS4zMSBBLjIuNAorCiBzb3VyY2UgImRyaXZlcnMvY3J5cHRvL0tjb25maWciCiAKIGVuZGlmCSMgaWYgQ1JZUFRPCmRpZmYgLS1naXQgYS9jcnlwdG8vTWFrZWZpbGUgYi9jcnlwdG8vTWFrZWZpbGUKaW5kZXggY2EwMjQ0MS4uZWY2MWIzYiAxMDA2NDQKLS0tIGEvY3J5cHRvL01ha2VmaWxlCisrKyBiL2NyeXB0by9NYWtlZmlsZQpAQCAtMTksNiArMTksNyBAQAogb2JqLSQoQ09ORklHX0NSWVBUT19TRVFJVikgKz0gc2VxaXYubwogCiBjcnlwdG9faGFzaC1vYmpzIDo9IGhhc2gubworY3J5cHRvX2hhc2gtb2JqcyArPSBhaGFzaC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0hBU0gpICs9IGNyeXB0b19oYXNoLm8KIAogb2JqLSQoQ09ORklHX0NSWVBUT19NQU5BR0VSKSArPSBjcnlwdG9tZ3IubwpAQCAtMjcsNiArMjgsMTAgQEAKIG9iai0kKENPTkZJR19DUllQVE9fTlVMTCkgKz0gY3J5cHRvX251bGwubwogb2JqLSQoQ09ORklHX0NSWVBUT19NRDQpICs9IG1kNC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX01ENSkgKz0gbWQ1Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMTI4KSArPSBybWQxMjgubworb2JqLSQoQ09ORklHX0NSWVBUT19STUQxNjApICs9IHJtZDE2MC5vCitvYmotJChDT05GSUdfQ1JZUFRPX1JNRDI1NikgKz0gcm1kMjU2Lm8KK29iai0kKENPTkZJR19DUllQVE9fUk1EMzIwKSArPSBybWQzMjAubwogb2JqLSQoQ09ORklHX0NSWVBUT19TSEExKSArPSBzaGExX2dlbmVyaWMubwogb2JqLSQoQ09ORklHX0NSWVBUT19TSEEyNTYpICs9IHNoYTI1Nl9nZW5lcmljLm8KIG9iai0kKENPTkZJR19DUllQVE9fU0hBNTEyKSArPSBzaGE1MTJfZ2VuZXJpYy5vCkBAIC02NCw3ICs2OSw3IEBACiBvYmotJChDT05GSUdfQ1JZUFRPX0NSQzMyQykgKz0gY3JjMzJjLm8KIG9iai0kKENPTkZJR19DUllQVE9fQVVUSEVOQykgKz0gYXV0aGVuYy5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0xaTykgKz0gbHpvLm8KLQorb2JqLSQoQ09ORklHX0NSWVBUT19QUk5HKSArPSBwcm5nLm8KIG9iai0kKENPTkZJR19DUllQVE9fVEVTVCkgKz0gdGNyeXB0Lm8KIAogIwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2FoYXNoLmMgYi9jcnlwdG8vYWhhc2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzEyOGYyCi0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL2FoYXNoLmMKQEAgLTAsMCArMSwxOTQgQEAKKy8qCisgKiBBc3luY2hyb25vdXMgQ3J5cHRvZ3JhcGhpYyBIYXNoIG9wZXJhdGlvbnMuCisgKgorICogVGhpcyBpcyB0aGUgYXN5bmNocm9ub3VzIHZlcnNpb24gb2YgaGFzaC5jIHdpdGggbm90aWZpY2F0aW9uIG9mCisgKiBjb21wbGV0aW9uIHZpYSBhIGNhbGxiYWNrLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBMb2MgSG8gPGxob0BhbWNjLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgorCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKworc3RhdGljIGludCBoYXNoX3dhbGtfbmV4dChzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2FsaykKK3sKKwl1bnNpZ25lZCBpbnQgYWxpZ25tYXNrID0gd2Fsay0+YWxpZ25tYXNrOworCXVuc2lnbmVkIGludCBvZmZzZXQgPSB3YWxrLT5vZmZzZXQ7CisJdW5zaWduZWQgaW50IG5ieXRlcyA9IG1pbih3YWxrLT5lbnRyeWxlbiwKKwkJCQkgICgodW5zaWduZWQgaW50KShQQUdFX1NJWkUpKSAtIG9mZnNldCk7CisKKwl3YWxrLT5kYXRhID0gY3J5cHRvX2ttYXAod2Fsay0+cGcsIDApOworCXdhbGstPmRhdGEgKz0gb2Zmc2V0OworCisJaWYgKG9mZnNldCAmIGFsaWdubWFzaykKKwkJbmJ5dGVzID0gYWxpZ25tYXNrICsgMSAtIChvZmZzZXQgJiBhbGlnbm1hc2spOworCisJd2Fsay0+ZW50cnlsZW4gLT0gbmJ5dGVzOworCXJldHVybiBuYnl0ZXM7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF93YWxrX25ld19lbnRyeShzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2FsaykKK3sKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCisJc2cgPSB3YWxrLT5zZzsKKwl3YWxrLT5wZyA9IHNnX3BhZ2Uoc2cpOworCXdhbGstPm9mZnNldCA9IHNnLT5vZmZzZXQ7CisJd2Fsay0+ZW50cnlsZW4gPSBzZy0+bGVuZ3RoOworCisJaWYgKHdhbGstPmVudHJ5bGVuID4gd2Fsay0+dG90YWwpCisJCXdhbGstPmVudHJ5bGVuID0gd2Fsay0+dG90YWw7CisJd2Fsay0+dG90YWwgLT0gd2Fsay0+ZW50cnlsZW47CisKKwlyZXR1cm4gaGFzaF93YWxrX25leHQod2Fsayk7Cit9CisKK2ludCBjcnlwdG9faGFzaF93YWxrX2RvbmUoc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGssIGludCBlcnIpCit7CisJdW5zaWduZWQgaW50IGFsaWdubWFzayA9IHdhbGstPmFsaWdubWFzazsKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzID0gd2Fsay0+ZW50cnlsZW47CisKKwl3YWxrLT5kYXRhIC09IHdhbGstPm9mZnNldDsKKworCWlmIChuYnl0ZXMgJiYgd2Fsay0+b2Zmc2V0ICYgYWxpZ25tYXNrICYmICFlcnIpIHsKKwkJd2Fsay0+b2Zmc2V0ICs9IGFsaWdubWFzayAtIDE7CisJCXdhbGstPm9mZnNldCA9IEFMSUdOKHdhbGstPm9mZnNldCwgYWxpZ25tYXNrICsgMSk7CisJCXdhbGstPmRhdGEgKz0gd2Fsay0+b2Zmc2V0OworCisJCW5ieXRlcyA9IG1pbihuYnl0ZXMsCisJCQkgICAgICgodW5zaWduZWQgaW50KShQQUdFX1NJWkUpKSAtIHdhbGstPm9mZnNldCk7CisJCXdhbGstPmVudHJ5bGVuIC09IG5ieXRlczsKKworCQlyZXR1cm4gbmJ5dGVzOworCX0KKworCWNyeXB0b19rdW5tYXAod2Fsay0+ZGF0YSwgMCk7CisJY3J5cHRvX3lpZWxkKHdhbGstPmZsYWdzKTsKKworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwl3YWxrLT5vZmZzZXQgPSAwOworCisJaWYgKG5ieXRlcykKKwkJcmV0dXJuIGhhc2hfd2Fsa19uZXh0KHdhbGspOworCisJaWYgKCF3YWxrLT50b3RhbCkKKwkJcmV0dXJuIDA7CisKKwl3YWxrLT5zZyA9IHNjYXR0ZXJ3YWxrX3NnX25leHQod2Fsay0+c2cpOworCisJcmV0dXJuIGhhc2hfd2Fsa19uZXdfZW50cnkod2Fsayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChjcnlwdG9faGFzaF93YWxrX2RvbmUpOworCitpbnQgY3J5cHRvX2hhc2hfd2Fsa19maXJzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJICAgc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgKndhbGspCit7CisJd2Fsay0+dG90YWwgPSByZXEtPm5ieXRlczsKKworCWlmICghd2Fsay0+dG90YWwpCisJCXJldHVybiAwOworCisJd2Fsay0+YWxpZ25tYXNrID0gY3J5cHRvX2FoYXNoX2FsaWdubWFzayhjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSkpOworCXdhbGstPnNnID0gcmVxLT5zcmM7CisJd2Fsay0+ZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3M7CisKKwlyZXR1cm4gaGFzaF93YWxrX25ld19lbnRyeSh3YWxrKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGNyeXB0b19oYXNoX3dhbGtfZmlyc3QpOworCitzdGF0aWMgaW50IGFoYXNoX3NldGtleV91bmFsaWduZWQoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWhhc2ggPSBjcnlwdG9fYWhhc2hfYWxnKHRmbSk7CisJdW5zaWduZWQgbG9uZyBhbGlnbm1hc2sgPSBjcnlwdG9fYWhhc2hfYWxpZ25tYXNrKHRmbSk7CisJaW50IHJldDsKKwl1OCAqYnVmZmVyLCAqYWxpZ25idWZmZXI7CisJdW5zaWduZWQgbG9uZyBhYnNpemU7CisKKwlhYnNpemUgPSBrZXlsZW4gKyBhbGlnbm1hc2s7CisJYnVmZmVyID0ga21hbGxvYyhhYnNpemUsIEdGUF9BVE9NSUMpOworCWlmICghYnVmZmVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWFsaWduYnVmZmVyID0gKHU4ICopQUxJR04oKHVuc2lnbmVkIGxvbmcpYnVmZmVyLCBhbGlnbm1hc2sgKyAxKTsKKwltZW1jcHkoYWxpZ25idWZmZXIsIGtleSwga2V5bGVuKTsKKwlyZXQgPSBhaGFzaC0+c2V0a2V5KHRmbSwgYWxpZ25idWZmZXIsIGtleWxlbik7CisJbWVtc2V0KGFsaWduYnVmZmVyLCAwLCBrZXlsZW4pOworCWtmcmVlKGJ1ZmZlcik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgYWhhc2hfYWxnICphaGFzaCA9IGNyeXB0b19haGFzaF9hbGcodGZtKTsKKwl1bnNpZ25lZCBsb25nIGFsaWdubWFzayA9IGNyeXB0b19haGFzaF9hbGlnbm1hc2sodGZtKTsKKworCWlmICgodW5zaWduZWQgbG9uZylrZXkgJiBhbGlnbm1hc2spCisJCXJldHVybiBhaGFzaF9zZXRrZXlfdW5hbGlnbmVkKHRmbSwga2V5LCBrZXlsZW4pOworCisJcmV0dXJuIGFoYXNoLT5zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY3J5cHRvX2FoYXNoX2N0eHNpemUoc3RydWN0IGNyeXB0b19hbGcgKmFsZywgdTMyIHR5cGUsCisJCQkJCXUzMiBtYXNrKQoreworCXJldHVybiBhbGctPmNyYV9jdHhzaXplOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2FoYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCit7CisJc3RydWN0IGFoYXNoX2FsZyAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfYWhhc2g7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ICAgPSAmdGZtLT5jcnRfYWhhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljcnQtPmluaXQgPSBhbGctPmluaXQ7CisJY3J0LT51cGRhdGUgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICA9IGFsZy0+ZmluYWw7CisJY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKKwljcnQtPnNldGtleSA9IGFoYXNoX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY3J5cHRvX2FoYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQorCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKK3N0YXRpYyB2b2lkIGNyeXB0b19haGFzaF9zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IGNyeXB0b19hbGcgKmFsZykKK3sKKwlzZXFfcHJpbnRmKG0sICJ0eXBlICAgICAgICAgOiBhaGFzaFxuIik7CisJc2VxX3ByaW50ZihtLCAiYXN5bmMgICAgICAgIDogJXNcbiIsIGFsZy0+Y3JhX2ZsYWdzICYgQ1JZUFRPX0FMR19BU1lOQyA/CisJCQkJCSAgICAgInllcyIgOiAibm8iKTsKKwlzZXFfcHJpbnRmKG0sICJibG9ja3NpemUgICAgOiAldVxuIiwgYWxnLT5jcmFfYmxvY2tzaXplKTsKKwlzZXFfcHJpbnRmKG0sICJkaWdlc3RzaXplICAgOiAldVxuIiwgYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplKTsKK30KKworY29uc3Qgc3RydWN0IGNyeXB0b190eXBlIGNyeXB0b19haGFzaF90eXBlID0geworCS5jdHhzaXplID0gY3J5cHRvX2FoYXNoX2N0eHNpemUsCisJLmluaXQgPSBjcnlwdG9faW5pdF9haGFzaF9vcHMsCisjaWZkZWYgQ09ORklHX1BST0NfRlMKKwkuc2hvdyA9IGNyeXB0b19haGFzaF9zaG93LAorI2VuZGlmCit9OworRVhQT1JUX1NZTUJPTF9HUEwoY3J5cHRvX2FoYXNoX3R5cGUpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFzeW5jaHJvbm91cyBjcnlwdG9ncmFwaGljIGhhc2ggdHlwZSIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL2FwaS5jIGIvY3J5cHRvL2FwaS5jCmluZGV4IDBhMGY0MWUuLmQwNmUzMzIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9hcGkuYworKysgYi9jcnlwdG8vYXBpLmMKQEAgLTIzNSw4ICsyMzUsMTIgQEAKIAkJcmV0dXJuIGNyeXB0b19pbml0X2NpcGhlcl9vcHModGZtKTsKIAkJCiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUOgotCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wcyh0Zm0pOwotCQkKKwkJaWYgKChtYXNrICYgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSykgIT0KKwkJICAgIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0spCisJCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wc19hc3luYyh0Zm0pOworCQllbHNlCisJCQlyZXR1cm4gY3J5cHRvX2luaXRfZGlnZXN0X29wcyh0Zm0pOworCiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQ09NUFJFU1M6CiAJCXJldHVybiBjcnlwdG9faW5pdF9jb21wcmVzc19vcHModGZtKTsKIAkKZGlmZiAtLWdpdCBhL2NyeXB0by9hc3luY190eC9hc3luY190eC5jIGIvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKaW5kZXggYzZlNzcyZi4uMDk1Yzc5OCAxMDA2NDQKLS0tIGEvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKKysrIGIvY3J5cHRvL2FzeW5jX3R4L2FzeW5jX3R4LmMKQEAgLTIzLDYgKzIzLDcgQEAKICAqIDUxIEZyYW5rbGluIFN0IC0gRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCiAgKgogICovCisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2FzeW5jX3R4Lmg+CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9jYW1lbGxpYS5jIGIvY3J5cHRvL2NhbWVsbGlhLmMKaW5kZXggNDkzZmVlNy4uYjFjYzRkZSAxMDA2NDQKLS0tIGEvY3J5cHRvL2NhbWVsbGlhLmMKKysrIGIvY3J5cHRvL2NhbWVsbGlhLmMKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgogCiBzdGF0aWMgY29uc3QgdTMyIGNhbWVsbGlhX3NwMTExMFsyNTZdID0gewogCTB4NzA3MDcwMDAsMHg4MjgyODIwMCwweDJjMmMyYzAwLDB4ZWNlY2VjMDAsCkBAIC0zMzUsMjAgKzMzNyw2IEBACiAvKgogICogIG1hY3JvcwogICovCi0jZGVmaW5lIEdFVFUzMih2LCBwdCkgXAotICAgIGRvIHsgXAotCS8qIGxhdGVzdCBicmVlZCBvZiBnY2MgaXMgY2xldmVyIGVub3VnaCB0byB1c2UgbW92ZSAqLyBcCi0JbWVtY3B5KCYodiksIChwdCksIDQpOyBcCi0JKHYpID0gYmUzMl90b19jcHUodik7IFwKLSAgICB9IHdoaWxlKDApCi0KLS8qIHJvdGF0aW9uIHJpZ2h0IHNoaWZ0IDFieXRlICovCi0jZGVmaW5lIFJPUjgoeCkgKCgoeCkgPj4gOCkgKyAoKHgpIDw8IDI0KSkKLS8qIHJvdGF0aW9uIGxlZnQgc2hpZnQgMWJpdCAqLwotI2RlZmluZSBST0wxKHgpICgoKHgpIDw8IDEpICsgKCh4KSA+PiAzMSkpCi0vKiByb3RhdGlvbiBsZWZ0IHNoaWZ0IDFieXRlICovCi0jZGVmaW5lIFJPTDgoeCkgKCgoeCkgPDwgOCkgKyAoKHgpID4+IDI0KSkKLQogI2RlZmluZSBST0xEUShsbCwgbHIsIHJsLCByciwgdzAsIHcxLCBiaXRzKQkJXAogICAgIGRvIHsJCQkJCQlcCiAJdzAgPSBsbDsJCQkJCVwKQEAgLTM4Myw3ICszNzEsNyBAQAogCSAgIF4gY2FtZWxsaWFfc3AzMDMzWyh1OCkoaWwgPj4gOCldCQkJXAogCSAgIF4gY2FtZWxsaWFfc3A0NDA0Wyh1OCkoaWwgICAgICldOwkJCVwKIAl5bCBePSB5cjsJCQkJCQlcCi0JeXIgPSBST1I4KHlyKTsJCQkJCQlcCisJeXIgPSByb3IzMih5ciwgOCk7CQkJCQlcCiAJeXIgXj0geWw7CQkJCQkJXAogICAgIH0gd2hpbGUoMCkKIApAQCAtNDA1LDcgKzM5Myw3IEBACiAJc3ViTFs3XSBePSBzdWJMWzFdOyBzdWJSWzddIF49IHN1YlJbMV07CiAJc3ViTFsxXSBePSBzdWJSWzFdICYgfnN1YlJbOV07CiAJZHcgPSBzdWJMWzFdICYgc3ViTFs5XSwKLQkJc3ViUlsxXSBePSBST0wxKGR3KTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsMikgKi8KKwkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDIpICovCiAJLyogcm91bmQgOCAqLwogCXN1YkxbMTFdIF49IHN1YkxbMV07IHN1YlJbMTFdIF49IHN1YlJbMV07CiAJLyogcm91bmQgMTAgKi8KQEAgLTQxNCw3ICs0MDIsNyBAQAogCXN1YkxbMTVdIF49IHN1YkxbMV07IHN1YlJbMTVdIF49IHN1YlJbMV07CiAJc3ViTFsxXSBePSBzdWJSWzFdICYgfnN1YlJbMTddOwogCWR3ID0gc3ViTFsxXSAmIHN1YkxbMTddLAotCQlzdWJSWzFdIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w0KSAqLworCQlzdWJSWzFdIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMaW52KGtsNCkgKi8KIAkvKiByb3VuZCAxNCAqLwogCXN1YkxbMTldIF49IHN1YkxbMV07IHN1YlJbMTldIF49IHN1YlJbMV07CiAJLyogcm91bmQgMTYgKi8KQEAgLTQzMCw3ICs0MTgsNyBAQAogCX0gZWxzZSB7CiAJCXN1YkxbMV0gXj0gc3ViUlsxXSAmIH5zdWJSWzI1XTsKIAkJZHcgPSBzdWJMWzFdICYgc3ViTFsyNV0sCi0JCQlzdWJSWzFdIF49IFJPTDEoZHcpOyAvKiBtb2RpZmllZCBmb3IgRkxpbnYoa2w2KSAqLworCQkJc3ViUlsxXSBePSByb2wzMihkdywgMSk7IC8qIG1vZGlmaWVkIGZvciBGTGludihrbDYpICovCiAJCS8qIHJvdW5kIDIwICovCiAJCXN1YkxbMjddIF49IHN1YkxbMV07IHN1YlJbMjddIF49IHN1YlJbMV07CiAJCS8qIHJvdW5kIDIyICovCkBAIC00NTAsNyArNDM4LDcgQEAKIAkJc3ViTFsyNl0gXj0ga3c0bDsgc3ViUlsyNl0gXj0ga3c0cjsKIAkJa3c0bCBePSBrdzRyICYgfnN1YlJbMjRdOwogCQlkdyA9IGt3NGwgJiBzdWJMWzI0XSwKLQkJCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDUpICovCisJCQlrdzRyIF49IHJvbDMyKGR3LCAxKTsgLyogbW9kaWZpZWQgZm9yIEZMKGtsNSkgKi8KIAl9CiAJLyogcm91bmQgMTcgKi8KIAlzdWJMWzIyXSBePSBrdzRsOyBzdWJSWzIyXSBePSBrdzRyOwpAQCAtNDYwLDcgKzQ0OCw3IEBACiAJc3ViTFsxOF0gXj0ga3c0bDsgc3ViUlsxOF0gXj0ga3c0cjsKIAlrdzRsIF49IGt3NHIgJiB+c3ViUlsxNl07CiAJZHcgPSBrdzRsICYgc3ViTFsxNl0sCi0JCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDMpICovCisJCWt3NHIgXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wzKSAqLwogCS8qIHJvdW5kIDExICovCiAJc3ViTFsxNF0gXj0ga3c0bDsgc3ViUlsxNF0gXj0ga3c0cjsKIAkvKiByb3VuZCA5ICovCkBAIC00NjksNyArNDU3LDcgQEAKIAlzdWJMWzEwXSBePSBrdzRsOyBzdWJSWzEwXSBePSBrdzRyOwogCWt3NGwgXj0ga3c0ciAmIH5zdWJSWzhdOwogCWR3ID0ga3c0bCAmIHN1YkxbOF0sCi0JCWt3NHIgXj0gUk9MMShkdyk7IC8qIG1vZGlmaWVkIGZvciBGTChrbDEpICovCisJCWt3NHIgXj0gcm9sMzIoZHcsIDEpOyAvKiBtb2RpZmllZCBmb3IgRkwoa2wxKSAqLwogCS8qIHJvdW5kIDUgKi8KIAlzdWJMWzZdIF49IGt3NGw7IHN1YlJbNl0gXj0ga3c0cjsKIAkvKiByb3VuZCAzICovCkBAIC00OTQsNyArNDgyLDcgQEAKIAlTVUJLRVlfUig2KSA9IHN1YlJbNV0gXiBzdWJSWzddOwogCXRsID0gc3ViTFsxMF0gXiAoc3ViUlsxMF0gJiB+c3ViUls4XSk7CiAJZHcgPSB0bCAmIHN1YkxbOF0sICAvKiBGTChrbDEpICovCi0JCXRyID0gc3ViUlsxMF0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzEwXSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCg3KSA9IHN1YkxbNl0gXiB0bDsgLyogcm91bmQgNiAqLwogCVNVQktFWV9SKDcpID0gc3ViUls2XSBeIHRyOwogCVNVQktFWV9MKDgpID0gc3ViTFs4XTsgICAgICAgLyogRkwoa2wxKSAqLwpAQCAtNTAzLDcgKzQ5MSw3IEBACiAJU1VCS0VZX1IoOSkgPSBzdWJSWzldOwogCXRsID0gc3ViTFs3XSBeIChzdWJSWzddICYgfnN1YlJbOV0pOwogCWR3ID0gdGwgJiBzdWJMWzldLCAgLyogRkxpbnYoa2wyKSAqLwotCQl0ciA9IHN1YlJbN10gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzddIF4gcm9sMzIoZHcsIDEpOwogCVNVQktFWV9MKDEwKSA9IHRsIF4gc3ViTFsxMV07IC8qIHJvdW5kIDcgKi8KIAlTVUJLRVlfUigxMCkgPSB0ciBeIHN1YlJbMTFdOwogCVNVQktFWV9MKDExKSA9IHN1YkxbMTBdIF4gc3ViTFsxMl07IC8qIHJvdW5kIDggKi8KQEAgLTUxNiw3ICs1MDQsNyBAQAogCVNVQktFWV9SKDE0KSA9IHN1YlJbMTNdIF4gc3ViUlsxNV07CiAJdGwgPSBzdWJMWzE4XSBeIChzdWJSWzE4XSAmIH5zdWJSWzE2XSk7CiAJZHcgPSB0bCAmIHN1YkxbMTZdLCAvKiBGTChrbDMpICovCi0JCXRyID0gc3ViUlsxOF0gXiBST0wxKGR3KTsKKwkJdHIgPSBzdWJSWzE4XSBeIHJvbDMyKGR3LCAxKTsKIAlTVUJLRVlfTCgxNSkgPSBzdWJMWzE0XSBeIHRsOyAvKiByb3VuZCAxMiAqLwogCVNVQktFWV9SKDE1KSA9IHN1YlJbMTRdIF4gdHI7CiAJU1VCS0VZX0woMTYpID0gc3ViTFsxNl07ICAgICAvKiBGTChrbDMpICovCkBAIC01MjUsNyArNTEzLDcgQEAKIAlTVUJLRVlfUigxNykgPSBzdWJSWzE3XTsKIAl0bCA9IHN1YkxbMTVdIF4gKHN1YlJbMTVdICYgfnN1YlJbMTddKTsKIAlkdyA9IHRsICYgc3ViTFsxN10sIC8qIEZMaW52KGtsNCkgKi8KLQkJdHIgPSBzdWJSWzE1XSBeIFJPTDEoZHcpOworCQl0ciA9IHN1YlJbMTVdIF4gcm9sMzIoZHcsIDEpOwogCVNVQktFWV9MKDE4KSA9IHRsIF4gc3ViTFsxOV07IC8qIHJvdW5kIDEzICovCiAJU1VCS0VZX1IoMTgpID0gdHIgXiBzdWJSWzE5XTsKIAlTVUJLRVlfTCgxOSkgPSBzdWJMWzE4XSBeIHN1YkxbMjBdOyAvKiByb3VuZCAxNCAqLwpAQCAtNTQ0LDcgKzUzMiw3IEBACiAJfSBlbHNlIHsKIAkJdGwgPSBzdWJMWzI2XSBeIChzdWJSWzI2XSAmIH5zdWJSWzI0XSk7CiAJCWR3ID0gdGwgJiBzdWJMWzI0XSwgLyogRkwoa2w1KSAqLwotCQkJdHIgPSBzdWJSWzI2XSBeIFJPTDEoZHcpOworCQkJdHIgPSBzdWJSWzI2XSBeIHJvbDMyKGR3LCAxKTsKIAkJU1VCS0VZX0woMjMpID0gc3ViTFsyMl0gXiB0bDsgLyogcm91bmQgMTggKi8KIAkJU1VCS0VZX1IoMjMpID0gc3ViUlsyMl0gXiB0cjsKIAkJU1VCS0VZX0woMjQpID0gc3ViTFsyNF07ICAgICAvKiBGTChrbDUpICovCkBAIC01NTMsNyArNTQxLDcgQEAKIAkJU1VCS0VZX1IoMjUpID0gc3ViUlsyNV07CiAJCXRsID0gc3ViTFsyM10gXiAoc3ViUlsyM10gJiB+c3ViUlsyNV0pOwogCQlkdyA9IHRsICYgc3ViTFsyNV0sIC8qIEZMaW52KGtsNikgKi8KLQkJCXRyID0gc3ViUlsyM10gXiBST0wxKGR3KTsKKwkJCXRyID0gc3ViUlsyM10gXiByb2wzMihkdywgMSk7CiAJCVNVQktFWV9MKDI2KSA9IHRsIF4gc3ViTFsyN107IC8qIHJvdW5kIDE5ICovCiAJCVNVQktFWV9SKDI2KSA9IHRyIF4gc3ViUlsyN107CiAJCVNVQktFWV9MKDI3KSA9IHN1YkxbMjZdIF4gc3ViTFsyOF07IC8qIHJvdW5kIDIwICovCkBAIC01NzMsMTcgKzU2MSwxNyBAQAogCS8qIGFwcGx5IHRoZSBpbnZlcnNlIG9mIHRoZSBsYXN0IGhhbGYgb2YgUC1mdW5jdGlvbiAqLwogCWkgPSAyOwogCWRvIHsKLQkJZHcgPSBTVUJLRVlfTChpICsgMCkgXiBTVUJLRVlfUihpICsgMCk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgMSAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAwKSBeIFNVQktFWV9SKGkgKyAwKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgMSAqLwogCQlTVUJLRVlfUihpICsgMCkgPSBTVUJLRVlfTChpICsgMCkgXiBkdzsgU1VCS0VZX0woaSArIDApID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDEpIF4gU1VCS0VZX1IoaSArIDEpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDIgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgMSkgXiBTVUJLRVlfUihpICsgMSk7IGR3ID0gcm9sMzIoZHcsIDgpOy8qIHJvdW5kIDIgKi8KIAkJU1VCS0VZX1IoaSArIDEpID0gU1VCS0VZX0woaSArIDEpIF4gZHc7IFNVQktFWV9MKGkgKyAxKSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyAyKSBeIFNVQktFWV9SKGkgKyAyKTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCAzICovCisJCWR3ID0gU1VCS0VZX0woaSArIDIpIF4gU1VCS0VZX1IoaSArIDIpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCAzICovCiAJCVNVQktFWV9SKGkgKyAyKSA9IFNVQktFWV9MKGkgKyAyKSBeIGR3OyBTVUJLRVlfTChpICsgMikgPSBkdzsKLQkJZHcgPSBTVUJLRVlfTChpICsgMykgXiBTVUJLRVlfUihpICsgMyk7IGR3ID0gUk9MOChkdyk7Lyogcm91bmQgNCAqLworCQlkdyA9IFNVQktFWV9MKGkgKyAzKSBeIFNVQktFWV9SKGkgKyAzKTsgZHcgPSByb2wzMihkdywgOCk7Lyogcm91bmQgNCAqLwogCQlTVUJLRVlfUihpICsgMykgPSBTVUJLRVlfTChpICsgMykgXiBkdzsgU1VCS0VZX0woaSArIDMpID0gZHc7Ci0JCWR3ID0gU1VCS0VZX0woaSArIDQpIF4gU1VCS0VZX1IoaSArIDQpOyBkdyA9IFJPTDgoZHcpOy8qIHJvdW5kIDUgKi8KKwkJZHcgPSBTVUJLRVlfTChpICsgNCkgXiBTVUJLRVlfUihpICsgNCk7IGR3ID0gcm9sMzIoZHcsIDkpOy8qIHJvdW5kIDUgKi8KIAkJU1VCS0VZX1IoaSArIDQpID0gU1VCS0VZX0woaSArIDQpIF4gZHc7IFNVQktFWV9MKGkgKyA0KSA9IGR3OwotCQlkdyA9IFNVQktFWV9MKGkgKyA1KSBeIFNVQktFWV9SKGkgKyA1KTsgZHcgPSBST0w4KGR3KTsvKiByb3VuZCA2ICovCisJCWR3ID0gU1VCS0VZX0woaSArIDUpIF4gU1VCS0VZX1IoaSArIDUpOyBkdyA9IHJvbDMyKGR3LCA4KTsvKiByb3VuZCA2ICovCiAJCVNVQktFWV9SKGkgKyA1KSA9IFNVQktFWV9MKGkgKyA1KSBeIGR3OyBTVUJLRVlfTChpICsgNSkgPSBkdzsKIAkJaSArPSA4OwogCX0gd2hpbGUgKGkgPCBtYXgpOwpAQCAtNTk5LDEwICs1ODcsMTAgQEAKIAkvKioKIAkgKiAgayA9PSBrbGwgfHwga2xyIHx8IGtybCB8fCBrcnIgKHx8IGlzIGNvbmNhdGVuYXRpb24pCiAJICovCi0JR0VUVTMyKGtsbCwga2V5ICAgICApOwotCUdFVFUzMihrbHIsIGtleSArICA0KTsKLQlHRVRVMzIoa3JsLCBrZXkgKyAgOCk7Ci0JR0VUVTMyKGtyciwga2V5ICsgMTIpOworCWtsbCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkpOworCWtsciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyA0KTsKKwlrcmwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgOCk7CisJa3JyID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDEyKTsKIAogCS8qIGdlbmVyYXRlIEtMIGRlcGVuZGVudCBzdWJrZXlzICovCiAJLyoga3cxICovCkBAIC03MDcsMTQgKzY5NSwxNCBAQAogCSAqICBrZXkgPSAoa2xsIHx8IGtsciB8fCBrcmwgfHwga3JyIHx8IGtybGwgfHwga3JsciB8fCBrcnJsIHx8IGtycnIpCiAJICogICh8fCBpcyBjb25jYXRlbmF0aW9uKQogCSAqLwotCUdFVFUzMihrbGwsICBrZXkgICAgICk7Ci0JR0VUVTMyKGtsciwgIGtleSArICA0KTsKLQlHRVRVMzIoa3JsLCAga2V5ICsgIDgpOwotCUdFVFUzMihrcnIsICBrZXkgKyAxMik7Ci0JR0VUVTMyKGtybGwsIGtleSArIDE2KTsKLQlHRVRVMzIoa3Jsciwga2V5ICsgMjApOwotCUdFVFUzMihrcnJsLCBrZXkgKyAyNCk7Ci0JR0VUVTMyKGtycnIsIGtleSArIDI4KTsKKwlrbGwgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5KTsKKwlrbHIgPSBnZXRfdW5hbGlnbmVkX2JlMzIoa2V5ICsgNCk7CisJa3JsID0gZ2V0X3VuYWxpZ25lZF9iZTMyKGtleSArIDgpOworCWtyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxMik7CisJa3JsbCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAxNik7CisJa3JsciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyMCk7CisJa3JybCA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyNCk7CisJa3JyciA9IGdldF91bmFsaWduZWRfYmUzMihrZXkgKyAyOCk7CiAKIAkvKiBnZW5lcmF0ZSBLTCBkZXBlbmRlbnQgc3Via2V5cyAqLwogCS8qIGt3MSAqLwpAQCAtODcwLDEzICs4NTgsMTMgQEAKIAl0MCAmPSBsbDsJCQkJCQkJXAogCXQyIHw9IHJyOwkJCQkJCQlcCiAJcmwgXj0gdDI7CQkJCQkJCVwKLQlsciBePSBST0wxKHQwKTsJCQkJCQkJXAorCWxyIF49IHJvbDMyKHQwLCAxKTsJCQkJCQlcCiAJdDMgPSBrcmw7CQkJCQkJCVwKIAl0MSA9IGtscjsJCQkJCQkJXAogCXQzICY9IHJsOwkJCQkJCQlcCiAJdDEgfD0gbHI7CQkJCQkJCVwKIAlsbCBePSB0MTsJCQkJCQkJXAotCXJyIF49IFJPTDEodDMpOwkJCQkJCQlcCisJcnIgXj0gcm9sMzIodDMsIDEpOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKICNkZWZpbmUgQ0FNRUxMSUFfUk9VTkRTTSh4bCwgeHIsIGtsLCBrciwgeWwsIHlyLCBpbCwgaXIpCQlcCkBAIC04OTIsNyArODgwLDcgQEAKIAlpbCBePSBrbDsJCQkJCQkJXAogCWlyIF49IGlsIF4ga3I7CQkJCQkJCVwKIAl5bCBePSBpcjsJCQkJCQkJXAotCXlyIF49IFJPUjgoaWwpIF4gaXI7CQkJCQkJXAorCXlyIF49IHJvcjMyKGlsLCA4KSBeIGlyOwkJCQkJCVwKICAgICB9IHdoaWxlKDApCiAKIC8qIG1heCA9IDI0OiAxMjhiaXQgZW5jcnlwdCwgbWF4ID0gMzI6IDI1NmJpdCBlbmNyeXB0ICovCmRpZmYgLS1naXQgYS9jcnlwdG8vY2hhaW5pdi5jIGIvY3J5cHRvL2NoYWluaXYuYwppbmRleCA2ZGEzZjU3Li45YWZmYWRlIDEwMDY0NAotLS0gYS9jcnlwdG8vY2hhaW5pdi5jCisrKyBiL2NyeXB0by9jaGFpbml2LmMKQEAgLTExNyw2ICsxMTcsNyBAQAogc3RhdGljIGludCBhc3luY19jaGFpbml2X3NjaGVkdWxlX3dvcmsoc3RydWN0IGFzeW5jX2NoYWluaXZfY3R4ICpjdHgpCiB7CiAJaW50IHF1ZXVlZDsKKwlpbnQgZXJyID0gY3R4LT5lcnI7CiAKIAlpZiAoIWN0eC0+cXVldWUucWxlbikgewogCQlzbXBfbWJfX2JlZm9yZV9jbGVhcl9iaXQoKTsKQEAgLTEzMSw3ICsxMzIsNyBAQAogCUJVR19PTighcXVldWVkKTsKIAogb3V0OgotCXJldHVybiBjdHgtPmVycjsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IGFzeW5jX2NoYWluaXZfcG9zdHBvbmVfcmVxdWVzdChzdHJ1Y3Qgc2tjaXBoZXJfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQpAQCAtMjI3LDYgKzIyOCw3IEBACiAJCQkJCQkgICAgIHBvc3Rwb25lZCk7CiAJc3RydWN0IHNrY2lwaGVyX2dpdmNyeXB0X3JlcXVlc3QgKnJlcTsKIAlzdHJ1Y3QgYWJsa2NpcGhlcl9yZXF1ZXN0ICpzdWJyZXE7CisJaW50IGVycjsKIAogCS8qIE9ubHkgaGFuZGxlIG9uZSByZXF1ZXN0IGF0IGEgdGltZSB0byBhdm9pZCBob2dnaW5nIGtldmVudGQuICovCiAJc3Bpbl9sb2NrX2JoKCZjdHgtPmxvY2spOwpAQCAtMjQxLDcgKzI0MywxMSBAQAogCXN1YnJlcSA9IHNrY2lwaGVyX2dpdmNyeXB0X3JlcWN0eChyZXEpOwogCXN1YnJlcS0+YmFzZS5mbGFncyB8PSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CiAKLQlhc3luY19jaGFpbml2X2dpdmVuY3J5cHRfdGFpbChyZXEpOworCWVyciA9IGFzeW5jX2NoYWluaXZfZ2l2ZW5jcnlwdF90YWlsKHJlcSk7CisKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJc2tjaXBoZXJfZ2l2Y3J5cHRfY29tcGxldGUocmVxLCBlcnIpOworCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCiBzdGF0aWMgaW50IGFzeW5jX2NoYWluaXZfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2NyYzMyYy5jIGIvY3J5cHRvL2NyYzMyYy5jCmluZGV4IDBkY2Y2NGEuLmE4ODJkOWUgMTAwNjQ0Ci0tLSBhL2NyeXB0by9jcmMzMmMuYworKysgYi9jcnlwdG8vY3JjMzJjLmMKQEAgLTUsMjAgKzUsMjMgQEAKICAqCiAgKiBUaGlzIG1vZHVsZSBmaWxlIGlzIGEgd3JhcHBlciB0byBpbnZva2UgdGhlIGxpYi9jcmMzMmMgcm91dGluZXMuCiAgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgCiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCiAgKi8KKworI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgogI2luY2x1ZGUgPGxpbnV4L2NyYzMyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogCi0jZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTMyCisjZGVmaW5lIENIS1NVTV9CTE9DS19TSVpFCTEKICNkZWZpbmUgQ0hLU1VNX0RJR0VTVF9TSVpFCTQKIAogc3RydWN0IGNoa3N1bV9jdHggewpAQCAtNzEsNyArNzQsNyBAQAogCSooX19sZTMyICopb3V0ID0gfmNwdV90b19sZTMyKG1jdHgtPmNyYyk7CiB9CiAKLXN0YXRpYyBpbnQgY3JjMzJjX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCitzdGF0aWMgaW50IGNyYzMyY19jcmFfaW5pdF9vbGQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKIHsKIAlzdHJ1Y3QgY2hrc3VtX2N0eCAqbWN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CiAKQEAgLTc5LDE0ICs4MiwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIG9sZF9hbGcgPSB7CiAJLmNyYV9uYW1lCT0JImNyYzMyYyIsCiAJLmNyYV9mbGFncwk9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCiAJLmNyYV9ibG9ja3NpemUJPQlDSEtTVU1fQkxPQ0tfU0laRSwKIAkuY3JhX2N0eHNpemUJPQlzaXplb2Yoc3RydWN0IGNoa3N1bV9jdHgpLAogCS5jcmFfbW9kdWxlCT0JVEhJU19NT0RVTEUsCi0JLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKLQkuY3JhX2luaXQJPQljcmMzMmNfY3JhX2luaXQsCisJLmNyYV9saXN0CT0JTElTVF9IRUFEX0lOSVQob2xkX2FsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CT0JY3JjMzJjX2NyYV9pbml0X29sZCwKIAkuY3JhX3UJCT0JewogCQkuZGlnZXN0ID0gewogCQkJIC5kaWFfZGlnZXN0c2l6ZT0JQ0hLU1VNX0RJR0VTVF9TSVpFLApAQCAtOTgsMTQgKzEwMSwxMjUgQEAKIAl9CiB9OwogCisvKgorICogU2V0dGluZyB0aGUgc2VlZCBhbGxvd3MgYXJiaXRyYXJ5IGFjY3VtdWxhdG9ycyBhbmQgZmxleGlibGUgWE9SIHBvbGljeQorICogSWYgeW91ciBhbGdvcml0aG0gc3RhcnRzIHdpdGggfjAsIHRoZW4gWE9SIHdpdGggfjAgYmVmb3JlIHlvdSBzZXQKKyAqIHRoZSBzZWVkLgorICovCitzdGF0aWMgaW50IGNyYzMyY19zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqaGFzaCwgY29uc3QgdTggKmtleSwKKwkJCSB1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXUzMiAqbWN0eCA9IGNyeXB0b19haGFzaF9jdHgoaGFzaCk7CisKKwlpZiAoa2V5bGVuICE9IHNpemVvZih1MzIpKSB7CisJCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MoaGFzaCwgQ1JZUFRPX1RGTV9SRVNfQkFEX0tFWV9MRU4pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJKm1jdHggPSBsZTMyX3RvX2NwdXAoKF9fbGUzMiAqKWtleSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCSpjcmNwID0gKm1jdHg7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX3VwZGF0ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9faGFzaF93YWxrIHdhbGs7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwl1MzIgY3JjID0gKmNyY3A7CisJaW50IG5ieXRlczsKKworCWZvciAobmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19maXJzdChyZXEsICZ3YWxrKTsgbmJ5dGVzOworCSAgICAgbmJ5dGVzID0gY3J5cHRvX2hhc2hfd2Fsa19kb25lKCZ3YWxrLCAwKSkKKwkJY3JjID0gY3JjMzJjKGNyYywgd2Fsay5kYXRhLCBuYnl0ZXMpOworCisJKmNyY3AgPSBjcmM7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3JjMzJjX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJdTMyICpjcmNwID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwkKKwkqKF9fbGUzMiAqKXJlcS0+cmVzdWx0ID0gfmNwdV90b19sZTMycChjcmNwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfZGlnZXN0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgd2FsazsKKwl1MzIgKm1jdHggPSBjcnlwdG9fYWhhc2hfY3R4KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJdTMyIGNyYyA9ICptY3R4OworCWludCBuYnl0ZXM7CisKKwlmb3IgKG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZmlyc3QocmVxLCAmd2Fsayk7IG5ieXRlczsKKwkgICAgIG5ieXRlcyA9IGNyeXB0b19oYXNoX3dhbGtfZG9uZSgmd2FsaywgMCkpCisJCWNyYyA9IGNyYzMyYyhjcmMsIHdhbGsuZGF0YSwgbmJ5dGVzKTsKKworCSooX19sZTMyICopcmVxLT5yZXN1bHQgPSB+Y3B1X3RvX2xlMzIoY3JjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcmMzMmNfY3JhX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl1MzIgKmtleSA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwkqa2V5ID0gfjA7CisKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0gc2l6ZW9mKHUzMik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJCT0JImNyYzMyYyIsCisJLmNyYV9kcml2ZXJfbmFtZQk9CSJjcmMzMmMtZ2VuZXJpYyIsCisJLmNyYV9wcmlvcml0eQkJPQkxMDAsCisJLmNyYV9mbGFncwkJPQlDUllQVE9fQUxHX1RZUEVfQUhBU0gsCisJLmNyYV9ibG9ja3NpemUJCT0JQ0hLU1VNX0JMT0NLX1NJWkUsCisJLmNyYV9hbGlnbm1hc2sJCT0JMywKKwkuY3JhX2N0eHNpemUJCT0Jc2l6ZW9mKHUzMiksCisJLmNyYV9tb2R1bGUJCT0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CQk9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV9pbml0CQk9CWNyYzMyY19jcmFfaW5pdCwKKwkuY3JhX3R5cGUJCT0JJmNyeXB0b19haGFzaF90eXBlLAorCS5jcmFfdQkJCT0JeworCQkuYWhhc2ggPSB7CisJCQkgLmRpZ2VzdHNpemUJPQlDSEtTVU1fRElHRVNUX1NJWkUsCisJCQkgLnNldGtleQk9CWNyYzMyY19zZXRrZXksCisJCQkgLmluaXQgICAJPSAJY3JjMzJjX2luaXQsCisJCQkgLnVwZGF0ZSAJPQljcmMzMmNfdXBkYXRlLAorCQkJIC5maW5hbCAgCT0JY3JjMzJjX2ZpbmFsLAorCQkJIC5kaWdlc3QgIAk9CWNyYzMyY19kaWdlc3QsCisJCSB9CisJfQorfTsKKwogc3RhdGljIGludCBfX2luaXQgY3JjMzJjX21vZF9pbml0KHZvaWQpCiB7Ci0JcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7CisJaW50IGVycjsKKworCWVyciA9IGNyeXB0b19yZWdpc3Rlcl9hbGcoJm9sZF9hbGcpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworCWlmIChlcnIpCisJCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CisKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgY3JjMzJjX21vZF9maW5pKHZvaWQpCiB7CiAJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmb2xkX2FsZyk7CiB9CiAKIG1vZHVsZV9pbml0KGNyYzMyY19tb2RfaW5pdCk7CmRpZmYgLS1naXQgYS9jcnlwdG8vY3J5cHRkLmMgYi9jcnlwdG8vY3J5cHRkLmMKaW5kZXggYjE1MGRlNS4uZDI5ZTA2YiAxMDA2NDQKLS0tIGEvY3J5cHRvL2NyeXB0ZC5jCisrKyBiL2NyeXB0by9jcnlwdGQuYwpAQCAtMTEsNiArMTEsNyBAQAogICovCiAKICNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC00NSw2ICs0NiwxMyBAQAogCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGU7CiB9OwogCitzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4IHsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKmNoaWxkOworfTsKKworc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4IHsKKwljcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlOworfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRkX3N0YXRlICpjcnlwdGRfZ2V0X3N0YXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CkBAIC04MiwxMCArOTAsOCBAQAogCiAJcmN0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKIAotCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkgewotCQlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwotCQlyZXR1cm47Ci0JfQorCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CiAKIAlkZXNjLnRmbSA9IGNoaWxkOwogCWRlc2MuaW5mbyA9IHJlcS0+aW5mbzsKQEAgLTk1LDggKzEwMSw5IEBACiAKIAlyZXEtPmJhc2UuY29tcGxldGUgPSByY3R4LT5jb21wbGV0ZTsKIAorb3V0OgogCWxvY2FsX2JoX2Rpc2FibGUoKTsKLQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlyY3R4LT5jb21wbGV0ZSgmcmVxLT5iYXNlLCBlcnIpOwogCWxvY2FsX2JoX2VuYWJsZSgpOwogfQogCkBAIC0yNjEsNiArMjY4LDI0MCBAQAogCXJldHVybiBpbnN0OwogfQogCitzdGF0aWMgaW50IGNyeXB0ZF9oYXNoX2luaXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0b19pbnN0YW5jZSAqaW5zdCA9IGNyeXB0b190Zm1fYWxnX2luc3RhbmNlKHRmbSk7CisJc3RydWN0IGNyeXB0ZF9pbnN0YW5jZV9jdHggKmljdHggPSBjcnlwdG9faW5zdGFuY2VfY3R4KGluc3QpOworCXN0cnVjdCBjcnlwdG9fc3Bhd24gKnNwYXduID0gJmljdHgtPnNwYXduOworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICpjaXBoZXI7CisKKwljaXBoZXIgPSBjcnlwdG9fc3Bhd25faGFzaChzcGF3bik7CisJaWYgKElTX0VSUihjaXBoZXIpKQorCQlyZXR1cm4gUFRSX0VSUihjaXBoZXIpOworCisJY3R4LT5jaGlsZCA9IGNpcGhlcjsKKwl0Zm0tPmNydF9haGFzaC5yZXFzaXplID0KKwkJc2l6ZW9mKHN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNyeXB0ZF9oYXNoX2V4aXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRkX3N0YXRlICpzdGF0ZSA9IGNyeXB0ZF9nZXRfc3RhdGUodGZtKTsKKwlpbnQgYWN0aXZlOworCisJbXV0ZXhfbG9jaygmc3RhdGUtPm11dGV4KTsKKwlhY3RpdmUgPSBhaGFzaF90Zm1faW5fcXVldWUoJnN0YXRlLT5xdWV1ZSwKKwkJCQlfX2NyeXB0b19haGFzaF9jYXN0KHRmbSkpOworCW11dGV4X3VubG9jaygmc3RhdGUtPm11dGV4KTsKKworCUJVR19PTihhY3RpdmUpOworCisJY3J5cHRvX2ZyZWVfaGFzaChjdHgtPmNoaWxkKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF9zZXRrZXkoc3RydWN0IGNyeXB0b19haGFzaCAqcGFyZW50LAorCQkJCSAgIGNvbnN0IHU4ICprZXksIHVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fYWhhc2hfY3R4KHBhcmVudCk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCWludCBlcnI7CisKKwljcnlwdG9faGFzaF9jbGVhcl9mbGFncyhjaGlsZCwgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJY3J5cHRvX2hhc2hfc2V0X2ZsYWdzKGNoaWxkLCBjcnlwdG9fYWhhc2hfZ2V0X2ZsYWdzKHBhcmVudCkgJgorCQkJCQkgIENSWVBUT19URk1fUkVRX01BU0spOworCWVyciA9IGNyeXB0b19oYXNoX3NldGtleShjaGlsZCwga2V5LCBrZXlsZW4pOworCWNyeXB0b19haGFzaF9zZXRfZmxhZ3MocGFyZW50LCBjcnlwdG9faGFzaF9nZXRfZmxhZ3MoY2hpbGQpICYKKwkJCQkJICAgIENSWVBUT19URk1fUkVTX01BU0spOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxLAorCQkJCWNyeXB0b19jb21wbGV0aW9uX3QgY29tcGxldGUpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0gPSBjcnlwdG9fYWhhc2hfcmVxdGZtKHJlcSk7CisJc3RydWN0IGNyeXB0ZF9zdGF0ZSAqc3RhdGUgPQorCQljcnlwdGRfZ2V0X3N0YXRlKGNyeXB0b19haGFzaF90Zm0odGZtKSk7CisJaW50IGVycjsKKworCXJjdHgtPmNvbXBsZXRlID0gcmVxLT5iYXNlLmNvbXBsZXRlOworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IGNvbXBsZXRlOworCisJc3Bpbl9sb2NrX2JoKCZzdGF0ZS0+bG9jayk7CisJZXJyID0gYWhhc2hfZW5xdWV1ZV9yZXF1ZXN0KCZzdGF0ZS0+cXVldWUsIHJlcSk7CisJc3Bpbl91bmxvY2tfYmgoJnN0YXRlLT5sb2NrKTsKKworCXdha2VfdXBfcHJvY2VzcyhzdGF0ZS0+dGFzayk7CisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfaW5pdChzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcV9hc3luYywgaW50IGVycikKK3sKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4ICpjdHggICA9IGNyeXB0b190Zm1fY3R4KHJlcV9hc3luYy0+dGZtKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggICAgICpjaGlsZCA9IGN0eC0+Y2hpbGQ7CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgICAgKnJlcSA9IGFoYXNoX3JlcXVlc3RfY2FzdChyZXFfYXN5bmMpOworCXN0cnVjdCBjcnlwdGRfaGFzaF9yZXF1ZXN0X2N0eCAqcmN0eDsKKwlzdHJ1Y3QgaGFzaF9kZXNjIGRlc2M7CisKKwlyY3R4ID0gYWhhc2hfcmVxdWVzdF9jdHgocmVxKTsKKworCWlmICh1bmxpa2VseShlcnIgPT0gLUVJTlBST0dSRVNTKSkKKwkJZ290byBvdXQ7CisKKwlkZXNjLnRmbSA9IGNoaWxkOworCWRlc2MuZmxhZ3MgPSBDUllQVE9fVEZNX1JFUV9NQVlfU0xFRVA7CisKKwllcnIgPSBjcnlwdG9faGFzaF9jcnQoY2hpbGQpLT5pbml0KCZkZXNjKTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfaW5pdF9lbnF1ZXVlKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJcmV0dXJuIGNyeXB0ZF9oYXNoX2VucXVldWUocmVxLCBjcnlwdGRfaGFzaF9pbml0KTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfdXBkYXRlKHN0cnVjdCBjcnlwdG9fYXN5bmNfcmVxdWVzdCAqcmVxX2FzeW5jLCBpbnQgZXJyKQoreworCXN0cnVjdCBjcnlwdGRfaGFzaF9jdHggKmN0eCAgID0gY3J5cHRvX3RmbV9jdHgocmVxX2FzeW5jLT50Zm0pOworCXN0cnVjdCBjcnlwdG9faGFzaCAgICAgKmNoaWxkID0gY3R4LT5jaGlsZDsKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAgICAqcmVxID0gYWhhc2hfcmVxdWVzdF9jYXN0KHJlcV9hc3luYyk7CisJc3RydWN0IGNyeXB0ZF9oYXNoX3JlcXVlc3RfY3R4ICpyY3R4OworCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKworCXJjdHggPSBhaGFzaF9yZXF1ZXN0X2N0eChyZXEpOworCisJaWYgKHVubGlrZWx5KGVyciA9PSAtRUlOUFJPR1JFU1MpKQorCQlnb3RvIG91dDsKKworCWRlc2MudGZtID0gY2hpbGQ7CisJZGVzYy5mbGFncyA9IENSWVBUT19URk1fUkVRX01BWV9TTEVFUDsKKworCWVyciA9IGNyeXB0b19oYXNoX2NydChjaGlsZCktPnVwZGF0ZSgmZGVzYywKKwkJCQkJCXJlcS0+c3JjLAorCQkJCQkJcmVxLT5uYnl0ZXMpOworCisJcmVxLT5iYXNlLmNvbXBsZXRlID0gcmN0eC0+Y29tcGxldGU7CisKK291dDoKKwlsb2NhbF9iaF9kaXNhYmxlKCk7CisJcmN0eC0+Y29tcGxldGUoJnJlcS0+YmFzZSwgZXJyKTsKKwlsb2NhbF9iaF9lbmFibGUoKTsKK30KKworc3RhdGljIGludCBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfdXBkYXRlKTsKK30KKworc3RhdGljIHZvaWQgY3J5cHRkX2hhc2hfZmluYWwoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZmluYWxfZW5xdWV1ZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBjcnlwdGRfaGFzaF9lbnF1ZXVlKHJlcSwgY3J5cHRkX2hhc2hfZmluYWwpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdGRfaGFzaF9kaWdlc3Qoc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0ICpyZXFfYXN5bmMsIGludCBlcnIpCit7CisJc3RydWN0IGNyeXB0ZF9oYXNoX2N0eCAqY3R4ICAgPSBjcnlwdG9fdGZtX2N0eChyZXFfYXN5bmMtPnRmbSk7CisJc3RydWN0IGNyeXB0b19oYXNoICAgICAqY2hpbGQgPSBjdHgtPmNoaWxkOworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICAgICpyZXEgPSBhaGFzaF9yZXF1ZXN0X2Nhc3QocmVxX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRkX2hhc2hfcmVxdWVzdF9jdHggKnJjdHg7CisJc3RydWN0IGhhc2hfZGVzYyBkZXNjOworCisJcmN0eCA9IGFoYXNoX3JlcXVlc3RfY3R4KHJlcSk7CisKKwlpZiAodW5saWtlbHkoZXJyID09IC1FSU5QUk9HUkVTUykpCisJCWdvdG8gb3V0OworCisJZGVzYy50Zm0gPSBjaGlsZDsKKwlkZXNjLmZsYWdzID0gQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQOworCisJZXJyID0gY3J5cHRvX2hhc2hfY3J0KGNoaWxkKS0+ZGlnZXN0KCZkZXNjLAorCQkJCQkJcmVxLT5zcmMsCisJCQkJCQlyZXEtPm5ieXRlcywKKwkJCQkJCXJlcS0+cmVzdWx0KTsKKworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IHJjdHgtPmNvbXBsZXRlOworCitvdXQ6CisJbG9jYWxfYmhfZGlzYWJsZSgpOworCXJjdHgtPmNvbXBsZXRlKCZyZXEtPmJhc2UsIGVycik7CisJbG9jYWxfYmhfZW5hYmxlKCk7Cit9CisKK3N0YXRpYyBpbnQgY3J5cHRkX2hhc2hfZGlnZXN0X2VucXVldWUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY3J5cHRkX2hhc2hfZW5xdWV1ZShyZXEsIGNyeXB0ZF9oYXNoX2RpZ2VzdCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2NfaGFzaCgKKwlzdHJ1Y3QgcnRhdHRyICoqdGIsIHN0cnVjdCBjcnlwdGRfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBjcnlwdG9faW5zdGFuY2UgKmluc3Q7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZzsKKworCWFsZyA9IGNyeXB0b19nZXRfYXR0cl9hbGcodGIsIENSWVBUT19BTEdfVFlQRV9IQVNILAorCQkJCSAgQ1JZUFRPX0FMR19UWVBFX0hBU0hfTUFTSyk7CisJaWYgKElTX0VSUihhbGcpKQorCQlyZXR1cm4gRVJSX1BUUihQVFJfRVJSKGFsZykpOworCisJaW5zdCA9IGNyeXB0ZF9hbGxvY19pbnN0YW5jZShhbGcsIHN0YXRlKTsKKwlpZiAoSVNfRVJSKGluc3QpKQorCQlnb3RvIG91dF9wdXRfYWxnOworCisJaW5zdC0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BSEFTSCB8IENSWVBUT19BTEdfQVNZTkM7CisJaW5zdC0+YWxnLmNyYV90eXBlID0gJmNyeXB0b19haGFzaF90eXBlOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3RzaXplID0gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplOworCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgY3J5cHRkX2hhc2hfY3R4KTsKKworCWluc3QtPmFsZy5jcmFfaW5pdCA9IGNyeXB0ZF9oYXNoX2luaXRfdGZtOworCWluc3QtPmFsZy5jcmFfZXhpdCA9IGNyeXB0ZF9oYXNoX2V4aXRfdGZtOworCisJaW5zdC0+YWxnLmNyYV9haGFzaC5pbml0ICAgPSBjcnlwdGRfaGFzaF9pbml0X2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC51cGRhdGUgPSBjcnlwdGRfaGFzaF91cGRhdGVfZW5xdWV1ZTsKKwlpbnN0LT5hbGcuY3JhX2FoYXNoLmZpbmFsICA9IGNyeXB0ZF9oYXNoX2ZpbmFsX2VucXVldWU7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5zZXRrZXkgPSBjcnlwdGRfaGFzaF9zZXRrZXk7CisJaW5zdC0+YWxnLmNyYV9haGFzaC5kaWdlc3QgPSBjcnlwdGRfaGFzaF9kaWdlc3RfZW5xdWV1ZTsKKworb3V0X3B1dF9hbGc6CisJY3J5cHRvX21vZF9wdXQoYWxnKTsKKwlyZXR1cm4gaW5zdDsKK30KKwogc3RhdGljIHN0cnVjdCBjcnlwdGRfc3RhdGUgc3RhdGU7CiAKIHN0YXRpYyBzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICpjcnlwdGRfYWxsb2Moc3RydWN0IHJ0YXR0ciAqKnRiKQpAQCAtMjc0LDYgKzUxNSw4IEBACiAJc3dpdGNoIChhbGd0LT50eXBlICYgYWxndC0+bWFzayAmIENSWVBUT19BTEdfVFlQRV9NQVNLKSB7CiAJY2FzZSBDUllQVE9fQUxHX1RZUEVfQkxLQ0lQSEVSOgogCQlyZXR1cm4gY3J5cHRkX2FsbG9jX2Jsa2NpcGhlcih0YiwgJnN0YXRlKTsKKwljYXNlIENSWVBUT19BTEdfVFlQRV9ESUdFU1Q6CisJCXJldHVybiBjcnlwdGRfYWxsb2NfaGFzaCh0YiwgJnN0YXRlKTsKIAl9CiAKIAlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9kaWdlc3QuYyBiL2NyeXB0by9kaWdlc3QuYwppbmRleCBiNTI2Y2MzLi5hYzA5MTk0IDEwMDY0NAotLS0gYS9jcnlwdG8vZGlnZXN0LmMKKysrIGIvY3J5cHRvL2RpZ2VzdC5jCkBAIC0xMiw2ICsxMiw3IEBACiAgKgogICovCiAKKyNpbmNsdWRlIDxjcnlwdG8vaW50ZXJuYWwvaGFzaC5oPgogI2luY2x1ZGUgPGNyeXB0by9zY2F0dGVyd2Fsay5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KQEAgLTE0MSw3ICsxNDIsNyBAQAogCXN0cnVjdCBoYXNoX3RmbSAqb3BzID0gJnRmbS0+Y3J0X2hhc2g7CiAJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CiAKLQlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBjcnlwdG9fdGZtX2FsZ19ibG9ja3NpemUodGZtKSkKKwlpZiAoZGFsZy0+ZGlhX2RpZ2VzdHNpemUgPiBQQUdFX1NJWkUgLyA4KQogCQlyZXR1cm4gLUVJTlZBTDsKIAkKIAlvcHMtPmluaXQJPSBpbml0OwpAQCAtMTU3LDMgKzE1OCw4MyBAQAogdm9pZCBjcnlwdG9fZXhpdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiB9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX25vc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIC1FTk9TWVM7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm1fYXN5bmMsIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICAgICp0Zm0gICAgICAgID0gY3J5cHRvX2FoYXNoX3RmbSh0Zm1fYXN5bmMpOworCXN0cnVjdCBkaWdlc3RfYWxnICAgICpkYWxnICAgICAgID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfZGlnZXN0OworCisJY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHRmbV9hc3luYywgQ1JZUFRPX1RGTV9SRVNfTUFTSyk7CisJcmV0dXJuIGRhbGctPmRpYV9zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtICA9IHJlcS0+YmFzZS50Zm07CisJc3RydWN0IGRpZ2VzdF9hbGcgKmRhbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9kaWdlc3Q7CisKKwlkYWxnLT5kaWFfaW5pdCh0Zm0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRpZ2VzdF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwl1cGRhdGUoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2ZpbmFsKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b190Zm0gKnRmbSAgPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gICA9IF9fY3J5cHRvX2hhc2hfY2FzdCh0Zm0pLAorCQkuZmxhZ3MgPSByZXEtPmJhc2UuZmxhZ3MsCisJfTsKKworCWZpbmFsKCZkZXNjLCByZXEtPnJlc3VsdCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZGlnZXN0X2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtICAgPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gZGlnZXN0KCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMsIHJlcS0+cmVzdWx0KTsKK30KKworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICAqY3J0ICA9ICZ0Zm0tPmNydF9haGFzaDsKKwlzdHJ1Y3QgZGlnZXN0X2FsZyAqZGFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2RpZ2VzdDsKKworCWlmIChkYWxnLT5kaWFfZGlnZXN0c2l6ZSA+IGNyeXB0b190Zm1fYWxnX2Jsb2Nrc2l6ZSh0Zm0pKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNydC0+aW5pdCAgICAgICA9IGRpZ2VzdF9hc3luY19pbml0OworCWNydC0+dXBkYXRlICAgICA9IGRpZ2VzdF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gZGlnZXN0X2FzeW5jX2ZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGRpZ2VzdF9hc3luY19kaWdlc3Q7CisJY3J0LT5zZXRrZXkgICAgID0gZGFsZy0+ZGlhX3NldGtleSA/IGRpZ2VzdF9hc3luY19zZXRrZXkgOgorCQkJCQkJZGlnZXN0X2FzeW5jX25vc2V0a2V5OworCWNydC0+ZGlnZXN0c2l6ZSA9IGRhbGctPmRpYV9kaWdlc3RzaXplOworCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9jcnlwdG8vaGFzaC5jIGIvY3J5cHRvL2hhc2guYwppbmRleCA3ZGNmZjY3Li5jYjg2YjE5IDEwMDY0NAotLS0gYS9jcnlwdG8vaGFzaC5jCisrKyBiL2NyeXB0by9oYXNoLmMKQEAgLTksNiArOSw3IEBACiAgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTksMjQgKzYwLDEwNyBAQAogCXJldHVybiBhbGctPnNldGtleShjcnQsIGtleSwga2V5bGVuKTsKIH0KIAotc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1MzIgdHlwZSwgdTMyIG1hc2spCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbV9hc3luYywgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGNyeXB0b190Zm0gICp0Zm0gICAgICA9IGNyeXB0b19haGFzaF90Zm0odGZtX2FzeW5jKTsKKwlzdHJ1Y3QgY3J5cHRvX2hhc2ggKnRmbV9oYXNoID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSk7CisJc3RydWN0IGhhc2hfYWxnICAgICphbGcgICAgICA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlyZXR1cm4gYWxnLT5zZXRrZXkodGZtX2hhc2gsIGtleSwga2V5bGVuKTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2luaXQoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+aW5pdCgmZGVzYyk7Cit9CisKK3N0YXRpYyBpbnQgaGFzaF9hc3luY191cGRhdGUoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+dXBkYXRlKCZkZXNjLCByZXEtPnNyYywgcmVxLT5uYnl0ZXMpOworfQorCitzdGF0aWMgaW50IGhhc2hfYXN5bmNfZmluYWwoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtID0gcmVxLT5iYXNlLnRmbTsKKwlzdHJ1Y3QgaGFzaF9hbGcgICAqYWxnID0gJnRmbS0+X19jcnRfYWxnLT5jcmFfaGFzaDsKKwlzdHJ1Y3QgaGFzaF9kZXNjICBkZXNjID0geworCQkudGZtID0gX19jcnlwdG9faGFzaF9jYXN0KHRmbSksCisJCS5mbGFncyA9IHJlcS0+YmFzZS5mbGFncywKKwl9OworCisJcmV0dXJuIGFsZy0+ZmluYWwoJmRlc2MsIHJlcS0+cmVzdWx0KTsKK30KKworc3RhdGljIGludCBoYXNoX2FzeW5jX2RpZ2VzdChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fdGZtICp0Zm0gPSByZXEtPmJhc2UudGZtOworCXN0cnVjdCBoYXNoX2FsZyAgICphbGcgPSAmdGZtLT5fX2NydF9hbGctPmNyYV9oYXNoOworCXN0cnVjdCBoYXNoX2Rlc2MgIGRlc2MgPSB7CisJCS50Zm0gPSBfX2NyeXB0b19oYXNoX2Nhc3QodGZtKSwKKwkJLmZsYWdzID0gcmVxLT5iYXNlLmZsYWdzLAorCX07CisKKwlyZXR1cm4gYWxnLT5kaWdlc3QoJmRlc2MsIHJlcS0+c3JjLCByZXEtPm5ieXRlcywgcmVxLT5yZXN1bHQpOworfQorCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzX2FzeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGFoYXNoX3RmbSAqY3J0ID0gJnRmbS0+Y3J0X2FoYXNoOworCXN0cnVjdCBoYXNoX2FsZyAgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwljcnQtPmluaXQgICAgICAgPSBoYXNoX2FzeW5jX2luaXQ7CisJY3J0LT51cGRhdGUgICAgID0gaGFzaF9hc3luY191cGRhdGU7CisJY3J0LT5maW5hbCAgICAgID0gaGFzaF9hc3luY19maW5hbDsKKwljcnQtPmRpZ2VzdCAgICAgPSBoYXNoX2FzeW5jX2RpZ2VzdDsKKwljcnQtPnNldGtleSAgICAgPSBoYXNoX2FzeW5jX3NldGtleTsKKwljcnQtPmRpZ2VzdHNpemUgPSBhbGctPmRpZ2VzdHNpemU7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCiB7CiAJc3RydWN0IGhhc2hfdGZtICpjcnQgPSAmdGZtLT5jcnRfaGFzaDsKIAlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CiAKLQlpZiAoYWxnLT5kaWdlc3RzaXplID4gY3J5cHRvX3RmbV9hbGdfYmxvY2tzaXplKHRmbSkpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JY3J0LT5pbml0ID0gYWxnLT5pbml0OwotCWNydC0+dXBkYXRlID0gYWxnLT51cGRhdGU7Ci0JY3J0LT5maW5hbCA9IGFsZy0+ZmluYWw7Ci0JY3J0LT5kaWdlc3QgPSBhbGctPmRpZ2VzdDsKLQljcnQtPnNldGtleSA9IGhhc2hfc2V0a2V5OworCWNydC0+aW5pdCAgICAgICA9IGFsZy0+aW5pdDsKKwljcnQtPnVwZGF0ZSAgICAgPSBhbGctPnVwZGF0ZTsKKwljcnQtPmZpbmFsICAgICAgPSBhbGctPmZpbmFsOworCWNydC0+ZGlnZXN0ICAgICA9IGFsZy0+ZGlnZXN0OworCWNydC0+c2V0a2V5ICAgICA9IGhhc2hfc2V0a2V5OwogCWNydC0+ZGlnZXN0c2l6ZSA9IGFsZy0+ZGlnZXN0c2l6ZTsKIAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGNyeXB0b19pbml0X2hhc2hfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHUzMiB0eXBlLCB1MzIgbWFzaykKK3sKKwlzdHJ1Y3QgaGFzaF9hbGcgKmFsZyA9ICZ0Zm0tPl9fY3J0X2FsZy0+Y3JhX2hhc2g7CisKKwlpZiAoYWxnLT5kaWdlc3RzaXplID4gUEFHRV9TSVpFIC8gOCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoKG1hc2sgJiBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKSAhPSBDUllQVE9fQUxHX1RZUEVfSEFTSF9NQVNLKQorCQlyZXR1cm4gY3J5cHRvX2luaXRfaGFzaF9vcHNfYXN5bmModGZtKTsKKwllbHNlCisJCXJldHVybiBjcnlwdG9faW5pdF9oYXNoX29wc19zeW5jKHRmbSk7Cit9CisKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQogCV9fYXR0cmlidXRlX18gKCh1bnVzZWQpKTsKIHN0YXRpYyB2b2lkIGNyeXB0b19oYXNoX3Nob3coc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgY3J5cHRvX2FsZyAqYWxnKQpkaWZmIC0tZ2l0IGEvY3J5cHRvL2htYWMuYyBiL2NyeXB0by9obWFjLmMKaW5kZXggMTRjNjM1MS4uN2ZmMmQ2YSAxMDA2NDQKLS0tIGEvY3J5cHRvL2htYWMuYworKysgYi9jcnlwdG8vaG1hYy5jCkBAIC0yMjYsNiArMjI2LDcgQEAKIAlzdHJ1Y3QgY3J5cHRvX2luc3RhbmNlICppbnN0OwogCXN0cnVjdCBjcnlwdG9fYWxnICphbGc7CiAJaW50IGVycjsKKwlpbnQgZHM7CiAKIAllcnIgPSBjcnlwdG9fY2hlY2tfYXR0cl90eXBlKHRiLCBDUllQVE9fQUxHX1RZUEVfSEFTSCk7CiAJaWYgKGVycikKQEAgLTIzNiw2ICsyMzcsMTMgQEAKIAlpZiAoSVNfRVJSKGFsZykpCiAJCXJldHVybiBFUlJfQ0FTVChhbGcpOwogCisJaW5zdCA9IEVSUl9QVFIoLUVJTlZBTCk7CisJZHMgPSAoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KKwkgICAgIENSWVBUT19BTEdfVFlQRV9IQVNIID8gYWxnLT5jcmFfaGFzaC5kaWdlc3RzaXplIDoKKwkJCQkgICAgYWxnLT5jcmFfZGlnZXN0LmRpYV9kaWdlc3RzaXplOworCWlmIChkcyA+IGFsZy0+Y3JhX2Jsb2Nrc2l6ZSkKKwkJZ290byBvdXRfcHV0X2FsZzsKKwogCWluc3QgPSBjcnlwdG9fYWxsb2NfaW5zdGFuY2UoImhtYWMiLCBhbGcpOwogCWlmIChJU19FUlIoaW5zdCkpCiAJCWdvdG8gb3V0X3B1dF9hbGc7CkBAIC0yNDYsMTQgKzI1NCwxMCBAQAogCWluc3QtPmFsZy5jcmFfYWxpZ25tYXNrID0gYWxnLT5jcmFfYWxpZ25tYXNrOwogCWluc3QtPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9faGFzaF90eXBlOwogCi0JaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPQotCQkoYWxnLT5jcmFfZmxhZ3MgJiBDUllQVE9fQUxHX1RZUEVfTUFTSykgPT0KLQkJQ1JZUFRPX0FMR19UWVBFX0hBU0ggPyBhbGctPmNyYV9oYXNoLmRpZ2VzdHNpemUgOgotCQkJCSAgICAgICBhbGctPmNyYV9kaWdlc3QuZGlhX2RpZ2VzdHNpemU7CisJaW5zdC0+YWxnLmNyYV9oYXNoLmRpZ2VzdHNpemUgPSBkczsKIAogCWluc3QtPmFsZy5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaG1hY19jdHgpICsKLQkJCQlBTElHTihpbnN0LT5hbGcuY3JhX2Jsb2Nrc2l6ZSAqIDIgKwotCQkJCSAgICAgIGluc3QtPmFsZy5jcmFfaGFzaC5kaWdlc3RzaXplLAorCQkJCUFMSUdOKGluc3QtPmFsZy5jcmFfYmxvY2tzaXplICogMiArIGRzLAogCQkJCSAgICAgIHNpemVvZih2b2lkICopKTsKIAogCWluc3QtPmFsZy5jcmFfaW5pdCA9IGhtYWNfaW5pdF90Zm07CmRpZmYgLS1naXQgYS9jcnlwdG8vaW50ZXJuYWwuaCBiL2NyeXB0by9pbnRlcm5hbC5oCmluZGV4IDMyZjRjMjEuLjY4M2ZjYjIgMTAwNjQ0Ci0tLSBhL2NyeXB0by9pbnRlcm5hbC5oCisrKyBiL2NyeXB0by9pbnRlcm5hbC5oCkBAIC04Niw2ICs4Niw3IEBACiBzdHJ1Y3QgY3J5cHRvX2FsZyAqY3J5cHRvX2FsZ19tb2RfbG9va3VwKGNvbnN0IGNoYXIgKm5hbWUsIHUzMiB0eXBlLCB1MzIgbWFzayk7CiAKIGludCBjcnlwdG9faW5pdF9kaWdlc3Rfb3BzKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pOworaW50IGNyeXB0b19pbml0X2RpZ2VzdF9vcHNfYXN5bmMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiBpbnQgY3J5cHRvX2luaXRfY2lwaGVyX29wcyhzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKTsKIGludCBjcnlwdG9faW5pdF9jb21wcmVzc19vcHMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSk7CiAKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmMgYi9jcnlwdG8vcHJuZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTRmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5jCkBAIC0wLDAgKzEsNDEwIEBACisvKgorICogUFJORzogUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yCisgKiAgICAgICBCYXNlZCBvbiBOSVNUIFJlY29tbWVuZGVkIFBSTkcgRnJvbSBBTlNJIFg5LjMxIEFwcGVuZGl4IEEuMi40IHVzaW5nCisgKiAgICAgICBBRVMgMTI4IGNpcGhlciBpbiBSRkMzNjg2IGN0ciBtb2RlCisgKgorICogIChDKSBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC90aW1leC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KKyNpbmNsdWRlICJwcm5nLmgiCisKKyNkZWZpbmUgVEVTVF9QUk5HX09OX1NUQVJUIDAKKworI2RlZmluZSBERUZBVUxUX1BSTkdfS0VZICIwMTIzNDU2Nzg5YWJjZGVmMTAxMSIKKyNkZWZpbmUgREVGQVVMVF9QUk5HX0tTWiAyMAorI2RlZmluZSBERUZBVUxUX1BSTkdfSVYgImRlZmF1bHR2IgorI2RlZmluZSBERUZBVUxUX1BSTkdfSVZTWiA4CisjZGVmaW5lIERFRkFVTFRfQkxLX1NaIDE2CisjZGVmaW5lIERFRkFVTFRfVl9TRUVEICJ6YXlieGN3ZHZldWZ0Z3NoIgorCisvKgorICogRmxhZ3MgZm9yIHRoZSBwcm5nX2NvbnRleHQgZmxhZ3MgZmllbGQKKyAqLworCisjZGVmaW5lIFBSTkdfRklYRURfU0laRSAweDEKKyNkZWZpbmUgUFJOR19ORUVEX1JFU0VUIDB4MgorCisvKgorICogTm90ZTogRFQgaXMgb3VyIGNvdW50ZXIgdmFsdWUKKyAqIAkgSSBpcyBvdXIgaW50ZXJtZWRpYXRlIHZhbHVlCisgKgkgViBpcyBvdXIgc2VlZCB2ZWN0b3IKKyAqIFNlZSBodHRwOi8vY3NyYy5uaXN0Lmdvdi9ncm91cHMvU1RNL2NhdnAvZG9jdW1lbnRzL3JuZy85MzFybmdleHQucGRmCisgKiBmb3IgaW1wbGVtZW50YXRpb24gZGV0YWlscworICovCisKKworc3RydWN0IHBybmdfY29udGV4dCB7CisJY2hhciAqcHJuZ19rZXk7CisJY2hhciAqcHJuZ19pdjsKKwlzcGlubG9ja190IHBybmdfbG9jazsKKwl1bnNpZ25lZCBjaGFyIHJhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBsYXN0X3JhbmRfZGF0YVtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBEVFtERUZBVUxUX0JMS19TWl07CisJdW5zaWduZWQgY2hhciBJW0RFRkFVTFRfQkxLX1NaXTsKKwl1bnNpZ25lZCBjaGFyIFZbREVGQVVMVF9CTEtfU1pdOworCXUzMiByYW5kX2RhdGFfdmFsaWQ7CisJc3RydWN0IGNyeXB0b19ibGtjaXBoZXIgKnRmbTsKKwl1MzIgZmxhZ3M7Cit9OworCitzdGF0aWMgaW50IGRiZzsKKworc3RhdGljIHZvaWQgaGV4ZHVtcChjaGFyICpub3RlLCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGludCBsZW4pCit7CisJaWYgKGRiZykgeworCQlwcmludGsoS0VSTl9DUklUICIlcyIsIG5vdGUpOworCQlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9PRkZTRVQsCisJCQkJMTYsIDEsCisJCQkJYnVmLCBsZW4sIGZhbHNlKTsKKwl9Cit9CisKKyNkZWZpbmUgZGJncHJpbnQoZm9ybWF0LCBhcmdzLi4uKSBkbyB7aWYoZGJnKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpO30gd2hpbGUoMCkKKworc3RhdGljIHZvaWQgeG9yX3ZlY3RvcnModW5zaWduZWQgY2hhciAqaW4xLCB1bnNpZ25lZCBjaGFyICppbjIsCisJCSAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKK3sKKwlpbnQgaTsKKworCWZvciAoaT0wO2k8c2l6ZTtpKyspCisJCW91dFtpXSA9IGluMVtpXSBeIGluMltpXTsKKworfQorLyoKKyAqIFJldHVybnMgREVGQVVMVF9CTEtfU1ogYnl0ZXMgb2YgcmFuZG9tIGRhdGEgcGVyIGNhbGwKKyAqIHJldHVybnMgMCBpZiBnZW5lcmF0aW9uIHN1Y2NlZGVkLCA8MCBpZiBzb21ldGhpbmcgd2VudCB3cm9uZworICovCitzdGF0aWMgaW50IF9nZXRfbW9yZV9wcm5nX2J5dGVzKHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgYmxrY2lwaGVyX2Rlc2MgZGVzYzsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dfaW4sIHNnX291dDsKKwlpbnQgcmV0OworCXVuc2lnbmVkIGNoYXIgdG1wW0RFRkFVTFRfQkxLX1NaXTsKKworCWRlc2MudGZtID0gY3R4LT50Zm07CisJZGVzYy5mbGFncyA9IDA7CisKKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAiQ2FsbGluZyBfZ2V0X21vcmVfcHJuZ19ieXRlcyBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCisJaGV4ZHVtcCgiSW5wdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBJOiAiLCBjdHgtPkksIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJJbnB1dCBWOiAiLCBjdHgtPlYsIERFRkFVTFRfQkxLX1NaKTsKKworCS8qCisJICogVGhpcyBhbGdvcml0aG0gaXMgYSAzIHN0YWdlIHN0YXRlIG1hY2hpbmUKKwkgKi8KKwlmb3IgKGk9MDtpPDM7aSsrKSB7CisKKwkJZGVzYy50Zm0gPSBjdHgtPnRmbTsKKwkJZGVzYy5mbGFncyA9IDA7CisJCXN3aXRjaCAoaSkgeworCQkJY2FzZSAwOgorCQkJCS8qCisJCQkJICogU3RhcnQgYnkgZW5jcnlwdGluZyB0aGUgY291bnRlciB2YWx1ZQorCQkJCSAqIFRoaXMgZ2l2ZXMgdXMgYW4gaW50ZXJtZWRpYXRlIHZhbHVlIEkKKwkJCQkgKi8KKwkJCQltZW1jcHkodG1wLCBjdHgtPkRULCBERUZBVUxUX0JMS19TWik7CisJCQkJc2dfaW5pdF9vbmUoJnNnX291dCwgJmN0eC0+SVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAwOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMToKKworCQkJCS8qCisJCQkJICogTmV4dCB4b3IgSSB3aXRoIG91ciBzZWNyZXQgdmVjdG9yIFYKKwkJCQkgKiBlbmNyeXB0IHRoYXQgcmVzdWx0IHRvIG9idGFpbiBvdXIKKwkJCQkgKiBwc2V1ZG8gcmFuZG9tIGRhdGEgd2hpY2ggd2Ugb3V0cHV0CisJCQkJICovCisJCQkJeG9yX3ZlY3RvcnMoY3R4LT5JLCBjdHgtPlYsIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPnJhbmRfZGF0YVswXSwgREVGQVVMVF9CTEtfU1opOworCQkJCWhleGR1bXAoInRtcCBzdGFnZSAxOiAiLCB0bXAsIERFRkFVTFRfQkxLX1NaKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMjoKKwkJCQkvKgorCQkJCSAqIEZpcnN0IGNoZWNrIHRoYXQgd2UgZGlkbid0IHByb2R1Y2UgdGhlIHNhbWUgcmFuZG9tIGRhdGEKKwkJCQkgKiB0aGF0IHdlIGRpZCBsYXN0IHRpbWUgYXJvdW5kIHRocm91Z2ggdGhpcworCQkJCSAqLworCQkJCWlmICghbWVtY21wKGN0eC0+cmFuZF9kYXRhLCBjdHgtPmxhc3RfcmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWikpIHsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICJjdHggJXAgRmFpbGVkIHJlcGV0aXRpb24gY2hlY2shXG4iLAorCQkJCQkJY3R4KTsKKwkJCQkJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisJCQkJCXJldHVybiAtMTsKKwkJCQl9CisJCQkJbWVtY3B5KGN0eC0+bGFzdF9yYW5kX2RhdGEsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisKKwkJCQkvKgorCQkJCSAqIExhc3RseSB4b3IgdGhlIHJhbmRvbSBkYXRhIHdpdGggSQorCQkJCSAqIGFuZCBlbmNyeXB0IHRoYXQgdG8gb2J0YWluIGEgbmV3IHNlY3JldCB2ZWN0b3IgVgorCQkJCSAqLworCQkJCXhvcl92ZWN0b3JzKGN0eC0+cmFuZF9kYXRhLCBjdHgtPkksIHRtcCwgREVGQVVMVF9CTEtfU1opOworCQkJCXNnX2luaXRfb25lKCZzZ19vdXQsICZjdHgtPlZbMF0sIERFRkFVTFRfQkxLX1NaKTsKKwkJCQloZXhkdW1wKCJ0bXAgc3RhZ2UgMjogIiwgdG1wLCBERUZBVUxUX0JMS19TWik7CisJCQkJYnJlYWs7CisJCX0KKworCQkvKiBJbml0aWFsaXplIG91ciBpbnB1dCBidWZmZXIgKi8KKwkJc2dfaW5pdF9vbmUoJnNnX2luLCAmdG1wWzBdLCBERUZBVUxUX0JMS19TWik7CisKKwkJLyogZG8gdGhlIGVuY3J5cHRpb24gKi8KKwkJcmV0ID0gY3J5cHRvX2Jsa2NpcGhlcl9lbmNyeXB0KCZkZXNjLCAmc2dfb3V0LCAmc2dfaW4sIERFRkFVTFRfQkxLX1NaKTsKKworCQkvKiBBbmQgY2hlY2sgdGhlIHJlc3VsdCAqLworCQlpZiAocmV0KSB7CisJCQlkYmdwcmludChLRVJOX0NSSVQgIkVuY3J5cHRpb24gb2YgbmV3IGJsb2NrIGZhaWxlZCBmb3IgY29udGV4dCAlcFxuIixjdHgpOworCQkJY3R4LT5yYW5kX2RhdGFfdmFsaWQgPSBERUZBVUxUX0JMS19TWjsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJfQorCisJLyoKKwkgKiBOb3cgdXBkYXRlIG91ciBEVCB2YWx1ZQorCSAqLworCWZvciAoaT1ERUZBVUxUX0JMS19TWi0xO2k+MDtpLS0pIHsKKwkJY3R4LT5EVFtpXSA9IGN0eC0+RFRbaS0xXTsKKwl9CisJY3R4LT5EVFswXSArPSAxOworCisJZGJncHJpbnQoIlJldHVybmluZyBuZXcgYmxvY2sgZm9yIGNvbnRleHQgJXBcbiIsY3R4KTsKKwljdHgtPnJhbmRfZGF0YV92YWxpZCA9IDA7CisKKwloZXhkdW1wKCJPdXRwdXQgRFQ6ICIsIGN0eC0+RFQsIERFRkFVTFRfQkxLX1NaKTsKKwloZXhkdW1wKCJPdXRwdXQgSTogIiwgY3R4LT5JLCBERUZBVUxUX0JMS19TWik7CisJaGV4ZHVtcCgiT3V0cHV0IFY6ICIsIGN0eC0+ViwgREVGQVVMVF9CTEtfU1opOworCWhleGR1bXAoIk5ldyBSYW5kb20gRGF0YTogIiwgY3R4LT5yYW5kX2RhdGEsIERFRkFVTFRfQkxLX1NaKTsKKworCXJldHVybiAwOworfQorCisvKiBPdXIgZXhwb3J0ZWQgZnVuY3Rpb25zICovCitpbnQgZ2V0X3BybmdfYnl0ZXMoY2hhciAqYnVmLCBpbnQgbmJ5dGVzLCBzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHgpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBjaGFyICpwdHIgPSBidWY7CisJdW5zaWduZWQgaW50IGJ5dGVfY291bnQgPSAodW5zaWduZWQgaW50KW5ieXRlczsKKwlpbnQgZXJyOworCisKKwlpZiAobmJ5dGVzIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY3R4LT5wcm5nX2xvY2ssIGZsYWdzKTsKKworCWVyciA9IC1FRkFVTFQ7CisJaWYgKGN0eC0+ZmxhZ3MgJiBQUk5HX05FRURfUkVTRVQpCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogSWYgdGhlIEZJWEVEX1NJWkUgZmxhZyBpcyBvbiwgb25seSByZXR1cm4gd2hvbGUgYmxvY2tzIG9mCisJICogcHNldWRvIHJhbmRvbSBkYXRhCisJICovCisJZXJyID0gLUVJTlZBTDsKKwlpZiAoY3R4LT5mbGFncyAmIFBSTkdfRklYRURfU0laRSkgeworCQlpZiAobmJ5dGVzIDwgREVGQVVMVF9CTEtfU1opCisJCQlnb3RvIGRvbmU7CisJCWJ5dGVfY291bnQgPSBERUZBVUxUX0JMS19TWjsKKwl9CisKKwllcnIgPSBieXRlX2NvdW50OworCisJZGJncHJpbnQoS0VSTl9DUklUICJnZXR0aW5nICVkIHJhbmRvbSBieXRlcyBmb3IgY29udGV4dCAlcFxuIixieXRlX2NvdW50LCBjdHgpOworCisKK3JlbWFpbmRlcjoKKwlpZiAoY3R4LT5yYW5kX2RhdGFfdmFsaWQgPT0gREVGQVVMVF9CTEtfU1opIHsKKwkJaWYgKF9nZXRfbW9yZV9wcm5nX2J5dGVzKGN0eCkgPCAwKSB7CisJCQltZW1zZXQoYnVmLCAwLCBuYnl0ZXMpOworCQkJZXJyID0gLUVGQVVMVDsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogQ29weSB1cCB0byB0aGUgbmV4dCB3aG9sZSBibG9jayBzaXplCisJICovCisJaWYgKGJ5dGVfY291bnQgPCBERUZBVUxUX0JMS19TWikgeworCQlmb3IgKDtjdHgtPnJhbmRfZGF0YV92YWxpZCA8IERFRkFVTFRfQkxLX1NaOyBjdHgtPnJhbmRfZGF0YV92YWxpZCsrKSB7CisJCQkqcHRyID0gY3R4LT5yYW5kX2RhdGFbY3R4LT5yYW5kX2RhdGFfdmFsaWRdOworCQkJcHRyKys7CisJCQlieXRlX2NvdW50LS07CisJCQlpZiAoYnl0ZV9jb3VudCA9PSAwKQorCQkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qCisJICogTm93IGNvcHkgd2hvbGUgYmxvY2tzCisJICovCisJZm9yKDtieXRlX2NvdW50ID49IERFRkFVTFRfQkxLX1NaOyBieXRlX2NvdW50IC09IERFRkFVTFRfQkxLX1NaKSB7CisJCWlmIChfZ2V0X21vcmVfcHJuZ19ieXRlcyhjdHgpIDwgMCkgeworCQkJbWVtc2V0KGJ1ZiwgMCwgbmJ5dGVzKTsKKwkJCWVyciA9IC0xOworCQkJZ290byBkb25lOworCQl9CisJCW1lbWNweShwdHIsIGN0eC0+cmFuZF9kYXRhLCBERUZBVUxUX0JMS19TWik7CisJCWN0eC0+cmFuZF9kYXRhX3ZhbGlkICs9IERFRkFVTFRfQkxLX1NaOworCQlwdHIgKz0gREVGQVVMVF9CTEtfU1o7CisJfQorCisJLyoKKwkgKiBOb3cgY29weSBhbnkgZXh0cmEgcGFydGlhbCBkYXRhCisJICovCisJaWYgKGJ5dGVfY291bnQpCisJCWdvdG8gcmVtYWluZGVyOworCitkb25lOgorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0eC0+cHJuZ19sb2NrLCBmbGFncyk7CisJZGJncHJpbnQoS0VSTl9DUklUICJyZXR1cm5pbmcgJWQgZnJvbSBnZXRfcHJuZ19ieXRlcyBpbiBjb250ZXh0ICVwXG4iLGVyciwgY3R4KTsKKwlyZXR1cm4gZXJyOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZ2V0X3BybmdfYnl0ZXMpOworCitzdHJ1Y3QgcHJuZ19jb250ZXh0ICphbGxvY19wcm5nX2NvbnRleHQodm9pZCkKK3sKKwlzdHJ1Y3QgcHJuZ19jb250ZXh0ICpjdHg9a3phbGxvYyhzaXplb2Yoc3RydWN0IHBybmdfY29udGV4dCksIEdGUF9LRVJORUwpOworCisJc3Bpbl9sb2NrX2luaXQoJmN0eC0+cHJuZ19sb2NrKTsKKworCWlmIChyZXNldF9wcm5nX2NvbnRleHQoY3R4LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKSkgeworCQlrZnJlZShjdHgpOworCQljdHggPSBOVUxMOworCX0KKworCWRiZ3ByaW50KEtFUk5fQ1JJVCAicmV0dXJuaW5nIGNvbnRleHQgJXBcbiIsY3R4KTsKKwlyZXR1cm4gY3R4OworfQorCitFWFBPUlRfU1lNQk9MX0dQTChhbGxvY19wcm5nX2NvbnRleHQpOworCit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCkKK3sKKwljcnlwdG9fZnJlZV9ibGtjaXBoZXIoY3R4LT50Zm0pOworCWtmcmVlKGN0eCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChmcmVlX3BybmdfY29udGV4dCk7CisKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkgICAgICAgdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJICAgICAgIHVuc2lnbmVkIGNoYXIgKlYsIHVuc2lnbmVkIGNoYXIgKkRUKQoreworCWludCByZXQ7CisJaW50IGl2X2xlbjsKKwlpbnQgcmMgPSAtRUZBVUxUOworCisJc3Bpbl9sb2NrKCZjdHgtPnBybmdfbG9jayk7CisJY3R4LT5mbGFncyB8PSBQUk5HX05FRURfUkVTRVQ7CisKKwlpZiAoa2V5KQorCQltZW1jcHkoY3R4LT5wcm5nX2tleSxrZXksc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwllbHNlCisJCWN0eC0+cHJuZ19rZXkgPSBERUZBVUxUX1BSTkdfS0VZOworCisJaWYgKGl2KQorCQltZW1jcHkoY3R4LT5wcm5nX2l2LGl2LCBzdHJsZW4oY3R4LT5wcm5nX2l2KSk7CisJZWxzZQorCQljdHgtPnBybmdfaXYgPSBERUZBVUxUX1BSTkdfSVY7CisKKwlpZiAoVikKKwkJbWVtY3B5KGN0eC0+VixWLERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbWNweShjdHgtPlYsREVGQVVMVF9WX1NFRUQsREVGQVVMVF9CTEtfU1opOworCisJaWYgKERUKQorCQltZW1jcHkoY3R4LT5EVCwgRFQsIERFRkFVTFRfQkxLX1NaKTsKKwllbHNlCisJCW1lbXNldChjdHgtPkRULCAwLCBERUZBVUxUX0JMS19TWik7CisKKwltZW1zZXQoY3R4LT5yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisJbWVtc2V0KGN0eC0+bGFzdF9yYW5kX2RhdGEsMCxERUZBVUxUX0JMS19TWik7CisKKwlpZiAoY3R4LT50Zm0pCisJCWNyeXB0b19mcmVlX2Jsa2NpcGhlcihjdHgtPnRmbSk7CisKKwljdHgtPnRmbSA9IGNyeXB0b19hbGxvY19ibGtjaXBoZXIoInJmYzM2ODYoY3RyKGFlcykpIiwwLDApOworCWlmICghY3R4LT50Zm0pIHsKKwkJZGJncHJpbnQoS0VSTl9DUklUICJGYWlsZWQgdG8gYWxsb2MgY3J5cHRvIHRmbSBmb3IgY29udGV4dCAlcFxuIixjdHgtPnRmbSk7CisJCWdvdG8gb3V0OworCX0KKworCWN0eC0+cmFuZF9kYXRhX3ZhbGlkID0gREVGQVVMVF9CTEtfU1o7CisKKwlyZXQgPSBjcnlwdG9fYmxrY2lwaGVyX3NldGtleShjdHgtPnRmbSwgY3R4LT5wcm5nX2tleSwgc3RybGVuKGN0eC0+cHJuZ19rZXkpKTsKKwlpZiAocmV0KSB7CisJCWRiZ3ByaW50KEtFUk5fQ1JJVCAiUFJORzogc2V0a2V5KCkgZmFpbGVkIGZsYWdzPSV4XG4iLAorCQkJY3J5cHRvX2Jsa2NpcGhlcl9nZXRfZmxhZ3MoY3R4LT50Zm0pKTsKKwkJY3J5cHRvX2ZyZWVfYmxrY2lwaGVyKGN0eC0+dGZtKTsKKwkJZ290byBvdXQ7CisJfQorCisJaXZfbGVuID0gY3J5cHRvX2Jsa2NpcGhlcl9pdnNpemUoY3R4LT50Zm0pOworCWlmIChpdl9sZW4pIHsKKwkJY3J5cHRvX2Jsa2NpcGhlcl9zZXRfaXYoY3R4LT50Zm0sIGN0eC0+cHJuZ19pdiwgaXZfbGVuKTsKKwl9CisJcmMgPSAwOworCWN0eC0+ZmxhZ3MgJj0gflBSTkdfTkVFRF9SRVNFVDsKK291dDoKKwlzcGluX3VubG9jaygmY3R4LT5wcm5nX2xvY2spOworCisJcmV0dXJuIHJjOworCit9CitFWFBPUlRfU1lNQk9MX0dQTChyZXNldF9wcm5nX2NvbnRleHQpOworCisvKiBNb2R1bGUgaW5pdGFsaXphdGlvbiAqLworc3RhdGljIGludCBfX2luaXQgcHJuZ19tb2RfaW5pdCh2b2lkKQoreworCisjaWZkZWYgVEVTVF9QUk5HX09OX1NUQVJUCisJaW50IGk7CisJdW5zaWduZWQgY2hhciB0bXBidWZbREVGQVVMVF9CTEtfU1pdOworCisJc3RydWN0IHBybmdfY29udGV4dCAqY3R4ID0gYWxsb2NfcHJuZ19jb250ZXh0KCk7CisJaWYgKGN0eCA9PSBOVUxMKQorCQlyZXR1cm4gLUVGQVVMVDsKKwlmb3IgKGk9MDtpPDE2O2krKykgeworCQlpZiAoZ2V0X3BybmdfYnl0ZXModG1wYnVmLCBERUZBVUxUX0JMS19TWiwgY3R4KSA8IDApIHsKKwkJCWZyZWVfcHJuZ19jb250ZXh0KGN0eCk7CisJCQlyZXR1cm4gLUVGQVVMVDsKKwkJfQorCX0KKwlmcmVlX3BybmdfY29udGV4dChjdHgpOworI2VuZGlmCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHBybmdfbW9kX2Zpbmkodm9pZCkKK3sKKwlyZXR1cm47Cit9CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiU29mdHdhcmUgUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIik7CitNT0RVTEVfQVVUSE9SKCJOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPiIpOworbW9kdWxlX3BhcmFtKGRiZywgaW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0MoZGJnLCAiQm9vbGVhbiB0byBlbmFibGUgZGVidWdnaW5nICgwLzEgPT0gb2ZmL29uKSIpOworbW9kdWxlX2luaXQocHJuZ19tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChwcm5nX21vZF9maW5pKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9wcm5nLmggYi9jcnlwdG8vcHJuZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYzliZTUKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcHJuZy5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBQUk5HOiBQc2V1ZG8gUmFuZG9tIE51bWJlciBHZW5lcmF0b3IKKyAqCisgKiAgKEMpIE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqCisgKi8KKworI2lmbmRlZiBfUFJOR19IXworI2RlZmluZSBfUFJOR19IXworc3RydWN0IHBybmdfY29udGV4dDsKKworaW50IGdldF9wcm5nX2J5dGVzKGNoYXIgKmJ1ZiwgaW50IG5ieXRlcywgc3RydWN0IHBybmdfY29udGV4dCAqY3R4KTsKK3N0cnVjdCBwcm5nX2NvbnRleHQgKmFsbG9jX3BybmdfY29udGV4dCh2b2lkKTsKK2ludCByZXNldF9wcm5nX2NvbnRleHQoc3RydWN0IHBybmdfY29udGV4dCAqY3R4LAorCQkJdW5zaWduZWQgY2hhciAqa2V5LCB1bnNpZ25lZCBjaGFyICppdiwKKwkJCXVuc2lnbmVkIGNoYXIgKlYsCisJCQl1bnNpZ25lZCBjaGFyICpEVCk7Cit2b2lkIGZyZWVfcHJuZ19jb250ZXh0KHN0cnVjdCBwcm5nX2NvbnRleHQgKmN0eCk7CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9jcnlwdG8vcmlwZW1kLmggYi9jcnlwdG8vcmlwZW1kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3YTJkNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9yaXBlbWQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29tbW9uIHZhbHVlcyBmb3IgUklQRU1EIGFsZ29yaXRobXMKKyAqLworCisjaWZuZGVmIF9DUllQVE9fUk1EX0gKKyNkZWZpbmUgX0NSWVBUT19STURfSAorCisjZGVmaW5lIFJNRDEyOF9ESUdFU1RfU0laRSAgICAgIDE2CisjZGVmaW5lIFJNRDEyOF9CTE9DS19TSVpFICAgICAgIDY0CisKKyNkZWZpbmUgUk1EMTYwX0RJR0VTVF9TSVpFICAgICAgMjAKKyNkZWZpbmUgUk1EMTYwX0JMT0NLX1NJWkUgICAgICAgNjQKKworI2RlZmluZSBSTUQyNTZfRElHRVNUX1NJWkUgICAgICAzMgorI2RlZmluZSBSTUQyNTZfQkxPQ0tfU0laRSAgICAgICA2NAorCisjZGVmaW5lIFJNRDMyMF9ESUdFU1RfU0laRSAgICAgIDQwCisjZGVmaW5lIFJNRDMyMF9CTE9DS19TSVpFICAgICAgIDY0CisKKy8qIGluaXRpYWwgdmFsdWVzICAqLworI2RlZmluZSBSTURfSDAgIDB4Njc0NTIzMDFVTAorI2RlZmluZSBSTURfSDEgIDB4ZWZjZGFiODlVTAorI2RlZmluZSBSTURfSDIgIDB4OThiYWRjZmVVTAorI2RlZmluZSBSTURfSDMgIDB4MTAzMjU0NzZVTAorI2RlZmluZSBSTURfSDQgIDB4YzNkMmUxZjBVTAorI2RlZmluZSBSTURfSDUgIDB4NzY1NDMyMTBVTAorI2RlZmluZSBSTURfSDYgIDB4ZmVkY2JhOThVTAorI2RlZmluZSBSTURfSDcgIDB4ODlhYmNkZWZVTAorI2RlZmluZSBSTURfSDggIDB4MDEyMzQ1NjdVTAorI2RlZmluZSBSTURfSDkgIDB4M2MyZDFlMGZVTAorCisvKiBjb25zdGFudHMgKi8KKyNkZWZpbmUgUk1EX0sxICAweDAwMDAwMDAwVUwKKyNkZWZpbmUgUk1EX0syICAweDVhODI3OTk5VUwKKyNkZWZpbmUgUk1EX0szICAweDZlZDllYmExVUwKKyNkZWZpbmUgUk1EX0s0ICAweDhmMWJiY2RjVUwKKyNkZWZpbmUgUk1EX0s1ICAweGE5NTNmZDRlVUwKKyNkZWZpbmUgUk1EX0s2ICAweDUwYTI4YmU2VUwKKyNkZWZpbmUgUk1EX0s3ICAweDVjNGRkMTI0VUwKKyNkZWZpbmUgUk1EX0s4ICAweDZkNzAzZWYzVUwKKyNkZWZpbmUgUk1EX0s5ICAweDdhNmQ3NmU5VUwKKworI2VuZGlmCmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMTI4LmMgYi9jcnlwdG8vcm1kMTI4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRlNmZhMgotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQxMjguYwpAQCAtMCwwICsxLDMyNSBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0xMjggLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQxMjhfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbNF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7CVwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkOworCisJLyogSW5pdGlhbGl6ZSBsZWZ0IGxhbmUgKi8KKwlhYSA9IHN0YXRlWzBdOworCWJiID0gc3RhdGVbMV07CisJY2MgPSBzdGF0ZVsyXTsKKwlkZCA9IHN0YXRlWzNdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbMF07CisJYmJiID0gc3RhdGVbMV07CisJY2NjID0gc3RhdGVbMl07CisJZGRkID0gc3RhdGVbM107CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblswXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblszXSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpbls2XSwgICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls5XSwgIDEzKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMl0sICA2KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjEsIEsxLCBpblsxNV0sICA4KTsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoZGQsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoY2MsIGRkLCBhYSwgYmIsIEYzLCBLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgYWEsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxXSwgIDExKTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxMF0sIDE1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpblsxMl0sICA5KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblszXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxNF0sICA4KTsKKwlST1VORChkZCwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChjYywgZGQsIGFhLCBiYiwgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBhYSwgRjQsIEs0LCBpblsyXSwgIDEyKTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bNF0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTVdLCAgOCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bMTBdLCAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiByb3VuZCAzOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblszXSwgIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bMTRdLCAgNik7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMl0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMF0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMl0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bN10sICAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgYWFhOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBhYSArIGJiYjsKKwlzdGF0ZVszXSA9IHN0YXRlWzBdICsgYmIgKyBjY2M7CisJc3RhdGVbMF0gPSBkZGQ7CisKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJtZDEyOF9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCisJcmN0eC0+Ynl0ZV9jb3VudCA9IDA7CisKKwlyY3R4LT5zdGF0ZVswXSA9IFJNRF9IMDsKKwlyY3R4LT5zdGF0ZVsxXSA9IFJNRF9IMTsKKwlyY3R4LT5zdGF0ZVsyXSA9IFJNRF9IMjsKKwlyY3R4LT5zdGF0ZVszXSA9IFJNRF9IMzsKKworCW1lbXNldChyY3R4LT5idWZmZXIsIDAsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKK30KKworc3RhdGljIHZvaWQgcm1kMTI4X3VwZGF0ZShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBjb25zdCB1OCAqZGF0YSwKKwkJCSAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3Qgcm1kMTI4X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJY29uc3QgdTMyIGF2YWlsID0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSAocmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2YpOworCisJcmN0eC0+Ynl0ZV9jb3VudCArPSBsZW47CisKKwkvKiBFbm91Z2ggc3BhY2UgaW4gYnVmZmVyPyBJZiBzbyBjb3B5IGFuZCB3ZSdyZSBkb25lICovCisJaWYgKGF2YWlsID4gbGVuKSB7CisJCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkJICAgICAgIGRhdGEsIGxlbik7CisJCXJldHVybjsKKwl9CisKKwltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJICAgICAgIGRhdGEsIGF2YWlsKTsKKworCXJtZDEyOF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJZGF0YSArPSBhdmFpbDsKKwlsZW4gLT0gYXZhaWw7CisKKwl3aGlsZSAobGVuID49IHNpemVvZihyY3R4LT5idWZmZXIpKSB7CisJCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIHNpemVvZihyY3R4LT5idWZmZXIpKTsKKwkJcm1kMTI4X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwkJZGF0YSArPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwkJbGVuIC09IHNpemVvZihyY3R4LT5idWZmZXIpOworCX0KKworCW1lbWNweShyY3R4LT5idWZmZXIsIGRhdGEsIGxlbik7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworc3RhdGljIHZvaWQgcm1kMTI4X2ZpbmFsKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4ICpvdXQpCit7CisJc3RydWN0IHJtZDEyOF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXUzMiBpLCBpbmRleCwgcGFkbGVuOworCV9fbGU2NCBiaXRzOworCV9fbGUzMiAqZHN0ID0gKF9fbGUzMiAqKW91dDsKKwlzdGF0aWMgY29uc3QgdTggcGFkZGluZ1s2NF0gPSB7IDB4ODAsIH07CisKKwliaXRzID0gY3B1X3RvX2xlNjQocmN0eC0+Ynl0ZV9jb3VudCA8PCAzKTsKKworCS8qIFBhZCBvdXQgdG8gNTYgbW9kIDY0ICovCisJaW5kZXggPSByY3R4LT5ieXRlX2NvdW50ICYgMHgzZjsKKwlwYWRsZW4gPSAoaW5kZXggPCA1NikgPyAoNTYgLSBpbmRleCkgOiAoKDY0KzU2KSAtIGluZGV4KTsKKwlybWQxMjhfdXBkYXRlKHRmbSwgcGFkZGluZywgcGFkbGVuKTsKKworCS8qIEFwcGVuZCBsZW5ndGggKi8KKwlybWQxMjhfdXBkYXRlKHRmbSwgKGNvbnN0IHU4ICopJmJpdHMsIHNpemVvZihiaXRzKSk7CisKKwkvKiBTdG9yZSBzdGF0ZSBpbiBkaWdlc3QgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDEyOCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQxMjgiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQxMjhfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQxMjhfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMTI4X0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQxMjhfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQxMjhfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMTI4X2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMTI4X21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQxMjhfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDEyOF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQxMjhfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0xMjggTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQxMjgiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by9ybWQxNjAuYyBiL2NyeXB0by9ybWQxNjAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDAxZWM3Ci0tLSAvZGV2L251bGwKKysrIGIvY3J5cHRvL3JtZDE2MC5jCkBAIC0wLDAgKzEsMzY5IEBACisvKgorICogQ3J5cHRvZ3JhcGhpYyBBUEkuCisgKgorICogUklQRU1ELTE2MCAtIFJBQ0UgSW50ZWdyaXR5IFByaW1pdGl2ZXMgRXZhbHVhdGlvbiBNZXNzYWdlIERpZ2VzdC4KKyAqCisgKiBCYXNlZCBvbiB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGJ5IEFudG9vbiBCb3NzZWxhZXJzLCBFU0FULUNPU0lDCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IEFkcmlhbi1LZW4gUnVlZWdzZWdnZXIgPHJ1ZWVnc2VnZ2VyIChhdCkgc3dpc3MtaXQuY2g+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KKyNpbmNsdWRlIDxsaW51eC9jcnlwdG9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CisKKyNpbmNsdWRlICJyaXBlbWQuaCIKKworc3RydWN0IHJtZDE2MF9jdHggeworCXU2NCBieXRlX2NvdW50OworCXUzMiBzdGF0ZVs1XTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQxNjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWU7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisJZWUgPSBzdGF0ZVs0XTsKKworCS8qIEluaXRpYWxpemUgcmlnaHQgbGFuZSAqLworCWFhYSA9IHN0YXRlWzBdOworCWJiYiA9IHN0YXRlWzFdOworCWNjYyA9IHN0YXRlWzJdOworCWRkZCA9IHN0YXRlWzNdOworCWVlZSA9IHN0YXRlWzRdOworCisJLyogcm91bmQgMTogbGVmdCBsYW5lICovCisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxXSwgIDE0KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpbls0XSwgICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpbls3XSwgICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpblsxMF0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpblsxM10sICA3KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bMTRdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMjogbGVmdCBsYW5lIiAqLworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls3XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpblsxNV0sICA3KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblswXSwgIDEyKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblsyXSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls4XSwgIDEyKTsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSIgKi8KKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bM10sICAxMSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxNF0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bNF0sICAgNyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxNV0sICA5KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpblsyXSwgIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls2XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMTNdLCAgNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls1XSwgICA3KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMTJdLCAgNSk7CisKKwkvKiByb3VuZCA0OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpbls5XSwgIDEyKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpblswXSwgIDE0KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpbls0XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls3XSwgICA1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpbls1XSwgICA2KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bNl0sICAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNTogbGVmdCBsYW5lIiAqLworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpbls0XSwgICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bMF0sICAxNSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls5XSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bN10sICAgNik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblsyXSwgIDEzKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMV0sIDExKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzE1XSwgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblsxM10sICA2KTsKKworCS8qIHJvdW5kIDE6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls3XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsyXSwgIDE1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxM10sICA3KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzE1XSwgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpbls4XSwgIDExKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpblszXSwgIDEyKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiByb3VuZCAyOiByaWdodCBsYW5lICovCisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bM10sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bMTRdLCAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMV0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzJdLCAgMTEpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNV0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNV0sICAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblszXSwgIDExKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bN10sICAgOCk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpbls2XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls4XSwgIDEzKTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTJdLCAgNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxMF0sIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxM10sICA1KTsKKworCS8qIHJvdW5kIDQ6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpbls0XSwgICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsxMV0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls1XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzJdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpblsxM10sICA5KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblsxMF0sIDE1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiByb3VuZCA1OiByaWdodCBsYW5lICovCisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzEyXSwgIDgpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpblsxNV0sICA1KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bMTBdLCAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsxXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzhdLCAgMTQpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpbls3XSwgICA2KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bNl0sICAgOCk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxM10sICA2KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzBdLCAgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpblszXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bOV0sICAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzExXSwgMTEpOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJZGRkICs9IGNjICsgc3RhdGVbMV07CQkvKiBmaW5hbCByZXN1bHQgZm9yIHN0YXRlWzBdICovCisJc3RhdGVbMV0gPSBzdGF0ZVsyXSArIGRkICsgZWVlOworCXN0YXRlWzJdID0gc3RhdGVbM10gKyBlZSArIGFhYTsKKwlzdGF0ZVszXSA9IHN0YXRlWzRdICsgYWEgKyBiYmI7CisJc3RhdGVbNF0gPSBzdGF0ZVswXSArIGJiICsgY2NjOworCXN0YXRlWzBdID0gZGRkOworCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBybWQxNjBfaW5pdChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCXJjdHgtPmJ5dGVfY291bnQgPSAwOworCisJcmN0eC0+c3RhdGVbMF0gPSBSTURfSDA7CisJcmN0eC0+c3RhdGVbMV0gPSBSTURfSDE7CisJcmN0eC0+c3RhdGVbMl0gPSBSTURfSDI7CisJcmN0eC0+c3RhdGVbM10gPSBSTURfSDM7CisJcmN0eC0+c3RhdGVbNF0gPSBSTURfSDQ7CisKKwltZW1zZXQocmN0eC0+YnVmZmVyLCAwLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7Cit9CisKK3N0YXRpYyB2b2lkIHJtZDE2MF91cGRhdGUoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgY29uc3QgdTggKmRhdGEsCisJCQkgIHVuc2lnbmVkIGludCBsZW4pCit7CisJc3RydWN0IHJtZDE2MF9jdHggKnJjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHUzMiBhdmFpbCA9IHNpemVvZihyY3R4LT5idWZmZXIpIC0gKHJjdHgtPmJ5dGVfY291bnQgJiAweDNmKTsKKworCXJjdHgtPmJ5dGVfY291bnQgKz0gbGVuOworCisJLyogRW5vdWdoIHNwYWNlIGluIGJ1ZmZlcj8gSWYgc28gY29weSBhbmQgd2UncmUgZG9uZSAqLworCWlmIChhdmFpbCA+IGxlbikgeworCQltZW1jcHkoKGNoYXIgKilyY3R4LT5idWZmZXIgKyAoc2l6ZW9mKHJjdHgtPmJ1ZmZlcikgLSBhdmFpbCksCisJCSAgICAgICBkYXRhLCBsZW4pOworCQlyZXR1cm47CisJfQorCisJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCSAgICAgICBkYXRhLCBhdmFpbCk7CisKKwlybWQxNjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCWRhdGEgKz0gYXZhaWw7CisJbGVuIC09IGF2YWlsOworCisJd2hpbGUgKGxlbiA+PSBzaXplb2YocmN0eC0+YnVmZmVyKSkgeworCQltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBzaXplb2YocmN0eC0+YnVmZmVyKSk7CisJCXJtZDE2MF90cmFuc2Zvcm0ocmN0eC0+c3RhdGUsIHJjdHgtPmJ1ZmZlcik7CisJCWRhdGEgKz0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJCWxlbiAtPSBzaXplb2YocmN0eC0+YnVmZmVyKTsKKwl9CisKKwltZW1jcHkocmN0eC0+YnVmZmVyLCBkYXRhLCBsZW4pOworfQorCisvKiBBZGQgcGFkZGluZyBhbmQgcmV0dXJuIHRoZSBtZXNzYWdlIGRpZ2VzdC4gKi8KK3N0YXRpYyB2b2lkIHJtZDE2MF9maW5hbChzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCB1OCAqb3V0KQoreworCXN0cnVjdCBybWQxNjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwl1MzIgaSwgaW5kZXgsIHBhZGxlbjsKKwlfX2xlNjQgYml0czsKKwlfX2xlMzIgKmRzdCA9IChfX2xlMzIgKilvdXQ7CisJc3RhdGljIGNvbnN0IHU4IHBhZGRpbmdbNjRdID0geyAweDgwLCB9OworCisJYml0cyA9IGNwdV90b19sZTY0KHJjdHgtPmJ5dGVfY291bnQgPDwgMyk7CisKKwkvKiBQYWQgb3V0IHRvIDU2IG1vZCA2NCAqLworCWluZGV4ID0gcmN0eC0+Ynl0ZV9jb3VudCAmIDB4M2Y7CisJcGFkbGVuID0gKGluZGV4IDwgNTYpID8gKDU2IC0gaW5kZXgpIDogKCg2NCs1NikgLSBpbmRleCk7CisJcm1kMTYwX3VwZGF0ZSh0Zm0sIHBhZGRpbmcsIHBhZGxlbik7CisKKwkvKiBBcHBlbmQgbGVuZ3RoICovCisJcm1kMTYwX3VwZGF0ZSh0Zm0sIChjb25zdCB1OCAqKSZiaXRzLCBzaXplb2YoYml0cykpOworCisJLyogU3RvcmUgc3RhdGUgaW4gZGlnZXN0ICovCisJZm9yIChpID0gMDsgaSA8IDU7IGkrKykKKwkJZHN0W2ldID0gY3B1X3RvX2xlMzJwKCZyY3R4LT5zdGF0ZVtpXSk7CisKKwkvKiBXaXBlIGNvbnRleHQgKi8KKwltZW1zZXQocmN0eCwgMCwgc2l6ZW9mKCpyY3R4KSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRvX2FsZyBhbGcgPSB7CisJLmNyYV9uYW1lCSA9CSJybWQxNjAiLAorCS5jcmFfZHJpdmVyX25hbWUgPQkicm1kMTYwIiwKKwkuY3JhX2ZsYWdzCSA9CUNSWVBUT19BTEdfVFlQRV9ESUdFU1QsCisJLmNyYV9ibG9ja3NpemUJID0JUk1EMTYwX0JMT0NLX1NJWkUsCisJLmNyYV9jdHhzaXplCSA9CXNpemVvZihzdHJ1Y3Qgcm1kMTYwX2N0eCksCisJLmNyYV9tb2R1bGUJID0JVEhJU19NT0RVTEUsCisJLmNyYV9saXN0CSA9CUxJU1RfSEVBRF9JTklUKGFsZy5jcmFfbGlzdCksCisJLmNyYV91CQkgPQl7IC5kaWdlc3QgPSB7CisJLmRpYV9kaWdlc3RzaXplCSA9CVJNRDE2MF9ESUdFU1RfU0laRSwKKwkuZGlhX2luaXQJID0Jcm1kMTYwX2luaXQsCisJLmRpYV91cGRhdGUJID0Jcm1kMTYwX3VwZGF0ZSwKKwkuZGlhX2ZpbmFsCSA9CXJtZDE2MF9maW5hbCB9IH0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IHJtZDE2MF9tb2RfaW5pdCh2b2lkKQoreworCXJldHVybiBjcnlwdG9fcmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgcm1kMTYwX21vZF9maW5pKHZvaWQpCit7CisJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZhbGcpOworfQorCittb2R1bGVfaW5pdChybWQxNjBfbW9kX2luaXQpOworbW9kdWxlX2V4aXQocm1kMTYwX21vZF9maW5pKTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJSSVBFTUQtMTYwIE1lc3NhZ2UgRGlnZXN0Iik7CisKK01PRFVMRV9BTElBUygicm1kMTYwIik7CmRpZmYgLS1naXQgYS9jcnlwdG8vcm1kMjU2LmMgYi9jcnlwdG8vcm1kMjU2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNkZTViNAotLS0gL2Rldi9udWxsCisrKyBiL2NyeXB0by9ybWQyNTYuYwpAQCAtMCwwICsxLDM0NCBAQAorLyoKKyAqIENyeXB0b2dyYXBoaWMgQVBJLgorICoKKyAqIFJJUEVNRC0yNTYgLSBSQUNFIEludGVncml0eSBQcmltaXRpdmVzIEV2YWx1YXRpb24gTWVzc2FnZSBEaWdlc3QuCisgKgorICogQmFzZWQgb24gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBieSBBbnRvb24gQm9zc2VsYWVycywgRVNBVC1DT1NJQworICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBBZHJpYW4tS2VuIFJ1ZWVnc2VnZ2VyIDxydWVlZ3NlZ2dlciAoYXQpIHN3aXNzLWl0LmNoPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvaGFzaC5oPgorI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgorCisjaW5jbHVkZSAicmlwZW1kLmgiCisKK3N0cnVjdCBybWQyNTZfY3R4IHsKKwl1NjQgYnl0ZV9jb3VudDsKKwl1MzIgc3RhdGVbOF07CisJX19sZTMyIGJ1ZmZlclsxNl07Cit9OworCisjZGVmaW5lIEsxICBSTURfSzEKKyNkZWZpbmUgSzIgIFJNRF9LMgorI2RlZmluZSBLMyAgUk1EX0szCisjZGVmaW5lIEs0ICBSTURfSzQKKyNkZWZpbmUgS0sxIFJNRF9LNgorI2RlZmluZSBLSzIgUk1EX0s3CisjZGVmaW5lIEtLMyBSTURfSzgKKyNkZWZpbmUgS0s0IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSk7IFwKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X3RyYW5zZm9ybSh1MzIgKnN0YXRlLCBjb25zdCBfX2xlMzIgKmluKQoreworCXUzMiBhYSwgYmIsIGNjLCBkZCwgYWFhLCBiYmIsIGNjYywgZGRkLCB0bXA7CisKKwkvKiBJbml0aWFsaXplIGxlZnQgbGFuZSAqLworCWFhID0gc3RhdGVbMF07CisJYmIgPSBzdGF0ZVsxXTsKKwljYyA9IHN0YXRlWzJdOworCWRkID0gc3RhdGVbM107CisKKwkvKiBJbml0aWFsaXplIHJpZ2h0IGxhbmUgKi8KKwlhYWEgPSBzdGF0ZVs0XTsKKwliYmIgPSBzdGF0ZVs1XTsKKwljY2MgPSBzdGF0ZVs2XTsKKwlkZGQgPSBzdGF0ZVs3XTsKKworCS8qIHJvdW5kIDE6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzldLCAgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzEyXSwgIDYpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMSwgSzEsIGluWzE0XSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMSwgSzEsIGluWzE1XSwgIDgpOworCisJLyogcm91bmQgMTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bNV0sICAgOCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzEsIGluWzJdLCAgMTUpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjQsIEtLMSwgaW5bMTFdLCAxNSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGNCwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGNCwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEY0LCBLSzEsIGluWzhdLCAgMTEpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMSwgaW5bMV0sICAxNCk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEY0LCBLSzEsIGluWzNdLCAgMTIpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjQsIEtLMSwgaW5bMTJdLCAgNik7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJhIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBhYTsgYWEgPSBhYWE7IGFhYSA9IHRtcDsKKworCS8qIHJvdW5kIDI6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzRdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEwXSwgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzZdLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzldLCAgMTUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzVdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMiwgSzIsIGluWzExXSwgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpblsxMV0sIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bN10sICAgNyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0syLCBpblswXSwgIDEyKTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjMsIEtLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMywgS0syLCBpblsxMF0sIDExKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMiwgaW5bMTVdLCAgNyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMywgS0syLCBpbls4XSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYzLCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMiwgaW5bNF0sICAgNik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMywgS0syLCBpbls5XSwgIDE1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYzLCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjMsIEtLMiwgaW5bMl0sICAxMSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJiIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBiYjsgYmIgPSBiYmI7IGJiYiA9IHRtcDsKKworCS8qIHJvdW5kIDM6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzNdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzEwXSwgMTMpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzhdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzEzXSwgIDUpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGMywgSzMsIGluWzEyXSwgIDUpOworCisJLyogcm91bmQgMzogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpbls1XSwgICA3KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzFdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0szLCBpbls3XSwgICA4KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjIsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMiwgS0szLCBpbls5XSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzMsIGluWzExXSwgMTIpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjIsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMiwgS0szLCBpblsxMl0sICA1KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYyLCBLSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0szLCBpblswXSwgIDEzKTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYyLCBLSzMsIGluWzRdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjIsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSAqLworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzNdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzE0XSwgIDgpOworCVJPVU5EKGRkLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGNjLCBkZCwgYWEsIGJiLCBGNCwgSzQsIGluWzZdLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGFhLCBGNCwgSzQsIGluWzJdLCAgMTIpOworCisJLyogcm91bmQgNDogcmlnaHQgbGFuZSAqLworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOF0sICAxNSk7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChkZGQsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzQsIGluWzExXSwgMTQpOworCVJPVU5EKGNjYywgZGRkLCBhYWEsIGJiYiwgRjEsIEtLNCwgaW5bMTVdLCAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgYWFhLCBGMSwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkZCwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGFhYSwgYmJiLCBGMSwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBhYWEsIEYxLCBLSzQsIGluWzEzXSwgIDkpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNCwgaW5bOV0sICAxMik7CisJUk9VTkQoZGRkLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgYWFhLCBiYmIsIEYxLCBLSzQsIGluWzEwXSwgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGFhYSwgRjEsIEtLNCwgaW5bMTRdLCAgOCk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJkIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBkZDsgZGQgPSBkZGQ7IGRkZCA9IHRtcDsKKworCS8qIGNvbWJpbmUgcmVzdWx0cyAqLworCXN0YXRlWzBdICs9IGFhOworCXN0YXRlWzFdICs9IGJiOworCXN0YXRlWzJdICs9IGNjOworCXN0YXRlWzNdICs9IGRkOworCXN0YXRlWzRdICs9IGFhYTsKKwlzdGF0ZVs1XSArPSBiYmI7CisJc3RhdGVbNl0gKz0gY2NjOworCXN0YXRlWzddICs9IGRkZDsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMjU2X2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g4OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQyNTZfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQyNTZfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMjU2X3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQyNTZfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQyNTZfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMjU2X2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDI1Nl91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDI1Nl91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspCisJCWRzdFtpXSA9IGNwdV90b19sZTMycCgmcmN0eC0+c3RhdGVbaV0pOworCisJLyogV2lwZSBjb250ZXh0ICovCisJbWVtc2V0KHJjdHgsIDAsIHNpemVvZigqcmN0eCkpOworfQorCitzdGF0aWMgc3RydWN0IGNyeXB0b19hbGcgYWxnID0geworCS5jcmFfbmFtZQkgPQkicm1kMjU2IiwKKwkuY3JhX2RyaXZlcl9uYW1lID0JInJtZDI1NiIsCisJLmNyYV9mbGFncwkgPQlDUllQVE9fQUxHX1RZUEVfRElHRVNULAorCS5jcmFfYmxvY2tzaXplCSA9CVJNRDI1Nl9CTE9DS19TSVpFLAorCS5jcmFfY3R4c2l6ZQkgPQlzaXplb2Yoc3RydWN0IHJtZDI1Nl9jdHgpLAorCS5jcmFfbW9kdWxlCSA9CVRISVNfTU9EVUxFLAorCS5jcmFfbGlzdAkgPQlMSVNUX0hFQURfSU5JVChhbGcuY3JhX2xpc3QpLAorCS5jcmFfdQkJID0JeyAuZGlnZXN0ID0geworCS5kaWFfZGlnZXN0c2l6ZQkgPQlSTUQyNTZfRElHRVNUX1NJWkUsCisJLmRpYV9pbml0CSA9CXJtZDI1Nl9pbml0LAorCS5kaWFfdXBkYXRlCSA9CXJtZDI1Nl91cGRhdGUsCisJLmRpYV9maW5hbAkgPQlybWQyNTZfZmluYWwgfSB9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBybWQyNTZfbW9kX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gY3J5cHRvX3JlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IHJtZDI1Nl9tb2RfZmluaSh2b2lkKQoreworCWNyeXB0b191bnJlZ2lzdGVyX2FsZygmYWxnKTsKK30KKworbW9kdWxlX2luaXQocm1kMjU2X21vZF9pbml0KTsKK21vZHVsZV9leGl0KHJtZDI1Nl9tb2RfZmluaSk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9ERVNDUklQVElPTigiUklQRU1ELTI1NiBNZXNzYWdlIERpZ2VzdCIpOworCitNT0RVTEVfQUxJQVMoInJtZDI1NiIpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3JtZDMyMC5jIGIvY3J5cHRvL3JtZDMyMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDNkNjYKLS0tIC9kZXYvbnVsbAorKysgYi9jcnlwdG8vcm1kMzIwLmMKQEAgLTAsMCArMSwzOTMgQEAKKy8qCisgKiBDcnlwdG9ncmFwaGljIEFQSS4KKyAqCisgKiBSSVBFTUQtMzIwIC0gUkFDRSBJbnRlZ3JpdHkgUHJpbWl0aXZlcyBFdmFsdWF0aW9uIE1lc3NhZ2UgRGlnZXN0LgorICoKKyAqIEJhc2VkIG9uIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYnkgQW50b29uIEJvc3NlbGFlcnMsIEVTQVQtQ09TSUMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQWRyaWFuLUtlbiBSdWVlZ3NlZ2dlciA8cnVlZWdzZWdnZXIgKGF0KSBzd2lzcy1pdC5jaD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKKyAqIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0b2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGFzbS9ieXRlb3JkZXIuaD4KKworI2luY2x1ZGUgInJpcGVtZC5oIgorCitzdHJ1Y3Qgcm1kMzIwX2N0eCB7CisJdTY0IGJ5dGVfY291bnQ7CisJdTMyIHN0YXRlWzEwXTsKKwlfX2xlMzIgYnVmZmVyWzE2XTsKK307CisKKyNkZWZpbmUgSzEgIFJNRF9LMQorI2RlZmluZSBLMiAgUk1EX0syCisjZGVmaW5lIEszICBSTURfSzMKKyNkZWZpbmUgSzQgIFJNRF9LNAorI2RlZmluZSBLNSAgUk1EX0s1CisjZGVmaW5lIEtLMSBSTURfSzYKKyNkZWZpbmUgS0syIFJNRF9LNworI2RlZmluZSBLSzMgUk1EX0s4CisjZGVmaW5lIEtLNCBSTURfSzkKKyNkZWZpbmUgS0s1IFJNRF9LMQorCisjZGVmaW5lIEYxKHgsIHksIHopICh4IF4geSBeIHopCQkvKiBYT1IgKi8KKyNkZWZpbmUgRjIoeCwgeSwgeikgKHogXiAoeCAmICh5IF4geikpKQkvKiB4ID8geSA6IHogKi8KKyNkZWZpbmUgRjMoeCwgeSwgeikgKCh4IHwgfnkpIF4geikKKyNkZWZpbmUgRjQoeCwgeSwgeikgKHkgXiAoeiAmICh4IF4geSkpKQkvKiB6ID8geCA6IHkgKi8KKyNkZWZpbmUgRjUoeCwgeSwgeikgKHggXiAoeSB8IH56KSkKKworI2RlZmluZSBST1VORChhLCBiLCBjLCBkLCBlLCBmLCBrLCB4LCBzKSAgeyBcCisJKGEpICs9IGYoKGIpLCAoYyksIChkKSkgKyBsZTMyX3RvX2NwdXAoJih4KSkgKyAoayk7IFwKKwkoYSkgPSByb2wzMigoYSksIChzKSkgKyAoZSk7IFwKKwkoYykgPSByb2wzMigoYyksIDEwKTsgXAorfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdHJhbnNmb3JtKHUzMiAqc3RhdGUsIGNvbnN0IF9fbGUzMiAqaW4pCit7CisJdTMyIGFhLCBiYiwgY2MsIGRkLCBlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIHRtcDsKKworCS8qIEluaXRpYWxpemUgbGVmdCBsYW5lICovCisJYWEgPSBzdGF0ZVswXTsKKwliYiA9IHN0YXRlWzFdOworCWNjID0gc3RhdGVbMl07CisJZGQgPSBzdGF0ZVszXTsKKwllZSA9IHN0YXRlWzRdOworCisJLyogSW5pdGlhbGl6ZSByaWdodCBsYW5lICovCisJYWFhID0gc3RhdGVbNV07CisJYmJiID0gc3RhdGVbNl07CisJY2NjID0gc3RhdGVbN107CisJZGRkID0gc3RhdGVbOF07CisJZWVlID0gc3RhdGVbOV07CisKKwkvKiByb3VuZCAxOiBsZWZ0IGxhbmUgKi8KKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMF0sICAxMSk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMSwgSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjEsIEsxLCBpblsyXSwgIDE1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYxLCBLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMSwgSzEsIGluWzRdLCAgIDUpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjEsIEsxLCBpbls1XSwgICA4KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYxLCBLMSwgaW5bNl0sICAgNyk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMSwgSzEsIGluWzddLCAgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjEsIEsxLCBpbls4XSwgIDExKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYxLCBLMSwgaW5bOV0sICAxMyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMSwgSzEsIGluWzEwXSwgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjEsIEsxLCBpblsxMV0sIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYxLCBLMSwgaW5bMTJdLCAgNik7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMSwgSzEsIGluWzEzXSwgIDcpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjEsIEsxLCBpblsxNF0sICA5KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYxLCBLMSwgaW5bMTVdLCAgOCk7CisKKwkvKiByb3VuZCAxOiByaWdodCBsYW5lICovCisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzVdLCAgIDgpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNSwgS0sxLCBpblsxNF0sICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjUsIEtLMSwgaW5bN10sICAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY1LCBLSzEsIGluWzBdLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNSwgS0sxLCBpbls5XSwgIDEzKTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjUsIEtLMSwgaW5bMl0sICAxNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY1LCBLSzEsIGluWzExXSwgMTUpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNSwgS0sxLCBpbls0XSwgICA1KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjUsIEtLMSwgaW5bMTNdLCAgNyk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY1LCBLSzEsIGluWzZdLCAgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNSwgS0sxLCBpblsxNV0sICA4KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjUsIEtLMSwgaW5bOF0sICAxMSk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY1LCBLSzEsIGluWzFdLCAgMTQpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNSwgS0sxLCBpblsxMF0sIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjUsIEtLMSwgaW5bM10sICAxMik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY1LCBLSzEsIGluWzEyXSwgIDYpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiYSIgcmVnaXN0ZXJzICovCisJdG1wID0gYWE7IGFhID0gYWFhOyBhYWEgPSB0bXA7CisKKwkvKiByb3VuZCAyOiBsZWZ0IGxhbmUiICovCisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzddLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjIsIEsyLCBpbls0XSwgICA2KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYyLCBLMiwgaW5bMTNdLCAgOCk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMiwgSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjIsIEsyLCBpblsxMF0sIDExKTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYyLCBLMiwgaW5bNl0sICAgOSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMiwgSzIsIGluWzE1XSwgIDcpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjIsIEsyLCBpblszXSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYyLCBLMiwgaW5bMTJdLCAgNyk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMiwgSzIsIGluWzBdLCAgMTIpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjIsIEsyLCBpbls5XSwgIDE1KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYyLCBLMiwgaW5bNV0sICAgOSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMiwgSzIsIGluWzJdLCAgMTEpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjIsIEsyLCBpblsxNF0sICA3KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYyLCBLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMiwgSzIsIGluWzhdLCAgMTIpOworCisJLyogcm91bmQgMjogcmlnaHQgbGFuZSAqLworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpbls2XSwgICA5KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjQsIEtLMiwgaW5bMTFdLCAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEY0LCBLSzIsIGluWzNdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGNCwgS0syLCBpbls3XSwgICA3KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjQsIEtLMiwgaW5bMF0sICAxMik7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEY0LCBLSzIsIGluWzEzXSwgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGNCwgS0syLCBpbls1XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjQsIEtLMiwgaW5bMTBdLCAxMSk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEY0LCBLSzIsIGluWzE0XSwgIDcpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGNCwgS0syLCBpblsxNV0sICA3KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjQsIEtLMiwgaW5bOF0sICAxMik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEY0LCBLSzIsIGluWzEyXSwgIDcpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGNCwgS0syLCBpbls0XSwgICA2KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjQsIEtLMiwgaW5bOV0sICAxNSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEY0LCBLSzIsIGluWzFdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGNCwgS0syLCBpblsyXSwgIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImIiIHJlZ2lzdGVycyAqLworCXRtcCA9IGJiOyBiYiA9IGJiYjsgYmJiID0gdG1wOworCisJLyogcm91bmQgMzogbGVmdCBsYW5lIiAqLworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblszXSwgIDExKTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEYzLCBLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGMywgSzMsIGluWzE0XSwgIDYpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjMsIEszLCBpbls0XSwgICA3KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEYzLCBLMywgaW5bOV0sICAxNCk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGMywgSzMsIGluWzE1XSwgIDkpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjMsIEszLCBpbls4XSwgIDEzKTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEYzLCBLMywgaW5bMV0sICAxNSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGMywgSzMsIGluWzJdLCAgMTQpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjMsIEszLCBpbls3XSwgICA4KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEYzLCBLMywgaW5bMF0sICAxMyk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGMywgSzMsIGluWzZdLCAgIDYpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjMsIEszLCBpblsxM10sICA1KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEYzLCBLMywgaW5bMTFdLCAxMik7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGMywgSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjMsIEszLCBpblsxMl0sICA1KTsKKworCS8qIHJvdW5kIDM6IHJpZ2h0IGxhbmUgKi8KKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTVdLCAgOSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYzLCBLSzMsIGluWzVdLCAgIDcpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMywgS0szLCBpblsxXSwgIDE1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjMsIEtLMywgaW5bM10sICAxMSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYzLCBLSzMsIGluWzddLCAgIDgpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMywgS0szLCBpblsxNF0sICA2KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjMsIEtLMywgaW5bNl0sICAgNik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYzLCBLSzMsIGluWzldLCAgMTQpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMywgS0szLCBpblsxMV0sIDEyKTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjMsIEtLMywgaW5bOF0sICAxMyk7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYzLCBLSzMsIGluWzEyXSwgIDUpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMywgS0szLCBpblsyXSwgIDE0KTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjMsIEtLMywgaW5bMTBdLCAxMyk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYzLCBLSzMsIGluWzBdLCAgMTMpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMywgS0szLCBpbls0XSwgICA3KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjMsIEtLMywgaW5bMTNdLCAgNSk7CisKKwkvKiBTd2FwIGNvbnRlbnRzIG9mICJjIiByZWdpc3RlcnMgKi8KKwl0bXAgPSBjYzsgY2MgPSBjY2M7IGNjYyA9IHRtcDsKKworCS8qIHJvdW5kIDQ6IGxlZnQgbGFuZSIgKi8KKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMV0sICAxMSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNCwgSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjQsIEs0LCBpblsxMV0sIDE0KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY0LCBLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNCwgSzQsIGluWzBdLCAgMTQpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjQsIEs0LCBpbls4XSwgIDE1KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY0LCBLNCwgaW5bMTJdLCAgOSk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNCwgSzQsIGluWzRdLCAgIDgpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjQsIEs0LCBpblsxM10sICA5KTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY0LCBLNCwgaW5bM10sICAxNCk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNCwgSzQsIGluWzddLCAgIDUpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjQsIEs0LCBpblsxNV0sICA2KTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY0LCBLNCwgaW5bMTRdLCAgOCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNCwgSzQsIGluWzVdLCAgIDYpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjQsIEs0LCBpbls2XSwgICA1KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY0LCBLNCwgaW5bMl0sICAxMik7CisKKwkvKiByb3VuZCA0OiByaWdodCBsYW5lICovCisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzhdLCAgMTUpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMiwgS0s0LCBpbls2XSwgICA1KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjIsIEtLNCwgaW5bNF0sICAgOCk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYyLCBLSzQsIGluWzFdLCAgMTEpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMiwgS0s0LCBpblszXSwgIDE0KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjIsIEtLNCwgaW5bMTFdLCAxNCk7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYyLCBLSzQsIGluWzE1XSwgIDYpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMiwgS0s0LCBpblswXSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjIsIEtLNCwgaW5bNV0sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYyLCBLSzQsIGluWzEyXSwgIDkpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMiwgS0s0LCBpblsyXSwgIDEyKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjIsIEtLNCwgaW5bMTNdLCAgOSk7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYyLCBLSzQsIGluWzldLCAgMTIpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMiwgS0s0LCBpbls3XSwgICA1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjIsIEtLNCwgaW5bMTBdLCAxNSk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYyLCBLSzQsIGluWzE0XSwgIDgpOworCisJLyogU3dhcCBjb250ZW50cyBvZiAiZCIgcmVnaXN0ZXJzICovCisJdG1wID0gZGQ7IGRkID0gZGRkOyBkZGQgPSB0bXA7CisKKwkvKiByb3VuZCA1OiBsZWZ0IGxhbmUiICovCisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzRdLCAgIDkpOworCVJPVU5EKGFhLCBiYiwgY2MsIGRkLCBlZSwgRjUsIEs1LCBpblswXSwgIDE1KTsKKwlST1VORChlZSwgYWEsIGJiLCBjYywgZGQsIEY1LCBLNSwgaW5bNV0sICAgNSk7CisJUk9VTkQoZGQsIGVlLCBhYSwgYmIsIGNjLCBGNSwgSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGNjLCBkZCwgZWUsIGFhLCBiYiwgRjUsIEs1LCBpbls3XSwgICA2KTsKKwlST1VORChiYiwgY2MsIGRkLCBlZSwgYWEsIEY1LCBLNSwgaW5bMTJdLCAgOCk7CisJUk9VTkQoYWEsIGJiLCBjYywgZGQsIGVlLCBGNSwgSzUsIGluWzJdLCAgMTMpOworCVJPVU5EKGVlLCBhYSwgYmIsIGNjLCBkZCwgRjUsIEs1LCBpblsxMF0sIDEyKTsKKwlST1VORChkZCwgZWUsIGFhLCBiYiwgY2MsIEY1LCBLNSwgaW5bMTRdLCAgNSk7CisJUk9VTkQoY2MsIGRkLCBlZSwgYWEsIGJiLCBGNSwgSzUsIGluWzFdLCAgMTIpOworCVJPVU5EKGJiLCBjYywgZGQsIGVlLCBhYSwgRjUsIEs1LCBpblszXSwgIDEzKTsKKwlST1VORChhYSwgYmIsIGNjLCBkZCwgZWUsIEY1LCBLNSwgaW5bOF0sICAxNCk7CisJUk9VTkQoZWUsIGFhLCBiYiwgY2MsIGRkLCBGNSwgSzUsIGluWzExXSwgMTEpOworCVJPVU5EKGRkLCBlZSwgYWEsIGJiLCBjYywgRjUsIEs1LCBpbls2XSwgICA4KTsKKwlST1VORChjYywgZGQsIGVlLCBhYSwgYmIsIEY1LCBLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoYmIsIGNjLCBkZCwgZWUsIGFhLCBGNSwgSzUsIGluWzEzXSwgIDYpOworCisJLyogcm91bmQgNTogcmlnaHQgbGFuZSAqLworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMl0sICA4KTsKKwlST1VORChhYWEsIGJiYiwgY2NjLCBkZGQsIGVlZSwgRjEsIEtLNSwgaW5bMTVdLCAgNSk7CisJUk9VTkQoZWVlLCBhYWEsIGJiYiwgY2NjLCBkZGQsIEYxLCBLSzUsIGluWzEwXSwgMTIpOworCVJPVU5EKGRkZCwgZWVlLCBhYWEsIGJiYiwgY2NjLCBGMSwgS0s1LCBpbls0XSwgICA5KTsKKwlST1VORChjY2MsIGRkZCwgZWVlLCBhYWEsIGJiYiwgRjEsIEtLNSwgaW5bMV0sICAxMik7CisJUk9VTkQoYmJiLCBjY2MsIGRkZCwgZWVlLCBhYWEsIEYxLCBLSzUsIGluWzVdLCAgIDUpOworCVJPVU5EKGFhYSwgYmJiLCBjY2MsIGRkZCwgZWVlLCBGMSwgS0s1LCBpbls4XSwgIDE0KTsKKwlST1VORChlZWUsIGFhYSwgYmJiLCBjY2MsIGRkZCwgRjEsIEtLNSwgaW5bN10sICAgNik7CisJUk9VTkQoZGRkLCBlZWUsIGFhYSwgYmJiLCBjY2MsIEYxLCBLSzUsIGluWzZdLCAgIDgpOworCVJPVU5EKGNjYywgZGRkLCBlZWUsIGFhYSwgYmJiLCBGMSwgS0s1LCBpblsyXSwgIDEzKTsKKwlST1VORChiYmIsIGNjYywgZGRkLCBlZWUsIGFhYSwgRjEsIEtLNSwgaW5bMTNdLCAgNik7CisJUk9VTkQoYWFhLCBiYmIsIGNjYywgZGRkLCBlZWUsIEYxLCBLSzUsIGluWzE0XSwgIDUpOworCVJPVU5EKGVlZSwgYWFhLCBiYmIsIGNjYywgZGRkLCBGMSwgS0s1LCBpblswXSwgIDE1KTsKKwlST1VORChkZGQsIGVlZSwgYWFhLCBiYmIsIGNjYywgRjEsIEtLNSwgaW5bM10sICAxMyk7CisJUk9VTkQoY2NjLCBkZGQsIGVlZSwgYWFhLCBiYmIsIEYxLCBLSzUsIGluWzldLCAgMTEpOworCVJPVU5EKGJiYiwgY2NjLCBkZGQsIGVlZSwgYWFhLCBGMSwgS0s1LCBpblsxMV0sIDExKTsKKworCS8qIFN3YXAgY29udGVudHMgb2YgImUiIHJlZ2lzdGVycyAqLworCXRtcCA9IGVlOyBlZSA9IGVlZTsgZWVlID0gdG1wOworCisJLyogY29tYmluZSByZXN1bHRzICovCisJc3RhdGVbMF0gKz0gYWE7CisJc3RhdGVbMV0gKz0gYmI7CisJc3RhdGVbMl0gKz0gY2M7CisJc3RhdGVbM10gKz0gZGQ7CisJc3RhdGVbNF0gKz0gZWU7CisJc3RhdGVbNV0gKz0gYWFhOworCXN0YXRlWzZdICs9IGJiYjsKKwlzdGF0ZVs3XSArPSBjY2M7CisJc3RhdGVbOF0gKz0gZGRkOworCXN0YXRlWzldICs9IGVlZTsKKworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgcm1kMzIwX2luaXQoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisKKwlyY3R4LT5ieXRlX2NvdW50ID0gMDsKKworCXJjdHgtPnN0YXRlWzBdID0gUk1EX0gwOworCXJjdHgtPnN0YXRlWzFdID0gUk1EX0gxOworCXJjdHgtPnN0YXRlWzJdID0gUk1EX0gyOworCXJjdHgtPnN0YXRlWzNdID0gUk1EX0gzOworCXJjdHgtPnN0YXRlWzRdID0gUk1EX0g0OworCXJjdHgtPnN0YXRlWzVdID0gUk1EX0g1OworCXJjdHgtPnN0YXRlWzZdID0gUk1EX0g2OworCXJjdHgtPnN0YXRlWzddID0gUk1EX0g3OworCXJjdHgtPnN0YXRlWzhdID0gUk1EX0g4OworCXJjdHgtPnN0YXRlWzldID0gUk1EX0g5OworCisJbWVtc2V0KHJjdHgtPmJ1ZmZlciwgMCwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworfQorCitzdGF0aWMgdm9pZCBybWQzMjBfdXBkYXRlKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGNvbnN0IHU4ICpkYXRhLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCXN0cnVjdCBybWQzMjBfY3R4ICpyY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwljb25zdCB1MzIgYXZhaWwgPSBzaXplb2YocmN0eC0+YnVmZmVyKSAtIChyY3R4LT5ieXRlX2NvdW50ICYgMHgzZik7CisKKwlyY3R4LT5ieXRlX2NvdW50ICs9IGxlbjsKKworCS8qIEVub3VnaCBzcGFjZSBpbiBidWZmZXI/IElmIHNvIGNvcHkgYW5kIHdlJ3JlIGRvbmUgKi8KKwlpZiAoYXZhaWwgPiBsZW4pIHsKKwkJbWVtY3B5KChjaGFyICopcmN0eC0+YnVmZmVyICsgKHNpemVvZihyY3R4LT5idWZmZXIpIC0gYXZhaWwpLAorCQkgICAgICAgZGF0YSwgbGVuKTsKKwkJcmV0dXJuOworCX0KKworCW1lbWNweSgoY2hhciAqKXJjdHgtPmJ1ZmZlciArIChzaXplb2YocmN0eC0+YnVmZmVyKSAtIGF2YWlsKSwKKwkgICAgICAgZGF0YSwgYXZhaWwpOworCisJcm1kMzIwX3RyYW5zZm9ybShyY3R4LT5zdGF0ZSwgcmN0eC0+YnVmZmVyKTsKKwlkYXRhICs9IGF2YWlsOworCWxlbiAtPSBhdmFpbDsKKworCXdoaWxlIChsZW4gPj0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpIHsKKwkJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgc2l6ZW9mKHJjdHgtPmJ1ZmZlcikpOworCQlybWQzMjBfdHJhbnNmb3JtKHJjdHgtPnN0YXRlLCByY3R4LT5idWZmZXIpOworCQlkYXRhICs9IHNpemVvZihyY3R4LT5idWZmZXIpOworCQlsZW4gLT0gc2l6ZW9mKHJjdHgtPmJ1ZmZlcik7CisJfQorCisJbWVtY3B5KHJjdHgtPmJ1ZmZlciwgZGF0YSwgbGVuKTsKK30KKworLyogQWRkIHBhZGRpbmcgYW5kIHJldHVybiB0aGUgbWVzc2FnZSBkaWdlc3QuICovCitzdGF0aWMgdm9pZCBybWQzMjBfZmluYWwoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwgdTggKm91dCkKK3sKKwlzdHJ1Y3Qgcm1kMzIwX2N0eCAqcmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyIGksIGluZGV4LCBwYWRsZW47CisJX19sZTY0IGJpdHM7CisJX19sZTMyICpkc3QgPSAoX19sZTMyICopb3V0OworCXN0YXRpYyBjb25zdCB1OCBwYWRkaW5nWzY0XSA9IHsgMHg4MCwgfTsKKworCWJpdHMgPSBjcHVfdG9fbGU2NChyY3R4LT5ieXRlX2NvdW50IDw8IDMpOworCisJLyogUGFkIG91dCB0byA1NiBtb2QgNjQgKi8KKwlpbmRleCA9IHJjdHgtPmJ5dGVfY291bnQgJiAweDNmOworCXBhZGxlbiA9IChpbmRleCA8IDU2KSA/ICg1NiAtIGluZGV4KSA6ICgoNjQrNTYpIC0gaW5kZXgpOworCXJtZDMyMF91cGRhdGUodGZtLCBwYWRkaW5nLCBwYWRsZW4pOworCisJLyogQXBwZW5kIGxlbmd0aCAqLworCXJtZDMyMF91cGRhdGUodGZtLCAoY29uc3QgdTggKikmYml0cywgc2l6ZW9mKGJpdHMpKTsKKworCS8qIFN0b3JlIHN0YXRlIGluIGRpZ2VzdCAqLworCWZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorCQlkc3RbaV0gPSBjcHVfdG9fbGUzMnAoJnJjdHgtPnN0YXRlW2ldKTsKKworCS8qIFdpcGUgY29udGV4dCAqLworCW1lbXNldChyY3R4LCAwLCBzaXplb2YoKnJjdHgpKTsKK30KKworc3RhdGljIHN0cnVjdCBjcnlwdG9fYWxnIGFsZyA9IHsKKwkuY3JhX25hbWUJID0JInJtZDMyMCIsCisJLmNyYV9kcml2ZXJfbmFtZSA9CSJybWQzMjAiLAorCS5jcmFfZmxhZ3MJID0JQ1JZUFRPX0FMR19UWVBFX0RJR0VTVCwKKwkuY3JhX2Jsb2Nrc2l6ZQkgPQlSTUQzMjBfQkxPQ0tfU0laRSwKKwkuY3JhX2N0eHNpemUJID0Jc2l6ZW9mKHN0cnVjdCBybWQzMjBfY3R4KSwKKwkuY3JhX21vZHVsZQkgPQlUSElTX01PRFVMRSwKKwkuY3JhX2xpc3QJID0JTElTVF9IRUFEX0lOSVQoYWxnLmNyYV9saXN0KSwKKwkuY3JhX3UJCSA9CXsgLmRpZ2VzdCA9IHsKKwkuZGlhX2RpZ2VzdHNpemUJID0JUk1EMzIwX0RJR0VTVF9TSVpFLAorCS5kaWFfaW5pdAkgPQlybWQzMjBfaW5pdCwKKwkuZGlhX3VwZGF0ZQkgPQlybWQzMjBfdXBkYXRlLAorCS5kaWFfZmluYWwJID0Jcm1kMzIwX2ZpbmFsIH0gfQorfTsKKworc3RhdGljIGludCBfX2luaXQgcm1kMzIwX21vZF9pbml0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBybWQzMjBfbW9kX2Zpbmkodm9pZCkKK3sKKwljcnlwdG9fdW5yZWdpc3Rlcl9hbGcoJmFsZyk7Cit9CisKK21vZHVsZV9pbml0KHJtZDMyMF9tb2RfaW5pdCk7Cittb2R1bGVfZXhpdChybWQzMjBfbW9kX2ZpbmkpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlJJUEVNRC0zMjAgTWVzc2FnZSBEaWdlc3QiKTsKKworTU9EVUxFX0FMSUFTKCJybWQzMjAiKTsKZGlmZiAtLWdpdCBhL2NyeXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCA2YmVhYmM1Li41OTgyMWEyIDEwMDY0NAotLS0gYS9jcnlwdG8vdGNyeXB0LmMKKysrIGIvY3J5cHRvL3RjcnlwdC5jCkBAIC0xMywxNSArMTMsOSBAQAogICogU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKQogICogYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogMjAwNy0xMS0xMyBBZGRlZCBHQ00gdGVzdHMKLSAqIDIwMDctMTEtMTMgQWRkZWQgQUVBRCBzdXBwb3J0Ci0gKiAyMDA3LTExLTA2IEFkZGVkIFNIQS0yMjQgYW5kIFNIQS0yMjQtSE1BQyB0ZXN0cwotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQWRkZWQgY2lwaGVyIHNwZWVkIHRlc3RzIChSZXlrIEZsb2V0ZXIgPHJleWtAdmFudHJvbml4Lm5ldD4pCi0gKiAyMDAzLTA5LTE0IFJld3JpdHRlbiBieSBLYXJ0aWtleSBNYWhlbmRyYSBCaGF0dAotICoKICAqLwogCisjaW5jbHVkZSA8Y3J5cHRvL2hhc2guaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zMCw3ICsyNCw2IEBACiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9jcnlwdG8uaD4KLSNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXguaD4KQEAgLTM4LDcgKzMxLDcgQEAKICNpbmNsdWRlICJ0Y3J5cHQuaCIKIAogLyoKLSAqIE5lZWQgdG8ga21hbGxvYygpIG1lbW9yeSBmb3IgdGVzdGluZyBrbWFwKCkuCisgKiBOZWVkIHRvIGttYWxsb2MoKSBtZW1vcnkgZm9yIHRlc3RpbmcuCiAgKi8KICNkZWZpbmUgVFZNRU1TSVpFCTE2Mzg0CiAjZGVmaW5lIFhCVUZTSVpFCTMyNzY4CkBAIC00Niw3ICszOSw3IEBACiAvKgogICogSW5kZXhlcyBpbnRvIHRoZSB4YnVmIHRvIHNpbXVsYXRlIGNyb3NzLXBhZ2UgYWNjZXNzLgogICovCi0jZGVmaW5lIElEWDEJCTM3CisjZGVmaW5lIElEWDEJCTMyCiAjZGVmaW5lIElEWDIJCTMyNDAwCiAjZGVmaW5lIElEWDMJCTEKICNkZWZpbmUgSURYNAkJODE5MwpAQCAtODMsNyArNzYsOCBAQAogCSJibG93ZmlzaCIsICJ0d29maXNoIiwgInNlcnBlbnQiLCAic2hhMzg0IiwgInNoYTUxMiIsICJtZDQiLCAiYWVzIiwKIAkiY2FzdDYiLCAiYXJjNCIsICJtaWNoYWVsX21pYyIsICJkZWZsYXRlIiwgImNyYzMyYyIsICJ0ZWEiLCAieHRlYSIsCiAJImtoYXphZCIsICJ3cDUxMiIsICJ3cDM4NCIsICJ3cDI1NiIsICJ0bmVwcmVzIiwgInhldGEiLCAgImZjcnlwdCIsCi0JImNhbWVsbGlhIiwgInNlZWQiLCAic2Fsc2EyMCIsICJsem8iLCAiY3RzIiwgTlVMTAorCSJjYW1lbGxpYSIsICJzZWVkIiwgInNhbHNhMjAiLCAicm1kMTI4IiwgInJtZDE2MCIsICJybWQyNTYiLCAicm1kMzIwIiwKKwkibHpvIiwgImN0cyIsIE5VTEwKIH07CiAKIHN0YXRpYyB2b2lkIGhleGR1bXAodW5zaWduZWQgY2hhciAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQpAQCAtMTEwLDIyICsxMDQsMzAgQEAKIAl1bnNpZ25lZCBpbnQgaSwgaiwgaywgdGVtcDsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3Qgc2dbOF07CiAJY2hhciByZXN1bHRbNjRdOwotCXN0cnVjdCBjcnlwdG9faGFzaCAqdGZtOwotCXN0cnVjdCBoYXNoX2Rlc2MgZGVzYzsKKwlzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm07CisJc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcTsKKwlzdHJ1Y3QgdGNyeXB0X3Jlc3VsdCB0cmVzdWx0OwogCWludCByZXQ7CiAJdm9pZCAqaGFzaF9idWZmOwogCiAJcHJpbnRrKCJcbnRlc3RpbmcgJXNcbiIsIGFsZ28pOwogCi0JdGZtID0gY3J5cHRvX2FsbG9jX2hhc2goYWxnbywgMCwgQ1JZUFRPX0FMR19BU1lOQyk7CisJaW5pdF9jb21wbGV0aW9uKCZ0cmVzdWx0LmNvbXBsZXRpb24pOworCisJdGZtID0gY3J5cHRvX2FsbG9jX2FoYXNoKGFsZ28sIDAsIDApOwogCWlmIChJU19FUlIodGZtKSkgewogCQlwcmludGsoImZhaWxlZCB0byBsb2FkIHRyYW5zZm9ybSBmb3IgJXM6ICVsZFxuIiwgYWxnbywKIAkJICAgICAgIFBUUl9FUlIodGZtKSk7CiAJCXJldHVybjsKIAl9CiAKLQlkZXNjLnRmbSA9IHRmbTsKLQlkZXNjLmZsYWdzID0gMDsKKwlyZXEgPSBhaGFzaF9yZXF1ZXN0X2FsbG9jKHRmbSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXEpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBmb3IgJXNcbiIsIGFsZ28pOworCQlnb3RvIG91dF9ub3JlcTsKKwl9CisJYWhhc2hfcmVxdWVzdF9zZXRfY2FsbGJhY2socmVxLCBDUllQVE9fVEZNX1JFUV9NQVlfQkFDS0xPRywKKwkJCQkgICB0Y3J5cHRfY29tcGxldGUsICZ0cmVzdWx0KTsKIAogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCQlwcmludGsoInRlc3QgJXU6XG4iLCBpICsgMSk7CkBAIC0xMzksOCArMTQxLDkgQEAKIAkJc2dfaW5pdF9vbmUoJnNnWzBdLCBoYXNoX2J1ZmYsIHRlbXBsYXRlW2ldLnBzaXplKTsKIAogCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCXJldCA9IGNyeXB0b19oYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKLQkJCQkJCSB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CisJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfc2V0a2V5KHRmbSwgdGVtcGxhdGVbaV0ua2V5LAorCQkJCQkJICB0ZW1wbGF0ZVtpXS5rc2l6ZSk7CiAJCQlpZiAocmV0KSB7CiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwogCQkJCWtmcmVlKGhhc2hfYnVmZik7CkBAIC0xNDgsMTcgKzE1MSwzMCBAQAogCQkJfQogCQl9CiAKLQkJcmV0ID0gY3J5cHRvX2hhc2hfZGlnZXN0KCZkZXNjLCBzZywgdGVtcGxhdGVbaV0ucHNpemUsIHJlc3VsdCk7Ci0JCWlmIChyZXQpIHsKKwkJYWhhc2hfcmVxdWVzdF9zZXRfY3J5cHQocmVxLCBzZywgcmVzdWx0LCB0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCXJldCA9IGNyeXB0b19haGFzaF9kaWdlc3QocmVxKTsKKwkJc3dpdGNoIChyZXQpIHsKKwkJY2FzZSAwOgorCQkJYnJlYWs7CisJCWNhc2UgLUVJTlBST0dSRVNTOgorCQljYXNlIC1FQlVTWToKKwkJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgKKwkJCQkmdHJlc3VsdC5jb21wbGV0aW9uKTsKKwkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJSU5JVF9DT01QTEVUSU9OKHRyZXN1bHQuY29tcGxldGlvbik7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKIAkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQlrZnJlZShoYXNoX2J1ZmYpOwogCQkJZ290byBvdXQ7CiAJCX0KIAotCQloZXhkdW1wKHJlc3VsdCwgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKTsKKwkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQlwcmludGsoIiVzXG4iLAogCQkgICAgICAgbWVtY21wKHJlc3VsdCwgdGVtcGxhdGVbaV0uZGlnZXN0LAotCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkgICAgICBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CiAJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCQlrZnJlZShoYXNoX2J1ZmYpOwogCX0KQEAgLTE4Nyw4ICsyMDMsOSBAQAogCQkJfQogCiAJCQlpZiAodGVtcGxhdGVbaV0ua3NpemUpIHsKLQkJCQlyZXQgPSBjcnlwdG9faGFzaF9zZXRrZXkodGZtLCB0ZW1wbGF0ZVtpXS5rZXksCi0JCQkJCQkJIHRlbXBsYXRlW2ldLmtzaXplKTsKKwkJCQljcnlwdG9fYWhhc2hfY2xlYXJfZmxhZ3ModGZtLCB+MCk7CisJCQkJcmV0ID0gY3J5cHRvX2FoYXNoX3NldGtleSh0Zm0sIHRlbXBsYXRlW2ldLmtleSwKKwkJCQkJCQkgIHRlbXBsYXRlW2ldLmtzaXplKTsKIAogCQkJCWlmIChyZXQpIHsKIAkJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgcmV0PSVkXG4iLCByZXQpOwpAQCAtMTk2LDI5ICsyMTMsNDQgQEAKIAkJCQl9CiAJCQl9CiAKLQkJCXJldCA9IGNyeXB0b19oYXNoX2RpZ2VzdCgmZGVzYywgc2csIHRlbXBsYXRlW2ldLnBzaXplLAotCQkJCQkJIHJlc3VsdCk7Ci0JCQlpZiAocmV0KSB7CisJCQlhaGFzaF9yZXF1ZXN0X3NldF9jcnlwdChyZXEsIHNnLCByZXN1bHQsCisJCQkJCQl0ZW1wbGF0ZVtpXS5wc2l6ZSk7CisJCQlyZXQgPSBjcnlwdG9fYWhhc2hfZGlnZXN0KHJlcSk7CisJCQlzd2l0Y2ggKHJldCkgeworCQkJY2FzZSAwOgorCQkJCWJyZWFrOworCQkJY2FzZSAtRUlOUFJPR1JFU1M6CisJCQljYXNlIC1FQlVTWToKKwkJCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoCisJCQkJCSZ0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCWlmICghcmV0ICYmICEocmV0ID0gdHJlc3VsdC5lcnIpKSB7CisJCQkJCUlOSVRfQ09NUExFVElPTih0cmVzdWx0LmNvbXBsZXRpb24pOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlkZWZhdWx0OgogCQkJCXByaW50aygiZGlnZXN0ICgpIGZhaWxlZCByZXQ9JWRcbiIsIHJldCk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCWhleGR1bXAocmVzdWx0LCBjcnlwdG9faGFzaF9kaWdlc3RzaXplKHRmbSkpOworCQkJaGV4ZHVtcChyZXN1bHQsIGNyeXB0b19haGFzaF9kaWdlc3RzaXplKHRmbSkpOwogCQkJcHJpbnRrKCIlc1xuIiwKIAkJCSAgICAgICBtZW1jbXAocmVzdWx0LCB0ZW1wbGF0ZVtpXS5kaWdlc3QsCi0JCQkJICAgICAgY3J5cHRvX2hhc2hfZGlnZXN0c2l6ZSh0Zm0pKSA/CisJCQkJICAgICAgY3J5cHRvX2FoYXNoX2RpZ2VzdHNpemUodGZtKSkgPwogCQkJICAgICAgICJmYWlsIiA6ICJwYXNzIik7CiAJCX0KIAl9CiAKIG91dDoKLQljcnlwdG9fZnJlZV9oYXNoKHRmbSk7CisJYWhhc2hfcmVxdWVzdF9mcmVlKHJlcSk7CitvdXRfbm9yZXE6CisJY3J5cHRvX2ZyZWVfYWhhc2godGZtKTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdF9hZWFkKGNoYXIgKmFsZ28sIGludCBlbmMsIHN0cnVjdCBhZWFkX3Rlc3R2ZWMgKnRlbXBsYXRlLAogCQkgICAgICB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtOwogCWNoYXIgKmtleTsKQEAgLTM0NCwxMyArMzc2LDEyIEBACiAJCQkJZ290byBuZXh0X29uZTsKIAkJCX0KIAotCQkJcSA9IGttYXAoc2dfcGFnZSgmc2dbMF0pKSArIHNnWzBdLm9mZnNldDsKKwkJCXEgPSBpbnB1dDsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50ayhLRVJOX0lORk8gImVuYy9kZWM6ICVzXG4iLAogCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQsCiAJCQkJICAgICAgdGVtcGxhdGVbaV0ucmxlbikgPyAiZmFpbCIgOiAicGFzcyIpOwotCQkJa3VubWFwKHNnX3BhZ2UoJnNnWzBdKSk7CiBuZXh0X29uZToKIAkJCWlmICghdGVtcGxhdGVbaV0ua2V5KQogCQkJCWtmcmVlKGtleSk7CkBAIC0zNjAsNyArMzkxLDYgQEAKIAl9CiAKIAlwcmludGsoS0VSTl9JTkZPICJcbnRlc3RpbmcgJXMgJXMgYWNyb3NzIHBhZ2VzIChjaHVua2luZylcbiIsIGFsZ28sIGUpOwotCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJbWVtc2V0KGF4YnVmLCAwLCBYQlVGU0laRSk7CiAKIAlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IHRjb3VudDsgaSsrKSB7CkBAIC0zODgsNiArNDE4LDcgQEAKIAkJCQkJZ290byBvdXQ7CiAJCQl9CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQlzZ19pbml0X3RhYmxlKHNnLCB0ZW1wbGF0ZVtpXS5ucCk7CiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQltZW1jcHkoJnhidWZbSURYW2tdXSwKQEAgLTQ1MCw3ICs0ODEsNyBAQAogCiAJCQlmb3IgKGsgPSAwLCB0ZW1wID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoS0VSTl9JTkZPICJwYWdlICV1XG4iLCBrKTsKLQkJCQlxID0ga21hcChzZ19wYWdlKCZzZ1trXSkpICsgc2dba10ub2Zmc2V0OworCQkJCXEgPSAmYXhidWZbSURYW2tdXTsKIAkJCQloZXhkdW1wKHEsIHRlbXBsYXRlW2ldLnRhcFtrXSk7CiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXNcbiIsCiAJCQkJICAgICAgIG1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLApAQCAtNDU5LDggKzQ5MCwxNSBAQAogCQkJCQkgICAgICAgMCA6IGF1dGhzaXplKSkgPwogCQkJCSAgICAgICAiZmFpbCIgOiAicGFzcyIpOwogCisJCQkJZm9yIChuID0gMDsgcVt0ZW1wbGF0ZVtpXS50YXBba10gKyBuXTsgbisrKQorCQkJCQk7CisJCQkJaWYgKG4pIHsKKwkJCQkJcHJpbnRrKCJSZXN1bHQgYnVmZmVyIGNvcnJ1cHRpb24gJXUgIgorCQkJCQkgICAgICAgImJ5dGVzOlxuIiwgbik7CisJCQkJCWhleGR1bXAoJnFbdGVtcGxhdGVbaV0udGFwW2tdXSwgbik7CisJCQkJfQorCiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC00NzMsNyArNTExLDcgQEAKIHN0YXRpYyB2b2lkIHRlc3RfY2lwaGVyKGNoYXIgKmFsZ28sIGludCBlbmMsCiAJCQlzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgKnRlbXBsYXRlLCB1bnNpZ25lZCBpbnQgdGNvdW50KQogewotCXVuc2lnbmVkIGludCByZXQsIGksIGosIGssIHRlbXA7CisJdW5zaWduZWQgaW50IHJldCwgaSwgaiwgaywgbiwgdGVtcDsKIAljaGFyICpxOwogCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtOwogCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcTsKQEAgLTU2OSwyOSArNjA3LDIxIEBACiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKLQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnWzBdKSkgKyBzZ1swXS5vZmZzZXQ7CisJCQlxID0gZGF0YTsKIAkJCWhleGR1bXAocSwgdGVtcGxhdGVbaV0ucmxlbik7CiAKIAkJCXByaW50aygiJXNcbiIsCiAJCQkgICAgICAgbWVtY21wKHEsIHRlbXBsYXRlW2ldLnJlc3VsdCwKIAkJCQkgICAgICB0ZW1wbGF0ZVtpXS5ybGVuKSA/ICJmYWlsIiA6ICJwYXNzIik7Ci0JCQlrdW5tYXAoc2dfcGFnZSgmc2dbMF0pKTsKIAkJfQogCQlrZnJlZShkYXRhKTsKIAl9CiAKIAlwcmludGsoIlxudGVzdGluZyAlcyAlcyBhY3Jvc3MgcGFnZXMgKGNodW5raW5nKVxuIiwgYWxnbywgZSk7Ci0JbWVtc2V0KHhidWYsIDAsIFhCVUZTSVpFKTsKIAogCWogPSAwOwogCWZvciAoaSA9IDA7IGkgPCB0Y291bnQ7IGkrKykgewogCi0JCWRhdGEgPSBremFsbG9jKHRlbXBsYXRlW2ldLmlsZW4sIEdGUF9LRVJORUwpOwotCQlpZiAoIWRhdGEpCi0JCQljb250aW51ZTsKLQotCQltZW1jcHkoZGF0YSwgdGVtcGxhdGVbaV0uaW5wdXQsIHRlbXBsYXRlW2ldLmlsZW4pOwotCiAJCWlmICh0ZW1wbGF0ZVtpXS5pdikKIAkJCW1lbWNweShpdiwgdGVtcGxhdGVbaV0uaXYsIE1BWF9JVkxFTik7CiAJCWVsc2UKQEAgLTYwMiw2ICs2MzIsNyBAQAogCQkJcHJpbnRrKCJ0ZXN0ICV1ICglZCBiaXQga2V5KTpcbiIsCiAJCQlqLCB0ZW1wbGF0ZVtpXS5rbGVuICogOCk7CiAKKwkJCW1lbXNldCh4YnVmLCAwLCBYQlVGU0laRSk7CiAJCQljcnlwdG9fYWJsa2NpcGhlcl9jbGVhcl9mbGFncyh0Zm0sIH4wKTsKIAkJCWlmICh0ZW1wbGF0ZVtpXS53aykKIAkJCQljcnlwdG9fYWJsa2NpcGhlcl9zZXRfZmxhZ3MoCkBAIC02MTMsMTAgKzY0NCw4IEBACiAJCQkJcHJpbnRrKCJzZXRrZXkoKSBmYWlsZWQgZmxhZ3M9JXhcbiIsCiAJCQkJCQljcnlwdG9fYWJsa2NpcGhlcl9nZXRfZmxhZ3ModGZtKSk7CiAKLQkJCQlpZiAoIXRlbXBsYXRlW2ldLmZhaWwpIHsKLQkJCQkJa2ZyZWUoZGF0YSk7CisJCQkJaWYgKCF0ZW1wbGF0ZVtpXS5mYWlsKQogCQkJCQlnb3RvIG91dDsKLQkJCQl9CiAJCQl9CiAKIAkJCXRlbXAgPSAwOwpAQCAtNjU3LDE0ICs2ODYsMjEgQEAKIAkJCXRlbXAgPSAwOwogCQkJZm9yIChrID0gMDsgayA8IHRlbXBsYXRlW2ldLm5wOyBrKyspIHsKIAkJCQlwcmludGsoInBhZ2UgJXVcbiIsIGspOwotCQkJCXEgPSBrbWFwKHNnX3BhZ2UoJnNnW2tdKSkgKyBzZ1trXS5vZmZzZXQ7CisJCQkJcSA9ICZ4YnVmW0lEWFtrXV07CiAJCQkJaGV4ZHVtcChxLCB0ZW1wbGF0ZVtpXS50YXBba10pOwogCQkJCXByaW50aygiJXNcbiIsCiAJCQkJCW1lbWNtcChxLCB0ZW1wbGF0ZVtpXS5yZXN1bHQgKyB0ZW1wLAogCQkJCQkJdGVtcGxhdGVbaV0udGFwW2tdKSA/ICJmYWlsIiA6CiAJCQkJCSJwYXNzIik7CisKKwkJCQlmb3IgKG4gPSAwOyBxW3RlbXBsYXRlW2ldLnRhcFtrXSArIG5dOyBuKyspCisJCQkJCTsKKwkJCQlpZiAobikgeworCQkJCQlwcmludGsoIlJlc3VsdCBidWZmZXIgY29ycnVwdGlvbiAldSAiCisJCQkJCSAgICAgICAiYnl0ZXM6XG4iLCBuKTsKKwkJCQkJaGV4ZHVtcCgmcVt0ZW1wbGF0ZVtpXS50YXBba11dLCBuKTsKKwkJCQl9CiAJCQkJdGVtcCArPSB0ZW1wbGF0ZVtpXS50YXBba107Ci0JCQkJa3VubWFwKHNnX3BhZ2UoJnNnW2tdKSk7CiAJCQl9CiAJCX0KIAl9CkBAIC0xMTgwLDYgKzEyMTYsMTQgQEAKIAkJdGVzdF9jaXBoZXIoImVjYihkZXMzX2VkZSkiLCBERUNSWVBULCBkZXMzX2VkZV9kZWNfdHZfdGVtcGxhdGUsCiAJCQkgICAgREVTM19FREVfREVDX1RFU1RfVkVDVE9SUyk7CiAKKwkJdGVzdF9jaXBoZXIoImNiYyhkZXMzX2VkZSkiLCBFTkNSWVBULAorCQkJICAgIGRlczNfZWRlX2NiY19lbmNfdHZfdGVtcGxhdGUsCisJCQkgICAgREVTM19FREVfQ0JDX0VOQ19URVNUX1ZFQ1RPUlMpOworCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgREVDUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZGVjX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19ERUNfVEVTVF9WRUNUT1JTKTsKKwogCQl0ZXN0X2hhc2goIm1kNCIsIG1kNF90dl90ZW1wbGF0ZSwgTUQ0X1RFU1RfVkVDVE9SUyk7CiAKIAkJdGVzdF9oYXNoKCJzaGEyMjQiLCBzaGEyMjRfdHZfdGVtcGxhdGUsIFNIQTIyNF9URVNUX1ZFQ1RPUlMpOwpAQCAtMTM5MCw2ICsxNDM0LDE0IEBACiAJCQkgICAgREVTM19FREVfRU5DX1RFU1RfVkVDVE9SUyk7CiAJCXRlc3RfY2lwaGVyKCJlY2IoZGVzM19lZGUpIiwgREVDUllQVCwgZGVzM19lZGVfZGVjX3R2X3RlbXBsYXRlLAogCQkJICAgIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMpOworCisJCXRlc3RfY2lwaGVyKCJjYmMoZGVzM19lZGUpIiwgRU5DUllQVCwKKwkJCSAgICBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlLAorCQkJICAgIERFUzNfRURFX0NCQ19FTkNfVEVTVF9WRUNUT1JTKTsKKworCQl0ZXN0X2NpcGhlcigiY2JjKGRlczNfZWRlKSIsIERFQ1JZUFQsCisJCQkgICAgZGVzM19lZGVfY2JjX2RlY190dl90ZW1wbGF0ZSwKKwkJCSAgICBERVMzX0VERV9DQkNfREVDX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCiAJY2FzZSA1OgpAQCAtMTU1OCw3ICsxNjEwLDcgQEAKIAljYXNlIDI5OgogCQl0ZXN0X2hhc2goInRncjEyOCIsIHRncjEyOF90dl90ZW1wbGF0ZSwgVEdSMTI4X1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwotCQkKKwogCWNhc2UgMzA6CiAJCXRlc3RfY2lwaGVyKCJlY2IoeGV0YSkiLCBFTkNSWVBULCB4ZXRhX2VuY190dl90ZW1wbGF0ZSwKIAkJCSAgICBYRVRBX0VOQ19URVNUX1ZFQ1RPUlMpOwpAQCAtMTYyMyw2ICsxNjc1LDIyIEBACiAJCQkgICAgQ1RTX01PREVfREVDX1RFU1RfVkVDVE9SUyk7CiAJCWJyZWFrOwogCisgICAgICAgIGNhc2UgMzk6CisJCXRlc3RfaGFzaCgicm1kMTI4Iiwgcm1kMTI4X3R2X3RlbXBsYXRlLCBSTUQxMjhfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKyAgICAgICAgY2FzZSA0MDoKKwkJdGVzdF9oYXNoKCJybWQxNjAiLCBybWQxNjBfdHZfdGVtcGxhdGUsIFJNRDE2MF9URVNUX1ZFQ1RPUlMpOworCQlicmVhazsKKworCWNhc2UgNDE6CisJCXRlc3RfaGFzaCgicm1kMjU2Iiwgcm1kMjU2X3R2X3RlbXBsYXRlLCBSTUQyNTZfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDQyOgorCQl0ZXN0X2hhc2goInJtZDMyMCIsIHJtZDMyMF90dl90ZW1wbGF0ZSwgUk1EMzIwX1RFU1RfVkVDVE9SUyk7CisJCWJyZWFrOworCiAJY2FzZSAxMDA6CiAJCXRlc3RfaGFzaCgiaG1hYyhtZDUpIiwgaG1hY19tZDVfdHZfdGVtcGxhdGUsCiAJCQkgIEhNQUNfTUQ1X1RFU1RfVkVDVE9SUyk7CkBAIC0xNjU4LDYgKzE3MjYsMTYgQEAKIAkJCSAgWENCQ19BRVNfVEVTVF9WRUNUT1JTKTsKIAkJYnJlYWs7CiAKKwljYXNlIDEwNzoKKwkJdGVzdF9oYXNoKCJobWFjKHJtZDEyOCkiLCBobWFjX3JtZDEyOF90dl90ZW1wbGF0ZSwKKwkJCSAgSE1BQ19STUQxMjhfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKKwljYXNlIDEwODoKKwkJdGVzdF9oYXNoKCJobWFjKHJtZDE2MCkiLCBobWFjX3JtZDE2MF90dl90ZW1wbGF0ZSwKKwkJCSAgSE1BQ19STUQxNjBfVEVTVF9WRUNUT1JTKTsKKwkJYnJlYWs7CisKIAljYXNlIDIwMDoKIAkJdGVzdF9jaXBoZXJfc3BlZWQoImVjYihhZXMpIiwgRU5DUllQVCwgc2VjLCBOVUxMLCAwLAogCQkJCXNwZWVkX3RlbXBsYXRlXzE2XzI0XzMyKTsKQEAgLTE3OTYsNiArMTg3NCwyMiBAQAogCQl0ZXN0X2hhc2hfc3BlZWQoInNoYTIyNCIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKIAkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CiAKKwljYXNlIDMxNDoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQxMjgiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCisJY2FzZSAzMTU6CisJCXRlc3RfaGFzaF9zcGVlZCgicm1kMTYwIiwgc2VjLCBnZW5lcmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOworCQlpZiAobW9kZSA+IDMwMCAmJiBtb2RlIDwgNDAwKSBicmVhazsKKworCWNhc2UgMzE2OgorCQl0ZXN0X2hhc2hfc3BlZWQoInJtZDI1NiIsIHNlYywgZ2VuZXJpY19oYXNoX3NwZWVkX3RlbXBsYXRlKTsKKwkJaWYgKG1vZGUgPiAzMDAgJiYgbW9kZSA8IDQwMCkgYnJlYWs7CisKKwljYXNlIDMxNzoKKwkJdGVzdF9oYXNoX3NwZWVkKCJybWQzMjAiLCBzZWMsIGdlbmVyaWNfaGFzaF9zcGVlZF90ZW1wbGF0ZSk7CisJCWlmIChtb2RlID4gMzAwICYmIG1vZGUgPCA0MDApIGJyZWFrOworCiAJY2FzZSAzOTk6CiAJCWJyZWFrOwogCmRpZmYgLS1naXQgYS9jcnlwdG8vdGNyeXB0LmggYi9jcnlwdG8vdGNyeXB0LmgKaW5kZXggNDdiYzBlYy4uODAxZTBjMiAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5oCisrKyBiL2NyeXB0by90Y3J5cHQuaApAQCAtMTMsMTIgKzEzLDYgQEAKICAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikKICAqIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIDIwMDctMTEtMTMgQWRkZWQgR0NNIHRlc3RzCi0gKiAyMDA3LTExLTEzIEFkZGVkIEFFQUQgc3VwcG9ydAotICogMjAwNi0xMi0wNyBBZGRlZCBTSEEzODQgSE1BQyBhbmQgU0hBNTEyIEhNQUMgdGVzdHMKLSAqIDIwMDQtMDgtMDkgQ2lwaGVyIHNwZWVkIHRlc3RzIGJ5IFJleWsgRmxvZXRlciA8cmV5a0B2YW50cm9uaXgubmV0PgotICogMjAwMy0wOS0xNCBDaGFuZ2VzIGJ5IEthcnRpa2V5IE1haGVuZHJhIEJoYXR0Ci0gKgogICovCiAjaWZuZGVmIF9DUllQVE9fVENSWVBUX0gKICNkZWZpbmUgX0NSWVBUT19UQ1JZUFRfSApAQCAtMTY4LDYgKzE2MiwyNzEgQEAKIAkJLmRpZ2VzdAk9ICJceDU3XHhlZFx4ZjRceGEyXHgyYlx4ZTNceGM5XHg1NSIKIAkJCSAgIlx4YWNceDQ5XHhkYVx4MmVceDIxXHgwN1x4YjZceDdhIiwKIAl9CisKK307CisKKy8qCisgKiBSSVBFTUQtMTI4IHRlc3QgdmVjdG9ycyBmcm9tIElTTy9JRUMgMTAxMTgtMzoyMDA0KEUpCisgKi8KKyNkZWZpbmUgUk1EMTI4X1RFU1RfVkVDVE9SUyAgICAgMTAKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMTI4X3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4Y2RceGYyXHg2Mlx4MTNceGExXHg1MFx4ZGNceDNlIgorCQkJICAiXHhjYlx4NjFceDBmXHgxOFx4ZjZceGIzXHg4Ylx4NDYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceDg2XHhiZVx4N2FceGZhXHgzM1x4OWRceDBmXHhjNyIKKwkJCSAgIlx4Y2ZceGM3XHg4NVx4ZTdceDJmXHg1N1x4OGRceDMzIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGMxXHg0YVx4MTJceDE5XHg5Y1x4NjZceGU0XHhiYSIKKwkJCSAgIlx4ODRceDYzXHg2Ylx4MGZceDY5XHgxNFx4NGNceDc3IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDllXHgzMlx4N2JceDNkXHg2ZVx4NTJceDMwXHg2MiIKKwkJCSAgIlx4YWZceGMxXHgxM1x4MmRceDdkXHhmOVx4ZDFceGI4IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceGZkXHgyYVx4YTZceDA3XHhmN1x4MWRceGM4XHhmNSIKKwkJCSAgIlx4MTBceDcxXHg0OVx4MjJceGIzXHg3MVx4ODNceDRlIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGQxXHhlOVx4NTlceGViXHgxN1x4OWNceDkxXHgxZiIKKwkJCSAgIlx4YWVceGE0XHg2Mlx4NGNceDYwXHhjNVx4YzdceDAyIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDNmXHg0NVx4ZWZceDE5XHg0N1x4MzJceGMyXHhkYiIKKwkJCSAgIlx4YjJceGM0XHhhMlx4YzdceDY5XHg3OVx4NWZceGEzIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHhhMVx4YWFceDA2XHg4OVx4ZDBceGZhXHhmYVx4MmQiCisJCQkgICJceGRjXHgyMlx4ZThceDhiXHg0OVx4MTNceDNhXHgwNiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGJjZGVmZ2hpY2RlZmdoaWpkZWZnaGlqa2VmZ2hpamtsZmdoaSIKKwkJCSAgICAgImprbG1naGlqa2xtbmhpamtsbW5vaWprbG1ub3Bqa2xtbm9wcWtsbW5vcHFyIgorCQkJICAgICAibG1ub3BxcnNtbm9wcXJzdG5vcHFyc3R1IiwKKwkJLnBzaXplCT0gMTEyLAorCQkuZGlnZXN0CT0gIlx4ZDRceGVjXHhjOVx4MTNceGUxXHhkZlx4NzdceDZiIgorCQkJICAiXHhmNFx4OGRceGU5XHhkNVx4NWJceDFmXHgyNVx4NDYiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqaGlqayIsCisJCS5wc2l6ZQk9IDMyLAorCQkuZGlnZXN0CT0gIlx4MTNceGZjXHgxM1x4ZThceGVmXHhmZlx4MzRceDdkIgorCQkJICAiXHhlMVx4OTNceGZmXHg0Nlx4ZGJceGFjXHhjZlx4ZDQiLAorCX0KK307CisKKy8qCisgKiBSSVBFTUQtMTYwIHRlc3QgdmVjdG9ycyBmcm9tIElTTy9JRUMgMTAxMTgtMzoyMDA0KEUpCisgKi8KKyNkZWZpbmUgUk1EMTYwX1RFU1RfVkVDVE9SUyAgICAgMTAKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMTYwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4OWNceDExXHg4NVx4YTVceGM1XHhlOVx4ZmNceDU0XHg2MVx4MjgiCisJCQkgICJceDA4XHg5N1x4N2VceGU4XHhmNVx4NDhceGIyXHgyNVx4OGRceDMxIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYSIsCisJCS5wc2l6ZQk9IDEsCisJCS5kaWdlc3QJPSAiXHgwYlx4ZGNceDlkXHgyZFx4MjVceDZiXHgzZVx4ZTlceGRhXHhhZSIKKwkJCSAgIlx4MzRceDdiXHhlNlx4ZjRceGRjXHg4M1x4NWFceDQ2XHg3Zlx4ZmUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmMiLAorCQkucHNpemUJPSAzLAorCQkuZGlnZXN0CT0gIlx4OGVceGIyXHgwOFx4ZjdceGUwXHg1ZFx4OThceDdhXHg5Ylx4MDQiCisJCQkgICJceDRhXHg4ZVx4OThceGM2XHhiMFx4ODdceGYxXHg1YVx4MGJceGZjIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDVkXHgwNlx4ODlceGVmXHg0OVx4ZDJceGZhXHhlNVx4NzJceGI4IgorCQkJICAiXHg4MVx4YjFceDIzXHhhOFx4NWZceGZhXHgyMVx4NTlceDVmXHgzNiIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IiwKKwkJLnBzaXplCT0gMjYsCisJCS5kaWdlc3QJPSAiXHhmN1x4MWNceDI3XHgxMFx4OWNceDY5XHgyY1x4MWJceDU2XHhiYiIKKwkJCSAgIlx4ZGNceGViXHg1Ylx4OWRceDI4XHg2NVx4YjNceDcwXHg4ZFx4YmMiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlIgorCQkJICAgICAiZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIsCisJCS5wc2l6ZQk9IDYyLAorCQkuZGlnZXN0CT0gIlx4YjBceGUyXHgwYlx4NmVceDMxXHgxNlx4NjRceDAyXHg4Nlx4ZWQiCisJCQkgICJceDNhXHg4N1x4YTVceDcxXHgzMFx4NzlceGIyXHgxZlx4NTFceDg5IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDliXHg3NVx4MmVceDQ1XHg1N1x4M2RceDRiXHgzOVx4ZjRceGRiIgorCQkJICAiXHhkM1x4MzJceDNjXHhhYlx4ODJceGJmXHg2M1x4MzJceDZiXHhmYiIsCisgICAgICAgIH0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqIgorCQkJICAgICAiaGlqa2lqa2xqa2xta2xtbmxtbm9tbm9wbm9wcSIsCisJCS5wc2l6ZQk9IDU2LAorCQkuZGlnZXN0CT0gIlx4MTJceGEwXHg1M1x4MzhceDRhXHg5Y1x4MGNceDg4XHhlNFx4MDUiCisJCQkgICJceGEwXHg2Y1x4MjdceGRjXHhmNFx4OWFceGRhXHg2Mlx4ZWJceDJiIiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMjgsIDI4IH0sCisJfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RlZmdoYmNkZWZnaGljZGVmZ2hpamRlZmdoaWprZWZnaGlqa2xmZ2hpIgorCQkJICAgICAiamtsbWdoaWprbG1uaGlqa2xtbm9pamtsbW5vcGprbG1ub3Bxa2xtbm9wcXIiCisJCQkgICAgICJsbW5vcHFyc21ub3BxcnN0bm9wcXJzdHUiLAorCQkucHNpemUJPSAxMTIsCisJCS5kaWdlc3QJPSAiXHg2Zlx4M2ZceGEzXHg5Ylx4NmJceDUwXHgzY1x4MzhceDRmXHg5MSIKKwkJCSAgIlx4OWFceDQ5XHhhN1x4YWFceDVjXHgyY1x4MDhceGJkXHhmYlx4NDUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkYmNkZWNkZWZkZWZnZWZnaGZnaGlnaGlqaGlqayIsCisJCS5wc2l6ZQk9IDMyLAorCQkuZGlnZXN0CT0gIlx4OTRceGMyXHg2NFx4MTFceDU0XHgwNFx4ZTZceDMzXHg3OVx4MGQiCisJCQkgICJceGZjXHhjOFx4N2JceDU4XHg3ZFx4MzZceDc3XHgwNlx4N2RceDlmIiwKKwl9Cit9OworCisvKgorICogUklQRU1ELTI1NiB0ZXN0IHZlY3RvcnMKKyAqLworI2RlZmluZSBSTUQyNTZfVEVTVF9WRUNUT1JTICAgICA4CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIHJtZDI1Nl90dl90ZW1wbGF0ZVtdID0geworCXsKKwkJLmRpZ2VzdAk9ICJceDAyXHhiYVx4NGNceDRlXHg1Zlx4OGVceGNkXHgxOCIKKwkJCSAgIlx4NzdceGZjXHg1Mlx4ZDZceDRkXHgzMFx4ZTNceDdhIgorCQkJICAiXHgyZFx4OTdceDc0XHhmYlx4MWVceDVkXHgwMlx4NjMiCisJCQkgICJceDgwXHhhZVx4MDFceDY4XHhlM1x4YzVceDUyXHgyZCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gImEiLAorCQkucHNpemUJPSAxLAorCQkuZGlnZXN0CT0gIlx4ZjlceDMzXHgzZVx4NDVceGQ4XHg1N1x4ZjVceGQ5IgorCQkJICAiXHgwYVx4OTFceGJhXHhiN1x4MGFceDFlXHhiYVx4MGMiCisJCQkgICJceGZiXHgxYlx4ZTRceGIwXHg3OFx4M2NceDlhXHhjZiIKKwkJCSAgIlx4Y2RceDg4XHgzYVx4OTFceDM0XHg2OVx4MjlceDI1IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGFmXHhiZFx4NmVceDIyXHg4Ylx4OWRceDhjXHhiYiIKKwkJCSAgIlx4Y2VceGY1XHhjYVx4MmRceDAzXHhlNlx4ZGJceGExIgorCQkJICAiXHgwYVx4YzBceGJjXHg3ZFx4Y2JceGU0XHg2OFx4MGUiCisJCQkgICJceDFlXHg0Mlx4ZDJceGU5XHg3NVx4NDVceDliXHg2NSIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIm1lc3NhZ2UgZGlnZXN0IiwKKwkJLnBzaXplCT0gMTQsCisJCS5kaWdlc3QJPSAiXHg4N1x4ZTlceDcxXHg3NVx4OWFceDFjXHhlNFx4N2EiCisJCQkgICJceDUxXHg0ZFx4NWNceDkxXHg0Y1x4MzlceDJjXHg5MCIKKwkJCSAgIlx4MThceGM3XHhjNFx4NmJceGMxXHg0NFx4NjVceDU1IgorCQkJICAiXHg0YVx4ZmNceGRmXHg1NFx4YTVceDA3XHgwY1x4MGUiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsCisJCS5wc2l6ZQk9IDI2LAorCQkuZGlnZXN0CT0gIlx4NjRceDlkXHgzMFx4MzRceDc1XHgxZVx4YTJceDE2IgorCQkJICAiXHg3N1x4NmJceGY5XHhhMVx4OGFceGNjXHg4MVx4YmMiCisJCQkgICJceDc4XHg5Nlx4MTFceDhhXHg1MVx4OTdceDk2XHg4NyIKKwkJCSAgIlx4ODJceGRkXHgxZlx4ZDlceDdkXHg4ZFx4NTFceDMzIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceDU3XHg0MFx4YTRceDA4XHhhY1x4MTZceGI3XHgyMCIKKwkJCSAgIlx4YjhceDQ0XHgyNFx4YWVceDkzXHgxY1x4YmJceDFmIgorCQkJICAiXHhlM1x4NjNceGQxXHhkMFx4YmZceDQwXHgxN1x4ZjEiCisJCQkgICJceGE4XHg5Zlx4N2VceGE2XHhkZVx4NzdceGEwXHhiOCIsCisJfSwgeworCQkucGxhaW50ZXh0ID0gIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiCisJCQkgICAgICIxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwIiwKKwkJLnBzaXplCT0gODAsCisJCS5kaWdlc3QJPSAiXHgwNlx4ZmRceGNjXHg3YVx4NDBceDk1XHg0OFx4YWEiCisJCQkgICJceGY5XHgxM1x4NjhceGMwXHg2YVx4NjJceDc1XHhiNSIKKwkJCSAgIlx4NTNceGUzXHhmMFx4OTlceGJmXHgwZVx4YTRceGVkIgorCQkJICAiXHhmZFx4NjdceDc4XHhkZlx4ODlceGE4XHg5MFx4ZGQiLAorICAgICAgICB9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpaiIKKwkJCSAgICAgImhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEiLAorCQkucHNpemUJPSA1NiwKKwkJLmRpZ2VzdAk9ICJceDM4XHg0M1x4MDRceDU1XHg4M1x4YWFceGM2XHhjOCIKKwkJCSAgIlx4YzhceGQ5XHgxMlx4ODVceDczXHhlN1x4YTlceDgwIgorCQkJICAiXHg5YVx4ZmJceDJhXHgwZlx4MzRceGNjXHhjM1x4NmUiCisJCQkgICJceGE5XHhlN1x4MmZceDE2XHhmNlx4MzZceDhlXHgzZiIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0KK307CisKKy8qCisgKiBSSVBFTUQtMzIwIHRlc3QgdmVjdG9ycworICovCisjZGVmaW5lIFJNRDMyMF9URVNUX1ZFQ1RPUlMgICAgIDgKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgcm1kMzIwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkuZGlnZXN0CT0gIlx4MjJceGQ2XHg1ZFx4NTZceDYxXHg1M1x4NmNceGRjXHg3NVx4YzEiCisJCQkgICJceGZkXHhmNVx4YzZceGRlXHg3Ylx4NDFceGI5XHhmMlx4NzNceDI1IgorCQkJICAiXHhlYlx4YzZceDFlXHg4NVx4NTdceDE3XHg3ZFx4NzBceDVhXHgwZSIKKwkJCSAgIlx4YzhceDgwXHgxNVx4MWNceDNhXHgzMlx4YTBceDA4XHg5OVx4YjgiLAorCX0sIHsKKwkJLnBsYWludGV4dCA9ICJhIiwKKwkJLnBzaXplCT0gMSwKKwkJLmRpZ2VzdAk9ICJceGNlXHg3OFx4ODVceDA2XHgzOFx4ZjlceDI2XHg1OFx4YTVceGE1IgorCQkJICAiXHg4NVx4MDlceDc1XHg3OVx4OTJceDZkXHhkYVx4NjZceDdhXHg1NyIKKwkJCSAgIlx4MTZceDU2XHgyY1x4ZmNceGY2XHhmYlx4ZTdceDdmXHg2M1x4NTQiCisJCQkgICJceDJmXHg5OVx4YjBceDQ3XHgwNVx4ZDZceDk3XHgwZFx4ZmZceDVkIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjIiwKKwkJLnBzaXplCT0gMywKKwkJLmRpZ2VzdAk9ICJceGRlXHg0Y1x4MDFceGIzXHgwNVx4NGZceDg5XHgzMFx4YTdceDlkIgorCQkJICAiXHgwOVx4YWVceDczXHg4ZVx4OTJceDMwXHgxZVx4NWFceDE3XHgwOCIKKwkJCSAgIlx4NWJceGVmXHhmZFx4YzFceGI4XHhkMVx4MTZceDcxXHgzZVx4NzQiCisJCQkgICJceGY4XHgyZlx4YTlceDQyXHhkNlx4NGNceGRiXHhjNFx4NjhceDJkIiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAibWVzc2FnZSBkaWdlc3QiLAorCQkucHNpemUJPSAxNCwKKwkJLmRpZ2VzdAk9ICJceDNhXHg4ZVx4MjhceDUwXHgyZVx4ZDRceDVkXHg0Mlx4MmZceDY4IgorCQkJICAiXHg4NFx4NGZceDlkXHhkM1x4MTZceGU3XHhiOVx4ODVceDMzXHhmYSIKKwkJCSAgIlx4M2ZceDJhXHg5MVx4ZDJceDlmXHg4NFx4ZDRceDI1XHhjOFx4OGQiCisJCQkgICJceDZiXHg0ZVx4ZmZceDcyXHg3ZFx4ZjZceDZhXHg3Y1x4MDFceDk3IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLAorCQkucHNpemUJPSAyNiwKKwkJLmRpZ2VzdAk9ICJceGNhXHhiZFx4YjFceDgxXHgwYlx4OTJceDQ3XHgwYVx4MjBceDkzIgorCQkJICAiXHhhYVx4NmJceGNlXHgwNVx4OTVceDJjXHgyOFx4MzRceDhjXHhmNCIKKwkJCSAgIlx4M2ZceGY2XHgwOFx4NDFceDk3XHg1MVx4NjZceGJiXHg0MFx4ZWQiCisJCQkgICJceDIzXHg0MFx4MDRceGI4XHg4Mlx4NDRceDYzXHhlNlx4YjBceDA5IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZSIKKwkJCSAgICAgImZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLAorCQkucHNpemUJPSA2MiwKKwkJLmRpZ2VzdAk9ICJceGVkXHg1NFx4NDlceDQwXHhjOFx4NmRceDY3XHhmMlx4NTBceGQyIgorCQkJICAiXHgzMlx4YzNceDBiXHg3Ylx4M2VceDU3XHg3MFx4ZTBceGM2XHgwYyIKKwkJCSAgIlx4OGNceGI5XHhhNFx4Y2FceGZlXHgzYlx4MTFceDM4XHg4YVx4ZjkiCisJCQkgICJceDkyXHgwZVx4MWJceDk5XHgyM1x4MGJceDg0XHgzY1x4ODZceGE0IiwKKwl9LCB7CisJCS5wbGFpbnRleHQgPSAiMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIKKwkJCSAgICAgIjEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAiLAorCQkucHNpemUJPSA4MCwKKwkJLmRpZ2VzdAk9ICJceDU1XHg3OFx4ODhceGFmXHg1Zlx4NmRceDhlXHhkNlx4MmFceGI2IgorCQkJICAiXHg2OVx4NDVceGM2XHhkMlx4YTBceGE0XHg3ZVx4Y2RceDUzXHg0MSIKKwkJCSAgIlx4ZTlceDE1XHhlYlx4OGZceGVhXHgxZFx4MDVceDI0XHg5NVx4NWYiCisJCQkgICJceDgyXHg1ZFx4YzdceDE3XHhlNFx4YTBceDA4XHhhYlx4MmRceDQyIiwKKyAgICAgICAgfSwgeworCQkucGxhaW50ZXh0ID0gImFiY2RiY2RlY2RlZmRlZmdlZmdoZmdoaWdoaWoiCisJCQkgICAgICJoaWpraWprbGprbG1rbG1ubG1ub21ub3Bub3BxIiwKKwkJLnBzaXplCT0gNTYsCisJCS5kaWdlc3QJPSAiXHhkMFx4MzRceGE3XHg5NVx4MGNceGY3XHgyMlx4MDJceDFiXHhhNCIKKwkJCSAgIlx4YjhceDRkXHhmN1x4NjlceGE1XHhkZVx4MjBceDYwXHhlMlx4NTkiCisJCQkgICJceGRmXHg0Y1x4OWJceGI0XHhhNFx4MjZceDhjXHgwZVx4OTNceDViIgorCQkJICAiXHhiY1x4NzRceDcwXHhhOVx4NjlceGM5XHhkMFx4NzJceGExXHhhYyIsCisJCS5ucAk9IDIsCisJCS50YXAJPSB7IDI4LCAyOCB9LAorCX0KIH07CiAKIC8qCkBAIC04MTcsNiArMTA3NiwxNjggQEAKIH07CiAKIC8qCisgKiBITUFDLVJJUEVNRDEyOCB0ZXN0IHZlY3RvcnMgZnJvbSBSRkMyMjg2CisgKi8KKyNkZWZpbmUgSE1BQ19STUQxMjhfVEVTVF9WRUNUT1JTCTcKKworc3RhdGljIHN0cnVjdCBoYXNoX3Rlc3R2ZWMgaG1hY19ybWQxMjhfdHZfdGVtcGxhdGVbXSA9IHsKKwl7CisJCS5rZXkJPSAiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYiIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIkhpIFRoZXJlIiwKKwkJLnBzaXplCT0gOCwKKwkJLmRpZ2VzdAk9ICJceGZiXHhmNlx4MWZceDk0XHg5Mlx4YWFceDRiXHhiZiIKKwkJCSAgIlx4ODFceGMxXHg3Mlx4ZThceDRlXHgwN1x4MzRceGRiIiwKKwl9LCB7CisJCS5rZXkJPSAiSmVmZSIsCisJCS5rc2l6ZQk9IDQsCisJCS5wbGFpbnRleHQgPSAid2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPyIsCisJCS5wc2l6ZQk9IDI4LAorCQkuZGlnZXN0CT0gIlx4ODdceDVmXHg4Mlx4ODhceDYyXHhiNlx4YjNceDM0IgorCQkJICAiXHhiNFx4MjdceGM1XHg1Zlx4OWZceDdmXHhmMFx4OWIiLAorCQkubnAJPSAyLAorCQkudGFwCT0geyAxNCwgMTQgfSwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIsCisJCS5rc2l6ZQk9IDE2LAorCQkucGxhaW50ZXh0ID0gIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIiwKKwkJLnBzaXplCT0gNTAsCisJCS5kaWdlc3QJPSAiXHgwOVx4ZjBceGIyXHg4NFx4NmRceDJmXHg1NFx4M2QiCisJCQkgICJceGEzXHg2M1x4Y2JceGVjXHg4ZFx4NjJceGEzXHg4ZCIsCisJfSwgeworCQkua2V5CT0gIlx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4IgorCQkJICAiXHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTAiCisJCQkgICJceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTkiLAorCQkua3NpemUJPSAyNSwKKwkJLnBsYWludGV4dCA9ICJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4YmRceGJiXHhkN1x4Y2ZceDAzXHhlNFx4NGJceDVhIgorCQkJICAiXHhhNlx4MGFceGY4XHgxNVx4YmVceDRkXHgyMlx4OTQiLAorCX0sIHsKKwkJLmtleQk9ICJceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjIiwKKwkJLmtzaXplCT0gMTYsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBXaXRoIFRydW5jYXRpb24iLAorCQkucHNpemUJPSAyMCwKKwkJLmRpZ2VzdAk9ICJceGU3XHg5OFx4MDhceGYyXHg0Ylx4MjVceGZkXHgwMyIKKwkJCSAgIlx4MWNceDE1XHg1Zlx4MGRceDU1XHgxZFx4OWFceDNhIiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IC0gSGFzaCBLZXkgRmlyc3QiLAorCQkucHNpemUJPSA1NCwKKwkJLmRpZ2VzdAk9ICJceGRjXHg3M1x4MjlceDI4XHhkZVx4OThceDEwXHg0YSIKKwkJCSAgIlx4MWZceDU5XHhkM1x4NzNceGMxXHg1MFx4YWNceGJiIiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IGFuZCBMYXJnZXIgVGhhbiBPbmUgIgorCQkJICAgIkJsb2NrLVNpemUgRGF0YSIsCisJCS5wc2l6ZQk9IDczLAorCQkuZGlnZXN0CT0gIlx4NWNceDZiXHhlY1x4OTZceDc5XHgzZVx4MTZceGQ0IgorCQkJICAiXHgwNlx4OTBceGMyXHgzN1x4NjNceDVmXHgzMFx4YzUiLAorCX0sCit9OworCisvKgorICogSE1BQy1SSVBFTUQxNjAgdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjI4NgorICovCisjZGVmaW5lIEhNQUNfUk1EMTYwX1RFU1RfVkVDVE9SUwk3CisKK3N0YXRpYyBzdHJ1Y3QgaGFzaF90ZXN0dmVjIGhtYWNfcm1kMTYwX3R2X3RlbXBsYXRlW10gPSB7CisJeworCQkua2V5CT0gIlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiXHgwYlx4MGJceDBiIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiSGkgVGhlcmUiLAorCQkucHNpemUJPSA4LAorCQkuZGlnZXN0CT0gIlx4MjRceGNiXHg0Ylx4ZDZceDdkXHgyMFx4ZmNceDFhXHg1ZFx4MmUiCisJCQkgICJceGQ3XHg3M1x4MmRceGNjXHgzOVx4MzdceDdmXHgwYVx4NTZceDY4IiwKKwl9LCB7CisJCS5rZXkJPSAiSmVmZSIsCisJCS5rc2l6ZQk9IDQsCisJCS5wbGFpbnRleHQgPSAid2hhdCBkbyB5YSB3YW50IGZvciBub3RoaW5nPyIsCisJCS5wc2l6ZQk9IDI4LAorCQkuZGlnZXN0CT0gIlx4ZGRceGE2XHhjMFx4MjFceDNhXHg0OFx4NWFceDllXHgyNFx4ZjQiCisJCQkgICJceDc0XHgyMFx4NjRceGE3XHhmMFx4MzNceGI0XHgzY1x4NDBceDY5IiwKKwkJLm5wCT0gMiwKKwkJLnRhcAk9IHsgMTQsIDE0IH0sCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIiwKKwkJLmtzaXplCT0gMjAsCisJCS5wbGFpbnRleHQgPSAiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkIgorCQkJIlx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiCisJCQkiXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZCIKKwkJCSJceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGRceGRkXHhkZFx4ZGQiLAorCQkucHNpemUJPSA1MCwKKwkJLmRpZ2VzdAk9ICJceGIwXHhiMVx4MDVceDM2XHgwZFx4ZTdceDU5XHg5Nlx4MGFceGI0IgorCQkJICAiXHhmM1x4NTJceDk4XHhlMVx4MTZceGUyXHg5NVx4ZDhceGU3XHhjMSIsCisJfSwgeworCQkua2V5CT0gIlx4MDFceDAyXHgwM1x4MDRceDA1XHgwNlx4MDdceDA4IgorCQkJICAiXHgwOVx4MGFceDBiXHgwY1x4MGRceDBlXHgwZlx4MTAiCisJCQkgICJceDExXHgxMlx4MTNceDE0XHgxNVx4MTZceDE3XHgxOFx4MTkiLAorCQkua3NpemUJPSAyNSwKKwkJLnBsYWludGV4dCA9ICJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2QiCisJCQkiXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIKKwkJCSJceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkIgorCQkJIlx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZFx4Y2RceGNkXHhjZCIsCisJCS5wc2l6ZQk9IDUwLAorCQkuZGlnZXN0CT0gIlx4ZDVceGNhXHg4Nlx4MmZceDRkXHgyMVx4ZDVceGU2XHgxMFx4ZTEiCisJCQkgICJceDhiXHg0Y1x4ZjFceGJlXHhiOVx4N2FceDQzXHg2NVx4ZWNceGY0IiwKKwl9LCB7CisJCS5rZXkJPSAiXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGNceDBjXHgwY1x4MGMiLAorCQkua3NpemUJPSAyMCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFdpdGggVHJ1bmNhdGlvbiIsCisJCS5wc2l6ZQk9IDIwLAorCQkuZGlnZXN0CT0gIlx4NzZceDE5XHg2OVx4MzlceDc4XHhmOVx4MWRceDkwXHg1M1x4OWEiCisJCQkgICJceGU3XHg4Nlx4NTBceDBmXHhmM1x4ZDhceGUwXHg1MVx4OGVceDM5IiwKKwl9LCB7CisJCS5rZXkJPSAiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWEiLAorCQkua3NpemUJPSA4MCwKKwkJLnBsYWludGV4dCA9ICJUZXN0IFVzaW5nIExhcmdlciBUaGFuIEJsb2NrLVNpemUgS2V5IC0gSGFzaCBLZXkgRmlyc3QiLAorCQkucHNpemUJPSA1NCwKKwkJLmRpZ2VzdAk9ICJceDY0XHg2Nlx4Y2FceDA3XHhhY1x4NWVceGFjXHgyOVx4ZTFceGJkIgorCQkJICAiXHg1Mlx4M2VceDVhXHhkYVx4NzZceDA1XHhiN1x4OTFceGZkXHg4YiIsCisJfSwgeworCQkua2V5CT0gIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWEiCisJCQkiXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYSIKKwkJCSJceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhXHhhYVx4YWFceGFhIgorCQkJIlx4YWFceGFhIiwKKwkJLmtzaXplCT0gODAsCisJCS5wbGFpbnRleHQgPSAiVGVzdCBVc2luZyBMYXJnZXIgVGhhbiBCbG9jay1TaXplIEtleSBhbmQgTGFyZ2VyIFRoYW4gT25lICIKKwkJCSAgICJCbG9jay1TaXplIERhdGEiLAorCQkucHNpemUJPSA3MywKKwkJLmRpZ2VzdAk9ICJceDY5XHhlYVx4NjBceDc5XHg4ZFx4NzFceDYxXHg2Y1x4Y2VceDVmIgorCQkJICAiXHhkMFx4ODdceDFlXHgyM1x4NzVceDRjXHhkN1x4NWRceDVhXHgwYSIsCisJfSwKK307CisKKy8qCiAgKiBITUFDLVNIQTEgdGVzdCB2ZWN0b3JzIGZyb20gUkZDMjIwMgogICovCiAjZGVmaW5lIEhNQUNfU0hBMV9URVNUX1ZFQ1RPUlMJNwpAQCAtMTQ0Miw2ICsxODYzLDggQEAKICNkZWZpbmUgREVTX0NCQ19ERUNfVEVTVF9WRUNUT1JTCTQKICNkZWZpbmUgREVTM19FREVfRU5DX1RFU1RfVkVDVE9SUwkzCiAjZGVmaW5lIERFUzNfRURFX0RFQ19URVNUX1ZFQ1RPUlMJMworI2RlZmluZSBERVMzX0VERV9DQkNfRU5DX1RFU1RfVkVDVE9SUwkxCisjZGVmaW5lIERFUzNfRURFX0NCQ19ERUNfVEVTVF9WRUNUT1JTCTEKIAogc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXNfZW5jX3R2X3RlbXBsYXRlW10gPSB7CiAJeyAvKiBGcm9tIEFwcGxpZWQgQ3J5cHRvZ3JhcGh5ICovCkBAIC0xNjgwLDkgKzIxMDMsNiBAQAogCX0sCiB9OwogCi0vKgotICogV2UgcmVhbGx5IG5lZWQgc29tZSBtb3JlIHRlc3QgdmVjdG9ycywgZXNwZWNpYWxseSBmb3IgREVTMyBDQkMuCi0gKi8KIHN0YXRpYyBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgZGVzM19lZGVfZW5jX3R2X3RlbXBsYXRlW10gPSB7CiAJeyAvKiBUaGVzZSBhcmUgZnJvbSBvcGVuc3NsICovCiAJCS5rZXkJPSAiXHgwMVx4MjNceDQ1XHg2N1x4ODlceGFiXHhjZFx4ZWYiCkBAIC0xNzQ1LDYgKzIxNjUsOTQgQEAKIAl9LAogfTsKIAorc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXMzX2VkZV9jYmNfZW5jX3R2X3RlbXBsYXRlW10gPSB7CisJeyAvKiBHZW5lcmF0ZWQgZnJvbSBvcGVuc3NsICovCisJCS5rZXkJPSAiXHhFOVx4QzBceEZGXHgyRVx4NzZceDBCXHg2NFx4MjQiCisJCQkgICJceDQ0XHg0RFx4OTlceDVBXHgxMlx4RDZceDQwXHhDMCIKKwkJCSAgIlx4RUFceEMyXHg4NFx4RThceDE0XHg5NVx4REJceEU4IiwKKwkJLmtsZW4JPSAyNCwKKwkJLml2CT0gIlx4N0RceDMzXHg4OFx4OTNceDBGXHg5M1x4QjJceDQyIiwKKwkJLmlucHV0CT0gIlx4NmZceDU0XHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlIgorCQkJICAiXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyXHg3M1x4NzQiCisJCQkgICJceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MSIKKwkJCSAgIlx4MjBceDc5XHg2NVx4NTNceDcyXHg2M1x4NzRceDY1IgorCQkJICAiXHgyMFx4NzNceDZmXHg1NFx4MjBceDZmXHg2MVx4NGQiCisJCQkgICJceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjVceDY1XHg3MiIKKwkJCSAgIlx4NzNceDc0XHg1NFx4MjBceDZmXHg2Zlx4NGRceDIwIgorCQkJICAiXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzXHg3Mlx4NjMiCisJCQkgICJceDc0XHg2NVx4MjBceDczXHg2Zlx4NTRceDIwXHg2ZiIKKwkJCSAgIlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMFx4NjNceDY1IgorCQkJICAiXHg2NVx4NzJceDczXHg3NFx4NTRceDIwXHg2Zlx4NmYiCisJCQkgICJceDRkXHgyMFx4NmVceDYxXHgyMFx4NzlceDY1XHg1MyIKKwkJCSAgIlx4NzJceDYzXHg3NFx4NjVceDIwXHg3M1x4NmZceDU0IgorCQkJICAiXHgyMFx4NmZceDYxXHg0ZFx4NzlceDZlXHg1M1x4MjAiCisJCQkgICJceDYzXHg2NVx4NjVceDcyXHg3M1x4NzRceDU0XHgyMCIKKwkJCSAgIlx4NmZceDZmXHg0ZFx4MjBceDZlXHg2MVx4MGFceDc5IiwKKwkJLmlsZW4JPSAxMjgsCisJCS5yZXN1bHQJPSAiXHgwZVx4MmRceGI2XHg5N1x4M2NceDU2XHgzM1x4ZjQiCisJCQkgICJceDY3XHgxN1x4MjFceGM3XHg2ZVx4OGFceGQ1XHg0OSIKKwkJCSAgIlx4NzRceGIzXHg0OVx4MDVceGM1XHgxY1x4ZDBceGVkIgorCQkJICAiXHgxMlx4NTZceDVjXHg1M1x4OTZceGI2XHgwMFx4N2QiCisJCQkgICJceDkwXHg0OFx4ZmNceGY1XHg4ZFx4MjlceDM5XHhjYyIKKwkJCSAgIlx4OGFceGQ1XHgzNVx4MThceDM2XHgyM1x4NGVceGQ3IgorCQkJICAiXHg3Nlx4ZDFceGRhXHgwY1x4OTRceDY3XHhiYlx4MDQiCisJCQkgICJceDhiXHhmMlx4MDNceDZjXHhhOFx4Y2ZceGI2XHhlYSIKKwkJCSAgIlx4MjJceDY0XHg0N1x4YWFceDhmXHg3NVx4MTNceGJmIgorCQkJICAiXHg5Zlx4YzJceGMzXHhmMFx4YzlceDU2XHhjNVx4N2EiCisJCQkgICJceDcxXHg2M1x4MmVceDg5XHg3Ylx4MWVceDEyXHhjYSIKKwkJCSAgIlx4ZTJceDVmXHhhZlx4ZDhceGE0XHhmOFx4YzlceDdhIgorCQkJICAiXHhkNlx4ZjlceDIxXHgzMVx4NjJceDQ0XHg0NVx4YTYiCisJCQkgICJceGQ2XHhiY1x4NWFceGQzXHgyZFx4NTRceDQzXHhjYyIKKwkJCSAgIlx4OWRceGRlXHhhNVx4NzBceGU5XHg0Mlx4NDVceDhhIgorCQkJICAiXHg2Ylx4ZmFceGIxXHg5MVx4MTNceGIwXHhkOVx4MTkiLAorCQkucmxlbgk9IDEyOCwKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBjaXBoZXJfdGVzdHZlYyBkZXMzX2VkZV9jYmNfZGVjX3R2X3RlbXBsYXRlW10gPSB7CisJeyAvKiBHZW5lcmF0ZWQgZnJvbSBvcGVuc3NsICovCisJCS5rZXkJPSAiXHhFOVx4QzBceEZGXHgyRVx4NzZceDBCXHg2NFx4MjQiCisJCQkgICJceDQ0XHg0RFx4OTlceDVBXHgxMlx4RDZceDQwXHhDMCIKKwkJCSAgIlx4RUFceEMyXHg4NFx4RThceDE0XHg5NVx4REJceEU4IiwKKwkJLmtsZW4JPSAyNCwKKwkJLml2CT0gIlx4N0RceDMzXHg4OFx4OTNceDBGXHg5M1x4QjJceDQyIiwKKwkJLmlucHV0CT0gIlx4MGVceDJkXHhiNlx4OTdceDNjXHg1Nlx4MzNceGY0IgorCQkJICAiXHg2N1x4MTdceDIxXHhjN1x4NmVceDhhXHhkNVx4NDkiCisJCQkgICJceDc0XHhiM1x4NDlceDA1XHhjNVx4MWNceGQwXHhlZCIKKwkJCSAgIlx4MTJceDU2XHg1Y1x4NTNceDk2XHhiNlx4MDBceDdkIgorCQkJICAiXHg5MFx4NDhceGZjXHhmNVx4OGRceDI5XHgzOVx4Y2MiCisJCQkgICJceDhhXHhkNVx4MzVceDE4XHgzNlx4MjNceDRlXHhkNyIKKwkJCSAgIlx4NzZceGQxXHhkYVx4MGNceDk0XHg2N1x4YmJceDA0IgorCQkJICAiXHg4Ylx4ZjJceDAzXHg2Y1x4YThceGNmXHhiNlx4ZWEiCisJCQkgICJceDIyXHg2NFx4NDdceGFhXHg4Zlx4NzVceDEzXHhiZiIKKwkJCSAgIlx4OWZceGMyXHhjM1x4ZjBceGM5XHg1Nlx4YzVceDdhIgorCQkJICAiXHg3MVx4NjNceDJlXHg4OVx4N2JceDFlXHgxMlx4Y2EiCisJCQkgICJceGUyXHg1Zlx4YWZceGQ4XHhhNFx4ZjhceGM5XHg3YSIKKwkJCSAgIlx4ZDZceGY5XHgyMVx4MzFceDYyXHg0NFx4NDVceGE2IgorCQkJICAiXHhkNlx4YmNceDVhXHhkM1x4MmRceDU0XHg0M1x4Y2MiCisJCQkgICJceDlkXHhkZVx4YTVceDcwXHhlOVx4NDJceDQ1XHg4YSIKKwkJCSAgIlx4NmJceGZhXHhiMVx4OTFceDEzXHhiMFx4ZDlceDE5IiwKKwkJLmlsZW4JPSAxMjgsCisJCS5yZXN1bHQJPSAiXHg2Zlx4NTRceDIwXHg2Zlx4NjFceDRkXHg3OVx4NmUiCisJCQkgICJceDUzXHgyMFx4NjNceDY1XHg2NVx4NzJceDczXHg3NCIKKwkJCSAgIlx4NTRceDIwXHg2Zlx4NmZceDRkXHgyMFx4NmVceDYxIgorCQkJICAiXHgyMFx4NzlceDY1XHg1M1x4NzJceDYzXHg3NFx4NjUiCisJCQkgICJceDIwXHg3M1x4NmZceDU0XHgyMFx4NmZceDYxXHg0ZCIKKwkJCSAgIlx4NzlceDZlXHg1M1x4MjBceDYzXHg2NVx4NjVceDcyIgorCQkJICAiXHg3M1x4NzRceDU0XHgyMFx4NmZceDZmXHg0ZFx4MjAiCisJCQkgICJceDZlXHg2MVx4MjBceDc5XHg2NVx4NTNceDcyXHg2MyIKKwkJCSAgIlx4NzRceDY1XHgyMFx4NzNceDZmXHg1NFx4MjBceDZmIgorCQkJICAiXHg2MVx4NGRceDc5XHg2ZVx4NTNceDIwXHg2M1x4NjUiCisJCQkgICJceDY1XHg3Mlx4NzNceDc0XHg1NFx4MjBceDZmXHg2ZiIKKwkJCSAgIlx4NGRceDIwXHg2ZVx4NjFceDIwXHg3OVx4NjVceDUzIgorCQkJICAiXHg3Mlx4NjNceDc0XHg2NVx4MjBceDczXHg2Zlx4NTQiCisJCQkgICJceDIwXHg2Zlx4NjFceDRkXHg3OVx4NmVceDUzXHgyMCIKKwkJCSAgIlx4NjNceDY1XHg2NVx4NzJceDczXHg3NFx4NTRceDIwIgorCQkJICAiXHg2Zlx4NmZceDRkXHgyMFx4NmVceDYxXHgwYVx4NzkiLAorCQkucmxlbgk9IDEyOCwKKwl9LAorfTsKKwogLyoKICAqIEJsb3dmaXNoIHRlc3QgdmVjdG9ycy4KICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9NYWtlZmlsZSBiL2RyaXZlcnMvTWFrZWZpbGUKaW5kZXggZjY1ZGVkYS4uZmRhNDQ2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL01ha2VmaWxlCkBAIC0xMCw2ICsxMCw3IEBACiBvYmotJChDT05GSUdfUEFSSVNDKQkJKz0gcGFyaXNjLwogb2JqLSQoQ09ORklHX1JBUElESU8pCQkrPSByYXBpZGlvLwogb2JqLXkJCQkJKz0gdmlkZW8vCitvYmoteQkJCQkrPSBncHUvCiBvYmotJChDT05GSUdfQUNQSSkJCSs9IGFjcGkvCiAjIFBuUCBtdXN0IGNvbWUgYWZ0ZXIgQUNQSSBzaW5jZSBpdCB3aWxsIGV2ZW50dWFsbHkgbmVlZCB0byBjaGVjayBpZiBhY3BpCiAjIHdhcyB1c2VkIGFuZCBkbyBub3RoaW5nIGlmIHNvCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Fjb3JuL2NoYXIvTWFrZWZpbGUgYi9kcml2ZXJzL2Fjb3JuL2NoYXIvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwMDZjOWYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hY29ybi9jaGFyL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgYWNvcm4gY2hhcmFjdGVyIGRldmljZSBkcml2ZXJzLgotIwotCi1vYmotJChDT05GSUdfTDcyMDBfS0VZQikJKz0gZGVma2V5bWFwLWw3MjAwLm8ga2V5Yl9sNzIwMC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMgYi9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzZDgwYTEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hY29ybi9jaGFyL2RlZmtleW1hcC1sNzIwMC5jCisrKyAvZGV2L251bGwKQEAgLTEsMzg2ICswLDAgQEAKLS8qCi0gKiBsaW51eC9kcml2ZXJzL2Fjb3JuL2NoYXIvZGVma2V5bWFwLWw3MjAwLmMKLSAqCi0gKiBEZWZhdWx0IGtleWJvYXJkIG1hcHMgZm9yIExpbmtVcCBTeXN0ZW1zIEw3MjAwIGJvYXJkCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDAwIFN0ZXZlIEhpbGwgKHNqaGlsbEBjb3R3LmNvbSkKLSAqCi0gKiBDaGFuZ2Vsb2c6Ci0gKiAgIDA4LTA0LTIwMDAgU0pIICAgICBDcmVhdGVkIGZpbGUKLSAqLwotCi0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXlib2FyZC5oPgotI2luY2x1ZGUgPGxpbnV4L2tkLmg+Ci0KLS8qIE5vcm1hbCAobWFwcyAxOjEgd2l0aCBubyBwcm9jZXNzaW5nKSAqLwotI2RlZmluZSBLVG4JMHhGMAotLyogRnVuY3Rpb24ga2V5cyAqLwotI2RlZmluZSBLVGYJMHhGMQotLyogU3BlY2lhbCAoUGVyZm9ybXMgc3BlY2lhbCBob3VzZS1rZWVwaW5nIGZ1bmNzKSAqLwotI2RlZmluZSBLVHMJMHhGMgotI2RlZmluZSBLSUdOT1JFCQlLKEtUcywgMCkJLyogSWdub3JlICovCi0jZGVmaW5lIEtFTlRFUgkJSyhLVHMsIDEpCS8qIEVudGVyICovCi0jZGVmaW5lIEtSRUdTCQlLKEtUcywgMikJLyogUmVncyAqLwotI2RlZmluZSBLTUVNCQlLKEtUcywgMykJLyogTWVtICovCi0jZGVmaW5lIEtTVEFUCQlLKEtUcywgNCkJLyogU3RhdGUgKi8KLSNkZWZpbmUgS0lOVFIJCUsoS1RzLCA1KQkvKiBJbnRyICovCi0jZGVmaW5lIEtzbAk2CS8qIExhc3QgY29uc29sZSAqLwotI2RlZmluZSBLQ0FQU0xLCQlLKEtUcywgNykJLyogQ2FwcyBsb2NrICovCi0jZGVmaW5lIEtOVU1MSwkJSyhLVHMsIDgpCS8qIE51bS1sb2NrICovCi0jZGVmaW5lIEtTQ1JMTEsJCUsoS1RzLCA5KQkvKiBTY3JvbGwtbG9jayAqLwotI2RlZmluZSBLU0NSTEZPUglLKEtUcywxMCkJLyogU2Nyb2xsIGZvcndhcmQgKi8KLSNkZWZpbmUgS1NDUkxCQUsJSyhLVHMsMTEpCS8qIFNjcm9sbCBiYWNrICovCi0jZGVmaW5lIEtSRUJPT1QJCUsoS1RzLDEyKQkvKiBSZWJvb3QgKi8KLSNkZWZpbmUgS0NBUFNPTgkJSyhLVHMsMTMpCS8qIENhcHMgb24gKi8KLSNkZWZpbmUgS0NPTVBPU0UJSyhLVHMsMTQpCS8qIENvbXBvc2UgKi8KLSNkZWZpbmUgS1NBSwkJSyhLVHMsMTUpCS8qIFNBSyAqLwotI2RlZmluZSBDT05TX0RFQwlLKEtUcywxNikJLyogRGVjIGNvbnNvbGUgKi8KLSNkZWZpbmUgQ09OU19JTkMJSyhLVHMsMTcpCS8qIEluY3IgY29uc29sZSAqLwotI2RlZmluZSBLRkxPUFBZCQlLKEtUcywxOCkJLyogRmxvcHB5ICovCi0vKiBLZXkgcGFkICgwLTkgPSBkaWdpdHMsIDEwPSssIDExPS0sIDEyPSosIDEzPS8sIDE0PWVudGVyLCAxNj0uLCAxNz0jICovCi0jZGVmaW5lIEtUcAkweEYzCi0jZGVmaW5lIEtQQURfMAkJSyhLVHAsIDAgKQotI2RlZmluZSBLUEFEXzEgIAlLKEtUcCwgMSApCi0jZGVmaW5lIEtQQURfMgkJSyhLVHAsIDIgKQotI2RlZmluZSBLUEFEXzMJCUsoS1RwLCAzICkKLSNkZWZpbmUgS1BBRF80CQlLKEtUcCwgNCApCi0jZGVmaW5lIEtQQURfNQkJSyhLVHAsIDUgKQotI2RlZmluZSBLUEFEXzYJCUsoS1RwLCA2ICkKLSNkZWZpbmUgS1BBRF83CQlLKEtUcCwgNyApCi0jZGVmaW5lIEtQQURfOAkJSyhLVHAsIDggKQotI2RlZmluZSBLUEFEXzkJCUsoS1RwLCA5ICkKLSNkZWZpbmUgS1BBRF9QTAkJSyhLVHAsMTAgKQotI2RlZmluZSBLUEFEX01JCQlLKEtUcCwxMSApCi0jZGVmaW5lIEtQQURfTUwJCUsoS1RwLDEyICkKLSNkZWZpbmUgS1BBRF9EVgkJSyhLVHAsMTMgKQotI2RlZmluZSBLUEFEX0VOCQlLKEtUcCwxNCApCi0jZGVmaW5lIEtQQURfRFQJCUsoS1RwLDE2ICkKLSNkZWZpbmUgS1BBRF9IUwkJSyhLVHAsMjAgKQotLyogQ29uc29sZSBzd2l0Y2hpbmcgKi8KLSNkZWZpbmUgS0NuCTB4RjUKLS8qIEN1cnNvciAqLwotI2RlZmluZSBLVGMJMHhGNgotI2RlZmluZSBLY2QJMAkvKiBDdXJzb3IgZG93biAqLwotI2RlZmluZSBLY2wJMQkvKiBDdXJzb3IgbGVmdCAqLwotI2RlZmluZSBLY3IJMgkvKiBDdXJzb3IgcmlnaHQgKi8KLSNkZWZpbmUgS2N1CTMJLyogQ3Vyc29yIHVwICovCi0vKiBTaGlmdC9hbHQgbW9kaWZpZXJzIGV0YyAqLwotI2RlZmluZSBLTWQJMHhGNwotI2RlZmluZSBLU0hJRlQJCUsoS01kLCAwICkKLSNkZWZpbmUgS0FMVEdSCQlLKEtNZCwgMSApCi0jZGVmaW5lIEtDVFJMCQlLKEtNZCwgMiApCi0jZGVmaW5lIEtBTFQJCUsoS01kLCAzICkKLS8qIE1ldGEgKi8KLSNkZWZpbmUgS010CTB4RjgKLSNkZWZpbmUgS0FzCTB4RjkKLSNkZWZpbmUgS1BBREFfMAkJSyhLQXMsIDAgKQotI2RlZmluZSBLUEFEQV8xCQlLKEtBcywgMSApCi0jZGVmaW5lIEtQQURBXzIJCUsoS0FzLCAyICkKLSNkZWZpbmUgS1BBREFfMwkJSyhLQXMsIDMgKQotI2RlZmluZSBLUEFEQV80CQlLKEtBcywgNCApCi0jZGVmaW5lIEtQQURBXzUJCUsoS0FzLCA1ICkKLSNkZWZpbmUgS1BBREFfNgkJSyhLQXMsIDYgKQotI2RlZmluZSBLUEFEQV83CQlLKEtBcywgNyApCi0jZGVmaW5lIEtQQURBXzgJCUsoS0FzLCA4ICkKLSNkZWZpbmUgS1BBREFfOQkJSyhLQXMsIDkgKQotI2RlZmluZSBLUEFEQl8wCQlLKEtBcywxMCApCi0jZGVmaW5lIEtQQURCXzEJCUsoS0FzLDExICkKLSNkZWZpbmUgS1BBREJfMgkJSyhLQXMsMTIgKQotI2RlZmluZSBLUEFEQl8zCQlLKEtBcywxMyApCi0jZGVmaW5lIEtQQURCXzQJCUsoS0FzLDE0ICkKLSNkZWZpbmUgS1BBREJfNQkJSyhLQXMsMTUgKQotI2RlZmluZSBLUEFEQl82CQlLKEtBcywxNiApCi0jZGVmaW5lIEtQQURCXzcJCUsoS0FzLDE3ICkKLSNkZWZpbmUgS1BBREJfOAkJSyhLQXMsMTggKQotI2RlZmluZSBLUEFEQl85CQlLKEtBcywxOSApCi0vKiBMb2NraW5nIGtleXMgKi8KLSNkZWZpbmUgS0xrCTB4RkEKLS8qIExldHRlcnMgKi8KLSNkZWZpbmUgS1RsCTB4RkIKLQotLyoKLSAqIEhlcmUgaXMgdGhlIGxheW91dCBvZiB0aGUga2V5cyBmb3IgdGhlIEZ1aml0c3UgUVdFUlRZCi0gKiBzdHlsZSBrZXlib2FyZDoKLSAqCi0gKglzdGF0aWMgY2hhciBGdWppdHN1X0tleV9UYWJsZVtdID0KLSAqCXsKLSAqICAgICAgICBLQUxULCAnYCcgLCBLTlVMLCBLQ1RMLCBLRlVOLCBLRVNDLCAnMScgLCAnMicgLAotICoJICAnOScgLCAnMCcgLCAnLScgLCAnPScgLCBLTlVMLCBLQlNQLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLQlNMLCBLU0hGLCBLTlVMLCBLTlVMLCBLREVMLCBLTlVMLCAndCcgLAotICoJICAneScgLCAndScgLCAnaScgLCBLUkVULCBLU0hGLCBLUEdELCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLVEFCLCBLTlVMLCBLTlVMLCBLTlVMLCAncScgLCAndycgLCAnZScgLAotICoJICAncicgLCAnbycgLCAncCcgLCAnWycgLCBLTlVMLCAnXScgLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAneicgLCBLTlVMLCBLTlVMLCBLTlVMLCBLU0hMLCBLTlVMLCBLTlVMLAotICoJICAnaycgLCAnbCcgLCAnOycgLCBLU1FULCBLTlVMLCBLUEdVLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAnYScgLCBLTlVMLCBLTlVMLCBLTlVMLCAncycgLCAnZCcgLCAnZicgLAotICoJICAnZycgLCAnaCcgLCAnaicgLCAnLycgLCBLTlVMLCBLSE1FLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCAneCcgLCBLTlVMLCBLTlVMLCBLTlVMLCAnYycgLCAndicgLCAnYicgLAotICoJICAnbicgLCAnbScgLCAnLCcgLCAnLicgLCBLTlVMLCAnICcgLCBLTlVMLCBLTlVMLAotICoJICBLTlVMLCBLTlVMLCBLTlVMLCBLTlVMLCBLTlVMLCAnMycgLCAnNCcgLCAnNScgLAotICoJICAnNicgLCAnNycgLCAnOCcgLCBLTlVMLCBLUFJHLCBLTlVMLCBLRU5ELCBLTlVMLAotICoJfTsKLSAqLwotCi11X3Nob3J0IHBsYWluX21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjA2MCwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMzEsIDB4ZjAzMiwKLQkweGYwMzksIDB4ZjAzMCwgMHhmMDJkLCAweGYwM2QsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjA1YywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZmI3NCwKLQkweGZiNzksIDB4ZmI3NSwgMHhmYjY5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwOSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjcxLCAweGZiNzcsIDB4ZmI2NSwKLQkweGZiNzIsIDB4ZmI2ZiwgMHhmYjcwLCAweGYwNWIsIDB4ZjIwMCwgMHhmMDVkLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI3YSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjA3LCAweGYyMDAsIDB4ZjIwMCwKLQkweGZiNmIsIDB4ZmI2YywgMHhmMDNiLCAweGYwMjcsIDB4ZjIwMCwgMHhmNjAzLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI2MSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjczLCAweGZiNjQsIDB4ZmI2NiwKLQkweGZiNjcsIDB4ZmI2OCwgMHhmYjZhLCAweGYwMmYsIDB4ZjIwMCwgMHhmNjAxLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZmI3OCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmYjYzLCAweGZiNzYsIDB4ZmI2MiwKLQkweGZiNmUsIDB4ZmI2ZCwgMHhmMDJjLCAweGYwMmUsIDB4ZjIwMCwgMHhmMDIwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDMzLCAweGYwMzQsIDB4ZjAzNSwgCi0JMHhmMDM2LCAweGYwMzcsIDB4ZjAzOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi19OwotCi11X3Nob3J0IHNoaWZ0X21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjA3ZSwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMjEsIDB4ZjA0MCwKLQkweGYwMjgsIDB4ZjAyOSwgMHhmMDVmLCAweGYwMmIsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjA3YywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZmI1NCwKLQkweGZiNTksIDB4ZmI1NSwgMHhmYjQ5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLSAJMHhmMjAwLCAweGYwMDksIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI1MSwgMHhmYjU3LCAweGZiNDUsCi0JMHhmYjUyLCAweGZiNGYsIDB4ZmI1MCwgMHhmMDdiLCAweGYyMDAsIDB4ZjA3ZCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNWEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwNywgMHhmMjAwLCAweGYyMDAsCi0JMHhmYjRiLCAweGZiNGMsIDB4ZjAzYSwgMHhmMDIyLCAweGYyMDAsIDB4ZjYwMywgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNDEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI1MywgMHhmYjQ0LCAweGZiNDYsCi0JMHhmYjQ3LCAweGZiNDgsIDB4ZmI0YSwgMHhmMDNmLCAweGYyMDAsIDB4ZjYwMSwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGZiNTgsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZmI0MywgMHhmYjU2LCAweGZiNDIsCi0JMHhmYjRlLCAweGZiNGQsIDB4ZjAzYywgMHhmMDNlLCAweGYyMDAsIDB4ZjAyMCwgMHhmMjAwLCAweGYyMDAsCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjAyMywgMHhmMDI0LCAweGYwMjUsIAotCTB4ZjA1ZSwgMHhmMDI2LCAweGYwMmEsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjYwMiwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgCi0JMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIAotfTsKLQotdV9zaG9ydCBhbHRncl9tYXBbTlJfS0VZU109Ci17Ci0gIEtJR05PUkUgICAsSyhLQ24sMTIgKSxLKEtDbiwxMyApLEsoS0NuLDE0ICApLEsoS0NuLDE1ICksSyhLQ24sMTYgKSxLKEtDbiwxNyAgKSxLKEtDbiwgMTgpLAotICBLKEtDbiwgMTkpLEsoS0NuLDIwICksSyhLQ24sMjEgKSxLKEtDbiwyMiAgKSxLKEtDbiwyMyApLEtJR05PUkUgICAsS1JFR1MgICAgICAsS0lOVFIgICAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEsoS1RuLCdAJyksS0lHTk9SRSAgICAsSyhLVG4sJyQnKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RuLCd7JyksCi0gIEsoS1RuLCdbJyksSyhLVG4sJ10nKSxLKEtUbiwnfScpLEsoS1RuLCdcXCcpLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMSApLAotICBLKEtUZiwyMCApLEsoS1RmLDI0ICksS05VTUxLICAgICxLUEFEX0RWICAgICxLUEFEX01MICAgLEtQQURfSFMgICAsS0lHTk9SRSAgICAsSyhLVGwsJ3EnKSwKLSAgSyhLVGwsJ3cnKSxLKEtUbCwnZScpLEsoS1RsLCdyJyksSyhLVGwsJ3QnICksSyhLVGwsJ3knKSxLKEtUbCwndScpLEsoS1RsLCdpJyApLEsoS1RsLCdvJyksCi0gIEsoS1RsLCdwJyksS0lHTk9SRSAgICxLKEtUbiwnficpLEtJR05PUkUgICAgLEsoS1RmLDIyICksSyhLVGYsMjMgKSxLKEtUZiwyNSAgKSxLUEFEQl83ICAgLAotICBLUEFEQl84ICAgLEtQQURCXzkgICAsS1BBRF9NSSAgICxLQ1RSTCAgICAgICxLKEtBcywyMCApLEsoS1RsLCdzJyksSyhLQXMsMjMgICksSyhLQXMsMjUgKSwKLSAgSyhLVGwsJ2cnKSxLKEtUbCwnaCcpLEsoS1RsLCdqJyksSyhLVGwsJ2snICksSyhLVGwsJ2wnKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtFTlRFUiAgICAsCi0gIEtQQURCXzQgICAsS1BBREJfNSAgICxLUEFEQl82ICAgLEtQQURfUEwgICAgLEtTSElGVCAgICAsS0lHTk9SRSAgICxLKEtUbCwneicgKSxLKEtUbCwneCcpLAotICBLKEtBcywyMiApLEsoS1RsLCd2JyksSyhLVGwsMjEgKSxLKEtUbCwnbicgKSxLKEtUbCwnbScpLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS1NISUZUICAgICxLKEtUYyxLY3UpLEtQQURCXzEgICAsS1BBREJfMiAgICAsS1BBREJfMyAgICxLQ0FQU0xLICAgLEtBTFQgICAgICAgLEtJR05PUkUgICAsCi0gIEtBTFRHUiAgICAsS0NUUkwgICAgICxLKEtUYyxLY2wpLEsoS1RjLEtjZCApLEsoS1RjLEtjciksS1BBREJfMCAgICxLUEFEX0RUICAgICxLUEFEX0VOICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotfTsKLQotdV9zaG9ydCBjdHJsX21hcFtOUl9LRVlTXT0KLXsKLQkweGY3MDMsIDB4ZjIwMCwgMHhmMjAwLCAweGY3MDIsIDB4ZjIwMCwgMHhmMjAwLCAweGYwMDEsIDB4ZjAwMiwKLQkweGYwMDksIDB4ZjAwMCwgMHhmMDMxLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDdmLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxYywgMHhmNzAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMTE2LCAweGYwMDAsIDB4ZjAyMCwKLQkweGYwMTksIDB4ZjAxNSwgMHhmMDA5LCAweGYyMDEsIDB4ZjcwMCwgMHhmNjAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwOSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDExLCAweGYwMTcsIDB4ZjAwNSwKLQkweGYwMTIsIDB4ZjAwZiwgMHhmMDEwLCAweGYwMWIsIDB4ZjIwMCwgMHhmMDFkLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxYSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjA3LCAweGYyMDAsIDB4ZjIwMCwKLQkweGYwMGIsIDB4ZjAwYywgMHhmMjAwLCAweGYwMDcsIDB4ZjIwMCwgMHhmNjAzLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAwMSwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAxLCAweGYwMTMsIDB4ZjAwNiwKLQkweGYwMDcsIDB4ZjAwOCwgMHhmMDBhLCAweGYwN2YsIDB4ZjIwMCwgMHhmNjAxLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjAxOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAzLCAweGYwMTYsIDB4ZjAwMiwKLQkweGYwMGUsIDB4ZjAwZCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDAwLCAweGYyMDAsIDB4ZjIwMCwKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMDFiLCAweGYwMWMsIDB4ZjAxZCwgCi0JMHhmMDM2LCAweGYwMzcsIDB4ZjAzOCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmNjAyLCAweGYyMDAsIAotCTB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAKLQkweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGYyMDAsIDB4ZjIwMCwgMHhmMjAwLCAweGY2MDIsIDB4ZjIwMCwgCi19OwotCi11X3Nob3J0IHNoaWZ0X2N0cmxfbWFwW05SX0tFWVNdPQotewotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtGTE9QUFkgICAgLEtJTlRSICAgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwgMCApLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLKEtUbiwzMSAgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsSyhLVGYsMjEgKSwKLSAgSyhLVGYsMjAgKSxLKEtUZiwyNCApLEtOVU1MSyAgICAsS1BBRF9EViAgICAsS1BBRF9NTCAgICxLUEFEX0hTICAgLEtJR05PUkUgICAgLEsoS1RuLDE3ICksCi0gIEsoS1RuLDIzICksSyhLVG4sIDUgKSxLKEtUbiwxOCApLEsoS1RuLDIwICApLEsoS1RuLDI1ICksSyhLVG4sMjEgKSxLKEtUbiwgOSAgKSxLKEtUbiwxNSApLAotICBLKEtUbiwxNiApLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLKEtUZiwyMiApLEsoS1RmLDIzICksSyhLVGYsMjUgICksS1BBRF83ICAgICwKLSAgS1BBRF84ICAgICxLUEFEXzkgICAgLEtQQURfTUkgICAsS0NUUkwgICAgICAsSyhLVG4sIDEgKSxLKEtUbiwxOSApLEsoS1RuLCA0ICApLEsoS1RuLCA2ICksCi0gIEsoS1RuLCA3ICksSyhLVG4sIDggKSxLKEtUbiwxMCApLEsoS1RuLDExICApLEsoS1RuLDEyICksS0lHTk9SRSAgICxLKEtUbiwgNyAgKSxLRU5URVIgICAgLAotICBLUEFEXzQgICAgLEtQQURfNSAgICAsS1BBRF82ICAgICxLUEFEX1BMICAgICxLU0hJRlQgICAgLEtJR05PUkUgICAsSyhLVG4sMjYgICksSyhLVG4sMjQgKSwKLSAgSyhLVG4sIDMgKSxLKEtUbiwyMiApLEsoS1RuLCAyICksSyhLVG4sMTQgICksSyhLVG4sMTMgKSxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtTSElGVCAgICAsSyhLVGMsS2N1KSxLUEFEXzEgICAgLEtQQURfMiAgICAgLEtQQURfMyAgICAsS0NBUFNMSyAgICxLQUxUICAgICAgICxLKEtUbiwgMCApLAotICBLQUxUR1IgICAgLEtDVFJMICAgICAsSyhLVGMsS2NsKSxLKEtUYyxLY2QgKSxLKEtUYyxLY3IpLEtQQURfMCAgICAsS1BBRF9EVCAgICAsS1BBRF9FTiAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLX07Ci0KLXVfc2hvcnQgYWx0X21hcFtOUl9LRVlTXT0KLXsKLSAgSyhLTXQsMjcgKSxLKEtDbiwgMCApLEsoS0NuLCAxICksSyhLQ24sIDIgICksSyhLQ24sIDMgKSxLKEtDbiwgNCApLEsoS0NuLCA1ICApLEsoS0NuLCA2ICksCi0gIEsoS0NuLCA3ICksSyhLQ24sIDggKSxLKEtDbiwgOSApLEsoS0NuLDEwICApLEsoS0NuLDExICksS0lHTk9SRSAgICxLU0NSTExLICAgICxLSU5UUiAgICAgLAotICBLKEtNdCwnYCcpLEsoS010LCcxJyksSyhLTXQsJzInKSxLKEtNdCwnMycgKSxLKEtNdCwnNCcpLEsoS010LCc1JyksSyhLTXQsJzYnICksSyhLTXQsJzcnKSwKLSAgSyhLTXQsJzgnKSxLKEtNdCwnOScpLEsoS010LCcwJyksSyhLTXQsJy0nICksSyhLTXQsJz0nKSxLKEtNdCwnoycpLEsoS010LDEyNyApLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLKEtNdCwgOSAgKSxLKEtNdCwncScpLAotICBLKEtNdCwndycpLEsoS010LCdlJyksSyhLTXQsJ3InKSxLKEtNdCwndCcgKSxLKEtNdCwneScpLEsoS010LCd1JyksSyhLTXQsJ2knICksSyhLTXQsJ28nKSwKLSAgSyhLTXQsJ3AnKSxLKEtNdCwnWycpLEsoS010LCddJyksSyhLTXQsJ1xcJyksSyhLVGYsMjIgKSxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURBXzcgICAsCi0gIEtQQURBXzggICAsS1BBREFfOSAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS010LCdhJyksSyhLTXQsJ3MnKSxLKEtNdCwnZCcgKSxLKEtNdCwnZicpLAotICBLKEtNdCwnZycpLEsoS010LCdoJyksSyhLTXQsJ2onKSxLKEtNdCwnaycgKSxLKEtNdCwnbCcpLEsoS010LCc7JyksSyhLTXQsJ1wnJyksSyhLTXQsMTMgKSwKLSAgS1BBREFfNCAgICxLUEFEQV81ICAgLEtQQURBXzYgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS010LCd6JyApLEsoS010LCd4JyksCi0gIEsoS010LCdjJyksSyhLTXQsJ3YnKSxLKEtNdCwnYicpLEsoS010LCduJyApLEsoS010LCdtJyksSyhLTXQsJywnKSxLKEtNdCwnLicgKSxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBREFfMSAgICxLUEFEQV8yICAgICxLUEFEQV8zICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsSyhLTXQsJyAnKSwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLENPTlNfREVDICAsSyhLVGMsS2NkICksQ09OU19JTkMgICxLUEFEQV8wICAgLEtQQURfRFQgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11X3Nob3J0IGN0cmxfYWx0X21hcFtOUl9LRVlTXT0KLXsKLSAgS0lHTk9SRSAgICxLKEtDbiwgMCApLEsoS0NuLCAxICksSyhLQ24sIDIgICksSyhLQ24sIDMgKSxLKEtDbiwgNCApLEsoS0NuLCA1ICApLEsoS0NuLCA2ICksCi0gIEsoS0NuLCA3ICksSyhLQ24sIDggKSxLKEtDbiwgOSApLEsoS0NuLDEwICApLEsoS0NuLDExICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSU5UUiAgICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEsoS1RmLDIxICksCi0gIEsoS1RmLDIwICksSyhLVGYsMjQgKSxLTlVNTEsgICAgLEtQQURfRFYgICAgLEtQQURfTUwgICAsS1BBRF9IUyAgICxLSUdOT1JFICAgICxLKEtNdCwxNyApLAotICBLKEtNdCwyMyApLEsoS010LCA1ICksSyhLTXQsMTggKSxLKEtNdCwyMCAgKSxLKEtNdCwyNSApLEsoS010LDIxICksSyhLTXQsIDkgICksSyhLTXQsMTUgKSwKLSAgSyhLTXQsMTYgKSxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS1JFQk9PVCAgICxLKEtUZiwyMyApLEsoS1RmLDI1ICApLEtQQURfNyAgICAsCi0gIEtQQURfOCAgICAsS1BBRF85ICAgICxLUEFEX01JICAgLEtDVFJMICAgICAgLEsoS010LCAxICksSyhLTXQsMTkgKSxLKEtNdCwgNCAgKSxLKEtNdCwgNiApLAotICBLKEtNdCwgNyApLEsoS010LCA4ICksSyhLTXQsMTAgKSxLKEtNdCwxMSAgKSxLKEtNdCwxMiApLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0VOVEVSICAgICwKLSAgS1BBRF80ICAgICxLUEFEXzUgICAgLEtQQURfNiAgICAsS1BBRF9QTCAgICAsS1NISUZUICAgICxLSUdOT1JFICAgLEsoS010LDI2ICApLEsoS010LDI0ICksCi0gIEsoS010LCAzICksSyhLTXQsMjIgKSxLKEtNdCwgMiApLEsoS010LDE0ICApLEsoS010LDEzICksS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLU0hJRlQgICAgLEsoS1RjLEtjdSksS1BBRF8xICAgICxLUEFEXzIgICAgICxLUEFEXzMgICAgLEtDQVBTTEsgICAsS0FMVCAgICAgICAsS0lHTk9SRSAgICwKLSAgS0FMVEdSICAgICxLQ1RSTCAgICAgLEsoS1RjLEtjbCksSyhLVGMsS2NkICksSyhLVGMsS2NyKSxLUEFEXzAgICAgLEtSRUJPT1QgICAgLEtQQURfRU4gICAsCi0gIEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLAotICBLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICwKLSAgS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAsS0lHTk9SRSAgICAsS0lHTk9SRSAgICxLSUdOT1JFICAgLEtJR05PUkUgICAgLEtJR05PUkUgICAsCi19OwotCi11c2hvcnQgKmtleV9tYXBzW01BWF9OUl9LRVlNQVBTXSA9IHsKLQlwbGFpbl9tYXAsIHNoaWZ0X21hcCwgYWx0Z3JfbWFwLCAwLAotCWN0cmxfbWFwLCBzaGlmdF9jdHJsX21hcCwgMCwgMCwKLQlhbHRfbWFwLCAwLCAwLCAwLAotCWN0cmxfYWx0X21hcCwJMAotfTsKLQotdW5zaWduZWQgaW50IGtleW1hcF9jb3VudCA9IDc7Ci0KLS8qCi0gKiBQaGlsb3NvcGh5OiBtb3N0IHBlb3BsZSBkbyBub3QgZGVmaW5lIG1vcmUgc3RyaW5ncywgYnV0IHRoZXkgd2hvIGRvCi0gKiBvZnRlbiB3YW50IHF1aXRlIGEgbG90IG9mIHN0cmluZyBzcGFjZS4gU28sIHdlIHN0YXRpY2FsbHkgYWxsb2NhdGUKLSAqIHRoZSBkZWZhdWx0IGFuZCBhbGxvY2F0ZSBkeW5hbWljYWxseSBpbiBjaHVua3Mgb2YgNTEyIGJ5dGVzLgotICovCi0KLWNoYXIgZnVuY19idWZbXSA9IHsKLQknXDAzMycsICdbJywgJ1snLCAnQScsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0InLCAwLAotCSdcMDMzJywgJ1snLCAnWycsICdDJywgMCwKLQknXDAzMycsICdbJywgJ1snLCAnRCcsIDAsCi0JJ1wwMzMnLCAnWycsICdbJywgJ0UnLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc3JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc4JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICc5JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICcwJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICcxJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc0JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc1JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc2JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc4JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMicsICc5JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICcxJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICcyJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMycsICc0JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnMScsICd+JywgMCwKLQknXDAzMycsICdbJywgJzInLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICczJywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnNCcsICd+JywgMCwKLQknXDAzMycsICdbJywgJzUnLCAnficsIDAsCi0JJ1wwMzMnLCAnWycsICc2JywgJ34nLCAwLAotCSdcMDMzJywgJ1snLCAnTScsIDAsCi0JJ1wwMzMnLCAnWycsICdQJywgMCwKLX07Ci0KLWNoYXIgKmZ1bmNidWZwdHIgPSBmdW5jX2J1ZjsKLWludCBmdW5jYnVmc2l6ZSA9IHNpemVvZihmdW5jX2J1Zik7Ci1pbnQgZnVuY2J1ZmxlZnQgPSAwOyAgICAgICAgICAvKiBzcGFjZSBsZWZ0ICovCi0KLWNoYXIgKmZ1bmNfdGFibGVbTUFYX05SX0ZVTkNdID0gewotCWZ1bmNfYnVmICsgMCwKLQlmdW5jX2J1ZiArIDUsCi0JZnVuY19idWYgKyAxMCwKLQlmdW5jX2J1ZiArIDE1LAotCWZ1bmNfYnVmICsgMjAsCi0JZnVuY19idWYgKyAyNSwKLQlmdW5jX2J1ZiArIDMxLAotCWZ1bmNfYnVmICsgMzcsCi0JZnVuY19idWYgKyA0MywKLQlmdW5jX2J1ZiArIDQ5LAotCWZ1bmNfYnVmICsgNTUsCi0JZnVuY19idWYgKyA2MSwKLQlmdW5jX2J1ZiArIDY3LAotCWZ1bmNfYnVmICsgNzMsCi0JZnVuY19idWYgKyA3OSwKLQlmdW5jX2J1ZiArIDg1LAotCWZ1bmNfYnVmICsgOTEsCi0JZnVuY19idWYgKyA5NywKLQlmdW5jX2J1ZiArIDEwMywKLQlmdW5jX2J1ZiArIDEwOSwKLQlmdW5jX2J1ZiArIDExNSwKLQlmdW5jX2J1ZiArIDEyMCwKLQlmdW5jX2J1ZiArIDEyNSwKLQlmdW5jX2J1ZiArIDEzMCwKLQlmdW5jX2J1ZiArIDEzNSwKLQlmdW5jX2J1ZiArIDE0MCwKLQlmdW5jX2J1ZiArIDE0NSwKLQkwLAotCTAsCi0JZnVuY19idWYgKyAxNDksCi0JMCwKLX07Ci0KLXN0cnVjdCBrYmRpYWNydWMgYWNjZW50X3RhYmxlW01BWF9ESUFDUl0gPSB7Ci0JeydgJywgJ0EnLCAwMzAwfSwJeydgJywgJ2EnLCAwMzQwfSwKLQl7J1wnJywgJ0EnLCAwMzAxfSwJeydcJycsICdhJywgMDM0MX0sCi0JeydeJywgJ0EnLCAwMzAyfSwJeydeJywgJ2EnLCAwMzQyfSwKLQl7J34nLCAnQScsIDAzMDN9LAl7J34nLCAnYScsIDAzNDN9LAotCXsnIicsICdBJywgMDMwNH0sCXsnIicsICdhJywgMDM0NH0sCi0JeydPJywgJ0EnLCAwMzA1fSwJeydvJywgJ2EnLCAwMzQ1fSwKLQl7JzAnLCAnQScsIDAzMDV9LAl7JzAnLCAnYScsIDAzNDV9LAotCXsnQScsICdBJywgMDMwNX0sCXsnYScsICdhJywgMDM0NX0sCi0JeydBJywgJ0UnLCAwMzA2fSwJeydhJywgJ2UnLCAwMzQ2fSwKLQl7JywnLCAnQycsIDAzMDd9LAl7JywnLCAnYycsIDAzNDd9LAotCXsnYCcsICdFJywgMDMxMH0sCXsnYCcsICdlJywgMDM1MH0sCi0JeydcJycsICdFJywgMDMxMX0sCXsnXCcnLCAnZScsIDAzNTF9LAotCXsnXicsICdFJywgMDMxMn0sCXsnXicsICdlJywgMDM1Mn0sCi0JeyciJywgJ0UnLCAwMzEzfSwJeyciJywgJ2UnLCAwMzUzfSwKLQl7J2AnLCAnSScsIDAzMTR9LAl7J2AnLCAnaScsIDAzNTR9LAotCXsnXCcnLCAnSScsIDAzMTV9LAl7J1wnJywgJ2knLCAwMzU1fSwKLQl7J14nLCAnSScsIDAzMTZ9LAl7J14nLCAnaScsIDAzNTZ9LAotCXsnIicsICdJJywgMDMxN30sCXsnIicsICdpJywgMDM1N30sCi0JeyctJywgJ0QnLCAwMzIwfSwJeyctJywgJ2QnLCAwMzYwfSwKLQl7J34nLCAnTicsIDAzMjF9LAl7J34nLCAnbicsIDAzNjF9LAotCXsnYCcsICdPJywgMDMyMn0sCXsnYCcsICdvJywgMDM2Mn0sCi0JeydcJycsICdPJywgMDMyM30sCXsnXCcnLCAnbycsIDAzNjN9LAotCXsnXicsICdPJywgMDMyNH0sCXsnXicsICdvJywgMDM2NH0sCi0Jeyd+JywgJ08nLCAwMzI1fSwJeyd+JywgJ28nLCAwMzY1fSwKLQl7JyInLCAnTycsIDAzMjZ9LAl7JyInLCAnbycsIDAzNjZ9LAotCXsnLycsICdPJywgMDMzMH0sCXsnLycsICdvJywgMDM3MH0sCi0JeydgJywgJ1UnLCAwMzMxfSwJeydgJywgJ3UnLCAwMzcxfSwKLQl7J1wnJywgJ1UnLCAwMzMyfSwJeydcJycsICd1JywgMDM3Mn0sCi0JeydeJywgJ1UnLCAwMzMzfSwJeydeJywgJ3UnLCAwMzczfSwKLQl7JyInLCAnVScsIDAzMzR9LAl7JyInLCAndScsIDAzNzR9LAotCXsnXCcnLCAnWScsIDAzMzV9LAl7J1wnJywgJ3knLCAwMzc1fSwKLQl7J1QnLCAnSCcsIDAzMzZ9LAl7J3QnLCAnaCcsIDAzNzZ9LAotCXsncycsICdzJywgMDMzN30sCXsnIicsICd5JywgMDM3N30sCi0JeydzJywgJ3onLCAwMzM3fSwJeydpJywgJ2onLCAwMzc3fSwKLX07Ci0KLXVuc2lnbmVkIGludCBhY2NlbnRfdGFibGVfc2l6ZSA9IDY4OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL0tjb25maWcgYi9kcml2ZXJzL2FjcGkvS2NvbmZpZwppbmRleCBjNTJmY2E4Li5iYmE4NjczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkvS2NvbmZpZworKysgYi9kcml2ZXJzL2FjcGkvS2NvbmZpZwpAQCAtNCw4ICs0LDYgQEAKIAogbWVudWNvbmZpZyBBQ1BJCiAJYm9vbCAiQUNQSSAoQWR2YW5jZWQgQ29uZmlndXJhdGlvbiBhbmQgUG93ZXIgSW50ZXJmYWNlKSBTdXBwb3J0IgotCWRlcGVuZHMgb24gIVg4Nl9OVU1BUQotCWRlcGVuZHMgb24gIVg4Nl9WSVNXUwogCWRlcGVuZHMgb24gIUlBNjRfSFBfU0lNCiAJZGVwZW5kcyBvbiBJQTY0IHx8IFg4NgogCWRlcGVuZHMgb24gUENJCmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX2lkbGUuYyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCmluZGV4IDU1NmVlMTUuLjQ5NzZlNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCisrKyBiL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfaWRsZS5jCkBAIC0xMzM5LDcgKzEzMzksNyBAQAogc3RhdGljIGludCBhY3BpX3Byb2Nlc3Nvcl9sYXRlbmN5X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKmIsCiAJCXVuc2lnbmVkIGxvbmcgbCwgdm9pZCAqdikKIHsKLQlzbXBfY2FsbF9mdW5jdGlvbihzbXBfY2FsbGJhY2ssIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9jYWxsYmFjaywgTlVMTCwgMSk7CiAJcmV0dXJuIE5PVElGWV9PSzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvYWhjaS5jIGIvZHJpdmVycy9hdGEvYWhjaS5jCmluZGV4IDVlNjQ2OGEuLmRjNzU5NmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2FoY2kuYworKysgYi9kcml2ZXJzL2F0YS9haGNpLmMKQEAgLTU2LDYgKzU2LDEyIEBACiBzdGF0aWMgaW50IGFoY2lfZW5hYmxlX2FscG0oc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJZW51bSBsaW5rX3BtIHBvbGljeSk7CiBzdGF0aWMgdm9pZCBhaGNpX2Rpc2FibGVfYWxwbShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3Nob3coc3RydWN0IGF0YV9wb3J0ICphcCwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCSAgICAgIHNpemVfdCBzaXplKTsKK3N0YXRpYyBzc2l6ZV90IGFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2Uoc3RydWN0IGF0YV9wb3J0ICphcCwgdTMyIHN0YXRlLAorCQkJCQlzc2l6ZV90IHNpemUpOworI2RlZmluZSBNQVhfU0xPVFMgOAogCiBlbnVtIHsKIAlBSENJX1BDSV9CQVIJCT0gNSwKQEAgLTk4LDYgKzEwNCw4IEBACiAJSE9TVF9JUlFfU1RBVAkJPSAweDA4LCAvKiBpbnRlcnJ1cHQgc3RhdHVzICovCiAJSE9TVF9QT1JUU19JTVBMCQk9IDB4MGMsIC8qIGJpdG1hcCBvZiBpbXBsZW1lbnRlZCBwb3J0cyAqLwogCUhPU1RfVkVSU0lPTgkJPSAweDEwLCAvKiBBSENJIHNwZWMuIHZlcnNpb24gY29tcGxpYW5jeSAqLworCUhPU1RfRU1fTE9DCQk9IDB4MWMsIC8qIEVuY2xvc3VyZSBNYW5hZ2VtZW50IGxvY2F0aW9uICovCisJSE9TVF9FTV9DVEwJCT0gMHgyMCwgLyogRW5jbG9zdXJlIE1hbmFnZW1lbnQgQ29udHJvbCAqLwogCiAJLyogSE9TVF9DVEwgYml0cyAqLwogCUhPU1RfUkVTRVQJCT0gKDEgPDwgMCksICAvKiByZXNldCBjb250cm9sbGVyOyBzZWxmLWNsZWFyICovCkBAIC0xMDUsNiArMTEzLDcgQEAKIAlIT1NUX0FIQ0lfRU4JCT0gKDEgPDwgMzEpLCAvKiBBSENJIGVuYWJsZWQgKi8KIAogCS8qIEhPU1RfQ0FQIGJpdHMgKi8KKwlIT1NUX0NBUF9FTVMJCT0gKDEgPDwgNiksICAvKiBFbmNsb3N1cmUgTWFuYWdlbWVudCBzdXBwb3J0ICovCiAJSE9TVF9DQVBfU1NDCQk9ICgxIDw8IDE0KSwgLyogU2x1bWJlciBjYXBhYmxlICovCiAJSE9TVF9DQVBfUE1QCQk9ICgxIDw8IDE3KSwgLyogUG9ydCBNdWx0aXBsaWVyIHN1cHBvcnQgKi8KIAlIT1NUX0NBUF9DTE8JCT0gKDEgPDwgMjQpLCAvKiBDb21tYW5kIExpc3QgT3ZlcnJpZGUgc3VwcG9ydCAqLwpAQCAtMjAyLDYgKzIxMSwxMSBAQAogCQkJCQkgIEFUQV9GTEFHX0lQTSwKIAogCUlDSF9NQVAJCQkJPSAweDkwLCAvKiBJQ0ggTUFQIHJlZ2lzdGVyICovCisKKwkvKiBlbV9jdGwgYml0cyAqLworCUVNX0NUTF9SU1QJCQk9ICgxIDw8IDkpLCAvKiBSZXNldCAqLworCUVNX0NUTF9UTQkJCT0gKDEgPDwgOCksIC8qIFRyYW5zbWl0IE1lc3NhZ2UgKi8KKwlFTV9DVExfQUxIRAkJCT0gKDEgPDwgMjYpLCAvKiBBY3Rpdml0eSBMRUQgKi8KIH07CiAKIHN0cnVjdCBhaGNpX2NtZF9oZHIgewpAQCAtMjE5LDEyICsyMzMsMjEgQEAKIAlfX2xlMzIJCQlmbGFnc19zaXplOwogfTsKIAorc3RydWN0IGFoY2lfZW1fcHJpdiB7CisJZW51bSBzd19hY3Rpdml0eSBibGlua19wb2xpY3k7CisJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7CisJdW5zaWduZWQgbG9uZyBzYXZlZF9hY3Rpdml0eTsKKwl1bnNpZ25lZCBsb25nIGFjdGl2aXR5OworCXVuc2lnbmVkIGxvbmcgbGVkX3N0YXRlOworfTsKKwogc3RydWN0IGFoY2lfaG9zdF9wcml2IHsKIAl1bnNpZ25lZCBpbnQJCWZsYWdzOwkJLyogQUhDSV9IRkxBR18qICovCiAJdTMyCQkJY2FwOwkJLyogY2FwIHRvIHVzZSAqLwogCXUzMgkJCXBvcnRfbWFwOwkvKiBwb3J0IG1hcCB0byB1c2UgKi8KIAl1MzIJCQlzYXZlZF9jYXA7CS8qIHNhdmVkIGluaXRpYWwgY2FwICovCiAJdTMyCQkJc2F2ZWRfcG9ydF9tYXA7CS8qIHNhdmVkIGluaXRpYWwgcG9ydF9tYXAgKi8KKwl1MzIgCQkJZW1fbG9jOyAvKiBlbmNsb3N1cmUgbWFuYWdlbWVudCBsb2NhdGlvbiAqLwogfTsKIAogc3RydWN0IGFoY2lfcG9ydF9wcml2IHsKQEAgLTI0MCw2ICsyNjMsOCBAQAogCXVuc2lnbmVkIGludAkJbmNxX3Nhd19kbWFzOjE7CiAJdW5zaWduZWQgaW50CQluY3Ffc2F3X3NkYjoxOwogCXUzMiAJCQlpbnRyX21hc2s7CS8qIGludGVycnVwdHMgdG8gZW5hYmxlICovCisJc3RydWN0IGFoY2lfZW1fcHJpdgllbV9wcml2W01BWF9TTE9UU107LyogZW5jbG9zdXJlIG1hbmFnZW1lbnQgaW5mbworCQkJCQkgCSAqIHBlciBQTSBzbG90ICovCiB9OwogCiBzdGF0aWMgaW50IGFoY2lfc2NyX3JlYWQoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNjX3JlZywgdTMyICp2YWwpOwpAQCAtMjc3LDkgKzMwMiwyMCBAQAogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2Vfc3VzcGVuZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgcG1fbWVzc2FnZV90IG1lc2cpOwogc3RhdGljIGludCBhaGNpX3BjaV9kZXZpY2VfcmVzdW1lKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKICNlbmRpZgorc3RhdGljIHNzaXplX3QgYWhjaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGNoYXIgKmJ1Zik7CitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJICAgZW51bSBzd19hY3Rpdml0eSB2YWwpOworc3RhdGljIHZvaWQgYWhjaV9pbml0X3N3X2FjdGl2aXR5KHN0cnVjdCBhdGFfbGluayAqbGluayk7CiAKIHN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYWhjaV9zaG9zdF9hdHRyc1tdID0gewogCSZkZXZfYXR0cl9saW5rX3Bvd2VyX21hbmFnZW1lbnRfcG9saWN5LAorCSZkZXZfYXR0cl9lbV9tZXNzYWdlX3R5cGUsCisJJmRldl9hdHRyX2VtX21lc3NhZ2UsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphaGNpX3NkZXZfYXR0cnNbXSA9IHsKKwkmZGV2X2F0dHJfc3dfYWN0aXZpdHksCiAJTlVMTAogfTsKIApAQCAtMjg5LDYgKzMyNSw3IEBACiAJLnNnX3RhYmxlc2l6ZQkJPSBBSENJX01BWF9TRywKIAkuZG1hX2JvdW5kYXJ5CQk9IEFIQ0lfRE1BX0JPVU5EQVJZLAogCS5zaG9zdF9hdHRycwkJPSBhaGNpX3Nob3N0X2F0dHJzLAorCS5zZGV2X2F0dHJzCQk9IGFoY2lfc2Rldl9hdHRycywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfb3BlcmF0aW9ucyBhaGNpX29wcyA9IHsKQEAgLTMxNiw2ICszNTMsMTAgQEAKIAogCS5lbmFibGVfcG0JCT0gYWhjaV9lbmFibGVfYWxwbSwKIAkuZGlzYWJsZV9wbQkJPSBhaGNpX2Rpc2FibGVfYWxwbSwKKwkuZW1fc2hvdwkJPSBhaGNpX2xlZF9zaG93LAorCS5lbV9zdG9yZQkJPSBhaGNpX2xlZF9zdG9yZSwKKwkuc3dfYWN0aXZpdHlfc2hvdwk9IGFoY2lfYWN0aXZpdHlfc2hvdywKKwkuc3dfYWN0aXZpdHlfc3RvcmUJPSBhaGNpX2FjdGl2aXR5X3N0b3JlLAogI2lmZGVmIENPTkZJR19QTQogCS5wb3J0X3N1c3BlbmQJCT0gYWhjaV9wb3J0X3N1c3BlbmQsCiAJLnBvcnRfcmVzdW1lCQk9IGFoY2lfcG9ydF9yZXN1bWUsCkBAIC01NjEsNiArNjAyLDExIEBACiAjZW5kaWYKIH07CiAKK3N0YXRpYyBpbnQgYWhjaV9lbV9tZXNzYWdlcyA9IDE7Cittb2R1bGVfcGFyYW0oYWhjaV9lbV9tZXNzYWdlcywgaW50LCAwNDQ0KTsKKy8qIGFkZCBvdGhlciBMRUQgcHJvdG9jb2wgdHlwZXMgd2hlbiB0aGV5IGJlY29tZSBzdXBwb3J0ZWQgKi8KK01PRFVMRV9QQVJNX0RFU0MoYWhjaV9lbV9tZXNzYWdlcywKKwkiU2V0IEFIQ0kgRW5jbG9zdXJlIE1hbmFnZW1lbnQgTWVzc2FnZSB0eXBlICgwID0gZGlzYWJsZWQsIDEgPSBMRUQiKTsKIAogc3RhdGljIGlubGluZSBpbnQgYWhjaV9ucl9wb3J0cyh1MzIgY2FwKQogewpAQCAtMTAzMSwxMSArMTA3NywyOCBAQAogCiBzdGF0aWMgdm9pZCBhaGNpX3N0YXJ0X3BvcnQoc3RydWN0IGF0YV9wb3J0ICphcCkKIHsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCiAJLyogZW5hYmxlIEZJUyByZWNlcHRpb24gKi8KIAlhaGNpX3N0YXJ0X2Zpc19yeChhcCk7CiAKIAkvKiBlbmFibGUgRE1BICovCiAJYWhjaV9zdGFydF9lbmdpbmUoYXApOworCisJLyogdHVybiBvbiBMRURzICovCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSB7CisJCWF0YV9wb3J0X2Zvcl9lYWNoX2xpbmsobGluaywgYXApIHsKKwkJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQkJYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgZW1wLT5sZWRfc3RhdGUsIDQpOworCQl9CisJfQorCisJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKQorCQlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKQorCQkJYWhjaV9pbml0X3N3X2FjdGl2aXR5KGxpbmspOworCiB9CiAKIHN0YXRpYyBpbnQgYWhjaV9kZWluaXRfcG9ydChzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICoqZW1zZykKQEAgLTEwNzksMTIgKzExNDIsMTUgQEAKIAkJCXJlYWRsKG1taW8gKyBIT1NUX0NUTCk7IC8qIGZsdXNoICovCiAJCX0KIAotCQkvKiByZXNldCBtdXN0IGNvbXBsZXRlIHdpdGhpbiAxIHNlY29uZCwgb3IKKwkJLyoKKwkJICogdG8gcGVyZm9ybSBob3N0IHJlc2V0LCBPUyBzaG91bGQgc2V0IEhPU1RfUkVTRVQKKwkJICogYW5kIHBvbGwgdW50aWwgdGhpcyBiaXQgaXMgcmVhZCB0byBiZSAiMCIuCisJCSAqIHJlc2V0IG11c3QgY29tcGxldGUgd2l0aGluIDEgc2Vjb25kLCBvcgogCQkgKiB0aGUgaGFyZHdhcmUgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZnJpZWQuCiAJCSAqLwotCQlzc2xlZXAoMSk7CisJCXRtcCA9IGF0YV93YWl0X3JlZ2lzdGVyKG1taW8gKyBIT1NUX0NUTCwgSE9TVF9SRVNFVCwKKwkJCQkJSE9TVF9SRVNFVCwgMTAsIDEwMDApOwogCi0JCXRtcCA9IHJlYWRsKG1taW8gKyBIT1NUX0NUTCk7CiAJCWlmICh0bXAgJiBIT1NUX1JFU0VUKSB7CiAJCQlkZXZfcHJpbnRrKEtFUk5fRVJSLCBob3N0LT5kZXYsCiAJCQkJICAgImNvbnRyb2xsZXIgcmVzZXQgZmFpbGVkICgweCV4KVxuIiwgdG1wKTsKQEAgLTExMTYsNiArMTE4MiwyMzAgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgYWhjaV9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJaWYgKCEobGluay0+ZmxhZ3MgJiBBVEFfTEZMQUdfU1dfQUNUSVZJVFkpKQorCQlyZXR1cm47CisKKwllbXAtPmFjdGl2aXR5Kys7CisJaWYgKCF0aW1lcl9wZW5kaW5nKCZlbXAtPnRpbWVyKSkKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMCkpOworfQorCitzdGF0aWMgdm9pZCBhaGNpX3N3X2FjdGl2aXR5X2JsaW5rKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IChzdHJ1Y3QgYXRhX2xpbmsgKilhcmc7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCXVuc2lnbmVkIGxvbmcgbGVkX21lc3NhZ2UgPSBlbXAtPmxlZF9zdGF0ZTsKKwl1MzIgYWN0aXZpdHlfbGVkX3N0YXRlOworCisJbGVkX21lc3NhZ2UgJj0gMHhmZmZmMDAwMDsKKwlsZWRfbWVzc2FnZSB8PSBhcC0+cG9ydF9ubyB8IChsaW5rLT5wbXAgPDwgOCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgd2UndmUgaGFkIGFjdGl2aXR5LiAgSWYgc28sCisJICogdG9nZ2xlIHN0YXRlIG9mIExFRCBhbmQgcmVzZXQgdGltZXIuICBJZiBub3QsCisJICogdHVybiBMRUQgdG8gZGVzaXJlZCBpZGxlIHN0YXRlLgorCSAqLworCWlmIChlbXAtPnNhdmVkX2FjdGl2aXR5ICE9IGVtcC0+YWN0aXZpdHkpIHsKKwkJZW1wLT5zYXZlZF9hY3Rpdml0eSA9IGVtcC0+YWN0aXZpdHk7CisJCS8qIGdldCB0aGUgY3VycmVudCBMRUQgc3RhdGUgKi8KKwkJYWN0aXZpdHlfbGVkX3N0YXRlID0gbGVkX21lc3NhZ2UgJiAweDAwMDEwMDAwOworCisJCWlmIChhY3Rpdml0eV9sZWRfc3RhdGUpCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAwOworCQllbHNlCisJCQlhY3Rpdml0eV9sZWRfc3RhdGUgPSAxOworCisJCS8qIGNsZWFyIG9sZCBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCisJCS8qIHRvZ2dsZSBzdGF0ZSAqLworCQlsZWRfbWVzc2FnZSB8PSAoYWN0aXZpdHlfbGVkX3N0YXRlIDw8IDE2KTsKKwkJbW9kX3RpbWVyKCZlbXAtPnRpbWVyLCBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcygxMDApKTsKKwl9IGVsc2UgeworCQkvKiBzd2l0Y2ggdG8gaWRsZSAqLworCQlsZWRfbWVzc2FnZSAmPSAweGZmZjhmZmZmOworCQlpZiAoZW1wLT5ibGlua19wb2xpY3kgPT0gQkxJTktfT0ZGKQorCQkJbGVkX21lc3NhZ2UgfD0gKDEgPDwgMTYpOworCX0KKwlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBsZWRfbWVzc2FnZSwgNCk7Cit9CisKK3N0YXRpYyB2b2lkIGFoY2lfaW5pdF9zd19hY3Rpdml0eShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspCit7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX2VtX3ByaXYgKmVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCisJLyogaW5pdCBhY3Rpdml0eSBzdGF0cywgc2V0dXAgdGltZXIgKi8KKwllbXAtPnNhdmVkX2FjdGl2aXR5ID0gZW1wLT5hY3Rpdml0eSA9IDA7CisJc2V0dXBfdGltZXIoJmVtcC0+dGltZXIsIGFoY2lfc3dfYWN0aXZpdHlfYmxpbmssICh1bnNpZ25lZCBsb25nKWxpbmspOworCisJLyogY2hlY2sgb3VyIGJsaW5rIHBvbGljeSBhbmQgc2V0IGZsYWcgZm9yIGxpbmsgaWYgaXQncyBlbmFibGVkICovCisJaWYgKGVtcC0+YmxpbmtfcG9saWN5KQorCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7Cit9CisKK3N0YXRpYyBpbnQgYWhjaV9yZXNldF9lbShzdHJ1Y3QgYXRhX2hvc3QgKmhvc3QpCit7CisJdm9pZCBfX2lvbWVtICptbWlvID0gaG9zdC0+aW9tYXBbQUhDSV9QQ0lfQkFSXTsKKwl1MzIgZW1fY3RsOworCisJZW1fY3RsID0gcmVhZGwobW1pbyArIEhPU1RfRU1fQ1RMKTsKKwlpZiAoKGVtX2N0bCAmIEVNX0NUTF9UTSkgfHwgKGVtX2N0bCAmIEVNX0NUTF9SU1QpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXdyaXRlbChlbV9jdGwgfCBFTV9DVExfUlNULCBtbWlvICsgSE9TVF9FTV9DVEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIHUzMiBzdGF0ZSwKKwkJCQkJc3NpemVfdCBzaXplKQoreworCXN0cnVjdCBhaGNpX2hvc3RfcHJpdiAqaHByaXYgPSBhcC0+aG9zdC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhaGNpX3BvcnRfcHJpdiAqcHAgPSBhcC0+cHJpdmF0ZV9kYXRhOworCXZvaWQgX19pb21lbSAqbW1pbyA9IGFwLT5ob3N0LT5pb21hcFtBSENJX1BDSV9CQVJdOworCXUzMiBlbV9jdGw7CisJdTMyIG1lc3NhZ2VbXSA9IHswLCAwfTsKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzcGluX2xvY2tfaXJxc2F2ZShhcC0+bG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBpZiB3ZSBhcmUgc3RpbGwgYnVzeSB0cmFuc21pdHRpbmcgYSBwcmV2aW91cyBtZXNzYWdlLAorCSAqIGRvIG5vdCBhbGxvdworCSAqLworCWVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisJaWYgKGVtX2N0bCAmIEVNX0NUTF9UTSkgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogY3JlYXRlIG1lc3NhZ2UgaGVhZGVyIC0gdGhpcyBpcyBhbGwgemVybyBleGNlcHQgZm9yCisJICogdGhlIG1lc3NhZ2Ugc2l6ZSwgd2hpY2ggaXMgNCBieXRlcy4KKwkgKi8KKwltZXNzYWdlWzBdIHw9ICg0IDw8IDgpOworCisJLyogaWdub3JlIDA6NCBvZiBieXRlIHplcm8sIGZpbGwgaW4gcG9ydCBpbmZvIHlvdXJzZWxmICovCisJbWVzc2FnZVsxXSA9ICgoc3RhdGUgJiAweGZmZmZmZmYwKSB8IGFwLT5wb3J0X25vKTsKKworCS8qIHdyaXRlIG1lc3NhZ2UgdG8gRU1fTE9DICovCisJd3JpdGVsKG1lc3NhZ2VbMF0sIG1taW8gKyBocHJpdi0+ZW1fbG9jKTsKKwl3cml0ZWwobWVzc2FnZVsxXSwgbW1pbyArIGhwcml2LT5lbV9sb2MrNCk7CisKKwkvKiBzYXZlIG9mZiBuZXcgbGVkIHN0YXRlIGZvciBwb3J0L3Nsb3QgKi8KKwllbXAtPmxlZF9zdGF0ZSA9IG1lc3NhZ2VbMV07CisKKwkvKgorCSAqIHRlbGwgaGFyZHdhcmUgdG8gdHJhbnNtaXQgdGhlIG1lc3NhZ2UKKwkgKi8KKwl3cml0ZWwoZW1fY3RsIHwgRU1fQ1RMX1RNLCBtbWlvICsgSE9TVF9FTV9DVEwpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2xlZF9zaG93KHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wOworCWludCByYyA9IDA7CisKKwlhdGFfcG9ydF9mb3JfZWFjaF9saW5rKGxpbmssIGFwKSB7CisJCWVtcCA9ICZwcC0+ZW1fcHJpdltsaW5rLT5wbXBdOworCQlyYyArPSBzcHJpbnRmKGJ1ZiwgIiVseFxuIiwgZW1wLT5sZWRfc3RhdGUpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfbGVkX3N0b3JlKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNvbnN0IGNoYXIgKmJ1ZiwKKwkJCQlzaXplX3Qgc2l6ZSkKK3sKKwlpbnQgc3RhdGU7CisJaW50IHBtcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXA7CisKKwlzdGF0ZSA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisKKwkvKiBnZXQgdGhlIHNsb3QgbnVtYmVyIGZyb20gdGhlIG1lc3NhZ2UgKi8KKwlwbXAgPSAoc3RhdGUgJiAweDAwMDBmZjAwKSA+PiA4OworCWlmIChwbXAgPCBNQVhfU0xPVFMpCisJCWVtcCA9ICZwcC0+ZW1fcHJpdltwbXBdOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBtYXNrIG9mZiB0aGUgYWN0aXZpdHkgYml0cyBpZiB3ZSBhcmUgaW4gc3dfYWN0aXZpdHkKKwkgKiBtb2RlLCB1c2VyIHNob3VsZCB0dXJuIG9mZiBzd19hY3Rpdml0eSBiZWZvcmUgc2V0dGluZworCSAqIGFjdGl2aXR5IGxlZCB0aHJvdWdoIGVtX21lc3NhZ2UKKwkgKi8KKwlpZiAoZW1wLT5ibGlua19wb2xpY3kpCisJCXN0YXRlICY9IDB4ZmZmOGZmZmY7CisKKwlyZXR1cm4gYWhjaV90cmFuc21pdF9sZWRfbWVzc2FnZShhcCwgc3RhdGUsIHNpemUpOworfQorCitzdGF0aWMgc3NpemVfdCBhaGNpX2FjdGl2aXR5X3N0b3JlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsIGVudW0gc3dfYWN0aXZpdHkgdmFsKQoreworCXN0cnVjdCBhdGFfbGluayAqbGluayA9IGRldi0+bGluazsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CisJc3RydWN0IGFoY2lfcG9ydF9wcml2ICpwcCA9IGFwLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGFoY2lfZW1fcHJpdiAqZW1wID0gJnBwLT5lbV9wcml2W2xpbmstPnBtcF07CisJdTMyIHBvcnRfbGVkX3N0YXRlID0gZW1wLT5sZWRfc3RhdGU7CisKKwkvKiBzYXZlIHRoZSBkZXNpcmVkIEFjdGl2aXR5IExFRCBiZWhhdmlvciAqLworCWlmICh2YWwgPT0gT0ZGKSB7CisJCS8qIGNsZWFyIExGTEFHICovCisJCWxpbmstPmZsYWdzICY9IH4oQVRBX0xGTEFHX1NXX0FDVElWSVRZKTsKKworCQkvKiBzZXQgdGhlIExFRCB0byBPRkYgKi8KKwkJcG9ydF9sZWRfc3RhdGUgJj0gMHhmZmY4MDAwMDsKKwkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCWFoY2lfdHJhbnNtaXRfbGVkX21lc3NhZ2UoYXAsIHBvcnRfbGVkX3N0YXRlLCA0KTsKKwl9IGVsc2UgeworCQlsaW5rLT5mbGFncyB8PSBBVEFfTEZMQUdfU1dfQUNUSVZJVFk7CisJCWlmICh2YWwgPT0gQkxJTktfT0ZGKSB7CisJCQkvKiBzZXQgTEVEIHRvIE9OIGZvciBpZGxlICovCisJCQlwb3J0X2xlZF9zdGF0ZSAmPSAweGZmZjgwMDAwOworCQkJcG9ydF9sZWRfc3RhdGUgfD0gKGFwLT5wb3J0X25vIHwgKGxpbmstPnBtcCA8PCA4KSk7CisJCQlwb3J0X2xlZF9zdGF0ZSB8PSAweDAwMDEwMDAwOyAvKiBjaGVjayB0aGlzICovCisJCQlhaGNpX3RyYW5zbWl0X2xlZF9tZXNzYWdlKGFwLCBwb3J0X2xlZF9zdGF0ZSwgNCk7CisJCX0KKwl9CisJZW1wLT5ibGlua19wb2xpY3kgPSB2YWw7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGFoY2lfYWN0aXZpdHlfc2hvdyhzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCBjaGFyICpidWYpCit7CisJc3RydWN0IGF0YV9saW5rICpsaW5rID0gZGV2LT5saW5rOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBsaW5rLT5hcDsKKwlzdHJ1Y3QgYWhjaV9wb3J0X3ByaXYgKnBwID0gYXAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYWhjaV9lbV9wcml2ICplbXAgPSAmcHAtPmVtX3ByaXZbbGluay0+cG1wXTsKKworCS8qIGRpc3BsYXkgdGhlIHNhdmVkIHZhbHVlIG9mIGFjdGl2aXR5IGJlaGF2aW9yIGZvciB0aGlzCisJICogZGlzay4KKwkgKi8KKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgZW1wLT5ibGlua19wb2xpY3kpOworfQorCiBzdGF0aWMgdm9pZCBhaGNpX3BvcnRfaW5pdChzdHJ1Y3QgcGNpX2RldiAqcGRldiwgc3RydWN0IGF0YV9wb3J0ICphcCwKIAkJCSAgIGludCBwb3J0X25vLCB2b2lkIF9faW9tZW0gKm1taW8sCiAJCQkgICB2b2lkIF9faW9tZW0gKnBvcnRfbW1pbykKQEAgLTE4NDYsNyArMjEzNiw4IEBACiAJaWYgKHFjLT50Zi5wcm90b2NvbCA9PSBBVEFfUFJPVF9OQ1EpCiAJCXdyaXRlbCgxIDw8IHFjLT50YWcsIHBvcnRfbW1pbyArIFBPUlRfU0NSX0FDVCk7CiAJd3JpdGVsKDEgPDwgcWMtPnRhZywgcG9ydF9tbWlvICsgUE9SVF9DTURfSVNTVUUpOwotCXJlYWRsKHBvcnRfbW1pbyArIFBPUlRfQ01EX0lTU1VFKTsJLyogZmx1c2ggKi8KKworCWFoY2lfc3dfYWN0aXZpdHkocWMtPmRldi0+bGluayk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIxNTQsNyArMjQ0NSw4IEBACiAJZGV2X3ByaW50ayhLRVJOX0lORk8sICZwZGV2LT5kZXYsCiAJCSJmbGFnczogIgogCQkiJXMlcyVzJXMlcyVzJXMiCi0JCSIlcyVzJXMlcyVzJXMlc1xuIgorCQkiJXMlcyVzJXMlcyVzJXMiCisJCSIlc1xuIgogCQksCiAKIAkJY2FwICYgKDEgPDwgMzEpID8gIjY0Yml0ICIgOiAiIiwKQEAgLTIxNzEsNyArMjQ2Myw4IEBACiAJCWNhcCAmICgxIDw8IDE3KSA/ICJwbXAgIiA6ICIiLAogCQljYXAgJiAoMSA8PCAxNSkgPyAicGlvICIgOiAiIiwKIAkJY2FwICYgKDEgPDwgMTQpID8gInNsdW0gIiA6ICIiLAotCQljYXAgJiAoMSA8PCAxMykgPyAicGFydCAiIDogIiIKKwkJY2FwICYgKDEgPDwgMTMpID8gInBhcnQgIiA6ICIiLAorCQljYXAgJiAoMSA8PCA2KSA/ICJlbXMgIjogIiIKIAkJKTsKIH0KIApAQCAtMjI5MSw2ICsyNTg0LDI0IEBACiAJaWYgKGhwcml2LT5jYXAgJiBIT1NUX0NBUF9QTVApCiAJCXBpLmZsYWdzIHw9IEFUQV9GTEFHX1BNUDsKIAorCWlmIChhaGNpX2VtX21lc3NhZ2VzICYmIChocHJpdi0+Y2FwICYgSE9TVF9DQVBfRU1TKSkgeworCQl1OCBtZXNzYWdlczsKKwkJdm9pZCBfX2lvbWVtICptbWlvID0gcGNpbV9pb21hcF90YWJsZShwZGV2KVtBSENJX1BDSV9CQVJdOworCQl1MzIgZW1fbG9jID0gcmVhZGwobW1pbyArIEhPU1RfRU1fTE9DKTsKKwkJdTMyIGVtX2N0bCA9IHJlYWRsKG1taW8gKyBIT1NUX0VNX0NUTCk7CisKKwkJbWVzc2FnZXMgPSAoZW1fY3RsICYgMHgwMDBmMDAwMCkgPj4gMTY7CisKKwkJLyogd2Ugb25seSBzdXBwb3J0IExFRCBtZXNzYWdlIHR5cGUgcmlnaHQgbm93ICovCisJCWlmICgobWVzc2FnZXMgJiAweDAxKSAmJiAoYWhjaV9lbV9tZXNzYWdlcyA9PSAxKSkgeworCQkJLyogc3RvcmUgZW1fbG9jICovCisJCQlocHJpdi0+ZW1fbG9jID0gKChlbV9sb2MgPj4gMTYpICogNCk7CisJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19FTTsKKwkJCWlmICghKGVtX2N0bCAmIEVNX0NUTF9BTEhEKSkKKwkJCQlwaS5mbGFncyB8PSBBVEFfRkxBR19TV19BQ1RJVklUWTsKKwkJfQorCX0KKwogCS8qIENBUC5OUCBzb21ldGltZXMgaW5kaWNhdGUgdGhlIGluZGV4IG9mIHRoZSBsYXN0IGVuYWJsZWQKIAkgKiBwb3J0LCBhdCBvdGhlciB0aW1lcywgdGhhdCBvZiB0aGUgbGFzdCBwb3NzaWJsZSBwb3J0LCBzbwogCSAqIGRldGVybWluaW5nIHRoZSBtYXhpbXVtIHBvcnQgbnVtYmVyIHJlcXVpcmVzIGxvb2tpbmcgYXQKQEAgLTIzMDQsNiArMjYxNSw5IEBACiAJaG9zdC0+aW9tYXAgPSBwY2ltX2lvbWFwX3RhYmxlKHBkZXYpOwogCWhvc3QtPnByaXZhdGVfZGF0YSA9IGhwcml2OwogCisJaWYgKHBpLmZsYWdzICYgQVRBX0ZMQUdfRU0pCisJCWFoY2lfcmVzZXRfZW0oaG9zdCk7CisKIAlmb3IgKGkgPSAwOyBpIDwgaG9zdC0+bl9wb3J0czsgaSsrKSB7CiAJCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBob3N0LT5wb3J0c1tpXTsKIApAQCAtMjMxNCw2ICsyNjI4LDExIEBACiAJCS8qIHNldCBpbml0aWFsIGxpbmsgcG0gcG9saWN5ICovCiAJCWFwLT5wbV9wb2xpY3kgPSBOT1RfQVZBSUxBQkxFOwogCisJCS8qIHNldCBlbmNsb3N1cmUgbWFuYWdlbWVudCBtZXNzYWdlIHR5cGUgKi8KKwkJaWYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKQorCQkJYXAtPmVtX21lc3NhZ2VfdHlwZSA9IGFoY2lfZW1fbWVzc2FnZXM7CisKKwogCQkvKiBkaXNhYmxlZC9ub3QtaW1wbGVtZW50ZWQgcG9ydCAqLwogCQlpZiAoIShocHJpdi0+cG9ydF9tYXAgJiAoMSA8PCBpKSkpCiAJCQlhcC0+b3BzID0gJmF0YV9kdW1teV9wb3J0X29wczsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtYWNwaS5jCmluZGV4IDNmZjhiMTQuLjkzMzBiNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS1hY3BpLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWFjcGkuYwpAQCAtMjksMTQgKzI5LDE2IEBACiBlbnVtIHsKIAlBVEFfQUNQSV9GSUxURVJfU0VUWEZFUgk9IDEgPDwgMCwKIAlBVEFfQUNQSV9GSUxURVJfTE9DSwk9IDEgPDwgMSwKKwlBVEFfQUNQSV9GSUxURVJfRElQTQk9IDEgPDwgMiwKIAogCUFUQV9BQ1BJX0ZJTFRFUl9ERUZBVUxUCT0gQVRBX0FDUElfRklMVEVSX1NFVFhGRVIgfAotCQkJCSAgQVRBX0FDUElfRklMVEVSX0xPQ0ssCisJCQkJICBBVEFfQUNQSV9GSUxURVJfTE9DSyB8CisJCQkJICBBVEFfQUNQSV9GSUxURVJfRElQTSwKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYXRhX2FjcGlfZ3RmX2ZpbHRlciA9IEFUQV9BQ1BJX0ZJTFRFUl9ERUZBVUxUOwogbW9kdWxlX3BhcmFtX25hbWVkKGFjcGlfZ3RmX2ZpbHRlciwgYXRhX2FjcGlfZ3RmX2ZpbHRlciwgaW50LCAwNjQ0KTsKLU1PRFVMRV9QQVJNX0RFU0MoYWNwaV9ndGZfZmlsdGVyLCAiZmlsdGVyIG1hc2sgZm9yIEFDUEkgX0dURiBjb21tYW5kcywgc2V0IHRvIGZpbHRlciBvdXQgKDB4MT1zZXQgeGZlcm1vZGUsIDB4Mj1sb2NrL2ZyZWV6ZSBsb2NrKSIpOworTU9EVUxFX1BBUk1fREVTQyhhY3BpX2d0Zl9maWx0ZXIsICJmaWx0ZXIgbWFzayBmb3IgQUNQSSBfR1RGIGNvbW1hbmRzLCBzZXQgdG8gZmlsdGVyIG91dCAoMHgxPXNldCB4ZmVybW9kZSwgMHgyPWxvY2svZnJlZXplIGxvY2ssIDB4ND1ESVBNKSIpOwogCiAjZGVmaW5lIE5PX1BPUlRfTVVMVAkJMHhmZmZmCiAjZGVmaW5lIFNBVEFfQURSKHJvb3QsIHBtcCkJKCgocm9vdCkgPDwgMTYpIHwgKHBtcCkpCkBAIC0xOTUsNiArMTk3LDEwIEBACiAJCS8qIFRoaXMgZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQgaG90cGx1ZyAqLwogCQlyZXR1cm47CiAKKwlpZiAoZXZlbnQgPT0gQUNQSV9OT1RJRllfQlVTX0NIRUNLIHx8CisJICAgIGV2ZW50ID09IEFDUElfTk9USUZZX0RFVklDRV9DSEVDSykKKwkJc3RhdHVzID0gYWNwaV9ldmFsdWF0ZV9pbnRlZ2VyKGhhbmRsZSwgIl9TVEEiLCBOVUxMLCAmc3RhKTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGFwLT5sb2NrLCBmbGFncyk7CiAKIAlzd2l0Y2ggKGV2ZW50KSB7CkBAIC0yMDIsNyArMjA4LDYgQEAKIAljYXNlIEFDUElfTk9USUZZX0RFVklDRV9DSEVDSzoKIAkJYXRhX2VoaV9wdXNoX2Rlc2MoZWhpLCAiQUNQSSBldmVudCIpOwogCi0JCXN0YXR1cyA9IGFjcGlfZXZhbHVhdGVfaW50ZWdlcihoYW5kbGUsICJfU1RBIiwgTlVMTCwgJnN0YSk7CiAJCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewogCQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX0VSUiwKIAkJCQkiYWNwaTogZmFpbGVkIHRvIGRldGVybWluZSBiYXkgc3RhdHVzICgweCV4KVxuIiwKQEAgLTY5MCw2ICs2OTUsMTQgQEAKIAkJCXJldHVybiAxOwogCX0KIAorCWlmIChhdGFfYWNwaV9ndGZfZmlsdGVyICYgQVRBX0FDUElfRklMVEVSX0RJUE0pIHsKKwkJLyogaW5oaWJpdCBlbmFibGluZyBESVBNICovCisJCWlmICh0Zi0+Y29tbWFuZCA9PSBBVEFfQ01EX1NFVF9GRUFUVVJFUyAmJgorCQkgICAgdGYtPmZlYXR1cmUgPT0gU0VURkVBVFVSRVNfU0FUQV9FTkFCTEUgJiYKKwkJICAgIHRmLT5uc2VjdCA9PSBTQVRBX0RJUE0pCisJCQlyZXR1cm4gMTsKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMKaW5kZXggMzAzZmMwZC4uOWJlZjFhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLWNvcmUuYworKysgYi9kcml2ZXJzL2F0YS9saWJhdGEtY29yZS5jCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L3N1c3BlbmQuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KLSNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaS5oPgpAQCAtMTQ1LDcgKzE0NCw3IEBACiBtb2R1bGVfcGFyYW1fbmFtZWQoZG1hLCBsaWJhdGFfZG1hX21hc2ssIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRtYSwgIkRNQSBlbmFibGUvZGlzYWJsZSAoMHgxPT1BVEEsIDB4Mj09QVRBUEksIDB4ND09Q0YpIik7CiAKLXN0YXRpYyBpbnQgYXRhX3Byb2JlX3RpbWVvdXQgPSBBVEFfVE1PVVRfSU5URVJOQUwgLyBIWjsKK3N0YXRpYyBpbnQgYXRhX3Byb2JlX3RpbWVvdXQ7CiBtb2R1bGVfcGFyYW0oYXRhX3Byb2JlX3RpbWVvdXQsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGF0YV9wcm9iZV90aW1lb3V0LCAiU2V0IEFUQSBwcm9iaW5nIHRpbWVvdXQgKHNlY29uZHMpIik7CiAKQEAgLTE1MzMsNyArMTUzMiw3IEBACiAgKglAYXA6IFRoZSBhdGFfcG9ydCB0byBxdWV1ZSBwb3J0X3Rhc2sgZm9yCiAgKglAZm46IHdvcmtxdWV1ZSBmdW5jdGlvbiB0byBiZSBzY2hlZHVsZWQKICAqCUBkYXRhOiBkYXRhIGZvciBAZm4gdG8gdXNlCi0gKglAZGVsYXk6IGRlbGF5IHRpbWUgZm9yIHdvcmtxdWV1ZSBmdW5jdGlvbgorICoJQGRlbGF5OiBkZWxheSB0aW1lIGluIG1zZWNzIGZvciB3b3JrcXVldWUgZnVuY3Rpb24KICAqCiAgKglTY2hlZHVsZSBAZm4oQGRhdGEpIGZvciBleGVjdXRpb24gYWZ0ZXIgQGRlbGF5IGppZmZpZXMgdXNpbmcKICAqCXBvcnRfdGFzay4gIFRoZXJlIGlzIG9uZSBwb3J0X3Rhc2sgcGVyIHBvcnQgYW5kIGl0J3MgdGhlCkBAIC0xNTUyLDcgKzE1NTEsNyBAQAogCWFwLT5wb3J0X3Rhc2tfZGF0YSA9IGRhdGE7CiAKIAkvKiBtYXkgZmFpbCBpZiBhdGFfcG9ydF9mbHVzaF90YXNrKCkgaW4gcHJvZ3Jlc3MgKi8KLQlxdWV1ZV9kZWxheWVkX3dvcmsoYXRhX3dxLCAmYXAtPnBvcnRfdGFzaywgZGVsYXkpOworCXF1ZXVlX2RlbGF5ZWRfd29yayhhdGFfd3EsICZhcC0+cG9ydF90YXNrLCBtc2Vjc190b19qaWZmaWVzKGRlbGF5KSk7CiB9CiAKIC8qKgpAQCAtMTYxMiw2ICsxNjExLDcgQEAKIAlzdHJ1Y3QgYXRhX2xpbmsgKmxpbmsgPSBkZXYtPmxpbms7CiAJc3RydWN0IGF0YV9wb3J0ICphcCA9IGxpbmstPmFwOwogCXU4IGNvbW1hbmQgPSB0Zi0+Y29tbWFuZDsKKwlpbnQgYXV0b190aW1lb3V0ID0gMDsKIAlzdHJ1Y3QgYXRhX3F1ZXVlZF9jbWQgKnFjOwogCXVuc2lnbmVkIGludCB0YWcsIHByZWVtcHRlZF90YWc7CiAJdTMyIHByZWVtcHRlZF9zYWN0aXZlLCBwcmVlbXB0ZWRfcWNfYWN0aXZlOwpAQCAtMTY4NCw4ICsxNjg0LDE0IEBACiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKGFwLT5sb2NrLCBmbGFncyk7CiAKLQlpZiAoIXRpbWVvdXQpCi0JCXRpbWVvdXQgPSBhdGFfcHJvYmVfdGltZW91dCAqIDEwMDAgLyBIWjsKKwlpZiAoIXRpbWVvdXQpIHsKKwkJaWYgKGF0YV9wcm9iZV90aW1lb3V0KQorCQkJdGltZW91dCA9IGF0YV9wcm9iZV90aW1lb3V0ICogMTAwMDsKKwkJZWxzZSB7CisJCQl0aW1lb3V0ID0gYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KGRldiwgY29tbWFuZCk7CisJCQlhdXRvX3RpbWVvdXQgPSAxOworCQl9CisJfQogCiAJcmMgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJndhaXQsIG1zZWNzX3RvX2ppZmZpZXModGltZW91dCkpOwogCkBAIC0xNzYxLDYgKzE3NjcsOSBAQAogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShhcC0+bG9jaywgZmxhZ3MpOwogCisJaWYgKChlcnJfbWFzayAmIEFDX0VSUl9USU1FT1VUKSAmJiBhdXRvX3RpbWVvdXQpCisJCWF0YV9pbnRlcm5hbF9jbWRfdGltZWRfb3V0KGRldiwgY29tbWFuZCk7CisKIAlyZXR1cm4gZXJyX21hc2s7CiB9CiAKQEAgLTMzMTksNyArMzMyOCw3IEBACiAJCSAgIGludCAoKmNoZWNrX3JlYWR5KShzdHJ1Y3QgYXRhX2xpbmsgKmxpbmspKQogewogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBqaWZmaWVzOwotCXVuc2lnbmVkIGxvbmcgbm9kZXZfZGVhZGxpbmUgPSBzdGFydCArIEFUQV9UTU9VVF9GRl9XQUlUOworCXVuc2lnbmVkIGxvbmcgbm9kZXZfZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoc3RhcnQsIEFUQV9UTU9VVF9GRl9XQUlUKTsKIAlpbnQgd2FybmVkID0gMDsKIAogCWlmICh0aW1lX2FmdGVyKG5vZGV2X2RlYWRsaW5lLCBkZWFkbGluZSkpCkBAIC0zMzg3LDcgKzMzOTYsNyBAQAogaW50IGF0YV93YWl0X2FmdGVyX3Jlc2V0KHN0cnVjdCBhdGFfbGluayAqbGluaywgdW5zaWduZWQgbG9uZyBkZWFkbGluZSwKIAkJCQlpbnQgKCpjaGVja19yZWFkeSkoc3RydWN0IGF0YV9saW5rICpsaW5rKSkKIHsKLQltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVRfTVNFQ1MpOworCW1zbGVlcChBVEFfV0FJVF9BRlRFUl9SRVNFVCk7CiAKIAlyZXR1cm4gYXRhX3dhaXRfcmVhZHkobGluaywgZGVhZGxpbmUsIGNoZWNrX3JlYWR5KTsKIH0KQEAgLTM0MTcsMTMgKzM0MjYsMTMgQEAKIGludCBzYXRhX2xpbmtfZGVib3VuY2Uoc3RydWN0IGF0YV9saW5rICpsaW5rLCBjb25zdCB1bnNpZ25lZCBsb25nICpwYXJhbXMsCiAJCSAgICAgICB1bnNpZ25lZCBsb25nIGRlYWRsaW5lKQogewotCXVuc2lnbmVkIGxvbmcgaW50ZXJ2YWxfbXNlYyA9IHBhcmFtc1swXTsKLQl1bnNpZ25lZCBsb25nIGR1cmF0aW9uID0gbXNlY3NfdG9famlmZmllcyhwYXJhbXNbMV0pOworCXVuc2lnbmVkIGxvbmcgaW50ZXJ2YWwgPSBwYXJhbXNbMF07CisJdW5zaWduZWQgbG9uZyBkdXJhdGlvbiA9IHBhcmFtc1sxXTsKIAl1bnNpZ25lZCBsb25nIGxhc3RfamlmZmllcywgdDsKIAl1MzIgbGFzdCwgY3VyOwogCWludCByYzsKIAotCXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyhwYXJhbXNbMl0pOworCXQgPSBhdGFfZGVhZGxpbmUoamlmZmllcywgcGFyYW1zWzJdKTsKIAlpZiAodGltZV9iZWZvcmUodCwgZGVhZGxpbmUpKQogCQlkZWFkbGluZSA9IHQ7CiAKQEAgLTM0MzUsNyArMzQ0NCw3IEBACiAJbGFzdF9qaWZmaWVzID0gamlmZmllczsKIAogCXdoaWxlICgxKSB7Ci0JCW1zbGVlcChpbnRlcnZhbF9tc2VjKTsKKwkJbXNsZWVwKGludGVydmFsKTsKIAkJaWYgKChyYyA9IHNhdGFfc2NyX3JlYWQobGluaywgU0NSX1NUQVRVUywgJmN1cikpKQogCQkJcmV0dXJuIHJjOwogCQljdXIgJj0gMHhmOwpAQCAtMzQ0NCw3ICszNDUzLDggQEAKIAkJaWYgKGN1ciA9PSBsYXN0KSB7CiAJCQlpZiAoY3VyID09IDEgJiYgdGltZV9iZWZvcmUoamlmZmllcywgZGVhZGxpbmUpKQogCQkJCWNvbnRpbnVlOwotCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbGFzdF9qaWZmaWVzICsgZHVyYXRpb24pKQorCQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywKKwkJCQkgICAgICAgYXRhX2RlYWRsaW5lKGxhc3RfamlmZmllcywgZHVyYXRpb24pKSkKIAkJCQlyZXR1cm4gMDsKIAkJCWNvbnRpbnVlOwogCQl9CkBAIC0zNjM2LDcgKzM2NDYsOCBAQAogCQlpZiAoY2hlY2tfcmVhZHkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgcG1wX2RlYWRsaW5lOwogCi0JCQlwbXBfZGVhZGxpbmUgPSBqaWZmaWVzICsgQVRBX1RNT1VUX1BNUF9TUlNUX1dBSVQ7CisJCQlwbXBfZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoamlmZmllcywKKwkJCQkJCSAgICBBVEFfVE1PVVRfUE1QX1NSU1RfV0FJVCk7CiAJCQlpZiAodGltZV9hZnRlcihwbXBfZGVhZGxpbmUsIGRlYWRsaW5lKSkKIAkJCQlwbXBfZGVhZGxpbmUgPSBkZWFkbGluZTsKIAkJCWF0YV93YWl0X3JlYWR5KGxpbmssIHBtcF9kZWFkbGluZSwgY2hlY2tfcmVhZHkpOwpAQCAtNjA3Myw4ICs2MDg0LDYgQEAKIAogc3RhdGljIGludCBfX2luaXQgYXRhX2luaXQodm9pZCkKIHsKLQlhdGFfcHJvYmVfdGltZW91dCAqPSBIWjsKLQogCWF0YV9wYXJzZV9mb3JjZV9wYXJhbSgpOwogCiAJYXRhX3dxID0gY3JlYXRlX3dvcmtxdWV1ZSgiYXRhIik7CkBAIC02MTI3LDggKzYxMzYsOCBAQAogICoJQHJlZzogSU8tbWFwcGVkIHJlZ2lzdGVyCiAgKglAbWFzazogTWFzayB0byBhcHBseSB0byByZWFkIHJlZ2lzdGVyIHZhbHVlCiAgKglAdmFsOiBXYWl0IGNvbmRpdGlvbgotICoJQGludGVydmFsX21zZWM6IHBvbGxpbmcgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzCi0gKglAdGltZW91dF9tc2VjOiB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcworICoJQGludGVydmFsOiBwb2xsaW5nIGludGVydmFsIGluIG1pbGxpc2Vjb25kcworICoJQHRpbWVvdXQ6IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzCiAgKgogICoJV2FpdGluZyBmb3Igc29tZSBiaXRzIG9mIHJlZ2lzdGVyIHRvIGNoYW5nZSBpcyBhIGNvbW1vbgogICoJb3BlcmF0aW9uIGZvciBBVEEgY29udHJvbGxlcnMuICBUaGlzIGZ1bmN0aW9uIHJlYWRzIDMyYml0IExFCkBAIC02MTQ2LDEwICs2MTU1LDkgQEAKICAqCVRoZSBmaW5hbCByZWdpc3RlciB2YWx1ZS4KICAqLwogdTMyIGF0YV93YWl0X3JlZ2lzdGVyKHZvaWQgX19pb21lbSAqcmVnLCB1MzIgbWFzaywgdTMyIHZhbCwKLQkJICAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbF9tc2VjLAotCQkgICAgICB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXNlYykKKwkJICAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KQogewotCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKwl1bnNpZ25lZCBsb25nIGRlYWRsaW5lOwogCXUzMiB0bXA7CiAKIAl0bXAgPSBpb3JlYWQzMihyZWcpOwpAQCAtNjE1OCwxMCArNjE2NiwxMCBAQAogCSAqIHByZWNlZGluZyB3cml0ZXMgcmVhY2ggdGhlIGNvbnRyb2xsZXIgYmVmb3JlIHN0YXJ0aW5nIHRvCiAJICogZWF0IGF3YXkgdGhlIHRpbWVvdXQuCiAJICovCi0JdGltZW91dCA9IGppZmZpZXMgKyAodGltZW91dF9tc2VjICogSFopIC8gMTAwMDsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCB0aW1lb3V0KTsKIAotCXdoaWxlICgodG1wICYgbWFzaykgPT0gdmFsICYmIHRpbWVfYmVmb3JlKGppZmZpZXMsIHRpbWVvdXQpKSB7Ci0JCW1zbGVlcChpbnRlcnZhbF9tc2VjKTsKKwl3aGlsZSAoKHRtcCAmIG1hc2spID09IHZhbCAmJiB0aW1lX2JlZm9yZShqaWZmaWVzLCBkZWFkbGluZSkpIHsKKwkJbXNsZWVwKGludGVydmFsKTsKIAkJdG1wID0gaW9yZWFkMzIocmVnKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1laC5jIGIvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKaW5kZXggNzg5NGQ4My4uNThiZGM1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLWVoLmMKQEAgLTY2LDE1ICs2NiwxOSBAQAogCUFUQV9FQ0FUX0RVQklPVVNfVE9VVF9IU00JPSA2LAogCUFUQV9FQ0FUX0RVQklPVVNfVU5LX0RFVgk9IDcsCiAJQVRBX0VDQVRfTlIJCQk9IDgsCi19OwogCi0vKiBXYWl0aW5nIGluIC0+cHJlcmVzZXQgY2FuIG5ldmVyIGJlIHJlbGlhYmxlLiAgSXQncyBzb21ldGltZXMgbmljZQotICogdG8gd2FpdCB0aGVyZSBidXQgaXQgY2FuJ3QgYmUgZGVwZW5kZWQgdXBvbjsgb3RoZXJ3aXNlLCB3ZSB3b3VsZG4ndAotICogYmUgcmVzZXR0aW5nLiAgSnVzdCBnaXZlIGl0IGVub3VnaCB0aW1lIGZvciBtb3N0IGRyaXZlcyB0byBzcGluIHVwLgotICovCi1lbnVtIHsKLQlBVEFfRUhfUFJFUkVTRVRfVElNRU9VVAkJPSAxMCAqIEhaLAotCUFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwJPSAzICogSFosCisJQVRBX0VIX0NNRF9ERkxfVElNRU9VVAkJPSAgNTAwMCwKKworCS8qIGFsd2F5cyBwdXQgYXQgbGVhc3QgdGhpcyBhbW91bnQgb2YgdGltZSBiZXR3ZWVuIHJlc2V0cyAqLworCUFUQV9FSF9SRVNFVF9DT09MX0RPV04JCT0gIDUwMDAsCisKKwkvKiBXYWl0aW5nIGluIC0+cHJlcmVzZXQgY2FuIG5ldmVyIGJlIHJlbGlhYmxlLiAgSXQncworCSAqIHNvbWV0aW1lcyBuaWNlIHRvIHdhaXQgdGhlcmUgYnV0IGl0IGNhbid0IGJlIGRlcGVuZGVkIHVwb247CisJICogb3RoZXJ3aXNlLCB3ZSB3b3VsZG4ndCBiZSByZXNldHRpbmcuICBKdXN0IGdpdmUgaXQgZW5vdWdoCisJICogdGltZSBmb3IgbW9zdCBkcml2ZXMgdG8gc3BpbiB1cC4KKwkgKi8KKwlBVEFfRUhfUFJFUkVTRVRfVElNRU9VVAkJPSAxMDAwMCwKKwlBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMCT0gIDMwMDAsCiB9OwogCiAvKiBUaGUgZm9sbG93aW5nIHRhYmxlIGRldGVybWluZXMgaG93IHdlIHNlcXVlbmNlIHJlc2V0cy4gIEVhY2ggZW50cnkKQEAgLTg0LDEzICs4OCw2MCBAQAogICogYXJlIG1vc3RseSBmb3IgZXJyb3IgaGFuZGxpbmcsIGhvdHBsdWcgYW5kIHJldGFyZGVkIGRldmljZXMuCiAgKi8KIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGF0YV9laF9yZXNldF90aW1lb3V0c1tdID0gewotCTEwICogSFosCS8qIG1vc3QgZHJpdmVzIHNwaW4gdXAgYnkgMTBzZWMgKi8KLQkxMCAqIEhaLAkvKiA+IDk5JSB3b3JraW5nIGRyaXZlcyBzcGluIHVwIGJlZm9yZSAyMHNlYyAqLwotCTM1ICogSFosCS8qIGdpdmUgPiAzMCBzZWNzIG9mIGlkbGVuZXNzIGZvciByZXRhcmRlZCBkZXZpY2VzICovCi0JNSAqIEhaLAkJLyogYW5kIHN3ZWV0IG9uZSBsYXN0IGNoYW5jZSAqLwotCS8qID4gMSBtaW4gaGFzIGVsYXBzZWQsIGdpdmUgdXAgKi8KKwkxMDAwMCwJLyogbW9zdCBkcml2ZXMgc3BpbiB1cCBieSAxMHNlYyAqLworCTEwMDAwLAkvKiA+IDk5JSB3b3JraW5nIGRyaXZlcyBzcGluIHVwIGJlZm9yZSAyMHNlYyAqLworCTM1MDAwLAkvKiBnaXZlID4gMzAgc2VjcyBvZiBpZGxlbmVzcyBmb3IgcmV0YXJkZWQgZGV2aWNlcyAqLworCSA1MDAwLAkvKiBhbmQgc3dlZXQgb25lIGxhc3QgY2hhbmNlICovCisJVUxPTkdfTUFYLCAvKiA+IDEgbWluIGhhcyBlbGFwc2VkLCBnaXZlIHVwICovCiB9OwogCitzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBhdGFfZWhfaWRlbnRpZnlfdGltZW91dHNbXSA9IHsKKwkgNTAwMCwJLyogY292ZXJzID4gOTklIG9mIHN1Y2Nlc3NlcyBhbmQgbm90IHRvbyBib3Jpbmcgb24gZmFpbHVyZXMgKi8KKwkxMDAwMCwgIC8qIGNvbWJpbmVkIHRpbWUgdGlsbCBoZXJlIGlzIGVub3VnaCBldmVuIGZvciBtZWRpYSBhY2Nlc3MgKi8KKwkzMDAwMCwJLyogZm9yIHRydWUgaWRpb3RzICovCisJVUxPTkdfTUFYLAorfTsKKworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxvbmcgYXRhX2VoX290aGVyX3RpbWVvdXRzW10gPSB7CisJIDUwMDAsCS8qIHNhbWUgcmF0aW9uYWxlIGFzIGlkZW50aWZ5IHRpbWVvdXQgKi8KKwkxMDAwMCwJLyogZGl0dG8gKi8KKwkvKiBidXQgbm8gbWVyY2lmdWwgMzBzZWMgZm9yIG90aGVyIGNvbW1hbmRzLCBpdCBqdXN0IGlzbid0IHdvcnRoIGl0ICovCisJVUxPTkdfTUFYLAorfTsKKworc3RydWN0IGF0YV9laF9jbWRfdGltZW91dF9lbnQgeworCWNvbnN0IHU4CQkqY29tbWFuZHM7CisJY29uc3QgdW5zaWduZWQgbG9uZwkqdGltZW91dHM7Cit9OworCisvKiBUaGUgZm9sbG93aW5nIHRhYmxlIGRldGVybWluZXMgdGltZW91dHMgdG8gdXNlIGZvciBFSCBpbnRlcm5hbAorICogY29tbWFuZHMuICBFYWNoIHRhYmxlIGVudHJ5IGlzIGEgY29tbWFuZCBjbGFzcyBhbmQgbWF0Y2hlcyB0aGUKKyAqIGNvbW1hbmRzIHRoZSBlbnRyeSBhcHBsaWVzIHRvIGFuZCB0aGUgdGltZW91dCB0YWJsZSB0byB1c2UuCisgKgorICogT24gdGhlIHJldHJ5IGFmdGVyIGEgY29tbWFuZCB0aW1lZCBvdXQsIHRoZSBuZXh0IHRpbWVvdXQgdmFsdWUgZnJvbQorICogdGhlIHRhYmxlIGlzIHVzZWQuICBJZiB0aGUgdGFibGUgZG9lc24ndCBjb250YWluIGZ1cnRoZXIgZW50cmllcywKKyAqIHRoZSBsYXN0IHZhbHVlIGlzIHVzZWQuCisgKgorICogZWhjLT5jbWRfdGltZW91dF9pZHgga2VlcHMgdHJhY2sgb2Ygd2hpY2ggdGltZW91dCB0byB1c2UgcGVyCisgKiBjb21tYW5kIGNsYXNzLCBzbyBpZiBTRVRfRkVBVFVSRVMgdGltZXMgb3V0IG9uIHRoZSBmaXJzdCB0cnksIHRoZQorICogbmV4dCB0cnkgd2lsbCB1c2UgdGhlIHNlY29uZCB0aW1lb3V0IHZhbHVlIG9ubHkgZm9yIHRoYXQgY2xhc3MuCisgKi8KKyNkZWZpbmUgQ01EUyhjbWRzLi4uKQkoY29uc3QgdTggW10peyBjbWRzLCAwIH0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXRhX2VoX2NtZF90aW1lb3V0X2VudAorYXRhX2VoX2NtZF90aW1lb3V0X3RhYmxlW0FUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFXSA9IHsKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9JRF9BVEEsIEFUQV9DTURfSURfQVRBUEkpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX2lkZW50aWZ5X3RpbWVvdXRzLCB9LAorCXsgLmNvbW1hbmRzID0gQ01EUyhBVEFfQ01EX1JFQURfTkFUSVZFX01BWCwgQVRBX0NNRF9SRUFEX05BVElWRV9NQVhfRVhUKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9TRVRfTUFYLCBBVEFfQ01EX1NFVF9NQVhfRVhUKSwKKwkgIC50aW1lb3V0cyA9IGF0YV9laF9vdGhlcl90aW1lb3V0cywgfSwKKwl7IC5jb21tYW5kcyA9IENNRFMoQVRBX0NNRF9TRVRfRkVBVFVSRVMpLAorCSAgLnRpbWVvdXRzID0gYXRhX2VoX290aGVyX3RpbWVvdXRzLCB9LAorCXsgLmNvbW1hbmRzID0gQ01EUyhBVEFfQ01EX0lOSVRfREVWX1BBUkFNUyksCisJICAudGltZW91dHMgPSBhdGFfZWhfb3RoZXJfdGltZW91dHMsIH0sCit9OworI3VuZGVmIENNRFMKKwogc3RhdGljIHZvaWQgX19hdGFfcG9ydF9mcmVlemUoc3RydWN0IGF0YV9wb3J0ICphcCk7CiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgdm9pZCBhdGFfZWhfaGFuZGxlX3BvcnRfc3VzcGVuZChzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKQEAgLTIzNiw2ICsyODcsNzMgQEAKIAogI2VuZGlmIC8qIENPTkZJR19QQ0kgKi8KIAorc3RhdGljIGludCBhdGFfbG9va3VwX3RpbWVvdXRfdGFibGUodTggY21kKQoreworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IEFUQV9FSF9DTURfVElNRU9VVF9UQUJMRV9TSVpFOyBpKyspIHsKKwkJY29uc3QgdTggKmN1cjsKKworCQlmb3IgKGN1ciA9IGF0YV9laF9jbWRfdGltZW91dF90YWJsZVtpXS5jb21tYW5kczsgKmN1cjsgY3VyKyspCisJCQlpZiAoKmN1ciA9PSBjbWQpCisJCQkJcmV0dXJuIGk7CisJfQorCisJcmV0dXJuIC0xOworfQorCisvKioKKyAqCWF0YV9pbnRlcm5hbF9jbWRfdGltZW91dCAtIGRldGVybWluZSB0aW1lb3V0IGZvciBhbiBpbnRlcm5hbCBjb21tYW5kCisgKglAZGV2OiB0YXJnZXQgZGV2aWNlCisgKglAY21kOiBpbnRlcm5hbCBjb21tYW5kIHRvIGJlIGlzc3VlZAorICoKKyAqCURldGVybWluZSB0aW1lb3V0IGZvciBpbnRlcm5hbCBjb21tYW5kIEBjbWQgZm9yIEBkZXYuCisgKgorICoJTE9DS0lORzoKKyAqCUVIIGNvbnRleHQuCisgKgorICoJUkVUVVJOUzoKKyAqCURldGVybWluZWQgdGltZW91dC4KKyAqLwordW5zaWduZWQgbG9uZyBhdGFfaW50ZXJuYWxfY21kX3RpbWVvdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKQoreworCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmRldi0+bGluay0+ZWhfY29udGV4dDsKKwlpbnQgZW50ID0gYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKGNtZCk7CisJaW50IGlkeDsKKworCWlmIChlbnQgPCAwKQorCQlyZXR1cm4gQVRBX0VIX0NNRF9ERkxfVElNRU9VVDsKKworCWlkeCA9IGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dW2VudF07CisJcmV0dXJuIGF0YV9laF9jbWRfdGltZW91dF90YWJsZVtlbnRdLnRpbWVvdXRzW2lkeF07Cit9CisKKy8qKgorICoJYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQgLSBub3RpZmljYXRpb24gZm9yIGludGVybmFsIGNvbW1hbmQgdGltZW91dAorICoJQGRldjogdGFyZ2V0IGRldmljZQorICoJQGNtZDogaW50ZXJuYWwgY29tbWFuZCB3aGljaCB0aW1lZCBvdXQKKyAqCisgKglOb3RpZnkgRUggdGhhdCBpbnRlcm5hbCBjb21tYW5kIEBjbWQgZm9yIEBkZXYgdGltZWQgb3V0LiAgVGhpcworICoJZnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbmx5IGZvciBjb21tYW5kcyB3aG9zZSB0aW1lb3V0cyBhcmUKKyAqCWRldGVybWluZWQgdXNpbmcgYXRhX2ludGVybmFsX2NtZF90aW1lb3V0KCkuCisgKgorICoJTE9DS0lORzoKKyAqCUVIIGNvbnRleHQuCisgKi8KK3ZvaWQgYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKQoreworCXN0cnVjdCBhdGFfZWhfY29udGV4dCAqZWhjID0gJmRldi0+bGluay0+ZWhfY29udGV4dDsKKwlpbnQgZW50ID0gYXRhX2xvb2t1cF90aW1lb3V0X3RhYmxlKGNtZCk7CisJaW50IGlkeDsKKworCWlmIChlbnQgPCAwKQorCQlyZXR1cm47CisKKwlpZHggPSBlaGMtPmNtZF90aW1lb3V0X2lkeFtkZXYtPmRldm5vXVtlbnRdOworCWlmIChhdGFfZWhfY21kX3RpbWVvdXRfdGFibGVbZW50XS50aW1lb3V0c1tpZHggKyAxXSAhPSBVTE9OR19NQVgpCisJCWVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dW2VudF0rKzsKK30KKwogc3RhdGljIHZvaWQgYXRhX2VyaW5nX3JlY29yZChzdHJ1Y3QgYXRhX2VyaW5nICplcmluZywgdW5zaWduZWQgaW50IGVmbGFncywKIAkJCSAgICAgdW5zaWduZWQgaW50IGVycl9tYXNrKQogewpAQCAtNDg2LDYgKzYwNCw5IEBACiAJCQkJaWYgKGF0YV9uY3FfZW5hYmxlZChkZXYpKQogCQkJCQllaGMtPnNhdmVkX25jcV9lbmFibGVkIHw9IDEgPDwgZGV2bm87CiAJCQl9CisKKwkJCS8qIHNldCBsYXN0IHJlc2V0IHRpbWVzdGFtcCB0byBzb21lIHRpbWUgaW4gdGhlIHBhc3QgKi8KKwkJCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXMgLSA2MCAqIEhaOwogCQl9CiAKIAkJYXAtPnBmbGFncyB8PSBBVEFfUEZMQUdfRUhfSU5fUFJPR1JFU1M7CkBAIC02NDEsNyArNzYyLDcgQEAKIAkJLyogc29tZSBxY3MgaGF2ZSBmaW5pc2hlZCwgZ2l2ZSBpdCBhbm90aGVyIGNoYW5jZSAqLwogCQlhcC0+ZmFzdGRyYWluX2NudCA9IGNudDsKIAkJYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0KLQkJCWppZmZpZXMgKyBBVEFfRUhfRkFTVERSQUlOX0lOVEVSVkFMOworCQkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwpOwogCQlhZGRfdGltZXIoJmFwLT5mYXN0ZHJhaW5fdGltZXIpOwogCX0KIApAQCAtNjgxLDcgKzgwMiw4IEBACiAKIAkvKiBhY3RpdmF0ZSBmYXN0IGRyYWluICovCiAJYXAtPmZhc3RkcmFpbl9jbnQgPSBjbnQ7Ci0JYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0gamlmZmllcyArIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUw7CisJYXAtPmZhc3RkcmFpbl90aW1lci5leHBpcmVzID0KKwkJYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9GQVNURFJBSU5fSU5URVJWQUwpOwogCWFkZF90aW1lcigmYXAtPmZhc3RkcmFpbl90aW1lcik7CiB9CiAKQEAgLTEyMzgsNiArMTM2MCw3IEBACiAgKglhdGFwaV9laF9yZXF1ZXN0X3NlbnNlIC0gcGVyZm9ybSBBVEFQSSBSRVFVRVNUX1NFTlNFCiAgKglAZGV2OiBkZXZpY2UgdG8gcGVyZm9ybSBSRVFVRVNUX1NFTlNFIHRvCiAgKglAc2Vuc2VfYnVmOiByZXN1bHQgc2Vuc2UgZGF0YSBidWZmZXIgKFNDU0lfU0VOU0VfQlVGRkVSU0laRSBieXRlcyBsb25nKQorICoJQGRmbF9zZW5zZV9rZXk6IGRlZmF1bHQgc2Vuc2Uga2V5IHRvIHVzZQogICoKICAqCVBlcmZvcm0gQVRBUEkgUkVRVUVTVF9TRU5TRSBhZnRlciB0aGUgZGV2aWNlIHJlcG9ydGVkIENIRUNLCiAgKglTRU5TRS4gIFRoaXMgZnVuY3Rpb24gaXMgRUggaGVscGVyLgpAQCAtMTI0OCwxMyArMTM3MSwxMyBAQAogICoJUkVUVVJOUzoKICAqCTAgb24gc3VjY2VzcywgQUNfRVJSXyogbWFzayBvbiBmYWlsdXJlCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShzdHJ1Y3QgYXRhX3F1ZXVlZF9jbWQgKnFjKQorc3RhdGljIHVuc2lnbmVkIGludCBhdGFwaV9laF9yZXF1ZXN0X3NlbnNlKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJCSAgIHU4ICpzZW5zZV9idWYsIHU4IGRmbF9zZW5zZV9rZXkpCiB7Ci0Jc3RydWN0IGF0YV9kZXZpY2UgKmRldiA9IHFjLT5kZXY7Ci0JdW5zaWduZWQgY2hhciAqc2Vuc2VfYnVmID0gcWMtPnNjc2ljbWQtPnNlbnNlX2J1ZmZlcjsKKwl1OCBjZGJbQVRBUElfQ0RCX0xFTl0gPQorCQl7IFJFUVVFU1RfU0VOU0UsIDAsIDAsIDAsIFNDU0lfU0VOU0VfQlVGRkVSU0laRSwgMCB9OwogCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBkZXYtPmxpbmstPmFwOwogCXN0cnVjdCBhdGFfdGFza2ZpbGUgdGY7Ci0JdTggY2RiW0FUQVBJX0NEQl9MRU5dOwogCiAJRFBSSU5USygiQVRBUEkgcmVxdWVzdCBzZW5zZVxuIik7CiAKQEAgLTEyNjUsMTUgKzEzODgsMTEgQEAKIAkgKiBmb3IgdGhlIGNhc2Ugd2hlcmUgdGhleSBhcmUgLW5vdC0gb3ZlcndyaXR0ZW4KIAkgKi8KIAlzZW5zZV9idWZbMF0gPSAweDcwOwotCXNlbnNlX2J1ZlsyXSA9IHFjLT5yZXN1bHRfdGYuZmVhdHVyZSA+PiA0OworCXNlbnNlX2J1ZlsyXSA9IGRmbF9zZW5zZV9rZXk7CiAKIAkvKiBzb21lIGRldmljZXMgdGltZSBvdXQgaWYgZ2FyYmFnZSBsZWZ0IGluIHRmICovCiAJYXRhX3RmX2luaXQoZGV2LCAmdGYpOwogCi0JbWVtc2V0KGNkYiwgMCwgQVRBUElfQ0RCX0xFTik7Ci0JY2RiWzBdID0gUkVRVUVTVF9TRU5TRTsKLQljZGJbNF0gPSBTQ1NJX1NFTlNFX0JVRkZFUlNJWkU7Ci0KIAl0Zi5mbGFncyB8PSBBVEFfVEZMQUdfSVNBRERSIHwgQVRBX1RGTEFHX0RFVklDRTsKIAl0Zi5jb21tYW5kID0gQVRBX0NNRF9QQUNLRVQ7CiAKQEAgLTE0NDUsNyArMTU2NCw5IEBACiAKIAljYXNlIEFUQV9ERVZfQVRBUEk6CiAJCWlmICghKHFjLT5hcC0+cGZsYWdzICYgQVRBX1BGTEFHX0ZST1pFTikpIHsKLQkJCXRtcCA9IGF0YXBpX2VoX3JlcXVlc3Rfc2Vuc2UocWMpOworCQkJdG1wID0gYXRhcGlfZWhfcmVxdWVzdF9zZW5zZShxYy0+ZGV2LAorCQkJCQkJcWMtPnNjc2ljbWQtPnNlbnNlX2J1ZmZlciwKKwkJCQkJCXFjLT5yZXN1bHRfdGYuZmVhdHVyZSA+PiA0KTsKIAkJCWlmICghdG1wKSB7CiAJCQkJLyogQVRBX1FDRkxBR19TRU5TRV9WQUxJRCBpcyB1c2VkIHRvCiAJCQkJICogdGVsbCBhdGFwaV9xY19jb21wbGV0ZSgpIHRoYXQgc2Vuc2UKQEAgLTIwNzEsMTMgKzIxOTIsMTIgQEAKIAkJIGF0YV9wcmVyZXNldF9mbl90IHByZXJlc2V0LCBhdGFfcmVzZXRfZm5fdCBzb2Z0cmVzZXQsCiAJCSBhdGFfcmVzZXRfZm5fdCBoYXJkcmVzZXQsIGF0YV9wb3N0cmVzZXRfZm5fdCBwb3N0cmVzZXQpCiB7Ci0JY29uc3QgaW50IG1heF90cmllcyA9IEFSUkFZX1NJWkUoYXRhX2VoX3Jlc2V0X3RpbWVvdXRzKTsKIAlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gbGluay0+YXA7CiAJc3RydWN0IGF0YV9laF9jb250ZXh0ICplaGMgPSAmbGluay0+ZWhfY29udGV4dDsKIAl1bnNpZ25lZCBpbnQgKmNsYXNzZXMgPSBlaGMtPmNsYXNzZXM7CiAJdW5zaWduZWQgaW50IGxmbGFncyA9IGxpbmstPmZsYWdzOwogCWludCB2ZXJib3NlID0gIShlaGMtPmkuZmxhZ3MgJiBBVEFfRUhJX1FVSUVUKTsKLQlpbnQgdHJ5ID0gMDsKKwlpbnQgbWF4X3RyaWVzID0gMCwgdHJ5ID0gMDsKIAlzdHJ1Y3QgYXRhX2RldmljZSAqZGV2OwogCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmUsIG5vdzsKIAlhdGFfcmVzZXRfZm5fdCByZXNldDsKQEAgLTIwODgsMTEgKzIyMDgsMjAgQEAKIAkvKgogCSAqIFByZXBhcmUgdG8gcmVzZXQKIAkgKi8KKwl3aGlsZSAoYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW21heF90cmllc10gIT0gVUxPTkdfTUFYKQorCQltYXhfdHJpZXMrKzsKKworCW5vdyA9IGppZmZpZXM7CisJZGVhZGxpbmUgPSBhdGFfZGVhZGxpbmUoZWhjLT5sYXN0X3Jlc2V0LCBBVEFfRUhfUkVTRVRfQ09PTF9ET1dOKTsKKwlpZiAodGltZV9iZWZvcmUobm93LCBkZWFkbGluZSkpCisJCXNjaGVkdWxlX3RpbWVvdXRfdW5pbnRlcnJ1cHRpYmxlKGRlYWRsaW5lIC0gbm93KTsKKwogCXNwaW5fbG9ja19pcnFzYXZlKGFwLT5sb2NrLCBmbGFncyk7CiAJYXAtPnBmbGFncyB8PSBBVEFfUEZMQUdfUkVTRVRUSU5HOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoYXAtPmxvY2ssIGZsYWdzKTsKIAogCWF0YV9laF9hYm91dF90b19kbyhsaW5rLCBOVUxMLCBBVEFfRUhfUkVTRVQpOworCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXM7CiAKIAlhdGFfbGlua19mb3JfZWFjaF9kZXYoZGV2LCBsaW5rKSB7CiAJCS8qIElmIHdlIGlzc3VlIGFuIFNSU1QgdGhlbiBhbiBBVEEgZHJpdmUgKG5vdCBBVEFQSSkKQEAgLTIxMjUsNyArMjI1NCw4IEBACiAJfQogCiAJaWYgKHByZXJlc2V0KSB7Ci0JCXJjID0gcHJlcmVzZXQobGluaywgamlmZmllcyArIEFUQV9FSF9QUkVSRVNFVF9USU1FT1VUKTsKKwkJcmMgPSBwcmVyZXNldChsaW5rLAorCQkJICAgICAgYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9FSF9QUkVSRVNFVF9USU1FT1VUKSk7CiAJCWlmIChyYykgewogCQkJaWYgKHJjID09IC1FTk9FTlQpIHsKIAkJCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9ERUJVRywKQEAgLTIxNTcsMTAgKzIyODcsMTEgQEAKIAkvKgogCSAqIFBlcmZvcm0gcmVzZXQKIAkgKi8KKwllaGMtPmxhc3RfcmVzZXQgPSBqaWZmaWVzOwogCWlmIChhdGFfaXNfaG9zdF9saW5rKGxpbmspKQogCQlhdGFfZWhfZnJlZXplX3BvcnQoYXApOwogCi0JZGVhZGxpbmUgPSBqaWZmaWVzICsgYXRhX2VoX3Jlc2V0X3RpbWVvdXRzW3RyeSsrXTsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBhdGFfZWhfcmVzZXRfdGltZW91dHNbdHJ5KytdKTsKIAogCWlmIChyZXNldCkgewogCQlpZiAodmVyYm9zZSkKQEAgLTIyNzcsNiArMjQwOCw3IEBACiAKIAkvKiByZXNldCBzdWNjZXNzZnVsLCBzY2hlZHVsZSByZXZhbGlkYXRpb24gKi8KIAlhdGFfZWhfZG9uZShsaW5rLCBOVUxMLCBBVEFfRUhfUkVTRVQpOworCWVoYy0+bGFzdF9yZXNldCA9IGppZmZpZXM7CiAJZWhjLT5pLmFjdGlvbiB8PSBBVEFfRUhfUkVWQUxJREFURTsKIAogCXJjID0gMDsKQEAgLTIzMDMsOSArMjQzNSw5IEBACiAJaWYgKHRpbWVfYmVmb3JlKG5vdywgZGVhZGxpbmUpKSB7CiAJCXVuc2lnbmVkIGxvbmcgZGVsdGEgPSBkZWFkbGluZSAtIG5vdzsKIAotCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9XQVJOSU5HLCAicmVzZXQgZmFpbGVkICIKLQkJCQkiKGVycm5vPSVkKSwgcmV0cnlpbmcgaW4gJXUgc2Vjc1xuIiwKLQkJCQlyYywgKGppZmZpZXNfdG9fbXNlY3MoZGVsdGEpICsgOTk5KSAvIDEwMDApOworCQlhdGFfbGlua19wcmludGsobGluaywgS0VSTl9XQVJOSU5HLAorCQkJInJlc2V0IGZhaWxlZCAoZXJybm89JWQpLCByZXRyeWluZyBpbiAldSBzZWNzXG4iLAorCQkJcmMsIERJVl9ST1VORF9VUChqaWZmaWVzX3RvX21zZWNzKGRlbHRhKSwgMTAwMCkpOwogCiAJCXdoaWxlIChkZWx0YSkKIAkJCWRlbHRhID0gc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoZGVsdGEpOwpAQCAtMjU4Myw4ICsyNzE1LDExIEBACiAJCQlhdGFfZWhfZGV0YWNoX2RldihkZXYpOwogCiAJCS8qIHNjaGVkdWxlIHByb2JlIGlmIG5lY2Vzc2FyeSAqLwotCQlpZiAoYXRhX2VoX3NjaGVkdWxlX3Byb2JlKGRldikpCisJCWlmIChhdGFfZWhfc2NoZWR1bGVfcHJvYmUoZGV2KSkgewogCQkJZWhjLT50cmllc1tkZXYtPmRldm5vXSA9IEFUQV9FSF9ERVZfVFJJRVM7CisJCQltZW1zZXQoZWhjLT5jbWRfdGltZW91dF9pZHhbZGV2LT5kZXZub10sIDAsCisJCQkgICAgICAgc2l6ZW9mKGVoYy0+Y21kX3RpbWVvdXRfaWR4W2Rldi0+ZGV2bm9dKSk7CisJCX0KIAogCQlyZXR1cm4gMTsKIAl9IGVsc2UgewpAQCAtMjYyMiw3ICsyNzU3LDcgQEAKIHsKIAlzdHJ1Y3QgYXRhX2xpbmsgKmxpbms7CiAJc3RydWN0IGF0YV9kZXZpY2UgKmRldjsKLQlpbnQgbnJfZmFpbGVkX2RldnMsIG5yX2Rpc2FibGVkX2RldnM7CisJaW50IG5yX2ZhaWxlZF9kZXZzOwogCWludCByYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0yNjY1LDcgKzI4MDAsNiBAQAogIHJldHJ5OgogCXJjID0gMDsKIAlucl9mYWlsZWRfZGV2cyA9IDA7Ci0JbnJfZGlzYWJsZWRfZGV2cyA9IDA7CiAKIAkvKiBpZiBVTkxPQURJTkcsIGZpbmlzaCBpbW1lZGlhdGVseSAqLwogCWlmIChhcC0+cGZsYWdzICYgQVRBX1BGTEFHX1VOTE9BRElORykKQEAgLTI3MzIsOCArMjg2Niw3IEBACiAKIGRldl9mYWlsOgogCQlucl9mYWlsZWRfZGV2cysrOwotCQlpZiAoYXRhX2VoX2hhbmRsZV9kZXZfZmFpbChkZXYsIHJjKSkKLQkJCW5yX2Rpc2FibGVkX2RldnMrKzsKKwkJYXRhX2VoX2hhbmRsZV9kZXZfZmFpbChkZXYsIHJjKTsKIAogCQlpZiAoYXAtPnBmbGFncyAmIEFUQV9QRkxBR19GUk9aRU4pIHsKIAkJCS8qIFBNUCByZXNldCByZXF1aXJlcyB3b3JraW5nIGhvc3QgcG9ydC4KQEAgLTI3NDUsMTggKzI4NzgsOCBAQAogCQl9CiAJfQogCi0JaWYgKG5yX2ZhaWxlZF9kZXZzKSB7Ci0JCWlmIChucl9mYWlsZWRfZGV2cyAhPSBucl9kaXNhYmxlZF9kZXZzKSB7Ci0JCQlhdGFfcG9ydF9wcmludGsoYXAsIEtFUk5fV0FSTklORywgImZhaWxlZCB0byByZWNvdmVyICIKLQkJCQkJInNvbWUgZGV2aWNlcywgcmV0cnlpbmcgaW4gNSBzZWNzXG4iKTsKLQkJCXNzbGVlcCg1KTsKLQkJfSBlbHNlIHsKLQkJCS8qIG5vIGRldmljZSBsZWZ0IHRvIHJlY292ZXIsIHJlcGVhdCBmYXN0ICovCi0JCQltc2xlZXAoNTAwKTsKLQkJfQotCisJaWYgKG5yX2ZhaWxlZF9kZXZzKQogCQlnb3RvIHJldHJ5OwotCX0KIAogIG91dDoKIAlpZiAocmMgJiYgcl9mYWlsZWRfbGluaykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYwppbmRleCA3ZGFmNGMwLi5iNjVkYjMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtcG1wLmMKKysrIGIvZHJpdmVycy9hdGEvbGliYXRhLXBtcC5jCkBAIC03MjcsMTkgKzcyNywxMiBAQAogCQl9CiAKIAkJaWYgKHRyaWVzKSB7Ci0JCQlpbnQgc2xlZXAgPSBlaGMtPmkuZmxhZ3MgJiBBVEFfRUhJX0RJRF9SRVNFVDsKLQogCQkJLyogY29uc2VjdXRpdmUgcmV2YWxpZGF0aW9uIGZhaWx1cmVzPyBzcGVlZCBkb3duICovCiAJCQlpZiAocmV2YWxfZmFpbGVkKQogCQkJCXNhdGFfZG93bl9zcGRfbGltaXQobGluayk7CiAJCQllbHNlCiAJCQkJcmV2YWxfZmFpbGVkID0gMTsKIAotCQkJYXRhX2Rldl9wcmludGsoZGV2LCBLRVJOX1dBUk5JTkcsCi0JCQkJICAgICAgICJyZXRyeWluZyByZXNldCVzXG4iLAotCQkJCSAgICAgICBzbGVlcCA/ICIgaW4gNSBzZWNzIiA6ICIiKTsKLQkJCWlmIChzbGVlcCkKLQkJCQlzc2xlZXAoNSk7CiAJCQllaGMtPmkuYWN0aW9uIHw9IEFUQV9FSF9SRVNFVDsKIAkJCWdvdG8gcmV0cnk7CiAJCX0gZWxzZSB7CkBAIC03ODUsNyArNzc4LDggQEAKIAkJICogU0Vycm9yLk4gd29ya2luZy4KIAkJICovCiAJCXNhdGFfbGlua19oYXJkcmVzZXQobGluaywgc2F0YV9kZWJfdGltaW5nX25vcm1hbCwKLQkJCQlqaWZmaWVzICsgQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLLCBOVUxMLCBOVUxMKTsKKwkJCQlhdGFfZGVhZGxpbmUoamlmZmllcywgQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLKSwKKwkJCQlOVUxMLCBOVUxMKTsKIAogCQkvKiB1bmNvbmRpdGlvbmFsbHkgY2xlYXIgU0Vycm9yLk4gKi8KIAkJcmMgPSBzYXRhX3Njcl93cml0ZShsaW5rLCBTQ1JfRVJST1IsIFNFUlJfUEhZUkRZX0NIRyk7CkBAIC05OTAsMTAgKzk4NCw3IEBACiAJCWdvdG8gcmV0cnk7CiAKIAlpZiAoLS1wbXBfdHJpZXMpIHsKLQkJYXRhX3BvcnRfcHJpbnRrKGFwLCBLRVJOX1dBUk5JTkcsCi0JCQkJImZhaWxlZCB0byByZWNvdmVyIFBNUCwgcmV0cnlpbmcgaW4gNSBzZWNzXG4iKTsKIAkJcG1wX2VoYy0+aS5hY3Rpb24gfD0gQVRBX0VIX1JFU0VUOwotCQlzc2xlZXAoNSk7CiAJCWdvdG8gcmV0cnk7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jIGIvZHJpdmVycy9hdGEvbGliYXRhLXNjc2kuYwppbmRleCA1N2E0MzY0Li5mM2I0YjE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9saWJhdGEtc2NzaS5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zY3NpLmMKQEAgLTE5MCw2ICsxOTAsODUgQEAKIAlzY3NpX2J1aWxkX3NlbnNlX2J1ZmZlcigwLCBjbWQtPnNlbnNlX2J1ZmZlciwgc2ssIGFzYywgYXNjcSk7CiB9CiAKK3N0YXRpYyBzc2l6ZV90CithdGFfc2NzaV9lbV9tZXNzYWdlX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXN0cnVjdCBTY3NpX0hvc3QgKnNob3N0ID0gY2xhc3NfdG9fc2hvc3QoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2hvc3QpOworCWlmIChhcC0+b3BzLT5lbV9zdG9yZSAmJiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfRU0pKQorCQlyZXR1cm4gYXAtPm9wcy0+ZW1fc3RvcmUoYXAsIGJ1ZiwgY291bnQpOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgY2hhciAqYnVmKQoreworCXN0cnVjdCBTY3NpX0hvc3QgKnNob3N0ID0gY2xhc3NfdG9fc2hvc3QoZGV2KTsKKwlzdHJ1Y3QgYXRhX3BvcnQgKmFwID0gYXRhX3Nob3N0X3RvX3BvcnQoc2hvc3QpOworCisJaWYgKGFwLT5vcHMtPmVtX3Nob3cgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX0VNKSkKKwkJcmV0dXJuIGFwLT5vcHMtPmVtX3Nob3coYXAsIGJ1Zik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CitERVZJQ0VfQVRUUihlbV9tZXNzYWdlLCBTX0lSVUdPIHwgU19JV1VHTywKKwkJYXRhX3Njc2lfZW1fbWVzc2FnZV9zaG93LCBhdGFfc2NzaV9lbV9tZXNzYWdlX3N0b3JlKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX2VtX21lc3NhZ2UpOworCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfZW1fbWVzc2FnZV90eXBlX3Nob3coc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCSAgICAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgU2NzaV9Ib3N0ICpzaG9zdCA9IGNsYXNzX3RvX3Nob3N0KGRldik7CisJc3RydWN0IGF0YV9wb3J0ICphcCA9IGF0YV9zaG9zdF90b19wb3J0KHNob3N0KTsKKworCXJldHVybiBzbnByaW50ZihidWYsIDIzLCAiJWRcbiIsIGFwLT5lbV9tZXNzYWdlX3R5cGUpOworfQorREVWSUNFX0FUVFIoZW1fbWVzc2FnZV90eXBlLCBTX0lSVUdPLAorCQkgIGF0YV9zY3NpX2VtX21lc3NhZ2VfdHlwZV9zaG93LCBOVUxMKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGRldl9hdHRyX2VtX21lc3NhZ2VfdHlwZSk7CisKK3N0YXRpYyBzc2l6ZV90CithdGFfc2NzaV9hY3Rpdml0eV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCWNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSB0b19zY3NpX2RldmljZShkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzZGV2LT5ob3N0KTsKKwlzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2ID0gYXRhX3Njc2lfZmluZF9kZXYoYXAsIHNkZXYpOworCisJaWYgKGFwLT5vcHMtPnN3X2FjdGl2aXR5X3Nob3cgJiYgKGFwLT5mbGFncyAmIEFUQV9GTEFHX1NXX0FDVElWSVRZKSkKKwkJcmV0dXJuIGFwLT5vcHMtPnN3X2FjdGl2aXR5X3Nob3coYXRhZGV2LCBidWYpOworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgc3NpemVfdAorYXRhX3Njc2lfYWN0aXZpdHlfc3RvcmUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwljb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKK3sKKwlzdHJ1Y3Qgc2NzaV9kZXZpY2UgKnNkZXYgPSB0b19zY3NpX2RldmljZShkZXYpOworCXN0cnVjdCBhdGFfcG9ydCAqYXAgPSBhdGFfc2hvc3RfdG9fcG9ydChzZGV2LT5ob3N0KTsKKwlzdHJ1Y3QgYXRhX2RldmljZSAqYXRhZGV2ID0gYXRhX3Njc2lfZmluZF9kZXYoYXAsIHNkZXYpOworCWVudW0gc3dfYWN0aXZpdHkgdmFsOworCWludCByYzsKKworCWlmIChhcC0+b3BzLT5zd19hY3Rpdml0eV9zdG9yZSAmJiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU1dfQUNUSVZJVFkpKSB7CisJCXZhbCA9IHNpbXBsZV9zdHJ0b3VsKGJ1ZiwgTlVMTCwgMCk7CisJCXN3aXRjaCAodmFsKSB7CisJCWNhc2UgT0ZGOiBjYXNlIEJMSU5LX09OOiBjYXNlIEJMSU5LX09GRjoKKwkJCXJjID0gYXAtPm9wcy0+c3dfYWN0aXZpdHlfc3RvcmUoYXRhZGV2LCB2YWwpOworCQkJaWYgKCFyYykKKwkJCQlyZXR1cm4gY291bnQ7CisJCQllbHNlCisJCQkJcmV0dXJuIHJjOworCQl9CisJfQorCXJldHVybiAtRUlOVkFMOworfQorREVWSUNFX0FUVFIoc3dfYWN0aXZpdHksIFNfSVdVR08gfCBTX0lSVUdPLCBhdGFfc2NzaV9hY3Rpdml0eV9zaG93LAorCQkJYXRhX3Njc2lfYWN0aXZpdHlfc3RvcmUpOworRVhQT1JUX1NZTUJPTF9HUEwoZGV2X2F0dHJfc3dfYWN0aXZpdHkpOworCiBzdGF0aWMgdm9pZCBhdGFfc2NzaV9pbnZhbGlkX2ZpZWxkKHN0cnVjdCBzY3NpX2NtbmQgKmNtZCwKIAkJCQkgICB2b2lkICgqZG9uZSkoc3RydWN0IHNjc2lfY21uZCAqKSkKIHsKQEAgLTg4NSw3ICs5NjQsOCBAQAogCQkvKiBzZXQgdGhlIG1pbiBhbGlnbm1lbnQgYW5kIHBhZGRpbmcgKi8KIAkJYmxrX3F1ZXVlX3VwZGF0ZV9kbWFfYWxpZ25tZW50KHNkZXYtPnJlcXVlc3RfcXVldWUsCiAJCQkJCSAgICAgICBBVEFfRE1BX1BBRF9TWiAtIDEpOwotCQlibGtfcXVldWVfZG1hX3BhZChzZGV2LT5yZXF1ZXN0X3F1ZXVlLCBBVEFfRE1BX1BBRF9TWiAtIDEpOworCQlibGtfcXVldWVfdXBkYXRlX2RtYV9wYWQoc2Rldi0+cmVxdWVzdF9xdWV1ZSwKKwkJCQkJIEFUQV9ETUFfUEFEX1NaIC0gMSk7CiAKIAkJLyogY29uZmlndXJlIGRyYWluaW5nICovCiAJCWJ1ZiA9IGttYWxsb2MoQVRBUElfTUFYX0RSQUlOLCBxLT5ib3VuY2VfZ2ZwIHwgR0ZQX0tFUk5FTCk7CkBAIC0xNzc4LDcgKzE4NTgsOSBAQAogCWNvbnN0IHU4IHBhZ2VzW10gPSB7CiAJCTB4MDAsCS8qIHBhZ2UgMHgwMCwgdGhpcyBwYWdlICovCiAJCTB4ODAsCS8qIHBhZ2UgMHg4MCwgdW5pdCBzZXJpYWwgbm8gcGFnZSAqLwotCQkweDgzCS8qIHBhZ2UgMHg4MywgZGV2aWNlIGlkZW50IHBhZ2UgKi8KKwkJMHg4MywJLyogcGFnZSAweDgzLCBkZXZpY2UgaWRlbnQgcGFnZSAqLworCQkweDg5LAkvKiBwYWdlIDB4ODksIGF0YSBpbmZvIHBhZ2UgKi8KKwkJMHhiMSwJLyogcGFnZSAweGIxLCBibG9jayBkZXZpY2UgY2hhcmFjdGVyaXN0aWNzIHBhZ2UgKi8KIAl9OwogCiAJcmJ1ZlszXSA9IHNpemVvZihwYWdlcyk7CS8qIG51bWJlciBvZiBzdXBwb3J0ZWQgVlBEIHBhZ2VzICovCkBAIC0xODk5LDYgKzE5ODEsMTkgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBhdGFfc2NzaW9wX2lucV9iMShzdHJ1Y3QgYXRhX3Njc2lfYXJncyAqYXJncywgdTggKnJidWYpCit7CisJcmJ1ZlsxXSA9IDB4YjE7CisJcmJ1ZlszXSA9IDB4M2M7CisJaWYgKGF0YV9pZF9tYWpvcl92ZXJzaW9uKGFyZ3MtPmlkKSA+IDcpIHsKKwkJcmJ1Zls0XSA9IGFyZ3MtPmlkWzIxN10gPj4gODsKKwkJcmJ1Zls1XSA9IGFyZ3MtPmlkWzIxN107CisJCXJidWZbN10gPSBhcmdzLT5pZFsxNjhdICYgMHhmOworCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAqCWF0YV9zY3Npb3Bfbm9vcCAtIENvbW1hbmQgaGFuZGxlciB0aGF0IHNpbXBseSByZXR1cm5zIHN1Y2Nlc3MuCiAgKglAYXJnczogZGV2aWNlIElERU5USUZZIGRhdGEgLyBTQ1NJIGNvbW1hbmQgb2YgaW50ZXJlc3QuCkBAIC0yOTIwLDYgKzMwMTUsOSBAQAogCQljYXNlIDB4ODk6CiAJCQlhdGFfc2NzaV9yYnVmX2ZpbGwoJmFyZ3MsIGF0YV9zY3Npb3BfaW5xXzg5KTsKIAkJCWJyZWFrOworCQljYXNlIDB4YjE6CisJCQlhdGFfc2NzaV9yYnVmX2ZpbGwoJmFyZ3MsIGF0YV9zY3Npb3BfaW5xX2IxKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYXRhX3Njc2lfaW52YWxpZF9maWVsZChjbWQsIGRvbmUpOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMgYi9kcml2ZXJzL2F0YS9saWJhdGEtc2ZmLmMKaW5kZXggYzA5MDhjMi4uMzA0ZmRjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvbGliYXRhLXNmZi5jCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1zZmYuYwpAQCAtMzQ1LDggKzM0NSw4IEBACiAvKioKICAqCWF0YV9zZmZfYnVzeV9zbGVlcCAtIHNsZWVwIHVudGlsIEJTWSBjbGVhcnMsIG9yIHRpbWVvdXQKICAqCUBhcDogcG9ydCBjb250YWluaW5nIHN0YXR1cyByZWdpc3RlciB0byBiZSBwb2xsZWQKLSAqCUB0bW91dF9wYXQ6IGltcGF0aWVuY2UgdGltZW91dAotICoJQHRtb3V0OiBvdmVyYWxsIHRpbWVvdXQKKyAqCUB0bW91dF9wYXQ6IGltcGF0aWVuY2UgdGltZW91dCBpbiBtc2VjcworICoJQHRtb3V0OiBvdmVyYWxsIHRpbWVvdXQgaW4gbXNlY3MKICAqCiAgKglTbGVlcCB1bnRpbCBBVEEgU3RhdHVzIHJlZ2lzdGVyIGJpdCBCU1kgY2xlYXJzLAogICoJb3IgYSB0aW1lb3V0IG9jY3Vycy4KQEAgLTM2NSw3ICszNjUsNyBAQAogCiAJc3RhdHVzID0gYXRhX3NmZl9idXN5X3dhaXQoYXAsIEFUQV9CVVNZLCAzMDApOwogCXRpbWVyX3N0YXJ0ID0gamlmZmllczsKLQl0aW1lb3V0ID0gdGltZXJfc3RhcnQgKyB0bW91dF9wYXQ7CisJdGltZW91dCA9IGF0YV9kZWFkbGluZSh0aW1lcl9zdGFydCwgdG1vdXRfcGF0KTsKIAl3aGlsZSAoc3RhdHVzICE9IDB4ZmYgJiYgKHN0YXR1cyAmIEFUQV9CVVNZKSAmJgogCSAgICAgICB0aW1lX2JlZm9yZShqaWZmaWVzLCB0aW1lb3V0KSkgewogCQltc2xlZXAoNTApOwpAQCAtMzc3LDcgKzM3Nyw3IEBACiAJCQkJInBvcnQgaXMgc2xvdyB0byByZXNwb25kLCBwbGVhc2UgYmUgcGF0aWVudCAiCiAJCQkJIihTdGF0dXMgMHgleClcbiIsIHN0YXR1cyk7CiAKLQl0aW1lb3V0ID0gdGltZXJfc3RhcnQgKyB0bW91dDsKKwl0aW1lb3V0ID0gYXRhX2RlYWRsaW5lKHRpbWVyX3N0YXJ0LCB0bW91dCk7CiAJd2hpbGUgKHN0YXR1cyAhPSAweGZmICYmIChzdGF0dXMgJiBBVEFfQlVTWSkgJiYKIAkgICAgICAgdGltZV9iZWZvcmUoamlmZmllcywgdGltZW91dCkpIHsKIAkJbXNsZWVwKDUwKTsKQEAgLTM5MCw3ICszOTAsNyBAQAogCWlmIChzdGF0dXMgJiBBVEFfQlVTWSkgewogCQlhdGFfcG9ydF9wcmludGsoYXAsIEtFUk5fRVJSLCAicG9ydCBmYWlsZWQgdG8gcmVzcG9uZCAiCiAJCQkJIiglbHUgc2VjcywgU3RhdHVzIDB4JXgpXG4iLAotCQkJCXRtb3V0IC8gSFosIHN0YXR1cyk7CisJCQkJRElWX1JPVU5EX1VQKHRtb3V0LCAxMDAwKSwgc3RhdHVzKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTE4ODgsNyArMTg4OCw3IEBACiAJdW5zaWduZWQgaW50IGRldjEgPSBkZXZtYXNrICYgKDEgPDwgMSk7CiAJaW50IHJjLCByZXQgPSAwOwogCi0JbXNsZWVwKEFUQV9XQUlUX0FGVEVSX1JFU0VUX01TRUNTKTsKKwltc2xlZXAoQVRBX1dBSVRfQUZURVJfUkVTRVQpOwogCiAJLyogYWx3YXlzIGNoZWNrIHJlYWRpbmVzcyBvZiB0aGUgbWFzdGVyIGRldmljZSAqLwogCXJjID0gYXRhX3NmZl93YWl0X3JlYWR5KGxpbmssIGRlYWRsaW5lKTsKQEAgLTIzNzEsNyArMjM3MSw4IEBACiAKIAkvKiBpc3N1ZSBidXMgcmVzZXQgKi8KIAlpZiAoYXAtPmZsYWdzICYgQVRBX0ZMQUdfU1JTVCkgewotCQlyYyA9IGF0YV9idXNfc29mdHJlc2V0KGFwLCBkZXZtYXNrLCBqaWZmaWVzICsgNDAgKiBIWik7CisJCXJjID0gYXRhX2J1c19zb2Z0cmVzZXQoYXAsIGRldm1hc2ssCisJCQkJICAgICAgIGF0YV9kZWFkbGluZShqaWZmaWVzLCA0MDAwMCkpOwogCQlpZiAocmMgJiYgcmMgIT0gLUVOT0RFVikKIAkJCWdvdG8gZXJyX291dDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEuaCBiL2RyaXZlcnMvYXRhL2xpYmF0YS5oCmluZGV4IDFjZjgwM2EuLmY2ZjljMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL2xpYmF0YS5oCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS5oCkBAIC0xNTEsNiArMTUxLDggQEAKIGV4dGVybiBpbnQgYXRhX2J1c19wcm9iZShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKIAogLyogbGliYXRhLWVoLmMgKi8KK2V4dGVybiB1bnNpZ25lZCBsb25nIGF0YV9pbnRlcm5hbF9jbWRfdGltZW91dChzdHJ1Y3QgYXRhX2RldmljZSAqZGV2LCB1OCBjbWQpOworZXh0ZXJuIHZvaWQgYXRhX2ludGVybmFsX2NtZF90aW1lZF9vdXQoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgdTggY21kKTsKIGV4dGVybiBlbnVtIHNjc2lfZWhfdGltZXJfcmV0dXJuIGF0YV9zY3NpX3RpbWVkX291dChzdHJ1Y3Qgc2NzaV9jbW5kICpjbWQpOwogZXh0ZXJuIHZvaWQgYXRhX3Njc2lfZXJyb3Ioc3RydWN0IFNjc2lfSG9zdCAqaG9zdCk7CiBleHRlcm4gdm9pZCBhdGFfcG9ydF93YWl0X2VoKHN0cnVjdCBhdGFfcG9ydCAqYXApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jIGIvZHJpdmVycy9hdGEvcGF0YV9iZjU0eC5jCmluZGV4IDU1NTE2MTAuLmQzOTMyOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3BhdGFfYmY1NHguYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX2JmNTR4LmMKQEAgLTEwMTEsNyArMTAxMSw3IEBACiAJdm9pZCBfX2lvbWVtICpiYXNlID0gKHZvaWQgX19pb21lbSAqKWFwLT5pb2FkZHIuY3RsX2FkZHI7CiAJdW5zaWduZWQgaW50IGRldjAgPSBkZXZtYXNrICYgKDEgPDwgMCk7CiAJdW5zaWduZWQgaW50IGRldjEgPSBkZXZtYXNrICYgKDEgPDwgMSk7Ci0JdW5zaWduZWQgbG9uZyB0aW1lb3V0OworCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmU7CiAKIAkvKiBpZiBkZXZpY2UgMCB3YXMgZm91bmQgaW4gYXRhX2RldmNoaywgd2FpdCBmb3IgaXRzCiAJICogQlNZIGJpdCB0byBjbGVhcgpAQCAtMTAyMiw3ICsxMDIyLDcgQEAKIAkvKiBpZiBkZXZpY2UgMSB3YXMgZm91bmQgaW4gYXRhX2RldmNoaywgd2FpdCBmb3IKIAkgKiByZWdpc3RlciBhY2Nlc3MsIHRoZW4gd2FpdCBmb3IgQlNZIHRvIGNsZWFyCiAJICovCi0JdGltZW91dCA9IGppZmZpZXMgKyBBVEFfVE1PVVRfQk9PVDsKKwlkZWFkbGluZSA9IGF0YV9kZWFkbGluZShqaWZmaWVzLCBBVEFfVE1PVVRfQk9PVCk7CiAJd2hpbGUgKGRldjEpIHsKIAkJdTggbnNlY3QsIGxiYWw7CiAKQEAgLTEwMzEsNyArMTAzMSw3IEBACiAJCWxiYWwgPSByZWFkX2F0YXBpX3JlZ2lzdGVyKGJhc2UsIEFUQV9SRUdfTEJBTCk7CiAJCWlmICgobnNlY3QgPT0gMSkgJiYgKGxiYWwgPT0gMSkpCiAJCQlicmVhazsKLQkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgdGltZW91dCkpIHsKKwkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgZGVhZGxpbmUpKSB7CiAJCQlkZXYxID0gMDsKIAkJCWJyZWFrOwogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jIGIvZHJpdmVycy9hdGEvcGF0YV9sZWdhY3kuYwppbmRleCBmZTdjYzhlLi5iYzAzN2ZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX2xlZ2FjeS5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfbGVnYWN5LmMKQEAgLTMwNSw3ICszMDUsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CkBAIC03NDYsMTQgKzc0NiwxMiBAQAogCQkJaW9yZWFkMzJfcmVwKGFwLT5pb2FkZHIuZGF0YV9hZGRyLCBidWYsIGJ1ZmxlbiA+PiAyKTsKIAogCQlpZiAodW5saWtlbHkoc2xvcCkpIHsKLQkJCXUzMiBwYWQ7CisJCQlfX2xlMzIgcGFkOwogCQkJaWYgKHJ3ID09IFdSSVRFKSB7CiAJCQkJbWVtY3B5KCZwYWQsIGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsIHNsb3ApOwotCQkJCXBhZCA9IGxlMzJfdG9fY3B1KHBhZCk7Ci0JCQkJaW93cml0ZTMyKHBhZCwgYXAtPmlvYWRkci5kYXRhX2FkZHIpOworCQkJCWlvd3JpdGUzMihsZTMyX3RvX2NwdShwYWQpLCBhcC0+aW9hZGRyLmRhdGFfYWRkcik7CiAJCQl9IGVsc2UgewotCQkJCXBhZCA9IGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKTsKLQkJCQlwYWQgPSBjcHVfdG9fbGUzMihwYWQpOworCQkJCXBhZCA9IGNwdV90b19sZTMyKGlvcmVhZDMyKGFwLT5pb2FkZHIuZGF0YV9hZGRyKSk7CiAJCQkJbWVtY3B5KGJ1ZiArIGJ1ZmxlbiAtIHNsb3AsICZwYWQsIHNsb3ApOwogCQkJfQogCQl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jIGIvZHJpdmVycy9hdGEvcGF0YV9xZGkuYwppbmRleCA5N2U1YjA5Li42M2I3YTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3FkaS5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfcWRpLmMKQEAgLTEzNyw3ICsxMzcsNyBAQAogCQkJaW93cml0ZTMyX3JlcChhcC0+aW9hZGRyLmRhdGFfYWRkciwgYnVmLCBidWZsZW4gPj4gMik7CiAKIAkJaWYgKHVubGlrZWx5KHNsb3ApKSB7Ci0JCQl1MzIgcGFkOworCQkJX19sZTMyIHBhZDsKIAkJCWlmIChydyA9PSBSRUFEKSB7CiAJCQkJcGFkID0gY3B1X3RvX2xlMzIoaW9yZWFkMzIoYXAtPmlvYWRkci5kYXRhX2FkZHIpKTsKIAkJCQltZW1jcHkoYnVmICsgYnVmbGVuIC0gc2xvcCwgJnBhZCwgc2xvcCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jIGIvZHJpdmVycy9hdGEvcGF0YV9zY2MuYwppbmRleCBiYmY1YWEzLi4xNjY3M2QxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3NjYy5jCisrKyBiL2RyaXZlcnMvYXRhL3BhdGFfc2NjLmMKQEAgLTY5Niw3ICs2OTYsNyBAQAogCiAJCWlmIChyZWcgJiBJTlRTVFNfQk1TSU5UKSB7CiAJCQl1bnNpZ25lZCBpbnQgY2xhc3NlczsKLQkJCXVuc2lnbmVkIGxvbmcgZGVhZGxpbmUgPSBqaWZmaWVzICsgQVRBX1RNT1VUX0JPT1Q7CisJCQl1bnNpZ25lZCBsb25nIGRlYWRsaW5lID0gYXRhX2RlYWRsaW5lKGppZmZpZXMsIEFUQV9UTU9VVF9CT09UKTsKIAkJCXByaW50ayhLRVJOX1dBUk5JTkcgIiVzOiBJbnRlcm5hbCBCdXMgRXJyb3JcbiIsIERSVl9OQU1FKTsKIAkJCW91dF9iZTMyKGJtaWRfYmFzZSArIFNDQ19ETUFfSU5UU1QsIElOVFNUU19CTVNJTlQpOwogCQkJLyogVEJEOiBTVyByZXNldCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV9zaXMuYyBiL2RyaXZlcnMvYXRhL3BhdGFfc2lzLmMKaW5kZXggZTgyYzY2ZS4uMjYzNDVkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdGEvcGF0YV9zaXMuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3Npcy5jCkBAIC01Niw2ICs1Niw3IEBACiAJeyAweDU1MTMsIDB4MTA0MywgMHgxMTA3IH0sCS8qIEFTVVMgQTZLICovCiAJeyAweDU1MTMsIDB4MTczNCwgMHgxMDVGIH0sCS8qIEZTQyBBbWlsbyBBMTYzMCAqLwogCXsgMHg1NTEzLCAweDEwNzEsIDB4ODY0MCB9LCAgICAgLyogRWFzeU5vdGUgSzUzMDUgKi8KKwl7IDB4NTUxMywgMHgxMDM5LCAweDU1MTMgfSwJLyogVGFyZ2EgVmlzaW9uYXJ5IDEwMDAgKi8KIAkvKiBlbmQgbWFya2VyICovCiAJeyAwLCB9CiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdGEvcGF0YV93aW5ib25kLmMgYi9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYwppbmRleCA0NzQ1MjhmLi5hNzYwNmIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYworKysgYi9kcml2ZXJzL2F0YS9wYXRhX3dpbmJvbmQuYwpAQCAtMTA1LDcgKzEwNSw3IEBACiAJCQlpb3dyaXRlMzJfcmVwKGFwLT5pb2FkZHIuZGF0YV9hZGRyLCBidWYsIGJ1ZmxlbiA+PiAyKTsKIAogCQlpZiAodW5saWtlbHkoc2xvcCkpIHsKLQkJCXUzMiBwYWQ7CisJCQlfX2xlMzIgcGFkOwogCQkJaWYgKHJ3ID09IFJFQUQpIHsKIAkJCQlwYWQgPSBjcHVfdG9fbGUzMihpb3JlYWQzMihhcC0+aW9hZGRyLmRhdGFfYWRkcikpOwogCQkJCW1lbWNweShidWYgKyBidWZsZW4gLSBzbG9wLCAmcGFkLCBzbG9wKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMgYi9kcml2ZXJzL2F0YS9zYXRhX3N2dy5jCmluZGV4IDE2YWE2ODMuLmZiMTNiODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYXRhL3NhdGFfc3Z3LmMKKysrIGIvZHJpdmVycy9hdGEvc2F0YV9zdncuYwpAQCAtMjUzLDIxICsyNTMsMjkgQEAKIAkvKiBzdGFydCBob3N0IERNQSB0cmFuc2FjdGlvbiAqLwogCWRtYWN0bCA9IHJlYWRiKG1taW8gKyBBVEFfRE1BX0NNRCk7CiAJd3JpdGViKGRtYWN0bCB8IEFUQV9ETUFfU1RBUlQsIG1taW8gKyBBVEFfRE1BX0NNRCk7Ci0JLyogVGhlcmUgaXMgYSByYWNlIGNvbmRpdGlvbiBpbiBjZXJ0YWluIFNBVEEgY29udHJvbGxlcnMgdGhhdCBjYW4KLQkgICBiZSBzZWVuIHdoZW4gdGhlIHIvdyBjb21tYW5kIGlzIGdpdmVuIHRvIHRoZSBjb250cm9sbGVyIGJlZm9yZSB0aGUKLQkgICBob3N0IERNQSBpcyBzdGFydGVkLiBPbiBhIFJlYWQgY29tbWFuZCwgdGhlIGNvbnRyb2xsZXIgd291bGQgaW5pdGlhdGUKLQkgICB0aGUgY29tbWFuZCB0byB0aGUgZHJpdmUgZXZlbiBiZWZvcmUgaXQgc2VlcyB0aGUgRE1BIHN0YXJ0LiBXaGVuIHRoZXJlCi0JICAgYXJlIHZlcnkgZmFzdCBkcml2ZXMgY29ubmVjdGVkIHRvIHRoZSBjb250cm9sbGVyLCBvciB3aGVuIHRoZSBkYXRhIHJlcXVlc3QKLQkgICBoaXRzIGluIHRoZSBkcml2ZSBjYWNoZSwgdGhlcmUgaXMgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIGRyaXZlIHJldHVybnMgYSBwYXJ0Ci0JICAgb3IgYWxsIG9mIHRoZSByZXF1ZXN0ZWQgZGF0YSB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlIERNQSBzdGFydCBpcyBpc3N1ZWQuCi0JICAgSW4gdGhpcyBjYXNlLCB0aGUgY29udHJvbGxlciB3b3VsZCBiZWNvbWUgY29uZnVzZWQgYXMgdG8gd2hhdCB0byBkbyB3aXRoIHRoZSBkYXRhLgotCSAgIEluIHRoZSB3b3JzdCBjYXNlIHdoZW4gYWxsIHRoZSBkYXRhIGlzIHJldHVybmVkIGJhY2sgdG8gdGhlIGNvbnRyb2xsZXIsIHRoZQotCSAgIGNvbnRyb2xsZXIgY291bGQgaGFuZy4gSW4gb3RoZXIgY2FzZXMgaXQgY291bGQgcmV0dXJuIHBhcnRpYWwgZGF0YSByZXR1cm5pbmcKLQkgICBpbiBkYXRhIGNvcnJ1cHRpb24uIFRoaXMgcHJvYmxlbSBoYXMgYmVlbiBzZWVuIGluIFBQQyBzeXN0ZW1zIGFuZCBjYW4gYWxzbyBhcHBlYXIKLQkgICBvbiBhbiBzeXN0ZW0gd2l0aCB2ZXJ5IGZhc3QgZGlza3MsIHdoZXJlIHRoZSBTQVRBIGNvbnRyb2xsZXIgaXMgc2l0dGluZyBiZWhpbmQgYQotCSAgIG51bWJlciBvZiBicmlkZ2VzLCBhbmQgaGVuY2UgdGhlcmUgaXMgc2lnbmlmaWNhbnQgbGF0ZW5jeSBiZXR3ZWVuIHRoZSByL3cgY29tbWFuZAotCSAgIGFuZCB0aGUgc3RhcnQgY29tbWFuZC4gKi8KLQkvKiBpc3N1ZSByL3cgY29tbWFuZCBpZiB0aGUgYWNjZXNzIGlzIHRvIEFUQSovCisJLyogVGhpcyB3b3JrcyBhcm91bmQgcG9zc2libGUgZGF0YSBjb3JydXB0aW9uLgorCisJICAgT24gY2VydGFpbiBTQVRBIGNvbnRyb2xsZXJzIHRoYXQgY2FuIGJlIHNlZW4gd2hlbiB0aGUgci93CisJICAgY29tbWFuZCBpcyBnaXZlbiB0byB0aGUgY29udHJvbGxlciBiZWZvcmUgdGhlIGhvc3QgRE1BIGlzCisJICAgc3RhcnRlZC4KKworCSAgIE9uIGEgUmVhZCBjb21tYW5kLCB0aGUgY29udHJvbGxlciB3b3VsZCBpbml0aWF0ZSB0aGUKKwkgICBjb21tYW5kIHRvIHRoZSBkcml2ZSBldmVuIGJlZm9yZSBpdCBzZWVzIHRoZSBETUEKKwkgICBzdGFydC4gV2hlbiB0aGVyZSBhcmUgdmVyeSBmYXN0IGRyaXZlcyBjb25uZWN0ZWQgdG8gdGhlCisJICAgY29udHJvbGxlciwgb3Igd2hlbiB0aGUgZGF0YSByZXF1ZXN0IGhpdHMgaW4gdGhlIGRyaXZlCisJICAgY2FjaGUsIHRoZXJlIGlzIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSBkcml2ZSByZXR1cm5zIGEKKwkgICBwYXJ0IG9yIGFsbCBvZiB0aGUgcmVxdWVzdGVkIGRhdGEgdG8gdGhlIGNvbnRyb2xsZXIgYmVmb3JlCisJICAgdGhlIERNQSBzdGFydCBpcyBpc3N1ZWQuICBJbiB0aGlzIGNhc2UsIHRoZSBjb250cm9sbGVyCisJICAgd291bGQgYmVjb21lIGNvbmZ1c2VkIGFzIHRvIHdoYXQgdG8gZG8gd2l0aCB0aGUgZGF0YS4gIEluCisJICAgdGhlIHdvcnN0IGNhc2Ugd2hlbiBhbGwgdGhlIGRhdGEgaXMgcmV0dXJuZWQgYmFjayB0byB0aGUKKwkgICBjb250cm9sbGVyLCB0aGUgY29udHJvbGxlciBjb3VsZCBoYW5nLiBJbiBvdGhlciBjYXNlcyBpdAorCSAgIGNvdWxkIHJldHVybiBwYXJ0aWFsIGRhdGEgcmV0dXJuaW5nIGluIGRhdGEKKwkgICBjb3JydXB0aW9uLiBUaGlzIHByb2JsZW0gaGFzIGJlZW4gc2VlbiBpbiBQUEMgc3lzdGVtcyBhbmQKKwkgICBjYW4gYWxzbyBhcHBlYXIgb24gYW4gc3lzdGVtIHdpdGggdmVyeSBmYXN0IGRpc2tzLCB3aGVyZQorCSAgIHRoZSBTQVRBIGNvbnRyb2xsZXIgaXMgc2l0dGluZyBiZWhpbmQgYSBudW1iZXIgb2YgYnJpZGdlcywKKwkgICBhbmQgaGVuY2UgdGhlcmUgaXMgc2lnbmlmaWNhbnQgbGF0ZW5jeSBiZXR3ZWVuIHRoZSByL3cKKwkgICBjb21tYW5kIGFuZCB0aGUgc3RhcnQgY29tbWFuZC4gKi8KKwkvKiBpc3N1ZSByL3cgY29tbWFuZCBpZiB0aGUgYWNjZXNzIGlzIHRvIEFUQSAqLwogCWlmIChxYy0+dGYucHJvdG9jb2wgPT0gQVRBX1BST1RfRE1BKQogCQlhcC0+b3BzLT5zZmZfZXhlY19jb21tYW5kKGFwLCAmcWMtPnRmKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL01ha2VmaWxlIGIvZHJpdmVycy9hdG0vTWFrZWZpbGUKaW5kZXggZTRmYTk5Ni4uNzQ5MjY2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdG0vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9hdG0vTWFrZWZpbGUKQEAgLTYsOSArNiw5IEBACiBob3N0cHJvZ3MteQk6PSBmb3JlMjAwZV9ta2Zpcm0KIAogIyBGaWxlcyBnZW5lcmF0ZWQgdGhhdCBzaGFsbCBiZSByZW1vdmVkIHVwb24gbWFrZSBjbGVhbgotY2xlYW4tZmlsZXMgOj0gYXRtc2FyMTEuYmluIGF0bXNhcjExLmJpbjEgYXRtc2FyMTEuYmluMiBwY2EyMDBlLmJpbiBcCi0JcGNhMjAwZS5iaW4xIHBjYTIwMGUuYmluMiBwY2EyMDBlX2VjZC5iaW4gcGNhMjAwZV9lY2QuYmluMSBcCi0JcGNhMjAwZV9lY2QuYmluMiBzYmEyMDBlX2VjZC5iaW4gc2JhMjAwZV9lY2QuYmluMSBzYmEyMDBlX2VjZC5iaW4yCitjbGVhbi1maWxlcyA6PSBwY2EyMDBlLmJpbiBwY2EyMDBlLmJpbjEgcGNhMjAwZS5iaW4yIHBjYTIwMGVfZWNkLmJpbiBcCisJcGNhMjAwZV9lY2QuYmluMSBwY2EyMDBlX2VjZC5iaW4yIHNiYTIwMGVfZWNkLmJpbiBzYmEyMDBlX2VjZC5iaW4xIFwKKwlzYmEyMDBlX2VjZC5iaW4yCiAjIEZpcm13YXJlIGdlbmVyYXRlZCB0aGF0IHNoYWxsIGJlIHJlbW92ZWQgdXBvbiBtYWtlIGNsZWFuCiBjbGVhbi1maWxlcyArPSBmb3JlMjAwZV9wY2FfZncuYyBmb3JlMjAwZV9zYmFfZncuYwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmMgYi9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmMKaW5kZXggNmFkYjcyYS4uNzAzMzY0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5jCisrKyBiL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuYwpAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3BvaXNvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdHJldi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAKICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC0yOTAsMjkgKzI5Miw2IEBACiAgIAogKi8KIAotLyoqKioqKioqKiogbWljcm9jb2RlICoqKioqKioqKiovCi0KLSNpZmRlZiBBTUJfTkVXX01JQ1JPQ09ERQotI2RlZmluZSBVQ09ERSh4KSBVQ09ERTIoYXRtc2FyMTIueCkKLSNlbHNlCi0jZGVmaW5lIFVDT0RFKHgpIFVDT0RFMihhdG1zYXIxMS54KQotI2VuZGlmCi0jZGVmaW5lIFVDT0RFMih4KSAjeAotCi1zdGF0aWMgdTMyIF9fZGV2aW5pdGRhdGEgdWNvZGVfc3RhcnQgPQotI2luY2x1ZGUgVUNPREUoc3RhcnQpCi07Ci0KLXN0YXRpYyByZWdpb24gX19kZXZpbml0ZGF0YSB1Y29kZV9yZWdpb25zW10gPSB7Ci0jaW5jbHVkZSBVQ09ERShyZWdpb25zKQotICB7IDAsIDAgfQotfTsKLQotc3RhdGljIHUzMiBfX2RldmluaXRkYXRhIHVjb2RlX2RhdGFbXSA9IHsKLSNpbmNsdWRlIFVDT0RFKGRhdGEpCi0gIDB4ZGVhZGJlZWYKLX07Ci0KIHN0YXRpYyB2b2lkIGRvX2hvdXNla2VlcGluZyAodW5zaWduZWQgbG9uZyBhcmcpOwogLyoqKioqKioqKiogZ2xvYmFscyAqKioqKioqKioqLwogCkBAIC0xODQxLDQ1ICsxODIwLDM0IEBACiAKIC8qIGxvYWRlcjogd3JpdGUgbWVtb3J5IGRhdGEgYmxvY2tzICovCiAKLXN0YXRpYyBpbnQgX19kZXZpbml0IGxvYWRlcl93cml0ZSAobG9hZGVyX2Jsb2NrICogbGIsCi0JCQkJY29uc3QgYW1iX2RldiAqIGRldiwgY29uc3QgdTMyICogZGF0YSwKLQkJCQl1MzIgYWRkcmVzcywgdW5zaWduZWQgaW50IGNvdW50KSB7Ci0gIHVuc2lnbmVkIGludCBpOworc3RhdGljIGludCBfX2RldmluaXQgbG9hZGVyX3dyaXRlIChsb2FkZXJfYmxvY2sqIGxiLAorCQkJCSAgIGNvbnN0IGFtYl9kZXYgKmRldiwKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYykgewogICB0cmFuc2Zlcl9ibG9jayAqIHRiID0gJmxiLT5wYXlsb2FkLnRyYW5zZmVyOwogICAKICAgUFJJTlREIChEQkdfRkxPV3xEQkdfTE9BRCwgImxvYWRlcl93cml0ZSIpOwotICAKLSAgaWYgKGNvdW50ID4gTUFYX1RSQU5TRkVSX0RBVEEpCi0gICAgcmV0dXJuIC1FSU5WQUw7Ci0gIHRiLT5hZGRyZXNzID0gY3B1X3RvX2JlMzIgKGFkZHJlc3MpOwotICB0Yi0+Y291bnQgPSBjcHVfdG9fYmUzMiAoY291bnQpOwotICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKLSAgICB0Yi0+ZGF0YVtpXSA9IGNwdV90b19iZTMyIChkYXRhW2ldKTsKKworICB0Yi0+YWRkcmVzcyA9IHJlYy0+YWRkcjsKKyAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIoYmUxNl90b19jcHUocmVjLT5sZW4pIC8gNCk7CisgIG1lbWNweSh0Yi0+ZGF0YSwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogICByZXR1cm4gZG9fbG9hZGVyX2NvbW1hbmQgKGxiLCBkZXYsIHdyaXRlX2FkYXB0ZXJfbWVtb3J5KTsKIH0KIAogLyogbG9hZGVyOiB2ZXJpZnkgbWVtb3J5IGRhdGEgYmxvY2tzICovCiAKIHN0YXRpYyBpbnQgX19kZXZpbml0IGxvYWRlcl92ZXJpZnkgKGxvYWRlcl9ibG9jayAqIGxiLAotCQkJCSBjb25zdCBhbWJfZGV2ICogZGV2LCBjb25zdCB1MzIgKiBkYXRhLAotCQkJCSB1MzIgYWRkcmVzcywgdW5zaWduZWQgaW50IGNvdW50KSB7Ci0gIHVuc2lnbmVkIGludCBpOworCQkJCSAgICBjb25zdCBhbWJfZGV2ICpkZXYsCisJCQkJICAgIGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjKSB7CiAgIHRyYW5zZmVyX2Jsb2NrICogdGIgPSAmbGItPnBheWxvYWQudHJhbnNmZXI7CiAgIGludCByZXM7CiAgIAogICBQUklOVEQgKERCR19GTE9XfERCR19MT0FELCAibG9hZGVyX3ZlcmlmeSIpOwogICAKLSAgaWYgKGNvdW50ID4gTUFYX1RSQU5TRkVSX0RBVEEpCi0gICAgcmV0dXJuIC1FSU5WQUw7Ci0gIHRiLT5hZGRyZXNzID0gY3B1X3RvX2JlMzIgKGFkZHJlc3MpOwotICB0Yi0+Y291bnQgPSBjcHVfdG9fYmUzMiAoY291bnQpOworICB0Yi0+YWRkcmVzcyA9IHJlYy0+YWRkcjsKKyAgdGItPmNvdW50ID0gY3B1X3RvX2JlMzIoYmUxNl90b19jcHUocmVjLT5sZW4pIC8gNCk7CiAgIHJlcyA9IGRvX2xvYWRlcl9jb21tYW5kIChsYiwgZGV2LCByZWFkX2FkYXB0ZXJfbWVtb3J5KTsKLSAgaWYgKCFyZXMpCi0gICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpCi0gICAgICBpZiAodGItPmRhdGFbaV0gIT0gY3B1X3RvX2JlMzIgKGRhdGFbaV0pKSB7Ci0JcmVzID0gLUVJTlZBTDsKLQlicmVhazsKLSAgICAgIH0KKyAgaWYgKCFyZXMgJiYgbWVtY21wKHRiLT5kYXRhLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSkpCisgICAgcmVzID0gLUVJTlZBTDsKICAgcmV0dXJuIHJlczsKIH0KIApAQCAtMTk2Miw0NyArMTkzMCw1MyBAQAogLyoqKioqKioqKiogdHJhbnNmZXIgYW5kIHN0YXJ0IHRoZSBtaWNyb2NvZGUgKioqKioqKioqKi8KIAogc3RhdGljIGludCBfX2RldmluaXQgdWNvZGVfaW5pdCAobG9hZGVyX2Jsb2NrICogbGIsIGFtYl9kZXYgKiBkZXYpIHsKLSAgdW5zaWduZWQgaW50IGkgPSAwOwotICB1bnNpZ25lZCBpbnQgdG90YWwgPSAwOwotICBjb25zdCB1MzIgKiBwb2ludGVyID0gdWNvZGVfZGF0YTsKLSAgdTMyIGFkZHJlc3M7Ci0gIHVuc2lnbmVkIGludCBjb3VudDsKKyAgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKKyAgdW5zaWduZWQgbG9uZyBzdGFydF9hZGRyZXNzOworICBjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKICAgaW50IHJlczsKICAgCisgIHJlcyA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsICJhdG1zYXIxMS5mdyIsICZkZXYtPnBjaV9kZXYtPmRldik7CisgIGlmIChyZXMpIHsKKyAgICBQUklOVEsgKEtFUk5fRVJSLCAiQ2Fubm90IGxvYWQgbWljcm9jb2RlIGRhdGEiKTsKKyAgICByZXR1cm4gcmVzOworICB9CisKKyAgLyogRmlyc3QgcmVjb3JkIGNvbnRhaW5zIGp1c3QgdGhlIHN0YXJ0IGFkZHJlc3MgKi8KKyAgcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworICBpZiAoYmUxNl90b19jcHUocmVjLT5sZW4pICE9IHNpemVvZihfX2JlMzIpIHx8IGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpIHsKKyAgICBQUklOVEsgKEtFUk5fRVJSLCAiQmFkIG1pY3JvY29kZSBkYXRhIChubyBzdGFydCByZWNvcmQpIik7CisgICAgcmV0dXJuIC1FSU5WQUw7CisgIH0KKyAgc3RhcnRfYWRkcmVzcyA9IGJlMzJfdG9fY3B1cCgoX19iZTMyICopcmVjLT5kYXRhKTsKKworICByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CisKICAgUFJJTlREIChEQkdfRkxPV3xEQkdfTE9BRCwgInVjb2RlX2luaXQiKTsKLSAgCi0gIHdoaWxlIChhZGRyZXNzID0gdWNvZGVfcmVnaW9uc1tpXS5zdGFydCwKLQkgY291bnQgPSB1Y29kZV9yZWdpb25zW2ldLmNvdW50KSB7Ci0gICAgUFJJTlREIChEQkdfTE9BRCwgInN0YXJ0aW5nIHJlZ2lvbiAoJXgsICV1KSIsIGFkZHJlc3MsIGNvdW50KTsKLSAgICB3aGlsZSAoY291bnQpIHsKLSAgICAgIHVuc2lnbmVkIGludCB3b3JkczsKLSAgICAgIGlmIChjb3VudCA8PSBNQVhfVFJBTlNGRVJfREFUQSkKLQl3b3JkcyA9IGNvdW50OwotICAgICAgZWxzZQotCXdvcmRzID0gTUFYX1RSQU5TRkVSX0RBVEE7Ci0gICAgICB0b3RhbCArPSB3b3JkczsKLSAgICAgIHJlcyA9IGxvYWRlcl93cml0ZSAobGIsIGRldiwgcG9pbnRlciwgYWRkcmVzcywgd29yZHMpOwotICAgICAgaWYgKHJlcykKLQlyZXR1cm4gcmVzOwotICAgICAgcmVzID0gbG9hZGVyX3ZlcmlmeSAobGIsIGRldiwgcG9pbnRlciwgYWRkcmVzcywgd29yZHMpOwotICAgICAgaWYgKHJlcykKLQlyZXR1cm4gcmVzOwotICAgICAgY291bnQgLT0gd29yZHM7Ci0gICAgICBhZGRyZXNzICs9IHNpemVvZih1MzIpICogd29yZHM7Ci0gICAgICBwb2ludGVyICs9IHdvcmRzOworCisgIHdoaWxlIChyZWMpIHsKKyAgICBQUklOVEQgKERCR19MT0FELCAic3RhcnRpbmcgcmVnaW9uICgleCwgJXUpIiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkgICAgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKyAgICBpZiAoYmUxNl90b19jcHUocmVjLT5sZW4pID4gNCAqIE1BWF9UUkFOU0ZFUl9EQVRBKSB7CisJICAgIFBSSU5USyAoS0VSTl9FUlIsICJCYWQgbWljcm9jb2RlIGRhdGEgKHJlY29yZCB0b28gbG9uZykiKTsKKwkgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQotICAgIGkgKz0gMTsKKyAgICBpZiAoYmUxNl90b19jcHUocmVjLT5sZW4pICYgMykgeworCSAgICBQUklOVEsgKEtFUk5fRVJSLCAiQmFkIG1pY3JvY29kZSBkYXRhIChvZGQgbnVtYmVyIG9mIGJ5dGVzKSIpOworCSAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisgICAgcmVzID0gbG9hZGVyX3dyaXRlKGxiLCBkZXYsIHJlYyk7CisgICAgaWYgKHJlcykKKyAgICAgIGJyZWFrOworCisgICAgcmVzID0gbG9hZGVyX3ZlcmlmeShsYiwgZGV2LCByZWMpOworICAgIGlmIChyZXMpCisgICAgICBicmVhazsKICAgfQotICBpZiAoKnBvaW50ZXIgPT0gQVRNX1BPSVNPTikgewotICAgIHJldHVybiBsb2FkZXJfc3RhcnQgKGxiLCBkZXYsIHVjb2RlX3N0YXJ0KTsKLSAgfSBlbHNlIHsKLSAgICAvLyBjYXN0IG5lZWRlZCBhcyB0aGVyZSBpcyBubyAlPyBmb3IgcG9pbnRlciBkaWZmZXJuY2VzCi0gICAgUFJJTlREIChEQkdfTE9BRHxEQkdfRVJSLAotCSAgICAib2Zmc2V0PSVsaSwgKnBvaW50ZXI9JXgsIGFkZHJlc3M9JXgsIHRvdGFsPSV1IiwKLQkgICAgKGxvbmcpIChwb2ludGVyIC0gdWNvZGVfZGF0YSksICpwb2ludGVyLCBhZGRyZXNzLCB0b3RhbCk7Ci0gICAgUFJJTlRLIChLRVJOX0VSUiwgImluY29ycmVjdCBtaWNyb2NvZGUgZGF0YSIpOwotICAgIHJldHVybiAtRU5PTUVNOwotICB9CisgIHJlbGVhc2VfZmlybXdhcmUoZncpOworICBpZiAoIXJlcykKKyAgICByZXMgPSBsb2FkZXJfc3RhcnQobGIsIGRldiwgc3RhcnRfYWRkcmVzcyk7CisKKyAgcmV0dXJuIHJlczsKIH0KIAogLyoqKioqKioqKiogZ2l2ZSBhZGFwdGVyIHBhcmFtZXRlcnMgKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuaCBiL2RyaXZlcnMvYXRtL2FtYmFzc2Fkb3IuaAppbmRleCBkZjU1ZmE4Li5iZDFjNDZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2F0bS9hbWJhc3NhZG9yLmgKKysrIGIvZHJpdmVycy9hdG0vYW1iYXNzYWRvci5oCkBAIC02NTYsMTcgKzY1Niw2IEBACiAjZGVmaW5lIEFNQl9ERVYoYXRtX2RldikgKChhbWJfZGV2ICopIChhdG1fZGV2KS0+ZGV2X2RhdGEpCiAjZGVmaW5lIEFNQl9WQ0MoYXRtX3ZjYykgKChhbWJfdmNjICopIChhdG1fdmNjKS0+ZGV2X2RhdGEpCiAKLS8qIHRoZSBtaWNyb2NvZGUgKi8KLQotdHlwZWRlZiBzdHJ1Y3QgewotICB1MzIgc3RhcnQ7Ci0gIHVuc2lnbmVkIGludCBjb3VudDsKLX0gcmVnaW9uOwotCi1zdGF0aWMgcmVnaW9uIHVjb2RlX3JlZ2lvbnNbXTsKLXN0YXRpYyB1MzIgdWNvZGVfZGF0YVtdOwotc3RhdGljIHUzMiB1Y29kZV9zdGFydDsKLQogLyogcmF0ZSByb3VuZGluZyAqLwogCiB0eXBlZGVmIGVudW0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuZGF0YSBiL2RyaXZlcnMvYXRtL2F0bXNhcjExLmRhdGEKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkYzhhNzYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuZGF0YQorKysgL2Rldi9udWxsCkBAIC0xLDIwNjMgKzAsMCBAQAotLyoKLSAgTWFkZ2UgQW1iYXNzYWRvciBBVE0gQWRhcHRlciBtaWNyb2NvZGUuCi0gIENvcHlyaWdodCAoQykgMTk5NS0xOTk5ICBNYWRnZSBOZXR3b3JrcyBMdGQuCi0gIAotICBUaGlzIG1pY3JvY29kZSBkYXRhIGlzIHBsYWNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsCi0gIFB1YmxpYyBMaWNlbnNlLiBUaGUgR1BMIGlzIGNvbnRhaW5lZCBpbiAvdXNyL2RvYy9jb3B5cmlnaHQvR1BMIG9uIGEKLSAgRGViaWFuIHN5c3RlbSBhbmQgaW4gdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgTGludXgga2VybmVsIHNvdXJjZS4KLSAgCi0gIFdlIHdvdWxkIHByZWZlciB5b3Ugbm90IHRvIGRpc3RyaWJ1dGUgbW9kaWZpZWQgdmVyc2lvbnMgd2l0aG91dAotICBjb25zdWx0YXRpb24gYW5kIG5vdCB0byBhc2sgZm9yIGFzc2VtYmx5L290aGVyIG1pY3JvY29kZSBzb3VyY2UuCi0qLwotCi0gIDB4NDAxYTY4MDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzM1YjAwN2MsCi0gIDB4MTM2MDAwMDUsCi0gIDB4MzM1YjEwMDAsCi0gIDB4M2MxYWEwYzAsCi0gIDB4Mzc1YTAxODAsCi0gIDB4MDM0MDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTc2MGZmZmIsCi0gIDB4MzM1YjQwMDAsCi0gIDB4NDAxYTcwMDAsCi0gIDB4MTM2MDAwMDMsCi0gIDB4MjQxYjBmYzAsCi0gIDB4YWY5YjQ1MDAsCi0gIDB4MjUwODAwMDgsCi0gIDB4MDM0MDAwMDgsCi0gIDB4NDIwMDAwMTAsCi0gIDB4OGY4MTBjOTAsCi0gIDB4MzIyMjAwMDIsCi0gIDB4MTA0MDAwMDMsCi0gIDB4M2MwM2EwZDEsCi0gIDB4MjQ2M2Y4MTAsCi0gIDB4MDA2MGY4MDksCi0gIDB4MjQyMTAwMDEsCi0gIDB4MTAwMDAwMWEsCi0gIDB4YWY4MTBjOTAsCi0gIDB4ODIwMjAwMTEsCi0gIDB4YWY5MDBjNDgsCi0gIDB4MDQ0MTAwMGEsCi0gIDB4MzQ0MjAwODAsCi0gIDB4OTY3ZDAwMDIsCi0gIDB4OTYwMjAwMTIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA1ZDAwMTEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDQxMTAxNjEsCi0gIDB4YTY2MjAwMDIsCi0gIDB4MTAwMDAwMGQsCi0gIDB4YWU2MjAwMGMsCi0gIDB4MzQ4NDgwMDAsCi0gIDB4YTIwMjAwMTEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MzRjMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MzBmZWMsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4MDAwNDE0MDAsCi0gIDB4MDQ0MGZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4OGUxMDAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MzRjMDAsCi0gIDB4NDkwMDAwMWQsCi0gIDB4YWY4MzBmZWMsCi0gIDB4OGY4MjBjYmMsCi0gIDB4OGY5ZDBjNGMsCi0gIDB4MjQ0MjAwMDEsCi0gIDB4OTdiZTAwMDAsCi0gIDB4YWY4MjBjYmMsCi0gIDB4MTNjMDAwMDksCi0gIDB4YWNhMjAwZDgsCi0gIDB4YTdhMDAwMDAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAzZTA4MjUsCi0gIDB4OTQyMjAwMmMsCi0gIDB4MDQxMTAxM2YsCi0gIDB4YTQyMjAwMDIsCi0gIDB4YWMyMjAwMGMsCi0gIDB4YWMyMDAwMTAsCi0gIDB4OGY5ZTBjNTQsCi0gIDB4MjdiZDAwMDIsCi0gIDB4MTdiZTAwMDIsCi0gIDB4OGNhMjAwYzAsCi0gIDB4OGY5ZDBjNTAsCi0gIDB4OGY5NzBmYzgsCi0gIDB4YWY5ZDBjNGMsCi0gIDB4MTJlMjAwMDUsCi0gIDB4ODc4MDQwMDIsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmY5NGMsCi0gIDB4MDA0MGY4MDksCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NDUwMGZmZGMsCi0gIDB4OGUxMTAwMGMsCi0gIDB4M2MxMzAwZDEsCi0gIDB4MDAxMTExMDIsCi0gIDB4MmM0MzA0MDAsCi0gIDB4MTA2MGZmYjksCi0gIDB4MDAwMjExODAsCi0gIDB4MDI2Mjk4MjEsCi0gIDB4OGU3NjAwM2MsCi0gIDB4MzIyMjAwMDgsCi0gIDB4MTQ0MGZmYjcsCi0gIDB4OGU3NzAwMzQsCi0gIDB4OGU3NTAwMzAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MTZjMDAwMDMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MDQxMTAwYmUsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MGZmYTYsCi0gIDB4MDA3MDE4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY5NzRjMDAsCi0gIDB4YWY4MjBmZWMsCi0gIDB4YWM3NjAwMTAsCi0gIDB4MDI2MDkwMjEsCi0gIDB4MzIyMjAwMDIsCi0gIDB4MTA0MDAwMDcsCi0gIDB4OGY5NDRhMDAsCi0gIDB4OTYwMjAwM2EsCi0gIDB4MzQ4NDAwMDQsCi0gIDB4MTQ0MDAwMDMsCi0gIDB4YWY4MjBmYmMsCi0gIDB4M2MwMjkwMDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4OGUxMDAwMDgsCi0gIDB4MzI5NDNmMDAsCi0gIDB4OGUxMTAwMGMsCi0gIDB4MjY5NGZmMDAsCi0gIDB4MTI4MDAwNzMsCi0gIDB4M2MxMzAwZDEsCi0gIDB4NDkwMTAwNzEsCi0gIDB4MzIzNzAwMDgsCi0gIDB4MTZlMDAwNmYsCi0gIDB4MDAxMTExMDIsCi0gIDB4MmM0MzA0MDAsCi0gIDB4MTA2MDAwNmMsCi0gIDB4MDAwMmI5ODAsCi0gIDB4MDAwNDE3NDAsCi0gIDB4MDQ0MDAwM2EsCi0gIDB4MDI3Nzk4MjEsCi0gIDB4MTI3MjAwMjMsCi0gIDB4MjZkNjAwMzAsCi0gIDB4YWU1NjAwM2MsCi0gIDB4OGU3NjAwM2MsCi0gIDB4OGU3NzAwMzQsCi0gIDB4OGU3NTAwMzAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MTZjMDAwMDMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MDQxMTAwOTEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MDAwNjAsCi0gIDB4MmU4MjEwMDAsCi0gIDB4MTQ0MDAwMDksCi0gIDB4MDA3MDE4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY5NzRjMDAsCi0gIDB4YWM3NjAwMTAsCi0gIDB4YWU0MjAwMzQsCi0gIDB4MTAwMGZmZDAsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MDA3MDE4MjYsCi0gIDB4YWU0NjAwMzQsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY5NzRjMDAsCi0gIDB4YWY4MjBmZWMsCi0gIDB4YWM3NjAwMTAsCi0gIDB4MTAwMGZmYzMsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MTA0MDAwNDIsCi0gIDB4M2MxN2NmYjAsCi0gIDB4MmU4MjEwMDAsCi0gIDB4MTQ0MDAwMDYsCi0gIDB4MDJmMGI4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWVmNjAwMTAsCi0gIDB4MTAwMGZmYjgsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjMDAsCi0gIDB4YWY4NjRjMDAsCi0gIDB4YWVmNjAwMTAsCi0gIDB4YWY4MjBmZWMsCi0gIDB4MTAwMGZmYWUsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MzA4NGZmZmIsCi0gIDB4OGU1NzAwMzgsCi0gIDB4MzI0MmZmYzAsCi0gIDB4MDAwMjExODIsCi0gIDB4YTc4MjBmYjgsCi0gIDB4YWY5NzBmYjQsCi0gIDB4ODY1ZDAwMmEsCi0gIDB4ODY1ZTAwMDgsCi0gIDB4YTc5ZDBmYmEsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZWYwYzIsCi0gIDB4MDNiZWU4MjEsCi0gIDB4OGY5NzBjNTgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MzRjMDAsCi0gIDB4OGZhMjAwMWMsCi0gIDB4MTJlMzAwMDMsCi0gIDB4M2MwMzBjNDAsCi0gIDB4M2MxZWMwMDAsCi0gIDB4YWY5ZTBmYmMsCi0gIDB4YWM2MjBmYjQsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MjQ0MjAwMGMsCi0gIDB4MTQ0MzAwMDIsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4OGZhMjAwMTQsCi0gIDB4YWU0MDAwM2MsCi0gIDB4YWZhMjAwMWMsCi0gIDB4OGU3NjAwM2MsCi0gIDB4OGU3NzAwMzQsCi0gIDB4OGU3NTAwMzAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MTZjMDAwMDMsCi0gIDB4MDJkNTEwMmIsCi0gIDB4MDQxMTAwM2MsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA3MDE4MjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4MTA0MDAwMzIsCi0gIDB4YWY5NzRjMDAsCi0gIDB4MTAwMGZmN2YsCi0gIDB4YWM3NjAwMTAsCi0gIDB4MDAwNDE3NDAsCi0gIDB4MDQ0MDAwMDcsCi0gIDB4MjZkNjAwMzAsCi0gIDB4YWU1NjAwM2MsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4MTAwMGZmMzksCi0gIDB4YWU0NjAwMzQsCi0gIDB4OGU1NzAwMzgsCi0gIDB4MzI0MmZmYzAsCi0gIDB4MDAwMjExODIsCi0gIDB4YTc4MjBmYjgsCi0gIDB4YWY5NzBmYjQsCi0gIDB4OGY5NzBjNTgsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4MTJlNjAwMDMsCi0gIDB4M2MwMzBjNDAsCi0gIDB4M2MwMmMwMDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4ODY1ZDAwMmEsCi0gIDB4ODY1ZTAwMDgsCi0gIDB4YTc5ZDBmYmEsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZWYwYzIsCi0gIDB4MDNiZWU4MjEsCi0gIDB4OGZhMjAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzRjMDAsCi0gIDB4YWM2MjBmYjQsCi0gIDB4MzA4NGZmZmIsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MjQ0MjAwMGMsCi0gIDB4MTQ0MzAwMDIsCi0gIDB4YWY4MDQ2MGMsCi0gIDB4OGZhMjAwMTQsCi0gIDB4YWU0MDAwM2MsCi0gIDB4YWZhMjAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4MTAwMGZmMTMsCi0gIDB4YWY5NzRjMDAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4MTAwMGZmMGYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MDAwNWIsCi0gIDB4ODY3ZTAwMDgsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZTEwYzIsCi0gIDB4MDNhMmU4MjEsCi0gIDB4OGZiNzAwMDgsCi0gIDB4OGZhMjAwMGMsCi0gIDB4OGVmNjAwMDQsCi0gIDB4MTJlMjAwMjgsCi0gIDB4ODY2MjAwMDgsCi0gIDB4ODIwMzAwMTAsCi0gIDB4MDAwMjE3NDAsCi0gIDB4MDQ0MTAwMTksCi0gIDB4MjQ2MzAwMDEsCi0gIDB4MTA2MDAwMTcsCi0gIDB4M2MwMmQxYjAsCi0gIDB4MDA1MDEwMjYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5ZTRjMDAsCi0gIDB4YWM1NjAwMTAsCi0gIDB4MjZkNmZmZmUsCi0gIDB4ODYwMjAwMTAsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MzQ2MzIwMDAsCi0gIDB4YTY2MjAwMmEsCi0gIDB4OGVlMjAwMDAsCi0gIDB4MjZmNzAwMDgsCi0gIDB4YWU2MjAwMzgsCi0gIDB4OGZhMjAwMjAsCi0gIDB4YWZiNzAwMDgsCi0gIDB4MjQxN2ZmZmYsCi0gIDB4MDJjMmE4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY5ZTRjMDAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU3NTAwMzAsCi0gIDB4OGVlMjAwMDAsCi0gIDB4MjZmNzAwMDgsCi0gIDB4YWU2MjAwMzgsCi0gIDB4OGZhMjAwMjAsCi0gIDB4YWZiNzAwMDgsCi0gIDB4MjQxN2ZmZmYsCi0gIDB4YTY3NzAwMmEsCi0gIDB4MDJjMmE4MjEsCi0gIDB4M2MwM2NmYjAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU3NTAwMzAsCi0gIDB4MDAxZTE4YzIsCi0gIDB4MDA2NTE4MjEsCi0gIDB4OGM2MzAwYzgsCi0gIDB4OGZhMjAwMTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA2MmIwMjMsCi0gIDB4MWVjMDAwMDMsCi0gIDB4OGZhMTAwMDQsCi0gIDB4MTJjMDAwMWIsCi0gIDB4MDAyMmIwMjMsCi0gIDB4MmVjMzAwNDEsCi0gIDB4MTQ2MDAwMDIsCi0gIDB4M2MxNTAwNDAsCi0gIDB4MjQxNjAwNDAsCi0gIDB4MDAxNjFlODAsCi0gIDB4MDAwMzE4ODIsCi0gIDB4MDA3NTE4MjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NTRjMDAsCi0gIDB4MDAxZWI4NDAsCi0gIDB4MDA3NzE4MjEsCi0gIDB4YWM2MjRkMDAsCi0gIDB4MDA1NjEwMjEsCi0gIDB4MTQ0MTAwMDIsCi0gIDB4Mjc4MzBkMDAsCi0gIDB4OGZhMjAwMDAsCi0gIDB4MDJlM2I4MjEsCi0gIDB4YWZhMjAwMTAsCi0gIDB4MDJkNzE4MjEsCi0gIDB4YWZhMzAwMGMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGVmNjAwMDQsCi0gIDB4MTAwMGZmYjUsCi0gIDB4YWY5NTRjMDAsCi0gIDB4M2MxNmRlYWQsCi0gIDB4YWU3NjAwM2MsCi0gIDB4YWU2MDAwMzgsCi0gIDB4MjZkNWZmZmYsCi0gIDB4MDAwMDEwMjEsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU3NTAwMzAsCi0gIDB4MmM0MzBhYjIsCi0gIDB4MTA2MDAwMDUsCi0gIDB4MmM0MzI0YjIsCi0gIDB4MTAwMDAwMDQsCi0gIDB4MjQwMjBhYjIsCi0gIDB4MTAwMDAwMDIsCi0gIDB4MjQwMjI0YjEsCi0gIDB4MTA2MGZmZmQsCi0gIDB4MzA0MzAxZmYsCi0gIDB4MDAwMzE4NDAsCi0gIDB4M2MxZGEwZDEsCi0gIDB4MjdiZGQ2Y2MsCi0gIDB4MDA3ZDE4MjEsCi0gIDB4OTQ2MzAwMDAsCi0gIDB4MDAwMmVhNDIsCi0gIDB4MDAwMzFjMDAsCi0gIDB4MjdiZGZmZmIsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MDNhMzEwMDYsCi0gIDB4MjQwMzBmYzAsCi0gIDB4YWY4MzQ1MDAsCi0gIDB4MTAwMDAwMDIsCi0gIDB4MDEyMDYwMjEsCi0gIDB4M2MwY2NmYjAsCi0gIDB4MTFlMDAwNTYsCi0gIDB4MDE4OTYwMjYsCi0gIDB4ODVmZTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTNjMDAwNDcsCi0gIDB4M2MwMmNmYjAsCi0gIDB4MDdjMDAwMmQsCi0gIDB4MDAxZTFmODAsCi0gIDB4MDQ2MTAwMzQsCi0gIDB4MDAxZTFmYzAsCi0gIDB4MDQ2MDAwMDksCi0gIDB4M2MwMmQzYjAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4OGY5OTBmZWMsCi0gIDB4MTAwMDAwMGIsCi0gIDB4YWY5OTRjMDAsCi0gIDB4MDFlMjc4MjYsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4YWY5OTRjMDAsCi0gIDB4YWRlZjIwMTAsCi0gIDB4M2MwMmQzYjAsCi0gIDB4MDFlMjc4MjYsCi0gIDB4OGY4MjBmYzAsCi0gIDB4OGY4MzBmYzQsCi0gIDB4YWY4MjRkMDAsCi0gIDB4OGRlMjAwMDQsCi0gIDB4YTVlMDAwMDAsCi0gIDB4YWM2MjAwMDAsCi0gIDB4OGM2MjAwMDAsCi0gIDB4MjQwMjAzODAsCi0gIDB4YWY4MjRkMDAsCi0gIDB4OGY4MjRkMDAsCi0gIDB4OGY4MjBmMTQsCi0gIDB4MjQ2MzAwMDQsCi0gIDB4MTQ2MjAwMDIsCi0gIDB4MjQxOWZmZmYsCi0gIDB4OGY4MzBmMTAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4YWY4MzBmYzQsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjRjODAsCi0gIDB4MTAwMDAwMWYsCi0gIDB4YWRlMjAwM2MsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTVlMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4MTU4MDAwMjIsCi0gIDB4YWY4ZjQ1NDAsCi0gIDB4MTAwMDAwMTcsCi0gIDB4MDFlMjc4MjYsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4YWY5OTRjMDAsCi0gIDB4YWRlZjIwMTAsCi0gIDB4M2MwMmNmYjAsCi0gIDB4MDFlMjc4MjYsCi0gIDB4YTVlMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMDAwMDcsCi0gIDB4OGY5OTRjMDAsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4NjRjMDAsCi0gIDB4OGY5OTBmZWMsCi0gIDB4MTU4MDAwMGEsCi0gIDB4YWY4ZjQ1MDAsCi0gIDB4MDAwMDc4MjEsCi0gIDB4MTAwMDAwMTQsCi0gIDB4YWYxOTAwMTQsCi0gIDB4MDBlMGY4MDksCi0gIDB4MDNlMDM4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTE4MGZmZjgsCi0gIDB4OGY4NjRjMDAsCi0gIDB4ODUyMjAwMDAsCi0gIDB4MDEyMDc4MjEsCi0gIDB4MDQ0MDAwMGEsCi0gIDB4OGQyOTAwMDgsCi0gIDB4MTMwYjAwMDQsCi0gIDB4MDAwYzE2MDIsCi0gIDB4YWYxOTAwMTQsCi0gIDB4OGQ3OTAwMTQsCi0gIDB4MDE2MGMwMjEsCi0gIDB4YWY5OTRjMDAsCi0gIDB4YWQ4ZTQwMTAsCi0gIDB4MzA0MjAwM2YsCi0gIDB4MDFjMjcwMjEsCi0gIDB4MDAwNDE3ODAsCi0gIDB4MDQ0MDAxOGIsCi0gIDB4OGY4MjRhMDAsCi0gIDB4MzA4MTgwMDAsCi0gIDB4MzA0MjAwMDQsCi0gIDB4MTQ0MGZmOGQsCi0gIDB4OGQ0YjAwMDAsCi0gIDB4MTAyMDAwMGMsCi0gIDB4MzA4NDdmZmYsCi0gIDB4OGY4MjBjNDgsCi0gIDB4MDEyMGYwMjEsCi0gIDB4MjQ0MzAwMzQsCi0gIDB4OGM1ZDAwMGMsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4YWZkZDAwMGMsCi0gIDB4MTQ2MmZmZmMsCi0gIDB4MjdkZTAwMDQsCi0gIDB4YTUyMTAwMDAsCi0gIDB4MTAwMGZmODIsCi0gIDB4MjUwODAwMDgsCi0gIDB4MTE2MDAwNTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODU3ZDAwMDgsCi0gIDB4OGQ2MzAwMGMsCi0gIDB4OTU2MjAwMGEsCi0gIDB4OGQ0MTAwMDQsCi0gIDB4MDdhMTAwMjYsCi0gIDB4MDA2MjE4MjEsCi0gIDB4YTU2MzAwMGEsCi0gIDB4MDAwMzFjMDIsCi0gIDB4MDQxMTAxYTAsCi0gIDB4MDAwMzE4YzAsCi0gIDB4MDAxZDE2YzAsCi0gIDB4MDQ0MTAwMWYsCi0gIDB4MjdhMjAwODAsCi0gIDB4MDAwMjFjYzAsCi0gIDB4MDQ2MTAwMGUsCi0gIDB4MDA0MGU4MjEsCi0gIDB4MjdiZDAwODAsCi0gIDB4OTU2MjAwMDAsCi0gIDB4OTU2MzAwMDIsCi0gIDB4MzQ0MjAwMGMsCi0gIDB4YWQyMjAwMGMsCi0gIDB4MjQwMjAxMDAsCi0gIDB4YTUyMjAwMTAsCi0gIDB4OTU2MjAwMmMsCi0gIDB4YTUyMzAwMTQsCi0gIDB4YTUyMjAwMTIsCi0gIDB4YTUyMDAwMTYsCi0gIDB4MzQwMjgwMDAsCi0gIDB4YTUyMjAwMDAsCi0gIDB4YTU3ZDAwMDgsCi0gIDB4MDdhMDAwMGMsCi0gIDB4OGY4MjBjNGMsCi0gIDB4OGY4MzBjNTAsCi0gIDB4MjQ0MWZmZTgsCi0gIDB4MDAyM2YwMmIsCi0gIDB4MTNjMDAwMDIsCi0gIDB4MDAyMDEwMjEsCi0gIDB4MjQ0MjA0MDAsCi0gIDB4OTQ1ZTAwMDAsCi0gIDB4MjQ0MWZmZmUsCi0gIDB4MTdjMGZmZjksCi0gIDB4YWQ2MjAwMTAsCi0gIDB4YTQ0YjAwMDAsCi0gIDB4MTQyYjAwMWMsCi0gIDB4YWQ0MDAwMDAsCi0gIDB4YWQ0MDAwMDQsCi0gIDB4MjU0YTAwMDgsCi0gIDB4MzE0MjAwN2YsCi0gIDB4MTQ0MDAwMGUsCi0gIDB4MDAwNDE3ODAsCi0gIDB4MDQ0MTAwMDMsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MTAwMDAwMDYsCi0gIDB4MzQ4NDAwMDEsCi0gIDB4MzQ4NDAwMDIsCi0gIDB4MjQ0MjAwMDgsCi0gIDB4MzQ0MjEwMDAsCi0gIDB4Mzg0MjEwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4MzU0YTAxMDAsCi0gIDB4Mzk0YTAxMDAsCi0gIDB4Mzk0MjAwODAsCi0gIDB4YWY4MjBmZTQsCi0gIDB4MDAxZDE0YzAsCi0gIDB4MDQ0MTAwMDMsCi0gIDB4MzNhMmVmZmYsCi0gIDB4MTAwMGZmM2MsCi0gIDB4YTU2MjAwMDgsCi0gIDB4MDdhMDAwOWYsCi0gIDB4MzNhMmZmZmUsCi0gIDB4MTAwMDAwMjEsCi0gIDB4YTU2MjAwMDgsCi0gIDB4OGQ2MjAwMjQsCi0gIDB4MDAxZDFjYzAsCi0gIDB4MDQ2MTAwMDQsCi0gIDB4YWQ0MjAwMDAsCi0gIDB4MzNhM2VmZmYsCi0gIDB4MTAwMGZmMzEsCi0gIDB4YTU2MzAwMDgsCi0gIDB4MDdhMDAwMDUsCi0gIDB4MzNhM2ZmZmUsCi0gIDB4YTU2MzAwMDgsCi0gIDB4OGQ0YjAwMDAsCi0gIDB4MTAwMGZmYWEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMDAwOGUsCi0gIDB4MjUwODAwMDgsCi0gIDB4MjU0YTAwMDgsCi0gIDB4MzE0MjAwN2YsCi0gIDB4MTQ0MDAwMGUsCi0gIDB4MDAwNDE3ODAsCi0gIDB4MDQ0MTAwMDMsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MTAwMDAwMDYsCi0gIDB4MzQ4NDAwMDEsCi0gIDB4MzQ4NDAwMDIsCi0gIDB4MjQ0MjAwMDgsCi0gIDB4MzQ0MjEwMDAsCi0gIDB4Mzg0MjEwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4MzU0YTAxMDAsCi0gIDB4Mzk0YTAxMDAsCi0gIDB4Mzk0MjAwODAsCi0gIDB4YWY4MjBmZTQsCi0gIDB4MTEwMDAwMDMsCi0gIDB4OGQ0YjAwMDAsCi0gIDB4MTAwMGZmOTMsCi0gIDB4MjUwOGZmZjgsCi0gIDB4OGY4MjBmZDgsCi0gIDB4OGY4MzBmZGMsCi0gIDB4OGY4MTBmZDQsCi0gIDB4MTA2MjAwMWQsCi0gIDB4MjQ2MjAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4YzRjMDAsCi0gIDB4ODQ3ZjAwMDAsCi0gIDB4M2MxZTAwZDEsCi0gIDB4MzNmZDAzZmYsCi0gIDB4MDAxZDU5ODAsCi0gIDB4MDE3ZTU4MjEsCi0gIDB4ODU3ZTAwMDgsCi0gIDB4MDAxZGU5MDAsCi0gIDB4MDAxZTBmMDAsCi0gIDB4MDNlMWY4MjUsCi0gIDB4MDdlMDAwMDMsCi0gIDB4YWY4MjBmZGMsCi0gIDB4ODc5ZTBjYTAsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4MDdjMTAwNDIsCi0gIDB4M2MwMjA4NDAsCi0gIDB4M2MwMWY3YjAsCi0gIDB4OGQ2MjAwMjAsCi0gIDB4MDAyMzA4MjYsCi0gIDB4YWMyMjAwMDAsCi0gIDB4OGM2MjAwMDQsCi0gIDB4OTQ2MzAwMDIsCi0gIDB4MjQ0MmZmZjgsCi0gIDB4MDA0MzEwMjEsCi0gIDB4MTAwMDAwNGUsCi0gIDB4YWQ2MjAwMjAsCi0gIDB4OGY4MjBmZDAsCi0gIDB4ODc4MzBjYTAsCi0gIDB4MTQyMjAwMDcsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4NDEwMDAwNTEsCi0gIDB4M2MwMTgwMDAsCi0gIDB4YWNhMTAwZTAsCi0gIDB4OGNhMTAwYzQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAyMjAwNGMsCi0gIDB4MDAyMmU4MjMsCi0gIDB4OGY5ZjBmMGMsCi0gIDB4MDdhMTAwMDIsCi0gIDB4YWY4MTBmZDQsCi0gIDB4MDNlMmU4MjMsCi0gIDB4MmZhMzAwNDEsCi0gIDB4MTQ2MDAwMDIsCi0gIDB4M2MxZTAwNDAsCi0gIDB4MjQxZDAwNDAsCi0gIDB4MDAxZDFlODAsCi0gIDB4MDAwMzE4ODIsCi0gIDB4MDA3ZTE4MjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4YzRjMDAsCi0gIDB4YWM2MjRjYzAsCi0gIDB4MDA1ZDEwMjEsCi0gIDB4MTQ1ZjAwMDIsCi0gIDB4Mjc4MzBjYzAsCi0gIDB4OGY4MjBmMDgsCi0gIDB4MDNhM2YwMjEsCi0gIDB4YWY4MjBmZDAsCi0gIDB4YWY5ZTBmZDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmYzMsCi0gIDB4MjQ2MjAwMDgsCi0gIDB4OGQ2MzAwMGMsCi0gIDB4OGQ3ZDAwMTAsCi0gIDB4YTU2MzAwMGEsCi0gIDB4MTNhMDAwMDIsCi0gIDB4MDAwMzFjMDIsCi0gIDB4YTdhMDAwMDAsCi0gIDB4MDAwMzE4YzAsCi0gIDB4MDQxMTAwZWYsCi0gIDB4MDA2ODE4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBjNDQsCi0gIDB4OGY4MzBjNDAsCi0gIDB4YWQ2MjAwMTAsCi0gIDB4YTU2MzAwMDQsCi0gIDB4YTU2MzAwMDYsCi0gIDB4MTAwMDAwMjEsCi0gIDB4YWY4YzRjMDAsCi0gIDB4YTU3ZDAwMDAsCi0gIDB4OGM3ZDAwMDQsCi0gIDB4OTQ2MzAwMDIsCi0gIDB4YWM1ZDRjNDAsCi0gIDB4MjdhMjAwMDgsCi0gIDB4YWQ2MjAwMTgsCi0gIDB4MDNhM2U4MjEsCi0gIDB4MjdiZGZmZjQsCi0gIDB4YWQ3ZDAwMWMsCi0gIDB4MjdiZDAwMDQsCi0gIDB4YWQ3ZDAwMjAsCi0gIDB4MzdjMTgwMDEsCi0gIDB4MDAxZTE3YzAsCi0gIDB4MDQ0MWZmZTAsCi0gIDB4YTU2MTAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBjNDQsCi0gIDB4OGY4MzBjNDAsCi0gIDB4YWQ2MjAwMTAsCi0gIDB4YTU2MzAwMDQsCi0gIDB4YTU2MzAwMDYsCi0gIDB4OGY4MjBmZDgsCi0gIDB4OGY4MzBmZGMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTQ2MmZmOTUsCi0gIDB4MjQ2MjAwMDgsCi0gIDB4YWY4YzRjMDAsCi0gIDB4ODc4MzBjYTAsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4MDQ2MWZlOTcsCi0gIDB4MDAwNDE3MDAsCi0gIDB4MDQ0MDAwMDUsCi0gIDB4OTU2MjAwMDAsCi0gIDB4MTE3ODAwMDYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWYwZTAwMTAsCi0gIDB4YTcwZDAwMDQsCi0gIDB4MzA4NGZmZjcsCi0gIDB4OTU2ZDAwMDQsCi0gIDB4OGQ2ZTAwMTAsCi0gIDB4MjVhZGZmZDAsCi0gIDB4MDVhMWZlOGYsCi0gIDB4YWQyMjAwMGMsCi0gIDB4M2MwY2ZmYjAsCi0gIDB4MDE4OTYwMjYsCi0gIDB4MDAwZDE4MjIsCi0gIDB4MjVhZDAwMzAsCi0gIDB4OGQ3ZTAwMTgsCi0gIDB4OGQ2MTAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAzZTAwMzYsCi0gIDB4OGY5ZDRjMDAsCi0gIDB4M2MwMTA4NDAsCi0gIDB4YWMzZTRjNDAsCi0gIDB4MjdkZTAwMDgsCi0gIDB4MTFhMDAwMTcsCi0gIDB4YWQ3ZTAwMTgsCi0gIDB4MDAwZGY2MDAsCi0gIDB4MDE5ZTYwMjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWQ4ZTQwMTAsCi0gIDB4OGY4ZDBjNDAsCi0gIDB4OTU3ZTAwMDYsCi0gIDB4OGY4ZTBjNDQsCi0gIDB4MDNjZGYwMjEsCi0gIDB4YTU3ZTAwMDYsCi0gIDB4MDAwY2Y3ODIsCi0gIDB4MDAwYzBlMDIsCi0gIDB4MDNjMWYwMjEsCi0gIDB4MDAxZTBmODAsCi0gIDB4MDAwYzYyMDAsCi0gIDB4MDAwYzYyMDIsCi0gIDB4MDE4MTYwMjUsCi0gIDB4MzNkZTAwM2MsCi0gIDB4MDE5ZTYwMjEsCi0gIDB4MzQwMTAwMDEsCi0gIDB4MTAwMDAwMDgsCi0gIDB4YTUyMTAwMDAsCi0gIDB4OTU3ZTAwMDYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4ZDBjNDAsCi0gIDB4OGY4ZTBjNDQsCi0gIDB4MDNjZGYwMjEsCi0gIDB4YTU3ZTAwMDYsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDFhM2YwMmIsCi0gIDB4MTdjMDAwMDgsCi0gIDB4MDAwM2Y2MDAsCi0gIDB4MDFhMzY4MjMsCi0gIDB4MDE5ZTYwMjUsCi0gIDB4MDE4OTYwMjYsCi0gIDB4NGQwMWZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZlNTgsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4OGQ3ZTAwMTgsCi0gIDB4OGQ2MTAwMWMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTQzZWZmY2UsCi0gIDB4MDA2ZDE4MjMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MmM2MTAwMDgsCi0gIDB4MTAyMDAwMTcsCi0gIDB4OTU2MTAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMWZmODAsCi0gIDB4MDdlMDAwMGIsCi0gIDB4MzQyMTAwMDIsCi0gIDB4MDA2ZDE4MjEsCi0gIDB4MDAwMzFlMDAsCi0gIDB4MDE4MzYwMjUsCi0gIDB4MDE4OTYwMjYsCi0gIDB4MjQwZDAwMmMsCi0gIDB4YTU2MTAwMDgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZlNDAsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4M2MxZjBjNDAsCi0gIDB4YWZmZTRmYTgsCi0gIDB4MzAyMWZmZmQsCi0gIDB4YTU2MTAwMDgsCi0gIDB4M2MwY2QzY2YsCi0gIDB4MzU4Y2UwMDAsCi0gIDB4MTAwMDAwMDgsCi0gIDB4MzQwMzAwMDIsCi0gIDB4M2MxZjBjNDAsCi0gIDB4YWZmZTRmYTgsCi0gIDB4MTFhMGZmZjksCi0gIDB4MDAwZGY2MDAsCi0gIDB4MzQwMzAwMDMsCi0gIDB4MDE5ZTYwMjUsCi0gIDB4MDE4OTYwMjYsCi0gIDB4MzQ4NDAwMDgsCi0gIDB4MzQ0MjAwMDIsCi0gIDB4YWQyMjAwMGMsCi0gIDB4OTU2MjAwMDYsCi0gIDB4YTUyMzAwMDAsCi0gIDB4YWQyMjAwMzgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODU3ZTAwMDgsCi0gIDB4OGY4MjBmYTgsCi0gIDB4OTc4MzBmYWMsCi0gIDB4YWQyMjAwMDQsCi0gIDB4MzNjMTdmZmYsCi0gIDB4YWQ2MDAwMTAsCi0gIDB4YTU2MTAwMDgsCi0gIDB4MTA2MGZlMjAsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4YTU3ZTAwMDgsCi0gIDB4MDAwMzE5MDAsCi0gIDB4MzA2MzNmZjAsCi0gIDB4YTU2MzAwMDAsCi0gIDB4OGY4MjBmYjAsCi0gIDB4M2MwMzA4NDAsCi0gIDB4YWM2MjRjNDAsCi0gIDB4MjQ0MzAwMDgsCi0gIDB4YWQ2MzAwMTgsCi0gIDB4OTc4MzBmYWUsCi0gIDB4MjQ0MmZmZjQsCi0gIDB4MDA2MjE4MjEsCi0gIDB4YWQ2MzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4ZDBjNDAsCi0gIDB4OGY4MzBjNDQsCi0gIDB4YTU2ZDAwMDQsCi0gIDB4YTU2ZDAwMDYsCi0gIDB4YWQ2MzAwMTAsCi0gIDB4MTAwMGZlMGEsCi0gIDB4YWY5ZDRjMDAsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MDAwNDBmYzAsCi0gIDB4OGM0MzAwMDAsCi0gIDB4MDQyMTAwMWIsCi0gIDB4OGY5ZjBmZTQsCi0gIDB4OGM1ZDAwMDQsCi0gIDB4YWM0MDAwMDQsCi0gIDB4MTA2MDAwMGUsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OTQ2MjAwMjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA1ZjEwMjAsCi0gIDB4OGM0MTAwMDQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAyMDAwMDMsCi0gIDB4YWM0MzAwMDQsCi0gIDB4MTAwMDAwMDIsCi0gIDB4YWMyMzAwMjQsCi0gIDB4YWM0MzAwMDAsCi0gIDB4MTdhM2ZmZjQsCi0gIDB4OGM2MzAwMjQsCi0gIDB4OGY4MjBmZTAsCi0gIDB4M2JmZjAwODAsCi0gIDB4MjQ0MjAwMDgsCi0gIDB4MzQ0MjEwMDAsCi0gIDB4Mzg0MjEwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4YWY5ZjBmZTQsCi0gIDB4MTAwMGZlNTcsCi0gIDB4MzA4NGZmZmUsCi0gIDB4MTA2MDAwMTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OTQ3ZDAwMjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDNiZmU4MjAsCi0gIDB4OGZhMTAwMDQsCi0gIDB4YWZhMzAwMDQsCi0gIDB4MTAyMDAwMDMsCi0gIDB4OGM1ZTAwMDQsCi0gIDB4MTAwMDAwMDIsCi0gIDB4YWMyMzAwMjQsCi0gIDB4YWZhMzAwMDAsCi0gIDB4OGM2MTAwMjQsCi0gIDB4MTdjM2ZlNDgsCi0gIDB4YWM0MTAwMDAsCi0gIDB4YWM0MDAwMDQsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MTAwMGZlNDQsCi0gIDB4MzA4NGZmZmQsCi0gIDB4MmM2MjAxMDAsCi0gIDB4MTQ0MDAwMGUsCi0gIDB4MDA2YTEwMjEsCi0gIDB4MzE0MzAwN2YsCi0gIDB4MDE0MzE4MjMsCi0gIDB4MDA0MzE4MjMsCi0gIDB4MzA2MjAwN2YsCi0gIDB4YTU2MjAwMjgsCi0gIDB4MDA2MjE4MjMsCi0gIDB4MDAwMzE5MDIsCi0gIDB4OGY4MjBmZTAsCi0gIDB4MjQ2M2ZmZjgsCi0gIDB4MDA2MjE4MjEsCi0gIDB4MzQ2MzEwMDAsCi0gIDB4MTAwMDAwMDMsCi0gIDB4Mzg2MzEwMDAsCi0gIDB4MzQ0MzAxMDAsCi0gIDB4Mzg2MzAxMDAsCi0gIDB4OGM2MjAwMDQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTA0MDAwMDMsCi0gIDB4YWM2YjAwMDQsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWM0YjAwMjQsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWM2YjAwMDAsCi0gIDB4MDAwMDAwMDIsCi0gIDB4YTBkMGUwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDEwMDAsCi0gIDB4MDAwMDAwMDYsCi0gIDB4MDAwMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDgsCi0gIDB4MDAwMDAwMDIsCi0gIDB4YTBkMGQ2NDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDA4ODgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQzMTMyMDAsCi0gIDB4MjQzMTMyMDAsCi0gIDB4MjQzMTMyMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQ0ZDQzNTIsCi0gIDB4MjQyMDQzNmYsCi0gIDB4NzA3OTcyNjksCi0gIDB4Njc2ODc0MjAsCi0gIDB4Mjg2MzI5MjAsCi0gIDB4NGQ2MTY0NjcsCi0gIDB4NjUyMDRlNjUsCi0gIDB4NzQ3NzZmNzIsCi0gIDB4NmI3MzIwNGMsCi0gIDB4NzQ2NDIwMzEsCi0gIDB4MzkzOTM1MmUsCi0gIDB4MjA0MTZjNmMsCi0gIDB4MjA3MjY5NjcsCi0gIDB4Njg3NDczMjAsCi0gIDB4NzI2NTczNjUsCi0gIDB4NzI3NjY1NjQsCi0gIDB4MmUwMDRkNjEsCi0gIDB4NjQ2NzY1MjAsCi0gIDB4NDE2ZDYyNjEsCi0gIDB4NzM3MzYxNjQsCi0gIDB4NmY3MjIwNzYsCi0gIDB4MzEyZTMwMzEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDEsCi0gIDB4MDAwMDAwMDEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ZmZmMDQwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MGMzNDNlMmQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MxY2EwZDEsCi0gIDB4Mjc5YzU2MzgsCi0gIDB4M2MxZGEwZDEsCi0gIDB4MjdiZGRmZDAsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGRmZDAsCi0gIDB4YWY4NzgwMDgsCi0gIDB4MGMzNDNjMTMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQwNDAwMDMsCi0gIDB4MDA5NzAwMGQsCi0gIDB4M2MwOGJmYzAsCi0gIDB4MzUwODAyMzAsCi0gIDB4OGQwODAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDEwMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjdiZGZmZDAsCi0gIDB4YWZiZjAwMWMsCi0gIDB4YWZiMTAwMTgsCi0gIDB4YWZiMDAwMTQsCi0gIDB4M2MxMWZmZjAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4M2MxODAwNTYsCi0gIDB4MzcxODNiNzksCi0gIDB4MjYxOTAyMDAsCi0gIDB4MTcyMDAwMDIsCi0gIDB4MDMxOTAwMWEsCi0gIDB4MDAwNzAwMGQsCi0gIDB4MjQwMWZmZmYsCi0gIDB4MTcyMTAwMDUsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMTgwMDAsCi0gIDB4MTcwMTAwMDIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwNjAwMGQsCi0gIDB4MDAwMDEwMTIsCi0gIDB4MDAxMDE4NDAsCi0gIDB4M2MwNWEwZDEsCi0gIDB4MjRhNWQ2Y2MsCi0gIDB4MDBhMzIwMjEsCi0gIDB4YTQ4MjAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAyMDAsCi0gIDB4MTQyMGZmZWEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwNmEwZDEsCi0gIDB4MjRjNmY5ZTQsCi0gIDB4M2MwN2EwZDEsCi0gIDB4MjRlN2Q2NDgsCi0gIDB4YWNlNjAwMDAsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGZiMTQsCi0gIDB4YWNlODAwMDQsCi0gIDB4M2MwOWEwZDEsCi0gIDB4MjUyOWZjOTQsCi0gIDB4YWNlOTAwMDgsCi0gIDB4M2MwYWEwZDEsCi0gIDB4MjU0YWZjZDQsCi0gIDB4YWNlYTAwMGMsCi0gIDB4M2MwYmEwZDEsCi0gIDB4MjU2YmZiYTgsCi0gIDB4YWNlYjAwMTAsCi0gIDB4M2MwY2EwZDEsCi0gIDB4MjU4Y2ZiYzQsCi0gIDB4YWNlYzAwMTQsCi0gIDB4M2MwZGEwZDEsCi0gIDB4MjVhZGZiZTAsCi0gIDB4YWNlZDAwMTgsCi0gIDB4M2MwZWEwZDEsCi0gIDB4MjVjZWZiZmMsCi0gIDB4YWNlZTAwMWMsCi0gIDB4M2MwZmEwZDEsCi0gIDB4MjVlZmZjMTgsCi0gIDB4YWNlZjAwMjAsCi0gIDB4M2MxOGEwZDEsCi0gIDB4MjcxOGZjMzQsCi0gIDB4YWNmODAwMjQsCi0gIDB4M2MxOWEwZDEsCi0gIDB4MjczOWZjNTAsCi0gIDB4YWNmOTAwMjgsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmZjNjAsCi0gIDB4YWNlMjAwMmMsCi0gIDB4M2MwM2EwZDEsCi0gIDB4MjQ2M2ZjNzAsCi0gIDB4YWNlMzAwMzAsCi0gIDB4M2MwNGEwZDEsCi0gIDB4MjQ4NGZjODAsCi0gIDB4YWNlNDAwMzQsCi0gIDB4M2MwNWEwZDEsCi0gIDB4MjRhNWZjYjQsCi0gIDB4YWNlNTAwMzgsCi0gIDB4M2MwNmEwZDEsCi0gIDB4MjRjNmZlMDgsCi0gIDB4YWNlNjAwM2MsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGZlOTAsCi0gIDB4YWNlODAwNDAsCi0gIDB4M2MwOWEwZDEsCi0gIDB4MjUyOWZhMzgsCi0gIDB4YWNlOTAwNDQsCi0gIDB4M2MwYWEwZDEsCi0gIDB4MjU0YWZhNzQsCi0gIDB4YWNlYTAwNDgsCi0gIDB4MjQxMDAwMTMsCi0gIDB4M2MwYmEwZDEsCi0gIDB4MjU2YmY5ZDgsCi0gIDB4MDAxMDYwODAsCi0gIDB4M2MwZWEwZDEsCi0gIDB4MjVjZWQ2NDgsCi0gIDB4MDFjYzY4MjEsCi0gIDB4YWRhYjAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMjAsCi0gIDB4MTQyMGZmZjYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5ODgwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWYwMDAxMDAsCi0gIDB4OGY4MjgwMDAsCi0gIDB4MjQxOTAzZmYsCi0gIDB4YTQ1OTAyMDIsCi0gIDB4MDAwMDgwMjEsCi0gIDB4OGY4NjgwMDAsCi0gIDB4MjQwMzBmZmYsCi0gIDB4MDAxMDIwNDAsCi0gIDB4MjRjNzAzODAsCi0gIDB4MDBlNDI4MjEsCi0gIDB4YTRhMzAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDgsCi0gIDB4MTQyMGZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4OTgwMDAsCi0gIDB4MzQwODljNDAsCi0gIDB4YWQyODAzYTAsCi0gIDB4OGY4YjgwMDAsCi0gIDB4M2MwYTAwZmYsCi0gIDB4MzU0YWZmZmYsCi0gIDB4YWQ2YTAzYTQsCi0gIDB4MDAwMDgwMjEsCi0gIDB4OGY4ZjgwMDAsCi0gIDB4MjQwYzBmZmYsCi0gIDB4MDAxMDY4NDAsCi0gIDB4MjVmODAzMDAsCi0gIDB4MDMwZDcwMjEsCi0gIDB4YTVjYzAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDgsCi0gIDB4MTQyMGZmZjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjgwMDAsCi0gIDB4MzQxOTljNDAsCi0gIDB4YWM1OTAzMjAsCi0gIDB4OGY4NDgwMDAsCi0gIDB4M2MwMzAwZmYsCi0gIDB4MzQ2M2ZmZmYsCi0gIDB4YWM4MzAzMjQsCi0gIDB4OGY4NjgwMDAsCi0gIDB4MjQwNTAyZmYsCi0gIDB4YTRjNTAyMDIsCi0gIDB4M2MwOGEwYzAsCi0gIDB4MzUwODAxODAsCi0gIDB4M2MwOWEwZDEsCi0gIDB4MjUyOWQ1YjgsCi0gIDB4MjUwYTAwMjgsCi0gIDB4OGQwYjAwMDAsCi0gIDB4OGQwYzAwMDQsCi0gIDB4YWQyYjAwMDAsCi0gIDB4YWQyYzAwMDQsCi0gIDB4MjUwODAwMDgsCi0gIDB4MTUwYWZmZmEsCi0gIDB4MjUyOTAwMDgsCi0gIDB4NDAwMjYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMjgsCi0gIDB4MjQwMzAwMjIsCi0gIDB4M2MwNGEwZTAsCi0gIDB4MzQ4NDAwMTQsCi0gIDB4YWM4MzAwMDAsCi0gIDB4OGZhNTAwMjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzRhNjEwMDEsCi0gIDB4MDBjMDEwMjEsCi0gIDB4YWZhNjAwMjgsCi0gIDB4M2MwN2ZmYmYsCi0gIDB4MzRlN2ZmZmYsCi0gIDB4MDBjNzM4MjQsCi0gIDB4MDBlMDEwMjEsCi0gIDB4YWZhNzAwMjgsCi0gIDB4NDA4NzYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwODAwMDIsCi0gIDB4MzUwOGQ4OTAsCi0gIDB4M2MwOWZmZmUsCi0gIDB4MzUyOTAxMzAsCi0gIDB4YWQyODAwMDAsCi0gIDB4OGZhYTAwMjgsCi0gIDB4M2MwYmYwMDAsCi0gIDB4MDE0YjU4MjUsCi0gIDB4MDE2MDEwMjEsCi0gIDB4YWZhYjAwMjgsCi0gIDB4MDE2MDYwMjEsCi0gIDB4NDA4YzYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4MDAxMDcwODAsCi0gIDB4MDIyZTc4MjEsCi0gIDB4YWRlMDAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTA0MDAsCi0gIDB4MTQyMGZmZmEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQxODAwMDEsCi0gIDB4M2MxOWEwZTgsCi0gIDB4YWYzODAwMDAsCi0gIDB4MjQwMjAwMTEsCi0gIDB4M2MwM2EwZjAsCi0gIDB4MzQ2MzAwMTcsCi0gIDB4YTA2MjAwMDAsCi0gIDB4M2MwNGYwZWIsCi0gIDB4MzQ4NDAwNzAsCi0gIDB4M2MwNWZmZjAsCi0gIDB4MzRhNTRhMDAsCi0gIDB4YWNhNDAwMDAsCi0gIDB4M2MwNmZjZWIsCi0gIDB4MzRjNjAwNzAsCi0gIDB4YWNhNjAwMDAsCi0gIDB4M2MwN2ZmZjAsCi0gIDB4MzRlNzQ3MDAsCi0gIDB4YWNlMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4M2MwOGZmZjAsCi0gIDB4MzUwODBmYzAsCi0gIDB4M2MwOWZmZjAsCi0gIDB4MzUyOTQ1MDAsCi0gIDB4YWQyODAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDQsCi0gIDB4MTQyMGZmZjgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4M2MwYWRlYWQsCi0gIDB4MDAxMDU5ODAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyYTAwM2MsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyMDAwMzAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyMDAwMzgsCi0gIDB4MjQwZGZmZmYsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyZDAwMTQsCi0gIDB4MDAxMDcxMDAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YTQyZTAwMDAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YTQyMDAwMDQsCi0gIDB4MjQxODAwMjAsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YTQzODAwMDgsCi0gIDB4M2MwMTAwZDEsCi0gIDB4MDAyYjA4MjEsCi0gIDB4YWMyMDAwMTAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTA0MDAsCi0gIDB4MTQyMGZmZTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDgwMjEsCi0gIDB4MDAxMDE4YzAsCi0gIDB4M2MwNWEwZDEsCi0gIDB4MjRhNWUwMDAsCi0gIDB4MDBhMzIwMjEsCi0gIDB4YWM4MDAwMDAsCi0gIDB4M2MwN2EwZDEsCi0gIDB4MjRlN2UwMDAsCi0gIDB4MjRlODAwMDQsCi0gIDB4MDEwMzMwMjEsCi0gIDB4YWNjMDAwMDAsCi0gIDB4MjYxMDAwMDEsCi0gIDB4MmEwMTAwMDksCi0gIDB4MTQyMGZmZjMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQwOTAzODAsCi0gIDB4M2MwYWZmZjAsCi0gIDB4MzU0YTRkMDAsCi0gIDB4YWQ0OTAwMDAsCi0gIDB4M2MwY2EwODAsCi0gIDB4MzU4YzAwOWMsCi0gIDB4YWQ4MDAwMDAsCi0gIDB4M2MwZGEwODAsCi0gIDB4MzVhZDAwYTAsCi0gIDB4YWRhMDAwMDAsCi0gIDB4M2MwZTExMDAsCi0gIDB4M2MwZmEwODAsCi0gIDB4MzVlZjAwYTgsCi0gIDB4YWRlZTAwMDAsCi0gIDB4NDEwMTAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NDEwMGZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MxOGEwODAsCi0gIDB4MzcxODAwZTAsCi0gIDB4OGYxOTAwMDAsCi0gIDB4M2MwMWEwZDEsCi0gIDB4YWMzOWQ2YzgsCi0gIDB4MGMzNDNkNDMsCi0gIDB4MDMyMDIwMjEsCi0gIDB4OGZiMDAwMTQsCi0gIDB4OGZiZjAwMWMsCi0gIDB4OGZiMTAwMTgsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MjdiZDAwMzAsCi0gIDB4MDA4MGI4MjEsCi0gIDB4M2MxY2ZmZjAsCi0gIDB4YTM4MDBjODQsCi0gIDB4YTM4MDBjODgsCi0gIDB4OGY5MDQ0MDAsCi0gIDB4MDAwMDIwMjEsCi0gIDB4YWY4MDBjYmMsCi0gIDB4MjQwMjAwYTgsCi0gIDB4Mjc4MzBmMDAsCi0gIDB4MmM1ZDAwNDAsCi0gIDB4MTdhMDAwMGMsCi0gIDB4M2MxZGZmYjAsCi0gIDB4MDNhM2U4MjYsCi0gIDB4YWZiNzQwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQ0MmZmYzAsCi0gIDB4MjQ2MzAwNDAsCi0gIDB4MTAwMGZmZjMsCi0gIDB4MjZmNzAwNDAsCi0gIDB4MTA0MDAwMGQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMmVlMDAsCi0gIDB4M2MwMTAwNDAsCi0gIDB4MDNhMWU4MjUsCi0gIDB4M2MwMWZmZjAsCi0gIDB4MDNhMWU4MjYsCi0gIDB4MDNhM2U4MjYsCi0gIDB4YWZiNzQwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwNWEwODAsCi0gIDB4OGY4MjBmMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmZDQsCi0gIDB4YWY4MjBmZDAsCi0gIDB4YWNhMjAwYzQsCi0gIDB4OGY4MjBmMTAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMjFkODIsCi0gIDB4YWY4MzBmYzAsCi0gIDB4MDAwMzFkODAsCi0gIDB4MDA0MzEwMjMsCi0gIDB4M2MwMWEwODAsCi0gIDB4MDA0MTEwMjUsCi0gIDB4YWY4MjBmYzQsCi0gIDB4YWY4MjBmMTAsCi0gIDB4OGY4MjBmMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA0MzEwMjMsCi0gIDB4M2MwMWEwODAsCi0gIDB4MDA0MTEwMjUsCi0gIDB4YWY4MjBmMTQsCi0gIDB4MjQwMzAwMDMsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MjRiZTAwYzgsCi0gIDB4Mjc4MTBkMDAsCi0gIDB4OGZhMjAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMTAsCi0gIDB4YWZjMjAwMDAsCi0gIDB4YWZhMTAwMDgsCi0gIDB4YWZhMTAwMGMsCi0gIDB4OGZhMjAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMWMsCi0gIDB4MjdiZDAwMjQsCi0gIDB4MjdkZTAwMDQsCi0gIDB4MjQyMTAwNDAsCi0gIDB4MTQ2MGZmZjMsCi0gIDB4MjQ2M2ZmZmYsCi0gIDB4OGY4MjBmMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmYzgsCi0gIDB4YWNhMjAwYzAsCi0gIDB4Mjc4MjA4MDAsCi0gIDB4MjQwMzAwMGYsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4MTQ2MGZmZmQsCi0gIDB4MjQ2M2ZmZmYsCi0gIDB4OGY4MzBmYzAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MzRkMDAsCi0gIDB4OGY4MzRkMDAsCi0gIDB4OGY4MzBmMTQsCi0gIDB4OGY4MjBmMTAsCi0gIDB4MjQ2M2ZmZmMsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MTQ0M2ZmZmUsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4MjQwMjAzODAsCi0gIDB4YWY4MjRkMDAsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MjdhMTAwOTAsCi0gIDB4OGZhMjAwMTQsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA2MjE4MjMsCi0gIDB4MmM3ZjAwNDAsCi0gIDB4MTdlMDAwMDksCi0gIDB4M2MxZjAwNDAsCi0gIDB4MzdmZjA4MDAsCi0gIDB4MDNhMGYwMjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZlMjAwMDAsCi0gIDB4MjQ0MjAwNDAsCi0gIDB4MTAwMGZmZjYsCi0gIDB4MjQ2M2ZmYzAsCi0gIDB4MTA2MDAwMDYsCi0gIDB4MzdmZjA4MDAsCi0gIDB4MDAwMzFlMDAsCi0gIDB4MDNlM2Y4MjUsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZlMjAwMDAsCi0gIDB4MjdiZDAwMjQsCi0gIDB4MTdhMWZmZTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDM4MjEsCi0gIDB4OGZjMjAwMTQsCi0gIDB4OGZjMzAwMTgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDA2MjE4MjMsCi0gIDB4MmM3ZjAwNDAsCi0gIDB4MTNlMDAwMDQsCi0gIDB4M2MxZjAwNDAsCi0gIDB4MDAwMzBlMDAsCi0gIDB4MTAwMDAwMDIsCi0gIDB4MDNlMWY4MjUsCi0gIDB4MjQwMzAwNDAsCi0gIDB4MzdmZjA4MDAsCi0gIDB4MjQxZTAzZTcsCi0gIDB4MDAwMDA4MjEsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZlMjAwMDAsCi0gIDB4MDAyMzA4MjEsCi0gIDB4NDkwMGZmZmIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODc4MDQwMDIsCi0gIDB4MTdjMGZmZjgsCi0gIDB4MjdkZWZmZmYsCi0gIDB4MTRlMDAwMDQsCi0gIDB4MzRlNzQwMDAsCi0gIDB4MDNlN2Y4MjUsCi0gIDB4MTAwMGZmZjAsCi0gIDB4YWY4MTBjNjAsCi0gIDB4YWY4MTBjNWMsCi0gIDB4M2MwMWEwZDEsCi0gIDB4OGMyMmQ2YzgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMWEwODAsCi0gIDB4YWMyMjAwZTAsCi0gIDB4M2MwMWEwODAsCi0gIDB4OGMyMDAwZTAsCi0gIDB4YWY4MDBmYjQsCi0gIDB4YTc4MDBmYjgsCi0gIDB4YTc4MDBmYmEsCi0gIDB4YTc4MDBmYmMsCi0gIDB4YTc4MDBmYmUsCi0gIDB4Mjc4MjBjYzAsCi0gIDB4YWY4MjBmZGMsCi0gIDB4YWY4MjBmZDgsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmRhY2MsCi0gIDB4YWY4MjBjNGMsCi0gIDB4YWY4MjBjNTAsCi0gIDB4MjQ0MjA0MDAsCi0gIDB4YWY4MjBjNTQsCi0gIDB4MjQwMjAwMWUsCi0gIDB4M2MwM2ZmZjAsCi0gIDB4MjQ3ZDAwNDAsCi0gIDB4YWM3ZDAwMDgsCi0gIDB4MDNhMDE4MjEsCi0gIDB4MTQ0MGZmZmMsCi0gIDB4MjQ0MmZmZmYsCi0gIDB4M2MxZGZmZjAsCi0gIDB4YWM3ZDAwMDgsCi0gIDB4M2MwMmM3MDQsCi0gIDB4MzQ0MmRkN2IsCi0gIDB4YWY4MjBjNTgsCi0gIDB4M2MwNzAwMDAsCi0gIDB4MjRlNzAxNTgsCi0gIDB4MDgzNDNmYTksCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGU2MjAwMzgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTQ0MDAwMDUsCi0gIDB4OGY4MzBjOTQsCi0gIDB4MTJhMDAwMjIsCi0gIDB4MjQ2MzAwMDEsCi0gIDB4MTAwMDAwMjAsCi0gIDB4YWY4MzBjOTQsCi0gIDB4YWY4MjBmYjQsCi0gIDB4MzI2MmZmYzAsCi0gIDB4MDAwMjExODIsCi0gIDB4ODY2MzAwMmEsCi0gIDB4YTc4MjBmYjgsCi0gIDB4M2MwMmEwMDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4YTc4MzBmYmEsCi0gIDB4ODY3ZTAwMDgsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MzNkZTAwNjAsCi0gIDB4MDNiZWU4MjEsCi0gIDB4MDAxZWYwYzIsCi0gIDB4MDNiZWU4MjEsCi0gIDB4OGZhMjAwMWMsCi0gIDB4M2MwMzBjNDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzRjMDAsCi0gIDB4YWM2MjBmYjQsCi0gIDB4OGZhMzAwMTgsCi0gIDB4MjQ0MjAwMGMsCi0gIDB4MTQ0MzAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGZhMjAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMjAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWNhNTAwZTQsCi0gIDB4YWY5NzRjMDAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4YWU2MDAwM2MsCi0gIDB4M2MwZGEwZDEsCi0gIDB4MjVhZGQ1MDAsCi0gIDB4MTFhMDAwMjEsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGRhOTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTEyMDAwMWQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGRhYTAwMDQsCi0gIDB4OGRhYjAwMDgsCi0gIDB4OGRhYzAwMGMsCi0gIDB4MDAwOTQ3NDAsCi0gIDB4MDUwMTAwMDQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwOGEwZDEsCi0gIDB4MjUwOGQ2MzgsCi0gIDB4MDE0ODUwMjEsCi0gIDB4MDAwOTQ3ODAsCi0gIDB4MDUwMTAwMDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTE4MDAwMGQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWQ0MDAwMDAsCi0gIDB4MjU0YTAwMDQsCi0gIDB4MTAwMGZmZmIsCi0gIDB4MjU4Y2ZmZmMsCi0gIDB4MTE4MDAwMDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGQ2ZTAwMDAsCi0gIDB4MjU2YjAwMDQsCi0gIDB4YWQ0ZTAwMDAsCi0gIDB4MjU0YTAwMDQsCi0gIDB4MTAwMGZmZjksCi0gIDB4MjU4Y2ZmZmMsCi0gIDB4MTAwMGZmZTEsCi0gIDB4MjVhZDAwMTAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMjEwNDAsCi0gIDB4YWM1NzRmZjAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBmZmMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzA0MjAwMWYsCi0gIDB4MDAwMjEwODAsCi0gIDB4M2MxN2EwZDEsCi0gIDB4MDJlMmI4MjEsCi0gIDB4MjZmN2Q2NDgsCi0gIDB4OGVmNzAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDJlMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MjQwMmZmZmYsCi0gIDB4YWY4MjBmZmMsCi0gIDB4OGY5NzBmYzgsCi0gIDB4M2MwMjEwNDAsCi0gIDB4YWM1NzBmZjAsCi0gIDB4OGY4MjBmMDQsCi0gIDB4MjZmNzAwMTAsCi0gIDB4MTZlMjAwMDQsCi0gIDB4YWY5NzBmYzgsCi0gIDB4OGY5NzBmMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY5NzBmYzgsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDNlMDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MxZmEwZDEsCi0gIDB4MjdmZmYwMmMsCi0gIDB4MTAwMGZmZWQsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4MzJmNzAzZmYsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MDJlMmI4MjUsCi0gIDB4YWVlMDAwM2MsCi0gIDB4MjQwMmZmZmYsCi0gIDB4YWVlMjAwMzAsCi0gIDB4YWVlMjAwMTQsCi0gIDB4OTc4MzBmZjQsCi0gIDB4OTc4MjBmZjgsCi0gIDB4M2MxZDAwMDAsCi0gIDB4MjdiZDA2OTgsCi0gIDB4YTZlMzAwMDgsCi0gIDB4YTZlMjAwMDIsCi0gIDB4YWY5ZjBmZTgsCi0gIDB4MDNhMGY4MDksCi0gIDB4YTZlMjAwMmMsCi0gIDB4OGY5ZjBmZTgsCi0gIDB4MTAwMGZmZDksCi0gIDB4YWVlMjAwMGMsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4MzJmNzAzZmYsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MDJlMmI4MjUsCi0gIDB4OTc4MjBmZjQsCi0gIDB4M2MwMzAwMDAsCi0gIDB4MjQ2MzA2OTgsCi0gIDB4YTZlMjAwMDIsCi0gIDB4YWY5ZjBmZTgsCi0gIDB4MDA2MGY4MDksCi0gIDB4YTZlMjAwMmMsCi0gIDB4OGY5ZjBmZTgsCi0gIDB4MTAwMGZmY2EsCi0gIDB4YWVlMjAwMGMsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4MzJmNzAzZmYsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MDJlMmI4MjUsCi0gIDB4OTc4MjBmZjQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OTZlMzAwMDgsCi0gIDB4YTZlMjAwMDgsCi0gIDB4MDA0MzEwMjYsCi0gIDB4MzA0MjAwNjAsCi0gIDB4MTA0MGZmYmQsCi0gIDB4OGVlMjAwM2MsCi0gIDB4YWVlMDAwM2MsCi0gIDB4MTA0MGZmYmEsCi0gIDB4M2MwMjg4MDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4OGVlMjAwMzgsCi0gIDB4YWVlMDAwMzgsCi0gIDB4MzA2MzAwNjAsCi0gIDB4Mjc5ZDBmMTgsCi0gIDB4MDNhM2U4MjEsCi0gIDB4MDAwMzE4YzIsCi0gIDB4MDNhM2U4MjEsCi0gIDB4OGZhMzAwMWMsCi0gIDB4MTA0MGZmYWYsCi0gIDB4YWY4MjBmYjQsCi0gIDB4M2MwMjBjNDAsCi0gIDB4YWM0MzBmYjQsCi0gIDB4OGZhMjAwMTgsCi0gIDB4MjQ2MzAwMGMsCi0gIDB4MTQ0MzAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGZhMzAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWZhMzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmYTIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzBmZjAsCi0gIDB4M2MwMjAwZDEsCi0gIDB4YTc5NzBmYjgsCi0gIDB4MDAxN2I5ODAsCi0gIDB4MzJmN2ZmYzAsCi0gIDB4MDJlMmI4MjEsCi0gIDB4YWVlMDAwMzAsCi0gIDB4M2MwMmRlYWQsCi0gIDB4OGVlMzAwM2MsCi0gIDB4YWVlMjAwM2MsCi0gIDB4OGVlMjAwMzgsCi0gIDB4MTA2MGZmOTUsCi0gIDB4YWVlMDAwMzgsCi0gIDB4M2MwMzg4MDAsCi0gIDB4YWY4MzBmYmMsCi0gIDB4ODZlMzAwMDgsCi0gIDB4Mjc5NzBmMTgsCi0gIDB4MzA2MzAwNjAsCi0gIDB4MDJlM2I4MjEsCi0gIDB4MDAwMzE4YzIsCi0gIDB4MDJlM2I4MjEsCi0gIDB4OGVlMzAwMWMsCi0gIDB4MTA0MGZmOGEsCi0gIDB4YWY4MjBmYjQsCi0gIDB4M2MwMjBjNDAsCi0gIDB4YWM0MzBmYjQsCi0gIDB4OGVlMjAwMTgsCi0gIDB4MjQ2MzAwMGMsCi0gIDB4MTQ0MzAwMDMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGVlMzAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWVlMzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmN2QsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTA0MTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4MTAwMGZmNzYsCi0gIDB4YTA0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTQ0MTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4MTAwMGZmNmYsCi0gIDB4YTQ0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OGM0MTAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4MTAwMGZmNjgsCi0gIDB4YWM0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTA0MTAwMDAsCi0gIDB4MDJlMGI4MjcsCi0gIDB4MDAzNzA4MjQsCi0gIDB4MTAwMGZmNjEsCi0gIDB4YTA0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OTQ0MTAwMDAsCi0gIDB4MDJlMGI4MjcsCi0gIDB4MDAzNzA4MjQsCi0gIDB4MTAwMGZmNWEsCi0gIDB4YTQ0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4OGM0MTAwMDAsCi0gIDB4MDJlMGI4MjcsCi0gIDB4MDAzNzA4MjQsCi0gIDB4MTAwMGZmNTMsCi0gIDB4YWM0MTAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4MTAwMGZmNGYsCi0gIDB4YTA1NzAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4MTAwMGZmNGIsCi0gIDB4YTQ1NzAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4OGY5NzBmZjQsCi0gIDB4MTAwMGZmNDcsCi0gIDB4YWM1NzAwMDAsCi0gIDB4OGY4MjBmZjAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGM0MjAwMDAsCi0gIDB4MTAwMGZmNDIsCi0gIDB4YWY4MjBmZjQsCi0gIDB4M2MwMWEwYzIsCi0gIDB4OGMyMmMwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmZjAsCi0gIDB4M2MwMWEwYzIsCi0gIDB4OGMyMmMwMDQsCi0gIDB4MTAwMGZmM2EsCi0gIDB4YWY4MjBmZjQsCi0gIDB4M2MwMWEwZDEsCi0gIDB4OGMyMmQ1YWMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWY4MjBmZjAsCi0gIDB4M2MwMWEwZDEsCi0gIDB4OGMyMmQ1YjAsCi0gIDB4MTAwMGZmMzIsCi0gIDB4YWY4MjBmZjQsCi0gIDB4M2MwMmEwZjAsCi0gIDB4YWM0MDAwMDAsCi0gIDB4OTA1NzAxNTMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODAsCi0gIDB4OTA1NzAxNTcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODEsCi0gIDB4OTA1NzAxNWIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODcsCi0gIDB4OTA1NzAxNWYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjODYsCi0gIDB4OTA1NzAxNjMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMDcsCi0gIDB4YTM5NzBjODUsCi0gIDB4OTA1NzAxOTMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjOGIsCi0gIDB4OTA1NzAxOTcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YTM5NzBjOGEsCi0gIDB4OTA1NzAxOWIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMDcsCi0gIDB4YTM5NzBjODksCi0gIDB4OTA1NzAwMGIsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwZTAsCi0gIDB4MDAxNzA5NDIsCi0gIDB4OTA1NzAwNDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwNzgsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAwNjcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMGYsCi0gIDB4MDAxN2I5YzAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAwYzcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMmYsCi0gIDB4MDAxN2JhYzAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAxNDcsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwMWUsCi0gIDB4MDAxN2JjMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4OTA1NzAxODMsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzJmNzAwNjAsCi0gIDB4MDAxN2JjMDAsCi0gIDB4MDAzNzA4MjUsCi0gIDB4YWY4MTBjOGMsCi0gIDB4M2MwMjE4NDAsCi0gIDB4OGY5NzBmYzgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY5NzBmZjAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWM1NzBjODAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmY5OTgsCi0gIDB4YWY4MDBjOTAsCi0gIDB4YWY4MDBjOTQsCi0gIDB4MDA0MDAwMDgsCi0gIDB4MDAwMDAwMDAsCi0gIDB4ODc5NzBmZjAsCi0gIDB4M2MxMzAwZDEsCi0gIDB4YTY3NzAwMDgsCi0gIDB4M2MwMzAwMDAsCi0gIDB4MjQ2MzA1MjAsCi0gIDB4YWY5ZjBmZTgsCi0gIDB4MDA2MGY4MDksCi0gIDB4MjQwMjAwMDEsCi0gIDB4OGY5ZjBmZTgsCi0gIDB4MTA0MGZlZGEsCi0gIDB4OTc5NzBmZjAsCi0gIDB4Mjc4MzBmMTgsCi0gIDB4MDA3NzE4MjEsCi0gIDB4MDAxN2I4YzIsCi0gIDB4MDJlM2I4MjEsCi0gIDB4M2MwMjg4MDAsCi0gIDB4YWY4MjBmYmMsCi0gIDB4OGU2MjAwMzgsCi0gIDB4YTc4MDBmYjgsCi0gIDB4YWY4MjBmYjQsCi0gIDB4OGVlMzAwMWMsCi0gIDB4M2MwMjBjNDAsCi0gIDB4YWM0MzBmYjQsCi0gIDB4OGVlMjAwMTgsCi0gIDB4MjQ2MzAwMGMsCi0gIDB4MTQ0MzAwMDQsCi0gIDB4YWVlMzAwMWMsCi0gIDB4OGVlMzAwMTQsCi0gIDB4MDAwMDAwMDAsCi0gIDB4YWVlMzAwMWMsCi0gIDB4NGQwMWZmZmYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MTAwMGZmZGYsCi0gIDB4MDAwMDAwMDAsCi0gIDB4OGY4MjBjNWMsCi0gIDB4OGY4MzBjNjAsCi0gIDB4YWY4MjBmZjAsCi0gIDB4MTAwMGZlYmUsCi0gIDB4YWY4MzBmZjQsCi0gIDB4MjM4OTA4MDAsCi0gIDB4MDEyMDE4MjEsCi0gIDB4MjQwMjAwMGYsCi0gIDB4MjA2YzAwNDAsCi0gIDB4YWM2YzAwMDgsCi0gIDB4MDE4MDE4MjEsCi0gIDB4MTQ0MGZmZmMsCi0gIDB4MjA0MmZmZmYsCi0gIDB4YWM2OTAwMDgsCi0gIDB4Mjc4YjBjOTgsCi0gIDB4YTU2MDAwMDAsCi0gIDB4MjQwM2ZmZmYsCi0gIDB4YWQ2MzAwMTQsCi0gIDB4MzQwMjAwMDEsCi0gIDB4MzQ0MjAwMjAsCi0gIDB4YTU2MjAwMDgsCi0gIDB4Mjc4YTBlMDAsCi0gIDB4MDE0MDEwMjEsCi0gIDB4MDAwMDE4MjEsCi0gIDB4YWM0MDAwMDAsCi0gIDB4MjQ2MzAwMDQsCi0gIDB4MmM2YzAxMDAsCi0gIDB4MTU4MGZmZmMsCi0gIDB4MjQ0MjAwMDQsCi0gIDB4M2MwMmEwZDEsCi0gIDB4MjQ0MmUwMDAsCi0gIDB4YWY4MjBmZTAsCi0gIDB4M2MxODAwZDEsCi0gIDB4MDEyMDYwMjEsCi0gIDB4MDAwMDY4MjEsCi0gIDB4MDAwMDc4MjEsCi0gIDB4MDAwMDU4MjEsCi0gIDB4MDAwMDQwMjEsCi0gIDB4NDAwMjYwMDAsCi0gIDB4MDAwMDAwMDAsCi0gIDB4MzQ0MjQwMDEsCi0gIDB4NDA4MjYwMDAsCi0gIDB4M2MwMjAwMDAsCi0gIDB4MjQ0MjA2ZjgsCi0gIDB4MDA0MDAwMDgsCi0gIDB4MDAwMDAwMDAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0bS9hdG1zYXIxMS5yZWdpb25zIGIvZHJpdmVycy9hdG0vYXRtc2FyMTEucmVnaW9ucwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDIyNTJiNy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2F0bS9hdG1zYXIxMS5yZWdpb25zCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi0vKgotICBTZWUgY29weXJpZ2h0IGFuZCBsaWNlbnNpbmcgY29uZGl0aW9ucyBpbiBhbWJhc3NhZG9yLiogZmlsZXMuCi0qLwotICB7IDB4MDAwMDAwODAsICA5OTMsIH0sCi0gIHsgMHhhMGQwZDUwMCwgICA4MCwgfSwKLSAgeyAweGEwZDBmMDAwLCAgOTc4LCB9LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9hdG0vYXRtc2FyMTEuc3RhcnQgYi9kcml2ZXJzL2F0bS9hdG1zYXIxMS5zdGFydApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJhNTVlNy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2F0bS9hdG1zYXIxMS5zdGFydAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotLyoKLSAgU2VlIGNvcHlyaWdodCBhbmQgbGljZW5zaW5nIGNvbmRpdGlvbnMgaW4gYW1iYXNzYWRvci4qIGZpbGVzLgotKi8KLSAgMHhhMGQwZjAwMApkaWZmIC0tZ2l0IGEvZHJpdmVycy9iYXNlL0tjb25maWcgYi9kcml2ZXJzL2Jhc2UvS2NvbmZpZwppbmRleCBkN2RhMTA5Li5kNDc0ODJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jhc2UvS2NvbmZpZworKysgYi9kcml2ZXJzL2Jhc2UvS2NvbmZpZwpAQCAtMzQsNiArMzQsNzAgQEAKIAkgIHJlcXVpcmUgdXNlcnNwYWNlIGZpcm13YXJlIGxvYWRpbmcgc3VwcG9ydCwgYnV0IGEgbW9kdWxlIGJ1aWx0IG91dHNpZGUKIAkgIHRoZSBrZXJuZWwgdHJlZSBkb2VzLgogCitjb25maWcgRklSTVdBUkVfSU5fS0VSTkVMCisJYm9vbCAiSW5jbHVkZSBpbi1rZXJuZWwgZmlybXdhcmUgYmxvYnMgaW4ga2VybmVsIGJpbmFyeSIKKwlkZXBlbmRzIG9uIEZXX0xPQURFUgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFRoZSBrZXJuZWwgc291cmNlIHRyZWUgaW5jbHVkZXMgYSBudW1iZXIgb2YgZmlybXdhcmUgJ2Jsb2JzJworCSAgd2hpY2ggYXJlIHVzZWQgYnkgdmFyaW91cyBkcml2ZXJzLiBUaGUgcmVjb21tZW5kZWQgd2F5IHRvCisJICB1c2UgdGhlc2UgaXMgdG8gcnVuICJtYWtlIGZpcm13YXJlX2luc3RhbGwiIGFuZCB0byBjb3B5IHRoZQorCSAgcmVzdWx0aW5nIGJpbmFyeSBmaWxlcyBjcmVhdGVkIGluIHVzci9saWIvZmlybXdhcmUgZGlyZWN0b3J5CisJICBvZiB0aGUga2VybmVsIHRyZWUgdG8gdGhlIC9saWIvZmlybXdhcmUgb24geW91ciBzeXN0ZW0gc28KKwkgIHRoYXQgdGhleSBjYW4gYmUgbG9hZGVkIGJ5IHVzZXJzcGFjZSBoZWxwZXJzIG9uIHJlcXVlc3QuCisKKwkgIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgYnVpbGQgZWFjaCByZXF1aXJlZCBmaXJtd2FyZSBibG9iCisJICBpbnRvIHRoZSBrZXJuZWwgZGlyZWN0bHksIHdoZXJlIHJlcXVlc3RfZmlybXdhcmUoKSB3aWxsIGZpbmQKKwkgIHRoZW0gd2l0aG91dCBoYXZpbmcgdG8gY2FsbCBvdXQgdG8gdXNlcnNwYWNlLiBUaGlzIG1heSBiZQorCSAgdXNlZnVsIGlmIHlvdXIgcm9vdCBmaWxlIHN5c3RlbSByZXF1aXJlcyBhIGRldmljZSB3aGljaCB1c2VzCisJICBzdWNoIGZpcm13YXJlLCBhbmQgZG8gbm90IHdpc2ggdG8gdXNlIGFuIGluaXRyZC4KKworCSAgVGhpcyBzaW5nbGUgb3B0aW9uIGNvbnRyb2xzIHRoZSBpbmNsdXNpb24gb2YgZmlybXdhcmUgZm9yCisJICBldmVyeSBkcml2ZXIgd2hpY2ggdXNlZXMgcmVxdWVzdF9maXJtYXJlKCkgYW5kIHNoaXBzIGl0cworCSAgZmlybXdhcmUgaW4gdGhlIGtlcm5lbCBzb3VyY2UgdHJlZSwgdG8gYXZvaWQgYSBwcm9saWZlcmF0aW9uCisJICBvZiAnSW5jbHVkZSBmaXJtd2FyZSBmb3IgeHh4IGRldmljZScgb3B0aW9ucy4KKworCSAgU2F5ICdOJyBhbmQgbGV0IGZpcm13YXJlIGJlIGxvYWRlZCBmcm9tIHVzZXJzcGFjZS4KKworY29uZmlnIEVYVFJBX0ZJUk1XQVJFCisJc3RyaW5nICJFeHRlcm5hbCBmaXJtd2FyZSBibG9icyB0byBidWlsZCBpbnRvIHRoZSBrZXJuZWwgYmluYXJ5IgorCWRlcGVuZHMgb24gRldfTE9BREVSCisJaGVscAorCSAgVGhpcyBvcHRpb24gYWxsb3dzIGZpcm13YXJlIHRvIGJlIGJ1aWx0IGludG8gdGhlIGtlcm5lbCwgZm9yIHRoZQorCSAgY2FzZXMgd2hlcmUgdGhlIHVzZXIgZWl0aGVyIGNhbm5vdCBvciBkb2Vzbid0IHdhbnQgdG8gcHJvdmlkZSBpdCBmcm9tCisJICB1c2Vyc3BhY2UgYXQgcnVudGltZSAoZm9yIGV4YW1wbGUsIHdoZW4gdGhlIGZpcm13YXJlIGluIHF1ZXN0aW9uIGlzCisJICByZXF1aXJlZCBmb3IgYWNjZXNzaW5nIHRoZSBib290IGRldmljZSwgYW5kIHRoZSB1c2VyIGRvZXNuJ3Qgd2FudCB0bworCSAgdXNlIGFuIGluaXRyZCkuCisKKwkgIFRoaXMgb3B0aW9uIGlzIGEgc3RyaW5nLCBhbmQgdGFrZXMgdGhlIChzcGFjZS1zZXBhcmF0ZWQpIG5hbWVzIG9mIHRoZQorCSAgZmlybXdhcmUgZmlsZXMgLS0gdGhlIHNhbWUgbmFtZXMgd2hpY2ggYXBwZWFyIGluIE1PRFVMRV9GSVJNV0FSRSgpCisJICBhbmQgcmVxdWVzdF9maXJtd2FyZSgpIGluIHRoZSBzb3VyY2UuIFRoZXNlIGZpbGVzIHNob3VsZCBleGlzdCB1bmRlcgorCSAgdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnkgdGhlIEVYVFJBX0ZJUk1XQVJFX0RJUiBvcHRpb24sIHdoaWNoIGlzCisJICBieSBkZWZhdWx0IHRoZSBmaXJtd2FyZS8gc3ViZGlyZWN0b3J5IG9mIHRoZSBrZXJuZWwgc291cmNlIHRyZWUuCisKKwkgIFNvLCBmb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHNldCBDT05GSUdfRVhUUkFfRklSTVdBUkU9InVzYjgzODguYmluIiwKKwkgIGNvcHkgdGhlIHVzYjgzODguYmluIGZpbGUgaW50byB0aGUgZmlybXdhcmUvIGRpcmVjdG9yeSwgYW5kIGJ1aWxkIHRoZQorCSAga2VybmVsLiBUaGVuIGFueSByZXF1ZXN0X2Zpcm13YXJlKCJ1c2I4Mzg4LmJpbiIpIHdpbGwgYmUKKwkgIHNhdGlzZmllZCBpbnRlcm5hbGx5IHdpdGhvdXQgbmVlZGluZyB0byBjYWxsIG91dCB0byB1c2Vyc3BhY2UuCisKKwkgIFdBUk5JTkc6IElmIHlvdSBpbmNsdWRlIGFkZGl0aW9uYWwgZmlybXdhcmUgZmlsZXMgaW50byB5b3VyIGJpbmFyeQorCSAga2VybmVsIGltYWdlIHdoaWNoIGFyZSBub3QgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR1BMLAorCSAgdGhlbiBpdCBtYXkgYmUgYSB2aW9sYXRpb24gb2YgdGhlIEdQTCB0byBkaXN0cmlidXRlIHRoZSByZXN1bHRpbmcKKwkgIGltYWdlIC0tIHNpbmNlIGl0IGNvbWJpbmVzIGJvdGggR1BMIGFuZCBub24tR1BMIHdvcmsuIFlvdSBzaG91bGQKKwkgIGNvbnN1bHQgYSBsYXd5ZXIgb2YgeW91ciBvd24gYmVmb3JlIGRpc3RyaWJ1dGluZyBzdWNoIGFuIGltYWdlLgorCitjb25maWcgRVhUUkFfRklSTVdBUkVfRElSCisJc3RyaW5nICJGaXJtd2FyZSBibG9icyByb290IGRpcmVjdG9yeSIKKwlkZXBlbmRzIG9uIEVYVFJBX0ZJUk1XQVJFICE9ICIiCisJZGVmYXVsdCAiZmlybXdhcmUiCisJaGVscAorCSAgVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUga2VybmVsIGJ1aWxkIHN5c3RlbQorCSAgbG9va3MgZm9yIHRoZSBmaXJtd2FyZSBmaWxlcyBsaXN0ZWQgaW4gdGhlIEVYVFJBX0ZJUk1XQVJFIG9wdGlvbi4KKwkgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJtd2FyZS8gZGlyZWN0b3J5IGluIHRoZSBrZXJuZWwgc291cmNlIHRyZWUsCisJICBidXQgYnkgY2hhbmdpbmcgdGhpcyBvcHRpb24geW91IGNhbiBwb2ludCBpdCBlbHNld2hlcmUsIHN1Y2ggYXMKKwkgIHRoZSAvbGliL2Zpcm13YXJlLyBkaXJlY3Rvcnkgb3IgYW5vdGhlciBzZXBhcmF0ZSBkaXJlY3RvcnkKKwkgIGNvbnRhaW5pbmcgZmlybXdhcmUgZmlsZXMuCisKIGNvbmZpZyBERUJVR19EUklWRVIKIAlib29sICJEcml2ZXIgQ29yZSB2ZXJib3NlIGRlYnVnIG1lc3NhZ2VzIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvZmlybXdhcmVfY2xhc3MuYyBiL2RyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5jCmluZGV4IDlmZDRhODUuLmIwYmUxZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5jCisrKyBiL2RyaXZlcnMvYmFzZS9maXJtd2FyZV9jbGFzcy5jCkBAIC00OSw2ICs0OSwxNCBAQAogCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVvdXQ7CiB9OwogCisjaWZkZWYgQ09ORklHX0ZXX0xPQURFUgorZXh0ZXJuIHN0cnVjdCBidWlsdGluX2Z3IF9fc3RhcnRfYnVpbHRpbl9md1tdOworZXh0ZXJuIHN0cnVjdCBidWlsdGluX2Z3IF9fZW5kX2J1aWx0aW5fZndbXTsKKyNlbHNlIC8qIE1vZHVsZSBjYXNlLiBBdm9pZCBpZmRlZnMgbGF0ZXI7IGl0J2xsIGFsbCBvcHRpbWlzZSBvdXQgKi8KK3N0YXRpYyBzdHJ1Y3QgYnVpbHRpbl9mdyAqX19zdGFydF9idWlsdGluX2Z3Oworc3RhdGljIHN0cnVjdCBidWlsdGluX2Z3ICpfX2VuZF9idWlsdGluX2Z3OworI2VuZGlmCisKIHN0YXRpYyB2b2lkCiBmd19sb2FkX2Fib3J0KHN0cnVjdCBmaXJtd2FyZV9wcml2ICpmd19wcml2KQogewpAQCAtMjU3LDcgKzI2NSw3IEBACiAJaWYgKHJldHZhbCkKIAkJZ290byBvdXQ7CiAKLQltZW1jcHkoZnctPmRhdGEgKyBvZmZzZXQsIGJ1ZmZlciwgY291bnQpOworCW1lbWNweSgodTggKilmdy0+ZGF0YSArIG9mZnNldCwgYnVmZmVyLCBjb3VudCk7CiAKIAlmdy0+c2l6ZSA9IG1heF90KHNpemVfdCwgb2Zmc2V0ICsgY291bnQsIGZ3LT5zaXplKTsKIAlyZXR2YWwgPSBjb3VudDsKQEAgLTM5MSwxMyArMzk5LDEyIEBACiAJc3RydWN0IGRldmljZSAqZl9kZXY7CiAJc3RydWN0IGZpcm13YXJlX3ByaXYgKmZ3X3ByaXY7CiAJc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZTsKKwlzdHJ1Y3QgYnVpbHRpbl9mdyAqYnVpbHRpbjsKIAlpbnQgcmV0dmFsOwogCiAJaWYgKCFmaXJtd2FyZV9wKQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCXByaW50ayhLRVJOX0lORk8gImZpcm13YXJlOiByZXF1ZXN0aW5nICVzXG4iLCBuYW1lKTsKLQogCSpmaXJtd2FyZV9wID0gZmlybXdhcmUgPSBremFsbG9jKHNpemVvZigqZmlybXdhcmUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWZpcm13YXJlKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiJXM6IGttYWxsb2Moc3RydWN0IGZpcm13YXJlKSBmYWlsZWRcbiIsCkBAIC00MDYsNiArNDEzLDIwIEBACiAJCWdvdG8gb3V0OwogCX0KIAorCWZvciAoYnVpbHRpbiA9IF9fc3RhcnRfYnVpbHRpbl9mdzsgYnVpbHRpbiAhPSBfX2VuZF9idWlsdGluX2Z3OworCSAgICAgYnVpbHRpbisrKSB7CisJCWlmIChzdHJjbXAobmFtZSwgYnVpbHRpbi0+bmFtZSkpCisJCQljb250aW51ZTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiZmlybXdhcmU6IHVzaW5nIGJ1aWx0LWluIGZpcm13YXJlICVzXG4iLAorCQkgICAgICAgbmFtZSk7CisJCWZpcm13YXJlLT5zaXplID0gYnVpbHRpbi0+c2l6ZTsKKwkJZmlybXdhcmUtPmRhdGEgPSBidWlsdGluLT5kYXRhOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAodWV2ZW50KQorCQlwcmludGsoS0VSTl9JTkZPICJmaXJtd2FyZTogcmVxdWVzdGluZyAlc1xuIiwgbmFtZSk7CisKIAlyZXR2YWwgPSBmd19zZXR1cF9kZXZpY2UoZmlybXdhcmUsICZmX2RldiwgbmFtZSwgZGV2aWNlLCB1ZXZlbnQpOwogCWlmIChyZXR2YWwpCiAJCWdvdG8gZXJyb3Jfa2ZyZWVfZnc7CkBAIC00NzMsOCArNDk0LDE2IEBACiB2b2lkCiByZWxlYXNlX2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7CisJc3RydWN0IGJ1aWx0aW5fZncgKmJ1aWx0aW47CisKIAlpZiAoZncpIHsKKwkJZm9yIChidWlsdGluID0gX19zdGFydF9idWlsdGluX2Z3OyBidWlsdGluICE9IF9fZW5kX2J1aWx0aW5fZnc7CisJCSAgICAgYnVpbHRpbisrKSB7CisJCQlpZiAoZnctPmRhdGEgPT0gYnVpbHRpbi0+ZGF0YSkKKwkJCQlnb3RvIGZyZWVfZnc7CisJCX0KIAkJdmZyZWUoZnctPmRhdGEpOworCWZyZWVfZnc6CiAJCWtmcmVlKGZ3KTsKIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jhc2UvcG93ZXIvdHJhY2UuYyBiL2RyaXZlcnMvYmFzZS9wb3dlci90cmFjZS5jCmluZGV4IDJiNGIzOTIuLjg3YTdmMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmFzZS9wb3dlci90cmFjZS5jCisrKyBiL2RyaXZlcnMvYmFzZS9wb3dlci90cmFjZS5jCkBAIC0xNTMsNyArMTUzLDcgQEAKICAqIGl0J3Mgbm90IGFueSBndWFyYW50ZWUsIGJ1dCBpdCdzIGEgaGlnaCBfbGlrZWxpaG9vZF8gdGhhdAogICogdGhlIG1hdGNoIGlzIHZhbGlkKS4KICAqLwotdm9pZCBnZW5lcmF0ZV9yZXN1bWVfdHJhY2Uodm9pZCAqdHJhY2VkYXRhLCB1bnNpZ25lZCBpbnQgdXNlcikKK3ZvaWQgZ2VuZXJhdGVfcmVzdW1lX3RyYWNlKGNvbnN0IHZvaWQgKnRyYWNlZGF0YSwgdW5zaWduZWQgaW50IHVzZXIpCiB7CiAJdW5zaWduZWQgc2hvcnQgbGluZW5vID0gKih1bnNpZ25lZCBzaG9ydCAqKXRyYWNlZGF0YTsKIAljb25zdCBjaGFyICpmaWxlID0gKihjb25zdCBjaGFyICoqKSh0cmFjZWRhdGEgKyAyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS90b3BvbG9neS5jIGIvZHJpdmVycy9iYXNlL3RvcG9sb2d5LmMKaW5kZXggZmRmNDA0NC4uM2Y2ZDliMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9iYXNlL3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9iYXNlL3RvcG9sb2d5LmMKQEAgLTQwLDYgKzQwLDcgQEAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgdG9wb2xvZ3lfIyNuYW1lKGNwdSkpOwlcCiB9CiAKKyNpZiBkZWZpbmVkKHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncykgfHwgZGVmaW5lZCh0b3BvbG9neV9jb3JlX3NpYmxpbmdzKQogc3RhdGljIHNzaXplX3Qgc2hvd19jcHVtYXAoaW50IHR5cGUsIGNwdW1hc2tfdCAqbWFzaywgY2hhciAqYnVmKQogewogCXB0cmRpZmZfdCBsZW4gPSBQVFJfQUxJR04oYnVmICsgUEFHRV9TSVpFIC0gMSwgUEFHRV9TSVpFKSAtIGJ1ZjsKQEAgLTU0LDY1ICs1NSw2NSBAQAogCX0KIAlyZXR1cm4gbjsKIH0KKyNlbmRpZgogCisjaWZkZWYgYXJjaF9wcm92aWRlc190b3BvbG9neV9wb2ludGVycwogI2RlZmluZSBkZWZpbmVfc2libGluZ3Nfc2hvd19tYXAobmFtZSkJCQkJCVwKLXN0YXRpYyBpbmxpbmUgc3NpemVfdCBzaG93XyMjbmFtZShzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikJXAogewkJCQkJCQkJCVwKIAl1bnNpZ25lZCBpbnQgY3B1ID0gZGV2LT5pZDsJCQkJCVwKIAlyZXR1cm4gc2hvd19jcHVtYXAoMCwgJih0b3BvbG9neV8jI25hbWUoY3B1KSksIGJ1Zik7CQlcCiB9CiAKICNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbGlzdChuYW1lKQkJCQkJXAotc3RhdGljIGlubGluZSBzc2l6ZV90IHNob3dfIyNuYW1lIyNfbGlzdChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpIFwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lIyNfbGlzdChzdHJ1Y3Qgc3lzX2RldmljZSAqZGV2LCBjaGFyICpidWYpIFwKIHsJCQkJCQkJCQlcCiAJdW5zaWduZWQgaW50IGNwdSA9IGRldi0+aWQ7CQkJCQlcCiAJcmV0dXJuIHNob3dfY3B1bWFwKDEsICYodG9wb2xvZ3lfIyNuYW1lKGNwdSkpLCBidWYpOwkJXAogfQogCisjZWxzZQorI2RlZmluZSBkZWZpbmVfc2libGluZ3Nfc2hvd19tYXAobmFtZSkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikJXAorewkJCQkJCQkJCVwKKwl1bnNpZ25lZCBpbnQgY3B1ID0gZGV2LT5pZDsJCQkJCVwKKwljcHVtYXNrX3QgbWFzayA9IHRvcG9sb2d5XyMjbmFtZShjcHUpOwkJCQlcCisJcmV0dXJuIHNob3dfY3B1bWFwKDAsICZtYXNrLCBidWYpOwkJCQlcCit9CisKKyNkZWZpbmUgZGVmaW5lX3NpYmxpbmdzX3Nob3dfbGlzdChuYW1lKQkJCQkJXAorc3RhdGljIHNzaXplX3Qgc2hvd18jI25hbWUjI19saXN0KHN0cnVjdCBzeXNfZGV2aWNlICpkZXYsIGNoYXIgKmJ1ZikgXAorewkJCQkJCQkJCVwKKwl1bnNpZ25lZCBpbnQgY3B1ID0gZGV2LT5pZDsJCQkJCVwKKwljcHVtYXNrX3QgbWFzayA9IHRvcG9sb2d5XyMjbmFtZShjcHUpOwkJCQlcCisJcmV0dXJuIHNob3dfY3B1bWFwKDEsICZtYXNrLCBidWYpOwkJCQlcCit9CisjZW5kaWYKKwogI2RlZmluZSBkZWZpbmVfc2libGluZ3Nfc2hvd19mdW5jKG5hbWUpCQlcCiAJZGVmaW5lX3NpYmxpbmdzX3Nob3dfbWFwKG5hbWUpOyBkZWZpbmVfc2libGluZ3Nfc2hvd19saXN0KG5hbWUpCiAKLSNpZmRlZgl0b3BvbG9neV9waHlzaWNhbF9wYWNrYWdlX2lkCiBkZWZpbmVfaWRfc2hvd19mdW5jKHBoeXNpY2FsX3BhY2thZ2VfaWQpOwogZGVmaW5lX29uZV9ybyhwaHlzaWNhbF9wYWNrYWdlX2lkKTsKLSNkZWZpbmUgcmVmX3BoeXNpY2FsX3BhY2thZ2VfaWRfYXR0cgkmYXR0cl9waHlzaWNhbF9wYWNrYWdlX2lkLmF0dHIsCi0jZWxzZQotI2RlZmluZSByZWZfcGh5c2ljYWxfcGFja2FnZV9pZF9hdHRyCi0jZW5kaWYKIAotI2lmZGVmIHRvcG9sb2d5X2NvcmVfaWQKIGRlZmluZV9pZF9zaG93X2Z1bmMoY29yZV9pZCk7CiBkZWZpbmVfb25lX3JvKGNvcmVfaWQpOwotI2RlZmluZSByZWZfY29yZV9pZF9hdHRyCQkmYXR0cl9jb3JlX2lkLmF0dHIsCi0jZWxzZQotI2RlZmluZSByZWZfY29yZV9pZF9hdHRyCi0jZW5kaWYKIAotI2lmZGVmIHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncwogZGVmaW5lX3NpYmxpbmdzX3Nob3dfZnVuYyh0aHJlYWRfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyh0aHJlYWRfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyh0aHJlYWRfc2libGluZ3NfbGlzdCk7Ci0jZGVmaW5lIHJlZl90aHJlYWRfc2libGluZ3NfYXR0cglcCi0JCSZhdHRyX3RocmVhZF9zaWJsaW5ncy5hdHRyLCAmYXR0cl90aHJlYWRfc2libGluZ3NfbGlzdC5hdHRyLAotI2Vsc2UKLSNkZWZpbmUgcmVmX3RocmVhZF9zaWJsaW5nc19hdHRyCi0jZW5kaWYKIAotI2lmZGVmIHRvcG9sb2d5X2NvcmVfc2libGluZ3MKIGRlZmluZV9zaWJsaW5nc19zaG93X2Z1bmMoY29yZV9zaWJsaW5ncyk7CiBkZWZpbmVfb25lX3JvKGNvcmVfc2libGluZ3MpOwogZGVmaW5lX29uZV9ybyhjb3JlX3NpYmxpbmdzX2xpc3QpOwotI2RlZmluZSByZWZfY29yZV9zaWJsaW5nc19hdHRyCQlcCi0JCSZhdHRyX2NvcmVfc2libGluZ3MuYXR0ciwgJmF0dHJfY29yZV9zaWJsaW5nc19saXN0LmF0dHIsCi0jZWxzZQotI2RlZmluZSByZWZfY29yZV9zaWJsaW5nc19hdHRyCi0jZW5kaWYKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRlZmF1bHRfYXR0cnNbXSA9IHsKLQlyZWZfcGh5c2ljYWxfcGFja2FnZV9pZF9hdHRyCi0JcmVmX2NvcmVfaWRfYXR0cgotCXJlZl90aHJlYWRfc2libGluZ3NfYXR0cgotCXJlZl9jb3JlX3NpYmxpbmdzX2F0dHIKKwkmYXR0cl9waHlzaWNhbF9wYWNrYWdlX2lkLmF0dHIsCisJJmF0dHJfY29yZV9pZC5hdHRyLAorCSZhdHRyX3RocmVhZF9zaWJsaW5ncy5hdHRyLAorCSZhdHRyX3RocmVhZF9zaWJsaW5nc19saXN0LmF0dHIsCisJJmF0dHJfY29yZV9zaWJsaW5ncy5hdHRyLAorCSZhdHRyX2NvcmVfc2libGluZ3NfbGlzdC5hdHRyLAogCU5VTEwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svREFDOTYwLmMgYi9kcml2ZXJzL2Jsb2NrL0RBQzk2MC5jCmluZGV4IGNkMDM0NzMuLmEwMDJhMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svREFDOTYwLmMKKysrIGIvZHJpdmVycy9ibG9jay9EQUM5NjAuYwpAQCAtNjYyOCwxNSArNjYyOCwxOCBAQAogICogREFDOTYwX2dhbV9pb2N0bCBpcyB0aGUgaW9jdGwgZnVuY3Rpb24gZm9yIHBlcmZvcm1pbmcgUkFJRCBvcGVyYXRpb25zLgogKi8KIAotc3RhdGljIGludCBEQUM5NjBfZ2FtX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkJICAgIHVuc2lnbmVkIGludCBSZXF1ZXN0LCB1bnNpZ25lZCBsb25nIEFyZ3VtZW50KQorc3RhdGljIGxvbmcgREFDOTYwX2dhbV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IFJlcXVlc3QsCisJCQkJCQl1bnNpZ25lZCBsb25nIEFyZ3VtZW50KQogewotICBpbnQgRXJyb3JDb2RlID0gMDsKKyAgbG9uZyBFcnJvckNvZGUgPSAwOwogICBpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpIHJldHVybiAtRUFDQ0VTOworCisgIGxvY2tfa2VybmVsKCk7CiAgIHN3aXRjaCAoUmVxdWVzdCkKICAgICB7CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfR0VUX0NPTlRST0xMRVJfQ09VTlQ6Ci0gICAgICByZXR1cm4gREFDOTYwX0NvbnRyb2xsZXJDb3VudDsKKyAgICAgIEVycm9yQ29kZSA9IERBQzk2MF9Db250cm9sbGVyQ291bnQ7CisgICAgICBicmVhazsKICAgICBjYXNlIERBQzk2MF9JT0NUTF9HRVRfQ09OVFJPTExFUl9JTkZPOgogICAgICAgewogCURBQzk2MF9Db250cm9sbGVySW5mb19UIF9fdXNlciAqVXNlclNwYWNlQ29udHJvbGxlckluZm8gPQpAQCAtNjY0NCwxNSArNjY0NywyMCBAQAogCURBQzk2MF9Db250cm9sbGVySW5mb19UIENvbnRyb2xsZXJJbmZvOwogCURBQzk2MF9Db250cm9sbGVyX1QgKkNvbnRyb2xsZXI7CiAJaW50IENvbnRyb2xsZXJOdW1iZXI7Ci0JaWYgKFVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvID09IE5VTEwpIHJldHVybiAtRUlOVkFMOwotCUVycm9yQ29kZSA9IGdldF91c2VyKENvbnRyb2xsZXJOdW1iZXIsCisJaWYgKFVzZXJTcGFjZUNvbnRyb2xsZXJJbmZvID09IE5VTEwpCisJCUVycm9yQ29kZSA9IC1FSU5WQUw7CisJZWxzZSBFcnJvckNvZGUgPSBnZXRfdXNlcihDb250cm9sbGVyTnVtYmVyLAogCQkJICAgICAmVXNlclNwYWNlQ29udHJvbGxlckluZm8tPkNvbnRyb2xsZXJOdW1iZXIpOwotCWlmIChFcnJvckNvZGUgIT0gMCkgcmV0dXJuIEVycm9yQ29kZTsKKwlpZiAoRXJyb3JDb2RlICE9IDApCisJCWJyZWFrOzsKKwlFcnJvckNvZGUgPSAtRU5YSU87CiAJaWYgKENvbnRyb2xsZXJOdW1iZXIgPCAwIHx8Ci0JICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkKLQkgIHJldHVybiAtRU5YSU87CisJICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkgeworCSAgYnJlYWs7CisJfQogCUNvbnRyb2xsZXIgPSBEQUM5NjBfQ29udHJvbGxlcnNbQ29udHJvbGxlck51bWJlcl07Ci0JaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkgcmV0dXJuIC1FTlhJTzsKKwlpZiAoQ29udHJvbGxlciA9PSBOVUxMKQorCQlicmVhazs7CiAJbWVtc2V0KCZDb250cm9sbGVySW5mbywgMCwgc2l6ZW9mKERBQzk2MF9Db250cm9sbGVySW5mb19UKSk7CiAJQ29udHJvbGxlckluZm8uQ29udHJvbGxlck51bWJlciA9IENvbnRyb2xsZXJOdW1iZXI7CiAJQ29udHJvbGxlckluZm8uRmlybXdhcmVUeXBlID0gQ29udHJvbGxlci0+RmlybXdhcmVUeXBlOwpAQCAtNjY2NSw4ICs2NjczLDkgQEAKIAlDb250cm9sbGVySW5mby5QQ0lfQWRkcmVzcyA9IENvbnRyb2xsZXItPlBDSV9BZGRyZXNzOwogCXN0cmNweShDb250cm9sbGVySW5mby5Nb2RlbE5hbWUsIENvbnRyb2xsZXItPk1vZGVsTmFtZSk7CiAJc3RyY3B5KENvbnRyb2xsZXJJbmZvLkZpcm13YXJlVmVyc2lvbiwgQ29udHJvbGxlci0+RmlybXdhcmVWZXJzaW9uKTsKLQlyZXR1cm4gKGNvcHlfdG9fdXNlcihVc2VyU3BhY2VDb250cm9sbGVySW5mbywgJkNvbnRyb2xsZXJJbmZvLAorCUVycm9yQ29kZSA9IChjb3B5X3RvX3VzZXIoVXNlclNwYWNlQ29udHJvbGxlckluZm8sICZDb250cm9sbGVySW5mbywKIAkJCSAgICAgc2l6ZW9mKERBQzk2MF9Db250cm9sbGVySW5mb19UKSkgPyAtRUZBVUxUIDogMCk7CisJYnJlYWs7CiAgICAgICB9CiAgICAgY2FzZSBEQUM5NjBfSU9DVExfVjFfRVhFQ1VURV9DT01NQU5EOgogICAgICAgewpAQCAtNjY4NCwzMCArNjY5MywzOSBAQAogCWludCBDb250cm9sbGVyTnVtYmVyLCBEYXRhVHJhbnNmZXJMZW5ndGg7CiAJdW5zaWduZWQgY2hhciAqRGF0YVRyYW5zZmVyQnVmZmVyID0gTlVMTDsKIAlkbWFfYWRkcl90IERhdGFUcmFuc2ZlckJ1ZmZlckRNQTsKLQlpZiAoVXNlclNwYWNlVXNlckNvbW1hbmQgPT0gTlVMTCkgcmV0dXJuIC1FSU5WQUw7CisJaWYgKFVzZXJTcGFjZVVzZXJDb21tYW5kID09IE5VTEwpIHsKKwkJRXJyb3JDb2RlID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQogCWlmIChjb3B5X2Zyb21fdXNlcigmVXNlckNvbW1hbmQsIFVzZXJTcGFjZVVzZXJDb21tYW5kLAogCQkJCSAgIHNpemVvZihEQUM5NjBfVjFfVXNlckNvbW1hbmRfVCkpKSB7CiAJCUVycm9yQ29kZSA9IC1FRkFVTFQ7Ci0JCWdvdG8gRmFpbHVyZTFhOworCQlicmVhazsKIAl9CiAJQ29udHJvbGxlck51bWJlciA9IFVzZXJDb21tYW5kLkNvbnRyb2xsZXJOdW1iZXI7CisgICAgCUVycm9yQ29kZSA9IC1FTlhJTzsKIAlpZiAoQ29udHJvbGxlck51bWJlciA8IDAgfHwKIAkgICAgQ29udHJvbGxlck51bWJlciA+IERBQzk2MF9Db250cm9sbGVyQ291bnQgLSAxKQotCSAgcmV0dXJuIC1FTlhJTzsKKwkgICAgCWJyZWFrOwogCUNvbnRyb2xsZXIgPSBEQUM5NjBfQ29udHJvbGxlcnNbQ29udHJvbGxlck51bWJlcl07Ci0JaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkgcmV0dXJuIC1FTlhJTzsKLQlpZiAoQ29udHJvbGxlci0+RmlybXdhcmVUeXBlICE9IERBQzk2MF9WMV9Db250cm9sbGVyKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoQ29udHJvbGxlciA9PSBOVUxMKQorCQlicmVhazsKKwlFcnJvckNvZGUgPSAtRUlOVkFMOworCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YxX0NvbnRyb2xsZXIpCisJCWJyZWFrOwogCUNvbW1hbmRPcGNvZGUgPSBVc2VyQ29tbWFuZC5Db21tYW5kTWFpbGJveC5Db21tb24uQ29tbWFuZE9wY29kZTsKIAlEYXRhVHJhbnNmZXJMZW5ndGggPSBVc2VyQ29tbWFuZC5EYXRhVHJhbnNmZXJMZW5ndGg7Ci0JaWYgKENvbW1hbmRPcGNvZGUgJiAweDgwKSByZXR1cm4gLUVJTlZBTDsKKwlpZiAoQ29tbWFuZE9wY29kZSAmIDB4ODApCisJCWJyZWFrOwogCWlmIChDb21tYW5kT3Bjb2RlID09IERBQzk2MF9WMV9EQ0RCKQogCSAgewogCSAgICBpZiAoY29weV9mcm9tX3VzZXIoJkRDREIsIFVzZXJDb21tYW5kLkRDREIsCiAJCQkgICAgICAgc2l6ZW9mKERBQzk2MF9WMV9EQ0RCX1QpKSkgewogCQlFcnJvckNvZGUgPSAtRUZBVUxUOwotCQlnb3RvIEZhaWx1cmUxYTsKKwkJYnJlYWs7CiAJICAgIH0KLQkgICAgaWYgKERDREIuQ2hhbm5lbCA+PSBEQUM5NjBfVjFfTWF4Q2hhbm5lbHMpIHJldHVybiAtRUlOVkFMOworCSAgICBpZiAoRENEQi5DaGFubmVsID49IERBQzk2MF9WMV9NYXhDaGFubmVscykKKwkgICAgCQlicmVhazsKIAkgICAgaWYgKCEoKERhdGFUcmFuc2Zlckxlbmd0aCA9PSAwICYmCiAJCSAgIERDREIuRGlyZWN0aW9uCiAJCSAgID09IERBQzk2MF9WMV9EQ0RCX05vRGF0YVRyYW5zZmVyKSB8fApAQCAtNjcxNywzOCArNjczNSwzNyBAQAogCQkgIChEYXRhVHJhbnNmZXJMZW5ndGggPCAwICYmCiAJCSAgIERDREIuRGlyZWN0aW9uCiAJCSAgID09IERBQzk2MF9WMV9EQ0RCX0RhdGFUcmFuc2ZlclN5c3RlbVRvRGV2aWNlKSkpCi0JICAgICAgcmV0dXJuIC1FSU5WQUw7CisJCSAgIAlicmVhazsKIAkgICAgaWYgKCgoRENEQi5UcmFuc2Zlckxlbmd0aEhpZ2g0IDw8IDE2KSB8IERDREIuVHJhbnNmZXJMZW5ndGgpCiAJCSE9IGFicyhEYXRhVHJhbnNmZXJMZW5ndGgpKQotCSAgICAgIHJldHVybiAtRUlOVkFMOworCQkJYnJlYWs7CiAJICAgIERDREJfSU9CVUYgPSBwY2lfYWxsb2NfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsCiAJCQlzaXplb2YoREFDOTYwX1YxX0RDREJfVCksICZEQ0RCX0lPQlVGRE1BKTsKLQkgICAgaWYgKERDREJfSU9CVUYgPT0gTlVMTCkKLQkJCXJldHVybiAtRU5PTUVNOworCSAgICBpZiAoRENEQl9JT0JVRiA9PSBOVUxMKSB7CisJICAgIAkJRXJyb3JDb2RlID0gLUVOT01FTTsKKwkJCWJyZWFrOworCQl9CiAJICB9CisJRXJyb3JDb2RlID0gLUVOT01FTTsKIAlpZiAoRGF0YVRyYW5zZmVyTGVuZ3RoID4gMCkKIAkgIHsKIAkgICAgRGF0YVRyYW5zZmVyQnVmZmVyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJCURhdGFUcmFuc2Zlckxlbmd0aCwgJkRhdGFUcmFuc2ZlckJ1ZmZlckRNQSk7Ci0JICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkgewotCQlFcnJvckNvZGUgPSAtRU5PTUVNOwotCQlnb3RvIEZhaWx1cmUxOwotCSAgICB9CisJICAgIGlmIChEYXRhVHJhbnNmZXJCdWZmZXIgPT0gTlVMTCkKKwkgICAgCWJyZWFrOwogCSAgICBtZW1zZXQoRGF0YVRyYW5zZmVyQnVmZmVyLCAwLCBEYXRhVHJhbnNmZXJMZW5ndGgpOwogCSAgfQogCWVsc2UgaWYgKERhdGFUcmFuc2Zlckxlbmd0aCA8IDApCiAJICB7CiAJICAgIERhdGFUcmFuc2ZlckJ1ZmZlciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwKIAkJCQktRGF0YVRyYW5zZmVyTGVuZ3RoLCAmRGF0YVRyYW5zZmVyQnVmZmVyRE1BKTsKLQkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKSB7Ci0JCUVycm9yQ29kZSA9IC1FTk9NRU07Ci0JCWdvdG8gRmFpbHVyZTE7Ci0JICAgIH0KKwkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKQorCSAgICAJYnJlYWs7CiAJICAgIGlmIChjb3B5X2Zyb21fdXNlcihEYXRhVHJhbnNmZXJCdWZmZXIsCiAJCQkgICAgICAgVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyQnVmZmVyLAogCQkJICAgICAgIC1EYXRhVHJhbnNmZXJMZW5ndGgpKSB7CiAJCUVycm9yQ29kZSA9IC1FRkFVTFQ7Ci0JCWdvdG8gRmFpbHVyZTE7CisJCWJyZWFrOwogCSAgICB9CiAJICB9CiAJaWYgKENvbW1hbmRPcGNvZGUgPT0gREFDOTYwX1YxX0RDREIpCkBAIC02ODI1LDggKzY4NDIsNyBAQAogCWlmIChEQ0RCX0lPQlVGICE9IE5VTEwpCiAJICBwY2lfZnJlZV9jb25zaXN0ZW50KENvbnRyb2xsZXItPlBDSURldmljZSwgc2l6ZW9mKERBQzk2MF9WMV9EQ0RCX1QpLAogCQkJRENEQl9JT0JVRiwgRENEQl9JT0JVRkRNQSk7Ci0gICAgICBGYWlsdXJlMWE6Ci0JcmV0dXJuIEVycm9yQ29kZTsKKyAgICAgIAlicmVhazsKICAgICAgIH0KICAgICBjYXNlIERBQzk2MF9JT0NUTF9WMl9FWEVDVVRFX0NPTU1BTkQ6CiAgICAgICB7CkBAIC02ODQ0LDMyICs2ODYwLDQzIEBACiAJZG1hX2FkZHJfdCBEYXRhVHJhbnNmZXJCdWZmZXJETUE7CiAJdW5zaWduZWQgY2hhciAqUmVxdWVzdFNlbnNlQnVmZmVyID0gTlVMTDsKIAlkbWFfYWRkcl90IFJlcXVlc3RTZW5zZUJ1ZmZlckRNQTsKLQlpZiAoVXNlclNwYWNlVXNlckNvbW1hbmQgPT0gTlVMTCkgcmV0dXJuIC1FSU5WQUw7CisKKwlFcnJvckNvZGUgPSAtRUlOVkFMOworCWlmIChVc2VyU3BhY2VVc2VyQ29tbWFuZCA9PSBOVUxMKQorCQlicmVhazsKIAlpZiAoY29weV9mcm9tX3VzZXIoJlVzZXJDb21tYW5kLCBVc2VyU3BhY2VVc2VyQ29tbWFuZCwKIAkJCSAgIHNpemVvZihEQUM5NjBfVjJfVXNlckNvbW1hbmRfVCkpKSB7CiAJCUVycm9yQ29kZSA9IC1FRkFVTFQ7Ci0JCWdvdG8gRmFpbHVyZTJhOworCQlicmVhazsKIAl9CisJRXJyb3JDb2RlID0gLUVOWElPOwogCUNvbnRyb2xsZXJOdW1iZXIgPSBVc2VyQ29tbWFuZC5Db250cm9sbGVyTnVtYmVyOwogCWlmIChDb250cm9sbGVyTnVtYmVyIDwgMCB8fAogCSAgICBDb250cm9sbGVyTnVtYmVyID4gREFDOTYwX0NvbnRyb2xsZXJDb3VudCAtIDEpCi0JICByZXR1cm4gLUVOWElPOworCSAgICAJYnJlYWs7CiAJQ29udHJvbGxlciA9IERBQzk2MF9Db250cm9sbGVyc1tDb250cm9sbGVyTnVtYmVyXTsKLQlpZiAoQ29udHJvbGxlciA9PSBOVUxMKSByZXR1cm4gLUVOWElPOwotCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpIHJldHVybiAtRUlOVkFMOworCWlmIChDb250cm9sbGVyID09IE5VTEwpCisJCWJyZWFrOworCWlmIChDb250cm9sbGVyLT5GaXJtd2FyZVR5cGUgIT0gREFDOTYwX1YyX0NvbnRyb2xsZXIpeworCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CiAJRGF0YVRyYW5zZmVyTGVuZ3RoID0gVXNlckNvbW1hbmQuRGF0YVRyYW5zZmVyTGVuZ3RoOworICAgIAlFcnJvckNvZGUgPSAtRU5PTUVNOwogCWlmIChEYXRhVHJhbnNmZXJMZW5ndGggPiAwKQogCSAgewogCSAgICBEYXRhVHJhbnNmZXJCdWZmZXIgPSBwY2lfYWxsb2NfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsCiAJCQkJRGF0YVRyYW5zZmVyTGVuZ3RoLCAmRGF0YVRyYW5zZmVyQnVmZmVyRE1BKTsKLQkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKSByZXR1cm4gLUVOT01FTTsKKwkgICAgaWYgKERhdGFUcmFuc2ZlckJ1ZmZlciA9PSBOVUxMKQorCSAgICAJYnJlYWs7CiAJICAgIG1lbXNldChEYXRhVHJhbnNmZXJCdWZmZXIsIDAsIERhdGFUcmFuc2Zlckxlbmd0aCk7CiAJICB9CiAJZWxzZSBpZiAoRGF0YVRyYW5zZmVyTGVuZ3RoIDwgMCkKIAkgIHsKIAkgICAgRGF0YVRyYW5zZmVyQnVmZmVyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoQ29udHJvbGxlci0+UENJRGV2aWNlLAogCQkJCS1EYXRhVHJhbnNmZXJMZW5ndGgsICZEYXRhVHJhbnNmZXJCdWZmZXJETUEpOwotCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpIHJldHVybiAtRU5PTUVNOworCSAgICBpZiAoRGF0YVRyYW5zZmVyQnVmZmVyID09IE5VTEwpCisJICAgIAlicmVhazsKIAkgICAgaWYgKGNvcHlfZnJvbV91c2VyKERhdGFUcmFuc2ZlckJ1ZmZlciwKIAkJCSAgICAgICBVc2VyQ29tbWFuZC5EYXRhVHJhbnNmZXJCdWZmZXIsCiAJCQkgICAgICAgLURhdGFUcmFuc2Zlckxlbmd0aCkpIHsKQEAgLTY5NzksOCArNzAwNiw3IEBACiAJaWYgKFJlcXVlc3RTZW5zZUJ1ZmZlciAhPSBOVUxMKQogCSAgcGNpX2ZyZWVfY29uc2lzdGVudChDb250cm9sbGVyLT5QQ0lEZXZpY2UsIFJlcXVlc3RTZW5zZUxlbmd0aCwKIAkJUmVxdWVzdFNlbnNlQnVmZmVyLCBSZXF1ZXN0U2Vuc2VCdWZmZXJETUEpOwotICAgICAgRmFpbHVyZTJhOgotCXJldHVybiBFcnJvckNvZGU7CisgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgIGNhc2UgREFDOTYwX0lPQ1RMX1YyX0dFVF9IRUFMVEhfU1RBVFVTOgogICAgICAgewpAQCAtNjk5MCwyMSArNzAxNiwzMyBAQAogCURBQzk2MF9WMl9IZWFsdGhTdGF0dXNCdWZmZXJfVCBIZWFsdGhTdGF0dXNCdWZmZXI7CiAJREFDOTYwX0NvbnRyb2xsZXJfVCAqQ29udHJvbGxlcjsKIAlpbnQgQ29udHJvbGxlck51bWJlcjsKLQlpZiAoVXNlclNwYWNlR2V0SGVhbHRoU3RhdHVzID09IE5VTEwpIHJldHVybiAtRUlOVkFMOworCWlmIChVc2VyU3BhY2VHZXRIZWFsdGhTdGF0dXMgPT0gTlVMTCkgeworCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CiAJaWYgKGNvcHlfZnJvbV91c2VyKCZHZXRIZWFsdGhTdGF0dXMsIFVzZXJTcGFjZUdldEhlYWx0aFN0YXR1cywKLQkJCSAgIHNpemVvZihEQUM5NjBfVjJfR2V0SGVhbHRoU3RhdHVzX1QpKSkKLQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkgICBzaXplb2YoREFDOTYwX1YyX0dldEhlYWx0aFN0YXR1c19UKSkpIHsKKwkJRXJyb3JDb2RlID0gLUVGQVVMVDsKKwkJYnJlYWs7CisJfQorCUVycm9yQ29kZSA9IC1FTlhJTzsKIAlDb250cm9sbGVyTnVtYmVyID0gR2V0SGVhbHRoU3RhdHVzLkNvbnRyb2xsZXJOdW1iZXI7CiAJaWYgKENvbnRyb2xsZXJOdW1iZXIgPCAwIHx8CiAJICAgIENvbnRyb2xsZXJOdW1iZXIgPiBEQUM5NjBfQ29udHJvbGxlckNvdW50IC0gMSkKLQkgIHJldHVybiAtRU5YSU87CisJCSAgICBicmVhazsKIAlDb250cm9sbGVyID0gREFDOTYwX0NvbnRyb2xsZXJzW0NvbnRyb2xsZXJOdW1iZXJdOwotCWlmIChDb250cm9sbGVyID09IE5VTEwpIHJldHVybiAtRU5YSU87Ci0JaWYgKENvbnRyb2xsZXItPkZpcm13YXJlVHlwZSAhPSBEQUM5NjBfVjJfQ29udHJvbGxlcikgcmV0dXJuIC1FSU5WQUw7CisJaWYgKENvbnRyb2xsZXIgPT0gTlVMTCkKKwkJYnJlYWs7CisJaWYgKENvbnRyb2xsZXItPkZpcm13YXJlVHlwZSAhPSBEQUM5NjBfVjJfQ29udHJvbGxlcikgeworCQlFcnJvckNvZGUgPSAtRUlOVkFMOworCQlicmVhazsKKwl9CiAJaWYgKGNvcHlfZnJvbV91c2VyKCZIZWFsdGhTdGF0dXNCdWZmZXIsCiAJCQkgICBHZXRIZWFsdGhTdGF0dXMuSGVhbHRoU3RhdHVzQnVmZmVyLAotCQkJICAgc2l6ZW9mKERBQzk2MF9WMl9IZWFsdGhTdGF0dXNCdWZmZXJfVCkpKQotCQlyZXR1cm4gLUVGQVVMVDsKKwkJCSAgIHNpemVvZihEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QpKSkgeworCQlFcnJvckNvZGUgPSAtRUZBVUxUOworCQlicmVhazsKKwl9CiAJd2hpbGUgKENvbnRyb2xsZXItPlYyLkhlYWx0aFN0YXR1c0J1ZmZlci0+U3RhdHVzQ2hhbmdlQ291bnRlcgogCSAgICAgICA9PSBIZWFsdGhTdGF0dXNCdWZmZXIuU3RhdHVzQ2hhbmdlQ291bnRlciAmJgogCSAgICAgICBDb250cm9sbGVyLT5WMi5IZWFsdGhTdGF0dXNCdWZmZXItPk5leHRFdmVudFNlcXVlbmNlTnVtYmVyCkBAIC03MDEyLDIxICs3MDUwLDI4IEBACiAJICB7CiAJICAgIGludGVycnVwdGlibGVfc2xlZXBfb25fdGltZW91dCgmQ29udHJvbGxlci0+SGVhbHRoU3RhdHVzV2FpdFF1ZXVlLAogCQkJCQkgICBEQUM5NjBfTW9uaXRvcmluZ1RpbWVySW50ZXJ2YWwpOwotCSAgICBpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHJldHVybiAtRUlOVFI7CisJICAgIGlmIChzaWduYWxfcGVuZGluZyhjdXJyZW50KSkgeworCSAgICAJRXJyb3JDb2RlID0gLUVJTlRSOworCSAgICAJYnJlYWs7CisJICAgIH0KIAkgIH0KIAlpZiAoY29weV90b191c2VyKEdldEhlYWx0aFN0YXR1cy5IZWFsdGhTdGF0dXNCdWZmZXIsCiAJCQkgQ29udHJvbGxlci0+VjIuSGVhbHRoU3RhdHVzQnVmZmVyLAogCQkJIHNpemVvZihEQUM5NjBfVjJfSGVhbHRoU3RhdHVzQnVmZmVyX1QpKSkKLQkJcmV0dXJuIC1FRkFVTFQ7Ci0JcmV0dXJuIDA7CisJCUVycm9yQ29kZSA9IC1FRkFVTFQ7CisJZWxzZQorCQlFcnJvckNvZGUgPSAgMDsKICAgICAgIH0KKyAgICAgIGRlZmF1bHQ6CisJRXJyb3JDb2RlID0gLUVOT1RUWTsKICAgICB9Ci0gIHJldHVybiAtRUlOVkFMOworICB1bmxvY2tfa2VybmVsKCk7CisgIHJldHVybiBFcnJvckNvZGU7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIERBQzk2MF9nYW1fZm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlvY3RsCQk9IERBQzk2MF9nYW1faW9jdGwKKwkudW5sb2NrZWRfaW9jdGwJPSBEQUM5NjBfZ2FtX2lvY3RsCiB9OwogCiBzdGF0aWMgc3RydWN0IG1pc2NkZXZpY2UgREFDOTYwX2dhbV9kZXYgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2FvZS9hb2VjaHIuYyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNoci5jCmluZGV4IGU4ZTYwZTcuLmQxZGU2OGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNoci5jCisrKyBiL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNoci5jCkBAIC03LDYgKzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImFvZS5oIgogCiBlbnVtIHsKQEAgLTE3NCwxMiArMTc1LDE2IEBACiB7CiAJaW50IG4sIGk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW4gPSBpbWlub3IoaW5vZGUpOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9ICh2b2lkICopICh1bnNpZ25lZCBsb25nKSBuOwogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY2hhcmRldnMpOyArK2kpCi0JCWlmIChjaGFyZGV2c1tpXS5taW5vciA9PSBuKQorCQlpZiAoY2hhcmRldnNbaV0ubWlub3IgPT0gbikgeworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CisJCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svYW9lL2FvZWNtZC5jIGIvZHJpdmVycy9ibG9jay9hb2UvYW9lY21kLmMKaW5kZXggNDFmODE4Yi4uMmYxNzQ2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9hb2UvYW9lY21kLmMKKysrIGIvZHJpdmVycy9ibG9jay9hb2UvYW9lY21kLmMKQEAgLTEwMDMsNyArMTAwMyw3IEBACiAJICogRW5vdWdoIHBlb3BsZSBoYXZlIHRoZWlyIGRpcCBzd2l0Y2hlcyBzZXQgYmFja3dhcmRzIHRvCiAJICogd2FycmFudCBhIGxvdWQgbWVzc2FnZSBmb3IgdGhpcyBzcGVjaWFsIGNhc2UuCiAJICovCi0JYW9lbWFqb3IgPSBiZTE2X3RvX2NwdShnZXRfdW5hbGlnbmVkKCZoLT5tYWpvcikpOworCWFvZW1ham9yID0gZ2V0X3VuYWxpZ25lZF9iZTE2KCZoLT5tYWpvcik7CiAJaWYgKGFvZW1ham9yID09IDB4ZmZmKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiYW9lOiBXYXJuaW5nOiBzaGVsZiBhZGRyZXNzIGlzIGFsbCBvbmVzLiAgIgogCQkJIkNoZWNrIHNoZWxmIGRpcCBzd2l0Y2hlcy5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcGQuYyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMKaW5kZXggNTcwZjNiNy4uNWZkZmE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9wYXJpZGUvcGQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZC5jCkBAIC03MTIsMTkgKzcxMiwxNyBAQAogc3RhdGljIGludCBwZF9zcGVjaWFsX2NvbW1hbmQoc3RydWN0IHBkX3VuaXQgKmRpc2ssCiAJCSAgICAgIGVudW0gYWN0aW9uICgqZnVuYykoc3RydWN0IHBkX3VuaXQgKmRpc2spKQogewotCURFQ0xBUkVfQ09NUExFVElPTl9PTlNUQUNLKHdhaXQpOwotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlpbnQgZXJyID0gMDsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7Ci0JcnEucnFfZGlzayA9IGRpc2stPmdkOwotCXJxLmVuZF9pb19kYXRhID0gJndhaXQ7Ci0JcnEuZW5kX2lvID0gYmxrX2VuZF9zeW5jX3JxOwotCWJsa19pbnNlcnRfcmVxdWVzdChkaXNrLT5nZC0+cXVldWUsICZycSwgMCwgZnVuYyk7Ci0Jd2FpdF9mb3JfY29tcGxldGlvbigmd2FpdCk7Ci0JaWYgKHJxLmVycm9ycykKLQkJZXJyID0gLUVJTzsKLQlibGtfcHV0X3JlcXVlc3QoJnJxKTsKKwlycSA9IGJsa19nZXRfcmVxdWVzdChkaXNrLT5nZC0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+c3BlY2lhbCA9IGZ1bmM7CisKKwllcnIgPSBibGtfZXhlY3V0ZV9ycShkaXNrLT5nZC0+cXVldWUsIGRpc2stPmdkLCBycSwgMCk7CisKKwlibGtfcHV0X3JlcXVlc3QocnEpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BnLmMgYi9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wZy5jCmluZGV4IGFiODZlMjMuLjlkOTI2MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BnLmMKKysrIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcGcuYwpAQCAtMTYyLDYgKzE2Miw3IEBACiAjaW5jbHVkZSA8bGludXgvcGcuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgkvKiBjdXJyZW50LCBUQVNLXyogKi8KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC01MTUsMTIgKzUxNiwxOCBAQAogewogCWludCB1bml0ID0gaW1pbm9yKGlub2RlKSAmIDB4N2Y7CiAJc3RydWN0IHBnICpkZXYgPSAmZGV2aWNlc1t1bml0XTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmICgodW5pdCA+PSBQR19VTklUUykgfHwgKCFkZXYtPnByZXNlbnQpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlsb2NrX2tlcm5lbCgpOworCWlmICgodW5pdCA+PSBQR19VTklUUykgfHwgKCFkZXYtPnByZXNlbnQpKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkZXYtPmFjY2VzcykpCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJmRldi0+YWNjZXNzKSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAogCWlmIChkZXYtPmJ1c3kpIHsKIAkJcGdfcmVzZXQoZGV2KTsKQEAgLTUzMywxMiArNTQwLDE1IEBACiAJaWYgKGRldi0+YnVmcHRyID09IE5VTEwpIHsKIAkJY2xlYXJfYml0KDAsICZkZXYtPmFjY2Vzcyk7CiAJCXByaW50aygiJXM6IGJ1ZmZlciBhbGxvY2F0aW9uIGZhaWxlZFxuIiwgZGV2LT5uYW1lKTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OwogCX0KIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGRldjsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHBnX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wdC5jIGIvZHJpdmVycy9ibG9jay9wYXJpZGUvcHQuYwppbmRleCA4Yjk1NDlhLi41Yzc0YzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3BhcmlkZS9wdC5jCisrKyBiL2RyaXZlcnMvYmxvY2svcGFyaWRlL3B0LmMKQEAgLTE0Niw2ICsxNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L210aW8uaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgkvKiBjdXJyZW50LCBUQVNLXyosIHNjaGVkdWxlX3RpbWVvdXQoKSAqLworI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCkBAIC0xODksOCArMTkwLDcgQEAKICNkZWZpbmUgQVRBUElfTE9HX1NFTlNFCQkweDRkCiAKIHN0YXRpYyBpbnQgcHRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSk7Ci1zdGF0aWMgaW50IHB0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkgICAgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpOworc3RhdGljIGxvbmcgcHRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsKIHN0YXRpYyBpbnQgcHRfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSk7CiBzdGF0aWMgc3NpemVfdCBwdF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqYnVmLAogCQkgICAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKiBwcG9zKTsKQEAgLTIzNiw3ICsyMzYsNyBAQAogCS5vd25lciA9IFRISVNfTU9EVUxFLAogCS5yZWFkID0gcHRfcmVhZCwKIAkud3JpdGUgPSBwdF93cml0ZSwKLQkuaW9jdGwgPSBwdF9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwgPSBwdF9pb2N0bCwKIAkub3BlbiA9IHB0X29wZW4sCiAJLnJlbGVhc2UgPSBwdF9yZWxlYXNlLAogfTsKQEAgLTY1MCw4ICs2NTAsMTEgQEAKIAlzdHJ1Y3QgcHRfdW5pdCAqdGFwZSA9IHB0ICsgdW5pdDsKIAlpbnQgZXJyOwogCi0JaWYgKHVuaXQgPj0gUFRfVU5JVFMgfHwgKCF0YXBlLT5wcmVzZW50KSkKKwlsb2NrX2tlcm5lbCgpOworCWlmICh1bml0ID49IFBUX1VOSVRTIHx8ICghdGFwZS0+cHJlc2VudCkpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT0RFVjsKKwl9CiAKIAllcnIgPSAtRUJVU1k7CiAJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZ0YXBlLT5hdmFpbGFibGUpKQpAQCAtNjc4LDE1ICs2ODEsMTYgQEAKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSB0YXBlOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0OgogCWF0b21pY19pbmMoJnRhcGUtPmF2YWlsYWJsZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBpbnQgcHRfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsCi0JIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgcHRfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBwdF91bml0ICp0YXBlID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBtdG9wIF9fdXNlciAqcCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKQEAgLTcwMCwyMyArNzA0LDI2IEBACiAJCXN3aXRjaCAobXRvcC5tdF9vcCkgewogCiAJCWNhc2UgTVRSRVc6CisJCQlsb2NrX2tlcm5lbCgpOwogCQkJcHRfcmV3aW5kKHRhcGUpOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIDA7CiAKIAkJY2FzZSBNVFdFT0Y6CisJCQlsb2NrX2tlcm5lbCgpOwogCQkJcHRfd3JpdGVfZm0odGFwZSk7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gMDsKIAogCQlkZWZhdWx0OgotCQkJcHJpbnRrKCIlczogVW5pbXBsZW1lbnRlZCBtdF9vcCAlZFxuIiwgdGFwZS0+bmFtZSwKKwkJCS8qIEZJWE1FOiByYXRlIGxpbWl0ID8/ICovCisJCQlwcmludGsoS0VSTl9ERUJVRyAiJXM6IFVuaW1wbGVtZW50ZWQgbXRfb3AgJWRcbiIsIHRhcGUtPm5hbWUsCiAJCQkgICAgICAgbXRvcC5tdF9vcCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCiAJZGVmYXVsdDoKLQkJcHJpbnRrKCIlczogVW5pbXBsZW1lbnRlZCBpb2N0bCAweCV4XG4iLCB0YXBlLT5uYW1lLCBjbWQpOwotCQlyZXR1cm4gLUVJTlZBTDsKLQorCQlyZXR1cm4gLUVOT1RUWTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jIGIvZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKaW5kZXggM2JhMWRmOS4uNDViZWU5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKKysrIGIvZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CkBAIC0yMDc5LDcgKzIwODAsNiBAQAogCXVuc2lnbmVkIGNoYXIgYnVmWzY0XTsKIAlpbnQgcmV0OwogCi0JbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwogCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIHNpemVvZihidWYpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2Muc2Vuc2UgPSAmc2Vuc2U7CiAJY2djLmJ1ZmxlbiA9IHBkLT5tb2RlX29mZnNldCArIDEyOwpAQCAtMjEyNiw3ICsyMTI2LDYgQEAKIAl1bnNpZ25lZCBjaGFyICpjYXBfYnVmOwogCWludCByZXQsIG9mZnNldDsKIAotCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKIAljYXBfYnVmID0gJmJ1ZltzaXplb2Yoc3RydWN0IG1vZGVfcGFnZV9oZWFkZXIpICsgcGQtPm1vZGVfb2Zmc2V0XTsKIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfVU5LTk9XTik7CiAJY2djLnNlbnNlID0gJnNlbnNlOwpAQCAtMjYzMywxMSArMjYzMiwxMiBAQAogCiAKIAotc3RhdGljIGludCBwa3RfbWVyZ2VfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvX3ZlYyAqYnZlYykKK3N0YXRpYyBpbnQgcGt0X21lcmdlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIHN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJtZCwKKwkJCSAgc3RydWN0IGJpb192ZWMgKmJ2ZWMpCiB7CiAJc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZCA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCB6b25lID0gWk9ORShiaW8tPmJpX3NlY3RvciwgcGQpOwotCWludCB1c2VkID0gKChiaW8tPmJpX3NlY3RvciAtIHpvbmUpIDw8IDkpICsgYmlvLT5iaV9zaXplOworCXNlY3Rvcl90IHpvbmUgPSBaT05FKGJtZC0+Ymlfc2VjdG9yLCBwZCk7CisJaW50IHVzZWQgPSAoKGJtZC0+Ymlfc2VjdG9yIC0gem9uZSkgPDwgOSkgKyBibWQtPmJpX3NpemU7CiAJaW50IHJlbWFpbmluZyA9IChwZC0+c2V0dGluZ3Muc2l6ZSA8PCA5KSAtIHVzZWQ7CiAJaW50IHJlbWFpbmluZzI7CiAKQEAgLTI2NDUsNyArMjY0NSw3IEBACiAJICogQSBiaW8gPD0gUEFHRV9TSVpFIG11c3QgYmUgYWxsb3dlZC4gSWYgaXQgY3Jvc3NlcyBhIHBhY2tldAogCSAqIGJvdW5kYXJ5LCBwa3RfbWFrZV9yZXF1ZXN0KCkgd2lsbCBzcGxpdCB0aGUgYmlvLgogCSAqLwotCXJlbWFpbmluZzIgPSBQQUdFX1NJWkUgLSBiaW8tPmJpX3NpemU7CisJcmVtYWluaW5nMiA9IFBBR0VfU0laRSAtIGJtZC0+Ymlfc2l6ZTsKIAlyZW1haW5pbmcgPSBtYXgocmVtYWluaW5nLCByZW1haW5pbmcyKTsKIAogCUJVR19PTihyZW1haW5pbmcgPCAwKTsKQEAgLTI3OTYsOSArMjc5NiwxNCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgcGt0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKK3N0YXRpYyBsb25nIHBrdF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCiB7Ci0Jc3RydWN0IHBrdGNkdmRfZGV2aWNlICpwZCA9IGlub2RlLT5pX2JkZXYtPmJkX2Rpc2stPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3QgcGt0Y2R2ZF9kZXZpY2UgKnBkOworCWxvbmcgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlwZCA9IGlub2RlLT5pX2JkZXYtPmJkX2Rpc2stPnByaXZhdGVfZGF0YTsKIAogCVZQUklOVEsoInBrdF9pb2N0bDogY21kICV4LCBkZXYgJWQ6JWRcbiIsIGNtZCwgaW1ham9yKGlub2RlKSwgaW1pbm9yKGlub2RlKSk7CiAKQEAgLTI4MTEsNyArMjgxNiw4IEBACiAJY2FzZSBDRFJPTV9MQVNUX1dSSVRURU46CiAJY2FzZSBDRFJPTV9TRU5EX1BBQ0tFVDoKIAljYXNlIFNDU0lfSU9DVExfU0VORF9DT01NQU5EOgotCQlyZXR1cm4gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlyZXQgPSBibGtkZXZfaW9jdGwocGQtPmJkZXYtPmJkX2lub2RlLCBmaWxlLCBjbWQsIGFyZyk7CisJCWJyZWFrOwogCiAJY2FzZSBDRFJPTUVKRUNUOgogCQkvKgpAQCAtMjgyMCwxNCArMjgyNiwxNSBAQAogCQkgKi8KIAkJaWYgKHBkLT5yZWZjbnQgPT0gMSkKIAkJCXBrdF9sb2NrX2Rvb3IocGQsIDApOwotCQlyZXR1cm4gYmxrZGV2X2lvY3RsKHBkLT5iZGV2LT5iZF9pbm9kZSwgZmlsZSwgY21kLCBhcmcpOworCQlyZXQgPSBibGtkZXZfaW9jdGwocGQtPmJkZXYtPmJkX2lub2RlLCBmaWxlLCBjbWQsIGFyZyk7CisJCWJyZWFrOwogCiAJZGVmYXVsdDoKIAkJVlBSSU5USyhEUklWRVJfTkFNRSI6IFVua25vd24gaW9jdGwgZm9yICVzICgleClcbiIsIHBkLT5uYW1lLCBjbWQpOwotCQlyZXR1cm4gLUVOT1RUWTsKKwkJcmV0ID0gLUVOT1RUWTsKIAl9Ci0KLQlyZXR1cm4gMDsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBwa3RfbWVkaWFfY2hhbmdlZChzdHJ1Y3QgZ2VuZGlzayAqZGlzaykKQEAgLTI4NDksNyArMjg1Niw3IEBACiAJLm93bmVyID0JCVRISVNfTU9EVUxFLAogCS5vcGVuID0JCQlwa3Rfb3BlbiwKIAkucmVsZWFzZSA9CQlwa3RfY2xvc2UsCi0JLmlvY3RsID0JCXBrdF9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwgPQlwa3RfaW9jdGwsCiAJLm1lZGlhX2NoYW5nZWQgPQlwa3RfbWVkaWFfY2hhbmdlZCwKIH07CiAKQEAgLTMwMTQsNyArMzAyMSw4IEBACiAJbXV0ZXhfdW5sb2NrKCZjdGxfbXV0ZXgpOwogfQogCi1zdGF0aWMgaW50IHBrdF9jdGxfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgcGt0X2N0bF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQogewogCXZvaWQgX191c2VyICphcmdwID0gKHZvaWQgX191c2VyICopYXJnOwogCXN0cnVjdCBwa3RfY3RybF9jb21tYW5kIGN0cmxfY21kOwpAQCAtMzAzMSwxNiArMzAzOSwyMiBAQAogCWNhc2UgUEtUX0NUUkxfQ01EX1NFVFVQOgogCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCiAJCQlyZXR1cm4gLUVQRVJNOworCQlsb2NrX2tlcm5lbCgpOwogCQlyZXQgPSBwa3Rfc2V0dXBfZGV2KG5ld19kZWNvZGVfZGV2KGN0cmxfY21kLmRldiksICZwa3RfZGV2KTsKIAkJY3RybF9jbWQucGt0X2RldiA9IG5ld19lbmNvZGVfZGV2KHBrdF9kZXYpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWNhc2UgUEtUX0NUUkxfQ01EX1RFQVJET1dOOgogCQlpZiAoIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCiAJCQlyZXR1cm4gLUVQRVJNOworCQlsb2NrX2tlcm5lbCgpOwogCQlyZXQgPSBwa3RfcmVtb3ZlX2RldihuZXdfZGVjb2RlX2RldihjdHJsX2NtZC5wa3RfZGV2KSk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJYnJlYWs7CiAJY2FzZSBQS1RfQ1RSTF9DTURfU1RBVFVTOgorCQlsb2NrX2tlcm5lbCgpOwogCQlwa3RfZ2V0X3N0YXR1cygmY3RybF9jbWQpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldHVybiAtRU5PVFRZOwpAQCAtMzA1Myw3ICszMDY3LDcgQEAKIAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBwa3RfY3RsX2ZvcHMgPSB7Ci0JLmlvY3RsCSA9IHBrdF9jdGxfaW9jdGwsCisJLnVubG9ja2VkX2lvY3RsCSA9IHBrdF9jdGxfaW9jdGwsCiAJLm93bmVyCSA9IFRISVNfTU9EVUxFLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zyb250LmMKaW5kZXggZjJmZmY1Ny4uOWFlMDVjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYworKysgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvYmxrZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaGRyZWcuaD4KKyNpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCiAjaW5jbHVkZSA8eGVuL3hlbmJ1cy5oPgpAQCAtMTUzLDYgKzE1NCw0MCBAQAogCXJldHVybiAwOwogfQogCitpbnQgYmxraWZfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGVwLAorCQl1bnNpZ25lZCBjb21tYW5kLCB1bnNpZ25lZCBsb25nIGFyZ3VtZW50KQoreworCXN0cnVjdCBibGtmcm9udF9pbmZvICppbmZvID0KKwkJaW5vZGUtPmlfYmRldi0+YmRfZGlzay0+cHJpdmF0ZV9kYXRhOworCWludCBpOworCisJZGV2X2RiZygmaW5mby0+eGJkZXYtPmRldiwgImNvbW1hbmQ6IDB4JXgsIGFyZ3VtZW50OiAweCVseFxuIiwKKwkJY29tbWFuZCwgKGxvbmcpYXJndW1lbnQpOworCisJc3dpdGNoIChjb21tYW5kKSB7CisJY2FzZSBDRFJPTU1VTFRJU0VTU0lPTjoKKwkJZGV2X2RiZygmaW5mby0+eGJkZXYtPmRldiwgIkZJWE1FOiBzdXBwb3J0IG11bHRpc2Vzc2lvbiBDRHMgbGF0ZXJcbiIpOworCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN0cnVjdCBjZHJvbV9tdWx0aXNlc3Npb24pOyBpKyspCisJCQlpZiAocHV0X3VzZXIoMCwgKGNoYXIgX191c2VyICopKGFyZ3VtZW50ICsgaSkpKQorCQkJCXJldHVybiAtRUZBVUxUOworCQlyZXR1cm4gMDsKKworCWNhc2UgQ0RST01fR0VUX0NBUEFCSUxJVFk6IHsKKwkJc3RydWN0IGdlbmRpc2sgKmdkID0gaW5mby0+Z2Q7CisJCWlmIChnZC0+ZmxhZ3MgJiBHRU5IRF9GTF9DRCkKKwkJCXJldHVybiAwOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlkZWZhdWx0OgorCQkvKnByaW50ayhLRVJOX0FMRVJUICJpb2N0bCAlMDh4IG5vdCBzdXBwb3J0ZWQgYnkgWGVuIGJsa2RldlxuIiwKKwkJICBjb21tYW5kKTsqLworCQlyZXR1cm4gLUVJTlZBTDsgLyogc2FtZSByZXR1cm4gYXMgbmF0aXZlIExpbnV4ICovCisJfQorCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBibGtpZl9xdWV1ZV9yZXF1ZXN0CiAgKgpAQCAtMzI0LDYgKzM1OSw5IEBACiAJLyogTWFrZSBzdXJlIGJ1ZmZlciBhZGRyZXNzZXMgYXJlIHNlY3Rvci1hbGlnbmVkLiAqLwogCWJsa19xdWV1ZV9kbWFfYWxpZ25tZW50KHJxLCA1MTEpOwogCisJLyogTWFrZSBzdXJlIHdlIGRvbid0IHVzZSBib3VuY2UgYnVmZmVycy4gKi8KKwlibGtfcXVldWVfYm91bmNlX2xpbWl0KHJxLCBCTEtfQk9VTkNFX0FOWSk7CisKIAlnZC0+cXVldWUgPSBycTsKIAogCXJldHVybiAwOwpAQCAtNTQ2LDcgKzU4NCw3IEBACiAKIAlpbmZvLT5yaW5nX3JlZiA9IEdSQU5UX0lOVkFMSURfUkVGOwogCi0Jc3JpbmcgPSAoc3RydWN0IGJsa2lmX3NyaW5nICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOworCXNyaW5nID0gKHN0cnVjdCBibGtpZl9zcmluZyAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfTk9JTyB8IF9fR0ZQX0hJR0gpOwogCWlmICghc3JpbmcpIHsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIC1FTk9NRU0sICJhbGxvY2F0aW5nIHNoYXJlZCByaW5nIik7CiAJCXJldHVybiAtRU5PTUVNOwpAQCAtNzAzLDcgKzc0MSw4IEBACiAJaW50IGo7CiAKIAkvKiBTdGFnZSAxOiBNYWtlIGEgc2FmZSBjb3B5IG9mIHRoZSBzaGFkb3cgc3RhdGUuICovCi0JY29weSA9IGttYWxsb2Moc2l6ZW9mKGluZm8tPnNoYWRvdyksIEdGUF9LRVJORUwpOworCWNvcHkgPSBrbWFsbG9jKHNpemVvZihpbmZvLT5zaGFkb3cpLAorCQkgICAgICAgR0ZQX05PSU8gfCBfX0dGUF9SRVBFQVQgfCBfX0dGUF9ISUdIKTsKIAlpZiAoIWNvcHkpCiAJCXJldHVybiAtRU5PTUVNOwogCW1lbWNweShjb3B5LCBpbmZvLT5zaGFkb3csIHNpemVvZihpbmZvLT5zaGFkb3cpKTsKQEAgLTk1OSw3ICs5OTgsNyBAQAogCQlzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2ID0gaW5mby0+eGJkZXY7CiAJCWVudW0geGVuYnVzX3N0YXRlIHN0YXRlID0geGVuYnVzX3JlYWRfZHJpdmVyX3N0YXRlKGRldi0+b3RoZXJlbmQpOwogCi0JCWlmIChzdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NpbmcpCisJCWlmIChzdGF0ZSA9PSBYZW5idXNTdGF0ZUNsb3NpbmcgJiYgaW5mby0+aXNfcmVhZHkpCiAJCQlibGtmcm9udF9jbG9zaW5nKGRldik7CiAJfQogCXJldHVybiAwOwpAQCAtOTcxLDYgKzEwMTAsNyBAQAogCS5vcGVuID0gYmxraWZfb3BlbiwKIAkucmVsZWFzZSA9IGJsa2lmX3JlbGVhc2UsCiAJLmdldGdlbyA9IGJsa2lmX2dldGdlbywKKwkuaW9jdGwgPSBibGtpZl9pb2N0bCwKIH07CiAKIApAQCAtMTAwNiw3ICsxMDQ2LDcgQEAKIG1vZHVsZV9pbml0KHhsYmxrX2luaXQpOwogCiAKLXN0YXRpYyB2b2lkIHhsYmxrX2V4aXQodm9pZCkKK3N0YXRpYyB2b2lkIF9fZXhpdCB4bGJsa19leGl0KHZvaWQpCiB7CiAJcmV0dXJuIHhlbmJ1c191bnJlZ2lzdGVyX2RyaXZlcigmYmxrZnJvbnQpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibHVldG9vdGgvYmZ1c2IuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2JmdXNiLmMKaW5kZXggYjk5MDgwNS4uMGMyMTFhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvYmZ1c2IuYworKysgYi9kcml2ZXJzL2JsdWV0b290aC9iZnVzYi5jCkBAIC01NjYsNyArNTY2LDggQEAKIAlyZXR1cm4gLUVOT0lPQ1RMQ01EOwogfQogCi1zdGF0aWMgaW50IGJmdXNiX2xvYWRfZmlybXdhcmUoc3RydWN0IGJmdXNiX2RhdGEgKmRhdGEsIHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgY291bnQpCitzdGF0aWMgaW50IGJmdXNiX2xvYWRfZmlybXdhcmUoc3RydWN0IGJmdXNiX2RhdGEgKmRhdGEsCisJCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIGludCBjb3VudCkKIHsKIAl1bnNpZ25lZCBjaGFyICpidWY7CiAJaW50IGVyciwgcGlwZSwgbGVuLCBzaXplLCBzZW50ID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmx1ZXRvb3RoL2J0M2NfY3MuYyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2J0M2NfY3MuYwppbmRleCA3NzAzZDZlLi41OTNiN2M1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2JsdWV0b290aC9idDNjX2NzLmMKKysrIGIvZHJpdmVycy9ibHVldG9vdGgvYnQzY19jcy5jCkBAIC00NzAsNyArNDcwLDggQEAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PSBDYXJkIHNlcnZpY2VzIEhDSSBpbnRlcmFjdGlvbiA9PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIAogCi1zdGF0aWMgaW50IGJ0M2NfbG9hZF9maXJtd2FyZShidDNjX2luZm9fdCAqaW5mbywgdW5zaWduZWQgY2hhciAqZmlybXdhcmUsIGludCBjb3VudCkKK3N0YXRpYyBpbnQgYnQzY19sb2FkX2Zpcm13YXJlKGJ0M2NfaW5mb190ICppbmZvLCBjb25zdCB1bnNpZ25lZCBjaGFyICpmaXJtd2FyZSwKKwkJCSAgICAgIGludCBjb3VudCkKIHsKIAljaGFyICpwdHIgPSAoY2hhciAqKSBmaXJtd2FyZTsKIAljaGFyIGJbOV07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2JsdWV0b290aC9oY2lfdmhjaS5jIGIvZHJpdmVycy9ibHVldG9vdGgvaGNpX3ZoY2kuYwppbmRleCAwNjM4NzMwLi5kOTc3MDBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2JsdWV0b290aC9oY2lfdmhjaS5jCisrKyBiL2RyaXZlcnMvYmx1ZXRvb3RoL2hjaV92aGNpLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CkBAIC0yNjMsOSArMjY0LDExIEBACiAJc2tiX3F1ZXVlX2hlYWRfaW5pdCgmZGF0YS0+cmVhZHEpOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRhdGEtPnJlYWRfd2FpdCk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWhkZXYgPSBoY2lfYWxsb2NfZGV2KCk7CiAJaWYgKCFoZGV2KSB7CiAJCWtmcmVlKGRhdGEpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApAQCAtMjg2LDEwICsyODksMTIgQEAKIAkJQlRfRVJSKCJDYW4ndCByZWdpc3RlciBIQ0kgZGV2aWNlIik7CiAJCWtmcmVlKGRhdGEpOwogCQloY2lfZnJlZV9kZXYoaGRldik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBkYXRhOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKIH0KQEAgLTMxMywxOCArMzE4LDIxIEBACiBzdGF0aWMgaW50IHZoY2lfZmFzeW5jKGludCBmZCwgc3RydWN0IGZpbGUgKmZpbGUsIGludCBvbikKIHsKIAlzdHJ1Y3QgdmhjaV9kYXRhICpkYXRhID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwotCWludCBlcnI7CisJaW50IGVyciA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWVyciA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmZGF0YS0+ZmFzeW5jKTsKIAlpZiAoZXJyIDwgMCkKLQkJcmV0dXJuIGVycjsKKwkJZ290byBvdXQ7CiAKIAlpZiAob24pCiAJCWRhdGEtPmZsYWdzIHw9IFZIQ0lfRkFTWU5DOwogCWVsc2UKIAkJZGF0YS0+ZmxhZ3MgJj0gflZIQ0lfRkFTWU5DOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHZoY2lfZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2Ryb20vY2Ryb20uYyBiL2RyaXZlcnMvY2Ryb20vY2Ryb20uYwppbmRleCA2OWYyNmViLi5hNWRhMzU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nkcm9tL2Nkcm9tLmMKKysrIGIvZHJpdmVycy9jZHJvbS9jZHJvbS5jCkBAIC00NjEsMzcgKzQ2MSwyNyBAQAogCQkJICBzdHJ1Y3QgbWVkaWFfZXZlbnRfZGVzYyAqbWVkKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JdW5zaWduZWQgY2hhciAqYnVmZmVyOwotCXN0cnVjdCBldmVudF9oZWFkZXIgKmVoOwotCWludCByZXQgPSAxOworCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzhdOworCXN0cnVjdCBldmVudF9oZWFkZXIgKmVoID0gKHN0cnVjdCBldmVudF9oZWFkZXIgKikgYnVmZmVyOwogCi0JYnVmZmVyID0ga21hbGxvYyg4LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQllaCA9IChzdHJ1Y3QgZXZlbnRfaGVhZGVyICopYnVmZmVyOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgOCwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfRVZFTlRfU1RBVFVTX05PVElGSUNBVElPTjsKIAljZ2MuY21kWzFdID0gMTsJCS8qIElNTUVEICovCiAJY2djLmNtZFs0XSA9IDEgPDwgNDsJLyogbWVkaWEgZXZlbnQgKi8KLQljZ2MuY21kWzhdID0gODsKKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmIChjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkKLQkJZ290byBlcnI7CisJCXJldHVybiAxOwogCiAJaWYgKGJlMTZfdG9fY3B1KGVoLT5kYXRhX2xlbikgPCBzaXplb2YoKm1lZCkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gMTsKIAogCWlmIChlaC0+bmVhIHx8IGVoLT5ub3RpZmljYXRpb25fY2xhc3MgIT0gMHg0KQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIDE7CiAKLQltZW1jcHkobWVkLCBidWZmZXIgKyBzaXplb2YoKmVoKSwgc2l6ZW9mKCptZWQpKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwltZW1jcHkobWVkLCAmYnVmZmVyW3NpemVvZigqZWgpXSwgc2l6ZW9mKCptZWQpKTsKKwlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTUwMSw4MiArNDkxLDY4IEBACiBzdGF0aWMgaW50IGNkcm9tX21yd19wcm9iZV9wYyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCWNoYXIgKmJ1ZmZlcjsKLQlpbnQgcmV0ID0gMTsKKwljaGFyIGJ1ZmZlclsxNl07CiAKLQlidWZmZXIgPSBrbWFsbG9jKDE2LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAxNiwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLnRpbWVvdXQgPSBIWjsKIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKCFjZHJvbV9tb2RlX3NlbnNlKGNkaSwgJmNnYywgTVJXX01PREVfUEMsIDApKSB7CiAJCWNkaS0+bXJ3X21vZGVfcGFnZSA9IE1SV19NT0RFX1BDOwotCQlyZXQgPSAwOworCQlyZXR1cm4gMDsKIAl9IGVsc2UgaWYgKCFjZHJvbV9tb2RlX3NlbnNlKGNkaSwgJmNnYywgTVJXX01PREVfUENfUFJFMSwgMCkpIHsKIAkJY2RpLT5tcndfbW9kZV9wYWdlID0gTVJXX01PREVfUENfUFJFMTsKLQkJcmV0ID0gMDsKKwkJcmV0dXJuIDA7CiAJfQotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAxOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX2lzX21ydyhzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgaW50ICp3cml0ZSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBtcndfZmVhdHVyZV9kZXNjICptZmQ7Ci0JdW5zaWduZWQgY2hhciAqYnVmZmVyOworCXVuc2lnbmVkIGNoYXIgYnVmZmVyWzE2XTsKIAlpbnQgcmV0OwogCiAJKndyaXRlID0gMDsKLQlidWZmZXIgPSBrbWFsbG9jKDE2LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07CiAKLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAxNiwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLmNtZFswXSA9IEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OOwogCWNnYy5jbWRbM10gPSBDREZfTVJXOwotCWNnYy5jbWRbOF0gPSAxNjsKKwljZ2MuY21kWzhdID0gc2l6ZW9mKGJ1ZmZlcik7CiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RpLT5vcHMtPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCW1mZCA9IChzdHJ1Y3QgbXJ3X2ZlYXR1cmVfZGVzYyAqKSZidWZmZXJbc2l6ZW9mKHN0cnVjdCBmZWF0dXJlX2hlYWRlcildOwotCWlmIChiZTE2X3RvX2NwdShtZmQtPmZlYXR1cmVfY29kZSkgIT0gQ0RGX01SVykgewotCQlyZXQgPSAxOwotCQlnb3RvIGVycjsKLQl9CisJaWYgKGJlMTZfdG9fY3B1KG1mZC0+ZmVhdHVyZV9jb2RlKSAhPSBDREZfTVJXKQorCQlyZXR1cm4gMTsKIAkqd3JpdGUgPSBtZmQtPndyaXRlOwogCiAJaWYgKChyZXQgPSBjZHJvbV9tcndfcHJvYmVfcGMoY2RpKSkpIHsKIAkJKndyaXRlID0gMDsKKwkJcmV0dXJuIHJldDsKIAl9Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21fbXJ3X2JnZm9ybWF0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBpbnQgY29udCkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjsKKwl1bnNpZ25lZCBjaGFyIGJ1ZmZlclsxMl07CiAJaW50IHJldDsKIAogCXByaW50ayhLRVJOX0lORk8gImNkcm9tOiAlc3N0YXJ0aW5nIGZvcm1hdFxuIiwgY29udCA/ICJSZSIgOiAiIik7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDEyLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KIAkvKgogCSAqIEZtdERhdGEgYml0IHNldCAoYml0IDQpLCBmb3JtYXQgdHlwZSBpcyAxCiAJICovCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTIsIENHQ19EQVRBX1dSSVRFKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgQ0dDX0RBVEFfV1JJVEUpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9GT1JNQVRfVU5JVDsKIAljZ2MuY21kWzFdID0gKDEgPDwgNCkgfCAxOwogCkBAIC02MDMsNyArNTc5LDYgQEAKIAlpZiAocmV0KQogCQlwcmludGsoS0VSTl9JTkZPICJjZHJvbTogYmdmb3JtYXQgZmFpbGVkXG4iKTsKIAotCWtmcmVlKGJ1ZmZlcik7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNjYzLDE3ICs2MzgsMTYgQEAKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyICptcGg7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzE2XTsKIAlpbnQgcmV0LCBvZmZzZXQsIHNpemU7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDE2LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWNnYy5idWZmZXIgPSBidWZmZXI7CisJY2djLmJ1ZmxlbiA9IHNpemVvZihidWZmZXIpOwogCiAJaWYgKChyZXQgPSBjZHJvbV9tb2RlX3NlbnNlKGNkaSwgJmNnYywgY2RpLT5tcndfbW9kZV9wYWdlLCAwKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJbXBoID0gKHN0cnVjdCBtb2RlX3BhZ2VfaGVhZGVyICopIGJ1ZmZlcjsKIAlvZmZzZXQgPSBiZTE2X3RvX2NwdShtcGgtPmRlc2NfbGVuZ3RoKTsKQEAgLTY4Myw3MCArNjU3LDU1IEBACiAJY2djLmJ1ZmxlbiA9IHNpemU7CiAKIAlpZiAoKHJldCA9IGNkcm9tX21vZGVfc2VsZWN0KGNkaSwgJmNnYykpKQotCQlnb3RvIGVycjsKKwkJcmV0dXJuIHJldDsKIAogCXByaW50ayhLRVJOX0lORk8gImNkcm9tOiAlczogbXJ3IGFkZHJlc3Mgc3BhY2UgJXMgc2VsZWN0ZWRcbiIsIGNkaS0+bmFtZSwgbXJ3X2FkZHJlc3Nfc3BhY2Vbc3BhY2VdKTsKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1ZmZlcik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjZHJvbV9nZXRfcmFuZG9tX3dyaXRhYmxlKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLAogCQkJICAgICAgc3RydWN0IHJ3cnRfZmVhdHVyZV9kZXNjICpyZmQpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMjRdOwogCWludCByZXQ7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDI0LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAyNCwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIENHQ19EQVRBX1JFQUQpOwogCiAJY2djLmNtZFswXSA9IEdQQ01EX0dFVF9DT05GSUdVUkFUSU9OOwkvKiBvZnRlbiAweDQ2ICovCiAJY2djLmNtZFszXSA9IENERl9SV1JUOwkJCS8qIG9mdGVuIDB4MDAyMCAqLwotCWNnYy5jbWRbOF0gPSAyNDsJCSAgICAgICAgLyogb2Z0ZW4gMHgxOCAqLworCWNnYy5jbWRbOF0gPSBzaXplb2YoYnVmZmVyKTsJCS8qIG9mdGVuIDB4MTggKi8KIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKChyZXQgPSBjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJbWVtY3B5KHJmZCwgJmJ1ZmZlcltzaXplb2Yoc3RydWN0IGZlYXR1cmVfaGVhZGVyKV0sIHNpemVvZiAoKnJmZCkpOwotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX2hhc19kZWZlY3RfbWd0KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQogewogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7Ci0JY2hhciAqYnVmZmVyOworCWNoYXIgYnVmZmVyWzE2XTsKIAlfX2JlMTYgKmZlYXR1cmVfY29kZTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygxNiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1ZmZlciwgMTYsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCBDR0NfREFUQV9SRUFEKTsKIAogCWNnYy5jbWRbMF0gPSBHUENNRF9HRVRfQ09ORklHVVJBVElPTjsKIAljZ2MuY21kWzNdID0gQ0RGX0hXRE07Ci0JY2djLmNtZFs4XSA9IDE2OworCWNnYy5jbWRbOF0gPSBzaXplb2YoYnVmZmVyKTsKIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKChyZXQgPSBjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJZmVhdHVyZV9jb2RlID0gKF9fYmUxNiAqKSAmYnVmZmVyW3NpemVvZihzdHJ1Y3QgZmVhdHVyZV9oZWFkZXIpXTsKIAlpZiAoYmUxNl90b19jcHUoKmZlYXR1cmVfY29kZSkgPT0gQ0RGX0hXRE0pCi0JCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCQlyZXR1cm4gMDsKKworCXJldHVybiAxOwogfQogCiAKQEAgLTgzNywxNCArNzk2LDEwIEBACiBzdGF0aWMgaW50IG1vX29wZW5fd3JpdGUoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkpCiB7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMjU1XTsKIAlpbnQgcmV0OwogCi0JYnVmZmVyID0ga21hbGxvYygyNTUsIEdGUF9LRVJORUwpOwotCWlmICghYnVmZmVyKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDQsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCAmYnVmZmVyLCA0LCBDR0NfREFUQV9SRUFEKTsKIAljZ2MucXVpZXQgPSAxOwogCiAJLyoKQEAgLTg2MSwxNSArODE2LDEwIEBACiAJfQogCiAJLyogZHJpdmUgZ2F2ZSB1cyBubyBpbmZvLCBsZXQgdGhlIHVzZXIgZ28gYWhlYWQgKi8KLQlpZiAocmV0KSB7Ci0JCXJldCA9IDA7Ci0JCWdvdG8gZXJyOwotCX0KKwlpZiAocmV0KQorCQlyZXR1cm4gMDsKIAotCXJldCA9IGJ1ZmZlclszXSAmIDB4ODA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmZmVyKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiBidWZmZXJbM10gJiAweDgwOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX3JhbV9vcGVuX3dyaXRlKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQpAQCAtODkyLDE5ICs4NDIsMTUgQEAKIHN0YXRpYyB2b2lkIGNkcm9tX21tYzNfcHJvZmlsZShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSkKIHsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwotCWNoYXIgKmJ1ZmZlcjsKKwljaGFyIGJ1ZmZlclszMl07CiAJaW50IHJldCwgbW1jM19wcm9maWxlOwogCi0JYnVmZmVyID0ga21hbGxvYygzMiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWZmZXIpCi0JCXJldHVybjsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWZmZXIsIDMyLCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgQ0dDX0RBVEFfUkVBRCk7CiAKIAljZ2MuY21kWzBdID0gR1BDTURfR0VUX0NPTkZJR1VSQVRJT047CiAJY2djLmNtZFsxXSA9IDA7CiAJY2djLmNtZFsyXSA9IGNnYy5jbWRbM10gPSAwOwkJLyogU3RhcnRpbmcgRmVhdHVyZSBOdW1iZXIgKi8KLQljZ2MuY21kWzhdID0gMzI7CQkgICAgICAgIC8qIEFsbG9jYXRpb24gTGVuZ3RoICovCisJY2djLmNtZFs4XSA9IHNpemVvZihidWZmZXIpOwkJLyogQWxsb2NhdGlvbiBMZW5ndGggKi8KIAljZ2MucXVpZXQgPSAxOwogCiAJaWYgKChyZXQgPSBjZGktPm9wcy0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCkBAIC05MTMsNyArODU5LDYgQEAKIAkJbW1jM19wcm9maWxlID0gKGJ1ZmZlcls2XSA8PCA4KSB8IGJ1ZmZlcls3XTsKIAogCWNkaS0+bW1jM19wcm9maWxlID0gbW1jM19wcm9maWxlOwotCWtmcmVlKGJ1ZmZlcik7CiB9CiAKIHN0YXRpYyBpbnQgY2Ryb21faXNfZHZkX3J3KHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpKQpAQCAtMTYyOCwxNSArMTU3MywxMiBAQAogc3RhdGljIGludCBkdmRfZG9fYXV0aChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgZHZkX2F1dGhpbmZvICphaSkKIHsKIAlpbnQgcmV0OwotCXVfY2hhciAqYnVmOworCXVfY2hhciBidWZbMjBdOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwotCXJwY19zdGF0ZV90ICpycGNfc3RhdGU7CisJcnBjX3N0YXRlX3QgcnBjX3N0YXRlOwogCi0JYnVmID0ga3phbGxvYygyMCwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFidWYpCi0JCXJldHVybiAtRU5PTUVNOwotCisJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwogCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIDAsIENHQ19EQVRBX1JFQUQpOwogCiAJc3dpdGNoIChhaS0+dHlwZSkgewpAQCAtMTY0Nyw3ICsxNTg5LDcgQEAKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCBhaS0+bHNhLmFnaWQsIDApOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+bHNhLmFnaWQgPSBidWZbN10gPj4gNjsKIAkJLyogUmV0dXJuaW5nIGRhdGEsIGxldCBob3N0IGNoYW5nZSBzdGF0ZSAqLwpAQCAtMTY1OCw3ICsxNjAwLDcgQEAKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCBhaS0+bHNrLmFnaWQsIDIpOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQljb3B5X2tleShhaS0+bHNrLmtleSwgJmJ1Zls0XSk7CiAJCS8qIFJldHVybmluZyBkYXRhLCBsZXQgaG9zdCBjaGFuZ2Ugc3RhdGUgKi8KQEAgLTE2NjksNyArMTYxMSw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYy5hZ2lkLCAxKTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKIAkJY29weV9jaGFsKGFpLT5sc2MuY2hhbCwgJmJ1Zls0XSk7CiAJCS8qIFJldHVybmluZyBkYXRhLCBsZXQgaG9zdCBjaGFuZ2Ugc3RhdGUgKi8KQEAgLTE2ODYsNyArMTYyOCw3IEBACiAJCWNnYy5jbWRbMl0gPSBhaS0+bHN0ay5sYmEgPj4gMjQ7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCiAJCWFpLT5sc3RrLmNwbSA9IChidWZbNF0gPj4gNykgJiAxOwogCQlhaS0+bHN0ay5jcF9zZWMgPSAoYnVmWzRdID4+IDYpICYgMTsKQEAgLTE3MDAsNyArMTY0Miw3IEBACiAJCXNldHVwX3JlcG9ydF9rZXkoJmNnYywgYWktPmxzYXNmLmFnaWQsIDUpOwogCQkKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCiAJCWFpLT5sc2FzZi5hc2YgPSBidWZbN10gJiAxOwogCQlicmVhazsKQEAgLTE3MTMsNyArMTY1NSw3IEBACiAJCWNvcHlfY2hhbCgmYnVmWzRdLCBhaS0+aHNjLmNoYWwpOwogCiAJCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAogCQlhaS0+dHlwZSA9IERWRF9MVV9TRU5EX0tFWTE7CiAJCWJyZWFrOwpAQCAtMTcyNiw3ICsxNjY4LDcgQEAKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpIHsKIAkJCWFpLT50eXBlID0gRFZEX0FVVEhfRkFJTFVSRTsKLQkJCWdvdG8gZXJyOworCQkJcmV0dXJuIHJldDsKIAkJfQogCQlhaS0+dHlwZSA9IERWRF9BVVRIX0VTVEFCTElTSEVEOwogCQlicmVhazsKQEAgLTE3MzcsMjMgKzE2NzksMjQgQEAKIAkJY2RpbmZvKENEX0RWRCwgImVudGVyaW5nIERWRF9JTlZBTElEQVRFX0FHSURcbiIpOyAKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCBhaS0+bHNhLmFnaWQsIDB4M2YpOwogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAJCWJyZWFrOwogCiAJLyogR2V0IHJlZ2lvbiBzZXR0aW5ncyAqLwogCWNhc2UgRFZEX0xVX1NFTkRfUlBDX1NUQVRFOgogCQljZGluZm8oQ0RfRFZELCAiZW50ZXJpbmcgRFZEX0xVX1NFTkRfUlBDX1NUQVRFXG4iKTsKIAkJc2V0dXBfcmVwb3J0X2tleSgmY2djLCAwLCA4KTsKKwkJbWVtc2V0KCZycGNfc3RhdGUsIDAsIHNpemVvZihycGNfc3RhdGVfdCkpOworCQljZ2MuYnVmZmVyID0gKGNoYXIgKikgJnJwY19zdGF0ZTsKIAogCQlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCQlnb3RvIGVycjsKKwkJCXJldHVybiByZXQ7CiAKLQkJcnBjX3N0YXRlID0gKHJwY19zdGF0ZV90ICopYnVmOwotCQlhaS0+bHJwY3MudHlwZSA9IHJwY19zdGF0ZS0+dHlwZV9jb2RlOwotCQlhaS0+bHJwY3MudnJhID0gcnBjX3N0YXRlLT52cmE7Ci0JCWFpLT5scnBjcy51Y2NhID0gcnBjX3N0YXRlLT51Y2NhOwotCQlhaS0+bHJwY3MucmVnaW9uX21hc2sgPSBycGNfc3RhdGUtPnJlZ2lvbl9tYXNrOwotCQlhaS0+bHJwY3MucnBjX3NjaGVtZSA9IHJwY19zdGF0ZS0+cnBjX3NjaGVtZTsKKwkJYWktPmxycGNzLnR5cGUgPSBycGNfc3RhdGUudHlwZV9jb2RlOworCQlhaS0+bHJwY3MudnJhID0gcnBjX3N0YXRlLnZyYTsKKwkJYWktPmxycGNzLnVjY2EgPSBycGNfc3RhdGUudWNjYTsKKwkJYWktPmxycGNzLnJlZ2lvbl9tYXNrID0gcnBjX3N0YXRlLnJlZ2lvbl9tYXNrOworCQlhaS0+bHJwY3MucnBjX3NjaGVtZSA9IHJwY19zdGF0ZS5ycGNfc2NoZW1lOwogCQlicmVhazsKIAogCS8qIFNldCByZWdpb24gc2V0dGluZ3MgKi8KQEAgLTE3NjQsMjMgKzE3MDcsMjAgQEAKIAkJYnVmWzRdID0gYWktPmhycGNzLnBkcmM7CiAKIAkJaWYgKChyZXQgPSBjZG8tPmdlbmVyaWNfcGFja2V0KGNkaSwgJmNnYykpKQotCQkJZ290byBlcnI7CisJCQlyZXR1cm4gcmV0OwogCQlicmVhazsKIAogCWRlZmF1bHQ6CiAJCWNkaW5mbyhDRF9XQVJOSU5HLCAiSW52YWxpZCBEVkQga2V5IGlvY3RsICglZClcbiIsIGFpLT50eXBlKTsKLQkJcmV0ID0gLUVOT1RUWTsKLQkJZ290byBlcnI7CisJCXJldHVybiAtRU5PVFRZOwogCX0KLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGR2ZF9yZWFkX3BoeXNpY2FsKHN0cnVjdCBjZHJvbV9kZXZpY2VfaW5mbyAqY2RpLCBkdmRfc3RydWN0ICpzKQogewotCXVuc2lnbmVkIGNoYXIgKmJ1ZiwgKmJhc2U7CisJdW5zaWduZWQgY2hhciBidWZbMjFdLCAqYmFzZTsKIAlzdHJ1Y3QgZHZkX2xheWVyICpsYXllcjsKIAlzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgY2djOwogCXN0cnVjdCBjZHJvbV9kZXZpY2Vfb3BzICpjZG8gPSBjZGktPm9wczsKQEAgLTE3ODksMTEgKzE3MjksNyBAQAogCWlmIChsYXllcl9udW0gPj0gRFZEX0xBWUVSUykKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlidWYgPSBrbWFsbG9jKDIxLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCAyMSwgQ0dDX0RBVEFfUkVBRCk7CisJaW5pdF9jZHJvbV9jb21tYW5kKCZjZ2MsIGJ1Ziwgc2l6ZW9mKGJ1ZiksIENHQ19EQVRBX1JFQUQpOwogCWNnYy5jbWRbMF0gPSBHUENNRF9SRUFEX0RWRF9TVFJVQ1RVUkU7CiAJY2djLmNtZFs2XSA9IGxheWVyX251bTsKIAljZ2MuY21kWzddID0gcy0+dHlwZTsKQEAgLTE4MDUsNyArMTc0MSw3IEBACiAJY2djLnF1aWV0ID0gMTsKIAogCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAliYXNlID0gJmJ1Zls0XTsKIAlsYXllciA9ICZzLT5waHlzaWNhbC5sYXllcltsYXllcl9udW1dOwpAQCAtMTgyOSwyNCArMTc2NSwxNyBAQAogCWxheWVyLT5lbmRfc2VjdG9yX2wwID0gYmFzZVsxM10gPDwgMTYgfCBiYXNlWzE0XSA8PCA4IHwgYmFzZVsxNV07CiAJbGF5ZXItPmJjYSA9IGJhc2VbMTZdID4+IDc7CiAKLQlyZXQgPSAwOwotZXJyOgotCWtmcmVlKGJ1Zik7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBkdmRfcmVhZF9jb3B5cmlnaHQoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCiB7CiAJaW50IHJldDsKLQl1X2NoYXIgKmJ1ZjsKKwl1X2NoYXIgYnVmWzhdOwogCXN0cnVjdCBwYWNrZXRfY29tbWFuZCBjZ2M7CiAJc3RydWN0IGNkcm9tX2RldmljZV9vcHMgKmNkbyA9IGNkaS0+b3BzOwogCi0JYnVmID0ga21hbGxvYyg4LCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCA4LCBDR0NfREFUQV9SRUFEKTsKKwlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmLCBzaXplb2YoYnVmKSwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLmNtZFswXSA9IEdQQ01EX1JFQURfRFZEX1NUUlVDVFVSRTsKIAljZ2MuY21kWzZdID0gcy0+Y29weXJpZ2h0LmxheWVyX251bTsKIAljZ2MuY21kWzddID0gcy0+dHlwZTsKQEAgLTE4NTQsMTUgKzE3ODMsMTIgQEAKIAljZ2MuY21kWzldID0gY2djLmJ1ZmxlbiAmIDB4ZmY7CiAKIAlpZiAoKHJldCA9IGNkby0+Z2VuZXJpY19wYWNrZXQoY2RpLCAmY2djKSkpCi0JCWdvdG8gZXJyOworCQlyZXR1cm4gcmV0OwogCiAJcy0+Y29weXJpZ2h0LmNwc3QgPSBidWZbNF07CiAJcy0+Y29weXJpZ2h0LnJtaSA9IGJ1Zls1XTsKIAotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmKTsKLQlyZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGR2ZF9yZWFkX2Rpc2NrZXkoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCkBAIC0xODk0LDMzICsxODIwLDI2IEBACiBzdGF0aWMgaW50IGR2ZF9yZWFkX2JjYShzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwgZHZkX3N0cnVjdCAqcykKIHsKIAlpbnQgcmV0OwotCXVfY2hhciAqYnVmOworCXVfY2hhciBidWZbNCArIDE4OF07CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX29wcyAqY2RvID0gY2RpLT5vcHM7CiAKLQlidWYgPSBrbWFsbG9jKDQgKyAxODgsIEdGUF9LRVJORUwpOwotCWlmICghYnVmKQotCQlyZXR1cm4gLUVOT01FTTsKLQotCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIDQgKyAxODgsIENHQ19EQVRBX1JFQUQpOworCWluaXRfY2Ryb21fY29tbWFuZCgmY2djLCBidWYsIHNpemVvZihidWYpLCBDR0NfREFUQV9SRUFEKTsKIAljZ2MuY21kWzBdID0gR1BDTURfUkVBRF9EVkRfU1RSVUNUVVJFOwogCWNnYy5jbWRbN10gPSBzLT50eXBlOwogCWNnYy5jbWRbOV0gPSBjZ2MuYnVmbGVuICYgMHhmZjsKIAogCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAlzLT5iY2EubGVuID0gYnVmWzBdIDw8IDggfCBidWZbMV07CiAJaWYgKHMtPmJjYS5sZW4gPCAxMiB8fCBzLT5iY2EubGVuID4gMTg4KSB7CiAJCWNkaW5mbyhDRF9XQVJOSU5HLCAiUmVjZWl2ZWQgaW52YWxpZCBCQ0EgbGVuZ3RoICglZClcbiIsIHMtPmJjYS5sZW4pOwotCQlyZXQgPSAtRUlPOwotCQlnb3RvIGVycjsKKwkJcmV0dXJuIC1FSU87CiAJfQogCW1lbWNweShzLT5iY2EudmFsdWUsICZidWZbNF0sIHMtPmJjYS5sZW4pOwotCXJldCA9IDA7Ci1lcnI6Ci0Ja2ZyZWUoYnVmKTsKLQlyZXR1cm4gcmV0OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgZHZkX3JlYWRfbWFudWZhY3Qoc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGksIGR2ZF9zdHJ1Y3QgKnMpCkBAIC0yMDIwLDEzICsxOTM5LDkgQEAKIHsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX29wcyAqY2RvID0gY2RpLT5vcHM7CiAJc3RydWN0IHBhY2tldF9jb21tYW5kIGNnYzsKLQljaGFyICpidWZmZXI7CisJY2hhciBidWZmZXJbMzJdOwogCWludCByZXQ7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDMyLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWJ1ZmZlcikKLQkJcmV0dXJuIC1FTk9NRU07Ci0KIAlpbml0X2Nkcm9tX2NvbW1hbmQoJmNnYywgYnVmZmVyLCAxNiwgQ0dDX0RBVEFfUkVBRCk7CiAJY2djLmNtZFswXSA9IEdQQ01EX1JFQURfU1VCQ0hBTk5FTDsKIAljZ2MuY21kWzFdID0gMjsgICAgIC8qIE1TRiBhZGRyZXNzaW5nICovCkBAIC0yMDM1LDcgKzE5NTAsNyBAQAogCWNnYy5jbWRbOF0gPSAxNjsKIAogCWlmICgocmV0ID0gY2RvLT5nZW5lcmljX3BhY2tldChjZGksICZjZ2MpKSkKLQkJZ290byBlcnI7CisJCXJldHVybiByZXQ7CiAKIAlzdWJjaG5sLT5jZHNjX2F1ZGlvc3RhdHVzID0gY2djLmJ1ZmZlclsxXTsKIAlzdWJjaG5sLT5jZHNjX2Zvcm1hdCA9IENEUk9NX01TRjsKQEAgLTIwNTAsMTAgKzE5NjUsNyBAQAogCXN1YmNobmwtPmNkc2NfYWJzYWRkci5tc2Yuc2Vjb25kID0gY2djLmJ1ZmZlclsxMF07CiAJc3ViY2hubC0+Y2RzY19hYnNhZGRyLm1zZi5mcmFtZSA9IGNnYy5idWZmZXJbMTFdOwogCi0JcmV0ID0gMDsKLWVycjoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybiByZXQ7CisJcmV0dXJuIDA7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvTWFrZWZpbGUgYi9kcml2ZXJzL2NoYXIvTWFrZWZpbGUKaW5kZXggNGMxYzU4NC4uODE2MzBhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvY2hhci9NYWtlZmlsZQpAQCAtMTAxLDcgKzEwMSw2IEBACiAKIG9iai0kKENPTkZJR19NV0FWRSkJCSs9IG13YXZlLwogb2JqLSQoQ09ORklHX0FHUCkJCSs9IGFncC8KLW9iai0kKENPTkZJR19EUk0pCQkrPSBkcm0vCiBvYmotJChDT05GSUdfUENNQ0lBKQkJKz0gcGNtY2lhLwogb2JqLSQoQ09ORklHX0lQTUlfSEFORExFUikJKz0gaXBtaS8KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9hbWQ2NC1hZ3AuYyBiL2RyaXZlcnMvY2hhci9hZ3AvYW1kNjQtYWdwLmMKaW5kZXggMTM2NjVkYi4uNDgxZmZlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2FncC9hbWQ2NC1hZ3AuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2FtZDY0LWFncC5jCkBAIC0xNiwyOCArMTYsOSBAQAogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CQkvKiBQQUdFX1NJWkUgKi8KICNpbmNsdWRlIDxhc20vZTgyMC5oPgogI2luY2x1ZGUgPGFzbS9rOC5oPgorI2luY2x1ZGUgPGFzbS9nYXJ0Lmg+CiAjaW5jbHVkZSAiYWdwLmgiCiAKLS8qIFBURSBiaXRzLiAqLwotI2RlZmluZSBHUFRFX1ZBTElECTEKLSNkZWZpbmUgR1BURV9DT0hFUkVOVAkyCi0KLS8qIEFwZXJ0dXJlIGNvbnRyb2wgcmVnaXN0ZXIgYml0cy4gKi8KLSNkZWZpbmUgR0FSVEVOCQkoMTw8MCkKLSNkZWZpbmUgRElTR0FSVENQVQkoMTw8NCkKLSNkZWZpbmUgRElTR0FSVElPCSgxPDw1KQotCi0vKiBHQVJUIGNhY2hlIGNvbnRyb2wgcmVnaXN0ZXIgYml0cy4gKi8KLSNkZWZpbmUgSU5WR0FSVAkJKDE8PDApCi0jZGVmaW5lIEdBUlRQVEVFUlIJKDE8PDEpCi0KLS8qIEs4IE9uLWNwdSBHQVJUIHJlZ2lzdGVycyAqLwotI2RlZmluZSBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwJMHg5MAotI2RlZmluZSBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFCTB4OTQKLSNkZWZpbmUgQU1ENjRfR0FSVFRBQkxFQkFTRQkweDk4Ci0jZGVmaW5lIEFNRDY0X0dBUlRDQUNIRUNUTAkweDljCi0jZGVmaW5lIEFNRDY0X0dBUlRFTgkJKDE8PDApCi0KIC8qIE5WSURJQSBLOCByZWdpc3RlcnMgKi8KICNkZWZpbmUgTlZJRElBX1g4Nl82NF8wX0FQQkFTRQkJMHgxMAogI2RlZmluZSBOVklESUFfWDg2XzY0XzFfQVBCQVNFMQkJMHg1MApAQCAtMTY1LDI5ICsxNDYsMTggQEAKICAqIEluIGEgbXVsdGlwcm9jZXNzb3IgeDg2LTY0IHN5c3RlbSwgdGhpcyBmdW5jdGlvbiBnZXRzCiAgKiBjYWxsZWQgb25jZSBmb3IgZWFjaCBDUFUuCiAgKi8KLXN0YXRpYyB1NjQgYW1kNjRfY29uZmlndXJlIChzdHJ1Y3QgcGNpX2RldiAqaGFtbWVyLCB1NjQgZ2F0dF90YWJsZSkKK3N0YXRpYyB1NjQgYW1kNjRfY29uZmlndXJlKHN0cnVjdCBwY2lfZGV2ICpoYW1tZXIsIHU2NCBnYXR0X3RhYmxlKQogewogCXU2NCBhcGVydHVyZWJhc2U7CiAJdTMyIHRtcDsKLQl1NjQgYWRkciwgYXBlcl9iYXNlOworCXU2NCBhcGVyX2Jhc2U7CiAKIAkvKiBBZGRyZXNzIHRvIG1hcCB0byAqLwotCXBjaV9yZWFkX2NvbmZpZ19kd29yZCAoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmdG1wKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmdG1wKTsKIAlhcGVydHVyZWJhc2UgPSB0bXAgPDwgMjU7CiAJYXBlcl9iYXNlID0gKGFwZXJ0dXJlYmFzZSAmIFBDSV9CQVNFX0FERFJFU1NfTUVNX01BU0spOwogCi0JLyogYWRkcmVzcyBvZiB0aGUgbWFwcGluZ3MgdGFibGUgKi8KLQlhZGRyID0gKHU2NCkgZ2F0dF90YWJsZTsKLQlhZGRyID4+PSAxMjsKLQl0bXAgPSAodTMyKSBhZGRyPDw0OwotCXRtcCAmPSB+MHhmOwotCXBjaV93cml0ZV9jb25maWdfZHdvcmQgKGhhbW1lciwgQU1ENjRfR0FSVFRBQkxFQkFTRSwgdG1wKTsKLQotCS8qIEVuYWJsZSBHQVJUIHRyYW5zbGF0aW9uIGZvciB0aGlzIGhhbW1lci4gKi8KLQlwY2lfcmVhZF9jb25maWdfZHdvcmQoaGFtbWVyLCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsICZ0bXApOwotCXRtcCB8PSBHQVJURU47Ci0JdG1wICY9IH4oRElTR0FSVENQVSB8IERJU0dBUlRJTyk7Ci0JcGNpX3dyaXRlX2NvbmZpZ19kd29yZChoYW1tZXIsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgdG1wKTsKKwllbmFibGVfZ2FydF90cmFuc2xhdGlvbihoYW1tZXIsIGdhdHRfdGFibGUpOwogCiAJcmV0dXJuIGFwZXJfYmFzZTsKIH0KQEAgLTIyNiw5ICsxOTYsOSBAQAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX2s4X25vcnRoYnJpZGdlczsgaSsrKSB7CiAJCXN0cnVjdCBwY2lfZGV2ICpkZXYgPSBrOF9ub3J0aGJyaWRnZXNbaV07CiAJCS8qIGRpc2FibGUgZ2FydCB0cmFuc2xhdGlvbiAqLwotCQlwY2lfcmVhZF9jb25maWdfZHdvcmQgKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmdG1wKTsKKwkJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmdG1wKTsKIAkJdG1wICY9IH5BTUQ2NF9HQVJURU47Ci0JCXBjaV93cml0ZV9jb25maWdfZHdvcmQgKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCB0bXApOworCQlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCB0bXApOwogCX0KIH0KIApAQCAtMjU4LDI0ICsyMjgsMTAgQEAKIH07CiAKIC8qIFNvbWUgYmFzaWMgc2FuaXR5IGNoZWNrcyBmb3IgdGhlIGFwZXJ0dXJlLiAqLwotc3RhdGljIGludCBfX2RldmluaXQgYXBlcnR1cmVfdmFsaWQodTY0IGFwZXIsIHUzMiBzaXplKQorc3RhdGljIGludCBfX2RldmluaXQgYWdwX2FwZXJ0dXJlX3ZhbGlkKHU2NCBhcGVyLCB1MzIgc2l6ZSkKIHsKLQlpZiAoYXBlciA9PSAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBQRlggIk5vIGFwZXJ0dXJlXG4iKTsKKwlpZiAoIWFwZXJ0dXJlX3ZhbGlkKGFwZXIsIHNpemUsIDMyKjEwMjQqMTAyNCkpCiAJCXJldHVybiAwOwotCX0KLQlpZiAoc2l6ZSA8IDMyKjEwMjQqMTAyNCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJBcGVydHVyZSB0b28gc21hbGwgKCVkIE1CKVxuIiwgc2l6ZT4+MjApOwotCQlyZXR1cm4gMDsKLQl9Ci0gICAgICAgaWYgKCh1NjQpYXBlciArIHNpemUgPiAweDEwMDAwMDAwMFVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJBcGVydHVyZSBvdXQgb2YgYm91bmRzXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCWlmIChlODIwX2FueV9tYXBwZWQoYXBlciwgYXBlciArIHNpemUsIEU4MjBfUkFNKSkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJBcGVydHVyZSBwb2ludGluZyB0byBSQU1cbiIpOwotCQlyZXR1cm4gMDsKLQl9CiAKIAkvKiBSZXF1ZXN0IHRoZSBBcGVydHVyZS4gVGhpcyBjYXRjaGVzIGNhc2VzIHdoZW4gc29tZW9uZSBlbHNlCiAJICAgYWxyZWFkeSBwdXQgYSBtYXBwaW5nIGluIHRoZXJlIC0gaGFwcGVucyB3aXRoIHNvbWUgdmVyeSBicm9rZW4gQklPUwpAQCAtMzA4LDExICsyNjQsMTEgQEAKIAl1MzIgbmJfb3JkZXIsIG5iX2Jhc2U7CiAJdTE2IGFwc2l6ZTsKIAotCXBjaV9yZWFkX2NvbmZpZ19kd29yZChuYiwgMHg5MCwgJm5iX29yZGVyKTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQobmIsIEFNRDY0X0dBUlRBUEVSVFVSRUNUTCwgJm5iX29yZGVyKTsKIAluYl9vcmRlciA9IChuYl9vcmRlciA+PiAxKSAmIDc7Ci0JcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5iLCAweDk0LCAmbmJfYmFzZSk7CisJcGNpX3JlYWRfY29uZmlnX2R3b3JkKG5iLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCAmbmJfYmFzZSk7CiAJbmJfYXBlciA9IG5iX2Jhc2UgPDwgMjU7Ci0JaWYgKGFwZXJ0dXJlX3ZhbGlkKG5iX2FwZXIsICgzMioxMDI0KjEwMjQpPDxuYl9vcmRlcikpIHsKKwlpZiAoYWdwX2FwZXJ0dXJlX3ZhbGlkKG5iX2FwZXIsICgzMioxMDI0KjEwMjQpPDxuYl9vcmRlcikpIHsKIAkJcmV0dXJuIDA7CiAJfQogCkBAIC0zMzEsMTIgKzI4NywyMyBAQAogCXBjaV9yZWFkX2NvbmZpZ19kd29yZChhZ3AsIDB4MTAsICZhcGVyX2xvdyk7CiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKGFncCwgMHgxNCwgJmFwZXJfaGkpOwogCWFwZXIgPSAoYXBlcl9sb3cgJiB+KCgxPDwyMiktMSkpIHwgKCh1NjQpYXBlcl9oaSA8PCAzMik7CisKKwkvKgorCSAqIE9uIHNvbWUgc2ljayBjaGlwcyBBUFNJWkUgaXMgMC4gVGhpcyBtZWFucyBpdCB3YW50cyA0RworCSAqIHNvIGxldCBkb3VibGUgY2hlY2sgdGhhdCBvcmRlciwgYW5kIGxldHMgdHJ1c3QgdGhlIEFNRCBOQiBzZXR0aW5ncworCSAqLworCWlmIChvcmRlciA+PTAgJiYgYXBlciArICgzMlVMTDw8KDIwICsgb3JkZXIpKSA+IDB4MTAwMDAwMDAwVUxMKSB7CisJCXByaW50ayhLRVJOX0lORk8gIkFwZXJ0dXJlIHNpemUgJXUgTUIgaXMgbm90IHJpZ2h0LCB1c2luZyBzZXR0aW5ncyBmcm9tIE5CXG4iLAorCQkJCSAgMzIgPDwgb3JkZXIpOworCQlvcmRlciA9IG5iX29yZGVyOworCX0KKwogCXByaW50ayhLRVJOX0lORk8gUEZYICJBcGVydHVyZSBmcm9tIEFHUCBAICVMeCBzaXplICV1IE1CXG4iLCBhcGVyLCAzMiA8PCBvcmRlcik7Ci0JaWYgKG9yZGVyIDwgMCB8fCAhYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCk8PG9yZGVyKSkKKwlpZiAob3JkZXIgPCAwIHx8ICFhZ3BfYXBlcnR1cmVfdmFsaWQoYXBlciwgKDMyKjEwMjQqMTAyNCk8PG9yZGVyKSkKIAkJcmV0dXJuIC0xOwogCi0JcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgMHg5MCwgb3JkZXIgPDwgMSk7Ci0JcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgMHg5NCwgYXBlciA+PiAyNSk7CisJcGNpX3dyaXRlX2NvbmZpZ19kd29yZChuYiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCBvcmRlciA8PCAxKTsKKwlwY2lfd3JpdGVfY29uZmlnX2R3b3JkKG5iLCBBTUQ2NF9HQVJUQVBFUlRVUkVCQVNFLCBhcGVyID4+IDI1KTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jIGIvZHJpdmVycy9jaGFyL2FncC9mcm9udGVuZC5jCmluZGV4IGU2Y2IxYWIuLmE5NmYzMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hZ3AvZnJvbnRlbmQuYworKysgYi9kcml2ZXJzL2NoYXIvYWdwL2Zyb250ZW5kLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KICNpbmNsdWRlICJhZ3AuaCIKQEAgLTY3Nyw2ICs2NzgsNyBAQAogCXN0cnVjdCBhZ3BfY2xpZW50ICpjbGllbnQ7CiAJaW50IHJjID0gLUVOWElPOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOwogCiAJaWYgKG1pbm9yICE9IEFHUEdBUlRfTUlOT1IpCkBAIC03MDMsMTIgKzcwNSwxNCBAQAogCWFncF9pbnNlcnRfZmlsZV9wcml2YXRlKHByaXYpOwogCURCRygicHJpdmF0ZT0lcCwgY2xpZW50PSVwIiwgcHJpdiwgY2xpZW50KTsKIAltdXRleF91bmxvY2soJihhZ3BfZmUuYWdwX211dGV4KSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfb3V0X25vbWVtOgogCXJjID0gLUVOT01FTTsKIGVycl9vdXQ6CiAJbXV0ZXhfdW5sb2NrKCYoYWdwX2ZlLmFncF9tdXRleCkpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hZ3AvZ2VuZXJpYy5jIGIvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMKaW5kZXggNTY0ZGFhYS4uZWFhMWEzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMKKysrIGIvZHJpdmVycy9jaGFyL2FncC9nZW5lcmljLmMKQEAgLTEyNDksNyArMTI0OSw3IEBACiAKIHZvaWQgZ2xvYmFsX2NhY2hlX2ZsdXNoKHZvaWQpCiB7Ci0JaWYgKG9uX2VhY2hfY3B1KGlwaV9oYW5kbGVyLCBOVUxMLCAxLCAxKSAhPSAwKQorCWlmIChvbl9lYWNoX2NwdShpcGlfaGFuZGxlciwgTlVMTCwgMSkgIT0gMCkKIAkJcGFuaWMoUEZYICJ0aW1lZCBvdXQgd2FpdGluZyBmb3IgdGhlIG90aGVyIENQVXMhXG4iKTsKIH0KIEVYUE9SVF9TWU1CT0woZ2xvYmFsX2NhY2hlX2ZsdXNoKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMgYi9kcml2ZXJzL2NoYXIvYXBtLWVtdWxhdGlvbi5jCmluZGV4IGNkZDg3NmQuLmRhOGExNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9hcG0tZW11bGF0aW9uLmMKKysrIGIvZHJpdmVycy9jaGFyL2FwbS1lbXVsYXRpb24uYwpAQCAtMTMsNiArMTMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC00MTYsNiArNDE3LDcgQEAKIHsKIAlzdHJ1Y3QgYXBtX3VzZXIgKmFzOwogCisJbG9ja19rZXJuZWwoKTsKIAlhcyA9IGt6YWxsb2Moc2l6ZW9mKCphcyksIEdGUF9LRVJORUwpOwogCWlmIChhcykgewogCQkvKgpAQCAtNDM1LDYgKzQzNyw3IEBACiAKIAkJZmlscC0+cHJpdmF0ZV9kYXRhID0gYXM7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBhcyA/IDAgOiAtRU5PTUVNOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2JyaXFfcGFuZWwuYyBiL2RyaXZlcnMvY2hhci9icmlxX3BhbmVsLmMKaW5kZXggYjZmMjYzOS4uZDhjZmY5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2JyaXFfcGFuZWwuYworKysgYi9kcml2ZXJzL2NoYXIvYnJpcV9wYW5lbC5jCkBAIC02LDYgKzYsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KQEAgLTY3LDExICs2OCwxNSBAQAogCiBzdGF0aWMgaW50IGJyaXFfcGFuZWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlubywgc3RydWN0IGZpbGUgKmZpbGVwKQogewotCS8qIGVuZm9yY2Ugc2luZ2xlIGFjY2VzcyAqLwotCWlmICh2ZmRfaXNfb3BlbikKKwlsb2NrX2tlcm5lbCgpOworCS8qIGVuZm9yY2Ugc2luZ2xlIGFjY2VzcywgdmZkX2lzX29wZW4gaXMgcHJvdGVjdGVkIGJ5IEJLTCAqLworCWlmICh2ZmRfaXNfb3BlbikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCXZmZF9pc19vcGVuID0gMTsKIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2NzNTUzNV9ncGlvLmMgYi9kcml2ZXJzL2NoYXIvY3M1NTM1X2dwaW8uYwppbmRleCBjMGE0YTBiLi4wNGJhOTA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvY3M1NTM1X2dwaW8uYworKysgYi9kcml2ZXJzL2NoYXIvY3M1NTM1X2dwaW8uYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKQEAgLTE1Nyw2ICsxNTgsNyBAQAogewogCXUzMiBtID0gaW1pbm9yKGlub2RlKTsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyogdGhlIG1hc2sgc2F5cyB3aGljaCBwaW5zIGFyZSB1c2FibGUgYnkgdGhpcyBkcml2ZXIgKi8KIAlpZiAoKG1hc2sgJiAoMSA8PCBtKSkgPT0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvY3ljbGFkZXMuYyBiL2RyaXZlcnMvY2hhci9jeWNsYWRlcy5jCmluZGV4IGVmNzNlNzIuLjZiZmY5ZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9jeWNsYWRlcy5jCisrKyBiL2RyaXZlcnMvY2hhci9jeWNsYWRlcy5jCkBAIC00NjY4LDcgKzQ2NjgsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19kZXZpbml0IGN5el9mcGdhX2NvcHkodm9pZCBfX2lvbWVtICpmcGdhLCB1OCAqZGF0YSwKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2RldmluaXQgY3l6X2ZwZ2FfY29weSh2b2lkIF9faW9tZW0gKmZwZ2EsIGNvbnN0IHU4ICpkYXRhLAogCQl1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKIAlmb3IgKDsgc2l6ZSA+IDA7IHNpemUtLSkgewpAQCAtNDcwMSwxMCArNDcwMSwxMCBAQAogCQljb25zdCBjaGFyICpuYW1lLCBjb25zdCB1MzIgbWFpbGJveCwgdm9pZCBfX2lvbWVtICpiYXNlLAogCQl2b2lkIF9faW9tZW0gKmZwZ2EpCiB7Ci0Jdm9pZCAqcHRyID0gZnctPmRhdGE7Ci0Jc3RydWN0IHpmaWxlX2hlYWRlciAqaCA9IHB0cjsKLQlzdHJ1Y3QgemZpbGVfY29uZmlnICpjLCAqY3M7Ci0Jc3RydWN0IHpmaWxlX2Jsb2NrICpiLCAqYnM7CisJY29uc3Qgdm9pZCAqcHRyID0gZnctPmRhdGE7CisJY29uc3Qgc3RydWN0IHpmaWxlX2hlYWRlciAqaCA9IHB0cjsKKwljb25zdCBzdHJ1Y3QgemZpbGVfY29uZmlnICpjLCAqY3M7CisJY29uc3Qgc3RydWN0IHpmaWxlX2Jsb2NrICpiLCAqYnM7CiAJdW5zaWduZWQgaW50IGEsIHRtcCwgbGVuID0gZnctPnNpemU7CiAjZGVmaW5lIEJBRF9GVyBLRVJOX0VSUiAiQmFkIGZpcm13YXJlOiAiCiAJaWYgKGxlbiA8IHNpemVvZigqaCkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2NoYXIvZHJtL01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMjgzZGVkLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvY2hhci9kcm0vTWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0jCi0jIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKLSMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCi0KLWRybS1vYmpzICAgIDo9CWRybV9hdXRoLm8gZHJtX2J1ZnMubyBkcm1fY29udGV4dC5vIGRybV9kbWEubyBkcm1fZHJhd2FibGUubyBcCi0JCWRybV9kcnYubyBkcm1fZm9wcy5vIGRybV9pb2N0bC5vIGRybV9pcnEubyBcCi0JCWRybV9sb2NrLm8gZHJtX21lbW9yeS5vIGRybV9wcm9jLm8gZHJtX3N0dWIubyBkcm1fdm0ubyBcCi0JCWRybV9hZ3BzdXBwb3J0Lm8gZHJtX3NjYXR0ZXIubyBhdGlfcGNpZ2FydC5vIGRybV9wY2kubyBcCi0JCWRybV9zeXNmcy5vIGRybV9oYXNodGFiLm8gZHJtX3NtYW4ubyBkcm1fbW0ubwotCi10ZGZ4LW9ianMgICA6PSB0ZGZ4X2Rydi5vCi1yMTI4LW9ianMgICA6PSByMTI4X2Rydi5vIHIxMjhfY2NlLm8gcjEyOF9zdGF0ZS5vIHIxMjhfaXJxLm8KLW1nYS1vYmpzICAgIDo9IG1nYV9kcnYubyBtZ2FfZG1hLm8gbWdhX3N0YXRlLm8gbWdhX3dhcnAubyBtZ2FfaXJxLm8KLWk4MTAtb2JqcyAgIDo9IGk4MTBfZHJ2Lm8gaTgxMF9kbWEubwotaTgzMC1vYmpzICAgOj0gaTgzMF9kcnYubyBpODMwX2RtYS5vIGk4MzBfaXJxLm8KLWk5MTUtb2JqcyAgIDo9IGk5MTVfZHJ2Lm8gaTkxNV9kbWEubyBpOTE1X2lycS5vIGk5MTVfbWVtLm8KLXJhZGVvbi1vYmpzIDo9IHJhZGVvbl9kcnYubyByYWRlb25fY3AubyByYWRlb25fc3RhdGUubyByYWRlb25fbWVtLm8gcmFkZW9uX2lycS5vIHIzMDBfY21kYnVmLm8KLXNpcy1vYmpzICAgIDo9IHNpc19kcnYubyBzaXNfbW0ubwotc2F2YWdlLW9ianMgOj0gc2F2YWdlX2Rydi5vIHNhdmFnZV9iY2kubyBzYXZhZ2Vfc3RhdGUubwotdmlhLW9ianMgICAgOj0gdmlhX2lycS5vIHZpYV9kcnYubyB2aWFfbWFwLm8gdmlhX21tLm8gdmlhX2RtYS5vIHZpYV92ZXJpZmllci5vIHZpYV92aWRlby5vIHZpYV9kbWFibGl0Lm8KLQotaWZlcSAoJChDT05GSUdfQ09NUEFUKSx5KQotZHJtLW9ianMgICAgKz0gZHJtX2lvYzMyLm8KLXJhZGVvbi1vYmpzICs9IHJhZGVvbl9pb2MzMi5vCi1tZ2Etb2JqcyAgICArPSBtZ2FfaW9jMzIubwotcjEyOC1vYmpzICAgKz0gcjEyOF9pb2MzMi5vCi1pOTE1LW9ianMgICArPSBpOTE1X2lvYzMyLm8KLWVuZGlmCi0KLW9iai0kKENPTkZJR19EUk0pCSs9IGRybS5vCi1vYmotJChDT05GSUdfRFJNX1RERlgpCSs9IHRkZngubwotb2JqLSQoQ09ORklHX0RSTV9SMTI4KQkrPSByMTI4Lm8KLW9iai0kKENPTkZJR19EUk1fUkFERU9OKSs9IHJhZGVvbi5vCi1vYmotJChDT05GSUdfRFJNX01HQSkJKz0gbWdhLm8KLW9iai0kKENPTkZJR19EUk1fSTgxMCkJKz0gaTgxMC5vCi1vYmotJChDT05GSUdfRFJNX0k4MzApCSs9IGk4MzAubwotb2JqLSQoQ09ORklHX0RSTV9JOTE1KSAgKz0gaTkxNS5vCi1vYmotJChDT05GSUdfRFJNX1NJUykgICArPSBzaXMubwotb2JqLSQoQ09ORklHX0RSTV9TQVZBR0UpKz0gc2F2YWdlLm8KLW9iai0kKENPTkZJR19EUk1fVklBKQkrPXZpYS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHMxMjg2LmMgYi9kcml2ZXJzL2NoYXIvZHMxMjg2LmMKaW5kZXggZWEzNWFiMi4uZmI1ODQ5MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kczEyODYuYworKysgYi9kcml2ZXJzL2NoYXIvZHMxMjg2LmMKQEAgLTI3LDYgKzI3LDcgQEAKICAqIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KICNpbmNsdWRlIDxsaW51eC9kczEyODYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0yNTIsNiArMjUzLDcgQEAKIAogc3RhdGljIGludCBkczEyODZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJmRzMTI4Nl9sb2NrKTsKIAogCWlmIChkczEyODZfc3RhdHVzICYgUlRDX0lTX09QRU4pCkBAIC0yNjAsMTAgKzI2MiwxMiBAQAogCWRzMTI4Nl9zdGF0dXMgfD0gUlRDX0lTX09QRU47CiAKIAlzcGluX3VubG9ja19pcnEoJmRzMTI4Nl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIG91dF9idXN5OgogCXNwaW5fbG9ja19pcnEoJmRzMTI4Nl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FQlVTWTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RzMTYyMC5jIGIvZHJpdmVycy9jaGFyL2RzMTYyMC5jCmluZGV4IDMzNGFkNWIuLjM0Mjc1YzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9kczE2MjAuYworKysgYi9kcml2ZXJzL2NoYXIvZHMxNjIwLmMKQEAgLTgsNiArOCw3IEBACiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CkBAIC0yMDgsNiArMjA5LDEyIEBACiAJdGhlcm0tPmhpID0gY3Z0XzlfdG9faW50KGRzMTYyMF9pbihUSEVSTV9SRUFEX1RILCA5KSk7CiB9CiAKK3N0YXRpYyBpbnQgZHMxNjIwX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKKwlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7Cit9CisKIHN0YXRpYyBzc2l6ZV90CiBkczE2MjBfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnB0cikKIHsKQEAgLTMzNiw3ICszNDMsNyBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkczE2MjBfZm9wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLm9wZW4JCT0gbm9uc2Vla2FibGVfb3BlbiwKKwkub3BlbgkJPSBkczE2MjBfb3BlbiwKIAkucmVhZAkJPSBkczE2MjBfcmVhZCwKIAkuaW9jdGwJCT0gZHMxNjIwX2lvY3RsLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kc3A1NmsuYyBiL2RyaXZlcnMvY2hhci9kc3A1NmsuYwppbmRleCBhNjljNjUyLi5iOWEzMGMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHNwNTZrLmMKKysrIGIvZHJpdmVycy9jaGFyL2RzcDU2ay5jCkBAIC0zMyw2ICszMyw5IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogCiAjaW5jbHVkZSA8YXNtL2F0YXJpaHcuaD4KICNpbmNsdWRlIDxhc20vdHJhcHMuaD4KQEAgLTkyLDQ5ICs5NSw2IEBACiAJfSBcCiB9CiAKLS8qIERTUDU2MDAxIGJvb3RzdHJhcCBjb2RlICovCi1zdGF0aWMgY2hhciBib290c3RyYXBbXSA9IHsKLQkweDBjLCAweDAwLCAweDQwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4NjAsIDB4ZjQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NGYsIDB4NjEsIDB4ZjQsCi0JMHgwMCwgMHgwMCwgMHg3ZSwgMHhhOSwgMHgwNiwgMHgyZSwgMHg4MCwgMHgwMCwgMHgwMCwgMHg0NywKLQkweDA3LCAweGQ4LCAweDg0LCAweDA3LCAweDU5LCAweDg0LCAweDA4LCAweGY0LCAweGE4LCAweDAwLAotCTB4MDAsIDB4MDQsIDB4MDgsIDB4ZjQsIDB4YmYsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsIDB4ZmUsCi0JMHhiOCwgMHgwYSwgMHhmMCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhOSwgMHgwOCwgMHhmNCwgMHhhMCwKLQkweDAwLCAweDAwLCAweDAxLCAweDA4LCAweGY0LCAweGJlLCAweDAwLCAweDAwLCAweDAwLCAweDBhLAotCTB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4YWQsIDB4MDgsIDB4NGUsIDB4MmIsIDB4NDQsIDB4ZjQsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHg0NCwgMHhmNCwgMHg0NSwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDBlLCAweGEwLCAweDAwLCAweDBhLCAweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGI1LCAweDA4LAotCTB4NTAsIDB4MmIsIDB4MGEsIDB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4YjgsIDB4MDgsIDB4NDYsCi0JMHgyYiwgMHg0NCwgMHhmNCwgMHg0NSwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMCwgMHhhYSwKLQkweDAwLCAweDdlLCAweGM5LCAweDIwLCAweDAwLCAweDQ1LCAweDBhLCAweGYwLCAweGFhLCAweDAwLAotCTB4N2UsIDB4ZDAsIDB4MDYsIDB4YzYsIDB4MDAsIDB4MDAsIDB4N2UsIDB4YzYsIDB4MGEsIDB4YTksCi0JMHg4MCwgMHgwMCwgMHg3ZSwgMHhjNCwgMHgwOCwgMHg1OCwgMHg2YiwgMHgwYSwgMHhmMCwgMHg4MCwKLQkweDAwLCAweDdlLCAweGFkLCAweDA2LCAweGM2LCAweDAwLCAweDAwLCAweDdlLCAweGNkLCAweDBhLAotCTB4YTksIDB4ODAsIDB4MDAsIDB4N2UsIDB4Y2IsIDB4MDgsIDB4NTgsIDB4YWIsIDB4MGEsIDB4ZjAsCi0JMHg4MCwgMHgwMCwgMHg3ZSwgMHhhZCwgMHgwNiwgMHhjNiwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhkNCwKLQkweDBhLCAweGE5LCAweDgwLCAweDAwLCAweDdlLCAweGQyLCAweDA4LCAweDU4LCAweGViLCAweDBhLAotCTB4ZjAsIDB4ODAsIDB4MDAsIDB4N2UsIDB4YWR9Owotc3RhdGljIGludCBzaXplb2ZfYm9vdHN0cmFwID0gMzc1OwotCi0KIHN0YXRpYyBzdHJ1Y3QgZHNwNTZrX2RldmljZSB7CiAJdW5zaWduZWQgbG9uZyBpbl91c2U7CiAJbG9uZyBtYXhpbywgdGltZW91dDsKQEAgLTE2NCwxOCArMTI0LDQwIEBACiAKIHN0YXRpYyBpbnQgZHNwNTZrX3VwbG9hZCh1X2NoYXIgX191c2VyICpiaW4sIGludCBsZW4pCiB7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgZndfbmFtZVtdID0gImRzcDU2ay9ib290c3RyYXAuYmluIjsKKwlpbnQgZXJyOwogCWludCBpOwotCXVfY2hhciAqcDsKLQkKKwogCWRzcDU2a19yZXNldCgpOwotICAKLQlwID0gYm9vdHN0cmFwOwotCWZvciAoaSA9IDA7IGkgPCBzaXplb2ZfYm9vdHN0cmFwLzM7IGkrKykgewotCQkvKiB0eF93YWl0KDEwKTsgKi8KLQkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsxXSA9ICpwKys7Ci0JCWRzcDU2a19ob3N0X2ludGVyZmFjZS5kYXRhLmJbMl0gPSAqcCsrOwotCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzNdID0gKnArKzsKKworCXBkZXYgPSBwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfc2ltcGxlKCJkc3A1NmsiLCAwLCBOVUxMLCAwKTsKKwlpZiAoSVNfRVJSKHBkZXYpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIHJlZ2lzdGVyIGRldmljZSBmb3IgXCIlc1wiXG4iLAorCQkgICAgICAgZndfbmFtZSk7CisJCXJldHVybiAtRUlOVkFMOwogCX0KKwllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgJnBkZXYtPmRldik7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIocGRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KKwlpZiAoZnctPnNpemUgJSAzKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQm9ndXMgbGVuZ3RoICVkIGluIGltYWdlIFwiJXNcIlxuIiwKKwkJICAgICAgIGZ3LT5zaXplLCBmd19uYW1lKTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgZnctPnNpemU7IGkgPSBpICsgMykgeworCQkvKiB0eF93YWl0KDEwKTsgKi8KKwkJZHNwNTZrX2hvc3RfaW50ZXJmYWNlLmRhdGEuYlsxXSA9IGZ3LT5kYXRhW2ldOworCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzJdID0gZnctPmRhdGFbaSArIDFdOworCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzNdID0gZnctPmRhdGFbaSArIDJdOworCX0KKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAlmb3IgKDsgaSA8IDUxMjsgaSsrKSB7CiAJCS8qIHR4X3dhaXQoMTApOyAqLwogCQlkc3A1NmtfaG9zdF9pbnRlcmZhY2UuZGF0YS5iWzFdID0gMDsKQEAgLTQzNiwxMyArNDE4LDE3IEBACiBzdGF0aWMgaW50IGRzcDU2a19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCWludCBkZXYgPSBpbWlub3IoaW5vZGUpICYgMHgwZjsKKwlpbnQgcmV0ID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3dpdGNoKGRldikKIAl7CiAJY2FzZSBEU1A1NktfREVWXzU2MDAxOgogCi0JCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkc3A1NmsuaW5fdXNlKSkKLQkJCXJldHVybiAtRUJVU1k7CisJCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZkc3A1NmsuaW5fdXNlKSkgeworCQkJcmV0ID0gLUVCVVNZOworCQkJZ290byBvdXQ7CisJCX0KIAogCQlkc3A1NmsudGltZW91dCA9IFRJTUVPVVQ7CiAJCWRzcDU2ay5tYXhpbyA9IE1BWElPOwpAQCAtNDU4LDEwICs0NDQsMTEgQEAKIAkJYnJlYWs7CiAKIAlkZWZhdWx0OgotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcmV0ID0gLUVOT0RFVjsKIAl9Ci0KLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBkc3A1NmtfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKQEAgLTUzNCwzICs1MjEsNCBAQAogbW9kdWxlX2V4aXQoZHNwNTZrX2NsZWFudXBfZHJpdmVyKTsKIAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0ZJUk1XQVJFKCJkc3A1NmsvYm9vdHN0cmFwLmJpbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2R0bGsuYyBiL2RyaXZlcnMvY2hhci9kdGxrLmMKaW5kZXggYWJkZTZkZC4uNmI5MDBiMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2R0bGsuYworKysgYi9kcml2ZXJzL2NoYXIvZHRsay5jCkBAIC01Niw2ICs1Niw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4JLyogZm9yIC1FQlVTWSAqLwogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgkvKiBmb3IgcmVxdWVzdF9yZWdpb24gKi8KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgkvKiBmb3IgbG9vcHNfcGVyX2ppZmZ5ICovCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4JLyogY3ljbGVfa2VybmVsX2xvY2soKSAqLwogI2luY2x1ZGUgPGFzbS9pby5oPgkJLyogZm9yIGluYl9wLCBvdXRiX3AsIGluYiwgb3V0YiwgZXRjLiAqLwogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CS8qIGZvciBnZXRfdXNlciwgZXRjLiAqLwogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4JCS8qIGZvciB3YWl0X3F1ZXVlICovCkBAIC0yODgsMTAgKzI4OSwxMiBAQAogCX0KIH0KIAorLyogTm90ZSB0aGF0IG5vYm9keSBldmVyIHNldHMgZHRsa19idXN5Li4uICovCiBzdGF0aWMgaW50IGR0bGtfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAlUUkFDRV9URVhUKCIoZHRsa19vcGVuIik7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCW5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOwogCXN3aXRjaCAoaW1pbm9yKGlub2RlKSkgewogCWNhc2UgRFRMS19NSU5PUjoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9lZmlydGMuYyBiL2RyaXZlcnMvY2hhci9lZmlydGMuYwppbmRleCA0OTIzM2Y1Li5kNTdjYTNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZWZpcnRjLmMKKysrIGIvZHJpdmVycy9jaGFyL2VmaXJ0Yy5jCkBAIC0yOCw2ICsyOCw3IEBACiAgKi8KIAogCisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMjcyLDYgKzI3Myw3IEBACiAJICogV2UgZG8gYWNjZXB0IG11bHRpcGxlIG9wZW4gZmlsZXMgYXQgdGhlIHNhbWUgdGltZSBhcyB3ZQogCSAqIHN5bmNocm9uaXplIG9uIHRoZSBwZXIgY2FsbCBvcGVyYXRpb24uCiAJICovCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2dlbnJ0Yy5jIGIvZHJpdmVycy9jaGFyL2dlbnJ0Yy5jCmluZGV4IDY5ZjBhMjkuLmFhYzA5ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9nZW5ydGMuYworKysgYi9kcml2ZXJzL2NoYXIvZ2VucnRjLmMKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dvcmtxdWV1ZS5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KQEAgLTMzOCwxMiArMzM5LDE2IEBACiAKIHN0YXRpYyBpbnQgZ2VuX3J0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChnZW5fcnRjX3N0YXR1cyAmIFJUQ19JU19PUEVOKQorCWxvY2tfa2VybmVsKCk7CisJaWYgKGdlbl9ydGNfc3RhdHVzICYgUlRDX0lTX09QRU4pIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAogCWdlbl9ydGNfc3RhdHVzIHw9IFJUQ19JU19PUEVOOwogCWdlbl9ydGNfaXJxX2RhdGEgPSAwOwogCWlycV9hY3RpdmUgPSAwOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2hwZXQuYyBiL2RyaXZlcnMvY2hhci9ocGV0LmMKaW5kZXggZTdmYjBiYy4uZmIwYTg1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2hwZXQuYworKysgYi9kcml2ZXJzL2NoYXIvaHBldC5jCkBAIC0xNCw2ICsxNCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgpAQCAtMTkzLDYgKzE5NCw3IEBACiAJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQlyZXR1cm4gLUVJTlZBTDsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmaHBldF9sb2NrKTsKIAogCWZvciAoZGV2cCA9IE5VTEwsIGhwZXRwID0gaHBldHM7IGhwZXRwICYmICFkZXZwOyBocGV0cCA9IGhwZXRwLT5ocF9uZXh0KQpAQCAtMjA3LDYgKzIwOSw3IEBACiAKIAlpZiAoIWRldnApIHsKIAkJc3Bpbl91bmxvY2tfaXJxKCZocGV0X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCkBAIC0yMTQsNiArMjE3LDcgQEAKIAlkZXZwLT5oZF9pcnFkYXRhID0gMDsKIAlkZXZwLT5oZF9mbGFncyB8PSBIUEVUX09QRU47CiAJc3Bpbl91bmxvY2tfaXJxKCZocGV0X2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2h2Y194ZW4uYyBiL2RyaXZlcnMvY2hhci9odmNfeGVuLmMKaW5kZXggZGQ2OGY4NS4uZGIyYWU0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2h2Y194ZW4uYworKysgYi9kcml2ZXJzL2NoYXIvaHZjX3hlbi5jCkBAIC0zOSw5ICszOSwxNCBAQAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAorc3RhdGljIHVuc2lnbmVkIGxvbmcgY29uc29sZV9wZm4gPSB+MHVsOworCiBzdGF0aWMgaW5saW5lIHN0cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqeGVuY29uc19pbnRlcmZhY2Uodm9pZCkKIHsKLQlyZXR1cm4gbWZuX3RvX3ZpcnQoeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCWlmIChjb25zb2xlX3BmbiA9PSB+MHVsKQorCQlyZXR1cm4gbWZuX3RvX3ZpcnQoeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4pOworCWVsc2UKKwkJcmV0dXJuIF9fdmEoY29uc29sZV9wZm4gPDwgUEFHRV9TSElGVCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlfZGFlbW9uKHZvaWQpCkBAIC0xMDEsMjAgKzEwNiwzMiBAQAogewogCXN0cnVjdCBodmNfc3RydWN0ICpocDsKIAotCWlmICghaXNfcnVubmluZ19vbl94ZW4oKSkKLQkJcmV0dXJuIDA7CisJaWYgKCFpc19ydW5uaW5nX29uX3hlbigpIHx8CisJICAgIGlzX2luaXRpYWxfeGVuZG9tYWluKCkgfHwKKwkgICAgIXhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huKQorCQlyZXR1cm4gLUVOT0RFVjsKIAogCXhlbmNvbnNfaXJxID0gYmluZF9ldnRjaG5fdG9faXJxKHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huKTsKIAlpZiAoeGVuY29uc19pcnEgPCAwKQotCQl4ZW5jb25zX2lycSA9IDAgLyogTk9fSVJRICovOworCQl4ZW5jb25zX2lycSA9IDA7IC8qIE5PX0lSUSAqLworCiAJaHAgPSBodmNfYWxsb2MoSFZDX0NPT0tJRSwgeGVuY29uc19pcnEsICZodmNfb3BzLCAyNTYpOwogCWlmIChJU19FUlIoaHApKQogCQlyZXR1cm4gUFRSX0VSUihocCk7CiAKIAlodmMgPSBocDsKKworCWNvbnNvbGVfcGZuID0gbWZuX3RvX3Bmbih4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CisKIAlyZXR1cm4gMDsKIH0KIAordm9pZCB4ZW5fY29uc29sZV9yZXN1bWUodm9pZCkKK3sKKwlpZiAoeGVuY29uc19pcnEpCisJCXJlYmluZF9ldnRjaG5faXJxKHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huLCB4ZW5jb25zX2lycSk7Cit9CisKIHN0YXRpYyB2b2lkIF9fZXhpdCB4ZW5fZmluaSh2b2lkKQogewogCWlmIChodmMpCkBAIC0xMzQsMTIgKzE1MSwyOCBAQAogbW9kdWxlX2V4aXQoeGVuX2ZpbmkpOwogY29uc29sZV9pbml0Y2FsbCh4ZW5fY29uc19pbml0KTsKIAorc3RhdGljIHZvaWQgcmF3X2NvbnNvbGVfd3JpdGUoY29uc3QgY2hhciAqc3RyLCBpbnQgbGVuKQoreworCXdoaWxlKGxlbiA+IDApIHsKKwkJaW50IHJjID0gSFlQRVJWSVNPUl9jb25zb2xlX2lvKENPTlNPTEVJT193cml0ZSwgbGVuLCAoY2hhciAqKXN0cik7CisJCWlmIChyYyA8PSAwKQorCQkJYnJlYWs7CisKKwkJc3RyICs9IHJjOworCQlsZW4gLT0gcmM7CisJfQorfQorCisjaWZkZWYgQ09ORklHX0VBUkxZX1BSSU5USwogc3RhdGljIHZvaWQgeGVuYm9vdF93cml0ZV9jb25zb2xlKHN0cnVjdCBjb25zb2xlICpjb25zb2xlLCBjb25zdCBjaGFyICpzdHJpbmcsCiAJCQkJICB1bnNpZ25lZCBsZW4pCiB7CiAJdW5zaWduZWQgaW50IGxpbmVsZW4sIG9mZiA9IDA7CiAJY29uc3QgY2hhciAqcG9zOwogCisJcmF3X2NvbnNvbGVfd3JpdGUoc3RyaW5nLCBsZW4pOworCisJd3JpdGVfY29uc29sZSgwLCAiKGVhcmx5KSAiLCA4KTsKIAl3aGlsZSAob2ZmIDwgbGVuICYmIE5VTEwgIT0gKHBvcyA9IHN0cmNocihzdHJpbmcrb2ZmLCAnXG4nKSkpIHsKIAkJbGluZWxlbiA9IHBvcy1zdHJpbmcrb2ZmOwogCQlpZiAob2ZmICsgbGluZWxlbiA+IGxlbikKQEAgLTE1NSw1ICsxODgsMjMgQEAKIHN0cnVjdCBjb25zb2xlIHhlbmJvb3RfY29uc29sZSA9IHsKIAkubmFtZQkJPSAieGVuYm9vdCIsCiAJLndyaXRlCQk9IHhlbmJvb3Rfd3JpdGVfY29uc29sZSwKLQkuZmxhZ3MJCT0gQ09OX1BSSU5UQlVGRkVSIHwgQ09OX0JPT1QsCisJLmZsYWdzCQk9IENPTl9QUklOVEJVRkZFUiB8IENPTl9CT09UIHwgQ09OX0FOWVRJTUUsCiB9OworI2VuZGlmCS8qIENPTkZJR19FQVJMWV9QUklOVEsgKi8KKwordm9pZCB4ZW5fcmF3X2NvbnNvbGVfd3JpdGUoY29uc3QgY2hhciAqc3RyKQoreworCXJhd19jb25zb2xlX3dyaXRlKHN0ciwgc3RybGVuKHN0cikpOworfQorCit2b2lkIHhlbl9yYXdfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXN0YXRpYyBjaGFyIGJ1Zls1MTJdOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwl2c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXhlbl9yYXdfY29uc29sZV93cml0ZShidWYpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2h3X3JhbmRvbS9jb3JlLmMgYi9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYwppbmRleCA2NjJkNjBlLi5lNWQ1ODNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYworKysgYi9kcml2ZXJzL2NoYXIvaHdfcmFuZG9tL2NvcmUuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTg2LDYgKzg3LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJaWYgKGZpbHAtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQlyZXR1cm4gLUVJTlZBTDsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXAyL2ZpcF9maXJtLmggYi9kcml2ZXJzL2NoYXIvaXAyL2ZpcF9maXJtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNTI1ZmEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9jaGFyL2lwMi9maXBfZmlybS5oCisrKyAvZGV2L251bGwKQEAgLTEsMjE0OSArMCwwIEBACi0vKiBmaXBfZmlybS5oIC0gSW50ZWxsaXBvcnQgSUkgbG9hZHdhcmUgKi8KLS8qIC0zMTIzMiBieXRlcyByZWFkIGZyb20gZmYubG9kICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGZpcF9maXJtW10gX19pbml0ZGF0YSA9IHsKLTB4M0MsMHg0MiwweDM3LDB4MTgsMHgwMiwweDAxLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDU3LDB4NjUsMHg2NCwweDIwLDB4NDQsMHg2NSwweDYzLDB4MjAsMHgzMCwweDMxLDB4MjAsMHgzMSwweDMyLDB4M0EsMHgzMiwweDM0LAotMHgzQSwweDMzLDB4MzAsMHgyMCwweDMxLDB4MzksMHgzOSwweDM5LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4RTksMHg2QywweDBGLDB4NDIsMHg2NSwweDQ3LDB4NjksMHg0RSwweDZFLDB4NDksMHg2RSwweDQ3LDB4MjAsMHg2RiwweDQ2LDB4MjAsCi0weDYzLDB4NEYsMHg2NCwweDQ1LDB4Q0MsMHgxMywweDVBLDB4MTUsMHhFOCwweDE2LDB4NzYsMHgxOCwweDA0LDB4MUEsMHg5MiwweDFCLAotMHgyMCwweDFELDB4QUUsMHgxRSwweDNDLDB4MjAsMHhDQSwweDIxLDB4NTgsMHgyMywweEU2LDB4MjQsMHg3NCwweDI2LDB4MDIsMHgyOCwKLTB4OTAsMHgyOSwweDFFLDB4MkIsMHhBQywweDJDLDB4M0EsMHgyRSwweEM4LDB4MkYsMHg1NiwweDMxLDB4RTQsMHgzMiwweDcyLDB4MzQsCi0weDAwLDB4MzYsMHg4RSwweDM3LDB4MUMsMHgzOSwweEFBLDB4M0EsMHgzOCwweDNDLDB4QzYsMHgzRCwweDU0LDB4M0YsMHhFMiwweDQwLAotMHg3MCwweDQyLDB4RkUsMHg0MywweDhDLDB4NDUsMHgxQSwweDQ3LDB4QTgsMHg0OCwweDM2LDB4NEEsMHhDNCwweDRCLDB4NTIsMHg0RCwKLTB4RTAsMHg0RSwweDZFLDB4NTAsMHhGQywweDUxLDB4OEEsMHg1MywweDE4LDB4NTUsMHhBNiwweDU2LDB4MzQsMHg1OCwweEMyLDB4NTksCi0weDUwLDB4NUIsMHhERSwweDVDLDB4NkMsMHg1RSwweEZBLDB4NUYsMHg4OCwweDYxLDB4MTYsMHg2MywweEE0LDB4NjQsMHgzMiwweDY2LAotMHhDMCwweDY3LDB4NEUsMHg2OSwweERDLDB4NkEsMHg2QSwweDZDLDB4RjgsMHg2RCwweDg2LDB4NkYsMHgxNCwweDcxLDB4QTIsMHg3MiwKLTB4MzAsMHg3NCwweEJFLDB4NzUsMHg0QywweDc3LDB4NkMsMHg3NywweDhDLDB4NzcsMHhBQywweDc3LDB4MzMsMHhEQiwweDhBLDB4REMsCi0weDUzLDB4MzMsMHhEQiwweDI1LDB4MDcsMHgwMCwweDc1LDB4MEEsMHg4QSwweDFFLDB4MDgsMHgwMSwweDgzLDB4RTMsMHgwQywweEVCLAotMHgyMCwweDkwLDB4M0MsMHgwMSwweDc1LDB4MEEsMHg4QSwweDFFLDB4MDgsMHgwMSwweDgwLDB4RTMsMHhDMCwweEVCLDB4MTIsMHg5MCwKLTB4OEEsMHgxRSwweDBELDB4MDEsMHgzQywweDAyLDB4NzUsMHgwNiwweDgwLDB4RTMsMHgwQywweEVCLDB4MDQsMHg5MCwweDgwLDB4RTMsCi0weEMwLDB4NTMsMHg1MCwweDhCLDB4MUUsMHhCQSwweDEzLDB4OEUsMHhEQiwweEU4LDB4NkEsMHg2NSwweDU1LDB4OEIsMHhFQywweDUzLAotMHgxRSwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OEIsMHg1RSwweDA0LDB4QzEsMHhFMywweDA0LDB4MDMsMHg1RSwweDA2LDB4RDEsMHhFMywKLTB4MkUsMHg4QiwweDlGLDB4NDQsMHgwMCwweDhELDB4NDcsMHgyQSwweDFFLDB4NUEsMHgxRiwweDVCLDB4NUQsMHhDMywweDU1LDB4OEIsCi0weEVDLDB4NTMsMHgxRSwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OEIsMHg1RSwweDA0LDB4QzEsMHhFMywweDA0LDB4MDMsMHg1RSwweDA2LAotMHhEMSwweEUzLDB4MkUsMHg4QiwweDlGLDB4NDQsMHgwMCwweDhELDB4NDcsMHgzNCwweDFFLDB4NUEsMHgxRiwweDVCLDB4NUQsMHhDMywKLTB4RkIsMHg1NSwweDhCLDB4RUMsMHg1MywweDUxLDB4NTIsMHg1NiwweDU3LDB4MUUsMHgwNiwweDFFLDB4MDcsMHgzMywweEMwLDB4OEUsCi0weEQ4LDB4OEIsMHg1RSwweDA0LDB4MjYsMHg4QSwweDQ3LDB4NTksMHgyNSwweDAzLDB4MDAsMHg4QiwweEYwLDB4RDEsMHhFNiwweDJFLAotMHg4QiwweEI0LDB4QzQsMHgwMCwweEMxLDB4RTAsMHgwNCwweDI2LDB4MDIsMHg0NywweDFBLDB4RDEsMHhFMCwweDhCLDB4RTgsMHgyRSwKLTB4OEIsMHhBRSwweDQ0LDB4MDAsMHg4OSwweDJDLDB4MjYsMHg4QSwweDQ3LDB4MUMsMHg4OCwweDQ0LDB4MEYsMHgyNiwweDhBLDB4NDcsCi0weDFELDB4ODgsMHg0NCwweDEwLDB4MjYsMHg4QSwweDQ3LDB4MUUsMHg4OCwweDQ0LDB4MTEsMHgyNiwweDhBLDB4NDcsMHgxRiwweDg4LAotMHg0NCwweDEyLDB4MjYsMHg4QSwweDQ3LDB4MjAsMHg4OCwweDQ0LDB4MTMsMHgyNiwweDhBLDB4NDcsMHgyMywweDg4LDB4NDQsMHgxNCwKLTB4MjYsMHg4QSwweDQ3LDB4MjQsMHg4OCwweDQ0LDB4MTUsMHgyNiwweDhBLDB4NDcsMHg1QSwweDg4LDB4NDQsMHgwRSwweDMzLDB4QzAsCi0weDg5LDB4NDQsMHgwNiwweDg5LDB4NDQsMHgwOCwweDg4LDB4NDQsMHgwQiwweDg4LDB4NDQsMHgwQSwweEIwLDB4MjEsMHhCNCwweDY0LAotMHg4OSwweDQ0LDB4MDQsMHg4OSwweDQ0LDB4MDIsMHhCMCwweDU1LDB4ODgsMHg0NCwweDBELDB4ODgsMHg0NCwweDBDLDB4RTgsMHg2QSwKLTB4MDAsMHg3MiwweDVCLDB4RTgsMHhDOSwweDAwLDB4RTgsMHhDMSwweDEwLDB4ODksMHg0NCwweDA4LDB4ODAsMHg3QywweDBGLDB4MDEsCi0weDc0LDB4MjksMHhFOCwweDJCLDB4MDIsMHhFOCwweDdGLDB4MDIsMHg4MCwweDdDLDB4MEYsMHgwMywweDc0LDB4MUQsMHhFOCwweEE5LAotMHgxMCwweDhCLDB4RjgsMHgyQiwweDQ0LDB4MDgsMHgzRCwweEEwLDB4MEYsMHg3MiwweDEwLDB4ODksMHg3QywweDA4LDB4MzMsMHhDMCwKLTB4ODcsMHg0NCwweDA2LDB4ODUsMHhDMCwweDc1LDB4MDQsMHhDNiwweDQ0LDB4MEEsMHhGRiwweDhBLDB4NDQsMHgwQSwweDg0LDB4QzAsCi0weDc1LDB4MEIsMHhCOCwweDA4LDB4MDAsMHhFOCwweDZBLDB4NEEsMHhFOCwweEE5LDB4MDEsMHg3MywweEJGLDB4RTgsMHg0RiwweDAxLAotMHg4MSwweDY2LDB4NDgsMHg3RiwweEZGLDB4ODMsMHg2NiwweDdBLDB4QkYsMHhCMCwweDAyLDB4RTgsMHgwNCwweDBFLDB4OEEsMHg0NCwKLTB4MEEsMHg5OCwweDA3LDB4MUYsMHg1RiwweDVFLDB4NUEsMHg1OSwweDVCLDB4NUQsMHhDMywweDgxLDB4NEUsMHg0OCwweDgwLDB4MDAsCi0weEIwLDB4NDAsMHhFOCwweDNELDB4NEEsMHhFOCwweDg5LDB4NDAsMHg3MywweDJBLDB4RTgsMHg0RCwweDEwLDB4OEIsMHhEOCwweEIwLAotMHgwNSwweEU4LDB4MkUsMHg0QSwweEY2LDB4NDYsMHgyNywweDAyLDB4NzUsMHgxQSwweEU4LDB4M0QsMHgxMCwweDJCLDB4QzMsMHgzRCwKLTB4NTgsMHgxQiwweDcyLDB4RUIsMHg4MSwweDY2LDB4NDgsMHg3RiwweEZGLDB4QjAsMHgwMiwweEU4LDB4QzQsMHgwRCwweEM2LDB4NDQsCi0weDBBLDB4MDEsMHhGOSwweEMzLDB4ODMsMHg0RSwweDdBLDB4NDAsMHhGOCwweEMzLDB4RkIsMHhCMCwweDAxLDB4RTgsMHgwMiwweDRBLAotMHhGQSwweEU4LDB4OTksMHgxRSwweEU0LDB4MEEsMHg4NCwweEMwLDB4NzUsMHhGMCwweEIwLDB4NEUsMHhFNiwweDBBLDB4RkIsMHhCMCwKLTB4MDEsMHhFOCwweEVFLDB4NDksMHhGQSwweEU4LDB4ODUsMHgxRSwweEU0LDB4MEEsMHg4NCwweEMwLDB4NzUsMHhGMCwweEMzLDB4RkEsCi0weEU4LDB4N0EsMHgxRSwweEU0LDB4RUMsMHg4OCwweDQ0LDB4MTYsMHhFNCwweEU0LDB4ODgsMHg0NCwweDE3LDB4RTQsMHhGOCwweDg4LAotMHg0NCwweDE4LDB4RTQsMHhGMCwweDg4LDB4NDQsMHgxOSwweEU0LDB4MTAsMHg4OCwweDQ0LDB4MUEsMHhFNCwweDEyLDB4ODgsMHg0NCwKLTB4MUIsMHhFNCwweDE0LDB4ODgsMHg0NCwweDFDLDB4RTQsMHgzNCwweDg4LDB4NDQsMHgxRCwweEU0LDB4MzYsMHg4OCwweDQ0LDB4MUUsCi0weEU0LDB4RDgsMHgyNCwweDAxLDB4OEEsMHhFMCwweEU0LDB4REEsMHgyNCwweDAyLDB4MEEsMHhDNCwweDg4LDB4NDQsMHgxRiwweDhBLAotMHg0NCwweDEwLDB4RTgsMHhDRCwweDFGLDB4OEEsMHg0NCwweDExLDB4RTgsMHgzNSwweDIxLDB4OEEsMHg0NCwweDEyLDB4RTgsMHg4OSwKLTB4MjEsMHg4QSwweDQ0LDB4MTMsMHhFOCwweDQzLDB4MjEsMHhDNiwweDg2LDB4QTEsMHgwMCwweDAwLDB4RTQsMHgxNCwweDI0LDB4MTAsCi0weEU2LDB4MTQsMHhFNCwweDEyLDB4MjQsMHgzRCwweEU2LDB4MTIsMHg4QSwweDQ0LDB4MTUsMHgzQywweDAxLDB4NzIsMHgxRSwweDc3LAotMHgxNiwweEIwLDB4MTEsMHhFNiwweDM0LDB4QjAsMHgxMywweEU2LDB4MzYsMHhFNCwweDE0LDB4MEMsMHgxMCwweEU2LDB4MTQsMHhFNCwKLTB4MTIsMHgwQywweDQwLDB4RTYsMHgxMiwweEVCLDB4MDYsMHhFNCwweDEyLDB4MEMsMHgwMiwweEU2LDB4MTIsMHg4QSwweDQ0LDB4MEYsCi0weDNDLDB4MDEsMHg3NCwweDA2LDB4M0MsMHgwMiwweDc0LDB4MEEsMHhFQiwweDBFLDB4RTQsMHgxMiwweDBDLDB4MDgsMHhFNiwweDEyLAotMHhFQiwweDA2LDB4RTQsMHgxMiwweDBDLDB4MTAsMHhFNiwweDEyLDB4RTgsMHgyRiwweEZGLDB4OEEsMHg0NCwweDE0LDB4M0MsMHgwMiwKLTB4NzUsMHgwOCwweEIwLDB4NTUsMHg4OCwweDQ0LDB4MEMsMHg4OCwweDQ0LDB4MEQsMHhCMCwweDIxLDB4QjQsMHg2NCwweDg5LDB4NDQsCi0weDA0LDB4ODksMHg0NCwweDAyLDB4RTQsMHgwQywweDBDLDB4MTAsMHhFNiwweDBDLDB4RTgsMHhFRCwweDM5LDB4RkIsMHhDMywweEU4LAotMHg1RiwweDNGLDB4NzMsMHgwOCwweEZCLDB4QjAsMHgwQSwweEU4LDB4MDgsMHg0OSwweEVCLDB4RjMsMHhGQSwweEU4LDB4OUQsMHgxRCwKLTB4OEEsMHg2NCwweDE2LDB4OEEsMHg0NCwweDE3LDB4ODksMHg4NiwweDk0LDB4MDAsMHhFNiwweEU0LDB4OEEsMHhDNCwweEU2LDB4RUMsCi0weDhBLDB4NjQsMHgxOCwweDhBLDB4NDQsMHgxOSwweDg5LDB4ODYsMHg5NiwweDAwLDB4RTYsMHhGMCwweDhBLDB4QzQsMHhFNiwweEY4LAotMHg4QSwweDQ0LDB4MUEsMHhFNiwweDEwLDB4OEEsMHg0NCwweDFCLDB4RTYsMHgxMiwweDhBLDB4NDQsMHgxQywweEU2LDB4MTQsMHg4QSwKLTB4NDQsMHgxRCwweEU2LDB4MzQsMHg4QSwweDQ0LDB4MUUsMHhFNiwweDM2LDB4OEEsMHg0NCwweDFGLDB4RTYsMHhEOCwweEU2LDB4REEsCi0weEU5LDB4QjcsMHhGRSwweDkwLDB4RkEsMHg4QSwweDQ0LDB4MEUsMHhFNiwweEZFLDB4RTQsMHgwMiwweEE4LDB4MDEsMHg3NSwweDA1LAotMHgzMywweEMwLDB4RkIsMHhGOCwweEMzLDB4MzMsMHhDMCwweEU0LDB4MDAsMHhGQiwweEY5LDB4QzMsMHg4QSwweDY0LDB4MTQsMHg4MCwKLTB4RkMsMHgwMiwweDc0LDB4MkIsMHhGRSwweEMwLDB4RkUsMHhDNywweDgwLDB4RkYsMHg0RSwweDcyLDB4MUMsMHg3NCwweDA5LDB4ODAsCi0weEZGLDB4NTAsMHg3MywweDA4LDB4QjAsMHgwQSwweEVCLDB4MTcsMHhCMCwweDBELDB4RUIsMHgxMywweDAyLDB4REMsMHgzMiwweEZGLAotMHg4MCwweEZCLDB4N0YsMHg3QywweDAyLDB4QjMsMHgyMSwweDhBLDB4QzMsMHgzQywweDdGLDB4N0MsMHgwMiwweEIwLDB4MjEsMHhDMywKLTB4RkEsMHg4MCwweDdDLDB4MEIsMHgwNCwweDc2LDB4MDIsMHhGQiwweEMzLDB4OEIsMHg0NiwweDI0LDB4M0QsMHgwOCwweDAwLDB4NzIsCi0weEY2LDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4OEEsMHg0NCwweDBDLDB4OEIsMHg1QywweDAyLDB4QUEsMHhFOCwweEFCLAotMHhGRiwweEFBLDB4RTgsMHhBNywweEZGLDB4QUEsMHhFOCwweEEzLDB4RkYsMHhBQSwweEU4LDB4OUYsMHhGRiwweDg4LDB4NDQsMHgwQywKLTB4ODksMHg1QywweDAyLDB4ODAsMHg0NCwweDBCLDB4MDQsMHg4OSwweDdFLDB4MjIsMHg4MywweDZFLDB4MjQsMHgwNCwweDgzLDB4NDYsCi0weDFBLDB4MDQsMHg4MCwweDdFLDB4MjYsMHgwMiwweDc0LDB4MDYsMHg4MCwweDY2LDB4MjYsMHhGRCwweEZCLDB4QzMsMHg2MCwweEIwLAotMHhGRCwweEU4LDB4MDIsMHgzRiwweDYxLDB4RkIsMHhDMywweEZBLDB4ODAsMHg3QywweDBGLDB4MDMsMHg3NSwweDA5LDB4QzYsMHg0NCwKLTB4MEIsMHgwMCwweEU4LDB4RTUsMHgzOCwweEZCLDB4QzMsMHhDNCwweDdFLDB4MTQsMHg4QiwweDRFLDB4M0EsMHg4NSwweEM5LDB4NzUsCi0weDM1LDB4MjYsMHg4QiwweDBELDB4NDcsMHg0NywweEUzLDB4RUEsMHgzQiwweDdFLDB4MDQsMHg3NiwweDIyLDB4QjgsMHgwMiwweDAwLAotMHgzOSwweDQ2LDB4MkUsMHg3NywweDA3LDB4QzcsMHg0NiwweDJFLDB4MDAsMHgwMCwweEVCLDB4MTMsMHg4QiwweDVFLDB4MkMsMHg4OSwKLTB4NUUsMHgwNCwweDI2LDB4QzcsMHgwNywweDAwLDB4MDAsMHg0MywweDQzLDB4ODksMHg1RSwweDJDLDB4MjksMHg0NiwweDJFLDB4ODUsCi0weEM5LDB4NzgsMHhDRSwweDg5LDB4NEUsMHgzQSwweDhBLDB4NDQsMHgwRCwweDhCLDB4NUMsMHgwNCwweDI2LDB4OEEsMHgyNSwweDQ3LAotMHgzQSwweEM0LDB4NzUsMHgxNiwweEZFLDB4NEMsMHgwQiwweEZGLDB4NDQsMHgwNiwweEU4LDB4MEYsMHhGRiwweEUyLDB4RUQsMHg4OCwKLTB4NDQsMHgwRCwweDg5LDB4NUMsMHgwNCwweDg5LDB4NEUsMHgzQSwweEVCLDB4QTcsMHhDNiwweDQ0LDB4MEEsMHhGRSwweEU4LDB4NzksCi0weDM4LDB4RkIsMHhDMywweDkwLDB4RTgsMHhCMywweDBELDB4OEEsMHhFOCwweDhBLDB4MEUsMHhDQiwweDEzLDB4QjMsMHgwNywweDhBLAotMHhDMSwweEVFLDB4RUIsMHgwMCwweEVDLDB4M0EsMHhDMSwweDc1LDB4MDksMHgwMiwweENELDB4RkUsMHhDQiwweDc1LDB4RjAsMHhFQiwKLTB4MEMsMHg5MCwweDg4LDB4MEUsMHhDQiwweDEzLDB4OEEsMHhFOCwweEJCLDB4RkYsMHhGRiwweEY5LDB4QzMsMHg4OCwweDBFLDB4Q0IsCi0weDEzLDB4RjgsMHhDMywweDkwLDB4QkIsMHgzRiwweDNGLDB4OEEsMHg4RSwweDlFLDB4MDAsMHhCQSwweEZFLDB4MDAsMHhFQywweDhBLAotMHhFOCwweDMyLDB4QzEsMHgyMiwweEMzLDB4NzUsMHgwMiwweEY4LDB4QzMsMHhGOSwweEMzLDB4OTAsMHhFOCwweEU1LDB4RkYsMHg3MywKLTB4MDEsMHhDMywweEJBLDB4RDAsMHgwMCwweEJCLDB4MDMsMHgwMywweDhBLDB4OEUsMHg5RiwweDAwLDB4RUMsMHg4QSwweEU4LDB4MzIsCi0weEMxLDB4MjIsMHhDMywweDc1LDB4MDIsMHhGOCwweEMzLDB4RjksMHhDMywweDkwLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLAotMHg4MCwweDNFLDB4QzgsMHgxMywweDAwLDB4NzUsMHgwNywweEIwLDB4MEEsMHhFOCwweDI2LDB4NDcsMHhFQiwweEYyLDB4RkIsMHgzMywKLTB4REIsMHg4QSwweDFFLDB4QzksMHgxMywweDQzLDB4NDMsMHg4MywweEZCLDB4N0UsMHg3NiwweDA3LDB4MzMsMHhEQiwweEIwLDB4MDIsCi0weEU4LDB4MEYsMHg0NywweDJFLDB4OEIsMHhBRiwweDQ0LDB4MDAsMHg4MywweDdFLDB4MDgsMHgwMCwweDc0LDB4RTcsMHg4OCwweDFFLAotMHhDOSwweDEzLDB4QjAsMHgwMiwweEU4LDB4RkIsMHg0NiwweEZBLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MTQsMHhFOCwKLTB4OTYsMHgxQiwweEU4LDB4N0YsMHhGRiwweDcyLDB4MUMsMHgzMywweEQyLDB4OEEsMHg5NiwweDlGLDB4MDAsMHg4MywweEMyLDB4MEUsCi0weEVCLDB4MEMsMHg5MCwweEU4LDB4NzcsMHgxQiwweEU4LDB4ODMsMHhGRiwweDcyLDB4MDgsMHhCQSwweDQ4LDB4MDAsMHhFOCwweDMzLAotMHhGRiwweDczLDB4QUIsMHgyMywweENCLDB4ODksMHg4RSwweDlBLDB4MDAsMHg4OSwweDk2LDB4OUMsMHgwMCwweEZFLDB4ODYsMHhCNSwKLTB4MDAsMHhDNiwweDA2LDB4QzgsMHgxMywweDAwLDB4QjAsMHgwQSwweEU4LDB4NjcsMHgwQSwweEZCLDB4RUIsMHg4OSwweDEwLDB4MTgsCi0weDA4LDB4MjgsMHgzMywweEMwLDB4QTAsMHgwNSwweDAxLDB4OEEsMHhDOCwweDI0LDB4NDAsMHg3NSwweDI0LDB4QzcsMHgwNiwweDdDLAotMHgxMiwweDhFLDB4NDUsMHhDNywweDA2LDB4NDIsMHgxMiwweDAxLDB4MDAsMHhDNiwweDA2LDB4NTQsMHgxMiwweDAyLDB4QjAsMHgwOCwKLTB4RjYsMHhDMSwweDAxLDB4NzQsMHgwMiwweEIwLDB4MDQsMHhBMywweDQ2LDB4MTIsMHhBMiwweDRDLDB4MTIsMHhBMiwweDk0LDB4MTIsCi0weEMzLDB4QzcsMHgwNiwweDdDLDB4MTIsMHhCNiwweDQ1LDB4QTAsMHgwRiwweDAxLDB4ODQsMHhDMCwweDc1LDB4MEUsMHg2QSwweDAwLAotMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MUUsMHg5QywweDBFLDB4RTgsMHhCMSwweDBDLDB4OTAsMHhDNywweDA2LDB4NDQsMHgxMiwKLTB4MDEsMHgwMCwweEEzLDB4NDIsMHgxMiwweDhCLDB4RDgsMHhDMSwweEUzLDB4MDQsMHg4OCwweDFFLDB4OTQsMHgxMiwweEJFLDB4RTIsCi0weDA1LDB4MkIsMHhGMCwweDhCLDB4QzgsMHgzMywweERCLDB4OEIsMHhGQiwweDJFLDB4QUMsMHg4OCwweDg1LDB4NDgsMHgxMiwweDhBLAotMHhEOCwweDBDLDB4MDUsMHhFNiwweEZFLDB4OEEsMHhFMCwweEVCLDB4MDAsMHhFNCwweEZFLDB4MzIsMHhDNCwweEE4LDB4M0YsMHg3NCwKLTB4MDMsMHhFOSwweDlFLDB4MDAsMHhFNCwweDAwLDB4ODgsMHg4NSwweDUwLDB4MTIsMHg4QSwweEUwLDB4MjQsMHgzMCwweEJBLDB4MTAsCi0weEZGLDB4M0MsMHgzMCwweDc0LDB4MTIsMHg4MCwweEZDLDB4MDQsMHg3NCwweDBBLDB4QkEsMHgwNCwweDAzLDB4RjYsMHgwNiwweDA4LAotMHgwMSwweEZFLDB4NzQsMHgwMywweEJBLDB4MDgsMHgwRiwweDg4LDB4OTUsMHg0QywweDEyLDB4MDIsMHhGQSwweDMyLDB4QzAsMHhGNiwKLTB4QzQsMHgwOCwweDc0LDB4MDIsMHhCMCwweDAxLDB4ODgsMHg4NSwweDU4LDB4MTIsMHg4QSwweEM0LDB4M0MsMHgzNSwweDc0LDB4NUIsCi0weDNDLDB4MzYsMHg3NCwweDU3LDB4M0MsMHgzNCwweDc0LDB4NTMsMHgzQywweDA0LDB4NzQsMHg0RiwweDNDLDB4MTQsMHg3NCwweDRCLAotMHgzQywweDE1LDB4NzQsMHg0NywweEE4LDB4NDAsMHg3NCwweDI1LDB4QzYsMHg4NSwweDU0LDB4MTIsMHgwNCwweEQxLDB4RTcsMHhCNCwKLTB4MDMsMHg4QSwweEMzLDB4ODksMHg4NSwweDVDLDB4MTIsMHg4QSwweEMzLDB4OEEsMHhFMywweDgwLDB4Q0MsMHgwMSwweDg5LDB4ODUsCi0weDY0LDB4MTIsMHhEMSwweEVGLDB4NDcsMHhFMiwweDAzLDB4RUIsMHgxQSwweDkwLDB4RTksMHg2QywweEZGLDB4QzYsMHg4NSwweDU0LAotMHgxMiwweDAyLDB4RDEsMHhFNywweDhBLDB4RTYsMHg4QSwweEMzLDB4MEMsMHgwNCwweDg5LDB4ODUsMHg1QywweDEyLDB4RDEsMHhFRiwKLTB4NDcsMHhFMiwweEU3LDB4MzMsMHhDMCwweDhBLDB4QzcsMHhBMywweDQ2LDB4MTIsMHhDMywweEM2LDB4ODUsMHg1NCwweDEyLDB4MDYsCi0weEVCLDB4QkIsMHhDNiwweDg1LDB4NTQsMHgxMiwweDAwLDB4MzMsMHhDMCwweDg4LDB4ODUsMHg1MCwweDEyLDB4ODgsMHg4NSwweDRDLAotMHgxMiwweDg4LDB4ODUsMHg1OCwweDEyLDB4RUIsMHhBNiwweEM3LDB4NDYsMHgyNiwweDAyLDB4MTIsMHg4QiwweDQ2LDB4MUUsMHg4OSwKLTB4NDYsMHgwMCwweDg5LDB4NDYsMHgyMiwweDhCLDB4NDYsMHgyMCwweDg5LDB4NDYsMHgyNCwweEM3LDB4NDYsMHgxQSwweDAwLDB4MDAsCi0weEMzLDB4QzcsMHg0NiwweDNDLDB4ODAsMHgwMCwweEM3LDB4NDYsMHgzOCwweDAxLDB4MDAsMHgxRSwweDU2LDB4OEIsMHg3NiwweDMwLAotMHg4OSwweDc2LDB4MDQsMHg4OSwweDc2LDB4MTQsMHg4RSwweDVFLDB4MDYsMHgzMywweEMwLDB4ODksMHgwNCwweDQ2LDB4NDYsMHg4OSwKLTB4NzYsMHgyQywweDg5LDB4NDYsMHgzQSwweDhCLDB4NDYsMHgzMiwweDQ4LDB4NDgsMHg4OSwweDQ2LDB4MkUsMHg1RSwweDFGLDB4QzMsCi0weDMzLDB4QzAsMHg4OSwweDQ2LDB4NDgsMHg4OSwweDQ2LDB4NEEsMHhDNywweDQ2LDB4NDYsMHhBRSwweDAxLDB4ODksMHg0NiwweDRFLAotMHg4QiwweDQ2LDB4NDQsMHg4OSwweDQ2LDB4NTAsMHg4QiwweDQ2LDB4NDIsMHg4OSwweDQ2LDB4NDAsMHg4OSwweDQ2LDB4MDgsMHhDMywKLTB4MzMsMHhDMCwweDg5LDB4NDYsMHg3NiwweDg5LDB4NDYsMHg3OCwweEM3LDB4NDYsMHg3QSwweDEwLDB4MDAsMHg1NiwweDFFLDB4OEIsCi0weDc2LDB4NzAsMHg4OSwweDc2LDB4MTAsMHg4OSwweDc2LDB4MEMsMHg4RSwweDVFLDB4MTIsMHhDNywweDA0LDB4MDAsMHgwMCwweDhCLAotMHg0NiwweDcyLDB4ODksMHg0NiwweDc0LDB4MUYsMHg1RSwweEMzLDB4ODksMHg1NiwweDE4LDB4ODksMHg1NiwweDAyLDB4ODksMHg1NiwKLTB4MDYsMHg4OSwweDU2LDB4MEEsMHg4OSwweDU2LDB4MEUsMHg4OSwweDU2LDB4MTIsMHg4OSwweDU2LDB4MTYsMHg4QiwweEQ4LDB4NEIsCi0weDRCLDB4QzEsMHhFMywweDAyLDB4QkYsMHgwMiwweDAwLDB4ODksMHg3RSwweDFFLDB4MDMsMHhGQiwweDg5LDB4N0UsMHgzMCwweDAzLAotMHhGQiwweDg5LDB4N0UsMHg0MiwweDAzLDB4RkIsMHg4OSwweDdFLDB4NzAsMHg4MywweEVCLDB4MDgsMHg4OSwweDVFLDB4MjAsMHg4OSwKLTB4NUUsMHgzMiwweDg5LDB4NUUsMHg0NCwweDg5LDB4NUUsMHg3MiwweDUwLDB4RTgsMHgyQiwweEZGLDB4RTgsMHg3MSwweEZGLDB4RTgsCi0weDNGLDB4RkYsMHhFOCwweDhCLDB4RkYsMHg1OCwweEMzLDB4QjgsMHgzMCwweDc1LDB4QzEsMHhFOCwweDA0LDB4MEUsMHg1QiwweDAzLAotMHhDMywweEEzLDB4QkEsMHgxMywweDgzLDB4M0UsMHg0MiwweDEyLDB4MDAsMHg3NCwweDA3LDB4ODAsMHgzRSwweDk0LDB4MTIsMHgwMCwKLTB4NzUsMHgwRSwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MUUsMHg5QywweDBFLDB4RTgsMHhCRCwweDBBLDB4OTAsCi0weEI4LDB4MzAsMHg3QSwweEMxLDB4RTgsMHgwNCwweDQwLDB4QTMsMHhDMCwweDEzLDB4MkIsMHgwNiwweDEyLDB4MDEsMHhGNywweEQ4LAotMHgzMywweEQyLDB4OEIsMHhDQSwweDhBLDB4MEUsMHg5NCwweDEyLDB4RjcsMHhGMSwweDNELDB4ODAsMHgwMCwweDc3LDB4MEUsMHg2QSwKLTB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MjUsMHg5QywweDBFLDB4RTgsMHg5MCwweDBBLDB4OTAsMHg0OCwweDNELDB4RkYsCi0weDA3LDB4NzIsMHgwMywweEI4LDB4RkYsMHgwNywweEEzLDB4QzIsMHgxMywweDMzLDB4QzksMHg4QSwweDBFLDB4OTQsMHgxMiwweDMzLAotMHhGNiwweEI4LDB4MDAsMHgwOSwweDJFLDB4OEIsMHhBQywweDQ0LDB4MDAsMHg4OSwweDQ2LDB4NEMsMHg0MCwweDQ2LDB4NDYsMHhFMiwKLTB4RjMsMHg4QSwweDBFLDB4OTQsMHgxMiwweDMzLDB4RjYsMHg4QiwweDE2LDB4QzAsMHgxMywweEExLDB4QzIsMHgxMywweDJFLDB4OEIsCi0weEFDLDB4NDQsMHgwMCwweEU4LDB4MjIsMHhGRiwweDAzLDB4RDAsMHg0NiwweDQ2LDB4RTIsMHhGMiwweEMzLDB4MzMsMHhDMCwweDJFLAotMHg4QiwweEFELDB4NDQsMHgwMCwweDg5LDB4NDYsMHgwOCwweDQ3LDB4NDcsMHhFMiwweEY0LDB4QzMsMHg1MSwweDMzLDB4QzAsMHgwQSwKLTB4QzIsMHgyRSwweDhCLDB4QUQsMHg0NCwweDAwLDB4ODksMHg4NiwweDlFLDB4MDAsMHg4MSwweDRFLDB4MzgsMHgwMCwweDIwLDB4NDcsCi0weDQ3LDB4RkUsMHhDNCwweDgwLDB4RkMsMHgwNCwweDcyLDB4MDQsMHgzMiwweEU0LDB4RkUsMHhDMCwweEUyLDB4RTMsMHg1OSwweDgzLAotMHhFOSwweDEwLDB4NzQsMHgwNSwweEY3LDB4RDksMHhFOCwweEM0LDB4RkYsMHhDMywweDUxLDB4MzMsMHhDMCwweDBBLDB4QzIsMHgyRSwKLTB4OEIsMHhBRCwweDQ0LDB4MDAsMHg4OSwweDg2LDB4OUUsMHgwMCwweDgzLDB4NEUsMHgzOCwweDQwLDB4NDcsMHg0NywweDgwLDB4QzQsCi0weDEwLDB4NzksMHgwNCwweDMyLDB4RTQsMHhGRSwweEMwLDB4RTIsMHhFNiwweDU5LDB4ODMsMHhFOSwweDEwLDB4NzQsMHgwNSwweEY3LAotMHhEOSwweEU4LDB4OTksMHhGRiwweEMzLDB4RTgsMHhEMiwweEZGLDB4QzMsMHg4RCwweDA4LDB4OUMsMHgwOCwweENBLDB4MDgsMHhGNSwKLTB4MDgsMHg4QiwweDBFLDB4NDIsMHgxMiwweDMzLDB4RjYsMHg1MSwweDU2LDB4MzMsMHhEQiwweDhCLDB4Q0IsMHg4QSwweDk0LDB4NDgsCi0weDEyLDB4OEEsMHg4QywweDRDLDB4MTIsMHg4QSwweDlDLDB4NTQsMHgxMiwweDhCLDB4RkUsMHhDMSwweEU3LDB4MDUsMHg4NSwweERCLAotMHg3NSwweDAyLDB4QjEsMHgxMCwweDJFLDB4RkYsMHg5NywweEY5LDB4MDgsMHg1RSwweDU5LDB4NDYsMHhFMiwweEQ5LDB4QzMsMHgwMSwKLTB4Q0MsMHgwMywweEQwLDB4MDAsMHhFOCwweDAyLDB4RDAsMHgwMCwweEU4LDB4MDEsMHhEMCwweDAwLDB4RTgsMHgwMCwweEQwLDB4MDAsCi0weEU4LDB4MDQsMHhEMCwweEE4LDB4REEsMHgwMCwweERDLDB4MDAsMHhERSwweDAxLDB4RDgsMHgwMywweENDLDB4MDMsMHhDQywweDAzLAotMHhDQywweDA0LDB4RDAsMHhBOCwweERBLDB4MjAsMHhEQywweDAwLDB4REUsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMCwKLTB4RDgsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsCi0weENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywweENDLDB4MDMsMHhDQywweDAzLAotMHhDQywweDA0LDB4RDAsMHgwMCwweERBLDB4MjAsMHhEQywweDAzLDB4REUsMHgwMSwweEQ4LDB4MDMsMHhDQywweDAzLDB4Q0MsMHgwMywKLTB4Q0MsMHgwMywweENDLDB4MDAsMHhEOCwweDAwLDB4Q0MsMHgwMCwweEQwLDB4MDAsMHgwMCwweDU2LDB4NTIsMHgxRSwweDBFLDB4MUYsCi0weEJFLDB4MkYsMHgwOSwweDMzLDB4RDIsMHhGQywweEFELDB4ODUsMHhDMCwweDc0LDB4MEQsMHg4QSwweEQ0LDB4RUUsMHhBRCwweDg1LAotMHhDMCwweDc0LDB4MDUsMHg4QSwweEQ0LDB4RUUsMHhFQiwweEVFLDB4MUYsMHg1QSwweDVFLDB4QzMsMHhFNCwweDgwLDB4ODQsMHhDMCwKLTB4NzQsMHgxNiwweDc4LDB4MTQsMHhCMCwweDI3LDB4RTYsMHhGQywweEIwLDB4MTEsMHhFNiwweDM0LDB4RTQsMHhGQywweDNDLDB4MjcsCi0weDc1LDB4MDYsMHhFNCwweDExLDB4NzUsMHgwMiwweEY4LDB4QzMsMHhGOSwweEMzLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwweEVFLAotMHg4MywweEVBLDB4MDIsMHhCMCwweDEwLDB4RUUsMHg4OCwweDg2LDB4QUYsMHgwMCwweEIwLDB4MTEsMHg4MywweEMyLDB4MDQsMHhFRSwKLTB4ODMsMHhDMiwweDAyLDB4RUUsMHhCMCwweDEzLDB4ODMsMHhDMiwweDAyLDB4RUUsMHg4MywweEMyLDB4MDIsMHhFRSwweDJFLDB4QTEsCi0weDRDLDB4MkQsMHg4OSwweDg2LDB4OTQsMHgwMCwweDgzLDB4RUEsMHgwRSwweEVFLDB4ODMsMHhDMiwweDAyLDB4OEEsMHhDNCwweEVFLAotMHg4MywweEMyLDB4MDQsMHhCMCwweDAzLDB4RUUsMHg4OCwweDg2LDB4QTgsMHgwMCwweDgzLDB4RUEsMHgwNCwweDMyLDB4QzAsMHhFRSwKLTB4ODMsMHhDMiwweDAyLDB4QjAsMHg4OSwweEVFLDB4ODgsMHg4NiwweEE2LDB4MDAsMHgwQywweDA2LDB4RUUsMHhCMCwweDQwLDB4QjQsCi0weDM4LDB4ODksMHg0NiwweDFDLDB4QzcsMHg0NiwweDM2LDB4MzgsMHgwMCwweDgzLDB4QzIsMHgwNCwweDMyLDB4QzAsMHhFRSwweDg4LAotMHg4NiwweEE3LDB4MDAsMHhDMywweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsMHhFRSwweDgzLDB4RUEsMHgwMiwweEVDLDB4M0EsMHg4NiwKLTB4QUYsMHgwMCwweDc1LDB4MjQsMHg4MywweEMyLDB4MDQsMHhFQywweDNDLDB4MTEsMHg3NSwweDFDLDB4ODMsMHhDMiwweDA2LDB4RUMsCi0weDNDLDB4MTMsMHg3NSwweDE0LDB4ODMsMHhFQSwweDA4LDB4OEEsMHg4NiwweEE4LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwMiwweEVDLAotMHgyNCwweEMwLDB4M0MsMHhDMCwweDc1LDB4MDIsMHhGOCwweEMzLDB4RjksMHhDMywweDMzLDB4QzksMHg4QiwweEQxLDB4OEIsMHhGMSwKLTB4OEEsMHgwRSwweDk0LDB4MTIsMHhDMSwweEU5LDB4MDIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4MDAsCi0weDIwLDB4NzQsMHgwRSwweDhBLDB4ODYsMHg5RSwweDAwLDB4RTYsMHhGRSwweDMyLDB4QzAsMHhFNiwweDgwLDB4NDIsMHhFOCwweEZBLAotMHhGRSwweDgzLDB4QzYsMHgwOCwweEUyLDB4RTEsMHg4NSwweEQyLDB4NzQsMHgwMywweEU4LDB4MDUsMHgwOCwweEMzLDB4MzMsMHhDOSwKLTB4OEIsMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsCi0weDc0LDB4MDYsMHhFOCwweDczLDB4MTYsMHhFOCwweDEyLDB4RkYsMHg0NiwweDQ2LDB4RTIsMHhFQSwweEMzLDB4MzMsMHhDOSwweDhCLAotMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4QzEsMHhFOSwweDAyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwKLTB4MDAsMHgyMCwweDc0LDB4MTYsMHhFOCwweDQ2LDB4MTYsMHhFOCwweEQyLDB4RkUsMHg3MywweDBFLDB4NkEsMHgwMCwweDFGLDB4QzYsCi0weDA2LDB4OTMsMHgxMiwweDFDLDB4OUMsMHgwRSwweEU4LDB4RTMsMHgwNywweDkwLDB4ODMsMHhDNiwweDA4LDB4RTIsMHhEOSwweEMzLAotMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLDB4MEUsMHg5NCwweDEyLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweEY3LDB4NDYsMHgzOCwKLTB4NDAsMHgwMCwweDc0LDB4MTYsMHhFOCwweDIxLDB4MTYsMHhFOCwweDJBLDB4RkYsMHg3MywweDBFLDB4NkEsMHgwMCwweDFGLDB4QzYsCi0weDA2LDB4OTMsMHgxMiwweDFDLDB4OUMsMHgwRSwweEU4LDB4QjMsMHgwNywweDkwLDB4NDYsMHg0NiwweEUyLDB4REEsMHhDMywweDBDLAotMHgwMCwweDAwLDB4MTAsMHgwMCwweDEzLDB4MTIsMHgwMCwweDAwLDB4MTQsMHgwMCwweDI4LDB4M0MsMHgwMCwweDFCLDB4M0UsMHgwMCwKLTB4MDAsMHgyQSwweDAwLDB4MDAsMHgyQywweDAwLDB4MDAsMHg0MiwweDAwLDB4MTQsMHhEOCwweDAwLDB4MDAsMHhEQSwweDAwLDB4MDAsCi0weDM0LDB4MDAsMHgxMSwweDM2LDB4MDAsMHgxMywweDM4LDB4MDAsMHgxMSwweDNBLDB4MDAsMHgxMywweDAwLDB4MDAsMHg1NiwweDUwLAotMHg1MiwweEJFLDB4MkYsMHgwQiwweDJFLDB4QUQsMHg4NSwweEMwLDB4NzQsMHgwNiwweDkyLDB4MkUsMHhBQywweEVFLDB4RUIsMHhGNCwKLTB4NUEsMHg1OCwweDVFLDB4QzMsMHg1MywweDJFLDB4QTEsMHg2MCwweDIyLDB4RTYsMHhFNCwweEU2LDB4RjAsMHg4QSwweEM0LDB4RTYsCi0weEVDLDB4RTYsMHhGOCwweEU4LDB4RDgsMHhGRiwweEIwLDB4NEIsMHhFNiwweDEwLDB4QjAsMHg1MCwweEU2LDB4MTIsMHhCMCwweDM4LAotMHhFNiwweDE0LDB4RTgsMHhBRSwweDE1LDB4QjAsMHg0NiwweEU2LDB4MEEsMHhFOCwweEE3LDB4MTUsMHhCMCwweDFBLDB4RTYsMHgwQSwKLTB4RTgsMHhBMCwweDE1LDB4QjAsMHgyMiwweEU2LDB4MEEsMHhFOCwweDk5LDB4MTUsMHhFOCwweEZELDB4MDYsMHg4QiwweEQ4LDB4RTQsCi0weDE2LDB4QTgsMHgwNCwweDc1LDB4MTgsMHhFOCwweEYyLDB4MDYsMHgyQiwweEMzLDB4M0QsMHgzMiwweDAwLDB4NzIsMHhGMCwweDZBLAotMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgyMywweDlDLDB4MEUsMHhFOCwweDEwLDB4MDcsMHg5MCwweEU4LDB4REEsMHgwNiwKLTB4MkIsMHhDMywweDNELDB4MjQsMHgwMCwweDc3LDB4MUIsMHhCMCwweDMxLDB4RTYsMHhGQywweDU2LDB4NTEsMHg1NSwweEI5LDB4MTAsCi0weDAwLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwweDgxLDB4NEUsMHgzOCwweDgwLDB4MDAsMHg0NiwweDQ2LDB4RTIsMHhGMiwweDVELAotMHg1OSwweDVFLDB4RTgsMHg2OSwweEZGLDB4RTgsMHg0QiwweDE1LDB4QjAsMHg0NiwweEU2LDB4MEEsMHhFOCwweDQ0LDB4MTUsMHg1QiwKLTB4QzMsMHgzMywweEY2LDB4OEIsMHgwRSwweDQyLDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4MDAsCi0weDIwLDB4NzQsMHgwNiwweEU4LDB4MTcsMHgxNSwweEU4LDB4NUIsMHhGRiwweDgzLDB4QzYsMHgyMCwweEUyLDB4RTksMHhDMywweDhCLAotMHhDMiwweDA1LDB4MDQsMHgwMCwweDg5LDB4NDYsMHgyOCwweDJFLDB4QTEsMHg0QywweDJELDB4ODksMHg4NiwweDhFLDB4MDAsMHg4OSwKLTB4ODYsMHg5MCwweDAwLDB4ODksMHg4NiwweDkyLDB4MDAsMHhDNiwweDg2LDB4QTMsMHgwMCwweDBBLDB4QzYsMHg4NiwweEMzLDB4MDAsCi0weDAzLDB4NTIsMHg4MywweEMyLDB4MDQsMHg4QSwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDYsMHhFRSwweDVBLDB4ODMsMHhDMiwweDAyLAotMHhCMCwweDA1LDB4RUUsMHg4OCwweDg2LDB4QTUsMHgwMCwweEMzLDB4RTgsMHgwMywweEZGLDB4RTgsMHhFNSwweDE0LDB4QjAsMHg0MiwKLTB4RTYsMHgwQSwweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsMHg3NCwweDA2LDB4MkUsMHhBMSwweDlDLDB4MjIsMHhFQiwweDA0LDB4MkUsCi0weEExLDB4NkMsMHgyMiwweEM3LDB4NDYsMHgxQywweDBDLDB4MDAsMHg4OSwweDg2LDB4OTQsMHgwMCwweDg5LDB4ODYsMHg5NiwweDAwLAotMHg4OSwweDg2LDB4OEUsMHgwMCwweDg5LDB4ODYsMHg5MCwweDAwLDB4ODksMHg4NiwweDkyLDB4MDAsMHhFNiwweEYwLDB4RTYsMHhFNCwKLTB4OEEsMHhDNCwweEU2LDB4RjgsMHhFNiwweEVDLDB4QzYsMHg4NiwweEMzLDB4MDAsMHgwMywweEU4LDB4QTUsMHgxNCwweEIwLDB4MUEsCi0weEU2LDB4MEEsMHhCMCwweDEwLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLAotMHgwRSwweDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MDYsMHhFOCwKLTB4NzYsMHgxNCwweEU4LDB4NUEsMHhGRiwweDQ2LDB4NDYsMHhFMiwweEVBLDB4QzMsMHgzMywweEM5LDB4OEIsMHhGMSwweDhBLDB4MEUsCi0weDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4RjcsMHg0NiwweDM4LDB4MDAsMHgyMCwweDc0LDB4MDYsMHhFOCwweDRDLAotMHgxNCwweEU4LDB4NzQsMHhGRiwweDQ2LDB4NDYsMHhFMiwweEVBLDB4QzMsMHg5MCwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwKLTB4MTQsMHhCMCwweDAxLDB4QkEsMHgwNiwweDAxLDB4RUUsMHgyQSwweEMwLDB4RUUsMHhCMCwweDAyLDB4RUUsMHhCMCwweDA0LDB4RUUsCi0weEI4LDB4MDAsMHgwMiwweEVCLDB4MEYsMHhCQSwweDA2LDB4MDEsMHhCMCwweDQwLDB4RUUsMHhCOCwweDAxLDB4MDAsMHg4QSwweDBFLAotMHgwRSwweDAxLDB4RDMsMHhFMCwweEEzLDB4ODgsMHgxMiwweEMzLDB4QTEsMHg4OCwweDEyLDB4QTMsMHg4NCwweDEyLDB4MkQsMHgyMCwKLTB4MDAsMHhBMywweDhBLDB4MTIsMHgyRCwweDIwLDB4MDAsMHhBMywweDgyLDB4MTIsMHhDNywweDA2LDB4ODYsMHgxMiwweDIwLDB4MDAsCi0weEM3LDB4MDYsMHg4MCwweDEyLDB4MzIsMHgwMCwweEMzLDB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc0LDB4NzYsMHg4QiwweDBFLAotMHg0MiwweDEyLDB4MzMsMHhGNiwweDhBLDB4QTQsMHg1NCwweDEyLDB4ODQsMHhFNCwweDc0LDB4NUYsMHg4QSwweDg0LDB4NDgsMHgxMiwKLTB4MEMsMHgwNCwweEU2LDB4RkUsMHhGNiwweEM0LDB4MDQsMHg3NCwweDI1LDB4QjAsMHgxQiwweEJBLDB4MDAsMHgwMCwweEVFLDB4RUIsCi0weDAwLDB4MkEsMHhDMCwweEJBLDB4MDIsMHgwMCwweEVFLDB4RUIsMHgwMCwweEIwLDB4MDMsMHhFRSwweEVCLDB4MDAsMHgzMiwweEMwLAotMHhCQSwweDAyLDB4MDAsMHhFRSwweEVCLDB4MDAsMHhCQSwweDAwLDB4MDAsMHhCMCwweDAwLDB4RUUsMHhFQiwweDJELDB4QjAsMHgxRiwKLTB4QkEsMHgwMCwweDAwLDB4RUUsMHhFQiwweDAwLDB4MkEsMHhDMCwweEJBLDB4MDIsMHgwMCwweEVFLDB4RUIsMHgwMCwweEIwLDB4MDMsCi0weEVFLDB4RUIsMHgwMCwweEQxLDB4RTYsMHg4QSwweDg0LDB4NUQsMHgxMiwweEQxLDB4RUUsMHhGNiwweEQwLDB4QkEsMHgwMiwweDAwLAotMHhFRSwweEVCLDB4MDAsMHhCQSwweDAwLDB4MDAsMHhCMCwweDBBLDB4RUUsMHhFQiwweDAwLDB4RTQsMHgwNCwweEVCLDB4MDAsMHhFNCwKLTB4MDQsMHg0NiwweEUyLDB4OTAsMHhDMywweDkwLDB4QjgsMHgxNCwweDAwLDB4QkEsMHgzRSwweEZGLDB4RUYsMHhCOCwweDA2LDB4MDAsCi0weEJBLDB4MzIsMHhGRiwweEVGLDB4QjgsMHgwRiwweDAwLDB4QkEsMHgzNCwweEZGLDB4RUYsMHhCQSwweDM2LDB4RkYsMHhFRiwweDgzLAotMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc1LDB4MTYsMHhCOCwweDExLDB4MDAsMHhCQSwweDM4LDB4RkYsMHhFRiwweEI4LDB4MTIsMHgwMCwKLTB4QkEsMHgzQSwweEZGLDB4RUYsMHhCOCwweDFCLDB4MDAsMHhCQSwweDNDLDB4RkYsMHhFRiwweEMzLDB4QjgsMHgxMSwweDAwLDB4QkEsCi0weDM4LDB4RkYsMHhFRiwweEI4LDB4MTIsMHgwMCwweEJBLDB4M0EsMHhGRiwweEVGLDB4QjgsMHgxQiwweDAwLDB4QkEsMHgzQywweEZGLAotMHhFRiwweEMzLDB4QjgsMHhGQywweDAwLDB4QkEsMHgyOCwweEZGLDB4RUYsMHhGQiwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NCwKLTB4MDcsMHhCOCwweENDLDB4MDAsMHhCQSwweDI4LDB4RkYsMHhFRiwweEMzLDB4MDAsMHhGRiwweEZGLDB4MjAsMHgyNCwweDI4LDB4RkYsCi0weDJDLDB4RkYsMHhGRiwweDMwLDB4MzQsMHgzOCwweEZGLDB4RkYsMHgzQywweDkwLDB4M0MsMHgwRiwweDc3LDB4MEUsMHhCQiwweDE5LAotMHgwRSwweDJFLDB4RDcsMHgzQywweEZGLDB4NzQsMHgwNSwweDhBLDB4RDgsMHhGOCwweEMzLDB4OTAsMHgyQSwweERCLDB4RjksMHhDMywKLTB4ODMsMHgzRSwweDQ0LDB4MTIsMHgwMCwweDc0LDB4MjcsMHhBMCwweDA2LDB4MDEsMHg4MCwweDI2LDB4MDYsMHgwMSwweDMwLDB4ODAsCi0weDNFLDB4MDYsMHgwMSwweDMwLDB4NzUsMHgxOCwweEI5LDB4MDIsMHgwMCwweEJGLDB4QzQsMHgxMywweEJBLDB4MDYsMHgwMSwweEVDLAotMHhBOCwweDIwLDB4NzUsMHhGOCwweEJBLDB4MDQsMHgwMSwweEVELDB4QUIsMHhFMiwweEYxLDB4RUIsMHgxNiwweDkwLDB4QjksMHgwNCwKLTB4MDAsMHhCRiwweEM0LDB4MTMsMHhCQSwweDA2LDB4MDEsMHhFQywweEE4LDB4MjAsMHg3NSwweEY4LDB4QkEsMHgwNCwweDAxLDB4RUMsCi0weEFBLDB4RTIsMHhGMSwweEZBLDB4OTAsMHhCRSwweEM0LDB4MTMsMHhBRCwweDgwLDB4RTQsMHgzRiwweDgwLDB4RkMsMHgwMiwweDc0LAotMHgwRSwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MEEsMHg5QywweDBFLDB4RTgsMHgzRSwweDA0LDB4OTAsMHhBRCwKLTB4M0MsMHgwRiwweDc1LDB4RUQsMHg4QSwweEM0LDB4RTgsMHg4MSwweEZGLDB4NzIsMHhFNiwweDg4LDB4MUUsMHgxQSwweDAxLDB4QzYsCi0weDA2LDB4OEUsMHgxMiwweDAwLDB4QjAsMHgwMCwweDBBLDB4MDYsMHgxQSwweDAxLDB4QkEsMHgwMCwweDAxLDB4RUUsMHhDNiwweDA2LAotMHg4RiwweDEyLDB4NDAsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsMHgwNiwweEI4LDB4MEMsMHgwMCwweEVCLDB4MDQsMHg5MCwKLTB4QjgsMHg0QywweDAwLDB4QkEsMHgyOCwweEZGLDB4RUYsMHhDMywweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NSwweDAxLDB4QzMsCi0weEExLDB4NTAsMHgxMiwweDBCLDB4MDYsMHg1MiwweDEyLDB4MEEsMHhDNCwweEE4LDB4MDgsMHg3NCwweEYyLDB4QTAsMHgwRiwweDAxLAotMHgyQSwweEU0LDB4NTAsMHhGRiwweDM2LDB4QkEsMHgxMywweDFGLDB4RTgsMHg1MCwweDU2LDB4ODMsMHhDNCwweDAyLDB4NkEsMHgwMCwKLTB4MUYsMHgzMywweEMwLDB4QTMsMHhCQywweDEzLDB4QTAsMHgwRiwweDAxLDB4QTMsMHhCRSwweDEzLDB4OEIsMHgxRSwweEJDLDB4MTMsCi0weDhBLDB4ODcsMHg1MCwweDEyLDB4RjYsMHg4NywweDUwLDB4MTIsMHgwOCwweDc0LDB4MEQsMHgyNCwweDA3LDB4OEEsMHhFMCwweEJFLAotMHhDQywweDAwLDB4QTAsMHhCQywweDEzLDB4RTgsMHg5NCwweDNELDB4RkYsMHgwNiwweEJDLDB4MTMsMHhGRiwweDBFLDB4QkUsMHgxMywKLTB4NzUsMHhEQSwweEMzLDB4OTAsMHgxRSwweDMzLDB4QzAsMHg4RSwweEQ4LDB4QjAsMHgwMSwweEU4LDB4NTQsMHgzRCwweDFGLDB4QzMsCi0weDMzLDB4QzksMHg4QiwweEYxLDB4OEEsMHgwRSwweDk0LDB4MTIsMHgyRSwweDhCLDB4QUMsMHg0NCwweDAwLDB4QzcsMHg0NiwweDYyLAotMHgzOCwweDQ0LDB4QzcsMHg0NiwweDdDLDB4RkMsMHgzQiwweEM3LDB4NDYsMHg3RSwweEUyLDB4M0IsMHhDNywweDg2LDB4ODAsMHgwMCwKLTB4RUMsMHgzQywweEU4LDB4QUIsMHgxNiwweEM2LDB4ODYsMHhDMCwweDAwLDB4MTEsMHg4MywweDdFLDB4MDgsMHgwMCwweDc0LDB4MDcsCi0weDUxLDB4NTYsMHhFOCwweDMzLDB4MzMsMHg1RSwweDU5LDB4NDYsMHg0NiwweEUyLDB4Q0QsMHhDMywweDMzLDB4QzksMHg4QiwweEYxLAotMHg4QiwweEY5LDB4OEEsMHgwRSwweDk0LDB4MTIsMHhDMSwweEU5LDB4MDIsMHhFMywweDEzLDB4MkUsMHg4QiwweEFDLDB4NDQsMHgwMCwKLTB4OEEsMHg4NiwweDlFLDB4MDAsMHg4OCwweDg1LDB4NkMsMHgxMiwweDgzLDB4QzYsMHgwOCwweDQ3LDB4RTIsMHhFRCwweEMzLDB4RkEsCi0weEZDLDB4QjAsMHhDMCwweEJBLDB4MDAsMHgwMSwweEVFLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4OEUsMHhEMCwweEJGLAotMHgxNiwweDAxLDB4QjksMHhDQywweDc3LDB4MkIsMHhDRiwweEQxLDB4RTksMHhGMywweEFCLDB4QkMsMHg0MCwweDEyLDB4RTgsMHhEOSwKLTB4MDIsMHhFOCwweDcwLDB4M0MsMHhCRSwweENDLDB4MEYsMHhFOCwweEYyLDB4M0MsMHhGNCwweDkwLDB4MzMsMHhDMCwweDhFLDB4RDgsCi0weDhFLDB4QzAsMHg4RSwweEQwLDB4RjYsMHgwNiwweDBBLDB4MDEsMHg4MCwweDc0LDB4MEIsMHhCRSwweDM1LDB4NTUsMHhFOCwweERCLAotMHgzQywweEIwLDB4MDEsMHhFOCwweEFDLDB4M0MsMHhFOCwweEIzLDB4MDAsMHhFOCwweEY2LDB4RjUsMHhFOCwweDA4LDB4RjgsMHhFOCwKLTB4MEYsMHhGOSwweEU4LDB4ODUsMHhGQSwweEU4LDB4QjYsMHhGQSwweEU4LDB4RUYsMHhGQywweEU4LDB4QzIsMHgxMCwweEU4LDB4MDMsCi0weDNDLDB4RTgsMHhCMiwweEZELDB4RTgsMHgzMCwweEZELDB4RTgsMHg1NCwweDAyLDB4QzYsMHgwNiwweDhGLDB4MTIsMHhDMCwweEU4LAotMHhCQiwweEZBLDB4RTgsMHhFQiwweEZBLDB4RTgsMHhFOSwweEZCLDB4RTgsMHhBRiwweEZDLDB4RTgsMHg4RCwweEZDLDB4RTgsMHgxRiwKLTB4RkYsMHhFOCwweDU4LDB4RkYsMHhFOCwweERCLDB4RkQsMHhFOCwweDE2LDB4RkUsMHgzMywweEMwLDB4QkUsMHg1QSwweDA1LDB4RTgsCi0weDhBLDB4M0MsMHhFOCwweEEzLDB4RkUsMHhFOCwweEUwLDB4RkMsMHhGQiwweEJFLDB4QTQsMHg0NCwweEU4LDB4N0QsMHgzQywweEU5LAotMHhDQSwweDJELDB4NTYsMHg5OCwweDhCLDB4RjAsMHg4QiwweDQyLDB4NTIsMHg4NSwweEMwLDB4NzUsMHgyNywweEM3LDB4NDIsMHg1MiwKLTB4MDEsMHgwMCwweDUzLDB4MzYsMHg4QiwweDlDLDB4MkMsMHgwMSwweEY2LDB4QzMsMHgwMSwweDc1LDB4MEMsMHgzNiwweDg5LDB4NjgsCi0weDUyLDB4MzYsMHg4OSwweEFDLDB4MkMsMHgwMSwweDVCLDB4NUUsMHhDMywweDM2LDB4ODksMHhBQywweDJDLDB4MDEsMHgzNiwweDg5LAotMHhBQywweDFDLDB4MDEsMHg1QiwweDVFLDB4QzMsMHg1NiwweDk4LDB4OEIsMHhGMCwweDMzLDB4RUQsMHgzNiwweDhCLDB4ODQsMHgxQywKLTB4MDEsMHhBOCwweDAxLDB4NzUsMHgxNSwweDhCLDB4RTgsMHgzMywweEMwLDB4ODcsMHg0MiwweDUyLDB4MzYsMHg4OSwweDg0LDB4MUMsCi0weDAxLDB4QTgsMHgwMSwweDc0LDB4MDUsMHgzNiwweDg5LDB4ODQsMHgyQywweDAxLDB4NUUsMHhDMywweDU2LDB4NTEsMHgzMywweEY2LAotMHhCOCwweDAxLDB4MDAsMHhCOSwweDA4LDB4MDAsMHg4OSwweDg0LDB4MUMsMHgwMSwweDg5LDB4ODQsMHgyQywweDAxLDB4NDYsMHg0NiwKLTB4RTIsMHhGNCwweDU5LDB4NUUsMHhDMywweDkwLDB4QkIsMHgwMSwweDAwLDB4OEIsMHhFOCwweEZGLDB4NEUsMHg2RSwweDc0LDB4MEEsCi0weDhCLDB4REQsMHg4QiwweDQ2LDB4NTgsMHhBOCwweDAxLDB4NzQsMHhGMCwweEMzLDB4OEIsMHg0NiwweDQ4LDB4QTksMHgwOCwweDAwLAotMHg3NCwweDQ1LDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc0LDB4MjcsMHhFOCwweDVDLDB4MTAsMHg4MCwweEMyLDB4MDYsMHg4QSwKLTB4ODYsMHhBOCwweDAwLDB4MjQsMHhCRiwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsMHg2MCwweEIwLDB4RkUsMHhFOCwweDg2LDB4MzIsCi0weDYxLDB4QjAsMHgwMiwweEU4LDB4NEMsMHhGRiwweDhCLDB4NDYsMHg0OCwweDI0LDB4RjcsMHg4OSwweDQ2LDB4NDgsMHhFQiwweDE3LAotMHhFOCwweDJBLDB4MTAsMHg4MSwweDRFLDB4MjYsMHgwMCwweDQwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsMHg4NiwKLTB4QTUsMHgwMCwweEU2LDB4MEMsMHg4QiwweDQ2LDB4NDgsMHhBOSwweDA0LDB4MDAsMHg3NCwweDE0LDB4QjAsMHgwMiwweEU4LDB4MjEsCi0weEZGLDB4OEIsMHg0NiwweDQ4LDB4MjQsMHhGQiwweDg5LDB4NDYsMHg0OCwweDYwLDB4QjAsMHhERiwweEU4LDB4NDcsMHgzMiwweDYxLAotMHgzMywweEMwLDB4ODcsMHg0NiwweDU4LDB4RjYsMHhDMywweDAxLDB4NzUsMHgwQiwweDM2LDB4ODksMHg0NywweDU4LDB4QTgsMHgwMSwKLTB4NzUsMHgwRCwweEU5LDB4NzQsMHhGRiwweEEzLDB4MjIsMHgwMSwweEE4LDB4MDEsMHg3NSwweDAzLDB4RTksMHg2QSwweEZGLDB4ODksCi0weDFFLDB4MzIsMHgwMSwweEMzLDB4QkIsMHgwMSwweDAwLDB4OEIsMHhFOCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsMHg3NCwweDE1LAotMHhFOCwweEQ1LDB4MEYsMHg4MCwweEMyLDB4MEEsMHhFQywweEE4LDB4NDAsMHg3NSwweDBBLDB4OEIsMHhERCwweDhCLDB4NDYsMHg1NiwKLTB4QTgsMHgwMSwweDc0LDB4RTMsMHhDMywweDhCLDB4NDYsMHgyNiwweDgwLDB4RTQsMHhGRSwweDgwLDB4Q0MsMHgwMiwweDg5LDB4NDYsCi0weDI2LDB4QjAsMHgwMiwweEU4LDB4QkMsMHhGRSwweDMzLDB4QzAsMHg4NywweDQ2LDB4NTYsMHhGNiwweEMzLDB4MDEsMHg3NSwweDBBLAotMHgzNiwweDg5LDB4NDcsMHg1NiwweEE4LDB4MDEsMHg3NSwweDBCLDB4RUIsMHhCRCwweEEzLDB4MjAsMHgwMSwweEE4LDB4MDEsMHg3NSwKLTB4MDIsMHhFQiwweEI0LDB4ODksMHgxRSwweDMwLDB4MDEsMHhDMywweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTAsCi0weDkwLDB4MTIsMHg4NCwweEMwLDB4NzUsMHg0OSwweEExLDB4MjIsMHgwMSwweEE4LDB4MDEsMHg3NSwweDAzLDB4RTgsMHhGNiwweEZFLAotMHhBMSwweDIwLDB4MDEsMHhBOCwweDAxLDB4NzUsMHgwMywweEU4LDB4OEEsMHhGRiwweEExLDB4QUMsMHgxMywweDQ4LDB4NzgsMHgwNSwKLTB4NzQsMHg0NSwweEEzLDB4QUMsMHgxMywweEExLDB4QUUsMHgxMywweDQ4LDB4NzgsMHgwNSwweDc0LDB4NTEsMHhBMywweEFFLDB4MTMsCi0weEExLDB4QjAsMHgxMywweDQ4LDB4NzgsMHgwNSwweDc0LDB4NjMsMHhBMywweEIwLDB4MTMsMHhBMSwweDdFLDB4MTIsMHg0MCwweDc4LAotMHgwMywweEEzLDB4N0UsMHgxMiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHhBMCwKLTB4OTEsMHgxMiwweDQwLDB4M0MsMHgwMiwweDcyLDB4MEIsMHgzMywweEMwLDB4QTIsMHg5MSwweDEyLDB4RkYsMHgxNiwweDdDLDB4MTIsCi0weEVCLDB4QTQsMHhBMiwweDkxLDB4MTIsMHhFQiwweDlGLDB4QTAsMHg4RSwweDEyLDB4MzIsMHgwNiwweDhGLDB4MTIsMHhBMiwweDhFLAotMHgxMiwweDBBLDB4MDYsMHgxQSwweDAxLDB4QkEsMHgwMCwweDAxLDB4RUUsMHhCOCwweDJDLDB4MDEsMHhFQiwweEE0LDB4ODMsMHgzRSwKLTB4ODQsMHgxMiwweDEwLDB4NzIsMHgxMSwweEJBLDB4MjgsMHhGRiwweEVELDB4MEMsMHg4MSwweEVGLDB4RTgsMHg1MywweDM3LDB4QkEsCi0weDI4LDB4RkYsMHhFRCwweDI0LDB4N0UsMHhFRiwweEI4LDB4MDQsMHgwMCwweEVCLDB4OTIsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAxLAotMHhFOCwweDNGLDB4MzcsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAwLDB4QTEsMHhCMiwweDEzLDB4RUIsMHg4QiwweDkwLDB4OEEsMHgxRSwKLTB4MEIsMHgwMSwweDJBLDB4RkYsMHg2QiwweEMzLDB4MTksMHhCQSwweDYyLDB4RkYsMHhFRiwweEI4LDB4MEEsMHgwMCwweEJBLDB4NjAsCi0weEZGLDB4RUYsMHhCOCwweDAxLDB4RTAsMHhCQSwweDY2LDB4RkYsMHhFRiwweEI4LDB4RkYsMHhGRiwweEJBLDB4NTIsMHhGRiwweEVGLAotMHhCOCwweDA5LDB4QzAsMHhCQSwweDU2LDB4RkYsMHhFRiwweEM3LDB4MDYsMHhBQywweDEzLDB4MkMsMHgwMSwweEM3LDB4MDYsMHhBRSwKLTB4MTMsMHgwNCwweDAwLDB4QzYsMHgwNiwweDkxLDB4MTIsMHgwMCwweEMzLDB4OTAsMHg4QSwweDFFLDB4MEIsMHgwMSwweDJBLDB4RkYsCi0weDZCLDB4QzMsMHgwNSwweEQxLDB4RTgsMHhBMywweDE4LDB4MDEsMHhDMywweDkwLDB4NTIsMHhCQSwweDUwLDB4RkYsMHhFRCwweDVBLAotMHhDMywweDkwLDB4NTMsMHg1MSwweDhCLDB4MUUsMHgxOCwweDAxLDB4QjksMHgzMiwweDA1LDB4OTAsMHhFMiwweEZFLDB4NEIsMHg3NSwKLTB4RjcsMHg1OSwweDVCLDB4QzMsMHhCMCwweDgwLDB4QkEsMHgwMCwweDAxLDB4MEEsMHgwNiwweDFBLDB4MDEsMHhFRSwweEMzLDB4OTAsCi0weEIwLDB4NDAsMHhFQiwweEYyLDB4QjAsMHhDMCwweEVCLDB4RUUsMHhCMCwweDAwLDB4RUIsMHhFQSwweEZBLDB4NjAsMHgwNiwweDFFLAotMHgxNiwweDJCLDB4REIsMHg4RSwweERCLDB4MkUsMHhBMSwweEJBLDB4NEMsMHgyRSwweEEzLDB4OTIsMHg0QywweEEwLDB4OTMsMHgxMiwKLTB4OTgsMHg4QiwweEU4LDB4ODksMHgyNiwweDJELDB4N0EsMHg4MCwweDNFLDB4Q0EsMHgxMywweDAwLDB4NzQsMHgwMywweEU5LDB4NkIsCi0weDQyLDB4RTgsMHhDMCwweEZGLDB4RTgsMHhBQiwweEZGLDB4RTgsMHhBOCwweEZGLDB4QjAsMHgyMCwweEM2LDB4MDYsMHg5MCwweDEyLAotMHgwMCwweEZGLDB4MTYsMHg3QywweDEyLDB4OEIsMHhGRCwweDgzLDB4RkYsMHgwQSwweDcyLDB4MTEsMHhFOCwweEI5LDB4RkYsMHhFOCwKLTB4OTAsMHhGRiwweEU4LDB4QUIsMHhGRiwweEU4LDB4OEEsMHhGRiwweDgzLDB4RUYsMHgwQSwweEVCLDB4RUEsMHgwQiwweEZGLDB4NzQsCi0weDBGLDB4RTgsMHhBNCwweEZGLDB4RTgsMHg3QiwweEZGLDB4RTgsMHg5QSwweEZGLDB4RTgsMHg3NSwweEZGLDB4NEYsMHg3NSwweEYxLAotMHhFOCwweDk1LDB4RkYsMHhFOCwweDZDLDB4RkYsMHhFQiwweEI5LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZELDB4RUUsMHg4OCwKLTB4ODYsMHhBNSwweDAwLDB4QzMsMHg4QSwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDIsMHhFRSwweEMzLDB4OEIsMHg3NiwweDM4LDB4RjcsCi0weEM2LDB4MDEsMHgwMCwweDc0LDB4RUYsMHg4QiwweDRFLDB4MzYsMHg4QiwweDQ2LDB4MkUsMHgzQiwweEMxLDB4NzMsMHgwMiwweDhCLAotMHhDOCwweDJCLDB4QzEsMHg4OSwweDQ2LDB4MkUsMHgwMSwweDRFLDB4MzQsMHhDNCwweDdFLDB4MDQsMHgyNiwweDAxLDB4MEQsMHg4QiwKLTB4N0UsMHgyQywweDgzLDB4RUEsMHgwNCwweEYzLDB4NkMsMHg4RSwweEMxLDB4ODksMHg3RSwweDJDLDB4M0IsMHg0NiwweDNDLDB4NzIsCi0weDEyLDB4RjcsMHhDNiwweDIwLDB4MDAsMHg3NSwweDBCLDB4ODMsMHhDRSwweDIwLDB4ODksMHg3NiwweDM4LDB4QjAsMHgwMCwweEU4LAotMHhBMCwweEZDLDB4QzMsMHhGNywweEM2LDB4MDQsMHgwMCwweDc0LDB4MUIsMHg4QiwweEQ4LDB4ODMsMHhDRSwweDEwLDB4ODksMHg3NiwKLTB4MzgsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkUsMHg4OCwweDg2LDB4QTcsMHgwMCwweDgzLDB4QzIsMHgwOCwweEVFLDB4ODMsCi0weEVBLDB4MDgsMHg4QiwweEMzLDB4M0QsMHg0MCwweDAwLDB4NzIsMHgwMSwweEMzLDB4ODEsMHg0RSwweDM4LDB4MDAsMHgwNCwweDgzLAotMHhDMiwweDAyLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZBLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweEMzLDB4OEEsMHg4NiwKLTB4QTYsMHgwMCwweDBDLDB4MDIsMHhFRSwweEMzLDB4RjcsMHg0NiwweDM4LDB4MDEsMHgwMCwweDc0LDB4RjEsMHg4QiwweDRFLDB4MkUsCi0weDMyLDB4REIsMHg4QSwweEJFLDB4QTMsMHgwMCwweDgzLDB4QzIsMHgwNiwweEM0LDB4NzYsMHgwNCwweDhCLDB4N0UsMHgyQywweDgzLAotMHhGOSwweDA4LDB4NzIsMHgyQywweEVDLDB4QTgsMHgwMSwweDc0LDB4MTYsMHg4QSwweEUwLDB4ODMsMHhFQSwweDBBLDB4RUMsMHg4MywKLTB4QzIsMHgwQSwweDg0LDB4RTcsMHg3NSwweDUxLDB4QUEsMHhGRSwweEMzLDB4NDksMHg4MywweEY5LDB4MDgsMHg3MywweEU1LDB4MzIsCi0weEZGLDB4MjYsMHgwMSwweDFDLDB4MDEsMHg1RSwweDM0LDB4ODksMHg3NiwweDA0LDB4ODksMHg0RSwweDJFLDB4ODksMHg3RSwweDJDLAotMHgzQiwweDRFLDB4M0MsMHg3MiwweDExLDB4RjYsMHg0NiwweDM4LDB4MjAsMHg3NCwweDAxLDB4QzMsMHg4MywweDRFLDB4MzgsMHgyMCwKLTB4QjAsMHgwMCwweEU4LDB4RkQsMHhGQiwweEMzLDB4RjYsMHg0NiwweDM4LDB4MDQsMHg3NCwweDE1LDB4ODMsMHg0RSwweDM4LDB4MTAsCi0weDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRSwweDg4LDB4ODYsMHhBNywweDAwLDB4ODMsMHhFQSwweDAyLDB4RUUsMHg4MywweEMyLAotMHgwMiwweDNELDB4NDAsMHgwMCwweDcyLDB4NUQsMHhDMywweDMyLDB4RkYsMHgyNiwweDAzLDB4MUMsMHg4NSwweERCLDB4NzQsMHgwOSwKLTB4MjYsMHg4OSwweDFDLDB4OEIsMHhGNywweDQ3LDB4NDcsMHg0OSwweDQ5LDB4ODAsMHhFNCwweDFFLDB4ODAsMHhDQywweEMwLDB4MjYsCi0weDg5LDB4MDQsMHhGNiwweEM0LDB4MTAsMHg3NCwweDI3LDB4OEIsMHg3NiwweDM4LDB4RjcsMHhDNiwweDAwLDB4MTAsMHg3NCwweDBCLAotMHg1MCwweEZFLDB4ODYsMHhCMiwweDAwLDB4QjAsMHgwQSwweEU4LDB4QTgsMHhGQiwweDU4LDB4RjcsMHhDNiwweDAwLDB4MDEsMHg3NCwKLTB4MEQsMHhFOCwweDgyLDB4MjYsMHg4QiwweDc2LDB4MzgsMHg4QiwweDRFLDB4MkUsMHg4QiwweDdFLDB4MDQsMHhBQiwweDhCLDB4RjcsCi0weDMzLDB4QzAsMHhBQiwweDMyLDB4REIsMHg4QSwweEJFLDB4QTMsMHgwMCwweDQ5LDB4NDksMHg4MywweEY5LDB4MDgsMHg3MiwweDE3LAotMHhFOSwweDQxLDB4RkYsMHg4MSwweDRFLDB4MzgsMHgwMCwweDA0LDB4ODMsMHhDMiwweEY4LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwKLTB4RkEsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4QzMsMHhFOSwweDQ1LDB4RkYsMHg4MywweEMyLDB4MDgsMHhFQywweDg4LDB4ODYsCi0weEFBLDB4MDAsMHhDMCwweEU4LDB4MDQsMHg4QSwweEUwLDB4OEEsMHhDOCwweDg2LDB4ODYsMHhBOSwweDAwLDB4MzIsMHhFMCwweDhCLAotMHg1RSwweDNFLDB4ODQsMHhFMywweDc0LDB4NEYsMHg4QSwweEMxLDB4OEIsMHg0RSwweDI2LDB4RjYsMHhDNSwweDA0LDB4NzQsMHgwQywKLTB4QTgsMHgwOCwweDc0LDB4MDUsMHg4MCwweEUxLDB4QkYsMHhFQiwweDAzLDB4ODAsMHhDOSwweDQwLDB4RjYsMHhDNSwweDA4LDB4NzQsCi0weDBDLDB4QTgsMHgwMiwweDc0LDB4MDUsMHg4MCwweEUxLDB4N0YsMHhFQiwweDAzLDB4ODAsMHhDOSwweDgwLDB4ODgsMHg0RSwweDI2LAotMHg4QiwweEYwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHg4NCwweEM5LDB4NzQsMHgwOCwweEE4LDB4MDIsMHg3NCwweDE1LDB4MjQsMHhGRCwKLTB4RUIsMHgwNiwweEE4LDB4MDIsMHg3NSwweDBELDB4MEMsMHgwMiwweDg4LDB4ODYsMHhBNSwweDAwLDB4ODMsMHhFQSwweDBBLDB4RUUsCi0weDgzLDB4QzIsMHgwQSwweDhCLDB4QzYsMHg4NCwweEU3LDB4NzUsMHgwMSwweEMzLDB4QzYsMHg4NiwweEJBLDB4MDAsMHgwMSwweEIwLAotMHgwRSwweEU4LDB4RUUsMHhGQSwweEY3LDB4NDYsMHgzOCwweDAwLDB4MDIsMHg3NCwweEVFLDB4ODMsMHg3RSwweDJFLDB4MDYsMHg3MiwKLTB4RTgsMHg4QSwweEE2LDB4QUEsMHgwMCwweEM0LDB4NUUsMHgwNCwweDhCLDB4N0UsMHgyQywweEIwLDB4RkYsMHhBQSwweEIwLDB4MDIsCi0weEFCLDB4MjYsMHg4MywweDA3LDB4MDMsMHg4MywweDZFLDB4MkUsMHgwMywweDg5LDB4N0UsMHgyQywweEY2LDB4NDYsMHgzOCwweDIwLAotMHg3NCwweDAxLDB4QzMsMHg4MywweDRFLDB4MzgsMHgyMCwweEIwLDB4MDAsMHhFOCwweEI2LDB4RkEsMHhDMywweDkwLDB4ODMsMHhFQSwKLTB4MDgsMHhFOSwweEI0LDB4RkQsMHg4MywweEMyLDB4MDYsMHg4QiwweDVFLDB4MjYsMHhGNiwweEMzLDB4QzAsMHg3NSwweEVGLDB4OEIsCi0weDRFLDB4MUMsMHhFQywweDg4LDB4ODYsMHhBNCwweDAwLDB4ODMsMHhFQSwweDBBLDB4QTgsMHgyMCwweDc1LDB4MDIsMHg4QSwweENELAotMHgzMiwweEVELDB4OEIsMHg0NiwweDFBLDB4M0IsMHhDOCwweDczLDB4MTgsMHgwMSwweDRFLDB4MkEsMHgyQiwweEMxLDB4ODksMHg0NiwKLTB4MUEsMHhDNSwweDc2LDB4MDAsMHhGMywweDZFLDB4OEUsMHhEOSwweDg5LDB4NzYsMHgwMCwweDNELDB4MjAsMHgwMCwweDcyLDB4MzAsCi0weEMzLDB4ODUsMHhDMCwweDc0LDB4MzEsMHg4QiwweEM4LDB4MDEsMHg0NiwweDJBLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDhFLAotMHhEOSwweDgwLDB4Q0IsMHgwMiwweDg5LDB4NUUsMHgyNiwweEU4LDB4MzIsMHhGMSwweEY2LDB4QzcsMHgwMSwweDc1LDB4MTYsMHg4MywKLTB4QzIsMHgwMiwweEU4LDB4NTMsMHhGRCwweEY2LDB4QzcsMHgxMCwweDc1LDB4MEIsMHhCMCwweDAyLDB4RTgsMHg0MywweEZBLDB4QzMsCi0weEY2LDB4QzcsMHgwMSwweDc0LDB4RjAsMHhDMywweDgwLDB4Q0IsMHgwMiwweDg5LDB4NUUsMHgyNiwweEY2LDB4QzcsMHgwMSwweDc0LAotMHhERSwweDgzLDB4QzIsMHgwMiwweEU4LDB4MzEsMHhGRCwweEY2LDB4ODYsMHhBNCwweDAwLDB4NDAsMHg3NCwweDBCLDB4ODAsMHhFNywKLTB4RkUsMHg4MCwweENGLDB4MDIsMHg4OSwweDVFLDB4MjYsMHhFQiwweENDLDB4QjAsMHgwNCwweEU4LDB4MTQsMHhGQSwweEMzLDB4QzAsCi0weEMyLDB4QzgsMHhDQSwweEM0LDB4QzYsMHhDQywweENFLDB4RDAsMHhEMiwweEQ4LDB4REEsMHhENCwweEQ2LDB4REMsMHhERSwweDkwLAotMHhFOSwweDBFLDB4MDEsMHhFNCwweEM0LDB4OEEsMHhFMCwweEU0LDB4QzQsMHg4QiwweEQwLDB4ODMsMHhGOSwweDA4LDB4NzIsMHhGMCwKLTB4MjYsMHg4MywweDNGLDB4MDAsMHg3NCwweDA0LDB4OEIsMHhERiwweDQ5LDB4NDksMHg4QiwweEZCLDB4OEEsMHhERSwweDgzLDB4RTMsCi0weDBGLDB4MkUsMHg4QSwweEE3LDB4MkYsMHgxNiwweEFCLDB4RjYsMHhDNCwweDEwLDB4NzQsMHgyNCwweEY3LDB4QzYsMHgwMCwweDEwLAotMHg3NCwweDBCLDB4NTAsMHhGRSwweDg2LDB4QjIsMHgwMCwweEIwLDB4MEEsMHhFOCwweEM2LDB4RjksMHg1OCwweEY3LDB4QzYsMHgwMCwKLTB4MDEsMHg3NCwweDBELDB4RTgsMHhBMCwweDI0LDB4OEIsMHg3NiwweDM4LDB4OEIsMHg0RSwweDJFLDB4OEIsMHg3RSwweDA0LDB4QUIsCi0weDg5LDB4N0UsMHgwNCwweDMzLDB4QzAsMHhBQiwweDQ5LDB4NDksMHg4OSwweDRFLDB4MkUsMHg4OSwweDdFLDB4MkMsMHg4QiwweEMxLAotMHhFQiwweDRFLDB4OTAsMHhFQiwweDlFLDB4OTAsMHhFNCwweEQ2LDB4ODQsMHhDMCwweDc5LDB4NjMsMHhFNiwweEQwLDB4OEEsMHhDOCwKLTB4MjUsMHgwMywweDAwLDB4MDMsMHhEOCwweEQxLDB4RTMsMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4ODgsMHg4RSwweEFFLDB4MDAsCi0weDhCLDB4NEUsMHgyRSwweEM0LDB4NUUsMHgwNCwweDhCLDB4N0UsMHgyQywweDhCLDB4NzYsMHgzOCwweEU0LDB4ODYsMHgyNCwweDA3LAotMHgzQywweDAzLDB4NzUsMHhDRiwweEU0LDB4MUMsMHg5MSwweDNCLDB4QzEsMHg3MywweDAyLDB4OEIsMHhDOCwweDJCLDB4QzEsMHg4OSwKLTB4NDYsMHgyRSwweDAxLDB4NEUsMHgzNCwweDI2LDB4MDEsMHgwRiwweEJBLDB4QzQsMHgwMCwweEYzLDB4NkMsMHg4OSwweDdFLDB4MkMsCi0weDNCLDB4NDYsMHgzQywweDcyLDB4MUMsMHhGNywweEM2LDB4MjAsMHgwMCwweDc1LDB4MEIsMHg4MywweENFLDB4MjAsMHg4OSwweDc2LAotMHgzOCwweEIwLDB4MDAsMHhFOCwweDNDLDB4RjksMHg4QSwweDg2LDB4QUUsMHgwMCwweDI0LDB4M0YsMHhFNiwweEQ2LDB4QzMsMHhGOSwKLTB4QzMsMHhGNywweEM2LDB4MEEsMHgwMCwweDc0LDB4MzUsMHhGNywweEM2LDB4MTAsMHgwMCwweDc1LDB4MkYsMHg4MywweENFLDB4MTAsCi0weDg5LDB4NzYsMHgzOCwweEY3LDB4QzYsMHgwMiwweDAwLDB4NzQsMHgwRSwweDUwLDB4RTQsMHhEOCwweDI0LDB4RkUsMHhFNiwweEQ4LAotMHg1OCwweEY3LDB4QzYsMHgwOCwweDAwLDB4NzQsMHgxNSwweDUwLDB4NTEsMHhCOSwweEU4LDB4MDMsMHhFNCwweDBBLDB4ODQsMHhDMCwKLTB4RTAsMHhGQSwweDg0LDB4QzAsMHg3NSwweDA0LDB4QjAsMHgyNCwweEU2LDB4MEEsMHg1OSwweDU4LDB4M0QsMHg0MCwweDAwLDB4NzMsCi0weEI1LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEVGLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODEsMHhDRSwweDEwLAotMHgwNCwweDg5LDB4NzYsMHgzOCwweEVCLDB4QTAsMHgwMCwweDA4LDB4MDQsMHgwQywweDAxLDB4MDksMHgwNSwweDBELDB4MDIsMHgwQSwKLTB4MDYsMHgwRSwweDAzLDB4MEIsMHgwNywweDBGLDB4MDAsMHg0MCwweDgwLDB4QzAsMHgyMCwweDYwLDB4QTAsMHhFMCwweDEwLDB4NTAsCi0weDkwLDB4RDAsMHgzMCwweDcwLDB4QjAsMHhGMCwweEU0LDB4RDIsMHhFNiwweEQwLDB4OEEsMHhDOCwweDI1LDB4MDMsMHgwMCwweDAzLAotMHhEOCwweEQxLDB4RTMsMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4ODgsMHg4RSwweEFFLDB4MDAsMHhFNCwweEQ4LDB4QzAsMHhFOCwKLTB4MDQsMHg4QiwweEQ4LDB4MkUsMHg4QSwweDg3LDB4NjYsMHgxNywweDhBLDB4RTAsMHg4QSwweEM4LDB4ODYsMHg4NiwweEE5LDB4MDAsCi0weDMyLDB4RTAsMHhFNCwweDk4LDB4OEIsMHg1RSwweDNFLDB4ODQsMHhFMywweDc0LDB4NTQsMHg4QSwweEMxLDB4OEIsMHg0RSwweDI2LAotMHhGNiwweEM1LDB4MDQsMHg3NCwweDBDLDB4QTgsMHgwOCwweDc0LDB4MDUsMHg4MCwweEUxLDB4QkYsMHhFQiwweDAzLDB4ODAsMHhDOSwKLTB4NDAsMHhGNiwweEM1LDB4MDgsMHg3NCwweDBDLDB4QTgsMHgwMiwweDc0LDB4MDUsMHg4MCwweEUxLDB4N0YsMHhFQiwweDAzLDB4ODAsCi0weEM5LDB4ODAsMHg4OCwweDRFLDB4MjYsMHg4QiwweEYwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHhGNiwweEMxLDB4RkQsMHg3NCwweDA4LAotMHhBOCwweDA2LDB4NzQsMHgxOSwweDI0LDB4RjksMHhFQiwweDBGLDB4QTgsMHgwNiwweDc1LDB4MTEsMHhGNiwweEM1LDB4MDEsMHg3NSwKLTB4MDQsMHgwQywweDA0LDB4RUIsMHgwMiwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg4QiwweEM2LDB4ODQsCi0weEU3LDB4NzUsMHgwOSwweDhBLDB4ODYsMHhBRSwweDAwLDB4MjQsMHgzRiwweEU2LDB4RDIsMHhDMywweEM2LDB4ODYsMHhCQSwweDAwLAotMHgwMSwweEIwLDB4MEUsMHhFOCwweDFDLDB4RjgsMHhGNywweDQ2LDB4MzgsMHgwMCwweDAyLDB4NzQsMHhFNiwweDgzLDB4N0UsMHgyRSwKLTB4MDYsMHg3MiwweEUwLDB4OEEsMHg4NiwweEE5LDB4MDAsMHg4QSwweEUwLDB4ODYsMHg4NiwweEFBLDB4MDAsMHg4QSwweEM4LDB4MzIsCi0weEM0LDB4ODAsMHhDOSwweDBCLDB4MjIsMHhDMSwweEMwLDB4RTQsMHgwNCwweDBBLDB4RTAsMHhDNCwweDVFLDB4MDQsMHg4QiwweDdFLAotMHgyQywweEIwLDB4RkYsMHhBQSwweEIwLDB4MDIsMHhBQiwweDI2LDB4ODMsMHgwNywweDAzLDB4ODMsMHg2RSwweDJFLDB4MDMsMHg4OSwKLTB4N0UsMHgyQywweEY2LDB4NDYsMHgzOCwweDIwLDB4NzUsMHhBQiwweDgzLDB4NEUsMHgzOCwweDIwLDB4QjAsMHgwMCwweEU4LDB4RDEsCi0weEY3LDB4RUIsMHhBMCwweDkwLDB4RTQsMHgxMiwweDI0LDB4REYsMHhFNiwweDEyLDB4ODEsMHhFMywweEZFLDB4OUYsMHg4OSwweDVFLAotMHgyNiwweDgzLDB4NjYsMHg0OCwweEY3LDB4RUIsMHg3MywweDkwLDB4RjYsMHhDNywweDIwLDB4NzUsMHhFNywweEU0LDB4MTIsMHgwQywKLTB4MjAsMHhFNiwweDEyLDB4MzIsMHhDMCwweEU2LDB4QzYsMHhCMCwweDgzLDB4RTYsMHhDNiwweDgwLDB4Q0YsMHgyMCwweDg5LDB4NUUsCi0weDI2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4RUIsMHg3NCwweDkwLAotMHhGNiwweEM3LDB4NDAsMHg3NSwweEQzLDB4RTQsMHgxMiwweDBDLDB4MjAsMHhFNiwweDEyLDB4MzIsMHhDMCwweEU2LDB4QzYsMHhCMCwKLTB4ODEsMHhFNiwweEM2LDB4ODAsMHhFNywweERGLDB4ODAsMHhDQiwweDAxLDB4ODksMHg1RSwweDI2LDB4QjAsMHgwNiwweEU4LDB4NzEsCi0weEY3LDB4OTAsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RjksMHhFNiwweDBDLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFQiwweDQzLAotMHhFNCwweEQ0LDB4RTYsMHhEMCwweDhCLDB4RjgsMHgyNSwweDAzLDB4MDAsMHgwMywweEQ4LDB4RDEsMHhFMywweDJFLDB4OEIsMHhBRiwKLTB4NDQsMHgwMCwweDhCLDB4NUUsMHgyNiwweEY2LDB4QzcsMHg2MCwweDc1LDB4QjYsMHhGNiwweEMzLDB4QzAsMHg3NSwweEQzLDB4QkEsCi0weEM2LDB4MDAsMHg4QiwweDRFLDB4MUMsMHg4QiwweDQ2LDB4MUEsMHgzQiwweEM4LDB4NzMsMHgxRSwweDAxLDB4NEUsMHgyQSwweDJCLAotMHhDMSwweDg5LDB4NDYsMHgxQSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHg4RSwweEQ5LDB4ODksMHg3NiwweDAwLDB4M0QsMHgyMCwKLTB4MDAsMHg3MiwweDNELDB4OEIsMHhDNywweDI0LDB4M0YsMHhFNiwweEQ0LDB4QzMsMHg4NSwweEMwLDB4NzQsMHgzOSwweDhCLDB4QzgsCi0weDAxLDB4NDYsMHgyQSwweEM1LDB4NzYsMHgwMCwweEYzLDB4NkUsMHg4RSwweEQ5LDB4ODMsMHhDQiwweDAyLDB4ODksMHg1RSwweDI2LAotMHhFOCwweEQ5LDB4RUQsMHhGNiwweEM3LDB4MDEsMHg3NSwweDM5LDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEY5LDB4RTYsMHgwQywKLTB4ODgsMHg4NiwweEE1LDB4MDAsMHhGNiwweEM3LDB4MTAsMHg3NSwweENBLDB4QjAsMHgwMiwweEU4LDB4RTQsMHhGNiwweEVCLDB4QzMsCi0weEY2LDB4QzcsMHgwMSwweDc0LDB4RUYsMHhFQiwweEJDLDB4RjYsMHhDNywweDAxLDB4NzQsMHhEQywweDhBLDB4ODYsMHhBNSwweDAwLAotMHhBOCwweDAyLDB4NzQsMHgxMSwweDgxLDB4RTMsMHhGRiwweEZFLDB4ODEsMHhDQiwweDAwLDB4MDIsMHg4OSwweDVFLDB4MjYsMHhFQiwKLTB4QzcsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkIsMHgwQywweDAyLDB4RTYsMHgwQywweDg4LDB4ODYsMHhBNSwweDAwLDB4RUIsCi0weDkyLDB4OTAsMHhGRCwweEY3LDB4REYsMHg3RiwweEZFLDB4RkIsMHhFRiwweEJGLDB4MDAsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDEsMHgwNCwweDAwLDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwMiwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwMSwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA3LDB4MDQsMHgwNywweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwMywweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwMSwweDA0LDB4MDAsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDAyLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDAxLDB4MDQsMHgwMCwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNiwweDA0LDB4MDYsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDcsMHgwNCwweDA3LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwKLTB4MDUsMHgwNCwweDA2LDB4MDQsMHgwNiwweDA0LDB4MDUsMHgwNCwweDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsCi0weDA1LDB4MDQsMHgwNywweDA0LDB4MDcsMHgwNCwweDA1LDB4MDQsMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LAotMHgwNSwweDA0LDB4MDYsMHgwNCwweDA2LDB4MDQsMHgwNSwweDA0LDB4MDUsMHgwNCwweDMzLDB4REIsMHg4QSwweEQ4LDB4OEEsMHg4NywKLTB4NkMsMHgxMiwweEU2LDB4RkUsMHhDMSwweEUzLDB4MDIsMHhFNCwweENFLDB4QTgsMHgwNCwweDc1LDB4MDksMHhBOCwweDAyLDB4NzQsCi0weDAzLDB4RTksMHgyQywweEZFLDB4RjksMHhDMywweDUwLDB4NTMsMHhFOCwweENCLDB4RkMsMHg1QiwweDU4LDB4QTgsMHgwMiwweDc0LAotMHgwMywweEU5LDB4MUMsMHhGRSwweEY4LDB4QzMsMHgzMywweERCLDB4OEEsMHhEOCwweDhBLDB4ODcsMHg2QywweDEyLDB4RTYsMHhGRSwKLTB4QzEsMHhFMywweDAyLDB4RTksMHhEMCwweEZCLDB4OUEsMHgxQSwweEM2LDB4MUEsMHgwMCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBBLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEMsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBFLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MEEsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwQywweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLAotMHgwMiwweDAwLDB4MDYsMHgwMCwweDAyLDB4MDAsMHgwNCwweDAwLDB4MDIsMHgwMCwweDBBLDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwKLTB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMiwweDAwLDB4MDQsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsCi0weDAyLDB4MDAsMHgwNiwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4QzMsMHg5MCwweERBLDB4MTQsMHg5NCwweDE1LAotMHg1QywweDEzLDB4RTYsMHgxMywweERBLDB4MUIsMHhEQSwweDFCLDB4RTYsMHgxMywweERBLDB4MUIsMHg4QiwweDk0LDB4NjQsMHgxMiwKLTB4QzEsMHhFNiwweDA0LDB4QTgsMHgwMSwweDc0LDB4MzUsMHg1MCwweDMzLDB4QzAsMHg4QSwweEMyLDB4RTYsMHhGRSwweEU0LDB4QTAsCi0weDg1LDB4QzAsMHg3NCwweDI3LDB4OEIsMHhEOCwweDJFLDB4OEEsMHg5RiwweERBLDB4MUEsMHg1MiwweDU2LDB4MkUsMHg4QiwweEE4LAotMHg0NCwweDAwLDB4OEIsMHg1NiwweDI4LDB4RUMsMHhBOCwweDAxLDB4NzUsMHgwRCwweDg4LDB4ODYsMHhBRCwweDAwLDB4MjQsMHgwRSwKLTB4OEEsMHhEOCwweDJFLDB4RkYsMHg5NywweERDLDB4MUIsMHg1RSwweDVBLDB4RUIsMHhDRCwweDU4LDB4QTgsMHgwMiwweDc0LDB4MzYsCi0weDgzLDB4QzYsMHgxMCwweDMzLDB4QzAsMHg4QSwweEM2LDB4RTYsMHhGRSwweEU0LDB4QTAsMHg4NSwweEMwLDB4NzQsMHgyNywweDhCLAotMHhEOCwweDJFLDB4OEEsMHg5RiwweERBLDB4MUEsMHg1MiwweDU2LDB4MkUsMHg4QiwweEE4LDB4NDQsMHgwMCwweDhCLDB4NTYsMHgyOCwKLTB4RUMsMHhBOCwweDAxLDB4NzUsMHgwRCwweDg4LDB4ODYsMHhBRCwweDAwLDB4MjQsMHgwRSwweDhBLDB4RDgsMHgyRSwweEZGLDB4OTcsCi0weERDLDB4MUIsMHg1RSwweDVBLDB4RUIsMHhDRCwweEMzLDB4OTAsMHgzMiwweEU0LDB4OEIsMHhEOCwweDhCLDB4RDAsMHgyRSwweDhBLAotMHg5RiwweDlBLDB4MTksMHgyRSwweDIyLDB4OTcsMHg5MiwweDE5LDB4NTYsMHg1MiwweDhBLDB4QzMsMHgyNCwweDAzLDB4MDMsMHhDNiwKLTB4ODAsMHhFMywweDA0LDB4RDAsMHhFQiwweDJFLDB4RkYsMHg5NywweEQ2LDB4MUEsMHg1OCwweDVFLDB4QTksMHg1NSwweDAwLDB4NzUsCi0weEQ5LDB4QzMsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLAotMHgyMiwweEM0LDB4NzQsMHgwOCwweDMzLDB4RjYsMHhFOCwweEJGLDB4RkYsMHhFQiwweEVFLDB4OTAsMHhFNCwweDA0LDB4MDcsMHhFNCwKLTB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsCi0weEMwLDB4OEUsMHhEOCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MDgsMHhCRSwweDA0LAotMHgwMCwweEU4LDB4OTQsMHhGRiwweEVCLDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwKLTB4MjIsMHhGRiwweEVGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwweDVDLDB4MTIsCi0weEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MTgsMHgzMywweEY2LDB4RTgsMHg2QiwweEZGLDB4QTEsMHg2MCwweDEyLAotMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweEU1LDB4QkUsMHgwOCwweDAwLDB4RTgsMHg1QSwweEZGLDB4RUIsMHhERCwKLTB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsCi0weEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDA0LDB4MUYsMHhFNCwweDA0LDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLAotMHhFRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwKLTB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweDE5LDB4QkUsMHgwNCwweDAwLDB4RTgsMHgxQywweEZGLDB4QTEsMHg2MiwweDEyLDB4RTYsCi0weEZFLDB4RTQsMHgwMCwweDIyLDB4QzQsMHg3NCwweEU0LDB4QkUsMHgwQywweDAwLDB4RTgsMHgwQiwweEZGLDB4RUIsMHhEQywweEExLAotMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHhBMSwKLTB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDA0LDB4MUYsMHhFNCwweDA0LDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsCi0weDYxLDB4Q0YsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLAotMHg4NCwweEM0LDB4NzQsMHgwOCwweDMzLDB4RjYsMHhFOCwweDUzLDB4RkUsMHhFQiwweEVFLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhCQSwKLTB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsCi0weDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDA4LDB4QkUsMHgwMiwweDAwLDB4RTgsMHgyQywweEZFLAotMHhFQiwweEVELDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwKLTB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MDgsCi0weEJFLDB4MDQsMHgwMCwweEU4LDB4MDYsMHhGRSwweEVCLDB4RUQsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDA3LAotMHgxRiwweDYxLDB4Q0YsMHg5MCwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg2MiwweDEyLDB4RTYsMHhGRSwKLTB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweDA4LDB4QkUsMHgwNiwweDAwLDB4RTgsMHhFMCwweEZELDB4RUIsMHhFRCwweEI4LDB4MDAsCi0weDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLAotMHhEOCwweEExLDB4NUMsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4MTgsMHgzMywweEY2LDB4RTgsMHgzNywKLTB4RkUsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NCwweEU1LDB4QkUsMHgwNCwweDAwLDB4RTgsCi0weEFBLDB4RkQsMHhFQiwweERELDB4QTEsMHg2MCwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzUsMHhFRCwweEExLAotMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwKLTB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLDB4NUUsMHgxMiwweEU2LDB4RkUsCi0weEU0LDB4MDAsMHgyMiwweEM0LDB4NzQsMHgxOSwweEJFLDB4MDQsMHgwMCwweEU4LDB4RUMsMHhGRCwweEExLDB4NjIsMHgxMiwweEU2LAotMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHhFNCwweEJFLDB4MDYsMHgwMCwweEU4LDB4NUYsMHhGRCwweEVCLDB4REMsMHhBMSwKLTB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc1LDB4RUQsMHhBMSwweDVFLDB4MTIsMHhFNiwweEZFLDB4RTQsCi0weDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwweDYxLDB4Q0YsMHg2MCwweDFFLAotMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgxOCwKLTB4MzMsMHhGNiwweEU4LDB4MjcsMHhGRCwweEExLDB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDAwLDB4MjIsMHhDNCwweDc0LDB4RTUsCi0weEJFLDB4MDgsMHgwMCwweEU4LDB4OTIsMHhGRCwweEVCLDB4REQsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHgwMCwweDIyLAotMHhDNCwweDc1LDB4RUQsMHhFNCwweDA0LDB4MDcsMHhFNCwweDA0LDB4MUYsMHhCOCwweDAwLDB4ODAsMHhCQSwweDIyLDB4RkYsMHhFRiwKLTB4NjEsMHhDRiwweDYwLDB4MUUsMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4QTEsMHg1RSwweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsCi0weDg0LDB4QzQsMHg3NCwweDE5LDB4QkUsMHgwMiwweDAwLDB4RTgsMHhFMiwweEZDLDB4QTEsMHg2MiwweDEyLDB4RTYsMHhGRSwweEU0LAotMHgwMCwweDIyLDB4QzQsMHg3NCwweEU0LDB4QkUsMHgwQywweDAwLDB4RTgsMHg0RCwweEZELDB4RUIsMHhEQywweEExLDB4NjIsMHgxMiwKLTB4RTYsMHhGRSwweEU0LDB4MDAsMHgyMiwweEM0LDB4NzUsMHhFRCwweEU0LDB4MDQsMHgwNywweEU0LDB4MDQsMHgxRiwweEI4LDB4MDAsCi0weDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsMHhEOCwweEExLAotMHg1QywweDEyLDB4RTYsMHhGRSwweEU0LDB4ODAsMHg4NCwweEM0LDB4NzQsMHgxOCwweDMzLDB4RjYsMHhFOCwweDlELDB4RkMsMHhBMSwKLTB4NjAsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4RTUsMHhCRSwweDA0LDB4MDAsMHhFOCwweDhDLDB4RkMsCi0weEVCLDB4REQsMHhBMSwweDYwLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NSwweEVELDB4MDcsMHgxRiwweEI4LAotMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLDB4RDgsMHhBMSwKLTB4NUUsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4MTksMHhCRSwweDAyLDB4MDAsMHhFOCwweDVDLDB4RkMsCi0weEExLDB4NjIsMHgxMiwweEU2LDB4RkUsMHhFNCwweDgwLDB4ODQsMHhDNCwweDc0LDB4RTQsMHhCRSwweDA2LDB4MDAsMHhFOCwweDRCLAotMHhGQywweEVCLDB4REMsMHhBMSwweDYyLDB4MTIsMHhFNiwweEZFLDB4RTQsMHg4MCwweDg0LDB4QzQsMHg3NSwweEVELDB4MDcsMHgxRiwKLTB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHg2MSwweENGLDB4OTAsMHg2MCwweDFFLDB4MDYsMHgyQiwweEMwLDB4OEUsCi0weEQ4LDB4OTAsMHgyQSwweEMwLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwweDAxLDB4NzQsMHgxNCwweDMzLDB4REIsMHhFOCwweEQ1LAotMHhGNiwweEVCLDB4RUYsMHg5MCwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwweEVGLDB4MDcsMHgxRiwweDYxLDB4Q0YsMHg5MCwKLTB4RjYsMHgwNiwweDA1LDB4MDEsMHgwMSwweDc1LDB4RUQsMHhCMCwweDAxLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwweDAxLDB4NzQsCi0weEUzLDB4QkIsMHgwNCwweDAwLDB4RTgsMHhBRiwweEY2LDB4RUIsMHhDOSwweDkwLDB4NjAsMHgxRSwweDA2LDB4MkIsMHhDMCwweDhFLAotMHhEOCwweDkwLDB4RkIsMHg5MCwweEZBLDB4MkEsMHhDMCwweEU2LDB4RkUsMHhFNCwweENFLDB4QTgsMHgwMiwweDc0LDB4MTMsMHgzMywKLTB4REIsMHhFOCwweENDLDB4RjgsMHhFQiwweEVDLDB4QjgsMHgwMCwweDgwLDB4QkEsMHgyMiwweEZGLDB4RUYsMHgwNywweDFGLDB4NjEsCi0weENGLDB4OTAsMHhBOCwweDA0LDB4NzQsMHhGMCwweDMzLDB4REIsMHhFOCwweDVCLDB4RjcsMHhFQiwweEQ1LDB4OTAsMHg2MCwweDFFLAotMHgwNiwweDJCLDB4QzAsMHg4RSwweEQ4LDB4OTAsMHhGQiwweDkwLDB4RkEsMHhCMCwweDAxLDB4RTYsMHhGRSwweEU0LDB4Q0UsMHhBOCwKLTB4MDIsMHg3NCwweDE1LDB4QkIsMHgwNCwweDAwLDB4RTgsMHg5NywweEY4LDB4RUIsMHhFQiwweDkwLDB4QjgsMHgwMCwweDgwLDB4QkEsCi0weDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHhBOCwweDA0LDB4NzQsMHhGMCwweEJCLDB4MDQsMHgwMCwweEU4LAotMHgyNCwweEY3LDB4RUIsMHhEMiwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MDksMHg5QywweDBFLDB4RTgsMHg2QiwKLTB4RjIsMHg5MCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MjksMHg5QywweDBFLDB4RTgsMHg1RCwweEYyLDB4OTAsCi0weDcyLDB4MjAsMHg3MiwweDIwLDB4NzIsMHgyMCwweENFLDB4MUQsMHg5MiwweDFDLDB4RTYsMHgxQywweDFBLDB4MUUsMHg3MiwweDIwLAotMHg4MiwweDFELDB4QUUsMHgxRSwweDM4LDB4MUYsMHg3MiwweDIwLDB4ODIsMHgxRCwweDcyLDB4MjAsMHg3MiwweDIwLDB4MzgsMHgxRiwKLTB4NzIsMHgyMCwweDcyLDB4MjAsMHg3MiwweDIwLDB4RjQsMHgxRCwweEJDLDB4MUMsMHgzNCwweDFELDB4NjQsMHgxRSwweDcyLDB4MjAsCi0weEE4LDB4MUQsMHhGMiwweDFFLDB4NzgsMHgxRiwweDcyLDB4MjAsMHhBOCwweDFELDB4NzIsMHgyMCwweDcyLDB4MjAsMHg3OCwweDFGLAotMHhGQywweEI5LDB4NDAsMHgwMCwweDhDLDB4Q0IsMHhCOCwweDY0LDB4MjAsMHgyQiwweEZGLDB4QUIsMHg5MywweEFCLDB4OTMsMHhFMiwKLTB4RkEsMHhDNywweDA2LDB4NEMsMHgwMCwweEE4LDB4MTEsMHg4MywweDNFLDB4NDQsMHgxMiwweDAwLDB4NzUsMHgyMCwweEM3LDB4MDYsCi0weDNDLDB4MDAsMHgwOCwweDRCLDB4QzcsMHgwNiwweDMwLDB4MDAsMHhCQSwweDFGLDB4QzcsMHgwNiwweDM0LDB4MDAsMHhGQSwweDFGLAotMHhGNiwweDA2LDB4MDUsMHgwMSwweDAxLDB4NzUsMHgwNiwweEM3LDB4MDYsMHgzOCwweDAwLDB4MkUsMHgyMCwweEMzLDB4QzcsMHgwNiwKLTB4M0MsMHgwMCwweDU2LDB4NEIsMHgzMywweERCLDB4OEEsMHgxRSwweDU0LDB4MTIsMHhDMSwweEUzLDB4MDIsMHgwMiwweDFFLDB4NTYsCi0weDEyLDB4MkUsMHg4QiwweDg3LDB4ODAsMHgyMCwweEEzLDB4MzAsMHgwMCwweDhBLDB4MUUsMHg1NSwweDEyLDB4QzEsMHhFMywweDAyLAotMHgwMiwweDFFLDB4NTcsMHgxMiwweDJFLDB4OEIsMHg4NywweEEwLDB4MjAsMHhBMywweDM0LDB4MDAsMHhDMywweDhCLDB4ODYsMHg5RSwKLTB4MDAsMHhFNiwweEZFLDB4ODYsMHhDNCwweEU2LDB4RDAsMHhDMywweDhCLDB4ODYsMHg5RSwweDAwLDB4RTYsMHhGRSwweDMzLDB4RDIsCi0weDhBLDB4RDQsMHhDMywweDUxLDB4QjksMHgxMCwweDI3LDB4RTQsMHgwQSwweDkwLDB4OTAsMHg4NCwweEMwLDB4NzQsMHgwNSwweEUyLAotMHhGNiwweDU5LDB4RjksMHhDMywweDU5LDB4RjgsMHhDMywweDg0LDB4QzAsMHg3OCwweDFFLDB4NTEsMHg4QSwweEU4LDB4OEEsMHhDOCwKLTB4QjgsMHgwMSwweDAwLDB4RDMsMHhFMCwweDA5LDB4ODYsMHg5OCwweDAwLDB4M0EsMHhBRSwweEEwLDB4MDAsMHg1OSwweDc1LDB4MTAsCi0weEU4LDB4QTksMHhFNSwweDgzLDB4NEUsMHgyNiwweDAyLDB4RjksMHhDMywweDk4LDB4ODksMHg4NiwweDk4LDB4MDAsMHhFQiwweEYwLAotMHhGOCwweEMzLDB4ODQsMHhDMCwweDc4LDB4MTIsMHg1MSwweDhBLDB4RTAsMHg4QSwweEM4LDB4QjgsMHgwMSwweDAwLDB4RDMsMHhFMCwKLTB4NTksMHhGNywweEQwLDB4MjEsMHg4NiwweDk4LDB4MDAsMHhDMywweEM3LDB4ODYsMHg5OCwweDAwLDB4MDAsMHgwMCwweEMzLDB4ODMsCi0weEMyLDB4MDQsMHg4QSwweDg2LDB4QTYsMHgwMCwweDBDLDB4MDQsMHhFRSwweDgzLDB4RUEsMHgwNCwweEMzLDB4RTgsMHg5MywweEZGLAotMHg3MiwweDA0LDB4QjAsMHg4MiwweEU2LDB4MEEsMHhDMywweDhCLDB4NDYsMHgyNiwweEE4LDB4RkQsMHg3NCwweDExLDB4OEEsMHg4NiwKLTB4QTUsMHgwMCwweEE4LDB4MDYsMHg3NCwweDA4LDB4MjQsMHhGOSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLDB4RjYsCi0weEM0LDB4MDEsMHg3NCwweDBBLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZCLDB4MEMsMHgwMiwweEVCLDB4MEMsMHhBOCwweDAyLAotMHg3NSwweDBGLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgyNCwweEZELDB4MEMsMHgwNCwweDNBLDB4ODYsMHhBNSwweDAwLDB4NzUsMHhEOCwKLTB4QzMsMHg4QSwweDg2LDB4QTUsMHgwMCwweEVCLDB4Q0YsMHhFNCwweEQ4LDB4MzMsMHhEQiwweDhBLDB4RDgsMHhDMCwweEVCLDB4MDQsCi0weDJFLDB4OEEsMHg5RiwweDY2LDB4MTcsMHg4OCwweDlFLDB4QTksMHgwMCwweDhCLDB4NUUsMHgyNiwweDgwLDB4RTMsMHgzRiwweEY2LAotMHhDNywweDA0LDB4NzQsMHgwNywweEE4LDB4MTAsMHg3NSwweDAzLDB4ODAsMHhDQiwweDQwLDB4RjYsMHhDNywweDA4LDB4NzQsMHgwNywKLTB4QTgsMHg4MCwweDc1LDB4MDMsMHg4MCwweENCLDB4NDAsMHg4OCwweDVFLDB4MjYsMHg4QSwweDg2LDB4QTUsMHgwMCwweEY2LDB4QzMsCi0weEZELDB4NzQsMHgwRCwweEE4LDB4MDYsMHg3NCwweDA4LDB4MjQsMHhGOSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweEMzLAotMHhGNiwweEM3LDB4MDEsMHg3NCwweDA0LDB4MEMsMHgwMiwweEVCLDB4RjAsMHhGNiwweEMzLDB4MDIsMHg3NSwweEU5LDB4MEMsMHgwNCwKLTB4RUIsMHhFNywweEM0LDB4MDQsMHhDNCwweDA0LDB4ODUsMHgwNCwweDU5LDB4MDQsMHg0OCwweDA0LDB4NDEsMHgwNCwweEMzLDB4MDMsCi0weDgyLDB4MDMsMHg0MSwweDAzLDB4ODIsMHgwMiwweDU3LDB4MDIsMHg0MSwweDAyLDB4ODIsMHgwMSwweDQxLDB4MDEsMHg4MiwweDAwLAotMHg0MSwweDAwLDB4NEUsMHgwMiwweEFELDB4MDEsMHg1NywweDAxLDB4MkQsMHgwMCwweDJCLDB4MDAsMHgyNywweDAwLDB4MjEsMHgwMCwKLTB4MTYsMHgwMCwweEY0LDB4MDQsMHhGNCwweDA0LDB4QTMsMHgwNCwweDZGLDB4MDQsMHg1QiwweDA0LDB4NTEsMHgwNCwweEY0LDB4MDMsCi0weEEzLDB4MDMsMHg1MSwweDAzLDB4QTMsMHgwMiwweDZELDB4MDIsMHg1MSwweDAyLDB4QTMsMHgwMSwweDUxLDB4MDEsMHhBMywweDAwLAotMHg1MSwweDAwLDB4NjIsMHgwMiwweEQ5LDB4MDEsMHg2RCwweDAxLDB4MzgsMHgwMCwweDM2LDB4MDAsMHgzMSwweDAwLDB4MjksMHgwMCwKLTB4MUIsMHgwMCwweDUxLDB4NTcsMHhCRiwweDAyLDB4MDAsMHhFQiwweDBGLDB4OTAsMHg1MSwweDU2LDB4QkYsMHgwMSwweDAwLDB4RUIsCi0weDA3LDB4OTAsMHg1MSwweDU2LDB4QkYsMHgwMywweDAwLDB4OTAsMHgzQywweDE5LDB4NzYsMHgwMiwweEIwLDB4MTcsMHg5OCwweDhCLAotMHhGMCwweDhBLDB4ODIsMHhDNCwweDAwLDB4MkEsMHhFNCwweDhCLDB4RjAsMHg4MywweEZFLDB4MTgsMHg3MywweDQ2LDB4RDEsMHhFNiwKLTB4MkUsMHg4QiwweDhDLDB4NTIsMHgyMiwweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsMHg3NCwweDA1LDB4MkUsMHg4QiwweDhDLDB4ODIsCi0weDIyLDB4RjcsMHhDNywweDAyLDB4MDAsMHg3NCwweDEyLDB4M0IsMHg4RSwweDk0LDB4MDAsMHg3NCwweDBDLDB4ODksMHg4RSwweDk0LAotMHgwMCwweDhBLDB4QzUsMHhFNiwweEVDLDB4OEEsMHhDMSwweEU2LDB4RTQsMHhGNywweEM3LDB4MDEsMHgwMCwweDc0LDB4MTIsMHgzQiwKLTB4OEUsMHg5NiwweDAwLDB4NzQsMHgwQywweDg5LDB4OEUsMHg5NiwweDAwLDB4OEEsMHhDNSwweEU2LDB4RjgsMHg4QSwweEMxLDB4RTYsCi0weEYwLDB4NUUsMHg1OSwweEMzLDB4NzcsMHgwNiwweDhCLDB4OEUsMHg4RSwweDAwLDB4RUIsMHhDNSwweDhCLDB4OEUsMHg5MCwweDAwLAotMHhFQiwweEJGLDB4RDUsMHgwMywweEY2LDB4MDAsMHgzRSwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHhDQSwweDA0LDB4MzMsMHgwMSwKLTB4NEQsMHgwMCwweDE0LDB4MDAsMHgwNSwweDAwLDB4MDEsMHgwMywweDA1LDB4MDcsMHgwOSwweDAwLDB4MDEsMHgwMiwweDAzLDB4MDQsCi0weDgwLDB4ODQsMHgxRSwweDAwLDB4QTAsMHgyNSwweDI2LDB4MDAsMHgwMCwweDAwLDB4NjAsMHg4QiwweEYwLDB4MzMsMHhGRiwweDJFLAotMHhBMSwweDUwLDB4MjMsMHgyRSwweDhCLDB4MTYsMHg1MiwweDIzLDB4QkIsMHgzMiwweDIzLDB4RjcsMHg0NiwweDM4LDB4ODAsMHgwMCwKLTB4NzQsMHgwQywweDJFLDB4QTEsMHg1NCwweDIzLDB4MkUsMHg4QiwweDE2LDB4NTYsMHgyMywweEJCLDB4M0MsMHgyMywweEI5LDB4MDUsCi0weDAwLDB4MkUsMHgzQiwweDMxLDB4NzMsMHgwQSwweDQ3LDB4NDcsMHhFMiwweEY3LDB4QjgsMHhGRiwweEZGLDB4RUIsMHgxRCwweDkwLAotMHhEMSwweEVGLDB4MkUsMHg4QSwweDhELDB4NDYsMHgyMywweDJBLDB4RUQsMHhEMSwweEVBLDB4RDEsMHhEOCwweEUyLDB4RkEsMHhGNywKLTB4RjYsMHgwNSwweDAyLDB4MDAsMHhDMSwweEU4LDB4MDIsMHgyRSwweDhBLDB4QTUsMHg0QiwweDIzLDB4MkUsMHhBMywweDU4LDB4MjMsCi0weDYxLDB4MkUsMHhBMSwweDU4LDB4MjMsMHhDMywweDA4LDB4MDAsMHgyMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDIsMHg2MCwweDA5LAotMHgwOCwweDAwLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDIsMHgwMCwKLTB4MDMsMHgwMCwweDA0LDB4MDAsMHg1MiwweDU2LDB4NTcsMHg4NSwweEMwLDB4NzQsMHgwNSwweDNELDB4MDEsMHgwOSwweDc2LDB4MDMsCi0weEI4LDB4MDEsMHgwOSwweEJGLDB4NUIsMHgwMSwweEY3LDB4NDYsMHgzOCwweDgwLDB4MDAsMHg3NCwweDAzLDB4QkYsMHhCMiwweDAxLAotMHgzMywweEY2LDB4MkUsMHgzQiwweDg0LDB4QjYsMHgyMywweDc2LDB4MDQsMHg0NiwweDQ2LDB4RUIsMHhGNSwweEY3LDB4RTcsMHgyRSwKLTB4OEIsMHhCQywweEMwLDB4MjMsMHgwMywweEM3LDB4ODMsMHhEMiwweDAwLDB4RDEsMHhFNywweEY3LDB4RjcsMHgyRSwweDhBLDB4QTQsCi0weENBLDB4MjMsMHg1RiwweDVFLDB4NUEsMHhDMywweEU0LDB4M0UsMHg4MCwweEJFLDB4QzMsMHgwMCwweDAzLDB4NzUsMHgwQywweEY3LAotMHg0NiwweDdBLDB4MjAsMHgwMCwweDc0LDB4MDUsMHgwQywweDgwLDB4RTYsMHgzRSwweEMzLDB4MjQsMHg3RiwweEU2LDB4M0UsMHhDMywKLTB4MjQsMHgwMywweDg4LDB4ODYsMHhDMywweDAwLDB4OEEsMHhFMCwweEU0LDB4MTAsMHgyNCwweEZDLDB4MEEsMHhDNCwweEU2LDB4MTAsCi0weDgwLDB4OEUsMHhBMSwweDAwLDB4NDIsMHhFOCwweENFLDB4RkYsMHhDMywweDkwLDB4NTYsMHg4QiwweEYwLDB4ODMsMHhFNiwweDA3LAotMHhEMSwweEU2LDB4MkUsMHhGRiwweEE0LDB4NTgsMHgyNCwweDkwLDB4NjgsMHgyNCwweDZDLDB4MjQsMHg3MCwweDI0LDB4NzQsMHgyNCwKLTB4NzgsMHgyNCwweDg3LDB4MjQsMHg4NywweDI0LDB4ODcsMHgyNCwweEI0LDB4MDAsMHhFQiwweDBFLDB4QjQsMHhDMCwweEVCLDB4MEEsCi0weEI0LDB4NDAsMHhFQiwweDA2LDB4QjQsMHgyMCwweEVCLDB4MDIsMHhCNCwweEEwLDB4RTQsMHgxMCwweDI0LDB4MUYsMHgwQSwweEM0LAotMHhFNiwweDEwLDB4ODAsMHg4RSwweEExLDB4MDAsMHg0MiwweDVFLDB4QzMsMHg5MCwweDNDLDB4MDIsMHg3NywweDEyLDB4OEEsMHhFMCwKLTB4RTQsMHgxMCwweDI0LDB4RjMsMHhDMCwweEU0LDB4MDIsMHgwQSwweEM0LDB4RTYsMHgxMCwweDgwLDB4OEUsMHhBMSwweDAwLDB4NDIsCi0weEMzLDB4OTAsMHg4QiwweDVFLDB4MzgsMHg4NCwweEMwLDB4NzQsMHgxRiwweDNDLDB4MDIsMHg3NCwweDIwLDB4ODMsMHhDQiwweDA4LAotMHg4QiwweDQ2LDB4MkUsMHgzQiwweDQ2LDB4M0MsMHg3NywweDBDLDB4RTgsMHg4OCwweEZDLDB4NzIsMHgwNywweEIwLDB4MjQsMHhFNiwKLTB4MEEsMHg4MywweENCLDB4MTAsMHg4OSwweDVFLDB4MzgsMHhDMywweDgzLDB4RTMsMHhGNywweEVCLDB4RjcsMHhGNywweEMzLDB4MTAsCi0weDAwLDB4NzQsMHhGNSwweEU4LDB4NkQsMHhGQywweDcyLDB4RUMsMHg4QSwweDg2LDB4QzAsMHgwMCwweEU2LDB4MzgsMHhCMCwweDIzLAotMHhFNiwweDBBLDB4RUIsMHhFMCwweDhCLDB4NUUsMHgzOCwweDhCLDB4NDYsMHgyRSwweDNCLDB4NDYsMHgzQywweEU0LDB4RDgsMHg3NywKLTB4MEIsMHgyNCwweEZFLDB4ODAsMHhDQiwweDEyLDB4RTYsMHhEOCwweDg5LDB4NUUsMHgzOCwweEMzLDB4MEMsMHgwMSwweDgwLDB4Q0IsCi0weDAyLDB4RUIsMHhGMywweDUwLDB4MzMsMHhEQiwweEMxLDB4RTgsMHgwNCwweDI1LDB4MEYsMHgwRiwweDhBLDB4RDgsMHgyRSwweDhBLAotMHg4NywweDY2LDB4MTcsMHg4QSwweERDLDB4MkUsMHg4QSwweEE3LDB4NjYsMHgxNywweDA5LDB4NDYsMHgzRSwweDU4LDB4QzMsMHg1MCwKLTB4MzMsMHhEQiwweEMxLDB4RTgsMHgwNCwweDI1LDB4MEYsMHgwRiwweDhBLDB4RDgsMHgyRSwweDhBLDB4ODcsMHg2NiwweDE3LDB4OEEsCi0weERDLDB4MkUsMHg4QSwweEE3LDB4NjYsMHgxNywweEY3LDB4RDAsMHgyMSwweDQ2LDB4M0UsMHg1OCwweEMzLDB4OEIsMHg0NiwweDNFLAotMHgzMywweERCLDB4OEEsMHhEOCwweDBBLDB4REMsMHgyRSwweDhBLDB4ODcsMHg3NiwweDE3LDB4RTYsMHgyQywweDhBLDB4RTAsMHhFNCwKLTB4MkEsMHgyNCwweDBGLDB4MEEsMHhDNCwweEU2LDB4MkEsMHg4QSwweDg2LDB4QTUsMHgwMCwweDg0LDB4RTQsMHg3NSwweDBELDB4QTgsCi0weDgwLDB4NzQsMHgxMSwweDI0LDB4N0YsMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhDMywweEE4LDB4ODAsMHg3NSwweDA0LAotMHgwQywweDgwLDB4RUIsMHhGMSwweEMzLDB4MUUsMHg2MCwweDMzLDB4QzksMHgzMywweEQyLDB4MzMsMHhGNiwweDhFLDB4RDksMHg4RCwKLTB4QkUsMHhGRCwweDAwLDB4NTcsMHg4QiwweDA1LDB4ODQsMHhDMCwweDc0LDB4MTYsMHg4QiwweEQxLDB4NDIsMHg4QiwweEZFLDB4NEYsCi0weDc4LDB4MDksMHgzOCwweEEzLDB4RTQsMHgwMCwweDc0LDB4MDgsMHg0RiwweDc5LDB4RjcsMHg4OCwweEEyLDB4RTQsMHgwMCwweDQ2LAotMHg1RiwweDgzLDB4QzcsMHgwOSwweDQxLDB4ODMsMHhGOSwweDEwLDB4NzIsMHhEOSwweDg5LDB4QjYsMHg4NiwweDAwLDB4ODksMHg5NiwKLTB4ODQsMHgwMCwweDYxLDB4MUYsMHhDMywweDUzLDB4QzcsMHg0NiwweDY2LDB4MDAsMHgwMCwweDhCLDB4NDYsMHg2NCwweEE5LDB4NDAsCi0weDAwLDB4NzQsMHgwRCwweEIzLDB4MDAsMHhBOSwweDgwLDB4MDAsMHg3NCwweDAyLDB4QjMsMHg3RiwweDg4LDB4OUUsMHhDMSwweDAwLAotMHgzMiwweERCLDB4QTksMHgwMiwweDAwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHg0MCwweEE5LDB4MDAsMHg0MCwweDc0LDB4MDMsMHg4MCwKLTB4Q0IsMHgwMiwweEE5LDB4MDAsMHg4MCwweDc0LDB4MDMsMHg4MCwweENCLDB4MDEsMHhBOSwweDMwLDB4MUUsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4QkMsMHhBOSwweDAwLDB4MjAsMHg3NCwweDAzLDB4ODAsMHhDQiwweDA4LDB4QTksMHgwNCwweDAxLDB4NzQsMHgwMywweDgwLAotMHhDQiwweDEwLDB4QTksMHgwOCwweDAwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgyMCwweDg4LDB4OUUsMHhDMiwweDAwLDB4NUIsMHhDMywKLTB4MDYsMHg1MSwweDU3LDB4NTAsMHgxNiwweDA3LDB4OEQsMHhCRSwweEM0LDB4MDAsMHhCOSwweDFGLDB4MDAsMHgzMywweEMwLDB4QUEsCi0weDQwLDB4RTIsMHhGQywweDhCLDB4ODYsMHg5MiwweDAwLDB4ODksMHg4NiwweDhFLDB4MDAsMHg4OSwweDg2LDB4OTAsMHgwMCwweDU4LAotMHg1RiwweDU5LDB4MDcsMHhDMywweEU0LDB4RDgsMHhDMCwweEU4LDB4MDQsMHg1MywweDI1LDB4MEYsMHgwMCwweDhCLDB4RDgsMHgyRSwKLTB4OEEsMHg4NywweDY2LDB4MTcsMHg4OCwweDg2LDB4QTksMHgwMCwweDVBLDB4QzMsMHgwOCwweDg2LDB4QUMsMHgwMCwweEM2LDB4ODYsCi0weEJBLDB4MDAsMHgwMSwweEIwLDB4MEUsMHhFOCwweEVBLDB4RTksMHhDMywweEFELDB4MzYsMHhBMywweEI0LDB4MTMsMHhBRCwweDM2LAotMHhBMywweEI2LDB4MTMsMHhBRCwweDM2LDB4QTMsMHhCOCwweDEzLDB4ODMsMHhFOSwweDA2LDB4MzYsMHhGNywweDA2LDB4QjYsMHgxMywKLTB4MEYsMHgwMCwweEMzLDB4OEEsMHg0NiwweDI2LDB4RjcsMHg0NiwweDQ4LDB4ODAsMHgwMCwweDc0LDB4MDIsMHgwQywweDEwLDB4ODgsCi0weDg2LDB4QkQsMHgwMCwweDMyLDB4QzAsMHg4MywweDdFLDB4MUEsMHgwMCwweDc1LDB4MEUsMHg4QiwweDVFLDB4NDAsMHg0MywweDgwLAotMHhFMywweEZFLDB4M0IsMHg1RSwweDA4LDB4NzUsMHgwMiwweDBDLDB4MDEsMHg4MywweDdFLDB4M0EsMHgwMCwweDc1LDB4MEQsMHgxRSwKLTB4QzUsMHg1RSwweDE0LDB4OEIsMHgxRiwweDFGLDB4ODUsMHhEQiwweDc1LDB4MDIsMHgwQywweDAyLDB4RjcsMHg0NiwweDM4LDB4MTAsCi0weDAwLDB4NzQsMHgwMiwweDBDLDB4MDQsMHg4QiwweDVFLDB4N0EsMHhGNywweEMzLDB4MDIsMHgwMCwweDc0LDB4MDIsMHgwQywweDA4LAotMHhGNywweEMzLDB4MDQsMHgwMCwweDc0LDB4MDIsMHgwQywweDEwLDB4RjcsMHhDMywweDA4LDB4MDAsMHg3NCwweDAyLDB4MEMsMHgyMCwKLTB4RjcsMHhDMywweDQwLDB4MDAsMHg3NCwweDAyLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhCRiwweDAwLDB4QzMsMHg5MCwweDZBLDB4MDAsCi0weDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgwRCwweDlDLDB4MEUsMHhFOCwweEYxLDB4RUIsMHg5MCwweEIwLDB4MDIsMHhFNiwweERBLAotMHhGOCwweEMzLDB4MzMsMHhDMCwweEU2LDB4REEsMHhGOCwweEMzLDB4QjAsMHgwMSwweEU2LDB4RDgsMHhGOCwweEMzLDB4MzMsMHhDMCwKLTB4RTYsMHhEOCwweEY4LDB4QzMsMHhCMCwweEZGLDB4RTgsMHg0RSwweEZBLDB4RTgsMHhBMSwweEZBLDB4RjgsMHhDMywweEFDLDB4NDksCi0weEU4LDB4QUYsMHhGQiwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDE1LDB4RkQsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LAotMHhFOCwweDY3LDB4RkQsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgxRiwweEZELDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwKLTB4RTYsMHgzNCwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTYsMHgzNiwweEY4LDB4QzMsMHhBQywweDQ5LDB4M0MsMHgwMiwweDc3LDB4MUYsCi0weDg0LDB4QzAsMHg3NSwweDFELDB4RTQsMHgxNCwweDI0LDB4RUYsMHhFNiwweDE0LDB4RTQsMHgxMiwweDI0LDB4M0YsMHhFNiwweDEyLAotMHhFNCwweDE2LDB4QTgsMHgwNCwweDc0LDB4MDksMHhFOCwweEVBLDB4RjksMHg3MiwweDA0LDB4QjAsMHgxOCwweEU2LDB4MEEsMHhGOCwKLTB4QzMsMHg4QSwweEUwLDB4RTQsMHgxNCwweDBDLDB4MTAsMHhFNiwweDE0LDB4RTQsMHgxMiwweDBDLDB4QzAsMHhGNiwweEM0LDB4MDEsCi0weDc0LDB4MDIsMHgyNCwweDdGLDB4RTYsMHgxMiwweEY4LDB4QzMsMHhBQywweDQ5LDB4RTgsMHgyNSwweEZELDB4RjgsMHhDMywweDkwLAotMHhCOCwweDAwLDB4NDAsMHhFOCwweDdELDB4RkQsMHhFOCwweEI0LDB4RkQsMHhFOCwweEE4LDB4RkUsMHhCMCwweDAxLDB4RTgsMHhCOSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4NDAsMHhFOCwweDg1LDB4RkQsMHhFOCwweEEwLDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEI4LDB4MDAsMHgxMCwweEU4LDB4NUQsMHhGRCwweEU4LDB4OTQsMHhGRCwweEU4LDB4ODgsMHhGRSwweEIwLDB4MDgsMHhFOCwweDk5LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgxMCwweEU4LDB4NjUsMHhGRCwweEU4LDB4ODAsMHhGRCwweEY4LDB4QzMsMHg5MCwKLTB4QjgsMHgwMCwweDgwLDB4RTgsMHgzRCwweEZELDB4RTgsMHg3NCwweEZELDB4RTgsMHg2OCwweEZFLDB4QjAsMHgwMiwweEU4LDB4NzksCi0weEZFLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDgwLDB4RTgsMHg0NSwweEZELDB4RTgsMHg2MCwweEZELDB4RjgsMHhDMywweDkwLAotMHhCOCwweDAwLDB4MjAsMHhFOCwweDFELDB4RkQsMHhFOCwweDU0LDB4RkQsMHhFOCwweDQ4LDB4RkUsMHhCMCwweDA0LDB4RTgsMHg1OSwKLTB4RkUsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4MjAsMHhFOCwweDI1LDB4RkQsMHhFOCwweDQwLDB4RkQsMHhGOCwweEMzLDB4OTAsCi0weEFDLDB4NDksMHhFOCwweDQ4LDB4MTQsMHhFNCwweDNDLDB4MjQsMHhFNywweDBBLDB4QzQsMHhFNiwweDNDLDB4RjgsMHhDMywweDkwLAotMHhCOCwweEZDLDB4M0IsMHg4OSwweDQ2LDB4N0MsMHhFNCwweDNDLDB4MEMsMHgxOCwweEU2LDB4M0MsMHhGOCwweEMzLDB4RTQsMHgxMiwKLTB4MEMsMHgwMiwweEU2LDB4MTIsMHhGOCwweEMzLDB4RTQsMHgxMiwweDI0LDB4RkQsMHhFQiwweEY2LDB4RTgsMHhCNSwweEZDLDB4RjgsCi0weEMzLDB4OTAsMHg4MywweDY2LDB4MzgsMHhGRCwweEY4LDB4QzMsMHhBQywweDQ5LDB4QTgsMHgwMSwweDc0LDB4MDYsMHg4MywweDRFLAotMHg3QSwweDIwLDB4RUIsMHgwNCwweDgzLDB4NjYsMHg3QSwweERGLDB4RTgsMHhDQiwweEZCLDB4RjgsMHhDMywweDkwLDB4OEEsMHg4NiwKLTB4QTUsMHgwMCwweDBDLDB4MDIsMHgyNCwweEZCLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODEsMHg0RSwweDI2LDB4MDEsCi0weDIwLDB4QUMsMHg0OSwweDMyLDB4RTQsMHg4OSwweDQ2LDB4NkUsMHg4MywweDRFLDB4NDgsMHgwOCwweDQ5LDB4NDYsMHhGOSwweEMzLAotMHg4QSwweDg2LDB4QTUsMHgwMCwweDBDLDB4MDIsMHgyNCwweEZCLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4ODEsMHg0RSwKLTB4MjYsMHgwMSwweDIwLDB4QUMsMHhCNCwweDBBLDB4RjYsMHhFNCwweEVCLDB4RDgsMHhFOCwweEZBLDB4MTMsMHhFNCwweDNDLDB4MjQsCi0weEY4LDB4MEEsMHhDNCwweEU2LDB4M0MsMHhGOCwweEMzLDB4OTAsMHhBRCwweDQ5LDB4NDksMHg4OSwweDQ2LDB4NjQsMHhBOSwweDAxLAotMHgwMCwweDc0LDB4MUIsMHg4QiwweEQ4LDB4ODMsMHhFMywweEZBLDB4NzUsMHgxQSwweEE5LDB4MDQsMHgwMCwweDc0LDB4MEYsMHhFNCwKLTB4M0UsMHgwQywweDAyLDB4RTYsMHgzRSwweEI4LDB4MzgsMHg0NCwweDg5LDB4NDYsMHg2MiwweEY4LDB4QzMsMHg5MCwweEU0LDB4M0UsCi0weDI0LDB4RkMsMHhFQiwweEVGLDB4RTQsMHgzRSwweDI0LDB4RkMsMHhFNiwweDNFLDB4RTgsMHhFOCwweEZDLDB4QjgsMHhBQSwweDQwLAotMHhFQiwweEU2LDB4RTgsMHg2RSwweEY4LDB4NzIsMHgwNSwweEIwLDB4MTgsMHhFNiwweDBBLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwKLTB4RTgsMHhDRiwweEY5LDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4Q0YsMHhGOSwweEY4LDB4QzMsMHg5MCwweEU4LDB4NjgsCi0weEZELDB4NzUsMHgwNiwweDMyLDB4QzAsMHhFNiwweERBLDB4RjgsMHhDMywweEIwLDB4MDIsMHhFNiwweERBLDB4MzYsMHhBMCwweEI0LAotMHgxMywweDI0LDB4MTAsMHgzNCwweDEwLDB4RTgsMHgxNiwweDAxLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhBOSwweDAxLDB4MDAsMHg3NCwKLTB4MDUsMHhFOCwweEZDLDB4RkUsMHhFQiwweDBFLDB4QTksMHgwMiwweDAwLDB4NzQsMHgwNCwweDMyLDB4QzAsMHhFQiwweDAyLDB4QjAsCi0weDAxLDB4RTgsMHhERSwweEZFLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhFOCwweEI1LDB4MTMsMHhFNCwweDNDLDB4MjQsMHhGOCwweDBBLAotMHhDNCwweEU2LDB4M0MsMHgzNiwweEExLDB4QjQsMHgxMywweEMxLDB4RTgsMHgwNSwweDI1LDB4MDEsMHgwMCwweEU4LDB4RkEsMHhGRSwKLTB4MzYsMHhBMCwweEI1LDB4MTMsMHgyNCwweDEwLDB4RTgsMHg1OSwweEZCLDB4MzIsMHhDMCwweDM2LDB4OEEsMHgyNiwweEI1LDB4MTMsCi0weEY2LDB4QzQsMHgwNCwweDc0LDB4MDksMHhGRSwweEMwLDB4RjYsMHhDNCwweDA4LDB4NzQsMHgwMiwweEZFLDB4QzAsMHhFOCwweERCLAotMHhGRCwweDM2LDB4QTEsMHhCNiwweDEzLDB4MjUsMHgwRiwweDAwLDB4RTgsMHg1NywweEY5LDB4MzYsMHhBMSwweEI2LDB4MTMsMHhDMSwKLTB4RTgsMHgwNCwweDI1LDB4MDMsMHgwMCwweEU4LDB4QjgsMHhGQSwweDM2LDB4QTEsMHhCNiwweDEzLDB4QzEsMHhFOCwweDA1LDB4MjUsCi0weDAyLDB4MDAsMHhFOCwweDA1LDB4RkIsMHgzNiwweEExLDB4QjYsMHgxMywweEY2LDB4QzQsMHgwMSwweDc1LDB4MDQsMHgzMiwweEMwLAotMHhFQiwweDA5LDB4ODAsMHhFNCwweDAyLDB4RDAsMHhFQywweEIwLDB4MDIsMHgyQSwweEM0LDB4RTgsMHhBQywweEZBLDB4MzYsMHhGNiwKLTB4MDYsMHhCNywweDEzLDB4NDAsMHg3NCwweDA1LDB4RTgsMHg4MywweEZFLDB4RUIsMHgwMywweEU4LDB4ODQsMHhGRSwweDM2LDB4RjYsCi0weDA2LDB4QjcsMHgxMywweDIwLDB4NzQsMHgwNSwweEU4LDB4NjUsMHhGRSwweEVCLDB4MDMsMHhFOCwweDY4LDB4RkUsMHhGOCwweEMzLAotMHhFNCwweDEyLDB4MEMsMHgwMSwweEU2LDB4MTIsMHhGOCwweEMzLDB4RTQsMHgxMiwweDI0LDB4RkUsMHhFQiwweEY2LDB4RTQsMHgxNCwKLTB4MjQsMHhGMCwweDBDLDB4MDUsMHhFNiwweDE0LDB4RTQsMHgyQSwweDI0LDB4RjAsMHgwQywweDA2LDB4RTYsMHgyQSwweEY4LDB4QzMsCi0weEU0LDB4MkEsMHgyNCwweEYwLDB4RTYsMHgyQSwweEU0LDB4MTQsMHgyNCwweEYwLDB4MEMsMHgwNywweEU2LDB4MTQsMHhGOCwweEMzLAotMHhBRCwweDQ5LDB4NDksMHhFOCwweDY0LDB4RjksMHg4OSwweDg2LDB4OEUsMHgwMCwweEY4LDB4QzMsMHhBRCwweDQ5LDB4NDksMHhFOCwKLTB4NTgsMHhGOSwweDg5LDB4ODYsMHg5MCwweDAwLDB4RjgsMHhDMywweDgzLDB4NEUsMHgyNiwweDA0LDB4RTgsMHhBOCwweEY3LDB4RjgsCi0weEMzLDB4OTAsMHg4MywweDY2LDB4MjYsMHhGQiwweEU4LDB4OUUsMHhGNywweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHg4NCwweEMwLAotMHg3NSwweDBELDB4RTQsMHgxMCwweDI0LDB4RUYsMHhFNiwweDEwLDB4ODAsMHg4RSwweEExLDB4MDAsMHg0MiwweEY4LDB4QzMsMHhFNCwKLTB4MTAsMHgwQywweDEwLDB4RUIsMHhGMSwweDkwLDB4QUMsMHg0OSwweDNDLDB4MDIsMHg3NiwweDAyLDB4MzIsMHhDMCwweEMwLDB4RTAsCi0weDA0LDB4QTgsMHgyMCwweDc0LDB4MDIsMHgwQywweDA4LDB4MjQsMHgxOCwweDhBLDB4RTAsMHhFNCwweDEyLDB4MjQsMHhFNywweDBBLAotMHhDNCwweEU2LDB4MTIsMHg4MCwweDhFLDB4QTEsMHgwMCwweDQ0LDB4RjgsMHhDMywweEFDLDB4NDksMHg4OCwweDg2LDB4QzAsMHgwMCwKLTB4RjgsMHhDMywweEFDLDB4NDksMHhFNiwweDNBLDB4RjgsMHhDMywweEFDLDB4NDksMHg4NCwweEMwLDB4NzQsMHgwOCwweEU0LDB4MTIsCi0weDBDLDB4MDQsMHhFNiwweDEyLDB4RjgsMHhDMywweEU0LDB4MTIsMHgyNCwweEZCLDB4RUIsMHhGNiwweEFDLDB4NDksMHhFOCwweEQ2LAotMHhGNiwweDczLDB4MDMsMHhFOCwweDI3LDB4RjcsMHhGOCwweEMzLDB4RTQsMHgxMiwweEE4LDB4MDIsMHg3NCwweDA0LDB4MjQsMHhGRCwKLTB4RTYsMHgxMiwweEI4LDB4RjAsMHgwMCwweEU4LDB4ODcsMHhGQSwweDgxLDB4NjYsMHgyNiwweEZGLDB4RjMsMHhFOCwweDU3LDB4RjcsCi0weEU4LDB4OUEsMHhGQSwweEY4LDB4QzMsMHg5MCwweEI4LDB4ODAsMHgwMCwweEU4LDB4NTcsMHhGQSwweDgwLDB4NEUsMHgyNywweDA4LAotMHhFOCwweDQ0LDB4RjcsMHhFOCwweDg3LDB4RkEsMHhGOCwweEMzLDB4QjgsMHg4MCwweDAwLDB4RTgsMHg2MSwweEZBLDB4ODEsMHg2NiwKLTB4MjYsMHhGRiwweEY3LDB4RTgsMHgzMSwweEY3LDB4RTgsMHg3NCwweEZBLDB4RjgsMHhDMywweDkwLDB4QjgsMHgxMCwweDAwLDB4RTgsCi0weDMxLDB4RkEsMHg4MCwweDRFLDB4MjcsMHgwNCwweEU4LDB4MUUsMHhGNywweEU4LDB4NjEsMHhGQSwweEY4LDB4QzMsMHhCOCwweDEwLAotMHgwMCwweEU4LDB4M0IsMHhGQSwweDgxLDB4NjYsMHgyNiwweEZGLDB4RkIsMHhFOCwweDBCLDB4RjcsMHhFOCwweDRFLDB4RkEsMHhGOCwKLTB4QzMsMHg5MCwweDMzLDB4QzAsMHhBQywweDQ5LDB4M0MsMHgwMSwweDczLDB4MDQsMHhCMCwweDAxLDB4RUIsMHgwNiwweDNDLDB4MEMsCi0weDc2LDB4MDIsMHhCMCwweDBDLDB4ODksMHg0NiwweDFDLDB4RjgsMHhDMywweDkwLDB4ODEsMHg0RSwweDI2LDB4MDAsMHgyMCwweDhBLAotMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4MjQsMHhGQiwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDgzLDB4NEUsMHgyNiwKLTB4MDEsMHhGOCwweEMzLDB4OTAsMHg4MSwweDRFLDB4MjYsMHgwMCwweDQwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4NTAsMHhFOCwweDA1LDB4RjYsMHg1OCwweDcyLAotMHgwOCwweEU2LDB4MzgsMHhCMCwweDIzLDB4RTYsMHgwQSwweEY4LDB4QzMsMHhGOSwweEMzLDB4OTAsMHhBQywweDUwLDB4QUQsMHhFOCwKLTB4ODIsMHhGOCwweDVBLDB4RjYsMHhDMiwweDAxLDB4NzQsMHgxMiwweDM5LDB4ODYsMHg5NiwweDAwLDB4NzQsMHgwQywweDg5LDB4ODYsCi0weDk2LDB4MDAsMHhFNiwweEYwLDB4ODYsMHhFMCwweEU2LDB4RjgsMHg4NiwweEUwLDB4RjYsMHhDMiwweDAyLDB4NzQsMHgxMCwweDM5LAotMHg4NiwweDk0LDB4MDAsMHg3NCwweDBBLDB4ODksMHg4NiwweDk0LDB4MDAsMHhFNiwweEU0LDB4ODYsMHhFMCwweEU2LDB4RUMsMHg4MywKLTB4RTksMHgwMywweEMzLDB4OTAsMHhFNCwweDE2LDB4ODgsMHg4NiwweEJDLDB4MDAsMHhFOCwweEU2LDB4RkEsMHgzMywweERCLDB4RTQsCi0weDBDLDB4QTgsMHgwNiwweDc0LDB4MDMsMHg4MCwweENCLDB4MDEsMHhBOCwweDEwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwMiwweEE4LAotMHg4MCwweDc0LDB4MDMsMHg4MCwweENCLDB4MDQsMHhFNCwweDEyLDB4OEEsMHhFMCwweDI0LDB4MTgsMHgwQSwweEQ4LDB4RTQsMHhEQSwKLTB4RjYsMHhDNCwweDAyLDB4NzQsMHgwNywweEE4LDB4NDAsMHg3NSwweDAzLDB4ODAsMHhDQiwweDIwLDB4QTgsMHgwMiwweDc1LDB4MDksCi0weEU0LDB4MkEsMHhBOCwweDBGLDB4NzQsMHgwMywweDgwLDB4Q0IsMHg0MCwweEY3LDB4NDYsMHgzOCwweDAyLDB4MDAsMHg3NCwweDA5LAotMHhFNCwweEQ4LDB4QTgsMHgwMSwweDc1LDB4MDMsMHg4MCwweENCLDB4ODAsMHg4OCwweDlFLDB4QkUsMHgwMCwweEZFLDB4ODYsMHhCNCwKLTB4MDAsMHhCMCwweDBBLDB4RTgsMHg1QywweEU0LDB4RjgsMHhDMywweEFDLDB4NDksMHgzQywweDAyLDB4NzQsMHg0MSwweDc3LDB4MUYsCi0weDUwLDB4RTgsMHg0RiwweEY1LDB4NTgsMHg3MiwweDBDLDB4ODQsMHhDMCwweDc0LDB4MEEsMHhCMCwweDEyLDB4RTYsMHgwQSwweDgwLAotMHg0RSwweDM4LDB4MDEsMHhGOCwweEMzLDB4QjAsMHgxMSwweEU2LDB4MEEsMHg4MCwweDY2LDB4MzgsMHhGRSwweEY4LDB4QzMsMHg4QiwKLTB4NDYsMHgzOCwweDI1LDB4RkYsMHhGNywweDg5LDB4NDYsMHgzOCwweEE5LDB4MDAsMHgwNCwweDc1LDB4RTYsMHg4QSwweDg2LDB4QTUsCi0weDAwLDB4QTgsMHgxMCwweDc1LDB4REUsMHgwQywweDEwLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4RjgsMHhDMywweDgxLAotMHg0RSwweDM4LDB4MDAsMHgwOCwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgxMCwweDc0LDB4QzcsMHgyNCwweEVGLDB4RUIsMHhFNywKLTB4QUQsMHg0OSwweDQ5LDB4M0MsMHgwMSwweDcyLDB4MTEsMHgzQywweDBDLDB4NzcsMHgwRCwweDUwLDB4OEEsMHhFMCwweEU0LDB4MTQsCi0weDI1LDB4RjAsMHgwRiwweDBBLDB4QzQsMHhFNiwweDE0LDB4NTgsMHg4QSwweEM0LDB4ODQsMHhDMCwweDc0LDB4MDIsMHhFNiwweDQyLAotMHhGOCwweEMzLDB4RTgsMHhDRiwweEY5LDB4RkUsMHg4NiwweEI5LDB4MDAsMHhCMCwweDBFLDB4RTgsMHhENCwweEUzLDB4RjgsMHhDMywKLTB4M0EsMHg4NiwweEFGLDB4MDAsMHg3NCwweDFGLDB4ODgsMHg4NiwweEFGLDB4MDAsMHg4QSwweEUwLDB4ODAsMHhDMiwweDA2LDB4QjAsCi0weEJGLDB4RUUsMHg4MCwweEVBLDB4MDIsMHg4QSwweEM0LDB4RUUsMHg4QSwweDg2LDB4QTgsMHgwMCwweDgwLDB4QzIsMHgwMiwweEVFLAotMHg4MCwweEVBLDB4MDYsMHg4QSwweEM0LDB4QzMsMHg4QiwweDQ2LDB4M0UsMHg4NSwweEMwLDB4OEEsMHg4NiwweEE1LDB4MDAsMHg3NCwKLTB4MTIsMHhBOCwweDA4LDB4NzUsMHgwRCwweDBDLDB4MDgsMHg4OCwweDg2LDB4QTUsMHgwMCwweDgwLDB4QzIsMHgwMiwweEVFLDB4ODAsCi0weEVBLDB4MDIsMHhDMywweEE4LDB4MDgsMHg3NCwweEZCLDB4MjQsMHhGNywweEVCLDB4RUMsMHg4QiwweDQ2LDB4MjYsMHg4NCwweEMwLAotMHg3NCwweDE2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHhBOCwweDAyLDB4NzQsMHgwRCwweDI0LDB4RkQsMHg4OCwweDg2LDB4QTUsMHgwMCwKLTB4ODMsMHhDMiwweDAyLDB4RUUsMHg4MywweEVBLDB4MDIsMHhDMywweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgwMiwweDc1LDB4RjcsCi0weDBDLDB4MDIsMHhFQiwweEU4LDB4NTIsMHg4MywweEMyLDB4MEMsMHhFQywweEMwLDB4RTgsMHgwNCwweDg4LDB4ODYsMHhBOSwweDAwLAotMHg4QiwweDVFLDB4MjYsMHg4MCwweEUzLDB4M0YsMHhGNiwweEM3LDB4MDQsMHg3NCwweDA3LDB4QTgsMHgwOCwweDc1LDB4MDMsMHg4MCwKLTB4Q0IsMHg0MCwweEY2LDB4QzcsMHgwOCwweDc0LDB4MDcsMHhBOCwweDAyLDB4NzUsMHgwMywweDgwLDB4Q0IsMHg4MCwweDg4LDB4NUUsCi0weDI2LDB4OEEsMHg4NiwweEE1LDB4MDAsMHg4NCwweERCLDB4NzQsMHgxMCwweEE4LDB4MDIsMHg3NCwweDBBLDB4MjQsMHhGRCwweDg4LAotMHg4NiwweEE1LDB4MDAsMHg4MywweEVBLDB4MEEsMHhFRSwweDVBLDB4QzMsMHhBOCwweDAyLDB4NzUsMHhGQSwweDBDLDB4MDIsMHhFQiwKLTB4RUUsMHg5MCwweEZGLDB4RkYsMHgwMCwweDQ4LDB4MDAsMHgzMCwweEJBLDB4MjAsMHhDNCwweDFBLDB4MDAsMHgxOCwweDAwLDB4MTIsCi0weDAwLDB4MEMsMHgwMCwweDA2LDB4MDAsMHgwMywweDAwLDB4MDIsMHg4MCwweDAxLDB4QzAsMHgwMCwweDYwLDB4MDAsMHgzMCwweDAwLAotMHgxOCwweDAwLDB4Q0QsMHgwMSwweDAwLDB4MDEsMHg4MCwweDAwLDB4MTAsMHgwMCwweDEwLDB4MDAsMHgwRSwweDAwLDB4MEMsMHgwMCwKLTB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwweDA0LDB4MDAsMHgwMywweDAwLDB4MDIsMHgwMCwweDAxLDB4MDAsCi0weDUyLDB4NTEsMHg1NiwweDNDLDB4MUUsMHg3NywweDQ3LDB4OTgsMHg4QiwweEYwLDB4OEEsMHg4MiwweEM0LDB4MDAsMHgzMiwweEU0LAotMHg4MywweEZFLDB4MTgsMHg3NCwweDNELDB4ODMsMHhGRSwweDE5LDB4NzQsMHgzRSwweDgzLDB4RkUsMHgxRSwweDc3LDB4MkYsMHhEMSwKLTB4RTYsMHgyRSwweDhCLDB4OEMsMHgzMiwweDJELDB4M0IsMHg4RSwweDk0LDB4MDAsMHg3NCwweDIyLDB4ODksMHg4RSwweDk0LDB4MDAsCi0weDgzLDB4QzIsMHgwNiwweDhBLDB4ODYsMHhBOCwweDAwLDB4OEEsMHhFMCwweDBDLDB4ODAsMHhFRSwweDgzLDB4RUEsMHgwNiwweDhBLAotMHhDMSwweEVFLDB4ODMsMHhDMiwweDAyLDB4OEEsMHhDNSwweEVFLDB4ODMsMHhDMiwweDA0LDB4OEEsMHhDNCwweEVFLDB4NUUsMHg1OSwKLTB4NUEsMHhDMywweDhCLDB4OEUsMHg4RSwweDAwLDB4RUIsMHhDRSwweDhCLDB4OEUsMHg5MCwweDAwLDB4RUIsMHhDOCwweDUyLDB4NTEsCi0weDNELDB4MDUsMHgwMCwweDc3LDB4MDMsMHhCOCwweDA1LDB4MDAsMHg4QiwweEM4LDB4QkEsMHgwMiwweDAwLDB4QjgsMHgwMCwweEQwLAotMHhGNywweEYxLDB4MDUsMHgwMSwweDAwLDB4RDEsMHhFOCwweDU5LDB4NUEsMHhDMywweDhCLDB4NDYsMHg3QSwweEE4LDB4MjAsMHg3NCwKLTB4MEIsMHg4MCwweEJFLDB4QzMsMHgwMCwweDAzLDB4NzUsMHgwNCwweDBDLDB4MDEsMHhFQiwweDAyLDB4MjQsMHhGRSwweDg5LDB4NDYsCi0weDdBLDB4QzMsMHgyNCwweDAzLDB4ODgsMHg4NiwweEMzLDB4MDAsMHg4QSwweEE2LDB4QTgsMHgwMCwweDhBLDB4REMsMHg4MCwweEU0LAotMHhGQywweDBBLDB4QzQsMHgzQSwweEMzLDB4NzQsMHgwQiwweDg4LDB4ODYsMHhBOCwweDAwLDB4ODMsMHhDMiwweDA2LDB4RUUsMHg4MywKLTB4RUEsMHgwNiwweEU4LDB4QzUsMHhGRiwweEMzLDB4MDAsMHgwOCwweDE4LDB4MzgsMHgyOCwweDkwLDB4M0MsMHgwNCwweDc3LDB4MjMsCi0weDMyLDB4RTQsMHg4QiwweEQ4LDB4MkUsMHg4QSwweDg3LDB4MjYsMHgyRSwweDhBLDB4QTYsMHhBOCwweDAwLDB4OEEsMHhEQywweDgwLAotMHhFNCwweEM3LDB4MEEsMHhDNCwweDNBLDB4QzMsMHg3NCwweDBCLDB4ODgsMHg4NiwweEE4LDB4MDAsMHg4MywweEMyLDB4MDYsMHhFRSwKLTB4ODMsMHhFQSwweDA2LDB4QzMsMHg4NCwweEMwLDB4NzQsMHgwMiwweEIwLDB4MDQsMHg4QSwweEE2LDB4QTgsMHgwMCwweDhBLDB4REMsCi0weDgwLDB4RTQsMHhGQiwweDBBLDB4QzQsMHgzQSwweEMzLDB4NzQsMHgwQiwweDg4LDB4ODYsMHhBOCwweDAwLDB4ODMsMHhDMiwweDA2LAotMHhFRSwweDgzLDB4RUEsMHgwNiwweEMzLDB4OTAsMHg4QiwweDVFLDB4MzgsMHg4NCwweEMwLDB4NzQsMHgzNCwweDNDLDB4MDIsMHg3NCwKLTB4M0IsMHg4QSwweDg2LDB4QUYsMHgwMCwweDBDLDB4MDQsMHhFOCwweEU2LDB4RkQsMHg4QiwweDQ2LDB4MkUsMHgzQiwweDQ2LDB4M0MsCi0weDc3LDB4MUIsMHhGNywweEMzLDB4MDAsMHgwNCwweDc1LDB4MTUsMHg4MSwweENCLDB4MDAsMHgwNCwweDgzLDB4QzIsMHgwMiwweDhBLAotMHg4NiwweEE1LDB4MDAsMHgyNCwweEZBLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwMiwweDg5LDB4NUUsMHgzOCwKLTB4QzMsMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4RkIsMHhFOCwweEI2LDB4RkQsMHhFQiwweEYxLDB4RjcsMHhDMywweDEwLDB4MDAsCi0weDc0LDB4RUYsMHhFQiwweEVELDB4ODMsMHhDMiwweDBDLDB4RUMsMHg4MywweEVBLDB4MEMsMHhDMCwweEU4LDB4MDQsMHg4OCwweDg2LAotMHhBOSwweDAwLDB4QzMsMHg5MCwweDhBLDB4ODYsMHhBNywweDAwLDB4MEMsMHgwMSwweDg4LDB4ODYsMHhBNywweDAwLDB4OEIsMHhEQSwKLTB4ODAsMHhDMiwweDA4LDB4RUUsMHg4QiwweEQzLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBNywweDAwLDB4MjQsMHhGRSwweEVCLDB4RUEsCi0weDhBLDB4ODYsMHhBNywweDAwLDB4MEMsMHgwMiwweEVCLDB4RTIsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkQsMHhFQiwweERBLAotMHhCMCwweEZGLDB4RTgsMHg1MiwweEYyLDB4RTgsMHg5NywweEYyLDB4RjgsMHhDMywweEFDLDB4NDksMHhFOCwweDYxLDB4RkUsMHhGOCwKLTB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweEVCLDB4RkUsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgzNSwweEZGLDB4RjgsCi0weEMzLDB4OTAsMHhBQywweDQ5LDB4RTgsMHgwNSwweEZGLDB4RjgsMHhDMywweDkwLDB4NTIsMHg4MywweEMyLDB4MDYsMHhCMCwweEJGLAotMHhFRSwweDUyLDB4ODMsMHhDMiwweDAyLDB4QUMsMHg0OSwweEVFLDB4NUEsMHg4QSwweDg2LDB4QTgsMHgwMCwweEVFLDB4NUEsMHhGOCwKLTB4QzMsMHg5MCwweDUyLDB4ODMsMHhDMiwweDA2LDB4QjAsMHhCRiwweEVFLDB4NTIsMHg4MywweEMyLDB4MDYsMHhFQiwweEU2LDB4OTAsCi0weEFDLDB4NDksMHgzQywweDAyLDB4NzcsMHgwRCwweDg0LDB4QzAsMHg3NSwweDBCLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweEZELAotMHhFOCwweDBELDB4RkQsMHhGOCwweEMzLDB4NTAsMHg4QSwweDg2LDB4QUYsMHgwMCwweDBDLDB4MDIsMHhFOCwweDAxLDB4RkQsMHg1QiwKLTB4ODMsMHhDMiwweDA4LDB4OEEsMHg4NiwweEE3LDB4MDAsMHhGNiwweEMzLDB4MDEsMHg3NCwweDBDLDB4MjQsMHhERiwweDg4LDB4ODYsCi0weEE3LDB4MDAsMHhFRSwweDgzLDB4RUEsMHgwOCwweEY4LDB4QzMsMHgwQywweDIwLDB4RUIsMHhGMiwweEFDLDB4NDksMHhFOCwweEU1LAotMHhGRSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg0MCwweEU4LDB4NjksMHhGNSwweEU4LDB4RjksMHhGQywweEU4LDB4MjQsMHhGRiwKLTB4QjAsMHgwMSwweEU4LDB4QTUsMHhGNiwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHg0MCwweEU4LDB4NzEsMHhGNSwweEU4LDB4RTUsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDEwLDB4RTgsMHg0OSwweEY1LDB4RTgsMHhEOSwweEZDLDB4RTgsMHgwNCwweEZGLAotMHhCMCwweDA4LDB4RTgsMHg4NSwweEY2LDB4RjgsMHhDMywweDkwLDB4QjgsMHgwMCwweDEwLDB4RTgsMHg1MSwweEY1LDB4RTgsMHhDNSwKLTB4RkMsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhFOCwweDI5LDB4RjUsMHhFOCwweEI5LDB4RkMsMHhFOCwweEU0LDB4RkUsCi0weEIwLDB4MDIsMHhFOCwweDY1LDB4RjYsMHhGOCwweEMzLDB4OTAsMHhCOCwweDAwLDB4ODAsMHhFOCwweDMxLDB4RjUsMHhFOCwweEE1LAotMHhGQywweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgyMCwweEU4LDB4MDksMHhGNSwweEU4LDB4OTksMHhGQywweEU4LDB4QzQsMHhGRSwKLTB4QjAsMHgwNCwweEU4LDB4NDUsMHhGNiwweEY4LDB4QzMsMHg5MCwweEI4LDB4MDAsMHgyMCwweEU4LDB4MTEsMHhGNSwweEU4LDB4ODUsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4MzQsMHgwQywweEY4LDB4QzMsMHg5MCwweEI4LDB4RkMsMHgzQiwweDg5LAotMHg0NiwweDdDLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBRiwweDAwLDB4MEMsMHg4MCwweEU4LDB4NDMsMHhGQywweEY4LDB4QzMsMHg5MCwKLTB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweDdGLDB4RUIsMHhGMiwweDhBLDB4ODYsMHhBRiwweDAwLDB4MEMsMHg0MCwweEU4LDB4MkYsCi0weEZDLDB4RjgsMHhDMywweDkwLDB4OEEsMHg4NiwweEFGLDB4MDAsMHgyNCwweEJGLDB4RUIsMHhGMiwweEFDLDB4NDksMHhBOCwweDAxLAotMHg3NCwweDA3LDB4ODMsMHg0RSwweDdBLDB4MjAsMHhFQiwweDA1LDB4OTAsMHg4MywweDY2LDB4N0EsMHhERiwweEU4LDB4OEEsMHhGRCwKLTB4RjgsMHhDMywweDgzLDB4QzIsMHgwNiwweDhBLDB4ODYsMHhBOCwweDAwLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsCi0weDgzLDB4RUEsMHgwNiwweEFDLDB4NDksMHgzMiwweEU0LDB4ODksMHg0NiwweDZFLDB4ODMsMHg0RSwweDI2LDB4MDEsMHg4MywweDRFLAotMHg0OCwweDA4LDB4QjAsMHgwNiwweEU4LDB4QkIsMHhERiwweDQ5LDB4NDYsMHhGOSwweEMzLDB4OTAsMHg4MywweEMyLDB4MDYsMHg4QSwKLTB4ODYsMHhBOCwweDAwLDB4MEMsMHg0MCwweDg4LDB4ODYsMHhBOCwweDAwLDB4RUUsMHg4MywweEVBLDB4MDYsMHhBQywweEI0LDB4MEEsCi0weEY2LDB4RTQsMHhFQiwweEQwLDB4RTgsMHhFMCwweDBCLDB4RjgsMHhDMywweDkwLDB4QUQsMHg0OSwweDQ5LDB4ODksMHg0NiwweDY0LAotMHhBOSwweDAxLDB4MDAsMHg3NCwweDE5LDB4OEIsMHhEOCwweDgzLDB4RTMsMHhGQSwweDc1LDB4MEEsMHhBOSwweDA0LDB4MDAsMHg3NCwKLTB4MEQsMHhCOCwweEUyLDB4M0YsMHhFQiwweDBCLDB4RTgsMHhFQywweEY0LDB4QjgsMHhBQSwweDQwLDB4RUIsMHgwMywweEI4LDB4MzgsCi0weDQ0LDB4ODksMHg0NiwweDYyLDB4RjgsMHhDMywweDhBLDB4ODYsMHhBRiwweDAwLDB4QTgsMHgwMiwweDc0LDB4MEEsMHgyNCwweEZELAotMHhFOCwweDhELDB4RkIsMHgwQywweDAyLDB4RTgsMHg4OCwweEZCLDB4RjgsMHhDMywweEFDLDB4NDksMHhFOCwweDgxLDB4RkMsMHhGOCwKLTB4QzMsMHg5MCwweEFDLDB4NDksMHhFOCwweDc5LDB4RkMsMHhGOCwweEMzLDB4OTAsMHhFOCwweDVDLDB4RjUsMHg3NSwweDA1LDB4RTgsCi0weEU2LDB4RkQsMHhGOCwweEMzLDB4RTgsMHhDRCwweEZELDB4MzYsMHhBMCwweEI0LDB4MTMsMHgyNCwweDEwLDB4MzQsMHgxMCwweEU4LAotMHgyNiwweDAxLDB4MzYsMHhBMSwweEI0LDB4MTMsMHhBOSwweDAxLDB4MDAsMHg3NCwweDA1LDB4RTgsMHhGRSwweEZFLDB4RUIsMHgwRSwKLTB4QTksMHgwMiwweDAwLDB4NzQsMHgwNCwweDMyLDB4QzAsMHhFQiwweDAyLDB4QjAsMHgwMSwweEU4LDB4RTgsMHhGRSwweDM2LDB4QTEsCi0weEI0LDB4MTMsMHhFOCwweEFCLDB4MEIsMHgzNiwweEExLDB4QjQsMHgxMywweEMxLDB4RTgsMHgwNSwweDI1LDB4MDEsMHgwMCwweEU4LAotMHgwQywweEZGLDB4MzYsMHhBMCwweEI1LDB4MTMsMHgyNCwweDEwLDB4RTgsMHgyQiwweEZELDB4MzIsMHhDMCwweDM2LDB4OEEsMHgyNiwKLTB4QjUsMHgxMywweEY2LDB4QzQsMHgwNCwweDc0LDB4MDksMHhGRSwweEMwLDB4RjYsMHhDNCwweDA4LDB4NzQsMHgwMiwweEZFLDB4QzAsCi0weEU4LDB4RUYsMHhGRCwweDM2LDB4QTEsMHhCNiwweDEzLDB4MjUsMHgwRiwweDAwLDB4RTgsMHgwMywweEZDLDB4MzYsMHhBMSwweEI2LAotMHgxMywweEMxLDB4RTgsMHgwNCwweDI1LDB4MDMsMHgwMCwweEU4LDB4ODgsMHhGQywweDM2LDB4QTEsMHhCNiwweDEzLDB4QzEsMHhFOCwKLTB4MDUsMHgyNSwweDAyLDB4MDAsMHhFOCwweENELDB4RkMsMHgzNiwweEExLDB4QjYsMHgxMywweEY2LDB4QzQsMHgwMSwweDc1LDB4MDQsCi0weDMyLDB4QzAsMHhFQiwweDA5LDB4ODAsMHhFNCwweDAyLDB4RDAsMHhFQywweEIwLDB4MDIsMHgyQSwweEM0LDB4RTgsMHg4QywweEZDLAotMHgzNiwweEY2LDB4MDYsMHhCNywweDEzLDB4NDAsMHg3NCwweDA1LDB4RTgsMHg4RCwweEZFLDB4RUIsMHgwMywweEU4LDB4OTQsMHhGRSwKLTB4MzYsMHhGNiwweDA2LDB4QjcsMHgxMywweDIwLDB4NzQsMHgwNSwweEU4LDB4NjksMHhGRSwweEVCLDB4MDMsMHhFOCwweDcwLDB4RkUsCi0weEY4LDB4QzMsMHhGOCwweEMzLDB4OEIsMHg0NiwweDM4LDB4QTksMHgwNCwweDAwLDB4NzUsMHgyMywweDBELDB4MDQsMHgwMCwweDg5LAotMHg0NiwweDM4LDB4ODMsMHhDMiwweDA4LDB4OEIsMHg0NiwweDJFLDB4M0IsMHg0NiwweDNDLDB4NzMsMHgxNCwweDgzLDB4NEUsMHgzOCwKLTB4MTAsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LDB4RkUsMHg4OCwweDg2LDB4QTcsMHgwMCwweEVFLDB4ODMsMHhFQSwweDA4LDB4RjgsCi0weEMzLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywweDAxLDB4RUIsMHhFRSwweDkwLDB4OEIsMHg0NiwweDM4LDB4QTksMHgwNCwweDAwLAotMHg3NCwweDA2LDB4MjUsMHhGQiwweEZGLDB4ODksMHg0NiwweDM4LDB4RjgsMHhDMywweEFELDB4NDksMHg0OSwweEU4LDB4QkUsMHhGQiwKLTB4ODksMHg4NiwweDhFLDB4MDAsMHhGOCwweEMzLDB4QUQsMHg0OSwweDQ5LDB4RTgsMHhCMiwweEZCLDB4ODksMHg4NiwweDkwLDB4MDAsCi0weEY4LDB4QzMsMHg4MywweDRFLDB4MjYsMHgwNCwweEU4LDB4OTIsMHhGQSwweEY4LDB4QzMsMHg5MCwweDgzLDB4NjYsMHgyNiwweEZCLAotMHhFOCwweDg4LDB4RkEsMHhGOCwweEMzLDB4OTAsMHhBQywweDQ5LDB4ODQsMHhDMCwweDc1LDB4MDcsMHg4MCwweDhFLDB4QTMsMHgwMCwKLTB4MDQsMHhGOCwweEMzLDB4ODAsMHhBNiwweEEzLDB4MDAsMHhGQiwweEY4LDB4QzMsMHhBQywweDQ5LDB4ODMsMHhDMiwweDA4LDB4M0MsCi0weDAyLDB4NzYsMHgwMiwweDMyLDB4QzAsMHgzQywweDAxLDB4NzQsMHgxMiwweDc3LDB4MEIsMHg4QSwweDg2LDB4QTcsMHgwMCwweDI0LAotMHhFRiwweDg4LDB4ODYsMHhBNywweDAwLDB4RUUsMHg4MywweEVBLDB4MDgsMHhGOCwweEMzLDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywKLTB4MTAsMHhFQiwweEVFLDB4OTAsMHg1MiwweDgzLDB4QzIsMHgwNiwweEIwLDB4QkYsMHhFRSwweDUyLDB4ODMsMHhDMiwweDA0LDB4QUMsCi0weDQ5LDB4RUUsMHg1QSwweDhBLDB4ODYsMHhBOCwweDAwLDB4RUUsMHg1QSwweEY4LDB4QzMsMHg5MCwweDUyLDB4ODMsMHhDMiwweDA2LAotMHhCMCwweEJGLDB4RUUsMHg1MiwweDgzLDB4QzIsMHgwOCwweEVCLDB4RTYsMHg5MCwweEFDLDB4NDksMHhGOCwweEMzLDB4QUMsMHg0OSwKLTB4RTgsMHhCNCwweEVFLDB4NzMsMHgwMywweEU4LDB4RjcsMHhFRSwweEY4LDB4QzMsMHg4QSwweDg2LDB4QUYsMHgwMCwweDI0LDB4N0YsCi0weEU4LDB4QkQsMHhGOSwweEI4LDB4RjAsMHgwMCwweEU4LDB4NjYsMHhGMiwweDgxLDB4NjYsMHgyNiwweEZGLDB4RjMsMHhFOCwweDIzLAotMHhGQSwweEU4LDB4RDIsMHhGOSwweEY4LDB4QzMsMHhCOCwweDgwLDB4MDAsMHhFOCwweDM3LDB4RjIsMHg4MCwweDRFLDB4MjcsMHgwOCwKLTB4RTgsMHgxMSwweEZBLDB4RTgsMHhDMCwweEY5LDB4RjgsMHhDMywweEI4LDB4ODAsMHgwMCwweEU4LDB4NDEsMHhGMiwweDgxLDB4NjYsCi0weDI2LDB4RkYsMHhGNywweEU4LDB4RkUsMHhGOSwweEU4LDB4QUQsMHhGOSwweEY4LDB4QzMsMHg5MCwweEI4LDB4MTAsMHgwMCwweEU4LAotMHgxMSwweEYyLDB4ODAsMHg0RSwweDI3LDB4MDQsMHhFOCwweEVCLDB4RjksMHhFOCwweDlBLDB4RjksMHhGOCwweEMzLDB4QjgsMHgxMCwKLTB4MDAsMHhFOCwweEZGLDB4RjEsMHg4MSwweDY2LDB4MjYsMHhGRiwweEZCLDB4RTgsMHhEOCwweEY5LDB4RjgsMHhDMywweEFDLDB4NDksCi0weEY4LDB4QzMsMHg4MywweEMyLDB4MDYsMHg4QSwweDg2LDB4QTgsMHgwMCwweDBDLDB4NDAsMHg4OCwweDg2LDB4QTgsMHgwMCwweEVFLAotMHg4MywweEVBLDB4MDYsMHhGOCwweEMzLDB4OTAsMHg4MywweEMyLDB4MDYsMHg4QSwweDg2LDB4QTgsMHgwMCwweDI0LDB4QkYsMHhFQiwKLTB4RUEsMHg5MCwweEFDLDB4NDksMHg4QSwweEUwLDB4ODAsMHhDMiwweDBBLDB4RUMsMHg4MCwweEVBLDB4MEEsMHhBOCwweDIwLDB4NzQsCi0weDA1LDB4OEEsMHhDNCwweEVFLDB4RjgsMHhDMywweDA2LDB4NTEsMHg1NywweDhCLDB4NEUsMHgyNCwweEUzLDB4MzQsMHg0OSwweDg5LAotMHg0RSwweDI0LDB4RkYsMHg0NiwweDFBLDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4OEEsMHhDNCwweEFBLDB4ODksMHg3RSwKLTB4MjIsMHg4QiwweDQ2LDB4MjYsMHgyNCwweEZELDB4ODksMHg0NiwweDI2LDB4NzUsMHgyOSwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsCi0weDAyLDB4NzUsMHgyMSwweDgwLDB4QzIsMHgwMiwweDBDLDB4MDIsMHg4OCwweDg2LDB4QTUsMHgwMCwweEVFLDB4ODAsMHhFQSwweDAyLAotMHhFQiwweDEyLDB4QzQsMHg3RSwweDAwLDB4M0IsMHg3RSwweDFFLDB4NzYsMHgwQSwweDRGLDB4MjYsMHg4OCwweDI1LDB4ODksMHg3RSwKLTB4MDAsMHhGRiwweDQ2LDB4MUEsMHg1RiwweDU5LDB4MDcsMHhGOCwweEMzLDB4OTAsMHhBQywweEFELDB4ODMsMHhFOSwweDAzLDB4ODUsCi0weEMwLDB4NzQsMHgwNSwweDNELDB4MDAsMHgyMCwweDcyLDB4MDUsMHhCOCwweEZGLDB4RkYsMHhFQiwweDAzLDB4QzEsMHhFMCwweDAzLAotMHgzQiwweDg2LDB4OTQsMHgwMCwweDc0LDB4MjYsMHg4OSwweDg2LDB4OTQsMHgwMCwweDhCLDB4RDgsMHg1MiwweDgzLDB4QzIsMHgwNiwKLTB4OEEsMHg4NiwweEE4LDB4MDAsMHg4QSwweEUwLDB4MEMsMHg4MCwweEVFLDB4ODMsMHhFQSwweDA2LDB4OEEsMHhDMywweEVFLDB4ODMsCi0weEMyLDB4MDIsMHg4QSwweEM3LDB4RUUsMHg4MywweEMyLDB4MDQsMHg4QSwweEM0LDB4RUUsMHg1QSwweEY4LDB4QzMsMHhCMCwweDg4LAotMHg4OCwweDg2LDB4QkMsMHgwMCwweEU4LDB4OEMsMHhGMiwweDMzLDB4REIsMHg4QSwweDg2LDB4QTUsMHgwMCwweEE4LDB4MDIsMHg3NCwKLTB4MDMsMHg4MCwweENCLDB4MDEsMHhBOCwweDA1LDB4NzQsMHgwMywweDgwLDB4Q0IsMHgwMiwweEE4LDB4MDgsMHg3NCwweDAzLDB4ODAsCi0weENCLDB4MDQsMHhGNiwweDg2LDB4QTcsMHgwMCwweDEwLDB4NzQsMHgwMywweDgwLDB4Q0IsMHgxMCwweDhBLDB4ODYsMHhBOSwweDAwLAotMHhGNiwweEMzLDB4MDQsMHg3NSwweDBBLDB4ODMsMHhDMiwweDBDLDB4RUMsMHg4MywweEVBLDB4MEMsMHhDMCwweEU4LDB4MDQsMHg4QSwKLTB4RTAsMHg4QSwweDg2LDB4QUYsMHgwMCwweEE4LDB4ODAsMHg3NCwweDA4LDB4RjYsMHhDNCwweDAxLDB4NzUsMHgwMywweDgwLDB4Q0IsCi0weDIwLDB4RjYsMHg4NiwweEE3LDB4MDAsMHgwMiwweDc1LDB4MEEsMHhGNywweDQ2LDB4MzgsMHgwNCwweDAwLDB4NzQsMHgwMywweDgwLAotMHhDQiwweDQwLDB4ODgsMHg5RSwweEJFLDB4MDAsMHhGRSwweDg2LDB4QjQsMHgwMCwweEIwLDB4MEEsMHhFOCwweEYzLDB4REIsMHhGOCwKLTB4QzMsMHhGRSwweDg2LDB4QjQsMHgwMCwweEIwLDB4MEEsMHhFOCwweEU4LDB4REIsMHhGOCwweEMzLDB4QUMsMHg0OSwweDNDLDB4MDIsCi0weDc0LDB4MzcsMHg3NywweDEwLDB4ODQsMHhDMCwweDc0LDB4MDYsMHg4MCwweDRFLDB4MzgsMHgwMSwweEY4LDB4QzMsMHg4MCwweDY2LAotMHgzOCwweEZFLDB4RjgsMHhDMywweDhCLDB4NDYsMHgzOCwweDI1LDB4RkYsMHhGNywweDg5LDB4NDYsMHgzOCwweEE5LDB4MDAsMHgwNCwKLTB4NzUsMHhFQSwweDhBLDB4ODYsMHhBNSwweDAwLDB4QTgsMHgwMSwweDc1LDB4RTIsMHgwQywweDA1LDB4ODMsMHhDMiwweDAyLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEVFLDB4ODMsMHhFQSwweDAyLDB4RjgsMHhDMywweDgxLDB4NEUsMHgzOCwweDAwLDB4MDgsMHg4QSwweDg2LAotMHhBNSwweDAwLDB4QTgsMHgwMSwweDc0LDB4QzYsMHgyNCwweEZBLDB4RUIsMHhFMiwweEFELDB4NDksMHg0OSwweEY4LDB4QzMsMHg5MCwKLTB4RTgsMHgxMSwweEZBLDB4RkUsMHg4NiwweEI5LDB4MDAsMHhCMCwweDBFLDB4RTgsMHg4NiwweERCLDB4RjgsMHhDMywweEIwLDB4RkYsCi0weEU4LDB4QkYsMHhFQywweEY4LDB4QzMsMHg5MCwweDgzLDB4NjYsMHg3QSwweEZCLDB4QjAsMHgwMCwweEU4LDB4NzMsMHhEQiwweEY4LAotMHhDMywweDkwLDB4QUMsMHg0OSwweEU4LDB4NTMsMHhEOSwweDcyLDB4MTEsMHgzNiwweDg4LDB4MUUsMHgxQSwweDAxLDB4MzYsMHhBMCwKLTB4OEUsMHgxMiwweDBBLDB4QzMsMHg1MiwweEJBLDB4MDAsMHgwMSwweEVFLDB4NUEsMHhGOCwweEMzLDB4QUMsMHg0OSwweDMyLDB4RTQsCi0weDM2LDB4QTMsMHg4NiwweDEyLDB4MDUsMHgwNiwweDAwLDB4MzYsMHg4QiwweDFFLDB4ODgsMHgxMiwweDJCLDB4RDgsMHgzNiwweDg5LAotMHgxRSwweDhBLDB4MTIsMHhGOCwweEMzLDB4OTAsMHhBRCwweDhCLDB4RDgsMHhBRCwweDgzLDB4RTksMHgwNCwweDAzLDB4QzMsMHgyQiwKLTB4NDYsMHg3NiwweDg5LDB4NDYsMHg3OCwweEY3LDB4NDYsMHg3QSwweDAyLDB4MDAsMHg3NCwweDBBLDB4ODMsMHg2NiwweDdBLDB4RkQsCi0weEI4LDB4MDAsMHgwMCwweEU4LDB4MUMsMHhEQiwweEY4LDB4QzMsMHgwNiwweDE2LDB4MDcsMHhBQywweDQ5LDB4MjUsMHgwRiwweDAwLAotMHg2QiwweEMwLDB4MDksMHg4RCwweEJFLDB4RkQsMHgwMCwweDAzLDB4RjgsMHhBQywweDQ5LDB4MjUsMHgwRiwweDAwLDB4QUEsMHg4NSwKLTB4QzAsMHg3NCwweDA4LDB4MkIsMHhDOCwweDUxLDB4OEIsMHhDOCwweEYzLDB4QTQsMHg1OSwweEU4LDB4MjcsMHhGMCwweEU4LDB4NDQsCi0weDAzLDB4MDcsMHhGOCwweEMzLDB4MzMsMHhDMCwweEFDLDB4NDksMHgzNiwweEEzLDB4QjIsMHgxMywweDM2LDB4QTMsMHhCMCwweDEzLAotMHhGOCwweEMzLDB4ODMsMHg2NiwweDdBLDB4RUYsMHhFOCwweDJDLDB4MDMsMHhGOCwweEMzLDB4OTAsMHg4MywweDRFLDB4N0EsMHgxMCwKLTB4RUIsMHhGNCwweEU4LDB4OUIsMHhGMCwweEY4LDB4QzMsMHg5MCwweEFELDB4M0MsMHgxOSwweDc3LDB4MEUsMHgzQywweDE5LDB4NzcsCi0weDBBLDB4OEIsMHhGOCwweDgxLDB4RTcsMHhGRiwweDAwLDB4ODgsMHhBNiwweEM0LDB4MDAsMHhGOCwweEMzLDB4OTAsMHg4MywweDRFLAotMHgyNiwweDIwLDB4QUMsMHg0OSwweDMyLDB4RTQsMHhEMSwweEUwLDB4OEIsMHhEOCwweEMxLDB4RTMsMHgwMiwweDAzLDB4QzMsMHg4OSwKLTB4NDYsMHg2RSwweDgzLDB4NEUsMHg0OCwweDA0LDB4QjAsMHgwNiwweEU4LDB4OTcsMHhEQSwweDQ5LDB4NDYsMHhGOSwweEMzLDB4OTAsCi0weEZFLDB4ODYsMHhCMywweDAwLDB4QjAsMHgwQSwweEU4LDB4ODksMHhEQSwweEY4LDB4QzMsMHg5MCwweDMzLDB4QzAsMHhBQywweDQ5LAotMHg2QiwweEMwLDB4MEEsMHg4OSwweDg2LDB4OEEsMHgwMCwweEY4LDB4QzMsMHg5MCwweEFDLDB4NDksMHgzMiwweEU0LDB4M0QsMHgwQSwKLTB4MDAsMHg3NywweDA1LDB4QjgsMHgwQSwweDAwLDB4RUIsMHgwOCwweDNELDB4NUEsMHgwMCwweDcyLDB4MDMsMHhCOCwweDVBLDB4MDAsCi0weDUxLDB4RjcsMHhEOCwweDA1LDB4NjQsMHgwMCwweDhCLDB4QzgsMHg4QiwweDQ2LDB4NDQsMHhGNywweEUxLDB4QjksMHg2NCwweDAwLAotMHhGNywweEYxLDB4ODksMHg0NiwweDQ2LDB4NTksMHhGOCwweEMzLDB4QUMsMHg0OSwweEU4LDB4ODUsMHhFQiwweEY4LDB4QzMsMHg5MCwKLTB4QUMsMHg0OSwweDg0LDB4QzAsMHg3NSwweDA3LDB4ODEsMHg2NiwweDM4LDB4RkYsMHhGRCwweEY4LDB4QzMsMHg4MSwweDRFLDB4MzgsCi0weDAwLDB4MDIsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzUsMHgwOCwweDhBLDB4ODYsMHhBOSwweDAwLDB4ODgsMHg4NiwweEFBLAotMHgwMCwweEY4LDB4QzMsMHg5MCwweDUxLDB4NTYsMHhFOCwweDdGLDB4MEMsMHg1RSwweDU5LDB4RjgsMHhDMywweDkwLDB4RkUsMHg4NiwKLTB4QjYsMHgwMCwweEIwLDB4MEEsMHhFOCwweDBCLDB4REEsMHhGOCwweEMzLDB4OTAsMHhGRSwweDg2LDB4QjcsMHgwMCwweEIwLDB4MEEsCi0weEU4LDB4RkYsMHhEOSwweEY4LDB4QzMsMHg5MCwweEZFLDB4ODYsMHhCOCwweDAwLDB4QjAsMHgwQSwweEU4LDB4RjMsMHhEOSwweEY4LAotMHhDMywweDkwLDB4MDAsMHg5MCwweDUxLDB4NTUsMHhBQywweDJFLDB4QTIsMHg1MiwweDM2LDB4MzMsMHhDOSwweEFELDB4OEIsMHhGOSwKLTB4QzEsMHhFNywweDA1LDB4QTksMHgwMSwweDAwLDB4NzQsMHgyMywweDJFLDB4OEIsMHhBRCwweDQ0LDB4MDAsMHg4MywweDdFLDB4MDgsCi0weDAwLDB4NzQsMHgxOCwweDJFLDB4ODAsMHgzRSwweDUyLDB4MzYsMHgwMSwweDc0LDB4MDksMHg2MCwweEIwLDB4MDQsMHhFOCwweEJCLAotMHgwQywweDYxLDB4RUIsMHgwNywweDYwLDB4QjAsMHhGQiwweEU4LDB4RUMsMHgwQywweDYxLDB4NDcsMHg0NywweEQxLDB4RTgsMHg3NSwKLTB4RDIsMHg0MSwweDgzLDB4RjksMHgwNCwweDcyLDB4QzYsMHg1RCwweDU5LDB4ODMsMHhFOSwweDA1LDB4RjcsMHg0NiwweDM4LDB4NDAsCi0weDAwLDB4NzQsMHgwNSwweEU4LDB4ODcsMHhFQSwweEY4LDB4QzMsMHhFOCwweDhELDB4RUEsMHhGOCwweEMzLDB4OTAsMHgzNiwweEM2LAotMHgwNiwweEM4LDB4MTMsMHgwMSwweEY4LDB4QzMsMHgzMywweEMwLDB4QUMsMHg0OSwweDM2LDB4QTMsMHg4MCwweDEyLDB4QUMsMHg0OSwKLTB4MzYsMHgyQiwweDA2LDB4ODgsMHgxMiwweEY3LDB4RDgsMHgzNiwweEEzLDB4ODIsMHgxMiwweEY4LDB4QzMsMHg5MCwweERFLDB4MjYsCi0weERFLDB4MjYsMHhFQywweDI2LDB4RjIsMHgyNiwweEY4LDB4MjYsMHhGRSwweDI2LDB4MDQsMHgyNywweDBFLDB4MjcsMHgxNiwweDI3LAotMHgxRSwweDI3LDB4MjYsMHgyNywweDJFLDB4MjcsMHgzNCwweDI3LDB4QkUsMHgzNCwweEM2LDB4MzQsMHhEMiwweDM0LDB4M0EsMHgyNywKLTB4NzgsMHgyNywweDgwLDB4MjcsMHg5NCwweDI3LDB4QTAsMHgyNywweEI0LDB4MjcsMHhDMCwweDI3LDB4RDQsMHgyNywweEUwLDB4MjcsCi0weEY0LDB4MjcsMHgwMCwweDI4LDB4MTAsMHgyOCwweEVDLDB4MzQsMHhERSwweDI2LDB4MUUsMHgyOCwweDI2LDB4MjgsMHgyQywweDI4LAotMHgzMiwweDI4LDB4MzgsMHgyOCwweDRFLDB4MjgsMHg4QSwweDI4LDB4MDYsMHgzNSwweDI4LDB4MzUsMHg5OCwweDI4LDB4QkUsMHgyOCwKLTB4RDIsMHgyOCwweERFLDB4MjgsMHhFNiwweDI4LDB4NTQsMHgzNSwweDYyLDB4MzUsMHg2QywweDM1LDB4RUUsMHgyOCwweEMwLDB4MjksCi0weEM4LDB4MjksMHhDRSwweDI5LDB4RTAsMHgyOSwweDcyLDB4MzUsMHg3OCwweDM1LDB4RjAsMHgyOSwweEZDLDB4MjksMHg4RSwweDM1LAotMHgwOCwweDJBLDB4MTIsMHgyQSwweDFDLDB4MkEsMHhCMCwweDM1LDB4MzYsMHgyQSwweEJDLDB4MzUsMHg1QSwweDJBLDB4NjIsMHgyQSwKLTB4NjgsMHgyQSwweENBLDB4MzUsMHg3QywweDJBLDB4RjgsMHgzNSwweDg4LDB4MkEsMHhBNiwweDJBLDB4QjgsMHgyQSwweENDLDB4MkEsCi0weERFLDB4MkEsMHhGMiwweDJBLDB4MDAsMHgzNiwweDBBLDB4MkIsMHgyNCwweDJCLDB4MjQsMHgzNiwweDM4LDB4MkIsMHg0QywweDJCLAotMHg4NCwweDJCLDB4MkUsMHgzNiwweDNBLDB4MzYsMHg0NiwweDM2LDB4NTQsMHgzNiwweEU4LDB4MkIsMHhBRSwweDM2LDB4NDAsMHgyQywKLTB4NjIsMHgyQywweEI2LDB4MzYsMHg3MCwweDI4LDB4REUsMHgyNiwweERFLDB4MjYsMHhENCwweDJFLDB4RTgsMHgyRSwweEYwLDB4MkUsCi0weEY4LDB4MkUsMHgwMCwweDJGLDB4MEEsMHgyRiwweDEyLDB4MkYsMHgxQSwweDJGLDB4MjIsMHgyRiwweDJBLDB4MkYsMHg0MiwweDJGLAotMHhCRSwweDM0LDB4QzYsMHgzNCwweEQyLDB4MzQsMHg1MCwweDJGLDB4OEMsMHgyRiwweDk0LDB4MkYsMHhBOCwweDJGLDB4QjQsMHgyRiwKLTB4QzgsMHgyRiwweEQ0LDB4MkYsMHhFOCwweDJGLDB4RjQsMHgyRiwweDA4LDB4MzAsMHgxNCwweDMwLDB4MUMsMHgzMCwweEVDLDB4MzQsCi0weERFLDB4MjYsMHgyNCwweDMwLDB4MzAsMHgzMCwweDM4LDB4MzAsMHg0NCwweDMwLDB4NEMsMHgzMCwweDYyLDB4MzAsMHhBNCwweDMwLAotMHgwNiwweDM1LDB4MjgsMHgzNSwweEFBLDB4MzAsMHhDRSwweDMwLDB4RDYsMHgzMCwweEVBLDB4MzAsMHhGMiwweDMwLDB4NTQsMHgzNSwKLTB4NjIsMHgzNSwweDZDLDB4MzUsMHhGQSwweDMwLDB4QzIsMHgzMSwweEMyLDB4MzEsMHhDNCwweDMxLDB4RkEsMHgzMSwweDcyLDB4MzUsCi0weDc4LDB4MzUsMHgwQSwweDMyLDB4MTYsMHgzMiwweDhFLDB4MzUsMHgyMiwweDMyLDB4MkMsMHgzMiwweDM2LDB4MzIsMHhCMCwweDM1LAotMHg0QSwweDMyLDB4QkMsMHgzNSwweDc0LDB4MzIsMHg4QywweDMyLDB4OUEsMHgzMiwweENBLDB4MzUsMHg5RSwweDMyLDB4RjgsMHgzNSwKLTB4QUEsMHgzMiwweEM2LDB4MzIsMHhEOCwweDMyLDB4RUMsMHgzMiwweEZFLDB4MzIsMHgwRSwweDMzLDB4MDAsMHgzNiwweDEyLDB4MzMsCi0weDI2LDB4MzMsMHgyNCwweDM2LDB4MzIsMHgzMywweDlBLDB4MzMsMHhERSwweDMzLDB4MkUsMHgzNiwweDNBLDB4MzYsMHg0NiwweDM2LAotMHg1NCwweDM2LDB4NUMsMHgzNCwweEFFLDB4MzYsMHhBQSwweDM0LDB4QjAsMHgzNCwweEI2LDB4MzYsMHg4QywweDMwLDB4RTMsMHgyOCwKLTB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc1LDB4MzIsMHhFOCwweEUzLDB4RTgsMHgzMywweEMwLDB4QUMsMHg0OSwweDNELDB4NUIsCi0weDAwLDB4NzcsMHgxOSwweDhCLDB4RDgsMHhEMSwweEUzLDB4MkUsMHhGRiwweDk3LDB4Q0UsMHgzNiwweDcyLDB4MEIsMHg4NSwweEM5LAotMHg3NSwweEU4LDB4OEIsMHg0NiwweDQ4LDB4RTgsMHgxQSwweDBDLDB4QzMsMHg0RSwweDQxLDB4QzMsMHg2QSwweDAwLDB4MUYsMHhDNiwKLTB4MDYsMHg5MywweDEyLDB4MEMsMHg5QywweDBFLDB4RTgsMHg2MywweERBLDB4RTgsMHhCQywweEU4LDB4MzMsMHhDMCwweEFDLDB4NDksCi0weDNELDB4NUIsMHgwMCwweDc3LDB4RTcsMHg4QiwweEQ4LDB4RDEsMHhFMywweDJFLDB4RkYsMHg5NywweDg2LDB4MzcsMHg3MiwweEQ5LAotMHg4NSwweEM5LDB4NzUsMHhFOCwweEMzLDB4RjcsMHg0NiwweDdBLDB4MTAsMHgwMCwweDc1LDB4MEYsMHg4MywweEJFLDB4ODQsMHgwMCwKLTB4MDAsMHg3NCwweDA4LDB4QjgsMHg0OCwweDNBLDB4ODksMHg4NiwweDgwLDB4MDAsMHhDMywweDgxLDB4QkUsMHg4MCwweDAwLDB4RUMsCi0weDNDLDB4NzQsMHhGNywweDgzLDB4QkUsMHg4OCwweDAwLDB4MDAsMHg3NSwweDA1LDB4QjgsMHhFQywweDNDLDB4RUIsMHhFNywweEY3LAotMHg0NiwweDdBLDB4MDgsMHgwMCwweDc1LDB4NDAsMHgxRSwweDYwLDB4OEIsMHg4RSwweDg4LDB4MDAsMHgzQiwweDRFLDB4NzQsMHg3NywKLTB4MzMsMHgzQiwweDRFLDB4NzgsMHg3NywweDJFLDB4QzQsMHg3RSwweDEwLDB4OEIsMHhERiwweDI2LDB4MDMsMHgzRCwweDQ3LDB4NDcsCi0weDMzLDB4QzAsMHg4RSwweEQ4LDB4OEQsMHhCNiwweEY0LDB4MDAsMHg4QiwweEMxLDB4RjcsMHg0NiwweDdBLDB4MDEsMHgwMCwweDc1LAotMHgxRCwweEYzLDB4QTQsMHgyNiwweDAxLDB4MDcsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHhCMCwKLTB4MEMsMHhFOCwweDNFLDB4RDcsMHg2MSwweDFGLDB4QzcsMHg4NiwweDg4LDB4MDAsMHgwMCwweDAwLDB4RUIsMHhBQywweEUzLDB4RTMsCi0weDUwLDB4OTAsMHhBQywweDI0LDB4N0YsMHhBQSwweEUyLDB4RkEsMHg1OCwweEVCLDB4RDgsMHg5MCwweDhCLDB4OEUsMHg4OCwweDAwLAotMHhFMywweDQ2LDB4OEIsMHg5RSwweDhBLDB4MDAsMHg4NSwweERCLDB4NzQsMHgzRSwweEJBLDB4NTAsMHhGRiwweEVELDB4MkIsMHg4NiwKLTB4ODIsMHgwMCwweDNCLDB4QzMsMHg3MiwweDM3LDB4OEQsMHhCNiwweEY0LDB4MDAsMHhDNCwweDdFLDB4MTAsMHg4QiwweERGLDB4MjYsCi0weDAzLDB4M0QsMHg0NywweDQ3LDB4OEIsMHhDMSwweDE2LDB4MUYsMHhGNywweDQ2LDB4N0EsMHgwMSwweDAwLDB4NzUsMHgyNCwweEYzLAotMHhBNCwweDI2LDB4MDEsMHgwNywweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweEM3LDB4ODYsMHg4OCwKLTB4MDAsMHgwMCwweDAwLDB4QjAsMHgwQywweEU4LDB4REEsMHhENiwweDgzLDB4NjYsMHg3QSwweEY3LDB4QzMsMHhCMCwweDAwLDB4RTgsCi0weEQwLDB4RDYsMHhDMywweEUzLDB4REMsMHg1MCwweEFDLDB4MjQsMHg3RiwweEFBLDB4RTIsMHhGQSwweDU4LDB4RUIsMHhEMiwweDkwLAotMHgxRSwweDYwLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4RCwweEI2LDB4RkQsMHgwMCwweDhCLDB4ODYsMHg4OCwweDAwLDB4OEIsMHg5NiwKLTB4ODQsMHgwMCwweDNBLDB4MDQsMHg3NSwweDEwLDB4OEIsMHhERSwweDQ2LDB4OEIsMHhDOCwweDhELDB4QkUsMHhGNCwweDAwLDB4RjMsCi0weEE2LDB4NzQsMHg2NiwweDhCLDB4RjMsMHg5MCwweDgzLDB4QzYsMHgwOSwweDRBLDB4NzUsMHhFNiwweDhELDB4QjYsMHhGRCwweDAwLAotMHg4QiwweDk2LDB4ODQsMHgwMCwweDNBLDB4MDQsMHg3MywweDEwLDB4OEIsMHhERSwweDQ2LDB4OEIsMHhDOCwweDhELDB4QkUsMHhGNCwKLTB4MDAsMHhGMywweEE2LDB4NzQsMHg3NiwweDhCLDB4RjMsMHg5MCwweDgzLDB4QzYsMHgwOSwweDRBLDB4NzUsMHhFNiwweDhELDB4QjYsCi0weEY0LDB4MDAsMHhBQywweEY3LDB4NDYsMHg3QSwweDAxLDB4MDAsMHg3NCwweDAyLDB4MjQsMHg3RiwweDFFLDB4QzUsMHg1RSwweDEwLAotMHg4QiwweDM3LDB4ODgsMHg0MCwweDAyLDB4NDYsMHg4OSwweDM3LDB4RkYsMHg0RSwweDc4LDB4RkYsMHg0NiwweDc2LDB4RkYsMHg0RSwKLTB4NzQsMHgxRiwweDhCLDB4OEUsMHg4OCwweDAwLDB4NDksMHg4OSwweDhFLDB4ODgsMHgwMCwweEUzLDB4NDMsMHg4RCwweEI2LDB4RjQsCi0weDAwLDB4OEIsMHhGRSwweDQ2LDB4RjMsMHhBNCwweEU5LDB4N0QsMHhGRiwweEM1LDB4NzYsMHgxMCwweDhCLDB4MUMsMHg4NSwweERCLAotMHg3NCwweDA4LDB4MDMsMHhGMywweDgzLDB4QzYsMHgwMywweDgzLDB4RTYsMHhGRSwweDhCLDB4ODYsMHg4NCwweDAwLDB4MkIsMHhDMiwKLTB4QjQsMHg4MCwweDg5LDB4MDQsMHg0NiwweDQ2LDB4QzcsMHgwNCwweDAwLDB4MDAsMHg4OSwweDc2LDB4MTAsMHg4MywweDRFLDB4N0EsCi0weDA0LDB4QzcsMHg4NiwweDg4LDB4MDAsMHgwMCwweDAwLDB4NjEsMHgxRiwweEY5LDB4QzMsMHgzMywweEMwLDB4NjEsMHgxRiwweEMzLAotMHhCMCwweDgwLDB4ODQsMHhDMCwweDYxLDB4MUYsMHhDMywweDkwLDB4OEIsMHg0RSwweDc4LDB4MkIsMHg4RSwweDg4LDB4MDAsMHg3NiwKLTB4MjcsMHg4OSwweEI2LDB4OEMsMHgwMCwweDhCLDB4NUUsMHg3NCwweDNCLDB4Q0IsMHg3MiwweDAyLDB4OEIsMHhDQiwweDNCLDB4QzgsCi0weDcyLDB4MDIsMHg4QiwweEM4LDB4OEIsMHhDMSwweEUzLDB4NDQsMHgzMywweEQyLDB4OEUsMHhDMiwweDhCLDB4RDEsMHg4MywweEJFLAotMHg4OCwweDAwLDB4MDAsMHg3NCwweDA2LDB4RTksMHg4RSwweDAwLDB4MzMsMHhDMCwweEMzLDB4OEIsMHg1RSwweDEwLDB4MDMsMHgxRiwKLTB4NDMsMHg0MywweDUyLDB4RjcsMHg0NiwweDdBLDB4MDEsMHgwMCwweDc1LDB4MkEsMHhBQywweDhELDB4QkUsMHhFNCwweDAwLDB4OEIsCi0weDhFLDB4ODYsMHgwMCwweEYyLDB4QUUsMHg3NCwweDM0LDB4ODgsMHgwNywweDQzLDB4NEEsMHg3NSwweEVELDB4NTgsMHg4QiwweDVFLAotMHgxMCwweDAxLDB4MDcsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHg4QiwweEM2LDB4MkIsMHg4NiwKLTB4OEMsMHgwMCwweEMzLDB4OTAsMHhBQywweDhELDB4QkUsMHhFNCwweDAwLDB4OEIsMHg4RSwweDg2LDB4MDAsMHhGMiwweEFFLDB4NzQsCi0weDBBLDB4MjQsMHg3RiwweDg4LDB4MDcsMHg0MywweDRBLDB4NzUsMHhFQiwweEVCLDB4RDIsMHg4OCwweDg2LDB4RjQsMHgwMCwweEM3LAotMHg4NiwweDg4LDB4MDAsMHgwMSwweDAwLDB4NTgsMHgyQiwweEMyLDB4NzQsMHgwRSwweDhCLDB4NUUsMHgxMCwweDAxLDB4MDcsMHgyOSwKLTB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweDQwLDB4RTgsMHg5NCwweEZFLDB4NzIsMHhCRSwweDRBLDB4NzUsCi0weDE1LDB4ODMsMHhCRSwweDhBLDB4MDAsMHgwMCwweDc0LDB4QjQsMHhCQSwweDUwLDB4RkYsMHhFRCwweDg5LDB4ODYsMHg4MiwweDAwLAotMHg4MywweDRFLDB4N0EsMHgwOCwweEVCLDB4QTYsMHg4RCwweEJFLDB4RjQsMHgwMCwweDAzLDB4QkUsMHg4OCwweDAwLDB4QTQsMHhGRiwKLTB4ODYsMHg4OCwweDAwLDB4RTgsMHg2QSwweEZFLDB4NzIsMHg5NCwweDc5LDB4MDYsMHg0QSwweDc0LDB4OEYsMHhFOSwweDVCLDB4RkYsCi0weDRBLDB4NzQsMHhDRSwweEVCLDB4RTEsMHg5MCwweDUwLDB4RTgsMHgxMSwweENDLDB4OEIsMHg0NiwweDc0LDB4MzksMHg0NiwweDcyLAotMHg3NCwweDI3LDB4MUUsMHg1NiwweDUxLDB4MzMsMHhDOSwweEM1LDB4NzYsMHgwQywweEFELDB4NzQsMHgxMCwweDc4LDB4MDksMHgwMywKLTB4QzgsMHgwNSwweDAxLDB4MDAsMHgyNCwweEZFLDB4MDMsMHhGMCwweDNCLDB4NzYsMHgxMCwweDc2LDB4RUQsMHgyOSwweDRFLDB4NzYsCi0weDAxLDB4NEUsMHg3OCwweEU4LDB4MzcsMHhDQywweDU5LDB4NUUsMHgxRiwweDU4LDB4QzMsMHg5MCwweEM0LDB4N0UsMHgxMCwweDI2LAotMHg4QiwweDFELDB4ODMsMHhDMywweDAzLDB4MjYsMHg4OSwweDFELDB4NEIsMHgwMywweEZCLDB4QUIsMHg5MSwweEFBLDB4QjgsMHgwMywKLTB4MDAsMHgyOSwweDQ2LDB4NzgsMHgwMSwweDQ2LDB4NzYsMHgyOSwweDQ2LDB4NzQsMHhDMywweDkwLDB4QzQsMHg3RSwweDEwLDB4MjYsCi0weDhCLDB4MUQsMHg0MywweDI2LDB4ODksMHgxRCwweDQzLDB4MDMsMHhGQiwweEFBLDB4RkYsMHg0RSwweDc4LDB4RkYsMHg0NiwweDc2LAotMHhGRiwweDRFLDB4NzQsMHhDMywweEU4LDB4RTUsMHhGRiwweEMzLDB4ODAsMHg4MSwweDg0LDB4ODUsMHg4MiwweDgzLDB4ODYsMHg4NywKLTB4NTAsMHg1MywweDhBLDB4REMsMHg4MywweEUzLDB4MEUsMHhEMSwweEVCLDB4MkUsMHg4QSwweDg3LDB4OTgsMHgzQiwweDA4LDB4ODYsCi0weEIwLDB4MDAsMHhGRSwweDg2LDB4QjEsMHgwMCwweEIwLDB4MEEsMHhFOCwweDg3LDB4RDQsMHg1QiwweDU4LDB4QzMsMHg1MCwweDhBLAotMHhDOCwweEI4LDB4RkYsMHgwMCwweEU4LDB4OTUsMHhGRiwweDU4LDB4QzMsMHg5MCwweDhBLDB4ODYsMHhCQiwweDAwLDB4RTgsMHhBQiwKLTB4RkYsMHhDMywweEU4LDB4Q0IsMHhGRiwweEU4LDB4RjIsMHhGRiwweEMzLDB4OTAsMHhFOCwweEMzLDB4RkYsMHhFOCwweEI0LDB4RkYsCi0weEMzLDB4OTAsMHgzMywweEMwLDB4RTgsMHg5NSwweEZGLDB4QzMsMHhCOCwweEZGLDB4MDAsMHgzMywweEM5LDB4RTgsMHg2QywweEZGLAotMHhDMywweDkwLDB4QjgsMHhGRiwweDAxLDB4QjEsMHgxMCwweEU4LDB4NjIsMHhGRiwweEMzLDB4OTAsMHhDMywweEZDLDB4M0IsMHhFMiwKLTB4M0IsMHhGMiwweDNCLDB4RjIsMHgzQiwweEZDLDB4M0IsMHhFMiwweDNCLDB4RTgsMHgzQiwweEU4LDB4M0IsMHhGQywweDNCLDB4RTIsCi0weDNCLDB4RTgsMHgzQiwweEU4LDB4M0IsMHhGQywweDNCLDB4RTIsMHgzQiwweEUyLDB4M0IsMHhFMiwweDNCLDB4MDAsMHgxMCwweDAwLAotMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwKLTB4MDAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsCi0weDAwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4NTEsMHg1MywweDhCLAotMHg0RSwweDM4LDB4ODEsMHhFMSwweEZGLDB4RUUsMHhBOCwweDA0LDB4NzQsMHgwNCwweDgxLDB4QzksMHgwMCwweDAxLDB4OEEsMHhFMCwKLTB4ODAsMHhFNCwweDAzLDB4MjQsMHgxOCwweEQwLDB4RTQsMHgwQSwweEM0LDB4MzMsMHhEQiwweDhBLDB4RDgsMHgyRSwweDhCLDB4ODcsCi0weEZELDB4M0IsMHg4OSwweDQ2LDB4N0MsMHgyRSwweDBCLDB4OEYsMHgxRCwweDNDLDB4ODksMHg0RSwweDM4LDB4RDEsMHhFQiwweDJFLAotMHg4QSwweEE3LDB4M0QsMHgzQywweDVCLDB4NTksMHhDMywweEFDLDB4NDksMHgzQywweDAxLDB4NzIsMHgxRCwweDc0LDB4MjAsMHgzQywKLTB4MDMsMHg3MiwweDIzLDB4NzQsMHgyOCwweDNDLDB4MDgsMHg3MiwweDJCLDB4NzQsMHgzMCwweDNDLDB4MjAsMHg3MiwweDM3LDB4NzQsCi0weDNBLDB4QkIsMHhEQSwweDNCLDB4MzIsMHhFNCwweDg5LDB4NUUsMHg3RSwweEMzLDB4QkIsMHhBMCwweDNCLDB4RUIsMHhGNSwweEJCLAotMHg5NCwweDNCLDB4QjQsMHgwMSwweEVCLDB4RjAsMHhCQiwweEZDLDB4M0IsMHhCNCwweDAyLDB4RUIsMHhFOSwweEJCLDB4RTIsMHgzQiwKLTB4QjQsMHgwMywweEVCLDB4RTIsMHhCQiwweEJFLDB4M0IsMHhCNCwweDA0LDB4RUIsMHhEQiwweEJCLDB4Q0EsMHgzQiwweEFDLDB4NDksCi0weDg4LDB4ODYsMHhCQiwweDAwLDB4RUIsMHhDRSwweEJCLDB4RDIsMHgzQiwweEVCLDB4RjMsMHhCQiwweEZDLDB4M0IsMHhFQiwweEM0LAotMHhBOSwweDA0LDB4MDAsMHg3NSwweEQxLDB4QTksMHgwOCwweDAwLDB4NzUsMHhEQSwweEVCLDB4RDEsMHg4QiwweDVFLDB4NzQsMHg4QiwKLTB4NEUsMHg3OCwweDNCLDB4Q0IsMHg3MiwweDAyLDB4OEIsMHhDQiwweDNCLDB4QzgsMHg3MiwweDAyLDB4OEIsMHhDOCwweDhCLDB4QzEsCi0weEUzLDB4MkMsMHhDNCwweDdFLDB4MTAsMHg4QiwweERGLDB4MjYsMHgwMywweDNELDB4NDcsMHg0NywweEY3LDB4NDYsMHg3QSwweDAxLAotMHgwMCwweDc1LDB4MUMsMHhGNywweEM3LDB4MDEsMHgwMCwweDc0LDB4MDIsMHg0OSwweEE0LDB4RDEsMHhFOSwweEYzLDB4QTUsMHg3MywKLTB4MDEsMHhBNCwweDI2LDB4MDEsMHgwNywweDI5LDB4NDYsMHg3OCwweDAxLDB4NDYsMHg3NiwweDI5LDB4NDYsMHg3NCwweEMzLDB4NTAsCi0weDUzLDB4QkIsMHg3RiwweDdGLDB4RjcsMHhDNywweDAxLDB4MDAsMHg3NCwweDA1LDB4NDksMHhBQywweDIyLDB4QzMsMHhBQSwweEQxLAotMHhFOSwweEUzLDB4MUQsMHg5QywweEFELDB4MjMsMHhDMywweEFCLDB4NDksMHg3NCwweDE0LDB4QUQsMHgyMywweEMzLDB4QUIsMHg0OSwKLTB4NzQsMHgwRCwweEFELDB4MjMsMHhDMywweEFCLDB4NDksMHg3NCwweDA2LDB4QUQsMHgyMywweEMzLDB4QUIsMHhFMiwweEU1LDB4OUQsCi0weDczLDB4MDQsMHhBQywweDIyLDB4QzMsMHhBQiwweDVCLDB4NTgsMHhFQiwweEI4LDB4RTgsMHhDRSwweEM5LDB4OEIsMHg1RSwweDM4LAotMHhGNywweEMzLDB4MTAsMHgwNCwweDc1LDB4MDEsMHhDMywweEY3LDB4QzMsMHg0MCwweDAwLDB4NzQsMHgwNSwweEU4LDB4QjgsMHhFMywKLTB4RUIsMHgwMywweEU4LDB4QTgsMHhFMywweDgxLDB4NjYsMHgzOCwweEVGLDB4RkIsMHhGNiwweEMzLDB4MTAsMHg3NCwweDNDLDB4RjYsCi0weEMzLDB4MDIsMHg3NCwweDA2LDB4RTQsMHhEOCwweDBDLDB4MDEsMHhFNiwweEQ4LDB4RjYsMHhDMywweDA0LDB4NzQsMHgxMSwweDgzLAotMHhDMiwweDA4LDB4OEEsMHg4NiwweEE3LDB4MDAsMHgwQywweDAxLDB4RUUsMHg4OCwweDg2LDB4QTcsMHgwMCwweDgzLDB4RUEsMHgwOCwKLTB4RjYsMHhDMywweDA4LDB4NzQsMHgwRiwweEU4LDB4OEIsMHhFMywweDcyLDB4MEEsMHg4QSwweDg2LDB4QzAsMHgwMCwweEU2LDB4MzgsCi0weEIwLDB4MjMsMHhFNiwweDBBLDB4RjcsMHhDMywweDAwLDB4MDQsMHg3NSwweDAxLDB4QzMsMHhGNywweEMzLDB4MDAsMHgwOCwweDc1LAotMHhGOSwweDhBLDB4ODYsMHhBNSwweDAwLDB4RjYsMHhDMywweDQwLDB4NzUsMHgwRCwweEE4LDB4MTAsMHg3NSwweEVDLDB4MEMsMHgxMCwKLTB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4QzMsMHhBOCwweDAxLDB4NzUsMHhERiwweDgzLDB4QzIsMHgwMiwweDBDLDB4MDUsCi0weEVFLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhDMywweEIwLDB4MDAsMHhFOCwweDQ3LDB4RDIsMHhFQiwweDBGLDB4QjAsMHgwMiwweEU4LAotMHg5MCwweDBFLDB4RUIsMHgwOCwweDgzLDB4NjYsMHgzOCwweERGLDB4ODMsMHg0RSwweDdBLDB4MDIsMHgzMywweEMwLDB4OEUsMHhEOCwKLTB4RkEsMHhBMCwweDkyLDB4MTIsMHg0MCwweEEyLDB4OTIsMHgxMiwweDNDLDB4MDUsMHg3MiwweDFFLDB4QzYsMHgwNiwweDkyLDB4MTIsCi0weDAwLDB4RkIsMHhCMCwweDAxLDB4RTgsMHg2QiwweDBFLDB4RkEsMHhBMSwweDI2LDB4MDEsMHgyMywweDA2LDB4MkEsMHgwMSwweEE4LAotMHgwMSwweDc1LDB4MDcsMHhFOCwweEUyLDB4MDcsMHhFOCwweDYxLDB4MDksMHg5MCwweEIwLDB4MDAsMHhFOCwweDM3LDB4RDIsMHhGQiwKLTB4ODUsMHhFRCwweDc0LDB4QjksMHhGQSwweEY3LDB4NDYsMHg3QSwweDQ2LDB4MDAsMHg3NSwweEMwLDB4OEIsMHg0NiwweDc4LDB4M0QsCi0weDBBLDB4MDAsMHg3MiwweEIwLDB4OEIsMHg0RSwweDc0LDB4ODMsMHhGOSwweDUwLDB4NzIsMHg5QSwweDgzLDB4NjYsMHgzOCwweERGLAotMHhDNSwweDc2LDB4MTQsMHg4QiwweDQ2LDB4M0EsMHg4NSwweEMwLDB4NzUsMHg1OCwweEFELDB4ODUsMHhDMCwweDc1LDB4MEYsMHhFOCwKLTB4RjgsMHhGRSwweEY3LDB4NDYsMHg3QSwweDA4LDB4MDAsMHg3NCwweDkzLDB4RTgsMHhBMCwweEZBLDB4RUIsMHg4RSwweDNCLDB4NzYsCi0weDA0LDB4NzYsMHgyMSwweEI5LDB4MDIsMHgwMCwweDM5LDB4NEUsMHgyRSwweDc3LDB4MDUsMHhDNywweDQ2LDB4MkUsMHgwMCwweDAwLAotMHg1NiwweDhCLDB4NzYsMHgyQywweDg5LDB4NzYsMHgwNCwweEM3LDB4MDQsMHgwMCwweDAwLDB4NDYsMHg0NiwweDg5LDB4NzYsMHgyQywKLTB4MjksMHg0RSwweDJFLDB4NUUsMHg4NSwweEMwLDB4NzksMHgxNywweEY2LDB4QzQsMHgxMCwweDc0LDB4MDUsMHhGRiwweDU2LDB4N0MsCi0weEVCLDB4MDMsMHhGRiwweDU2LDB4N0UsMHg4OSwweDc2LDB4MTQsMHhCMCwweDBDLDB4RTgsMHg4NSwweEQxLDB4RUIsMHg4NiwweDg5LAotMHg0NiwweDNBLDB4RkYsMHg5NiwweDgwLDB4MDAsMHgyOSwweDQ2LDB4M0EsMHg4OSwweDc2LDB4MTQsMHhCMCwweDBDLDB4RTgsMHg3MSwKLTB4RDEsMHhFOSwweDcxLDB4RkYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDEwLDB4MDIsCi0weDAxLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsCi0weEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweEMwLDB4QzAsMHhDMCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHgwMCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLAotMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwKLTB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsMHg4MCwweDgwLDB4ODAsCi0weDgwLDB4ODAsMHg4MCwweDgwLDB4NEUsMHg0MSwweDc4LDB4NDEsMHhEMCwweDQxLDB4RjQsMHg0MSwweDA2LDB4NDIsMHgxOCwweDQyLAotMHhDMywweDkwLDB4OEUsMHg0NiwweDAyLDB4OEIsMHg3RSwweDIyLDB4ODksMHg3RSwweDZDLDB4ODAsMHg2NiwweDI3LDB4RkQsMHg4QiwKLTB4NTYsMHgyNCwweDgzLDB4RkEsMHgwNCwweDcyLDB4RTksMHg4MywweEVBLDB4MDIsMHg4QiwweEQ5LDB4M0IsMHhDQSwweDc2LDB4MDIsCi0weDhCLDB4Q0EsMHhCMCwweDBBLDB4NTcsMHg1MSwweDhCLDB4RkUsMHhGMiwweEFFLDB4OEIsMHhDMSwweDU5LDB4NUYsMHg3NSwweDFFLAotMHg1MCwweDQwLDB4MkIsMHhDOCwweDc0LDB4MDYsMHgyQiwweEQxLDB4MkIsMHhEOSwweEYzLDB4QTQsMHg1OSwweDRCLDB4NEEsMHg0QSwKLTB4QjAsMHgwRCwweEFBLDB4QTQsMHgzQiwweENBLDB4NzYsMHgwMiwweDhCLDB4Q0EsMHhFMywweDEzLDB4RUIsMHhENCwweDJCLDB4RDksCi0weEY3LDB4QzYsMHgwMSwweDAwLDB4NzQsMHgwMiwweEE0LDB4NDksMHhEMSwweEU5LDB4RjMsMHhBNSwweDczLDB4MDEsMHhBNCwweDg5LAotMHg3RSwweDIyLDB4MkIsMHg3RSwweDZDLDB4MjksMHg3RSwweDI0LDB4MDEsMHg3RSwweDFBLDB4OEIsMHhDQiwweDgwLDB4N0UsMHgyNiwKLTB4MDIsMHg3NCwweDA1LDB4ODAsMHg2NiwweDI2LDB4RkQsMHhDMywweDYwLDB4QjAsMHhGRCwweEU4LDB4MTgsMHgwMywweDYxLDB4QzMsCi0weEMzLDB4OTAsMHhFOCwweDdDLDB4MDIsMHg3MiwweEY5LDB4OTAsMHg4MywweDRFLDB4MjYsMHgyMCwweDhCLDB4NDYsMHg2QSwweDg5LAotMHg0NiwweDZFLDB4OEIsMHg0NiwweDQ4LDB4MEQsMHgwNCwweDAwLDB4MjUsMHhCRiwweEZGLDB4ODksMHg0NiwweDQ4LDB4QjAsMHgwNiwKLTB4RTgsMHhCRiwweENGLDB4QzMsMHg4OSwweDdFLDB4MjIsMHgyQiwweDdFLDB4NkMsMHgwMSwweDdFLDB4MUEsMHgyOSwweDdFLDB4MjQsCi0weDgwLDB4N0UsMHgyNiwweDAyLDB4NzQsMHgwNSwweDgzLDB4NjYsMHgyNiwweEZELDB4QzMsMHg2MCwweEIwLDB4RkQsMHhFOCwweEQ1LAotMHgwMiwweDYxLDB4QzMsMHg5MCwweDhBLDB4QkUsMHhDMiwweDAwLDB4RUIsMHgyNCwweEY3LDB4NDYsMHg0OCwweDQwLDB4MDAsMHg3NSwKLTB4QjEsMHg4RSwweDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHg4OSwweDdFLDB4NkMsMHg4QiwweDU2LDB4MjQsMHg4MywweEVBLDB4MEEsCi0weDc4LDB4OUUsMHgwMywweEQ3LDB4ODAsMHg2NiwweDI3LDB4RkQsMHgzMywweEMwLDB4OEEsMHhCRSwweEMyLDB4MDAsMHhFMywweEI0LAotMHgzQiwweEZBLDB4NzcsMHhCMCwweEFDLDB4NDksMHg5MywweDJFLDB4OEEsMHg4NywweEQ0LDB4M0UsMHg5MywweDIyLDB4REYsMHg3NSwKLTB4MTcsMHhBQSwweEUzLDB4QTAsMHgzQiwweEZBLDB4NzcsMHg5QywweEFDLDB4NDksMHg5MywweDJFLDB4OEEsMHg4NywweEQ0LDB4M0UsCi0weDkzLDB4MjIsMHhERiwweDc1LDB4MDMsMHhBQSwweEVCLDB4RDYsMHhGNiwweEMzLDB4N0YsMHg3NSwweDA1LDB4RkYsMHg0NiwweDY2LAotMHhFQiwweERGLDB4RjYsMHhDMywweDQwLDB4NzUsMHgwQywweDhCLDB4RDgsMHg4MywweEVCLDB4MDgsMHhEMSwweEUzLDB4MkUsMHhGRiwKLTB4QTcsMHhENCwweDNGLDB4RkYsMHg0NiwweDY2LDB4MkMsMHgyMCwweEVCLDB4QzcsMHg4NSwweEMwLDB4NzQsMHgyQywweDg5LDB4NDYsCi0weDZBLDB4ODMsMHg0RSwweDQ4LDB4NDAsMHg4OSwweDdFLDB4MjIsMHgyQiwweDdFLDB4NkMsMHgwMSwweDdFLDB4MUEsMHgyOSwweDdFLAotMHgyNCwweDgwLDB4N0UsMHgyNiwweDAyLDB4NzQsMHgwOCwweDgzLDB4NjYsMHgyNiwweEZELDB4RTgsMHhBMywweDAxLDB4QzMsMHg2MCwKLTB4QjAsMHhGRCwweEU4LDB4MzEsMHgwMiwweDYxLDB4RTgsMHg5OCwweDAxLDB4QzMsMHhFOSwweDU3LDB4RkYsMHg5MCwweDhCLDB4NUUsCi0weDY2LDB4NEIsMHg3OCwweDAzLDB4ODksMHg1RSwweDY2LDB4QUEsMHg4QiwweDVFLDB4NjQsMHhGNywweEMzLDB4MDAsMHgyMCwweDc1LAotMHgwMywweEU5LDB4NDAsMHhGRiwweEY3LDB4QzMsMHg0MCwweDAwLDB4NzQsMHgwOCwweDhBLDB4ODYsMHhDMSwweDAwLDB4QUEsMHhFOSwKLTB4MzIsMHhGRiwweEI4LDB4MzIsMHgwMCwweEVCLDB4QTMsMHg5MCwweDhCLDB4NUUsMHg2NiwweDg5LDB4NUUsMHg2OCwweDgzLDB4QzMsCi0weDA4LDB4ODAsMHhFMywweEY4LDB4ODksMHg1RSwweDY2LDB4OEIsMHg1RSwweDY0LDB4ODEsMHhFMywweDAwLDB4MTgsMHg4MSwweEZCLAotMHgwMCwweDE4LDB4NzQsMHgyRCwweEFBLDB4ODUsMHhEQiwweDc0LDB4MjUsMHhGNywweDQ2LDB4NjQsMHg0MCwweDAwLDB4NzUsMHgxOCwKLTB4ODEsMHhGQiwweDAwLDB4MTAsMHg3NCwweDBDLDB4OEIsMHg0NiwweDY2LDB4MkIsMHg0NiwweDY4LDB4QzEsMHhFMCwweDA0LDB4RTksCi0weDY4LDB4RkYsMHhCOCwweDY0LDB4MDAsMHhFOSwweDYyLDB4RkYsMHg4QSwweDg2LDB4QzEsMHgwMCwweEFBLDB4QUEsMHhFOSwweEUzLAotMHhGRSwweDUxLDB4OEIsMHg0RSwweDY2LDB4MkIsMHg0RSwweDY4LDB4QjAsMHgyMCwweEYzLDB4QUEsMHg1OSwweEU5LDB4RDQsMHhGRSwKLTB4OEIsMHg1RSwweDY2LDB4ODksMHg1RSwweDY4LDB4OEIsMHg1RSwweDY0LDB4RjcsMHhDMywweDI0LDB4MDAsMHg3NCwweDEwLDB4QzcsCi0weDQ2LDB4NjYsMHgwMCwweDAwLDB4RjcsMHhDMywweDA0LDB4MDAsMHg3NCwweDA1LDB4QjAsMHgwRCwweEFBLDB4QjAsMHgwQSwweEFBLAotMHhFQiwweDQ4LDB4OTAsMHg5MCwweEFBLDB4RjcsMHg0NiwweDY0LDB4MDAsMHg0MCwweDc0LDB4MDYsMHhCOCwweEQwLDB4MDcsMHhFOSwKLTB4MTgsMHhGRiwweEU5LDB4OUYsMHhGRSwweDkwLDB4QUEsMHhGNywweDQ2LDB4NjQsMHgwMCwweDgwLDB4NzQsMHgwNiwweEI4LDB4RDAsCi0weDA3LDB4RTksMHgwNiwweEZGLDB4RTksMHg4RCwweEZFLDB4OTAsMHg4QiwweDVFLDB4NjYsMHg4OSwweDVFLDB4NjgsMHg4NSwweERCLAotMHg3NSwweDBDLDB4OEIsMHg1RSwweDY0LDB4RjcsMHhDMywweDEwLDB4MDAsMHg3NCwweDA2LDB4RTksMHg3NiwweEZFLDB4OEIsMHg1RSwKLTB4NjQsMHhGNywweEMzLDB4MDgsMHgwMCwweDc0LDB4MjcsMHhCMCwweDBBLDB4QUEsMHhGNywweEMzLDB4MjAsMHgwMCwweDc1LDB4MUYsCi0weEY3LDB4QzMsMHgwMCwweDAxLDB4NzUsMHgwMywweEU5LDB4NUIsMHhGRSwweEY3LDB4QzMsMHg0MCwweDAwLDB4NzUsMHgwNiwweEI4LAotMHg2NCwweDAwLDB4RTksMHhDNSwweEZFLDB4OEEsMHg4NiwweEMxLDB4MDAsMHhBQSwweEFBLDB4RTksMHg0NiwweEZFLDB4QUEsMHhDNywKLTB4NDYsMHg2NiwweDAwLDB4MDAsMHhGNywweEMzLDB4MDAsMHgwNiwweDc0LDB4RjEsMHhGNywweEMzLDB4NDAsMHgwMCwweDc0LDB4MTksCi0weDhBLDB4ODYsMHhDMSwweDAwLDB4ODEsMHhFMywweDAwLDB4MDYsMHg4MSwweEZCLDB4MDAsMHgwNCwweDcyLDB4MDYsMHg3NiwweDAyLAotMHhBQSwweEFBLDB4QUEsMHhBQSwweEFBLDB4QUEsMHhFOSwweDFCLDB4RkUsMHg4MSwweEUzLDB4MDAsMHgwNiwweDgxLDB4RkIsMHgwMCwKLTB4MDQsMHg3MiwweDBFLDB4NzYsMHgwNiwweEI4LDB4OTYsMHgwMCwweEU5LDB4N0YsMHhGRSwweEI4LDB4NjQsMHgwMCwweEU5LDB4NzksCi0weEZFLDB4OEIsMHg0NiwweDY4LDB4RTksMHg3MywweEZFLDB4OTAsMHgzNiwweDhCLDB4MEUsMHhEQSwweDEyLDB4ODMsMHhGOSwweDMyLAotMHg3MywweDFELDB4MUUsMHgwNiwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweDhELDB4NzYsMHg0QywweEJGLDB4REMsMHgxMiwKLTB4MDMsMHhGOSwweEE1LDB4QTUsMHhBNSwweDgzLDB4QzEsMHgwNiwweDg5LDB4MEUsMHhEQSwweDEyLDB4MDcsMHgxRiwweEMzLDB4QjAsCi0weDA4LDB4RTgsMHg2RSwweENELDB4QzMsMHg5MCwweDgzLDB4NjYsMHg0OCwweEZFLDB4RTgsMHg5MywweEM0LDB4RTgsMHhDOCwweEZGLAotMHhDMywweEY2LDB4NDYsMHgyNywweDAyLDB4NzUsMHgwRiwweDlDLDB4RkEsMHg4MywweDdFLDB4MUEsMHgwMCwweDc0LDB4MDksMHg4MCwKLTB4NEUsMHgyNywweDAxLDB4OUQsMHhGOSwweEMzLDB4RjgsMHhDMywweDUwLDB4NTIsMHhGNywweDQ2LDB4MzgsMHg0MCwweDAwLDB4NzQsCi0weDFELDB4RTgsMHgzNCwweERFLDB4ODMsMHhDMiwweDBBLDB4RUMsMHhBOCwweDQwLDB4NzUsMHgyNywweDgzLDB4RUEsMHgwOCwweDhBLAotMHg4NiwweEE1LDB4MDAsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFRSwweDVBLDB4NTgsMHhFQiwweEQxLDB4RTgsMHgwQywKLTB4REUsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkIsMHgwQywweDAyLDB4ODgsMHg4NiwweEE1LDB4MDAsMHhFNiwweDBDLDB4NUEsCi0weDU4LDB4RUIsMHhCQywweDgwLDB4NEUsMHgyNywweDAyLDB4NUEsMHg1OCwweDlELDB4RjgsMHhDMywweDA4LDB4NDYsMHgyNiwweDlDLAotMHhGQSwweDhBLDB4OEUsMHhBNSwweDAwLDB4RjcsMHg0NiwweDM4LDB4NDAsMHgwMCwweDc1LDB4MTQsMHhGNiwweEMxLDB4MDYsMHg3NCwKLTB4MjMsMHhFOCwweEQ5LDB4REQsMHg4QSwweEMxLDB4MjQsMHhGOSwweDg4LDB4ODYsMHhBNSwweDAwLDB4RTYsMHgwQywweDlELDB4QzMsCi0weEY2LDB4QzEsMHgwMiwweDc0LDB4MEYsMHhFOCwweEQwLDB4REQsMHg4MywweEMyLDB4MDIsMHg4QSwweEMxLDB4MjQsMHhGRCwweDg4LAotMHg4NiwweEE1LDB4MDAsMHhFRSwweDlELDB4QzMsMHg4QiwweDVFLDB4MjYsMHgyMiwweEMzLDB4ODgsMHg0NiwweDI2LDB4NzQsMHgwMSwKLTB4QzMsMHg4MCwweDY2LDB4MjcsMHhGRCwweDlDLDB4RkEsMHg4QSwweDhFLDB4QTUsMHgwMCwweEY3LDB4NDYsMHgzOCwweDQwLDB4MDAsCi0weDc1LDB4MTYsMHhGNiwweEMxLDB4MDQsMHg3NSwweDBGLDB4RTgsMHg5MywweERELDB4OEEsMHhDMSwweDI0LDB4RkQsMHgwQywweDA0LAotMHg4OCwweDg2LDB4QTUsMHgwMCwweEU2LDB4MEMsMHg5RCwweEMzLDB4RjYsMHhDMSwweDAyLDB4NzUsMHhGOSwweEU4LDB4ODgsMHhERCwKLTB4ODMsMHhDMiwweDBBLDB4RUMsMHhBOCwweDIwLDB4NzUsMHgwRSwweDgzLDB4RUEsMHgwOCwweDhBLDB4QzEsMHgwQywweDAyLDB4ODgsCi0weDg2LDB4QTUsMHgwMCwweEVFLDB4OUQsMHhDMywweDgzLDB4RUEsMHgwQSwweDMzLDB4QzksMHg4QSwweDRFLDB4MUMsMHg4QiwweDQ2LAotMHgxQSwweDNCLDB4QzgsMHg3MywweDFCLDB4MDEsMHg0RSwweDJBLDB4MkIsMHhDMSwweDg5LDB4NDYsMHgxQSwweDFFLDB4QzUsMHg3NiwKLTB4MDAsMHhGMywweDZFLDB4MUYsMHg4OSwweDc2LDB4MDAsMHg4MywweEMyLDB4MDIsMHg4QSwweDg2LDB4QTUsMHgwMCwweEVCLDB4Q0QsCi0weDg1LDB4QzAsMHg3NCwweDEyLDB4MDEsMHg0NiwweDJBLDB4OEIsMHhDOCwweDFFLDB4QzUsMHg3NiwweDAwLDB4RjMsMHg2RSwweDFGLAotMHg4OSwweDc2LDB4MDAsMHg4OSwweDRFLDB4MUEsMHhGNiwweEM3LDB4MDEsMHg3NSwweDIzLDB4ODAsMHhDQiwweDAyLDB4ODksMHg1RSwKLTB4MjYsMHhFOCwweDA4LDB4QzMsMHg4MywweEMyLDB4MDIsMHg4QSwweDg2LDB4QTUsMHgwMCwweDI0LDB4RkQsMHhFRSwweDg4LDB4ODYsCi0weEE1LDB4MDAsMHhGNiwweEM3LDB4MTAsMHg3NSwweDA1LDB4QjAsMHgwMiwweEU4LDB4MTYsMHhDQywweDlELDB4QzMsMHg4MywweEMyLAotMHgwMiwweDhBLDB4ODYsMHhBNSwweDAwLDB4RUIsMHg4NiwweDkwLDB4OEIsMHhEMSwweDhCLDB4NDYsMHgyNCwweDNCLDB4QzgsMHg3NiwKLTB4MDIsMHg4QiwweEM4LDB4MkIsMHhEMSwweDJCLDB4QzEsMHg4QiwweEQ5LDB4RTMsMHgyMiwweDgwLDB4NjYsMHgyNywweEZELDB4OEUsCi0weDQ2LDB4MDIsMHg4QiwweDdFLDB4MjIsMHhGNywweEM2LDB4MDEsMHgwMCwweDc0LDB4MDIsMHhBNCwweDQ5LDB4RDEsMHhFOSwweEYzLAotMHhBNSwweDczLDB4MDEsMHhBNCwweDg5LDB4N0UsMHgyMiwweDg5LDB4NDYsMHgyNCwweDAxLDB4NUUsMHgxQSwweDhCLDB4Q0EsMHg4MCwKLTB4N0UsMHgyNiwweDAyLDB4NzQsMHgwNSwweDgwLDB4NjYsMHgyNiwweEZELDB4QzMsMHg2MCwweEIwLDB4RkQsMHhFOCwweEY2LDB4RkUsCi0weDYxLDB4QzMsMHg1MCwweEU0LDB4MEEsMHg4NCwweEMwLDB4NzUsMHgwQSwweDg2LDB4ODYsMHhBMSwweDAwLDB4ODQsMHhDMCwweDc0LAotMHgwQSwweEU2LDB4MEEsMHg1OCwweDBDLDB4MjAsMHg4OSwweDQ2LDB4NDgsMHhGOSwweEMzLDB4NTgsMHgyNCwweERGLDB4ODksMHg0NiwKLTB4NDgsMHhGOCwweEMzLDB4OTAsMHhGQiwweEIwLDB4MDIsMHhFOCwweEU4LDB4MDcsMHhGQSwweEU4LDB4MkUsMHgwMSwweEZCLDB4QjAsCi0weDAxLDB4RTgsMHhERSwweDA3LDB4RkEsMHhCMCwweDAyLDB4RTgsMHhCQywweENCLDB4RkIsMHg4NSwweEVELDB4NzQsMHhFNSwweEZBLAotMHg4RSwweDVFLDB4MEEsMHhGQiwweDkwLDB4RkEsMHg4QiwweDQ2LDB4NDgsMHg4QiwweDc2LDB4NDAsMHhBOCwweDhDLDB4NzUsMHhERSwKLTB4QTgsMHgyMCwweDc0LDB4MUEsMHg1MCwweEU4LDB4NTUsMHhEQywweDU4LDB4RTgsMHhBNiwweEZGLDB4NzMsMHgxMCwweEIwLDB4MDIsCi0weEU4LDB4NUYsMHhDQiwweEVCLDB4QzksMHg5MCwweDI1LDB4RkYsMHgwMCwweDhCLDB4QzgsMHhFQiwweDM2LDB4OTAsMHhBOCwweDAxLAotMHg3NSwweDIyLDB4NDYsMHg4MywweEU2LDB4RkUsMHgzQiwweDc2LDB4MDgsMHg3NCwweDc5LDB4QUQsMHg4QSwweEZDLDB4QjMsMHhGMCwKLTB4MjIsMHhGQiwweDNBLDB4RkIsMHg3NCwweEUwLDB4M0EsMHhCRSwweEEwLDB4MDAsMHg3NCwweDJFLDB4RTgsMHhEMiwweEZELDB4NzMsCi0weDc3LDB4RUIsMHg5QiwweDkwLDB4OEEsMHhFMCwweDI0LDB4RkMsMHg4OCwweDQ2LDB4NDgsMHg4QiwweDRFLDB4NEEsMHhGNiwweEM0LAotMHgwMiwweDc0LDB4MUQsMHhFOCwweEJCLDB4RkQsMHg3MiwweDg2LDB4RTgsMHgxMywweEYzLDB4ODksMHg3NiwweDQwLDB4RTMsMHg5MywKLTB4ODMsMHg0RSwweDQ4LDB4MDMsMHg4OSwweDRFLDB4NEEsMHhFOSwweDc0LDB4RkYsMHgyNSwweEZGLDB4MEYsMHg4QiwweEM4LDB4OTAsCi0weDhCLDB4ODYsMHg5OCwweDAwLDB4ODUsMHhDMCwweDc0LDB4MUEsMHg1MSwweDhBLDB4OEUsMHhBMCwweDAwLDB4QzAsMHhFOSwweDA0LAotMHhCQSwweDAxLDB4MDAsMHhEMywweEUyLDB4NTksMHgyMywweEMyLDB4NzQsMHgwOCwweDAzLDB4RjEsMHg4OSwweDc2LDB4NDAsMHhFOSwKLTB4NjEsMHhGRiwweEZGLDB4NTYsMHg2MiwweEUzLDB4RjUsMHg4MywweDRFLDB4NDgsMHgwMSwweDg5LDB4NEUsMHg0QSwweDg5LDB4NzYsCi0weDQwLDB4RTksMHgzQSwweEZGLDB4ODEsMHg0RSwweDI2LDB4MDAsMHgxMCwweDhCLDB4NDYsMHg1MCwweDNCLDB4NDYsMHg0NiwweDc3LAotMHgwMywweEU4LDB4NTIsMHhGRCwweEU5LDB4MjcsMHhGRiwweDkwLDB4ODgsMHhCRSwweEEwLDB4MDAsMHhFQiwweEFDLDB4MEEsMHgwNiwKLTB4OTAsMHgxMiwweDhBLDB4RTAsMHhCQSwweDA2LDB4MDEsMHhCMCwweDA0LDB4RUUsMHhFQywweDg0LDB4QzAsMHg3NSwweDEyLDB4QjAsCi0weDA0LDB4RUUsMHg4QSwweEM0LDB4RUUsMHgzMiwweEU0LDB4QTgsMHg4MCwweDc0LDB4MDYsMHhDNywweDA2LDB4ODQsMHgxMiwweDAwLAotMHgwMCwweDg4LDB4MjYsMHg5MCwweDEyLDB4QzMsMHgwQSwweDA2LDB4OTAsMHgxMiwweDhBLDB4RTAsMHhCQSwweDA2LDB4MDEsMHhFQywKLTB4QTgsMHgwMSwweDc1LDB4RUQsMHhCQSwweDA4LDB4MDEsMHg4QSwweEM0LDB4RUUsMHgzMiwweEU0LDB4QTgsMHg4MCwweDc0LDB4RTEsCi0weEM3LDB4MDYsMHg4NCwweDEyLDB4MDAsMHgwMCwweDg4LDB4MjYsMHg5MCwweDEyLDB4QzMsMHg5MCwweDM2LDB4RjcsMHgwNiwweDI0LAotMHgwMSwweDAxLDB4MDAsMHg3NSwweDMwLDB4MzYsMHg4QiwweDBFLDB4REEsMHgxMiwweDgwLDB4RjksMHgzNiwweDczLDB4MjYsMHgzMywKLTB4QzAsMHg4RSwweEMwLDB4OEUsMHhEOCwweEJGLDB4REMsMHgxMiwweDAzLDB4RjksMHhCMCwweDA4LDB4RTgsMHg3NywweENBLDB4ODUsCi0weEVELDB4NzQsMHgwRSwweDhELDB4NzYsMHg0QywweEE1LDB4QTUsMHhBNSwweDgwLDB4QzEsMHgwNiwweDgwLDB4RjksMHgzNiwweDcyLAotMHhFOSwweDg5LDB4MEUsMHhEQSwweDEyLDB4QzMsMHhDMywweDkwLDB4RjcsMHgwNiwweDI2LDB4MDEsMHgwMSwweDAwLDB4NzUsMHhGNiwKLTB4OEIsMHgwRSwweDIwLDB4MTMsMHg4NSwweEM5LDB4NzUsMHhFRSwweDMzLDB4QzAsMHg4RSwweEMwLDB4OEUsMHhEOCwweEJGLDB4MjQsCi0weDEzLDB4QjksMHgzNiwweDAwLDB4QjAsMHgwQSwweEU4LDB4M0QsMHhDQSwweDg1LDB4RUQsMHg3NSwweDA2LDB4RTksMHgxMiwweDAxLAotMHhFOSwweDBBLDB4MDEsMHgzMywweERCLDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwweEIzLDB4MDAsMHhGRSwweENDLDB4NzgsMHgwRSwKLTB4ODgsMHhBNiwweEIzLDB4MDAsMHgwQSwweERDLDB4QjQsMHgwQSwweEFCLDB4ODMsMHhFOSwweDAyLDB4NzYsMHhFMiwweDhBLDB4QTYsCi0weEIyLDB4MDAsMHhGRSwweENDLDB4NzgsMHgwRSwweDg4LDB4QTYsMHhCMiwweDAwLDB4MEEsMHhEQywweEI0LDB4MDgsMHhBQiwweDgzLAotMHhFOSwweDAyLDB4NzYsMHhDQywweDhBLDB4QTYsMHhCMSwweDAwLDB4RkUsMHhDQywweDc4LDB4MTgsMHg4QSwweEJFLDB4QjAsMHgwMCwKLTB4NzUsMHgwNCwweDg4LDB4QTYsMHhCMCwweDAwLDB4ODgsMHhBNiwweEIxLDB4MDAsMHgwQSwweERDLDB4OEEsMHhFNywweEFCLDB4ODMsCi0weEU5LDB4MDIsMHg3NiwweEFDLDB4OEEsMHhBNiwweEI0LDB4MDAsMHhGRSwweENDLDB4NzgsMHgxRiwweDg4LDB4QTYsMHhCNCwweDAwLAotMHgwQSwweERDLDB4QjQsMHgwQiwweEFCLDB4OEEsMHg4NiwweEJDLDB4MDAsMHg4QSwweEE2LDB4QkQsMHgwMCwweEFCLDB4OEIsMHg4NiwKLTB4QkUsMHgwMCwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHg4OCwweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsMHhCNiwweDAwLDB4RkUsCi0weENDLDB4NzgsMHgxOSwweDg4LDB4QTYsMHhCNiwweDAwLDB4MEEsMHhEQywweEI0LDB4MEMsMHhBQiwweEU4LDB4REIsMHhDQiwweEFCLAotMHg4QiwweDQ2LDB4MkEsMHhBQiwweDgzLDB4RTksMHgwNiwweDc2LDB4NzQsMHg4QSwweDQ2LDB4NEMsMHg4QSwweEE2LDB4QjcsMHgwMCwKLTB4RkUsMHhDQywweDc4LDB4MTksMHg4OCwweEE2LDB4QjcsMHgwMCwweDBBLDB4REMsMHhCNCwweDBELDB4QUIsMHhFOCwweEJBLDB4Q0IsCi0weEFCLDB4OEIsMHg0NiwweDM0LDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDUzLDB4OEEsMHg0NiwweDRDLDB4OEEsMHhBNiwweEI4LAotMHgwMCwweEZFLDB4Q0MsMHg3OCwweDE5LDB4ODgsMHhBNiwweEI4LDB4MDAsMHgwQSwweERDLDB4QjQsMHgwRSwweEFCLDB4QTEsMHg1MCwKLTB4MTIsMHhBQiwweEExLDB4NTIsMHgxMiwweEFCLDB4ODMsMHhFOSwweDA2LDB4NzYsMHgzMiwweDhBLDB4NDYsMHg0QywweDhBLDB4QTYsCi0weEI1LDB4MDAsMHhGRSwweENDLDB4NzgsMHgxOCwweDg4LDB4QTYsMHhCNSwweDAwLDB4MEEsMHhEQywweEI0LDB4MEYsMHhBQiwweDhCLAotMHg4NiwweDlBLDB4MDAsMHhBQiwweDhCLDB4ODYsMHg5QywweDAwLDB4QUIsMHg4MywweEU5LDB4MDYsMHg3NiwweDBGLDB4ODQsMHhEQiwKLTB4NzUsMHgwMywweEU5LDB4RUYsMHhGRSwweEIwLDB4MEEsMHhFOCwweEY4LDB4QzgsMHhFOSwweEU3LDB4RkUsMHhCMCwweDBBLDB4RTgsCi0weEYwLDB4QzgsMHhGNywweEQ5LDB4ODMsMHhDMSwweDM2LDB4OEIsMHhDMSwweDBELDB4ODAsMHgwMCwweDg2LDB4QzQsMHhBMywweDIyLAotMHgxMywweDQxLDB4NDEsMHg4OSwweDBFLDB4MjAsMHgxMywweEMzLDB4QTEsMHg4NCwweDEyLDB4MkIsMHhDMSwweDcyLDB4MTEsMHhBMywKLTB4ODQsMHgxMiwweEJFLDB4MjIsMHgxMywweEQxLDB4RTksMHhGMywweDZGLDB4OTAsMHg4OSwweDBFLDB4MjAsMHgxMywweEY4LDB4QzMsCi0weEY5LDB4QzMsMHhDMywweDgxLDB4RUYsMHg2QSwweDEzLDB4NzQsMHhGOSwweDhCLDB4QzcsMHgwRCwweDgwLDB4MDAsMHg4NiwweEM0LAotMHhBMywweDY4LDB4MTMsMHg0NywweDQ3LDB4ODksMHgzRSwweDY2LDB4MTMsMHhDMywweEY3LDB4MDYsMHgyQSwweDAxLDB4MDEsMHgwMCwKLTB4NzUsMHhFMCwweDhCLDB4MEUsMHg2NiwweDEzLDB4RTMsMHgwNywweDgwLDB4RjksMHgyMCwweDc3LDB4RDUsMHg0OSwweDQ5LDB4MzMsCi0weEMwLDB4OEUsMHhDMCwweDhFLDB4RDgsMHhCRiwweDZBLDB4MTMsMHg4QiwweEY3LDB4MDMsMHhGOSwweDgzLDB4QzYsMHgzNCwweDNCLAotMHhGRSwweDc3LDB4QzAsMHhCMCwweDBFLDB4RTgsMHhBRSwweEM4LDB4ODUsMHhFRCwweDc0LDB4QjcsMHg4QSwweDQ2LDB4NEMsMHg4QSwKLTB4QjYsMHhCOSwweDAwLDB4RkUsMHhDRSwweDc4LDB4MTUsMHg4OCwweEI2LDB4QjksMHgwMCwweDhBLDB4QTYsMHhBOSwweDAwLDB4ODAsCi0weENDLDB4QzAsMHhBQiwweDg0LDB4RjYsMHg3NCwweDA1LDB4QjAsMHgwRSwweEU4LDB4NTYsMHhDOCwweDhBLDB4QjYsMHhCQSwweDAwLAotMHhGRSwweENFLDB4NzgsMHhDQiwweDhBLDB4OUUsMHhBOSwweDAwLDB4OEEsMHhCRSwweEFCLDB4MDAsMHg4QSwweDU2LDB4M0YsMHg4QSwKLTB4RjMsMHgzMiwweEY3LDB4MEEsMHhCNiwweEFDLDB4MDAsMHhDNiwweDg2LDB4QUMsMHgwMCwweDAwLDB4MjIsMHhGMiwweDc0LDB4NEIsCi0weEY2LDB4QzYsMHgwOCwweDc0LDB4MEYsMHhCNCwweDAyLDB4RjYsMHhDMywweDA4LDB4NzUsMHgwMiwweEI0LDB4MDMsMHhBQiwweDgwLAotMHhFNiwweEY3LDB4NzQsMHgzNywweEY2LDB4QzYsMHgwMSwweDc0LDB4MEYsMHhCNCwweDAwLDB4RjYsMHhDMywweDAxLDB4NzUsMHgwMiwKLTB4QjQsMHgwMSwweEFCLDB4ODAsMHhFNiwweEZFLDB4NzQsMHgyMywweEY2LDB4QzYsMHgwMiwweDc0LDB4MEYsMHhCNCwweDA0LDB4RjYsCi0weEMzLDB4MDIsMHg3NSwweDAyLDB4QjQsMHgwNSwweEFCLDB4ODAsMHhFNiwweEZELDB4NzQsMHgwRiwweEY2LDB4QzYsMHgwNCwweDc0LAotMHgwQSwweEI0LDB4MDYsMHhGNiwweEMzLDB4MDQsMHg3NSwweDAyLDB4QjQsMHgwNywweEFCLDB4QzYsMHg4NiwweEJBLDB4MDAsMHgwMCwKLTB4ODgsMHg5RSwweEFCLDB4MDAsMHhFOSwweDU4LDB4RkYsMHg5MCwweEExLDB4ODQsMHgxMiwweDJCLDB4QzEsMHg3MiwweDExLDB4QTMsCi0weDg0LDB4MTIsMHhCRSwweDY4LDB4MTMsMHhEMSwweEU5LDB4RjMsMHg2RiwweDkwLDB4ODksMHgwRSwweDY2LDB4MTMsMHhGOCwweEMzLAotMHhGOSwweEMzLDB4QTEsMHg4NCwweDEyLDB4NDEsMHg0MSwweDJCLDB4QzEsMHg3MiwweDIzLDB4QTMsMHg4NCwweDEyLDB4OEIsMHhDMSwKLTB4NDgsMHg0OCwweDMyLDB4RTQsMHgwQywweDgwLDB4ODYsMHhDNCwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwweEJFLDB4REMsCi0weDEyLDB4NDksMHg0OSwweEQxLDB4RTksMHhGMywweDZGLDB4OTAsMHg4OSwweDBFLDB4REEsMHgxMiwweEY4LDB4QzMsMHhGOSwweEMzLAotMHg4QSwweEM4LDB4OEEsMHg0NiwweDRDLDB4QjQsMHgwMSwweDgzLDB4RUIsMHgwNiwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwKLTB4QjgsMHgwMSwweDAwLDB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLDB4OEEsMHhDMSwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsCi0weDkwLDB4RTksMHg5NywweDAwLDB4RTksMHhBQywweDAwLDB4MzMsMHhDMCwweDhFLDB4RDgsMHg4OSwweDFFLDB4ODQsMHgxMiwweEMzLAotMHgzNiwweDhCLDB4MUUsMHg4NCwweDEyLDB4RkIsMHg5MCwweEZBLDB4QjAsMHgwQywweEU4LDB4ODksMHhDNywweDg1LDB4RUQsMHg3NCwKLTB4RTYsMHhDNSwweDc2LDB4MEMsMHg4MywweEZCLDB4MTQsMHg3MiwweERCLDB4RkIsMHg5MCwweEZBLDB4QUQsMHg4NSwweEMwLDB4NzgsCi0weEFGLDB4NzQsMHhFMiwweDhCLDB4RkUsMHgwMywweEY4LDB4MzYsMHg4QiwweDBFLDB4ODYsMHgxMiwweDNCLDB4QzEsMHg3NywweDAyLAotMHg4QiwweEM4LDB4ODMsMHhFQiwweDA0LDB4M0IsMHhEOSwweDc3LDB4MDIsMHg4QiwweENCLDB4MzMsMHhDMCwweDhBLDB4NDYsMHg0QywKLTB4RUYsMHg5MCwweDkwLDB4OTAsMHg5MCwweDkwLDB4OEIsMHhDMSwweEVGLDB4OTAsMHg5MCwweDkwLDB4OTAsMHg5MCwweDQxLDB4ODAsCi0weEUxLDB4RkUsMHgyQiwweEQ5LDB4NTEsMHhEMSwweEU5LDB4RjMsMHg2RiwweDkwLDB4NTksMHg4QiwweEM3LDB4NDAsMHgyNCwweEZFLAotMHgzQiwweEM2LDB4NzQsMHgyNywweDJCLDB4RkUsMHg0RSwweDRFLDB4NTMsMHg4QiwweDVFLDB4MTAsMHgzQiwweEYzLDB4NzIsMHgxMywKLTB4MDMsMHgxRiwweDgzLDB4QzMsMHgwMywweDgwLDB4RTMsMHhGRSwweEM3LDB4MDcsMHgwMCwweDAwLDB4ODMsMHg2RSwweDc0LDB4MDIsCi0weDg5LDB4NUUsMHgxMCwweDVCLDB4ODksMHgzQywweDg5LDB4NzYsMHgwQywweEVCLDB4ODksMHg4OSwweDc2LDB4MEMsMHgzOSwweDc2LAotMHgxMCwweDc3LDB4ODEsMHg3MiwweDA4LDB4ODMsMHgzQywweDAwLDB4NzQsMHgwMywweEU5LDB4NzcsMHhGRiwweEU4LDB4MEQsMHhCRSwKLTB4RTksMHg2MiwweEZGLDB4MzYsMHg4OSwweDFFLDB4ODQsMHgxMiwweEIwLDB4MEMsMHhFOCwweEI1LDB4QzYsMHgzMywweEMwLDB4OEUsCi0weEQ4LDB4QzMsMHhBMSwweDg0LDB4MTIsMHgzRCwweDEwLDB4MDAsMHg3MiwweDc3LDB4QkEsMHgwNCwweDAxLDB4M0IsMHgwNiwweDg4LAotMHgxMiwweDc1LDB4MDYsMHhDNywweDA2LDB4N0UsMHgxMiwweDAwLDB4MDAsMHg4QiwweDBFLDB4REEsMHgxMiwweEUzLDB4MEIsMHhFOCwKLTB4RDAsMHhGRSwweDcyLDB4NTcsMHhDNywweDA2LDB4N0UsMHgxMiwweEZGLDB4N0YsMHg4QiwweDBFLDB4MjAsMHgxMywweEUzLDB4MEIsCi0weEU4LDB4QTUsMHhGRCwweDcyLDB4NDYsMHhDNywweDA2LDB4N0UsMHgxMiwweEZGLDB4N0YsMHg4QiwweDBFLDB4NjYsMHgxMywweEUzLAotMHgwQiwweEU4LDB4OTQsMHhGRSwweDcyLDB4MzUsMHhDNywweDA2LDB4N0UsMHgxMiwweEZGLDB4N0YsMHhBMSwweDI4LDB4MDEsMHhBOSwKLTB4MDEsMHgwMCwweDc1LDB4MDMsMHhFOCwweEY5LDB4RkUsMHg4MCwweDNFLDB4OEQsMHgxMiwweDAwLDB4NzUsMHgxRCwweEExLDB4ODQsCi0weDEyLDB4M0QsMHgyMCwweDAwLDB4NzYsMHgxNSwweDNCLDB4MDYsMHg4MiwweDEyLDB4NzYsMHgwOSwweEExLDB4N0UsMHgxMiwweDNCLAotMHgwNiwweDgwLDB4MTIsMHg3MiwweDBDLDB4ODAsMHgwRSwweDkwLDB4MTIsMHg4MCwweEMzLDB4QjAsMHg4MCwweEZGLDB4MTYsMHg3QywKLTB4MTIsMHhDMywweDgwLDB4MEUsMHg5MCwweDEyLDB4NDAsMHhDMywweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywweDEyLDB4MTcsCi0weDlDLDB4MEUsMHhFOCwweEI3LDB4QzgsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDIwLDB4OUMsMHgwRSwweEU4LAotMHhBQSwweEM4LDB4NkEsMHgwMCwweDFGLDB4QzYsMHgwNiwweDkzLDB4MTIsMHgxNiwweDlDLDB4MEUsMHhFOCwweDlELDB4QzgsMHg5MCwKLTB4QkEsMHgwNiwweDAxLDB4RUMsMHhBOCwweDIwLDB4NzUsMHhDQSwweEZCLDB4OTAsMHhGQSwweEJBLDB4MDQsMHgwMSwweEVELDB4OTAsCi0weDkwLDB4OTAsMHg5MCwweDkwLDB4M0EsMHgwNiwweDk0LDB4MTIsMHg3NywweEJFLDB4MzMsMHhEQiwweDhBLDB4RDgsMHhEMSwweEUzLAotMHgyRSwweDhCLDB4QUYsMHg0NCwweDAwLDB4QzQsMHg3RSwweDA4LDB4ODUsMHhGRiwweDc0LDB4QjksMHhGNiwweEM0LDB4QzAsMHg3NSwKLTB4NTUsMHgzMiwweEMwLDB4QzEsMHhFMCwweDAyLDB4ODAsMHhFNCwweEYwLDB4OEIsMHhGMCwweEVELDB4OTAsMHg5MCwweDkwLDB4OTAsCi0weDkwLDB4ODUsMHhDMCwweDc0LDB4QkIsMHg4QiwweEM4LDB4NDEsMHg4MCwweEUxLDB4RkUsMHgwQiwweEM2LDB4OEIsMHg1RSwweDUwLAotMHg0QiwweDRCLDB4MkIsMHhEOSwweDc4LDB4OUMsMHhBQiwweDhCLDB4QzEsMHg0MCwweDQwLDB4MDEsMHg0NiwweDRFLDB4RDEsMHhFOSwKLTB4RjMsMHg2RCwweDkwLDB4ODksMHg1RSwweDUwLDB4ODksMHg3RSwweDA4LDB4OEIsMHg0NiwweDI2LDB4ODAsMHhFNCwweEVGLDB4ODksCi0weDQ2LDB4MjYsMHhGNiwweEM0LDB4MDEsMHg3NSwweDBDLDB4RjcsMHg0NiwweDQ4LDB4MEMsMHgwMCwweDc1LDB4MDUsMHhCMCwweDAyLAotMHhFOCwweDdGLDB4QzUsMHhFOSwweDdBLDB4RkYsMHg4NiwweEM0LDB4OEIsMHhDOCwweDgzLDB4RTEsMHgzRiwweDQxLDB4ODAsMHhFMSwKLTB4RkUsMHhFMywweDBBLDB4M0MsMHg4MCwweDcyLDB4MDksMHgyNCwweDNGLDB4QjQsMHhGMCwweEVCLDB4QjAsMHhFOSwweDYwLDB4RkYsCi0weDI1LDB4M0YsMHgwMCwweDMzLDB4RkYsMHg4RSwweEM3LDB4QkYsMHg5NiwweDEyLDB4OEIsMHhGNywweEQxLDB4RTksMHhGMywweDZELAotMHg5MCwweDhCLDB4QzgsMHhFOCwweDQ4LDB4RUQsMHhFOSwweDQ3LDB4RkYsMHg5MCwweDZBLDB4MDAsMHgxRiwweEM2LDB4MDYsMHg5MywKLTB4MTIsMHgxQiwweDlDLDB4MEUsMHhFOCwweEQ1LDB4QzcsMHg5MCwweDYwLDB4MUUsMHgwNiwweDMzLDB4QzAsMHg4RSwweEQ4LDB4OEUsCi0weEMwLDB4QkEsMHgwNiwweDAxLDB4RUMsMHhBOCwweDA0LDB4NzQsMHhFMSwweEIwLDB4MDYsMHhFRSwweEVDLDB4QTIsMHg4QywweDEyLAotMHhBOCwweDQwLDB4NzQsMHgxMSwweEExLDB4ODgsMHgxMiwweEEzLDB4ODQsMHgxMiwweEM2LDB4MDYsMHg4RCwweDEyLDB4MDAsMHhFOCwKLTB4NjAsMHhGRSwweEEwLDB4OEMsMHgxMiwweEE4LDB4ODAsMHg3NCwweDAzLDB4RTgsMHgwNCwweEZGLDB4QjgsMHgwMCwweDgwLDB4QkEsCi0weDIyLDB4RkYsMHhFRiwweDA3LDB4MUYsMHg2MSwweENGLDB4OTAsMHg2QSwweDAwLDB4MUYsMHhDNiwweDA2LDB4OTMsMHgxMiwweDFCLAotMHg5QywweDBFLDB4RTgsMHg4NywweEM3LDB4OTAsMHg2MCwweDFFLDB4MDYsMHgzMywweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHhCQSwKLTB4MDYsMHgwMSwweEVDLDB4QTgsMHgwNCwweDc0LDB4RTEsMHhCQSwweDA4LDB4MDEsMHhFQywweEEyLDB4OEMsMHgxMiwweEE4LDB4NDAsCi0weDc0LDB4MTEsMHhBMSwweDg4LDB4MTIsMHhBMywweDg0LDB4MTIsMHhDNiwweDA2LDB4OEQsMHgxMiwweDAwLDB4RTgsMHgxMiwweEZFLAotMHhBMCwweDhDLDB4MTIsMHhBOCwweDgwLDB4NzQsMHgwMywweEU4LDB4QjYsMHhGRSwweEI4LDB4MDAsMHg4MCwweEJBLDB4MjIsMHhGRiwKLTB4RUYsMHgwNywweDFGLDB4NjEsMHhDRiwweDkwLDB4RUUsMHg4NiwweEUwLDB4RUUsMHg4NiwweEUwLDB4RUMsMHg4NiwweEUwLDB4RUMsCi0weDg2LDB4RTAsMHg4MCwweEUxLDB4RkUsMHhGMywweDZDLDB4OTAsMHg4MCwweEUxLDB4RkUsMHhGMywweDZFLDB4OTAsMHgwNSwweDAwLAotMHg3NSwweDQ3LDB4QTgsMHg0QiwweDA1LDB4MDAsMHg3NSwweDQ4LDB4QTgsMHg0QiwweDA1LDB4MDAsMHhBMywweDQ4LDB4QTgsMHg0QiwKLTB4MDUsMHgwMCwweDM1LDB4NDksMHhBOCwweDRCLDB4MDYsMHgwMCwweDk4LDB4NDgsMHg5NiwweDRCLDB4MDYsMHgwMCwweEJBLDB4NDgsCi0weDk2LDB4NEIsMHgwNiwweDAwLDB4QzMsMHg0OCwweDk2LDB4NEIsMHgwNiwweDAwLDB4Q0IsMHg0OCwweDk2LDB4NEIsMHgwNiwweDAwLAotMHgyMCwweDQ5LDB4OTYsMHg0QiwweDA2LDB4MDAsMHgyOCwweDQ5LDB4OTYsMHg0QiwweDA2LDB4MDAsMHg0RSwweDRBLDB4OUMsMHg0QiwKLTB4MDYsMHgwMCwweDdCLDB4NEEsMHg5QywweDRCLDB4MDUsMHgwMCwweDlFLDB4NEEsMHhBMiwweDRCLDB4MDUsMHgwMCwweEVDLDB4NEEsCi0weEEyLDB4NEIsMHgwMCwweDAwLDB4MUUsMHgwNiwweDgzLDB4M0UsMHg0NCwweDEyLDB4MDAsMHg3NCwweDA5LDB4QTAsMHgwNiwweDAxLAotMHgyNCwweDMwLDB4M0MsMHgzMCwweDc0LDB4MUEsMHg4QywweEM4LDB4OEUsMHhEOCwweDhFLDB4QzAsMHhCQiwweEFFLDB4NEIsMHg4QiwKLTB4MEYsMHhFMywweDBELDB4OEIsMHg3RiwweDAyLDB4OEIsMHg3NywweDA0LDB4RjMsMHhBNCwweDgzLDB4QzMsMHgwNiwweEVCLDB4RUYsCi0weDA3LDB4MUYsMHhDMywweDkwLDB4MzMsMHhDMCwweEEzLDB4M0UsMHgwMSwweEI5LDB4MEMsMHgwMSwweEJFLDB4NDAsMHgwMSwweDhCLAotMHhGRSwweDgxLDB4QzYsMHhCNCwweDBGLDB4ODksMHgwNCwweDhCLDB4QzYsMHgyQiwweEYxLDB4M0IsMHhDNywweDc3LDB4RjYsMHhBMywKLTB4M0MsMHgwMSwweEMzLDB4OTAsMHgxRSwweDA2LDB4NjAsMHgzNiwweDhCLDB4MkUsMHgzRSwweDAxLDB4OEIsMHg1RSwweDAwLDB4M0IsCi0weEVCLDB4NzQsMHgyQiwweDhCLDB4NzYsMHgwMiwweDg5LDB4MUMsMHg4OSwweDc3LDB4MDIsMHgzNiwweEExLDB4M0MsMHgwMSwweDg5LAotMHg0NiwweDAwLDB4MzYsMHg4OSwweDJFLDB4M0MsMHgwMSwweDhCLDB4RUIsMHhGRiwweDRFLDB4MDYsMHg3NCwweDA4LDB4OEIsMHg2RSwKLTB4MDAsMHhGRiwweDRFLDB4MDYsMHg3NSwweEY4LDB4MzYsMHg4OSwweDJFLDB4M0UsMHgwMSwweDhCLDB4NjYsMHgwNCwweDYxLDB4MDcsCi0weDFGLDB4QzMsMHgxRSwweDA2LDB4NjAsMHgzNiwweDhCLDB4MkUsMHgzRSwweDAxLDB4OTgsMHg4OSwweDQ2LDB4MDYsMHg4OSwweDY2LAotMHgwNCwweDNCLDB4NkUsMHgwMCwweDc0LDB4MTAsMHg4QiwweDZFLDB4MDAsMHhGRiwweDRFLDB4MDYsMHg3NSwweEY4LDB4MzYsMHg4OSwKLTB4MkUsMHgzRSwweDAxLDB4OEIsMHg2NiwweDA0LDB4NjEsMHgwNywweDFGLDB4QzMsMHhDMywweDkwLDB4MUUsMHgwNiwweDYwLDB4OUMsCi0weEZBLDB4MzMsMHhFRCwweDhFLDB4REQsMHg4QiwweDJFLDB4M0MsMHgwMSwweDg1LDB4RUQsMHg3NCwweDNELDB4OEIsMHg0RSwweDAwLAotMHg4OSwweDBFLDB4M0MsMHgwMSwweDhCLDB4Q0MsMHg4RCwweEE2LDB4MEEsMHgwMSwweDU2LDB4MUUsMHgwNiwweDYwLDB4ODksMHg2NiwKLTB4MDQsMHhDNywweDQ2LDB4MDgsMHgwRiwweDFBLDB4QzcsMHg0NiwweDA2LDB4MDEsMHgwMCwweDhCLDB4MUUsMHgzRSwweDAxLDB4ODUsCi0weERCLDB4NzQsMHgxRCwweDhCLDB4QzUsMHg4NywweDA3LDB4ODksMHg0NiwweDAwLDB4ODksMHg1RSwweDAyLDB4OEIsMHhEOCwweDg5LAotMHg2RiwweDAyLDB4OEIsMHhFMSwweDlELDB4NjEsMHgwNywweDFGLDB4RjgsMHhDMywweDlELDB4NjEsMHgwNywweDFGLDB4RjksMHhDMywKLTB4ODksMHgyRSwweDNFLDB4MDEsMHg4OSwweDZFLDB4MDAsMHg4OSwweDZFLDB4MDIsMHg4NywweEUxLDB4OUQsMHg4QiwweEUxLDB4RUIsCi0weEU0LDB4MDAsMHgwRCwweDBBLDB4NTQsMHg2NSwweDcyLDB4NkQsMHg2OSwweDZFLDB4NjEsMHg2QywweDczLDB4MjAsMHg3MywweDc1LAotMHg3MCwweDcwLDB4NkYsMHg3MiwweDc0LDB4NjUsMHg2NCwweDNBLDB4MEQsMHgwQSwweDMxLDB4MjksMHgyMCwweDQxLDB4NEUsMHg1MywKLTB4NDksMHgyMCwweDYzLDB4NkYsMHg2RCwweDcwLDB4NjEsMHg3NCwweDY5LDB4NjIsMHg2QywweDY1LDB4MEQsMHgwQSwweDMyLDB4MjksCi0weDIwLDB4NTcsMHg3OSwweDczLDB4NjUsMHgyMCwweDMzLDB4MzAsMHgwRCwweDBBLDB4NTAsMHg2QywweDY1LDB4NjEsMHg3MywweDY1LAotMHgyMCwweDczLDB4NjUsMHg2QywweDY1LDB4NjMsMHg3NCwweDNBLDB4MjAsMHgwMCwweDBELDB4MEEsMHg2MywweDZGLDB4NjQsMHg2NSwKLTB4MjAsMHg3MywweDY1LDB4NjcsMHg2RCwweDY1LDB4NkUsMHg3NCwweDNELDB4MDAsMHgwRCwweDBBLDB4NEQsMHg2RiwweDZFLDB4NjksCi0weDc0LDB4NkYsMHg3MiwweDIwLDB4NzYsMHgzMiwweDJFLDB4MzUsMHgwQSwweDBELDB4MEEsMHgzRSwweDAwLDB4MEQsMHgwQSwweDUwLAotMHg2MSwweDcyLDB4NjQsMHg2RiwweDZFLDB4M0YsMHgwMCwweDBELDB4MEEsMHg0RSwweDZGLDB4MjAsMHg2MSwweDY0LDB4NjQsMHg3MiwKLTB4NjUsMHg3MywweDczLDB4MjAsMHg3MywweDcwLDB4NjUsMHg2MywweDY5LDB4NjYsMHg2OSwweDY1LDB4NjQsMHgwMCwweDBELDB4MEEsCi0weDNBLDB4MDAsMHgwRCwweDBBLDB4MDAsMHg0QywweDZGLDB4NjMsMHgzRCwweDAwLDB4MEQsMHgwQSwweDQ2LDB4NDEsMHg1NCwweDQxLAotMHg0QywweDIwLDB4NDUsMHg1MiwweDUyLDB4NEYsMHg1MiwweDNELDB4MDAsMHgwRCwweDBBLDB4NEQsMHg2RiwweDZFLDB4NjksMHg3NCwKLTB4NkYsMHg3MiwweDIwLDB4NjMsMHg2RiwweDZELDB4NkQsMHg2MSwweDZFLDB4NjQsMHg3MywweDNBLDB4MkQsMHgwRCwweDBBLDB4MjAsCi0weDIwLDB4MjAsMHg0NCwweDJDLDB4NjQsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELDB4NzgsMHg3OCwweDc4LAotMHg3OCwweDVELDB4MjAsMHgyRCwweDIwLDB4NjQsMHg3NSwweDZELDB4NzAsMHgyMCwweDZELDB4NjUsMHg2RCwweDZGLDB4NzIsMHg3OSwKLTB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDRDLDB4MkMsMHg2QywweDVCLDB4NUIsMHg3OCwweDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsCi0weDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDJELDB4MjAsMHg2NCwweDc1LDB4NkQsMHg3MCwweDIwLDB4NzMsMHg2OSwweDZFLAotMHg2NywweDZDLDB4NjUsMHgyMCwweDZDLDB4NjksMHg2RSwweDY1LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDQ1LDB4MkMsMHg2NSwKLTB4NUIsMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LDB4M0EsMHg1RCwweDc4LDB4NzgsMHg3OCwweDc4LDB4NUQsMHgyMCwweDJELDB4MjAsCi0weDY1LDB4NjQsMHg2OSwweDc0LDB4MjAsMHg2RCwweDY1LDB4NkQsMHg2RiwweDcyLDB4NzksMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLAotMHg0NiwweDJDLDB4NjYsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDVELDB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwKLTB4MjAsMHgyRCwweDIwLDB4NjYsMHg2OSwweDZDLDB4NkMsMHgyMCwweDZELDB4NjUsMHg2RCwweDZGLDB4NzIsMHg3OSwweDIwLDB4NzAsCi0weDYxLDB4NzIsMHg2MSwweDY3LDB4NzIsMHg2MSwweDcwLDB4NjgsMHg3MywweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0OSwweDVCLAotMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwKLTB4MjAsMHg3NywweDZGLDB4NzIsMHg2NCwweDIwLDB4NjksMHg2RSwweDcwLDB4NzUsMHg3NCwweDIwLDB4NjYsMHg3MiwweDZGLDB4NkQsCi0weDIwLDB4NzAsMHg2RiwweDcyLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NjksMHg1QiwweDc4LDB4NzgsMHg3OCwweDc4LAotMHg1RCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDYyLDB4NzksMHg3NCwKLTB4NjUsMHgyMCwweDY5LDB4NkUsMHg3MCwweDc1LDB4NzQsMHgyMCwweDY2LDB4NzIsMHg2RiwweDZELDB4MjAsMHg3MCwweDZGLDB4NzIsCi0weDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwweDRGLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDc4LDB4NzgsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2RiwweDc1LDB4NzQsMHg3MCwweDc1LDB4NzQsMHgyMCwKLTB4NzcsMHg2RiwweDcyLDB4NjQsMHgyMCwweDc0LDB4NkYsMHgyMCwweDcwLDB4NkYsMHg3MiwweDc0LDB4MEQsMHgwQSwweDIwLDB4MjAsCi0weDIwLDB4NkYsMHg3OCwweDc4LDB4NzgsMHg3OCwweDIwLDB4NzgsMHg3OCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MkQsMHgyMCwweDZGLDB4NzUsMHg3NCwweDcwLDB4NzUsMHg3NCwweDIwLDB4NjIsMHg3OSwweDc0LDB4NjUsMHgyMCwKLTB4NzQsMHg2RiwweDIwLDB4NzAsMHg2RiwweDcyLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NDcsMHg1QiwweDVCLDB4NzgsCi0weDc4LDB4NzgsMHg3OCwweDNBLDB4NUQsMHg3OCwweDc4LDB4NzgsMHg3OCwweDVELDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY3LAotMHg2RiwweDc0LDB4NkYsMHgyMCwweDYxLDB4NjQsMHg2NCwweDcyLDB4NjUsMHg3MywweDczLDB4MEQsMHgwQSwweDIwLDB4MjAsMHgyMCwKLTB4NTcsMHg1QiwweDVCLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgzQSwweDVELDB4NzgsMHg3OCwweDc4LDB4NzgsMHg1RCwweDIwLDB4MjAsCi0weDIwLDB4MkQsMHgyMCwweDc3LDB4NjEsMHg3NCwweDYzLDB4NjgsMHgyMCwweDYxLDB4MjAsMHg3NywweDZGLDB4NzIsMHg2NCwweDBELAotMHgwQSwweDIwLDB4MjAsMHgyMCwweDQzLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2OSwweDZFLDB4NzQsMHg2NSwweDcyLDB4NzIsMHg3NSwweDcwLDB4NzQsCi0weDczLDB4MjAsMHg2RiwweDY2LDB4NjYsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NTMsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY5LDB4NkUsMHg3NCwKLTB4NjUsMHg3MiwweDcyLDB4NzUsMHg3MCwweDc0LDB4NzMsMHgyMCwweDZGLDB4NkUsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NzMsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyRCwweDIwLDB4NzMsMHg2OSwweDZFLDB4NjcsMHg2QywweDY1LDB4MjAsMHg3MywweDc0LDB4NjUsMHg3MCwweDBELDB4MEEsMHgyMCwKLTB4MjAsMHgyMCwweDQyLDB4NzgsMHg3OCwweDc4LDB4NzgsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDJELDB4MjAsMHg2MiwweDcyLDB4NjUsMHg2MSwweDZCLDB4NzAsMHg2RiwweDY5LDB4NkUsMHg3NCwweDIwLAotMHg3MywweDY1LDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NjIsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDYyLDB4NzIsMHg2NSwweDYxLDB4NkIsCi0weDcwLDB4NkYsMHg2OSwweDZFLDB4NzQsMHgyMCwweDYzLDB4NkMsMHg2NSwweDYxLDB4NzIsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLAotMHg1MiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyRCwweDIwLDB4NzIsMHg2NSwweDczLDB4NzQsMHg2MSwweDcyLDB4NzQsMHgyMCwweDYyLDB4NzIsMHg2NSwweDYxLDB4NkIsCi0weDcwLDB4NkYsMHg2OSwweDZFLDB4NzQsMHgwRCwweDBBLDB4MjAsMHgyMCwweDIwLDB4NzIsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDcyLDB4NjUsMHg2NywKLTB4NjksMHg3MywweDc0LDB4NjUsMHg3MiwweDczLDB4MjAsMHg2MSwweDc0LDB4MjAsMHg2MiwweDcyLDB4NkIsMHg3MCwweDc0LDB4MEQsCi0weDBBLDB4MjAsMHgyMCwweDIwLDB4NTgsMHgyQywweDc4LDB4MjAsMHg2RSwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MkQsMHgyMCwweDY1LDB4NzgsMHg2MSwweDZELDB4NjksMHg2RSwweDY1LDB4MjAsMHg2MywKLTB4NjgsMHg2MSwweDZFLDB4NkUsMHg2NSwweDZDLDB4MjAsMHg2RSwweDBELDB4MEEsMHgyMCwweDIwLDB4MjAsMHg0OCwweDJDLDB4M0YsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyRCwweDIwLAotMHg3NCwweDY4LDB4NjksMHg3MywweDIwLDB4NkQsMHg2NSwweDczLDB4NzMsMHg2MSwweDY3LDB4NjUsMHgwMCwweDFCLDB4NUIsMHgzMiwKLTB4NEEsMHgxQiwweDVCLDB4MzEsMHgzQiwweDMxLDB4NDgsMHg0MSwweDRFLDB4NTMsMHg0OSwweDIwLDB4NTQsMHg2NSwweDcyLDB4NkQsCi0weDY5LDB4NkUsMHg2MSwweDZDLDB4MEQsMHgwQSwweDBBLDB4MDAsMHgxQiwweDVCLDB4NEIsMHgwMCwweDFCLDB4NUIsMHg0QSwweDAwLAotMHgxQiwweDVCLDB4MzIsMHg0QSwweDFCLDB4NUIsMHgzMSwweDNCLDB4MzEsMHg0OCwweDAwLDB4MUIsMHg1QiwweDQ0LDB4MjAsMHgxQiwKLTB4NUIsMHg0NCwweDAwLDB4MUIsMHg1QiwweDMxLDB4M0IsMHgzNywweDMyLDB4NDgsMHgwMCwweDFCLDB4NUIsMHgwMCwweDNCLDB4MDAsCi0weDQ4LDB4MDAsMHgxQiwweDVCLDB4NzMsMHgwMCwweDFCLDB4NUIsMHg3NSwweDAwLDB4MUIsMHg3QSwweDJCLDB4MEIsMHg3RiwweDFCLAotMHg3QSwweDJFLDB4MEMsMHg3RiwweDFCLDB4N0EsMHgyRCwweDA4LDB4N0YsMHgxQiwweDdBLDB4MkMsMHgwQSwweDdGLDB4MUIsMHg3QSwKLTB4MjIsMHgwOCwweDdGLDB4MUEsMHg1NywweDc5LDB4NzMsMHg2NSwweDIwLDB4MzMsMHgzMCwweDIwLDB4NTQsMHg2NSwweDcyLDB4NkQsCi0weDY5LDB4NkUsMHg2MSwweDZDLDB4MEQsMHgwQSwweDAwLDB4MUIsMHg1NCwweDAwLDB4MUIsMHg1OSwweDAwLDB4MUEsMHgwMCwweDFFLAotMHgwMCwweDA4LDB4MjAsMHgwOCwweDAwLDB4MDAsMHgxQiwweDNELDB4MDAsMHgwMCwweDAwLDB4MUIsMHg0NiwweDAwLDB4MEQsMHgwMCwKLTB4M0YsMHg0NCwweDY0LDB4NDUsMHg2NSwweDQ2LDB4NjYsMHg0NywweDY3LDB4NDgsMHg2OCwweDQ5LDB4NjksMHg0RiwweDZGLDB4NDMsCi0weDYzLDB4NTMsMHg3MywweDQyLDB4NjIsMHg1MiwweDcyLDB4NTcsMHg3NywweDU4LDB4NzgsMHg0QywweDZDLDB4M0MsMHg2MCwweEQ0LAotMHg1NywweEQ0LDB4NTcsMHg1MCwweDU4LDB4NTAsMHg1OCwweEQ2LDB4NTksMHhENiwweDU5LDB4QjQsMHg1OSwweEI0LDB4NTksMHgzQywKLTB4NjAsMHgzQywweDYwLDB4NkMsMHg1NywweDQ4LDB4NTcsMHgyNiwweDU3LDB4MDYsMHg1NywweDkwLDB4NTcsMHg5MCwweDU3LDB4OTgsCi0weDU3LDB4NDgsMHg1RiwweDBDLDB4NUYsMHg1OCwweDVGLDB4MzMsMHg1RiwweDQwLDB4NUYsMHhBMCwweDU3LDB4QTAsMHg1NywweEZFLAotMHg1OSwweEZFLDB4NTksMHhEQywweDU3LDB4REMsMHg1NywweDg4LDB4NjEsMHg5OCwweDYxLDB4QzAsMHg2MSwweENDLDB4NjEsMHhEOCwKLTB4NjEsMHhGNiwweDYxLDB4MDIsMHg2MiwweDIyLDB4NjIsMHhGOCwweDU2LDB4NEEsMHg2MiwweDU4LDB4NjIsMHg2MCwweDU5LDB4MjAsCi0weDIwLDB4NjYsMHg2QywweDYxLDB4NjcsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjEsMHg3OCwweDNELDB4MDAsMHgyMCwweDIwLAotMHg2MiwweDc4LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDc4LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2NCwweDc4LDB4M0QsMHgwMCwKLTB4MjAsMHgyMCwweDYzLDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDY0LDB4NzMsMHgzRCwweDAwLDB4MjAsMHgyMCwweDY1LDB4NzMsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NzMsMHg3MywweDNELDB4MDAsMHgyMCwweDIwLDB4NjQsMHg2OSwweDNELDB4MDAsMHgyMCwweDIwLAotMHg3MywweDY5LDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MiwweDcwLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg3MywweDcwLDB4M0QsMHgwMCwKLTB4MjAsMHgyMCwweDY5LDB4NzAsMHgzRCwweDAwLDB4MjAsMHg2MywweDY4LDB4NjEsMHg2RSwweDY1LDB4NkMsMHgzRCwweDAwLDB4MjAsCi0weDIwLDB4MjAsMHgyMCwweDczLDB4NjUsMHg2NywweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDczLDB4NzQsMHg3MiwweDNELAotMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NzQsMHg2RiwweDczLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NkQsMHg2MSwKLTB4NzgsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY5LDB4NUYsCi0weDczLDB4NjksMHg3QSwweDNELDB4MDAsMHgyMCwweDc0LDB4NjksMHg1RiwweDczLDB4NzQsMHg2NiwweDNELDB4MDAsMHgyMCwweDc0LAotMHg2OSwweDVGLDB4NzIsMHg2RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OSwweDVGLDB4NjYsMHg2QywweDY3LDB4M0QsMHgwMCwKLTB4MjAsMHg3NCwweDY5LDB4NUYsMHg3NCwweDZGLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MCwweDYzLDB4NkUsCi0weDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDczLDB4NzQsMHg3MiwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDczLAotMHg3NCwweDY2LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzIsMHg2RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwKLTB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3MywweDY5LDB4N0EsMHgzRCwweDAwLDB4MjAsCi0weDcyLDB4NjksMHg1RiwweDc0LDB4NkYsMHg3NCwweDNELDB4MDAsMHgyMCwweDcyLDB4NjksMHg1RiwweDZELDB4NjksMHg2RSwweDNELAotMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NjYsMHg2QywweDY3LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NzQsMHg2RiwKLTB4NzMsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY5LDB4NUYsMHg3NCwweDY4LDB4NzIsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsCi0weDczLDB4NzQsMHg2NiwweDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwweDczLDB4NzQsMHg3MiwweDNELDB4MDAsMHgyMCwweDc0LAotMHg2OCwweDVGLDB4NjIsMHg2MSwweDczLDB4M0QsMHgwMCwweDIwLDB4NzQsMHg2OCwweDVGLDB4NzMsMHg2OSwweDdBLDB4M0QsMHgwMCwKLTB4MjAsMHg3NCwweDY4LDB4NUYsMHg3NCwweDcyLDB4NjcsMHgzRCwweDAwLDB4MjAsMHg3NCwweDY4LDB4NUYsMHg2NiwweDZDLDB4NjcsCi0weDNELDB4MDAsMHgyMCwweDc0LDB4NjgsMHg1RiwweDYzLDB4NkUsMHg3NCwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDczLAotMHg3NCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NzMsMHg3NCwweDY2LDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwKLTB4NUYsMHg2MiwweDYxLDB4NzMsMHgzRCwweDAwLDB4MjAsMHg3MiwweDY4LDB4NUYsMHg3MywweDY5LDB4N0EsMHgzRCwweDAwLDB4MjAsCi0weDcyLDB4NjgsMHg1RiwweDczLDB4NzAsMHg2MSwweDNELDB4MDAsMHgyMCwweDcyLDB4NjgsMHg1RiwweDYxLDB4NzMsMHg2RiwweDNELAotMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NzIsMHg2RiwweDZGLDB4M0QsMHgwMCwweDIwLDB4NzIsMHg2OCwweDVGLDB4NjYsMHg2QywKLTB4NjcsMHgzRCwweDAwLDB4MjAsMHg2RCwweDVGLDB4NjMsMHg2MSwweDcyLDB4NjUsMHgzRCwweDAwLDB4MjAsMHg3MCwweDc0LDB4NUYsCi0weDY2LDB4NkMsMHg2RiwweDNELDB4MDAsMHgyMCwweDYxLDB4NzMsMHg1RiwweDY2LDB4NkMsMHg2RiwweDNELDB4MDAsMHgyMCwweDcyLAotMHg2RCwweDVGLDB4NjYsMHg2QywweDZGLDB4M0QsMHgwMCwweDIwLDB4MjAsMHgyMCwweDcxLDB4NUYsMHg2OSwweDZFLDB4M0QsMHgwMCwKLTB4MjAsMHgyMCwweDcxLDB4NUYsMHg2RiwweDc1LDB4NzQsMHgzRCwweDAwLDB4MjAsMHg3MSwweDVGLDB4NjQsMHg3MiwweDYxLDB4NkUsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NzEsMHg1RiwweDc0LDB4NjksMHg2RCwweDNELDB4MDAsMHgyMCwweDIwLDB4MjAsMHg3MSwweDVGLAotMHg2NiwweDYzLDB4M0QsMHgwMCwweDIwLDB4NzEsMHg1RiwweDczLDB4NzQsMHg2MSwweDc0LDB4M0QsMHgwMCwweDIwLDB4NzEsMHg1RiwKLTB4NjQsMHg2MSwweDc0LDB4NjEsMHgzRCwweDAwLDB4MjAsMHg3MSwweDVGLDB4NkQsMHg2RiwweDY0LDB4NkQsMHgzRCwweDAwLDB4MjAsCi0weDY4LDB4NjEsMHg2RSwweDY0LDB4NUYsMHg2RiwweDNELDB4MDAsMHgyMCwweDY4LDB4NjEsMHg2RSwweDY0LDB4NUYsMHg2MiwweDNELAotMHgwMCwweDIwLDB4NjgsMHg2MSwweDZFLDB4NjQsMHg1RiwweDY1LDB4M0QsMHgwMCwweDIwLDB4NjgsMHg2MSwweDZFLDB4NjQsMHg1RiwKLTB4NjksMHgzRCwweDAwLDB4MjAsMHgyMCwweDZGLDB4NzAsMHg2RiwweDczLDB4NzQsMHgzRCwweDAwLDB4MjAsMHgyMCwweDc0LDB4NjksCi0weDZELDB4NjUsMHg2RiwweDNELDB4MDAsMHgyMCwweDYzLDB4NzUsMHg3MywweDc0LDB4NkQsMHgzMSwweDNELDB4MDAsMHgyMCwweDYzLAotMHg3NSwweDczLDB4NzQsMHg2RCwweDMyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg3NSwweDczLDB4NzQsMHg2RCwweDY0LDB4M0QsMHgwMCwKLTB4MjAsMHg3NCwweDc4LDB4NzIsMHg2MSwweDc0LDB4NjUsMHgzRCwweDAwLDB4MjAsMHg3MiwweDc4LDB4NzIsMHg2MSwweDc0LDB4NjUsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDZELDB4NjEsMHg3MCwweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2MSwweDY0LAotMHg2NCwweDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDYxLDB4NjksMHg3MywweDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwKLTB4NzgsMHg3NCwweDYxLDB4NjcsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjQsMHg2NSwweDY2LDB4NzIsMHgzRCwweDAwLDB4MjAsCi0weDYzLDB4NUYsMHg2NiwweDZDLDB4NzMsMHg2OCwweDNELDB4MDAsMHgyMCwweDc0LDB4NzgsMHg2RCwweDYxLDB4NzgsMHg3MywweDNELAotMHgwMCwweDIwLDB4NzIsMHg2OSwweDVGLDB4NjUsMHg2RCwweDczLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NkMsMHg3MywKLTB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsMHg2OSwweDY1LDB4NzIsMHgzRCwweDAwLDB4MjAsMHgyMCwweDYzLDB4NUYsCi0weDY2LDB4NjMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDZELDB4NjMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLAotMHg2MywweDVGLDB4NkMsMHg2MywweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjQsMHg3MywweDczLDB4M0QsMHgwMCwKLTB4MjAsMHg2MywweDVGLDB4NjQsMHg3MywweDczLDB4NjksMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjQsMHg3MywweDczLDB4NzIsCi0weDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDY5LDB4NzMsMHg3MiwweDNELDB4MDAsMHgyMCwweDIwLDB4NjMsMHg1RiwweDYzLAotMHg2MSwweDcyLDB4M0QsMHgwMCwweDIwLDB4MjAsMHg2MywweDVGLDB4NjUsMHg2NiwweDcyLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwKLTB4NjUsMHg3MiwweDczLDB4NzQsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NjUsMHg2MywweDZFLDB4NzQsMHgzRCwweDAwLDB4MjAsCi0weDYzLDB4NUYsMHg2MiwweDcyLDB4NkIsMHg2MywweDNELDB4MDAsMHgyMCwweDYzLDB4NUYsMHg2MiwweDZGLDB4NkIsMHg2MywweDNELAotMHgwMCwweDIwLDB4NjMsMHg1RiwweDcyLDB4NjUsMHg3MCwweDZDLDB4M0QsMHgwMCwweDIwLDB4NjMsMHg1RiwweDYzLDB4NjMsMHg3MywKLTB4NzIsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NzMsMHg3NCwweDc0LDB4MzEsMHgzRCwweDAwLDB4MjAsMHg2MywweDVGLDB4NzMsCi0weDc0LDB4NzQsMHgzMiwweDNELDB4MDAsMHgyQiwweEMwLDB4OEUsMHhEOCwweDhFLDB4QzAsMHhFOCwweEMyLDB4MDAsMHhFOCwweEU1LAotMHgwMCwweEZBLDB4QkYsMHg4NCwweDAwLDB4QzcsMHgwNSwweERDLDB4NTYsMHg4QywweDRELDB4MDIsMHhCRiwweDBDLDB4MDAsMHhDNywKLTB4MDUsMHg2RSwweDVFLDB4OEMsMHg0RCwweDAyLDB4QkYsMHgwNCwweDAwLDB4QzcsMHgwNSwweEJBLDB4NUUsMHg4QywweDRELDB4MDIsCi0weEU4LDB4RjEsMHgwMCwweDkwLDB4RTgsMHg0OSwweDAxLDB4RTgsMHgxNiwweDAwLDB4RjQsMHg5MCwweEU4LDB4RTUsMHgwMCwweEJFLAotMHhCQSwweDRELDB4RTgsMHgwOSwweDBDLDB4QTAsMHg5MywweDEyLDB4RTgsMHg1RCwweDBDLDB4RTgsMHhDMiwweDA5LDB4RUIsMHhFNCwKLTB4RTgsMHhENSwweDBDLDB4RTgsMHhDNCwweDBDLDB4MEEsMHhDMCwweDc0LDB4RjYsMHg4QiwweDFFLDB4RjgsMHg3OSwweDNDLDB4MEQsCi0weDc0LDB4MkUsMHgzQywweDA4LDB4NzQsMHgxNywweDNDLDB4N0YsMHg3NCwweDEzLDB4ODMsMHhGQiwweDIwLDB4N0YsMHhFMSwweDg4LAotMHg4NywweEQ2LDB4NzksMHg0MywweDg5LDB4MUUsMHhGOCwweDc5LDB4RTgsMHg3NywweDBDLDB4RUIsMHhEMywweDBCLDB4REIsMHg3NCwKLTB4Q0YsMHg0QiwweDg5LDB4MUUsMHhGOCwweDc5LDB4OEIsMHgzNiwweDE2LDB4N0EsMHhFOCwweEMxLDB4MEIsMHhFQiwweEMxLDB4OTAsCi0weEU4LDB4MDIsMHgwMCwweEVCLDB4QkIsMHhDNiwweDg3LDB4RDYsMHg3OSwweDAwLDB4MEIsMHhEQiwweDc0LDB4MUUsMHhBMCwweEQ2LAotMHg3OSwweEJGLDB4NjAsMHg1MSwweEI5LDB4MUQsMHgwMCwweDhCLDB4RDksMHgwNiwweDBFLDB4MDcsMHhGMiwweEFFLDB4MDcsMHg3NSwKLTB4MTcsMHg0MSwweDJCLDB4RDksMHhEMSwweEUzLDB4MkUsMHhGRiwweDk3LDB4N0QsMHg1MSwweDkwLDB4MzMsMHhDMCwweEEzLDB4RjgsCi0weDc5LDB4QkUsMHg4OSwweDRELDB4RTgsMHg4NywweDBCLDB4QzMsMHhCRSwweDhELDB4NEQsMHhFOCwweDgwLDB4MEIsMHhFQiwweEVDLAotMHhCQSwweDAwLDB4MDIsMHhCMCwweDkzLDB4RUUsMHhCMCwweDU1LDB4RUUsMHhCQSwweDEwLDB4MDIsMHhCMCwweDkzLDB4RUUsMHhCMCwKLTB4QUEsMHhFRSwweEJBLDB4MDAsMHgwMiwweEVDLDB4M0MsMHg1NSwweDc1LDB4MDgsMHhCQSwweDEwLDB4MDIsMHhFQywweDNDLDB4QUEsCi0weDc0LDB4MDMsMHhFOCwweDJGLDB4RjYsMHhDMywweEJBLDB4MDQsMHgwMiwweEIwLDB4MUEsMHhFRSwweEIwLDB4MjAsMHhFRSwweEIwLAotMHgzMCwweEVFLDB4QjAsMHg0MCwweEVFLDB4QjAsMHg4MCwweEVFLDB4QkEsMHgwMCwweDAyLDB4QjAsMHgxMywweEVFLDB4QjAsMHgwNywKLTB4RUUsMHhCQSwweDA4LDB4MDIsMHhCMCwweDgwLDB4RUUsMHhCQSwweDAyLDB4MDIsMHhCMCwweEJCLDB4RUUsMHhCQSwweDA0LDB4MDIsCi0weEIwLDB4MDUsMHhFRSwweEMzLDB4QzYsMHgwNiwweENBLDB4MTMsMHgwMSwweEM3LDB4MDYsMHhGOCwweDc5LDB4MDAsMHgwMCwweEM2LAotMHgwNiwweEY2LDB4NzksMHgwMSwweEM3LDB4MDYsMHhEMCwweDc5LDB4MDAsMHgwMCwweEM3LDB4MDYsMHhEMiwweDc5LDB4MDAsMHgwMCwKLTB4QzcsMHgwNiwweEQ0LDB4NzksMHgwMCwweDAwLDB4QzcsMHgwNiwweEZBLDB4NzksMHgwMCwweDAwLDB4QzcsMHgwNiwweEZDLDB4NzksCi0weDAwLDB4MDAsMHhDNywweDA2LDB4RkUsMHg3OSwweDAwLDB4MDAsMHhDNywweDA2LDB4MDAsMHg3QSwweDAwLDB4MDAsMHhDNywweDA2LAotMHgwMiwweDdBLDB4Q0UsMHg1OSwweDhDLDB4MEUsMHgwNCwweDdBLDB4QzcsMHgwNiwweDA2LDB4N0EsMHgwMCwweDAwLDB4QzcsMHgwNiwKLTB4MjcsMHg3QSwweDAwLDB4MDAsMHhDNiwweDA2LDB4MjksMHg3QSwweDAwLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweEMzLDB4OTAsCi0weEJFLDB4MjIsMHg0RCwweEU4LDB4QzgsMHgwQSwweEU4LDB4M0YsMHgwMCwweDJDLDB4MzEsMHgzQywweDAxLDB4NzcsMHhGNywweEU4LAotMHg4MSwweDA5LDB4OEIsMHgzNiwweDBDLDB4N0EsMHhFOCwweEI1LDB4MEEsMHhCRSwweDZBLDB4NEQsMHhFOCwweEFGLDB4MEEsMHgwRSwKLTB4NTgsMHhFOCwweEY4LDB4MEEsMHhCRSwweDdBLDB4NEQsMHhFOCwweEE0LDB4MEEsMHhDMywweDkwLDB4NjAsMHhEMSwweEUzLDB4ODMsCi0weEZCLDB4MTgsMHg3MywweDExLDB4MUUsMHhCQSwweDAwLDB4MDAsMHg4RSwweERBLDB4MkUsMHhGRiwweDk3LDB4QjcsMHg1MSwweDhCLAotMHhFQywweDg5LDB4NDYsMHgxMCwweDFGLDB4NjEsMHhDRiwweDkwLDB4RTgsMHg0RiwweDBCLDB4MEEsMHhDMCwweDc1LDB4MDUsMHhFOCwKLTB4NTYsMHgwQiwweEVCLDB4RjQsMHhDMywweDkwLDB4ODMsMHgzRSwweEY4LDB4NzksMHgwMSwweDc0LDB4MTYsMHhCRSwweEQ3LDB4NzksCi0weEU4LDB4MzEsMHgwQSwweDhCLDB4RDAsMHhBQywweDNDLDB4MkMsMHg3NCwweDA0LDB4M0MsMHgyMCwweDc1LDB4MDUsMHhFOCwweDIzLAotMHgwQSwweEVFLDB4QzMsMHhFOSwweEQyLDB4RkUsMHg4MywweDNFLDB4RjgsMHg3OSwweDAxLDB4NzQsMHhGNiwweEJFLDB4RDcsMHg3OSwKLTB4RTgsMHgxMSwweDBBLDB4OEIsMHhEMCwweEFDLDB4M0MsMHgyQywweDc0LDB4MDgsMHgzQywweDIwLDB4NzQsMHgwNCwweEU5LDB4QjcsCi0weEZFLDB4OTAsMHhFOCwweEZGLDB4MDksMHhFRiwweEMzLDB4OTAsMHg4QiwweDE2LDB4MDYsMHg3QSwweDgzLDB4M0UsMHhGOCwweDc5LAotMHgwMSwweDc0LDB4MEIsMHhCRSwweEQ3LDB4NzksMHhFOCwweEVCLDB4MDksMHg4QiwweEQwLDB4QTMsMHgwNiwweDdBLDB4QjAsMHgyMCwKLTB4RTgsMHg1NywweDBCLDB4OEIsMHgxNiwweDA2LDB4N0EsMHhFQywweEU4LDB4NkYsMHgwQiwweEMzLDB4OEIsMHgxNiwweDA2LDB4N0EsCi0weDgzLDB4M0UsMHhGOCwweDc5LDB4MDEsMHg3NCwweDBCLDB4QkUsMHhENywweDc5LDB4RTgsMHhDNywweDA5LDB4OEIsMHhEMCwweEEzLAotMHgwNiwweDdBLDB4QjAsMHgyMCwweEU4LDB4MzMsMHgwQiwweDhCLDB4MTYsMHgwNiwweDdBLDB4RUQsMHhFOCwweDY3LDB4MEIsMHhDMywKLTB4RkEsMHhDNiwweDA2LDB4RjYsMHg3OSwweDAwLDB4QzMsMHg5MCwweEM2LDB4MDYsMHhGNiwweDc5LDB4MDEsMHhGQiwweEMzLDB4OTAsCi0weDA2LDB4RTgsMHg1OCwweDA5LDB4QjAsMHgyMCwweEU4LDB4MTEsMHgwQiwweDI2LDB4OEIsMHgwNSwweEU4LDB4NDcsMHgwQiwweEIwLAotMHgwOCwweEU4LDB4MDYsMHgwQiwweEU4LDB4MDMsMHgwQiwweEU4LDB4MDAsMHgwQiwweEU4LDB4RkQsMHgwQSwweEI4LDB4MDEsMHgwMCwKLTB4RTgsMHhDRiwweEY0LDB4QkEsMHgwMiwweDAyLDB4RUMsMHgyNCwweDAxLDB4NzUsMHgwMiwweEVCLDB4REMsMHhCQSwweDA2LDB4MDIsCi0weEVDLDB4MDcsMHhDMywweDkwLDB4QzcsMHgwNiwweDA4LDB4N0EsMHgxMCwweDAwLDB4RUIsMHgwNiwweEM3LDB4MDYsMHgwOCwweDdBLAotMHgwMSwweDAwLDB4MDYsMHg4RSwweDA2LDB4RkMsMHg3OSwweDhCLDB4M0UsMHhGQSwweDc5LDB4RTgsMHgwRSwweDA5LDB4RTgsMHgwQiwKLTB4MDAsMHg4OSwweDNFLDB4RkEsMHg3OSwweDhDLDB4MDYsMHhGQywweDc5LDB4MDcsMHhDMywweDkwLDB4QkUsMHhCMiwweDRELDB4RTgsCi0weDdDLDB4MDksMHg4QiwweDE2LDB4MDgsMHg3QSwweDUyLDB4RTgsMHgyQSwweDA5LDB4RTgsMHgwRiwweDBBLDB4RTgsMHgwQywweDBBLAotMHgzMywweERCLDB4QjksMHgxMCwweDAwLDB4OTAsMHgyNiwweDhBLDB4MDEsMHhFOCwweEJDLDB4MDksMHhFOCwweEZELDB4MDksMHg0MywKLTB4RTIsMHhGNCwweEU4LDB4RjcsMHgwOSwweEU4LDB4RjQsMHgwOSwweDMzLDB4REIsMHhCOSwweDEwLDB4MDAsMHg5MCwweDI2LDB4OEEsCi0weDAxLDB4M0MsMHgyMCwweDcyLDB4MDUsMHgzQywweDdFLDB4NzYsMHgwMywweDkwLDB4QjAsMHgyRSwweEU4LDB4RTMsMHgwOSwweDQzLAotMHhFMiwweEVDLDB4QkUsMHhCMiwweDRELDB4RTgsMHgzNiwweDA5LDB4ODMsMHhDNywweDEwLDB4NUEsMHg0QSwweDc1LDB4QjcsMHhDMywKLTB4MDYsMHg4RSwweDA2LDB4MDAsMHg3QSwweDhCLDB4M0UsMHhGRSwweDc5LDB4RTgsMHhBMCwweDA4LDB4ODksMHgzRSwweEZFLDB4NzksCi0weDhDLDB4MDYsMHgwMCwweDdBLDB4NTcsMHg4QiwweDM2LDB4MEUsMHg3QSwweEU4LDB4MTIsMHgwOSwweEM3LDB4MDYsMHgwOCwweDdBLAotMHgxMCwweDAwLDB4QkEsMHgwMCwweDAyLDB4RTgsMHhFOCwweDAwLDB4RTgsMHg4MSwweEZGLDB4NUYsMHhCQSwweDAwLDB4MDAsMHhFOCwKLTB4REUsMHgwMCwweEJFLDB4QjUsMHg0RCwweEU4LDB4RjYsMHgwOCwweDhDLDB4QzAsMHhFOCwweDNGLDB4MDksMHhCMCwweDNBLDB4RTgsCi0weDkwLDB4MDksMHg4QiwweEM3LDB4RTgsMHgzNSwweDA5LDB4RTgsMHg3RSwweDA4LDB4RTgsMHhDMywweDAwLDB4OTAsMHhFOCwweEI3LAotMHgwOSwweEU4LDB4QTYsMHgwOSwweDBBLDB4QzAsMHg3NCwweEY2LDB4M0MsMHgwQiwweDc1LDB4MDYsMHg4MywweEVGLDB4MTAsMHhFQiwKLTB4MTksMHg5MCwweDNDLDB4MEEsMHg3NSwweDA2LDB4ODMsMHhDNywweDEwLDB4RUIsMHgwRiwweDkwLDB4M0MsMHgwQywweDc1LDB4MDQsCi0weDQ3LDB4RUIsMHgwNywweDkwLDB4M0MsMHgwOCwweDc1LDB4MjQsMHg0RiwweDkwLDB4OEIsMHgzNiwweEZFLDB4NzksMHg4QiwweEM3LAotMHgyQiwweEM2LDB4M0QsMHgwMCwweDAxLDB4NzIsMHhBNSwweDNELDB4MTAsMHgwMSwweDcyLDB4MDQsMHg4MywweEVFLDB4MjAsMHg5MCwKLTB4ODMsMHhDNiwweDEwLDB4ODksMHgzNiwweEZFLDB4NzksMHg1NywweDhCLDB4RkUsMHhFQiwweDgwLDB4M0MsMHgyRSwweDc1LDB4MDgsCi0weEJBLDB4MDEsMHgxMywweEU4LDB4NkEsMHgwMCwweDA3LDB4QzMsMHhDNiwweDA2LDB4MEEsMHg3QSwweDAyLDB4MzIsMHhDOSwweDkwLAotMHgzQywweDMwLDB4NzIsMHg0QywweDNDLDB4MzksMHg3NiwweDBDLDB4MjQsMHg1RiwweDNDLDB4NDEsMHg3MiwweDQyLDB4M0MsMHg0NiwKLTB4NzcsMHgzRSwweDJDLDB4MDcsMHgyQywweDMwLDB4NTAsMHhFOCwweENDLDB4MDgsMHg1OCwweDAyLDB4QzgsMHhGRSwweDBFLDB4MEEsCi0weDdBLDB4NzQsMHgwRiwweEMwLDB4RTEsMHgwNCwweEU4LDB4MkYsMHgwOSwweEU4LDB4MUUsMHgwOSwweDBBLDB4QzAsMHg3NCwweEY2LAotMHhFQiwweENFLDB4MjYsMHg4OCwweDBELDB4RTgsMHhFMCwweDA3LDB4OEEsMHhEMCwweEU4LDB4MjMsMHgwMCwweDhBLDB4QzEsMHgzQywKLTB4MjAsMHg3MiwweDA1LDB4M0MsMHg3RSwweDc2LDB4MDMsMHg5MCwweEIwLDB4MkUsMHhFOCwweEQ1LDB4MDgsMHhFOSwweDcwLDB4RkYsCi0weEU4LDB4QzUsMHgwNywweEU4LDB4MEEsMHgwMCwweDI2LDB4OEEsMHgwNSwweEU4LDB4N0MsMHgwOCwweEU5LDB4MUQsMHhGRiwweDkwLAotMHhGNiwweDA2LDB4MjYsMHg3QSwweDAyLDB4NzUsMHgwMiwweDg2LDB4RjIsMHg1MiwweDhCLDB4MzYsMHgxQSwweDdBLDB4RTgsMHgwRCwKLTB4MDgsMHg1QSwweDUyLDB4OEEsMHhDNiwweDAyLDB4MDYsMHgyNCwweDdBLDB4RjYsMHgwNiwweDI2LDB4N0EsMHgwMSwweDc1LDB4MDYsCi0weEU4LDB4OUYsMHgwOCwweEVCLDB4MEQsMHg5MCwweDMyLDB4RTQsMHhFOCwweDBELDB4MDgsMHg4QiwweDM2LDB4MUMsMHg3QSwweEU4LAotMHhFQywweDA3LDB4NUEsMHg4QSwweEMyLDB4MDIsMHgwNiwweDI1LDB4N0EsMHhGNiwweDA2LDB4MjYsMHg3QSwweDAxLDB4NzUsMHgwNiwKLTB4RTgsMHg3RiwweDA4LDB4RUIsMHgwNiwweDkwLDB4MzIsMHhFNCwweEU4LDB4RUQsMHgwNywweDhCLDB4MzYsMHgxRSwweDdBLDB4RTgsCi0weENDLDB4MDcsMHhDMywweDkwLDB4MDYsMHg4RSwweDA2LDB4MDQsMHg3QSwweDhCLDB4M0UsMHgwMiwweDdBLDB4RTgsMHgzQywweDA3LAotMHg4OSwweDNFLDB4MDIsMHg3QSwweDhDLDB4MDYsMHgwNCwweDdBLDB4MDcsMHhGRiwweDFFLDB4MDIsMHg3QSwweEMzLDB4QkUsMHg5NywKLTB4NEQsMHhFOCwweEFBLDB4MDcsMHhDQiwweDkwLDB4MDYsMHg1NywweEJFLDB4RDcsMHg3OSwweEU4LDB4NjYsMHgwNywweDhCLDB4RDgsCi0weEU4LDB4NjEsMHgwNywweDhCLDB4QzgsMHgyQiwweENCLDB4NzgsMHgxMSwweDhFLDB4QzMsMHhCRiwweDAwLDB4MDAsMHhCOCwweEZGLAotMHhGRiwweDUxLDB4QjksMHgwOCwweDAwLDB4RjMsMHhBQiwweDU5LDB4RTIsMHhGNywweDVGLDB4MDcsMHhDMywweDkwLDB4MDYsMHhCRSwKLTB4RDcsMHg3OSwweEU4LDB4M0YsMHgwNywweDhCLDB4RDgsMHhEMSwweEUzLDB4MkUsMHg4QiwweDlGLDB4NDQsMHgwMCwweEJFLDB4MjYsCi0weDUyLDB4RTgsMHhGMSwweDA4LDB4OEIsMHhDMywweEU4LDB4REQsMHgwOCwweEI4LDB4MDEsMHgwMCwweEU4LDB4NzMsMHhGMiwweEU4LAotMHhFMCwweDA4LDB4QkUsMHgyRiwweDUyLDB4RTgsMHhERCwweDA4LDB4OEIsMHg0NywweDE4LDB4RTgsMHhDOCwweDA4LDB4QkUsMHg3NywKLTB4NTIsMHhFOCwweEQxLDB4MDgsMHg4QiwweDQ3LDB4MjYsMHhFOCwweEJDLDB4MDgsMHhCRSwweDUzLDB4NTIsMHhFOCwweEM1LDB4MDgsCi0weDhCLDB4NDcsMHgxRSwweEU4LDB4QjAsMHgwOCwweEJFLDB4NUMsMHg1MiwweEU4LDB4QjksMHgwOCwweDhCLDB4NDcsMHgyMCwweEU4LAotMHhBNCwweDA4LDB4QkUsMHg2RSwweDUyLDB4RTgsMHhBRCwweDA4LDB4OEIsMHg0NywweDI0LDB4RTgsMHg5OCwweDA4LDB4QkUsMHg4MCwKLTB4NTIsMHhFOCwweEExLDB4MDgsMHg4QiwweDQ3LDB4MkEsMHhFOCwweDhDLDB4MDgsMHhFOCwweDk1LDB4MDgsMHhCRSwweDM4LDB4NTIsCi0weEU4LDB4OTIsMHgwOCwweDhCLDB4MDcsMHhFOCwweDdFLDB4MDgsMHhCRSwweDQxLDB4NTIsMHhFOCwweDg3LDB4MDgsMHg4QiwweDQ3LAotMHgxQSwweEU4LDB4NzIsMHgwOCwweEJFLDB4NEEsMHg1MiwweEU4LDB4N0IsMHgwOCwweDhCLDB4NDcsMHgxQywweEU4LDB4NjYsMHgwOCwKLTB4QkUsMHg2NSwweDUyLDB4RTgsMHg2RiwweDA4LDB4OEIsMHg0NywweDIyLDB4RTgsMHg1QSwweDA4LDB4RTgsMHg2MywweDA4LDB4QkUsCi0weEQxLDB4NTIsMHhFOCwweDYwLDB4MDgsMHg4QiwweDQ3LDB4MzgsMHhFOCwweDRCLDB4MDgsMHhCRSwweEFELDB4NTIsMHhFOCwweDU0LAotMHgwOCwweDhCLDB4NDcsMHgzMCwweEU4LDB4M0YsMHgwOCwweEJFLDB4QjYsMHg1MiwweEU4LDB4NDgsMHgwOCwweDhCLDB4NDcsMHgzMiwKLTB4RTgsMHgzMywweDA4LDB4QkUsMHhBNCwweDUyLDB4RTgsMHgzQywweDA4LDB4OEIsMHg0NywweDJFLDB4RTgsMHgyNywweDA4LDB4QkUsCi0weEJGLDB4NTIsMHhFOCwweDMwLDB4MDgsMHg4QiwweDQ3LDB4MzQsMHhFOCwweDFCLDB4MDgsMHhFOCwweDI0LDB4MDgsMHhCRSwweDg5LAotMHg1MiwweEU4LDB4MjEsMHgwOCwweDhCLDB4NDcsMHgwNCwweEU4LDB4MEMsMHgwOCwweEJFLDB4OTIsMHg1MiwweEU4LDB4MTUsMHgwOCwKLTB4OEIsMHg0NywweDE0LDB4RTgsMHgwMCwweDA4LDB4QkUsMHg5QiwweDUyLDB4RTgsMHgwOSwweDA4LDB4OEIsMHg0NywweDJDLDB4RTgsCi0weEY0LDB4MDcsMHhCRSwweEM4LDB4NTIsMHhFOCwweEZELDB4MDcsMHg4QiwweDQ3LDB4MzYsMHhFOCwweEU4LDB4MDcsMHhCRSwweERBLAotMHg1MiwweEU4LDB4RjEsMHgwNywweDhCLDB4NDcsMHgzQSwweEU4LDB4REMsMHgwNywweEJFLDB4RTMsMHg1MiwweEU4LDB4RTUsMHgwNywKLTB4OEIsMHg0NywweDNDLDB4RTgsMHhEMCwweDA3LDB4RTgsMHhEOSwweDA3LDB4QkUsMHgxOSwweDUzLDB4RTgsMHhENiwweDA3LDB4OEIsCi0weDQ3LDB4NDgsMHhFOCwweEMxLDB4MDcsMHhCRSwweEZFLDB4NTIsMHhFOCwweENBLDB4MDcsMHg4QiwweDQ3LDB4NDIsMHhFOCwweEI1LAotMHgwNywweEJFLDB4MDcsMHg1MywweEU4LDB4QkUsMHgwNywweDhCLDB4NDcsMHg0NCwweEU4LDB4QTksMHgwNywweEJFLDB4N0MsMHg1MywKLTB4RTgsMHhCMiwweDA3LDB4OEIsMHg0NywweDRDLDB4RTgsMHg5RCwweDA3LDB4QkUsMHg4NSwweDUzLDB4RTgsMHhBNiwweDA3LDB4OEIsCi0weDQ3LDB4NEUsMHhFOCwweDkxLDB4MDcsMHhCRSwweDhFLDB4NTMsMHhFOCwweDlBLDB4MDcsMHg4QiwweDQ3LDB4NTAsMHhFOCwweDg1LAotMHgwNywweEU4LDB4OEUsMHgwNywweEJFLDB4MjIsMHg1MywweEU4LDB4OEIsMHgwNywweDhCLDB4NDcsMHg0QSwweEU4LDB4NzYsMHgwNywKLTB4QkUsMHhFQywweDUyLDB4RTgsMHg3RiwweDA3LDB4OEIsMHg0NywweDA4LDB4RTgsMHg2QSwweDA3LDB4QkUsMHhGNSwweDUyLDB4RTgsCi0weDczLDB4MDcsMHg4QiwweDQ3LDB4NDAsMHhFOCwweDVFLDB4MDcsMHhCRSwweDEwLDB4NTMsMHhFOCwweDY3LDB4MDcsMHg4QiwweDQ3LAotMHg0NiwweEU4LDB4NTIsMHgwNywweEU4LDB4NUIsMHgwNywweEJFLDB4NkEsMHg1MywweEU4LDB4NTgsMHgwNywweDhCLDB4NDcsMHg3QSwKLTB4RTgsMHg0MywweDA3LDB4QkUsMHgzRCwweDUzLDB4RTgsMHg0QywweDA3LDB4OEIsMHg0NywweDcwLDB4RTgsMHgzNywweDA3LDB4QkUsCi0weDQ2LDB4NTMsMHhFOCwweDQwLDB4MDcsMHg4QiwweDQ3LDB4NzIsMHhFOCwweDJCLDB4MDcsMHhCRSwweDRGLDB4NTMsMHhFOCwweDM0LAotMHgwNywweDhCLDB4NDcsMHg3NCwweEU4LDB4MUYsMHgwNywweEU4LDB4MjgsMHgwNywweEJFLDB4MkIsMHg1MywweEU4LDB4MjUsMHgwNywKLTB4OEIsMHg0NywweDBDLDB4RTgsMHgxMCwweDA3LDB4QkUsMHgzNCwweDUzLDB4RTgsMHgxOSwweDA3LDB4OEIsMHg0NywweDEwLDB4RTgsCi0weDA0LDB4MDcsMHhCRSwweDU4LDB4NTMsMHhFOCwweDBELDB4MDcsMHg4QiwweDQ3LDB4NzYsMHhFOCwweEY4LDB4MDYsMHhCRSwweDYxLAotMHg1MywweEU4LDB4MDEsMHgwNywweDhCLDB4NDcsMHg3OCwweEU4LDB4RUMsMHgwNiwweEJFLDB4NzMsMHg1MywweEU4LDB4RjUsMHgwNiwKLTB4OEIsMHg0NywweDNFLDB4RTgsMHhFMCwweDA2LDB4RTgsMHhFOSwweDA2LDB4QkUsMHg5NywweDUzLDB4RTgsMHhFNiwweDA2LDB4OEIsCi0weDQ3LDB4NTIsMHhFOCwweEQxLDB4MDYsMHhCRSwweEEwLDB4NTMsMHhFOCwweERBLDB4MDYsMHg4QiwweDQ3LDB4NTQsMHhFOCwweEM1LAotMHgwNiwweEJFLDB4QTksMHg1MywweEU4LDB4Q0UsMHgwNiwweDhCLDB4NDcsMHg1NiwweEU4LDB4QjksMHgwNiwweEJFLDB4QjIsMHg1MywKLTB4RTgsMHhDMiwweDA2LDB4OEIsMHg0NywweDU4LDB4RTgsMHhBRCwweDA2LDB4QkUsMHhCQiwweDUzLDB4RTgsMHhCNiwweDA2LDB4OEIsCi0weDQ3LDB4NUEsMHhFOCwweEExLDB4MDYsMHhCRSwweEM0LDB4NTMsMHhFOCwweEFBLDB4MDYsMHg4QiwweDQ3LDB4NUMsMHhFOCwweDk1LAotMHgwNiwweEU4LDB4OUUsMHgwNiwweEJFLDB4Q0QsMHg1MywweEU4LDB4OUIsMHgwNiwweDhCLDB4NDcsMHg1RSwweEU4LDB4ODYsMHgwNiwKLTB4QkUsMHhENiwweDUzLDB4RTgsMHg4RiwweDA2LDB4OEIsMHg0NywweDYwLDB4RTgsMHg3QSwweDA2LDB4QkUsMHhERiwweDUzLDB4RTgsCi0weDgzLDB4MDYsMHg4QiwweDQ3LDB4NjIsMHhFOCwweDZFLDB4MDYsMHhCRSwweEU4LDB4NTMsMHhFOCwweDc3LDB4MDYsMHg4QiwweDQ3LAotMHg3QywweEU4LDB4NjIsMHgwNiwweEJFLDB4RjEsMHg1MywweEU4LDB4NkIsMHgwNiwweDhCLDB4NDcsMHg3RSwweEU4LDB4NTYsMHgwNiwKLTB4QkUsMHhGQSwweDUzLDB4RTgsMHg1RiwweDA2LDB4OEIsMHg4NywweDgwLDB4MDAsMHhFOCwweDQ5LDB4MDYsMHhFOCwweDUyLDB4MDYsCi0weEJFLDB4NDIsMHg1NCwweEU4LDB4NEYsMHgwNiwweDhCLDB4ODcsMHg5RSwweDAwLDB4RTgsMHgzOSwweDA2LDB4QkUsMHgwMywweDU0LAotMHhFOCwweDQyLDB4MDYsMHg4QiwweDQ3LDB4NjQsMHhFOCwweDJELDB4MDYsMHhCRSwweDBDLDB4NTQsMHhFOCwweDM2LDB4MDYsMHg4QiwKLTB4NDcsMHg2RSwweEU4LDB4MjEsMHgwNiwweEJFLDB4MTUsMHg1NCwweEU4LDB4MkEsMHgwNiwweDhCLDB4ODcsMHg4RSwweDAwLDB4RTgsCi0weDE0LDB4MDYsMHhCRSwweDFFLDB4NTQsMHhFOCwweDFELDB4MDYsMHg4QiwweDg3LDB4OTAsMHgwMCwweEU4LDB4MDcsMHgwNiwweEJFLAotMHgyNywweDU0LDB4RTgsMHgxMCwweDA2LDB4OEIsMHg4NywweDkyLDB4MDAsMHhFOCwweEZBLDB4MDUsMHhFOCwweDAzLDB4MDYsMHhCRSwKLTB4MzAsMHg1NCwweEU4LDB4MDAsMHgwNiwweDhCLDB4ODcsMHg5NCwweDAwLDB4RTgsMHhFQSwweDA1LDB4QkUsMHgzOSwweDU0LDB4RTgsCi0weEYzLDB4MDUsMHg4QiwweDg3LDB4OTYsMHgwMCwweEU4LDB4REQsMHgwNSwweEJFLDB4NkYsMHg1NCwweEU4LDB4RTYsMHgwNSwweDhCLAotMHg4NywweDk4LDB4MDAsMHhFOCwweEQwLDB4MDUsMHhCRSwweDVELDB4NTQsMHhFOCwweEQ5LDB4MDUsMHg4QSwweDg3LDB4QTAsMHgwMCwKLTB4RTgsMHhBNywweDA1LDB4QkUsMHg1NCwweDU0LDB4RTgsMHhDQywweDA1LDB4OEEsMHg0NywweDI4LDB4RTgsMHg5QiwweDA1LDB4QkUsCi0weDY2LDB4NTQsMHhFOCwweEMwLDB4MDUsMHg4QSwweDg3LDB4QTEsMHgwMCwweEU4LDB4OEUsMHgwNSwweEU4LDB4QjMsMHgwNSwweEJFLAotMHg3OCwweDU0LDB4RTgsMHhCMCwweDA1LDB4OEEsMHg4NywweEEyLDB4MDAsMHhFOCwweDdFLDB4MDUsMHhCRSwweDgxLDB4NTQsMHhFOCwKLTB4QTMsMHgwNSwweDhBLDB4ODcsMHhBMywweDAwLDB4RTgsMHg3MSwweDA1LDB4QkUsMHg4QSwweDU0LDB4RTgsMHg5NiwweDA1LDB4OEEsCi0weDg3LDB4QTQsMHgwMCwweEU4LDB4NjQsMHgwNSwweEJFLDB4OTMsMHg1NCwweEU4LDB4ODksMHgwNSwweDhBLDB4ODcsMHhBNSwweDAwLAotMHhFOCwweDU3LDB4MDUsMHhCRSwweDlDLDB4NTQsMHhFOCwweDdDLDB4MDUsMHg4QSwweDg3LDB4QTYsMHgwMCwweEU4LDB4NEEsMHgwNSwKLTB4QkUsMHhBNSwweDU0LDB4RTgsMHg2RiwweDA1LDB4OEEsMHg4NywweEE3LDB4MDAsMHhFOCwweDNELDB4MDUsMHhCRSwweEFFLDB4NTQsCi0weEU4LDB4NjIsMHgwNSwweDhBLDB4ODcsMHhBOCwweDAwLDB4RTgsMHgzMCwweDA1LDB4RTgsMHg1NSwweDA1LDB4QkUsMHhCNywweDU0LAotMHhFOCwweDUyLDB4MDUsMHg4QSwweDg3LDB4QTksMHgwMCwweEU4LDB4MjAsMHgwNSwweEJFLDB4QzAsMHg1NCwweEU4LDB4NDUsMHgwNSwKLTB4OEEsMHg4NywweEFBLDB4MDAsMHhFOCwweDEzLDB4MDUsMHhCRSwweEM5LDB4NTQsMHhFOCwweDM4LDB4MDUsMHg4QSwweDg3LDB4QUIsCi0weDAwLDB4RTgsMHgwNiwweDA1LDB4QkUsMHhEMiwweDU0LDB4RTgsMHgyQiwweDA1LDB4OEEsMHg4NywweEFELDB4MDAsMHhFOCwweEY5LAotMHgwNCwweEJFLDB4REIsMHg1NCwweEU4LDB4MUUsMHgwNSwweDhBLDB4ODcsMHhBRSwweDAwLDB4RTgsMHhFQywweDA0LDB4QkUsMHhFNCwKLTB4NTQsMHhFOCwweDExLDB4MDUsMHg4QSwweDg3LDB4QUYsMHgwMCwweEU4LDB4REYsMHgwNCwweEJFLDB4RUQsMHg1NCwweEU4LDB4MDQsCi0weDA1LDB4OEEsMHg4NywweEIwLDB4MDAsMHhFOCwweEQyLDB4MDQsMHhFOCwweEY3LDB4MDQsMHhCRSwweEY2LDB4NTQsMHhFOCwweEY0LAotMHgwNCwweDhBLDB4ODcsMHhCMSwweDAwLDB4RTgsMHhDMiwweDA0LDB4QkUsMHhGRiwweDU0LDB4RTgsMHhFNywweDA0LDB4OEEsMHg4NywKLTB4QjIsMHgwMCwweEU4LDB4QjUsMHgwNCwweEJFLDB4MDgsMHg1NSwweEU4LDB4REEsMHgwNCwweDhBLDB4ODcsMHhCMywweDAwLDB4RTgsCi0weEE4LDB4MDQsMHhCRSwweDExLDB4NTUsMHhFOCwweENELDB4MDQsMHg4QSwweDg3LDB4QkIsMHgwMCwweEU4LDB4OUIsMHgwNCwweEU4LAotMHhDMCwweDA0LDB4QkUsMHgxQSwweDU1LDB4RTgsMHhCRCwweDA0LDB4OEEsMHg4NywweEJDLDB4MDAsMHhFOCwweDhCLDB4MDQsMHhCRSwKLTB4MjMsMHg1NSwweEU4LDB4QjAsMHgwNCwweDhBLDB4ODcsMHhCRSwweDAwLDB4RTgsMHg3RSwweDA0LDB4QkUsMHgyQywweDU1LDB4RTgsCi0weEEzLDB4MDQsMHg4QSwweDg3LDB4QkYsMHgwMCwweEU4LDB4NzEsMHgwNCwweEU4LDB4OTYsMHgwNCwweDA3LDB4QzMsMHg2MCwweDA2LAotMHgxRSwweDE2LDB4OEIsMHhFQywweEZGLDB4NEUsMHgxNiwweEY3LDB4NDYsMHgxQSwweDAwLDB4MDIsMHg3NCwweDAxLDB4RkIsMHhCOCwKLTB4MDAsMHgwMCwweDhFLDB4RDgsMHg4RSwweEMwLDB4ODksMHgyRSwweDJELDB4N0EsMHhFOCwweENCLDB4MDAsMHg4MSwweDY2LDB4MUEsCi0weEZGLDB4RkUsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4RTgsMHhEOCwweDAwLDB4QjgsMHgwMCwweDVGLDB4QTMsMHgyQiwweDdBLAotMHhFOCwweDVELDB4MDAsMHg4MCwweDNFLDB4MkEsMHg3QSwweDAwLDB4NzQsMHgwQSwweDgxLDB4NEUsMHgxQSwweDAwLDB4MDEsMHhDNiwKLTB4MDYsMHgyQSwweDdBLDB4MDAsMHgxNywweDFGLDB4MDcsMHg2MSwweENGLDB4OTAsMHg2MCwweDA2LDB4MUUsMHgxNiwweDhCLDB4RUMsCi0weEY3LDB4NDYsMHgxQSwweDAwLDB4MDIsMHg3NCwweDAxLDB4RkIsMHhCOCwweDAwLDB4MDAsMHg4RSwweEQ4LDB4OEUsMHhDMCwweDg5LAotMHgyRSwweDJELDB4N0EsMHg4MSwweDY2LDB4MUEsMHhGRiwweEZFLDB4QzYsMHgwNiwweDJBLDB4N0EsMHgwMCwweEU4LDB4OTIsMHgwMCwKLTB4QjgsMHgwMCwweDVGLDB4QTMsMHgyQiwweDdBLDB4RTgsMHgxNywweDAwLDB4ODAsMHgzRSwweDJBLDB4N0EsMHgwMCwweDc0LDB4MEEsCi0weDgxLDB4NEUsMHgxQSwweDAwLDB4MDEsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4MTcsMHgxRiwweDA3LDB4NjEsMHhDRiwweDkwLAotMHhCOCwweEYwLDB4MDAsMHhFOCwweDhDLDB4RUQsMHhGRiwweDI2LDB4MkIsMHg3QSwweEMzLDB4OTAsMHgwNiwweDUzLDB4NTYsMHg4MCwKLTB4M0UsMHgyOSwweDdBLDB4MDAsMHg3NCwweDAzLDB4RTgsMHgzRiwweDAwLDB4QkUsMHhENywweDc5LDB4RTgsMHgyNSwweDAyLDB4OEIsCi0weEQ4LDB4QTMsMHgyNywweDdBLDB4MkUsMHg4QSwweDA3LDB4QTIsMHgyOSwweDdBLDB4QjAsMHhDQywweDJFLDB4ODgsMHgwNywweDVFLAotMHg1QiwweDA3LDB4QzMsMHhDNiwweDA2LDB4MkEsMHg3QSwweDAwLDB4QjgsMHgwQSwweDVGLDB4QTMsMHgyQiwweDdBLDB4QzMsMHg5MCwKLTB4OEIsMHgyRSwweDJELDB4N0EsMHhFOCwweDJCLDB4MDAsMHhDMywweEM2LDB4MDYsMHgyQSwweDdBLDB4MDEsMHhFOCwweDA4LDB4MDAsCi0weEI4LDB4MEEsMHg1RiwweEEzLDB4MkIsMHg3QSwweEMzLDB4OTAsMHg1NywweDgwLDB4M0UsMHgyOSwweDdBLDB4MDAsMHg3NCwweDBGLAotMHg4QiwweDNFLDB4MjcsMHg3QSwweEEwLDB4MjksMHg3QSwweDJFLDB4ODgsMHgwNSwweEM2LDB4MDYsMHgyOSwweDdBLDB4MDAsMHg1RiwKLTB4QzMsMHg5MCwweEJFLDB4QjIsMHg0RCwweEU4LDB4MDYsMHgwMiwweEJFLDB4RDgsMHg1MSwweEU4LDB4MDAsMHgwMiwweEZGLDB4NzYsCi0weDE0LDB4NTgsMHhFOCwweDQ3LDB4MDIsMHhCRSwweERFLDB4NTEsMHhFOCwweEYzLDB4MDEsMHhGRiwweDc2LDB4MEUsMHg1OCwweEU4LAotMHgzQSwweDAyLDB4QkUsMHhFNCwweDUxLDB4RTgsMHhFNiwweDAxLDB4RkYsMHg3NiwweDEyLDB4NTgsMHhFOCwweDJELDB4MDIsMHhCRSwKLTB4RUEsMHg1MSwweEU4LDB4RDksMHgwMSwweEZGLDB4NzYsMHgxMCwweDU4LDB4RTgsMHgyMCwweDAyLDB4QkUsMHgxNCwweDUyLDB4RTgsCi0weENDLDB4MDEsMHhGRiwweDc2LDB4MEEsMHg1OCwweEU4LDB4MTMsMHgwMiwweEJFLDB4MUEsMHg1MiwweEU4LDB4QkYsMHgwMSwweEZGLAotMHg3NiwweDBDLDB4NTgsMHhFOCwweDA2LDB4MDIsMHhCRSwweENGLDB4NTEsMHhFOCwweEIyLDB4MDEsMHhGRiwweDc2LDB4MUEsMHg1OCwKLTB4RTgsMHhGOSwweDAxLDB4QkUsMHhCMiwweDRELDB4RTgsMHhBNSwweDAxLDB4QkUsMHhGMCwweDUxLDB4RTgsMHg5RiwweDAxLDB4RkYsCi0weDc2LDB4MTgsMHg1OCwweEU4LDB4RTYsMHgwMSwweEJFLDB4RjYsMHg1MSwweEU4LDB4OTIsMHgwMSwweEZGLDB4NzYsMHgwMiwweDU4LAotMHhFOCwweEQ5LDB4MDEsMHhCRSwweEZDLDB4NTEsMHhFOCwweDg1LDB4MDEsMHhGRiwweDc2LDB4MDQsMHg1OCwweEU4LDB4Q0MsMHgwMSwKLTB4QkUsMHgwMiwweDUyLDB4RTgsMHg3OCwweDAxLDB4RkYsMHg3NiwweDAwLDB4NTgsMHhFOCwweEJGLDB4MDEsMHhCRSwweDA4LDB4NTIsCi0weEU4LDB4NkIsMHgwMSwweEZGLDB4NzYsMHgwNiwweDU4LDB4RTgsMHhCMiwweDAxLDB4QkUsMHgwRSwweDUyLDB4RTgsMHg1RSwweDAxLAotMHhGRiwweDc2LDB4MDgsMHg1OCwweEU4LDB4QTUsMHgwMSwweEJFLDB4MjAsMHg1MiwweEU4LDB4NTEsMHgwMSwweEZGLDB4NzYsMHgxNiwKLTB4NTgsMHhFOCwweDk4LDB4MDEsMHhCRSwweDg5LDB4NEQsMHhFOCwweDQ0LDB4MDEsMHhDMywweDkwLDB4QkUsMHhDOSwweDRELDB4RTgsCi0weDNDLDB4MDEsMHhDMywweDNDLDB4MDAsMHg3NCwweDA1LDB4M0MsMHgwMSwweDc0LDB4NTksMHhDMywweEM3LDB4MDYsMHgwQywweDdBLAotMHhDRCwweDUwLDB4QzcsMHgwNiwweDBFLDB4N0EsMHhGMCwweDUwLDB4QzcsMHgwNiwweDEwLDB4N0EsMHhFOCwweDUwLDB4QzcsMHgwNiwKLTB4MTIsMHg3QSwweEVDLDB4NTAsMHhDNywweDA2LDB4MTQsMHg3QSwweEY0LDB4NTAsMHhDNywweDA2LDB4MTYsMHg3QSwweEZCLDB4NTAsCi0weEM3LDB4MDYsMHgxOCwweDdBLDB4MDMsMHg1MSwweEM3LDB4MDYsMHgxQSwweDdBLDB4MEIsMHg1MSwweEM3LDB4MDYsMHgxQywweDdBLAotMHgwRSwweDUxLDB4QzcsMHgwNiwweDFFLDB4N0EsMHgxMCwweDUxLDB4QzcsMHgwNiwweDIwLDB4N0EsMHgxMiwweDUxLDB4QzcsMHgwNiwKLTB4MjIsMHg3QSwweDE2LDB4NTEsMHhDNiwweDA2LDB4MjQsMHg3QSwweDAxLDB4QzYsMHgwNiwweDI1LDB4N0EsMHgwMSwweEM2LDB4MDYsCi0weDI2LDB4N0EsMHgwMywweEMzLDB4QzcsMHgwNiwweDBDLDB4N0EsMHgxQSwweDUxLDB4QzcsMHgwNiwweDBFLDB4N0EsMHg0RCwweDUxLAotMHhDNywweDA2LDB4MTAsMHg3QSwweDQ3LDB4NTEsMHhDNywweDA2LDB4MTIsMHg3QSwweDRBLDB4NTEsMHhDNywweDA2LDB4MTQsMHg3QSwKLTB4NEYsMHg1MSwweEM3LDB4MDYsMHgxNiwweDdBLDB4NTEsMHg1MSwweEM3LDB4MDYsMHgxOCwweDdBLDB4NTUsMHg1MSwweEM3LDB4MDYsCi0weDFBLDB4N0EsMHg1NiwweDUxLDB4QzcsMHgwNiwweDFDLDB4N0EsMHg1OSwweDUxLDB4QzcsMHgwNiwweDFFLDB4N0EsMHg1QSwweDUxLAotMHhDNywweDA2LDB4MjAsMHg3QSwweDVCLDB4NTEsMHhDNywweDA2LDB4MjIsMHg3QSwweDVFLDB4NTEsMHhDNiwweDA2LDB4MjQsMHg3QSwKLTB4MjAsMHhDNiwweDA2LDB4MjUsMHg3QSwweDIwLDB4QzYsMHgwNiwweDI2LDB4N0EsMHgwMiwweEMzLDB4QTEsMHhGOCwweDc5LDB4NDgsCi0weDc0LDB4MTQsMHhCRSwweEQ3LDB4NzksMHhFOCwweDNDLDB4MDAsMHg4QiwweEY4LDB4QUMsMHgzQywweDNBLDB4NzUsMHgwNywweDhFLAotMHhDNywweEU4LDB4MzAsMHgwMCwweDhCLDB4RjgsMHhDMywweDkwLDB4OEIsMHhDNywweDJCLDB4MDYsMHhGRSwweDc5LDB4OEEsMHhGMCwKLTB4MjQsMHgwRiwweDhBLDB4RDAsMHgwMiwweEQwLDB4MDIsMHhEMCwweDgwLDB4QzIsMHgwQiwweEMwLDB4RUUsMHgwNCwweDgwLDB4QzYsCi0weDAzLDB4MDQsMHgzRCwweEMzLDB4OEMsMHhDMCwweEU4LDB4OTMsMHgwMCwweEIwLDB4M0EsMHhFOCwweEU0LDB4MDAsMHg4QiwweEM3LAotMHhFOCwweDg5LDB4MDAsMHhDMywweDUxLDB4MzMsMHhDOSwweDkwLDB4QUMsMHgzQywweDIwLDB4NzQsMHhGQiwweDkwLDB4MEEsMHhDMCwKLTB4NzQsMHgyNiwweDJDLDB4MzAsMHg3MiwweDIyLDB4M0MsMHgwOSwweDc2LDB4MTQsMHgzQywweDExLDB4NzIsMHgxQSwweDJDLDB4MDcsCi0weDNDLDB4MEYsMHg3NiwweDBBLDB4M0MsMHgyQSwweDcyLDB4MTAsMHgyQywweDIwLDB4M0MsMHgwRiwweDc3LDB4MEEsMHg5OCwweEMxLAotMHhFMSwweDA0LDB4MDMsMHhDOCwweEFDLDB4RUIsMHhENywweDkwLDB4NEUsMHg4QiwweEMxLDB4NTksMHhDMywweDkwLDB4MDYsMHg4QywKLTB4QzgsMHg4RSwweEMwLDB4RTgsMHgwMiwweDAwLDB4MDcsMHhDMywweDI2LDB4OEEsMHgwNCwweDQ2LDB4MEEsMHhDMCwweDc0LDB4MDYsCi0weEU4LDB4OEYsMHgwMCwweEVCLDB4RjMsMHg5MCwweEMzLDB4OTAsMHgwQiwweEMwLDB4NzQsMHg3QSwweDUxLDB4MzMsMHhEMiwweEI5LAotMHhFOCwweDAzLDB4RjcsMHhGMSwweDhCLDB4Q0EsMHhFOCwweDAzLDB4MDAsMHg4QiwweEMxLDB4NTksMHhCQSwweDY0LDB4MDAsMHhGNiwKLTB4RjIsMHhFOCwweDBDLDB4MDAsMHg4QSwweEM0LDB4OTgsMHhCMiwweDBBLDB4RjYsMHhGMiwweEU4LDB4MDIsMHgwMCwweDhBLDB4QzQsCi0weDUwLDB4MEEsMHhGMCwweDc0LDB4MDUsMHgwNCwweDMwLDB4RTgsMHg1OCwweDAwLDB4NTgsMHhDMywweDg2LDB4QzQsMHhFOCwweDA3LAotMHgwMCwweDg2LDB4QzQsMHhFOCwweDAyLDB4MDAsMHhDMywweDkwLDB4QzEsMHhDOCwweDA0LDB4RTgsMHgwOCwweDAwLDB4QzEsMHhDMCwKLTB4MDQsMHhFOCwweDAyLDB4MDAsMHhDMywweDkwLDB4NTMsMHg1MCwweDI0LDB4MEYsMHhCQiwweENBLDB4NjIsMHgyRSwweEQ3LDB4RTgsCi0weDMwLDB4MDAsMHg1OCwweDVCLDB4QzMsMHg5MCwweDg2LDB4QzQsMHhFOCwweDA3LDB4MDAsMHg4NiwweEM0LDB4RTgsMHgwMiwweDAwLAotMHhDMywweDkwLDB4NTAsMHhCOSwweDA4LDB4MDAsMHg4QSwweEUwLDB4MzIsMHhDMCwweEQxLDB4QzAsMHgwNCwweDMwLDB4RTgsMHgxMSwKLTB4MDAsMHhFMiwweEY1LDB4NTgsMHhDMywweDkwLDB4QjAsMHgzMCwweEU4LDB4MDcsMHgwMCwweEMzLDB4QjAsMHgyMCwweEU4LDB4MDEsCi0weDAwLDB4QzMsMHg1NiwweDhCLDB4MzYsMHhEMCwweDc5LDB4ODgsMHg4NCwweEQwLDB4NzcsMHg0NiwweDgxLDB4RTYsMHhGRiwweDAxLAotMHhGRiwweDA2LDB4RDQsMHg3OSwweDg5LDB4MzYsMHhEMCwweDc5LDB4ODEsMHgzRSwweEQ0LDB4NzksMHhGRSwweDAxLDB4NzUsMHgwOCwKLTB4NTYsMHhFOCwweDE0LDB4MDAsMHg1RSwweEVCLDB4RjEsMHg5MCwweDVFLDB4QzMsMHhCQSwweDAyLDB4MDIsMHhFQywweDI0LDB4MDEsCi0weDc0LDB4MDQsMHhCQSwweDA2LDB4MDIsMHhFQywweEMzLDB4OTAsMHg4MCwweDNFLDB4RjYsMHg3OSwweDAwLDB4NzQsMHgwOSwweDYwLAotMHhCOCwweDAxLDB4MDAsMHhFOCwweDJDLDB4RUEsMHg2MSwweDkwLDB4QkEsMHgwMiwweDAyLDB4RUMsMHhBOCwweDA0LDB4NzQsMHgyOCwKLTB4OEIsMHgzNiwweEQyLDB4NzksMHg4MywweDNFLDB4RDQsMHg3OSwweDAwLDB4NzQsMHgxRCwweDhBLDB4ODQsMHhEMCwweDc3LDB4NDYsCi0weDgxLDB4RTYsMHhGRiwweDAxLDB4ODksMHgzNiwweEQyLDB4NzksMHhGRiwweDBFLDB4RDQsMHg3OSwweEJBLDB4MDYsMHgwMiwweEVFLAotMHhCQSwweDAyLDB4MDIsMHhFQywweEE4LDB4MDQsMHg3NSwweERDLDB4QTEsMHhENCwweDc5LDB4QzMsMHg1MiwweEJBLDB4MDYsMHgwMiwKLTB4RUUsMHg1QSwweEMzLDB4OTAsMHg1MiwweDUwLDB4QkEsMHgwMiwweDAyLDB4RUMsMHhBOCwweDA0LDB4NzQsMHgwOCwweDU4LDB4NUEsCi0weEU4LDB4RTksMHhGRiwweEY5LDB4QzMsMHg5MCwweDU4LDB4NUEsMHhGOCwweEMzLDB4NTIsMHg1MCwweEJBLDB4MDIsMHgwMiwweEVDLAotMHhBOCwweDA0LDB4NzQsMHhGQiwweDU4LDB4NUEsMHhFOCwweEQzLDB4RkYsMHhDMywweDMwLDB4MzEsMHgzMiwweDMzLDB4MzQsMHgzNSwKLTB4MzYsMHgzNywweDM4LDB4MzksMHg0MSwweDQyLDB4NDMsMHg0NCwweDQ1LDB4NDYsMHg1MywweDUwLDB4OEEsMHhFMCwweDgwLDB4RTQsCi0weDBGLDB4QkIsMHhDQSwweDYyLDB4QzAsMHhFOCwweDA0LDB4MkUsMHhENywweEU4LDB4Q0UsMHhGRiwweDhBLDB4QzQsMHgyRSwweEQ3LAotMHhFOCwweEM3LDB4RkYsMHg1OCwweDVCLDB4QzMsMHg4NiwweEUwLDB4RTgsMHhERiwweEZGLDB4ODYsMHhFMCwweEU4LDB4REEsMHhGRiwKLTB4QzMsMHg5MCwweEJFLDB4QjIsMHg0RCwweDUwLDB4MkUsMHhBQywweDNDLDB4MDAsMHg3NCwweDA1LDB4RTgsMHhBQiwweEZGLDB4RUIsCi0weEY1LDB4NTgsMHhDMywweDkwLDB4QzgsMHgwOCwweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwweDA0LDB4QkYsMHgwNCwweDAwLAotMHhDNywweDQ2LDB4RkMsMHgwMCwweDAwLDB4QzcsMHg0NiwweEZBLDB4MDAsMHgwMCwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg4MywKLTB4N0UsMHgwNiwweDAwLDB4NzUsMHgwRSwweDU2LDB4RTgsMHhCNiwweDBFLDB4NTksMHgwQiwweEMwLDB4NzUsMHgwNSwweDhCLDB4QzcsCi0weEU5LDB4NUIsMHgwMSwweDhCLDB4NDYsMHhGQywweDg5LDB4NDYsMHhGRSwweDBCLDB4RkYsMHg3NSwweDA1LDB4QjgsMHgwMSwweDAwLAotMHhFQiwweDAyLDB4MzMsMHhDMCwweDUwLDB4NTYsMHhFOCwweEE0LDB4MEQsMHg1OSwweDU5LDB4QjQsMHgwMCwweDg5LDB4NDYsMHhGQywKLTB4OEIsMHg1RSwweEZDLDB4ODMsMHhGQiwweDA4LDB4NzYsMHgwMywweEU5LDB4MkIsMHgwMSwweEQxLDB4RTMsMHgyRSwweEZGLDB4QTcsCi0weEIyLDB4NjQsMHhCOCwweDAzLDB4MDAsMHhFOSwweDI2LDB4MDEsMHg4MywweDdFLDB4RkEsMHgwMCwweDc0LDB4MTQsMHhDNywweDQ2LAotMHhGQSwweDAwLDB4MDAsMHg4QSwweDQ0LDB4NTgsMHg5OCwweDUwLDB4OEEsMHg0NCwweDU5LDB4OTgsMHg1MCwweEU4LDB4QzIsMHgwRiwKLTB4NTksMHg1OSwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzQsMHgwQSwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg1NiwweEU4LDB4OUIsCi0weDA4LDB4NTksMHg4MywweDdFLDB4MDYsMHgwMCwweDc1LDB4MDUsMHg4QiwweEM3LDB4RTksMHhGMSwweDAwLDB4ODMsMHhGRiwweDA0LAotMHg3NSwweDAzLDB4RTksMHhFNiwweDAwLDB4OEIsMHhDNywweEU5LDB4RTQsMHgwMCwweDgzLDB4N0UsMHhGRSwweDAwLDB4NzUsMHgwMywKLTB4QkYsMHgwMiwweDAwLDB4RTksMHhENSwweDAwLDB4ODMsMHg3RSwweEZFLDB4MDAsMHg3NSwweDAzLDB4QkYsMHgwMSwweDAwLDB4RTksCi0weEM5LDB4MDAsMHg4QiwweDVFLDB4RkUsMHg4MywweEZCLDB4MDcsMHg3NiwweDAzLDB4RTksMHg4NiwweDAwLDB4RDEsMHhFMywweDJFLAotMHhGRiwweEE3LDB4QTIsMHg2NCwweDMzLDB4RkYsMHhFOSwweDdGLDB4MDAsMHhCRiwweDA0LDB4MDAsMHg4MCwweDdDLDB4NTgsMHgwRiwKLTB4NzQsMHgyMiwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzUsMHgxQywweEZFLDB4NDQsMHg1OCwweDZBLDB4MDgsMHg1NiwweEU4LDB4N0UsCi0weDBDLDB4NTksMHg1OSwweDhBLDB4NDQsMHg1OCwweDA0LDB4ODAsMHg1MCwweDU2LDB4RTgsMHg3MiwweDBDLDB4NTksMHg1OSwweEM3LAotMHg0NiwweEZBLDB4MDEsMHgwMCwweDgzLDB4N0UsMHhGOCwweDAwLDB4NzQsMHgwQSwweEM3LDB4NDYsMHhGOCwweDAwLDB4MDAsMHg1NiwKLTB4RTgsMHgxOSwweDA4LDB4NTksMHhFQiwweDQyLDB4QkYsMHgwNCwweDAwLDB4ODAsMHg3QywweDU4LDB4MDAsMHg3NCwweDIyLDB4ODMsCi0weDdFLDB4RjgsMHgwMCwweDc1LDB4MUMsMHhGRSwweDRDLDB4NTgsMHg2QSwweDA4LDB4NTYsMHhFOCwweDQxLDB4MEMsMHg1OSwweDU5LAotMHg4QSwweDQ0LDB4NTgsMHgwNCwweDgwLDB4NTAsMHg1NiwweEU4LDB4MzUsMHgwQywweDU5LDB4NTksMHhDNywweDQ2LDB4RkEsMHgwMSwKLTB4MDAsMHg4MywweDdFLDB4RjgsMHgwMCwweDc0LDB4MEEsMHhDNywweDQ2LDB4RjgsMHgwMCwweDAwLDB4NTYsMHhFOCwweERDLDB4MDcsCi0weDU5LDB4RUIsMHgwNSwweEJGLDB4MDQsMHgwMCwweEVCLDB4MDAsMHhFQiwweDMxLDB4QkYsMHgwNCwweDAwLDB4RUIsMHgyQywweEM3LAotMHg0NiwweEY4LDB4MDEsMHgwMCwweDZBLDB4MDgsMHg1NiwweEU4LDB4MDUsMHgwQywweDU5LDB4NTksMHg4MCwweDdDLDB4NTgsMHgwOSwKLTB4N0QsMHgwNCwweEIwLDB4MEYsMHhFQiwweDAyLDB4QjAsMHgwMCwweDA0LDB4ODAsMHg1MCwweDU2LDB4RTgsMHhGMCwweDBCLDB4NTksCi0weDU5LDB4QkYsMHgwNCwweDAwLDB4RUIsMHgwNSwweEJGLDB4MDQsMHgwMCwweEVCLDB4MDAsMHhFOSwweEE1LDB4RkUsMHg1RiwweDVFLAotMHhDOSwweEMzLDB4RTQsMHg2MywweDYzLDB4NjQsMHg2MywweDY0LDB4NjMsMHg2NCwweDYzLDB4NjQsMHhFOSwweDYzLDB4MjYsMHg2NCwKLTB4NTEsMHg2NCwweDc4LDB4NjMsMHhCQSwweDYzLDB4QzYsMHg2MywweDk2LDB4NjQsMHhEMiwweDYzLDB4NkEsMHg2NCwweDZBLDB4NjQsCi0weDZGLDB4NjQsMHg3MiwweDYzLDB4QzgsMHgwOCwweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg3NiwweDA0LDB4OEIsMHg3RSwweDA4LAotMHg2QSwweDAxLDB4NTYsMHhFOCwweEE5LDB4MEIsMHg1OSwweDU5LDB4OEEsMHg0NiwweDA2LDB4QzAsMHhFMCwweDA2LDB4MDQsMHg4MCwKLTB4NTAsMHg1NiwweEU4LDB4OUEsMHgwQiwweDU5LDB4NTksMHhDNywweDQ2LDB4RkUsMHgwMCwweDAwLDB4ODksMHg3RSwweEY4LDB4RUIsCi0weDAzLDB4RkYsMHg0NiwweEZFLDB4OEIsMHg1RSwweEY4LDB4RkYsMHg0NiwweEY4LDB4ODAsMHgzRiwweDAwLDB4NzUsMHhGMiwweDgzLAotMHg3RSwweEZFLDB4MTAsMHg3RCwweDI1LDB4QjgsMHgxMCwweDAwLDB4MkIsMHg0NiwweEZFLDB4RDEsMHhGOCwweDg5LDB4NDYsMHhGQywKLTB4QzcsMHg0NiwweEZBLDB4MDAsMHgwMCwweEVCLDB4MEIsMHg2QSwweDIwLDB4NTYsMHhFOCwweDYyLDB4MEIsMHg1OSwweDU5LDB4RkYsCi0weDQ2LDB4RkEsMHg4QiwweDQ2LDB4RkEsMHgzQiwweDQ2LDB4RkMsMHg3QywweEVELDB4RUIsMHgwQywweDhCLDB4REYsMHg0NywweDhBLAotMHgwNywweDUwLDB4NTYsMHhFOCwweDQ5LDB4MEIsMHg1OSwweDU5LDB4ODAsMHgzRCwweDAwLDB4NzUsMHhFRiwweDZBLDB4MDIsMHg1NiwKLTB4RTgsMHgzQywweDBCLDB4NTksMHg1OSwweEVCLDB4MDAsMHg1RiwweDVFLDB4QzksMHhDMywweEM4LDB4MDQsMHgwMCwweDAwLDB4NTYsCi0weDU3LDB4OEIsMHg3RSwweDA0LDB4QzcsMHg0NiwweEZFLDB4MDAsMHgwMCwweEJFLDB4MTQsMHgwMCwweEU5LDB4MDksMHgwMSwweDhCLAotMHg1RSwweEZFLDB4ODMsMHhDMywweDA0LDB4MkIsMHhERiwweDhBLDB4ODcsMHhBQywweDBCLDB4ODgsMHg0NCwweDVBLDB4QzYsMHg0NCwKLTB4NTgsMHgwOCwweDhBLDB4NDYsMHhGRSwweDg4LDB4NDQsMHg1OSwweEM3LDB4NDQsMHgwNiwweDAwLDB4MDAsMHhDNiwweDQ0LDB4MTksCi0weDAwLDB4QzYsMHg0NCwweDFBLDB4MDAsMHhDNiwweDQ0LDB4MUIsMHgwMCwweEM2LDB4NDQsMHgxRCwweDBELDB4QzYsMHg0NCwweDFFLAotMHgwMywweEM2LDB4NDQsMHgxRiwweDAwLDB4QzYsMHg0NCwweDIwLDB4MDAsMHhDNiwweDQ0LDB4MjEsMHgwMCwweEM2LDB4NDQsMHg1QiwKLTB4MDAsMHhDNiwweDQ0LDB4NUQsMHgwMCwweEM2LDB4NDQsMHg1RSwweDAwLDB4QzYsMHg0NCwweDVGLDB4MDAsMHhDNiwweDQ0LDB4NjAsCi0weDAwLDB4QzcsMHg0NiwweEZDLDB4MDAsMHgwMCwweEVCLDB4MEQsMHg4QiwweDVFLDB4RkMsMHhEMSwweEUzLDB4QzcsMHg0MCwweDMwLAotMHgwMCwweDAwLDB4RkYsMHg0NiwweEZDLDB4ODMsMHg3RSwweEZDLDB4MTAsMHg3QywweEVELDB4QzcsMHg0NiwweEZDLDB4MDAsMHgwMCwKLTB4RUIsMHgwQSwweDhCLDB4NUUsMHhGQywweEM2LDB4NDAsMHg1MCwweDAwLDB4RkYsMHg0NiwweEZDLDB4ODMsMHg3RSwweEZDLDB4MDQsCi0weDdDLDB4RjAsMHhDNywweDQ0LDB4NTQsMHgwMCwweDAwLDB4QzcsMHg0NCwweDU2LDB4MDAsMHgwMCwweDhBLDB4NDQsMHg1QSwweDk4LAotMHhCQSwweEY4LDB4MDAsMHgyMywweEQwLDB4QjgsMHgwNSwweDAwLDB4MEIsMHhDMiwweDg5LDB4NDYsMHhGQywweDlDLDB4RkEsMHg4QSwKLTB4NDYsMHhGQywweEJBLDB4RkUsMHgwMCwweEVFLDB4QkEsMHgwMCwweDAwLDB4RUMsMHg5RCwweDI0LDB4MDgsMHg4OCwweDQ2LDB4RkMsCi0weDgzLDB4N0UsMHhGQywweDAwLDB4NzUsMHgwMiwweEVCLDB4NEEsMHhGRiwweDc2LDB4RkUsMHhFOCwweDdBLDB4MEMsMHg1OSwweDY4LAotMHgzNSwweDAyLDB4NTYsMHhFOCwweDMyLDB4MEEsMHg1OSwweDU5LDB4MEIsMHhDMCwweDc1LDB4MzQsMHg2OCwweDM4LDB4MDIsMHg1NiwKLTB4RTgsMHgyNSwweDBBLDB4NTksMHg1OSwweDBCLDB4QzAsMHg3NSwweDI3LDB4NjgsMHg0MiwweDAyLDB4NTYsMHhFOCwweDE4LDB4MEEsCi0weDU5LDB4NTksMHgwQiwweEMwLDB4NzUsMHgxQSwweDY4LDB4NEMsMHgwMiwweDU2LDB4RTgsMHgwQiwweDBBLDB4NTksMHg1OSwweDBCLAotMHhDMCwweDc1LDB4MEQsMHg2OCwweDU2LDB4MDIsMHg1NiwweEU4LDB4RkUsMHgwOSwweDU5LDB4NTksMHgwQiwweEMwLDB4NzQsMHgwMiwKLTB4RUIsMHgwMCwweEZGLDB4NDYsMHhGRSwweDgzLDB4QzYsMHg2MiwweDM5LDB4N0UsMHhGRSwweDdELDB4MDMsMHhFOSwweEVGLDB4RkUsCi0weEVCLDB4MDAsMHg1RiwweDVFLDB4QzksMHhDMywweEM4LDB4MDgsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NDYsMHgwNCwweEJBLAotMHg2MiwweDAwLDB4RjcsMHhFQSwweDA1LDB4MTQsMHgwMCwweDhCLDB4RjAsMHg4MywweDdFLDB4MDYsMHgwMCwweDc0LDB4MDUsMHhCOCwKLTB4MTAsMHgwMCwweEVCLDB4MDMsMHhCOCwweDA4LDB4MDAsMHg4OSwweDQ0LDB4MDQsMHg4QSwweDQ2LDB4MDgsMHg4OCwweDQ0LDB4NUMsCi0weDU2LDB4RTgsMHg1OSwweDA0LDB4NTksMHg4QiwweEY4LDB4OEIsMHhDNywweDg5LDB4NDQsMHg1NiwweDg5LDB4NDQsMHg1NCwweDhBLAotMHg0NCwweDVELDB4ODgsMHg0NCwweDJGLDB4MEIsMHhGRiwweDc1LDB4MUQsMHg2OCwweEMyLDB4MEYsMHg2QSwweDAxLDB4NTYsMHhFOCwKLTB4MDIsMHhGRSwweDgzLDB4QzQsMHgwNiwweEVCLDB4MDAsMHg2QSwweDAxLDB4NTYsMHhFOCwweDQ3LDB4RkMsMHg1OSwweDU5LDB4MEIsCi0weEMwLDB4NzUsMHhGNCwweEJGLDB4MDEsMHgwMCwweDg5LDB4N0UsMHhGQSwweEI5LDB4MDUsMHgwMCwweEJCLDB4RTksMHg2QSwweDJFLAotMHg4QiwweDA3LDB4M0IsMHg0NiwweEZBLDB4NzQsMHgwNywweDQzLDB4NDMsMHhFMiwweEY0LDB4RTksMHhBNCwweDAzLDB4MkUsMHhGRiwKLTB4NjcsMHgwQSwweEM3LDB4NDQsMHgwNiwweDAyLDB4MDAsMHhDNywweDQ0LDB4MDgsMHhGNCwweDA4LDB4OEIsMHg1RSwweDA0LDB4RDEsCi0weEUzLDB4OEIsMHg4NywweEZDLDB4MDgsMHg4OSwweDQ0LDB4MEEsMHgzMywweEMwLDB4OEIsMHhGOCwweDg5LDB4NDQsMHg1NCwweEU5LAotMHg4MCwweDAzLDB4NTYsMHhFOCwweEJCLDB4MDUsMHg1OSwweEJGLDB4MDEsMHgwMCwweDhBLDB4NDQsMHg1RCwweDg4LDB4NDQsMHg2MCwKLTB4RTksMHg2RiwweDAzLDB4ODMsMHg3QywweDA0LDB4MDgsMHg3NSwweDMwLDB4ODAsMHg3QywweDVDLDB4MDEsMHg3NSwweDE1LDB4OEEsCi0weDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4RTQsMHgwOCwweDU2LDB4RTgsMHhGNywweDA4LAotMHg1OSwweDU5LDB4RUIsMHgxMywweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhDNCwKLTB4MDgsMHg1NiwweEU4LDB4RTIsMHgwOCwweDU5LDB4NTksMHhFQiwweDJFLDB4ODAsMHg3QywweDVDLDB4MDEsMHg3NSwweDE1LDB4OEEsCi0weDQ0LDB4NUQsMHhCNCwweDAwLDB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4RDQsMHgwOCwweDU2LDB4RTgsMHhDNywweDA4LAotMHg1OSwweDU5LDB4RUIsMHgxMywweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhCNCwKLTB4MDgsMHg1NiwweEU4LDB4QjIsMHgwOCwweDU5LDB4NTksMHg2QSwweDAxLDB4NTYsMHhFOCwweDg3LDB4RkIsMHg1OSwweDU5LDB4OEIsCi0weEQ4LDB4ODMsMHhGQiwweDAzLDB4NzcsMHgyQSwweEQxLDB4RTMsMHgyRSwweEZGLDB4QTcsMHhFMSwweDZBLDB4QkYsMHgwMSwweDAwLAotMHg4QSwweDQ0LDB4NUQsMHg4OCwweDQ0LDB4NUUsMHhFQiwweDE4LDB4OEEsMHg0NCwweDVELDB4MDQsMHhGRiwweDI0LDB4MDcsMHg4OCwKLTB4NDQsMHg1RCwweEVCLDB4MEMsMHg4QSwweDQ0LDB4NUQsMHhGRSwweEMwLDB4MjQsMHgwNywweDg4LDB4NDQsMHg1RCwweEVCLDB4MDAsCi0weEU5LDB4Q0YsMHgwMiwweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHhGRCwweDAyLAotMHg1NiwweEU4LDB4NjMsMHgwOCwweDU5LDB4NTksMHg2OCwweDFELDB4MDMsMHg1NiwweEU4LDB4NUEsMHgwOCwweDU5LDB4NTksMHg2QSwKLTB4MDEsMHg1NiwweEU4LDB4MkYsMHhGQiwweDU5LDB4NTksMHg4QiwweEQ4LDB4ODMsMHhGQiwweDAzLDB4NzcsMHgzNiwweEQxLDB4RTMsCi0weDJFLDB4RkYsMHhBNywweEQ5LDB4NkEsMHhCRiwweDAxLDB4MDAsMHg4QSwweDQ0LDB4NUQsMHg4OCwweDQ0LDB4NUYsMHhFQiwweDI0LAotMHg4QSwweDQ0LDB4NUQsMHgwNCwweEZGLDB4OEEsMHg1NCwweDA0LDB4ODAsMHhDMiwweEZGLDB4MjIsMHhDMiwweDg4LDB4NDQsMHg1RCwKLTB4RUIsMHgxMiwweDhBLDB4NDQsMHg1RCwweEZFLDB4QzAsMHg4QSwweDU0LDB4MDQsMHg4MCwweEMyLDB4RkYsMHgyMiwweEMyLDB4ODgsCi0weDQ0LDB4NUQsMHhFQiwweDAwLDB4RTksMHg2QiwweDAyLDB4OEIsMHg1QywweDA2LDB4ODMsMHhDMywweEZFLDB4RDEsMHhFMywweDhCLAotMHg0MCwweDA4LDB4ODksMHgwNCwweDhCLDB4MUMsMHhGRiwweDc3LDB4MDYsMHg2QSwweDAwLDB4NTYsMHhFOCwweDg1LDB4RkMsMHg4MywKLTB4QzQsMHgwNiwweDhCLDB4NUMsMHgwNiwweDRCLDB4RDEsMHhFMywweDhCLDB4NDAsMHgwOCwweDg5LDB4NDQsMHgwMiwweDhCLDB4NUMsCi0weDAyLDB4RkYsMHg3NywweDA2LDB4NkEsMHgwMSwweDU2LDB4RTgsMHg2QSwweEZDLDB4ODMsMHhDNCwweDA2LDB4NkEsMHgwMSwweDU2LAotMHhFOCwweEIxLDB4RkEsMHg1OSwweDU5LDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwMywweDc2LDB4MDMsMHhFOSwweDFGLDB4MDIsMHhEMSwKLTB4RTMsMHgyRSwweEZGLDB4QTcsMHhEMSwweDZBLDB4OEIsMHg1QywweDAyLDB4OEIsMHg0NywweDA0LDB4ODksMHg0NCwweDAyLDB4OEIsCi0weDVDLDB4MDIsMHg4MCwweDNGLDB4NDQsMHg3NSwweDBELDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4QjQsMHgwMCwweDNCLAotMHg0NCwweDA0LDB4N0QsMHhFMiwweDhCLDB4NDYsMHgwNCwweEQxLDB4RTAsMHg4QiwweDFDLDB4MDMsMHhEOCwweDhCLDB4NDQsMHgwMiwKLTB4ODksMHg0NywweDA4LDB4OEIsMHg1QywweDA2LDB4NEIsMHhEMSwweEUzLDB4OEIsMHg0NCwweDAyLDB4ODksMHg0MCwweDA4LDB4RTksCi0weERFLDB4MDEsMHg4QiwweDVDLDB4MDIsMHg4QiwweDQ3LDB4MDIsMHg4OSwweDQ0LDB4MDIsMHg4QiwweDVDLDB4MDIsMHg4MCwweDNGLAotMHg0NCwweDc1LDB4MEQsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHhCNCwweDAwLDB4M0IsMHg0NCwweDA0LDB4N0QsMHhFMiwKLTB4OEIsMHg0NiwweDA0LDB4RDEsMHhFMCwweDhCLDB4MUMsMHgwMywweEQ4LDB4OEIsMHg0NCwweDAyLDB4ODksMHg0NywweDA4LDB4OEIsCi0weDVDLDB4MDYsMHg0QiwweEQxLDB4RTMsMHg4QiwweDQ0LDB4MDIsMHg4OSwweDQwLDB4MDgsMHhFOSwweEEyLDB4MDEsMHhCRiwweDAxLAotMHgwMCwweEU5LDB4OUMsMHgwMSwweDhCLDB4NUMsMHgwMiwweDhBLDB4MDcsMHhCNCwweDAwLDB4ODksMHg0NiwweEY4LDB4QjksMHgwQywKLTB4MDAsMHhCQiwweEExLDB4NkEsMHgyRSwweDhCLDB4MDcsMHgzQiwweDQ2LDB4RjgsMHg3NCwweDA3LDB4NDMsMHg0MywweEUyLDB4RjQsCi0weEU5LDB4NzcsMHgwMSwweDJFLDB4RkYsMHg2NywweDE4LDB4OEIsMHg0NiwweDA0LDB4RDEsMHhFMCwweDhCLDB4NUMsMHgwMiwweDAzLAotMHhEOCwweDhCLDB4NDcsMHgwOCwweDhCLDB4NUMsMHgwNiwweEZGLDB4NDQsMHgwNiwweEQxLDB4RTMsMHg4OSwweDQwLDB4MDgsMHg4QiwKLTB4MUMsMHg4MCwweDdGLDB4MDEsMHgwMCwweDc0LDB4MTIsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4QiwweDFDLDB4OEEsCi0weDU3LDB4MDEsMHhCNiwweDAwLDB4OEIsMHhEQSwweDg4LDB4NDAsMHgxOCwweEU5LDB4NDAsMHgwMSwweEZGLDB4NEMsMHgwNiwweEU5LAotMHgzQSwweDAxLDB4OEIsMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4OEIsMHgxQywweDhBLDB4NTcsMHgwMSwweEI2LDB4MDAsMHg4QiwKLTB4REEsMHg4OCwweDQwLDB4MTgsMHhFOSwweDI1LDB4MDEsMHg4QiwweDVDLDB4MDIsMHg4QSwweDQ3LDB4MDEsMHg4QiwweDFDLDB4OEEsCi0weDU3LDB4MDEsMHhCNiwweDAwLDB4OEIsMHhEQSwweDg4LDB4NDAsMHgxOCwweEZGLDB4NEMsMHgwNiwweEU5LDB4MEQsMHgwMSwweDhCLAotMHg1QywweDAyLDB4OEEsMHg0NywweDAxLDB4OEIsMHgxQywweDhBLDB4NTcsMHgwMSwweEI2LDB4MDAsMHg4QiwweERBLDB4MzAsMHg0MCwKLTB4MTgsMHhFOSwweEY4LDB4MDAsMHhCOCwweEYwLDB4MTAsMHg4QiwweEY4LDB4ODksMHg0NCwweDU0LDB4OEEsMHg0NCwweDVGLDB4ODgsCi0weDQ0LDB4NUQsMHhFOSwweEU3LDB4MDAsMHg4QSwweDQ0LDB4MUMsMHg5OCwweDNELDB4MDIsMHgwMCwweDc0LDB4MDcsMHgzRCwweDAzLAotMHgwMCwweDc0LDB4MDIsMHhFQiwweDA3LDB4QzcsMHg0NiwweEZFLDB4MDAsMHgwMCwweEVCLDB4MkIsMHg4QSwweDQ0LDB4MUMsMHg5OCwKLTB4RDEsMHhFMCwweDhCLDB4RDgsMHhGRiwweEI3LDB4NjksMHgwMiwweDU2LDB4RTgsMHg2QiwweDA2LDB4NTksMHg1OSwweDZBLDB4MDEsCi0weDU2LDB4RTgsMHg0MCwweEY5LDB4NTksMHg1OSwweDg5LDB4NDYsMHhGRSwweDgzLDB4N0UsMHhGRSwweDAwLDB4NzQsMHgwNiwweDgzLAotMHg3RSwweEZFLDB4MDMsMHg3NSwweEU5LDB4RUIsMHgwMCwweDgzLDB4N0UsMHhGRSwweDAzLDB4NzQsMHg2MiwweDhBLDB4NDQsMHgxQywKLTB4OTgsMHhEMSwweEUwLDB4OEIsMHhEOCwweEZGLDB4QjcsMHg2RCwweDAyLDB4NTYsMHhFOCwweDNBLDB4MDYsMHg1OSwweDU5LDB4NTYsCi0weEU4LDB4NEQsMHg5NywweDU5LDB4ODksMHg0NiwweEZDLDB4OEIsMHg1RSwweEZDLDB4ODMsMHhFQiwweEZFLDB4ODMsMHhGQiwweDAzLAotMHg3NywweDMzLDB4RDEsMHhFMywweDJFLDB4RkYsMHhBNywweDk5LDB4NkEsMHg2OCwweEFDLDB4MDIsMHg1NiwweEU4LDB4MTcsMHgwNiwKLTB4NTksMHg1OSwweEVCLDB4MjMsMHg2OCwweDhGLDB4MDIsMHg1NiwweEU4LDB4MEMsMHgwNiwweDU5LDB4NTksMHhFQiwweDE4LDB4NjgsCi0weDc1LDB4MDIsMHg1NiwweEU4LDB4MDEsMHgwNiwweDU5LDB4NTksMHhFQiwweDBELDB4NjgsMHhDNiwweDAyLDB4NTYsMHhFOCwweEY2LAotMHgwNSwweDU5LDB4NTksMHhFQiwweDAyLDB4RUIsMHgwMCwweDZBLDB4MDEsMHg1NiwweEU4LDB4QzcsMHhGOCwweDU5LDB4NTksMHhCRiwKLTB4MDEsMHgwMCwweEVCLDB4MzgsMHg2OCwweERELDB4MDIsMHg1NiwweEU4LDB4REMsMHgwNSwweDU5LDB4NTksMHg2QSwweDAxLDB4NTYsCi0weEU4LDB4QjEsMHhGOCwweDU5LDB4NTksMHhCRiwweDAxLDB4MDAsMHhFQiwweDIyLDB4QjgsMHhEMCwweDMwLDB4OEIsMHhGOCwweDg5LAotMHg0NCwweDU0LDB4OEEsMHg0NCwweDYwLDB4ODgsMHg0NCwweDVELDB4RUIsMHgxMiwweEI4LDB4RTAsMHgyMCwweDhCLDB4RjgsMHg4OSwKLTB4NDQsMHg1NCwweDhBLDB4NDQsMHg1RSwweDg4LDB4NDQsMHg1RCwweEVCLDB4MDIsMHhFQiwweDAwLDB4RUIsMHgwMiwweEVCLDB4MDAsCi0weEVCLDB4MDAsMHhFOSwweDQxLDB4RkMsMHg1RiwweDVFLDB4QzksMHhDMywweDE5LDB4NkEsMHgyNCwweDZBLDB4MkYsMHg2QSwweDNBLAotMHg2QSwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDIsMHgwMCwweDA0LDB4MDAsMHg0MSwweDAwLDB4NDIsMHgwMCwweDQzLDB4MDAsMHg0NCwKLTB4MDAsMHg4MCwweDAwLDB4ODEsMHgwMCwweDgyLDB4MDAsMHhGRiwweDAwLDB4MTcsMHg2OSwweDU0LDB4NkEsMHg3QSwweDZBLDB4QTUsCi0weDY5LDB4NTIsMHg2OSwweDk0LDB4NjksMHg2QSwweDZBLDB4NjcsMHg2OSwweDUyLDB4NjksMHg3RiwweDY5LDB4NjcsMHg2OSwweDRDLAotMHg2OSwweEY0LDB4NjgsMHg3NiwweDY4LDB4QjIsMHg2OCwweEVFLDB4NjgsMHhGNSwweDY3LDB4MDAsMHg2OCwweDEyLDB4NjgsMHhGNSwKLTB4NjcsMHg5RCwweDY3LDB4QTgsMHg2NywweEI0LDB4NjcsMHg5RCwweDY3LDB4MDAsMHgwMCwweDAxLDB4MDAsMHhGMCwweDEwLDB4RTAsCi0weDIwLDB4RDAsMHgzMCwweDI3LDB4NjgsMHhGMiwweDY2LDB4QzMsMHg2NywweDIzLDB4NjcsMHgxMiwweDY3LDB4QzgsMHgwNCwweDAwLAotMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NTksMHg5OCwweDg5LDB4NDYsMHhGQywweDZBLDB4MDksMHg4QiwKLTB4NDYsMHhGQywweDA1LDB4ODQsMHgwMSwweDUwLDB4RTgsMHg5MywweDA4LDB4NTksMHg1OSwweDhCLDB4RjgsMHg4QiwweEM3LDB4MjUsCi0weDAwLDB4RjAsMHgzRCwweDAwLDB4MTAsMHg3NSwweDU1LDB4OEIsMHhDNywweDI1LDB4RjAsMHgwMCwweDNELDB4RjAsMHgwMCwweDc1LAotMHg0QiwweDhCLDB4QzcsMHgyNSwweDAwLDB4MEYsMHhDMSwweEY4LDB4MDgsMHg4OSwweDQ2LDB4RkUsMHg4QiwweDQ0LDB4MDQsMHgzQiwKLTB4NDYsMHhGRSwweDdELDB4MDUsMHgzMywweEMwLDB4RTksMHhFRiwweDAwLDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweEJBLDB4MEYsCi0weDAwLDB4MkIsMHhEMCwweDNCLDB4NTYsMHhGRSwweDc0LDB4MDUsMHgzMywweEMwLDB4RTksMHhEQiwweDAwLDB4QzcsMHg0NCwweDAyLAotMHgwNCwweDA5LDB4OEEsMHg0NiwweEZFLDB4ODgsMHg0NCwweDVGLDB4ODgsMHg0NCwweDVELDB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywKLTB4QzcsMHg4NywweEZDLDB4MDgsMHgwNCwweDA5LDB4QjgsMHhGMCwweDEwLDB4RTksMHhCQywweDAwLDB4OEIsMHhDNywweDI1LDB4MDAsCi0weEYwLDB4M0QsMHgwMCwweDIwLDB4NzUsMHg1MiwweDhCLDB4QzcsMHgyNSwweEYwLDB4MDAsMHgzRCwweEUwLDB4MDAsMHg3NSwweDQ4LAotMHg4QiwweEM3LDB4MjUsMHgwMCwweDBGLDB4QzEsMHhGOCwweDA4LDB4ODksMHg0NiwweEZFLDB4ODMsMHg3RSwweEZFLDB4MDgsMHg3RSwKLTB4MDUsMHgzMywweEMwLDB4RTksMHg5MiwweDAwLDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweEJBLDB4MEYsMHgwMCwweDJCLDB4RDAsCi0weDNCLDB4NTYsMHhGRSwweDc0LDB4MDUsMHgzMywweEMwLDB4RUIsMHg3RiwweDkwLDB4QzcsMHg0NCwweDAyLDB4MEMsMHgwOSwweDhBLAotMHg0NiwweEZFLDB4ODgsMHg0NCwweDVFLDB4ODgsMHg0NCwweDVELDB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywweEM3LDB4ODcsMHhGQywKLTB4MDgsMHgwQywweDA5LDB4QjgsMHhFMCwweDIwLDB4RUIsMHg2MCwweDhCLDB4QzcsMHgyNSwweDAwLDB4RjAsMHgzRCwweDAwLDB4MzAsCi0weDc1LDB4NTIsMHg4QiwweEM3LDB4MjUsMHhGMCwweDAwLDB4M0QsMHhEMCwweDAwLDB4NzUsMHg0OCwweDhCLDB4QzcsMHgyNSwweDAwLAotMHgwRiwweEMxLDB4RjgsMHgwOCwweDg5LDB4NDYsMHhGRSwweDhCLDB4NDQsMHgwNCwweDNCLDB4NDYsMHhGRSwweDdELDB4MDQsMHgzMywKLTB4QzAsMHhFQiwweDM1LDB4OEIsMHhDNywweDI1LDB4MEYsMHgwMCwweEJBLDB4MEYsMHgwMCwweDJCLDB4RDAsMHgzQiwweDU2LDB4RkUsCi0weDc0LDB4MDQsMHgzMywweEMwLDB4RUIsMHgyMiwweEM3LDB4NDQsMHgwMiwweDE0LDB4MDksMHg4QSwweDQ2LDB4RkUsMHg4OCwweDQ0LAotMHg2MCwweDg4LDB4NDQsMHg1RCwweDhCLDB4NUUsMHhGQywweEQxLDB4RTMsMHhDNywweDg3LDB4RkMsMHgwOCwweDE0LDB4MDksMHhCOCwKLTB4RDAsMHgzMCwweEVCLDB4MDQsMHgzMywweEMwLDB4RUIsMHgwMCwweDVGLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwNiwweDAwLDB4MDAsCi0weDU2LDB4OEIsMHg3NiwweDA0LDB4NkEsMHgwOCwweDU2LDB4RTgsMHgzNSwweDA0LDB4NTksMHg1OSwweDhBLDB4NDQsMHg1OCwweDA0LAotMHg4MCwweDUwLDB4NTYsMHhFOCwweDI5LDB4MDQsMHg1OSwweDU5LDB4OEIsMHg0NCwweDU0LDB4M0IsMHg0NCwweDU2LDB4NzUsMHgwQSwKLTB4OEEsMHg0NCwweDVELDB4M0EsMHg0NCwweDJGLDB4NzUsMHgwMiwweEVCLDB4NjQsMHg4QiwweDQ0LDB4NTQsMHg4OSwweDQ0LDB4NTYsCi0weDhCLDB4NUMsMHgwMiwweDhBLDB4NDcsMHgwMSwweDg4LDB4NDQsMHgyRiwweDhBLDB4NDQsMHg1RCwweEI0LDB4MDAsMHhDMSwweEUwLAotMHgwOCwweDhCLDB4NTQsMHg1NCwweDBCLDB4RDAsMHg4QSwweDQ0LDB4NUQsMHhCNCwweDAwLDB4QkIsMHgwRiwweDAwLDB4MkIsMHhEOCwKLTB4MEIsMHhEMywweDg5LDB4NTYsMHhGRSwweDZBLDB4MTAsMHg4QSwweDQ0LDB4NTksMHg5OCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDUsCi0weDQwLDB4MDEsMHg4MywweEQyLDB4MDAsMHg1MiwweDUwLDB4RTgsMHg1NCwweDA4LDB4ODMsMHhDNCwweDA2LDB4ODksMHg1NiwweEZDLAotMHg4OSwweDQ2LDB4RkEsMHg4QiwweDQ2LDB4RkUsMHgwOSwweDQ2LDB4RkEsMHg4MywweDRFLDB4RkMsMHgwMCwweDZBLDB4MTksMHhGRiwKLTB4NzYsMHhGQywweEZGLDB4NzYsMHhGQSwweEU4LDB4NzMsMHgwNywweDgzLDB4QzQsMHgwNiwweEU4LDB4RkUsMHgwNywweDVFLDB4QzksCi0weEMzLDB4QzgsMHgxQywweDAwLDB4MDAsMHg1NiwweDU3LDB4OEIsMHg1RSwweDA0LDB4OEEsMHg0NywweDU5LDB4OTgsMHg4QiwweEYwLAotMHg4QiwweDVFLDB4MDQsMHg4QSwweDQ3LDB4NUQsMHhCNCwweDAwLDB4ODksMHg0NiwweEU2LDB4ODMsMHg3RSwweEU2LDB4MDAsMHg3RCwKLTB4MEEsMHg4QiwweDVFLDB4MDQsMHg4QiwweDQ3LDB4MDQsMHg0OCwweDg5LDB4NDYsMHhFNiwweDhCLDB4NUUsMHgwNCwweDhCLDB4NDcsCi0weDA0LDB4M0IsMHg0NiwweEU2LDB4N0YsMHgwNSwweEM3LDB4NDYsMHhFNiwweDAwLDB4MDAsMHg4QiwweDVFLDB4MDQsMHg4QSwweDQ2LAotMHhFNiwweDg4LDB4NDcsMHg1RCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwweDQ3LDB4MDIsMHgyMCwKLTB4OEIsMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NTksMHgwMiwweEM2LDB4NDcsMHgwMywweDMwLDB4OEIsMHhERSwweEQxLDB4RTMsCi0weDhCLDB4OUYsMHg2MSwweDAyLDB4QzYsMHg0NywweDAyLDB4MjAsMHg4QiwweERFLDB4RDEsMHhFMywweDhCLDB4OUYsMHg2MSwweDAyLAotMHhDNiwweDQ3LDB4MDMsMHgzMCwweDhCLDB4NDYsMHhFNiwweDg5LDB4NDYsMHhGQSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxOCwKLTB4OEIsMHg0NiwweEZBLDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsCi0weEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHg4OCwweDU3LDB4MDMsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RkEsMHgzMywweEQyLAotMHhGNywweEYzLDB4ODksMHg0NiwweEZBLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE4LDB4OEIsMHg0NiwweEZBLDB4QkIsMHgwQSwKLTB4MDAsMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsCi0weDg4LDB4NTcsMHgwMiwweDhCLDB4NDYsMHhFNiwweDg5LDB4NDYsMHhGQSwweDgzLDB4N0UsMHhGQSwweDAwLDB4NzQsMHgxOCwweDhCLAotMHg0NiwweEZBLDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsMHhFMywKLTB4OEIsMHg5RiwweDYxLDB4MDIsMHg4OCwweDU3LDB4MDMsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RkEsMHgzMywweEQyLDB4RjcsCi0weEYzLDB4ODksMHg0NiwweEZBLDB4ODMsMHg3RSwweEZBLDB4MDAsMHg3NCwweDE4LDB4OEIsMHg0NiwweEZBLDB4QkIsMHgwQSwweDAwLAotMHgzMywweEQyLDB4RjcsMHhGMywweDgwLDB4QzIsMHgzMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHg4OCwKLTB4NTcsMHgwMiwweDhCLDB4NUUsMHhFNiwweEQxLDB4RTMsMHhGRiwweEI3LDB4MTIsMHgwMiwweDZBLDB4MDAsMHhGRiwweDc2LDB4MDQsCi0weEU4LDB4RDEsMHhGNiwweDgzLDB4QzQsMHgwNiwweDY4LDB4RDMsMHgwRiwweDZBLDB4MDEsMHhGRiwweDc2LDB4MDQsMHhFOCwweEMzLAotMHhGNiwweDgzLDB4QzQsMHgwNiwweEZGLDB4NzYsMHhFNiwweDU2LDB4RTgsMHgwMSwweDkzLDB4NTksMHg1OSwweDg5LDB4NTYsMHhGMiwKLTB4ODksMHg0NiwweEYwLDB4RkYsMHg3NiwweEU2LDB4NTYsMHhFOCwweDE0LDB4OTMsMHg1OSwweDU5LDB4ODksMHg1NiwweEVFLDB4ODksCi0weDQ2LDB4RUMsMHg5QywweEZBLDB4QzQsMHg1RSwweEYwLDB4MjYsMHg4QiwweDA3LDB4ODksMHg0NiwweEVBLDB4QzQsMHg1RSwweEVDLAotMHgyNiwweDhCLDB4MDcsMHg4OSwweDQ2LDB4RTgsMHhCQSwweDUwLDB4RkYsMHhFRCwweDg5LDB4NDYsMHhGRSwweDlELDB4QzcsMHg0NiwKLTB4RTQsMHgwMSwweDAwLDB4RTgsMHhFRSwweEEwLDB4QkEsMHg1MCwweEZGLDB4RUQsMHg4OSwweDQ2LDB4RkMsMHg4QiwweDQ2LDB4RkMsCi0weDJCLDB4NDYsMHhGRSwweDNELDB4RTgsMHgwMywweDczLDB4MDMsMHhFOSwweDgwLDB4MDEsMHg5QywweEZBLDB4QkEsMHg1MCwweEZGLAotMHhFRCwweDg5LDB4NDYsMHhGQywweDhCLDB4NDYsMHhGQywweDJCLDB4NDYsMHhGRSwweDg5LDB4NDYsMHhGOCwweEM0LDB4NUUsMHhGMCwKLTB4MjYsMHg4QiwweDA3LDB4MkIsMHg0NiwweEVBLDB4ODksMHg0NiwweEY2LDB4QzQsMHg1RSwweEYwLDB4MjYsMHg4QiwweDA3LDB4ODksCi0weDQ2LDB4RUEsMHhDNCwweDVFLDB4RUMsMHgyNiwweDhCLDB4MDcsMHgyQiwweDQ2LDB4RTgsMHg4OSwweDQ2LDB4RjQsMHhDNCwweDVFLAotMHhFQywweDI2LDB4OEIsMHgwNywweDg5LDB4NDYsMHhFOCwweEJBLDB4NTAsMHhGRiwweEVELDB4ODksMHg0NiwweEZFLDB4OUQsMHg4MSwKLTB4N0UsMHhGOCwweEU4LDB4MDMsMHg3NiwweDFDLDB4RkYsMHg3NiwweEY4LDB4RkYsMHg3NiwweEY2LDB4RTgsMHg3NiwweDAxLDB4NTksCi0weDU5LDB4ODksMHg0NiwweEY2LDB4RkYsMHg3NiwweEY4LDB4RkYsMHg3NiwweEY0LDB4RTgsMHg2OCwweDAxLDB4NTksMHg1OSwweDg5LAotMHg0NiwweEY0LDB4QkYsMHgwRSwweDAwLDB4RUIsMHgxNywweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwKLTB4MDEsMHgyMCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHhDNiwweDAxLDB4MjAsMHg0NywweDgzLDB4RkYsCi0weDExLDB4NzYsMHhFNCwweDhCLDB4REUsMHhEMSwweEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHhDNiwweDQ3LDB4MEQsMHgzMCwweDhCLAotMHhERSwweEQxLDB4RTMsMHg4QiwweDlGLDB4NjEsMHgwMiwweEM2LDB4NDcsMHgwRCwweDMwLDB4ODMsMHg3RSwweEY2LDB4MDksMHg3NywKLTB4MDUsMHhCOCwweDBELDB4MDAsMHhFQiwweDI2LDB4ODMsMHg3RSwweEY2LDB4NjMsMHg3NywweDA1LDB4QjgsMHgwRSwweDAwLDB4RUIsCi0weDFCLDB4ODEsMHg3RSwweEY2LDB4RTcsMHgwMywweDc3LDB4MDUsMHhCOCwweDBGLDB4MDAsMHhFQiwweDBGLDB4ODEsMHg3RSwweEY2LAotMHgwRiwweDI3LDB4NzcsMHgwNSwweEI4LDB4MTAsMHgwMCwweEVCLDB4MDMsMHhCOCwweDExLDB4MDAsMHg4QiwweEY4LDB4RUIsMHgyNSwKLTB4OEIsMHg0NiwweEY2LDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsCi0weEUzLDB4OEIsMHg5RiwweDU5LDB4MDIsMHg4OCwweDExLDB4NEYsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RjYsMHgzMywweEQyLAotMHhGNywweEYzLDB4ODksMHg0NiwweEY2LDB4ODMsMHg3RSwweEY2LDB4MDAsMHg3NSwweEQ1LDB4ODMsMHg3RSwweEY0LDB4MDksMHg3NywKLTB4MDUsMHhCOCwweDBELDB4MDAsMHhFQiwweDI2LDB4ODMsMHg3RSwweEY0LDB4NjMsMHg3NywweDA1LDB4QjgsMHgwRSwweDAwLDB4RUIsCi0weDFCLDB4ODEsMHg3RSwweEY0LDB4RTcsMHgwMywweDc3LDB4MDUsMHhCOCwweDBGLDB4MDAsMHhFQiwweDBGLDB4ODEsMHg3RSwweEY0LAotMHgwRiwweDI3LDB4NzcsMHgwNSwweEI4LDB4MTAsMHgwMCwweEVCLDB4MDMsMHhCOCwweDExLDB4MDAsMHg4QiwweEY4LDB4RUIsMHgyNSwKLTB4OEIsMHg0NiwweEY0LDB4QkIsMHgwQSwweDAwLDB4MzMsMHhEMiwweEY3LDB4RjMsMHg4MCwweEMyLDB4MzAsMHg4QiwweERFLDB4RDEsCi0weEUzLDB4OEIsMHg5RiwweDYxLDB4MDIsMHg4OCwweDExLDB4NEYsMHhCQiwweDBBLDB4MDAsMHg4QiwweDQ2LDB4RjQsMHgzMywweEQyLAotMHhGNywweEYzLDB4ODksMHg0NiwweEY0LDB4ODMsMHg3RSwweEY0LDB4MDAsMHg3NSwweEQ1LDB4OEIsMHhERSwweEQxLDB4RTMsMHhGRiwKLTB4QjcsMHg1OSwweDAyLDB4RkYsMHg3NiwweDA0LDB4RTgsMHg2RSwweDAwLDB4NTksMHg1OSwweDhCLDB4REUsMHhEMSwweEUzLDB4RkYsCi0weEI3LDB4NjEsMHgwMiwweEZGLDB4NzYsMHgwNCwweEU4LDB4NUUsMHgwMCwweDU5LDB4NTksMHg2QSwweDAwLDB4RkYsMHg3NiwweDA0LAotMHhFOCwweDMxLDB4RjMsMHg1OSwweDU5LDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwNCwweDc3LDB4MUYsMHhEMSwweEUzLDB4MkUsMHhGRiwKLTB4QTcsMHgxQiwweDcwLDB4RUIsMHgyMiwweEM3LDB4NDYsMHhFNCwweDAwLDB4MDAsMHhGRiwweDRFLDB4RTYsMHhFQiwweDBDLDB4QzcsCi0weDQ2LDB4RTQsMHgwMCwweDAwLDB4RkYsMHg0NiwweEU2LDB4RUIsMHgwMiwweEVCLDB4MDAsMHg4MywweDdFLDB4RTQsMHgwMCwweDc0LAotMHgwMywweEU5LDB4MkEsMHhGRSwweEU5LDB4RDQsMHhGQywweDVGLDB4NUUsMHhDOSwweEMzLDB4RjMsMHg2RiwweEY1LDB4NkYsMHhGRiwKLTB4NkYsMHhGMywweDZGLDB4MDksMHg3MCwweDU1LDB4OEIsMHhFQywweDhCLDB4NDYsMHgwNCwweEI5LDB4RTgsMHgwMywweEY3LDB4RTEsCi0weDhCLDB4NEUsMHgwNiwweEY3LDB4RjEsMHg1RCwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsMHg4QiwweDc2LDB4MDYsMHhFQiwweDBFLAotMHg4QiwweERFLDB4NDYsMHg4QSwweDA3LDB4NTAsMHhGRiwweDc2LDB4MDQsMHhFOCwweDMzLDB4MDAsMHg1OSwweDU5LDB4ODAsMHgzQywKLTB4MDAsMHg3NSwweEVELDB4RUIsMHgwMCwweDVFLDB4NUQsMHhDMywweDU1LDB4OEIsMHhFQywweDU2LDB4OEIsMHg3NiwweDA2LDB4RUIsCi0weDE0LDB4OEIsMHhERSwweDQ2LDB4OEEsMHgwNywweDUwLDB4RkYsMHg3NiwweDA0LDB4RTgsMHg0NSwweDAwLDB4NTksMHg1OSwweDBCLAotMHhDMCwweDc0LDB4MDIsMHhFQiwweDA3LDB4ODAsMHgzQywweDAwLDB4NzUsMHhFNywweEVCLDB4MDAsMHg1RSwweDVELDB4QzMsMHhDOCwKLTB4MDIsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LDB4NDYsMHhGRSwweDlDLDB4RkEsCi0weDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwweEVFLDB4QkEsMHgwMiwweDAwLDB4RUMsMHhBOCwweDAyLDB4NzQsMHgwNiwweDlELAotMHhFOCwweDkxLDB4OUUsMHhFQiwweEU5LDB4QkEsMHgwMCwweDAwLDB4OEEsMHg0NiwweDA2LDB4RUUsMHg5RCwweEVCLDB4MDAsMHg1RSwKLTB4QzksMHhDMywweEM4LDB4MDQsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LDB4NDYsCi0weEZFLDB4RTgsMHhFNiwweEExLDB4ODksMHg0NiwweEZDLDB4RTgsMHhFMCwweEExLDB4MkIsMHg0NiwweEZDLDB4M0QsMHhCOCwweDBCLAotMHg3NiwweDA1LDB4QjgsMHgwMSwweDAwLDB4RUIsMHgyMywweDlDLDB4RkEsMHg4QSwweDQ2LDB4RkUsMHhCQSwweEZFLDB4MDAsMHhFRSwKLTB4QkEsMHgwMiwweDAwLDB4RUMsMHhBOCwweDAyLDB4NzQsMHgwNiwweDlELDB4RTgsMHg0OCwweDlFLDB4RUIsMHhEOSwweEJBLDB4MDAsCi0weDAwLDB4OEEsMHg0NiwweDA2LDB4RUUsMHg5RCwweDMzLDB4QzAsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4QzgsMHgwNCwweDAwLAotMHgwMCwweDU2LDB4NTcsMHg4QiwweDc2LDB4MDQsMHg4MywweDdFLDB4MDYsMHgwMCwweDc0LDB4MDcsMHg1NiwweEU4LDB4MDMsMHgwMSwKLTB4NTksMHhFQiwweDA1LDB4NTYsMHhFOCwweEEyLDB4MDAsMHg1OSwweDg4LDB4NDYsMHhGRiwweDgwLDB4N0UsMHhGRiwweDA4LDB4NzcsCi0weDA2LDB4OEEsMHg0NiwweEZGLDB4RTksMHg4NCwweDAwLDB4ODAsMHg3RSwweEZGLDB4MEYsMHg3NiwweDAzLDB4RUIsMHg3OSwweDkwLAotMHg4QSwweDQ2LDB4RkYsMHhCNCwweDAwLDB4MkQsMHgwQSwweDAwLDB4OEIsMHhEOCwweDgzLDB4RkIsMHgwNCwweDc3LDB4NjcsMHhEMSwKLTB4RTMsMHgyRSwweEZGLDB4QTcsMHhBRiwweDcxLDB4QjAsMHgwMCwweEVCLDB4NjEsMHg1NiwweEU4LDB4NkIsMHgwMCwweDU5LDB4QjQsCi0weDAwLDB4MjUsMHgwRiwweDAwLDB4ODksMHg0NiwweEZDLDB4NTYsMHhFOCwweDVFLDB4MDAsMHg1OSwweEI0LDB4MDAsMHg4QiwweEY4LAotMHg1NiwweEU4LDB4NTUsMHgwMCwweDU5LDB4QjQsMHgwMCwweEMxLDB4RTAsMHgwOCwweDhCLDB4RDcsMHgwMywweEQwLDB4OEIsMHhGQSwKLTB4OEIsMHg1RSwweEZDLDB4RDEsMHhFMywweDg5LDB4NzgsMHgzMCwweEVCLDB4MkUsMHg1NiwweEU4LDB4M0IsMHgwMCwweDU5LDB4ODgsCi0weDQ0LDB4NUIsMHhFQiwweDI0LDB4NTYsMHhFOCwweDMxLDB4MDAsMHg1OSwweDg4LDB4NDQsMHg1MCwweDU2LDB4RTgsMHgyOSwweDAwLAotMHg1OSwweDg4LDB4NDQsMHg1MSwweDU2LDB4RTgsMHgyMSwweDAwLDB4NTksMHg4OCwweDQ0LDB4NTIsMHg1NiwweEU4LDB4MTksMHgwMCwKLTB4NTksMHg4OCwweDQ0LDB4NTMsMHhFQiwweDAyLDB4RUIsMHgwMCwweEU5LDB4NUIsMHhGRiwweDVGLDB4NUUsMHhDOSwweEMzLDB4NDYsCi0weDcxLDB4QTYsMHg3MSwweDRBLDB4NzEsMHg3QSwweDcxLDB4ODQsMHg3MSwweEM4LDB4MDQsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LAotMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksMHg0NiwweEZFLDB4OUMsMHhGQSwweDhBLDB4NDYsMHhGRSwweEJBLDB4RkUsMHgwMCwKLTB4RUUsMHhCQSwweDAyLDB4MDAsMHhFQywweEE4LDB4MDEsMHg3NSwweDA2LDB4OUQsMHhFOCwweDU3LDB4OUQsMHhFQiwweEU5LDB4QkEsCi0weDAwLDB4MDAsMHhFQywweDg4LDB4NDYsMHhGRCwweDlELDB4OEEsMHg0NiwweEZELDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweEM4LAotMHgwMiwweDAwLDB4MDAsMHg1NiwweDhCLDB4NzYsMHgwNCwweDhBLDB4NDQsMHg1QSwweDk4LDB4ODksMHg0NiwweEZFLDB4OUMsMHhGQSwKLTB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLDB4RUUsMHhCQSwweDAyLDB4MDAsMHhFQywweDMyLDB4RTQsMHgyNCwweDAxLDB4OUQsCi0weDVFLDB4QzksMHhDMywweEM4LDB4MDYsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDQsMHg4QSwweDQ0LDB4NUEsMHg5OCwweDg5LAotMHg0NiwweEZFLDB4RTgsMHg4NSwweEEwLDB4ODksMHg0NiwweEZBLDB4RTgsMHg3RiwweEEwLDB4MkIsMHg0NiwweEZBLDB4M0QsMHhCOCwKLTB4MEIsMHg3NiwweDA0LDB4QjAsMHgwOCwweEVCLDB4MjQsMHg5QywweEZBLDB4OEEsMHg0NiwweEZFLDB4QkEsMHhGRSwweDAwLDB4RUUsCi0weEJBLDB4MDIsMHgwMCwweEVDLDB4QTgsMHgwMSwweDc1LDB4MDYsMHg5RCwweEU4LDB4RTgsMHg5QywweEVCLDB4REEsMHhCQSwweDAwLAotMHgwMCwweEVDLDB4ODgsMHg0NiwweEZELDB4OUQsMHg4QSwweDQ2LDB4RkQsMHhFQiwweDAwLDB4NUUsMHhDOSwweEMzLDB4NTUsMHg4QiwKLTB4RUMsMHg1NiwweDhCLDB4NTYsMHgwNCwweDhBLDB4NDYsMHgwNiwweEVFLDB4MzMsMHhGNiwweEVCLDB4MDMsMHg1MCwweDU4LDB4NDYsCi0weDgzLDB4RkUsMHgxNCwweDdDLDB4RjgsMHg1RSwweDVELDB4QzMsMHhDOCwweDAyLDB4MDAsMHgwMCwweDU2LDB4OEIsMHg1NiwweDA0LAotMHhFQywweDg4LDB4NDYsMHhGRiwweDMzLDB4RjYsMHhFQiwweDAzLDB4NTAsMHg1OCwweDQ2LDB4ODMsMHhGRSwweDE0LDB4N0MsMHhGOCwKLTB4OEEsMHg0NiwweEZGLDB4RUIsMHgwMCwweDVFLDB4QzksMHhDMywweEM4LDB4MDIsMHgwMCwweDAwLDB4NTYsMHg1NywweDhCLDB4NzYsCi0weDA0LDB4ODMsMHgzRSwweEIwLDB4MEIsMHgwMCwweDc1LDB4MUYsMHhCQSwweDg4LDB4MDEsMHhCMCwweDAwLDB4RUUsMHhCQSwweDg2LAotMHgwMSwweEIwLDB4MDAsMHhFRSwweDZBLDB4MDksMHg2QSwweDAwLDB4NjgsMHgzMCwweDAxLDB4RTgsMHg3RCwweDAxLDB4ODMsMHhDNCwKLTB4MDYsMHhDNywweDA2LDB4QjAsMHgwQiwweDAxLDB4MDAsMHg2QSwweDA5LDB4OEIsMHhDNiwweDA1LDB4ODAsMHgwMSwweDUwLDB4RTgsCi0weERBLDB4MDAsMHg1OSwweDU5LDB4OEIsMHhGOCwweDhCLDB4QzcsMHhDMSwweEU4LDB4MEMsMHgyNSwweDBGLDB4MDAsMHg4OSwweDQ2LAotMHhGRSwweDhCLDB4QzcsMHhDMSwweEU4LDB4MDgsMHgyNSwweDBGLDB4MDAsMHg4QiwweDU2LDB4RkUsMHg4MywweEYyLDB4MEMsMHgzQiwKLTB4QzIsMHg3NSwweDIxLDB4OEIsMHhDNywweEMxLDB4RTgsMHgwNCwweDI1LDB4MEYsMHgwMCwweDhCLDB4NTYsMHhGRSwweDgzLDB4RjIsCi0weDA2LDB4M0IsMHhDMiwweDc1LDB4MEYsMHg4QiwweEM3LDB4MjUsMHgwRiwweDAwLDB4OEIsMHg1NiwweEZFLDB4ODMsMHhGMiwweDA5LAotMHgzQiwweEMyLDB4NzQsMHgwRCwweDZBLDB4MDcsMHg1NiwweEU4LDB4MzgsMHgwMCwweDU5LDB4NTksMHhDNywweDQ2LDB4RkUsMHgwNywKLTB4MDAsMHg4QSwweDQ2LDB4RkUsMHgwNCwweDgwLDB4QTIsMHgzMywweDAyLDB4OEIsMHhDNiwweEJBLDB4NjIsMHgwMCwweEY3LDB4RUEsCi0weDhBLDB4NTYsMHhGRSwweDhCLDB4RDgsMHg4OCwweDk3LDB4NkMsMHgwMCwweDY4LDB4MzIsMHgwMiwweDhCLDB4QzYsMHhCQSwweDYyLAotMHgwMCwweEY3LDB4RUEsMHgwNSwweDE0LDB4MDAsMHg1MCwweEU4LDB4MEUsMHhGRCwweDU5LDB4NTksMHhFQiwweDAwLDB4NUYsMHg1RSwKLTB4QzksMHhDMywweEM4LDB4MDIsMHgwMCwweDAwLDB4NTYsMHg4QiwweDc2LDB4MDYsMHg4MywweEU2LDB4MEYsMHg4QiwweEM2LDB4QzEsCi0weEUwLDB4MEMsMHg4QiwweEQ2LDB4ODMsMHhGMiwweDBDLDB4QzEsMHhFMiwweDA4LDB4MEIsMHhDMiwweDhCLDB4RDYsMHg4MywweEYyLAotMHgwNiwweEMxLDB4RTIsMHgwNCwweDBCLDB4QzIsMHg4QiwweEQ2LDB4ODMsMHhGMiwweDA5LDB4MEIsMHhDMiwweDg5LDB4NDYsMHhGRSwKLTB4NkEsMHgxOSwweDZBLDB4MTAsMHg4QiwweDQ2LDB4MDQsMHg5OSwweDA1LDB4NDAsMHgwMSwweDgzLDB4RDIsMHgwMCwweDUyLDB4NTAsCi0weEU4LDB4NkIsMHgwMSwweDgzLDB4QzQsMHgwNiwweDBCLDB4NDYsMHhGRSwweDgzLDB4Q0EsMHgwMCwweDUyLDB4NTAsMHhFOCwweDlBLAotMHgwMCwweDgzLDB4QzQsMHgwNiwweEU4LDB4MjUsMHgwMSwweEVCLDB4MDAsMHg1RSwweEM5LDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwKLTB4NTcsMHgzMywweEZGLDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4QTMsMHhGRSwweDU5LDB4NTksMHhCMSwweDEwLDB4MkEsCi0weDRFLDB4MDYsMHhEMywweDY2LDB4MDQsMHgzMywweEY2LDB4RUIsMHgyRSwweDgxLDB4N0UsMHgwNCwweDAwLDB4ODAsMHg3MiwweDA0LAotMHhCMCwweDAxLDB4RUIsMHgwMiwweEIwLDB4MDAsMHg1MCwweDY4LDB4ODgsMHgwMSwweEU4LDB4ODEsMHhGRSwweDU5LDB4NTksMHg2QSwKLTB4MDMsMHg2OCwweDg2LDB4MDEsMHhFOCwweDc3LDB4RkUsMHg1OSwweDU5LDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4NkQsCi0weEZFLDB4NTksMHg1OSwweEQxLDB4NjYsMHgwNCwweDQ2LDB4M0IsMHg3NiwweDA2LDB4N0MsMHhDRCwweDMzLDB4RjYsMHhFQiwweDI0LAotMHhEMSwweEU3LDB4NkEsMHgwMywweDY4LDB4ODYsMHgwMSwweEU4LDB4NTQsMHhGRSwweDU5LDB4NTksMHg2QSwweDAxLDB4NjgsMHg4NiwKLTB4MDEsMHhFOCwweDRBLDB4RkUsMHg1OSwweDU5LDB4NjgsMHg4OCwweDAxLDB4RTgsMHg1QywweEZFLDB4NTksMHg5OCwweDI1LDB4MDEsCi0weDAwLDB4MEIsMHhGOCwweDQ2LDB4ODMsMHhGRSwweDEwLDB4N0MsMHhENywweDZBLDB4MDAsMHg2OCwweDg2LDB4MDEsMHhFOCwweDJELAotMHhGRSwweDU5LDB4NTksMHg4QiwweEM3LDB4RUIsMHgwMCwweDVGLDB4NUUsMHg1RCwweEMzLDB4NTUsMHg4QiwweEVDLDB4NTYsMHg1NywKLTB4OEIsMHg3RSwweDA4LDB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4MTMsMHhGRSwweDU5LDB4NTksMHhCOCwweDIwLDB4MDAsCi0weDJCLDB4QzcsMHg1MCwweEZGLDB4NzYsMHgwNiwweEZGLDB4NzYsMHgwNCwweEU4LDB4QTIsMHgwMCwweDgzLDB4QzQsMHgwNiwweDg5LAotMHg1NiwweDA2LDB4ODksMHg0NiwweDA0LDB4MzMsMHhGNiwweEVCLDB4NDcsMHg4MSwweDdFLDB4MDYsMHgwMCwweDgwLDB4NzIsMHgwQywKLTB4NzUsMHgwNiwweDgzLDB4N0UsMHgwNCwweDAwLDB4NzIsMHgwNCwweEIwLDB4MDEsMHhFQiwweDAyLDB4QjAsMHgwMCwweDUwLDB4NjgsCi0weDg4LDB4MDEsMHhFOCwweEQ5LDB4RkQsMHg1OSwweDU5LDB4NkEsMHgwMywweDY4LDB4ODYsMHgwMSwweEU4LDB4Q0YsMHhGRCwweDU5LAotMHg1OSwweDZBLDB4MDEsMHg2OCwweDg2LDB4MDEsMHhFOCwweEM1LDB4RkQsMHg1OSwweDU5LDB4NkEsMHgwMSwweEZGLDB4NzYsMHgwNiwKLTB4RkYsMHg3NiwweDA0LDB4RTgsMHg1OCwweDAwLDB4ODMsMHhDNCwweDA2LDB4ODksMHg1NiwweDA2LDB4ODksMHg0NiwweDA0LDB4NDYsCi0weDNCLDB4RjcsMHg3QywweEI1LDB4NkEsMHgwMCwweDY4LDB4ODYsMHgwMSwweEU4LDB4QTIsMHhGRCwweDU5LDB4NTksMHg2QSwweDAwLAotMHg2OCwweDg2LDB4MDEsMHhFOCwweDk4LDB4RkQsMHg1OSwweDU5LDB4NUYsMHg1RSwweDVELDB4QzMsMHg1NSwweDhCLDB4RUMsMHg1NiwKLTB4NkEsMHgwMSwweDY4LDB4ODYsMHgwMSwweEU4LDB4ODYsMHhGRCwweDU5LDB4NTksMHgzMywweEY2LDB4RUIsMHgwMCwweDY4LDB4ODgsCi0weDAxLDB4RTgsMHg5NCwweEZELDB4NTksMHhBOCwweDAxLDB4NzUsMHgwOCwweDhCLDB4QzYsMHg0NiwweDNELDB4NjQsMHgwMCwweDdDLAotMHhFRCwweDZBLDB4MDAsMHg2OCwweDg2LDB4MDEsMHhFOCwweDY1LDB4RkQsMHg1OSwweDU5LDB4NUUsMHg1RCwweEMzLDB4QzgsMHgwNCwKLTB4MDAsMHgwMCwweDhCLDB4NDYsMHgwNCwweDhCLDB4NTYsMHgwNiwweDhCLDB4NEUsMHgwOCwweEUzLDB4MDYsMHhEMSwweEUwLDB4RDEsCi0weEQyLDB4RTIsMHhGQSwweDg5LDB4NDYsMHhGQywweDg5LDB4NTYsMHhGRSwweDhCLDB4NTYsMHhGRSwweDhCLDB4NDYsMHhGQywweEVCLAotMHgwMCwweEM5LDB4QzMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4NTAsMHg3MiwweDY1LDB4NzYsMHg2OSwweDZGLDB4NzUsMHg3MywweDIwLDB4NEQsMHg2NSwweDZFLDB4NzUsMHgwMCwweDQyLDB4NjUsCi0weDY3LDB4NjksMHg2RSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LAotMHgyMCwweDMwLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMiwKLTB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzMsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzNCwweDAwLDB4NTAsCi0weDZGLDB4NzIsMHg3NCwweDIwLDB4MzUsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzNiwweDAwLDB4NTAsMHg2RiwweDcyLAotMHg3NCwweDIwLDB4MzcsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzOCwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwKLTB4MzksMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwweDMwLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsCi0weDMxLDB4MDAsMHg1MCwweDZGLDB4NzIsMHg3NCwweDIwLDB4MzEsMHgzMiwweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLAotMHgzMywweDAwLDB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDMxLDB4MzQsMHgwMCwweDUwLDB4NkYsMHg3MiwweDc0LDB4MjAsMHgzMSwKLTB4MzUsMHgwMCwweDlDLDB4MDEsMHhBMywweDAxLDB4QUEsMHgwMSwweEIxLDB4MDEsMHhCOCwweDAxLDB4QkYsMHgwMSwweEM2LDB4MDEsCi0weENELDB4MDEsMHhENCwweDAxLDB4REIsMHgwMSwweEUyLDB4MDEsMHhFQSwweDAxLDB4RjIsMHgwMSwweEZBLDB4MDEsMHgwMiwweDAyLAotMHgwQSwweDAyLDB4MDgsMHgwMCwweDAwLDB4MDcsMHg4MSwweDAwLDB4MDMsMHg4MCwweDgwLDB4ODAsMHg5RiwweDkxLDB4OTUsMHg5MSwKLTB4OUYsMHgwMCwweDAzLDB4ODEsMHg4NCwweDhFLDB4OTUsMHg4NCwweDg0LDB4ODQsMHg4NCwweDAwLDB4MDMsMHg4MiwweDg0LDB4ODQsCi0weDg0LDB4ODQsMHg5NSwweDhFLDB4ODQsMHgwMCwweDA0LDB4ODgsMHgwMCwweEIyLDB4MEIsMHhDNiwweDBCLDB4REEsMHgwQiwweEVFLAotMHgwQiwweDAyLDB4MEMsMHgxNiwweDBDLDB4MkEsMHgwQywweDNFLDB4MEMsMHg1MiwweDBDLDB4NzcsMHgwQywweDlDLDB4MEMsMHhCRSwKLTB4MEMsMHhFMCwweDBDLDB4MDIsMHgwRCwweDAxLDB4ODAsMHgyMCwweDU0LDB4NjUsMHg3MywweDc0LDB4MjAsMHg1MCwweDYxLDB4NzMsCi0weDczLDB4NjUsMHg2NCwweDIwLDB4MUYsMHgyMCwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MDIsMHgwMCwweDAxLAotMHg4MCwweDIwLDB4NEQsMHg2OSwweDczLDB4NzMsMHg2OSwweDZFLDB4NjcsMHgyMCwweDUyLDB4NzgsMHgyMCwweDQ0LDB4NjEsMHg3NCwKLTB4NjEsMHgxRiwweDIwLDB4NTAsMHg3MiwweDY1LDB4NzMsMHg3MywweDIwLDB4ODAsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NDIsCi0weDYxLDB4NjQsMHgyMCwweDUyLDB4NzgsMHgyMCwweDQ0LDB4NjEsMHg3NCwweDYxLDB4MjAsMHgxRiwweDIwLDB4NTAsMHg3MiwweDY1LAotMHg3MywweDczLDB4MjAsMHg4MCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHg1OCwweDZELDB4NzQsMHg3MiwweDIwLDB4NDIsMHg3NSwKLTB4NzMsMHg3OSwweDFGLDB4MjAsMHg1MCwweDcyLDB4NjUsMHg3MywweDczLDB4MjAsMHg4MCwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsCi0weDZFLDB4NkYsMHg3NCwweDIwLDB4NjMsMHg3NSwweDcyLDB4NzIsMHg2NSwweDZFLDB4NzQsMHg2QywweDc5LDB4MUYsMHgyMCwweDIwLAotMHg2OSwweDZELDB4NzAsMHg2QywweDY1LDB4NkQsMHg2NSwweDZFLDB4NzQsMHg2NSwweDY0LDB4MDIsMHgwMCwweDI0LDB4MEQsMHgyRiwKLTB4MEQsMHgzQSwweDBELDB4NDUsMHgwRCwweDUwLDB4MEQsMHg1QiwweDBELDB4NjYsMHgwRCwweDcxLDB4MEQsMHg3QywweDBELDB4ODcsCi0weDBELDB4OTIsMHgwRCwweDlELDB4MEQsMHhBOCwweDBELDB4QjMsMHgwRCwweEJFLDB4MEQsMHhDOSwweDBELDB4NTMsMHg4MCwweDJDLAotMHgzMiwweDU0LDB4NDQsMHgyMCwweDUzLDB4ODYsMHgyQywweDMzLDB4NDQsMHg1NCwweDUyLDB4MjAsMHg1MywweDgyLDB4MkMsMHgzMywKLTB4NTIsMHg1NCwweDUzLDB4MjAsMHgxRiwweDUzLDB4ODEsMHgyQywweDMyLDB4NTIsMHg0NCwweDIwLDB4NTMsMHg4NSwweDJDLDB4MzIsCi0weDQzLDB4NDQsMHgyMCwweDUzLDB4ODMsMHgyQywweDMzLDB4NDMsMHg1NCwweDUzLDB4MjAsMHg1MywweDg0LDB4MkMsMHgzMywweDQ0LAotMHg1MywweDUyLDB4MjAsMHg1MywweDg3LDB4MkMsMHgzMiwweDUyLDB4NDksMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NDQsMHg0MywweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDMwLDB4MUYsMHgyNywweDUzLDB4ODUsCi0weDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LAotMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwKLTB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMSwweDMxLDB4MUYsMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsCi0weDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLAotMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQzLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwKLTB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNCwweDFGLDB4MjcsMHg1MywweDgzLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsCi0weDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDQ5LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwKLTB4MzIsMHgxRiwweDI3LDB4NTMsMHg4NywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsCi0weDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLAotMHgyMCwweDIwLDB4NDQsMHg1NCwweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNiwweDJGLDB4MzgsMHgxRiwKLTB4MjcsMHg1MywweDg2LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsCi0weDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg1MiwweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM1LDB4MUYsMHgyNywweDUzLDB4ODIsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsCi0weDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NzgsMHg0NCwweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMiwweDFGLDB4MjcsMHg1MywweDgxLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwKLTB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsCi0weDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTQsMHg3OCwweDQ0LDB4MjAsMHgyRCwweDIwLAotMHg3MCwweDY5LDB4NkUsMHgyMCwweDMzLDB4MUYsMHgyNywweDUzLDB4ODAsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywKLTB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsCi0weDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDQzLDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LAotMHg2RSwweDIwLDB4MzUsMHgxRiwweDI3LDB4NTMsMHg4NSwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1MywweDUyLDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNSwweDFGLAotMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwKLTB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsCi0weDQzLDB4NTQsMHg1MywweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzEsMHgxRiwweDI3LDB4NTMsMHg4MywweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LDB4ODksMHg4QSwKLTB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg0OSwweDIwLDB4MkQsCi0weDIwLDB4MjgsMHg2RSwweDJFLDB4NjMsMHgyRSwweDI5LDB4MUYsMHgyNywweDUzLDB4ODcsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLAotMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHg4OCwweDg5LDB4OEEsMHg4QiwweDhDLDB4OEQsMHg4RSwKLTB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTQsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksCi0weDZFLDB4MjAsMHgzMiwweDFGLDB4MjcsMHg1MywweDg2LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM3LDB4MUYsCi0weDI3LDB4NTMsMHg4MiwweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg5MCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LAotMHg4NywweDg4LDB4ODksMHg4QSwweDhCLDB4OEMsMHg4RCwweDhFLDB4OEYsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4NTIsMHg3OCwweDQ0LDB4MjAsMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzNiwweDFGLDB4MjcsMHg1MywweDgxLDB4MkUsCi0weDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDkwLDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDg4LAotMHg4OSwweDhBLDB4OEIsMHg4QywweDhELDB4OEUsMHg4RiwweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NTQsMHg3OCwKLTB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMzLDB4MUYsMHgyNywweDUzLDB4ODAsMHgyRSwweDMwLDB4NTMsCi0weDRELDB4ODEsMHg4MiwweDYzLDB4OTAsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4ODgsMHg4OSwweDhBLAotMHg4QiwweDhDLDB4OEQsMHg4RSwweDhGLDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg0NCwweDQzLDB4NDQsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg1LDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODQsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsCi0weDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQzLDB4NTQsMHg1MywweDIwLAotMHgyRCwweDIwLDB4NzAsMHg2OSwweDZFLDB4MjAsMHgzMSwweDFGLDB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODMsMHgyRSwKLTB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwweDgzLDB4ODQsMHg4NSwweDg2LDB4ODcsMHgyNywweDAyLDB4MDAsCi0weDAxLDB4ODAsMHgyMCwweDIwLDB4NTIsMHg0OSwweDIwLDB4MkQsMHgyMCwweDI4LDB4NkUsMHgyRSwweDYzLDB4MkUsMHgyOSwweDFGLAotMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NywweDJFLDB4MzEsMHg4MSwweDgyLDB4NjMsMHg4OCwweDgwLDB4ODEsMHg4MiwKLTB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4NDQsMHg1NCwweDUyLDB4MjAsCi0weDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NiwweDJFLAotMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM3LDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgyLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDc4LDB4NDQsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzYsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgxLDB4MkUsCi0weDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1NCwweDc4LDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwKLTB4MzMsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgwLDB4MkUsMHgzMCwweDUzLDB4NEQsMHg4MSwweDgyLDB4NjMsCi0weDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLAotMHg0NCwweDQzLDB4NDQsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDMyLDB4MzAsMHgxRiwweDIwLDB4MjAsMHgyMCwKLTB4MjAsMHgyNywweDUzLDB4ODUsMHgyRSwweDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsCi0weDg2LDB4ODcsMHgyNywweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDQ0LDB4NTMsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLAotMHg2OSwweDZFLDB4MjAsMHgzMSwweDMxLDB4MUYsMHgyMCwweDIwLDB4MjAsMHgyMCwweDI3LDB4NTMsMHg4NCwweDJFLDB4MzEsMHg4MSwKLTB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsMHg4NywweDI3LDB4MDIsMHgwMCwweDAxLDB4ODAsCi0weDIwLDB4MjAsMHg0MywweDU0LDB4NTMsMHgyMCwweDJELDB4MjAsMHg3MCwweDY5LDB4NkUsMHgyMCwweDM0LDB4MUYsMHgyMCwweDIwLAotMHgyMCwweDIwLDB4MjcsMHg1MywweDgzLDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwKLTB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDQ5LDB4MjAsMHgyRCwweDIwLDB4NzAsCi0weDY5LDB4NkUsMHgyMCwweDMyLDB4MzIsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg3LDB4MkUsMHgzMSwweDgxLAotMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4MjAsMHgyMCwweDQ0LDB4NTQsMHg1MiwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzYsMHgyRiwweDM4LDB4MUYsCi0weDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDg2LDB4MkUsMHgzMSwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLAotMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1MiwweDU0LDB4NTMsMHgyMCwKLTB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzUsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywweDgyLDB4MkUsCi0weDMxLDB4ODEsMHg4MiwweDYzLDB4ODgsMHg4MCwweDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHgyMCwweDUyLDB4NzgsMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzIsMHgxRiwKLTB4MjAsMHgyMCwweDIwLDB4MjAsMHgyNywweDUzLDB4ODEsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsCi0weDgxLDB4ODIsMHg4MywweDg0LDB4ODUsMHg4NiwweDg3LDB4MjcsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHg1NCwweDc4LAotMHg0NCwweDIwLDB4MkQsMHgyMCwweDcwLDB4NjksMHg2RSwweDIwLDB4MzMsMHgxRiwweDIwLDB4MjAsMHgyMCwweDIwLDB4MjcsMHg1MywKLTB4ODAsMHgyRSwweDMwLDB4NTMsMHg0RCwweDgxLDB4ODIsMHg2MywweDg4LDB4ODAsMHg4MSwweDgyLDB4ODMsMHg4NCwweDg1LDB4ODYsCi0weDg3LDB4MjcsMHgwMiwweDAwLDB4NjgsMHgwNCwweDk2LDB4MDQsMHhCNiwweDAzLDB4M0MsMHgwNCwweDBFLDB4MDQsMHg4OSwweDAzLAotMHg1QywweDAzLDB4RTIsMHgwMywweDYwLDB4MDgsMHg4QSwweDA4LDB4QkUsMHgwNywweDM4LDB4MDgsMHgwRSwweDA4LDB4OTUsMHgwNywKLTB4NkMsMHgwNywweEU2LDB4MDcsMHgxQywweDA1LDB4NzQsMHgwNSwweEZBLDB4MDUsMHhDNCwweDA0LDB4RjAsMHgwNCwweENDLDB4MDUsCi0weEEwLDB4MDUsMHg0OCwweDA1LDB4NzgsMHgwNiwweEM4LDB4MDYsMHg0MiwweDA3LDB4MjgsMHgwNiwweDUwLDB4MDYsMHgxOCwweDA3LAotMHhGMCwweDA2LDB4QTAsMHgwNiwweDAwLDB4MDAsMHhGNCwweDA4LDB4RjQsMHgwOCwweEQ0LDB4MEQsMHgwNCwweDA5LDB4MDQsMHgwOSwKLTB4MDQsMHgwOSwweDA0LDB4MDksMHg0MiwweDAwLDB4MEMsMHgwOSwweDFDLDB4MDksMHhFNSwweDBELDB4MDIsMHgwMCwweDE0LDB4MDksCi0weDA0LDB4MDksMHhGNCwweDBELDB4NDMsMHgwMCwweDFDLDB4MDksMHgwQywweDA5LDB4MDUsMHgwRSwweDAwLDB4MDQsMHgwNCwweDA5LAotMHgxNCwweDA5LDB4MTIsMHgwRSwweDJDLDB4MDksMHgyQywweDA5LDB4MkMsMHgwOSwweDJDLDB4MDksMHgwMCwweDAwLDB4M0MsMHgwOSwKLTB4NkMsMHgwOSwweDFFLDB4MEUsMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4MDAsMHgwMSwweDRDLDB4MDksCi0weDJDLDB4MDksMHgyRCwweDBFLDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDAwLDB4MDIsMHg1QywweDA5LAotMHgzQywweDA5LDB4M0QsMHgwRSwweDc0LDB4MDksMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHgwMCwweDAzLDB4NkMsMHgwOSwKLTB4NEMsMHgwOSwweDRELDB4MEUsMHg3NCwweDA5LDB4NzQsMHgwOSwweDc0LDB4MDksMHg3NCwweDA5LDB4RkYsMHgwMCwweDJDLDB4MDksCi0weDVDLDB4MDksMHgwMCwweDAwLDB4MDAsMHgwNSwweDg0LDB4MDksMHhFQywweDA5LDB4NUUsMHgwRSwweEY0LDB4MDksMHhGNCwweDA5LAotMHhGNCwweDA5LDB4RjQsMHgwOSwweDAwLDB4MDYsMHg5NCwweDA5LDB4NzQsMHgwOSwweDY4LDB4MEUsMHhBQywweDBBLDB4QUMsMHgwQSwKLTB4QUMsMHgwQSwweEFDLDB4MEEsMHgwMCwweDA3LDB4QTQsMHgwOSwweDg0LDB4MDksMHg3MiwweDBFLDB4QkMsMHgwQSwweEJDLDB4MEEsCi0weEJDLDB4MEEsMHhCQywweDBBLDB4MDAsMHgwOCwweEI0LDB4MDksMHg5NCwweDA5LDB4N0MsMHgwRSwweEQ0LDB4MEEsMHhENCwweDBBLAotMHhENCwweDBBLDB4RDQsMHgwQSwweDAwLDB4MEIsMHhDNCwweDA5LDB4QTQsMHgwOSwweDgzLDB4MEUsMHhGQywweDBBLDB4RkMsMHgwQSwKLTB4RkMsMHgwQSwweEZDLDB4MEEsMHgwMCwweDBDLDB4RDQsMHgwOSwweEI0LDB4MDksMHg5MCwweDBFLDB4MTQsMHgwQiwweDE0LDB4MEIsCi0weDE0LDB4MEIsMHgxNCwweDBCLDB4MDAsMHgwMiwweEU0LDB4MDksMHhDNCwweDA5LDB4QTAsMHgwRSwweDJDLDB4MEIsMHgyQywweDBCLAotMHgyQywweDBCLDB4MkMsMHgwQiwweDA0LDB4MDAsMHhFQywweDA5LDB4RDQsMHgwOSwweDBFLDB4MDAsMHhGRiwweDAwLDB4NzQsMHgwOSwKLTB4RTQsMHgwOSwweDAwLDB4MDAsMHg4MiwweDAxLDB4RkMsMHgwOSwweEE0LDB4MEEsMHhBQywweDBFLDB4ODIsMHgwMiwweDA0LDB4MEEsCi0weEY0LDB4MDksMHhBRiwweDBFLDB4ODIsMHgwMywweDBDLDB4MEEsMHhGQywweDA5LDB4QjIsMHgwRSwweDgyLDB4MDQsMHgxNCwweDBBLAotMHgwNCwweDBBLDB4QjYsMHgwRSwweDgyLDB4MDUsMHgxQywweDBBLDB4MEMsMHgwQSwweEJDLDB4MEUsMHg4MiwweDA2LDB4MjQsMHgwQSwKLTB4MTQsMHgwQSwweEMwLDB4MEUsMHg4MiwweDA3LDB4MkMsMHgwQSwweDFDLDB4MEEsMHhDNCwweDBFLDB4ODIsMHgwOCwweDM0LDB4MEEsCi0weDI0LDB4MEEsMHhDOCwweDBFLDB4ODIsMHgwOSwweDNDLDB4MEEsMHgyQywweDBBLDB4Q0MsMHgwRSwweDgyLDB4MEEsMHg0NCwweDBBLAotMHgzNCwweDBBLDB4RDEsMHgwRSwweDgyLDB4MTAsMHg0QywweDBBLDB4M0MsMHgwQSwweEQ2LDB4MEUsMHg4MiwweDBCLDB4NTQsMHgwQSwKLTB4NDQsMHgwQSwweERCLDB4MEUsMHg4MiwweDExLDB4NUMsMHgwQSwweDRDLDB4MEEsMHhFMCwweDBFLDB4ODIsMHgwQywweDY0LDB4MEEsCi0weDU0LDB4MEEsMHhFNSwweDBFLDB4ODIsMHgxMiwweDZDLDB4MEEsMHg1QywweDBBLDB4RUEsMHgwRSwweDgyLDB4MEQsMHg3NCwweDBBLAotMHg2NCwweDBBLDB4RUYsMHgwRSwweDgyLDB4MEUsMHg3QywweDBBLDB4NkMsMHgwQSwweEY0LDB4MEUsMHg4MiwweDBGLDB4ODQsMHgwQSwKLTB4NzQsMHgwQSwweEZCLDB4MEUsMHg4MiwweDEzLDB4OEMsMHgwQSwweDdDLDB4MEEsMHgwMiwweDBGLDB4ODIsMHgxNCwweDk0LDB4MEEsCi0weDg0LDB4MEEsMHgwOSwweDBGLDB4ODIsMHgxNSwweDlDLDB4MEEsMHg4QywweDBBLDB4MTAsMHgwRiwweDgyLDB4MTYsMHhBNCwweDBBLAotMHg5NCwweDBBLDB4MTcsMHgwRiwweDgyLDB4MTcsMHhGNCwweDA5LDB4OUMsMHgwQSwweDFFLDB4MEYsMHg4MiwweDAyLDB4QjQsMHgwQSwKLTB4QjQsMHgwQSwweDI2LDB4MEYsMHg4MiwweDAzLDB4QUMsMHgwQSwweEFDLDB4MEEsMHgyRCwweDBGLDB4ODIsMHgwMCwweEM0LDB4MEEsCi0weENDLDB4MEEsMHgzNCwweDBGLDB4ODIsMHgwMSwweENDLDB4MEEsMHhCQywweDBBLDB4M0YsMHgwRiwweDgyLDB4MDIsMHhCQywweDBBLAotMHhDNCwweDBBLDB4NEQsMHgwRiwweDgyLDB4MDAsMHhEQywweDBBLDB4RjQsMHgwQSwweDU5LDB4MEYsMHg4MiwweDAxLDB4RTQsMHgwQSwKLTB4RDQsMHgwQSwweDYzLDB4MEYsMHg4MiwweDAyLDB4RUMsMHgwQSwweERDLDB4MEEsMHg2RSwweDBGLDB4ODIsMHgwMywweEY0LDB4MEEsCi0weEU0LDB4MEEsMHg3QSwweDBGLDB4ODIsMHgwNCwweEQ0LDB4MEEsMHhFQywweDBBLDB4ODcsMHgwRiwweDgyLDB4MDAsMHgwNCwweDBCLAotMHgwQywweDBCLDB4OTMsMHgwRiwweDgyLDB4MDEsMHgwQywweDBCLDB4RkMsMHgwQSwweDlCLDB4MEYsMHg4MiwweDAyLDB4RkMsMHgwQSwKLTB4MDQsMHgwQiwweEE3LDB4MEYsMHg4MiwweDAwLDB4MUMsMHgwQiwweDI0LDB4MEIsMHhCMCwweDBGLDB4ODIsMHgwMSwweDI0LDB4MEIsCi0weDE0LDB4MEIsMHhCNSwweDBGLDB4ODIsMHgwMiwweDE0LDB4MEIsMHgxQywweDBCLDB4QkUsMHgwRiwweDQ0LDB4MDAsMHgzNCwweDBCLAotMHhBNCwweDBCLDB4OUMsMHgwMSwweDQ0LDB4MDEsMHgzQywweDBCLDB4MkMsMHgwQiwweEEzLDB4MDEsMHg0NCwweDAyLDB4NDQsMHgwQiwKLTB4MzQsMHgwQiwweEFBLDB4MDEsMHg0NCwweDAzLDB4NEMsMHgwQiwweDNDLDB4MEIsMHhCMSwweDAxLDB4NDQsMHgwNCwweDU0LDB4MEIsCi0weDQ0LDB4MEIsMHhCOCwweDAxLDB4NDQsMHgwNSwweDVDLDB4MEIsMHg0QywweDBCLDB4QkYsMHgwMSwweDQ0LDB4MDYsMHg2NCwweDBCLAotMHg1NCwweDBCLDB4QzYsMHgwMSwweDQ0LDB4MDcsMHg2QywweDBCLDB4NUMsMHgwQiwweENELDB4MDEsMHg0NCwweDA4LDB4NzQsMHgwQiwKLTB4NjQsMHgwQiwweEQ0LDB4MDEsMHg0NCwweDA5LDB4N0MsMHgwQiwweDZDLDB4MEIsMHhEQiwweDAxLDB4NDQsMHgwQSwweDg0LDB4MEIsCi0weDc0LDB4MEIsMHhFMiwweDAxLDB4NDQsMHgwQiwweDhDLDB4MEIsMHg3QywweDBCLDB4RUEsMHgwMSwweDQ0LDB4MEMsMHg5NCwweDBCLAotMHg4NCwweDBCLDB4RjIsMHgwMSwweDQ0LDB4MEQsMHg5QywweDBCLDB4OEMsMHgwQiwweEZBLDB4MDEsMHg0NCwweDBFLDB4QTQsMHgwQiwKLTB4OTQsMHgwQiwweDAyLDB4MDIsMHg0NCwweDBGLDB4MkMsMHgwQiwweDlDLDB4MEIsMHgwQSwweDAyLDB4MTcsMHgxRiwweDBGLDB4MkYsCi0weDAwLDB4MDAsMHgwMSwweDgwLDB4NzgsMHg3OCwweDNBLDB4MjAsMHg3NCwweDc4LDB4MjAsMHg2MywweDcwLDB4NzMsMHgyMCwweDJBLAotMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweDgwLDB4NzgsMHg3OCwweDNBLDB4MjAsMHg3NCwweDc4LDB4MjAsMHg2MywKLTB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweDgwLDB4NzgsMHg3OCwweDNBLDB4MjAsCi0weDc0LDB4NzgsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwweDAyLDB4MDAsMHgwMSwweDgwLAotMHg3OCwweDc4LDB4M0EsMHgyMCwweDc0LDB4NzgsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsMHgyQSwweDJBLDB4MkEsMHgyQSwKLTB4MDIsMHgwMCwweDAxLDB4QzAsMHg3OCwweDc4LDB4M0EsMHgyMCwweDcyLDB4NjMsMHgyMCwweDYzLDB4NzAsMHg3MywweDIwLDB4MkEsCi0weDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4QzAsMHg3OCwweDc4LDB4M0EsMHgyMCwweDcyLDB4NjMsMHgyMCwweDYzLAotMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4QzAsMHg3OCwweDc4LDB4M0EsMHgyMCwKLTB4NzIsMHg2MywweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLDB4MDIsMHgwMCwweDAxLDB4QzAsCi0weDc4LDB4NzgsMHgzQSwweDIwLDB4NzIsMHg2MywweDIwLDB4NjMsMHg3MCwweDczLDB4MjAsMHgyQSwweDJBLDB4MkEsMHgyQSwweDJBLAotMHgwMiwweDAwLDB4MDEsMHg4MCwweDQ5LDB4NkUsMHg3MywweDc0LDB4NjEsMHg2QywweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwKLTB4NjIsMHg2MSwweDYzLDB4NkIsMHgxRiwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MjAsMHg3NCwweDZGLDB4MjAsCi0weDczLDB4NzQsMHg2MSwweDcyLDB4NzQsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NDMsMHg2MSwweDYyLDB4NkMsMHg2NSwweDIwLAotMHg3NCwweDZGLDB4MjAsMHg1MiwweDY1LDB4NkQsMHg2RiwweDc0LDB4NjUsMHgxRiwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwKLTB4ODAsMHgyMCwweDc0LDB4NkYsMHgyMCwweDczLDB4NzQsMHg2MSwweDcyLDB4NzQsMHgwMiwweDAwLDB4MDEsMHg4MCwweDIwLDB4NEMsCi0weDZGLDB4NjMsMHg2MSwweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MjAsMHgxRiwweDIwLAotMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwweDJFLDB4MkUsMHgwMiwweDAwLDB4MDEsMHg4MCwKLTB4NTIsMHg2NSwweDZELDB4NkYsMHg3NCwweDY1LDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MjAsCi0weDFGLDB4MjAsMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwweDJFLDB4MkUsMHgwMiwweDAwLAotMHgwMSwweDgwLDB4MjAsMHg0OSwweDZFLDB4NzQsMHg3MiwweDZFLDB4NkMsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwKLTB4NjMsMHg2QiwweDFGLDB4MjAsMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwweDJFLDB4MkUsCi0weDAyLDB4MDAsMHgwMSwweDgwLDB4NTQsMHg3MiwweDYxLDB4NkUsMHg3MywweDZELDB4NjksMHg3NCwweDIwLDB4NTAsMHg2MSwweDc0LAotMHg3NCwweDY1LDB4NzIsMHg2RSwweDFGLDB4MjAsMHgyMCwweDUyLDB4NzUsMHg2RSwweDZFLDB4NjksMHg2RSwweDY3LDB4MjAsMHgyRSwKLTB4MkUsMHgyRSwweDAyLDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDMwLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4MCwweDAwLDB4MDEsCi0weDgwLDB4MjAsMHgyMCwweDMxLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4MSwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzMiwweDNBLAotMHgyMCwweDI3LDB4NDMsMHg4MiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MjAsMHgzMywweDNBLDB4MjAsMHgyNywweDQzLDB4ODMsMHgwMCwKLTB4MDEsMHg4MCwweDIwLDB4MjAsMHgzNCwweDNBLDB4MjAsMHgyNywweDQzLDB4ODQsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzUsCi0weDNBLDB4MjAsMHgyNywweDQzLDB4ODUsMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzYsMHgzQSwweDIwLDB4MjcsMHg0MywweDg2LAotMHgwMCwweDAxLDB4ODAsMHgyMCwweDIwLDB4MzcsMHgzQSwweDIwLDB4MjcsMHg0MywweDg3LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwKLTB4MzgsMHgzQSwweDIwLDB4MjcsMHg0MywweDg4LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgyMCwweDM5LDB4M0EsMHgyMCwweDI3LDB4NDMsCi0weDg5LDB4MDAsMHgwMSwweDgwLDB4MjAsMHgzMSwweDMwLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4QSwweDAwLDB4MDEsMHg4MCwweDIwLAotMHgzMSwweDMxLDB4M0EsMHgyMCwweDI3LDB4NDMsMHg4QiwweDAwLDB4MDEsMHg4MCwweDIwLDB4MzEsMHgzMiwweDNBLDB4MjAsMHgyNywKLTB4NDMsMHg4QywweDAwLDB4MDEsMHg4MCwweDIwLDB4MzEsMHgzMywweDNBLDB4MjAsMHgyNywweDQzLDB4OEQsMHgwMCwweDAxLDB4ODAsCi0weDIwLDB4MzEsMHgzNCwweDNBLDB4MjAsMHgyNywweDQzLDB4OEUsMHgwMCwweDAxLDB4ODAsMHgyMCwweDMxLDB4MzUsMHgzQSwweDIwLAotMHgyNywweDQzLDB4OEYsMHgwMCwweDJBLDB4MkEsMHgyMCwweDRELDB4NjEsMHg2OSwweDZFLDB4MjAsMHgyMCwweDRELDB4NjUsMHg2RSwKLTB4NzUsMHgyMCwweDJBLDB4MkEsMHgwMCwweDRELDB4NkYsMHg2RSwweDY5LDB4NzQsMHg2RiwweDcyLDB4MjAsMHg2MSwweDIwLDB4NTAsCi0weDZGLDB4NzIsMHg3NCwweDAwLDB4NEQsMHg2RiwweDZFLDB4NjksMHg3NCwweDZGLDB4NzIsMHgyMCwweDYxLDB4MjAsMHg1MywweDY5LAotMHg2NywweDZFLDB4NjEsMHg2QywweDAwLDB4NDUsMHg3MywweDc0LDB4NjksMHg2RCwweDYxLDB4NzQsMHg2NSwweDIwLDB4NDMsMHg1MCwKLTB4NTMsMHgwMCwweDQ0LDB4NjksMHg2MSwweDY3LDB4NkUsMHg2RiwweDczLDB4NzQsMHg2OSwweDYzLDB4NzMsMHgwMCwweDRDLDB4NkYsCi0weDYzLDB4NjEsMHg2QywweDIwLDB4NEMsMHg2RiwweDZGLDB4NzAsMHg2MiwweDYxLDB4NjMsMHg2QiwweDAwLDB4NTIsMHg2NSwweDZELAotMHg2RiwweDc0LDB4NjUsMHgyMCwweDRDLDB4NkYsMHg2RiwweDcwLDB4NjIsMHg2MSwweDYzLDB4NkIsMHgwMCwweDQ5LDB4NkUsMHg3NCwKLTB4NzIsMHg2RSwweDZDLDB4MjAsMHg0QywweDZGLDB4NkYsMHg3MCwweDYyLDB4NjEsMHg2MywweDZCLDB4MDAsMHg1NCwweDcyLDB4NjEsCi0weDZFLDB4NzMsMHg2RCwweDY5LDB4NzQsMHgyMCwweDUwLDB4NjEsMHg3NCwweDc0LDB4NjUsMHg3MiwweDZFLDB4MDAsMHg0MiwweDYxLAotMHg3NSwweDY0LDB4MjAsMHg1MiwweDYxLDB4NzQsMHg2NSwweDAwLDB4NDQsMHg2MSwweDc0LDB4NjEsMHgyMCwweDQyLDB4NjksMHg3NCwKLTB4NzMsMHgwMCwweDUzLDB4NzQsMHg2RiwweDcwLDB4MjAsMHg0MiwweDY5LDB4NzQsMHg3MywweDAwLDB4NTAsMHg2MSwweDcyLDB4NjksCi0weDc0LDB4NzksMHgwMCwweDQ0LDB4NjEsMHg3NCwweDYxLDB4MjAsMHg1MCwweDYxLDB4NzQsMHg3NCwweDY1LDB4NzIsMHg2RSwweDAwLAotMHg1NCwweDc4LDB4MjAsMHg0NiwweDZDLDB4NkYsMHg3NywweDIwLDB4NDMsMHg2RiwweDZFLDB4NzQsMHg3MiwweDZGLDB4NkMsMHgwMCwKLTB4NTAsMHg2RiwweDcyLDB4NzQsMHgyMCwweDRFLDB4NzUsMHg2RCwweDYyLDB4NjUsMHg3MiwweDAwLDB4MzUsMHgzMCwweDAwLDB4MzcsCi0weDM1LDB4MDAsMHgzMSwweDMxLDB4MzAsMHgwMCwweDMxLDB4MzMsMHgzNCwweDJFLDB4MzUsMHgwMCwweDMxLDB4MzUsMHgzMCwweDAwLAotMHgzMiwweDMwLDB4MzAsMHgwMCwweDMzLDB4MzAsMHgzMCwweDAwLDB4MzYsMHgzMCwweDMwLDB4MDAsMHgzMSwweDMyLDB4MzAsMHgzMCwKLTB4MDAsMHgzMSwweDM4LDB4MzAsMHgzMCwweDAwLDB4MzIsMHgzMCwweDMwLDB4MzAsMHgwMCwweDMyLDB4MzQsMHgzMCwweDMwLDB4MDAsCi0weDMzLDB4MzYsMHgzMCwweDMwLDB4MDAsMHgzNCwweDM4LDB4MzAsMHgzMCwweDAwLDB4MzcsMHgzMiwweDMwLDB4MzAsMHgwMCwweDM5LAotMHgzNiwweDMwLDB4MzAsMHgwMCwweDMxLDB4MzksMHgyQywweDMyLDB4MzAsMHgzMCwweDAwLDB4MzMsMHgzOCwweDJDLDB4MzQsMHgzMCwKLTB4MzAsMHgwMCwweDM1LDB4MzYsMHgyQywweDMwLDB4MzAsMHgzMCwweDAwLDB4MzUsMHgzNywweDJDLDB4MzYsMHgzMCwweDMwLDB4MDAsCi0weDM2LDB4MzQsMHgyQywweDMwLDB4MzAsMHgzMCwweDAwLDB4MzcsMHgzNiwweDJDLDB4MzgsMHgzMCwweDMwLDB4MDAsMHgzMSwweDMxLAotMHgzNSwweDJDLDB4MzIsMHgzMCwweDMwLDB4MDAsMHgzNywweDIwLDB4NjIsMHg2OSwweDc0LDB4NzMsMHgwMCwweDM4LDB4MjAsMHg2MiwKLTB4NjksMHg3NCwweDczLDB4MDAsMHgzMSwweDIwLDB4NzMsMHg3NCwweDZGLDB4NzAsMHgyMCwweDYyLDB4NjksMHg3NCwweDAwLDB4MzEsCi0weDJFLDB4MzUsMHgyMCwweDczLDB4NzQsMHg2RiwweDcwLDB4MjAsMHg2MiwweDY5LDB4NzQsMHg3MywweDAwLDB4MzIsMHgyMCwweDczLAotMHg3NCwweDZGLDB4NzAsMHgyMCwweDYyLDB4NjksMHg3NCwweDczLDB4MDAsMHg2RSwweDZGLDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwKLTB4NzQsMHg3OSwweDAwLDB4NkYsMHg2NCwweDY0LDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwweDc0LDB4NzksMHgwMCwweDY1LDB4NzYsCi0weDY1LDB4NkUsMHgyMCwweDcwLDB4NjEsMHg3MiwweDY5LDB4NzQsMHg3OSwweDAwLDB4NzMsMHg3MCwweDYxLDB4NjMsMHg2NSwweDIwLAotMHg3MCwweDYxLDB4NzIsMHg2OSwweDc0LDB4NzksMHgwMCwweDZELDB4NjEsMHg3MiwweDZCLDB4MjAsMHg3MCwweDYxLDB4NzIsMHg2OSwKLTB4NzQsMHg3OSwweDAwLDB4NDMsMHg2RiwweDZDLDB4NzUsMHg2RCwweDZFLDB4NzMsMHgwMCwweDQyLDB4NjEsMHg3MiwweDYyLDB4NjUsCi0weDcyLDB4MjAsMHg1MCwweDZGLDB4NkMsMHg2NSwweDAwLDB4NTUsMHg1NSwweDU1LDB4NTUsMHg1NSwweDJFLDB4MkUsMHgyRSwweDAwLAotMHg0RSwweDZGLDB4NkUsMHg2NSwweDAwLDB4NTgsMHg2RiwweDZFLDB4MkYsMHg1OCwweDZGLDB4NjYsMHg2NiwweDAwLDB4NDMsMHg1NCwKLTB4NTMsMHgwMCwweDUwLDB4NzIsMHg2NSwweDczLDB4NzMsMHgyMCwweDgwLDB4MjAsMHg2NiwweDZGLDB4NzIsMHgyMCwweDZELDB4NjUsCi0weDZFLDB4NzUsMHgwMCwweDI4LDB4NjMsMHg2RiwweDc1LDB4NkUsMHg3NCwweDY5LDB4NkUsMHg2NywweDJFLDB4MkUsMHgyRSwweDI5LAotMHgwMCwweDAwLDB4NjUsMHg0RSwweDY0LDB4MjAsMHg0RiwweDY2LDB4MjAsMHg0MywweDZGLDB4NDQsMHg2NSwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLAotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcDIvaXAyYmFzZS5jIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMKaW5kZXggNDM1Y2NmYy4uODE1NWUyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJiYXNlLmMKQEAgLTIxLDEwICsyMSw5IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgImlwMnR5cGVzLmgiCQkKLSNpbmNsdWRlICJmaXBfZmlybS5oIgkJLy8gdGhlIG1lYXQKIAogaW50Ci1pcDJfbG9hZG1haW4oaW50ICosIGludCAgKiwgdW5zaWduZWQgY2hhciAqLCBpbnQgKTsgLy8gcmVmIGludG8gaXAybWFpbi5jCitpcDJfbG9hZG1haW4oaW50ICosIGludCAqKTsgLy8gcmVmIGludG8gaXAybWFpbi5jCiAKIC8qIE5vdGU6IEFkZCBjb21waWxlZCBpbiBkZWZhdWx0cyB0byB0aGVzZSBhcnJheXMsIG5vdCB0byB0aGUgc3RydWN0dXJlCiAJaW4gaXAyLmggYW55IGxvbmdlci4gIFRoYXQgc3RydWN0dXJlIFdJTEwgZ2V0IG92ZXJyaWRkZW4KQEAgLTUyLDcgKzUxLDcgQEAKIAkJaXJxWzBdID0gaXJxWzFdID0gaXJxWzJdID0gaXJxWzNdID0gMDsKIAl9CiAKLQlyZXR1cm4gaXAyX2xvYWRtYWluKGlvLGlycSwodW5zaWduZWQgY2hhciAqKWZpcF9maXJtLHNpemVvZihmaXBfZmlybSkpOworCXJldHVybiBpcDJfbG9hZG1haW4oaW8sIGlycSk7CiB9CiBtb2R1bGVfaW5pdChpcDJfaW5pdCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcDIvaXAybWFpbi5jIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMKaW5kZXggYzEyY2Y4Zi4uOWEyMzk0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwMi9pcDJtYWluLmMKQEAgLTk4LDYgKzk4LDkgQEAKICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgpAQCAtMTU1LDkgKzE1OCw3IEBACiBzdGF0aWMgY2hhciAqcGNJcGwgICAgCQkgPSAiaXAyaXBsIjsKIAogLy8gY2hlZXp5IGtsdWRnZSBvciBnZW5pdXMgLSB5b3UgZGVjaWRlPwotaW50IGlwMl9sb2FkbWFpbihpbnQgKiwgaW50ICosIHVuc2lnbmVkIGNoYXIgKiwgaW50KTsKLXN0YXRpYyB1bnNpZ25lZCBjaGFyICpGaXBfZmlybXdhcmU7Ci1zdGF0aWMgaW50IEZpcF9maXJtd2FyZV9zaXplOworaW50IGlwMl9sb2FkbWFpbihpbnQgKiwgaW50ICopOwogCiAvKioqKioqKioqKioqKioqKioqKioqKiovCiAvKiBGdW5jdGlvbiBQcm90b3R5cGVzICovCkBAIC0yMDgsNyArMjA5LDcgQEAKIHN0YXRpYyBpbnQgRHVtcFRyYWNlQnVmZmVyKGNoYXIgX191c2VyICosIGludCk7CiBzdGF0aWMgaW50IER1bXBGaWZvQnVmZmVyKCBjaGFyIF9fdXNlciAqLCBpbnQpOwogCi1zdGF0aWMgdm9pZCBpcDJfaW5pdF9ib2FyZChpbnQpOworc3RhdGljIHZvaWQgaXAyX2luaXRfYm9hcmQoaW50LCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKik7CiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgZmluZF9laXNhX2JvYXJkKGludCk7CiAKIC8qKioqKioqKioqKioqKiovCkBAIC00NzQsOCArNDc1LDI3IEBACiAvKiBTQV9SQU5ET00gICAtIGNhbiBiZSBzb3VyY2UgZm9yIGNlcnQuIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9ycyAqLwogI2RlZmluZSBJUDJfU0FfRkxBR1MJMAogCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmlwMl9yZXF1ZXN0X2Zpcm13YXJlKHZvaWQpCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldjsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCisJcGRldiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9zaW1wbGUoImlwMiIsIDAsIE5VTEwsIDApOworCWlmIChJU19FUlIocGRldikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlIGZvciBpcDJcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAiaW50ZWxsaXBvcnQyLmJpbiIsICZwZGV2LT5kZXYpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgJ2ludGVsbGlwb3J0Mi5iaW4nXG4iKTsKKwkJZncgPSBOVUxMOworCX0KKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihwZGV2KTsKKwlyZXR1cm4gZnc7Cit9CisKIGludAotaXAyX2xvYWRtYWluKGludCAqaW9wLCBpbnQgKmlycXAsIHVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCBpbnQgZmlybXNpemUpIAoraXAyX2xvYWRtYWluKGludCAqaW9wLCBpbnQgKmlycXApCiB7CiAJaW50IGksIGosIGJveDsKIAlpbnQgZXJyID0gMDsKQEAgLTQ4Myw2ICs1MDMsNyBAQAogCWkyZUJvcmRTdHJQdHIgcEIgPSBOVUxMOwogCWludCByYyA9IC0xOwogCXN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAqcGNpX2Rldl9pID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ID0gTlVMTDsKIAogCWlwMnRyYWNlIChJVFJDX05PX1BPUlQsIElUUkNfSU5JVCwgSVRSQ19FTlRFUiwgMCApOwogCkBAIC01MTYsOSArNTM3LDYgQEAKIAl9CiAJcG9sbF9vbmx5ID0gIXBvbGxfb25seTsKIAotCUZpcF9maXJtd2FyZSA9IGZpcm13YXJlOwotCUZpcF9maXJtd2FyZV9zaXplID0gZmlybXNpemU7Ci0KIAkvKiBBbm5vdW5jZSBvdXIgcHJlc2VuY2UgKi8KIAlwcmludGsoIEtFUk5fSU5GTyAiJXMgdmVyc2lvbiAlc1xuIiwgcGNOYW1lLCBwY1ZlcnNpb24gKTsKIApAQCAtNjM4LDEwICs2NTYsMTggQEAKIAkJfQogCX0KIAlmb3IgKCBpID0gMDsgaSA8IElQMl9NQVhfQk9BUkRTOyArK2kgKSB7CisJCS8qIFdlIGRvbid0IHdhbnQgdG8gcmVxdWVzdCB0aGUgZmlybXdhcmUgdW5sZXNzIHdlIGhhdmUgYXQKKwkJICAgbGVhc3Qgb25lIGJvYXJkICovCiAJCWlmICggaTJCb2FyZFB0clRhYmxlW2ldICE9IE5VTEwgKSB7Ci0JCQlpcDJfaW5pdF9ib2FyZCggaSApOworCQkJaWYgKCFmdykKKwkJCQlmdyA9IGlwMl9yZXF1ZXN0X2Zpcm13YXJlKCk7CisJCQlpZiAoIWZ3KQorCQkJCWJyZWFrOworCQkJaXAyX2luaXRfYm9hcmQoaSwgZncpOwogCQl9CiAJfQorCWlmIChmdykKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAlpcDJ0cmFjZSAoSVRSQ19OT19QT1JULCBJVFJDX0lOSVQsIDIsIDAgKTsKIApAQCAtNzY5LDcgKzc5NSw3IEBACiAvKiBhcmUgcmVwb3J0ZWQgb24gdGhlIGNvbnNvbGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyB2b2lkCi1pcDJfaW5pdF9ib2FyZCggaW50IGJvYXJkbnVtICkKK2lwMl9pbml0X2JvYXJkKGludCBib2FyZG51bSwgY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykKIHsKIAlpbnQgaTsKIAlpbnQgbnBvcnRzID0gMCwgbmJveGVzID0gMDsKQEAgLTc4OSw3ICs4MTUsNyBAQAogCQlnb3RvIGVycl9pbml0aWFsaXplOwogCX0KIAotCWlmICggaWlEb3dubG9hZEFsbCAoIHBCLCAobG9hZEhkclN0clB0cilGaXBfZmlybXdhcmUsIDEsIEZpcF9maXJtd2FyZV9zaXplICkKKwlpZiAoIGlpRG93bmxvYWRBbGwgKCBwQiwgKGxvYWRIZHJTdHJQdHIpZnctPmRhdGEsIDEsIGZ3LT5zaXplICkKIAkgICAgIT0gSUlfRE9XTl9HT09EICkgewogCQlwcmludGsgKCBLRVJOX0VSUiAiSVAyOiBmYWlsZWQgdG8gZG93bmxvYWQgbG9hZHdhcmVcbiIgKTsKIAkJZ290byBlcnJfcmVsZWFzZV9yZWdpb247CkBAIC0yOTA4LDQyICsyOTM0LDExIEBACiBzdGF0aWMgaW50CiBpcDJfaXBsX29wZW4oIHN0cnVjdCBpbm9kZSAqcElub2RlLCBzdHJ1Y3QgZmlsZSAqcEZpbGUgKQogewotCXVuc2lnbmVkIGludCBpcGxtaW5vciA9IGltaW5vcihwSW5vZGUpOwotCWkyZUJvcmRTdHJQdHIgcEI7Ci0JaTJDaGFuU3RyUHRyICBwQ2g7CiAKICNpZmRlZiBJUDJERUJVR19JUEwKIAlwcmludGsgKEtFUk5fREVCVUcgIklQMklQTDogb3BlblxuIiApOwogI2VuZGlmCi0KLQlzd2l0Y2goaXBsbWlub3IpIHsKLQkvLyBUaGVzZSBhcmUgdGhlIElQTCBkZXZpY2VzCi0JY2FzZSAwOgotCWNhc2UgNDoKLQljYXNlIDg6Ci0JY2FzZSAxMjoKLQkJYnJlYWs7Ci0KLQkvLyBUaGVzZSBhcmUgdGhlIHN0YXR1cyBkZXZpY2VzCi0JY2FzZSAxOgotCWNhc2UgNToKLQljYXNlIDk6Ci0JY2FzZSAxMzoKLQkJYnJlYWs7Ci0KLQkvLyBUaGVzZSBhcmUgdGhlIGRlYnVnIGRldmljZXMKLQljYXNlIDI6Ci0JY2FzZSA2OgotCWNhc2UgMTA6Ci0JY2FzZSAxNDoKLQkJcEIgPSBpMkJvYXJkUHRyVGFibGVbaXBsbWlub3IgLyA0XTsKLQkJcENoID0gKGkyQ2hhblN0clB0cikgcEItPmkyZUNoYW5uZWxQdHI7Ci0JCWJyZWFrOwotCi0JLy8gVGhpcyBpcyB0aGUgdHJhY2UgZGV2aWNlCi0JY2FzZSAzOgotCQlicmVhazsKLQl9CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2lwMjctcnRjLmMgYi9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYwppbmRleCA4NmU2NTM4Li5lYzlkMDQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYworKysgYi9kcml2ZXJzL2NoYXIvaXAyNy1ydGMuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2JjZC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CkBAIC0xNjMsMTUgKzE2NCwxOCBAQAogCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwogCiAJaWYgKHJ0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikgewogCQlzcGluX3VubG9ja19pcnEoJnJ0Y19sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAogCXJ0Y19zdGF0dXMgfD0gUlRDX0lTX09QRU47CiAJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2RldmludGYuYyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfZGV2aW50Zi5jCmluZGV4IDAyNDZhMmI4Li5jMTFhNDA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2RldmludGYuYworKysgYi9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX2RldmludGYuYwpAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiBzdHJ1Y3QgaXBtaV9maWxlX3ByaXZhdGUKIHsKQEAgLTEwMCw3ICsxMDEsOSBAQAogCXN0cnVjdCBpcG1pX2ZpbGVfcHJpdmF0ZSAqcHJpdiA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAlpbnQgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0OwogCisJbG9ja19rZXJuZWwoKTsgLyogY291bGQgcmFjZSBhZ2FpbnN0IG9wZW4oKSBvdGhlcndpc2UgKi8KIAlyZXN1bHQgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJnByaXYtPmZhc3luY19xdWV1ZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIChyZXN1bHQpOwogfQpAQCAtMTIxLDYgKzEyNCw3IEBACiAJaWYgKCFwcml2KQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJcHJpdi0+ZmlsZSA9IGZpbGU7CiAKIAlydiA9IGlwbWlfY3JlYXRlX3VzZXIoaWZfbnVtLApAQCAtMTI5LDcgKzEzMyw3IEBACiAJCQkgICAgICAmKHByaXYtPnVzZXIpKTsKIAlpZiAocnYpIHsKIAkJa2ZyZWUocHJpdik7Ci0JCXJldHVybiBydjsKKwkJZ290byBvdXQ7CiAJfQogCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcHJpdjsKQEAgLTE0NCw3ICsxNDgsOSBAQAogCXByaXYtPmRlZmF1bHRfcmV0cmllcyA9IC0xOwogCXByaXYtPmRlZmF1bHRfcmV0cnlfdGltZV9tcyA9IDA7CiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJ2OwogfQogCiBzdGF0aWMgaW50IGlwbWlfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfd2F0Y2hkb2cuYyBiL2RyaXZlcnMvY2hhci9pcG1pL2lwbWlfd2F0Y2hkb2cuYwppbmRleCAxYjlhODcwLi4yMzVmYWIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvaXBtaS9pcG1pX3dhdGNoZG9nLmMKKysrIGIvZHJpdmVycy9jaGFyL2lwbWkvaXBtaV93YXRjaGRvZy5jCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9pcG1pLmg+CiAjaW5jbHVkZSA8bGludXgvaXBtaV9zbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3dhdGNoZG9nLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTc1NSw5ICs3NTYsOCBAQAogCQlydiA9IGlwbWlfaGVhcnRiZWF0KCk7CiAJCWlmIChydikKIAkJCXJldHVybiBydjsKLQkJcmV0dXJuIDE7CiAJfQotCXJldHVybiAwOworCXJldHVybiBsZW47CiB9CiAKIHN0YXRpYyBzc2l6ZV90IGlwbWlfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwKQEAgLTgxOSw2ICs4MTksOCBAQAogCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmaXBtaV93ZG9nX29wZW4pKQogCQkJcmV0dXJuIC1FQlVTWTsKIAorCQljeWNsZV9rZXJuZWxfbG9jaygpOworCiAJCS8qCiAJCSAqIERvbid0IHN0YXJ0IHRoZSB0aW1lciBub3csIGxldCBpdCBzdGFydCBvbiB0aGUKIAkJICogZmlyc3QgaGVhcnRiZWF0LgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2xjZC5jIGIvZHJpdmVycy9jaGFyL2xjZC5jCmluZGV4IDRmZTkyMDYuLjFjMjliMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9sY2QuYworKysgYi9kcml2ZXJzL2NoYXIvbGNkLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGRldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC00MTQsNiArNDE1LDggQEAKIAogc3RhdGljIGludCBsY2Rfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOworCiAJaWYgKCFsY2RfcHJlc2VudCkKIAkJcmV0dXJuIC1FTlhJTzsKIAllbHNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbHAuYyBiL2RyaXZlcnMvY2hhci9scC5jCmluZGV4IDYwYWM2NDIuLjcxYWJiNGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9scC5jCisrKyBiL2RyaXZlcnMvY2hhci9scC5jCkBAIC0xMjYsNiArMTI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxsaW51eC9wYXJwb3J0Lmg+CiAjdW5kZWYgTFBfU1RBVFMKQEAgLTQ4OSwxNCArNDkwLDIxIEBACiBzdGF0aWMgaW50IGxwX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsKIAl1bnNpZ25lZCBpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOworCWludCByZXQgPSAwOwogCi0JaWYgKG1pbm9yID49IExQX05PKQotCQlyZXR1cm4gLUVOWElPOwotCWlmICgoTFBfRihtaW5vcikgJiBMUF9FWElTVCkgPT0gMCkKLQkJcmV0dXJuIC1FTlhJTzsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdChMUF9CVVNZX0JJVF9QT1MsICZMUF9GKG1pbm9yKSkpCi0JCXJldHVybiAtRUJVU1k7Ci0KKwlsb2NrX2tlcm5lbCgpOworCWlmIChtaW5vciA+PSBMUF9OTykgeworCQlyZXQgPSAtRU5YSU87CisJCWdvdG8gb3V0OworCX0KKwlpZiAoKExQX0YobWlub3IpICYgTFBfRVhJU1QpID09IDApIHsKKwkJcmV0ID0gLUVOWElPOworCQlnb3RvIG91dDsKKwl9CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoTFBfQlVTWV9CSVRfUE9TLCAmTFBfRihtaW5vcikpKSB7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CisJfQogCS8qIElmIEFCT1JUT1BFTiBpcyBzZXQgYW5kIHRoZSBwcmludGVyIGlzIG9mZmxpbmUgb3Igb3V0IG9mIHBhcGVyLAogCSAgIHdlIG1heSBzdGlsbCB3YW50IHRvIG9wZW4gaXQgdG8gcGVyZm9ybSBpb2N0bCgpcy4gIFRoZXJlZm9yZSB3ZQogCSAgIGhhdmUgY29tbWFuZGVlcmVkIE9fTk9OQkxPQ0ssIGV2ZW4gdGhvdWdoIGl0IGlzIGJlaW5nIHVzZWQgaW4KQEAgLTUxMCwyMSArNTE4LDI1IEBACiAJCWlmIChzdGF0dXMgJiBMUF9QT1VUUEEpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gImxwJWQgb3V0IG9mIHBhcGVyXG4iLCBtaW5vcik7CiAJCQlMUF9GKG1pbm9yKSAmPSB+TFBfQlVTWTsKLQkJCXJldHVybiAtRU5PU1BDOworCQkJcmV0ID0gLUVOT1NQQzsKKwkJCWdvdG8gb3V0OwogCQl9IGVsc2UgaWYgKCEoc3RhdHVzICYgTFBfUFNFTEVDRCkpIHsKIAkJCXByaW50ayhLRVJOX0lORk8gImxwJWQgb2ZmLWxpbmVcbiIsIG1pbm9yKTsKIAkJCUxQX0YobWlub3IpICY9IH5MUF9CVVNZOwotCQkJcmV0dXJuIC1FSU87CisJCQlyZXQgPSAtRUlPOworCQkJZ290byBvdXQ7CiAJCX0gZWxzZSBpZiAoIShzdGF0dXMgJiBMUF9QRVJST1JQKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSICJscCVkIHByaW50ZXIgZXJyb3JcbiIsIG1pbm9yKTsKIAkJCUxQX0YobWlub3IpICY9IH5MUF9CVVNZOwotCQkJcmV0dXJuIC1FSU87CisJCQlyZXQgPSAtRUlPOworCQkJZ290byBvdXQ7CiAJCX0KIAl9CiAJbHBfdGFibGVbbWlub3JdLmxwX2J1ZmZlciA9IGttYWxsb2MoTFBfQlVGRkVSX1NJWkUsIEdGUF9LRVJORUwpOwogCWlmICghbHBfdGFibGVbbWlub3JdLmxwX2J1ZmZlcikgewogCQlMUF9GKG1pbm9yKSAmPSB+TFBfQlVTWTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OwogCX0KIAkvKiBEZXRlcm1pbmUgaWYgdGhlIHBlcmlwaGVyYWwgc3VwcG9ydHMgRUNQIG1vZGUgKi8KIAlscF9jbGFpbV9wYXJwb3J0X29yX2Jsb2NrICgmbHBfdGFibGVbbWlub3JdKTsKQEAgLTU0MCw3ICs1NTIsOSBAQAogCXBhcnBvcnRfbmVnb3RpYXRlIChscF90YWJsZVttaW5vcl0uZGV2LT5wb3J0LCBJRUVFMTI4NF9NT0RFX0NPTVBBVCk7CiAJbHBfcmVsZWFzZV9wYXJwb3J0ICgmbHBfdGFibGVbbWlub3JdKTsKIAlscF90YWJsZVttaW5vcl0uY3VycmVudF9tb2RlID0gSUVFRTEyODRfTU9ERV9DT01QQVQ7Ci0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgbHBfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL21iY3MuYyBiL2RyaXZlcnMvY2hhci9tYmNzLmMKaW5kZXggZjQ3MTZhZC4uYWNkOGU5ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL21iY3MuYworKysgYi9kcml2ZXJzL2NoYXIvbWJjcy5jCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC91aW8uaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CkBAIC0zODIsMTUgKzM4MywxOSBAQAogCXN0cnVjdCBtYmNzX3NvZnQgKnNvZnQ7CiAJaW50IG1pbm9yOwogCisJbG9ja19rZXJuZWwoKTsKIAltaW5vciA9IGltaW5vcihpcCk7CiAKKwkvKiBOb3RoaW5nIHByb3RlY3RzIGFjY2VzcyB0byB0aGlzIGxpc3QuLi4gKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNvZnQsICZzb2Z0X2xpc3QsIGxpc3QpIHsKIAkJaWYgKHNvZnQtPm5hc2lkID09IG1pbm9yKSB7CiAJCQlmcC0+cHJpdmF0ZV9kYXRhID0gc29mdC0+Y3hkZXY7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gMDsKIAkJfQogCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gLUVOT0RFVjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL21lbS5jIGIvZHJpdmVycy9jaGFyL21lbS5jCmluZGV4IDkzNGZmYWYuLjA3MGUyMmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9tZW0uYworKysgYi9kcml2ZXJzL2NoYXIvbWVtLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CiAjaW5jbHVkZSA8bGludXgvc3BsaWNlLmg+CiAjaW5jbHVkZSA8bGludXgvcGZuLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC04ODksNiArODkwLDkgQEAKIAogc3RhdGljIGludCBtZW1vcnlfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKQogeworCWludCByZXQgPSAwOworCisJbG9ja19rZXJuZWwoKTsKIAlzd2l0Y2ggKGltaW5vcihpbm9kZSkpIHsKIAkJY2FzZSAxOgogCQkJZmlscC0+Zl9vcCA9ICZtZW1fZm9wczsKQEAgLTkzMiwxMSArOTM2LDEzIEBACiAJCQlicmVhazsKICNlbmRpZgogCQlkZWZhdWx0OgorCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIC1FTlhJTzsKIAl9CiAJaWYgKGZpbHAtPmZfb3AgJiYgZmlscC0+Zl9vcC0+b3BlbikKLQkJcmV0dXJuIGZpbHAtPmZfb3AtPm9wZW4oaW5vZGUsZmlscCk7Ci0JcmV0dXJuIDA7CisJCXJldCA9IGZpbHAtPmZfb3AtPm9wZW4oaW5vZGUsZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG1lbW9yeV9mb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL21pc2MuYyBiL2RyaXZlcnMvY2hhci9taXNjLmMKaW5kZXggZWFhY2UwZC4uNmUxNTYzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL21pc2MuYworKysgYi9kcml2ZXJzL2NoYXIvbWlzYy5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CiAjaW5jbHVkZSA8bGludXgva21vZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKIC8qCiAgKiBIZWFkIGVudHJ5IGZvciB0aGUgZG91Ymx5IGxpbmtlZCBtaXNjZGV2aWNlIGxpc3QKQEAgLTExOCw2ICsxMTksNyBAQAogCWludCBlcnIgPSAtRU5PREVWOwogCWNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm9sZF9mb3BzLCAqbmV3X2ZvcHMgPSBOVUxMOwogCQorCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmbWlzY19tdHgpOwogCQogCWxpc3RfZm9yX2VhY2hfZW50cnkoYywgJm1pc2NfbGlzdCwgbGlzdCkgewpAQCAtMTU1LDYgKzE1Nyw3IEBACiAJZm9wc19wdXQob2xkX2ZvcHMpOwogZmFpbDoKIAltdXRleF91bmxvY2soJm1pc2NfbXR4KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL21veGEuYyBiL2RyaXZlcnMvY2hhci9tb3hhLmMKaW5kZXggZDU3ZDNhNi4uZTIxMzQ2ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL21veGEuYworKysgYi9kcml2ZXJzL2NoYXIvbW94YS5jCkBAIC03MjEsNyArNzIxLDcgQEAKIAogc3RhdGljIGludCBtb3hhX2xvYWRfZncoc3RydWN0IG1veGFfYm9hcmRfY29uZiAqYnJkLCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogewotCXZvaWQgKnB0ciA9IGZ3LT5kYXRhOworCWNvbnN0IHZvaWQgKnB0ciA9IGZ3LT5kYXRhOwogCWNoYXIgcnNuWzY0XTsKIAl1MTYgbGVuc1s1XTsKIAlzaXplX3QgbGVuOwpAQCAtNzM0LDcgKzczNCw3IEBACiAJCXU4IG1vZGVsOwkvKiBDMjE4VD0xLCBDMzIwVD0yLCBDUDIwND0zICovCiAJCXU4IHJlc2VydmVkMls4XTsKIAkJX19sZTE2IGxlbls1XTsKLQl9ICpoZHIgPSBwdHI7CisJfSBjb25zdCAqaGRyID0gcHRyOwogCiAJQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoaGRyLT5sZW4pICE9IEFSUkFZX1NJWkUobGVucykpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbXdhdmUvbXdhdmVkZC5jIGIvZHJpdmVycy9jaGFyL213YXZlL213YXZlZGQuYwppbmRleCA4ZDE0ODIzLi41MDI0M2ZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvbXdhdmUvbXdhdmVkZC5jCisrKyBiL2RyaXZlcnMvY2hhci9td2F2ZS9td2F2ZWRkLmMKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF84MjUwLmg+CiAjaW5jbHVkZSAic21hcGkuaCIKQEAgLTEwMCw2ICsxMDEsNyBAQAogCVBSSU5US18yKFRSQUNFX01XQVZFLAogCQkibXdhdmVkZDo6bXdhdmVfb3BlbiwgZXhpdCByZXR1cm4gcmV0dmFsICV4XG4iLCByZXR2YWwpOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gcmV0dmFsOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvbnZyYW0uYyBiL2RyaXZlcnMvY2hhci9udnJhbS5jCmluZGV4IDk4ZGVjMzguLjE5N2NkN2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9udnJhbS5jCisrKyBiL2RyaXZlcnMvY2hhci9udnJhbS5jCkBAIC0xMDcsNiArMTA3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC0zMzMsMTIgKzMzNCwxNCBAQAogc3RhdGljIGludAogbnZyYW1fb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmbnZyYW1fc3RhdGVfbG9jayk7CiAKIAlpZiAoKG52cmFtX29wZW5fY250ICYmIChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSkgfHwKIAkgICAgKG52cmFtX29wZW5fbW9kZSAmIE5WUkFNX0VYQ0wpIHx8CiAJICAgICgoZmlsZS0+Zl9tb2RlICYgMikgJiYgKG52cmFtX29wZW5fbW9kZSAmIE5WUkFNX1dSSVRFKSkpIHsKIAkJc3Bpbl91bmxvY2soJm52cmFtX3N0YXRlX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CiAJfQogCkBAIC0zNDksNiArMzUyLDcgQEAKIAludnJhbV9vcGVuX2NudCsrOwogCiAJc3Bpbl91bmxvY2soJm52cmFtX3N0YXRlX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BjODczNnhfZ3Bpby5jIGIvZHJpdmVycy9jaGFyL3BjODczNnhfZ3Bpby5jCmluZGV4IGVjZmFmMTguLmI5MzBkZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wYzg3MzZ4X2dwaW8uYworKysgYi9kcml2ZXJzL2NoYXIvcGM4NzM2eF9ncGlvLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L25zY19ncGlvLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjZGVmaW5lIERFVk5BTUUgInBjODczNnhfZ3BpbyIKQEAgLTIxNyw2ICsyMTgsNyBAQAogCXVuc2lnbmVkIG0gPSBpbWlub3IoaW5vZGUpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9ICZwYzg3MzZ4X2dwaW9fb3BzOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlkZXZfZGJnKCZwZGV2LT5kZXYsICJvcGVuICVkXG4iLCBtKTsKIAogCWlmIChtID49IFBDODczNlhfR1BJT19DVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDAwX2NzLmMgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDAwMF9jcy5jCmluZGV4IDRhOTMzZDQuLjU5Y2EzNTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDAwX2NzLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwMDBfY3MuYwpAQCAtMzIsOCArMzIsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRyZXYuaD4KLSNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KQEAgLTE0MDUsMTEgKzE0MDYsMTEgQEAKIAlERUJVR1AoMywgZGV2LCAiPC0gc3RvcF9tb25pdG9yXG4iKTsKIH0KIAotc3RhdGljIGludCBjbW1faW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGludCBjbWQsCi0JCSAgICAgdW5zaWduZWQgbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBjbW1faW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBjbTQwMDBfZGV2ICpkZXYgPSBmaWxwLT5wcml2YXRlX2RhdGE7CiAJdW5zaWduZWQgaW50IGlvYmFzZSA9IGRldi0+cF9kZXYtPmlvLkJhc2VQb3J0MTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZTsKIAlzdHJ1Y3QgcGNtY2lhX2RldmljZSAqbGluazsKIAlpbnQgc2l6ZTsKIAlpbnQgcmM7CkBAIC0xNDI2LDM4ICsxNDI3LDQyIEBACiAJREVCVUdQKDMsIGRldiwgImNtbV9pb2N0bChkZXZpY2U9JWQuJWQpICVzXG4iLCBpbWFqb3IoaW5vZGUpLAogCSAgICAgICBpbWlub3IoaW5vZGUpLCBpb2N0bF9uYW1lc1tfSU9DX05SKGNtZCldKTsKIAorCWxvY2tfa2VybmVsKCk7CisJcmMgPSAtRU5PREVWOwogCWxpbmsgPSBkZXZfdGFibGVbaW1pbm9yKGlub2RlKV07CiAJaWYgKCFwY21jaWFfZGV2X3ByZXNlbnQobGluaykpIHsKIAkJREVCVUdQKDQsIGRldiwgIkRFVl9PSyBmYWxzZVxuIik7Ci0JCXJldHVybiAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CiAKIAlpZiAodGVzdF9iaXQoSVNfQ01NX0FCU0VOVCwgJmRldi0+ZmxhZ3MpKSB7CiAJCURFQlVHUCg0LCBkZXYsICJDTU1fQUJTRU5UIGZsYWcgc2V0XG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KKwlyYyA9IEVJTlZBTDsKIAogCWlmIChfSU9DX1RZUEUoY21kKSAhPSBDTV9JT0NfTUFHSUMpIHsKIAkJREVCVUdQKDQsIGRldiwgImlvY3R5cGUgbWlzbWF0Y2hcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKKwkJZ290byBvdXQ7CiAJfQogCWlmIChfSU9DX05SKGNtZCkgPiBDTV9JT0NfTUFYTlIpIHsKIAkJREVCVUdQKDQsIGRldiwgImlvY25yIG1pc21hdGNoXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7CisJCWdvdG8gb3V0OwogCX0KIAlzaXplID0gX0lPQ19TSVpFKGNtZCk7Ci0JcmMgPSAwOworCXJjID0gLUVGQVVMVDsKIAlERUJVR1AoNCwgZGV2LCAiaW9jZGlyPSUuNHggaW9jcj0lLjR4IGlvY3c9JS40eCBpb2NzaXplPSVkIGNtZD0lLjR4XG4iLAogCSAgICAgIF9JT0NfRElSKGNtZCksIF9JT0NfUkVBRCwgX0lPQ19XUklURSwgc2l6ZSwgY21kKTsKIAogCWlmIChfSU9DX0RJUihjbWQpICYgX0lPQ19SRUFEKSB7CiAJCWlmICghYWNjZXNzX29rKFZFUklGWV9XUklURSwgYXJncCwgc2l6ZSkpCi0JCQlyZXR1cm4gLUVGQVVMVDsKKwkJCWdvdG8gb3V0OwogCX0KIAlpZiAoX0lPQ19ESVIoY21kKSAmIF9JT0NfV1JJVEUpIHsKIAkJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIGFyZ3AsIHNpemUpKQotCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQlnb3RvIG91dDsKIAl9CisJcmMgPSAwOwogCiAJc3dpdGNoIChjbWQpIHsKIAljYXNlIENNX0lPQ0dTVEFUVVM6CkBAIC0xNDc3LDkgKzE0ODIsOSBAQAogCQkJaWYgKHRlc3RfYml0KElTX0JBRF9DQVJELCAmZGV2LT5mbGFncykpCiAJCQkJc3RhdHVzIHw9IENNX0JBRF9DQVJEOwogCQkJaWYgKGNvcHlfdG9fdXNlcihhcmdwLCAmc3RhdHVzLCBzaXplb2YoaW50KSkpCi0JCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkJcmMgPSAtRUZBVUxUOwogCQl9Ci0JCXJldHVybiAwOworCQlicmVhazsKIAljYXNlIENNX0lPQ0dBVFI6CiAJCURFQlVHUCg0LCBkZXYsICIuLi4gaW4gQ01fSU9DR0FUUlxuIik7CiAJCXsKQEAgLTE0OTIsMjUgKzE0OTcsMjkgQEAKIAkJCSAgICAgIHx8ICh0ZXN0X2JpdChJU19BVFJfUFJFU0VOVCwgKHZvaWQgKikmZGV2LT5mbGFncykKIAkJCQkgICE9IDApKSkpIHsKIAkJCQlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spCi0JCQkJCXJldHVybiAtRUFHQUlOOwotCQkJCXJldHVybiAtRVJFU1RBUlRTWVM7CisJCQkJCXJjID0gLUVBR0FJTjsKKwkJCQllbHNlCisJCQkJCXJjID0gLUVSRVNUQVJUU1lTOworCQkJCWJyZWFrOwogCQkJfQogCisJCQlyYyA9IC1FRkFVTFQ7CiAJCQlpZiAodGVzdF9iaXQoSVNfQVRSX1ZBTElELCAmZGV2LT5mbGFncykgPT0gMCkgewogCQkJCXRtcCA9IC0xOwogCQkJCWlmIChjb3B5X3RvX3VzZXIoJihhdHJlcS0+YXRyX2xlbiksICZ0bXAsCiAJCQkJCQkgc2l6ZW9mKGludCkpKQotCQkJCQlyZXR1cm4gLUVGQVVMVDsKKwkJCQkJYnJlYWs7CiAJCQl9IGVsc2UgewogCQkJCWlmIChjb3B5X3RvX3VzZXIoYXRyZXEtPmF0ciwgZGV2LT5hdHIsCiAJCQkJCQkgZGV2LT5hdHJfbGVuKSkKLQkJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkJCWJyZWFrOwogCiAJCQkJdG1wID0gZGV2LT5hdHJfbGVuOwogCQkJCWlmIChjb3B5X3RvX3VzZXIoJihhdHJlcS0+YXRyX2xlbiksICZ0bXAsIHNpemVvZihpbnQpKSkKLQkJCQkJcmV0dXJuIC1FRkFVTFQ7CisJCQkJCWJyZWFrOwogCQkJfQotCQkJcmV0dXJuIDA7CisJCQlyYyA9IDA7CisJCQlicmVhazsKIAkJfQogCWNhc2UgQ01fSU9DQVJET0ZGOgogCkBAIC0xNTM4LDggKzE1NDcsMTAgQEAKIAkJCSAgICAgIHx8ICh0ZXN0X2FuZF9zZXRfYml0KExPQ0tfSU8sICh2b2lkICopJmRldi0+ZmxhZ3MpCiAJCQkJICA9PSAwKSkpKSB7CiAJCQkJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCQkJCQlyYyA9IC1FQUdBSU47CisJCQkJZWxzZQorCQkJCQlyYyA9IC1FUkVTVEFSVFNZUzsKKwkJCQlicmVhazsKIAkJCX0KIAkJCS8qIFNldCBGbGFnczAgPSAweDQyICovCiAJCQlERUJVR1AoNCwgZGV2LCAiU2V0IEZsYWdzMD0weDQyIFxuIik7CkBAIC0xNTU0LDggKzE1NjUsMTAgQEAKIAkJCSAgICAgIHx8ICh0ZXN0X2JpdChJU19BVFJfVkFMSUQsICh2b2lkICopJmRldi0+ZmxhZ3MpICE9CiAJCQkJICAwKSkpKSB7CiAJCQkJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCQkJCQlyYyA9IC1FQUdBSU47CisJCQkJZWxzZQorCQkJCQlyYyA9IC1FUkVTVEFSVFNZUzsKKwkJCQlicmVhazsKIAkJCX0KIAkJfQogCQkvKiByZWxlYXNlIGxvY2sgKi8KQEAgLTE1NjgsOCArMTU4MSwxMCBAQAogCQkJc3RydWN0IHB0c3JlcSBrcm5wdHNyZXE7CiAKIAkJCWlmIChjb3B5X2Zyb21fdXNlcigma3JucHRzcmVxLCBhcmdwLAotCQkJCQkgICBzaXplb2Yoc3RydWN0IHB0c3JlcSkpKQotCQkJCXJldHVybiAtRUZBVUxUOworCQkJCQkgICBzaXplb2Yoc3RydWN0IHB0c3JlcSkpKSB7CisJCQkJcmMgPSAtRUZBVUxUOworCQkJCWJyZWFrOworCQkJfQogCiAJCQlyYyA9IDA7CiAJCQlERUJVR1AoNCwgZGV2LCAiLi4uIGluIENNX0lPQ1NQVFNcbiIpOwpAQCAtMTU4MCw4ICsxNTk1LDEwIEBACiAJCQkgICAgICB8fCAodGVzdF9iaXQoSVNfQVRSX1BSRVNFTlQsICh2b2lkICopJmRldi0+ZmxhZ3MpCiAJCQkJICAhPSAwKSkpKSB7CiAJCQkJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCQkJCQlyYyA9IC1FQUdBSU47CisJCQkJZWxzZQorCQkJCQlyYyA9IC1FUkVTVEFSVFNZUzsKKwkJCQlicmVhazsKIAkJCX0KIAkJCS8qIGdldCBJTyBsb2NrICovCiAJCQlpZiAod2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlCkBAIC0xNTkwLDggKzE2MDcsMTAgQEAKIAkJCSAgICAgIHx8ICh0ZXN0X2FuZF9zZXRfYml0KExPQ0tfSU8sICh2b2lkICopJmRldi0+ZmxhZ3MpCiAJCQkJICA9PSAwKSkpKSB7CiAJCQkJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKQotCQkJCQlyZXR1cm4gLUVBR0FJTjsKLQkJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOworCQkJCQlyYyA9IC1FQUdBSU47CisJCQkJZWxzZQorCQkJCQlyYyA9IC1FUkVTVEFSVFNZUzsKKwkJCQlicmVhazsKIAkJCX0KIAogCQkJaWYgKChyYyA9IHNldF9wcm90b2NvbChkZXYsICZrcm5wdHNyZXEpKSAhPSAwKSB7CkBAIC0xNjA0LDcgKzE2MjMsNyBAQAogCQkJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZkZXYtPmlvcSk7CiAKIAkJfQotCQlyZXR1cm4gcmM7CisJCWJyZWFrOwogI2lmZGVmIFBDTUNJQV9ERUJVRwogCWNhc2UgQ01fSU9TREJHTFZMOgkvKiBzZXQgZGVidWcgbG9nIGxldmVsICovCiAJCXsKQEAgLTE2MTIsMTggKzE2MzEsMjAgQEAKIAogCQkJb2xkX3BjX2RlYnVnID0gcGNfZGVidWc7CiAJCQlpZiAoY29weV9mcm9tX3VzZXIoJnBjX2RlYnVnLCBhcmdwLCBzaXplb2YoaW50KSkpCi0JCQkJcmV0dXJuIC1FRkFVTFQ7Ci0KLQkJCWlmIChvbGRfcGNfZGVidWcgIT0gcGNfZGVidWcpCisJCQkJcmMgPSAtRUZBVUxUOworCQkJZWxzZSBpZiAob2xkX3BjX2RlYnVnICE9IHBjX2RlYnVnKQogCQkJCURFQlVHUCgwLCBkZXYsICJDaGFuZ2VkIGRlYnVnIGxvZyBsZXZlbCAiCiAJCQkJICAgICAgICJ0byAlaVxuIiwgcGNfZGVidWcpOwogCQl9Ci0JCXJldHVybiByYzsKKwkJYnJlYWs7CiAjZW5kaWYKIAlkZWZhdWx0OgogCQlERUJVR1AoNCwgZGV2LCAiLi4uIGluIGRlZmF1bHQgKHVua25vd24gSU9DVEwgY29kZSlcbiIpOwotCQlyZXR1cm4gLUVJTlZBTDsKKwkJcmMgPSAtRU5PVFRZOwogCX0KK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgaW50IGNtbV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpAQCAtMTYzMSwxNiArMTY1MiwyMiBAQAogCXN0cnVjdCBjbTQwMDBfZGV2ICpkZXY7CiAJc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbms7CiAJaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0OwogCiAJaWYgKG1pbm9yID49IENNNDAwMF9NQVhfREVWKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbGluayA9IGRldl90YWJsZVttaW5vcl07Ci0JaWYgKGxpbmsgPT0gTlVMTCB8fCAhcGNtY2lhX2Rldl9wcmVzZW50KGxpbmspKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAobGluayA9PSBOVUxMIHx8ICFwY21jaWFfZGV2X3ByZXNlbnQobGluaykpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCi0JaWYgKGxpbmstPm9wZW4pCi0JCXJldHVybiAtRUJVU1k7CisJaWYgKGxpbmstPm9wZW4pIHsKKwkJcmV0ID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlkZXYgPSBsaW5rLT5wcml2OwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IGRldjsKQEAgLTE2NjAsOCArMTY4NywxMCBAQAogCSAqIHZhaWxkID0gYmxvY2sgdW50aWwgdmFsaWQgKG9yIGNhcmQKIAkgKiBpbnNlcnRlZCkKIAkgKi8KLQlpZiAoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spCi0JCXJldHVybiAtRUFHQUlOOworCWlmIChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykgeworCQlyZXQgPSAtRUFHQUlOOworCQlnb3RvIG91dDsKKwl9CiAKIAlkZXYtPm1kZWxheSA9IFRfNTBNU0VDOwogCkBAIC0xNjcxLDcgKzE3MDAsMTAgQEAKIAlsaW5rLT5vcGVuID0gMTsJCS8qIG9ubHkgb25lIG9wZW4gcGVyIGRldmljZSAqLwogCiAJREVCVUdQKDIsIGRldiwgIjwtIGNtbV9vcGVuXG4iKTsKLQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CisJcmV0ID0gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgY21tX2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpAQCAtMTg5Nyw3ICsxOTI5LDcgQEAKIAkub3duZXIJPSBUSElTX01PRFVMRSwKIAkucmVhZAk9IGNtbV9yZWFkLAogCS53cml0ZQk9IGNtbV93cml0ZSwKLQkuaW9jdGwJPSBjbW1faW9jdGwsCisJLnVubG9ja2VkX2lvY3RsCT0gY21tX2lvY3RsLAogCS5vcGVuCT0gY21tX29wZW4sCiAJLnJlbGVhc2U9IGNtbV9jbG9zZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDA0MF9jcy5jIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9jbTQwNDBfY3MuYwppbmRleCAwMzUwODRjLi42MTgxZjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcGNtY2lhL2NtNDA0MF9jcy5jCisrKyBiL2RyaXZlcnMvY2hhci9wY21jaWEvY200MDQwX2NzLmMKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CkBAIC00NDgsMjMgKzQ0OSwzMCBAQAogCXN0cnVjdCByZWFkZXJfZGV2ICpkZXY7CiAJc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbms7CiAJaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKKwlpbnQgcmV0OwogCiAJaWYgKG1pbm9yID49IENNX01BWF9ERVYpCiAJCXJldHVybiAtRU5PREVWOwogCisJbG9ja19rZXJuZWwoKTsKIAlsaW5rID0gZGV2X3RhYmxlW21pbm9yXTsKLQlpZiAobGluayA9PSBOVUxMIHx8ICFwY21jaWFfZGV2X3ByZXNlbnQobGluaykpCi0JCXJldHVybiAtRU5PREVWOworCWlmIChsaW5rID09IE5VTEwgfHwgIXBjbWNpYV9kZXZfcHJlc2VudChsaW5rKSkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKLQlpZiAobGluay0+b3BlbikKLQkJcmV0dXJuIC1FQlVTWTsKKwlpZiAobGluay0+b3BlbikgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0OworCX0KIAogCWRldiA9IGxpbmstPnByaXY7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gZGV2OwogCiAJaWYgKGZpbHAtPmZfZmxhZ3MgJiBPX05PTkJMT0NLKSB7CiAJCURFQlVHUCg0LCBkZXYsICJmaWxlcC0+Zl9mbGFncyBPX05PTkJMT0NLIHNldFxuIik7Ci0JCXJldHVybiAtRUFHQUlOOworCQlyZXQgPSAtRUFHQUlOOworCQlnb3RvIG91dDsKIAl9CiAKIAlsaW5rLT5vcGVuID0gMTsKQEAgLTQ3Myw3ICs0ODEsMTAgQEAKIAltb2RfdGltZXIoJmRldi0+cG9sbF90aW1lciwgamlmZmllcyArIFBPTExfUEVSSU9EKTsKIAogCURFQlVHUCgyLCBkZXYsICI8LSBjbTQwNDBfb3BlbiAoc3VjY2Vzc2Z1bGx5KVxuIik7Ci0JcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNtNDA0MF9jbG9zZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9oYXJkd2FyZS5jIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL2hhcmR3YXJlLmMKaW5kZXggYmE2MzQwYS4uOTI5MTAxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL2hhcmR3YXJlLmMKKysrIGIvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL2hhcmR3YXJlLmMKQEAgLTU5MCw4ICs1OTAsMTAgQEAKIAkJcGFja2V0ID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGlwd19yeF9wYWNrZXQpICsKIAkJCQlvbGRfcGFja2V0LT5sZW5ndGggKyBtaW5pbXVtX2ZyZWVfc3BhY2UsCiAJCQkJR0ZQX0FUT01JQyk7Ci0JCWlmICghcGFja2V0KQorCQlpZiAoIXBhY2tldCkgeworCQkJa2ZyZWUob2xkX3BhY2tldCk7CiAJCQlyZXR1cm4gTlVMTDsKKwkJfQogCQltZW1jcHkocGFja2V0LCBvbGRfcGFja2V0LAogCQkJCXNpemVvZihzdHJ1Y3QgaXB3X3J4X3BhY2tldCkKIAkJCQkJKyBvbGRfcGFja2V0LT5sZW5ndGgpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL21haW4uYyBiL2RyaXZlcnMvY2hhci9wY21jaWEvaXB3aXJlbGVzcy9tYWluLmMKaW5kZXggMDBjN2Y4NC4uY2M3ZGNlYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3BjbWNpYS9pcHdpcmVsZXNzL21haW4uYworKysgYi9kcml2ZXJzL2NoYXIvcGNtY2lhL2lwd2lyZWxlc3MvbWFpbi5jCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAKLSNpbmNsdWRlIDxwY21jaWEvdmVyc2lvbi5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KICNpbmNsdWRlIDxwY21jaWEvZGV2aWNlX2lkLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvcHBkZXYuYyBiL2RyaXZlcnMvY2hhci9wcGRldi5jCmluZGV4IDNhYWI4MzcuLmY2ZTZhY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9wcGRldi5jCisrKyBiL2RyaXZlcnMvY2hhci9wcGRldi5jCkBAIC02Niw2ICs2Niw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvcHBkZXYuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKICNkZWZpbmUgUFBfVkVSU0lPTiAicHBkZXY6IHVzZXItc3BhY2UgcGFyYWxsZWwgcG9ydCBkcml2ZXIiCkBAIC02MzgsNiArNjM5LDcgQEAKIAl1bnNpZ25lZCBpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCXN0cnVjdCBwcF9zdHJ1Y3QgKnBwOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlpZiAobWlub3IgPj0gUEFSUE9SVF9NQVgpCiAJCXJldHVybiAtRU5YSU87CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9yYXcuYyBiL2RyaXZlcnMvY2hhci9yYXcuYwppbmRleCBiYmZhMGUyLi41MDVmY2JlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvcmF3LmMKKysrIGIvZHJpdmVycy9jaGFyL3Jhdy5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTUzLDYgKzU0LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZyYXdfbXV0ZXgpOwogCiAJLyoKQEAgLTc5LDYgKzgxLDcgQEAKIAkJCWJkZXYtPmJkX2lub2RlLT5pX21hcHBpbmc7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gYmRldjsKIAltdXRleF91bmxvY2soJnJhd19tdXRleCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBvdXQyOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3J0Yy5jIGIvZHJpdmVycy9jaGFyL3J0Yy5jCmluZGV4IDVmODBhOWQuLmZhOTJhOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9ydGMuYworKysgYi9kcml2ZXJzL2NoYXIvcnRjLmMKQEAgLTczLDYgKzczLDcgQEAKICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2luY2x1ZGUgPGxpbnV4L2JjZC5oPgpAQCAtNjc4LDEyICs2NzksMTMgQEAKIAkJaWYgKGFyZyAhPSAoMTw8dG1wKSkKIAkJCXJldHVybiAtRUlOVkFMOwogCisJCXJ0Y19mcmVxID0gYXJnOworCiAJCXNwaW5fbG9ja19pcnFzYXZlKCZydGNfbG9jaywgZmxhZ3MpOwogCQlpZiAoaHBldF9zZXRfcGVyaW9kaWNfZnJlcShhcmcpKSB7CiAJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZydGNfbG9jaywgZmxhZ3MpOwogCQkJcmV0dXJuIDA7CiAJCX0KLQkJcnRjX2ZyZXEgPSBhcmc7CiAKIAkJdmFsID0gQ01PU19SRUFEKFJUQ19GUkVRX1NFTEVDVCkgJiAweGYwOwogCQl2YWwgfD0gKDE2IC0gdG1wKTsKQEAgLTczMyw2ICs3MzUsNyBAQAogICogbmVlZGVkIGhlcmUuIE9yIGFueXdoZXJlIGVsc2UgaW4gdGhpcyBkcml2ZXIuICovCiBzdGF0aWMgaW50IHJ0Y19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrX2lycSgmcnRjX2xvY2spOwogCiAJaWYgKHJ0Y19zdGF0dXMgJiBSVENfSVNfT1BFTikKQEAgLTc0MiwxMCArNzQ1LDEyIEBACiAKIAlydGNfaXJxX2RhdGEgPSAwOwogCXNwaW5fdW5sb2NrX2lycSgmcnRjX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0X2J1c3k6CiAJc3Bpbl91bmxvY2tfaXJxKCZydGNfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRUJVU1k7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zY3gyMDBfZ3Bpby5jIGIvZHJpdmVycy9jaGFyL3NjeDIwMF9ncGlvLmMKaW5kZXggOTllNTI3Mi4uMWQ5MTAwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3NjeDIwMF9ncGlvLmMKKysrIGIvZHJpdmVycy9jaGFyL3NjeDIwMF9ncGlvLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCkBAIC01MSw2ICs1Miw3IEBACiAJdW5zaWduZWQgbSA9IGltaW5vcihpbm9kZSk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gJnNjeDIwMF9ncGlvX29wczsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJaWYgKG0gPj0gTUFYX1BJTlMpCiAJCXJldHVybiAtRUlOVkFMOwogCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9zbnNjLmMgYi9kcml2ZXJzL2NoYXIvc25zYy5jCmluZGV4IDhmZTA5OWEuLjBiNzk5YWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9zbnNjLmMKKysrIGIvZHJpdmVycy9jaGFyL3Nuc2MuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vc24vaW8uaD4KICNpbmNsdWRlIDxhc20vc24vc25fc2FsLmg+CiAjaW5jbHVkZSA8YXNtL3NuL21vZHVsZS5oPgpAQCAtMTA0LDYgKzEwNSw3IEBACiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gc2Q7CiAKIAkvKiBob29rIHRoaXMgc3ViY2hhbm5lbCB1cCB0byB0aGUgc3lzdGVtIGNvbnRyb2xsZXIgaW50ZXJydXB0ICovCisJbG9ja19rZXJuZWwoKTsKIAlydiA9IHJlcXVlc3RfaXJxKFNHSV9VQVJUX1ZFQ1RPUiwgc2NkcnZfaW50ZXJydXB0LAogCQkJIElSUUZfU0hBUkVEIHwgSVJRRl9ESVNBQkxFRCwKIAkJCSBTWVNDVExfQkFTRU5BTUUsIHNkKTsKQEAgLTExMSw5ICsxMTMsMTAgQEAKIAkJaWE2NF9zbl9pcnRyX2Nsb3NlKHNkLT5zZF9uYXNpZCwgc2QtPnNkX3N1YmNoKTsKIAkJa2ZyZWUoc2QpOwogCQlwcmludGsoIiVzOiBpcnEgcmVxdWVzdCBmYWlsZWQgKCVkKVxuIiwgX19mdW5jX18sIHJ2KTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KLQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3NvbnlwaS5jIGIvZHJpdmVycy9jaGFyL3NvbnlwaS5jCmluZGV4IDU4NTMzZGUuLjg1ZTBlYjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci9zb255cGkuYworKysgYi9kcml2ZXJzL2NoYXIvc29ueXBpLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9rZmlmby5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtOTA2LDEyICs5MDcsMTQgQEAKIAogc3RhdGljIGludCBzb255cGlfbWlzY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWxvY2tfa2VybmVsKCk7CiAJbXV0ZXhfbG9jaygmc29ueXBpX2RldmljZS5sb2NrKTsKIAkvKiBGbHVzaCBpbnB1dCBxdWV1ZSBvbiBmaXJzdCBvcGVuICovCiAJaWYgKCFzb255cGlfZGV2aWNlLm9wZW5fY291bnQpCiAJCWtmaWZvX3Jlc2V0KHNvbnlwaV9kZXZpY2UuZmlmbyk7CiAJc29ueXBpX2RldmljZS5vcGVuX2NvdW50Kys7CiAJbXV0ZXhfdW5sb2NrKCZzb255cGlfZGV2aWNlLmxvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3N5c3JxLmMgYi9kcml2ZXJzL2NoYXIvc3lzcnEuYwppbmRleCBkYmNlMTI2Li44ZmRmZTljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvc3lzcnEuYworKysgYi9kcml2ZXJzL2NoYXIvc3lzcnEuYwpAQCAtMjE1LDcgKzIxNSw3IEBACiAKIHN0YXRpYyB2b2lkIHN5c3JxX3Nob3dyZWdzX290aGVyY3B1cyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKmR1bW15KQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHNob3dhY3B1LCBOVUxMLCAwLCAwKTsKKwlzbXBfY2FsbF9mdW5jdGlvbihzaG93YWNwdSwgTlVMTCwgMCk7CiB9CiAKIHN0YXRpYyBERUNMQVJFX1dPUksoc3lzcnFfc2hvd2FsbGNwdXMsIHN5c3JxX3Nob3dyZWdzX290aGVyY3B1cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdGIwMjE5LmMgYi9kcml2ZXJzL2NoYXIvdGIwMjE5LmMKaW5kZXggNGM0MzFjYi4uNjA2MmI2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RiMDIxOS5jCisrKyBiL2RyaXZlcnMvY2hhci90YjAyMTkuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vcmVib290Lmg+CkBAIC0yMzYsNiArMjM3LDcgQEAKIHsKIAl1bnNpZ25lZCBpbnQgbWlub3I7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCW1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlzd2l0Y2ggKG1pbm9yKSB7CiAJY2FzZSAwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RsY2xrLmMgYi9kcml2ZXJzL2NoYXIvdGxjbGsuYwppbmRleCAzNWU1ODAzLi44ZjIyODRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdGxjbGsuYworKysgYi9kcml2ZXJzL2NoYXIvdGxjbGsuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CkBAIC0yMDQsMTEgKzIwNSwxNCBAQAogewogCWludCByZXN1bHQ7CiAKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmdXNlZmxhZ3MpKQotCQlyZXR1cm4gLUVCVVNZOworCWxvY2tfa2VybmVsKCk7CisJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJnVzZWZsYWdzKSkgeworCQlyZXN1bHQgPSAtRUJVU1k7CiAJCS8qIHRoaXMgbGVnYWN5IGRldmljZSBpcyBhbHdheXMgb25lIHBlciBzeXN0ZW0gYW5kIGl0IGRvZXNuJ3QKIAkJICoga25vdyBob3cgdG8gaGFuZGxlIG11bHRpcGxlIGNvbmN1cnJlbnQgY2xpZW50cy4KIAkJICovCisJCWdvdG8gb3V0OworCX0KIAogCS8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBubyBpbnRlcnJ1cHQgcGVuZGluZyB3aGlsZQogCSAqIGluaXRpYWxpc2luZyBpbnRlcnJ1cHQgaGFuZGxlciAqLwpAQCAtMjE4LDEzICsyMjIsMTQgQEAKIAkgKiB3ZSBjYW4ndCBzaGFyZSB0aGlzIElSUSAqLwogCXJlc3VsdCA9IHJlcXVlc3RfaXJxKHRlbGNsa19pbnRlcnJ1cHQsICZ0bGNsa19pbnRlcnJ1cHQsCiAJCQkgICAgIElSUUZfRElTQUJMRUQsICJ0ZWxjb19jbG9jayIsIHRsY2xrX2ludGVycnVwdCk7Ci0JaWYgKHJlc3VsdCA9PSAtRUJVU1kpIHsKKwlpZiAocmVzdWx0ID09IC1FQlVTWSkKIAkJcHJpbnRrKEtFUk5fRVJSICJ0bGNsazogSW50ZXJydXB0IGNhbid0IGJlIHJlc2VydmVkLlxuIik7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCWluYihUTENMS19SRUc2KTsJLyogQ2xlYXIgaW50ZXJydXB0IGV2ZW50cyAqLworCWVsc2UKKwkJaW5iKFRMQ0xLX1JFRzYpOwkvKiBDbGVhciBpbnRlcnJ1cHQgZXZlbnRzICovCiAKLQlyZXR1cm4gMDsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJlc3VsdDsKIH0KIAogc3RhdGljIGludCB0bGNsa19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3RwbS90cG0uYyBiL2RyaXZlcnMvY2hhci90cG0vdHBtLmMKaW5kZXggYTVkOGJjYi4uZTFmYzE5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL3RwbS90cG0uYworKysgYi9kcml2ZXJzL2NoYXIvdHBtL3RwbS5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSAidHBtLmgiCiAKQEAgLTg5Nyw2ICs4OTgsNyBAQAogCWludCByYyA9IDAsIG1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlzdHJ1Y3QgdHBtX2NoaXAgKmNoaXAgPSBOVUxMLCAqcG9zOwogCisJbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJmRyaXZlcl9sb2NrKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkocG9zLCAmdHBtX2NoaXBfbGlzdCwgbGlzdCkgewpAQCAtOTI2LDE2ICs5MjgsMTkgQEAKIAlpZiAoY2hpcC0+ZGF0YV9idWZmZXIgPT0gTlVMTCkgewogCQljaGlwLT5udW1fb3BlbnMtLTsKIAkJcHV0X2RldmljZShjaGlwLT5kZXYpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAogCWF0b21pY19zZXQoJmNoaXAtPmRhdGFfcGVuZGluZywgMCk7CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjaGlwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZXJyX291dDoKIAlzcGluX3VubG9jaygmZHJpdmVyX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTCh0cG1fb3Blbik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdHBtL3RwbV90aXMuYyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpcy5jCmluZGV4IDEzYTRiZGQuLmM3YTk3N2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpcy5jCisrKyBiL2RyaXZlcnMvY2hhci90cG0vdHBtX3Rpcy5jCkBAIC02MjMsNiArNjIzLDcgQEAKIAl7IklGWDAxMDIiLCAwfSwJCS8qIEluZmluZW9uICovCiAJeyJCQ00wMTAxIiwgMH0sCQkvKiBCcm9hZGNvbSAqLwogCXsiTlNDMTIwMCIsIDB9LAkJLyogTmF0aW9uYWwgKi8KKwl7IklDTzAxMDIiLCAwfSwJCS8qIEludGVsICovCiAJLyogQWRkIG5ldyBoZXJlICovCiAJeyIiLCAwfSwJCS8qIFVzZXIgU3BlY2lmaWVkICovCiAJeyIiLCAwfQkJCS8qIFRlcm1pbmF0b3IgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci90dHlfaW8uYyBiL2RyaXZlcnMvY2hhci90dHlfaW8uYwppbmRleCA3NTAxMzEwLi4wNDdhMTczIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdHR5X2lvLmMKKysrIGIvZHJpdmVycy9jaGFyL3R0eV9pby5jCkBAIC0yNjY1LDcgKzI2NjUsNyBAQAogICoJCSAtPnNpZ2xvY2sgcHJvdGVjdHMgLT5zaWduYWwvLT5zaWdoYW5kCiAgKi8KIAotc3RhdGljIGludCB0dHlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3N0YXRpYyBpbnQgX190dHlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5OwogCWludCBub2N0dHksIHJldHZhbDsKQEAgLTI3NzksNiArMjc3OSwxOSBAQAogCXJldHVybiAwOwogfQogCisvKiBCS0wgcHVzaGRvd246IHNjYXJ5IGNvZGUgYXZvaWRhbmNlIHdyYXBwZXIgKi8KK3N0YXRpYyBpbnQgdHR5X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCit7CisJaW50IHJldDsKKworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gX190dHlfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKKworCiAjaWZkZWYgQ09ORklHX1VOSVg5OF9QVFlTCiAvKioKICAqCXB0bXhfb3BlbgkJLQlvcGVuIGEgdW5peCA5OCBwdHkgbWFzdGVyCkBAIC0yNzkyLDcgKzI4MDUsNyBAQAogICoJCWFsbG9jYXRlZF9wdHlzX2xvY2sgaGFuZGxlcyB0aGUgbGlzdCBvZiBmcmVlIHB0eSBudW1iZXJzCiAgKi8KIAotc3RhdGljIGludCBwdG14X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCitzdGF0aWMgaW50IF9fcHRteF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJaW50IHJldHZhbDsKQEAgLTI4MzEsNiArMjg0NCwxNiBAQAogCWRldnB0c19raWxsX2luZGV4KGluZGV4KTsKIAlyZXR1cm4gcmV0dmFsOwogfQorCitzdGF0aWMgaW50IHB0bXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX3B0bXhfb3Blbihpbm9kZSwgZmlscCk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CiAjZW5kaWYKIAogLyoqCkBAIC0yODg2LDE1ICsyOTA5LDE2IEBACiB7CiAJc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZXR2YWw7CisJaW50IHJldHZhbCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXR0eSA9IChzdHJ1Y3QgdHR5X3N0cnVjdCAqKWZpbHAtPnByaXZhdGVfZGF0YTsKIAlpZiAodHR5X3BhcmFub2lhX2NoZWNrKHR0eSwgZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSwgInR0eV9mYXN5bmMiKSkKLQkJcmV0dXJuIDA7CisJCWdvdG8gb3V0OwogCiAJcmV0dmFsID0gZmFzeW5jX2hlbHBlcihmZCwgZmlscCwgb24sICZ0dHktPmZhc3luYyk7CiAJaWYgKHJldHZhbCA8PSAwKQotCQlyZXR1cm4gcmV0dmFsOworCQlnb3RvIG91dDsKIAogCWlmIChvbikgewogCQllbnVtIHBpZF90eXBlIHR5cGU7CkBAIC0yOTEyLDEyICsyOTM2LDE1IEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnR0eS0+Y3RybF9sb2NrLCBmbGFncyk7CiAJCXJldHZhbCA9IF9fZl9zZXRvd24oZmlscCwgcGlkLCB0eXBlLCAwKTsKIAkJaWYgKHJldHZhbCkKLQkJCXJldHVybiByZXR2YWw7CisJCQlnb3RvIG91dDsKIAl9IGVsc2UgewogCQlpZiAoIXR0eS0+ZmFzeW5jICYmICF3YWl0cXVldWVfYWN0aXZlKCZ0dHktPnJlYWRfd2FpdCkpCiAJCQl0dHktPm1pbmltdW1fdG9fd2FrZSA9IE5fVFRZX0JVRl9TSVpFOwogCX0KLQlyZXR1cm4gMDsKKwlyZXR2YWwgPSAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0dmFsOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYyBiL2RyaXZlcnMvY2hhci92Y19zY3JlZW4uYwppbmRleCA4M2FlZWRkLi5lZWJmYWQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdmNfc2NyZWVuLmMKKysrIGIvZHJpdmVycy9jaGFyL3ZjX3NjcmVlbi5jCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8bGludXgva2JkX2tlcm4uaD4KICNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2J5dGVvcmRlci5oPgpAQCAtNDYwLDkgKzQ2MSwxMyBAQAogdmNzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CiAJdW5zaWduZWQgaW50IGN1cnJjb25zID0gaW1pbm9yKGlub2RlKSAmIDEyNzsKKwlpbnQgcmV0ID0gMDsKKwkKKwlsb2NrX2tlcm5lbCgpOwogCWlmKGN1cnJjb25zICYmICF2Y19jb25zX2FsbG9jYXRlZChjdXJyY29ucy0xKSkKLQkJcmV0dXJuIC1FTlhJTzsKLQlyZXR1cm4gMDsKKwkJcmV0ID0gLUVOWElPOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB2Y3NfZm9wcyA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci92aW90YXBlLmMgYi9kcml2ZXJzL2NoYXIvdmlvdGFwZS5jCmluZGV4IGMzOWRkYWYuLjk3N2Y3ZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci92aW90YXBlLmMKKysrIGIvZHJpdmVycy9jaGFyL3Zpb3RhcGUuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW9jdGxzLmg+CkBAIC02ODcsNiArNjg4LDcgQEAKIAlpZiAob3AgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCWdldF9kZXZfaW5mbyhmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLCAmZGV2aSk7CiAKIAkvKiBOb3RlOiBXZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IG9uZSBtb2RlISAqLwpAQCAtNzE3LDYgKzcxOSw3IEBACiAKIGZyZWVfb3A6CiAJZnJlZV9vcF9zdHJ1Y3Qob3ApOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jIGIvZHJpdmVycy9jaGFyL3ZyNDF4eF9naXUuYwppbmRleCBlNWVkMDkxLi5mZmU5YjRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvdnI0MXh4X2dpdS5jCisrKyBiL2RyaXZlcnMvY2hhci92cjQxeHhfZ2l1LmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIApAQCAtNTQ3LDYgKzU0OCw3IEBACiB7CiAJdW5zaWduZWQgaW50IHBpbjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcGluID0gaW1pbm9yKGlub2RlKTsKIAlpZiAocGluID49IGdpdV9ucl9waW5zKQogCQlyZXR1cm4gLUVCQURGOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jIGIvZHJpdmVycy9jaGFyL3hpbGlueF9od2ljYXAveGlsaW54X2h3aWNhcC5jCmluZGV4IDNlZGYxZmMuLjFlMWI4MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY2hhci94aWxpbnhfaHdpY2FwL3hpbGlueF9od2ljYXAuYworKysgYi9kcml2ZXJzL2NoYXIveGlsaW54X2h3aWNhcC94aWxpbnhfaHdpY2FwLmMKQEAgLTg1LDYgKzg1LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KICNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KQEAgLTUwNCwxMSArNTA1LDEyIEBACiAJc3RydWN0IGh3aWNhcF9kcnZkYXRhICpkcnZkYXRhOwogCWludCBzdGF0dXM7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWRydmRhdGEgPSBjb250YWluZXJfb2YoaW5vZGUtPmlfY2Rldiwgc3RydWN0IGh3aWNhcF9kcnZkYXRhLCBjZGV2KTsKIAogCXN0YXR1cyA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZHJ2ZGF0YS0+c2VtKTsKIAlpZiAoc3RhdHVzKQotCQlyZXR1cm4gc3RhdHVzOworCQlnb3RvIG91dDsKIAogCWlmIChkcnZkYXRhLT5pc19vcGVuKSB7CiAJCXN0YXR1cyA9IC1FQlVTWTsKQEAgLTUyOCw2ICs1MzAsOCBAQAogCiAgZXJyb3I6CiAJbXV0ZXhfdW5sb2NrKCZkcnZkYXRhLT5zZW0pOworIG91dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHN0YXR1czsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbG9ja3NvdXJjZS9hY3BpX3BtLmMgYi9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYwppbmRleCA3YjQ2ZmFmLi41Y2ExZDgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYworKysgYi9kcml2ZXJzL2Nsb2Nrc291cmNlL2FjcGlfcG0uYwpAQCAtMjE1LDMgKzIxNSwyMiBAQAogICogYnV0IHdlIHN0aWxsIG5lZWQgdG8gbG9hZCBiZWZvcmUgZGV2aWNlX2luaXRjYWxsCiAgKi8KIGZzX2luaXRjYWxsKGluaXRfYWNwaV9wbV9jbG9ja3NvdXJjZSk7CisKKy8qCisgKiBBbGxvdyBhbiBvdmVycmlkZSBvZiB0aGUgSU9Qb3J0LiBTdHVwaWQgQklPU2VzIGRvIG5vdCB0ZWxsIHVzIGFib3V0CisgKiB0aGUgUE1UaW1lciwgYnV0IHdlIG1pZ2h0IGtub3cgd2hlcmUgaXQgaXMuCisgKi8KK3N0YXRpYyBpbnQgX19pbml0IHBhcnNlX3BtdG1yKGNoYXIgKmFyZykKK3sKKwl1bnNpZ25lZCBsb25nIGJhc2U7CisKKwlpZiAoc3RyaWN0X3N0cnRvdWwoYXJnLCAxNiwgJmJhc2UpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXByaW50ayhLRVJOX0lORk8gIlBNVE1SIElPUG9ydCBvdmVycmlkZTogMHglMDR4IC0+IDB4JTA0bHhcbiIsCisJICAgICAgICh1bnNpZ25lZCBpbnQpcG10bXJfaW9wb3J0LCBiYXNlKTsKKwlwbXRtcl9pb3BvcnQgPSBiYXNlOworCisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJwbXRtcj0iLCBwYXJzZV9wbXRtcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS5jIGIvZHJpdmVycy9jcHVpZGxlL2NwdWlkbGUuYwppbmRleCAyMzU1NGI2Li41NDA1NzY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NwdWlkbGUvY3B1aWRsZS5jCisrKyBiL2RyaXZlcnMvY3B1aWRsZS9jcHVpZGxlLmMKQEAgLTM0MCw3ICszNDAsNyBAQAogc3RhdGljIGludCBjcHVpZGxlX2xhdGVuY3lfbm90aWZ5KHN0cnVjdCBub3RpZmllcl9ibG9jayAqYiwKIAkJdW5zaWduZWQgbG9uZyBsLCB2b2lkICp2KQogewotCXNtcF9jYWxsX2Z1bmN0aW9uKHNtcF9jYWxsYmFjaywgTlVMTCwgMCwgMSk7CisJc21wX2NhbGxfZnVuY3Rpb24oc21wX2NhbGxiYWNrLCBOVUxMLCAxKTsKIAlyZXR1cm4gTk9USUZZX09LOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NyeXB0by9LY29uZmlnIGIvZHJpdmVycy9jcnlwdG8vS2NvbmZpZwppbmRleCA0M2I3MWI2Li5lNTIyMTQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9LY29uZmlnCisrKyBiL2RyaXZlcnMvY3J5cHRvL0tjb25maWcKQEAgLTE3NCw0ICsxNzQsMzAgQEAKIAkgIFNlbGVjdCB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBlbmFibGUgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCiAJICBvbiB0aGUgSElGTiA3OTV4IGNyeXB0byBhZGFwdGVycy4KIAorY29uZmlnIENSWVBUT19ERVZfVEFMSVRPUworCXRyaXN0YXRlICJUYWxpdG9zIEZyZWVzY2FsZSBTZWN1cml0eSBFbmdpbmUgKFNFQykiCisJc2VsZWN0IENSWVBUT19BTEdBUEkKKwlzZWxlY3QgQ1JZUFRPX0FVVEhFTkMKKwlzZWxlY3QgSFdfUkFORE9NCisJZGVwZW5kcyBvbiBGU0xfU09DCisJaGVscAorCSAgU2F5ICdZJyBoZXJlIHRvIHVzZSB0aGUgRnJlZXNjYWxlIFNlY3VyaXR5IEVuZ2luZSAoU0VDKQorCSAgdG8gb2ZmbG9hZCBjcnlwdG9ncmFwaGljIGFsZ29yaXRobSBjb21wdXRhdGlvbi4KKworCSAgVGhlIEZyZWVzY2FsZSBTRUMgaXMgcHJlc2VudCBvbiBQb3dlclFVSUNDICdFJyBwcm9jZXNzb3JzLCBzdWNoCisJICBhcyB0aGUgTVBDODM0OUUgYW5kIE1QQzg1NDhFLgorCisJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCB0YWxpdG9zLgorCitjb25maWcgQ1JZUFRPX0RFVl9JWFA0WFgKKwl0cmlzdGF0ZSAiRHJpdmVyIGZvciBJWFA0eHggY3J5cHRvIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiIKKwlkZXBlbmRzIG9uIEFSQ0hfSVhQNFhYCisJc2VsZWN0IENSWVBUT19ERVMKKwlzZWxlY3QgQ1JZUFRPX0FMR0FQSQorCXNlbGVjdCBDUllQVE9fQVVUSEVOQworCXNlbGVjdCBDUllQVE9fQkxLQ0lQSEVSCisJaGVscAorCSAgRHJpdmVyIGZvciB0aGUgSVhQNHh4IE5QRSBjcnlwdG8gZW5naW5lLgorCiBlbmRpZiAjIENSWVBUT19IVwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcnlwdG8vTWFrZWZpbGUgYi9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZQppbmRleCBjMDMyN2YwLi43MzU1N2IyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2NyeXB0by9NYWtlZmlsZQpAQCAtMiwzICsyLDUgQEAKIG9iai0kKENPTkZJR19DUllQVE9fREVWX1BBRExPQ0tfU0hBKSArPSBwYWRsb2NrLXNoYS5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0RFVl9HRU9ERSkgKz0gZ2VvZGUtYWVzLm8KIG9iai0kKENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCkgKz0gaGlmbl83OTV4Lm8KK29iai0kKENPTkZJR19DUllQVE9fREVWX1RBTElUT1MpICs9IHRhbGl0b3Mubworb2JqLSQoQ09ORklHX0NSWVBUT19ERVZfSVhQNFhYKSArPSBpeHA0eHhfY3J5cHRvLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL2hpZm5fNzk1eC5jIGIvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMKaW5kZXggODFmM2Y5NS4uNGQyMmIyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMKKysrIGIvZHJpdmVycy9jcnlwdG8vaGlmbl83OTV4LmMKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgogI2luY2x1ZGUgPGxpbnV4L2h3X3JhbmRvbS5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aW1lLmg+CkBAIC0zNjksNyArMzY4LDkgQEAKICNkZWZpbmUJSElGTl9EX0RTVF9SU0laRQkJODAqNAogI2RlZmluZQlISUZOX0RfUkVTX1JTSVpFCQkyNCo0CiAKLSNkZWZpbmUgSElGTl9RVUVVRV9MRU5HVEgJCUhJRk5fRF9DTURfUlNJWkUtNQorI2RlZmluZSBISUZOX0RfRFNUX0RBTElHTgkJNAorCisjZGVmaW5lIEhJRk5fUVVFVUVfTEVOR1RICQlISUZOX0RfQ01EX1JTSVpFLTEKIAogI2RlZmluZSBBRVNfTUlOX0tFWV9TSVpFCQkxNgogI2RlZmluZSBBRVNfTUFYX0tFWV9TSVpFCQkzMgpAQCAtNTM1LDEwICs1MzYsMTAgQEAKICAqLwogc3RydWN0IGhpZm5fbWFjX2NvbW1hbmQKIHsKLQl2b2xhdGlsZSB1MTYgCQltYXNrczsKLQl2b2xhdGlsZSB1MTYgCQloZWFkZXJfc2tpcDsKLQl2b2xhdGlsZSB1MTYgCQlzb3VyY2VfY291bnQ7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2IAltYXNrczsKKwl2b2xhdGlsZSBfX2xlMTYgCWhlYWRlcl9za2lwOworCXZvbGF0aWxlIF9fbGUxNiAJc291cmNlX2NvdW50OworCXZvbGF0aWxlIF9fbGUxNiAJcmVzZXJ2ZWQ7CiB9OwogCiAjZGVmaW5lCUhJRk5fTUFDX0NNRF9BTEdfTUFTSwkJMHgwMDAxCkBAIC01NjQsMTAgKzU2NSwxMCBAQAogCiBzdHJ1Y3QgaGlmbl9jb21wX2NvbW1hbmQKIHsKLQl2b2xhdGlsZSB1MTYgCQltYXNrczsKLQl2b2xhdGlsZSB1MTYgCQloZWFkZXJfc2tpcDsKLQl2b2xhdGlsZSB1MTYgCQlzb3VyY2VfY291bnQ7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2IAltYXNrczsKKwl2b2xhdGlsZSBfX2xlMTYgCWhlYWRlcl9za2lwOworCXZvbGF0aWxlIF9fbGUxNiAJc291cmNlX2NvdW50OworCXZvbGF0aWxlIF9fbGUxNiAJcmVzZXJ2ZWQ7CiB9OwogCiAjZGVmaW5lCUhJRk5fQ09NUF9DTURfU1JDTEVOX00JCTB4YzAwMApAQCAtNTgzLDEwICs1ODQsMTAgQEAKIAogc3RydWN0IGhpZm5fYmFzZV9yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQlzZXNzaW9uOwotCXZvbGF0aWxlIHUxNiAJCXNyY19jbnQ7CQkvKiAxNTowIG9mIHNvdXJjZSBjb3VudCAqLwotCXZvbGF0aWxlIHUxNiAJCWRzdF9jbnQ7CQkvKiAxNTowIG9mIGRlc3QgY291bnQgKi8KKwl2b2xhdGlsZSBfX2xlMTYgCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNiAJc2Vzc2lvbjsKKwl2b2xhdGlsZSBfX2xlMTYgCXNyY19jbnQ7CQkvKiAxNTowIG9mIHNvdXJjZSBjb3VudCAqLworCXZvbGF0aWxlIF9fbGUxNiAJZHN0X2NudDsJCS8qIDE1OjAgb2YgZGVzdCBjb3VudCAqLwogfTsKIAogI2RlZmluZQlISUZOX0JBU0VfUkVTX0RTVE9WRVJSVU4JMHgwMjAwCS8qIGRlc3RpbmF0aW9uIG92ZXJydW4gKi8KQEAgLTU5Nyw4ICs1OTgsOCBAQAogCiBzdHJ1Y3QgaGlmbl9jb21wX3Jlc3VsdAogewotCXZvbGF0aWxlIHUxNiAJCWZsYWdzOwotCXZvbGF0aWxlIHUxNiAJCWNyYzsKKwl2b2xhdGlsZSBfX2xlMTYJCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNgkJY3JjOwogfTsKIAogI2RlZmluZQlISUZOX0NPTVBfUkVTX0xDQl9NCQkweGZmMDAJLyogbG9uZ2l0dWRpbmFsIGNoZWNrIGJ5dGUgKi8KQEAgLTYwOSw4ICs2MTAsOCBAQAogCiBzdHJ1Y3QgaGlmbl9tYWNfcmVzdWx0CiB7Ci0Jdm9sYXRpbGUgdTE2IAkJZmxhZ3M7Ci0Jdm9sYXRpbGUgdTE2IAkJcmVzZXJ2ZWQ7CisJdm9sYXRpbGUgX19sZTE2IAlmbGFnczsKKwl2b2xhdGlsZSBfX2xlMTYgCXJlc2VydmVkOwogCS8qIGZvbGxvd2VkIGJ5IDAsIDYsIDgsIG9yIDEwIHUxNidzIG9mIHRoZSBNQUMsIHRoZW4gY3J5cHQgKi8KIH07CiAKQEAgLTYxOSw4ICs2MjAsOCBAQAogCiBzdHJ1Y3QgaGlmbl9jcnlwdF9yZXN1bHQKIHsKLQl2b2xhdGlsZSB1MTYgCQlmbGFnczsKLQl2b2xhdGlsZSB1MTYgCQlyZXNlcnZlZDsKKwl2b2xhdGlsZSBfX2xlMTYJCWZsYWdzOworCXZvbGF0aWxlIF9fbGUxNgkJcmVzZXJ2ZWQ7CiB9OwogCiAjZGVmaW5lCUhJRk5fQ1JZUFRfUkVTX1NSQ19OT1RaRVJPCTB4MDAwMQkvKiBzb3VyY2UgZXhwaXJlZCAqLwpAQCAtNjg2LDEyICs2ODcsMTIgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIGhpZm5fd3JpdGVfMChzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgdTMyIHJlZywgdTMyIHZhbCkKIHsKLQl3cml0ZWwodmFsLCBkZXYtPmJhclswXSArIHJlZyk7CisJd3JpdGVsKChfX2ZvcmNlIHUzMiljcHVfdG9fbGUzMih2YWwpLCBkZXYtPmJhclswXSArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBoaWZuX3dyaXRlXzEoc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHUzMiByZWcsIHUzMiB2YWwpCiB7Ci0Jd3JpdGVsKHZhbCwgZGV2LT5iYXJbMV0gKyByZWcpOworCXdyaXRlbCgoX19mb3JjZSB1MzIpY3B1X3RvX2xlMzIodmFsKSwgZGV2LT5iYXJbMV0gKyByZWcpOwogfQogCiBzdGF0aWMgdm9pZCBoaWZuX3dhaXRfcHVjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2KQpAQCAtODk0LDcgKzg5NSw3IEBACiAJY2hhciAqb2ZmdGJsID0gTlVMTDsKIAlpbnQgaTsKIAotCWZvciAoaSA9IDA7IGkgPCBzaXplb2YocGNpMmlkKS9zaXplb2YocGNpMmlkWzBdKTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGNpMmlkKTsgaSsrKSB7CiAJCWlmIChwY2kyaWRbaV0ucGNpX3ZlbmRvciA9PSBkZXYtPnBkZXYtPnZlbmRvciAmJgogCQkJCXBjaTJpZFtpXS5wY2lfcHJvZCA9PSBkZXYtPnBkZXYtPmRldmljZSkgewogCQkJb2ZmdGJsID0gcGNpMmlkW2ldLmNhcmRfaWQ7CkBAIC0xMDM3LDE0ICsxMDM4LDE0IEBACiAJaGlmbl93cml0ZV8wKGRldiwgSElGTl8wX1BVSUVSLCBISUZOX1BVSUVSX0RTVE9WRVIpOwogCiAJLyogd3JpdGUgYWxsIDQgcmluZyBhZGRyZXNzIHJlZ2lzdGVycyAqLwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1JBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIGNtZHJbMF0pKSk7Ci0JaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9TUkFSLCBfX2NwdV90b19sZTMyKGRwdHIgKwotCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgc3JjclswXSkpKTsKLQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0RSQVIsIF9fY3B1X3RvX2xlMzIoZHB0ciArCi0JCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBkc3RyWzBdKSkpOwotCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfUlJBUiwgX19jcHVfdG9fbGUzMihkcHRyICsKLQkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHJlc3JbMF0pKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIGNtZHJbMF0pKTsKKwloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX1NSQVIsIGRwdHIgKworCQkJCW9mZnNldG9mKHN0cnVjdCBoaWZuX2RtYSwgc3JjclswXSkpOworCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfRFJBUiwgZHB0ciArCisJCQkJb2Zmc2V0b2Yoc3RydWN0IGhpZm5fZG1hLCBkc3RyWzBdKSk7CisJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9SUkFSLCBkcHRyICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgaGlmbl9kbWEsIHJlc3JbMF0pKTsKIAogCW1kZWxheSgyKTsKICNpZiAwCkBAIC0xMTY2LDEwOSArMTE2NywxNSBAQAogCXJldHVybiBjbWRfbGVuOwogfQogCi1zdGF0aWMgaW50IGhpZm5fc2V0dXBfc3JjX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAotCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgc2l6ZSkKLXsKLQlzdHJ1Y3QgaGlmbl9kbWEgKmRtYSA9IChzdHJ1Y3QgaGlmbl9kbWEgKilkZXYtPmRlc2NfdmlydDsKLQlpbnQgaWR4OwotCWRtYV9hZGRyX3QgYWRkcjsKLQotCWFkZHIgPSBwY2lfbWFwX3BhZ2UoZGV2LT5wZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIFBDSV9ETUFfVE9ERVZJQ0UpOwotCi0JaWR4ID0gZG1hLT5zcmNpOwotCi0JZG1hLT5zcmNyW2lkeF0ucCA9IF9fY3B1X3RvX2xlMzIoYWRkcik7Ci0JZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoc2l6ZSkgfCBISUZOX0RfVkFMSUQgfAotCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX05PSU5WQUxJRCB8IEhJRk5fRF9MQVNUOwotCi0JaWYgKCsraWR4ID09IEhJRk5fRF9TUkNfUlNJWkUpIHsKLQkJZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKLQkJCQlISUZOX0RfSlVNUCB8Ci0JCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOwotCQlpZHggPSAwOwotCX0KLQotCWRtYS0+c3JjaSA9IGlkeDsKLQlkbWEtPnNyY3UrKzsKLQotCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfU1JDX0JVU1kpKSB7Ci0JCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9TX0NUUkxfRU5BKTsKLQkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfU1JDX0JVU1k7Ci0JfQotCi0JcmV0dXJuIHNpemU7Ci19Ci0KLXN0YXRpYyB2b2lkIGhpZm5fc2V0dXBfcmVzX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7Ci0KLQlkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX1VTRURfUkVTVUxUIHwKLQkJCUhJRk5fRF9WQUxJRCB8IEhJRk5fRF9MQVNUKTsKLQkvKgotCSAqIGRtYS0+cmVzcltkbWEtPnJlc2ldLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fTUFYX1JFU1VMVCB8IEhJRk5fRF9WQUxJRCB8Ci0JICoJCQkJCUhJRk5fRF9MQVNUIHwgSElGTl9EX05PSU5WQUxJRCk7Ci0JICovCi0KLQlpZiAoKytkbWEtPnJlc2kgPT0gSElGTl9EX1JFU19SU0laRSkgewotCQlkbWEtPnJlc3JbSElGTl9EX1JFU19SU0laRV0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKLQkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9MQVNUKTsKLQkJZG1hLT5yZXNpID0gMDsKLQl9Ci0KLQlkbWEtPnJlc3UrKzsKLQotCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfUkVTX0JVU1kpKSB7Ci0JCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9SX0NUUkxfRU5BKTsKLQkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfUkVTX0JVU1k7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBoaWZuX3NldHVwX2RzdF9kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKLQkJdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBzaXplKQotewotCXN0cnVjdCBoaWZuX2RtYSAqZG1hID0gKHN0cnVjdCBoaWZuX2RtYSAqKWRldi0+ZGVzY192aXJ0OwotCWludCBpZHg7Ci0JZG1hX2FkZHJfdCBhZGRyOwotCi0JYWRkciA9IHBjaV9tYXBfcGFnZShkZXYtPnBkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgUENJX0RNQV9GUk9NREVWSUNFKTsKLQotCWlkeCA9IGRtYS0+ZHN0aTsKLQlkbWEtPmRzdHJbaWR4XS5wID0gX19jcHVfdG9fbGUzMihhZGRyKTsKLQlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihzaXplIHwJSElGTl9EX1ZBTElEIHwKLQkJCUhJRk5fRF9NQVNLRE9ORUlSUSB8IEhJRk5fRF9OT0lOVkFMSUQgfCBISUZOX0RfTEFTVCk7Ci0KLQlpZiAoKytpZHggPT0gSElGTl9EX0RTVF9SU0laRSkgewotCQlkbWEtPmRzdHJbaWR4XS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAotCQkJCUhJRk5fRF9KVU1QIHwgSElGTl9EX01BU0tET05FSVJRIHwKLQkJCQlISUZOX0RfTEFTVCB8IEhJRk5fRF9OT0lOVkFMSUQpOwotCQlpZHggPSAwOwotCX0KLQlkbWEtPmRzdGkgPSBpZHg7Ci0JZG1hLT5kc3R1Kys7Ci0KLQlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX0RTVF9CVVNZKSkgewotCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfRF9DVFJMX0VOQSk7Ci0JCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX0RTVF9CVVNZOwotCX0KLX0KLQotc3RhdGljIGludCBoaWZuX3NldHVwX2RtYShzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnNwYWdlLCB1bnNpZ25lZCBpbnQgc29mZiwKLQkJc3RydWN0IHBhZ2UgKmRwYWdlLCB1bnNpZ25lZCBpbnQgZG9mZiwgdW5zaWduZWQgaW50IG5ieXRlcywgdm9pZCAqcHJpdiwKLQkJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4KQorc3RhdGljIGludCBoaWZuX3NldHVwX2NtZF9kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LAorCQlzdHJ1Y3QgaGlmbl9jb250ZXh0ICpjdHgsIHZvaWQgKnByaXYsIHVuc2lnbmVkIGludCBuYnl0ZXMpCiB7CiAJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CiAJaW50IGNtZF9sZW4sIHNhX2lkeDsKIAl1OCAqYnVmLCAqYnVmX3BvczsKIAl1MTYgbWFzazsKIAotCWRwcmludGsoIiVzOiBzcGFnZTogJXAsIHNvZmZzZXQ6ICV1LCBkcGFnZTogJXAsIGRvZmZzZXQ6ICV1LCBuYnl0ZXM6ICV1LCBwcml2OiAlcCwgY3R4OiAlcC5cbiIsCi0JCQlkZXYtPm5hbWUsIHNwYWdlLCBzb2ZmLCBkcGFnZSwgZG9mZiwgbmJ5dGVzLCBwcml2LCBjdHgpOwotCi0Jc2FfaWR4ID0gZG1hLT5yZXNpOwotCi0JaGlmbl9zZXR1cF9zcmNfZGVzYyhkZXYsIHNwYWdlLCBzb2ZmLCBuYnl0ZXMpOwotCisJc2FfaWR4ID0gZG1hLT5jbWRpOwogCWJ1Zl9wb3MgPSBidWYgPSBkbWEtPmNvbW1hbmRfYnVmc1tkbWEtPmNtZGldOwogCiAJbWFzayA9IDA7CkBAIC0xMzcwLDE2ICsxMjc3LDExMyBAQAogCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfQ19DVFJMX0VOQSk7CiAJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX0NNRF9CVVNZOwogCX0KLQotCWhpZm5fc2V0dXBfZHN0X2Rlc2MoZGV2LCBkcGFnZSwgZG9mZiwgbmJ5dGVzKTsKLQloaWZuX3NldHVwX3Jlc19kZXNjKGRldik7Ci0KIAlyZXR1cm4gMDsKIAogZXJyX291dDoKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAorc3RhdGljIGludCBoaWZuX3NldHVwX3NyY19kZXNjKHN0cnVjdCBoaWZuX2RldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IHNpemUpCit7CisJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CisJaW50IGlkeDsKKwlkbWFfYWRkcl90IGFkZHI7CisKKwlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX1RPREVWSUNFKTsKKworCWlkeCA9IGRtYS0+c3JjaTsKKworCWRtYS0+c3JjcltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOworCWRtYS0+c3JjcltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUgfCBISUZOX0RfVkFMSUQgfAorCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCisJaWYgKCsraWR4ID09IEhJRk5fRF9TUkNfUlNJWkUpIHsKKwkJZG1hLT5zcmNyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKKwkJCQlISUZOX0RfSlVNUCB8CisJCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCQlpZHggPSAwOworCX0KKworCWRtYS0+c3JjaSA9IGlkeDsKKwlkbWEtPnNyY3UrKzsKKworCWlmICghKGRldi0+ZmxhZ3MgJiBISUZOX0ZMQUdfU1JDX0JVU1kpKSB7CisJCWhpZm5fd3JpdGVfMShkZXYsIEhJRk5fMV9ETUFfQ1NSLCBISUZOX0RNQUNTUl9TX0NUUkxfRU5BKTsKKwkJZGV2LT5mbGFncyB8PSBISUZOX0ZMQUdfU1JDX0JVU1k7CisJfQorCisJcmV0dXJuIHNpemU7Cit9CisKK3N0YXRpYyB2b2lkIGhpZm5fc2V0dXBfcmVzX2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CisKKwlkbWEtPnJlc3JbZG1hLT5yZXNpXS5sID0gX19jcHVfdG9fbGUzMihISUZOX1VTRURfUkVTVUxUIHwKKwkJCUhJRk5fRF9WQUxJRCB8IEhJRk5fRF9MQVNUKTsKKwkvKgorCSAqIGRtYS0+cmVzcltkbWEtPnJlc2ldLmwgPSBfX2NwdV90b19sZTMyKEhJRk5fTUFYX1JFU1VMVCB8IEhJRk5fRF9WQUxJRCB8CisJICoJCQkJCUhJRk5fRF9MQVNUKTsKKwkgKi8KKworCWlmICgrK2RtYS0+cmVzaSA9PSBISUZOX0RfUkVTX1JTSVpFKSB7CisJCWRtYS0+cmVzcltISUZOX0RfUkVTX1JTSVpFXS5sID0gX19jcHVfdG9fbGUzMihISUZOX0RfVkFMSUQgfAorCQkJCUhJRk5fRF9KVU1QIHwgSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCQlkbWEtPnJlc2kgPSAwOworCX0KKworCWRtYS0+cmVzdSsrOworCisJaWYgKCEoZGV2LT5mbGFncyAmIEhJRk5fRkxBR19SRVNfQlVTWSkpIHsKKwkJaGlmbl93cml0ZV8xKGRldiwgSElGTl8xX0RNQV9DU1IsIEhJRk5fRE1BQ1NSX1JfQ1RSTF9FTkEpOworCQlkZXYtPmZsYWdzIHw9IEhJRk5fRkxBR19SRVNfQlVTWTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGhpZm5fc2V0dXBfZHN0X2Rlc2Moc3RydWN0IGhpZm5fZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAorCQl1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIHNpemUpCit7CisJc3RydWN0IGhpZm5fZG1hICpkbWEgPSAoc3RydWN0IGhpZm5fZG1hICopZGV2LT5kZXNjX3ZpcnQ7CisJaW50IGlkeDsKKwlkbWFfYWRkcl90IGFkZHI7CisKKwlhZGRyID0gcGNpX21hcF9wYWdlKGRldi0+cGRldiwgcGFnZSwgb2Zmc2V0LCBzaXplLCBQQ0lfRE1BX0ZST01ERVZJQ0UpOworCisJaWR4ID0gZG1hLT5kc3RpOworCWRtYS0+ZHN0cltpZHhdLnAgPSBfX2NwdV90b19sZTMyKGFkZHIpOworCWRtYS0+ZHN0cltpZHhdLmwgPSBfX2NwdV90b19sZTMyKHNpemUgfAlISUZOX0RfVkFMSUQgfAorCQkJSElGTl9EX01BU0tET05FSVJRIHwgSElGTl9EX0xBU1QpOworCisJaWYgKCsraWR4ID09IEhJRk5fRF9EU1RfUlNJWkUpIHsKKwkJZG1hLT5kc3RyW2lkeF0ubCA9IF9fY3B1X3RvX2xlMzIoSElGTl9EX1ZBTElEIHwKKwkJCQlISUZOX0RfSlVNUCB8IEhJRk5fRF9NQVNLRE9ORUlSUSB8CisJCQkJSElGTl9EX0xBU1QpOworCQlpZHggPSAwOworCX0KKwlkbWEtPmRzdGkgPSBpZHg7CisJZG1hLT5kc3R1Kys7CisKKwlpZiAoIShkZXYtPmZsYWdzICYgSElGTl9GTEFHX0RTVF9CVVNZKSkgeworCQloaWZuX3dyaXRlXzEoZGV2LCBISUZOXzFfRE1BX0NTUiwgSElGTl9ETUFDU1JfRF9DVFJMX0VOQSk7CisJCWRldi0+ZmxhZ3MgfD0gSElGTl9GTEFHX0RTVF9CVVNZOworCX0KK30KKworc3RhdGljIGludCBoaWZuX3NldHVwX2RtYShzdHJ1Y3QgaGlmbl9kZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnNwYWdlLCB1bnNpZ25lZCBpbnQgc29mZiwKKwkJc3RydWN0IHBhZ2UgKmRwYWdlLCB1bnNpZ25lZCBpbnQgZG9mZiwgdW5zaWduZWQgaW50IG5ieXRlcywgdm9pZCAqcHJpdiwKKwkJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4KQoreworCWRwcmludGsoIiVzOiBzcGFnZTogJXAsIHNvZmZzZXQ6ICV1LCBkcGFnZTogJXAsIGRvZmZzZXQ6ICV1LCBuYnl0ZXM6ICV1LCBwcml2OiAlcCwgY3R4OiAlcC5cbiIsCisJCQlkZXYtPm5hbWUsIHNwYWdlLCBzb2ZmLCBkcGFnZSwgZG9mZiwgbmJ5dGVzLCBwcml2LCBjdHgpOworCisJaGlmbl9zZXR1cF9zcmNfZGVzYyhkZXYsIHNwYWdlLCBzb2ZmLCBuYnl0ZXMpOworCWhpZm5fc2V0dXBfY21kX2Rlc2MoZGV2LCBjdHgsIHByaXYsIG5ieXRlcyk7CisJaGlmbl9zZXR1cF9kc3RfZGVzYyhkZXYsIGRwYWdlLCBkb2ZmLCBuYnl0ZXMpOworCWhpZm5fc2V0dXBfcmVzX2Rlc2MoZGV2KTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBhYmxrY2lwaGVyX3dhbGtfaW5pdChzdHJ1Y3QgYWJsa2NpcGhlcl93YWxrICp3LAogCQlpbnQgbnVtLCBnZnBfdCBnZnBfZmxhZ3MpCiB7CkBAIC0xNDMxLDcgKzE0MzUsNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCXdoaWxlIChzaXplKSB7Ci0JCWNvcHkgPSBtaW4oZHJlc3QsIHNyYy0+bGVuZ3RoKTsKKwkJY29weSA9IG1pbihkcmVzdCwgbWluKHNpemUsIHNyYy0+bGVuZ3RoKSk7CiAKIAkJc2FkZHIgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHNyYyksIEtNX1NPRlRJUlExKTsKIAkJbWVtY3B5KGRhZGRyLCBzYWRkciArIHNyYy0+b2Zmc2V0LCBjb3B5KTsKQEAgLTE0NTgsMTAgKzE0NjIsNiBAQAogc3RhdGljIGludCBhYmxrY2lwaGVyX3dhbGsoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxLAogCQlzdHJ1Y3QgYWJsa2NpcGhlcl93YWxrICp3KQogewotCXVuc2lnbmVkIGJsb2Nrc2l6ZSA9Ci0JCWNyeXB0b19hYmxrY2lwaGVyX2Jsb2Nrc2l6ZShjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKSk7Ci0JdW5zaWduZWQgYWxpZ25tYXNrID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYWxpZ25tYXNrKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNyYywgKmRzdCwgKnQ7CiAJdm9pZCAqZGFkZHI7CiAJdW5zaWduZWQgaW50IG5ieXRlcyA9IHJlcS0+bmJ5dGVzLCBvZmZzZXQsIGNvcHksIGRpZmY7CkBAIC0xNDc3LDE2ICsxNDc3LDE0IEBACiAJCWRzdCA9ICZyZXEtPmRzdFtpZHhdOwogCiAJCWRwcmludGsoIlxuJXM6IHNsZW46ICV1LCBkbGVuOiAldSwgc29mZjogJXUsIGRvZmY6ICV1LCBvZmZzZXQ6ICV1LCAiCi0JCQkJImJsb2Nrc2l6ZTogJXUsIG5ieXRlczogJXUuXG4iLAorCQkJCSJuYnl0ZXM6ICV1LlxuIiwKIAkJCQlfX2Z1bmNfXywgc3JjLT5sZW5ndGgsIGRzdC0+bGVuZ3RoLCBzcmMtPm9mZnNldCwKLQkJCQlkc3QtPm9mZnNldCwgb2Zmc2V0LCBibG9ja3NpemUsIG5ieXRlcyk7CisJCQkJZHN0LT5vZmZzZXQsIG9mZnNldCwgbmJ5dGVzKTsKIAotCQlpZiAoc3JjLT5sZW5ndGggJiAoYmxvY2tzaXplIC0gMSkgfHwKLQkJCQlzcmMtPm9mZnNldCAmIChhbGlnbm1hc2sgLSAxKSB8fAotCQkJCWRzdC0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJZHN0LT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkgfHwKLQkJCQlvZmZzZXQpIHsKLQkJCXVuc2lnbmVkIHNsZW4gPSBzcmMtPmxlbmd0aCAtIG9mZnNldDsKKwkJaWYgKCFJU19BTElHTkVEKGRzdC0+b2Zmc2V0LCBISUZOX0RfRFNUX0RBTElHTikgfHwKKwkJICAgICFJU19BTElHTkVEKGRzdC0+bGVuZ3RoLCBISUZOX0RfRFNUX0RBTElHTikgfHwKKwkJICAgIG9mZnNldCkgeworCQkJdW5zaWduZWQgc2xlbiA9IG1pbihzcmMtPmxlbmd0aCAtIG9mZnNldCwgbmJ5dGVzKTsKIAkJCXVuc2lnbmVkIGRsZW4gPSBQQUdFX1NJWkU7CiAKIAkJCXQgPSAmdy0+Y2FjaGVbaWR4XTsKQEAgLTE0OTgsOCArMTQ5Niw4IEBACiAKIAkJCWlkeCArPSBlcnI7CiAKLQkJCWNvcHkgPSBzbGVuICYgfihibG9ja3NpemUgLSAxKTsKLQkJCWRpZmYgPSBzbGVuICYgKGJsb2Nrc2l6ZSAtIDEpOworCQkJY29weSA9IHNsZW4gJiB+KEhJRk5fRF9EU1RfREFMSUdOIC0gMSk7CisJCQlkaWZmID0gc2xlbiAmIChISUZOX0RfRFNUX0RBTElHTiAtIDEpOwogCiAJCQlpZiAoZGxlbiA8IG5ieXRlcykgewogCQkJCS8qCkBAIC0xNTA3LDcgKzE1MDUsNyBAQAogCQkJCSAqIHRvIHB1dCB0aGVyZSBhZGRpdGlvbmFsIGJsb2Nrc2l6ZWQgY2h1bmssCiAJCQkJICogc28gd2UgbWFyayB0aGF0IHBhZ2UgYXMgY29udGFpbmluZyBvbmx5CiAJCQkJICogYmxvY2tzaXplIGFsaWduZWQgY2h1bmtzOgotCQkJCSAqIAl0LT5sZW5ndGggPSAoc2xlbiAmIH4oYmxvY2tzaXplIC0gMSkpOworCQkJCSAqIAl0LT5sZW5ndGggPSAoc2xlbiAmIH4oSElGTl9EX0RTVF9EQUxJR04gLSAxKSk7CiAJCQkJICogYW5kIGluY3JlYXNlIG51bWJlciBvZiBieXRlcyB0byBiZSBwcm9jZXNzZWQKIAkJCQkgKiBpbiBuZXh0IGNodW5rOgogCQkJCSAqIAluYnl0ZXMgKz0gZGlmZjsKQEAgLTE1NDQsNyArMTU0Miw3IEBACiAKIAkJCWt1bm1hcF9hdG9taWMoZGFkZHIsIEtNX1NPRlRJUlEwKTsKIAkJfSBlbHNlIHsKLQkJCW5ieXRlcyAtPSBzcmMtPmxlbmd0aDsKKwkJCW5ieXRlcyAtPSBtaW4oc3JjLT5sZW5ndGgsIG5ieXRlcyk7CiAJCQlpZHgrKzsKIAkJfQogCkBAIC0xNTYzLDE0ICsxNTYxLDEwIEBACiAJc3RydWN0IGhpZm5fY29udGV4dCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgocmVxLT5iYXNlLnRmbSk7CiAJc3RydWN0IGhpZm5fZGV2aWNlICpkZXYgPSBjdHgtPmRldjsKIAlzdHJ1Y3QgcGFnZSAqc3BhZ2UsICpkcGFnZTsKLQl1bnNpZ25lZCBsb25nIHNvZmYsIGRvZmYsIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgc29mZiwgZG9mZiwgZGxlbiwgZmxhZ3M7CiAJdW5zaWduZWQgaW50IG5ieXRlcyA9IHJlcS0+bmJ5dGVzLCBpZHggPSAwLCBsZW47CiAJaW50IGVyciA9IC1FSU5WQUwsIHNnX251bTsKIAlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNyYywgKmRzdCwgKnQ7Ci0JdW5zaWduZWQgYmxvY2tzaXplID0KLQkJY3J5cHRvX2FibGtjaXBoZXJfYmxvY2tzaXplKGNyeXB0b19hYmxrY2lwaGVyX3JlcXRmbShyZXEpKTsKLQl1bnNpZ25lZCBhbGlnbm1hc2sgPQotCQljcnlwdG9fYWJsa2NpcGhlcl9hbGlnbm1hc2soY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSkpOwogCiAJaWYgKGN0eC0+aXYgJiYgIWN0eC0+aXZzaXplICYmIGN0eC0+bW9kZSAhPSBBQ1JZUFRPX01PREVfRUNCKQogCQlnb3RvIGVycl9vdXRfZXhpdDsKQEAgLTE1NzgsMTcgKzE1NzIsMTQgQEAKIAljdHgtPndhbGsuZmxhZ3MgPSAwOwogCiAJd2hpbGUgKG5ieXRlcykgewotCQlzcmMgPSAmcmVxLT5zcmNbaWR4XTsKIAkJZHN0ID0gJnJlcS0+ZHN0W2lkeF07CisJCWRsZW4gPSBtaW4oZHN0LT5sZW5ndGgsIG5ieXRlcyk7CiAKLQkJaWYgKHNyYy0+bGVuZ3RoICYgKGJsb2Nrc2l6ZSAtIDEpIHx8Ci0JCQkJc3JjLT5vZmZzZXQgJiAoYWxpZ25tYXNrIC0gMSkgfHwKLQkJCQlkc3QtPmxlbmd0aCAmIChibG9ja3NpemUgLSAxKSB8fAotCQkJCWRzdC0+b2Zmc2V0ICYgKGFsaWdubWFzayAtIDEpKSB7CisJCWlmICghSVNfQUxJR05FRChkc3QtPm9mZnNldCwgSElGTl9EX0RTVF9EQUxJR04pIHx8CisJCSAgICAhSVNfQUxJR05FRChkbGVuLCBISUZOX0RfRFNUX0RBTElHTikpCiAJCQljdHgtPndhbGsuZmxhZ3MgfD0gQVNZTkNfRkxBR1NfTUlTQUxJR05FRDsKLQkJfQogCi0JCW5ieXRlcyAtPSBzcmMtPmxlbmd0aDsKKwkJbmJ5dGVzIC09IGRsZW47CiAJCWlkeCsrOwogCX0KIApAQCAtMTYwMiw3ICsxNTkzLDEwIEBACiAJaWR4ID0gMDsKIAogCXNnX251bSA9IGFibGtjaXBoZXJfd2FsayhyZXEsICZjdHgtPndhbGspOwotCisJaWYgKHNnX251bSA8IDApIHsKKwkJZXJyID0gc2dfbnVtOworCQlnb3RvIGVycl9vdXRfZXhpdDsKKwl9CiAJYXRvbWljX3NldCgmY3R4LT5zZ19udW0sIHNnX251bSk7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5sb2NrLCBmbGFncyk7CkBAIC0xNjQwLDcgKzE2MzQsNyBAQAogCQlpZiAoZXJyKQogCQkJZ290byBlcnJfb3V0OwogCi0JCW5ieXRlcyAtPSBsZW47CisJCW5ieXRlcyAtPSBtaW4obGVuLCBuYnl0ZXMpOwogCX0KIAogCWRldi0+YWN0aXZlID0gSElGTl9ERUZBVUxUX0FDVElWRV9OVU07CkBAIC0xNjUxLDcgKzE2NDUsNyBAQAogZXJyX291dDoKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmxvY2ssIGZsYWdzKTsKIGVycl9vdXRfZXhpdDoKLQlpZiAoZXJyICYmIHByaW50a19yYXRlbGltaXQoKSkKKwlpZiAoZXJyKQogCQlkcHJpbnRrKCIlczogaXY6ICVwIFslZF0sIGtleTogJXAgWyVkXSwgbW9kZTogJXUsIG9wOiAldSwgIgogCQkJCSJ0eXBlOiAldSwgZXJyOiAlZC5cbiIsCiAJCQlkZXYtPm5hbWUsIGN0eC0+aXYsIGN0eC0+aXZzaXplLApAQCAtMTc0NSw4ICsxNzM5LDcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAl3aGlsZSAoc2l6ZSkgewotCi0JCWNvcHkgPSBtaW4oZHN0LT5sZW5ndGgsIHNyZXN0KTsKKwkJY29weSA9IG1pbihzcmVzdCwgbWluKGRzdC0+bGVuZ3RoLCBzaXplKSk7CiAKIAkJZGFkZHIgPSBrbWFwX2F0b21pYyhzZ19wYWdlKGRzdCksIEtNX0lSUTApOwogCQltZW1jcHkoZGFkZHIgKyBkc3QtPm9mZnNldCArIG9mZnNldCwgc2FkZHIsIGNvcHkpOwpAQCAtMTgwMyw3ICsxNzk2LDcgQEAKIAkJCQkJc2dfcGFnZShkc3QpLCBkc3QtPmxlbmd0aCwgbmJ5dGVzKTsKIAogCQkJCWlmICghdC0+bGVuZ3RoKSB7Ci0JCQkJCW5ieXRlcyAtPSBkc3QtPmxlbmd0aDsKKwkJCQkJbmJ5dGVzIC09IG1pbihkc3QtPmxlbmd0aCwgbmJ5dGVzKTsKIAkJCQkJaWR4Kys7CiAJCQkJCWNvbnRpbnVlOwogCQkJCX0KQEAgLTIyMDIsOSArMjE5NSw5IEBACiAJCXJldHVybiBlcnI7CiAKIAlpZiAoZGV2LT5zdGFydGVkIDwgSElGTl9RVUVVRV9MRU5HVEggJiYJZGV2LT5xdWV1ZS5xbGVuKQotCQllcnIgPSBoaWZuX3Byb2Nlc3NfcXVldWUoZGV2KTsKKwkJaGlmbl9wcm9jZXNzX3F1ZXVlKGRldik7CiAKLQlyZXR1cm4gZXJyOworCXJldHVybiAtRUlOUFJPR1JFU1M7CiB9CiAKIC8qCkBAIC0yMzY0LDcgKzIzNTcsNyBAQAogCSAqIDNERVMgRUNCLCBDQkMsIENGQiBhbmQgT0ZCIG1vZGVzLgogCSAqLwogCXsKLQkJLm5hbWUgPSAiY2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjZmIoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImNmYi0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILApAQCAtMjM3NCw3ICsyMzY3LDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAib2ZiKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJvZmIoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gIm9mYi0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILApAQCAtMjM4NCw4ICsyMzc3LDkgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAiY2JjKGRlczNfZWRlKSIsIC5kcnZfbmFtZSA9ICJoaWZuLTNkZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJjYmMoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImNiYy0zZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CisJCQkuaXZzaXplCQk9CUhJRk5fSVZfTEVOR1RILAogCQkJLm1pbl9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOXzNERVNfS0VZX0xFTkdUSCwKIAkJCS5zZXRrZXkJCT0JaGlmbl9zZXRrZXksCkBAIC0yMzk0LDcgKzIzODgsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJlY2IoZGVzM19lZGUpIiwgLmRydl9uYW1lID0gImhpZm4tM2RlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImVjYihkZXMzX2VkZSkiLCAuZHJ2X25hbWUgPSAiZWNiLTNkZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fM0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl8zREVTX0tFWV9MRU5HVEgsCkBAIC0yNDA4LDcgKzI0MDIsNyBAQAogCSAqIERFUyBFQ0IsIENCQywgQ0ZCIGFuZCBPRkIgbW9kZXMuCiAJICovCiAJewotCQkubmFtZSA9ICJjZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWRlcyIsIC5ic2l6ZSA9IDgsCisJCS5uYW1lID0gImNmYihkZXMpIiwgLmRydl9uYW1lID0gImNmYi1kZXMiLCAuYnNpemUgPSA4LAogCQkuYWJsa2NpcGhlciA9IHsKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILApAQCAtMjQxOCw3ICsyNDEyLDcgQEAKIAkJfSwKIAl9LAogCXsKLQkJLm5hbWUgPSAib2ZiKGRlcykiLCAuZHJ2X25hbWUgPSAiaGlmbi1kZXMiLCAuYnNpemUgPSA4LAorCQkubmFtZSA9ICJvZmIoZGVzKSIsIC5kcnZfbmFtZSA9ICJvZmItZGVzIiwgLmJzaXplID0gOCwKIAkJLmFibGtjaXBoZXIgPSB7CiAJCQkubWluX2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLm1heF9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKQEAgLTI0MjgsOCArMjQyMiw5IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImNiYyhkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiY2JjKGRlcykiLCAuZHJ2X25hbWUgPSAiY2JjLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0geworCQkJLml2c2l6ZQkJPQlISUZOX0lWX0xFTkdUSCwKIAkJCS5taW5fa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCiAJCQkubWF4X2tleXNpemUJPQlISUZOX0RFU19LRVlfTEVOR1RILAogCQkJLnNldGtleQkJPQloaWZuX3NldGtleSwKQEAgLTI0MzgsNyArMjQzMyw3IEBACiAJCX0sCiAJfSwKIAl7Ci0JCS5uYW1lID0gImVjYihkZXMpIiwgLmRydl9uYW1lID0gImhpZm4tZGVzIiwgLmJzaXplID0gOCwKKwkJLm5hbWUgPSAiZWNiKGRlcykiLCAuZHJ2X25hbWUgPSAiZWNiLWRlcyIsIC5ic2l6ZSA9IDgsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JSElGTl9ERVNfS0VZX0xFTkdUSCwKIAkJCS5tYXhfa2V5c2l6ZQk9CUhJRk5fREVTX0tFWV9MRU5HVEgsCkBAIC0yNDUyLDcgKzI0NDcsNyBAQAogCSAqIEFFUyBFQ0IsIENCQywgQ0ZCIGFuZCBPRkIgbW9kZXMuCiAJICovCiAJewotCQkubmFtZSA9ICJlY2IoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJlY2IoYWVzKSIsIC5kcnZfbmFtZSA9ICJlY2ItYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCkBAIC0yNDYyLDggKzI0NTcsOSBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjYmMoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJjYmMoYWVzKSIsIC5kcnZfbmFtZSA9ICJjYmMtYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0geworCQkJLml2c2l6ZQkJPQlISUZOX0FFU19JVl9MRU5HVEgsCiAJCQkubWluX2tleXNpemUJPQlBRVNfTUlOX0tFWV9TSVpFLAogCQkJLm1heF9rZXlzaXplCT0JQUVTX01BWF9LRVlfU0laRSwKIAkJCS5zZXRrZXkJCT0JaGlmbl9zZXRrZXksCkBAIC0yNDcyLDcgKzI0NjgsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJjZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJjZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJjZmItYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCkBAIC0yNDgyLDcgKzI0NzgsNyBAQAogCQl9LAogCX0sCiAJewotCQkubmFtZSA9ICJvZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJoaWZuLWFlcyIsIC5ic2l6ZSA9IDE2LAorCQkubmFtZSA9ICJvZmIoYWVzKSIsIC5kcnZfbmFtZSA9ICJvZmItYWVzIiwgLmJzaXplID0gMTYsCiAJCS5hYmxrY2lwaGVyID0gewogCQkJLm1pbl9rZXlzaXplCT0JQUVTX01JTl9LRVlfU0laRSwKIAkJCS5tYXhfa2V5c2l6ZQk9CUFFU19NQVhfS0VZX1NJWkUsCkBAIC0yNTE0LDE1ICsyNTEwLDE0IEBACiAJCXJldHVybiAtRU5PTUVNOwogCiAJc25wcmludGYoYWxnLT5hbGcuY3JhX25hbWUsIENSWVBUT19NQVhfQUxHX05BTUUsICIlcyIsIHQtPm5hbWUpOwotCXNucHJpbnRmKGFsZy0+YWxnLmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwgdC0+ZHJ2X25hbWUpOworCXNucHJpbnRmKGFsZy0+YWxnLmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzLSVzIiwKKwkJIHQtPmRydl9uYW1lLCBkZXYtPm5hbWUpOwogCiAJYWxnLT5hbGcuY3JhX3ByaW9yaXR5ID0gMzAwOwogCWFsZy0+YWxnLmNyYV9mbGFncyA9IENSWVBUT19BTEdfVFlQRV9BQkxLQ0lQSEVSIHwgQ1JZUFRPX0FMR19BU1lOQzsKIAlhbGctPmFsZy5jcmFfYmxvY2tzaXplID0gdC0+YnNpemU7CiAJYWxnLT5hbGcuY3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGhpZm5fY29udGV4dCk7Ci0JYWxnLT5hbGcuY3JhX2FsaWdubWFzayA9IDE1OwotCWlmICh0LT5ic2l6ZSA9PSA4KQotCQlhbGctPmFsZy5jcmFfYWxpZ25tYXNrID0gMzsKKwlhbGctPmFsZy5jcmFfYWxpZ25tYXNrID0gMDsKIAlhbGctPmFsZy5jcmFfdHlwZSA9ICZjcnlwdG9fYWJsa2NpcGhlcl90eXBlOwogCWFsZy0+YWxnLmNyYV9tb2R1bGUgPSBUSElTX01PRFVMRTsKIAlhbGctPmFsZy5jcmFfdS5hYmxrY2lwaGVyID0gdC0+YWJsa2NpcGhlcjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL2l4cDR4eF9jcnlwdG8uYyBiL2RyaXZlcnMvY3J5cHRvL2l4cDR4eF9jcnlwdG8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmExMDdmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jcnlwdG8vaXhwNHh4X2NyeXB0by5jCkBAIC0wLDAgKzEsMTUwNiBAQAorLyoKKyAqIEludGVsIElYUDR4eCBOUEUtQyBjcnlwdG8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IENocmlzdGlhbiBIb2huc3RhZWR0IDxjaG9obnN0YWVkdEBpbm5vbWluYXRlLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHZlcnNpb24gMiBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWFwb29sLmg+CisjaW5jbHVkZSA8bGludXgvY3J5cHRvLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKworI2luY2x1ZGUgPGNyeXB0by9jdHIuaD4KKyNpbmNsdWRlIDxjcnlwdG8vZGVzLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Flcy5oPgorI2luY2x1ZGUgPGNyeXB0by9zaGEuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2FlYWQuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYXV0aGVuYy5oPgorI2luY2x1ZGUgPGNyeXB0by9zY2F0dGVyd2Fsay5oPgorCisjaW5jbHVkZSA8YXNtL2FyY2gvbnBlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcW1nci5oPgorCisjZGVmaW5lIE1BWF9LRVlMRU4gMzIKKworLyogaGFzaDogY2Znd29yZCArIDIgKiBkaWdlc3RsZW47IGNyeXB0OiBrZXlsZW4gKyBjZmd3b3JkICovCisjZGVmaW5lIE5QRV9DVFhfTEVOIDgwCisjZGVmaW5lIEFFU19CTE9DSzEyOCAxNgorCisjZGVmaW5lIE5QRV9PUF9IQVNIX1ZFUklGWSAgIDB4MDEKKyNkZWZpbmUgTlBFX09QX0NDTV9FTkFCTEUgICAgMHgwNAorI2RlZmluZSBOUEVfT1BfQ1JZUFRfRU5BQkxFICAweDA4CisjZGVmaW5lIE5QRV9PUF9IQVNIX0VOQUJMRSAgIDB4MTAKKyNkZWZpbmUgTlBFX09QX05PVF9JTl9QTEFDRSAgMHgyMAorI2RlZmluZSBOUEVfT1BfSE1BQ19ESVNBQkxFICAweDQwCisjZGVmaW5lIE5QRV9PUF9DUllQVF9FTkNSWVBUIDB4ODAKKworI2RlZmluZSBOUEVfT1BfQ0NNX0dFTl9NSUMgICAweGNjCisjZGVmaW5lIE5QRV9PUF9IQVNIX0dFTl9JQ1YgIDB4NTAKKyNkZWZpbmUgTlBFX09QX0VOQ19HRU5fS0VZICAgMHhjOQorCisjZGVmaW5lIE1PRF9FQ0IgICAgIDB4MDAwMAorI2RlZmluZSBNT0RfQ1RSICAgICAweDEwMDAKKyNkZWZpbmUgTU9EX0NCQ19FTkMgMHgyMDAwCisjZGVmaW5lIE1PRF9DQkNfREVDIDB4MzAwMAorI2RlZmluZSBNT0RfQ0NNX0VOQyAweDQwMDAKKyNkZWZpbmUgTU9EX0NDTV9ERUMgMHg1MDAwCisKKyNkZWZpbmUgS0VZTEVOXzEyOCAgNAorI2RlZmluZSBLRVlMRU5fMTkyICA2CisjZGVmaW5lIEtFWUxFTl8yNTYgIDgKKworI2RlZmluZSBDSVBIX0RFQ1IgICAweDAwMDAKKyNkZWZpbmUgQ0lQSF9FTkNSICAgMHgwNDAwCisKKyNkZWZpbmUgTU9EX0RFUyAgICAgMHgwMDAwCisjZGVmaW5lIE1PRF9UREVBMiAgIDB4MDEwMAorI2RlZmluZSBNT0RfM0RFUyAgIDB4MDIwMAorI2RlZmluZSBNT0RfQUVTICAgICAweDA4MDAKKyNkZWZpbmUgTU9EX0FFUzEyOCAgKDB4MDgwMCB8IEtFWUxFTl8xMjgpCisjZGVmaW5lIE1PRF9BRVMxOTIgICgweDA5MDAgfCBLRVlMRU5fMTkyKQorI2RlZmluZSBNT0RfQUVTMjU2ICAoMHgwYTAwIHwgS0VZTEVOXzI1NikKKworI2RlZmluZSBNQVhfSVZMRU4gICAxNgorI2RlZmluZSBOUEVfSUQgICAgICAyICAvKiBOUEUgQyAqLworI2RlZmluZSBOUEVfUUxFTiAgICAxNgorLyogU3BhY2UgZm9yIHJlZ2lzdGVyaW5nIHdoZW4gdGhlIGZpcnN0CisgKiBOUEVfUUxFTiBjcnlwdF9jdGwgYXJlIGJ1c3kgKi8KKyNkZWZpbmUgTlBFX1FMRU5fVE9UQUwgNjQKKworI2RlZmluZSBTRU5EX1FJRCAgICAyOQorI2RlZmluZSBSRUNWX1FJRCAgICAzMAorCisjZGVmaW5lIENUTF9GTEFHX1VOVVNFRAkJMHgwMDAwCisjZGVmaW5lIENUTF9GTEFHX1VTRUQJCTB4MTAwMAorI2RlZmluZSBDVExfRkxBR19QRVJGT1JNX0FCTEsJMHgwMDAxCisjZGVmaW5lIENUTF9GTEFHX0dFTl9JQ1YJMHgwMDAyCisjZGVmaW5lIENUTF9GTEFHX0dFTl9SRVZBRVMJMHgwMDA0CisjZGVmaW5lIENUTF9GTEFHX1BFUkZPUk1fQUVBRAkweDAwMDgKKyNkZWZpbmUgQ1RMX0ZMQUdfTUFTSwkJMHgwMDBmCisKKyNkZWZpbmUgSE1BQ19JUEFEX1ZBTFVFICAgMHgzNgorI2RlZmluZSBITUFDX09QQURfVkFMVUUgICAweDVDCisjZGVmaW5lIEhNQUNfUEFEX0JMT0NLTEVOIFNIQTFfQkxPQ0tfU0laRQorCisjZGVmaW5lIE1ENV9ESUdFU1RfU0laRSAgIDE2CisKK3N0cnVjdCBidWZmZXJfZGVzYyB7CisJdTMyIHBoeXNfbmV4dDsKKwl1MTYgYnVmX2xlbjsKKwl1MTYgcGt0X2xlbjsKKwl1MzIgcGh5c19hZGRyOworCXUzMiBfX3Jlc2VydmVkWzRdOworCXN0cnVjdCBidWZmZXJfZGVzYyAqbmV4dDsKK307CisKK3N0cnVjdCBjcnlwdF9jdGwgeworCXU4IG1vZGU7CQkvKiBOUEVfT1BfKiAgb3BlcmF0aW9uIG1vZGUgKi8KKwl1OCBpbml0X2xlbjsKKwl1MTYgcmVzZXJ2ZWQ7CisJdTggaXZbTUFYX0lWTEVOXTsJLyogSVYgZm9yIENCQyBtb2RlIG9yIENUUiBJViBmb3IgQ1RSIG1vZGUgKi8KKwl1MzIgaWN2X3Jldl9hZXM7CS8qIGljdiBvciByZXYgYWVzICovCisJdTMyIHNyY19idWY7CisJdTMyIGRzdF9idWY7CisJdTE2IGF1dGhfb2ZmczsJCS8qIEF1dGhlbnRpY2F0aW9uIHN0YXJ0IG9mZnNldCAqLworCXUxNiBhdXRoX2xlbjsJCS8qIEF1dGhlbnRpY2F0aW9uIGRhdGEgbGVuZ3RoICovCisJdTE2IGNyeXB0X29mZnM7CQkvKiBDcnlwdGlvbiBzdGFydCBvZmZzZXQgKi8KKwl1MTYgY3J5cHRfbGVuOwkJLyogQ3J5cHRpb24gZGF0YSBsZW5ndGggKi8KKwl1MzIgYWFkQWRkcjsJCS8qIEFkZGl0aW9uYWwgQXV0aCBEYXRhIEFkZHIgZm9yIENDTSBtb2RlICovCisJdTMyIGNyeXB0b19jdHg7CQkvKiBOUEUgQ3J5cHRvIFBhcmFtIHN0cnVjdHVyZSBhZGRyZXNzICovCisKKwkvKiBVc2VkIGJ5IEhvc3Q6IDQqNCBieXRlcyovCisJdW5zaWduZWQgY3RsX2ZsYWdzOworCXVuaW9uIHsKKwkJc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqYWJsa19yZXE7CisJCXN0cnVjdCBhZWFkX3JlcXVlc3QgKmFlYWRfcmVxOworCQlzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtOworCX0gZGF0YTsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKnJlZ2lzdF9idWY7CisJdTggKnJlZ2lzdF9wdHI7Cit9OworCitzdHJ1Y3QgYWJsa19jdHggeworCXN0cnVjdCBidWZmZXJfZGVzYyAqc3JjOworCXN0cnVjdCBidWZmZXJfZGVzYyAqZHN0OworCXVuc2lnbmVkIHNyY19uZW50czsKKwl1bnNpZ25lZCBkc3RfbmVudHM7Cit9OworCitzdHJ1Y3QgYWVhZF9jdHggeworCXN0cnVjdCBidWZmZXJfZGVzYyAqYnVmZmVyOworCXVuc2lnbmVkIHNob3J0IGFzc29jX25lbnRzOworCXVuc2lnbmVkIHNob3J0IHNyY19uZW50czsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgaXZsaXN0OworCS8qIHVzZWQgd2hlbiB0aGUgaG1hYyBpcyBub3Qgb24gb25lIHNnIGVudHJ5ICovCisJdTggKmhtYWNfdmlydDsKKwlpbnQgZW5jcnlwdDsKK307CisKK3N0cnVjdCBpeF9oYXNoX2FsZ28geworCXUzMiBjZmd3b3JkOworCXVuc2lnbmVkIGNoYXIgKmljdjsKK307CisKK3N0cnVjdCBpeF9zYV9kaXIgeworCXVuc2lnbmVkIGNoYXIgKm5wZV9jdHg7CisJZG1hX2FkZHJfdCBucGVfY3R4X3BoeXM7CisJaW50IG5wZV9jdHhfaWR4OworCXU4IG5wZV9tb2RlOworfTsKKworc3RydWN0IGl4cF9jdHggeworCXN0cnVjdCBpeF9zYV9kaXIgZW5jcnlwdDsKKwlzdHJ1Y3QgaXhfc2FfZGlyIGRlY3J5cHQ7CisJaW50IGF1dGhrZXlfbGVuOworCXU4IGF1dGhrZXlbTUFYX0tFWUxFTl07CisJaW50IGVuY2tleV9sZW47CisJdTggZW5ja2V5W01BWF9LRVlMRU5dOworCXU4IHNhbHRbTUFYX0lWTEVOXTsKKwl1OCBub25jZVtDVFJfUkZDMzY4Nl9OT05DRV9TSVpFXTsKKwl1bnNpZ25lZCBzYWx0ZWQ7CisJYXRvbWljX3QgY29uZmlndXJpbmc7CisJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKK307CisKK3N0cnVjdCBpeHBfYWxnIHsKKwlzdHJ1Y3QgY3J5cHRvX2FsZyBjcnlwdG87CisJY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyAqaGFzaDsKKwl1MzIgY2ZnX2VuYzsKKwl1MzIgY2ZnX2RlYzsKKworCWludCByZWdpc3RlcmVkOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gaGFzaF9hbGdfbWQ1ID0geworCS5jZmd3b3JkCT0gMHhBQTAxMDAwNCwKKwkuaWN2CQk9ICJceDAxXHgyM1x4NDVceDY3XHg4OVx4QUJceENEXHhFRiIKKwkJCSAgIlx4RkVceERDXHhCQVx4OThceDc2XHg1NFx4MzJceDEwIiwKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGl4X2hhc2hfYWxnbyBoYXNoX2FsZ19zaGExID0geworCS5jZmd3b3JkCT0gMHgwMDAwMDAwNSwKKwkuaWN2CQk9ICJceDY3XHg0NVx4MjNceDAxXHhFRlx4Q0RceEFCXHg4OVx4OThceEJBIgorCQkJICAiXHhEQ1x4RkVceDEwXHgzMlx4NTRceDc2XHhDM1x4RDJceEUxXHhGMCIsCit9OworCitzdGF0aWMgc3RydWN0IG5wZSAqbnBlX2M7CitzdGF0aWMgc3RydWN0IGRtYV9wb29sICpidWZmZXJfcG9vbCA9IE5VTEw7CitzdGF0aWMgc3RydWN0IGRtYV9wb29sICpjdHhfcG9vbCA9IE5VTEw7CisKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdF92aXJ0ID0gTlVMTDsKK3N0YXRpYyBkbWFfYWRkcl90IGNyeXB0X3BoeXM7CisKK3N0YXRpYyBpbnQgc3VwcG9ydF9hZXMgPSAxOworCitzdGF0aWMgdm9pZCBkZXZfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJcmV0dXJuOworfQorCisjZGVmaW5lIERSSVZFUl9OQU1FICJpeHA0eHhfY3J5cHRvIgorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgcHNldWRvX2RldiA9IHsKKwkubmFtZSA9IERSSVZFUl9OQU1FLAorCS5pZCAgID0gMCwKKwkubnVtX3Jlc291cmNlcyA9IDAsCisJLmRldiAgPSB7CisJCS5jb2hlcmVudF9kbWFfbWFzayA9IERNQV8zMkJJVF9NQVNLLAorCQkucmVsZWFzZSA9IGRldl9yZWxlYXNlLAorCX0KK307CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcHNldWRvX2Rldi5kZXY7CisKK3N0YXRpYyBpbmxpbmUgZG1hX2FkZHJfdCBjcnlwdF92aXJ0MnBoeXMoc3RydWN0IGNyeXB0X2N0bCAqdmlydCkKK3sKKwlyZXR1cm4gY3J5cHRfcGh5cyArICh2aXJ0IC0gY3J5cHRfdmlydCkgKiBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0X2N0bCAqY3J5cHRfcGh5czJ2aXJ0KGRtYV9hZGRyX3QgcGh5cykKK3sKKwlyZXR1cm4gY3J5cHRfdmlydCArIChwaHlzIC0gY3J5cHRfcGh5cykgLyBzaXplb2Yoc3RydWN0IGNyeXB0X2N0bCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTMyIGNpcGhlcl9jZmdfZW5jKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZih0Zm0tPl9fY3J0X2FsZywgc3RydWN0IGl4cF9hbGcsY3J5cHRvKS0+Y2ZnX2VuYzsKK30KKworc3RhdGljIGlubGluZSB1MzIgY2lwaGVyX2NmZ19kZWMoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHRmbS0+X19jcnRfYWxnLCBzdHJ1Y3QgaXhwX2FsZyxjcnlwdG8pLT5jZmdfZGVjOworfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gKml4X2hhc2goc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHRmbS0+X19jcnRfYWxnLCBzdHJ1Y3QgaXhwX2FsZywgY3J5cHRvKS0+aGFzaDsKK30KKworc3RhdGljIGludCBzZXR1cF9jcnlwdF9kZXNjKHZvaWQpCit7CisJQlVJTERfQlVHX09OKHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKSAhPSA2NCk7CisJY3J5cHRfdmlydCA9IGRtYV9hbGxvY19jb2hlcmVudChkZXYsCisJCQlOUEVfUUxFTiAqIHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKSwKKwkJCSZjcnlwdF9waHlzLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNyeXB0X3ZpcnQpCisJCXJldHVybiAtRU5PTUVNOworCW1lbXNldChjcnlwdF92aXJ0LCAwLCBOUEVfUUxFTiAqIHNpemVvZihzdHJ1Y3QgY3J5cHRfY3RsKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzcGlubG9ja190IGRlc2NfbG9jazsKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRfY3RsICpnZXRfY3J5cHRfZGVzYyh2b2lkKQoreworCWludCBpOworCXN0YXRpYyBpbnQgaWR4ID0gMDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRlc2NfbG9jaywgZmxhZ3MpOworCisJaWYgKHVubGlrZWx5KCFjcnlwdF92aXJ0KSkKKwkJc2V0dXBfY3J5cHRfZGVzYygpOworCWlmICh1bmxpa2VseSghY3J5cHRfdmlydCkpIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzY19sb2NrLCBmbGFncyk7CisJCXJldHVybiBOVUxMOworCX0KKwlpID0gaWR4OworCWlmIChjcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9PSBDVExfRkxBR19VTlVTRUQpIHsKKwkJaWYgKCsraWR4ID49IE5QRV9RTEVOKQorCQkJaWR4ID0gMDsKKwkJY3J5cHRfdmlydFtpXS5jdGxfZmxhZ3MgPSBDVExfRkxBR19VU0VEOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXNjX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIGNyeXB0X3ZpcnQgK2k7CisJfSBlbHNlIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGVzY19sb2NrLCBmbGFncyk7CisJCXJldHVybiBOVUxMOworCX0KK30KKworc3RhdGljIHNwaW5sb2NrX3QgZW1lcmdfbG9jazsKK3N0YXRpYyBzdHJ1Y3QgY3J5cHRfY3RsICpnZXRfY3J5cHRfZGVzY19lbWVyZyh2b2lkKQoreworCWludCBpOworCXN0YXRpYyBpbnQgaWR4ID0gTlBFX1FMRU47CisJc3RydWN0IGNyeXB0X2N0bCAqZGVzYzsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJZGVzYyA9IGdldF9jcnlwdF9kZXNjKCk7CisJaWYgKGRlc2MpCisJCXJldHVybiBkZXNjOworCWlmICh1bmxpa2VseSghY3J5cHRfdmlydCkpCisJCXJldHVybiBOVUxMOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVtZXJnX2xvY2ssIGZsYWdzKTsKKwlpID0gaWR4OworCWlmIChjcnlwdF92aXJ0W2ldLmN0bF9mbGFncyA9PSBDVExfRkxBR19VTlVTRUQpIHsKKwkJaWYgKCsraWR4ID49IE5QRV9RTEVOX1RPVEFMKQorCQkJaWR4ID0gTlBFX1FMRU47CisJCWNyeXB0X3ZpcnRbaV0uY3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVVNFRDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW1lcmdfbG9jaywgZmxhZ3MpOworCQlyZXR1cm4gY3J5cHRfdmlydCAraTsKKwl9IGVsc2UgeworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbWVyZ19sb2NrLCBmbGFncyk7CisJCXJldHVybiBOVUxMOworCX0KK30KKworc3RhdGljIHZvaWQgZnJlZV9idWZfY2hhaW4oc3RydWN0IGJ1ZmZlcl9kZXNjICpidWYsIHUzMiBwaHlzKQoreworCXdoaWxlIChidWYpIHsKKwkJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWYxOworCQl1MzIgcGh5czE7CisKKwkJYnVmMSA9IGJ1Zi0+bmV4dDsKKwkJcGh5czEgPSBidWYtPnBoeXNfbmV4dDsKKwkJZG1hX3Bvb2xfZnJlZShidWZmZXJfcG9vbCwgYnVmLCBwaHlzKTsKKwkJYnVmID0gYnVmMTsKKwkJcGh5cyA9IHBoeXMxOworCX0KK30KKworc3RhdGljIHN0cnVjdCB0YXNrbGV0X3N0cnVjdCBjcnlwdG9fZG9uZV90YXNrbGV0OworCitzdGF0aWMgdm9pZCBmaW5pc2hfc2NhdHRlcmVkX2htYWMoc3RydWN0IGNyeXB0X2N0bCAqY3J5cHQpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxID0gY3J5cHQtPmRhdGEuYWVhZF9yZXE7CisJc3RydWN0IGFlYWRfY3R4ICpyZXFfY3R4ID0gYWVhZF9yZXF1ZXN0X2N0eChyZXEpOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJaW50IGF1dGhzaXplID0gY3J5cHRvX2FlYWRfYXV0aHNpemUodGZtKTsKKwlpbnQgZGVjcnlwdGxlbiA9IHJlcS0+Y3J5cHRsZW4gLSBhdXRoc2l6ZTsKKworCWlmIChyZXFfY3R4LT5lbmNyeXB0KSB7CisJCXNjYXR0ZXJ3YWxrX21hcF9hbmRfY29weShyZXFfY3R4LT5obWFjX3ZpcnQsCisJCQlyZXEtPnNyYywgZGVjcnlwdGxlbiwgYXV0aHNpemUsIDEpOworCX0KKwlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCByZXFfY3R4LT5obWFjX3ZpcnQsIGNyeXB0LT5pY3ZfcmV2X2Flcyk7Cit9CisKK3N0YXRpYyB2b2lkIG9uZV9wYWNrZXQoZG1hX2FkZHJfdCBwaHlzKQoreworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXN0cnVjdCBpeHBfY3R4ICpjdHg7CisJaW50IGZhaWxlZDsKKwllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBzcmNfZGlyZWN0aW9uID0gRE1BX0JJRElSRUNUSU9OQUw7CisKKwlmYWlsZWQgPSBwaHlzICYgMHgxID8gLUVCQURNU0cgOiAwOworCXBoeXMgJj0gfjB4MzsKKwljcnlwdCA9IGNyeXB0X3BoeXMydmlydChwaHlzKTsKKworCXN3aXRjaCAoY3J5cHQtPmN0bF9mbGFncyAmIENUTF9GTEFHX01BU0spIHsKKwljYXNlIENUTF9GTEFHX1BFUkZPUk1fQUVBRDogeworCQlzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEgPSBjcnlwdC0+ZGF0YS5hZWFkX3JlcTsKKwkJc3RydWN0IGFlYWRfY3R4ICpyZXFfY3R4ID0gYWVhZF9yZXF1ZXN0X2N0eChyZXEpOworCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPmFzc29jLCByZXFfY3R4LT5hc3NvY19uZW50cywKKwkJCQlETUFfVE9fREVWSUNFKTsKKwkJZG1hX3VubWFwX3NnKGRldiwgJnJlcV9jdHgtPml2bGlzdCwgMSwgRE1BX0JJRElSRUNUSU9OQUwpOworCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+c3JjX25lbnRzLAorCQkJCURNQV9CSURJUkVDVElPTkFMKTsKKworCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5idWZmZXIsIGNyeXB0LT5zcmNfYnVmKTsKKwkJaWYgKHJlcV9jdHgtPmhtYWNfdmlydCkgeworCQkJZmluaXNoX3NjYXR0ZXJlZF9obWFjKGNyeXB0KTsKKwkJfQorCQlyZXEtPmJhc2UuY29tcGxldGUoJnJlcS0+YmFzZSwgZmFpbGVkKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ1RMX0ZMQUdfUEVSRk9STV9BQkxLOiB7CisJCXN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSA9IGNyeXB0LT5kYXRhLmFibGtfcmVxOworCQlzdHJ1Y3QgYWJsa19jdHggKnJlcV9jdHggPSBhYmxrY2lwaGVyX3JlcXVlc3RfY3R4KHJlcSk7CisJCWludCBuZW50czsKKwkJaWYgKHJlcV9jdHgtPmRzdCkgeworCQkJbmVudHMgPSByZXFfY3R4LT5kc3RfbmVudHM7CisJCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPmRzdCwgbmVudHMsIERNQV9GUk9NX0RFVklDRSk7CisJCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5kc3QsIGNyeXB0LT5kc3RfYnVmKTsKKwkJCXNyY19kaXJlY3Rpb24gPSBETUFfVE9fREVWSUNFOworCQl9CisJCW5lbnRzID0gcmVxX2N0eC0+c3JjX25lbnRzOworCQlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgbmVudHMsIHNyY19kaXJlY3Rpb24pOworCQlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5zcmMsIGNyeXB0LT5zcmNfYnVmKTsKKwkJcmVxLT5iYXNlLmNvbXBsZXRlKCZyZXEtPmJhc2UsIGZhaWxlZCk7CisJCWJyZWFrOworCX0KKwljYXNlIENUTF9GTEFHX0dFTl9JQ1Y6CisJCWN0eCA9IGNyeXB0b190Zm1fY3R4KGNyeXB0LT5kYXRhLnRmbSk7CisJCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIGNyeXB0LT5yZWdpc3RfcHRyLAorCQkJCWNyeXB0LT5yZWdpc3RfYnVmLT5waHlzX2FkZHIpOworCQlkbWFfcG9vbF9mcmVlKGJ1ZmZlcl9wb29sLCBjcnlwdC0+cmVnaXN0X2J1ZiwgY3J5cHQtPnNyY19idWYpOworCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3R4LT5jb25maWd1cmluZykpCisJCQljb21wbGV0ZSgmY3R4LT5jb21wbGV0aW9uKTsKKwkJYnJlYWs7CisJY2FzZSBDVExfRkxBR19HRU5fUkVWQUVTOgorCQljdHggPSBjcnlwdG9fdGZtX2N0eChjcnlwdC0+ZGF0YS50Zm0pOworCQkqKHUzMiopY3R4LT5kZWNyeXB0Lm5wZV9jdHggJj0gY3B1X3RvX2JlMzIofkNJUEhfRU5DUik7CisJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJCWNvbXBsZXRlKCZjdHgtPmNvbXBsZXRpb24pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlCVUcoKTsKKwl9CisJY3J5cHQtPmN0bF9mbGFncyA9IENUTF9GTEFHX1VOVVNFRDsKK30KKworc3RhdGljIHZvaWQgaXJxaGFuZGxlcih2b2lkICpfdW51c2VkKQoreworCXRhc2tsZXRfc2NoZWR1bGUoJmNyeXB0b19kb25lX3Rhc2tsZXQpOworfQorCitzdGF0aWMgdm9pZCBjcnlwdG9fZG9uZV9hY3Rpb24odW5zaWduZWQgbG9uZyBhcmcpCit7CisJaW50IGk7CisKKwlmb3IoaT0wOyBpPDQ7IGkrKykgeworCQlkbWFfYWRkcl90IHBoeXMgPSBxbWdyX2dldF9lbnRyeShSRUNWX1FJRCk7CisJCWlmICghcGh5cykKKwkJCXJldHVybjsKKwkJb25lX3BhY2tldChwaHlzKTsKKwl9CisJdGFza2xldF9zY2hlZHVsZSgmY3J5cHRvX2RvbmVfdGFza2xldCk7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF9peHBfY3J5cHRvKHZvaWQpCit7CisJaW50IHJldCA9IC1FTk9ERVY7CisKKwlpZiAoISAoIH4oKklYUDRYWF9FWFBfQ0ZHMikgJiAoSVhQNFhYX0ZFQVRVUkVfSEFTSCB8CisJCQkJSVhQNFhYX0ZFQVRVUkVfQUVTIHwgSVhQNFhYX0ZFQVRVUkVfREVTKSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJpeHBfY3J5cHRvOiBObyBIVyBjcnlwdG8gYXZhaWxhYmxlXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisJbnBlX2MgPSBucGVfcmVxdWVzdChOUEVfSUQpOworCWlmICghbnBlX2MpCisJCXJldHVybiByZXQ7CisKKwlpZiAoIW5wZV9ydW5uaW5nKG5wZV9jKSkgeworCQlucGVfbG9hZF9maXJtd2FyZShucGVfYywgbnBlX25hbWUobnBlX2MpLCBkZXYpOworCX0KKworCS8qIGJ1ZmZlcl9wb29sIHdpbGwgYWxzbyBiZSB1c2VkIHRvIHNvbWV0aW1lcyBzdG9yZSB0aGUgaG1hYywKKwkgKiBzbyBhc3N1cmUgaXQgaXMgbGFyZ2UgZW5vdWdoCisJICovCisJQlVJTERfQlVHX09OKFNIQTFfRElHRVNUX1NJWkUgPiBzaXplb2Yoc3RydWN0IGJ1ZmZlcl9kZXNjKSk7CisJYnVmZmVyX3Bvb2wgPSBkbWFfcG9vbF9jcmVhdGUoImJ1ZmZlciIsIGRldiwKKwkJCXNpemVvZihzdHJ1Y3QgYnVmZmVyX2Rlc2MpLCAzMiwgMCk7CisJcmV0ID0gLUVOT01FTTsKKwlpZiAoIWJ1ZmZlcl9wb29sKSB7CisJCWdvdG8gZXJyOworCX0KKwljdHhfcG9vbCA9IGRtYV9wb29sX2NyZWF0ZSgiY29udGV4dCIsIGRldiwKKwkJCU5QRV9DVFhfTEVOLCAxNiwgMCk7CisJaWYgKCFjdHhfcG9vbCkgeworCQlnb3RvIGVycjsKKwl9CisJcmV0ID0gcW1ncl9yZXF1ZXN0X3F1ZXVlKFNFTkRfUUlELCBOUEVfUUxFTl9UT1RBTCwgMCwgMCk7CisJaWYgKHJldCkKKwkJZ290byBlcnI7CisJcmV0ID0gcW1ncl9yZXF1ZXN0X3F1ZXVlKFJFQ1ZfUUlELCBOUEVfUUxFTiwgMCwgMCk7CisJaWYgKHJldCkgeworCQlxbWdyX3JlbGVhc2VfcXVldWUoU0VORF9RSUQpOworCQlnb3RvIGVycjsKKwl9CisJcW1ncl9zZXRfaXJxKFJFQ1ZfUUlELCBRVUVVRV9JUlFfU1JDX05PVF9FTVBUWSwgaXJxaGFuZGxlciwgTlVMTCk7CisJdGFza2xldF9pbml0KCZjcnlwdG9fZG9uZV90YXNrbGV0LCBjcnlwdG9fZG9uZV9hY3Rpb24sIDApOworCisJcW1ncl9lbmFibGVfaXJxKFJFQ1ZfUUlEKTsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAoY3R4X3Bvb2wpCisJCWRtYV9wb29sX2Rlc3Ryb3koY3R4X3Bvb2wpOworCWlmIChidWZmZXJfcG9vbCkKKwkJZG1hX3Bvb2xfZGVzdHJveShidWZmZXJfcG9vbCk7CisJbnBlX3JlbGVhc2UobnBlX2MpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHJlbGVhc2VfaXhwX2NyeXB0byh2b2lkKQoreworCXFtZ3JfZGlzYWJsZV9pcnEoUkVDVl9RSUQpOworCXRhc2tsZXRfa2lsbCgmY3J5cHRvX2RvbmVfdGFza2xldCk7CisKKwlxbWdyX3JlbGVhc2VfcXVldWUoU0VORF9RSUQpOworCXFtZ3JfcmVsZWFzZV9xdWV1ZShSRUNWX1FJRCk7CisKKwlkbWFfcG9vbF9kZXN0cm95KGN0eF9wb29sKTsKKwlkbWFfcG9vbF9kZXN0cm95KGJ1ZmZlcl9wb29sKTsKKworCW5wZV9yZWxlYXNlKG5wZV9jKTsKKworCWlmIChjcnlwdF92aXJ0KSB7CisJCWRtYV9mcmVlX2NvaGVyZW50KGRldiwKKwkJCU5QRV9RTEVOX1RPVEFMICogc2l6ZW9mKCBzdHJ1Y3QgY3J5cHRfY3RsKSwKKwkJCWNyeXB0X3ZpcnQsIGNyeXB0X3BoeXMpOworCX0KKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHJlc2V0X3NhX2RpcihzdHJ1Y3QgaXhfc2FfZGlyICpkaXIpCit7CisJbWVtc2V0KGRpci0+bnBlX2N0eCwgMCwgTlBFX0NUWF9MRU4pOworCWRpci0+bnBlX2N0eF9pZHggPSAwOworCWRpci0+bnBlX21vZGUgPSAwOworfQorCitzdGF0aWMgaW50IGluaXRfc2FfZGlyKHN0cnVjdCBpeF9zYV9kaXIgKmRpcikKK3sKKwlkaXItPm5wZV9jdHggPSBkbWFfcG9vbF9hbGxvYyhjdHhfcG9vbCwgR0ZQX0tFUk5FTCwgJmRpci0+bnBlX2N0eF9waHlzKTsKKwlpZiAoIWRpci0+bnBlX2N0eCkgeworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmVzZXRfc2FfZGlyKGRpcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfc2FfZGlyKHN0cnVjdCBpeF9zYV9kaXIgKmRpcikKK3sKKwltZW1zZXQoZGlyLT5ucGVfY3R4LCAwLCBOUEVfQ1RYX0xFTik7CisJZG1hX3Bvb2xfZnJlZShjdHhfcG9vbCwgZGlyLT5ucGVfY3R4LCBkaXItPm5wZV9jdHhfcGh5cyk7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF90Zm0oc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlpbnQgcmV0OworCisJYXRvbWljX3NldCgmY3R4LT5jb25maWd1cmluZywgMCk7CisJcmV0ID0gaW5pdF9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlyZXQgPSBpbml0X3NhX2RpcigmY3R4LT5kZWNyeXB0KTsKKwlpZiAocmV0KSB7CisJCWZyZWVfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGluaXRfdGZtX2FibGsoc3RydWN0IGNyeXB0b190Zm0gKnRmbSkKK3sKKwl0Zm0tPmNydF9hYmxrY2lwaGVyLnJlcXNpemUgPSBzaXplb2Yoc3RydWN0IGFibGtfY3R4KTsKKwlyZXR1cm4gaW5pdF90Zm0odGZtKTsKK30KKworc3RhdGljIGludCBpbml0X3RmbV9hZWFkKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJdGZtLT5jcnRfYWVhZC5yZXFzaXplID0gc2l6ZW9mKHN0cnVjdCBhZWFkX2N0eCk7CisJcmV0dXJuIGluaXRfdGZtKHRmbSk7Cit9CisKK3N0YXRpYyB2b2lkIGV4aXRfdGZtKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJZnJlZV9zYV9kaXIoJmN0eC0+ZW5jcnlwdCk7CisJZnJlZV9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7Cit9CisKK3N0YXRpYyBpbnQgcmVnaXN0ZXJfY2hhaW5fdmFyKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIHU4IHhwYWQsIHUzMiB0YXJnZXQsCisJCWludCBpbml0X2xlbiwgdTMyIGN0eF9hZGRyLCBjb25zdCB1OCAqa2V5LCBpbnQga2V5X2xlbikKK3sKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKwlzdHJ1Y3QgY3J5cHRfY3RsICpjcnlwdDsKKwlzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZjsKKwlpbnQgaTsKKwl1OCAqcGFkOworCXUzMiBwYWRfcGh5cywgYnVmX3BoeXM7CisKKwlCVUlMRF9CVUdfT04oTlBFX0NUWF9MRU4gPCBITUFDX1BBRF9CTE9DS0xFTik7CisJcGFkID0gZG1hX3Bvb2xfYWxsb2MoY3R4X3Bvb2wsIEdGUF9LRVJORUwsICZwYWRfcGh5cyk7CisJaWYgKCFwYWQpCisJCXJldHVybiAtRU5PTUVNOworCWJ1ZiA9IGRtYV9wb29sX2FsbG9jKGJ1ZmZlcl9wb29sLCBHRlBfS0VSTkVMLCAmYnVmX3BoeXMpOworCWlmICghYnVmKSB7CisJCWRtYV9wb29sX2ZyZWUoY3R4X3Bvb2wsIHBhZCwgcGFkX3BoeXMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJY3J5cHQgPSBnZXRfY3J5cHRfZGVzY19lbWVyZygpOworCWlmICghY3J5cHQpIHsKKwkJZG1hX3Bvb2xfZnJlZShjdHhfcG9vbCwgcGFkLCBwYWRfcGh5cyk7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIGJ1ZiwgYnVmX3BoeXMpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisKKwltZW1jcHkocGFkLCBrZXksIGtleV9sZW4pOworCW1lbXNldChwYWQgKyBrZXlfbGVuLCAwLCBITUFDX1BBRF9CTE9DS0xFTiAtIGtleV9sZW4pOworCWZvciAoaSA9IDA7IGkgPCBITUFDX1BBRF9CTE9DS0xFTjsgaSsrKSB7CisJCXBhZFtpXSBePSB4cGFkOworCX0KKworCWNyeXB0LT5kYXRhLnRmbSA9IHRmbTsKKwljcnlwdC0+cmVnaXN0X3B0ciA9IHBhZDsKKwljcnlwdC0+cmVnaXN0X2J1ZiA9IGJ1ZjsKKworCWNyeXB0LT5hdXRoX29mZnMgPSAwOworCWNyeXB0LT5hdXRoX2xlbiA9IEhNQUNfUEFEX0JMT0NLTEVOOworCWNyeXB0LT5jcnlwdG9fY3R4ID0gY3R4X2FkZHI7CisJY3J5cHQtPnNyY19idWYgPSBidWZfcGh5czsKKwljcnlwdC0+aWN2X3Jldl9hZXMgPSB0YXJnZXQ7CisJY3J5cHQtPm1vZGUgPSBOUEVfT1BfSEFTSF9HRU5fSUNWOworCWNyeXB0LT5pbml0X2xlbiA9IGluaXRfbGVuOworCWNyeXB0LT5jdGxfZmxhZ3MgfD0gQ1RMX0ZMQUdfR0VOX0lDVjsKKworCWJ1Zi0+bmV4dCA9IDA7CisJYnVmLT5idWZfbGVuID0gSE1BQ19QQURfQkxPQ0tMRU47CisJYnVmLT5wa3RfbGVuID0gMDsKKwlidWYtPnBoeXNfYWRkciA9IHBhZF9waHlzOworCisJYXRvbWljX2luYygmY3R4LT5jb25maWd1cmluZyk7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXR1cF9hdXRoKHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0sIGludCBlbmNyeXB0LCB1bnNpZ25lZCBhdXRoc2l6ZSwKKwkJY29uc3QgdTggKmtleSwgaW50IGtleV9sZW4sIHVuc2lnbmVkIGRpZ2VzdF9sZW4pCit7CisJdTMyIGl0YXJnZXQsIG90YXJnZXQsIG5wZV9jdHhfYWRkcjsKKwl1bnNpZ25lZCBjaGFyICpjaW5mbzsKKwlpbnQgaW5pdF9sZW4sIHJldCA9IDA7CisJdTMyIGNmZ3dvcmQ7CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCWNvbnN0IHN0cnVjdCBpeF9oYXNoX2FsZ28gKmFsZ287CisKKwlkaXIgPSBlbmNyeXB0ID8gJmN0eC0+ZW5jcnlwdCA6ICZjdHgtPmRlY3J5cHQ7CisJY2luZm8gPSBkaXItPm5wZV9jdHggKyBkaXItPm5wZV9jdHhfaWR4OworCWFsZ28gPSBpeF9oYXNoKHRmbSk7CisKKwkvKiB3cml0ZSBjZmcgd29yZCB0byBjcnlwdGluZm8gKi8KKwljZmd3b3JkID0gYWxnby0+Y2Znd29yZCB8ICggYXV0aHNpemUgPDwgNik7IC8qIChhdXRoc2l6ZS80KSA8PCA4ICovCisJKih1MzIqKWNpbmZvID0gY3B1X3RvX2JlMzIoY2Znd29yZCk7CisJY2luZm8gKz0gc2l6ZW9mKGNmZ3dvcmQpOworCisJLyogd3JpdGUgSUNWIHRvIGNyeXB0aW5mbyAqLworCW1lbWNweShjaW5mbywgYWxnby0+aWN2LCBkaWdlc3RfbGVuKTsKKwljaW5mbyArPSBkaWdlc3RfbGVuOworCisJaXRhcmdldCA9IGRpci0+bnBlX2N0eF9waHlzICsgZGlyLT5ucGVfY3R4X2lkeAorCQkJCSsgc2l6ZW9mKGFsZ28tPmNmZ3dvcmQpOworCW90YXJnZXQgPSBpdGFyZ2V0ICsgZGlnZXN0X2xlbjsKKwlpbml0X2xlbiA9IGNpbmZvIC0gKGRpci0+bnBlX2N0eCArIGRpci0+bnBlX2N0eF9pZHgpOworCW5wZV9jdHhfYWRkciA9IGRpci0+bnBlX2N0eF9waHlzICsgZGlyLT5ucGVfY3R4X2lkeDsKKworCWRpci0+bnBlX2N0eF9pZHggKz0gaW5pdF9sZW47CisJZGlyLT5ucGVfbW9kZSB8PSBOUEVfT1BfSEFTSF9FTkFCTEU7CisKKwlpZiAoIWVuY3J5cHQpCisJCWRpci0+bnBlX21vZGUgfD0gTlBFX09QX0hBU0hfVkVSSUZZOworCisJcmV0ID0gcmVnaXN0ZXJfY2hhaW5fdmFyKHRmbSwgSE1BQ19PUEFEX1ZBTFVFLCBvdGFyZ2V0LAorCQkJaW5pdF9sZW4sIG5wZV9jdHhfYWRkciwga2V5LCBrZXlfbGVuKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCXJldHVybiByZWdpc3Rlcl9jaGFpbl92YXIodGZtLCBITUFDX0lQQURfVkFMVUUsIGl0YXJnZXQsCisJCQlpbml0X2xlbiwgbnBlX2N0eF9hZGRyLCBrZXksIGtleV9sZW4pOworfQorCitzdGF0aWMgaW50IGdlbl9yZXZfYWVzX2tleShzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtKQoreworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fdGZtX2N0eCh0Zm0pOworCXN0cnVjdCBpeF9zYV9kaXIgKmRpciA9ICZjdHgtPmRlY3J5cHQ7CisKKwljcnlwdCA9IGdldF9jcnlwdF9kZXNjX2VtZXJnKCk7CisJaWYgKCFjcnlwdCkgeworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisJKih1MzIqKWRpci0+bnBlX2N0eCB8PSBjcHVfdG9fYmUzMihDSVBIX0VOQ1IpOworCisJY3J5cHQtPmRhdGEudGZtID0gdGZtOworCWNyeXB0LT5jcnlwdF9vZmZzID0gMDsKKwljcnlwdC0+Y3J5cHRfbGVuID0gQUVTX0JMT0NLMTI4OworCWNyeXB0LT5zcmNfYnVmID0gMDsKKwljcnlwdC0+Y3J5cHRvX2N0eCA9IGRpci0+bnBlX2N0eF9waHlzOworCWNyeXB0LT5pY3ZfcmV2X2FlcyA9IGRpci0+bnBlX2N0eF9waHlzICsgc2l6ZW9mKHUzMik7CisJY3J5cHQtPm1vZGUgPSBOUEVfT1BfRU5DX0dFTl9LRVk7CisJY3J5cHQtPmluaXRfbGVuID0gZGlyLT5ucGVfY3R4X2lkeDsKKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX0dFTl9SRVZBRVM7CisKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKwlxbWdyX3B1dF9lbnRyeShTRU5EX1FJRCwgY3J5cHRfdmlydDJwaHlzKGNyeXB0KSk7CisJQlVHX09OKHFtZ3Jfc3RhdF9vdmVyZmxvdyhTRU5EX1FJRCkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNldHVwX2NpcGhlcihzdHJ1Y3QgY3J5cHRvX3RmbSAqdGZtLCBpbnQgZW5jcnlwdCwKKwkJY29uc3QgdTggKmtleSwgaW50IGtleV9sZW4pCit7CisJdTggKmNpbmZvOworCXUzMiBjaXBoZXJfY2ZnOworCXUzMiBrZXlsZW5fY2ZnID0gMDsKKwlzdHJ1Y3QgaXhfc2FfZGlyICpkaXI7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b190Zm1fY3R4KHRmbSk7CisJdTMyICpmbGFncyA9ICZ0Zm0tPmNydF9mbGFnczsKKworCWRpciA9IGVuY3J5cHQgPyAmY3R4LT5lbmNyeXB0IDogJmN0eC0+ZGVjcnlwdDsKKwljaW5mbyA9IGRpci0+bnBlX2N0eDsKKworCWlmIChlbmNyeXB0KSB7CisJCWNpcGhlcl9jZmcgPSBjaXBoZXJfY2ZnX2VuYyh0Zm0pOworCQlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9DUllQVF9FTkNSWVBUOworCX0gZWxzZSB7CisJCWNpcGhlcl9jZmcgPSBjaXBoZXJfY2ZnX2RlYyh0Zm0pOworCX0KKwlpZiAoY2lwaGVyX2NmZyAmIE1PRF9BRVMpIHsKKwkJc3dpdGNoIChrZXlfbGVuKSB7CisJCQljYXNlIDE2OiBrZXlsZW5fY2ZnID0gTU9EX0FFUzEyOCB8IEtFWUxFTl8xMjg7IGJyZWFrOworCQkJY2FzZSAyNDoga2V5bGVuX2NmZyA9IE1PRF9BRVMxOTIgfCBLRVlMRU5fMTkyOyBicmVhazsKKwkJCWNhc2UgMzI6IGtleWxlbl9jZmcgPSBNT0RfQUVTMjU2IHwgS0VZTEVOXzI1NjsgYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCSpmbGFncyB8PSBDUllQVE9fVEZNX1JFU19CQURfS0VZX0xFTjsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQljaXBoZXJfY2ZnIHw9IGtleWxlbl9jZmc7CisJfSBlbHNlIGlmIChjaXBoZXJfY2ZnICYgTU9EXzNERVMpIHsKKwkJY29uc3QgdTMyICpLID0gKGNvbnN0IHUzMiAqKWtleTsKKwkJaWYgKHVubGlrZWx5KCEoKEtbMF0gXiBLWzJdKSB8IChLWzFdIF4gS1szXSkpIHx8CisJCQkgICAgICEoKEtbMl0gXiBLWzRdKSB8IChLWzNdIF4gS1s1XSkpKSkKKwkJeworCQkJKmZsYWdzIHw9IENSWVBUT19URk1fUkVTX0JBRF9LRVlfU0NIRUQ7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0gZWxzZSB7CisJCXUzMiB0bXBbREVTX0VYUEtFWV9XT1JEU107CisJCWlmIChkZXNfZWtleSh0bXAsIGtleSkgPT0gMCkgeworCQkJKmZsYWdzIHw9IENSWVBUT19URk1fUkVTX1dFQUtfS0VZOworCQl9CisJfQorCS8qIHdyaXRlIGNmZyB3b3JkIHRvIGNyeXB0aW5mbyAqLworCSoodTMyKiljaW5mbyA9IGNwdV90b19iZTMyKGNpcGhlcl9jZmcpOworCWNpbmZvICs9IHNpemVvZihjaXBoZXJfY2ZnKTsKKworCS8qIHdyaXRlIGNpcGhlciBrZXkgdG8gY3J5cHRpbmZvICovCisJbWVtY3B5KGNpbmZvLCBrZXksIGtleV9sZW4pOworCS8qIE5QRSB3YW50cyBrZXlsZW4gc2V0IHRvIERFUzNfRURFX0tFWV9TSVpFIGV2ZW4gZm9yIHNpbmdsZSBERVMgKi8KKwlpZiAoa2V5X2xlbiA8IERFUzNfRURFX0tFWV9TSVpFICYmICEoY2lwaGVyX2NmZyAmIE1PRF9BRVMpKSB7CisJCW1lbXNldChjaW5mbyArIGtleV9sZW4sIDAsIERFUzNfRURFX0tFWV9TSVpFIC1rZXlfbGVuKTsKKwkJa2V5X2xlbiA9IERFUzNfRURFX0tFWV9TSVpFOworCX0KKwlkaXItPm5wZV9jdHhfaWR4ID0gc2l6ZW9mKGNpcGhlcl9jZmcpICsga2V5X2xlbjsKKwlkaXItPm5wZV9tb2RlIHw9IE5QRV9PUF9DUllQVF9FTkFCTEU7CisJaWYgKChjaXBoZXJfY2ZnICYgTU9EX0FFUykgJiYgIWVuY3J5cHQpIHsKKwkJcmV0dXJuIGdlbl9yZXZfYWVzX2tleSh0Zm0pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb3VudF9zZyhzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLCBpbnQgbmJ5dGVzKQoreworCWludCBpOworCWZvciAoaSA9IDA7IG5ieXRlcyA+IDA7IGkrKywgc2cgPSBzZ19uZXh0KHNnKSkKKwkJbmJ5dGVzIC09IHNnLT5sZW5ndGg7CisJcmV0dXJuIGk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmNoYWludXBfYnVmZmVycyhzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnLAorCQkJdW5zaWduZWQgbmJ5dGVzLCBzdHJ1Y3QgYnVmZmVyX2Rlc2MgKmJ1ZiwgZ2ZwX3QgZmxhZ3MpCit7CisJaW50IG5lbnRzID0gMDsKKworCXdoaWxlIChuYnl0ZXMgPiAwKSB7CisJCXN0cnVjdCBidWZmZXJfZGVzYyAqbmV4dF9idWY7CisJCXUzMiBuZXh0X2J1Zl9waHlzOworCQl1bnNpZ25lZCBsZW4gPSBtaW4obmJ5dGVzLCBzZ19kbWFfbGVuKHNnKSk7CisKKwkJbmVudHMrKzsKKwkJbmJ5dGVzIC09IGxlbjsKKwkJaWYgKCFidWYtPnBoeXNfYWRkcikgeworCQkJYnVmLT5waHlzX2FkZHIgPSBzZ19kbWFfYWRkcmVzcyhzZyk7CisJCQlidWYtPmJ1Zl9sZW4gPSBsZW47CisJCQlidWYtPm5leHQgPSBOVUxMOworCQkJYnVmLT5waHlzX25leHQgPSAwOworCQkJZ290byBuZXh0OworCQl9CisJCS8qIFR3byBjb25zZWN1dGl2ZSBjaHVua3Mgb24gb25lIHBhZ2UgbWF5IGJlIGhhbmRsZWQgYnkgdGhlIG9sZAorCQkgKiBidWZmZXIgZGVzY3JpcHRvciwgaW5jcmVhc2VkIGJ5IHRoZSBsZW5ndGggb2YgdGhlIG5ldyBvbmUKKwkJICovCisJCWlmIChzZ19kbWFfYWRkcmVzcyhzZykgPT0gYnVmLT5waHlzX2FkZHIgKyBidWYtPmJ1Zl9sZW4pIHsKKwkJCWJ1Zi0+YnVmX2xlbiArPSBsZW47CisJCQlnb3RvIG5leHQ7CisJCX0KKwkJbmV4dF9idWYgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsICZuZXh0X2J1Zl9waHlzKTsKKwkJaWYgKCFuZXh0X2J1ZikKKwkJCXJldHVybiBOVUxMOworCQlidWYtPm5leHQgPSBuZXh0X2J1ZjsKKwkJYnVmLT5waHlzX25leHQgPSBuZXh0X2J1Zl9waHlzOworCisJCWJ1ZiA9IG5leHRfYnVmOworCQlidWYtPm5leHQgPSBOVUxMOworCQlidWYtPnBoeXNfbmV4dCA9IDA7CisJCWJ1Zi0+cGh5c19hZGRyID0gc2dfZG1hX2FkZHJlc3Moc2cpOworCQlidWYtPmJ1Zl9sZW4gPSBsZW47CituZXh0OgorCQlpZiAobmJ5dGVzID4gMCkgeworCQkJc2cgPSBzZ19uZXh0KHNnKTsKKwkJfQorCX0KKwlyZXR1cm4gYnVmOworfQorCitzdGF0aWMgaW50IGFibGtfc2V0a2V5KHN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleV9sZW4pCit7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCXUzMiAqZmxhZ3MgPSAmdGZtLT5iYXNlLmNydF9mbGFnczsKKwlpbnQgcmV0OworCisJaW5pdF9jb21wbGV0aW9uKCZjdHgtPmNvbXBsZXRpb24pOworCWF0b21pY19pbmMoJmN0eC0+Y29uZmlndXJpbmcpOworCisJcmVzZXRfc2FfZGlyKCZjdHgtPmVuY3J5cHQpOworCXJlc2V0X3NhX2RpcigmY3R4LT5kZWNyeXB0KTsKKworCWN0eC0+ZW5jcnlwdC5ucGVfbW9kZSA9IE5QRV9PUF9ITUFDX0RJU0FCTEU7CisJY3R4LT5kZWNyeXB0Lm5wZV9tb2RlID0gTlBFX09QX0hNQUNfRElTQUJMRTsKKworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAwLCBrZXksIGtleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2NpcGhlcigmdGZtLT5iYXNlLCAxLCBrZXksIGtleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKCpmbGFncyAmIENSWVBUT19URk1fUkVTX1dFQUtfS0VZKSB7CisJCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFUV9XRUFLX0tFWSkgeworCQkJcmV0ID0gLUVJTlZBTDsKKwkJfSBlbHNlIHsKKwkJCSpmbGFncyAmPSB+Q1JZUFRPX1RGTV9SRVNfV0VBS19LRVk7CisJCX0KKwl9CitvdXQ6CisJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFibGtfcmZjMzY4Nl9zZXRrZXkoc3RydWN0IGNyeXB0b19hYmxrY2lwaGVyICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCXVuc2lnbmVkIGludCBrZXlfbGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWJsa2NpcGhlcl9jdHgodGZtKTsKKworCS8qIHRoZSBub25jZSBpcyBzdG9yZWQgaW4gYnl0ZXMgYXQgZW5kIG9mIGtleSAqLworCWlmIChrZXlfbGVuIDwgQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZW1jcHkoY3R4LT5ub25jZSwga2V5ICsgKGtleV9sZW4gLSBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFKSwKKwkJCUNUUl9SRkMzNjg2X05PTkNFX1NJWkUpOworCisJa2V5X2xlbiAtPSBDVFJfUkZDMzY4Nl9OT05DRV9TSVpFOworCXJldHVybiBhYmxrX3NldGtleSh0Zm0sIGtleSwga2V5X2xlbik7Cit9CisKK3N0YXRpYyBpbnQgYWJsa19wZXJmb3JtKHN0cnVjdCBhYmxrY2lwaGVyX3JlcXVlc3QgKnJlcSwgaW50IGVuY3J5cHQpCit7CisJc3RydWN0IGNyeXB0b19hYmxrY2lwaGVyICp0Zm0gPSBjcnlwdG9fYWJsa2NpcGhlcl9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FibGtjaXBoZXJfY3R4KHRmbSk7CisJdW5zaWduZWQgaXZzaXplID0gY3J5cHRvX2FibGtjaXBoZXJfaXZzaXplKHRmbSk7CisJaW50IHJldCA9IC1FTk9NRU07CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXVuc2lnbmVkIGludCBuYnl0ZXMgPSByZXEtPm5ieXRlcywgbmVudHM7CisJZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gc3JjX2RpcmVjdGlvbiA9IERNQV9CSURJUkVDVElPTkFMOworCXN0cnVjdCBhYmxrX2N0eCAqcmVxX2N0eCA9IGFibGtjaXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKKwlnZnBfdCBmbGFncyA9IHJlcS0+YmFzZS5mbGFncyAmIENSWVBUT19URk1fUkVRX01BWV9TTEVFUCA/CisJCQkJR0ZQX0tFUk5FTCA6IEdGUF9BVE9NSUM7CisKKwlpZiAocW1ncl9zdGF0X2Z1bGwoU0VORF9RSUQpKQorCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoYXRvbWljX3JlYWQoJmN0eC0+Y29uZmlndXJpbmcpKQorCQlyZXR1cm4gLUVBR0FJTjsKKworCWRpciA9IGVuY3J5cHQgPyAmY3R4LT5lbmNyeXB0IDogJmN0eC0+ZGVjcnlwdDsKKworCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2MoKTsKKwlpZiAoIWNyeXB0KQorCQlyZXR1cm4gcmV0OworCisJY3J5cHQtPmRhdGEuYWJsa19yZXEgPSByZXE7CisJY3J5cHQtPmNyeXB0b19jdHggPSBkaXItPm5wZV9jdHhfcGh5czsKKwljcnlwdC0+bW9kZSA9IGRpci0+bnBlX21vZGU7CisJY3J5cHQtPmluaXRfbGVuID0gZGlyLT5ucGVfY3R4X2lkeDsKKworCWNyeXB0LT5jcnlwdF9vZmZzID0gMDsKKwljcnlwdC0+Y3J5cHRfbGVuID0gbmJ5dGVzOworCisJQlVHX09OKGl2c2l6ZSAmJiAhcmVxLT5pbmZvKTsKKwltZW1jcHkoY3J5cHQtPml2LCByZXEtPmluZm8sIGl2c2l6ZSk7CisJaWYgKHJlcS0+c3JjICE9IHJlcS0+ZHN0KSB7CisJCWNyeXB0LT5tb2RlIHw9IE5QRV9PUF9OT1RfSU5fUExBQ0U7CisJCW5lbnRzID0gY291bnRfc2cocmVxLT5kc3QsIG5ieXRlcyk7CisJCS8qIFRoaXMgd2FzIG5ldmVyIHRlc3RlZCBieSBJbnRlbAorCQkgKiBmb3IgbW9yZSB0aGFuIG9uZSBkc3QgYnVmZmVyLCBJIHRoaW5rLiAqLworCQlCVUdfT04obmVudHMgIT0gMSk7CisJCXJlcV9jdHgtPmRzdF9uZW50cyA9IG5lbnRzOworCQlkbWFfbWFwX3NnKGRldiwgcmVxLT5kc3QsIG5lbnRzLCBETUFfRlJPTV9ERVZJQ0UpOworCQlyZXFfY3R4LT5kc3QgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsJmNyeXB0LT5kc3RfYnVmKTsKKwkJaWYgKCFyZXFfY3R4LT5kc3QpCisJCQlnb3RvIHVubWFwX3NnX2Rlc3Q7CisJCXJlcV9jdHgtPmRzdC0+cGh5c19hZGRyID0gMDsKKwkJaWYgKCFjaGFpbnVwX2J1ZmZlcnMocmVxLT5kc3QsIG5ieXRlcywgcmVxX2N0eC0+ZHN0LCBmbGFncykpCisJCQlnb3RvIGZyZWVfYnVmX2Rlc3Q7CisJCXNyY19kaXJlY3Rpb24gPSBETUFfVE9fREVWSUNFOworCX0gZWxzZSB7CisJCXJlcV9jdHgtPmRzdCA9IE5VTEw7CisJCXJlcV9jdHgtPmRzdF9uZW50cyA9IDA7CisJfQorCW5lbnRzID0gY291bnRfc2cocmVxLT5zcmMsIG5ieXRlcyk7CisJcmVxX2N0eC0+c3JjX25lbnRzID0gbmVudHM7CisJZG1hX21hcF9zZyhkZXYsIHJlcS0+c3JjLCBuZW50cywgc3JjX2RpcmVjdGlvbik7CisKKwlyZXFfY3R4LT5zcmMgPSBkbWFfcG9vbF9hbGxvYyhidWZmZXJfcG9vbCwgZmxhZ3MsICZjcnlwdC0+c3JjX2J1Zik7CisJaWYgKCFyZXFfY3R4LT5zcmMpCisJCWdvdG8gdW5tYXBfc2dfc3JjOworCXJlcV9jdHgtPnNyYy0+cGh5c19hZGRyID0gMDsKKwlpZiAoIWNoYWludXBfYnVmZmVycyhyZXEtPnNyYywgbmJ5dGVzLCByZXFfY3R4LT5zcmMsIGZsYWdzKSkKKwkJZ290byBmcmVlX2J1Zl9zcmM7CisKKwljcnlwdC0+Y3RsX2ZsYWdzIHw9IENUTF9GTEFHX1BFUkZPUk1fQUJMSzsKKwlxbWdyX3B1dF9lbnRyeShTRU5EX1FJRCwgY3J5cHRfdmlydDJwaHlzKGNyeXB0KSk7CisJQlVHX09OKHFtZ3Jfc3RhdF9vdmVyZmxvdyhTRU5EX1FJRCkpOworCXJldHVybiAtRUlOUFJPR1JFU1M7CisKK2ZyZWVfYnVmX3NyYzoKKwlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5zcmMsIGNyeXB0LT5zcmNfYnVmKTsKK3VubWFwX3NnX3NyYzoKKwlkbWFfdW5tYXBfc2coZGV2LCByZXEtPnNyYywgcmVxX2N0eC0+c3JjX25lbnRzLCBzcmNfZGlyZWN0aW9uKTsKK2ZyZWVfYnVmX2Rlc3Q6CisJaWYgKHJlcS0+c3JjICE9IHJlcS0+ZHN0KSB7CisJCWZyZWVfYnVmX2NoYWluKHJlcV9jdHgtPmRzdCwgY3J5cHQtPmRzdF9idWYpOwordW5tYXBfc2dfZGVzdDoKKwkJZG1hX3VubWFwX3NnKGRldiwgcmVxLT5zcmMsIHJlcV9jdHgtPmRzdF9uZW50cywKKwkJCURNQV9GUk9NX0RFVklDRSk7CisJfQorCWNyeXB0LT5jdGxfZmxhZ3MgPSBDVExfRkxBR19VTlVTRUQ7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhYmxrX2VuY3J5cHQoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBhYmxrX3BlcmZvcm0ocmVxLCAxKTsKK30KKworc3RhdGljIGludCBhYmxrX2RlY3J5cHQoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBhYmxrX3BlcmZvcm0ocmVxLCAwKTsKK30KKworc3RhdGljIGludCBhYmxrX3JmYzM2ODZfY3J5cHQoc3RydWN0IGFibGtjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWJsa2NpcGhlciAqdGZtID0gY3J5cHRvX2FibGtjaXBoZXJfcmVxdGZtKHJlcSk7CisJc3RydWN0IGl4cF9jdHggKmN0eCA9IGNyeXB0b19hYmxrY2lwaGVyX2N0eCh0Zm0pOworCXU4IGl2W0NUUl9SRkMzNjg2X0JMT0NLX1NJWkVdOworCXU4ICppbmZvID0gcmVxLT5pbmZvOworCWludCByZXQ7CisKKwkvKiBzZXQgdXAgY291bnRlciBibG9jayAqLworICAgICAgICBtZW1jcHkoaXYsIGN0eC0+bm9uY2UsIENUUl9SRkMzNjg2X05PTkNFX1NJWkUpOworCW1lbWNweShpdiArIENUUl9SRkMzNjg2X05PTkNFX1NJWkUsIGluZm8sIENUUl9SRkMzNjg2X0lWX1NJWkUpOworCisJLyogaW5pdGlhbGl6ZSBjb3VudGVyIHBvcnRpb24gb2YgY291bnRlciBibG9jayAqLworCSooX19iZTMyICopKGl2ICsgQ1RSX1JGQzM2ODZfTk9OQ0VfU0laRSArIENUUl9SRkMzNjg2X0lWX1NJWkUpID0KKwkJY3B1X3RvX2JlMzIoMSk7CisKKwlyZXEtPmluZm8gPSBpdjsKKwlyZXQgPSBhYmxrX3BlcmZvcm0ocmVxLCAxKTsKKwlyZXEtPmluZm8gPSBpbmZvOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaG1hY19pbmNvbnNpc3RlbnQoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgdW5zaWduZWQgc3RhcnQsCisJCXVuc2lnbmVkIGludCBuYnl0ZXMpCit7CisJaW50IG9mZnNldCA9IDA7CisKKwlpZiAoIW5ieXRlcykKKwkJcmV0dXJuIDA7CisKKwlmb3IgKDs7KSB7CisJCWlmIChzdGFydCA8IG9mZnNldCArIHNnLT5sZW5ndGgpCisJCQlicmVhazsKKworCQlvZmZzZXQgKz0gc2ctPmxlbmd0aDsKKwkJc2cgPSBzZ19uZXh0KHNnKTsKKwl9CisJcmV0dXJuIChzdGFydCArIG5ieXRlcyA+IG9mZnNldCArIHNnLT5sZW5ndGgpOworfQorCitzdGF0aWMgaW50IGFlYWRfcGVyZm9ybShzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEsIGludCBlbmNyeXB0LAorCQlpbnQgY3J5cHRvZmZzZXQsIGludCBlZmZfY3J5cHRsZW4sIHU4ICppdikKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSA9IGNyeXB0b19hZWFkX3JlcXRmbShyZXEpOworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwl1bnNpZ25lZCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUodGZtKTsKKwl1bnNpZ25lZCBhdXRoc2l6ZSA9IGNyeXB0b19hZWFkX2F1dGhzaXplKHRmbSk7CisJaW50IHJldCA9IC1FTk9NRU07CisJc3RydWN0IGl4X3NhX2RpciAqZGlyOworCXN0cnVjdCBjcnlwdF9jdGwgKmNyeXB0OworCXVuc2lnbmVkIGludCBjcnlwdGxlbiwgbmVudHM7CisJc3RydWN0IGJ1ZmZlcl9kZXNjICpidWY7CisJc3RydWN0IGFlYWRfY3R4ICpyZXFfY3R4ID0gYWVhZF9yZXF1ZXN0X2N0eChyZXEpOworCWdmcF90IGZsYWdzID0gcmVxLT5iYXNlLmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfTUFZX1NMRUVQID8KKwkJCQlHRlBfS0VSTkVMIDogR0ZQX0FUT01JQzsKKworCWlmIChxbWdyX3N0YXRfZnVsbChTRU5EX1FJRCkpCisJCXJldHVybiAtRUFHQUlOOworCWlmIChhdG9taWNfcmVhZCgmY3R4LT5jb25maWd1cmluZykpCisJCXJldHVybiAtRUFHQUlOOworCisJaWYgKGVuY3J5cHQpIHsKKwkJZGlyID0gJmN0eC0+ZW5jcnlwdDsKKwkJY3J5cHRsZW4gPSByZXEtPmNyeXB0bGVuOworCX0gZWxzZSB7CisJCWRpciA9ICZjdHgtPmRlY3J5cHQ7CisJCS8qIHJlcS0+Y3J5cHRsZW4gaW5jbHVkZXMgdGhlIGF1dGhzaXplIHdoZW4gZGVjcnlwdGluZyAqLworCQljcnlwdGxlbiA9IHJlcS0+Y3J5cHRsZW4gLWF1dGhzaXplOworCQllZmZfY3J5cHRsZW4gLT0gYXV0aHNpemU7CisJfQorCWNyeXB0ID0gZ2V0X2NyeXB0X2Rlc2MoKTsKKwlpZiAoIWNyeXB0KQorCQlyZXR1cm4gcmV0OworCisJY3J5cHQtPmRhdGEuYWVhZF9yZXEgPSByZXE7CisJY3J5cHQtPmNyeXB0b19jdHggPSBkaXItPm5wZV9jdHhfcGh5czsKKwljcnlwdC0+bW9kZSA9IGRpci0+bnBlX21vZGU7CisJY3J5cHQtPmluaXRfbGVuID0gZGlyLT5ucGVfY3R4X2lkeDsKKworCWNyeXB0LT5jcnlwdF9vZmZzID0gY3J5cHRvZmZzZXQ7CisJY3J5cHQtPmNyeXB0X2xlbiA9IGVmZl9jcnlwdGxlbjsKKworCWNyeXB0LT5hdXRoX29mZnMgPSAwOworCWNyeXB0LT5hdXRoX2xlbiA9IHJlcS0+YXNzb2NsZW4gKyBpdnNpemUgKyBjcnlwdGxlbjsKKwlCVUdfT04oaXZzaXplICYmICFyZXEtPml2KTsKKwltZW1jcHkoY3J5cHQtPml2LCByZXEtPml2LCBpdnNpemUpOworCisJaWYgKHJlcS0+c3JjICE9IHJlcS0+ZHN0KSB7CisJCUJVRygpOyAvKiAtRU5PVFNVUCBiZWNhdXNlIG9mIG15IGxhenluZXNzICovCisJfQorCisJcmVxX2N0eC0+YnVmZmVyID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLCAmY3J5cHQtPnNyY19idWYpOworCWlmICghcmVxX2N0eC0+YnVmZmVyKQorCQlnb3RvIG91dDsKKwlyZXFfY3R4LT5idWZmZXItPnBoeXNfYWRkciA9IDA7CisJLyogQVNTT0MgZGF0YSAqLworCW5lbnRzID0gY291bnRfc2cocmVxLT5hc3NvYywgcmVxLT5hc3NvY2xlbik7CisJcmVxX2N0eC0+YXNzb2NfbmVudHMgPSBuZW50czsKKwlkbWFfbWFwX3NnKGRldiwgcmVxLT5hc3NvYywgbmVudHMsIERNQV9UT19ERVZJQ0UpOworCWJ1ZiA9IGNoYWludXBfYnVmZmVycyhyZXEtPmFzc29jLCByZXEtPmFzc29jbGVuLCByZXFfY3R4LT5idWZmZXIsZmxhZ3MpOworCWlmICghYnVmKQorCQlnb3RvIHVubWFwX3NnX2Fzc29jOworCS8qIElWICovCisJc2dfaW5pdF90YWJsZSgmcmVxX2N0eC0+aXZsaXN0LCAxKTsKKwlzZ19zZXRfYnVmKCZyZXFfY3R4LT5pdmxpc3QsIGl2LCBpdnNpemUpOworCWRtYV9tYXBfc2coZGV2LCAmcmVxX2N0eC0+aXZsaXN0LCAxLCBETUFfQklESVJFQ1RJT05BTCk7CisJYnVmID0gY2hhaW51cF9idWZmZXJzKCZyZXFfY3R4LT5pdmxpc3QsIGl2c2l6ZSwgYnVmLCBmbGFncyk7CisJaWYgKCFidWYpCisJCWdvdG8gdW5tYXBfc2dfaXY7CisJaWYgKHVubGlrZWx5KGhtYWNfaW5jb25zaXN0ZW50KHJlcS0+c3JjLCBjcnlwdGxlbiwgYXV0aHNpemUpKSkgeworCQkvKiBUaGUgMTIgaG1hYyBieXRlcyBhcmUgc2NhdHRlcmVkLAorCQkgKiB3ZSBuZWVkIHRvIGNvcHkgdGhlbSBpbnRvIGEgc2FmZSBidWZmZXIgKi8KKwkJcmVxX2N0eC0+aG1hY192aXJ0ID0gZG1hX3Bvb2xfYWxsb2MoYnVmZmVyX3Bvb2wsIGZsYWdzLAorCQkJCSZjcnlwdC0+aWN2X3Jldl9hZXMpOworCQlpZiAodW5saWtlbHkoIXJlcV9jdHgtPmhtYWNfdmlydCkpCisJCQlnb3RvIHVubWFwX3NnX2l2OworCQlpZiAoIWVuY3J5cHQpIHsKKwkJCXNjYXR0ZXJ3YWxrX21hcF9hbmRfY29weShyZXFfY3R4LT5obWFjX3ZpcnQsCisJCQkJcmVxLT5zcmMsIGNyeXB0bGVuLCBhdXRoc2l6ZSwgMCk7CisJCX0KKwkJcmVxX2N0eC0+ZW5jcnlwdCA9IGVuY3J5cHQ7CisJfSBlbHNlIHsKKwkJcmVxX2N0eC0+aG1hY192aXJ0ID0gTlVMTDsKKwl9CisJLyogQ3J5cHQgKi8KKwluZW50cyA9IGNvdW50X3NnKHJlcS0+c3JjLCBjcnlwdGxlbiArIGF1dGhzaXplKTsKKwlyZXFfY3R4LT5zcmNfbmVudHMgPSBuZW50czsKKwlkbWFfbWFwX3NnKGRldiwgcmVxLT5zcmMsIG5lbnRzLCBETUFfQklESVJFQ1RJT05BTCk7CisJYnVmID0gY2hhaW51cF9idWZmZXJzKHJlcS0+c3JjLCBjcnlwdGxlbiArIGF1dGhzaXplLCBidWYsIGZsYWdzKTsKKwlpZiAoIWJ1ZikKKwkJZ290byB1bm1hcF9zZ19zcmM7CisJaWYgKCFyZXFfY3R4LT5obWFjX3ZpcnQpIHsKKwkJY3J5cHQtPmljdl9yZXZfYWVzID0gYnVmLT5waHlzX2FkZHIgKyBidWYtPmJ1Zl9sZW4gLSBhdXRoc2l6ZTsKKwl9CisJY3J5cHQtPmN0bF9mbGFncyB8PSBDVExfRkxBR19QRVJGT1JNX0FFQUQ7CisJcW1ncl9wdXRfZW50cnkoU0VORF9RSUQsIGNyeXB0X3ZpcnQycGh5cyhjcnlwdCkpOworCUJVR19PTihxbWdyX3N0YXRfb3ZlcmZsb3coU0VORF9RSUQpKTsKKwlyZXR1cm4gLUVJTlBST0dSRVNTOwordW5tYXBfc2dfc3JjOgorCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+c3JjLCByZXFfY3R4LT5zcmNfbmVudHMsIERNQV9CSURJUkVDVElPTkFMKTsKKwlpZiAocmVxX2N0eC0+aG1hY192aXJ0KSB7CisJCWRtYV9wb29sX2ZyZWUoYnVmZmVyX3Bvb2wsIHJlcV9jdHgtPmhtYWNfdmlydCwKKwkJCQljcnlwdC0+aWN2X3Jldl9hZXMpOworCX0KK3VubWFwX3NnX2l2OgorCWRtYV91bm1hcF9zZyhkZXYsICZyZXFfY3R4LT5pdmxpc3QsIDEsIERNQV9CSURJUkVDVElPTkFMKTsKK3VubWFwX3NnX2Fzc29jOgorCWRtYV91bm1hcF9zZyhkZXYsIHJlcS0+YXNzb2MsIHJlcV9jdHgtPmFzc29jX25lbnRzLCBETUFfVE9fREVWSUNFKTsKKwlmcmVlX2J1Zl9jaGFpbihyZXFfY3R4LT5idWZmZXIsIGNyeXB0LT5zcmNfYnVmKTsKK291dDoKKwljcnlwdC0+Y3RsX2ZsYWdzID0gQ1RMX0ZMQUdfVU5VU0VEOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9zZXR1cChzdHJ1Y3QgY3J5cHRvX2FlYWQgKnRmbSwgdW5zaWduZWQgaW50IGF1dGhzaXplKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwl1MzIgKmZsYWdzID0gJnRmbS0+YmFzZS5jcnRfZmxhZ3M7CisJdW5zaWduZWQgZGlnZXN0X2xlbiA9IGNyeXB0b19hZWFkX2FsZyh0Zm0pLT5tYXhhdXRoc2l6ZTsKKwlpbnQgcmV0OworCisJaWYgKCFjdHgtPmVuY2tleV9sZW4gJiYgIWN0eC0+YXV0aGtleV9sZW4pCisJCXJldHVybiAwOworCWluaXRfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlhdG9taWNfaW5jKCZjdHgtPmNvbmZpZ3VyaW5nKTsKKworCXJlc2V0X3NhX2RpcigmY3R4LT5lbmNyeXB0KTsKKwlyZXNldF9zYV9kaXIoJmN0eC0+ZGVjcnlwdCk7CisKKwlyZXQgPSBzZXR1cF9jaXBoZXIoJnRmbS0+YmFzZSwgMCwgY3R4LT5lbmNrZXksIGN0eC0+ZW5ja2V5X2xlbik7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmV0ID0gc2V0dXBfY2lwaGVyKCZ0Zm0tPmJhc2UsIDEsIGN0eC0+ZW5ja2V5LCBjdHgtPmVuY2tleV9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2F1dGgoJnRmbS0+YmFzZSwgMCwgYXV0aHNpemUsIGN0eC0+YXV0aGtleSwKKwkJCWN0eC0+YXV0aGtleV9sZW4sIGRpZ2VzdF9sZW4pOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCXJldCA9IHNldHVwX2F1dGgoJnRmbS0+YmFzZSwgMSwgYXV0aHNpemUsICBjdHgtPmF1dGhrZXksCisJCQljdHgtPmF1dGhrZXlfbGVuLCBkaWdlc3RfbGVuKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCWlmICgqZmxhZ3MgJiBDUllQVE9fVEZNX1JFU19XRUFLX0tFWSkgeworCQlpZiAoKmZsYWdzICYgQ1JZUFRPX1RGTV9SRVFfV0VBS19LRVkpIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQlnb3RvIG91dDsKKwkJfSBlbHNlIHsKKwkJCSpmbGFncyAmPSB+Q1JZUFRPX1RGTV9SRVNfV0VBS19LRVk7CisJCX0KKwl9CitvdXQ6CisJaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZjdHgtPmNvbmZpZ3VyaW5nKSkKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmY3R4LT5jb21wbGV0aW9uKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFlYWRfc2V0YXV0aHNpemUoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIHVuc2lnbmVkIGludCBhdXRoc2l6ZSkKK3sKKwlpbnQgbWF4ID0gY3J5cHRvX2FlYWRfYWxnKHRmbSktPm1heGF1dGhzaXplID4+IDI7CisKKwlpZiAoKGF1dGhzaXplPj4yKSA8IDEgfHwgKGF1dGhzaXplPj4yKSA+IG1heCB8fCAoYXV0aHNpemUgJiAzKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIGFlYWRfc2V0dXAodGZtLCBhdXRoc2l6ZSk7Cit9CisKK3N0YXRpYyBpbnQgYWVhZF9zZXRrZXkoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIGNvbnN0IHU4ICprZXksCisJCQl1bnNpZ25lZCBpbnQga2V5bGVuKQoreworCXN0cnVjdCBpeHBfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgodGZtKTsKKwlzdHJ1Y3QgcnRhdHRyICpydGEgPSAoc3RydWN0IHJ0YXR0ciAqKWtleTsKKwlzdHJ1Y3QgY3J5cHRvX2F1dGhlbmNfa2V5X3BhcmFtICpwYXJhbTsKKworCWlmICghUlRBX09LKHJ0YSwga2V5bGVuKSkKKwkJZ290byBiYWRrZXk7CisJaWYgKHJ0YS0+cnRhX3R5cGUgIT0gQ1JZUFRPX0FVVEhFTkNfS0VZQV9QQVJBTSkKKwkJZ290byBiYWRrZXk7CisJaWYgKFJUQV9QQVlMT0FEKHJ0YSkgPCBzaXplb2YoKnBhcmFtKSkKKwkJZ290byBiYWRrZXk7CisKKwlwYXJhbSA9IFJUQV9EQVRBKHJ0YSk7CisJY3R4LT5lbmNrZXlfbGVuID0gYmUzMl90b19jcHUocGFyYW0tPmVuY2tleWxlbik7CisKKwlrZXkgKz0gUlRBX0FMSUdOKHJ0YS0+cnRhX2xlbik7CisJa2V5bGVuIC09IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCisJaWYgKGtleWxlbiA8IGN0eC0+ZW5ja2V5X2xlbikKKwkJZ290byBiYWRrZXk7CisKKwljdHgtPmF1dGhrZXlfbGVuID0ga2V5bGVuIC0gY3R4LT5lbmNrZXlfbGVuOworCW1lbWNweShjdHgtPmVuY2tleSwga2V5ICsgY3R4LT5hdXRoa2V5X2xlbiwgY3R4LT5lbmNrZXlfbGVuKTsKKwltZW1jcHkoY3R4LT5hdXRoa2V5LCBrZXksIGN0eC0+YXV0aGtleV9sZW4pOworCisJcmV0dXJuIGFlYWRfc2V0dXAodGZtLCBjcnlwdG9fYWVhZF9hdXRoc2l6ZSh0Zm0pKTsKK2JhZGtleToKKwljdHgtPmVuY2tleV9sZW4gPSAwOworCWNyeXB0b19hZWFkX3NldF9mbGFncyh0Zm0sIENSWVBUT19URk1fUkVTX0JBRF9LRVlfTEVOKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCBhZWFkX2VuY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZShjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKSk7CisJcmV0dXJuIGFlYWRfcGVyZm9ybShyZXEsIDEsIHJlcS0+YXNzb2NsZW4gKyBpdnNpemUsCisJCQlyZXEtPmNyeXB0bGVuLCByZXEtPml2KTsKK30KKworc3RhdGljIGludCBhZWFkX2RlY3J5cHQoc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxKQoreworCXVuc2lnbmVkIGl2c2l6ZSA9IGNyeXB0b19hZWFkX2l2c2l6ZShjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKSk7CisJcmV0dXJuIGFlYWRfcGVyZm9ybShyZXEsIDAsIHJlcS0+YXNzb2NsZW4gKyBpdnNpemUsCisJCQlyZXEtPmNyeXB0bGVuLCByZXEtPml2KTsKK30KKworc3RhdGljIGludCBhZWFkX2dpdmVuY3J5cHQoc3RydWN0IGFlYWRfZ2l2Y3J5cHRfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqdGZtID0gYWVhZF9naXZjcnlwdF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgaXhwX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KHRmbSk7CisJdW5zaWduZWQgbGVuLCBpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUodGZtKTsKKwlfX2JlNjQgc2VxOworCisJLyogY29waWVkIGZyb20gZXNlcWl2LmMgKi8KKwlpZiAoIWN0eC0+c2FsdGVkKSB7CisJCWdldF9yYW5kb21fYnl0ZXMoY3R4LT5zYWx0LCBpdnNpemUpOworCQljdHgtPnNhbHRlZCA9IDE7CisJfQorCW1lbWNweShyZXEtPmFyZXEuaXYsIGN0eC0+c2FsdCwgaXZzaXplKTsKKwlsZW4gPSBpdnNpemU7CisJaWYgKGl2c2l6ZSA+IHNpemVvZih1NjQpKSB7CisJCW1lbXNldChyZXEtPmdpdiwgMCwgaXZzaXplIC0gc2l6ZW9mKHU2NCkpOworCQlsZW4gPSBzaXplb2YodTY0KTsKKwl9CisJc2VxID0gY3B1X3RvX2JlNjQocmVxLT5zZXEpOworCW1lbWNweShyZXEtPmdpdiArIGl2c2l6ZSAtIGxlbiwgJnNlcSwgbGVuKTsKKwlyZXR1cm4gYWVhZF9wZXJmb3JtKCZyZXEtPmFyZXEsIDEsIHJlcS0+YXJlcS5hc3NvY2xlbiwKKwkJCXJlcS0+YXJlcS5jcnlwdGxlbiAraXZzaXplLCByZXEtPmdpdik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXhwX2FsZyBpeHA0eHhfYWxnb3NbXSA9IHsKK3sKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiY2JjKGRlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gREVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCisKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiZWNiKGRlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IERFU19LRVlfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImNiYyhkZXMzX2VkZSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBERVMzX0VERV9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJlY2IoZGVzM19lZGUpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IERFUzNfRURFX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gREVTM19FREVfS0VZX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EXzNERVMgfCBNT0RfRUNCIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0VDQiB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImNiYyhhZXMpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFibGtjaXBoZXIgPSB7CisJCQkubWluX2tleXNpemUJPSBBRVNfTUlOX0tFWV9TSVpFLAorCQkJLm1heF9rZXlzaXplCT0gQUVTX01BWF9LRVlfU0laRSwKKwkJCS5pdnNpemUJCT0gQUVTX0JMT0NLX1NJWkUsCisJCQkuZ2VuaXYJCT0gImVzZXFpdiIsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfRU5DLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfREVDLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJlY2IoYWVzKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQl9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9FQ0IsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfQUVTIHwgTU9EX0VDQiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiY3RyKGFlcykiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IEFFU19CTE9DS19TSVpFLAorCQkuY3JhX3UJCT0geyAuYWJsa2NpcGhlciA9IHsKKwkJCS5taW5fa2V5c2l6ZQk9IEFFU19NSU5fS0VZX1NJWkUsCisJCQkubWF4X2tleXNpemUJPSBBRVNfTUFYX0tFWV9TSVpFLAorCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5nZW5pdgkJPSAiZXNlcWl2IiwKKwkJCX0KKwkJfQorCX0sCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKKwkuY2ZnX2RlYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ1RSLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJyZmMzNjg2KGN0cihhZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hYmxrY2lwaGVyID0geworCQkJLm1pbl9rZXlzaXplCT0gQUVTX01JTl9LRVlfU0laRSwKKwkJCS5tYXhfa2V5c2l6ZQk9IEFFU19NQVhfS0VZX1NJWkUsCisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLmdlbml2CQk9ICJlc2VxaXYiLAorCQkJLnNldGtleQkJPSBhYmxrX3JmYzM2ODZfc2V0a2V5LAorCQkJLmVuY3J5cHQJPSBhYmxrX3JmYzM2ODZfY3J5cHQsCisJCQkuZGVjcnlwdAk9IGFibGtfcmZjMzY4Nl9jcnlwdCB9CisJCX0KKwl9LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DVFIsCisJLmNmZ19kZWMgPSBDSVBIX0VOQ1IgfCBNT0RfQUVTIHwgTU9EX0NUUiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGRlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IERFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19tZDUsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0RFUyB8IE1PRF9DQkNfREVDIHwgS0VZTEVOXzE5MiwKK30sIHsKKwkuY3J5cHRvCT0geworCQkuY3JhX25hbWUJPSAiYXV0aGVuYyhobWFjKG1kNSksY2JjKGRlczNfZWRlKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gTUQ1X0RJR0VTVF9TSVpFLAorCQkJfQorCQl9CisJfSwKKwkuaGFzaCA9ICZoYXNoX2FsZ19tZDUsCisJLmNmZ19lbmMgPSBDSVBIX0VOQ1IgfCBNT0RfM0RFUyB8IE1PRF9DQkNfRU5DIHwgS0VZTEVOXzE5MiwKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGRlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBERVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IERFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfc2hhMSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9ERVMgfCBNT0RfQ0JDX0VOQyB8IEtFWUxFTl8xOTIsCisJLmNmZ19kZWMgPSBDSVBIX0RFQ1IgfCBNT0RfREVTIHwgTU9EX0NCQ19ERUMgfCBLRVlMRU5fMTkyLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGRlczNfZWRlKSkiLAorCQkuY3JhX2Jsb2Nrc2l6ZQk9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfc2hhMSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF8zREVTIHwgTU9EX0NCQ19FTkMgfCBLRVlMRU5fMTkyLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EXzNERVMgfCBNT0RfQ0JDX0RFQyB8IEtFWUxFTl8xOTIsCit9LCB7CisJLmNyeXB0bwk9IHsKKwkJLmNyYV9uYW1lCT0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhhZXMpKSIsCisJCS5jcmFfYmxvY2tzaXplCT0gQUVTX0JMT0NLX1NJWkUsCisJCS5jcmFfdQkJPSB7IC5hZWFkID0geworCQkJLml2c2l6ZQkJPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZQk9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfbWQ1LAorCS5jZmdfZW5jID0gQ0lQSF9FTkNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfRU5DLAorCS5jZmdfZGVjID0gQ0lQSF9ERUNSIHwgTU9EX0FFUyB8IE1PRF9DQkNfREVDLAorfSwgeworCS5jcnlwdG8JPSB7CisJCS5jcmFfbmFtZQk9ICJhdXRoZW5jKGhtYWMoc2hhMSksY2JjKGFlcykpIiwKKwkJLmNyYV9ibG9ja3NpemUJPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmNyYV91CQk9IHsgLmFlYWQgPSB7CisJCQkuaXZzaXplCQk9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplCT0gU0hBMV9ESUdFU1RfU0laRSwKKwkJCX0KKwkJfQorCX0sCisJLmhhc2ggPSAmaGFzaF9hbGdfc2hhMSwKKwkuY2ZnX2VuYyA9IENJUEhfRU5DUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0VOQywKKwkuY2ZnX2RlYyA9IENJUEhfREVDUiB8IE1PRF9BRVMgfCBNT0RfQ0JDX0RFQywKK30gfTsKKworI2RlZmluZSBJWFBfUE9TVEZJWCAiLWl4cDR4eCIKK3N0YXRpYyBpbnQgX19pbml0IGl4cF9tb2R1bGVfaW5pdCh2b2lkKQoreworCWludCBudW0gPSBBUlJBWV9TSVpFKGl4cDR4eF9hbGdvcyk7CisJaW50IGksZXJyIDsKKworCWlmIChwbGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXIoJnBzZXVkb19kZXYpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCXNwaW5fbG9ja19pbml0KCZkZXNjX2xvY2spOworCXNwaW5fbG9ja19pbml0KCZlbWVyZ19sb2NrKTsKKworCWVyciA9IGluaXRfaXhwX2NyeXB0bygpOworCWlmIChlcnIpIHsKKwkJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoJnBzZXVkb19kZXYpOworCQlyZXR1cm4gZXJyOworCX0KKwlmb3IgKGk9MDsgaTwgbnVtOyBpKyspIHsKKwkJc3RydWN0IGNyeXB0b19hbGcgKmNyYSA9ICZpeHA0eHhfYWxnb3NbaV0uY3J5cHRvOworCisJCWlmIChzbnByaW50ZihjcmEtPmNyYV9kcml2ZXJfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwKKwkJCSIlcyJJWFBfUE9TVEZJWCwgY3JhLT5jcmFfbmFtZSkgPj0KKwkJCUNSWVBUT19NQVhfQUxHX05BTUUpCisJCXsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghc3VwcG9ydF9hZXMgJiYgKGl4cDR4eF9hbGdvc1tpXS5jZmdfZW5jICYgTU9EX0FFUykpIHsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghaXhwNHh4X2FsZ29zW2ldLmhhc2gpIHsKKwkJCS8qIGJsb2NrIGNpcGhlcnMgKi8KKwkJCWNyYS0+Y3JhX3R5cGUgPSAmY3J5cHRvX2FibGtjaXBoZXJfdHlwZTsKKwkJCWNyYS0+Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FCTEtDSVBIRVIgfAorCQkJCQkgQ1JZUFRPX0FMR19BU1lOQzsKKwkJCWlmICghY3JhLT5jcmFfYWJsa2NpcGhlci5zZXRrZXkpCisJCQkJY3JhLT5jcmFfYWJsa2NpcGhlci5zZXRrZXkgPSBhYmxrX3NldGtleTsKKwkJCWlmICghY3JhLT5jcmFfYWJsa2NpcGhlci5lbmNyeXB0KQorCQkJCWNyYS0+Y3JhX2FibGtjaXBoZXIuZW5jcnlwdCA9IGFibGtfZW5jcnlwdDsKKwkJCWlmICghY3JhLT5jcmFfYWJsa2NpcGhlci5kZWNyeXB0KQorCQkJCWNyYS0+Y3JhX2FibGtjaXBoZXIuZGVjcnlwdCA9IGFibGtfZGVjcnlwdDsKKwkJCWNyYS0+Y3JhX2luaXQgPSBpbml0X3RmbV9hYmxrOworCQl9IGVsc2UgeworCQkJLyogYXV0aGVuYyAqLworCQkJY3JhLT5jcmFfdHlwZSA9ICZjcnlwdG9fYWVhZF90eXBlOworCQkJY3JhLT5jcmFfZmxhZ3MgPSBDUllQVE9fQUxHX1RZUEVfQUVBRCB8CisJCQkJCSBDUllQVE9fQUxHX0FTWU5DOworCQkJY3JhLT5jcmFfYWVhZC5zZXRrZXkgPSBhZWFkX3NldGtleTsKKwkJCWNyYS0+Y3JhX2FlYWQuc2V0YXV0aHNpemUgPSBhZWFkX3NldGF1dGhzaXplOworCQkJY3JhLT5jcmFfYWVhZC5lbmNyeXB0ID0gYWVhZF9lbmNyeXB0OworCQkJY3JhLT5jcmFfYWVhZC5kZWNyeXB0ID0gYWVhZF9kZWNyeXB0OworCQkJY3JhLT5jcmFfYWVhZC5naXZlbmNyeXB0ID0gYWVhZF9naXZlbmNyeXB0OworCQkJY3JhLT5jcmFfaW5pdCA9IGluaXRfdGZtX2FlYWQ7CisJCX0KKwkJY3JhLT5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgaXhwX2N0eCk7CisJCWNyYS0+Y3JhX21vZHVsZSA9IFRISVNfTU9EVUxFOworCQljcmEtPmNyYV9hbGlnbm1hc2sgPSAzOworCQljcmEtPmNyYV9wcmlvcml0eSA9IDMwMDsKKwkJY3JhLT5jcmFfZXhpdCA9IGV4aXRfdGZtOworCQlpZiAoY3J5cHRvX3JlZ2lzdGVyX2FsZyhjcmEpKQorCQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gcmVnaXN0ZXIgJyVzJ1xuIiwKKwkJCQljcmEtPmNyYV9uYW1lKTsKKwkJZWxzZQorCQkJaXhwNHh4X2FsZ29zW2ldLnJlZ2lzdGVyZWQgPSAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGl4cF9tb2R1bGVfZXhpdCh2b2lkKQoreworCWludCBudW0gPSBBUlJBWV9TSVpFKGl4cDR4eF9hbGdvcyk7CisJaW50IGk7CisKKwlmb3IgKGk9MDsgaTwgbnVtOyBpKyspIHsKKwkJaWYgKGl4cDR4eF9hbGdvc1tpXS5yZWdpc3RlcmVkKQorCQkJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZpeHA0eHhfYWxnb3NbaV0uY3J5cHRvKTsKKwl9CisJcmVsZWFzZV9peHBfY3J5cHRvKCk7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoJnBzZXVkb19kZXYpOworfQorCittb2R1bGVfaW5pdChpeHBfbW9kdWxlX2luaXQpOworbW9kdWxlX2V4aXQoaXhwX21vZHVsZV9leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0FVVEhPUigiQ2hyaXN0aWFuIEhvaG5zdGFlZHQgPGNob2huc3RhZWR0QGlubm9taW5hdGUuY29tPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJJWFA0eHggaGFyZHdhcmUgY3J5cHRvIik7CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMgYi9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLWFlcy5jCmluZGV4IGJiMzBlYjkuLjU0YTJhMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stYWVzLmMKKysrIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1hZXMuYwpAQCAtMzg1LDEyICszODUsMTIgQEAKIAlpbnQgcmV0OwogCiAJaWYgKCFjcHVfaGFzX3hjcnlwdCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBub3QgZGV0ZWN0ZWQuXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgbm90IGRldGVjdGVkLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAogCWlmICghY3B1X2hhc194Y3J5cHRfZW5hYmxlZCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOworCQlwcmludGsoS0VSTl9OT1RJQ0UgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMgYi9kcml2ZXJzL2NyeXB0by9wYWRsb2NrLXNoYS5jCmluZGV4IGM2NjZiNGUuLjQwZDU2ODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3J5cHRvL3BhZGxvY2stc2hhLmMKKysrIGIvZHJpdmVycy9jcnlwdG8vcGFkbG9jay1zaGEuYwpAQCAtMjU0LDEyICsyNTQsMTIgQEAKIAlpbnQgcmMgPSAtRU5PREVWOwogCiAJaWYgKCFjcHVfaGFzX3BoZSkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBIYXNoIEVuZ2luZSBub3QgZGV0ZWN0ZWQuXG4iKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFIFBGWCAiVklBIFBhZExvY2sgSGFzaCBFbmdpbmUgbm90IGRldGVjdGVkLlxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAogCWlmICghY3B1X2hhc19waGVfZW5hYmxlZCkgewotCQlwcmludGsoS0VSTl9FUlIgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOworCQlwcmludGsoS0VSTl9OT1RJQ0UgUEZYICJWSUEgUGFkTG9jayBkZXRlY3RlZCwgYnV0IG5vdCBlbmFibGVkLiBIbW0sIHN0cmFuZ2UuLi5cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuYyBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTE5NDNkCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5jCkBAIC0wLDAgKzEsMTU5NyBAQAorLyoKKyAqIHRhbGl0b3MgLSBGcmVlc2NhbGUgSW50ZWdyYXRlZCBTZWN1cml0eSBFbmdpbmUgKFNFQykgZGV2aWNlIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwOCBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLgorICoKKyAqIFNjYXR0ZXJsaXN0IENyeXB0byBBUEkgZ2x1ZSBjb2RlIGNvcGllZCBmcm9tIGZpbGVzIHdpdGggdGhlIGZvbGxvd2luZzoKKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDA3IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KKyAqCisgKiBDcnlwdG8gYWxnb3JpdGhtIHJlZ2lzdHJhdGlvbiBjb2RlIGNvcGllZCBmcm9tIGhpZm4gZHJpdmVyOgorICogMjAwNysgQ29weXJpZ2h0IChjKSBFdmdlbml5IFBvbHlha292IDxqb2hucG9sQDJrYS5taXB0LnJ1PgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorI2luY2x1ZGUgPGxpbnV4L2h3X3JhbmRvbS5oPgorI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+CisKKyNpbmNsdWRlIDxjcnlwdG8vYWxnYXBpLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2Flcy5oPgorI2luY2x1ZGUgPGNyeXB0by9kZXMuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2hhLmg+CisjaW5jbHVkZSA8Y3J5cHRvL2FlYWQuaD4KKyNpbmNsdWRlIDxjcnlwdG8vYXV0aGVuYy5oPgorCisjaW5jbHVkZSAidGFsaXRvcy5oIgorCisjZGVmaW5lIFRBTElUT1NfVElNRU9VVCAxMDAwMDAKKyNkZWZpbmUgVEFMSVRPU19NQVhfREFUQV9MRU4gNjU1MzUKKworI2RlZmluZSBERVNDX1RZUEUoZGVzY19oZHIpICgoYmUzMl90b19jcHUoZGVzY19oZHIpID4+IDMpICYgMHgxZikKKyNkZWZpbmUgUFJJTUFSWV9FVShkZXNjX2hkcikgKChiZTMyX3RvX2NwdShkZXNjX2hkcikgPj4gMjgpICYgMHhmKQorI2RlZmluZSBTRUNPTkRBUllfRVUoZGVzY19oZHIpICgoYmUzMl90b19jcHUoZGVzY19oZHIpID4+IDE2KSAmIDB4ZikKKworLyogZGVzY3JpcHRvciBwb2ludGVyIGVudHJ5ICovCitzdHJ1Y3QgdGFsaXRvc19wdHIgeworCV9fYmUxNiBsZW47CS8qIGxlbmd0aCAqLworCXU4IGpfZXh0ZW50OwkvKiBqdW1wIHRvIHNnIGxpbmsgdGFibGUgYW5kL29yIGV4dGVudCAqLworCXU4IGVwdHI7CS8qIGV4dGVuZGVkIGFkZHJlc3MgKi8KKwlfX2JlMzIgcHRyOwkvKiBhZGRyZXNzICovCit9OworCisvKiBkZXNjcmlwdG9yICovCitzdHJ1Y3QgdGFsaXRvc19kZXNjIHsKKwlfX2JlMzIgaGRyOwkJCS8qIGhlYWRlciBoaWdoIGJpdHMgKi8KKwlfX2JlMzIgaGRyX2xvOwkJCS8qIGhlYWRlciBsb3cgYml0cyAqLworCXN0cnVjdCB0YWxpdG9zX3B0ciBwdHJbN107CS8qIHB0ci9sZW4gcGFpciBhcnJheSAqLworfTsKKworLyoqCisgKiB0YWxpdG9zX3JlcXVlc3QgLSBkZXNjcmlwdG9yIHN1Ym1pc3Npb24gcmVxdWVzdAorICogQGRlc2M6IGRlc2NyaXB0b3IgcG9pbnRlciAoa2VybmVsIHZpcnR1YWwpCisgKiBAZG1hX2Rlc2M6IGRlc2NyaXB0b3IncyBwaHlzaWNhbCBidXMgYWRkcmVzcworICogQGNhbGxiYWNrOiB3aG9tIHRvIGNhbGwgd2hlbiBkZXNjcmlwdG9yIHByb2Nlc3NpbmcgaXMgZG9uZQorICogQGNvbnRleHQ6IGNhbGxlciBjb250ZXh0IChvcHRpb25hbCkKKyAqLworc3RydWN0IHRhbGl0b3NfcmVxdWVzdCB7CisJc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYzsKKwlkbWFfYWRkcl90IGRtYV9kZXNjOworCXZvaWQgKCpjYWxsYmFjaykgKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywKKwkgICAgICAgICAgICAgICAgICB2b2lkICpjb250ZXh0LCBpbnQgZXJyb3IpOworCXZvaWQgKmNvbnRleHQ7Cit9OworCitzdHJ1Y3QgdGFsaXRvc19wcml2YXRlIHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJc3RydWN0IG9mX2RldmljZSAqb2ZkZXY7CisJdm9pZCBfX2lvbWVtICpyZWc7CisJaW50IGlycTsKKworCS8qIFNFQyB2ZXJzaW9uIGdlb21ldHJ5IChmcm9tIGRldmljZSB0cmVlIG5vZGUpICovCisJdW5zaWduZWQgaW50IG51bV9jaGFubmVsczsKKwl1bnNpZ25lZCBpbnQgY2hmaWZvX2xlbjsKKwl1bnNpZ25lZCBpbnQgZXhlY191bml0czsKKwl1bnNpZ25lZCBpbnQgZGVzY190eXBlczsKKworCS8qIG5leHQgY2hhbm5lbCB0byBiZSBhc3NpZ25lZCBuZXh0IGluY29taW5nIGRlc2NyaXB0b3IgKi8KKwlhdG9taWNfdCBsYXN0X2NoYW47CisKKwkvKiBwZXItY2hhbm5lbCByZXF1ZXN0IGZpZm8gKi8KKwlzdHJ1Y3QgdGFsaXRvc19yZXF1ZXN0ICoqZmlmbzsKKworCS8qCisJICogbGVuZ3RoIG9mIHRoZSByZXF1ZXN0IGZpZm8KKwkgKiBmaWZvX2xlbiBpcyBjaGZpZm9fbGVuIHJvdW5kZWQgdXAgdG8gbmV4dCBwb3dlciBvZiAyCisJICogc28gd2UgY2FuIHVzZSBiaXR3aXNlIG9wcyB0byB3cmFwCisJICovCisJdW5zaWduZWQgaW50IGZpZm9fbGVuOworCisJLyogcGVyLWNoYW5uZWwgaW5kZXggdG8gbmV4dCBmcmVlIGRlc2NyaXB0b3IgcmVxdWVzdCAqLworCWludCAqaGVhZDsKKworCS8qIHBlci1jaGFubmVsIGluZGV4IHRvIG5leHQgaW4tcHJvZ3Jlc3MvZG9uZSBkZXNjcmlwdG9yIHJlcXVlc3QgKi8KKwlpbnQgKnRhaWw7CisKKwkvKiBwZXItY2hhbm5lbCByZXF1ZXN0IHN1Ym1pc3Npb24gKGhlYWQpIGFuZCByZWxlYXNlICh0YWlsKSBsb2NrcyAqLworCXNwaW5sb2NrX3QgKmhlYWRfbG9jazsKKwlzcGlubG9ja190ICp0YWlsX2xvY2s7CisKKwkvKiByZXF1ZXN0IGNhbGxiYWNrIHRhc2tsZXQgKi8KKwlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgZG9uZV90YXNrOworCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBlcnJvcl90YXNrOworCisJLyogbGlzdCBvZiByZWdpc3RlcmVkIGFsZ29yaXRobXMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGFsZ19saXN0OworCisJLyogaHdybmcgZGV2aWNlICovCisJc3RydWN0IGh3cm5nIHJuZzsKK307CisKKy8qCisgKiBtYXAgdmlydHVhbCBzaW5nbGUgKGNvbnRpZ3VvdXMpIHBvaW50ZXIgdG8gaC93IGRlc2NyaXB0b3IgcG9pbnRlcgorICovCitzdGF0aWMgdm9pZCBtYXBfc2luZ2xlX3RhbGl0b3NfcHRyKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgdGFsaXRvc19wdHIgKnRhbGl0b3NfcHRyLAorCQkJCSAgIHVuc2lnbmVkIHNob3J0IGxlbiwgdm9pZCAqZGF0YSwKKwkJCQkgICB1bnNpZ25lZCBjaGFyIGV4dGVudCwKKwkJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCit7CisJdGFsaXRvc19wdHItPmxlbiA9IGNwdV90b19iZTE2KGxlbik7CisJdGFsaXRvc19wdHItPnB0ciA9IGNwdV90b19iZTMyKGRtYV9tYXBfc2luZ2xlKGRldiwgZGF0YSwgbGVuLCBkaXIpKTsKKwl0YWxpdG9zX3B0ci0+al9leHRlbnQgPSBleHRlbnQ7Cit9CisKKy8qCisgKiB1bm1hcCBidXMgc2luZ2xlIChjb250aWd1b3VzKSBoL3cgZGVzY3JpcHRvciBwb2ludGVyCisgKi8KK3N0YXRpYyB2b2lkIHVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgICBzdHJ1Y3QgdGFsaXRvc19wdHIgKnRhbGl0b3NfcHRyLAorCQkJCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQoreworCWRtYV91bm1hcF9zaW5nbGUoZGV2LCBiZTMyX3RvX2NwdSh0YWxpdG9zX3B0ci0+cHRyKSwKKwkJCSBiZTE2X3RvX2NwdSh0YWxpdG9zX3B0ci0+bGVuKSwgZGlyKTsKK30KKworc3RhdGljIGludCByZXNldF9jaGFubmVsKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoKQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpLCBUQUxJVE9TX0NDQ1JfUkVTRVQpOworCisJd2hpbGUgKChpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUihjaCkpICYgVEFMSVRPU19DQ0NSX1JFU0VUKQorCSAgICAgICAmJiAtLXRpbWVvdXQpCisJCWNwdV9yZWxheCgpOworCisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXNldCBjaGFubmVsICVkXG4iLCBjaCk7CisJCXJldHVybiAtRUlPOworCX0KKworCS8qIHNldCBkb25lIHdyaXRlYmFjayBhbmQgSVJRICovCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUl9MTyhjaCksIFRBTElUT1NfQ0NDUl9MT19DRFdFIHwKKwkJICBUQUxJVE9TX0NDQ1JfTE9fQ0RJRSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCByZXNldF9kZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX01DUiwgVEFMSVRPU19NQ1JfU1dSKTsKKworCXdoaWxlICgoaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01DUikgJiBUQUxJVE9TX01DUl9TV1IpCisJICAgICAgICYmIC0tdGltZW91dCkKKwkJY3B1X3JlbGF4KCk7CisKKwlpZiAodGltZW91dCA9PSAwKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlc2V0IGRldmljZVxuIik7CisJCXJldHVybiAtRUlPOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogUmVzZXQgYW5kIGluaXRpYWxpemUgdGhlIGRldmljZQorICovCitzdGF0aWMgaW50IGluaXRfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IGNoLCBlcnI7CisKKwkvKgorCSAqIE1hc3RlciByZXNldAorCSAqIGVycmF0YSBkb2N1bWVudGF0aW9uOiB3YXJuaW5nOiBjZXJ0YWluIFNFQyBpbnRlcnJ1cHRzCisJICogYXJlIG5vdCBmdWxseSBjbGVhcmVkIGJ5IHdyaXRpbmcgdGhlIE1DUjpTV1IgYml0LAorCSAqIHNldCBiaXQgdHdpY2UgdG8gY29tcGxldGVseSByZXNldAorCSAqLworCWVyciA9IHJlc2V0X2RldmljZShkZXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwllcnIgPSByZXNldF9kZXZpY2UoZGV2KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJLyogcmVzZXQgY2hhbm5lbHMgKi8KKwlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspIHsKKwkJZXJyID0gcmVzZXRfY2hhbm5lbChkZXYsIGNoKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7CisJfQorCisJLyogZW5hYmxlIGNoYW5uZWwgZG9uZSBhbmQgZXJyb3IgaW50ZXJydXB0cyAqLworCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lNUiwgVEFMSVRPU19JTVJfSU5JVCk7CisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfSU1SX0xPLCBUQUxJVE9TX0lNUl9MT19JTklUKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIHRhbGl0b3Nfc3VibWl0IC0gc3VibWl0cyBhIGRlc2NyaXB0b3IgdG8gdGhlIGRldmljZSBmb3IgcHJvY2Vzc2luZworICogQGRldjoJdGhlIFNFQyBkZXZpY2UgdG8gYmUgdXNlZAorICogQGRlc2M6CXRoZSBkZXNjcmlwdG9yIHRvIGJlIHByb2Nlc3NlZCBieSB0aGUgZGV2aWNlCisgKiBAY2FsbGJhY2s6CXdob20gdG8gY2FsbCB3aGVuIHByb2Nlc3NpbmcgaXMgY29tcGxldGUKKyAqIEBjb250ZXh0OglhIGhhbmRsZSBmb3IgdXNlIGJ5IGNhbGxlciAob3B0aW9uYWwpCisgKgorICogZGVzYyBtdXN0IGNvbnRhaW4gdmFsaWQgZG1hLW1hcHBlZCAoYnVzIHBoeXNpY2FsKSBhZGRyZXNzIHBvaW50ZXJzLgorICogY2FsbGJhY2sgbXVzdCBjaGVjayBlcnIgYW5kIGZlZWRiYWNrIGluIGRlc2NyaXB0b3IgaGVhZGVyCisgKiBmb3IgZGV2aWNlIHByb2Nlc3Npbmcgc3RhdHVzLgorICovCitzdGF0aWMgaW50IHRhbGl0b3Nfc3VibWl0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHRhbGl0b3NfZGVzYyAqZGVzYywKKwkJCSAgdm9pZCAoKmNhbGxiYWNrKShzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSAgIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJCQkJCSAgIHZvaWQgKmNvbnRleHQsIGludCBlcnJvciksCisJCQkgIHZvaWQgKmNvbnRleHQpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKnJlcXVlc3Q7CisJdW5zaWduZWQgbG9uZyBmbGFncywgY2g7CisJaW50IGhlYWQ7CisKKwkvKiBzZWxlY3QgZG9uZSBub3RpZmljYXRpb24gKi8KKwlkZXNjLT5oZHIgfD0gREVTQ19IRFJfRE9ORV9OT1RJRlk7CisKKwkvKiBlbXVsYXRlIFNFQydzIHJvdW5kLXJvYmluIGNoYW5uZWwgZmlmbyBwb2xsaW5nIHNjaGVtZSAqLworCWNoID0gYXRvbWljX2luY19yZXR1cm4oJnByaXYtPmxhc3RfY2hhbikgJiAocHJpdi0+bnVtX2NoYW5uZWxzIC0gMSk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+aGVhZF9sb2NrW2NoXSwgZmxhZ3MpOworCisJaGVhZCA9IHByaXYtPmhlYWRbY2hdOworCXJlcXVlc3QgPSAmcHJpdi0+Zmlmb1tjaF1baGVhZF07CisKKwlpZiAocmVxdWVzdC0+ZGVzYykgeworCQkvKiByZXF1ZXN0IHF1ZXVlIGlzIGZ1bGwgKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+aGVhZF9sb2NrW2NoXSwgZmxhZ3MpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisKKwkvKiBtYXAgZGVzY3JpcHRvciBhbmQgc2F2ZSBjYWxsZXIgZGF0YSAqLworCXJlcXVlc3QtPmRtYV9kZXNjID0gZG1hX21hcF9zaW5nbGUoZGV2LCBkZXNjLCBzaXplb2YoKmRlc2MpLAorCQkJCQkgICBETUFfQklESVJFQ1RJT05BTCk7CisJcmVxdWVzdC0+Y2FsbGJhY2sgPSBjYWxsYmFjazsKKwlyZXF1ZXN0LT5jb250ZXh0ID0gY29udGV4dDsKKworCS8qIGluY3JlbWVudCBmaWZvIGhlYWQgKi8KKwlwcml2LT5oZWFkW2NoXSA9IChwcml2LT5oZWFkW2NoXSArIDEpICYgKHByaXYtPmZpZm9fbGVuIC0gMSk7CisKKwlzbXBfd21iKCk7CisJcmVxdWVzdC0+ZGVzYyA9IGRlc2M7CisKKwkvKiBHTyEgKi8KKwl3bWIoKTsKKwlvdXRfYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0ZGX0xPKGNoKSwgcmVxdWVzdC0+ZG1hX2Rlc2MpOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+aGVhZF9sb2NrW2NoXSwgZmxhZ3MpOworCisJcmV0dXJuIC1FSU5QUk9HUkVTUzsKK30KKworLyoKKyAqIHByb2Nlc3Mgd2hhdCB3YXMgZG9uZSwgbm90aWZ5IGNhbGxiYWNrIG9mIGVycm9yIGlmIG5vdAorICovCitzdGF0aWMgdm9pZCBmbHVzaF9jaGFubmVsKHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IGNoLCBpbnQgZXJyb3IsIGludCByZXNldF9jaCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHRhbGl0b3NfcmVxdWVzdCAqcmVxdWVzdCwgc2F2ZWRfcmVxOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJaW50IHRhaWwsIHN0YXR1czsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT50YWlsX2xvY2tbY2hdLCBmbGFncyk7CisKKwl0YWlsID0gcHJpdi0+dGFpbFtjaF07CisJd2hpbGUgKHByaXYtPmZpZm9bY2hdW3RhaWxdLmRlc2MpIHsKKwkJcmVxdWVzdCA9ICZwcml2LT5maWZvW2NoXVt0YWlsXTsKKworCQkvKiBkZXNjcmlwdG9ycyB3aXRoIHRoZWlyIGRvbmUgYml0cyBzZXQgZG9uJ3QgZ2V0IHRoZSBlcnJvciAqLworCQlybWIoKTsKKwkJaWYgKChyZXF1ZXN0LT5kZXNjLT5oZHIgJiBERVNDX0hEUl9ET05FKSA9PSBERVNDX0hEUl9ET05FKQorCQkJc3RhdHVzID0gMDsKKwkJZWxzZQorCQkJaWYgKCFlcnJvcikKKwkJCQlicmVhazsKKwkJCWVsc2UKKwkJCQlzdGF0dXMgPSBlcnJvcjsKKworCQlkbWFfdW5tYXBfc2luZ2xlKGRldiwgcmVxdWVzdC0+ZG1hX2Rlc2MsCisJCQlzaXplb2Yoc3RydWN0IHRhbGl0b3NfZGVzYyksIERNQV9CSURJUkVDVElPTkFMKTsKKworCQkvKiBjb3B5IGVudHJpZXMgc28gd2UgY2FuIGNhbGwgY2FsbGJhY2sgb3V0c2lkZSBsb2NrICovCisJCXNhdmVkX3JlcS5kZXNjID0gcmVxdWVzdC0+ZGVzYzsKKwkJc2F2ZWRfcmVxLmNhbGxiYWNrID0gcmVxdWVzdC0+Y2FsbGJhY2s7CisJCXNhdmVkX3JlcS5jb250ZXh0ID0gcmVxdWVzdC0+Y29udGV4dDsKKworCQkvKiByZWxlYXNlIHJlcXVlc3QgZW50cnkgaW4gZmlmbyAqLworCQlzbXBfd21iKCk7CisJCXJlcXVlc3QtPmRlc2MgPSBOVUxMOworCisJCS8qIGluY3JlbWVudCBmaWZvIHRhaWwgKi8KKwkJcHJpdi0+dGFpbFtjaF0gPSAodGFpbCArIDEpICYgKHByaXYtPmZpZm9fbGVuIC0gMSk7CisKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdi0+dGFpbF9sb2NrW2NoXSwgZmxhZ3MpOworCQlzYXZlZF9yZXEuY2FsbGJhY2soZGV2LCBzYXZlZF9yZXEuZGVzYywgc2F2ZWRfcmVxLmNvbnRleHQsCisJCQkJICAgc3RhdHVzKTsKKwkJLyogY2hhbm5lbCBtYXkgcmVzdW1lIHByb2Nlc3NpbmcgaW4gc2luZ2xlIGRlc2MgZXJyb3IgY2FzZSAqLworCQlpZiAoZXJyb3IgJiYgIXJlc2V0X2NoICYmIHN0YXR1cyA9PSBlcnJvcikKKwkJCXJldHVybjsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKKwkJdGFpbCA9IHByaXYtPnRhaWxbY2hdOworCX0KKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPnRhaWxfbG9ja1tjaF0sIGZsYWdzKTsKK30KKworLyoKKyAqIHByb2Nlc3MgY29tcGxldGVkIHJlcXVlc3RzIGZvciBjaGFubmVscyB0aGF0IGhhdmUgZG9uZSBzdGF0dXMKKyAqLworc3RhdGljIHZvaWQgdGFsaXRvc19kb25lKHVuc2lnbmVkIGxvbmcgZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKWRhdGE7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCBjaDsKKworCWZvciAoY2ggPSAwOyBjaCA8IHByaXYtPm51bV9jaGFubmVsczsgY2grKykKKwkJZmx1c2hfY2hhbm5lbChkZXYsIGNoLCAwLCAwKTsKK30KKworLyoKKyAqIGxvY2F0ZSBjdXJyZW50IChvZmZlbmRpbmcpIGRlc2NyaXB0b3IKKyAqLworc3RhdGljIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmN1cnJlbnRfZGVzYyhzdHJ1Y3QgZGV2aWNlICpkZXYsIGludCBjaCkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IHRhaWwgPSBwcml2LT50YWlsW2NoXTsKKwlkbWFfYWRkcl90IGN1cl9kZXNjOworCisJY3VyX2Rlc2MgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0RQUl9MTyhjaCkpOworCisJd2hpbGUgKHByaXYtPmZpZm9bY2hdW3RhaWxdLmRtYV9kZXNjICE9IGN1cl9kZXNjKSB7CisJCXRhaWwgPSAodGFpbCArIDEpICYgKHByaXYtPmZpZm9fbGVuIC0gMSk7CisJCWlmICh0YWlsID09IHByaXYtPnRhaWxbY2hdKSB7CisJCQlkZXZfZXJyKGRldiwgImNvdWxkbid0IGxvY2F0ZSBjdXJyZW50IGRlc2NyaXB0b3JcbiIpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwlyZXR1cm4gcHJpdi0+Zmlmb1tjaF1bdGFpbF0uZGVzYzsKK30KKworLyoKKyAqIHVzZXIgZGlhZ25vc3RpY3M7IHJlcG9ydCByb290IGNhdXNlIG9mIGVycm9yIGJhc2VkIG9uIGV4ZWN1dGlvbiB1bml0IHN0YXR1cworICovCitzdGF0aWMgdm9pZCByZXBvcnRfZXVfZXJyb3Ioc3RydWN0IGRldmljZSAqZGV2LCBpbnQgY2gsIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCBpOworCisJc3dpdGNoIChkZXNjLT5oZHIgJiBERVNDX0hEUl9TRUwwX01BU0spIHsKKwljYXNlIERFU0NfSERSX1NFTDBfQUZFVToKKwkJZGV2X2VycihkZXYsICJBRkVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FGRVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0FGRVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0RFVToKKwkJZGV2X2VycihkZXYsICJERVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfREVVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX01ERVVBOgorCWNhc2UgREVTQ19IRFJfU0VMMF9NREVVQjoKKwkJZGV2X2VycihkZXYsICJNREVVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX01ERVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX1JORzoKKwkJZGV2X2VycihkZXYsICJSTkdVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX1BLRVU6CisJCWRldl9lcnIoZGV2LCAiUEtFVUlTUiAweCUwOHhfJTA4eFxuIiwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19QS0VVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19QS0VVSVNSX0xPKSk7CisJCWJyZWFrOworCWNhc2UgREVTQ19IRFJfU0VMMF9BRVNVOgorCQlkZXZfZXJyKGRldiwgIkFFU1VJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQUVTVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQUVTVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDBfQ1JDVToKKwkJZGV2X2VycihkZXYsICJDUkNVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJY2FzZSBERVNDX0hEUl9TRUwwX0tFVToKKwkJZGV2X2VycihkZXYsICJLRVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfS0VVSVNSKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19LRVVJU1JfTE8pKTsKKwkJYnJlYWs7CisJfQorCisJc3dpdGNoIChkZXNjLT5oZHIgJiBERVNDX0hEUl9TRUwxX01BU0spIHsKKwljYXNlIERFU0NfSERSX1NFTDFfTURFVUE6CisJY2FzZSBERVNDX0hEUl9TRUwxX01ERVVCOgorCQlkZXZfZXJyKGRldiwgIk1ERVVJU1IgMHglMDh4XyUwOHhcbiIsCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTURFVUlTUiksCisJCQlpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfTURFVUlTUl9MTykpOworCQlicmVhazsKKwljYXNlIERFU0NfSERSX1NFTDFfQ1JDVToKKwkJZGV2X2VycihkZXYsICJDUkNVSVNSIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1IpLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NSQ1VJU1JfTE8pKTsKKwkJYnJlYWs7CisJfQorCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykKKwkJZGV2X2VycihkZXYsICJERVNDQlVGIDB4JTA4eF8lMDh4XG4iLAorCQkJaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0RFU0NCVUYoY2gpICsgOCppKSwKKwkJCWluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19ERVNDQlVGX0xPKGNoKSArIDgqaSkpOworfQorCisvKgorICogcmVjb3ZlciBmcm9tIGVycm9yIGludGVycnVwdHMKKyAqLworc3RhdGljIHZvaWQgdGFsaXRvc19lcnJvcih1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilkYXRhOworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwl1bnNpZ25lZCBpbnQgdGltZW91dCA9IFRBTElUT1NfVElNRU9VVDsKKwlpbnQgY2gsIGVycm9yLCByZXNldF9kZXYgPSAwLCByZXNldF9jaCA9IDA7CisJdTMyIGlzciwgaXNyX2xvLCB2LCB2X2xvOworCisJaXNyID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lTUik7CisJaXNyX2xvID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0lTUl9MTyk7CisKKwlmb3IgKGNoID0gMDsgY2ggPCBwcml2LT5udW1fY2hhbm5lbHM7IGNoKyspIHsKKwkJLyogc2tpcCBjaGFubmVscyB3aXRob3V0IGVycm9ycyAqLworCQlpZiAoIShpc3IgJiAoMSA8PCAoY2ggKiAyICsgMSkpKSkKKwkJCWNvbnRpbnVlOworCisJCWVycm9yID0gLUVJTlZBTDsKKworCQl2ID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDUFNSKGNoKSk7CisJCXZfbG8gPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NQU1JfTE8oY2gpKTsKKworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fRE9GKSB7CisJCQlkZXZfZXJyKGRldiwgImRvdWJsZSBmZXRjaCBmaWZvIG92ZXJmbG93IGVycm9yXG4iKTsKKwkJCWVycm9yID0gLUVBR0FJTjsKKwkJCXJlc2V0X2NoID0gMTsKKwkJfQorCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU09GKSB7CisJCQkvKiBoL3cgZHJvcHBlZCBkZXNjcmlwdG9yICovCisJCQlkZXZfZXJyKGRldiwgInNpbmdsZSBmZXRjaCBmaWZvIG92ZXJmbG93IGVycm9yXG4iKTsKKwkJCWVycm9yID0gLUVBR0FJTjsKKwkJfQorCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fTURURSkKKwkJCWRldl9lcnIoZGV2LCAibWFzdGVyIGRhdGEgdHJhbnNmZXIgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fU0dETFopCisJCQlkZXZfZXJyKGRldiwgInMvZyBkYXRhIGxlbmd0aCB6ZXJvIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0ZQWikKKwkJCWRldl9lcnIoZGV2LCAiZmV0Y2ggcG9pbnRlciB6ZXJvIGVycm9yXG4iKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0lESCkKKwkJCWRldl9lcnIoZGV2LCAiaWxsZWdhbCBkZXNjcmlwdG9yIGhlYWRlciBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19JRVUpCisJCQlkZXZfZXJyKGRldiwgImludmFsaWQgZXhlY3V0aW9uIHVuaXQgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fRVUpCisJCQlyZXBvcnRfZXVfZXJyb3IoZGV2LCBjaCwgY3VycmVudF9kZXNjKGRldiwgY2gpKTsKKwkJaWYgKHZfbG8gJiBUQUxJVE9TX0NDUFNSX0xPX0dCKQorCQkJZGV2X2VycihkZXYsICJnYXRoZXIgYm91bmRhcnkgZXJyb3JcbiIpOworCQlpZiAodl9sbyAmIFRBTElUT1NfQ0NQU1JfTE9fR1JMKQorCQkJZGV2X2VycihkZXYsICJnYXRoZXIgcmV0dXJuL2xlbmd0aCBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19TQikKKwkJCWRldl9lcnIoZGV2LCAic2NhdHRlciBib3VuZGFyeSBlcnJvclxuIik7CisJCWlmICh2X2xvICYgVEFMSVRPU19DQ1BTUl9MT19TUkwpCisJCQlkZXZfZXJyKGRldiwgInNjYXR0ZXIgcmV0dXJuL2xlbmd0aCBlcnJvclxuIik7CisKKwkJZmx1c2hfY2hhbm5lbChkZXYsIGNoLCBlcnJvciwgcmVzZXRfY2gpOworCisJCWlmIChyZXNldF9jaCkgeworCQkJcmVzZXRfY2hhbm5lbChkZXYsIGNoKTsKKwkJfSBlbHNlIHsKKwkJCXNldGJpdHMzMihwcml2LT5yZWcgKyBUQUxJVE9TX0NDQ1IoY2gpLAorCQkJCSAgVEFMSVRPU19DQ0NSX0NPTlQpOworCQkJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUl9MTyhjaCksIDApOworCQkJd2hpbGUgKChpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfQ0NDUihjaCkpICYKKwkJCSAgICAgICBUQUxJVE9TX0NDQ1JfQ09OVCkgJiYgLS10aW1lb3V0KQorCQkJCWNwdV9yZWxheCgpOworCQkJaWYgKHRpbWVvdXQgPT0gMCkgeworCQkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlc3RhcnQgY2hhbm5lbCAlZFxuIiwKKwkJCQkJY2gpOworCQkJCXJlc2V0X2RldiA9IDE7CisJCQl9CisJCX0KKwl9CisJaWYgKHJlc2V0X2RldiB8fCBpc3IgJiB+VEFMSVRPU19JU1JfQ0hFUlIgfHwgaXNyX2xvKSB7CisJCWRldl9lcnIoZGV2LCAiZG9uZSBvdmVyZmxvdywgaW50ZXJuYWwgdGltZSBvdXQsIG9yIHJuZ3UgZXJyb3I6ICIKKwkJICAgICAgICAiSVNSIDB4JTA4eF8lMDh4XG4iLCBpc3IsIGlzcl9sbyk7CisKKwkJLyogcHVyZ2UgcmVxdWVzdCBxdWV1ZXMgKi8KKwkJZm9yIChjaCA9IDA7IGNoIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBjaCsrKQorCQkJZmx1c2hfY2hhbm5lbChkZXYsIGNoLCAtRUlPLCAxKTsKKworCQkvKiByZXNldCBhbmQgcmVpbml0aWFsaXplIHRoZSBkZXZpY2UgKi8KKwkJaW5pdF9kZXZpY2UoZGV2KTsKKwl9Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCB0YWxpdG9zX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9IGRhdGE7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXUzMiBpc3IsIGlzcl9sbzsKKworCWlzciA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1IpOworCWlzcl9sbyA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JU1JfTE8pOworCisJLyogYWNrICovCisJb3V0X2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JQ1IsIGlzcik7CisJb3V0X2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19JQ1JfTE8sIGlzcl9sbyk7CisKKwlpZiAodW5saWtlbHkoKGlzciAmIH5UQUxJVE9TX0lTUl9DSERPTkUpIHx8IGlzcl9sbykpCisJCXRhbGl0b3NfZXJyb3IoKHVuc2lnbmVkIGxvbmcpZGF0YSk7CisJZWxzZQorCQlpZiAobGlrZWx5KGlzciAmIFRBTElUT1NfSVNSX0NIRE9ORSkpCisJCQl0YXNrbGV0X3NjaGVkdWxlKCZwcml2LT5kb25lX3Rhc2spOworCisJcmV0dXJuIChpc3IgfHwgaXNyX2xvKSA/IElSUV9IQU5ETEVEIDogSVJRX05PTkU7Cit9CisKKy8qCisgKiBod3JuZworICovCitzdGF0aWMgaW50IHRhbGl0b3Nfcm5nX2RhdGFfcHJlc2VudChzdHJ1Y3QgaHdybmcgKnJuZywgaW50IHdhaXQpCit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gKHN0cnVjdCBkZXZpY2UgKilybmctPnByaXY7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXUzMiBvZmw7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMjA7IGkrKykgeworCQlvZmwgPSBpbl9iZTMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVVNSX0xPKSAmCisJCSAgICAgIFRBTElUT1NfUk5HVVNSX0xPX09GTDsKKwkJaWYgKG9mbCB8fCAhd2FpdCkKKwkJCWJyZWFrOworCQl1ZGVsYXkoMTApOworCX0KKworCXJldHVybiAhIW9mbDsKK30KKworc3RhdGljIGludCB0YWxpdG9zX3JuZ19kYXRhX3JlYWQoc3RydWN0IGh3cm5nICpybmcsIHUzMiAqZGF0YSkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKXJuZy0+cHJpdjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwkvKiBybmcgZmlmbyByZXF1aXJlcyA2NC1iaXQgYWNjZXNzZXMgKi8KKwkqZGF0YSA9IGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVX0ZJRk8pOworCSpkYXRhID0gaW5fYmUzMihwcml2LT5yZWcgKyBUQUxJVE9TX1JOR1VfRklGT19MTyk7CisKKwlyZXR1cm4gc2l6ZW9mKHUzMik7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19ybmdfaW5pdChzdHJ1Y3QgaHdybmcgKnJuZykKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAoc3RydWN0IGRldmljZSAqKXJuZy0+cHJpdjsKKwlzdHJ1Y3QgdGFsaXRvc19wcml2YXRlICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgaW50IHRpbWVvdXQgPSBUQUxJVE9TX1RJTUVPVVQ7CisKKwlzZXRiaXRzMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVUkNSX0xPLCBUQUxJVE9TX1JOR1VSQ1JfTE9fU1IpOworCXdoaWxlICghKGluX2JlMzIocHJpdi0+cmVnICsgVEFMSVRPU19STkdVU1JfTE8pICYgVEFMSVRPU19STkdVU1JfTE9fUkQpCisJICAgICAgICYmIC0tdGltZW91dCkKKwkJY3B1X3JlbGF4KCk7CisJaWYgKHRpbWVvdXQgPT0gMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZXNldCBybmcgaHdcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwkvKiBzdGFydCBnZW5lcmF0aW5nICovCisJc2V0Yml0czMyKHByaXYtPnJlZyArIFRBTElUT1NfUk5HVURTUl9MTywgMCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0YWxpdG9zX3JlZ2lzdGVyX3JuZyhzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcHJpdi0+cm5nLm5hbWUJCT0gZGV2X2RyaXZlcl9zdHJpbmcoZGV2KSwKKwlwcml2LT5ybmcuaW5pdAkJPSB0YWxpdG9zX3JuZ19pbml0LAorCXByaXYtPnJuZy5kYXRhX3ByZXNlbnQJPSB0YWxpdG9zX3JuZ19kYXRhX3ByZXNlbnQsCisJcHJpdi0+cm5nLmRhdGFfcmVhZAk9IHRhbGl0b3Nfcm5nX2RhdGFfcmVhZCwKKwlwcml2LT5ybmcucHJpdgkJPSAodW5zaWduZWQgbG9uZylkZXY7CisKKwlyZXR1cm4gaHdybmdfcmVnaXN0ZXIoJnByaXYtPnJuZyk7Cit9CisKK3N0YXRpYyB2b2lkIHRhbGl0b3NfdW5yZWdpc3Rlcl9ybmcoc3RydWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCWh3cm5nX3VucmVnaXN0ZXIoJnByaXYtPnJuZyk7Cit9CisKKy8qCisgKiBjcnlwdG8gYWxnCisgKi8KKyNkZWZpbmUgVEFMSVRPU19DUkFfUFJJT1JJVFkJCTMwMDAKKyNkZWZpbmUgVEFMSVRPU19NQVhfS0VZX1NJWkUJCTY0CisjZGVmaW5lIFRBTElUT1NfTUFYX0lWX0xFTkdUSAkJMTYgLyogbWF4IG9mIEFFU19CTE9DS19TSVpFLCBERVMzX0VERV9CTE9DS19TSVpFICovCisKKyNkZWZpbmUgTUQ1X0RJR0VTVF9TSVpFICAgMTYKKworc3RydWN0IHRhbGl0b3NfY3R4IHsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisJX19iZTMyIGRlc2NfaGRyX3RlbXBsYXRlOworCXU4IGtleVtUQUxJVE9TX01BWF9LRVlfU0laRV07CisJdTggaXZbVEFMSVRPU19NQVhfSVZfTEVOR1RIXTsKKwl1bnNpZ25lZCBpbnQga2V5bGVuOworCXVuc2lnbmVkIGludCBlbmNrZXlsZW47CisJdW5zaWduZWQgaW50IGF1dGhrZXlsZW47CisJdW5zaWduZWQgaW50IGF1dGhzaXplOworfTsKKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUoc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jLAorCQkJCQkJIHVuc2lnbmVkIGludCBhdXRoc2l6ZSkKK3sKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKworCWN0eC0+YXV0aHNpemUgPSBhdXRoc2l6ZTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19zZXRrZXkoc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jLAorCQkJCQkgICAgY29uc3QgdTggKmtleSwgdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgcnRhdHRyICpydGEgPSAodm9pZCAqKWtleTsKKwlzdHJ1Y3QgY3J5cHRvX2F1dGhlbmNfa2V5X3BhcmFtICpwYXJhbTsKKwl1bnNpZ25lZCBpbnQgYXV0aGtleWxlbjsKKwl1bnNpZ25lZCBpbnQgZW5ja2V5bGVuOworCisJaWYgKCFSVEFfT0socnRhLCBrZXlsZW4pKQorCQlnb3RvIGJhZGtleTsKKworCWlmIChydGEtPnJ0YV90eXBlICE9IENSWVBUT19BVVRIRU5DX0tFWUFfUEFSQU0pCisJCWdvdG8gYmFka2V5OworCisJaWYgKFJUQV9QQVlMT0FEKHJ0YSkgPCBzaXplb2YoKnBhcmFtKSkKKwkJZ290byBiYWRrZXk7CisKKwlwYXJhbSA9IFJUQV9EQVRBKHJ0YSk7CisJZW5ja2V5bGVuID0gYmUzMl90b19jcHUocGFyYW0tPmVuY2tleWxlbik7CisKKwlrZXkgKz0gUlRBX0FMSUdOKHJ0YS0+cnRhX2xlbik7CisJa2V5bGVuIC09IFJUQV9BTElHTihydGEtPnJ0YV9sZW4pOworCisJaWYgKGtleWxlbiA8IGVuY2tleWxlbikKKwkJZ290byBiYWRrZXk7CisKKwlhdXRoa2V5bGVuID0ga2V5bGVuIC0gZW5ja2V5bGVuOworCisJaWYgKGtleWxlbiA+IFRBTElUT1NfTUFYX0tFWV9TSVpFKQorCQlnb3RvIGJhZGtleTsKKworCW1lbWNweSgmY3R4LT5rZXksIGtleSwga2V5bGVuKTsKKworCWN0eC0+a2V5bGVuID0ga2V5bGVuOworCWN0eC0+ZW5ja2V5bGVuID0gZW5ja2V5bGVuOworCWN0eC0+YXV0aGtleWxlbiA9IGF1dGhrZXlsZW47CisKKwlyZXR1cm4gMDsKKworYmFka2V5OgorCWNyeXB0b19hZWFkX3NldF9mbGFncyhhdXRoZW5jLCBDUllQVE9fVEZNX1JFU19CQURfS0VZX0xFTik7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKy8qCisgKiBpcHNlY19lc3BfZWRlc2MgLSBzL3ctZXh0ZW5kZWQgaXBzZWNfZXNwIGRlc2NyaXB0b3IKKyAqIEBzcmNfbmVudHM6IG51bWJlciBvZiBzZWdtZW50cyBpbiBpbnB1dCBzY2F0dGVybGlzdAorICogQGRzdF9uZW50czogbnVtYmVyIG9mIHNlZ21lbnRzIGluIG91dHB1dCBzY2F0dGVybGlzdAorICogQGRtYV9sZW46IGxlbmd0aCBvZiBkbWEgbWFwcGVkIGxpbmtfdGJsIHNwYWNlCisgKiBAZG1hX2xpbmtfdGJsOiBidXMgcGh5c2ljYWwgYWRkcmVzcyBvZiBsaW5rX3RibAorICogQGRlc2M6IGgvdyBkZXNjcmlwdG9yCisgKiBAbGlua190Ymw6IGlucHV0IGFuZCBvdXRwdXQgaC93IGxpbmsgdGFibGVzIChpZiB7c3JjLGRzdH1fbmVudHMgPiAxKQorICoKKyAqIGlmIGRlY3J5cHRpbmcgKHdpdGggYXV0aGNoZWNrKSwgb3IgZWl0aGVyIG9uZSBvZiBzcmNfbmVudHMgb3IgZHN0X25lbnRzCisgKiBpcyBncmVhdGVyIHRoYW4gMSwgYW4gaW50ZWdyaXR5IGNoZWNrIHZhbHVlIGlzIGNvbmNhdGVuYXRlZCB0byB0aGUgZW5kCisgKiBvZiBsaW5rX3RibCBkYXRhCisgKi8KK3N0cnVjdCBpcHNlY19lc3BfZWRlc2MgeworCWludCBzcmNfbmVudHM7CisJaW50IGRzdF9uZW50czsKKwlpbnQgZG1hX2xlbjsKKwlkbWFfYWRkcl90IGRtYV9saW5rX3RibDsKKwlzdHJ1Y3QgdGFsaXRvc19kZXNjIGRlc2M7CisJc3RydWN0IHRhbGl0b3NfcHRyIGxpbmtfdGJsWzBdOworfTsKKworc3RhdGljIHZvaWQgaXBzZWNfZXNwX3VubWFwKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCSAgICBzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYywKKwkJCSAgICBzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxKQoreworCXVubWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZlZGVzYy0+ZGVzYy5wdHJbNl0sIERNQV9GUk9NX0RFVklDRSk7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0clszXSwgRE1BX1RPX0RFVklDRSk7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0clsyXSwgRE1BX1RPX0RFVklDRSk7CisJdW5tYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmVkZXNjLT5kZXNjLnB0clswXSwgRE1BX1RPX0RFVklDRSk7CisKKwlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5hc3NvYywgMSwgRE1BX1RPX0RFVklDRSk7CisKKwlpZiAoYXJlcS0+c3JjICE9IGFyZXEtPmRzdCkgeworCQlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkgICAgIERNQV9UT19ERVZJQ0UpOworCQlkbWFfdW5tYXBfc2coZGV2LCBhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMgPyA6IDEsCisJCQkgICAgIERNQV9GUk9NX0RFVklDRSk7CisJfSBlbHNlIHsKKwkJZG1hX3VubWFwX3NnKGRldiwgYXJlcS0+c3JjLCBlZGVzYy0+c3JjX25lbnRzID8gOiAxLAorCQkJICAgICBETUFfQklESVJFQ1RJT05BTCk7CisJfQorCisJaWYgKGVkZXNjLT5kbWFfbGVuKQorCQlkbWFfdW5tYXBfc2luZ2xlKGRldiwgZWRlc2MtPmRtYV9saW5rX3RibCwgZWRlc2MtPmRtYV9sZW4sCisJCQkJIERNQV9CSURJUkVDVElPTkFMKTsKK30KKworLyoKKyAqIGlwc2VjX2VzcCBkZXNjcmlwdG9yIGNhbGxiYWNrcworICovCitzdGF0aWMgdm9pZCBpcHNlY19lc3BfZW5jcnlwdF9kb25lKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLCB2b2lkICpjb250ZXh0LAorCQkJCSAgIGludCBlcnIpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSA9IGNvbnRleHQ7CisJc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MgPQorCQkgY29udGFpbmVyX29mKGRlc2MsIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MsIGRlc2MpOworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXZvaWQgKmljdmRhdGE7CisKKwlpcHNlY19lc3BfdW5tYXAoZGV2LCBlZGVzYywgYXJlcSk7CisKKwkvKiBjb3B5IHRoZSBnZW5lcmF0ZWQgSUNWIHRvIGRzdCAqLworCWlmIChlZGVzYy0+ZG1hX2xlbikgeworCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJICAgZWRlc2MtPmRzdF9uZW50cyArIDFdOworCQlzZyA9IHNnX2xhc3QoYXJlcS0+ZHN0LCBlZGVzYy0+ZHN0X25lbnRzKTsKKwkJbWVtY3B5KChjaGFyICopc2dfdmlydChzZykgKyBzZy0+bGVuZ3RoIC0gY3R4LT5hdXRoc2l6ZSwKKwkJICAgICAgIGljdmRhdGEsIGN0eC0+YXV0aHNpemUpOworCX0KKworCWtmcmVlKGVkZXNjKTsKKworCWFlYWRfcmVxdWVzdF9jb21wbGV0ZShhcmVxLCBlcnIpOworfQorCitzdGF0aWMgdm9pZCBpcHNlY19lc3BfZGVjcnlwdF9kb25lKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgdGFsaXRvc19kZXNjICpkZXNjLCB2b2lkICpjb250ZXh0LAorCQkJCSAgIGludCBlcnIpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqcmVxID0gY29udGV4dDsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYyA9CisJCSBjb250YWluZXJfb2YoZGVzYywgc3RydWN0IGlwc2VjX2VzcF9lZGVzYywgZGVzYyk7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKwl2b2lkICppY3ZkYXRhOworCisJaXBzZWNfZXNwX3VubWFwKGRldiwgZWRlc2MsIHJlcSk7CisKKwlpZiAoIWVycikgeworCQkvKiBhdXRoIGNoZWNrICovCisJCWlmIChlZGVzYy0+ZG1hX2xlbikKKwkJCWljdmRhdGEgPSAmZWRlc2MtPmxpbmtfdGJsW2VkZXNjLT5zcmNfbmVudHMgKworCQkJCQkJICAgZWRlc2MtPmRzdF9uZW50cyArIDFdOworCQllbHNlCisJCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFswXTsKKworCQlzZyA9IHNnX2xhc3QocmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMgPyA6IDEpOworCQllcnIgPSBtZW1jbXAoaWN2ZGF0YSwgKGNoYXIgKilzZ192aXJ0KHNnKSArIHNnLT5sZW5ndGggLQorCQkJICAgICBjdHgtPmF1dGhzaXplLCBjdHgtPmF1dGhzaXplKSA/IC1FQkFETVNHIDogMDsKKwl9CisKKwlrZnJlZShlZGVzYyk7CisKKwlhZWFkX3JlcXVlc3RfY29tcGxldGUocmVxLCBlcnIpOworfQorCisvKgorICogY29udmVydCBzY2F0dGVybGlzdCB0byBTRUMgaC93IGxpbmsgdGFibGUgZm9ybWF0CisgKiBzdG9wIGF0IGNyeXB0bGVuIGJ5dGVzCisgKi8KK3N0YXRpYyBpbnQgc2dfdG9fbGlua190Ymwoc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywgaW50IHNnX2NvdW50LAorCQkJICAgaW50IGNyeXB0bGVuLCBzdHJ1Y3QgdGFsaXRvc19wdHIgKmxpbmtfdGJsX3B0cikKK3sKKwlpbnQgbl9zZyA9IHNnX2NvdW50OworCisJd2hpbGUgKG5fc2ctLSkgeworCQlsaW5rX3RibF9wdHItPnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKHNnKSk7CisJCWxpbmtfdGJsX3B0ci0+bGVuID0gY3B1X3RvX2JlMTYoc2dfZG1hX2xlbihzZykpOworCQlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gMDsKKwkJbGlua190YmxfcHRyKys7CisJCWNyeXB0bGVuIC09IHNnX2RtYV9sZW4oc2cpOworCQlzZyA9IHNnX25leHQoc2cpOworCX0KKworCS8qIGFkanVzdCAoZGVjcmVhc2UpIGxhc3Qgb25lIChvciB0d28pIGVudHJ5J3MgbGVuIHRvIGNyeXB0bGVuICovCisJbGlua190YmxfcHRyLS07CisJd2hpbGUgKGxpbmtfdGJsX3B0ci0+bGVuIDw9ICgtY3J5cHRsZW4pKSB7CisJCS8qIEVtcHR5IHRoaXMgZW50cnksIGFuZCBtb3ZlIHRvIHByZXZpb3VzIG9uZSAqLworCQljcnlwdGxlbiArPSBiZTE2X3RvX2NwdShsaW5rX3RibF9wdHItPmxlbik7CisJCWxpbmtfdGJsX3B0ci0+bGVuID0gMDsKKwkJc2dfY291bnQtLTsKKwkJbGlua190YmxfcHRyLS07CisJfQorCWxpbmtfdGJsX3B0ci0+bGVuID0gY3B1X3RvX2JlMTYoYmUxNl90b19jcHUobGlua190YmxfcHRyLT5sZW4pCisJCQkJCSsgY3J5cHRsZW4pOworCisJLyogdGFnIGVuZCBvZiBsaW5rIHRhYmxlICovCisJbGlua190YmxfcHRyLT5qX2V4dGVudCA9IERFU0NfUFRSX0xOS1RCTF9SRVRVUk47CisKKwlyZXR1cm4gc2dfY291bnQ7Cit9CisKKy8qCisgKiBmaWxsIGluIGFuZCBzdWJtaXQgaXBzZWNfZXNwIGRlc2NyaXB0b3IKKyAqLworc3RhdGljIGludCBpcHNlY19lc3Aoc3RydWN0IGlwc2VjX2VzcF9lZGVzYyAqZWRlc2MsIHN0cnVjdCBhZWFkX3JlcXVlc3QgKmFyZXEsCisJCSAgICAgdTggKmdpdiwgdTY0IHNlcSwKKwkJICAgICB2b2lkICgqY2FsbGJhY2spIChzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJICAgICAgIHN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MsCisJCQkJICAgICAgIHZvaWQgKmNvbnRleHQsIGludCBlcnJvcikpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphZWFkID0gY3J5cHRvX2FlYWRfcmVxdGZtKGFyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGFlYWQpOworCXN0cnVjdCBkZXZpY2UgKmRldiA9IGN0eC0+ZGV2OworCXN0cnVjdCB0YWxpdG9zX2Rlc2MgKmRlc2MgPSAmZWRlc2MtPmRlc2M7CisJdW5zaWduZWQgaW50IGNyeXB0bGVuID0gYXJlcS0+Y3J5cHRsZW47CisJdW5zaWduZWQgaW50IGF1dGhzaXplID0gY3R4LT5hdXRoc2l6ZTsKKwl1bnNpZ25lZCBpbnQgaXZzaXplOworCWludCBzZ19jb3VudDsKKworCS8qIGhtYWMga2V5ICovCisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbMF0sIGN0eC0+YXV0aGtleWxlbiwgJmN0eC0+a2V5LAorCQkJICAgICAgIDAsIERNQV9UT19ERVZJQ0UpOworCS8qIGhtYWMgZGF0YSAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzFdLCBzZ192aXJ0KGFyZXEtPnNyYykgLQorCQkJICAgICAgIHNnX3ZpcnQoYXJlcS0+YXNzb2MpLCBzZ192aXJ0KGFyZXEtPmFzc29jKSwgMCwKKwkJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKwkvKiBjaXBoZXIgaXYgKi8KKwlpdnNpemUgPSBjcnlwdG9fYWVhZF9pdnNpemUoYWVhZCk7CisJbWFwX3NpbmdsZV90YWxpdG9zX3B0cihkZXYsICZkZXNjLT5wdHJbMl0sIGl2c2l6ZSwgZ2l2ID86IGFyZXEtPml2LCAwLAorCQkJICAgICAgIERNQV9UT19ERVZJQ0UpOworCisJLyogY2lwaGVyIGtleSAqLworCW1hcF9zaW5nbGVfdGFsaXRvc19wdHIoZGV2LCAmZGVzYy0+cHRyWzNdLCBjdHgtPmVuY2tleWxlbiwKKwkJCSAgICAgICAoY2hhciAqKSZjdHgtPmtleSArIGN0eC0+YXV0aGtleWxlbiwgMCwKKwkJCSAgICAgICBETUFfVE9fREVWSUNFKTsKKworCS8qCisJICogY2lwaGVyIGluCisJICogbWFwIGFuZCBhZGp1c3QgY2lwaGVyIGxlbiB0byBhZWFkIHJlcXVlc3QgY3J5cHRsZW4uCisJICogZXh0ZW50IGlzIGJ5dGVzIG9mIEhNQUMgcG9zdHBlbmRlZCB0byBjaXBoZXJ0ZXh0LAorCSAqIHR5cGljYWxseSAxMiBmb3IgaXBzZWMKKwkgKi8KKwlkZXNjLT5wdHJbNF0ubGVuID0gY3B1X3RvX2JlMTYoY3J5cHRsZW4pOworCWRlc2MtPnB0cls0XS5qX2V4dGVudCA9IGF1dGhzaXplOworCisJaWYgKGFyZXEtPnNyYyA9PSBhcmVxLT5kc3QpCisJCXNnX2NvdW50ID0gZG1hX21hcF9zZyhkZXYsIGFyZXEtPnNyYywgZWRlc2MtPnNyY19uZW50cyA/IDogMSwKKwkJCQkgICAgICBETUFfQklESVJFQ1RJT05BTCk7CisJZWxzZQorCQlzZ19jb3VudCA9IGRtYV9tYXBfc2coZGV2LCBhcmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEsCisJCQkJICAgICAgRE1BX1RPX0RFVklDRSk7CisKKwlpZiAoc2dfY291bnQgPT0gMSkgeworCQlkZXNjLT5wdHJbNF0ucHRyID0gY3B1X3RvX2JlMzIoc2dfZG1hX2FkZHJlc3MoYXJlcS0+c3JjKSk7CisJfSBlbHNlIHsKKwkJc2dfY291bnQgPSBzZ190b19saW5rX3RibChhcmVxLT5zcmMsIHNnX2NvdW50LCBjcnlwdGxlbiwKKwkJCQkJICAmZWRlc2MtPmxpbmtfdGJsWzBdKTsKKwkJaWYgKHNnX2NvdW50ID4gMSkgeworCQkJZGVzYy0+cHRyWzRdLmpfZXh0ZW50IHw9IERFU0NfUFRSX0xOS1RCTF9KVU1QOworCQkJZGVzYy0+cHRyWzRdLnB0ciA9IGNwdV90b19iZTMyKGVkZXNjLT5kbWFfbGlua190YmwpOworCQkJZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoY3R4LT5kZXYsIGVkZXNjLT5kbWFfbGlua190YmwsCisJCQkJCQkgICBlZGVzYy0+ZG1hX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpOworCQl9IGVsc2UgeworCQkJLyogT25seSBvbmUgc2VnbWVudCBub3csIHNvIG5vIGxpbmsgdGJsIG5lZWRlZCAqLworCQkJZGVzYy0+cHRyWzRdLnB0ciA9IGNwdV90b19iZTMyKHNnX2RtYV9hZGRyZXNzKGFyZXEtPnNyYykpOworCQl9CisJfQorCisJLyogY2lwaGVyIG91dCAqLworCWRlc2MtPnB0cls1XS5sZW4gPSBjcHVfdG9fYmUxNihjcnlwdGxlbik7CisJZGVzYy0+cHRyWzVdLmpfZXh0ZW50ID0gYXV0aHNpemU7CisKKwlpZiAoYXJlcS0+c3JjICE9IGFyZXEtPmRzdCkgeworCQlzZ19jb3VudCA9IGRtYV9tYXBfc2coZGV2LCBhcmVxLT5kc3QsIGVkZXNjLT5kc3RfbmVudHMgPyA6IDEsCisJCQkJICAgICAgRE1BX0ZST01fREVWSUNFKTsKKwl9CisKKwlpZiAoc2dfY291bnQgPT0gMSkgeworCQlkZXNjLT5wdHJbNV0ucHRyID0gY3B1X3RvX2JlMzIoc2dfZG1hX2FkZHJlc3MoYXJlcS0+ZHN0KSk7CisJfSBlbHNlIHsKKwkJc3RydWN0IHRhbGl0b3NfcHRyICpsaW5rX3RibF9wdHIgPQorCQkJJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzXTsKKwkJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKKworCQlkZXNjLT5wdHJbNV0ucHRyID0gY3B1X3RvX2JlMzIoKHN0cnVjdCB0YWxpdG9zX3B0ciAqKQorCQkJCQkgICAgICAgZWRlc2MtPmRtYV9saW5rX3RibCArCisJCQkJCSAgICAgICBlZGVzYy0+c3JjX25lbnRzKTsKKwkJaWYgKGFyZXEtPnNyYyA9PSBhcmVxLT5kc3QpIHsKKwkJCW1lbWNweShsaW5rX3RibF9wdHIsICZlZGVzYy0+bGlua190YmxbMF0sCisJCQkgICAgICAgZWRlc2MtPnNyY19uZW50cyAqIHNpemVvZihzdHJ1Y3QgdGFsaXRvc19wdHIpKTsKKwkJfSBlbHNlIHsKKwkJCXNnX2NvdW50ID0gc2dfdG9fbGlua190YmwoYXJlcS0+ZHN0LCBzZ19jb3VudCwgY3J5cHRsZW4sCisJCQkJCQkgIGxpbmtfdGJsX3B0cik7CisJCX0KKwkJbGlua190YmxfcHRyICs9IHNnX2NvdW50IC0gMTsKKworCQkvKiBoYW5kbGUgY2FzZSB3aGVyZSBzZ19sYXN0IGNvbnRhaW5zIHRoZSBJQ1YgZXhjbHVzaXZlbHkgKi8KKwkJc2cgPSBzZ19sYXN0KGFyZXEtPmRzdCwgZWRlc2MtPmRzdF9uZW50cyk7CisJCWlmIChzZy0+bGVuZ3RoID09IGN0eC0+YXV0aHNpemUpCisJCQlsaW5rX3RibF9wdHItLTsKKworCQlsaW5rX3RibF9wdHItPmpfZXh0ZW50ID0gMDsKKwkJbGlua190YmxfcHRyKys7CisJCWxpbmtfdGJsX3B0ci0+al9leHRlbnQgPSBERVNDX1BUUl9MTktUQkxfUkVUVVJOOworCQlsaW5rX3RibF9wdHItPmxlbiA9IGNwdV90b19iZTE2KGF1dGhzaXplKTsKKworCQkvKiBpY3YgZGF0YSBmb2xsb3dzIGxpbmsgdGFibGVzICovCisJCWxpbmtfdGJsX3B0ci0+cHRyID0gY3B1X3RvX2JlMzIoKHN0cnVjdCB0YWxpdG9zX3B0ciAqKQorCQkJCQkJZWRlc2MtPmRtYV9saW5rX3RibCArCisJCQkJCSAgICAgICAgZWRlc2MtPnNyY19uZW50cyArCisJCQkJCQllZGVzYy0+ZHN0X25lbnRzICsgMSk7CisKKwkJZGVzYy0+cHRyWzVdLmpfZXh0ZW50IHw9IERFU0NfUFRSX0xOS1RCTF9KVU1QOworCQlkbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShjdHgtPmRldiwgZWRlc2MtPmRtYV9saW5rX3RibCwKKwkJCQkJICAgZWRlc2MtPmRtYV9sZW4sIERNQV9CSURJUkVDVElPTkFMKTsKKwl9CisKKwkvKiBpdiBvdXQgKi8KKwltYXBfc2luZ2xlX3RhbGl0b3NfcHRyKGRldiwgJmRlc2MtPnB0cls2XSwgaXZzaXplLCBjdHgtPml2LCAwLAorCQkJICAgICAgIERNQV9GUk9NX0RFVklDRSk7CisKKwlyZXR1cm4gdGFsaXRvc19zdWJtaXQoZGV2LCBkZXNjLCBjYWxsYmFjaywgYXJlcSk7Cit9CisKKworLyoKKyAqIGRlcml2ZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gc2NhdHRlcmxpc3QKKyAqLworc3RhdGljIGludCBzZ19jb3VudChzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnX2xpc3QsIGludCBuYnl0ZXMpCit7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZyA9IHNnX2xpc3Q7CisJaW50IHNnX25lbnRzID0gMDsKKworCXdoaWxlIChuYnl0ZXMpIHsKKwkJc2dfbmVudHMrKzsKKwkJbmJ5dGVzIC09IHNnLT5sZW5ndGg7CisJCXNnID0gc2dfbmV4dChzZyk7CisJfQorCisJcmV0dXJuIHNnX25lbnRzOworfQorCisvKgorICogYWxsb2NhdGUgYW5kIG1hcCB0aGUgaXBzZWNfZXNwIGV4dGVuZGVkIGRlc2NyaXB0b3IKKyAqLworc3RhdGljIHN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmlwc2VjX2VzcF9lZGVzY19hbGxvYyhzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICphcmVxLAorCQkJCQkJICAgICBpbnQgaWN2X3N0YXNoaW5nKQoreworCXN0cnVjdCBjcnlwdG9fYWVhZCAqYXV0aGVuYyA9IGNyeXB0b19hZWFkX3JlcXRmbShhcmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKwlpbnQgc3JjX25lbnRzLCBkc3RfbmVudHMsIGFsbG9jX2xlbiwgZG1hX2xlbjsKKworCWlmIChhcmVxLT5jcnlwdGxlbiArIGN0eC0+YXV0aHNpemUgPiBUQUxJVE9TX01BWF9EQVRBX0xFTikgeworCQlkZXZfZXJyKGN0eC0+ZGV2LCAiY3J5cHRsZW4gZXhjZWVkcyBoL3cgbWF4IGxpbWl0XG4iKTsKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisJfQorCisJc3JjX25lbnRzID0gc2dfY291bnQoYXJlcS0+c3JjLCBhcmVxLT5jcnlwdGxlbiArIGN0eC0+YXV0aHNpemUpOworCXNyY19uZW50cyA9IChzcmNfbmVudHMgPT0gMSkgPyAwIDogc3JjX25lbnRzOworCisJaWYgKGFyZXEtPmRzdCA9PSBhcmVxLT5zcmMpIHsKKwkJZHN0X25lbnRzID0gc3JjX25lbnRzOworCX0gZWxzZSB7CisJCWRzdF9uZW50cyA9IHNnX2NvdW50KGFyZXEtPmRzdCwgYXJlcS0+Y3J5cHRsZW4gKyBjdHgtPmF1dGhzaXplKTsKKwkJZHN0X25lbnRzID0gKGRzdF9uZW50cyA9PSAxKSA/IDAgOiBzcmNfbmVudHM7CisJfQorCisJLyoKKwkgKiBhbGxvY2F0ZSBzcGFjZSBmb3IgYmFzZSBlZGVzYyBwbHVzIHRoZSBsaW5rIHRhYmxlcywKKwkgKiBhbGxvd2luZyBmb3IgYSBzZXBhcmF0ZSBlbnRyeSBmb3IgdGhlIGdlbmVyYXRlZCBJQ1YgKCsgMSksCisJICogYW5kIHRoZSBJQ1YgZGF0YSBpdHNlbGYKKwkgKi8KKwlhbGxvY19sZW4gPSBzaXplb2Yoc3RydWN0IGlwc2VjX2VzcF9lZGVzYyk7CisJaWYgKHNyY19uZW50cyB8fCBkc3RfbmVudHMpIHsKKwkJZG1hX2xlbiA9IChzcmNfbmVudHMgKyBkc3RfbmVudHMgKyAxKSAqCisJCQkJIHNpemVvZihzdHJ1Y3QgdGFsaXRvc19wdHIpICsgY3R4LT5hdXRoc2l6ZTsKKwkJYWxsb2NfbGVuICs9IGRtYV9sZW47CisJfSBlbHNlIHsKKwkJZG1hX2xlbiA9IDA7CisJCWFsbG9jX2xlbiArPSBpY3Zfc3Rhc2hpbmcgPyBjdHgtPmF1dGhzaXplIDogMDsKKwl9CisKKwllZGVzYyA9IGttYWxsb2MoYWxsb2NfbGVuLCBHRlBfRE1BKTsKKwlpZiAoIWVkZXNjKSB7CisJCWRldl9lcnIoY3R4LT5kZXYsICJjb3VsZCBub3QgYWxsb2NhdGUgZWRlc2NyaXB0b3JcbiIpOworCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKwl9CisKKwllZGVzYy0+c3JjX25lbnRzID0gc3JjX25lbnRzOworCWVkZXNjLT5kc3RfbmVudHMgPSBkc3RfbmVudHM7CisJZWRlc2MtPmRtYV9sZW4gPSBkbWFfbGVuOworCWVkZXNjLT5kbWFfbGlua190YmwgPSBkbWFfbWFwX3NpbmdsZShjdHgtPmRldiwgJmVkZXNjLT5saW5rX3RibFswXSwKKwkJCQkJICAgICBlZGVzYy0+ZG1hX2xlbiwgRE1BX0JJRElSRUNUSU9OQUwpOworCisJcmV0dXJuIGVkZXNjOworfQorCitzdGF0aWMgaW50IGFlYWRfYXV0aGVuY19lbmNyeXB0KHN0cnVjdCBhZWFkX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgY3J5cHRvX2FlYWQgKmF1dGhlbmMgPSBjcnlwdG9fYWVhZF9yZXF0Zm0ocmVxKTsKKwlzdHJ1Y3QgdGFsaXRvc19jdHggKmN0eCA9IGNyeXB0b19hZWFkX2N0eChhdXRoZW5jKTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKworCS8qIGFsbG9jYXRlIGV4dGVuZGVkIGRlc2NyaXB0b3IgKi8KKwllZGVzYyA9IGlwc2VjX2VzcF9lZGVzY19hbGxvYyhyZXEsIDApOworCWlmIChJU19FUlIoZWRlc2MpKQorCQlyZXR1cm4gUFRSX0VSUihlZGVzYyk7CisKKwkvKiBzZXQgZW5jcnlwdCAqLworCWVkZXNjLT5kZXNjLmhkciA9IGN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgfCBERVNDX0hEUl9NT0RFMF9FTkNSWVBUOworCisJcmV0dXJuIGlwc2VjX2VzcChlZGVzYywgcmVxLCBOVUxMLCAwLCBpcHNlY19lc3BfZW5jcnlwdF9kb25lKTsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfZGVjcnlwdChzdHJ1Y3QgYWVhZF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKHJlcSk7CisJc3RydWN0IHRhbGl0b3NfY3R4ICpjdHggPSBjcnlwdG9fYWVhZF9jdHgoYXV0aGVuYyk7CisJdW5zaWduZWQgaW50IGF1dGhzaXplID0gY3R4LT5hdXRoc2l6ZTsKKwlzdHJ1Y3QgaXBzZWNfZXNwX2VkZXNjICplZGVzYzsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOworCXZvaWQgKmljdmRhdGE7CisKKwlyZXEtPmNyeXB0bGVuIC09IGF1dGhzaXplOworCisJLyogYWxsb2NhdGUgZXh0ZW5kZWQgZGVzY3JpcHRvciAqLworCWVkZXNjID0gaXBzZWNfZXNwX2VkZXNjX2FsbG9jKHJlcSwgMSk7CisJaWYgKElTX0VSUihlZGVzYykpCisJCXJldHVybiBQVFJfRVJSKGVkZXNjKTsKKworCS8qIHN0YXNoIGluY29taW5nIElDViBmb3IgbGF0ZXIgY21wIHdpdGggSUNWIGdlbmVyYXRlZCBieSB0aGUgaC93ICovCisJaWYgKGVkZXNjLT5kbWFfbGVuKQorCQlpY3ZkYXRhID0gJmVkZXNjLT5saW5rX3RibFtlZGVzYy0+c3JjX25lbnRzICsKKwkJCQkJICAgZWRlc2MtPmRzdF9uZW50cyArIDFdOworCWVsc2UKKwkJaWN2ZGF0YSA9ICZlZGVzYy0+bGlua190YmxbMF07CisKKwlzZyA9IHNnX2xhc3QocmVxLT5zcmMsIGVkZXNjLT5zcmNfbmVudHMgPyA6IDEpOworCisJbWVtY3B5KGljdmRhdGEsIChjaGFyICopc2dfdmlydChzZykgKyBzZy0+bGVuZ3RoIC0gY3R4LT5hdXRoc2l6ZSwKKwkgICAgICAgY3R4LT5hdXRoc2l6ZSk7CisKKwkvKiBkZWNyeXB0ICovCisJZWRlc2MtPmRlc2MuaGRyID0gY3R4LT5kZXNjX2hkcl90ZW1wbGF0ZSB8IERFU0NfSERSX0RJUl9JTkJPVU5EOworCisJcmV0dXJuIGlwc2VjX2VzcChlZGVzYywgcmVxLCBOVUxMLCAwLCBpcHNlY19lc3BfZGVjcnlwdF9kb25lKTsKK30KKworc3RhdGljIGludCBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCgKKwlzdHJ1Y3QgYWVhZF9naXZjcnlwdF9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0IGFlYWRfcmVxdWVzdCAqYXJlcSA9ICZyZXEtPmFyZXE7CisJc3RydWN0IGNyeXB0b19hZWFkICphdXRoZW5jID0gY3J5cHRvX2FlYWRfcmVxdGZtKGFyZXEpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX2FlYWRfY3R4KGF1dGhlbmMpOworCXN0cnVjdCBpcHNlY19lc3BfZWRlc2MgKmVkZXNjOworCisJLyogYWxsb2NhdGUgZXh0ZW5kZWQgZGVzY3JpcHRvciAqLworCWVkZXNjID0gaXBzZWNfZXNwX2VkZXNjX2FsbG9jKGFyZXEsIDApOworCWlmIChJU19FUlIoZWRlc2MpKQorCQlyZXR1cm4gUFRSX0VSUihlZGVzYyk7CisKKwkvKiBzZXQgZW5jcnlwdCAqLworCWVkZXNjLT5kZXNjLmhkciA9IGN0eC0+ZGVzY19oZHJfdGVtcGxhdGUgfCBERVNDX0hEUl9NT0RFMF9FTkNSWVBUOworCisJbWVtY3B5KHJlcS0+Z2l2LCBjdHgtPml2LCBjcnlwdG9fYWVhZF9pdnNpemUoYXV0aGVuYykpOworCisJcmV0dXJuIGlwc2VjX2VzcChlZGVzYywgYXJlcSwgcmVxLT5naXYsIHJlcS0+c2VxLAorCQkJIGlwc2VjX2VzcF9lbmNyeXB0X2RvbmUpOworfQorCitzdHJ1Y3QgdGFsaXRvc19hbGdfdGVtcGxhdGUgeworCWNoYXIgbmFtZVtDUllQVE9fTUFYX0FMR19OQU1FXTsKKwljaGFyIGRyaXZlcl9uYW1lW0NSWVBUT19NQVhfQUxHX05BTUVdOworCXVuc2lnbmVkIGludCBibG9ja3NpemU7CisJc3RydWN0IGFlYWRfYWxnIGFlYWQ7CisJc3RydWN0IGRldmljZSAqZGV2OworCV9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgdGFsaXRvc19hbGdfdGVtcGxhdGUgZHJpdmVyX2FsZ3NbXSA9IHsKKwkvKiBzaW5nbGUtcGFzcyBpcHNlY19lc3AgZGVzY3JpcHRvciAqLworCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTEpLGNiYyhhZXMpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMS1jYmMtYWVzLXRhbGl0b3MiLAorCQkuYmxvY2tzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gQUVTX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBTSEExX0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfQUVTVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0FFU1VfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEExX0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhzaGExKSxjYmMoZGVzM19lZGUpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtc2hhMS1jYmMtM2Rlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTFfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9ERVUgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVXzNERVMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1NIQTFfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTI1NiksY2JjKGFlcykpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1zaGEyNTYtY2JjLWFlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IEFFU19CTE9DS19TSVpFLAorCQkJLm1heGF1dGhzaXplID0gU0hBMjU2X0RJR0VTVF9TSVpFLAorCQkJfSwKKwkJLmRlc2NfaGRyX3RlbXBsYXRlID0gREVTQ19IRFJfVFlQRV9JUFNFQ19FU1AgfAorCQkJICAgICAgICAgICAgIERFU0NfSERSX1NFTDBfQUVTVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0FFU1VfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfU0VMMV9NREVVQSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfSU5JVCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfUEFEIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9TSEEyNTZfSE1BQywKKwl9LAorCXsKKwkJLm5hbWUgPSAiYXV0aGVuYyhobWFjKHNoYTI1NiksY2JjKGRlczNfZWRlKSkiLAorCQkuZHJpdmVyX25hbWUgPSAiYXV0aGVuYy1obWFjLXNoYTI1Ni1jYmMtM2Rlcy10YWxpdG9zIiwKKwkJLmJsb2Nrc2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCS5hZWFkID0geworCQkJLnNldGtleSA9IGFlYWRfYXV0aGVuY19zZXRrZXksCisJCQkuc2V0YXV0aHNpemUgPSBhZWFkX2F1dGhlbmNfc2V0YXV0aHNpemUsCisJCQkuZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19lbmNyeXB0LAorCQkJLmRlY3J5cHQgPSBhZWFkX2F1dGhlbmNfZGVjcnlwdCwKKwkJCS5naXZlbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2dpdmVuY3J5cHQsCisJCQkuZ2VuaXYgPSAiPGJ1aWx0LWluPiIsCisJCQkuaXZzaXplID0gREVTM19FREVfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IFNIQTI1Nl9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0RFVSB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUwX0RFVV9DQkMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfM0RFUyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfU0hBMjU2X0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhhZXMpKSIsCisJCS5kcml2ZXJfbmFtZSA9ICJhdXRoZW5jLWhtYWMtbWQ1LWNiYy1hZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJLmFlYWQgPSB7CisJCQkuc2V0a2V5ID0gYWVhZF9hdXRoZW5jX3NldGtleSwKKwkJCS5zZXRhdXRoc2l6ZSA9IGFlYWRfYXV0aGVuY19zZXRhdXRoc2l6ZSwKKwkJCS5lbmNyeXB0ID0gYWVhZF9hdXRoZW5jX2VuY3J5cHQsCisJCQkuZGVjcnlwdCA9IGFlYWRfYXV0aGVuY19kZWNyeXB0LAorCQkJLmdpdmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZ2l2ZW5jcnlwdCwKKwkJCS5nZW5pdiA9ICI8YnVpbHQtaW4+IiwKKwkJCS5pdnNpemUgPSBBRVNfQkxPQ0tfU0laRSwKKwkJCS5tYXhhdXRoc2l6ZSA9IE1ENV9ESUdFU1RfU0laRSwKKwkJCX0sCisJCS5kZXNjX2hkcl90ZW1wbGF0ZSA9IERFU0NfSERSX1RZUEVfSVBTRUNfRVNQIHwKKwkJCSAgICAgICAgICAgICBERVNDX0hEUl9TRUwwX0FFU1UgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9BRVNVX0NCQyB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX1NFTDFfTURFVUEgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX0lOSVQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX1BBRCB8CisJCSAgICAgICAgICAgICAgICAgICAgIERFU0NfSERSX01PREUxX01ERVVfTUQ1X0hNQUMsCisJfSwKKwl7CisJCS5uYW1lID0gImF1dGhlbmMoaG1hYyhtZDUpLGNiYyhkZXMzX2VkZSkpIiwKKwkJLmRyaXZlcl9uYW1lID0gImF1dGhlbmMtaG1hYy1tZDUtY2JjLTNkZXMtdGFsaXRvcyIsCisJCS5ibG9ja3NpemUgPSBERVMzX0VERV9CTE9DS19TSVpFLAorCQkuYWVhZCA9IHsKKwkJCS5zZXRrZXkgPSBhZWFkX2F1dGhlbmNfc2V0a2V5LAorCQkJLnNldGF1dGhzaXplID0gYWVhZF9hdXRoZW5jX3NldGF1dGhzaXplLAorCQkJLmVuY3J5cHQgPSBhZWFkX2F1dGhlbmNfZW5jcnlwdCwKKwkJCS5kZWNyeXB0ID0gYWVhZF9hdXRoZW5jX2RlY3J5cHQsCisJCQkuZ2l2ZW5jcnlwdCA9IGFlYWRfYXV0aGVuY19naXZlbmNyeXB0LAorCQkJLmdlbml2ID0gIjxidWlsdC1pbj4iLAorCQkJLml2c2l6ZSA9IERFUzNfRURFX0JMT0NLX1NJWkUsCisJCQkubWF4YXV0aHNpemUgPSBNRDVfRElHRVNUX1NJWkUsCisJCQl9LAorCQkuZGVzY19oZHJfdGVtcGxhdGUgPSBERVNDX0hEUl9UWVBFX0lQU0VDX0VTUCB8CisJCQkgICAgICAgICAgICAgREVTQ19IRFJfU0VMMF9ERVUgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMF9ERVVfQ0JDIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTBfREVVXzNERVMgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9TRUwxX01ERVVBIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9JTklUIHwKKwkJICAgICAgICAgICAgICAgICAgICAgREVTQ19IRFJfTU9ERTFfTURFVV9QQUQgfAorCQkgICAgICAgICAgICAgICAgICAgICBERVNDX0hEUl9NT0RFMV9NREVVX01ENV9ITUFDLAorCX0KK307CisKK3N0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgeworCXN0cnVjdCBsaXN0X2hlYWQgZW50cnk7CisJc3RydWN0IGRldmljZSAqZGV2OworCV9fYmUzMiBkZXNjX2hkcl90ZW1wbGF0ZTsKKwlzdHJ1Y3QgY3J5cHRvX2FsZyBjcnlwdG9fYWxnOworfTsKKworc3RhdGljIGludCB0YWxpdG9zX2NyYV9pbml0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZyA9IHRmbS0+X19jcnRfYWxnOworCXN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcgKnRhbGl0b3NfYWxnID0KKwkJIGNvbnRhaW5lcl9vZihhbGcsIHN0cnVjdCB0YWxpdG9zX2NyeXB0b19hbGcsIGNyeXB0b19hbGcpOworCXN0cnVjdCB0YWxpdG9zX2N0eCAqY3R4ID0gY3J5cHRvX3RmbV9jdHgodGZtKTsKKworCS8qIHVwZGF0ZSBjb250ZXh0IHdpdGggcHRyIHRvIGRldiAqLworCWN0eC0+ZGV2ID0gdGFsaXRvc19hbGctPmRldjsKKwkvKiBjb3B5IGRlc2NyaXB0b3IgaGVhZGVyIHRlbXBsYXRlIHZhbHVlICovCisJY3R4LT5kZXNjX2hkcl90ZW1wbGF0ZSA9IHRhbGl0b3NfYWxnLT5kZXNjX2hkcl90ZW1wbGF0ZTsKKworCS8qIHJhbmRvbSBmaXJzdCBJViAqLworCWdldF9yYW5kb21fYnl0ZXMoY3R4LT5pdiwgVEFMSVRPU19NQVhfSVZfTEVOR1RIKTsKKworCXJldHVybiAwOworfQorCisvKgorICogZ2l2ZW4gdGhlIGFsZydzIGRlc2NyaXB0b3IgaGVhZGVyIHRlbXBsYXRlLCBkZXRlcm1pbmUgd2hldGhlciBkZXNjcmlwdG9yCisgKiB0eXBlIGFuZCBwcmltYXJ5L3NlY29uZGFyeSBleGVjdXRpb24gdW5pdHMgcmVxdWlyZWQgbWF0Y2ggdGhlIGh3CisgKiBjYXBhYmlsaXRpZXMgZGVzY3JpcHRpb24gcHJvdmlkZWQgaW4gdGhlIGRldmljZSB0cmVlIG5vZGUuCisgKi8KK3N0YXRpYyBpbnQgaHdfc3VwcG9ydHMoc3RydWN0IGRldmljZSAqZGV2LCBfX2JlMzIgZGVzY19oZHJfdGVtcGxhdGUpCit7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCWludCByZXQ7CisKKwlyZXQgPSAoMSA8PCBERVNDX1RZUEUoZGVzY19oZHJfdGVtcGxhdGUpICYgcHJpdi0+ZGVzY190eXBlcykgJiYKKwkgICAgICAoMSA8PCBQUklNQVJZX0VVKGRlc2NfaGRyX3RlbXBsYXRlKSAmIHByaXYtPmV4ZWNfdW5pdHMpOworCisJaWYgKFNFQ09OREFSWV9FVShkZXNjX2hkcl90ZW1wbGF0ZSkpCisJCXJldCA9IHJldCAmJiAoMSA8PCBTRUNPTkRBUllfRVUoZGVzY19oZHJfdGVtcGxhdGUpCisJCSAgICAgICAgICAgICAgJiBwcml2LT5leGVjX3VuaXRzKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IHRhbGl0b3NfcmVtb3ZlKHN0cnVjdCBvZl9kZXZpY2UgKm9mZGV2KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZvZmRldi0+ZGV2OworCXN0cnVjdCB0YWxpdG9zX3ByaXZhdGUgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0X2FsZywgKm47CisJaW50IGk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodF9hbGcsIG4sICZwcml2LT5hbGdfbGlzdCwgZW50cnkpIHsKKwkJY3J5cHRvX3VucmVnaXN0ZXJfYWxnKCZ0X2FsZy0+Y3J5cHRvX2FsZyk7CisJCWxpc3RfZGVsKCZ0X2FsZy0+ZW50cnkpOworCQlrZnJlZSh0X2FsZyk7CisJfQorCisJaWYgKGh3X3N1cHBvcnRzKGRldiwgREVTQ19IRFJfU0VMMF9STkcpKQorCQl0YWxpdG9zX3VucmVnaXN0ZXJfcm5nKGRldik7CisKKwlrZnJlZShwcml2LT50YWlsKTsKKwlrZnJlZShwcml2LT5oZWFkKTsKKworCWlmIChwcml2LT5maWZvKQorCQlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBpKyspCisJCQlrZnJlZShwcml2LT5maWZvW2ldKTsKKworCWtmcmVlKHByaXYtPmZpZm8pOworCWtmcmVlKHByaXYtPmhlYWRfbG9jayk7CisJa2ZyZWUocHJpdi0+dGFpbF9sb2NrKTsKKworCWlmIChwcml2LT5pcnEgIT0gTk9fSVJRKSB7CisJCWZyZWVfaXJxKHByaXYtPmlycSwgZGV2KTsKKwkJaXJxX2Rpc3Bvc2VfbWFwcGluZyhwcml2LT5pcnEpOworCX0KKworCXRhc2tsZXRfa2lsbCgmcHJpdi0+ZG9uZV90YXNrKTsKKwl0YXNrbGV0X2tpbGwoJnByaXYtPmVycm9yX3Rhc2spOworCisJaW91bm1hcChwcml2LT5yZWcpOworCisJZGV2X3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisKKwlrZnJlZShwcml2KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdGFsaXRvc19hbGdfYWxsb2Moc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkJICAgIHN0cnVjdCB0YWxpdG9zX2FsZ190ZW1wbGF0ZQorCQkJCQkJICAgICAgICAgICAqdGVtcGxhdGUpCit7CisJc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyAqdF9hbGc7CisJc3RydWN0IGNyeXB0b19hbGcgKmFsZzsKKworCXRfYWxnID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHRhbGl0b3NfY3J5cHRvX2FsZyksIEdGUF9LRVJORUwpOworCWlmICghdF9hbGcpCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJYWxnID0gJnRfYWxnLT5jcnlwdG9fYWxnOworCisJc25wcmludGYoYWxnLT5jcmFfbmFtZSwgQ1JZUFRPX01BWF9BTEdfTkFNRSwgIiVzIiwgdGVtcGxhdGUtPm5hbWUpOworCXNucHJpbnRmKGFsZy0+Y3JhX2RyaXZlcl9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLCAiJXMiLAorCQkgdGVtcGxhdGUtPmRyaXZlcl9uYW1lKTsKKwlhbGctPmNyYV9tb2R1bGUgPSBUSElTX01PRFVMRTsKKwlhbGctPmNyYV9pbml0ID0gdGFsaXRvc19jcmFfaW5pdDsKKwlhbGctPmNyYV9wcmlvcml0eSA9IFRBTElUT1NfQ1JBX1BSSU9SSVRZOworCWFsZy0+Y3JhX2ZsYWdzID0gQ1JZUFRPX0FMR19UWVBFX0FFQUQgfCBDUllQVE9fQUxHX0FTWU5DOworCWFsZy0+Y3JhX2Jsb2Nrc2l6ZSA9IHRlbXBsYXRlLT5ibG9ja3NpemU7CisJYWxnLT5jcmFfYWxpZ25tYXNrID0gMDsKKwlhbGctPmNyYV90eXBlID0gJmNyeXB0b19hZWFkX3R5cGU7CisJYWxnLT5jcmFfY3R4c2l6ZSA9IHNpemVvZihzdHJ1Y3QgdGFsaXRvc19jdHgpOworCWFsZy0+Y3JhX3UuYWVhZCA9IHRlbXBsYXRlLT5hZWFkOworCisJdF9hbGctPmRlc2NfaGRyX3RlbXBsYXRlID0gdGVtcGxhdGUtPmRlc2NfaGRyX3RlbXBsYXRlOworCXRfYWxnLT5kZXYgPSBkZXY7CisKKwlyZXR1cm4gdF9hbGc7Cit9CisKK3N0YXRpYyBpbnQgdGFsaXRvc19wcm9iZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiwKKwkJCSBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaCkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmb2ZkZXYtPmRldjsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gb2ZkZXYtPm5vZGU7CisJc3RydWN0IHRhbGl0b3NfcHJpdmF0ZSAqcHJpdjsKKwljb25zdCB1bnNpZ25lZCBpbnQgKnByb3A7CisJaW50IGksIGVycjsKKworCXByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdGFsaXRvc19wcml2YXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWRldl9zZXRfZHJ2ZGF0YShkZXYsIHByaXYpOworCisJcHJpdi0+b2ZkZXYgPSBvZmRldjsKKworCXRhc2tsZXRfaW5pdCgmcHJpdi0+ZG9uZV90YXNrLCB0YWxpdG9zX2RvbmUsICh1bnNpZ25lZCBsb25nKWRldik7CisJdGFza2xldF9pbml0KCZwcml2LT5lcnJvcl90YXNrLCB0YWxpdG9zX2Vycm9yLCAodW5zaWduZWQgbG9uZylkZXYpOworCisJcHJpdi0+aXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAobnAsIDApOworCisJaWYgKHByaXYtPmlycSA9PSBOT19JUlEpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gbWFwIGlycVxuIik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiBnZXQgdGhlIGlycSBsaW5lICovCisJZXJyID0gcmVxdWVzdF9pcnEocHJpdi0+aXJxLCB0YWxpdG9zX2ludGVycnVwdCwgMCwKKwkJCSAgZGV2X2RyaXZlcl9zdHJpbmcoZGV2KSwgZGV2KTsKKwlpZiAoZXJyKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIHJlcXVlc3QgaXJxICVkXG4iLCBwcml2LT5pcnEpOworCQlpcnFfZGlzcG9zZV9tYXBwaW5nKHByaXYtPmlycSk7CisJCXByaXYtPmlycSA9IE5PX0lSUTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCXByaXYtPnJlZyA9IG9mX2lvbWFwKG5wLCAwKTsKKwlpZiAoIXByaXYtPnJlZykgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBvZl9pb21hcFxuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiBnZXQgU0VDIHZlcnNpb24gY2FwYWJpbGl0aWVzIGZyb20gZGV2aWNlIHRyZWUgKi8KKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLG51bS1jaGFubmVscyIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5udW1fY2hhbm5lbHMgPSAqcHJvcDsKKworCXByb3AgPSBvZl9nZXRfcHJvcGVydHkobnAsICJmc2wsY2hhbm5lbC1maWZvLWxlbiIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5jaGZpZm9fbGVuID0gKnByb3A7CisKKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLGV4ZWMtdW5pdHMtbWFzayIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5leGVjX3VuaXRzID0gKnByb3A7CisKKwlwcm9wID0gb2ZfZ2V0X3Byb3BlcnR5KG5wLCAiZnNsLGRlc2NyaXB0b3ItdHlwZXMtbWFzayIsIE5VTEwpOworCWlmIChwcm9wKQorCQlwcml2LT5kZXNjX3R5cGVzID0gKnByb3A7CisKKwlpZiAoIWlzX3Bvd2VyX29mXzIocHJpdi0+bnVtX2NoYW5uZWxzKSB8fCAhcHJpdi0+Y2hmaWZvX2xlbiB8fAorCSAgICAhcHJpdi0+ZXhlY191bml0cyB8fCAhcHJpdi0+ZGVzY190eXBlcykgeworCQlkZXZfZXJyKGRldiwgImludmFsaWQgcHJvcGVydHkgZGF0YSBpbiBkZXZpY2UgdHJlZSBub2RlXG4iKTsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBlcnJfb3V0OworCX0KKworCW9mX25vZGVfcHV0KG5wKTsKKwlucCA9IE5VTEw7CisKKwlwcml2LT5oZWFkX2xvY2sgPSBrbWFsbG9jKHNpemVvZihzcGlubG9ja190KSAqIHByaXYtPm51bV9jaGFubmVscywKKwkJCQkgIEdGUF9LRVJORUwpOworCXByaXYtPnRhaWxfbG9jayA9IGttYWxsb2Moc2l6ZW9mKHNwaW5sb2NrX3QpICogcHJpdi0+bnVtX2NoYW5uZWxzLAorCQkJCSAgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2LT5oZWFkX2xvY2sgfHwgIXByaXYtPnRhaWxfbG9jaykgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSBmaWZvIGxvY2tzXG4iKTsKKwkJZXJyID0gLUVOT01FTTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fY2hhbm5lbHM7IGkrKykgeworCQlzcGluX2xvY2tfaW5pdCgmcHJpdi0+aGVhZF9sb2NrW2ldKTsKKwkJc3Bpbl9sb2NrX2luaXQoJnByaXYtPnRhaWxfbG9ja1tpXSk7CisJfQorCisJcHJpdi0+ZmlmbyA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3JlcXVlc3QgKikgKgorCQkJICAgICBwcml2LT5udW1fY2hhbm5lbHMsIEdGUF9LRVJORUwpOworCWlmICghcHJpdi0+ZmlmbykgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhbGxvY2F0ZSByZXF1ZXN0IGZpZm9cbiIpOworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJcHJpdi0+Zmlmb19sZW4gPSByb3VuZHVwX3Bvd19vZl90d28ocHJpdi0+Y2hmaWZvX2xlbik7CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2NoYW5uZWxzOyBpKyspIHsKKwkJcHJpdi0+Zmlmb1tpXSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB0YWxpdG9zX3JlcXVlc3QpICoKKwkJCQkJcHJpdi0+Zmlmb19sZW4sIEdGUF9LRVJORUwpOworCQlpZiAoIXByaXYtPmZpZm9baV0pIHsKKwkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlcXVlc3QgZmlmbyAlZFxuIiwgaSk7CisJCQllcnIgPSAtRU5PTUVNOworCQkJZ290byBlcnJfb3V0OworCQl9CisJfQorCisJcHJpdi0+aGVhZCA9IGt6YWxsb2Moc2l6ZW9mKGludCkgKiBwcml2LT5udW1fY2hhbm5lbHMsIEdGUF9LRVJORUwpOworCXByaXYtPnRhaWwgPSBremFsbG9jKHNpemVvZihpbnQpICogcHJpdi0+bnVtX2NoYW5uZWxzLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXYtPmhlYWQgfHwgIXByaXYtPnRhaWwpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVxdWVzdCBpbmRleCBzcGFjZVxuIik7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsKKwl9CisKKwkvKiByZXNldCBhbmQgaW5pdGlhbGl6ZSB0aGUgaC93ICovCisJZXJyID0gaW5pdF9kZXZpY2UoZGV2KTsKKwlpZiAoZXJyKSB7CisJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGluaXRpYWxpemUgZGV2aWNlXG4iKTsKKwkJZ290byBlcnJfb3V0OworCX0KKworCS8qIHJlZ2lzdGVyIHRoZSBSTkcsIGlmIGF2YWlsYWJsZSAqLworCWlmIChod19zdXBwb3J0cyhkZXYsIERFU0NfSERSX1NFTDBfUk5HKSkgeworCQllcnIgPSB0YWxpdG9zX3JlZ2lzdGVyX3JuZyhkZXYpOworCQlpZiAoZXJyKSB7CisJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZWdpc3RlciBod3JuZzogJWRcbiIsIGVycik7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0gZWxzZQorCQkJZGV2X2luZm8oZGV2LCAiaHdybmdcbiIpOworCX0KKworCS8qIHJlZ2lzdGVyIGNyeXB0byBhbGdvcml0aG1zIHRoZSBkZXZpY2Ugc3VwcG9ydHMgKi8KKwlJTklUX0xJU1RfSEVBRCgmcHJpdi0+YWxnX2xpc3QpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZHJpdmVyX2FsZ3MpOyBpKyspIHsKKwkJaWYgKGh3X3N1cHBvcnRzKGRldiwgZHJpdmVyX2FsZ3NbaV0uZGVzY19oZHJfdGVtcGxhdGUpKSB7CisJCQlzdHJ1Y3QgdGFsaXRvc19jcnlwdG9fYWxnICp0X2FsZzsKKworCQkJdF9hbGcgPSB0YWxpdG9zX2FsZ19hbGxvYyhkZXYsICZkcml2ZXJfYWxnc1tpXSk7CisJCQlpZiAoSVNfRVJSKHRfYWxnKSkgeworCQkJCWVyciA9IFBUUl9FUlIodF9hbGcpOworCQkJCWdvdG8gZXJyX291dDsKKwkJCX0KKworCQkJZXJyID0gY3J5cHRvX3JlZ2lzdGVyX2FsZygmdF9hbGctPmNyeXB0b19hbGcpOworCQkJaWYgKGVycikgeworCQkJCWRldl9lcnIoZGV2LCAiJXMgYWxnIHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIsCisJCQkJCXRfYWxnLT5jcnlwdG9fYWxnLmNyYV9kcml2ZXJfbmFtZSk7CisJCQkJa2ZyZWUodF9hbGcpOworCQkJfSBlbHNlIHsKKwkJCQlsaXN0X2FkZF90YWlsKCZ0X2FsZy0+ZW50cnksICZwcml2LT5hbGdfbGlzdCk7CisJCQkJZGV2X2luZm8oZGV2LCAiJXNcbiIsCisJCQkJCSB0X2FsZy0+Y3J5cHRvX2FsZy5jcmFfZHJpdmVyX25hbWUpOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIDA7CisKK2Vycl9vdXQ6CisJdGFsaXRvc19yZW1vdmUob2ZkZXYpOworCWlmIChucCkKKwkJb2Zfbm9kZV9wdXQobnApOworCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIHN0cnVjdCBvZl9kZXZpY2VfaWQgdGFsaXRvc19tYXRjaFtdID0geworCXsKKwkJLmNvbXBhdGlibGUgPSAiZnNsLHNlYzIuMCIsCisJfSwKKwl7fSwKK307CitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCB0YWxpdG9zX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBvZl9wbGF0Zm9ybV9kcml2ZXIgdGFsaXRvc19kcml2ZXIgPSB7CisJLm5hbWUgPSAidGFsaXRvcyIsCisJLm1hdGNoX3RhYmxlID0gdGFsaXRvc19tYXRjaCwKKwkucHJvYmUgPSB0YWxpdG9zX3Byb2JlLAorCS5yZW1vdmUgPSBfX2RldmV4aXRfcCh0YWxpdG9zX3JlbW92ZSksCit9OworCitzdGF0aWMgaW50IF9faW5pdCB0YWxpdG9zX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gb2ZfcmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZ0YWxpdG9zX2RyaXZlcik7Cit9Cittb2R1bGVfaW5pdCh0YWxpdG9zX2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgdGFsaXRvc19leGl0KHZvaWQpCit7CisJb2ZfdW5yZWdpc3Rlcl9wbGF0Zm9ybV9kcml2ZXIoJnRhbGl0b3NfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KHRhbGl0b3NfZXhpdCk7CisKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BVVRIT1IoIktpbSBQaGlsbGlwcyA8a2ltLnBoaWxsaXBzQGZyZWVzY2FsZS5jb20+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkZyZWVzY2FsZSBpbnRlZ3JhdGVkIHNlY3VyaXR5IGVuZ2luZSAoU0VDKSBkcml2ZXIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuaCBiL2RyaXZlcnMvY3J5cHRvL3RhbGl0b3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDhhNDA1Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9jcnlwdG8vdGFsaXRvcy5oCkBAIC0wLDAgKzEsMTk5IEBACisvKgorICogRnJlZXNjYWxlIFNFQyAodGFsaXRvcykgZGV2aWNlIHJlZ2lzdGVyIGFuZCBkZXNjcmlwdG9yIGhlYWRlciBkZWZpbmVzCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA2LTIwMDggRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMKKyAqICAgIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELgorICogSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULAorICogSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisgKiBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKi8KKworLyoKKyAqIFRBTElUT1NfeHh4X0xPIGFkZHJlc3NlcyBwb2ludCB0byB0aGUgbG93IGRhdGEgYml0cyAoMzItNjMpIG9mIHRoZSByZWdpc3RlcgorICovCisKKy8qIGdsb2JhbCByZWdpc3RlciBvZmZzZXQgYWRkcmVzc2VzICovCisjZGVmaW5lIFRBTElUT1NfTUNSCQkJMHgxMDMwICAvKiBtYXN0ZXIgY29udHJvbCByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX01DUl9MTwkJCTB4MTAzOAorI2RlZmluZSAgIFRBTElUT1NfTUNSX1NXUgkJMHgxICAgICAvKiBzL3cgcmVzZXQgKi8KKyNkZWZpbmUgVEFMSVRPU19JTVIJCQkweDEwMDggIC8qIGludGVycnVwdCBtYXNrIHJlZ2lzdGVyICovCisjZGVmaW5lICAgVEFMSVRPU19JTVJfSU5JVAkJMHgxMGZmZiAvKiBlbmFibGUgY2hhbm5lbCBJUlFzICovCisjZGVmaW5lIFRBTElUT1NfSU1SX0xPCQkJMHgxMDBDCisjZGVmaW5lICAgVEFMSVRPU19JTVJfTE9fSU5JVAkJMHgyMDAwMCAvKiBhbGxvdyBSTkdVIGVycm9yIElSUXMgKi8KKyNkZWZpbmUgVEFMSVRPU19JU1IJCQkweDEwMTAgIC8qIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0lTUl9DSEVSUgkJMHhhYSAgICAvKiBjaGFubmVsIGVycm9ycyBtYXNrICovCisjZGVmaW5lICAgVEFMSVRPU19JU1JfQ0hET05FCQkweDU1ICAgIC8qIGNoYW5uZWwgZG9uZSBtYXNrICovCisjZGVmaW5lIFRBTElUT1NfSVNSX0xPCQkJMHgxMDE0CisjZGVmaW5lIFRBTElUT1NfSUNSCQkJMHgxMDE4ICAvKiBpbnRlcnJ1cHQgY2xlYXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19JQ1JfTE8JCQkweDEwMUMKKworLyogY2hhbm5lbCByZWdpc3RlciBhZGRyZXNzIHN0cmlkZSAqLworI2RlZmluZSBUQUxJVE9TX0NIX1NUUklERQkJMHgxMDAKKworLyogY2hhbm5lbCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICAqLworI2RlZmluZSBUQUxJVE9TX0NDQ1IoY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTEwOCkKKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfQ09OVAkJMHgyICAgIC8qIGNoYW5uZWwgY29udGludWUgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfUkVTRVQJCTB4MSAgICAvKiBjaGFubmVsIHJlc2V0ICovCisjZGVmaW5lIFRBTElUT1NfQ0NDUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTBjKQorI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9MT19DRFdFCQkweDEwICAgLyogY2hhbi4gZG9uZSB3cml0ZWJhY2sgZW5hYi4gKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDQ1JfTE9fTlQJCTB4NCAgICAvKiBub3RpZmljYXRpb24gdHlwZSAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NDUl9MT19DRElFCQkweDIgICAgLyogY2hhbm5lbCBkb25lIElSUSBlbmFibGUgKi8KKworLyogQ0NQU1I6IGNoYW5uZWwgcG9pbnRlciBzdGF0dXMgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19DQ1BTUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTEwKQorI2RlZmluZSBUQUxJVE9TX0NDUFNSX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExMTQpCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19ET0YJCTB4ODAwMCAvKiBkb3VibGUgRkYgd3JpdGUgb2Zsb3cgZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NPRgkJMHg0MDAwIC8qIHNpbmdsZSBGRiB3cml0ZSBvZmxvdyBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fTURURQkJMHgyMDAwIC8qIG1hc3RlciBkYXRhIHRyYW5zZmVyIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19TR0RMWgkweDEwMDAgLyogcy9nIGRhdGEgbGVuIHplcm8gZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX0ZQWgkJMHgwODAwIC8qIGZldGNoIHB0ciB6ZXJvIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19JREgJCTB4MDQwMCAvKiBpbGxlZ2FsIGRlc2MgaGRyIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19JRVUJCTB4MDIwMCAvKiBpbnZhbGlkIEVVIGVycm9yICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19FVQkJMHgwMTAwIC8qIEVVIGVycm9yIGRldGVjdGVkICovCisjZGVmaW5lICAgVEFMSVRPU19DQ1BTUl9MT19HQgkJMHgwMDgwIC8qIGdhdGhlciBib3VuZGFyeSBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fR1JMCQkweDAwNDAgLyogZ2F0aGVyIHJldHVybi9sZW5ndGggZXJyb3IgKi8KKyNkZWZpbmUgICBUQUxJVE9TX0NDUFNSX0xPX1NCCQkweDAwMjAgLyogc2NhdHRlciBib3VuZGFyeSBlcnJvciAqLworI2RlZmluZSAgIFRBTElUT1NfQ0NQU1JfTE9fU1JMCQkweDAwMTAgLyogc2NhdHRlciByZXR1cm4vbGVuZ3RoIGVycm9yICovCisKKy8qIGNoYW5uZWwgZmV0Y2ggZmlmbyByZWdpc3RlciAqLworI2RlZmluZSBUQUxJVE9TX0ZGKGNoKQkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTQ4KQorI2RlZmluZSBUQUxJVE9TX0ZGX0xPKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExNGMpCisKKy8qIGN1cnJlbnQgZGVzY3JpcHRvciBwb2ludGVyIHJlZ2lzdGVyICovCisjZGVmaW5lIFRBTElUT1NfQ0RQUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTQwKQorI2RlZmluZSBUQUxJVE9TX0NEUFJfTE8oY2gpCQkoY2ggKiBUQUxJVE9TX0NIX1NUUklERSArIDB4MTE0NCkKKworLyogZGVzY3JpcHRvciBidWZmZXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgVEFMSVRPU19ERVNDQlVGKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExODApCisjZGVmaW5lIFRBTElUT1NfREVTQ0JVRl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMTg0KQorCisvKiBnYXRoZXIgbGluayB0YWJsZSAqLworI2RlZmluZSBUQUxJVE9TX0dBVEhFUihjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWMwKQorI2RlZmluZSBUQUxJVE9TX0dBVEhFUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWM0KQorCisvKiBzY2F0dGVyIGxpbmsgdGFibGUgKi8KKyNkZWZpbmUgVEFMSVRPU19TQ0FUVEVSKGNoKQkJKGNoICogVEFMSVRPU19DSF9TVFJJREUgKyAweDExZTApCisjZGVmaW5lIFRBTElUT1NfU0NBVFRFUl9MTyhjaCkJCShjaCAqIFRBTElUT1NfQ0hfU1RSSURFICsgMHgxMWU0KQorCisvKiBleGVjdXRpb24gdW5pdCBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVycyAqLworI2RlZmluZSBUQUxJVE9TX0RFVUlTUgkJCTB4MjAzMCAvKiBERVMgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0RFVUlTUl9MTwkJMHgyMDM0CisjZGVmaW5lIFRBTElUT1NfQUVTVUlTUgkJCTB4NDAzMCAvKiBBRVMgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX0FFU1VJU1JfTE8JCTB4NDAzNAorI2RlZmluZSBUQUxJVE9TX01ERVVJU1IJCQkweDYwMzAgLyogbWVzc2FnZSBkaWdlc3QgdW5pdCAqLworI2RlZmluZSBUQUxJVE9TX01ERVVJU1JfTE8JCTB4NjAzNAorI2RlZmluZSBUQUxJVE9TX0FGRVVJU1IJCQkweDgwMzAgLyogYXJjNCB1bml0ICovCisjZGVmaW5lIFRBTElUT1NfQUZFVUlTUl9MTwkJMHg4MDM0CisjZGVmaW5lIFRBTElUT1NfUk5HVUlTUgkJCTB4YTAzMCAvKiByYW5kb20gbnVtYmVyIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVSVNSX0xPCQkweGEwMzQKKyNkZWZpbmUgVEFMSVRPU19STkdVU1IJCQkweGEwMjggLyogcm5nIHN0YXR1cyAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VTUl9MTwkJMHhhMDJjCisjZGVmaW5lICAgVEFMSVRPU19STkdVU1JfTE9fUkQJCTB4MQkvKiByZXNldCBkb25lICovCisjZGVmaW5lICAgVEFMSVRPU19STkdVU1JfTE9fT0ZMCQkweGZmMDAwMC8qIG91dHB1dCBGSUZPIGxlbmd0aCAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VEU1IJCQkweGEwMTAJLyogZGF0YSBzaXplICovCisjZGVmaW5lIFRBTElUT1NfUk5HVURTUl9MTwkJMHhhMDE0CisjZGVmaW5lIFRBTElUT1NfUk5HVV9GSUZPCQkweGE4MDAJLyogb3V0cHV0IEZJRk8gKi8KKyNkZWZpbmUgVEFMSVRPU19STkdVX0ZJRk9fTE8JCTB4YTgwNAkvKiBvdXRwdXQgRklGTyAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VSQ1IJCQkweGEwMTgJLyogcmVzZXQgY29udHJvbCAqLworI2RlZmluZSBUQUxJVE9TX1JOR1VSQ1JfTE8JCTB4YTAxYworI2RlZmluZSAgIFRBTElUT1NfUk5HVVJDUl9MT19TUgkJMHgxCS8qIHNvZnR3YXJlIHJlc2V0ICovCisjZGVmaW5lIFRBTElUT1NfUEtFVUlTUgkJCTB4YzAzMCAvKiBwdWJsaWMga2V5IHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19QS0VVSVNSX0xPCQkweGMwMzQKKyNkZWZpbmUgVEFMSVRPU19LRVVJU1IJCQkweGUwMzAgLyoga2FzdW1pIHVuaXQgKi8KKyNkZWZpbmUgVEFMSVRPU19LRVVJU1JfTE8JCTB4ZTAzNAorI2RlZmluZSBUQUxJVE9TX0NSQ1VJU1IJCQkweGYwMzAgLyogY3ljbGljIHJlZHVuZGFuY3kgY2hlY2sgdW5pdCovCisjZGVmaW5lIFRBTElUT1NfQ1JDVUlTUl9MTwkJMHhmMDM0CisKKy8qCisgKiB0YWxpdG9zIGRlc2NyaXB0b3IgaGVhZGVyIChoZHIpIGJpdHMKKyAqLworCisvKiB3cml0dGVuIGJhY2sgd2hlbiBkb25lICovCisjZGVmaW5lIERFU0NfSERSX0RPTkUJCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4ZmYwMDAwMDApCisKKy8qIHByaW1hcnkgZXhlY3V0aW9uIHVuaXQgc2VsZWN0ICovCisjZGVmaW5lCURFU0NfSERSX1NFTDBfTUFTSwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweGYwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0FGRVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgxMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9ERVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgyMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9NREVVQQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDMwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX01ERVVCCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4YjAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfUk5HCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4NDAwMDAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDBfUEtFVQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDUwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwwX0FFU1UJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg2MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9LRVUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHg3MDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMF9DUkNVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4ODAwMDAwMDApCisKKy8qIHByaW1hcnkgZXhlY3V0aW9uIHVuaXQgbW9kZSAoTU9ERTApIGFuZCBkZXJpdmF0aXZlcyAqLworI2RlZmluZQlERVNDX0hEUl9NT0RFMF9FTkNSWVBUCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAxMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX0FFU1VfQ0JDCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAyMDAwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUwX0RFVV9DQkMJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDQwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfREVVXzNERVMJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDIwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9JTklUCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMTAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9ITUFDCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDgwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9QQUQJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDQwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9NRDUJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDIwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEEyNTYJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMTAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX1NIQTEJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMDAwMDAwKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMF9NREVVX01ENV9ITUFDCShERVNDX0hEUl9NT0RFMF9NREVVX01ENSB8IFwKKwkJCQkJIERFU0NfSERSX01PREUwX01ERVVfSE1BQykKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTBfTURFVV9TSEEyNTZfSE1BQwkoREVTQ19IRFJfTU9ERTBfTURFVV9TSEEyNTYgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUwX01ERVVfU0hBMV9ITUFDCShERVNDX0hEUl9NT0RFMF9NREVVX1NIQTEgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMF9NREVVX0hNQUMpCisKKy8qIHNlY29uZGFyeSBleGVjdXRpb24gdW5pdCBzZWxlY3QgKFNFTDEpICovCisjZGVmaW5lCURFU0NfSERSX1NFTDFfTUFTSwkJX19jb25zdGFudF9jcHVfdG9fYmUzMigweDAwMGYwMDAwKQorI2RlZmluZQlERVNDX0hEUl9TRUwxX01ERVVBCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMzAwMDApCisjZGVmaW5lCURFU0NfSERSX1NFTDFfTURFVUIJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDBiMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfU0VMMV9DUkNVCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwODAwMDApCisKKy8qIHNlY29uZGFyeSBleGVjdXRpb24gdW5pdCBtb2RlIChNT0RFMSkgYW5kIGRlcml2YXRpdmVzICovCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfSU5JVAlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDEwMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfSE1BQwlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDA4MDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfUEFECQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDA0MDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfTUQ1CQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAyMDApCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMjU2CV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDEwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9TSEExCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMCkKKyNkZWZpbmUJREVTQ19IRFJfTU9ERTFfTURFVV9NRDVfSE1BQwkoREVTQ19IRFJfTU9ERTFfTURFVV9NRDUgfCBcCisJCQkJCSBERVNDX0hEUl9NT0RFMV9NREVVX0hNQUMpCisjZGVmaW5lCURFU0NfSERSX01PREUxX01ERVVfU0hBMjU2X0hNQUMJKERFU0NfSERSX01PREUxX01ERVVfU0hBMjU2IHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDKQorI2RlZmluZQlERVNDX0hEUl9NT0RFMV9NREVVX1NIQTFfSE1BQwkoREVTQ19IRFJfTU9ERTFfTURFVV9TSEExIHwgXAorCQkJCQkgREVTQ19IRFJfTU9ERTFfTURFVV9ITUFDKQorCisvKiBkaXJlY3Rpb24gb2Ygb3ZlcmFsbCBkYXRhIGZsb3cgKERJUikgKi8KKyNkZWZpbmUJREVTQ19IRFJfRElSX0lOQk9VTkQJCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoMHgwMDAwMDAwMikKKworLyogcmVxdWVzdCBkb25lIG5vdGlmaWNhdGlvbiAoRE4pICovCisjZGVmaW5lCURFU0NfSERSX0RPTkVfTk9USUZZCQlfX2NvbnN0YW50X2NwdV90b19iZTMyKDB4MDAwMDAwMDEpCisKKy8qIGRlc2NyaXB0b3IgdHlwZXMgKi8KKyNkZWZpbmUgREVTQ19IRFJfVFlQRV9BRVNVX0NUUl9OT05TTk9PUAkJX19jb25zdGFudF9jcHVfdG9fYmUzMigwIDw8IDMpCisjZGVmaW5lIERFU0NfSERSX1RZUEVfSVBTRUNfRVNQCQkJX19jb25zdGFudF9jcHVfdG9fYmUzMigxIDw8IDMpCisjZGVmaW5lIERFU0NfSERSX1RZUEVfQ09NTU9OX05PTlNOT09QX05PX0FGRVUJX19jb25zdGFudF9jcHVfdG9fYmUzMigyIDw8IDMpCisjZGVmaW5lIERFU0NfSERSX1RZUEVfSE1BQ19TTk9PUF9OT19BRkVVCV9fY29uc3RhbnRfY3B1X3RvX2JlMzIoNCA8PCAzKQorCisvKiBsaW5rIHRhYmxlIGV4dGVudCBmaWVsZCBiaXRzICovCisjZGVmaW5lIERFU0NfUFRSX0xOS1RCTF9KVU1QCQkJMHg4MAorI2RlZmluZSBERVNDX1BUUl9MTktUQkxfUkVUVVJOCQkJMHgwMgorI2RlZmluZSBERVNDX1BUUl9MTktUQkxfTkVYVAkJCTB4MDEKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctY2FyZC5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMKaW5kZXggNWI0YzBkOS4uZGE4NzNkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1jYXJkLmMKQEAgLTE2LDEyICsxNiwxNSBAQAogICogSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KICAqLwogCi0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CisjaW5jbHVkZSA8bGludXgvY3JjLWl0dS10Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2tyZWYuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgotI2luY2x1ZGUgPGxpbnV4L2NyYy1pdHUtdC5oPgorCiAjaW5jbHVkZSAiZnctdHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJmdy10b3BvbG9neS5oIgogI2luY2x1ZGUgImZ3LWRldmljZS5oIgpAQCAtMzk2LDE0ICszOTksMTYgQEAKIHsKIAlzdGF0aWMgYXRvbWljX3QgaW5kZXggPSBBVE9NSUNfSU5JVCgtMSk7CiAKLQlhdG9taWNfc2V0KCZjYXJkLT5kZXZpY2VfY291bnQsIDApOwogCWNhcmQtPmluZGV4ID0gYXRvbWljX2luY19yZXR1cm4oJmluZGV4KTsKIAljYXJkLT5kcml2ZXIgPSBkcml2ZXI7CiAJY2FyZC0+ZGV2aWNlID0gZGV2aWNlOwogCWNhcmQtPmN1cnJlbnRfdGxhYmVsID0gMDsKIAljYXJkLT50bGFiZWxfbWFzayA9IDA7CiAJY2FyZC0+Y29sb3IgPSAwOworCWNhcmQtPmJyb2FkY2FzdF9jaGFubmVsID0gQlJPQURDQVNUX0NIQU5ORUxfSU5JVElBTDsKIAorCWtyZWZfaW5pdCgmY2FyZC0+a3JlZik7CisJaW5pdF9jb21wbGV0aW9uKCZjYXJkLT5kb25lKTsKIAlJTklUX0xJU1RfSEVBRCgmY2FyZC0+dHJhbnNhY3Rpb25fbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJmNhcmQtPmxvY2spOwogCXNldHVwX3RpbWVyKCZjYXJkLT5mbHVzaF90aW1lciwKQEAgLTQ5Niw3ICs1MDEsNiBAQAogfQogCiBzdGF0aWMgc3RydWN0IGZ3X2NhcmRfZHJpdmVyIGR1bW15X2RyaXZlciA9IHsKLQkubmFtZSAgICAgICAgICAgID0gImR1bW15IiwKIAkuZW5hYmxlICAgICAgICAgID0gZHVtbXlfZW5hYmxlLAogCS51cGRhdGVfcGh5X3JlZyAgPSBkdW1teV91cGRhdGVfcGh5X3JlZywKIAkuc2V0X2NvbmZpZ19yb20gID0gZHVtbXlfc2V0X2NvbmZpZ19yb20sCkBAIC01MDcsNiArNTExLDE0IEBACiB9OwogCiB2b2lkCitmd19jYXJkX3JlbGVhc2Uoc3RydWN0IGtyZWYgKmtyZWYpCit7CisJc3RydWN0IGZ3X2NhcmQgKmNhcmQgPSBjb250YWluZXJfb2Yoa3JlZiwgc3RydWN0IGZ3X2NhcmQsIGtyZWYpOworCisJY29tcGxldGUoJmNhcmQtPmRvbmUpOworfQorCit2b2lkCiBmd19jb3JlX3JlbW92ZV9jYXJkKHN0cnVjdCBmd19jYXJkICpjYXJkKQogewogCWNhcmQtPmRyaXZlci0+dXBkYXRlX3BoeV9yZWcoY2FyZCwgNCwKQEAgLTUyMSwxMiArNTMzLDEwIEBACiAJY2FyZC0+ZHJpdmVyID0gJmR1bW15X2RyaXZlcjsKIAogCWZ3X2Rlc3Ryb3lfbm9kZXMoY2FyZCk7Ci0JLyoKLQkgKiBXYWl0IGZvciBhbGwgZGV2aWNlIHdvcmtxdWV1ZSBqb2JzIHRvIGZpbmlzaC4gIE90aGVyd2lzZSB0aGUKLQkgKiBmaXJld2lyZS1jb3JlIG1vZHVsZSBjb3VsZCBiZSB1bmxvYWRlZCBiZWZvcmUgdGhlIGpvYnMgcmFuLgotCSAqLwotCXdoaWxlIChhdG9taWNfcmVhZCgmY2FyZC0+ZGV2aWNlX2NvdW50KSA+IDApCi0JCW1zbGVlcCgxMDApOworCisJLyogV2FpdCBmb3IgYWxsIHVzZXJzLCBlc3BlY2lhbGx5IGRldmljZSB3b3JrcXVldWUgam9icywgdG8gZmluaXNoLiAqLworCWZ3X2NhcmRfcHV0KGNhcmQpOworCXdhaXRfZm9yX2NvbXBsZXRpb24oJmNhcmQtPmRvbmUpOwogCiAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZjYXJkLT53b3JrKTsKIAlmd19mbHVzaF90cmFuc2FjdGlvbnMoY2FyZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuYwppbmRleCBkOWM4ZGFmLi4wODU1ZmI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmMKQEAgLTE2OCw3ICsxNjgsNyBAQAogCWZ3X25vZGVfcHV0KGRldmljZS0+bm9kZSk7CiAJa2ZyZWUoZGV2aWNlLT5jb25maWdfcm9tKTsKIAlrZnJlZShkZXZpY2UpOwotCWF0b21pY19kZWMoJmNhcmQtPmRldmljZV9jb3VudCk7CisJZndfY2FyZF9wdXQoY2FyZCk7CiB9CiAKIGludCBmd19kZXZpY2VfZW5hYmxlX3BoeXNfZG1hKHN0cnVjdCBmd19kZXZpY2UgKmRldmljZSkKQEAgLTk0Niw4ICs5NDYsNyBAQAogCQkgKi8KIAkJZGV2aWNlX2luaXRpYWxpemUoJmRldmljZS0+ZGV2aWNlKTsKIAkJYXRvbWljX3NldCgmZGV2aWNlLT5zdGF0ZSwgRldfREVWSUNFX0lOSVRJQUxJWklORyk7Ci0JCWF0b21pY19pbmMoJmNhcmQtPmRldmljZV9jb3VudCk7Ci0JCWRldmljZS0+Y2FyZCA9IGNhcmQ7CisJCWRldmljZS0+Y2FyZCA9IGZ3X2NhcmRfZ2V0KGNhcmQpOwogCQlkZXZpY2UtPm5vZGUgPSBmd19ub2RlX2dldChub2RlKTsKIAkJZGV2aWNlLT5ub2RlX2lkID0gbm9kZS0+bm9kZV9pZDsKIAkJZGV2aWNlLT5nZW5lcmF0aW9uID0gY2FyZC0+Z2VuZXJhdGlvbjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmggYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LWRldmljZS5oCmluZGV4IDVmMTMxZjUuLjQyMzA1YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctZGV2aWNlLmgKKysrIGIvZHJpdmVycy9maXJld2lyZS9mdy1kZXZpY2UuaApAQCAtNjIsNyArNjIsNiBAQAogCWJvb2wgY21jOwogCXN0cnVjdCBmd19jYXJkICpjYXJkOwogCXN0cnVjdCBkZXZpY2UgZGV2aWNlOwotCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGNsaWVudF9saXN0OwogCXUzMiAqY29uZmlnX3JvbTsKIAlzaXplX3QgY29uZmlnX3JvbV9sZW5ndGg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LW9oY2kuYyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jCmluZGV4IDBiNjYzMDYuLjMzM2IxMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctb2hjaS5jCkBAIC0yMjkyLDcgKzIyOTIsNiBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZ3X2NhcmRfZHJpdmVyIG9oY2lfZHJpdmVyID0gewotCS5uYW1lCQkJPSBvaGNpX2RyaXZlcl9uYW1lLAogCS5lbmFibGUJCQk9IG9oY2lfZW5hYmxlLAogCS51cGRhdGVfcGh5X3JlZwkJPSBvaGNpX3VwZGF0ZV9waHlfcmVnLAogCS5zZXRfY29uZmlnX3JvbQkJPSBvaGNpX3NldF9jb25maWdfcm9tLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy1zYnAyLmMgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXNicDIuYwppbmRleCAyMjdkMmUwLi41M2ZjNWE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXNicDIuYworKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXNicDIuYwpAQCAtODYsNiArODYsMTEgQEAKICAqIC0gZGVsYXkgaW5xdWlyeQogICogICBXYWl0IGV4dHJhIFNCUDJfSU5RVUlSWV9ERUxBWSBzZWNvbmRzIGFmdGVyIGxvZ2luIGJlZm9yZSBTQ1NJIGlucXVpcnkuCiAgKgorICogLSBwb3dlciBjb25kaXRpb24KKyAqICAgU2V0IHRoZSBwb3dlciBjb25kaXRpb24gZmllbGQgaW4gdGhlIFNUQVJUIFNUT1AgVU5JVCBjb21tYW5kcyBzZW50IGJ5CisgKiAgIHNkX21vZCBvbiBzdXNwZW5kLCByZXN1bWUsIGFuZCBzaHV0ZG93biAoaWYgbWFuYWdlX3N0YXJ0X3N0b3AgaXMgb24pLgorICogICBTb21lIGRpc2tzIG5lZWQgdGhpcyB0byBzcGluIGRvd24gb3IgdG8gcmVzdW1lIHByb3Blcmx5LgorICoKICAqIC0gb3ZlcnJpZGUgaW50ZXJuYWwgYmxhY2tsaXN0CiAgKiAgIEluc3RlYWQgb2YgYWRkaW5nIHRvIHRoZSBidWlsdC1pbiBibGFja2xpc3QsIHVzZSBvbmx5IHRoZSB3b3JrYXJvdW5kcwogICogICBzcGVjaWZpZWQgaW4gdGhlIG1vZHVsZSBsb2FkIHBhcmFtZXRlci4KQEAgLTk3LDYgKzEwMiw3IEBACiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkJMHg4CiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZCTB4MTAKICNkZWZpbmUgU0JQMl9JTlFVSVJZX0RFTEFZCQkxMgorI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OCTB4MjAKICNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX09WRVJSSURFCTB4MTAwCiAKIHN0YXRpYyBpbnQgc2JwMl9wYXJhbV93b3JrYXJvdW5kczsKQEAgLTEwNyw2ICsxMTMsOCBAQAogCSIsIHNraXAgbW9kZSBwYWdlIDggPSAiICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCkKIAkiLCBmaXggY2FwYWNpdHkgPSAiICAgICAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkpCiAJIiwgZGVsYXkgaW5xdWlyeSA9ICIgICAgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSkKKwkiLCBzZXQgcG93ZXIgY29uZGl0aW9uIGluIHN0YXJ0IHN0b3AgdW5pdCA9ICIKKwkJCQkgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04pCiAJIiwgb3ZlcnJpZGUgaW50ZXJuYWwgYmxhY2tsaXN0ID0gIiBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfT1ZFUlJJREUpCiAJIiwgb3IgYSBjb21iaW5hdGlvbikiKTsKIApAQCAtMzEwLDE4ICszMTgsMjUgQEAKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDI4MDAsCiAJCS5tb2RlbAkJCT0gMHgwMDEwMTAsCiAJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfSU5RVUlSWV8zNiB8Ci0JCQkJCSAgU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84IHwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAogCX0sCiAJLyogRFZpQ08gTW9tb2JheSBGWC0zQSB3aXRoIFRTQjQyQUE5QSBicmlkZ2UgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMjgwMCwKIAkJLm1vZGVsCQkJPSAweDAwMDAwMCwKLQkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZLAorCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0RFTEFZX0lOUVVJUlkgfAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCiAJfSwKIAkvKiBJbml0aW8gYnJpZGdlcywgYWN0dWFsbHkgb25seSBuZWVkZWQgZm9yIHNvbWUgb2xkZXIgb25lcyAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAwMjAwLAogCQkubW9kZWwJCQk9IH4wLAogCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0lOUVVJUllfMzYsCiAJfSwKKwkvKiBQTC0zNTA3IGJyaWRnZSB3aXRoIFByb2xpZmljIGZpcm13YXJlICovIHsKKwkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMTI4MDAsCisJCS5tb2RlbAkJCT0gfjAsCisJCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAorCX0sCiAJLyogU3ltYmlvcyBicmlkZ2UgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweGEwYjgwMCwKIAkJLm1vZGVsCQkJPSB+MCwKQEAgLTE1MzAsNiArMTU0NSw5IEBACiAKIAlzZGV2LT51c2VfMTBfZm9yX3J3ID0gMTsKIAorCWlmIChzYnAyX3BhcmFtX2V4Y2x1c2l2ZV9sb2dpbikKKwkJc2Rldi0+bWFuYWdlX3N0YXJ0X3N0b3AgPSAxOworCiAJaWYgKHNkZXYtPnR5cGUgPT0gVFlQRV9ST00pCiAJCXNkZXYtPnVzZV8xMF9mb3JfbXMgPSAxOwogCkBAIC0xNTQwLDYgKzE1NTgsOSBAQAogCWlmIChsdS0+dGd0LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkpCiAJCXNkZXYtPmZpeF9jYXBhY2l0eSA9IDE7CiAKKwlpZiAobHUtPnRndC0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OKQorCQlzZGV2LT5zdGFydF9zdG9wX3B3cl9jb25kID0gMTsKKwogCWlmIChsdS0+dGd0LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF8xMjhLX01BWF9UUkFOUykKIAkJYmxrX3F1ZXVlX21heF9zZWN0b3JzKHNkZXYtPnJlcXVlc3RfcXVldWUsIDEyOCAqIDEwMjQgLyA1MTIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmMgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmMKaW5kZXggMDNhZThhNy4uNDBkYjgwNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5jCisrKyBiL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uYwpAQCAtNTUsNiArNTUsOSBAQAogI2RlZmluZSBIRUFERVJfR0VUX0RBVEFfTEVOR1RIKHEpCSgoKHEpID4+IDE2KSAmIDB4ZmZmZikKICNkZWZpbmUgSEVBREVSX0dFVF9FWFRFTkRFRF9UQ09ERShxKQkoKChxKSA+PiAwKSAmIDB4ZmZmZikKIAorI2RlZmluZSBIRUFERVJfREVTVElOQVRJT05fSVNfQlJPQURDQVNUKHEpIFwKKwkoKChxKSAmIEhFQURFUl9ERVNUSU5BVElPTigweDNmKSkgPT0gSEVBREVSX0RFU1RJTkFUSU9OKDB4M2YpKQorCiAjZGVmaW5lIFBIWV9DT05GSUdfR0FQX0NPVU5UKGdhcF9jb3VudCkJKCgoZ2FwX2NvdW50KSA8PCAxNikgfCAoMSA8PCAyMikpCiAjZGVmaW5lIFBIWV9DT05GSUdfUk9PVF9JRChub2RlX2lkKQkoKCgobm9kZV9pZCkgJiAweDNmKSA8PCAyNCkgfCAoMSA8PCAyMykpCiAjZGVmaW5lIFBIWV9JREVOVElGSUVSKGlkKQkJKChpZCkgPDwgMzApCkBAIC02MjQsMTIgKzYyNyw5IEBACiB2b2lkCiBmd19zZW5kX3Jlc3BvbnNlKHN0cnVjdCBmd19jYXJkICpjYXJkLCBzdHJ1Y3QgZndfcmVxdWVzdCAqcmVxdWVzdCwgaW50IHJjb2RlKQogewotCS8qCi0JICogQnJvYWRjYXN0IHBhY2tldHMgYXJlIHJlcG9ydGVkIGFzIEFDS19DT01QTEVURSwgc28gdGhpcwotCSAqIGNoZWNrIGlzIHN1ZmZpY2llbnQgdG8gZW5zdXJlIHdlIGRvbid0IHNlbmQgcmVzcG9uc2UgdG8KLQkgKiBicm9hZGNhc3QgcGFja2V0cyBvciBwb3N0ZWQgd3JpdGVzLgotCSAqLwotCWlmIChyZXF1ZXN0LT5hY2sgIT0gQUNLX1BFTkRJTkcpIHsKKwkvKiB1bmlmaWVkIHRyYW5zYWN0aW9uIG9yIGJyb2FkY2FzdCB0cmFuc2FjdGlvbjogZG9uJ3QgcmVzcG9uZCAqLworCWlmIChyZXF1ZXN0LT5hY2sgIT0gQUNLX1BFTkRJTkcgfHwKKwkgICAgSEVBREVSX0RFU1RJTkFUSU9OX0lTX0JST0FEQ0FTVChyZXF1ZXN0LT5yZXF1ZXN0X2hlYWRlclswXSkpIHsKIAkJa2ZyZWUocmVxdWVzdCk7CiAJCXJldHVybjsKIAl9CkBAIC04MTcsMTIgKzgxNywxMyBAQAogCWludCByZWcgPSBvZmZzZXQgJiB+Q1NSX1JFR0lTVEVSX0JBU0U7CiAJdW5zaWduZWQgbG9uZyBsb25nIGJ1c190aW1lOwogCV9fYmUzMiAqZGF0YSA9IHBheWxvYWQ7CisJaW50IHJjb2RlID0gUkNPREVfQ09NUExFVEU7CiAKIAlzd2l0Y2ggKHJlZykgewogCWNhc2UgQ1NSX0NZQ0xFX1RJTUU6CiAJY2FzZSBDU1JfQlVTX1RJTUU6CiAJCWlmICghVENPREVfSVNfUkVBRF9SRVFVRVNUKHRjb2RlKSB8fCBsZW5ndGggIT0gNCkgewotCQkJZndfc2VuZF9yZXNwb25zZShjYXJkLCByZXF1ZXN0LCBSQ09ERV9UWVBFX0VSUk9SKTsKKwkJCXJjb2RlID0gUkNPREVfVFlQRV9FUlJPUjsKIAkJCWJyZWFrOwogCQl9CiAKQEAgLTgzMSw3ICs4MzIsMTcgQEAKIAkJCSpkYXRhID0gY3B1X3RvX2JlMzIoYnVzX3RpbWUpOwogCQllbHNlCiAJCQkqZGF0YSA9IGNwdV90b19iZTMyKGJ1c190aW1lID4+IDI1KTsKLQkJZndfc2VuZF9yZXNwb25zZShjYXJkLCByZXF1ZXN0LCBSQ09ERV9DT01QTEVURSk7CisJCWJyZWFrOworCisJY2FzZSBDU1JfQlJPQURDQVNUX0NIQU5ORUw6CisJCWlmICh0Y29kZSA9PSBUQ09ERV9SRUFEX1FVQURMRVRfUkVRVUVTVCkKKwkJCSpkYXRhID0gY3B1X3RvX2JlMzIoY2FyZC0+YnJvYWRjYXN0X2NoYW5uZWwpOworCQllbHNlIGlmICh0Y29kZSA9PSBUQ09ERV9XUklURV9RVUFETEVUX1JFUVVFU1QpCisJCQljYXJkLT5icm9hZGNhc3RfY2hhbm5lbCA9CisJCQkgICAgKGJlMzJfdG9fY3B1KCpkYXRhKSAmIEJST0FEQ0FTVF9DSEFOTkVMX1ZBTElEKSB8CisJCQkgICAgQlJPQURDQVNUX0NIQU5ORUxfSU5JVElBTDsKKwkJZWxzZQorCQkJcmNvZGUgPSBSQ09ERV9UWVBFX0VSUk9SOwogCQlicmVhazsKIAogCWNhc2UgQ1NSX0JVU19NQU5BR0VSX0lEOgpAQCAtODUwLDEwICs4NjEsMTMgQEAKIAogCWNhc2UgQ1NSX0JVU1lfVElNRU9VVDoKIAkJLyogRklYTUU6IEltcGxlbWVudCB0aGlzLiAqLworCiAJZGVmYXVsdDoKLQkJZndfc2VuZF9yZXNwb25zZShjYXJkLCByZXF1ZXN0LCBSQ09ERV9BRERSRVNTX0VSUk9SKTsKKwkJcmNvZGUgPSBSQ09ERV9BRERSRVNTX0VSUk9SOwogCQlicmVhazsKIAl9CisKKwlmd19zZW5kX3Jlc3BvbnNlKGNhcmQsIHJlcXVlc3QsIHJjb2RlKTsKIH0KIAogc3RhdGljIHN0cnVjdCBmd19hZGRyZXNzX2hhbmRsZXIgcmVnaXN0ZXJzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5oIGIvZHJpdmVycy9maXJld2lyZS9mdy10cmFuc2FjdGlvbi5oCmluZGV4IDA0ZDM4NTQuLjJhZTFiMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlyZXdpcmUvZnctdHJhbnNhY3Rpb24uaAorKysgYi9kcml2ZXJzL2ZpcmV3aXJlL2Z3LXRyYW5zYWN0aW9uLmgKQEAgLTE5LDE0ICsxOSwxNSBAQAogI2lmbmRlZiBfX2Z3X3RyYW5zYWN0aW9uX2gKICNkZWZpbmUgX19md190cmFuc2FjdGlvbl9oCiAKKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvdGltZXIuaD4KLSNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Ci0jaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpcmV3aXJlLWNvbnN0YW50cy5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KKyNpbmNsdWRlIDxsaW51eC9rcmVmLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrX3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KIAogI2RlZmluZSBUQ09ERV9JU19SRUFEX1JFUVVFU1QodGNvZGUpCSgoKHRjb2RlKSAmIH4xKSA9PSA0KQogI2RlZmluZSBUQ09ERV9JU19CTE9DS19QQUNLRVQodGNvZGUpCSgoKHRjb2RlKSAmICAxKSAhPSAwKQpAQCAtODAsNiArODEsOSBAQAogI2RlZmluZSBDU1JfU1BFRURfTUFQCQkJMHgyMDAwCiAjZGVmaW5lIENTUl9TUEVFRF9NQVBfRU5ECQkweDMwMDAKIAorI2RlZmluZSBCUk9BRENBU1RfQ0hBTk5FTF9JTklUSUFMCSgxIDw8IDMxIHwgMzEpCisjZGVmaW5lIEJST0FEQ0FTVF9DSEFOTkVMX1ZBTElECQkoMSA8PCAzMCkKKwogI2RlZmluZSBmd19ub3RpZnkocywgYXJncy4uLikgcHJpbnRrKEtFUk5fTk9USUNFIEtCVUlMRF9NT0ROQU1FICI6ICIgcywgIyMgYXJncykKICNkZWZpbmUgZndfZXJyb3IocywgYXJncy4uLikgcHJpbnRrKEtFUk5fRVJSIEtCVUlMRF9NT0ROQU1FICI6ICIgcywgIyMgYXJncykKIApAQCAtMjE2LDcgKzIyMCw4IEBACiBzdHJ1Y3QgZndfY2FyZCB7CiAJY29uc3Qgc3RydWN0IGZ3X2NhcmRfZHJpdmVyICpkcml2ZXI7CiAJc3RydWN0IGRldmljZSAqZGV2aWNlOwotCWF0b21pY190IGRldmljZV9jb3VudDsKKwlzdHJ1Y3Qga3JlZiBrcmVmOworCXN0cnVjdCBjb21wbGV0aW9uIGRvbmU7CiAKIAlpbnQgbm9kZV9pZDsKIAlpbnQgZ2VuZXJhdGlvbjsKQEAgLTIzNiw2ICsyNDEsNyBAQAogCSAqLwogCWludCBzZWxmX2lkX2NvdW50OwogCXUzMiB0b3BvbG9neV9tYXBbMjUyICsgM107CisJdTMyIGJyb2FkY2FzdF9jaGFubmVsOwogCiAJc3BpbmxvY2tfdCBsb2NrOyAvKiBUYWtlIHRoaXMgbG9jayB3aGVuIGhhbmRsaW5nIHRoZSBsaXN0cyBpbgogCQkJICAqIHRoaXMgc3RydWN0LiAqLwpAQCAtMjU2LDYgKzI2MiwyMCBAQAogCWludCBibV9nZW5lcmF0aW9uOwogfTsKIAorc3RhdGljIGlubGluZSBzdHJ1Y3QgZndfY2FyZCAqZndfY2FyZF9nZXQoc3RydWN0IGZ3X2NhcmQgKmNhcmQpCit7CisJa3JlZl9nZXQoJmNhcmQtPmtyZWYpOworCisJcmV0dXJuIGNhcmQ7Cit9CisKK3ZvaWQgZndfY2FyZF9yZWxlYXNlKHN0cnVjdCBrcmVmICprcmVmKTsKKworc3RhdGljIGlubGluZSB2b2lkIGZ3X2NhcmRfcHV0KHN0cnVjdCBmd19jYXJkICpjYXJkKQoreworCWtyZWZfcHV0KCZjYXJkLT5rcmVmLCBmd19jYXJkX3JlbGVhc2UpOworfQorCiAvKgogICogVGhlIGlzbyBwYWNrZXQgZm9ybWF0IGFsbG93cyBmb3IgYW4gaW1tZWRpYXRlIGhlYWRlci9wYXlsb2FkIHBhcnQKICAqIHN0b3JlZCBpbiAnaGVhZGVyJyBpbW1lZGlhdGVseSBhZnRlciB0aGUgcGFja2V0IGluZm8gcGx1cyBhbgpAQCAtMzQ4LDggKzM2OCw2IEBACiBmd19pc29fY29udGV4dF9zdG9wKHN0cnVjdCBmd19pc29fY29udGV4dCAqY3R4KTsKIAogc3RydWN0IGZ3X2NhcmRfZHJpdmVyIHsKLQljb25zdCBjaGFyICpuYW1lOwotCiAJLyoKIAkgKiBFbmFibGUgdGhlIGdpdmVuIGNhcmQgd2l0aCB0aGUgZ2l2ZW4gaW5pdGlhbCBjb25maWcgcm9tLgogCSAqIFRoaXMgZnVuY3Rpb24gaXMgZXhwZWN0ZWQgdG8gYWN0aXZhdGUgdGhlIGNhcmQsIGFuZCBlaXRoZXIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvS2NvbmZpZyBiL2RyaXZlcnMvZmlybXdhcmUvS2NvbmZpZwppbmRleCBkYzJjZWM2Li5lYmI5ZTUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL0tjb25maWcKKysrIGIvZHJpdmVycy9maXJtd2FyZS9LY29uZmlnCkBAIC0yNiw2ICsyNiwxNiBAQAogCSAga2VybmVsLiBTYXkgTiBpZiB5b3Ugd2FudCBFREQgZW5hYmxlZCBieSBkZWZhdWx0LiBFREQgY2FuIGJlIGR5bmFtaWNhbGx5IHNldAogCSAgdXNpbmcgdGhlIGtlcm5lbCBwYXJhbWV0ZXIgJ2VkZD17b258c2tpcG1icnxvZmZ9Jy4KIAorY29uZmlnIEZJUk1XQVJFX01FTU1BUAorICAgIGJvb2wgIkFkZCBmaXJtd2FyZS1wcm92aWRlZCBtZW1vcnkgbWFwIHRvIHN5c2ZzIiBpZiBFTUJFRERFRAorICAgIGRlZmF1bHQgKFg4Nl82NCB8fCBYODZfMzIpCisgICAgaGVscAorICAgICAgQWRkIHRoZSBmaXJtd2FyZS1wcm92aWRlZCAodW5tb2RpZmllZCkgbWVtb3J5IG1hcCB0byAvc3lzL2Zpcm13YXJlL21lbW1hcC4KKyAgICAgIFRoYXQgbWVtb3J5IG1hcCBpcyB1c2VkIGZvciBleGFtcGxlIGJ5IGtleGVjIHRvIHNldCB1cCBwYXJhbWV0ZXIgYXJlYQorICAgICAgZm9yIHRoZSBuZXh0IGtlcm5lbCwgYnV0IGNhbiBhbHNvIGJlIHVzZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KKworICAgICAgU2VlIGFsc28gRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9zeXNmcy1maXJtd2FyZS1tZW1tYXAuCisKIGNvbmZpZyBFRklfVkFSUwogCXRyaXN0YXRlICJFRkkgVmFyaWFibGUgU3VwcG9ydCB2aWEgc3lzZnMiCiAJZGVwZW5kcyBvbiBFRkkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvTWFrZWZpbGUgYi9kcml2ZXJzL2Zpcm13YXJlL01ha2VmaWxlCmluZGV4IDRjOTE0NzEuLjFjM2MxNzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9maXJtd2FyZS9NYWtlZmlsZQpAQCAtMTAsMyArMTAsNCBAQAogb2JqLSQoQ09ORklHX0RNSUlEKQkJKz0gZG1pLWlkLm8KIG9iai0kKENPTkZJR19JU0NTSV9JQkZUX0ZJTkQpCSs9IGlzY3NpX2liZnRfZmluZC5vCiBvYmotJChDT05GSUdfSVNDU0lfSUJGVCkJKz0gaXNjc2lfaWJmdC5vCitvYmotJChDT05GSUdfRklSTVdBUkVfTUVNTUFQKQkrPSBtZW1tYXAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9kZWxsX3JidS5jIGIvZHJpdmVycy9maXJtd2FyZS9kZWxsX3JidS5jCmluZGV4IDZhOGIxZTAuLjc0MzBlMjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZmlybXdhcmUvZGVsbF9yYnUuYworKysgYi9kcml2ZXJzL2Zpcm13YXJlL2RlbGxfcmJ1LmMKQEAgLTIyMCw3ICsyMjAsNyBAQAogCXJldHVybiByZXR2YWw7CiB9CiAKLXN0YXRpYyBpbnQgcGFja2V0aXplX2RhdGEodm9pZCAqZGF0YSwgc2l6ZV90IGxlbmd0aCkKK3N0YXRpYyBpbnQgcGFja2V0aXplX2RhdGEoY29uc3QgdTggKmRhdGEsIHNpemVfdCBsZW5ndGgpCiB7CiAJaW50IHJjID0gMDsKIAlpbnQgZG9uZSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2RtaV9zY2FuLmMgYi9kcml2ZXJzL2Zpcm13YXJlL2RtaV9zY2FuLmMKaW5kZXggYzVlM2VkNy4uNDU1NTc1YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2FyZS9kbWlfc2Nhbi5jCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvZG1pX3NjYW4uYwpAQCAtOCw2ICs4LDExIEBACiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGFzbS9kbWkuaD4KIAorLyoKKyAqIERNSSBzdGFuZHMgZm9yICJEZXNrdG9wIE1hbmFnZW1lbnQgSW50ZXJmYWNlIi4gIEl0IGlzIHBhcnQKKyAqIG9mIGFuZCBhbiBhbnRlY2VkZW50IHRvLCBTTUJJT1MsIHdoaWNoIHN0YW5kcyBmb3IgU3lzdGVtCisgKiBNYW5hZ2VtZW50IEJJT1MuICBTZWUgZnVydGhlcjogaHR0cDovL3d3dy5kbXRmLm9yZy9zdGFuZGFyZHMKKyAqLwogc3RhdGljIGNoYXIgZG1pX2VtcHR5X3N0cmluZ1tdID0gIiAgICAgICAgIjsKIAogc3RhdGljIGNvbnN0IGNoYXIgKiBfX2luaXQgZG1pX3N0cmluZ19ub3NhdmUoY29uc3Qgc3RydWN0IGRtaV9oZWFkZXIgKmRtLCB1OCBzKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9maXJtd2FyZS9tZW1tYXAuYyBiL2RyaXZlcnMvZmlybXdhcmUvbWVtbWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIzMzk5YwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZmlybXdhcmUvbWVtbWFwLmMKQEAgLTAsMCArMSwyMDUgQEAKKy8qCisgKiBsaW51eC9kcml2ZXJzL2Zpcm13YXJlL21lbW1hcC5jCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IFNVU0UgTElOVVggUHJvZHVjdHMgR21iSAorICogIGJ5IEJlcm5oYXJkIFdhbGxlIDxid2FsbGVAc3VzZS5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2Mi4wIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS1tYXAuaD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KKworLyoKKyAqIERhdGEgdHlwZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworLyoKKyAqIEZpcm13YXJlIG1hcCBlbnRyeS4gQmVjYXVzZSBmaXJtd2FyZSBtZW1vcnkgbWFwcyBhcmUgZmxhdCBhbmQgbm90CisgKiBoaWVyYXJjaGljYWwsIGl0J3Mgb2sgdG8gb3JnYW5pc2UgdGhlbSBpbiBhIGxpbmtlZCBsaXN0LiBObyBwYXJlbnQKKyAqIGluZm9ybWF0aW9uIGlzIG5lY2Vzc2FyeSBhcyBmb3IgdGhlIHJlc291cmNlIHRyZWUuCisgKi8KK3N0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgeworCXJlc291cmNlX3NpemVfdAkJc3RhcnQ7CS8qIHN0YXJ0IG9mIHRoZSBtZW1vcnkgcmFuZ2UgKi8KKwlyZXNvdXJjZV9zaXplX3QJCWVuZDsJLyogZW5kIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKGluY2wuKSAqLworCWNvbnN0IGNoYXIJCSp0eXBlOwkvKiB0eXBlIG9mIHRoZSBtZW1vcnkgcmFuZ2UgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCWxpc3Q7CS8qIGVudHJ5IGZvciB0aGUgbGlua2VkIGxpc3QgKi8KKwlzdHJ1Y3Qga29iamVjdAkJa29iajsgICAvKiBrb2JqZWN0IGZvciBlYWNoIGVudHJ5ICovCit9OworCisvKgorICogRm9yd2FyZCBkZWNsYXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworc3RhdGljIHNzaXplX3QgbWVtbWFwX2F0dHJfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQlzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpOworc3RhdGljIHNzaXplX3Qgc3RhcnRfc2hvdyhzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKTsKK3N0YXRpYyBzc2l6ZV90IGVuZF9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpOworc3RhdGljIHNzaXplX3QgdHlwZV9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpOworCisvKgorICogU3RhdGljIGRhdGEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCitzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSB7CisJc3RydWN0IGF0dHJpYnV0ZSBhdHRyOworCXNzaXplX3QgKCpzaG93KShzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeSwgY2hhciAqYnVmKTsKK307CisKK3N0cnVjdCBtZW1tYXBfYXR0cmlidXRlIG1lbW1hcF9zdGFydF9hdHRyID0gX19BVFRSX1JPKHN0YXJ0KTsKK3N0cnVjdCBtZW1tYXBfYXR0cmlidXRlIG1lbW1hcF9lbmRfYXR0ciAgID0gX19BVFRSX1JPKGVuZCk7CitzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSBtZW1tYXBfdHlwZV9hdHRyICA9IF9fQVRUUl9STyh0eXBlKTsKKworLyoKKyAqIFRoZXNlIGFyZSBkZWZhdWx0IGF0dHJpYnV0ZXMgdGhhdCBhcmUgYWRkZWQgZm9yIGV2ZXJ5IG1lbW1hcCBlbnRyeS4KKyAqLworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmRlZl9hdHRyc1tdID0geworCSZtZW1tYXBfc3RhcnRfYXR0ci5hdHRyLAorCSZtZW1tYXBfZW5kX2F0dHIuYXR0ciwKKwkmbWVtbWFwX3R5cGVfYXR0ci5hdHRyLAorCU5VTEwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc3lzZnNfb3BzIG1lbW1hcF9hdHRyX29wcyA9IHsKKwkuc2hvdyA9IG1lbW1hcF9hdHRyX3Nob3csCit9OworCitzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBtZW1tYXBfa3R5cGUgPSB7CisJLnN5c2ZzX29wcwk9ICZtZW1tYXBfYXR0cl9vcHMsCisJLmRlZmF1bHRfYXR0cnMJPSBkZWZfYXR0cnMsCit9OworCisvKgorICogUmVnaXN0cmF0aW9uIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworCisvKgorICogRmlybXdhcmUgbWVtb3J5IG1hcCBlbnRyaWVzCisgKi8KK3N0YXRpYyBMSVNUX0hFQUQobWFwX2VudHJpZXMpOworCisvKioKKyAqIENvbW1vbiBpbXBsZW1lbnRhdGlvbiBvZiBmaXJtd2FyZV9tYXBfYWRkKCkgYW5kIGZpcm13YXJlX21hcF9hZGRfZWFybHkoKQorICogd2hpY2ggZXhwZWN0cyBhIHByZS1hbGxvY2F0ZWQgc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeS4KKyAqCisgKiBAc3RhcnQ6IFN0YXJ0IG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAZW5kOiAgIEVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsdXNpdmUpLgorICogQHR5cGU6ICBUeXBlIG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAZW50cnk6IFByZS1hbGxvY2F0ZWQgKGVpdGhlciBrbWFsbG9jKCkgb3IgYm9vdG1lbSBhbGxvY2F0b3IpLCB1bmluaXRpYWxpc2VkCisgKiAgICAgICAgIGVudHJ5LgorICovCitzdGF0aWMgaW50IGZpcm13YXJlX21hcF9hZGRfZW50cnkocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkJCSAgY29uc3QgY2hhciAqdHlwZSwKKwkJCQkgIHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5KQoreworCUJVR19PTihzdGFydCA+IGVuZCk7CisKKwllbnRyeS0+c3RhcnQgPSBzdGFydDsKKwllbnRyeS0+ZW5kID0gZW5kOworCWVudHJ5LT50eXBlID0gdHlwZTsKKwlJTklUX0xJU1RfSEVBRCgmZW50cnktPmxpc3QpOworCWtvYmplY3RfaW5pdCgmZW50cnktPmtvYmosICZtZW1tYXBfa3R5cGUpOworCisJbGlzdF9hZGRfdGFpbCgmZW50cnktPmxpc3QsICZtYXBfZW50cmllcyk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNlZSA8bGludXgvZmlybXdhcmUtbWFwLmg+IGZvciBkb2N1bWVudGF0aW9uLgorICovCitpbnQgZmlybXdhcmVfbWFwX2FkZChyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCSAgICAgY29uc3QgY2hhciAqdHlwZSkKK3sKKwlzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeTsKKworCWVudHJ5ID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSksIEdGUF9BVE9NSUMpOworCVdBUk5fT04oIWVudHJ5KTsKKwlpZiAoIWVudHJ5KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJldHVybiBmaXJtd2FyZV9tYXBfYWRkX2VudHJ5KHN0YXJ0LCBlbmQsIHR5cGUsIGVudHJ5KTsKK30KKworLyoKKyAqIFNlZSA8bGludXgvZmlybXdhcmUtbWFwLmg+IGZvciBkb2N1bWVudGF0aW9uLgorICovCitpbnQgX19pbml0IGZpcm13YXJlX21hcF9hZGRfZWFybHkocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkJCSAgY29uc3QgY2hhciAqdHlwZSkKK3sKKwlzdHJ1Y3QgZmlybXdhcmVfbWFwX2VudHJ5ICplbnRyeTsKKworCWVudHJ5ID0gYWxsb2NfYm9vdG1lbV9sb3coc2l6ZW9mKHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkpKTsKKwlXQVJOX09OKCFlbnRyeSk7CisJaWYgKCFlbnRyeSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gZmlybXdhcmVfbWFwX2FkZF9lbnRyeShzdGFydCwgZW5kLCB0eXBlLCBlbnRyeSk7Cit9CisKKy8qCisgKiBTeXNmcyBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKK3N0YXRpYyBzc2l6ZV90IHN0YXJ0X3Nob3coc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnksIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIweCVsbHhcbiIsIGVudHJ5LT5zdGFydCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGVuZF9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiMHglbGx4XG4iLCBlbnRyeS0+ZW5kKTsKK30KKworc3RhdGljIHNzaXplX3QgdHlwZV9zaG93KHN0cnVjdCBmaXJtd2FyZV9tYXBfZW50cnkgKmVudHJ5LCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJXNcbiIsIGVudHJ5LT50eXBlKTsKK30KKworI2RlZmluZSB0b19tZW1tYXBfYXR0cihfYXR0cikgY29udGFpbmVyX29mKF9hdHRyLCBzdHJ1Y3QgbWVtbWFwX2F0dHJpYnV0ZSwgYXR0cikKKyNkZWZpbmUgdG9fbWVtbWFwX2VudHJ5KG9iaikgY29udGFpbmVyX29mKG9iaiwgc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSwga29iaikKKworc3RhdGljIHNzaXplX3QgbWVtbWFwX2F0dHJfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKKwkJCQlzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnkgPSB0b19tZW1tYXBfZW50cnkoa29iaik7CisJc3RydWN0IG1lbW1hcF9hdHRyaWJ1dGUgKm1lbW1hcF9hdHRyID0gdG9fbWVtbWFwX2F0dHIoYXR0cik7CisKKwlyZXR1cm4gbWVtbWFwX2F0dHItPnNob3coZW50cnksIGJ1Zik7Cit9CisKKy8qCisgKiBJbml0aWFsaXNlcyBzdHVmZiBhbmQgYWRkcyB0aGUgZW50cmllcyBpbiB0aGUgbWFwX2VudHJpZXMgbGlzdCB0bworICogc3lzZnMuIEltcG9ydGFudCBpcyB0aGF0IGZpcm13YXJlX21hcF9hZGQoKSBhbmQgZmlybXdhcmVfbWFwX2FkZF9lYXJseSgpCisgKiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgbGF0ZV9pbml0Y2FsbC4KKyAqLworc3RhdGljIGludCBfX2luaXQgbWVtbWFwX2luaXQodm9pZCkKK3sKKwlpbnQgaSA9IDA7CisJc3RydWN0IGZpcm13YXJlX21hcF9lbnRyeSAqZW50cnk7CisJc3RydWN0IGtzZXQgKm1lbW1hcF9rc2V0OworCisJbWVtbWFwX2tzZXQgPSBrc2V0X2NyZWF0ZV9hbmRfYWRkKCJtZW1tYXAiLCBOVUxMLCBmaXJtd2FyZV9rb2JqKTsKKwlXQVJOX09OKCFtZW1tYXBfa3NldCk7CisJaWYgKCFtZW1tYXBfa3NldCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVudHJ5LCAmbWFwX2VudHJpZXMsIGxpc3QpIHsKKwkJZW50cnktPmtvYmoua3NldCA9IG1lbW1hcF9rc2V0OworCQlrb2JqZWN0X2FkZCgmZW50cnktPmtvYmosIE5VTEwsICIlZCIsIGkrKyk7CisJfQorCisJcmV0dXJuIDA7Cit9CitsYXRlX2luaXRjYWxsKG1lbW1hcF9pbml0KTsKKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTU2NmNmCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvTWFrZWZpbGUKQEAgLTAsMCArMSBAQAorb2JqLXkJCQkrPSBkcm0vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9LY29uZmlnCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZjlhOTcKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKQEAgLTAsMCArMSwyNiBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQorCitkcm0teSAgICAgICA6PQlkcm1fYXV0aC5vIGRybV9idWZzLm8gZHJtX2NvbnRleHQubyBkcm1fZG1hLm8gZHJtX2RyYXdhYmxlLm8gXAorCQlkcm1fZHJ2Lm8gZHJtX2ZvcHMubyBkcm1faW9jdGwubyBkcm1faXJxLm8gXAorCQlkcm1fbG9jay5vIGRybV9tZW1vcnkubyBkcm1fcHJvYy5vIGRybV9zdHViLm8gZHJtX3ZtLm8gXAorCQlkcm1fYWdwc3VwcG9ydC5vIGRybV9zY2F0dGVyLm8gYXRpX3BjaWdhcnQubyBkcm1fcGNpLm8gXAorCQlkcm1fc3lzZnMubyBkcm1faGFzaHRhYi5vIGRybV9zbWFuLm8gZHJtX21tLm8KKworZHJtLSQoQ09ORklHX0NPTVBBVCkgKz0gZHJtX2lvYzMyLm8KKworb2JqLSQoQ09ORklHX0RSTSkJKz0gZHJtLm8KK29iai0kKENPTkZJR19EUk1fVERGWCkJKz0gdGRmeC8KK29iai0kKENPTkZJR19EUk1fUjEyOCkJKz0gcjEyOC8KK29iai0kKENPTkZJR19EUk1fUkFERU9OKSs9IHJhZGVvbi8KK29iai0kKENPTkZJR19EUk1fTUdBKQkrPSBtZ2EvCitvYmotJChDT05GSUdfRFJNX0k4MTApCSs9IGk4MTAvCitvYmotJChDT05GSUdfRFJNX0k4MzApCSs9IGk4MzAvCitvYmotJChDT05GSUdfRFJNX0k5MTUpICArPSBpOTE1Lworb2JqLSQoQ09ORklHX0RSTV9TSVMpICAgKz0gc2lzLworb2JqLSQoQ09ORklHX0RSTV9TQVZBR0UpKz0gc2F2YWdlLworb2JqLSQoQ09ORklHX0RSTV9WSUEpCSs9dmlhLworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL1JFQURNRS5kcm0gYi9kcml2ZXJzL2dwdS9kcm0vUkVBRE1FLmRybQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9SRUFETUUuZHJtCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vUkVBRE1FLmRybQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9hdGlfcGNpZ2FydC5jIGIvZHJpdmVycy9ncHUvZHJtL2F0aV9wY2lnYXJ0LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vYXRpX3BjaWdhcnQuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2F0aV9wY2lnYXJ0LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2FncHN1cHBvcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYWdwc3VwcG9ydC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9hZ3BzdXBwb3J0LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fYWdwc3VwcG9ydC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9hdXRoLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fYXV0aC5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2F1dGguYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fYnVmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2J1ZnMuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9idWZzLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29udGV4dC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9jb250ZXh0LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29udGV4dC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9kcmF3YWJsZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcmF3YWJsZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9kcmF3YWJsZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2RyYXdhYmxlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2ZvcHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCnNpbWlsYXJpdHkgaW5kZXggOTglCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2ZvcHMuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9mb3BzLmMKaW5kZXggZDJlNmRhOC4uODUxYTUzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1fZm9wcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm9wcy5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiZHJtUC5oIgogI2luY2x1ZGUgImRybV9zYXJlYS5oIgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiBzdGF0aWMgaW50IGRybV9vcGVuX2hlbHBlcihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCwKIAkJCSAgIHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KTsKQEAgLTE3NCwxMiArMTc1LDE0IEBACiAKIAlEUk1fREVCVUcoIlxuIik7CiAKKwkvKiBCS0wgcHVzaGRvd246IG5vdGUgdGhhdCBub3RoaW5nIGVsc2Ugc2VyaWFsaXplcyBpZHJfZmluZCgpICovCisJbG9ja19rZXJuZWwoKTsKIAltaW5vciA9IGlkcl9maW5kKCZkcm1fbWlub3JzX2lkciwgbWlub3JfaWQpOwogCWlmICghbWlub3IpCi0JCXJldHVybiAtRU5PREVWOworCQlnb3RvIG91dDsKIAogCWlmICghKGRldiA9IG1pbm9yLT5kZXYpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwkJZ290byBvdXQ7CiAKIAlvbGRfZm9wcyA9IGZpbHAtPmZfb3A7CiAJZmlscC0+Zl9vcCA9IGZvcHNfZ2V0KCZkZXYtPmRyaXZlci0+Zm9wcyk7CkBAIC0xODksNiArMTkyLDggQEAKIAl9CiAJZm9wc19wdXQob2xkX2ZvcHMpOwogCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2hhc2h0YWIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faGFzaHRhYi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9oYXNodGFiLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1faGFzaHRhYi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9pb2MzMi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvYzMyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2lvY3RsLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbG9jay5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9sb2NrLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2xvY2suYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9sb2NrLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tZW1vcnkuYwpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9tZW1vcnkuYwppbmRleCA4NDUwODFiNC4uMDE3NzAxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tZW1vcnkuYwpAQCAtMTY3LDYgKzE2NywxMSBAQAogfQogRVhQT1JUX1NZTUJPTChkcm1fY29yZV9pb3JlbWFwKTsKIAordm9pZCBkcm1fY29yZV9pb3JlbWFwX3djKHN0cnVjdCBkcm1fbWFwICptYXAsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJbWFwLT5oYW5kbGUgPSBpb3JlbWFwX3djKG1hcC0+b2Zmc2V0LCBtYXAtPnNpemUpOworfQorRVhQT1JUX1NZTUJPTChkcm1fY29yZV9pb3JlbWFwX3djKTsKIHZvaWQgZHJtX2NvcmVfaW9yZW1hcGZyZWUoc3RydWN0IGRybV9tYXAgKm1hcCwgc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlpZiAoIW1hcC0+aGFuZGxlIHx8ICFtYXAtPnNpemUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tbS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9tbS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX21tLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3BjaS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wY2kuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fcGNpLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGNpLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3Byb2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYy5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9wcm9jLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYy5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zY2F0dGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fc2NhdHRlci5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3NjYXR0ZXIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fc21hbi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zbWFuLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NtYW4uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2RybV9zbWFuLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3N0dWIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3R1Yi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zdHViLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3R1Yi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zeXNmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeXNmcy5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zeXNmcy5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5c2ZzLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZtLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3ZtLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9kcm1fdm0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k4MTAvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Mzg0NGVjCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvTWFrZWZpbGUKQEAgLTAsMCArMSw4IEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCitpODEwLXkgOj0gaTgxMF9kcnYubyBpODEwX2RtYS5vCisKK29iai0kKENPTkZJR19EUk1fSTgxMCkJKz0gaTgxMC5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MTBfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MTBfZG1hLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgxMF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pODEwL2k4MTBfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgxMF9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODEwX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k4MTAvaTgxMF9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODEwX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgxMC9pODEwX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTgzMC9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NDJlZTAKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9NYWtlZmlsZQpAQCAtMCwwICsxLDggQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK2k4MzAteSA6PSBpODMwX2Rydi5vIGk4MzBfZG1hLm8gaTgzMF9pcnEubworCitvYmotJChDT05GSUdfRFJNX0k4MzApICs9IGk4MzAubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kbWEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2RtYS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k4MzBfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgzMF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pODMwL2k4MzBfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgzMF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k4MzAvaTgzMF9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTgzMC9pODMwX2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZTYwNDYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtMCwwICsxLDEwIEBACisjCisjIE1ha2VmaWxlIGZvciB0aGUgZHJtIGRldmljZSBkcml2ZXIuICBUaGlzIGRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUKKyMgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAoRFJJKSBpbiBYRnJlZTg2IDQuMS4wIGFuZCBoaWdoZXIuCisKK2NjZmxhZ3MteSA6PSAtSWluY2x1ZGUvZHJtCitpOTE1LXkgOj0gaTkxNV9kcnYubyBpOTE1X2RtYS5vIGk5MTVfaXJxLm8gaTkxNV9tZW0ubworCitpOTE1LSQoQ09ORklHX0NPTVBBVCkgICArPSBpOTE1X2lvYzMyLm8KKworb2JqLSQoQ09ORklHX0RSTV9JOTE1KSAgKz0gaTkxNS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfZG1hLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTkxNV9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfaW9jMzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaW9jMzIuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X2lvYzMyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaW9jMzIuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pOTE1X2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X21lbS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfbWVtLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfbWVtLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZ2EvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNjg0NzgKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL01ha2VmaWxlCkBAIC0wLDAgKzEsMTEgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK21nYS15IDo9IG1nYV9kcnYubyBtZ2FfZG1hLm8gbWdhX3N0YXRlLm8gbWdhX3dhcnAubyBtZ2FfaXJxLm8KKworbWdhLSQoQ09ORklHX0NPTVBBVCkgKz0gbWdhX2lvYzMyLm8KKworb2JqLSQoQ09ORklHX0RSTV9NR0EpCSs9IG1nYS5vCisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vbWdhX2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9pb2MzMi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9pb2MzMi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX2lycS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfaXJxLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9zdGF0ZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9zdGF0ZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vbWdhL21nYV9zdGF0ZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL21nYV91Y29kZS5oIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfdWNvZGUuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9tZ2FfdWNvZGUuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL21nYS9tZ2FfdWNvZGUuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9tZ2Ffd2FycC5jIGIvZHJpdmVycy9ncHUvZHJtL21nYS9tZ2Ffd2FycC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV93YXJwLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9tZ2EvbWdhX3dhcnAuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3IxMjgvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2M3MmFlCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvTWFrZWZpbGUKQEAgLTAsMCArMSwxMCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQorcjEyOC15ICAgOj0gcjEyOF9kcnYubyByMTI4X2NjZS5vIHIxMjhfc3RhdGUubyByMTI4X2lycS5vCisKK3IxMjgtJChDT05GSUdfQ09NUEFUKSAgICs9IHIxMjhfaW9jMzIubworCitvYmotJChDT05GSUdfRFJNX1IxMjgpCSs9IHIxMjgubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2NjZS5jIGIvZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9jY2UuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMTI4X2NjZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2NjZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2lvYzMyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9pb2MzMi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X2lvYzMyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjEyOF9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9yMTI4L3IxMjhfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9pcnEuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3IxMjgvcjEyOF9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yMTI4X3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X3N0YXRlLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcjEyOF9zdGF0ZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcjEyOC9yMTI4X3N0YXRlLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlYjUyMWUKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL01ha2VmaWxlCkBAIC0wLDAgKzEsMTAgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3JhZGVvbi15IDo9IHJhZGVvbl9kcnYubyByYWRlb25fY3AubyByYWRlb25fc3RhdGUubyByYWRlb25fbWVtLm8gcmFkZW9uX2lycS5vIHIzMDBfY21kYnVmLm8KKworcmFkZW9uLSQoQ09ORklHX0NPTVBBVCkgKz0gcmFkZW9uX2lvYzMyLm8KKworb2JqLSQoQ09ORklHX0RSTV9SQURFT04pKz0gcmFkZW9uLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjMwMF9jbWRidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMF9jbWRidWYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMzAwX2NtZGJ1Zi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDBfY21kYnVmLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcjMwMF9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMF9yZWcuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yMzAwX3JlZy5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDBfcmVnLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2NwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcC5jCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2NwLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2NwLmMKaW5kZXggZTUzMTU4Zi4uZjBkZTgxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcC5jCkBAIC0xMTU0LDcgKzExNTQsNyBAQAogCQkJZGV2X3ByaXYtPmdhcnRfaW5mby5tYXBwaW5nLnNpemUgPQogCQkJICAgIGRldl9wcml2LT5nYXJ0X2luZm8udGFibGVfc2l6ZTsKIAotCQkJZHJtX2NvcmVfaW9yZW1hcCgmZGV2X3ByaXYtPmdhcnRfaW5mby5tYXBwaW5nLCBkZXYpOworCQkJZHJtX2NvcmVfaW9yZW1hcF93YygmZGV2X3ByaXYtPmdhcnRfaW5mby5tYXBwaW5nLCBkZXYpOwogCQkJZGV2X3ByaXYtPmdhcnRfaW5mby5hZGRyID0KIAkJCSAgICBkZXZfcHJpdi0+Z2FydF9pbmZvLm1hcHBpbmcuaGFuZGxlOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25faW9jMzIuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lvYzMyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lvYzMyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lvYzMyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25faXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tZW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9yYWRlb25fbWVtLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21lbS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9taWNyb2NvZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21pY3JvY29kZS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9taWNyb2NvZGUuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbWljcm9jb2RlLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX3N0YXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zdGF0ZS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9zdGF0ZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zdGF0ZS5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGY4NGFjCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9NYWtlZmlsZQpAQCAtMCwwICsxLDkgQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15ID0gLUlpbmNsdWRlL2RybQorc2F2YWdlLXkgOj0gc2F2YWdlX2Rydi5vIHNhdmFnZV9iY2kubyBzYXZhZ2Vfc3RhdGUubworCitvYmotJChDT05GSUdfRFJNX1NBVkFHRSkrPSBzYXZhZ2UubworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9iY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2JjaS5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9iY2kuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfYmNpLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2VfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2F2YWdlX2Rydi5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vc2F2YWdlL3NhdmFnZV9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfZHJ2LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zYXZhZ2Uvc2F2YWdlX2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2Vfc3RhdGUuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2Vfc3RhdGUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3NhdmFnZS9zYXZhZ2Vfc3RhdGUuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Npcy9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQxYzA2MQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvTWFrZWZpbGUKQEAgLTAsMCArMSwxMCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgPSAtSWluY2x1ZGUvZHJtCitzaXMteSA6PSBzaXNfZHJ2Lm8gc2lzX21tLm8KKworb2JqLSQoQ09ORklHX0RSTV9TSVMpICAgKz0gc2lzLm8KKworCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX2Rydi5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3Npc19kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfZHJ2LmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vc2lzX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3Npcy9zaXNfZHJ2LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2lzX2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vc2lzL3Npc19kcnYuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfbW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX21tLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2lzX21tLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9zaXMvc2lzX21tLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3RkZngvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3OWYyOQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L01ha2VmaWxlCkBAIC0wLDAgKzEsOCBAQAorIworIyBNYWtlZmlsZSBmb3IgdGhlIGRybSBkZXZpY2UgZHJpdmVyLiAgVGhpcyBkcml2ZXIgcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhlCisjIERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgKERSSSkgaW4gWEZyZWU4NiA0LjEuMCBhbmQgaGlnaGVyLgorCitjY2ZsYWdzLXkgOj0gLUlpbmNsdWRlL2RybQordGRmeC15IDo9IHRkZnhfZHJ2Lm8KKworb2JqLSQoQ09ORklHX0RSTV9UREZYKQkrPSB0ZGZ4Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZGZ4L3RkZnhfZHJ2LmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdGRmeF9kcnYuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3RkZngvdGRmeF9kcnYuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS90ZGZ4X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3RkZngvdGRmeF9kcnYuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS90ZGZ4X2Rydi5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdGRmeC90ZGZ4X2Rydi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlhL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTllMjU4Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS9NYWtlZmlsZQpAQCAtMCwwICsxLDggQEAKKyMKKyMgTWFrZWZpbGUgZm9yIHRoZSBkcm0gZGV2aWNlIGRyaXZlci4gIFRoaXMgZHJpdmVyIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZQorIyBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIChEUkkpIGluIFhGcmVlODYgNC4xLjAgYW5kIGhpZ2hlci4KKworY2NmbGFncy15IDo9IC1JaW5jbHVkZS9kcm0KK3ZpYS15ICAgIDo9IHZpYV9pcnEubyB2aWFfZHJ2Lm8gdmlhX21hcC5vIHZpYV9tbS5vIHZpYV9kbWEubyB2aWFfdmVyaWZpZXIubyB2aWFfdmlkZW8ubyB2aWFfZG1hYmxpdC5vCisKK29iai0kKENPTkZJR19EUk1fVklBKQkrPXZpYS5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV8zZF9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhXzNkX3JlZy5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV8zZF9yZWcuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfM2RfcmVnLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2RtYS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kbWEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5jCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWFibGl0LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZG1hYmxpdC5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZG1hYmxpdC5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kbWFibGl0LmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9kcnYuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfZHJ2LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2Rydi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kcnYuaApyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfZHJ2LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2lycS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfaXJxLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX2lycS5jCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9pcnEuYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfbWFwLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV9tYXAuYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfbWFwLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX21hcC5jCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV9tbS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfbW0uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfbW0uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfbW0uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS92aWFfdmVyaWZpZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX3ZlcmlmaWVyLmMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX3ZlcmlmaWVyLmggYi9kcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV92ZXJpZmllci5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vdmlhL3ZpYV92ZXJpZmllci5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3ZpYV92aWRlby5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmlkZW8uYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS92aWFfdmlkZW8uYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL3ZpYS92aWFfdmlkZW8uYwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9oaWQvaGlkcmF3LmMgYi9kcml2ZXJzL2hpZC9oaWRyYXcuYwppbmRleCAxY2E2ZjQ2Li4yZmRlNmM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2hpZC9oaWRyYXcuYworKysgYi9kcml2ZXJzL2hpZC9oaWRyYXcuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvaGlkLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvaGlkcmF3Lmg+CiAKQEAgLTE1Nyw2ICsxNTgsNyBAQAogCXN0cnVjdCBoaWRyYXdfbGlzdCAqbGlzdDsKIAlpbnQgZXJyID0gMDsKIAorCWxvY2tfa2VybmVsKCk7CiAJaWYgKCEobGlzdCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBoaWRyYXdfbGlzdCksIEdGUF9LRVJORUwpKSkgewogCQllcnIgPSAtRU5PTUVNOwogCQlnb3RvIG91dDsKQEAgLTE4Myw2ICsxODUsNyBAQAogb3V0X3VubG9jazoKIAlzcGluX3VubG9jaygmbWlub3JzX2xvY2spOwogb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogCiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1iaXQuYyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLWJpdC5jCmluZGV4IDM1ODEyODIuLmViOGY3MmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLWJpdC5jCisrKyBiL2RyaXZlcnMvaTJjL2FsZ29zL2kyYy1hbGdvLWJpdC5jCkBAIC0zMjAsNyArMzIwLDcgQEAKIAkJICAgICAgIHVuc2lnbmVkIGNoYXIgYWRkciwgaW50IHJldHJpZXMpCiB7CiAJc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhICphZGFwID0gaTJjX2FkYXAtPmFsZ29fZGF0YTsKLQlpbnQgaSwgcmV0ID0gLTE7CisJaW50IGksIHJldCA9IDA7CiAKIAlmb3IgKGkgPSAwOyBpIDw9IHJldHJpZXM7IGkrKykgewogCQlyZXQgPSBpMmNfb3V0YihpMmNfYWRhcCwgYWRkcik7CkBAIC01MDgsNyArNTA4LDcgQEAKIAkJCWFkZHIgXj0gMTsKIAkJcmV0ID0gdHJ5X2FkZHJlc3MoaTJjX2FkYXAsIGFkZHIsIHJldHJpZXMpOwogCQlpZiAoKHJldCAhPSAxKSAmJiAhbmFrX29rKQotCQkJcmV0dXJuIC1FUkVNT1RFSU87CisJCQlyZXR1cm4gLUVOWElPOwogCX0KIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2EuYwppbmRleCBlOTU0YTIwYi4uZDUwYjMyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNhLmMKQEAgLTE4Miw3ICsxODIsNyBAQAogCX0KIAlpZiAoc3RhdGUgIT0gMHhmOCkgewogCQlkZXZfZGJnKCZpMmNfYWRhcC0+ZGV2LCAiYnVzIGlzIG5vdCBpZGxlLiBzdGF0dXMgaXMgJSMwNHhcbiIsIHN0YXRlKTsKLQkJcmV0dXJuIC1FSU87CisJCXJldHVybiAtRUFHQUlOOwogCX0KIAogCURFQjEoInt7eyBYRkVSICVkIG1lc3NhZ2VzXG4iLCBudW0pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMgYi9kcml2ZXJzL2kyYy9hbGdvcy9pMmMtYWxnby1wY2YuYwppbmRleCA4OTA3YjAxLi4xZTMyOGQxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMKKysrIGIvZHJpdmVycy9pMmMvYWxnb3MvaTJjLWFsZ28tcGNmLmMKQEAgLTc4LDYgKzc4LDM2IEBACiAJc2V0X3BjZihhZGFwLCAxLCBJMkNfUENGX1NUT1ApOwogfQogCitzdGF0aWMgdm9pZCBoYW5kbGVfbGFiKHN0cnVjdCBpMmNfYWxnb19wY2ZfZGF0YSAqYWRhcCwgY29uc3QgaW50ICpzdGF0dXMpCit7CisJREVCMihwcmludGsoS0VSTl9JTkZPCisJCSJpMmMtYWxnby1wY2YubzogbG9zdCBhcmJpdHJhdGlvbiAoQ1NSIDB4JTAyeClcbiIsCisJCSAqc3RhdHVzKSk7CisKKwkvKiBDbGVhbnVwIGZyb20gTEFCIC0tIHJlc2V0IGFuZCBlbmFibGUgRVNPLgorCSAqIFRoaXMgcmVzZXRzIHRoZSBQQ0Y4NTg0OyBzaW5jZSB3ZSd2ZSBsb3N0IHRoZSBidXMsIG5vCisJICogZnVydGhlciBhdHRlbXB0cyBzaG91bGQgYmUgbWFkZSBieSBjYWxsZXJzIHRvIGNsZWFuIHVwCisJICogKG5vIGkyY19zdG9wKCkgZXRjLikKKwkgKi8KKwlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfUElOKTsKKwlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfRVNPKTsKKworCS8qIFdlIHBhdXNlIGZvciBhIHRpbWUgcGVyaW9kIHN1ZmZpY2llbnQgZm9yIGFueSBydW5uaW5nCisJICogSTJDIHRyYW5zYWN0aW9uIHRvIGNvbXBsZXRlIC0tIHRoZSBhcmJpdHJhdGlvbiBsb2dpYyB3b24ndAorCSAqIHdvcmsgcHJvcGVybHkgdW50aWwgdGhlIG5leHQgU1RBUlQgaXMgc2Vlbi4KKwkgKiBJdCBpcyBhc3N1bWVkIHRoZSBidXMgZHJpdmVyIG9yIGNsaWVudCBoYXMgc2V0IGEgcHJvcGVyIHZhbHVlLgorCSAqCisJICogUkVWSVNJVDogc2hvdWxkIHByb2JhYmx5IHVzZSBtc2xlZXAgaW5zdGVhZCBvZiBtZGVsYXkgaWYgd2UKKwkgKiBrbm93IHdlIGNhbiBzbGVlcC4KKwkgKi8KKwlpZiAoYWRhcC0+bGFiX21kZWxheSkKKwkJbWRlbGF5KGFkYXAtPmxhYl9tZGVsYXkpOworCisJREVCMihwcmludGsoS0VSTl9JTkZPCisJCSJpMmMtYWxnby1wY2YubzogcmVzZXQgTEFCIGNvbmRpdGlvbiAoQ1NSIDB4JTAyeClcbiIsCisJCWdldF9wY2YoYWRhcCwgMSkpKTsKK30KKwogc3RhdGljIGludCB3YWl0X2Zvcl9iYihzdHJ1Y3QgaTJjX2FsZ29fcGNmX2RhdGEgKmFkYXApIHsKIAogCWludCB0aW1lb3V0ID0gREVGX1RJTUVPVVQ7CkBAIC0xMDksMjMgKzEzOSw3IEBACiAJCSpzdGF0dXMgPSBnZXRfcGNmKGFkYXAsIDEpOwogCX0KIAlpZiAoKnN0YXR1cyAmIEkyQ19QQ0ZfTEFCKSB7Ci0JCURFQjIocHJpbnRrKEtFUk5fSU5GTyAKLQkJCSJpMmMtYWxnby1wY2YubzogbG9zdCBhcmJpdHJhdGlvbiAoQ1NSIDB4JTAyeClcbiIsCi0JCQkgKnN0YXR1cykpOwotCQkvKiBDbGVhbnVwIGZyb20gTEFCLS0gcmVzZXQgYW5kIGVuYWJsZSBFU08uCi0JCSAqIFRoaXMgcmVzZXRzIHRoZSBQQ0Y4NTg0OyBzaW5jZSB3ZSd2ZSBsb3N0IHRoZSBidXMsIG5vCi0JCSAqIGZ1cnRoZXIgYXR0ZW1wdHMgc2hvdWxkIGJlIG1hZGUgYnkgY2FsbGVycyB0byBjbGVhbiB1cCAKLQkJICogKG5vIGkyY19zdG9wKCkgZXRjLikKLQkJICovCi0JCXNldF9wY2YoYWRhcCwgMSwgSTJDX1BDRl9QSU4pOwotCQlzZXRfcGNmKGFkYXAsIDEsIEkyQ19QQ0ZfRVNPKTsKLQkJLyogVE9ETzogd2Ugc2hvdWxkIHBhdXNlIGZvciBhIHRpbWUgcGVyaW9kIHN1ZmZpY2llbnQgZm9yIGFueQotCQkgKiBydW5uaW5nIEkyQyB0cmFuc2FjdGlvbiB0byBjb21wbGV0ZS0tIHRoZSBhcmJpdHJhdGlvbgotCQkgKiBsb2dpYyB3b24ndCB3b3JrIHByb3Blcmx5IHVudGlsIHRoZSBuZXh0IFNUQVJUIGlzIHNlZW4uCi0JCSAqLwotCQlERUIyKHByaW50ayhLRVJOX0lORk8gCi0JCQkiaTJjLWFsZ28tcGNmLm86IHJlc2V0IExBQiBjb25kaXRpb24gKENTUiAweCUwMngpXG4iLCAKLQkJCWdldF9wY2YoYWRhcCwxKSkpOworCQloYW5kbGVfbGFiKGFkYXAsIHN0YXR1cyk7CiAJCXJldHVybigtRUlOVFIpOwogCX0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL0tjb25maWcgYi9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZwppbmRleCA0ODQzOGNjLi42ZWU5OTdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvS2NvbmZpZwpAQCAtNCw2ICs0LDkgQEAKIAogbWVudSAiSTJDIEhhcmR3YXJlIEJ1cyBzdXBwb3J0IgogCitjb21tZW50ICJQQyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycyIKKwlkZXBlbmRzIG9uIFBDSQorCiBjb25maWcgSTJDX0FMSTE1MzUKIAl0cmlzdGF0ZSAiQUxJIDE1MzUiCiAJZGVwZW5kcyBvbiBQQ0kKQEAgLTczLDYgKzc2LDE4NiBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWFtZDgxMTEuCiAKK2NvbmZpZyBJMkNfSTgwMQorCXRyaXN0YXRlICJJbnRlbCA4MjgwMSAoSUNIKSIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAorCSAgODAxIGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKKwkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQ6CisJICAgIDgyODAxQUEKKwkgICAgODI4MDFBQgorCSAgICA4MjgwMUJBCisJICAgIDgyODAxQ0EvQ0FNCisJICAgIDgyODAxREIKKwkgICAgODI4MDFFQi9FUiAoSUNINS9JQ0g1UikKKwkgICAgNjMwMEVTQgorCSAgICBJQ0g2CisJICAgIElDSDcKKwkgICAgRVNCMgorCSAgICBJQ0g4CisJICAgIElDSDkKKwkgICAgVG9sYXBhaQorCSAgICBJQ0gxMAorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtaTgwMS4KKworY29uZmlnIEkyQ19JU0NICisJdHJpc3RhdGUgIkludGVsIFNDSCBTTUJ1cyAxLjAiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IHRvIHVzZSBTTUJ1cyBjb250cm9sbGVyIG9uIHRoZSBJbnRlbCBTQ0gKKwkgIGJhc2VkIHN5c3RlbXMuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWlzY2guCisKK2NvbmZpZyBJMkNfUElJWDQKKwl0cmlzdGF0ZSAiSW50ZWwgUElJWDQgYW5kIGNvbXBhdGlibGUgKEFUSS9TZXJ2ZXJ3b3Jrcy9Ccm9hZGNvbS9TTVNDKSIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAorCSAgUElJWDQgZmFtaWx5IG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4gIFNwZWNpZmljYWxseSwgdGhlIGZvbGxvd2luZworCSAgdmVyc2lvbnMgb2YgdGhlIGNoaXBzZXQgYXJlIHN1cHBvcnRlZCAobm90ZSB0aGF0IFNlcnZlcndvcmtzIGlzIHBhcnQKKwkgIG9mIEJyb2FkY29tKToKKwkgICAgSW50ZWwgUElJWDQKKwkgICAgSW50ZWwgNDQwTVgKKwkgICAgQVRJIElYUDIwMAorCSAgICBBVEkgSVhQMzAwCisJICAgIEFUSSBJWFA0MDAKKwkgICAgQVRJIFNCNjAwCisJICAgIEFUSSBTQjcwMAorCSAgICBBVEkgU0I4MDAKKwkgICAgU2VydmVyd29ya3MgT1NCNAorCSAgICBTZXJ2ZXJ3b3JrcyBDU0I1CisJICAgIFNlcnZlcndvcmtzIENTQjYKKwkgICAgU2VydmVyd29ya3MgSFQtMTAwMAorCSAgICBTTVNDIFZpY3Rvcnk2NgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcGlpeDQuCisKK2NvbmZpZyBJMkNfTkZPUkNFMgorCXRyaXN0YXRlICJOdmlkaWEgbkZvcmNlMiwgbkZvcmNlMyBhbmQgbkZvcmNlNCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBOdmlkaWEKKwkgIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQgZmFtaWxpZXMgb2YgbWFpbmJvYXJkIEkyQyBpbnRlcmZhY2VzLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtbmZvcmNlMi4KKworY29uZmlnIEkyQ19ORk9SQ0UyX1M0OTg1CisJdHJpc3RhdGUgIlNNQnVzIG11bHRpcGxleGluZyBvbiB0aGUgVHlhbiBTNDk4NSIKKwlkZXBlbmRzIG9uIEkyQ19ORk9SQ0UyICYmIEVYUEVSSU1FTlRBTAorCWhlbHAKKwkgIEVuYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgYWRkIHNwZWNpZmljIFNNQnVzIHN1cHBvcnQgZm9yIHRoZSBUeWFuCisJICBTNDk4NSBtb3RoZXJib2FyZC4gIE9uIHRoaXMgNC1DUFUgYm9hcmQsIHRoZSBTTUJ1cyBpcyBtdWx0aXBsZXhlZAorCSAgb3ZlciA0IGRpZmZlcmVudCBjaGFubmVscywgd2hlcmUgdGhlIHZhcmlvdXMgbWVtb3J5IG1vZHVsZSBFRVBST01zCisJICBsaXZlLiAgU2F5aW5nIHllcyBoZXJlIHdpbGwgZ2l2ZSB5b3UgYWNjZXNzIHRvIHRoZXNlIGluIGFkZGl0aW9uCisJICB0byB0aGUgdHJ1bmsuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1uZm9yY2UyLXM0OTg1LgorCitjb25maWcgSTJDX1NJUzU1OTUKKwl0cmlzdGF0ZSAiU2lTIDU1OTUiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIFNpUzU1OTUgU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzNTU5NS4KKworY29uZmlnIEkyQ19TSVM2MzAKKwl0cmlzdGF0ZSAiU2lTIDYzMC83MzAiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIFNpUzYzMCBhbmQgU2lTNzMwIFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczYzMC4KKworY29uZmlnIEkyQ19TSVM5NlgKKwl0cmlzdGF0ZSAiU2lTIDk2eCIKKwlkZXBlbmRzIG9uIFBDSQorCWhlbHAKKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBTaVMKKwkgIDk2eCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgorCSAgICA2NDUvOTYxCisJICAgIDY0NURYLzk2MQorCSAgICA2NDVEWC85NjIKKwkgICAgNjQ4Lzk2MQorCSAgICA2NTAvOTYxCisJICAgIDczNQorCSAgICA3NDUKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczk2eC4KKworY29uZmlnIEkyQ19WSUEKKwl0cmlzdGF0ZSAiVklBIFZUODJDNTg2QiIKKwlkZXBlbmRzIG9uIFBDSSAmJiBFWFBFUklNRU5UQUwKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCisgICAgICAgICAgODJDNTg2QiBJMkMgaW50ZXJmYWNlCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy12aWEuCisKK2NvbmZpZyBJMkNfVklBUFJPCisJdHJpc3RhdGUgIlZJQSBWVDgyQzU5Ni84MkM2ODYvODJ4eCBhbmQgQ1g3MDAiCisJZGVwZW5kcyBvbiBQQ0kKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCisJICBWVDgyQzU5NiBhbmQgbGF0ZXIgU01CdXMgaW50ZXJmYWNlLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCisJICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgorCSAgICBWVDgyQzU5NkEvQgorCSAgICBWVDgyQzY4NkEvQgorCSAgICBWVDgyMzEKKwkgICAgVlQ4MjMzL0EKKwkgICAgVlQ4MjM1CisJICAgIFZUODIzN1IvQS9TCisJICAgIFZUODI1MQorCSAgICBDWDcwMAorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhcHJvLgorCitjb21tZW50ICJNYWMgU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMiCisJZGVwZW5kcyBvbiBQUENfQ0hSUCB8fCBQUENfUE1BQworCitjb25maWcgSTJDX0hZRFJBCisJdHJpc3RhdGUgIkNIUlAgQXBwbGUgSHlkcmEgTWFjIEkvTyBJMkMgaW50ZXJmYWNlIgorCWRlcGVuZHMgb24gUENJICYmIFBQQ19DSFJQICYmIEVYUEVSSU1FTlRBTAorCXNlbGVjdCBJMkNfQUxHT0JJVAorCWhlbHAKKwkgIFRoaXMgc3VwcG9ydHMgdGhlIHVzZSBvZiB0aGUgSTJDIGludGVyZmFjZSBpbiB0aGUgQXBwbGUgSHlkcmEgTWFjCisJICBJL08gY2hpcCBvbiBzb21lIENIUlAgbWFjaGluZXMgKGUuZy4gdGhlIExvbmdUcmFpbCkuICBTYXkgWSBpZiB5b3UKKwkgIGhhdmUgc3VjaCBhIG1hY2hpbmUuCisKKwkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtaHlkcmEuCisKK2NvbmZpZyBJMkNfUE9XRVJNQUMKKwl0cmlzdGF0ZSAiUG93ZXJtYWMgSTJDIGludGVyZmFjZSIKKwlkZXBlbmRzIG9uIFBQQ19QTUFDCisJZGVmYXVsdCB5CisJaGVscAorCSAgVGhpcyBleHBvc2VzIHRoZSB2YXJpb3VzIFBvd2VyTWFjIGkyYyBpbnRlcmZhY2VzIHRvIHRoZSBsaW51eCBpMmMKKwkgIGxheWVyIGFuZCB0byB1c2VybGFuZC4gSXQgaXMgdXNlZCBieSB2YXJpb3VzIGRyaXZlcnMgb24gdGhlIFBvd2VyTWFjCisJICBwbGF0Zm9ybSwgYW5kIHNob3VsZCBnZW5lcmFsbHkgYmUgZW5hYmxlZC4KKworCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wb3dlcm1hYy4KKworY29tbWVudCAiSTJDIHN5c3RlbSBidXMgZHJpdmVycyAobW9zdGx5IGVtYmVkZGVkIC8gc3lzdGVtLW9uLWNoaXApIgorCiBjb25maWcgSTJDX0FUOTEKIAl0cmlzdGF0ZSAiQXRtZWwgQVQ5MSBJMkMgVHdvLVdpcmUgaW50ZXJmYWNlIChUV0kpIgogCWRlcGVuZHMgb24gQVJDSF9BVDkxICYmIEVYUEVSSU1FTlRBTCAmJiBCUk9LRU4KQEAgLTEwMSwxMCArMjg0LDkgQEAKIGNvbmZpZyBJMkNfQkxBQ0tGSU5fVFdJCiAJdHJpc3RhdGUgIkJsYWNrZmluIFRXSSBJMkMgc3VwcG9ydCIKIAlkZXBlbmRzIG9uIEJMQUNLRklOCisJZGVwZW5kcyBvbiAhQkY1NjEgJiYgIUJGNTMxICYmICFCRjUzMiAmJiAhQkY1MzMKIAloZWxwCi0JICBUaGlzIGlzIHRoZSBUV0kgSTJDIGRldmljZSBkcml2ZXIgZm9yIEJsYWNrZmluIEJGNTIyLCBCRjUyNSwKLQkgIEJGNTI3LCBCRjUzNCwgQkY1MzYsIEJGNTM3IGFuZCBCRjU0eC4gRm9yIG90aGVyIEJsYWNrZmluIHByb2Nlc3NvcnMsCi0JICBwbGVhc2UgZG9uJ3QgdXNlIHRoaXMgZHJpdmVyLgorCSAgVGhpcyBpcyB0aGUgSTJDIGJ1cyBkcml2ZXIgZm9yIEJsYWNrZmluIG9uLWNoaXAgVFdJIGludGVyZmFjZS4KIAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWJmaW4tdHdpLgpAQCAtMTE3LDYgKzI5OSwxNiBAQAogCWhlbHAKIAkgIFRoZSB1bml0IG9mIHRoZSBUV0kgY2xvY2sgaXMga0h6LgogCitjb25maWcgSTJDX0NQTQorCXRyaXN0YXRlICJGcmVlc2NhbGUgQ1BNMSBvciBDUE0yIChNUEM4eHgvODI2eCkiCisJZGVwZW5kcyBvbiAoQ1BNMSB8fCBDUE0yKSAmJiBPRl9JMkMKKwloZWxwCisJICBUaGlzIHN1cHBvcnRzIHRoZSB1c2Ugb2YgdGhlIEkyQyBpbnRlcmZhY2Ugb24gRnJlZXNjYWxlCisJICBwcm9jZXNzb3JzIHdpdGggQ1BNMSBvciBDUE0yLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtY3BtLgorCiBjb25maWcgSTJDX0RBVklOQ0kKIAl0cmlzdGF0ZSAiRGFWaW5jaSBJMkMgZHJpdmVyIgogCWRlcGVuZHMgb24gQVJDSF9EQVZJTkNJCkBAIC0xMzAsMTcgKzMyMiw2IEBACiAJICBkZXZpY2VzIHN1Y2ggYXMgRGFWaW5jaSBOSUMuCiAJICBGb3IgZGV0YWlscyBwbGVhc2Ugc2VlIGh0dHA6Ly93d3cudGkuY29tL2RhdmluY2kKIAotY29uZmlnIEkyQ19FTEVLVE9SCi0JdHJpc3RhdGUgIkVsZWt0b3IgSVNBIGNhcmQiCi0JZGVwZW5kcyBvbiBJU0EgJiYgQlJPS0VOX09OX1NNUAotCXNlbGVjdCBJMkNfQUxHT1BDRgotCWhlbHAKLQkgIFRoaXMgc3VwcG9ydHMgdGhlIFBDRjg1ODQgSVNBIGJ1cyBJMkMgYWRhcHRlci4gIFNheSBZIGlmIHlvdSBvd24KLQkgIHN1Y2ggYW4gYWRhcHRlci4KLQotCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1lbGVrdG9yLgotCiBjb25maWcgSTJDX0dQSU8KIAl0cmlzdGF0ZSAiR1BJTy1iYXNlZCBiaXRiYW5naW5nIEkyQyIKIAlkZXBlbmRzIG9uIEdFTkVSSUNfR1BJTwpAQCAtMTQ5LDEwNCArMzMwLDYgQEAKIAkgIFRoaXMgaXMgYSB2ZXJ5IHNpbXBsZSBiaXRiYW5naW5nIEkyQyBkcml2ZXIgdXRpbGl6aW5nIHRoZQogCSAgYXJjaC1uZXV0cmFsIEdQSU8gQVBJIHRvIGNvbnRyb2wgdGhlIFNDTCBhbmQgU0RBIGxpbmVzLgogCi1jb25maWcgSTJDX0hZRFJBCi0JdHJpc3RhdGUgIkNIUlAgQXBwbGUgSHlkcmEgTWFjIEkvTyBJMkMgaW50ZXJmYWNlIgotCWRlcGVuZHMgb24gUENJICYmIFBQQ19DSFJQICYmIEVYUEVSSU1FTlRBTAotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIFRoaXMgc3VwcG9ydHMgdGhlIHVzZSBvZiB0aGUgSTJDIGludGVyZmFjZSBpbiB0aGUgQXBwbGUgSHlkcmEgTWFjCi0JICBJL08gY2hpcCBvbiBzb21lIENIUlAgbWFjaGluZXMgKGUuZy4gdGhlIExvbmdUcmFpbCkuICBTYXkgWSBpZiB5b3UKLQkgIGhhdmUgc3VjaCBhIG1hY2hpbmUuCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtaHlkcmEuCi0KLWNvbmZpZyBJMkNfSTgwMQotCXRyaXN0YXRlICJJbnRlbCA4MjgwMSAoSUNIKSIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBJbnRlbAotCSAgODAxIGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKLQkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQ6Ci0JICAgIDgyODAxQUEKLQkgICAgODI4MDFBQgotCSAgICA4MjgwMUJBCi0JICAgIDgyODAxQ0EvQ0FNCi0JICAgIDgyODAxREIKLQkgICAgODI4MDFFQi9FUiAoSUNINS9JQ0g1UikKLQkgICAgNjMwMEVTQgotCSAgICBJQ0g2Ci0JICAgIElDSDcKLQkgICAgRVNCMgotCSAgICBJQ0g4Ci0JICAgIElDSDkKLQkgICAgVG9sYXBhaQotCSAgICBJQ0gxMAotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtaTgwMS4KLQotY29uZmlnIEkyQ19JODEwCi0JdHJpc3RhdGUgIkludGVsIDgxMC84MTUgKERFUFJFQ0FURUQpIgotCWRlZmF1bHQgbgotCWRlcGVuZHMgb24gUENJCi0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlIEludGVsCi0JICA4MTAvODE1IGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZQotCSAgZm9sbG93aW5nIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQ6Ci0JICAgIGk4MTBBQQotCSAgICBpODEwQUIKLQkgICAgaTgxMEUKLQkgICAgaTgxNQotCSAgICBpODQ1RwotCi0JICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSBpODEwZmIgYW5kIGludGVsZmIgZHJpdmVycy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLWk4MTAuCi0KLWNvbmZpZyBJMkNfUFhBCi0JdHJpc3RhdGUgIkludGVsIFBYQTJYWCBJMkMgYWRhcHRlciAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBBUkNIX1BYQQotCWhlbHAKLQkgIElmIHlvdSBoYXZlIGRldmljZXMgaW4gdGhlIFBYQSBJMkMgYnVzLCBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLgotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXB4YS4KLQotY29uZmlnIEkyQ19QWEFfU0xBVkUKLQlib29sICJJbnRlbCBQWEEyWFggSTJDIFNsYXZlIGNvbW1zIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBJMkNfUFhBCi0JaGVscAotCSAgU3VwcG9ydCBJMkMgc2xhdmUgbW9kZSBjb21tdW5pY2F0aW9ucyBvbiB0aGUgUFhBIEkyQyBidXMuICBUaGlzCi0JICBpcyBuZWNlc3NhcnkgZm9yIHN5c3RlbXMgd2hlcmUgdGhlIFBYQSBtYXkgYmUgYSB0YXJnZXQgb24gdGhlCi0JICBJMkMgYnVzLgotCi1jb25maWcgSTJDX1BJSVg0Ci0JdHJpc3RhdGUgIkludGVsIFBJSVg0IGFuZCBjb21wYXRpYmxlIChBVEkvU2VydmVyd29ya3MvQnJvYWRjb20vU01TQykiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgSW50ZWwKLQkgIFBJSVg0IGZhbWlseSBvZiBtYWluYm9hcmQgSTJDIGludGVyZmFjZXMuICBTcGVjaWZpY2FsbHksIHRoZSBmb2xsb3dpbmcKLQkgIHZlcnNpb25zIG9mIHRoZSBjaGlwc2V0IGFyZSBzdXBwb3J0ZWQgKG5vdGUgdGhhdCBTZXJ2ZXJ3b3JrcyBpcyBwYXJ0Ci0JICBvZiBCcm9hZGNvbSk6Ci0JICAgIEludGVsIFBJSVg0Ci0JICAgIEludGVsIDQ0ME1YCi0JICAgIEFUSSBJWFAyMDAKLQkgICAgQVRJIElYUDMwMAotCSAgICBBVEkgSVhQNDAwCi0JICAgIEFUSSBTQjYwMAotCSAgICBBVEkgU0I3MDAKLQkgICAgQVRJIFNCODAwCi0JICAgIFNlcnZlcndvcmtzIE9TQjQKLQkgICAgU2VydmVyd29ya3MgQ1NCNQotCSAgICBTZXJ2ZXJ3b3JrcyBDU0I2Ci0JICAgIFNlcnZlcndvcmtzIEhULTEwMDAKLQkgICAgU01TQyBWaWN0b3J5NjYKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBpaXg0LgotCiBjb25maWcgSTJDX0lCTV9JSUMKIAl0cmlzdGF0ZSAiSUJNIFBQQyA0eHggb24tY2hpcCBJMkMgaW50ZXJmYWNlIgogCWRlcGVuZHMgb24gNHh4CkBAIC0yODEsMTggKzM2NCw2IEBACiAJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlIGkyYy1ncGlvCiAJICBpbnN0ZWFkLgogCi1jb25maWcgSTJDX1BPV0VSTUFDCi0JdHJpc3RhdGUgIlBvd2VybWFjIEkyQyBpbnRlcmZhY2UiCi0JZGVwZW5kcyBvbiBQUENfUE1BQwotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFRoaXMgZXhwb3NlcyB0aGUgdmFyaW91cyBQb3dlck1hYyBpMmMgaW50ZXJmYWNlcyB0byB0aGUgbGludXggaTJjCi0JICBsYXllciBhbmQgdG8gdXNlcmxhbmQuIEl0IGlzIHVzZWQgYnkgdmFyaW91cyBkcml2ZXJzIG9uIHRoZSBQb3dlck1hYwotCSAgcGxhdGZvcm0sIGFuZCBzaG91bGQgZ2VuZXJhbGx5IGJlIGVuYWJsZWQuCi0KLQkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcG93ZXJtYWMuCi0KIGNvbmZpZyBJMkNfTVBDCiAJdHJpc3RhdGUgIk1QQzEwNy84MjR4Lzg1eHgvNTJ4eC84Nnh4IgogCWRlcGVuZHMgb24gUFBDMzIKQEAgLTMwNSwxNSArMzc2LDE1IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBpMmMtbXBjLgogCi1jb25maWcgSTJDX05GT1JDRTIKLQl0cmlzdGF0ZSAiTnZpZGlhIG5Gb3JjZTIsIG5Gb3JjZTMgYW5kIG5Gb3JjZTQiCi0JZGVwZW5kcyBvbiBQQ0kKK2NvbmZpZyBJMkNfTVY2NFhYWAorCXRyaXN0YXRlICJNYXJ2ZWxsIG12NjR4eHggSTJDIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiAoTVY2NFg2MCB8fCBQTEFUX09SSU9OKSAmJiBFWFBFUklNRU5UQUwKIAloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgTnZpZGlhCi0JICBuRm9yY2UyLCBuRm9yY2UzIGFuZCBuRm9yY2U0IGZhbWlsaWVzIG9mIG1haW5ib2FyZCBJMkMgaW50ZXJmYWNlcy4KKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgYnVpbHQtaW4gSTJDIGludGVyZmFjZSBvbiB0aGUgTWFydmVsbCA2NHh4eCBsaW5lIG9mIGhvc3QgYnJpZGdlcy4KIAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLW5mb3JjZTIuCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtbXY2NHh4eC4KIAogY29uZmlnIEkyQ19PQ09SRVMKIAl0cmlzdGF0ZSAiT3BlbkNvcmVzIEkyQyBDb250cm9sbGVyIgpAQCAtMzM2LDYgKzQwNyw4OSBAQAogCSAgTGlrZSBPTUFQMTUxMC8xNjEwLzE3MTAvNTkxMiBhbmQgT01BUDI0MnguCiAJICBGb3IgZGV0YWlscyBzZWUgaHR0cDovL3d3dy50aS5jb20vb21hcC4KIAorY29uZmlnIEkyQ19QQVNFTUkKKwl0cmlzdGF0ZSAiUEEgU2VtaSBTTUJ1cyBpbnRlcmZhY2UiCisJZGVwZW5kcyBvbiBQUENfUEFTRU1JICYmIFBDSQorCWhlbHAKKwkgIFN1cHBvcnRzIHRoZSBQQSBTZW1pIFBXUmZpY2llbnQgb24tY2hpcCBTTUJ1cyBpbnRlcmZhY2VzLgorCitjb25maWcgSTJDX1BOWAorCXRyaXN0YXRlICJJMkMgYnVzIHN1cHBvcnQgZm9yIFBoaWxpcHMgUE5YIHRhcmdldHMiCisJZGVwZW5kcyBvbiBBUkNIX1BOWDQwMDgKKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgUGhpbGlwcyBJUDMyMDQgSTJDIElQIGJsb2NrIG1hc3RlciBhbmQvb3IKKwkgIHNsYXZlIGNvbnRyb2xsZXIKKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBueC4KKworY29uZmlnIEkyQ19QWEEKKwl0cmlzdGF0ZSAiSW50ZWwgUFhBMlhYIEkyQyBhZGFwdGVyIChFWFBFUklNRU5UQUwpIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEFSQ0hfUFhBCisJaGVscAorCSAgSWYgeW91IGhhdmUgZGV2aWNlcyBpbiB0aGUgUFhBIEkyQyBidXMsIHNheSB5ZXMgdG8gdGhpcyBvcHRpb24uCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtcHhhLgorCitjb25maWcgSTJDX1BYQV9TTEFWRQorCWJvb2wgIkludGVsIFBYQTJYWCBJMkMgU2xhdmUgY29tbXMgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEkyQ19QWEEKKwloZWxwCisJICBTdXBwb3J0IEkyQyBzbGF2ZSBtb2RlIGNvbW11bmljYXRpb25zIG9uIHRoZSBQWEEgSTJDIGJ1cy4gIFRoaXMKKwkgIGlzIG5lY2Vzc2FyeSBmb3Igc3lzdGVtcyB3aGVyZSB0aGUgUFhBIG1heSBiZSBhIHRhcmdldCBvbiB0aGUKKwkgIEkyQyBidXMuCisKK2NvbmZpZyBJMkNfUzNDMjQxMAorCXRyaXN0YXRlICJTM0MyNDEwIEkyQyBEcml2ZXIiCisJZGVwZW5kcyBvbiBBUkNIX1MzQzI0MTAKKwloZWxwCisJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgSTJDIGNvbnRyb2xsZXIgaW4gdGhlCisJICBTYW1zdW5nIFMzQzI0MTAgYmFzZWQgU3lzdGVtLW9uLUNoaXAgZGV2aWNlcy4KKworY29uZmlnIEkyQ19TSDc3NjAKKwl0cmlzdGF0ZSAiUmVuZXNhcyBTSDc3NjAgSTJDIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAKKwloZWxwCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyB0aGUgMiBJMkMgaW50ZXJmYWNlcyBvbiB0aGUgUmVuZXNhcyBTSDc3NjAuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKKwkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaDc3NjAuCisKK2NvbmZpZyBJMkNfU0hfTU9CSUxFCisJdHJpc3RhdGUgIlN1cGVySCBNb2JpbGUgSTJDIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBTVVBFUkgKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKKwkgIGJ1aWx0LWluIEkyQyBpbnRlcmZhY2Ugb24gdGhlIFJlbmVzYXMgU0gtTW9iaWxlIHByb2Nlc3Nvci4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNoX21vYmlsZS4KKworY29uZmlnIEkyQ19TSU1URUMKKwl0cmlzdGF0ZSAiU2ltdGVjIEdlbmVyaWMgSTJDIGludGVyZmFjZSIKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvcgorCSAgdGhlIFNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UuIFRoaXMgZHJpdmVyIGlzIGZvciB0aGUKKwkgIHNpbXBsZSBJMkMgYnVzIHVzZWQgb24gbmV3ZXIgU2ltdGVjIHByb2R1Y3RzIGZvciBnZW5lcmFsCisJICBJMkMsIHN1Y2ggYXMgRERDIG9uIHRoZSBTaW10ZWMgQkJEMjAxNkEuCisKKwkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpbXRlYy4KKworY29uZmlnIEkyQ19WRVJTQVRJTEUKKwl0cmlzdGF0ZSAiQVJNIFZlcnNhdGlsZS9SZWFsdmlldyBJMkMgYnVzIHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUkNIX1ZFUlNBVElMRSB8fCBBUkNIX1JFQUxWSUVXCisJc2VsZWN0IEkyQ19BTEdPQklUCisJaGVscAorCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgc2VyaWFsIGJ1cyBvbiBBUk1zIFZlcnNhdGlsZQorCSAgcmFuZ2Ugb2YgcGxhdGZvcm1zLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdmVyc2F0aWxlLgorCitjb21tZW50ICJFeHRlcm5hbCBJMkMvU01CdXMgYWRhcHRlciBkcml2ZXJzIgorCiBjb25maWcgSTJDX1BBUlBPUlQKIAl0cmlzdGF0ZSAiUGFyYWxsZWwgcG9ydCBhZGFwdGVyIgogCWRlcGVuZHMgb24gUEFSUE9SVApAQCAtMzgzLDUwICs1MzcsMTA2IEBACiAJICBUaGlzIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBhcnBvcnQtbGlnaHQuCiAKLWNvbmZpZyBJMkNfUEFTRU1JCi0JdHJpc3RhdGUgIlBBIFNlbWkgU01CdXMgaW50ZXJmYWNlIgotCWRlcGVuZHMgb24gUFBDX1BBU0VNSSAmJiBQQ0kKLQloZWxwCi0JICBTdXBwb3J0cyB0aGUgUEEgU2VtaSBQV1JmaWNpZW50IG9uLWNoaXAgU01CdXMgaW50ZXJmYWNlcy4KLQotY29uZmlnIEkyQ19QUk9TQVZBR0UKLQl0cmlzdGF0ZSAiUzMvVklBIChQcm8pU2F2YWdlIChERVBSRUNBVEVEKSIKK2NvbmZpZyBJMkNfVEFPU19FVk0KKwl0cmlzdGF0ZSAiVEFPUyBldmFsdWF0aW9uIG1vZHVsZSIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAorCXNlbGVjdCBTRVJJTworCXNlbGVjdCBTRVJJT19TRVJQT1JUCiAJZGVmYXVsdCBuCi0JZGVwZW5kcyBvbiBQQ0kKLQlzZWxlY3QgSTJDX0FMR09CSVQKIAloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIEkyQyBidXMgYW5kIEREQyBidXMgb2YgdGhlIFMzVklBIGVtYmVkZGVkIFNhdmFnZTQgYW5kIFByb1NhdmFnZTgKLQkgIGdyYXBoaWNzIHByb2Nlc3NvcnMuCi0JICBjaGlwc2V0cyBzdXBwb3J0ZWQ6Ci0JICAgIFMzL1ZJQSBLTTI2Ni9WVDgzNzUgYWthIFByb1NhdmFnZTgKLQkgICAgUzMvVklBIEtNMTMzL1ZUODM2NSBha2EgU2F2YWdlNAorCSAgVGhpcyBzdXBwb3J0cyBUQU9TIGV2YWx1YXRpb24gbW9kdWxlcyBvbiBzZXJpYWwgcG9ydC4gSW4gb3JkZXIgdG8KKwkgIHVzZSB0aGlzIGRyaXZlciwgeW91IHdpbGwgbmVlZCB0aGUgaW5wdXRhdHRhY2ggdG9vbCwgd2hpY2ggaXMgcGFydAorCSAgb2YgdGhlIGlucHV0LXV0aWxzIHBhY2thZ2UuCiAKLQkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIHNhdmFnZWZiIGRyaXZlci4KKwkgIElmIHVuc3VyZSwgc2F5IE4uCiAKIAkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcHJvc2F2YWdlLgorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRhb3MtZXZtLgogCi1jb25maWcgSTJDX1MzQzI0MTAKLQl0cmlzdGF0ZSAiUzNDMjQxMCBJMkMgRHJpdmVyIgotCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwCitjb25maWcgSTJDX1RJTllfVVNCCisJdHJpc3RhdGUgIlRpbnktVVNCIGFkYXB0ZXIiCisJZGVwZW5kcyBvbiBVU0IKIAloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgSTJDIGNvbnRyb2xsZXIgaW4gdGhlCi0JICBTYW1zdW5nIFMzQzI0MTAgYmFzZWQgU3lzdGVtLW9uLUNoaXAgZGV2aWNlcy4KKwkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQorCSAgaTJjLXRpbnktdXNiLCBhIHNpbXBsZSBkby1pdC15b3Vyc2VsZiBVU0IgdG8gSTJDIGludGVyZmFjZS4gU2VlCisJICBodHRwOi8vd3d3LmhhcmJhdW0ub3JnL3RpbGwvaTJjX3RpbnlfdXNiIGZvciBoYXJkd2FyZSBkZXRhaWxzLgogCi1jb25maWcgSTJDX1NBVkFHRTQKLQl0cmlzdGF0ZSAiUzMgU2F2YWdlIDQgKERFUFJFQ0FURUQpIgotCWRlZmF1bHQgbgorCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXRpbnktdXNiLgorCitjb21tZW50ICJHcmFwaGljcyBhZGFwdGVyIEkyQy9EREMgY2hhbm5lbCBkcml2ZXJzIgorCWRlcGVuZHMgb24gUENJCisKK2NvbmZpZyBJMkNfVk9PRE9PMworCXRyaXN0YXRlICJWb29kb28gMyIKIAlkZXBlbmRzIG9uIFBDSQogCXNlbGVjdCBJMkNfQUxHT0JJVAogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgUzMgU2F2YWdlIDQgSTJDIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgc2F2YWdlZmIgZHJpdmVyLgorCSAgVm9vZG9vIDMgSTJDIGludGVyZmFjZS4KIAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNhdmFnZTQuCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtdm9vZG9vMy4KKworY29tbWVudCAiT3RoZXIgSTJDL1NNQnVzIGJ1cyBkcml2ZXJzIgorCitjb25maWcgSTJDX0FDT1JOCisJdHJpc3RhdGUgIkFjb3JuIElPQy9JT01EIEkyQyBidXMgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4KKwlkZWZhdWx0IHkKKwlzZWxlY3QgSTJDX0FMR09CSVQKKwloZWxwCisJICBTYXkgeWVzIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgdGhlIEkyQyBidXMgb24gQWNvcm4gcGxhdGZvcm1zLgorCisJICBJZiB5b3UgZG9uJ3Qga25vdywgc2F5IFkuCisKK2NvbmZpZyBJMkNfRUxFS1RPUgorCXRyaXN0YXRlICJFbGVrdG9yIElTQSBjYXJkIgorCWRlcGVuZHMgb24gSVNBICYmIEJST0tFTl9PTl9TTVAKKwlzZWxlY3QgSTJDX0FMR09QQ0YKKwloZWxwCisJICBUaGlzIHN1cHBvcnRzIHRoZSBQQ0Y4NTg0IElTQSBidXMgSTJDIGFkYXB0ZXIuICBTYXkgWSBpZiB5b3Ugb3duCisJICBzdWNoIGFuIGFkYXB0ZXIuCisKKwkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBpMmMtZWxla3Rvci4KKworY29uZmlnIEkyQ19QQ0FfSVNBCisJdHJpc3RhdGUgIlBDQTk1NjQgb24gYW4gSVNBIGJ1cyIKKwlkZXBlbmRzIG9uIElTQQorCXNlbGVjdCBJMkNfQUxHT1BDQQorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIElTQSBib2FyZHMgdXNpbmcgdGhlIFBoaWxpcHMgUENBOTU2NAorCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1pc2EuCisKKwkgIFRoaXMgZGV2aWNlIGlzIGFsbW9zdCB1bmRldGVjdGFibGUgYW5kIHVzaW5nIHRoaXMgZHJpdmVyIG9uIGEKKwkgIHN5c3RlbSB3aGljaCBkb2Vzbid0IGhhdmUgdGhpcyBkZXZpY2Ugd2lsbCByZXN1bHQgaW4gbG9uZworCSAgZGVsYXlzIHdoZW4gSTJDL1NNQnVzIGNoaXAgZHJpdmVycyBhcmUgbG9hZGVkIChlLmcuIGF0IGJvb3QKKwkgIHRpbWUpLiAgSWYgdW5zdXJlLCBzYXkgTi4KKworY29uZmlnIEkyQ19QQ0FfUExBVEZPUk0KKwl0cmlzdGF0ZSAiUENBOTU2NCBhcyBwbGF0Zm9ybSBkZXZpY2UiCisJc2VsZWN0IEkyQ19BTEdPUENBCisJZGVmYXVsdCBuCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgYSBtZW1vcnkgbWFwcGVkIFBoaWxpcHMgUENBOTU2NAorCSAgcGFyYWxsZWwgYnVzIHRvIEkyQyBidXMgY29udHJvbGxlci4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBjYS1wbGF0Zm9ybS4KKworY29uZmlnIEkyQ19QTUNNU1AKKwl0cmlzdGF0ZSAiUE1DIE1TUCBJMkMgVFdJIENvbnRyb2xsZXIiCisJZGVwZW5kcyBvbiBQTUNfTVNQCisJaGVscAorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBNQyBUV0kgY29udHJvbGxlciBvbiBNU1AgZGV2aWNlcy4KKworCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgbW9kdWxlLiBJZiBzbywgdGhlIG1vZHVsZQorCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXBtY21zcC4KIAogY29uZmlnIEkyQ19TSUJZVEUKIAl0cmlzdGF0ZSAiU2lCeXRlIFNNQnVzIGludGVyZmFjZSIKQEAgLTQzNCwxNyArNjQ0LDE4IEBACiAJaGVscAogCSAgU3VwcG9ydHMgdGhlIFNpQnl0ZSBTT0Mgb24tY2hpcCBJMkMgaW50ZXJmYWNlcyAoMiBjaGFubmVscykuCiAKLWNvbmZpZyBJMkNfU0lNVEVDCi0JdHJpc3RhdGUgIlNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UiCi0Jc2VsZWN0IEkyQ19BTEdPQklUCitjb25maWcgSTJDX1NUVUIKKwl0cmlzdGF0ZSAiSTJDL1NNQnVzIFRlc3QgU3R1YiIKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTCAmJiBtCisJZGVmYXVsdCAnbicKIAloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvcgotCSAgdGhlIFNpbXRlYyBHZW5lcmljIEkyQyBpbnRlcmZhY2UuIFRoaXMgZHJpdmVyIGlzIGZvciB0aGUKLQkgIHNpbXBsZSBJMkMgYnVzIHVzZWQgb24gbmV3ZXIgU2ltdGVjIHByb2R1Y3RzIGZvciBnZW5lcmFsCi0JICBJMkMsIHN1Y2ggYXMgRERDIG9uIHRoZSBTaW10ZWMgQkJEMjAxNkEuCisJICBUaGlzIG1vZHVsZSBtYXkgYmUgdXNlZnVsIHRvIGRldmVsb3BlcnMgb2YgU01CdXMgY2xpZW50IGRyaXZlcnMsCisJICBlc3BlY2lhbGx5IGZvciBjZXJ0YWluIGtpbmRzIG9mIHNlbnNvciBjaGlwcy4KIAotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2ltdGVjLgorCSAgSWYgeW91IGRvIGJ1aWxkIHRoaXMgbW9kdWxlLCBiZSBzdXJlIHRvIHJlYWQgdGhlIG5vdGVzIGFuZCB3YXJuaW5ncworCSAgaW4gPGZpbGU6RG9jdW1lbnRhdGlvbi9pMmMvaTJjLXN0dWI+LgorCisJICBJZiB5b3UgZG9uJ3Qga25vdyB3aGF0IHRvIGRvIGhlcmUsIGRlZmluaXRlbHkgc2F5IE4uCiAKIGNvbmZpZyBTQ3gyMDBfSTJDCiAJdHJpc3RhdGUgIk5hdFNlbWkgU0N4MjAwIEkyQyB1c2luZyBHUElPIHBpbnMgKERFUFJFQ0FURUQpIgpAQCAtNDg5LDIyMCArNzAwLDQgQEAKIAkgIFRoaXMgc3VwcG9ydCBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzY3gyMDBfYWNiLgogCi1jb25maWcgSTJDX1NJUzU1OTUKLQl0cmlzdGF0ZSAiU2lTIDU1OTUiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFNpUzU1OTUgU01CdXMgKGEgc3Vic2V0IG9mIEkyQykgaW50ZXJmYWNlLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2lzNTU5NS4KLQotY29uZmlnIEkyQ19TSVM2MzAKLQl0cmlzdGF0ZSAiU2lTIDYzMC83MzAiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFNpUzYzMCBhbmQgU2lTNzMwIFNNQnVzIChhIHN1YnNldCBvZiBJMkMpIGludGVyZmFjZS4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczYzMC4KLQotY29uZmlnIEkyQ19TSVM5NlgKLQl0cmlzdGF0ZSAiU2lTIDk2eCIKLQlkZXBlbmRzIG9uIFBDSQotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZSBTaVMKLQkgIDk2eCBTTUJ1cyAoYSBzdWJzZXQgb2YgSTJDKSBpbnRlcmZhY2VzLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgotCSAgICA2NDUvOTYxCi0JICAgIDY0NURYLzk2MQotCSAgICA2NDVEWC85NjIKLQkgICAgNjQ4Lzk2MQotCSAgICA2NTAvOTYxCi0JICAgIDczNQotCSAgICA3NDUKLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXNpczk2eC4KLQotY29uZmlnIEkyQ19UQU9TX0VWTQotCXRyaXN0YXRlICJUQU9TIGV2YWx1YXRpb24gbW9kdWxlIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCi0Jc2VsZWN0IFNFUklPCi0Jc2VsZWN0IFNFUklPX1NFUlBPUlQKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBUaGlzIHN1cHBvcnRzIFRBT1MgZXZhbHVhdGlvbiBtb2R1bGVzIG9uIHNlcmlhbCBwb3J0LiBJbiBvcmRlciB0bwotCSAgdXNlIHRoaXMgZHJpdmVyLCB5b3Ugd2lsbCBuZWVkIHRoZSBpbnB1dGF0dGFjaCB0b29sLCB3aGljaCBpcyBwYXJ0Ci0JICBvZiB0aGUgaW5wdXQtdXRpbHMgcGFja2FnZS4KLQotCSAgSWYgdW5zdXJlLCBzYXkgTi4KLQotCSAgVGhpcyBzdXBwb3J0IGlzIGFsc28gYXZhaWxhYmxlIGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy10YW9zLWV2bS4KLQotY29uZmlnIEkyQ19TVFVCCi0JdHJpc3RhdGUgIkkyQy9TTUJ1cyBUZXN0IFN0dWIiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgbQotCWRlZmF1bHQgJ24nCi0JaGVscAotCSAgVGhpcyBtb2R1bGUgbWF5IGJlIHVzZWZ1bCB0byBkZXZlbG9wZXJzIG9mIFNNQnVzIGNsaWVudCBkcml2ZXJzLAotCSAgZXNwZWNpYWxseSBmb3IgY2VydGFpbiBraW5kcyBvZiBzZW5zb3IgY2hpcHMuCi0KLQkgIElmIHlvdSBkbyBidWlsZCB0aGlzIG1vZHVsZSwgYmUgc3VyZSB0byByZWFkIHRoZSBub3RlcyBhbmQgd2FybmluZ3MKLQkgIGluIDxmaWxlOkRvY3VtZW50YXRpb24vaTJjL2kyYy1zdHViPi4KLQotCSAgSWYgeW91IGRvbid0IGtub3cgd2hhdCB0byBkbyBoZXJlLCBkZWZpbml0ZWx5IHNheSBOLgotCi1jb25maWcgSTJDX1RJTllfVVNCCi0JdHJpc3RhdGUgIkkyQy1UaW55LVVTQiIKLQlkZXBlbmRzIG9uIFVTQgotCWhlbHAKLQkgIElmIHlvdSBzYXkgeWVzIHRvIHRoaXMgb3B0aW9uLCBzdXBwb3J0IHdpbGwgYmUgaW5jbHVkZWQgZm9yIHRoZQotCSAgaTJjLXRpbnktdXNiLCBhIHNpbXBsZSBkby1pdC15b3Vyc2VsZiBVU0IgdG8gSTJDIGludGVyZmFjZS4gU2VlCi0JICBodHRwOi8vd3d3LmhhcmJhdW0ub3JnL3RpbGwvaTJjX3RpbnlfdXNiIGZvciBoYXJkd2FyZSBkZXRhaWxzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdGlueS11c2IuCi0KLWNvbmZpZyBJMkNfVkVSU0FUSUxFCi0JdHJpc3RhdGUgIkFSTSBWZXJzYXRpbGUvUmVhbHZpZXcgSTJDIGJ1cyBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJDSF9WRVJTQVRJTEUgfHwgQVJDSF9SRUFMVklFVwotCXNlbGVjdCBJMkNfQUxHT0JJVAotCWhlbHAKLQkgIFNheSB5ZXMgaWYgeW91IHdhbnQgdG8gc3VwcG9ydCB0aGUgSTJDIHNlcmlhbCBidXMgb24gQVJNcyBWZXJzYXRpbGUKLQkgIHJhbmdlIG9mIHBsYXRmb3Jtcy4KLQotCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQotCSAgd2lsbCBiZSBjYWxsZWQgaTJjLXZlcnNhdGlsZS4KLQotY29uZmlnIEkyQ19BQ09STgotCXRyaXN0YXRlICJBY29ybiBJT0MvSU9NRCBJMkMgYnVzIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUkNIX0FDT1JOCi0JZGVmYXVsdCB5Ci0Jc2VsZWN0IEkyQ19BTEdPQklUCi0JaGVscAotCSAgU2F5IHllcyBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IHRoZSBJMkMgYnVzIG9uIEFjb3JuIHBsYXRmb3Jtcy4KLQotCSAgSWYgeW91IGRvbid0IGtub3csIHNheSBZLgotCi1jb25maWcgSTJDX1ZJQQotCXRyaXN0YXRlICJWSUEgODJDNTg2QiIKLQlkZXBlbmRzIG9uIFBDSSAmJiBFWFBFUklNRU5UQUwKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCi0gICAgICAgICAgODJDNTg2QiBJMkMgaW50ZXJmYWNlCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12aWEuCi0KLWNvbmZpZyBJMkNfVklBUFJPCi0JdHJpc3RhdGUgIlZJQSBWVDgyQzU5Ni84MkM2ODYvODJ4eCBhbmQgQ1g3MDAiCi0JZGVwZW5kcyBvbiBQQ0kKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUgVklBCi0JICBWVDgyQzU5NiBhbmQgbGF0ZXIgU01CdXMgaW50ZXJmYWNlLiAgU3BlY2lmaWNhbGx5LCB0aGUgZm9sbG93aW5nCi0JICBjaGlwc2V0cyBhcmUgc3VwcG9ydGVkOgotCSAgICBWVDgyQzU5NkEvQgotCSAgICBWVDgyQzY4NkEvQgotCSAgICBWVDgyMzEKLQkgICAgVlQ4MjMzL0EKLQkgICAgVlQ4MjM1Ci0JICAgIFZUODIzN1IvQS9TCi0JICAgIFZUODI1MQotCSAgICBDWDcwMAotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtdmlhcHJvLgotCi1jb25maWcgSTJDX1ZPT0RPTzMKLQl0cmlzdGF0ZSAiVm9vZG9vIDMiCi0JZGVwZW5kcyBvbiBQQ0kKLQlzZWxlY3QgSTJDX0FMR09CSVQKLQloZWxwCi0JICBJZiB5b3Ugc2F5IHllcyB0byB0aGlzIG9wdGlvbiwgc3VwcG9ydCB3aWxsIGJlIGluY2x1ZGVkIGZvciB0aGUKLQkgIFZvb2RvbyAzIEkyQyBpbnRlcmZhY2UuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy12b29kb28zLgotCi1jb25maWcgSTJDX1BDQV9JU0EKLQl0cmlzdGF0ZSAiUENBOTU2NCBvbiBhbiBJU0EgYnVzIgotCWRlcGVuZHMgb24gSVNBCi0Jc2VsZWN0IEkyQ19BTEdPUENBCi0JZGVmYXVsdCBuCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgSVNBIGJvYXJkcyB1c2luZyB0aGUgUGhpbGlwcyBQQ0E5NTY0Ci0JICBwYXJhbGxlbCBidXMgdG8gSTJDIGJ1cyBjb250cm9sbGVyLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcGNhLWlzYS4KLQotCSAgVGhpcyBkZXZpY2UgaXMgYWxtb3N0IHVuZGV0ZWN0YWJsZSBhbmQgdXNpbmcgdGhpcyBkcml2ZXIgb24gYQotCSAgc3lzdGVtIHdoaWNoIGRvZXNuJ3QgaGF2ZSB0aGlzIGRldmljZSB3aWxsIHJlc3VsdCBpbiBsb25nCi0JICBkZWxheXMgd2hlbiBJMkMvU01CdXMgY2hpcCBkcml2ZXJzIGFyZSBsb2FkZWQgKGUuZy4gYXQgYm9vdAotCSAgdGltZSkuICBJZiB1bnN1cmUsIHNheSBOLgotCi1jb25maWcgSTJDX1BDQV9QTEFURk9STQotCXRyaXN0YXRlICJQQ0E5NTY0IGFzIHBsYXRmb3JtIGRldmljZSIKLQlzZWxlY3QgSTJDX0FMR09QQ0EKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBUaGlzIGRyaXZlciBzdXBwb3J0cyBhIG1lbW9yeSBtYXBwZWQgUGhpbGlwcyBQQ0E5NTY0Ci0JICBwYXJhbGxlbCBidXMgdG8gSTJDIGJ1cyBjb250cm9sbGVyLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtcGNhLXBsYXRmb3JtLgotCi1jb25maWcgSTJDX01WNjRYWFgKLQl0cmlzdGF0ZSAiTWFydmVsbCBtdjY0eHh4IEkyQyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gKE1WNjRYNjAgfHwgUExBVF9PUklPTikgJiYgRVhQRVJJTUVOVEFMCi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBNYXJ2ZWxsIDY0eHh4IGxpbmUgb2YgaG9zdCBicmlkZ2VzLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtbXY2NHh4eC4KLQotY29uZmlnIEkyQ19QTlgKLQl0cmlzdGF0ZSAiSTJDIGJ1cyBzdXBwb3J0IGZvciBQaGlsaXBzIFBOWCB0YXJnZXRzIgotCWRlcGVuZHMgb24gQVJDSF9QTlg0MDA4Ci0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIFBoaWxpcHMgSVAzMjA0IEkyQyBJUCBibG9jayBtYXN0ZXIgYW5kL29yCi0JICBzbGF2ZSBjb250cm9sbGVyCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbnguCi0KLWNvbmZpZyBJMkNfUE1DTVNQCi0JdHJpc3RhdGUgIlBNQyBNU1AgSTJDIFRXSSBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gUE1DX01TUAotCWhlbHAKLQkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBQTUMgVFdJIGNvbnRyb2xsZXIgb24gTVNQIGRldmljZXMuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIG1vZHVsZS4gSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1wbWNtc3AuCi0KLWNvbmZpZyBJMkNfU0g3NzYwCi0JdHJpc3RhdGUgIlJlbmVzYXMgU0g3NzYwIEkyQyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gQ1BVX1NVQlRZUEVfU0g3NzYwCi0JaGVscAotCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgdGhlIDIgSTJDIGludGVyZmFjZXMgb24gdGhlIFJlbmVzYXMgU0g3NzYwLgotCi0JICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCi0JICB3aWxsIGJlIGNhbGxlZCBpMmMtc2g3NzYwLgotCi1jb25maWcgSTJDX1NIX01PQklMRQotCXRyaXN0YXRlICJTdXBlckggTW9iaWxlIEkyQyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU1VQRVJICi0JaGVscAotCSAgSWYgeW91IHNheSB5ZXMgdG8gdGhpcyBvcHRpb24sIHN1cHBvcnQgd2lsbCBiZSBpbmNsdWRlZCBmb3IgdGhlCi0JICBidWlsdC1pbiBJMkMgaW50ZXJmYWNlIG9uIHRoZSBSZW5lc2FzIFNILU1vYmlsZSBwcm9jZXNzb3IuCi0KLQkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKLQkgIHdpbGwgYmUgY2FsbGVkIGkyYy1zaF9tb2JpbGUuCi0KIGVuZG1lbnUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZSBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9NYWtlZmlsZQppbmRleCBlOGM4ODJhLi45N2RiZmEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL01ha2VmaWxlCkBAIC0yLDU3ICsyLDY4IEBACiAjIE1ha2VmaWxlIGZvciB0aGUgaTJjIGJ1cyBkcml2ZXJzLgogIwogCisjIFBDIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCiBvYmotJChDT05GSUdfSTJDX0FMSTE1MzUpCSs9IGkyYy1hbGkxNTM1Lm8KIG9iai0kKENPTkZJR19JMkNfQUxJMTU2MykJKz0gaTJjLWFsaTE1NjMubwogb2JqLSQoQ09ORklHX0kyQ19BTEkxNVgzKQkrPSBpMmMtYWxpMTV4My5vCiBvYmotJChDT05GSUdfSTJDX0FNRDc1NikJKz0gaTJjLWFtZDc1Ni5vCiBvYmotJChDT05GSUdfSTJDX0FNRDc1Nl9TNDg4MikJKz0gaTJjLWFtZDc1Ni1zNDg4Mi5vCiBvYmotJChDT05GSUdfSTJDX0FNRDgxMTEpCSs9IGkyYy1hbWQ4MTExLm8KLW9iai0kKENPTkZJR19JMkNfQVQ5MSkJCSs9IGkyYy1hdDkxLm8KLW9iai0kKENPTkZJR19JMkNfQVUxNTUwKQkrPSBpMmMtYXUxNTUwLm8KLW9iai0kKENPTkZJR19JMkNfQkxBQ0tGSU5fVFdJKQkrPSBpMmMtYmZpbi10d2kubwotb2JqLSQoQ09ORklHX0kyQ19EQVZJTkNJKQkrPSBpMmMtZGF2aW5jaS5vCi1vYmotJChDT05GSUdfSTJDX0VMRUtUT1IpCSs9IGkyYy1lbGVrdG9yLm8KLW9iai0kKENPTkZJR19JMkNfR1BJTykJCSs9IGkyYy1ncGlvLm8KLW9iai0kKENPTkZJR19JMkNfSFlEUkEpCQkrPSBpMmMtaHlkcmEubwogb2JqLSQoQ09ORklHX0kyQ19JODAxKQkJKz0gaTJjLWk4MDEubwotb2JqLSQoQ09ORklHX0kyQ19JODEwKQkJKz0gaTJjLWk4MTAubwotb2JqLSQoQ09ORklHX0kyQ19JQk1fSUlDKQkrPSBpMmMtaWJtX2lpYy5vCi1vYmotJChDT05GSUdfSTJDX0lPUDNYWCkJKz0gaTJjLWlvcDN4eC5vCi1vYmotJChDT05GSUdfSTJDX0lYUDIwMDApCSs9IGkyYy1peHAyMDAwLm8KLW9iai0kKENPTkZJR19JMkNfUE9XRVJNQUMpCSs9IGkyYy1wb3dlcm1hYy5vCi1vYmotJChDT05GSUdfSTJDX01QQykJCSs9IGkyYy1tcGMubwotb2JqLSQoQ09ORklHX0kyQ19NVjY0WFhYKQkrPSBpMmMtbXY2NHh4eC5vCitvYmotJChDT05GSUdfSTJDX0lTQ0gpCQkrPSBpMmMtaXNjaC5vCiBvYmotJChDT05GSUdfSTJDX05GT1JDRTIpCSs9IGkyYy1uZm9yY2UyLm8KLW9iai0kKENPTkZJR19JMkNfT0NPUkVTKQkrPSBpMmMtb2NvcmVzLm8KLW9iai0kKENPTkZJR19JMkNfT01BUCkJCSs9IGkyYy1vbWFwLm8KLW9iai0kKENPTkZJR19JMkNfUEFSUE9SVCkJKz0gaTJjLXBhcnBvcnQubwotb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUX0xJR0hUKQkrPSBpMmMtcGFycG9ydC1saWdodC5vCi1vYmotJChDT05GSUdfSTJDX1BBU0VNSSkJKz0gaTJjLXBhc2VtaS5vCi1vYmotJChDT05GSUdfSTJDX1BDQV9JU0EpCSs9IGkyYy1wY2EtaXNhLm8KLW9iai0kKENPTkZJR19JMkNfUENBX1BMQVRGT1JNKQkrPSBpMmMtcGNhLXBsYXRmb3JtLm8KK29iai0kKENPTkZJR19JMkNfTkZPUkNFMl9TNDk4NSkJKz0gaTJjLW5mb3JjZTItczQ5ODUubwogb2JqLSQoQ09ORklHX0kyQ19QSUlYNCkJCSs9IGkyYy1waWl4NC5vCi1vYmotJChDT05GSUdfSTJDX1BNQ01TUCkJKz0gaTJjLXBtY21zcC5vCi1vYmotJChDT05GSUdfSTJDX1BOWCkJCSs9IGkyYy1wbngubwotb2JqLSQoQ09ORklHX0kyQ19QUk9TQVZBR0UpCSs9IGkyYy1wcm9zYXZhZ2Uubwotb2JqLSQoQ09ORklHX0kyQ19QWEEpCQkrPSBpMmMtcHhhLm8KLW9iai0kKENPTkZJR19JMkNfUzNDMjQxMCkJKz0gaTJjLXMzYzI0MTAubwotb2JqLSQoQ09ORklHX0kyQ19TQVZBR0U0KQkrPSBpMmMtc2F2YWdlNC5vCi1vYmotJChDT05GSUdfSTJDX1NINzc2MCkJKz0gaTJjLXNoNzc2MC5vCi1vYmotJChDT05GSUdfSTJDX1NIX01PQklMRSkJKz0gaTJjLXNoX21vYmlsZS5vCi1vYmotJChDT05GSUdfSTJDX1NJQllURSkJKz0gaTJjLXNpYnl0ZS5vCi1vYmotJChDT05GSUdfSTJDX1NJTVRFQykJKz0gaTJjLXNpbXRlYy5vCiBvYmotJChDT05GSUdfSTJDX1NJUzU1OTUpCSs9IGkyYy1zaXM1NTk1Lm8KIG9iai0kKENPTkZJR19JMkNfU0lTNjMwKQkrPSBpMmMtc2lzNjMwLm8KIG9iai0kKENPTkZJR19JMkNfU0lTOTZYKQkrPSBpMmMtc2lzOTZ4Lm8KLW9iai0kKENPTkZJR19JMkNfU1RVQikJCSs9IGkyYy1zdHViLm8KLW9iai0kKENPTkZJR19JMkNfVEFPU19FVk0pCSs9IGkyYy10YW9zLWV2bS5vCi1vYmotJChDT05GSUdfSTJDX1RJTllfVVNCKQkrPSBpMmMtdGlueS11c2Iubwotb2JqLSQoQ09ORklHX0kyQ19WRVJTQVRJTEUpCSs9IGkyYy12ZXJzYXRpbGUubwotb2JqLSQoQ09ORklHX0kyQ19BQ09STikJCSs9IGkyYy1hY29ybi5vCiBvYmotJChDT05GSUdfSTJDX1ZJQSkJCSs9IGkyYy12aWEubwogb2JqLSQoQ09ORklHX0kyQ19WSUFQUk8pCSs9IGkyYy12aWFwcm8ubworCisjIE1hYyBTTUJ1cyBob3N0IGNvbnRyb2xsZXIgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19IWURSQSkJCSs9IGkyYy1oeWRyYS5vCitvYmotJChDT05GSUdfSTJDX1BPV0VSTUFDKQkrPSBpMmMtcG93ZXJtYWMubworCisjIEVtYmViYmVkIHN5c3RlbSBJMkMvU01CdXMgaG9zdCBjb250cm9sbGVyIGRyaXZlcnMKK29iai0kKENPTkZJR19JMkNfQVQ5MSkJCSs9IGkyYy1hdDkxLm8KK29iai0kKENPTkZJR19JMkNfQVUxNTUwKQkrPSBpMmMtYXUxNTUwLm8KK29iai0kKENPTkZJR19JMkNfQkxBQ0tGSU5fVFdJKQkrPSBpMmMtYmZpbi10d2kubworb2JqLSQoQ09ORklHX0kyQ19DUE0pCQkrPSBpMmMtY3BtLm8KK29iai0kKENPTkZJR19JMkNfREFWSU5DSSkJKz0gaTJjLWRhdmluY2kubworb2JqLSQoQ09ORklHX0kyQ19HUElPKQkJKz0gaTJjLWdwaW8ubworb2JqLSQoQ09ORklHX0kyQ19JQk1fSUlDKQkrPSBpMmMtaWJtX2lpYy5vCitvYmotJChDT05GSUdfSTJDX0lPUDNYWCkJKz0gaTJjLWlvcDN4eC5vCitvYmotJChDT05GSUdfSTJDX0lYUDIwMDApCSs9IGkyYy1peHAyMDAwLm8KK29iai0kKENPTkZJR19JMkNfTVBDKQkJKz0gaTJjLW1wYy5vCitvYmotJChDT05GSUdfSTJDX01WNjRYWFgpCSs9IGkyYy1tdjY0eHh4Lm8KK29iai0kKENPTkZJR19JMkNfT0NPUkVTKQkrPSBpMmMtb2NvcmVzLm8KK29iai0kKENPTkZJR19JMkNfT01BUCkJCSs9IGkyYy1vbWFwLm8KK29iai0kKENPTkZJR19JMkNfUEFTRU1JKQkrPSBpMmMtcGFzZW1pLm8KK29iai0kKENPTkZJR19JMkNfUE5YKQkJKz0gaTJjLXBueC5vCitvYmotJChDT05GSUdfSTJDX1BYQSkJCSs9IGkyYy1weGEubworb2JqLSQoQ09ORklHX0kyQ19TM0MyNDEwKQkrPSBpMmMtczNjMjQxMC5vCitvYmotJChDT05GSUdfSTJDX1NINzc2MCkJKz0gaTJjLXNoNzc2MC5vCitvYmotJChDT05GSUdfSTJDX1NIX01PQklMRSkJKz0gaTJjLXNoX21vYmlsZS5vCitvYmotJChDT05GSUdfSTJDX1NJTVRFQykJKz0gaTJjLXNpbXRlYy5vCitvYmotJChDT05GSUdfSTJDX1ZFUlNBVElMRSkJKz0gaTJjLXZlcnNhdGlsZS5vCisKKyMgRXh0ZXJuYWwgSTJDL1NNQnVzIGFkYXB0ZXIgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19QQVJQT1JUKQkrPSBpMmMtcGFycG9ydC5vCitvYmotJChDT05GSUdfSTJDX1BBUlBPUlRfTElHSFQpCSs9IGkyYy1wYXJwb3J0LWxpZ2h0Lm8KK29iai0kKENPTkZJR19JMkNfVEFPU19FVk0pCSs9IGkyYy10YW9zLWV2bS5vCitvYmotJChDT05GSUdfSTJDX1RJTllfVVNCKQkrPSBpMmMtdGlueS11c2IubworCisjIEdyYXBoaWNzIGFkYXB0ZXIgSTJDL0REQyBjaGFubmVsIGRyaXZlcnMKIG9iai0kKENPTkZJR19JMkNfVk9PRE9PMykJKz0gaTJjLXZvb2RvbzMubworCisjIE90aGVyIEkyQy9TTUJ1cyBidXMgZHJpdmVycworb2JqLSQoQ09ORklHX0kyQ19BQ09STikJCSs9IGkyYy1hY29ybi5vCitvYmotJChDT05GSUdfSTJDX0VMRUtUT1IpCSs9IGkyYy1lbGVrdG9yLm8KK29iai0kKENPTkZJR19JMkNfUENBX0lTQSkJKz0gaTJjLXBjYS1pc2Eubworb2JqLSQoQ09ORklHX0kyQ19QQ0FfUExBVEZPUk0pCSs9IGkyYy1wY2EtcGxhdGZvcm0ubworb2JqLSQoQ09ORklHX0kyQ19QTUNNU1ApCSs9IGkyYy1wbWNtc3Aubworb2JqLSQoQ09ORklHX0kyQ19TSUJZVEUpCSs9IGkyYy1zaWJ5dGUubworb2JqLSQoQ09ORklHX0kyQ19TVFVCKQkJKz0gaTJjLXN0dWIubwogb2JqLSQoQ09ORklHX1NDeDIwMF9BQ0IpCSs9IHNjeDIwMF9hY2Iubwogb2JqLSQoQ09ORklHX1NDeDIwMF9JMkMpCSs9IHNjeDIwMF9pMmMubwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1MzUuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jCmluZGV4IGYxNDM3MmEuLjljZWFkOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYWxpMTUzNS5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBpMmMtYWxpMTUzNS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMjAwMCAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwgCiAgICAgICAgICAgICAgICAgICAgICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCAKICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4sCkBAIC02MSw2ICs1OSw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogCkBAIC0xNTksNiArMTU4LDExIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3JlZ2lvbihhbGkxNTM1X3NtYmEsIEFMSTE1MzVfU01CX0lPU0laRSwKKwkJCQkgICBhbGkxNTM1X2RyaXZlci5uYW1lKTsKKwlpZiAocmV0dmFsKQorCQlnb3RvIGV4aXQ7CisKIAlpZiAoIXJlcXVlc3RfcmVnaW9uKGFsaTE1MzVfc21iYSwgQUxJMTUzNV9TTUJfSU9TSVpFLAogCQkJICAgIGFsaTE1MzVfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiQUxJMTUzNV9zbWIgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLApAQCAtMjU5LDcgKzI2Myw3IEBACiAJCQlkZXZfZXJyKCZhZGFwLT5kZXYsCiAJCQkJIlNNQnVzIHJlc2V0IGZhaWxlZCEgKDB4JTAyeCkgLSBjb250cm9sbGVyIG9yICIKIAkJCQkiZGV2aWNlIG9uIGJ1cyBpcyBwcm9iYWJseSBodW5nXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9IGVsc2UgewogCQkvKiBjaGVjayBhbmQgY2xlYXIgZG9uZSBiaXQgKi8KQEAgLTI4MSwxMiArMjg1LDEyIEBACiAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiBBTEkxNTM1X1NUU19GQUlMKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7CiAJfQogCkBAIC0yOTUsNyArMjk5LDcgQEAKIAkgKiBkbyBhIHByaW50ay4gIFRoaXMgbWVhbnMgdGhhdCBidXMgY29sbGlzaW9ucyBnbyB1bnJlcG9ydGVkLgogCSAqLwogCWlmICh0ZW1wICYgQUxJMTUzNV9TVFNfQlVTRVJSKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwKIAkJCSJFcnJvcjogbm8gcmVzcG9uc2Ugb3IgYnVzIGNvbGxpc2lvbiBBREQ9JTAyeFxuIiwKIAkJCWluYl9wKFNNQkhTVEFERCkpOwpAQCAtMzAzLDEzICszMDcsMTMgQEAKIAogCS8qIGhhdmVuJ3QgZXZlciBzZWVuIHRoaXMgKi8KIAlpZiAodGVtcCAmIEFMSTE1MzVfU1RTX0RFVikgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiRXJyb3I6IGRldmljZSBlcnJvclxuIik7CiAJfQogCiAJLyogY2hlY2sgdG8gc2VlIGlmIHRoZSAiY29tbWFuZCBjb21wbGV0ZSIgaW5kaWNhdGlvbiBpcyBzZXQgKi8KIAlpZiAoISh0ZW1wICYgQUxJMTUzNV9TVFNfRE9ORSkpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkVycm9yOiBjb21tYW5kIG5ldmVyIGNvbXBsZXRlZFxuIik7CiAJfQogCkBAIC0zMzIsNyArMzM2LDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIGFsaTE1MzVfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCiAJCQkgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCQkgIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKQEAgLTM1NywxMCArMzYxLDYgQEAKIAlvdXRiX3AoMHhGRiwgU01CSFNUU1RTKTsKIAogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCXJlc3VsdCA9IC0xOwotCQlnb3RvIEVYSVQ7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCiAJCSAgICAgICBTTUJIU1RBREQpOwpAQCAtNDE4LDE0ICs0MTgsMTYgQEAKIAkJCQlvdXRiX3AoZGF0YS0+YmxvY2tbaV0sIFNNQkJMS0RBVCk7CiAJCX0KIAkJYnJlYWs7Ci0JfQotCi0JaWYgKGFsaTE1MzVfdHJhbnNhY3Rpb24oYWRhcCkpIHsKLQkJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmVzdWx0ID0gLTE7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmVzdWx0ID0gLUVPUE5PVFNVUFA7CiAJCWdvdG8gRVhJVDsKIAl9CiAKKwlyZXN1bHQgPSBhbGkxNTM1X3RyYW5zYWN0aW9uKGFkYXApOworCWlmIChyZXN1bHQpCisJCWdvdG8gRVhJVDsKKwogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IEFMSTE1MzVfUVVJQ0spKSB7CiAJCXJlc3VsdCA9IDA7CiAJCWdvdG8gRVhJVDsKQEAgLTQ3NSw3ICs0NzcsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBhbGkxNTM1X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfQUxJMTUzNSwKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNTYzLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYwppbmRleCA2YjY4MDc0Li5mYzNlNWIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1NjMuYwpAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAKICNkZWZpbmUgQUxJMTU2M19NQVhfVElNRU9VVAk1MDAKICNkZWZpbmUJQUxJMTU2M19TTUJCQQkJMHg4MApAQCAtNjcsNiArNjgsNyBAQAogewogCXUzMiBkYXRhOwogCWludCB0aW1lb3V0OworCWludCBzdGF0dXMgPSAtRUlPOwogCiAJZGV2X2RiZygmYS0+ZGV2LCAiVHJhbnNhY3Rpb24gKHByZSk6IFNUUz0lMDJ4LCBDTlRMMT0lMDJ4LCAiCiAJCSJDTlRMMj0lMDJ4LCBDTUQ9JTAyeCwgQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLApAQCAtMTAzLDEzICsxMDUsMTUgQEAKIAkJLyogSXNzdWUgJ2tpbGwnIHRvIGhvc3QgY29udHJvbGxlciAqLwogCQlvdXRiX3AoSFNUX0NOVEwyX0tJTEwsU01CX0hTVF9DTlRMMik7CiAJCWRhdGEgPSBpbmJfcChTTUJfSFNUX1NUUyk7CisJCXN0YXR1cyA9IC1FVElNRURPVVQ7CiAgCX0KIAogCS8qIGRldmljZSBlcnJvciAtIG5vIHJlc3BvbnNlLCBpZ25vcmUgdGhlIGF1dG9kZXRlY3Rpb24gY2FzZSAqLwotCWlmICgoZGF0YSAmIEhTVF9TVFNfREVWRVJSKSAmJiAoc2l6ZSAhPSBIU1RfQ05UTDJfUVVJQ0spKSB7Ci0JCWRldl9lcnIoJmEtPmRldiwgIkRldmljZSBlcnJvciFcbiIpOworCWlmIChkYXRhICYgSFNUX1NUU19ERVZFUlIpIHsKKwkJaWYgKHNpemUgIT0gSFNUX0NOVEwyX1FVSUNLKQorCQkJZGV2X2VycigmYS0+ZGV2LCAiRGV2aWNlIGVycm9yIVxuIik7CisJCXN0YXR1cyA9IC1FTlhJTzsKIAl9Ci0KIAkvKiBidXMgY29sbGlzaW9uICovCiAJaWYgKGRhdGEgJiBIU1RfU1RTX0JVU0VSUikgewogCQlkZXZfZXJyKCZhLT5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7CkBAIC0xMjIsMTMgKzEyNiwxNCBAQAogCQlvdXRiX3AoMHgwLFNNQl9IU1RfQ05UTDIpOwogCX0KIAotCXJldHVybiAtMTsKKwlyZXR1cm4gc3RhdHVzOwogfQogCiBzdGF0aWMgaW50IGFsaTE1NjNfYmxvY2tfc3RhcnQoc3RydWN0IGkyY19hZGFwdGVyICogYSkKIHsKIAl1MzIgZGF0YTsKIAlpbnQgdGltZW91dDsKKwlpbnQgc3RhdHVzID0gLUVJTzsKIAogCWRldl9kYmcoJmEtPmRldiwgIkJsb2NrIChwcmUpOiBTVFM9JTAyeCwgQ05UTDE9JTAyeCwgIgogCQkiQ05UTDI9JTAyeCwgQ01EPSUwMngsIEFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwKQEAgLTE2NCwxMyArMTY5LDIwIEBACiAKIAlpZiAodGltZW91dCAmJiAhKGRhdGEgJiBIU1RfU1RTX0JBRCkpCiAJCXJldHVybiAwOworCisJaWYgKHRpbWVvdXQgPT0gMCkKKwkJc3RhdHVzID0gLUVUSU1FRE9VVDsKKworCWlmIChkYXRhICYgSFNUX1NUU19ERVZFUlIpCisJCXN0YXR1cyA9IC1FTlhJTzsKKwogCWRldl9lcnIoJmEtPmRldiwgIlNNQnVzIEVycm9yOiAlcyVzJXMlcyVzXG4iLAotCQl0aW1lb3V0ID8gIlRpbWVvdXQgIiA6ICIiLAorCQl0aW1lb3V0ID8gIiIgOiAiVGltZW91dCAiLAogCQlkYXRhICYgSFNUX1NUU19GQUlMID8gIlRyYW5zYWN0aW9uIEZhaWxlZCAiIDogIiIsCiAJCWRhdGEgJiBIU1RfU1RTX0JVU0VSUiA/ICJObyByZXNwb25zZSBvciBCdXMgQ29sbGlzaW9uICIgOiAiIiwKIAkJZGF0YSAmIEhTVF9TVFNfREVWRVJSID8gIkRldmljZSBFcnJvciAiIDogIiIsCiAJCSEoZGF0YSAmIEhTVF9TVFNfRE9ORSkgPyAiVHJhbnNhY3Rpb24gTmV2ZXIgRmluaXNoZWQgIiA6ICIiKTsKLQlyZXR1cm4gLTE7CisJcmV0dXJuIHN0YXR1czsKIH0KIAogc3RhdGljIGludCBhbGkxNTYzX2Jsb2NrKHN0cnVjdCBpMmNfYWRhcHRlciAqIGEsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSwgdTggcncpCkBAIC0yMzUsMTAgKzI0Nyw2IEBACiAKIAkvKiBNYXAgdGhlIHNpemUgdG8gd2hhdCB0aGUgY2hpcCB1bmRlcnN0YW5kcyAqLwogCXN3aXRjaCAoc2l6ZSkgewotCWNhc2UgSTJDX1NNQlVTX1BST0NfQ0FMTDoKLQkJZGV2X2VycigmYS0+ZGV2LCAiSTJDX1NNQlVTX1BST0NfQ0FMTCBub3Qgc3VwcG9ydGVkIVxuIik7Ci0JCWVycm9yID0gLUVJTlZBTDsKLQkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCXNpemUgPSBIU1RfQ05UTDJfUVVJQ0s7CiAJCWJyZWFrOwpAQCAtMjU0LDYgKzI2MiwxMCBAQAogCWNhc2UgSTJDX1NNQlVTX0JMT0NLX0RBVEE6CiAJCXNpemUgPSBIU1RfQ05UTDJfQkxPQ0s7CiAJCWJyZWFrOworCWRlZmF1bHQ6CisJCWRldl93YXJuKCZhLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCWVycm9yID0gLUVPUE5PVFNVUFA7CisJCWdvdG8gRG9uZTsKIAl9CiAKIAlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocncgJiAweDAxKSwgU01CX0hTVF9BREQpOwpAQCAtMzQ1LDYgKzM1NywxMCBAQAogCQl9CiAJfQogCisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKGFsaTE1NjNfc21iYSwgQUxJMTU2M19TTUJfSU9TSVpFLAorCQkJICAgICAgYWxpMTU2M19wY2lfZHJpdmVyLm5hbWUpKQorCQlnb3RvIEVycjsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYWxpMTU2M19zbWJhLCBBTEkxNTYzX1NNQl9JT1NJWkUsCiAJCQkgICAgYWxpMTU2M19wY2lfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJmRldi0+ZGV2LCAiQ291bGQgbm90IGFsbG9jYXRlIEkvTyBzcGFjZSBhdCAweCUwNHhcbiIsCkBAIC0zNzEsNyArMzg3LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWxpMTU2M19hZGFwdGVyID0gewogCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCS5pZAk9IEkyQ19IV19TTUJVU19BTEkxNTYzLAotCS5jbGFzcwk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCT0gJmFsaTE1NjNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbGkxNXgzLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYwppbmRleCA5M2JmODdkLi4yMzRmZGRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFsaTE1eDMuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgYWxpMTV4My5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+IGFuZAogICAgIE1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KQEAgLTY4LDYgKzY2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIC8qIEFMSTE1WDMgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCkBAIC0xNjYsNiArMTY1LDEwIEBACiAJaWYoZm9yY2VfYWRkcikKIAkJYWxpMTV4M19zbWJhID0gZm9yY2VfYWRkciAmIH4oQUxJMTVYM19TTUJfSU9TSVpFIC0gMSk7CiAKKwlpZiAoYWNwaV9jaGVja19yZWdpb24oYWxpMTV4M19zbWJhLCBBTEkxNVgzX1NNQl9JT1NJWkUsCisJCQkgICAgICBhbGkxNXgzX2RyaXZlci5uYW1lKSkKKwkJcmV0dXJuIC1FQlVTWTsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oYWxpMTV4M19zbWJhLCBBTEkxNVgzX1NNQl9JT1NJWkUsCiAJCQkgICAgYWxpMTV4M19kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmQUxJMTVYM19kZXYtPmRldiwKQEAgLTI4Miw3ICsyODUsNyBAQAogCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiU01CdXMgcmVzZXQgZmFpbGVkISAoMHglMDJ4KSAtICIKIAkJCQkiY29udHJvbGxlciBvciBkZXZpY2Ugb24gYnVzIGlzIHByb2JhYmx5IGh1bmdcbiIsCiAJCQkJdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogY2hlY2sgYW5kIGNsZWFyIGRvbmUgYml0ICovCkBAIC0zMDQsMTIgKzMwNywxMiBAQAogCiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2VycigmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgQUxJMTVYM19TVFNfVEVSTSkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwogCX0KIApAQCAtMzIwLDcgKzMyMyw3IEBACiAJICBUaGlzIG1lYW5zIHRoYXQgYnVzIGNvbGxpc2lvbnMgZ28gdW5yZXBvcnRlZC4KIAkqLwogCWlmICh0ZW1wICYgQUxJMTVYM19TVFNfQ09MTCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCQlkZXZfZGJnKCZhZGFwLT5kZXYsCiAJCQkiRXJyb3I6IG5vIHJlc3BvbnNlIG9yIGJ1cyBjb2xsaXNpb24gQUREPSUwMnhcbiIsCiAJCQlpbmJfcChTTUJIU1RBREQpKTsKQEAgLTMyOCw3ICszMzEsNyBAQAogCiAJLyogaGF2ZW4ndCBldmVyIHNlZW4gdGhpcyAqLwogCWlmICh0ZW1wICYgQUxJMTVYM19TVFNfREVWKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJFcnJvcjogZGV2aWNlIGVycm9yXG4iKTsKIAl9CiAJZGV2X2RiZygmYWRhcC0+ZGV2LCAiVHJhbnNhY3Rpb24gKHBvc3QpOiBTVFM9JTAyeCwgQ05UPSUwMngsIENNRD0lMDJ4LCAiCkBAIC0zMzgsNyArMzQxLDcgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIGFsaTE1eDNfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLAogCQkgICBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQpAQCAtMzYyLDkgKzM2NSw2IEBACiAJfQogCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJcmV0dXJuIC0xOwogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAogCQkgICAgICAgU01CSFNUQUREKTsKQEAgLTQxNywxMiArNDE3LDE2IEBACiAJCX0KIAkJc2l6ZSA9IEFMSTE1WDNfQkxPQ0tfREFUQTsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCW91dGJfcChzaXplLCBTTUJIU1RDTlQpOwkvKiBvdXRwdXQgY29tbWFuZCAqLwogCi0JaWYgKGFsaTE1eDNfdHJhbnNhY3Rpb24oYWRhcCkpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwl0ZW1wID0gYWxpMTV4M190cmFuc2FjdGlvbihhZGFwKTsKKwlpZiAodGVtcCkKKwkJcmV0dXJuIHRlbXA7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBBTEkxNVgzX1FVSUNLKSkKIAkJcmV0dXJuIDA7CkBAIC00NzAsNyArNDc0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYWxpMTV4M19hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0FMSTE1WDMsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni1zNDg4Mi5jCmluZGV4IGMzOGEwYTEuLjJmMTUwZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LXM0ODgyLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYtczQ4ODIuYwpAQCAtNTgsNyArNTgsNyBAQAogCS8qIFdlIGV4Y2x1ZGUgdGhlIG11bHRpcGxleGVkIGFkZHJlc3NlcyAqLwogCWlmIChhZGRyID09IDB4NGMgfHwgKGFkZHIgJiAweGZjKSA9PSAweDUwIHx8IChhZGRyICYgMHhmYykgPT0gMHgzMAogCSB8fCBhZGRyID09IDB4MTgpCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FTlhJTzsKIAogCW11dGV4X2xvY2soJmFtZDc1Nl9sb2NrKTsKIApAQCAtODYsNyArODYsNyBAQAogCiAJLyogV2UgZXhjbHVkZSB0aGUgbm9uLW11bHRpcGxleGVkIGFkZHJlc3NlcyAqLwogCWlmIChhZGRyICE9IDB4NGMgJiYgKGFkZHIgJiAweGZjKSAhPSAweDUwICYmIChhZGRyICYgMHhmYykgIT0gMHgzMCkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVOWElPOwogCiAJbXV0ZXhfbG9jaygmYW1kNzU2X2xvY2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ3NTYuYwppbmRleCA0MzUwOGQ2Li4xZWEzOTI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWFtZDc1Ni5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kNzU2LmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGFtZDc1Ni5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwotCiAgICAgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgTWVybGluIEh1Z2hlcyA8bWVybGluQG1lcmxpbi5vcmc+CiAKICAgICBTaGFtZWxlc3NseSByaXBwZWQgZnJvbSBpMmMtcGlpeDQuYzoKQEAgLTQ1LDYgKzQyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBBTUQ3NTYgU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCkBAIC0xNTEsMTcgKzE0OSwxNyBAQAogCX0KIAogCWlmICh0ZW1wICYgR1NfUFJFUlJfU1RTKSB7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFByb3RvY29sIGVycm9yIChubyByZXNwb25zZSkhXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEdTX0NPTF9TVFMpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl93YXJuKCZhZGFwLT5kZXYsICJTTUJ1cyBjb2xsaXNpb24hXG4iKTsKIAl9CiAKIAlpZiAodGVtcCAmIEdTX1RPX1NUUykgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgcHJvdG9jb2wgdGltZW91dCFcbiIpOwogCX0KIApAQCAtMTg5LDIyICsxODcsMTggQEAKIAlvdXR3X3AoaW53KFNNQl9HTE9CQUxfRU5BQkxFKSB8IEdFX0FCT1JULCBTTUJfR0xPQkFMX0VOQUJMRSk7CiAJbXNsZWVwKDEwMCk7CiAJb3V0d19wKEdTX0NMRUFSX1NUUywgU01CX0dMT0JBTF9TVEFUVVMpOwotCXJldHVybiAtMTsKKwlyZXR1cm4gLUVJTzsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBhbWQ3NTZfYWNjZXNzKHN0cnVjdCBpMmNfYWRhcHRlciAqIGFkYXAsIHUxNiBhZGRyLAogCQkgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCSAgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKIAlpbnQgaSwgbGVuOworCWludCBzdGF0dXM7CiAKLQkvKiogVE9ETzogU2hvdWxkIEkgc3VwcG9ydGUgdGhlIDEwLWJpdCB0cmFuc2ZlcnM/ICovCiAJc3dpdGNoIChzaXplKSB7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgotCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkNfU01CVVNfUFJPQ19DQUxMIG5vdCBzdXBwb3J0ZWQhXG4iKTsKLQkJLyogVE9ETzogV2VsbC4uLiBJdCBpcyBzdXBwb3J0ZWQsIEknbSBqdXN0IG5vdCBzdXJlIHdoYXQgdG8gZG8gaGVyZS4uLiAqLwotCQlyZXR1cm4gLTE7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CiAJCW91dHdfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCiAJCSAgICAgICBTTUJfSE9TVF9BRERSRVNTKTsKQEAgLTI1MSwxMyArMjQ1LDE3IEBACiAJCX0KIAkJc2l6ZSA9IEFNRDc1Nl9CTE9DS19EQVRBOwogCQlicmVhazsKKwlkZWZhdWx0OgorCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJLyogSG93IGFib3V0IGVuYWJsaW5nIGludGVycnVwdHMuLi4gKi8KIAlvdXR3X3Aoc2l6ZSAmIEdFX0NZQ19UWVBFX01BU0ssIFNNQl9HTE9CQUxfRU5BQkxFKTsKIAotCWlmIChhbWQ3NTZfdHJhbnNhY3Rpb24oYWRhcCkpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWQ3NTZfdHJhbnNhY3Rpb24oYWRhcCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IEFNRDc1Nl9RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtMzAxLDcgKzI5OSw3IEBACiBzdHJ1Y3QgaTJjX2FkYXB0ZXIgYW1kNzU2X3NtYnVzID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkuaWQJCT0gSTJDX0hXX1NNQlVTX0FNRDc1NiwKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApAQCAtMzY4LDYgKzM2NiwxMSBAQAogCQlhbWQ3NTZfaW9wb3J0ICs9IFNNQl9BRERSX09GRlNFVDsKIAl9CiAKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVnaW9uKGFtZDc1Nl9pb3BvcnQsIFNNQl9JT1NJWkUsCisJCQkJICBhbWQ3NTZfZHJpdmVyLm5hbWUpOworCWlmIChlcnJvcikKKwkJcmV0dXJuIGVycm9yOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihhbWQ3NTZfaW9wb3J0LCBTTUJfSU9TSVpFLCBhbWQ3NTZfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJnBkZXYtPmRldiwgIlNNQiByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCiAJCQlhbWQ3NTZfaW9wb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYW1kODExMS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMKaW5kZXggNWQxYTI3ZS4uMzk3MjIwOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hbWQ4MTExLmMKQEAgLTE2LDYgKzE2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKQEAgLTc3LDcgKzc4LDcgQEAKIAlpZiAoIXRpbWVvdXQpIHsKIAkJZGV2X3dhcm4oJnNtYnVzLT5kZXYtPmRldiwKIAkJCSAiVGltZW91dCB3aGlsZSB3YWl0aW5nIGZvciBJQkYgdG8gY2xlYXJcbiIpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAogCXJldHVybiAwOwpAQCAtOTMsNyArOTQsNyBAQAogCWlmICghdGltZW91dCkgewogCQlkZXZfd2Fybigmc21idXMtPmRldi0+ZGV2LAogCQkJICJUaW1lb3V0IHdoaWxlIHdhaXRpbmcgZm9yIE9CRiB0byBzZXRcbiIpOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAogCXJldHVybiAwOwpAQCAtMTAyLDE2ICsxMDMsMjEgQEAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYW1kX2VjX3JlYWQoc3RydWN0IGFtZF9zbWJ1cyAqc21idXMsIHVuc2lnbmVkIGNoYXIgYWRkcmVzcywKIAkJdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoQU1EX0VDX0NNRF9SRCwgc21idXMtPmJhc2UgKyBBTURfRUNfQ01EKTsKIAotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKGFkZHJlc3MsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCi0JaWYgKGFtZF9lY193YWl0X3JlYWQoc21idXMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gYW1kX2VjX3dhaXRfcmVhZChzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAkqZGF0YSA9IGluYihzbWJ1cy0+YmFzZSArIEFNRF9FQ19EQVRBKTsKIAogCXJldHVybiAwOwpAQCAtMTIwLDE2ICsxMjYsMjEgQEAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYW1kX2VjX3dyaXRlKHN0cnVjdCBhbWRfc21idXMgKnNtYnVzLCB1bnNpZ25lZCBjaGFyIGFkZHJlc3MsCiAJCXVuc2lnbmVkIGNoYXIgZGF0YSkKIHsKLQlpZiAoYW1kX2VjX3dhaXRfd3JpdGUoc21idXMpKQotCQlyZXR1cm4gLTE7CisJaW50IHN0YXR1czsKKworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoQU1EX0VDX0NNRF9XUiwgc21idXMtPmJhc2UgKyBBTURfRUNfQ01EKTsKIAotCWlmIChhbWRfZWNfd2FpdF93cml0ZShzbWJ1cykpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBhbWRfZWNfd2FpdF93cml0ZShzbWJ1cyk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAlvdXRiKGFkZHJlc3MsIHNtYnVzLT5iYXNlICsgQU1EX0VDX0RBVEEpOwogCi0JaWYgKGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKSkKLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IGFtZF9lY193YWl0X3dyaXRlKHNtYnVzKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCW91dGIoZGF0YSwgc21idXMtPmJhc2UgKyBBTURfRUNfREFUQSk7CiAKIAlyZXR1cm4gMDsKQEAgLTI2NywxMiArMjc4LDE3IEBACiAKIAkJZGVmYXVsdDoKIAkJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJYW1kX2VjX3dyaXRlKHNtYnVzLCBBTURfU01CX0FERFIsIGFkZHIgPDwgMSk7CiAJYW1kX2VjX3dyaXRlKHNtYnVzLCBBTURfU01CX1BSVENMLCBwcm90b2NvbCk7CiAKKwkvKiBGSVhNRSB0aGlzIGRpc2NhcmRzIHN0YXR1cyBmcm9tIGVjX3JlYWQoKTsgc28gdGVtcFswXSB3aWxsCisJICogaG9sZCBzdGFjayBnYXJiYWdlIC4uLiB0aGUgcmVzdCBvZiB0aGlzIHJvdXRpbmUgd2lsbCBhY3QKKwkgKiBub25zZW5zaWNhbGx5LiAgSWdub3JlZCBlY193cml0ZSgpIHN0YXR1cyBtaWdodCBleHBsYWluCisJICogc29tZSBzdWNoIGZhaWx1cmVzLi4uCisJICovCiAJYW1kX2VjX3JlYWQoc21idXMsIEFNRF9TTUJfU1RTLCB0ZW1wICsgMCk7CiAKIAlpZiAofnRlbXBbMF0gJiBBTURfU01CX1NUU19ET05FKSB7CkBAIC0yODYsNyArMzAyLDcgQEAKIAl9CiAKIAlpZiAoKH50ZW1wWzBdICYgQU1EX1NNQl9TVFNfRE9ORSkgfHwgKHRlbXBbMF0gJiBBTURfU01CX1NUU19TVEFUVVMpKQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUlPOwogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQogCQlyZXR1cm4gMDsKQEAgLTM1OSw2ICszNzUsMTAgQEAKIAlzbWJ1cy0+YmFzZSA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYsIDApOwogCXNtYnVzLT5zaXplID0gcGNpX3Jlc291cmNlX2xlbihkZXYsIDApOwogCisJZXJyb3IgPSBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KCZkZXYtPnJlc291cmNlWzBdKTsKKwlpZiAoZXJyb3IpCisJCWdvdG8gb3V0X2tmcmVlOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUsIGFtZDgxMTFfZHJpdmVyLm5hbWUpKSB7CiAJCWVycm9yID0gLUVCVVNZOwogCQlnb3RvIG91dF9rZnJlZTsKQEAgLTM2OCw3ICszODgsNyBAQAogCXNucHJpbnRmKHNtYnVzLT5hZGFwdGVyLm5hbWUsIHNpemVvZihzbWJ1cy0+YWRhcHRlci5uYW1lKSwKIAkJIlNNQnVzMiBBTUQ4MTExIGFkYXB0ZXIgYXQgJTA0eCIsIHNtYnVzLT5iYXNlKTsKIAlzbWJ1cy0+YWRhcHRlci5pZCA9IEkyQ19IV19TTUJVU19BTUQ4MTExOwotCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvID0gJnNtYnVzX2FsZ29yaXRobTsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEgPSBzbWJ1czsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtYXUxNTUwLmMKaW5kZXggY2FlOWRjOC4uNjZhMDRjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1hdTE1NTAuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWF1MTU1MC5jCkBAIC0yNjksOSArMjY5LDEzIEBACiBhdTE1NTBfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmkyY19hZGFwLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICphZGFwID0gaTJjX2FkYXAtPmFsZ29fZGF0YTsKKwl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKWFkYXAtPnBzY19iYXNlOwogCXN0cnVjdCBpMmNfbXNnICpwOwogCWludCBpLCBlcnIgPSAwOwogCisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRU5BQkxFOworCWF1X3N5bmMoKTsKKwogCWZvciAoaSA9IDA7ICFlcnIgJiYgaSA8IG51bTsgaSsrKSB7CiAJCXAgPSAmbXNnc1tpXTsKIAkJZXJyID0gZG9fYWRkcmVzcyhhZGFwLCBwLT5hZGRyLCBwLT5mbGFncyAmIEkyQ19NX1JELApAQCAtMjg4LDYgKzI5MiwxMCBAQAogCSovCiAJaWYgKGVyciA9PSAwKQogCQllcnIgPSBudW07CisKKwlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9TVVNQRU5EOworCWF1X3N5bmMoKTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTMwMiw1MyArMzEwLDExIEBACiAJLmZ1bmN0aW9uYWxpdHkJPSBhdTE1NTBfZnVuYywKIH07CiAKLS8qCi0gKiByZWdpc3RlcmluZyBmdW5jdGlvbnMgdG8gbG9hZCBhbGdvcml0aG1zIGF0IHJ1bnRpbWUKLSAqIFByaW9yIHRvIGNhbGxpbmcgdXMsIHRoZSA1ME1IeiBjbG9jayBmcmVxdWVuY3kgYW5kIHJvdXRpbmcKLSAqIG11c3QgaGF2ZSBiZWVuIHNldCB1cCBmb3IgdGhlIFBTQyBpbmRpY2F0ZWQgYnkgdGhlIGFkYXB0ZXIuCi0gKi8KLXN0YXRpYyBpbnQgX19kZXZpbml0Ci1pMmNfYXUxNTUwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBpMmNfYXUxNTUwX3NldHVwKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEgKnByaXYpCiB7Ci0Jc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdjsKLQl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwOwotCXN0cnVjdCByZXNvdXJjZSAqcjsKKwl2b2xhdGlsZSBwc2Nfc21iX3QgKnNwID0gKHZvbGF0aWxlIHBzY19zbWJfdCAqKXByaXYtPnBzY19iYXNlOwogCXUzMiBzdGF0OwotCWludCByZXQ7CiAKLQlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlpZiAoIXIpIHsKLQkJcmV0ID0gLUVOT0RFVjsKLQkJZ290byBvdXQ7Ci0JfQotCi0JcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfYXUxNTUwX2RhdGEpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIXByaXYpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byBvdXQ7Ci0JfQotCi0JcHJpdi0+aW9hcmVhID0gcmVxdWVzdF9tZW1fcmVnaW9uKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEsCi0JCQkJCSAgcGRldi0+bmFtZSk7Ci0JaWYgKCFwcml2LT5pb2FyZWEpIHsKLQkJcmV0ID0gLUVCVVNZOwotCQlnb3RvIG91dF9tZW07Ci0JfQotCi0JcHJpdi0+cHNjX2Jhc2UgPSBDS1NFRzFBRERSKHItPnN0YXJ0KTsKLQlwcml2LT54ZmVyX3RpbWVvdXQgPSAyMDA7Ci0JcHJpdi0+YWNrX3RpbWVvdXQgPSAyMDA7Ci0KLQlwcml2LT5hZGFwLmlkID0gSTJDX0hXX0FVMTU1MF9QU0M7Ci0JcHJpdi0+YWRhcC5uciA9IHBkZXYtPmlkOwotCXByaXYtPmFkYXAuYWxnbyA9ICZhdTE1NTBfYWxnbzsKLQlwcml2LT5hZGFwLmFsZ29fZGF0YSA9IHByaXY7Ci0JcHJpdi0+YWRhcC5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKLQlzdHJsY3B5KHByaXYtPmFkYXAubmFtZSwgIkF1MXh4eCBQU0MgSTJDIiwgc2l6ZW9mKHByaXYtPmFkYXAubmFtZSkpOwotCi0JLyogTm93LCBzZXQgdXAgdGhlIFBTQyBmb3IgU01CdXMgUElPIG1vZGUuCi0JKi8KLQlzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAlzcC0+cHNjX2N0cmwgPSBQU0NfQ1RSTF9ESVNBQkxFOwogCWF1X3N5bmMoKTsKIAlzcC0+cHNjX3NlbCA9IFBTQ19TRUxfUFNfU01CVVNNT0RFOwpAQCAtMzg0LDcgKzM1MCw2NiBAQAogCWRvIHsKIAkJc3RhdCA9IHNwLT5wc2Nfc21ic3RhdDsKIAkJYXVfc3luYygpOwotCX0gd2hpbGUgKChzdGF0ICYgUFNDX1NNQlNUQVRfRFIpID09IDApOworCX0gd2hpbGUgKChzdGF0ICYgUFNDX1NNQlNUQVRfU1IpID09IDApOworCisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfU1VTUEVORDsKKwlhdV9zeW5jKCk7Cit9CisKK3N0YXRpYyB2b2lkIGkyY19hdTE1NTBfZGlzYWJsZShzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2KQoreworCXZvbGF0aWxlIHBzY19zbWJfdCAqc3AgPSAodm9sYXRpbGUgcHNjX3NtYl90ICopcHJpdi0+cHNjX2Jhc2U7CisKKwlzcC0+cHNjX3NtYmNmZyA9IDA7CisJc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKKwlhdV9zeW5jKCk7Cit9CisKKy8qCisgKiByZWdpc3RlcmluZyBmdW5jdGlvbnMgdG8gbG9hZCBhbGdvcml0aG1zIGF0IHJ1bnRpbWUKKyAqIFByaW9yIHRvIGNhbGxpbmcgdXMsIHRoZSA1ME1IeiBjbG9jayBmcmVxdWVuY3kgYW5kIHJvdXRpbmcKKyAqIG11c3QgaGF2ZSBiZWVuIHNldCB1cCBmb3IgdGhlIFBTQyBpbmRpY2F0ZWQgYnkgdGhlIGFkYXB0ZXIuCisgKi8KK3N0YXRpYyBpbnQgX19kZXZpbml0CitpMmNfYXUxNTUwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGkyY19hdTE1NTBfZGF0YSAqcHJpdjsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnI7CisJaW50IHJldDsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CisKKwlwcml2ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGkyY19hdTE1NTBfZGF0YSksIEdGUF9LRVJORUwpOworCWlmICghcHJpdikgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisKKwlwcml2LT5pb2FyZWEgPSByZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKKwkJCQkJICBwZGV2LT5uYW1lKTsKKwlpZiAoIXByaXYtPmlvYXJlYSkgeworCQlyZXQgPSAtRUJVU1k7CisJCWdvdG8gb3V0X21lbTsKKwl9CisKKwlwcml2LT5wc2NfYmFzZSA9IENLU0VHMUFERFIoci0+c3RhcnQpOworCXByaXYtPnhmZXJfdGltZW91dCA9IDIwMDsKKwlwcml2LT5hY2tfdGltZW91dCA9IDIwMDsKKworCXByaXYtPmFkYXAuaWQgPSBJMkNfSFdfQVUxNTUwX1BTQzsKKwlwcml2LT5hZGFwLm5yID0gcGRldi0+aWQ7CisJcHJpdi0+YWRhcC5hbGdvID0gJmF1MTU1MF9hbGdvOworCXByaXYtPmFkYXAuYWxnb19kYXRhID0gcHJpdjsKKwlwcml2LT5hZGFwLmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OworCXN0cmxjcHkocHJpdi0+YWRhcC5uYW1lLCAiQXUxeHh4IFBTQyBJMkMiLCBzaXplb2YocHJpdi0+YWRhcC5uYW1lKSk7CisKKwkvKiBOb3csIHNldCB1cCB0aGUgUFNDIGZvciBTTUJ1cyBQSU8gbW9kZS4KKwkqLworCWkyY19hdTE1NTBfc2V0dXAocHJpdik7CiAKIAlyZXQgPSBpMmNfYWRkX251bWJlcmVkX2FkYXB0ZXIoJnByaXYtPmFkYXApOwogCWlmIChyZXQgPT0gMCkgewpAQCAtMzkyLDEwICs0MTcsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQkvKiBkaXNhYmxlIHRoZSBQU0MgKi8KLQlzcC0+cHNjX3NtYmNmZyA9IDA7Ci0Jc3AtPnBzY19jdHJsID0gUFNDX0NUUkxfRElTQUJMRTsKLQlhdV9zeW5jKCk7CisJaTJjX2F1MTU1MF9kaXNhYmxlKHByaXYpOwogCiAJcmVsZWFzZV9yZXNvdXJjZShwcml2LT5pb2FyZWEpOwogCWtmcmVlKHByaXYtPmlvYXJlYSk7CkBAIC00MDksMjcgKzQzMSwyNCBAQAogaTJjX2F1MTU1MF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOwogCWkyY19kZWxfYWRhcHRlcigmcHJpdi0+YWRhcCk7Ci0Jc3AtPnBzY19zbWJjZmcgPSAwOwotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0RJU0FCTEU7Ci0JYXVfc3luYygpOworCWkyY19hdTE1NTBfZGlzYWJsZShwcml2KTsKIAlyZWxlYXNlX3Jlc291cmNlKHByaXYtPmlvYXJlYSk7CiAJa2ZyZWUocHJpdi0+aW9hcmVhKTsKIAlrZnJlZShwcml2KTsKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludAogaTJjX2F1MTU1MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX1NVU1BFTkQ7Ci0JYXVfc3luYygpOworCWkyY19hdTE1NTBfZGlzYWJsZShwcml2KTsKKwogCXJldHVybiAwOwogfQogCkBAIC00MzcsMTQgKzQ1NiwxNSBAQAogaTJjX2F1MTU1MF9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgaTJjX2F1MTU1MF9kYXRhICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0Jdm9sYXRpbGUgcHNjX3NtYl90ICpzcCA9ICh2b2xhdGlsZSBwc2Nfc21iX3QgKilwcml2LT5wc2NfYmFzZTsKIAotCXNwLT5wc2NfY3RybCA9IFBTQ19DVFJMX0VOQUJMRTsKLQlhdV9zeW5jKCk7Ci0Jd2hpbGUgKCEoc3AtPnBzY19zbWJzdGF0ICYgUFNDX1NNQlNUQVRfU1IpKQotCQlhdV9zeW5jKCk7CisJaTJjX2F1MTU1MF9zZXR1cChwcml2KTsKKwogCXJldHVybiAwOwogfQorI2Vsc2UKKyNkZWZpbmUgaTJjX2F1MTU1MF9zdXNwZW5kCU5VTEwKKyNkZWZpbmUgaTJjX2F1MTU1MF9yZXN1bWUJTlVMTAorI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGF1MXhwc2Nfc21idXNfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWNwbS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jcG0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTY0ZGUxCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1jcG0uYwpAQCAtMCwwICsxLDc0NSBAQAorLyoKKyAqIEZyZWVzY2FsZSBDUE0xL0NQTTIgSTJDIGludGVyZmFjZS4KKyAqIENvcHlyaWdodCAoYykgMTk5OSBEYW4gTWFsZWsgKGRtYWxla0BqbGMubmV0KS4KKyAqCisgKiBtb3ZlZCBpbnRvIHByb3BlciBpMmMgaW50ZXJmYWNlOworICogQnJhZCBQYXJrZXIgKGJyYWRAaGVlbHRvZS5jb20pCisgKgorICogUGFydHMgZnJvbSBkYm94Ml9pMmMuYyAoY3ZzLnR1eGJveC5vcmcpCisgKiAoQykgMjAwMC0yMDAxIEZlbGl4IERvbWtlICh0bWJpbmNAZ214Lm5ldCksIEdpbGxlbSAoaHRvYUBnbXgubmV0KQorICoKKyAqIChDKSAyMDA3IE1vbnRhdmlzdGEgU29mdHdhcmUsIEluYy4KKyAqIFZpdGFseSBCb3JkdWcgPHZpdGJAa2VybmVsLmNyYXNoaW5nLm9yZz4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gb2ZfcGxhdGZvcm1fZGV2aWNlLiBSZW5hbWVkIHRvIGkyYy1jcG0uYy4KKyAqIChDKSAyMDA3LDIwMDggSm9jaGVuIEZyaWVkcmljaCA8am9jaGVuQHNjcmFtLmRlPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3N0ZGRlZi5oPgorI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9ybS5oPgorI2luY2x1ZGUgPGxpbnV4L29mX2kyYy5oPgorI2luY2x1ZGUgPHN5c2Rldi9mc2xfc29jLmg+CisjaW5jbHVkZSA8YXNtL2NwbS5oPgorCisvKiBUcnkgdG8gZGVmaW5lIHRoaXMgaWYgeW91IGhhdmUgYW4gb2xkZXIgQ1BVIChlYXJsaWVyIHRoYW4gcmV2IEQ0KSAqLworLyogSG93ZXZlciwgYmV0dGVyIHVzZSBhIEdQSU8gYmFzZWQgYml0YmFuZyBkcml2ZXIgaW4gdGhpcyBjYXNlIDovICAgKi8KKyN1bmRlZglJMkNfQ0hJUF9FUlJBVEEKKworI2RlZmluZSBDUE1fTUFYX1JFQUQgICAgNTEzCisjZGVmaW5lIENQTV9NQVhCRCAgICAgICA0CisKKyNkZWZpbmUgSTJDX0VCCQkJKDB4MTApIC8qIEJpZyBlbmRpYW4gbW9kZSAqLworI2RlZmluZSBJMkNfRUJfQ1BNMgkJKDB4MzApIC8qIEJpZyBlbmRpYW4gbW9kZSwgbWVtb3J5IHNub29wICovCisKKyNkZWZpbmUgRFBSQU1fQkFTRQkJKCh1OCBfX2lvbWVtIF9fZm9yY2UgKiljcG1fbXVyYW1fYWRkcigwKSkKKworLyogSTJDIHBhcmFtZXRlciBSQU0uICovCitzdHJ1Y3QgaTJjX3JhbSB7CisJdXNob3J0ICByYmFzZTsJCS8qIFJ4IEJ1ZmZlciBkZXNjcmlwdG9yIGJhc2UgYWRkcmVzcyAqLworCXVzaG9ydCAgdGJhc2U7CQkvKiBUeCBCdWZmZXIgZGVzY3JpcHRvciBiYXNlIGFkZHJlc3MgKi8KKwl1X2NoYXIgIHJmY3I7CQkvKiBSeCBmdW5jdGlvbiBjb2RlICovCisJdV9jaGFyICB0ZmNyOwkJLyogVHggZnVuY3Rpb24gY29kZSAqLworCXVzaG9ydCAgbXJibHI7CQkvKiBNYXggcmVjZWl2ZSBidWZmZXIgbGVuZ3RoICovCisJdWludCAgICByc3RhdGU7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgcmRwOwkJLyogSW50ZXJuYWwgKi8KKwl1c2hvcnQgIHJicHRyOwkJLyogUnggQnVmZmVyIGRlc2NyaXB0b3IgcG9pbnRlciAqLworCXVzaG9ydCAgcmJjOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHJ4dG1wOwkJLyogSW50ZXJuYWwgKi8KKwl1aW50ICAgIHRzdGF0ZTsJCS8qIEludGVybmFsICovCisJdWludCAgICB0ZHA7CQkvKiBJbnRlcm5hbCAqLworCXVzaG9ydCAgdGJwdHI7CQkvKiBUeCBCdWZmZXIgZGVzY3JpcHRvciBwb2ludGVyICovCisJdXNob3J0ICB0YmM7CQkvKiBJbnRlcm5hbCAqLworCXVpbnQgICAgdHh0bXA7CQkvKiBJbnRlcm5hbCAqLworCWNoYXIgICAgcmVzMVs0XTsJLyogUmVzZXJ2ZWQgKi8KKwl1c2hvcnQgIHJwYmFzZTsJCS8qIFJlbG9jYXRpb24gcG9pbnRlciAqLworCWNoYXIgICAgcmVzMlsyXTsJLyogUmVzZXJ2ZWQgKi8KK307CisKKyNkZWZpbmUgSTJDT01fU1RBUlQJMHg4MAorI2RlZmluZSBJMkNPTV9NQVNURVIJMHgwMQorI2RlZmluZSBJMkNFUl9UWEUJMHgxMAorI2RlZmluZSBJMkNFUl9CVVNZCTB4MDQKKyNkZWZpbmUgSTJDRVJfVFhCCTB4MDIKKyNkZWZpbmUgSTJDRVJfUlhCCTB4MDEKKyNkZWZpbmUgSTJNT0RfRU4JMHgwMQorCisvKiBJMkMgUmVnaXN0ZXJzICovCitzdHJ1Y3QgaTJjX3JlZyB7CisJdTgJaTJtb2Q7CisJdTgJcmVzMVszXTsKKwl1OAlpMmFkZDsKKwl1OAlyZXMyWzNdOworCXU4CWkyYnJnOworCXU4CXJlczNbM107CisJdTgJaTJjb207CisJdTgJcmVzNFszXTsKKwl1OAlpMmNlcjsKKwl1OAlyZXM1WzNdOworCXU4CWkyY21yOworfTsKKworc3RydWN0IGNwbV9pMmMgeworCWNoYXIgKmJhc2U7CisJc3RydWN0IG9mX2RldmljZSAqb2ZkZXY7CisJc3RydWN0IGkyY19hZGFwdGVyIGFkYXA7CisJdWludCBkcF9hZGRyOworCWludCB2ZXJzaW9uOyAvKiBDUE0xPTEsIENQTTI9MiAqLworCWludCBpcnE7CisJaW50IGNwX2NvbW1hbmQ7CisJaW50IGZyZXE7CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZzsKKwlzdHJ1Y3QgaTJjX3JhbSBfX2lvbWVtICppMmNfcmFtOworCXUxNiBpMmNfYWRkcjsKKwl3YWl0X3F1ZXVlX2hlYWRfdCBpMmNfd2FpdDsKKwljYmRfdCBfX2lvbWVtICp0YmFzZTsKKwljYmRfdCBfX2lvbWVtICpyYmFzZTsKKwl1X2NoYXIgKnR4YnVmW0NQTV9NQVhCRF07CisJdV9jaGFyICpyeGJ1ZltDUE1fTUFYQkRdOworCXUzMiB0eGRtYVtDUE1fTUFYQkRdOworCXUzMiByeGRtYVtDUE1fTUFYQkRdOworfTsKKworc3RhdGljIGlycXJldHVybl90IGNwbV9pMmNfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtOworCXN0cnVjdCBpMmNfcmVnIF9faW9tZW0gKmkyY19yZWc7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwID0gZGV2X2lkOworCWludCBpOworCisJY3BtID0gaTJjX2dldF9hZGFwZGF0YShkZXZfaWQpOworCWkyY19yZWcgPSBjcG0tPmkyY19yZWc7CisKKwkvKiBDbGVhciBpbnRlcnJ1cHQuICovCisJaSA9IGluXzgoJmkyY19yZWctPmkyY2VyKTsKKwlvdXRfOCgmaTJjX3JlZy0+aTJjZXIsIGkpOworCisJZGV2X2RiZygmYWRhcC0+ZGV2LCAiSW50ZXJydXB0OiAleFxuIiwgaSk7CisKKwl3YWtlX3VwX2ludGVycnVwdGlibGUoJmNwbS0+aTJjX3dhaXQpOworCisJcmV0dXJuIGkgPyBJUlFfSEFORExFRCA6IElSUV9OT05FOworfQorCitzdGF0aWMgdm9pZCBjcG1fcmVzZXRfaTJjX3BhcmFtcyhzdHJ1Y3QgY3BtX2kyYyAqY3BtKQoreworCXN0cnVjdCBpMmNfcmFtIF9faW9tZW0gKmkyY19yYW0gPSBjcG0tPmkyY19yYW07CisKKwkvKiBTZXQgdXAgdGhlIEkyQyBwYXJhbWV0ZXJzIGluIHRoZSBwYXJhbWV0ZXIgcmFtLiAqLworCW91dF9iZTE2KCZpMmNfcmFtLT50YmFzZSwgKHU4IF9faW9tZW0gKiljcG0tPnRiYXNlIC0gRFBSQU1fQkFTRSk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnJiYXNlLCAodTggX19pb21lbSAqKWNwbS0+cmJhc2UgLSBEUFJBTV9CQVNFKTsKKworCWlmIChjcG0tPnZlcnNpb24gPT0gMSkgeworCQlvdXRfOCgmaTJjX3JhbS0+dGZjciwgSTJDX0VCKTsKKwkJb3V0XzgoJmkyY19yYW0tPnJmY3IsIEkyQ19FQik7CisJfSBlbHNlIHsKKwkJb3V0XzgoJmkyY19yYW0tPnRmY3IsIEkyQ19FQl9DUE0yKTsKKwkJb3V0XzgoJmkyY19yYW0tPnJmY3IsIEkyQ19FQl9DUE0yKTsKKwl9CisKKwlvdXRfYmUxNigmaTJjX3JhbS0+bXJibHIsIENQTV9NQVhfUkVBRCk7CisKKwlvdXRfYmUzMigmaTJjX3JhbS0+cnN0YXRlLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+cmRwLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+cmJwdHIsIDApOworCW91dF9iZTE2KCZpMmNfcmFtLT5yYmMsIDApOworCW91dF9iZTMyKCZpMmNfcmFtLT5yeHRtcCwgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnRzdGF0ZSwgMCk7CisJb3V0X2JlMzIoJmkyY19yYW0tPnRkcCwgMCk7CisJb3V0X2JlMTYoJmkyY19yYW0tPnRicHRyLCAwKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJjLCAwKTsKKwlvdXRfYmUzMigmaTJjX3JhbS0+dHh0bXAsIDApOworfQorCitzdGF0aWMgdm9pZCBjcG1faTJjX2ZvcmNlX2Nsb3NlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gaTJjX2dldF9hZGFwZGF0YShhZGFwKTsKKwlzdHJ1Y3QgaTJjX3JlZyBfX2lvbWVtICppMmNfcmVnID0gY3BtLT5pMmNfcmVnOworCisJZGV2X2RiZygmYWRhcC0+ZGV2LCAiY3BtX2kyY19mb3JjZV9jbG9zZSgpXG4iKTsKKworCWNwbV9jb21tYW5kKGNwbS0+Y3BfY29tbWFuZCwgQ1BNX0NSX0NMT1NFX1JYX0JEKTsKKworCW91dF84KCZpMmNfcmVnLT5pMmNtciwgMHgwMCk7CS8qIERpc2FibGUgYWxsIGludGVycnVwdHMgKi8KKwlvdXRfOCgmaTJjX3JlZy0+aTJjZXIsIDB4ZmYpOworfQorCitzdGF0aWMgdm9pZCBjcG1faTJjX3BhcnNlX21lc3NhZ2Uoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLAorCXN0cnVjdCBpMmNfbXNnICpwbXNnLCBpbnQgbnVtLCBpbnQgdHgsIGludCByeCkKK3sKKwljYmRfdCBfX2lvbWVtICp0YmRmOworCWNiZF90IF9faW9tZW0gKnJiZGY7CisJdV9jaGFyIGFkZHI7CisJdV9jaGFyICp0YjsKKwl1X2NoYXIgKnJiOworCXN0cnVjdCBjcG1faTJjICpjcG0gPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOworCisJdGJkZiA9IGNwbS0+dGJhc2UgKyB0eDsKKwlyYmRmID0gY3BtLT5yYmFzZSArIHJ4OworCisJYWRkciA9IHBtc2ctPmFkZHIgPDwgMTsKKwlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkKKwkJYWRkciB8PSAxOworCisJdGIgPSBjcG0tPnR4YnVmW3R4XTsKKwlyYiA9IGNwbS0+cnhidWZbcnhdOworCisJLyogQWxpZ24gcmVhZCBidWZmZXIgKi8KKwlyYiA9ICh1X2NoYXIgKikgKCgodWxvbmcpIHJiICsgMSkgJiB+MSk7CisKKwl0YlswXSA9IGFkZHI7CQkvKiBEZXZpY2UgYWRkcmVzcyBieXRlIHcvcncgZmxhZyAqLworCisJb3V0X2JlMTYoJnRiZGYtPmNiZF9kYXRsZW4sIHBtc2ctPmxlbiArIDEpOworCW91dF9iZTE2KCZ0YmRmLT5jYmRfc2MsIDApOworCisJaWYgKCEocG1zZy0+ZmxhZ3MgJiBJMkNfTV9OT1NUQVJUKSkKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX0kyQ19TVEFSVCk7CisKKwlpZiAodHggKyAxID09IG51bSkKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX1NDX0xBU1QgfCBCRF9TQ19XUkFQKTsKKworCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKSB7CisJCS8qCisJCSAqIFRvIHJlYWQsIHdlIG5lZWQgYW4gZW1wdHkgYnVmZmVyIG9mIHRoZSBwcm9wZXIgbGVuZ3RoLgorCQkgKiBBbGwgdGhhdCBpcyB1c2VkIGlzIHRoZSBmaXJzdCBieXRlIGZvciBhZGRyZXNzLCB0aGUgcmVtYWluZGVyCisJCSAqIGlzIGp1c3QgdXNlZCBmb3IgdGltaW5nIChhbmQgZG9lc24ndCByZWFsbHkgaGF2ZSB0byBleGlzdCkuCisJCSAqLworCisJCWRldl9kYmcoJmFkYXAtPmRldiwgImNwbV9pMmNfcmVhZChhYnl0ZT0weCV4KVxuIiwgYWRkcik7CisKKwkJb3V0X2JlMTYoJnJiZGYtPmNiZF9kYXRsZW4sIDApOworCQlvdXRfYmUxNigmcmJkZi0+Y2JkX3NjLCBCRF9TQ19FTVBUWSB8IEJEX1NDX0lOVFJQVCk7CisKKwkJaWYgKHJ4ICsgMSA9PSBDUE1fTUFYQkQpCisJCQlzZXRiaXRzMTYoJnJiZGYtPmNiZF9zYywgQkRfU0NfV1JBUCk7CisKKwkJZWllaW8oKTsKKwkJc2V0Yml0czE2KCZ0YmRmLT5jYmRfc2MsIEJEX1NDX1JFQURZKTsKKwl9IGVsc2UgeworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJjcG1faTJjX3dyaXRlKGFieXRlPTB4JXgpXG4iLCBhZGRyKTsKKworCQltZW1jcHkodGIrMSwgcG1zZy0+YnVmLCBwbXNnLT5sZW4pOworCisJCWVpZWlvKCk7CisJCXNldGJpdHMxNigmdGJkZi0+Y2JkX3NjLCBCRF9TQ19SRUFEWSB8IEJEX1NDX0lOVFJQVCk7CisJfQorfQorCitzdGF0aWMgaW50IGNwbV9pMmNfY2hlY2tfbWVzc2FnZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsCisJc3RydWN0IGkyY19tc2cgKnBtc2csIGludCB0eCwgaW50IHJ4KQoreworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKwl1X2NoYXIgKnRiOworCXVfY2hhciAqcmI7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisKKwl0YmRmID0gY3BtLT50YmFzZSArIHR4OworCXJiZGYgPSBjcG0tPnJiYXNlICsgcng7CisKKwl0YiA9IGNwbS0+dHhidWZbdHhdOworCXJiID0gY3BtLT5yeGJ1ZltyeF07CisKKwkvKiBBbGlnbiByZWFkIGJ1ZmZlciAqLworCXJiID0gKHVfY2hhciAqKSAoKCh1aW50KSByYiArIDEpICYgfjEpOworCisJZWllaW8oKTsKKwlpZiAocG1zZy0+ZmxhZ3MgJiBJMkNfTV9SRCkgeworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0eCBzYyAweCUwNHgsIHJ4IHNjIDB4JTA0eFxuIiwKKwkJCWluX2JlMTYoJnRiZGYtPmNiZF9zYyksIGluX2JlMTYoJnJiZGYtPmNiZF9zYykpOworCisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfTkFLKSB7CisJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkMgcmVhZDsgTm8gYWNrXG4iKTsKKwkJCXJldHVybiAtRU5YSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnJiZGYtPmNiZF9zYykgJiBCRF9TQ19FTVBUWSkgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LAorCQkJCSJJMkMgcmVhZDsgY29tcGxldGUgYnV0IHJidWYgZW1wdHlcbiIpOworCQkJcmV0dXJuIC1FUkVNT1RFSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnJiZGYtPmNiZF9zYykgJiBCRF9TQ19PVikgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHJlYWQ7IE92ZXJydW5cbiIpOworCQkJcmV0dXJuIC1FUkVNT1RFSU87CisJCX0KKwkJbWVtY3B5KHBtc2ctPmJ1ZiwgcmIsIHBtc2ctPmxlbik7CisJfSBlbHNlIHsKKwkJZGV2X2RiZygmYWRhcC0+ZGV2LCAidHggc2MgJWQgMHglMDR4XG4iLCB0eCwKKwkJCWluX2JlMTYoJnRiZGYtPmNiZF9zYykpOworCisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfTkFLKSB7CisJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkMgd3JpdGU7IE5vIGFja1xuIik7CisJCQlyZXR1cm4gLUVOWElPOworCQl9CisJCWlmIChpbl9iZTE2KCZ0YmRmLT5jYmRfc2MpICYgQkRfU0NfVU4pIHsKKwkJCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQyB3cml0ZTsgVW5kZXJydW5cbiIpOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwkJaWYgKGluX2JlMTYoJnRiZGYtPmNiZF9zYykgJiBCRF9TQ19DTCkgeworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHdyaXRlOyBDb2xsaXNpb25cbiIpOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY3BtX2kyY194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCit7CisJc3RydWN0IGNwbV9pMmMgKmNwbSA9IGkyY19nZXRfYWRhcGRhdGEoYWRhcCk7CisJc3RydWN0IGkyY19yZWcgX19pb21lbSAqaTJjX3JlZyA9IGNwbS0+aTJjX3JlZzsKKwlzdHJ1Y3QgaTJjX3JhbSBfX2lvbWVtICppMmNfcmFtID0gY3BtLT5pMmNfcmFtOworCXN0cnVjdCBpMmNfbXNnICpwbXNnOworCWludCByZXQsIGk7CisJaW50IHRwdHI7CisJaW50IHJwdHI7CisJY2JkX3QgX19pb21lbSAqdGJkZjsKKwljYmRfdCBfX2lvbWVtICpyYmRmOworCisJaWYgKG51bSA+IENQTV9NQVhCRCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBDaGVjayBpZiB3ZSBoYXZlIGFueSBvdmVyc2l6ZWQgUkVBRCByZXF1ZXN0cyAqLworCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgeworCQlwbXNnID0gJm1zZ3NbaV07CisJCWlmIChwbXNnLT5sZW4gPj0gQ1BNX01BWF9SRUFEKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogUmVzZXQgdG8gdXNlIGZpcnN0IGJ1ZmZlciAqLworCW91dF9iZTE2KCZpMmNfcmFtLT5yYnB0ciwgaW5fYmUxNigmaTJjX3JhbS0+cmJhc2UpKTsKKwlvdXRfYmUxNigmaTJjX3JhbS0+dGJwdHIsIGluX2JlMTYoJmkyY19yYW0tPnRiYXNlKSk7CisKKwl0YmRmID0gY3BtLT50YmFzZTsKKwlyYmRmID0gY3BtLT5yYmFzZTsKKworCXRwdHIgPSAwOworCXJwdHIgPSAwOworCisJd2hpbGUgKHRwdHIgPCBudW0pIHsKKwkJcG1zZyA9ICZtc2dzW3RwdHJdOworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJSOiAlZCBUOiAlZFxuIiwgcnB0ciwgdHB0cik7CisKKwkJY3BtX2kyY19wYXJzZV9tZXNzYWdlKGFkYXAsIHBtc2csIG51bSwgdHB0ciwgcnB0cik7CisJCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQkJcnB0cisrOworCQl0cHRyKys7CisJfQorCS8qIFN0YXJ0IHRyYW5zZmVyIG5vdyAqLworCS8qIEVuYWJsZSBSWC9UWC9FcnJvciBpbnRlcnVwdHMgKi8KKwlvdXRfOCgmaTJjX3JlZy0+aTJjbXIsIEkyQ0VSX1RYRSB8IEkyQ0VSX1RYQiB8IEkyQ0VSX1JYQik7CisJb3V0XzgoJmkyY19yZWctPmkyY2VyLCAweGZmKTsJLyogQ2xlYXIgaW50ZXJydXB0IHN0YXR1cyAqLworCS8qIENoaXAgYnVnLCBzZXQgZW5hYmxlIGhlcmUgKi8KKwlzZXRiaXRzOCgmaTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsJLyogRW5hYmxlICovCisJLyogQmVnaW4gdHJhbnNtaXNzaW9uICovCisJc2V0Yml0czgoJmkyY19yZWctPmkyY29tLCBJMkNPTV9TVEFSVCk7CisKKwl0cHRyID0gMDsKKwlycHRyID0gMDsKKworCXdoaWxlICh0cHRyIDwgbnVtKSB7CisJCS8qIENoZWNrIGZvciBvdXRzdGFuZGluZyBtZXNzYWdlcyAqLworCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0ZXN0IHJlYWR5LlxuIik7CisJCXBtc2cgPSAmbXNnc1t0cHRyXTsKKwkJaWYgKHBtc2ctPmZsYWdzICYgSTJDX01fUkQpCisJCQlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChjcG0tPmkyY193YWl0LAorCQkJCSEoaW5fYmUxNigmcmJkZltycHRyXS5jYmRfc2MpICYgQkRfU0NfRU1QVFkpLAorCQkJCTEgKiBIWik7CisJCWVsc2UKKwkJCXJldCA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1lb3V0KGNwbS0+aTJjX3dhaXQsCisJCQkJIShpbl9iZTE2KCZ0YmRmW3RwdHJdLmNiZF9zYykgJiBCRF9TQ19SRUFEWSksCisJCQkJMSAqIEhaKTsKKwkJaWYgKHJldCA9PSAwKSB7CisJCQlyZXQgPSAtRVJFTU9URUlPOworCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiSTJDIHRyYW5zZmVyOiB0aW1lb3V0XG4iKTsKKwkJCWdvdG8gb3V0X2VycjsKKwkJfQorCQlpZiAocmV0ID4gMCkgeworCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAicmVhZHkuXG4iKTsKKwkJCXJldCA9IGNwbV9pMmNfY2hlY2tfbWVzc2FnZShhZGFwLCBwbXNnLCB0cHRyLCBycHRyKTsKKwkJCXRwdHIrKzsKKwkJCWlmIChwbXNnLT5mbGFncyAmIEkyQ19NX1JEKQorCQkJCXJwdHIrKzsKKwkJCWlmIChyZXQpCisJCQkJZ290byBvdXRfZXJyOworCQl9CisJfQorI2lmZGVmIEkyQ19DSElQX0VSUkFUQQorCS8qCisJICogQ2hpcCBlcnJhdGEsIGNsZWFyIGVuYWJsZS4gVGhpcyBpcyBub3QgbmVlZGVkIG9uIHJldiBENCBDUFVzLgorCSAqIERpc2FibGluZyBJMkMgdG9vIGVhcmx5IG1heSBjYXVzZSB0b28gc2hvcnQgc3RvcCBjb25kaXRpb24KKwkgKi8KKwl1ZGVsYXkoNCk7CisJY2xyYml0czgoJmkyY19yZWctPmkybW9kLCBJMk1PRF9FTik7CisjZW5kaWYKKwlyZXR1cm4gKG51bSk7CisKK291dF9lcnI6CisJY3BtX2kyY19mb3JjZV9jbG9zZShhZGFwKTsKKyNpZmRlZiBJMkNfQ0hJUF9FUlJBVEEKKwkvKgorCSAqIENoaXAgZXJyYXRhLCBjbGVhciBlbmFibGUuIFRoaXMgaXMgbm90IG5lZWRlZCBvbiByZXYgRDQgQ1BVcy4KKwkgKi8KKwljbHJiaXRzOCgmaTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsKKyNlbmRpZgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB1MzIgY3BtX2kyY19mdW5jKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gSTJDX0ZVTkNfSTJDIHwgKEkyQ19GVU5DX1NNQlVTX0VNVUwgJiB+STJDX0ZVTkNfU01CVVNfUVVJQ0spOworfQorCisvKiAtLS0tLWV4cG9ydGVkIGFsZ29yaXRobSBkYXRhOiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCSovCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FsZ29yaXRobSBjcG1faTJjX2FsZ28gPSB7CisJLm1hc3Rlcl94ZmVyID0gY3BtX2kyY194ZmVyLAorCS5mdW5jdGlvbmFsaXR5ID0gY3BtX2kyY19mdW5jLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfYWRhcHRlciBjcG1fb3BzID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkubmFtZQkJPSAiaTJjLWNwbSIsCisJLmFsZ28JCT0gJmNwbV9pMmNfYWxnbywKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKK307CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGNwbV9pMmNfc2V0dXAoc3RydWN0IGNwbV9pMmMgKmNwbSkKK3sKKwlzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiA9IGNwbS0+b2ZkZXY7CisJY29uc3QgdTMyICpkYXRhOworCWludCBsZW4sIHJldCwgaTsKKwl2b2lkIF9faW9tZW0gKmkyY19iYXNlOworCWNiZF90IF9faW9tZW0gKnRiZGY7CisJY2JkX3QgX19pb21lbSAqcmJkZjsKKwl1bnNpZ25lZCBjaGFyIGJyZzsKKworCWRldl9kYmcoJmNwbS0+b2ZkZXYtPmRldiwgImNwbV9pMmNfc2V0dXAoKVxuIik7CisKKwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZjcG0tPmkyY193YWl0KTsKKworCWNwbS0+aXJxID0gb2ZfaXJxX3RvX3Jlc291cmNlKG9mZGV2LT5ub2RlLCAwLCBOVUxMKTsKKwlpZiAoY3BtLT5pcnEgPT0gTk9fSVJRKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIEluc3RhbGwgaW50ZXJydXB0IGhhbmRsZXIuICovCisJcmV0ID0gcmVxdWVzdF9pcnEoY3BtLT5pcnEsIGNwbV9pMmNfaW50ZXJydXB0LCAwLCAiY3BtX2kyYyIsCisJCQkgICZjcG0tPmFkYXApOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwkvKiBJMkMgcGFyYW1ldGVyIFJBTSAqLworCWkyY19iYXNlID0gb2ZfaW9tYXAob2ZkZXYtPm5vZGUsIDEpOworCWlmIChpMmNfYmFzZSA9PSBOVUxMKSB7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X2lycTsKKwl9CisKKwlpZiAob2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUob2ZkZXYtPm5vZGUsICJmc2wsY3BtMS1pMmMiKSkgeworCisJCS8qIENoZWNrIGZvciBhbmQgdXNlIGEgbWljcm9jb2RlIHJlbG9jYXRpb24gcGF0Y2guICovCisJCWNwbS0+aTJjX3JhbSA9IGkyY19iYXNlOworCQljcG0tPmkyY19hZGRyID0gaW5fYmUxNigmY3BtLT5pMmNfcmFtLT5ycGJhc2UpOworCisJCS8qCisJCSAqIE1heWJlIHNob3VsZCB1c2UgY3BtX211cmFtX2FsbG9jIGluc3RlYWQgb2YgaGFyZGNvZGluZworCQkgKiB0aGlzIGluIG1pY3JvcGF0Y2guYworCQkgKi8KKwkJaWYgKGNwbS0+aTJjX2FkZHIpIHsKKwkJCWNwbS0+aTJjX3JhbSA9IGNwbV9tdXJhbV9hZGRyKGNwbS0+aTJjX2FkZHIpOworCQkJaW91bm1hcChpMmNfYmFzZSk7CisJCX0KKworCQljcG0tPnZlcnNpb24gPSAxOworCisJfSBlbHNlIGlmIChvZl9kZXZpY2VfaXNfY29tcGF0aWJsZShvZmRldi0+bm9kZSwgImZzbCxjcG0yLWkyYyIpKSB7CisJCWNwbS0+aTJjX2FkZHIgPSBjcG1fbXVyYW1fYWxsb2Moc2l6ZW9mKHN0cnVjdCBpMmNfcmFtKSwgNjQpOworCQljcG0tPmkyY19yYW0gPSBjcG1fbXVyYW1fYWRkcihjcG0tPmkyY19hZGRyKTsKKwkJb3V0X2JlMTYoaTJjX2Jhc2UsIGNwbS0+aTJjX2FkZHIpOworCQlpb3VubWFwKGkyY19iYXNlKTsKKworCQljcG0tPnZlcnNpb24gPSAyOworCisJfSBlbHNlIHsKKwkJaW91bm1hcChpMmNfYmFzZSk7CisJCXJldCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X2lycTsKKwl9CisKKwkvKiBJMkMgY29udHJvbC9zdGF0dXMgcmVnaXN0ZXJzICovCisJY3BtLT5pMmNfcmVnID0gb2ZfaW9tYXAob2ZkZXYtPm5vZGUsIDApOworCWlmIChjcG0tPmkyY19yZWcgPT0gTlVMTCkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9yYW07CisJfQorCisJZGF0YSA9IG9mX2dldF9wcm9wZXJ0eShvZmRldi0+bm9kZSwgImZzbCxjcG0tY29tbWFuZCIsICZsZW4pOworCWlmICghZGF0YSB8fCBsZW4gIT0gNCkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dF9yZWc7CisJfQorCWNwbS0+Y3BfY29tbWFuZCA9ICpkYXRhOworCisJZGF0YSA9IG9mX2dldF9wcm9wZXJ0eShvZmRldi0+bm9kZSwgImxpbnV4LGkyYy1jbGFzcyIsICZsZW4pOworCWlmIChkYXRhICYmIGxlbiA9PSA0KQorCQljcG0tPmFkYXAuY2xhc3MgPSAqZGF0YTsKKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJjbG9jay1mcmVxdWVuY3kiLCAmbGVuKTsKKwlpZiAoZGF0YSAmJiBsZW4gPT0gNCkKKwkJY3BtLT5mcmVxID0gKmRhdGE7CisJZWxzZQorCQljcG0tPmZyZXEgPSA2MDAwMDsgLyogdXNlIDYwa0h6IGkyYyBjbG9jayBieSBkZWZhdWx0ICovCisKKwkvKgorCSAqIEFsbG9jYXRlIHNwYWNlIGZvciBDUE1fTUFYQkQgdHJhbnNtaXQgYW5kIHJlY2VpdmUgYnVmZmVyCisJICogZGVzY3JpcHRvcnMgaW4gdGhlIERQIHJhbS4KKwkgKi8KKwljcG0tPmRwX2FkZHIgPSBjcG1fbXVyYW1fYWxsb2Moc2l6ZW9mKGNiZF90KSAqIDIgKiBDUE1fTUFYQkQsIDgpOworCWlmICghY3BtLT5kcF9hZGRyKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X3JlZzsKKwl9CisKKwljcG0tPnRiYXNlID0gY3BtX211cmFtX2FkZHIoY3BtLT5kcF9hZGRyKTsKKwljcG0tPnJiYXNlID0gY3BtX211cmFtX2FkZHIoY3BtLT5kcF9hZGRyICsgc2l6ZW9mKGNiZF90KSAqIENQTV9NQVhCRCk7CisKKwkvKiBBbGxvY2F0ZSBUWCBhbmQgUlggYnVmZmVycyAqLworCisJdGJkZiA9IGNwbS0+dGJhc2U7CisJcmJkZiA9IGNwbS0+cmJhc2U7CisKKwlmb3IgKGkgPSAwOyBpIDwgQ1BNX01BWEJEOyBpKyspIHsKKwkJY3BtLT5yeGJ1ZltpXSA9IGRtYV9hbGxvY19jb2hlcmVudCgKKwkJCU5VTEwsIENQTV9NQVhfUkVBRCArIDEsICZjcG0tPnJ4ZG1hW2ldLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCFjcG0tPnJ4YnVmW2ldKSB7CisJCQlyZXQgPSAtRU5PTUVNOworCQkJZ290byBvdXRfbXVyYW07CisJCX0KKwkJb3V0X2JlMzIoJnJiZGZbaV0uY2JkX2J1ZmFkZHIsICgoY3BtLT5yeGRtYVtpXSArIDEpICYgfjEpKTsKKworCQljcG0tPnR4YnVmW2ldID0gKHVuc2lnbmVkIGNoYXIgKilkbWFfYWxsb2NfY29oZXJlbnQoCisJCQlOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLCAmY3BtLT50eGRtYVtpXSwgR0ZQX0tFUk5FTCk7CisJCWlmICghY3BtLT50eGJ1ZltpXSkgeworCQkJcmV0ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0X211cmFtOworCQl9CisJCW91dF9iZTMyKCZ0YmRmW2ldLmNiZF9idWZhZGRyLCBjcG0tPnR4ZG1hW2ldKTsKKwl9CisKKwkvKiBJbml0aWFsaXplIFR4L1J4IHBhcmFtZXRlcnMuICovCisKKwljcG1fcmVzZXRfaTJjX3BhcmFtcyhjcG0pOworCisJZGV2X2RiZygmY3BtLT5vZmRldi0+ZGV2LCAiaTJjX3JhbSAweCVwLCBpMmNfYWRkciAweCUwNHgsIGZyZXEgJWRcbiIsCisJCWNwbS0+aTJjX3JhbSwgY3BtLT5pMmNfYWRkciwgY3BtLT5mcmVxKTsKKwlkZXZfZGJnKCZjcG0tPm9mZGV2LT5kZXYsICJ0YmFzZSAweCUwNHgsIHJiYXNlIDB4JTA0eFxuIiwKKwkJKHU4IF9faW9tZW0gKiljcG0tPnRiYXNlIC0gRFBSQU1fQkFTRSwKKwkJKHU4IF9faW9tZW0gKiljcG0tPnJiYXNlIC0gRFBSQU1fQkFTRSk7CisKKwljcG1fY29tbWFuZChjcG0tPmNwX2NvbW1hbmQsIENQTV9DUl9JTklUX1RSWCk7CisKKwkvKgorCSAqIFNlbGVjdCBhbiBpbnZhbGlkIGFkZHJlc3MuIEp1c3QgbWFrZSBzdXJlIHdlIGRvbid0IHVzZSBsb29wYmFjayBtb2RlCisJICovCisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJhZGQsIDB4N2YgPDwgMSk7CisKKwkvKgorCSAqIFBESVYgaXMgc2V0IHRvIDAwIGluIGkybW9kLCBzbyBicmdjbGsvMzIgaXMgdXNlZCBhcyBpbnB1dCB0byB0aGUKKwkgKiBpMmMgYmF1ZCByYXRlIGdlbmVyYXRvci4gVGhpcyBpcyBkaXZpZGVkIGJ5IDIgeCAoRElWICsgMykgdG8gZ2V0CisJICogdGhlIGFjdHVhbCBpMmMgYnVzIGZyZXF1ZW5jeS4KKwkgKi8KKwlicmcgPSBnZXRfYnJnZnJlcSgpIC8gKDMyICogMiAqIGNwbS0+ZnJlcSkgLSAzOworCW91dF84KCZjcG0tPmkyY19yZWctPmkyYnJnLCBicmcpOworCisJb3V0XzgoJmNwbS0+aTJjX3JlZy0+aTJtb2QsIDB4MDApOworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY29tLCBJMkNPTV9NQVNURVIpOwkvKiBNYXN0ZXIgbW9kZSAqLworCisJLyogRGlzYWJsZSBpbnRlcnJ1cHRzLiAqLworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY21yLCAwKTsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNlciwgMHhmZik7CisKKwlyZXR1cm4gMDsKKworb3V0X211cmFtOgorCWZvciAoaSA9IDA7IGkgPCBDUE1fTUFYQkQ7IGkrKykgeworCQlpZiAoY3BtLT5yeGJ1ZltpXSkKKwkJCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIENQTV9NQVhfUkVBRCArIDEsCisJCQkJY3BtLT5yeGJ1ZltpXSwgY3BtLT5yeGRtYVtpXSk7CisJCWlmIChjcG0tPnR4YnVmW2ldKQorCQkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCQljcG0tPnR4YnVmW2ldLCBjcG0tPnR4ZG1hW2ldKTsKKwl9CisJY3BtX211cmFtX2ZyZWUoY3BtLT5kcF9hZGRyKTsKK291dF9yZWc6CisJaW91bm1hcChjcG0tPmkyY19yZWcpOworb3V0X3JhbToKKwlpZiAoKGNwbS0+dmVyc2lvbiA9PSAxKSAmJiAoIWNwbS0+aTJjX2FkZHIpKQorCQlpb3VubWFwKGNwbS0+aTJjX3JhbSk7CisJaWYgKGNwbS0+dmVyc2lvbiA9PSAyKQorCQljcG1fbXVyYW1fZnJlZShjcG0tPmkyY19hZGRyKTsKK291dF9pcnE6CisJZnJlZV9pcnEoY3BtLT5pcnEsICZjcG0tPmFkYXApOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGNwbV9pMmNfc2h1dGRvd24oc3RydWN0IGNwbV9pMmMgKmNwbSkKK3sKKwlpbnQgaTsKKworCS8qIFNodXQgZG93biBJMkMuICovCisJY2xyYml0czgoJmNwbS0+aTJjX3JlZy0+aTJtb2QsIEkyTU9EX0VOKTsKKworCS8qIERpc2FibGUgaW50ZXJydXB0cyAqLworCW91dF84KCZjcG0tPmkyY19yZWctPmkyY21yLCAwKTsKKwlvdXRfOCgmY3BtLT5pMmNfcmVnLT5pMmNlciwgMHhmZik7CisKKwlmcmVlX2lycShjcG0tPmlycSwgJmNwbS0+YWRhcCk7CisKKwkvKiBGcmVlIGFsbCBtZW1vcnkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQ1BNX01BWEJEOyBpKyspIHsKKwkJZG1hX2ZyZWVfY29oZXJlbnQoTlVMTCwgQ1BNX01BWF9SRUFEICsgMSwKKwkJCWNwbS0+cnhidWZbaV0sIGNwbS0+cnhkbWFbaV0pOworCQlkbWFfZnJlZV9jb2hlcmVudChOVUxMLCBDUE1fTUFYX1JFQUQgKyAxLAorCQkJY3BtLT50eGJ1ZltpXSwgY3BtLT50eGRtYVtpXSk7CisJfQorCisJY3BtX211cmFtX2ZyZWUoY3BtLT5kcF9hZGRyKTsKKwlpb3VubWFwKGNwbS0+aTJjX3JlZyk7CisKKwlpZiAoKGNwbS0+dmVyc2lvbiA9PSAxKSAmJiAoIWNwbS0+aTJjX2FkZHIpKQorCQlpb3VubWFwKGNwbS0+aTJjX3JhbSk7CisJaWYgKGNwbS0+dmVyc2lvbiA9PSAyKQorCQljcG1fbXVyYW1fZnJlZShjcG0tPmkyY19hZGRyKTsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgY3BtX2kyY19wcm9iZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiwKKwkJCSBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaCkKK3sKKwlpbnQgcmVzdWx0LCBsZW47CisJc3RydWN0IGNwbV9pMmMgKmNwbTsKKwljb25zdCB1MzIgKmRhdGE7CisKKwljcG0gPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgY3BtX2kyYyksIEdGUF9LRVJORUwpOworCWlmICghY3BtKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNwbS0+b2ZkZXYgPSBvZmRldjsKKworCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgY3BtKTsKKworCWNwbS0+YWRhcCA9IGNwbV9vcHM7CisJaTJjX3NldF9hZGFwZGF0YSgmY3BtLT5hZGFwLCBjcG0pOworCWNwbS0+YWRhcC5kZXYucGFyZW50ID0gJm9mZGV2LT5kZXY7CisKKwlyZXN1bHQgPSBjcG1faTJjX3NldHVwKGNwbSk7CisJaWYgKHJlc3VsdCkgeworCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiVW5hYmxlIHRvIGluaXQgaGFyZHdhcmVcbiIpOworCQlnb3RvIG91dF9mcmVlOworCX0KKworCS8qIHJlZ2lzdGVyIG5ldyBhZGFwdGVyIHRvIGkyYyBtb2R1bGUuLi4gKi8KKworCWRhdGEgPSBvZl9nZXRfcHJvcGVydHkob2ZkZXYtPm5vZGUsICJsaW51eCxpMmMtaW5kZXgiLCAmbGVuKTsKKwlpZiAoZGF0YSAmJiBsZW4gPT0gNCkgeworCQljcG0tPmFkYXAubnIgPSAqZGF0YTsKKwkJcmVzdWx0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKCZjcG0tPmFkYXApOworCX0gZWxzZQorCQlyZXN1bHQgPSBpMmNfYWRkX2FkYXB0ZXIoJmNwbS0+YWRhcCk7CisKKwlpZiAocmVzdWx0IDwgMCkgeworCQlkZXZfZXJyKCZvZmRldi0+ZGV2LCAiVW5hYmxlIHRvIHJlZ2lzdGVyIHdpdGggSTJDXG4iKTsKKwkJZ290byBvdXRfc2h1dDsKKwl9CisKKwlkZXZfZGJnKCZvZmRldi0+ZGV2LCAiaHcgcm91dGluZXMgZm9yICVzIHJlZ2lzdGVyZWQuXG4iLAorCQljcG0tPmFkYXAubmFtZSk7CisKKwkvKgorCSAqIHJlZ2lzdGVyIE9GIEkyQyBkZXZpY2VzCisJICovCisJb2ZfcmVnaXN0ZXJfaTJjX2RldmljZXMoJmNwbS0+YWRhcCwgb2ZkZXYtPm5vZGUpOworCisJcmV0dXJuIDA7CitvdXRfc2h1dDoKKwljcG1faTJjX3NodXRkb3duKGNwbSk7CitvdXRfZnJlZToKKwlkZXZfc2V0X2RydmRhdGEoJm9mZGV2LT5kZXYsIE5VTEwpOworCWtmcmVlKGNwbSk7CisKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50IF9fZGV2ZXhpdCBjcG1faTJjX3JlbW92ZShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldikKK3sKKwlzdHJ1Y3QgY3BtX2kyYyAqY3BtID0gZGV2X2dldF9kcnZkYXRhKCZvZmRldi0+ZGV2KTsKKworCWkyY19kZWxfYWRhcHRlcigmY3BtLT5hZGFwKTsKKworCWNwbV9pMmNfc2h1dGRvd24oY3BtKTsKKworCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgTlVMTCk7CisJa2ZyZWUoY3BtKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBjcG1faTJjX21hdGNoW10gPSB7CisJeworCQkuY29tcGF0aWJsZSA9ICJmc2wsY3BtMS1pMmMiLAorCX0sCisJeworCQkuY29tcGF0aWJsZSA9ICJmc2wsY3BtMi1pMmMiLAorCX0sCisJe30sCit9OworCitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBjcG1faTJjX21hdGNoKTsKKworc3RhdGljIHN0cnVjdCBvZl9wbGF0Zm9ybV9kcml2ZXIgY3BtX2kyY19kcml2ZXIgPSB7CisJLm1hdGNoX3RhYmxlCT0gY3BtX2kyY19tYXRjaCwKKwkucHJvYmUJCT0gY3BtX2kyY19wcm9iZSwKKwkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKGNwbV9pMmNfcmVtb3ZlKSwKKwkuZHJpdmVyCQk9IHsKKwkJLm5hbWUJPSAiZnNsLWkyYy1jcG0iLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBjcG1faTJjX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gb2ZfcmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZjcG1faTJjX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBjcG1faTJjX2V4aXQodm9pZCkKK3sKKwlvZl91bnJlZ2lzdGVyX3BsYXRmb3JtX2RyaXZlcigmY3BtX2kyY19kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChjcG1faTJjX2luaXQpOworbW9kdWxlX2V4aXQoY3BtX2kyY19leGl0KTsKKworTU9EVUxFX0FVVEhPUigiSm9jaGVuIEZyaWVkcmljaCA8am9jaGVuQHNjcmFtLmRlPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJJMkMtQnVzIGFkYXB0ZXIgcm91dGluZXMgZm9yIENQTSBib2FyZHMiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtZGF2aW5jaS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMKaW5kZXggN2VjYmZjNC4uYWYzODQ2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1kYXZpbmNpLmMKQEAgLTg1LDYgKzg1LDcgQEAKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX01TVAkoMSA8PCAxMCkKICNkZWZpbmUgREFWSU5DSV9JMkNfTURSX1RSWAkoMSA8PCA5KQogI2RlZmluZSBEQVZJTkNJX0kyQ19NRFJfWEEJKDEgPDwgOCkKKyNkZWZpbmUgREFWSU5DSV9JMkNfTURSX1JNCSgxIDw8IDcpCiAjZGVmaW5lIERBVklOQ0lfSTJDX01EUl9JUlMJKDEgPDwgNSkKIAogI2RlZmluZSBEQVZJTkNJX0kyQ19JTVJfQUFTCSgxIDw8IDYpCkBAIC0xMTIsNiArMTEzLDcgQEAKIAl1OAkJCSpidWY7CiAJc2l6ZV90CQkJYnVmX2xlbjsKIAlpbnQJCQlpcnE7CisJdTgJCQl0ZXJtaW5hdGU7CiAJc3RydWN0IGkyY19hZGFwdGVyCWFkYXB0ZXI7CiB9OwogCkBAIC0xNDIsNiArMTQ0LDcgQEAKIAlzdHJ1Y3QgZGF2aW5jaV9pMmNfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPSBkZXYtPmRldi0+cGxhdGZvcm1fZGF0YTsKIAl1MTYgcHNjOwogCXUzMiBjbGs7CisJdTMyIGQ7CiAJdTMyIGNsa2g7CiAJdTMyIGNsa2w7CiAJdTMyIGlucHV0X2Nsb2NrID0gY2xrX2dldF9yYXRlKGRldi0+Y2xrKTsKQEAgLTE3MSwyMyArMTc0LDI5IEBACiAJICogICAgICAgaWYgUFNDID4gMSAsIGQgPSA1CiAJICovCiAKLQlwc2MgPSAyNjsgLyogVG8gZ2V0IDFNSHogY2xvY2sgKi8KKwkvKiBnZXQgbWluaW11bSBvZiA3IE1IeiBjbG9jaywgYnV0IG1heCBvZiAxMiBNSHogKi8KKwlwc2MgPSAoaW5wdXRfY2xvY2sgLyA3MDAwMDAwKSAtIDE7CisJaWYgKChpbnB1dF9jbG9jayAvIChwc2MgKyAxKSkgPiAxMjAwMDAwMCkKKwkJcHNjKys7CS8qIGJldHRlciB0byBydW4gdW5kZXIgc3BlYyB0aGFuIG92ZXIgKi8KKwlkID0gKHBzYyA+PSAyKSA/IDUgOiA3IC0gcHNjOwogCi0JY2xrID0gKChpbnB1dF9jbG9jayAvIChwc2MgKyAxKSkgLyAocGRhdGEtPmJ1c19mcmVxICogMTAwMCkpIC0gMTA7Ci0JY2xraCA9ICg1MCAqIGNsaykgLyAxMDA7CisJY2xrID0gKChpbnB1dF9jbG9jayAvIChwc2MgKyAxKSkgLyAocGRhdGEtPmJ1c19mcmVxICogMTAwMCkpIC0gKGQgPDwgMSk7CisJY2xraCA9IGNsayA+PiAxOwogCWNsa2wgPSBjbGsgLSBjbGtoOwogCiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfUFNDX1JFRywgcHNjKTsKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTEtIX1JFRywgY2xraCk7CiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLTF9SRUcsIGNsa2wpOwogCi0JZGV2X2RiZyhkZXYtPmRldiwgIkNMSyAgPSAlZFxuIiwgY2xrKTsKKwlkZXZfZGJnKGRldi0+ZGV2LCAiaW5wdXRfY2xvY2sgPSAlZCwgQ0xLID0gJWRcbiIsIGlucHV0X2Nsb2NrLCBjbGspOwogCWRldl9kYmcoZGV2LT5kZXYsICJQU0MgID0gJWRcbiIsCiAJCWRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfUFNDX1JFRykpOwogCWRldl9kYmcoZGV2LT5kZXYsICJDTEtMID0gJWRcbiIsCiAJCWRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfQ0xLTF9SRUcpKTsKIAlkZXZfZGJnKGRldi0+ZGV2LCAiQ0xLSCA9ICVkXG4iLAogCQlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0NMS0hfUkVHKSk7CisJZGV2X2RiZyhkZXYtPmRldiwgImJ1c19mcmVxID0gJWRrSHosIGJ1c19kZWxheSA9ICVkXG4iLAorCQlwZGF0YS0+YnVzX2ZyZXEsIHBkYXRhLT5idXNfZGVsYXkpOwogCiAJLyogVGFrZSB0aGUgSTJDIG1vZHVsZSBvdXQgb2YgcmVzZXQ6ICovCiAJdyA9IGRhdmluY2lfaTJjX3JlYWRfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRyk7CkBAIC0yMzMsNyArMjQyLDYgQEAKIAlzdHJ1Y3QgZGF2aW5jaV9pMmNfZGV2ICpkZXYgPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOwogCXN0cnVjdCBkYXZpbmNpX2kyY19wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IGRldi0+ZGV2LT5wbGF0Zm9ybV9kYXRhOwogCXUzMiBmbGFnOwotCXUzMiBzdGF0OwogCXUxNiB3OwogCWludCByOwogCkBAIC0yNTQsMTIgKzI2Miw5IEBACiAKIAlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19DTlRfUkVHLCBkZXYtPmJ1Zl9sZW4pOwogCi0JaW5pdF9jb21wbGV0aW9uKCZkZXYtPmNtZF9jb21wbGV0ZSk7CisJSU5JVF9DT01QTEVUSU9OKGRldi0+Y21kX2NvbXBsZXRlKTsKIAlkZXYtPmNtZF9lcnIgPSAwOwogCi0JLyogQ2xlYXIgYW55IHBlbmRpbmcgaW50ZXJydXB0cyBieSByZWFkaW5nIHRoZSBJVlIgKi8KLQlzdGF0ID0gZGF2aW5jaV9pMmNfcmVhZF9yZWcoZGV2LCBEQVZJTkNJX0kyQ19JVlJfUkVHKTsKLQogCS8qIFRha2UgSTJDIG91dCBvZiByZXNldCwgY29uZmlndXJlIGl0IGFzIG1hc3RlciBhbmQgc2V0IHRoZQogCSAqIHN0YXJ0IGJpdCAqLwogCWZsYWcgPSBEQVZJTkNJX0kyQ19NRFJfSVJTIHwgREFWSU5DSV9JMkNfTURSX01TVCB8IERBVklOQ0lfSTJDX01EUl9TVFQ7CkBAIC0yODAsMjAgKzI4NSwzNCBAQAogCQlNT0RfUkVHX0JJVCh3LCBEQVZJTkNJX0kyQ19JTVJfWFJEWSwgMSk7CiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfSU1SX1JFRywgdyk7CiAKKwlkZXYtPnRlcm1pbmF0ZSA9IDA7CiAJLyogd3JpdGUgdGhlIGRhdGEgaW50byBtb2RlIHJlZ2lzdGVyICovCiAJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRywgZmxhZyk7CiAKIAlyID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoJmRldi0+Y21kX2NvbXBsZXRlLAogCQkJCQkJICAgICAgREFWSU5DSV9JMkNfVElNRU9VVCk7Ci0JZGV2LT5idWZfbGVuID0gMDsKLQlpZiAociA8IDApCi0JCXJldHVybiByOwotCiAJaWYgKHIgPT0gMCkgewogCQlkZXZfZXJyKGRldi0+ZGV2LCAiY29udHJvbGxlciB0aW1lZCBvdXRcbiIpOwogCQlpMmNfZGF2aW5jaV9pbml0KGRldik7CisJCWRldi0+YnVmX2xlbiA9IDA7CiAJCXJldHVybiAtRVRJTUVET1VUOwogCX0KKwlpZiAoZGV2LT5idWZfbGVuKSB7CisJCS8qIFRoaXMgc2hvdWxkIGJlIDAgaWYgYWxsIGJ5dGVzIHdlcmUgdHJhbnNmZXJyZWQKKwkJICogb3IgZGV2LT5jbWRfZXJyIGRlbm90ZXMgYW4gZXJyb3IuCisJCSAqIEEgc2lnbmFsIG1heSBoYXZlIGFib3J0ZWQgdGhlIHRyYW5zZmVyLgorCQkgKi8KKwkJaWYgKHIgPj0gMCkgeworCQkJZGV2X2VycihkZXYtPmRldiwgImFibm9ybWFsIHRlcm1pbmF0aW9uIGJ1Zl9sZW49JWlcbiIsCisJCQkJZGV2LT5idWZfbGVuKTsKKwkJCXIgPSAtRVJFTU9URUlPOworCQl9CisJCWRldi0+dGVybWluYXRlID0gMTsKKwkJd21iKCk7CisJCWRldi0+YnVmX2xlbiA9IDA7CisJfQorCWlmIChyIDwgMCkKKwkJcmV0dXJuIHI7CiAKIAkvKiBubyBlcnJvciAqLwogCWlmIChsaWtlbHkoIWRldi0+Y21kX2VycikpCkBAIC0zMzgsMTIgKzM1NywxMSBAQAogCiAJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CiAJCXJldCA9IGkyY19kYXZpbmNpX3hmZXJfbXNnKGFkYXAsICZtc2dzW2ldLCAoaSA9PSAobnVtIC0gMSkpKTsKKwkJZGV2X2RiZyhkZXYtPmRldiwgIiVzIFslZC8lZF0gcmV0OiAlZFxuIiwgX19mdW5jX18sIGkgKyAxLCBudW0sCisJCQlyZXQpOwogCQlpZiAocmV0IDwgMCkKIAkJCXJldHVybiByZXQ7CiAJfQotCi0JZGV2X2RiZyhkZXYtPmRldiwgIiVzOiVkIHJldDogJWRcbiIsIF9fZnVuY19fLCBfX0xJTkVfXywgcmV0KTsKLQogCXJldHVybiBudW07CiB9CiAKQEAgLTM1Miw2ICszNzAsMjcgQEAKIAlyZXR1cm4gSTJDX0ZVTkNfSTJDIHwgKEkyQ19GVU5DX1NNQlVTX0VNVUwgJiB+STJDX0ZVTkNfU01CVVNfUVVJQ0spOwogfQogCitzdGF0aWMgdm9pZCB0ZXJtaW5hdGVfcmVhZChzdHJ1Y3QgZGF2aW5jaV9pMmNfZGV2ICpkZXYpCit7CisJdTE2IHcgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcpOworCXcgfD0gREFWSU5DSV9JMkNfTURSX05BQ0s7CisJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwgREFWSU5DSV9JMkNfTURSX1JFRywgdyk7CisKKwkvKiBUaHJvdyBhd2F5IGRhdGEgKi8KKwlkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX0RSUl9SRUcpOworCWlmICghZGV2LT50ZXJtaW5hdGUpCisJCWRldl9lcnIoZGV2LT5kZXYsICJSRFIgSVJRIHdoaWxlIG5vIGRhdGEgcmVxdWVzdGVkXG4iKTsKK30KK3N0YXRpYyB2b2lkIHRlcm1pbmF0ZV93cml0ZShzdHJ1Y3QgZGF2aW5jaV9pMmNfZGV2ICpkZXYpCit7CisJdTE2IHcgPSBkYXZpbmNpX2kyY19yZWFkX3JlZyhkZXYsIERBVklOQ0lfSTJDX01EUl9SRUcpOworCXcgfD0gREFWSU5DSV9JMkNfTURSX1JNIHwgREFWSU5DSV9JMkNfTURSX1NUUDsKKwlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LCBEQVZJTkNJX0kyQ19NRFJfUkVHLCB3KTsKKworCWlmICghZGV2LT50ZXJtaW5hdGUpCisJCWRldl9lcnIoZGV2LT5kZXYsICJURFIgSVJRIHdoaWxlIG5vIGRhdGEgdG8gc2VuZFxuIik7Cit9CisKIC8qCiAgKiBJbnRlcnJ1cHQgc2VydmljZSByb3V0aW5lLiBUaGlzIGdldHMgY2FsbGVkIHdoZW5ldmVyIGFuIEkyQyBpbnRlcnJ1cHQKICAqIG9jY3Vycy4KQEAgLTM3MiwxMiArNDExLDE1IEBACiAKIAkJc3dpdGNoIChzdGF0KSB7CiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX0FMOgorCQkJLyogQXJiaXRyYXRpb24gbG9zdCwgbXVzdCByZXRyeSAqLwogCQkJZGV2LT5jbWRfZXJyIHw9IERBVklOQ0lfSTJDX1NUUl9BTDsKKwkJCWRldi0+YnVmX2xlbiA9IDA7CiAJCQljb21wbGV0ZSgmZGV2LT5jbWRfY29tcGxldGUpOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBEQVZJTkNJX0kyQ19JVlJfTkFDSzoKIAkJCWRldi0+Y21kX2VyciB8PSBEQVZJTkNJX0kyQ19TVFJfTkFDSzsKKwkJCWRldi0+YnVmX2xlbiA9IDA7CiAJCQljb21wbGV0ZSgmZGV2LT5jbWRfY29tcGxldGUpOwogCQkJYnJlYWs7CiAKQEAgLTM5OSw5ICs0NDEsMTAgQEAKIAkJCQlkYXZpbmNpX2kyY193cml0ZV9yZWcoZGV2LAogCQkJCQlEQVZJTkNJX0kyQ19TVFJfUkVHLAogCQkJCQlEQVZJTkNJX0kyQ19JTVJfUlJEWSk7Ci0JCQl9IGVsc2UKLQkJCQlkZXZfZXJyKGRldi0+ZGV2LCAiUkRSIElSUSB3aGlsZSBubyAiCi0JCQkJCSJkYXRhIHJlcXVlc3RlZFxuIik7CisJCQl9IGVsc2UgeworCQkJCS8qIHNpZ25hbCBjYW4gdGVybWluYXRlIHRyYW5zZmVyICovCisJCQkJdGVybWluYXRlX3JlYWQoZGV2KTsKKwkJCX0KIAkJCWJyZWFrOwogCiAJCWNhc2UgREFWSU5DSV9JMkNfSVZSX1hSRFk6CkBAIC00MTgsOSArNDYxLDEwIEBACiAJCQkJZGF2aW5jaV9pMmNfd3JpdGVfcmVnKGRldiwKIAkJCQkJCSAgICAgIERBVklOQ0lfSTJDX0lNUl9SRUcsCiAJCQkJCQkgICAgICB3KTsKLQkJCX0gZWxzZQotCQkJCWRldl9lcnIoZGV2LT5kZXYsICJURFIgSVJRIHdoaWxlIG5vIGRhdGEgdG8gIgotCQkJCQkic2VuZFxuIik7CisJCQl9IGVsc2UgeworCQkJCS8qIHNpZ25hbCBjYW4gdGVybWluYXRlIHRyYW5zZmVyICovCisJCQkJdGVybWluYXRlX3dyaXRlKGRldik7CisJCQl9CiAJCQlicmVhazsKIAogCQljYXNlIERBVklOQ0lfSTJDX0lWUl9TQ0Q6CkBAIC00NzUsNiArNTE5LDcgQEAKIAkJZ290byBlcnJfcmVsZWFzZV9yZWdpb247CiAJfQogCisJaW5pdF9jb21wbGV0aW9uKCZkZXYtPmNtZF9jb21wbGV0ZSk7CiAJZGV2LT5kZXYgPSBnZXRfZGV2aWNlKCZwZGV2LT5kZXYpOwogCWRldi0+aXJxID0gaXJxLT5zdGFydDsKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1lbGVrdG9yLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYwppbmRleCBiN2E5OTc3Li43ZjM4YzAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWVsZWt0b3IuYwpAQCAtMTk2LDEzICsxOTYsMTEgQEAKIAkuZ2V0b3duCSAgICA9IHBjZl9pc2FfZ2V0b3duLAogCS5nZXRjbG9jayAgID0gcGNmX2lzYV9nZXRjbG9jaywKIAkud2FpdGZvcnBpbiA9IHBjZl9pc2Ffd2FpdGZvcnBpbiwKLQkudWRlbGF5CSAgICA9IDEwLAotCS50aW1lb3V0ICAgID0gMTAwLAogfTsKIAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBwY2ZfaXNhX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuaWQJCT0gSTJDX0hXX1BfRUxFSywKIAkuYWxnb19kYXRhCT0gJnBjZl9pc2FfZGF0YSwKIAkubmFtZQkJPSAiaTJjLWVsZWt0b3IiLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1ncGlvLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYwppbmRleCA3YzFiNzYyLi43OWI0NTVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWdwaW8uYwpAQCAtMTQwLDcgKzE0MCw3IEBACiAJYWRhcC0+b3duZXIgPSBUSElTX01PRFVMRTsKIAlzbnByaW50ZihhZGFwLT5uYW1lLCBzaXplb2YoYWRhcC0+bmFtZSksICJpMmMtZ3BpbyVkIiwgcGRldi0+aWQpOwogCWFkYXAtPmFsZ29fZGF0YSA9IGJpdF9kYXRhOwotCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWFkYXAtPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlhZGFwLT5kZXYucGFyZW50ID0gJnBkZXYtPmRldjsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWh5ZHJhLmMKaW5kZXggZjk5NzJmOS4uMTA5OGYyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1oeWRyYS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaHlkcmEuYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgaTJjLWh5ZHJhLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsICBMaW51eCBrZXJuZWwgbW9kdWxlcwotICAgICAgICAgICAgICAgICAgZm9yIGhhcmR3YXJlIG1vbml0b3JpbmcKLQogICAgIGkyYyBTdXBwb3J0IGZvciB0aGUgQXBwbGUgYEh5ZHJhJyBNYWMgSS9PCiAKICAgICBDb3B5cmlnaHQgKGMpIDE5OTktMjAwNCBHZWVydCBVeXR0ZXJob2V2ZW4gPGdlZXJ0QGxpbnV4LW02OGsub3JnPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pODAxLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYwppbmRleCBiMGY3NzFmLi5kYzdlYTMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MDEuYwpAQCAtMSwxMCArMSw4IEBACiAvKgotICAgIGkyYy1pODAxLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCBhbmQgTWFyayBELiBTdHVkZWJha2VyCiAgICAgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gICAgQ29weXJpZ2h0IChDKSAyMDA3ICAgICAgICAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4ICAgSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CiAKICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CkBAIC02NCw2ICs2Miw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogSTgwMSBTTUJ1cyBhZGRyZXNzIG9mZnNldHMgKi8KQEAgLTEyMSw2ICsxMjAsMTAgQEAKICNkZWZpbmUgU01CSFNUU1RTX0lOVFIJCTB4MDIKICNkZWZpbmUgU01CSFNUU1RTX0hPU1RfQlVTWQkweDAxCiAKKyNkZWZpbmUgU1RBVFVTX0ZMQUdTCQkoU01CSFNUU1RTX0JZVEVfRE9ORSB8IFNNQkhTVFNUU19GQUlMRUQgfCBcCisJCQkJIFNNQkhTVFNUU19CVVNfRVJSIHwgU01CSFNUU1RTX0RFVl9FUlIgfCBcCisJCQkJIFNNQkhTVFNUU19JTlRSKQorCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBpODAxX3NtYmE7CiBzdGF0aWMgdW5zaWduZWQgY2hhciBpODAxX29yaWdpbmFsX2hzdGNmZzsKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBpODAxX2RyaXZlcjsKQEAgLTEzMiwzMSArMTM1LDk2IEBACiAjZGVmaW5lIEZFQVRVUkVfSTJDX0JMT0NLX1JFQUQJKDEgPDwgMykKIHN0YXRpYyB1bnNpZ25lZCBpbnQgaTgwMV9mZWF0dXJlczsKIAotc3RhdGljIGludCBpODAxX3RyYW5zYWN0aW9uKGludCB4YWN0KQorLyogTWFrZSBzdXJlIHRoZSBTTUJ1cyBob3N0IGlzIHJlYWR5IHRvIHN0YXJ0IHRyYW5zbWl0dGluZy4KKyAgIFJldHVybiAwIGlmIGl0IGlzLCAtRUJVU1kgaWYgaXQgaXMgbm90LiAqLworc3RhdGljIGludCBpODAxX2NoZWNrX3ByZSh2b2lkKQogewotCWludCB0ZW1wOwotCWludCByZXN1bHQgPSAwOwotCWludCB0aW1lb3V0ID0gMDsKKwlpbnQgc3RhdHVzOwogCi0JZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRyYW5zYWN0aW9uIChwcmUpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeFxuIiwgaW5iX3AoU01CSFNUQ05UKSwKLQkJaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwgaW5iX3AoU01CSFNUREFUMCksCi0JCWluYl9wKFNNQkhTVERBVDEpKTsKKwlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCWlmIChzdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSB7CisJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBpcyBidXN5LCBjYW4ndCB1c2UgaXQhXG4iKTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKLQkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nICovCi0JLyogMHgxZiA9IEZhaWxlZCwgQnVzX0VyciwgRGV2X0VyciwgSW50ciwgSG9zdF9CdXN5ICovCi0JaWYgKCh0ZW1wID0gKDB4MWYgJiBpbmJfcChTTUJIU1RTVFMpKSkgIT0gMHgwMCkgewotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgYnVzeSAoJTAyeCkuIFJlc2V0dGluZy4uLlxuIiwKLQkJCXRlbXApOwotCQlvdXRiX3AodGVtcCwgU01CSFNUU1RTKTsKLQkJaWYgKCh0ZW1wID0gKDB4MWYgJiBpbmJfcChTTUJIU1RTVFMpKSkgIT0gMHgwMCkgewotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKLQkJfSBlbHNlIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTdWNjZXNzZnVsIVxuIik7CisJc3RhdHVzICY9IFNUQVRVU19GTEFHUzsKKwlpZiAoc3RhdHVzKSB7CisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJDbGVhcmluZyBzdGF0dXMgZmxhZ3MgKCUwMngpXG4iLAorCQkJc3RhdHVzKTsKKwkJb3V0Yl9wKHN0YXR1cywgU01CSFNUU1RTKTsKKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKSAmIFNUQVRVU19GTEFHUzsKKwkJaWYgKHN0YXR1cykgeworCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKKwkJCQkiRmFpbGVkIGNsZWFyaW5nIHN0YXR1cyBmbGFncyAoJTAyeClcbiIsCisJCQkJc3RhdHVzKTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0KIAl9CiAKKwlyZXR1cm4gMDsKK30KKworLyogQ29udmVydCB0aGUgc3RhdHVzIHJlZ2lzdGVyIHRvIGFuIGVycm9yIGNvZGUsIGFuZCBjbGVhciBpdC4gKi8KK3N0YXRpYyBpbnQgaTgwMV9jaGVja19wb3N0KGludCBzdGF0dXMsIGludCB0aW1lb3V0KQoreworCWludCByZXN1bHQgPSAwOworCisJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KKwlpZiAodGltZW91dCkgeworCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gdGltZW91dFxuIik7CisJCS8qIHRyeSB0byBzdG9wIHRoZSBjdXJyZW50IGNvbW1hbmQgKi8KKwkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlRlcm1pbmF0aW5nIHRoZSBjdXJyZW50IG9wZXJhdGlvblxuIik7CisJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpIHwgU01CSFNUQ05UX0tJTEwsIFNNQkhTVENOVCk7CisJCW1zbGVlcCgxKTsKKwkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgJiAoflNNQkhTVENOVF9LSUxMKSwgU01CSFNUQ05UKTsKKworCQkvKiBDaGVjayBpZiBpdCB3b3JrZWQgKi8KKwkJc3RhdHVzID0gaW5iX3AoU01CSFNUU1RTKTsKKwkJaWYgKChzdGF0dXMgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKSB8fAorCQkgICAgIShzdGF0dXMgJiBTTUJIU1RTVFNfRkFJTEVEKSkKKwkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCisJCQkJIkZhaWxlZCB0ZXJtaW5hdGluZyB0aGUgdHJhbnNhY3Rpb25cbiIpOworCQlvdXRiX3AoU1RBVFVTX0ZMQUdTLCBTTUJIU1RTVFMpOworCQlyZXR1cm4gLUVUSU1FRE9VVDsKKwl9CisKKwlpZiAoc3RhdHVzICYgU01CSFNUU1RTX0ZBSUxFRCkgeworCQlyZXN1bHQgPSAtRUlPOworCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiVHJhbnNhY3Rpb24gZmFpbGVkXG4iKTsKKwl9CisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19ERVZfRVJSKSB7CisJCXJlc3VsdCA9IC1FTlhJTzsKKwkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIk5vIHJlc3BvbnNlXG4iKTsKKwl9CisJaWYgKHN0YXR1cyAmIFNNQkhTVFNUU19CVVNfRVJSKSB7CisJCXJlc3VsdCA9IC1FQUdBSU47CisJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJMb3N0IGFyYml0cmF0aW9uXG4iKTsKKwl9CisKKwlpZiAocmVzdWx0KSB7CisJCS8qIENsZWFyIGVycm9yIGZsYWdzICovCisJCW91dGJfcChzdGF0dXMgJiBTVEFUVVNfRkxBR1MsIFNNQkhTVFNUUyk7CisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUykgJiBTVEFUVVNfRkxBR1M7CisJCWlmIChzdGF0dXMpIHsKKwkJCWRldl93YXJuKCZJODAxX2Rldi0+ZGV2LCAiRmFpbGVkIGNsZWFyaW5nIHN0YXR1cyAiCisJCQkJICJmbGFncyBhdCBlbmQgb2YgdHJhbnNhY3Rpb24gKCUwMngpXG4iLAorCQkJCSBzdGF0dXMpOworCQl9CisJfQorCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludCBpODAxX3RyYW5zYWN0aW9uKGludCB4YWN0KQoreworCWludCBzdGF0dXM7CisJaW50IHJlc3VsdDsKKwlpbnQgdGltZW91dCA9IDA7CisKKwlyZXN1bHQgPSBpODAxX2NoZWNrX3ByZSgpOworCWlmIChyZXN1bHQgPCAwKQorCQlyZXR1cm4gcmVzdWx0OworCiAJLyogdGhlIGN1cnJlbnQgY29udGVudHMgb2YgU01CSFNUQ05UIGNhbiBiZSBvdmVyd3JpdHRlbiwgc2luY2UgUEVDLAogCSAqIElOVFJFTiwgU01CU0NNRCBhcmUgcGFzc2VkIGluIHhhY3QgKi8KIAlvdXRiX3AoeGFjdCB8IEk4MDFfU1RBUlQsIFNNQkhTVENOVCk7CkBAIC0xNjQsNzMgKzIzMiw0MCBAQAogCS8qIFdlIHdpbGwgYWx3YXlzIHdhaXQgZm9yIGEgZnJhY3Rpb24gb2YgYSBzZWNvbmQhICovCiAJZG8gewogCQltc2xlZXAoMSk7Ci0JCXRlbXAgPSBpbmJfcChTTUJIU1RTVFMpOwotCX0gd2hpbGUgKCh0ZW1wICYgU01CSFNUU1RTX0hPU1RfQlVTWSkgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CisJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CisJfSB3aGlsZSAoKHN0YXR1cyAmIFNNQkhTVFNUU19IT1NUX0JVU1kpICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOwogCi0JLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KLQlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKLQkJLyogdHJ5IHRvIHN0b3AgdGhlIGN1cnJlbnQgY29tbWFuZCAqLwotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiVGVybWluYXRpbmcgdGhlIGN1cnJlbnQgb3BlcmF0aW9uXG4iKTsKLQkJb3V0Yl9wKGluYl9wKFNNQkhTVENOVCkgfCBTTUJIU1RDTlRfS0lMTCwgU01CSFNUQ05UKTsKLQkJbXNsZWVwKDEpOwotCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSAmICh+U01CSFNUQ05UX0tJTEwpLCBTTUJIU1RDTlQpOwotCX0KKwlyZXN1bHQgPSBpODAxX2NoZWNrX3Bvc3Qoc3RhdHVzLCB0aW1lb3V0ID49IE1BWF9USU1FT1VUKTsKKwlpZiAocmVzdWx0IDwgMCkKKwkJcmV0dXJuIHJlc3VsdDsKIAotCWlmICh0ZW1wICYgU01CSFNUU1RTX0ZBSUxFRCkgewotCQlyZXN1bHQgPSAtMTsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkVycm9yOiBGYWlsZWQgYnVzIHRyYW5zYWN0aW9uXG4iKTsKLQl9Ci0KLQlpZiAodGVtcCAmIFNNQkhTVFNUU19CVVNfRVJSKSB7Ci0JCXJlc3VsdCA9IC0xOwotCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiQnVzIGNvbGxpc2lvbiEgU01CdXMgbWF5IGJlIGxvY2tlZCAiCi0JCQkidW50aWwgbmV4dCBoYXJkIHJlc2V0LiAoc29ycnkhKVxuIik7Ci0JCS8qIENsb2NrIHN0b3BzIGFuZCBzbGF2ZSBpcyBzdHVjayBpbiBtaWQtdHJhbnNtaXNzaW9uICovCi0JfQotCi0JaWYgKHRlbXAgJiBTTUJIU1RTVFNfREVWX0VSUikgewotCQlyZXN1bHQgPSAtMTsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkVycm9yOiBubyByZXNwb25zZSFcbiIpOwotCX0KLQotCWlmICgoaW5iX3AoU01CSFNUU1RTKSAmIDB4MWYpICE9IDB4MDApCi0JCW91dGJfcChpbmIoU01CSFNUU1RTKSwgU01CSFNUU1RTKTsKLQotCWlmICgodGVtcCA9ICgweDFmICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIkZhaWxlZCByZXNldCBhdCBlbmQgb2YgdHJhbnNhY3Rpb24gIgotCQkJIiglMDJ4KVxuIiwgdGVtcCk7Ci0JfQotCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUcmFuc2FjdGlvbiAocG9zdCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgotCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmJfcChTTUJIU1RDTlQpLAotCQlpbmJfcChTTUJIU1RDTUQpLCBpbmJfcChTTUJIU1RBREQpLCBpbmJfcChTTUJIU1REQVQwKSwKLQkJaW5iX3AoU01CSFNUREFUMSkpOwotCXJldHVybiByZXN1bHQ7CisJb3V0Yl9wKFNNQkhTVFNUU19JTlRSLCBTTUJIU1RTVFMpOworCXJldHVybiAwOwogfQogCiAvKiB3YWl0IGZvciBJTlRSIGJpdCBhcyBhZHZpc2VkIGJ5IEludGVsICovCiBzdGF0aWMgdm9pZCBpODAxX3dhaXRfaHdwZWModm9pZCkKIHsKIAlpbnQgdGltZW91dCA9IDA7Ci0JaW50IHRlbXA7CisJaW50IHN0YXR1czsKIAogCWRvIHsKIAkJbXNsZWVwKDEpOwotCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKLQl9IHdoaWxlICgoISh0ZW1wICYgU01CSFNUU1RTX0lOVFIpKQorCQlzdGF0dXMgPSBpbmJfcChTTUJIU1RTVFMpOworCX0gd2hpbGUgKCghKHN0YXR1cyAmIFNNQkhTVFNUU19JTlRSKSkKIAkJICYmICh0aW1lb3V0KysgPCBNQVhfVElNRU9VVCkpOwogCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwgIlBFQyBUaW1lb3V0IVxuIik7CiAJfQotCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOworCW91dGJfcChzdGF0dXMsIFNNQkhTVFNUUyk7CiB9CiAKIHN0YXRpYyBpbnQgaTgwMV9ibG9ja190cmFuc2FjdGlvbl9ieV9ibG9jayh1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSwKIAkJCQkJICAgY2hhciByZWFkX3dyaXRlLCBpbnQgaHdwZWMpCiB7CiAJaW50IGksIGxlbjsKKwlpbnQgc3RhdHVzOwogCiAJaW5iX3AoU01CSFNUQ05UKTsgLyogcmVzZXQgdGhlIGRhdGEgYnVmZmVyIGluZGV4ICovCiAKQEAgLTI0MiwxNCArMjc3LDE1IEBACiAJCQlvdXRiX3AoZGF0YS0+YmxvY2tbaSsxXSwgU01CQkxLREFUKTsKIAl9CiAKLQlpZiAoaTgwMV90cmFuc2FjdGlvbihJODAxX0JMT0NLX0RBVEEgfCBFTkFCTEVfSU5UOSB8Ci0JCQkgICAgIEk4MDFfUEVDX0VOICogaHdwZWMpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTgwMV90cmFuc2FjdGlvbihJODAxX0JMT0NLX0RBVEEgfCBFTkFCTEVfSU5UOSB8CisJCQkJICBJODAxX1BFQ19FTiAqIGh3cGVjKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQpIHsKIAkJbGVuID0gaW5iX3AoU01CSFNUREFUMCk7CiAJCWlmIChsZW4gPCAxIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCi0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVQUk9UTzsKIAogCQlkYXRhLT5ibG9ja1swXSA9IGxlbjsKIAkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQpAQCAtMjY0LDEwICszMDAsMTMgQEAKIHsKIAlpbnQgaSwgbGVuOwogCWludCBzbWJjbWQ7Ci0JaW50IHRlbXA7Ci0JaW50IHJlc3VsdCA9IDA7CisJaW50IHN0YXR1czsKKwlpbnQgcmVzdWx0OwogCWludCB0aW1lb3V0OwotCXVuc2lnbmVkIGNoYXIgZXJybWFzazsKKworCXJlc3VsdCA9IGk4MDFfY2hlY2tfcHJlKCk7CisJaWYgKHJlc3VsdCA8IDApCisJCXJldHVybiByZXN1bHQ7CiAKIAlsZW4gPSBkYXRhLT5ibG9ja1swXTsKIApAQCAtMjkxLDM2ICszMzAsNiBAQAogCQl9CiAJCW91dGJfcChzbWJjbWQgfCBFTkFCTEVfSU5UOSwgU01CSFNUQ05UKTsKIAotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiQmxvY2sgKHByZSAlZCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgotCQkJIkFERD0lMDJ4LCBEQVQwPSUwMngsIERBVDE9JTAyeCwgQkxLREFUPSUwMnhcbiIsIGksCi0JCQlpbmJfcChTTUJIU1RDTlQpLCBpbmJfcChTTUJIU1RDTUQpLCBpbmJfcChTTUJIU1RBREQpLAotCQkJaW5iX3AoU01CSFNUREFUMCksIGluYl9wKFNNQkhTVERBVDEpLCBpbmJfcChTTUJCTEtEQVQpKTsKLQotCQkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgcmVhZHkgdG8gc3RhcnQgdHJhbnNtaXR0aW5nICovCi0JCXRlbXAgPSBpbmJfcChTTUJIU1RTVFMpOwotCQlpZiAoaSA9PSAxKSB7Ci0JCQkvKiBFcnJvbmVvdXMgY29uZGl0aW9ucyBiZWZvcmUgdHJhbnNhY3Rpb246Ci0JCQkgKiBCeXRlX0RvbmUsIEZhaWxlZCwgQnVzX0VyciwgRGV2X0VyciwgSW50ciwgSG9zdF9CdXN5ICovCi0JCQllcnJtYXNrID0gMHg5ZjsKLQkJfSBlbHNlIHsKLQkJCS8qIEVycm9uZW91cyBjb25kaXRpb25zIGR1cmluZyB0cmFuc2FjdGlvbjoKLQkJCSAqIEZhaWxlZCwgQnVzX0VyciwgRGV2X0VyciwgSW50ciAqLwotCQkJZXJybWFzayA9IDB4MWU7Ci0JCX0KLQkJaWYgKHRlbXAgJiBlcnJtYXNrKSB7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiU01CdXMgYnVzeSAoJTAyeCkuICIKLQkJCQkiUmVzZXR0aW5nLi4uXG4iLCB0ZW1wKTsKLQkJCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOwotCQkJaWYgKCgodGVtcCA9IGluYl9wKFNNQkhTVFNUUykpICYgZXJybWFzaykgIT0gMHgwMCkgewotCQkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCi0JCQkJCSJSZXNldCBmYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQkJcmV0dXJuIC0xOwotCQkJfQotCQkJaWYgKGkgIT0gMSkKLQkJCQkvKiBpZiBkaWUgaW4gbWlkZGxlIG9mIGJsb2NrIHRyYW5zYWN0aW9uLCBmYWlsICovCi0JCQkJcmV0dXJuIC0xOwotCQl9Ci0KIAkJaWYgKGkgPT0gMSkKIAkJCW91dGJfcChpbmIoU01CSFNUQ05UKSB8IEk4MDFfU1RBUlQsIFNNQkhTVENOVCk7CiAKQEAgLTMyOCw0MSArMzM3LDI4IEBACiAJCXRpbWVvdXQgPSAwOwogCQlkbyB7CiAJCQltc2xlZXAoMSk7Ci0JCQl0ZW1wID0gaW5iX3AoU01CSFNUU1RTKTsKKwkJCXN0YXR1cyA9IGluYl9wKFNNQkhTVFNUUyk7CiAJCX0KLQkJd2hpbGUgKCghKHRlbXAgJiBTTUJIU1RTVFNfQllURV9ET05FKSkKKwkJd2hpbGUgKCghKHN0YXR1cyAmIFNNQkhTVFNUU19CWVRFX0RPTkUpKQogCQkgICAgICAgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CiAKLQkJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KLQkJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJCS8qIHRyeSB0byBzdG9wIHRoZSBjdXJyZW50IGNvbW1hbmQgKi8KLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJUZXJtaW5hdGluZyB0aGUgY3VycmVudCAiCi0JCQkJCQkib3BlcmF0aW9uXG4iKTsKLQkJCW91dGJfcChpbmJfcChTTUJIU1RDTlQpIHwgU01CSFNUQ05UX0tJTEwsIFNNQkhTVENOVCk7Ci0JCQltc2xlZXAoMSk7Ci0JCQlvdXRiX3AoaW5iX3AoU01CSFNUQ05UKSAmICh+U01CSFNUQ05UX0tJTEwpLAotCQkJCVNNQkhTVENOVCk7Ci0JCQlyZXN1bHQgPSAtMTsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCX0KLQotCQlpZiAodGVtcCAmIFNNQkhTVFNUU19GQUlMRUQpIHsKLQkJCXJlc3VsdCA9IC0xOwotCQkJZGV2X2RiZygmSTgwMV9kZXYtPmRldiwKLQkJCQkiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCQl9IGVsc2UgaWYgKHRlbXAgJiBTTUJIU1RTVFNfQlVTX0VSUikgewotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZXJyKCZJODAxX2Rldi0+ZGV2LCAiQnVzIGNvbGxpc2lvbiFcbiIpOwotCQl9IGVsc2UgaWYgKHRlbXAgJiBTTUJIU1RTVFNfREVWX0VSUikgewotCQkJcmVzdWx0ID0gLTE7Ci0JCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7Ci0JCX0KKwkJcmVzdWx0ID0gaTgwMV9jaGVja19wb3N0KHN0YXR1cywgdGltZW91dCA+PSBNQVhfVElNRU9VVCk7CisJCWlmIChyZXN1bHQgPCAwKQorCQkJcmV0dXJuIHJlc3VsdDsKIAogCQlpZiAoaSA9PSAxICYmIHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQKIAkJICYmIGNvbW1hbmQgIT0gSTJDX1NNQlVTX0kyQ19CTE9DS19EQVRBKSB7CiAJCQlsZW4gPSBpbmJfcChTTUJIU1REQVQwKTsKLQkJCWlmIChsZW4gPCAxIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCi0JCQkJcmV0dXJuIC0xOworCQkJaWYgKGxlbiA8IDEgfHwgbGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCkgeworCQkJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsCisJCQkJCSJJbGxlZ2FsIFNNQnVzIGJsb2NrIHJlYWQgc2l6ZSAlZFxuIiwKKwkJCQkJbGVuKTsKKwkJCQkvKiBSZWNvdmVyICovCisJCQkJd2hpbGUgKGluYl9wKFNNQkhTVFNUUykgJiBTTUJIU1RTVFNfSE9TVF9CVVNZKQorCQkJCQlvdXRiX3AoU01CSFNUU1RTX0JZVEVfRE9ORSwgU01CSFNUU1RTKTsKKwkJCQlvdXRiX3AoU01CSFNUU1RTX0lOVFIsIFNNQkhTVFNUUyk7CisJCQkJcmV0dXJuIC1FUFJPVE87CisJCQl9CiAJCQlkYXRhLT5ibG9ja1swXSA9IGxlbjsKIAkJfQogCkBAIC0zNzEsMzAgKzM2NywxOSBAQAogCQkJZGF0YS0+YmxvY2tbaV0gPSBpbmJfcChTTUJCTEtEQVQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUgJiYgaSsxIDw9IGxlbikKIAkJCW91dGJfcChkYXRhLT5ibG9ja1tpKzFdLCBTTUJCTEtEQVQpOwotCQlpZiAoKHRlbXAgJiAweDllKSAhPSAweDAwKQotCQkJb3V0Yl9wKHRlbXAsIFNNQkhTVFNUUyk7ICAvKiBzaWduYWxzIFNNQkJMS0RBVCByZWFkeSAqLwogCi0JCWlmICgodGVtcCA9ICgweDFlICYgaW5iX3AoU01CSFNUU1RTKSkpICE9IDB4MDApIHsKLQkJCWRldl9kYmcoJkk4MDFfZGV2LT5kZXYsCi0JCQkJIkJhZCBzdGF0dXMgKCUwMngpIGF0IGVuZCBvZiB0cmFuc2FjdGlvblxuIiwKLQkJCQl0ZW1wKTsKLQkJfQotCQlkZXZfZGJnKCZJODAxX2Rldi0+ZGV2LCAiQmxvY2sgKHBvc3QgJWQpOiBDTlQ9JTAyeCwgQ01EPSUwMngsICIKLQkJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMngsIEJMS0RBVD0lMDJ4XG4iLCBpLAotCQkJaW5iX3AoU01CSFNUQ05UKSwgaW5iX3AoU01CSFNUQ01EKSwgaW5iX3AoU01CSFNUQUREKSwKLQkJCWluYl9wKFNNQkhTVERBVDApLCBpbmJfcChTTUJIU1REQVQxKSwgaW5iX3AoU01CQkxLREFUKSk7Ci0KLQkJaWYgKHJlc3VsdCA8IDApCi0JCQlyZXR1cm4gcmVzdWx0OworCQkvKiBzaWduYWxzIFNNQkJMS0RBVCByZWFkeSAqLworCQlvdXRiX3AoU01CSFNUU1RTX0JZVEVfRE9ORSB8IFNNQkhTVFNUU19JTlRSLCBTTUJIU1RTVFMpOwogCX0KLQlyZXR1cm4gcmVzdWx0OworCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgaTgwMV9zZXRfYmxvY2tfYnVmZmVyX21vZGUodm9pZCkKIHsKIAlvdXRiX3AoaW5iX3AoU01CQVVYQ1RMKSB8IFNNQkFVWENUTF9FMzJCLCBTTUJBVVhDVEwpOwogCWlmICgoaW5iX3AoU01CQVVYQ1RMKSAmIFNNQkFVWENUTF9FMzJCKSA9PSAwKQotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUlPOwogCXJldHVybiAwOwogfQogCkBAIC00MTQsNyArMzk5LDcgQEAKIAkJfSBlbHNlIGlmICghKGk4MDFfZmVhdHVyZXMgJiBGRUFUVVJFX0kyQ19CTE9DS19SRUFEKSkgewogCQkJZGV2X2VycigmSTgwMV9kZXYtPmRldiwKIAkJCQkiSTJDIGJsb2NrIHJlYWQgaXMgdW5zdXBwb3J0ZWQhXG4iKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAkJfQogCX0KIApAQCAtNDQ5LDcgKzQzNCw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBpODAxX2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCB1MTYgYWRkciwKIAkJICAgICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsIHU4IGNvbW1hbmQsCiAJCSAgICAgICBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQpAQCAtNTExLDEwICs0OTYsOSBAQAogCQkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCWJsb2NrID0gMTsKIAkJYnJlYWs7Ci0JY2FzZSBJMkNfU01CVVNfUFJPQ19DQUxMOgogCWRlZmF1bHQ6CiAJCWRldl9lcnIoJkk4MDFfZGV2LT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCWlmIChod3BlYykJLyogZW5hYmxlL2Rpc2FibGUgaGFyZHdhcmUgUEVDICovCkBAIC01MzcsNyArNTIxLDcgQEAKIAlpZihibG9jaykKIAkJcmV0dXJuIHJldDsKIAlpZihyZXQpCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIHJldDsKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoeGFjdCA9PSBJODAxX1FVSUNLKSkKIAkJcmV0dXJuIDA7CiAKQEAgLTU3Miw3ICs1NTYsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBpODAxX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfSTgwMSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCkBAIC02MzksNiArNjIzLDEwIEBACiAJCWdvdG8gZXhpdDsKIAl9CiAKKwllcnIgPSBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KCZkZXYtPnJlc291cmNlW1NNQkJBUl0pOworCWlmIChlcnIpCisJCWdvdG8gZXhpdDsKKwogCWVyciA9IHBjaV9yZXF1ZXN0X3JlZ2lvbihkZXYsIFNNQkJBUiwgaTgwMV9kcml2ZXIubmFtZSk7CiAJaWYgKGVycikgewogCQlkZXZfZXJyKCZkZXYtPmRldiwgIkZhaWxlZCB0byByZXF1ZXN0IFNNQnVzIHJlZ2lvbiAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWk4MTAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgxMC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MmU4ZDk0Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaTgxMC5jCisrKyAvZGV2L251bGwKQEAgLTEsMjYwICswLDAgQEAKLS8qCi0gICAgaTJjLWk4MTAuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLSAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTksIDIwMDAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sCi0gICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwKLSAgICBSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LCBhbmQKLSAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gICAgCi0gICAgQmFzZWQgb24gY29kZSB3cml0dGVuIGJ5IFJhbHBoIE1ldHpsZXIgPHJqa21AdGhwLnVuaS1rb2Vsbi5kZT4gYW5kCi0gICAgU2ltb24gVm9nbAotCi0gICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gICAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCi0qLwotLyoKLSAgIFRoaXMgaW50ZXJmYWNlcyB0byB0aGUgSTgxMC9JODE1IHRvIHByb3ZpZGUgYWNjZXNzIHRvCi0gICB0aGUgRERDIEJ1cyBhbmQgdGhlIEkyQyBCdXMuCi0KLSAgIFNVUFBPUlRFRCBERVZJQ0VTCVBDSSBJRAotICAgaTgxMEFBCQk3MTIxICAgICAgICAgICAKLSAgIGk4MTBBQgkJNzEyMyAgICAgICAgICAgCi0gICBpODEwRQkJNzEyNSAgICAgICAgICAgCi0gICBpODE1CQkJMTEzMiAgICAgICAgICAgCi0gICBpODQ1RwkJMjU2MgotKi8KLQotI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotLyogR1BJTyByZWdpc3RlciBsb2NhdGlvbnMgKi8KLSNkZWZpbmUgSTgxMF9JT0NPTlRST0xfT0ZGU0VUCTB4NTAwMAotI2RlZmluZSBJODEwX0hWU1lOQwkJMHgwMAkvKiBub3QgdXNlZCAqLwotI2RlZmluZSBJODEwX0dQSU9BCQkweDEwCi0jZGVmaW5lIEk4MTBfR1BJT0IJCTB4MTQKLQotLyogYml0IGxvY2F0aW9ucyBpbiB0aGUgcmVnaXN0ZXJzICovCi0jZGVmaW5lIFNDTF9ESVJfTUFTSwkJMHgwMDAxCi0jZGVmaW5lIFNDTF9ESVIJCQkweDAwMDIKLSNkZWZpbmUgU0NMX1ZBTF9NQVNLCQkweDAwMDQKLSNkZWZpbmUgU0NMX1ZBTF9PVVQJCTB4MDAwOAotI2RlZmluZSBTQ0xfVkFMX0lOCQkweDAwMTAKLSNkZWZpbmUgU0RBX0RJUl9NQVNLCQkweDAxMDAKLSNkZWZpbmUgU0RBX0RJUgkJCTB4MDIwMAotI2RlZmluZSBTREFfVkFMX01BU0sJCTB4MDQwMAotI2RlZmluZSBTREFfVkFMX09VVAkJMHgwODAwCi0jZGVmaW5lIFNEQV9WQUxfSU4JCTB4MTAwMAotCi0vKiBpbml0aWFsaXphdGlvbiBzdGF0ZXMgKi8KLSNkZWZpbmUgSU5JVDEJCQkweDEKLSNkZWZpbmUgSU5JVDIJCQkweDIKLSNkZWZpbmUgSU5JVDMJCQkweDQKLQotLyogZGVsYXlzICovCi0jZGVmaW5lIENZQ0xFX0RFTEFZCQkxMAotI2RlZmluZSBUSU1FT1VUCQkJKEhaIC8gMikKLQotc3RhdGljIHZvaWQgX19pb21lbSAqaW9hZGRyOwotCi0vKiBUaGUgaTgxMCBHUElPIHJlZ2lzdGVycyBoYXZlIGluZGl2aWR1YWwgbWFza3MgZm9yIGVhY2ggYml0Ci0gICBzbyB3ZSBuZXZlciBoYXZlIHRvIHJlYWQgYmVmb3JlIHdyaXRpbmcuIE5pY2UuICovCi0KLXN0YXRpYyB2b2lkIGJpdF9pODEwaTJjX3NldHNjbCh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotCXdyaXRlbCgodmFsID8gU0NMX1ZBTF9PVVQgOiAwKSB8IFNDTF9ESVIgfCBTQ0xfRElSX01BU0sgfCBTQ0xfVkFMX01BU0ssCi0JICAgICBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9CKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyB2b2lkIGJpdF9pODEwaTJjX3NldHNkYSh2b2lkICpkYXRhLCBpbnQgdmFsKQotewotIAl3cml0ZWwoKHZhbCA/IFNEQV9WQUxfT1VUIDogMCkgfCBTREFfRElSIHwgU0RBX0RJUl9NQVNLIHwgU0RBX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQik7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQik7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi0vKiBUaGUgR1BJTyBwaW5zIGFyZSBvcGVuIGRyYWluLCBzbyB0aGUgcGlucyBjb3VsZCBhbHdheXMgcmVtYWluIG91dHB1dHMuCi0gICBIb3dldmVyLCBzb21lIGNoaXAgdmVyc2lvbnMgZG9uJ3QgbGF0Y2ggdGhlIGlucHV0cyB1bmxlc3MgdGhleQotICAgYXJlIHNldCBhcyBpbnB1dHMuCi0gICBXZSByZWx5IG9uIHRoZSBpMmMtYWxnby1iaXQgcm91dGluZXMgdG8gc2V0IHRoZSBwaW5zIGhpZ2ggYmVmb3JlCi0gICByZWFkaW5nIHRoZSBpbnB1dCBmcm9tIG90aGVyIGNoaXBzLiBGb2xsb3dpbmcgZ3VpZGFuY2UgaW4gdGhlIDgxNQotICAgcHJvZy4gcmVmLiBndWlkZSwgd2UgZG8gYSAiZHVtbXkgd3JpdGUiIG9mIDAgdG8gdGhlIHJlZ2lzdGVyIGJlZm9yZQotICAgcmVhZGluZyB3aGljaCBmb3JjZXMgdGhlIGlucHV0IHZhbHVlIHRvIGJlIGxhdGNoZWQuIFdlIHByZXN1bWUgdGhpcwotICAgYXBwbGllcyB0byB0aGUgODEwIGFzIHdlbGw7IHNob3VsZG4ndCBodXJ0IGFueXdheS4gVGhpcyBpcyBuZWNlc3NhcnkgdG8gZ2V0Ci0gICBpMmNfYWxnb19iaXQgYml0X3Rlc3Q9MSB0byBwYXNzLiAqLwotCi1zdGF0aWMgaW50IGJpdF9pODEwaTJjX2dldHNjbCh2b2lkICpkYXRhKQotewotCXdyaXRlbChTQ0xfRElSX01BU0ssIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXdyaXRlbCgwLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpICYgU0NMX1ZBTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9pODEwaTJjX2dldHNkYSh2b2lkICpkYXRhKQotewotCXdyaXRlbChTREFfRElSX01BU0ssIGlvYWRkciArIEk4MTBfR1BJT0IpOwotCXdyaXRlbCgwLCBpb2FkZHIgKyBJODEwX0dQSU9CKTsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0IpICYgU0RBX1ZBTF9JTikpOwotfQotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGRkY19zZXRzY2wodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLQl3cml0ZWwoKHZhbCA/IFNDTF9WQUxfT1VUIDogMCkgfCBTQ0xfRElSIHwgU0NMX0RJUl9NQVNLIHwgU0NMX1ZBTF9NQVNLLAotCSAgICAgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmVhZGwoaW9hZGRyICsgSTgxMF9HUElPQSk7CS8qIGZsdXNoIHBvc3RlZCB3cml0ZSAqLwotfQotCi1zdGF0aWMgdm9pZCBiaXRfaTgxMGRkY19zZXRzZGEodm9pZCAqZGF0YSwgaW50IHZhbCkKLXsKLSAJd3JpdGVsKCh2YWwgPyBTREFfVkFMX09VVCA6IDApIHwgU0RBX0RJUiB8IFNEQV9ESVJfTUFTSyB8IFNEQV9WQUxfTUFTSywKLQkgICAgIGlvYWRkciArIEk4MTBfR1BJT0EpOwotCXJlYWRsKGlvYWRkciArIEk4MTBfR1BJT0EpOwkvKiBmbHVzaCBwb3N0ZWQgd3JpdGUgKi8KLX0KLQotc3RhdGljIGludCBiaXRfaTgxMGRkY19nZXRzY2wodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0NMX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKSAmIFNDTF9WQUxfSU4pKTsKLX0KLQotc3RhdGljIGludCBiaXRfaTgxMGRkY19nZXRzZGEodm9pZCAqZGF0YSkKLXsKLQl3cml0ZWwoU0RBX0RJUl9NQVNLLCBpb2FkZHIgKyBJODEwX0dQSU9BKTsKLQl3cml0ZWwoMCwgaW9hZGRyICsgSTgxMF9HUElPQSk7Ci0JcmV0dXJuICgwICE9IChyZWFkbChpb2FkZHIgKyBJODEwX0dQSU9BKSAmIFNEQV9WQUxfSU4pKTsKLX0KLQotc3RhdGljIGludCBjb25maWdfaTgxMChzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCXVuc2lnbmVkIGxvbmcgY2FkcjsKLQotCS8qIG1hcCBJODEwIG1lbW9yeSAqLwotCWNhZHIgPSBkZXYtPnJlc291cmNlWzFdLnN0YXJ0OwotCWNhZHIgKz0gSTgxMF9JT0NPTlRST0xfT0ZGU0VUOwotCWNhZHIgJj0gUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsKLQlpb2FkZHIgPSBpb3JlbWFwX25vY2FjaGUoY2FkciwgMHgxMDAwKTsKLQlpZiAoaW9hZGRyKSB7Ci0JCWJpdF9pODEwaTJjX3NldHNjbChOVUxMLCAxKTsKLQkJYml0X2k4MTBpMmNfc2V0c2RhKE5VTEwsIDEpOwotCQliaXRfaTgxMGRkY19zZXRzY2woTlVMTCwgMSk7Ci0JCWJpdF9pODEwZGRjX3NldHNkYShOVUxMLCAxKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAtRU5PREVWOwotfQotCi1zdGF0aWMgc3RydWN0IGkyY19hbGdvX2JpdF9kYXRhIGk4MTBfaTJjX2JpdF9kYXRhID0gewotCS5zZXRzZGEJCT0gYml0X2k4MTBpMmNfc2V0c2RhLAotCS5zZXRzY2wJCT0gYml0X2k4MTBpMmNfc2V0c2NsLAotCS5nZXRzZGEJCT0gYml0X2k4MTBpMmNfZ2V0c2RhLAotCS5nZXRzY2wJCT0gYml0X2k4MTBpMmNfZ2V0c2NsLAotCS51ZGVsYXkJCT0gQ1lDTEVfREVMQVksCi0JLnRpbWVvdXQJPSBUSU1FT1VULAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBpODEwX2kyY19hZGFwdGVyID0gewotCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuaWQJCT0gSTJDX0hXX0JfSTgxMCwKLQkubmFtZQkJPSAiSTgxMC9JODE1IEkyQyBBZGFwdGVyIiwKLQkuYWxnb19kYXRhCT0gJmk4MTBfaTJjX2JpdF9kYXRhLAotfTsKLQotc3RhdGljIHN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YSBpODEwX2RkY19iaXRfZGF0YSA9IHsKLQkuc2V0c2RhCQk9IGJpdF9pODEwZGRjX3NldHNkYSwKLQkuc2V0c2NsCQk9IGJpdF9pODEwZGRjX3NldHNjbCwKLQkuZ2V0c2RhCQk9IGJpdF9pODEwZGRjX2dldHNkYSwKLQkuZ2V0c2NsCQk9IGJpdF9pODEwZGRjX2dldHNjbCwKLQkudWRlbGF5CQk9IENZQ0xFX0RFTEFZLAotCS50aW1lb3V0CT0gVElNRU9VVCwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgaTgxMF9kZGNfYWRhcHRlciA9IHsKLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCi0JLmlkCQk9IEkyQ19IV19CX0k4MTAsCi0JLm5hbWUJCT0gIkk4MTAvSTgxNSBEREMgQWRhcHRlciIsCi0JLmFsZ29fZGF0YQk9ICZpODEwX2RkY19iaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBpODEwX2lkc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTBfSUcxKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODEwX0lHMykgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF84MjgxMEVfSUcpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9ERVZJQ0VfSURfSU5URUxfODI4MTVfQ0dDKSB9LAotCXsgUENJX0RFVklDRShQQ0lfVkVORE9SX0lEX0lOVEVMLCBQQ0lfREVWSUNFX0lEX0lOVEVMXzgyODQ1R19JRykgfSwKLQl7IDAsIH0sCi19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFIChwY2ksIGk4MTBfaWRzKTsKLQotc3RhdGljIGludCBfX2RldmluaXQgaTgxMF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCi17Ci0JaW50IHJldHZhbDsKLQotCXJldHZhbCA9IGNvbmZpZ19pODEwKGRldik7Ci0JaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKLQlkZXZfaW5mbygmZGV2LT5kZXYsICJpODEwL2k4MTUgaTJjIGRldmljZSBmb3VuZC5cbiIpOwotCi0JLyogc2V0IHVwIHRoZSBzeXNmcyBsaW5rYWdlIHRvIG91ciBwYXJlbnQgZGV2aWNlICovCi0JaTgxMF9pMmNfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCWk4MTBfZGRjX2FkYXB0ZXIuZGV2LnBhcmVudCA9ICZkZXYtPmRldjsKLQotCXJldHZhbCA9IGkyY19iaXRfYWRkX2J1cygmaTgxMF9pMmNfYWRhcHRlcik7Ci0JaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKLQlyZXR2YWwgPSBpMmNfYml0X2FkZF9idXMoJmk4MTBfZGRjX2FkYXB0ZXIpOwotCWlmIChyZXR2YWwpCi0JCWkyY19kZWxfYWRhcHRlcigmaTgxMF9pMmNfYWRhcHRlcik7Ci0JcmV0dXJuIHJldHZhbDsKLX0KLQotc3RhdGljIHZvaWQgX19kZXZleGl0IGk4MTBfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JaTJjX2RlbF9hZGFwdGVyKCZpODEwX2RkY19hZGFwdGVyKTsKLQlpMmNfZGVsX2FkYXB0ZXIoJmk4MTBfaTJjX2FkYXB0ZXIpOwotCWlvdW5tYXAoaW9hZGRyKTsKLX0KLQotc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGk4MTBfZHJpdmVyID0gewotCS5uYW1lCQk9ICJpODEwX3NtYnVzIiwKLQkuaWRfdGFibGUJPSBpODEwX2lkcywKLQkucHJvYmUJCT0gaTgxMF9wcm9iZSwKLQkucmVtb3ZlCQk9IF9fZGV2ZXhpdF9wKGk4MTBfcmVtb3ZlKSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGkyY19pODEwX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmaTgxMF9kcml2ZXIpOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgaTJjX2k4MTBfZXhpdCh2b2lkKQotewotCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmaTgxMF9kcml2ZXIpOwotfQotCi1NT0RVTEVfQVVUSE9SKCJGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LCAiCi0JCSJQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCAiCi0JCSJSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LCAiCi0JCSJhbmQgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJJODEwL0k4MTUgSTJDL0REQyBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoaTJjX2k4MTBfaW5pdCk7Ci1tb2R1bGVfZXhpdChpMmNfaTgxMF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaWJtX2lpYy5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMKaW5kZXggODVkYmYzNC4uNjUxZjJmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pYm1faWljLmMKQEAgLTQyLDEzICs0Miw4IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWlkLmg+Ci0KLSNpZmRlZiBDT05GSUdfSUJNX09DUAotI2luY2x1ZGUgPGFzbS9vY3AuaD4KLSNpbmNsdWRlIDxhc20vaWJtNHh4Lmg+Ci0jZWxzZQogI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+Ci0jZW5kaWYKKyNpbmNsdWRlIDxsaW51eC9vZl9pMmMuaD4KIAogI2luY2x1ZGUgImkyYy1pYm1faWljLmgiCiAKQEAgLTY2NSwxODAgKzY2MCw2IEBACiAJcmV0dXJuICh1OCkoKG9wYiArIDkpIC8gMTAgLSAxKTsKIH0KIAotI2lmZGVmIENPTkZJR19JQk1fT0NQCi0vKgotICogUmVnaXN0ZXIgc2luZ2xlIElJQyBpbnRlcmZhY2UKLSAqLwotc3RhdGljIGludCBfX2RldmluaXQgaWljX3Byb2JlKHN0cnVjdCBvY3BfZGV2aWNlICpvY3ApewotCi0Jc3RydWN0IGlibV9paWNfcHJpdmF0ZSogZGV2OwotCXN0cnVjdCBpMmNfYWRhcHRlciogYWRhcDsKLQlzdHJ1Y3Qgb2NwX2Z1bmNfaWljX2RhdGEqIGlpY19kYXRhID0gb2NwLT5kZWYtPmFkZGl0aW9uczsKLQlpbnQgcmV0OwotCi0JaWYgKCFpaWNfZGF0YSkKLQkJcHJpbnRrKEtFUk5fV0FSTklORyJpYm0taWljJWQ6IG1pc3NpbmcgYWRkaXRpb25hbCBkYXRhIVxuIiwKLQkJCW9jcC0+ZGVmLT5pbmRleCk7Ci0KLQlpZiAoIShkZXYgPSBremFsbG9jKHNpemVvZigqZGV2KSwgR0ZQX0tFUk5FTCkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gYWxsb2NhdGUgZGV2aWNlIGRhdGFcbiIsCi0JCQlvY3AtPmRlZi0+aW5kZXgpOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQlkZXYtPmlkeCA9IG9jcC0+ZGVmLT5pbmRleDsKLQlvY3Bfc2V0X2RydmRhdGEob2NwLCBkZXYpOwotCi0JaWYgKCFyZXF1ZXN0X21lbV9yZWdpb24ob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSwKLQkJCQkiaWJtX2lpYyIpKSB7Ci0JCXJldCA9IC1FQlVTWTsKLQkJZ290byBmYWlsMTsKLQl9Ci0KLQlpZiAoIShkZXYtPnZhZGRyID0gaW9yZW1hcChvY3AtPmRlZi0+cGFkZHIsIHNpemVvZihzdHJ1Y3QgaWljX3JlZ3MpKSkpewotCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogZmFpbGVkIHRvIGlvcmVtYXAgZGV2aWNlIHJlZ2lzdGVyc1xuIiwKLQkJCWRldi0+aWR4KTsKLQkJcmV0ID0gLUVOWElPOwotCQlnb3RvIGZhaWwyOwotCX0KLQotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRldi0+d3EpOwotCi0JZGV2LT5pcnEgPSBpaWNfZm9yY2VfcG9sbCA/IC0xIDogb2NwLT5kZWYtPmlycTsKLQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCS8qIERpc2FibGUgaW50ZXJydXB0cyB1bnRpbCB3ZSBmaW5pc2ggaW5pdGlhbGl6YXRpb24sCi0JCSAgIGFzc3VtZXMgbGV2ZWwtc2Vuc2l0aXZlIElSUSBzZXR1cC4uLgotCQkgKi8KLQkJaWljX2ludGVycnVwdF9tb2RlKGRldiwgMCk7Ci0JCWlmIChyZXF1ZXN0X2lycShkZXYtPmlycSwgaWljX2hhbmRsZXIsIDAsICJJQk0gSUlDIiwgZGV2KSl7Ci0JCQlwcmludGsoS0VSTl9FUlIgImlibS1paWMlZDogcmVxdWVzdF9pcnEgJWQgZmFpbGVkXG4iLAotCQkJCWRldi0+aWR4LCBkZXYtPmlycSk7Ci0JCQkvKiBGYWxsYmFjayB0byB0aGUgcG9sbGluZyBtb2RlICovCi0JCQlkZXYtPmlycSA9IC0xOwotCQl9Ci0JfQotCi0JaWYgKGRldi0+aXJxIDwgMCkKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaWJtLWlpYyVkOiB1c2luZyBwb2xsaW5nIG1vZGVcbiIsCi0JCQlkZXYtPmlkeCk7Ci0KLQkvKiBCb2FyZCBzcGVjaWZpYyBzZXR0aW5ncyAqLwotCWRldi0+ZmFzdF9tb2RlID0gaWljX2ZvcmNlX2Zhc3QgPyAxIDogKGlpY19kYXRhID8gaWljX2RhdGEtPmZhc3RfbW9kZSA6IDApOwotCi0JLyogY2xja2RpdiBpcyB0aGUgc2FtZSBmb3IgKmFsbCogSUlDIGludGVyZmFjZXMsCi0JICogYnV0IEknZCByYXRoZXIgbWFrZSBhIGNvcHkgdGhhbiBpbnRyb2R1Y2UgYW5vdGhlciBnbG9iYWwuIC0tZWJzCi0JICovCi0JZGV2LT5jbGNrZGl2ID0gaWljX2NsY2tkaXYob2NwX3N5c19pbmZvLm9wYl9idXNfZnJlcSk7Ci0JREJHKCIlZDogY2xja2RpdiA9ICVkXG4iLCBkZXYtPmlkeCwgZGV2LT5jbGNrZGl2KTsKLQotCS8qIEluaXRpYWxpemUgSUlDIGludGVyZmFjZSAqLwotCWlpY19kZXZfaW5pdChkZXYpOwotCi0JLyogUmVnaXN0ZXIgaXQgd2l0aCBpMmMgbGF5ZXIgKi8KLQlhZGFwID0gJmRldi0+YWRhcDsKLQlhZGFwLT5kZXYucGFyZW50ID0gJm9jcC0+ZGV2OwotCXN0cmNweShhZGFwLT5uYW1lLCAiSUJNIElJQyIpOwotCWkyY19zZXRfYWRhcGRhdGEoYWRhcCwgZGV2KTsKLQlhZGFwLT5pZCA9IEkyQ19IV19PQ1A7Ci0JYWRhcC0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047Ci0JYWRhcC0+YWxnbyA9ICZpaWNfYWxnbzsKLQlhZGFwLT5jbGllbnRfcmVnaXN0ZXIgPSBOVUxMOwotCWFkYXAtPmNsaWVudF91bnJlZ2lzdGVyID0gTlVMTDsKLQlhZGFwLT50aW1lb3V0ID0gMTsKLQotCS8qCi0JICogSWYgImRldi0+aWR4IiBpcyBuZWdhdGl2ZSB3ZSBjb25zaWRlciBpdCBhcyB6ZXJvLgotCSAqIFRoZSByZWFzb24gdG8gZG8gc28gaXMgdG8gYXZvaWQgc3lzZnMgbmFtZXMgdGhhdCBvbmx5IG1ha2UKLQkgKiBzZW5zZSB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZSBhZGFwdGVycy4KLQkgKi8KLQlhZGFwLT5uciA9IGRldi0+aWR4ID49IDAgPyBkZXYtPmlkeCA6IDA7Ci0KLQlpZiAoKHJldCA9IGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcihhZGFwKSkgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gcmVnaXN0ZXIgaTJjIGFkYXB0ZXJcbiIsCi0JCQlkZXYtPmlkeCk7Ci0JCWdvdG8gZmFpbDsKLQl9Ci0KLQlwcmludGsoS0VSTl9JTkZPICJpYm0taWljJWQ6IHVzaW5nICVzIG1vZGVcbiIsIGRldi0+aWR4LAotCQlkZXYtPmZhc3RfbW9kZSA/ICJmYXN0ICg0MDAga0h6KSIgOiAic3RhbmRhcmQgKDEwMCBrSHopIik7Ci0KLQlyZXR1cm4gMDsKLQotZmFpbDoKLQlpZiAoZGV2LT5pcnEgPj0gMCl7Ci0JCWlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQlmcmVlX2lycShkZXYtPmlycSwgZGV2KTsKLQl9Ci0KLQlpb3VubWFwKGRldi0+dmFkZHIpOwotZmFpbDI6Ci0JcmVsZWFzZV9tZW1fcmVnaW9uKG9jcC0+ZGVmLT5wYWRkciwgc2l6ZW9mKHN0cnVjdCBpaWNfcmVncykpOwotZmFpbDE6Ci0Jb2NwX3NldF9kcnZkYXRhKG9jcCwgTlVMTCk7Ci0Ja2ZyZWUoZGV2KTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKgotICogQ2xlYW51cCBpbml0aWFsaXplZCBJSUMgaW50ZXJmYWNlCi0gKi8KLXN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBpaWNfcmVtb3ZlKHN0cnVjdCBvY3BfZGV2aWNlICpvY3ApCi17Ci0Jc3RydWN0IGlibV9paWNfcHJpdmF0ZSogZGV2ID0gKHN0cnVjdCBpYm1faWljX3ByaXZhdGUqKW9jcF9nZXRfZHJ2ZGF0YShvY3ApOwotCUJVR19PTihkZXYgPT0gTlVMTCk7Ci0JaWYgKGkyY19kZWxfYWRhcHRlcigmZGV2LT5hZGFwKSl7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWJtLWlpYyVkOiBmYWlsZWQgdG8gZGVsZXRlIGkyYyBhZGFwdGVyIDooXG4iLAotCQkJZGV2LT5pZHgpOwotCQkvKiBUaGF0J3MgKnZlcnkqIGJhZCwganVzdCBzaHV0ZG93biBJUlEgLi4uICovCi0JCWlmIChkZXYtPmlycSA+PSAwKXsKLQkJICAgIGlpY19pbnRlcnJ1cHRfbW9kZShkZXYsIDApOwotCQkgICAgZnJlZV9pcnEoZGV2LT5pcnEsIGRldik7Ci0JCSAgICBkZXYtPmlycSA9IC0xOwotCQl9Ci0JfSBlbHNlIHsKLQkJaWYgKGRldi0+aXJxID49IDApewotCQkgICAgaWljX2ludGVycnVwdF9tb2RlKGRldiwgMCk7Ci0JCSAgICBmcmVlX2lycShkZXYtPmlycSwgZGV2KTsKLQkJfQotCQlpb3VubWFwKGRldi0+dmFkZHIpOwotCQlyZWxlYXNlX21lbV9yZWdpb24ob2NwLT5kZWYtPnBhZGRyLCBzaXplb2Yoc3RydWN0IGlpY19yZWdzKSk7Ci0JCWtmcmVlKGRldik7Ci0JfQotfQotCi1zdGF0aWMgc3RydWN0IG9jcF9kZXZpY2VfaWQgaWJtX2lpY19pZHNbXSBfX2RldmluaXRkYXRhID0KLXsKLQl7IC52ZW5kb3IgPSBPQ1BfVkVORE9SX0lCTSwgLmZ1bmN0aW9uID0gT0NQX0ZVTkNfSUlDIH0sCi0JeyAudmVuZG9yID0gT0NQX1ZFTkRPUl9JTlZBTElEIH0KLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUob2NwLCBpYm1faWljX2lkcyk7Ci0KLXN0YXRpYyBzdHJ1Y3Qgb2NwX2RyaXZlciBpYm1faWljX2RyaXZlciA9Ci17Ci0JLm5hbWUgCQk9ICJpaWMiLAotCS5pZF90YWJsZQk9IGlibV9paWNfaWRzLAotCS5wcm9iZQkJPSBpaWNfcHJvYmUsCi0JLnJlbW92ZQkJPSBfX2RldmV4aXRfcChpaWNfcmVtb3ZlKSwKLSNpZiBkZWZpbmVkKENPTkZJR19QTSkKLQkuc3VzcGVuZAk9IE5VTEwsCi0JLnJlc3VtZQkJPSBOVUxMLAotI2VuZGlmCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpaWNfaW5pdCh2b2lkKQotewotCXByaW50ayhLRVJOX0lORk8gIklCTSBJSUMgZHJpdmVyIHYiIERSSVZFUl9WRVJTSU9OICJcbiIpOwotCXJldHVybiBvY3BfcmVnaXN0ZXJfZHJpdmVyKCZpYm1faWljX2RyaXZlcik7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBpaWNfZXhpdCh2b2lkKQotewotCW9jcF91bnJlZ2lzdGVyX2RyaXZlcigmaWJtX2lpY19kcml2ZXIpOwotfQotCi0jZWxzZSAgLyogIUNPTkZJR19JQk1fT0NQICovCi0KIHN0YXRpYyBpbnQgX19kZXZpbml0IGlpY19yZXF1ZXN0X2lycShzdHJ1Y3Qgb2ZfZGV2aWNlICpvZmRldiwKIAkJCQkgICAgIHN0cnVjdCBpYm1faWljX3ByaXZhdGUgKmRldikKIHsKQEAgLTg3Niw3ICs2OTcsNyBAQAogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBvZmRldi0+bm9kZTsKIAlzdHJ1Y3QgaWJtX2lpY19wcml2YXRlICpkZXY7CiAJc3RydWN0IGkyY19hZGFwdGVyICphZGFwOwotCWNvbnN0IHUzMiAqaW5kZXhwLCAqZnJlcTsKKwljb25zdCB1MzIgKmZyZXE7CiAJaW50IHJldDsKIAogCWRldiA9IGt6YWxsb2Moc2l6ZW9mKCpkZXYpLCBHRlBfS0VSTkVMKTsKQEAgLTg4NywxNCArNzA4LDYgQEAKIAogCWRldl9zZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldiwgZGV2KTsKIAotCWluZGV4cCA9IG9mX2dldF9wcm9wZXJ0eShucCwgImluZGV4IiwgTlVMTCk7Ci0JaWYgKCFpbmRleHApIHsKLQkJZGV2X2Vycigmb2ZkZXYtPmRldiwgIm5vIGluZGV4IHNwZWNpZmllZFxuIik7Ci0JCXJldCA9IC1FSU5WQUw7Ci0JCWdvdG8gZXJyb3JfY2xlYW51cDsKLQl9Ci0JZGV2LT5pZHggPSAqaW5kZXhwOwotCiAJZGV2LT52YWRkciA9IG9mX2lvbWFwKG5wLCAwKTsKIAlpZiAoZGV2LT52YWRkciA9PSBOVUxMKSB7CiAJCWRldl9lcnIoJm9mZGV2LT5kZXYsICJmYWlsZWQgdG8gaW9tYXAgZGV2aWNlXG4iKTsKQEAgLTkzNCwxNyArNzQ3LDE5IEBACiAJc3RybGNweShhZGFwLT5uYW1lLCAiSUJNIElJQyIsIHNpemVvZihhZGFwLT5uYW1lKSk7CiAJaTJjX3NldF9hZGFwZGF0YShhZGFwLCBkZXYpOwogCWFkYXAtPmlkID0gSTJDX0hXX09DUDsKLQlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTjsKKwlhZGFwLT5jbGFzcyA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQ7CiAJYWRhcC0+YWxnbyA9ICZpaWNfYWxnbzsKIAlhZGFwLT50aW1lb3V0ID0gMTsKLQlhZGFwLT5uciA9IGRldi0+aWR4OwogCi0JcmV0ID0gaTJjX2FkZF9udW1iZXJlZF9hZGFwdGVyKGFkYXApOworCXJldCA9IGkyY19hZGRfYWRhcHRlcihhZGFwKTsKIAlpZiAocmV0ICA8IDApIHsKIAkJZGV2X2Vycigmb2ZkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBpMmMgYWRhcHRlclxuIik7CiAJCWdvdG8gZXJyb3JfY2xlYW51cDsKIAl9CiAKKwkvKiBOb3cgcmVnaXN0ZXIgYWxsIHRoZSBjaGlsZCBub2RlcyAqLworCW9mX3JlZ2lzdGVyX2kyY19kZXZpY2VzKGFkYXAsIG5wKTsKKwogCWRldl9pbmZvKCZvZmRldi0+ZGV2LCAidXNpbmcgJXMgbW9kZVxuIiwKIAkJIGRldi0+ZmFzdF9tb2RlID8gImZhc3QgKDQwMCBrSHopIiA6ICJzdGFuZGFyZCAoMTAwIGtIeikiKTsKIApAQCAtOTg3LDExICs4MDIsNyBAQAogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBpYm1faWljX21hdGNoW10gPSB7Ci0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQwNWV4IiwgfSwKLQl7IC5jb21wYXRpYmxlID0gImlibSxpaWMtNDA1Z3AiLCB9LAotCXsgLmNvbXBhdGlibGUgPSAiaWJtLGlpYy00NDBncCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQ0MGdweCIsIH0sCi0JeyAuY29tcGF0aWJsZSA9ICJpYm0saWljLTQ0MGdyeCIsIH0sCisJeyAuY29tcGF0aWJsZSA9ICJpYm0saWljIiwgfSwKIAl7fQogfTsKIApAQCAtMTAxMSw3ICs4MjIsNiBAQAogewogCW9mX3VucmVnaXN0ZXJfcGxhdGZvcm1fZHJpdmVyKCZpYm1faWljX2RyaXZlcik7CiB9Ci0jZW5kaWYgLyogQ09ORklHX0lCTV9PQ1AgKi8KIAogbW9kdWxlX2luaXQoaWljX2luaXQpOwogbW9kdWxlX2V4aXQoaWljX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaW9wM3h4LmMKaW5kZXggMzk4ODRlNy4uZmMyNzE0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pb3AzeHguYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLWlvcDN4eC5jCkBAIC00ODIsNyArNDgyLDcgQEAKIAltZW1jcHkobmV3X2FkYXB0ZXItPm5hbWUsIHBkZXYtPm5hbWUsIHN0cmxlbihwZGV2LT5uYW1lKSk7CiAJbmV3X2FkYXB0ZXItPmlkID0gSTJDX0hXX0lPUDNYWDsKIAluZXdfYWRhcHRlci0+b3duZXIgPSBUSElTX01PRFVMRTsKLQluZXdfYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJbmV3X2FkYXB0ZXItPmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAluZXdfYWRhcHRlci0+ZGV2LnBhcmVudCA9ICZwZGV2LT5kZXY7CiAJbmV3X2FkYXB0ZXItPm5yID0gcGRldi0+aWQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaXNjaC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1pc2NoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjljMDFhYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtaXNjaC5jCkBAIC0wLDAgKzEsMzM5IEBACisvKgorICAgIGkyYy1pc2NoLmMgLSBMaW51eCBrZXJuZWwgZHJpdmVyIGZvciBJbnRlbCBTQ0ggY2hpcHNldCBTTUJ1cworICAgIC0gQmFzZWQgb24gaTJjLXBpaXg0LmMKKyAgICBDb3B5cmlnaHQgKGMpIDE5OTggLSAyMDAyIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4gYW5kCisgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPgorICAgIC0gSW50ZWwgU0NIIHN1cHBvcnQKKyAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDA4IEphY29iIEp1biBQYW4gPGphY29iLmp1bi5wYW5AaW50ZWwuY29tPgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyovCisKKy8qCisgICBTdXBwb3J0czoKKwlJbnRlbCBTQ0ggY2hpcHNldHMgKEFGODJVUzE1VywgQUY4MlVTMTVMLCBBRjgyVUwxMUwpCisgICBOb3RlOiB3ZSBhc3N1bWUgdGhlcmUgY2FuIG9ubHkgYmUgb25lIGRldmljZSwgd2l0aCBvbmUgU01CdXMgaW50ZXJmYWNlLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3RkZGVmLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgorCisvKiBTQ0ggU01CdXMgYWRkcmVzcyBvZmZzZXRzICovCisjZGVmaW5lIFNNQkhTVENOVAkoMCArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJIU1RTVFMJKDEgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUQURECSg0ICsgc2NoX3NtYmEpIC8qIFRTQSAqLworI2RlZmluZSBTTUJIU1RDTUQJKDUgKyBzY2hfc21iYSkKKyNkZWZpbmUgU01CSFNUREFUMAkoNiArIHNjaF9zbWJhKQorI2RlZmluZSBTTUJIU1REQVQxCSg3ICsgc2NoX3NtYmEpCisjZGVmaW5lIFNNQkJMS0RBVAkoMHgyMCArIHNjaF9zbWJhKQorCisvKiBjb3VudCBmb3IgcmVxdWVzdF9yZWdpb24gKi8KKyNkZWZpbmUgU01CSU9TSVpFCTY0CisKKy8qIFBDSSBBZGRyZXNzIENvbnN0YW50cyAqLworI2RlZmluZSBTTUJCQV9TQ0gJMHg0MAorCisvKiBPdGhlciBzZXR0aW5ncyAqLworI2RlZmluZSBNQVhfVElNRU9VVAk1MDAKKworLyogSTJDIGNvbnN0YW50cyAqLworI2RlZmluZSBTQ0hfUVVJQ0sJCTB4MDAKKyNkZWZpbmUgU0NIX0JZVEUJCTB4MDEKKyNkZWZpbmUgU0NIX0JZVEVfREFUQQkJMHgwMgorI2RlZmluZSBTQ0hfV09SRF9EQVRBCQkweDAzCisjZGVmaW5lIFNDSF9CTE9DS19EQVRBCQkweDA1CisKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBzY2hfc21iYTsKK3N0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzY2hfZHJpdmVyOworc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzY2hfYWRhcHRlcjsKKworLyoKKyAqIFN0YXJ0IHRoZSBpMmMgdHJhbnNhY3Rpb24gLS0gdGhlIGkyY19hY2Nlc3Mgd2lsbCBwcmVwYXJlIHRoZSB0cmFuc2FjdGlvbgorICogYW5kIHRoaXMgZnVuY3Rpb24gd2lsbCBleGVjdXRlIGl0LgorICogcmV0dXJuIDAgZm9yIHN1Y2Nlc3MgYW5kIG90aGVycyBmb3IgZmFpbHVyZS4KKyAqLworc3RhdGljIGludCBzY2hfdHJhbnNhY3Rpb24odm9pZCkKK3sKKwlpbnQgdGVtcDsKKwlpbnQgcmVzdWx0ID0gMDsKKwlpbnQgdGltZW91dCA9IDA7CisKKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJUcmFuc2FjdGlvbiAocHJlKTogQ05UPSUwMngsIENNRD0lMDJ4LCAiCisJCSJBREQ9JTAyeCwgREFUMD0lMDJ4LCBEQVQxPSUwMnhcbiIsIGluYihTTUJIU1RDTlQpLAorCQlpbmIoU01CSFNUQ01EKSwgaW5iKFNNQkhTVEFERCksIGluYihTTUJIU1REQVQwKSwKKwkJaW5iKFNNQkhTVERBVDEpKTsKKworCS8qIE1ha2Ugc3VyZSB0aGUgU01CdXMgaG9zdCBpcyByZWFkeSB0byBzdGFydCB0cmFuc21pdHRpbmcgKi8KKwl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCWlmICh0ZW1wKSB7CisJCS8qIENhbiBub3QgYmUgYnVzeSBzaW5jZSB3ZSBjaGVja2VkIGl0IGluIHNjaF9hY2Nlc3MgKi8KKwkJaWYgKHRlbXAgJiAweDAxKSB7CisJCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJDb21wbGV0aW9uICglMDJ4KS4gIgorCQkJCSJDbGVhci4uLlxuIiwgdGVtcCk7CisJCX0KKwkJaWYgKHRlbXAgJiAweDA2KSB7CisJCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJTTUJ1cyBlcnJvciAoJTAyeCkuICIKKwkJCQkiUmVzZXR0aW5nLi4uXG4iLCB0ZW1wKTsKKwkJfQorCQlvdXRiKHRlbXAsIFNNQkhTVFNUUyk7CisJCXRlbXAgPSBpbmIoU01CSFNUU1RTKSAmIDB4MGY7CisJCWlmICh0ZW1wKSB7CisJCQlkZXZfZXJyKCZzY2hfYWRhcHRlci5kZXYsCisJCQkJIlNNQnVzIGlzIG5vdCByZWFkeTogKCUwMngpXG4iLCB0ZW1wKTsKKwkJCXJldHVybiAtRUFHQUlOOworCQl9CisJfQorCisJLyogc3RhcnQgdGhlIHRyYW5zYWN0aW9uIGJ5IHNldHRpbmcgYml0IDQgKi8KKwlvdXRiKGluYihTTUJIU1RDTlQpIHwgMHgxMCwgU01CSFNUQ05UKTsKKworCWRvIHsKKwkJbXNsZWVwKDEpOworCQl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCX0gd2hpbGUgKCh0ZW1wICYgMHgwOCkgJiYgKHRpbWVvdXQrKyA8IE1BWF9USU1FT1VUKSk7CisKKwkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLworCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CisJCWRldl9lcnIoJnNjaF9hZGFwdGVyLmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKKwl9CisJaWYgKHRlbXAgJiAweDA0KSB7CisJCXJlc3VsdCA9IC1FSU87CisJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIkJ1cyBjb2xsaXNpb24hIFNNQnVzIG1heSBiZSAiCisJCQkibG9ja2VkIHVudGlsIG5leHQgaGFyZCByZXNldC4gKHNvcnJ5ISlcbiIpOworCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLworCX0gZWxzZSBpZiAodGVtcCAmIDB4MDIpIHsKKwkJcmVzdWx0ID0gLUVJTzsKKwkJZGV2X2Vycigmc2NoX2FkYXB0ZXIuZGV2LCAiRXJyb3I6IG5vIHJlc3BvbnNlIVxuIik7CisJfSBlbHNlIGlmICh0ZW1wICYgMHgwMSkgeworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJQb3N0IGNvbXBsZXRlIVxuIik7CisJCW91dGIodGVtcCwgU01CSFNUU1RTKTsKKwkJdGVtcCA9IGluYihTTUJIU1RTVFMpICYgMHgwNzsKKwkJaWYgKHRlbXAgJiAweDA2KSB7CisJCQkvKiBDb21wbGV0aW9uIGNsZWFyIGZhaWxlZCAqLworCQkJZGV2X2RiZygmc2NoX2FkYXB0ZXIuZGV2LCAiRmFpbGVkIHJlc2V0IGF0IGVuZCBvZiAiCisJCQkJInRyYW5zYWN0aW9uICglMDJ4KSwgQnVzIGVycm9yIVxuIiwgdGVtcCk7CisJCX0KKwl9IGVsc2UgeworCQlyZXN1bHQgPSAtRU5YSU87CisJCWRldl9kYmcoJnNjaF9hZGFwdGVyLmRldiwgIk5vIHN1Y2ggYWRkcmVzcy5cbiIpOworCX0KKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJUcmFuc2FjdGlvbiAocG9zdCk6IENOVD0lMDJ4LCBDTUQ9JTAyeCwgIgorCQkiQUREPSUwMngsIERBVDA9JTAyeCwgREFUMT0lMDJ4XG4iLCBpbmIoU01CSFNUQ05UKSwKKwkJaW5iKFNNQkhTVENNRCksIGluYihTTUJIU1RBREQpLCBpbmIoU01CSFNUREFUMCksCisJCWluYihTTUJIU1REQVQxKSk7CisJcmV0dXJuIHJlc3VsdDsKK30KKworLyoKKyAqIFRoaXMgaXMgdGhlIG1haW4gYWNjZXNzIGVudHJ5IGZvciBpMmMtc2NoIGFjY2VzcworICogYWRhcCBpcyBpMmNfYWRhcHRlciBwb2ludGVyLCBhZGRyIGlzIHRoZSBpMmMgZGV2aWNlIGJ1cyBhZGRyZXNzLCByZWFkX3dyaXRlCisgKiAoMCBmb3IgcmVhZCBhbmQgMSBmb3Igd3JpdGUpLCBzaXplIGlzIGkyYyB0cmFuc2FjdGlvbiB0eXBlIGFuZCBkYXRhIGlzIHRoZQorICogdW5pb24gb2YgdHJhbnNhY3Rpb24gZm9yIGRhdGEgdG8gYmUgdHJhbnNmZXJlZCBvciBkYXRhIHJlYWQgZnJvbSBidXMuCisgKiByZXR1cm4gMCBmb3Igc3VjY2VzcyBhbmQgb3RoZXJzIGZvciBmYWlsdXJlLgorICovCitzdGF0aWMgczMyIHNjaF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJIHVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCisJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCit7CisJaW50IGksIGxlbiwgdGVtcCwgcmM7CisKKwkvKiBNYWtlIHN1cmUgdGhlIFNNQnVzIGhvc3QgaXMgbm90IGJ1c3kgKi8KKwl0ZW1wID0gaW5iKFNNQkhTVFNUUykgJiAweDBmOworCWlmICh0ZW1wICYgMHgwOCkgeworCQlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJTTUJ1cyBidXN5ICglMDJ4KVxuIiwgdGVtcCk7CisJCXJldHVybiAtRUFHQUlOOworCX0KKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJhY2Nlc3Mgc2l6ZTogJWQgJXNcbiIsIHNpemUsCisJCShyZWFkX3dyaXRlKT8iUkVBRCI6IldSSVRFIik7CisJc3dpdGNoIChzaXplKSB7CisJY2FzZSBJMkNfU01CVVNfUVVJQ0s6CisJCW91dGIoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLCBTTUJIU1RBREQpOworCQlzaXplID0gU0NIX1FVSUNLOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19CWVRFOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQorCQkJb3V0Yihjb21tYW5kLCBTTUJIU1RDTUQpOworCQlzaXplID0gU0NIX0JZVEU7CisJCWJyZWFrOworCWNhc2UgSTJDX1NNQlVTX0JZVEVfREFUQToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQorCQkJb3V0YihkYXRhLT5ieXRlLCBTTUJIU1REQVQwKTsKKwkJc2l6ZSA9IFNDSF9CWVRFX0RBVEE7CisJCWJyZWFrOworCWNhc2UgSTJDX1NNQlVTX1dPUkRfREFUQToKKwkJb3V0YigoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsIFNNQkhTVEFERCk7CisJCW91dGIoY29tbWFuZCwgU01CSFNUQ01EKTsKKwkJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB7CisJCQlvdXRiKGRhdGEtPndvcmQgJiAweGZmLCBTTUJIU1REQVQwKTsKKwkJCW91dGIoKGRhdGEtPndvcmQgJiAweGZmMDApID4+IDgsIFNNQkhTVERBVDEpOworCQl9CisJCXNpemUgPSBTQ0hfV09SRF9EQVRBOworCQlicmVhazsKKwljYXNlIEkyQ19TTUJVU19CTE9DS19EQVRBOgorCQlvdXRiKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKKwkJb3V0Yihjb21tYW5kLCBTTUJIU1RDTUQpOworCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKKwkJCWxlbiA9IGRhdGEtPmJsb2NrWzBdOworCQkJaWYgKGxlbiA9PSAwIHx8IGxlbiA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQlvdXRiKGxlbiwgU01CSFNUREFUMCk7CisJCQlmb3IgKGkgPSAxOyBpIDw9IGxlbjsgaSsrKQorCQkJCW91dGIoZGF0YS0+YmxvY2tbaV0sIFNNQkJMS0RBVCtpLTEpOworCQl9CisJCXNpemUgPSBTQ0hfQkxPQ0tfREFUQTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCX0KKwlkZXZfZGJnKCZzY2hfYWRhcHRlci5kZXYsICJ3cml0ZSBzaXplICVkIHRvIDB4JTA0eFxuIiwgc2l6ZSwgU01CSFNUQ05UKTsKKwlvdXRiKChpbmIoU01CSFNUQ05UKSAmIDB4YjApIHwgKHNpemUgJiAweDcpLCBTTUJIU1RDTlQpOworCisJcmMgPSBzY2hfdHJhbnNhY3Rpb24oKTsKKwlpZiAocmMpCS8qIEVycm9yIGluIHRyYW5zYWN0aW9uICovCisJCXJldHVybiByYzsKKworCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNDSF9RVUlDSykpCisJCXJldHVybiAwOworCisJc3dpdGNoIChzaXplKSB7CisJY2FzZSBTQ0hfQllURToKKwljYXNlIFNDSF9CWVRFX0RBVEE6CisJCWRhdGEtPmJ5dGUgPSBpbmIoU01CSFNUREFUMCk7CisJCWJyZWFrOworCWNhc2UgU0NIX1dPUkRfREFUQToKKwkJZGF0YS0+d29yZCA9IGluYihTTUJIU1REQVQwKSArIChpbmIoU01CSFNUREFUMSkgPDwgOCk7CisJCWJyZWFrOworCWNhc2UgU0NIX0JMT0NLX0RBVEE6CisJCWRhdGEtPmJsb2NrWzBdID0gaW5iKFNNQkhTVERBVDApOworCQlpZiAoZGF0YS0+YmxvY2tbMF0gPT0gMCB8fCBkYXRhLT5ibG9ja1swXSA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQlyZXR1cm4gLUVQUk9UTzsKKwkJZm9yIChpID0gMTsgaSA8PSBkYXRhLT5ibG9ja1swXTsgaSsrKQorCQkJZGF0YS0+YmxvY2tbaV0gPSBpbmIoU01CQkxLREFUK2ktMSk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHUzMiBzY2hfZnVuYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpCit7CisJcmV0dXJuIEkyQ19GVU5DX1NNQlVTX1FVSUNLIHwgSTJDX0ZVTkNfU01CVVNfQllURSB8CisJICAgIEkyQ19GVU5DX1NNQlVTX0JZVEVfREFUQSB8IEkyQ19GVU5DX1NNQlVTX1dPUkRfREFUQSB8CisJICAgIEkyQ19GVU5DX1NNQlVTX0JMT0NLX0RBVEE7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2FsZ29yaXRobSBzbWJ1c19hbGdvcml0aG0gPSB7CisJLnNtYnVzX3hmZXIJPSBzY2hfYWNjZXNzLAorCS5mdW5jdGlvbmFsaXR5CT0gc2NoX2Z1bmMsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNjaF9hZGFwdGVyID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKKwkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAorfTsKKworc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHNjaF9pZHNbXSA9IHsKKwl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgUENJX0RFVklDRV9JRF9JTlRFTF9TQ0hfTFBDKSB9LAorCXsgMCwgfQorfTsKKworTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHNjaF9pZHMpOworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzY2hfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwKKwkJCQljb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCit7CisJaW50IHJldHZhbDsKKwl1bnNpZ25lZCBpbnQgc21iYTsKKworCXBjaV9yZWFkX2NvbmZpZ19kd29yZChkZXYsIFNNQkJBX1NDSCwgJnNtYmEpOworCWlmICghKHNtYmEgJiAoMSA8PCAzMSkpKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiU01CdXMgSS9PIHNwYWNlIGRpc2FibGVkIVxuIik7CisJCXJldHVybiAtRU5PREVWOworCX0KKworCXNjaF9zbWJhID0gKHVuc2lnbmVkIHNob3J0KXNtYmE7CisJaWYgKHNjaF9zbWJhID09IDApIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICJTTUJ1cyBiYXNlIGFkZHJlc3MgdW5pbml0aWFsaXplZCFcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUsIHNjaF9kcml2ZXIubmFtZSkpCisJCXJldHVybiAtRUJVU1k7CisJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzY2hfc21iYSwgU01CSU9TSVpFLCBzY2hfZHJpdmVyLm5hbWUpKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiU01CdXMgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAorCQkJc2NoX3NtYmEpOworCQlyZXR1cm4gLUVCVVNZOworCX0KKwlkZXZfZGJnKCZkZXYtPmRldiwgIlNNQkEgPSAweCVYXG4iLCBzY2hfc21iYSk7CisKKwkvKiBzZXQgdXAgdGhlIHN5c2ZzIGxpbmthZ2UgdG8gb3VyIHBhcmVudCBkZXZpY2UgKi8KKwlzY2hfYWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OworCisJc25wcmludGYoc2NoX2FkYXB0ZXIubmFtZSwgc2l6ZW9mKHNjaF9hZGFwdGVyLm5hbWUpLAorCQkiU01CdXMgU0NIIGFkYXB0ZXIgYXQgJTA0eCIsIHNjaF9zbWJhKTsKKworCXJldHZhbCA9IGkyY19hZGRfYWRhcHRlcigmc2NoX2FkYXB0ZXIpOworCWlmIChyZXR2YWwpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICJDb3VsZG4ndCByZWdpc3RlciBhZGFwdGVyIVxuIik7CisJCXJlbGVhc2VfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUpOworCQlzY2hfc21iYSA9IDA7CisJfQorCisJcmV0dXJuIHJldHZhbDsKK30KKworc3RhdGljIHZvaWQgX19kZXZleGl0IHNjaF9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwlpZiAoc2NoX3NtYmEpIHsKKwkJaTJjX2RlbF9hZGFwdGVyKCZzY2hfYWRhcHRlcik7CisJCXJlbGVhc2VfcmVnaW9uKHNjaF9zbWJhLCBTTUJJT1NJWkUpOworCQlzY2hfc21iYSA9IDA7CisJfQorfQorCitzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgc2NoX2RyaXZlciA9IHsKKwkubmFtZQkJPSAiaXNjaF9zbWJ1cyIsCisJLmlkX3RhYmxlCT0gc2NoX2lkcywKKwkucHJvYmUJCT0gc2NoX3Byb2JlLAorCS5yZW1vdmUJCT0gX19kZXZleGl0X3Aoc2NoX3JlbW92ZSksCit9OworCitzdGF0aWMgaW50IF9faW5pdCBpMmNfc2NoX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGNpX3JlZ2lzdGVyX2RyaXZlcigmc2NoX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBpMmNfc2NoX2V4aXQodm9pZCkKK3sKKwlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJnNjaF9kcml2ZXIpOworfQorCitNT0RVTEVfQVVUSE9SKCJKYWNvYiBQYW4gPGphY29iLmp1bi5wYW5AaW50ZWwuY29tPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJJbnRlbCBTQ0ggU01CdXMgZHJpdmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKK21vZHVsZV9pbml0KGkyY19zY2hfaW5pdCk7Cittb2R1bGVfZXhpdChpMmNfc2NoX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXBjLmMKaW5kZXggYTA3NjEyOS4uMTBiOTM0MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1tcGMuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW1wYy5jCkBAIC0zMTEsNyArMzExLDcgQEAKIAkubmFtZSA9ICJNUEMgYWRhcHRlciIsCiAJLmlkID0gSTJDX0hXX01QQzEwNywKIAkuYWxnbyA9ICZtcGNfYWxnbywKLQkuY2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkudGltZW91dCA9IDEsCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW12NjR4eHguYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jCmluZGV4IDAzNmU2YTguLjllODExOGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbXY2NHh4eC5jCkBAIC01MzAsNyArNTMwLDcgQEAKIAlkcnZfZGF0YS0+YWRhcHRlci5pZCA9IEkyQ19IV19NVjY0WFhYOwogCWRydl9kYXRhLT5hZGFwdGVyLmFsZ28gPSAmbXY2NHh4eF9pMmNfYWxnbzsKIAlkcnZfZGF0YS0+YWRhcHRlci5vd25lciA9IFRISVNfTU9EVUxFOwotCWRydl9kYXRhLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCWRydl9kYXRhLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlkcnZfZGF0YS0+YWRhcHRlci50aW1lb3V0ID0gcGRhdGEtPnRpbWVvdXQ7CiAJZHJ2X2RhdGEtPmFkYXB0ZXIubnIgPSBwZC0+aWQ7CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGQsIGRydl9kYXRhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi1zNDk4NS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLXM0OTg1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE4OTk1ZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi1zNDk4NS5jCkBAIC0wLDAgKzEsMjU3IEBACisvKgorICogaTJjLW5mb3JjZTItczQ5ODUuYyAtIGkyYy1uZm9yY2UyIGV4dHJhcyBmb3IgdGhlIFR5YW4gUzQ5ODUgbW90aGVyYm9hcmQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKi8KKworLyoKKyAqIFdlIHNlbGVjdCB0aGUgY2hhbm5lbHMgYnkgc2VuZGluZyBjb21tYW5kcyB0byB0aGUgUGhpbGlwcworICogUENBOTU1NiBjaGlwIGF0IEkyQyBhZGRyZXNzIDB4MTguIFRoZSBtYWluIGFkYXB0ZXIgaXMgdXNlZCBmb3IKKyAqIHRoZSBub24tbXVsdGlwbGV4ZWQgcGFydCBvZiB0aGUgYnVzLCBhbmQgNCB2aXJ0dWFsIGFkYXB0ZXJzCisgKiBhcmUgZGVmaW5lZCBmb3IgdGhlIG11bHRpcGxleGVkIGFkZHJlc3NlczogMHg1MC0weDUzIChtZW1vcnkKKyAqIG1vZHVsZSBFRVBST00pIGxvY2F0ZWQgb24gY2hhbm5lbHMgMS00LiBXZSBkZWZpbmUgb25lIHZpcnR1YWwKKyAqIGFkYXB0ZXIgcGVyIENQVSwgd2hpY2ggY29ycmVzcG9uZHMgdG8gb25lIG11bHRpcGxleGVkIGNoYW5uZWw6CisgKiAgIENQVTA6IHZpcnR1YWwgYWRhcHRlciAxLCBjaGFubmVsIDEKKyAqICAgQ1BVMTogdmlydHVhbCBhZGFwdGVyIDIsIGNoYW5uZWwgMgorICogICBDUFUyOiB2aXJ0dWFsIGFkYXB0ZXIgMywgY2hhbm5lbCAzCisgKiAgIENQVTM6IHZpcnR1YWwgYWRhcHRlciA0LCBjaGFubmVsIDQKKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorCitleHRlcm4gc3RydWN0IGkyY19hZGFwdGVyICpuZm9yY2UyX3NtYnVzOworCitzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyICpzNDk4NV9hZGFwdGVyOworc3RhdGljIHN0cnVjdCBpMmNfYWxnb3JpdGhtICpzNDk4NV9hbGdvOworCisvKiBXcmFwcGVyIGFjY2VzcyBmdW5jdGlvbnMgZm9yIG11bHRpcGxleGVkIFNNQnVzICovCitzdGF0aWMgREVGSU5FX01VVEVYKG5mb3JjZTJfbG9jayk7CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDAoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCWludCBlcnJvcjsKKworCS8qIFdlIGV4Y2x1ZGUgdGhlIG11bHRpcGxleGVkIGFkZHJlc3NlcyAqLworCWlmICgoYWRkciAmIDB4ZmMpID09IDB4NTAgfHwgKGFkZHIgJiAweGZjKSA9PSAweDMwCisJIHx8IGFkZHIgPT0gMHgxOCkKKwkJcmV0dXJuIC1FTlhJTzsKKworCW11dGV4X2xvY2soJm5mb3JjZTJfbG9jayk7CisJZXJyb3IgPSBuZm9yY2UyX3NtYnVzLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXAsIGFkZHIsIGZsYWdzLCByZWFkX3dyaXRlLAorCQkJCQkJY29tbWFuZCwgc2l6ZSwgZGF0YSk7CisJbXV0ZXhfdW5sb2NrKCZuZm9yY2UyX2xvY2spOworCisJcmV0dXJuIGVycm9yOworfQorCisvKiBXZSByZW1lbWJlciB0aGUgbGFzdCB1c2VkIGNoYW5uZWxzIGNvbWJpbmF0aW9uIHNvIGFzIHRvIG9ubHkgc3dpdGNoCisgICBjaGFubmVscyB3aGVuIGl0IGlzIHJlYWxseSBuZWVkZWQuIFRoaXMgZ3JlYXRseSByZWR1Y2VzIHRoZSBTTUJ1cworICAgb3ZlcmhlYWQsIGJ1dCBhbHNvIGFzc3VtZXMgdGhhdCBub2JvZHkgd2lsbCBiZSB3cml0aW5nIHRvIHRoZSBQQ0E5NTU2CisgICBpbiBvdXIgYmFjay4gKi8KK3N0YXRpYyB1OCBsYXN0X2NoYW5uZWxzOworCitzdGF0aWMgaW5saW5lIHMzMiBuZm9yY2UyX2FjY2Vzc19jaGFubmVsKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgdTE2IGFkZHIsCisJCQkJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCQkgdTggY29tbWFuZCwgaW50IHNpemUsCisJCQkJCSB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSwKKwkJCQkJIHU4IGNoYW5uZWxzKQoreworCWludCBlcnJvcjsKKworCS8qIFdlIGV4Y2x1ZGUgdGhlIG5vbi1tdWx0aXBsZXhlZCBhZGRyZXNzZXMgKi8KKwlpZiAoKGFkZHIgJiAweGZjKSAhPSAweDUwICYmIChhZGRyICYgMHhmYykgIT0gMHgzMCkKKwkJcmV0dXJuIC1FTlhJTzsKKworCW11dGV4X2xvY2soJm5mb3JjZTJfbG9jayk7CisJaWYgKGxhc3RfY2hhbm5lbHMgIT0gY2hhbm5lbHMpIHsKKwkJdW5pb24gaTJjX3NtYnVzX2RhdGEgbXBseGRhdGE7CisJCW1wbHhkYXRhLmJ5dGUgPSBjaGFubmVsczsKKworCQllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIoYWRhcCwgMHgxOCwgMCwKKwkJCQkJCQlJMkNfU01CVVNfV1JJVEUsIDB4MDEsCisJCQkJCQkJSTJDX1NNQlVTX0JZVEVfREFUQSwKKwkJCQkJCQkmbXBseGRhdGEpOworCQlpZiAoZXJyb3IpCisJCQlnb3RvIFVOTE9DSzsKKwkJbGFzdF9jaGFubmVscyA9IGNoYW5uZWxzOworCX0KKwllcnJvciA9IG5mb3JjZTJfc21idXMtPmFsZ28tPnNtYnVzX3hmZXIoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsCisJCQkJCQljb21tYW5kLCBzaXplLCBkYXRhKTsKKworVU5MT0NLOgorCW11dGV4X3VubG9jaygmbmZvcmNlMl9sb2NrKTsKKwlyZXR1cm4gZXJyb3I7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDEoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTA6IGNoYW5uZWwgMSBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgwMik7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTE6IGNoYW5uZWwgMiBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgwNCk7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDMoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTI6IGNoYW5uZWwgMyBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgwOCk7Cit9CisKK3N0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3NfdmlydDQoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKKwkJCQl1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAorCQkJCXU4IGNvbW1hbmQsIGludCBzaXplLAorCQkJCXVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQoreworCS8qIENQVTM6IGNoYW5uZWwgNCBlbmFibGVkICovCisJcmV0dXJuIG5mb3JjZTJfYWNjZXNzX2NoYW5uZWwoYWRhcCwgYWRkciwgZmxhZ3MsIHJlYWRfd3JpdGUsIGNvbW1hbmQsCisJCQkJICAgICAgc2l6ZSwgZGF0YSwgMHgxMCk7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IG5mb3JjZTJfczQ5ODVfaW5pdCh2b2lkKQoreworCWludCBpLCBlcnJvcjsKKwl1bmlvbiBpMmNfc21idXNfZGF0YSBpb2NvbmZpZzsKKworCS8qIFVucmVnaXN0ZXIgcGh5c2ljYWwgYnVzICovCisJaWYgKCFuZm9yY2UyX3NtYnVzKQorCQlyZXR1cm4gLUVOT0RFVjsKKwllcnJvciA9IGkyY19kZWxfYWRhcHRlcihuZm9yY2UyX3NtYnVzKTsKKwlpZiAoZXJyb3IpIHsKKwkJZGV2X2VycigmbmZvcmNlMl9zbWJ1cy0+ZGV2LCAiUGh5c2ljYWwgYnVzIHJlbW92YWwgZmFpbGVkXG4iKTsKKwkJZ290byBFUlJPUjA7CisJfQorCisJcHJpbnRrKEtFUk5fSU5GTyAiRW5hYmxpbmcgU01CdXMgbXVsdGlwbGV4aW5nIGZvciBUeWFuIFM0OTg1XG4iKTsKKwkvKiBEZWZpbmUgdGhlIDUgdmlydHVhbCBhZGFwdGVycyBhbmQgYWxnb3JpdGhtcyBzdHJ1Y3R1cmVzICovCisJczQ5ODVfYWRhcHRlciA9IGt6YWxsb2MoNSAqIHNpemVvZihzdHJ1Y3QgaTJjX2FkYXB0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXM0OTg1X2FkYXB0ZXIpIHsKKwkJZXJyb3IgPSAtRU5PTUVNOworCQlnb3RvIEVSUk9SMTsKKwl9CisJczQ5ODVfYWxnbyA9IGt6YWxsb2MoNSAqIHNpemVvZihzdHJ1Y3QgaTJjX2FsZ29yaXRobSksIEdGUF9LRVJORUwpOworCWlmICghczQ5ODVfYWxnbykgeworCQllcnJvciA9IC1FTk9NRU07CisJCWdvdG8gRVJST1IyOworCX0KKworCS8qIEZpbGwgaW4gdGhlIG5ldyBzdHJ1Y3R1cmVzICovCisJczQ5ODVfYWxnb1swXSA9ICoobmZvcmNlMl9zbWJ1cy0+YWxnbyk7CisJczQ5ODVfYWxnb1swXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDA7CisJczQ5ODVfYWRhcHRlclswXSA9ICpuZm9yY2UyX3NtYnVzOworCXM0OTg1X2FkYXB0ZXJbMF0uYWxnbyA9IHM0OTg1X2FsZ287CisJczQ5ODVfYWRhcHRlclswXS5kZXYucGFyZW50ID0gbmZvcmNlMl9zbWJ1cy0+ZGV2LnBhcmVudDsKKwlmb3IgKGkgPSAxOyBpIDwgNTsgaSsrKSB7CisJCXM0OTg1X2FsZ29baV0gPSAqKG5mb3JjZTJfc21idXMtPmFsZ28pOworCQlzNDk4NV9hZGFwdGVyW2ldID0gKm5mb3JjZTJfc21idXM7CisJCXNucHJpbnRmKHM0OTg1X2FkYXB0ZXJbaV0ubmFtZSwgc2l6ZW9mKHM0OTg1X2FkYXB0ZXJbaV0ubmFtZSksCisJCQkgIlNNQnVzIG5Gb3JjZTIgYWRhcHRlciAoQ1BVJWQpIiwgaSAtIDEpOworCQlzNDk4NV9hZGFwdGVyW2ldLmFsZ28gPSBzNDk4NV9hbGdvICsgaTsKKwkJczQ5ODVfYWRhcHRlcltpXS5kZXYucGFyZW50ID0gbmZvcmNlMl9zbWJ1cy0+ZGV2LnBhcmVudDsKKwl9CisJczQ5ODVfYWxnb1sxXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDE7CisJczQ5ODVfYWxnb1syXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDI7CisJczQ5ODVfYWxnb1szXS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDM7CisJczQ5ODVfYWxnb1s0XS5zbWJ1c194ZmVyID0gbmZvcmNlMl9hY2Nlc3NfdmlydDQ7CisKKwkvKiBDb25maWd1cmUgdGhlIFBDQTk1NTYgbXVsdGlwbGV4ZXIgKi8KKwlpb2NvbmZpZy5ieXRlID0gMHgwMDsgLyogQWxsIEkvTyB0byBvdXRwdXQgbW9kZSAqLworCWVycm9yID0gbmZvcmNlMl9zbWJ1cy0+YWxnby0+c21idXNfeGZlcihuZm9yY2UyX3NtYnVzLCAweDE4LCAwLAorCQkJCQkJSTJDX1NNQlVTX1dSSVRFLCAweDAzLAorCQkJCQkJSTJDX1NNQlVTX0JZVEVfREFUQSwgJmlvY29uZmlnKTsKKwlpZiAoZXJyb3IpIHsKKwkJZGV2X2VycigmbmZvcmNlMl9zbWJ1cy0+ZGV2LCAiUENBOTU1NiBjb25maWd1cmF0aW9uIGZhaWxlZFxuIik7CisJCWVycm9yID0gLUVJTzsKKwkJZ290byBFUlJPUjM7CisJfQorCisJLyogUmVnaXN0ZXIgdmlydHVhbCBhZGFwdGVycyAqLworCWZvciAoaSA9IDA7IGkgPCA1OyBpKyspIHsKKwkJZXJyb3IgPSBpMmNfYWRkX2FkYXB0ZXIoczQ5ODVfYWRhcHRlciArIGkpOworCQlpZiAoZXJyb3IpIHsKKwkJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwKKwkJCQkiVmlydHVhbCBhZGFwdGVyICVkIHJlZ2lzdHJhdGlvbiAiCisJCQkJImZhaWxlZCwgbW9kdWxlIG5vdCBpbnNlcnRlZFxuIiwgaSk7CisJCQlmb3IgKGktLTsgaSA+PSAwOyBpLS0pCisJCQkJaTJjX2RlbF9hZGFwdGVyKHM0OTg1X2FkYXB0ZXIgKyBpKTsKKwkJCWdvdG8gRVJST1IzOworCQl9CisJfQorCisJcmV0dXJuIDA7CisKK0VSUk9SMzoKKwlrZnJlZShzNDk4NV9hbGdvKTsKKwlzNDk4NV9hbGdvID0gTlVMTDsKK0VSUk9SMjoKKwlrZnJlZShzNDk4NV9hZGFwdGVyKTsKKwlzNDk4NV9hZGFwdGVyID0gTlVMTDsKK0VSUk9SMToKKwkvKiBSZXN0b3JlIHBoeXNpY2FsIGJ1cyAqLworCWkyY19hZGRfYWRhcHRlcihuZm9yY2UyX3NtYnVzKTsKK0VSUk9SMDoKKwlyZXR1cm4gZXJyb3I7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBuZm9yY2UyX3M0OTg1X2V4aXQodm9pZCkKK3sKKwlpZiAoczQ5ODVfYWRhcHRlcikgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKQorCQkJaTJjX2RlbF9hZGFwdGVyKHM0OTg1X2FkYXB0ZXIraSk7CisJCWtmcmVlKHM0OTg1X2FkYXB0ZXIpOworCQlzNDk4NV9hZGFwdGVyID0gTlVMTDsKKwl9CisJa2ZyZWUoczQ5ODVfYWxnbyk7CisJczQ5ODVfYWxnbyA9IE5VTEw7CisKKwkvKiBSZXN0b3JlIHBoeXNpY2FsIGJ1cyAqLworCWlmIChpMmNfYWRkX2FkYXB0ZXIobmZvcmNlMl9zbWJ1cykpCisJCWRldl9lcnIoJm5mb3JjZTJfc21idXMtPmRldiwgIlBoeXNpY2FsIGJ1cyByZXN0b3JhdGlvbiAiCisJCQkiZmFpbGVkXG4iKTsKK30KKworTU9EVUxFX0FVVEhPUigiSmVhbiBEZWx2YXJlIDxraGFsaUBsaW51eC1mci5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlM0OTg1IFNNQnVzIG11bHRpcGxleGluZyIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworCittb2R1bGVfaW5pdChuZm9yY2UyX3M0OTg1X2luaXQpOworbW9kdWxlX2V4aXQobmZvcmNlMl9zNDk4NV9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtbmZvcmNlMi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMKaW5kZXggNDNjOWY4ZC4uM2IxOWJjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1uZm9yY2UyLmMKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2RtaS5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpAQCAtMTI0LDYgKzEyNSwyMCBAQAogCiBzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgbmZvcmNlMl9kcml2ZXI7CiAKKy8qIEZvciBtdWx0aXBsZXhpbmcgc3VwcG9ydCwgd2UgbmVlZCBhIGdsb2JhbCByZWZlcmVuY2UgdG8gdGhlIDFzdAorICAgU01CdXMgY2hhbm5lbCAqLworI2lmIGRlZmluZWQgQ09ORklHX0kyQ19ORk9SQ0UyX1M0OTg1IHx8IGRlZmluZWQgQ09ORklHX0kyQ19ORk9SQ0UyX1M0OTg1X01PRFVMRQorc3RydWN0IGkyY19hZGFwdGVyICpuZm9yY2UyX3NtYnVzOworRVhQT1JUX1NZTUJPTF9HUEwobmZvcmNlMl9zbWJ1cyk7CisKK3N0YXRpYyB2b2lkIG5mb3JjZTJfc2V0X3JlZmVyZW5jZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCit7CisJbmZvcmNlMl9zbWJ1cyA9IGFkYXA7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIG5mb3JjZTJfc2V0X3JlZmVyZW5jZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApIHsgfQorI2VuZGlmCisKIHN0YXRpYyB2b2lkIG5mb3JjZTJfYWJvcnQoc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQogewogCXN0cnVjdCBuZm9yY2UyX3NtYnVzICpzbWJ1cyA9IGFkYXAtPmFsZ29fZGF0YTsKQEAgLTE1OCwxNiArMTczLDE2IEBACiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlNNQnVzIFRpbWVvdXQhXG4iKTsKIAkJaWYgKHNtYnVzLT5jYW5fYWJvcnQpCiAJCQluZm9yY2UyX2Fib3J0KGFkYXApOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRVRJTUVET1VUOwogCX0KIAlpZiAoISh0ZW1wICYgTlZJRElBX1NNQl9TVFNfRE9ORSkgfHwgKHRlbXAgJiBOVklESUFfU01CX1NUU19TVEFUVVMpKSB7CiAJCWRldl9kYmcoJmFkYXAtPmRldiwgIlRyYW5zYWN0aW9uIGZhaWxlZCAoMHglMDJ4KSFcbiIsIHRlbXApOwotCQlyZXR1cm4gLTE7CisJCXJldHVybiAtRUlPOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IgKi8KIHN0YXRpYyBzMzIgbmZvcmNlMl9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCXVuc2lnbmVkIHNob3J0IGZsYWdzLCBjaGFyIHJlYWRfd3JpdGUsCiAJCXU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpCkBAIC0xNzUsNyArMTkwLDcgQEAKIAlzdHJ1Y3QgbmZvcmNlMl9zbWJ1cyAqc21idXMgPSBhZGFwLT5hbGdvX2RhdGE7CiAJdW5zaWduZWQgY2hhciBwcm90b2NvbCwgcGVjOwogCXU4IGxlbjsKLQlpbnQgaTsKKwlpbnQgaSwgc3RhdHVzOwogCiAJcHJvdG9jb2wgPSAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfUkVBRCkgPyBOVklESUFfU01CX1BSVENMX1JFQUQgOgogCQlOVklESUFfU01CX1BSVENMX1dSSVRFOwpAQCAtMjE5LDcgKzIzNCw3IEBACiAJCQkJCQkiVHJhbnNhY3Rpb24gZmFpbGVkICIKIAkJCQkJCSIocmVxdWVzdGVkIGJsb2NrIHNpemU6ICVkKVxuIiwKIAkJCQkJCWxlbik7Ci0JCQkJCXJldHVybiAtMTsKKwkJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQkJfQogCQkJCW91dGJfcChsZW4sIE5WSURJQV9TTUJfQkNOVCk7CiAJCQkJZm9yIChpID0gMDsgaSA8IEkyQ19TTUJVU19CTE9DS19NQVg7IGkrKykKQEAgLTIzMSwxNCArMjQ2LDE1IEBACiAKIAkJZGVmYXVsdDoKIAkJCWRldl9lcnIoJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlvdXRiX3AoKGFkZHIgJiAweDdmKSA8PCAxLCBOVklESUFfU01CX0FERFIpOwogCW91dGJfcChwcm90b2NvbCwgTlZJRElBX1NNQl9QUlRDTCk7CiAKLQlpZiAobmZvcmNlMl9jaGVja19zdGF0dXMoYWRhcCkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBuZm9yY2UyX2NoZWNrX3N0YXR1cyhhZGFwKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKQogCQlyZXR1cm4gMDsKQEAgLTI2MCw3ICsyNzYsNyBAQAogCQkJCWRldl9lcnIoJmFkYXAtPmRldiwgIlRyYW5zYWN0aW9uIGZhaWxlZCAiCiAJCQkJCSIocmVjZWl2ZWQgYmxvY2sgc2l6ZTogMHglMDJ4KVxuIiwKIAkJCQkJbGVuKTsKLQkJCQlyZXR1cm4gLTE7CisJCQkJcmV0dXJuIC1FUFJPVE87CiAJCQl9CiAJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCiAJCQkJZGF0YS0+YmxvY2tbaSsxXSA9IGluYl9wKE5WSURJQV9TTUJfREFUQSArIGkpOwpAQCAtMzIxLDIxICszMzcsMjYgQEAKIAkJICAgICE9IFBDSUJJT1NfU1VDQ0VTU0ZVTCkgewogCQkJZGV2X2VycigmZGV2LT5kZXYsICJFcnJvciByZWFkaW5nIFBDSSBjb25maWcgZm9yICVzXG4iLAogCQkJCW5hbWUpOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FSU87CiAJCX0KIAogCQlzbWJ1cy0+YmFzZSA9IGlvYmFzZSAmIFBDSV9CQVNFX0FERFJFU1NfSU9fTUFTSzsKIAkJc21idXMtPnNpemUgPSA2NDsKIAl9CiAKKwllcnJvciA9IGFjcGlfY2hlY2tfcmVnaW9uKHNtYnVzLT5iYXNlLCBzbWJ1cy0+c2l6ZSwKKwkJCQkgIG5mb3JjZTJfZHJpdmVyLm5hbWUpOworCWlmIChlcnJvcikKKwkJcmV0dXJuIC0xOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihzbWJ1cy0+YmFzZSwgc21idXMtPnNpemUsIG5mb3JjZTJfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJnNtYnVzLT5hZGFwdGVyLmRldiwgIkVycm9yIHJlcXVlc3RpbmcgcmVnaW9uICUwMnggLi4gJTAyWCBmb3IgJXNcbiIsCiAJCQlzbWJ1cy0+YmFzZSwgc21idXMtPmJhc2Urc21idXMtPnNpemUtMSwgbmFtZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FQlVTWTsKIAl9CiAJc21idXMtPmFkYXB0ZXIub3duZXIgPSBUSElTX01PRFVMRTsKIAlzbWJ1cy0+YWRhcHRlci5pZCA9IEkyQ19IV19TTUJVU19ORk9SQ0UyOwotCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvID0gJnNtYnVzX2FsZ29yaXRobTsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEgPSBzbWJ1czsKIAlzbWJ1cy0+YWRhcHRlci5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwpAQCAtMzQ2LDcgKzM2Nyw3IEBACiAJaWYgKGVycm9yKSB7CiAJCWRldl9lcnIoJnNtYnVzLT5hZGFwdGVyLmRldiwgIkZhaWxlZCB0byByZWdpc3RlciBhZGFwdGVyLlxuIik7CiAJCXJlbGVhc2VfcmVnaW9uKHNtYnVzLT5iYXNlLCBzbWJ1cy0+c2l6ZSk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIGVycm9yOwogCX0KIAlkZXZfaW5mbygmc21idXMtPmFkYXB0ZXIuZGV2LCAibkZvcmNlMiBTTUJ1cyBhZGFwdGVyIGF0ICUjeFxuIiwgc21idXMtPmJhc2UpOwogCXJldHVybiAwOwpAQCAtMzk4LDYgKzQxOSw3IEBACiAJCXJldHVybiAtRU5PREVWOwogCX0KIAorCW5mb3JjZTJfc2V0X3JlZmVyZW5jZSgmc21idXNlc1swXS5hZGFwdGVyKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDA2LDYgKzQyOCw3IEBACiB7CiAJc3RydWN0IG5mb3JjZTJfc21idXMgKnNtYnVzZXMgPSAodm9pZCopIHBjaV9nZXRfZHJ2ZGF0YShkZXYpOwogCisJbmZvcmNlMl9zZXRfcmVmZXJlbmNlKE5VTEwpOwogCWlmIChzbWJ1c2VzWzBdLmJhc2UpIHsKIAkJaTJjX2RlbF9hZGFwdGVyKCZzbWJ1c2VzWzBdLmFkYXB0ZXIpOwogCQlyZWxlYXNlX3JlZ2lvbihzbWJ1c2VzWzBdLmJhc2UsIHNtYnVzZXNbMF0uc2l6ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1vY29yZXMuYwppbmRleCBmMTQ1NjkyLi5lNTE5M2JmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLW9jb3Jlcy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtb2NvcmVzLmMKQEAgLTI5LDYgKzI5LDcgQEAKIAlpbnQgcG9zOwogCWludCBubXNnczsKIAlpbnQgc3RhdGU7IC8qIHNlZSBTVEFURV8gKi8KKwlpbnQgY2xvY2tfa2h6OwogfTsKIAogLyogcmVnaXN0ZXJzICovCkBAIC0xNzMsOCArMTc0LDcgQEAKIAkJcmV0dXJuIC1FVElNRURPVVQ7CiB9CiAKLXN0YXRpYyB2b2lkIG9jb3Jlc19pbml0KHN0cnVjdCBvY29yZXNfaTJjICppMmMsCi0JCQlzdHJ1Y3Qgb2NvcmVzX2kyY19wbGF0Zm9ybV9kYXRhICpwZGF0YSkKK3N0YXRpYyB2b2lkIG9jb3Jlc19pbml0KHN0cnVjdCBvY29yZXNfaTJjICppMmMpCiB7CiAJaW50IHByZXNjYWxlOwogCXU4IGN0cmwgPSBvY19nZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MKTsKQEAgLTE4Miw3ICsxODIsNyBAQAogCS8qIG1ha2Ugc3VyZSB0aGUgZGV2aWNlIGlzIGRpc2FibGVkICovCiAJb2Nfc2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCwgY3RybCAmIH4oT0NJMkNfQ1RSTF9FTnxPQ0kyQ19DVFJMX0lFTikpOwogCi0JcHJlc2NhbGUgPSAocGRhdGEtPmNsb2NrX2toeiAvICg1KjEwMCkpIC0gMTsKKwlwcmVzY2FsZSA9IChpMmMtPmNsb2NrX2toeiAvICg1KjEwMCkpIC0gMTsKIAlvY19zZXRyZWcoaTJjLCBPQ0kyQ19QUkVMT1csIHByZXNjYWxlICYgMHhmZik7CiAJb2Nfc2V0cmVnKGkyYywgT0NJMkNfUFJFSElHSCwgcHJlc2NhbGUgPj4gOCk7CiAKQEAgLTIwNSw3ICsyMDUsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBvY29yZXNfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLm5hbWUJCT0gImkyYy1vY29yZXMiLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJm9jb3Jlc19hbGdvcml0aG0sCiB9OwogCkBAIC0yNDgsNyArMjQ4LDggQEAKIAl9CiAKIAlpMmMtPnJlZ3N0ZXAgPSBwZGF0YS0+cmVnc3RlcDsKLQlvY29yZXNfaW5pdChpMmMsIHBkYXRhKTsKKwlpMmMtPmNsb2NrX2toeiA9IHBkYXRhLT5jbG9ja19raHo7CisJb2NvcmVzX2luaXQoaTJjKTsKIAogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmkyYy0+d2FpdCk7CiAJcmV0ID0gcmVxdWVzdF9pcnEocmVzMi0+c3RhcnQsIG9jb3Jlc19pc3IsIDAsIHBkZXYtPm5hbWUsIGkyYyk7CkBAIC0zMTIsMTMgKzMxMyw0MCBAQAogCXJldHVybiAwOwogfQogCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IG9jb3Jlc19pMmNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IG9jb3Jlc19pMmMgKmkyYyA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXU4IGN0cmwgPSBvY19nZXRyZWcoaTJjLCBPQ0kyQ19DT05UUk9MKTsKKworCS8qIG1ha2Ugc3VyZSB0aGUgZGV2aWNlIGlzIGRpc2FibGVkICovCisJb2Nfc2V0cmVnKGkyYywgT0NJMkNfQ09OVFJPTCwgY3RybCAmIH4oT0NJMkNfQ1RSTF9FTnxPQ0kyQ19DVFJMX0lFTikpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgb2NvcmVzX2kyY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgb2NvcmVzX2kyYyAqaTJjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlvY29yZXNfaW5pdChpMmMpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBvY29yZXNfaTJjX3N1c3BlbmQJTlVMTAorI2RlZmluZSBvY29yZXNfaTJjX3Jlc3VtZQlOVUxMCisjZW5kaWYKKwogLyogd29yayB3aXRoIGhvdHBsdWcgYW5kIGNvbGRwbHVnICovCiBNT0RVTEVfQUxJQVMoInBsYXRmb3JtOm9jb3Jlcy1pMmMiKTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgb2NvcmVzX2kyY19kcml2ZXIgPSB7Ci0JLnByb2JlICA9IG9jb3Jlc19pMmNfcHJvYmUsCi0JLnJlbW92ZSA9IF9fZGV2ZXhpdF9wKG9jb3Jlc19pMmNfcmVtb3ZlKSwKLQkuZHJpdmVyID0geworCS5wcm9iZSAgID0gb2NvcmVzX2kyY19wcm9iZSwKKwkucmVtb3ZlICA9IF9fZGV2ZXhpdF9wKG9jb3Jlc19pMmNfcmVtb3ZlKSwKKwkuc3VzcGVuZCA9IG9jb3Jlc19pMmNfc3VzcGVuZCwKKwkucmVzdW1lICA9IG9jb3Jlc19pMmNfcmVzdW1lLAorCS5kcml2ZXIgID0gewogCQkub3duZXIgPSBUSElTX01PRFVMRSwKIAkJLm5hbWUgPSAib2NvcmVzLWkyYyIsCiAJfSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBhc2VtaS5jCmluZGV4IDE2MDNjODEuLmFkZjBmYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGFzZW1pLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wYXNlbWkuYwpAQCAtMzY1LDcgKzM2NSw3IEBACiAJc21idXMtPmFkYXB0ZXIub3duZXIgPSBUSElTX01PRFVMRTsKIAlzbnByaW50ZihzbWJ1cy0+YWRhcHRlci5uYW1lLCBzaXplb2Yoc21idXMtPmFkYXB0ZXIubmFtZSksCiAJCSAiUEEgU2VtaSBTTUJ1cyBhZGFwdGVyIGF0IDB4JWx4Iiwgc21idXMtPmJhc2UpOwotCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OOworCXNtYnVzLT5hZGFwdGVyLmNsYXNzID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRDsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvID0gJnNtYnVzX2FsZ29yaXRobTsKIAlzbWJ1cy0+YWRhcHRlci5hbGdvX2RhdGEgPSBzbWJ1czsKIAlzbWJ1cy0+YWRhcHRlci5uciA9IFBDSV9GVU5DKGRldi0+ZGV2Zm4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGNhLXBsYXRmb3JtLmMKaW5kZXggOWQ3NWY1MS4uNmJiMTVhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wY2EtcGxhdGZvcm0uYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBjYS1wbGF0Zm9ybS5jCkBAIC0xNjMsNyArMTYzLDcgQEAKIAogCWkyYy0+cmVnX2Jhc2UgPSBpb3JlbWFwKHJlcy0+c3RhcnQsIHJlc19sZW4ocmVzKSk7CiAJaWYgKCFpMmMtPnJlZ19iYXNlKSB7Ci0JCXJldCA9IC1FSU87CisJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gZV9yZW1hcDsKIAl9CiAJaTJjLT5pb19iYXNlID0gcmVzLT5zdGFydDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcGlpeDQuYwppbmRleCBhYzkxNjU5Li5lYWE5YjM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBpaXg0LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1waWl4NC5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBwaWl4NC5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCAtIDIwMDIgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CiAKQEAgLTM5LDE2ICszNywxMCBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWkuaD4KKyNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKIAotc3RydWN0IHNkIHsKLQljb25zdCB1bnNpZ25lZCBzaG9ydCBtZnI7Ci0JY29uc3QgdW5zaWduZWQgc2hvcnQgZGV2OwotCWNvbnN0IHVuc2lnbmVkIGNoYXIgZm47Ci0JY29uc3QgY2hhciAqbmFtZTsKLX07Ci0KIC8qIFBJSVg0IFNNQnVzIGFkZHJlc3Mgb2Zmc2V0cyAqLwogI2RlZmluZSBTTUJIU1RTVFMJKDAgKyBwaWl4NF9zbWJhKQogI2RlZmluZSBTTUJIU0xWU1RTCSgxICsgcGlpeDRfc21iYSkKQEAgLTEwMSw4ICs5Myw2IEBACiAJCSAiRm9yY2libHkgZW5hYmxlIHRoZSBQSUlYNCBhdCB0aGUgZ2l2ZW4gYWRkcmVzcy4gIgogCQkgIkVYVFJFTUVMWSBEQU5HRVJPVVMhIik7CiAKLXN0YXRpYyBpbnQgcGlpeDRfdHJhbnNhY3Rpb24odm9pZCk7Ci0KIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBwaWl4NF9zbWJhOwogc3RhdGljIGludCBzcnZyd29ya3NfY3NiNV9kZWxheTsKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBwaWl4NF9kcml2ZXI7CkBAIC0xNDEsOCArMTMxLDYgQEAKIHsKIAl1bnNpZ25lZCBjaGFyIHRlbXA7CiAKLQlkZXZfaW5mbygmUElJWDRfZGV2LT5kZXYsICJGb3VuZCAlcyBkZXZpY2VcbiIsIHBjaV9uYW1lKFBJSVg0X2RldikpOwotCiAJaWYgKChQSUlYNF9kZXYtPnZlbmRvciA9PSBQQ0lfVkVORE9SX0lEX1NFUlZFUldPUktTKSAmJgogCSAgICAoUElJWDRfZGV2LT5kZXZpY2UgPT0gUENJX0RFVklDRV9JRF9TRVJWRVJXT1JLU19DU0I1KSkKIAkJc3J2cndvcmtzX2NzYjVfZGVsYXkgPSAxOwpAQCAtMTcyLDE3ICsxNjAsMjAgQEAKIAkJcGNpX3JlYWRfY29uZmlnX3dvcmQoUElJWDRfZGV2LCBTTUJCQSwgJnBpaXg0X3NtYmEpOwogCQlwaWl4NF9zbWJhICY9IDB4ZmZmMDsKIAkJaWYocGlpeDRfc21iYSA9PSAwKSB7Ci0JCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQiBiYXNlIGFkZHJlc3MgIgorCQkJZGV2X2VycigmUElJWDRfZGV2LT5kZXYsICJTTUJ1cyBiYXNlIGFkZHJlc3MgIgogCQkJCSJ1bmluaXRpYWxpemVkIC0gdXBncmFkZSBCSU9TIG9yIHVzZSAiCiAJCQkJImZvcmNlX2FkZHI9MHhhZGRyXG4iKTsKIAkJCXJldHVybiAtRU5PREVWOwogCQl9CiAJfQogCisJaWYgKGFjcGlfY2hlY2tfcmVnaW9uKHBpaXg0X3NtYmEsIFNNQklPU0laRSwgcGlpeDRfZHJpdmVyLm5hbWUpKQorCQlyZXR1cm4gLUVCVVNZOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbihwaWl4NF9zbWJhLCBTTUJJT1NJWkUsIHBpaXg0X2RyaXZlci5uYW1lKSkgewotCQlkZXZfZXJyKCZQSUlYNF9kZXYtPmRldiwgIlNNQiByZWdpb24gMHgleCBhbHJlYWR5IGluIHVzZSFcbiIsCisJCWRldl9lcnIoJlBJSVg0X2Rldi0+ZGV2LCAiU01CdXMgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAogCQkJcGlpeDRfc21iYSk7Ci0JCXJldHVybiAtRU5PREVWOworCQlyZXR1cm4gLUVCVVNZOwogCX0KIAogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKFBJSVg0X2RldiwgU01CSFNUQ0ZHLCAmdGVtcCk7CkBAIC0yMjgsMTMgKzIxOSwxMyBAQAogCQkJIihvciBjb2RlIG91dCBvZiBkYXRlKSFcbiIpOwogCiAJcGNpX3JlYWRfY29uZmlnX2J5dGUoUElJWDRfZGV2LCBTTUJSRVYsICZ0ZW1wKTsKLQlkZXZfZGJnKCZQSUlYNF9kZXYtPmRldiwgIlNNQlJFViA9IDB4JVhcbiIsIHRlbXApOwotCWRldl9kYmcoJlBJSVg0X2Rldi0+ZGV2LCAiU01CQSA9IDB4JVhcbiIsIHBpaXg0X3NtYmEpOworCWRldl9pbmZvKCZQSUlYNF9kZXYtPmRldiwKKwkJICJTTUJ1cyBIb3N0IENvbnRyb2xsZXIgYXQgMHgleCwgcmV2aXNpb24gJWRcbiIsCisJCSBwaWl4NF9zbWJhLCB0ZW1wKTsKIAogCXJldHVybiAwOwogfQogCi0vKiBBbm90aGVyIGludGVybmFsbHkgdXNlZCBmdW5jdGlvbiAqLwogc3RhdGljIGludCBwaWl4NF90cmFuc2FjdGlvbih2b2lkKQogewogCWludCB0ZW1wOwpAQCAtMjUzLDcgKzI0NCw3IEBACiAJCW91dGJfcCh0ZW1wLCBTTUJIU1RTVFMpOwogCQlpZiAoKHRlbXAgPSBpbmJfcChTTUJIU1RTVFMpKSAhPSAweDAwKSB7CiAJCQlkZXZfZXJyKCZwaWl4NF9hZGFwdGVyLmRldiwgIkZhaWxlZCEgKCUwMngpXG4iLCB0ZW1wKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUJVU1k7CiAJCX0gZWxzZSB7CiAJCQlkZXZfZGJnKCZwaWl4NF9hZGFwdGVyLmRldiwgIlN1Y2Nlc3NmdWwhXG4iKTsKIAkJfQpAQCAtMjc1LDIzICsyNjYsMjMgQEAKIAkvKiBJZiB0aGUgU01CdXMgaXMgc3RpbGwgYnVzeSwgd2UgZ2l2ZSB1cCAqLwogCWlmICh0aW1lb3V0ID49IE1BWF9USU1FT1VUKSB7CiAJCWRldl9lcnIoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MTApIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJnBpaXg0X2FkYXB0ZXIuZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwogCX0KIAogCWlmICh0ZW1wICYgMHgwOCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2RiZygmcGlpeDRfYWRhcHRlci5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgIgogCQkJImxvY2tlZCB1bnRpbCBuZXh0IGhhcmQgcmVzZXQuIChzb3JyeSEpXG4iKTsKIAkJLyogQ2xvY2sgc3RvcHMgYW5kIHNsYXZlIGlzIHN0dWNrIGluIG1pZC10cmFuc21pc3Npb24gKi8KIAl9CiAKIAlpZiAodGVtcCAmIDB4MDQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FTlhJTzsKIAkJZGV2X2RiZygmcGlpeDRfYWRhcHRlci5kZXYsICJFcnJvcjogbm8gcmVzcG9uc2UhXG4iKTsKIAl9CiAKQEAgLTMwOSwzMSArMzAwLDI5IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBwaWl4NF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKIAlpbnQgaSwgbGVuOworCWludCBzdGF0dXM7CiAKIAlzd2l0Y2ggKHNpemUpIHsKLQljYXNlIEkyQ19TTUJVU19QUk9DX0NBTEw6Ci0JCWRldl9lcnIoJmFkYXAtPmRldiwgIkkyQ19TTUJVU19QUk9DX0NBTEwgbm90IHN1cHBvcnRlZCFcbiIpOwotCQlyZXR1cm4gLTE7CiAJY2FzZSBJMkNfU01CVVNfUVVJQ0s6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlzaXplID0gUElJWDRfUVVJQ0s7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX0JZVEU6Ci0JCW91dGJfcCgoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSksCisJCW91dGJfcCgoYWRkciA8PCAxKSB8IHJlYWRfd3JpdGUsCiAJCSAgICAgICBTTUJIU1RBREQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCiAJCQlvdXRiX3AoY29tbWFuZCwgU01CSFNUQ01EKTsKIAkJc2l6ZSA9IFBJSVg0X0JZVEU7CiAJCWJyZWFrOwogCWNhc2UgSTJDX1NNQlVTX0JZVEVfREFUQToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpCkBAIC0zNDEsNyArMzMwLDcgQEAKIAkJc2l6ZSA9IFBJSVg0X0JZVEVfREFUQTsKIAkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfV09SRF9EQVRBOgotCQlvdXRiX3AoKChhZGRyICYgMHg3ZikgPDwgMSkgfCAocmVhZF93cml0ZSAmIDB4MDEpLAorCQlvdXRiX3AoKGFkZHIgPDwgMSkgfCByZWFkX3dyaXRlLAogCQkgICAgICAgU01CSFNUQUREKTsKIAkJb3V0Yl9wKGNvbW1hbmQsIFNNQkhTVENNRCk7CiAJCWlmIChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgewpAQCAtMzUxLDE1ICszNDAsMTMgQEAKIAkJc2l6ZSA9IFBJSVg0X1dPUkRfREFUQTsKIAkJYnJlYWs7CiAJY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKLQkJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgKHJlYWRfd3JpdGUgJiAweDAxKSwKKwkJb3V0Yl9wKChhZGRyIDw8IDEpIHwgcmVhZF93cml0ZSwKIAkJICAgICAgIFNNQkhTVEFERCk7CiAJCW91dGJfcChjb21tYW5kLCBTTUJIU1RDTUQpOwogCQlpZiAocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHsKIAkJCWxlbiA9IGRhdGEtPmJsb2NrWzBdOwotCQkJaWYgKGxlbiA8IDApCi0JCQkJbGVuID0gMDsKLQkJCWlmIChsZW4gPiAzMikKLQkJCQlsZW4gPSAzMjsKKwkJCWlmIChsZW4gPT0gMCB8fCBsZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJCXJldHVybiAtRUlOVkFMOwogCQkJb3V0Yl9wKGxlbiwgU01CSFNUREFUMCk7CiAJCQlpID0gaW5iX3AoU01CSFNUQ05UKTsJLyogUmVzZXQgU01CQkxLREFUICovCiAJCQlmb3IgKGkgPSAxOyBpIDw9IGxlbjsgaSsrKQpAQCAtMzY3LDEyICszNTQsMTYgQEAKIAkJfQogCQlzaXplID0gUElJWDRfQkxPQ0tfREFUQTsKIAkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCW91dGJfcCgoc2l6ZSAmIDB4MUMpICsgKEVOQUJMRV9JTlQ5ICYgMSksIFNNQkhTVENOVCk7CiAKLQlpZiAocGlpeDRfdHJhbnNhY3Rpb24oKSkJLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHBpaXg0X3RyYW5zYWN0aW9uKCk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFBJSVg0X1FVSUNLKSkKIAkJcmV0dXJuIDA7CkBAIC0zODgsNiArMzc5LDggQEAKIAkJYnJlYWs7CiAJY2FzZSBQSUlYNF9CTE9DS19EQVRBOgogCQlkYXRhLT5ibG9ja1swXSA9IGluYl9wKFNNQkhTVERBVDApOworCQlpZiAoZGF0YS0+YmxvY2tbMF0gPT0gMCB8fCBkYXRhLT5ibG9ja1swXSA+IEkyQ19TTUJVU19CTE9DS19NQVgpCisJCQlyZXR1cm4gLUVQUk9UTzsKIAkJaSA9IGluYl9wKFNNQkhTVENOVCk7CS8qIFJlc2V0IFNNQkJMS0RBVCAqLwogCQlmb3IgKGkgPSAxOyBpIDw9IGRhdGEtPmJsb2NrWzBdOyBpKyspCiAJCQlkYXRhLT5ibG9ja1tpXSA9IGluYl9wKFNNQkJMS0RBVCk7CkBAIC00MTEsNyArNDA0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgcGlpeDRfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19QSUlYNCwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZzbWJ1c19hbGdvcml0aG0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wbWNtc3AuYwppbmRleCA2M2IzZTJjLi5kY2YyMDQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXBtY21zcC5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcG1jbXNwLmMKQEAgLTYyMiw3ICs2MjIsNyBAQAogCiBzdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHBtY21zcHR3aV9hZGFwdGVyID0gewogCS5vd25lcgkJPSBUSElTX01PRFVMRSwKLQkuY2xhc3MJCT0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCS5hbGdvCQk9ICZwbWNtc3B0d2lfYWxnbywKIAkubmFtZQkJPSBEUlZfTkFNRSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXByb3NhdmFnZS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdjMWYxZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXByb3NhdmFnZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMzI1ICswLDAgQEAKLS8qCi0gKiAgICBrZXJuZWwvYnVzc2VzL2kyYy1wcm9zYXZhZ2UuYwotICoKLSAqICAgIGkyYyBidXMgZHJpdmVyIGZvciBTMy9WSUEgODM2NS84Mzc1IGdyYXBoaWNzIHByb2Nlc3Nvci4KLSAqICAgIENvcHlyaWdodCAoYykgMjAwMyBIZW5rIFZlcmdvbmV0IDxoZW5rQGdvZC5keW5kbnMub3JnPgotICogICAgQmFzZWQgb24gY29kZSB3cml0dGVuIGJ5OgotICoJRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKLSAqCVBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCi0gKglSYWxwaCBNZXR6bGVyIDxyamttQHRocC51bmkta29lbG4uZGU+LCBhbmQKLSAqCU1hcmsgRC4gU3R1ZGViYWtlciA8bWRzeHl6MTIzQHlhaG9vLmNvbT4KLSAqCVNpbW9uIFZvZ2wKLSAqCWFuZCBvdGhlcnMKLSAqCi0gKiAgICBQbGVhc2UgcmVhZCB0aGUgbG1fc2Vuc29ycyBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxzIG9uIHVzZS4KLSAqCi0gKiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0gKiAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKi8KLS8qICAxOC0wNS0yMDAzIEhWRSAtIGNyZWF0ZWQKLSAqICAxNC0wNi0yMDAzIEhWRSAtIGFkYXB0ZWQgZm9yIGxtX3NlbnNvcnMyCi0gKiAgMTctMDYtMjAwMyBIVkUgLSBsaW51eCAyLjUueHggY29tcGF0aWJsZQotICogIDE4LTA2LTIwMDMgSFZFIC0gY29kaW5nc3R5bGUKLSAqICAyMS0wNi0yMDAzIEhWRSAtIGNvbXBhdGliaWxpdHkgbG1fc2Vuc29yczIgYW5kIGxpbnV4IDIuNS54eAotICoJCSAgICAgY29kaW5nc3R5bGUsIG1taW8gZW5hYmxlZAotICoKLSAqICBUaGlzIGRyaXZlciBpbnRlcmZhY2VzIHRvIHRoZSBJMkMgYnVzIG9mIHRoZSBWSUEgbm9ydGggYnJpZGdlIGVtYmVkZGVkCi0gKiAgUHJvU2F2YWdlNC84IGRldmljZXMuIFVzZWZ1bGwgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBUViBFbmNvZGVyIGNoaXBzLgotICoKLSAqICBHcmFwaGljcyBjb3JlczoKLSAqICAgUzMvVklBIEtNMjY2L1ZUODM3NSBha2EgUHJvU2F2YWdlOAotICogICBTMy9WSUEgS00xMzMvVlQ4MzY1IGFrYSBTYXZhZ2U0Ci0gKgotICogIFR3byBzZXJpYWwgYnVzc2VzIGFyZSBpbXBsZW1lbnRlZDoKLSAqICAgU0VSSUFMMSAtIEkyQyBzZXJpYWwgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlCi0gKiAgIFNFUklBTDIgLSBEREMyIG1vbml0b3IgY29tbXVuaWNhdGlvbnMgaW50ZXJmYWNlCi0gKgotICogIFRlc3RlZCBvbiBhIEZYNDEgbWFpbmJvYXJkLCBzZWUgaHR0cDovL3d3dy5zaHV0dGxlLmNvbQotICogCi0gKgotICogIFRPRE86Ci0gKiAgLSBpbnRlZ3JhdGlvbiB3aXRoIHByb3NhdmFnZSBmcmFtZWJ1ZmZlciBkZXZpY2UKLSAqICAgIChBZGRpdGlvbmFsIGRvY3VtZW50YXRpb24gbmVlZGVkIDooCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9wY2kuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMuaD4KLSNpbmNsdWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KLQotLyoKLSAqIGRyaXZlciBjb25maWd1cmF0aW9uCi0gKi8KLSNkZWZpbmUgTUFYX0JVU1NFUwkyCi0KLXN0cnVjdCBzX2kyY19idXMgewotCXZvaWQgX19pb21lbSAqbW12Z2E7Ci0JaW50CWkyY19yZWc7Ci0JaW50CWFkYXBfb2s7Ci0Jc3RydWN0IGkyY19hZGFwdGVyCQlhZGFwOwotCXN0cnVjdCBpMmNfYWxnb19iaXRfZGF0YQlhbGdvOwotfTsKLQotc3RydWN0IHNfaTJjX2NoaXAgewotCXZvaWQgX19pb21lbSAqbW1pbzsKLQlzdHJ1Y3Qgc19pMmNfYnVzCWkyY19idXNbTUFYX0JVU1NFU107Ci19OwotCi0KLS8qCi0gKiBpMmMgY29uZmlndXJhdGlvbgotICovCi0jZGVmaW5lIENZQ0xFX0RFTEFZCTEwCi0jZGVmaW5lIFRJTUVPVVQJCShIWiAvIDIpCi0KLQotLyogCi0gKiBTMy9WSUEgODM2NS84Mzc1IHJlZ2lzdGVycwotICovCi0jZGVmaW5lIFZHQV9DUl9JWAkweDNkNAotI2RlZmluZSBWR0FfQ1JfREFUQQkweDNkNQotCi0jZGVmaW5lIENSX1NFUklBTDEJMHhhMAkvKiBJMkMgc2VyaWFsIGNvbW11bmljYXRpb25zIGludGVyZmFjZSAqLwotI2RlZmluZSBNTV9TRVJJQUwxCTB4ZmYyMAotI2RlZmluZSBDUl9TRVJJQUwyCTB4YjEJLyogRERDMiBtb25pdG9yIGNvbW11bmljYXRpb25zIGludGVyZmFjZSAqLwotCi0vKiBiYXNlZCBvbiB2dDgzNjUgZG9jdW1lbnRhdGlvbiAqLwotI2RlZmluZSBJMkNfRU5BQgkweDEwCi0jZGVmaW5lIEkyQ19TQ0xfT1VUCTB4MDEKLSNkZWZpbmUgSTJDX1NEQV9PVVQJMHgwMgotI2RlZmluZSBJMkNfU0NMX0lOCTB4MDQKLSNkZWZpbmUgSTJDX1NEQV9JTgkweDA4Ci0KLSNkZWZpbmUgU0VUX0NSX0lYKHAsIHZhbCkJd3JpdGViKCh2YWwpLCAocCktPm1tdmdhICsgVkdBX0NSX0lYKQotI2RlZmluZSBTRVRfQ1JfREFUQShwLCB2YWwpCXdyaXRlYigodmFsKSwgKHApLT5tbXZnYSArIFZHQV9DUl9EQVRBKQotI2RlZmluZSBHRVRfQ1JfREFUQShwKQkJcmVhZGIoKHApLT5tbXZnYSArIFZHQV9DUl9EQVRBKQotCi0KLS8qCi0gKiBTZXJpYWwgYnVzIGxpbmUgaGFuZGxpbmcKLSAqCi0gKiBzZXJpYWwgY29tbXVuaWNhdGlvbnMgcmVnaXN0ZXIgYXMgcGFyYW1ldGVyIGluIHByaXZhdGUgZGF0YQotICoKLSAqIFRPRE86IGxvY2tzIHdpdGggb3RoZXIgY29kZSBzZWN0aW9ucyBhY2Nlc3NpbmcgdmlkZW8gcmVnaXN0ZXJzPwotICovCi1zdGF0aWMgdm9pZCBiaXRfczN2aWFfc2V0c2NsKHZvaWQgKmJ1cywgaW50IHZhbCkKLXsKLQlzdHJ1Y3Qgc19pMmNfYnVzICpwID0gKHN0cnVjdCBzX2kyY19idXMgKilidXM7Ci0JdW5zaWduZWQgaW50IHI7Ci0KLQlTRVRfQ1JfSVgocCwgcC0+aTJjX3JlZyk7Ci0JciA9IEdFVF9DUl9EQVRBKHApOwotCXIgfD0gSTJDX0VOQUI7Ci0JaWYgKHZhbCkgewotCQlyIHw9IEkyQ19TQ0xfT1VUOwotCX0gZWxzZSB7Ci0JCXIgJj0gfkkyQ19TQ0xfT1VUOwotCX0KLQlTRVRfQ1JfREFUQShwLCByKTsKLX0KLQotc3RhdGljIHZvaWQgYml0X3MzdmlhX3NldHNkYSh2b2lkICpidXMsIGludCB2YWwpCi17Ci0Jc3RydWN0IHNfaTJjX2J1cyAqcCA9IChzdHJ1Y3Qgc19pMmNfYnVzICopYnVzOwotCXVuc2lnbmVkIGludCByOwotCQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyID0gR0VUX0NSX0RBVEEocCk7Ci0JciB8PSBJMkNfRU5BQjsKLQlpZiAodmFsKSB7Ci0JCXIgfD0gSTJDX1NEQV9PVVQ7Ci0JfSBlbHNlIHsKLQkJciAmPSB+STJDX1NEQV9PVVQ7Ci0JfQotCVNFVF9DUl9EQVRBKHAsIHIpOwotfQotCi1zdGF0aWMgaW50IGJpdF9zM3ZpYV9nZXRzY2wodm9pZCAqYnVzKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyZXR1cm4gKDAgIT0gKEdFVF9DUl9EQVRBKHApICYgSTJDX1NDTF9JTikpOwotfQotCi1zdGF0aWMgaW50IGJpdF9zM3ZpYV9nZXRzZGEodm9pZCAqYnVzKQotewotCXN0cnVjdCBzX2kyY19idXMgKnAgPSAoc3RydWN0IHNfaTJjX2J1cyAqKWJ1czsKLQotCVNFVF9DUl9JWChwLCBwLT5pMmNfcmVnKTsKLQlyZXR1cm4gKDAgIT0gKEdFVF9DUl9EQVRBKHApICYgSTJDX1NEQV9JTikpOwotfQotCi0KLS8qCi0gKiBhZGFwdGVyIGluaXRpYWxpc2F0aW9uCi0gKi8KLXN0YXRpYyBpbnQgaTJjX3JlZ2lzdGVyX2J1cyhzdHJ1Y3QgcGNpX2RldiAqZGV2LCBzdHJ1Y3Qgc19pMmNfYnVzICpwLCB2b2lkIF9faW9tZW0gKm1tdmdhLCB1MzIgaTJjX3JlZykKLXsKLQlpbnQgcmV0OwotCXAtPmFkYXAub3duZXIJICA9IFRISVNfTU9EVUxFOwotCXAtPmFkYXAuaWQJICA9IEkyQ19IV19CX1MzVklBOwotCXAtPmFkYXAuYWxnb19kYXRhID0gJnAtPmFsZ287Ci0JcC0+YWRhcC5kZXYucGFyZW50ID0gJmRldi0+ZGV2OwotCXAtPmFsZ28uc2V0c2RhCSAgPSBiaXRfczN2aWFfc2V0c2RhOwotCXAtPmFsZ28uc2V0c2NsCSAgPSBiaXRfczN2aWFfc2V0c2NsOwotCXAtPmFsZ28uZ2V0c2RhCSAgPSBiaXRfczN2aWFfZ2V0c2RhOwotCXAtPmFsZ28uZ2V0c2NsCSAgPSBiaXRfczN2aWFfZ2V0c2NsOwotCXAtPmFsZ28udWRlbGF5CSAgPSBDWUNMRV9ERUxBWTsKLQlwLT5hbGdvLnRpbWVvdXQJICA9IFRJTUVPVVQ7Ci0JcC0+YWxnby5kYXRhCSAgPSBwOwotCXAtPm1tdmdhCSAgPSBtbXZnYTsKLQlwLT5pMmNfcmVnCSAgPSBpMmNfcmVnOwotICAgIAotCXJldCA9IGkyY19iaXRfYWRkX2J1cygmcC0+YWRhcCk7Ci0JaWYgKHJldCkgewotCQlyZXR1cm4gcmV0OwotCX0KLQotCXAtPmFkYXBfb2sgPSAxOwotCXJldHVybiAwOwotfQotCi0KLS8qCi0gKiBDbGVhbnVwIHN0dWZmCi0gKi8KLXN0YXRpYyB2b2lkIHByb3NhdmFnZV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQlzdHJ1Y3Qgc19pMmNfY2hpcCAqY2hpcDsKLQlpbnQgaSwgcmV0OwotCi0JY2hpcCA9IChzdHJ1Y3Qgc19pMmNfY2hpcCAqKXBjaV9nZXRfZHJ2ZGF0YShkZXYpOwotCi0JaWYgKCFjaGlwKSB7Ci0JCXJldHVybjsKLQl9Ci0JZm9yIChpID0gTUFYX0JVU1NFUyAtIDE7IGkgPj0gMDsgaS0tKSB7Ci0JCWlmIChjaGlwLT5pMmNfYnVzW2ldLmFkYXBfb2sgPT0gMCkKLQkJCWNvbnRpbnVlOwotCi0JCXJldCA9IGkyY19kZWxfYWRhcHRlcigmY2hpcC0+aTJjX2J1c1tpXS5hZGFwKTsKLQkgICAgICAgIGlmIChyZXQpIHsKLQkJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgbm90IHJlbW92ZWRcbiIsCi0JCQkJY2hpcC0+aTJjX2J1c1tpXS5hZGFwLm5hbWUpOwotCQl9Ci0JfQotCWlmIChjaGlwLT5tbWlvKSB7Ci0JCWlvdW5tYXAoY2hpcC0+bW1pbyk7Ci0JfQotCWtmcmVlKGNoaXApOwotfQotCi0KLS8qCi0gKiBEZXRlY3QgY2hpcCBhbmQgaW5pdGlhbGl6ZSBpdAotICovCi1zdGF0aWMgaW50IF9fZGV2aW5pdCBwcm9zYXZhZ2VfcHJvYmUoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmlkKQotewotCWludCByZXQ7Ci0JdW5zaWduZWQgbG9uZyBiYXNlLCBsZW47Ci0Jc3RydWN0IHNfaTJjX2NoaXAgKmNoaXA7Ci0Jc3RydWN0IHNfaTJjX2J1cyAgKmJ1czsKLQotCXBjaV9zZXRfZHJ2ZGF0YShkZXYsIGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzX2kyY19jaGlwKSwgR0ZQX0tFUk5FTCkpOwotCWNoaXAgPSAoc3RydWN0IHNfaTJjX2NoaXAgKilwY2lfZ2V0X2RydmRhdGEoZGV2KTsKLQlpZiAoY2hpcCA9PSBOVUxMKSB7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCWJhc2UgPSBkZXYtPnJlc291cmNlWzBdLnN0YXJ0ICYgUENJX0JBU0VfQUREUkVTU19NRU1fTUFTSzsKLQlsZW4gID0gZGV2LT5yZXNvdXJjZVswXS5lbmQgLSBiYXNlICsgMTsKLQljaGlwLT5tbWlvID0gaW9yZW1hcF9ub2NhY2hlKGJhc2UsIGxlbik7Ci0KLQlpZiAoY2hpcC0+bW1pbyA9PSBOVUxMKSB7Ci0JCWRldl9lcnIoJmRldi0+ZGV2LCAiaW9yZW1hcCBmYWlsZWRcbiIpOwotCQlwcm9zYXZhZ2VfcmVtb3ZlKGRldik7Ci0JCXJldHVybiAtRU5PREVWOwotCX0KLQotCi0JLyoKLQkgKiBDaGlwIGluaXRpYWxpc2F0aW9uCi0JICovCi0JLyogVW5sb2NrIEV4dGVuZGVkIElPIFNwYWNlID8/PyAqLwotCi0KLQkvKgotCSAqIGkyYyBidXMgcmVnaXN0cmF0aW9uCi0JICovCi0JYnVzID0gJmNoaXAtPmkyY19idXNbMF07Ci0Jc25wcmludGYoYnVzLT5hZGFwLm5hbWUsIHNpemVvZihidXMtPmFkYXAubmFtZSksCi0JCSJQcm9TYXZhZ2UgSTJDIGJ1cyBhdCAlMDJ4OiUwMnguJXgiLAotCQlkZXYtPmJ1cy0+bnVtYmVyLCBQQ0lfU0xPVChkZXYtPmRldmZuKSwgUENJX0ZVTkMoZGV2LT5kZXZmbikpOwotCXJldCA9IGkyY19yZWdpc3Rlcl9idXMoZGV2LCBidXMsIGNoaXAtPm1taW8gKyAweDgwMDAsIENSX1NFUklBTDEpOwotCWlmIChyZXQpIHsKLQkJZ290byBlcnJfYWRhcDsKLQl9Ci0JLyoKLQkgKiBkZGMgYnVzIHJlZ2lzdHJhdGlvbgotCSAqLwotCWJ1cyA9ICZjaGlwLT5pMmNfYnVzWzFdOwotCXNucHJpbnRmKGJ1cy0+YWRhcC5uYW1lLCBzaXplb2YoYnVzLT5hZGFwLm5hbWUpLAotCQkiUHJvU2F2YWdlIEREQyBidXMgYXQgJTAyeDolMDJ4LiV4IiwKLQkJZGV2LT5idXMtPm51bWJlciwgUENJX1NMT1QoZGV2LT5kZXZmbiksIFBDSV9GVU5DKGRldi0+ZGV2Zm4pKTsKLQlyZXQgPSBpMmNfcmVnaXN0ZXJfYnVzKGRldiwgYnVzLCBjaGlwLT5tbWlvICsgMHg4MDAwLCBDUl9TRVJJQUwyKTsKLQlpZiAocmV0KSB7Ci0JCWdvdG8gZXJyX2FkYXA7Ci0JfQotCXJldHVybiAwOwotZXJyX2FkYXA6Ci0JZGV2X2VycigmZGV2LT5kZXYsICIlcyBmYWlsZWRcbiIsIGJ1cy0+YWRhcC5uYW1lKTsKLQlwcm9zYXZhZ2VfcmVtb3ZlKGRldik7Ci0JcmV0dXJuIHJldDsKLX0KLQotCi0vKgotICogRGF0YSBmb3IgUENJIGRyaXZlciBpbnRlcmZhY2UKLSAqLwotc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHByb3NhdmFnZV9wY2lfdGJsW10gPSB7Ci0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9ERVZJQ0VfSURfUzNfU0FWQUdFNCkgfSwKLQl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9TMywgUENJX0RFVklDRV9JRF9TM19QUk9TQVZBR0U4KSB9LAotCXsgMCwgfSwKLX07Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUgKHBjaSwgcHJvc2F2YWdlX3BjaV90YmwpOwotCi1zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgcHJvc2F2YWdlX2RyaXZlciA9IHsKLQkubmFtZQkJPQkicHJvc2F2YWdlX3NtYnVzIiwKLQkuaWRfdGFibGUJPQlwcm9zYXZhZ2VfcGNpX3RibCwKLQkucHJvYmUJCT0JcHJvc2F2YWdlX3Byb2JlLAotCS5yZW1vdmUJCT0JcHJvc2F2YWdlX3JlbW92ZSwKLX07Ci0KLXN0YXRpYyBpbnQgX19pbml0IGkyY19wcm9zYXZhZ2VfaW5pdCh2b2lkKQotewotCXJldHVybiBwY2lfcmVnaXN0ZXJfZHJpdmVyKCZwcm9zYXZhZ2VfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGkyY19wcm9zYXZhZ2VfZXhpdCh2b2lkKQotewotCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmcHJvc2F2YWdlX2RyaXZlcik7Ci19Ci0KLU1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBwcm9zYXZhZ2VfcGNpX3RibCk7Ci1NT0RVTEVfQVVUSE9SKCJIZW5rIFZlcmdvbmV0Iik7Ci1NT0RVTEVfREVTQ1JJUFRJT04oIlByb1NhdmFnZSBWSUEgODM2NS84Mzc1IHNtYnVzIGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwotCi1tb2R1bGVfaW5pdCAoaTJjX3Byb3NhdmFnZV9pbml0KTsKLW1vZHVsZV9leGl0IChpMmNfcHJvc2F2YWdlX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtcHhhLmMKaW5kZXggZWI2OWZiYS4uYWY5ZTYwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1weGEuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXB4YS5jCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaTJjLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9weGEyeHgtZ3Bpby5oPgogCiBzdHJ1Y3QgcHhhX2kyYyB7CiAJc3BpbmxvY2tfdAkJbG9jazsKQEAgLTk0NSwzMiArOTQ0LDYgQEAKIAkuZnVuY3Rpb25hbGl0eQk9IGkyY19weGFfZnVuY3Rpb25hbGl0eSwKIH07CiAKLXN0YXRpYyB2b2lkIGkyY19weGFfZW5hYmxlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlpZiAoY3B1X2lzX3B4YTI3eCgpKSB7Ci0JCXN3aXRjaCAoZGV2LT5pZCkgewotCQljYXNlIDA6Ci0JCQlweGFfZ3Bpb19tb2RlKEdQSU8xMTdfSTJDU0NMX01EKTsKLQkJCXB4YV9ncGlvX21vZGUoR1BJTzExOF9JMkNTREFfTUQpOwotCQkJYnJlYWs7Ci0JCWNhc2UgMToKLQkJCWxvY2FsX2lycV9kaXNhYmxlKCk7Ci0JCQlQQ0ZSIHw9IFBDRlJfUEkyQ0VOOwotCQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCQkJYnJlYWs7Ci0JCX0KLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGkyY19weGFfZGlzYWJsZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCi17Ci0JaWYgKGNwdV9pc19weGEyN3goKSAmJiBkZXYtPmlkID09IDEpIHsKLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJUENGUiAmPSB+UENGUl9QSTJDRU47Ci0JCWxvY2FsX2lycV9lbmFibGUoKTsKLQl9Ci19Ci0KICNkZWZpbmUgcmVzX2xlbihyKQkJKChyKS0+ZW5kIC0gKHIpLT5zdGFydCArIDEpCiBzdGF0aWMgaW50IGkyY19weGFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQogewpAQCAtMTAzNiw3ICsxMDA5LDYgQEAKICNlbmRpZgogCiAJY2xrX2VuYWJsZShpMmMtPmNsayk7Ci0JaTJjX3B4YV9lbmFibGUoZGV2KTsKIAogCWlmIChwbGF0KSB7CiAJCWkyYy0+YWRhcC5jbGFzcyA9IHBsYXQtPmNsYXNzOwpAQCAtMTA4MCw3ICsxMDUyLDYgQEAKIAkJZnJlZV9pcnEoaXJxLCBpMmMpOwogZXJlcWlycToKIAljbGtfZGlzYWJsZShpMmMtPmNsayk7Ci0JaTJjX3B4YV9kaXNhYmxlKGRldik7CiAJaW91bm1hcChpMmMtPnJlZ19iYXNlKTsKIGVyZW1hcDoKIAljbGtfcHV0KGkyYy0+Y2xrKTsKQEAgLTExMDMsNyArMTA3NCw2IEBACiAKIAljbGtfZGlzYWJsZShpMmMtPmNsayk7CiAJY2xrX3B1dChpMmMtPmNsayk7Ci0JaTJjX3B4YV9kaXNhYmxlKGRldik7CiAKIAlpb3VubWFwKGkyYy0+cmVnX2Jhc2UpOwogCXJlbGVhc2VfbWVtX3JlZ2lvbihpMmMtPmlvYmFzZSwgaTJjLT5pb3NpemUpOwpAQCAtMTEzNCw1ICsxMTA0LDUgQEAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIE1PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMnh4LWkyYyIpOwogCi1tb2R1bGVfaW5pdChpMmNfYWRhcF9weGFfaW5pdCk7CitzdWJzeXNfaW5pdGNhbGwoaTJjX2FkYXBfcHhhX2luaXQpOwogbW9kdWxlX2V4aXQoaTJjX2FkYXBfcHhhX2V4aXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zM2MyNDEwLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYwppbmRleCA5ZThjODc1Li4wMDczOTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXMzYzI0MTAuYwpAQCAtNTkwLDcgKzU5MCw3IEBACiAJCS5vd25lcgkJCT0gVEhJU19NT0RVTEUsCiAJCS5hbGdvCQkJPSAmczNjMjR4eF9pMmNfYWxnb3JpdGhtLAogCQkucmV0cmllcwkJPSAyLAotCQkuY2xhc3MJCQk9IEkyQ19DTEFTU19IV01PTiwKKwkJLmNsYXNzCQkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCX0sCiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNhdmFnZTQuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWRmNGFiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2F2YWdlNC5jCisrKyAvZGV2L251bGwKQEAgLTEsMTg1ICswLDAgQEAKLS8qCi0gICAgaTJjLXNhdmFnZTQuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgIG1vbml0b3JpbmcKLSAgICBDb3B5cmlnaHQgKEMpIDE5OTgtMjAwMyAgVGhlIExNIFNlbnNvcnMgVGVhbQotICAgIEFsZXhhbmRlciBXb2xkIDxhd29sZEBiaWdmb290LmNvbT4KLSAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+Ci0gICAgCi0gICAgQmFzZWQgb24gaTJjLXZvb2RvbzMuYy4KLQotICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotKi8KLQotLyogVGhpcyBpbnRlcmZhY2VzIHRvIHRoZSBJMkMgYnVzIG9mIHRoZSBTYXZhZ2U0IHRvIGdhaW4gYWNjZXNzIHRvCi0gICB0aGUgQlQ4NjkgYW5kIHBvc3NpYmx5IG90aGVyIEkyQyBkZXZpY2VzLiBUaGUgRERDIGJ1cyBpcyBub3QKLSAgIHlldCBzdXBwb3J0ZWQgYmVjYXVzZSBpdHMgcmVnaXN0ZXIgaXMgbm90IG1lbW9yeS1tYXBwZWQuCi0qLwotCi0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgotI2luY2x1ZGUgPGxpbnV4L2kyYy1hbGdvLWJpdC5oPgotI2luY2x1ZGUgPGFzbS9pby5oPgotCi0vKiBkZXZpY2UgSURzICovCi0jZGVmaW5lIFBDSV9DSElQX1NBVkFHRTQJMHg4QTIyCi0jZGVmaW5lIFBDSV9DSElQX1NBVkFHRTIwMDAJMHg5MTAyCi0KLSNkZWZpbmUgUkVHCQkJMHhmZjIwCS8qIFNlcmlhbCBQb3J0IDEgUmVnaXN0ZXIgKi8KLQotLyogYml0IGxvY2F0aW9ucyBpbiB0aGUgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgSTJDX0VOQUIJCTB4MDAwMDAwMjAKLSNkZWZpbmUgSTJDX1NDTF9PVVQJCTB4MDAwMDAwMDEKLSNkZWZpbmUgSTJDX1NEQV9PVVQJCTB4MDAwMDAwMDIKLSNkZWZpbmUgSTJDX1NDTF9JTgkJMHgwMDAwMDAwOAotI2RlZmluZSBJMkNfU0RBX0lOCQkweDAwMDAwMDEwCi0KLS8qIGRlbGF5cyAqLwotI2RlZmluZSBDWUNMRV9ERUxBWQkJMTAKLSNkZWZpbmUgVElNRU9VVAkJCShIWiAvIDIpCi0KLQotc3RhdGljIHZvaWQgX19pb21lbSAqaW9hZGRyOwotCi0vKiBUaGUgc2F2IEdQSU8gcmVnaXN0ZXJzIGRvbid0IGhhdmUgaW5kaXZpZHVhbCBtYXNrcyBmb3IgZWFjaCBiaXQKLSAgIHNvIHdlIGFsd2F5cyBoYXZlIHRvIHJlYWQgYmVmb3JlIHdyaXRpbmcuICovCi0KLXN0YXRpYyB2b2lkIGJpdF9zYXZpMmNfc2V0c2NsKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0JdW5zaWduZWQgaW50IHI7Ci0JciA9IHJlYWRsKGlvYWRkciArIFJFRyk7Ci0JaWYodmFsKQotCQlyIHw9IEkyQ19TQ0xfT1VUOwotCWVsc2UKLQkJciAmPSB+STJDX1NDTF9PVVQ7Ci0Jd3JpdGVsKHIsIGlvYWRkciArIFJFRyk7Ci0JcmVhZGwoaW9hZGRyICsgUkVHKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLXN0YXRpYyB2b2lkIGJpdF9zYXZpMmNfc2V0c2RhKHZvaWQgKmRhdGEsIGludCB2YWwpCi17Ci0JdW5zaWduZWQgaW50IHI7Ci0JciA9IHJlYWRsKGlvYWRkciArIFJFRyk7Ci0JaWYodmFsKQotCQlyIHw9IEkyQ19TREFfT1VUOwotCWVsc2UKLQkJciAmPSB+STJDX1NEQV9PVVQ7Ci0Jd3JpdGVsKHIsIGlvYWRkciArIFJFRyk7Ci0JcmVhZGwoaW9hZGRyICsgUkVHKTsJLyogZmx1c2ggcG9zdGVkIHdyaXRlICovCi19Ci0KLS8qIFRoZSBHUElPIHBpbnMgYXJlIG9wZW4gZHJhaW4sIHNvIHRoZSBwaW5zIGFsd2F5cyByZW1haW4gb3V0cHV0cy4KLSAgIFdlIHJlbHkgb24gdGhlIGkyYy1hbGdvLWJpdCByb3V0aW5lcyB0byBzZXQgdGhlIHBpbnMgaGlnaCBiZWZvcmUKLSAgIHJlYWRpbmcgdGhlIGlucHV0IGZyb20gb3RoZXIgY2hpcHMuICovCi0KLXN0YXRpYyBpbnQgYml0X3NhdmkyY19nZXRzY2wodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIFJFRykgJiBJMkNfU0NMX0lOKSk7Ci19Ci0KLXN0YXRpYyBpbnQgYml0X3NhdmkyY19nZXRzZGEodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gKDAgIT0gKHJlYWRsKGlvYWRkciArIFJFRykgJiBJMkNfU0RBX0lOKSk7Ci19Ci0KLS8qIENvbmZpZ3VyZXMgdGhlIGNoaXAgKi8KLQotc3RhdGljIGludCBjb25maWdfczQoc3RydWN0IHBjaV9kZXYgKmRldikKLXsKLQl1bnNpZ25lZCBsb25nIGNhZHI7Ci0KLQkvKiBtYXAgbWVtb3J5ICovCi0JY2FkciA9IGRldi0+cmVzb3VyY2VbMF0uc3RhcnQ7Ci0JY2FkciAmPSBQQ0lfQkFTRV9BRERSRVNTX01FTV9NQVNLOwotCWlvYWRkciA9IGlvcmVtYXBfbm9jYWNoZShjYWRyLCAweDAwODAwMDApOwotCWlmIChpb2FkZHIpIHsKLQkJLyogd3JpdGVsKDB4ODE2MCwgaW9hZGRyICsgUkVHMik7ICovCi0JCXdyaXRlbCgweDAwMDAwMDIwLCBpb2FkZHIgKyBSRUcpOwotCQlkZXZfaW5mbygmZGV2LT5kZXYsICJVc2luZyBTYXZhZ2U0IGF0ICVwXG4iLCBpb2FkZHIpOwotCQlyZXR1cm4gMDsKLQl9Ci0JcmV0dXJuIC1FTk9ERVY7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgaTJjX2FsZ29fYml0X2RhdGEgc2F2X2kyY19iaXRfZGF0YSA9IHsKLQkuc2V0c2RhCQk9IGJpdF9zYXZpMmNfc2V0c2RhLAotCS5zZXRzY2wJCT0gYml0X3NhdmkyY19zZXRzY2wsCi0JLmdldHNkYQkJPSBiaXRfc2F2aTJjX2dldHNkYSwKLQkuZ2V0c2NsCQk9IGJpdF9zYXZpMmNfZ2V0c2NsLAotCS51ZGVsYXkJCT0gQ1lDTEVfREVMQVksCi0JLnRpbWVvdXQJPSBUSU1FT1VUCi19OwotCi1zdGF0aWMgc3RydWN0IGkyY19hZGFwdGVyIHNhdmFnZTRfaTJjX2FkYXB0ZXIgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5pZAkJPSBJMkNfSFdfQl9TQVZBR0UsCi0JLm5hbWUJCT0gIkkyQyBTYXZhZ2U0IGFkYXB0ZXIiLAotCS5hbGdvX2RhdGEJPSAmc2F2X2kyY19iaXRfZGF0YSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBzYXZhZ2U0X2lkc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9DSElQX1NBVkFHRTQpIH0sCi0JeyBQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfUzMsIFBDSV9DSElQX1NBVkFHRTIwMDApIH0sCi0JeyAwLCB9Ci19OwotCi1NT0RVTEVfREVWSUNFX1RBQkxFIChwY2ksIHNhdmFnZTRfaWRzKTsKLQotc3RhdGljIGludCBfX2RldmluaXQgc2F2YWdlNF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqaWQpCi17Ci0JaW50IHJldHZhbDsKLQotCXJldHZhbCA9IGNvbmZpZ19zNChkZXYpOwotCWlmIChyZXR2YWwpCi0JCXJldHVybiByZXR2YWw7Ci0KLQkvKiBzZXQgdXAgdGhlIHN5c2ZzIGxpbmthZ2UgdG8gb3VyIHBhcmVudCBkZXZpY2UgKi8KLQlzYXZhZ2U0X2kyY19hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2LT5kZXY7Ci0KLQlyZXR1cm4gaTJjX2JpdF9hZGRfYnVzKCZzYXZhZ2U0X2kyY19hZGFwdGVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19kZXZleGl0IHNhdmFnZTRfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCi17Ci0JaTJjX2RlbF9hZGFwdGVyKCZzYXZhZ2U0X2kyY19hZGFwdGVyKTsKLQlpb3VubWFwKGlvYWRkcik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciBzYXZhZ2U0X2RyaXZlciA9IHsKLQkubmFtZQkJPSAic2F2YWdlNF9zbWJ1cyIsCi0JLmlkX3RhYmxlCT0gc2F2YWdlNF9pZHMsCi0JLnByb2JlCQk9IHNhdmFnZTRfcHJvYmUsCi0JLnJlbW92ZQkJPSBfX2RldmV4aXRfcChzYXZhZ2U0X3JlbW92ZSksCi19OwotCi1zdGF0aWMgaW50IF9faW5pdCBpMmNfc2F2YWdlNF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHBjaV9yZWdpc3Rlcl9kcml2ZXIoJnNhdmFnZTRfZHJpdmVyKTsKLX0KLQotc3RhdGljIHZvaWQgX19leGl0IGkyY19zYXZhZ2U0X2V4aXQodm9pZCkKLXsKLQlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJnNhdmFnZTRfZHJpdmVyKTsKLX0KLQotTU9EVUxFX0FVVEhPUigiQWxleGFuZGVyIFdvbGQgPGF3b2xkQGJpZ2Zvb3QuY29tPiAiCi0JCSJhbmQgTWFyayBELiBTdHVkZWJha2VyIDxtZHN4eXoxMjNAeWFob28uY29tPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJTYXZhZ2U0IEkyQy9TTUJ1cyBkcml2ZXIiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotbW9kdWxlX2luaXQoaTJjX3NhdmFnZTRfaW5pdCk7Ci1tb2R1bGVfZXhpdChpMmNfc2F2YWdlNF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpYnl0ZS5jCmluZGV4IDExNDYzNGQuLjRkZGVmYmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lieXRlLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaWJ5dGUuYwpAQCAtMTQzLDcgKzE0Myw3IEBACiAJY3NyX291dDMyKHNwZWVkLCBTTUJfQ1NSKGFkYXAsUl9TTUJfRlJFUSkpOwogCWNzcl9vdXQzMigwLCBTTUJfQ1NSKGFkYXAsUl9TTUJfQ09OVFJPTCkpOwogCi0JcmV0dXJuIGkyY19hZGRfYWRhcHRlcihpMmNfYWRhcCk7CisJcmV0dXJuIGkyY19hZGRfbnVtYmVyZWRfYWRhcHRlcihpMmNfYWRhcCk7CiB9CiAKIApAQCAtMTU2LDE3ICsxNTYsMTkgQEAKIAl7CiAJCS5vd25lcgkJPSBUSElTX01PRFVMRSwKIAkJLmlkCQk9IEkyQ19IV19TSUJZVEUsCi0JCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BELAogCQkuYWxnbwkJPSBOVUxMLAogCQkuYWxnb19kYXRhCT0gJnNpYnl0ZV9ib2FyZF9kYXRhWzBdLAorCQkubnIJCT0gMCwKIAkJLm5hbWUJCT0gIlNpQnl0ZSBTTUJ1cyAwIiwKIAl9LAogCXsKIAkJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCQkuaWQJCT0gSTJDX0hXX1NJQllURSwKLQkJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiwKKwkJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJCS5hbGdvCQk9IE5VTEwsCiAJCS5hbGdvX2RhdGEJPSAmc2lieXRlX2JvYXJkX2RhdGFbMV0sCisJCS5ucgkJPSAxLAogCQkubmFtZQkJPSAiU2lCeXRlIFNNQnVzIDEiLAogCX0sCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM1NTk1LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYwppbmRleCA5Y2E4ZjkxLi5kZmMyZDVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczU1OTUuYwpAQCAtMSw2ICsxLDQgQEAKIC8qCi0gICAgc2lzNTU5NS5jIC0gUGFydCBvZiBsbV9zZW5zb3JzLCBMaW51eCBrZXJuZWwgbW9kdWxlcyBmb3IgaGFyZHdhcmUKLSAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoYykgMTk5OCwgMTk5OSAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiBhbmQKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+CiAKQEAgLTYyLDYgKzYwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiBzdGF0aWMgaW50IGJsYWNrbGlzdFtdID0gewpAQCAtMTc0LDYgKzE3MywxMSBAQAogCiAJLyogTkI6IFdlIGdyYWIganVzdCB0aGUgdHdvIFNNQnVzIHJlZ2lzdGVycyBoZXJlLCBidXQgdGhpcyBtYXkgc3RpbGwKIAkgKiBpbnRlcmZlcmUgd2l0aCBBQ1BJIDotKCAgKi8KKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3JlZ2lvbihzaXM1NTk1X2Jhc2UgKyBTTUJfSU5ERVgsIDIsCisJCQkJICAgc2lzNTU5NV9kcml2ZXIubmFtZSk7CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIHJldHZhbDsKKwogCWlmICghcmVxdWVzdF9yZWdpb24oc2lzNTU5NV9iYXNlICsgU01CX0lOREVYLCAyLAogCQkJICAgIHNpczU1OTVfZHJpdmVyLm5hbWUpKSB7CiAJCWRldl9lcnIoJlNJUzU1OTVfZGV2LT5kZXYsICJTTUJ1cyByZWdpc3RlcnMgMHglMDR4LTB4JTA0eCBhbHJlYWR5IGluIHVzZSFcbiIsCkBAIC0yMzYsNyArMjQwLDcgQEAKIAkJc2lzNTU5NV93cml0ZShTTUJfU1RTX0hJLCB0ZW1wID4+IDgpOwogCQlpZiAoKHRlbXAgPSBzaXM1NTk1X3JlYWQoU01CX1NUU19MTykgKyAoc2lzNTU5NV9yZWFkKFNNQl9TVFNfSEkpIDw8IDgpKSAhPSAweDAwKSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogCQl9IGVsc2UgewogCQkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU3VjY2Vzc2Z1bCFcbiIpOwogCQl9CkBAIC0yNTQsMTkgKzI1OCwxOSBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiU01CdXMgVGltZW91dCFcbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MTApIHsKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiRXJyb3I6IEZhaWxlZCBidXMgdHJhbnNhY3Rpb25cbiIpOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVOWElPOwogCX0KIAogCWlmICh0ZW1wICYgMHgyMCkgewogCQlkZXZfZXJyKCZhZGFwLT5kZXYsICJCdXMgY29sbGlzaW9uISBTTUJ1cyBtYXkgYmUgbG9ja2VkIHVudGlsICIKIAkJCSJuZXh0IGhhcmQgcmVzZXQgKG9yIG5vdC4uLilcbiIpOwogCQkvKiBDbG9jayBzdG9wcyBhbmQgc2xhdmUgaXMgc3R1Y2sgaW4gbWlkLXRyYW5zbWlzc2lvbiAqLwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAl9CiAKIAl0ZW1wID0gc2lzNTU5NV9yZWFkKFNNQl9TVFNfTE8pICsgKHNpczU1OTVfcmVhZChTTUJfU1RTX0hJKSA8PCA4KTsKQEAgLTI4MiwxMSArMjg2LDEzIEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzaXM1NTk1X2FjY2VzcyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIHUxNiBhZGRyLAogCQkJICB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkJICB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKmRhdGEpCiB7CisJaW50IHN0YXR1czsKKwogCXN3aXRjaCAoc2l6ZSkgewogCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQlzaXM1NTk1X3dyaXRlKFNNQl9BRERSLCAoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSkpOwpAQCAtMzE4LDEzICszMjQsMTQgQEAKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJZGV2X3dhcm4oJmFkYXAtPmRldiwgIlVuc3VwcG9ydGVkIHRyYW5zYWN0aW9uICVkXG4iLCBzaXplKTsKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJc2lzNTU5NV93cml0ZShTTUJfQ1RMX0xPLCAoKHNpemUgJiAweDBFKSkpOwogCi0JaWYgKHNpczU1OTVfdHJhbnNhY3Rpb24oYWRhcCkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBzaXM1NTk1X3RyYW5zYWN0aW9uKGFkYXApOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHNpemUgIT0gU0lTNTU5NV9QUk9DX0NBTEwpICYmCiAJICAgICgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNJUzU1OTVfUVVJQ0spKSkKQEAgLTM1OSw3ICszNjYsNyBAQAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzaXM1NTk1X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfU0lTNTU5NSwKLQkuY2xhc3MgICAgICAgICAgPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OIHwgSTJDX0NMQVNTX1NQRCwKIAkuYWxnbwkJPSAmc21idXNfYWxnb3JpdGhtLAogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzNjMwLmMKaW5kZXggMzc2NWRkNy4uZTdjNGI3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM2MzAuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczYzMC5jCkBAIC0xLDcgKzEsNCBAQAogLyoKLSAgICBpMmMtc2lzNjMwLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0KICAgICBDb3B5cmlnaHQgKGMpIDIwMDIsMjAwMyBBbGV4YW5kZXIgTWFseXNoIDxhbWFseXNoQHdlYi5kZT4KIAogICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC01NSw2ICs1Miw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogLyogU0lTNjMwIFNNQnVzIHJlZ2lzdGVycyAqLwpAQCAtMTM0LDcgKzEzMiw3IEBACiAKIAkJaWYgKCh0ZW1wID0gc2lzNjMwX3JlYWQoU01CX0NOVCkgJiAweDAzKSAhPSAweDAwKSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJGYWlsZWQhICglMDJ4KVxuIiwgdGVtcCk7Ci0JCQlyZXR1cm4gLTE7CisJCQlyZXR1cm4gLUVCVVNZOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTdWNjZXNzZnVsIVxuIik7CiAJCX0KQEAgLTE3NywxNyArMTc1LDE3IEBACiAJLyogSWYgdGhlIFNNQnVzIGlzIHN0aWxsIGJ1c3ksIHdlIGdpdmUgdXAgKi8KIAlpZiAodGltZW91dCA+PSBNQVhfVElNRU9VVCkgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJTTUJ1cyBUaW1lb3V0IVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRVRJTUVET1VUOwogCX0KIAogCWlmICh0ZW1wICYgMHgwMikgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJFcnJvcjogRmFpbGVkIGJ1cyB0cmFuc2FjdGlvblxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJfQogCiAJaWYgKHRlbXAgJiAweDA0KSB7CiAJCWRldl9lcnIoJmFkYXAtPmRldiwgIkJ1cyBjb2xsaXNpb24hXG4iKTsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCS8qCiAJCSAgVEJEOiBEYXRhc2hlZXQgc2F5OgogCQkgIHRoZSBzb2Z0d2FyZSBzaG91bGQgY2xlYXIgdGhpcyBiaXQgYW5kIHJlc3RhcnQgU01CVVMgb3BlcmF0aW9uLgpAQCAtMjUwLDggKzI0OCwxMCBAQAogCQkJaWYgKGk9PTggfHwgKGxlbjw4ICYmIGk9PWxlbikpIHsKIAkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJzdGFydCB0cmFucyBsZW49JWQgaT0lZFxuIixsZW4gLGkpOwogCQkJCS8qIGZpcnN0IHRyYW5zYWN0aW9uICovCi0JCQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKSkKLQkJCQkJcmV0dXJuIC0xOworCQkJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3N0YXJ0KGFkYXAsCisJCQkJCQlTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKTsKKwkJCQlpZiAocmMpCisJCQkJCXJldHVybiByYzsKIAkJCX0KIAkJCWVsc2UgaWYgKChpLTEpJTggPT0gNyB8fCBpPT1sZW4pIHsKIAkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0cmFuc193YWl0IGxlbj0lZCBpPSVkXG4iLGxlbixpKTsKQEAgLTI2NCw5ICsyNjQsMTAgQEAKIAkJCQkJKi8KIAkJCQkJc2lzNjMwX3dyaXRlKFNNQl9TVFMsMHgxMCk7CiAJCQkJfQotCQkJCWlmIChzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSkpIHsKKwkJCQlyYyA9IHNpczYzMF90cmFuc2FjdGlvbl93YWl0KGFkYXAsCisJCQkJCQlTSVM2MzBfQkxPQ0tfREFUQSk7CisJCQkJaWYgKHJjKSB7CiAJCQkJCWRldl9kYmcoJmFkYXAtPmRldiwgInRyYW5zX3dhaXQgZmFpbGVkXG4iKTsKLQkJCQkJcmMgPSAtMTsKIAkJCQkJYnJlYWs7CiAJCQkJfQogCQkJfQpAQCAtMjc1LDEzICsyNzYsMTQgQEAKIAllbHNlIHsKIAkJLyogcmVhZCByZXF1ZXN0ICovCiAJCWRhdGEtPmJsb2NrWzBdID0gbGVuID0gMDsKLQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl9zdGFydChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSwgJm9sZGNsb2NrKSkgewotCQkJcmV0dXJuIC0xOwotCQl9CisJCXJjID0gc2lzNjMwX3RyYW5zYWN0aW9uX3N0YXJ0KGFkYXAsCisJCQkJU0lTNjMwX0JMT0NLX0RBVEEsICZvbGRjbG9jayk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKIAkJZG8gewotCQkJaWYgKHNpczYzMF90cmFuc2FjdGlvbl93YWl0KGFkYXAsIFNJUzYzMF9CTE9DS19EQVRBKSkgeworCQkJcmMgPSBzaXM2MzBfdHJhbnNhY3Rpb25fd2FpdChhZGFwLCBTSVM2MzBfQkxPQ0tfREFUQSk7CisJCQlpZiAocmMpIHsKIAkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJ0cmFuc193YWl0IGZhaWxlZFxuIik7Ci0JCQkJcmMgPSAtMTsKIAkJCQlicmVhazsKIAkJCX0KIAkJCS8qIGlmIHRoaXMgZmlyc3QgdHJhbnNhY3Rpb24gdGhlbiByZWFkIGJ5dGUgY291bnQgKi8KQEAgLTMxMSwxMSArMzEzLDEzIEBACiAJcmV0dXJuIHJjOwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIHNpczYzMF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJCSB1bnNpZ25lZCBzaG9ydCBmbGFncywgY2hhciByZWFkX3dyaXRlLAogCQkJIHU4IGNvbW1hbmQsIGludCBzaXplLCB1bmlvbiBpMmNfc21idXNfZGF0YSAqZGF0YSkKIHsKKwlpbnQgc3RhdHVzOworCiAJc3dpdGNoIChzaXplKSB7CiAJCWNhc2UgSTJDX1NNQlVTX1FVSUNLOgogCQkJc2lzNjMwX3dyaXRlKFNNQl9BRERSLCAoKGFkZHIgJiAweDdmKSA8PCAxKSB8IChyZWFkX3dyaXRlICYgMHgwMSkpOwpAQCAtMzUwLDEzICszNTQsMTQgQEAKIAkJCXNpemUgPSBTSVM2MzBfQkxPQ0tfREFUQTsKIAkJCXJldHVybiBzaXM2MzBfYmxvY2tfZGF0YShhZGFwLCBkYXRhLCByZWFkX3dyaXRlKTsKIAkJZGVmYXVsdDoKLQkJCXByaW50aygiVW5zdXBwb3J0ZWQgSTJDIHNpemVcbiIpOwotCQkJcmV0dXJuIC0xOwotCQkJYnJlYWs7CisJCQlkZXZfd2FybigmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsCisJCQkJIHNpemUpOworCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAotCWlmIChzaXM2MzBfdHJhbnNhY3Rpb24oYWRhcCwgc2l6ZSkpCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBzaXM2MzBfdHJhbnNhY3Rpb24oYWRhcCwgc2l6ZSk7CisJaWYgKHN0YXR1cykKKwkJcmV0dXJuIHN0YXR1czsKIAogCWlmICgoc2l6ZSAhPSBTSVM2MzBfUENBTEwpICYmCiAJCSgocmVhZF93cml0ZSA9PSBJMkNfU01CVVNfV1JJVEUpIHx8IChzaXplID09IFNJUzYzMF9RVUlDSykpKSB7CkBAIC0zNzIsOSArMzc3LDYgQEAKIAkJY2FzZSBTSVM2MzBfV09SRF9EQVRBOgogCQkJZGF0YS0+d29yZCA9IHNpczYzMF9yZWFkKFNNQl9CWVRFKSArIChzaXM2MzBfcmVhZChTTUJfQllURSArIDEpIDw8IDgpOwogCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCQlyZXR1cm4gLTE7Ci0JCQlicmVhazsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTQzMyw2ICs0MzUsMTEgQEAKIAogCWRldl9kYmcoJnNpczYzMF9kZXYtPmRldiwgIkFDUEkgYmFzZSBhdCAweCUwNHhcbiIsIGFjcGlfYmFzZSk7CiAKKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3JlZ2lvbihhY3BpX2Jhc2UgKyBTTUJfU1RTLCBTSVM2MzBfU01CX0lPUkVHSU9OLAorCQkJCSAgIHNpczYzMF9kcml2ZXIubmFtZSk7CisJaWYgKHJldHZhbCkKKwkJZ290byBleGl0OworCiAJLyogRXZlcnl0aGluZyBpcyBoYXBweSwgbGV0J3MgZ3JhYiB0aGUgbWVtb3J5IGFuZCBzZXQgdGhpbmdzIHVwLiAqLwogCWlmICghcmVxdWVzdF9yZWdpb24oYWNwaV9iYXNlICsgU01CX1NUUywgU0lTNjMwX1NNQl9JT1JFR0lPTiwKIAkJCSAgICBzaXM2MzBfZHJpdmVyLm5hbWUpKSB7CkBAIC00NTgsNyArNDY1LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2lzNjMwX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfU0lTNjMwLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXNpczk2eC5jCmluZGV4IGRjMjM1YmIuLmYxYmJhNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtc2lzOTZ4LmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zaXM5NnguYwpAQCAtMSw3ICsxLDQgQEAKIC8qCi0gICAgc2lzOTZ4LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCi0KICAgICBDb3B5cmlnaHQgKGMpIDIwMDMgTWFyayBNLiBIb2ZmbWFuIDxtaG9mZm1hbkBsaWdodGxpbmsuY29tPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKQEAgLTQwLDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvYWNwaS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCiAvKiBiYXNlIGFkZHJlc3MgcmVnaXN0ZXIgaW4gUENJIGNvbmZpZyBzcGFjZSAqLwpAQCAtMTExLDcgKzEwOSw3IEBACiAJCS8qIGNoZWNrIGl0IGFnYWluICovCiAJCWlmICgoKHRlbXAgPSBzaXM5NnhfcmVhZChTTUJfQ05UKSkgJiAweDAzKSAhPSAweDAwKSB7CiAJCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJGYWlsZWQgKDB4JTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfSBlbHNlIHsKIAkJCWRldl9kYmcoJnNpczk2eF9hZGFwdGVyLmRldiwgIlN1Y2Nlc3NmdWxcbiIpOwogCQl9CkBAIC0xMzYsMTkgKzEzNCwxOSBAQAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKIAkJZGV2X2RiZygmc2lzOTZ4X2FkYXB0ZXIuZGV2LCAiU01CdXMgVGltZW91dCEgKDB4JTAyeClcbiIsIHRlbXApOwotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVUSU1FRE9VVDsKIAl9CiAKIAkvKiBkZXZpY2UgZXJyb3IgLSBwcm9iYWJseSBtaXNzaW5nIEFDSyAqLwogCWlmICh0ZW1wICYgMHgwMikgewogCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJGYWlsZWQgYnVzIHRyYW5zYWN0aW9uIVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJfQogCiAJLyogYnVzIGNvbGxpc2lvbiAqLwogCWlmICh0ZW1wICYgMHgwNCkgewogCQlkZXZfZGJnKCZzaXM5NnhfYWRhcHRlci5kZXYsICJCdXMgY29sbGlzaW9uIVxuIik7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRUlPOwogCX0KIAogCS8qIEZpbmlzaCB1cCBieSByZXNldHRpbmcgdGhlIGJ1cyAqLwpAQCAtMTYxLDExICsxNTksMTIgQEAKIAlyZXR1cm4gcmVzdWx0OwogfQogCi0vKiBSZXR1cm4gLTEgb24gZXJyb3IuICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IuICovCiBzdGF0aWMgczMyIHNpczk2eF9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsCiAJCQkgdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwKIAkJCSB1OCBjb21tYW5kLCBpbnQgc2l6ZSwgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQogeworCWludCBzdGF0dXM7CiAKIAlzd2l0Y2ggKHNpemUpIHsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKQEAgLTIwMCwyMCArMTk5LDE0IEBACiAJCQlTSVM5NnhfUFJPQ19DQUxMIDogU0lTOTZ4X1dPUkRfREFUQSk7CiAJCWJyZWFrOwogCi0JY2FzZSBJMkNfU01CVVNfQkxPQ0tfREFUQToKLQkJLyogVE8gRE86ICovCi0JCWRldl9pbmZvKCZhZGFwLT5kZXYsICJTTUJ1cyBibG9jayBub3QgaW1wbGVtZW50ZWQhXG4iKTsKLQkJcmV0dXJuIC0xOwotCQlicmVhazsKLQogCWRlZmF1bHQ6Ci0JCWRldl9pbmZvKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCBJMkMgc2l6ZVxuIik7Ci0JCXJldHVybiAtMTsKLQkJYnJlYWs7CisJCWRldl93YXJuKCZhZGFwLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKLQlpZiAoc2lzOTZ4X3RyYW5zYWN0aW9uKHNpemUpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gc2lzOTZ4X3RyYW5zYWN0aW9uKHNpemUpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHNpemUgIT0gU0lTOTZ4X1BST0NfQ0FMTCkgJiYKIAkJKChyZWFkX3dyaXRlID09IEkyQ19TTUJVU19XUklURSkgfHwgKHNpemUgPT0gU0lTOTZ4X1FVSUNLKSkpCkBAIC0yNDksNyArMjQyLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgc2lzOTZ4X2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfU01CVVNfU0lTOTZYLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTI4Niw2ICsyNzksMTAgQEAKIAlkZXZfaW5mbygmZGV2LT5kZXYsICJTaVM5NnggU01CdXMgYmFzZSBhZGRyZXNzOiAweCUwNHhcbiIsCiAJCQlzaXM5Nnhfc21idXNfYmFzZSk7CiAKKwlyZXR2YWwgPSBhY3BpX2NoZWNrX3Jlc291cmNlX2NvbmZsaWN0KCZkZXYtPnJlc291cmNlW1NJUzk2eF9CQVJdKTsKKwlpZiAocmV0dmFsKQorCQlyZXR1cm4gcmV0dmFsOworCiAJLyogRXZlcnl0aGluZyBpcyBoYXBweSwgbGV0J3MgZ3JhYiB0aGUgbWVtb3J5IGFuZCBzZXQgdGhpbmdzIHVwLiAqLwogCWlmICghcmVxdWVzdF9yZWdpb24oc2lzOTZ4X3NtYnVzX2Jhc2UsIFNNQl9JT1NJWkUsCiAJCQkgICAgc2lzOTZ4X2RyaXZlci5uYW1lKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy1zdHViLmMgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXN0dWIuYwppbmRleCBkMDhlZWVjLi4xYjdiMmFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXN0dWIuYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXN0dWIuYwpAQCAtNDMsNyArNDMsNyBAQAogCiBzdGF0aWMgc3RydWN0IHN0dWJfY2hpcCAqc3R1Yl9jaGlwczsKIAotLyogUmV0dXJuIC0xIG9uIGVycm9yLiAqLworLyogUmV0dXJuIG5lZ2F0aXZlIGVycm5vIG9uIGVycm9yLiAqLwogc3RhdGljIHMzMiBzdHViX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICogYWRhcCwgdTE2IGFkZHIsIHVuc2lnbmVkIHNob3J0IGZsYWdzLAogCWNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwgaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICogZGF0YSkKIHsKQEAgLTEyMCw3ICsxMjAsNyBAQAogCiAJZGVmYXVsdDoKIAkJZGV2X2RiZygmYWRhcC0+ZGV2LCAiVW5zdXBwb3J0ZWQgSTJDL1NNQnVzIGNvbW1hbmRcbiIpOwotCQlyZXQgPSAtMTsKKwkJcmV0ID0gLUVPUE5PVFNVUFA7CiAJCWJyZWFrOwogCX0gLyogc3dpdGNoIChzaXplKSAqLwogCkBAIC0xNDAsNyArMTQwLDcgQEAKIAogc3RhdGljIHN0cnVjdCBpMmNfYWRhcHRlciBzdHViX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIAkubmFtZQkJPSAiU01CdXMgc3R1YiBkcml2ZXIiLAogfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGFvcy1ldm0uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdGFvcy1ldm0uYwppbmRleCBkZTlkYjQ5Li4yMjRhYTEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXRhb3MtZXZtLmMKKysrIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy10YW9zLWV2bS5jCkBAIC05Niw5ICs5Niw4IEBACiAJCQlzcHJpbnRmKHAsICIkJTAyWCIsIGNvbW1hbmQpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiBzaXplICVkXG4iLAotCQkJc2l6ZSk7Ci0JCXJldHVybiAtRUlOVkFMOworCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiVW5zdXBwb3J0ZWQgdHJhbnNhY3Rpb24gJWRcbiIsIHNpemUpOworCQlyZXR1cm4gLUVPUE5PVFNVUFA7CiAJfQogCiAJLyogU2VuZCB0aGUgdHJhbnNhY3Rpb24gdG8gdGhlIFRBT1MgRVZNICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWEuYwppbmRleCA2MTcxNmY2Li4yOWNlZjA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYS5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhLmMKQEAgLTEsNyArMSw0IEBACiAvKgotICAgIGkyYy12aWEuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgIExpbnV4IGtlcm5lbCBtb2R1bGVzCi0gICAgICAgICAgICAgICAgZm9yIGhhcmR3YXJlIG1vbml0b3JpbmcKLQogICAgIGkyYyBTdXBwb3J0IGZvciBWaWEgVGVjaG5vbG9naWVzIDgyQzU4NkIgU291dGggQnJpZGdlCiAKICAgICBDb3B5cmlnaHQgKGMpIDE5OTgsIDE5OTkgS3nDtnN0aSBNw6Rsa2tpIDxrbWFsa2tpQGNjLmh1dC5maT4KQEAgLTg3LDcgKzg0LDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgdnQ1ODZiX2FkYXB0ZXIgPSB7CiAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAogCS5pZAkJPSBJMkNfSFdfQl9WSUEsCi0JLmNsYXNzICAgICAgICAgID0gSTJDX0NMQVNTX0hXTU9OLAorCS5jbGFzcyAgICAgICAgICA9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLm5hbWUJCT0gIlZJQSBpMmMiLAogCS5hbGdvX2RhdGEJPSAmYml0X2RhdGEsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdmlhcHJvLmMKaW5kZXggNzdiMTNkMC4uODYyZWIzNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvYnVzc2VzL2kyYy12aWFwcm8uYworKysgYi9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZpYXByby5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBpMmMtdmlhcHJvLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4IC0gMjAwMiAgRnJvZG8gTG9vaWphYXJkIDxmcm9kb2xAZGRzLm5sPiwKICAgICBQaGlsaXAgRWRlbGJyb2NrIDxwaGlsQG5ldHJvZWRnZS5jb20+LCBLecO2c3RpIE3DpGxra2kgPGttYWxra2lAY2MuaHV0LmZpPiwKICAgICBNYXJrIEQuIFN0dWRlYmFrZXIgPG1kc3h5ejEyM0B5YWhvby5jb20+CkBAIC01MCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2FjcGkuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2ICp2dDU5Nl9wZGV2OwpAQCAtMTUyLDcgKzE1MSw3IEBACiAJCWlmICgodGVtcCA9IGluYl9wKFNNQkhTVFNUUykpICYgMHgxRikgewogCQkJZGV2X2VycigmdnQ1OTZfYWRhcHRlci5kZXYsICJTTUJ1cyByZXNldCBmYWlsZWQhICIKIAkJCQkiKDB4JTAyeClcbiIsIHRlbXApOwotCQkJcmV0dXJuIC0xOworCQkJcmV0dXJuIC1FQlVTWTsKIAkJfQogCX0KIApAQCAtMTY3LDI0ICsxNjYsMjQgQEAKIAogCS8qIElmIHRoZSBTTUJ1cyBpcyBzdGlsbCBidXN5LCB3ZSBnaXZlIHVwICovCiAJaWYgKHRpbWVvdXQgPj0gTUFYX1RJTUVPVVQpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FVElNRURPVVQ7CiAJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiU01CdXMgdGltZW91dCFcbiIpOwogCX0KIAogCWlmICh0ZW1wICYgMHgxMCkgewotCQlyZXN1bHQgPSAtMTsKKwkJcmVzdWx0ID0gLUVJTzsKIAkJZGV2X2VycigmdnQ1OTZfYWRhcHRlci5kZXYsICJUcmFuc2FjdGlvbiBmYWlsZWQgKDB4JTAyeClcbiIsCiAJCQlzaXplKTsKIAl9CiAKIAlpZiAodGVtcCAmIDB4MDgpIHsKLQkJcmVzdWx0ID0gLTE7CisJCXJlc3VsdCA9IC1FSU87CiAJCWRldl9lcnIoJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiU01CdXMgY29sbGlzaW9uIVxuIik7CiAJfQogCiAJaWYgKHRlbXAgJiAweDA0KSB7CiAJCWludCByZWFkID0gaW5iX3AoU01CSFNUQUREKSAmIDB4MDE7Ci0JCXJlc3VsdCA9IC0xOworCQlyZXN1bHQgPSAtRU5YSU87CiAJCS8qIFRoZSBxdWljayBhbmQgcmVjZWl2ZSBieXRlIGNvbW1hbmRzIGFyZSB1c2VkIHRvIHByb2JlCiAJCSAgIGZvciBjaGlwcywgc28gZXJyb3JzIGFyZSBleHBlY3RlZCwgYW5kIHdlIGRvbid0IHdhbnQKIAkJICAgdG8gZnJpZ2h0ZW4gdGhlIHVzZXIuICovCkBAIC0yMDIsMTIgKzIwMSwxMyBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLS8qIFJldHVybiAtMSBvbiBlcnJvciwgMCBvbiBzdWNjZXNzICovCisvKiBSZXR1cm4gbmVnYXRpdmUgZXJybm8gb24gZXJyb3IsIDAgb24gc3VjY2VzcyAqLwogc3RhdGljIHMzMiB2dDU5Nl9hY2Nlc3Moc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCB1MTYgYWRkciwKIAkJdW5zaWduZWQgc2hvcnQgZmxhZ3MsIGNoYXIgcmVhZF93cml0ZSwgdTggY29tbWFuZCwKIAkJaW50IHNpemUsIHVuaW9uIGkyY19zbWJ1c19kYXRhICpkYXRhKQogewogCWludCBpOworCWludCBzdGF0dXM7CiAKIAlzd2l0Y2ggKHNpemUpIHsKIAljYXNlIEkyQ19TTUJVU19RVUlDSzoKQEAgLTI1OCw4ICsyNTgsOSBAQAogCiAJb3V0Yl9wKCgoYWRkciAmIDB4N2YpIDw8IDEpIHwgcmVhZF93cml0ZSwgU01CSFNUQUREKTsKIAotCWlmICh2dDU5Nl90cmFuc2FjdGlvbihzaXplKSkgLyogRXJyb3IgaW4gdHJhbnNhY3Rpb24gKi8KLQkJcmV0dXJuIC0xOworCXN0YXR1cyA9IHZ0NTk2X3RyYW5zYWN0aW9uKHNpemUpOworCWlmIChzdGF0dXMpCisJCXJldHVybiBzdGF0dXM7CiAKIAlpZiAoKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1dSSVRFKSB8fCAoc2l6ZSA9PSBWVDU5Nl9RVUlDSykpCiAJCXJldHVybiAwOwpAQCAtMjg1LDkgKzI4Niw5IEBACiAJcmV0dXJuIDA7CiAKIGV4aXRfdW5zdXBwb3J0ZWQ6Ci0JZGV2X3dhcm4oJnZ0NTk2X2FkYXB0ZXIuZGV2LCAiVW5zdXBwb3J0ZWQgY29tbWFuZCBpbnZva2VkISAoMHglMDJ4KVxuIiwKKwlkZXZfd2FybigmdnQ1OTZfYWRhcHRlci5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwKIAkJIHNpemUpOwotCXJldHVybiAtMTsKKwlyZXR1cm4gLUVPUE5PVFNVUFA7CiB9CiAKIHN0YXRpYyB1MzIgdnQ1OTZfZnVuYyhzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpCkBAIC0zMDksNyArMzEwLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgaTJjX2FkYXB0ZXIgdnQ1OTZfYWRhcHRlciA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmlkCQk9IEkyQ19IV19TTUJVU19WSUEyLAotCS5jbGFzcwkJPSBJMkNfQ0xBU1NfSFdNT04sCisJLmNsYXNzCQk9IEkyQ19DTEFTU19IV01PTiB8IEkyQ19DTEFTU19TUEQsCiAJLmFsZ28JCT0gJnNtYnVzX2FsZ29yaXRobSwKIH07CiAKQEAgLTM1NCw2ICszNTUsMTAgQEAKIAl9CiAKIGZvdW5kOgorCWVycm9yID0gYWNwaV9jaGVja19yZWdpb24odnQ1OTZfc21iYSwgOCwgdnQ1OTZfZHJpdmVyLm5hbWUpOworCWlmIChlcnJvcikKKwkJcmV0dXJuIGVycm9yOworCiAJaWYgKCFyZXF1ZXN0X3JlZ2lvbih2dDU5Nl9zbWJhLCA4LCB2dDU5Nl9kcml2ZXIubmFtZSkpIHsKIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiU01CdXMgcmVnaW9uIDB4JXggYWxyZWFkeSBpbiB1c2UhXG4iLAogCQkJdnQ1OTZfc21iYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvaTJjLXZvb2RvbzMuYyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdm9vZG9vMy5jCmluZGV4IDg4YTM0NDcuLjFkNGFlMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdm9vZG9vMy5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9pMmMtdm9vZG9vMy5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICB2b29kb28zLmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChjKSAxOTk4LCAxOTk5ICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+LAogICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4sCiAgICAgUmFscGggTWV0emxlciA8cmprbUB0aHAudW5pLWtvZWxuLmRlPiwgYW5kCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9idXNzZXMvc2N4MjAwX2FjYi5jIGIvZHJpdmVycy9pMmMvYnVzc2VzL3NjeDIwMF9hY2IuYwppbmRleCA2MWFiZTBmLi5lZDc5NGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9idXNzZXMvc2N4MjAwX2FjYi5jCisrKyBiL2RyaXZlcnMvaTJjL2J1c3Nlcy9zY3gyMDBfYWNiLmMKQEAgLTQ0Miw3ICs0NDIsNyBAQAogCWFkYXB0ZXItPm93bmVyID0gVEhJU19NT0RVTEU7CiAJYWRhcHRlci0+aWQgPSBJMkNfSFdfU01CVVNfU0NYMjAwOwogCWFkYXB0ZXItPmFsZ28gPSAmc2N4MjAwX2FjYl9hbGdvcml0aG07Ci0JYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT047CisJYWRhcHRlci0+Y2xhc3MgPSBJMkNfQ0xBU1NfSFdNT04gfCBJMkNfQ0xBU1NfU1BEOwogCWFkYXB0ZXItPmRldi5wYXJlbnQgPSBkZXY7CiAKIAltdXRleF9pbml0KCZpZmFjZS0+bXV0ZXgpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvS2NvbmZpZyBiL2RyaXZlcnMvaTJjL2NoaXBzL0tjb25maWcKaW5kZXggMmRhMmVkZi4uNTBlMGE0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvS2NvbmZpZworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9LY29uZmlnCkBAIC0xNCw2ICsxNCwzMiBAQAogCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgZHMxNjgyLgogCitjb25maWcgQVQyNAorCXRyaXN0YXRlICJFRVBST01zIGZyb20gbW9zdCB2ZW5kb3JzIgorCWRlcGVuZHMgb24gU1lTRlMgJiYgRVhQRVJJTUVOVEFMCisJaGVscAorCSAgRW5hYmxlIHRoaXMgZHJpdmVyIHRvIGdldCByZWFkL3dyaXRlIHN1cHBvcnQgdG8gbW9zdCBJMkMgRUVQUk9NcywKKwkgIGFmdGVyIHlvdSBjb25maWd1cmUgdGhlIGRyaXZlciB0byBrbm93IGFib3V0IGVhY2ggRUVQUk9NIG9uCisJICB5b3VyIHRhcmdldCBib2FyZC4gIFVzZSB0aGVzZSBnZW5lcmljIGNoaXAgbmFtZXMsIGluc3RlYWQgb2YKKwkgIHZlbmRvci1zcGVjaWZpYyBvbmVzIGxpa2UgYXQyNGM2NCBvciAyNGxjMDI6CisKKwkgICAgIDI0YzAwLCAyNGMwMSwgMjRjMDIsIHNwZCAocmVhZG9ubHkgMjRjMDIpLCAyNGMwNCwgMjRjMDgsCisJICAgICAyNGMxNiwgMjRjMzIsIDI0YzY0LCAyNGMxMjgsIDI0YzI1NiwgMjRjNTEyLCAyNGMxMDI0CisKKwkgIFVubGVzcyB5b3UgbGlrZSBkYXRhIGxvc3MgcHV6emxlcywgYWx3YXlzIGJlIHN1cmUgdGhhdCBhbnkgY2hpcAorCSAgeW91IGNvbmZpZ3VyZSBhcyBhIDI0YzMyICgzMiBrYml0KSBvciBsYXJnZXIgaXMgTk9UIHJlYWxseSBhCisJICAyNGMxNiAoMTYga2JpdCkgb3Igc21hbGxlciwgYW5kIHZpY2UgdmVyc2EuIE1hcmtpbmcgdGhlIGNoaXAKKwkgIGFzIHJlYWQtb25seSB3b24ndCBoZWxwIHJlY292ZXIgZnJvbSB0aGlzLiBBbHNvLCBpZiB5b3VyIGNoaXAKKwkgIGhhcyBhbnkgc29mdHdhcmUgd3JpdGUtcHJvdGVjdCBtZWNoYW5pc20geW91IG1heSB3YW50IHRvIHJldmlldyB0aGUKKwkgIGNvZGUgdG8gbWFrZSBzdXJlIHRoaXMgZHJpdmVyIHdvbid0IHR1cm4gaXQgb24gYnkgYWNjaWRlbnQuCisKKwkgIElmIHlvdSB1c2UgdGhpcyB3aXRoIGFuIFNNQnVzIGFkYXB0ZXIgaW5zdGVhZCBvZiBhbiBJMkMgYWRhcHRlciwKKwkgIGZ1bGwgZnVuY3Rpb25hbGl0eSBpcyBub3QgYXZhaWxhYmxlLiAgT25seSBzbWFsbGVyIGRldmljZXMgYXJlCisJICBzdXBwb3J0ZWQgKDI0YzE2IGFuZCBiZWxvdywgbWF4IDQga0J5dGUpLgorCisJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCisJICB3aWxsIGJlIGNhbGxlZCBhdDI0LgorCiBjb25maWcgU0VOU09SU19FRVBST00KIAl0cmlzdGF0ZSAiRUVQUk9NIHJlYWRlciIKIAlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTApAQCAtMjYsOCArNTIsOCBAQAogCSAgd2lsbCBiZSBjYWxsZWQgZWVwcm9tLgogCiBjb25maWcgU0VOU09SU19QQ0Y4NTc0Ci0JdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NCBhbmQgUENGODU3NEEiCi0JZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwKKwl0cmlzdGF0ZSAiUGhpbGlwcyBQQ0Y4NTc0IGFuZCBQQ0Y4NTc0QSAoREVQUkVDQVRFRCkiCisJZGVwZW5kcyBvbiBFWFBFUklNRU5UQUwgJiYgR1BJT19QQ0Y4NTdYID0gIm4iCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgSWYgeW91IHNheSB5ZXMgaGVyZSB5b3UgZ2V0IHN1cHBvcnQgZm9yIFBoaWxpcHMgUENGODU3NCBhbmQgCkBAIC0zNiwxMiArNjIsMTYgQEAKIAkgIFRoaXMgZHJpdmVyIGNhbiBhbHNvIGJlIGJ1aWx0IGFzIGEgbW9kdWxlLiAgSWYgc28sIHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHBjZjg1NzQuCiAKKwkgIFRoaXMgZHJpdmVyIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgZHJvcHBlZCBzb29uLiBVc2UKKwkgIGRyaXZlcnMvZ3Bpby9wY2Y4NTd4LmMgaW5zdGVhZC4KKwogCSAgVGhlc2UgZGV2aWNlcyBhcmUgaGFyZCB0byBkZXRlY3QgYW5kIHJhcmVseSBmb3VuZCBvbiBtYWluc3RyZWFtCiAJICBoYXJkd2FyZS4gIElmIHVuc3VyZSwgc2F5IE4uCiAKIGNvbmZpZyBQQ0Y4NTc1Ci0JdHJpc3RhdGUgIlBoaWxpcHMgUENGODU3NSIKKwl0cmlzdGF0ZSAiUGhpbGlwcyBQQ0Y4NTc1IChERVBSRUNBVEVEKSIKIAlkZWZhdWx0IG4KKwlkZXBlbmRzIG9uIEdQSU9fUENGODU3WCA9ICJuIgogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciBQaGlsaXBzIFBDRjg1NzUgY2hpcC4KIAkgIFRoaXMgY2hpcCBpcyBhIDE2LWJpdCBJL08gZXhwYW5kZXIgZm9yIHRoZSBJMkMgYnVzLiAgU2V2ZXJhbCBvdGhlcgpAQCAtNTAsMTIgKzgwLDE1IEBACiAJICBUaGlzIGRyaXZlciBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBwY2Y4NTc1LgogCisJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlCisJICBkcml2ZXJzL2dwaW8vcGNmODU3eC5jIGluc3RlYWQuCisKIAkgIFRoaXMgZGV2aWNlIGlzIGhhcmQgdG8gZGV0ZWN0IGFuZCBpcyByYXJlbHkgZm91bmQgb24gbWFpbnN0cmVhbQogCSAgaGFyZHdhcmUuICBJZiB1bnN1cmUsIHNheSBOLgogCiBjb25maWcgU0VOU09SU19QQ0E5NTM5CiAJdHJpc3RhdGUgIlBoaWxpcHMgUENBOTUzOSAxNi1iaXQgSS9PIHBvcnQgKERFUFJFQ0FURUQpIgotCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEdQSU9fUENBOTUzOSA9ICJuIgorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMICYmIEdQSU9fUENBOTUzWCA9ICJuIgogCWhlbHAKIAkgIElmIHlvdSBzYXkgeWVzIGhlcmUgeW91IGdldCBzdXBwb3J0IGZvciB0aGUgUGhpbGlwcyBQQ0E5NTM5CiAJICAxNi1iaXQgSS9PIHBvcnQuCkBAIC02NCw3ICs5Nyw3IEBACiAJICB3aWxsIGJlIGNhbGxlZCBwY2E5NTM5LgogCiAJICBUaGlzIGRyaXZlciBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIGRyb3BwZWQgc29vbi4gVXNlCi0JICBkcml2ZXJzL2dwaW8vcGNhOTUzOS5jIGluc3RlYWQuCisJICBkcml2ZXJzL2dwaW8vcGNhOTUzeC5jIGluc3RlYWQuCiAKIGNvbmZpZyBTRU5TT1JTX1BDRjg1OTEKIAl0cmlzdGF0ZSAiUGhpbGlwcyBQQ0Y4NTkxIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvTWFrZWZpbGUgYi9kcml2ZXJzL2kyYy9jaGlwcy9NYWtlZmlsZQppbmRleCBlNDdhY2EwLi4zOWUzZTY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9NYWtlZmlsZQpAQCAtMTAsNiArMTAsNyBAQAogIwogCiBvYmotJChDT05GSUdfRFMxNjgyKQkJKz0gZHMxNjgyLm8KK29iai0kKENPTkZJR19BVDI0KQkJKz0gYXQyNC5vCiBvYmotJChDT05GSUdfU0VOU09SU19FRVBST00pCSs9IGVlcHJvbS5vCiBvYmotJChDT05GSUdfU0VOU09SU19NQVg2ODc1KQkrPSBtYXg2ODc1Lm8KIG9iai0kKENPTkZJR19TRU5TT1JTX1BDQTk1MzkpCSs9IHBjYTk1MzkubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvYXQyNC5jIGIvZHJpdmVycy9pMmMvY2hpcHMvYXQyNC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjRjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9hdDI0LmMKQEAgLTAsMCArMSw1ODMgQEAKKy8qCisgKiBhdDI0LmMgLSBoYW5kbGUgbW9zdCBJMkMgRUVQUk9NcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDA3IERhdmlkIEJyb3duZWxsCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggV29sZnJhbSBTYW5nLCBQZW5ndXRyb25peAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNmcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2xvZzIuaD4KKyNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvaTJjL2F0MjQuaD4KKworLyoKKyAqIEkyQyBFRVBST01zIGZyb20gbW9zdCB2ZW5kb3JzIGFyZSBpbmV4cGVuc2l2ZSBhbmQgbW9zdGx5IGludGVyY2hhbmdlYWJsZS4KKyAqIERpZmZlcmVuY2VzIGJldHdlZW4gZGlmZmVyZW50IHZlbmRvciBwcm9kdWN0IGxpbmVzIChsaWtlIEF0bWVsIEFUMjRDIG9yCisgKiBNaWNyb0NoaXAgMjRMQywgZXRjKSB3b24ndCBtdWNoIG1hdHRlciBmb3IgdHlwaWNhbCByZWFkL3dyaXRlIGFjY2Vzcy4KKyAqIFRoZXJlIGFyZSBhbHNvIEkyQyBSQU0gY2hpcHMsIGxpa2V3aXNlIGludGVyY2hhbmdlYWJsZS4gT25lIGV4YW1wbGUKKyAqIHdvdWxkIGJlIHRoZSBQQ0Y4NTcwLCB3aGljaCBhY3RzIGxpa2UgYSAyNGMwMiBFRVBST00gKDI1NiBieXRlcykuCisgKgorICogSG93ZXZlciwgbWlzY29uZmlndXJhdGlvbiBjYW4gbG9zZSBkYXRhLiAiU2V0IDE2LWJpdCBtZW1vcnkgYWRkcmVzcyIKKyAqIHRvIGEgcGFydCB3aXRoIDgtYml0IGFkZHJlc3Npbmcgd2lsbCBvdmVyd3JpdGUgZGF0YS4gV3JpdGluZyB3aXRoIHRvbworICogYmlnIGEgcGFnZSBzaXplIGFsc28gbG9zZXMgZGF0YS4gQW5kIGl0J3Mgbm90IHNhZmUgdG8gYXNzdW1lIHRoYXQgdGhlCisgKiBjb252ZW50aW9uYWwgYWRkcmVzc2VzIDB4NTAuLjB4NTcgb25seSBob2xkIGVlcHJvbXM7IGEgUENGODU2MyBSVEMKKyAqIHVzZXMgMHg1MSwgZm9yIGp1c3Qgb25lIGV4YW1wbGUuCisgKgorICogQWNjb3JkaW5nbHksIGV4cGxpY2l0IGJvYXJkLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZGF0YSBzaG91bGQgYmUgdXNlZAorICogaW4gYWxtb3N0IGFsbCBjYXNlcy4gKE9uZSBwYXJ0aWFsIGV4Y2VwdGlvbiBpcyBhbiBTTUJ1cyB1c2VkIHRvIGFjY2VzcworICogIlNQRCIgZGF0YSBmb3IgRFJBTSBzdGlja3MuIFRob3NlIG9ubHkgdXNlIDI0YzAyIEVFUFJPTXMuKQorICoKKyAqIFNvIHRoaXMgZHJpdmVyIHVzZXMgIm5ldyBzdHlsZSIgSTJDIGRyaXZlciBiaW5kaW5nLCBleHBlY3RpbmcgdG8gYmUKKyAqIHRvbGQgd2hhdCBkZXZpY2VzIGV4aXN0LiBUaGF0IG1heSBiZSBpbiBhcmNoL1gvbWFjaC1ZL2JvYXJkLVouYyBvcgorICogc2ltaWxhciBrZXJuZWwtcmVzaWRlbnQgdGFibGVzOyBvciwgY29uZmlndXJhdGlvbiBkYXRhIGNvbWluZyBmcm9tCisgKiBhIGJvb3Rsb2FkZXIuCisgKgorICogT3RoZXIgdGhhbiBiaW5kaW5nIG1vZGVsLCBjdXJyZW50IGRpZmZlcmVuY2VzIGZyb20gImVlcHJvbSIgZHJpdmVyIGFyZQorICogdGhhdCB0aGlzIG9uZSBoYW5kbGVzIHdyaXRlIGFjY2VzcyBhbmQgaXNuJ3QgcmVzdHJpY3RlZCB0byAyNGMwMiBkZXZpY2VzLgorICogSXQgYWxzbyBoYW5kbGVzIGxhcmdlciBkZXZpY2VzICgzMiBrYml0IGFuZCB1cCkgd2l0aCB0d28tYnl0ZSBhZGRyZXNzZXMsCisgKiB3aGljaCB3b24ndCB3b3JrIG9uIHB1cmUgU01CdXMgc3lzdGVtcy4KKyAqLworCitzdHJ1Y3QgYXQyNF9kYXRhIHsKKwlzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIGNoaXA7CisJYm9vbCB1c2Vfc21idXM7CisKKwkvKgorCSAqIExvY2sgcHJvdGVjdHMgYWdhaW5zdCBhY3Rpdml0aWVzIGZyb20gb3RoZXIgTGludXggdGFza3MsCisJICogYnV0IG5vdCBmcm9tIGNoYW5nZXMgYnkgb3RoZXIgSTJDIG1hc3RlcnMuCisJICovCisJc3RydWN0IG11dGV4IGxvY2s7CisJc3RydWN0IGJpbl9hdHRyaWJ1dGUgYmluOworCisJdTggKndyaXRlYnVmOworCXVuc2lnbmVkIHdyaXRlX21heDsKKwl1bnNpZ25lZCBudW1fYWRkcmVzc2VzOworCisJLyoKKwkgKiBTb21lIGNoaXBzIHRpZSB1cCBtdWx0aXBsZSBJMkMgYWRkcmVzc2VzOyBkdW1teSBkZXZpY2VzIHJlc2VydmUKKwkgKiB0aGVtIGZvciB1cywgYW5kIHdlJ2xsIHVzZSB0aGVtIHdpdGggU01CdXMgY2FsbHMuCisJICovCisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudFtdOworfTsKKworLyoKKyAqIFRoaXMgcGFyYW1ldGVyIGlzIHRvIGhlbHAgdGhpcyBkcml2ZXIgYXZvaWQgYmxvY2tpbmcgb3RoZXIgZHJpdmVycyBvdXQKKyAqIG9mIEkyQyBmb3IgcG90ZW50aWFsbHkgdHJvdWJsZXNvbWUgYW1vdW50cyBvZiB0aW1lLiBXaXRoIGEgMTAwIGtIeiBJMkMKKyAqIGNsb2NrLCBvbmUgMjU2IGJ5dGUgcmVhZCB0YWtlcyBhYm91dCAxLzQzIHNlY29uZCB3aGljaCBpcyBleGNlc3NpdmU7CisgKiBidXQgdGhlIDEvMTcwIHNlY29uZCBpdCB0YWtlcyBhdCA0MDAga0h6IG1heSBiZSBxdWl0ZSByZWFzb25hYmxlOyBhbmQKKyAqIGF0IDEgTUh6IChGbSspIGEgMS80MzAgc2Vjb25kIGRlbGF5IGNvdWxkIGVhc2lseSBiZSBpbnZpc2libGUuCisgKgorICogVGhpcyB2YWx1ZSBpcyBmb3JjZWQgdG8gYmUgYSBwb3dlciBvZiB0d28gc28gdGhhdCB3cml0ZXMgYWxpZ24gb24gcGFnZXMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpb19saW1pdCA9IDEyODsKK21vZHVsZV9wYXJhbShpb19saW1pdCwgdWludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKGlvX2xpbWl0LCAiTWF4aW11bSBieXRlcyBwZXIgSS9PIChkZWZhdWx0IDEyOCkiKTsKKworLyoKKyAqIFNwZWNzIG9mdGVuIGFsbG93IDUgbXNlYyBmb3IgYSBwYWdlIHdyaXRlLCBzb21ldGltZXMgMjAgbXNlYzsKKyAqIGl0J3MgaW1wb3J0YW50IHRvIHJlY292ZXIgZnJvbSB3cml0ZSB0aW1lb3V0cy4KKyAqLworc3RhdGljIHVuc2lnbmVkIHdyaXRlX3RpbWVvdXQgPSAyNTsKK21vZHVsZV9wYXJhbSh3cml0ZV90aW1lb3V0LCB1aW50LCAwKTsKK01PRFVMRV9QQVJNX0RFU0Mod3JpdGVfdGltZW91dCwgIlRpbWUgKGluIG1zKSB0byB0cnkgd3JpdGVzIChkZWZhdWx0IDI1KSIpOworCisjZGVmaW5lIEFUMjRfU0laRV9CWVRFTEVOIDUKKyNkZWZpbmUgQVQyNF9TSVpFX0ZMQUdTIDgKKworI2RlZmluZSBBVDI0X0JJVE1BU0soeCkgKEJJVCh4KSAtIDEpCisKKy8qIGNyZWF0ZSBub24temVybyBtYWdpYyB2YWx1ZSBmb3IgZ2l2ZW4gZWVwcm9tIHBhcmFtZXRlcnMgKi8KKyNkZWZpbmUgQVQyNF9ERVZJQ0VfTUFHSUMoX2xlbiwgX2ZsYWdzKSAJCVwKKwkoKDEgPDwgQVQyNF9TSVpFX0ZMQUdTIHwgKF9mbGFncykpIAkJXAorCSAgICA8PCBBVDI0X1NJWkVfQllURUxFTiB8IGlsb2cyKF9sZW4pKQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgYXQyNF9pZHNbXSA9IHsKKwkvKiBuZWVkcyA4IGFkZHJlc3NlcyBhcyBBMC1BMiBhcmUgaWdub3JlZCAqLworCXsgIjI0YzAwIiwgQVQyNF9ERVZJQ0VfTUFHSUMoMTI4IC8gOCwgQVQyNF9GTEFHX1RBS0U4QUREUikgfSwKKwkvKiBvbGQgdmFyaWFudHMgY2FuJ3QgYmUgaGFuZGxlZCB3aXRoIHRoaXMgZ2VuZXJpYyBlbnRyeSEgKi8KKwl7ICIyNGMwMSIsIEFUMjRfREVWSUNFX01BR0lDKDEwMjQgLyA4LCAwKSB9LAorCXsgIjI0YzAyIiwgQVQyNF9ERVZJQ0VfTUFHSUMoMjA0OCAvIDgsIDApIH0sCisJLyogc3BkIGlzIGEgMjRjMDIgaW4gbWVtb3J5IERJTU1zICovCisJeyAic3BkIiwgQVQyNF9ERVZJQ0VfTUFHSUMoMjA0OCAvIDgsCisJCUFUMjRfRkxBR19SRUFET05MWSB8IEFUMjRfRkxBR19JUlVHTykgfSwKKwl7ICIyNGMwNCIsIEFUMjRfREVWSUNFX01BR0lDKDQwOTYgLyA4LCAwKSB9LAorCS8qIDI0cmYwOCBxdWlyayBpcyBoYW5kbGVkIGF0IGkyYy1jb3JlICovCisJeyAiMjRjMDgiLCBBVDI0X0RFVklDRV9NQUdJQyg4MTkyIC8gOCwgMCkgfSwKKwl7ICIyNGMxNiIsIEFUMjRfREVWSUNFX01BR0lDKDE2Mzg0IC8gOCwgMCkgfSwKKwl7ICIyNGMzMiIsIEFUMjRfREVWSUNFX01BR0lDKDMyNzY4IC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGM2NCIsIEFUMjRfREVWSUNFX01BR0lDKDY1NTM2IC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGMxMjgiLCBBVDI0X0RFVklDRV9NQUdJQygxMzEwNzIgLyA4LCBBVDI0X0ZMQUdfQUREUjE2KSB9LAorCXsgIjI0YzI1NiIsIEFUMjRfREVWSUNFX01BR0lDKDI2MjE0NCAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiMjRjNTEyIiwgQVQyNF9ERVZJQ0VfTUFHSUMoNTI0Mjg4IC8gOCwgQVQyNF9GTEFHX0FERFIxNikgfSwKKwl7ICIyNGMxMDI0IiwgQVQyNF9ERVZJQ0VfTUFHSUMoMTA0ODU3NiAvIDgsIEFUMjRfRkxBR19BRERSMTYpIH0sCisJeyAiYXQyNCIsIDAgfSwKKwl7IC8qIEVORCBPRiBMSVNUICovIH0KK307CitNT0RVTEVfREVWSUNFX1RBQkxFKGkyYywgYXQyNF9pZHMpOworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisvKgorICogVGhpcyByb3V0aW5lIHN1cHBvcnRzIGNoaXBzIHdoaWNoIGNvbnN1bWUgbXVsdGlwbGUgSTJDIGFkZHJlc3Nlcy4gSXQKKyAqIGNvbXB1dGVzIHRoZSBhZGRyZXNzaW5nIGluZm9ybWF0aW9uIHRvIGJlIHVzZWQgZm9yIGEgZ2l2ZW4gci93IHJlcXVlc3QuCisgKiBBc3N1bWVzIHRoYXQgc2FuaXR5IGNoZWNrcyBmb3Igb2Zmc2V0IGhhcHBlbmVkIGF0IHN5c2ZzLWxheWVyLgorICovCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgKmF0MjRfdHJhbnNsYXRlX29mZnNldChzdHJ1Y3QgYXQyNF9kYXRhICphdDI0LAorCQl1bnNpZ25lZCAqb2Zmc2V0KQoreworCXVuc2lnbmVkIGk7CisKKwlpZiAoYXQyNC0+Y2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpIHsKKwkJaSA9ICpvZmZzZXQgPj4gMTY7CisJCSpvZmZzZXQgJj0gMHhmZmZmOworCX0gZWxzZSB7CisJCWkgPSAqb2Zmc2V0ID4+IDg7CisJCSpvZmZzZXQgJj0gMHhmZjsKKwl9CisKKwlyZXR1cm4gYXQyNC0+Y2xpZW50W2ldOworfQorCitzdGF0aWMgc3NpemVfdCBhdDI0X2VlcHJvbV9yZWFkKHN0cnVjdCBhdDI0X2RhdGEgKmF0MjQsIGNoYXIgKmJ1ZiwKKwkJdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGkyY19tc2cgbXNnWzJdOworCXU4IG1zZ2J1ZlsyXTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50OworCWludCBzdGF0dXMsIGk7CisKKwltZW1zZXQobXNnLCAwLCBzaXplb2YobXNnKSk7CisKKwkvKgorCSAqIFJFVklTSVQgc29tZSBtdWx0aS1hZGRyZXNzIGNoaXBzIGRvbid0IHJvbGxvdmVyIHBhZ2UgcmVhZHMgdG8KKwkgKiB0aGUgbmV4dCBzbGF2ZSBhZGRyZXNzLCBzbyB3ZSBtYXkgbmVlZCB0byB0cnVuY2F0ZSB0aGUgY291bnQuCisJICogVGhvc2UgY2hpcHMgbWlnaHQgbmVlZCBhbm90aGVyIHF1aXJrIGZsYWcuCisJICoKKwkgKiBJZiB0aGUgcmVhbCBoYXJkd2FyZSB1c2VkIGZvdXIgYWRqYWNlbnQgMjRjMDIgY2hpcHMgYW5kIHRoYXQKKwkgKiB3ZXJlIG1pc2NvbmZpZ3VyZWQgYXMgb25lIDI0YzA4LCB0aGF0IHdvdWxkIGJlIGEgc2ltaWxhciBlZmZlY3Q6CisJICogb25lICJlZXByb20iIGZpbGUgbm90IGZvdXIsIGJ1dCBsYXJnZXIgcmVhZHMgd291bGQgZmFpbCB3aGVuCisJICogdGhleSBjcm9zc2VkIGNlcnRhaW4gcGFnZXMuCisJICovCisKKwkvKgorCSAqIFNsYXZlIGFkZHJlc3MgYW5kIGJ5dGUgb2Zmc2V0IGRlcml2ZSBmcm9tIHRoZSBvZmZzZXQuIEFsd2F5cworCSAqIHNldCB0aGUgYnl0ZSBhZGRyZXNzOyBvbiBhIG11bHRpLW1hc3RlciBib2FyZCwgYW5vdGhlciBtYXN0ZXIKKwkgKiBtYXkgaGF2ZSBjaGFuZ2VkIHRoZSBjaGlwJ3MgImN1cnJlbnQiIGFkZHJlc3MgcG9pbnRlci4KKwkgKi8KKwljbGllbnQgPSBhdDI0X3RyYW5zbGF0ZV9vZmZzZXQoYXQyNCwgJm9mZnNldCk7CisKKwlpZiAoY291bnQgPiBpb19saW1pdCkKKwkJY291bnQgPSBpb19saW1pdDsKKworCS8qIFNtYWxsZXIgZWVwcm9tcyBjYW4gd29yayBnaXZlbiBzb21lIFNNQnVzIGV4dGVuc2lvbiBjYWxscyAqLworCWlmIChhdDI0LT51c2Vfc21idXMpIHsKKwkJaWYgKGNvdW50ID4gSTJDX1NNQlVTX0JMT0NLX01BWCkKKwkJCWNvdW50ID0gSTJDX1NNQlVTX0JMT0NLX01BWDsKKwkJc3RhdHVzID0gaTJjX3NtYnVzX3JlYWRfaTJjX2Jsb2NrX2RhdGEoY2xpZW50LCBvZmZzZXQsCisJCQkJY291bnQsIGJ1Zik7CisJCWRldl9kYmcoJmNsaWVudC0+ZGV2LCAic21idXMgcmVhZCAlemRAJWQgLS0+ICVkXG4iLAorCQkJCWNvdW50LCBvZmZzZXQsIHN0YXR1cyk7CisJCXJldHVybiAoc3RhdHVzIDwgMCkgPyAtRUlPIDogc3RhdHVzOworCX0KKworCS8qCisJICogV2hlbiB3ZSBoYXZlIGEgYmV0dGVyIGNob2ljZSB0aGFuIFNNQnVzIGNhbGxzLCB1c2UgYSBjb21iaW5lZAorCSAqIEkyQyBtZXNzYWdlLiBXcml0ZSBhZGRyZXNzOyB0aGVuIHJlYWQgdXAgdG8gaW9fbGltaXQgZGF0YSBieXRlcy4KKwkgKiBOb3RlIHRoYXQgcmVhZCBwYWdlIHJvbGxvdmVyIGhlbHBzIHVzIGhlcmUgKHVubGlrZSB3cml0ZXMpLgorCSAqIG1zZ2J1ZiBpcyB1OCBhbmQgd2lsbCBjYXN0IHRvIG91ciBuZWVkcy4KKwkgKi8KKwlpID0gMDsKKwlpZiAoYXQyNC0+Y2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpCisJCW1zZ2J1ZltpKytdID0gb2Zmc2V0ID4+IDg7CisJbXNnYnVmW2krK10gPSBvZmZzZXQ7CisKKwltc2dbMF0uYWRkciA9IGNsaWVudC0+YWRkcjsKKwltc2dbMF0uYnVmID0gbXNnYnVmOworCW1zZ1swXS5sZW4gPSBpOworCisJbXNnWzFdLmFkZHIgPSBjbGllbnQtPmFkZHI7CisJbXNnWzFdLmZsYWdzID0gSTJDX01fUkQ7CisJbXNnWzFdLmJ1ZiA9IGJ1ZjsKKwltc2dbMV0ubGVuID0gY291bnQ7CisKKwlzdGF0dXMgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCBtc2csIDIpOworCWRldl9kYmcoJmNsaWVudC0+ZGV2LCAiaTJjIHJlYWQgJXpkQCVkIC0tPiAlZFxuIiwKKwkJCWNvdW50LCBvZmZzZXQsIHN0YXR1cyk7CisKKwlpZiAoc3RhdHVzID09IDIpCisJCXJldHVybiBjb3VudDsKKwllbHNlIGlmIChzdGF0dXMgPj0gMCkKKwkJcmV0dXJuIC1FSU87CisJZWxzZQorCQlyZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgc3NpemVfdCBhdDI0X2Jpbl9yZWFkKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqYXR0ciwKKwkJY2hhciAqYnVmLCBsb2ZmX3Qgb2ZmLCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGF0MjRfZGF0YSAqYXQyNDsKKwlzc2l6ZV90IHJldHZhbCA9IDA7CisKKwlhdDI0ID0gZGV2X2dldF9kcnZkYXRhKGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZGV2aWNlLCBrb2JqKSk7CisKKwlpZiAodW5saWtlbHkoIWNvdW50KSkKKwkJcmV0dXJuIGNvdW50OworCisJLyoKKwkgKiBSZWFkIGRhdGEgZnJvbSBjaGlwLCBwcm90ZWN0aW5nIGFnYWluc3QgY29uY3VycmVudCB1cGRhdGVzCisJICogZnJvbSB0aGlzIGhvc3QsIGJ1dCBub3QgZnJvbSBvdGhlciBJMkMgbWFzdGVycy4KKwkgKi8KKwltdXRleF9sb2NrKCZhdDI0LT5sb2NrKTsKKworCXdoaWxlIChjb3VudCkgeworCQlzc2l6ZV90CXN0YXR1czsKKworCQlzdGF0dXMgPSBhdDI0X2VlcHJvbV9yZWFkKGF0MjQsIGJ1Ziwgb2ZmLCBjb3VudCk7CisJCWlmIChzdGF0dXMgPD0gMCkgeworCQkJaWYgKHJldHZhbCA9PSAwKQorCQkJCXJldHZhbCA9IHN0YXR1czsKKwkJCWJyZWFrOworCQl9CisJCWJ1ZiArPSBzdGF0dXM7CisJCW9mZiArPSBzdGF0dXM7CisJCWNvdW50IC09IHN0YXR1czsKKwkJcmV0dmFsICs9IHN0YXR1czsKKwl9CisKKwltdXRleF91bmxvY2soJmF0MjQtPmxvY2spOworCisJcmV0dXJuIHJldHZhbDsKK30KKworCisvKgorICogUkVWSVNJVDogZXhwb3J0IGF0MjRfYmlue3JlYWQsd3JpdGV9KCkgdG8gbGV0IG90aGVyIGtlcm5lbCBjb2RlIHVzZQorICogZWVwcm9tIGRhdGEuIEZvciBleGFtcGxlLCBpdCBtaWdodCBob2xkIGEgYm9hcmQncyBFdGhlcm5ldCBhZGRyZXNzLCBvcgorICogYm9hcmQtc3BlY2lmaWMgY2FsaWJyYXRpb24gZGF0YSBnZW5lcmF0ZWQgb24gdGhlIG1hbnVmYWN0dXJpbmcgZmxvb3IuCisgKi8KKworCisvKgorICogTm90ZSB0aGF0IGlmIHRoZSBoYXJkd2FyZSB3cml0ZS1wcm90ZWN0IHBpbiBpcyBwdWxsZWQgaGlnaCwgdGhlIHdob2xlCisgKiBjaGlwIGlzIG5vcm1hbGx5IHdyaXRlIHByb3RlY3RlZC4gQnV0IHRoZXJlIGFyZSBwbGVudHkgb2YgcHJvZHVjdAorICogdmFyaWFudHMgaGVyZSwgaW5jbHVkaW5nIE9UUCBmdXNlcyBhbmQgcGFydGlhbCBjaGlwIHByb3RlY3QuCisgKgorICogV2Ugb25seSB1c2UgcGFnZSBtb2RlIHdyaXRlczsgdGhlIGFsdGVybmF0aXZlIGlzIHNsb29vb3cuIFRoaXMgcm91dGluZQorICogd3JpdGVzIGF0IG1vc3Qgb25lIHBhZ2UuCisgKi8KK3N0YXRpYyBzc2l6ZV90IGF0MjRfZWVwcm9tX3dyaXRlKHN0cnVjdCBhdDI0X2RhdGEgKmF0MjQsIGNoYXIgKmJ1ZiwKKwkJdW5zaWduZWQgb2Zmc2V0LCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKwlzdHJ1Y3QgaTJjX21zZyBtc2c7CisJc3NpemVfdCBzdGF0dXM7CisJdW5zaWduZWQgbG9uZyB0aW1lb3V0LCB3cml0ZV90aW1lOworCXVuc2lnbmVkIG5leHRfcGFnZTsKKworCS8qIEdldCBjb3JyZXNwb25kaW5nIEkyQyBhZGRyZXNzIGFuZCBhZGp1c3Qgb2Zmc2V0ICovCisJY2xpZW50ID0gYXQyNF90cmFuc2xhdGVfb2Zmc2V0KGF0MjQsICZvZmZzZXQpOworCisJLyogd3JpdGVfbWF4IGlzIGF0IG1vc3QgYSBwYWdlICovCisJaWYgKGNvdW50ID4gYXQyNC0+d3JpdGVfbWF4KQorCQljb3VudCA9IGF0MjQtPndyaXRlX21heDsKKworCS8qIE5ldmVyIHJvbGwgb3ZlciBiYWNrd2FyZHMsIHRvIHRoZSBzdGFydCBvZiB0aGlzIHBhZ2UgKi8KKwluZXh0X3BhZ2UgPSByb3VuZHVwKG9mZnNldCArIDEsIGF0MjQtPmNoaXAucGFnZV9zaXplKTsKKwlpZiAob2Zmc2V0ICsgY291bnQgPiBuZXh0X3BhZ2UpCisJCWNvdW50ID0gbmV4dF9wYWdlIC0gb2Zmc2V0OworCisJLyogSWYgd2UnbGwgdXNlIEkyQyBjYWxscyBmb3IgSS9PLCBzZXQgdXAgdGhlIG1lc3NhZ2UgKi8KKwlpZiAoIWF0MjQtPnVzZV9zbWJ1cykgeworCQlpbnQgaSA9IDA7CisKKwkJbXNnLmFkZHIgPSBjbGllbnQtPmFkZHI7CisJCW1zZy5mbGFncyA9IDA7CisKKwkJLyogbXNnLmJ1ZiBpcyB1OCBhbmQgY2FzdHMgd2lsbCBtYXNrIHRoZSB2YWx1ZXMgKi8KKwkJbXNnLmJ1ZiA9IGF0MjQtPndyaXRlYnVmOworCQlpZiAoYXQyNC0+Y2hpcC5mbGFncyAmIEFUMjRfRkxBR19BRERSMTYpCisJCQltc2cuYnVmW2krK10gPSBvZmZzZXQgPj4gODsKKworCQltc2cuYnVmW2krK10gPSBvZmZzZXQ7CisJCW1lbWNweSgmbXNnLmJ1ZltpXSwgYnVmLCBjb3VudCk7CisJCW1zZy5sZW4gPSBpICsgY291bnQ7CisJfQorCisJLyoKKwkgKiBXcml0ZXMgZmFpbCBpZiB0aGUgcHJldmlvdXMgb25lIGRpZG4ndCBjb21wbGV0ZSB5ZXQuIFdlIG1heQorCSAqIGxvb3AgYSBmZXcgdGltZXMgdW50aWwgdGhpcyBvbmUgc3VjY2VlZHMsIHdhaXRpbmcgYXQgbGVhc3QKKwkgKiBsb25nIGVub3VnaCBmb3Igb25lIGVudGlyZSBwYWdlIHdyaXRlIHRvIHdvcmsuCisJICovCisJdGltZW91dCA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKHdyaXRlX3RpbWVvdXQpOworCWRvIHsKKwkJd3JpdGVfdGltZSA9IGppZmZpZXM7CisJCWlmIChhdDI0LT51c2Vfc21idXMpIHsKKwkJCXN0YXR1cyA9IGkyY19zbWJ1c193cml0ZV9pMmNfYmxvY2tfZGF0YShjbGllbnQsCisJCQkJCW9mZnNldCwgY291bnQsIGJ1Zik7CisJCQlpZiAoc3RhdHVzID09IDApCisJCQkJc3RhdHVzID0gY291bnQ7CisJCX0gZWxzZSB7CisJCQlzdGF0dXMgPSBpMmNfdHJhbnNmZXIoY2xpZW50LT5hZGFwdGVyLCAmbXNnLCAxKTsKKwkJCWlmIChzdGF0dXMgPT0gMSkKKwkJCQlzdGF0dXMgPSBjb3VudDsKKwkJfQorCQlkZXZfZGJnKCZjbGllbnQtPmRldiwgIndyaXRlICV6ZEAlZCAtLT4gJXpkICglbGQpXG4iLAorCQkJCWNvdW50LCBvZmZzZXQsIHN0YXR1cywgamlmZmllcyk7CisKKwkJaWYgKHN0YXR1cyA9PSBjb3VudCkKKwkJCXJldHVybiBjb3VudDsKKworCQkvKiBSRVZJU0lUOiBhdCBIWj0xMDAsIHRoaXMgaXMgc2xvb29vdyAqLworCQltc2xlZXAoMSk7CisJfSB3aGlsZSAodGltZV9iZWZvcmUod3JpdGVfdGltZSwgdGltZW91dCkpOworCisJcmV0dXJuIC1FVElNRURPVVQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGF0MjRfYmluX3dyaXRlKHN0cnVjdCBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSAqYXR0ciwKKwkJY2hhciAqYnVmLCBsb2ZmX3Qgb2ZmLCBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGF0MjRfZGF0YSAqYXQyNDsKKwlzc2l6ZV90IHJldHZhbCA9IDA7CisKKwlhdDI0ID0gZGV2X2dldF9kcnZkYXRhKGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgZGV2aWNlLCBrb2JqKSk7CisKKwlpZiAodW5saWtlbHkoIWNvdW50KSkKKwkJcmV0dXJuIGNvdW50OworCisJLyoKKwkgKiBXcml0ZSBkYXRhIHRvIGNoaXAsIHByb3RlY3RpbmcgYWdhaW5zdCBjb25jdXJyZW50IHVwZGF0ZXMKKwkgKiBmcm9tIHRoaXMgaG9zdCwgYnV0IG5vdCBmcm9tIG90aGVyIEkyQyBtYXN0ZXJzLgorCSAqLworCW11dGV4X2xvY2soJmF0MjQtPmxvY2spOworCisJd2hpbGUgKGNvdW50KSB7CisJCXNzaXplX3QJc3RhdHVzOworCisJCXN0YXR1cyA9IGF0MjRfZWVwcm9tX3dyaXRlKGF0MjQsIGJ1Ziwgb2ZmLCBjb3VudCk7CisJCWlmIChzdGF0dXMgPD0gMCkgeworCQkJaWYgKHJldHZhbCA9PSAwKQorCQkJCXJldHZhbCA9IHN0YXR1czsKKwkJCWJyZWFrOworCQl9CisJCWJ1ZiArPSBzdGF0dXM7CisJCW9mZiArPSBzdGF0dXM7CisJCWNvdW50IC09IHN0YXR1czsKKwkJcmV0dmFsICs9IHN0YXR1czsKKwl9CisKKwltdXRleF91bmxvY2soJmF0MjQtPmxvY2spOworCisJcmV0dXJuIHJldHZhbDsKK30KKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworc3RhdGljIGludCBhdDI0X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZCkKK3sKKwlzdHJ1Y3QgYXQyNF9wbGF0Zm9ybV9kYXRhIGNoaXA7CisJYm9vbCB3cml0YWJsZTsKKwlib29sIHVzZV9zbWJ1cyA9IGZhbHNlOworCXN0cnVjdCBhdDI0X2RhdGEgKmF0MjQ7CisJaW50IGVycjsKKwl1bnNpZ25lZCBpLCBudW1fYWRkcmVzc2VzOworCWtlcm5lbF91bG9uZ190IG1hZ2ljOworCisJaWYgKGNsaWVudC0+ZGV2LnBsYXRmb3JtX2RhdGEpIHsKKwkJY2hpcCA9ICooc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSAqKWNsaWVudC0+ZGV2LnBsYXRmb3JtX2RhdGE7CisJfSBlbHNlIHsKKwkJaWYgKCFpZC0+ZHJpdmVyX2RhdGEpIHsKKwkJCWVyciA9IC1FTk9ERVY7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwkJbWFnaWMgPSBpZC0+ZHJpdmVyX2RhdGE7CisJCWNoaXAuYnl0ZV9sZW4gPSBCSVQobWFnaWMgJiBBVDI0X0JJVE1BU0soQVQyNF9TSVpFX0JZVEVMRU4pKTsKKwkJbWFnaWMgPj49IEFUMjRfU0laRV9CWVRFTEVOOworCQljaGlwLmZsYWdzID0gbWFnaWMgJiBBVDI0X0JJVE1BU0soQVQyNF9TSVpFX0ZMQUdTKTsKKwkJLyoKKwkJICogVGhpcyBpcyBzbG93LCBidXQgd2UgY2FuJ3Qga25vdyBhbGwgZWVwcm9tcywgc28gd2UgYmV0dGVyCisJCSAqIHBsYXkgc2FmZS4gU3BlY2lmeWluZyBjdXN0b20gZWVwcm9tLXR5cGVzIHZpYSBwbGF0Zm9ybV9kYXRhCisJCSAqIGlzIHJlY29tbWVuZGVkIGFueWhvdy4KKwkJICovCisJCWNoaXAucGFnZV9zaXplID0gMTsKKwl9CisKKwlpZiAoIWlzX3Bvd2VyX29mXzIoY2hpcC5ieXRlX2xlbikpCisJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCSJieXRlX2xlbiBsb29rcyBzdXNwaWNpb3VzIChubyBwb3dlciBvZiAyKSFcbiIpOworCWlmICghaXNfcG93ZXJfb2ZfMihjaGlwLnBhZ2Vfc2l6ZSkpCisJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCSJwYWdlX3NpemUgbG9va3Mgc3VzcGljaW91cyAobm8gcG93ZXIgb2YgMikhXG4iKTsKKworCS8qIFVzZSBJMkMgb3BlcmF0aW9ucyB1bmxlc3Mgd2UncmUgc3R1Y2sgd2l0aCBTTUJ1cyBleHRlbnNpb25zLiAqLworCWlmICghaTJjX2NoZWNrX2Z1bmN0aW9uYWxpdHkoY2xpZW50LT5hZGFwdGVyLCBJMkNfRlVOQ19JMkMpKSB7CisJCWlmIChjaGlwLmZsYWdzICYgQVQyNF9GTEFHX0FERFIxNikgeworCQkJZXJyID0gLUVQRk5PU1VQUE9SVDsKKwkJCWdvdG8gZXJyX291dDsKKwkJfQorCQlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwKKwkJCQlJMkNfRlVOQ19TTUJVU19SRUFEX0kyQ19CTE9DSykpIHsKKwkJCWVyciA9IC1FUEZOT1NVUFBPUlQ7CisJCQlnb3RvIGVycl9vdXQ7CisJCX0KKwkJdXNlX3NtYnVzID0gdHJ1ZTsKKwl9CisKKwlpZiAoY2hpcC5mbGFncyAmIEFUMjRfRkxBR19UQUtFOEFERFIpCisJCW51bV9hZGRyZXNzZXMgPSA4OworCWVsc2UKKwkJbnVtX2FkZHJlc3NlcyA9CURJVl9ST1VORF9VUChjaGlwLmJ5dGVfbGVuLAorCQkJKGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfQUREUjE2KSA/IDY1NTM2IDogMjU2KTsKKworCWF0MjQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYXQyNF9kYXRhKSArCisJCW51bV9hZGRyZXNzZXMgKiBzaXplb2Yoc3RydWN0IGkyY19jbGllbnQgKiksIEdGUF9LRVJORUwpOworCWlmICghYXQyNCkgeworCQllcnIgPSAtRU5PTUVNOworCQlnb3RvIGVycl9vdXQ7CisJfQorCisJbXV0ZXhfaW5pdCgmYXQyNC0+bG9jayk7CisJYXQyNC0+dXNlX3NtYnVzID0gdXNlX3NtYnVzOworCWF0MjQtPmNoaXAgPSBjaGlwOworCWF0MjQtPm51bV9hZGRyZXNzZXMgPSBudW1fYWRkcmVzc2VzOworCisJLyoKKwkgKiBFeHBvcnQgdGhlIEVFUFJPTSBieXRlcyB0aHJvdWdoIHN5c2ZzLCBzaW5jZSB0aGF0J3MgY29udmVuaWVudC4KKwkgKiBCeSBkZWZhdWx0LCBvbmx5IHJvb3Qgc2hvdWxkIHNlZSB0aGUgZGF0YSAobWF5YmUgcGFzc3dvcmRzIGV0YykKKwkgKi8KKwlhdDI0LT5iaW4uYXR0ci5uYW1lID0gImVlcHJvbSI7CisJYXQyNC0+YmluLmF0dHIubW9kZSA9IGNoaXAuZmxhZ3MgJiBBVDI0X0ZMQUdfSVJVR08gPyBTX0lSVUdPIDogU19JUlVTUjsKKwlhdDI0LT5iaW4uYXR0ci5vd25lciA9IFRISVNfTU9EVUxFOworCWF0MjQtPmJpbi5yZWFkID0gYXQyNF9iaW5fcmVhZDsKKwlhdDI0LT5iaW4uc2l6ZSA9IGNoaXAuYnl0ZV9sZW47CisKKwl3cml0YWJsZSA9ICEoY2hpcC5mbGFncyAmIEFUMjRfRkxBR19SRUFET05MWSk7CisJaWYgKHdyaXRhYmxlKSB7CisJCWlmICghdXNlX3NtYnVzIHx8IGkyY19jaGVja19mdW5jdGlvbmFsaXR5KGNsaWVudC0+YWRhcHRlciwKKwkJCQlJMkNfRlVOQ19TTUJVU19XUklURV9JMkNfQkxPQ0spKSB7CisKKwkJCXVuc2lnbmVkIHdyaXRlX21heCA9IGNoaXAucGFnZV9zaXplOworCisJCQlhdDI0LT5iaW4ud3JpdGUgPSBhdDI0X2Jpbl93cml0ZTsKKwkJCWF0MjQtPmJpbi5hdHRyLm1vZGUgfD0gU19JV1VTUjsKKworCQkJaWYgKHdyaXRlX21heCA+IGlvX2xpbWl0KQorCQkJCXdyaXRlX21heCA9IGlvX2xpbWl0OworCQkJaWYgKHVzZV9zbWJ1cyAmJiB3cml0ZV9tYXggPiBJMkNfU01CVVNfQkxPQ0tfTUFYKQorCQkJCXdyaXRlX21heCA9IEkyQ19TTUJVU19CTE9DS19NQVg7CisJCQlhdDI0LT53cml0ZV9tYXggPSB3cml0ZV9tYXg7CisKKwkJCS8qIGJ1ZmZlciAoZGF0YSArIGFkZHJlc3MgYXQgdGhlIGJlZ2lubmluZykgKi8KKwkJCWF0MjQtPndyaXRlYnVmID0ga21hbGxvYyh3cml0ZV9tYXggKyAyLCBHRlBfS0VSTkVMKTsKKwkJCWlmICghYXQyNC0+d3JpdGVidWYpIHsKKwkJCQllcnIgPSAtRU5PTUVNOworCQkJCWdvdG8gZXJyX3N0cnVjdDsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCQkiY2Fubm90IHdyaXRlIGR1ZSB0byBjb250cm9sbGVyIHJlc3RyaWN0aW9ucy4iKTsKKwkJfQorCX0KKworCWF0MjQtPmNsaWVudFswXSA9IGNsaWVudDsKKworCS8qIHVzZSBkdW1teSBkZXZpY2VzIGZvciBtdWx0aXBsZS1hZGRyZXNzIGNoaXBzICovCisJZm9yIChpID0gMTsgaSA8IG51bV9hZGRyZXNzZXM7IGkrKykgeworCQlhdDI0LT5jbGllbnRbaV0gPSBpMmNfbmV3X2R1bW15KGNsaWVudC0+YWRhcHRlciwKKwkJCQkJY2xpZW50LT5hZGRyICsgaSk7CisJCWlmICghYXQyNC0+Y2xpZW50W2ldKSB7CisJCQlkZXZfZXJyKCZjbGllbnQtPmRldiwgImFkZHJlc3MgMHglMDJ4IHVuYXZhaWxhYmxlXG4iLAorCQkJCQljbGllbnQtPmFkZHIgKyBpKTsKKwkJCWVyciA9IC1FQUREUklOVVNFOworCQkJZ290byBlcnJfY2xpZW50czsKKwkJfQorCX0KKworCWVyciA9IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgmY2xpZW50LT5kZXYua29iaiwgJmF0MjQtPmJpbik7CisJaWYgKGVycikKKwkJZ290byBlcnJfY2xpZW50czsKKworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGF0MjQpOworCisJZGV2X2luZm8oJmNsaWVudC0+ZGV2LCAiJVpkIGJ5dGUgJXMgRUVQUk9NICVzXG4iLAorCQlhdDI0LT5iaW4uc2l6ZSwgY2xpZW50LT5uYW1lLAorCQl3cml0YWJsZSA/ICIod3JpdGFibGUpIiA6ICIocmVhZC1vbmx5KSIpOworCWRldl9kYmcoJmNsaWVudC0+ZGV2LAorCQkicGFnZV9zaXplICVkLCBudW1fYWRkcmVzc2VzICVkLCB3cml0ZV9tYXggJWQlc1xuIiwKKwkJY2hpcC5wYWdlX3NpemUsIG51bV9hZGRyZXNzZXMsCisJCWF0MjQtPndyaXRlX21heCwKKwkJdXNlX3NtYnVzID8gIiwgdXNlX3NtYnVzIiA6ICIiKTsKKworCXJldHVybiAwOworCitlcnJfY2xpZW50czoKKwlmb3IgKGkgPSAxOyBpIDwgbnVtX2FkZHJlc3NlczsgaSsrKQorCQlpZiAoYXQyNC0+Y2xpZW50W2ldKQorCQkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGF0MjQtPmNsaWVudFtpXSk7CisKKwlrZnJlZShhdDI0LT53cml0ZWJ1Zik7CitlcnJfc3RydWN0OgorCWtmcmVlKGF0MjQpOworZXJyX291dDoKKwlkZXZfZGJnKCZjbGllbnQtPmRldiwgInByb2JlIGVycm9yICVkXG4iLCBlcnIpOworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgX19kZXZleGl0IGF0MjRfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IGF0MjRfZGF0YSAqYXQyNDsKKwlpbnQgaTsKKworCWF0MjQgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlzeXNmc19yZW1vdmVfYmluX2ZpbGUoJmNsaWVudC0+ZGV2LmtvYmosICZhdDI0LT5iaW4pOworCisJZm9yIChpID0gMTsgaSA8IGF0MjQtPm51bV9hZGRyZXNzZXM7IGkrKykKKwkJaTJjX3VucmVnaXN0ZXJfZGV2aWNlKGF0MjQtPmNsaWVudFtpXSk7CisKKwlrZnJlZShhdDI0LT53cml0ZWJ1Zik7CisJa2ZyZWUoYXQyNCk7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgTlVMTCk7CisJcmV0dXJuIDA7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhdDI0X2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJhdDI0IiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUgPSBhdDI0X3Byb2JlLAorCS5yZW1vdmUgPSBfX2RldmV4aXRfcChhdDI0X3JlbW92ZSksCisJLmlkX3RhYmxlID0gYXQyNF9pZHMsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBhdDI0X2luaXQodm9pZCkKK3sKKwlpb19saW1pdCA9IHJvdW5kZG93bl9wb3dfb2ZfdHdvKGlvX2xpbWl0KTsKKwlyZXR1cm4gaTJjX2FkZF9kcml2ZXIoJmF0MjRfZHJpdmVyKTsKK30KK21vZHVsZV9pbml0KGF0MjRfaW5pdCk7CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdDI0X2V4aXQodm9pZCkKK3sKKwlpMmNfZGVsX2RyaXZlcigmYXQyNF9kcml2ZXIpOworfQorbW9kdWxlX2V4aXQoYXQyNF9leGl0KTsKKworTU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIG1vc3QgSTJDIEVFUFJPTXMiKTsKK01PRFVMRV9BVVRIT1IoIkRhdmlkIEJyb3duZWxsIGFuZCBXb2xmcmFtIFNhbmciKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2VlcHJvbS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKaW5kZXggN2RlZTAwMS4uMzczZWE4ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvZWVwcm9tLmMKQEAgLTEsMTUgKzEsOSBAQAogLyoKLSAgICBlZXByb20uYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgICBtb25pdG9yaW5nCiAgICAgQ29weXJpZ2h0IChDKSAxOTk4LCAxOTk5ICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+IGFuZAogCQkJICAgICAgIFBoaWxpcCBFZGVsYnJvY2sgPHBoaWxAbmV0cm9lZGdlLmNvbT4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDMgR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVnQGtyb2FoLmNvbT4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDMgSUJNIENvcnAuCi0KLSAgICAyMDA0LTAxLTE2ICBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KLSAgICBEaXZpZGUgdGhlIGVlcHJvbSBpbiAzMi1ieXRlIChhcmJpdHJhcnkpIHNsaWNlcy4gVGhpcyBzaWduaWZpY2FudGx5Ci0gICAgc3BlZWRzIHNlbnNvcnMgdXAsIGFzIHdlbGwgYXMgdmFyaW91cyBzY3JpcHRzIHVzaW5nIHRoZSBlZXByb20KLSAgICBtb2R1bGUuCisgICAgQ29weXJpZ2h0IChDKSAyMDA0IEplYW4gRGVsdmFyZSA8a2hhbGlAbGludXgtZnIub3JnPgogCiAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtNzgsNyArNzIsNyBAQAogc3RhdGljIHZvaWQgZWVwcm9tX3VwZGF0ZV9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggc2xpY2UpCiB7CiAJc3RydWN0IGVlcHJvbV9kYXRhICpkYXRhID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7Ci0JaW50IGksIGo7CisJaW50IGk7CiAKIAltdXRleF9sb2NrKCZkYXRhLT51cGRhdGVfbG9jayk7CiAKQEAgLTkzLDE1ICs4NywxMiBAQAogCQkJCQkJCSE9IDMyKQogCQkJCQlnb3RvIGV4aXQ7CiAJCX0gZWxzZSB7Ci0JCQlpZiAoaTJjX3NtYnVzX3dyaXRlX2J5dGUoY2xpZW50LCBzbGljZSA8PCA1KSkgewotCQkJCWRldl9kYmcoJmNsaWVudC0+ZGV2LCAiZWVwcm9tIHJlYWQgc3RhcnQgaGFzIGZhaWxlZCFcbiIpOwotCQkJCWdvdG8gZXhpdDsKLQkJCX0KLQkJCWZvciAoaSA9IHNsaWNlIDw8IDU7IGkgPCAoc2xpY2UgKyAxKSA8PCA1OyBpKyspIHsKLQkJCQlqID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShjbGllbnQpOwotCQkJCWlmIChqIDwgMCkKKwkJCWZvciAoaSA9IHNsaWNlIDw8IDU7IGkgPCAoc2xpY2UgKyAxKSA8PCA1OyBpICs9IDIpIHsKKwkJCQlpbnQgd29yZCA9IGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YShjbGllbnQsIGkpOworCQkJCWlmICh3b3JkIDwgMCkKIAkJCQkJZ290byBleGl0OwotCQkJCWRhdGEtPmRhdGFbaV0gPSAodTgpIGo7CisJCQkJZGF0YS0+ZGF0YVtpXSA9IHdvcmQgJiAweGZmOworCQkJCWRhdGEtPmRhdGFbaSArIDFdID0gd29yZCA+PiA4OwogCQkJfQogCQl9CiAJCWRhdGEtPmxhc3RfdXBkYXRlZFtzbGljZV0gPSBqaWZmaWVzOwpAQCAtMTU5LDI0ICsxNTAsMzMgQEAKIAogc3RhdGljIGludCBlZXByb21fYXR0YWNoX2FkYXB0ZXIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyKQogeworCWlmICghKGFkYXB0ZXItPmNsYXNzICYgKEkyQ19DTEFTU19EREMgfCBJMkNfQ0xBU1NfU1BEKSkpCisJCXJldHVybiAwOwogCXJldHVybiBpMmNfcHJvYmUoYWRhcHRlciwgJmFkZHJfZGF0YSwgZWVwcm9tX2RldGVjdCk7CiB9CiAKIC8qIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGkyY19wcm9iZSAqLwogc3RhdGljIGludCBlZXByb21fZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IGVlcHJvbV9kYXRhICpkYXRhOwogCWludCBlcnIgPSAwOwogCi0JLyogVGhlcmUgYXJlIHRocmVlIHdheXMgd2UgY2FuIHJlYWQgdGhlIEVFUFJPTSBkYXRhOgorCS8qIEVESUQgRUVQUk9NcyBhcmUgb2Z0ZW4gMjRDMDAgRUVQUk9Ncywgd2hpY2ggYW5zd2VyIHRvIGFsbAorCSAgIGFkZHJlc3NlcyAweDUwLTB4NTcsIGJ1dCB3ZSBvbmx5IGNhcmUgYWJvdXQgMHg1MC4gU28gZGVjbGluZQorCSAgIGF0dGFjaGluZyB0byBhZGRyZXNzZXMgPj0gMHg1MSBvbiBEREMgYnVzZXMgKi8KKwlpZiAoIShhZGFwdGVyLT5jbGFzcyAmIEkyQ19DTEFTU19TUEQpICYmIGFkZHJlc3MgPj0gMHg1MSkKKwkJZ290byBleGl0OworCisJLyogVGhlcmUgYXJlIGZvdXIgd2F5cyB3ZSBjYW4gcmVhZCB0aGUgRUVQUk9NIGRhdGE6CiAJICAgKDEpIEkyQyBibG9jayByZWFkcyAoZmFzdGVyLCBidXQgdW5zdXBwb3J0ZWQgYnkgbW9zdCBhZGFwdGVycykKLQkgICAoMikgQ29uc2VjdXRpdmUgYnl0ZSByZWFkcyAoMTAwJSBvdmVyaGVhZCkKLQkgICAoMykgUmVndWxhciBieXRlIGRhdGEgcmVhZHMgKDIwMCUgb3ZlcmhlYWQpCi0JICAgVGhlIHRoaXJkIG1ldGhvZCBpcyBub3QgaW1wbGVtZW50ZWQgYnkgdGhpcyBkcml2ZXIgYmVjYXVzZSBhbGwKLQkgICBrbm93biBhZGFwdGVycyBzdXBwb3J0IGF0IGxlYXN0IHRoZSBzZWNvbmQuICovCi0JaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEVfREFUQQotCQkJCQkgICAgfCBJMkNfRlVOQ19TTUJVU19CWVRFKSkKKwkgICAoMikgV29yZCByZWFkcyAoMTI4JSBvdmVyaGVhZCkKKwkgICAoMykgQ29uc2VjdXRpdmUgYnl0ZSByZWFkcyAoODglIG92ZXJoZWFkLCB1bnNhZmUpCisJICAgKDQpIFJlZ3VsYXIgYnl0ZSBkYXRhIHJlYWRzICgyNjUlIG92ZXJoZWFkKQorCSAgIFRoZSB0aGlyZCBhbmQgZm91cnRoIG1ldGhvZHMgYXJlIG5vdCBpbXBsZW1lbnRlZCBieSB0aGlzIGRyaXZlcgorCSAgIGJlY2F1c2UgYWxsIGtub3duIGFkYXB0ZXJzIHN1cHBvcnQgb25lIG9mIHRoZSBmaXJzdCB0d28uICovCisJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19SRUFEX1dPUkRfREFUQSkKKwkgJiYgIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfSTJDX0JMT0NLKSkKIAkJZ290byBleGl0OwogCiAJaWYgKCEoZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBlZXByb21fZGF0YSksIEdGUF9LRVJORUwpKSkgewpAQCAtMTg0LDUwICsxODQsNDkgQEAKIAkJZ290byBleGl0OwogCX0KIAotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CiAJbWVtc2V0KGRhdGEtPmRhdGEsIDB4ZmYsIEVFUFJPTV9TSVpFKTsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJmVlcHJvbV9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZlZXByb21fZHJpdmVyOwogCiAJLyogRmlsbCBpbiB0aGUgcmVtYWluaW5nIGNsaWVudCBmaWVsZHMgKi8KLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsICJlZXByb20iLCBJMkNfTkFNRV9TSVpFKTsKLQlkYXRhLT52YWxpZCA9IDA7CisJc3RybGNweShjbGllbnQtPm5hbWUsICJlZXByb20iLCBJMkNfTkFNRV9TSVpFKTsKIAltdXRleF9pbml0KCZkYXRhLT51cGRhdGVfbG9jayk7CiAJZGF0YS0+bmF0dXJlID0gVU5LTk9XTjsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfa2ZyZWU7CiAKIAkvKiBEZXRlY3QgdGhlIFZhaW8gbmF0dXJlIG9mIEVFUFJPTXMuCiAJICAgV2UgdXNlIHRoZSAiUENHLSIgb3IgIlZHTi0iIHByZWZpeCBhcyB0aGUgc2lnbmF0dXJlLiAqLwotCWlmIChhZGRyZXNzID09IDB4NTcpIHsKKwlpZiAoYWRkcmVzcyA9PSAweDU3CisJICYmIGkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1JFQURfQllURV9EQVRBKSkgewogCQljaGFyIG5hbWVbNF07CiAKLQkJbmFtZVswXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShuZXdfY2xpZW50LCAweDgwKTsKLQkJbmFtZVsxXSA9IGkyY19zbWJ1c19yZWFkX2J5dGUobmV3X2NsaWVudCk7Ci0JCW5hbWVbMl0gPSBpMmNfc21idXNfcmVhZF9ieXRlKG5ld19jbGllbnQpOwotCQluYW1lWzNdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZShuZXdfY2xpZW50KTsKKwkJbmFtZVswXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODApOworCQluYW1lWzFdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgMHg4MSk7CisJCW5hbWVbMl0gPSBpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEoY2xpZW50LCAweDgyKTsKKwkJbmFtZVszXSA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDB4ODMpOwogCiAJCWlmICghbWVtY21wKG5hbWUsICJQQ0ctIiwgNCkgfHwgIW1lbWNtcChuYW1lLCAiVkdOLSIsIDQpKSB7Ci0JCQlkZXZfaW5mbygmbmV3X2NsaWVudC0+ZGV2LCAiVmFpbyBFRVBST00gZGV0ZWN0ZWQsICIKKwkJCWRldl9pbmZvKCZjbGllbnQtPmRldiwgIlZhaW8gRUVQUk9NIGRldGVjdGVkLCAiCiAJCQkJICJlbmFibGluZyBwcml2YWN5IHByb3RlY3Rpb25cbiIpOwogCQkJZGF0YS0+bmF0dXJlID0gVkFJTzsKIAkJfQogCX0KIAogCS8qIGNyZWF0ZSB0aGUgc3lzZnMgZWVwcm9tIGZpbGUgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfYmluX2ZpbGUoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmZWVwcm9tX2F0dHIpOworCWVyciA9IHN5c2ZzX2NyZWF0ZV9iaW5fZmlsZSgmY2xpZW50LT5kZXYua29iaiwgJmVlcHJvbV9hdHRyKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwogCiAJcmV0dXJuIDA7CiAKIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiBleGl0X2tmcmVlOgogCWtmcmVlKGRhdGEpOwogZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL2lzcDEzMDFfb21hcC5jIGIvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMKaW5kZXggYjFiNDVkZC4uMDNhMzNmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvaXNwMTMwMV9vbWFwLmMKQEAgLTcyLDcgKzcyLDcgQEAKIH07CiAKIAotLyogYml0cyBpbiBPVEdfQ1RSTF9SRUcgKi8KKy8qIGJpdHMgaW4gT1RHX0NUUkwgKi8KIAogI2RlZmluZQlPVEdfWENFSVZfT1VUUFVUUyBcCiAJKE9UR19BU0VTU1ZMRHxPVEdfQlNFU1NFTkR8T1RHX0JTRVNTVkxEfE9UR19WQlVTVkxEfE9UR19JRCkKQEAgLTE4Niw4ICsxODYsOCBAQAogCiAvKiBvcGVyYXRpb25hbCByZWdpc3RlcnMgKi8KICNkZWZpbmUJSVNQMTMwMV9NT0RFX0NPTlRST0xfMQkJMHgwNAkvKiB1OCByZWFkLCBzZXQsICsxIGNsZWFyICovCi0jCWRlZmluZQlNQzFfU1BFRURfUkVHCQkoMSA8PCAwKQotIwlkZWZpbmUJTUMxX1NVU1BFTkRfUkVHCQkoMSA8PCAxKQorIwlkZWZpbmUJTUMxX1NQRUVECQkoMSA8PCAwKQorIwlkZWZpbmUJTUMxX1NVU1BFTkQJCSgxIDw8IDEpCiAjCWRlZmluZQlNQzFfREFUX1NFMAkJKDEgPDwgMikKICMJZGVmaW5lCU1DMV9UUkFOU1BBUkVOVAkJKDEgPDwgMykKICMJZGVmaW5lCU1DMV9CRElTX0FDT05fRU4JKDEgPDwgNCkKQEAgLTI3NCw3ICsyNzQsNyBAQAogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX1VOREVGSU5FRDsKIAogCS8vIGlzcDEzMDFfc2V0X2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8yLCBNQzJfR0xPQkFMX1BXUl9ETik7Ci0JaXNwMTMwMV9zZXRfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EX1JFRyk7CisJaXNwMTMwMV9zZXRfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EKTsKIAogCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfT1RHX0NPTlRST0xfMSwgT1RHMV9JRF9QVUxMRE9XTik7CiAJaXNwMTMwMV9jbGVhcl9iaXRzKGlzcCwgSVNQMTMwMV9NT0RFX0NPTlRST0xfMSwgTUMxX0RBVF9TRTApOwpAQCAtMjgzLDcgKzI4Myw3IEBACiBzdGF0aWMgdm9pZCBwb3dlcl91cChzdHJ1Y3QgaXNwMTMwMSAqaXNwKQogewogCS8vIGlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzIsIE1DMl9HTE9CQUxfUFdSX0ROKTsKLQlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLCBNQzFfU1VTUEVORF9SRUcpOworCWlzcDEzMDFfY2xlYXJfYml0cyhpc3AsIElTUDEzMDFfTU9ERV9DT05UUk9MXzEsIE1DMV9TVVNQRU5EKTsKIAogCS8qIGRvIHRoaXMgb25seSB3aGVuIGNwdSBpcyBkcml2aW5nIHRyYW5zY2VpdmVyLAogCSAqIHNvIGhvc3Qgd29uJ3Qgc2VlIGEgbG93IHNwZWVkIGRldmljZS4uLgpAQCAtMzYwLDYgKzM2MCw4IEBACiAvKiBjYWxsZWQgZnJvbSBpcnEgaGFuZGxlcnMgKi8KIHN0YXRpYyB2b2lkIGFfaWRsZShzdHJ1Y3QgaXNwMTMwMSAqaXNwLCBjb25zdCBjaGFyICp0YWcpCiB7CisJdTMyIGw7CisKIAlpZiAoaXNwLT5vdGcuc3RhdGUgPT0gT1RHX1NUQVRFX0FfSURMRSkKIAkJcmV0dXJuOwogCkBAIC0zNzMsMTMgKzM3NSwxNyBAQAogCQlnYWRnZXRfc3VzcGVuZChpc3ApOwogCX0KIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9BX0lETEU7Ci0JaXNwLT5sYXN0X290Z19jdHJsID0gT1RHX0NUUkxfUkVHID0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX1hDRUlWX09VVFBVVFM7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCWlzcC0+bGFzdF9vdGdfY3RybCA9IGw7CiAJcHJfZGVidWcoIiAgLS0+ICVzLyVzXG4iLCBzdGF0ZV9uYW1lKGlzcCksIHRhZyk7CiB9CiAKIC8qIGNhbGxlZCBmcm9tIGlycSBoYW5kbGVycyAqLwogc3RhdGljIHZvaWQgYl9pZGxlKHN0cnVjdCBpc3AxMzAxICppc3AsIGNvbnN0IGNoYXIgKnRhZykKIHsKKwl1MzIgbDsKKwogCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQl9JRExFKQogCQlyZXR1cm47CiAKQEAgLTM5Myw3ICszOTksOSBAQAogCQlnYWRnZXRfc3VzcGVuZChpc3ApOwogCX0KIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0lETEU7Ci0JaXNwLT5sYXN0X290Z19jdHJsID0gT1RHX0NUUkxfUkVHID0gT1RHX0NUUkxfUkVHICYgT1RHX1hDRUlWX09VVFBVVFM7CisJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX1hDRUlWX09VVFBVVFM7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCWlzcC0+bGFzdF9vdGdfY3RybCA9IGw7CiAJcHJfZGVidWcoIiAgLS0+ICVzLyVzXG4iLCBzdGF0ZV9uYW1lKGlzcCksIHRhZyk7CiB9CiAKQEAgLTQwNiw3ICs0MTQsNyBAQAogCXU4CXNyYyA9IGlzcDEzMDFfZ2V0X3U4KGlzcCwgSVNQMTMwMV9JTlRFUlJVUFRfU09VUkNFKTsKIAogCXByX2RlYnVnKCJvdGc6ICUwNngsICVzICVzLCBvdGcvJTAyeCBzdGF0LyUwMnguJTAyeFxuIiwKLQkJT1RHX0NUUkxfUkVHLCBsYWJlbCwgc3RhdGVfbmFtZShpc3ApLAorCQlvbWFwX3JlYWRsKE9UR19DVFJMKSwgbGFiZWwsIHN0YXRlX25hbWUoaXNwKSwKIAkJY3RybCwgc3RhdHVzLCBzcmMpOwogCS8qIG1vZGUgY29udHJvbCBhbmQgaXJxIGVuYWJsZXMgZG9uJ3QgY2hhbmdlIG11Y2ggKi8KICNlbmRpZgpAQCAtNDI5LDcgKzQzNyw3IEBACiBzdGF0aWMgdm9pZCBjaGVja19zdGF0ZShzdHJ1Y3QgaXNwMTMwMSAqaXNwLCBjb25zdCBjaGFyICp0YWcpCiB7CiAJZW51bSB1c2Jfb3RnX3N0YXRlCXN0YXRlID0gT1RHX1NUQVRFX1VOREVGSU5FRDsKLQl1OAkJCWZzbSA9IE9UR19URVNUX1JFRyAmIDB4MGZmOworCXU4CQkJZnNtID0gb21hcF9yZWFkdyhPVEdfVEVTVCkgJiAweDBmZjsKIAl1bnNpZ25lZAkJZXh0cmEgPSAwOwogCiAJc3dpdGNoIChmc20pIHsKQEAgLTQ5NCw3ICs1MDIsOCBAQAogCWlmIChpc3AtPm90Zy5zdGF0ZSA9PSBzdGF0ZSAmJiAhZXh0cmEpCiAJCXJldHVybjsKIAlwcl9kZWJ1Zygib3RnOiAlcyBGU00gJXMvJTAyeCwgJXMsICUwNnhcbiIsIHRhZywKLQkJc3RhdGVfc3RyaW5nKHN0YXRlKSwgZnNtLCBzdGF0ZV9uYW1lKGlzcCksIE9UR19DVFJMX1JFRyk7CisJCXN0YXRlX3N0cmluZyhzdGF0ZSksIGZzbSwgc3RhdGVfbmFtZShpc3ApLAorCQlvbWFwX3JlYWRsKE9UR19DVFJMKSk7CiB9CiAKICNlbHNlCkBAIC01MDgsMTAgKzUxNywxMSBAQAogewogCXUzMglvdGdfY3RybDsKIAotCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHCi0JCQkmIE9UR19DVFJMX01BU0sKLQkJCSYgfk9UR19YQ0VJVl9JTlBVVFMKLQkJCSYgfihPVEdfSUR8T1RHX0FTRVNTVkxEfE9UR19WQlVTVkxEKTsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwlvdGdfY3RybCAmPSB+T1RHX1hDRUlWX0lOUFVUUzsKKwlvdGdfY3RybCAmPSB+KE9UR19JRHxPVEdfQVNFU1NWTER8T1RHX1ZCVVNWTEQpOworCisKIAlpZiAoaW50X3NyYyAmIElOVFJfU0VTU19WTEQpCiAJCW90Z19jdHJsIHw9IE9UR19BU0VTU1ZMRDsKIAllbHNlIGlmIChpc3AtPm90Zy5zdGF0ZSA9PSBPVEdfU1RBVEVfQV9XQUlUX1ZGQUxMKSB7CkBAIC01MzQsNyArNTQ0LDcgQEAKIAkJCXJldHVybjsKIAkJfQogCX0KLQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogfQogCiAvKiBvdXRwdXRzIGZyb20gSVNQMTMwMV9PVEdfU1RBVFVTICovCkBAIC01NDIsMTUgKzU1MiwxNCBAQAogewogCXUzMglvdGdfY3RybDsKIAotCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHCi0JCQkmIE9UR19DVFJMX01BU0sKLQkJCSYgfk9UR19YQ0VJVl9JTlBVVFMKLQkJCSYgfihPVEdfQlNFU1NWTER8T1RHX0JTRVNTRU5EKTsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0NUUkxfTUFTSzsKKwlvdGdfY3RybCAmPSB+T1RHX1hDRUlWX0lOUFVUUzsKKwlvdGdfY3RybCAmPSB+KE9UR19CU0VTU1ZMRCB8IE9UR19CU0VTU0VORCk7CiAJaWYgKG90Z19zdGF0dXMgJiBPVEdfQl9TRVNTX1ZMRCkKIAkJb3RnX2N0cmwgfD0gT1RHX0JTRVNTVkxEOwogCWVsc2UgaWYgKG90Z19zdGF0dXMgJiBPVEdfQl9TRVNTX0VORCkKIAkJb3RnX2N0cmwgfD0gT1RHX0JTRVNTRU5EOwotCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiB9CiAKIC8qIGlucHV0cyBnb2luZyB0byBJU1AxMzAxICovCkBAIC01NTksNyArNTY4LDcgQEAKIAl1MzIJb3RnX2N0cmwsIG90Z19jaGFuZ2U7CiAJdTgJc2V0ID0gT1RHMV9ETV9QVUxMRE9XTiwgY2xyID0gT1RHMV9ETV9QVUxMVVA7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCW90Z19jaGFuZ2UgPSBvdGdfY3RybCBeIGlzcC0+bGFzdF9vdGdfY3RybDsKIAlpc3AtPmxhc3Rfb3RnX2N0cmwgPSBvdGdfY3RybDsKIAlvdGdfY3RybCA9IG90Z19jdHJsICYgT1RHX1hDRUlWX0lOUFVUUzsKQEAgLTYzOSw2ICs2NDgsOCBAQAogCiAJLyogSE5QIHN3aXRjaCB0byBob3N0IG9yIHBlcmlwaGVyYWw7IGFuZCBTUlAgKi8KIAlpZiAob3RnX2NoYW5nZSAmIE9UR19QVUxMVVApIHsKKwkJdTMyIGw7CisKIAkJc3dpdGNoIChpc3AtPm90Zy5zdGF0ZSkgewogCQljYXNlIE9UR19TVEFURV9CX0lETEU6CiAJCQlpZiAoY2xyICYgT1RHMV9EUF9QVUxMVVApCkBAIC02NTUsNyArNjY2LDkgQEAKIAkJZGVmYXVsdDoKIAkJCWJyZWFrOwogCQl9Ci0JCU9UR19DVFJMX1JFRyB8PSBPVEdfUFVMTFVQOworCQlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CisJCWwgfD0gT1RHX1BVTExVUDsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCX0KIAogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwpAQCAtNjY0LDIwICs2NzcsMjAgQEAKIAogc3RhdGljIGlycXJldHVybl90IG9tYXBfb3RnX2lycShpbnQgaXJxLCB2b2lkICpfaXNwKQogewotCXUxNgkJb3RnX2lycSA9IE9UR19JUlFfU1JDX1JFRzsKKwl1MTYJCW90Z19pcnEgPSBvbWFwX3JlYWR3KE9UR19JUlFfU1JDKTsKIAl1MzIJCW90Z19jdHJsOwogCWludAkJcmV0ID0gSVJRX05PTkU7CiAJc3RydWN0IGlzcDEzMDEJKmlzcCA9IF9pc3A7CiAKIAkvKiB1cGRhdGUgSVNQMTMwMSB0cmFuc2NpZXZlciBmcm9tIE9URyBjb250cm9sbGVyICovCiAJaWYgKG90Z19pcnEgJiBPUFJUX0NIRykgewotCQlPVEdfSVJRX1NSQ19SRUcgPSBPUFJUX0NIRzsKKwkJb21hcF93cml0ZXcoT1BSVF9DSEcsIE9UR19JUlFfU1JDKTsKIAkJaXNwMTMwMV9kZWZlcl93b3JrKGlzcCwgV09SS19VUERBVEVfSVNQKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBTUlAgdG8gYmVjb21lIGJfcGVyaXBoZXJhbCBmYWlsZWQgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBCX1NSUF9UTVJPVVQpIHsKLQkJcHJfZGVidWcoIm90ZzogQl9TUlBfVElNRU9VVCwgJTA2eFxuIiwgT1RHX0NUUkxfUkVHKTsKKwkJcHJfZGVidWcoIm90ZzogQl9TUlBfVElNRU9VVCwgJTA2eFxuIiwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCQlub3RyZXNwb25kaW5nKGlzcCk7CiAKIAkJLyogZ2FkZ2V0IGRyaXZlcnMgdGhhdCBjYXJlIHNob3VsZCBtb25pdG9yIGFsbCBraW5kcyBvZgpAQCAtNjg3LDMxICs3MDAsMzEgQEAKIAkJaWYgKGlzcC0+b3RnLnN0YXRlID09IE9UR19TVEFURV9CX1NSUF9JTklUKQogCQkJYl9pZGxlKGlzcCwgInNycF90aW1lb3V0Iik7CiAKLQkJT1RHX0lSUV9TUkNfUkVHID0gQl9TUlBfVE1ST1VUOworCQlvbWFwX3dyaXRldyhCX1NSUF9UTVJPVVQsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBITlAgdG8gYmVjb21lIGJfaG9zdCBmYWlsZWQgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBCX0hOUF9GQUlMKSB7CiAJCXByX2RlYnVnKCJvdGc6ICVzIEJfSE5QX0ZBSUwsICUwNnhcbiIsCi0JCQkJc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQkJCXN0YXRlX25hbWUoaXNwKSwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCQlub3RyZXNwb25kaW5nKGlzcCk7CiAKLQkJb3RnX2N0cmwgPSBPVEdfQ1RSTF9SRUc7CisJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCW90Z19jdHJsIHw9IE9UR19CVVNEUk9QOwogCQlvdGdfY3RybCAmPSBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCiAJCS8qIHN1YnNldCBvZiBiX3BlcmlwaGVyYWwoKS4uLiAqLwogCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX1BFUklQSEVSQUw7CiAJCXByX2RlYnVnKCIgIC0tPiBiX3BlcmlwaGVyYWxcbiIpOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEJfSE5QX0ZBSUw7CisJCW9tYXBfd3JpdGV3KEJfSE5QX0ZBSUwsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBkZXRlY3QgU1JQIGZyb20gQi1kZXZpY2UgLi4uICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQV9TUlBfREVURUNUKSB7CiAJCXByX2RlYnVnKCJvdGc6ICVzIFNSUF9ERVRFQ1QsICUwNnhcbiIsCi0JCQkJc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQkJCXN0YXRlX25hbWUoaXNwKSwgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCiAJCWlzcDEzMDFfZGVmZXJfd29yayhpc3AsIFdPUktfVVBEQVRFX09URyk7CiAJCXN3aXRjaCAoaXNwLT5vdGcuc3RhdGUpIHsKQEAgLTcxOSw0OSArNzMyLDQ5IEBACiAJCQlpZiAoIWlzcC0+b3RnLmhvc3QpCiAJCQkJYnJlYWs7CiAJCQlpc3AxMzAxX2RlZmVyX3dvcmsoaXNwLCBXT1JLX0hPU1RfUkVTVU1FKTsKLQkJCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJCW90Z19jdHJsIHw9IE9UR19BX0JVU1JFUTsKIAkJCW90Z19jdHJsICY9IH4oT1RHX0JVU0RST1B8T1RHX0JfQlVTUkVRKQogCQkJCQkmIH5PVEdfWENFSVZfSU5QVVRTCiAJCQkJCSYgT1RHX0NUUkxfTUFTSzsKLQkJCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CiAJCX0KIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBBX1NSUF9ERVRFQ1Q7CisJCW9tYXBfd3JpdGV3KEFfU1JQX0RFVEVDVCwgT1RHX0lSUV9TUkMpOwogCQlyZXQgPSBJUlFfSEFORExFRDsKIAogCS8qIHRpbWVyIGV4cGlyZWQ6ICBUKGFfd2FpdF9iY29uKSBhbmQgbWF5YmUgVChhX3dhaXRfdnJpc2UpCiAJICogd2UgZG9uJ3QgdHJhY2sgdGhlbSBzZXBhcmF0ZWx5CiAJICovCiAJfSBlbHNlIGlmIChvdGdfaXJxICYgQV9SRVFfVE1ST1VUKSB7Ci0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlwcl9pbmZvKCJvdGc6IEJDT05fVE1PVVQgZnJvbSAlcywgJTA2eFxuIiwKIAkJCQlzdGF0ZV9uYW1lKGlzcCksIG90Z19jdHJsKTsKIAkJbm90cmVzcG9uZGluZyhpc3ApOwogCiAJCW90Z19jdHJsIHw9IE9UR19CVVNEUk9QOwogCQlvdGdfY3RybCAmPSB+T1RHX0FfQlVTUkVRICYgT1RHX0NUUkxfTUFTSyAmIH5PVEdfWENFSVZfSU5QVVRTOwotCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybDsKKwkJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9XQUlUX1ZGQUxMOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEFfUkVRX1RNUk9VVDsKKwkJb21hcF93cml0ZXcoQV9SRVFfVE1ST1VULCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJLyogQS1zdXBwbGllZCB2b2x0YWdlIGZlbGwgdG9vIGxvdzsgb3ZlcmN1cnJlbnQgKi8KIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBBX1ZCVVNfRVJSKSB7Ci0JCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCQlwcmludGsoS0VSTl9FUlIgIm90ZzogJXMsIFZCVVNfRVJSICUwNHggY3RybCAlMDZ4XG4iLAogCQkJc3RhdGVfbmFtZShpc3ApLCBvdGdfaXJxLCBvdGdfY3RybCk7CiAKIAkJb3RnX2N0cmwgfD0gT1RHX0JVU0RST1A7CiAJCW90Z19jdHJsICY9IH5PVEdfQV9CVVNSRVEgJiBPVEdfQ1RSTF9NQVNLICYgfk9UR19YQ0VJVl9JTlBVVFM7Ci0JCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQlvbWFwX3dyaXRlbChvdGdfY3RybCwgT1RHX0NUUkwpOwogCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9BX1ZCVVNfRVJSOwogCi0JCU9UR19JUlFfU1JDX1JFRyA9IEFfVkJVU19FUlI7CisJCW9tYXBfd3JpdGV3KEFfVkJVU19FUlIsIE9UR19JUlFfU1JDKTsKIAkJcmV0ID0gSVJRX0hBTkRMRUQ7CiAKIAkvKiBzd2l0Y2ggZHJpdmVyOyB0aGUgdHJhbnNjaWV2ZXIgY29kZSBhY3RpdmF0ZXMgaXQsCkBAIC03NzAsNyArNzgzLDcgQEAKIAl9IGVsc2UgaWYgKG90Z19pcnEgJiBEUklWRVJfU1dJVENIKSB7CiAJCWludAlraWNrID0gMDsKIAotCQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwkJb3RnX2N0cmwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJvdGc6ICVzLCBTV0lUQ0ggdG8gJXMsIGN0cmwgJTA2eFxuIiwKIAkJCQlzdGF0ZV9uYW1lKGlzcCksCiAJCQkJKG90Z19jdHJsICYgT1RHX0RSSVZFUl9TRUwpCkBAIC03OTMsNyArODA2LDcgQEAKIAkJfSBlbHNlIHsKIAkJCWlmICghKG90Z19jdHJsICYgT1RHX0lEKSkgewogCQkJCW90Z19jdHJsICY9IE9UR19DVFJMX01BU0sgJiB+T1RHX1hDRUlWX0lOUFVUUzsKLQkJCQlPVEdfQ1RSTF9SRUcgPSBvdGdfY3RybCB8IE9UR19BX0JVU1JFUTsKKwkJCQlvbWFwX3dyaXRlbChvdGdfY3RybCB8IE9UR19BX0JVU1JFUSwgT1RHX0NUUkwpOwogCQkJfQogCiAJCQlpZiAoaXNwLT5vdGcuaG9zdCkgewpAQCAtODE4LDcgKzgzMSw3IEBACiAJCQl9CiAJCX0KIAotCQlPVEdfSVJRX1NSQ19SRUcgPSBEUklWRVJfU1dJVENIOworCQlvbWFwX3dyaXRldyhEUklWRVJfU1dJVENILCBPVEdfSVJRX1NSQyk7CiAJCXJldCA9IElSUV9IQU5ETEVEOwogCiAJCWlmIChraWNrKQpAQCAtODM0LDEyICs4NDcsMTUgQEAKIAogc3RhdGljIGludCBvdGdfaW5pdChzdHJ1Y3QgaXNwMTMwMSAqaXNwKQogeworCXUzMiBsOworCiAJaWYgKCFvdGdfZGV2KQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWR1bXBfcmVncyhpc3AsIF9fZnVuY19fKTsKIAkvKiBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcmUgYm9hcmQtc3BlY2lmaWMuLi4gKi8KLQlPVEdfU1lTQ09OXzJfUkVHIHw9IE9UR19FTgorCWwgPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMik7CisJbCB8PSBPVEdfRU4KIAkJLyogZm9yIEItZGV2aWNlOiAqLwogCQl8IFNSUF9HUERBVEEJCS8qIDltc2VjIEJkZXYgRCsgcHVsc2UgKi8KIAkJfCBTUlBfR1BEVkJVUwkJLyogZGlzY2hhcmdlIGFmdGVyIFZCVVMgcHVsc2UgKi8KQEAgLTg0OSwxOCArODY1LDIyIEBACiAJCXwgU1JQX0RQVwkJLyogZGV0ZWN0IDE2NytucyBTUlAgcHVsc2VzICovCiAJCXwgU1JQX0RBVEEgfCBTUlBfVkJVUwkvKiBhY2NlcHQgYm90aCBraW5kcyBvZiBTUlAgcHVsc2UgKi8KIAkJOworCW9tYXBfd3JpdGVsKGwsIE9UR19TWVNDT05fMik7CiAKIAl1cGRhdGVfb3RnMShpc3AsIGlzcDEzMDFfZ2V0X3U4KGlzcCwgSVNQMTMwMV9JTlRFUlJVUFRfU09VUkNFKSk7CiAJdXBkYXRlX290ZzIoaXNwLCBpc3AxMzAxX2dldF91OChpc3AsIElTUDEzMDFfT1RHX1NUQVRVUykpOwogCiAJY2hlY2tfc3RhdGUoaXNwLCBfX2Z1bmNfXyk7CiAJcHJfZGVidWcoIm90ZzogJXMsICVzICUwNnhcbiIsCi0JCQlzdGF0ZV9uYW1lKGlzcCksIF9fZnVuY19fLCBPVEdfQ1RSTF9SRUcpOworCQkJc3RhdGVfbmFtZShpc3ApLCBfX2Z1bmNfXywgb21hcF9yZWFkbChPVEdfQ1RSTCkpOwogCi0JT1RHX0lSUV9FTl9SRUcgPSBEUklWRVJfU1dJVENIIHwgT1BSVF9DSEcKKwlvbWFwX3dyaXRldyhEUklWRVJfU1dJVENIIHwgT1BSVF9DSEcKIAkJCXwgQl9TUlBfVE1ST1VUIHwgQl9ITlBfRkFJTAotCQkJfCBBX1ZCVVNfRVJSIHwgQV9TUlBfREVURUNUIHwgQV9SRVFfVE1ST1VUOwotCU9UR19TWVNDT05fMl9SRUcgfD0gT1RHX0VOOworCQkJfCBBX1ZCVVNfRVJSIHwgQV9TUlBfREVURUNUIHwgQV9SRVFfVE1ST1VULCBPVEdfSVJRX0VOKTsKKworCWwgPSBvbWFwX3JlYWRsKE9UR19TWVNDT05fMik7CisJbCB8PSBPVEdfRU47CisJb21hcF93cml0ZWwobCwgT1RHX1NZU0NPTl8yKTsKIAogCXJldHVybiAwOwogfQpAQCAtOTI3LDcgKzk0NywxMSBAQAogCiBzdGF0aWMgdm9pZCBiX3BlcmlwaGVyYWwoc3RydWN0IGlzcDEzMDEgKmlzcCkKIHsKLQlPVEdfQ1RSTF9SRUcgPSBPVEdfQ1RSTF9SRUcgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwl1MzIgbDsKKworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKKwogCXVzYl9nYWRnZXRfdmJ1c19jb25uZWN0KGlzcC0+b3RnLmdhZGdldCk7CiAKICNpZmRlZglDT05GSUdfVVNCX09URwpAQCAtOTk5LDYgKzEwMjMsOCBAQAogCQkJaXNwX2JzdGF0ID0gMDsKIAkJfQogCX0gZWxzZSB7CisJCXUzMiBsOworCiAJCS8qIGlmIHVzZXIgdW5wbHVnZ2VkIG1pbmktQSBlbmQgb2YgY2FibGUsCiAJCSAqIGRvbid0IGJ5cGFzcyBBX1dBSVRfVkZBTEwuCiAJCSAqLwpAQCAtMTAxOSw4ICsxMDQ1LDkgQEAKIAkJCQlpc3AxMzAxX2NsZWFyX2JpdHMoaXNwLCBJU1AxMzAxX01PREVfQ09OVFJPTF8xLAogCQkJCQkJTUMxX0JESVNfQUNPTl9FTik7CiAJCQkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQl9JRExFOwotCQkJCU9UR19DVFJMX1JFRyAmPSBPVEdfQ1RSTF9SRUcgJiBPVEdfQ1RSTF9NQVNLCi0JCQkJCQkmIH5PVEdfQ1RSTF9CSVRTOworCQkJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19DVFJMX01BU0s7CisJCQkJbCAmPSB+T1RHX0NUUkxfQklUUzsKKwkJCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIE9UR19TVEFURV9CX0lETEU6CiAJCQkJYnJlYWs7CkBAIC0xMDQ2LDcgKzEwNzMsOCBAQAogCQkJLyogRkFMTFRIUk9VR0ggKi8KIAkJY2FzZSBPVEdfU1RBVEVfQl9TUlBfSU5JVDoKIAkJCWJfaWRsZShpc3AsIF9fZnVuY19fKTsKLQkJCU9UR19DVFJMX1JFRyAmPSBPVEdfQ1RSTF9SRUcgJiBPVEdfWENFSVZfT1VUUFVUUzsKKwkJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKSAmIE9UR19YQ0VJVl9PVVRQVVRTOworCQkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCQkJLyogRkFMTFRIUk9VR0ggKi8KIAkJY2FzZSBPVEdfU1RBVEVfQl9JRExFOgogCQkJaWYgKGlzcC0+b3RnLmdhZGdldCAmJiAoaXNwX2JzdGF0ICYgT1RHX0JfU0VTU19WTEQpKSB7CkBAIC0xMTMwLDExICsxMTU4LDExIEBACiAJCQljYXNlIE9UR19TVEFURV9BX1dBSVRfVlJJU0U6CiAJCQkJaXNwLT5vdGcuc3RhdGUgPSBPVEdfU1RBVEVfQV9IT1NUOwogCQkJCXByX2RlYnVnKCIgIC0tPiBhX2hvc3RcbiIpOwotCQkJCW90Z19jdHJsID0gT1RHX0NUUkxfUkVHOworCQkJCW90Z19jdHJsID0gb21hcF9yZWFkbChPVEdfQ1RSTCk7CiAJCQkJb3RnX2N0cmwgfD0gT1RHX0FfQlVTUkVROwogCQkJCW90Z19jdHJsICY9IH4oT1RHX0JVU0RST1B8T1RHX0JfQlVTUkVRKQogCQkJCQkJJiBPVEdfQ1RSTF9NQVNLOwotCQkJCU9UR19DVFJMX1JFRyA9IG90Z19jdHJsOworCQkJCW9tYXBfd3JpdGVsKG90Z19jdHJsLCBPVEdfQ1RSTCk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIE9UR19TVEFURV9CX1dBSVRfQUNPTjoKIAkJCQlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX0hPU1Q7CkBAIC0xMjc0LDcgKzEzMDIsNyBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAogCWlmICghaG9zdCkgewotCQlPVEdfSVJRX0VOX1JFRyA9IDA7CisJCW9tYXBfd3JpdGV3KDAsIE9UR19JUlFfRU4pOwogCQlwb3dlcl9kb3duKGlzcCk7CiAJCWlzcC0+b3RnLmhvc3QgPSAwOwogCQlyZXR1cm4gMDsKQEAgLTEzMjUsMTIgKzEzNTMsMTMgQEAKIGlzcDEzMDFfc2V0X3BlcmlwaGVyYWwoc3RydWN0IG90Z190cmFuc2NlaXZlciAqb3RnLCBzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0KQogewogCXN0cnVjdCBpc3AxMzAxCSppc3AgPSBjb250YWluZXJfb2Yob3RnLCBzdHJ1Y3QgaXNwMTMwMSwgb3RnKTsKKwl1MzIgbDsKIAogCWlmICghb3RnIHx8IGlzcCAhPSB0aGVfdHJhbnNjZWl2ZXIpCiAJCXJldHVybiAtRU5PREVWOwogCiAJaWYgKCFnYWRnZXQpIHsKLQkJT1RHX0lSUV9FTl9SRUcgPSAwOworCQlvbWFwX3dyaXRldygwLCBPVEdfSVJRX0VOKTsKIAkJaWYgKCFpc3AtPm90Zy5kZWZhdWx0X2EpCiAJCQllbmFibGVfdmJ1c19kcmF3KGlzcCwgMCk7CiAJCXVzYl9nYWRnZXRfdmJ1c19kaXNjb25uZWN0KGlzcC0+b3RnLmdhZGdldCk7CkBAIC0xMzUxLDkgKzEzODAsMTEgQEAKIAlpc3AtPm90Zy5nYWRnZXQgPSBnYWRnZXQ7CiAJLy8gRklYTUUgdXBkYXRlIGl0cyByZWZjb3VudAogCi0JT1RHX0NUUkxfUkVHID0gKE9UR19DVFJMX1JFRyAmIE9UR19DVFJMX01BU0sKLQkJCQkmIH4oT1RHX1hDRUlWX09VVFBVVFN8T1RHX0NUUkxfQklUUykpCi0JCQl8IE9UR19JRDsKKwlsID0gb21hcF9yZWFkbChPVEdfQ1RSTCkgJiBPVEdfQ1RSTF9NQVNLOworCWwgJj0gfihPVEdfWENFSVZfT1VUUFVUU3xPVEdfQ1RSTF9CSVRTKTsKKwlsIHw9IE9UR19JRDsKKwlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisKIAlwb3dlcl91cChpc3ApOwogCWlzcC0+b3RnLnN0YXRlID0gT1RHX1NUQVRFX0JfSURMRTsKIApAQCAtMTQwNSwxNiArMTQzNiwxNyBAQAogCQkJfHwgaXNwLT5vdGcuc3RhdGUgIT0gT1RHX1NUQVRFX0JfSURMRSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlvdGdfY3RybCA9IE9UR19DVFJMX1JFRzsKKwlvdGdfY3RybCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOwogCWlmICghKG90Z19jdHJsICYgT1RHX0JTRVNTRU5EKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlvdGdfY3RybCB8PSBPVEdfQl9CVVNSRVE7CiAJb3RnX2N0cmwgJj0gfk9UR19BX0JVU1JFUSAmIE9UR19DVFJMX01BU0s7Ci0JT1RHX0NUUkxfUkVHID0gb3RnX2N0cmw7CisJb21hcF93cml0ZWwob3RnX2N0cmwsIE9UR19DVFJMKTsKIAlpc3AtPm90Zy5zdGF0ZSA9IE9UR19TVEFURV9CX1NSUF9JTklUOwogCi0JcHJfZGVidWcoIm90ZzogU1JQLCAlcyAuLi4gJTA2eFxuIiwgc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCXByX2RlYnVnKCJvdGc6IFNSUCwgJXMgLi4uICUwNnhcbiIsIHN0YXRlX25hbWUoaXNwKSwKKwkJCW9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKICNpZmRlZglDT05GSUdfVVNCX09URwogCWNoZWNrX3N0YXRlKGlzcCwgX19mdW5jX18pOwogI2VuZGlmCkBAIC0xNDI2LDYgKzE0NTgsNyBAQAogewogI2lmZGVmCUNPTkZJR19VU0JfT1RHCiAJc3RydWN0IGlzcDEzMDEJKmlzcCA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBpc3AxMzAxLCBvdGcpOworCXUzMiBsOwogCiAJaWYgKCFkZXYgfHwgaXNwICE9IHRoZV90cmFuc2NlaXZlcikKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0xNDUyLDcgKzE0ODUsOSBAQAogI2VuZGlmCiAJCS8qIGNhbGxlciBtdXN0IHN1c3BlbmQgdGhlbiBjbGVhciBBX0JVU1JFUSAqLwogCQl1c2JfZ2FkZ2V0X3ZidXNfY29ubmVjdChpc3AtPm90Zy5nYWRnZXQpOwotCQlPVEdfQ1RSTF9SRUcgfD0gT1RHX0FfU0VUQl9ITlBFTjsKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19BX1NFVEJfSE5QRU47CisJCW9tYXBfd3JpdGVsKGwsIE9UR19DVFJMKTsKIAogCQlicmVhazsKIAljYXNlIE9UR19TVEFURV9BX1BFUklQSEVSQUw6CkBAIC0xNDYyLDcgKzE0OTcsNyBAQAogCQlyZXR1cm4gLUVJTFNFUTsKIAl9CiAJcHJfZGVidWcoIm90ZzogSE5QICVzLCAlMDZ4IC4uLlxuIiwKLQkJc3RhdGVfbmFtZShpc3ApLCBPVEdfQ1RSTF9SRUcpOworCQlzdGF0ZV9uYW1lKGlzcCksIG9tYXBfcmVhZGwoT1RHX0NUUkwpKTsKIAljaGVja19zdGF0ZShpc3AsIF9fZnVuY19fKTsKIAlyZXR1cm4gMDsKICNlbHNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMgYi9kcml2ZXJzL2kyYy9jaGlwcy9tYXg2ODc1LmMKaW5kZXggY2Y1MDdiMy4uNWEwMjg1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pMmMvY2hpcHMvbWF4Njg3NS5jCisrKyBiL2RyaXZlcnMvaTJjL2NoaXBzL21heDY4NzUuYwpAQCAtMTcwLDcgKzE3MCw3IEBACiAJc3RydWN0IGkyY19jbGllbnQgKnJlYWxfY2xpZW50OwogCXN0cnVjdCBpMmNfY2xpZW50ICpmYWtlX2NsaWVudDsKIAlzdHJ1Y3QgbWF4Njg3NV9kYXRhICpkYXRhOwotCWludCBlcnIgPSAwOworCWludCBlcnI7CiAKIAlpZiAoIWkyY19jaGVja19mdW5jdGlvbmFsaXR5KGFkYXB0ZXIsIEkyQ19GVU5DX1NNQlVTX1dSSVRFX0JZVEVfREFUQQogCQkJCSAgICAgfCBJMkNfRlVOQ19TTUJVU19SRUFEX0JZVEUpKQpAQCAtMTk1LDcgKzE5NSw2IEBACiAJcmVhbF9jbGllbnQtPmFkZHIgPSBhZGRyZXNzOwogCXJlYWxfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKIAlyZWFsX2NsaWVudC0+ZHJpdmVyID0gJm1heDY4NzVfZHJpdmVyOwotCXJlYWxfY2xpZW50LT5mbGFncyA9IDA7CiAJc3RybGNweShyZWFsX2NsaWVudC0+bmFtZSwgIm1heDY4NzUiLCBJMkNfTkFNRV9TSVpFKTsKIAltdXRleF9pbml0KCZkYXRhLT51cGRhdGVfbG9jayk7CiAKQEAgLTIwNCw3ICsyMDMsNiBAQAogCWZha2VfY2xpZW50LT5hZGRyID0gYWRkcmVzcyB8IDE7CiAJZmFrZV9jbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOwogCWZha2VfY2xpZW50LT5kcml2ZXIgPSAmbWF4Njg3NV9kcml2ZXI7Ci0JZmFrZV9jbGllbnQtPmZsYWdzID0gMDsKIAlzdHJsY3B5KGZha2VfY2xpZW50LT5uYW1lLCAibWF4Njg3NSBzdWJjbGllbnQiLCBJMkNfTkFNRV9TSVpFKTsKIAogCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQocmVhbF9jbGllbnQpKSAhPSAwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNhOTUzOS5jCmluZGV4IGY0M2M0ZTcuLjU4YWI3ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjYTk1MzkuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2E5NTM5LmMKQEAgLTExMyw3ICsxMTMsNyBAQAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IHBjYTk1MzlfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IHBjYTk1MzlfZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMTI3LDI5ICsxMjcsMjggQEAKIAkJZ290byBleGl0OwogCX0KIAotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OwotCWkyY19zZXRfY2xpZW50ZGF0YShuZXdfY2xpZW50LCBkYXRhKTsKLQluZXdfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKLQluZXdfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKLQluZXdfY2xpZW50LT5kcml2ZXIgPSAmcGNhOTUzOV9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgZGF0YSk7CisJY2xpZW50LT5hZGRyID0gYWRkcmVzczsKKwljbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCWNsaWVudC0+ZHJpdmVyID0gJnBjYTk1MzlfZHJpdmVyOwogCiAJaWYgKGtpbmQgPCAwKSB7CiAJCS8qIERldGVjdGlvbjogdGhlIHBjYTk1Mzkgb25seSBoYXMgOCByZWdpc3RlcnMgKDAtNykuCiAJCSAgIEEgcmVhZCBvZiA3IHNob3VsZCBzdWNjZWVkLCBidXQgYSByZWFkIG9mIDggc2hvdWxkIGZhaWwuICovCi0JCWlmICgoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKG5ld19jbGllbnQsIDcpIDwgMCkgfHwKLQkJICAgIChpMmNfc21idXNfcmVhZF9ieXRlX2RhdGEobmV3X2NsaWVudCwgOCkgPj0gMCkpCisJCWlmICgoaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgNykgPCAwKSB8fAorCQkgICAgKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjbGllbnQsIDgpID49IDApKQogCQkJZ290byBleGl0X2tmcmVlOwogCX0KIAotCXN0cmxjcHkobmV3X2NsaWVudC0+bmFtZSwgInBjYTk1MzkiLCBJMkNfTkFNRV9TSVpFKTsKKwlzdHJsY3B5KGNsaWVudC0+bmFtZSwgInBjYTk1MzkiLCBJMkNfTkFNRV9TSVpFKTsKIAogCS8qIFRlbGwgdGhlIEkyQyBsYXllciBhIG5ldyBjbGllbnQgaGFzIGFycml2ZWQgKi8KLQlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KG5ld19jbGllbnQpKSkKKwlpZiAoKGVyciA9IGkyY19hdHRhY2hfY2xpZW50KGNsaWVudCkpKQogCQlnb3RvIGV4aXRfa2ZyZWU7CiAKIAkvKiBSZWdpc3RlciBzeXNmcyBob29rcyAqLwotCWVyciA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmbmV3X2NsaWVudC0+ZGV2LmtvYmosCisJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLAogCQkJCSAmcGNhOTUzOV9kZWZhdHRyX2dyb3VwKTsKIAlpZiAoZXJyKQogCQlnb3RvIGV4aXRfZGV0YWNoOwpAQCAtMTU3LDcgKzE1Niw3IEBACiAJcmV0dXJuIDA7CiAKIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiBleGl0X2tmcmVlOgogCWtmcmVlKGRhdGEpOwogZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYyBiL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1NzQuYwppbmRleCBlNWIzMTMyLi4xYjNkYjJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTc0LmMKKysrIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU3NC5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAgICBwY2Y4NTc0LmMgLSBQYXJ0IG9mIGxtX3NlbnNvcnMsIExpbnV4IGtlcm5lbCBtb2R1bGVzIGZvciBoYXJkd2FyZQotICAgICAgICAgICAgIG1vbml0b3JpbmcKICAgICBDb3B5cmlnaHQgKGMpIDIwMDAgIEZyb2RvIExvb2lqYWFyZCA8ZnJvZG9sQGRkcy5ubD4sIAogICAgICAgICAgICAgICAgICAgICAgICAgUGhpbGlwIEVkZWxicm9jayA8cGhpbEBuZXRyb2VkZ2UuY29tPiwKICAgICAgICAgICAgICAgICAgICAgICAgIERhbiBFYXRvbiA8ZGFuLmVhdG9uQHJvY2tldGxvZ2l4LmNvbT4KQEAgLTEyOSw3ICsxMjcsNyBAQAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IHBjZjg1NzRfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IHBjZjg1NzRfZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIAljb25zdCBjaGFyICpjbGllbnRfbmFtZSA9ICIiOwpAQCAtMTQ0LDEyICsxNDIsMTEgQEAKIAkJZ290byBleGl0OwogCX0KIAotCW5ld19jbGllbnQgPSAmZGF0YS0+Y2xpZW50OwotCWkyY19zZXRfY2xpZW50ZGF0YShuZXdfY2xpZW50LCBkYXRhKTsKLQluZXdfY2xpZW50LT5hZGRyID0gYWRkcmVzczsKLQluZXdfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKLQluZXdfY2xpZW50LT5kcml2ZXIgPSAmcGNmODU3NF9kcml2ZXI7Ci0JbmV3X2NsaWVudC0+ZmxhZ3MgPSAwOworCWNsaWVudCA9ICZkYXRhLT5jbGllbnQ7CisJaTJjX3NldF9jbGllbnRkYXRhKGNsaWVudCwgZGF0YSk7CisJY2xpZW50LT5hZGRyID0gYWRkcmVzczsKKwljbGllbnQtPmFkYXB0ZXIgPSBhZGFwdGVyOworCWNsaWVudC0+ZHJpdmVyID0gJnBjZjg1NzRfZHJpdmVyOwogCiAJLyogTm93LCB3ZSB3b3VsZCBkbyB0aGUgcmVtYWluaW5nIGRldGVjdGlvbi4gQnV0IHRoZSBQQ0Y4NTc0IGlzIHBsYWlubHkKIAkgICBpbXBvc3NpYmxlIHRvIGRldGVjdCEgU3R1cGlkIGNoaXAuICovCkBAIC0xNjgsMjMgKzE2NSwyMyBAQAogCQljbGllbnRfbmFtZSA9ICJwY2Y4NTc0IjsKIAogCS8qIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBjbGllbnQgZmllbGRzIGFuZCBwdXQgaXQgaW50byB0aGUgZ2xvYmFsIGxpc3QgKi8KLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsIGNsaWVudF9uYW1lLCBJMkNfTkFNRV9TSVpFKTsKKwlzdHJsY3B5KGNsaWVudC0+bmFtZSwgY2xpZW50X25hbWUsIEkyQ19OQU1FX1NJWkUpOwogCiAJLyogVGVsbCB0aGUgSTJDIGxheWVyIGEgbmV3IGNsaWVudCBoYXMgYXJyaXZlZCAqLwotCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQobmV3X2NsaWVudCkpKQorCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQoY2xpZW50KSkpCiAJCWdvdG8gZXhpdF9mcmVlOwogCQogCS8qIEluaXRpYWxpemUgdGhlIFBDRjg1NzQgY2hpcCAqLwotCXBjZjg1NzRfaW5pdF9jbGllbnQobmV3X2NsaWVudCk7CisJcGNmODU3NF9pbml0X2NsaWVudChjbGllbnQpOwogCiAJLyogUmVnaXN0ZXIgc3lzZnMgaG9va3MgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU3NF9hdHRyX2dyb3VwKTsKKwllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTc0X2F0dHJfZ3JvdXApOwogCWlmIChlcnIpCiAJCWdvdG8gZXhpdF9kZXRhY2g7CiAJcmV0dXJuIDA7CiAKICAgICAgIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiAgICAgICBleGl0X2ZyZWU6CiAJa2ZyZWUoZGF0YSk7CiAgICAgICBleGl0OgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jIGIvZHJpdmVycy9pMmMvY2hpcHMvcGNmODU5MS5jCmluZGV4IDY2YzdjM2IuLmRiNzM1MzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2NoaXBzL3BjZjg1OTEuYworKysgYi9kcml2ZXJzL2kyYy9jaGlwcy9wY2Y4NTkxLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICAgIHBjZjg1OTEuYyAtIFBhcnQgb2YgbG1fc2Vuc29ycywgTGludXgga2VybmVsIG1vZHVsZXMgZm9yIGhhcmR3YXJlCi0gICAgICAgICAgICAgICAgbW9uaXRvcmluZwogICAgIENvcHlyaWdodCAoQykgMjAwMS0yMDA0IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4KICAgICBQb3J0ZWQgdG8gTGludXggMi42IGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD4gd2l0aCAKICAgICB0aGUgaGVscCBvZiBKZWFuIERlbHZhcmUgPGtoYWxpQGxpbnV4LWZyLm9yZz4KQEAgLTE5MCw3ICsxODgsNyBAQAogLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgaTJjX3Byb2JlICovCiBzdGF0aWMgaW50IHBjZjg1OTFfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgaW50IGFkZHJlc3MsIGludCBraW5kKQogewotCXN0cnVjdCBpMmNfY2xpZW50ICpuZXdfY2xpZW50OworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CiAJc3RydWN0IHBjZjg1OTFfZGF0YSAqZGF0YTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMjA1LDEyICsyMDMsMTEgQEAKIAkJZ290byBleGl0OwogCX0KIAkKLQluZXdfY2xpZW50ID0gJmRhdGEtPmNsaWVudDsKLQlpMmNfc2V0X2NsaWVudGRhdGEobmV3X2NsaWVudCwgZGF0YSk7Ci0JbmV3X2NsaWVudC0+YWRkciA9IGFkZHJlc3M7Ci0JbmV3X2NsaWVudC0+YWRhcHRlciA9IGFkYXB0ZXI7Ci0JbmV3X2NsaWVudC0+ZHJpdmVyID0gJnBjZjg1OTFfZHJpdmVyOwotCW5ld19jbGllbnQtPmZsYWdzID0gMDsKKwljbGllbnQgPSAmZGF0YS0+Y2xpZW50OworCWkyY19zZXRfY2xpZW50ZGF0YShjbGllbnQsIGRhdGEpOworCWNsaWVudC0+YWRkciA9IGFkZHJlc3M7CisJY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKwljbGllbnQtPmRyaXZlciA9ICZwY2Y4NTkxX2RyaXZlcjsKIAogCS8qIE5vdywgd2Ugd291bGQgZG8gdGhlIHJlbWFpbmluZyBkZXRlY3Rpb24uIEJ1dCB0aGUgUENGODU5MSBpcyBwbGFpbmx5CiAJICAgaW1wb3NzaWJsZSB0byBkZXRlY3QhIFN0dXBpZCBjaGlwLiAqLwpAQCAtMjIxLDMxICsyMTgsMzEgQEAKIAogCS8qIEZpbGwgaW4gdGhlIHJlbWFpbmluZyBjbGllbnQgZmllbGRzIGFuZCBwdXQgaXQgaW50byB0aGUgZ2xvYmFsIAogCSAgIGxpc3QgKi8KLQlzdHJsY3B5KG5ld19jbGllbnQtPm5hbWUsICJwY2Y4NTkxIiwgSTJDX05BTUVfU0laRSk7CisJc3RybGNweShjbGllbnQtPm5hbWUsICJwY2Y4NTkxIiwgSTJDX05BTUVfU0laRSk7CiAJbXV0ZXhfaW5pdCgmZGF0YS0+dXBkYXRlX2xvY2spOwogCiAJLyogVGVsbCB0aGUgSTJDIGxheWVyIGEgbmV3IGNsaWVudCBoYXMgYXJyaXZlZCAqLwotCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQobmV3X2NsaWVudCkpKQorCWlmICgoZXJyID0gaTJjX2F0dGFjaF9jbGllbnQoY2xpZW50KSkpCiAJCWdvdG8gZXhpdF9rZnJlZTsKIAogCS8qIEluaXRpYWxpemUgdGhlIFBDRjg1OTEgY2hpcCAqLwotCXBjZjg1OTFfaW5pdF9jbGllbnQobmV3X2NsaWVudCk7CisJcGNmODU5MV9pbml0X2NsaWVudChjbGllbnQpOwogCiAJLyogUmVnaXN0ZXIgc3lzZnMgaG9va3MgKi8KLQllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKKwllcnIgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsaWVudC0+ZGV2LmtvYmosICZwY2Y4NTkxX2F0dHJfZ3JvdXApOwogCWlmIChlcnIpCiAJCWdvdG8gZXhpdF9kZXRhY2g7CiAKIAkvKiBSZWdpc3RlciBpbnB1dDIgaWYgbm90IGluICJ0d28gZGlmZmVyZW50aWFsIGlucHV0cyIgbW9kZSAqLwogCWlmIChpbnB1dF9tb2RlICE9IDMpIHsKLQkJaWYgKChlcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJm5ld19jbGllbnQtPmRldiwKKwkJaWYgKChlcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmNsaWVudC0+ZGV2LAogCQkJCQkgICAgICAmZGV2X2F0dHJfaW4yX2lucHV0KSkpCiAJCQlnb3RvIGV4aXRfc3lzZnNfcmVtb3ZlOwogCX0KIAogCS8qIFJlZ2lzdGVyIGlucHV0MyBvbmx5IGluICJmb3VyIHNpbmdsZSBlbmRlZCBpbnB1dHMiIG1vZGUgKi8KIAlpZiAoaW5wdXRfbW9kZSA9PSAwKSB7Ci0JCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZuZXdfY2xpZW50LT5kZXYsCisJCWlmICgoZXJyID0gZGV2aWNlX2NyZWF0ZV9maWxlKCZjbGllbnQtPmRldiwKIAkJCQkJICAgICAgJmRldl9hdHRyX2luM19pbnB1dCkpKQogCQkJZ290byBleGl0X3N5c2ZzX3JlbW92ZTsKIAl9CkBAIC0yNTMsMTAgKzI1MCwxMCBAQAogCXJldHVybiAwOwogCiBleGl0X3N5c2ZzX3JlbW92ZToKLQlzeXNmc19yZW1vdmVfZ3JvdXAoJm5ld19jbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwX29wdCk7Ci0Jc3lzZnNfcmVtb3ZlX2dyb3VwKCZuZXdfY2xpZW50LT5kZXYua29iaiwgJnBjZjg1OTFfYXR0cl9ncm91cCk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwX29wdCk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZjbGllbnQtPmRldi5rb2JqLCAmcGNmODU5MV9hdHRyX2dyb3VwKTsKIGV4aXRfZGV0YWNoOgotCWkyY19kZXRhY2hfY2xpZW50KG5ld19jbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CiBleGl0X2tmcmVlOgogCWtmcmVlKGRhdGEpOwogZXhpdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMgYi9kcml2ZXJzL2kyYy9pMmMtY29yZS5jCmluZGV4IGQwMTc1ZjQuLjBhNzlmNzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2kyYy1jb3JlLmMKKysrIGIvZHJpdmVycy9pMmMvaTJjLWNvcmUuYwpAQCAtMjksMTMgKzI5LDExIEBACiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgotI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvaGFyZGlycS5oPgogI2luY2x1ZGUgPGxpbnV4L2lycWZsYWdzLmg+Ci0jaW5jbHVkZSA8bGludXgvc2VtYXBob3JlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2luY2x1ZGUgImkyYy1jb3JlLmgiCkBAIC00NCw3ICs0Miw5IEBACiBzdGF0aWMgREVGSU5FX01VVEVYKGNvcmVfbG9jayk7CiBzdGF0aWMgREVGSU5FX0lEUihpMmNfYWRhcHRlcl9pZHIpOwogCi0jZGVmaW5lIGlzX25ld3N0eWxlX2RyaXZlcihkKSAoKGQpLT5wcm9iZSB8fCAoZCktPnJlbW92ZSkKKyNkZWZpbmUgaXNfbmV3c3R5bGVfZHJpdmVyKGQpICgoZCktPnByb2JlIHx8IChkKS0+cmVtb3ZlIHx8IChkKS0+ZGV0ZWN0KQorCitzdGF0aWMgaW50IGkyY19kZXRlY3Qoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKTsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCkBAIC0xMDMsMTkgKzEwMywxNCBAQAogewogCXN0cnVjdCBpMmNfY2xpZW50CSpjbGllbnQgPSB0b19pMmNfY2xpZW50KGRldik7CiAJc3RydWN0IGkyY19kcml2ZXIJKmRyaXZlciA9IHRvX2kyY19kcml2ZXIoZGV2LT5kcml2ZXIpOwotCWNvbnN0IHN0cnVjdCBpMmNfZGV2aWNlX2lkICppZDsKIAlpbnQgc3RhdHVzOwogCi0JaWYgKCFkcml2ZXItPnByb2JlKQorCWlmICghZHJpdmVyLT5wcm9iZSB8fCAhZHJpdmVyLT5pZF90YWJsZSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAJY2xpZW50LT5kcml2ZXIgPSBkcml2ZXI7CiAJZGV2X2RiZyhkZXYsICJwcm9iZVxuIik7CiAKLQlpZiAoZHJpdmVyLT5pZF90YWJsZSkKLQkJaWQgPSBpMmNfbWF0Y2hfaWQoZHJpdmVyLT5pZF90YWJsZSwgY2xpZW50KTsKLQllbHNlCi0JCWlkID0gTlVMTDsKLQlzdGF0dXMgPSBkcml2ZXItPnByb2JlKGNsaWVudCwgaWQpOworCXN0YXR1cyA9IGRyaXZlci0+cHJvYmUoY2xpZW50LCBpMmNfbWF0Y2hfaWQoZHJpdmVyLT5pZF90YWJsZSwgY2xpZW50KSk7CiAJaWYgKHN0YXR1cykKIAkJY2xpZW50LT5kcml2ZXIgPSBOVUxMOwogCXJldHVybiBzdGF0dXM7CkBAIC0yMDgsNyArMjAzLDcgQEAKIAl7IH0sCiB9OwogCi1zdGF0aWMgc3RydWN0IGJ1c190eXBlIGkyY19idXNfdHlwZSA9IHsKK3N0cnVjdCBidXNfdHlwZSBpMmNfYnVzX3R5cGUgPSB7CiAJLm5hbWUJCT0gImkyYyIsCiAJLmRldl9hdHRycwk9IGkyY19kZXZfYXR0cnMsCiAJLm1hdGNoCQk9IGkyY19kZXZpY2VfbWF0Y2gsCkBAIC0yMTksNiArMjE0LDcgQEAKIAkuc3VzcGVuZAk9IGkyY19kZXZpY2Vfc3VzcGVuZCwKIAkucmVzdW1lCQk9IGkyY19kZXZpY2VfcmVzdW1lLAogfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGkyY19idXNfdHlwZSk7CiAKIAogLyoqCkBAIC0zMDYsNiArMzAyLDE0IEBACiAJCXJldHVybjsKIAl9CiAKKwlpZiAoYWRhcHRlci0+Y2xpZW50X3VucmVnaXN0ZXIpIHsKKwkJaWYgKGFkYXB0ZXItPmNsaWVudF91bnJlZ2lzdGVyKGNsaWVudCkpIHsKKwkJCWRldl93YXJuKCZjbGllbnQtPmRldiwKKwkJCQkgImNsaWVudF91bnJlZ2lzdGVyIFslc10gZmFpbGVkXG4iLAorCQkJCSBjbGllbnQtPm5hbWUpOworCQl9CisJfQorCiAJbXV0ZXhfbG9jaygmYWRhcHRlci0+Y2xpc3RfbG9jayk7CiAJbGlzdF9kZWwoJmNsaWVudC0+bGlzdCk7CiAJbXV0ZXhfdW5sb2NrKCZhZGFwdGVyLT5jbGlzdF9sb2NrKTsKQEAgLTQxNiw2ICs0MjAsMTAgQEAKIAlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gdG9faTJjX2RyaXZlcihkKTsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAgPSBkYXRhOwogCisJLyogRGV0ZWN0IHN1cHBvcnRlZCBkZXZpY2VzIG9uIHRoYXQgYnVzLCBhbmQgaW5zdGFudGlhdGUgdGhlbSAqLworCWkyY19kZXRlY3QoYWRhcCwgZHJpdmVyKTsKKworCS8qIExldCBsZWdhY3kgZHJpdmVycyBzY2FuIHRoaXMgYnVzIGZvciBtYXRjaGluZyBkZXZpY2VzICovCiAJaWYgKGRyaXZlci0+YXR0YWNoX2FkYXB0ZXIpIHsKIAkJLyogV2UgaWdub3JlIHRoZSByZXR1cm4gY29kZTsgaWYgaXQgZmFpbHMsIHRvbyBiYWQgKi8KIAkJZHJpdmVyLT5hdHRhY2hfYWRhcHRlcihhZGFwKTsKQEAgLTQ1NSw3ICs0NjMsNyBAQAogCWlmIChhZGFwLT5uciA8IF9faTJjX2ZpcnN0X2R5bmFtaWNfYnVzX251bSkKIAkJaTJjX3NjYW5fc3RhdGljX2JvYXJkX2luZm8oYWRhcCk7CiAKLQkvKiBsZXQgbGVnYWN5IGRyaXZlcnMgc2NhbiB0aGlzIGJ1cyBmb3IgbWF0Y2hpbmcgZGV2aWNlcyAqLworCS8qIE5vdGlmeSBkcml2ZXJzICovCiAJZHVtbXkgPSBidXNfZm9yX2VhY2hfZHJ2KCZpMmNfYnVzX3R5cGUsIE5VTEwsIGFkYXAsCiAJCQkJIGkyY19kb19hZGRfYWRhcHRlcik7CiAKQEAgLTU2MSw4ICs1NjksMTkgQEAKIHsKIAlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gdG9faTJjX2RyaXZlcihkKTsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSBkYXRhOworCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKIAlpbnQgcmVzOwogCisJLyogUmVtb3ZlIHRoZSBkZXZpY2VzIHdlIGNyZWF0ZWQgb3Vyc2VsdmVzICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZkcml2ZXItPmNsaWVudHMsIGRldGVjdGVkKSB7CisJCWlmIChjbGllbnQtPmFkYXB0ZXIgPT0gYWRhcHRlcikgeworCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiUmVtb3ZpbmcgJXMgYXQgMHgleFxuIiwKKwkJCQljbGllbnQtPm5hbWUsIGNsaWVudC0+YWRkcik7CisJCQlsaXN0X2RlbCgmY2xpZW50LT5kZXRlY3RlZCk7CisJCQlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoY2xpZW50KTsKKwkJfQorCX0KKwogCWlmICghZHJpdmVyLT5kZXRhY2hfYWRhcHRlcikKIAkJcmV0dXJuIDA7CiAJcmVzID0gZHJpdmVyLT5kZXRhY2hfYWRhcHRlcihhZGFwdGVyKTsKQEAgLTU4Miw4ICs2MDEsNyBAQAogICovCiBpbnQgaTJjX2RlbF9hZGFwdGVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkICAqaXRlbSwgKl9uOwotCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQ7CisJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgKl9uOwogCWludCByZXMgPSAwOwogCiAJbXV0ZXhfbG9jaygmY29yZV9sb2NrKTsKQEAgLTYwNCwxMCArNjIyLDkgQEAKIAogCS8qIGRldGFjaCBhbnkgYWN0aXZlIGNsaWVudHMuIFRoaXMgbXVzdCBiZSBkb25lIGZpcnN0LCBiZWNhdXNlCiAJICogaXQgY2FuIGZhaWw7IGluIHdoaWNoIGNhc2Ugd2UgZ2l2ZSB1cC4gKi8KLQlsaXN0X2Zvcl9lYWNoX3NhZmUoaXRlbSwgX24sICZhZGFwLT5jbGllbnRzKSB7CisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGNsaWVudCwgX24sICZhZGFwLT5jbGllbnRzLCBsaXN0KSB7CiAJCXN0cnVjdCBpMmNfZHJpdmVyCSpkcml2ZXI7CiAKLQkJY2xpZW50ID0gbGlzdF9lbnRyeShpdGVtLCBzdHJ1Y3QgaTJjX2NsaWVudCwgbGlzdCk7CiAJCWRyaXZlciA9IGNsaWVudC0+ZHJpdmVyOwogCiAJCS8qIG5ldyBzdHlsZSwgZm9sbG93IHN0YW5kYXJkIGRyaXZlciBtb2RlbCAqLwpAQCAtNjQ2LDYgKzY2MywyMCBAQAogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKK3N0YXRpYyBpbnQgX19hdHRhY2hfYWRhcHRlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gdG9faTJjX2FkYXB0ZXIoZGV2KTsKKwlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gZGF0YTsKKworCWkyY19kZXRlY3QoYWRhcHRlciwgZHJpdmVyKTsKKworCS8qIExlZ2FjeSBkcml2ZXJzIHNjYW4gaTJjIGJ1c3NlcyBkaXJlY3RseSAqLworCWlmIChkcml2ZXItPmF0dGFjaF9hZGFwdGVyKQorCQlkcml2ZXItPmF0dGFjaF9hZGFwdGVyKGFkYXB0ZXIpOworCisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBBbiBpMmNfZHJpdmVyIGlzIHVzZWQgd2l0aCBvbmUgb3IgbW9yZSBpMmNfY2xpZW50IChkZXZpY2UpIG5vZGVzIHRvIGFjY2VzcwogICogaTJjIHNsYXZlIGNoaXBzLCBvbiBhIGJ1cyBpbnN0YW5jZSBhc3NvY2lhdGVkIHdpdGggc29tZSBpMmNfYWRhcHRlci4gIFRoZXJlCkBAIC02ODUsMjMgKzcxNiw1OSBAQAogCiAJcHJfZGVidWcoImkyYy1jb3JlOiBkcml2ZXIgWyVzXSByZWdpc3RlcmVkXG4iLCBkcml2ZXItPmRyaXZlci5uYW1lKTsKIAotCS8qIGxlZ2FjeSBkcml2ZXJzIHNjYW4gaTJjIGJ1c3NlcyBkaXJlY3RseSAqLwotCWlmIChkcml2ZXItPmF0dGFjaF9hZGFwdGVyKSB7Ci0JCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcjsKLQotCQlkb3duKCZpMmNfYWRhcHRlcl9jbGFzcy5zZW0pOwotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGFkYXB0ZXIsICZpMmNfYWRhcHRlcl9jbGFzcy5kZXZpY2VzLAotCQkJCSAgICBkZXYubm9kZSkgewotCQkJZHJpdmVyLT5hdHRhY2hfYWRhcHRlcihhZGFwdGVyKTsKLQkJfQotCQl1cCgmaTJjX2FkYXB0ZXJfY2xhc3Muc2VtKTsKLQl9CisJSU5JVF9MSVNUX0hFQUQoJmRyaXZlci0+Y2xpZW50cyk7CisJLyogV2FsayB0aGUgYWRhcHRlcnMgdGhhdCBhcmUgYWxyZWFkeSBwcmVzZW50ICovCisJY2xhc3NfZm9yX2VhY2hfZGV2aWNlKCZpMmNfYWRhcHRlcl9jbGFzcywgZHJpdmVyLCBfX2F0dGFjaF9hZGFwdGVyKTsKIAogCW11dGV4X3VubG9jaygmY29yZV9sb2NrKTsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3JlZ2lzdGVyX2RyaXZlcik7CiAKK3N0YXRpYyBpbnQgX19kZXRhY2hfYWRhcHRlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gdG9faTJjX2FkYXB0ZXIoZGV2KTsKKwlzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyID0gZGF0YTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCAqX247CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCBfbiwgJmRyaXZlci0+Y2xpZW50cywgZGV0ZWN0ZWQpIHsKKwkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiUmVtb3ZpbmcgJXMgYXQgMHgleFxuIiwKKwkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJbGlzdF9kZWwoJmNsaWVudC0+ZGV0ZWN0ZWQpOworCQlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoY2xpZW50KTsKKwl9CisKKwlpZiAoaXNfbmV3c3R5bGVfZHJpdmVyKGRyaXZlcikpCisJCXJldHVybiAwOworCisJLyogSGF2ZSBhIGxvb2sgYXQgZWFjaCBhZGFwdGVyLCBpZiBjbGllbnRzIG9mIHRoaXMgZHJpdmVyIGFyZSBzdGlsbAorCSAqIGF0dGFjaGVkLiBJZiBzbywgZGV0YWNoIHRoZW0gdG8gYmUgYWJsZSB0byBraWxsIHRoZSBkcml2ZXIKKwkgKiBhZnRlcndhcmRzLgorCSAqLworCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKSB7CisJCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKGFkYXB0ZXIpKQorCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LAorCQkJCSJkZXRhY2hfYWRhcHRlciBmYWlsZWQgZm9yIGRyaXZlciBbJXNdXG4iLAorCQkJCWRyaXZlci0+ZHJpdmVyLm5hbWUpOworCX0gZWxzZSB7CisJCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsICpfbjsKKworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoY2xpZW50LCBfbiwgJmFkYXB0ZXItPmNsaWVudHMsIGxpc3QpIHsKKwkJCWlmIChjbGllbnQtPmRyaXZlciAhPSBkcml2ZXIpCisJCQkJY29udGludWU7CisJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsCisJCQkJImRldGFjaGluZyBjbGllbnQgWyVzXSBhdCAweCUwMnhcbiIsCisJCQkJY2xpZW50LT5uYW1lLCBjbGllbnQtPmFkZHIpOworCQkJaWYgKGRyaXZlci0+ZGV0YWNoX2NsaWVudChjbGllbnQpKQorCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgImRldGFjaF9jbGllbnQgIgorCQkJCQkiZmFpbGVkIGZvciBjbGllbnQgWyVzXSBhdCAweCUwMnhcbiIsCisJCQkJCWNsaWVudC0+bmFtZSwgY2xpZW50LT5hZGRyKTsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAqIGkyY19kZWxfZHJpdmVyIC0gdW5yZWdpc3RlciBJMkMgZHJpdmVyCiAgKiBAZHJpdmVyOiB0aGUgZHJpdmVyIGJlaW5nIHVucmVnaXN0ZXJlZApAQCAtNzA5LDQ4ICs3NzYsMTAgQEAKICAqLwogdm9pZCBpMmNfZGVsX2RyaXZlcihzdHJ1Y3QgaTJjX2RyaXZlciAqZHJpdmVyKQogewotCXN0cnVjdCBsaXN0X2hlYWQgICAqaXRlbTIsICpfbjsKLQlzdHJ1Y3QgaTJjX2NsaWVudCAgKmNsaWVudDsKLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA7Ci0KIAltdXRleF9sb2NrKCZjb3JlX2xvY2spOwogCi0JLyogbmV3LXN0eWxlIGRyaXZlcj8gKi8KLQlpZiAoaXNfbmV3c3R5bGVfZHJpdmVyKGRyaXZlcikpCi0JCWdvdG8gdW5yZWdpc3RlcjsKKwljbGFzc19mb3JfZWFjaF9kZXZpY2UoJmkyY19hZGFwdGVyX2NsYXNzLCBkcml2ZXIsIF9fZGV0YWNoX2FkYXB0ZXIpOwogCi0JLyogSGF2ZSBhIGxvb2sgYXQgZWFjaCBhZGFwdGVyLCBpZiBjbGllbnRzIG9mIHRoaXMgZHJpdmVyIGFyZSBzdGlsbAotCSAqIGF0dGFjaGVkLiBJZiBzbywgZGV0YWNoIHRoZW0gdG8gYmUgYWJsZSB0byBraWxsIHRoZSBkcml2ZXIKLQkgKiBhZnRlcndhcmRzLgotCSAqLwotCWRvd24oJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShhZGFwLCAmaTJjX2FkYXB0ZXJfY2xhc3MuZGV2aWNlcywgZGV2Lm5vZGUpIHsKLQkJaWYgKGRyaXZlci0+ZGV0YWNoX2FkYXB0ZXIpIHsKLQkJCWlmIChkcml2ZXItPmRldGFjaF9hZGFwdGVyKGFkYXApKSB7Ci0JCQkJZGV2X2VycigmYWRhcC0+ZGV2LCAiZGV0YWNoX2FkYXB0ZXIgZmFpbGVkICIKLQkJCQkJImZvciBkcml2ZXIgWyVzXVxuIiwKLQkJCQkJZHJpdmVyLT5kcml2ZXIubmFtZSk7Ci0JCQl9Ci0JCX0gZWxzZSB7Ci0JCQlsaXN0X2Zvcl9lYWNoX3NhZmUoaXRlbTIsIF9uLCAmYWRhcC0+Y2xpZW50cykgewotCQkJCWNsaWVudCA9IGxpc3RfZW50cnkoaXRlbTIsIHN0cnVjdCBpMmNfY2xpZW50LCBsaXN0KTsKLQkJCQlpZiAoY2xpZW50LT5kcml2ZXIgIT0gZHJpdmVyKQotCQkJCQljb250aW51ZTsKLQkJCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJkZXRhY2hpbmcgY2xpZW50IFslc10gIgotCQkJCQkiYXQgMHglMDJ4XG4iLCBjbGllbnQtPm5hbWUsCi0JCQkJCWNsaWVudC0+YWRkcik7Ci0JCQkJaWYgKGRyaXZlci0+ZGV0YWNoX2NsaWVudChjbGllbnQpKSB7Ci0JCQkJCWRldl9lcnIoJmFkYXAtPmRldiwgImRldGFjaF9jbGllbnQgIgotCQkJCQkJImZhaWxlZCBmb3IgY2xpZW50IFslc10gYXQgIgotCQkJCQkJIjB4JTAyeFxuIiwgY2xpZW50LT5uYW1lLAotCQkJCQkJY2xpZW50LT5hZGRyKTsKLQkJCQl9Ci0JCQl9Ci0JCX0KLQl9Ci0JdXAoJmkyY19hZGFwdGVyX2NsYXNzLnNlbSk7Ci0KLSB1bnJlZ2lzdGVyOgogCWRyaXZlcl91bnJlZ2lzdGVyKCZkcml2ZXItPmRyaXZlcik7CiAJcHJfZGVidWcoImkyYy1jb3JlOiBkcml2ZXIgWyVzXSB1bnJlZ2lzdGVyZWRcbiIsIGRyaXZlci0+ZHJpdmVyLm5hbWUpOwogCkBAIC04NjMsOCArODkyLDkgQEAKICAqLwogc3RydWN0IGkyY19jbGllbnQgKmkyY191c2VfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7Ci0JZ2V0X2RldmljZSgmY2xpZW50LT5kZXYpOwotCXJldHVybiBjbGllbnQ7CisJaWYgKGNsaWVudCAmJiBnZXRfZGV2aWNlKCZjbGllbnQtPmRldikpCisJCXJldHVybiBjbGllbnQ7CisJcmV0dXJuIE5VTEw7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY191c2VfY2xpZW50KTsKIApAQCAtODc2LDcgKzkwNiw4IEBACiAgKi8KIHZvaWQgaTJjX3JlbGVhc2VfY2xpZW50KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7Ci0JcHV0X2RldmljZSgmY2xpZW50LT5kZXYpOworCWlmIChjbGllbnQpCisJCXB1dF9kZXZpY2UoJmNsaWVudC0+ZGV2KTsKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3JlbGVhc2VfY2xpZW50KTsKIApAQCAtOTQyLDEwICs5NzMsMzkgQEAKICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCisvKioKKyAqIGkyY190cmFuc2ZlciAtIGV4ZWN1dGUgYSBzaW5nbGUgb3IgY29tYmluZWQgSTJDIG1lc3NhZ2UKKyAqIEBhZGFwOiBIYW5kbGUgdG8gSTJDIGJ1cworICogQG1zZ3M6IE9uZSBvciBtb3JlIG1lc3NhZ2VzIHRvIGV4ZWN1dGUgYmVmb3JlIFNUT1AgaXMgaXNzdWVkIHRvCisgKgl0ZXJtaW5hdGUgdGhlIG9wZXJhdGlvbjsgZWFjaCBtZXNzYWdlIGJlZ2lucyB3aXRoIGEgU1RBUlQuCisgKiBAbnVtOiBOdW1iZXIgb2YgbWVzc2FnZXMgdG8gYmUgZXhlY3V0ZWQuCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBlcnJubywgZWxzZSB0aGUgbnVtYmVyIG9mIG1lc3NhZ2VzIGV4ZWN1dGVkLgorICoKKyAqIE5vdGUgdGhhdCB0aGVyZSBpcyBubyByZXF1aXJlbWVudCB0aGF0IGVhY2ggbWVzc2FnZSBiZSBzZW50IHRvCisgKiB0aGUgc2FtZSBzbGF2ZSBhZGRyZXNzLCBhbHRob3VnaCB0aGF0IGlzIHRoZSBtb3N0IGNvbW1vbiBtb2RlbC4KKyAqLwogaW50IGkyY190cmFuc2ZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkKIHsKIAlpbnQgcmV0OwogCisJLyogUkVWSVNJVCB0aGUgZmF1bHQgcmVwb3J0aW5nIG1vZGVsIGhlcmUgaXMgd2VhazoKKwkgKgorCSAqICAtIFdoZW4gd2UgZ2V0IGFuIGVycm9yIGFmdGVyIHJlY2VpdmluZyBOIGJ5dGVzIGZyb20gYSBzbGF2ZSwKKwkgKiAgICB0aGVyZSBpcyBubyB3YXkgdG8gcmVwb3J0ICJOIi4KKwkgKgorCSAqICAtIFdoZW4gd2UgZ2V0IGEgTkFLIGFmdGVyIHRyYW5zbWl0dGluZyBOIGJ5dGVzIHRvIGEgc2xhdmUsCisJICogICAgdGhlcmUgaXMgbm8gd2F5IHRvIHJlcG9ydCAiTiIgLi4uIG9yIHRvIGxldCB0aGUgbWFzdGVyCisJICogICAgY29udGludWUgZXhlY3V0aW5nIHRoZSByZXN0IG9mIHRoaXMgY29tYmluZWQgbWVzc2FnZSwgaWYKKwkgKiAgICB0aGF0J3MgdGhlIGFwcHJvcHJpYXRlIHJlc3BvbnNlLgorCSAqCisJICogIC0gV2hlbiBmb3IgZXhhbXBsZSAibnVtIiBpcyB0d28gYW5kIHdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZQorCSAqICAgIHRoZSBmaXJzdCBtZXNzYWdlIGJ1dCBnZXQgYW4gZXJyb3IgcGFydCB3YXkgdGhyb3VnaCB0aGUKKwkgKiAgICBzZWNvbmQsIGl0J3MgdW5jbGVhciB3aGV0aGVyIHRoYXQgc2hvdWxkIGJlIHJlcG9ydGVkIGFzCisJICogICAgb25lIChkaXNjYXJkaW5nIHN0YXR1cyBvbiB0aGUgc2Vjb25kIG1lc3NhZ2UpIG9yIGVycm5vCisJICogICAgKGRpc2NhcmRpbmcgc3RhdHVzIG9uIHRoZSBmaXJzdCBvbmUpLgorCSAqLworCiAJaWYgKGFkYXAtPmFsZ28tPm1hc3Rlcl94ZmVyKSB7CiAjaWZkZWYgREVCVUcKIAkJZm9yIChyZXQgPSAwOyByZXQgPCBudW07IHJldCsrKSB7CkBAIC05NzEsMTEgKzEwMzEsMTkgQEAKIAkJcmV0dXJuIHJldDsKIAl9IGVsc2UgewogCQlkZXZfZGJnKCZhZGFwLT5kZXYsICJJMkMgbGV2ZWwgdHJhbnNmZXJzIG5vdCBzdXBwb3J0ZWRcbiIpOwotCQlyZXR1cm4gLUVOT1NZUzsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIH0KIEVYUE9SVF9TWU1CT0woaTJjX3RyYW5zZmVyKTsKIAorLyoqCisgKiBpMmNfbWFzdGVyX3NlbmQgLSBpc3N1ZSBhIHNpbmdsZSBJMkMgbWVzc2FnZSBpbiBtYXN0ZXIgdHJhbnNtaXQgbW9kZQorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGJ1ZjogRGF0YSB0aGF0IHdpbGwgYmUgd3JpdHRlbiB0byB0aGUgc2xhdmUKKyAqIEBjb3VudDogSG93IG1hbnkgYnl0ZXMgdG8gd3JpdGUKKyAqCisgKiBSZXR1cm5zIG5lZ2F0aXZlIGVycm5vLCBvciBlbHNlIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4KKyAqLwogaW50IGkyY19tYXN0ZXJfc2VuZChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LGNvbnN0IGNoYXIgKmJ1ZiAsaW50IGNvdW50KQogewogCWludCByZXQ7CkBAIC05OTUsNiArMTA2MywxNCBAQAogfQogRVhQT1JUX1NZTUJPTChpMmNfbWFzdGVyX3NlbmQpOwogCisvKioKKyAqIGkyY19tYXN0ZXJfcmVjdiAtIGlzc3VlIGEgc2luZ2xlIEkyQyBtZXNzYWdlIGluIG1hc3RlciByZWNlaXZlIG1vZGUKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBidWY6IFdoZXJlIHRvIHN0b3JlIGRhdGEgcmVhZCBmcm9tIHNsYXZlCisgKiBAY291bnQ6IEhvdyBtYW55IGJ5dGVzIHRvIHJlYWQKKyAqCisgKiBSZXR1cm5zIG5lZ2F0aXZlIGVycm5vLCBvciBlbHNlIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZC4KKyAqLwogaW50IGkyY19tYXN0ZXJfcmVjdihzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBjaGFyICpidWYgLGludCBjb3VudCkKIHsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA9Y2xpZW50LT5hZGFwdGVyOwpAQCAtMTEwMyw3ICsxMTc5LDcgQEAKIAogCQlkZXZfd2FybigmYWRhcHRlci0+ZGV2LCAiU01CdXMgUXVpY2sgY29tbWFuZCBub3Qgc3VwcG9ydGVkLCAiCiAJCQkgImNhbid0IHByb2JlIGZvciBjaGlwc1xuIik7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOwogCX0KIAogCS8qIFByb2JlIGVudHJpZXMgYXJlIGRvbmUgc2Vjb25kLCBhbmQgYXJlIG5vdCBhZmZlY3RlZCBieSBpZ25vcmUKQEAgLTExNTcsNiArMTIzMywxNzkgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3Byb2JlKTsKIAorLyogU2VwYXJhdGUgZGV0ZWN0aW9uIGZ1bmN0aW9uIGZvciBuZXctc3R5bGUgZHJpdmVycyAqLworc3RhdGljIGludCBpMmNfZGV0ZWN0X2FkZHJlc3Moc3RydWN0IGkyY19jbGllbnQgKnRlbXBfY2xpZW50LCBpbnQga2luZCwKKwkJCSAgICAgIHN0cnVjdCBpMmNfZHJpdmVyICpkcml2ZXIpCit7CisJc3RydWN0IGkyY19ib2FyZF9pbmZvIGluZm87CisJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gdGVtcF9jbGllbnQtPmFkYXB0ZXI7CisJaW50IGFkZHIgPSB0ZW1wX2NsaWVudC0+YWRkcjsKKwlpbnQgZXJyOworCisJLyogTWFrZSBzdXJlIHRoZSBhZGRyZXNzIGlzIHZhbGlkICovCisJaWYgKGFkZHIgPCAweDAzIHx8IGFkZHIgPiAweDc3KSB7CisJCWRldl93YXJuKCZhZGFwdGVyLT5kZXYsICJJbnZhbGlkIHByb2JlIGFkZHJlc3MgMHglMDJ4XG4iLAorCQkJIGFkZHIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBTa2lwIGlmIGFscmVhZHkgaW4gdXNlICovCisJaWYgKGkyY19jaGVja19hZGRyKGFkYXB0ZXIsIGFkZHIpKQorCQlyZXR1cm4gMDsKKworCS8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBzb21ldGhpbmcgYXQgdGhpcyBhZGRyZXNzLCB1bmxlc3MgZm9yY2VkICovCisJaWYgKGtpbmQgPCAwKSB7CisJCWlmIChpMmNfc21idXNfeGZlcihhZGFwdGVyLCBhZGRyLCAwLCAwLCAwLAorCQkJCSAgIEkyQ19TTUJVU19RVUlDSywgTlVMTCkgPCAwKQorCQkJcmV0dXJuIDA7CisKKwkJLyogcHJldmVudCAyNFJGMDggY29ycnVwdGlvbiAqLworCQlpZiAoKGFkZHIgJiB+MHgwZikgPT0gMHg1MCkKKwkJCWkyY19zbWJ1c194ZmVyKGFkYXB0ZXIsIGFkZHIsIDAsIDAsIDAsCisJCQkJICAgICAgIEkyQ19TTUJVU19RVUlDSywgTlVMTCk7CisJfQorCisJLyogRmluYWxseSBjYWxsIHRoZSBjdXN0b20gZGV0ZWN0aW9uIGZ1bmN0aW9uICovCisJbWVtc2V0KCZpbmZvLCAwLCBzaXplb2Yoc3RydWN0IGkyY19ib2FyZF9pbmZvKSk7CisJaW5mby5hZGRyID0gYWRkcjsKKwllcnIgPSBkcml2ZXItPmRldGVjdCh0ZW1wX2NsaWVudCwga2luZCwgJmluZm8pOworCWlmIChlcnIpIHsKKwkJLyogLUVOT0RFViBpcyByZXR1cm5lZCBpZiB0aGUgZGV0ZWN0aW9uIGZhaWxzLiBXZSBjYXRjaCBpdAorCQkgICBoZXJlIGFzIHRoaXMgaXNuJ3QgYW4gZXJyb3IuICovCisJCXJldHVybiBlcnIgPT0gLUVOT0RFViA/IDAgOiBlcnI7CisJfQorCisJLyogQ29uc2lzdGVuY3kgY2hlY2sgKi8KKwlpZiAoaW5mby50eXBlWzBdID09ICdcMCcpIHsKKwkJZGV2X2VycigmYWRhcHRlci0+ZGV2LCAiJXMgZGV0ZWN0aW9uIGZ1bmN0aW9uIHByb3ZpZGVkICIKKwkJCSJubyBuYW1lIGZvciAweCV4XG4iLCBkcml2ZXItPmRyaXZlci5uYW1lLAorCQkJYWRkcik7CisJfSBlbHNlIHsKKwkJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKKworCQkvKiBEZXRlY3Rpb24gc3VjY2VlZGVkLCBpbnN0YW50aWF0ZSB0aGUgZGV2aWNlICovCisJCWRldl9kYmcoJmFkYXB0ZXItPmRldiwgIkNyZWF0aW5nICVzIGF0IDB4JTAyeFxuIiwKKwkJCWluZm8udHlwZSwgaW5mby5hZGRyKTsKKwkJY2xpZW50ID0gaTJjX25ld19kZXZpY2UoYWRhcHRlciwgJmluZm8pOworCQlpZiAoY2xpZW50KQorCQkJbGlzdF9hZGRfdGFpbCgmY2xpZW50LT5kZXRlY3RlZCwgJmRyaXZlci0+Y2xpZW50cyk7CisJCWVsc2UKKwkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIkZhaWxlZCBjcmVhdGluZyAlcyBhdCAweCUwMnhcbiIsCisJCQkJaW5mby50eXBlLCBpbmZvLmFkZHIpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpMmNfZGV0ZWN0KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgc3RydWN0IGkyY19kcml2ZXIgKmRyaXZlcikKK3sKKwljb25zdCBzdHJ1Y3QgaTJjX2NsaWVudF9hZGRyZXNzX2RhdGEgKmFkZHJlc3NfZGF0YTsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqdGVtcF9jbGllbnQ7CisJaW50IGksIGVyciA9IDA7CisJaW50IGFkYXBfaWQgPSBpMmNfYWRhcHRlcl9pZChhZGFwdGVyKTsKKworCWFkZHJlc3NfZGF0YSA9IGRyaXZlci0+YWRkcmVzc19kYXRhOworCWlmICghZHJpdmVyLT5kZXRlY3QgfHwgIWFkZHJlc3NfZGF0YSkKKwkJcmV0dXJuIDA7CisKKwkvKiBTZXQgdXAgYSB0ZW1wb3JhcnkgY2xpZW50IHRvIGhlbHAgZGV0ZWN0IGNhbGxiYWNrICovCisJdGVtcF9jbGllbnQgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTJjX2NsaWVudCksIEdGUF9LRVJORUwpOworCWlmICghdGVtcF9jbGllbnQpCisJCXJldHVybiAtRU5PTUVNOworCXRlbXBfY2xpZW50LT5hZGFwdGVyID0gYWRhcHRlcjsKKworCS8qIEZvcmNlIGVudHJpZXMgYXJlIGRvbmUgZmlyc3QsIGFuZCBhcmUgbm90IGFmZmVjdGVkIGJ5IGlnbm9yZQorCSAgIGVudHJpZXMgKi8KKwlpZiAoYWRkcmVzc19kYXRhLT5mb3JjZXMpIHsKKwkJY29uc3QgdW5zaWduZWQgc2hvcnQgKiBjb25zdCAqZm9yY2VzID0gYWRkcmVzc19kYXRhLT5mb3JjZXM7CisJCWludCBraW5kOworCisJCWZvciAoa2luZCA9IDA7IGZvcmNlc1traW5kXTsga2luZCsrKSB7CisJCQlmb3IgKGkgPSAwOyBmb3JjZXNba2luZF1baV0gIT0gSTJDX0NMSUVOVF9FTkQ7CisJCQkgICAgIGkgKz0gMikgeworCQkJCWlmIChmb3JjZXNba2luZF1baV0gPT0gYWRhcF9pZAorCQkJCSB8fCBmb3JjZXNba2luZF1baV0gPT0gQU5ZX0kyQ19CVVMpIHsKKwkJCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgZm9yY2UgIgorCQkJCQkJInBhcmFtZXRlciBmb3IgYWRhcHRlciAlZCwgIgorCQkJCQkJImFkZHIgMHglMDJ4LCBraW5kICVkXG4iLAorCQkJCQkJYWRhcF9pZCwgZm9yY2VzW2tpbmRdW2kgKyAxXSwKKwkJCQkJCWtpbmQpOworCQkJCQl0ZW1wX2NsaWVudC0+YWRkciA9IGZvcmNlc1traW5kXVtpICsgMV07CisJCQkJCWVyciA9IGkyY19kZXRlY3RfYWRkcmVzcyh0ZW1wX2NsaWVudCwKKwkJCQkJCWtpbmQsIGRyaXZlcik7CisJCQkJCWlmIChlcnIpCisJCQkJCQlnb3RvIGV4aXRfZnJlZTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwkvKiBTdG9wIGhlcmUgaWYgd2UgY2FuJ3QgdXNlIFNNQlVTX1FVSUNLICovCisJaWYgKCFpMmNfY2hlY2tfZnVuY3Rpb25hbGl0eShhZGFwdGVyLCBJMkNfRlVOQ19TTUJVU19RVUlDSykpIHsKKwkJaWYgKGFkZHJlc3NfZGF0YS0+cHJvYmVbMF0gPT0gSTJDX0NMSUVOVF9FTkQKKwkJICYmIGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1swXSA9PSBJMkNfQ0xJRU5UX0VORCkKKwkJCWdvdG8gZXhpdF9mcmVlOworCisJCWRldl93YXJuKCZhZGFwdGVyLT5kZXYsICJTTUJ1cyBRdWljayBjb21tYW5kIG5vdCBzdXBwb3J0ZWQsICIKKwkJCSAiY2FuJ3QgcHJvYmUgZm9yIGNoaXBzXG4iKTsKKwkJZXJyID0gLUVPUE5PVFNVUFA7CisJCWdvdG8gZXhpdF9mcmVlOworCX0KKworCS8qIFN0b3AgaGVyZSBpZiB0aGUgY2xhc3NlcyBkbyBub3QgbWF0Y2ggKi8KKwlpZiAoIShhZGFwdGVyLT5jbGFzcyAmIGRyaXZlci0+Y2xhc3MpKQorCQlnb3RvIGV4aXRfZnJlZTsKKworCS8qIFByb2JlIGVudHJpZXMgYXJlIGRvbmUgc2Vjb25kLCBhbmQgYXJlIG5vdCBhZmZlY3RlZCBieSBpZ25vcmUKKwkgICBlbnRyaWVzIGVpdGhlciAqLworCWZvciAoaSA9IDA7IGFkZHJlc3NfZGF0YS0+cHJvYmVbaV0gIT0gSTJDX0NMSUVOVF9FTkQ7IGkgKz0gMikgeworCQlpZiAoYWRkcmVzc19kYXRhLT5wcm9iZVtpXSA9PSBhZGFwX2lkCisJCSB8fCBhZGRyZXNzX2RhdGEtPnByb2JlW2ldID09IEFOWV9JMkNfQlVTKSB7CisJCQlkZXZfZGJnKCZhZGFwdGVyLT5kZXYsICJmb3VuZCBwcm9iZSBwYXJhbWV0ZXIgZm9yICIKKwkJCQkiYWRhcHRlciAlZCwgYWRkciAweCUwMnhcbiIsIGFkYXBfaWQsCisJCQkJYWRkcmVzc19kYXRhLT5wcm9iZVtpICsgMV0pOworCQkJdGVtcF9jbGllbnQtPmFkZHIgPSBhZGRyZXNzX2RhdGEtPnByb2JlW2kgKyAxXTsKKwkJCWVyciA9IGkyY19kZXRlY3RfYWRkcmVzcyh0ZW1wX2NsaWVudCwgLTEsIGRyaXZlcik7CisJCQlpZiAoZXJyKQorCQkJCWdvdG8gZXhpdF9mcmVlOworCQl9CisJfQorCisJLyogTm9ybWFsIGVudHJpZXMgYXJlIGRvbmUgbGFzdCwgdW5sZXNzIHNoYWRvd2VkIGJ5IGFuIGlnbm9yZSBlbnRyeSAqLworCWZvciAoaSA9IDA7IGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXSAhPSBJMkNfQ0xJRU5UX0VORDsgaSArPSAxKSB7CisJCWludCBqLCBpZ25vcmU7CisKKwkJaWdub3JlID0gMDsKKwkJZm9yIChqID0gMDsgYWRkcmVzc19kYXRhLT5pZ25vcmVbal0gIT0gSTJDX0NMSUVOVF9FTkQ7CisJCSAgICAgaiArPSAyKSB7CisJCQlpZiAoKGFkZHJlc3NfZGF0YS0+aWdub3JlW2pdID09IGFkYXBfaWQgfHwKKwkJCSAgICAgYWRkcmVzc19kYXRhLT5pZ25vcmVbal0gPT0gQU5ZX0kyQ19CVVMpCisJCQkgJiYgYWRkcmVzc19kYXRhLT5pZ25vcmVbaiArIDFdCisJCQkgICAgPT0gYWRkcmVzc19kYXRhLT5ub3JtYWxfaTJjW2ldKSB7CisJCQkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgaWdub3JlICIKKwkJCQkJInBhcmFtZXRlciBmb3IgYWRhcHRlciAlZCwgIgorCQkJCQkiYWRkciAweCUwMnhcbiIsIGFkYXBfaWQsCisJCQkJCWFkZHJlc3NfZGF0YS0+aWdub3JlW2ogKyAxXSk7CisJCQkJaWdub3JlID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlpZiAoaWdub3JlKQorCQkJY29udGludWU7CisKKwkJZGV2X2RiZygmYWRhcHRlci0+ZGV2LCAiZm91bmQgbm9ybWFsIGVudHJ5IGZvciBhZGFwdGVyICVkLCAiCisJCQkiYWRkciAweCUwMnhcbiIsIGFkYXBfaWQsCisJCQlhZGRyZXNzX2RhdGEtPm5vcm1hbF9pMmNbaV0pOworCQl0ZW1wX2NsaWVudC0+YWRkciA9IGFkZHJlc3NfZGF0YS0+bm9ybWFsX2kyY1tpXTsKKwkJZXJyID0gaTJjX2RldGVjdF9hZGRyZXNzKHRlbXBfY2xpZW50LCAtMSwgZHJpdmVyKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXhpdF9mcmVlOworCX0KKworIGV4aXRfZnJlZToKKwlrZnJlZSh0ZW1wX2NsaWVudCk7CisJcmV0dXJuIGVycjsKK30KKwogc3RydWN0IGkyY19jbGllbnQgKgogaTJjX25ld19wcm9iZWRfZGV2aWNlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwKIAkJICAgICAgc3RydWN0IGkyY19ib2FyZF9pbmZvICppbmZvLApAQCAtMTI5NSwyOSArMTU0NCwzOCBAQAogCWlmIChycGVjICE9IGNwZWMpIHsKIAkJcHJfZGVidWcoImkyYy1jb3JlOiBCYWQgUEVDIDB4JTAyeCB2cy4gMHglMDJ4XG4iLAogCQkJcnBlYywgY3BlYyk7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuIC1FQkFETVNHOwogCX0KIAlyZXR1cm4gMDsKIH0KIAotczMyIGkyY19zbWJ1c193cml0ZV9xdWljayhzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCB2YWx1ZSkKLXsKLQlyZXR1cm4gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwwLEkyQ19TTUJVU19RVUlDSyxOVUxMKTsKLX0KLUVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX3F1aWNrKTsKLQorLyoqCisgKiBpMmNfc21idXNfcmVhZF9ieXRlIC0gU01CdXMgInJlY2VpdmUgYnl0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAicmVjZWl2ZSBieXRlIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIHRoZSBieXRlIHJlY2VpdmVkIGZyb20gdGhlIGRldmljZS4KKyAqLwogczMyIGkyY19zbWJ1c19yZWFkX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELDAsSTJDX1NNQlVTX0JZVEUsICZkYXRhKSkKLQkJcmV0dXJuIC0xOwotCWVsc2UKLQkJcmV0dXJuIGRhdGEuYnl0ZTsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIDAsCisJCQkJSTJDX1NNQlVTX0JZVEUsICZkYXRhKTsKKwlyZXR1cm4gKHN0YXR1cyA8IDApID8gc3RhdHVzIDogZGF0YS5ieXRlOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF9ieXRlKTsKIAorLyoqCisgKiBpMmNfc21idXNfd3JpdGVfYnl0ZSAtIFNNQnVzICJzZW5kIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAdmFsdWU6IEJ5dGUgdG8gYmUgc2VudAorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJzZW5kIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggdmFsdWUpCiB7CiAJcmV0dXJuIGkyY19zbWJ1c194ZmVyKGNsaWVudC0+YWRhcHRlcixjbGllbnQtPmFkZHIsY2xpZW50LT5mbGFncywKQEAgLTEzMjUsMTcgKzE1ODMsMzUgQEAKIH0KIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX2J5dGUpOwogCisvKioKKyAqIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YSAtIFNNQnVzICJyZWFkIGJ5dGUiIHByb3RvY29sCisgKiBAY2xpZW50OiBIYW5kbGUgdG8gc2xhdmUgZGV2aWNlCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQorICoKKyAqIFRoaXMgZXhlY3V0ZXMgdGhlIFNNQnVzICJyZWFkIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgYSBkYXRhIGJ5dGUgcmVjZWl2ZWQgZnJvbSB0aGUgZGV2aWNlLgorICovCiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIHU4IGNvbW1hbmQpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCxjb21tYW5kLCBJMkNfU01CVVNfQllURV9EQVRBLCZkYXRhKSkKLQkJcmV0dXJuIC0xOwotCWVsc2UKLQkJcmV0dXJuIGRhdGEuYnl0ZTsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX0JZVEVfREFUQSwgJmRhdGEpOworCXJldHVybiAoc3RhdHVzIDwgMCkgPyBzdGF0dXMgOiBkYXRhLmJ5dGU7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YSAtIFNNQnVzICJ3cml0ZSBieXRlIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqIEB2YWx1ZTogQnl0ZSBiZWluZyB3cml0dGVuCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgIndyaXRlIGJ5dGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kLCB1OCB2YWx1ZSkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwpAQCAtMTM0NiwxNyArMTYyMiwzNSBAQAogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfd3JpdGVfYnl0ZV9kYXRhKTsKIAorLyoqCisgKiBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEgLSBTTUJ1cyAicmVhZCB3b3JkIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAicmVhZCB3b3JkIiBwcm90b2NvbCwgcmV0dXJuaW5nIG5lZ2F0aXZlIGVycm5vCisgKiBlbHNlIGEgMTYtYml0IHVuc2lnbmVkICJ3b3JkIiByZWNlaXZlZCBmcm9tIHRoZSBkZXZpY2UuCisgKi8KIHMzMiBpMmNfc21idXNfcmVhZF93b3JkX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCkKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOwotCWlmIChpMmNfc21idXNfeGZlcihjbGllbnQtPmFkYXB0ZXIsY2xpZW50LT5hZGRyLGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELGNvbW1hbmQsIEkyQ19TTUJVU19XT1JEX0RBVEEsICZkYXRhKSkKLQkJcmV0dXJuIC0xOwotCWVsc2UKLQkJcmV0dXJuIGRhdGEud29yZDsKKwlpbnQgc3RhdHVzOworCisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX1dPUkRfREFUQSwgJmRhdGEpOworCXJldHVybiAoc3RhdHVzIDwgMCkgPyBzdGF0dXMgOiBkYXRhLndvcmQ7CiB9CiBFWFBPUlRfU1lNQk9MKGkyY19zbWJ1c19yZWFkX3dvcmRfZGF0YSk7CiAKKy8qKgorICogaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YSAtIFNNQnVzICJ3cml0ZSB3b3JkIiBwcm90b2NvbAorICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUKKyAqIEB2YWx1ZTogMTYtYml0ICJ3b3JkIiBiZWluZyB3cml0dGVuCisgKgorICogVGhpcyBleGVjdXRlcyB0aGUgU01CdXMgIndyaXRlIHdvcmQiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCB1OCBjb21tYW5kLCB1MTYgdmFsdWUpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKQEAgLTEzNjgsMTUgKzE2NjIsMTQgQEAKIEVYUE9SVF9TWU1CT0woaTJjX3NtYnVzX3dyaXRlX3dvcmRfZGF0YSk7CiAKIC8qKgotICogaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSAtIFNNQnVzIGJsb2NrIHJlYWQgcmVxdWVzdAorICogaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSAtIFNNQnVzICJibG9jayByZWFkIiBwcm90b2NvbAogICogQGNsaWVudDogSGFuZGxlIHRvIHNsYXZlIGRldmljZQotICogQGNvbW1hbmQ6IENvbW1hbmQgYnl0ZSBpc3N1ZWQgdG8gbGV0IHRoZSBzbGF2ZSBrbm93IHdoYXQgZGF0YSBzaG91bGQKLSAqCWJlIHJldHVybmVkCisgKiBAY29tbWFuZDogQnl0ZSBpbnRlcnByZXRlZCBieSBzbGF2ZQogICogQHZhbHVlczogQnl0ZSBhcnJheSBpbnRvIHdoaWNoIGRhdGEgd2lsbCBiZSByZWFkOyBiaWcgZW5vdWdoIHRvIGhvbGQKICAqCXRoZSBkYXRhIHJldHVybmVkIGJ5IHRoZSBzbGF2ZS4gIFNNQnVzIGFsbG93cyBhdCBtb3N0IDMyIGJ5dGVzLgogICoKLSAqIFJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyByZWFkIGluIHRoZSBzbGF2ZSdzIHJlc3BvbnNlLCBlbHNlIGEKLSAqIG5lZ2F0aXZlIG51bWJlciB0byBpbmRpY2F0ZSBzb21lIGtpbmQgb2YgZXJyb3IuCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAiYmxvY2sgcmVhZCIgcHJvdG9jb2wsIHJldHVybmluZyBuZWdhdGl2ZSBlcnJubworICogZWxzZSB0aGUgbnVtYmVyIG9mIGRhdGEgYnl0ZXMgaW4gdGhlIHNsYXZlJ3MgcmVzcG9uc2UuCiAgKgogICogTm90ZSB0aGF0IHVzaW5nIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhhdCB0aGUgY2xpZW50J3MgYWRhcHRlciBzdXBwb3J0CiAgKiB0aGUgSTJDX0ZVTkNfU01CVVNfUkVBRF9CTE9DS19EQVRBIGZ1bmN0aW9uYWxpdHkuICBOb3QgYWxsIGFkYXB0ZXIgZHJpdmVycwpAQCAtMTM4NywxNyArMTY4MCwyOSBAQAogCQkJICAgICAgdTggKnZhbHVlcykKIHsKIAl1bmlvbiBpMmNfc21idXNfZGF0YSBkYXRhOworCWludCBzdGF0dXM7CiAKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCi0JICAgICAgICAgICAgICAgICAgIEkyQ19TTUJVU19SRUFELCBjb21tYW5kLAotCSAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfQkxPQ0tfREFUQSwgJmRhdGEpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX0JMT0NLX0RBVEEsICZkYXRhKTsKKwlpZiAoc3RhdHVzKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJbWVtY3B5KHZhbHVlcywgJmRhdGEuYmxvY2tbMV0sIGRhdGEuYmxvY2tbMF0pOwogCXJldHVybiBkYXRhLmJsb2NrWzBdOwogfQogRVhQT1JUX1NZTUJPTChpMmNfc21idXNfcmVhZF9ibG9ja19kYXRhKTsKIAorLyoqCisgKiBpMmNfc21idXNfd3JpdGVfYmxvY2tfZGF0YSAtIFNNQnVzICJibG9jayB3cml0ZSIgcHJvdG9jb2wKKyAqIEBjbGllbnQ6IEhhbmRsZSB0byBzbGF2ZSBkZXZpY2UKKyAqIEBjb21tYW5kOiBCeXRlIGludGVycHJldGVkIGJ5IHNsYXZlCisgKiBAbGVuZ3RoOiBTaXplIG9mIGRhdGEgYmxvY2s7IFNNQnVzIGFsbG93cyBhdCBtb3N0IDMyIGJ5dGVzCisgKiBAdmFsdWVzOiBCeXRlIGFycmF5IHdoaWNoIHdpbGwgYmUgd3JpdHRlbi4KKyAqCisgKiBUaGlzIGV4ZWN1dGVzIHRoZSBTTUJ1cyAiYmxvY2sgd3JpdGUiIHByb3RvY29sLCByZXR1cm5pbmcgbmVnYXRpdmUgZXJybm8KKyAqIGVsc2UgemVybyBvbiBzdWNjZXNzLgorICovCiBzMzIgaTJjX3NtYnVzX3dyaXRlX2Jsb2NrX2RhdGEoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggY29tbWFuZCwKIAkJCSAgICAgICB1OCBsZW5ndGgsIGNvbnN0IHU4ICp2YWx1ZXMpCiB7CkBAIC0xNDE4LDE0ICsxNzIzLDE2IEBACiAJCQkJICB1OCBsZW5ndGgsIHU4ICp2YWx1ZXMpCiB7CiAJdW5pb24gaTJjX3NtYnVzX2RhdGEgZGF0YTsKKwlpbnQgc3RhdHVzOwogCiAJaWYgKGxlbmd0aCA+IEkyQ19TTUJVU19CTE9DS19NQVgpCiAJCWxlbmd0aCA9IEkyQ19TTUJVU19CTE9DS19NQVg7CiAJZGF0YS5ibG9ja1swXSA9IGxlbmd0aDsKLQlpZiAoaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLGNsaWVudC0+YWRkcixjbGllbnQtPmZsYWdzLAotCSAgICAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfUkVBRCxjb21tYW5kLAotCSAgICAgICAgICAgICAgICAgICAgICBJMkNfU01CVVNfSTJDX0JMT0NLX0RBVEEsJmRhdGEpKQotCQlyZXR1cm4gLTE7CisJc3RhdHVzID0gaTJjX3NtYnVzX3hmZXIoY2xpZW50LT5hZGFwdGVyLCBjbGllbnQtPmFkZHIsIGNsaWVudC0+ZmxhZ3MsCisJCQkJSTJDX1NNQlVTX1JFQUQsIGNvbW1hbmQsCisJCQkJSTJDX1NNQlVTX0kyQ19CTE9DS19EQVRBLCAmZGF0YSk7CisJaWYgKHN0YXR1cyA8IDApCisJCXJldHVybiBzdGF0dXM7CiAKIAltZW1jcHkodmFsdWVzLCAmZGF0YS5ibG9ja1sxXSwgZGF0YS5ibG9ja1swXSk7CiAJcmV0dXJuIGRhdGEuYmxvY2tbMF07CkBAIC0xNDY2LDYgKzE3NzMsNyBAQAogCSAgICAgICAgICAgICAgICAgICAgICAgIH07CiAJaW50IGk7CiAJdTggcGFydGlhbF9wZWMgPSAwOworCWludCBzdGF0dXM7CiAKIAltc2didWYwWzBdID0gY29tbWFuZDsKIAlzd2l0Y2goc2l6ZSkgewpAQCAtMTUxNSwxMCArMTgyMywxMCBAQAogCQl9IGVsc2UgewogCQkJbXNnWzBdLmxlbiA9IGRhdGEtPmJsb2NrWzBdICsgMjsKIAkJCWlmIChtc2dbMF0ubGVuID4gSTJDX1NNQlVTX0JMT0NLX01BWCArIDIpIHsKLQkJCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJzbWJ1c19hY2Nlc3MgY2FsbGVkIHdpdGggIgotCQkJCSAgICAgICAiaW52YWxpZCBibG9jayB3cml0ZSBzaXplICglZClcbiIsCi0JCQkJICAgICAgIGRhdGEtPmJsb2NrWzBdKTsKLQkJCQlyZXR1cm4gLTE7CisJCQkJZGV2X2VycigmYWRhcHRlci0+ZGV2LAorCQkJCQkiSW52YWxpZCBibG9jayB3cml0ZSBzaXplICVkXG4iLAorCQkJCQlkYXRhLT5ibG9ja1swXSk7CisJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQl9CiAJCQlmb3IgKGkgPSAxOyBpIDwgbXNnWzBdLmxlbjsgaSsrKQogCQkJCW1zZ2J1ZjBbaV0gPSBkYXRhLT5ibG9ja1tpLTFdOwpAQCAtMTUyOCwxMCArMTgzNiwxMCBAQAogCQludW0gPSAyOyAvKiBBbm90aGVyIHNwZWNpYWwgY2FzZSAqLwogCQlyZWFkX3dyaXRlID0gSTJDX1NNQlVTX1JFQUQ7CiAJCWlmIChkYXRhLT5ibG9ja1swXSA+IEkyQ19TTUJVU19CTE9DS19NQVgpIHsKLQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgIiVzIGNhbGxlZCB3aXRoIGludmFsaWQgIgotCQkJCSJibG9jayBwcm9jIGNhbGwgc2l6ZSAoJWQpXG4iLCBfX2Z1bmNfXywKKwkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkiSW52YWxpZCBibG9jayB3cml0ZSBzaXplICVkXG4iLAogCQkJCWRhdGEtPmJsb2NrWzBdKTsKLQkJCXJldHVybiAtMTsKKwkJCXJldHVybiAtRUlOVkFMOwogCQl9CiAJCW1zZ1swXS5sZW4gPSBkYXRhLT5ibG9ja1swXSArIDI7CiAJCWZvciAoaSA9IDE7IGkgPCBtc2dbMF0ubGVuOyBpKyspCkBAIC0xNTQ2LDE5ICsxODU0LDE4IEBACiAJCX0gZWxzZSB7CiAJCQltc2dbMF0ubGVuID0gZGF0YS0+YmxvY2tbMF0gKyAxOwogCQkJaWYgKG1zZ1swXS5sZW4gPiBJMkNfU01CVVNfQkxPQ0tfTUFYICsgMSkgewotCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwgImkyY19zbWJ1c194ZmVyX2VtdWxhdGVkIGNhbGxlZCB3aXRoICIKLQkJCQkgICAgICAgImludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAoJWQpXG4iLAotCQkJCSAgICAgICBkYXRhLT5ibG9ja1swXSk7Ci0JCQkJcmV0dXJuIC0xOworCQkJCWRldl9lcnIoJmFkYXB0ZXItPmRldiwKKwkJCQkJIkludmFsaWQgYmxvY2sgd3JpdGUgc2l6ZSAlZFxuIiwKKwkJCQkJZGF0YS0+YmxvY2tbMF0pOworCQkJCXJldHVybiAtRUlOVkFMOwogCQkJfQogCQkJZm9yIChpID0gMTsgaSA8PSBkYXRhLT5ibG9ja1swXTsgaSsrKQogCQkJCW1zZ2J1ZjBbaV0gPSBkYXRhLT5ibG9ja1tpXTsKIAkJfQogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJzbWJ1c19hY2Nlc3MgY2FsbGVkIHdpdGggaW52YWxpZCBzaXplICglZClcbiIsCi0JCSAgICAgICBzaXplKTsKLQkJcmV0dXJuIC0xOworCQlkZXZfZXJyKCZhZGFwdGVyLT5kZXYsICJVbnN1cHBvcnRlZCB0cmFuc2FjdGlvbiAlZFxuIiwgc2l6ZSk7CisJCXJldHVybiAtRU9QTk9UU1VQUDsKIAl9CiAKIAlpID0gKChmbGFncyAmIEkyQ19DTElFTlRfUEVDKSAmJiBzaXplICE9IEkyQ19TTUJVU19RVUlDSwpAQCAtMTU3NiwxMyArMTg4MywxNSBAQAogCQkJbXNnW251bS0xXS5sZW4rKzsKIAl9CiAKLQlpZiAoaTJjX3RyYW5zZmVyKGFkYXB0ZXIsIG1zZywgbnVtKSA8IDApCi0JCXJldHVybiAtMTsKKwlzdGF0dXMgPSBpMmNfdHJhbnNmZXIoYWRhcHRlciwgbXNnLCBudW0pOworCWlmIChzdGF0dXMgPCAwKQorCQlyZXR1cm4gc3RhdHVzOwogCiAJLyogQ2hlY2sgUEVDIGlmIGxhc3QgbWVzc2FnZSBpcyBhIHJlYWQgKi8KIAlpZiAoaSAmJiAobXNnW251bS0xXS5mbGFncyAmIEkyQ19NX1JEKSkgewotCQlpZiAoaTJjX3NtYnVzX2NoZWNrX3BlYyhwYXJ0aWFsX3BlYywgJm1zZ1tudW0tMV0pIDwgMCkKLQkJCXJldHVybiAtMTsKKwkJc3RhdHVzID0gaTJjX3NtYnVzX2NoZWNrX3BlYyhwYXJ0aWFsX3BlYywgJm1zZ1tudW0tMV0pOworCQlpZiAoc3RhdHVzIDwgMCkKKwkJCXJldHVybiBzdGF0dXM7CiAJfQogCiAJaWYgKHJlYWRfd3JpdGUgPT0gSTJDX1NNQlVTX1JFQUQpCkBAIC0xNjEwLDkgKzE5MTksMjEgQEAKIAlyZXR1cm4gMDsKIH0KIAotCisvKioKKyAqIGkyY19zbWJ1c194ZmVyIC0gZXhlY3V0ZSBTTUJ1cyBwcm90b2NvbCBvcGVyYXRpb25zCisgKiBAYWRhcHRlcjogSGFuZGxlIHRvIEkyQyBidXMKKyAqIEBhZGRyOiBBZGRyZXNzIG9mIFNNQnVzIHNsYXZlIG9uIHRoYXQgYnVzCisgKiBAZmxhZ3M6IEkyQ19DTElFTlRfKiBmbGFncyAodXN1YWxseSB6ZXJvIG9yIEkyQ19DTElFTlRfUEVDKQorICogQHJlYWRfd3JpdGU6IEkyQ19TTUJVU19SRUFEIG9yIEkyQ19TTUJVU19XUklURQorICogQGNvbW1hbmQ6IEJ5dGUgaW50ZXJwcmV0ZWQgYnkgc2xhdmUsIGZvciBwcm90b2NvbHMgd2hpY2ggdXNlIHN1Y2ggYnl0ZXMKKyAqIEBwcm90b2NvbDogU01CdXMgcHJvdG9jb2wgb3BlcmF0aW9uIHRvIGV4ZWN1dGUsIHN1Y2ggYXMgSTJDX1NNQlVTX1BST0NfQ0FMTAorICogQGRhdGE6IERhdGEgdG8gYmUgcmVhZCBvciB3cml0dGVuCisgKgorICogVGhpcyBleGVjdXRlcyBhbiBTTUJ1cyBwcm90b2NvbCBvcGVyYXRpb24sIGFuZCByZXR1cm5zIGEgbmVnYXRpdmUKKyAqIGVycm5vIGNvZGUgZWxzZSB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KIHMzMiBpMmNfc21idXNfeGZlcihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKiBhZGFwdGVyLCB1MTYgYWRkciwgdW5zaWduZWQgc2hvcnQgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLCBpbnQgc2l6ZSwKKwkJICAgY2hhciByZWFkX3dyaXRlLCB1OCBjb21tYW5kLCBpbnQgcHJvdG9jb2wsCiAgICAgICAgICAgICAgICAgICAgdW5pb24gaTJjX3NtYnVzX2RhdGEgKiBkYXRhKQogewogCXMzMiByZXM7CkBAIC0xNjIyLDExICsxOTQzLDExIEBACiAJaWYgKGFkYXB0ZXItPmFsZ28tPnNtYnVzX3hmZXIpIHsKIAkJbXV0ZXhfbG9jaygmYWRhcHRlci0+YnVzX2xvY2spOwogCQlyZXMgPSBhZGFwdGVyLT5hbGdvLT5zbWJ1c194ZmVyKGFkYXB0ZXIsYWRkcixmbGFncyxyZWFkX3dyaXRlLAotCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQsc2l6ZSxkYXRhKTsKKwkJCQkJCWNvbW1hbmQsIHByb3RvY29sLCBkYXRhKTsKIAkJbXV0ZXhfdW5sb2NrKCZhZGFwdGVyLT5idXNfbG9jayk7CiAJfSBlbHNlCiAJCXJlcyA9IGkyY19zbWJ1c194ZmVyX2VtdWxhdGVkKGFkYXB0ZXIsYWRkcixmbGFncyxyZWFkX3dyaXRlLAotCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCxzaXplLGRhdGEpOworCQkJCQkgICAgICBjb21tYW5kLCBwcm90b2NvbCwgZGF0YSk7CiAKIAlyZXR1cm4gcmVzOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pMmMvaTJjLWRldi5jIGIvZHJpdmVycy9pMmMvaTJjLWRldi5jCmluZGV4IGQzNGMxNGMuLjg2NzI3ZmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaTJjL2kyYy1kZXYuYworKysgYi9kcml2ZXJzL2kyYy9pMmMtZGV2LmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLmg+CiAjaW5jbHVkZSA8bGludXgvaTJjLWRldi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGkyY2Rldl9kcml2ZXI7CkBAIC0zNjYsOCArMzY3LDcgQEAKIAlyZXR1cm4gcmVzOwogfQogCi1zdGF0aWMgaW50IGkyY2Rldl9pb2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCitzdGF0aWMgbG9uZyBpMmNkZXZfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogewogCXN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQgPSAoc3RydWN0IGkyY19jbGllbnQgKilmaWxlLT5wcml2YXRlX2RhdGE7CiAJdW5zaWduZWQgbG9uZyBmdW5jczsKQEAgLTQ0MSwxNCArNDQxLDIwIEBACiAJc3RydWN0IGkyY19jbGllbnQgKmNsaWVudDsKIAlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXA7CiAJc3RydWN0IGkyY19kZXYgKmkyY19kZXY7CisJaW50IHJldCA9IDA7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWkyY19kZXYgPSBpMmNfZGV2X2dldF9ieV9taW5vcihtaW5vcik7Ci0JaWYgKCFpMmNfZGV2KQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIWkyY19kZXYpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJYWRhcCA9IGkyY19nZXRfYWRhcHRlcihpMmNfZGV2LT5hZGFwLT5ucik7Ci0JaWYgKCFhZGFwKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIWFkYXApIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCiAJLyogVGhpcyBjcmVhdGVzIGFuIGFub255bW91cyBpMmNfY2xpZW50LCB3aGljaCBtYXkgbGF0ZXIgYmUKIAkgKiBwb2ludGVkIHRvIHNvbWUgYWRkcmVzcyB1c2luZyBJMkNfU0xBVkUgb3IgSTJDX1NMQVZFX0ZPUkNFLgpAQCAtNDYwLDcgKzQ2Niw4IEBACiAJY2xpZW50ID0ga3phbGxvYyhzaXplb2YoKmNsaWVudCksIEdGUF9LRVJORUwpOwogCWlmICghY2xpZW50KSB7CiAJCWkyY19wdXRfYWRhcHRlcihhZGFwKTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0OwogCX0KIAlzbnByaW50ZihjbGllbnQtPm5hbWUsIEkyQ19OQU1FX1NJWkUsICJpMmMtZGV2ICVkIiwgYWRhcC0+bnIpOwogCWNsaWVudC0+ZHJpdmVyID0gJmkyY2Rldl9kcml2ZXI7CkBAIC00NjgsNyArNDc1LDkgQEAKIAljbGllbnQtPmFkYXB0ZXIgPSBhZGFwOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNsaWVudDsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGkyY2Rldl9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpAQCAtNDg3LDcgKzQ5Niw3IEBACiAJLmxsc2VlawkJPSBub19sbHNlZWssCiAJLnJlYWQJCT0gaTJjZGV2X3JlYWQsCiAJLndyaXRlCQk9IGkyY2Rldl93cml0ZSwKLQkuaW9jdGwJCT0gaTJjZGV2X2lvY3RsLAorCS51bmxvY2tlZF9pb2N0bAk9IGkyY2Rldl9pb2N0bCwKIAkub3BlbgkJPSBpMmNkZXZfb3BlbiwKIAkucmVsZWFzZQk9IGkyY2Rldl9yZWxlYXNlLAogfTsKQEAgLTU0OSwxOSArNTU4LDEyIEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgaTJjZGV2X2RldGFjaF9jbGllbnQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKLXsKLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIGkyY2Rldl9kcml2ZXIgPSB7CiAJLmRyaXZlciA9IHsKIAkJLm5hbWUJPSAiZGV2X2RyaXZlciIsCiAJfSwKLQkuaWQJCT0gSTJDX0RSSVZFUklEX0kyQ0RFViwKIAkuYXR0YWNoX2FkYXB0ZXIJPSBpMmNkZXZfYXR0YWNoX2FkYXB0ZXIsCiAJLmRldGFjaF9hZGFwdGVyCT0gaTJjZGV2X2RldGFjaF9hZGFwdGVyLAotCS5kZXRhY2hfY2xpZW50CT0gaTJjZGV2X2RldGFjaF9jbGllbnQsCiB9OwogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9LY29uZmlnIGIvZHJpdmVycy9pZGUvS2NvbmZpZwppbmRleCAxNjA3NTM2Li5jZjcwN2M4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9LY29uZmlnCisrKyBiL2RyaXZlcnMvaWRlL0tjb25maWcKQEAgLTk4LDYgKzk4LDkgQEAKIAogY29tbWVudCAiUGxlYXNlIHNlZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcyIKIAorY29uZmlnIElERV9BVEFQSQorCWJvb2wKKwogY29uZmlnIEJMS19ERVZfSURFX1NBVEEKIAlib29sICJTdXBwb3J0IGZvciBTQVRBIChkZXByZWNhdGVkOyBjb25mbGljdHMgd2l0aCBsaWJhdGEgU0FUQSBkcml2ZXIpIgogCWRlZmF1bHQgbgpAQCAtMjAxLDYgKzIwNCw3IEBACiAKIGNvbmZpZyBCTEtfREVWX0lERVRBUEUKIAl0cmlzdGF0ZSAiSW5jbHVkZSBJREUvQVRBUEkgVEFQRSBzdXBwb3J0IgorCXNlbGVjdCBJREVfQVRBUEkKIAloZWxwCiAJICBJZiB5b3UgaGF2ZSBhbiBJREUgdGFwZSBkcml2ZSB1c2luZyB0aGUgQVRBUEkgcHJvdG9jb2wsIHNheSBZLgogCSAgQVRBUEkgaXMgYSBuZXdlciBwcm90b2NvbCB1c2VkIGJ5IElERSB0YXBlIGFuZCBDRC1ST00gZHJpdmVzLApAQCAtMjIzLDYgKzIyNyw3IEBACiAKIGNvbmZpZyBCTEtfREVWX0lERUZMT1BQWQogCXRyaXN0YXRlICJJbmNsdWRlIElERS9BVEFQSSBGTE9QUFkgc3VwcG9ydCIKKwlzZWxlY3QgSURFX0FUQVBJCiAJLS0taGVscC0tLQogCSAgSWYgeW91IGhhdmUgYW4gSURFIGZsb3BweSBkcml2ZSB3aGljaCB1c2VzIHRoZSBBVEFQSSBwcm90b2NvbCwKIAkgIGFuc3dlciBZLiAgQVRBUEkgaXMgYSBuZXdlciBwcm90b2NvbCB1c2VkIGJ5IElERSBDRC1ST00vdGFwZS9mbG9wcHkKQEAgLTI0Niw2ICsyNTEsNyBAQAogY29uZmlnIEJMS19ERVZfSURFU0NTSQogCXRyaXN0YXRlICJTQ1NJIGVtdWxhdGlvbiBzdXBwb3J0IgogCWRlcGVuZHMgb24gU0NTSQorCXNlbGVjdCBJREVfQVRBUEkKIAktLS1oZWxwLS0tCiAJICBXQVJOSU5HOiBpZGUtc2NzaSBpcyBubyBsb25nZXIgbmVlZGVkIGZvciBjZCB3cml0aW5nIGFwcGxpY2F0aW9ucyEKIAkgIFRoZSAyLjYga2VybmVsIHN1cHBvcnRzIGRpcmVjdCB3cml0aW5nIHRvIGlkZS1jZCwgd2hpY2ggZWxpbWluYXRlcwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvTWFrZWZpbGUgYi9kcml2ZXJzL2lkZS9NYWtlZmlsZQppbmRleCBmOTRiNjc5Li5hMmIzZjg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2lkZS9NYWtlZmlsZQpAQCAtMTQsNiArMTQsNyBAQAogaWRlLWNvcmUteSArPSBpZGUubyBpZGUtaW8ubyBpZGUtaW9wcy5vIGlkZS1saWIubyBpZGUtcHJvYmUubyBpZGUtdGFza2ZpbGUubwogCiAjIGNvcmUgSURFIGNvZGUKK2lkZS1jb3JlLSQoQ09ORklHX0lERV9BVEFQSSkJCSs9IGlkZS1hdGFwaS5vCiBpZGUtY29yZS0kKENPTkZJR19CTEtfREVWX0lERVBDSSkJKz0gc2V0dXAtcGNpLm8KIGlkZS1jb3JlLSQoQ09ORklHX0JMS19ERVZfSURFRE1BKQkrPSBpZGUtZG1hLm8KIGlkZS1jb3JlLSQoQ09ORklHX0lERV9QUk9DX0ZTKQkJKz0gaWRlLXByb2MubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvYXJtL3BhbG1fYmszNzEwLmMgYi9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYwppbmRleCAyZjJiNGY0Li4zODM5ZjU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYworKysgYi9kcml2ZXJzL2lkZS9hcm0vcGFsbV9iazM3MTAuYwpAQCAtODMsNyArODMsNyBAQAogCXsxMjUsIDE2MH0sCQkvKiBVRE1BIE1vZGUgMSAqLwogCXsxMDAsIDEyMH0sCQkvKiBVRE1BIE1vZGUgMiAqLwogCXsxMDAsIDkwfSwJCS8qIFVETUEgTW9kZSAzICovCi0Jezg1LCAgNjB9LAkJLyogVURNQSBNb2RlIDQgKi8KKwl7MTAwLCA2MH0sCQkvKiBVRE1BIE1vZGUgNCAqLwogfTsKIAogc3RhdGljIHZvaWQgcGFsbV9iazM3MTBfc2V0dWRtYW1vZGUodm9pZCBfX2lvbWVtICpiYXNlLCB1bnNpZ25lZCBpbnQgZGV2LApAQCAtNDA1LDcgKzQwNSw2IEBACiAJaWRlX2luaXRfcG9ydF9kYXRhKGh3aWYsIGkpOwogCWlkZV9pbml0X3BvcnRfaHcoaHdpZiwgJmh3KTsKIAotCWh3aWYtPm1taW8gPSAxOwogCWRlZmF1bHRfaHdpZl9tbWlvcHMoaHdpZik7CiAKIAlpZHhbMF0gPSBpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaDgzMDAvaWRlLWg4MzAwLmMgYi9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYwppbmRleCBlY2Y1M2JiLi5hZTM3ZWU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYworKysgYi9kcml2ZXJzL2lkZS9oODMwMC9pZGUtaDgzMDAuYwpAQCAtNTIsOCArNTIsNiBAQAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19GTEFHR0VEKQogCQlISUhJID0gMHhGRjsKIAotCWlkZV9zZXRfaXJxKGRyaXZlLCAxKTsKLQogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19PVVRfREFUQSkKIAkJbW1fb3V0dygodGYtPmhvYl9kYXRhIDw8IDgpIHwgdGYtPmRhdGEsIGlvX3BvcnRzLT5kYXRhX2FkZHIpOwogCkBAIC05OCw3ICs5Niw3IEBACiAJfQogCiAJLyogYmUgc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBsb3cgb3JkZXIgYml0cyAqLwotCW91dGIoZHJpdmUtPmN0bCAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCW91dGIoQVRBX0RFVkNUTF9PQlMgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9OU0VDVCkKIAkJdGYtPm5zZWN0ICA9IGluYihpb19wb3J0cy0+bnNlY3RfYWRkcik7CkBAIC0xMTIsNyArMTEwLDcgQEAKIAkJdGYtPmRldmljZSA9IGluYihpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0xCQTQ4KSB7Ci0JCW91dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCW91dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IGluYihpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMgYi9kcml2ZXJzL2lkZS9pZGUtYWNwaS5jCmluZGV4IDlkMzYwMWYuLjZmNzA0NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1hY3BpLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWFjcGkuYwpAQCAtNjAsMTUgKzYwLDE1IEBACiAjZGVmaW5lIERFQlBSSU5UKGZtdCwgYXJncy4uLikJZG8ge30gd2hpbGUgKDApCiAjZW5kaWYJLyogREVCVUdHSU5HICovCiAKLWludCBpZGVfbm9hY3BpOworc3RhdGljIGludCBpZGVfbm9hY3BpOwogbW9kdWxlX3BhcmFtX25hbWVkKG5vYWNwaSwgaWRlX25vYWNwaSwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKG5vYWNwaSwgImRpc2FibGUgSURFIEFDUEkgc3VwcG9ydCIpOwogCi1pbnQgaWRlX2FjcGlndGY7CitzdGF0aWMgaW50IGlkZV9hY3BpZ3RmOwogbW9kdWxlX3BhcmFtX25hbWVkKGFjcGlndGYsIGlkZV9hY3BpZ3RmLCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoYWNwaWd0ZiwgImVuYWJsZSBJREUgQUNQSSBfR1RGIHN1cHBvcnQiKTsKIAotaW50IGlkZV9hY3Bpb25ib290Oworc3RhdGljIGludCBpZGVfYWNwaW9uYm9vdDsKIG1vZHVsZV9wYXJhbV9uYW1lZChhY3Bpb25ib290LCBpZGVfYWNwaW9uYm9vdCwgYm9vbCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGFjcGlvbmJvb3QsICJjYWxsIElERSBBQ1BJIG1ldGhvZHMgb24gYm9vdCIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtYXRhcGkuYyBiL2RyaXZlcnMvaWRlL2lkZS1hdGFwaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4MDIwMzEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2lkZS9pZGUtYXRhcGkuYwpAQCAtMCwwICsxLDI5NiBAQAorLyoKKyAqIEFUQVBJIHN1cHBvcnQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaWRlLmg+CisjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CisKKyNpZmRlZiBERUJVRworI2RlZmluZSBkZWJ1Z19sb2coZm10LCBhcmdzLi4uKSBcCisJcHJpbnRrKEtFUk5fSU5GTyAiaWRlOiAiIGZtdCwgIyMgYXJncykKKyNlbHNlCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICgwKQorI2VuZGlmCisKKy8qIFRPRE86IHVuaWZ5IHRoZSBjb2RlIHRodXMgbWFraW5nIHNvbWUgYXJndW1lbnRzIGdvIGF3YXkgKi8KK2lkZV9zdGFydHN0b3BfdCBpZGVfcGNfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCWlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LCBpZGVfZXhwaXJ5X3QgKmV4cGlyeSwKKwl2b2lkICgqdXBkYXRlX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiksCisJdm9pZCAoKnJldHJ5X3BjKShpZGVfZHJpdmVfdCAqKSwgdm9pZCAoKmRzY19oYW5kbGUpKGlkZV9kcml2ZV90ICopLAorCXZvaWQgKCppb19idWZmZXJzKShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosIHVuc2lnbmVkLCBpbnQpKQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwl4ZmVyX2Z1bmNfdCAqeGZlcmZ1bmM7CisJdW5zaWduZWQgaW50IHRlbXA7CisJdTE2IGJjb3VudDsKKwl1OCBzdGF0LCBpcmVhc29uLCBzY3NpID0gZHJpdmUtPnNjc2k7CisKKwlkZWJ1Z19sb2coIkVudGVyICVzIC0gaW50ZXJydXB0IGhhbmRsZXJcbiIsIF9fZnVuY19fKTsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1RJTUVET1VUKSB7CisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CisJCXJldHVybiBpZGVfc3RvcHBlZDsKKwl9CisKKwkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCisJc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKKwkJaWYgKGh3aWYtPmRtYV9vcHMtPmRtYV9lbmQoZHJpdmUpIHx8CisJCSAgICAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFzY3NpICYmIChzdGF0ICYgRVJSX1NUQVQpKSkgeworCQkJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfZmxvcHB5ICYmICFzY3NpKQorCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IERNQSAlcyBlcnJvclxuIiwKKwkJCQkJZHJpdmUtPm5hbWUsIHJxX2RhdGFfZGlyKHBjLT5ycSkKKwkJCQkJCSAgICAgPyAid3JpdGUiIDogInJlYWQiKTsKKwkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9FUlJPUjsKKwkJfSBlbHNlIHsKKwkJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOworCQkJaWYgKHVwZGF0ZV9idWZmZXJzKQorCQkJCXVwZGF0ZV9idWZmZXJzKGRyaXZlLCBwYyk7CisJCX0KKwkJZGVidWdfbG9nKCIlczogRE1BIGZpbmlzaGVkXG4iLCBkcml2ZS0+bmFtZSk7CisJfQorCisJLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCisJaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKKwkJZGVidWdfbG9nKCJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIHRyYW5zZmVycmVkXG4iLAorCQkJICBwYy0+eGZlcnJlZCk7CisKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKKworCQlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKKworCQlpZiAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFzY3NpICYmCisJCSAgICAoc3RhdCAmIEVSUl9TVEFUKSAmJiBwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKQorCQkJc3RhdCAmPSB+RVJSX1NUQVQ7CisJCWlmICgoc3RhdCAmIEVSUl9TVEFUKSB8fCAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpKSB7CisJCQkvKiBFcnJvciBkZXRlY3RlZCAqLworCQkJZGVidWdfbG9nKCIlczogSS9PIGVycm9yXG4iLCBkcml2ZS0+bmFtZSk7CisKKwkJCWlmIChkcml2ZS0+bWVkaWEgIT0gaWRlX3RhcGUgfHwgc2NzaSkgeworCQkJCXBjLT5ycS0+ZXJyb3JzKys7CisJCQkJaWYgKHNjc2kpCisJCQkJCWdvdG8gY21kX2ZpbmlzaGVkOworCQkJfQorCisJCQlpZiAocGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgeworCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IEkvTyBlcnJvciBpbiByZXF1ZXN0IHNlbnNlIgorCQkJCQkJIiBjb21tYW5kXG4iLCBkcml2ZS0+bmFtZSk7CisJCQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJCQl9CisKKwkJCWRlYnVnX2xvZygiW2NtZCAleF06IGNoZWNrIGNvbmRpdGlvblxuIiwgcGMtPmNbMF0pOworCisJCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KKwkJCXJldHJ5X3BjKGRyaXZlKTsKKwkJCS8qIHF1ZXVlZCwgYnV0IG5vdCBzdGFydGVkICovCisJCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJCX0KK2NtZF9maW5pc2hlZDoKKwkJcGMtPmVycm9yID0gMDsKKwkJaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dBSVRfRk9SX0RTQykgJiYKKwkJICAgIChzdGF0ICYgU0VFS19TVEFUKSA9PSAwKSB7CisJCQlkc2NfaGFuZGxlKGRyaXZlKTsKKwkJCXJldHVybiBpZGVfc3RvcHBlZDsKKwkJfQorCQkvKiBDb21tYW5kIGZpbmlzaGVkIC0gQ2FsbCB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gKi8KKwkJcGMtPmNhbGxiYWNrKGRyaXZlKTsKKwkJcmV0dXJuIGlkZV9zdG9wcGVkOworCX0KKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgeworCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBUaGUgZGV2aWNlIHdhbnRzIHRvIGlzc3VlIG1vcmUgaW50ZXJydXB0cyAiCisJCQkJImluIERNQSBtb2RlXG4iLCBkcml2ZS0+bmFtZSk7CisJCWlkZV9kbWFfb2ZmKGRyaXZlKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCS8qIEdldCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHRyYW5zZmVyIG9uIHRoaXMgaW50ZXJydXB0LiAqLworCWJjb3VudCA9IChod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhaF9hZGRyKSA8PCA4KSB8CisJCSAgaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYW1fYWRkcik7CisKKwlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOworCisJaWYgKGlyZWFzb24gJiBDRCkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBDb0QgIT0gMCBpbiAlc1xuIiwgZHJpdmUtPm5hbWUsIF9fZnVuY19fKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCWlmICgoKGlyZWFzb24gJiBJTykgPT0gSU8pID09ICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKKwkJLyogSG9wZWZ1bGx5LCB3ZSB3aWxsIG5ldmVyIGdldCBoZXJlICovCisJCXByaW50ayhLRVJOX0VSUiAiJXM6IFdlIHdhbnRlZCB0byAlcywgYnV0IHRoZSBkZXZpY2Ugd2FudHMgdXMgIgorCQkJCSJ0byAlcyFcbiIsIGRyaXZlLT5uYW1lLAorCQkJCShpcmVhc29uICYgSU8pID8gIldyaXRlIiA6ICJSZWFkIiwKKwkJCQkoaXJlYXNvbiAmIElPKSA/ICJSZWFkIiA6ICJXcml0ZSIpOworCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKKwl9CisJaWYgKCEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgeworCQkvKiBSZWFkaW5nIC0gQ2hlY2sgdGhhdCB3ZSBoYXZlIGVub3VnaCBzcGFjZSAqLworCQl0ZW1wID0gcGMtPnhmZXJyZWQgKyBiY291bnQ7CisJCWlmICh0ZW1wID4gcGMtPnJlcV94ZmVyKSB7CisJCQlpZiAodGVtcCA+IHBjLT5idWZfc2l6ZSkgeworCQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IFRoZSBkZXZpY2Ugd2FudHMgdG8gc2VuZCAiCisJCQkJCQkidXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgLSAiCisJCQkJCQkiZGlzY2FyZGluZyBkYXRhXG4iLAorCQkJCQkJZHJpdmUtPm5hbWUpOworCQkJCWlmIChzY3NpKQorCQkJCQl0ZW1wID0gcGMtPmJ1Zl9zaXplIC0gcGMtPnhmZXJyZWQ7CisJCQkJZWxzZQorCQkJCQl0ZW1wID0gMDsKKwkJCQlpZiAodGVtcCkgeworCQkJCQlpZiAocGMtPnNnKQorCQkJCQkJaW9fYnVmZmVycyhkcml2ZSwgcGMsIHRlbXAsIDApOworCQkJCQllbHNlCisJCQkJCQlod2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLAorCQkJCQkJCXBjLT5jdXJfcG9zLCB0ZW1wKTsKKwkJCQkJcHJpbnRrKEtFUk5fRVJSICIlczogdHJhbnNmZXJyZWQgJWQgb2YgIgorCQkJCQkJCSIlZCBieXRlc1xuIiwKKwkJCQkJCQlkcml2ZS0+bmFtZSwKKwkJCQkJCQl0ZW1wLCBiY291bnQpOworCQkJCX0KKwkJCQlwYy0+eGZlcnJlZCArPSB0ZW1wOworCQkJCXBjLT5jdXJfcG9zICs9IHRlbXA7CisJCQkJaWRlX3BhZF90cmFuc2Zlcihkcml2ZSwgMCwgYmNvdW50IC0gdGVtcCk7CisJCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LAorCQkJCQkJZXhwaXJ5KTsKKwkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJCQl9CisJCQlkZWJ1Z19sb2coIlRoZSBkZXZpY2Ugd2FudHMgdG8gc2VuZCB1cyBtb3JlIGRhdGEgdGhhbiAiCisJCQkJICAiZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7CisJCX0KKwkJeGZlcmZ1bmMgPSBod2lmLT5pbnB1dF9kYXRhOworCX0gZWxzZQorCQl4ZmVyZnVuYyA9IGh3aWYtPm91dHB1dF9kYXRhOworCisJaWYgKChkcml2ZS0+bWVkaWEgPT0gaWRlX2Zsb3BweSAmJiAhc2NzaSAmJiAhcGMtPmJ1ZikgfHwKKwkgICAgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhc2NzaSAmJiBwYy0+YmgpIHx8CisJICAgIChzY3NpICYmIHBjLT5zZykpCisJCWlvX2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQsICEhKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpOworCWVsc2UKKwkJeGZlcmZ1bmMoZHJpdmUsIE5VTEwsIHBjLT5jdXJfcG9zLCBiY291bnQpOworCisJLyogVXBkYXRlIHRoZSBjdXJyZW50IHBvc2l0aW9uICovCisJcGMtPnhmZXJyZWQgKz0gYmNvdW50OworCXBjLT5jdXJfcG9zICs9IGJjb3VudDsKKworCWRlYnVnX2xvZygiW2NtZCAleF0gdHJhbnNmZXJyZWQgJWQgYnl0ZXMgb24gdGhhdCBpbnRyLlxuIiwKKwkJICBwYy0+Y1swXSwgYmNvdW50KTsKKworCS8qIEFuZCBzZXQgdGhlIGludGVycnVwdCBoYW5kbGVyIGFnYWluICovCisJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LCBleHBpcnkpOworCXJldHVybiBpZGVfc3RhcnRlZDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlkZV9wY19pbnRyKTsKKworc3RhdGljIHU4IGlkZV93YWl0X2lyZWFzb24oaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCBpcmVhc29uKQoreworCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKKwlpbnQgcmV0cmllcyA9IDEwMDsKKworCXdoaWxlIChyZXRyaWVzLS0gJiYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IChJTyxDb0QgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCisJCQkJImEgcGFja2V0IGNvbW1hbmQsIHJldHJ5aW5nXG4iLCBkcml2ZS0+bmFtZSk7CisJCXVkZWxheSgxMDApOworCQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOworCQlpZiAocmV0cmllcyA9PSAwKSB7CisJCQlwcmludGsoS0VSTl9FUlIgIiVzOiAoSU8sQ29EICE9ICgwLDEpIHdoaWxlIGlzc3VpbmcgIgorCQkJCQkiYSBwYWNrZXQgY29tbWFuZCwgaWdub3JpbmdcbiIsCisJCQkJCWRyaXZlLT5uYW1lKTsKKwkJCWlyZWFzb24gfD0gQ0Q7CisJCQlpcmVhc29uICY9IH5JTzsKKwkJfQorCX0KKworCXJldHVybiBpcmVhc29uOworfQorCitpZGVfc3RhcnRzdG9wX3QgaWRlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJaWRlX2hhbmRsZXJfdCAqaGFuZGxlciwgdW5zaWduZWQgaW50IHRpbWVvdXQsCisJCQkJaWRlX2V4cGlyeV90ICpleHBpcnkpCit7CisJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOworCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7CisJdTggaXJlYXNvbjsKKworCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsIGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULCBXQUlUX1JFQURZKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCBpbml0aWF0ZWQgeWV0ICIKKwkJCQkiRFJRIGlzbid0IGFzc2VydGVkXG4iLCBkcml2ZS0+bmFtZSk7CisJCXJldHVybiBzdGFydHN0b3A7CisJfQorCisJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKKwlpZiAoZHJpdmUtPm1lZGlhID09IGlkZV90YXBlICYmICFkcml2ZS0+c2NzaSkKKwkJaXJlYXNvbiA9IGlkZV93YWl0X2lyZWFzb24oZHJpdmUsIGlyZWFzb24pOworCisJaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgaXNzdWluZyAiCisJCQkJImEgcGFja2V0IGNvbW1hbmRcbiIsIGRyaXZlLT5uYW1lKTsKKwkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7CisJfQorCisJLyogU2V0IHRoZSBpbnRlcnJ1cHQgcm91dGluZSAqLworCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgaGFuZGxlciwgdGltZW91dCwgZXhwaXJ5KTsKKworCS8qIEJlZ2luIERNQSwgaWYgbmVjZXNzYXJ5ICovCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX09LKSB7CisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKKwkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKKwl9CisKKwkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCisJaWYgKChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1pJUF9EUklWRSkgPT0gMCkKKwkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIHBjLT5jLCAxMik7CisKKwlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpZGVfdHJhbnNmZXJfcGMpOworCitpZGVfc3RhcnRzdG9wX3QgaWRlX2lzc3VlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkgICAgIGlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LAorCQkJICAgICBpZGVfZXhwaXJ5X3QgKmV4cGlyeSkKK3sKKwlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CisJdTE2IGJjb3VudDsKKwl1OCBkbWEgPSAwOworCisJLyogV2UgaGF2ZW4ndCB0cmFuc2ZlcnJlZCBhbnkgZGF0YSB5ZXQgKi8KKwlwYy0+eGZlcnJlZCA9IDA7CisJcGMtPmN1cl9wb3MgPSBwYy0+YnVmOworCisJLyogUmVxdWVzdCB0byB0cmFuc2ZlciB0aGUgZW50aXJlIGJ1ZmZlciBhdCBvbmNlICovCisJaWYgKGRyaXZlLT5tZWRpYSA9PSBpZGVfdGFwZSAmJiAhZHJpdmUtPnNjc2kpCisJCWJjb3VudCA9IHBjLT5yZXFfeGZlcjsKKwllbHNlCisJCWJjb3VudCA9IG1pbihwYy0+cmVxX3hmZXIsIDYzICogMTAyNCk7CisKKwlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKKwkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9FUlJPUjsKKwkJaWRlX2RtYV9vZmYoZHJpdmUpOworCX0KKworCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19ETUFfT0spICYmIGRyaXZlLT51c2luZ19kbWEpIHsKKwkJaWYgKGRyaXZlLT5zY3NpKQorCQkJaHdpZi0+c2dfbWFwcGVkID0gMTsKKwkJZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7CisJCWlmIChkcml2ZS0+c2NzaSkKKwkJCWh3aWYtPnNnX21hcHBlZCA9IDA7CisJfQorCisJaWYgKCFkbWEpCisJCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfT0s7CisKKwlpZGVfcGt0Y21kX3RmX2xvYWQoZHJpdmUsIGRyaXZlLT5zY3NpID8gMCA6IElERV9URkxBR19PVVRfREVWSUNFLAorCQkJICAgYmNvdW50LCBkbWEpOworCisJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRFJRX0lOVEVSUlVQVCkgeworCQlpZGVfZXhlY3V0ZV9jb21tYW5kKGRyaXZlLCBXSU5fUEFDS0VUQ01ELCBoYW5kbGVyLAorCQkJCSAgICB0aW1lb3V0LCBOVUxMKTsKKwkJcmV0dXJuIGlkZV9zdGFydGVkOworCX0gZWxzZSB7CisJCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOworCQlyZXR1cm4gKCpoYW5kbGVyKShkcml2ZSk7CisJfQorfQorRVhQT1JUX1NZTUJPTF9HUEwoaWRlX2lzc3VlX3BjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZC5jIGIvZHJpdmVycy9pZGUvaWRlLWNkLmMKaW5kZXggNjhlN2YxOS4uZDk5ODQ3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkLmMKQEAgLTE4OCwxNiArMTg4LDYgQEAKIAlpZGVfY2RfbG9nX2Vycm9yKGRyaXZlLT5uYW1lLCBmYWlsZWRfY29tbWFuZCwgc2Vuc2UpOwogfQogCi0vKiBJbml0aWFsaXplIGEgaWRlLWNkIHBhY2tldCBjb21tYW5kIHJlcXVlc3QgKi8KLXZvaWQgaWRlX2NkX2luaXRfcnEoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCi17Ci0Jc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCi0JaWRlX2luaXRfZHJpdmVfY21kKHJxKTsKLQlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfUEM7Ci0JcnEtPnJxX2Rpc2sgPSBjZC0+ZGlzazsKLX0KLQogc3RhdGljIHZvaWQgY2Ryb21fcXVldWVfcmVxdWVzdF9zZW5zZShpZGVfZHJpdmVfdCAqZHJpdmUsIHZvaWQgKnNlbnNlLAogCQkJCSAgICAgIHN0cnVjdCByZXF1ZXN0ICpmYWlsZWRfY29tbWFuZCkKIHsKQEAgLTIwOCw3ICsxOTgsOSBAQAogCQlzZW5zZSA9ICZpbmZvLT5zZW5zZV9kYXRhOwogCiAJLyogc3R1ZmYgdGhlIHNlbnNlIHJlcXVlc3QgaW4gZnJvbnQgb2Ygb3VyIGN1cnJlbnQgcmVxdWVzdCAqLwotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCBycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX0FUQV9QQzsKKwlycS0+cnFfZGlzayA9IGluZm8tPmRpc2s7CiAKIAlycS0+ZGF0YSA9IHNlbnNlOwogCXJxLT5jbWRbMF0gPSBHUENNRF9SRVFVRVNUX1NFTlNFOwpAQCAtMjE2LDExICsyMDgsMTIgQEAKIAlycS0+ZGF0YV9sZW4gPSAxODsKIAogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NFTlNFOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CiAKIAkvKiBOT1RFISBTYXZlIHRoZSBmYWlsZWQgY29tbWFuZCBpbiAicnEtPmJ1ZmZlciIgKi8KIAlycS0+YnVmZmVyID0gKHZvaWQgKikgZmFpbGVkX2NvbW1hbmQ7CiAKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CiB9CiAKIHN0YXRpYyB2b2lkIGNkcm9tX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IHVwdG9kYXRlKQpAQCAtNTM3LDggKzUzMCw4IEBACiAJCWluZm8tPmRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwogCiAJLyogc2V0IHVwIHRoZSBjb250cm9sbGVyIHJlZ2lzdGVycyAqLwotCWlkZV9wa3RjbWRfdGZfbG9hZChkcml2ZSwgSURFX1RGTEFHX09VVF9OU0VDVCB8IElERV9URkxBR19PVVRfTEJBTCB8Ci0JCQkgICBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0ssIHhmZXJsZW4sIGluZm8tPmRtYSk7CisJaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfT1VUX05TRUNUIHwgSURFX1RGTEFHX09VVF9MQkFMLAorCQkJICAgeGZlcmxlbiwgaW5mby0+ZG1hKTsKIAogCWlmIChpbmZvLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX0RSUV9JTlRFUlJVUFQpIHsKIAkJLyogd2FpdGluZyBmb3IgQ0RCIGludGVycnVwdCwgbm90IERNQSB5ZXQuICovCkBAIC04MzgsMzQgKzgzMSw1NCBAQAogCQl9CiB9CiAKLWludCBpZGVfY2RfcXVldWVfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCitpbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICpkcml2ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqY21kLAorCQkgICAgaW50IHdyaXRlLCB2b2lkICpidWZmZXIsIHVuc2lnbmVkICpidWZmbGVuLAorCQkgICAgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnNlbnNlLCBpbnQgdGltZW91dCwKKwkJICAgIHVuc2lnbmVkIGludCBjbWRfZmxhZ3MpCiB7Ci0Jc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7CisJc3RydWN0IGNkcm9tX2luZm8gKmluZm8gPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CisJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgbG9jYWxfc2Vuc2U7CiAJaW50IHJldHJpZXMgPSAxMDsKLQl1bnNpZ25lZCBpbnQgZmxhZ3MgPSBycS0+Y21kX2ZsYWdzOworCXVuc2lnbmVkIGludCBmbGFncyA9IDA7CiAKLQlpZiAocnEtPnNlbnNlID09IE5VTEwpCi0JCXJxLT5zZW5zZSA9ICZzZW5zZTsKKwlpZiAoIXNlbnNlKQorCQlzZW5zZSA9ICZsb2NhbF9zZW5zZTsKIAogCS8qIHN0YXJ0IG9mIHJldHJ5IGxvb3AgKi8KIAlkbyB7CisJCXN0cnVjdCByZXF1ZXN0ICpycTsKIAkJaW50IGVycm9yOwotCQl1bnNpZ25lZCBsb25nIHRpbWUgPSBqaWZmaWVzOwotCQlycS0+Y21kX2ZsYWdzID0gZmxhZ3M7CiAKLQkJZXJyb3IgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3dhaXQpOwotCQl0aW1lID0gamlmZmllcyAtIHRpbWU7CisJCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgd3JpdGUsIF9fR0ZQX1dBSVQpOworCisJCW1lbWNweShycS0+Y21kLCBjbWQsIEJMS19NQVhfQ0RCKTsKKwkJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1BDOworCQlycS0+c2Vuc2UgPSBzZW5zZTsKKwkJcnEtPmNtZF9mbGFncyB8PSBjbWRfZmxhZ3M7CisJCXJxLT50aW1lb3V0ID0gdGltZW91dDsKKwkJaWYgKGJ1ZmZlcikgeworCQkJcnEtPmRhdGEgPSBidWZmZXI7CisJCQlycS0+ZGF0YV9sZW4gPSAqYnVmZmxlbjsKKwkJfQorCisJCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBpbmZvLT5kaXNrLCBycSwgMCk7CisKKwkJaWYgKGJ1ZmZlcikKKwkJCSpidWZmbGVuID0gcnEtPmRhdGFfbGVuOworCisJCWZsYWdzID0gcnEtPmNtZF9mbGFnczsKKwkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAogCQkvKgogCQkgKiBGSVhNRTogd2Ugc2hvdWxkIHByb2JhYmx5IGFib3J0L3JldHJ5IG9yIHNvbWV0aGluZyBpbiBjYXNlIG9mCiAJCSAqIGZhaWx1cmUuCiAJCSAqLwotCQlpZiAocnEtPmNtZF9mbGFncyAmIFJFUV9GQUlMRUQpIHsKKwkJaWYgKGZsYWdzICYgUkVRX0ZBSUxFRCkgewogCQkJLyoKIAkJCSAqIFRoZSByZXF1ZXN0IGZhaWxlZC4gIFJldHJ5IGlmIGl0IHdhcyBkdWUgdG8gYSB1bml0CiAJCQkgKiBhdHRlbnRpb24gc3RhdHVzICh1c3VhbGx5IG1lYW5zIG1lZGlhIHdhcyBjaGFuZ2VkKS4KIAkJCSAqLwotCQkJc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKnJlcWJ1ZiA9IHJxLT5zZW5zZTsKKwkJCXN0cnVjdCByZXF1ZXN0X3NlbnNlICpyZXFidWYgPSBzZW5zZTsKIAogCQkJaWYgKHJlcWJ1Zi0+c2Vuc2Vfa2V5ID09IFVOSVRfQVRURU5USU9OKQogCQkJCWNkcm9tX3Nhd19tZWRpYV9jaGFuZ2UoZHJpdmUpOwpAQCAtODg1LDEwICs4OTgsMTAgQEAKIAkJfQogCiAJCS8qIGVuZCBvZiByZXRyeSBsb29wICovCi0JfSB3aGlsZSAoKHJxLT5jbWRfZmxhZ3MgJiBSRVFfRkFJTEVEKSAmJiByZXRyaWVzID49IDApOworCX0gd2hpbGUgKChmbGFncyAmIFJFUV9GQUlMRUQpICYmIHJldHJpZXMgPj0gMCk7CiAKIAkvKiByZXR1cm4gYW4gZXJyb3IgaWYgdGhlIGNvbW1hbmQgZmFpbGVkICovCi0JcmV0dXJuIChycS0+Y21kX2ZsYWdzICYgUkVRX0ZBSUxFRCkgPyAtRUlPIDogMDsKKwlyZXR1cm4gKGZsYWdzICYgUkVRX0ZBSUxFRCkgPyAtRUlPIDogMDsKIH0KIAogLyoKQEAgLTEyNjgsMjMgKzEyODEsMjAgQEAKIAogaW50IGNkcm9tX2NoZWNrX3N0YXR1cyhpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0X3NlbnNlICpzZW5zZSkKIHsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJc3RydWN0IGNkcm9tX2luZm8gKmluZm8gPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IGNkcm9tX2RldmljZV9pbmZvICpjZGkgPSAmaW5mby0+ZGV2aW5mbzsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7Ci0KLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuY21kWzBdID0gR1BDTURfVEVTVF9VTklUX1JFQURZOwotCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1FVSUVUOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKwljbWRbMF0gPSBHUENNRF9URVNUX1VOSVRfUkVBRFk7CiAKIAkvKgogCSAqIFNhbnlvIDMgQ0QgY2hhbmdlciB1c2VzIGJ5dGUgNyBvZiBURVNUX1VOSVRfUkVBRFkgdG8gc3dpdGNoIENEcwogCSAqIGluc3RlYWQgb2Ygc3VwcG9ydGluZyB0aGUgTE9BRF9VTkxPQUQgb3Bjb2RlLgogCSAqLwotCXJlcS5jbWRbN10gPSBjZGktPnNhbnlvX3Nsb3QgJSAzOworCWNtZFs3XSA9IGNkaS0+c2FueW9fc2xvdCAlIDM7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsIHNlbnNlLCAwLCBSRVFfUVVJRVQpOwogfQogCiBzdGF0aWMgaW50IGNkcm9tX3JlYWRfY2FwYWNpdHkoaWRlX2RyaXZlX3QgKmRyaXZlLCB1bnNpZ25lZCBsb25nICpjYXBhY2l0eSwKQEAgLTEyOTcsMTcgKzEzMDcsMTQgQEAKIAl9IGNhcGJ1ZjsKIAogCWludCBzdGF0OwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CisJdW5zaWduZWQgbGVuID0gc2l6ZW9mKGNhcGJ1Zik7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7CisJbWVtc2V0KGNtZCwgMCwgQkxLX01BWF9DREIpOworCWNtZFswXSA9IEdQQ01EX1JFQURfQ0RWRF9DQVBBQ0lUWTsKIAotCXJlcS5zZW5zZSA9IHNlbnNlOwotCXJlcS5jbWRbMF0gPSBHUENNRF9SRUFEX0NEVkRfQ0FQQUNJVFk7Ci0JcmVxLmRhdGEgPSAoY2hhciAqKSZjYXBidWY7Ci0JcmVxLmRhdGFfbGVuID0gc2l6ZW9mKGNhcGJ1Zik7Ci0JcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7Ci0KLQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsICZjYXBidWYsICZsZW4sIHNlbnNlLCAwLAorCQkJICAgICAgIFJFUV9RVUlFVCk7CiAJaWYgKHN0YXQgPT0gMCkgewogCQkqY2FwYWNpdHkgPSAxICsgYmUzMl90b19jcHUoY2FwYnVmLmxiYSk7CiAJCSpzZWN0b3JzX3Blcl9mcmFtZSA9CkBAIC0xMzIxLDI0ICsxMzI4LDIwIEBACiAJCQkJaW50IGZvcm1hdCwgY2hhciAqYnVmLCBpbnQgYnVmbGVuLAogCQkJCXN0cnVjdCByZXF1ZXN0X3NlbnNlICpzZW5zZSkKIHsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKIAotCXJlcS5zZW5zZSA9IHNlbnNlOwotCXJlcS5kYXRhID0gIGJ1ZjsKLQlyZXEuZGF0YV9sZW4gPSBidWZsZW47Ci0JcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7Ci0JcmVxLmNtZFswXSA9IEdQQ01EX1JFQURfVE9DX1BNQV9BVElQOwotCXJlcS5jbWRbNl0gPSB0cmFja25vOwotCXJlcS5jbWRbN10gPSAoYnVmbGVuID4+IDgpOwotCXJlcS5jbWRbOF0gPSAoYnVmbGVuICYgMHhmZik7Ci0JcmVxLmNtZFs5XSA9IChmb3JtYXQgPDwgNik7CisJY21kWzBdID0gR1BDTURfUkVBRF9UT0NfUE1BX0FUSVA7CisJY21kWzZdID0gdHJhY2tubzsKKwljbWRbN10gPSAoYnVmbGVuID4+IDgpOworCWNtZFs4XSA9IChidWZsZW4gJiAweGZmKTsKKwljbWRbOV0gPSAoZm9ybWF0IDw8IDYpOwogCiAJaWYgKG1zZl9mbGFnKQotCQlyZXEuY21kWzFdID0gMjsKKwkJY21kWzFdID0gMjsKIAotCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZyZXEpOworCXJldHVybiBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgYnVmLCAmYnVmbGVuLCBzZW5zZSwgMCwgUkVRX1FVSUVUKTsKIH0KIAogLyogVHJ5IHRvIHJlYWQgdGhlIGVudGlyZSBUT0MgZm9yIHRoZSBkaXNrIGludG8gb3VyIGludGVybmFsIGJ1ZmZlci4gKi8KQEAgLTIxMDMsMTEgKzIxMDYsNiBAQAogCQkJZ290byBmYWlsZWQ7CiAJCX0KIAl9Ci0JaWYgKGRyaXZlLT5zY3NpKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gImlkZS1jZDogcGFzc2luZyBkcml2ZSAlcyB0byBpZGUtc2NzaSAiCi0JCQkJICJlbXVsYXRpb24uXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCWdvdG8gZmFpbGVkOwotCX0KIAlpbmZvID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGNkcm9tX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlpZiAoaW5mbyA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiJXM6IENhbid0IGFsbG9jYXRlIGEgY2Ryb20gc3RydWN0dXJlXG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWNkLmggYi9kcml2ZXJzL2lkZS9pZGUtY2QuaAppbmRleCBhNTg4MDFjLi5mZTBlYTM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtY2QuaAorKysgYi9kcml2ZXJzL2lkZS9pZGUtY2QuaApAQCAtMTQzLDggKzE0Myw4IEBACiB2b2lkIGlkZV9jZF9sb2dfZXJyb3IoY29uc3QgY2hhciAqLCBzdHJ1Y3QgcmVxdWVzdCAqLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqKTsKIAogLyogaWRlLWNkLmMgZnVuY3Rpb25zIHVzZWQgYnkgaWRlLWNkX2lvY3RsLmMgKi8KLXZvaWQgaWRlX2NkX2luaXRfcnEoaWRlX2RyaXZlX3QgKiwgc3RydWN0IHJlcXVlc3QgKik7Ci1pbnQgaWRlX2NkX3F1ZXVlX3BjKGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICopOworaW50IGlkZV9jZF9xdWV1ZV9wYyhpZGVfZHJpdmVfdCAqLCBjb25zdCB1bnNpZ25lZCBjaGFyICosIGludCwgdm9pZCAqLAorCQkgICAgdW5zaWduZWQgKiwgc3RydWN0IHJlcXVlc3Rfc2Vuc2UgKiwgaW50LCB1bnNpZ25lZCBpbnQpOwogaW50IGlkZV9jZF9yZWFkX3RvYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdF9zZW5zZSAqKTsKIGludCBpZGVfY2Ryb21fZ2V0X2NhcGFiaWxpdGllcyhpZGVfZHJpdmVfdCAqLCB1OCAqKTsKIHZvaWQgaWRlX2Nkcm9tX3VwZGF0ZV9zcGVlZChpZGVfZHJpdmVfdCAqLCB1OCAqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1jZF9pb2N0bC5jIGIvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMKaW5kZXggNmQxNDdjZS4uMjRkMDAyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWNkX2lvY3RsLmMKQEAgLTEwNCw4ICsxMDQsOCBAQAogewogCXN0cnVjdCBjZHJvbV9pbmZvICpjZCA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSA9ICZjZC0+ZGV2aW5mbzsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJY2hhciBsb2VqID0gMHgwMjsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CiAKIAlpZiAoKGNkLT5jZF9mbGFncyAmIElERV9DRF9GTEFHX05PX0VKRUNUKSAmJiAhZWplY3RmbGFnKQogCQlyZXR1cm4gLUVEUklWRV9DQU5UX0RPX1RISVM7CkBAIC0xMTQsMTcgKzExNCwxNiBAQAogCWlmICgoY2QtPmNkX2ZsYWdzICYgSURFX0NEX0ZMQUdfRE9PUl9MT0NLRUQpICYmIGVqZWN0ZmxhZykKIAkJcmV0dXJuIDA7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJlcSk7Ci0KIAkvKiBvbmx5IHRlbGwgZHJpdmUgdG8gY2xvc2UgdHJheSBpZiBvcGVuLCBpZiBpdCBjYW4gZG8gdGhhdCAqLwogCWlmIChlamVjdGZsYWcgJiYgKGNkaS0+bWFzayAmIENEQ19DTE9TRV9UUkFZKSkKIAkJbG9laiA9IDA7CiAKLQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQlyZXEuY21kWzBdID0gR1BDTURfU1RBUlRfU1RPUF9VTklUOwotCXJlcS5jbWRbNF0gPSBsb2VqIHwgKGVqZWN0ZmxhZyAhPSAwKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwljbWRbMF0gPSBHUENNRF9TVEFSVF9TVE9QX1VOSVQ7CisJY21kWzRdID0gbG9laiB8IChlamVjdGZsYWcgIT0gMCk7CisKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsIHNlbnNlLCAwLCAwKTsKIH0KIAogLyogTG9jayB0aGUgZG9vciBpZiBMT0NLRkxBRyBpcyBub256ZXJvOyB1bmxvY2sgaXQgb3RoZXJ3aXNlLiAqLwpAQCAtMTM0LDcgKzEzMyw2IEBACiB7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIG15X3NlbnNlOwotCXN0cnVjdCByZXF1ZXN0IHJlcTsKIAlpbnQgc3RhdDsKIAogCWlmIChzZW5zZSA9PSBOVUxMKQpAQCAtMTQ0LDExICsxNDIsMTUgQEAKIAlpZiAoY2QtPmNkX2ZsYWdzICYgSURFX0NEX0ZMQUdfTk9fRE9PUkxPQ0spIHsKIAkJc3RhdCA9IDA7CiAJfSBlbHNlIHsKLQkJaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCQlyZXEuc2Vuc2UgPSBzZW5zZTsKLQkJcmVxLmNtZFswXSA9IEdQQ01EX1BSRVZFTlRfQUxMT1dfTUVESVVNX1JFTU9WQUw7Ci0JCXJlcS5jbWRbNF0gPSBsb2NrZmxhZyA/IDEgOiAwOwotCQlzdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwkJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOworCisJCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKKworCQljbWRbMF0gPSBHUENNRF9QUkVWRU5UX0FMTE9XX01FRElVTV9SRU1PVkFMOworCQljbWRbNF0gPSBsb2NrZmxhZyA/IDEgOiAwOworCisJCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNtZCwgMCwgTlVMTCwgMCwKKwkJCQkgICAgICAgc2Vuc2UsIDAsIDApOwogCX0KIAogCS8qIElmIHdlIGdvdCBhbiBpbGxlZ2FsIGZpZWxkIGVycm9yLCB0aGUgZHJpdmUKQEAgLTIwNiwzMiArMjA4LDMwIEBACiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CiAJc3RydWN0IGNkcm9tX2luZm8gKmNkID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCXN0cnVjdCByZXF1ZXN0IHJxOwogCXN0cnVjdCByZXF1ZXN0X3NlbnNlIHNlbnNlOwogCXU4IGJ1ZltBVEFQSV9DQVBBQklMSVRJRVNfUEFHRV9TSVpFXTsKIAlpbnQgc3RhdDsKLQotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcnEpOwotCi0JcnEuc2Vuc2UgPSAmc2Vuc2U7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCiAJaWYgKHNwZWVkID09IDApCiAJCXNwZWVkID0gMHhmZmZmOyAvKiBzZXQgdG8gbWF4ICovCiAJZWxzZQogCQlzcGVlZCAqPSAxNzc7ICAgLyogTnggdG8ga2J5dGVzL3MgKi8KIAotCXJxLmNtZFswXSA9IEdQQ01EX1NFVF9TUEVFRDsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CisKKwljbWRbMF0gPSBHUENNRF9TRVRfU1BFRUQ7CiAJLyogUmVhZCBEcml2ZSBzcGVlZCBpbiBrYnl0ZXMvc2Vjb25kIE1TQi9MU0IgKi8KLQlycS5jbWRbMl0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOwotCXJxLmNtZFszXSA9IHNwZWVkICYgMHhmZjsKKwljbWRbMl0gPSAoc3BlZWQgPj4gOCkgJiAweGZmOworCWNtZFszXSA9IHNwZWVkICYgMHhmZjsKIAlpZiAoKGNkaS0+bWFzayAmIChDRENfQ0RfUiB8IENEQ19DRF9SVyB8IENEQ19EVkRfUikpICE9CiAJICAgIChDRENfQ0RfUiB8IENEQ19DRF9SVyB8IENEQ19EVkRfUikpIHsKIAkJLyogV3JpdGUgRHJpdmUgc3BlZWQgaW4ga2J5dGVzL3NlY29uZCBNU0IvTFNCICovCi0JCXJxLmNtZFs0XSA9IChzcGVlZCA+PiA4KSAmIDB4ZmY7Ci0JCXJxLmNtZFs1XSA9IHNwZWVkICYgMHhmZjsKKwkJY21kWzRdID0gKHNwZWVkID4+IDgpICYgMHhmZjsKKwkJY21kWzVdID0gc3BlZWQgJiAweGZmOwogCX0KIAotCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZycSk7CisJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBOVUxMLCAwLCAmc2Vuc2UsIDAsIDApOwogCiAJaWYgKCFpZGVfY2Ryb21fZ2V0X2NhcGFiaWxpdGllcyhkcml2ZSwgYnVmKSkgewogCQlpZGVfY2Ryb21fdXBkYXRlX3NwZWVkKGRyaXZlLCBidWYpOwpAQCAtMjY4LDIxICsyNjgsMTkgQEAKIHsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBjZGktPmhhbmRsZTsKIAlpbnQgc3RhdCwgbWNubGVuOwotCXN0cnVjdCByZXF1ZXN0IHJxOwogCWNoYXIgYnVmWzI0XTsKKwl1bnNpZ25lZCBjaGFyIGNtZFtCTEtfTUFYX0NEQl07CisJdW5zaWduZWQgbGVuID0gc2l6ZW9mKGJ1Zik7CiAKLQlpZGVfY2RfaW5pdF9ycShkcml2ZSwgJnJxKTsKKwltZW1zZXQoY21kLCAwLCBCTEtfTUFYX0NEQik7CiAKLQlycS5kYXRhID0gYnVmOwotCXJxLmRhdGFfbGVuID0gc2l6ZW9mKGJ1Zik7CisJY21kWzBdID0gR1BDTURfUkVBRF9TVUJDSEFOTkVMOworCWNtZFsxXSA9IDI7CQkvKiBNU0YgYWRkcmVzc2luZyAqLworCWNtZFsyXSA9IDB4NDA7CS8qIHJlcXVlc3Qgc3ViUSBkYXRhICovCisJY21kWzNdID0gMjsJCS8qIGZvcm1hdCAqLworCWNtZFs4XSA9IGxlbjsKIAotCXJxLmNtZFswXSA9IEdQQ01EX1JFQURfU1VCQ0hBTk5FTDsKLQlycS5jbWRbMV0gPSAyOwkJLyogTVNGIGFkZHJlc3NpbmcgKi8KLQlycS5jbWRbMl0gPSAweDQwOwkvKiByZXF1ZXN0IHN1YlEgZGF0YSAqLwotCXJxLmNtZFszXSA9IDI7CQkvKiBmb3JtYXQgKi8KLQlycS5jbWRbOF0gPSBzaXplb2YoYnVmKTsKLQotCXN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsICZycSk7CisJc3RhdCA9IGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgY21kLCAwLCBidWYsICZsZW4sIE5VTEwsIDAsIDApOwogCWlmIChzdGF0KQogCQlyZXR1cm4gc3RhdDsKIApAQCAtMjk4LDE0ICsyOTYsMTQgQEAKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBjZGktPmhhbmRsZTsKIAlzdHJ1Y3QgY2Ryb21faW5mbyAqY2QgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAJc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7Ci0Jc3RydWN0IHJlcXVlc3QgcmVxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKIAlpbnQgcmV0OwogCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwotCXJlcS5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7Ci0JcmVxLmNtZF9mbGFncyA9IFJFUV9RVUlFVDsKLQlyZXQgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcmVxLCBpZGVfd2FpdCk7Ci0KKwlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJcnEtPmNtZF9mbGFncyA9IFJFUV9RVUlFVDsKKwlyZXQgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIGNkLT5kaXNrLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkvKgogCSAqIEEgcmVzZXQgd2lsbCB1bmxvY2sgdGhlIGRvb3IuIElmIGl0IHdhcyBwcmV2aW91c2x5IGxvY2tlZCwKIAkgKiBsb2NrIGl0IGFnYWluLgpAQCAtMzUxLDggKzM0OSw4IEBACiAJc3RydWN0IGF0YXBpX3RvY19lbnRyeSAqZmlyc3RfdG9jLCAqbGFzdF90b2M7CiAJdW5zaWduZWQgbG9uZyBsYmFfc3RhcnQsIGxiYV9lbmQ7CiAJaW50IHN0YXQ7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CiAJc3RydWN0IHJlcXVlc3Rfc2Vuc2Ugc2Vuc2U7CisJdW5zaWduZWQgY2hhciBjbWRbQkxLX01BWF9DREJdOwogCiAJc3RhdCA9IGlkZV9jZF9nZXRfdG9jX2VudHJ5KGRyaXZlLCB0aS0+Y2R0aV90cmswLCAmZmlyc3RfdG9jKTsKIAlpZiAoc3RhdCkKQEAgLTM3MCwxNCArMzY4LDEzIEBACiAJaWYgKGxiYV9lbmQgPD0gbGJhX3N0YXJ0KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlkZV9jZF9pbml0X3JxKGRyaXZlLCAmcnEpOworCW1lbXNldChjbWQsIDAsIEJMS19NQVhfQ0RCKTsKIAotCXJxLnNlbnNlID0gJnNlbnNlOwotCXJxLmNtZFswXSA9IEdQQ01EX1BMQVlfQVVESU9fTVNGOwotCWxiYV90b19tc2YobGJhX3N0YXJ0LCAgICZycS5jbWRbM10sICZycS5jbWRbNF0sICZycS5jbWRbNV0pOwotCWxiYV90b19tc2YobGJhX2VuZCAtIDEsICZycS5jbWRbNl0sICZycS5jbWRbN10sICZycS5jbWRbOF0pOworCWNtZFswXSA9IEdQQ01EX1BMQVlfQVVESU9fTVNGOworCWxiYV90b19tc2YobGJhX3N0YXJ0LCAgICZjbWRbM10sICZjbWRbNF0sICZjbWRbNV0pOworCWxiYV90b19tc2YobGJhX2VuZCAtIDEsICZjbWRbNl0sICZjbWRbN10sICZjbWRbOF0pOwogCi0JcmV0dXJuIGlkZV9jZF9xdWV1ZV9wYyhkcml2ZSwgJnJxKTsKKwlyZXR1cm4gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCBjbWQsIDAsIE5VTEwsIDAsICZzZW5zZSwgMCwgMCk7CiB9CiAKIHN0YXRpYyBpbnQgaWRlX2NkX3JlYWRfdG9jaGRyKGlkZV9kcml2ZV90ICpkcml2ZSwgdm9pZCAqYXJnKQpAQCAtNDQ3LDggKzQ0NCw5IEBACiBpbnQgaWRlX2Nkcm9tX3BhY2tldChzdHJ1Y3QgY2Ryb21fZGV2aWNlX2luZm8gKmNkaSwKIAkJCSAgICBzdHJ1Y3QgcGFja2V0X2NvbW1hbmQgKmNnYykKIHsKLQlzdHJ1Y3QgcmVxdWVzdCByZXE7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gY2RpLT5oYW5kbGU7CisJdW5zaWduZWQgaW50IGZsYWdzID0gMDsKKwl1bnNpZ25lZCBsZW4gPSBjZ2MtPmJ1ZmxlbjsKIAogCWlmIChjZ2MtPnRpbWVvdXQgPD0gMCkKIAkJY2djLT50aW1lb3V0ID0gQVRBUElfV0FJVF9QQzsKQEAgLTQ1NiwyNCArNDU0LDIxIEBACiAJLyogaGVyZSB3ZSBxdWV1ZSB0aGUgY29tbWFuZHMgZnJvbSB0aGUgdW5pZm9ybSBDRC1ST00KIAkgICBsYXllci4gdGhlIHBhY2tldCBtdXN0IGJlIGNvbXBsZXRlLCBhcyB3ZSBkbyBub3QKIAkgICB0b3VjaCBpdCBhdCBhbGwuICovCi0JaWRlX2NkX2luaXRfcnEoZHJpdmUsICZyZXEpOwogCiAJaWYgKGNnYy0+ZGF0YV9kaXJlY3Rpb24gPT0gQ0dDX0RBVEFfV1JJVEUpCi0JCXJlcS5jbWRfZmxhZ3MgfD0gUkVRX1JXOworCQlmbGFncyB8PSBSRVFfUlc7CiAKLQltZW1jcHkocmVxLmNtZCwgY2djLT5jbWQsIENEUk9NX1BBQ0tFVF9TSVpFKTsKIAlpZiAoY2djLT5zZW5zZSkKIAkJbWVtc2V0KGNnYy0+c2Vuc2UsIDAsIHNpemVvZihzdHJ1Y3QgcmVxdWVzdF9zZW5zZSkpOwotCXJlcS5kYXRhID0gY2djLT5idWZmZXI7Ci0JcmVxLmRhdGFfbGVuID0gY2djLT5idWZsZW47Ci0JcmVxLnRpbWVvdXQgPSBjZ2MtPnRpbWVvdXQ7CiAKIAlpZiAoY2djLT5xdWlldCkKLQkJcmVxLmNtZF9mbGFncyB8PSBSRVFfUVVJRVQ7CisJCWZsYWdzIHw9IFJFUV9RVUlFVDsKIAotCXJlcS5zZW5zZSA9IGNnYy0+c2Vuc2U7Ci0JY2djLT5zdGF0ID0gaWRlX2NkX3F1ZXVlX3BjKGRyaXZlLCAmcmVxKTsKKwljZ2MtPnN0YXQgPSBpZGVfY2RfcXVldWVfcGMoZHJpdmUsIGNnYy0+Y21kLAorCQkJCSAgICBjZ2MtPmRhdGFfZGlyZWN0aW9uID09IENHQ19EQVRBX1dSSVRFLAorCQkJCSAgICBjZ2MtPmJ1ZmZlciwgJmxlbiwKKwkJCQkgICAgY2djLT5zZW5zZSwgY2djLT50aW1lb3V0LCBmbGFncyk7CiAJaWYgKCFjZ2MtPnN0YXQpCi0JCWNnYy0+YnVmbGVuIC09IHJlcS5kYXRhX2xlbjsKKwkJY2djLT5idWZsZW4gLT0gbGVuOwogCXJldHVybiBjZ2MtPnN0YXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtZGlzay5jIGIvZHJpdmVycy9pZGUvaWRlLWRpc2suYwppbmRleCA4ZTA4ZDA4Li41ZjQ5YTRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtZGlzay5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1kaXNrLmMKQEAgLTE5OCw4ICsxOTgsNyBAQAogCX0KIAogCW1lbXNldCgmdGFzaywgMCwgc2l6ZW9mKHRhc2spKTsKLQl0YXNrLnRmX2ZsYWdzID0gSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLOyAgLyogRklYTUU/ICovCi0JdGFzay50Zl9mbGFncyB8PSAoSURFX1RGTEFHX1RGIHwgSURFX1RGTEFHX0RFVklDRSk7CisJdGFzay50Zl9mbGFncyA9IElERV9URkxBR19URiB8IElERV9URkxBR19ERVZJQ0U7CiAKIAlpZiAoZHJpdmUtPnNlbGVjdC5iLmxiYSkgewogCQlpZiAobGJhNDgpIHsKQEAgLTYxNyw3ICs2MTYsOCBAQAogICovCiBzdGF0aWMgaW50IHNldF9tdWx0Y291bnQoaWRlX2RyaXZlX3QgKmRyaXZlLCBpbnQgYXJnKQogewotCXN0cnVjdCByZXF1ZXN0IHJxOworCXN0cnVjdCByZXF1ZXN0ICpycTsKKwlpbnQgZXJyb3I7CiAKIAlpZiAoYXJnIDwgMCB8fCBhcmcgPiBkcml2ZS0+aWQtPm1heF9tdWx0c2VjdCkKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC02MjUsMTIgKzYyNSwxMyBAQAogCWlmIChkcml2ZS0+c3BlY2lhbC5iLnNldF9tdWx0bW9kZSkKIAkJcmV0dXJuIC1FQlVTWTsKIAotCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOwogCiAJZHJpdmUtPm11bHRfcmVxID0gYXJnOwogCWRyaXZlLT5zcGVjaWFsLmIuc2V0X211bHRtb2RlID0gMTsKLQkodm9pZClpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwllcnJvciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAlyZXR1cm4gKGRyaXZlLT5tdWx0X2NvdW50ID09IGFyZykgPyAwIDogLUVJTzsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1kbWEuYyBiL2RyaXZlcnMvaWRlL2lkZS1kbWEuYwppbmRleCA2NTNiMWFkLi43ZWU0NGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtZG1hLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWRtYS5jCkBAIC00NjMsNyArNDYzLDcgQEAKIAl9CiAKIAkvKiBQUkQgdGFibGUgKi8KLQlpZiAoaHdpZi0+bW1pbykKKwlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQl3cml0ZWwoaHdpZi0+ZG1hdGFibGVfZG1hLAogCQkgICAgICAgKHZvaWQgX19pb21lbSAqKShod2lmLT5kbWFfYmFzZSArIEFUQV9ETUFfVEFCTEVfT0ZTKSk7CiAJZWxzZQpAQCAtNjkyLDcgKzY5Miw3IEBACiAJaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwogCXU4IHNwZWVkOwogCi0JaWYgKG5vYXV0b2RtYSB8fCBkcml2ZS0+bm9kbWEgfHwgKGRyaXZlLT5pZC0+Y2FwYWJpbGl0eSAmIDEpID09IDApCisJaWYgKGRyaXZlLT5ub2RtYSB8fCAoZHJpdmUtPmlkLT5jYXBhYmlsaXR5ICYgMSkgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAkvKiBjb25zdWx0IHRoZSBsaXN0IG9mIGtub3duICJiYWQiIGRyaXZlcyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jIGIvZHJpdmVycy9pZGUvaWRlLWZsb3BweS5jCmluZGV4IGYwNWZiYzIuLmIzNjg5NDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1mbG9wcHkuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtZmxvcHB5LmMKQEAgLTI4NiwxMSArMjg2LDEyIEBACiB7CiAJc3RydWN0IGlkZV9mbG9wcHlfb2JqICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7CiAKLQlpZGVfaW5pdF9kcml2ZV9jbWQocnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKIAlycS0+YnVmZmVyID0gKGNoYXIgKikgcGM7CiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwogCXJxLT5ycV9kaXNrID0gZmxvcHB5LT5kaXNrOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSwgaWRlX3ByZWVtcHQpOworCWlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpZGVfYXRhcGlfcGMgKmlkZWZsb3BweV9uZXh0X3BjX3N0b3JhZ2UoaWRlX2RyaXZlX3QgKmRyaXZlKQpAQCAtMzExLDUwICszMTIsNDEgQEAKIAlyZXR1cm4gKCZmbG9wcHktPnJxX3N0YWNrW2Zsb3BweS0+cnFfc3RhY2tfaW5kZXgrK10pOwogfQogCi1zdGF0aWMgdm9pZCBpZGVmbG9wcHlfcmVxdWVzdF9zZW5zZV9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgdm9pZCBpZGVfZmxvcHB5X2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQl1OCAqYnVmID0gZmxvcHB5LT5wYy0+YnVmOworCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gZmxvcHB5LT5wYzsKKwlpbnQgdXB0b2RhdGUgPSBwYy0+ZXJyb3IgPyAwIDogMTsKIAogCWRlYnVnX2xvZygiUmVhY2hlZCAlc1xuIiwgX19mdW5jX18pOwogCi0JaWYgKCFmbG9wcHktPnBjLT5lcnJvcikgewotCQlmbG9wcHktPnNlbnNlX2tleSA9IGJ1ZlsyXSAmIDB4MEY7Ci0JCWZsb3BweS0+YXNjID0gYnVmWzEyXTsKLQkJZmxvcHB5LT5hc2NxID0gYnVmWzEzXTsKLQkJZmxvcHB5LT5wcm9ncmVzc19pbmRpY2F0aW9uID0gYnVmWzE1XSAmIDB4ODAgPwotCQkJKHUxNilnZXRfdW5hbGlnbmVkKCh1MTYgKikmYnVmWzE2XSkgOiAweDEwMDAwOworCWlmIChmbG9wcHktPmZhaWxlZF9wYyA9PSBwYykKKwkJZmxvcHB5LT5mYWlsZWRfcGMgPSBOVUxMOwogCi0JCWlmIChmbG9wcHktPmZhaWxlZF9wYykKLQkJCWRlYnVnX2xvZygicGMgPSAleCwgc2Vuc2Uga2V5ID0gJXgsIGFzYyA9ICV4LCIKLQkJCQkJIiBhc2NxID0gJXhcbiIsCi0JCQkJCWZsb3BweS0+ZmFpbGVkX3BjLT5jWzBdLAotCQkJCQlmbG9wcHktPnNlbnNlX2tleSwKLQkJCQkJZmxvcHB5LT5hc2MsCi0JCQkJCWZsb3BweS0+YXNjcSk7Ci0JCWVsc2UKKwlpZiAocGMtPmNbMF0gPT0gR1BDTURfUkVBRF8xMCB8fCBwYy0+Y1swXSA9PSBHUENNRF9XUklURV8xMCB8fAorCSAgICAocGMtPnJxICYmIGJsa19wY19yZXF1ZXN0KHBjLT5ycSkpKQorCQl1cHRvZGF0ZSA9IDE7IC8qIEZJWE1FICovCisJZWxzZSBpZiAocGMtPmNbMF0gPT0gR1BDTURfUkVRVUVTVF9TRU5TRSkgeworCQl1OCAqYnVmID0gZmxvcHB5LT5wYy0+YnVmOworCisJCWlmICghcGMtPmVycm9yKSB7CisJCQlmbG9wcHktPnNlbnNlX2tleSA9IGJ1ZlsyXSAmIDB4MEY7CisJCQlmbG9wcHktPmFzYyA9IGJ1ZlsxMl07CisJCQlmbG9wcHktPmFzY3EgPSBidWZbMTNdOworCQkJZmxvcHB5LT5wcm9ncmVzc19pbmRpY2F0aW9uID0gYnVmWzE1XSAmIDB4ODAgPworCQkJCSh1MTYpZ2V0X3VuYWxpZ25lZCgodTE2ICopJmJ1ZlsxNl0pIDogMHgxMDAwMDsKKworCQkJaWYgKGZsb3BweS0+ZmFpbGVkX3BjKQorCQkJCWRlYnVnX2xvZygicGMgPSAleCwgIiwgZmxvcHB5LT5mYWlsZWRfcGMtPmNbMF0pOworCiAJCQlkZWJ1Z19sb2coInNlbnNlIGtleSA9ICV4LCBhc2MgPSAleCwgYXNjcSA9ICV4XG4iLAotCQkJCQlmbG9wcHktPnNlbnNlX2tleSwKLQkJCQkJZmxvcHB5LT5hc2MsCi0JCQkJCWZsb3BweS0+YXNjcSk7Ci0KLQotCQlpZGVmbG9wcHlfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRXJyb3IgaW4gUkVRVUVTVCBTRU5TRSBpdHNlbGYgLSBBYm9ydGluZyIKLQkJCQkiIHJlcXVlc3QhXG4iKTsKLQkJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKKwkJCQkgIGZsb3BweS0+c2Vuc2Vfa2V5LCBmbG9wcHktPmFzYywgZmxvcHB5LT5hc2NxKTsKKwkJfSBlbHNlCisJCQlwcmludGsoS0VSTl9FUlIgIkVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gIgorCQkJCQkiQWJvcnRpbmcgcmVxdWVzdCFcbiIpOwogCX0KLX0KIAotLyogR2VuZXJhbCBwYWNrZXQgY29tbWFuZCBjYWxsYmFjayBmdW5jdGlvbi4gKi8KLXN0YXRpYyB2b2lkIGlkZWZsb3BweV9wY19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0KLQlkZWJ1Z19sb2coIlJlYWNoZWQgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgZmxvcHB5LT5wYy0+ZXJyb3IgPyAwIDogMSwgMCk7CisJaWRlZmxvcHB5X2VuZF9yZXF1ZXN0KGRyaXZlLCB1cHRvZGF0ZSwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZWZsb3BweV9pbml0X3BjKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMzY1LDcgKzM1Nyw3IEBACiAJcGMtPnJlcV94ZmVyID0gMDsKIAlwYy0+YnVmID0gcGMtPnBjX2J1ZjsKIAlwYy0+YnVmX3NpemUgPSBJREVGTE9QUFlfUENfQlVGRkVSX1NJWkU7Ci0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcGNfY2FsbGJhY2s7CisJcGMtPmNhbGxiYWNrID0gaWRlX2Zsb3BweV9jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2NyZWF0ZV9yZXF1ZXN0X3NlbnNlX2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKQEAgLTM3NCw3ICszNjYsNiBAQAogCXBjLT5jWzBdID0gR1BDTURfUkVRVUVTVF9TRU5TRTsKIAlwYy0+Y1s0XSA9IDI1NTsKIAlwYy0+cmVxX3hmZXIgPSAxODsKLQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrID0gJmlkZWZsb3BweV9yZXF1ZXN0X3NlbnNlX2NhbGxiYWNrOwogfQogCiAvKgpAQCAtMzk3LDE3NCArMzg4LDE5IEBACiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV9wY19pbnRyKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBmbG9wcHktPnBjOwotCXN0cnVjdCByZXF1ZXN0ICpycSA9IHBjLT5ycTsKLQl4ZmVyX2Z1bmNfdCAqeGZlcmZ1bmM7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0JaW50IGRtYV9lcnJvciA9IDA7Ci0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0JZGVidWdfbG9nKCJSZWFjaGVkICVzIGludGVycnVwdCBoYW5kbGVyXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJZG1hX2Vycm9yID0gaHdpZi0+ZG1hX29wcy0+ZG1hX2VuZChkcml2ZSk7Ci0JCWlmIChkbWFfZXJyb3IpIHsKLQkJCXByaW50ayhLRVJOX0VSUiAiJXM6IERNQSAlcyBlcnJvclxuIiwgZHJpdmUtPm5hbWUsCi0JCQkJCXJxX2RhdGFfZGlyKHJxKSA/ICJ3cml0ZSIgOiAicmVhZCIpOwotCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0VSUk9SOwotCQl9IGVsc2UgewotCQkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXI7Ci0JCQlpZGVmbG9wcHlfdXBkYXRlX2J1ZmZlcnMoZHJpdmUsIHBjKTsKLQkJfQotCQlkZWJ1Z19sb2coIkRNQSBmaW5pc2hlZFxuIik7Ci0JfQotCi0JLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLwotCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOwotCi0JLyogTm8gbW9yZSBpbnRlcnJ1cHRzICovCi0JaWYgKChzdGF0ICYgRFJRX1NUQVQpID09IDApIHsKLQkJZGVidWdfbG9nKCJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIHRyYW5zZmVycmVkXG4iLAotCQkJCXBjLT54ZmVycmVkKTsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQotCQlsb2NhbF9pcnFfZW5hYmxlX2luX2hhcmRpcnEoKTsKLQotCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgfHwgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSkgewotCQkJLyogRXJyb3IgZGV0ZWN0ZWQgKi8KLQkJCWRlYnVnX2xvZygiJXM6IEkvTyBlcnJvclxuIiwgZHJpdmUtPm5hbWUpOwotCQkJcnEtPmVycm9ycysrOwotCQkJaWYgKHBjLT5jWzBdID09IEdQQ01EX1JFUVVFU1RfU0VOU0UpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IEkvTyBlcnJvciBpbiAiCi0JCQkJCSJyZXF1ZXN0IHNlbnNlIGNvbW1hbmRcbiIpOwotCQkJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCQkJfQotCQkJLyogUmV0cnkgb3BlcmF0aW9uICovCi0JCQlpZGVmbG9wcHlfcmV0cnlfcGMoZHJpdmUpOwotCQkJLyogcXVldWVkLCBidXQgbm90IHN0YXJ0ZWQgKi8KLQkJCXJldHVybiBpZGVfc3RvcHBlZDsKLQkJfQotCQlwYy0+ZXJyb3IgPSAwOwotCQlpZiAoZmxvcHB5LT5mYWlsZWRfcGMgPT0gcGMpCi0JCQlmbG9wcHktPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCS8qIENvbW1hbmQgZmluaXNoZWQgLSBDYWxsIHRoZSBjYWxsYmFjayBmdW5jdGlvbiAqLwotCQlwYy0+aWRlZmxvcHB5X2NhbGxiYWNrKGRyaXZlKTsKLQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCX0KLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFRoZSBmbG9wcHkgd2FudHMgdG8gaXNzdWUgIgotCQkJIm1vcmUgaW50ZXJydXB0cyBpbiBETUEgbW9kZVxuIik7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCi0JLyogR2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgKi8KLQliY291bnQgPSAoaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLmxiYWhfYWRkcikgPDwgOCkgfAotCQkgIGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFtX2FkZHIpOwotCS8qIG9uIHRoaXMgaW50ZXJydXB0ICovCi0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQotCWlmIChpcmVhc29uICYgQ0QpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBDb0QgIT0gMCBpbiAlc1xuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JaWYgKCgoaXJlYXNvbiAmIElPKSA9PSBJTykgPT0gISEocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKSkgewotCQkvKiBIb3BlZnVsbHksIHdlIHdpbGwgbmV2ZXIgZ2V0IGhlcmUgKi8KLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBXZSB3YW50ZWQgdG8gJXMsICIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiV3JpdGUiIDogIlJlYWQiKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJidXQgdGhlIGZsb3BweSB3YW50cyB1cyB0byAlcyAhXG4iLAotCQkJCShpcmVhc29uICYgSU8pID8gIlJlYWQiIDogIldyaXRlIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIFJlYWRpbmcgLSBDaGVjayB0aGF0IHdlIGhhdmUgZW5vdWdoIHNwYWNlICovCi0JCXRlbXAgPSBwYy0+eGZlcnJlZCArIGJjb3VudDsKLQkJaWYgKHRlbXAgPiBwYy0+cmVxX3hmZXIpIHsKLQkJCWlmICh0ZW1wID4gcGMtPmJ1Zl9zaXplKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBUaGUgZmxvcHB5IHdhbnRzICIKLQkJCQkJInRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgIgotCQkJCQkiLSBkaXNjYXJkaW5nIGRhdGFcbiIpOwotCQkJCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCk7Ci0KLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsCi0JCQkJCQkmaWRlZmxvcHB5X3BjX2ludHIsCi0JCQkJCQlJREVGTE9QUFlfV0FJVF9DTUQsCi0JCQkJCQlOVUxMKTsKLQkJCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JCQl9Ci0JCQlkZWJ1Z19sb2coIlRoZSBmbG9wcHkgd2FudHMgdG8gc2VuZCB1cyBtb3JlIGRhdGEgdGhhbiIKLQkJCQkJIiBleHBlY3RlZCAtIGFsbG93aW5nIHRyYW5zZmVyXG4iKTsKLQkJfQotCX0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19XUklUSU5HKQotCQl4ZmVyZnVuYyA9IGh3aWYtPm91dHB1dF9kYXRhOwotCWVsc2UKLQkJeGZlcmZ1bmMgPSBod2lmLT5pbnB1dF9kYXRhOwotCi0JaWYgKHBjLT5idWYpCi0JCXhmZXJmdW5jKGRyaXZlLCBOVUxMLCBwYy0+Y3VyX3BvcywgYmNvdW50KTsKLQllbHNlCi0JCWlkZV9mbG9wcHlfaW9fYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCwKLQkJCQkgICAgICAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKTsKLQotCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLwotCXBjLT54ZmVycmVkICs9IGJjb3VudDsKLQlwYy0+Y3VyX3BvcyArPSBiY291bnQ7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZWZsb3BweV9wY19pbnRyLCBJREVGTE9QUFlfV0FJVF9DTUQsIE5VTEwpOwotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3BjX2ludHIoZHJpdmUsIGZsb3BweS0+cGMsIGlkZWZsb3BweV9wY19pbnRyLAorCQkJICAgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMLCBpZGVmbG9wcHlfdXBkYXRlX2J1ZmZlcnMsCisJCQkgICBpZGVmbG9wcHlfcmV0cnlfcGMsIE5VTEwsIGlkZV9mbG9wcHlfaW9fYnVmZmVycyk7CiB9CiAKIC8qCi0gKiBUaGlzIGlzIHRoZSBvcmlnaW5hbCByb3V0aW5lIHRoYXQgZGlkIHRoZSBwYWNrZXQgdHJhbnNmZXIuCi0gKiBJdCBmYWlscyBhdCBoaWdoIHNwZWVkcyBvbiB0aGUgSW9tZWdhIFpJUCBkcml2ZSwgc28gdGhlcmUncyBhIHNsb3dlciB2ZXJzaW9uCi0gKiBmb3IgdGhhdCBkcml2ZSBiZWxvdy4gVGhlIGFsZ29yaXRobSBpcyBjaG9zZW4gYmFzZWQgb24gZHJpdmUgdHlwZQotICovCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JdTggaXJlYXNvbjsKLQotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsIGRyaXZlLCBEUlFfU1RBVCwgQlVTWV9TVEFULCBXQUlUX1JFQURZKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kICIKLQkJCQkiaW5pdGlhdGVkIHlldCBEUlEgaXNuJ3QgYXNzZXJ0ZWRcbiIpOwotCQlyZXR1cm4gc3RhcnRzdG9wOwotCX0KLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCWlmICgoaXJlYXNvbiAmIENEKSA9PSAwIHx8IChpcmVhc29uICYgSU8pKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgIgotCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0KLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlZmxvcHB5X3BjX2ludHIsIElERUZMT1BQWV9XQUlUX0NNRCwgTlVMTCk7Ci0KLQkvKiBTZW5kIHRoZSBhY3R1YWwgcGFja2V0ICovCi0JaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIGZsb3BweS0+cGMtPmMsIDEyKTsKLQotCXJldHVybiBpZGVfc3RhcnRlZDsKLX0KLQotCi0vKgogICogV2hhdCB3ZSBoYXZlIGhlcmUgaXMgYSBjbGFzc2ljIGNhc2Ugb2YgYSB0b3AgaGFsZiAvIGJvdHRvbSBoYWxmIGludGVycnVwdAogICogc2VydmljZSByb3V0aW5lLiBJbiBpbnRlcnJ1cHQgbW9kZSwgdGhlIGRldmljZSBzZW5kcyBhbiBpbnRlcnJ1cHQgdG8gc2lnbmFsCiAgKiB0aGF0IGl0IGlzIHJlYWR5IHRvIHJlY2VpdmUgYSBwYWNrZXQuIEhvd2V2ZXIsIHdlIG5lZWQgdG8gZGVsYXkgYWJvdXQgMi0zCiAgKiB0aWNrcyBiZWZvcmUgaXNzdWluZyB0aGUgcGFja2V0IG9yIHdlIGdldHMgaW4gdHJvdWJsZS4KLSAqCi0gKiBTbywgZm9sbG93IGNhcmVmdWxseS4gdHJhbnNmZXJfcGMxIGlzIGNhbGxlZCBhcyBhbiBpbnRlcnJ1cHQgKG9yIGRpcmVjdGx5KS4KLSAqIEluIGVpdGhlciBjYXNlLCB3aGVuIHRoZSBkZXZpY2Ugc2F5cyBpdCdzIHJlYWR5IGZvciBhIHBhY2tldCwgd2Ugc2NoZWR1bGUKLSAqIHRoZSBwYWNrZXQgdHJhbnNmZXIgdG8gb2NjdXIgYWJvdXQgMi0zIHRpY2tzIGxhdGVyIGluIHRyYW5zZmVyX3BjMi4KICAqLwotc3RhdGljIGludCBpZGVmbG9wcHlfdHJhbnNmZXJfcGMyKGlkZV9kcml2ZV90ICpkcml2ZSkKK3N0YXRpYyBpbnQgaWRlZmxvcHB5X3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIApAQCAtNTc1LDI0ICs0MTEsMTkgQEAKIAlyZXR1cm4gSURFRkxPUFBZX1dBSVRfQ01EOwogfQogCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZWZsb3BweV90cmFuc2Zlcl9wYzEoaWRlX2RyaXZlX3QgKmRyaXZlKQotewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCXU4IGlyZWFzb247CiAKLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtZmxvcHB5OiBTdHJhbmdlLCBwYWNrZXQgY29tbWFuZCAiCi0JCQkJImluaXRpYXRlZCB5ZXQgRFJRIGlzbid0IGFzc2VydGVkXG4iKTsKLQkJcmV0dXJuIHN0YXJ0c3RvcDsKLQl9Ci0JaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1mbG9wcHk6IChJTyxDb0QpICE9ICgwLDEpICIKLQkJCQkid2hpbGUgaXNzdWluZyBhIHBhY2tldCBjb21tYW5kXG4iKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQorLyoKKyAqIENhbGxlZCBhcyBhbiBpbnRlcnJ1cHQgKG9yIGRpcmVjdGx5KS4gV2hlbiB0aGUgZGV2aWNlIHNheXMgaXQncyByZWFkeSBmb3IgYQorICogcGFja2V0LCB3ZSBzY2hlZHVsZSB0aGUgcGFja2V0IHRyYW5zZmVyIHRvIG9jY3VyIGFib3V0IDItMyB0aWNrcyBsYXRlciBpbgorICogdHJhbnNmZXJfcGMuCisgKi8KK3N0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlZmxvcHB5X3N0YXJ0X3BjX3RyYW5zZmVyKGlkZV9kcml2ZV90ICpkcml2ZSkKK3sKKwlpZGVmbG9wcHlfZmxvcHB5X3QgKmZsb3BweSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKKwlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IGZsb3BweS0+cGM7CisJaWRlX2V4cGlyeV90ICpleHBpcnk7CisJdW5zaWduZWQgaW50IHRpbWVvdXQ7CisKIAkvKgogCSAqIFRoZSBmb2xsb3dpbmcgZGVsYXkgc29sdmVzIGEgcHJvYmxlbSB3aXRoIEFUQVBJIFppcCAxMDAgZHJpdmVzCiAJICogd2hlcmUgdGhlIEJ1c3kgZmxhZyB3YXMgYXBwYXJlbnRseSBiZWluZyBkZWFzc2VydGVkIGJlZm9yZSB0aGUKQEAgLTYwMSwxMCArNDMyLDE1IEBACiAJICogNDAgYW5kIDUwbXNlYyB3b3JrIHdlbGwuIGlkZWZsb3BweV9wY19pbnRyIHdpbGwgbm90IGJlIGFjdHVhbGx5CiAJICogdXNlZCB1bnRpbCBhZnRlciB0aGUgcGFja2V0IGlzIG1vdmVkIGluIGFib3V0IDUwIG1zZWMuCiAJICovCisJaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfWklQX0RSSVZFKSB7CisJCXRpbWVvdXQgPSBmbG9wcHktPnRpY2tzOworCQlleHBpcnkgPSAmaWRlZmxvcHB5X3RyYW5zZmVyX3BjOworCX0gZWxzZSB7CisJCXRpbWVvdXQgPSBJREVGTE9QUFlfV0FJVF9DTUQ7CisJCWV4cGlyeSA9IE5VTEw7CisJfQogCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlZmxvcHB5X3BjX2ludHIsIGZsb3BweS0+dGlja3MsCi0JCQkmaWRlZmxvcHB5X3RyYW5zZmVyX3BjMik7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfdHJhbnNmZXJfcGMoZHJpdmUsIHBjLCBpZGVmbG9wcHlfcGNfaW50ciwgdGltZW91dCwgZXhwaXJ5KTsKIH0KIAogc3RhdGljIHZvaWQgaWRlX2Zsb3BweV9yZXBvcnRfZXJyb3IoaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHksCkBAIC02MjcsMTAgKzQ2Myw2IEBACiAJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCWlkZWZsb3BweV9mbG9wcHlfdCAqZmxvcHB5ID0gZHJpdmUtPmRyaXZlcl9kYXRhOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpZGVfaGFuZGxlcl90ICpwa3RfeGZlcl9yb3V0aW5lOwotCXUxNiBiY291bnQ7Ci0JdTggZG1hOwogCiAJaWYgKGZsb3BweS0+ZmFpbGVkX3BjID09IE5VTEwgJiYKIAkgICAgcGMtPmNbMF0gIT0gR1BDTURfUkVRVUVTVF9TRU5TRSkKQEAgLTY0NSw2NSArNDc3LDE2IEBACiAJCXBjLT5lcnJvciA9IElERUZMT1BQWV9FUlJPUl9HRU5FUkFMOwogCiAJCWZsb3BweS0+ZmFpbGVkX3BjID0gTlVMTDsKLQkJcGMtPmlkZWZsb3BweV9jYWxsYmFjayhkcml2ZSk7CisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CiAJCXJldHVybiBpZGVfc3RvcHBlZDsKIAl9CiAKIAlkZWJ1Z19sb2coIlJldHJ5IG51bWJlciAtICVkXG4iLCBwYy0+cmV0cmllcyk7CiAKIAlwYy0+cmV0cmllcysrOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOwogCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfRVJST1I7Ci0JCWlkZV9kbWFfb2ZmKGRyaXZlKTsKLQl9Ci0JZG1hID0gMDsKLQotCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19ETUFfUkVDT01NRU5ERUQpICYmIGRyaXZlLT51c2luZ19kbWEpCi0JCWRtYSA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0sgfAotCQkJICAgSURFX1RGTEFHX09VVF9ERVZJQ0UsIGJjb3VudCwgZG1hKTsKLQotCWlmIChkbWEpIHsKLQkJLyogQmVnaW4gRE1BLCBpZiBuZWNlc3NhcnkgKi8KLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTOwotCQlod2lmLT5kbWFfb3BzLT5kbWFfc3RhcnQoZHJpdmUpOwotCX0KLQotCS8qIENhbiB3ZSB0cmFuc2ZlciB0aGUgcGFja2V0IHdoZW4gd2UgZ2V0IHRoZSBpbnRlcnJ1cHQgb3Igd2FpdD8gKi8KLQlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX1pJUF9EUklWRSkgewotCQkvKiB3YWl0ICovCi0JCXBrdF94ZmVyX3JvdXRpbmUgPSAmaWRlZmxvcHB5X3RyYW5zZmVyX3BjMTsKLQl9IGVsc2UgewotCQkvKiBpbW1lZGlhdGUgKi8KLQkJcGt0X3hmZXJfcm91dGluZSA9ICZpZGVmbG9wcHlfdHJhbnNmZXJfcGM7Ci0JfQotCi0JaWYgKGZsb3BweS0+ZmxhZ3MgJiBJREVGTE9QUFlfRkxBR19EUlFfSU5URVJSVVBUKSB7Ci0JCS8qIElzc3VlIHRoZSBwYWNrZXQgY29tbWFuZCAqLwotCQlpZGVfZXhlY3V0ZV9jb21tYW5kKGRyaXZlLCBXSU5fUEFDS0VUQ01ELAotCQkJCXBrdF94ZmVyX3JvdXRpbmUsCi0JCQkJSURFRkxPUFBZX1dBSVRfQ01ELAotCQkJCU5VTEwpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCi0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gKCpwa3RfeGZlcl9yb3V0aW5lKSAoZHJpdmUpOwotCX0KLX0KLQotc3RhdGljIHZvaWQgaWRlZmxvcHB5X3J3X2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlkZWJ1Z19sb2coIlJlYWNoZWQgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlkZWZsb3BweV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Ci0JcmV0dXJuOworCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGVmbG9wcHlfc3RhcnRfcGNfdHJhbnNmZXIsCisJCQkgICAgSURFRkxPUFBZX1dBSVRfQ01ELCBOVUxMKTsKIH0KIAogc3RhdGljIHZvaWQgaWRlZmxvcHB5X2NyZWF0ZV9wcmV2ZW50X2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgaW50IHByZXZlbnQpCkBAIC04MDAsMjEgKzU4MywxOSBAQAogCXB1dF91bmFsaWduZWQoY3B1X3RvX2JlMTYoYmxvY2tzKSwgKHVuc2lnbmVkIHNob3J0ICopJnBjLT5jWzddKTsKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGJsb2NrKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbMl0pOwogCi0JcGMtPmlkZWZsb3BweV9jYWxsYmFjayA9ICZpZGVmbG9wcHlfcndfY2FsbGJhY2s7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJfY291bnQgPSBjbWQgPT0gUkVBRCA/IDAgOiBycS0+YmlvLT5iaV9zaXplOwogCWlmIChycS0+Y21kX2ZsYWdzICYgUkVRX1JXKQogCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOwogCXBjLT5idWYgPSBOVUxMOwogCXBjLT5yZXFfeGZlciA9IHBjLT5idWZfc2l6ZSA9IGJsb2NrcyAqIGZsb3BweS0+YmxvY2tfc2l6ZTsKLQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfUkVDT01NRU5ERUQ7CisJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwogfQogCiBzdGF0aWMgdm9pZCBpZGVmbG9wcHlfYmxvY2twY19jbWQoaWRlZmxvcHB5X2Zsb3BweV90ICpmbG9wcHksCiAJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7CiAJaWRlZmxvcHB5X2luaXRfcGMocGMpOwotCXBjLT5pZGVmbG9wcHlfY2FsbGJhY2sgPSAmaWRlZmxvcHB5X3J3X2NhbGxiYWNrOwogCW1lbWNweShwYy0+YywgcnEtPmNtZCwgc2l6ZW9mKHBjLT5jKSk7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJfY291bnQgPSBycS0+ZGF0YV9sZW47CkBAIC04MjIsNyArNjAzLDcgQEAKIAkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKIAlwYy0+YnVmID0gcnEtPmRhdGE7CiAJaWYgKHJxLT5iaW8pCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwogCS8qCiAJICogcG9zc2libHkgcHJvYmxlbWF0aWMsIGRvZXNuJ3QgbG9vayBsaWtlIGlkZS1mbG9wcHkgY29ycmVjdGx5CiAJICogaGFuZGxlZCBzY2F0dGVyZWQgcmVxdWVzdHMgaWYgZG1hIGZhaWxzLi4uCkBAIC04NzUsNyArNjU2LDE0IEBACiAJCXJldHVybiBpZGVfc3RvcHBlZDsKIAl9CiAKKwlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX0RSUV9JTlRFUlJVUFQpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RSUV9JTlRFUlJVUFQ7CisKKwlpZiAoZmxvcHB5LT5mbGFncyAmIElERUZMT1BQWV9GTEFHX1pJUF9EUklWRSkKKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfWklQX0RSSVZFOworCiAJcGMtPnJxID0gcnE7CisKIAlyZXR1cm4gaWRlZmxvcHB5X2lzc3VlX3BjKGRyaXZlLCBwYyk7CiB9CiAKQEAgLTg4NiwxNCArNjc0LDE2IEBACiBzdGF0aWMgaW50IGlkZWZsb3BweV9xdWV1ZV9wY190YWlsKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJc3RydWN0IGlkZV9mbG9wcHlfb2JqICpmbG9wcHkgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAotCWlkZV9pbml0X2RyaXZlX2NtZCgmcnEpOwotCXJxLmJ1ZmZlciA9IChjaGFyICopIHBjOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKLQlycS5ycV9kaXNrID0gZmxvcHB5LT5kaXNrOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmJ1ZmZlciA9IChjaGFyICopIHBjOworCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CisJZXJyb3IgPSBibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIGZsb3BweS0+ZGlzaywgcnEsIDApOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKLQlyZXR1cm4gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJcmV0dXJuIGVycm9yOwogfQogCiAvKgpAQCAtMTYyMiwxMSArMTQxMiw2IEBACiAJCQkJIiBvZiBpZGUtZmxvcHB5XG4iLCBkcml2ZS0+bmFtZSk7CiAJCWdvdG8gZmFpbGVkOwogCX0KLQlpZiAoZHJpdmUtPnNjc2kpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLWZsb3BweTogcGFzc2luZyBkcml2ZSAlcyB0byBpZGUtc2NzaSIKLQkJCQkiIGVtdWxhdGlvbi5cbiIsIGRyaXZlLT5uYW1lKTsKLQkJZ290byBmYWlsZWQ7Ci0JfQogCWZsb3BweSA9IGt6YWxsb2Moc2l6ZW9mKGlkZWZsb3BweV9mbG9wcHlfdCksIEdGUF9LRVJORUwpOwogCWlmICghZmxvcHB5KSB7CiAJCXByaW50ayhLRVJOX0VSUiAiaWRlLWZsb3BweTogJXM6IENhbid0IGFsbG9jYXRlIGEgZmxvcHB5IgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLWlvLmMgYi9kcml2ZXJzL2lkZS9pZGUtaW8uYwppbmRleCA2OTY1MjUzLi4yODA1Nzc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtaW8uYworKysgYi9kcml2ZXJzL2lkZS9pZGUtaW8uYwpAQCAtMzU4LDMxICszNTgsNiBAQAogCiBFWFBPUlRfU1lNQk9MKGlkZV9lbmRfZHJpdmVfY21kKTsKIAotLyoqCi0gKgl0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YQktCWZsdXNoIGp1bmsKLSAqCUBkcml2ZTogZHJpdmUgdG8gZmx1c2gKLSAqCi0gKgl0cnlfdG9fZmx1c2hfbGVmdG92ZXJfZGF0YSgpIGlzIGludm9rZWQgaW4gcmVzcG9uc2UgdG8gYSBkcml2ZQotICoJdW5leHBlY3RlZGx5IGhhdmluZyBpdHMgRFJRX1NUQVQgYml0IHNldC4gIEFzIGFuIGFsdGVybmF0aXZlIHRvCi0gKglyZXNldHRpbmcgdGhlIGRyaXZlLCB0aGlzIHJvdXRpbmUgdHJpZXMgdG8gY2xlYXIgdGhlIGNvbmRpdGlvbgotICoJYnkgcmVhZCBhIHNlY3RvcidzIHdvcnRoIG9mIGRhdGEgZnJvbSB0aGUgZHJpdmUuICBPZiBjb3Vyc2UsCi0gKgl0aGlzIG1heSBub3QgaGVscCBpZiB0aGUgZHJpdmUgaXMgKndhaXRpbmcqIGZvciBkYXRhIGZyb20gKnVzKi4KLSAqLwotc3RhdGljIHZvaWQgdHJ5X3RvX2ZsdXNoX2xlZnRvdmVyX2RhdGEgKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpbnQgaSA9IChkcml2ZS0+bXVsdF9jb3VudCA/IGRyaXZlLT5tdWx0X2NvdW50IDogMSkgKiBTRUNUT1JfV09SRFM7Ci0KLQlpZiAoZHJpdmUtPm1lZGlhICE9IGlkZV9kaXNrKQotCQlyZXR1cm47Ci0Jd2hpbGUgKGkgPiAwKSB7Ci0JCXUzMiBidWZmZXJbMTZdOwotCQl1MzIgd2NvdW50ID0gKGkgPiAxNikgPyAxNiA6IGk7Ci0KLQkJaSAtPSB3Y291bnQ7Ci0JCWRyaXZlLT5od2lmLT5pbnB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWZmZXIsIHdjb3VudCAqIDQpOwotCX0KLX0KLQogc3RhdGljIHZvaWQgaWRlX2tpbGxfcnEoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7CiAJaWYgKHJxLT5ycV9kaXNrKSB7CkBAIC00MjIsOCArMzk3LDExIEBACiAJfQogCiAJaWYgKChzdGF0ICYgRFJRX1NUQVQpICYmIHJxX2RhdGFfZGlyKHJxKSA9PSBSRUFEICYmCi0JICAgIChod2lmLT5ob3N0X2ZsYWdzICYgSURFX0hGTEFHX0VSUk9SX1NUT1BTX0ZJRk8pID09IDApCi0JCXRyeV90b19mbHVzaF9sZWZ0b3Zlcl9kYXRhKGRyaXZlKTsKKwkgICAgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfRVJST1JfU1RPUFNfRklGTykgPT0gMCkgeworCQlpbnQgbnNlY3QgPSBkcml2ZS0+bXVsdF9jb3VudCA/IGRyaXZlLT5tdWx0X2NvdW50IDogMTsKKworCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCBSRUFELCBuc2VjdCAqIFNFQ1RPUl9TSVpFKTsKKwl9CiAKIAlpZiAocnEtPmVycm9ycyA+PSBFUlJPUl9NQVggfHwgYmxrX25vcmV0cnlfcmVxdWVzdChycSkpIHsKIAkJaWRlX2tpbGxfcnEoZHJpdmUsIHJxKTsKQEAgLTQ1OSw3ICs0MzcsNyBAQAogCiAJaWYgKGlkZV9yZWFkX3N0YXR1cyhkcml2ZSkgJiAoQlVTWV9TVEFUIHwgRFJRX1NUQVQpKQogCQkvKiBmb3JjZSBhbiBhYm9ydCAqLwotCQlod2lmLT5PVVRCU1lOQyhkcml2ZSwgV0lOX0lETEVJTU1FRElBVEUsCisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9JRExFSU1NRURJQVRFLAogCQkJICAgICAgIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAKIAlpZiAocnEtPmVycm9ycyA+PSBFUlJPUl9NQVgpIHsKQEAgLTE1MzksODggKzE1MTcsMzAgQEAKIH0KIAogLyoqCi0gKglpZGVfaW5pdF9kcml2ZV9jbWQJLQlpbml0aWFsaXplIGEgZHJpdmUgY29tbWFuZCByZXF1ZXN0Ci0gKglAcnE6IHJlcXVlc3Qgb2JqZWN0Ci0gKgotICoJSW5pdGlhbGl6ZSBhIHJlcXVlc3QgYmVmb3JlIHdlIGZpbGwgaXQgaW4gYW5kIHNlbmQgaXQgZG93biB0bwotICoJaWRlX2RvX2RyaXZlX2NtZC4gQ29tbWFuZHMgbXVzdCBiZSBzZXQgdXAgYnkgdGhpcyBmdW5jdGlvbi4gUmlnaHQKLSAqCW5vdyBpdCBkb2Vzbid0IGRvIGEgbG90LCBidXQgaWYgdGhhdCBjaGFuZ2VzIGFidXNlcnMgd2lsbCBoYXZlIGEKLSAqCW5hc3R5IHN1cnByaXNlLgotICovCi0KLXZvaWQgaWRlX2luaXRfZHJpdmVfY21kIChzdHJ1Y3QgcmVxdWVzdCAqcnEpCi17Ci0JYmxrX3JxX2luaXQoTlVMTCwgcnEpOwotfQotCi1FWFBPUlRfU1lNQk9MKGlkZV9pbml0X2RyaXZlX2NtZCk7Ci0KLS8qKgogICoJaWRlX2RvX2RyaXZlX2NtZAktCWlzc3VlIElERSBzcGVjaWFsIGNvbW1hbmQKICAqCUBkcml2ZTogZGV2aWNlIHRvIGlzc3VlIGNvbW1hbmQKICAqCUBycTogcmVxdWVzdCB0byBpc3N1ZQotICoJQGFjdGlvbjogYWN0aW9uIGZvciBwcm9jZXNzaW5nCiAgKgogICoJVGhpcyBmdW5jdGlvbiBpc3N1ZXMgYSBzcGVjaWFsIElERSBkZXZpY2UgcmVxdWVzdAogICoJb250byB0aGUgcmVxdWVzdCBxdWV1ZS4KICAqCi0gKglJZiBhY3Rpb24gaXMgaWRlX3dhaXQsIHRoZW4gdGhlIHJxIGlzIHF1ZXVlZCBhdCB0aGUgZW5kIG9mIHRoZQotICoJcmVxdWVzdCBxdWV1ZSwgYW5kIHRoZSBmdW5jdGlvbiBzbGVlcHMgdW50aWwgaXQgaGFzIGJlZW4gcHJvY2Vzc2VkLgotICoJVGhpcyBpcyBmb3IgdXNlIHdoZW4gaW52b2tlZCBmcm9tIGFuIGlvY3RsIGhhbmRsZXIuCi0gKgotICoJSWYgYWN0aW9uIGlzIGlkZV9wcmVlbXB0LCB0aGVuIHRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGhlYWQgb2YKLSAqCXRoZSByZXF1ZXN0IHF1ZXVlLCBkaXNwbGFjaW5nIHRoZSBjdXJyZW50bHktYmVpbmctcHJvY2Vzc2VkCi0gKglyZXF1ZXN0IGFuZCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nCi0gKglmb3IgdGhlIG5ldyBycSB0byBiZSBjb21wbGV0ZWQuICBUaGlzIGlzIFZFUlkgREFOR0VST1VTLCBhbmQgaXMKLSAqCWludGVuZGVkIGZvciBjYXJlZnVsIHVzZSBieSB0aGUgQVRBUEkgdGFwZS9jZHJvbSBkcml2ZXIgY29kZS4KLSAqCi0gKglJZiBhY3Rpb24gaXMgaWRlX2VuZCwgdGhlbiB0aGUgcnEgaXMgcXVldWVkIGF0IHRoZSBlbmQgb2YgdGhlCi0gKglyZXF1ZXN0IHF1ZXVlLCBhbmQgdGhlIGZ1bmN0aW9uIHJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nCi0gKglmb3IgdGhlIG5ldyBycSB0byBiZSBjb21wbGV0ZWQuIFRoaXMgaXMgYWdhaW4gaW50ZW5kZWQgZm9yIGNhcmVmdWwKLSAqCXVzZSBieSB0aGUgQVRBUEkgdGFwZS9jZHJvbSBkcml2ZXIgY29kZS4KKyAqCXRoZSBycSBpcyBxdWV1ZWQgYXQgdGhlIGhlYWQgb2YgdGhlIHJlcXVlc3QgcXVldWUsIGRpc3BsYWNpbmcKKyAqCXRoZSBjdXJyZW50bHktYmVpbmctcHJvY2Vzc2VkIHJlcXVlc3QgYW5kIHRoaXMgZnVuY3Rpb24KKyAqCXJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nIGZvciB0aGUgbmV3IHJxIHRvIGJlCisgKgljb21wbGV0ZWQuICBUaGlzIGlzIFZFUlkgREFOR0VST1VTLCBhbmQgaXMgaW50ZW5kZWQgZm9yCisgKgljYXJlZnVsIHVzZSBieSB0aGUgQVRBUEkgdGFwZS9jZHJvbSBkcml2ZXIgY29kZS4KICAqLwotIAotaW50IGlkZV9kb19kcml2ZV9jbWQgKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCBpZGVfYWN0aW9uX3QgYWN0aW9uKQorCit2b2lkIGlkZV9kb19kcml2ZV9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpZGVfaHdncm91cF90ICpod2dyb3VwID0gSFdHUk9VUChkcml2ZSk7Ci0JREVDTEFSRV9DT01QTEVUSU9OX09OU1RBQ0sod2FpdCk7Ci0JaW50IHdoZXJlID0gRUxFVkFUT1JfSU5TRVJUX0JBQ0ssIGVycjsKLQlpbnQgbXVzdF93YWl0ID0gKGFjdGlvbiA9PSBpZGVfd2FpdCB8fCBhY3Rpb24gPT0gaWRlX2hlYWRfd2FpdCk7Ci0KLQlycS0+ZXJyb3JzID0gMDsKLQotCS8qCi0JICogd2UgbmVlZCB0byBob2xkIGFuIGV4dHJhIHJlZmVyZW5jZSB0byByZXF1ZXN0IGZvciBzYWZlIGluc3BlY3Rpb24KLQkgKiBhZnRlciBjb21wbGV0aW9uCi0JICovCi0JaWYgKG11c3Rfd2FpdCkgewotCQlycS0+cmVmX2NvdW50Kys7Ci0JCXJxLT5lbmRfaW9fZGF0YSA9ICZ3YWl0OwotCQlycS0+ZW5kX2lvID0gYmxrX2VuZF9zeW5jX3JxOwotCX0KIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpZGVfbG9jaywgZmxhZ3MpOwotCWlmIChhY3Rpb24gPT0gaWRlX3ByZWVtcHQpCi0JCWh3Z3JvdXAtPnJxID0gTlVMTDsKLQlpZiAoYWN0aW9uID09IGlkZV9wcmVlbXB0IHx8IGFjdGlvbiA9PSBpZGVfaGVhZF93YWl0KSB7Ci0JCXdoZXJlID0gRUxFVkFUT1JfSU5TRVJUX0ZST05UOwotCQlycS0+Y21kX2ZsYWdzIHw9IFJFUV9QUkVFTVBUOwotCX0KLQlfX2Vsdl9hZGRfcmVxdWVzdChkcml2ZS0+cXVldWUsIHJxLCB3aGVyZSwgMCk7Ci0JaWRlX2RvX3JlcXVlc3QoaHdncm91cCwgSURFX05PX0lSUSk7CisJaHdncm91cC0+cnEgPSBOVUxMOworCV9fZWx2X2FkZF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgcnEsIEVMRVZBVE9SX0lOU0VSVF9GUk9OVCwgMSk7CisJX19nZW5lcmljX3VucGx1Z19kZXZpY2UoZHJpdmUtPnF1ZXVlKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZGVfbG9jaywgZmxhZ3MpOwotCi0JZXJyID0gMDsKLQlpZiAobXVzdF93YWl0KSB7Ci0JCXdhaXRfZm9yX2NvbXBsZXRpb24oJndhaXQpOwotCQlpZiAocnEtPmVycm9ycykKLQkJCWVyciA9IC1FSU87Ci0KLQkJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKLQl9Ci0KLQlyZXR1cm4gZXJyOwogfQogCiBFWFBPUlRfU1lNQk9MKGlkZV9kb19kcml2ZV9jbWQpOwpAQCAtMTYzNyw2ICsxNTU3LDggQEAKIAl0YXNrLnRmLmxiYWggICAgPSAoYmNvdW50ID4+IDgpICYgMHhmZjsKIAogCWlkZV90Zl9kdW1wKGRyaXZlLT5uYW1lLCAmdGFzay50Zik7CisJaWRlX3NldF9pcnEoZHJpdmUsIDEpOworCVNFTEVDVF9NQVNLKGRyaXZlLCAwKTsKIAlkcml2ZS0+aHdpZi0+dGZfbG9hZChkcml2ZSwgJnRhc2spOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jIGIvZHJpdmVycy9pZGUvaWRlLWlvcHMuYwppbmRleCAwZGFmOTIzLi44MGFkNGYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtaW9wcy5jCisrKyBiL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKQEAgLTQyLDcgKzQyLDcgQEAKIAlvdXRiKHZhbCwgcG9ydCk7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZV9vdXRic3luYyAoaWRlX2RyaXZlX3QgKmRyaXZlLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpCitzdGF0aWMgdm9pZCBpZGVfb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQogewogCW91dGIoYWRkciwgcG9ydCk7CiB9CkBAIC02OCw3ICs2OCw3IEBACiAJd3JpdGViKHZhbHVlLCAodm9pZCBfX2lvbWVtICopIHBvcnQpOwogfQogCi1zdGF0aWMgdm9pZCBpZGVfbW1fb3V0YnN5bmMgKGlkZV9kcml2ZV90ICpkcml2ZSwgdTggdmFsdWUsIHVuc2lnbmVkIGxvbmcgcG9ydCkKK3N0YXRpYyB2b2lkIGlkZV9tbV9vdXRic3luYyhpZGVfaHdpZl90ICpod2lmLCB1OCB2YWx1ZSwgdW5zaWduZWQgbG9uZyBwb3J0KQogewogCXdyaXRlYih2YWx1ZSwgKHZvaWQgX19pb21lbSAqKSBwb3J0KTsKIH0KQEAgLTk1LDcgKzk1LDcgQEAKIAlod2lmLT5PVVRCKGRyaXZlLT5zZWxlY3QuYWxsLCBod2lmLT5pb19wb3J0cy5kZXZpY2VfYWRkcik7CiB9CiAKLXN0YXRpYyB2b2lkIFNFTEVDVF9NQVNLKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IG1hc2spCit2b2lkIFNFTEVDVF9NQVNLKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IG1hc2spCiB7CiAJY29uc3Qgc3RydWN0IGlkZV9wb3J0X29wcyAqcG9ydF9vcHMgPSBkcml2ZS0+aHdpZi0+cG9ydF9vcHM7CiAKQEAgLTEyMCwxMSArMTIwLDYgQEAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRkxBR0dFRCkKIAkJSElISSA9IDB4RkY7CiAKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7Ci0KLQlpZiAoKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX05PX1NFTEVDVF9NQVNLKSA9PSAwKQotCQlTRUxFQ1RfTUFTSyhkcml2ZSwgMCk7Ci0KIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfT1VUX0RBVEEpIHsKIAkJdTE2IGRhdGEgPSAodGYtPmhvYl9kYXRhIDw8IDgpIHwgdGYtPmRhdGE7CiAKQEAgLTE5MSw3ICsxODYsNyBAQAogCX0KIAogCS8qIGJlIHN1cmUgd2UncmUgbG9va2luZyBhdCB0aGUgbG93IG9yZGVyIGJpdHMgKi8KLQl0Zl9vdXRiKGRyaXZlLT5jdGwgJiB+MHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwl0Zl9vdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSB0Zl9pbmIoaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwpAQCAtMjA1LDcgKzIwMCw3IEBACiAJCXRmLT5kZXZpY2UgPSB0Zl9pbmIoaW9fcG9ydHMtPmRldmljZV9hZGRyKTsKIAogCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19MQkE0OCkgewotCQl0Zl9vdXRiKGRyaXZlLT5jdGwgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQl0Zl9vdXRiKEFUQV9ERVZDVExfT0JTIHwgMHg4MCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAogCQlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fSE9CX0ZFQVRVUkUpCiAJCQl0Zi0+aG9iX2ZlYXR1cmUgPSB0Zl9pbmIoaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7CkBAIC02ODksOSArNjg0LDkgQEAKIAkgKi8KIAogCVNFTEVDVF9NQVNLKGRyaXZlLCAxKTsKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7CisJaWRlX3NldF9pcnEoZHJpdmUsIDApOwogCW1zbGVlcCg1MCk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JREVOVElGWSwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURFTlRJRlksIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsKIAlkbyB7CiAJCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIHRpbWVvdXQpKSB7CkBAIC03NDQsOSArNzM5LDYgQEAKIAlpbnQgZXJyb3IgPSAwOwogCXU4IHN0YXQ7CiAKLS8vCXdoaWxlIChIV0dST1VQKGRyaXZlKS0+YnVzeSkKLS8vCQltc2xlZXAoNTApOwotCiAjaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE1BCiAJaWYgKGh3aWYtPmRtYV9vcHMpCS8qIGNoZWNrIGlmIGhvc3Qgc3VwcG9ydHMgRE1BICovCiAJCWh3aWYtPmRtYV9vcHMtPmRtYV9ob3N0X3NldChkcml2ZSwgMCk7CkBAIC03ODEsNyArNzczLDcgQEAKIAlpZGVfc2V0X2lycShkcml2ZSwgMCk7CiAJaHdpZi0+T1VUQihzcGVlZCwgaW9fcG9ydHMtPm5zZWN0X2FkZHIpOwogCWh3aWYtPk9VVEIoU0VURkVBVFVSRVNfWEZFUiwgaW9fcG9ydHMtPmZlYXR1cmVfYWRkcik7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9TRVRGRUFUVVJFUywgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1NFVEZFQVRVUkVTLCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKIAlpZiAoZHJpdmUtPnF1aXJrX2xpc3QgPT0gMikKIAkJaWRlX3NldF9pcnEoZHJpdmUsIDEpOwogCkBAIC04ODksNyArODgxLDcgQEAKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZpZGVfbG9jaywgZmxhZ3MpOwogCV9faWRlX3NldF9oYW5kbGVyKGRyaXZlLCBoYW5kbGVyLCB0aW1lb3V0LCBleHBpcnkpOwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBjbWQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgY21kLCBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCS8qCiAJICogRHJpdmUgdGFrZXMgNDAwblMgdG8gcmVzcG9uZCwgd2UgbXVzdCBhdm9pZCB0aGUgSVJRIGJlaW5nCiAJICogc2VydmljZWQgYmVmb3JlIHRoYXQuCkBAIC05MDcsNyArODk5LDcgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmlkZV9sb2NrLCBmbGFncyk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9QQUNLRVRDTUQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgV0lOX1BBQ0tFVENNRCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAluZGVsYXkoNDAwKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpZGVfbG9jaywgZmxhZ3MpOwogfQpAQCAtMTEwMiw3ICsxMDk0LDcgQEAKIAkJcHJlX3Jlc2V0KGRyaXZlKTsKIAkJU0VMRUNUX0RSSVZFKGRyaXZlKTsKIAkJdWRlbGF5ICgyMCk7Ci0JCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIFdJTl9TUlNULCBpb19wb3J0cy0+Y29tbWFuZF9hZGRyKTsKIAkJbmRlbGF5KDQwMCk7CiAJCWh3Z3JvdXAtPnBvbGxfdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsKIAkJaHdncm91cC0+cG9sbGluZyA9IDE7CkBAIC0xMTMzLDE0ICsxMTI1LDE0IEBACiAJICogcmVjb3ZlciBmcm9tIHJlc2V0IHZlcnkgcXVpY2tseSwgc2F2aW5nIHVzIHRoZSBmaXJzdCA1MG1zIHdhaXQgdGltZS4KIAkgKi8KIAkvKiBzZXQgU1JTVCBhbmQgbklFTiAqLwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBkcml2ZS0+Y3RsfDYsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgQVRBX0RFVkNUTF9PQlMgfCA2LCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCS8qIG1vcmUgdGhhbiBlbm91Z2ggdGltZSAqLwogCXVkZWxheSgxMCk7CiAJaWYgKGRyaXZlLT5xdWlya19saXN0ID09IDIpCi0JCWN0bCA9IGRyaXZlLT5jdGw7CS8qIGNsZWFyIFNSU1QgYW5kIG5JRU4gKi8KKwkJY3RsID0gQVRBX0RFVkNUTF9PQlM7CQkvKiBjbGVhciBTUlNUIGFuZCBuSUVOICovCiAJZWxzZQotCQljdGwgPSBkcml2ZS0+Y3RsIHwgMjsJLyogY2xlYXIgU1JTVCwgbGVhdmUgbklFTiAqLwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBjdGwsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCWN0bCA9IEFUQV9ERVZDVExfT0JTIHwgMjsJLyogY2xlYXIgU1JTVCwgbGVhdmUgbklFTiAqLworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIGN0bCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKIAkvKiBtb3JlIHRoYW4gZW5vdWdoIHRpbWUgKi8KIAl1ZGVsYXkoMTApOwogCWh3Z3JvdXAtPnBvbGxfdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jIGIvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKaW5kZXggMjZlNjhiNi4uZDIxZTUxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLXByb2JlLmMKQEAgLTI5Myw3ICsyOTMsNyBAQAogCQlod2lmLT5PVVRCKDAsIGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwogCiAJLyogYXNrIGRyaXZlIGZvciBJRCAqLwotCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBjbWQsIGlvX3BvcnRzLT5jb21tYW5kX2FkZHIpOworCWh3aWYtPk9VVEJTWU5DKGh3aWYsIGNtZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAogCXRpbWVvdXQgPSAoKGNtZCA9PSBXSU5fSURFTlRJRlkpID8gV0FJVF9XT1JTVENBU0UgOiBXQUlUX1BJREVOVElGWSkgLyAyOwogCXRpbWVvdXQgKz0gamlmZmllczsKQEAgLTQ3OCw5ICs0NzgsOSBAQAogCQkJcHJpbnRrKEtFUk5fRVJSICIlczogbm8gcmVzcG9uc2UgKHN0YXR1cyA9IDB4JTAyeCksICIKIAkJCQkJInJlc2V0dGluZyBkcml2ZVxuIiwgZHJpdmUtPm5hbWUsIHN0YXQpOwogCQkJbXNsZWVwKDUwKTsKLQkJCWh3aWYtPk9VVEIoZHJpdmUtPnNlbGVjdC5hbGwsIGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CisJCQlTRUxFQ1RfRFJJVkUoZHJpdmUpOwogCQkJbXNsZWVwKDUwKTsKLQkJCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CisJCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fU1JTVCwgaW9fcG9ydHMtPmNvbW1hbmRfYWRkcik7CiAJCQkodm9pZClpZGVfYnVzeV9zbGVlcChod2lmKTsKIAkJCXJjID0gdHJ5X3RvX2lkZW50aWZ5KGRyaXZlLCBjbWQpOwogCQl9CkBAIC01MTYsNyArNTE2LDcgQEAKIAlwcmludGsoIiVzOiBlbmFibGluZyAlcyAtLSAiLCBod2lmLT5uYW1lLCBkcml2ZS0+aWQtPm1vZGVsKTsKIAlTRUxFQ1RfRFJJVkUoZHJpdmUpOwogCW1zbGVlcCg1MCk7Ci0JaHdpZi0+T1VUQlNZTkMoZHJpdmUsIEVYQUJZVEVfRU5BQkxFX05FU1QsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CisJaHdpZi0+T1VUQlNZTkMoaHdpZiwgRVhBQllURV9FTkFCTEVfTkVTVCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKIAogCWlmIChpZGVfYnVzeV9zbGVlcChod2lmKSkgewogCQlwcmludGsoS0VSTl9DT05UICJmYWlsZWQgKHRpbWVvdXQpXG4iKTsKQEAgLTEwNjUsNyArMTA2NSw3IEBACiAKIAkJaWYgKGlvX3BvcnRzLT5jdGxfYWRkcikKIAkJCS8qIGNsZWFyIG5JRU4gKi8KLQkJCWh3aWYtPk9VVEIoMHgwOCwgaW9fcG9ydHMtPmN0bF9hZGRyKTsKKwkJCWh3aWYtPk9VVEJTWU5DKGh3aWYsIEFUQV9ERVZDVExfT0JTLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmIChyZXF1ZXN0X2lycShod2lmLT5pcnEsJmlkZV9pbnRyLHNhLGh3aWYtPm5hbWUsaHdncm91cCkpCiAJICAgICAgIAkJZ290byBvdXRfdW5saW5rOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLXRhcGUuYyBiL2RyaXZlcnMvaWRlL2lkZS10YXBlLmMKaW5kZXggMWUxZjI2My4uZjljZjE2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLXRhcGUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtdGFwZS5jCkBAIC0xNDQsOSArMTQ0LDYgQEAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiBFbmQgb2YgdHVuYWJsZSBwYXJhbWV0ZXJzICoqKioqKioqKioqKioqKioqKioqKioqLwogCi0vKiBSZWFkL1dyaXRlIGVycm9yIHNpbXVsYXRpb24gKi8KLSNkZWZpbmUgU0lNVUxBVEVfRVJST1JTCQkJMAotCiAvKiB0YXBlIGRpcmVjdGlvbnMgKi8KIGVudW0gewogCUlERVRBUEVfRElSX05PTkUgID0gKDEgPDwgMCksCkBAIC00NDIsNyArNDM5LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCitzdGF0aWMgdm9pZCBpZGV0YXBlX3VwZGF0ZV9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCiB7CiAJc3RydWN0IGlkZXRhcGVfYmggKmJoID0gcGMtPmJoOwogCWludCBjb3VudDsKQEAgLTUwNiwxOCArNTAzLDYgQEAKIAlyZXR1cm4gKCZ0YXBlLT5ycV9zdGFja1t0YXBlLT5ycV9zdGFja19pbmRleCsrXSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlkZXRhcGVfaW5pdF9wYyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKLXsKLQltZW1zZXQocGMtPmMsIDAsIDEyKTsKLQlwYy0+cmV0cmllcyA9IDA7Ci0JcGMtPmZsYWdzID0gMDsKLQlwYy0+cmVxX3hmZXIgPSAwOwotCXBjLT5idWYgPSBwYy0+cGNfYnVmOwotCXBjLT5idWZfc2l6ZSA9IElERVRBUEVfUENfQlVGRkVSX1NJWkU7Ci0JcGMtPmJoID0gTlVMTDsKLQlwYy0+Yl9kYXRhID0gTlVMTDsKLX0KLQogLyoKICAqIGNhbGxlZCBvbiBlYWNoIGZhaWxlZCBwYWNrZXQgY29tbWFuZCByZXRyeSB0byBhbmFseXplIHRoZSByZXF1ZXN0IHNlbnNlLiBXZQogICogY3VycmVudGx5IGRvIG5vdCB1dGlsaXplIHRoaXMgaW5mb3JtYXRpb24uCkBAIC01MzgsOCArNTIzLDggQEAKIAlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfRVJST1IpIHsKIAkJcGMtPnhmZXJyZWQgPSBwYy0+cmVxX3hmZXIgLQogCQkJdGFwZS0+YmxrX3NpemUgKgotCQkJYmUzMl90b19jcHUoZ2V0X3VuYWxpZ25lZCgodTMyICopJnNlbnNlWzNdKSk7Ci0JCWlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMocGMpOworCQkJZ2V0X3VuYWxpZ25lZF9iZTMyKCZzZW5zZVszXSk7CisJCWlkZXRhcGVfdXBkYXRlX2J1ZmZlcnMoZHJpdmUsIHBjKTsKIAl9CiAKIAkvKgpAQCAtNjM0LDIxICs2MTksNzggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQorc3RhdGljIHZvaWQgaWRlX3RhcGVfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQogewogCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gdGFwZS0+cGM7CisJaW50IHVwdG9kYXRlID0gcGMtPmVycm9yID8gMCA6IDE7CiAKIAlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKIAotCWlmICghdGFwZS0+cGMtPmVycm9yKSB7Ci0JCWlkZXRhcGVfYW5hbHl6ZV9lcnJvcihkcml2ZSwgdGFwZS0+cGMtPmJ1Zik7Ci0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCX0gZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IEVycm9yIGluIFJFUVVFU1QgU0VOU0UgaXRzZWxmIC0gIgotCQkJCSJBYm9ydGluZyByZXF1ZXN0IVxuIik7Ci0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDAsIDApOworCWlmICh0YXBlLT5mYWlsZWRfcGMgPT0gcGMpCisJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7CisKKwlpZiAocGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkgeworCQlpZiAodXB0b2RhdGUpCisJCQlpZGV0YXBlX2FuYWx5emVfZXJyb3IoZHJpdmUsIHBjLT5idWYpOworCQllbHNlCisJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBFcnJvciBpbiBSRVFVRVNUIFNFTlNFICIKKwkJCQkJIml0c2VsZiAtIEFib3J0aW5nIHJlcXVlc3QhXG4iKTsKKwl9IGVsc2UgaWYgKHBjLT5jWzBdID09IFJFQURfNiB8fCBwYy0+Y1swXSA9PSBXUklURV82KSB7CisJCXN0cnVjdCByZXF1ZXN0ICpycSA9IGRyaXZlLT5od2lmLT5od2dyb3VwLT5ycTsKKwkJaW50IGJsb2NrcyA9IHBjLT54ZmVycmVkIC8gdGFwZS0+YmxrX3NpemU7CisKKwkJdGFwZS0+YXZnX3NpemUgKz0gYmxvY2tzICogdGFwZS0+YmxrX3NpemU7CisKKwkJaWYgKHRpbWVfYWZ0ZXJfZXEoamlmZmllcywgdGFwZS0+YXZnX3RpbWUgKyBIWikpIHsKKwkJCXRhcGUtPmF2Z19zcGVlZCA9IHRhcGUtPmF2Z19zaXplICogSFogLworCQkJCShqaWZmaWVzIC0gdGFwZS0+YXZnX3RpbWUpIC8gMTAyNDsKKwkJCXRhcGUtPmF2Z19zaXplID0gMDsKKwkJCXRhcGUtPmF2Z190aW1lID0gamlmZmllczsKKwkJfQorCisJCXRhcGUtPmZpcnN0X2ZyYW1lICs9IGJsb2NrczsKKwkJcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyAtPSBibG9ja3M7CisKKwkJaWYgKHBjLT5lcnJvcikKKwkJCXVwdG9kYXRlID0gcGMtPmVycm9yOworCX0gZWxzZSBpZiAocGMtPmNbMF0gPT0gUkVBRF9QT1NJVElPTiAmJiB1cHRvZGF0ZSkgeworCQl1OCAqcmVhZHBvcyA9IHRhcGUtPnBjLT5idWY7CisKKwkJZGVidWdfbG9nKERCR19TRU5TRSwgIkJPUCAtICVzXG4iLAorCQkJCShyZWFkcG9zWzBdICYgMHg4MCkgPyAiWWVzIiA6ICJObyIpOworCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiRU9QIC0gJXNcbiIsCisJCQkJKHJlYWRwb3NbMF0gJiAweDQwKSA/ICJZZXMiIDogIk5vIik7CisKKwkJaWYgKHJlYWRwb3NbMF0gJiAweDQpIHsKKwkJCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiBCbG9jayBsb2NhdGlvbiBpcyB1bmtub3duIgorCQkJCQkgInRvIHRoZSB0YXBlXG4iKTsKKwkJCWNsZWFyX2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKKwkJCXVwdG9kYXRlID0gMDsKKwkJfSBlbHNlIHsKKwkJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJCbG9jayBMb2NhdGlvbiAtICV1XG4iLAorCQkJCQliZTMyX3RvX2NwdSgqKHUzMiAqKSZyZWFkcG9zWzRdKSk7CisKKwkJCXRhcGUtPnBhcnRpdGlvbiA9IHJlYWRwb3NbMV07CisJCQl0YXBlLT5maXJzdF9mcmFtZSA9IGJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pOworCQkJc2V0X2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKKwkJfQogCX0KLQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisKKwlpZGV0YXBlX2VuZF9yZXF1ZXN0KGRyaXZlLCB1cHRvZGF0ZSwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGlkZXRhcGVfaW5pdF9wYyhzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKK3sKKwltZW1zZXQocGMtPmMsIDAsIDEyKTsKKwlwYy0+cmV0cmllcyA9IDA7CisJcGMtPmZsYWdzID0gMDsKKwlwYy0+cmVxX3hmZXIgPSAwOworCXBjLT5idWYgPSBwYy0+cGNfYnVmOworCXBjLT5idWZfc2l6ZSA9IElERVRBUEVfUENfQlVGRkVSX1NJWkU7CisJcGMtPmJoID0gTlVMTDsKKwlwYy0+Yl9kYXRhID0gTlVMTDsKKwlwYy0+Y2FsbGJhY2sgPSBpZGVfdGFwZV9jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfcmVxdWVzdF9zZW5zZV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC02NTcsNyArNjk5LDYgQEAKIAlwYy0+Y1swXSA9IFJFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSAyMDsKIAlwYy0+cmVxX3hmZXIgPSAyMDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3JlcXVlc3Rfc2Vuc2VfY2FsbGJhY2s7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfaW5pdF9ycShzdHJ1Y3QgcmVxdWVzdCAqcnEsIHU4IGNtZCkKQEAgLTY4OCw5ICs3MjksMTAgQEAKIAlzdHJ1Y3QgaWRlX3RhcGVfb2JqICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOwogCiAJaWRldGFwZV9pbml0X3JxKHJxLCBSRVFfSURFVEFQRV9QQzEpOworCXJxLT5jbWRfZmxhZ3MgfD0gUkVRX1BSRUVNUFQ7CiAJcnEtPmJ1ZmZlciA9IChjaGFyICopIHBjOwogCXJxLT5ycV9kaXNrID0gdGFwZS0+ZGlzazsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEsIGlkZV9wcmVlbXB0KTsKKwlpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCBycSk7CiB9CiAKIC8qCkBAIC02OTgsNyArNzQwLDcgQEAKICAqCWxhc3QgcGFja2V0IGNvbW1hbmQuIFdlIHF1ZXVlIGEgcmVxdWVzdCBzZW5zZSBwYWNrZXQgY29tbWFuZCBpbgogICoJdGhlIGhlYWQgb2YgdGhlIHJlcXVlc3QgbGlzdC4KICAqLwotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3JldHJ5X3BjIChpZGVfZHJpdmVfdCAqZHJpdmUpCitzdGF0aWMgdm9pZCBpZGV0YXBlX3JldHJ5X3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKIAlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYzsKQEAgLTcxMCw3ICs3NTIsNiBAQAogCWlkZXRhcGVfY3JlYXRlX3JlcXVlc3Rfc2Vuc2VfY21kKHBjKTsKIAlzZXRfYml0KElERVRBUEVfRkxBR19JR05PUkVfRFNDLCAmdGFwZS0+ZmxhZ3MpOwogCWlkZXRhcGVfcXVldWVfcGNfaGVhZChkcml2ZSwgcGMsIHJxKTsKLQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiB9CiAKIC8qCkBAIC03MjcsNyArNzY4LDI2IEBACiAJaWRlX3N0YWxsX3F1ZXVlKGRyaXZlLCB0YXBlLT5kc2NfcG9sbF9mcmVxKTsKIH0KIAotdHlwZWRlZiB2b2lkIGlkZXRhcGVfaW9fYnVmKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiwgdW5zaWduZWQgaW50KTsKK3N0YXRpYyB2b2lkIGlkZV90YXBlX2hhbmRsZV9kc2MoaWRlX2RyaXZlX3QgKmRyaXZlKQoreworCWlkZXRhcGVfdGFwZV90ICp0YXBlID0gZHJpdmUtPmRyaXZlcl9kYXRhOworCisJLyogTWVkaWEgYWNjZXNzIGNvbW1hbmQgKi8KKwl0YXBlLT5kc2NfcG9sbGluZ19zdGFydCA9IGppZmZpZXM7CisJdGFwZS0+ZHNjX3BvbGxfZnJlcSA9IElERVRBUEVfRFNDX01BX0ZBU1Q7CisJdGFwZS0+ZHNjX3RpbWVvdXQgPSBqaWZmaWVzICsgSURFVEFQRV9EU0NfTUFfVElNRU9VVDsKKwkvKiBBbGxvdyBpZGUuYyB0byBoYW5kbGUgb3RoZXIgcmVxdWVzdHMgKi8KKwlpZGV0YXBlX3Bvc3Rwb25lX3JlcXVlc3QoZHJpdmUpOworfQorCitzdGF0aWMgdm9pZCBpZGVfdGFwZV9pb19idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJdW5zaWduZWQgaW50IGJjb3VudCwgaW50IHdyaXRlKQoreworCWlmICh3cml0ZSkKKwkJaWRldGFwZV9vdXRwdXRfYnVmZmVycyhkcml2ZSwgcGMsIGJjb3VudCk7CisJZWxzZQorCQlpZGV0YXBlX2lucHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOworfQogCiAvKgogICogVGhpcyBpcyB0aGUgdXN1YWwgaW50ZXJydXB0IGhhbmRsZXIgd2hpY2ggd2lsbCBiZSBjYWxsZWQgZHVyaW5nIGEgcGFja2V0CkBAIC03MzgsMTY5ICs3OTgsMTEgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3BjX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHRhcGUtPnBjOwotCXhmZXJfZnVuY190ICp4ZmVyZnVuYzsKLQlpZGV0YXBlX2lvX2J1ZiAqaW9idWY7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0jaWYgU0lNVUxBVEVfRVJST1JTCi0Jc3RhdGljIGludCBlcnJvcl9zaW1fY291bnQ7Ci0jZW5kaWYKLQl1MTYgYmNvdW50OwotCXU4IHN0YXQsIGlyZWFzb247CiAKLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXMgLSBpbnRlcnJ1cHQgaGFuZGxlclxuIiwgX19mdW5jX18pOwotCi0JLyogQ2xlYXIgdGhlIGludGVycnVwdCAqLwotCXN0YXQgPSBpZGVfcmVhZF9zdGF0dXMoZHJpdmUpOwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCWlmIChod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKSB8fCAoc3RhdCAmIEVSUl9TVEFUKSkgewotCQkJLyoKLQkJCSAqIEEgRE1BIGVycm9yIGlzIHNvbWV0aW1lcyBleHBlY3RlZC4gRm9yIGV4YW1wbGUsCi0JCQkgKiBpZiB0aGUgdGFwZSBpcyBjcm9zc2luZyBhIGZpbGVtYXJrIGR1cmluZyBhCi0JCQkgKiBSRUFEIGNvbW1hbmQsIGl0IHdpbGwgaXNzdWUgYW4gaXJxIGFuZCBwb3NpdGlvbgotCQkJICogaXRzZWxmIGJlZm9yZSB0aGUgZmlsZW1hcmssIHNvIHRoYXQgb25seSBhIHBhcnRpYWwKLQkJCSAqIGRhdGEgdHJhbnNmZXIgd2lsbCBvY2N1ciAod2hpY2ggY2F1c2VzIHRoZSBETUEKLQkJCSAqIGVycm9yKS4gSW4gdGhhdCBjYXNlLCB3ZSB3aWxsIGxhdGVyIGFzayB0aGUgdGFwZQotCQkJICogaG93IG11Y2ggYnl0ZXMgb2YgdGhlIG9yaWdpbmFsIHJlcXVlc3Qgd2VyZQotCQkJICogYWN0dWFsbHkgdHJhbnNmZXJyZWQgKHdlIGNhbid0IHJlY2VpdmUgdGhhdAotCQkJICogaW5mb3JtYXRpb24gZnJvbSB0aGUgRE1BIGVuZ2luZSBvbiBtb3N0IGNoaXBzZXRzKS4KLQkJCSAqLwotCi0JCQkvKgotCQkJICogT24gdGhlIGNvbnRyYXJ5LCBhIERNQSBlcnJvciBpcyBuZXZlciBleHBlY3RlZDsKLQkJCSAqIGl0IHVzdWFsbHkgaW5kaWNhdGVzIGEgaGFyZHdhcmUgZXJyb3Igb3IgYWJvcnQuCi0JCQkgKiBJZiB0aGUgdGFwZSBjcm9zc2VzIGEgZmlsZW1hcmsgZHVyaW5nIGEgUkVBRAotCQkJICogY29tbWFuZCwgaXQgd2lsbCBpc3N1ZSBhbiBpcnEgYW5kIHBvc2l0aW9uIGl0c2VsZgotCQkJICogYWZ0ZXIgdGhlIGZpbGVtYXJrIChub3QgYmVmb3JlKS4gT25seSBhIHBhcnRpYWwKLQkJCSAqIGRhdGEgdHJhbnNmZXIgd2lsbCBvY2N1ciwgYnV0IG5vIERNQSBlcnJvci4KLQkJCSAqIChBUywgMTkgQXByIDIwMDEpCi0JCQkgKi8KLQkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9FUlJPUjsKLQkJfSBlbHNlIHsKLQkJCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkJaWRldGFwZV91cGRhdGVfYnVmZmVycyhwYyk7Ci0JCX0KLQkJZGVidWdfbG9nKERCR19QUk9DUywgIkRNQSBmaW5pc2hlZFxuIik7Ci0KLQl9Ci0KLQkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KLQlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgewotCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyIKLQkJCQkiIHRyYW5zZmVycmVkXG4iLCBwYy0+eGZlcnJlZCk7Ci0KLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQkJbG9jYWxfaXJxX2VuYWJsZSgpOwotCi0jaWYgU0lNVUxBVEVfRVJST1JTCi0JCWlmICgocGMtPmNbMF0gPT0gV1JJVEVfNiB8fCBwYy0+Y1swXSA9PSBSRUFEXzYpICYmCi0JCSAgICAoKytlcnJvcl9zaW1fY291bnQgJSAxMDApID09IDApIHsKLQkJCXByaW50ayhLRVJOX0lORk8gImlkZS10YXBlOiAlczogc2ltdWxhdGluZyBlcnJvclxuIiwKLQkJCQl0YXBlLT5uYW1lKTsKLQkJCXN0YXQgfD0gRVJSX1NUQVQ7Ci0JCX0KLSNlbmRpZgotCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgJiYgcGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkKLQkJCXN0YXQgJj0gfkVSUl9TVEFUOwotCQlpZiAoKHN0YXQgJiBFUlJfU1RBVCkgfHwgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0VSUk9SKSkgewotCQkJLyogRXJyb3IgZGV0ZWN0ZWQgKi8KLQkJCWRlYnVnX2xvZyhEQkdfRVJSLCAiJXM6IEkvTyBlcnJvclxuIiwgdGFwZS0+bmFtZSk7Ci0KLQkJCWlmIChwYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7Ci0JCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogSS9PIGVycm9yIGluIHJlcXVlc3QiCi0JCQkJCQkiIHNlbnNlIGNvbW1hbmRcbiIpOwotCQkJCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCQkJfQotCQkJZGVidWdfbG9nKERCR19FUlIsICJbY21kICV4XTogY2hlY2sgY29uZGl0aW9uXG4iLAotCQkJCQlwYy0+Y1swXSk7Ci0KLQkJCS8qIFJldHJ5IG9wZXJhdGlvbiAqLwotCQkJcmV0dXJuIGlkZXRhcGVfcmV0cnlfcGMoZHJpdmUpOwotCQl9Ci0JCXBjLT5lcnJvciA9IDA7Ci0JCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19XQUlUX0ZPUl9EU0MpICYmCi0JCSAgICAoc3RhdCAmIFNFRUtfU1RBVCkgPT0gMCkgewotCQkJLyogTWVkaWEgYWNjZXNzIGNvbW1hbmQgKi8KLQkJCXRhcGUtPmRzY19wb2xsaW5nX3N0YXJ0ID0gamlmZmllczsKLQkJCXRhcGUtPmRzY19wb2xsX2ZyZXEgPSBJREVUQVBFX0RTQ19NQV9GQVNUOwotCQkJdGFwZS0+ZHNjX3RpbWVvdXQgPSBqaWZmaWVzICsgSURFVEFQRV9EU0NfTUFfVElNRU9VVDsKLQkJCS8qIEFsbG93IGlkZS5jIHRvIGhhbmRsZSBvdGhlciByZXF1ZXN0cyAqLwotCQkJaWRldGFwZV9wb3N0cG9uZV9yZXF1ZXN0KGRyaXZlKTsKLQkJCXJldHVybiBpZGVfc3RvcHBlZDsKLQkJfQotCQlpZiAodGFwZS0+ZmFpbGVkX3BjID09IHBjKQotCQkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKLQkJLyogQ29tbWFuZCBmaW5pc2hlZCAtIENhbGwgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uICovCi0JCXJldHVybiBwYy0+aWRldGFwZV9jYWxsYmFjayhkcml2ZSk7Ci0JfQotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfRE1BX0lOX1BST0dSRVNTKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IFRoZSB0YXBlIHdhbnRzIHRvIGlzc3VlIG1vcmUgIgotCQkJCSJpbnRlcnJ1cHRzIGluIERNQSBtb2RlXG4iKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogRE1BIGRpc2FibGVkLCByZXZlcnRpbmcgdG8gUElPXG4iKTsKLQkJaWRlX2RtYV9vZmYoZHJpdmUpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0KGRyaXZlKTsKLQl9Ci0JLyogR2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gdHJhbnNmZXIgb24gdGhpcyBpbnRlcnJ1cHQuICovCi0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0KLQlpZiAoaXJlYXNvbiAmIENEKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6IENvRCAhPSAwIGluICVzXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQlpZiAoKChpcmVhc29uICYgSU8pID09IElPKSA9PSAhIShwYy0+ZmxhZ3MgJiBQQ19GTEFHX1dSSVRJTkcpKSB7Ci0JCS8qIEhvcGVmdWxseSwgd2Ugd2lsbCBuZXZlciBnZXQgaGVyZSAqLwotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBXZSB3YW50ZWQgdG8gJXMsICIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiV3JpdGUiIDogIlJlYWQiKTsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogYnV0IHRoZSB0YXBlIHdhbnRzIHVzIHRvICVzICFcbiIsCi0JCQkJKGlyZWFzb24gJiBJTykgPyAiUmVhZCIgOiAiV3JpdGUiKTsKLQkJcmV0dXJuIGlkZV9kb19yZXNldChkcml2ZSk7Ci0JfQotCWlmICghKHBjLT5mbGFncyAmIFBDX0ZMQUdfV1JJVElORykpIHsKLQkJLyogUmVhZGluZyAtIENoZWNrIHRoYXQgd2UgaGF2ZSBlbm91Z2ggc3BhY2UgKi8KLQkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OwotCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgewotCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiBUaGUgdGFwZSB3YW50cyB0byAiCi0JCQkJCSJzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQpOwotCQkJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXRhcGVfcGNfaW50ciwKLQkJCQkJCUlERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwotCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKLQkJCX0KLQkJCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJUaGUgdGFwZSB3YW50cyB0byBzZW5kIHVzIG1vcmUgIgotCQkJCSJkYXRhIHRoYW4gZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0JCX0KLQkJaW9idWYgPSAmaWRldGFwZV9pbnB1dF9idWZmZXJzOwotCQl4ZmVyZnVuYyA9IGh3aWYtPmlucHV0X2RhdGE7Ci0JfSBlbHNlIHsKLQkJaW9idWYgPSAmaWRldGFwZV9vdXRwdXRfYnVmZmVyczsKLQkJeGZlcmZ1bmMgPSBod2lmLT5vdXRwdXRfZGF0YTsKLQl9Ci0KLQlpZiAocGMtPmJoKQotCQlpb2J1Zihkcml2ZSwgcGMsIGJjb3VudCk7Ci0JZWxzZQotCQl4ZmVyZnVuYyhkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0KLQkvKiBVcGRhdGUgdGhlIGN1cnJlbnQgcG9zaXRpb24gKi8KLQlwYy0+eGZlcnJlZCArPSBiY291bnQ7Ci0JcGMtPmN1cl9wb3MgKz0gYmNvdW50OwotCi0JZGVidWdfbG9nKERCR19TRU5TRSwgIltjbWQgJXhdIHRyYW5zZmVycmVkICVkIGJ5dGVzIG9uIHRoYXQgaW50ci5cbiIsCi0JCQlwYy0+Y1swXSwgYmNvdW50KTsKLQotCS8qIEFuZCBzZXQgdGhlIGludGVycnVwdCBoYW5kbGVyIGFnYWluICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRldGFwZV9wY19pbnRyLCBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7CisJcmV0dXJuIGlkZV9wY19pbnRyKGRyaXZlLCB0YXBlLT5wYywgaWRldGFwZV9wY19pbnRyLCBJREVUQVBFX1dBSVRfQ01ELAorCQkJICAgTlVMTCwgaWRldGFwZV91cGRhdGVfYnVmZmVycywgaWRldGFwZV9yZXRyeV9wYywKKwkJCSAgIGlkZV90YXBlX2hhbmRsZV9kc2MsIGlkZV90YXBlX2lvX2J1ZmZlcnMpOwogfQogCiAvKgpAQCAtOTQxLDU2ICs4NDMsMTYgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSB0YXBlLT5wYzsKLQlpbnQgcmV0cmllcyA9IDEwMDsKLQlpZGVfc3RhcnRzdG9wX3Qgc3RhcnRzdG9wOwotCXU4IGlyZWFzb247CiAKLQlpZiAoaWRlX3dhaXRfc3RhdCgmc3RhcnRzdG9wLCBkcml2ZSwgRFJRX1NUQVQsIEJVU1lfU1RBVCwgV0FJVF9SRUFEWSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogU3RyYW5nZSwgcGFja2V0IGNvbW1hbmQgaW5pdGlhdGVkICIKLQkJCQkieWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0Jd2hpbGUgKHJldHJpZXMtLSAmJiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogKElPLENvRCAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKLQkJCQkiYSBwYWNrZXQgY29tbWFuZCwgcmV0cnlpbmdcbiIpOwotCQl1ZGVsYXkoMTAwKTsKLQkJaXJlYXNvbiA9IGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5uc2VjdF9hZGRyKTsKLQkJaWYgKHJldHJpZXMgPT0gMCkgewotCQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtdGFwZTogKElPLENvRCAhPSAoMCwxKSB3aGlsZSAiCi0JCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmQsIGlnbm9yaW5nXG4iKTsKLQkJCWlyZWFzb24gfD0gQ0Q7Ci0JCQlpcmVhc29uICY9IH5JTzsKLQkJfQotCX0KLQlpZiAoKGlyZWFzb24gJiBDRCkgPT0gMCB8fCAoaXJlYXNvbiAmIElPKSkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAoSU8sQ29EKSAhPSAoMCwxKSB3aGlsZSBpc3N1aW5nICIKLQkJCQkiYSBwYWNrZXQgY29tbWFuZFxuIik7Ci0JCXJldHVybiBpZGVfZG9fcmVzZXQoZHJpdmUpOwotCX0KLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRldGFwZV9wY19pbnRyLCBJREVUQVBFX1dBSVRfQ01ELCBOVUxMKTsKLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVETUEKLQkvKiBCZWdpbiBETUEsIGlmIG5lY2Vzc2FyeSAqLwotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUykKLQkJaHdpZi0+ZG1hX29wcy0+ZG1hX3N0YXJ0KGRyaXZlKTsKLSNlbmRpZgotCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KLQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmMsIDEyKTsKLQotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCB0YXBlLT5wYywgaWRldGFwZV9wY19pbnRyLAorCQkJICAgICAgIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwogfQogCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfaXNzdWVfcGMoaWRlX2RyaXZlX3QgKmRyaXZlLAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JaW50IGRtYV9vayA9IDA7Ci0JdTE2IGJjb3VudDsKIAogCWlmICh0YXBlLT5wYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFICYmCiAJICAgIHBjLT5jWzBdID09IFJFUVVFU1RfU0VOU0UpIHsKQEAgLTEwMjUsNTAgKzg4NywxNSBAQAogCQkJcGMtPmVycm9yID0gSURFVEFQRV9FUlJPUl9HRU5FUkFMOwogCQl9CiAJCXRhcGUtPmZhaWxlZF9wYyA9IE5VTEw7Ci0JCXJldHVybiBwYy0+aWRldGFwZV9jYWxsYmFjayhkcml2ZSk7CisJCXBjLT5jYWxsYmFjayhkcml2ZSk7CisJCXJldHVybiBpZGVfc3RvcHBlZDsKIAl9CiAJZGVidWdfbG9nKERCR19TRU5TRSwgIlJldHJ5ICMlZCwgY21kID0gJTAyWFxuIiwgcGMtPnJldHJpZXMsIHBjLT5jWzBdKTsKIAogCXBjLT5yZXRyaWVzKys7Ci0JLyogV2UgaGF2ZW4ndCB0cmFuc2ZlcnJlZCBhbnkgZGF0YSB5ZXQgKi8KLQlwYy0+eGZlcnJlZCA9IDA7Ci0JcGMtPmN1cl9wb3MgPSBwYy0+YnVmOwotCS8qIFJlcXVlc3QgdG8gdHJhbnNmZXIgdGhlIGVudGlyZSBidWZmZXIgYXQgb25jZSAqLwotCWJjb3VudCA9IHBjLT5yZXFfeGZlcjsKIAotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9FUlJPUikgewotCQlwYy0+ZmxhZ3MgJj0gflBDX0ZMQUdfRE1BX0VSUk9SOwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGUtdGFwZTogRE1BIGRpc2FibGVkLCAiCi0JCQkJInJldmVydGluZyB0byBQSU9cbiIpOwotCQlpZGVfZG1hX29mZihkcml2ZSk7Ci0JfQotCWlmICgocGMtPmZsYWdzICYgUENfRkxBR19ETUFfUkVDT01NRU5ERUQpICYmIGRyaXZlLT51c2luZ19kbWEpCi0JCWRtYV9vayA9ICFod2lmLT5kbWFfb3BzLT5kbWFfc2V0dXAoZHJpdmUpOwotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0sgfAotCQkJICAgSURFX1RGTEFHX09VVF9ERVZJQ0UsIGJjb3VudCwgZG1hX29rKTsKLQotCWlmIChkbWFfb2spCi0JCS8qIFdpbGwgYmVnaW4gRE1BIGxhdGVyICovCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLQlpZiAodGVzdF9iaXQoSURFVEFQRV9GTEFHX0RSUV9JTlRFUlJVUFQsICZ0YXBlLT5mbGFncykpIHsKLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgJmlkZXRhcGVfdHJhbnNmZXJfcGMsCi0JCQkJICAgIElERVRBUEVfV0FJVF9DTUQsIE5VTEwpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJaWRlX2V4ZWN1dGVfcGt0X2NtZChkcml2ZSk7Ci0JCXJldHVybiBpZGV0YXBlX3RyYW5zZmVyX3BjKGRyaXZlKTsKLQl9Ci19Ci0KLXN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRldGFwZV9wY19jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0KLQlkZWJ1Z19sb2coREJHX1BST0NTLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKLQotCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIHRhcGUtPnBjLT5lcnJvciA/IDAgOiAxLCAwKTsKLQlyZXR1cm4gaWRlX3N0b3BwZWQ7CisJcmV0dXJuIGlkZV9pc3N1ZV9wYyhkcml2ZSwgcGMsIGlkZXRhcGVfdHJhbnNmZXJfcGMsCisJCQkgICAgSURFVEFQRV9XQUlUX0NNRCwgTlVMTCk7CiB9CiAKIC8qIEEgbW9kZSBzZW5zZSBjb21tYW5kIGlzIHVzZWQgdG8gInNlbnNlIiB0YXBlIHBhcmFtZXRlcnMuICovCkBAIC0xMDk2LDcgKzkyMyw2IEBACiAJCXBjLT5yZXFfeGZlciA9IDI0OwogCWVsc2UKIAkJcGMtPnJlcV94ZmVyID0gNTA7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX21lZGlhX2FjY2Vzc19maW5pc2hlZChpZGVfZHJpdmVfdCAqZHJpdmUpCkBAIC0xMTE0LDgwICs5NDAsNDEgQEAKIAkJCQlwcmludGsoS0VSTl9FUlIgImlkZS10YXBlOiAlczogSS9PIGVycm9yLCAiLAogCQkJCQkJdGFwZS0+bmFtZSk7CiAJCQkvKiBSZXRyeSBvcGVyYXRpb24gKi8KLQkJCXJldHVybiBpZGV0YXBlX3JldHJ5X3BjKGRyaXZlKTsKKwkJCWlkZXRhcGVfcmV0cnlfcGMoZHJpdmUpOworCQkJcmV0dXJuIGlkZV9zdG9wcGVkOwogCQl9CiAJCXBjLT5lcnJvciA9IDA7Ci0JCWlmICh0YXBlLT5mYWlsZWRfcGMgPT0gcGMpCi0JCQl0YXBlLT5mYWlsZWRfcGMgPSBOVUxMOwogCX0gZWxzZSB7CiAJCXBjLT5lcnJvciA9IElERVRBUEVfRVJST1JfR0VORVJBTDsKIAkJdGFwZS0+ZmFpbGVkX3BjID0gTlVMTDsKIAl9Ci0JcmV0dXJuIHBjLT5pZGV0YXBlX2NhbGxiYWNrKGRyaXZlKTsKLX0KLQotc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX3J3X2NhbGxiYWNrKGlkZV9kcml2ZV90ICpkcml2ZSkKLXsKLQlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBIV0dST1VQKGRyaXZlKS0+cnE7Ci0JaW50IGJsb2NrcyA9IHRhcGUtPnBjLT54ZmVycmVkIC8gdGFwZS0+YmxrX3NpemU7Ci0KLQl0YXBlLT5hdmdfc2l6ZSArPSBibG9ja3MgKiB0YXBlLT5ibGtfc2l6ZTsKLQotCWlmICh0aW1lX2FmdGVyX2VxKGppZmZpZXMsIHRhcGUtPmF2Z190aW1lICsgSFopKSB7Ci0JCXRhcGUtPmF2Z19zcGVlZCA9IHRhcGUtPmF2Z19zaXplICogSFogLwotCQkJCShqaWZmaWVzIC0gdGFwZS0+YXZnX3RpbWUpIC8gMTAyNDsKLQkJdGFwZS0+YXZnX3NpemUgPSAwOwotCQl0YXBlLT5hdmdfdGltZSA9IGppZmZpZXM7Ci0JfQotCWRlYnVnX2xvZyhEQkdfUFJPQ1MsICJFbnRlciAlc1xuIiwgX19mdW5jX18pOwotCi0JdGFwZS0+Zmlyc3RfZnJhbWUgKz0gYmxvY2tzOwotCXJxLT5jdXJyZW50X25yX3NlY3RvcnMgLT0gYmxvY2tzOwotCi0JaWYgKCF0YXBlLT5wYy0+ZXJyb3IpCi0JCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCWVsc2UKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgdGFwZS0+cGMtPmVycm9yLCAwKTsKKwlwYy0+Y2FsbGJhY2soZHJpdmUpOwogCXJldHVybiBpZGVfc3RvcHBlZDsKIH0KIAotc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfcmVhZF9jbWQoaWRldGFwZV90YXBlX3QgKnRhcGUsCi0JCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAotCQl1bnNpZ25lZCBpbnQgbGVuZ3RoLCBzdHJ1Y3QgaWRldGFwZV9iaCAqYmgpCitzdGF0aWMgdm9pZCBpZGVfdGFwZV9jcmVhdGVfcndfY21kKGlkZXRhcGVfdGFwZV90ICp0YXBlLAorCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYywgdW5zaWduZWQgaW50IGxlbmd0aCwKKwkJc3RydWN0IGlkZXRhcGVfYmggKmJoLCB1OCBvcGNvZGUpCiB7CiAJaWRldGFwZV9pbml0X3BjKHBjKTsKLQlwYy0+Y1swXSA9IFJFQURfNjsKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGxlbmd0aCksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzFdKTsKIAlwYy0+Y1sxXSA9IDE7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9yd19jYWxsYmFjazsKIAlwYy0+YmggPSBiaDsKLQlhdG9taWNfc2V0KCZiaC0+Yl9jb3VudCwgMCk7CiAJcGMtPmJ1ZiA9IE5VTEw7CiAJcGMtPmJ1Zl9zaXplID0gbGVuZ3RoICogdGFwZS0+YmxrX3NpemU7CiAJcGMtPnJlcV94ZmVyID0gcGMtPmJ1Zl9zaXplOwogCWlmIChwYy0+cmVxX3hmZXIgPT0gdGFwZS0+YnVmZmVyX3NpemUpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKLX0KKwkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRE1BX09LOwogCi1zdGF0aWMgdm9pZCBpZGV0YXBlX2NyZWF0ZV93cml0ZV9jbWQoaWRldGFwZV90YXBlX3QgKnRhcGUsCi0JCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAotCQl1bnNpZ25lZCBpbnQgbGVuZ3RoLCBzdHJ1Y3QgaWRldGFwZV9iaCAqYmgpCi17Ci0JaWRldGFwZV9pbml0X3BjKHBjKTsKLQlwYy0+Y1swXSA9IFdSSVRFXzY7Ci0JcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihsZW5ndGgpLCAodW5zaWduZWQgaW50ICopICZwYy0+Y1sxXSk7Ci0JcGMtPmNbMV0gPSAxOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcndfY2FsbGJhY2s7Ci0JcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKLQlwYy0+YmggPSBiaDsKLQlwYy0+Yl9kYXRhID0gYmgtPmJfZGF0YTsKLQlwYy0+Yl9jb3VudCA9IGF0b21pY19yZWFkKCZiaC0+Yl9jb3VudCk7Ci0JcGMtPmJ1ZiA9IE5VTEw7Ci0JcGMtPmJ1Zl9zaXplID0gbGVuZ3RoICogdGFwZS0+YmxrX3NpemU7Ci0JcGMtPnJlcV94ZmVyID0gcGMtPmJ1Zl9zaXplOwotCWlmIChwYy0+cmVxX3hmZXIgPT0gdGFwZS0+YnVmZmVyX3NpemUpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9SRUNPTU1FTkRFRDsKKwlpZiAob3Bjb2RlID09IFJFQURfNikgeworCQlwYy0+Y1swXSA9IFJFQURfNjsKKwkJYXRvbWljX3NldCgmYmgtPmJfY291bnQsIDApOworCX0gZWxzZSBpZiAob3Bjb2RlID09IFdSSVRFXzYpIHsKKwkJcGMtPmNbMF0gPSBXUklURV82OworCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XUklUSU5HOworCQlwYy0+Yl9kYXRhID0gYmgtPmJfZGF0YTsKKwkJcGMtPmJfY291bnQgPSBhdG9taWNfcmVhZCgmYmgtPmJfY291bnQpOworCX0KIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGV0YXBlX2RvX3JlcXVlc3QoaWRlX2RyaXZlX3QgKmRyaXZlLApAQCAtMTIxMSw4ICs5OTgsMTAgQEAKIAl9CiAKIAkvKiBSZXRyeSBhIGZhaWxlZCBwYWNrZXQgY29tbWFuZCAqLwotCWlmICh0YXBlLT5mYWlsZWRfcGMgJiYgdGFwZS0+cGMtPmNbMF0gPT0gUkVRVUVTVF9TRU5TRSkKLQkJcmV0dXJuIGlkZXRhcGVfaXNzdWVfcGMoZHJpdmUsIHRhcGUtPmZhaWxlZF9wYyk7CisJaWYgKHRhcGUtPmZhaWxlZF9wYyAmJiB0YXBlLT5wYy0+Y1swXSA9PSBSRVFVRVNUX1NFTlNFKSB7CisJCXBjID0gdGFwZS0+ZmFpbGVkX3BjOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAocG9zdHBvbmVkX3JxICE9IE5VTEwpCiAJCWlmIChycSAhPSBwb3N0cG9uZWRfcnEpIHsKQEAgLTEyNjIsMTQgKzEwNTEsMTYgQEAKIAl9CiAJaWYgKHJxLT5jbWRbMF0gJiBSRVFfSURFVEFQRV9SRUFEKSB7CiAJCXBjID0gaWRldGFwZV9uZXh0X3BjX3N0b3JhZ2UoZHJpdmUpOwotCQlpZGV0YXBlX2NyZWF0ZV9yZWFkX2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKLQkJCQkJKHN0cnVjdCBpZGV0YXBlX2JoICopcnEtPnNwZWNpYWwpOworCQlpZGVfdGFwZV9jcmVhdGVfcndfY21kKHRhcGUsIHBjLCBycS0+Y3VycmVudF9ucl9zZWN0b3JzLAorCQkJCQkoc3RydWN0IGlkZXRhcGVfYmggKilycS0+c3BlY2lhbCwKKwkJCQkJUkVBRF82KTsKIAkJZ290byBvdXQ7CiAJfQogCWlmIChycS0+Y21kWzBdICYgUkVRX0lERVRBUEVfV1JJVEUpIHsKIAkJcGMgPSBpZGV0YXBlX25leHRfcGNfc3RvcmFnZShkcml2ZSk7Ci0JCWlkZXRhcGVfY3JlYXRlX3dyaXRlX2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKLQkJCQkJIChzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsKTsKKwkJaWRlX3RhcGVfY3JlYXRlX3J3X2NtZCh0YXBlLCBwYywgcnEtPmN1cnJlbnRfbnJfc2VjdG9ycywKKwkJCQkJIChzdHJ1Y3QgaWRldGFwZV9iaCAqKXJxLT5zcGVjaWFsLAorCQkJCQkgV1JJVEVfNik7CiAJCWdvdG8gb3V0OwogCX0KIAlpZiAocnEtPmNtZFswXSAmIFJFUV9JREVUQVBFX1BDMSkgewpAQCAtMTI4NCw2ICsxMDc1LDkgQEAKIAl9CiAJQlVHKCk7CiBvdXQ6CisJaWYgKHRlc3RfYml0KElERVRBUEVfRkxBR19EUlFfSU5URVJSVVBULCAmdGFwZS0+ZmxhZ3MpKQorCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19EUlFfSU5URVJSVVBUOworCiAJcmV0dXJuIGlkZXRhcGVfaXNzdWVfcGMoZHJpdmUsIHBjKTsKIH0KIApAQCAtMTQ0Nyw0MCArMTI0MSw2IEBACiAJfQogfQogCi1zdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZXRhcGVfcmVhZF9wb3NpdGlvbl9jYWxsYmFjayhpZGVfZHJpdmVfdCAqZHJpdmUpCi17Ci0JaWRldGFwZV90YXBlX3QgKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0JdTggKnJlYWRwb3MgPSB0YXBlLT5wYy0+YnVmOwotCi0JZGVidWdfbG9nKERCR19QUk9DUywgIkVudGVyICVzXG4iLCBfX2Z1bmNfXyk7Ci0KLQlpZiAoIXRhcGUtPnBjLT5lcnJvcikgewotCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQk9QIC0gJXNcbiIsCi0JCQkJKHJlYWRwb3NbMF0gJiAweDgwKSA/ICJZZXMiIDogIk5vIik7Ci0JCWRlYnVnX2xvZyhEQkdfU0VOU0UsICJFT1AgLSAlc1xuIiwKLQkJCQkocmVhZHBvc1swXSAmIDB4NDApID8gIlllcyIgOiAiTm8iKTsKLQotCQlpZiAocmVhZHBvc1swXSAmIDB4NCkgewotCQkJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6IEJsb2NrIGxvY2F0aW9uIGlzIHVua25vd24iCi0JCQkJCSAidG8gdGhlIHRhcGVcbiIpOwotCQkJY2xlYXJfYml0KElERVRBUEVfRkxBR19BRERSRVNTX1ZBTElELCAmdGFwZS0+ZmxhZ3MpOwotCQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7Ci0JCX0gZWxzZSB7Ci0JCQlkZWJ1Z19sb2coREJHX1NFTlNFLCAiQmxvY2sgTG9jYXRpb24gLSAldVxuIiwKLQkJCQkJYmUzMl90b19jcHUoKih1MzIgKikmcmVhZHBvc1s0XSkpOwotCi0JCQl0YXBlLT5wYXJ0aXRpb24gPSByZWFkcG9zWzFdOwotCQkJdGFwZS0+Zmlyc3RfZnJhbWUgPQotCQkJCWJlMzJfdG9fY3B1KCoodTMyICopJnJlYWRwb3NbNF0pOwotCQkJc2V0X2JpdChJREVUQVBFX0ZMQUdfQUREUkVTU19WQUxJRCwgJnRhcGUtPmZsYWdzKTsKLQkJCWlkZXRhcGVfZW5kX3JlcXVlc3QoZHJpdmUsIDEsIDApOwotCQl9Ci0JfSBlbHNlIHsKLQkJaWRldGFwZV9lbmRfcmVxdWVzdChkcml2ZSwgMCwgMCk7Ci0JfQotCXJldHVybiBpZGVfc3RvcHBlZDsKLX0KLQogLyoKICAqIFdyaXRlIGEgZmlsZW1hcmsgaWYgd3JpdGVfZmlsZW1hcms9MS4gRmx1c2ggdGhlIGRldmljZSBidWZmZXJzIHdpdGhvdXQKICAqIHdyaXRpbmcgYSBmaWxlbWFyayBvdGhlcndpc2UuCkBAIC0xNDkyLDE0ICsxMjUyLDEyIEBACiAJcGMtPmNbMF0gPSBXUklURV9GSUxFTUFSS1M7CiAJcGMtPmNbNF0gPSB3cml0ZV9maWxlbWFyazsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfdGVzdF91bml0X3JlYWR5X2NtZChzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGV0YXBlX2luaXRfcGMocGMpOwogCXBjLT5jWzBdID0gVEVTVF9VTklUX1JFQURZOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcGNfY2FsbGJhY2s7CiB9CiAKIC8qCkBAIC0xNTE4LDEyICsxMjc2LDE2IEBACiBzdGF0aWMgaW50IGlkZXRhcGVfcXVldWVfcGNfdGFpbChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQogewogCXN0cnVjdCBpZGVfdGFwZV9vYmogKnRhcGUgPSBkcml2ZS0+ZHJpdmVyX2RhdGE7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAotCWlkZXRhcGVfaW5pdF9ycSgmcnEsIFJFUV9JREVUQVBFX1BDMSk7Ci0JcnEuYnVmZmVyID0gKGNoYXIgKikgcGM7Ci0JcnEucnFfZGlzayA9IHRhcGUtPmRpc2s7Ci0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kWzBdID0gUkVRX0lERVRBUEVfUEMxOworCXJxLT5idWZmZXIgPSAoY2hhciAqKXBjOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCB0YXBlLT5kaXNrLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKKwlyZXR1cm4gZXJyb3I7CiB9CiAKIHN0YXRpYyB2b2lkIGlkZXRhcGVfY3JlYXRlX2xvYWRfdW5sb2FkX2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xNTMzLDcgKzEyOTUsNiBAQAogCXBjLT5jWzBdID0gU1RBUlRfU1RPUDsKIAlwYy0+Y1s0XSA9IGNtZDsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIGludCBpZGV0YXBlX3dhaXRfcmVhZHkoaWRlX2RyaXZlX3QgKmRyaXZlLCB1bnNpZ25lZCBsb25nIHRpbWVvdXQpCkBAIC0xNTg1LDcgKzEzNDYsNiBAQAogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBSRUFEX1BPU0lUSU9OOwogCXBjLT5yZXFfeGZlciA9IDIwOwotCXBjLT5pZGV0YXBlX2NhbGxiYWNrID0gJmlkZXRhcGVfcmVhZF9wb3NpdGlvbl9jYWxsYmFjazsKIH0KIAogc3RhdGljIGludCBpZGV0YXBlX3JlYWRfcG9zaXRpb24oaWRlX2RyaXZlX3QgKmRyaXZlKQpAQCAtMTYxMyw3ICsxMzczLDYgQEAKIAlwdXRfdW5hbGlnbmVkKGNwdV90b19iZTMyKGJsb2NrKSwgKHVuc2lnbmVkIGludCAqKSAmcGMtPmNbM10pOwogCXBjLT5jWzhdID0gcGFydGl0aW9uOwogCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dBSVRfRk9SX0RTQzsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogfQogCiBzdGF0aWMgaW50IGlkZXRhcGVfY3JlYXRlX3ByZXZlbnRfY21kKGlkZV9kcml2ZV90ICpkcml2ZSwKQEAgLTE2MjgsNyArMTM4Nyw2IEBACiAJaWRldGFwZV9pbml0X3BjKHBjKTsKIAlwYy0+Y1swXSA9IEFMTE9XX01FRElVTV9SRU1PVkFMOwogCXBjLT5jWzRdID0gcHJldmVudDsKLQlwYy0+aWRldGFwZV9jYWxsYmFjayA9ICZpZGV0YXBlX3BjX2NhbGxiYWNrOwogCXJldHVybiAxOwogfQogCkBAIC0xNzAwLDI2ICsxNDU4LDMzIEBACiAJCQkJIHN0cnVjdCBpZGV0YXBlX2JoICpiaCkKIHsKIAlpZGV0YXBlX3RhcGVfdCAqdGFwZSA9IGRyaXZlLT5kcml2ZXJfZGF0YTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CisJaW50IHJldCwgZXJyb3JzOwogCiAJZGVidWdfbG9nKERCR19TRU5TRSwgIiVzOiBjbWQ9JWRcbiIsIF9fZnVuY19fLCBjbWQpOwogCi0JaWRldGFwZV9pbml0X3JxKCZycSwgY21kKTsKLQlycS5ycV9kaXNrID0gdGFwZS0+ZGlzazsKLQlycS5zcGVjaWFsID0gKHZvaWQgKiliaDsKLQlycS5zZWN0b3IgPSB0YXBlLT5maXJzdF9mcmFtZTsKLQlycS5ucl9zZWN0b3JzCQk9IGJsb2NrczsKLQlycS5jdXJyZW50X25yX3NlY3RvcnMJPSBibG9ja3M7Ci0JKHZvaWQpIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU1BFQ0lBTDsKKwlycS0+Y21kWzBdID0gY21kOworCXJxLT5ycV9kaXNrID0gdGFwZS0+ZGlzazsKKwlycS0+c3BlY2lhbCA9ICh2b2lkICopYmg7CisJcnEtPnNlY3RvciA9IHRhcGUtPmZpcnN0X2ZyYW1lOworCXJxLT5ucl9zZWN0b3JzID0gYmxvY2tzOworCXJxLT5jdXJyZW50X25yX3NlY3RvcnMgPSBibG9ja3M7CisJYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCB0YXBlLT5kaXNrLCBycSwgMCk7CisKKwllcnJvcnMgPSBycS0+ZXJyb3JzOworCXJldCA9IHRhcGUtPmJsa19zaXplICogKGJsb2NrcyAtIHJxLT5jdXJyZW50X25yX3NlY3RvcnMpOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAlpZiAoKGNtZCAmIChSRVFfSURFVEFQRV9SRUFEIHwgUkVRX0lERVRBUEVfV1JJVEUpKSA9PSAwKQogCQlyZXR1cm4gMDsKIAogCWlmICh0YXBlLT5tZXJnZV9iaCkKIAkJaWRldGFwZV9pbml0X21lcmdlX2J1ZmZlcih0YXBlKTsKLQlpZiAocnEuZXJyb3JzID09IElERVRBUEVfRVJST1JfR0VORVJBTCkKKwlpZiAoZXJyb3JzID09IElERVRBUEVfRVJST1JfR0VORVJBTCkKIAkJcmV0dXJuIC1FSU87Ci0JcmV0dXJuICh0YXBlLT5ibGtfc2l6ZSAqIChibG9ja3MtcnEuY3VycmVudF9ucl9zZWN0b3JzKSk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfaW5xdWlyeV9jbWQoc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC0xNzI4LDcgKzE0OTMsNiBAQAogCXBjLT5jWzBdID0gSU5RVUlSWTsKIAlwYy0+Y1s0XSA9IDI1NDsKIAlwYy0+cmVxX3hmZXIgPSAyNTQ7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfcmV3aW5kX2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsCkBAIC0xNzM3LDcgKzE1MDEsNiBAQAogCWlkZXRhcGVfaW5pdF9wYyhwYyk7CiAJcGMtPmNbMF0gPSBSRVpFUk9fVU5JVDsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfZXJhc2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjKQpAQCAtMTc0Niw3ICsxNTA5LDYgQEAKIAlwYy0+Y1swXSA9IEVSQVNFOwogCXBjLT5jWzFdID0gMTsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogc3RhdGljIHZvaWQgaWRldGFwZV9jcmVhdGVfc3BhY2VfY21kKHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLCBpbnQgY291bnQsIHU4IGNtZCkKQEAgLTE3NTYsNyArMTUxOCw2IEBACiAJcHV0X3VuYWxpZ25lZChjcHVfdG9fYmUzMihjb3VudCksICh1bnNpZ25lZCBpbnQgKikgJnBjLT5jWzFdKTsKIAlwYy0+Y1sxXSA9IGNtZDsKIAlwYy0+ZmxhZ3MgfD0gUENfRkxBR19XQUlUX0ZPUl9EU0M7Ci0JcGMtPmlkZXRhcGVfY2FsbGJhY2sgPSAmaWRldGFwZV9wY19jYWxsYmFjazsKIH0KIAogLyogUXVldWUgdXAgYSBjaGFyYWN0ZXIgZGV2aWNlIG9yaWdpbmF0ZWQgd3JpdGUgcmVxdWVzdC4gKi8KQEAgLTI0MjEsOSArMjE4MiwxMiBAQAogCWlmIChpID49IE1BWF9IV0lGUyAqIE1BWF9EUklWRVMpCiAJCXJldHVybiAtRU5YSU87CiAKKwlsb2NrX2tlcm5lbCgpOwogCXRhcGUgPSBpZGVfdGFwZV9jaHJkZXZfZ2V0KGkpOwotCWlmICghdGFwZSkKKwlpZiAoIXRhcGUpIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOWElPOworCX0KIAogCWRlYnVnX2xvZyhEQkdfQ0hSREVWLCAiRW50ZXIgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtMjQ4MiwxMCArMjI0NiwxMiBAQAogCQkJfQogCQl9CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogb3V0X3B1dF90YXBlOgogCWlkZV90YXBlX3B1dCh0YXBlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApAQCAtMjc0Niw5ICsyNTEyLDggQEAKIAkgKiBFbnN1cmUgdGhhdCB0aGUgbnVtYmVyIHdlIGdvdCBtYWtlcyBzZW5zZTsgbGltaXQgaXQgd2l0aGluCiAJICogSURFVEFQRV9EU0NfUldfTUlOIGFuZCBJREVUQVBFX0RTQ19SV19NQVguCiAJICovCi0JdGFwZS0+YmVzdF9kc2NfcndfZnJlcSA9IG1heF90KHVuc2lnbmVkIGxvbmcsCi0JCQkJbWluX3QodW5zaWduZWQgbG9uZywgdCwgSURFVEFQRV9EU0NfUldfTUFYKSwKLQkJCQlJREVUQVBFX0RTQ19SV19NSU4pOworCXRhcGUtPmJlc3RfZHNjX3J3X2ZyZXEgPSBjbGFtcF90KHVuc2lnbmVkIGxvbmcsIHQsIElERVRBUEVfRFNDX1JXX01JTiwKKwkJCQkJIElERVRBUEVfRFNDX1JXX01BWCk7CiAJcHJpbnRrKEtFUk5fSU5GTyAiaWRlLXRhcGU6ICVzIDwtPiAlczogJWRLQnBzLCAlZColZGtCIGJ1ZmZlciwgIgogCQkiJWx1bXMgdERTQyVzXG4iLAogCQlkcml2ZS0+bmFtZSwgdGFwZS0+bmFtZSwgKih1MTYgKikmdGFwZS0+Y2Fwc1sxNF0sCkBAIC0yOTAwLDExICsyNjY1LDYgQEAKIAkJCQkiIHRoZSBkcml2ZXJcbiIsIGRyaXZlLT5uYW1lKTsKIAkJZ290byBmYWlsZWQ7CiAJfQotCWlmIChkcml2ZS0+c2NzaSkgewotCQlwcmludGsoS0VSTl9JTkZPICJpZGUtdGFwZTogcGFzc2luZyBkcml2ZSAlcyB0byBpZGUtc2NzaSIKLQkJCQkgIiBlbXVsYXRpb24uXG4iLCBkcml2ZS0+bmFtZSk7Ci0JCWdvdG8gZmFpbGVkOwotCX0KIAl0YXBlID0ga3phbGxvYyhzaXplb2YoaWRldGFwZV90YXBlX3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAodGFwZSA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiaWRlLXRhcGU6ICVzOiBDYW4ndCBhbGxvY2F0ZSBhIHRhcGUgc3RydWN0XG4iLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLXRhc2tmaWxlLmMgYi9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYwppbmRleCBhYjU0NWZmLi5jZjU1YTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUtdGFza2ZpbGUuYwpAQCAtMTA5LDEzICsxMDksMTUgQEAKIAogCWlmICgodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRE1BX1BJT19GQUxMQkFDSykgPT0gMCkgewogCQlpZGVfdGZfZHVtcChkcml2ZS0+bmFtZSwgdGYpOworCQlpZGVfc2V0X2lycShkcml2ZSwgMSk7CisJCVNFTEVDVF9NQVNLKGRyaXZlLCAwKTsKIAkJaHdpZi0+dGZfbG9hZChkcml2ZSwgdGFzayk7CiAJfQogCiAJc3dpdGNoICh0YXNrLT5kYXRhX3BoYXNlKSB7CiAJY2FzZSBUQVNLRklMRV9NVUxUSV9PVVQ6CiAJY2FzZSBUQVNLRklMRV9PVVQ6Ci0JCWh3aWYtPk9VVEJTWU5DKGRyaXZlLCB0Zi0+Y29tbWFuZCwgaHdpZi0+aW9fcG9ydHMuY29tbWFuZF9hZGRyKTsKKwkJaHdpZi0+T1VUQlNZTkMoaHdpZiwgdGYtPmNvbW1hbmQsIGh3aWYtPmlvX3BvcnRzLmNvbW1hbmRfYWRkcik7CiAJCW5kZWxheSg0MDApOwkvKiBGSVhNRSAqLwogCQlyZXR1cm4gcHJlX3Rhc2tfb3V0X2ludHIoZHJpdmUsIHRhc2stPnJxKTsKIAljYXNlIFRBU0tGSUxFX01VTFRJX0lOOgpAQCAtNDkyLDExICs0OTQsMTIgQEAKIAogaW50IGlkZV9yYXdfdGFza2ZpbGUoaWRlX2RyaXZlX3QgKmRyaXZlLCBpZGVfdGFza190ICp0YXNrLCB1OCAqYnVmLCB1MTYgbnNlY3QpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOworCWludCBlcnJvcjsKIAotCWJsa19ycV9pbml0KE5VTEwsICZycSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7Ci0JcnEuYnVmZmVyID0gYnVmOworCXJxID0gYmxrX2dldF9yZXF1ZXN0KGRyaXZlLT5xdWV1ZSwgUkVBRCwgX19HRlBfV0FJVCk7CisJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCXJxLT5idWZmZXIgPSBidWY7CiAKIAkvKgogCSAqIChrcykgV2UgdHJhbnNmZXIgY3VycmVudGx5IG9ubHkgd2hvbGUgc2VjdG9ycy4KQEAgLTUwNCwxNiArNTA3LDE5IEBACiAJICogaWYgd2Ugd291bGQgZmluZCBhIHNvbHV0aW9uIHRvIHRyYW5zZmVyIGFueSBzaXplLgogCSAqIFRvIHN1cHBvcnQgc3BlY2lhbCBjb21tYW5kcyBsaWtlIFJFQUQgTE9ORy4KIAkgKi8KLQlycS5oYXJkX25yX3NlY3RvcnMgPSBycS5ucl9zZWN0b3JzID0gbnNlY3Q7Ci0JcnEuaGFyZF9jdXJfc2VjdG9ycyA9IHJxLmN1cnJlbnRfbnJfc2VjdG9ycyA9IG5zZWN0OworCXJxLT5oYXJkX25yX3NlY3RvcnMgPSBycS0+bnJfc2VjdG9ycyA9IG5zZWN0OworCXJxLT5oYXJkX2N1cl9zZWN0b3JzID0gcnEtPmN1cnJlbnRfbnJfc2VjdG9ycyA9IG5zZWN0OwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX1dSSVRFKQotCQlycS5jbWRfZmxhZ3MgfD0gUkVRX1JXOworCQlycS0+Y21kX2ZsYWdzIHw9IFJFUV9SVzsKIAotCXJxLnNwZWNpYWwgPSB0YXNrOwotCXRhc2stPnJxID0gJnJxOworCXJxLT5zcGVjaWFsID0gdGFzazsKKwl0YXNrLT5ycSA9IHJxOwogCi0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsICZycSwgaWRlX3dhaXQpOworCWVycm9yID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKKworCXJldHVybiBlcnJvcjsKIH0KIAogRVhQT1JUX1NZTUJPTChpZGVfcmF3X3Rhc2tmaWxlKTsKQEAgLTczOSwxMiArNzQ1LDE0IEBACiAJc3RydWN0IGhkX2RyaXZlaWQgKmlkID0gZHJpdmUtPmlkOwogCiAJaWYgKE5VTEwgPT0gKHZvaWQgKikgYXJnKSB7Ci0JCXN0cnVjdCByZXF1ZXN0IHJxOworCQlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAKLQkJaWRlX2luaXRfZHJpdmVfY21kKCZycSk7Ci0JCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfQVRBX1RBU0tGSUxFOworCQlycSA9IGJsa19nZXRfcmVxdWVzdChkcml2ZS0+cXVldWUsIFJFQUQsIF9fR0ZQX1dBSVQpOworCQlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJCWVyciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDApOworCQlibGtfcHV0X3JlcXVlc3QocnEpOwogCi0JCXJldHVybiBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV93YWl0KTsKKwkJcmV0dXJuIGVycjsKIAl9CiAKIAlpZiAoY29weV9mcm9tX3VzZXIoYXJncywgKHZvaWQgX191c2VyICopYXJnLCA0KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaCBiL2RyaXZlcnMvaWRlL2lkZS10aW1pbmcuaAppbmRleCAzYjEyZmZlLi4yZTkxYzU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUtdGltaW5nLmgKKysrIGIvZHJpdmVycy9pZGUvaWRlLXRpbWluZy5oCkBAIC05NSw3ICs5NSw2IEBACiAjZGVmaW5lIElERV9USU1JTkdfVURNQQkJMHg4MAogI2RlZmluZSBJREVfVElNSU5HX0FMTAkJMHhmZgogCi0jZGVmaW5lIEZJVCh2LHZtaW4sdm1heCkJbWF4X3Qoc2hvcnQsbWluX3Qoc2hvcnQsdix2bWF4KSx2bWluKQogI2RlZmluZSBFTk9VR0godix1bml0KQkJKCgodiktMSkvKHVuaXQpKzEpCiAjZGVmaW5lIEVaKHYsdW5pdCkJCSgodik/RU5PVUdIKHYsdW5pdCk6MCkKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvaWRlLmMgYi9kcml2ZXJzL2lkZS9pZGUuYwppbmRleCAzMDA0MzFkLi4yYjg0NTM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9pZGUuYworKysgYi9kcml2ZXJzL2lkZS9pZGUuYwpAQCAtODYsMTMgKzg2LDEwIEBACiAJCQkJCUlERTZfTUFKT1IsIElERTdfTUFKT1IsCiAJCQkJCUlERThfTUFKT1IsIElERTlfTUFKT1IgfTsKIAotc3RhdGljIGludCBpZGVidXNfcGFyYW1ldGVyOwkvKiBob2xkcyB0aGUgImlkZWJ1cz0iIHBhcmFtZXRlciAqLwotc3RhdGljIGludCBzeXN0ZW1fYnVzX3NwZWVkOwkvKiBob2xkcyB3aGF0IHdlIHRoaW5rIGlzIFZFU0EvUENJIGJ1cyBzcGVlZCAqLwotCiBERUZJTkVfTVVURVgoaWRlX2NmZ19tdHgpOwotIF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhpZGVfbG9jayk7CiAKLWludCBub2F1dG9kbWEgPSAwOworX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgREVGSU5FX1NQSU5MT0NLKGlkZV9sb2NrKTsKK0VYUE9SVF9TWU1CT0woaWRlX2xvY2spOwogCiBpZGVfaHdpZl90IGlkZV9od2lmc1tNQVhfSFdJRlNdOwkvKiBtYXN0ZXIgZGF0YSByZXBvc2l0b3J5ICovCiAKQEAgLTEzOSw3ICsxMzYsNiBAQAogCQlkcml2ZS0+bWVkaWEJCQk9IGlkZV9kaXNrOwogCQlkcml2ZS0+c2VsZWN0LmFsbAkJPSAodW5pdDw8NCl8MHhhMDsKIAkJZHJpdmUtPmh3aWYJCQk9IGh3aWY7Ci0JCWRyaXZlLT5jdGwJCQk9IDB4MDg7CiAJCWRyaXZlLT5yZWFkeV9zdGF0CQk9IFJFQURZX1NUQVQ7CiAJCWRyaXZlLT5iYWRfd3N0YXQJCT0gQkFEX1dfU1RBVDsKIAkJZHJpdmUtPnNwZWNpYWwuYi5yZWNhbGlicmF0ZQk9IDE7CkBAIC0xNTQsMzIgKzE1MCw5IEBACiAJfQogfQogCi0vKgotICogaW5pdF9pZGVfZGF0YSgpIHNldHMgcmVhc29uYWJsZSBkZWZhdWx0IHZhbHVlcyBpbnRvIGFsbCBmaWVsZHMKLSAqIG9mIGFsbCBpbnN0YW5jZXMgb2YgdGhlIGh3aWZzIGFuZCBkcml2ZXMsIGJ1dCBvbmx5IG9uIHRoZSBmaXJzdCBjYWxsLgotICogU3Vic2VxdWVudCBjYWxscyBoYXZlIG5vIGVmZmVjdCAodGhleSBkb24ndCB3aXBlIG91dCBhbnl0aGluZykuCi0gKgotICogVGhpcyByb3V0aW5lIGlzIG5vcm1hbGx5IGNhbGxlZCBhdCBkcml2ZXIgaW5pdGlhbGl6YXRpb24gdGltZSwKLSAqIGJ1dCBtYXkgYWxzbyBiZSBjYWxsZWQgTVVDSCBlYXJsaWVyIGR1cmluZyBrZXJuZWwgImNvbW1hbmQtbGluZSIKLSAqIHBhcmFtZXRlciBwcm9jZXNzaW5nLiAgQXMgc3VjaCwgd2UgY2Fubm90IGRlcGVuZCBvbiBhbnkgb3RoZXIgcGFydHMKLSAqIG9mIHRoZSBrZXJuZWwgKHN1Y2ggYXMgbWVtb3J5IGFsbG9jYXRpb24pIHRvIGJlIGZ1bmN0aW9uaW5nIHlldC4KLSAqCi0gKiBUaGlzIGlzIHRvbyBiYWQsIGFzIG90aGVyd2lzZSB3ZSBjb3VsZCBkeW5hbWljYWxseSBhbGxvY2F0ZSB0aGUKLSAqIGlkZV9kcml2ZV90IHN0cnVjdHMgYXMgbmVlZGVkLCByYXRoZXIgdGhhbiBhbHdheXMgY29uc3VtaW5nIG1lbW9yeQotICogZm9yIHRoZSBtYXggcG9zc2libGUgbnVtYmVyIChNQVhfSFdJRlMgKiBNQVhfRFJJVkVTKSBvZiB0aGVtLgotICoKLSAqIEZJWE1FOiBXZSBzaG91bGQgc3R1ZmYgdGhlIHNldHVwIGRhdGEgaW50byBfX2luaXQgYW5kIGNvcHkgdGhlCi0gKiByZWxldmFudCBod2lmcy9hbGxvY2F0ZSB0aGVtIHByb3Blcmx5IGR1cmluZyBib290LgotICovCi0jZGVmaW5lIE1BR0lDX0NPT0tJRSAweDEyMzQ1Njc4CiBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9pZGVfZGF0YSAodm9pZCkKIHsKIAl1bnNpZ25lZCBpbnQgaW5kZXg7Ci0Jc3RhdGljIHVuc2lnbmVkIGxvbmcgbWFnaWNfY29va2llID0gTUFHSUNfQ09PS0lFOwotCi0JaWYgKG1hZ2ljX2Nvb2tpZSAhPSBNQUdJQ19DT09LSUUpCi0JCXJldHVybjsJCS8qIGFscmVhZHkgaW5pdGlhbGl6ZWQgKi8KLQltYWdpY19jb29raWUgPSAwOwogCiAJLyogSW5pdGlhbGlzZSBhbGwgaW50ZXJmYWNlIHN0cnVjdHVyZXMgKi8KIAlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBNQVhfSFdJRlM7ICsraW5kZXgpIHsKQEAgLTE4OSwzOCArMTYyLDYgQEAKIAl9CiB9CiAKLS8qKgotICoJaWRlX3N5c3RlbV9idXNfc3BlZWQJLQlndWVzcyBidXMgc3BlZWQKLSAqCi0gKglpZGVfc3lzdGVtX2J1c19zcGVlZCgpIHJldHVybnMgd2hhdCB3ZSB0aGluayBpcyB0aGUgc3lzdGVtIFZFU0EvUENJCi0gKglidXMgc3BlZWQgKGluIE1IeikuIFRoaXMgaXMgdXNlZCBmb3IgY2FsY3VsYXRpbmcgaW50ZXJmYWNlIFBJTyB0aW1pbmdzLgotICoJVGhlIGRlZmF1bHQgaXMgNDAgZm9yIGtub3duIFBDSSBzeXN0ZW1zLCA1MCBvdGhlcndpc2UuCi0gKglUaGUgImlkZWJ1cz14eCIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoaXMgdmFsdWUuCi0gKglUaGUgYWN0dWFsIHZhbHVlIHRvIGJlIHVzZWQgaXMgY29tcHV0ZWQvZGlzcGxheWVkIHRoZSBmaXJzdCB0aW1lCi0gKgl0aHJvdWdoLiBEcml2ZXJzIHNob3VsZCBvbmx5IHVzZSB0aGlzIGFzIGEgbGFzdCByZXNvcnQuCi0gKgotICoJUmV0dXJucyBhIGd1ZXNzZWQgc3BlZWQgaW4gTUh6LgotICovCi0KLXN0YXRpYyBpbnQgaWRlX3N5c3RlbV9idXNfc3BlZWQodm9pZCkKLXsKLSNpZmRlZiBDT05GSUdfUENJCi0Jc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHBjaV9kZWZhdWx0W10gPSB7Ci0JCXsgUENJX0RFVklDRShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lEKSB9LAotCQl7IH0KLQl9OwotI2Vsc2UKLSNkZWZpbmUgcGNpX2RlZmF1bHQgMAotI2VuZGlmIC8qIENPTkZJR19QQ0kgKi8KLQotCS8qIHVzZXIgc3VwcGxpZWQgdmFsdWUgKi8KLQlpZiAoaWRlYnVzX3BhcmFtZXRlcikKLQkJcmV0dXJuIGlkZWJ1c19wYXJhbWV0ZXI7Ci0KLQkvKiBzYWZlIGRlZmF1bHQgdmFsdWUgZm9yIFBDSSBvciBWRVNBIGFuZCBQQ0kqLwotCXJldHVybiBwY2lfZGV2X3ByZXNlbnQocGNpX2RlZmF1bHQpID8gMzMgOiA1MDsKLX0KLQogdm9pZCBpZGVfcmVtb3ZlX3BvcnRfZnJvbV9od2dyb3VwKGlkZV9od2lmX3QgKmh3aWYpCiB7CiAJaWRlX2h3Z3JvdXBfdCAqaHdncm91cCA9IGh3aWYtPmh3Z3JvdXA7CkBAIC00OTgsNyArNDM5LDcgQEAKIAogaW50IHNldF9waW9fbW9kZShpZGVfZHJpdmVfdCAqZHJpdmUsIGludCBhcmcpCiB7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKIAljb25zdCBzdHJ1Y3QgaWRlX3BvcnRfb3BzICpwb3J0X29wcyA9IGh3aWYtPnBvcnRfb3BzOwogCkBAIC01MTIsMTIgKzQ1MywxNSBAQAogCWlmIChkcml2ZS0+c3BlY2lhbC5iLnNldF90dW5lKQogCQlyZXR1cm4gLUVCVVNZOwogCi0JaWRlX2luaXRfZHJpdmVfY21kKCZycSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9BVEFfVEFTS0ZJTEU7CiAKIAlkcml2ZS0+dHVuZV9yZXEgPSAodTgpIGFyZzsKIAlkcml2ZS0+c3BlY2lhbC5iLnNldF90dW5lID0gMTsKLQkodm9pZCkgaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisKKwlibGtfZXhlY3V0ZV9ycShkcml2ZS0+cXVldWUsIE5VTEwsIHJxLCAwKTsKKwlibGtfcHV0X3JlcXVlc3QocnEpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTUzNywyNSArNDgxLDExIEBACiAJcmV0dXJuIDA7CiB9CiAKLS8qKgotICoJc3lzdGVtX2J1c19jbG9jawktCWNsb2NrIGd1ZXNzCi0gKgotICoJRXh0ZXJuYWwgdmVyc2lvbiBvZiB0aGUgYnVzIGNsb2NrIGd1ZXNzIHVzZWQgYnkgdmVyeSBvbGQgSURFIGRyaXZlcnMKLSAqCWZvciB0aGluZ3MgbGlrZSBWTEIgdGltaW5ncy4gU2hvdWxkIG5vdCBiZSB1c2VkLgotICovCi0KLWludCBzeXN0ZW1fYnVzX2Nsb2NrICh2b2lkKQotewotCXJldHVybiBzeXN0ZW1fYnVzX3NwZWVkOwotfQotCi1FWFBPUlRfU1lNQk9MKHN5c3RlbV9idXNfY2xvY2spOwotCiBzdGF0aWMgaW50IGdlbmVyaWNfaWRlX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2LCBwbV9tZXNzYWdlX3QgbWVzZykKIHsKIAlpZGVfZHJpdmVfdCAqZHJpdmUgPSBkZXYtPmRyaXZlcl9kYXRhOwogCWlkZV9od2lmX3QgKmh3aWYgPSBIV0lGKGRyaXZlKTsKLQlzdHJ1Y3QgcmVxdWVzdCBycTsKKwlzdHJ1Y3QgcmVxdWVzdCAqcnE7CiAJc3RydWN0IHJlcXVlc3RfcG1fc3RhdGUgcnFwbTsKIAlpZGVfdGFza190IGFyZ3M7CiAJaW50IHJldDsKQEAgLTU2NCwxOCArNDk0LDE5IEBACiAJaWYgKCEoZHJpdmUtPmRuICUgMikpCiAJCWlkZV9hY3BpX2dldF90aW1pbmcoaHdpZik7CiAKLQlibGtfcnFfaW5pdChOVUxMLCAmcnEpOwogCW1lbXNldCgmcnFwbSwgMCwgc2l6ZW9mKHJxcG0pKTsKIAltZW1zZXQoJmFyZ3MsIDAsIHNpemVvZihhcmdzKSk7Ci0JcnEuY21kX3R5cGUgPSBSRVFfVFlQRV9QTV9TVVNQRU5EOwotCXJxLnNwZWNpYWwgPSAmYXJnczsKLQlycS5kYXRhID0gJnJxcG07CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9QTV9TVVNQRU5EOworCXJxLT5zcGVjaWFsID0gJmFyZ3M7CisJcnEtPmRhdGEgPSAmcnFwbTsKIAlycXBtLnBtX3N0ZXAgPSBpZGVfcG1fc3RhdGVfc3RhcnRfc3VzcGVuZDsKIAlpZiAobWVzZy5ldmVudCA9PSBQTV9FVkVOVF9QUkVUSEFXKQogCQltZXNnLmV2ZW50ID0gUE1fRVZFTlRfRlJFRVpFOwogCXJxcG0ucG1fc3RhdGUgPSBtZXNnLmV2ZW50OwogCi0JcmV0ID0gaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgJnJxLCBpZGVfd2FpdCk7CisJcmV0ID0gYmxrX2V4ZWN1dGVfcnEoZHJpdmUtPnF1ZXVlLCBOVUxMLCBycSwgMCk7CisJYmxrX3B1dF9yZXF1ZXN0KHJxKTsKIAkvKiBvbmx5IGNhbGwgQUNQSSBfUFMzIGFmdGVyIGJvdGggZHJpdmVycyBhcmUgc3VzcGVuZGVkICovCiAJaWYgKCFyZXQgJiYgKCgoZHJpdmUtPmRuICUgMikgJiYgaHdpZi0+ZHJpdmVzWzBdLnByZXNlbnQKIAkJICYmIGh3aWYtPmRyaXZlc1sxXS5wcmVzZW50KQpAQCAtNTg5LDcgKzUyMCw3IEBACiB7CiAJaWRlX2RyaXZlX3QgKmRyaXZlID0gZGV2LT5kcml2ZXJfZGF0YTsKIAlpZGVfaHdpZl90ICpod2lmID0gSFdJRihkcml2ZSk7Ci0Jc3RydWN0IHJlcXVlc3QgcnE7CisJc3RydWN0IHJlcXVlc3QgKnJxOwogCXN0cnVjdCByZXF1ZXN0X3BtX3N0YXRlIHJxcG07CiAJaWRlX3Rhc2tfdCBhcmdzOwogCWludCBlcnI7CkBAIC02MDIsMTYgKzUzMywxOCBAQAogCiAJaWRlX2FjcGlfZXhlY190ZnMoZHJpdmUpOwogCi0JYmxrX3JxX2luaXQoTlVMTCwgJnJxKTsKIAltZW1zZXQoJnJxcG0sIDAsIHNpemVvZihycXBtKSk7CiAJbWVtc2V0KCZhcmdzLCAwLCBzaXplb2YoYXJncykpOwotCXJxLmNtZF90eXBlID0gUkVRX1RZUEVfUE1fUkVTVU1FOwotCXJxLnNwZWNpYWwgPSAmYXJnczsKLQlycS5kYXRhID0gJnJxcG07CisJcnEgPSBibGtfZ2V0X3JlcXVlc3QoZHJpdmUtPnF1ZXVlLCBSRUFELCBfX0dGUF9XQUlUKTsKKwlycS0+Y21kX3R5cGUgPSBSRVFfVFlQRV9QTV9SRVNVTUU7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKKwlycS0+c3BlY2lhbCA9ICZhcmdzOworCXJxLT5kYXRhID0gJnJxcG07CiAJcnFwbS5wbV9zdGVwID0gaWRlX3BtX3N0YXRlX3N0YXJ0X3Jlc3VtZTsKIAlycXBtLnBtX3N0YXRlID0gUE1fRVZFTlRfT047CiAKLQllcnIgPSBpZGVfZG9fZHJpdmVfY21kKGRyaXZlLCAmcnEsIGlkZV9oZWFkX3dhaXQpOworCWVyciA9IGJsa19leGVjdXRlX3JxKGRyaXZlLT5xdWV1ZSwgTlVMTCwgcnEsIDEpOworCWJsa19wdXRfcmVxdWVzdChycSk7CiAKIAlpZiAoZXJyID09IDAgJiYgZGV2LT5kcml2ZXIpIHsKIAkJaWRlX2RyaXZlcl90ICpkcnYgPSB0b19pZGVfZHJpdmVyKGRldi0+ZHJpdmVyKTsKQEAgLTc2NCwyMTIgKzY5Nyw2IEBACiAKIEVYUE9SVF9TWU1CT0woZ2VuZXJpY19pZGVfaW9jdGwpOwogCi0vKgotICogc3RyaWR4KCkgcmV0dXJucyB0aGUgb2Zmc2V0IG9mIGMgd2l0aGluIHMsCi0gKiBvciAtMSBpZiBjIGlzICdcMCcgb3Igbm90IGZvdW5kIHdpdGhpbiBzLgotICovCi1zdGF0aWMgaW50IF9faW5pdCBzdHJpZHggKGNvbnN0IGNoYXIgKnMsIGNoYXIgYykKLXsKLQljaGFyICppID0gc3RyY2hyKHMsIGMpOwotCXJldHVybiAoaSAmJiBjKSA/IGkgLSBzIDogLTE7Ci19Ci0KLS8qCi0gKiBtYXRjaF9wYXJtKCkgZG9lcyBwYXJzaW5nIGZvciBpZGVfc2V0dXAoKToKLSAqCi0gKiAxLiB0aGUgZmlyc3QgY2hhciBvZiBzIG11c3QgYmUgJz0nLgotICogMi4gaWYgdGhlIHJlbWFpbmRlciBtYXRjaGVzIG9uZSBvZiB0aGUgc3VwcGxpZWQga2V5d29yZHMsCi0gKiAgICAgdGhlIGluZGV4ICgxIGJhc2VkKSBvZiB0aGUga2V5d29yZCBpcyBuZWdhdGVkIGFuZCByZXR1cm5lZC4KLSAqIDMuIGlmIHRoZSByZW1haW5kZXIgaXMgYSBzZXJpZXMgb2Ygbm8gbW9yZSB0aGFuIG1heF92YWxzIG51bWJlcnMKLSAqICAgICBzZXBhcmF0ZWQgYnkgY29tbWFzLCB0aGUgbnVtYmVycyBhcmUgc2F2ZWQgaW4gdmFsc1tdIGFuZCBhCi0gKiAgICAgY291bnQgb2YgaG93IG1hbnkgd2VyZSBzYXZlZCBpcyByZXR1cm5lZC4gIEJhc2UxMCBpcyBhc3N1bWVkLAotICogICAgIGFuZCBiYXNlMTYgaXMgYWxsb3dlZCB3aGVuIHByZWZpeGVkIHdpdGggIjB4Ii4KLSAqIDQuIG90aGVyd2lzZSwgemVybyBpcyByZXR1cm5lZC4KLSAqLwotc3RhdGljIGludCBfX2luaXQgbWF0Y2hfcGFybSAoY2hhciAqcywgY29uc3QgY2hhciAqa2V5d29yZHNbXSwgaW50IHZhbHNbXSwgaW50IG1heF92YWxzKQotewotCXN0YXRpYyBjb25zdCBjaGFyICpkZWNpbWFsID0gIjAxMjM0NTY3ODkiOwotCXN0YXRpYyBjb25zdCBjaGFyICpoZXggPSAiMDEyMzQ1Njc4OWFiY2RlZiI7Ci0JaW50IGksIG47Ci0KLQlpZiAoKnMrKyA9PSAnPScpIHsKLQkJLyoKLQkJICogVHJ5IG1hdGNoaW5nIGFnYWluc3QgdGhlIHN1cHBsaWVkIGtleXdvcmRzLAotCQkgKiBhbmQgcmV0dXJuIC0oaW5kZXgrMSkgaWYgd2UgbWF0Y2ggb25lCi0JCSAqLwotCQlpZiAoa2V5d29yZHMgIT0gTlVMTCkgewotCQkJZm9yIChpID0gMDsgKmtleXdvcmRzICE9IE5VTEw7ICsraSkgewotCQkJCWlmICghc3RyY21wKHMsICprZXl3b3JkcysrKSkKLQkJCQkJcmV0dXJuIC0oaSsxKTsKLQkJCX0KLQkJfQotCQkvKgotCQkgKiBMb29rIGZvciBhIHNlcmllcyBvZiBubyBtb3JlIHRoYW4gIm1heF92YWxzIgotCQkgKiBudW1lcmljIHZhbHVlcyBzZXBhcmF0ZWQgYnkgY29tbWFzLCBpbiBiYXNlMTAsCi0JCSAqIG9yIGJhc2UxNiB3aGVuIHByZWZpeGVkIHdpdGggIjB4Ii4KLQkJICogUmV0dXJuIGEgY291bnQgb2YgaG93IG1hbnkgd2VyZSBmb3VuZC4KLQkJICovCi0JCWZvciAobiA9IDA7IChpID0gc3RyaWR4KGRlY2ltYWwsICpzKSkgPj0gMDspIHsKLQkJCXZhbHNbbl0gPSBpOwotCQkJd2hpbGUgKChpID0gc3RyaWR4KGRlY2ltYWwsICorK3MpKSA+PSAwKQotCQkJCXZhbHNbbl0gPSAodmFsc1tuXSAqIDEwKSArIGk7Ci0JCQlpZiAoKnMgPT0gJ3gnICYmICF2YWxzW25dKSB7Ci0JCQkJd2hpbGUgKChpID0gc3RyaWR4KGhleCwgKisrcykpID49IDApCi0JCQkJCXZhbHNbbl0gPSAodmFsc1tuXSAqIDB4MTApICsgaTsKLQkJCX0KLQkJCWlmICgrK24gPT0gbWF4X3ZhbHMpCi0JCQkJYnJlYWs7Ci0JCQlpZiAoKnMgPT0gJywnIHx8ICpzID09ICc7JykKLQkJCQkrK3M7Ci0JCX0KLQkJaWYgKCEqcykKLQkJCXJldHVybiBuOwotCX0KLQlyZXR1cm4gMDsJLyogemVybyA9IG5vdGhpbmcgbWF0Y2hlZCAqLwotfQotCi0vKgotICogaWRlX3NldHVwKCkgZ2V0cyBjYWxsZWQgVkVSWSBFQVJMWSBkdXJpbmcgaW5pdGlhbGl6YXRpb24sCi0gKiB0byBoYW5kbGUga2VybmVsICJjb21tYW5kIGxpbmUiIHN0cmluZ3MgYmVnaW5uaW5nIHdpdGggImhkeD0iIG9yICJpZGUiLgotICoKLSAqIFJlbWVtYmVyIHRvIHVwZGF0ZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGlmIHlvdSBjaGFuZ2Ugc29tZXRoaW5nIGhlcmUuCi0gKi8KLXN0YXRpYyBpbnQgX19pbml0IGlkZV9zZXR1cChjaGFyICpzKQotewotCWlkZV9od2lmX3QgKmh3aWY7Ci0JaWRlX2RyaXZlX3QgKmRyaXZlOwotCXVuc2lnbmVkIGludCBodywgdW5pdDsKLQlpbnQgdmFsc1szXTsKLQljb25zdCBjaGFyIG1heF9kcml2ZSA9ICdhJyArICgoTUFYX0hXSUZTICogTUFYX0RSSVZFUykgLSAxKTsKLQotCWlmIChzdHJuY21wKHMsImhkIiwyKSA9PSAwICYmIHNbMl0gPT0gJz0nKQkvKiBoZD0gaXMgZm9yIGhkLmMgICAqLwotCQlyZXR1cm4gMDsJCQkJLyogZHJpdmVyIGFuZCBub3QgdXMgKi8KLQotCWlmIChzdHJuY21wKHMsImlkZSIsMykgJiYgc3RybmNtcChzLCJpZGVidXMiLDYpICYmIHN0cm5jbXAocywiaGQiLDIpKQotCQlyZXR1cm4gMDsKLQotCXByaW50ayhLRVJOX0lORk8gImlkZV9zZXR1cDogJXMiLCBzKTsKLQlpbml0X2lkZV9kYXRhICgpOwotCi0jaWZkZWYgQ09ORklHX0JMS19ERVZfSURFRE9VQkxFUgotCWlmICghc3RyY21wKHMsICJpZGU9ZG91YmxlciIpKSB7Ci0JCWV4dGVybiBpbnQgaWRlX2RvdWJsZXI7Ci0KLQkJcHJpbnRrKCIgOiBFbmFibGVkIHN1cHBvcnQgZm9yIElERSBkb3VibGVyc1xuIik7Ci0JCWlkZV9kb3VibGVyID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lERURPVUJMRVIgKi8KLQotCWlmICghc3RyY21wKHMsICJpZGU9bm9kbWEiKSkgewotCQlwcmludGsoIiA6IFByZXZlbnRlZCBETUFcbiIpOwotCQlub2F1dG9kbWEgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0KLSNpZmRlZiBDT05GSUdfQkxLX0RFVl9JREVBQ1BJCi0JaWYgKCFzdHJjbXAocywgImlkZT1ub2FjcGkiKSkgewotCQkvL3ByaW50aygiIDogRGlzYWJsZSBJREUgQUNQSSBzdXBwb3J0LlxuIik7Ci0JCWlkZV9ub2FjcGkgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0JaWYgKCFzdHJjbXAocywgImlkZT1hY3BpZ3RmIikpIHsKLQkJLy9wcmludGsoIiA6IEVuYWJsZSBJREUgQUNQSSBfR1RGIHN1cHBvcnQuXG4iKTsKLQkJaWRlX2FjcGlndGYgPSAxOwotCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQl9Ci0JaWYgKCFzdHJjbXAocywgImlkZT1hY3Bpb25ib290IikpIHsKLQkJLy9wcmludGsoIiA6IENhbGwgSURFIEFDUEkgbWV0aG9kcyBvbiBib290LlxuIik7Ci0JCWlkZV9hY3Bpb25ib290ID0gMTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lERUFDUEkgKi8KLQotCS8qCi0JICogTG9vayBmb3IgZHJpdmUgb3B0aW9uczogICJoZHg9IgotCSAqLwotCWlmIChzWzBdID09ICdoJyAmJiBzWzFdID09ICdkJyAmJiBzWzJdID49ICdhJyAmJiBzWzJdIDw9IG1heF9kcml2ZSkgewotCQljb25zdCBjaGFyICpoZF93b3Jkc1tdID0gewotCQkJIm5vbmUiLCAibm9wcm9iZSIsICJub3dlcnIiLCAiY2Ryb20iLCAibm9kbWEiLAotCQkJIi02IiwgIi03IiwgIi04IiwgIi05IiwgIi0xMCIsCi0JCQkibm9mbHVzaCIsICJyZW1hcCIsICJyZW1hcDYzIiwgInNjc2kiLCBOVUxMIH07Ci0JCXVuaXQgPSBzWzJdIC0gJ2EnOwotCQlodyAgID0gdW5pdCAvIE1BWF9EUklWRVM7Ci0JCXVuaXQgPSB1bml0ICUgTUFYX0RSSVZFUzsKLQkJaHdpZiA9ICZpZGVfaHdpZnNbaHddOwotCQlkcml2ZSA9ICZod2lmLT5kcml2ZXNbdW5pdF07Ci0JCWlmIChzdHJuY21wKHMgKyA0LCAiaWRlLSIsIDQpID09IDApIHsKLQkJCXN0cmxjcHkoZHJpdmUtPmRyaXZlcl9yZXEsIHMgKyA0LCBzaXplb2YoZHJpdmUtPmRyaXZlcl9yZXEpKTsKLQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQl9Ci0JCXN3aXRjaCAobWF0Y2hfcGFybSgmc1szXSwgaGRfd29yZHMsIHZhbHMsIDMpKSB7Ci0JCQljYXNlIC0xOiAvKiAibm9uZSIgKi8KLQkJCWNhc2UgLTI6IC8qICJub3Byb2JlIiAqLwotCQkJCWRyaXZlLT5ub3Byb2JlID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgLTM6IC8qICJub3dlcnIiICovCi0JCQkJZHJpdmUtPmJhZF93c3RhdCA9IEJBRF9SX1NUQVQ7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC00OiAvKiAiY2Ryb20iICovCi0JCQkJZHJpdmUtPnByZXNlbnQgPSAxOwotCQkJCWRyaXZlLT5tZWRpYSA9IGlkZV9jZHJvbTsKLQkJCQkvKiBhbiBBVEFQSSBkZXZpY2UgaWdub3JlcyBEUkRZICovCi0JCQkJZHJpdmUtPnJlYWR5X3N0YXQgPSAwOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtNTogLyogbm9kbWEgKi8KLQkJCQlkcml2ZS0+bm9kbWEgPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTE6IC8qIG5vZmx1c2ggKi8KLQkJCQlkcml2ZS0+bm9mbHVzaCA9IDE7Ci0JCQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JCQljYXNlIC0xMjogLyogInJlbWFwIiAqLwotCQkJCWRyaXZlLT5yZW1hcF8wX3RvXzEgPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTM6IC8qICJyZW1hcDYzIiAqLwotCQkJCWRyaXZlLT5zZWN0MCA9IDYzOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJY2FzZSAtMTQ6IC8qICJzY3NpIiAqLwotCQkJCWRyaXZlLT5zY3NpID0gMTsKLQkJCQlnb3RvIG9ic29sZXRlX29wdGlvbjsKLQkJCWNhc2UgMzogLyogY3lsLGhlYWQsc2VjdCAqLwotCQkJCWRyaXZlLT5tZWRpYQk9IGlkZV9kaXNrOwotCQkJCWRyaXZlLT5yZWFkeV9zdGF0ID0gUkVBRFlfU1RBVDsKLQkJCQlkcml2ZS0+Y3lsCT0gZHJpdmUtPmJpb3NfY3lsICA9IHZhbHNbMF07Ci0JCQkJZHJpdmUtPmhlYWQJPSBkcml2ZS0+Ymlvc19oZWFkID0gdmFsc1sxXTsKLQkJCQlkcml2ZS0+c2VjdAk9IGRyaXZlLT5iaW9zX3NlY3QgPSB2YWxzWzJdOwotCQkJCWRyaXZlLT5wcmVzZW50CT0gMTsKLQkJCQlkcml2ZS0+Zm9yY2VkX2dlb20gPSAxOwotCQkJCWdvdG8gb2Jzb2xldGVfb3B0aW9uOwotCQkJZGVmYXVsdDoKLQkJCQlnb3RvIGJhZF9vcHRpb247Ci0JCX0KLQl9Ci0KLQlpZiAoc1swXSAhPSAnaScgfHwgc1sxXSAhPSAnZCcgfHwgc1syXSAhPSAnZScpCi0JCWdvdG8gYmFkX29wdGlvbjsKLQkvKgotCSAqIExvb2sgZm9yIGJ1cyBzcGVlZCBvcHRpb246ICAiaWRlYnVzPSIKLQkgKi8KLQlpZiAoc1szXSA9PSAnYicgJiYgc1s0XSA9PSAndScgJiYgc1s1XSA9PSAncycpIHsKLQkJaWYgKG1hdGNoX3Bhcm0oJnNbNl0sIE5VTEwsIHZhbHMsIDEpICE9IDEpCi0JCQlnb3RvIGJhZF9vcHRpb247Ci0JCWlmICh2YWxzWzBdID49IDIwICYmIHZhbHNbMF0gPD0gNjYpIHsKLQkJCWlkZWJ1c19wYXJhbWV0ZXIgPSB2YWxzWzBdOwotCQl9IGVsc2UKLQkJCXByaW50aygiIC0tIEJBRCBCVVMgU1BFRUQhIEV4cGVjdGVkIHZhbHVlIGZyb20gMjAgdG8gNjYiKTsKLQkJZ290byBvYnNvbGV0ZV9vcHRpb247Ci0JfQotCi1iYWRfb3B0aW9uOgotCXByaW50aygiIC0tIEJBRCBPUFRJT05cbiIpOwotCXJldHVybiAxOwotb2Jzb2xldGVfb3B0aW9uOgotCXByaW50aygiIC0tIE9CU09MRVRFIE9QVElPTiwgV0lMTCBCRSBSRU1PVkVEIFNPT04hXG4iKTsKLQlyZXR1cm4gMTsKLX0KLQotRVhQT1JUX1NZTUJPTChpZGVfbG9jayk7Ci0KIHN0YXRpYyBpbnQgaWRlX2J1c19tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCiB7CiAJcmV0dXJuIDE7CkBAIC0xMjgxLDExICsxMDA4LDYgQEAKIAlpbnQgcmV0OwogCiAJcHJpbnRrKEtFUk5fSU5GTyAiVW5pZm9ybSBNdWx0aS1QbGF0Zm9ybSBFLUlERSBkcml2ZXJcbiIpOwotCXN5c3RlbV9idXNfc3BlZWQgPSBpZGVfc3lzdGVtX2J1c19zcGVlZCgpOwotCi0JcHJpbnRrKEtFUk5fSU5GTyAiaWRlOiBBc3N1bWluZyAlZE1IeiBzeXN0ZW0gYnVzIHNwZWVkICIKLQkJCSAiZm9yIFBJTyBtb2RlcyVzXG4iLCBzeXN0ZW1fYnVzX3NwZWVkLAotCQkJaWRlYnVzX3BhcmFtZXRlciA/ICIiIDogIjsgb3ZlcnJpZGUgd2l0aCBpZGVidXM9eHgiKTsKIAogCXJldCA9IGJ1c19yZWdpc3RlcigmaWRlX2J1c190eXBlKTsKIAlpZiAocmV0IDwgMCkgewpAQCAtMTMxMSwzMiArMTAzMyw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotI2lmZGVmIE1PRFVMRQotc3RhdGljIGNoYXIgKm9wdGlvbnMgPSBOVUxMOwotbW9kdWxlX3BhcmFtKG9wdGlvbnMsIGNoYXJwLCAwKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQotc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX29wdGlvbnMgKGNoYXIgKmxpbmUpCi17Ci0JY2hhciAqbmV4dCA9IGxpbmU7Ci0KLQlpZiAobGluZSA9PSBOVUxMIHx8ICEqbGluZSkKLQkJcmV0dXJuOwotCXdoaWxlICgobGluZSA9IG5leHQpICE9IE5VTEwpIHsKLSAJCWlmICgobmV4dCA9IHN0cmNocihsaW5lLCcgJykpICE9IE5VTEwpCi0JCQkqbmV4dCsrID0gMDsKLQkJaWYgKCFpZGVfc2V0dXAobGluZSkpCi0JCQlwcmludGsgKEtFUk5fSU5GTyAiVW5rbm93biBvcHRpb24gJyVzJ1xuIiwgbGluZSk7Ci0JfQotfQotCi1pbnQgX19pbml0IGluaXRfbW9kdWxlICh2b2lkKQotewotCXBhcnNlX29wdGlvbnMob3B0aW9ucyk7Ci0JcmV0dXJuIGlkZV9pbml0KCk7Ci19Ci0KLXZvaWQgX19leGl0IGNsZWFudXBfbW9kdWxlICh2b2lkKQorc3RhdGljIHZvaWQgX19leGl0IGlkZV9leGl0KHZvaWQpCiB7CiAJcHJvY19pZGVfZGVzdHJveSgpOwogCkBAIC0xMzQ1LDEwICsxMDQyLDcgQEAKIAlidXNfdW5yZWdpc3RlcigmaWRlX2J1c190eXBlKTsKIH0KIAotI2Vsc2UgLyogIU1PRFVMRSAqLwotCi1fX3NldHVwKCIiLCBpZGVfc2V0dXApOwotCiBtb2R1bGVfaW5pdChpZGVfaW5pdCk7Cittb2R1bGVfZXhpdChpZGVfZXhpdCk7CiAKLSNlbmRpZiAvKiBNT0RVTEUgKi8KK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9hbGkxNHh4LmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvYWxpMTR4eC5jCmluZGV4IDkwYzY1Y2YuLjA1MjEyNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9hbGkxNHh4LmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L2FsaTE0eHguYwpAQCAtMTE2LDcgKzExNiw3IEBACiAJaW50IHRpbWUxLCB0aW1lMjsKIAl1OCBwYXJhbTEsIHBhcmFtMiwgcGFyYW0zLCBwYXJhbTQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3ZsYl9jbGsgPyBpZGVfdmxiX2NsayA6IDUwOwogCiAJLyogY2FsY3VsYXRlIHRpbWluZywgYWNjb3JkaW5nIHRvIFBJTyBtb2RlICovCiAJdGltZTEgPSBpZGVfcGlvX2N5Y2xlX3RpbWUoZHJpdmUsIHBpbyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvZ2F5bGUuYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jCmluZGV4IGZlZDdkODEuLmI3ODk0MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9nYXlsZS5jCkBAIC02NCw5ICs2NCw3IEBACiAjZGVmaW5lIEdBWUxFX0hBU19DT05UUk9MX1JFRwkoIWlkZV9kb3VibGVyKQogI2RlZmluZSBHQVlMRV9JREVSRUdfU0laRQkoaWRlX2RvdWJsZXIgPyAweDEwMDAgOiAweDIwMDApCiAKLWludCBpZGVfZG91YmxlciA9IDA7CS8qIHN1cHBvcnQgSURFIGRvdWJsZXJzPyAqLwotRVhQT1JUX1NZTUJPTF9HUEwoaWRlX2RvdWJsZXIpOwotCitzdGF0aWMgaW50IGlkZV9kb3VibGVyOwogbW9kdWxlX3BhcmFtX25hbWVkKGRvdWJsZXIsIGlkZV9kb3VibGVyLCBib29sLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MoZG91YmxlciwgImVuYWJsZSBzdXBwb3J0IGZvciBJREUgZG91YmxlcnMiKTsKICNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JREVET1VCTEVSICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvaHQ2NTYwYi5jIGIvZHJpdmVycy9pZGUvbGVnYWN5L2h0NjU2MGIuYwppbmRleCA0ZmU1MTZkLi5kZDZkZmIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvaHQ2NTYwYi5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9odDY1NjBiLmMKQEAgLTIxMiw3ICsyMTIsNyBAQAogewogCWludCBhY3RpdmVfdGltZSwgcmVjb3ZlcnlfdGltZTsKIAlpbnQgYWN0aXZlX2N5Y2xlcywgcmVjb3ZlcnlfY3ljbGVzOwotCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBidXNfc3BlZWQgPSBpZGVfdmxiX2NsayA/IGlkZV92bGJfY2xrIDogNTA7CiAKICAgICAgICAgaWYgKHBpbykgewogCQl1bnNpZ25lZCBpbnQgY3ljbGVfdGltZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2xlZ2FjeS9pZGUtY3MuYyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9pZGUtY3MuYwppbmRleCAzMzgxNDI0Li44ZGJmNGQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9sZWdhY3kvaWRlLWNzLmMKKysrIGIvZHJpdmVycy9pZGUvbGVnYWN5L2lkZS1jcy5jCkBAIC02MywxMSArNjMsMTEgQEAKIAogI2RlZmluZSBJTlRfTU9EVUxFX1BBUk0obiwgdikgc3RhdGljIGludCBuID0gdjsgbW9kdWxlX3BhcmFtKG4sIGludCwgMCkKIAotI2lmZGVmIFBDTUNJQV9ERUJVRwotSU5UX01PRFVMRV9QQVJNKHBjX2RlYnVnLCBQQ01DSUFfREVCVUcpOworI2lmZGVmIENPTkZJR19QQ01DSUFfREVCVUcKK0lOVF9NT0RVTEVfUEFSTShwY19kZWJ1ZywgMCk7CiAjZGVmaW5lIERFQlVHKG4sIGFyZ3MuLi4pIGlmIChwY19kZWJ1Zz4obikpIHByaW50ayhLRVJOX0RFQlVHIGFyZ3MpCi1zdGF0aWMgY2hhciAqdmVyc2lvbiA9Ci0iaWRlLWNzLmMgMS4zIDIwMDIvMTAvMjYgMDU6NDU6MzEgKERhdmlkIEhpbmRzKSI7CisvKnN0YXRpYyBjaGFyICp2ZXJzaW9uID0KKyJpZGUtY3MuYyAxLjMgMjAwMi8xMC8yNiAwNTo0NTozMSAoRGF2aWQgSGluZHMpIjsqLwogI2Vsc2UKICNkZWZpbmUgREVCVUcobiwgYXJncy4uLikKICNlbmRpZgpAQCAtMzc1LDcgKzM3NSw3IEBACiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwogCi12b2lkIGlkZV9yZWxlYXNlKHN0cnVjdCBwY21jaWFfZGV2aWNlICpsaW5rKQorc3RhdGljIHZvaWQgaWRlX3JlbGVhc2Uoc3RydWN0IHBjbWNpYV9kZXZpY2UgKmxpbmspCiB7CiAgICAgaWRlX2luZm9fdCAqaW5mbyA9IGxpbmstPnByaXY7CiAgICAgaWRlX2h3aWZfdCAqaHdpZiA9IGluZm8tPmh3aWY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9sZWdhY3kvcWQ2NXh4LmMgYi9kcml2ZXJzL2lkZS9sZWdhY3kvcWQ2NXh4LmMKaW5kZXggNjQyNGFmMS4uNTFkYmE4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvbGVnYWN5L3FkNjV4eC5jCisrKyBiL2RyaXZlcnMvaWRlL2xlZ2FjeS9xZDY1eHguYwpAQCAtMTEwLDcgKzExMCw3IEBACiAKIHN0YXRpYyB1OCBxZDY1MDBfY29tcHV0ZV90aW1pbmcgKGlkZV9od2lmX3QgKmh3aWYsIGludCBhY3RpdmVfdGltZSwgaW50IHJlY292ZXJ5X3RpbWUpCiB7Ci0JaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAl1OCBhY3RfY3ljLCByZWNfY3ljOwogCiAJaWYgKGNsayA8PSAzMykgewpAQCAtMTMyLDcgKzEzMiw3IEBACiAKIHN0YXRpYyB1OCBxZDY1ODBfY29tcHV0ZV90aW1pbmcgKGludCBhY3RpdmVfdGltZSwgaW50IHJlY292ZXJ5X3RpbWUpCiB7Ci0JaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGNsayA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAl1OCBhY3RfY3ljLCByZWNfY3ljOwogCiAJYWN0X2N5YyA9IDE3IC0gSURFX0lOKGFjdGl2ZV90aW1lICAgKiBjbGsgLyAxMDAwICsgMSwgMiwgMTcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2FlYzYyeHguYyBiL2RyaXZlcnMvaWRlL3BjaS9hZWM2Mnh4LmMKaW5kZXggN2Y0NmMyMi4uYWU3YTQzMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL2FlYzYyeHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvYWVjNjJ4eC5jCkBAIC0xNDAsNyArMTQwLDcgQEAKIAogc3RhdGljIHVuc2lnbmVkIGludCBfX2RldmluaXQgaW5pdF9jaGlwc2V0X2FlYzYyeHgoc3RydWN0IHBjaV9kZXYgKmRldiwgY29uc3QgY2hhciAqbmFtZSkKIHsKLQlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKTsKKwlpbnQgYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzOwogCiAJaWYgKGJ1c19zcGVlZCA8PSAzMykKIAkJcGNpX3NldF9kcnZkYXRhKGRldiwgKHZvaWQgKikgYWVjNnh4eF8zM19iYXNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jIGIvZHJpdmVycy9pZGUvcGNpL2FsaW0xNXgzLmMKaW5kZXggZjIxMjlkNS4uZjJkZTAwYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9hbGltMTV4My5jCkBAIC03Miw3ICs3Miw3IEBACiAJaW50IHNfdGltZSwgYV90aW1lLCBjX3RpbWU7CiAJdTggc19jbGMsIGFfY2xjLCByX2NsYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogc3lzdGVtX2J1c19jbG9jaygpOworCWludCBidXNfc3BlZWQgPSBpZGVfcGNpX2NsayA/IGlkZV9wY2lfY2xrIDogMzM7CiAJaW50IHBvcnQgPSBod2lmLT5jaGFubmVsID8gMHg1YyA6IDB4NTg7CiAJaW50IHBvcnRGSUZPID0gaHdpZi0+Y2hhbm5lbCA/IDB4NTUgOiAweDU0OwogCXU4IGNkX2RtYV9maWZvID0gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9hbWQ3NHh4LmMgYi9kcml2ZXJzL2lkZS9wY2kvYW1kNzR4eC5jCmluZGV4IGVmY2Y1NDMuLmFkMjIyMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9hbWQ3NHh4LmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL2FtZDc0eHguYwpAQCAtNTMsMjAgKzUzLDIwIEBACiAJdTggdCA9IDAsIG9mZnNldCA9IGFtZF9vZmZzZXQoZGV2KTsKIAogCXBjaV9yZWFkX2NvbmZpZ19ieXRlKGRldiwgQU1EX0FERFJFU1NfU0VUVVAgKyBvZmZzZXQsICZ0KTsKLQl0ID0gKHQgJiB+KDMgPDwgKCgzIC0gZG4pIDw8IDEpKSkgfCAoKEZJVCh0aW1pbmctPnNldHVwLCAxLCA0KSAtIDEpIDw8ICgoMyAtIGRuKSA8PCAxKSk7CisJdCA9ICh0ICYgfigzIDw8ICgoMyAtIGRuKSA8PCAxKSkpIHwgKChjbGFtcF92YWwodGltaW5nLT5zZXR1cCwgMSwgNCkgLSAxKSA8PCAoKDMgLSBkbikgPDwgMSkpOwogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIEFNRF9BRERSRVNTX1NFVFVQICsgb2Zmc2V0LCB0KTsKIAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIEFNRF84QklUX1RJTUlORyArIG9mZnNldCArICgxIC0gKGRuID4+IDEpKSwKLQkJKChGSVQodGltaW5nLT5hY3Q4YiwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjOGIsIDEsIDE2KSAtIDEpKTsKKwkJKChjbGFtcF92YWwodGltaW5nLT5hY3Q4YiwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjOGIsIDEsIDE2KSAtIDEpKTsKIAogCXBjaV93cml0ZV9jb25maWdfYnl0ZShkZXYsIEFNRF9EUklWRV9USU1JTkcgKyBvZmZzZXQgKyAoMyAtIGRuKSwKLQkJKChGSVQodGltaW5nLT5hY3RpdmUsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKEZJVCh0aW1pbmctPnJlY292ZXIsIDEsIDE2KSAtIDEpKTsKKwkJKChjbGFtcF92YWwodGltaW5nLT5hY3RpdmUsIDEsIDE2KSAtIDEpIDw8IDQpIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnJlY292ZXIsIDEsIDE2KSAtIDEpKTsKIAogCXN3aXRjaCAodWRtYV9tYXNrKSB7Ci0JY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbRklUKHRpbWluZy0+dWRtYSwgMiwgMTApXSkgOiAweDAzOyBicmVhazsKLQljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW0ZJVCh0aW1pbmctPnVkbWEsIDEsIDEwKV0pIDogMHgwMzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtGSVQodGltaW5nLT51ZG1hLCAxLCAxNSldKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUEyOiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgNSkgLSAyKSkgOiAweDAzOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNDogdCA9IHRpbWluZy0+dWRtYSA/ICgweGMwIHwgYW1kX2N5YzJ1ZG1hW2NsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDEwKV0pIDogMHgwMzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTU6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhjMCB8IGFtZF9jeWMydWRtYVtjbGFtcF92YWwodGltaW5nLT51ZG1hLCAxLCAxMCldKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUE2OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4YzAgfCBhbWRfY3ljMnVkbWFbY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMSwgMTUpXSkgOiAweDAzOyBicmVhazsKIAlkZWZhdWx0OiByZXR1cm47CiAJfQogCkBAIC0xNzksNyArMTc5LDcgQEAKICAqIERldGVybWluZSB0aGUgc3lzdGVtIGJ1cyBjbG9jay4KICAqLwogCi0JYW1kX2Nsb2NrID0gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCkpICogMTAwMDsKKwlhbWRfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKSAqIDEwMDA7CiAKIAlzd2l0Y2ggKGFtZF9jbG9jaykgewogCQljYXNlIDMzMDAwOiBhbWRfY2xvY2sgPSAzMzMzMzsgYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvY21kNjQwLmMgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjQwLmMKaW5kZXggYjM4YTE5ODAuLmNkMWJhMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NDAuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjQwLmMKQEAgLTUyNSwxMiArNTI1LDEwIEBACiAJdTggc2V0dXBfY291bnQsIGFjdGl2ZV9jb3VudCwgcmVjb3ZlcnlfY291bnQsIHJlY292ZXJ5X2NvdW50MiwgY3ljbGVfY291bnQ7CiAJaW50IGJ1c19zcGVlZDsKIAotCWlmIChjbWQ2NDBfdmxiICYmIGlkZV92bGJfY2xrKQotCQlidXNfc3BlZWQgPSBpZGVfdmxiX2NsazsKLQllbHNlIGlmICghY21kNjQwX3ZsYiAmJiBpZGVfcGNpX2NsaykKLQkJYnVzX3NwZWVkID0gaWRlX3BjaV9jbGs7CisJaWYgKGNtZDY0MF92bGIpCisJCWJ1c19zcGVlZCA9IGlkZV92bGJfY2xrID8gaWRlX3ZsYl9jbGsgOiA1MDsKIAllbHNlCi0JCWJ1c19zcGVlZCA9IHN5c3RlbV9idXNfY2xvY2soKTsKKwkJYnVzX3NwZWVkID0gaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzOwogCiAJaWYgKHBpb19tb2RlID4gNSkKIAkJcGlvX21vZGUgPSA1OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2NtZDY0eC5jIGIvZHJpdmVycy9pZGUvcGNpL2NtZDY0eC5jCmluZGV4IDA4Njc0NzEuLmNhNDc3NGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9jbWQ2NHguYworKysgYi9kcml2ZXJzL2lkZS9wY2kvY21kNjR4LmMKQEAgLTY5LDcgKzY5LDcgQEAKIHN0YXRpYyB2b2lkIHByb2dyYW1fY3ljbGVfdGltZXMgKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IGN5Y2xlX3RpbWUsIGludCBhY3RpdmVfdGltZSkKIHsKIAlzdHJ1Y3QgcGNpX2RldiAqZGV2ID0gdG9fcGNpX2Rldihkcml2ZS0+aHdpZi0+ZGV2KTsKLQlpbnQgY2xvY2tfdGltZSA9IDEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IHN5c3RlbV9idXNfY2xvY2soKSk7CisJaW50IGNsb2NrX3RpbWUgPSAxMDAwIC8gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMyk7CiAJdTggIGN5Y2xlX2NvdW50LCBhY3RpdmVfY291bnQsIHJlY292ZXJ5X2NvdW50LCBkcnd0aW07CiAJc3RhdGljIGNvbnN0IHU4IHJlY292ZXJ5X3ZhbHVlc1tdID0KIAkJezE1LCAxNSwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAwfTsKQEAgLTEyOCw3ICsxMjgsNyBAQAogCQkJICAgIGlkZV9waW9fdGltaW5nc1twaW9dLmFjdGl2ZV90aW1lKTsKIAogCXNldHVwX2NvdW50ID0gcXVhbnRpemVfdGltaW5nKGlkZV9waW9fdGltaW5nc1twaW9dLnNldHVwX3RpbWUsCi0JCQkxMDAwIC8gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCkpKTsKKwkJCTEwMDAgLyAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKSk7CiAKIAkvKgogCSAqIFRoZSBwcmltYXJ5IGNoYW5uZWwgaGFzIGluZGl2aWR1YWwgYWRkcmVzcyBzZXR1cCB0aW1pbmcgcmVnaXN0ZXJzCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvY3k4MmM2OTMuYyBiL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jCmluZGV4IDc3Y2MyMmMuLjhjNTM0YWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9jeTgyYzY5My5jCkBAIC0xMzQsNyArMTM0LDcgQEAKIHN0YXRpYyB2b2lkIGNvbXB1dGVfY2xvY2tzKHU4IHBpbywgcGlvX2Nsb2Nrc190ICpwX3BjbGspCiB7CiAJaW50IGNsazEsIGNsazI7Ci0JaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCk7CisJaW50IGJ1c19zcGVlZCA9IGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiAzMzsKIAogCS8qIHdlIGRvbid0IGNoZWNrIGFnYWluc3QgQ1k4MkM2OTMncyBtaW4gYW5kIG1heCBzcGVlZCwKIAkgKiBzbyB5b3UgY2FuIHBsYXkgd2l0aCB0aGUgaWRlYnVzPXh4IHBhcmFtZXRlcgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvcGNpL2hwdDM2Ni5jIGIvZHJpdmVycy9pZGUvcGNpL2hwdDM2Ni5jCmluZGV4IGM5MjlkYWQuLjM5N2M2Y2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9ocHQzNjYuYworKysgYi9kcml2ZXJzL2lkZS9wY2kvaHB0MzY2LmMKQEAgLTc1OSw4ICs3NTksNyBAQAogCQkJCWVuYWJsZV9pcnEgKGh3aWYtPmlycSk7CiAJCX0KIAl9IGVsc2UKLQkJb3V0YihtYXNrID8gKGRyaXZlLT5jdGwgfCAyKSA6IChkcml2ZS0+Y3RsICYgfjIpLAotCQkgICAgIGh3aWYtPmlvX3BvcnRzLmN0bF9hZGRyKTsKKwkJb3V0YihBVEFfREVWQ1RMX09CUyB8IChtYXNrID8gMiA6IDApLCBod2lmLT5pb19wb3J0cy5jdGxfYWRkcik7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvbnM4NzQxNS5jIGIvZHJpdmVycy9pZGUvcGNpL25zODc0MTUuYwppbmRleCBhN2E0MWJiLi40NWJhNzFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvbnM4NzQxNS5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9uczg3NDE1LmMKQEAgLTc2LDcgKzc2LDcgQEAKIAl9CiAKIAkvKiBiZSBzdXJlIHdlJ3JlIGxvb2tpbmcgYXQgdGhlIGxvdyBvcmRlciBiaXRzICovCi0Jb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJb3V0YihBVEFfREVWQ1RMX09CUyAmIH4weDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0lOX05TRUNUKQogCQl0Zi0+bnNlY3QgID0gaW5iKGlvX3BvcnRzLT5uc2VjdF9hZGRyKTsKQEAgLTkwLDcgKzkwLDcgQEAKIAkJdGYtPmRldmljZSA9IHN1cGVyaW9faWRlX2luYihpb19wb3J0cy0+ZGV2aWNlX2FkZHIpOwogCiAJaWYgKHRhc2stPnRmX2ZsYWdzICYgSURFX1RGTEFHX0xCQTQ4KSB7Ci0JCW91dGIoZHJpdmUtPmN0bCB8IDB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJCW91dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IGluYihpb19wb3J0cy0+ZmVhdHVyZV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zY2NfcGF0YS5jIGIvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMKaW5kZXggOTEwZmIwMC4uMTU4NGViYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3NjY19wYXRhLmMKQEAgLTE0OCwxMSArMTQ4LDggQEAKIAlvdXRfYmUzMigodm9pZCopcG9ydCwgYWRkcik7CiB9CiAKLXN0YXRpYyB2b2lkCi1zY2NfaWRlX291dGJzeW5jKGlkZV9kcml2ZV90ICogZHJpdmUsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCkKK3N0YXRpYyB2b2lkIHNjY19pZGVfb3V0YnN5bmMoaWRlX2h3aWZfdCAqaHdpZiwgdTggYWRkciwgdW5zaWduZWQgbG9uZyBwb3J0KQogewotCWlkZV9od2lmX3QgKmh3aWYgPSBIV0lGKGRyaXZlKTsKLQogCW91dF9iZTMyKCh2b2lkKilwb3J0LCBhZGRyKTsKIAllaWVpbygpOwogCWluX2JlMzIoKHZvaWQqKShod2lmLT5kbWFfYmFzZSArIDB4MDFjKSk7CkBAIC02NjIsOCArNjU5LDYgQEAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfRkxBR0dFRCkKIAkJSElISSA9IDB4RkY7CiAKLQlpZGVfc2V0X2lycShkcml2ZSwgMSk7Ci0KIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfT1VUX0RBVEEpCiAJCW91dF9iZTMyKCh2b2lkICopaW9fcG9ydHMtPmRhdGFfYWRkciwKIAkJCSAodGYtPmhvYl9kYXRhIDw8IDgpIHwgdGYtPmRhdGEpOwpAQCAtNzA4LDcgKzcwMyw3IEBACiAJfQogCiAJLyogYmUgc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBsb3cgb3JkZXIgYml0cyAqLwotCXNjY19pZGVfb3V0Yihkcml2ZS0+Y3RsICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CisJc2NjX2lkZV9vdXRiKEFUQV9ERVZDVExfT0JTICYgfjB4ODAsIGlvX3BvcnRzLT5jdGxfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfSU5fTlNFQ1QpCiAJCXRmLT5uc2VjdCAgPSBzY2NfaWRlX2luYihpb19wb3J0cy0+bnNlY3RfYWRkcik7CkBAIC03MjIsNyArNzE3LDcgQEAKIAkJdGYtPmRldmljZSA9IHNjY19pZGVfaW5iKGlvX3BvcnRzLT5kZXZpY2VfYWRkcik7CiAKIAlpZiAodGFzay0+dGZfZmxhZ3MgJiBJREVfVEZMQUdfTEJBNDgpIHsKLQkJc2NjX2lkZV9vdXRiKGRyaXZlLT5jdGwgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOworCQlzY2NfaWRlX291dGIoQVRBX0RFVkNUTF9PQlMgfCAweDgwLCBpb19wb3J0cy0+Y3RsX2FkZHIpOwogCiAJCWlmICh0YXNrLT50Zl9mbGFncyAmIElERV9URkxBR19JTl9IT0JfRkVBVFVSRSkKIAkJCXRmLT5ob2JfZmVhdHVyZSA9IHNjY19pZGVfaW5iKGlvX3BvcnRzLT5mZWF0dXJlX2FkZHIpOwpAQCAtNzk1LDcgKzc5MCw2IEBACiAKIAlod2lmLT5kbWFfYmFzZSA9IGRtYV9iYXNlOwogCWh3aWYtPmNvbmZpZ19kYXRhID0gcG9ydHMtPmN0bDsKLQlod2lmLT5tbWlvID0gMTsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jIGIvZHJpdmVycy9pZGUvcGNpL3NnaWlvYzQuYwppbmRleCAxNmEwYmNlLi4yNDUxM2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wY2kvc2dpaW9jNC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS9zZ2lpb2M0LmMKQEAgLTExMSw3ICsxMTEsNyBAQAogc3RhdGljIHZvaWQKIHNnaWlvYzRfbWFza3Byb2MoaWRlX2RyaXZlX3QgKiBkcml2ZSwgaW50IG1hc2spCiB7Ci0Jd3JpdGViKG1hc2sgPyAoZHJpdmUtPmN0bCB8IDIpIDogKGRyaXZlLT5jdGwgJiB+MiksCisJd3JpdGViKEFUQV9ERVZDVExfT0JTIHwgKG1hc2sgPyAyIDogMCksCiAJICAgICAgICh2b2lkIF9faW9tZW0gKilkcml2ZS0+aHdpZi0+aW9fcG9ydHMuY3RsX2FkZHIpOwogfQogCkBAIC0zNjksOCArMzY5LDcgQEAKIAlod2lmLT5zZ19tYXhfbmVudHMgPSBJT0M0X1BSRF9FTlRSSUVTOwogCiAJcGFkID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQoZGV2LCBJT0M0X0lERV9DQUNIRUxJTkVfU0laRSwKLQkJCQkgICAoZG1hX2FkZHJfdCAqKSAmKGh3aWYtPmRtYV9zdGF0dXMpKTsKLQorCQkJCSAgIChkbWFfYWRkcl90ICopJmh3aWYtPmV4dHJhX2Jhc2UpOwogCWlmIChwYWQpIHsKIAkJaWRlX3NldF9od2lmZGF0YShod2lmLCBwYWQpOwogCQlyZXR1cm4gMDsKQEAgLTQzOSw3ICs0MzgsNyBAQAogCiAJLyogQWRkcmVzcyBvZiB0aGUgRW5kaW5nIERNQSAqLwogCW1lbXNldChpZGVfZ2V0X2h3aWZkYXRhKGh3aWYpLCAwLCBJT0M0X0lERV9DQUNIRUxJTkVfU0laRSk7Ci0JZW5kaW5nX2RtYV9hZGRyID0gY3B1X3RvX2xlMzIoaHdpZi0+ZG1hX3N0YXR1cyk7CisJZW5kaW5nX2RtYV9hZGRyID0gY3B1X3RvX2xlMzIoaHdpZi0+ZXh0cmFfYmFzZSk7CiAJd3JpdGVsKGVuZGluZ19kbWFfYWRkciwgKHZvaWQgX19pb21lbSAqKShkbWFfYmFzZSArIElPQzRfRE1BX0VORF9BRERSICogNCkpOwogCiAJd3JpdGVsKGRtYV9kaXJlY3Rpb24sICh2b2lkIF9faW9tZW0gKilpb2M0X2RtYV9hZGRyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMgYi9kcml2ZXJzL2lkZS9wY2kvc2lpbWFnZS5jCmluZGV4IDAwMDZiOWUuLmI3NWU5YmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL3BjaS9zaWltYWdlLmMKKysrIGIvZHJpdmVycy9pZGUvcGNpL3NpaW1hZ2UuYwpAQCAtOTQsNyArOTQsNyBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZSA9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAogCWJhc2UgKz0gMHhBMCArIHI7Ci0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJYmFzZSArPSBod2lmLT5jaGFubmVsIDw8IDY7CiAJZWxzZQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNDsKQEAgLTExNyw3ICsxMTcsNyBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAogCWJhc2UgKz0gMHhBMCArIHI7Ci0JaWYgKGh3aWYtPm1taW8pCisJaWYgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJYmFzZSArPSBod2lmLT5jaGFubmVsIDw8IDY7CiAJZWxzZQogCQliYXNlICs9IGh3aWYtPmNoYW5uZWwgPDwgNDsKQEAgLTE5MCw3ICsxOTAsOSBAQAogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAl1OCBzY3NjLCBtYXNrCQk9IDA7CiAKLQlzY3NjID0gc2lsX2lvcmVhZDgoZGV2LCBiYXNlICsgKGh3aWYtPm1taW8gPyAweDRBIDogMHg4QSkpOworCWJhc2UgKz0gKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykgPyAweDRBIDogMHg4QTsKKworCXNjc2MgPSBzaWxfaW9yZWFkOChkZXYsIGJhc2UpOwogCiAJc3dpdGNoIChzY3NjICYgMHgzMCkgewogCWNhc2UgMHgxMDoJLyogMTMzICovCkBAIC0yMzgsOCArMjQwLDkgQEAKIAl1bnNpZ25lZCBsb25nIHRmYWRkcgk9IHNpaW1hZ2Vfc2VscmVnKGh3aWYsCTB4MDIpOwogCXVuc2lnbmVkIGxvbmcgYmFzZQk9ICh1bnNpZ25lZCBsb25nKWh3aWYtPmh3aWZfZGF0YTsKIAl1OCB0Zl9waW8JCT0gcGlvOwotCXU4IGFkZHJfbWFzawkJPSBod2lmLT5jaGFubmVsID8gKGh3aWYtPm1taW8gPyAweEY0IDogMHg4NCkKLQkJCQkJCTogKGh3aWYtPm1taW8gPyAweEI0IDogMHg4MCk7CisJdTggbW1pbwkJCT0gKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykgPyAxIDogMDsKKwl1OCBhZGRyX21hc2sJCT0gaHdpZi0+Y2hhbm5lbCA/IChtbWlvID8gMHhGNCA6IDB4ODQpCisJCQkJCQk6IChtbWlvID8gMHhCNCA6IDB4ODApOwogCXU4IG1vZGUJCQk9IDA7CiAJdTggdW5pdAkJCT0gZHJpdmUtPnNlbGVjdC5iLnVuaXQ7CiAKQEAgLTI5MCwxMyArMjkzLDEzIEBACiAJdTE2IHVsdHJhID0gMCwgbXVsdGkJPSAwOwogCXU4IG1vZGUgPSAwLCB1bml0CT0gZHJpdmUtPnNlbGVjdC5iLnVuaXQ7CiAJdW5zaWduZWQgbG9uZyBiYXNlCT0gKHVuc2lnbmVkIGxvbmcpaHdpZi0+aHdpZl9kYXRhOwotCXU4IHNjc2MgPSAwLCBhZGRyX21hc2sJPSBod2lmLT5jaGFubmVsID8KLQkJCQkJKGh3aWYtPm1taW8gPyAweEY0IDogMHg4NCkgOgotCQkJCQkoaHdpZi0+bW1pbyA/IDB4QjQgOiAweDgwKTsKKwl1OCBtbWlvCQkJPSAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKSA/IDEgOiAwOworCXU4IHNjc2MgPSAwLCBhZGRyX21hc2sJPSBod2lmLT5jaGFubmVsID8gKG1taW8gPyAweEY0IDogMHg4NCkKKwkJCQkJCTogKG1taW8gPyAweEI0IDogMHg4MCk7CiAJdW5zaWduZWQgbG9uZyBtYQk9IHNpaW1hZ2Vfc2VsZGV2KGRyaXZlLCAweDA4KTsKIAl1bnNpZ25lZCBsb25nIHVhCT0gc2lpbWFnZV9zZWxkZXYoZHJpdmUsIDB4MEMpOwogCi0Jc2NzYyAgPSBzaWxfaW9yZWFkOCAoZGV2LCBiYXNlICsgKGh3aWYtPm1taW8gPyAweDRBIDogMHg4QSkpOworCXNjc2MgID0gc2lsX2lvcmVhZDggKGRldiwgYmFzZSArIChtbWlvID8gMHg0QSA6IDB4OEEpKTsKIAltb2RlICA9IHNpbF9pb3JlYWQ4IChkZXYsIGJhc2UgKyBhZGRyX21hc2spOwogCW11bHRpID0gc2lsX2lvcmVhZDE2KGRldiwgbWEpOwogCXVsdHJhID0gc2lsX2lvcmVhZDE2KGRldiwgdWEpOwpAQCAtMzkxLDcgKzM5NCw3IEBACiAKIHN0YXRpYyBpbnQgc2lpbWFnZV9kbWFfdGVzdF9pcnEoaWRlX2RyaXZlX3QgKmRyaXZlKQogewotCWlmIChkcml2ZS0+aHdpZi0+bW1pbykKKwlpZiAoZHJpdmUtPmh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfTU1JTykKIAkJcmV0dXJuIHNpaW1hZ2VfbW1pb19kbWFfdGVzdF9pcnEoZHJpdmUpOwogCWVsc2UKIAkJcmV0dXJuIHNpaW1hZ2VfaW9fZG1hX3Rlc3RfaXJxKGRyaXZlKTsKQEAgLTY0MCw4ICs2NDMsNiBAQAogCWh3aWYtPmlycSA9IGRldi0+aXJxOwogCiAJaHdpZi0+ZG1hX2Jhc2UgPSAodW5zaWduZWQgbG9uZylhZGRyICsgKGNoID8gMHgwOCA6IDB4MDApOwotCi0JaHdpZi0+bW1pbyA9IDE7CiB9CiAKIHN0YXRpYyBpbnQgaXNfZGV2X3NlYWdhdGVfc2F0YShpZGVfZHJpdmVfdCAqZHJpdmUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMgYi9kcml2ZXJzL2lkZS9wY2kvdmlhODJjeHh4LmMKaW5kZXggNTY2ZTBlYy4uM2VkOTcyOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvcGNpL3ZpYTgyY3h4eC5jCisrKyBiL2RyaXZlcnMvaWRlL3BjaS92aWE4MmN4eHguYwpAQCAtMTIwLDIxICsxMjAsMjEgQEAKIAogCWlmICh+dmRldi0+dmlhX2NvbmZpZy0+ZmxhZ3MgJiBWSUFfQkFEX0FTVCkgewogCQlwY2lfcmVhZF9jb25maWdfYnl0ZShkZXYsIFZJQV9BRERSRVNTX1NFVFVQLCAmdCk7Ci0JCXQgPSAodCAmIH4oMyA8PCAoKDMgLSBkbikgPDwgMSkpKSB8ICgoRklUKHRpbWluZy0+c2V0dXAsIDEsIDQpIC0gMSkgPDwgKCgzIC0gZG4pIDw8IDEpKTsKKwkJdCA9ICh0ICYgfigzIDw8ICgoMyAtIGRuKSA8PCAxKSkpIHwgKChjbGFtcF92YWwodGltaW5nLT5zZXR1cCwgMSwgNCkgLSAxKSA8PCAoKDMgLSBkbikgPDwgMSkpOwogCQlwY2lfd3JpdGVfY29uZmlnX2J5dGUoZGV2LCBWSUFfQUREUkVTU19TRVRVUCwgdCk7CiAJfQogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgVklBXzhCSVRfVElNSU5HICsgKDEgLSAoZG4gPj4gMSkpLAotCQkoKEZJVCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChGSVQodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdDhiLCAxLCAxNikgLSAxKSA8PCA0KSB8IChjbGFtcF92YWwodGltaW5nLT5yZWM4YiwgMSwgMTYpIC0gMSkpOwogCiAJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKGRldiwgVklBX0RSSVZFX1RJTUlORyArICgzIC0gZG4pLAotCQkoKEZJVCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoRklUKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOworCQkoKGNsYW1wX3ZhbCh0aW1pbmctPmFjdGl2ZSwgMSwgMTYpIC0gMSkgPDwgNCkgfCAoY2xhbXBfdmFsKHRpbWluZy0+cmVjb3ZlciwgMSwgMTYpIC0gMSkpOwogCiAJc3dpdGNoICh2ZGV2LT52aWFfY29uZmlnLT51ZG1hX21hc2spIHsKLQljYXNlIEFUQV9VRE1BMjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDUpIC0gMikpIDogMHgwMzsgYnJlYWs7Ci0JY2FzZSBBVEFfVURNQTQ6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlOCB8IChGSVQodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MGY7IGJyZWFrOwotCWNhc2UgQVRBX1VETUE1OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTAgfCAoRklUKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDA3OyBicmVhazsKLQljYXNlIEFUQV9VRE1BNjogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKEZJVCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwNzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTI6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA1KSAtIDIpKSA6IDB4MDM7IGJyZWFrOworCWNhc2UgQVRBX1VETUE0OiB0ID0gdGltaW5nLT51ZG1hID8gKDB4ZTggfCAoY2xhbXBfdmFsKHRpbWluZy0+dWRtYSwgMiwgOSkgLSAyKSkgOiAweDBmOyBicmVhazsKKwljYXNlIEFUQV9VRE1BNTogdCA9IHRpbWluZy0+dWRtYSA/ICgweGUwIHwgKGNsYW1wX3ZhbCh0aW1pbmctPnVkbWEsIDIsIDkpIC0gMikpIDogMHgwNzsgYnJlYWs7CisJY2FzZSBBVEFfVURNQTY6IHQgPSB0aW1pbmctPnVkbWEgPyAoMHhlMCB8IChjbGFtcF92YWwodGltaW5nLT51ZG1hLCAyLCA5KSAtIDIpKSA6IDB4MDc7IGJyZWFrOwogCWRlZmF1bHQ6IHJldHVybjsKIAl9CiAKQEAgLTM0MCw3ICszNDAsNyBAQAogCSAqIERldGVybWluZSBzeXN0ZW0gYnVzIGNsb2NrLgogCSAqLwogCi0JdmlhX2Nsb2NrID0gKGlkZV9wY2lfY2xrID8gaWRlX3BjaV9jbGsgOiBzeXN0ZW1fYnVzX2Nsb2NrKCkpICogMTAwMDsKKwl2aWFfY2xvY2sgPSAoaWRlX3BjaV9jbGsgPyBpZGVfcGNpX2NsayA6IDMzKSAqIDEwMDA7CiAKIAlzd2l0Y2ggKHZpYV9jbG9jaykgewogCQljYXNlIDMzMDAwOiB2aWFfY2xvY2sgPSAzMzMzMzsgYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lkZS9wcGMvcG1hYy5jIGIvZHJpdmVycy9pZGUvcHBjL3BtYWMuYwppbmRleCBiYTJkNTg3Li5kY2IyYzQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lkZS9wcGMvcG1hYy5jCisrKyBiL2RyaXZlcnMvaWRlL3BwYy9wbWFjLmMKQEAgLTQ4MCwxMyArNDgwLDEzIEBACiAJCXBtYWNfaWRlX3NlbGVjdHByb2MoZHJpdmUpOwogfQogCi1zdGF0aWMgdm9pZAotcG1hY19vdXRic3luYyhpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCitzdGF0aWMgdm9pZCBwbWFjX291dGJzeW5jKGlkZV9od2lmX3QgKmh3aWYsIHU4IHZhbHVlLCB1bnNpZ25lZCBsb25nIHBvcnQpCiB7CiAJdTMyIHRtcDsKIAkKIAl3cml0ZWIodmFsdWUsICh2b2lkIF9faW9tZW0gKikgcG9ydCk7Ci0JdG1wID0gcmVhZGwoUE1BQ19JREVfUkVHKElERV9USU1JTkdfQ09ORklHKSk7CisJdG1wID0gcmVhZGwoKHZvaWQgX19pb21lbSAqKShod2lmLT5pb19wb3J0cy5kYXRhX2FkZHIKKwkJCQkgICAgICsgSURFX1RJTUlOR19DT05GSUcpKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL3NldHVwLXBjaS5jIGIvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMKaW5kZXggNTE3MTYwMS4uYWJjZmIxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMKKysrIGIvZHJpdmVycy9pZGUvc2V0dXAtcGNpLmMKQEAgLTg3LDcgKzg3LDcgQEAKIAl1bnNpZ25lZCBsb25nIGRtYV9iYXNlID0gMDsKIAl1OCBkbWFfc3RhdCA9IDA7CiAKLQlpZiAoaHdpZi0+bW1pbykKKwlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQlyZXR1cm4gaHdpZi0+ZG1hX2Jhc2U7CiAKIAlpZiAoaHdpZi0+bWF0ZSAmJiBod2lmLT5tYXRlLT5kbWFfYmFzZSkgewpAQCAtMzc0LDcgKzM3NCw3IEBACiAJCWlmIChiYXNlID09IDAgfHwgaWRlX3BjaV9zZXRfbWFzdGVyKGRldiwgZC0+bmFtZSkgPCAwKQogCQkJcmV0dXJuIC0xOwogCi0JCWlmIChod2lmLT5tbWlvKQorCQlpZiAoaHdpZi0+aG9zdF9mbGFncyAmIElERV9IRkxBR19NTUlPKQogCQkJcHJpbnRrKEtFUk5fSU5GTyAiICAgICVzOiBNTUlPLURNQVxuIiwgaHdpZi0+bmFtZSk7CiAJCWVsc2UKIAkJCXByaW50ayhLRVJOX0lORk8gIiAgICAlczogQk0tRE1BIGF0IDB4JTA0bHgtMHglMDRseFxuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvY3NyMTIxMi5jIGIvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMKaW5kZXggZTgxMjJkZS4uOWY5NTMzNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9jc3IxMjEyLmMKQEAgLTEwNDksNiArMTA0OSwyNCBAQAogCXJldHVybiAtRU5PRU5UOwogfQogCisvKgorICogQXBwYXJlbnRseSB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgd3JvbmcgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBDUkMKKyAqIGFsZ29yaXRobS4gIFdlIGRvbid0IGZhaWwsIHdlIGp1c3Qgd2Fybi4uLiBhcHByb3hpbWF0ZWx5IG9uY2UgcGVyIEdVSUQuCisgKi8KK3N0YXRpYyB2b2lkCitjc3IxMjEyX2NoZWNrX2NyYyhjb25zdCB1MzIgKmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgdTE2IGNyYywgX19iZTMyICpndWlkKQoreworCXN0YXRpYyB1NjQgbGFzdF9iYWRfZXVpNjQ7CisJdTY0IGV1aTY0ID0gKCh1NjQpYmUzMl90b19jcHUoZ3VpZFswXSkgPDwgMzIpIHwgYmUzMl90b19jcHUoZ3VpZFsxXSk7CisKKwlpZiAoY3NyMTIxMl9jcmMxNihidWZmZXIsIGxlbmd0aCkgPT0gY3JjIHx8CisJICAgIGNzcjEyMTJfbXNmdF9jcmMxNihidWZmZXIsIGxlbmd0aCkgPT0gY3JjIHx8CisJICAgIGV1aTY0ID09IGxhc3RfYmFkX2V1aTY0KQorCQlyZXR1cm47CisKKwlwcmludGsoS0VSTl9ERUJVRyAiaWVlZTEzOTQ6IGNvbmZpZyBST00gQ1JDIGVycm9yXG4iKTsKKwlsYXN0X2JhZF9ldWk2NCA9IGV1aTY0OworfQogCiAvKiBQYXJzZSBhIGNodW5rIG9mIGRhdGEgYXMgYSBDb25maWcgUk9NICovCiAKQEAgLTEwOTIsMTEgKzExMTAsOCBAQAogCQkJcmV0dXJuIHJldDsKIAl9CiAKLQkvKiBBcHBhcmVudGx5IHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCB3cm9uZyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIENSQwotCSAqIGFsZ29yaXRobS4gIFdlIGRvbid0IGZhaWwsIHdlIGp1c3Qgd2Fybi4gKi8KLQlpZiAoKGNzcjEyMTJfY3JjMTYoYmktPmRhdGEsIGJpLT5jcmNfbGVuZ3RoKSAhPSBiaS0+Y3JjKSAmJgotCSAgICAoY3NyMTIxMl9tc2Z0X2NyYzE2KGJpLT5kYXRhLCBiaS0+Y3JjX2xlbmd0aCkgIT0gYmktPmNyYykpCi0JCXByaW50ayhLRVJOX0RFQlVHICJJRUVFIDEzOTQgZGV2aWNlIGhhcyBST00gQ1JDIGVycm9yXG4iKTsKKwljc3IxMjEyX2NoZWNrX2NyYyhiaS0+ZGF0YSwgYmktPmNyY19sZW5ndGgsIGJpLT5jcmMsCisJCQkgICZjc3ItPmJ1c19pbmZvX2RhdGFbM10pOwogCiAJY3IgPSBDU1IxMjEyX01BTExPQyhzaXplb2YoKmNyKSk7CiAJaWYgKCFjcikKQEAgLTEyMDUsMTEgKzEyMjAsOCBAQAogCQkmY2FjaGUtPmRhdGFbYnl0ZXNfdG9fcXVhZHMoa3YtPm9mZnNldCAtIGNhY2hlLT5vZmZzZXQpXTsKIAlrdmlfbGVuID0gYmUxNl90b19jcHUoa3ZpLT5sZW5ndGgpOwogCi0JLyogQXBwYXJlbnRseSB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgd3JvbmcgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBDUkMKLQkgKiBhbGdvcml0aG0uICBXZSBkb24ndCBmYWlsLCB3ZSBqdXN0IHdhcm4uICovCi0JaWYgKChjc3IxMjEyX2NyYzE2KGt2aS0+ZGF0YSwga3ZpX2xlbikgIT0ga3ZpLT5jcmMpICYmCi0JICAgIChjc3IxMjEyX21zZnRfY3JjMTYoa3ZpLT5kYXRhLCBrdmlfbGVuKSAhPSBrdmktPmNyYykpCi0JCXByaW50ayhLRVJOX0RFQlVHICJJRUVFIDEzOTQgZGV2aWNlIGhhcyBST00gQ1JDIGVycm9yXG4iKTsKKwkvKiBHVUlEIGlzIHdyb25nIGluIGhlcmUgaW4gY2FzZSBvZiBleHRlbmRlZCBST00uICBXZSBkb24ndCBjYXJlLiAqLworCWNzcjEyMTJfY2hlY2tfY3JjKGt2aS0+ZGF0YSwga3ZpX2xlbiwga3ZpLT5jcmMsICZjYWNoZS0+ZGF0YVszXSk7CiAKIAlzd2l0Y2ggKGt2LT5rZXkudHlwZSkgewogCWNhc2UgQ1NSMTIxMl9LVl9UWVBFX0RJUkVDVE9SWToKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvZG1hLmMgYi9kcml2ZXJzL2llZWUxMzk0L2RtYS5jCmluZGV4IDczNjg1ZTcuLjFhYmE4YzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvZG1hLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9kbWEuYwpAQCAtMjc0LDcgKzI3NCw3IEBACiAJdm1hLT52bV9vcHMgPSAmZG1hX3JlZ2lvbl92bV9vcHM7CiAJdm1hLT52bV9wcml2YXRlX2RhdGEgPSBkbWE7CiAJdm1hLT52bV9maWxlID0gZmlsZTsKLQl2bWEtPnZtX2ZsYWdzIHw9IFZNX1JFU0VSVkVEOworCXZtYS0+dm1fZmxhZ3MgfD0gVk1fUkVTRVJWRUQgfCBWTV9BTFdBWVNEVU1QOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5jIGIvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuYwppbmRleCBmYTJiZmVjLi45MThmZmM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmMKQEAgLTIyOCwxMCArMjI4LDggQEAKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCisJaHBzYl9pbml0X2hpZ2hsZXZlbChobCk7CiAJSU5JVF9MSVNUX0hFQUQoJmhsLT5hZGRyX2xpc3QpOwotCUlOSVRfTElTVF9IRUFEKCZobC0+aG9zdF9pbmZvX2xpc3QpOwotCi0Jcndsb2NrX2luaXQoJmhsLT5ob3N0X2luZm9fbG9jayk7CiAKIAlkb3duX3dyaXRlKCZobF9kcml2ZXJzX3NlbSk7CiAJbGlzdF9hZGRfdGFpbCgmaGwtPmhsX2xpc3QsICZobF9kcml2ZXJzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmggYi9kcml2ZXJzL2llZWUxMzk0L2hpZ2hsZXZlbC5oCmluZGV4IGViOWZlMzIuLmJjNWQwODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWVlZTEzOTQvaGlnaGxldmVsLmgKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9oaWdobGV2ZWwuaApAQCAtMiw3ICsyLDcgQEAKICNkZWZpbmUgSUVFRTEzOTRfSElHSExFVkVMX0gKIAogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KLSNpbmNsdWRlIDxsaW51eC9zcGlubG9ja190eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAogc3RydWN0IG1vZHVsZTsKQEAgLTEwMyw2ICsxMDMsMTcgQEAKIHZvaWQgaGlnaGxldmVsX2ZjcF9yZXF1ZXN0KHN0cnVjdCBocHNiX2hvc3QgKmhvc3QsIGludCBub2RlaWQsIGludCBkaXJlY3Rpb24sCiAJCQkgICB2b2lkICpkYXRhLCBzaXplX3QgbGVuZ3RoKTsKIAorLyoqCisgKiBocHNiX2luaXRfaGlnaGxldmVsIC0gaW5pdGlhbGl6ZSBhIHN0cnVjdCBocHNiX2hpZ2hsZXZlbAorICoKKyAqIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgaWYgaHBzYl9nZXRfaG9zdGluZm9fYnlrZXkgY2FuIGJlIGNhbGxlZAorICogYmVmb3JlIGhwc2JfcmVnaXN0ZXJfaGlnaGxldmVsLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaHBzYl9pbml0X2hpZ2hsZXZlbChzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwgKmhsKQoreworCXJ3bG9ja19pbml0KCZobC0+aG9zdF9pbmZvX2xvY2spOworCUlOSVRfTElTVF9IRUFEKCZobC0+aG9zdF9pbmZvX2xpc3QpOworfQogdm9pZCBocHNiX3JlZ2lzdGVyX2hpZ2hsZXZlbChzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwgKmhsKTsKIHZvaWQgaHBzYl91bnJlZ2lzdGVyX2hpZ2hsZXZlbChzdHJ1Y3QgaHBzYl9oaWdobGV2ZWwgKmhsKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZWVlMTM5NC9yYXcxMzk0LmMgYi9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYwppbmRleCBlYzJhMGFkLi45NmYyODQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYworKysgYi9kcml2ZXJzL2llZWUxMzk0L3JhdzEzOTQuYwpAQCAtMjU0OSw4ICsyNTQ5LDggQEAKIH0KIAogLyogaW9jdGwgaXMgb25seSB1c2VkIGZvciByYXdpc28gb3BlcmF0aW9ucyAqLwotc3RhdGljIGludCByYXcxMzk0X2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLAotCQkJIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorc3RhdGljIGxvbmcgZG9fcmF3MTM5NF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCQkJCQl1bnNpZ25lZCBsb25nIGFyZykKIHsKIAlzdHJ1Y3QgZmlsZV9pbmZvICpmaSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKIAl2b2lkIF9fdXNlciAqYXJncCA9ICh2b2lkIF9fdXNlciAqKWFyZzsKQEAgLTI2NTYsNiArMjY1NiwxNiBAQAogCXJldHVybiAtRUlOVkFMOwogfQogCitzdGF0aWMgbG9uZyByYXcxMzk0X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAorCQkJCQkJCXVuc2lnbmVkIGxvbmcgYXJnKQoreworCWxvbmcgcmV0OworCWxvY2tfa2VybmVsKCk7CisJcmV0ID0gZG9fcmF3MTM5NF9pb2N0bChmaWxlLCBjbWQsIGFyZyk7CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7Cit9CisKICNpZmRlZiBDT05GSUdfQ09NUEFUCiBzdHJ1Y3QgcmF3MTM5NF9pc29fcGFja2V0czMyIHsKICAgICAgICAgX191MzIgbl9wYWNrZXRzOwpAQCAtMjY5MCw3ICsyNzAwLDcgQEAKIAkgICAgIWNvcHlfZnJvbV91c2VyKCZpbmZvczMyLCAmYXJnLT5pbmZvcywgc2l6ZW9mIGluZm9zMzIpKSB7CiAJCWluZm9zID0gY29tcGF0X3B0cihpbmZvczMyKTsKIAkJaWYgKCFjb3B5X3RvX3VzZXIoJmRzdC0+aW5mb3MsICZpbmZvcywgc2l6ZW9mIGluZm9zKSkKLQkJCWVyciA9IHJhdzEzOTRfaW9jdGwoTlVMTCwgZmlsZSwgY21kLCAodW5zaWduZWQgbG9uZylkc3QpOworCQkJZXJyID0gZG9fcmF3MTM5NF9pb2N0bChmaWxlLCBjbWQsICh1bnNpZ25lZCBsb25nKWRzdCk7CiAJfQogCXJldHVybiBlcnI7CiB9CkBAIC0yNzMxLDcgKzI3NDEsNyBAQAogCWNhc2UgUkFXMTM5NF9JT0NfSVNPX0dFVF9TVEFUVVM6CiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fU0hVVERPV046CiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fUVVFVUVfQUNUSVZJVFk6Ci0JCWVyciA9IHJhdzEzOTRfaW9jdGwoTlVMTCwgZmlsZSwgY21kLCBhcmcpOworCQllcnIgPSBkb19yYXcxMzk0X2lvY3RsKGZpbGUsIGNtZCwgYXJnKTsKIAkJYnJlYWs7CiAJLyogVGhlc2UgcmVxdWVzdCBoYXZlIGRpZmZlcmVudCBmb3JtYXQuICovCiAJY2FzZSBSQVcxMzk0X0lPQ19JU09fUkVDVl9QQUNLRVRTMzI6CkBAIC0yOTg0LDcgKzI5OTQsNyBAQAogCS5yZWFkID0gcmF3MTM5NF9yZWFkLAogCS53cml0ZSA9IHJhdzEzOTRfd3JpdGUsCiAJLm1tYXAgPSByYXcxMzk0X21tYXAsCi0JLmlvY3RsID0gcmF3MTM5NF9pb2N0bCwKKwkudW5sb2NrZWRfaW9jdGwgPSByYXcxMzk0X2lvY3RsLAogI2lmZGVmIENPTkZJR19DT01QQVQKIAkuY29tcGF0X2lvY3RsID0gcmF3MTM5NF9jb21wYXRfaW9jdGwsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5jIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMKaW5kZXggYTVjZWZmMi4uOWNiZjMxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmMKQEAgLTE4Niw2ICsxODYsMTEgQEAKICAqIC0gZGVsYXkgaW5xdWlyeQogICogICBXYWl0IGV4dHJhIFNCUDJfSU5RVUlSWV9ERUxBWSBzZWNvbmRzIGFmdGVyIGxvZ2luIGJlZm9yZSBTQ1NJIGlucXVpcnkuCiAgKgorICogLSBwb3dlciBjb25kaXRpb24KKyAqICAgU2V0IHRoZSBwb3dlciBjb25kaXRpb24gZmllbGQgaW4gdGhlIFNUQVJUIFNUT1AgVU5JVCBjb21tYW5kcyBzZW50IGJ5CisgKiAgIHNkX21vZCBvbiBzdXNwZW5kLCByZXN1bWUsIGFuZCBzaHV0ZG93biAoaWYgbWFuYWdlX3N0YXJ0X3N0b3AgaXMgb24pLgorICogICBTb21lIGRpc2tzIG5lZWQgdGhpcyB0byBzcGluIGRvd24gb3IgdG8gcmVzdW1lIHByb3Blcmx5LgorICoKICAqIC0gb3ZlcnJpZGUgaW50ZXJuYWwgYmxhY2tsaXN0CiAgKiAgIEluc3RlYWQgb2YgYWRkaW5nIHRvIHRoZSBidWlsdC1pbiBibGFja2xpc3QsIHVzZSBvbmx5IHRoZSB3b3JrYXJvdW5kcwogICogICBzcGVjaWZpZWQgaW4gdGhlIG1vZHVsZSBsb2FkIHBhcmFtZXRlci4KQEAgLTE5OSw2ICsyMDQsOCBAQAogCSIsIHNraXAgbW9kZSBwYWdlIDggPSAiICAgX19zdHJpbmdpZnkoU0JQMl9XT1JLQVJPVU5EX01PREVfU0VOU0VfOCkKIAkiLCBmaXggY2FwYWNpdHkgPSAiICAgICAgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkpCiAJIiwgZGVsYXkgaW5xdWlyeSA9ICIgICAgICBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSkKKwkiLCBzZXQgcG93ZXIgY29uZGl0aW9uIGluIHN0YXJ0IHN0b3AgdW5pdCA9ICIKKwkJCQkgIF9fc3RyaW5naWZ5KFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04pCiAJIiwgb3ZlcnJpZGUgaW50ZXJuYWwgYmxhY2tsaXN0ID0gIiBfX3N0cmluZ2lmeShTQlAyX1dPUktBUk9VTkRfT1ZFUlJJREUpCiAJIiwgb3IgYSBjb21iaW5hdGlvbikiKTsKIApAQCAtMzU5LDE4ICszNjYsMjUgQEAKIAkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMDI4MDAsCiAJCS5tb2RlbF9pZAkJPSAweDAwMTAxMCwKIAkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9JTlFVSVJZXzM2IHwKLQkJCQkJICBTQlAyX1dPUktBUk9VTkRfTU9ERV9TRU5TRV84LAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9NT0RFX1NFTlNFXzggfAorCQkJCQkgIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCiAJfSwKIAkvKiBEVmlDTyBNb21vYmF5IEZYLTNBIHdpdGggVFNCNDJBQTlBIGJyaWRnZSAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4MDAyODAwLAogCQkubW9kZWxfaWQJCT0gMHgwMDAwMDAsCi0JCS53b3JrYXJvdW5kcwkJPSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWSwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9ERUxBWV9JTlFVSVJZIHwKKwkJCQkJICBTQlAyX1dPUktBUk9VTkRfUE9XRVJfQ09ORElUSU9OLAogCX0sCiAJLyogSW5pdGlvIGJyaWRnZXMsIGFjdHVhbGx5IG9ubHkgbmVlZGVkIGZvciBzb21lIG9sZGVyIG9uZXMgKi8gewogCQkuZmlybXdhcmVfcmV2aXNpb24JPSAweDAwMDIwMCwKIAkJLm1vZGVsX2lkCQk9IFNCUDJfUk9NX1ZBTFVFX1dJTERDQVJELAogCQkud29ya2Fyb3VuZHMJCT0gU0JQMl9XT1JLQVJPVU5EX0lOUVVJUllfMzYsCiAJfSwKKwkvKiBQTC0zNTA3IGJyaWRnZSB3aXRoIFByb2xpZmljIGZpcm13YXJlICovIHsKKwkJLmZpcm13YXJlX3JldmlzaW9uCT0gMHgwMTI4MDAsCisJCS5tb2RlbF9pZAkJPSBTQlAyX1JPTV9WQUxVRV9XSUxEQ0FSRCwKKwkJLndvcmthcm91bmRzCQk9IFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04sCisJfSwKIAkvKiBTeW1iaW9zIGJyaWRnZSAqLyB7CiAJCS5maXJtd2FyZV9yZXZpc2lvbgk9IDB4YTBiODAwLAogCQkubW9kZWxfaWQJCT0gU0JQMl9ST01fVkFMVUVfV0lMRENBUkQsCkBAIC0xOTk1LDYgKzIwMDksOCBAQAogCiAJc2Rldi0+dXNlXzEwX2Zvcl9ydyA9IDE7CiAKKwlpZiAoc2JwMl9leGNsdXNpdmVfbG9naW4pCisJCXNkZXYtPm1hbmFnZV9zdGFydF9zdG9wID0gMTsKIAlpZiAoc2Rldi0+dHlwZSA9PSBUWVBFX1JPTSkKIAkJc2Rldi0+dXNlXzEwX2Zvcl9tcyA9IDE7CiAJaWYgKHNkZXYtPnR5cGUgPT0gVFlQRV9ESVNLICYmCkBAIC0yMDAyLDYgKzIwMTgsOCBAQAogCQlzZGV2LT5za2lwX21zX3BhZ2VfOCA9IDE7CiAJaWYgKGx1LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF9GSVhfQ0FQQUNJVFkpCiAJCXNkZXYtPmZpeF9jYXBhY2l0eSA9IDE7CisJaWYgKGx1LT53b3JrYXJvdW5kcyAmIFNCUDJfV09SS0FST1VORF9QT1dFUl9DT05ESVRJT04pCisJCXNkZXYtPnN0YXJ0X3N0b3BfcHdyX2NvbmQgPSAxOwogCWlmIChsdS0+d29ya2Fyb3VuZHMgJiBTQlAyX1dPUktBUk9VTkRfMTI4S19NQVhfVFJBTlMpCiAJCWJsa19xdWV1ZV9tYXhfc2VjdG9ycyhzZGV2LT5yZXF1ZXN0X3F1ZXVlLCAxMjggKiAxMDI0IC8gNTEyKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWVlZTEzOTQvc2JwMi5oIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmgKaW5kZXggODBkOGUwOS4uODc1NDI4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmgKKysrIGIvZHJpdmVycy9pZWVlMTM5NC9zYnAyLmgKQEAgLTM0NSw2ICszNDUsNyBAQAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfRklYX0NBUEFDSVRZCTB4OAogI2RlZmluZSBTQlAyX1dPUktBUk9VTkRfREVMQVlfSU5RVUlSWQkweDEwCiAjZGVmaW5lIFNCUDJfSU5RVUlSWV9ERUxBWQkJMTIKKyNkZWZpbmUgU0JQMl9XT1JLQVJPVU5EX1BPV0VSX0NPTkRJVElPTgkweDIwCiAjZGVmaW5lIFNCUDJfV09SS0FST1VORF9PVkVSUklERQkweDEwMAogCiAjZW5kaWYgLyogU0JQMl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jIGIvZHJpdmVycy9pZWVlMTM5NC92aWRlbzEzOTQuYwppbmRleCBlMjQ3NzJkLi4wNjliOWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2llZWUxMzk0L3ZpZGVvMTM5NC5jCisrKyBiL2RyaXZlcnMvaWVlZTEzOTQvdmlkZW8xMzk0LmMKQEAgLTE1MDMsNiArMTUwMyw4IEBACiB7CiAJaW50IHJldDsKIAorCWhwc2JfaW5pdF9oaWdobGV2ZWwoJnZpZGVvMTM5NF9oaWdobGV2ZWwpOworCiAJY2Rldl9pbml0KCZ2aWRlbzEzOTRfY2RldiwgJnZpZGVvMTM5NF9mb3BzKTsKIAl2aWRlbzEzOTRfY2Rldi5vd25lciA9IFRISVNfTU9EVUxFOwogCXJldCA9IGNkZXZfYWRkKCZ2aWRlbzEzOTRfY2RldiwgSUVFRTEzOTRfVklERU8xMzk0X0RFViwgMTYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWRkci5jCmluZGV4IDc4MWVhNTkuLjA5YTJiZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FkZHIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZGRyLmMKQEAgLTQsMjggKzQsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1LCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNSBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgotICogVGhpcyBTb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlczoKKyAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxlIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCisgKiBsaWNlbnNlcy4gIFlvdSBtYXkgY2hvb3NlIHRvIGJlIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiwgYXZhaWxhYmxlIGZyb20gdGhlIGZpbGUKKyAqIENPUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUsIG9yIHRoZQorICogT3BlbklCLm9yZyBCU0QgbGljZW5zZSBiZWxvdzoKICAqCi0gKiAxKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJDb21tb24gUHVibGljIExpY2Vuc2UgMS4wIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvY3BsLnBocC4KKyAqICAgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yCisgKiAgICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nCisgKiAgICAgY29uZGl0aW9ucyBhcmUgbWV0OgogICoKLSAqIDIpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIlRoZSBCU0QgTGljZW5zZSIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyLgogICoKLSAqIDMpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIFZlcnNpb24gMiIgYQotICogICAgY29weSBvZiB3aGljaCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2dwbC1saWNlbnNlLnBocC4KKyAqICAgICAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICAgICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgICAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgICAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgKgotICogTGljZW5zZWUgaGFzIHRoZSByaWdodCB0byBjaG9vc2Ugb25lIG9mIHRoZSBhYm92ZSBsaWNlbnNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlIGFuZCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYm90aCB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzIGluIHRoZSBkb2N1bWVudGF0aW9uCi0gKiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CkBAIC0xMDAsNiArMTA1LDcgQEAKIAltZW1jcHkoZGV2X2FkZHItPmJyb2FkY2FzdCwgZGV2LT5icm9hZGNhc3QsIE1BWF9BRERSX0xFTik7CiAJaWYgKGRzdF9kZXZfYWRkcikKIAkJbWVtY3B5KGRldl9hZGRyLT5kc3RfZGV2X2FkZHIsIGRzdF9kZXZfYWRkciwgTUFYX0FERFJfTEVOKTsKKwlkZXZfYWRkci0+c3JjX2RldiA9IGRldjsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0wocmRtYV9jb3B5X2FkZHIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2FnZW50LmgKaW5kZXggZmI5ZWQxNC4uNjY2OTI4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvYWdlbnQuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9hZ2VudC5oCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBhZ2VudC5oIDEzODkgMjAwNC0xMi0yNyAyMjo1Njo0N1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIF9fQUdFTlRfSF8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jYWNoZS5jCmluZGV4IGU4NWY3MDEuLjY4ODgzNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NhY2hlLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY2FjaGUuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY2FjaGUuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtLmMKaW5kZXggYTQ3ZmU2NC4uNTU3MzhlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY20uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jbS5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBjbS5jIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2NtYS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKaW5kZXggNjcxZjEzNy4uYWUxMWQ1YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY21hLmMKQEAgLTQsMjkgKzQsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1LCBNZWxsYW5veCBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMjAwNS0yMDA2IEludGVsIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzOgorICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28KKyAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyLCBhdmFpbGFibGUgZnJvbSB0aGUgZmlsZQorICogQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZSwgb3IgdGhlCisgKiBPcGVuSUIub3JnIEJTRCBsaWNlbnNlIGJlbG93OgogICoKLSAqIDEpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkNvbW1vbiBQdWJsaWMgTGljZW5zZSAxLjAiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9jcGwucGhwLgorICogICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3IKKyAqICAgICB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcKKyAqICAgICBjb25kaXRpb25zIGFyZSBtZXQ6CiAgKgotICogMikgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiVGhlIEJTRCBMaWNlbnNlIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIuCiAgKgotICogMykgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyIiBhCi0gKiAgICBjb3B5IG9mIHdoaWNoIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0gKiBMaWNlbnNlZSBoYXMgdGhlIHJpZ2h0IHRvIGNob29zZSBvbmUgb2YgdGhlIGFib3ZlIGxpY2Vuc2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UgYW5kIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlIGRvY3VtZW50YXRpb24KLSAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KQEAgLTEyNiw4ICsxMzAsNyBAQAogCiAJc3RydWN0IGNvbXBsZXRpb24JY29tcDsKIAlhdG9taWNfdAkJcmVmY291bnQ7Ci0Jd2FpdF9xdWV1ZV9oZWFkX3QJd2FpdF9yZW1vdmU7Ci0JYXRvbWljX3QJCWRldl9yZW1vdmU7CisJc3RydWN0IG11dGV4CQloYW5kbGVyX211dGV4OwogCiAJaW50CQkJYmFja2xvZzsKIAlpbnQJCQl0aW1lb3V0X21zOwpAQCAtMzUxLDI2ICszNTQsMTUgQEAKIAkJY29tcGxldGUoJmlkX3ByaXYtPmNvbXApOwogfQogCi1zdGF0aWMgaW50IGNtYV9kaXNhYmxlX3JlbW92ZShzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2LAorc3RhdGljIGludCBjbWFfZGlzYWJsZV9jYWxsYmFjayhzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2LAogCQkJICAgICAgZW51bSBjbWFfc3RhdGUgc3RhdGUpCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQlpbnQgcmV0OwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmlkX3ByaXYtPmxvY2ssIGZsYWdzKTsKLQlpZiAoaWRfcHJpdi0+c3RhdGUgPT0gc3RhdGUpIHsKLQkJYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7Ci0JCXJldCA9IDA7Ci0JfSBlbHNlCi0JCXJldCA9IC1FSU5WQUw7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaWRfcHJpdi0+bG9jaywgZmxhZ3MpOwotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB2b2lkIGNtYV9lbmFibGVfcmVtb3ZlKHN0cnVjdCByZG1hX2lkX3ByaXZhdGUgKmlkX3ByaXYpCi17Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmlkX3ByaXYtPmRldl9yZW1vdmUpKQotCQl3YWtlX3VwKCZpZF9wcml2LT53YWl0X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJaWYgKGlkX3ByaXYtPnN0YXRlICE9IHN0YXRlKSB7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBjbWFfaGFzX2NtX2RldihzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlICppZF9wcml2KQpAQCAtMzk1LDggKzM4Nyw3IEBACiAJbXV0ZXhfaW5pdCgmaWRfcHJpdi0+cXBfbXV0ZXgpOwogCWluaXRfY29tcGxldGlvbigmaWRfcHJpdi0+Y29tcCk7CiAJYXRvbWljX3NldCgmaWRfcHJpdi0+cmVmY291bnQsIDEpOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmlkX3ByaXYtPndhaXRfcmVtb3ZlKTsKLQlhdG9taWNfc2V0KCZpZF9wcml2LT5kZXZfcmVtb3ZlLCAwKTsKKwltdXRleF9pbml0KCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlJTklUX0xJU1RfSEVBRCgmaWRfcHJpdi0+bGlzdGVuX2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZpZF9wcml2LT5tY19saXN0KTsKIAlnZXRfcmFuZG9tX2J5dGVzKCZpZF9wcml2LT5zZXFfbnVtLCBzaXplb2YgaWRfcHJpdi0+c2VxX251bSk7CkBAIC05MjMsNyArOTE0LDcgQEAKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTk3MCw3ICs5NjEsNyBAQAogCQlldmVudC5wYXJhbS5jb25uLnByaXZhdGVfZGF0YV9sZW4gPSBJQl9DTV9SRUpfUFJJVkFURV9EQVRBX1NJWkU7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWRcbiIsCiAJCSAgICAgICBpYl9ldmVudC0+ZXZlbnQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC05ODAsMTIgKzk3MSwxMiBAQAogCQkvKiBEZXN0cm95IHRoZSBDTSBJRCBieSByZXR1cm5pbmcgYSBub24temVybyB2YWx1ZS4gKi8KIAkJaWRfcHJpdi0+Y21faWQuaWIgPSBOVUxMOwogCQljbWFfZXhjaChpZF9wcml2LCBDTUFfREVTVFJPWUlORyk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGlkX3ByaXYpOworCQltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuIHJldDsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC05OTgsNiArOTg5LDcgQEAKIAl1bmlvbiBjbWFfaXBfYWRkciAqc3JjLCAqZHN0OwogCV9fYmUxNiBwb3J0OwogCXU4IGlwX3ZlcjsKKwlpbnQgcmV0OwogCiAJaWYgKGNtYV9nZXRfbmV0X2luZm8oaWJfZXZlbnQtPnByaXZhdGVfZGF0YSwgbGlzdGVuX2lkLT5wcywKIAkJCSAgICAgJmlwX3ZlciwgJnBvcnQsICZzcmMsICZkc3QpKQpAQCAtMTAyMiwxMCArMTAxNCwxMSBAQAogCWlmIChydC0+bnVtX3BhdGhzID09IDIpCiAJCXJ0LT5wYXRoX3JlY1sxXSA9ICppYl9ldmVudC0+cGFyYW0ucmVxX3JjdmQuYWx0ZXJuYXRlX3BhdGg7CiAKLQlpYl9hZGRyX3NldF9zZ2lkKCZydC0+YWRkci5kZXZfYWRkciwgJnJ0LT5wYXRoX3JlY1swXS5zZ2lkKTsKIAlpYl9hZGRyX3NldF9kZ2lkKCZydC0+YWRkci5kZXZfYWRkciwgJnJ0LT5wYXRoX3JlY1swXS5kZ2lkKTsKLQlpYl9hZGRyX3NldF9wa2V5KCZydC0+YWRkci5kZXZfYWRkciwgYmUxNl90b19jcHUocnQtPnBhdGhfcmVjWzBdLnBrZXkpKTsKLQlydC0+YWRkci5kZXZfYWRkci5kZXZfdHlwZSA9IFJETUFfTk9ERV9JQl9DQTsKKwlyZXQgPSByZG1hX3RyYW5zbGF0ZV9pcCgmaWQtPnJvdXRlLmFkZHIuc3JjX2FkZHIsCisJCQkJJmlkLT5yb3V0ZS5hZGRyLmRldl9hZGRyKTsKKwlpZiAocmV0KQorCQlnb3RvIGRlc3Ryb3lfaWQ7CiAKIAlpZF9wcml2ID0gY29udGFpbmVyX29mKGlkLCBzdHJ1Y3QgcmRtYV9pZF9wcml2YXRlLCBpZCk7CiAJaWRfcHJpdi0+c3RhdGUgPSBDTUFfQ09OTkVDVDsKQEAgLTEwOTUsNyArMTA4OCw3IEBACiAJaW50IG9mZnNldCwgcmV0OwogCiAJbGlzdGVuX2lkID0gY21faWQtPmNvbnRleHQ7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShsaXN0ZW5faWQsIENNQV9MSVNURU4pKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhsaXN0ZW5faWQsIENNQV9MSVNURU4pKQogCQlyZXR1cm4gLUVDT05OQUJPUlRFRDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7CkBAIC0xMTE2LDcgKzExMDksNyBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlhdG9taWNfaW5jKCZjb25uX2lkLT5kZXZfcmVtb3ZlKTsKKwltdXRleF9sb2NrX25lc3RlZCgmY29ubl9pZC0+aGFuZGxlcl9tdXRleCwgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwogCW11dGV4X2xvY2soJmxvY2spOwogCXJldCA9IGNtYV9hY3F1aXJlX2Rldihjb25uX2lkKTsKIAltdXRleF91bmxvY2soJmxvY2spOwpAQCAtMTEzOCw3ICsxMTMxLDcgQEAKIAkJICAgICFjbWFfaXNfdWRfcHMoY29ubl9pZC0+aWQucHMpKQogCQkJaWJfc2VuZF9jbV9tcmEoY21faWQsIENNQV9DTV9NUkFfU0VUVElORywgTlVMTCwgMCk7CiAJCW11dGV4X3VubG9jaygmbG9jayk7Ci0JCWNtYV9lbmFibGVfcmVtb3ZlKGNvbm5faWQpOworCQltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCQlnb3RvIG91dDsKIAl9CiAKQEAgLTExNDcsMTEgKzExNDAsMTEgQEAKIAogcmVsZWFzZV9jb25uX2lkOgogCWNtYV9leGNoKGNvbm5faWQsIENNQV9ERVNUUk9ZSU5HKTsKLQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJkbWFfZGVzdHJveV9pZCgmY29ubl9pZC0+aWQpOwogCiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUobGlzdGVuX2lkKTsKKwltdXRleF91bmxvY2soJmxpc3Rlbl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTIxNyw3ICsxMjEwLDcgQEAKIAlzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbjsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTEyNjEsMTIgKzEyNTQsMTIgQEAKIAkJLyogRGVzdHJveSB0aGUgQ00gSUQgYnkgcmV0dXJuaW5nIGEgbm9uLXplcm8gdmFsdWUuICovCiAJCWlkX3ByaXYtPmNtX2lkLml3ID0gTlVMTDsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKCZpZF9wcml2LT5pZCk7CiAJCXJldHVybiByZXQ7CiAJfQogCi0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjgyLDcgKzEyNzUsNyBAQAogCXN0cnVjdCBpYl9kZXZpY2VfYXR0ciBhdHRyOwogCiAJbGlzdGVuX2lkID0gY21faWQtPmNvbnRleHQ7Ci0JaWYgKGNtYV9kaXNhYmxlX3JlbW92ZShsaXN0ZW5faWQsIENNQV9MSVNURU4pKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhsaXN0ZW5faWQsIENNQV9MSVNURU4pKQogCQlyZXR1cm4gLUVDT05OQUJPUlRFRDsKIAogCS8qIENyZWF0ZSBhIG5ldyBSRE1BIGlkIGZvciB0aGUgbmV3IElXIENNIElEICovCkBAIC0xMjk0LDE5ICsxMjg3LDE5IEBACiAJCWdvdG8gb3V0OwogCX0KIAljb25uX2lkID0gY29udGFpbmVyX29mKG5ld19jbV9pZCwgc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSwgaWQpOwotCWF0b21pY19pbmMoJmNvbm5faWQtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2tfbmVzdGVkKCZjb25uX2lkLT5oYW5kbGVyX211dGV4LCBTSU5HTEVfREVQVEhfTkVTVElORyk7CiAJY29ubl9pZC0+c3RhdGUgPSBDTUFfQ09OTkVDVDsKIAogCWRldiA9IGlwX2Rldl9maW5kKCZpbml0X25ldCwgaXdfZXZlbnQtPmxvY2FsX2FkZHIuc2luX2FkZHIuc19hZGRyKTsKIAlpZiAoIWRldikgewogCQlyZXQgPSAtRUFERFJOT1RBVkFJTDsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZChuZXdfY21faWQpOwogCQlnb3RvIG91dDsKIAl9CiAJcmV0ID0gcmRtYV9jb3B5X2FkZHIoJmNvbm5faWQtPmlkLnJvdXRlLmFkZHIuZGV2X2FkZHIsIGRldiwgTlVMTCk7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzMTUsNyArMTMwOCw3IEBACiAJcmV0ID0gY21hX2FjcXVpcmVfZGV2KGNvbm5faWQpOwogCW11dGV4X3VubG9jaygmbG9jayk7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzMzEsNyArMTMyNCw3IEBACiAKIAlyZXQgPSBpYl9xdWVyeV9kZXZpY2UoY29ubl9pZC0+aWQuZGV2aWNlLCAmYXR0cik7CiAJaWYgKHJldCkgewotCQljbWFfZW5hYmxlX3JlbW92ZShjb25uX2lkKTsKKwkJbXV0ZXhfdW5sb2NrKCZjb25uX2lkLT5oYW5kbGVyX211dGV4KTsKIAkJcmRtYV9kZXN0cm95X2lkKG5ld19jbV9pZCk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTEzNDcsMTQgKzEzNDAsMTcgQEAKIAkJLyogVXNlciB3YW50cyB0byBkZXN0cm95IHRoZSBDTSBJRCAqLwogCQljb25uX2lkLT5jbV9pZC5pdyA9IE5VTEw7CiAJCWNtYV9leGNoKGNvbm5faWQsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoY29ubl9pZCk7CisJCW11dGV4X3VubG9jaygmY29ubl9pZC0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmY29ubl9pZC0+aWQpOworCQlnb3RvIG91dDsKIAl9CiAKKwltdXRleF91bmxvY2soJmNvbm5faWQtPmhhbmRsZXJfbXV0ZXgpOworCiBvdXQ6CiAJaWYgKGRldikKIAkJZGV2X3B1dChkZXYpOwotCWNtYV9lbmFibGVfcmVtb3ZlKGxpc3Rlbl9pZCk7CisJbXV0ZXhfdW5sb2NrKCZsaXN0ZW5faWQtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTE0NDYsNyArMTQ0Miw3IEBACiAJcmV0ID0gcmRtYV9saXN0ZW4oaWQsIGlkX3ByaXYtPmJhY2tsb2cpOwogCWlmIChyZXQpCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIlJETUEgQ01BOiBjbWFfbGlzdGVuX29uX2RldiwgZXJyb3IgJWQsICIKLQkJICAgICAgICJsaXN0ZW5pbmcgb24gZGV2aWNlICVzIiwgcmV0LCBjbWFfZGV2LT5kZXZpY2UtPm5hbWUpOworCQkgICAgICAgImxpc3RlbmluZyBvbiBkZXZpY2UgJXNcbiIsIHJldCwgY21hX2Rldi0+ZGV2aWNlLT5uYW1lKTsKIH0KIAogc3RhdGljIHZvaWQgY21hX2xpc3Rlbl9vbl9hbGwoc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdikKQEAgLTE1ODYsNyArMTU4Miw3IEBACiAJc3RydWN0IHJkbWFfaWRfcHJpdmF0ZSAqaWRfcHJpdiA9IHdvcmstPmlkOwogCWludCBkZXN0cm95ID0gMDsKIAotCWF0b21pY19pbmMoJmlkX3ByaXYtPmRldl9yZW1vdmUpOworCW11dGV4X2xvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWlmICghY21hX2NvbXBfZXhjaChpZF9wcml2LCB3b3JrLT5vbGRfc3RhdGUsIHdvcmstPm5ld19zdGF0ZSkpCiAJCWdvdG8gb3V0OwogCkBAIC0xNTk1LDcgKzE1OTEsNyBAQAogCQlkZXN0cm95ID0gMTsKIAl9CiBvdXQ6Ci0JY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAljbWFfZGVyZWZfaWQoaWRfcHJpdik7CiAJaWYgKGRlc3Ryb3kpCiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwpAQCAtMTc1OCw3ICsxNzU0LDcgQEAKIAlzdHJ1Y3QgcmRtYV9jbV9ldmVudCBldmVudDsKIAogCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZiBldmVudCk7Ci0JYXRvbWljX2luYygmaWRfcHJpdi0+ZGV2X3JlbW92ZSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAKIAkvKgogCSAqIEdyYWIgbXV0ZXggdG8gYmxvY2sgcmRtYV9kZXN0cm95X2lkKCkgZnJvbSByZW1vdmluZyB0aGUgZGV2aWNlIHdoaWxlCkBAIC0xNzg3LDEzICsxNzgzLDEzIEBACiAKIAlpZiAoaWRfcHJpdi0+aWQuZXZlbnRfaGFuZGxlcigmaWRfcHJpdi0+aWQsICZldmVudCkpIHsKIAkJY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFU1RST1lJTkcpOwotCQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwkJbXV0ZXhfdW5sb2NrKCZpZF9wcml2LT5oYW5kbGVyX211dGV4KTsKIAkJY21hX2RlcmVmX2lkKGlkX3ByaXYpOwogCQlyZG1hX2Rlc3Ryb3lfaWQoJmlkX3ByaXYtPmlkKTsKIAkJcmV0dXJuOwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCWNtYV9kZXJlZl9pZChpZF9wcml2KTsKIH0KIApAQCAtMjEyMCw3ICsyMTE2LDcgQEAKIAlzdHJ1Y3QgaWJfY21fc2lkcl9yZXBfZXZlbnRfcGFyYW0gKnJlcCA9ICZpYl9ldmVudC0+cGFyYW0uc2lkcl9yZXBfcmN2ZDsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0NPTk5FQ1QpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQ09OTkVDVCkpCiAJCXJldHVybiAwOwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKQEAgLTIxNTEsNyArMjE0Nyw3IEBACiAJCWV2ZW50LnN0YXR1cyA9IDA7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiUkRNQSBDTUE6IHVuZXhwZWN0ZWQgSUIgQ00gZXZlbnQ6ICVkIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJSRE1BIENNQTogdW5leHBlY3RlZCBJQiBDTSBldmVudDogJWRcbiIsCiAJCSAgICAgICBpYl9ldmVudC0+ZXZlbnQpOwogCQlnb3RvIG91dDsKIAl9CkBAIC0yMTYxLDEyICsyMTU3LDEyIEBACiAJCS8qIERlc3Ryb3kgdGhlIENNIElEIGJ5IHJldHVybmluZyBhIG5vbi16ZXJvIHZhbHVlLiAqLwogCQlpZF9wcml2LT5jbV9pZC5pYiA9IE5VTEw7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gcmV0OwogCX0KIG91dDoKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTI1NjQsOCArMjU2MCw4IEBACiAJaW50IHJldDsKIAogCWlkX3ByaXYgPSBtYy0+aWRfcHJpdjsKLQlpZiAoY21hX2Rpc2FibGVfcmVtb3ZlKGlkX3ByaXYsIENNQV9BRERSX0JPVU5EKSAmJgotCSAgICBjbWFfZGlzYWJsZV9yZW1vdmUoaWRfcHJpdiwgQ01BX0FERFJfUkVTT0xWRUQpKQorCWlmIChjbWFfZGlzYWJsZV9jYWxsYmFjayhpZF9wcml2LCBDTUFfQUREUl9CT1VORCkgJiYKKwkgICAgY21hX2Rpc2FibGVfY2FsbGJhY2soaWRfcHJpdiwgQ01BX0FERFJfUkVTT0xWRUQpKQogCQlyZXR1cm4gMDsKIAogCW11dGV4X2xvY2soJmlkX3ByaXYtPnFwX211dGV4KTsKQEAgLTI1OTAsMTIgKzI1ODYsMTIgQEAKIAlyZXQgPSBpZF9wcml2LT5pZC5ldmVudF9oYW5kbGVyKCZpZF9wcml2LT5pZCwgJmV2ZW50KTsKIAlpZiAocmV0KSB7CiAJCWNtYV9leGNoKGlkX3ByaXYsIENNQV9ERVNUUk9ZSU5HKTsKLQkJY21hX2VuYWJsZV9yZW1vdmUoaWRfcHJpdik7CisJCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAJCXJkbWFfZGVzdHJveV9pZCgmaWRfcHJpdi0+aWQpOwogCQlyZXR1cm4gMDsKIAl9CiAKLQljbWFfZW5hYmxlX3JlbW92ZShpZF9wcml2KTsKKwltdXRleF91bmxvY2soJmlkX3ByaXYtPmhhbmRsZXJfbXV0ZXgpOwogCXJldHVybiAwOwogfQogCkBAIC0yNzU0LDYgKzI3NTAsNyBAQAogewogCXN0cnVjdCByZG1hX2NtX2V2ZW50IGV2ZW50OwogCWVudW0gY21hX3N0YXRlIHN0YXRlOworCWludCByZXQgPSAwOwogCiAJLyogUmVjb3JkIHRoYXQgd2Ugd2FudCB0byByZW1vdmUgdGhlIGRldmljZSAqLwogCXN0YXRlID0gY21hX2V4Y2goaWRfcHJpdiwgQ01BX0RFVklDRV9SRU1PVkFMKTsKQEAgLTI3NjEsMTUgKzI3NTgsMTggQEAKIAkJcmV0dXJuIDA7CiAKIAljbWFfY2FuY2VsX29wZXJhdGlvbihpZF9wcml2LCBzdGF0ZSk7Ci0Jd2FpdF9ldmVudChpZF9wcml2LT53YWl0X3JlbW92ZSwgIWF0b21pY19yZWFkKCZpZF9wcml2LT5kZXZfcmVtb3ZlKSk7CisJbXV0ZXhfbG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CiAKIAkvKiBDaGVjayBmb3IgZGVzdHJ1Y3Rpb24gZnJvbSBhbm90aGVyIGNhbGxiYWNrLiAqLwogCWlmICghY21hX2NvbXAoaWRfcHJpdiwgQ01BX0RFVklDRV9SRU1PVkFMKSkKLQkJcmV0dXJuIDA7CisJCWdvdG8gb3V0OwogCiAJbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mIGV2ZW50KTsKIAlldmVudC5ldmVudCA9IFJETUFfQ01fRVZFTlRfREVWSUNFX1JFTU9WQUw7Ci0JcmV0dXJuIGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOworCXJldCA9IGlkX3ByaXYtPmlkLmV2ZW50X2hhbmRsZXIoJmlkX3ByaXYtPmlkLCAmZXZlbnQpOworb3V0OgorCW11dGV4X3VubG9jaygmaWRfcHJpdi0+aGFuZGxlcl9tdXRleCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgY21hX3Byb2Nlc3NfcmVtb3ZlKHN0cnVjdCBjbWFfZGV2aWNlICpjbWFfZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvY29yZV9wcml2LmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaAppbmRleCA3YWQ0N2E0Li4wNWFjMzZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9jb3JlX3ByaXYuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogY29yZV9wcml2LmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX0NPUkVfUFJJVl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9kZXZpY2UuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCmluZGV4IDVhYzVmZmUuLjc5MTNiODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2RldmljZS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBkZXZpY2UuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL2Ztcl9wb29sLmMKaW5kZXggMTI4NmRjMS4uNDUwNzA0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvZm1yX3Bvb2wuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9mbXJfcG9vbC5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBmbXJfcG9vbC5jIDI3MzAgMjAwNS0wNi0yOCAxNjo0MzowM1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3ByaXYuaAppbmRleCA4Yjc1MDEwLi4wNWNlMzMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcHJpdi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9wcml2LmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9wcml2LmggNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaWZuZGVmIF9fSUJfTUFEX1BSSVZfSF9fCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuYwppbmRleCBhNWUyYTMxLi5kMGVmN2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG1hZF9ybXBwLmMgMTkyMSAyMDA1LTAzLTAyIDIyOjU4OjQ0WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSAibWFkX3ByaXYuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9tYWRfcm1wcC5oCmluZGV4IGYwNjE2ZmQuLjNkMzM2YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL21hZF9ybXBwLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvbWFkX3JtcHAuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbWFkX3JtcHAuaCAxOTIxIDIwMDUtMDItMjUgMjI6NTg6NDRaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZm5kZWYgX19NQURfUk1QUF9IX18KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3BhY2tlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKaW5kZXggYzk3MmQ3Mi4uMDE5YmQ0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvcGFja2VyLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHBhY2tlci5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc2FfcXVlcnkuYwppbmRleCBjZjQ3NGVjLi4xMzQxZGU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zYV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3NhX3F1ZXJ5LmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHNhX3F1ZXJ5LmMgMjgxMSAyMDA1LTA3LTA2IDE4OjExOjQzWiBoYWxyICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC0zNjEsNyArMzU5LDcgQEAKIHsKIAlzdHJ1Y3QgaWJfc2FfcG9ydCAqcG9ydCA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaWJfc2FfcG9ydCwgdXBkYXRlX3Rhc2spOwotCXN0cnVjdCBpYl9zYV9zbV9haCAqbmV3X2FoLCAqb2xkX2FoOworCXN0cnVjdCBpYl9zYV9zbV9haCAqbmV3X2FoOwogCXN0cnVjdCBpYl9wb3J0X2F0dHIgcG9ydF9hdHRyOwogCXN0cnVjdCBpYl9haF9hdHRyICAgYWhfYXR0cjsKIApAQCAtMzk3LDEyICszOTUsOSBAQAogCX0KIAogCXNwaW5fbG9ja19pcnEoJnBvcnQtPmFoX2xvY2spOwotCW9sZF9haCA9IHBvcnQtPnNtX2FoOwogCXBvcnQtPnNtX2FoID0gbmV3X2FoOwogCXNwaW5fdW5sb2NrX2lycSgmcG9ydC0+YWhfbG9jayk7CiAKLQlpZiAob2xkX2FoKQotCQlrcmVmX3B1dCgmb2xkX2FoLT5yZWYsIGZyZWVfc21fYWgpOwogfQogCiBzdGF0aWMgdm9pZCBpYl9zYV9ldmVudChzdHJ1Y3QgaWJfZXZlbnRfaGFuZGxlciAqaGFuZGxlciwgc3RydWN0IGliX2V2ZW50ICpldmVudCkKQEAgLTQxMyw4ICs0MDgsMTcgQEAKIAkgICAgZXZlbnQtPmV2ZW50ID09IElCX0VWRU5UX1BLRVlfQ0hBTkdFIHx8CiAJICAgIGV2ZW50LT5ldmVudCA9PSBJQl9FVkVOVF9TTV9DSEFOR0UgICB8fAogCSAgICBldmVudC0+ZXZlbnQgPT0gSUJfRVZFTlRfQ0xJRU5UX1JFUkVHSVNURVIpIHsKLQkJc3RydWN0IGliX3NhX2RldmljZSAqc2FfZGV2OwotCQlzYV9kZXYgPSBjb250YWluZXJfb2YoaGFuZGxlciwgdHlwZW9mKCpzYV9kZXYpLCBldmVudF9oYW5kbGVyKTsKKwkJdW5zaWduZWQgbG9uZyBmbGFnczsKKwkJc3RydWN0IGliX3NhX2RldmljZSAqc2FfZGV2ID0KKwkJCWNvbnRhaW5lcl9vZihoYW5kbGVyLCB0eXBlb2YoKnNhX2RldiksIGV2ZW50X2hhbmRsZXIpOworCQlzdHJ1Y3QgaWJfc2FfcG9ydCAqcG9ydCA9CisJCQkmc2FfZGV2LT5wb3J0W2V2ZW50LT5lbGVtZW50LnBvcnRfbnVtIC0gc2FfZGV2LT5zdGFydF9wb3J0XTsKKworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+YWhfbG9jaywgZmxhZ3MpOworCQlpZiAocG9ydC0+c21fYWgpCisJCQlrcmVmX3B1dCgmcG9ydC0+c21fYWgtPnJlZiwgZnJlZV9zbV9haCk7CisJCXBvcnQtPnNtX2FoID0gTlVMTDsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+YWhfbG9jaywgZmxhZ3MpOwogCiAJCXNjaGVkdWxlX3dvcmsoJnNhX2Rldi0+cG9ydFtldmVudC0+ZWxlbWVudC5wb3J0X251bSAtCiAJCQkJCSAgICBzYV9kZXYtPnN0YXJ0X3BvcnRdLnVwZGF0ZV90YXNrKTsKQEAgLTUxOSw2ICs1MjMsMTAgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CisJaWYgKCFxdWVyeS0+cG9ydC0+c21fYWgpIHsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcXVlcnktPnBvcnQtPmFoX2xvY2ssIGZsYWdzKTsKKwkJcmV0dXJuIC1FQUdBSU47CisJfQogCWtyZWZfZ2V0KCZxdWVyeS0+cG9ydC0+c21fYWgtPnJlZik7CiAJcXVlcnktPnNtX2FoID0gcXVlcnktPnBvcnQtPnNtX2FoOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnF1ZXJ5LT5wb3J0LT5haF9sb2NrLCBmbGFncyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvc3lzZnMuYwppbmRleCA5NTc1NjU1Li40ZDEwNDIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS9zeXNmcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3N5c2ZzLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHN5c2ZzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlICJjb3JlX3ByaXYuaCIKQEAgLTY2NSw2ICs2NjMsMTIwIEBACiAJLmRldl91ZXZlbnQgPSBpYl9kZXZpY2VfdWV2ZW50LAogfTsKIAorLyogU2hvdyBhIGdpdmVuIGFuIGF0dHJpYnV0ZSBpbiB0aGUgc3RhdGlzdGljcyBncm91cCAqLworc3RhdGljIHNzaXplX3Qgc2hvd19wcm90b2NvbF9zdGF0KGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldmljZSwKKwkJCSAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmLAorCQkJICAgIHVuc2lnbmVkIG9mZnNldCkKK3sKKwlzdHJ1Y3QgaWJfZGV2aWNlICpkZXYgPSBjb250YWluZXJfb2YoZGV2aWNlLCBzdHJ1Y3QgaWJfZGV2aWNlLCBkZXYpOworCXVuaW9uIHJkbWFfcHJvdG9jb2xfc3RhdHMgc3RhdHM7CisJc3NpemVfdCByZXQ7CisKKwlyZXQgPSBkZXYtPmdldF9wcm90b2NvbF9zdGF0cyhkZXYsICZzdGF0cyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVsbHVcbiIsCisJCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSAoKHU2NCAqKSAmc3RhdHMpW29mZnNldF0pOworfQorCisvKiBnZW5lcmF0ZSBhIHJlYWQtb25seSBpd2FycCBzdGF0aXN0aWNzIGF0dHJpYnV0ZSAqLworI2RlZmluZSBJV19TVEFUU19FTlRSWShuYW1lKQkJCQkJCVwKK3N0YXRpYyBzc2l6ZV90IHNob3dfIyNuYW1lKHN0cnVjdCBkZXZpY2UgKmRldmljZSwJCQlcCisJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQlcCit7CQkJCQkJCQkJXAorCXJldHVybiBzaG93X3Byb3RvY29sX3N0YXQoZGV2aWNlLCBhdHRyLCBidWYsCQkJXAorCQkJCSAgb2Zmc2V0b2Yoc3RydWN0IGl3X3Byb3RvY29sX3N0YXRzLCBuYW1lKSAvIFwKKwkJCQkgIHNpemVvZiAodTY0KSk7CQkJXAorfQkJCQkJCQkJCVwKK3N0YXRpYyBERVZJQ0VfQVRUUihuYW1lLCBTX0lSVUdPLCBzaG93XyMjbmFtZSwgTlVMTCkKKworSVdfU1RBVFNfRU5UUlkoaXBJblJlY2VpdmVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5IZHJFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJblRvb0JpZ0Vycm9ycyk7CitJV19TVEFUU19FTlRSWShpcEluTm9Sb3V0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkFkZHJFcnJvcnMpOworSVdfU1RBVFNfRU5UUlkoaXBJblVua25vd25Qcm90b3MpOworSVdfU1RBVFNfRU5UUlkoaXBJblRydW5jYXRlZFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkRpc2NhcmRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5EZWxpdmVycyk7CitJV19TVEFUU19FTlRSWShpcE91dEZvcndEYXRhZ3JhbXMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRSZXF1ZXN0cyk7CitJV19TVEFUU19FTlRSWShpcE91dERpc2NhcmRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwT3V0Tm9Sb3V0ZXMpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbVRpbWVvdXQpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbVJlcWRzKTsKK0lXX1NUQVRTX0VOVFJZKGlwUmVhc21PS3MpOworSVdfU1RBVFNfRU5UUlkoaXBSZWFzbUZhaWxzKTsKK0lXX1NUQVRTX0VOVFJZKGlwRnJhZ09Lcyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdGYWlscyk7CitJV19TVEFUU19FTlRSWShpcEZyYWdDcmVhdGVzKTsKK0lXX1NUQVRTX0VOVFJZKGlwSW5NY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBPdXRNY2FzdFBrdHMpOworSVdfU1RBVFNfRU5UUlkoaXBJbkJjYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWShpcE91dEJjYXN0UGt0cyk7CitJV19TVEFUU19FTlRSWSh0Y3BSdG9BbGdvcml0aG0pOworSVdfU1RBVFNfRU5UUlkodGNwUnRvTWluKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJ0b01heCk7CitJV19TVEFUU19FTlRSWSh0Y3BNYXhDb25uKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEFjdGl2ZU9wZW5zKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFBhc3NpdmVPcGVucyk7CitJV19TVEFUU19FTlRSWSh0Y3BBdHRlbXB0RmFpbHMpOworSVdfU1RBVFNfRU5UUlkodGNwRXN0YWJSZXNldHMpOworSVdfU1RBVFNfRU5UUlkodGNwQ3VyckVzdGFiKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEluU2Vncyk7CitJV19TVEFUU19FTlRSWSh0Y3BPdXRTZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcFJldHJhbnNTZWdzKTsKK0lXX1NUQVRTX0VOVFJZKHRjcEluRXJycyk7CitJV19TVEFUU19FTlRSWSh0Y3BPdXRSc3RzKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKml3X3Byb3RvX3N0YXRzX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX2lwSW5SZWNlaXZlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluSGRyRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Ub29CaWdFcnJvcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBJbk5vUm91dGVzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5BZGRyRXJyb3JzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5Vbmtub3duUHJvdG9zLmF0dHIsCisJJmRldl9hdHRyX2lwSW5UcnVuY2F0ZWRQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5EaXNjYXJkcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluRGVsaXZlcnMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRGb3J3RGF0YWdyYW1zLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0UmVxdWVzdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXREaXNjYXJkcy5hdHRyLAorCSZkZXZfYXR0cl9pcE91dE5vUm91dGVzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21UaW1lb3V0LmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21SZXFkcy5hdHRyLAorCSZkZXZfYXR0cl9pcFJlYXNtT0tzLmF0dHIsCisJJmRldl9hdHRyX2lwUmVhc21GYWlscy5hdHRyLAorCSZkZXZfYXR0cl9pcEZyYWdPS3MuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnRmFpbHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBGcmFnQ3JlYXRlcy5hdHRyLAorCSZkZXZfYXR0cl9pcEluTWNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwT3V0TWNhc3RQa3RzLmF0dHIsCisJJmRldl9hdHRyX2lwSW5CY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfaXBPdXRCY2FzdFBrdHMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwUnRvQWxnb3JpdGhtLmF0dHIsCisJJmRldl9hdHRyX3RjcFJ0b01pbi5hdHRyLAorCSZkZXZfYXR0cl90Y3BSdG9NYXguYXR0ciwKKwkmZGV2X2F0dHJfdGNwTWF4Q29ubi5hdHRyLAorCSZkZXZfYXR0cl90Y3BBY3RpdmVPcGVucy5hdHRyLAorCSZkZXZfYXR0cl90Y3BQYXNzaXZlT3BlbnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwQXR0ZW1wdEZhaWxzLmF0dHIsCisJJmRldl9hdHRyX3RjcEVzdGFiUmVzZXRzLmF0dHIsCisJJmRldl9hdHRyX3RjcEN1cnJFc3RhYi5hdHRyLAorCSZkZXZfYXR0cl90Y3BJblNlZ3MuYXR0ciwKKwkmZGV2X2F0dHJfdGNwT3V0U2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BSZXRyYW5zU2Vncy5hdHRyLAorCSZkZXZfYXR0cl90Y3BJbkVycnMuYXR0ciwKKwkmZGV2X2F0dHJfdGNwT3V0UnN0cy5hdHRyLAorCU5VTEwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGl3X3N0YXRzX2dyb3VwID0geworCS5uYW1lCT0gInByb3RvX3N0YXRzIiwKKwkuYXR0cnMJPSBpd19wcm90b19zdGF0c19hdHRycywKK307CisKIGludCBpYl9kZXZpY2VfcmVnaXN0ZXJfc3lzZnMoc3RydWN0IGliX2RldmljZSAqZGV2aWNlKQogewogCXN0cnVjdCBkZXZpY2UgKmNsYXNzX2RldiA9ICZkZXZpY2UtPmRldjsKQEAgLTcwNyw2ICs4MTksMTIgQEAKIAkJfQogCX0KIAorCWlmIChkZXZpY2UtPm5vZGVfdHlwZSA9PSBSRE1BX05PREVfUk5JQyAmJiBkZXZpY2UtPmdldF9wcm90b2NvbF9zdGF0cykgeworCQlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoJmNsYXNzX2Rldi0+a29iaiwgJml3X3N0YXRzX2dyb3VwKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZXJyX3B1dDsKKwl9CisKIAlyZXR1cm4gMDsKIAogZXJyX3B1dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKaW5kZXggZDdhNjg4MS4uOTQ5NDAwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVjbS5jIDQzMTEgMjAwNS0xMi0wNSAxODo0MjowMVogc2Vhbi5oZWZ0eSAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KQEAgLTQ1LDYgKzQzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtMTE1OSw2ICsxMTU4LDcgQEAKIHsKIAlzdHJ1Y3QgaWJfdWNtX2ZpbGUgKmZpbGU7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWZpbGUgPSBrbWFsbG9jKHNpemVvZigqZmlsZSksIEdGUF9LRVJORUwpOwogCWlmICghZmlsZSkKIAkJcmV0dXJuIC1FTk9NRU07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91Y21hLmMKaW5kZXggY2E0Y2YzYS4uMTk1Zjk3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWNtYS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VjbWEuYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luLmg+CiAjaW5jbHVkZSA8bGludXgvaW42Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxyZG1hL3JkbWFfdXNlcl9jbS5oPgogI2luY2x1ZGUgPHJkbWEvaWJfbWFyc2hhbGwuaD4KQEAgLTExNTYsNiArMTE1Nyw3IEBACiAJaWYgKCFmaWxlKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJSU5JVF9MSVNUX0hFQUQoJmZpbGUtPmV2ZW50X2xpc3QpOwogCUlOSVRfTElTVF9IRUFEKCZmaWxlLT5jdHhfbGlzdCk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZmlsZS0+cG9sbF93YWl0KTsKQEAgLTExNjMsNiArMTE2NSw3IEBACiAKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBmaWxlOwogCWZpbGUtPmZpbHAgPSBmaWxwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdWRfaGVhZGVyLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYwppbmRleCA5OTdjMDdkLi44ZWM3ODc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91ZF9oZWFkZXIuYwpAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdWRfaGVhZGVyLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbS5jCmluZGV4IGExNzY4ZGIuLjZmN2MwOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHV2ZXJic19tZW0uYyAyNzQzIDIwMDUtMDYtMjggMjI6Mjc6NTlaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXNlcl9tYWQuYwppbmRleCA4NDBlZGU5Li4yNjhhMmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91c2VyX21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VzZXJfbWFkLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHVzZXJfbWFkLmMgNTU5NiAyMDA2LTAzLTAzIDAxOjAwOjA3WiBzZWFuLmhlZnR5ICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC03NzcsNiArNzc1LDE5IEBACiB9CiAjZW5kaWYKIAorLyoKKyAqIGliX3VtYWRfb3BlbigpIGRvZXMgbm90IG5lZWQgdGhlIEJLTDoKKyAqCisgKiAgLSB1bWFkX3BvcnRbXSBhY2Nlc3NlcyBhcmUgcHJvdGVjdGVkIGJ5IHBvcnRfbG9jaywgdGhlCisgKiAgICBpYl91bWFkX3BvcnQgc3RydWN0dXJlcyBhcmUgcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50ZWQsIGFuZAorICogICAgZXZlcnl0aGluZyBlbHNlIGlzIHB1cmVseSBsb2NhbCB0byB0aGUgZmlsZSBiZWluZyBjcmVhdGVkLCBzbworICogICAgcmFjZXMgYWdhaW5zdCBvdGhlciBvcGVuIGNhbGxzIGFyZSBub3QgYSBwcm9ibGVtOworICogIC0gdGhlIGlvY3RsIG1ldGhvZCBkb2VzIG5vdCBhZmZlY3QgYW55IGdsb2JhbCBzdGF0ZSBvdXRzaWRlIG9mIHRoZQorICogICAgZmlsZSBzdHJ1Y3R1cmUgYmVpbmcgb3BlcmF0ZWQgb247CisgKiAgLSB0aGUgcG9ydCBpcyBhZGRlZCB0byB1bWFkX3BvcnRbXSBhcyB0aGUgbGFzdCBwYXJ0IG9mIG1vZHVsZQorICogICAgaW5pdGlhbGl6YXRpb24gc28gdGhlIG9wZW4gbWV0aG9kIHdpbGwgZWl0aGVyIGltbWVkaWF0ZWx5IHJ1bgorICogICAgLUVOWElPLCBvciBhbGwgcmVxdWlyZWQgaW5pdGlhbGl6YXRpb24gd2lsbCBiZSBkb25lLgorICovCiBzdGF0aWMgaW50IGliX3VtYWRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgaWJfdW1hZF9wb3J0ICpwb3J0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzLmggYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaAppbmRleCAzNzZhNTdjLi5iM2VhOTU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnMuaApAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogdXZlcmJzLmggMjU1OSAyMDA1LTA2LTA2IDE5OjQzOjE2WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgVVZFUkJTX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19jbWQuYwppbmRleCAyYzNiZmY1Li41NmZlYWI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfY21kLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX2NtZC5jCkBAIC0zMSw4ICszMSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfY21kLmMgMjcwOCAyMDA1LTA2LTI0IDE3OjI3OjIxWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9maWxlLmg+CkBAIC05MTksNyArOTE3LDcgQEAKIAkJcmVzcC0+d2NbaV0ub3Bjb2RlIAkgICA9IHdjW2ldLm9wY29kZTsKIAkJcmVzcC0+d2NbaV0udmVuZG9yX2VyciAJICAgPSB3Y1tpXS52ZW5kb3JfZXJyOwogCQlyZXNwLT53Y1tpXS5ieXRlX2xlbiAJICAgPSB3Y1tpXS5ieXRlX2xlbjsKLQkJcmVzcC0+d2NbaV0uaW1tX2RhdGEgCSAgID0gKF9fdTMyIF9fZm9yY2UpIHdjW2ldLmltbV9kYXRhOworCQlyZXNwLT53Y1tpXS5leC5pbW1fZGF0YSAgICA9IChfX3UzMiBfX2ZvcmNlKSB3Y1tpXS5leC5pbW1fZGF0YTsKIAkJcmVzcC0+d2NbaV0ucXBfbnVtIAkgICA9IHdjW2ldLnFwLT5xcF9udW07CiAJCXJlc3AtPndjW2ldLnNyY19xcCAJICAgPSB3Y1tpXS5zcmNfcXA7CiAJCXJlc3AtPndjW2ldLndjX2ZsYWdzIAkgICA9IHdjW2ldLndjX2ZsYWdzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3V2ZXJic19tYWluLmMKaW5kZXggY2FlZDQyYi4uYWVlZTg1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdXZlcmJzX21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91dmVyYnNfbWFpbi5jCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiB1dmVyYnNfbWFpbi5jIDI3MzMgMjAwNS0wNi0yOCAxOToxNDozNFogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC02MTAsNiArNjA4LDE4IEBACiAJCXJldHVybiBmaWxlLT5kZXZpY2UtPmliX2Rldi0+bW1hcChmaWxlLT51Y29udGV4dCwgdm1hKTsKIH0KIAorLyoKKyAqIGliX3V2ZXJic19vcGVuKCkgZG9lcyBub3QgbmVlZCB0aGUgQktMOgorICoKKyAqICAtIGRldl90YWJsZVtdIGFjY2Vzc2VzIGFyZSBwcm90ZWN0ZWQgYnkgbWFwX2xvY2ssIHRoZQorICogICAgaWJfdXZlcmJzX2RldmljZSBzdHJ1Y3R1cmVzIGFyZSBwcm9wZXJseSByZWZlcmVuY2UgY291bnRlZCwgYW5kCisgKiAgICBldmVyeXRoaW5nIGVsc2UgaXMgcHVyZWx5IGxvY2FsIHRvIHRoZSBmaWxlIGJlaW5nIGNyZWF0ZWQsIHNvCisgKiAgICByYWNlcyBhZ2FpbnN0IG90aGVyIG9wZW4gY2FsbHMgYXJlIG5vdCBhIHByb2JsZW07CisgKiAgLSB0aGVyZSBpcyBubyBpb2N0bCBtZXRob2QgdG8gcmFjZSBhZ2FpbnN0OworICogIC0gdGhlIGRldmljZSBpcyBhZGRlZCB0byBkZXZfdGFibGVbXSBhcyB0aGUgbGFzdCBwYXJ0IG9mIG1vZHVsZQorICogICAgaW5pdGlhbGl6YXRpb24sIHRoZSBvcGVuIG1ldGhvZCB3aWxsIGVpdGhlciBpbW1lZGlhdGVseSBydW4KKyAqICAgIC1FTlhJTywgb3IgYWxsIHJlcXVpcmVkIGluaXRpYWxpemF0aW9uIHdpbGwgYmUgZG9uZS4KKyAqLwogc3RhdGljIGludCBpYl91dmVyYnNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlscCkKIHsKIAlzdHJ1Y3QgaWJfdXZlcmJzX2RldmljZSAqZGV2OwpAQCAtNjUxLDcgKzY2MSw2IEBACiAKIGVycjoKIAlrcmVmX3B1dCgmZGV2LT5yZWYsIGliX3V2ZXJic19yZWxlYXNlX2Rldik7Ci0KIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdmVyYnMuYwppbmRleCAwNTA0MjA4Li5hN2RhOWJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS92ZXJicy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3ZlcmJzLmMKQEAgLTM0LDggKzM0LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IHZlcmJzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgpAQCAtMzE3LDcgKzMxNSw2IEBACiB9IHFwX3N0YXRlX3RhYmxlW0lCX1FQU19FUlIgKyAxXVtJQl9RUFNfRVJSICsgMV0gPSB7CiAJW0lCX1FQU19SRVNFVF0gPSB7CiAJCVtJQl9RUFNfUkVTRVRdID0geyAudmFsaWQgPSAxIH0sCi0JCVtJQl9RUFNfRVJSXSAgID0geyAudmFsaWQgPSAxIH0sCiAJCVtJQl9RUFNfSU5JVF0gID0gewogCQkJLnZhbGlkID0gMSwKIAkJCS5yZXFfcGFyYW0gPSB7CkBAIC03NTUsNiArNzUyLDUyIEBACiB9CiBFWFBPUlRfU1lNQk9MKGliX2RlcmVnX21yKTsKIAorc3RydWN0IGliX21yICppYl9hbGxvY19mYXN0X3JlZ19tcihzdHJ1Y3QgaWJfcGQgKnBkLCBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pCit7CisJc3RydWN0IGliX21yICptcjsKKworCWlmICghcGQtPmRldmljZS0+YWxsb2NfZmFzdF9yZWdfbXIpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TWVMpOworCisJbXIgPSBwZC0+ZGV2aWNlLT5hbGxvY19mYXN0X3JlZ19tcihwZCwgbWF4X3BhZ2VfbGlzdF9sZW4pOworCisJaWYgKCFJU19FUlIobXIpKSB7CisJCW1yLT5kZXZpY2UgID0gcGQtPmRldmljZTsKKwkJbXItPnBkICAgICAgPSBwZDsKKwkJbXItPnVvYmplY3QgPSBOVUxMOworCQlhdG9taWNfaW5jKCZwZC0+dXNlY250KTsKKwkJYXRvbWljX3NldCgmbXItPnVzZWNudCwgMCk7CisJfQorCisJcmV0dXJuIG1yOworfQorRVhQT1JUX1NZTUJPTChpYl9hbGxvY19mYXN0X3JlZ19tcik7CisKK3N0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKmliX2FsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdChzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCisJCQkJCQkJICBpbnQgbWF4X3BhZ2VfbGlzdF9sZW4pCit7CisJc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0OworCisJaWYgKCFkZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NZUyk7CisKKwlwYWdlX2xpc3QgPSBkZXZpY2UtPmFsbG9jX2Zhc3RfcmVnX3BhZ2VfbGlzdChkZXZpY2UsIG1heF9wYWdlX2xpc3RfbGVuKTsKKworCWlmICghSVNfRVJSKHBhZ2VfbGlzdCkpIHsKKwkJcGFnZV9saXN0LT5kZXZpY2UgPSBkZXZpY2U7CisJCXBhZ2VfbGlzdC0+bWF4X3BhZ2VfbGlzdF9sZW4gPSBtYXhfcGFnZV9saXN0X2xlbjsKKwl9CisKKwlyZXR1cm4gcGFnZV9saXN0OworfQorRVhQT1JUX1NZTUJPTChpYl9hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QpOworCit2b2lkIGliX2ZyZWVfZmFzdF9yZWdfcGFnZV9saXN0KHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKnBhZ2VfbGlzdCkKK3sKKwlwYWdlX2xpc3QtPmRldmljZS0+ZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QocGFnZV9saXN0KTsKK30KK0VYUE9SVF9TWU1CT0woaWJfZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QpOworCiAvKiBNZW1vcnkgd2luZG93cyAqLwogCiBzdHJ1Y3QgaWJfbXcgKmliX2FsbG9jX213KHN0cnVjdCBpYl9wZCAqcGQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2Ftc28xMTAwL2MyX3JuaWMuYwppbmRleCBiMTQ0MWFlYi4uZGQwNWM0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2Ftc28xMTAwL2MyX3JuaWMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvYW1zbzExMDAvYzJfcm5pYy5jCkBAIC00NTQsNyArNDU0LDcgQEAKIAkgICAgKElCX0RFVklDRV9SRVNJWkVfTUFYX1dSIHwKIAkgICAgIElCX0RFVklDRV9DVVJSX1FQX1NUQVRFX01PRCB8CiAJICAgICBJQl9ERVZJQ0VfU1lTX0lNQUdFX0dVSUQgfAotCSAgICAgSUJfREVWSUNFX1pFUk9fU1RBRyB8CisJICAgICBJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkgfAogCSAgICAgSUJfREVWSUNFX01FTV9XSU5ET1cpOwogCiAJLyogQWxsb2NhdGUgdGhlIHFwdHJfYXJyYXkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmMKaW5kZXggM2Y0NDFmYy4uZjZkNTc0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmMKQEAgLTE0NSw3ICsxNDUsOSBAQAogCX0KIAl3cWUgPSAoc3RydWN0IHQzX21vZGlmeV9xcF93ciAqKSBza2JfcHV0KHNrYiwgc2l6ZW9mKCp3cWUpKTsKIAltZW1zZXQod3FlLCAwLCBzaXplb2YoKndxZSkpOwotCWJ1aWxkX2Z3X3Jpd3JoKChzdHJ1Y3QgZndfcml3cmggKikgd3FlLCBUM19XUl9RUF9NT0QsIDMsIDAsIHFwaWQsIDcpOworCWJ1aWxkX2Z3X3Jpd3JoKChzdHJ1Y3QgZndfcml3cmggKikgd3FlLCBUM19XUl9RUF9NT0QsCisJCSAgICAgICBUM19DT01QTEVUSU9OX0ZMQUcgfCBUM19OT1RJRllfRkxBRywgMCwgcXBpZCwgNywKKwkJICAgICAgIFQzX1NPUEVPUCk7CiAJd3FlLT5mbGFncyA9IGNwdV90b19iZTMyKE1PRFFQX1dSSVRFX0VDKTsKIAlzZ2VfY21kID0gcXBpZCA8PCA4IHwgMzsKIAl3cWUtPnNnZV9jbWQgPSBjcHVfdG9fYmU2NChzZ2VfY21kKTsKQEAgLTI3Niw3ICsyNzgsNyBAQAogCWlmICghd3EtPnFwaWQpCiAJCXJldHVybiAtRU5PTUVNOwogCi0Jd3EtPnJxID0ga3phbGxvYyhkZXB0aCAqIHNpemVvZih1NjQpLCBHRlBfS0VSTkVMKTsKKwl3cS0+cnEgPSBremFsbG9jKGRlcHRoICogc2l6ZW9mKHN0cnVjdCB0M19zd3JxKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCF3cS0+cnEpCiAJCWdvdG8gZXJyMTsKIApAQCAtMzAwLDYgKzMwMiw3IEBACiAJaWYgKCFrZXJuZWxfZG9tYWluKQogCQl3cS0+dWRiID0gKHU2NClyZGV2X3AtPnJuaWNfaW5mby51ZGJlbGxfcGh5c2Jhc2UgKwogCQkJCQkod3EtPnFwaWQgPDwgcmRldl9wLT5xcHNoaWZ0KTsKKwl3cS0+cmRldiA9IHJkZXZfcDsKIAlQREJHKCIlcyBxcGlkIDB4JXggZG9vcmJlbGwgMHglcCB1ZGIgMHglbGx4XG4iLCBfX2Z1bmNfXywKIAkgICAgIHdxLT5xcGlkLCB3cS0+ZG9vcmJlbGwsICh1bnNpZ25lZCBsb25nIGxvbmcpIHdxLT51ZGIpOwogCXJldHVybiAwOwpAQCAtNTU4LDcgKzU2MSw3IEBACiAJd3FlID0gKHN0cnVjdCB0M19tb2RpZnlfcXBfd3IgKikgc2tiX3B1dChza2IsIHNpemVvZigqd3FlKSk7CiAJbWVtc2V0KHdxZSwgMCwgc2l6ZW9mKCp3cWUpKTsKIAlidWlsZF9md19yaXdyaCgoc3RydWN0IGZ3X3Jpd3JoICopIHdxZSwgVDNfV1JfUVBfTU9ELCAwLCAwLAotCQkgICAgICAgVDNfQ1RMX1FQX1RJRCwgNyk7CisJCSAgICAgICBUM19DVExfUVBfVElELCA3LCBUM19TT1BFT1ApOwogCXdxZS0+ZmxhZ3MgPSBjcHVfdG9fYmUzMihNT0RRUF9XUklURV9FQyk7CiAJc2dlX2NtZCA9ICgzVUxMIDw8IDU2KSB8IEZXX1JJX1NHRUVDX1NUQVJUIDw8IDggfCAzOwogCXdxZS0+c2dlX2NtZCA9IGNwdV90b19iZTY0KHNnZV9jbWQpOwpAQCAtNjc0LDcgKzY3Nyw3IEBACiAJCWJ1aWxkX2Z3X3Jpd3JoKChzdHJ1Y3QgZndfcml3cmggKikgd3FlLCBUM19XUl9CUCwgZmxhZywKIAkJCSAgICAgICBRX0dFTkJJVChyZGV2X3AtPmN0cmxfcXAud3B0ciwKIAkJCQkJVDNfQ1RSTF9RUF9TSVpFX0xPRzIpLCBUM19DVFJMX1FQX0lELAotCQkJICAgICAgIHdyX2xlbik7CisJCQkgICAgICAgd3JfbGVuLCBUM19TT1BFT1ApOwogCQlpZiAoZmxhZyA9PSBUM19DT01QTEVUSU9OX0ZMQUcpCiAJCQlyaW5nX2Rvb3JiZWxsKHJkZXZfcC0+Y3RybF9xcC5kb29yYmVsbCwgVDNfQ1RSTF9RUF9JRCk7CiAJCWxlbiAtPSA5NjsKQEAgLTgxNiw2ICs4MTksMTMgQEAKIAkJCSAgICAgMCwgMCk7CiB9CiAKK2ludCBjeGlvX2FsbG9jYXRlX3N0YWcoc3RydWN0IGN4aW9fcmRldiAqcmRldl9wLCB1MzIgKnN0YWcsIHUzMiBwZGlkLCB1MzIgcGJsX3NpemUsIHUzMiBwYmxfYWRkcikKK3sKKwkqc3RhZyA9IFQzX1NUQUdfVU5TRVQ7CisJcmV0dXJuIF9fY3hpb190cHRfb3AocmRldl9wLCAwLCBzdGFnLCAwLCBwZGlkLCBUUFRfTk9OX1NIQVJFRF9NUiwKKwkJCSAgICAgMCwgMCwgMFVMTCwgMCwgMCwgcGJsX3NpemUsIHBibF9hZGRyKTsKK30KKwogaW50IGN4aW9fcmRtYV9pbml0KHN0cnVjdCBjeGlvX3JkZXYgKnJkZXZfcCwgc3RydWN0IHQzX3JkbWFfaW5pdF9hdHRyICphdHRyKQogewogCXN0cnVjdCB0M19yZG1hX2luaXRfd3IgKndxZTsKQEAgLTEyNTcsMTMgKzEyNjcsMTYgQEAKIAkJd3EtPnNxX3JwdHIgPSBDUUVfV1JJRF9TUV9XUFRSKCpod19jcWUpOwogCQlQREJHKCIlcyBjb21wbGV0aW5nIHNxIGlkeCAlbGRcbiIsIF9fZnVuY19fLAogCQkgICAgIFFfUFRSMklEWCh3cS0+c3FfcnB0ciwgd3EtPnNxX3NpemVfbG9nMikpOwotCQkqY29va2llID0gKHdxLT5zcSArCi0JCQkgICBRX1BUUjJJRFgod3EtPnNxX3JwdHIsIHdxLT5zcV9zaXplX2xvZzIpKS0+d3JfaWQ7CisJCSpjb29raWUgPSB3cS0+c3FbUV9QVFIySURYKHdxLT5zcV9ycHRyLCB3cS0+c3Ffc2l6ZV9sb2cyKV0ud3JfaWQ7CiAJCXdxLT5zcV9ycHRyKys7CiAJfSBlbHNlIHsKIAkJUERCRygiJXMgY29tcGxldGluZyBycSBpZHggJWxkXG4iLCBfX2Z1bmNfXywKIAkJICAgICBRX1BUUjJJRFgod3EtPnJxX3JwdHIsIHdxLT5ycV9zaXplX2xvZzIpKTsKLQkJKmNvb2tpZSA9ICood3EtPnJxICsgUV9QVFIySURYKHdxLT5ycV9ycHRyLCB3cS0+cnFfc2l6ZV9sb2cyKSk7CisJCSpjb29raWUgPSB3cS0+cnFbUV9QVFIySURYKHdxLT5ycV9ycHRyLCB3cS0+cnFfc2l6ZV9sb2cyKV0ud3JfaWQ7CisJCWlmICh3cS0+cnFbUV9QVFIySURYKHdxLT5ycV9ycHRyLCB3cS0+cnFfc2l6ZV9sb2cyKV0ucGJsX2FkZHIpCisJCQljeGlvX2hhbF9wYmxwb29sX2ZyZWUod3EtPnJkZXYsCisJCQkJd3EtPnJxW1FfUFRSMklEWCh3cS0+cnFfcnB0ciwKKwkJCQl3cS0+cnFfc2l6ZV9sb2cyKV0ucGJsX2FkZHIsIFQzX1NUQUcwX1BCTF9TSVpFKTsKIAkJd3EtPnJxX3JwdHIrKzsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX2hhbC5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmgKaW5kZXggNmUxMjhmNi4uNjU2ZmU0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9faGFsLmgKQEAgLTQ1LDE1ICs0NSwxNyBAQAogI2RlZmluZSBUM19DVFJMX1FQX1NJWkVfTE9HMiAgOAogI2RlZmluZSBUM19DVFJMX0NRX0lEICAgIDAKIAotLyogVEJEICovCiAjZGVmaW5lIFQzX01BWF9OVU1fUkkgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfTlVNX1FQICgxPDwxNSkKICNkZWZpbmUgVDNfTUFYX05VTV9DUSAoMTw8MTUpCiAjZGVmaW5lIFQzX01BWF9OVU1fUEQgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfUEJMX1NJWkUgMjU2CiAjZGVmaW5lIFQzX01BWF9SUV9TSVpFIDEwMjQKKyNkZWZpbmUgVDNfTUFYX1FQX0RFUFRIIChUM19NQVhfUlFfU0laRS0xKQorI2RlZmluZSBUM19NQVhfQ1FfREVQVEggODE5MgogI2RlZmluZSBUM19NQVhfTlVNX1NUQUcgKDE8PDE1KQogI2RlZmluZSBUM19NQVhfTVJfU0laRSAweDEwMDAwMDAwMFVMTAorI2RlZmluZSBUM19QQUdFU0laRV9NQVNLIDB4ZmZmZjAwMCAgLyogNEtCLTEyOE1CICovCiAKICNkZWZpbmUgVDNfU1RBR19VTlNFVCAweGZmZmZmZmZmCiAKQEAgLTE2NSw2ICsxNjcsNyBAQAogaW50IGN4aW9fZGVyZWdfbWVtKHN0cnVjdCBjeGlvX3JkZXYgKnJkZXYsIHUzMiBzdGFnLCB1MzIgcGJsX3NpemUsCiAJCSAgIHUzMiBwYmxfYWRkcik7CiBpbnQgY3hpb19hbGxvY2F0ZV93aW5kb3coc3RydWN0IGN4aW9fcmRldiAqcmRldiwgdTMyICogc3RhZywgdTMyIHBkaWQpOworaW50IGN4aW9fYWxsb2NhdGVfc3RhZyhzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCB1MzIgKnN0YWcsIHUzMiBwZGlkLCB1MzIgcGJsX3NpemUsIHUzMiBwYmxfYWRkcik7CiBpbnQgY3hpb19kZWFsbG9jYXRlX3dpbmRvdyhzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2LCB1MzIgc3RhZyk7CiBpbnQgY3hpb19yZG1hX2luaXQoc3RydWN0IGN4aW9fcmRldiAqcmRldiwgc3RydWN0IHQzX3JkbWFfaW5pdF9hdHRyICphdHRyKTsKIHZvaWQgY3hpb19yZWdpc3Rlcl9ldl9jYihjeGlvX2hhbF9ldl9jYWxsYmFja19mdW5jX3QgZXZfY2IpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9fd3IuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9jeGlvX3dyLmgKaW5kZXggZjFhMjVhOC4uMDQ2MThmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2N4aW9fd3IuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvY3hpb193ci5oCkBAIC0zOSw2ICszOSw5IEBACiAKICNkZWZpbmUgVDNfTUFYX1NHRSAgICAgIDQKICNkZWZpbmUgVDNfTUFYX0lOTElORQk2NAorI2RlZmluZSBUM19TVEFHMF9QQkxfU0laRSAoMiAqIFQzX01BWF9TR0UgPDwgMykKKyNkZWZpbmUgVDNfU1RBRzBfTUFYX1BCRV9MRU4gKDEyOCAqIDEwMjQgKiAxMDI0KQorI2RlZmluZSBUM19TVEFHMF9QQUdFX1NISUZUIDE1CiAKICNkZWZpbmUgUV9FTVBUWShycHRyLHdwdHIpICgocnB0cik9PSh3cHRyKSkKICNkZWZpbmUgUV9GVUxMKHJwdHIsd3B0cixzaXplX2xvZzIpICAoICgoKHdwdHIpLShycHRyKSk+PihzaXplX2xvZzIpKSAmJiBcCkBAIC03Miw3ICs3NSw4IEBACiAJVDNfV1JfQklORCA9IEZXX1dST1BDT0RFX1JJX0JJTkRfTVcsCiAJVDNfV1JfUkNWID0gRldfV1JPUENPREVfUklfUkVDRUlWRSwKIAlUM19XUl9JTklUID0gRldfV1JPUENPREVfUklfUkRNQV9JTklULAotCVQzX1dSX1FQX01PRCA9IEZXX1dST1BDT0RFX1JJX01PRElGWV9RUAorCVQzX1dSX1FQX01PRCA9IEZXX1dST1BDT0RFX1JJX01PRElGWV9RUCwKKwlUM19XUl9GQVNUUkVHID0gRldfV1JPUENPREVfUklfRkFTVFJFR0lTVEVSX01SCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKIAogZW51bSB0M19yZG1hX29wY29kZSB7CkBAIC04OSw3ICs5Myw4IEBACiAJVDNfRkFTVF9SRUdJU1RFUiwKIAlUM19MT0NBTF9JTlYsCiAJVDNfUVBfTU9ELAotCVQzX0JZUEFTUworCVQzX0JZUEFTUywKKwlUM19SRE1BX1JFQURfUkVRX1dJVEhfSU5WLAogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKIHN0YXRpYyBpbmxpbmUgZW51bSB0M19yZG1hX29wY29kZSB3cjJvcGNvZGUoZW51bSB0M193cl9vcGNvZGUgd3JvcCkKQEAgLTEwMyw2ICsxMDgsNyBAQAogCQljYXNlIFQzX1dSX0JJTkQ6IHJldHVybiBUM19CSU5EX01XOwogCQljYXNlIFQzX1dSX0lOSVQ6IHJldHVybiBUM19SRE1BX0lOSVQ7CiAJCWNhc2UgVDNfV1JfUVBfTU9EOiByZXR1cm4gVDNfUVBfTU9EOworCQljYXNlIFQzX1dSX0ZBU1RSRUc6IHJldHVybiBUM19GQVNUX1JFR0lTVEVSOwogCQlkZWZhdWx0OiBicmVhazsKIAl9CiAJcmV0dXJuIC0xOwpAQCAtMTcwLDExICsxNzYsNTQgQEAKIAlzdHJ1Y3QgdDNfc2dlIHNnbFtUM19NQVhfU0dFXTsJLyogNCsgKi8KIH07CiAKKyNkZWZpbmUgVDNfTUFYX0ZBU1RSRUdfREVQVEggMjQKKyNkZWZpbmUgVDNfTUFYX0ZBU1RSRUdfRlJBRyAxMAorCitzdHJ1Y3QgdDNfZmFzdHJlZ193ciB7CisJc3RydWN0IGZ3X3Jpd3JoIHdyaDsJLyogMCAqLworCXVuaW9uIHQzX3dyaWQgd3JpZDsJLyogMSAqLworCV9fYmUzMiBzdGFnOwkJLyogMiAqLworCV9fYmUzMiBsZW47CisJX19iZTMyIHZhX2Jhc2VfaGk7CS8qIDMgKi8KKwlfX2JlMzIgdmFfYmFzZV9sb19mYm87CisJX19iZTMyIHBhZ2VfdHlwZV9wZXJtczsgLyogNCAqLworCV9fYmUzMiByZXNlcnZlZDE7CisJX19iZTY0IHBibF9hZGRyc1swXTsJLyogNSsgKi8KK307CisKKy8qCisgKiBJZiBhIGZhc3RyZWcgd3Igc3BhbnMgbXVsdGlwbGUgd3FlcywgdGhlbiB0aGUgMm5kIGZyYWdtZW50IGxvb2sgbGlrZSB0aGlzLgorICovCitzdHJ1Y3QgdDNfcGJsX2ZyYWcgeworCXN0cnVjdCBmd19yaXdyaCB3cmg7CS8qIDAgKi8KKwlfX2JlNjQgcGJsX2FkZHJzWzE0XTsJLyogMS4uMTQgKi8KK307CisKKyNkZWZpbmUgU19GUl9QQUdFX0NPVU5UCQkyNAorI2RlZmluZSBNX0ZSX1BBR0VfQ09VTlQJCTB4ZmYKKyNkZWZpbmUgVl9GUl9QQUdFX0NPVU5UKHgpCSgoeCkgPDwgU19GUl9QQUdFX0NPVU5UKQorI2RlZmluZSBHX0ZSX1BBR0VfQ09VTlQoeCkJKCgoKHgpID4+IFNfRlJfUEFHRV9DT1VOVCkpICYgTV9GUl9QQUdFX0NPVU5UKQorCisjZGVmaW5lIFNfRlJfUEFHRV9TSVpFCQkxNgorI2RlZmluZSBNX0ZSX1BBR0VfU0laRQkJMHgxZgorI2RlZmluZSBWX0ZSX1BBR0VfU0laRSh4KQkoKHgpIDw8IFNfRlJfUEFHRV9TSVpFKQorI2RlZmluZSBHX0ZSX1BBR0VfU0laRSh4KQkoKCgoeCkgPj4gU19GUl9QQUdFX1NJWkUpKSAmIE1fRlJfUEFHRV9TSVpFKQorCisjZGVmaW5lIFNfRlJfVFlQRQkJOAorI2RlZmluZSBNX0ZSX1RZUEUJCTB4MQorI2RlZmluZSBWX0ZSX1RZUEUoeCkJCSgoeCkgPDwgU19GUl9UWVBFKQorI2RlZmluZSBHX0ZSX1RZUEUoeCkJCSgoKCh4KSA+PiBTX0ZSX1RZUEUpKSAmIE1fRlJfVFlQRSkKKworI2RlZmluZSBTX0ZSX1BFUk1TCQkwCisjZGVmaW5lIE1fRlJfUEVSTVMJCTB4ZmYKKyNkZWZpbmUgVl9GUl9QRVJNUyh4KQkJKCh4KSA8PCBTX0ZSX1BFUk1TKQorI2RlZmluZSBHX0ZSX1BFUk1TKHgpCQkoKCgoeCkgPj4gU19GUl9QRVJNUykpICYgTV9GUl9QRVJNUykKKwogc3RydWN0IHQzX2xvY2FsX2ludl93ciB7CiAJc3RydWN0IGZ3X3Jpd3JoIHdyaDsJLyogMCAqLwogCXVuaW9uIHQzX3dyaWQgd3JpZDsJLyogMSAqLwogCV9fYmUzMiBzdGFnOwkJLyogMiAqLwotCV9fYmUzMiByZXNlcnZlZDM7CisJX19iZTMyIHJlc2VydmVkOwogfTsKIAogc3RydWN0IHQzX3JkbWFfd3JpdGVfd3IgewpAQCAtMTkzLDcgKzI0Miw4IEBACiAJc3RydWN0IGZ3X3Jpd3JoIHdyaDsJLyogMCAqLwogCXVuaW9uIHQzX3dyaWQgd3JpZDsJLyogMSAqLwogCXU4IHJkbWFvcDsJCS8qIDIgKi8KLQl1OCByZXNlcnZlZFszXTsKKwl1OCBsb2NhbF9pbnY7CisJdTggcmVzZXJ2ZWRbMl07CiAJX19iZTMyIHJlbV9zdGFnOwogCV9fYmU2NCByZW1fdG87CQkvKiAzICovCiAJX19iZTMyIGxvY2FsX3N0YWc7CS8qIDQgKi8KQEAgLTIwMSwxOCArMjUxLDYgQEAKIAlfX2JlNjQgbG9jYWxfdG87CS8qIDUgKi8KIH07CiAKLWVudW0gdDNfYWRkcl90eXBlIHsKLQlUM19WQV9CQVNFRF9UTyA9IDB4MCwKLQlUM19aRVJPX0JBU0VEX1RPID0gMHgxCi19IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotZW51bSB0M19tZW1fcGVybXMgewotCVQzX01FTV9BQ0NFU1NfTE9DQUxfUkVBRCA9IDB4MSwKLQlUM19NRU1fQUNDRVNTX0xPQ0FMX1dSSVRFID0gMHgyLAotCVQzX01FTV9BQ0NFU1NfUkVNX1JFQUQgPSAweDQsCi0JVDNfTUVNX0FDQ0VTU19SRU1fV1JJVEUgPSAweDgKLX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCiBzdHJ1Y3QgdDNfYmluZF9td193ciB7CiAJc3RydWN0IGZ3X3Jpd3JoIHdyaDsJLyogMCAqLwogCXVuaW9uIHQzX3dyaWQgd3JpZDsJLyogMSAqLwpAQCAtMzM2LDYgKzM3NCwxMSBAQAogCV9fYmU2NCBnZW5iaXQ7CiB9OwogCitzdHJ1Y3QgdDNfd3FfaW5fZXJyIHsKKwl1NjQgZmxpdFsxM107CisJdTY0IGVycjsKK307CisKIGVudW0gcmRtYV9pbml0X3dyX2ZsYWdzIHsKIAlNUEFfSU5JVElBVE9SID0gKDE8PDApLAogCVBSSVZfUVAgPSAoMTw8MSksCkBAIC0zNDYsMTMgKzM4OSwxNiBAQAogCXN0cnVjdCB0M19yZG1hX3dyaXRlX3dyIHdyaXRlOwogCXN0cnVjdCB0M19yZG1hX3JlYWRfd3IgcmVhZDsKIAlzdHJ1Y3QgdDNfcmVjZWl2ZV93ciByZWN2OworCXN0cnVjdCB0M19mYXN0cmVnX3dyIGZhc3RyZWc7CisJc3RydWN0IHQzX3BibF9mcmFnIHBibF9mcmFnOwogCXN0cnVjdCB0M19sb2NhbF9pbnZfd3IgbG9jYWxfaW52OwogCXN0cnVjdCB0M19iaW5kX213X3dyIGJpbmQ7CiAJc3RydWN0IHQzX2J5cGFzc193ciBieXBhc3M7CiAJc3RydWN0IHQzX3JkbWFfaW5pdF93ciBpbml0OwogCXN0cnVjdCB0M19tb2RpZnlfcXBfd3IgcXBfbW9kOwogCXN0cnVjdCB0M19nZW5iaXQgZ2VuYml0OwotCXU2NCBmbGl0WzE2XTsKKwlzdHJ1Y3QgdDNfd3FfaW5fZXJyIHdxX2luX2VycjsKKwlfX2JlNjQgZmxpdFsxNl07CiB9OwogCiAjZGVmaW5lIFQzX1NRX0NRRV9GTElUCSAgMTMKQEAgLTM2NiwxMiArNDEyLDE4IEBACiAJcmV0dXJuIEdfRldfUklXUl9PUChiZTMyX3RvX2NwdSh3cWUtPm9wX3Nlb3BfZmxhZ3MpKTsKIH0KIAorZW51bSB0M193cl9oZHJfYml0cyB7CisJVDNfRU9QID0gMSwKKwlUM19TT1AgPSAyLAorCVQzX1NPUEVPUCA9IFQzX0VPUHxUM19TT1AsCit9OworCiBzdGF0aWMgaW5saW5lIHZvaWQgYnVpbGRfZndfcml3cmgoc3RydWN0IGZ3X3Jpd3JoICp3cWUsIGVudW0gdDNfd3Jfb3Bjb2RlIG9wLAogCQkJCSAgZW51bSB0M193cl9mbGFncyBmbGFncywgdTggZ2VuYml0LCB1MzIgdGlkLAotCQkJCSAgdTggbGVuKQorCQkJCSAgdTggbGVuLCB1OCBzb3Blb3ApCiB7CiAJd3FlLT5vcF9zZW9wX2ZsYWdzID0gY3B1X3RvX2JlMzIoVl9GV19SSVdSX09QKG9wKSB8Ci0JCQkJCSBWX0ZXX1JJV1JfU09QRU9QKE1fRldfUklXUl9TT1BFT1ApIHwKKwkJCQkJIFZfRldfUklXUl9TT1BFT1Aoc29wZW9wKSB8CiAJCQkJCSBWX0ZXX1JJV1JfRkxBR1MoZmxhZ3MpKTsKIAl3bWIoKTsKIAl3cWUtPmdlbl90aWRfbGVuID0gY3B1X3RvX2JlMzIoVl9GV19SSVdSX0dFTihnZW5iaXQpIHwKQEAgLTQwNCw2ICs0NTYsNyBAQAogfTsKIAogZW51bSB0cHRfbWVtX3Blcm0geworCVRQVF9NV19CSU5EID0gMHgxMCwKIAlUUFRfTE9DQUxfUkVBRCA9IDB4OCwKIAlUUFRfTE9DQUxfV1JJVEUgPSAweDQsCiAJVFBUX1JFTU9URV9SRUFEID0gMHgyLApAQCAtNjE1LDYgKzY2OCwxMSBAQAogCWludAkJCXNpZ25hbGVkOwogfTsKIAorc3RydWN0IHQzX3N3cnEgeworCV9fdTY0CQkJd3JfaWQ7CisJX191MzIJCQlwYmxfYWRkcjsKK307CisKIC8qCiAgKiBBIFQzIFdRIGltcGxlbWVudHMgYm90aCB0aGUgU1EgYW5kIFJRLgogICovCkBAIC02MzEsMTQgKzY4OSwxNSBAQAogCXUzMiBzcV93cHRyOwkJCS8qIHNxX3dwdHIgLSBzcV9ycHRyID09IGNvdW50IG9mICovCiAJdTMyIHNxX3JwdHI7CQkJLyogcGVuZGluZyB3cnMgKi8KIAl1MzIgc3Ffc2l6ZV9sb2cyOwkJLyogc3Egc2l6ZSAqLwotCXU2NCAqcnE7CQkJLyogU1cgUlEgKGhvbGRzIGNvbnN1bWVyIHdyX2lkcyAqLworCXN0cnVjdCB0M19zd3JxICpycTsJCS8qIFNXIFJRIChob2xkcyBjb25zdW1lciB3cl9pZHMgKi8KIAl1MzIgcnFfd3B0cjsJCQkvKiBycV93cHRyIC0gcnFfcnB0ciA9PSBjb3VudCBvZiAqLwogCXUzMiBycV9ycHRyOwkJCS8qIHBlbmRpbmcgd3JzICovCi0JdTY0ICpycV9vbGRlc3Rfd3I7CQkvKiBvbGRlc3Qgd3Igb24gdGhlIFNXIFJRICovCisJc3RydWN0IHQzX3N3cnEgKnJxX29sZGVzdF93cjsJLyogb2xkZXN0IHdyIG9uIHRoZSBTVyBSUSAqLwogCXUzMiBycV9zaXplX2xvZzI7CQkvKiBycSBzaXplICovCiAJdTMyIHJxX2FkZHI7CQkJLyogcnEgYWRhcHRlciBhZGRyZXNzICovCiAJdm9pZCBfX2lvbWVtICpkb29yYmVsbDsJCS8qIGtlcm5lbCBkYiAqLwogCXU2NCB1ZGI7CQkJLyogdXNlciBkYiBpZiBhbnkgKi8KKwlzdHJ1Y3QgY3hpb19yZGV2ICpyZGV2OwogfTsKIAogc3RydWN0IHQzX2NxIHsKQEAgLTY1OSw3ICs3MTgsNyBAQAogCiBzdGF0aWMgaW5saW5lIHZvaWQgY3hpb19zZXRfd3FfaW5fZXJyb3Ioc3RydWN0IHQzX3dxICp3cSkKIHsKLQl3cS0+cXVldWUtPmZsaXRbMTNdID0gMTsKKwl3cS0+cXVldWUtPndxX2luX2Vyci5lcnIgPSAxOwogfQogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCB0M19jcWUgKmN4aW9fbmV4dF9od19jcWUoc3RydWN0IHQzX2NxICpjcSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5jCmluZGV4IDcxNTU0ZWEuLjQ0ODljODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guYwpAQCAtNzEsMTggKzcxLDE2IEBACiAJaWRyX2luaXQoJnJuaWNwLT5tbWlkcik7CiAJc3Bpbl9sb2NrX2luaXQoJnJuaWNwLT5sb2NrKTsKIAotCXJuaWNwLT5hdHRyLnZlbmRvcl9pZCA9IDB4MTY4OwotCXJuaWNwLT5hdHRyLnZlbmRvcl9wYXJ0X2lkID0gNzsKIAlybmljcC0+YXR0ci5tYXhfcXBzID0gVDNfTUFYX05VTV9RUCAtIDMyOwotCXJuaWNwLT5hdHRyLm1heF93cnMgPSAoMVVMIDw8IDI0KSAtIDE7CisJcm5pY3AtPmF0dHIubWF4X3dycyA9IFQzX01BWF9RUF9ERVBUSDsKIAlybmljcC0+YXR0ci5tYXhfc2dlX3Blcl93ciA9IFQzX01BWF9TR0U7CiAJcm5pY3AtPmF0dHIubWF4X3NnZV9wZXJfcmRtYV93cml0ZV93ciA9IFQzX01BWF9TR0U7CiAJcm5pY3AtPmF0dHIubWF4X2NxcyA9IFQzX01BWF9OVU1fQ1EgLSAxOwotCXJuaWNwLT5hdHRyLm1heF9jcWVzX3Blcl9jcSA9ICgxVUwgPDwgMjQpIC0gMTsKKwlybmljcC0+YXR0ci5tYXhfY3Flc19wZXJfY3EgPSBUM19NQVhfQ1FfREVQVEg7CiAJcm5pY3AtPmF0dHIubWF4X21lbV9yZWdzID0gY3hpb19udW1fc3RhZ3MoJnJuaWNwLT5yZGV2KTsKIAlybmljcC0+YXR0ci5tYXhfcGh5c19idWZfZW50cmllcyA9IFQzX01BWF9QQkxfU0laRTsKIAlybmljcC0+YXR0ci5tYXhfcGRzID0gVDNfTUFYX05VTV9QRCAtIDE7Ci0Jcm5pY3AtPmF0dHIubWVtX3Bnc2l6ZXNfYml0bWFzayA9IDB4N0ZGRjsJLyogNEtCLTEyOE1CICovCisJcm5pY3AtPmF0dHIubWVtX3Bnc2l6ZXNfYml0bWFzayA9IFQzX1BBR0VTSVpFX01BU0s7CiAJcm5pY3AtPmF0dHIubWF4X21yX3NpemUgPSBUM19NQVhfTVJfU0laRTsKIAlybmljcC0+YXR0ci5jYW5fcmVzaXplX3dxID0gMDsKIAlybmljcC0+YXR0ci5tYXhfcmRtYV9yZWFkc19wZXJfcXAgPSA4OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoLmgKaW5kZXggZDI0MDlhNS4uMzc3MzQ1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2guaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaC5oCkBAIC00OCw4ICs0OCw2IEBACiBzdHJ1Y3QgaXdjaF9tcjsKIAogc3RydWN0IGl3Y2hfcm5pY19hdHRyaWJ1dGVzIHsKLQl1MzIgdmVuZG9yX2lkOwotCXUzMiB2ZW5kb3JfcGFydF9pZDsKIAl1MzIgbWF4X3FwczsKIAl1MzIgbWF4X3dyczsJCQkJLyogTWF4IGZvciBhbnkgU1EvUlEgKi8KIAl1MzIgbWF4X3NnZV9wZXJfd3I7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9jcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfY3EuYwppbmRleCA0ZWU4Y2NkLi5jZjU0NzRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9jcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX2NxLmMKQEAgLTgxLDYgKzgxLDcgQEAKIAl3Yy0+d3JfaWQgPSBjb29raWU7CiAJd2MtPnFwID0gJnFocC0+aWJxcDsKIAl3Yy0+dmVuZG9yX2VyciA9IENRRV9TVEFUVVMoY3FlKTsKKwl3Yy0+d2NfZmxhZ3MgPSAwOwogCiAJUERCRygiJXMgcXBpZCAweCV4IHR5cGUgJWQgb3Bjb2RlICVkIHN0YXR1cyAweCV4IHdyaWQgaGkgMHgleCAiCiAJICAgICAibG8gMHgleCBjb29raWUgMHglbGx4XG4iLCBfX2Z1bmNfXywKQEAgLTk0LDYgKzk1LDExIEBACiAJCWVsc2UKIAkJCXdjLT5ieXRlX2xlbiA9IDA7CiAJCXdjLT5vcGNvZGUgPSBJQl9XQ19SRUNWOworCQlpZiAoQ1FFX09QQ09ERShjcWUpID09IFQzX1NFTkRfV0lUSF9JTlYgfHwKKwkJICAgIENRRV9PUENPREUoY3FlKSA9PSBUM19TRU5EX1dJVEhfU0VfSU5WKSB7CisJCQl3Yy0+ZXguaW52YWxpZGF0ZV9ya2V5ID0gQ1FFX1dSSURfU1RBRyhjcWUpOworCQkJd2MtPndjX2ZsYWdzIHw9IElCX1dDX1dJVEhfSU5WQUxJREFURTsKKwkJfQogCX0gZWxzZSB7CiAJCXN3aXRjaCAoQ1FFX09QQ09ERShjcWUpKSB7CiAJCWNhc2UgVDNfUkRNQV9XUklURToKQEAgLTEwNSwxNyArMTExLDIwIEBACiAJCQlicmVhazsKIAkJY2FzZSBUM19TRU5EOgogCQljYXNlIFQzX1NFTkRfV0lUSF9TRToKKwkJY2FzZSBUM19TRU5EX1dJVEhfSU5WOgorCQljYXNlIFQzX1NFTkRfV0lUSF9TRV9JTlY6CiAJCQl3Yy0+b3Bjb2RlID0gSUJfV0NfU0VORDsKIAkJCWJyZWFrOwogCQljYXNlIFQzX0JJTkRfTVc6CiAJCQl3Yy0+b3Bjb2RlID0gSUJfV0NfQklORF9NVzsKIAkJCWJyZWFrOwogCi0JCS8qIHRoZXNlIGFyZW4ndCBzdXBwb3J0ZWQgeWV0ICovCi0JCWNhc2UgVDNfU0VORF9XSVRIX0lOVjoKLQkJY2FzZSBUM19TRU5EX1dJVEhfU0VfSU5WOgogCQljYXNlIFQzX0xPQ0FMX0lOVjoKKwkJCXdjLT5vcGNvZGUgPSBJQl9XQ19MT0NBTF9JTlY7CisJCQlicmVhazsKIAkJY2FzZSBUM19GQVNUX1JFR0lTVEVSOgorCQkJd2MtPm9wY29kZSA9IElCX1dDX0ZBU1RfUkVHX01SOworCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlwcmludGsoS0VSTl9FUlIgTU9EICJVbmV4cGVjdGVkIG9wY29kZSAlZCAiCiAJCQkgICAgICAgImluIHRoZSBDUUUgcmVjZWl2ZWQgZm9yIFFQSUQ9MHglMHhcbiIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuYwppbmRleCA4OTM0MTc4Li5iODk2NDBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmMKQEAgLTU2LDYgKzU2LDcgQEAKICNpbmNsdWRlICJpd2NoX3Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAiaXdjaF9jbS5oIgogI2luY2x1ZGUgIml3Y2hfdXNlci5oIgorI2luY2x1ZGUgImNvbW1vbi5oIgogCiBzdGF0aWMgaW50IGl3Y2hfbW9kaWZ5X3BvcnQoc3RydWN0IGliX2RldmljZSAqaWJkZXYsCiAJCQkgICAgdTggcG9ydCwgaW50IHBvcnRfbW9kaWZ5X21hc2ssCkBAIC03NDcsNiArNzQ4LDcgQEAKIAltaHAtPmF0dHIudHlwZSA9IFRQVF9NVzsKIAltaHAtPmF0dHIuc3RhZyA9IHN0YWc7CiAJbW1pZCA9IChzdGFnKSA+PiA4OworCW1ocC0+aWJtdy5ya2V5ID0gc3RhZzsKIAlpbnNlcnRfaGFuZGxlKHJocCwgJnJocC0+bW1pZHIsIG1ocCwgbW1pZCk7CiAJUERCRygiJXMgbW1pZCAweCV4IG1ocCAlcCBzdGFnIDB4JXhcbiIsIF9fZnVuY19fLCBtbWlkLCBtaHAsIHN0YWcpOwogCXJldHVybiAmKG1ocC0+aWJtdyk7CkBAIC03NjgsNiArNzcwLDY4IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgaWJfbXIgKml3Y2hfYWxsb2NfZmFzdF9yZWdfbXIoc3RydWN0IGliX3BkICpwZCwgaW50IHBibF9kZXB0aCkKK3sKKwlzdHJ1Y3QgaXdjaF9kZXYgKnJocDsKKwlzdHJ1Y3QgaXdjaF9wZCAqcGhwOworCXN0cnVjdCBpd2NoX21yICptaHA7CisJdTMyIG1taWQ7CisJdTMyIHN0YWcgPSAwOworCWludCByZXQ7CisKKwlwaHAgPSB0b19pd2NoX3BkKHBkKTsKKwlyaHAgPSBwaHAtPnJocDsKKwltaHAgPSBremFsbG9jKHNpemVvZigqbWhwKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFtaHApCisJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworCisJbWhwLT5yaHAgPSByaHA7CisJcmV0ID0gaXdjaF9hbGxvY19wYmwobWhwLCBwYmxfZGVwdGgpOworCWlmIChyZXQpIHsKKwkJa2ZyZWUobWhwKTsKKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKwl9CisJbWhwLT5hdHRyLnBibF9zaXplID0gcGJsX2RlcHRoOworCXJldCA9IGN4aW9fYWxsb2NhdGVfc3RhZygmcmhwLT5yZGV2LCAmc3RhZywgcGhwLT5wZGlkLAorCQkJCSBtaHAtPmF0dHIucGJsX3NpemUsIG1ocC0+YXR0ci5wYmxfYWRkcik7CisJaWYgKHJldCkgeworCQlpd2NoX2ZyZWVfcGJsKG1ocCk7CisJCWtmcmVlKG1ocCk7CisJCXJldHVybiBFUlJfUFRSKHJldCk7CisJfQorCW1ocC0+YXR0ci5wZGlkID0gcGhwLT5wZGlkOworCW1ocC0+YXR0ci50eXBlID0gVFBUX05PTl9TSEFSRURfTVI7CisJbWhwLT5hdHRyLnN0YWcgPSBzdGFnOworCW1ocC0+YXR0ci5zdGF0ZSA9IDE7CisJbW1pZCA9IChzdGFnKSA+PiA4OworCW1ocC0+aWJtci5ya2V5ID0gbWhwLT5pYm1yLmxrZXkgPSBzdGFnOworCWluc2VydF9oYW5kbGUocmhwLCAmcmhwLT5tbWlkciwgbWhwLCBtbWlkKTsKKwlQREJHKCIlcyBtbWlkIDB4JXggbWhwICVwIHN0YWcgMHgleFxuIiwgX19mdW5jX18sIG1taWQsIG1ocCwgc3RhZyk7CisJcmV0dXJuICYobWhwLT5pYm1yKTsKK30KKworc3RhdGljIHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKml3Y2hfYWxsb2NfZmFzdHJlZ19wYmwoCisJCQkJCXN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJaW50IHBhZ2VfbGlzdF9sZW4pCit7CisJc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0OworCisJcGFnZV9saXN0ID0ga21hbGxvYyhzaXplb2YgKnBhZ2VfbGlzdCArIHBhZ2VfbGlzdF9sZW4gKiBzaXplb2YodTY0KSwKKwkJCSAgICBHRlBfS0VSTkVMKTsKKwlpZiAoIXBhZ2VfbGlzdCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisKKwlwYWdlX2xpc3QtPnBhZ2VfbGlzdCA9ICh1NjQgKikocGFnZV9saXN0ICsgMSk7CisJcGFnZV9saXN0LT5tYXhfcGFnZV9saXN0X2xlbiA9IHBhZ2VfbGlzdF9sZW47CisKKwlyZXR1cm4gcGFnZV9saXN0OworfQorCitzdGF0aWMgdm9pZCBpd2NoX2ZyZWVfZmFzdHJlZ19wYmwoc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0KQoreworCWtmcmVlKHBhZ2VfbGlzdCk7Cit9CisKIHN0YXRpYyBpbnQgaXdjaF9kZXN0cm95X3FwKHN0cnVjdCBpYl9xcCAqaWJfcXApCiB7CiAJc3RydWN0IGl3Y2hfZGV2ICpyaHA7CkBAIC04NDMsNiArOTA3LDE1IEBACiAJICovCiAJc3FzaXplID0gcm91bmR1cF9wb3dfb2ZfdHdvKGF0dHJzLT5jYXAubWF4X3NlbmRfd3IpOwogCXdxc2l6ZSA9IHJvdW5kdXBfcG93X29mX3R3byhycXNpemUgKyBzcXNpemUpOworCisJLyoKKwkgKiBLZXJuZWwgdXNlcnMgbmVlZCBtb3JlIHdxIHNwYWNlIGZvciBmYXN0cmVnIFdScyB3aGljaCBjYW4gdGFrZQorCSAqIDIgV1IgZnJhZ21lbnRzLgorCSAqLworCXVjb250ZXh0ID0gcGQtPnVvYmplY3QgPyB0b19pd2NoX3Vjb250ZXh0KHBkLT51b2JqZWN0LT5jb250ZXh0KSA6IE5VTEw7CisJaWYgKCF1Y29udGV4dCAmJiB3cXNpemUgPCAocnFzaXplICsgKDIgKiBzcXNpemUpKSkKKwkJd3FzaXplID0gcm91bmR1cF9wb3dfb2ZfdHdvKHJxc2l6ZSArCisJCQkJcm91bmR1cF9wb3dfb2ZfdHdvKGF0dHJzLT5jYXAubWF4X3NlbmRfd3IgKiAyKSk7CiAJUERCRygiJXMgd3FzaXplICVkIHNxc2l6ZSAlZCBycXNpemUgJWRcbiIsIF9fZnVuY19fLAogCSAgICAgd3FzaXplLCBzcXNpemUsIHJxc2l6ZSk7CiAJcWhwID0ga3phbGxvYyhzaXplb2YoKnFocCksIEdGUF9LRVJORUwpOwpAQCAtODUxLDcgKzkyNCw2IEBACiAJcWhwLT53cS5zaXplX2xvZzIgPSBpbG9nMih3cXNpemUpOwogCXFocC0+d3EucnFfc2l6ZV9sb2cyID0gaWxvZzIocnFzaXplKTsKIAlxaHAtPndxLnNxX3NpemVfbG9nMiA9IGlsb2cyKHNxc2l6ZSk7Ci0JdWNvbnRleHQgPSBwZC0+dW9iamVjdCA/IHRvX2l3Y2hfdWNvbnRleHQocGQtPnVvYmplY3QtPmNvbnRleHQpIDogTlVMTDsKIAlpZiAoY3hpb19jcmVhdGVfcXAoJnJocC0+cmRldiwgIXVkYXRhLCAmcWhwLT53cSwKIAkJCSAgIHVjb250ZXh0ID8gJnVjb250ZXh0LT51Y3R4IDogJnJocC0+cmRldi51Y3R4KSkgewogCQlrZnJlZShxaHApOwpAQCAtOTM1LDEwICsxMDA3LDEwIEBACiAJcWhwLT5pYnFwLnFwX251bSA9IHFocC0+d3EucXBpZDsKIAlpbml0X3RpbWVyKCYocWhwLT50aW1lcikpOwogCVBEQkcoIiVzIHNxX251bV9lbnRyaWVzICVkLCBycV9udW1fZW50cmllcyAlZCAiCi0JICAgICAicXBpZCAweCUweCBxaHAgJXAgZG1hX2FkZHIgMHglbGx4IHNpemUgJWRcbiIsCisJICAgICAicXBpZCAweCUweCBxaHAgJXAgZG1hX2FkZHIgMHglbGx4IHNpemUgJWQgcnFfYWRkciAweCV4XG4iLAogCSAgICAgX19mdW5jX18sIHFocC0+YXR0ci5zcV9udW1fZW50cmllcywgcWhwLT5hdHRyLnJxX251bV9lbnRyaWVzLAogCSAgICAgcWhwLT53cS5xcGlkLCBxaHAsICh1bnNpZ25lZCBsb25nIGxvbmcpIHFocC0+d3EuZG1hX2FkZHIsCi0JICAgICAxIDw8IHFocC0+d3Euc2l6ZV9sb2cyKTsKKwkgICAgIDEgPDwgcWhwLT53cS5zaXplX2xvZzIsIHFocC0+d3EucnFfYWRkcik7CiAJcmV0dXJuICZxaHAtPmlicXA7CiB9CiAKQEAgLTEwMjMsNiArMTA5NSwyOSBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgdTY0IGZ3X3ZlcnNfc3RyaW5nX3RvX3U2NChzdHJ1Y3QgaXdjaF9kZXYgKml3Y2hfZGV2KQoreworCXN0cnVjdCBldGh0b29sX2RydmluZm8gaW5mbzsKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbGxkZXYgPSBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+bGxkZXY7CisJY2hhciAqY3AsICpuZXh0OworCXVuc2lnbmVkIGZ3X21haiwgZndfbWluLCBmd19taWM7CisKKwlydG5sX2xvY2soKTsKKwlsbGRldi0+ZXRodG9vbF9vcHMtPmdldF9kcnZpbmZvKGxsZGV2LCAmaW5mbyk7CisJcnRubF91bmxvY2soKTsKKworCW5leHQgPSBpbmZvLmZ3X3ZlcnNpb24gKyAxOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21haik7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWluKTsKKwljcCA9IHN0cnNlcCgmbmV4dCwgIi4iKTsKKwlzc2NhbmYoY3AsICIlaSIsICZmd19taWMpOworCisJcmV0dXJuICgoKHU2NClmd19tYWogJiAweGZmZmYpIDw8IDMyKSB8ICgoZndfbWluICYgMHhmZmZmKSA8PCAxNikgfAorCSAgICAgICAoZndfbWljICYgMHhmZmZmKTsKK30KKwogc3RhdGljIGludCBpd2NoX3F1ZXJ5X2RldmljZShzdHJ1Y3QgaWJfZGV2aWNlICppYmRldiwKIAkJCSAgICAgc3RydWN0IGliX2RldmljZV9hdHRyICpwcm9wcykKIHsKQEAgLTEwMzMsNyArMTEyOCwxMCBAQAogCWRldiA9IHRvX2l3Y2hfZGV2KGliZGV2KTsKIAltZW1zZXQocHJvcHMsIDAsIHNpemVvZiAqcHJvcHMpOwogCW1lbWNweSgmcHJvcHMtPnN5c19pbWFnZV9ndWlkLCBkZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2LT5kZXZfYWRkciwgNik7CisJcHJvcHMtPmh3X3ZlciA9IGRldi0+cmRldi50M2NkZXZfcC0+dHlwZTsKKwlwcm9wcy0+ZndfdmVyID0gZndfdmVyc19zdHJpbmdfdG9fdTY0KGRldik7CiAJcHJvcHMtPmRldmljZV9jYXBfZmxhZ3MgPSBkZXYtPmRldmljZV9jYXBfZmxhZ3M7CisJcHJvcHMtPnBhZ2Vfc2l6ZV9jYXAgPSBkZXYtPmF0dHIubWVtX3Bnc2l6ZXNfYml0bWFzazsKIAlwcm9wcy0+dmVuZG9yX2lkID0gKHUzMilkZXYtPnJkZXYucm5pY19pbmZvLnBkZXYtPnZlbmRvcjsKIAlwcm9wcy0+dmVuZG9yX3BhcnRfaWQgPSAodTMyKWRldi0+cmRldi5ybmljX2luZm8ucGRldi0+ZGV2aWNlOwogCXByb3BzLT5tYXhfbXJfc2l6ZSA9IGRldi0+YXR0ci5tYXhfbXJfc2l6ZTsKQEAgLTEwNDgsNiArMTE0Niw3IEBACiAJcHJvcHMtPm1heF9tciA9IGRldi0+YXR0ci5tYXhfbWVtX3JlZ3M7CiAJcHJvcHMtPm1heF9wZCA9IGRldi0+YXR0ci5tYXhfcGRzOwogCXByb3BzLT5sb2NhbF9jYV9hY2tfZGVsYXkgPSAwOworCXByb3BzLT5tYXhfZmFzdF9yZWdfcGFnZV9saXN0X2xlbiA9IFQzX01BWF9GQVNUUkVHX0RFUFRIOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDg4LDYgKzExODcsMjggQEAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgaXdjaF9kZXYtPnJkZXYudDNjZGV2X3AtPnR5cGUpOwogfQogCitzdGF0aWMgaW50IGZ3X3N1cHBvcnRzX2Zhc3RyZWcoc3RydWN0IGl3Y2hfZGV2ICppd2NoX2RldikKK3sKKwlzdHJ1Y3QgZXRodG9vbF9kcnZpbmZvIGluZm87CisJc3RydWN0IG5ldF9kZXZpY2UgKmxsZGV2ID0gaXdjaF9kZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2OworCWNoYXIgKmNwLCAqbmV4dDsKKwl1bnNpZ25lZCBmd19tYWosIGZ3X21pbjsKKworCXJ0bmxfbG9jaygpOworCWxsZGV2LT5ldGh0b29sX29wcy0+Z2V0X2RydmluZm8obGxkZXYsICZpbmZvKTsKKwlydG5sX3VubG9jaygpOworCisJbmV4dCA9IGluZm8uZndfdmVyc2lvbisxOworCWNwID0gc3Ryc2VwKCZuZXh0LCAiLiIpOworCXNzY2FuZihjcCwgIiVpIiwgJmZ3X21haik7CisJY3AgPSBzdHJzZXAoJm5leHQsICIuIik7CisJc3NjYW5mKGNwLCAiJWkiLCAmZndfbWluKTsKKworCVBEQkcoIiVzIG1haiAldSBtaW4gJXVcbiIsIF9fZnVuY19fLCBmd19tYWosIGZ3X21pbik7CisKKwlyZXR1cm4gZndfbWFqID4gNiB8fCAoZndfbWFqID09IDYgJiYgZndfbWluID4gMCk7Cit9CisKIHN0YXRpYyBzc2l6ZV90IHNob3dfZndfdmVyKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHsKIAlzdHJ1Y3QgaXdjaF9kZXYgKml3Y2hfZGV2ID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IGl3Y2hfZGV2LApAQCAtMTA5Niw3ICsxMjE3LDkgQEAKIAlzdHJ1Y3QgbmV0X2RldmljZSAqbGxkZXYgPSBpd2NoX2Rldi0+cmRldi50M2NkZXZfcC0+bGxkZXY7CiAKIAlQREJHKCIlcyBkZXYgMHglcFxuIiwgX19mdW5jX18sIGRldik7CisJcnRubF9sb2NrKCk7CiAJbGxkZXYtPmV0aHRvb2xfb3BzLT5nZXRfZHJ2aW5mbyhsbGRldiwgJmluZm8pOworCXJ0bmxfdW5sb2NrKCk7CiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJXNcbiIsIGluZm8uZndfdmVyc2lvbik7CiB9CiAKQEAgLTExMDksNyArMTIzMiw5IEBACiAJc3RydWN0IG5ldF9kZXZpY2UgKmxsZGV2ID0gaXdjaF9kZXYtPnJkZXYudDNjZGV2X3AtPmxsZGV2OwogCiAJUERCRygiJXMgZGV2IDB4JXBcbiIsIF9fZnVuY19fLCBkZXYpOworCXJ0bmxfbG9jaygpOwogCWxsZGV2LT5ldGh0b29sX29wcy0+Z2V0X2RydmluZm8obGxkZXYsICZpbmZvKTsKKwlydG5sX3VubG9jaygpOwogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVzXG4iLCBpbmZvLmRyaXZlcik7CiB9CiAKQEAgLTExMjMsNiArMTI0OCw2MSBAQAogCQkgICAgICAgaXdjaF9kZXYtPnJkZXYucm5pY19pbmZvLnBkZXYtPmRldmljZSk7CiB9CiAKK3N0YXRpYyBpbnQgaXdjaF9nZXRfbWliKHN0cnVjdCBpYl9kZXZpY2UgKmliZGV2LAorCQkJdW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyAqc3RhdHMpCit7CisJc3RydWN0IGl3Y2hfZGV2ICpkZXY7CisJc3RydWN0IHRwX21pYl9zdGF0cyBtOworCWludCByZXQ7CisKKwlQREJHKCIlcyBpYmRldiAlcFxuIiwgX19mdW5jX18sIGliZGV2KTsKKwlkZXYgPSB0b19pd2NoX2RldihpYmRldik7CisJcmV0ID0gZGV2LT5yZGV2LnQzY2Rldl9wLT5jdGwoZGV2LT5yZGV2LnQzY2Rldl9wLCBSRE1BX0dFVF9NSUIsICZtKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gLUVOT1NZUzsKKworCW1lbXNldChzdGF0cywgMCwgc2l6ZW9mICpzdGF0cyk7CisJc3RhdHMtPml3LmlwSW5SZWNlaXZlcyA9ICgodTY0KSBtLmlwSW5SZWNlaXZlX2hpIDw8IDMyKSArCisJCQkJbS5pcEluUmVjZWl2ZV9sbzsKKwlzdGF0cy0+aXcuaXBJbkhkckVycm9ycyA9ICgodTY0KSBtLmlwSW5IZHJFcnJvcnNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBJbkhkckVycm9yc19sbzsKKwlzdGF0cy0+aXcuaXBJbkFkZHJFcnJvcnMgPSAoKHU2NCkgbS5pcEluQWRkckVycm9yc19oaSA8PCAzMikgKworCQkJCSAgIG0uaXBJbkFkZHJFcnJvcnNfbG87CisJc3RhdHMtPml3LmlwSW5Vbmtub3duUHJvdG9zID0gKCh1NjQpIG0uaXBJblVua25vd25Qcm90b3NfaGkgPDwgMzIpICsKKwkJCQkgICAgICBtLmlwSW5Vbmtub3duUHJvdG9zX2xvOworCXN0YXRzLT5pdy5pcEluRGlzY2FyZHMgPSAoKHU2NCkgbS5pcEluRGlzY2FyZHNfaGkgPDwgMzIpICsKKwkJCQkgbS5pcEluRGlzY2FyZHNfbG87CisJc3RhdHMtPml3LmlwSW5EZWxpdmVycyA9ICgodTY0KSBtLmlwSW5EZWxpdmVyc19oaSA8PCAzMikgKworCQkJCSBtLmlwSW5EZWxpdmVyc19sbzsKKwlzdGF0cy0+aXcuaXBPdXRSZXF1ZXN0cyA9ICgodTY0KSBtLmlwT3V0UmVxdWVzdHNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBPdXRSZXF1ZXN0c19sbzsKKwlzdGF0cy0+aXcuaXBPdXREaXNjYXJkcyA9ICgodTY0KSBtLmlwT3V0RGlzY2FyZHNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBPdXREaXNjYXJkc19sbzsKKwlzdGF0cy0+aXcuaXBPdXROb1JvdXRlcyA9ICgodTY0KSBtLmlwT3V0Tm9Sb3V0ZXNfaGkgPDwgMzIpICsKKwkJCQkgIG0uaXBPdXROb1JvdXRlc19sbzsKKwlzdGF0cy0+aXcuaXBSZWFzbVRpbWVvdXQgPSAodTY0KSBtLmlwUmVhc21UaW1lb3V0OworCXN0YXRzLT5pdy5pcFJlYXNtUmVxZHMgPSAodTY0KSBtLmlwUmVhc21SZXFkczsKKwlzdGF0cy0+aXcuaXBSZWFzbU9LcyA9ICh1NjQpIG0uaXBSZWFzbU9LczsKKwlzdGF0cy0+aXcuaXBSZWFzbUZhaWxzID0gKHU2NCkgbS5pcFJlYXNtRmFpbHM7CisJc3RhdHMtPml3LnRjcEFjdGl2ZU9wZW5zID0gKHU2NCkgbS50Y3BBY3RpdmVPcGVuczsKKwlzdGF0cy0+aXcudGNwUGFzc2l2ZU9wZW5zID0gKHU2NCkgbS50Y3BQYXNzaXZlT3BlbnM7CisJc3RhdHMtPml3LnRjcEF0dGVtcHRGYWlscyA9ICh1NjQpIG0udGNwQXR0ZW1wdEZhaWxzOworCXN0YXRzLT5pdy50Y3BFc3RhYlJlc2V0cyA9ICh1NjQpIG0udGNwRXN0YWJSZXNldHM7CisJc3RhdHMtPml3LnRjcE91dFJzdHMgPSAodTY0KSBtLnRjcE91dFJzdHM7CisJc3RhdHMtPml3LnRjcEN1cnJFc3RhYiA9ICh1NjQpIG0udGNwQ3VyckVzdGFiOworCXN0YXRzLT5pdy50Y3BJblNlZ3MgPSAoKHU2NCkgbS50Y3BJblNlZ3NfaGkgPDwgMzIpICsKKwkJCSAgICAgIG0udGNwSW5TZWdzX2xvOworCXN0YXRzLT5pdy50Y3BPdXRTZWdzID0gKCh1NjQpIG0udGNwT3V0U2Vnc19oaSA8PCAzMikgKworCQkJICAgICAgIG0udGNwT3V0U2Vnc19sbzsKKwlzdGF0cy0+aXcudGNwUmV0cmFuc1NlZ3MgPSAoKHU2NCkgbS50Y3BSZXRyYW5zU2VnX2hpIDw8IDMyKSArCisJCQkJICBtLnRjcFJldHJhbnNTZWdfbG87CisJc3RhdHMtPml3LnRjcEluRXJycyA9ICgodTY0KSBtLnRjcEluRXJyc19oaSA8PCAzMikgKworCQkJICAgICAgbS50Y3BJbkVycnNfbG87CisJc3RhdHMtPml3LnRjcFJ0b01pbiA9ICh1NjQpIG0udGNwUnRvTWluOworCXN0YXRzLT5pdy50Y3BSdG9NYXggPSAodTY0KSBtLnRjcFJ0b01heDsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIERFVklDRV9BVFRSKGh3X3JldiwgU19JUlVHTywgc2hvd19yZXYsIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKGZ3X3ZlciwgU19JUlVHTywgc2hvd19md192ZXIsIE5VTEwpOwogc3RhdGljIERFVklDRV9BVFRSKGhjYV90eXBlLCBTX0lSVUdPLCBzaG93X2hjYSwgTlVMTCk7CkBAIC0xMTMyLDcgKzEzMTIsNyBAQAogCSZkZXZfYXR0cl9od19yZXYsCiAJJmRldl9hdHRyX2Z3X3ZlciwKIAkmZGV2X2F0dHJfaGNhX3R5cGUsCi0JJmRldl9hdHRyX2JvYXJkX2lkCisJJmRldl9hdHRyX2JvYXJkX2lkLAogfTsKIAogaW50IGl3Y2hfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCBpd2NoX2RldiAqZGV2KQpAQCAtMTE0NSw4ICsxMzI1LDEyIEBACiAJbWVtc2V0KCZkZXYtPmliZGV2Lm5vZGVfZ3VpZCwgMCwgc2l6ZW9mKGRldi0+aWJkZXYubm9kZV9ndWlkKSk7CiAJbWVtY3B5KCZkZXYtPmliZGV2Lm5vZGVfZ3VpZCwgZGV2LT5yZGV2LnQzY2Rldl9wLT5sbGRldi0+ZGV2X2FkZHIsIDYpOwogCWRldi0+aWJkZXYub3duZXIgPSBUSElTX01PRFVMRTsKLQlkZXYtPmRldmljZV9jYXBfZmxhZ3MgPQotCSAgICAoSUJfREVWSUNFX1pFUk9fU1RBRyB8IElCX0RFVklDRV9NRU1fV0lORE9XKTsKKwlkZXYtPmRldmljZV9jYXBfZmxhZ3MgPSBJQl9ERVZJQ0VfTE9DQUxfRE1BX0xLRVkgfCBJQl9ERVZJQ0VfTUVNX1dJTkRPVzsKKworCS8qIGN4Z2IzIHN1cHBvcnRzIFNUYWcgMC4gKi8KKwlkZXYtPmliZGV2LmxvY2FsX2RtYV9sa2V5ID0gMDsKKwlpZiAoZndfc3VwcG9ydHNfZmFzdHJlZyhkZXYpKQorCQlkZXYtPmRldmljZV9jYXBfZmxhZ3MgfD0gSUJfREVWSUNFX01FTV9NR1RfRVhURU5TSU9OUzsKIAogCWRldi0+aWJkZXYudXZlcmJzX2NtZF9tYXNrID0KIAkgICAgKDF1bGwgPDwgSUJfVVNFUl9WRVJCU19DTURfR0VUX0NPTlRFWFQpIHwKQEAgLTExOTgsMTUgKzEzODIsMTYgQEAKIAlkZXYtPmliZGV2LmFsbG9jX213ID0gaXdjaF9hbGxvY19tdzsKIAlkZXYtPmliZGV2LmJpbmRfbXcgPSBpd2NoX2JpbmRfbXc7CiAJZGV2LT5pYmRldi5kZWFsbG9jX213ID0gaXdjaF9kZWFsbG9jX213OwotCisJZGV2LT5pYmRldi5hbGxvY19mYXN0X3JlZ19tciA9IGl3Y2hfYWxsb2NfZmFzdF9yZWdfbXI7CisJZGV2LT5pYmRldi5hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QgPSBpd2NoX2FsbG9jX2Zhc3RyZWdfcGJsOworCWRldi0+aWJkZXYuZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QgPSBpd2NoX2ZyZWVfZmFzdHJlZ19wYmw7CiAJZGV2LT5pYmRldi5hdHRhY2hfbWNhc3QgPSBpd2NoX211bHRpY2FzdF9hdHRhY2g7CiAJZGV2LT5pYmRldi5kZXRhY2hfbWNhc3QgPSBpd2NoX211bHRpY2FzdF9kZXRhY2g7CiAJZGV2LT5pYmRldi5wcm9jZXNzX21hZCA9IGl3Y2hfcHJvY2Vzc19tYWQ7Ci0KIAlkZXYtPmliZGV2LnJlcV9ub3RpZnlfY3EgPSBpd2NoX2FybV9jcTsKIAlkZXYtPmliZGV2LnBvc3Rfc2VuZCA9IGl3Y2hfcG9zdF9zZW5kOwogCWRldi0+aWJkZXYucG9zdF9yZWN2ID0gaXdjaF9wb3N0X3JlY2VpdmU7Ci0KKwlkZXYtPmliZGV2LmdldF9wcm90b2NvbF9zdGF0cyA9IGl3Y2hfZ2V0X21pYjsKIAogCWRldi0+aWJkZXYuaXdjbSA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBpd19jbV92ZXJicyksIEdGUF9LRVJORUwpOwogCWlmICghZGV2LT5pYmRldi5pd2NtKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3Byb3ZpZGVyLmgKaW5kZXggODM2MTYzZi4uZjVjZWNhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcHJvdmlkZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9wcm92aWRlci5oCkBAIC0yOTYsMTQgKzI5Niw2IEBACiAJICAgICAgIFRQVF9MT0NBTF9SRUFEOwogfQogCi1zdGF0aWMgaW5saW5lIHUzMiBpd2NoX2liX3RvX213YmluZF9hY2Nlc3MoaW50IGFjYykKLXsKLQlyZXR1cm4gKGFjYyAmIElCX0FDQ0VTU19SRU1PVEVfV1JJVEUgPyBUM19NRU1fQUNDRVNTX1JFTV9XUklURSA6IDApIHwKLQkgICAgICAgKGFjYyAmIElCX0FDQ0VTU19SRU1PVEVfUkVBRCA/IFQzX01FTV9BQ0NFU1NfUkVNX1JFQUQgOiAwKSB8Ci0JICAgICAgIChhY2MgJiBJQl9BQ0NFU1NfTE9DQUxfV1JJVEUgPyBUM19NRU1fQUNDRVNTX0xPQ0FMX1dSSVRFIDogMCkgfAotCSAgICAgICBUM19NRU1fQUNDRVNTX0xPQ0FMX1JFQUQ7Ci19Ci0KIGVudW0gaXdjaF9tbWlkX3N0YXRlIHsKIAlJV0NIX1NUQUdfU1RBVEVfVkFMSUQsCiAJSVdDSF9TVEFHX1NUQVRFX0lOVkFMSUQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvY3hnYjMvaXdjaF9xcC5jCmluZGV4IDk5MjYxMzcuLjlhM2JlM2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9jeGdiMy9pd2NoX3FwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2N4Z2IzL2l3Y2hfcXAuYwpAQCAtMzMsMTAgKzMzLDExIEBACiAjaW5jbHVkZSAiaXdjaC5oIgogI2luY2x1ZGUgIml3Y2hfY20uaCIKICNpbmNsdWRlICJjeGlvX2hhbC5oIgorI2luY2x1ZGUgImN4aW9fcmVzb3VyY2UuaCIKIAogI2RlZmluZSBOT19TVVBQT1JUIC0xCiAKLXN0YXRpYyBpbnQgaXdjaF9idWlsZF9yZG1hX3NlbmQodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorc3RhdGljIGludCBidWlsZF9yZG1hX3NlbmQodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAogCQkJCXU4ICogZmxpdF9jbnQpCiB7CiAJaW50IGk7CkBAIC00NCw1OSArNDUsNDQgQEAKIAogCXN3aXRjaCAod3ItPm9wY29kZSkgewogCWNhc2UgSUJfV1JfU0VORDoKLQljYXNlIElCX1dSX1NFTkRfV0lUSF9JTU06CiAJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfU09MSUNJVEVEKQogCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkRfV0lUSF9TRTsKIAkJZWxzZQogCQkJd3FlLT5zZW5kLnJkbWFvcCA9IFQzX1NFTkQ7CiAJCXdxZS0+c2VuZC5yZW1fc3RhZyA9IDA7CiAJCWJyZWFrOwotI2lmIDAJCQkJLyogTm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKi8KLQljYXNlIFRZUEVfU0VORF9JTlZBTElEQVRFOgotCWNhc2UgVFlQRV9TRU5EX0lOVkFMSURBVEVfSU1NRURJQVRFOgotCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX0lOVjsKLQkJd3FlLT5zZW5kLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLnJkbWEucmtleSk7CisJY2FzZSBJQl9XUl9TRU5EX1dJVEhfSU5WOgorCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NPTElDSVRFRCkKKwkJCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfU0VfSU5WOworCQllbHNlCisJCQl3cWUtPnNlbmQucmRtYW9wID0gVDNfU0VORF9XSVRIX0lOVjsKKwkJd3FlLT5zZW5kLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPmV4LmludmFsaWRhdGVfcmtleSk7CiAJCWJyZWFrOwotCWNhc2UgVFlQRV9TRU5EX1NFX0lOVkFMSURBVEU6Ci0JCXdxZS0+c2VuZC5yZG1hb3AgPSBUM19TRU5EX1dJVEhfU0VfSU5WOwotCQl3cWUtPnNlbmQucmVtX3N0YWcgPSBjcHVfdG9fYmUzMih3ci0+d3IucmRtYS5ya2V5KTsKLQkJYnJlYWs7Ci0jZW5kaWYKIAlkZWZhdWx0OgotCQlicmVhazsKKwkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCWlmICh3ci0+bnVtX3NnZSA+IFQzX01BWF9TR0UpCiAJCXJldHVybiAtRUlOVkFMOwogCXdxZS0+c2VuZC5yZXNlcnZlZFswXSA9IDA7CiAJd3FlLT5zZW5kLnJlc2VydmVkWzFdID0gMDsKIAl3cWUtPnNlbmQucmVzZXJ2ZWRbMl0gPSAwOwotCWlmICh3ci0+b3Bjb2RlID09IElCX1dSX1NFTkRfV0lUSF9JTU0pIHsKLQkJcGxlbiA9IDQ7Ci0JCXdxZS0+c2VuZC5zZ2xbMF0uc3RhZyA9IHdyLT5leC5pbW1fZGF0YTsKLQkJd3FlLT5zZW5kLnNnbFswXS5sZW4gPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDApOwotCQl3cWUtPnNlbmQubnVtX3NnbGUgPSBfX2NvbnN0YW50X2NwdV90b19iZTMyKDApOwotCQkqZmxpdF9jbnQgPSA1OwotCX0gZWxzZSB7Ci0JCXBsZW4gPSAwOwotCQlmb3IgKGkgPSAwOyBpIDwgd3ItPm51bV9zZ2U7IGkrKykgewotCQkJaWYgKChwbGVuICsgd3ItPnNnX2xpc3RbaV0ubGVuZ3RoKSA8IHBsZW4pIHsKLQkJCQlyZXR1cm4gLUVNU0dTSVpFOwotCQkJfQotCQkJcGxlbiArPSB3ci0+c2dfbGlzdFtpXS5sZW5ndGg7Ci0JCQl3cWUtPnNlbmQuc2dsW2ldLnN0YWcgPQotCQkJICAgIGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxrZXkpOwotCQkJd3FlLT5zZW5kLnNnbFtpXS5sZW4gPQotCQkJICAgIGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7Ci0JCQl3cWUtPnNlbmQuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQod3ItPnNnX2xpc3RbaV0uYWRkcik7Ci0JCX0KLQkJd3FlLT5zZW5kLm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOwotCQkqZmxpdF9jbnQgPSA0ICsgKCh3ci0+bnVtX3NnZSkgPDwgMSk7CisJcGxlbiA9IDA7CisJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKKwkJaWYgKChwbGVuICsgd3ItPnNnX2xpc3RbaV0ubGVuZ3RoKSA8IHBsZW4pCisJCQlyZXR1cm4gLUVNU0dTSVpFOworCisJCXBsZW4gKz0gd3ItPnNnX2xpc3RbaV0ubGVuZ3RoOworCQl3cWUtPnNlbmQuc2dsW2ldLnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sa2V5KTsKKwkJd3FlLT5zZW5kLnNnbFtpXS5sZW4gPSBjcHVfdG9fYmUzMih3ci0+c2dfbGlzdFtpXS5sZW5ndGgpOworCQl3cWUtPnNlbmQuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQod3ItPnNnX2xpc3RbaV0uYWRkcik7CiAJfQorCXdxZS0+c2VuZC5udW1fc2dsZSA9IGNwdV90b19iZTMyKHdyLT5udW1fc2dlKTsKKwkqZmxpdF9jbnQgPSA0ICsgKCh3ci0+bnVtX3NnZSkgPDwgMSk7CiAJd3FlLT5zZW5kLnBsZW4gPSBjcHVfdG9fYmUzMihwbGVuKTsKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfd3JpdGUodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorc3RhdGljIGludCBidWlsZF9yZG1hX3dyaXRlKHVuaW9uIHQzX3dyICp3cWUsIHN0cnVjdCBpYl9zZW5kX3dyICp3ciwKIAkJCQkgdTggKmZsaXRfY250KQogewogCWludCBpOwpAQCAtMTM3LDE1ICsxMjMsMTggQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBpd2NoX2J1aWxkX3JkbWFfcmVhZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCitzdGF0aWMgaW50IGJ1aWxkX3JkbWFfcmVhZCh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCiAJCQkJdTggKmZsaXRfY250KQogewogCWlmICh3ci0+bnVtX3NnZSA+IDEpCiAJCXJldHVybiAtRUlOVkFMOwogCXdxZS0+cmVhZC5yZG1hb3AgPSBUM19SRUFEX1JFUTsKKwlpZiAod3ItPm9wY29kZSA9PSBJQl9XUl9SRE1BX1JFQURfV0lUSF9JTlYpCisJCXdxZS0+cmVhZC5sb2NhbF9pbnYgPSAxOworCWVsc2UKKwkJd3FlLT5yZWFkLmxvY2FsX2ludiA9IDA7CiAJd3FlLT5yZWFkLnJlc2VydmVkWzBdID0gMDsKIAl3cWUtPnJlYWQucmVzZXJ2ZWRbMV0gPSAwOwotCXdxZS0+cmVhZC5yZXNlcnZlZFsyXSA9IDA7CiAJd3FlLT5yZWFkLnJlbV9zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLnJkbWEucmtleSk7CiAJd3FlLT5yZWFkLnJlbV90byA9IGNwdV90b19iZTY0KHdyLT53ci5yZG1hLnJlbW90ZV9hZGRyKTsKIAl3cWUtPnJlYWQubG9jYWxfc3RhZyA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0WzBdLmxrZXkpOwpAQCAtMTU1LDYgKzE0NCw1NyBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGJ1aWxkX2Zhc3RyZWcodW5pb24gdDNfd3IgKndxZSwgc3RydWN0IGliX3NlbmRfd3IgKndyLAorCQkJCXU4ICpmbGl0X2NudCwgaW50ICp3cl9jbnQsIHN0cnVjdCB0M193cSAqd3EpCit7CisJaW50IGk7CisJX19iZTY0ICpwOworCisJaWYgKHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuID4gVDNfTUFYX0ZBU1RSRUdfREVQVEgpCisJCXJldHVybiAtRUlOVkFMOworCSp3cl9jbnQgPSAxOworCXdxZS0+ZmFzdHJlZy5zdGFnID0gY3B1X3RvX2JlMzIod3ItPndyLmZhc3RfcmVnLnJrZXkpOworCXdxZS0+ZmFzdHJlZy5sZW4gPSBjcHVfdG9fYmUzMih3ci0+d3IuZmFzdF9yZWcubGVuZ3RoKTsKKwl3cWUtPmZhc3RyZWcudmFfYmFzZV9oaSA9IGNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5pb3ZhX3N0YXJ0ID4+IDMyKTsKKwl3cWUtPmZhc3RyZWcudmFfYmFzZV9sb19mYm8gPQorCQkJCWNwdV90b19iZTMyKHdyLT53ci5mYXN0X3JlZy5pb3ZhX3N0YXJ0ICYgMHhmZmZmZmZmZik7CisJd3FlLT5mYXN0cmVnLnBhZ2VfdHlwZV9wZXJtcyA9IGNwdV90b19iZTMyKAorCQlWX0ZSX1BBR0VfQ09VTlQod3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW4pIHwKKwkJVl9GUl9QQUdFX1NJWkUod3ItPndyLmZhc3RfcmVnLnBhZ2Vfc2hpZnQtMTIpIHwKKwkJVl9GUl9UWVBFKFRQVF9WQVRPKSB8CisJCVZfRlJfUEVSTVMoaXdjaF9pYl90b190cHRfYWNjZXNzKHdyLT53ci5mYXN0X3JlZy5hY2Nlc3NfZmxhZ3MpKSk7CisJcCA9ICZ3cWUtPmZhc3RyZWcucGJsX2FkZHJzWzBdOworCWZvciAoaSA9IDA7IGkgPCB3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0X2xlbjsgaSsrLCBwKyspIHsKKworCQkvKiBJZiB3ZSBuZWVkIGEgMm5kIFdSLCB0aGVuIHNldCBpdCB1cCAqLworCQlpZiAoaSA9PSBUM19NQVhfRkFTVFJFR19GUkFHKSB7CisJCQkqd3JfY250ID0gMjsKKwkJCXdxZSA9ICh1bmlvbiB0M193ciAqKSh3cS0+cXVldWUgKworCQkJCVFfUFRSMklEWCgod3EtPndwdHIrMSksIHdxLT5zaXplX2xvZzIpKTsKKwkJCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopd3FlLCBUM19XUl9GQVNUUkVHLCAwLAorCQkJICAgICAgIFFfR0VOQklUKHdxLT53cHRyICsgMSwgd3EtPnNpemVfbG9nMiksCisJCQkgICAgICAgMCwgMSArIHdyLT53ci5mYXN0X3JlZy5wYWdlX2xpc3RfbGVuIC0gVDNfTUFYX0ZBU1RSRUdfRlJBRywKKwkJCSAgICAgICBUM19FT1ApOworCisJCQlwID0gJndxZS0+cGJsX2ZyYWcucGJsX2FkZHJzWzBdOworCQl9CisJCSpwID0gY3B1X3RvX2JlNjQoKHU2NCl3ci0+d3IuZmFzdF9yZWcucGFnZV9saXN0LT5wYWdlX2xpc3RbaV0pOworCX0KKwkqZmxpdF9jbnQgPSA1ICsgd3ItPndyLmZhc3RfcmVnLnBhZ2VfbGlzdF9sZW47CisJaWYgKCpmbGl0X2NudCA+IDE1KQorCQkqZmxpdF9jbnQgPSAxNTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBidWlsZF9pbnZfc3RhZyh1bmlvbiB0M193ciAqd3FlLCBzdHJ1Y3QgaWJfc2VuZF93ciAqd3IsCisJCQkJdTggKmZsaXRfY250KQoreworCXdxZS0+bG9jYWxfaW52LnN0YWcgPSBjcHVfdG9fYmUzMih3ci0+ZXguaW52YWxpZGF0ZV9ya2V5KTsKKwl3cWUtPmxvY2FsX2ludi5yZXNlcnZlZCA9IDA7CisJKmZsaXRfY250ID0gc2l6ZW9mKHN0cnVjdCB0M19sb2NhbF9pbnZfd3IpID4+IDM7CisJcmV0dXJuIDA7Cit9CisKIC8qCiAgKiBUQkQ6IHRoaXMgaXMgZ29pbmcgdG8gYmUgbW92ZWQgdG8gZmlybXdhcmUuIE1pc3NpbmcgcGRpZC9xcGlkIGNoZWNrIGZvciBub3cuCiAgKi8KQEAgLTIwNSwyMyArMjQ1LDEwNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGl3Y2hfYnVpbGRfcmRtYV9yZWN2KHN0cnVjdCBpd2NoX2RldiAqcmhwLCB1bmlvbiB0M193ciAqd3FlLAorc3RhdGljIGludCBidWlsZF9yZG1hX3JlY3Yoc3RydWN0IGl3Y2hfcXAgKnFocCwgdW5pb24gdDNfd3IgKndxZSwKIAkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IpCiB7Ci0JaW50IGk7Ci0JaWYgKHdyLT5udW1fc2dlID4gVDNfTUFYX1NHRSkKLQkJcmV0dXJuIC1FSU5WQUw7CisJaW50IGksIGVyciA9IDA7CisJdTMyIHBibF9hZGRyW1QzX01BWF9TR0VdOworCXU4IHBhZ2Vfc2l6ZVtUM19NQVhfU0dFXTsKKworCWVyciA9IGl3Y2hfc2dsMnBibF9tYXAocWhwLT5yaHAsIHdyLT5zZ19saXN0LCB3ci0+bnVtX3NnZSwgcGJsX2FkZHIsCisJCQkgICAgICAgcGFnZV9zaXplKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCXdxZS0+cmVjdi5wYWdlc3pbMF0gPSBwYWdlX3NpemVbMF07CisJd3FlLT5yZWN2LnBhZ2VzelsxXSA9IHBhZ2Vfc2l6ZVsxXTsKKwl3cWUtPnJlY3YucGFnZXN6WzJdID0gcGFnZV9zaXplWzJdOworCXdxZS0+cmVjdi5wYWdlc3pbM10gPSBwYWdlX3NpemVbM107CiAJd3FlLT5yZWN2Lm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOwogCWZvciAoaSA9IDA7IGkgPCB3ci0+bnVtX3NnZTsgaSsrKSB7CiAJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxrZXkpOwogCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7Ci0JCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKKworCQkvKiB0byBpbiB0aGUgV1FFID09IHRoZSBvZmZzZXQgaW50byB0aGUgcGFnZSAqLworCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gY3B1X3RvX2JlNjQoKCh1MzIpIHdyLT5zZ19saXN0W2ldLmFkZHIpICUKKwkJCQkoMVVMIDw8ICgxMiArIHBhZ2Vfc2l6ZVtpXSkpKTsKKworCQkvKiBwYmxfYWRkciBpcyB0aGUgYWRhcHRlcnMgYWRkcmVzcyBpbiB0aGUgUEJMICovCisJCXdxZS0+cmVjdi5wYmxfYWRkcltpXSA9IGNwdV90b19iZTMyKHBibF9hZGRyW2ldKTsKIAl9CiAJZm9yICg7IGkgPCBUM19NQVhfU0dFOyBpKyspIHsKIAkJd3FlLT5yZWN2LnNnbFtpXS5zdGFnID0gMDsKIAkJd3FlLT5yZWN2LnNnbFtpXS5sZW4gPSAwOwogCQl3cWUtPnJlY3Yuc2dsW2ldLnRvID0gMDsKKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gMDsKIAl9CisJcWhwLT53cS5ycVtRX1BUUjJJRFgocWhwLT53cS5ycV93cHRyLAorCQkJICAgICBxaHAtPndxLnJxX3NpemVfbG9nMildLndyX2lkID0gd3ItPndyX2lkOworCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS5wYmxfYWRkciA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYnVpbGRfemVyb19zdGFnX3JlY3Yoc3RydWN0IGl3Y2hfcXAgKnFocCwgdW5pb24gdDNfd3IgKndxZSwKKwkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IpCit7CisJaW50IGk7CisJdTMyIHBibF9hZGRyOworCXUzMiBwYmxfb2Zmc2V0OworCisKKwkvKgorCSAqIFRoZSBUMyBIVyByZXF1aXJlcyB0aGUgUEJMIGluIHRoZSBIVyByZWN2IGRlc2NyaXB0b3IgdG8gcmVmZXJlbmNlCisJICogYSBQQkwgZW50cnkuICBTbyB3ZSBhbGxvY2F0ZSB0aGUgbWF4IG5lZWRlZCBQQkwgbWVtb3J5IGhlcmUgYW5kIHBhc3MKKwkgKiBpdCB0byB0aGUgdVAgaW4gdGhlIHJlY3YgV1IuICBUaGUgdVAgd2lsbCBidWlsZCB0aGUgUEJMIGFuZCBzZXR1cAorCSAqIHRoZSBIVyByZWN2IGRlc2NyaXB0b3IuCisJICovCisJcGJsX2FkZHIgPSBjeGlvX2hhbF9wYmxwb29sX2FsbG9jKCZxaHAtPnJocC0+cmRldiwgVDNfU1RBRzBfUEJMX1NJWkUpOworCWlmICghcGJsX2FkZHIpCisJCXJldHVybiAtRU5PTUVNOworCisJLyoKKwkgKiBDb21wdXRlIHRoZSA4QiBhbGlnbmVkIG9mZnNldC4KKwkgKi8KKwlwYmxfb2Zmc2V0ID0gKHBibF9hZGRyIC0gcWhwLT5yaHAtPnJkZXYucm5pY19pbmZvLnBibF9iYXNlKSA+PiAzOworCisJd3FlLT5yZWN2Lm51bV9zZ2xlID0gY3B1X3RvX2JlMzIod3ItPm51bV9zZ2UpOworCisJZm9yIChpID0gMDsgaSA8IHdyLT5udW1fc2dlOyBpKyspIHsKKworCQkvKgorCQkgKiBVc2UgYSAxMjhNQiBwYWdlIHNpemUuIFRoaXMgYW5kIGFuIGltcG9zZWQgMTI4TUIKKwkJICogc2dlIGxlbmd0aCBsaW1pdCBhbGxvd3MgdXMgdG8gcmVxdWlyZSBvbmx5IGEgMi1lbnRyeSBIVworCQkgKiBQQkwgZm9yIGVhY2ggU0dFLiAgVGhpcyByZXN0cmljdGlvbiBpcyBhY2NlcHRhYmxlIHNpbmNlCisJCSAqIHNpbmNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBhbGxvY2F0ZSAxMjhNQiBvZiBjb250aWd1b3VzCisJCSAqIERNQSBjb2hlcmVudCBtZW1vcnkhCisJCSAqLworCQlpZiAod3ItPnNnX2xpc3RbaV0ubGVuZ3RoID4gVDNfU1RBRzBfTUFYX1BCRV9MRU4pCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJd3FlLT5yZWN2LnBhZ2VzeltpXSA9IFQzX1NUQUcwX1BBR0VfU0hJRlQ7CisKKwkJLyoKKwkJICogVDMgcmVzdHJpY3RzIGEgcmVjdiB0byBhbGwgemVyby1zdGFnIG9yIGFsbCBub24temVyby1zdGFnLgorCQkgKi8KKwkJaWYgKHdyLT5zZ19saXN0W2ldLmxrZXkgIT0gMCkKKwkJCXJldHVybiAtRUlOVkFMOworCQl3cWUtPnJlY3Yuc2dsW2ldLnN0YWcgPSAwOworCQl3cWUtPnJlY3Yuc2dsW2ldLmxlbiA9IGNwdV90b19iZTMyKHdyLT5zZ19saXN0W2ldLmxlbmd0aCk7CisJCXdxZS0+cmVjdi5zZ2xbaV0udG8gPSBjcHVfdG9fYmU2NCh3ci0+c2dfbGlzdFtpXS5hZGRyKTsKKwkJd3FlLT5yZWN2LnBibF9hZGRyW2ldID0gY3B1X3RvX2JlMzIocGJsX29mZnNldCk7CisJCXBibF9vZmZzZXQgKz0gMjsKKwl9CisJZm9yICg7IGkgPCBUM19NQVhfU0dFOyBpKyspIHsKKwkJd3FlLT5yZWN2LnBhZ2VzeltpXSA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0uc3RhZyA9IDA7CisJCXdxZS0+cmVjdi5zZ2xbaV0ubGVuID0gMDsKKwkJd3FlLT5yZWN2LnNnbFtpXS50byA9IDA7CisJCXdxZS0+cmVjdi5wYmxfYWRkcltpXSA9IDA7CisJfQorCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwKKwkJCSAgICAgcWhwLT53cS5ycV9zaXplX2xvZzIpXS53cl9pZCA9IHdyLT53cl9pZDsKKwlxaHAtPndxLnJxW1FfUFRSMklEWChxaHAtPndxLnJxX3dwdHIsCisJCQkgICAgIHFocC0+d3EucnFfc2l6ZV9sb2cyKV0ucGJsX2FkZHIgPSBwYmxfYWRkcjsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjM4LDYgKzM2MSw3IEBACiAJdTMyIG51bV93cnM7CiAJdW5zaWduZWQgbG9uZyBmbGFnOwogCXN0cnVjdCB0M19zd3NxICpzcXA7CisJaW50IHdyX2NudCA9IDE7CiAKIAlxaHAgPSB0b19pd2NoX3FwKGlicXApOwogCXNwaW5fbG9ja19pcnFzYXZlKCZxaHAtPmxvY2ssIGZsYWcpOwpAQCAtMjYyLDMzICszODYsNDUgQEAKIAkJdDNfd3JfZmxhZ3MgPSAwOwogCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NPTElDSVRFRCkKIAkJCXQzX3dyX2ZsYWdzIHw9IFQzX1NPTElDSVRFRF9FVkVOVF9GTEFHOwotCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX0ZFTkNFKQotCQkJdDNfd3JfZmxhZ3MgfD0gVDNfUkVBRF9GRU5DRV9GTEFHOwogCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX1NJR05BTEVEKQogCQkJdDNfd3JfZmxhZ3MgfD0gVDNfQ09NUExFVElPTl9GTEFHOwogCQlzcXAgPSBxaHAtPndxLnNxICsKIAkJICAgICAgUV9QVFIySURYKHFocC0+d3Euc3Ffd3B0ciwgcWhwLT53cS5zcV9zaXplX2xvZzIpOwogCQlzd2l0Y2ggKHdyLT5vcGNvZGUpIHsKIAkJY2FzZSBJQl9XUl9TRU5EOgotCQljYXNlIElCX1dSX1NFTkRfV0lUSF9JTU06CisJCWNhc2UgSUJfV1JfU0VORF9XSVRIX0lOVjoKKwkJCWlmICh3ci0+c2VuZF9mbGFncyAmIElCX1NFTkRfRkVOQ0UpCisJCQkJdDNfd3JfZmxhZ3MgfD0gVDNfUkVBRF9GRU5DRV9GTEFHOwogCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfU0VORDsKLQkJCWVyciA9IGl3Y2hfYnVpbGRfcmRtYV9zZW5kKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQllcnIgPSBidWlsZF9yZG1hX3NlbmQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKIAkJCWJyZWFrOwogCQljYXNlIElCX1dSX1JETUFfV1JJVEU6CiAJCWNhc2UgSUJfV1JfUkRNQV9XUklURV9XSVRIX0lNTToKIAkJCXQzX3dyX29wY29kZSA9IFQzX1dSX1dSSVRFOwotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3dyaXRlKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQllcnIgPSBidWlsZF9yZG1hX3dyaXRlKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CiAJCQlicmVhazsKIAkJY2FzZSBJQl9XUl9SRE1BX1JFQUQ6CisJCWNhc2UgSUJfV1JfUkRNQV9SRUFEX1dJVEhfSU5WOgogCQkJdDNfd3Jfb3Bjb2RlID0gVDNfV1JfUkVBRDsKIAkJCXQzX3dyX2ZsYWdzID0gMDsgLyogVDMgcmVhZHMgYXJlIGFsd2F5cyBzaWduYWxlZCAqLwotCQkJZXJyID0gaXdjaF9idWlsZF9yZG1hX3JlYWQod3FlLCB3ciwgJnQzX3dyX2ZsaXRfY250KTsKKwkJCWVyciA9IGJ1aWxkX3JkbWFfcmVhZCh3cWUsIHdyLCAmdDNfd3JfZmxpdF9jbnQpOwogCQkJaWYgKGVycikKIAkJCQlicmVhazsKIAkJCXNxcC0+cmVhZF9sZW4gPSB3cWUtPnJlYWQubG9jYWxfbGVuOwogCQkJaWYgKCFxaHAtPndxLm9sZGVzdF9yZWFkKQogCQkJCXFocC0+d3Eub2xkZXN0X3JlYWQgPSBzcXA7CiAJCQlicmVhazsKKwkJY2FzZSBJQl9XUl9GQVNUX1JFR19NUjoKKwkJCXQzX3dyX29wY29kZSA9IFQzX1dSX0ZBU1RSRUc7CisJCQllcnIgPSBidWlsZF9mYXN0cmVnKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCwKKwkJCQkJCSAmd3JfY250LCAmcWhwLT53cSk7CisJCQlicmVhazsKKwkJY2FzZSBJQl9XUl9MT0NBTF9JTlY6CisJCQlpZiAod3ItPnNlbmRfZmxhZ3MgJiBJQl9TRU5EX0ZFTkNFKQorCQkJCXQzX3dyX2ZsYWdzIHw9IFQzX0xPQ0FMX0ZFTkNFX0ZMQUc7CisJCQl0M193cl9vcGNvZGUgPSBUM19XUl9JTlZfU1RBRzsKKwkJCWVyciA9IGJ1aWxkX2ludl9zdGFnKHdxZSwgd3IsICZ0M193cl9mbGl0X2NudCk7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCVBEQkcoIiVzIHBvc3Qgb2YgdHlwZT0lZCBUQkQhXG4iLCBfX2Z1bmNfXywKIAkJCSAgICAgd3ItPm9wY29kZSk7CkBAIC0zMDcsMTQgKzQ0MywxNSBAQAogCiAJCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopIHdxZSwgdDNfd3Jfb3Bjb2RlLCB0M193cl9mbGFncywKIAkJCSAgICAgICBRX0dFTkJJVChxaHAtPndxLndwdHIsIHFocC0+d3Euc2l6ZV9sb2cyKSwKLQkJCSAgICAgICAwLCB0M193cl9mbGl0X2NudCk7CisJCQkgICAgICAgMCwgdDNfd3JfZmxpdF9jbnQsCisJCQkgICAgICAgKHdyX2NudCA9PSAxKSA/IFQzX1NPUEVPUCA6IFQzX1NPUCk7CiAJCVBEQkcoIiVzIGNvb2tpZSAweCVsbHggd3EgaWR4IDB4JXggc3dzcSBpZHggJWxkIG9wY29kZSAlZFxuIiwKIAkJICAgICBfX2Z1bmNfXywgKHVuc2lnbmVkIGxvbmcgbG9uZykgd3ItPndyX2lkLCBpZHgsCiAJCSAgICAgUV9QVFIySURYKHFocC0+d3Euc3Ffd3B0ciwgcWhwLT53cS5zcV9zaXplX2xvZzIpLAogCQkgICAgIHNxcC0+b3Bjb2RlKTsKIAkJd3IgPSB3ci0+bmV4dDsKIAkJbnVtX3dycy0tOwotCQkrKyhxaHAtPndxLndwdHIpOworCQlxaHAtPndxLndwdHIgKz0gd3JfY250OwogCQkrKyhxaHAtPndxLnNxX3dwdHIpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxaHAtPmxvY2ssIGZsYWcpOwpAQCAtMzQ1LDIxICs0ODIsMjcgQEAKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCXdoaWxlICh3cikgeworCQlpZiAod3ItPm51bV9zZ2UgPiBUM19NQVhfU0dFKSB7CisJCQllcnIgPSAtRUlOVkFMOworCQkJKmJhZF93ciA9IHdyOworCQkJYnJlYWs7CisJCX0KIAkJaWR4ID0gUV9QVFIySURYKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpOwogCQl3cWUgPSAodW5pb24gdDNfd3IgKikgKHFocC0+d3EucXVldWUgKyBpZHgpOwogCQlpZiAobnVtX3dycykKLQkJCWVyciA9IGl3Y2hfYnVpbGRfcmRtYV9yZWN2KHFocC0+cmhwLCB3cWUsIHdyKTsKKwkJCWlmICh3ci0+c2dfbGlzdFswXS5sa2V5KQorCQkJCWVyciA9IGJ1aWxkX3JkbWFfcmVjdihxaHAsIHdxZSwgd3IpOworCQkJZWxzZQorCQkJCWVyciA9IGJ1aWxkX3plcm9fc3RhZ19yZWN2KHFocCwgd3FlLCB3cik7CiAJCWVsc2UKIAkJCWVyciA9IC1FTk9NRU07CiAJCWlmIChlcnIpIHsKIAkJCSpiYWRfd3IgPSB3cjsKIAkJCWJyZWFrOwogCQl9Ci0JCXFocC0+d3EucnFbUV9QVFIySURYKHFocC0+d3EucnFfd3B0ciwgcWhwLT53cS5ycV9zaXplX2xvZzIpXSA9Ci0JCQl3ci0+d3JfaWQ7CiAJCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopIHdxZSwgVDNfV1JfUkNWLCBUM19DT01QTEVUSU9OX0ZMQUcsCiAJCQkgICAgICAgUV9HRU5CSVQocWhwLT53cS53cHRyLCBxaHAtPndxLnNpemVfbG9nMiksCi0JCQkgICAgICAgMCwgc2l6ZW9mKHN0cnVjdCB0M19yZWNlaXZlX3dyKSA+PiAzKTsKKwkJCSAgICAgICAwLCBzaXplb2Yoc3RydWN0IHQzX3JlY2VpdmVfd3IpID4+IDMsIFQzX1NPUEVPUCk7CiAJCVBEQkcoIiVzIGNvb2tpZSAweCVsbHggaWR4IDB4JXggcnFfd3B0ciAweCV4IHJ3X3JwdHIgMHgleCAiCiAJCSAgICAgIndxZSAlcCBcbiIsIF9fZnVuY19fLCAodW5zaWduZWQgbG9uZyBsb25nKSB3ci0+d3JfaWQsCiAJCSAgICAgaWR4LCBxaHAtPndxLnJxX3dwdHIsIHFocC0+d3EucnFfcnB0ciwgd3FlKTsKQEAgLTQxOSwxMCArNTYyLDEwIEBACiAJc2dsLmxrZXkgPSBtd19iaW5kLT5tci0+bGtleTsKIAlzZ2wubGVuZ3RoID0gbXdfYmluZC0+bGVuZ3RoOwogCXdxZS0+YmluZC5yZXNlcnZlZCA9IDA7Ci0Jd3FlLT5iaW5kLnR5cGUgPSBUM19WQV9CQVNFRF9UTzsKKwl3cWUtPmJpbmQudHlwZSA9IFRQVF9WQVRPOwogCiAJLyogVEJEOiBjaGVjayBwZXJtcyAqLwotCXdxZS0+YmluZC5wZXJtcyA9IGl3Y2hfaWJfdG9fbXdiaW5kX2FjY2Vzcyhtd19iaW5kLT5td19hY2Nlc3NfZmxhZ3MpOworCXdxZS0+YmluZC5wZXJtcyA9IGl3Y2hfaWJfdG9fdHB0X2FjY2Vzcyhtd19iaW5kLT5td19hY2Nlc3NfZmxhZ3MpOwogCXdxZS0+YmluZC5tcl9zdGFnID0gY3B1X3RvX2JlMzIobXdfYmluZC0+bXItPmxrZXkpOwogCXdxZS0+YmluZC5td19zdGFnID0gY3B1X3RvX2JlMzIobXctPnJrZXkpOwogCXdxZS0+YmluZC5td19sZW4gPSBjcHVfdG9fYmUzMihtd19iaW5kLT5sZW5ndGgpOwpAQCAtNDMwLDcgKzU3Myw3IEBACiAJZXJyID0gaXdjaF9zZ2wycGJsX21hcChyaHAsICZzZ2wsIDEsICZwYmxfYWRkciwgJnBhZ2Vfc2l6ZSk7CiAJaWYgKGVycikgewogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxaHAtPmxvY2ssIGZsYWcpOwotCSAgICAgICAgcmV0dXJuIGVycjsKKwkJcmV0dXJuIGVycjsKIAl9CiAJd3FlLT5zZW5kLndyaWQuaWQwLmhpID0gcWhwLT53cS5zcV93cHRyOwogCXNxcCA9IHFocC0+d3Euc3EgKyBRX1BUUjJJRFgocWhwLT53cS5zcV93cHRyLCBxaHAtPndxLnNxX3NpemVfbG9nMik7CkBAIC00NDEsMTAgKzU4NCw5IEBACiAJc3FwLT5zaWduYWxlZCA9IChtd19iaW5kLT5zZW5kX2ZsYWdzICYgSUJfU0VORF9TSUdOQUxFRCk7CiAJd3FlLT5iaW5kLm1yX3BibF9hZGRyID0gY3B1X3RvX2JlMzIocGJsX2FkZHIpOwogCXdxZS0+YmluZC5tcl9wYWdlc3ogPSBwYWdlX3NpemU7Ci0Jd3FlLT5mbGl0W1QzX1NRX0NPT0tJRV9GTElUXSA9IG13X2JpbmQtPndyX2lkOwogCWJ1aWxkX2Z3X3Jpd3JoKCh2b2lkICopd3FlLCBUM19XUl9CSU5ELCB0M193cl9mbGFncywKIAkJICAgICAgIFFfR0VOQklUKHFocC0+d3Eud3B0ciwgcWhwLT53cS5zaXplX2xvZzIpLCAwLAotCQkJICAgICAgICBzaXplb2Yoc3RydWN0IHQzX2JpbmRfbXdfd3IpID4+IDMpOworCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0M19iaW5kX213X3dyKSA+PiAzLCBUM19TT1BFT1ApOwogCSsrKHFocC0+d3Eud3B0cik7CiAJKysocWhwLT53cS5zcV93cHRyKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZxaHAtPmxvY2ssIGZsYWcpOwpAQCAtNzU4LDcgKzkwMCw4IEBACiAJaW5pdF9hdHRyLnFwX2RtYV9zaXplID0gKDFVTCA8PCBxaHAtPndxLnNpemVfbG9nMik7CiAJaW5pdF9hdHRyLnJxZV9jb3VudCA9IGl3Y2hfcnFlc19wb3N0ZWQocWhwKTsKIAlpbml0X2F0dHIuZmxhZ3MgPSBxaHAtPmF0dHIubXBhX2F0dHIuaW5pdGlhdG9yID8gTVBBX0lOSVRJQVRPUiA6IDA7Ci0JaW5pdF9hdHRyLmZsYWdzIHw9IGNhcGFibGUoQ0FQX05FVF9CSU5EX1NFUlZJQ0UpID8gUFJJVl9RUCA6IDA7CisJaWYgKCFxaHAtPmlicXAudW9iamVjdCkKKwkJaW5pdF9hdHRyLmZsYWdzIHw9IFBSSVZfUVA7CiAJaWYgKHBlZXIycGVlcikgewogCQlpbml0X2F0dHIucnRyX3R5cGUgPSBSVFJfUkVBRDsKIAkJaWYgKGluaXRfYXR0ci5vcmQgPT0gMCAmJiBxaHAtPmF0dHIubXBhX2F0dHIuaW5pdGlhdG9yKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfaXJxLmMKaW5kZXggY2UxYWIwNS4uMDc5MmQ5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9pcnEuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX2lycS5jCkBAIC01MzEsNyArNTMxLDcgQEAKIHsKIAlzdHJ1Y3QgZWhjYV9lcSAqZXEgPSAmc2hjYS0+ZXE7CiAJc3RydWN0IGVoY2FfZXFlX2NhY2hlX2VudHJ5ICplcWVfY2FjaGUgPSBlcS0+ZXFlX2NhY2hlOwotCXU2NCBlcWVfdmFsdWU7CisJdTY0IGVxZV92YWx1ZSwgcmV0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGVxZV9jbnQsIGk7CiAJaW50IGVxX2VtcHR5ID0gMDsKQEAgLTU4Myw4ICs1ODMsMTMgQEAKIAkJCWVoY2FfZGJnKCZzaGNhLT5pYl9kZXZpY2UsCiAJCQkJICJObyBlcWUgZm91bmQgZm9yIGlycSBldmVudCIpOwogCQlnb3RvIHVubG9ja19pcnFfc3BpbmxvY2s7Ci0JfSBlbHNlIGlmICghaXNfaXJxKQorCX0gZWxzZSBpZiAoIWlzX2lycSkgeworCQlyZXQgPSBoaXB6X2hfZW9pKGVxLT5pc3QpOworCQlpZiAocmV0ICE9IEhfU1VDQ0VTUykKKwkJCWVoY2FfZXJyKCZzaGNhLT5pYl9kZXZpY2UsCisJCQkJICJiYWQgcmV0dXJuIGNvZGUgRU9JIC1yYyA9ICVsZFxuIiwgcmV0KTsKIAkJZWhjYV9kYmcoJnNoY2EtPmliX2RldmljZSwgImRlYWRtYW4gZm91bmQgJXggZXFlIiwgZXFlX2NudCk7CisJfQogCWlmICh1bmxpa2VseShlcWVfY250ID09IEVIQ0FfRVFFX0NBQ0hFX1NJWkUpKQogCQllaGNhX2RiZygmc2hjYS0+aWJfZGV2aWNlLCAidG9vIG1hbnkgZXFlcyBmb3Igb25lIGlycSBldmVudCIpOwogCS8qIGVuYWJsZSBpcnEgZm9yIG5ldyBwYWNrZXRzICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jCmluZGV4IDQ4MjEwM2UuLjU5ODg0NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2VoY2FfbWFpbi5jCkBAIC05MjMsNiArOTIzLDcgQEAKIAl9LAogCXt9LAogfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGVoY2FfZGV2aWNlX3RhYmxlKTsKIAogc3RhdGljIHN0cnVjdCBvZl9wbGF0Zm9ybV9kcml2ZXIgZWhjYV9kcml2ZXIgPSB7CiAJLm5hbWUgICAgICAgID0gImVoY2EiLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvZWhjYV9yZXFzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYwppbmRleCBmMDkzYjAwLi5kZDliYzY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9laGNhX3JlcXMuYwpAQCAtNTQ0LDggKzU0NCwxNiBAQAogCQkgICBzdHJ1Y3QgaWJfcmVjdl93ciAqcmVjdl93ciwKIAkJICAgc3RydWN0IGliX3JlY3Zfd3IgKipiYWRfcmVjdl93cikKIHsKLQlyZXR1cm4gaW50ZXJuYWxfcG9zdF9yZWN2KGNvbnRhaW5lcl9vZihxcCwgc3RydWN0IGVoY2FfcXAsIGliX3FwKSwKLQkJCQkgIHFwLT5kZXZpY2UsIHJlY3Zfd3IsIGJhZF9yZWN2X3dyKTsKKwlzdHJ1Y3QgZWhjYV9xcCAqbXlfcXAgPSBjb250YWluZXJfb2YocXAsIHN0cnVjdCBlaGNhX3FwLCBpYl9xcCk7CisKKwkvKiBSZWplY3QgV1IgaWYgUVAgaXMgaW4gUkVTRVQgc3RhdGUgKi8KKwlpZiAodW5saWtlbHkobXlfcXAtPnN0YXRlID09IElCX1FQU19SRVNFVCkpIHsKKwkJZWhjYV9lcnIocXAtPmRldmljZSwgIkludmFsaWQgUVAgc3RhdGUgIHFwX3N0YXRlPSVkIHFwbj0leCIsCisJCQkgbXlfcXAtPnN0YXRlLCBxcC0+cXBfbnVtKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIGludGVybmFsX3Bvc3RfcmVjdihteV9xcCwgcXAtPmRldmljZSwgcmVjdl93ciwgYmFkX3JlY3Zfd3IpOwogfQogCiBpbnQgZWhjYV9wb3N0X3NycV9yZWN2KHN0cnVjdCBpYl9zcnEgKnNycSwKQEAgLTY4MSw3ICs2ODksNyBAQAogCXdjLT5kbGlkX3BhdGhfYml0cyA9IGNxZS0+ZGxpZDsKIAl3Yy0+c3JjX3FwID0gY3FlLT5yZW1vdGVfcXBfbnVtYmVyOwogCXdjLT53Y19mbGFncyA9IGNxZS0+d19jb21wbGV0aW9uX2ZsYWdzOwotCXdjLT5pbW1fZGF0YSA9IGNwdV90b19iZTMyKGNxZS0+aW1tZWRpYXRlX2RhdGEpOworCXdjLT5leC5pbW1fZGF0YSA9IGNwdV90b19iZTMyKGNxZS0+aW1tZWRpYXRlX2RhdGEpOwogCXdjLT5zbCA9IGNxZS0+c2VydmljZV9sZXZlbDsKIAogcG9sbF9jcV9vbmVfZXhpdDA6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvZWhjYS9oY3BfaWYuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jCmluZGV4IDUyNDVlMTMuLjQxNWQzYTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5jCkBAIC05MzMsMyArOTMzLDEzIEBACiAJCQkJICAgICAgIHJfY2IsCiAJCQkJICAgICAgIDAsIDAsIDAsIDApOwogfQorCit1NjQgaGlwel9oX2VvaShpbnQgaXJxKQoreworCXVuc2lnbmVkIGxvbmcgeGlycjsKKworCWlvc3luYygpOworCXhpcnIgPSAoMHhmZlVMTCA8PCAyNCkgfCBpcnE7CisKKwlyZXR1cm4gcGxwYXJfaGNhbGxfbm9yZXRzKEhfRU9JLCB4aXJyKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9laGNhL2hjcF9pZi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmgKaW5kZXggNjBjZTAyYi4uMmMzYzZlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2VoY2EvaGNwX2lmLmgKQEAgLTI2MCw1ICsyNjAsNiBAQAogCQkgICAgICBjb25zdCB1NjQgcmVzc291cmNlX2hhbmRsZSwKIAkJICAgICAgdm9pZCAqcmJsb2NrLAogCQkgICAgICB1bnNpZ25lZCBsb25nICpieXRlX2NvdW50KTsKK3U2NCBoaXB6X2hfZW9pKGludCBpcnEpOwogCiAjZW5kaWYgLyogX19IQ1BfSUZfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfY3EuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jCmluZGV4IGEwM2JkMjguLmQzODVlNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9jcS5jCkBAIC04Miw3ICs4Miw3IEBACiAJCXdjLT51cXVldWVbaGVhZF0ub3Bjb2RlID0gZW50cnktPm9wY29kZTsKIAkJd2MtPnVxdWV1ZVtoZWFkXS52ZW5kb3JfZXJyID0gZW50cnktPnZlbmRvcl9lcnI7CiAJCXdjLT51cXVldWVbaGVhZF0uYnl0ZV9sZW4gPSBlbnRyeS0+Ynl0ZV9sZW47Ci0JCXdjLT51cXVldWVbaGVhZF0uaW1tX2RhdGEgPSAoX191MzIgX19mb3JjZSllbnRyeS0+aW1tX2RhdGE7CisJCXdjLT51cXVldWVbaGVhZF0uZXguaW1tX2RhdGEgPSAoX191MzIgX19mb3JjZSkgZW50cnktPmV4LmltbV9kYXRhOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLnFwX251bSA9IGVudHJ5LT5xcC0+cXBfbnVtOwogCQl3Yy0+dXF1ZXVlW2hlYWRdLnNyY19xcCA9IGVudHJ5LT5zcmNfcXA7CiAJCXdjLT51cXVldWVbaGVhZF0ud2NfZmxhZ3MgPSBlbnRyeS0+d2NfZmxhZ3M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfZmlsZV9vcHMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9maWxlX29wcy5jCmluZGV4IGI0NzJiMTUuLjM1ZjMwMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9maWxlX29wcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9maWxlX29wcy5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8bGludXgvaGlnaG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3BndGFibGUuaD4KIAogI2luY2x1ZGUgImlwYXRoX2tlcm5lbC5oIgpAQCAtMTgxNSw2ICsxODE2LDcgQEAKIHN0YXRpYyBpbnQgaXBhdGhfb3BlbihzdHJ1Y3QgaW5vZGUgKmluLCBzdHJ1Y3QgZmlsZSAqZnApCiB7CiAJLyogVGhlIHJlYWwgd29yayBpcyBwZXJmb3JtZWQgbGF0ZXIgaW4gaXBhdGhfYXNzaWduX3BvcnQoKSAqLworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZnAtPnByaXZhdGVfZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpcGF0aF9maWxlZGF0YSksIEdGUF9LRVJORUwpOwogCXJldHVybiBmcC0+cHJpdmF0ZV9kYXRhID8gMCA6IC1FTk9NRU07CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfaWJhNzIyMC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX2liYTcyMjAuYwppbmRleCA4ZWVlNzgzLi5mYjcwNzEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfaWJhNzIyMC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9pYmE3MjIwLmMKQEAgLTIyMjgsOCArMjIyOCw4IEBACiAJCTB4ZmZmZmZmZmYsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwKIAkJMHg0MDAwMDAwMSwgMHgxMzg4LCAweDE1ZSwgLyogcmVzdCAwJ3MgKi8KIAkJfTsKLQlkY250ID0gc2l6ZW9mKG1hZHBheWxvYWRfc3RhcnQpL3NpemVvZihtYWRwYXlsb2FkX3N0YXJ0WzBdKTsKLQloY250ID0gc2l6ZW9mKGhkcikvc2l6ZW9mKGhkclswXSk7CisJZGNudCA9IEFSUkFZX1NJWkUobWFkcGF5bG9hZF9zdGFydCk7CisJaGNudCA9IEFSUkFZX1NJWkUoaGRyKTsKIAlpZiAoIXN3YXBwZWQpIHsKIAkJLyogZm9yIG1haW50YWluYWJpbGl0eSwgZG8gaXQgYXQgcnVudGltZSAqLwogCQlmb3IgKGkgPSAwOyBpIDwgaGNudDsgaSsrKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfbWFkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfbWFkLmMKaW5kZXggNWY5MzE1ZC4uYmU0ZmM5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9tYWQuYwpAQCAtMTExLDkgKzExMSw5IEBACiAJbmlwLT5yZXZpc2lvbiA9IGNwdV90b19iZTMyKChtYWpyZXYgPDwgMTYpIHwgbWlucmV2KTsKIAluaXAtPmxvY2FsX3BvcnRfbnVtID0gcG9ydDsKIAl2ZW5kb3IgPSBkZC0+aXBhdGhfdmVuZG9yaWQ7Ci0JbmlwLT52ZW5kb3JfaWRbMF0gPSAwOwotCW5pcC0+dmVuZG9yX2lkWzFdID0gdmVuZG9yID4+IDg7Ci0JbmlwLT52ZW5kb3JfaWRbMl0gPSB2ZW5kb3I7CisJbmlwLT52ZW5kb3JfaWRbMF0gPSBJUEFUSF9TUkNfT1VJXzE7CisJbmlwLT52ZW5kb3JfaWRbMV0gPSBJUEFUSF9TUkNfT1VJXzI7CisJbmlwLT52ZW5kb3JfaWRbMl0gPSBJUEFUSF9TUkNfT1VJXzM7CiAKIAlyZXR1cm4gcmVwbHkoc21wKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9yYy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3JjLmMKaW5kZXggMTA4ZGY2Ni4uOTc3MTA1MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3JjLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3JjLmMKQEAgLTE3MDMsMTEgKzE3MDMsMTEgQEAKIAljYXNlIE9QKFNFTkRfTEFTVF9XSVRIX0lNTUVESUFURSk6CiAJc2VuZF9sYXN0X2ltbToKIAkJaWYgKGhlYWRlcl9pbl9kYXRhKSB7Ci0JCQl3Yy5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CiAJCQlkYXRhICs9IHNpemVvZihfX2JlMzIpOwogCQl9IGVsc2UgewogCQkJLyogSW1tZWRpYXRlIGRhdGEgY29tZXMgYWZ0ZXIgQlRIICovCi0JCQl3Yy5pbW1fZGF0YSA9IG9oZHItPnUuaW1tX2RhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9IG9oZHItPnUuaW1tX2RhdGE7CiAJCX0KIAkJaGRyc2l6ZSArPSA0OwogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3J1Yy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3J1Yy5jCmluZGV4IGE0YjU1MjEuLmFmMDUxZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF9ydWMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfcnVjLmMKQEAgLTMzMSw3ICszMzEsNyBAQAogCXN3aXRjaCAod3FlLT53ci5vcGNvZGUpIHsKIAljYXNlIElCX1dSX1NFTkRfV0lUSF9JTU06CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCXdjLmltbV9kYXRhID0gd3FlLT53ci5leC5pbW1fZGF0YTsKKwkJd2MuZXguaW1tX2RhdGEgPSB3cWUtPndyLmV4LmltbV9kYXRhOwogCQkvKiBGQUxMVEhST1VHSCAqLwogCWNhc2UgSUJfV1JfU0VORDoKIAkJaWYgKCFpcGF0aF9nZXRfcndxZShxcCwgMCkpCkBAIC0zNDIsNyArMzQyLDcgQEAKIAkJaWYgKHVubGlrZWx5KCEocXAtPnFwX2FjY2Vzc19mbGFncyAmIElCX0FDQ0VTU19SRU1PVEVfV1JJVEUpKSkKIAkJCWdvdG8gaW52X2VycjsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJd2MuaW1tX2RhdGEgPSB3cWUtPndyLmV4LmltbV9kYXRhOworCQl3Yy5leC5pbW1fZGF0YSA9IHdxZS0+d3IuZXguaW1tX2RhdGE7CiAJCWlmICghaXBhdGhfZ2V0X3J3cWUocXAsIDEpKQogCQkJZ290byBybnJfbmFrOwogCQkvKiBGQUxMVEhST1VHSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VjLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWMuYwppbmRleCAwNTk2ZWMxLi44MmNjNTg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWMuYwpAQCAtMzc5LDExICszNzksMTEgQEAKIAljYXNlIE9QKFNFTkRfTEFTVF9XSVRIX0lNTUVESUFURSk6CiAJc2VuZF9sYXN0X2ltbToKIAkJaWYgKGhlYWRlcl9pbl9kYXRhKSB7Ci0JCQl3Yy5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CiAJCQlkYXRhICs9IHNpemVvZihfX2JlMzIpOwogCQl9IGVsc2UgewogCQkJLyogSW1tZWRpYXRlIGRhdGEgY29tZXMgYWZ0ZXIgQlRIICovCi0JCQl3Yy5pbW1fZGF0YSA9IG9oZHItPnUuaW1tX2RhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9IG9oZHItPnUuaW1tX2RhdGE7CiAJCX0KIAkJaGRyc2l6ZSArPSA0OwogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwpAQCAtNDgzLDExICs0ODMsMTEgQEAKIAljYXNlIE9QKFJETUFfV1JJVEVfTEFTVF9XSVRIX0lNTUVESUFURSk6CiAJcmRtYV9sYXN0X2ltbToKIAkJaWYgKGhlYWRlcl9pbl9kYXRhKSB7Ci0JCQl3Yy5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CiAJCQlkYXRhICs9IHNpemVvZihfX2JlMzIpOwogCQl9IGVsc2UgewogCQkJLyogSW1tZWRpYXRlIGRhdGEgY29tZXMgYWZ0ZXIgQlRIICovCi0JCQl3Yy5pbW1fZGF0YSA9IG9oZHItPnUuaW1tX2RhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9IG9oZHItPnUuaW1tX2RhdGE7CiAJCX0KIAkJaGRyc2l6ZSArPSA0OwogCQl3Yy53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3VkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWQuYwppbmRleCA3N2NhOGNhLi4zNmFhMjQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdWQuYwpAQCAtOTYsNyArOTYsNyBAQAogCiAJaWYgKHN3cWUtPndyLm9wY29kZSA9PSBJQl9XUl9TRU5EX1dJVEhfSU1NKSB7CiAJCXdjLndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCXdjLmltbV9kYXRhID0gc3dxZS0+d3IuZXguaW1tX2RhdGE7CisJCXdjLmV4LmltbV9kYXRhID0gc3dxZS0+d3IuZXguaW1tX2RhdGE7CiAJfQogCiAJLyoKQEAgLTQ5MiwxNCArNDkyLDE0IEBACiAJaWYgKHFwLT5pYnFwLnFwX251bSA+IDEgJiYKIAkgICAgb3Bjb2RlID09IElCX09QQ09ERV9VRF9TRU5EX09OTFlfV0lUSF9JTU1FRElBVEUpIHsKIAkJaWYgKGhlYWRlcl9pbl9kYXRhKSB7Ci0JCQl3Yy5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CisJCQl3Yy5leC5pbW1fZGF0YSA9ICooX19iZTMyICopIGRhdGE7CiAJCQlkYXRhICs9IHNpemVvZihfX2JlMzIpOwogCQl9IGVsc2UKLQkJCXdjLmltbV9kYXRhID0gb2hkci0+dS51ZC5pbW1fZGF0YTsKKwkJCXdjLmV4LmltbV9kYXRhID0gb2hkci0+dS51ZC5pbW1fZGF0YTsKIAkJd2Mud2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKIAkJaGRyc2l6ZSArPSBzaXplb2YodTMyKTsKIAl9IGVsc2UgaWYgKG9wY29kZSA9PSBJQl9PUENPREVfVURfU0VORF9PTkxZKSB7Ci0JCXdjLmltbV9kYXRhID0gMDsKKwkJd2MuZXguaW1tX2RhdGEgPSAwOwogCQl3Yy53Y19mbGFncyA9IDA7CiAJfSBlbHNlIHsKIAkJZGV2LT5uX3BrdF9kcm9wcysrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnMuYwppbmRleCA3Nzc5MTY1Li41NWM3MTg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvaXBhdGgvaXBhdGhfdmVyYnMuYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgPHJkbWEvaWJfdXNlcl92ZXJicy5oPgogI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAjaW5jbHVkZSA8bGludXgvdXRzbmFtZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KIAogI2luY2x1ZGUgImlwYXRoX2tlcm5lbC5oIgogI2luY2x1ZGUgImlwYXRoX3ZlcmJzLmgiCkBAIC0xNDk3LDcgKzE0OTgsOCBAQAogCQlJQl9ERVZJQ0VfU1lTX0lNQUdFX0dVSUQgfCBJQl9ERVZJQ0VfUkNfUk5SX05BS19HRU4gfAogCQlJQl9ERVZJQ0VfUE9SVF9BQ1RJVkVfRVZFTlQgfCBJQl9ERVZJQ0VfU1JRX1JFU0laRTsKIAlwcm9wcy0+cGFnZV9zaXplX2NhcCA9IFBBR0VfU0laRTsKLQlwcm9wcy0+dmVuZG9yX2lkID0gZGV2LT5kZC0+aXBhdGhfdmVuZG9yaWQ7CisJcHJvcHMtPnZlbmRvcl9pZCA9CisJCUlQQVRIX1NSQ19PVUlfMSA8PCAxNiB8IElQQVRIX1NSQ19PVUlfMiA8PCA4IHwgSVBBVEhfU1JDX09VSV8zOwogCXByb3BzLT52ZW5kb3JfcGFydF9pZCA9IGRldi0+ZGQtPmlwYXRoX2RldmljZWlkOwogCXByb3BzLT5od192ZXIgPSBkZXYtPmRkLT5pcGF0aF9wY2lyZXY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9pcGF0aC9pcGF0aF92ZXJic19tY2FzdC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzX21jYXN0LmMKaW5kZXggOWU1YWJmOS4uZDczZTMyMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzX21jYXN0LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L2lwYXRoL2lwYXRoX3ZlcmJzX21jYXN0LmMKQEAgLTMxLDggKzMxLDcgQEAKICAqIFNPRlRXQVJFLgogICovCiAKLSNpbmNsdWRlIDxsaW51eC9saXN0Lmg+Ci0jaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKICNpbmNsdWRlICJpcGF0aF92ZXJicy5oIgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9jcS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvY3EuYwppbmRleCA0NTIxMzE5Li4yOTlmMjA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9jcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L2NxLmMKQEAgLTY2MywxOCArNjYzLDE4IEBACiAKIAkJc3dpdGNoIChjcWUtPm93bmVyX3NyX29wY29kZSAmIE1MWDRfQ1FFX09QQ09ERV9NQVNLKSB7CiAJCWNhc2UgTUxYNF9SRUNWX09QQ09ERV9SRE1BX1dSSVRFX0lNTToKLQkJCXdjLT5vcGNvZGUgICA9IElCX1dDX1JFQ1ZfUkRNQV9XSVRIX0lNTTsKLQkJCXdjLT53Y19mbGFncyA9IElCX1dDX1dJVEhfSU1NOwotCQkJd2MtPmltbV9kYXRhID0gY3FlLT5pbW1lZF9yc3NfaW52YWxpZDsKKwkJCXdjLT5vcGNvZGUJPSBJQl9XQ19SRUNWX1JETUFfV0lUSF9JTU07CisJCQl3Yy0+d2NfZmxhZ3MJPSBJQl9XQ19XSVRIX0lNTTsKKwkJCXdjLT5leC5pbW1fZGF0YSA9IGNxZS0+aW1tZWRfcnNzX2ludmFsaWQ7CiAJCQlicmVhazsKIAkJY2FzZSBNTFg0X1JFQ1ZfT1BDT0RFX1NFTkQ6CiAJCQl3Yy0+b3Bjb2RlICAgPSBJQl9XQ19SRUNWOwogCQkJd2MtPndjX2ZsYWdzID0gMDsKIAkJCWJyZWFrOwogCQljYXNlIE1MWDRfUkVDVl9PUENPREVfU0VORF9JTU06Ci0JCQl3Yy0+b3Bjb2RlICAgPSBJQl9XQ19SRUNWOwotCQkJd2MtPndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCQl3Yy0+aW1tX2RhdGEgPSBjcWUtPmltbWVkX3Jzc19pbnZhbGlkOworCQkJd2MtPm9wY29kZQk9IElCX1dDX1JFQ1Y7CisJCQl3Yy0+d2NfZmxhZ3MJPSBJQl9XQ19XSVRIX0lNTTsKKwkJCXdjLT5leC5pbW1fZGF0YSA9IGNxZS0+aW1tZWRfcnNzX2ludmFsaWQ7CiAJCQlicmVhazsKIAkJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21hZC5jCmluZGV4IDRjMWU3MmYuLmNkY2EzYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21hZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21hZC5jCkBAIC0yNTUsNyArMjU1LDggQEAKIAkJCXJldHVybiBJQl9NQURfUkVTVUxUX1NVQ0NFU1M7CiAJfSBlbHNlIGlmIChpbl9tYWQtPm1hZF9oZHIubWdtdF9jbGFzcyA9PSBJQl9NR01UX0NMQVNTX1BFUkZfTUdNVCB8fAogCQkgICBpbl9tYWQtPm1hZF9oZHIubWdtdF9jbGFzcyA9PSBNTFg0X0lCX1ZFTkRPUl9DTEFTUzEgICB8fAotCQkgICBpbl9tYWQtPm1hZF9oZHIubWdtdF9jbGFzcyA9PSBNTFg0X0lCX1ZFTkRPUl9DTEFTUzIpIHsKKwkJICAgaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gTUxYNF9JQl9WRU5ET1JfQ0xBU1MyICAgfHwKKwkJICAgaW5fbWFkLT5tYWRfaGRyLm1nbXRfY2xhc3MgPT0gSUJfTUdNVF9DTEFTU19DT05HX01HTVQpIHsKIAkJaWYgKGluX21hZC0+bWFkX2hkci5tZXRob2QgICE9IElCX01HTVRfTUVUSE9EX0dFVCAmJgogCQkgICAgaW5fbWFkLT5tYWRfaGRyLm1ldGhvZCAgIT0gSUJfTUdNVF9NRVRIT0RfU0VUKQogCQkJcmV0dXJuIElCX01BRF9SRVNVTFRfU1VDQ0VTUzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21haW4uYwppbmRleCA0ZDYxZTMyLi5iY2Y1MDY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWFpbi5jCkBAIC05MCw3ICs5MCw4IEBACiAJcHJvcHMtPmRldmljZV9jYXBfZmxhZ3MgICAgPSBJQl9ERVZJQ0VfQ0hBTkdFX1BIWV9QT1JUIHwKIAkJSUJfREVWSUNFX1BPUlRfQUNUSVZFX0VWRU5UCQl8CiAJCUlCX0RFVklDRV9TWVNfSU1BR0VfR1VJRAkJfAotCQlJQl9ERVZJQ0VfUkNfUk5SX05BS19HRU47CisJCUlCX0RFVklDRV9SQ19STlJfTkFLX0dFTgkJfAorCQlJQl9ERVZJQ0VfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLOwogCWlmIChkZXYtPmRldi0+Y2Fwcy5mbGFncyAmIE1MWDRfREVWX0NBUF9GTEFHX0JBRF9QS0VZX0NOVFIpCiAJCXByb3BzLT5kZXZpY2VfY2FwX2ZsYWdzIHw9IElCX0RFVklDRV9CQURfUEtFWV9DTlRSOwogCWlmIChkZXYtPmRldi0+Y2Fwcy5mbGFncyAmIE1MWDRfREVWX0NBUF9GTEFHX0JBRF9RS0VZX0NOVFIpCkBAIC00MzcsNyArNDM4LDkgQEAKIHN0YXRpYyBpbnQgbWx4NF9pYl9tY2dfYXR0YWNoKHN0cnVjdCBpYl9xcCAqaWJxcCwgdW5pb24gaWJfZ2lkICpnaWQsIHUxNiBsaWQpCiB7CiAJcmV0dXJuIG1seDRfbXVsdGljYXN0X2F0dGFjaCh0b19tZGV2KGlicXAtPmRldmljZSktPmRldiwKLQkJCQkgICAgICZ0b19tcXAoaWJxcCktPm1xcCwgZ2lkLT5yYXcpOworCQkJCSAgICAgJnRvX21xcChpYnFwKS0+bXFwLCBnaWQtPnJhdywKKwkJCQkgICAgICEhKHRvX21xcChpYnFwKS0+ZmxhZ3MgJgorCQkJCQlNTFg0X0lCX1FQX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykpOwogfQogCiBzdGF0aWMgaW50IG1seDRfaWJfbWNnX2RldGFjaChzdHJ1Y3QgaWJfcXAgKmlicXAsIHVuaW9uIGliX2dpZCAqZ2lkLCB1MTYgbGlkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWx4NF9pYi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvbWx4NF9pYi5oCmluZGV4IDVjZjk5NDcuLmM0Y2Y1YjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L21seDRfaWIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9tbHg0X2liLmgKQEAgLTEwMSw3ICsxMDEsOCBAQAogfTsKIAogZW51bSBtbHg0X2liX3FwX2ZsYWdzIHsKLQlNTFg0X0lCX1FQX0xTTwkJPSAxIDw8IDAKKwlNTFg0X0lCX1FQX0xTTwkJCQk9IDEgPDwgMCwKKwlNTFg0X0lCX1FQX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSwk9IDEgPDwgMSwKIH07CiAKIHN0cnVjdCBtbHg0X2liX3FwIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L3FwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbWx4NC9xcC5jCmluZGV4IGE4MGRmMjIuLjg5ZWI2Y2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tbHg0L3FwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L21seDQvcXAuYwpAQCAtMTI5LDkgKzEyOSwxMCBAQAogCWludCBpbmQ7CiAJdm9pZCAqYnVmOwogCV9fYmUzMiBzdGFtcDsKKwlzdHJ1Y3QgbWx4NF93cWVfY3RybF9zZWcgKmN0cmw7CiAKLQlzID0gcm91bmR1cChzaXplLCAxVSA8PCBxcC0+c3Eud3FlX3NoaWZ0KTsKIAlpZiAocXAtPnNxX21heF93cWVzX3Blcl93ciA+IDEpIHsKKwkJcyA9IHJvdW5kdXAoc2l6ZSwgMVUgPDwgcXAtPnNxLndxZV9zaGlmdCk7CiAJCWZvciAoaSA9IDA7IGkgPCBzOyBpICs9IDY0KSB7CiAJCQlpbmQgPSAoaSA+PiBxcC0+c3Eud3FlX3NoaWZ0KSArIG47CiAJCQlzdGFtcCA9IGluZCAmIHFwLT5zcS53cWVfY250ID8gY3B1X3RvX2JlMzIoMHg3ZmZmZmZmZikgOgpAQCAtMTQxLDcgKzE0Miw4IEBACiAJCQkqd3FlID0gc3RhbXA7CiAJCX0KIAl9IGVsc2UgewotCQlidWYgPSBnZXRfc2VuZF93cWUocXAsIG4gJiAocXAtPnNxLndxZV9jbnQgLSAxKSk7CisJCWN0cmwgPSBidWYgPSBnZXRfc2VuZF93cWUocXAsIG4gJiAocXAtPnNxLndxZV9jbnQgLSAxKSk7CisJCXMgPSAoY3RybC0+ZmVuY2Vfc2l6ZSAmIDB4M2YpIDw8IDQ7CiAJCWZvciAoaSA9IDY0OyBpIDwgczsgaSArPSA2NCkgewogCQkJd3FlID0gYnVmICsgaTsKIAkJCSp3cWUgPSBjcHVfdG9fYmUzMigweGZmZmZmZmZmKTsKQEAgLTQ1MiwxOSArNDU0LDggQEAKIAlzcGluX2xvY2tfaW5pdCgmcXAtPnJxLmxvY2spOwogCiAJcXAtPnN0YXRlCSA9IElCX1FQU19SRVNFVDsKLQlxcC0+YXRvbWljX3JkX2VuID0gMDsKLQlxcC0+cmVzcF9kZXB0aCAgID0gMDsKLQotCXFwLT5ycS5oZWFkCSAgICA9IDA7Ci0JcXAtPnJxLnRhaWwJICAgID0gMDsKLQlxcC0+c3EuaGVhZAkgICAgPSAwOwotCXFwLT5zcS50YWlsCSAgICA9IDA7Ci0JcXAtPnNxX25leHRfd3FlICAgICA9IDA7Ci0KIAlpZiAoaW5pdF9hdHRyLT5zcV9zaWdfdHlwZSA9PSBJQl9TSUdOQUxfQUxMX1dSKQogCQlxcC0+c3Ffc2lnbmFsX2JpdHMgPSBjcHVfdG9fYmUzMihNTFg0X1dRRV9DVFJMX0NRX1VQREFURSk7Ci0JZWxzZQotCQlxcC0+c3Ffc2lnbmFsX2JpdHMgPSAwOwogCiAJZXJyID0gc2V0X3JxX3NpemUoZGV2LCAmaW5pdF9hdHRyLT5jYXAsICEhcGQtPnVvYmplY3QsICEhaW5pdF9hdHRyLT5zcnEsIHFwKTsKIAlpZiAoZXJyKQpAQCAtNTA5LDYgKzUwMCw5IEBACiAJfSBlbHNlIHsKIAkJcXAtPnNxX25vX3ByZWZldGNoID0gMDsKIAorCQlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiBJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLKQorCQkJcXAtPmZsYWdzIHw9IE1MWDRfSUJfUVBfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLOworCiAJCWlmIChpbml0X2F0dHItPmNyZWF0ZV9mbGFncyAmIElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08pCiAJCQlxcC0+ZmxhZ3MgfD0gTUxYNF9JQl9RUF9MU087CiAKQEAgLTY4MiwxMCArNjc2LDE1IEBACiAJc3RydWN0IG1seDRfaWJfcXAgKnFwOwogCWludCBlcnI7CiAKLQkvKiBXZSBvbmx5IHN1cHBvcnQgTFNPLCBhbmQgb25seSBmb3Iga2VybmVsIFVEIFFQcy4gKi8KLQlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiB+SUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTykKKwkvKgorCSAqIFdlIG9ubHkgc3VwcG9ydCBMU08gYW5kIG11bHRpY2FzdCBsb29wYmFjayBibG9ja2luZywgYW5kCisJICogb25seSBmb3Iga2VybmVsIFVEIFFQcy4KKwkgKi8KKwlpZiAoaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgJiB+KElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08gfAorCQkJCQlJQl9RUF9DUkVBVEVfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Ci0JaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYgSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTyAmJgorCisJaWYgKGluaXRfYXR0ci0+Y3JlYXRlX2ZsYWdzICYmCiAJICAgIChwZC0+dW9iamVjdCB8fCBpbml0X2F0dHItPnFwX3R5cGUgIT0gSUJfUVBUX1VEKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKQEAgLTY5NCw3ICs2OTMsNyBAQAogCWNhc2UgSUJfUVBUX1VDOgogCWNhc2UgSUJfUVBUX1VEOgogCXsKLQkJcXAgPSBrbWFsbG9jKHNpemVvZiAqcXAsIEdGUF9LRVJORUwpOworCQlxcCA9IGt6YWxsb2Moc2l6ZW9mICpxcCwgR0ZQX0tFUk5FTCk7CiAJCWlmICghcXApCiAJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIApAQCAtNzE1LDcgKzcxNCw3IEBACiAJCWlmIChwZC0+dW9iamVjdCkKIAkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCi0JCXNxcCA9IGttYWxsb2Moc2l6ZW9mICpzcXAsIEdGUF9LRVJORUwpOworCQlzcXAgPSBremFsbG9jKHNpemVvZiAqc3FwLCBHRlBfS0VSTkVMKTsKIAkJaWYgKCFzcXApCiAJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIApAQCAtOTA2LDcgKzkwNSw4IEBACiAJCQkgICAgICAgYXR0ci0+cGF0aF9tdHUpOwogCQkJZ290byBvdXQ7CiAJCX0KLQkJY29udGV4dC0+bXR1X21zZ21heCA9IChhdHRyLT5wYXRoX210dSA8PCA1KSB8IDMxOworCQljb250ZXh0LT5tdHVfbXNnbWF4ID0gKGF0dHItPnBhdGhfbXR1IDw8IDUpIHwKKwkJCWlsb2cyKGRldi0+ZGV2LT5jYXBzLm1heF9tc2dfc3opOwogCX0KIAogCWlmIChxcC0+cnEud3FlX2NudCkKQEAgLTEwNjMsNiArMTA2Myw4IEBACiAJCWZvciAoaSA9IDA7IGkgPCBxcC0+c3Eud3FlX2NudDsgKytpKSB7CiAJCQljdHJsID0gZ2V0X3NlbmRfd3FlKHFwLCBpKTsKIAkJCWN0cmwtPm93bmVyX29wY29kZSA9IGNwdV90b19iZTMyKDEgPDwgMzEpOworCQkJaWYgKHFwLT5zcV9tYXhfd3Flc19wZXJfd3IgPT0gMSkKKwkJCQljdHJsLT5mZW5jZV9zaXplID0gMSA8PCAocXAtPnNxLndxZV9zaGlmdCAtIDQpOwogCiAJCQlzdGFtcF9zZW5kX3dxZShxcCwgaSwgMSA8PCBxcC0+c3Eud3FlX3NoaWZ0KTsKIAkJfQpAQCAtMTEyNywyMyArMTEyOSw2IEBACiAJcmV0dXJuIGVycjsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBpYl9xcF9hdHRyIG1seDRfaWJfcXBfYXR0ciA9IHsgLnBvcnRfbnVtID0gMSB9Owotc3RhdGljIGNvbnN0IGludCBtbHg0X2liX3FwX2F0dHJfbWFza190YWJsZVtJQl9RUFRfVUQgKyAxXSA9IHsKLQkJW0lCX1FQVF9VRF0gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCQlJQl9RUF9QT1JUCQkJfAotCQkJCUlCX1FQX1FLRVkpLAotCQlbSUJfUVBUX1VDXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJCUlCX1FQX1BPUlQJCQl8Ci0JCQkJSUJfUVBfQUNDRVNTX0ZMQUdTKSwKLQkJW0lCX1FQVF9SQ10gID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCQlJQl9RUF9QT1JUCQkJfAotCQkJCUlCX1FQX0FDQ0VTU19GTEFHUyksCi0JCVtJQl9RUFRfU01JXSA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUUtFWSksCi0JCVtJQl9RUFRfR1NJXSA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQkJSUJfUVBfUUtFWSksCi19OwotCiBpbnQgbWx4NF9pYl9tb2RpZnlfcXAoc3RydWN0IGliX3FwICppYnFwLCBzdHJ1Y3QgaWJfcXBfYXR0ciAqYXR0ciwKIAkJICAgICAgaW50IGF0dHJfbWFzaywgc3RydWN0IGliX3VkYXRhICp1ZGF0YSkKIHsKQEAgLTExODYsMTUgKzExNzEsNiBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoY3VyX3N0YXRlID09IElCX1FQU19SRVNFVCAmJiBuZXdfc3RhdGUgPT0gSUJfUVBTX0VSUikgewotCQllcnIgPSBfX21seDRfaWJfbW9kaWZ5X3FwKGlicXAsICZtbHg0X2liX3FwX2F0dHIsCi0JCQkJCSAgbWx4NF9pYl9xcF9hdHRyX21hc2tfdGFibGVbaWJxcC0+cXBfdHlwZV0sCi0JCQkJCSAgSUJfUVBTX1JFU0VULCBJQl9RUFNfSU5JVCk7Ci0JCWlmIChlcnIpCi0JCQlnb3RvIG91dDsKLQkJY3VyX3N0YXRlID0gSUJfUVBTX0lOSVQ7Ci0JfQotCiAJZXJyID0gX19tbHg0X2liX21vZGlmeV9xcChpYnFwLCBhdHRyLCBhdHRyX21hc2ssIGN1cl9zdGF0ZSwgbmV3X3N0YXRlKTsKIAogb3V0OgpAQCAtMTg2NSw2ICsxODQxLDEzIEBACiAKIAlxcF9pbml0X2F0dHItPmNhcAkgICAgID0gcXBfYXR0ci0+Y2FwOwogCisJcXBfaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgPSAwOworCWlmIChxcC0+ZmxhZ3MgJiBNTFg0X0lCX1FQX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSykKKwkJcXBfaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgfD0gSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSzsKKworCWlmIChxcC0+ZmxhZ3MgJiBNTFg0X0lCX1FQX0xTTykKKwkJcXBfaW5pdF9hdHRyLT5jcmVhdGVfZmxhZ3MgfD0gSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTzsKKwogb3V0OgogCW11dGV4X3VubG9jaygmcXAtPm11dGV4KTsKIAlyZXR1cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2FsbG9jYXRvci5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2FsbG9jYXRvci5jCmluZGV4IGE3NjMwNjcuLmM1Y2NjMmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hbGxvY2F0b3IuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfYWxsb2NhdG9yLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2FsbG9jYXRvci5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9hdi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2F2LmMKaW5kZXggNGIxMTFhOC4uMzJmNmM2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2F2LmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2F2LmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX2F2LmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jYXRhcy5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NhdGFzLmMKaW5kZXggZTk0ODE1OC4uY2M0NDBmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NhdGFzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NhdGFzLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KQEAgLTEyOCw3ICsxMjYsNiBAQAogc3RhdGljIHZvaWQgcG9sbF9jYXRhcyh1bnNpZ25lZCBsb25nIGRldl9wdHIpCiB7CiAJc3RydWN0IG10aGNhX2RldiAqZGV2ID0gKHN0cnVjdCBtdGhjYV9kZXYgKikgZGV2X3B0cjsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IGRldi0+Y2F0YXNfZXJyLnNpemU7ICsraSkKQEAgLTEzNywxMyArMTM0LDggQEAKIAkJCXJldHVybjsKIAkJfQogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNhdGFzX2xvY2ssIGZsYWdzKTsKLQlpZiAoIWRldi0+Y2F0YXNfZXJyLnN0b3ApCi0JCW1vZF90aW1lcigmZGV2LT5jYXRhc19lcnIudGltZXIsCi0JCQkgIGppZmZpZXMgKyBNVEhDQV9DQVRBU19QT0xMX0lOVEVSVkFMKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjYXRhc19sb2NrLCBmbGFncyk7Ci0KLQlyZXR1cm47CisJbW9kX3RpbWVyKCZkZXYtPmNhdGFzX2Vyci50aW1lciwKKwkJICByb3VuZF9qaWZmaWVzKGppZmZpZXMgKyBNVEhDQV9DQVRBU19QT0xMX0lOVEVSVkFMKSk7CiB9CiAKIHZvaWQgbXRoY2Ffc3RhcnRfY2F0YXNfcG9sbChzdHJ1Y3QgbXRoY2FfZGV2ICpkZXYpCkBAIC0xNTEsNyArMTQzLDYgQEAKIAl1bnNpZ25lZCBsb25nIGFkZHI7CiAKIAlpbml0X3RpbWVyKCZkZXYtPmNhdGFzX2Vyci50aW1lcik7Ci0JZGV2LT5jYXRhc19lcnIuc3RvcCA9IDA7CiAJZGV2LT5jYXRhc19lcnIubWFwICA9IE5VTEw7CiAKIAlhZGRyID0gcGNpX3Jlc291cmNlX3N0YXJ0KGRldi0+cGRldiwgMCkgKwpAQCAtMTgyLDEwICsxNzMsNiBAQAogCiB2b2lkIG10aGNhX3N0b3BfY2F0YXNfcG9sbChzdHJ1Y3QgbXRoY2FfZGV2ICpkZXYpCiB7Ci0Jc3Bpbl9sb2NrX2lycSgmY2F0YXNfbG9jayk7Ci0JZGV2LT5jYXRhc19lcnIuc3RvcCA9IDE7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZjYXRhc19sb2NrKTsKLQogCWRlbF90aW1lcl9zeW5jKCZkZXYtPmNhdGFzX2Vyci50aW1lcik7CiAKIAlpZiAoZGV2LT5jYXRhc19lcnIubWFwKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmMKaW5kZXggNTRkMjMwZS4uYzMzZTFjNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfY21kLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY21kLmgKaW5kZXggODkyOGNhNC4uNmVmZDMyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NtZC5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jbWQuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfY21kLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfQ01EX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jb25maWdfcmVnLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY29uZmlnX3JlZy5oCmluZGV4IGFmYTU2YmYuLjc1NjcxZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9jb25maWdfcmVnLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NvbmZpZ19yZWcuaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfY29uZmlnX3JlZy5oIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaWZuZGVmIE1USENBX0NPTkZJR19SRUdfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2NxLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY3EuYwppbmRleCAyMDQwMWQyLi5kOWY0NzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY3EuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfY3EuYwpAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfY3EuYyAxMzY5IDIwMDQtMTItMjAgMTY6MTc6MDdaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KQEAgLTYyMiwxMyArNjIwLDEzIEBACiAJCWNhc2UgSUJfT1BDT0RFX1NFTkRfTEFTVF9XSVRIX0lNTUVESUFURToKIAkJY2FzZSBJQl9PUENPREVfU0VORF9PTkxZX1dJVEhfSU1NRURJQVRFOgogCQkJZW50cnktPndjX2ZsYWdzID0gSUJfV0NfV0lUSF9JTU07Ci0JCQllbnRyeS0+aW1tX2RhdGEgPSBjcWUtPmltbV9ldHlwZV9wa2V5X2VlYzsKKwkJCWVudHJ5LT5leC5pbW1fZGF0YSA9IGNxZS0+aW1tX2V0eXBlX3BrZXlfZWVjOwogCQkJZW50cnktPm9wY29kZSA9IElCX1dDX1JFQ1Y7CiAJCQlicmVhazsKIAkJY2FzZSBJQl9PUENPREVfUkRNQV9XUklURV9MQVNUX1dJVEhfSU1NRURJQVRFOgogCQljYXNlIElCX09QQ09ERV9SRE1BX1dSSVRFX09OTFlfV0lUSF9JTU1FRElBVEU6CiAJCQllbnRyeS0+d2NfZmxhZ3MgPSBJQl9XQ19XSVRIX0lNTTsKLQkJCWVudHJ5LT5pbW1fZGF0YSA9IGNxZS0+aW1tX2V0eXBlX3BrZXlfZWVjOworCQkJZW50cnktPmV4LmltbV9kYXRhID0gY3FlLT5pbW1fZXR5cGVfcGtleV9lZWM7CiAJCQllbnRyeS0+b3Bjb2RlID0gSUJfV0NfUkVDVl9SRE1BX1dJVEhfSU1NOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZGV2LmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZGV2LmgKaW5kZXggN2JjMzJmOC4uZWU0ZDA3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rldi5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9kZXYuaApAQCAtMzIsOCArMzIsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfZGV2LmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfREVWX0gKQEAgLTI3OSw3ICsyNzcsNiBAQAogc3RydWN0IG10aGNhX2NhdGFzX2VyciB7CiAJdTY0CQkJYWRkcjsKIAl1MzIgX19pb21lbQkgICAgICAgKm1hcDsKLQl1bnNpZ25lZCBsb25nCQlzdG9wOwogCXUzMgkJCXNpemU7CiAJc3RydWN0IHRpbWVyX2xpc3QJdGltZXI7CiAJc3RydWN0IGxpc3RfaGVhZAlsaXN0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX2Rvb3JiZWxsLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZG9vcmJlbGwuaAppbmRleCBiMzc0ZGMzLi4xNGY1MWVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZG9vcmJlbGwuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZG9vcmJlbGwuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfZG9vcmJlbGwuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfZXEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jCmluZGV4IDhiZGU3ZjkuLjRlMzZhYTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9lcS5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9lcS5jIDEzODIgMjAwNC0xMi0yNCAwMjoyMTowMlogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWQuYwppbmRleCA4YjdlODNlLi42NDA0NDk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFkLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21hZC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9tYWQuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21haW4uYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tYWluLmMKaW5kZXggMjAwY2YxMy4uZmI5ZjkxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21haW4uYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWFpbi5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9tYWluLmMgMTM5NiAyMDA0LTEyLTI4IDA0OjEwOjI3WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tY2cuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tY2cuYwppbmRleCBhOGFkMDcyLi4zZjVmOTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWNnLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21jZy5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9tY2cuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMKaW5kZXggZDU4NjJlNS4uMWY3ZDFhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmgKaW5kZXggYTFhYjA2OC4uZGE5YjhmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX21lbWZyZWUuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbWVtZnJlZS5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpZm5kZWYgTVRIQ0FfTUVNRlJFRV9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfbXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tci5jCmluZGV4IDgyMDIwNWQuLjg0ODliMWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tci5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9tci5jIDEzNDkgMjAwNC0xMi0xNiAyMTowOTo0M1ogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3BkLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcGQuYwppbmRleCBjMWU5NTA3Li4yNjZmMTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcGQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcGQuYwpAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcGQuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuYwppbmRleCA2MDVhOGQ1Li5kMTY4YzI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmMKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Byb2ZpbGUuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm9maWxlLmgKaW5kZXggZTc2Y2I2Mi4uNjJiMDA5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb2ZpbGUuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvZmlsZS5oCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wcm9maWxlLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfUFJPRklMRV9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcHJvdmlkZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5jCmluZGV4IGJlMzRmOTkuLjg3YWQ4ODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5jCkBAIC0zMiw4ICszMiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9wcm92aWRlci5jIDQ4NTkgMjAwNi0wMS0wOSAyMTo1NToxMFogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8cmRtYS9pYl9zbWkuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9wcm92aWRlci5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmgKaW5kZXggOTM0YmY5NS4uYzYyMWY4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmgKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Byb3ZpZGVyLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IG10aGNhX3Byb3ZpZGVyLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfUFJPVklERVJfSApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3FwLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcXAuYwppbmRleCAwOWRjMzYxLi5mNTA4MWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcXAuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcXAuYwpAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcXAuYyAxMzU1IDIwMDQtMTItMTcgMTU6MjM6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgpAQCAtODUwLDIzICs4NDgsNiBAQAogCXJldHVybiBlcnI7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgaWJfcXBfYXR0ciBkdW1teV9pbml0X2F0dHIgPSB7IC5wb3J0X251bSA9IDEgfTsKLXN0YXRpYyBjb25zdCBpbnQgZHVtbXlfaW5pdF9hdHRyX21hc2tbXSA9IHsKLQlbSUJfUVBUX1VEXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUE9SVAkJCXwKLQkJCUlCX1FQX1FLRVkpLAotCVtJQl9RUFRfVUNdICA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9QT1JUCQkJfAotCQkJSUJfUVBfQUNDRVNTX0ZMQUdTKSwKLQlbSUJfUVBUX1JDXSAgPSAoSUJfUVBfUEtFWV9JTkRFWAkJfAotCQkJSUJfUVBfUE9SVAkJCXwKLQkJCUlCX1FQX0FDQ0VTU19GTEFHUyksCi0JW0lCX1FQVF9TTUldID0gKElCX1FQX1BLRVlfSU5ERVgJCXwKLQkJCUlCX1FQX1FLRVkpLAotCVtJQl9RUFRfR1NJXSA9IChJQl9RUF9QS0VZX0lOREVYCQl8Ci0JCQlJQl9RUF9RS0VZKSwKLX07Ci0KIGludCBtdGhjYV9tb2RpZnlfcXAoc3RydWN0IGliX3FwICppYnFwLCBzdHJ1Y3QgaWJfcXBfYXR0ciAqYXR0ciwgaW50IGF0dHJfbWFzaywKIAkJICAgIHN0cnVjdCBpYl91ZGF0YSAqdWRhdGEpCiB7CkBAIC05MjgsMTUgKzkwOSw2IEBACiAJCWdvdG8gb3V0OwogCX0KIAotCWlmIChjdXJfc3RhdGUgPT0gSUJfUVBTX1JFU0VUICYmIG5ld19zdGF0ZSA9PSBJQl9RUFNfRVJSKSB7Ci0JCWVyciA9IF9fbXRoY2FfbW9kaWZ5X3FwKGlicXAsICZkdW1teV9pbml0X2F0dHIsCi0JCQkJCWR1bW15X2luaXRfYXR0cl9tYXNrW2licXAtPnFwX3R5cGVdLAotCQkJCQlJQl9RUFNfUkVTRVQsIElCX1FQU19JTklUKTsKLQkJaWYgKGVycikKLQkJCWdvdG8gb3V0OwotCQljdXJfc3RhdGUgPSBJQl9RUFNfSU5JVDsKLQl9Ci0KIAllcnIgPSBfX210aGNhX21vZGlmeV9xcChpYnFwLCBhdHRyLCBhdHRyX21hc2ssIGN1cl9zdGF0ZSwgbmV3X3N0YXRlKTsKIAogb3V0OgpAQCAtMTI3NywxMCArMTI0OSwxMCBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCS8qCi0JICogRm9yIE1MWCB0cmFuc3BvcnQgd2UgbmVlZCAyIGV4dHJhIFMvRyBlbnRyaWVzOgorCSAqIEZvciBNTFggdHJhbnNwb3J0IHdlIG5lZWQgMiBleHRyYSBzZW5kIGdhdGhlciBlbnRyaWVzOgogCSAqIG9uZSBmb3IgdGhlIGhlYWRlciBhbmQgb25lIGZvciB0aGUgY2hlY2tzdW0gYXQgdGhlIGVuZAogCSAqLwotCWlmIChxcC0+dHJhbnNwb3J0ID09IE1MWCAmJiBjYXAtPm1heF9yZWN2X3NnZSArIDIgPiBkZXYtPmxpbWl0cy5tYXhfc2cpCisJaWYgKHFwLT50cmFuc3BvcnQgPT0gTUxYICYmIGNhcC0+bWF4X3NlbmRfc2dlICsgMiA+IGRldi0+bGltaXRzLm1heF9zZykKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlpZiAobXRoY2FfaXNfbWVtZnJlZShkZXYpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9yZXNldC5jCmluZGV4IDkxOTM0ZjIuLmFjYjY4MTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfcmVzZXQuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2FfcmVzZXQuYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9zcnEuYwppbmRleCBhNWZmZmY2Li40ZmFiZTYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffc3JxLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3NycS5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBtdGhjYV9zcnEuYyAzMDQ3IDIwMDUtMDgtMTAgMDM6NTk6MzVaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91YXIuYwppbmRleCA4YjcyODQ4Li5jYTU5MDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdWFyLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3Vhci5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkJAogICovCiAKICNpbmNsdWRlIDxhc20vcGFnZS5oPgkJLyogUEFHRV9TSElGVCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV91c2VyLmgKaW5kZXggZTEyNjJjOS4uNWZlNTZlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3VzZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2FfdXNlci5oCkBAIC0yOSw3ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgogICovCiAKICNpZm5kZWYgTVRIQ0FfVVNFUl9ICmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmggYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbXRoY2EvbXRoY2Ffd3FlLmgKaW5kZXggYjM1NTFhOC4uMzQxYTVhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L210aGNhL210aGNhX3dxZS5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV93cWUuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogbXRoY2Ffd3FlLmggMzA0NyAyMDA1LTA4LTEwIDAzOjU5OjM1WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgTVRIQ0FfV1FFX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5jCmluZGV4IGE0ZTkyNjkuLmQyODg0ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuYwpAQCAtMzI4LDcgKzMyOCw3IEBACiAJCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1dRRV9JRF9JRFgsIG5lc3FwLT5od3FwLnFwX2lkKTsKIAkJdTY0dGVtcCA9ICh1NjQpbmVzcXAtPm5lc3FwX2NvbnRleHRfcGJhc2U7CiAJCXNldF93cWVfNjRiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1FQX1dRRV9DT05URVhUX0xPV19JRFgsIHU2NHRlbXApOwotCQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCX0KIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzLmgKaW5kZXggNjFiNDZlOS4uMzliZDg5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXMuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lcy5oCkBAIC05NCw5ICs5NCw2IEBACiAKICNkZWZpbmUgTUFYX0RQQ19JVEVSQVRJT05TICAgICAgICAgICAgICAgMTI4CiAKLSNkZWZpbmUgTkVTX0NRUF9SRVFVRVNUX05PX0RPT1JCRUxMX1JJTkcgMAotI2RlZmluZSBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCAgICAxCi0KICNkZWZpbmUgTkVTX0RSVl9PUFRfRU5BQkxFX01QQV9WRVJfMCAgICAgMHgwMDAwMDAwMQogI2RlZmluZSBORVNfRFJWX09QVF9ESVNBQkxFX01QQV9DUkMgICAgICAweDAwMDAwMDAyCiAjZGVmaW5lIE5FU19EUlZfT1BUX0RJU0FCTEVfRklSU1RfV1JJVEUgIDB4MDAwMDAwMDQKQEAgLTUzOCw3ICs1MzUsMTEgQEAKIHZvaWQgbmVzX3dyaXRlXzEwR19waHlfcmVnKHN0cnVjdCBuZXNfZGV2aWNlICosIHUxNiwgdTgsIHUxNiwgdTE2KTsKIHZvaWQgbmVzX3JlYWRfMTBHX3BoeV9yZWcoc3RydWN0IG5lc19kZXZpY2UgKiwgdTgsIHU4LCB1MTYpOwogc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqbmVzX2dldF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqKTsKLXZvaWQgbmVzX3Bvc3RfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKiwgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqLCBpbnQpOwordm9pZCBuZXNfZnJlZV9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAorCQkJICBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCk7Cit2b2lkIG5lc19wdXRfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCk7Cit2b2lkIG5lc19wb3N0X2NxcF9yZXF1ZXN0KHN0cnVjdCBuZXNfZGV2aWNlICosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKik7CiBpbnQgbmVzX2FycF90YWJsZShzdHJ1Y3QgbmVzX2RldmljZSAqLCB1MzIsIHU4ICosIHUzMik7CiB2b2lkIG5lc19taF9maXgodW5zaWduZWQgbG9uZyk7CiB2b2lkIG5lc19jbGModW5zaWduZWQgbG9uZyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfY20uYwppbmRleCA5YTRiNDBmLi42YWE1MzFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2NtLmMKQEAgLTE2MDMsNyArMTYwMyw2IEBACiAJCQlyZXR1cm4gTlVMTDsKIAkJfQogCi0JCW1lbXNldChsaXN0ZW5lciwgMCwgc2l6ZW9mKHN0cnVjdCBuZXNfY21fbGlzdGVuZXIpKTsKIAkJbGlzdGVuZXItPmxvY19hZGRyID0gaHRvbmwoY21faW5mby0+bG9jX2FkZHIpOwogCQlsaXN0ZW5lci0+bG9jX3BvcnQgPSBodG9ucyhjbV9pbmZvLT5sb2NfcG9ydCk7CiAJCWxpc3RlbmVyLT5yZXVzZWRfbm9kZSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuYwppbmRleCBkMzI3OGYxLi44NWYyNmQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmMKQEAgLTM5OCw3ICszOTgsNyBAQAogCW5lc2FkYXB0ZXItPmJhc2VfcGQgPSAxOwogCiAJbmVzYWRhcHRlci0+ZGV2aWNlX2NhcF9mbGFncyA9Ci0JCUlCX0RFVklDRV9aRVJPX1NUQUcgfCBJQl9ERVZJQ0VfTUVNX1dJTkRPVzsKKwkJSUJfREVWSUNFX0xPQ0FMX0RNQV9MS0VZIHwgSUJfREVWSUNFX01FTV9XSU5ET1c7CiAKIAluZXNhZGFwdGVyLT5hbGxvY2F0ZWRfcXBzID0gKHVuc2lnbmVkIGxvbmcgKikmKCgodW5zaWduZWQgY2hhciAqKW5lc2FkYXB0ZXIpCiAJCQlbKHNpemVvZihzdHJ1Y3QgbmVzX2FkYXB0ZXIpKyhzaXplb2YodW5zaWduZWQgbG9uZyktMSkpJih+KHNpemVvZih1bnNpZ25lZCBsb25nKS0xKSldKTsKQEAgLTI3MTAsMzkgKzI3MTAsMTEgQEAKIAkJCQkJYmFycmllcigpOwogCQkJCQljcXBfcmVxdWVzdC0+cmVxdWVzdF9kb25lID0gMTsKIAkJCQkJd2FrZV91cCgmY3FwX3JlcXVlc3QtPndhaXRxKTsKLQkJCQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCQkJCW5lc19kZWJ1ZyhORVNfREJHX0NRUCwgIkNRUCByZXF1ZXN0ICVwIChvcGNvZGUgMHglMDJYKSBmcmVlZC5cbiIsCi0JCQkJCQkJCWNxcF9yZXF1ZXN0LAotCQkJCQkJCQlsZTMyX3RvX2NwdShjcXBfcmVxdWVzdC0+Y3FwX3dxZS53cWVfd29yZHNbTkVTX0NRUF9XUUVfT1BDT0RFX0lEWF0pJjB4M2YpOwotCQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQkJfSBlbHNlIHsKLQkJCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJfQotCQkJCQl9Ci0JCQkJfSBlbHNlIGlmIChjcXBfcmVxdWVzdC0+Y2FsbGJhY2spIHsKLQkJCQkJLyogRW52b2tlIHRoZSBjYWxsYmFjayByb3V0aW5lICovCi0JCQkJCWNxcF9yZXF1ZXN0LT5jcXBfY2FsbGJhY2sobmVzZGV2LCBjcXBfcmVxdWVzdCk7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KKwkJCQkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJCQl9IGVsc2UgewotCQkJCQluZXNfZGVidWcoTkVTX0RCR19DUVAsICJDUVAgcmVxdWVzdCAlcCAob3Bjb2RlIDB4JTAyWCkgZnJlZWQuXG4iLAotCQkJCQkJCWNxcF9yZXF1ZXN0LAotCQkJCQkJCWxlMzJfdG9fY3B1KGNxcF9yZXF1ZXN0LT5jcXBfd3FlLndxZV93b3Jkc1tORVNfQ1FQX1dRRV9PUENPREVfSURYXSkgJiAweDNmKTsKLQkJCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQkJCX0gZWxzZSB7Ci0JCQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJfQorCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmNhbGxiYWNrKQorCQkJCQkJY3FwX3JlcXVlc3QtPmNxcF9jYWxsYmFjayhuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwkJCQkJbmVzX2ZyZWVfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCQkJfQogCQkJfSBlbHNlIHsKIAkJCQl3YWtlX3VwKCZuZXNkZXYtPmNxcC53YWl0cSk7CkBAIC0zMTQ5LDcgKzMxMjEsNiBAQAogewogCXN0cnVjdCBuZXNfZGV2aWNlICpuZXNkZXYgPSBuZXN2bmljLT5uZXNkZXY7CiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7CiAJaW50IHJldCA9IDA7CiAJdTE2IG1ham9yX2NvZGU7CkBAIC0zMTc2LDcgKzMxNDcsNyBAQAogCW5lc19kZWJ1ZyhORVNfREJHX1FQLCAiV2FpdGluZyBmb3IgQ1FQIGNvbXBsZXRpb24gZm9yIEFQQlZULlxuIik7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCWlmIChhZGRfcG9ydCA9PSBORVNfTUFOQUdFX0FQQlZUX0FERCkKIAkJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgIT0gMCksCkBAIC0zMTg0LDE1ICszMTU1LDkgQEAKIAluZXNfZGVidWcoTkVTX0RCR19RUCwgIkNvbXBsZXRlZCwgcmV0PSV1LCAgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WFxuIiwKIAkJCXJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAltYWpvcl9jb2RlID0gY3FwX3JlcXVlc3QtPm1ham9yX2NvZGU7Ci0JaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCX0gZWxzZSB7Ci0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJfQotCX0KKworCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAlpZiAoIXJldCkKIAkJcmV0dXJuIC1FVElNRTsKIAllbHNlIGlmIChtYWpvcl9jb2RlKQpAQCAtMzI1Miw3ICszMjE3LDcgQEAKIAkJCW5lc2Rldi0+Y3FwLnNxX2hlYWQsIG5lc2Rldi0+Y3FwLnNxX3RhaWwpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAxKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiB9CiAKIApAQCAtMzI2Miw3ICszMjI3LDYgQEAKIHZvaWQgZmx1c2hfd3FlcyhzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LCBzdHJ1Y3QgbmVzX3FwICpuZXNxcCwKIAkJdTMyIHdoaWNoX3dxLCB1MzIgd2FpdF9jb21wbGV0aW9uKQogewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7CiAJc3RydWN0IG5lc19od19jcXBfd3FlICpjcXBfd3FlOwogCWludCByZXQ7CkBAIC0zMjg1LDcgKzMyNDksNyBAQAogCQkJY3B1X3RvX2xlMzIoTkVTX0NRUF9GTFVTSF9XUUVTIHwgd2hpY2hfd3EpOwogCWNxcF93cWUtPndxZV93b3Jkc1tORVNfQ1FQX1dRRV9JRF9JRFhdID0gY3B1X3RvX2xlMzIobmVzcXAtPmh3cXAucXBfaWQpOwogCi0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJaWYgKHdhaXRfY29tcGxldGlvbikgewogCQkvKiBXYWl0IGZvciBDUVAgKi8KQEAgLTMyOTQsMTQgKzMyNTgsNiBAQAogCQluZXNfZGVidWcoTkVTX0RCR19RUCwgIkZsdXNoIFNRIFFQIFdRRXMgY29tcGxldGVkLCByZXQ9JXUsIgogCQkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WFxuIiwKIAkJCQlyZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KKwkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfaHcuaAppbmRleCA3NDViZjk0Li43YjgxZTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc19ody5oCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX2h3LmgKQEAgLTExNzIsNyArMTE3Miw3IEBACiAJdTMyICAgIG1jcnFfcXBfaWQ7CiAJc3RydWN0IG5lc191Y29udGV4dCAqbWNycV91Y29udGV4dDsKIAlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0KiAoKmdldF9jcXBfcmVxdWVzdCkoc3RydWN0IG5lc19kZXZpY2UgKm5lc2Rldik7Ci0Jdm9pZCAoKnBvc3RfY3FwX3JlcXVlc3QpKHN0cnVjdCBuZXNfZGV2aWNlKiwgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqLCBpbnQpOworCXZvaWQgKCpwb3N0X2NxcF9yZXF1ZXN0KShzdHJ1Y3QgbmVzX2RldmljZSosIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKik7CiAJaW50ICgqbWNycV9tY2FzdF9maWx0ZXIpKCBzdHJ1Y3QgbmVzX3ZuaWMqIG5lc3ZuaWMsIF9fdTgqIGRtaV9hZGRyICk7CiAJc3RydWN0IG5ldF9kZXZpY2Vfc3RhdHMgbmV0c3RhdHM7CiAJLyogdXNlZCB0byBwdXQgdGhlIG5ldGRldiBvbiB0aGUgYWRhcHRlcnMgbG9naWNhbCBwb3J0IGxpc3QgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc191dGlscy5jCmluZGV4IGZlODNkMWIuLmZiOGNiZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3V0aWxzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdXRpbHMuYwpAQCAtNTY3LDEyICs1NjcsMzYgQEAKIAlyZXR1cm4gY3FwX3JlcXVlc3Q7CiB9CiAKK3ZvaWQgbmVzX2ZyZWVfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSAgc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3QpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCW5lc19kZWJ1ZyhORVNfREJHX0NRUCwgIkNRUCByZXF1ZXN0ICVwIChvcGNvZGUgMHglMDJYKSBmcmVlZC5cbiIsCisJCSAgY3FwX3JlcXVlc3QsCisJCSAgbGUzMl90b19jcHUoY3FwX3JlcXVlc3QtPmNxcF93cWUud3FlX3dvcmRzW05FU19DUVBfV1FFX09QQ09ERV9JRFhdKSAmIDB4M2YpOworCisJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7CisJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKKwl9IGVsc2UgeworCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOworCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7CisJfQorfQorCit2b2lkIG5lc19wdXRfY3FwX3JlcXVlc3Qoc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiwKKwkJCSBzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCkKK3sKKwlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkKKwkJbmVzX2ZyZWVfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7Cit9CiAKIC8qKgogICogbmVzX3Bvc3RfY3FwX3JlcXVlc3QKICAqLwogdm9pZCBuZXNfcG9zdF9jcXBfcmVxdWVzdChzdHJ1Y3QgbmVzX2RldmljZSAqbmVzZGV2LAotCQlzdHJ1Y3QgbmVzX2NxcF9yZXF1ZXN0ICpjcXBfcmVxdWVzdCwgaW50IHJpbmdfZG9vcmJlbGwpCisJCQkgIHN0cnVjdCBuZXNfY3FwX3JlcXVlc3QgKmNxcF9yZXF1ZXN0KQogewogCXN0cnVjdCBuZXNfaHdfY3FwX3dxZSAqY3FwX3dxZTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtNjAwLDEwICs2MjQsOSBAQAogCQkJCW5lc2Rldi0+Y3FwLnNxX2hlYWQsIG5lc2Rldi0+Y3FwLnNxX3RhaWwsIG5lc2Rldi0+Y3FwLnNxX3NpemUsCiAJCQkJY3FwX3JlcXVlc3QtPndhaXRpbmcsIGF0b21pY19yZWFkKCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKTsKIAkJYmFycmllcigpOwotCQlpZiAocmluZ19kb29yYmVsbCkgewotCQkJLyogUmluZyBkb29yYmVsbCAoMSBXUUVzKSAqLwotCQkJbmVzX3dyaXRlMzIobmVzZGV2LT5yZWdzK05FU19XUUVfQUxMT0MsIDB4MDE4MDAwMDAgfCBuZXNkZXYtPmNxcC5xcF9pZCk7Ci0JCX0KKworCQkvKiBSaW5nIGRvb3JiZWxsICgxIFdRRXMpICovCisJCW5lc193cml0ZTMyKG5lc2Rldi0+cmVncytORVNfV1FFX0FMTE9DLCAweDAxODAwMDAwIHwgbmVzZGV2LT5jcXAucXBfaWQpOwogCiAJCWJhcnJpZXIoKTsKIAl9IGVsc2UgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC9ody9uZXMvbmVzX3ZlcmJzLmMKaW5kZXggZDYxN2RhOS4uZTM5MzlkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL2h3L25lcy9uZXNfdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvaHcvbmVzL25lc192ZXJicy5jCkBAIC01NSw3ICs1NSw2IEBACiAgKiBuZXNfYWxsb2NfbXcKICAqLwogc3RhdGljIHN0cnVjdCBpYl9tdyAqbmVzX2FsbG9jX213KHN0cnVjdCBpYl9wZCAqaWJwZCkgewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG5lc19wZCAqbmVzcGQgPSB0b19uZXNwZChpYnBkKTsKIAlzdHJ1Y3QgbmVzX3ZuaWMgKm5lc3ZuaWMgPSB0b19uZXN2bmljKGlicGQtPmRldmljZSk7CiAJc3RydWN0IG5lc19kZXZpY2UgKm5lc2RldiA9IG5lc3ZuaWMtPm5lc2RldjsKQEAgLTExOSw3ICsxMTgsNyBAQAogCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1NUQUdfV1FFX1NUQUdfSURYLCBzdGFnKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKGNxcF9yZXF1ZXN0LT5yZXF1ZXN0X2RvbmUgIT0gMCksCkBAIC0xMjgsMTUgKzEyNyw3IEBACiAJCQkiIENRUCBNYWpvcjpNaW5vciBjb2RlcyA9IDB4JTA0WDoweCUwNFguXG4iLAogCQkJc3RhZywgcmV0LCBjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSwgY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwogCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJCWtmcmVlKG5lc21yKTsKIAkJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX21ycywgc3RhZ19pbmRleCk7CiAJCWlmICghcmV0KSB7CkBAIC0xNDQsMTcgKzEzNSw4IEBACiAJCX0gZWxzZSB7CiAJCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAkJfQotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KIAl9CisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCW5lc21yLT5pYm13LnJrZXkgPSBzdGFnOwogCW5lc21yLT5tb2RlID0gSVdORVNfTUVNUkVHX1RZUEVfTVc7CkBAIC0xNzgsNyArMTYwLDYgQEAKIAlzdHJ1Y3QgbmVzX2h3X2NxcF93cWUgKmNxcF93cWU7CiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7CiAJaW50IGVyciA9IDA7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmV0OwogCiAJLyogRGVhbGxvY2F0ZSB0aGUgd2luZG93IHdpdGggdGhlIGFkYXB0ZXIgKi8KQEAgLTE5NCw3ICsxNzUsNyBAQAogCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1NUQUdfV1FFX1NUQUdfSURYLCBpYm13LT5ya2V5KTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJbmVzX2RlYnVnKE5FU19EQkdfTVIsICJXYWl0aW5nIGZvciBkZWFsbG9jYXRlIFNUYWcgMHglMDhYIHRvIGNvbXBsZXRlLlxuIiwKQEAgLTIwNCwzMiArMTg1LDEyIEBACiAJbmVzX2RlYnVnKE5FU19EQkdfTVIsICJEZWFsbG9jYXRlIFNUYWcgY29tcGxldGVkLCB3YWl0X2V2ZW50X3RpbWVvdXQgcmV0ID0gJXUsIgogCQkJIiBDUVAgTWFqb3I6TWlub3IgY29kZXMgPSAweCUwNFg6MHglMDRYLlxuIiwKIAkJCXJldCwgY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKLQlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQotCQlpZiAoIXJldCkgewotCQkJZXJyID0gLUVUSU1FOwotCQl9IGVsc2UgewotCQkJZXJyID0gLUVJTzsKLQkJfQotCX0gZWxzZSB7Ci0JCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQlrZnJlZShjcXBfcmVxdWVzdCk7Ci0JCQl9IGVsc2UgewotCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJbGlzdF9hZGRfdGFpbCgmY3FwX3JlcXVlc3QtPmxpc3QsICZuZXNkZXYtPmNxcF9hdmFpbF9yZXFzKTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQl9CisJaWYgKCFyZXQpCisJCWVyciA9IC1FVElNRTsKKwllbHNlIGlmIChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkKKwkJZXJyID0gLUVJTzsKKworCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfbXJzLAogCQkJKGlibXctPnJrZXkgJiAweDBmZmZmZjAwKSA+PiA4KTsKQEAgLTUxNiw3ICs0NzcsNyBAQAogCQkJKG5lc2Ztci0+bmVzbXIucGJsc191c2VkLTEpIDogbmVzZm1yLT5uZXNtci5wYmxzX3VzZWQpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAlyZXQgPSB3YWl0X2V2ZW50X3RpbWVvdXQoY3FwX3JlcXVlc3QtPndhaXRxLCAoY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSAhPSAwKSwKQEAgLTUyNiwyOSArNDg3LDExIEBACiAJCQlzdGFnLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAKIAlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQlyZXQgPSAoIXJldCkgPyAtRVRJTUUgOiAtRUlPOwogCQlnb3RvIGZhaWxlZF9sZWFmX3ZwYmxfcGFnZXNfYWxsb2M7Ci0JfSBlbHNlIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQogCX0KLQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAJbmVzZm1yLT5uZXNtci5pYmZtci5sa2V5ID0gc3RhZzsKIAluZXNmbXItPm5lc21yLmliZm1yLnJrZXkgPSBzdGFnOwogCW5lc2Ztci0+YXR0ciA9ICppYmZtcl9hdHRyOwpAQCAtMTQ3NCw3ICsxNDE3LDcgQEAKIAkJCXNldF93cWVfNjRiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1FQX1dRRV9DT05URVhUX0xPV19JRFgsIHU2NHRlbXApOwogCiAJCQlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCQkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCQkJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkJCS8qIFdhaXQgZm9yIENRUCAqLwogCQkJbmVzX2RlYnVnKE5FU19EQkdfUVAsICJXYWl0aW5nIGZvciBjcmVhdGUgaVdBUlAgUVAldSB0byBjb21wbGV0ZS5cbiIsCkBAIC0xNDg3LDE1ICsxNDMwLDcgQEAKIAkJCQkJbmVzcXAtPmh3cXAucXBfaWQsIHJldCwgbmVzZGV2LT5jcXAuc3FfaGVhZCwgbmVzZGV2LT5jcXAuc3FfdGFpbCwKIAkJCQkJY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUsIGNxcF9yZXF1ZXN0LT5taW5vcl9jb2RlKTsKIAkJCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQkJCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJCQl9IGVsc2UgewotCQkJCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCX0KLQkJCQl9CisJCQkJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAkJCQluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfcXBzLCBxcF9udW0pOwogCQkJCW5lc19mcmVlX3FwX21lbShuZXNkZXYsIG5lc3FwLHZpcnRfd3FzKTsKIAkJCQlrZnJlZShuZXNxcC0+YWxsb2NhdGVkX2J1ZmZlcik7CkBAIC0xNTA0LDE4ICsxNDM5LDEwIEBACiAJCQkJfSBlbHNlIHsKIAkJCQkJcmV0dXJuIEVSUl9QVFIoLUVJTyk7CiAJCQkJfQotCQkJfSBlbHNlIHsKLQkJCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCQkJfSBlbHNlIHsKLQkJCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCQl9Ci0JCQkJfQogCQkJfQogCisJCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOworCiAJCQlpZiAoaWJwZC0+dW9iamVjdCkgewogCQkJCXVyZXNwLm1tYXBfc3FfZGJfaW5kZXggPSBuZXNxcC0+bW1hcF9zcV9kYl9pbmRleDsKIAkJCQl1cmVzcC5hY3R1YWxfc3Ffc2l6ZSA9IHNxX3NpemU7CkBAIC0xODE3LDcgKzE3NDQsNyBAQAogCQkJY3B1X3RvX2xlMzIoKCh1MzIpKCh1NjR0ZW1wKSA+PiAzMykpICYgMHg3RkZGRkZGRik7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiV2FpdGluZyBmb3IgY3JlYXRlIGlXQVJQIENRJXUgdG8gY29tcGxldGUuXG4iLApAQCAtMTgyNywzMiArMTc1NCwxNSBAQAogCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiQ3JlYXRlIGlXQVJQIENRJXUgY29tcGxldGVkLCB3YWl0X2V2ZW50X3RpbWVvdXQgcmV0ID0gJWQuXG4iLAogCQkJbmVzY3EtPmh3X2NxLmNxX251bWJlciwgcmV0KTsKIAlpZiAoKCFyZXQpIHx8IChjcXBfcmVxdWVzdC0+bWFqb3JfY29kZSkpIHsKLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCQluZXNfcHV0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCQlpZiAoIWNvbnRleHQpCiAJCQlwY2lfZnJlZV9jb25zaXN0ZW50KG5lc2Rldi0+cGNpZGV2LCBuZXNjcS0+Y3FfbWVtX3NpemUsIG1lbSwKIAkJCQkJbmVzY3EtPmh3X2NxLmNxX3BiYXNlKTsKIAkJbmVzX2ZyZWVfcmVzb3VyY2UobmVzYWRhcHRlciwgbmVzYWRhcHRlci0+YWxsb2NhdGVkX2NxcywgY3FfbnVtKTsKIAkJa2ZyZWUobmVzY3EpOwogCQlyZXR1cm4gRVJSX1BUUigtRUlPKTsKLQl9IGVsc2UgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAoY29udGV4dCkgewogCQkvKiBmcmVlIHRoZSBuZXNwYmwgKi8KQEAgLTE5MzEsNyArMTg0MSw3IEBACiAJCShuZXNjcS0+aHdfY3EuY3FfbnVtYmVyIHwgKCh1MzIpUENJX0ZVTkMobmVzZGV2LT5wY2lkZXYtPmRldmZuKSA8PCAxNikpKTsKIAluZXNfZnJlZV9yZXNvdXJjZShuZXNhZGFwdGVyLCBuZXNhZGFwdGVyLT5hbGxvY2F0ZWRfY3FzLCBuZXNjcS0+aHdfY3EuY3FfbnVtYmVyKTsKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiV2FpdGluZyBmb3IgZGVzdHJveSBpV0FSUCBDUSV1IHRvIGNvbXBsZXRlLlxuIiwKQEAgLTE5NDIsMzcgKzE4NTIsMTggQEAKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLAogCQkJY3FwX3JlcXVlc3QtPm1pbm9yX2NvZGUpOwotCWlmICgoIXJldCkgfHwgKGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlKSkgewotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9Ci0JCWlmICghcmV0KSB7Ci0JCQluZXNfZGVidWcoTkVTX0RCR19DUSwgImlXQVJQIENRJXUgZGVzdHJveSB0aW1lb3V0IGV4cGlyZWRcbiIsCisJaWYgKCFyZXQpIHsKKwkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgdGltZW91dCBleHBpcmVkXG4iLAogCQkJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyKTsKLQkJCXJldCA9IC1FVElNRTsKLQkJfSBlbHNlIHsKLQkJCW5lc19kZWJ1ZyhORVNfREJHX0NRLCAiaVdBUlAgQ1EldSBkZXN0cm95IGZhaWxlZFxuIiwKKwkJcmV0ID0gLUVUSU1FOworCX0gZWxzZSBpZiAoY3FwX3JlcXVlc3QtPm1ham9yX2NvZGUpIHsKKwkJbmVzX2RlYnVnKE5FU19EQkdfQ1EsICJpV0FSUCBDUSV1IGRlc3Ryb3kgZmFpbGVkXG4iLAogCQkJCQluZXNjcS0+aHdfY3EuY3FfbnVtYmVyKTsKLQkJCXJldCA9IC1FSU87Ci0JCX0KKwkJcmV0ID0gLUVJTzsKIAl9IGVsc2UgewogCQlyZXQgPSAwOwotCQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQkJaWYgKGNxcF9yZXF1ZXN0LT5keW5hbWljKSB7Ci0JCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQkJfSBlbHNlIHsKLQkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQkJfQotCQl9CiAJfQorCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAlpZiAobmVzY3EtPmNxX21lbV9zaXplKQogCQlwY2lfZnJlZV9jb25zaXN0ZW50KG5lc2Rldi0+cGNpZGV2LCBuZXNjcS0+Y3FfbWVtX3NpemUsCkBAIC0yMDk2LDcgKzE5ODcsNyBAQAogCWJhcnJpZXIoKTsKIAogCWF0b21pY19zZXQoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCwgMik7Ci0JbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCwgTkVTX0NRUF9SRVFVRVNUX1JJTkdfRE9PUkJFTEwpOworCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QpOwogCiAJLyogV2FpdCBmb3IgQ1FQICovCiAJcmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGNxcF9yZXF1ZXN0LT53YWl0cSwgKDAgIT0gY3FwX3JlcXVlc3QtPnJlcXVlc3RfZG9uZSksCkBAIC0yMTA1LDE1ICsxOTk2LDggQEAKIAkJCSIgQ1FQIE1ham9yOk1pbm9yIGNvZGVzID0gMHglMDRYOjB4JTA0WC5cbiIsCiAJCQlzdGFnLCByZXQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLCBjcXBfcmVxdWVzdC0+bWlub3JfY29kZSk7CiAJbWFqb3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlOwotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQpKSB7Ci0JCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJa2ZyZWUoY3FwX3JlcXVlc3QpOwotCQl9IGVsc2UgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCWxpc3RfYWRkX3RhaWwoJmNxcF9yZXF1ZXN0LT5saXN0LCAmbmVzZGV2LT5jcXBfYXZhaWxfcmVxcyk7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCX0KLQl9CisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCWlmICghcmV0KQogCQlyZXR1cm4gLUVUSU1FOwogCWVsc2UgaWYgKG1ham9yX2NvZGUpCkBAIC0yNzU0LDcgKzI2MzgsNyBAQAogCXNldF93cWVfMzJiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1NUQUdfV1FFX1NUQUdfSURYLCBpYl9tci0+cmtleSk7CiAKIAlhdG9taWNfc2V0KCZjcXBfcmVxdWVzdC0+cmVmY291bnQsIDIpOwotCW5lc19wb3N0X2NxcF9yZXF1ZXN0KG5lc2RldiwgY3FwX3JlcXVlc3QsIE5FU19DUVBfUkVRVUVTVF9SSU5HX0RPT1JCRUxMKTsKKwluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKIAogCS8qIFdhaXQgZm9yIENRUCAqLwogCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiV2FpdGluZyBmb3IgZGVhbGxvY2F0ZSBTVGFnIDB4JTA4WCBjb21wbGV0ZWRcbiIsIGliX21yLT5ya2V5KTsKQEAgLTI3NzEsMTUgKzI2NTUsOSBAQAogCiAJbWFqb3JfY29kZSA9IGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlOwogCW1pbm9yX2NvZGUgPSBjcXBfcmVxdWVzdC0+bWlub3JfY29kZTsKLQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50KSkgewotCQlpZiAoY3FwX3JlcXVlc3QtPmR5bmFtaWMpIHsKLQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJfSBlbHNlIHsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZuZXNkZXYtPmNxcC5sb2NrLCBmbGFncyk7Ci0JCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbmVzZGV2LT5jcXAubG9jaywgZmxhZ3MpOwotCQl9Ci0JfQorCisJbmVzX3B1dF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0KTsKKwogCWlmICghcmV0KSB7CiAJCW5lc19kZWJ1ZyhORVNfREJHX01SLCAiVGltZW91dCB3YWl0aW5nIHRvIGRlc3Ryb3kgU1RhZywiCiAJCQkJIiBpYl9tcj0lcCwgcmtleSA9IDB4JTA4WFxuIiwKQEAgLTI5MDQsNyArMjc4Miw2IEBACiAJLyogc3RydWN0IGl3X2NtX2lkICpjbV9pZCA9IG5lc3FwLT5jbV9pZDsgKi8KIAkvKiBzdHJ1Y3QgaXdfY21fZXZlbnQgY21fZXZlbnQ7ICovCiAJc3RydWN0IG5lc19jcXBfcmVxdWVzdCAqY3FwX3JlcXVlc3Q7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgcmV0OwogCXUxNiBtYWpvcl9jb2RlOwogCkBAIC0yOTMyLDcgKzI4MDksNyBAQAogCXNldF93cWVfNjRiaXRfdmFsdWUoY3FwX3dxZS0+d3FlX3dvcmRzLCBORVNfQ1FQX1FQX1dRRV9DT05URVhUX0xPV19JRFgsICh1NjQpbmVzcXAtPm5lc3FwX2NvbnRleHRfcGJhc2UpOwogCiAJYXRvbWljX3NldCgmY3FwX3JlcXVlc3QtPnJlZmNvdW50LCAyKTsKLQluZXNfcG9zdF9jcXBfcmVxdWVzdChuZXNkZXYsIGNxcF9yZXF1ZXN0LCBORVNfQ1FQX1JFUVVFU1RfUklOR19ET09SQkVMTCk7CisJbmVzX3Bvc3RfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CiAKIAkvKiBXYWl0IGZvciBDUVAgKi8KIAlpZiAod2FpdF9jb21wbGV0aW9uKSB7CkBAIC0yOTUwLDE1ICsyODI3LDkgQEAKIAkJCQkJbmVzcXAtPmh3cXAucXBfaWQsIGNxcF9yZXF1ZXN0LT5tYWpvcl9jb2RlLAogCQkJCQljcXBfcmVxdWVzdC0+bWlub3JfY29kZSwgbmV4dF9pd2FycF9zdGF0ZSk7CiAJCX0KLQkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJmNxcF9yZXF1ZXN0LT5yZWZjb3VudCkpIHsKLQkJCWlmIChjcXBfcmVxdWVzdC0+ZHluYW1pYykgewotCQkJCWtmcmVlKGNxcF9yZXF1ZXN0KTsKLQkJCX0gZWxzZSB7Ci0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCQlsaXN0X2FkZF90YWlsKCZjcXBfcmVxdWVzdC0+bGlzdCwgJm5lc2Rldi0+Y3FwX2F2YWlsX3JlcXMpOwotCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm5lc2Rldi0+Y3FwLmxvY2ssIGZsYWdzKTsKLQkJCX0KLQkJfQorCisJCW5lc19wdXRfY3FwX3JlcXVlc3QobmVzZGV2LCBjcXBfcmVxdWVzdCk7CisKIAkJaWYgKCFyZXQpCiAJCQlyZXR1cm4gLUVUSU1FOwogCQllbHNlIGlmIChtYWpvcl9jb2RlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnCmluZGV4IDFmNzZiYWQuLjY5MTUyNWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL0tjb25maWcKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9LY29uZmlnCkBAIC0xLDYgKzEsNyBAQAogY29uZmlnIElORklOSUJBTkRfSVBPSUIKIAl0cmlzdGF0ZSAiSVAtb3Zlci1JbmZpbmlCYW5kIgogCWRlcGVuZHMgb24gTkVUREVWSUNFUyAmJiBJTkVUICYmIChJUFY2IHx8IElQVjY9bikKKwlzZWxlY3QgSU5FVF9MUk8KIAktLS1oZWxwLS0tCiAJICBTdXBwb3J0IGZvciB0aGUgSVAtb3Zlci1JbmZpbmlCYW5kIHByb3RvY29sIChJUG9JQikuIFRoaXMKIAkgIHRyYW5zcG9ydHMgSVAgcGFja2V0cyBvdmVyIEluZmluaUJhbmQgc28geW91IGNhbiB1c2UgeW91ciBJQgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYi5oCmluZGV4IGNhMTI2ZmMuLmIwZmZjOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liLmgKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liLmggMTM1OCAyMDA0LTEyLTE3IDIyOjAwOjExWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgX0lQT0lCX0gKQEAgLTUyLDkgKzUwLDE2IEBACiAjaW5jbHVkZSA8cmRtYS9pYl92ZXJicy5oPgogI2luY2x1ZGUgPHJkbWEvaWJfcGFjay5oPgogI2luY2x1ZGUgPHJkbWEvaWJfc2EuaD4KKyNpbmNsdWRlIDxsaW51eC9pbmV0X2xyby5oPgogCiAvKiBjb25zdGFudHMgKi8KIAorZW51bSBpcG9pYl9mbHVzaF9sZXZlbCB7CisJSVBPSUJfRkxVU0hfTElHSFQsCisJSVBPSUJfRkxVU0hfTk9STUFMLAorCUlQT0lCX0ZMVVNIX0hFQVZZCit9OworCiBlbnVtIHsKIAlJUE9JQl9FTkNBUF9MRU4JCSAgPSA0LAogCkBAIC02NSw4ICs3MCw4IEBACiAJSVBPSUJfQ01fQlVGX1NJWkUJICA9IElQT0lCX0NNX01UVSAgKyBJUE9JQl9FTkNBUF9MRU4sCiAJSVBPSUJfQ01fSEVBRF9TSVpFCSAgPSBJUE9JQl9DTV9CVUZfU0laRSAlIFBBR0VfU0laRSwKIAlJUE9JQl9DTV9SWF9TRwkJICA9IEFMSUdOKElQT0lCX0NNX0JVRl9TSVpFLCBQQUdFX1NJWkUpIC8gUEFHRV9TSVpFLAotCUlQT0lCX1JYX1JJTkdfU0laRQkgID0gMTI4LAotCUlQT0lCX1RYX1JJTkdfU0laRQkgID0gNjQsCisJSVBPSUJfUlhfUklOR19TSVpFCSAgPSAyNTYsCisJSVBPSUJfVFhfUklOR19TSVpFCSAgPSAxMjgsCiAJSVBPSUJfTUFYX1FVRVVFX1NJWkUJICA9IDgxOTIsCiAJSVBPSUJfTUlOX1FVRVVFX1NJWkUJICA9IDIsCiAJSVBPSUJfQ01fTUFYX0NPTk5fUVAJICA9IDQwOTYsCkBAIC04NCw3ICs4OSw2IEBACiAJSVBPSUJfRkxBR19TVUJJTlRFUkZBQ0UJICA9IDUsCiAJSVBPSUJfTUNBU1RfUlVOCQkgID0gNiwKIAlJUE9JQl9TVE9QX1JFQVBFUgkgID0gNywKLQlJUE9JQl9NQ0FTVF9TVEFSVEVECSAgPSA4LAogCUlQT0lCX0ZMQUdfQURNSU5fQ00JICA9IDksCiAJSVBPSUJfRkxBR19VTUNBU1QJICA9IDEwLAogCUlQT0lCX0ZMQUdfQ1NVTQkJICA9IDExLApAQCAtOTYsNyArMTAwLDExIEBACiAJSVBPSUJfTUNBU1RfRkxBR19CVVNZCSAgPSAyLAkvKiBqb2luaW5nIG9yIGFscmVhZHkgam9pbmVkICovCiAJSVBPSUJfTUNBU1RfRkxBR19BVFRBQ0hFRCA9IDMsCiAKKwlJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTID0gOCwKKwlJUE9JQl9MUk9fTUFYX0FHR1IgCSAgPSA2NCwKKwogCU1BWF9TRU5EX0NRRQkJICA9IDE2LAorCUlQT0lCX0NNX0NPUFlCUkVBSwkgID0gMjU2LAogfTsKIAogI2RlZmluZQlJUE9JQl9PUF9SRUNWICAgKDF1bCA8PCAzMSkKQEAgLTE0OSw2ICsxNTcsMTEgQEAKIAl1NjQJCW1hcHBpbmdbTUFYX1NLQl9GUkFHUyArIDFdOwogfTsKIAorc3RydWN0IGlwb2liX2NtX3R4X2J1ZiB7CisJc3RydWN0IHNrX2J1ZmYgKnNrYjsKKwl1NjQJCW1hcHBpbmc7Cit9OworCiBzdHJ1Y3QgaWJfY21faWQ7CiAKIHN0cnVjdCBpcG9pYl9jbV9kYXRhIHsKQEAgLTIwNyw3ICsyMjAsNyBAQAogCXN0cnVjdCBuZXRfZGV2aWNlICAgKmRldjsKIAlzdHJ1Y3QgaXBvaWJfbmVpZ2ggICpuZWlnaDsKIAlzdHJ1Y3QgaXBvaWJfcGF0aCAgICpwYXRoOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3Jpbmc7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmluZzsKIAl1bnNpZ25lZAkgICAgIHR4X2hlYWQ7CiAJdW5zaWduZWQJICAgICB0eF90YWlsOwogCXVuc2lnbmVkIGxvbmcJICAgICBmbGFnczsKQEAgLTI0OSw2ICsyNjIsMTEgQEAKIAl1MTYgICAgIG1heF9jb2FsZXNjZWRfZnJhbWVzOwogfTsKIAorc3RydWN0IGlwb2liX2xybyB7CisJc3RydWN0IG5ldF9scm9fbWdyIGxyb19tZ3I7CisJc3RydWN0IG5ldF9scm9fZGVzYyBscm9fZGVzY1tJUE9JQl9NQVhfTFJPX0RFU0NSSVBUT1JTXTsKK307CisKIC8qCiAgKiBEZXZpY2UgcHJpdmF0ZSBsb2NraW5nOiB0eF9sb2NrIHByb3RlY3RzIG1lbWJlcnMgdXNlZCBpbiBUWCBmYXN0CiAgKiBwYXRoIChhbmQgd2UgdXNlIExMVFggc28gdXBwZXIgbGF5ZXJzIGRvbid0IGRvIGV4dHJhIGxvY2tpbmcpLgpAQCAtMjY0LDcgKzI4Miw2IEBACiAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0Jc3RydWN0IG11dGV4IG1jYXN0X211dGV4OwogCXN0cnVjdCBtdXRleCB2bGFuX211dGV4OwogCiAJc3RydWN0IHJiX3Jvb3QgIHBhdGhfdHJlZTsKQEAgLTI3NiwxMCArMjkzLDExIEBACiAKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIHBrZXlfcG9sbF90YXNrOwogCXN0cnVjdCBkZWxheWVkX3dvcmsgbWNhc3RfdGFzazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfdGFzazsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfbGlnaHQ7CisJc3RydWN0IHdvcmtfc3RydWN0IGZsdXNoX25vcm1hbDsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmx1c2hfaGVhdnk7CiAJc3RydWN0IHdvcmtfc3RydWN0IHJlc3RhcnRfdGFzazsKIAlzdHJ1Y3QgZGVsYXllZF93b3JrIGFoX3JlYXBfdGFzazsKLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgcGtleV9ldmVudF90YXNrOwogCiAJc3RydWN0IGliX2RldmljZSAqY2E7CiAJdTgJCSAgcG9ydDsKQEAgLTMzNSw2ICszNTMsOCBAQAogCWludAloY2FfY2FwczsKIAlzdHJ1Y3QgaXBvaWJfZXRodG9vbF9zdCBldGh0b29sOwogCXN0cnVjdCB0aW1lcl9saXN0IHBvbGxfdGltZXI7CisKKwlzdHJ1Y3QgaXBvaWJfbHJvIGxybzsKIH07CiAKIHN0cnVjdCBpcG9pYl9haCB7CkBAIC0zNTksNiArMzc5LDcgQEAKIAogCXN0cnVjdCByYl9ub2RlCSAgICAgIHJiX25vZGU7CiAJc3RydWN0IGxpc3RfaGVhZCAgICAgIGxpc3Q7CisJaW50ICAJCSAgICAgIHZhbGlkOwogfTsKIAogc3RydWN0IGlwb2liX25laWdoIHsKQEAgLTQyMywxMSArNDQ0LDE0IEBACiAJCXN0cnVjdCBpcG9pYl9haCAqYWRkcmVzcywgdTMyIHFwbik7CiB2b2lkIGlwb2liX3JlYXBfYWgoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIAordm9pZCBpcG9pYl9tYXJrX3BhdGhzX2ludmFsaWQoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiB2b2lkIGlwb2liX2ZsdXNoX3BhdGhzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RydWN0IGlwb2liX2Rldl9wcml2ICppcG9pYl9pbnRmX2FsbG9jKGNvbnN0IGNoYXIgKmZvcm1hdCk7CiAKIGludCBpcG9pYl9pYl9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfZGV2aWNlICpjYSwgaW50IHBvcnQpOwotdm9pZCBpcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2xpZ2h0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7Cit2b2lkIGlwb2liX2liX2Rldl9mbHVzaF9ub3JtYWwoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7CiB2b2lkIGlwb2liX3BrZXlfZXZlbnQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKIHZvaWQgaXBvaWJfaWJfZGV2X2NsZWFudXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CiAKQEAgLTQ2Niw5ICs0OTAsNyBAQAogI2VuZGlmCiAKIGludCBpcG9pYl9tY2FzdF9hdHRhY2goc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IG1saWQsCi0JCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQpOwotaW50IGlwb2liX21jYXN0X2RldGFjaChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgbWxpZCwKLQkJICAgICAgIHVuaW9uIGliX2dpZCAqbWdpZCk7CisJCSAgICAgICB1bmlvbiBpYl9naWQgKm1naWQsIGludCBzZXRfcWtleSk7CiAKIGludCBpcG9pYl9pbml0X3FwKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogaW50IGlwb2liX3RyYW5zcG9ydF9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfZGV2aWNlICpjYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2NtLmMKaW5kZXggOTdlNjdkMy4uMGYyZDMwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9jbS5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfY20uYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZCQKICAqLwogCiAjaW5jbHVkZSA8cmRtYS9pYl9jbS5oPgpAQCAtMTEzLDE4ICsxMTEsMjAgQEAKIH0KIAogc3RhdGljIGludCBpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCi0JCQkJCXN0cnVjdCBpcG9pYl9jbV9yeCAqcngsIGludCBpZCkKKwkJCQkJc3RydWN0IGlwb2liX2NtX3J4ICpyeCwKKwkJCQkJc3RydWN0IGliX3JlY3Zfd3IgKndyLAorCQkJCQlzdHJ1Y3QgaWJfc2dlICpzZ2UsIGludCBpZCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpYl9yZWN2X3dyICpiYWRfd3I7CiAJaW50IGksIHJldDsKIAotCXByaXYtPmNtLnJ4X3dyLndyX2lkID0gaWQgfCBJUE9JQl9PUF9DTSB8IElQT0lCX09QX1JFQ1Y7CisJd3ItPndyX2lkID0gaWQgfCBJUE9JQl9PUF9DTSB8IElQT0lCX09QX1JFQ1Y7CiAKIAlmb3IgKGkgPSAwOyBpIDwgSVBPSUJfQ01fUlhfU0c7ICsraSkKLQkJcHJpdi0+Y20ucnhfc2dlW2ldLmFkZHIgPSByeC0+cnhfcmluZ1tpZF0ubWFwcGluZ1tpXTsKKwkJc2dlW2ldLmFkZHIgPSByeC0+cnhfcmluZ1tpZF0ubWFwcGluZ1tpXTsKIAotCXJldCA9IGliX3Bvc3RfcmVjdihyeC0+cXAsICZwcml2LT5jbS5yeF93ciwgJmJhZF93cik7CisJcmV0ID0gaWJfcG9zdF9yZWN2KHJ4LT5xcCwgd3IsICZiYWRfd3IpOwogCWlmICh1bmxpa2VseShyZXQpKSB7CiAJCWlwb2liX3dhcm4ocHJpdiwgInBvc3QgcmVjdiBmYWlsZWQgZm9yIGJ1ZiAlZCAoJWQpXG4iLCBpZCwgcmV0KTsKIAkJaXBvaWJfY21fZG1hX3VubWFwX3J4KHByaXYsIElQT0lCX0NNX1JYX1NHIC0gMSwKQEAgLTMyMiwxMCArMzIyLDMzIEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2b2lkIGlwb2liX2NtX2luaXRfcnhfd3Ioc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgaWJfcmVjdl93ciAqd3IsCisJCQkJc3RydWN0IGliX3NnZSAqc2dlKQoreworCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+Y20ubnVtX2ZyYWdzOyArK2kpCisJCXNnZVtpXS5sa2V5ID0gcHJpdi0+bXItPmxrZXk7CisKKwlzZ2VbMF0ubGVuZ3RoID0gSVBPSUJfQ01fSEVBRF9TSVpFOworCWZvciAoaSA9IDE7IGkgPCBwcml2LT5jbS5udW1fZnJhZ3M7ICsraSkKKwkJc2dlW2ldLmxlbmd0aCA9IFBBR0VfU0laRTsKKworCXdyLT5uZXh0ICAgID0gTlVMTDsKKwl3ci0+c2dfbGlzdCA9IHByaXYtPmNtLnJ4X3NnZTsKKwl3ci0+bnVtX3NnZSA9IHByaXYtPmNtLm51bV9mcmFnczsKK30KKwogc3RhdGljIGludCBpcG9pYl9jbV9ub25zcnFfaW5pdF9yeChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWJfY21faWQgKmNtX2lkLAogCQkJCSAgIHN0cnVjdCBpcG9pYl9jbV9yeCAqcngpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgaWJfcmVjdl93ciB3cjsKKwkJc3RydWN0IGliX3NnZSBzZ2VbSVBPSUJfQ01fUlhfU0ddOworCX0gKnQ7CiAJaW50IHJldDsKIAlpbnQgaTsKIApAQCAtMzMzLDYgKzM1NiwxNCBAQAogCWlmICghcngtPnJ4X3JpbmcpCiAJCXJldHVybiAtRU5PTUVNOwogCisJdCA9IGttYWxsb2Moc2l6ZW9mICp0LCBHRlBfS0VSTkVMKTsKKwlpZiAoIXQpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfZnJlZTsKKwl9CisKKwlpcG9pYl9jbV9pbml0X3J4X3dyKGRldiwgJnQtPndyLCB0LT5zZ2UpOworCiAJc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7CiAKIAlpZiAocHJpdi0+Y20ubm9uc3JxX2Nvbm5fcXAgPj0gaXBvaWJfbWF4X2Nvbm5fcXApIHsKQEAgLTM1MSw4ICszODIsOCBAQAogCQkJaXBvaWJfd2Fybihwcml2LCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlY2VpdmUgYnVmZmVyICVkXG4iLCBpKTsKIAkJCQlyZXQgPSAtRU5PTUVNOwogCQkJCWdvdG8gZXJyX2NvdW50OwotCQkJfQotCQlyZXQgPSBpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKGRldiwgcngsIGkpOworCQl9CisJCXJldCA9IGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoZGV2LCByeCwgJnQtPndyLCB0LT5zZ2UsIGkpOwogCQlpZiAocmV0KSB7CiAJCQlpcG9pYl93YXJuKHByaXYsICJpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxICIKIAkJCQkgICAiZmFpbGVkIGZvciBidWYgJWRcbiIsIGkpOwpAQCAtMzYzLDYgKzM5NCw4IEBACiAKIAlyeC0+cmVjdl9jb3VudCA9IGlwb2liX3JlY3ZxX3NpemU7CiAKKwlrZnJlZSh0KTsKKwogCXJldHVybiAwOwogCiBlcnJfY291bnQ6CkBAIC0zNzEsNiArNDA0LDcgQEAKIAlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOwogCiBlcnJfZnJlZToKKwlrZnJlZSh0KTsKIAlpcG9pYl9jbV9mcmVlX3J4X3JpbmcoZGV2LCByeC0+cnhfcmluZyk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtNTI1LDYgKzU1OSw3IEBACiAJdTY0IG1hcHBpbmdbSVBPSUJfQ01fUlhfU0ddOwogCWludCBmcmFnczsKIAlpbnQgaGFzX3NycTsKKwlzdHJ1Y3Qgc2tfYnVmZiAqc21hbGxfc2tiOwogCiAJaXBvaWJfZGJnX2RhdGEocHJpdiwgImNtIHJlY3YgY29tcGxldGlvbjogaWQgJWQsIHN0YXR1czogJWRcbiIsCiAJCSAgICAgICB3cl9pZCwgd2MtPnN0YXR1cyk7CkBAIC01NzksNiArNjE0LDIzIEBACiAJCX0KIAl9CiAKKwlpZiAod2MtPmJ5dGVfbGVuIDwgSVBPSUJfQ01fQ09QWUJSRUFLKSB7CisJCWludCBkbGVuID0gd2MtPmJ5dGVfbGVuOworCisJCXNtYWxsX3NrYiA9IGRldl9hbGxvY19za2IoZGxlbiArIDEyKTsKKwkJaWYgKHNtYWxsX3NrYikgeworCQkJc2tiX3Jlc2VydmUoc21hbGxfc2tiLCAxMik7CisJCQlpYl9kbWFfc3luY19zaW5nbGVfZm9yX2NwdShwcml2LT5jYSwgcnhfcmluZ1t3cl9pZF0ubWFwcGluZ1swXSwKKwkJCQkJCSAgIGRsZW4sIERNQV9GUk9NX0RFVklDRSk7CisJCQlza2JfY29weV9mcm9tX2xpbmVhcl9kYXRhKHNrYiwgc21hbGxfc2tiLT5kYXRhLCBkbGVuKTsKKwkJCWliX2RtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKHByaXYtPmNhLCByeF9yaW5nW3dyX2lkXS5tYXBwaW5nWzBdLAorCQkJCQkJICAgICAgZGxlbiwgRE1BX0ZST01fREVWSUNFKTsKKwkJCXNrYl9wdXQoc21hbGxfc2tiLCBkbGVuKTsKKwkJCXNrYiA9IHNtYWxsX3NrYjsKKwkJCWdvdG8gY29waWVkOworCQl9CisJfQorCiAJZnJhZ3MgPSBQQUdFX0FMSUdOKHdjLT5ieXRlX2xlbiAtIG1pbih3Yy0+Ynl0ZV9sZW4sCiAJCQkJCSAgICAgICh1bnNpZ25lZClJUE9JQl9DTV9IRUFEX1NJWkUpKSAvIFBBR0VfU0laRTsKIApAQCAtNjAxLDYgKzY1Myw3IEBACiAKIAlza2JfcHV0X2ZyYWdzKHNrYiwgSVBPSUJfQ01fSEVBRF9TSVpFLCB3Yy0+Ynl0ZV9sZW4sIG5ld3NrYik7CiAKK2NvcGllZDoKIAlza2ItPnByb3RvY29sID0gKChzdHJ1Y3QgaXBvaWJfaGVhZGVyICopIHNrYi0+ZGF0YSktPnByb3RvOwogCXNrYl9yZXNldF9tYWNfaGVhZGVyKHNrYik7CiAJc2tiX3B1bGwoc2tiLCBJUE9JQl9FTkNBUF9MRU4pOwpAQCAtNjIwLDcgKzY3MywxMCBAQAogCQkJaXBvaWJfd2Fybihwcml2LCAiaXBvaWJfY21fcG9zdF9yZWNlaXZlX3NycSBmYWlsZWQgIgogCQkJCSAgICJmb3IgYnVmICVkXG4iLCB3cl9pZCk7CiAJfSBlbHNlIHsKLQkJaWYgKHVubGlrZWx5KGlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEoZGV2LCBwLCB3cl9pZCkpKSB7CisJCWlmICh1bmxpa2VseShpcG9pYl9jbV9wb3N0X3JlY2VpdmVfbm9uc3JxKGRldiwgcCwKKwkJCQkJCQkgICZwcml2LT5jbS5yeF93ciwKKwkJCQkJCQkgIHByaXYtPmNtLnJ4X3NnZSwKKwkJCQkJCQkgIHdyX2lkKSkpIHsKIAkJCS0tcC0+cmVjdl9jb3VudDsKIAkJCWlwb2liX3dhcm4ocHJpdiwgImlwb2liX2NtX3Bvc3RfcmVjZWl2ZV9ub25zcnEgZmFpbGVkICIKIAkJCQkgICAiZm9yIGJ1ZiAlZFxuIiwgd3JfaWQpOwpAQCAtNjQ3LDcgKzcwMyw3IEBACiB2b2lkIGlwb2liX2NtX3NlbmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGlwb2liX2NtX3R4ICp0eCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3JlcTsKKwlzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmICp0eF9yZXE7CiAJdTY0IGFkZHI7CiAKIAlpZiAodW5saWtlbHkoc2tiLT5sZW4gPiB0eC0+bXR1KSkgewpAQCAtNjc4LDcgKzczNCw3IEBACiAJCXJldHVybjsKIAl9CiAKLQl0eF9yZXEtPm1hcHBpbmdbMF0gPSBhZGRyOworCXR4X3JlcS0+bWFwcGluZyA9IGFkZHI7CiAKIAlpZiAodW5saWtlbHkocG9zdF9zZW5kKHByaXYsIHR4LCB0eC0+dHhfaGVhZCAmIChpcG9pYl9zZW5kcV9zaXplIC0gMSksCiAJCQkgICAgICAgYWRkciwgc2tiLT5sZW4pKSkgewpAQCAtNzAzLDcgKzc1OSw3IEBACiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgaXBvaWJfY21fdHggKnR4ID0gd2MtPnFwLT5xcF9jb250ZXh0OwogCXVuc2lnbmVkIGludCB3cl9pZCA9IHdjLT53cl9pZCAmIH5JUE9JQl9PUF9DTTsKLQlzdHJ1Y3QgaXBvaWJfdHhfYnVmICp0eF9yZXE7CisJc3RydWN0IGlwb2liX2NtX3R4X2J1ZiAqdHhfcmVxOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlpcG9pYl9kYmdfZGF0YShwcml2LCAiY20gc2VuZCBjb21wbGV0aW9uOiBpZCAlZCwgc3RhdHVzOiAlZFxuIiwKQEAgLTcxNyw3ICs3NzMsNyBAQAogCiAJdHhfcmVxID0gJnR4LT50eF9yaW5nW3dyX2lkXTsKIAotCWliX2RtYV91bm1hcF9zaW5nbGUocHJpdi0+Y2EsIHR4X3JlcS0+bWFwcGluZ1swXSwgdHhfcmVxLT5za2ItPmxlbiwgRE1BX1RPX0RFVklDRSk7CisJaWJfZG1hX3VubWFwX3NpbmdsZShwcml2LT5jYSwgdHhfcmVxLT5tYXBwaW5nLCB0eF9yZXEtPnNrYi0+bGVuLCBETUFfVE9fREVWSUNFKTsKIAogCS8qIEZJWE1FOiBpcyB0aGlzIHJpZ2h0PyBTaG91bGRuJ3Qgd2Ugb25seSBpbmNyZW1lbnQgb24gc3VjY2Vzcz8gKi8KIAkrK2Rldi0+c3RhdHMudHhfcGFja2V0czsKQEAgLTEwODcsNyArMTE0Myw3IEBACiBzdGF0aWMgdm9pZCBpcG9pYl9jbV90eF9kZXN0cm95KHN0cnVjdCBpcG9pYl9jbV90eCAqcCkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihwLT5kZXYpOwotCXN0cnVjdCBpcG9pYl90eF9idWYgKnR4X3JlcTsKKwlzdHJ1Y3QgaXBvaWJfY21fdHhfYnVmICp0eF9yZXE7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bnNpZ25lZCBsb25nIGJlZ2luOwogCkBAIC0xMTE1LDcgKzExNzEsNyBAQAogCiAJd2hpbGUgKChpbnQpIHAtPnR4X3RhaWwgLSAoaW50KSBwLT50eF9oZWFkIDwgMCkgewogCQl0eF9yZXEgPSAmcC0+dHhfcmluZ1twLT50eF90YWlsICYgKGlwb2liX3NlbmRxX3NpemUgLSAxKV07Ci0JCWliX2RtYV91bm1hcF9zaW5nbGUocHJpdi0+Y2EsIHR4X3JlcS0+bWFwcGluZ1swXSwgdHhfcmVxLT5za2ItPmxlbiwKKwkJaWJfZG1hX3VubWFwX3NpbmdsZShwcml2LT5jYSwgdHhfcmVxLT5tYXBwaW5nLCB0eF9yZXEtPnNrYi0+bGVuLAogCQkJCSAgICBETUFfVE9fREVWSUNFKTsKIAkJZGV2X2tmcmVlX3NrYl9hbnkodHhfcmVxLT5za2IpOwogCQkrK3AtPnR4X3RhaWw7CkBAIC0xMzg0LDcgKzE0NDAsOSBAQAogCQlpcG9pYl93YXJuKHByaXYsICJlbmFibGluZyBjb25uZWN0ZWQgbW9kZSAiCiAJCQkgICAid2lsbCBjYXVzZSBtdWx0aWNhc3QgcGFja2V0IGRyb3BzXG4iKTsKIAorCQlydG5sX2xvY2soKTsKIAkJZGV2LT5mZWF0dXJlcyAmPSB+KE5FVElGX0ZfSVBfQ1NVTSB8IE5FVElGX0ZfU0cgfCBORVRJRl9GX1RTTyk7CisJCXJ0bmxfdW5sb2NrKCk7CiAJCXByaXYtPnR4X3dyLnNlbmRfZmxhZ3MgJj0gfklCX1NFTkRfSVBfQ1NVTTsKIAogCQlpcG9pYl9mbHVzaF9wYXRocyhkZXYpOwpAQCAtMTM5MywxNCArMTQ1MSwxNiBAQAogCiAJaWYgKCFzdHJjbXAoYnVmLCAiZGF0YWdyYW1cbiIpKSB7CiAJCWNsZWFyX2JpdChJUE9JQl9GTEFHX0FETUlOX0NNLCAmcHJpdi0+ZmxhZ3MpOwotCQlkZXYtPm10dSA9IG1pbihwcml2LT5tY2FzdF9tdHUsIGRldi0+bXR1KTsKLQkJaXBvaWJfZmx1c2hfcGF0aHMoZGV2KTsKIAorCQlydG5sX2xvY2soKTsKIAkJaWYgKHRlc3RfYml0KElQT0lCX0ZMQUdfQ1NVTSwgJnByaXYtPmZsYWdzKSkgewogCQkJZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX0lQX0NTVU0gfCBORVRJRl9GX1NHOwogCQkJaWYgKHByaXYtPmhjYV9jYXBzICYgSUJfREVWSUNFX1VEX1RTTykKIAkJCQlkZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfVFNPOwogCQl9CisJCWRldl9zZXRfbXR1KGRldiwgbWluKHByaXYtPm1jYXN0X210dSwgZGV2LT5tdHUpKTsKKwkJcnRubF91bmxvY2soKTsKKwkJaXBvaWJfZmx1c2hfcGF0aHMoZGV2KTsKIAogCQlyZXR1cm4gY291bnQ7CiAJfQpAQCAtMTQ4NSwxNSArMTU0NSw3IEBACiAJCXByaXYtPmNtLm51bV9mcmFncyAgPSBJUE9JQl9DTV9SWF9TRzsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+Y20ubnVtX2ZyYWdzOyArK2kpCi0JCXByaXYtPmNtLnJ4X3NnZVtpXS5sa2V5CT0gcHJpdi0+bXItPmxrZXk7Ci0KLQlwcml2LT5jbS5yeF9zZ2VbMF0ubGVuZ3RoID0gSVBPSUJfQ01fSEVBRF9TSVpFOwotCWZvciAoaSA9IDE7IGkgPCBwcml2LT5jbS5udW1fZnJhZ3M7ICsraSkKLQkJcHJpdi0+Y20ucnhfc2dlW2ldLmxlbmd0aCA9IFBBR0VfU0laRTsKLQlwcml2LT5jbS5yeF93ci5uZXh0ID0gTlVMTDsKLQlwcml2LT5jbS5yeF93ci5zZ19saXN0ID0gcHJpdi0+Y20ucnhfc2dlOwotCXByaXYtPmNtLnJ4X3dyLm51bV9zZ2UgPSBwcml2LT5jbS5udW1fZnJhZ3M7CisJaXBvaWJfY21faW5pdF9yeF93cihkZXYsICZwcml2LT5jbS5yeF93ciwgcHJpdi0+Y20ucnhfc2dlKTsKIAogCWlmIChpcG9pYl9jbV9oYXNfc3JxKGRldikpIHsKIAkJZm9yIChpID0gMDsgaSA8IGlwb2liX3JlY3ZxX3NpemU7ICsraSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9ldGh0b29sLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYwppbmRleCAxMDI3OWI3Li42NmFmNWMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2V0aHRvb2wuYwpAQCAtODYsMTEgKzg2LDU3IEBACiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyIGlwb2liX3N0YXRzX2tleXNbXVtFVEhfR1NUUklOR19MRU5dID0geworCSJMUk8gYWdncmVnYXRlZCIsICJMUk8gZmx1c2hlZCIsCisJIkxSTyBhdmcgYWdnciIsICJMUk8gbm8gZGVzYyIKK307CisKK3N0YXRpYyB2b2lkIGlwb2liX2dldF9zdHJpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYsIHUzMiBzdHJpbmdzZXQsIHU4ICpkYXRhKQoreworCXN3aXRjaCAoc3RyaW5nc2V0KSB7CisJY2FzZSBFVEhfU1NfU1RBVFM6CisJCW1lbWNweShkYXRhLCAqaXBvaWJfc3RhdHNfa2V5cywJc2l6ZW9mKGlwb2liX3N0YXRzX2tleXMpKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgaW50IGlwb2liX2dldF9zc2V0X2NvdW50KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBzc2V0KQoreworCXN3aXRjaCAoc3NldCkgeworCWNhc2UgRVRIX1NTX1NUQVRTOgorCQlyZXR1cm4gQVJSQVlfU0laRShpcG9pYl9zdGF0c19rZXlzKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVPUE5PVFNVUFA7CisJfQorfQorCitzdGF0aWMgdm9pZCBpcG9pYl9nZXRfZXRodG9vbF9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCXN0cnVjdCBldGh0b29sX3N0YXRzICpzdGF0cywgdWludDY0X3QgKmRhdGEpCit7CisJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlpbnQgaW5kZXggPSAwOworCisJLyogR2V0IExSTyBzdGF0aXN0aWNzICovCisJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmFnZ3JlZ2F0ZWQ7CisJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmZsdXNoZWQ7CisJaWYgKHByaXYtPmxyby5scm9fbWdyLnN0YXRzLmZsdXNoZWQpCisJCWRhdGFbaW5kZXgrK10gPSBwcml2LT5scm8ubHJvX21nci5zdGF0cy5hZ2dyZWdhdGVkIC8KKwkJCQlwcml2LT5scm8ubHJvX21nci5zdGF0cy5mbHVzaGVkOworCWVsc2UKKwkJZGF0YVtpbmRleCsrXSA9IDA7CisJZGF0YVtpbmRleCsrXSA9IHByaXYtPmxyby5scm9fbWdyLnN0YXRzLm5vX2Rlc2M7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXRodG9vbF9vcHMgaXBvaWJfZXRodG9vbF9vcHMgPSB7CiAJLmdldF9kcnZpbmZvCQk9IGlwb2liX2dldF9kcnZpbmZvLAogCS5nZXRfdHNvCQk9IGV0aHRvb2xfb3BfZ2V0X3RzbywKIAkuZ2V0X2NvYWxlc2NlCQk9IGlwb2liX2dldF9jb2FsZXNjZSwKIAkuc2V0X2NvYWxlc2NlCQk9IGlwb2liX3NldF9jb2FsZXNjZSwKKwkuZ2V0X2ZsYWdzCQk9IGV0aHRvb2xfb3BfZ2V0X2ZsYWdzLAorCS5zZXRfZmxhZ3MJCT0gZXRodG9vbF9vcF9zZXRfZmxhZ3MsCisJLmdldF9zdHJpbmdzCQk9IGlwb2liX2dldF9zdHJpbmdzLAorCS5nZXRfc3NldF9jb3VudAkJPSBpcG9pYl9nZXRfc3NldF9jb3VudCwKKwkuZ2V0X2V0aHRvb2xfc3RhdHMJPSBpcG9pYl9nZXRfZXRodG9vbF9zdGF0cywKIH07CiAKIHZvaWQgaXBvaWJfc2V0X2V0aHRvb2xfb3BzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2ZzLmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2ZzLmMKaW5kZXggOGI4ODJiYi4uOTYxYzU4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9mcy5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfZnMuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXBvaWJfZnMuYyAxMzg5IDIwMDQtMTItMjcgMjI6NTY6NDdaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9pYi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9pYi5jCmluZGV4IGY0MjliY2UuLjY2Y2FmYTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfaWIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX2liLmMKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX2liLmMgMTM4NiAyMDA0LTEyLTI3IDE2OjIzOjE3WiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtMjkwLDcgKzI4OCwxMCBAQAogCWlmICh0ZXN0X2JpdChJUE9JQl9GTEFHX0NTVU0sICZwcml2LT5mbGFncykgJiYgbGlrZWx5KHdjLT5jc3VtX29rKSkKIAkJc2tiLT5pcF9zdW1tZWQgPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsKIAotCW5ldGlmX3JlY2VpdmVfc2tiKHNrYik7CisJaWYgKGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX0xSTykKKwkJbHJvX3JlY2VpdmVfc2tiKCZwcml2LT5scm8ubHJvX21nciwgc2tiLCBOVUxMKTsKKwllbHNlCisJCW5ldGlmX3JlY2VpdmVfc2tiKHNrYik7CiAKIHJlcG9zdDoKIAlpZiAodW5saWtlbHkoaXBvaWJfaWJfcG9zdF9yZWNlaXZlKGRldiwgd3JfaWQpKSkKQEAgLTQ0Miw2ICs0NDMsOSBAQAogCX0KIAogCWlmIChkb25lIDwgYnVkZ2V0KSB7CisJCWlmIChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9MUk8pCisJCQlscm9fZmx1c2hfYWxsKCZwcml2LT5scm8ubHJvX21ncik7CisKIAkJbmV0aWZfcnhfY29tcGxldGUoZGV2LCBuYXBpKTsKIAkJaWYgKHVubGlrZWx5KGliX3JlcV9ub3RpZnlfY3EocHJpdi0+cmVjdl9jcSwKIAkJCQkJICAgICAgSUJfQ1FfTkVYVF9DT01QIHwKQEAgLTg5OCw3ICs5MDIsOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBfX2lwb2liX2liX2Rldl9mbHVzaChzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYsIGludCBwa2V5X2V2ZW50KQorc3RhdGljIHZvaWQgX19pcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2LAorCQkJCWVudW0gaXBvaWJfZmx1c2hfbGV2ZWwgbGV2ZWwpCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpjcHJpdjsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gcHJpdi0+ZGV2OwpAQCAtOTExLDcgKzkxNiw3IEBACiAJICogdGhlIHBhcmVudCBpcyBkb3duLgogCSAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3ByaXYsICZwcml2LT5jaGlsZF9pbnRmcywgbGlzdCkKLQkJX19pcG9pYl9pYl9kZXZfZmx1c2goY3ByaXYsIHBrZXlfZXZlbnQpOworCQlfX2lwb2liX2liX2Rldl9mbHVzaChjcHJpdiwgbGV2ZWwpOwogCiAJbXV0ZXhfdW5sb2NrKCZwcml2LT52bGFuX211dGV4KTsKIApAQCAtOTI1LDcgKzkzMCw3IEBACiAJCXJldHVybjsKIAl9CiAKLQlpZiAocGtleV9ldmVudCkgeworCWlmIChsZXZlbCA9PSBJUE9JQl9GTFVTSF9IRUFWWSkgewogCQlpZiAoaWJfZmluZF9wa2V5KHByaXYtPmNhLCBwcml2LT5wb3J0LCBwcml2LT5wa2V5LCAmbmV3X2luZGV4KSkgewogCQkJY2xlYXJfYml0KElQT0lCX1BLRVlfQVNTSUdORUQsICZwcml2LT5mbGFncyk7CiAJCQlpcG9pYl9pYl9kZXZfZG93bihkZXYsIDApOwpAQCAtOTQzLDExICs5NDgsMTUgQEAKIAkJcHJpdi0+cGtleV9pbmRleCA9IG5ld19pbmRleDsKIAl9CiAKLQlpcG9pYl9kYmcocHJpdiwgImZsdXNoaW5nXG4iKTsKKwlpZiAobGV2ZWwgPT0gSVBPSUJfRkxVU0hfTElHSFQpIHsKKwkJaXBvaWJfbWFya19wYXRoc19pbnZhbGlkKGRldik7CisJCWlwb2liX21jYXN0X2Rldl9mbHVzaChkZXYpOworCX0KIAotCWlwb2liX2liX2Rldl9kb3duKGRldiwgMCk7CisJaWYgKGxldmVsID49IElQT0lCX0ZMVVNIX05PUk1BTCkKKwkJaXBvaWJfaWJfZGV2X2Rvd24oZGV2LCAwKTsKIAotCWlmIChwa2V5X2V2ZW50KSB7CisJaWYgKGxldmVsID09IElQT0lCX0ZMVVNIX0hFQVZZKSB7CiAJCWlwb2liX2liX2Rldl9zdG9wKGRldiwgMCk7CiAJCWlwb2liX2liX2Rldl9vcGVuKGRldik7CiAJfQpAQCAtOTU3LDI3ICs5NjYsMzQgQEAKIAkgKiB3ZSBnZXQgaGVyZSwgZG9uJ3QgYnJpbmcgaXQgYmFjayB1cCBpZiBpdCdzIG5vdCBjb25maWd1cmVkIHVwCiAJICovCiAJaWYgKHRlc3RfYml0KElQT0lCX0ZMQUdfQURNSU5fVVAsICZwcml2LT5mbGFncykpIHsKLQkJaXBvaWJfaWJfZGV2X3VwKGRldik7CisJCWlmIChsZXZlbCA+PSBJUE9JQl9GTFVTSF9OT1JNQUwpCisJCQlpcG9pYl9pYl9kZXZfdXAoZGV2KTsKIAkJaXBvaWJfbWNhc3RfcmVzdGFydF90YXNrKCZwcml2LT5yZXN0YXJ0X3Rhc2spOwogCX0KIH0KIAotdm9pZCBpcG9pYl9pYl9kZXZfZmx1c2goc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQordm9pZCBpcG9pYl9pYl9kZXZfZmx1c2hfbGlnaHQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogewogCXN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdiA9Ci0JCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYsIGZsdXNoX3Rhc2spOworCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBmbHVzaF9saWdodCk7CiAKLQlpcG9pYl9kYmcocHJpdiwgIkZsdXNoaW5nICVzXG4iLCBwcml2LT5kZXYtPm5hbWUpOwotCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIDApOworCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIElQT0lCX0ZMVVNIX0xJR0hUKTsKIH0KIAotdm9pZCBpcG9pYl9wa2V5X2V2ZW50KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX25vcm1hbChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0KLQkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgcGtleV9ldmVudF90YXNrKTsKKwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBpcG9pYl9kZXZfcHJpdiwgZmx1c2hfbm9ybWFsKTsKIAotCWlwb2liX2RiZyhwcml2LCAiRmx1c2hpbmcgJXMgYW5kIHJlc3RhcnRpbmcgaXRzIFFQXG4iLCBwcml2LT5kZXYtPm5hbWUpOwotCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIDEpOworCV9faXBvaWJfaWJfZGV2X2ZsdXNoKHByaXYsIElQT0lCX0ZMVVNIX05PUk1BTCk7Cit9CisKK3ZvaWQgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGlwb2liX2Rldl9wcml2LCBmbHVzaF9oZWF2eSk7CisKKwlfX2lwb2liX2liX2Rldl9mbHVzaChwcml2LCBJUE9JQl9GTFVTSF9IRUFWWSk7CiB9CiAKIHZvaWQgaXBvaWJfaWJfZGV2X2NsZWFudXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbWFpbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMKaW5kZXggMjQ0MjA5MC4uOGJlOWVhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tYWluLmMKQEAgLTMwLDggKzMwLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX21haW4uYyAxMzc3IDIwMDQtMTItMjMgMTk6NTc6MTJaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgImlwb2liLmgiCkBAIC02Miw2ICs2MCwxNSBAQAogbW9kdWxlX3BhcmFtX25hbWVkKHJlY3ZfcXVldWVfc2l6ZSwgaXBvaWJfcmVjdnFfc2l6ZSwgaW50LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MocmVjdl9xdWV1ZV9zaXplLCAiTnVtYmVyIG9mIGRlc2NyaXB0b3JzIGluIHJlY2VpdmUgcXVldWUiKTsKIAorc3RhdGljIGludCBscm87Cittb2R1bGVfcGFyYW0obHJvLCBib29sLCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MobHJvLCAgIkVuYWJsZSBMUk8gKExhcmdlIFJlY2VpdmUgT2ZmbG9hZCkiKTsKKworc3RhdGljIGludCBscm9fbWF4X2FnZ3IgPSBJUE9JQl9MUk9fTUFYX0FHR1I7Cittb2R1bGVfcGFyYW0obHJvX21heF9hZ2dyLCBpbnQsIDA2NDQpOworTU9EVUxFX1BBUk1fREVTQyhscm9fbWF4X2FnZ3IsICJMUk86IE1heCBwYWNrZXRzIHRvIGJlIGFnZ3JlZ2F0ZWQgIgorCQkiKGRlZmF1bHQgPSA2NCkiKTsKKwogI2lmZGVmIENPTkZJR19JTkZJTklCQU5EX0lQT0lCX0RFQlVHCiBpbnQgaXBvaWJfZGVidWdfbGV2ZWw7CiAKQEAgLTM1MCw2ICszNTcsMjMgQEAKIAogI2VuZGlmIC8qIENPTkZJR19JTkZJTklCQU5EX0lQT0lCX0RFQlVHICovCiAKK3ZvaWQgaXBvaWJfbWFya19wYXRoc19pbnZhbGlkKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlzdHJ1Y3QgaXBvaWJfcGF0aCAqcGF0aCwgKnRwOworCisJc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGF0aCwgdHAsICZwcml2LT5wYXRoX2xpc3QsIGxpc3QpIHsKKwkJaXBvaWJfZGJnKHByaXYsICJtYXJrIHBhdGggTElEIDB4JTA0eCBHSUQgIiBJUE9JQl9HSURfRk1UICIgaW52YWxpZFxuIiwKKwkJCWJlMTZfdG9fY3B1KHBhdGgtPnBhdGhyZWMuZGxpZCksCisJCQlJUE9JQl9HSURfQVJHKHBhdGgtPnBhdGhyZWMuZGdpZCkpOworCQlwYXRoLT52YWxpZCA9ICAwOworCX0KKworCXNwaW5fdW5sb2NrX2lycSgmcHJpdi0+bG9jayk7Cit9CisKIHZvaWQgaXBvaWJfZmx1c2hfcGF0aHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwpAQCAtMzg2LDYgKzQxMCw3IEBACiAJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHBhdGgtPmRldjsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwogCXN0cnVjdCBpcG9pYl9haCAqYWggPSBOVUxMOworCXN0cnVjdCBpcG9pYl9haCAqb2xkX2FoOwogCXN0cnVjdCBpcG9pYl9uZWlnaCAqbmVpZ2gsICp0bjsKIAlzdHJ1Y3Qgc2tfYnVmZl9oZWFkIHNrcXVldWU7CiAJc3RydWN0IHNrX2J1ZmYgKnNrYjsKQEAgLTQwOSw2ICs0MzQsNyBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPmxvY2ssIGZsYWdzKTsKIAorCW9sZF9haCAgID0gcGF0aC0+YWg7CiAJcGF0aC0+YWggPSBhaDsKIAogCWlmIChhaCkgewpAQCAtNDIxLDYgKzQ0NywxNyBAQAogCQkJX19za2JfcXVldWVfdGFpbCgmc2txdWV1ZSwgc2tiKTsKIAogCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobmVpZ2gsIHRuLCAmcGF0aC0+bmVpZ2hfbGlzdCwgbGlzdCkgeworCQkJaWYgKG5laWdoLT5haCkgeworCQkJCVdBUk5fT04obmVpZ2gtPmFoICE9IG9sZF9haCk7CisJCQkJLyoKKwkJCQkgKiBEcm9wcGluZyB0aGUgYWggcmVmZXJlbmNlIGluc2lkZQorCQkJCSAqIHByaXYtPmxvY2sgaXMgc2FmZSBoZXJlLCBiZWNhdXNlIHdlCisJCQkJICogd2lsbCBob2xkIG9uZSBtb3JlIHJlZmVyZW5jZSBmcm9tCisJCQkJICogdGhlIG9yaWdpbmFsIHZhbHVlIG9mIHBhdGgtPmFoIChpZQorCQkJCSAqIG9sZF9haCkuCisJCQkJICovCisJCQkJaXBvaWJfcHV0X2FoKG5laWdoLT5haCk7CisJCQl9CiAJCQlrcmVmX2dldCgmcGF0aC0+YWgtPnJlZik7CiAJCQluZWlnaC0+YWggPSBwYXRoLT5haDsKIAkJCW1lbWNweSgmbmVpZ2gtPmRnaWQucmF3LCAmcGF0aC0+cGF0aHJlYy5kZ2lkLnJhdywKQEAgLTQ0Myw2ICs0ODAsNyBAQAogCQkJd2hpbGUgKChza2IgPSBfX3NrYl9kZXF1ZXVlKCZuZWlnaC0+cXVldWUpKSkKIAkJCQlfX3NrYl9xdWV1ZV90YWlsKCZza3F1ZXVlLCBza2IpOwogCQl9CisJCXBhdGgtPnZhbGlkID0gMTsKIAl9CiAKIAlwYXRoLT5xdWVyeSA9IE5VTEw7CkBAIC00NTAsNiArNDg4LDkgQEAKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPmxvY2ssIGZsYWdzKTsKIAorCWlmIChvbGRfYWgpCisJCWlwb2liX3B1dF9haChvbGRfYWgpOworCiAJd2hpbGUgKChza2IgPSBfX3NrYl9kZXF1ZXVlKCZza3F1ZXVlKSkpIHsKIAkJc2tiLT5kZXYgPSBkZXY7CiAJCWlmIChkZXZfcXVldWVfeG1pdChza2IpKQpAQCAtNjIzLDggKzY2NCw5IEBACiAJc3Bpbl9sb2NrKCZwcml2LT5sb2NrKTsKIAogCXBhdGggPSBfX3BhdGhfZmluZChkZXYsIHBoZHItPmh3YWRkciArIDQpOwotCWlmICghcGF0aCkgewotCQlwYXRoID0gcGF0aF9yZWNfY3JlYXRlKGRldiwgcGhkci0+aHdhZGRyICsgNCk7CisJaWYgKCFwYXRoIHx8ICFwYXRoLT52YWxpZCkgeworCQlpZiAoIXBhdGgpCisJCQlwYXRoID0gcGF0aF9yZWNfY3JlYXRlKGRldiwgcGhkci0+aHdhZGRyICsgNCk7CiAJCWlmIChwYXRoKSB7CiAJCQkvKiBwdXQgcHNldWRvaGVhZGVyIGJhY2sgb24gZm9yIG5leHQgdGltZSAqLwogCQkJc2tiX3B1c2goc2tiLCBzaXplb2YgKnBoZHIpOwpAQCAtOTM4LDYgKzk4MCw1NCBAQAogCS5jcmVhdGUJPSBpcG9pYl9oYXJkX2hlYWRlciwKIH07CiAKK3N0YXRpYyBpbnQgZ2V0X3NrYl9oZHIoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdm9pZCAqKmlwaGRyLAorCQkgICAgICAgdm9pZCAqKnRjcGgsIHU2NCAqaGRyX2ZsYWdzLCB2b2lkICpwcml2KQoreworCXVuc2lnbmVkIGludCBpcF9sZW47CisJc3RydWN0IGlwaGRyICppcGg7CisKKwlpZiAodW5saWtlbHkoc2tiLT5wcm90b2NvbCAhPSBodG9ucyhFVEhfUF9JUCkpKQorCQlyZXR1cm4gLTE7CisKKwkvKgorCSAqIEluIHRoZSBmdXR1cmUgd2UgbWF5IGFkZCBhbiBlbHNlIGNsYXVzZSB0aGF0IHZlcmlmaWVzIHRoZQorCSAqIGNoZWNrc3VtIGFuZCBhbGxvd3MgZGV2aWNlcyB3aGljaCBkbyBub3QgY2FsY3VsYXRlIGNoZWNrc3VtCisJICogdG8gdXNlIExSTy4KKwkgKi8KKwlpZiAodW5saWtlbHkoc2tiLT5pcF9zdW1tZWQgIT0gQ0hFQ0tTVU1fVU5ORUNFU1NBUlkpKQorCQlyZXR1cm4gLTE7CisKKwkvKiBDaGVjayBmb3Igbm9uLVRDUCBwYWNrZXQgKi8KKwlza2JfcmVzZXRfbmV0d29ya19oZWFkZXIoc2tiKTsKKwlpcGggPSBpcF9oZHIoc2tiKTsKKwlpZiAoaXBoLT5wcm90b2NvbCAhPSBJUFBST1RPX1RDUCkKKwkJcmV0dXJuIC0xOworCisJaXBfbGVuID0gaXBfaGRybGVuKHNrYik7CisJc2tiX3NldF90cmFuc3BvcnRfaGVhZGVyKHNrYiwgaXBfbGVuKTsKKwkqdGNwaCA9IHRjcF9oZHIoc2tiKTsKKworCS8qIGNoZWNrIGlmIElQIGhlYWRlciBhbmQgVENQIGhlYWRlciBhcmUgY29tcGxldGUgKi8KKwlpZiAobnRvaHMoaXBoLT50b3RfbGVuKSA8IGlwX2xlbiArIHRjcF9oZHJsZW4oc2tiKSkKKwkJcmV0dXJuIC0xOworCisJKmhkcl9mbGFncyA9IExST19JUFY0IHwgTFJPX1RDUDsKKwkqaXBoZHIgPSBpcGg7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgaXBvaWJfbHJvX3NldHVwKHN0cnVjdCBpcG9pYl9kZXZfcHJpdiAqcHJpdikKK3sKKwlwcml2LT5scm8ubHJvX21nci5tYXhfYWdncgkgPSBscm9fbWF4X2FnZ3I7CisJcHJpdi0+bHJvLmxyb19tZ3IubWF4X2Rlc2MJID0gSVBPSUJfTUFYX0xST19ERVNDUklQVE9SUzsKKwlwcml2LT5scm8ubHJvX21nci5scm9fYXJyCSA9IHByaXYtPmxyby5scm9fZGVzYzsKKwlwcml2LT5scm8ubHJvX21nci5nZXRfc2tiX2hlYWRlciA9IGdldF9za2JfaGRyOworCXByaXYtPmxyby5scm9fbWdyLmZlYXR1cmVzCSA9IExST19GX05BUEk7CisJcHJpdi0+bHJvLmxyb19tZ3IuZGV2CQkgPSBwcml2LT5kZXY7CisJcHJpdi0+bHJvLmxyb19tZ3IuaXBfc3VtbWVkX2FnZ3IgPSBDSEVDS1NVTV9VTk5FQ0VTU0FSWTsKK30KKwogc3RhdGljIHZvaWQgaXBvaWJfc2V0dXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwpAQCAtOTc3LDEwICsxMDY3LDExIEBACiAKIAlwcml2LT5kZXYgPSBkZXY7CiAKKwlpcG9pYl9scm9fc2V0dXAocHJpdik7CisKIAlzcGluX2xvY2tfaW5pdCgmcHJpdi0+bG9jayk7CiAJc3Bpbl9sb2NrX2luaXQoJnByaXYtPnR4X2xvY2spOwogCi0JbXV0ZXhfaW5pdCgmcHJpdi0+bWNhc3RfbXV0ZXgpOwogCW11dGV4X2luaXQoJnByaXYtPnZsYW5fbXV0ZXgpOwogCiAJSU5JVF9MSVNUX0hFQUQoJnByaXYtPnBhdGhfbGlzdCk7CkBAIC05ODksOSArMTA4MCwxMCBAQAogCUlOSVRfTElTVF9IRUFEKCZwcml2LT5tdWx0aWNhc3RfbGlzdCk7CiAKIAlJTklUX0RFTEFZRURfV09SSygmcHJpdi0+cGtleV9wb2xsX3Rhc2ssIGlwb2liX3BrZXlfcG9sbCk7Ci0JSU5JVF9XT1JLKCZwcml2LT5wa2V5X2V2ZW50X3Rhc2ssIGlwb2liX3BrZXlfZXZlbnQpOwogCUlOSVRfREVMQVlFRF9XT1JLKCZwcml2LT5tY2FzdF90YXNrLCAgIGlwb2liX21jYXN0X2pvaW5fdGFzayk7Ci0JSU5JVF9XT1JLKCZwcml2LT5mbHVzaF90YXNrLCAgIGlwb2liX2liX2Rldl9mbHVzaCk7CisJSU5JVF9XT1JLKCZwcml2LT5mbHVzaF9saWdodCwgICBpcG9pYl9pYl9kZXZfZmx1c2hfbGlnaHQpOworCUlOSVRfV09SSygmcHJpdi0+Zmx1c2hfbm9ybWFsLCAgIGlwb2liX2liX2Rldl9mbHVzaF9ub3JtYWwpOworCUlOSVRfV09SSygmcHJpdi0+Zmx1c2hfaGVhdnksICAgaXBvaWJfaWJfZGV2X2ZsdXNoX2hlYXZ5KTsKIAlJTklUX1dPUksoJnByaXYtPnJlc3RhcnRfdGFzaywgaXBvaWJfbWNhc3RfcmVzdGFydF90YXNrKTsKIAlJTklUX0RFTEFZRURfV09SSygmcHJpdi0+YWhfcmVhcF90YXNrLCBpcG9pYl9yZWFwX2FoKTsKIH0KQEAgLTExNTQsNiArMTI0Niw5IEBACiAJCXByaXYtPmRldi0+ZmVhdHVyZXMgfD0gTkVUSUZfRl9TRyB8IE5FVElGX0ZfSVBfQ1NVTTsKIAl9CiAKKwlpZiAobHJvKQorCQlwcml2LT5kZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfTFJPOworCiAJLyoKIAkgKiBTZXQgdGhlIGZ1bGwgbWVtYmVyc2hpcCBiaXQsIHNvIHRoYXQgd2Ugam9pbiB0aGUgcmlnaHQKIAkgKiBicm9hZGNhc3QgZ3JvdXAsIGV0Yy4KQEAgLTEzMDQsNiArMTM5OSwxMiBAQAogCWlwb2liX21heF9jb25uX3FwID0gbWluKGlwb2liX21heF9jb25uX3FwLCBJUE9JQl9DTV9NQVhfQ09OTl9RUCk7CiAjZW5kaWYKIAorCS8qCisJICogV2hlbiBjb3B5aW5nIHNtYWxsIHJlY2VpdmVkIHBhY2tldHMsIHdlIG9ubHkgY29weSBmcm9tIHRoZQorCSAqIGxpbmVhciBkYXRhIHBhcnQgb2YgdGhlIFNLQiwgc28gd2UgcmVseSBvbiB0aGlzIGNvbmRpdGlvbi4KKwkgKi8KKwlCVUlMRF9CVUdfT04oSVBPSUJfQ01fQ09QWUJSRUFLID4gSVBPSUJfQ01fSEVBRF9TSVpFKTsKKwogCXJldCA9IGlwb2liX3JlZ2lzdGVyX2RlYnVnZnMoKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfbXVsdGljYXN0LmMKaW5kZXggM2Y2NjNmYi4uMWZjYzlhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl9tdWx0aWNhc3QuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX211bHRpY2FzdC5jCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpcG9pYl9tdWx0aWNhc3QuYyAxMzYyIDIwMDQtMTItMTggMTU6NTY6MjlaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgpAQCAtMTg4LDYgKzE4Niw3IEBACiAJc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgaXBvaWJfYWggKmFoOwogCWludCByZXQ7CisJaW50IHNldF9xa2V5ID0gMDsKIAogCW1jYXN0LT5tY21lbWJlciA9ICptY21lbWJlcjsKIApAQCAtMjAyLDYgKzIwMSw3IEBACiAJCXByaXYtPnFrZXkgPSBiZTMyX3RvX2NwdShwcml2LT5icm9hZGNhc3QtPm1jbWVtYmVyLnFrZXkpOwogCQlzcGluX3VubG9ja19pcnEoJnByaXYtPmxvY2spOwogCQlwcml2LT50eF93ci53ci51ZC5yZW1vdGVfcWtleSA9IHByaXYtPnFrZXk7CisJCXNldF9xa2V5ID0gMTsKIAl9CiAKIAlpZiAoIXRlc3RfYml0KElQT0lCX01DQVNUX0ZMQUdfU0VORE9OTFksICZtY2FzdC0+ZmxhZ3MpKSB7CkBAIC0yMTQsNyArMjE0LDcgQEAKIAkJfQogCiAJCXJldCA9IGlwb2liX21jYXN0X2F0dGFjaChkZXYsIGJlMTZfdG9fY3B1KG1jYXN0LT5tY21lbWJlci5tbGlkKSwKLQkJCQkJICZtY2FzdC0+bWNtZW1iZXIubWdpZCk7CisJCQkJCSAmbWNhc3QtPm1jbWVtYmVyLm1naWQsIHNldF9xa2V5KTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCWlwb2liX3dhcm4ocHJpdiwgImNvdWxkbid0IGF0dGFjaCBRUCB0byBtdWx0aWNhc3QgZ3JvdXAgIgogCQkJCSAgIElQT0lCX0dJRF9GTVQgIlxuIiwKQEAgLTU3NSw4ICs1NzUsMTEgQEAKIAogCXByaXYtPm1jYXN0X210dSA9IElQT0lCX1VEX01UVShpYl9tdHVfZW51bV90b19pbnQocHJpdi0+YnJvYWRjYXN0LT5tY21lbWJlci5tdHUpKTsKIAotCWlmICghaXBvaWJfY21fYWRtaW5fZW5hYmxlZChkZXYpKQotCQlkZXYtPm10dSA9IG1pbihwcml2LT5tY2FzdF9tdHUsIHByaXYtPmFkbWluX210dSk7CisJaWYgKCFpcG9pYl9jbV9hZG1pbl9lbmFibGVkKGRldikpIHsKKwkJcnRubF9sb2NrKCk7CisJCWRldl9zZXRfbXR1KGRldiwgbWluKHByaXYtPm1jYXN0X210dSwgcHJpdi0+YWRtaW5fbXR1KSk7CisJCXJ0bmxfdW5sb2NrKCk7CisJfQogCiAJaXBvaWJfZGJnX21jYXN0KHByaXYsICJzdWNjZXNzZnVsbHkgam9pbmVkIGFsbCBtdWx0aWNhc3QgZ3JvdXBzXG4iKTsKIApAQCAtNTk0LDEwICs1OTcsNiBAQAogCQlxdWV1ZV9kZWxheWVkX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+bWNhc3RfdGFzaywgMCk7CiAJbXV0ZXhfdW5sb2NrKCZtY2FzdF9tdXRleCk7CiAKLQlzcGluX2xvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQlzZXRfYml0KElQT0lCX01DQVNUX1NUQVJURUQsICZwcml2LT5mbGFncyk7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQogCXJldHVybiAwOwogfQogCkBAIC02MDcsMTAgKzYwNiw2IEBACiAKIAlpcG9pYl9kYmdfbWNhc3QocHJpdiwgInN0b3BwaW5nIG11bHRpY2FzdCB0aHJlYWRcbiIpOwogCi0Jc3Bpbl9sb2NrX2lycSgmcHJpdi0+bG9jayk7Ci0JY2xlYXJfYml0KElQT0lCX01DQVNUX1NUQVJURUQsICZwcml2LT5mbGFncyk7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZwcml2LT5sb2NrKTsKLQogCW11dGV4X2xvY2soJm1jYXN0X211dGV4KTsKIAljbGVhcl9iaXQoSVBPSUJfTUNBU1RfUlVOLCAmcHJpdi0+ZmxhZ3MpOwogCWNhbmNlbF9kZWxheWVkX3dvcmsoJnByaXYtPm1jYXN0X3Rhc2spOwpAQCAtNjM1LDEwICs2MzAsMTAgQEAKIAkJCQlJUE9JQl9HSURfQVJHKG1jYXN0LT5tY21lbWJlci5tZ2lkKSk7CiAKIAkJLyogUmVtb3ZlIG91cnNlbHZlcyBmcm9tIHRoZSBtdWx0aWNhc3QgZ3JvdXAgKi8KLQkJcmV0ID0gaXBvaWJfbWNhc3RfZGV0YWNoKGRldiwgYmUxNl90b19jcHUobWNhc3QtPm1jbWVtYmVyLm1saWQpLAotCQkJCQkgJm1jYXN0LT5tY21lbWJlci5tZ2lkKTsKKwkJcmV0ID0gaWJfZGV0YWNoX21jYXN0KHByaXYtPnFwLCAmbWNhc3QtPm1jbWVtYmVyLm1naWQsCisJCQkJICAgICAgYmUxNl90b19jcHUobWNhc3QtPm1jbWVtYmVyLm1saWQpKTsKIAkJaWYgKHJldCkKLQkJCWlwb2liX3dhcm4ocHJpdiwgImlwb2liX21jYXN0X2RldGFjaCBmYWlsZWQgKHJlc3VsdCA9ICVkKVxuIiwgcmV0KTsKKwkJCWlwb2liX3dhcm4ocHJpdiwgImliX2RldGFjaF9tY2FzdCBmYWlsZWQgKHJlc3VsdCA9ICVkKVxuIiwgcmV0KTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmVyYnMuYwppbmRleCA4NzY2ZDI5Li42ODMyNTExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lwb2liL2lwb2liX3ZlcmJzLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92ZXJicy5jCkBAIC0yOSwyNCArMjksMTcgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX3ZlcmJzLmMgMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpbmNsdWRlICJpcG9pYi5oIgogCi1pbnQgaXBvaWJfbWNhc3RfYXR0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLCB1bmlvbiBpYl9naWQgKm1naWQpCitpbnQgaXBvaWJfbWNhc3RfYXR0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLCB1bmlvbiBpYl9naWQgKm1naWQsIGludCBzZXRfcWtleSkKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwotCXN0cnVjdCBpYl9xcF9hdHRyICpxcF9hdHRyOworCXN0cnVjdCBpYl9xcF9hdHRyICpxcF9hdHRyID0gTlVMTDsKIAlpbnQgcmV0OwogCXUxNiBwa2V5X2luZGV4OwogCi0JcmV0ID0gLUVOT01FTTsKLQlxcF9hdHRyID0ga21hbGxvYyhzaXplb2YgKnFwX2F0dHIsIEdGUF9LRVJORUwpOwotCWlmICghcXBfYXR0cikKLQkJZ290byBvdXQ7Ci0KIAlpZiAoaWJfZmluZF9wa2V5KHByaXYtPmNhLCBwcml2LT5wb3J0LCBwcml2LT5wa2V5LCAmcGtleV9pbmRleCkpIHsKIAkJY2xlYXJfYml0KElQT0lCX1BLRVlfQVNTSUdORUQsICZwcml2LT5mbGFncyk7CiAJCXJldCA9IC1FTlhJTzsKQEAgLTU0LDE4ICs0NywyMyBAQAogCX0KIAlzZXRfYml0KElQT0lCX1BLRVlfQVNTSUdORUQsICZwcml2LT5mbGFncyk7CiAKLQkvKiBzZXQgY29ycmVjdCBRS2V5IGZvciBRUCAqLwotCXFwX2F0dHItPnFrZXkgPSBwcml2LT5xa2V5OwotCXJldCA9IGliX21vZGlmeV9xcChwcml2LT5xcCwgcXBfYXR0ciwgSUJfUVBfUUtFWSk7Ci0JaWYgKHJldCkgewotCQlpcG9pYl93YXJuKHByaXYsICJmYWlsZWQgdG8gbW9kaWZ5IFFQLCByZXQgPSAlZFxuIiwgcmV0KTsKLQkJZ290byBvdXQ7CisJaWYgKHNldF9xa2V5KSB7CisJCXJldCA9IC1FTk9NRU07CisJCXFwX2F0dHIgPSBrbWFsbG9jKHNpemVvZiAqcXBfYXR0ciwgR0ZQX0tFUk5FTCk7CisJCWlmICghcXBfYXR0cikKKwkJCWdvdG8gb3V0OworCisJCS8qIHNldCBjb3JyZWN0IFFLZXkgZm9yIFFQICovCisJCXFwX2F0dHItPnFrZXkgPSBwcml2LT5xa2V5OworCQlyZXQgPSBpYl9tb2RpZnlfcXAocHJpdi0+cXAsIHFwX2F0dHIsIElCX1FQX1FLRVkpOworCQlpZiAocmV0KSB7CisJCQlpcG9pYl93YXJuKHByaXYsICJmYWlsZWQgdG8gbW9kaWZ5IFFQLCByZXQgPSAlZFxuIiwgcmV0KTsKKwkJCWdvdG8gb3V0OworCQl9CiAJfQogCiAJLyogYXR0YWNoIFFQIHRvIG11bHRpY2FzdCBncm91cCAqLwotCW11dGV4X2xvY2soJnByaXYtPm1jYXN0X211dGV4KTsKIAlyZXQgPSBpYl9hdHRhY2hfbWNhc3QocHJpdi0+cXAsIG1naWQsIG1saWQpOwotCW11dGV4X3VubG9jaygmcHJpdi0+bWNhc3RfbXV0ZXgpOwogCWlmIChyZXQpCiAJCWlwb2liX3dhcm4ocHJpdiwgImZhaWxlZCB0byBhdHRhY2ggdG8gbXVsdGljYXN0IGdyb3VwLCByZXQgPSAlZFxuIiwgcmV0KTsKIApAQCAtNzQsMjAgKzcyLDYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgaXBvaWJfbWNhc3RfZGV0YWNoKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtbGlkLCB1bmlvbiBpYl9naWQgKm1naWQpCi17Ci0Jc3RydWN0IGlwb2liX2Rldl9wcml2ICpwcml2ID0gbmV0ZGV2X3ByaXYoZGV2KTsKLQlpbnQgcmV0OwotCi0JbXV0ZXhfbG9jaygmcHJpdi0+bWNhc3RfbXV0ZXgpOwotCXJldCA9IGliX2RldGFjaF9tY2FzdChwcml2LT5xcCwgbWdpZCwgbWxpZCk7Ci0JbXV0ZXhfdW5sb2NrKCZwcml2LT5tY2FzdF9tdXRleCk7Ci0JaWYgKHJldCkKLQkJaXBvaWJfd2Fybihwcml2LCAiaWJfZGV0YWNoX21jYXN0IGZhaWxlZCAocmVzdWx0ID0gJWQpXG4iLCByZXQpOwotCi0JcmV0dXJuIHJldDsKLX0KLQogaW50IGlwb2liX2luaXRfcXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgaXBvaWJfZGV2X3ByaXYgKnByaXYgPSBuZXRkZXZfcHJpdihkZXYpOwpAQCAtMjAxLDcgKzE4NSwxMCBAQAogCWluaXRfYXR0ci5yZWN2X2NxID0gcHJpdi0+cmVjdl9jcTsKIAogCWlmIChwcml2LT5oY2FfY2FwcyAmIElCX0RFVklDRV9VRF9UU08pCi0JCWluaXRfYXR0ci5jcmVhdGVfZmxhZ3MgPSBJQl9RUF9DUkVBVEVfSVBPSUJfVURfTFNPOworCQlpbml0X2F0dHIuY3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9JUE9JQl9VRF9MU087CisKKwlpZiAocHJpdi0+aGNhX2NhcHMgJiBJQl9ERVZJQ0VfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLKQorCQlpbml0X2F0dHIuY3JlYXRlX2ZsYWdzIHw9IElCX1FQX0NSRUFURV9CTE9DS19NVUxUSUNBU1RfTE9PUEJBQ0s7CiAKIAlpZiAoZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfU0cpCiAJCWluaXRfYXR0ci5jYXAubWF4X3NlbmRfc2dlID0gTUFYX1NLQl9GUkFHUyArIDE7CkBAIC0yODksMTUgKzI3NiwxNyBAQAogCWlmIChyZWNvcmQtPmVsZW1lbnQucG9ydF9udW0gIT0gcHJpdi0+cG9ydCkKIAkJcmV0dXJuOwogCi0JaWYgKHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfUE9SVF9FUlIgICAgfHwKLQkgICAgcmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QT1JUX0FDVElWRSB8fAotCSAgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX0xJRF9DSEFOR0UgIHx8Ci0JICAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfU01fQ0hBTkdFICAgfHwKKwlpcG9pYl9kYmcocHJpdiwgIkV2ZW50ICVkIG9uIGRldmljZSAlcyBwb3J0ICVkXG4iLCByZWNvcmQtPmV2ZW50LAorCQkgIHJlY29yZC0+ZGV2aWNlLT5uYW1lLCByZWNvcmQtPmVsZW1lbnQucG9ydF9udW0pOworCisJaWYgKHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfU01fQ0hBTkdFIHx8CiAJICAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfQ0xJRU5UX1JFUkVHSVNURVIpIHsKLQkJaXBvaWJfZGJnKHByaXYsICJQb3J0IHN0YXRlIGNoYW5nZSBldmVudFxuIik7Ci0JCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfdGFzayk7CisJCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfbGlnaHQpOworCX0gZWxzZSBpZiAocmVjb3JkLT5ldmVudCA9PSBJQl9FVkVOVF9QT1JUX0VSUiB8fAorCQkgICByZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BPUlRfQUNUSVZFIHx8CisJCSAgIHJlY29yZC0+ZXZlbnQgPT0gSUJfRVZFTlRfTElEX0NIQU5HRSkgeworCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPmZsdXNoX25vcm1hbCk7CiAJfSBlbHNlIGlmIChyZWNvcmQtPmV2ZW50ID09IElCX0VWRU5UX1BLRVlfQ0hBTkdFKSB7Ci0JCWlwb2liX2RiZyhwcml2LCAiUF9LZXkgY2hhbmdlIGV2ZW50IG9uIHBvcnQ6JWRcbiIsIHByaXYtPnBvcnQpOwotCQlxdWV1ZV93b3JrKGlwb2liX3dvcmtxdWV1ZSwgJnByaXYtPnBrZXlfZXZlbnRfdGFzayk7CisJCXF1ZXVlX3dvcmsoaXBvaWJfd29ya3F1ZXVlLCAmcHJpdi0+Zmx1c2hfaGVhdnkpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXBvaWIvaXBvaWJfdmxhbi5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMKaW5kZXggMWNkYjVjZi4uYjA4ZWI1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pcG9pYi9pcG9pYl92bGFuLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGlwb2liX3ZsYW4uYyAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmMKaW5kZXggYWViNThjYS4uMzU2ZmFjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5jCkBAIC00Miw5ICs0Miw2IEBACiAgKglaaGVueXUgV2FuZwogICogTW9kaWZpZWQgYnk6CiAgKiAgICAgIEVyZXogWmlsYmVyCi0gKgotICoKLSAqICRJZDogaXNjc2lfaXNlci5jIDY5NjUgMjAwNi0wNS0wNyAxMTozNjoyMFogb2dlcmxpdHogJAogICovCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuaCBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2NzaV9pc2VyLmgKaW5kZXggYThjMWIzMC4uMGUxMDcwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzY3NpX2lzZXIuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNjc2lfaXNlci5oCkBAIC0zNiw4ICszNiw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2NzaV9pc2VyLmggNzA1MSAyMDA2LTA1LTEwIDEyOjI5OjExWiBvZ2VybGl0eiAkCiAgKi8KICNpZm5kZWYgX19JU0NTSV9JU0VSX0hfXwogI2RlZmluZSBfX0lTQ1NJX0lTRVJfSF9fCmRpZmYgLS1naXQgYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9pbml0aWF0b3IuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jCmluZGV4IDA4ZGM4MWMuLjMxYWQ0OTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jCisrKyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX2luaXRpYXRvci5jCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2VyX2luaXRpYXRvci5jIDY5NjQgMjAwNi0wNS0wNyAxMToxMTo0M1ogb2dlcmxpdHogJAogICovCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfbWVtb3J5LmMgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYwppbmRleCBjYWM1MGM0Li44MWU0OWNiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl9tZW1vcnkuYwpAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaXNlcl9tZW1vcnkuYyA2OTY0IDIwMDYtMDUtMDcgMTE6MTE6NDNaIG9nZXJsaXR6ICQKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfdmVyYnMuYyBiL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvaXNlci9pc2VyX3ZlcmJzLmMKaW5kZXggZDE5Y2ZlNi4uNzdjYWJlZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9pc2VyL2lzZXJfdmVyYnMuYworKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL2lzZXIvaXNlcl92ZXJicy5jCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpc2VyX3ZlcmJzLmMgNzA1MSAyMDA2LTA1LTEwIDEyOjI5OjExWiBvZ2VybGl0eiAkCiAgKi8KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5maW5pYmFuZC91bHAvc3JwL2liX3NycC5jIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMKaW5kZXggNDM1MTQ1Ny4uZWQ3YzVmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMKKysrIGIvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmMKQEAgLTI4LDggKzI4LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NycC5jIDM5MzIgMjAwNS0xMS0wMSAxNzoxOToyOVogcm9sYW5kICQKICAqLwogCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC00OSw4ICs0Nyw2IEBACiAjaW5jbHVkZSA8c2NzaS9zcnAuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfdHJhbnNwb3J0X3NycC5oPgogCi0jaW5jbHVkZSA8cmRtYS9pYl9jYWNoZS5oPgotCiAjaW5jbHVkZSAiaWJfc3JwLmgiCiAKICNkZWZpbmUgRFJWX05BTUUJImliX3NycCIKQEAgLTE4MywxMCArMTc5LDEwIEBACiAJaWYgKCFhdHRyKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXJldCA9IGliX2ZpbmRfY2FjaGVkX3BrZXkodGFyZ2V0LT5zcnBfaG9zdC0+c3JwX2Rldi0+ZGV2LAotCQkJCSAgdGFyZ2V0LT5zcnBfaG9zdC0+cG9ydCwKLQkJCQkgIGJlMTZfdG9fY3B1KHRhcmdldC0+cGF0aC5wa2V5KSwKLQkJCQkgICZhdHRyLT5wa2V5X2luZGV4KTsKKwlyZXQgPSBpYl9maW5kX3BrZXkodGFyZ2V0LT5zcnBfaG9zdC0+c3JwX2Rldi0+ZGV2LAorCQkJICAgdGFyZ2V0LT5zcnBfaG9zdC0+cG9ydCwKKwkJCSAgIGJlMTZfdG9fY3B1KHRhcmdldC0+cGF0aC5wa2V5KSwKKwkJCSAgICZhdHRyLT5wa2V5X2luZGV4KTsKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIApAQCAtMTg4Myw4ICsxODc5LDcgQEAKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIAotCWliX2dldF9jYWNoZWRfZ2lkKGhvc3QtPnNycF9kZXYtPmRldiwgaG9zdC0+cG9ydCwgMCwKLQkJCSAgJnRhcmdldC0+cGF0aC5zZ2lkKTsKKwlpYl9xdWVyeV9naWQoaG9zdC0+c3JwX2Rldi0+ZGV2LCBob3N0LT5wb3J0LCAwLCAmdGFyZ2V0LT5wYXRoLnNnaWQpOwogCiAJc2hvc3RfcHJpbnRrKEtFUk5fREVCVUcsIHRhcmdldC0+c2NzaV9ob3N0LCBQRlgKIAkJICAgICAibmV3IHRhcmdldDogaWRfZXh0ICUwMTZsbHggaW9jX2d1aWQgJTAxNmxseCBwa2V5ICUwNHggIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL3VscC9zcnAvaWJfc3JwLmggYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaAppbmRleCA2M2QyYWU3Li5lMTg1YjkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaAorKysgYi9kcml2ZXJzL2luZmluaWJhbmQvdWxwL3NycC9pYl9zcnAuaApAQCAtMjgsOCArMjgsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfc3JwLmggMzkzMiAyMDA1LTExLTAxIDE3OjE5OjI5WiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgSUJfU1JQX0gKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvaW5wdXQuYyBiL2RyaXZlcnMvaW5wdXQvaW5wdXQuYwppbmRleCAyNzAwNmZjLi40MDhkZjBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L2lucHV0LmMKKysrIGIvZHJpdmVycy9pbnB1dC9pbnB1dC5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKIE1PRFVMRV9BVVRIT1IoIlZvanRlY2ggUGF2bGlrIDx2b2p0ZWNoQHN1c2UuY3o+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIklucHV0IGNvcmUiKTsKQEAgLTE1ODgsMTMgKzE1ODksMTcgQEAKIAogc3RhdGljIGludCBpbnB1dF9vcGVuX2ZpbGUoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0Jc3RydWN0IGlucHV0X2hhbmRsZXIgKmhhbmRsZXIgPSBpbnB1dF90YWJsZVtpbWlub3IoaW5vZGUpID4+IDVdOworCXN0cnVjdCBpbnB1dF9oYW5kbGVyICpoYW5kbGVyOwogCWNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgKm9sZF9mb3BzLCAqbmV3X2ZvcHMgPSBOVUxMOwogCWludCBlcnI7CiAKKwlsb2NrX2tlcm5lbCgpOwogCS8qIE5vIGxvYWQtb24tZGVtYW5kIGhlcmU/ICovCi0JaWYgKCFoYW5kbGVyIHx8ICEobmV3X2ZvcHMgPSBmb3BzX2dldChoYW5kbGVyLT5mb3BzKSkpCi0JCXJldHVybiAtRU5PREVWOworCWhhbmRsZXIgPSBpbnB1dF90YWJsZVtpbWlub3IoaW5vZGUpID4+IDVdOworCWlmICghaGFuZGxlciB8fCAhKG5ld19mb3BzID0gZm9wc19nZXQoaGFuZGxlci0+Zm9wcykpKSB7CisJCWVyciA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAogCS8qCiAJICogVGhhdCdzIF9yZWFsbHlfIG9kZC4gVXN1YWxseSBOVUxMIC0+b3BlbiBtZWFucyAibm90aGluZyBzcGVjaWFsIiwKQEAgLTE2MDIsNyArMTYwNyw4IEBACiAJICovCiAJaWYgKCFuZXdfZm9wcy0+b3BlbikgewogCQlmb3BzX3B1dChuZXdfZm9wcyk7Ci0JCXJldHVybiAtRU5PREVWOworCQllcnIgPSAtRU5PREVWOworCQlnb3RvIG91dDsKIAl9CiAJb2xkX2ZvcHMgPSBmaWxlLT5mX29wOwogCWZpbGUtPmZfb3AgPSBuZXdfZm9wczsKQEAgLTE2MTQsNiArMTYyMCw4IEBACiAJCWZpbGUtPmZfb3AgPSBmb3BzX2dldChvbGRfZm9wcyk7CiAJfQogCWZvcHNfcHV0KG9sZF9mb3BzKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYyBiL2RyaXZlcnMvaW5wdXQvbWlzYy9ocF9zZGNfcnRjLmMKaW5kZXggNDVlNWQwNS4uNDlkOGFiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC9taXNjL2hwX3NkY19ydGMuYworKysgYi9kcml2ZXJzL2lucHV0L21pc2MvaHBfc2RjX3J0Yy5jCkBAIC0zNSw2ICszNSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9ocF9zZGMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CkBAIC00MDgsNiArNDA5LDcgQEAKIAogc3RhdGljIGludCBocF9zZGNfcnRjX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKICAgICAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYyBiL2RyaXZlcnMvaW5wdXQvbWlzYy91aW5wdXQuYwppbmRleCBhNTZhZDRiLi4yYmNmYTBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L21pc2MvdWlucHV0LmMKKysrIGIvZHJpdmVycy9pbnB1dC9taXNjL3VpbnB1dC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvdWlucHV0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogc3RhdGljIGludCB1aW5wdXRfZGV2X2V2ZW50KHN0cnVjdCBpbnB1dF9kZXYgKmRldiwgdW5zaWduZWQgaW50IHR5cGUsIHVuc2lnbmVkIGludCBjb2RlLCBpbnQgdmFsdWUpCiB7CkBAIC0yMjIsNiArMjIzLDcgQEAKIAlpZiAoIW5ld2RldikKIAkJcmV0dXJuIC1FTk9NRU07CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2luaXQoJm5ld2Rldi0+bXV0ZXgpOwogCXNwaW5fbG9ja19pbml0KCZuZXdkZXYtPnJlcXVlc3RzX2xvY2spOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJm5ld2Rldi0+cmVxdWVzdHNfd2FpdHEpOwpAQCAtMjI5LDYgKzIzMSw3IEBACiAJbmV3ZGV2LT5zdGF0ZSA9IFVJU1RfTkVXX0RFVklDRTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IG5ld2RldjsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYyBiL2RyaXZlcnMvaW5wdXQvbW91c2VkZXYuYwppbmRleCBiOTg5NzQ4Li44MTM3ZTUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2lucHV0L21vdXNlZGV2LmMKKysrIGIvZHJpdmVycy9pbnB1dC9tb3VzZWRldi5jCkBAIC0xNCw2ICsxNCw3IEBACiAjZGVmaW5lIE1PVVNFREVWX01JWAkJMzEKIAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC01NDUsMTYgKzU0NiwyMSBAQAogCWlmIChpID49IE1PVVNFREVWX01JTk9SUykKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWVycm9yID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZtb3VzZWRldl90YWJsZV9tdXRleCk7Ci0JaWYgKGVycm9yKQorCWlmIChlcnJvcikgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiBlcnJvcjsKKwl9CiAJbW91c2VkZXYgPSBtb3VzZWRldl90YWJsZVtpXTsKIAlpZiAobW91c2VkZXYpCiAJCWdldF9kZXZpY2UoJm1vdXNlZGV2LT5kZXYpOwogCW11dGV4X3VubG9jaygmbW91c2VkZXZfdGFibGVfbXV0ZXgpOwogCi0JaWYgKCFtb3VzZWRldikKKwlpZiAoIW1vdXNlZGV2KSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CisJfQogCiAJY2xpZW50ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IG1vdXNlZGV2X2NsaWVudCksIEdGUF9LRVJORUwpOwogCWlmICghY2xpZW50KSB7CkBAIC01NzMsNiArNTc5LDcgQEAKIAkJZ290byBlcnJfZnJlZV9jbGllbnQ7CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBjbGllbnQ7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiAgZXJyX2ZyZWVfY2xpZW50OgpAQCAtNTgwLDYgKzU4Nyw3IEBACiAJa2ZyZWUoY2xpZW50KTsKICBlcnJfcHV0X21vdXNlZGV2OgogCXB1dF9kZXZpY2UoJm1vdXNlZGV2LT5kZXYpOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMgYi9kcml2ZXJzL2lucHV0L3NlcmlvL3NlcmlvX3Jhdy5jCmluZGV4IDA0MDM2MjIuLmM5Mzk3YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvc2VyaW8vc2VyaW9fcmF3LmMKKysrIGIvZHJpdmVycy9pbnB1dC9zZXJpby9zZXJpb19yYXcuYwpAQCAtMTAsNiArMTAsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9wb2xsLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaW8uaD4KQEAgLTgxLDkgKzgyLDEwIEBACiAJc3RydWN0IHNlcmlvX3Jhd19saXN0ICpsaXN0OwogCWludCByZXR2YWwgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlyZXR2YWwgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJnNlcmlvX3Jhd19tdXRleCk7CiAJaWYgKHJldHZhbCkKLQkJcmV0dXJuIHJldHZhbDsKKwkJZ290byBvdXRfYmtsOwogCiAJaWYgKCEoc2VyaW9fcmF3ID0gc2VyaW9fcmF3X2xvY2F0ZShpbWlub3IoaW5vZGUpKSkpIHsKIAkJcmV0dmFsID0gLUVOT0RFVjsKQEAgLTEwOCw2ICsxMTAsOCBAQAogCiBvdXQ6CiAJbXV0ZXhfdW5sb2NrKCZzZXJpb19yYXdfbXV0ZXgpOworb3V0X2JrbDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYyBiL2RyaXZlcnMvaW5wdXQveGVuLWtiZGZyb250LmMKaW5kZXggMGY0N2Y0Ni4uOWNlM2IzYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pbnB1dC94ZW4ta2JkZnJvbnQuYworKysgYi9kcml2ZXJzL2lucHV0L3hlbi1rYmRmcm9udC5jCkBAIC02Niw2ICs2Niw5IEBACiAJCWNhc2UgWEVOS0JEX1RZUEVfTU9USU9OOgogCQkJaW5wdXRfcmVwb3J0X3JlbChkZXYsIFJFTF9YLCBldmVudC0+bW90aW9uLnJlbF94KTsKIAkJCWlucHV0X3JlcG9ydF9yZWwoZGV2LCBSRUxfWSwgZXZlbnQtPm1vdGlvbi5yZWxfeSk7CisJCQlpZiAoZXZlbnQtPm1vdGlvbi5yZWxfeikKKwkJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1dIRUVMLAorCQkJCQkJIC1ldmVudC0+bW90aW9uLnJlbF96KTsKIAkJCWJyZWFrOwogCQljYXNlIFhFTktCRF9UWVBFX0tFWToKIAkJCWRldiA9IE5VTEw7CkBAIC04NCw2ICs4Nyw5IEBACiAJCWNhc2UgWEVOS0JEX1RZUEVfUE9TOgogCQkJaW5wdXRfcmVwb3J0X2FicyhkZXYsIEFCU19YLCBldmVudC0+cG9zLmFic194KTsKIAkJCWlucHV0X3JlcG9ydF9hYnMoZGV2LCBBQlNfWSwgZXZlbnQtPnBvcy5hYnNfeSk7CisJCQlpZiAoZXZlbnQtPnBvcy5yZWxfeikKKwkJCQlpbnB1dF9yZXBvcnRfcmVsKGRldiwgUkVMX1dIRUVMLAorCQkJCQkJIC1ldmVudC0+cG9zLnJlbF96KTsKIAkJCWJyZWFrOwogCQl9CiAJCWlmIChkZXYpCkBAIC0xNTIsNyArMTU4LDcgQEAKIAlwdHItPmV2Yml0WzBdID0gQklUKEVWX0tFWSkgfCBCSVQoRVZfUkVMKSB8IEJJVChFVl9BQlMpOwogCWZvciAoaSA9IEJUTl9MRUZUOyBpIDw9IEJUTl9UQVNLOyBpKyspCiAJCXNldF9iaXQoaSwgcHRyLT5rZXliaXQpOwotCXB0ci0+cmVsYml0WzBdID0gQklUKFJFTF9YKSB8IEJJVChSRUxfWSk7CisJcHRyLT5yZWxiaXRbMF0gPSBCSVQoUkVMX1gpIHwgQklUKFJFTF9ZKSB8IEJJVChSRUxfV0hFRUwpOwogCWlucHV0X3NldF9hYnNfcGFyYW1zKHB0ciwgQUJTX1gsIDAsIFhFTkZCX1dJRFRILCAwLCAwKTsKIAlpbnB1dF9zZXRfYWJzX3BhcmFtcyhwdHIsIEFCU19ZLCAwLCBYRU5GQl9IRUlHSFQsIDAsIDApOwogCkBAIC0yOTQsNiArMzAwLDE2IEBACiAJCSAqLwogCQlpZiAoZGV2LT5zdGF0ZSAhPSBYZW5idXNTdGF0ZUNvbm5lY3RlZCkKIAkJCWdvdG8gSW5pdFdhaXQ7IC8qIG5vIEluaXRXYWl0IHNlZW4geWV0LCBmdWRnZSBpdCAqLworCisJCS8qIFNldCBpbnB1dCBhYnMgcGFyYW1zIHRvIG1hdGNoIGJhY2tlbmQgc2NyZWVuIHJlcyAqLworCQlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGluZm8tPnhiZGV2LT5vdGhlcmVuZCwKKwkJCQkgIndpZHRoIiwgIiVkIiwgJnZhbCkgPiAwKQorCQkJaW5wdXRfc2V0X2Fic19wYXJhbXMoaW5mby0+cHRyLCBBQlNfWCwgMCwgdmFsLCAwLCAwKTsKKworCQlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGluZm8tPnhiZGV2LT5vdGhlcmVuZCwKKwkJCQkgImhlaWdodCIsICIlZCIsICZ2YWwpID4gMCkKKwkJCWlucHV0X3NldF9hYnNfcGFyYW1zKGluZm8tPnB0ciwgQUJTX1ksIDAsIHZhbCwgMCwgMCk7CisKIAkJYnJlYWs7CiAKIAljYXNlIFhlbmJ1c1N0YXRlQ2xvc2luZzoKQEAgLTMzNyw0ICszNTMsNiBAQAogbW9kdWxlX2luaXQoeGVua2JkX2luaXQpOwogbW9kdWxlX2V4aXQoeGVua2JkX2NsZWFudXApOwogCitNT0RVTEVfREVTQ1JJUFRJT04oIlhlbiB2aXJ0dWFsIGtleWJvYXJkL3BvaW50ZXIgZGV2aWNlIGZyb250ZW5kIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfQUxJQVMoInhlbjp2a2JkIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMgYi9kcml2ZXJzL2lzZG4vY2FwaS9jYXBpLmMKaW5kZXggNmNhMGJiOS4uMjA5NTE1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2NhcGkvY2FwaS5jCisrKyBiL2RyaXZlcnMvaXNkbi9jYXBpL2NhcGkuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgogI2lmZGVmIENPTkZJR19JU0ROX0NBUElfTUlERExFV0FSRQpAQCAtOTgzLDEzICs5ODQsMTcgQEAKIHN0YXRpYyBpbnQKIGNhcGlfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlpbnQgcmV0OworCQorCWxvY2tfa2VybmVsKCk7CiAJaWYgKGZpbGUtPnByaXZhdGVfZGF0YSkKLQkJcmV0dXJuIC1FRVhJU1Q7Ci0KLQlpZiAoKGZpbGUtPnByaXZhdGVfZGF0YSA9IGNhcGlkZXZfYWxsb2MoKSkgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CisJCXJldCA9IC1FRVhJU1Q7CisJZWxzZSBpZiAoKGZpbGUtPnByaXZhdGVfZGF0YSA9IGNhcGlkZXZfYWxsb2MoKSkgPT0gTlVMTCkKKwkJcmV0ID0gLUVOT01FTTsKKwllbHNlCisJCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbGUpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50CmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFtbnQuYwppbmRleCBjOTA5Mjg5Li4xZTg1Zjc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YW1udC5jCisrKyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhbW50LmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIAogI2luY2x1ZGUgInBsYXRmb3JtLmgiCkBAIC0xMjcsMTQgKzEyOCwxOSBAQAogCiBzdGF0aWMgaW50IG1haW50X29wZW4oc3RydWN0IGlub2RlICppbm8sIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKIAkvKiBvbmx5IG9uZSBvcGVuIGlzIGFsbG93ZWQsIHNvIHdlIHRlc3QKIAkgICBpdCBhdG9taWNhbGx5ICovCiAJaWYgKHRlc3RfYW5kX3NldF9iaXQoMCwgJm9wZW5lZCkpCi0JCXJldHVybiAoLUVCVVNZKTsKLQotCWZpbGVwLT5wcml2YXRlX2RhdGEgPSBOVUxMOwotCi0JcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vLCBmaWxlcCk7CisJCXJldCA9IC1FQlVTWTsKKwllbHNlIHsKKwkJZmlsZXAtPnByaXZhdGVfZGF0YSA9IE5VTEw7CisJCXJldCA9IG5vbnNlZWthYmxlX29wZW4oaW5vLCBmaWxlcCk7CisJfQorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IG1haW50X2Nsb3NlKHN0cnVjdCBpbm9kZSAqaW5vLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNpLmMKaW5kZXggNzhmMTQxZS4uZjQ5NjlmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzaS5jCisrKyBiL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc2kuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogCiAjaW5jbHVkZSAicGxhdGZvcm0uaCIKQEAgLTQwMCw2ICs0MDEsNyBAQAogCiBzdGF0aWMgaW50IHVtX2lkaV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuICgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jIGIvZHJpdmVycy9pc2RuL2hhcmR3YXJlL2VpY29uL2RpdmFzbWFpbi5jCmluZGV4IDE2YTg3NGIuLmZiYmNiMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9oYXJkd2FyZS9laWNvbi9kaXZhc21haW4uYworKysgYi9kcml2ZXJzL2lzZG4vaGFyZHdhcmUvZWljb24vZGl2YXNtYWluLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSAicGxhdGZvcm0uaCIKICN1bmRlZiBJRF9NQVNLCkBAIC01ODAsNiArNTgxLDcgQEAKICAqLwogc3RhdGljIGludCBkaXZhc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJcmV0dXJuICgwKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jIGIvZHJpdmVycy9pc2RuL2k0bC9pc2RuX2NvbW1vbi5jCmluZGV4IDBmM2M2NmQuLjcxODhjNTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaXNkbi9pNGwvaXNkbl9jb21tb24uYworKysgYi9kcml2ZXJzL2lzZG4vaTRsL2lzZG5fY29tbW9uLmMKQEAgLTE3MzIsNyArMTczMiw3IEBACiAJaW50IGNoaWR4OwogCWludCByZXR2YWwgPSAtRU5PREVWOwogCi0KKwlsb2NrX2tlcm5lbCgpOwogCWlmIChtaW5vciA9PSBJU0ROX01JTk9SX1NUQVRVUykgewogCQlpbmZvc3RydWN0ICpwOwogCkBAIC0xNzgzLDYgKzE3ODMsNyBAQAogI2VuZGlmCiAgb3V0OgogCW5vbnNlZWthYmxlX29wZW4oaW5vLCBmaWxlcCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKQEAgLTE5NzcsOCArMTk3OCwxMCBAQAogCWlmICghc2tiKQogCQlyZXR1cm4gLUVOT01FTTsKIAlza2JfcmVzZXJ2ZShza2IsIGhsKTsKLQlpZiAoY29weV9mcm9tX3VzZXIoc2tiX3B1dChza2IsIGxlbiksIGJ1ZiwgbGVuKSkKKwlpZiAoY29weV9mcm9tX3VzZXIoc2tiX3B1dChza2IsIGxlbiksIGJ1ZiwgbGVuKSkgeworCQlkZXZfa2ZyZWVfc2tiKHNrYik7CiAJCXJldHVybiAtRUZBVUxUOworCX0KIAlyZXQgPSBkZXYtPmRydltkcnZpZHhdLT5pbnRlcmZhY2UtPndyaXRlYnVmX3NrYihkcnZpZHgsIGNoYW4sIDEsIHNrYik7CiAJaWYgKHJldCA8PSAwKQogCQlkZXZfa2ZyZWVfc2tiKHNrYik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2xndWVzdC9LY29uZmlnIGIvZHJpdmVycy9sZ3Vlc3QvS2NvbmZpZwppbmRleCA2YjhkYmI5Li43NmYyYjM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2xndWVzdC9LY29uZmlnCisrKyBiL2RyaXZlcnMvbGd1ZXN0L0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgTEdVRVNUCiAJdHJpc3RhdGUgIkxpbnV4IGh5cGVydmlzb3IgZXhhbXBsZSBjb2RlIgotCWRlcGVuZHMgb24gWDg2XzMyICYmIEVYUEVSSU1FTlRBTCAmJiAhWDg2X1BBRSAmJiBGVVRFWCAmJiAhKFg4Nl9WSVNXUyB8fCBYODZfVk9ZQUdFUikKKwlkZXBlbmRzIG9uIFg4Nl8zMiAmJiBFWFBFUklNRU5UQUwgJiYgIVg4Nl9QQUUgJiYgRlVURVggJiYgIVg4Nl9WT1lBR0VSCiAJc2VsZWN0IEhWQ19EUklWRVIKIAktLS1oZWxwLS0tCiAJICBUaGlzIGlzIGEgdmVyeSBzaW1wbGUgbW9kdWxlIHdoaWNoIGFsbG93cyB5b3UgdG8gcnVuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2xndWVzdC9sZy5oIGIvZHJpdmVycy9sZ3Vlc3QvbGcuaAppbmRleCAwMDViZDA0Li41ZmFlZmVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2xndWVzdC9sZy5oCisrKyBiL2RyaXZlcnMvbGd1ZXN0L2xnLmgKQEAgLTEzNiw3ICsxMzYsNiBAQAogICogZmlyc3Qgc3RlcCBpbiB0aGUgbWlncmF0aW9uIHRvIHRoZSBrZXJuZWwgdHlwZXMuICBwdGVfcGZuIGlzIGFscmVhZHkgZGVmaW5lZAogICogaW4gdGhlIGtlcm5lbC4gKi8KICNkZWZpbmUgcGdkX2ZsYWdzKHgpCShwZ2RfdmFsKHgpICYgflBBR0VfTUFTSykKLSNkZWZpbmUgcHRlX2ZsYWdzKHgpCShwdGVfdmFsKHgpICYgflBBR0VfTUFTSykKICNkZWZpbmUgcGdkX3Bmbih4KQkocGdkX3ZhbCh4KSA+PiBQQUdFX1NISUZUKQogCiAvKiBpbnRlcnJ1cHRzX2FuZF90cmFwcy5jOiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9sZ3Vlc3QveDg2L2NvcmUuYyBiL2RyaXZlcnMvbGd1ZXN0L3g4Ni9jb3JlLmMKaW5kZXggMmU1NTRhNC4uOTVkZmRhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9sZ3Vlc3QveDg2L2NvcmUuYworKysgYi9kcml2ZXJzL2xndWVzdC94ODYvY29yZS5jCkBAIC00NzgsNyArNDc4LDcgQEAKIAkJY3B1X2hhZF9wZ2UgPSAxOwogCQkvKiBhZGp1c3RfcGdlIGlzIGEgaGVscGVyIGZ1bmN0aW9uIHdoaWNoIHNldHMgb3IgdW5zZXRzIHRoZSBQR0UKIAkJICogYml0IG9uIGl0cyBDUFUsIGRlcGVuZGluZyBvbiB0aGUgYXJndW1lbnQgKDAgPT0gdW5zZXQpLiAqLwotCQlvbl9lYWNoX2NwdShhZGp1c3RfcGdlLCAodm9pZCAqKTAsIDAsIDEpOworCQlvbl9lYWNoX2NwdShhZGp1c3RfcGdlLCAodm9pZCAqKTAsIDEpOwogCQkvKiBUdXJuIG9mZiB0aGUgZmVhdHVyZSBpbiB0aGUgZ2xvYmFsIGZlYXR1cmUgc2V0LiAqLwogCQljbGVhcl9iaXQoWDg2X0ZFQVRVUkVfUEdFLCBib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5KTsKIAl9CkBAIC00OTMsNyArNDkzLDcgQEAKIAlpZiAoY3B1X2hhZF9wZ2UpIHsKIAkJc2V0X2JpdChYODZfRkVBVFVSRV9QR0UsIGJvb3RfY3B1X2RhdGEueDg2X2NhcGFiaWxpdHkpOwogCQkvKiBhZGp1c3RfcGdlJ3MgYXJndW1lbnQgIjEiIG1lYW5zIHNldCBQR0UuICovCi0JCW9uX2VhY2hfY3B1KGFkanVzdF9wZ2UsICh2b2lkICopMSwgMCwgMSk7CisJCW9uX2VhY2hfY3B1KGFkanVzdF9wZ2UsICh2b2lkICopMSwgMSk7CiAJfQogCXB1dF9vbmxpbmVfY3B1cygpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMgYi9kcml2ZXJzL21hY2ludG9zaC9hZGIuYwppbmRleCBkYmFhZDM5Li40MGM3MGJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC9hZGIuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC9hZGIuYwpAQCAtNjQ0LDEyICs2NDQsMTggQEAKIHN0YXRpYyBpbnQgYWRiX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJc3RydWN0IGFkYmRldl9zdGF0ZSAqc3RhdGU7CisJaW50IHJldCA9IDA7CiAKLQlpZiAoaW1pbm9yKGlub2RlKSA+IDAgfHwgYWRiX2NvbnRyb2xsZXIgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTlhJTzsKKwlsb2NrX2tlcm5lbCgpOworCWlmIChpbWlub3IoaW5vZGUpID4gMCB8fCBhZGJfY29udHJvbGxlciA9PSBOVUxMKSB7CisJCXJldCA9IC1FTlhJTzsKKwkJZ290byBvdXQ7CisJfQogCXN0YXRlID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFkYmRldl9zdGF0ZSksIEdGUF9LRVJORUwpOwotCWlmIChzdGF0ZSA9PSAwKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoc3RhdGUgPT0gMCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gc3RhdGU7CiAJc3Bpbl9sb2NrX2luaXQoJnN0YXRlLT5sb2NrKTsKIAlhdG9taWNfc2V0KCZzdGF0ZS0+bl9wZW5kaW5nLCAwKTsKQEAgLTY1Nyw3ICs2NjMsOSBAQAogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnN0YXRlLT53YWl0X3F1ZXVlKTsKIAlzdGF0ZS0+aW51c2UgPSAxOwogCi0JcmV0dXJuIDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgYWRiX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMgYi9kcml2ZXJzL21hY2ludG9zaC9hbnMtbGNkLmMKaW5kZXggNzNjNTBiYy4uNmE4MjIxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tYWNpbnRvc2gvYW5zLWxjZC5jCisrKyBiL2RyaXZlcnMvbWFjaW50b3NoL2Fucy1sY2QuYwpAQCAtMyw2ICszLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMTE5LDYgKzEyMCw3IEBACiBzdGF0aWMgaW50CiBhbnNsY2Rfb3Blbiggc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tYWNpbnRvc2gvc211LmMgYi9kcml2ZXJzL21hY2ludG9zaC9zbXUuYwppbmRleCBkODZkNTdhLi4zMmNiMDI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC9zbXUuYworKysgYi9kcml2ZXJzL21hY2ludG9zaC9zbXUuYwpAQCAtMTksNiArMTksNyBAQAogICogICAgdGhlIHVzZXJsYW5kIGludGVyZmFjZQogICovCiAKKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CkBAIC0xMDg2LDEwICsxMDg3LDEyIEBACiAJcHAtPm1vZGUgPSBzbXVfZmlsZV9jb21tYW5kczsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcC0+d2FpdCk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZzbXVfY2xpc3RfbG9jaywgZmxhZ3MpOwogCWxpc3RfYWRkKCZwcC0+bGlzdCwgJnNtdV9jbGlzdCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc211X2NsaXN0X2xvY2ssIGZsYWdzKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwcDsKKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYyBiL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUuYwppbmRleCBkNjM2NWE5Li5kNTI0ZGMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21hY2ludG9zaC92aWEtcG11LmMKKysrIGIvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS5jCkBAIC0xOCw2ICsxOCw3IEBACiAgKgogICovCiAjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CkBAIC0yMDQ3LDYgKzIwNDgsNyBAQAogCXBwLT5yYl9nZXQgPSBwcC0+cmJfcHV0ID0gMDsKIAlzcGluX2xvY2tfaW5pdCgmcHAtPmxvY2spOwogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnBwLT53YWl0KTsKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZhbGxfcHZ0X2xvY2ssIGZsYWdzKTsKICNpZiBkZWZpbmVkKENPTkZJR19JTlBVVF9BREJISUQpICYmIGRlZmluZWQoQ09ORklHX1BNQUNfQkFDS0xJR0hUKQogCXBwLT5iYWNrbGlnaHRfbG9ja2VyID0gMDsKQEAgLTIwNTQsNiArMjA1Niw3IEBACiAJbGlzdF9hZGQoJnBwLT5saXN0LCAmYWxsX3BtdV9wdnQpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFsbF9wdnRfbG9jaywgZmxhZ3MpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IHBwOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9saW5lYXIuYyBiL2RyaXZlcnMvbWQvbGluZWFyLmMKaW5kZXggMTA3NDgyNC4uNmE4NjZkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9saW5lYXIuYworKysgYi9kcml2ZXJzL21kL2xpbmVhci5jCkBAIC01MCwxNyArNTAsMTkgQEAKIC8qKgogICoJbGluZWFyX21lcmdlYWJsZV9idmVjIC0tIHRlbGwgYmlvIGxheWVyIGlmIHR3byByZXF1ZXN0cyBjYW4gYmUgbWVyZ2VkCiAgKglAcTogcmVxdWVzdCBxdWV1ZQotICoJQGJpbzogdGhlIGJ1ZmZlciBoZWFkIHRoYXQncyBiZWVuIGJ1aWx0IHVwIHNvIGZhcgorICoJQGJ2bTogcHJvcGVydGllcyBvZiBuZXcgYmlvCiAgKglAYmlvdmVjOiB0aGUgcmVxdWVzdCB0aGF0IGNvdWxkIGJlIG1lcmdlZCB0byBpdC4KICAqCiAgKglSZXR1cm4gYW1vdW50IG9mIGJ5dGVzIHdlIGNhbiB0YWtlIGF0IHRoaXMgb2Zmc2V0CiAgKi8KLXN0YXRpYyBpbnQgbGluZWFyX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IGxpbmVhcl9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwKKwkJCQkgc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqYnZtLAorCQkJCSBzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwogCWRldl9pbmZvX3QgKmRldjA7Ci0JdW5zaWduZWQgbG9uZyBtYXhzZWN0b3JzLCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwl1bnNpZ25lZCBsb25nIG1heHNlY3RvcnMsIGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCiAJZGV2MCA9IHdoaWNoX2RldihtZGRldiwgc2VjdG9yKTsKIAltYXhzZWN0b3JzID0gKGRldjAtPnNpemUgPDwgMSkgLSAoc2VjdG9yIC0gKGRldjAtPm9mZnNldDw8MSkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZC9yYWlkMC5jIGIvZHJpdmVycy9tZC9yYWlkMC5jCmluZGV4IDkxNGMwNGQuLmJjYmI4MjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDAuYworKysgYi9kcml2ZXJzL21kL3JhaWQwLmMKQEAgLTI0MSwxOCArMjQxLDIwIEBACiAvKioKICAqCXJhaWQwX21lcmdlYWJsZV9idmVjIC0tIHRlbGwgYmlvIGxheWVyIGlmIGEgdHdvIHJlcXVlc3RzIGNhbiBiZSBtZXJnZWQKICAqCUBxOiByZXF1ZXN0IHF1ZXVlCi0gKglAYmlvOiB0aGUgYnVmZmVyIGhlYWQgdGhhdCdzIGJlZW4gYnVpbHQgdXAgc28gZmFyCisgKglAYnZtOiBwcm9wZXJ0aWVzIG9mIG5ldyBiaW8KICAqCUBiaW92ZWM6IHRoZSByZXF1ZXN0IHRoYXQgY291bGQgYmUgbWVyZ2VkIHRvIGl0LgogICoKICAqCVJldHVybiBhbW91bnQgb2YgYnl0ZXMgd2UgY2FuIGFjY2VwdCBhdCB0aGlzIG9mZnNldAogICovCi1zdGF0aWMgaW50IHJhaWQwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IHJhaWQwX21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAJaW50IG1heDsKIAl1bnNpZ25lZCBpbnQgY2h1bmtfc2VjdG9ycyA9IG1kZGV2LT5jaHVua19zaXplID4+IDk7Ci0JdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7CisJdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CiAKIAltYXggPSAgKGNodW5rX3NlY3RvcnMgLSAoKHNlY3RvciAmIChjaHVua19zZWN0b3JzIC0gMSkpICsgYmlvX3NlY3RvcnMpKSA8PCA5OwogCWlmIChtYXggPCAwKSBtYXggPSAwOyAvKiBiaW9fYWRkIGNhbm5vdCBoYW5kbGUgYSBuZWdhdGl2ZSByZXR1cm4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFpZDEwLmMgYi9kcml2ZXJzL21kL3JhaWQxMC5jCmluZGV4IGE3MTI3N2IuLjIyYmIyYjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDEwLmMKKysrIGIvZHJpdmVycy9tZC9yYWlkMTAuYwpAQCAtNDM5LDI2ICs0MzksMjcgQEAKIC8qKgogICoJcmFpZDEwX21lcmdlYWJsZV9idmVjIC0tIHRlbGwgYmlvIGxheWVyIGlmIGEgdHdvIHJlcXVlc3RzIGNhbiBiZSBtZXJnZWQKICAqCUBxOiByZXF1ZXN0IHF1ZXVlCi0gKglAYmlvOiB0aGUgYnVmZmVyIGhlYWQgdGhhdCdzIGJlZW4gYnVpbHQgdXAgc28gZmFyCisgKglAYnZtOiBwcm9wZXJ0aWVzIG9mIG5ldyBiaW8KICAqCUBiaW92ZWM6IHRoZSByZXF1ZXN0IHRoYXQgY291bGQgYmUgbWVyZ2VkIHRvIGl0LgogICoKICAqCVJldHVybiBhbW91bnQgb2YgYnl0ZXMgd2UgY2FuIGFjY2VwdCBhdCB0aGlzIG9mZnNldAogICogICAgICBJZiBuZWFyX2NvcGllcyA9PSByYWlkX2Rpc2ssIHRoZXJlIGFyZSBubyBzdHJpcGluZyBpc3N1ZXMsCiAgKiAgICAgIGJ1dCBpbiB0aGF0IGNhc2UsIHRoZSBmdW5jdGlvbiBpc24ndCBjYWxsZWQgYXQgYWxsLgogICovCi1zdGF0aWMgaW50IHJhaWQxMF9tZXJnZWFibGVfYnZlYyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IGJpbyAqYmlvLAotCQkJCXN0cnVjdCBiaW9fdmVjICpiaW9fdmVjKQorc3RhdGljIGludCByYWlkMTBfbWVyZ2VhYmxlX2J2ZWMoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsCisJCQkJIHN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQkgc3RydWN0IGJpb192ZWMgKmJpb3ZlYykKIHsKIAltZGRldl90ICptZGRldiA9IHEtPnF1ZXVlZGF0YTsKLQlzZWN0b3JfdCBzZWN0b3IgPSBiaW8tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJpby0+YmlfYmRldik7CisJc2VjdG9yX3Qgc2VjdG9yID0gYnZtLT5iaV9zZWN0b3IgKyBnZXRfc3RhcnRfc2VjdChidm0tPmJpX2JkZXYpOwogCWludCBtYXg7CiAJdW5zaWduZWQgaW50IGNodW5rX3NlY3RvcnMgPSBtZGRldi0+Y2h1bmtfc2l6ZSA+PiA5OwotCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJpby0+Ymlfc2l6ZSA+PiA5OworCXVuc2lnbmVkIGludCBiaW9fc2VjdG9ycyA9IGJ2bS0+Ymlfc2l6ZSA+PiA5OwogCiAJbWF4ID0gIChjaHVua19zZWN0b3JzIC0gKChzZWN0b3IgJiAoY2h1bmtfc2VjdG9ycyAtIDEpKSArIGJpb19zZWN0b3JzKSkgPDwgOTsKIAlpZiAobWF4IDwgMCkgbWF4ID0gMDsgLyogYmlvX2FkZCBjYW5ub3QgaGFuZGxlIGEgbmVnYXRpdmUgcmV0dXJuICovCi0JaWYgKG1heCA8PSBiaW9fdmVjLT5idl9sZW4gJiYgYmlvX3NlY3RvcnMgPT0gMCkKLQkJcmV0dXJuIGJpb192ZWMtPmJ2X2xlbjsKKwlpZiAobWF4IDw9IGJpb3ZlYy0+YnZfbGVuICYmIGJpb19zZWN0b3JzID09IDApCisJCXJldHVybiBiaW92ZWMtPmJ2X2xlbjsKIAllbHNlCiAJCXJldHVybiBtYXg7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQ1LmMgYi9kcml2ZXJzL21kL3JhaWQ1LmMKaW5kZXggNTRjOGVlMi4uOWNlNzE1NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZC9yYWlkNS5jCisrKyBiL2RyaXZlcnMvbWQvcmFpZDUuYwpAQCAtMjAxNywxMiArMjAxNyw3IEBACiAJCQkgKi8KIAkJCXMtPnVwdG9kYXRlKys7CiAJCQlyZXR1cm4gMDsgLyogdXB0b2RhdGUgKyBjb21wdXRlID09IGRpc2tzICovCi0JCX0gZWxzZSBpZiAoKHMtPnVwdG9kYXRlIDwgZGlza3MgLSAxKSAmJgotCQkJdGVzdF9iaXQoUjVfSW5zeW5jLCAmZGV2LT5mbGFncykpIHsKLQkJCS8qIE5vdGU6IHdlIGhvbGQgb2ZmIGNvbXB1dGUgb3BlcmF0aW9ucyB3aGlsZSBjaGVja3MgYXJlCi0JCQkgKiBpbiBmbGlnaHQsIGJ1dCB3ZSBzdGlsbCBwcmVmZXIgJ2NvbXB1dGUnIG92ZXIgJ3JlYWQnCi0JCQkgKiBoZW5jZSB3ZSBvbmx5IHJlYWQgaWYgKHVwdG9kYXRlIDwgKiBkaXNrcy0xKQotCQkJICovCisJCX0gZWxzZSBpZiAodGVzdF9iaXQoUjVfSW5zeW5jLCAmZGV2LT5mbGFncykpIHsKIAkJCXNldF9iaXQoUjVfTE9DS0VELCAmZGV2LT5mbGFncyk7CiAJCQlzZXRfYml0KFI1X1dhbnRyZWFkLCAmZGV2LT5mbGFncyk7CiAJCQlpZiAoIXRlc3RfYW5kX3NldF9iaXQoU1RSSVBFX09QX0lPLCAmc2gtPm9wcy5wZW5kaW5nKSkKQEAgLTMzMTksMTUgKzMzMTQsMTcgQEAKIC8qIFdlIHdhbnQgcmVhZCByZXF1ZXN0cyB0byBhbGlnbiB3aXRoIGNodW5rcyB3aGVyZSBwb3NzaWJsZSwKICAqIGJ1dCB3cml0ZSByZXF1ZXN0cyBkb24ndCBuZWVkIHRvLgogICovCi1zdGF0aWMgaW50IHJhaWQ1X21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fdmVjICpiaW92ZWMpCitzdGF0aWMgaW50IHJhaWQ1X21lcmdlYWJsZV9idmVjKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAorCQkJCXN0cnVjdCBidmVjX21lcmdlX2RhdGEgKmJ2bSwKKwkJCQlzdHJ1Y3QgYmlvX3ZlYyAqYmlvdmVjKQogewogCW1kZGV2X3QgKm1kZGV2ID0gcS0+cXVldWVkYXRhOwotCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yICsgZ2V0X3N0YXJ0X3NlY3QoYmlvLT5iaV9iZGV2KTsKKwlzZWN0b3JfdCBzZWN0b3IgPSBidm0tPmJpX3NlY3RvciArIGdldF9zdGFydF9zZWN0KGJ2bS0+YmlfYmRldik7CiAJaW50IG1heDsKIAl1bnNpZ25lZCBpbnQgY2h1bmtfc2VjdG9ycyA9IG1kZGV2LT5jaHVua19zaXplID4+IDk7Ci0JdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYmlvLT5iaV9zaXplID4+IDk7CisJdW5zaWduZWQgaW50IGJpb19zZWN0b3JzID0gYnZtLT5iaV9zaXplID4+IDk7CiAKLQlpZiAoYmlvX2RhdGFfZGlyKGJpbykgPT0gV1JJVEUpCisJaWYgKChidm0tPmJpX3J3ICYgMSkgPT0gV1JJVEUpCiAJCXJldHVybiBiaW92ZWMtPmJ2X2xlbjsgLyogYWx3YXlzIGFsbG93IHdyaXRlcyB0byBiZSBtZXJnZWFibGUgKi8KIAogCW1heCA9ICAoY2h1bmtfc2VjdG9ycyAtICgoc2VjdG9yICYgKGNodW5rX3NlY3RvcnMgLSAxKSkgKyBiaW9fc2VjdG9ycykpIDw8IDk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMvdHVuZXIteGMyMDI4LmMKaW5kZXggMGNiZGUxNy4uMzBlYjA3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3R1bmVyLXhjMjAyOC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy90dW5lci14YzIwMjguYwpAQCAtMjU0LDcgKzI1NCw3IEBACiB7CiAJc3RydWN0IHhjMjAyOF9kYXRhICAgICpwcml2ID0gZmUtPnR1bmVyX3ByaXY7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyAgID0gTlVMTDsKLQl1bnNpZ25lZCBjaGFyICAgICAgICAgKnAsICplbmRwOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgICAqcCwgKmVuZHA7CiAJaW50ICAgICAgICAgICAgICAgICAgIHJjID0gMDsKIAlpbnQJCSAgICAgIG4sIG5fYXJyYXk7CiAJY2hhcgkJICAgICAgbmFtZVszM107CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi90dW5lcnMveGM1MDAwLmMKaW5kZXggN2NmNGY1Yi4uNDg3OGQ2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9jb21tb24vdHVuZXJzL3hjNTAwMC5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9uL3R1bmVycy94YzUwMDAuYwpAQCAtMjc4LDcgKzI3OCw3IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGludCB4Y19sb2FkX2kyY19zZXF1ZW5jZShzdHJ1Y3QgZHZiX2Zyb250ZW5kICpmZSwgdTggaTJjX3NlcXVlbmNlW10pCitzdGF0aWMgaW50IHhjX2xvYWRfaTJjX3NlcXVlbmNlKHN0cnVjdCBkdmJfZnJvbnRlbmQgKmZlLCBjb25zdCB1OCAqaTJjX3NlcXVlbmNlKQogewogCXN0cnVjdCB4YzUwMDBfcHJpdiAqcHJpdiA9IGZlLT50dW5lcl9wcml2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItY29yZS9kdmJkZXYuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCmluZGV4IDhiNTZkOTIuLmUyMDhhNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi1jb3JlL2R2YmRldi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgImR2YmRldi5oIgogCiBzdGF0aWMgaW50IGR2YmRldl9kZWJ1ZzsKQEAgLTc0LDYgKzc1LDcgQEAKIHsKIAlzdHJ1Y3QgZHZiX2RldmljZSAqZHZiZGV2OwogCisJbG9ja19rZXJuZWwoKTsKIAlkdmJkZXYgPSBkdmJkZXZfZmluZF9kZXZpY2UgKGltaW5vcihpbm9kZSkpOwogCiAJaWYgKGR2YmRldiAmJiBkdmJkZXYtPmZvcHMpIHsKQEAgLTkwLDggKzkyLDEwIEBACiAJCQlmaWxlLT5mX29wID0gZm9wc19nZXQob2xkX2ZvcHMpOwogCQl9CiAJCWZvcHNfcHV0KG9sZF9mb3BzKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gZXJyOwogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvY3h1c2IuYwppbmRleCA3MjBmY2QxLi4wMjg2MTU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2N4dXNiLmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9jeHVzYi5jCkBAIC0yNCw2ICsyNCw3IEBACiAgKiBzZWUgRG9jdW1lbnRhdGlvbi9kdmIvUkVBRE1FLmR2Yi11c2IgZm9yIG1vcmUgaW5mb3JtYXRpb24KICAqLwogI2luY2x1ZGUgPG1lZGlhL3R1bmVyLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgogCiAjaW5jbHVkZSAiY3h1c2IuaCIKIApAQCAtNzAwLDEyICs3MDEsMjYgQEAKIAogCQlpZiAoZnctPmRhdGFbaWRvZmZdID09IChVU0JfVklEX0RWSUNPICYgMHhmZikgJiYKIAkJICAgIGZ3LT5kYXRhW2lkb2ZmICsgMV0gPT0gVVNCX1ZJRF9EVklDTyA+PiA4KSB7Ci0JCQlmdy0+ZGF0YVtpZG9mZiArIDJdID0KKwkJCXN0cnVjdCBmaXJtd2FyZSBuZXdfZnc7CisJCQl1OCAqbmV3X2Z3X2RhdGEgPSB2bWFsbG9jKGZ3LT5zaXplKTsKKwkJCWludCByZXQ7CisKKwkJCWlmICghbmV3X2Z3X2RhdGEpCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCW1lbWNweShuZXdfZndfZGF0YSwgZnctPmRhdGEsIGZ3LT5zaXplKTsKKwkJCW5ld19mdy5zaXplID0gZnctPnNpemU7CisJCQluZXdfZncuZGF0YSA9IG5ld19md19kYXRhOworCisJCQluZXdfZndfZGF0YVtpZG9mZiArIDJdID0KIAkJCQlsZTE2X3RvX2NwdSh1ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkgKyAxOwotCQkJZnctPmRhdGFbaWRvZmYgKyAzXSA9CisJCQluZXdfZndfZGF0YVtpZG9mZiArIDNdID0KIAkJCQlsZTE2X3RvX2NwdSh1ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkgPj4gODsKIAotCQkJcmV0dXJuIHVzYl9jeXByZXNzX2xvYWRfZmlybXdhcmUodWRldiwgZncsIENZUFJFU1NfRlgyKTsKKwkJCXJldCA9IHVzYl9jeXByZXNzX2xvYWRfZmlybXdhcmUodWRldiwgJm5ld19mdywKKwkJCQkJCQlDWVBSRVNTX0ZYMik7CisJCQl2ZnJlZShuZXdfZndfZGF0YSk7CisJCQlyZXR1cm4gcmV0OwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZHZiLXVzYi9ncDhwc2suYwppbmRleCAyNjUzMTIwLi5kOTY1YTkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9kdmItdXNiL2dwOHBzay5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2R2Yi11c2IvZ3A4cHNrLmMKQEAgLTg2LDcgKzg2LDggQEAKIHsKIAlpbnQgcmV0OwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwotCXU4ICpwdHIsICpidWY7CisJY29uc3QgdTggKnB0cjsKKwl1OCAqYnVmOwogCWlmICgocmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGJjbTQ1MDBfZmlybXdhcmUsCiAJCQkJCSZkLT51ZGV2LT5kZXYpKSAhPSAwKSB7CiAJCWVycigiZGlkIG5vdCBmaW5kIHRoZSBiY200NTAwIGZpcm13YXJlIGZpbGUuICglcykgIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9iY20zNTEwLmMKaW5kZXggZDI2OGU2NS4uY2Y1ZTU3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL2JjbTM1MTAuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvYmNtMzUxMC5jCkBAIC01OTAsNyArNTkwLDggQEAKICAqLwogI2RlZmluZSBCQ00zNTEwX0RFRkFVTFRfRklSTVdBUkUgImR2Yi1mZS1iY20zNTEwLTAxLmZ3IgogCi1zdGF0aWMgaW50IGJjbTM1MTBfd3JpdGVfcmFtKHN0cnVjdCBiY20zNTEwX3N0YXRlICpzdCwgdTE2IGFkZHIsIHU4ICpiLCB1MTYgbGVuKQorc3RhdGljIGludCBiY20zNTEwX3dyaXRlX3JhbShzdHJ1Y3QgYmNtMzUxMF9zdGF0ZSAqc3QsIHUxNiBhZGRyLCBjb25zdCB1OCAqYiwKKwkJCSAgICAgdTE2IGxlbikKIHsKIAlpbnQgcmV0ID0gMCxpOwogCWJjbTM1MTBfcmVnaXN0ZXJfdmFsdWUgdkgsIHZMLHZEOwpAQCAtNjE0LDcgKzYxNSw3IEBACiAJc3RydWN0IGJjbTM1MTBfc3RhdGUqIHN0ID0gZmUtPmRlbW9kdWxhdG9yX3ByaXY7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAl1MTYgYWRkcixsZW47Ci0JdTggICpiOworCWNvbnN0IHU4ICpiOwogCWludCByZXQsaTsKIAogCWRlYl9pbmZvKCJyZXF1ZXN0aW5nIGZpcm13YXJlXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvbnh0MjAweC5jCmluZGV4IDIzZDAyMjguLmFmMjk4MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9ueHQyMDB4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL254dDIwMHguYwpAQCAtOTMsNyArOTMsOCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG54dDIwMHhfd3JpdGVieXRlcyAoc3RydWN0IG54dDIwMHhfc3RhdGUqIHN0YXRlLCB1OCByZWcsIHU4ICpidWYsIHU4IGxlbikKK3N0YXRpYyBpbnQgbnh0MjAweF93cml0ZWJ5dGVzIChzdHJ1Y3Qgbnh0MjAweF9zdGF0ZSogc3RhdGUsIHU4IHJlZywKKwkJCSAgICAgICBjb25zdCB1OCAqYnVmLCB1OCBsZW4pCiB7CiAJdTggYnVmMiBbbGVuKzFdOwogCWludCBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL29yNTEyMTEuYwppbmRleCA3ZWFhNDc2Li42YWZlMTJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvb3I1MTIxMS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9vcjUxMjExLmMKQEAgLTY5LDcgKzY5LDcgQEAKIAl1MzIgY3VycmVudF9mcmVxdWVuY3k7CiB9OwogCi1zdGF0aWMgaW50IGkyY193cml0ZWJ5dGVzIChzdHJ1Y3Qgb3I1MTIxMV9zdGF0ZSogc3RhdGUsIHU4IHJlZywgdTggKmJ1ZiwKK3N0YXRpYyBpbnQgaTJjX3dyaXRlYnl0ZXMgKHN0cnVjdCBvcjUxMjExX3N0YXRlKiBzdGF0ZSwgdTggcmVnLCBjb25zdCB1OCAqYnVmLAogCQkJICAgaW50IGxlbikKIHsKIAlpbnQgZXJyOwpAQCAtNzcsNyArNzcsNyBAQAogCW1zZy5hZGRyCT0gcmVnOwogCW1zZy5mbGFncwk9IDA7CiAJbXNnLmxlbgkJPSBsZW47Ci0JbXNnLmJ1ZgkJPSBidWY7CisJbXNnLmJ1ZgkJPSAodTggKilidWY7CiAKIAlpZiAoKGVyciA9IGkyY190cmFuc2ZlciAoc3RhdGUtPmkyYywgJm1zZywgMSkpICE9IDEpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAib3I1MTIxMTogaTJjX3dyaXRlYnl0ZXMgZXJyb3IgIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3MC5jCmluZGV4IGFhNzhhYTEuLjFjOWE5YjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4NzAuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODcwLmMKQEAgLTk4LDcgKzk4LDcgQEAKIHN0YXRpYyBpbnQgc3A4ODcwX2Zpcm13YXJlX3VwbG9hZCAoc3RydWN0IHNwODg3MF9zdGF0ZSogc3RhdGUsIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCiB7CiAJc3RydWN0IGkyY19tc2cgbXNnOwotCWNoYXIgKmZ3X2J1ZiA9IGZ3LT5kYXRhOworCWNvbnN0IGNoYXIgKmZ3X2J1ZiA9IGZ3LT5kYXRhOwogCWludCBmd19wb3M7CiAJdTggdHhfYnVmWzI1NV07CiAJaW50IHR4X2xlbjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYyBiL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy9zcDg4N3guYwppbmRleCA0OWY1NTg3Li40NTQzNjA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvc3A4ODd4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3NwODg3eC5jCkBAIC0xNDAsNyArMTQwLDcgQEAKIAl1OCBidWYgW0JMT0NLU0laRSsyXTsKIAlpbnQgaTsKIAlpbnQgZndfc2l6ZSA9IGZ3LT5zaXplOwotCXVuc2lnbmVkIGNoYXIgKm1lbSA9IGZ3LT5kYXRhOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm1lbSA9IGZ3LT5kYXRhOwogCiAJZHByaW50aygiJXNcbiIsIF9fZnVuY19fKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMgYi9kcml2ZXJzL21lZGlhL2R2Yi9mcm9udGVuZHMvdGRhMTAwNDguYwppbmRleCAwOTBmYjdkLi4wYWI4ZDg2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDQ4LmMKQEAgLTIzMyw3ICsyMzMsNyBAQAogfQogCiBzdGF0aWMgaW50IHRkYTEwMDQ4X3dyaXRlcmVnYnVsayhzdHJ1Y3QgdGRhMTAwNDhfc3RhdGUgKnN0YXRlLCB1OCByZWcsCi0JdTggKmRhdGEsIHUxNiBsZW4pCisJCQkJIGNvbnN0IHU4ICpkYXRhLCB1MTYgbGVuKQogewogCWludCByZXQgPSAtRVJFTU9URUlPOwogCXN0cnVjdCBpMmNfbXNnIG1zZzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL2Zyb250ZW5kcy90ZGExMDA0eC5jIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMKaW5kZXggYTBkNjM4Ni4uMTQ2NWZmNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMKKysrIGIvZHJpdmVycy9tZWRpYS9kdmIvZnJvbnRlbmRzL3RkYTEwMDR4LmMKQEAgLTMxNyw3ICszMTcsNyBAQAogfQogCiBzdGF0aWMgaW50IHRkYTEwMDR4X2RvX3VwbG9hZChzdHJ1Y3QgdGRhMTAwNHhfc3RhdGUgKnN0YXRlLAotCQkJICAgICAgdW5zaWduZWQgY2hhciAqbWVtLCB1bnNpZ25lZCBpbnQgbGVuLAorCQkJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbWVtLCB1bnNpZ25lZCBpbnQgbGVuLAogCQkJICAgICAgdTggZHNwQ29kZUNvdW50ZXJSZWcsIHU4IGRzcENvZGVJblJlZykKIHsKIAl1OCBidWZbNjVdOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYyBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItYnVkZ2V0LmMKaW5kZXggNWQyZDgxYS4uYmMyMDQzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItYnVkZ2V0L2R2Yi10dHVzYi1idWRnZXQuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWJ1ZGdldC5jCkBAIC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAjaW5jbHVkZSAiZHZiX2Zyb250ZW5kLmgiCiAjaW5jbHVkZSAiZG14ZGV2LmgiCkBAIC0yODUsMTMgKzI4NiwxOSBAQAogCXJldHVybiBpOwogfQogCi0jaW5jbHVkZSAiZHZiLXR0dXNiLWRzcGJvb3Rjb2RlLmgiCi0KIHN0YXRpYyBpbnQgdHR1c2JfYm9vdF9kc3Aoc3RydWN0IHR0dXNiICp0dHVzYikKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCWludCBpLCBlcnI7CiAJdTggYls0MF07CiAKKwllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgInR0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4iLAorCQkJICAgICAgICZ0dHVzYi0+ZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ0dHVzYi1idWRnZXQ6IGZhaWxlZCB0byByZXF1ZXN0IGZpcm13YXJlXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKIAkvKiBCb290QmxvY2sgKi8KIAliWzBdID0gMHhhYTsKIAliWzJdID0gMHgxMzsKQEAgLTI5OSw4ICszMDYsOCBAQAogCiAJLyogdXBsb2FkIGRzcCBjb2RlIGluIDMyIGJ5dGUgc3RlcHMgKDM2IGRpZG4ndCB3b3JrIGZvciBtZSAuLi4pICovCiAJLyogMzIgaXMgbWF4IHBhY2tldCBzaXplLCBubyBtZXNzYWdlcyBzaG91bGQgYmUgc3BsaXR0ZWQuICovCi0JZm9yIChpID0gMDsgaSA8IHNpemVvZihkc3BfYm9vdGNvZGUpOyBpICs9IDI4KSB7Ci0JCW1lbWNweSgmYls0XSwgJmRzcF9ib290Y29kZVtpXSwgMjgpOworCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZTsgaSArPSAyOCkgeworCQltZW1jcHkoJmJbNF0sICZmdy0+ZGF0YVtpXSwgMjgpOwogCiAJCWJbMV0gPSArK3R0dXNiLT5jOwogCkBAIC0xODIwLDMgKzE4MjcsNCBAQAogTU9EVUxFX0FVVEhPUigiSG9sZ2VyIFdhZWNodGxlciA8aG9sZ2VyQGNvbnZlcmdlbmNlLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJUVFVTQiBEVkIgRHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoInR0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItZHNwYm9vdGNvZGUuaCBiL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWJ1ZGdldC9kdmItdHR1c2ItZHNwYm9vdGNvZGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMzY2Q1NC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1idWRnZXQvZHZiLXR0dXNiLWRzcGJvb3Rjb2RlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNjQ0ICswLDAgQEAKLQotI2luY2x1ZGUgPGFzbS90eXBlcy5oPgotCi1zdGF0aWMgdTggZHNwX2Jvb3Rjb2RlIFtdID0gewotCTB4MDgsIDB4YWEsIDB4MDAsIDB4MTgsIDB4MDAsIDB4MDMsIDB4MDgsIDB4MDAsCi0JMHgwMCwgMHgxMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MCwgMHgxOCwgMHg1ZiwKLQkweDAwLCAweDAwLCAweDAxLCAweDgwLCAweDc3LCAweDE4LCAweDJhLCAweGViLAotCTB4NmIsIDB4ZjgsIDB4MDAsIDB4MTgsIDB4MDMsIDB4ZmYsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgxOCwgMHhmZiwgMHhmZSwgMHhmNywgMHhiOCwgMHhmNywgMHhiZSwKLQkweGY2LCAweGI5LCAweGY0LCAweGEwLCAweGY2LCAweGI3LCAweGY2LCAweGI1LAotCTB4ZjYsIDB4YjYsIDB4ZjAsIDB4MjAsIDB4MTksIDB4ZGYsIDB4ZjEsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHhmOCwgMHg0ZCwgMHgwMSwgMHhhYiwgMHhmNiwgMHhiOCwKLQkweGYwLCAweDIwLCAweDE5LCAweGRmLCAweGYwLCAweDczLCAweDAxLCAweGE1LAotCTB4N2UsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0NywgMHhmOCwgMHgwMCwgMHgxMSwgMHg3ZSwgMHg5MiwgMHgwMCwgMHhmOCwKLQkweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDdlLCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NmMsIDB4ODksCi0JMHgwMSwgMHg5YSwgMHhmNywgMHhiOCwgMHhlZSwgMHhmYywgMHhmMCwgMHgyMCwKLQkweGZmLCAweGZmLCAweGYxLCAweDAwLCAweDAwLCAweDAxLCAweGY4LCAweDRkLAotCTB4MDEsIDB4YmYsIDB4ZjIsIDB4NzMsIDB4MDEsIDB4YjksIDB4NGUsIDB4MDIsCi0JMHhmNCwgMHg5NSwgMHhmNSwgMHhlMywgMHg1NiwgMHgwMiwgMHg3ZSwgMHgwMCwKLQkweDExLCAweDAwLCAweGZhLCAweDRjLCAweDAxLCAweGI3LCAweDZiLCAweDAzLAotCTB4MDAsIDB4MDEsIDB4ZjYsIDB4YjgsIDB4ZWUsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwZCwgMHhhNywgMHhmMCwgMHg3NCwgMHgwMSwgMHhjNSwgMHg0YSwgMHgxMSwKLQkweDRhLCAweDE2LCAweDcyLCAweDExLCAweDJhLCAweGU2LCAweDEwLCAweGY4LAotCTB4MDAsIDB4MTEsIDB4ZmEsIDB4NDUsIDB4MDEsIDB4ZGIsIDB4ZjQsIDB4OTUsCi0JMHhlZSwgMHhmZiwgMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgyYSwgMHhjNiwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweGVlLAotCTB4ZmYsIDB4ZmYsIDB4ZjQsIDB4ZTMsIDB4NmMsIDB4ZTksIDB4ZmYsIDB4ZmYsCi0JMHgwMSwgMHhkNSwgMHgxMCwgMHhmOCwgMHgyYSwgMHhlNywgMHhmOCwgMHg0NSwKLQkweDAxLCAweGUyLCAweDEwLCAweGY4LCAweDJhLCAweGU3LCAweGY0LCAweGUzLAotCTB4ZjAsIDB4NzQsIDB4MDEsIDB4ZmYsIDB4ZWUsIDB4MDEsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHhmNywgMHhiOCwgMHhlOSwgMHgyMCwKLQkweDRhLCAweDExLCAweDA5LCAweGY4LCAweDJhLCAweGU2LCAweGY4LCAweDRlLAotCTB4MDEsIDB4ZjMsIDB4ZjIsIDB4NzMsIDB4MDEsIDB4ZmQsIDB4ZjQsIDB4OTUsCi0JMHhlOCwgMHgwMSwgMHg3MiwgMHgxMSwgMHgyYSwgMHhlNiwgMHg0OSwgMHgxMSwKLQkweDgwLCAweGUxLCAweDJhLCAweGM2LCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZTgsIDB4MDAsIDB4ODEsIDB4ZjgsIDB4MmEsIDB4ZTYsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwgMHhmMCwgMHg3MywgMHgwMiwgMHgwMCwKLQkweDEwLCAweGY4LCAweDJhLCAweDBmLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4MDIsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4MTAsCi0JMHg3MywgMHgwOCwgMHgwMCwgMHgwOSwgMHg0MCwgMHhmOCwgMHgyYSwgMHgxNSwKLQkweDgyLCAweGY4LCAweDAwLCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4MDMsIDB4ZTgsIDB4ZjUsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDIsIDB4MjEsCi0JMHg3MSwgMHhmOCwgMHgyYSwgMHgxMCwgMHgyYSwgMHgxNSwgMHg1NiwgMHhmOCwKLQkweDJhLCAweDBjLCAweGYwLCAweGUzLCAweDRlLCAweGY4LCAweDJhLCAweDE2LAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MmEsIDB4MGMsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHg0YSwgMHgwNiwgMHg0YSwgMHgwNywgMHg0YSwgMHgxZCwKLQkweDY4LCAweGY4LCAweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsCi0JMHhmZiwgMHhmYywgMHg2YiwgMHhmOCwgMHgyYSwgMHgwZiwgMHgwMCwgMHgwMSwKLQkweDhhLCAweDFkLCAweDhhLCAweDA3LCAweDhhLCAweDA2LCAweGY0LCAweGViLAotCTB4ZWUsIDB4ZmQsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4MGYsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxOSwgMHg0YywKLQkweGY0LCAweDk1LCAweGU4LCAweDAwLCAweDgwLCAweGY4LCAweDJhLCAweDExLAotCTB4ZjksIDB4ODAsIDB4MTksIDB4MDcsIDB4ODAsIDB4ZjgsIDB4MmEsIDB4MGUsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwgMHg3NiwgMHgwMCwgMHgyYSwgMHgxMiwKLQkweDEwLCAweGY4LCAweDJhLCAweDExLCAweGY5LCAweDgwLCAweDE4LCAweGUzLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4MGUsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NjYsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgwZSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg4NywKLQkweGVlLCAweDAzLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY2LCAweGI4LAotCTB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ODAsIDB4MDAsIDB4MTEsIDB4ZjgsCi0JMHgyYSwgMHg1YSwgMHhmOCwgMHg0ZCwgMHgwMiwgMHg5MywgMHgxMSwgMHhmOCwKLQkweDJhLCAweDlmLCAweGY4LCAweDRjLCAweDAyLCAweDdjLCAweDc3LCAweDEyLAotCTB4MmEsIDB4MzksIDB4NDksIDB4MTIsIDB4MDEsIDB4ZjgsIDB4MmEsIDB4OWYsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHg4MSwKLQkweDAwLCAweDExLCAweDZjLCAweGUxLCAweGZmLCAweGFiLCAweDAyLCAweDkzLAotCTB4NmIsIDB4ZjgsIDB4MmEsIDB4OWYsIDB4MDAsIDB4MDEsIDB4ZTksIDB4MDUsCi0JMHgwMSwgMHhlMiwgMHgwMCwgMHgwMywgMHg4MSwgMHhmOCwgMHgyYSwgMHhhMCwKLQkweGYwLCAweDczLCAweDAyLCAweDk1LCAweDcyLCAweDExLCAweDJhLCAweDlmLAotCTB4ZjQsIDB4OTUsIDB4MTAsIDB4ZTEsIDB4MmEsIDB4MzksIDB4NmIsIDB4ZjgsCi0JMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMSwgMHgxMSwgMHhmOCwgMHgyYSwgMHg5ZiwKLQkweDA5LCAweGY4LCAweDJhLCAweGEwLCAweGY4LCAweDRjLCAweDAyLCAweDkzLAotCTB4NzYsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHg5ZiwgMHgwMCwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhMCwKLQkweDAwLCAweDAwLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YSwgMHhmOCwgMHg0NCwgMHgwMiwgMHhiMiwKLQkweDc2LCAweGY4LCAweDJhLCAweDVhLCAweDAwLCAweDAxLCAweGYwLCAweDc0LAotCTB4MDIsIDB4NTgsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg4MCwgMHgwMCwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwMiwgMHhiMiwKLQkweDQ4LCAweDExLCAweGYwLCAweDMwLCAweDAwLCAweGZmLCAweDgwLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTgsIDB4ZDYsCi0JMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwKLQkweDRhLCAweDA4LCAweDRhLCAweDA5LCAweDRhLCAweDBhLCAweDRhLCAweDBiLAotCTB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsIDB4NGEsIDB4MTAsIDB4NGEsIDB4MTEsCi0JMHg0YSwgMHgxMiwgMHg0YSwgMHgxMywgMHg0YSwgMHgxNCwgMHg0YSwgMHgxNSwKLQkweDRhLCAweDE2LCAweDRhLCAweDE3LCAweDRhLCAweDE3LCAweDRhLCAweDE5LAotCTB4NGEsIDB4MGUsIDB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWEsCi0JMHg0YSwgMHgxZCwgMHg0YSwgMHgxYiwgMHg0YSwgMHgxYywgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHg0OCwgMHgxOCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxOCwgMHhmZiwgMHhmZSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDRhLCAweDA4LCAweGVlLCAweGZkLAotCTB4ZjAsIDB4NzQsIDB4MDIsIDB4NTgsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHg4MCwgMHgwMCwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDAyLCAweGVmLCAweDQ4LCAweDExLCAweGYwLCAweDMwLCAweDAwLCAweGZmLAotCTB4ODAsIDB4MDAsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsCi0JMHgxOCwgMHhkNiwgMHhlZSwgMHgwMywgMHg4YSwgMHgxOCwgMHhmNCwgMHg5NSwKLQkweDhhLCAweDFjLCAweDhhLCAweDFiLCAweDhhLCAweDFkLCAweDhhLCAweDFhLAotCTB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4OGEsIDB4MGUsIDB4OGEsIDB4MTksCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxNSwKLQkweDhhLCAweDE0LCAweDhhLCAweDEzLCAweDhhLCAweDEyLCAweDhhLCAweDExLAotCTB4OGEsIDB4MTAsIDB4OGEsIDB4MGQsIDB4OGEsIDB4MGMsIDB4OGEsIDB4MGIsCi0JMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwgMHg4YSwgMHgwOCwgMHhmNCwgMHhlYiwKLQkweDRhLCAweDExLCAweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLAotCTB4MDAsIDB4NTUsIDB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsCi0JMHgwMCwgMHgwMSwgMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwKLQkweDAwLCAweDAyLCAweDgwLCAweGUxLCAweDAwLCAweDAyLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgwMCwgMHhhYSwgMHhmMCwgMHg3NCwgMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4NmYsIDB4ZjgsIDB4MmEsIDB4OWUsCi0JMHgwYywgMHg4OCwgMHhlOCwgMHhmZiwgMHgxOCwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDFhLCAweGY4LCAweDJhLCAweDllLCAweGYwLCAweDMwLCAweDFmLCAweGZmLAotCTB4ODAsIDB4ZjgsIDB4MmEsIDB4OWUsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDU1LCAweDc3LCAweDEyLCAweDJhLCAweDE4LCAweDExLCAweGUyLAotCTB4MDAsIDB4MDEsIDB4ODEsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MTEsIDB4ZTIsCi0JMHgwMCwgMHgwMiwgMHg4MSwgMHhlMSwgMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAzLCAweDAwLCAweDAyLCAweDQ4LCAweDA4LCAweDZmLCAweGUxLAotCTB4MDAsIDB4MDQsIDB4MGMsIDB4OTgsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4ZmYsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwNSwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MzksCi0JMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwgMHgyYSwgMHgxOCwKLQkweDEwLCAweGUyLCAweDAwLCAweDAxLCAweDgwLCAweGUxLCAweDAwLCAweDAxLAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgwNCwgMHg0OCwgMHgxMSwKLQkweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4NzcsIDB4MTMsIDB4MmEsIDB4NzYsIDB4ZTksIDB4MDAsIDB4ZTUsIDB4OTgsCi0JMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwgMHg0OCwgMHgwYiwKLQkweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLCAweDAzLCAweDcxLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4OTgsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmMCwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTUsCi0JMHg0OSwgMHgxMSwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OSwgMHgxMSwKLQkweGU3LCAweDgyLCAweDZkLCAweGVhLCAweDAwLCAweDA0LCAweGU3LCAweDgzLAotCTB4NmQsIDB4ZWIsIDB4MDAsIDB4MGEsIDB4NzcsIDB4MWEsIDB4MDAsIDB4MDUsCi0JMHhmMCwgMHg3MiwgMHgwMywgMHhhYSwgMHgxMSwgMHg4MSwgMHhmMiwgMHhlOCwKLQkweDgwLCAweDgyLCAweGU5LCAweGZmLCAweDE5LCAweGUxLCAweDAwLCAweDAxLAotCTB4ZjEsIDB4YTAsIDB4ODEsIDB4OTIsIDB4MTEsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHhmMiwgMHhlOCwgMHg4MCwgMHg4MywgMHhlOSwgMHhmZiwgMHgxOSwgMHhlMSwKLQkweDAwLCAweDBkLCAweGYxLCAweGEwLCAweDgxLCAweDkzLCAweDZkLCAweGU5LAotCTB4MDAsIDB4MDIsIDB4NDgsIDB4MTgsIDB4NDksIDB4MTgsIDB4NzAsIDB4MDAsCi0JMHgwMCwgMHgxNSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHhmMywgMHgwMCwKLQkweDAwLCAweDBhLCAweDgwLCAweDAxLCAweDgxLCAweDAyLCAweGYyLCAweDc0LAotCTB4MGUsIDB4NTQsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTQsIDB4ZWUsIDB4MTAsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmMCwgMHg3NCwKLQkweDBjLCAweDVlLCAweDgwLCAweGY4LCAweDJhLCAweDVjLCAweDc3LCAweDEyLAotCTB4MmEsIDB4MzksIDB4NzYsIDB4ODIsIDB4MDAsIDB4NTUsIDB4NzcsIDB4MTEsCi0JMHgyYSwgMHgxOCwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDAxLCAweDEwLCAweGUxLCAweDAwLCAweDAyLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDIsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MWMsCi0JMHhmNiwgMHhiOCwgMHg1NiwgMHhmOCwgMHgyYSwgMHgxNiwgMHhmMCwgMHhmMCwKLQkweGYwLCAweGY4LCAweDgwLCAweGUyLCAweDAwLCAweDA3LCAweDU2LCAweGY4LAotCTB4MmEsIDB4MTYsIDB4ZjEsIDB4ZjAsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhlMiwgMHgwMCwgMHgwNiwgMHg1NiwgMHhmOCwgMHgyYSwgMHgxNiwKLQkweGYxLCAweGY4LCAweGU4LCAweGZmLCAweGYyLCAweDgwLCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDUsIDB4NTcsIDB4ZjgsIDB4MmEsIDB4MTYsIDB4ZTgsIDB4ZmYsCi0JMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwNCwgMHg1NiwgMHhmOCwKLQkweDI3LCAweDZjLCAweGYwLCAweGYwLCAweGYwLCAweGY4LCAweDgwLCAweGUyLAotCTB4MDAsIDB4MGIsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NmMsIDB4ZjEsIDB4ZjAsCi0JMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwgMHgwMCwgMHgwYSwKLQkweDU2LCAweGY4LCAweDI3LCAweDZjLCAweGYxLCAweGY4LCAweGU4LCAweGZmLAotCTB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MDksIDB4ZTgsIDB4ZmYsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg2YywgMHhmMiwgMHg4MCwgMHg4MCwgMHhlMiwKLQkweDAwLCAweDA4LCAweDU2LCAweGY4LCAweDI3LCAweDZhLCAweGYwLCAweGYwLAotCTB4ZjAsIDB4ZjgsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MGYsIDB4NTYsIDB4ZjgsCi0JMHgyNywgMHg2YSwgMHhmMSwgMHhmMCwgMHhlOCwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweDgwLCAweGUyLCAweDAwLCAweDBlLCAweDU2LCAweGY4LCAweDI3LCAweDZhLAotCTB4ZjEsIDB4ZjgsIDB4ZTgsIDB4ZmYsIDB4ZjIsIDB4ODAsIDB4ODAsIDB4ZTIsCi0JMHgwMCwgMHgwZCwgMHg1NywgMHhmOCwgMHgyNywgMHg2YSwgMHhlOCwgMHhmZiwKLQkweGYyLCAweDgwLCAweDgwLCAweGUyLCAweDAwLCAweDBjLCAweDc2LCAweGUyLAotCTB4MDAsIDB4MTMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MTIsCi0JMHgwMCwgMHgwMCwgMHg2ZiwgMHhmOCwgMHgyYSwgMHg1YywgMHgwYywgMHg1OCwKLQkweDgwLCAweGUyLCAweDAwLCAweDExLCAweGU4LCAweGZmLCAweDE4LCAweGY4LAotCTB4MmEsIDB4NWMsIDB4ODAsIDB4ZTIsIDB4MDAsIDB4MTAsIDB4NzYsIDB4ZTIsCi0JMHgwMCwgMHgxNywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwgMHgwMCwgMHgxNiwKLQkweDAwLCAweDAwLCAweDZmLCAweGY4LCAweDJhLCAweDllLCAweDBjLCAweDU4LAotCTB4ODAsIDB4ZTIsIDB4MDAsIDB4MTUsIDB4ZTgsIDB4ZmYsIDB4MTgsIDB4ZjgsCi0JMHgyYSwgMHg5ZSwgMHg4MCwgMHhlMiwgMHgwMCwgMHgxNCwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDFiLCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDFhLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MTksIDB4MDAsIDB4MDAsCi0JMHg3MCwgMHhlMiwgMHgwMCwgMHgxOCwgMHgyNywgMHg2ZSwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDFmLCAweDAwLCAweDAwLCAweDc2LCAweGUyLCAweDAwLCAweDFlLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTIsIDB4MDAsIDB4MWQsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMiwgMHgwMCwgMHgxYywgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMiwKLQkweDAwLCAweDIwLCAweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHgzOCwgMHhmOCwgMHg0NSwgMHgwNCwgMHhlZCwKLQkweDc3LCAweDEyLCAweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAyLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDgsCi0JMHg2ZCwgMHhlOSwgMHhmZiwgMHhkZiwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwKLQkweDA0LCAweDc1LCAweGYwLCAweDczLCAweDA0LCAweDdkLCAweGYwLCAweDEwLAotCTB4MDAsIDB4MjEsIDB4ZjAsIDB4MDAsIDB4MWEsIDB4ODMsIDB4NDgsIDB4MDgsCi0JMHg3ZSwgMHhmOCwgMHgwMCwgMHgwOCwgMHhmNCwgMHhlMiwgMHhmMCwgMHg3NCwKLQkweDAzLCAweDBhLCAweGYwLCAweDczLCAweDA0LCAweGVhLCAweDQ4LCAweDEyLAotCTB4ZjIsIDB4NzQsIDB4MDMsIDB4MjMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHhmMiwgMHg3NCwgMHgwMywgMHgzNiwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweDc3LCAweDExLCAweDJhLCAweDE4LAotCTB4ZTgsIDB4ZmYsIDB4NmYsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4MGQsIDB4NDgsCi0JMHgxOCwgMHhlMSwgMHgwMCwgMHgwNSwgMHhmMiwgMHg3NCwgMHgwOSwgMHg2OSwKLQkweGY0LCAweDk1LCAweGYyLCAweGEwLCAweGYwLCAweDc0LCAweDAzLCAweDM2LAotCTB4ZjAsIDB4NzMsIDB4MDQsIDB4ZWEsIDB4NzcsIDB4MTEsIDB4MmEsIDB4MTgsCi0JMHhlOCwgMHhmZiwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwZCwgMHg0OCwKLQkweDE4LCAweGUxLCAweDAwLCAweDA1LCAweGYyLCAweDc0LCAweDA5LCAweDQxLAotCTB4ZjQsIDB4OTUsIDB4ZjIsIDB4YTAsIDB4ZjAsIDB4NzQsIDB4MDMsIDB4MzYsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHhmMCwgMHg3NCwgMHgwMywgMHg1NywKLQkweGYwLCAweDczLCAweDA0LCAweGVhLCAweDEwLCAweGY4LCAweDJhLCAweDFjLAotCTB4ZjAsIDB4NzQsIDB4MTIsIDB4YTQsIDB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwKLQkweDQ4LCAweDEyLCAweGYyLCAweDc0LCAweDAzLCAweDgwLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsCi0JMHhlOCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHgxMCwgMHhmOCwKLQkweDJhLCAweDFjLCAweGYwLCAweDc0LCAweDEyLCAweGM1LCAweGYyLCAweDc0LAotCTB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZjAsIDB4NzMsCi0JMHgwNCwgMHhlYSwgMHg3NywgMHgxMSwgMHgyYSwgMHgxOCwgMHhlOCwgMHhmZiwKLQkweDZmLCAweGUxLCAweDAwLCAweDA2LCAweDBkLCAweDQ4LCAweDE4LCAweGUxLAotCTB4MDAsIDB4MDcsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHhmMiwgMHhhMCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxMiwgMHg4MCwgMHgwMSwKLQkweDEwLCAweGUxLCAweDAwLCAweDA0LCAweGYwLCAweDc0LCAweDBlLCAweDdhLAotCTB4ZjIsIDB4NzQsIDB4MDMsIDB4MzYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHhmMCwgMHg3MywgMHgwNCwgMHhlYSwgMHhmMCwgMHg3NCwgMHgwMywgMHhiYywKLQkweDc2LCAweGY4LCAweDJhLCAweDM4LCAweDAwLCAweDAwLCAweGVlLCAweDAyLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwKLQkweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAxLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgwOSwKLQkweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTMsIDB4MmEsIDB4ODYsIDB4ZTksIDB4MDAsCi0JMHhlNSwgMHg5OCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwKLQkweDQ4LCAweDBiLCAweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLAotCTB4MDUsIDB4MGEsIDB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsCi0JMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LAotCTB4NzcsIDB4MTMsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTMsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHhlMywgMHgwMCwgMHgwMiwKLQkweDgwLCAweGUxLCAweDAwLCAweDAyLCAweDEzLCAweGUzLCAweDAwLCAweDAzLAotCTB4ODEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4NDgsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHgwMCwgMHhmOCwgMHg0ZCwgMHgwNSwgMHg0NCwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA0LCAweDg4LCAweDEyLCAweDQ4LCAweDEzLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHhlNSwgMHg5OCwgMHg2ZCwgMHg5MSwgMHhmNiwgMHhiOCwgMHg0OCwgMHgxMSwKLQkweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLCAweDA1LCAweDNhLAotCTB4ZjAsIDB4MjAsIDB4MmEsIDB4MzksIDB4NDksIDB4MTEsIDB4ZjUsIDB4MDAsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA0LCAweDAwLCAweGFhLCAweGYwLCAweDc0LCAweDAyLCAweDk4LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsCi0JMHgyYSwgMHgzOSwgMHg3NiwgMHg4MSwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMiwKLQkweDJhLCAweDE4LCAweDEwLCAweGUyLCAweDAwLCAweDAxLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDIsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgwYywKLQkweDQ4LCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTMsIDB4MmEsIDB4N2EsIDB4ZTksIDB4MDAsCi0JMHhlNSwgMHg5OCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHhmNiwgMHhiOCwKLQkweDQ4LCAweDBiLCAweDA4LCAweGY4LCAweDJhLCAweDNjLCAweGY4LCAweDQzLAotCTB4MDUsIDB4NmEsIDB4NzYsIDB4ODIsIDB4MDAsIDB4YWEsIDB4ZjAsIDB4NzQsCi0JMHgwMiwgMHg5OCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDc3LCAweDExLCAweDJhLCAweDM5LCAweDc2LCAweDgxLCAweDAwLCAweDU1LAotCTB4NzcsIDB4MTIsIDB4MmEsIDB4MTgsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MDEsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHhlMiwgMHgwMCwgMHgwMiwKLQkweDgwLCAweGUxLCAweDAwLCAweDAyLCAweDc2LCAweGUxLCAweDAwLCAweDAzLAotCTB4MDAsIDB4MTksIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMywgMHgyYSwgMHg1ZCwKLQkweGU5LCAweDAwLCAweGU1LCAweDk4LCAweGYzLCAweDAwLCAweDAwLCAweDAxLAotCTB4ZjYsIDB4YjgsIDB4NDgsIDB4MGIsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4M2MsCi0JMHhmOCwgMHg0MywgMHgwNSwgMHg5MywgMHg3NiwgMHg4MiwgMHgwMCwgMHhhYSwKLQkweGYwLCAweDc0LCAweDAyLCAweDk4LCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4MzgsCi0JMHhmOCwgMHg0NCwgMHgwNSwgMHhlMywgMHgxMCwgMHhmOCwgMHgyYSwgMHhhMSwKLQkweGY4LCAweDQ0LCAweDA1LCAweGJhLCAweDZjLCAweGUxLCAweGZmLCAweDU2LAotCTB4MDUsIDB4ZTMsIDB4NzIsIDB4MTIsIDB4MmEsIDB4YTEsIDB4ZjQsIDB4OTUsCi0JMHg3MCwgMHhlMiwgMHgyYSwgMHgxOCwgMHgwMCwgMHgxMSwgMHg2YiwgMHhmOCwKLQkweDJhLCAweGExLCAweDAwLCAweDAxLCAweGYwLCAweDczLCAweDA1LCAweGUzLAotCTB4NzIsIDB4MTIsIDB4MmEsIDB4YTEsIDB4ZjQsIDB4OTUsIDB4NzAsIDB4ZTIsCi0JMHgyYSwgMHgxOCwgMHgwMCwgMHgxMSwgMHgxMCwgMHhmOCwgMHgyYSwgMHhhMSwKLQkweGYwLCAweDAwLCAweDAwLCAweDAxLCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NmUsIDB4ZTIsIDB4ZmYsIDB4ZmMsIDB4MDUsIDB4ZDEsCi0JMHg3MywgMHgxMiwgMHgyYSwgMHhhMSwgMHg0OCwgMHgxMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDA1LCAweDgwLCAweGY4LCAweDJhLCAweGEyLCAweDEwLCAweGY4LAotCTB4MmEsIDB4YTEsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4YTIsIDB4ZjgsIDB4NDQsCi0JMHgwNSwgMHhlMywgMHg2YywgMHhlMSwgMHhmZiwgMHhhYiwgMHgwNSwgMHhkZCwKLQkweDc2LCAweGY4LCAweDJhLCAweDM4LCAweDAwLCAweDAxLCAweDc2LCAweGY4LAotCTB4MmEsIDB4YTEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTIsCi0JMHgwMCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHhmNCwgMHg5NSwKLQkweDRhLCAweDA4LCAweDRhLCAweDA5LCAweDRhLCAweDBhLCAweDRhLCAweDBiLAotCTB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsIDB4NGEsIDB4MTAsIDB4NGEsIDB4MTEsCi0JMHg0YSwgMHgxMiwgMHg0YSwgMHgxMywgMHg0YSwgMHgxNCwgMHg0YSwgMHgxNSwKLQkweDRhLCAweDE2LCAweDRhLCAweDE3LCAweDRhLCAweDE3LCAweDRhLCAweDE5LAotCTB4NGEsIDB4MGUsIDB4NGEsIDB4MDYsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWEsCi0JMHg0YSwgMHgxZCwgMHg0YSwgMHgxYiwgMHg0YSwgMHgxYywgMHg2OCwgMHhmOCwKLQkweDAwLCAweDA3LCAweDdkLCAweDNmLCAweDY5LCAweGY4LCAweDAwLCAweDA3LAotCTB4NDAsIDB4MDAsIDB4NjgsIDB4ZjgsIDB4MDAsIDB4MWQsIDB4ZmYsIDB4ZmMsCi0JMHg0OCwgMHgxOCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxOCwgMHhmZiwgMHhmZSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDRhLCAweDA4LCAweGVlLCAweGZmLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4NWIsIDB4ZjksIDB4ODAsIDB4MTgsIDB4MDQsCi0JMHhmMCwgMHg3NCwgMHgwNSwgMHhhMiwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxOCwKLQkweGY0LCAweDk1LCAweDhhLCAweDFjLCAweDhhLCAweDFiLCAweDhhLCAweDFkLAotCTB4OGEsIDB4MWEsIDB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4OGEsIDB4MGUsCi0JMHg4YSwgMHgxOSwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDE1LCAweDhhLCAweDE0LCAweDhhLCAweDEzLCAweDhhLCAweDEyLAotCTB4OGEsIDB4MTEsIDB4OGEsIDB4MTAsIDB4OGEsIDB4MGQsIDB4OGEsIDB4MGMsCi0JMHg4YSwgMHgwYiwgMHg4YSwgMHgwYSwgMHg4YSwgMHgwOSwgMHg4YSwgMHgwOCwKLQkweGY0LCAweGViLCAweGVlLCAweGZkLCAweDc2LCAweGY4LCAweDJhLCAweDM4LAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4NWEsIDB4MDAsIDB4MDAsCi0JMHhlOCwgMHgwMSwgMHg0ZSwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxNywgMHhkNiwKLQkweGY0LCAweDk1LCAweGU4LCAweDAxLCAweDgwLCAweGY4LCAweDJhLCAweDViLAotCTB4NzYsIDB4MDAsIDB4MmEsIDB4OGYsIDB4ZjksIDB4ODAsIDB4MTYsIDB4YWEsCi0JMHgxMCwgMHhmOCwgMHgyYSwgMHg1YiwgMHhmOSwgMHg4MCwgMHgxNywgMHg1YywKLQkweDEwLCAweGY4LCAweDJhLCAweDViLCAweGY5LCAweDgwLCAweDE3LCAweDZmLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4NjYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWEsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHg4NywgMHhmNCwgMHg5NSwgMHhlOCwgMHgxYSwKLQkweGZiLCAweDgwLCAweDE2LCAweDY2LCAweGY0LCAweDk1LCAweGU4LCAweDFiLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4ODcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MWIsCi0JMHhlZSwgMHgwMywgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDEzLCAweDAyLCAweDg4LCAweDExLCAweGU4LCAweDAwLCAweGY4LCAweDRkLAotCTB4MDYsIDB4NmEsIDB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MWEsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgwNiwgMHg2OSwgMHgxYywgMHg5MSwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDExLAotCTB4MTIsIDB4MDMsIDB4MTEsIDB4MDIsIDB4ZjgsIDB4NDUsIDB4MDYsIDB4NzksCi0JMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwgMHg4OCwgMHgxYSwgMHhmNCwgMHg5NSwKLQkweGYwLCAweDcyLCAweDA2LCAweDc4LCAweDgxLCAweDkxLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzEsIDB4MDIsCi0JMHgwMCwgMHgxMSwgMHgxMSwgMHgwMywgMHg2MSwgMHhmOCwgMHgwMCwgMHgxMSwKLQkweDAwLCAweDAxLCAweGY4LCAweDMwLCAweDA2LCAweDkxLCAweGY2LCAweGI4LAotCTB4NmYsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4MGMsIDB4MWYsIDB4ODgsIDB4MTEsCi0JMHhmMywgMHhlOCwgMHhlOCwgMHhmZiwgMHgxOCwgMHg4MSwgMHhmMSwgMHhhMCwKLQkweDgxLCAweDgxLCAweGYwLCAweDczLCAweDA2LCAweDlkLCAweGY2LCAweGI4LAotCTB4NmYsIDB4ZjgsIDB4MDAsIDB4MTEsIDB4MGMsIDB4MWYsIDB4ODgsIDB4MTEsCi0JMHhmMywgMHgzMCwgMHgwMCwgMHhmZiwgMHhmMCwgMHgyMCwgMHhmZiwgMHgwMCwKLQkweDE4LCAweDgxLCAweGYxLCAweGEwLCAweDgxLCAweDgxLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4MTEsIDB4MDIsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDA2LCAweGIxLCAweDQ5LCAweDBiLCAweGY2LCAweDFmLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZjIsIDB4NzMsCi0JMHgwNiwgMHhiOCwgMHhmMCwgMHgzMCwgMHgwMCwgMHhmZiwgMHg0OSwgMHgwYiwKLQkweGY2LCAweDFmLCAweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4MTIsIDB4ODEsIDB4ZjQsIDB4NzgsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMiwKLQkweDEzLCAweDAzLCAweDg4LCAweDExLCAweGU4LCAweDAwLCAweGY4LCAweDRkLAotCTB4MDYsIDB4Y2MsIDB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ODksIDB4MWEsCi0JMHhmNCwgMHg5NSwgMHhmMCwgMHg3MiwgMHgwNiwgMHhjYiwgMHgxMSwgMHg5MiwKLQkweGYyLCAweGMwLCAweDgxLCAweDkxLCAweDhhLCAweDExLCAweGZjLCAweDAwLAotCTB4ODgsIDB4MTIsIDB4MTIsIDB4MDIsIDB4NzEsIDB4MDEsIDB4MDAsIDB4MTMsCi0JMHhmOCwgMHg0NSwgMHgwNiwgMHhkYiwgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMSwKLQkweDg4LCAweDFhLCAweGY0LCAweDk1LCAweGYwLCAweDcyLCAweDA2LCAweGRhLAotCTB4ZTUsIDB4OTgsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsCi0JMHg4OCwgMHgxMSwgMHgxMSwgMHgwNCwgMHgxMCwgMHgwNiwgMHg3MSwgMHgwNSwKLQkweDAwLCAweDEyLCAweDYxLCAweGY4LCAweDAwLCAweDEyLCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MjAsIDB4MDYsIDB4ZWEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmNiwgMHhiOCwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHg2ZiwgMHhmOCwKLQkweDAwLCAweDEyLCAweDBmLCAweDFmLCAweDQ4LCAweDA4LCAweDgxLCAweDAwLAotCTB4ZjQsIDB4N2YsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4NzQsIDB4MDYsIDB4YmEsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLCAweDg4LCAweDEyLAotCTB4MTEsIDB4MDQsIDB4MTAsIDB4MDYsIDB4NzEsIDB4MDUsIDB4MDAsIDB4MTMsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgxMywgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDA3LCAweDA5LCAweGYwLCAweDAwLCAweDAwLCAweDAxLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4ODgsIDB4MTEsIDB4ZjYsIDB4YjgsIDB4NmYsIDB4ZjgsCi0JMHgwMCwgMHgxMywgMHgwZiwgMHgxZiwgMHg4MSwgMHgwMCwgMHg0OCwgMHgxMSwKLQkweGY0LCAweDdmLCAweDgwLCAweDAxLCAweGYyLCAweDc0LCAweDA2LCAweGNlLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MTIsIDB4NDgsIDB4MTEsIDB4ZjAsIDB4MzAsCi0JMHhmZiwgMHhmZSwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LCAweGVlLCAweGZjLAotCTB4ZjQsIDB4OTUsIDB4ODAsIDB4MDIsIDB4NzEsIDB4MDgsIDB4MDAsIDB4MTYsCi0JMHgxMCwgMHgwOSwgMHg3MSwgMHgwYiwgMHgwMCwgMHgxNywgMHg4MCwgMHgwMywKLQkweDcxLCAweDBhLCAweDAwLCAweDExLCAweDQ4LCAweDE3LCAweGY4LCAweDQ1LAotCTB4MDcsIDB4M2YsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTEsIDB4MTAsIDB4MDMsCi0JMHhmMCwgMHg3NCwgMHgwNiwgMHg5ZiwgMHg4MCwgMHgwMSwgMHg3MCwgMHgwMCwKLQkweDAwLCAweDE2LCAweDEwLCAweDAyLCAweGYwLCAweDc0LCAweDA2LCAweDdiLAotCTB4NmQsIDB4OTEsIDB4NmQsIDB4OTYsIDB4NmMsIDB4ZWYsIDB4ZmYsIDB4ZmYsCi0JMHgwNywgMHgyZiwgMHhlZSwgMHgwNCwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZlLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTgsIDB4MDgsIDB4ZjgsIDB4MmEsIDB4ZTksCi0JMHhmOCwgMHg0NSwgMHgwNywgMHg2NCwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDYyLCAweGY4LCAweDJhLCAweGU5LCAweDAwLCAweDVlLCAweGYyLCAweDc0LAotCTB4MTIsIDB4MGIsIDB4ZjAsIDB4MDAsIDB4MzAsIDB4NDAsIDB4NzIsIDB4MTEsCi0JMHgyYSwgMHhlOSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwZiwgMHhmNSwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA3LCAweDYxLCAweDZiLCAweGY4LCAweDJhLCAweGU5LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MDcsIDB4NjQsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhlOSwgMHgwMCwgMHgwMCwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGU4LCAweDAwLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDgsIDB4ZTgsIDB4MDAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwOSwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZjLCAweDNmLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MjAsIDB4MGMsIDB4MzAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwYywgMHg3NiwgMHhmOCwKLQkweDJhLCAweGU4LCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGU5LAotCTB4MDAsIDB4MDAsIDB4NmMsIDB4ODEsIDB4MDcsIDB4OTIsIDB4NzYsIDB4ZjgsCi0JMHgyYSwgMHhlYSwgMHgwMCwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxNiwgMHg3NiwKLQkweGY0LCAweDk1LCAweGU4LCAweDEwLCAweGU4LCAweDAwLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4NzMsIDB4MDcsIDB4YTgsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHhlYSwgMHgwMCwgMHgwMSwgMHhmYiwgMHg4MCwKLQkweDE2LCAweDY2LCAweGY0LCAweDk1LCAweGU4LCAweDEwLCAweGZiLCAweDgwLAotCTB4MTYsIDB4ODcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MTAsIDB4ZTgsIDB4MDAsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZmLCAweGZmLCAweDc1LCAweGY4LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHhmNCwgMHg5NSwgMHg0YSwgMHgwOCwgMHg0YSwgMHgwOSwgMHg0YSwgMHgwYSwKLQkweDRhLCAweDA2LCAweDRhLCAweDA3LCAweDRhLCAweDFkLCAweDY4LCAweGY4LAotCTB4MDAsIDB4MDcsIDB4N2QsIDB4M2YsIDB4NjksIDB4ZjgsIDB4MDAsIDB4MDcsCi0JMHg0MCwgMHgwMCwgMHg2OCwgMHhmOCwgMHgwMCwgMHgxZCwgMHhmZiwgMHhmYywKLQkweDEwLCAweGY4LCAweDJhLCAweGVhLCAweGY4LCAweDQ1LCAweDA3LCAweGUxLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4ZTgsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHgzMCwgMHgwMCwgMHgwZiwgMHg4MCwgMHhmOCwgMHgyYSwgMHhlOCwKLQkweDEwLCAweGY4LCAweDJhLCAweGU4LCAweGY4LCAweDQ0LCAweDA3LCAweGQ2LAotCTB4ZjYsIDB4YjgsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4MjAsIDB4ZmMsIDB4M2YsCi0JMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwZCwgMHhmMCwgMHgyMCwKLQkweDBjLCAweDMwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDBjLAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDAsCi0JMHhmNiwgMHhiOCwgMHhmNCwgMHg5NSwgMHhmMCwgMHgyMCwgMHhmZiwgMHhmZiwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAwLCAweDhhLCAweDFkLAotCTB4OGEsIDB4MDcsIDB4OGEsIDB4MDYsIDB4OGEsIDB4MGEsIDB4OGEsIDB4MDksCi0JMHg4YSwgMHgwOCwgMHhmNCwgMHhlYiwgMHhlZSwgMHhmZiwgMHhmMiwgMHg3NCwKLQkweDA3LCAweDY3LCAweGY0LCAweDk1LCAweGU4LCAweDAxLCAweGVlLCAweDAxLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4OGEsIDB4MWQsIDB4OGEsIDB4MDcsIDB4ZjQsIDB4ZWIsIDB4NGEsIDB4MTEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgyOCwgMHg3NiwgMHg4MSwgMHgyNCwgMHgwMCwKLQkweGU4LCAweDAwLCAweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLAotCTB4ZjIsIDB4NzQsIDB4MDcsIDB4NjcsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgxZCwgMHg2OCwgMHg4MSwgMHgwMCwgMHg3ZiwKLQkweGY2LCAweGI4LCAweGY0LCAweDk1LCAweGYwLCAweDIwLCAweGZmLCAweDgwLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4MWQsIDB4ZjAsIDB4MzAsIDB4MDEsIDB4MDAsCi0JMHgxYSwgMHg4MSwgMHg4MCwgMHg4MSwgMHhmMCwgMHg3NCwgMHgwYSwgMHgzMywKLQkweGYwLCAweDc0LCAweDExLCAweGFjLCAweGY5LCAweDgwLCAweDEzLCAweDI1LAotCTB4ZjksIDB4ODAsIDB4MTYsIDB4NTMsIDB4ZjksIDB4ODAsIDB4MTcsIDB4ODIsCi0JMHhmMCwgMHg3NCwgMHgwNiwgMHgyZiwgMHhmOSwgMHg4MCwgMHgxNCwgMHhiMiwKLQkweGY5LCAweDgwLCAweDE5LCAweDEwLCAweGYwLCAweDc0LCAweDBkLCAweGUzLAotCTB4ZjAsIDB4NzQsIDB4MDcsIDB4ZTgsIDB4ZjAsIDB4NzQsIDB4MDIsIDB4MzYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHg2MCwgMHhmOCwKLQkweDI3LCAweDdiLCAweGZmLCAweGZmLCAweGY4LCAweDMwLCAweDA4LCAweDM5LAotCTB4NzEsIDB4ZjgsIDB4MjcsIDB4N2IsIDB4MjcsIDB4NzksIDB4NjAsIDB4ZjgsCi0JMHgyNywgMHg3OSwgMHhmZiwgMHhmZiwgMHhmOCwgMHgzMCwgMHgwOCwgMHhiMiwKLQkweDEwLCAweGY4LCAweDI5LCAweDg2LCAweDA4LCAweGY4LCAweDI3LCAweDc5LAotCTB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDA4LCAweDU4LCAweDEwLCAweGY4LCAweDI3LCAweDc5LCAweDA4LCAweGY4LAotCTB4MjcsIDB4N2EsIDB4ZjAsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA4LCAweDYzLCAweDc2LCAweGY4LCAweDI3LCAweDc5LAotCTB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsIDB4MjcsIDB4N2IsIDB4ZmYsIDB4ZmYsCi0JMHhmNywgMHhiOCwgMHhmMiwgMHg3MywgMHgwOCwgMHhkOSwgMHhmMCwgMHgyMCwKLQkweGZmLCAweGZmLCAweGY2LCAweGI4LCAweDU2LCAweGY4LCAweDI3LCAweDc0LAotCTB4ZjAsIDB4ZjksIDB4ODgsIDB4MTEsIDB4NTYsIDB4ZjgsIDB4MjcsIDB4NzIsCi0JMHhmMCwgMHhmOSwgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGU3LCAweDIwLCAweGY0LCAweGE5LCAweGY4LCAweDMwLCAweDA4LCAweDhmLAotCTB4ZjEsIDB4MjAsIDB4MjcsIDB4N2MsIDB4NDgsIDB4MTEsIDB4ZjYsIDB4MDAsCi0JMHg4OCwgMHgxMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHgxMCwgMHg4MywKLQkweDA4LCAweGY4LCAweDI3LCAweDc5LCAweGYwLCAweDMwLCAweDdmLCAweGZmLAotCTB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsCi0JMHhmNSwgMHhhYiwgMHhmOCwgMHgzMCwgMHgwOCwgMHg4ZiwgMHg2ZCwgMHg5MSwKLQkweDQ4LCAweDExLCAweGYwLCAweDMwLCAweDAxLCAweGZmLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZTcsIDB4MjAsIDB4ZjcsIDB4YTksIDB4ZjgsIDB4MzAsCi0JMHgwOCwgMHg3NCwgMHg2ZCwgMHg4OSwgMHg0OCwgMHgxMSwgMHhmMCwgMHgzMCwKLQkweDAxLCAweGZmLCAweGYwLCAweGU3LCAweGY0LCAweDk1LCAweDQ4LCAweDA4LAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4NDgsIDB4MDgsIDB4ZjEsIDB4ZjksCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwKLQkweDI3LCAweDdjLCAweDI3LCAweDdhLCAweDYwLCAweGY4LCAweDI3LCAweDdiLAotCTB4ZmYsIDB4ZmYsIDB4ZjgsIDB4MzAsIDB4MDgsIDB4YWIsIDB4NDgsIDB4MDgsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3MiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3YiwKLQkweGZmLCAweGZmLCAweDc2LCAweGY4LCAweDI3LCAweDc5LCAweGZmLCAweGZmLAotCTB4ZjIsIDB4NzMsIDB4MDgsIDB4ZDksIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHg0NCwgMHhmOCwgMHgyNywgMHg3MywgMHg0MCwgMHhmOCwgMHgyNywgMHg3NSwKLQkweDgyLCAweGY4LCAweDAwLCAweDExLCAweGY0LCAweDk1LCAweDc3LCAweDEwLAotCTB4ODAsIDB4MDAsIDB4ZjYsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MDgsIDB4ZDgsCi0JMHhmNiwgMHhiOCwgMHgxMCwgMHhmOCwgMHgyNywgMHg3MywgMHhmMCwgMHgwMCwKLQkweDgwLCAweDAwLCAweDQ4LCAweDA4LCAweDRlLCAweGY4LCAweDI3LCAweDc0LAotCTB4NDgsIDB4MDgsIDB4ZjAsIDB4ZjksIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgyNywgMHg3YywgMHgyNywgMHg3YSwKLQkweGY3LCAweGI4LCAweDU3LCAweGY4LCAweDI3LCAweDc0LCAweGYwLCAweDYyLAotCTB4ZmYsIDB4ZmYsIDB4ZjAsIDB4NDAsIDB4ZmYsIDB4ODAsIDB4ZjIsIDB4ODAsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3NCwgMHhlOCwgMHgwMCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweGVlLCAweGZiLAotCTB4MTEsIDB4ZjgsIDB4MjcsIDB4NzEsIDB4MDksIDB4ZjgsIDB4MjcsIDB4NzMsCi0JMHg4OSwgMHgxMSwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA4LCAweGVkLCAweGYyLCAweDczLAotCTB4MDksIDB4MGUsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZjYsIDB4MjAsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHg0MSwgMHhmMCwgMHg3NCwgMHgxMiwgMHhlZSwKLQkweDg4LCAweDE2LCAweGY0LCAweDk1LCAweGY3LCAweGI4LCAweDZkLCAweDk2LAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTYsIDB4ZjgsIDB4NDcsIDB4MDksIDB4MGEsCi0JMHhlNywgMHg2MSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwKLQkweDAwLCAweDgwLCAweDc2LCAweDAyLCAweDAwLCAweGZmLCAweDc2LCAweDAzLAotCTB4MDAsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksIDB4ZjQsIDB4OTUsCi0JMHhlOCwgMHgwMCwgMHg2YywgMHhlOSwgMHhmZiwgMHhmZiwgMHgwOCwgMHhmYiwKLQkweDczLCAweDE2LCAweDAwLCAweDBlLCAweGYwLCAweDY2LCAweDAwLCAweDQxLAotCTB4ZWUsIDB4MDUsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMywKLQkweGY2LCAweGI4LCAweDc3LCAweDExLCAweDdmLCAweGZmLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4ODAsIDB4ZjAsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg4OCwgMHgxMSwgMHhmNiwgMHg0MCwgMHhmMCwgMHhlMCwKLQkweGYxLCAweGYxLCAweGU4LCAweDAxLCAweGYyLCAweDgwLCAweDgwLCAweGY4LAotCTB4MjcsIDB4NzgsIDB4NzcsIDB4MTIsIDB4ODAsIDB4MDAsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHg0OCwgMHgxMiwgMHhmMiwgMHg4MCwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgyLCAweDA5LCAweDM4LAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHg3MywgMHgwOSwgMHgzZCwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMSwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLCAweDcwLCAweDgxLAotCTB4MDAsIDB4MTMsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhmMCwgMHgzMCwgMHg3ZiwgMHhmZiwgMHgxMSwgMHhmOCwgMHgyOSwgMHg4NiwKLQkweGY1LCAweDIwLCAweGYzLCAweDMwLCAweDdmLCAweGZmLCAweDg5LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4NDAsIDB4MDAsIDB4ZjYsIDB4YTksCi0JMHhmOCwgMHgyMCwgMHgwOSwgMHg1NCwgMHhmMiwgMHg3MywgMHgwOSwgMHg2NywKLQkweGY0LCAweDk1LCAweGU4LCAweDAyLCAweDZmLCAweGY4LCAweDI3LCAweDdhLAotCTB4MGQsIDB4MjAsIDB4ZjMsIDB4MzAsIDB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwKLQkweGY4LCAweDIwLCAweDA5LCAweDY0LCAweGYyLCAweDczLCAweDA5LCAweDY3LAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsIDB4ODAsIDB4ZjgsIDB4MjcsIDB4N2IsCi0JMHhlOCwgMHgwMCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDExLCAweGY4LCAweDI5LCAweDg2LCAweGY1LCAweDIwLCAweGYzLCAweDMwLAotCTB4N2YsIDB4ZmYsIDB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHg0MCwgMHgwMCwgMHhmNiwgMHhhOSwgMHhmOCwgMHgyMCwgMHgwOSwgMHg3YSwKLQkweGYyLCAweDczLCAweDA5LCAweDhkLCAweGY0LCAweDk1LCAweGU4LCAweDAyLAotCTB4NmYsIDB4ZjgsIDB4MjcsIDB4N2EsIDB4MGQsIDB4MjAsIDB4ZjMsIDB4MzAsCi0JMHg3ZiwgMHhmZiwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDQwLCAweDAwLCAweGY2LCAweGE5LCAweGY4LCAweDIwLCAweDA5LCAweDhhLAotCTB4ZjIsIDB4NzMsIDB4MDksIDB4OGQsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDEsCi0JMHg4MCwgMHhmOCwgMHgyNywgMHg3OSwgMHhlOCwgMHgwMCwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGY0LCAweDk1LCAweDcxLCAweDAyLAotCTB4MDAsIDB4MTIsIDB4ODgsIDB4MTEsIDB4ZjYsIDB4YjgsIDB4NTcsIDB4ZjgsCi0JMHgyNywgMHg3MiwgMHhmMCwgMHgyMCwgMHg3ZiwgMHhmZiwgMHhmMiwgMHg4MCwKLQkweGYwLCAweDAwLCAweDgwLCAweDAwLCAweDgwLCAweDgxLCAweDU3LCAweGY4LAotCTB4MjcsIDB4NzIsIDB4ZTgsIDB4MDEsIDB4ZjMsIDB4ZjEsIDB4ZjIsIDB4ODAsCi0JMHg4MCwgMHhmOCwgMHgyNywgMHg3OCwgMHg3NywgMHgxMSwgMHg4MCwgMHgwMCwKLQkweDQ4LCAweDExLCAweDU3LCAweGY4LCAweDI3LCAweDcyLCAweGYyLCAweDgwLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsCi0JMHgwOSwgMHhiNSwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDAxLCAweGYwLCAweDczLCAweDA5LCAweGJhLCAweGYwLCAweDIwLAotCTB4ODAsIDB4MDEsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHg0NSwgMHhmOCwgMHgyNywgMHg3MSwgMHg0MywgMHhmOCwgMHgyNywgMHg3MywKLQkweDgzLCAweGY4LCAweDAwLCAweDExLCAweGY0LCAweDk1LCAweGU3LCAweDIwLAotCTB4ZjYsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MDksIDB4YzksIDB4ZjIsIDB4NzMsCi0JMHgwOSwgMHhlNCwgMHg3NywgMHgxMiwgMHgwMCwgMHgwMCwgMHg1NywgMHhmOCwKLQkweDI3LCAweDcyLCAweGYwLCAweDIwLCAweDdmLCAweGZmLCAweGYyLCAweDgwLAotCTB4NDksIDB4MTIsIDB4ZjUsIDB4MDAsIDB4ZjMsIDB4MDAsIDB4ODAsIDB4MDAsCi0JMHg2MSwgMHhmOCwgMHgwMCwgMHgwYiwgMHg4MCwgMHgwMCwgMHhmOCwgMHgzMCwKLQkweDA5LCAweGRjLCAweGYxLCAweDIwLCAweDgwLCAweDAwLCAweGY1LCAweDIwLAotCTB4ODksIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTIsIDB4NmYsIDB4ZjgsCi0JMHgyNywgMHg3MywgMHgwZCwgMHgwMCwgMHhmNCwgMHg5NSwgMHg0OSwgMHgwYiwKLQkweDRmLCAweGY4LCAweDI3LCAweDcyLCAweDhhLCAweDExLCAweGZlLCAweDAwLAotCTB4NDgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsCi0JMHg0YSwgMHgxNywgMHhlZSwgMHhmYywgMHhmNCwgMHg5NSwgMHg3MSwgMHgwOCwKLQkweDAwLCAweDE2LCAweDg4LCAweDE3LCAweGYwLCAweDc0LCAweDA4LCAweDMwLAotCTB4NDgsIDB4MTgsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsIDB4ZjIsIDB4NzQsCi0JMHgwOSwgMHg4ZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgxLCAweDBhLCAweDBhLAotCTB4ZjIsIDB4NzQsIDB4MDgsIDB4ZGIsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTYsCi0JMHg0OCwgMHgxOCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwgMHhmMiwgMHg3NCwKLQkweDA5LCAweDhmLCAweGYwLCAweDAwLCAweDAwLCAweDAyLCAweDg4LCAweDExLAotCTB4MTAsIDB4MDIsIDB4NzAsIDB4MDEsIDB4MDAsIDB4MTEsIDB4ODAsIDB4MDAsCi0JMHhmMiwgMHg3NCwgMHgwNiwgMHhjZSwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweDQ5LCAweDExLCAweDQ4LCAweDE3LCAweGY2LCAweDAwLCAweDg4LCAweDE3LAotCTB4ZTcsIDB4NjAsIDB4ZjUsIDB4YTksIDB4ZjgsIDB4MjAsIDB4MGEsIDB4MmQsCi0JMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMSwgMHg0OCwgMHgxOCwKLQkweDcwLCAweDAwLCAweDAwLCAweDExLCAweGYyLCAweDc0LCAweDA5LCAweDhmLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODgsIDB4MTEsIDB4NzAsIDB4MDEsCi0JMHgwMCwgMHgxMSwgMHgxMCwgMHgwMiwgMHg4MCwgMHgwMCwgMHhmMiwgMHg3NCwKLQkweDA2LCAweGNlLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LCAweGVlLCAweDA0LAotCTB4NDgsIDB4MTYsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsCi0JMHhmYywgMHgwMCwgMHhlZSwgMHhmZCwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwKLQkweDI3LCAweDcwLCAweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDcyLAotCTB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsIDB4MjcsIDB4NzQsIDB4ZTgsIDB4MDAsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg3NiwgMHg3NiwgMHhmOCwgMHgyNywgMHg3OSwKLQkweGZmLCAweGZmLCAweDc2LCAweGY4LCAweDI3LCAweDdhLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZjgsIDB4MjcsIDB4N2IsIDB4ZmYsIDB4ZmYsIDB4NzYsIDB4ZjgsCi0JMHgyNywgMHg3OCwgMHgwMCwgMHgwMCwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwKLQkweDAwLCAweDA4LCAweDAwLCAweDAxLCAweDc2LCAweDAwLCAweDAwLCAweDAwLAotCTB4NzYsIDB4MDEsIDB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MTIsIDB4ZGMsCi0JMHhmMCwgMHgyMCwgMHgyNywgMHg3YywgMHhlZSwgMHgwMywgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGVlLCAweGZjLCAweGY0LCAweDk1LCAweDRlLCAweDAwLAotCTB4NzcsIDB4MTIsIDB4N2YsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4NDksIDB4MTIsCi0JMHhmMSwgMHg4MCwgMHhmMywgMHgwMCwgMHg4MCwgMHgwMCwgMHg4OSwgMHgxMiwKLQkweGYwLCAweGUwLCAweGYxLCAweGYxLCAweDRmLCAweDAyLCAweGU5LCAweDAxLAotCTB4ZjQsIDB4OTUsIDB4NDgsIDB4MGIsIDB4ZjUsIDB4NDAsIDB4NTYsIDB4MDIsCi0JMHhmMSwgMHg4MCwgMHg4MSwgMHhmOCwgMHgyNywgMHg3OCwgMHg3NywgMHgxMSwKLQkweDgwLCAweDAwLCAweDU2LCAweDAwLCAweDQ5LCAweDExLCAweGYxLCAweDgwLAotCTB4ODksIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsCi0JMHgwYSwgMHg4MSwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDAxLCAweGYwLCAweDczLCAweDBhLCAweDg2LCAweGYwLCAweDIwLAotCTB4ODAsIDB4MDEsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHgxMCwgMHg4MiwgMHhlZSwgMHgwNCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweGVlLCAweGZlLCAweGY0LCAweDk1LCAweDRlLCAweDAwLAotCTB4NzcsIDB4MTEsIDB4N2YsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4NDksIDB4MTEsCi0JMHhmMSwgMHg4MCwgMHhmMywgMHgwMCwgMHg4MCwgMHgwMCwgMHg4OSwgMHgxMSwKLQkweGYwLCAweGUwLCAweGYxLCAweGYxLCAweGU4LCAweDAxLCAweGYyLCAweDgwLAotCTB4ODAsIDB4ZjgsIDB4MjcsIDB4NzgsIDB4NTYsIDB4MDAsIDB4ZjEsIDB4MjAsCi0JMHg4MCwgMHgwMCwgMHhmMSwgMHg4MCwgMHhmNCwgMHg5NSwgMHg0OSwgMHgwYiwKLQkweGY4LCAweDRkLCAweDBhLCAweGFiLCAweGYwLCAweDIwLCAweDgwLCAweDAxLAotCTB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsCi0JMHgwYSwgMHhhZiwgMHhlOCwgMHgwMCwgMHg3NSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDAxLCAweGVlLCAweDAyLCAweDQ4LCAweDExLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTIsIDB4MTMsIDB4MDIsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwgMHhmOCwgMHg0ZCwgMHgwYSwgMHhjYiwKLQkweGYzLCAweDEwLCAweDAwLCAweDAxLCAweDg5LCAweDFhLCAweGY0LCAweDk1LAotCTB4ZjAsIDB4NzIsIDB4MGEsIDB4Y2EsIDB4NDgsIDB4MTEsIDB4MWMsIDB4ZjgsCi0JMHgyOSwgMHg3ZSwgMHg4OCwgMHgxMSwgMHgxMSwgMHhmOCwgMHgyOSwgMHg3ZSwKLQkweGYyLCAweDAwLCAweDAwLCAweDAxLCAweDgwLCAweGY4LCAweDI5LCAweDdlLAotCTB4ODEsIDB4OTIsIDB4NDgsIDB4MTEsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwMiwgMHgwMCwgMHgxMSwKLQkweDg4LCAweDEyLCAweGY2LCAweGI4LCAweGYwLCAweDIwLCAweDdmLCAweGZmLAotCTB4NTcsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4ZjIsIDB4ODAsIDB4ZjAsIDB4MDAsCi0JMHg4MCwgMHgwMCwgMHg4MCwgMHg4MiwgMHg1NywgMHhmOCwgMHgyNywgMHg3MCwKLQkweGU4LCAweDAxLCAweGYzLCAweGYxLCAweGYyLCAweDgwLCAweDgwLCAweGY4LAotCTB4MjcsIDB4NzgsIDB4NzcsIDB4MTIsIDB4ODAsIDB4MDAsIDB4NDgsIDB4MTIsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg3MCwgMHhmMiwgMHg4MCwgMHg4OCwgMHgxMiwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgyLCAweDBhLCAweGY0LAotCTB4ZTgsIDB4MDAsIDB4NzUsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsCi0JMHhmMCwgMHg3MywgMHgwYSwgMHhmOSwgMHhmMCwgMHgyMCwgMHg4MCwgMHgwMSwKLQkweDc1LCAweGY4LCAweDAwLCAweDA4LCAweDAwLCAweDAxLCAweDQ1LCAweGY4LAotCTB4MjcsIDB4NzUsIDB4ZTcsIDB4MTAsIDB4NDMsIDB4ZjgsIDB4MjcsIDB4NzEsCi0JMHg4MywgMHhmOCwgMHgwMCwgMHgxMiwgMHg2ZCwgMHhlOCwgMHgwMCwgMHgwNCwKLQkweDZkLCAweDhhLCAweGY2LCAweGFhLCAweGY4LCAweDMwLCAweDBiLCAweDBhLAotCTB4ZjIsIDB4NzMsIDB4MGIsIDB4MjUsIDB4NzcsIDB4MTEsIDB4MDAsIDB4MDAsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg3MCwgMHhmMCwgMHgyMCwgMHg3ZiwgMHhmZiwKLQkweGYyLCAweDgwLCAweDQ5LCAweDExLCAweGY1LCAweDAwLCAweGYzLCAweDAwLAotCTB4ODAsIDB4MDAsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4ODAsIDB4MDAsCi0JMHhmOCwgMHgzMCwgMHgwYiwgMHgxZCwgMHhmMSwgMHgyMCwgMHg4MCwgMHgwMCwKLQkweGY1LCAweDIwLCAweDg5LCAweDExLCAweGY0LCAweDk1LCAweDQ4LCAweDExLAotCTB4NmYsIDB4ZjgsIDB4MjcsIDB4NzEsIDB4MGQsIDB4MDAsIDB4ZjQsIDB4OTUsCi0JMHg0OSwgMHgwYiwgMHg0ZiwgMHhmOCwgMHgyNywgMHg3MCwgMHg0OCwgMHgxMSwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZjAsIDB4ODgsIDB4MTcsIDB4MTAsIDB4MTcsCi0JMHg4MCwgMHgwNSwgMHgxMCwgMHgxNiwgMHg4MCwgMHgwNiwgMHgxMCwgMHgxNSwKLQkweDgwLCAweDA3LCAweDcxLCAweDE0LCAweDAwLCAweDExLCAweDEwLCAweDA1LAotCTB4ZjAsIDB4MzAsIDB4MDAsIDB4MDEsIDB4ODgsIDB4MTAsIDB4MTAsIDB4MDYsCi0JMHhmMCwgMHgzMCwgMHgwMCwgMHgwMSwgMHg4MCwgMHgwOCwgMHg0OSwgMHgxMSwKLQkweDEwLCAweDA1LCAweGY2LCAweDAxLCAweDgwLCAweDA5LCAweDEwLCAweDA2LAotCTB4NjEsIDB4ZjgsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsCi0JMHgwYiwgMHg0YiwgMHgxMCwgMHgwOSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDgwLCAweDA5LCAweDcxLCAweDA4LCAweDAwLCAweDEyLCAweGY0LCAweGFhLAotCTB4ZjgsIDB4MzAsIDB4MGIsIDB4NTQsIDB4MTAsIDB4MDksIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg4MCwgMHgwOSwgMHgxMiwgMHgwOSwgMHg0OSwgMHgxMSwKLQkweGY0LCAweDdmLCAweDgwLCAweDA5LCAweGY2LCAweDIwLCAweDgwLCAweDBhLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NzAsIDB4NGUsIDB4MGMsIDB4MTAsIDB4MDksCi0JMHg4MCwgMHgwMCwgMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwKLQkweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDg4LCAweDE2LCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NmMsIDB4ODYsIDB4MGIsIDB4NmQsIDB4ZjIsIDB4NzMsCi0JMHgwYywgMHg1OSwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwgMHhmNiwgMHhiOCwKLQkweGY0LCAweDk1LCAweDU2LCAweDBjLCAweGYwLCAweGY5LCAweDg4LCAweDEyLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NzAsIDB4ZTIsIDB4MjcsIDB4N2MsCi0JMHgyOSwgMHg4NiwgMHhlOCwgMHgwMCwgMHg4MCwgMHgwZSwgMHg0OCwgMHgxMSwKLQkweGY4LCAweDQ1LCAweDBiLCAweGNjLCAweDc3LCAweDEwLCAweDAwLCAweDAxLAotCTB4ZjQsIDB4YTksIDB4ZjgsIDB4MzAsIDB4MGIsIDB4ODksIDB4NmMsIDB4ZTEsCi0JMHhmZiwgMHhmZCwgMHgwYiwgMHg4YiwgMHgxMCwgMHhlNywgMHgwMCwgMHgwMiwKLQkweDgwLCAweDBlLCAweGYwLCAweDczLCAweDBiLCAweDhiLCAweDEwLCAweDg3LAotCTB4ODAsIDB4MGUsIDB4ZTcsIDB4MTAsIDB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsCi0JMHgwYiwgMHhiMiwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNywgMHg3MCwgMHgwMSwKLQkweDAwLCAweDE2LCAweDEwLCAweDA0LCAweGYwLCAweDc0LCAweDA2LCAweGNlLAotCTB4NDgsIDB4MTcsIDB4NDksIDB4MTYsIDB4ZjYsIDB4MDAsIDB4ODgsIDB4MTcsCi0JMHg0OCwgMHgxMSwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMSwgMHgxMCwgMHgwOSwKLQkweGY2LCAweDIwLCAweDgwLCAweDAwLCAweDQ4LCAweDE4LCAweGYyLCAweDc0LAotCTB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDQsIDB4ODgsIDB4MTYsCi0JMHgxMCwgMHgwNCwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNywgMHg3MCwgMHgwMSwKLQkweDAwLCAweDExLCAweGYwLCAweDc0LCAweDA2LCAweGNlLCAweDQ4LCAweDExLAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4MDQsIDB4ZjAsIDB4NzMsIDB4MGIsIDB4YmMsCi0JMHg3MCwgMHgwMCwgMHgwMCwgMHgxNywgMHg3MCwgMHgwMSwgMHgwMCwgMHgxMSwKLQkweDEwLCAweDA0LCAweGYwLCAweDc0LCAweDA2LCAweGNlLCAweDQ4LCAweDExLAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4MDQsIDB4NDksIDB4MTEsIDB4NDgsIDB4MTYsCi0JMHhmNiwgMHgyMCwgMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDZjLCAweDg2LCAweDBiLCAweGNjLCAweDEwLCAweDBhLCAweDgwLCAweDAwLAotCTB4NDgsIDB4MTgsIDB4ZjIsIDB4NzQsIDB4MGEsIDB4Y2UsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwNCwgMHg4OCwgMHgxNiwgMHgxMiwgMHgwYSwgMHhmOCwgMHg0NSwKLQkweDBjLCAweDMzLCAweDcxLCAweDBhLCAweDAwLCAweDEwLCAweGY0LCAweGFlLAotCTB4ZjgsIDB4MzAsIDB4MGMsIDB4MWMsIDB4NDgsIDB4MTYsIDB4ZjAsIDB4ZTEsCi0JMHg4OCwgMHgxMSwgMHgxMiwgMHgwOCwgMHhmOCwgMHg0NSwgMHgwYiwgMHhkYiwKLQkweDZkLCAweDg5LCAweDEyLCAweDA3LCAweGY4LCAweDQ1LCAweDBiLCAweGU5LAotCTB4MTAsIDB4MDcsIDB4ODAsIDB4MDAsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTEsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMSwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDA2LCAweGRjLCAweGYwLCAweDczLCAweDBiLCAweGVmLCAweDQ4LCAweDExLAotCTB4NmYsIDB4MDAsIDB4MGMsIDB4OWYsIDB4MTAsIDB4MDQsIDB4ZjAsIDB4NzQsCi0JMHgwYSwgMHhiMywgMHgxMSwgMHgwZSwgMHhmMSwgMHhjMCwgMHg4MSwgMHgwZSwKLQkweDEwLCAweDA2LCAweDQ5LCAweDExLCAweGY2LCAweDAwLCAweDgwLCAweDA2LAotCTB4MTAsIDB4MDUsIDB4ZjYsIDB4MjAsIDB4ODgsIDB4MTEsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg0OCwgMHgwOCwgMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwKLQkweDQ4LCAweDE4LCAweGYyLCAweDc0LCAweDBhLCAweGNlLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDQsIDB4MTIsIDB4MDcsIDB4ZjgsIDB4NDUsIDB4MGMsIDB4MTEsCi0JMHgxMCwgMHgwNywgMHg4MCwgMHgwMCwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxMSwKLQkweDEwLCAweDA2LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweGYwLCAweDc0LAotCTB4MDYsIDB4ZGMsIDB4ZjAsIDB4NzMsIDB4MGMsIDB4MTcsIDB4NDgsIDB4MTEsCi0JMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwgMHgxMCwgMHgwNCwgMHhmMCwgMHg3NCwKLQkweDBhLCAweGIzLCAweDExLCAweDBlLCAweGYxLCAweGMwLCAweDgxLCAweDBlLAotCTB4ZjAsIDB4NzMsIDB4MGMsIDB4MzMsIDB4MTIsIDB4MDcsIDB4ZjgsIDB4NDUsCi0JMHgwYywgMHgyYSwgMHgxMCwgMHgwNywgMHg4MCwgMHgwMCwgMHgxMCwgMHgwNiwKLQkweDgwLCAweDAxLCAweDEwLCAweDA1LCAweDgwLCAweDAyLCAweDEwLCAweDA0LAotCTB4ZjAsIDB4NzQsIDB4MDYsIDB4ZGMsIDB4ZjAsIDB4NzMsIDB4MGMsIDB4MzAsCi0JMHgxMiwgMHgwNSwgMHg2ZiwgMHgwMCwgMHgwYywgMHg5ZiwgMHgxMCwgMHgwNCwKLQkweGYwLCAweDc0LCAweDBhLCAweGIzLCAweDExLCAweDBlLCAweGYxLCAweGMwLAotCTB4ODEsIDB4MGUsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MTgsCi0JMHhmMiwgMHg3NCwgMHgwYSwgMHhjZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwKLQkweDcxLCAweDA0LCAweDAwLCAweDExLCAweDcwLCAweDgxLCAweDI5LCAweDg2LAotCTB4MTAsIDB4MGUsIDB4MWMsIDB4ZjgsIDB4MjksIDB4ODYsIDB4ODAsIDB4MGUsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMSwgMHg0OCwgMHgxOCwgMHhmMiwgMHg3NCwKLQkweDBhLCAweGNlLCAweGYwLCAweDAwLCAweDAwLCAweDA0LCAweDEwLCAweDBlLAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTEsIDB4ODAsIDB4ODEsIDB4MTAsIDB4ZjgsCi0JMHgyOSwgMHg4NiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhmMCwgMHgzMCwKLQkweDdmLCAweGZmLCAweDgwLCAweGY4LCAweDI5LCAweDg2LCAweDEwLCAweDA5LAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MDksIDB4ZWUsIDB4MTAsCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDEwLCAweGY4LCAweDI3LCAweDc1LCAweDA4LCAweGY4LCAweDI3LCAweDcxLAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDEsIDB4NDgsIDB4MDgsIDB4ZmMsIDB4MDAsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhlZSwgMHhmZiwgMHhmNCwgMHg5NSwKLQkweDcxLCAweDA0LCAweDAwLCAweDE2LCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NDgsIDB4MDgsIDB4NGUsIDB4ZjgsIDB4MjksIDB4N2MsIDB4NmQsIDB4ZWUsCi0JMHhmZiwgMHhmZCwgMHg0OCwgMHgxNiwgMHhmOCwgMHg0NSwgMHgwYywgMHg5OSwKLQkweDU2LCAweGY4LCAweDI5LCAweDdjLCAweGYwLCAweDc0LCAweDBhLCAweDVhLAotCTB4ODgsIDB4MTEsIDB4MTAsIDB4ZjgsIDB4MjksIDB4N2QsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg0OCwgMHgwOCwgMHg0ZSwgMHhmOCwgMHgyOSwgMHg3YywKLQkweDEwLCAweGY4LCAweDI5LCAweDgyLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4YTksCi0JMHhmYSwgMHgzMCwgMHgwYywgMHg5NiwgMHg4MCwgMHhmOCwgMHgyOSwgMHg4MiwKLQkweDU2LCAweGY4LCAweDI5LCAweDgwLCAweGYwLCAweDAwLCAweDAwLCAweDAxLAotCTB4NGUsIDB4ZjgsIDB4MjksIDB4ODAsIDB4NzMsIDB4MTEsIDB4MjksIDB4ODIsCi0JMHg2YywgMHhlZSwgMHhmZiwgMHhmZiwgMHgwYywgMHg3NiwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDE2LCAweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLAotCTB4NzYsIDB4ZjgsIDB4MjksIDB4ODQsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsCi0JMHgyOSwgMHg4NSwgMHgwMCwgMHgwMSwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwKLQkweDJhLCAweDBjLCAweDc2LCAweGY4LCAweDI5LCAweDg2LCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZjgsIDB4MjksIDB4ODcsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsCi0JMHgyOSwgMHg4OCwgMHg3NiwgMHg4MSwgMHhhYSwgMHhhYSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAxLCAweGFhLCAweGFhLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhlZSwgMHhmYywgMHhmNCwgMHg5NSwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxNCwKLQkweDcxLCAweDA3LCAweDAwLCAweDEzLCAweDcxLCAweDA4LCAweDAwLCAweDEyLAotCTB4NzEsIDB4MDksIDB4MDAsIDB4MTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4ZmYsCi0JMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgwZCwgMHg0NCwgMHg0OSwgMHgxMywKLQkweDUzLCAweGY4LCAweDJhLCAweDBjLCAweDRmLCAweGY4LCAweDJhLCAweDBjLAotCTB4NzMsIDB4MTIsIDB4MDAsIDB4MGUsIDB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsCi0JMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMSwKLQkweDcxLCAweGUxLCAweDI0LCAweDAwLCAweDAwLCAweDExLCAweGY0LCAweGE5LAotCTB4ZjgsIDB4MzAsIDB4MGQsIDB4MTcsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MDIsCi0JMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgwYywgMHhlYywgMHg3NywgMHgxMSwKLQkweDI5LCAweDhhLCAweDc2LCAweDgxLCAweDAwLCAweDAwLCAweGU4LCAweDAwLAotCTB4NzcsIDB4MTQsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTMsIDB4MDAsIDB4MDAsCi0JMHhmMCwgMHg3MywgMHgwZCwgMHg0OCwgMHg2YywgMHg4MywgMHgwYywgMHhmYSwKLQkweDc3LCAweDExLCAweDI5LCAweDhhLCAweDQ4LCAweDEyLCAweGYwLCAweGU4LAotCTB4ZjAsIDB4NDAsIDB4ODAsIDB4MDAsIDB4ODAsIDB4ODEsIDB4ZTgsIDB4MDAsCi0JMHg3NywgMHgxNCwgMHgwMCwgMHgwMCwgMHhmMCwgMHg3MywgMHgwZCwgMHg0OCwKLQkweDQ5LCAweDEzLCAweGYzLCAweDQwLCAweDgwLCAweDAwLCAweDgxLCAweGY4LAotCTB4MjksIDB4OGEsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTUsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwZCwgMHgwNywgMHg2OSwgMHhmOCwgMHgyOSwgMHg4YSwKLQkweDQwLCAweDAwLCAweDYxLCAweGY4LCAweDAwLCAweDE0LCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MjAsIDB4MGQsIDB4MGYsIDB4NjksIDB4ZjgsIDB4MjksIDB4OGEsCi0JMHgyMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgyOSwgMHg4YSwgMHg0OSwgMHgxMiwKLQkweGYzLCAweGU4LCAweDFiLCAweDgxLCAweDgxLCAweDgxLCAweGYwLCAweDczLAotCTB4MGQsIDB4NDgsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODQsIDB4ZjgsIDB4NGMsCi0JMHgwZCwgMHgzNywgMHg3NywgMHgxMSwgMHgyOSwgMHg4OCwgMHg3NiwgMHg4MSwKLQkweGFhLCAweGFhLCAweDExLCAweGY4LCAweDI5LCAweDg1LCAweGYzLCAweDEwLAotCTB4MDAsIDB4MDEsIDB4ZjMsIDB4NDAsIDB4YWEsIDB4MDAsIDB4ODEsIDB4ZTEsCi0JMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgwMSwKLQkweDcwLCAweDAyLCAweDAwLCAweDE0LCAweDcwLCAweDAzLCAweDAwLCAweDEzLAotCTB4ZjIsIDB4NzQsIDB4MGIsIDB4MjgsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg3MSwgMHhmOCwgMHgyOSwgMHg4NSwgMHgyOSwgMHg4NCwgMHhmMCwgMHg3MywKLQkweDBkLCAweDczLCAweDc2LCAweDAwLCAweDAwLCAweDAwLCAweDgwLCAweDAxLAotCTB4NzYsIDB4MDIsIDB4MDAsIDB4MDAsIDB4NzAsIDB4MDMsIDB4MDAsIDB4MTMsCi0JMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwgMHhlOCwgMHgwMCwKLQkweGYwLCAweDczLCAweDBkLCAweDczLCAweDc3LCAweDExLCAweDI5LCAweDhhLAotCTB4NzAsIDB4ODEsIDB4MDAsIDB4MTMsIDB4MTEsIDB4ZjgsIDB4MjksIDB4ODQsCi0JMHhmOCwgMHg0YywgMHgwZCwgMHg2OCwgMHg3NywgMHgxMSwgMHgyOSwgMHg4OCwKLQkweDc2LCAweDgxLCAweGFhLCAweGFhLCAweDExLCAweGY4LCAweDI5LCAweDg1LAotCTB4ZjMsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ZjMsIDB4NDAsIDB4YWEsIDB4MDAsCi0JMHg4MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMywKLQkweDgwLCAweDAxLCAweDcwLCAweDAyLCAweDAwLCAweDE0LCAweDcwLCAweDAzLAotCTB4MDAsIDB4MTMsIDB4ZjIsIDB4NzQsIDB4MGIsIDB4MjgsIDB4ZjQsIDB4OTUsCi0JMHg0OCwgMHgxMSwgMHg3MSwgMHhmOCwgMHgyOSwgMHg4NSwgMHgyOSwgMHg4NCwKLQkweGYwLCAweDczLCAweDBkLCAweDczLCAweDc2LCAweDAwLCAweDAwLCAweDAxLAotCTB4ODAsIDB4MDEsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTQsIDB4NzAsIDB4MDMsCi0JMHgwMCwgMHgxMywgMHhmMiwgMHg3NCwgMHgwYiwgMHgyOCwgMHhmNCwgMHg5NSwKLQkweDQ4LCAweDExLCAweDZiLCAweGY4LCAweDI5LCAweDg0LCAweGZmLCAweGZmLAotCTB4ZWUsIDB4MDQsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHhmNSwgMHg0MCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgwYiwgMHhmNCwgMHg3OCwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweGUxLAotCTB4ZmYsIDB4YjksIDB4MGQsIDB4ODgsIDB4ZjIsIDB4NzMsIDB4MGQsIDB4YTUsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHg2MCwgMHhmMiwgMHgwMCwgMHgwMCwgMHgwNiwKLQkweDYxLCAweGY4LCAweDAwLCAweDExLCAweDAwLCAweDIwLCAweGY4LCAweDMwLAotCTB4MGQsIDB4OTgsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDEsCi0JMHhmOCwgMHgyMCwgMHgwZCwgMHhhMywgMHhmMiwgMHgwMCwgMHgwMCwgMHgwNywKLQkweGYwLCAweDczLCAweDBkLCAweGEzLCAweDYxLCAweGY4LCAweDAwLCAweDBiLAotCTB4MDAsIDB4MDEsIDB4ZjgsIDB4MjAsIDB4MGQsIDB4YTEsIDB4ZjIsIDB4NzMsCi0JMHgwZCwgMHhhMywgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDAyLCAweDQ4LCAweDA4LCAweGY0LCAweDdmLCAweDhhLCAweDExLAotCTB4ZmMsIDB4MDAsIDB4ZWUsIDB4ZmYsIDB4ZjAsIDB4NzQsIDB4MDcsIDB4ZmQsCi0JMHhmMCwgMHg3NCwgMHgwNywgMHg0NCwgMHhmMCwgMHg3NCwgMHgwZCwgMHhiNCwKLQkweGYwLCAweDc0LCAweDAyLCAweDA1LCAweGYwLCAweDc0LCAweDA0LCAweDYwLAotCTB4ZjAsIDB4NzMsIDB4MGQsIDB4YWEsIDB4ZWUsIDB4ZmQsIDB4MTAsIDB4ZjgsCi0JMHgyYSwgMHhhMywgMHhmOCwgMHg0NCwgMHgwZCwgMHhjYiwgMHgxMCwgMHhmOCwKLQkweDJhLCAweGE0LCAweGY4LCAweDQ1LCAweDBkLCAweGQ3LCAweDc2LCAweDAwLAotCTB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsIDB4MDksIDB4ZTgsIDB4ZjAsIDB4MjAsCi0JMHgyMiwgMHgwMCwgMHg3NiwgMHhmOCwgMHgyYSwgMHhhNCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGY4LCAweDJhLCAweGE3LCAweDAwLCAweDAwLCAweGYwLCAweDczLAotCTB4MGQsIDB4ZDcsIDB4NzYsIDB4MDAsIDB4MDIsIDB4MDAsIDB4ZjIsIDB4NzQsCi0JMHgwOSwgMHhlOCwgMHhmMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHg3NiwgMHhmOCwKLQkweDJhLCAweGEzLCAweDAwLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGE3LAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzQsIDB4MGMsIDB4NWUsIDB4ZjAsIDB4ZTAsCi0JMHhmMCwgMHgxMCwgMHgzYSwgMHg5OCwgMHhmOCwgMHg0NywgMHgwZCwgMHhlMSwKLQkweDc2LCAweGY4LCAweDI3LCAweDZlLCAweDAwLCAweDAwLCAweGVlLCAweDAzLAotCTB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmUsIDB4NzcsIDB4MTEsCi0JMHgyMCwgMHgwMCwgMHg3NiwgMHgwMCwgMHhhYSwgMHhhYSwgMHg3NiwgMHgwMSwKLQkweDAyLCAweDAwLCAweGYyLCAweDc0LCAweDA2LCAweDZjLCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTEsIDB4NzYsIDB4MDAsIDB4NTUsIDB4NTUsIDB4NzYsIDB4MDEsCi0JMHgwMiwgMHgwMCwgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwgMHgwNiwgMHg2YywKLQkweGYwLCAweDAwLCAweDAyLCAweDAwLCAweDc2LCAweGY4LCAweDJhLCAweGEzLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZjgsIDB4MmEsIDB4YTQsIDB4MDAsIDB4MDAsCi0JMHhlOCwgMHgwMCwgMHg0ZSwgMHgwMCwgMHhmYiwgMHg4MCwgMHgxNSwgMHgzZSwKLQkweGY0LCAweDk1LCAweGU4LCAweDA0LCAweDgwLCAweGY4LCAweDJhLCAweGE1LAotCTB4NzYsIDB4MDAsIDB4MmEsIDB4YTgsIDB4ZjksIDB4ODAsIDB4MTQsIDB4ODcsCi0JMHg3NiwgMHgwMCwgMHgyYSwgMHhhZCwgMHhmYiwgMHg4MCwgMHgxMywgMHg2MiwKLQkweGY0LCAweDk1LCAweGU4LCAweDAyLCAweDEwLCAweGY4LCAweDJhLCAweGE1LAotCTB4ZjksIDB4ODAsIDB4MTQsIDB4NjMsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4NjYsCi0JMHhmNCwgMHg5NSwgMHhlOCwgMHgxYywgMHhmYiwgMHg4MCwgMHgxNiwgMHg4NywKLQkweGY0LCAweDk1LCAweGU4LCAweDFjLCAweGU4LCAweDAxLCAweDRlLCAweDAwLAotCTB4ZmIsIDB4ODAsIDB4MTcsIDB4ZDYsIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHg4MCwgMHhmOCwgMHgyYSwgMHhhNiwgMHg3NiwgMHgwMCwgMHgyYSwgMHhiNywKLQkweGY5LCAweDgwLCAweDE2LCAweGFhLCAweDEwLCAweGY4LCAweDJhLCAweGE2LAotCTB4ZjksIDB4ODAsIDB4MTcsIDB4NWMsIDB4MTAsIDB4ZjgsIDB4MmEsIDB4YTYsCi0JMHhmOSwgMHg4MCwgMHgxNywgMHg2ZiwgMHhlZSwgMHgwMiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweGY0LCAweDk1LCAweDRhLCAweDA4LCAweDRhLCAweDA5LAotCTB4NGEsIDB4MGEsIDB4NGEsIDB4MDcsIDB4NGEsIDB4MWQsIDB4NjgsIDB4ZjgsCi0JMHgwMCwgMHgwNywgMHg3ZCwgMHgzZiwgMHg2OSwgMHhmOCwgMHgwMCwgMHgwNywKLQkweDQwLCAweDAwLCAweDY4LCAweGY4LCAweDAwLCAweDFkLCAweGZmLCAweGZjLAotCTB4MTAsIDB4ZjgsIDB4MmEsIDB4YTcsIDB4ZjgsIDB4NDQsIDB4MGUsIDB4NGIsCi0JMHg3NiwgMHhmOCwgMHgyYSwgMHhhMywgMHgwMCwgMHgwMSwgMHhmMCwgMHg3MywKLQkweDBlLCAweDRlLCAweDc2LCAweGY4LCAweDJhLCAweGE0LCAweDAwLCAweDAxLAotCTB4OGEsIDB4MWQsIDB4OGEsIDB4MDcsIDB4OGEsIDB4MGEsIDB4OGEsIDB4MDksCi0JMHg4YSwgMHgwOCwgMHhmNCwgMHhlYiwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZlLCAweDg4LCAweDBlLCAweDcxLCAweDA4LAotCTB4MDAsIDB4MTYsIDB4NzEsIDB4MDYsIDB4MDAsIDB4MTcsIDB4MTEsIDB4MDcsCi0JMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwgMHhmMCwgMHgwMCwgMHgyNSwgMHhhMCwKLQkweDg4LCAweDExLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweDgxLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MDYsIDB4Y2UsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHg3MCwgMHgwMCwgMHgwMCwgMHgxNiwKLQkweDQ4LCAweDExLCAweGYyLCAweDc0LCAweDA2LCAweGNlLCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDcsIDB4NzAsIDB4ODEsIDB4MDAsIDB4MTcsIDB4ZWUsIDB4MDIsCi0JMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweDRhLCAweDExLCAweDg4LCAweDBlLCAweDcxLCAweDAyLCAweDAwLCAweDEyLAotCTB4MTEsIDB4MDMsIDB4ZjAsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjAsIDB4MDAsCi0JMHgyNCwgMHgwMCwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MCwgMHg4MSwKLQkweDAwLCAweDEyLCAweDZlLCAweGUyLCAweGZmLCAweGZlLCAweDBlLCAweDhkLAotCTB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsIDB4ZTgsIDB4MDEsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHhmZiwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGMsCi0JMHgwMCwgMHgwMCwgMHg4MSwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweGVlLCAweGZjLCAweDg4LCAweDBlLAotCTB4ZjQsIDB4OTUsIDB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjMsIDB4MDAsCi0JMHgyNCwgMHgwMCwgMHg4OSwgMHgxMSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwKLQkweDc2LCAweGUxLCAweDAwLCAweDBjLCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgwMSwgMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwKLQkweDAwLCAweDAwLCAweDgwLCAweDAyLCAweDc2LCAweDAzLCAweDAwLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksIDB4ZjQsIDB4OTUsIDB4ZTgsIDB4MDAsCi0JMHhlZSwgMHgwNCwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwKLQkweDg4LCAweDE5LCAweGY0LCAweDk1LCAweDczLCAweDE5LCAweDAwLCAweDBlLAotCTB4ZjEsIDB4NjYsIDB4MDAsIDB4MGQsIDB4ZjIsIDB4MDAsIDB4MjQsIDB4MDAsCi0JMHg3NywgMHgxNSwgMHgyNSwgMHhhMCwgMHg3NywgMHgxNCwgMHgwMCwgMHgwMCwKLQkweDc3LCAweDFhLCAweDAwLCAweDFmLCAweGYwLCAweDcyLCAweDBmLCAweDE0LAotCTB4ZjYsIDB4YjgsIDB4NDksIDB4MTksIDB4MDksIDB4ODUsIDB4ZjgsIDB4NGMsCi0JMHgwZiwgMHgxMywgMHhmMSwgMHgwMCwgMHgwMCwgMHgwNSwgMHg4OSwgMHgxMSwKLQkweDQ5LCAweDE1LCAweGYzLCAweDAwLCAweDAwLCAweDAxLCAweDg5LCAweDEzLAotCTB4NDksIDB4MTUsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODksIDB4MTIsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDEwLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODAsIDB4MGYsIDB4MTMsCi0JMHgxMSwgMHg5MywgMHgxZCwgMHg5MSwgMHgxOSwgMHg5MiwgMHg4OSwgMHgxMCwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDZjLCAweDgwLCAweDBmLCAweDEzLAotCTB4MTEsIDB4OTMsIDB4MWQsIDB4OTEsIDB4MTksIDB4OTIsIDB4ODksIDB4MTAsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg2YywgMHg4MCwgMHgwZiwgMHgxMywKLQkweDExLCAweDkzLCAweDFkLCAweDkxLCAweDE5LCAweDkyLCAweDg5LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ODEsIDB4MGYsIDB4MTMsCi0JMHg2ZCwgMHg5NCwgMHg2ZCwgMHhlZCwgMHgwMCwgMHgwZCwgMHg0OCwgMHgxNCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZjgsIDB4ODgsIDB4MTcsIDB4MTAsIDB4MGQsCi0JMHg4MCwgMHgwNCwgMHgxMCwgMHgwYywgMHg4MCwgMHgwNSwgMHg3MSwgMHgwZSwKLQkweDAwLCAweDE2LCAweDczLCAweDE3LCAweDAwLCAweDBlLCAweGYwLCAweDY2LAotCTB4MDAsIDB4MGQsIDB4ZjAsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ODgsIDB4MTEsCi0JMHgxMCwgMHhmOCwgMHgyNywgMHg2MywgMHhmOCwgMHg0NSwgMHgwZiwgMHgzMiwKLQkweGYyLCAweDc0LCAweDBlLCAweDlmLCAweGY0LCAweDk1LCAweDQ4LCAweDE3LAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NjAsIDB4ZjgsIDB4NDQsIDB4MGYsIDB4M2QsCi0JMHg2MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwKLQkweDBmLCAweDZkLCAweGYwLCAweDczLCAweDExLCAweDMzLCAweDEwLCAweDA0LAotCTB4ODAsIDB4MDAsIDB4MTAsIDB4MDUsIDB4ZjAsIDB4NzQsIDB4MDYsIDB4OWYsCi0JMHgxMSwgMHgwNCwgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwgMHg4MSwgMHgwNCwKLQkweDZkLCAweDhlLCAweDc3LCAweDEwLCAweDAwLCAweDAxLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsCi0JMHgwZiwgMHg2MiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMiwgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDBmLCAweDZkLCAweDQ1LCAweGUxLCAweDAwLCAweDBiLAotCTB4ODgsIDB4MTAsIDB4NDMsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODMsIDB4ZjgsCi0JMHgwMCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhhYSwKLQkweGY4LCAweDMwLCAweDBmLCAweDZkLCAweGYwLCAweDczLCAweDBmLCAweDk2LAotCTB4ZjUsIDB4MDAsIDB4ODEsIDB4MDQsIDB4NDksIDB4MTYsIDB4ZjUsIDB4MjAsCi0JMHg4OSwgMHgxNiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDAwLCAweDQ4LCAweDE2LAotCTB4ZjgsIDB4NDUsIDB4MTEsIDB4MzMsIDB4ZjcsIDB4YjgsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwMiwgMHgwMCwgMHgxMiwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxMiwKLQkweGYwLCAweDEwLCAweDAwLCAweDAzLCAweGY4LCAweDQ2LCAweDBmLCAweDhjLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTIsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDMsCi0JMHhmOCwgMHg0NSwgMHgxMCwgMHgxNiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwMSwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDBmLCAweDljLCAweDc3LCAweDEwLAotCTB4MDAsIDB4MDIsIDB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MGYsIDB4YTgsCi0JMHhmMCwgMHg3MywgMHgwZiwgMHg5NiwgMHg3NywgMHgxMCwgMHgwMCwgMHgwNCwKLQkweGY0LCAweGFhLCAweGY4LCAweDMwLCAweDEwLCAweGI3LCAweDc3LCAweDEwLAotCTB4MDAsIDB4MDUsIDB4ZjQsIDB4YWEsIDB4ZjgsIDB4MzAsIDB4MTAsIDB4YmMsCi0JMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweGYwLCAweDczLCAweDExLCAweDMxLCAweDc2LCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDAyLCAweDExLCAweGUxLCAweDAwLCAweDBjLAotCTB4ZTgsIDB4MDMsIDB4ZjYsIDB4MjAsIDB4ODksIDB4MTIsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHgwMCwgMHgwMywgMHhmNSwgMHhhYSwgMHhmOCwgMHgzMCwKLQkweDBmLCAweGI2LCAweDZiLCAweGY4LCAweDI3LCAweDZmLCAweDAwLCAweDAxLAotCTB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWUsCi0JMHhmOCwgMHgyMCwgMHgwZiwgMHhiZCwgMHg0OCwgMHgxNiwgMHg4MCwgMHgwNiwKLQkweDg4LCAweDEzLCAweGY0LCAweDk1LCAweDc3LCAweDEwLCAweDAwLCAweDAzLAotCTB4ZjYsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MGYsIDB4YzgsIDB4NmIsIDB4ZjgsCi0JMHgyNywgMHg2ZiwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwNiwgMHhmOCwgMHg0NSwKLQkweDEwLCAweDAwLCAweDEwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweDAwLAotCTB4MTAsIDB4MDUsIDB4ODAsIDB4MDEsIDB4MTAsIDB4MDQsIDB4ODAsIDB4MDIsCi0JMHgxMCwgMHgwNiwgMHg4MCwgMHgwMywgMHg0OCwgMHgxMSwgMHhmMiwgMHg3NCwKLQkweDA3LCAweDFlLCAweGYwLCAweDAwLCAweDAwLCAweDA1LCAweDEwLCAweDA2LAotCTB4MDAsIDB4ZTEsIDB4MDAsIDB4MDQsIDB4ODAsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHgxMCwgMHgwNiwgMHgwMCwgMHhlMSwgMHgwMCwgMHgwYywgMHg4MCwgMHhlMSwKLQkweDAwLCAweDBjLCAweDg4LCAweDEyLCAweDExLCAweDA2LCAweDEwLCAweDA0LAotCTB4ZjYsIDB4MDAsIDB4ODAsIDB4MDQsIDB4NDgsIDB4MTYsIDB4ZjYsIDB4MjAsCi0JMHg4OCwgMHgxNiwgMHg4OSwgMHgxMywgMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwKLQkweDAwLCAweDAzLCAweGY2LCAweGFiLCAweGY4LCAweDIwLCAweDBmLCAweGY1LAotCTB4NmIsIDB4ZjgsIDB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsIDB4NzcsIDB4MTAsCi0JMHgwMCwgMHgwYywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMywKLQkweGY2LCAweGFiLCAweGY4LCAweDIwLCAweDEwLCAweDAwLCAweDZiLCAweGY4LAotCTB4MjcsIDB4NmYsIDB4MDAsIDB4MDEsIDB4NmMsIDB4ZTIsIDB4ZmYsIDB4ZmQsCi0JMHgxMSwgMHgzMSwgMHhmNiwgMHhiOCwgMHg2ZiwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDBjLCAweDQ4LCAweDZmLCAweGUxLCAweDAwLCAweDA2LCAweDBjLCAweDE4LAotCTB4ZjAsIDB4MzAsIDB4MGYsIDB4ZmYsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDMsCi0JMHg4MCwgMHhlMSwgMHgwMCwgMHgwYiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAzLCAweDQ4LCAweDE2LCAweGY4LCAweDQ1LCAweDExLCAweDMzLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwYiwgMHg0OSwgMHgxMiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxMywKLQkweGU4LCAweDBjLCAweGY2LCAweDIwLCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWIsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4MjcsCi0JMHg0OCwgMHgxMywgMHg4MCwgMHgwNiwgMHg4OCwgMHgxMCwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweGY1LCAweGFlLCAweGY4LCAweDIwLCAweDEwLCAweDMwLAotCTB4NzAsIDB4MDYsIDB4MDAsIDB4MTYsIDB4MTIsIDB4MDYsIDB4ZjgsIDB4NDUsCi0JMHgxMCwgMHg1ZiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwNCwgMHg4MCwgMHgwMCwKLQkweDEwLCAweDA1LCAweDgwLCAweDAxLCAweDEwLCAweDA0LCAweDgwLCAweDAyLAotCTB4MTAsIDB4MDYsIDB4ODAsIDB4MDMsIDB4NDgsIDB4MTEsIDB4ZjIsIDB4NzQsCi0JMHgwNywgMHgxZSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNSwgMHgxMCwgMHgwNiwKLQkweDAwLCAweGUxLCAweDAwLCAweDA0LCAweDgwLCAweGUxLCAweDAwLCAweDA0LAotCTB4MTAsIDB4MDYsIDB4MDAsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4ODAsIDB4ZTEsCi0JMHgwMCwgMHgwYywgMHg4OCwgMHgxMiwgMHgxMSwgMHgwNiwgMHgxMCwgMHgwNCwKLQkweGY2LCAweDAwLCAweDgwLCAweDA0LCAweDQ4LCAweDE2LCAweGY2LCAweDIwLAotCTB4ODgsIDB4MTYsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMywgMHhmNiwgMHhhYiwKLQkweGY4LCAweDIwLCAweDEwLCAweDVmLCAweDZiLCAweGY4LCAweDI3LCAweDZmLAotCTB4MDAsIDB4MDEsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsIDB4ZjYsIDB4YWEsCi0JMHhmOCwgMHgyMCwgMHgxMCwgMHg2YiwgMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwKLQkweGY0LCAweDk1LCAweDQ4LCAweDE3LCAweDcxLCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MTIsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsIDB4ZjQsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgxMCwgMHg3YywgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDEzLCAweGY2LCAweGFiLAotCTB4ZjgsIDB4MzAsIDB4MTAsIDB4YjQsIDB4ZTcsIDB4MzAsIDB4ZjcsIDB4YWEsCi0JMHhmOCwgMHgzMCwgMHgxMCwgMHhiNCwgMHhmMiwgMHg3NCwgMHgwZSwgMHhjMSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDE3LCAweDg4LCAweDEyLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NmMsIDB4ODIsIDB4MTAsIDB4OGQsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDA1LCAweGYwLCAweDczLCAweDEwLCAweGI0LCAweDc2LCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MDQsIDB4NzcsIDB4MTAsIDB4MDAsIDB4MGMsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwYiwgMHgwMCwgMHgxMiwgMHhmNSwgMHhhYSwKLQkweGY4LCAweDIwLCAweDEwLCAweDlhLCAweGYwLCAweDczLCAweDEwLCAweDljLAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4MGMsIDB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHg3MCwgMHgwMSwgMHgwMCwgMHgxMiwgMHg3MCwgMHgwMiwgMHgwMCwgMHgxNywKLQkweDc2LCAweDAzLCAweDAwLCAweDAxLCAweDQ4LCAweDExLCAweGYyLCAweDc0LAotCTB4MGMsIDB4YjksIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMCwgMHgwMCwgMHgwYywKLQkweDcxLCAweGUxLCAweDAwLCAweDBiLCAweDAwLCAweDEyLCAweGY2LCAweGFhLAotCTB4ZjgsIDB4MjAsIDB4MTEsIDB4MWMsIDB4NDgsIDB4MTYsIDB4ZjgsIDB4NDUsCi0JMHgxMSwgMHgzMywgMHg2MCwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwNSwKLQkweGY4LCAweDIwLCAweDEwLCAweGRmLCAweDEwLCAweGUxLCAweDAwLCAweDBiLAotCTB4MDgsIDB4ZTEsIDB4MDAsIDB4MGMsIDB4MTEsIDB4ZTEsIDB4MDAsIDB4MDQsCi0JMHhmOCwgMHg0ZCwgMHgxMCwgMHhjNywgMHg2YiwgMHhmOCwgMHgyNywgMHg2ZiwKLQkweDAwLCAweDAxLCAweDg4LCAweDEwLCAweGY0LCAweDk1LCAweGY0LCAweDk1LAotCTB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4Y2YsIDB4NDgsIDB4MTYsCi0JMHhmNCwgMHg5NSwgMHg0OCwgMHgwOCwgMHhmOCwgMHg0NSwgMHgxMSwgMHgxNiwKLQkweDZmLCAweGUxLCAweDAwLCAweDBjLCAweDBkLCAweDAwLCAweDgxLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MTEsIDB4MDQsIDB4ZjUsIDB4MDAsIDB4ODEsIDB4MDQsCi0JMHg0OSwgMHgxNiwgMHhmNSwgMHgyMCwgMHg4OSwgMHgxNiwgMHhmMCwgMHg3MywKLQkweDExLCAweDBlLCAweDEwLCAweGUxLCAweDAwLCAweDBiLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MDAsIDB4MTIsIDB4ODgsIDB4MTAsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNiwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMSwgMHgxNiwKLQkweDQ5LCAweDEyLCAweGY2LCAweDIwLCAweDg4LCAweDEwLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjUsIDB4YWUsIDB4ZjgsIDB4MjAsIDB4MTAsIDB4ZjMsCi0JMHg0OCwgMHgxNiwgMHg4MCwgMHgwNiwgMHg0OCwgMHgwOCwgMHhmOCwgMHg0NSwKLQkweDExLCAweDE2LCAweDEwLCAweDA0LCAweDcwLCAweDAyLCAweDAwLCAweDE3LAotCTB4ODAsIDB4MDAsIDB4NzYsIDB4MDMsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MDYsCi0JMHg4MCwgMHgwMSwgMHgxMCwgMHgwNSwgMHhmMCwgMHg3NCwgMHgwYywgMHhiOSwKLQkweDEwLCAweDA2LCAweDAwLCAweGUxLCAweDAwLCAweDBjLCAweDgwLCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MTEsIDB4MDYsIDB4MTAsIDB4MDQsIDB4ZjYsIDB4MDAsCi0JMHg4MCwgMHgwNCwgMHg0OCwgMHgxNiwgMHhmNiwgMHgyMCwgMHg4OCwgMHgxNiwKLQkweDEwLCAweGUxLCAweDAwLCAweDBjLCAweDA4LCAweGUxLCAweDAwLCAweDBiLAotCTB4ZjgsIDB4NDUsIDB4MTEsIDB4MWMsIDB4ZjAsIDB4NzMsIDB4MTEsIDB4MzEsCi0JMHhmMiwgMHg3NCwgMHgwZSwgMHg5ZiwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxNywKLQkweGYwLCAweDczLCAweDExLCAweDMzLCAweDc2LCAweGUxLCAweDAwLCAweDBjLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4MDAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMSwgMHgxMCwgMHgwNCwKLQkweDgwLCAweDAwLCAweDEwLCAweDA1LCAweGYwLCAweDc0LCAweDA2LCAweDlmLAotCTB4ODgsIDB4MTIsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsIDB4MDAsIDB4ZmYsCi0JMHhmNCwgMHhhYSwgMHhmOCwgMHgzMCwgMHgxMSwgMHgzMywgMHg2YywgMHg4NiwKLQkweDBmLCAweDcwLCAweGVlLCAweDA4LCAweDhhLCAweDE3LCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmMsCi0JMHhmNCwgMHg5NSwgMHg3MSwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4OCwgMHgxMSwKLQkweDczLCAweDEyLCAweDAwLCAweDBlLCAweGYxLCAweDY2LCAweDAwLCAweDBkLAotCTB4ZjMsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ODksIDB4MTQsIDB4MTMsIDB4ODEsCi0JMHhmNywgMHg3YSwgMHhmMywgMHgzMCwgMHgwMCwgMHgwMSwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDYwLCAweDEzLCAweGUxLCAweDAwLCAweDAxLCAweGY3LCAweDdjLAotCTB4ZjMsIDB4MzAsIDB4MDAsIDB4MDMsIDB4ODEsIDB4ZjgsIDB4MjcsIDB4NjEsCi0JMHhlOSwgMHgwZiwgMHgxOSwgMHhlMSwgMHgwMCwgMHgwMSwgMHg4MSwgMHhmOCwKLQkweDI3LCAweDYyLCAweDcxLCAweGU0LCAweDAwLCAweDAzLCAweDAwLCAweDEzLAotCTB4ZjYsIDB4YjgsIDB4NDksIDB4MTMsIDB4ZjMsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHhmMywgMHgzMCwgMHgwMCwgMHgwZiwgMHg0OSwgMHgwYiwgMHgwOSwgMHhmOCwKLQkweDI3LCAweDYyLCAweGY4LCAweDRkLCAweDExLCAweDc1LCAweDc3LCAweDEwLAotCTB4MDAsIDB4ZmYsIDB4ZjQsIDB4YWIsIDB4ZjgsIDB4MzAsIDB4MTEsIDB4NzUsCi0JMHg1NywgMHhmOCwgMHgyNywgMHg2YywgMHhmMywgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRmLCAweGY4LCAweDI3LCAweDZjLCAweDc2LCAweGY4LCAweDI3LCAweDYzLAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MTEsIDB4NzgsIDB4NzYsIDB4ZjgsCi0JMHgyNywgMHg2MywgMHgwMCwgMHgwMCwgMHg3MCwgMHhlNCwgMHgwMCwgMHgwMywKLQkweDI3LCAweDYyLCAweDc2LCAweGY4LCAweDI3LCAweDY0LCAweDAwLCAweDAwLAotCTB4MTEsIDB4ZjgsIDB4MjcsIDB4NjEsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MGIsCi0JMHgwMCwgMHgwMiwgMHhmOCwgMHgyMCwgMHgxMSwgMHg4ZCwgMHhlOSwgMHgwMSwKLQkweDZmLCAweGUxLCAweDAwLCAweDAyLCAweDBmLCAweDE4LCAweDgxLCAweGY4LAotCTB4MjcsIDB4NjQsIDB4MTEsIDB4ZjgsIDB4MjcsIDB4NjEsIDB4NjEsIDB4ZjgsCi0JMHgwMCwgMHgwYiwgMHgwMCwgMHgwMSwgMHhmOCwgMHgyMCwgMHgxMSwgMHhhOSwKLQkweDEwLCAweGY4LCAweDI3LCAweDY0LCAweGYxLCAweDAwLCAweDAwLCAweDA0LAotCTB4ODksIDB4MTMsIDB4ZTksIDB4YjgsIDB4ZjUsIDB4MjAsIDB4ODEsIDB4ZjgsCi0JMHgyNywgMHg2NSwgMHg2MCwgMHg4NCwgMHgwMCwgMHgwMiwgMHhmOCwgMHgyMCwKLQkweDExLCAweGE5LCAweDcwLCAweDAwLCAweDAwLCAweDExLCAweDcwLCAweDAxLAotCTB4MDAsIDB4MTMsIDB4NzAsIDB4MDIsIDB4MjcsIDB4NjUsIDB4ZjIsIDB4NzQsCi0JMHgwZiwgMHgxOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMiwgMHhlZSwgMHgwNCwKLQkweDhhLCAweDExLCAweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LAotCTB4NGEsIDB4MTcsIDB4ZWUsIDB4ZmMsIDB4ZTgsIDB4MDAsIDB4NGUsIDB4ZjgsCi0JMHgyNywgMHg2NiwgMHhlOCwgMHgwMCwgMHg0ZSwgMHhmOCwgMHgyNywgMHg2OCwKLQkweGU4LCAweDAwLCAweDRlLCAweGY4LCAweDI3LCAweDZjLCAweGU4LCAweDAwLAotCTB4NGUsIDB4ZjgsIDB4MjcsIDB4NmEsIDB4NzcsIDB4MTIsIDB4MjcsIDB4NDAsCi0JMHg3NywgMHgxMSwgMHgyNCwgMHgwMCwgMHg3NywgMHgxYSwgMHgwMCwgMHgxZiwKLQkweGYwLCAweDcyLCAweDExLCAweGRiLCAweDcwLCAweDkyLCAweDAwLCAweDExLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweGZmLCAweDc2LCAweGUxLAotCTB4MDAsIDB4MGMsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwKLQkweDZkLCAweGU5LCAweDAwLCAweDBkLCAweGYwLCAweDIwLCAweDI1LCAweGEwLAotCTB4ZjEsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODksIDB4MTEsIDB4ZjEsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHg4MSwgMHgwMiwgMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDE3LCAweDAwLCAweDIwLCAweDc2LCAweDg2LCAweDAwLCAweGZmLAotCTB4NzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4MDEsIDB4MDAsIDB4MDYsCi0JMHgxMCwgMHgwMiwgMHhmMCwgMHg3NCwgMHgwNiwgMHg2YywgMHg3NiwgMHgwMCwKLQkweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweGYyLCAweDc0LAotCTB4MDYsIDB4NmMsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsIDB4MTAsIDB4MDIsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwZCwgMHg4MCwgMHgwMiwgMHg2ZCwgMHhlOSwKLQkweDAwLCAweDBkLCAweDZkLCAweGVlLCAweDAwLCAweDBkLCAweDZjLCAweGVmLAotCTB4ZmYsIDB4ZmYsIDB4MTEsIDB4ZTgsIDB4ZjAsIDB4NzQsIDB4MGMsIDB4OWQsCi0JMHhlZSwgMHgwNCwgMHg4YSwgMHgxNywgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGZjLCAweDAwLCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweDRhLCAweDE3LAotCTB4ZWUsIDB4ZmEsIDB4ODgsIDB4MTEsIDB4MTAsIDB4MGEsIDB4NDksIDB4MTEsCi0JMHhmOCwgMHg0ZCwgMHgxMiwgMHg5ZiwgMHg0OCwgMHgwOCwgMHhmOCwgMHg0NSwKLQkweDEyLCAweDlmLCAweDgwLCAweDA0LCAweDEyLCAweDgxLCAweGY1LCAweDc4LAotCTB4ODksIDB4MTIsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4NmMsIDB4ZTIsCi0JMHhmZiwgMHhiOSwgMHgxMiwgMHg4YSwgMHg2MSwgMHhmOCwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDgwLCAweGY4LCAweDMwLCAweDEyLCAweDhhLCAweDEzLCAweGUxLAotCTB4MDAsIDB4MDEsIDB4ZjAsIDB4ZTgsIDB4ZjcsIDB4NzgsIDB4ZjEsIDB4YTAsCi0JMHhmMiwgMHgzMCwgMHgxZiwgMHhmZiwgMHg4OCwgMHgxNywgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEyLCAweDI0LCAweDAwLCAweDc3LCAweDE2LCAweDAwLCAweDAwLAotCTB4NzcsIDB4MTMsIDB4MDAsIDB4MjAsIDB4ZjYsIDB4YjgsIDB4NDgsIDB4MTcsCi0JMHgwOCwgMHhlMiwgMHgwMCwgMHgwMSwgMHhmOCwgMHg0NSwgMHgxMiwgMHg0MiwKLQkweDZkLCAweGVhLCAweDAwLCAweDBkLCAweDZkLCAweDk2LCAweDZjLCAweGViLAotCTB4ZmYsIDB4ZmYsIDB4MTIsIDB4MzQsIDB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2YSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI3LCAweDZhLCAweDYwLCAweDgyLCAweDAwLCAweDAxLAotCTB4ZjgsIDB4MzAsIDB4MTIsIDB4NTQsIDB4NzAsIDB4MDAsIDB4MDAsIDB4MTYsCi0JMHhmMiwgMHg3NCwgMHgxMSwgMHgzOCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwKLQkweGYwLCAweDczLCAweDEyLCAweDkwLCAweDcwLCAweDAwLCAweDAwLCAweDE2LAotCTB4ZjIsIDB4NzQsIDB4MTEsIDB4MzgsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHg3MiwgMHgxMCwgMHgyYSwgMHg5ZSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhhZiwKLQkweGY4LCAweDMwLCAweDEyLCAweDZlLCAweDc2LCAweDAwLCAweDAwLCAweDAwLAotCTB4NzYsIDB4MDEsIDB4MDAsIDB4YmMsIDB4NzAsIDB4MDIsIDB4MDAsIDB4MTYsCi0JMHg3NiwgMHgwMywgMHgwMCwgMHgwMCwgMHhmMiwgMHg3NCwgMHgwYywgMHhiOSwKLQkweGY0LCAweDk1LCAweDQ4LCAweDExLCAweGYwLCAweDczLCAweDEyLCAweDkwLAotCTB4MTAsIDB4ZjgsIDB4MjcsIDB4NmUsIDB4ZjgsIDB4NDQsIDB4MTIsIDB4OTAsCi0JMHg3NiwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHhiYywKLQkweDcwLCAweDAyLCAweDAwLCAweDE2LCAweDc2LCAweDAzLCAweDAwLCAweDAwLAotCTB4ZjIsIDB4NzQsIDB4MGMsIDB4YjksIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTEsCi0JMHhmMCwgMHg3NCwgMHgwYywgMHg1ZSwgMHhmMCwgMHhlMCwgMHhmMCwgMHgxMCwKLQkweDEzLCAweDg4LCAweGY4LCAweDQyLCAweDEyLCAweDkwLCAweDc2LCAweGY4LAotCTB4MjcsIDB4NmUsIDB4MDAsIDB4MDEsIDB4ZjAsIDB4NzMsIDB4MTIsIDB4OTAsCi0JMHg1NiwgMHhmOCwgMHgyNywgMHg2NiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDRlLCAweGY4LCAweDI3LCAweDY2LCAweDZkLCAweGU5LCAweDAwLCAweDVlLAotCTB4NTYsIDB4ZjgsIDB4MjcsIDB4NjgsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHg0ZSwgMHhmOCwgMHgyNywgMHg2OCwgMHg3MSwgMHgwNCwgMHgwMCwgMHgxMiwKLQkweDZlLCAweGVhLCAweGZmLCAweGZmLCAweDEyLCAweDE4LCAweDcwLCAweDA0LAotCTB4MDAsIDB4MTIsIDB4ZWUsIDB4MDYsIDB4OGEsIDB4MTcsIDB4OGEsIDB4MTYsCi0JMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwgMHg0YSwgMHgxMSwgMHhlZSwgMHhmZSwKLQkweDg4LCAweDBlLCAweGY0LCAweDk1LCAweGYwLCAweDY2LCAweDAwLCAweDBkLAotCTB4ZjAsIDB4MDAsIDB4MjUsIDB4YTAsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg3NiwgMHg4MSwgMHgwMCwgMHhmZiwgMHg3NiwgMHgwMCwKLQkweDAwLCAweDAwLCAweDc2LCAweDAxLCAweDAwLCAweDA2LCAweGYyLCAweDc0LAotCTB4MDYsIDB4NmMsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4NzYsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHgwMSwgMHgwMCwgMHgwNiwgMHg0OCwgMHgxMSwKLQkweGYyLCAweDc0LCAweDA2LCAweDZjLCAweGYwLCAweDAwLCAweDAwLCAweDA3LAotCTB4ZWUsIDB4MDIsIDB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg4OCwgMHgwZSwgMHhmNCwgMHg5NSwgMHhmMCwgMHg2NiwgMHgwMCwgMHgwZCwKLQkweGYwLCAweDAwLCAweDI0LCAweDAwLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmYsCi0JMHg3NiwgMHg4MSwgMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAzLCAweDAwLCAweGZmLAotCTB4OGEsIDB4MTEsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHgxMywgMHgwMywgMHg4OCwgMHgxMSwgMHhmYSwgMHg0ZCwgMHgxMiwgMHhlYywKLQkweDcxLCAweDAyLCAweDAwLCAweDEyLCAweGYzLCAweDEwLCAweDAwLCAweDAxLAotCTB4ODksIDB4MWEsIDB4ZjQsIDB4OTUsIDB4ZjAsIDB4NzIsIDB4MTIsIDB4ZWIsCi0JMHg3MCwgMHg5MSwgMHgwMCwgMHgxMiwgMHg4YSwgMHgxMSwgMHhmYywgMHgwMCwKLQkweGY0LCAweDk1LCAweDRhLCAweDBiLCAweDRhLCAweDBjLCAweDRhLCAweDBkLAotCTB4ZjcsIDB4YjgsIDB4ZWUsIDB4ZmUsIDB4MTAsIDB4ZjgsIDB4MDAsIDB4MDgsCi0JMHgxMSwgMHgwNiwgMHhmMSwgMHhjMCwgMHg4MywgMHgwMCwgMHhmNCwgMHg4NSwKLQkweDExLCAweDA2LCAweGY3LCAweDg1LCAweDgxLCAweDA2LCAweGY2LCAweGI4LAotCTB4ZWMsIDB4MGYsIDB4MWUsIDB4MDYsIDB4NjEsIDB4MDAsIDB4ODAsIDB4MDAsCi0JMHhmOCwgMHgyMCwgMHgxMywgMHgwNSwgMHhmNCwgMHg4NCwgMHhlZSwgMHgwMiwKLQkweDhhLCAweDBkLCAweDhhLCAweDBjLCAweDhhLCAweDBiLCAweGZjLCAweDAwLAotCTB4ZjQsIDB4OTUsIDB4NGEsIDB4MGIsIDB4NGEsIDB4MGMsIDB4NGEsIDB4MGQsCi0JMHhlZSwgMHhmZSwgMHhmNywgMHhiOCwgMHg4MCwgMHgwMCwgMHgxMCwgMHhmOCwKLQkweDAwLCAweDA4LCAweGY0LCAweDg1LCAweDExLCAweDA2LCAweGY3LCAweDg1LAotCTB4ODEsIDB4MDYsIDB4ZjYsIDB4YjgsIDB4ZWMsIDB4MGYsIDB4MWUsIDB4MDYsCi0JMHhmMCwgMHhmMCwgMHg2MSwgMHgwMCwgMHg4MCwgMHgwMCwgMHhmOCwgMHgyMCwKLQkweDEzLCAweDIwLCAweGY0LCAweDg0LCAweGVlLCAweDAyLCAweDhhLCAweDBkLAotCTB4OGEsIDB4MGMsIDB4OGEsIDB4MGIsIDB4ZmMsIDB4MDAsIDB4NGEsIDB4MTEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHg3NiwgMHg4MSwgMHgyZSwgMHhlYywKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweGVlLCAweGZmLCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4ZWUsIDB4MDEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDEsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4NjIsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4NzYsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHg5MiwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweDk0LCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4YjAsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4YjMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhiZSwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweGJmLCAweDAwLCAweDAwLCAweDc2LCAweGUxLAotCTB4MDAsIDB4YzEsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4YzMsCi0JMHgwMCwgMHgwMCwgMHg3NiwgMHhlMSwgMHgwMCwgMHhjNSwgMHgwMCwgMHgwMCwKLQkweDc2LCAweGUxLCAweDAwLCAweGM3LCAweDAwLCAweDAwLCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHhlZSwgMHhmZiwKLQkweGY0LCAweDk1LCAweDcxLCAweDA2LCAweDAwLCAweDE2LCAweGZiLCAweDgwLAotCTB4MTYsIDB4YTIsIDB4ODgsIDB4MTcsIDB4ZjQsIDB4OTUsIDB4ZjcsIDB4YjgsCi0JMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywgMHhmMCwgMHgxMCwgMHgwMCwgMHgwMiwKLQkweGZhLCAweDQ2LCAweDEzLCAweDg4LCAweDc3LCAweDExLCAweDAwLCAweDAwLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDIsCi0JMHhmOCwgMHg0NSwgMHgxMywgMHhmOSwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywKLQkweGY4LCAweDQ1LCAweDE0LCAweDM5LCAweDEwLCAweGY4LCAweDAwLCAweDE3LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MDEsIDB4ZjgsIDB4NDUsIDB4MTQsIDB4MWYsCi0JMHhmMCwgMHg3MywgMHgxNCwgMHg1MiwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxNywKLQkweGYwLCAweDEwLCAweDAwLCAweDAzLCAweGY4LCAweDQ1LCAweDEzLCAweGQzLAotCTB4MTAsIDB4ZjgsIDB4MDAsIDB4MTcsIDB4ZjAsIDB4MTAsIDB4MDAsIDB4MDYsCi0JMHhmOCwgMHg0NCwgMHgxNCwgMHg1MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwKLQkweDcxLCAweDgyLCAweDAwLCAweDE0LCAweDYxLCAweGU0LCAweDAwLCAweDA3LAotCTB4MDAsIDB4NDAsIDB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsIDB4NDksIDB4MTQsCi0JMHg0OCwgMHgxNywgMHhmNiwgMHgwMCwgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEzLCAweDAwLCAweDU1LCAweDc3LCAweDExLCAweDAwLCAweDU3LAotCTB4NmQsIDB4ZWEsIDB4MDAsIDB4M2IsIDB4ZTUsIDB4MDEsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNiwgMHg4MCwgMHg4MSwgMHg0OCwgMHgxNCwgMHgwMCwgMHhmOCwKLQkweDAwLCAweDE3LCAweDg4LCAweDEyLCAweGY0LCAweDk1LCAweDc3LCAweDExLAotCTB4MDAsIDB4NTUsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4NDAsIDB4ODAsIDB4ODEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwNywKLQkweDgwLCAweDgxLCAweDc3LCAweDExLCAweDAwLCAweDU1LCAweDEwLCAweGUyLAotCTB4MDAsIDB4NDUsIDB4ODAsIDB4ODEsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDgsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHg1NywgMHg4MCwgMHg4MSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDU1LCAweDEwLCAweGUyLCAweDAwLCAweDRhLCAweDgwLCAweDgxLAotCTB4NzcsIDB4MTEsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDksCi0JMHg4MCwgMHg4MSwgMHhmMiwgMHg3MywgMHgxNCwgMHg1MiwgMHg3NywgMHgxMSwKLQkweDAzLCAweGMwLCAweDc3LCAweDEyLCAweDAwLCAweDdiLCAweDEwLCAweDgyLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ODgsIDB4MTMsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHg5NiwgMHgxYiwgMHhmOCwgMHgzMCwgMHgxNCwgMHg1MiwKLQkweDEwLCAweGUzLCAweDAwLCAweDM1LCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwNCwgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDEwLCAweGUzLCAweDAwLCAweDM3LCAweDgwLCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDUsIDB4ODAsIDB4ODIsCi0JMHg0OCwgMHgxMSwgMHhmMCwgMHg0MCwgMHgwMCwgMHgxMCwgMHhmMiwgMHg3MywKLQkweDE0LCAweDUwLCAweGYwLCAweDQwLCAweDAwLCAweDIwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDcsCi0JMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg5NiwgMHgwZCwKLQkweGY4LCAweDMwLCAweDE0LCAweDUyLCAweDEwLCAweGUyLCAweDAwLCAweDM0LAotCTB4NzcsIDB4MTMsIDB4MDAsIDB4NTUsIDB4ODAsIDB4ODMsIDB4NzcsIDB4MTMsCi0JMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMiwgMHg4MCwgMHg4MywKLQkweDEwLCAweGUyLCAweDAwLCAweDM2LCAweDc3LCAweDEyLCAweDAwLCAweDU1LAotCTB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTcsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwMywgMHg4MCwgMHg4MiwgMHg0OCwgMHgxMSwgMHhmMCwgMHg0MCwKLQkweDAwLCAweDA0LCAweGYyLCAweDczLCAweDE0LCAweDUwLCAweGYwLCAweDQwLAotCTB4MDAsIDB4MDgsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODIsCi0JMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywgMHg4OCwgMHgxMiwgMHhmNCwgMHg5NSwKLQkweGY0LCAweDk1LCAweDk2LCAweDBlLCAweGY4LCAweDMwLCAweDE0LCAweDUyLAotCTB4MTAsIDB4ZTIsIDB4MDAsIDB4MzMsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsCi0JMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NywgMHgxMCwgMHhlNiwKLQkweDAwLCAweDAxLCAweDgwLCAweDgyLCAweDQ4LCAweDExLCAweGYyLCAweDczLAotCTB4MTQsIDB4NTAsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MDIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg3YiwgMHgxMCwgMHg4MiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNywKLQkweDg4LCAweDEyLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDk2LCAweDBmLAotCTB4ZjgsIDB4MzAsIDB4MTQsIDB4NTIsIDB4MTAsIDB4ZTIsIDB4MDAsIDB4MzIsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwgMHg3NywgMHgxMywgMHgwMCwgMHg1NywKLQkweDgwLCAweDgyLCAweDQ4LCAweDExLCAweGU3LCAweDYyLCAweGYwLCAweDQwLAotCTB4MDAsIDB4MDEsIDB4ZTUsIDB4MDEsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHg0OCwgMHgxMSwgMHg3MSwgMHg4MiwKLQkweDAwLCAweDEyLCAweDFhLCAweGUyLCAweDAwLCAweDA3LCAweDgwLCAweGUyLAotCTB4MDAsIDB4MDcsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsCi0JMHg4YSwgMHgxNywgMHg0OCwgMHgxMSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLCAweDc3LCAweDBlLAotCTB4MDAsIDB4MDUsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsIDB4ZTgsIDB4MDQsCi0JMHhmNiwgMHhiOCwgMHgyOCwgMHhlMSwgMHgwMCwgMHgwMiwgMHhlZSwgMHhmZiwKLQkweDgwLCAweDgyLCAweDc3LCAweDEyLCAweDAwLCAweDU3LCAweGYwLCAweDIwLAotCTB4ODAsIDB4MDAsIDB4ZWUsIDB4MDEsIDB4MWEsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NywgMHg4MCwgMHg4MiwgMHhlOCwgMHgwMSwgMHgzMiwgMHhlMSwKLQkweDAwLCAweDAyLCAweGY1LCAweDgyLCAweDc3LCAweDExLCAweDAwLCAweDU0LAotCTB4ZjYsIDB4OTMsIDB4MTgsIDB4ODEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTQsCi0JMHhmMiwgMHhhMCwgMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweGY0LCAweDk1LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTEsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsCi0JMHg4OCwgMHgxNiwgMHhmNCwgMHg5NSwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NSwKLQkweDEwLCAweGU2LCAweDAwLCAweDAzLCAweDgwLCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4NzcsIDB4MTMsCi0JMHgwMCwgMHg1NiwgMHg4MCwgMHg4MiwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NiwKLQkweDEwLCAweGUxLCAweDAwLCAweDAzLCAweDgwLCAweDgyLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDQsIDB4NzcsIDB4MTIsIDB4MDAsIDB4NTYsIDB4ODAsIDB4ODIsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHg1NiwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDgwLCAweDgyLCAweGU3LCAweDEyLCAweGU1LCAweDAxLCAweGY5LCAweDgwLAotCTB4MTYsIDB4OWEsIDB4OGEsIDB4MTYsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHg0YSwgMHgxNywgMHhlZSwgMHhmOSwKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDc2LCAweDAwLCAweDAwLCAweDE2LAotCTB4NzYsIDB4MDEsIDB4MDAsIDB4MTcsIDB4NzYsIDB4MDIsIDB4MDAsIDB4MWEsCi0JMHg3NiwgMHgwMywgMHgwMCwgMHgxYiwgMHg3NiwgMHgwNCwgMHgwMCwgMHgxYywKLQkweDc2LCAweDA1LCAweDAwLCAweDFkLCAweDcxLCAweDgxLCAweDAwLCAweDE3LAotCTB4NzEsIDB4ZTcsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NCwgMHgxNCwgMHhkZiwgMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywKLQkweGY2LCAweGI4LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDIwLAotCTB4ZmYsIDB4ZmYsIDB4ZjYsIDB4YjgsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4MDgsCi0JMHhmMCwgMHgyMCwgMHhmZiwgMHhmZiwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwKLQkweDcxLCAweDgxLCAweDAwLCAweDE3LCAweDc2LCAweGU3LCAweDAwLCAweDA2LAotCTB4MDAsIDB4MDEsIDB4NDgsIDB4MTcsIDB4NzcsIDB4MTYsIDB4MDAsIDB4MDAsCi0JMHg3NywgMHgxMCwgMHgwMCwgMHgwNCwgMHg3NywgMHgxNSwgMHgwMCwgMHgwMywKLQkweDc3LCAweDE0LCAweDAwLCAweDAyLCAweDc3LCAweDEzLCAweDAwLCAweDAxLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MzksIDB4NzYsIDB4ZTcsIDB4MDAsIDB4MDgsCi0JMHgwMCwgMHgxZiwgMHg3NiwgMHhlNywgMHgwMCwgMHgwNywgMHgwMCwgMHgwMCwKLQkweDg4LCAweDBlLCAweDc3LCAweDFhLCAweDAwLCAweDA1LCAweDQ4LCAweDE3LAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDksIDB4ODgsIDB4MTIsIDB4NDgsIDB4MTgsCi0JMHg4OCwgMHgxOSwgMHhlOCwgMHgwMCwgMHhmMCwgMHg3MiwgMHgxNSwgMHgyYywKLQkweDczLCAweDE5LCAweDAwLCAweDExLCAweDc2LCAweDgyLCAweDAwLCAweDAwLAotCTB4MTEsIDB4OTEsIDB4NzMsIDB4MTEsIDB4MDAsIDB4MTksIDB4NzAsIDB4ZTIsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgxNiwgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNCwKLQkweDAwLCAweDEzLCAweDcwLCAweGUyLCAweDAwLCAweDA1LCAweDAwLCAweDE0LAotCTB4ODEsIDB4ZTIsIDB4MDAsIDB4MDEsIDB4NzAsIDB4ZTIsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxNSwgMHg3MCwgMHhlMiwgMHgwMCwgMHgwNywgMHgwMCwgMHgxMCwKLQkweDgwLCAweGUyLCAweDAwLCAweDAyLCAweDczLCAweDBlLCAweDAwLCAweDExLAotCTB4ZjEsIDB4MDAsIDB4MDAsIDB4MWUsIDB4NmQsIDB4ZWUsIDB4MDAsIDB4MDUsCi0JMHg2ZCwgMHhlYiwgMHgwMCwgMHgwNSwgMHg2ZCwgMHhlYywgMHgwMCwgMHgwNSwKLQkweDZkLCAweGVkLCAweDAwLCAweDA1LCAweDZkLCAweGU4LCAweDAwLCAweDA1LAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4ODEsIDB4OTEsIDB4NmQsIDB4ZWEsCi0JMHgwMCwgMHgwOCwgMHg3MywgMHgxMSwgMHgwMCwgMHgwZSwgMHhlZSwgMHgwNywKLQkweDc2LCAweGU3LCAweDAwLCAweDQxLCAweDAwLCAweDI0LCAweDc2LCAweGU3LAotCTB4MDAsIDB4NDYsIDB4MDAsIDB4MjUsIDB4NzYsIDB4ZTcsIDB4MDAsIDB4NGIsCi0JMHgwMCwgMHgyNiwgMHg3NiwgMHhlNywgMHgwMCwgMHg1MCwgMHgwMCwgMHgyNywKLQkweDhhLCAweDE3LCAweDhhLCAweDE2LCAweDhhLCAweDExLCAweGY0LCAweGU0LAotCTB4NGEsIDB4MTEsIDB4NGEsIDB4MTYsIDB4ZWUsIDB4ZmUsIDB4ODgsIDB4MTEsCi0JMHg1NiwgMHgwNiwgMHg0ZSwgMHgwMCwgMHhmOSwgMHg4MCwgMHgxNiwgMHhhMiwKLQkweGY3LCAweGI4LCAweDEwLCAweGY4LCAweDAwLCAweDExLCAweGYwLCAweDEwLAotCTB4ZmYsIDB4ZmYsIDB4ZmEsIDB4NDUsIDB4MTUsIDB4NjAsIDB4NzcsIDB4MTYsCi0JMHhmZiwgMHhmZiwgMHg3NywgMHgxMiwgMHgwMCwgMHg3YiwgMHg0OSwgMHgxMSwKLQkweDEwLCAweDgyLCAweGY2LCAweDAzLCAweGYwLCAweDAwLCAweDAwLCAweDA5LAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsCi0JMHhmOCwgMHg0NCwgMHgxNSwgMHg3MSwgMHhmMiwgMHg3MywgMHgxNSwgMHg3MSwKLQkweGY0LCAweDk1LCAweGU3LCAweDE2LCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDksIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMiwgMHgwMCwgMHgwNiwgMHgxMCwgMHg4MSwKLQkweGY4LCAweDQ1LCAweDE1LCAweDVjLCAweDZlLCAweGVhLCAweGZmLCAweGZmLAotCTB4MTUsIDB4NjksIDB4NmQsIDB4ZTksIDB4MDAsIDB4MDgsIDB4NzYsIDB4ODYsCi0JMHgwMCwgMHgwMSwgMHhlOSwgMHgwMSwgMHg1NiwgMHgwMCwgMHhmMSwgMHg4MCwKLQkweDEwLCAweGY4LCAweDAwLCAweDBiLCAweGY4LCAweDQ1LCAweDE1LCAweDdlLAotCTB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjQsIDB4OTUsIDB4NDgsIDB4MTYsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMiwgMHg0OCwgMHgxNiwKLQkweDhhLCAweDE2LCAweDhhLCAweDExLCAweGY0LCAweGU0LCAweDRhLCAweDExLAotCTB4ZWUsIDB4ZmYsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHg3NywgMHgxMCwgMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwKLQkweGY4LCAweDMwLCAweDE1LCAweGM0LCAweDEwLCAweGUxLCAweDAwLCAweDAzLAotCTB4NzcsIDB4MTIsIDB4MDAsIDB4NTUsIDB4ODAsIDB4ODIsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTYsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzcsIDB4MTIsCi0JMHgwMCwgMHg1NiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMiwKLQkweDAwLCAweDU2LCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4MDgsIDB4MzIsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHg3NywgMHgxMiwgMHgwMCwgMHg1NCwgMHhlOCwgMHgwMSwKLQkweGY0LCAweDgyLCAweGY0LCAweDkzLCAweDE4LCAweDgyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4NTQsIDB4ZjAsIDB4NDAsIDB4MDAsIDB4MDAsIDB4ODAsIDB4ODIsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgwMSwgMHhmOSwgMHg4MCwgMHgxNiwgMHg3NiwKLQkweDEwLCAweGUxLCAweDAwLCAweDAxLCAweGY5LCAweDgwLCAweDE2LCAweDY2LAotCTB4ZjAsIDB4NzMsIDB4MTYsIDB4MDMsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNywKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZjksIDB4ODAsIDB4MTUsIDB4ODUsIDB4NzcsIDB4MTEsCi0JMHgwMCwgMHg3YiwgMHg3MSwgMHg4MSwgMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA5LCAweGZiLCAweDgwLCAweDE1LCAweDg1LCAweGYwLCAweDAwLAotCTB4MDAsIDB4MDgsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsCi0JMHgwMCwgMHgxMSwgMHgxMCwgMHhlMSwgMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwKLQkweDE1LCAweDg1LCAweGYwLCAweDAwLCAweDAwLCAweDEwLCAweDc3LCAweDExLAotCTB4MDAsIDB4N2IsIDB4NzEsIDB4ODEsIDB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwOSwgMHhmYiwgMHg4MCwgMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwKLQkweDAwLCAweDE4LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDcxLCAweDgxLAotCTB4MDAsIDB4MTEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsCi0JMHgxNSwgMHg4NSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgyMCwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDksIDB4ZmIsIDB4ODAsIDB4MTUsIDB4ODUsIDB4ZjAsIDB4MDAsCi0JMHgwMCwgMHgyOCwgMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwKLQkweDhhLCAweDExLCAweGY0LCAweGU0LCAweDRhLCAweDExLCAweGVlLCAweGZmLAotCTB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMCwgMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwKLQkweDE2LCAweDQxLCAweDc3LCAweDExLCAweDAwLCAweDU1LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MWUsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwgMHgwMCwgMHg1NiwgMHg3NiwgMHg4MSwKLQkweDAwLCAweDAwLCAweDc3LCAweDExLCAweDAwLCAweDU2LCAweDc2LCAweDgxLAotCTB4MDAsIDB4MDAsIDB4NzcsIDB4MTEsIDB4MDAsIDB4NTYsIDB4ZjIsIDB4NzMsCi0JMHgxNiwgMHg0ZSwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMCwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDcxLCAweDgxLCAweDAwLCAweDExLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDcsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHgxMCwgMHhlMSwgMHgwMCwgMHgzOSwgMHhmOSwgMHg4MCwgMHgxNiwgMHgwOCwKLQkweGY5LCAweDgwLCAweDE2LCAweDlhLCAweGVlLCAweDAxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwNCwgMHg4OCwgMHgxMSwKLQkweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLCAweGZhLCAweDQ0LAotCTB4MTYsIDB4NjMsIDB4ZjQsIDB4OTUsIDB4ZWUsIDB4ZmYsIDB4NzYsIDB4ODEsCi0JMHgwMCwgMHgwMSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweGYwLCAweDEwLCAweDAwLCAweDEwLCAweDRhLCAweDExLCAweDMyLCAweGY4LAotCTB4MDAsIDB4MDgsIDB4ZWUsIDB4ZmYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4MDEsCi0JMHhlOCwgMHgwMSwgMHhlZSwgMHgwMSwgMHhmNCwgMHg4MiwgMHgxYSwgMHg4MSwKLQkweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4ZjAsIDB4MTAsIDB4MDAsIDB4MTAsIDB4NGEsIDB4MTEsIDB4MzIsIDB4ZjgsCi0JMHgwMCwgMHgwOCwgMHhlZSwgMHhmZiwgMHhlOCwgMHgwMSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDAwLCAweGY0LCAweDgyLCAweGVlLCAweDAxLCAweGY0LCAweDkzLAotCTB4MTgsIDB4ODEsIDB4ODAsIDB4ODEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHhmMCwgMHgxMCwgMHgwMCwgMHgxMCwKLQkweDc3LCAweDExLCAweDAwLCAweDAwLCAweDMyLCAweGY4LCAweDAwLCAweDA4LAotCTB4ZWUsIDB4ZmYsIDB4MTEsIDB4ODEsIDB4ZTgsIDB4MDEsIDB4ZWUsIDB4MDEsCi0JMHg3NywgMHgxMSwgMHgwMCwgMHgwMCwgMHhmNCwgMHg4MiwgMHhmMiwgMHhhMCwKLQkweDgwLCAweDgxLCAweDhhLCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweGU0LAotCTB4ZjIsIDB4NzMsIDB4MTYsIDB4OWUsIDB4ZjYsIDB4YmIsIDB4ZjQsIDB4OTUsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwKLQkweGYyLCAweDczLCAweDE2LCAweGE2LCAweGY3LCAweGJiLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwgMHhmNCwgMHg5NSwgMHg3MSwgMHgwNCwKLQkweDAwLCAweDE2LCAweGZiLCAweDgwLCAweDE2LCAweGEyLCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwZSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwZSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwZCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDEwLCAweGU2LCAweDAwLCAweDBkLCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGMsCi0JMHgxMCwgMHhlNiwgMHgwMCwgMHgwYywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGIsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwYiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwKLQkweDgwLCAweDgyLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwYSwgMHg4MCwgMHg4MiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDksIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDksIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA4LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsCi0JMHgwMCwgMHgwOCwgMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA3LCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDcsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA2LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4MTAsIDB4ZTYsIDB4MDAsIDB4MDYsIDB4ODAsIDB4ODIsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDA1LCAweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLAotCTB4MTAsIDB4ZTYsIDB4MDAsIDB4MDUsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNCwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDQsIDB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMywgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDEwLCAweGU2LCAweDAwLCAweDAzLAotCTB4ODAsIDB4ODIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwMiwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMSwgMHgxMCwgMHhlNiwgMHgwMCwgMHgwMSwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDgwLCAweDgyLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMywgMHhlNywgMHg2MiwKLQkweGU1LCAweDAxLCAweGY5LCAweDgwLCAweDE2LCAweDlhLCAweDhhLCAweDE2LAotCTB4OGEsIDB4MTEsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwKLQkweDAwLCAweDEyLCAweGVlLCAweGZmLCAweDc2LCAweDgyLCAweDAwLCAweDAwLAotCTB4ZWUsIDB4MDEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTEsCi0JMHg2OSwgMHg4MSwgMHgwMCwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHhlZSwgMHhmZiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMSwgMHhlZSwgMHgwMSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDExLCAweDY5LCAweDgxLAotCTB4MDAsIDB4MDEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwgMHgwMCwgMHg3YiwgMHgxMCwgMHg4MSwKLQkweGYwLCAweDAwLCAweDAwLCAweDk0LCAweDg4LCAweDExLCAweGY0LCAweDk1LAotCTB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZmEsIDB4NDQsIDB4MTcsIDB4OWMsCi0JMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwgMHhmOSwgMHg4MCwgMHgxNiwgMHg1MywKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLCAweGYwLCAweDAwLAotCTB4MDAsIDB4OTQsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsCi0JMHg3NiwgMHg4MSwgMHgwMCwgMHgwMSwgMHhlZSwgMHgwMSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDc2LCAweGUxLCAweDAwLCAweDAyLAotCTB4MDAsIDB4MjEsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MjAsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgyMywgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDIyLCAweDc2LCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MzgsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MDcsIDB4MDAsIDB4MzksCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwOCwgMHgwMCwgMHgxNSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDA5LCAweDAwLCAweDE0LCAweDc2LCAweGUxLCAweDAwLCAweDBhLAotCTB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGIsIDB4MDAsIDB4NDEsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgwYywgMHgwMCwgMHg0MCwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDBkLCAweDAwLCAweDQzLCAweDc2LCAweGUxLCAweDAwLCAweDBlLAotCTB4MDAsIDB4NDIsIDB4NzYsIDB4ZTEsIDB4MDAsIDB4MGYsIDB4MDAsIDB4NDgsCi0JMHg3NiwgMHhlMSwgMHgwMCwgMHgxMCwgMHgwMCwgMHg0OSwgMHg3NiwgMHhlMSwKLQkweDAwLCAweDExLCAweDAwLCAweDFiLCAweDc2LCAweGUxLCAweDAwLCAweDEyLAotCTB4MDAsIDB4MWEsIDB4OGEsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsCi0JMHg0YSwgMHgxMSwgMHhlZSwgMHhmZCwgMHg4OCwgMHgxMSwgMHg1NiwgMHgwNiwKLQkweDRlLCAweDAwLCAweGY5LCAweDgwLCAweDE2LCAweGEyLCAweDc3LCAweDEyLAotCTB4MDAsIDB4N2IsIDB4NzcsIDB4MGUsIDB4MDAsIDB4MDksIDB4MTAsIDB4ODIsCi0JMHgyOCwgMHhmOCwgMHgwMCwgMHgxMSwgMHhmMCwgMHgwMCwgMHgwMCwgMHg5NSwKLQkweDg4LCAweDExLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDEwLCAweDgxLAotCTB4ZjgsIDB4NDUsIDB4MTcsIDB4ZjAsIDB4ZjIsIDB4NzMsIDB4MTcsIDB4ZmQsCi0JMHg3NywgMHgxMSwgMHhmZiwgMHhmZiwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMSwKLQkweGU5LCAweDAxLCAweDU2LCAweDAwLCAweGYxLCAweDgwLCAweDEwLCAweGY4LAotCTB4MDAsIDB4MGIsIDB4ZjgsIDB4NDUsIDB4MTcsIDB4ZmQsIDB4ZmIsIDB4ODAsCi0JMHgxOCwgMHgxMCwgMHhmNCwgMHg5NSwgMHg0OCwgMHgxMSwgMHhmOSwgMHg4MCwKLQkweDE2LCAweDlhLCAweGVlLCAweDAzLCAweDQ4LCAweDExLCAweDhhLCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMSwKLQkweDAwLCAweDExLCAweGVlLCAweDAxLCAweDEwLCAweDgxLCAweDhhLCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4ZTQsIDB4NGEsIDB4MTEsIDB4ZWUsIDB4ZmYsCi0JMHhmYiwgMHg4MCwgMHgxNiwgMHhhMiwgMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweDc3LCAweDEwLCAweGZmLCAweGZmLCAweGY0LCAweGE5LCAweGY4LCAweDMwLAotCTB4MTgsIDB4YzMsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDEsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDIsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAzLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDA0LCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwNSwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwNiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAxLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDcsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDIwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MDgsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDA1LCAweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDA5LAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwKLQkweDc2LCAweDgyLCAweDAwLCAweDBhLCAweDcxLCAweGUxLCAweDAwLCAweDA2LAotCTB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsCi0JMHgwMCwgMHgwNSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwYiwKLQkweDcxLCAweGUxLCAweDAwLCAweDA2LCAweDAwLCAweDEyLCAweDc2LCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsCi0JMHg3NiwgMHg4MiwgMHgwMCwgMHgwYywgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDAwLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDUsIDB4MDAsIDB4MTIsIDB4NzYsIDB4ODIsIDB4MDAsIDB4MGQsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4MDAsIDB4MGUsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDYsCi0JMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwgMHgwMCwgMHgwMCwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA3LCAweGY5LCAweDgwLCAweDE2LCAweDc2LCAweDEwLCAweGUxLAotCTB4MDAsIDB4MDgsIDB4ZjksIDB4ODAsIDB4MTYsIDB4NzYsIDB4MTAsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHhmOSwgMHg4MCwgMHgxNiwgMHg2NiwgMHgxMCwgMHhlMSwKLQkweDAwLCAweDA4LCAweGY5LCAweDgwLCAweDE2LCAweDY2LCAweGYwLCAweDczLAotCTB4MTgsIDB4ZDEsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsIDB4MTAsIDB4ODEsCi0JMHhmYiwgMHg4MCwgMHgxOCwgMHgxMCwgMHhmMCwgMHgwMCwgMHgwMCwgMHg5NSwKLQkweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLCAweGZiLCAweDgwLAotCTB4MTgsIDB4MTAsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4OWUsIDB4ZjksIDB4ODAsCi0JMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwgMHhmNCwgMHhlNCwKLQkweDRhLCAweDExLCAweDg4LCAweDExLCAweGVlLCAweGZmLCAweGY0LCAweDk1LAotCTB4MTAsIDB4MDQsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTEsCi0JMHhlZSwgMHgwMSwgMHg4MCwgMHg4MSwgMHg4YSwgMHgxMSwgMHhmNCwgMHg5NSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDRhLCAweDE2LCAweGY0LCAweDk1LAotCTB4NzEsIDB4MDQsIDB4MDAsIDB4MTYsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsCi0JMHg4OCwgMHgxMSwgMHhmNCwgMHg5NSwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDEyLCAweDc2LCAweDgyLCAweDAwLCAweDEwLCAweDEwLCAweGU2LAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDMsIDB4MDAsIDB4MTIsCi0JMHg4MCwgMHg4MiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwNCwgMHgwMCwgMHgxMiwKLQkweDEwLCAweGU2LCAweDAwLCAweDAyLCAweDgwLCAweDgyLCAweGU3LCAweDYyLAotCTB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTMsIDB4ZTUsIDB4MDEsCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweDg4LCAweDExLCAweGVlLCAweGZmLAotCTB4ZWUsIDB4MDEsIDB4MTAsIDB4ZTEsIDB4MDAsIDB4MDEsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg3NywgMHgxMSwKLQkweDAwLCAweDdiLCAweDEwLCAweDgxLCAweGYwLCAweDAwLCAweDAwLCAweGIzLAotCTB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsCi0JMHhmYSwgMHg0NCwgMHgxOSwgMHgyYSwgMHhmNCwgMHg5NSwgMHhlZSwgMHhmZiwKLQkweGY5LCAweDgwLCAweDE2LCAweDUzLCAweDc3LCAweDExLCAweDAwLCAweDdiLAotCTB4MTAsIDB4ODEsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjMsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHg3NiwgMHg4MSwgMHgwMCwgMHgwMSwKLQkweGVlLCAweDAxLCAweDc2LCAweGUxLCAweDAwLCAweDAxLCAweDAwLCAweDAwLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTMsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwMywgMHgwMCwgMHgyNiwgMHg3NiwgMHhlMSwgMHgwMCwgMHgwNCwKLQkweDAwLCAweDI1LCAweDc2LCAweGUxLCAweDAwLCAweDA1LCAweDAwLCAweDI0LAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MDAsIDB4NzYsIDB4ZTEsCi0JMHgwMCwgMHgwNywgMHgwMCwgMHgxNywgMHg3NiwgMHhlMSwgMHgwMCwgMHgwOCwKLQkweDAwLCAweDMyLCAweDc2LCAweGUxLCAweDAwLCAweDA5LCAweDAwLCAweDMxLAotCTB4NzYsIDB4ZTEsIDB4MDAsIDB4MGEsIDB4MDAsIDB4MzAsIDB4OGEsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNCwgMHhlNCwgMHg0YSwgMHgxMSwgMHg0YSwgMHgxNiwKLQkweDRhLCAweDE3LCAweGVlLCAweGZmLCAweGY0LCAweDk1LCAweDcxLCAweDA2LAotCTB4MDAsIDB4MTcsIDB4ZmIsIDB4ODAsIDB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsCi0JMHhmNCwgMHg5NSwgMHhmNywgMHhiOCwgMHgxMCwgMHhmOCwgMHgwMCwgMHgxMSwKLQkweGYwLCAweDEwLCAweGZmLCAweGZmLCAweGZhLCAweDQ1LCAweDE5LCAweDczLAotCTB4NzcsIDB4MTYsIDB4ZmYsIDB4ZmYsIDB4NzcsIDB4MTIsIDB4MDAsIDB4N2IsCi0JMHg3NywgMHgwZSwgMHgwMCwgMHgwNSwgMHgxMCwgMHg4MiwgMHgyOCwgMHhmOCwKLQkweDAwLCAweDExLCAweGYwLCAweDAwLCAweDAwLCAweGI0LCAweDg4LCAweDExLAotCTB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4MTAsIDB4ODEsIDB4ZjgsIDB4NDQsCi0JMHgxOSwgMHg4NCwgMHhmMiwgMHg3MywgMHgxOSwgMHg4NCwgMHhmNCwgMHg5NSwKLQkweGU3LCAweDE2LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZjAsIDB4MDAsIDB4MDAsIDB4YjQsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsCi0JMHg3NywgMHgxMiwgMHgwMCwgMHgwMiwgMHgxMCwgMHg4MSwgMHhmOCwgMHg0NSwKLQkweDE5LCAweDZmLCAweDZlLCAweGVhLCAweGZmLCAweGZmLCAweDE5LCAweDdjLAotCTB4NmQsIDB4ZTksIDB4MDAsIDB4MDUsIDB4NjEsIDB4ZjgsIDB4MDAsIDB4MTcsCi0JMHgwMCwgMHgwMSwgMHhmYSwgMHgyMCwgMHgxOSwgMHg4ZiwgMHg3NiwgMHg4NiwKLQkweDAwLCAweDAxLCAweGZiLCAweDgwLCAweDE5LCAweDk3LCAweGY0LCAweDk1LAotCTB4NDgsIDB4MTYsIDB4ZjksIDB4ODAsIDB4MTYsIDB4OWEsIDB4ZWUsIDB4MDEsCi0JMHg4YSwgMHgxNywgMHg0OCwgMHgxNiwgMHg4YSwgMHgxNiwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDRhLCAweDExLCAweGVlLCAweGZmLCAweGZiLCAweDgwLAotCTB4MTYsIDB4YTIsIDB4ODgsIDB4MTEsIDB4ZjQsIDB4OTUsIDB4NzcsIDB4MTAsCi0JMHhmZiwgMHhmZiwgMHhmNCwgMHhhOSwgMHhmOCwgMHgzMCwgMHgxOSwgMHhjYywKLQkweDcxLCAweGUxLCAweDAwLCAweDAyLCAweDAwLCAweDEyLCAweDY5LCAweDgyLAotCTB4MDAsIDB4MTAsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsCi0JMHg2OCwgMHg4MiwgMHhmNywgMHhmZiwgMHg3MSwgMHhlMSwgMHgwMCwgMHgwMiwKLQkweDAwLCAweDEyLCAweDY4LCAweDgyLCAweGZiLCAweGZmLCAweDcxLCAweGUxLAotCTB4MDAsIDB4MDIsIDB4MDAsIDB4MTIsIDB4NjgsIDB4ODIsIDB4ZmYsIDB4ZjAsCi0JMHg3MSwgMHhlMSwgMHgwMCwgMHgwMywgMHgwMCwgMHgxMiwgMHg3NiwgMHg4MiwKLQkweGZmLCAweGZmLCAweDcxLCAweGUxLCAweDAwLCAweDA0LCAweDAwLCAweDEyLAotCTB4NzYsIDB4ODIsIDB4ZmYsIDB4ZmYsIDB4NzEsIDB4ZTEsIDB4MDAsIDB4MDIsCi0JMHgwMCwgMHgxMiwgMHg2OSwgMHg4MiwgMHgwMCwgMHgyMCwgMHg3MSwgMHhlMSwKLQkweDAwLCAweDAyLCAweDAwLCAweDExLCAweGYyLCAweDczLCAweDE5LCAweGRhLAotCTB4NjgsIDB4ODEsIDB4ZmYsIDB4ZWYsIDB4NzcsIDB4MTEsIDB4MDAsIDB4N2IsCi0JMHgxMCwgMHg4MSwgMHhmYiwgMHg4MCwgMHgxOSwgMHg5NywgMHhmMCwgMHgwMCwKLQkweDAwLCAweGI0LCAweDc3LCAweDExLCAweDAwLCAweDdiLCAweDEwLCAweDgxLAotCTB4ZmIsIDB4ODAsIDB4MTksIDB4OTcsIDB4ZjAsIDB4MDAsIDB4MDAsIDB4YjksCi0JMHhmOSwgMHg4MCwgMHgxNiwgMHg5YSwgMHhlZSwgMHgwMSwgMHg4YSwgMHgxMSwKLQkweGY0LCAweGU0LCAweDAwLCAweGE0LCAweDAwLCAweDAwLCAweDE5LCAweGRmLAotCTB4MDAsIDB4MDEsIDB4MmEsIDB4ZTYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyYSwgMHhlNywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyYSwgMHgxMiwKLQkweDBjLCAweDAxLCAweGMzLCAweDRmLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MmEsIDB4MTUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MmEsIDB4MTYsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxOSwgMHgyYSwgMHg1ZCwKLQkweDAwLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDcwLCAweDAwLCAweDc5LAotCTB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjgsCi0JMHgwMCwgMHg3NCwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1NCwgMHgwMCwgMHg2NSwKLQkweDAwLCAweDYzLCAweDAwLCAweDY4LCAweDAwLCAweDZlLCAweDAwLCAweDZmLAotCTB4MDAsIDB4NTQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NmUsCi0JMHgwMCwgMHg2NCwgMHgwMCwgMHgyMCwgMHgwMCwgMHg0MSwgMHgwMCwgMHg0NywKLQkweDAwLCAweDAwLCAweDAwLCAweDA0LCAweDJhLCAweDc2LCAweDAwLCAweDMwLAotCTB4MDAsIDB4MmUsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MGMsCi0JMHgyYSwgMHg3YSwgMHgwMCwgMHg0NiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2MiwKLQkweDAwLCAweDIwLCAweDAwLCAweDMyLCAweDAwLCAweDM3LCAweDAwLCAweDIwLAotCTB4MDAsIDB4MzIsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzAsIDB4MDAsIDB4MzEsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwOSwgMHgyYSwgMHg4NiwgMHgwMCwgMHgzMSwKLQkweDAwLCAweDM0LCAweDAwLCAweDNhLCAweDAwLCAweDMzLCAweDAwLCAweDM1LAotCTB4MDAsIDB4M2EsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MzMsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwZiwgMHgyYSwgMHg4ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAxLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDJhLCAweDllLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4MmEsIDB4OWYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsCi0JMHgyYSwgMHhhMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgyYSwgMHhhMSwKLQkweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDJhLCAweGEyLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDEsIDB4MjksIDB4N2UsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsCi0JMHgyOSwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwKLQkweDI5LCAweDgyLCAweGZmLCAweGZmLCAweDAwLCAweDAxLCAweDJhLCAweGE3LAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDUsIDB4MmEsIDB4YTgsIDB4NzEsIDB4NDEsCi0JMHgyMCwgMHgwMCwgMHgyMCwgMHgwMCwgMHgwMCwgMHgyMywgMHgwNCwgMHgwMCwKLQkweDAwLCAweDBhLCAweDJhLCAweGFkLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDBmLCAweDJhLCAweGI3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4YTAsIDB4ODIsIDB4NDAsCi0JMHgwMCwgMHgwOCwgMHgzMCwgMHg3ZiwgMHgwMCwgMHg4MCwgMHgwMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MjcsIDB4NmUsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMSwgMHgyNywgMHg2ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDA5LCAweDAwLCAweDAwLCAweDFhLCAweDgzLCAweDA0LCAweGU4LAotCTB4MDQsIDB4Y2YsIDB4MDQsIDB4YzUsIDB4MDQsIDB4YmEsIDB4MDQsIDB4YjAsCi0JMHgwNCwgMHhhYywgMHgwNCwgMHg5YywgMHgwNCwgMHg4YywgMHgwNCwgMHg4MSwKLQkweDAwLCAweDc4LCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhhYSwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwMiwgMHgyMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDcsIDB4ZWYsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwNywgMHhlZiwgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA1LCAweGU1LCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweGYyLCAweDczLAotCTB4MDIsIDB4YjUsIDB4ZjQsIDB4OTUsIDB4ZjQsIDB4OTUsIDB4ZjIsIDB4NzMsCi0JMHgwZSwgMHgzMywgMHhmNCwgMHg5NSwgMHhmNCwgMHg5NSwgMHhmMiwgMHg3MywKLQkweDA3LCAweGVmLCAweGY0LCAweDk1LCAweGY0LCAweDk1LCAweDAwLCAweDAwLAotfTsKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jIGIvZHJpdmVycy9tZWRpYS9kdmIvdHR1c2ItZGVjL3R0dXNiX2RlYy5jCmluZGV4IGZlZmRjMDUuLmRlNTgyOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvZHZiL3R0dXNiLWRlYy90dHVzYl9kZWMuYworKysgYi9kcml2ZXJzL21lZGlhL2R2Yi90dHVzYi1kZWMvdHR1c2JfZGVjLmMKQEAgLTEyNzUsNyArMTI3NSw3IEBACiAJdTggYjFbXSA9IHsgMHg2MSB9OwogCXU4ICpiOwogCWNoYXIgaWRzdHJpbmdbMjFdOwotCXU4ICpmaXJtd2FyZSA9IE5VTEw7CisJY29uc3QgdTggKmZpcm13YXJlID0gTlVMTDsKIAlzaXplX3QgZmlybXdhcmVfc2l6ZSA9IDA7CiAJdTE2IGZpcm13YXJlX2NzdW0gPSAwOwogCV9fYmUxNiBmaXJtd2FyZV9jc3VtX25zOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9yYWRpby9taXJvcGNtMjAtcmRzLmMgYi9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYwppbmRleCAwNmRmZWQ5Li4zZTg0MGY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYworKysgYi9kcml2ZXJzL21lZGlhL3JhZGlvL21pcm9wY20yMC1yZHMuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgpAQCAtMjcsMTMgKzI4LDE2IEBACiAJaWYgKHJkc191c2VycykKIAkJcmV0dXJuIC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJcmRzX3VzZXJzKys7CiAJaWYgKCh0ZXh0X2J1ZmZlcj1rbWFsbG9jKDY2LCBHRlBfS0VSTkVMKSkgPT0gMCkgewogCQlyZHNfdXNlcnMtLTsKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJhY2ktcmRzOiBPdXQgb2YgbWVtb3J5IGJ5IG9wZW4oKS4uLlxuIik7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQogCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2J0OHh4L2J0dHYtY2FyZHMuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jCmluZGV4IDhlZjA0MjQuLjFjNTZhZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vYnQ4eHgvYnR0di1jYXJkcy5jCkBAIC0zNzY4LDcgKzM3NjgsOCBAQAogI2RlZmluZSBCVFRWX0FMVF9EQ0xLCQkweDEwMDAwMAogI2RlZmluZSBCVFRWX0FMVF9OQ09ORklHCTB4ODAwMDAwCiAKLXN0YXRpYyBpbnQgX19kZXZpbml0IHB2cl9hbHRlcmFfbG9hZChzdHJ1Y3QgYnR0diAqYnR2LCB1OCAqbWljcm8sIHUzMiBtaWNyb2xlbikKK3N0YXRpYyBpbnQgX19kZXZpbml0IHB2cl9hbHRlcmFfbG9hZChzdHJ1Y3QgYnR0diAqYnR2LCBjb25zdCB1OCAqbWljcm8sCisJCQkJICAgICB1MzIgbWljcm9sZW4pCiB7CiAJdTMyIG47CiAJdTggYml0czsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJfY29yZS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMKaW5kZXggYzhiOWZkYi4uZjJlOGIxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMKKysrIGIvZHJpdmVycy9tZWRpYS92aWRlby9jcGlhMi9jcGlhMl9jb3JlLmMKQEAgLTMzLDExICszMywxMCBAQAogCiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAvKiAjZGVmaW5lIF9DUElBMl9ERUJVR18gKi8KIAotI2luY2x1ZGUgImNwaWEycGF0Y2guaCIKLQogI2lmZGVmIF9DUElBMl9ERUJVR18KIAogc3RhdGljIGNvbnN0IGNoYXIgKmJsb2NrX25hbWVbXSA9IHsKQEAgLTg5MywyNCArODkyLDUzIEBACiAgKiAgYXBwbHlfdnBfcGF0Y2gKICAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCitzdGF0aWMgaW50IGNwaWEyX3NlbmRfb25lYnl0ZV9jb21tYW5kKHN0cnVjdCBjYW1lcmFfZGF0YSAqY2FtLAorCQkJCSAgICAgIHN0cnVjdCBjcGlhMl9jb21tYW5kICpjbWQsCisJCQkJICAgICAgdTggc3RhcnQsIHU4IGRhdHVtKQoreworCWNtZC0+YnVmZmVyLmJsb2NrX2RhdGFbMF0gPSBkYXR1bTsKKwljbWQtPnN0YXJ0ID0gc3RhcnQ7CisJY21kLT5yZWdfY291bnQgPSAxOworCXJldHVybiBjcGlhMl9zZW5kX2NvbW1hbmQoY2FtLCBjbWQpOworfQorCiBzdGF0aWMgaW50IGFwcGx5X3ZwX3BhdGNoKHN0cnVjdCBjYW1lcmFfZGF0YSAqY2FtKQogewotCWludCBpLCBqOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciBmd19uYW1lW10gPSAiY3BpYTIvc3R2MDY3Ml92cDQuYmluIjsKKwlpbnQgaSwgcmV0OwogCXN0cnVjdCBjcGlhMl9jb21tYW5kIGNtZDsKIAorCXJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmY2FtLT5kZXYtPmRldik7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9FUlIgImNwaWEyOiBmYWlsZWQgdG8gbG9hZCBWUCBwYXRjaCBcIiVzXCJcbiIsCisJCSAgICAgICBmd19uYW1lKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAljbWQucmVxX21vZGUgPSBDQU1FUkFBQ0NFU1NfVFlQRV9SRVBFQVQgfCBDQU1FUkFBQ0NFU1NfVlA7CiAJY21kLmRpcmVjdGlvbiA9IFRSQU5TRkVSX1dSSVRFOwogCi0JZm9yIChpID0gMDsgaSA8IFBBVENIX0RBVEFfU0laRTsgaSsrKSB7Ci0JCWZvciAoaiA9IDA7IGogPCBwYXRjaF9kYXRhW2ldLmNvdW50OyBqKyspIHsKLQkJCWNtZC5idWZmZXIuYmxvY2tfZGF0YVtqXSA9IHBhdGNoX2RhdGFbaV0uZGF0YVtqXTsKLQkJfQorCS8qIEZpcnN0IHNlbmQgdGhlIHN0YXJ0IGFkZHJlc3MuLi4gKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEEsIGZ3LT5kYXRhWzBdKTsgLyogaGkgKi8KKwljcGlhMl9zZW5kX29uZWJ5dGVfY29tbWFuZChjYW0sICZjbWQsIDB4MEIsIGZ3LT5kYXRhWzFdKTsgLyogbG8gKi8KIAotCQljbWQuc3RhcnQgPSBwYXRjaF9kYXRhW2ldLnJlZzsKLQkJY21kLnJlZ19jb3VudCA9IHBhdGNoX2RhdGFbaV0uY291bnQ7CisJLyogLi4uIGZvbGxvd2VkIGJ5IHRoZSBkYXRhIHBheWxvYWQgKi8KKwlmb3IgKGkgPSAyOyBpIDwgZnctPnNpemU7IGkgKz0gNjQpIHsKKwkJY21kLnN0YXJ0ID0gMHgwQzsgLyogRGF0YSAqLworCQljbWQucmVnX2NvdW50ID0gbWluX3QoaW50LCA2NCwgZnctPnNpemUgLSBpKTsKKwkJbWVtY3B5KGNtZC5idWZmZXIuYmxvY2tfZGF0YSwgJmZ3LT5kYXRhW2ldLCBjbWQucmVnX2NvdW50KTsKIAkJY3BpYTJfc2VuZF9jb21tYW5kKGNhbSwgJmNtZCk7CiAJfQogCisJLyogTmV4dCBzZW5kIHRoZSBzdGFydCBhZGRyZXNzLi4uICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBBLCBmdy0+ZGF0YVswXSk7IC8qIGhpICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBCLCBmdy0+ZGF0YVsxXSk7IC8qIGxvICovCisKKwkvKiAuLi4gZm9sbG93ZWQgYnkgdGhlICdnb3RvJyBjb21tYW5kICovCisJY3BpYTJfc2VuZF9vbmVieXRlX2NvbW1hbmQoY2FtLCAmY21kLCAweDBELCAxKTsKKworCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2NwaWEyL2NwaWEycGF0Y2guaCBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJwYXRjaC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjA4NWZiLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3BpYTIvY3BpYTJwYXRjaC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjMzICswLDAgQEAKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKgotICogIEZpbGVuYW1lOiBjcGlhMnBhdGNoLmgKLSAqCi0gKiAgQ29weXJpZ2h0IDIwMDEsIFNUTWljcm9sZWN0cm9uaWNzLCBJbmMuCi0gKgotICogIENvbnRhY3Q6ICBzdGV2ZS5taWxsZXJAc3QuY29tCi0gKgotICogIERlc2NyaXB0aW9uOgotICogICAgIFRoaXMgZmlsZSBjb250YWlucyBwYXRjaCBkYXRhIGZvciB0aGUgQ1BpQTIgKHN0djA2NzIpIFZQNC4KLSAqCi0gKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgotICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0jaWZuZGVmIENQSUEyX1BBVENIX0hFQURFUgotI2RlZmluZSBDUElBMl9QQVRDSF9IRUFERVIKLQotdHlwZWRlZiBzdHJ1Y3QgewotCXVuc2lnbmVkIGNoYXIgcmVnOwotCXVuc2lnbmVkIGNoYXIgY291bnQ7Ci0JY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKLX0gY3BpYTJfcGF0Y2g7Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHN0YXJ0X2FkZHJlc3NfaGlbMV0gPSB7Ci0JMHgwMQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgc3RhcnRfYWRkcmVzc19sb1sxXSA9IHsKLQkweEJDCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazBbNjRdID0gewotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4RTMsIDB4MDQsIDB4RTMsIDB4MDUsCi0JMHhFMywgMHgwNiwgMHhFMywgMHgwNywgMHg5MywgMHg0NCwgMHg1NiwgMHhENCwKLQkweDkzLCAweDRFLCAweDU2LCAweDUxLCAweDkzLCAweDRFLCAweDUxLCAweEQ2LAotCTB4OTMsIDB4NEUsIDB4NEYsIDB4NTQsIDB4OTMsIDB4NEUsIDB4OTIsIDB4NEYsCi0JMHg5MiwgMHhBNCwgMHg5MywgMHgwNSwgMHg5MiwgMHhGNCwgMHg5MywgMHgxQiwKLQkweDkyLCAweDkyLCAweDkxLCAweEU2LCAweDkyLCAweDM2LCAweDkyLCAweDc0LAotCTB4OTIsIDB4NEEsIDB4OTIsIDB4OEMsIDB4OTIsIDB4OEUsIDB4QzgsIDB4RDAsCi0JMHgwQiwgMHg0MiwgMHgwMiwgMHhBMCwgMHhDQSwgMHg5MiwgMHgwOSwgMHgwMgotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxWzY0XSA9IHsKLQkweEM5LCAweDEwLCAweDBBLCAweDBBLCAweDBBLCAweDgxLCAweEUzLCAweEI4LAotCTB4RTMsIDB4QjAsIDB4RTMsIDB4QTgsIDB4RTMsIDB4QTAsIDB4RTMsIDB4OTgsCi0JMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHhDRiwgMHhENywgMHgwQSwgMHgxMiwKLQkweENDLCAweDk1LCAweDA4LCAweEIyLCAweDBBLCAweDE4LCAweEUxLCAweDAwLAotCTB4MDEsIDB4RUUsIDB4MEMsIDB4MDgsIDB4NEEsIDB4MTIsIDB4QzgsIDB4MTgsCi0JMHhGMCwgMHg5QSwgMHhDMCwgMHgyMiwgMHhGMywgMHgxQywgMHg0QSwgMHgxMywKLQkweEYzLCAweDE0LCAweEM4LCAweEEwLCAweEYyLCAweDE0LCAweEYyLCAweDFDLAotCTB4RUIsIDB4MTMsIDB4RDMsIDB4QTIsIDB4NjMsIDB4MTYsIDB4NDgsIDB4OUUKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMls2NF0gPSB7Ci0JMHhGMCwgMHgxOCwgMHhBNCwgMHgwMywgMHhGMywgMHg5MywgMHhDMCwgMHg1OCwKLQkweEY3LCAweDEzLCAweDUxLCAweDlDLCAweEU5LCAweDIwLCAweENGLCAweEVGLAotCTB4NjMsIDB4RjksIDB4OTIsIDB4MkUsIDB4RDMsIDB4NUYsIDB4NjMsIDB4RkEsCi0JMHg5MiwgMHgyRSwgMHhEMywgMHg2NywgMHg2MywgMHhGQiwgMHg5MiwgMHgyRSwKLQkweEQzLCAweDZGLCAweEU5LCAweDFBLCAweDYzLCAweDE2LCAweDQ4LCAweEE3LAotCTB4RjAsIDB4MjAsIDB4QTQsIDB4MDYsIDB4RjMsIDB4OTQsIDB4QzAsIDB4MjcsCi0JMHhGNywgMHgxNCwgMHhGNSwgMHgxMywgMHg1MSwgMHg5RCwgMHhGNiwgMHgxMywKLQkweDYzLCAweDE4LCAweEM0LCAweDIwLCAweENCLCAweEVGLCAweDYzLCAweEZDCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazNbNjRdID0gewotCTB4OTIsIDB4MkUsIDB4RDMsIDB4NzcsIDB4NjMsIDB4RkQsIDB4OTIsIDB4MkUsCi0JMHhEMywgMHg3RiwgMHg2MywgMHhGRSwgMHg5MiwgMHgyRSwgMHhEMywgMHg4NywKLQkweDYzLCAweEZGLCAweDkyLCAweDJFLCAweEQzLCAweDhGLCAweDY0LCAweDM4LAotCTB4OTIsIDB4MkUsIDB4RDMsIDB4OTcsIDB4NjQsIDB4MzksIDB4OTIsIDB4MkUsCi0JMHhEMywgMHg5RiwgMHhFMSwgMHgwMCwgMHhGNSwgMHgzQSwgMHhGNCwgMHgzQiwKLQkweEY3LCAweEJGLCAweEYyLCAweEJDLCAweEYyLCAweDNELCAweEUxLCAweDAwLAotCTB4ODAsIDB4ODcsIDB4OTAsIDB4ODAsIDB4NTEsIDB4RDUsIDB4MDIsIDB4MjIsCi0JMHgwMiwgMHgzMiwgMHg0QiwgMHhEMywgMHhGNywgMHgxMSwgMHgwQiwgMHhEQQotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s0WzY0XSA9IHsKLQkweEUxLCAweDAwLCAweDBFLCAweDAyLCAweDAyLCAweDQwLCAweDBELCAweEI1LAotCTB4RTMsIDB4MDIsIDB4NDgsIDB4NTUsIDB4RTUsIDB4MTIsIDB4QTQsIDB4MDEsCi0JMHhFOCwgMHgxQiwgMHhFMywgMHg5MCwgMHhGMCwgMHgxOCwgMHhBNCwgMHgwMSwKLQkweEU4LCAweEJGLCAweDhELCAweEI4LCAweDRCLCAweEQxLCAweDRCLCAweEQ4LAotCTB4MEIsIDB4Q0IsIDB4MEIsIDB4QzIsIDB4RTEsIDB4MDAsIDB4RTMsIDB4MDIsCi0JMHhFMywgMHgwMywgMHg1MiwgMHhEMywgMHg2MCwgMHg1OSwgMHhFNiwgMHg5MywKLQkweDBELCAweDIyLCAweDUyLCAweEQ0LCAweEU2LCAweDkzLCAweDBELCAweDJBLAotCTB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4MDIsIDB4NUQKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrNVs2NF0gPSB7Ci0JMHgwMiwgMHg2MywgMHhFMywgMHgwMiwgMHhDOCwgMHgxMiwgMHgwMiwgMHhDQSwKLQkweEM4LCAweDUyLCAweDAyLCAweEMyLCAweDgyLCAweDY4LCAweEUzLCAweDAyLAotCTB4QzgsIDB4MTQsIDB4MDIsIDB4Q0EsIDB4QzgsIDB4OTAsIDB4MDIsIDB4QzIsCi0JMHgwQSwgMHhEMCwgMHhDOSwgMHg5MywgMHgwQSwgMHhEQSwgMHhDQywgMHhEMiwKLQkweDBBLCAweEUyLCAweDYzLCAweDEyLCAweDAyLCAweERBLCAweDBBLCAweDk4LAotCTB4MEEsIDB4QTAsIDB4MEEsIDB4QTgsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsCi0JMHhFMywgMHgwMiwgMHgwQSwgMHhEMCwgMHhDOSwgMHg5MywgMHgwQSwgMHhEQSwKLQkweENDLCAweEQyLCAweDBBLCAweEUyLCAweDYzLCAweDEyLCAweDAyLCAweERBCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazZbNjRdID0gewotCTB4MEEsIDB4OTgsIDB4MEEsIDB4QTAsIDB4MEEsIDB4QTgsIDB4NDksIDB4OTEsCi0JMHhFNSwgMHg2QSwgMHhBNCwgMHgwNCwgMHhDOCwgMHgxMiwgMHgwMiwgMHhDQSwKLQkweEM4LCAweDUyLCAweDgyLCAweDg5LCAweEM4LCAweDE0LCAweDAyLCAweENBLAotCTB4QzgsIDB4OTAsIDB4MDIsIDB4QzIsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsCi0JMHgwOCwgMHg2MCwgMHhFMSwgMHgwMCwgMHg0OCwgMHg1MywgMHhFOCwgMHg5NywKLQkweDA4LCAweDVBLCAweEUxLCAweDAwLCAweEUzLCAweDAyLCAweEUzLCAweDAzLAotCTB4NTQsIDB4RDMsIDB4NjAsIDB4NTksIDB4RTYsIDB4OTMsIDB4MEQsIDB4NTIsCi0JMHhFMywgMHg5OCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHgwMiwgMHg5QwotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2s3WzY0XSA9IHsKLQkweEUzLCAweDAyLCAweDU1LCAweDEzLCAweDkzLCAweDE3LCAweDU1LCAweDEzLAotCTB4OTMsIDB4MTcsIDB4RTMsIDB4OTAsIDB4RTEsIDB4MDAsIDB4NzUsIDB4MzAsCi0JMHhFMywgMHgwMiwgMHhFMywgMHgwMywgMHg1NSwgMHg1NSwgMHg2MCwgMHg1OSwKLQkweEU2LCAweDkzLCAweDBELCAweEIyLCAweEUzLCAweDk4LCAweEUzLCAweDkwLAotCTB4RTEsIDB4MDAsIDB4MDIsIDB4QUUsIDB4RTcsIDB4OTIsIDB4RTksIDB4MTgsCi0JMHhFQSwgMHg5QSwgMHhFOCwgMHg5OCwgMHhFOCwgMHgxMCwgMHhFOCwgMHgxMSwKLQkweEU4LCAweDUxLCAweEQyLCAweERBLCAweEQyLCAweEYzLCAweEU4LCAweDEzLAotCTB4RDIsIDB4RkEsIDB4RTgsIDB4NTAsIDB4RDIsIDB4RUEsIDB4RTgsIDB4RDAKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrOFs2NF0gPSB7Ci0JMHhFOCwgMHhEMSwgMHhEMywgMHgwQSwgMHgwMywgMHgwOSwgMHg0OCwgMHgyMywKLQkweEU1LCAweDJDLCAweEEwLCAweDAzLCAweDQ4LCAweDI0LCAweEVBLCAweDFDLAotCTB4MDMsIDB4MDgsIDB4RDIsIDB4RTMsIDB4RDMsIDB4MDMsIDB4RDMsIDB4MTMsCi0JMHhFMSwgMHgwMCwgMHgwMiwgMHhDQiwgMHgwNSwgMHg5MywgMHg1NywgMHg5MywKLQkweEYwLCAweDlBLCAweEFDLCAweDBCLCAweEUzLCAweDA3LCAweDkyLCAweEVBLAotCTB4RTIsIDB4OUYsIDB4RTUsIDB4MDYsIDB4RTMsIDB4QjAsIDB4QTAsIDB4MDIsCi0JMHhFQiwgMHgxRSwgMHg4MiwgMHhENywgMHhFQSwgMHgxRSwgMHhFMiwgMHgzQiwKLQkweDg1LCAweDlCLCAweEU5LCAweDFFLCAweEM4LCAweDkwLCAweDg1LCAweDk0Ci19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazlbNjRdID0gewotCTB4MDIsIDB4REUsIDB4MDUsIDB4ODAsIDB4NTcsIDB4OTMsIDB4RjAsIDB4QkEsCi0JMHhBQywgMHgwNiwgMHg5MiwgMHhFQSwgMHhFMiwgMHhCRiwgMHhFNSwgMHgwNiwKLQkweEEwLCAweDAxLCAweEVCLCAweEJGLCAweDg1LCAweDg4LCAweEU5LCAweDNFLAotCTB4QzgsIDB4OTAsIDB4ODUsIDB4ODEsIDB4RTksIDB4M0UsIDB4RjAsIDB4QkEsCi0JMHhGMywgMHgzOSwgMHhGMCwgMHgzQSwgMHg2MCwgMHgxNywgMHhGMCwgMHgzQSwKLQkweEMwLCAweDkwLCAweEYwLCAweEJBLCAweEUxLCAweDAwLCAweDAwLCAweDNGLAotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4NTgsIDB4MTAsIDB4NjAsIDB4NTksCi0JMHhFNiwgMHg5MywgMHgwRCwgMHhBMiwgMHg1OCwgMHgxMiwgMHhFNiwgMHg5MwotfTsKLQotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcGF0Y2hfYmxvY2sxMFs2NF0gPSB7Ci0JMHgwRCwgMHhBQSwgMHhFMywgMHg5OCwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwKLQkweDAzLCAweDAxLCAweEUxLCAweDAwLCAweDAzLCAweDAzLCAweDlCLCAweDdELAotCTB4OEIsIDB4OEIsIDB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4NTgsIDB4NTYsCi0JMHg2MCwgMHg1OSwgMHhFNiwgMHg5MywgMHgwRCwgMHhCQSwgMHhFMywgMHg5OCwKLQkweEUzLCAweDkwLCAweEUxLCAweDAwLCAweDAzLCAweDBGLCAweDkzLCAweDExLAotCTB4RTEsIDB4MDAsIDB4RTMsIDB4MDIsIDB4NEEsIDB4MTEsIDB4MEIsIDB4NDIsCi0JMHg5MSwgMHhBRiwgMHhFMywgMHg5MCwgMHhFMSwgMHgwMCwgMHhGMiwgMHg5MSwKLQkweEYwLCAweDkxLCAweEEzLCAweEZFLCAweEUxLCAweDAwLCAweDYwLCAweDkyCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwYXRjaF9ibG9jazExWzY0XSA9IHsKLQkweEMwLCAweDVGLCAweEYwLCAweDEzLCAweEYwLCAweDEzLCAweDU5LCAweDVCLAotCTB4RTIsIDB4MTMsIDB4RjAsIDB4MTEsIDB4NUEsIDB4MTksIDB4RTIsIDB4MTMsCi0JMHhFMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyNywgMHg2OCwgMHg2MSwKLQkweDc2LCAweDYxLCAweDZFLCAweDYxLCAweDAwLCAweDA2LCAweDAzLCAweDJDLAotCTB4RTMsIDB4MDIsIDB4RTMsIDB4MDMsIDB4RTksIDB4MzgsIDB4NTksIDB4MTUsCi0JMHg1OSwgMHg1QSwgMHhGMiwgMHg5QSwgMHhCQywgMHgwQiwgMHhBNCwgMHgwQSwKLQkweDU5LCAweDFFLCAweEYzLCAweDExLCAweEYwLCAweDFBLCAweEUyLCAweEJCLAotCTB4NTksIDB4MTUsIDB4RjAsIDB4MTEsIDB4MTksIDB4MkEsIDB4RTUsIDB4MDIKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBhdGNoX2Jsb2NrMTJbNTRdID0gewotCTB4QTQsIDB4MDEsIDB4RUIsIDB4QkYsIDB4RTMsIDB4OTgsIDB4RTMsIDB4OTAsCi0JMHhFMSwgMHgwMCwgMHgwMywgMHg0MiwgMHgxOSwgMHgyOCwgMHhFMSwgMHgwMCwKLQkweEU5LCAweDMwLCAweDYwLCAweDc5LCAweEUxLCAweDAwLCAweEUzLCAweDAzLAotCTB4RTMsIDB4MDcsIDB4NjAsIDB4NzksIDB4OTMsIDB4NEUsIDB4RTMsIDB4QjgsCi0JMHhFMywgMHg5OCwgMHhFMSwgMHgwMCwgMHhFOSwgMHgxQSwgMHhGMCwgMHgxRiwKLQkweEUyLCAweDMzLCAweEYwLCAweDkxLCAweEUyLCAweDkyLCAweEUwLCAweDMyLAotCTB4RjAsIDB4MzEsIDB4RTEsIDB4MDAsIDB4MDAsIDB4MDAKLX07Ci0KLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRvX2NhbGxbMV0gPSB7Ci0JMHgwMQotfTsKLQotCi0jZGVmaW5lIFBBVENIX0RBVEFfU0laRSAxOAotCi1zdGF0aWMgY29uc3QgY3BpYTJfcGF0Y2ggcGF0Y2hfZGF0YVtQQVRDSF9EQVRBX1NJWkVdID0gewotCXsweDBBLCBzaXplb2Yoc3RhcnRfYWRkcmVzc19oaSksIHN0YXJ0X2FkZHJlc3NfaGl9Ci0JLAkJCS8vIDAKLQl7MHgwQiwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfbG8pLCBzdGFydF9hZGRyZXNzX2xvfQotCSwJCQkvLyAxCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazApLCBwYXRjaF9ibG9jazB9Ci0JLAkJCS8vIDIKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMSksIHBhdGNoX2Jsb2NrMX0KLQksCQkJLy8gMwotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2syKSwgcGF0Y2hfYmxvY2syfQotCSwJCQkvLyA0Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazMpLCBwYXRjaF9ibG9jazN9Ci0JLAkJCS8vIDUKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNCksIHBhdGNoX2Jsb2NrNH0KLQksCQkJLy8gNgotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s1KSwgcGF0Y2hfYmxvY2s1fQotCSwJCQkvLyA3Ci0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazYpLCBwYXRjaF9ibG9jazZ9Ci0JLAkJCS8vIDgKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrNyksIHBhdGNoX2Jsb2NrN30KLQksCQkJLy8gOQotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s4KSwgcGF0Y2hfYmxvY2s4fQotCSwJCQkvLyAxMAotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2s5KSwgcGF0Y2hfYmxvY2s5fQotCSwJCQkvLzExCi0JezB4MEMsIHNpemVvZihwYXRjaF9ibG9jazEwKSwgcGF0Y2hfYmxvY2sxMH0KLQksCQkJLy8gMTIKLQl7MHgwQywgc2l6ZW9mKHBhdGNoX2Jsb2NrMTEpLCBwYXRjaF9ibG9jazExfQotCSwJCQkvLyAxMwotCXsweDBDLCBzaXplb2YocGF0Y2hfYmxvY2sxMiksIHBhdGNoX2Jsb2NrMTJ9Ci0JLAkJCS8vIDE0Ci0JezB4MEEsIHNpemVvZihzdGFydF9hZGRyZXNzX2hpKSwgc3RhcnRfYWRkcmVzc19oaX0KLQksCQkJLy8gMTUKLQl7MHgwQiwgc2l6ZW9mKHN0YXJ0X2FkZHJlc3NfbG8pLCBzdGFydF9hZGRyZXNzX2xvfQotCSwJCQkvLyAxNgotCXsweDBELCBzaXplb2YoZG9fY2FsbCksIGRvX2NhbGx9CS8vMTcKLX07Ci0KLQotI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9jeDE4L2N4MTgtYXYtZmlybXdhcmUuYwppbmRleCA1MjZlMTQyLi5hMWE2YWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MTgvY3gxOC1hdi1maXJtd2FyZS5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gxOC9jeDE4LWF2LWZpcm13YXJlLmMKQEAgLTI5LDcgKzI5LDcgQEAKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3ID0gTlVMTDsKIAl1MzIgc2l6ZTsKIAl1MzIgdjsKLQl1OCAqcHRyOworCWNvbnN0IHU4ICpwdHI7CiAJaW50IGk7CiAKIAlpZiAocmVxdWVzdF9maXJtd2FyZSgmZncsIEZXRklMRSwgJmN4LT5kZXYtPmRldikgIT0gMCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vY3gyNTg0MC9jeDI1ODQwLWZpcm13YXJlLmMKaW5kZXggNjIwZDI5NS4uOGQ0ODlhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9jeDI1ODQwL2N4MjU4NDAtZmlybXdhcmUuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL2N4MjU4NDAvY3gyNTg0MC1maXJtd2FyZS5jCkBAIC03OSw3ICs3OSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZndfd3JpdGUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggKmRhdGEsIGludCBzaXplKQorc3RhdGljIGludCBmd193cml0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LCBjb25zdCB1OCAqZGF0YSwgaW50IHNpemUpCiB7CiAJaWYgKGkyY19tYXN0ZXJfc2VuZChjbGllbnQsIGRhdGEsIHNpemUpIDwgc2l6ZSkgewogCQl2NGxfZXJyKGNsaWVudCwgImZpcm13YXJlIGxvYWQgaTJjIGZhaWx1cmVcbiIpOwpAQCAtOTMsNyArOTMsOCBAQAogewogCXN0cnVjdCBjeDI1ODQwX3N0YXRlICpzdGF0ZSA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncgPSBOVUxMOwotCXU4IGJ1ZmZlcls0XSwgKnB0cjsKKwl1OCBidWZmZXJbRldTRU5EXTsKKwljb25zdCB1OCAqcHRyOwogCWludCBzaXplLCByZXR2YWw7CiAKIAlpZiAoc3RhdGUtPmlzX2N4MjM4ODUpCkBAIC0xMDgsMjkgKzEwOSwyMyBAQAogCiAJYnVmZmVyWzBdID0gMHgwODsKIAlidWZmZXJbMV0gPSAweDAyOwotCWJ1ZmZlclsyXSA9IGZ3LT5kYXRhWzBdOwotCWJ1ZmZlclszXSA9IGZ3LT5kYXRhWzFdOwotCXJldHZhbCA9IGZ3X3dyaXRlKGNsaWVudCwgYnVmZmVyLCA0KTsKIAotCWlmIChyZXR2YWwgPCAwKSB7Ci0JCXJlbGVhc2VfZmlybXdhcmUoZncpOwotCQlyZXR1cm4gcmV0dmFsOwotCX0KLQotCXNpemUgPSBmdy0+c2l6ZSAtIDI7CisJc2l6ZSA9IGZ3LT5zaXplOwogCXB0ciA9IGZ3LT5kYXRhOwogCXdoaWxlIChzaXplID4gMCkgewotCQlwdHJbMF0gPSAweDA4OwotCQlwdHJbMV0gPSAweDAyOwotCQlyZXR2YWwgPSBmd193cml0ZShjbGllbnQsIHB0ciwgbWluKEZXU0VORCwgc2l6ZSArIDIpKTsKKwkJaW50IGxlbiA9IG1pbihGV1NFTkQgLSAyLCBzaXplKTsKKworCQltZW1jcHkoYnVmZmVyICsgMiwgcHRyLCBsZW4pOworCisJCXJldHZhbCA9IGZ3X3dyaXRlKGNsaWVudCwgYnVmZmVyLCBsZW4gKyAyKTsKIAogCQlpZiAocmV0dmFsIDwgMCkgewogCQkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJCQlyZXR1cm4gcmV0dmFsOwogCQl9CiAKLQkJc2l6ZSAtPSBGV1NFTkQgLSAyOwotCQlwdHIgKz0gRldTRU5EIC0gMjsKKwkJc2l6ZSAtPSBsZW47CisJCXB0ciArPSBsZW47CiAJfQogCiAJZW5kX2Z3X2xvYWQoY2xpZW50KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFiZmlybXdhcmUuaCBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFiZmlybXdhcmUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JkOTI2My4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYmZpcm13YXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNDE1ICswLDAgQEAKLS8qCi0gKiBkYWJkYXRhLmggLSBkYWIgdXNiIGZpcm13YXJlIGFuZCBiaXRzdHJlYW0gZGF0YQotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQotICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24uCi0gKi8KLQotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZmlybXdhcmVbXSA9IHsKLQoteyAgMiwgMHgwMDAwLCAwLCB7MHgyMSwweDU3fSB9LAoteyAgMywgMHgwMDAzLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMGIsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAxMywgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDFiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwMjMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDAyYiwgMCwgezB4MDIsMHgwMSwweDY2fSB9LAoteyAgMywgMHgwMDMzLCAwLCB7MHgwMiwweDAzLDB4MGZ9IH0sCi17ICAzLCAweDAwM2IsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDA0MywgMCwgezB4MDIsMHgwMSwweDAwfSB9LAoteyAgMywgMHgwMDRiLCAwLCB7MHgwMiwweDAxLDB4NjZ9IH0sCi17ICAzLCAweDAwNTMsIDAsIHsweDAyLDB4MDEsMHg2Nn0gfSwKLXsgIDMsIDB4MDA1YiwgMCwgezB4MDIsMHgwNCwweGJkfSB9LAoteyAgMywgMHgwMDYzLCAwLCB7MHgwMiwweDAxLDB4Njd9IH0sCi17ICAzLCAweDAxMDAsIDAsIHsweDAyLDB4MGMsMHg1YX0gfSwKLXsgIDMsIDB4MDEwNCwgMCwgezB4MDIsMHgwMSwweGVkfSB9LAoteyAgMywgMHgwMTA4LCAwLCB7MHgwMiwweDAyLDB4NTF9IH0sCi17ICAzLCAweDAxMGMsIDAsIHsweDAyLDB4MDIsMHg3Y30gfSwKLXsgIDMsIDB4MDExMCwgMCwgezB4MDIsMHgwMiwweGU0fSB9LAoteyAgMSwgMHgwMTE0LCAwLCB7MHgzMn0gfSwKLXsgIDEsIDB4MDExOCwgMCwgezB4MzJ9IH0sCi17ICAzLCAweDAxMWMsIDAsIHsweDAyLDB4MDUsMHhmZH0gfSwKLXsgIDMsIDB4MDEyMCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTI0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMjgsIDAsIHsweDAyLDB4MDQsMHgzY30gfSwKLXsgIDMsIDB4MDEyYywgMCwgezB4MDIsMHgwNCwweDZhfSB9LAoteyAgMywgMHgwMTMwLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxMzQsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDEzOCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTNjLCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNDAsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE0NCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTQ4LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17ICAzLCAweDAxNGMsIDAsIHsweDAyLDB4MDAsMHgwMH0gfSwKLXsgIDMsIDB4MDE1MCwgMCwgezB4MDIsMHgwMCwweDAwfSB9LAoteyAgMywgMHgwMTU0LCAwLCB7MHgwMiwweDAwLDB4MDB9IH0sCi17IDEwLCAweDAxNTcsIDAsIHsweDc1LDB4ODEsMHg3ZiwweGU1LDB4ODIsMHg2MCwweDAzLDB4MDIsMHgwMSwweDYxfSB9LAoteyAgNSwgMHgwMTYxLCAwLCB7MHgxMiwweDA3LDB4NmYsMHgyMSwweDY0fSB9LAoteyAgMSwgMHgwMTY2LCAwLCB7MHgzMn0gfSwKLXsgMTQsIDB4MDE2NywgMCwgezB4YzAsMHhkMCwweGMwLDB4ODYsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZTAsMHg5MCwweDdmLDB4OTcsMHhlMH0gfSwKLXsgMTQsIDB4MDE3NSwgMCwgezB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDY5LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDE4MywgMCwgezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH0gfSwKLXsgMTQsIDB4MDE5MSwgMCwgezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMH0gfSwKLXsgIDMsIDB4MDE5ZiwgMCwgezB4NTUsMHg3ZiwweGYwfSB9LAoteyAxNCwgMHgwMWEyLCAwLCB7MHg5MCwweDdmLDB4OWEsMHhlMCwweDMwLDB4ZTQsMHgyMywweDkwLDB4N2YsMHg2OCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMWIwLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMWJlLCAwLCB7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfSB9LAoteyAxNCwgMHgwMWNjLCAwLCB7MHhlNSwweGQ4LDB4YzIsMHhlMywweGY1LDB4ZDgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweDg2fSB9LAoteyAgMywgMHgwMWRhLCAwLCB7MHhkMCwweGQwLDB4MzJ9IH0sCi17ICA4LCAweDAxZGQsIDAsIHsweDc1LDB4ODYsMHgwMCwweDkwLDB4ZmYsMHhjMywweDdjLDB4MDV9IH0sCi17ICA3LCAweDAxZTUsIDAsIHsweGEzLDB4ZTUsMHg4MiwweDQ1LDB4ODMsMHg3MCwweGY5fSB9LAoteyAgMSwgMHgwMWVjLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDFlZCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHhkMH0gfSwKLXsgMTQsIDB4MDFmYiwgMCwgezB4NzUsMHhkMCwweDAwLDB4YzAsMHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MX0gfSwKLXsgMTMsIDB4MDIwOSwgMCwgezB4OTAsMHg4OCwweDAwLDB4ZTAsMHhmNSwweDQxLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4OTB9IH0sCi17ICA5LCAweDAyMTYsIDAsIHsweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhlNSwweDMyLDB4NjAsMHgyMX0gfSwKLXsgIDQsIDB4MDIxZiwgMCwgezB4N2EsMHgwMCwweDdiLDB4MDB9IH0sCi17IDExLCAweDAyMjMsIDAsIHsweGMzLDB4ZWEsMHg5NCwweDE4LDB4ZWIsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MTJ9IH0sCi17IDE0LCAweDAyMmUsIDAsIHsweDkwLDB4N2YsMHg2OSwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwYSwweGJhLDB4MDB9IH0sCi17ICAyLCAweDAyM2MsIDAsIHsweDAxLDB4MGJ9IH0sCi17ICAyLCAweDAyM2UsIDAsIHsweDgwLDB4ZTN9IH0sCi17ICAyLCAweDAyNDAsIDAsIHsweGQwLDB4ODZ9IH0sCi17IDE0LCAweDAyNDIsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAzLDB4ZDAsMHgwMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTB9IH0sCi17ICAxLCAweDAyNTAsIDAsIHsweDMyfSB9LAoteyAxNCwgMHgwMjUxLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwMjVmLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYiwweDc0fSB9LAoteyAgNCwgMHgwMjZkLCAwLCB7MHgwNCwweGYwLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDI3MSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDI3YywgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNH0gfSwKLXsgMTQsIDB4MDI4YSwgMCwgezB4YzAsMHgwNSwweGMwLDB4MDYsMHhjMCwweDA3LDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweGQwLDB4NzUsMHhkMH0gfSwKLXsgMTMsIDB4MDI5OCwgMCwgezB4MDAsMHhjMCwweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTB9IH0sCi17IDEyLCAweDAyYTUsIDAsIHsweDdmLDB4YWIsMHg3NCwweDA4LDB4ZjAsMHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDIsMHgxMn0gfSwKLXsgIDYsIDB4MDJiMSwgMCwgezB4MTEsMHg0NCwweDc1LDB4NzAsMHgzOSwweDc1fSB9LAoteyAgNiwgMHgwMmI3LCAwLCB7MHg3MSwweDBjLDB4NzUsMHg3MiwweDAyLDB4MTJ9IH0sCi17IDEyLCAweDAyYmQsIDAsIHsweDExLDB4NzUsMHg5MCwweDdmLDB4ZDYsMHhlNCwweGYwLDB4NzUsMHhkOCwweDIwLDB4ZDAsMHg4Nn0gfSwKLXsgMTQsIDB4MDJjOSwgMCwgezB4ZDAsMHhkMCwweGQwLDB4MDEsMHhkMCwweDAwLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LDB4ZDAsMHgwNH0gfSwKLXsgMTMsIDB4MDJkNywgMCwgezB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDAyZTQsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDAyZjIsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGFiLDB4NzR9IH0sCi17ICA0LCAweDAzMDAsIDAsIHsweDEwLDB4ZjAsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwMzA0LCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwMzBmLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwMzFkLCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMiwgMHgwMzJiLCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDJ9IH0sCi17ICA3LCAweDAzMzcsIDAsIHsweDEyLDB4MTEsMHg0NCwweDc1LDB4NzAsMHg0MCwweDc1fSB9LAoteyAgNiwgMHgwMzNlLCAwLCB7MHg3MSwweDBjLDB4NzUsMHg3MiwweDAyLDB4MTJ9IH0sCi17IDE0LCAweDAzNDQsIDAsIHsweDExLDB4NzUsMHg5MCwweDdmLDB4ZDYsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDdmLDB4ZDYsMHg3NCwweDA2LDB4ZjB9IH0sCi17ICA1LCAweDAzNTIsIDAsIHsweDc1LDB4ZDgsMHgxMCwweGQwLDB4ODZ9IH0sCi17IDE0LCAweDAzNTcsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDAzNjUsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxMywgMHgwMzcyLCAwLCB7MHg5MCwweDdmLDB4YTUsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHg3NCwweDlhLDB4ZjAsMHgxMn0gfSwKLXsgMTIsIDB4MDM3ZiwgMCwgezB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweGU1LDB4NDIsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwfSB9LAoteyAxMywgMHgwMzhiLCAwLCB7MHg3ZiwweGE2LDB4ZTUsMHg0MywweGYwLDB4MTIsMHgxMCwweDFiLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MH0gfSwKLXsgIDEsIDB4MDM5OCwgMCwgezB4ZjB9IH0sCi17ICAxLCAweDAzOTksIDAsIHsweDIyfSB9LAoteyAxMywgMHgwMzlhLCAwLCB7MHg5MCwweDdmLDB4YTUsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHg3NCwweDlhLDB4ZjAsMHgxMn0gfSwKLXsgMTIsIDB4MDNhNywgMCwgezB4MTAsMHgxYiwweDkwLDB4N2YsMHhhNiwweGU1LDB4NDQsMHhmMCwweDEyLDB4MTAsMHgxYiwweDkwfSB9LAoteyAxMiwgMHgwM2IzLCAwLCB7MHg3ZiwweGE2LDB4ZTUsMHg0NSwweGYwLDB4MTIsMHgxMCwweDFiLDB4OTAsMHg3ZiwweGE2LDB4ZTV9IH0sCi17IDExLCAweDAzYmYsIDAsIHsweDQ2LDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjB9IH0sCi17ICAxLCAweDAzY2EsIDAsIHsweDIyfSB9LAoteyAxMCwgMHgwM2NiLCAwLCB7MHg3NSwweDQ0LDB4MDIsMHg3NSwweDQ1LDB4MDAsMHg3NSwweDQ2LDB4MDAsMHgxMn0gfSwKLXsgIDksIDB4MDNkNSwgMCwgezB4MDMsMHg5YSwweDc1LDB4NDIsMHgwMywweDc1LDB4NDMsMHgwMCwweDEyfSB9LAoteyAgMiwgMHgwM2RlLCAwLCB7MHgwMywweDcyfSB9LAoteyAgMSwgMHgwM2UwLCAwLCB7MHgyMn0gfSwKLXsgMTIsIDB4MDNlMSwgMCwgezB4OTAsMHg4OCwweDAwLDB4ZTUsMHgzNiwweGYwLDB4OTAsMHg4OCwweDAwLDB4NzQsMHgxMCwweDI1fSB9LAoteyAgOSwgMHgwM2VkLCAwLCB7MHgzNiwweGYwLDB4MTIsMHgwMSwweGRkLDB4NzUsMHg0MiwweDAxLDB4NzV9IH0sCi17ICA5LCAweDAzZjYsIDAsIHsweDQzLDB4MTgsMHgxMiwweDAzLDB4NzIsMHg3NSwweDQ0LDB4MDIsMHg3NX0gfSwKLXsgIDksIDB4MDNmZiwgMCx7MHg0NSwweDAwLDB4NzUsMHg0NiwweDAwLDB4MTIsMHgwMywweDlhLDB4NzV9IH0sCi17ICA4LCAweDA0MDgsIDAsezB4NDIsMHgwMywweDc1LDB4NDMsMHg0NCwweDEyLDB4MDMsMHg3Mn0gfSwKLXsgIDEsIDB4MDQxMCwgMCx7MHgyMn0gfSwKLXsgMTQsIDB4MDQxMSwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTQsIDB4MDQxZiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MCwweDdmLDB4YWEsMHg3NH0gfSwKLXsgIDQsIDB4MDQyZCwgMCwgezB4MDIsMHhmMCwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0MzEsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDE0LCAweDA0M2MsIDAsIHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGQwLDB4NzUsMHhkMCwweDAwLDB4YzB9IH0sCi17IDE0LCAweDA0NGEsIDAsIHsweDg2LDB4NzUsMHg4NiwweDAwLDB4ZTUsMHg5MSwweGMyLDB4ZTQsMHhmNSwweDkxLDB4OTAsMHg3ZiwweGE5LDB4NzR9IH0sCi17ICA3LCAweDA0NTgsIDAsIHsweDA0LDB4ZjAsMHg3NSwweDMwLDB4MDEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNDVmLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNDZhLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxNCwgMHgwNDc4LCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU0LDB4ZjUsMHg5MSwweDkwLDB4N2YsMHhhYSwweDc0fSB9LAoteyAgNywgMHgwNDg2LCAwLCB7MHgwNCwweGYwLDB4NzUsMHgzMSwweDAxLDB4ZDAsMHg4Nn0gfSwKLXsgMTEsIDB4MDQ4ZCwgMCwgezB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgMTQsIDB4MDQ5OCwgMCwgezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHg3NSwweGQwLDB4MDAsMHhjMH0gfSwKLXsgMTIsIDB4MDRhNiwgMCwgezB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNSwweGY1LDB4OTEsMHhkMCwweDg2fSB9LAoteyAxMSwgMHgwNGIyLCAwLCB7MHhkMCwweGQwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNGJkLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhkMCwweDc1LDB4ZDAsMHgwMCwweGMwfSB9LAoteyAxMiwgMHgwNGNiLCAwLCB7MHg4NiwweDc1LDB4ODYsMHgwMCwweGU1LDB4OTEsMHhjMiwweGU3LDB4ZjUsMHg5MSwweGQwLDB4ODZ9IH0sCi17IDExLCAweDA0ZDcsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9IH0sCi17IDEyLCAweDA0ZTIsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg4YSwweDIwLDB4OTAsMHg3ZiwweDk2LDB4ZTQsMHhmMH0gfSwKLXsgIDEsIDB4MDRlZSwgMCwgezB4MjJ9IH0sCi17ICA3LCAweDA0ZWYsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg4YSwweDIxfSB9LAoteyAgMSwgMHgwNGY2LCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDRmNywgMCwgezB4OTAsMHgxNywweDEzLDB4ZTAsMHhmYSwweDkwLDB4MTcsMHgxNSwweGUwLDB4ZmIsMHg3NCwweDgwLDB4MmEsMHhmYX0gfSwKLXsgMTQsIDB4MDUwNSwgMCwgezB4NzQsMHg4MCwweDJiLDB4ZmIsMHhlYSwweDAzLDB4MDMsMHg1NCwweDNmLDB4ZmMsMHhlYSwweGM0LDB4MjMsMHg1NH0gfSwKLXsgMTQsIDB4MDUxMywgMCwgezB4MWYsMHhmYSwweDJjLDB4ZmEsMHhlYiwweDAzLDB4MDMsMHg1NCwweDNmLDB4ZmMsMHhlYiwweGM0LDB4MjMsMHg1NH0gfSwKLXsgMTEsIDB4MDUyMSwgMCwgezB4MWYsMHhmYiwweDJjLDB4ZmIsMHg5MCwweDE3LDB4MGEsMHhlMCwweGZjLDB4NjAsMHgwMn0gfSwKLXsgIDIsIDB4MDUyYywgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDcsIDB4MDUyZSwgMCwgezB4OTAsMHgxNywweDBjLDB4ZTAsMHhmYywweDYwLDB4MDJ9IH0sCi17ICAyLCAweDA1MzUsIDAsIHsweDdiLDB4MDB9IH0sCi17IDExLCAweDA1MzcsIDAsIHsweGVhLDB4MmIsMHhmYywweGMzLDB4MTMsMHhmNSwweDNhLDB4NzUsMHg0NCwweDAyLDB4OGJ9IH0sCi17ICA3LCAweDA1NDIsIDAsIHsweDQ1LDB4OGEsMHg0NiwweDEyLDB4MDMsMHg5YSwweDc1fSB9LAoteyAgOSwgMHgwNTQ5LCAwLCB7MHg2ZSwweDA4LDB4NzUsMHg2ZiwweDAwLDB4MTIsMHgxMSwweDQ0LDB4NzV9IH0sCi17ICA0LCAweDA1NTIsIDAsIHsweDcwLDB4NDcsMHg3NSwweDcxfSB9LAoteyAgOCwgMHgwNTU2LCAwLCB7MHgwYywweDc1LDB4NzIsMHgwMiwweDEyLDB4MTEsMHg3NSwweDg1fSB9LAoteyAgNSwgMHgwNTVlLCAwLCB7MHgzYSwweDczLDB4MTIsMHgxMSwweGEwfSB9LAoteyAgMSwgMHgwNTYzLCAwLCB7MHgyMn0gfSwKLXsgMTQsIDB4MDU2NCwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4ODAsMHg2NSwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDU3MiwgMCwgezB4N2YsMHhlYiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZiLDB4OTAsMHg3ZiwweGVmLDB4ZTAsMHhmY30gfSwKLXsgMTQsIDB4MDU4MCwgMCwgezB4MzMsMHg5NSwweGUwLDB4ZmQsMHg4YywweDA1LDB4N2MsMHgwMCwweDkwLDB4N2YsMHhlZSwweGUwLDB4ZmUsMHgzM30gfSwKLXsgMTQsIDB4MDU4ZSwgMCwgezB4OTUsMHhlMCwweGZmLDB4ZWMsMHgyZSwweGZjLDB4ZWQsMHgzZiwweGZkLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmZX0gfSwKLXsgIDUsIDB4MDU5YywgMCwgezB4YmUsMHgwMSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MDVhMSwgMCwgezB4MDIsMHgwNSwweGY5fSB9LAoteyAgNiwgMHgwNWE0LCAwLCB7MHhiYywweDAxLDB4MjEsMHhiZCwweDAwLDB4MWV9IH0sCi17IDE0LCAweDA1YWEsIDAsIHsweGVhLDB4YzQsMHgwMywweDU0LDB4ZjgsMHhmYywweGViLDB4MjUsMHhlMCwweGZkLDB4MmMsMHgyNCwweDAwLDB4ZmN9IH0sCi17IDE0LCAweDA1YjgsIDAsIHsweGU0LDB4MzQsMHgxNywweGZkLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZSwweDhjLDB4ODIsMHg4ZCwweDgzLDB4ZjB9IH0sCi17ICAyLCAweDA1YzYsIDAsIHsweDgwLDB4MzF9IH0sCi17IDE0LCAweDA1YzgsIDAsIHsweGVhLDB4YzQsMHgwMywweDU0LDB4ZjgsMHhmYSwweGViLDB4MjUsMHhlMCwweGZiLDB4MmEsMHhmYSwweDI0LDB4MDB9IH0sCi17IDE0LCAweDA1ZDYsIDAsIHsweGZiLDB4ZTQsMHgzNCwweDE3LDB4ZmMsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4OGIsMHg4MiwweDhjLDB4ODN9IH0sCi17IDE0LCAweDA1ZTQsIDAsIHsweGYwLDB4NzQsMHgwMSwweDJhLDB4MjQsMHgwMCwweGZhLDB4ZTQsMHgzNCwweDE3LDB4ZmIsMHg5MCwweDdlLDB4YzF9IH0sCi17ICA3LCAweDA1ZjIsIDAsIHsweGUwLDB4ZmMsMHg4YSwweDgyLDB4OGIsMHg4MywweGYwfSB9LAoteyAgMywgMHgwNWY5LCAwLCB7MHg3NSwweDM4LDB4MDF9IH0sCi17ICAxLCAweDA1ZmMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwNWZkLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwNjBiLCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMywgMHgwNjE5LCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MH0gfSwKLXsgMTMsIDB4MDYyNiwgMCwgezB4N2YsMHhhYSwweDc0LDB4MDEsMHhmMCwweDEyLDB4MDUsMHg2NCwweDc1LDB4MzcsMHgwMCwweGQwLDB4ODZ9IH0sCi17IDE0LCAweDA2MzMsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDA2NDEsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxNCwgMHgwNjRlLCAwLCB7MHg5MCwweDdmLDB4ZWIsMHhlMCwweGZhLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmYiwweDkwLDB4N2YsMHhlZSwweGUwfSB9LAoteyAxNCwgMHgwNjVjLCAwLCB7MHhmYywweDMzLDB4OTUsMHhlMCwweGZkLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmZSwweDkwLDB4N2YsMHg5NiwweDc0fSB9LAoteyAxNCwgMHgwNjZhLCAwLCB7MHg4MCwweDY1LDB4MDYsMHhmMCwweDkwLDB4N2YsMHgwMCwweDc0LDB4MDEsMHhmMCwweGVhLDB4YzQsMHgwMywweDU0fSB9LAoteyAxNCwgMHgwNjc4LCAwLCB7MHhmOCwweGZlLDB4ZWIsMHgyNSwweGUwLDB4ZmIsMHgyZSwweGZlLDB4MjQsMHgwMCwweGZiLDB4ZTQsMHgzNCwweDE3fSB9LAoteyAxNCwgMHgwNjg2LCAwLCB7MHhmZiwweDhiLDB4ODIsMHg4ZiwweDgzLDB4ZTAsMHhmYiwweDc0LDB4MDEsMHgyZSwweDI0LDB4MDAsMHhmZSwweGU0fSB9LAoteyAxNCwgMHgwNjk0LCAwLCB7MHgzNCwweDE3LDB4ZmYsMHg4ZSwweDgyLDB4OGYsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZTksMHhlMCwweGZmfSB9LAoteyAgMywgMHgwNmEyLCAwLCB7MHhiZiwweDgxLDB4MGF9IH0sCi17IDEwLCAweDA2YTUsIDAsIHsweDkwLDB4N2YsMHgwMCwweGViLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlZSwweGYwfSB9LAoteyAgOCwgMHgwNmFmLCAwLCB7MHg5MCwweDdmLDB4ZTksMHhlMCwweGZiLDB4YmIsMHg4MiwweDFhfSB9LAoteyAgMywgMHgwNmI3LCAwLCB7MHhiYSwweDAxLDB4MGN9IH0sCi17IDEyLCAweDA2YmEsIDAsIHsweDkwLDB4N2YsMHgwMCwweGU0LDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4ODAsMHgwYn0gfSwKLXsgMTEsIDB4MDZjNiwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweDc0LDB4YjUsMHhmMH0gfSwKLXsgIDgsIDB4MDZkMSwgMCwgezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmYiwweGJiLDB4ODMsMHgxYn0gfSwKLXsgIDMsIDB4MDZkOSwgMCwgezB4YmEsMHgwMSwweDBkfSB9LAoteyAxMywgMHgwNmRjLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4ODAsMHgwYn0gfSwKLXsgMTEsIDB4MDZlOSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHgwMSwweDc0LDB4MTIsMHhmMH0gfSwKLXsgIDgsIDB4MDZmNCwgMCwgezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHhmYiwweGJiLDB4ODQsMHgxY30gfSwKLXsgIDMsIDB4MDZmYywgMCwgezB4YmEsMHgwMSwweDBkfSB9LAoteyAxMywgMHgwNmZmLCAwLCB7MHg5MCwweDdmLDB4MDAsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4MDEsMHhlNCwweGYwLDB4ODAsMHgwY30gfSwKLXsgMTIsIDB4MDcwYywgMCwgezB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgNSwgMHgwNzE4LCAwLCB7MHg5MCwweDdmLDB4YjUsMHhlYywweGYwfSB9LAoteyAgMSwgMHgwNzFkLCAwLCB7MHgyMn0gfSwKLXsgMTIsIDB4MDcxZSwgMCwgezB4NzUsMHgzNiwweDBkLDB4OTAsMHg4OCwweDAwLDB4NzQsMHgxZCwweGYwLDB4NzUsMHg2YiwweDgwfSB9LAoteyAxMCwgMHgwNzJhLCAwLCB7MHg3NSwweDZjLDB4M2MsMHgxMiwweDEwLDB4ZTIsMHg3NSwweDZiLDB4ODAsMHg3NX0gfSwKLXsgIDksIDB4MDczNCwgMCwgezB4NmMsMHgwZiwweDEyLDB4MTAsMHhlMiwweDc1LDB4NmIsMHg4MCwweDc1fSB9LAoteyAgOSwgMHgwNzNkLCAwLCB7MHg2YywweDA2LDB4MTIsMHgxMCwweGUyLDB4NzUsMHg2YiwweDgwLDB4NzV9IH0sCi17ICA3LCAweDA3NDYsIDAsIHsweDZjLDB4MDEsMHgxMiwweDEwLDB4ZTIsMHg3YSwweDAwfSB9LAoteyAgMywgMHgwNzRkLCAwLCB7MHhiYSwweGZmLDB4MDB9IH0sCi17ICAyLCAweDA3NTAsIDAsIHsweDUwLDB4MGF9IH0sCi17IDEwLCAweDA3NTIsIDAsIHsweGMwLDB4MDIsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDAyLDB4MGEsMHg4MCwweGYxfSB9LAoteyAxMCwgMHgwNzVjLCAwLCB7MHg3NSwweDZiLDB4ODAsMHg3NSwweDZjLDB4M2MsMHgxMiwweDEwLDB4ZTIsMHg3NX0gfSwKLXsgIDgsIDB4MDc2NiwgMCwgezB4NmIsMHg4MCwweDc1LDB4NmMsMHgwZiwweDEyLDB4MTAsMHhlMn0gfSwKLXsgIDEsIDB4MDc2ZSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDA3NmYsIDAsIHsweDkwLDB4N2YsMHhhMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4YWYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OTJ9IH0sCi17IDE0LCAweDA3N2QsIDAsIHsweDc0LDB4MDIsMHhmMCwweDc1LDB4OGUsMHgzMSwweDc1LDB4ODksMHgyMSwweDc1LDB4ODgsMHgwMCwweDc1LDB4Yzh9IH0sCi17IDE0LCAweDA3OGIsIDAsIHsweDAwLDB4NzUsMHg4ZCwweDQwLDB4NzUsMHg5OCwweDQwLDB4NzUsMHhjMCwweDQwLDB4NzUsMHg4NywweDAwLDB4NzV9IH0sCi17ICA5LCAweDA3OTksIDAsIHsweDIwLDB4MDAsMHg3NSwweDIxLDB4MDAsMHg3NSwweDIyLDB4MDAsMHg3NX0gfSwKLXsgIDUsIDB4MDdhMiwgMCwgezB4MjMsMHgwMCwweDc1LDB4NDcsMHgwMH0gfSwKLXsgIDcsIDB4MDdhNywgMCwgezB4YzMsMHhlNSwweDQ3LDB4OTQsMHgyMCwweDUwLDB4MTF9IH0sCi17IDEzLCAweDA3YWUsIDAsIHsweGU1LDB4NDcsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHgxNywweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAgNCwgMHgwN2JiLCAwLCB7MHgwNSwweDQ3LDB4ODAsMHhlOH0gfSwKLXsgIDksIDB4MDdiZiwgMCwgezB4ZTQsMHhmNSwweDQwLDB4ZjUsMHgzZiwweGU0LDB4ZjUsMHgzYywweGY1fSB9LAoteyAgNywgMHgwN2M4LCAwLCB7MHgzYiwweGU0LDB4ZjUsMHgzZSwweGY1LDB4M2QsMHg3NX0gfSwKLXsgMTEsIDB4MDdjZiwgMCwgezB4MzIsMHgwMCwweDc1LDB4MzcsMHgwMCwweDc1LDB4MzksMHgwMCwweDkwLDB4N2YsMHg5M30gfSwKLXsgMTQsIDB4MDdkYSwgMCwgezB4NzQsMHgzYywweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MH0gfSwKLXsgMTQsIDB4MDdlOCwgMCwgezB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDcwLDB4ZjAsMHg5MCwweDdmLDB4OWQsMHg3NCwweDhmLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDdmNiwgMCwgezB4N2YsMHg5NywweGU0LDB4ZjAsMHg5MCwweDdmLDB4OTUsMHg3NCwweGMyLDB4ZjAsMHg5MCwweDdmLDB4OTgsMHg3NH0gfSwKLXsgMTQsIDB4MDgwNCwgMCwgezB4MjgsMHhmMCwweDkwLDB4N2YsMHg5ZSwweDc0LDB4MjgsMHhmMCwweDkwLDB4N2YsMHhmMCwweGU0LDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDgxMiwgMCwgezB4N2YsMHhmMSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjIsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGYzLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MDgyMCwgMCwgezB4OTAsMHg3ZiwweGY0LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmNSwweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZjYsMHhlNH0gfSwKLXsgMTQsIDB4MDgyZSwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZjcsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGY4LDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhmOX0gfSwKLXsgMTQsIDB4MDgzYywgMCwgezB4NzQsMHgzOCwweGYwLDB4OTAsMHg3ZiwweGZhLDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweGZiLDB4NzQsMHhhMH0gfSwKLXsgMTQsIDB4MDg0YSwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4ZmQsMHg3NCwweGEwLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDg1OCwgMCwgezB4N2YsMHhmZSwweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHhlMH0gfSwKLXsgMTQsIDB4MDg2NiwgMCwgezB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGUxLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGRkLDB4NzQsMHg4MH0gfSwKLXsgMTEsIDB4MDg3NCwgMCwgezB4ZjAsMHgxMiwweDEyLDB4NDMsMHgxMiwweDA3LDB4MWUsMHg3YSwweDAwLDB4N2IsMHgwMH0gfSwKLXsgIDksIDB4MDg3ZiwgMCwgezB4YzMsMHhlYSwweDk0LDB4MWUsMHhlYiwweDk0LDB4MDAsMHg1MCwweDE3fSB9LAoteyAxMiwgMHgwODg4LCAwLCB7MHg5MCwweDg4LDB4MDAsMHhlMCwweGY1LDB4NDcsMHg5MCwweDg4LDB4MGIsMHhlMCwweGY1LDB4NDd9IH0sCi17ICA5LCAweDA4OTQsIDAsIHsweDkwLDB4N2YsMHg2OCwweGYwLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MDg5ZCwgMCwgezB4ODAsMHhlMH0gfSwKLXsgMTIsIDB4MDg5ZiwgMCwgezB4MTIsMHgwMywweGUxLDB4OTAsMHg3ZiwweGQ2LDB4ZTQsMHhmMCwweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAxMywgMHgwOGFiLCAwLCB7MHg4YSwweDA0LDB4OGIsMHgwNSwweGMzLDB4ZWEsMHg5NCwweGUwLDB4ZWIsMHg5NCwweDJlLDB4NTAsMHgxYX0gfSwKLXsgMTQsIDB4MDhiOCwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMH0gfSwKLXsgMTAsIDB4MDhjNiwgMCwgezB4MDQsMHhkMCwweDAzLDB4ZDAsMHgwMiwweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICAyLCAweDA4ZDAsIDAsIHsweDgwLDB4ZDl9IH0sCi17IDEzLCAweDA4ZDIsIDAsIHsweDkwLDB4N2YsMHhkNiwweDc0LDB4MDIsMHhmMCwweDkwLDB4N2YsMHhkNiwweDc0LDB4MDYsMHhmMCwweDkwfSB9LAoteyAxNCwgMHgwOGRmLCAwLCB7MHg3ZiwweGRlLDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3ZiwweGRmLDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3ZiwweGFjfSB9LAoteyAxNCwgMHgwOGVkLCAwLCB7MHhlNCwweGYwLDB4OTAsMHg3ZiwweGFkLDB4NzQsMHgwNSwweGYwLDB4NzUsMHhhOCwweDgwLDB4NzUsMHhmOCwweDEwfSB9LAoteyAxMywgMHgwOGZiLCAwLCB7MHg5MCwweDdmLDB4YWUsMHg3NCwweDBiLDB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDg4LDB4ZjAsMHg5MH0gfSwKLXsgMTIsIDB4MDkwOCwgMCwgezB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweDc1LDB4ZTgsMHgxMSwweDc1LDB4MzIsMHgwMSwweDc1fSB9LAoteyAxMiwgMHgwOTE0LCAwLCB7MHgzMSwweDAwLDB4NzUsMHgzMCwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDA0LDB4Zjd9IH0sCi17IDEwLCAweDA5MjAsIDAsIHsweGQwLDB4MDUsMHhkMCwweDA0LDB4NzUsMHgzNCwweDAwLDB4NzUsMHgzNSwweDAxfSB9LAoteyAxMywgMHgwOTJhLCAwLCB7MHg5MCwweDdmLDB4YWUsMHg3NCwweDAzLDB4ZjAsMHg4YywweDAyLDB4YmEsMHgwMCwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MDkzNywgMCwgezB4MDIsMHgwYSwweDNmfSB9LAoteyAxMiwgMHgwOTNhLCAwLCB7MHg4NSwweDMzLDB4MzQsMHg5MCwweDdmLDB4OWQsMHg3NCwweDhmLDB4ZjAsMHg5MCwweDdmLDB4OTd9IH0sCi17IDE0LCAweDA5NDYsIDAsIHsweDc0LDB4MDgsMHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4ODgsMHhmMCwweDkwLDB4N2YsMHg5YSwweGUwLDB4ZmF9IH0sCi17IDEyLCAweDA5NTQsIDAsIHsweDc0LDB4MDUsMHg1YSwweGY1LDB4MzMsMHg5MCwweDdmLDB4OWQsMHg3NCwweDhmLDB4ZjAsMHg5MH0gfSwKLXsgMTMsIDB4MDk2MCwgMCwgezB4N2YsMHg5NywweDc0LDB4MDIsMHhmMCwweDkwLDB4N2YsMHg5ZCwweDc0LDB4ODIsMHhmMCwweGU1LDB4MzN9IH0sCi17IDEzLCAweDA5NmQsIDAsIHsweDI1LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5YSwweGUwLDB4NTQsMHgwNSwweGZiLDB4NGEsMHhmNSwweDMzfSB9LAoteyAgMiwgMHgwOTdhLCAwLCB7MHg2MCwweDBjfSB9LAoteyAxMiwgMHgwOTdjLCAwLCB7MHg5MCwweDdmLDB4OTYsMHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg4MCwweDRhLDB4ZjB9IH0sCi17IDExLCAweDA5ODgsIDAsIHsweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMCwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTJ9IH0sCi17IDE0LCAweDA5OTMsIDAsIHsweDExLDB4NDQsMHhkMCwweDA1LDB4ZDAsMHgwNCwweDkwLDB4MTcsMHgxMywweGUwLDB4ZmEsMHg3NCwweDgwLDB4MmF9IH0sCi17ICA2LCAweDA5YTEsIDAsIHsweGZhLDB4ZTUsMHgzMywweGI0LDB4MDQsMHgyOX0gfSwKLXsgIDMsIDB4MDlhNywgMCwgezB4YmEsMHhhMCwweDAwfSB9LAoteyAgMiwgMHgwOWFhLCAwLCB7MHg1MCwweDI0fSB9LAoteyAxMywgMHgwOWFjLCAwLCB7MHg5MCwweDE3LDB4MTMsMHhlMCwweDA0LDB4ZmIsMHgwYiwweDkwLDB4MTcsMHgxMywweGViLDB4ZjAsMHg5MH0gfSwKLXsgMTQsIDB4MDliOSwgMCwgezB4MTcsMHgxMywweGUwLDB4ZmIsMHg5MCwweDE3LDB4MTUsMHhmMCwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNX0gfSwKLXsgIDksIDB4MDljNywgMCwgezB4MTIsMHgwNCwweGY3LDB4ZDAsMHgwNSwweGQwLDB4MDQsMHhkMCwweDAyfSB9LAoteyAgNSwgMHgwOWQwLCAwLCB7MHhlNSwweDMzLDB4YjQsMHgwMiwweDI2fSB9LAoteyAgNiwgMHgwOWQ1LCAwLCB7MHhjMywweDc0LDB4MDQsMHg5YSwweDUwLDB4MjB9IH0sCi17IDEzLCAweDA5ZGIsIDAsIHsweDkwLDB4MTcsMHgxMywweGUwLDB4ZmEsMHgxYSwweDFhLDB4OTAsMHgxNywweDEzLDB4ZWEsMHhmMCwweDkwfSB9LAoteyAxMywgMHgwOWU4LCAwLCB7MHgxNywweDEzLDB4ZTAsMHhmYSwweDkwLDB4MTcsMHgxNSwweGYwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgIDYsIDB4MDlmNSwgMCwgezB4MDQsMHhmNywweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAgNSwgMHgwOWZiLCAwLCB7MHhlNSwweDMzLDB4YjQsMHgwOCwweDFkfSB9LAoteyAgNCwgMHgwYTAwLCAwLCB7MHhlNSwweDM0LDB4NzAsMHgxOX0gfSwKLXsgMTAsIDB4MGEwNCwgMCwgezB4NzQsMHgwMSwweDI1LDB4MzUsMHg1NCwweDBmLDB4ZjUsMHgzNSwweDg1LDB4MzV9IH0sCi17IDEyLCAweDBhMGUsIDAsIHsweDc1LDB4NzUsMHg3NiwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEzLDB4ZmUsMHhkMH0gfSwKLXsgIDMsIDB4MGExYSwgMCwgezB4MDUsMHhkMCwweDA0fSB9LAoteyAgNSwgMHgwYTFkLCAwLCB7MHhlNSwweDMzLDB4YjQsMHgwMSwweDFkfSB9LAoteyAgNCwgMHgwYTIyLCAwLCB7MHhlNSwweDM0LDB4NzAsMHgxOX0gfSwKLXsgMTAsIDB4MGEyNiwgMCwgezB4ZTUsMHgzNSwweDI0LDB4ZmYsMHg1NCwweDBmLDB4ZjUsMHgzNSwweDg1LDB4MzV9IH0sCi17IDEyLCAweDBhMzAsIDAsIHsweDc1LDB4NzUsMHg3NiwweDAwLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEzLDB4ZmUsMHhkMH0gfSwKLXsgIDMsIDB4MGEzYywgMCwgezB4MDUsMHhkMCwweDA0fSB9LAoteyAxNCwgMHgwYTNmLCAwLCB7MHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4OTAsMHg3ZiwweDk2fSB9LAoteyAxNCwgMHgwYTRkLCAwLCB7MHhlMCwweGZhLDB4OTAsMHg3ZiwweDk2LDB4NzQsMHg3ZiwweDVhLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweDA4fSB9LAoteyAxMCwgMHgwYTViLCAwLCB7MHhmMCwweGMzLDB4ZWMsMHg5NCwweDAwLDB4ZWQsMHg5NCwweDAyLDB4NDAsMHgwOH0gfSwKLXsgIDgsIDB4MGE2NSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDIwLDB4ZTYsMHgwOH0gfSwKLXsgIDgsIDB4MGE2ZCwgMCwgezB4YzMsMHhlNCwweDljLDB4NzQsMHgwOCwweDlkLDB4NTAsMHgxM30gfSwKLXsgMTQsIDB4MGE3NSwgMCwgezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHhmYSwweDkwLDB4N2YsMHg5NiwweDc0LDB4NDAsMHg2NSwweDAyLDB4ZjAsMHg3Y30gfSwKLXsgIDUsIDB4MGE4MywgMCwgezB4MDAsMHg3ZCwweDAwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MGE4OCwgMCwgezB4MGMsMHhiYywweDAwLDB4MDEsMHgwZH0gfSwKLXsgIDUsIDB4MGE4ZCwgMCwgezB4ZTUsMHgzOCwweGI0LDB4MDEsMHgwZX0gfSwKLXsgMTMsIDB4MGE5MiwgMCwgezB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNCwweDc1LDB4Mzh9IH0sCi17ICAxLCAweDBhOWYsIDAsIHsweDAwfSB9LAoteyAgNywgMHgwYWEwLCAwLCB7MHhlNSwweDMxLDB4NzAsMHgwMywweDAyLDB4MDksMHgyYX0gfSwKLXsgMTAsIDB4MGFhNywgMCwgezB4OTAsMHg3ZiwweGM5LDB4ZTAsMHhmYSwweDcwLDB4MDMsMHgwMiwweDBjLDB4MmR9IH0sCi17IDE0LCAweDBhYjEsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmEsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NjUsMHgwMiwweGYwLDB4OTB9IH0sCi17ICA5LCAweDBhYmYsIDAsIHsweDdkLDB4YzAsMHhlMCwweGZhLDB4YmEsMHgyYywweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGFjOCwgMCwgezB4MDIsMHgwYiwweDM2fSB9LAoteyAgNSwgMHgwYWNiLCAwLCB7MHg3NSwweDMyLDB4MDAsMHg3YiwweDAwfSB9LAoteyAgMywgMHgwYWQwLCAwLCB7MHhiYiwweDY0LDB4MDB9IH0sCi17ICAyLCAweDBhZDMsIDAsIHsweDUwLDB4MWN9IH0sCi17IDE0LCAweDBhZDUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDAxLDB4ZGQsMHhkMCwweDA1LDB4ZDB9IH0sCi17IDEzLCAweDBhZTMsIDAsIHsweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHg5MCwweDg4LDB4MGYsMHhlMCwweGY1LDB4NDcsMHgwYiwweDgwfSB9LAoteyAgMSwgMHgwYWYwLCAwLCB7MHhkZn0gfSwKLXsgMTMsIDB4MGFmMSwgMCwgezB4YzAsMHgwMiwweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwNywweDFlLDB4MTIsMHgwMywweGUxLDB4MTJ9IH0sCi17IDEyLCAweDBhZmUsIDAsIHsweDA0LDB4ZjcsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDIsMHg3NSwweDZlLDB4MDAsMHg3NX0gfSwKLXsgMTMsIDB4MGIwYSwgMCwgezB4NmYsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTEsMHg0NCwweGQwLDB4MDV9IH0sCi17ICA5LCAweDBiMTcsIDAsIHsweGQwLDB4MDQsMHhkMCwweDAyLDB4NzUsMHg3MCwweDRkLDB4NzUsMHg3MX0gfSwKLXsgMTEsIDB4MGIyMCwgMCwgezB4MGMsMHg3NSwweDcyLDB4MDIsMHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgMTEsIDB4MGIyYiwgMCwgezB4MTEsMHg3NSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGIzNiwgMCwgezB4YmEsMHgyYSwweDNifSB9LAoteyAxMywgMHgwYjM5LCAwLCB7MHg5MCwweDdmLDB4OTgsMHg3NCwweDIwLDB4ZjAsMHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMn0gfSwKLXsgMTQsIDB4MGI0NiwgMCwgezB4MDEsMHhkZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMiwweDkwLDB4N2YsMHg5OCwweDc0LDB4MjgsMHhmMH0gfSwKLXsgIDIsIDB4MGI1NCwgMCwgezB4N2IsMHgwMH0gfSwKLXsgIDMsIDB4MGI1NiwgMCwgezB4YmIsMHgwYSwweDAwfSB9LAoteyAgNSwgMHgwYjU5LCAwLCB7MHg0MCwweDAzLDB4MDIsMHgwYywweDJkfSB9LAoteyAxNCwgMHgwYjVlLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwMywweGMwLDB4MDQsMHhjMCwweDA1LDB4MTIsMHgwMSwweGRkLDB4ZDAsMHgwNSwweGQwfSB9LAoteyAgOCwgMHgwYjZjLCAwLCB7MHgwNCwweGQwLDB4MDMsMHhkMCwweDAyLDB4MGIsMHg4MCwweGUyfSB9LAoteyAgMywgMHgwYjc0LCAwLCB7MHhiYSwweDJiLDB4MWF9IH0sCi17ICA4LCAweDBiNzcsIDAsIHsweDkwLDB4N2YsMHhjOSwweGUwLDB4ZmIsMHhiYiwweDQwLDB4MTJ9IH0sCi17IDE0LCAweDBiN2YsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTIsMHgwNSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICA0LCAweDBiOGQsIDAsIHsweDAyLDB4MDIsMHgwYywweDJkfSB9LAoteyAgMywgMHgwYjkxLCAwLCB7MHhiYSwweDEwLDB4MWZ9IH0sCi17IDE0LCAweDBiOTQsIDAsIHsweDkwLDB4N2YsMHg5NiwweGUwLDB4ZmIsMHg5MCwweDdmLDB4OTYsMHg3NCwweDgwLDB4NjUsMHgwMywweGYwLDB4YzB9IH0sCi17IDE0LCAweDBiYTIsIDAsIHsweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEwLDB4M2QsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwLDB4MDJ9IH0sCi17ICAzLCAweDBiYjAsIDAsIHsweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGJiMywgMCwgezB4YmEsMHgxMSwweDEyfSB9LAoteyAxNCwgMHgwYmI2LCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEwLDB4NmEsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgNCwgMHgwYmM0LCAwLCB7MHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGJjOCwgMCwgezB4YmEsMHgxMiwweDEyfSB9LAoteyAxNCwgMHgwYmNiLCAwLCB7MHhjMCwweDAyLDB4YzAsMHgwNCwweGMwLDB4MDUsMHgxMiwweDEwLDB4OGYsMHhkMCwweDA1LDB4ZDAsMHgwNCwweGQwfSB9LAoteyAgNCwgMHgwYmQ5LCAwLCB7MHgwMiwweDAyLDB4MGMsMHgyZH0gfSwKLXsgIDMsIDB4MGJkZCwgMCwgezB4YmEsMHgxMywweDBifSB9LAoteyAxMSwgMHgwYmUwLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGZiLDB4OTAsMHg4OCwweDAwLDB4ZjAsMHg4MCwweDQyfSB9LAoteyAgMywgMHgwYmViLCAwLCB7MHhiYSwweDE0LDB4MTF9IH0sCi17IDE0LCAweDBiZWUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTEsMHhkZCwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICAzLCAweDBiZmMsIDAsIHsweDAyLDB4ODAsMHgyZX0gfSwKLXsgIDMsIDB4MGJmZiwgMCwgezB4YmEsMHgxNSwweDFkfSB9LAoteyAxMiwgMHgwYzAyLCAwLCB7MHg5MCwweDdkLDB4YzEsMHhlMCwweGY1LDB4NzUsMHg5MCwweDdkLDB4YzIsMHhlMCwweGY1LDB4NzZ9IH0sCi17IDE0LCAweDBjMGUsIDAsIHsweGMwLDB4MDIsMHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhmZSwweGQwLDB4MDUsMHhkMCwweDA0LDB4ZDB9IH0sCi17ICAzLCAweDBjMWMsIDAsIHsweDAyLDB4ODAsMHgwZX0gfSwKLXsgIDMsIDB4MGMxZiwgMCwgezB4YmEsMHgxNiwweDBifSB9LAoteyAxMSwgMHgwYzIyLCAwLCB7MHhjMCwweDA0LDB4YzAsMHgwNSwweDEyLDB4MTMsMHhhMywweGQwLDB4MDUsMHhkMCwweDA0fSB9LAoteyAxMSwgMHgwYzJkLCAwLCB7MHg5MCwweDdmLDB4YzksMHhlNCwweGYwLDB4NzUsMHgzMSwweDAwLDB4MDIsMHgwOSwweDJhfSB9LAoteyAgMSwgMHgwYzM4LCAwLCB7MHgyMn0gfSwKLXsgIDcsIDB4MGMzOSwgMCwgezB4NTMsMHg1NSwweDUwLDB4NDUsMHg0ZSwweDQ0LDB4MDB9IH0sCi17ICA3LCAweDBjNDAsIDAsIHsweDUyLDB4NDUsMHg1MywweDU1LDB4NGQsMHg0NSwweDAwfSB9LAoteyAgNiwgMHgwYzQ3LCAwLCB7MHgyMCwweDU2LDB4NmYsMHg2YywweDIwLDB4MDB9IH0sCi17IDEzLCAweDBjNGQsIDAsIHsweDQ0LDB4NDEsMHg0MiwweDU1LDB4NTMsMHg0MiwweDIwLDB4NzYsMHgzMSwweDJlLDB4MzAsMHgzMCwweDAwfSB9LAoteyAxNCwgMHgwYzVhLCAwLCB7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMiwweGMwLDB4MDMsMHhjMCwweDA0fSB9LAoteyAxNCwgMHgwYzY4LCAwLCB7MHhjMCwweDA1LDB4YzAsMHgwNiwweGMwLDB4MDcsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4ZDAsMHg3NSwweGQwfSB9LAoteyAxMywgMHgwYzc2LCAwLCB7MHgwMCwweGMwLDB4ODYsMHg3NSwweDg2LDB4MDAsMHhlNSwweDkxLDB4YzIsMHhlNCwweGY1LDB4OTEsMHg5MH0gfSwKLXsgMTQsIDB4MGM4MywgMCwgezB4N2YsMHhhYiwweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhlOCwweGUwLDB4ZmEsMHg5MCwweDdmLDB4ZTksMHhlMH0gfSwKLXsgIDYsIDB4MGM5MSwgMCwgezB4ZmIsMHhiYiwweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwYzk3LCAwLCB7MHgwMiwweDBkLDB4Mzh9IH0sCi17ICAzLCAweDBjOWEsIDAsIHsweGJhLDB4ODAsMHgxNH0gfSwKLXsgMTQsIDB4MGM5ZCwgMCwgezB4OTAsMHg3ZiwweDAwLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhiNX0gfSwKLXsgIDYsIDB4MGNhYiwgMCwgezB4NzQsMHgwMiwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNSwgMHgwY2IxLCAwLCB7MHhiYSwweDgyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwY2I2LCAwLCB7MHgwMiwweDBkLDB4MWR9IH0sCi17ICA4LCAweDBjYjksIDAsIHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZmMsMHhiYywweDAxLDB4MDB9IH0sCi17ICAyLCAweDBjYzEsIDAsIHsweDQwLDB4MjF9IH0sCi17ICA2LCAweDBjYzMsIDAsIHsweGMzLDB4NzQsMHgwNywweDljLDB4NDAsMHgxYn0gfSwKLXsgMTQsIDB4MGNjOSwgMCwgezB4ZWMsMHgyNCwweGZmLDB4MjUsMHhlMCwweGZkLDB4MjQsMHhjNiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgMTMsIDB4MGNkNywgMCwgezB4ODMsMHhlMCwweGZkLDB4NTMsMHgwNSwweDAxLDB4OTAsMHg3ZiwweDAwLDB4ZWQsMHhmMCwweDgwLDB4MmJ9IH0sCi17ICAzLCAweDBjZTQsIDAsIHsweGJjLDB4ODEsMHgwMH0gfSwKLXsgIDIsIDB4MGNlNywgMCwgezB4NDAsMHgyMX0gfSwKLXsgIDYsIDB4MGNlOSwgMCwgezB4YzMsMHg3NCwweDg3LDB4OWMsMHg0MCwweDFifSB9LAoteyAxNCwgMHgwY2VmLCAwLCB7MHhlYywweDI0LDB4N2YsMHgyNSwweGUwLDB4ZmMsMHgyNCwweGI2LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1fSB9LAoteyAxMywgMHgwY2ZkLCAwLCB7MHg4MywweGUwLDB4ZmMsMHg1MywweDA0LDB4MDEsMHg5MCwweDdmLDB4MDAsMHhlYywweGYwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MGQwYSwgMCwgezB4OTAsMHg3ZiwweDAwLDB4ZTQsMHhmMH0gfSwKLXsgMTQsIDB4MGQwZiwgMCwgezB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDUsIDB4MGQxZCwgMCwgezB4YmEsMHg4MSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGQyMiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxNCwgMHgwZDI1LCAwLCB7MHg5MCwweDdmLDB4MDAsMHhlNCwweGYwLDB4OTAsMHg3ZiwweDAxLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fSB9LAoteyAgNSwgMHgwZDMzLCAwLCB7MHgwMiwweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDM4LCAwLCB7MHhiYiwweDAxLDB4MmR9IH0sCi17ICA2LCAweDBkM2IsIDAsIHsweGJhLDB4MDAsMHgwMywweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGQ0MSwgMCwgezB4YmEsMHgwMiwweDExfSB9LAoteyAxMywgMHgwZDQ0LCAwLCB7MHg3NSwweDU5LDB4MDAsMHhjMCwweDAyLDB4YzAsMHgwMywweDEyLDB4MGUsMHhmMCwweGQwLDB4MDMsMHhkMH0gfSwKLXsgIDQsIDB4MGQ1MSwgMCwgezB4MDIsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBkNTUsIDAsIHsweGJhLDB4MjEsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkNWEsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgMTEsIDB4MGQ1ZCwgMCwgezB4NzUsMHgzNywweDAxLDB4OTAsMHg3ZiwweGM1LDB4ZTQsMHhmMCwweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGQ2OCwgMCwgezB4YmIsMHgwMywweDFmfSB9LAoteyAgNiwgMHgwZDZiLCAwLCB7MHhiYSwweDAwLDB4MDMsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBkNzEsIDAsIHsweGJhLDB4MDIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkNzYsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgMTMsIDB4MGQ3OSwgMCwgezB4NzUsMHg1OSwweDAxLDB4YzAsMHgwMiwweGMwLDB4MDMsMHgxMiwweDBlLDB4ZjAsMHhkMCwweDAzLDB4ZDB9IH0sCi17ICA0LCAweDBkODYsIDAsIHsweDAyLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgMywgMHgwZDhhLCAwLCB7MHhiYiwweDA2LDB4NTR9IH0sCi17ICA1LCAweDBkOGQsIDAsIHsweGJhLDB4ODAsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBkOTIsIDAsIHsweDAyLDB4MGUsMHhjNX0gfSwKLXsgIDgsIDB4MGQ5NSwgMCwgezB4OTAsMHg3ZiwweGViLDB4ZTAsMHhmYywweGJjLDB4MDEsMHgxNX0gfSwKLXsgMTIsIDB4MGQ5ZCwgMCwgezB4N2MsMHhmYiwweDdkLDB4MGYsMHg4ZCwweDA2LDB4N2YsMHgwMCwweDkwLDB4N2YsMHhkNCwweGVlfSB9LAoteyAgOSwgMHgwZGE5LCAwLCB7MHhmMCwweDkwLDB4N2YsMHhkNSwweGVjLDB4ZjAsMHgwMiwweDBlLDB4Y2R9IH0sCi17IDEwLCAweDBkYjIsIDAsIHsweDkwLDB4N2YsMHhlYiwweGUwLDB4ZmMsMHhiYywweDAyLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZGJjLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDEwLCAweDBkYmYsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmMsMHhiYywweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZGM5LCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDEyLCAweDBkY2MsIDAsIHsweDdjLDB4M2IsMHg3ZCwweDBmLDB4OGQsMHgwNiwweDdmLDB4MDAsMHg5MCwweDdmLDB4ZDQsMHhlZX0gfSwKLXsgIDksIDB4MGRkOCwgMCwgezB4ZjAsMHg5MCwweDdmLDB4ZDUsMHhlYywweGYwLDB4MDIsMHgwZSwweGNkfSB9LAoteyAgNiwgMHgwZGUxLCAwLCB7MHhiYiwweDA3LDB4MDMsMHgwMiwweDBlLDB4YzV9IH0sCi17ICAzLCAweDBkZTcsIDAsIHsweGJiLDB4MDgsMHgxMH0gfSwKLXsgMTMsIDB4MGRlYSwgMCwgezB4YWMsMHg0OCwweDkwLDB4N2YsMHgwMCwweGVjLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAzLCAweDBkZjcsIDAsIHsweDAyLDB4MGUsMHhjZH0gfSwKLXsgIDMsIDB4MGRmYSwgMCwgezB4YmIsMHgwOSwweDMxfSB9LAoteyAgNSwgMHgwZGZkLCAwLCB7MHhiYSwweDAwLDB4MDIsMHg4MCwweDAzfSB9LAoteyAgMywgMHgwZTAyLCAwLCB7MHgwMiwweDBlLDB4YzV9IH0sCi17IDE0LCAweDBlMDUsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmMsMHhjMywweDc0LDB4MDEsMHg5YywweDUwLDB4MDMsMHgwMiwweDBlLDB4YzV9IH0sCi17ICA4LCAweDBlMTMsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmMsMHhiYywweDAwLDB4MGF9IH0sCi17IDEwLCAweDBlMWIsIDAsIHsweDkwLDB4MTcsMHgyMSwweGU0LDB4ZjAsMHg5MCwweDE3LDB4MjIsMHhlNCwweGYwfSB9LAoteyAgOSwgMHgwZTI1LCAwLCB7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY1LDB4NDgsMHgwMiwweDBlLDB4Y2R9IH0sCi17ICAzLCAweDBlMmUsIDAsIHsweGJiLDB4MGEsMHgyN30gfSwKLXsgIDUsIDB4MGUzMSwgMCwgezB4YmEsMHg4MSwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGUzNiwgMCwgezB4MDIsMHgwZSwweGM1fSB9LAoteyAxNCwgMHgwZTM5LCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGZhLDB4MjQsMHgyMCwweGZhLDB4ZTQsMHgzNCwweDE3LDB4ZmMsMHg4YSwweDgyfSB9LAoteyAxNCwgMHgwZTQ3LCAwLCB7MHg4YywweDgzLDB4ZTAsMHhmYSwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMywgMHgwZTU1LCAwLCB7MHgwMiwweDBlLDB4Y2R9IH0sCi17ICA1LCAweDBlNTgsIDAsIHsweGJiLDB4MGIsMHgwMiwweDgwLDB4MDN9IH0sCi17ICAzLCAweDBlNWQsIDAsIHsweDAyLDB4MGUsMHhhOX0gfSwKLXsgMTMsIDB4MGU2MCwgMCwgezB4OTAsMHgxNywweDIwLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmEsMHhiYSwweDAxLDB4MWF9IH0sCi17ICA4LCAweDBlNmQsIDAsIHsweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmEsMHhiYSwweDAwLDB4MTJ9IH0sCi17IDE0LCAweDBlNzUsIDAsIHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg5MCwweDE3LDB4MjEsMHhmMCwweGMwLDB4MDMsMHgxMiwweDA0LDB4ZTJ9IH0sCi17ICA0LCAweDBlODMsIDAsIHsweGQwLDB4MDMsMHg4MCwweDQ2fSB9LAoteyAgOCwgMHgwZTg3LCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGZhLDB4YmEsMHgwMiwweDNlfSB9LAoteyAgOCwgMHgwZThmLCAwLCB7MHg5MCwweDdmLDB4ZWQsMHhlMCwweGZhLDB4YmEsMHgwMCwweDM2fSB9LAoteyAxMywgMHgwZTk3LCAwLCB7MHhjMCwweDAzLDB4MTIsMHgwNCwweGVmLDB4ZDAsMHgwMywweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmEsMHg5MH0gfSwKLXsgIDUsIDB4MGVhNCwgMCwgezB4MTcsMHgyMiwweGYwLDB4ODAsMHgyNH0gfSwKLXsgIDUsIDB4MGVhOSwgMCwgezB4YmIsMHgxMiwweDAyLDB4ODAsMHgxN30gfSwKLXsgIDUsIDB4MGVhZSwgMCwgezB4YmIsMHg4MSwweDAyLDB4ODAsMHgwZH0gfSwKLXsgIDUsIDB4MGViMywgMCwgezB4YmIsMHg4MywweDAyLDB4ODAsMHgwOH0gfSwKLXsgIDUsIDB4MGViOCwgMCwgezB4YmIsMHg4MiwweDAyLDB4ODAsMHgwM30gfSwKLXsgIDMsIDB4MGViZCwgMCwgezB4YmIsMHg4NCwweDA1fSB9LAoteyAgNSwgMHgwZWMwLCAwLCB7MHgxMiwweDA2LDB4NGUsMHg4MCwweDA4fSB9LAoteyAgOCwgMHgwZWM1LCAwLCB7MHg5MCwweDdmLDB4YjQsMHg3NCwweDAzLDB4ZjAsMHg4MCwweDA2fSB9LAoteyAgNiwgMHgwZWNkLCAwLCB7MHg5MCwweDdmLDB4YjQsMHg3NCwweDAyLDB4ZjB9IH0sCi17ICAyLCAweDBlZDMsIDAsIHsweGQwLDB4ODZ9IH0sCi17IDE0LCAweDBlZDUsIDAsIHsweGQwLDB4ZDAsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwNSwweGQwLDB4MDR9IH0sCi17IDEzLCAweDBlZTMsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAxMSwgMHgwZWYwLCAwLCB7MHg5MCwweDdmLDB4ZWMsMHhlMCwweGY1LDB4NWEsMHhjMywweDk0LDB4MDEsMHg0MCwweDFkfSB9LAoteyAgNywgMHgwZWZiLCAwLCB7MHhjMywweDc0LDB4MDcsMHg5NSwweDVhLDB4NDAsMHgxNn0gfSwKLXsgMTMsIDB4MGYwMiwgMCwgezB4ZTUsMHg1YSwweDI0LDB4ZmYsMHgyNSwweGUwLDB4ZmEsMHgyNCwweGM2LDB4ZjUsMHg4MiwweGU0LDB4MzR9IH0sCi17ICA5LCAweDBmMGYsIDAsIHsweDdmLDB4ZjUsMHg4MywweGFhLDB4NTksMHhlYSwweGYwLDB4ODAsMHgyMn0gfSwKLXsgIDcsIDB4MGYxOCwgMCwgezB4YzMsMHhlNSwweDVhLDB4OTQsMHg4MSwweDQwLDB4MWJ9IH0sCi17ICA3LCAweDBmMWYsIDAsIHsweGMzLDB4NzQsMHg4NywweDk1LDB4NWEsMHg0MCwweDE0fSB9LAoteyAxMywgMHgwZjI2LCAwLCB7MHhlNSwweDVhLDB4MjQsMHhmZiwweDI1LDB4ZTAsMHhmYSwweDI0LDB4YjYsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDcsIDB4MGYzMywgMCwgezB4N2YsMHhmNSwweDgzLDB4YWEsMHg1OSwweGVhLDB4ZjB9IH0sCi17ICAxLCAweDBmM2EsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgwZjNiLCAwLCB7MHgwOSwweDAyLDB4YmEsMHgwMCwweDAzLDB4MDEsMHgwMCwweDQwLDB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZjQ5LCAwLCB7MHgwMSwweDAxLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMSwweDAwLDB4MDEsMHgzZCwweDAwLDB4MDEsMHgwMSwweDBjfSB9LAoteyAxNCwgMHgwZjU3LCAwLCB7MHgyNCwweDAyLDB4MDEsMHgxMCwweDA3LDB4MDAsMHgwMiwweDAzLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2fSB9LAoteyAxNCwgMHgwZjY1LCAwLCB7MHgwMywweDAxLDB4MDIsMHgxNSwweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyfSB9LAoteyAxNCwgMHgwZjczLCAwLCB7MHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MDksMHgyNCwweDAzLDB4MDQsMHgwMiwweDAzLDB4MDAsMHgwMywweDAwfSB9LAoteyAxNCwgMHgwZjgxLCAwLCB7MHgwOSwweDI0LDB4MDMsMHgwNSwweDAzLDB4MDYsMHgwMCwweDAxLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZjhmLCAwLCB7MHgwMSwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3fSB9LAoteyAxNCwgMHgwZjlkLCAwLCB7MHgyNCwweDAxLDB4MDIsMHgwMSwweDAxLDB4MDAsMHgwYiwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDIsMHgxMCwweDAxfSB9LAoteyAxNCwgMHgwZmFiLCAwLCB7MHg4MCwweGJiLDB4MDAsMHgwOSwweDA1LDB4ODgsMHgwNSwweDAwLDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1fSB9LAoteyAxNCwgMHgwZmI5LCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZmM3LCAwLCB7MHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LDB4MDUsMHgwMiwweDAyLDB4NDAsMHgwMCwweDAwfSB9LAoteyAxNCwgMHgwZmQ1LCAwLCB7MHgwOSwweDA0LDB4MDIsMHgwMSwweDAzLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwfSB9LAoteyAxNCwgMHgwZmUzLCAwLCB7MHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwOSwweDA1LDB4ODksMHgwNSwweGEwfSB9LAoteyAxMCwgMHgwZmYxLCAwLCB7MHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMH0gfSwKLXsgMTQsIDB4MGZmYiwgMCwgezB4MTIsMHgwMSwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQ3LDB4MDUsMHg5OSwweDk5LDB4MDAsMHgwMX0gfSwKLXsgMTQsIDB4MTAwOSwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDIsMHhiYX0gfSwKLXsgIDQsIDB4MTAxNywgMCwgezB4MDAsMHgwMywweDAxLDB4MDB9IH0sCi17ICAyLCAweDEwMWIsIDAsIHsweDdhLDB4MDB9IH0sCi17ICAzLCAweDEwMWQsIDAsIHsweGJhLDB4MDUsMHgwMH0gfSwKLXsgIDIsIDB4MTAyMCwgMCwgezB4NTAsMHgxN30gfSwKLXsgIDgsIDB4MTAyMiwgMCwgezB4OTAsMHg3ZiwweGE1LDB4ZTAsMHhmYiwweDMwLDB4ZTAsMHgwNX0gfSwKLXsgIDUsIDB4MTAyYSwgMCwgezB4OTAsMHgwMCwweDAxLDB4ODAsMHgwZH0gfSwKLXsgMTAsIDB4MTAyZiwgMCwgezB4YzAsMHgwMiwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDIsMHgwYSwweDgwLDB4ZTR9IH0sCi17ICAzLCAweDEwMzksIDAsIHsweDkwLDB4MDAsMHgwMX0gfSwKLXsgIDEsIDB4MTAzYywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEwM2QsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZmIsMHg3YywweDAwLDB4N2R9IH0sCi17ICA0LCAweDEwNGIsIDAsIHsweDdlLDB4ZWIsMHg2MCwweDEyfSB9LAoteyAxNCwgMHgxMDRmLCAwLCB7MHg4OSwweDgyLDB4OGEsMHg4MywweGUwLDB4YTMsMHhhOSwweDgyLDB4YWEsMHg4MywweDhjLDB4ODIsMHg4ZCwweDgzfSB9LAoteyAgNCwgMHgxMDVkLCAwLCB7MHhmMCwweDBjLDB4ZGIsMHhlZX0gfSwKLXsgIDgsIDB4MTA2MSwgMCwgezB4OTAsMHg3ZCwweGMzLDB4ZTAsMHg5MCwweDdmLDB4YjksMHhmMH0gfSwKLXsgIDEsIDB4MTA2OSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEwNmEsIDAsIHsweDkwLDB4N2QsMHhjMSwweGUwLDB4ZjksMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZmIsMHg3YywweGM0LDB4N2R9IH0sCi17ICA0LCAweDEwNzgsIDAsIHsweDdkLDB4ZWIsMHg2MCwweGU1fSB9LAoteyAxNCwgMHgxMDdjLCAwLCB7MHg4YywweDgyLDB4OGQsMHg4MywweGUwLDB4MGMsMHg4OSwweDgyLDB4OGEsMHg4MywweGYwLDB4YTMsMHhhOSwweDgyfSB9LAoteyAgNCwgMHgxMDhhLCAwLCB7MHhhYSwweDgzLDB4ZGIsMHhlZX0gfSwKLXsgIDEsIDB4MTA4ZSwgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEwOGYsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHg5MCwweDdkLDB4YzEsMHhlMCwweDA1LDB4ODZ9IH0sCi17IDE0LCAweDEwOWQsIDAsIHsweGEzLDB4ZjAsMHgxMiwweDEwLDB4MWIsMHg5MCwweDdmLDB4YTYsMHgwNSwweDg2LDB4YTMsMHhhMywweGUwLDB4Zjl9IH0sCi17ICA1LCAweDEwYWIsIDAsIHsweDYwLDB4MTYsMHhhMywweDA1LDB4ODZ9IH0sCi17IDEzLCAweDEwYjAsIDAsIHsweDkwLDB4N2YsMHhhNiwweDA1LDB4ODYsMHhlMCwweGEzLDB4MDUsMHg4NiwweGYwLDB4YzAsMHgwMSwweDEyfSB9LAoteyAgNiwgMHgxMGJkLCAwLCB7MHgxMCwweDFiLDB4ZDAsMHgwMSwweGQ5LDB4ZWR9IH0sCi17ICA2LCAweDEwYzMsIDAsIHsweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMH0gfSwKLXsgIDEsIDB4MTBjOSwgMCwgezB4MjJ9IH0sCi17ICA4LCAweDEwY2EsIDAsIHsweDkwLDB4ODgsMHgwMiwweDc0LDB4MDEsMHhmMCwweDdhLDB4MDB9IH0sCi17ICAzLCAweDEwZDIsIDAsIHsweGJhLDB4ZmYsMHgwMH0gfSwKLXsgIDIsIDB4MTBkNSwgMCwgezB4NTAsMHgwYX0gfSwKLXsgMTAsIDB4MTBkNywgMCwgezB4YzAsMHgwMiwweDEyLDB4MDEsMHhkZCwweGQwLDB4MDIsMHgwYSwweDgwLDB4ZjF9IH0sCi17ICAxLCAweDEwZTEsIDAsIHsweDIyfSB9LAoteyAgNSwgMHgxMGUyLCAwLCB7MHhlNSwweDZiLDB4YjQsMHhjMCwweDA4fSB9LAoteyAgOCwgMHgxMGU3LCAwLCB7MHg5MCwweDg4LDB4MDMsMHhlNSwweDZjLDB4ZjAsMHg4MCwweDA2fSB9LAoteyAgNiwgMHgxMGVmLCAwLCB7MHg5MCwweDg4LDB4MDIsMHhlNSwweDZjLDB4ZjB9IH0sCi17ICA0LCAweDEwZjUsIDAsIHsweDdhLDB4MDAsMHg3YiwweDAwfSB9LAoteyAxMSwgMHgxMGY5LCAwLCB7MHhjMywweGVhLDB4OTQsMHgzMiwweGViLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA3fSB9LAoteyAgNSwgMHgxMTA0LCAwLCB7MHgwYSwweGJhLDB4MDAsMHgwMSwweDBifSB9LAoteyAgMiwgMHgxMTA5LCAwLCB7MHg4MCwweGVlfSB9LAoteyAgMSwgMHgxMTBiLCAwLCB7MHgyMn0gfSwKLXsgMTAsIDB4MTEwYywgMCwgezB4OTAsMHg4OCwweDAzLDB4ZTUsMHg2ZCwweGYwLDB4MDUsMHgzOSwweDdhLDB4MDB9IH0sCi17ICAzLCAweDExMTYsIDAsIHsweGJhLDB4MjgsMHgwMH0gfSwKLXsgIDIsIDB4MTExOSwgMCwgezB4NTAsMHgwM30gfSwKLXsgIDMsIDB4MTExYiwgMCwgezB4MGEsMHg4MCwweGY4fSB9LAoteyAgNSwgMHgxMTFlLCAwLCB7MHhlNSwweDM5LDB4YjQsMHgxMCwweDA4fSB9LAoteyAgOCwgMHgxMTIzLCAwLCB7MHg5MCwweDg4LDB4MDIsMHg3NCwweGMwLDB4ZjAsMHg4MCwweDBlfSB9LAoteyAgNSwgMHgxMTJiLCAwLCB7MHhlNSwweDM5LDB4YjQsMHgyMCwweDA5fSB9LAoteyAgOSwgMHgxMTMwLCAwLCB7MHg5MCwweDg4LDB4MDIsMHg3NCwweDgwLDB4ZjAsMHg3NSwweDM5LDB4MDB9IH0sCi17ICAyLCAweDExMzksIDAsIHsweDdhLDB4MDB9IH0sCi17ICAzLCAweDExM2IsIDAsIHsweGJhLDB4MjgsMHgwMH0gfSwKLXsgIDIsIDB4MTEzZSwgMCwgezB4NTAsMHgwM30gfSwKLXsgIDMsIDB4MTE0MCwgMCwgezB4MGEsMHg4MCwweGY4fSB9LAoteyAgMSwgMHgxMTQzLCAwLCB7MHgyMn0gfSwKLXsgIDQsIDB4MTE0NCwgMCwgezB4ZTUsMHg2ZiwweDYwLDB4MDJ9IH0sCi17ICAyLCAweDExNDgsIDAsIHsweDgwLDB4MDd9IH0sCi17ICA3LCAweDExNGEsIDAsIHsweDdhLDB4MDAsMHg3NSwweDM5LDB4MDAsMHg4MCwweDA1fSB9LAoteyAgNSwgMHgxMTUxLCAwLCB7MHg3YSwweDQwLDB4NzUsMHgzOSwweDEwfSB9LAoteyAgOSwgMHgxMTU2LCAwLCB7MHhlNSwweDZlLDB4MmEsMHhmYSwweGU1LDB4NmUsMHgyNSwweDM5LDB4ZjV9IH0sCi17IDEwLCAweDExNWYsIDAsIHsweDM5LDB4OTAsMHg4OCwweDAyLDB4NzQsMHg4MCwweDJhLDB4ZjAsMHg3YSwweDAwfSB9LAoteyAgOCwgMHgxMTY5LCAwLCB7MHhjMywweGVhLDB4NjQsMHg4MCwweDk0LDB4YTgsMHg1MCwweDAzfSB9LAoteyAgMywgMHgxMTcxLCAwLCB7MHgwYSwweDgwLDB4ZjV9IH0sCi17ICAxLCAweDExNzQsIDAsIHsweDIyfSB9LAoteyAgNiwgMHgxMTc1LCAwLCB7MHhhYSwweDcwLDB4YWIsMHg3MSwweGFjLDB4NzJ9IH0sCi17IDEyLCAweDExN2IsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDEyLDB4MTQsMHhlZSwweGZkLDB4NjAsMHgxOH0gfSwKLXsgMTMsIDB4MTE4NywgMCwgezB4OGQsMHg2ZCwweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweDEyLDB4MTEsMHgwYywweGQwLDB4MDR9IH0sCi17ICA5LCAweDExOTQsIDAsIHsweGQwLDB4MDMsMHhkMCwweDAyLDB4MGEsMHhiYSwweDAwLDB4MDEsMHgwYn0gfSwKLXsgIDIsIDB4MTE5ZCwgMCwgezB4ODAsMHhkY30gfSwKLXsgIDEsIDB4MTE5ZiwgMCwgezB4MjJ9IH0sCi17IDEzLCAweDExYTAsIDAsIHsweGU1LDB4NzMsMHhjNCwweDU0LDB4MGYsMHhmYSwweDUzLDB4MDIsMHgwZiwweGMzLDB4NzQsMHgwOSwweDlhfSB9LAoteyAgMiwgMHgxMWFkLCAwLCB7MHg1MCwweDA2fSB9LAoteyAgNiwgMHgxMWFmLCAwLCB7MHg3NCwweDM3LDB4MmEsMHhmYiwweDgwLDB4MDR9IH0sCi17ICA0LCAweDExYjUsIDAsIHsweDc0LDB4MzAsMHgyYSwweGZifSB9LAoteyAxMiwgMHgxMWI5LCAwLCB7MHg4YiwweDZkLDB4YzAsMHgwMywweDEyLDB4MTEsMHgwYywweGQwLDB4MDMsMHhhYSwweDczLDB4NTN9IH0sCi17ICA4LCAweDExYzUsIDAsIHsweDAyLDB4MGYsMHhjMywweDc0LDB4MDksMHg5YSwweDUwLDB4MDZ9IH0sCi17ICA2LCAweDExY2QsIDAsIHsweDc0LDB4MzcsMHgyYSwweGZiLDB4ODAsMHgwNH0gfSwKLXsgIDQsIDB4MTFkMywgMCwgezB4NzQsMHgzMCwweDJhLDB4ZmJ9IH0sCi17ICA1LCAweDExZDcsIDAsIHsweDhiLDB4NmQsMHgxMiwweDExLDB4MGN9IH0sCi17ICAxLCAweDExZGMsIDAsIHsweDIyfSB9LAoteyAgNywgMHgxMWRkLCAwLCB7MHg5MCwweDdkLDB4YzMsMHhlMCwweGZhLDB4NjAsMHgwZn0gfSwKLXsgMTIsIDB4MTFlNCwgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmNSwweDZlLDB4OTAsMHg3ZCwweGMyLDB4ZTAsMHhmNSwweDZmfSB9LAoteyAgMywgMHgxMWYwLCAwLCB7MHgxMiwweDExLDB4NDR9IH0sCi17IDEyLCAweDExZjMsIDAsIHsweDkwLDB4N2QsMHhmZiwweGU0LDB4ZjAsMHg3NSwweDcwLDB4YzQsMHg3NSwweDcxLDB4N2QsMHg3NX0gfSwKLXsgIDUsIDB4MTFmZiwgMCwgezB4NzIsMHgwMSwweDEyLDB4MTEsMHg3NX0gfSwKLXsgIDEsIDB4MTIwNCwgMCwgezB4MjJ9IH0sCi17ICAyLCAweDEyMDUsIDAsIHsweDdhLDB4MDR9IH0sCi17ICAzLCAweDEyMDcsIDAsIHsweGJhLDB4NDAsMHgwMH0gfSwKLXsgIDIsIDB4MTIwYSwgMCwgezB4NTAsMHgzNn0gfSwKLXsgMTQsIDB4MTIwYywgMCwgezB4ZWEsMHgyNCwweGMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZCwweGY1LDB4ODMsMHhlMCwweGZiLDB4N2MsMHgwMH0gfSwKLXsgIDMsIDB4MTIxYSwgMCwgezB4YmMsMHgwOCwweDAwfSB9LAoteyAgMiwgMHgxMjFkLCAwLCB7MHg1MCwweDIwfSB9LAoteyAgNiwgMHgxMjFmLCAwLCB7MHg4YiwweDA1LDB4ZWQsMHgzMCwweGU3LDB4MGJ9IH0sCi17IDExLCAweDEyMjUsIDAsIHsweDkwLDB4N2YsMHg5NiwweDc0LDB4NDIsMHhmMCwweDc0LDB4YzMsMHhmMCwweDgwLDB4MDh9IH0sCi17ICA4LCAweDEyMzAsIDAsIHsweDkwLDB4N2YsMHg5NiwweGU0LDB4ZjAsMHg3NCwweDgxLDB4ZjB9IH0sCi17ICA3LCAweDEyMzgsIDAsIHsweGViLDB4MjUsMHhlMCwweGZiLDB4MGMsMHg4MCwweGRifSB9LAoteyAgMywgMHgxMjNmLCAwLCB7MHgwYSwweDgwLDB4YzV9IH0sCi17ICAxLCAweDEyNDIsIDAsIHsweDIyfSB9LAoteyAgNCwgMHgxMjQzLCAwLCB7MHg3YSwweDAwLDB4N2IsMHhlZn0gfSwKLXsgIDMsIDB4MTI0NywgMCwgezB4YmEsMHgxMCwweDAwfSB9LAoteyAgMiwgMHgxMjRhLCAwLCB7MHg1MCwweDIwfSB9LAoteyAxNCwgMHgxMjRjLCAwLCB7MHg3NCwweDExLDB4MmIsMHhmYiwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHgxOCwweGZkLDB4OGMsMHg4MiwweDhkfSB9LAoteyAxNCwgMHgxMjVhLCAwLCB7MHg4MywweGU0LDB4ZjAsMHhlYSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDE5LDB4ZjUsMHg4MywweGU0fSB9LAoteyAgNCwgMHgxMjY4LCAwLCB7MHhmMCwweDBhLDB4ODAsMHhkYn0gfSwKLXsgIDEsIDB4MTI2YywgMCwgezB4MjJ9IH0sCi17IDE0LCAweDEyNmQsIDAsIHsweDc0LDB4ZjgsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyN2IsIDAsIHsweDc0LDB4ZjksMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyODksIDAsIHsweDc0LDB4ZmEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyOTcsIDAsIHsweDc0LDB4ZmIsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17IDE0LCAweDEyYTUsIDAsIHsweDc0LDB4ZmYsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweGU0LDB4ZjB9IH0sCi17ICAxLCAweDEyYjMsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxMmI0LCAwLCB7MHgxMiwweDAzLDB4Y2IsMHgxMiwweDEyLDB4NmQsMHg3YSwweGMwLDB4N2IsMHg4NywweDdjLDB4MDEsMHg3NCwweDAxfSB9LAoteyAxNCwgMHgxMmMyLCAwLCB7MHgyYSwweGZkLDB4ZTQsMHgzYiwweGZlLDB4OGMsMHgwNywweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDc0fSB9LAoteyAxNCwgMHgxMmQwLCAwLCB7MHgwMSwweDEyLDB4MTQsMHhiZiwweDJkLDB4ZmEsMHhlNCwweDNlLDB4ZmIsMHg4ZiwweDA0LDB4OGQsMHg4MiwweDhlfSB9LAoteyAxNCwgMHgxMmRlLCAwLCB7MHg4MywweDhmLDB4ZjAsMHg3NCwweDA2LDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJhLDB4ZmQsMHhlNCwweDNifSB9LAoteyAxNCwgMHgxMmVjLCAwLCB7MHhmZSwweDhjLDB4MDcsMHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHhlNCwweDEyLDB4MTQsMHhiZiwweDc0fSB9LAoteyAxNCwgMHgxMmZhLCAwLCB7MHgwMSwweDJkLDB4ZmEsMHhlNCwweDNlLDB4ZmIsMHg4ZiwweDA0LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg4ZiwweGYwfSB9LAoteyAxNCwgMHgxMzA4LCAwLCB7MHg3NCwweDBiLDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJhLDB4ZmQsMHhlNCwweDNiLDB4ZmUsMHg4YywweDA3fSB9LAoteyAxNCwgMHgxMzE2LCAwLCB7MHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHg3NCwweDA4LDB4MTIsMHgxNCwweGJmLDB4NzQsMHgwMSwweDJkfSB9LAoteyAxNCwgMHgxMzI0LCAwLCB7MHhmYSwweGU0LDB4M2UsMHhmYiwweDhmLDB4MDQsMHg4ZCwweDgyLDB4OGUsMHg4MywweDhmLDB4ZjAsMHg3NCwweDAxfSB9LAoteyAxNCwgMHgxMzMyLCAwLCB7MHgxMiwweDE0LDB4YmYsMHgyYSwweGZkLDB4ZTQsMHgzYiwweGZlLDB4OGMsMHgwNywweDhhLDB4ODIsMHg4YiwweDgzfSB9LAoteyAxNCwgMHgxMzQwLCAwLCB7MHg4YywweGYwLDB4ZTQsMHgxMiwweDE0LDB4YmYsMHg3NCwweDAxLDB4MmQsMHhmYSwweGU0LDB4M2UsMHhmYiwweDhmfSB9LAoteyAxNCwgMHgxMzRlLCAwLCB7MHgwNCwweDhkLDB4ODIsMHg4ZSwweDgzLDB4OGYsMHhmMCwweDc0LDB4MDMsMHgxMiwweDE0LDB4YmYsMHg3ZCwweDAwfSB9LAoteyAgMywgMHgxMzVjLCAwLCB7MHhiZCwweDA2LDB4MDB9IH0sCi17ICAyLCAweDEzNWYsIDAsIHsweDUwLDB4MTJ9IH0sCi17IDExLCAweDEzNjEsIDAsIHsweDhhLDB4ODIsMHg4YiwweDgzLDB4OGMsMHhmMCwweDBhLDB4YmEsMHgwMCwweDAxLDB4MGJ9IH0sCi17ICA3LCAweDEzNmMsIDAsIHsweGU0LDB4MTIsMHgxNCwweGJmLDB4MGQsMHg4MCwweGU5fSB9LAoteyAxMywgMHgxMzczLCAwLCB7MHg4YSwweDgyLDB4OGIsMHg4MywweDhjLDB4ZjAsMHhlNSwweDc0LDB4MTIsMHgxNCwweGJmLDB4NzQsMHhmOX0gfSwKLXsgMTQsIDB4MTM4MCwgMCwgezB4MjQsMHgwMCwweGY1LDB4ODIsMHg3NCwweDAzLDB4MzQsMHg4NCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg3NH0gfSwKLXsgMTQsIDB4MTM4ZSwgMCwgezB4ZmUsMHgyNCwweDAwLDB4ZjUsMHg4MiwweDc0LDB4MDMsMHgzNCwweDg0LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDYsIDB4MTM5YywgMCwgezB4MTIsMHgwMywweGUxLDB4MTIsMHgwNCwweGY3fSB9LAoteyAgMSwgMHgxM2EyLCAwLCB7MHgyMn0gfSwKLXsgMTMsIDB4MTNhMywgMCwgezB4OTAsMHg3ZCwweGMxLDB4ZTAsMHhmYSwweDI0LDB4MDAsMHhmYiwweGU0LDB4MzQsMHgxOSwweGZjLDB4OTB9IH0sCi17IDE0LCAweDEzYjAsIDAsIHsweDdkLDB4YzIsMHhlMCwweGZkLDB4OGIsMHg4MiwweDhjLDB4ODMsMHhmMCwweDc1LDB4ZjAsMHgxMSwweGVhLDB4YTR9IH0sCi17ICAzLCAweDEzYmUsIDAsIHsweGZhLDB4N2IsMHgwMH0gfSwKLXsgIDMsIDB4MTNjMSwgMCwgezB4YmIsMHgxMCwweDAwfSB9LAoteyAgMiwgMHgxM2M0LCAwLCB7MHg1MCwweDI0fSB9LAoteyAxNCwgMHgxM2M2LCAwLCB7MHhlYSwweDI0LDB4MDAsMHhmYywweGU0LDB4MzQsMHgxOCwweGZkLDB4ZWIsMHgyYywweGZjLDB4ZTQsMHgzZCwweGZkfSB9LAoteyAxNCwgMHgxM2Q0LCAwLCB7MHg3NCwweDA0LDB4MmIsMHgyNCwweGMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZCwweGY1LDB4ODMsMHhlMCwweGZlfSB9LAoteyAgOCwgMHgxM2UyLCAwLCB7MHg4YywweDgyLDB4OGQsMHg4MywweGYwLDB4MGIsMHg4MCwweGQ3fSB9LAoteyAxNCwgMHgxM2VhLCAwLCB7MHhlYSwweDI0LDB4MDAsMHhmYSwweGU0LDB4MzQsMHgxOCwweGZiLDB4NzQsMHgxMCwweDJhLDB4ZjUsMHg4MiwweGU0fSB9LAoteyAgNSwgMHgxM2Y4LCAwLCB7MHgzYiwweGY1LDB4ODMsMHhlNCwweGYwfSB9LAoteyAgMSwgMHgxM2ZkLCAwLCB7MHgyMn0gfSwKLXsgIDQsIDB4MTNmZSwgMCwgezB4ZTUsMHg3NiwweDYwLDB4MDJ9IH0sCi17ICAyLCAweDE0MDIsIDAsIHsweDgwLDB4MTZ9IH0sCi17IDEyLCAweDE0MDQsIDAsIHsweDc0LDB4MGYsMHg1NSwweDc1LDB4ZmEsMHg4YSwweDc1LDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNH0gfSwKLXsgMTAsIDB4MTQxMCwgMCwgezB4MzQsMHgxOSwweGY1LDB4ODMsMHhlMCwweGY1LDB4NzQsMHgxMiwweDEyLDB4YjR9IH0sCi17IDEwLCAweDE0MWEsIDAsIHsweDEyLDB4MTAsMHhjYSwweDc1LDB4NmUsMHgwMCwweDc1LDB4NmYsMHgwMCwweDEyfSB9LAoteyAgNiwgMHgxNDI0LCAwLCB7MHgxMSwweDQ0LDB4NzUsMHg3MCwweGI5LDB4NzV9IH0sCi17ICA2LCAweDE0MmEsIDAsIHsweDcxLDB4MTQsMHg3NSwweDcyLDB4MDIsMHgxMn0gfSwKLXsgMTEsIDB4MTQzMCwgMCwgezB4MTEsMHg3NSwweGU1LDB4NzYsMHhiNCwweDAyLDB4MDQsMHg3NCwweDAxLDB4ODAsMHgwMX0gfSwKLXsgIDEsIDB4MTQzYiwgMCwgezB4ZTR9IH0sCi17ICAzLCAweDE0M2MsIDAsIHsweGZhLDB4NzAsMHgwZn0gfSwKLXsgMTIsIDB4MTQzZiwgMCwgezB4NzQsMHgwMSwweDI1LDB4NzUsMHhmNSwweDczLDB4YzAsMHgwMiwweDEyLDB4MTEsMHhhMCwweGQwfSB9LAoteyAgMywgMHgxNDRiLCAwLCB7MHgwMiwweDgwLDB4MGF9IH0sCi17IDEwLCAweDE0NGUsIDAsIHsweDg1LDB4NzUsMHg3MywweGMwLDB4MDIsMHgxMiwweDExLDB4YTAsMHhkMCwweDAyfSB9LAoteyAxMiwgMHgxNDU4LCAwLCB7MHg3NSwweDZlLDB4MDAsMHg3NSwweDZmLDB4MDEsMHhjMCwweDAyLDB4MTIsMHgxMSwweDQ0LDB4ZDB9IH0sCi17ICA0LCAweDE0NjQsIDAsIHsweDAyLDB4ZWEsMHg3MCwweDFhfSB9LAoteyAxMywgMHgxNDY4LCAwLCB7MHg3NSwweGYwLDB4MTEsMHhlNSwweDc1LDB4YTQsMHhmYSwweDI0LDB4MDAsMHhmYSwweGU0LDB4MzQsMHgxOH0gfSwKLXsgIDksIDB4MTQ3NSwgMCwgezB4ZmIsMHg4YSwweDcwLDB4OGIsMHg3MSwweDc1LDB4NzIsMHgwMSwweDEyfSB9LAoteyAgNCwgMHgxNDdlLCAwLCB7MHgxMSwweDc1LDB4ODAsMHgzNn0gfSwKLXsgIDIsIDB4MTQ4MiwgMCwgezB4N2EsMHgwMH0gfSwKLXsgIDMsIDB4MTQ4NCwgMCwgezB4YmEsMHgxMCwweDAwfSB9LAoteyAgMiwgMHgxNDg3LCAwLCB7MHg1MCwweDJmfSB9LAoteyAxMywgMHgxNDg5LCAwLCB7MHhlYSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDE5LDB4ZjUsMHg4MywweGUwLDB4ZmIsMHhlNX0gfSwKLXsgIDQsIDB4MTQ5NiwgMCwgezB4NzUsMHhiNSwweDAzLDB4MWJ9IH0sCi17IDE0LCAweDE0OWEsIDAsIHsweDc1LDB4ZjAsMHgxMSwweGVhLDB4YTQsMHhmYiwweDI0LDB4MDAsMHhmYiwweGU0LDB4MzQsMHgxOCwweGZjLDB4OGJ9IH0sCi17ICA5LCAweDE0YTgsIDAsIHsweDcwLDB4OGMsMHg3MSwweDc1LDB4NzIsMHgwMSwweGMwLDB4MDIsMHgxMn0gfSwKLXsgIDQsIDB4MTRiMSwgMCwgezB4MTEsMHg3NSwweGQwLDB4MDJ9IH0sCi17ICAzLCAweDE0YjUsIDAsIHsweDBhLDB4ODAsMHhjY30gfSwKLXsgIDEsIDB4MTRiOCwgMCwgezB4MjJ9IH0sCi17ICA2LCAweDE0YjksIDAsIHsweDUwLDB4NzIsMHg2ZiwweDY3LDB4MjAsMHgwMH0gfSwKLXsgMTQsIDB4MTRiZiwgMCwgezB4YzgsMHhjMCwweGUwLDB4YzgsMHhjMCwweGUwLDB4ZTUsMHhmMCwweDYwLDB4MGIsMHgxNCwweDYwLDB4MGYsMHgxNH0gfSwKLXsgIDcsIDB4MTRjZCwgMCwgezB4NjAsMHgxMSwweDE0LDB4NjAsMHgxMiwweDgwLDB4MTV9IH0sCi17ICA3LCAweDE0ZDQsIDAsIHsweGQwLDB4ZTAsMHhhOCwweDgyLDB4ZjYsMHg4MCwweDBlfSB9LAoteyAgNSwgMHgxNGRiLCAwLCB7MHhkMCwweGUwLDB4ZjAsMHg4MCwweDA5fSB9LAoteyAgNCwgMHgxNGUwLCAwLCB7MHhkMCwweGUwLDB4ODAsMHgwNX0gfSwKLXsgIDUsIDB4MTRlNCwgMCwgezB4ZDAsMHhlMCwweGE4LDB4ODIsMHhmMn0gfSwKLXsgIDQsIDB4MTRlOSwgMCwgezB4YzgsMHhkMCwweGUwLDB4Yzh9IH0sCi17ICAxLCAweDE0ZWQsIDAsIHsweDIyfSB9LAoteyAxNCwgMHgxNGVlLCAwLCB7MHhjOCwweGMwLDB4ZTAsMHhlNSwweGYwLDB4NjAsMHgwZCwweDE0LDB4NjAsMHgwZiwweDE0LDB4NjAsMHgwZiwweDE0fSB9LAoteyAgNiwgMHgxNGZjLCAwLCB7MHg2MCwweDEwLDB4NzQsMHhmZiwweDgwLDB4MGZ9IH0sCi17ICA1LCAweDE1MDIsIDAsIHsweGE4LDB4ODIsMHhlNiwweDgwLDB4MGF9IH0sCi17ICAzLCAweDE1MDcsIDAsIHsweGUwLDB4ODAsMHgwN30gfSwKLXsgIDQsIDB4MTUwYSwgMCwgezB4ZTQsMHg5MywweDgwLDB4MDN9IH0sCi17ICAzLCAweDE1MGUsIDAsIHsweGE4LDB4ODIsMHhlMn0gfSwKLXsgIDQsIDB4MTUxMSwgMCwgezB4ZjgsMHhkMCwweGUwLDB4Yzh9IH0sCi17ICAxLCAweDE1MTUsIDAsIHsweDIyfSB9LAoteyAgMCwgMHgwMDAwLCAxLCB7MH0gfQotCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBiaXRzdHJlYW1bXSA9IHsKLQotMHgwMCwweDA5LDB4MEYsMHhGMCwweDBGLDB4RjAsMHgwRiwweEYwLCAweDBGLDB4RjAsMHgwMCwweDAwLDB4MDEsMHg2MSwweDAwLDB4MEQsCi0weDY0LDB4NjEsMHg2MiwweDc1LDB4NzMsMHg2MiwweDc0LDB4NzIsIDB4MkUsMHg2RSwweDYzLDB4NjQsMHgwMCwweDYyLDB4MDAsMHgwQiwKLTB4NzMsMHgzMSwweDMwLDB4NzgsMHg2QywweDc2LDB4NzEsMHgzMSwgMHgzMCwweDMwLDB4MDAsMHg2MywweDAwLDB4MEIsMHgzMSwweDM5LAotMHgzOSwweDM5LDB4MkYsMHgzMCwweDM5LDB4MkYsMHgzMiwweDM0LCAweDAwLDB4NjQsMHgwMCwweDA5LDB4MzEsMHgzMCwweDNBLDB4MzQsCi0weDMyLDB4M0EsMHgzNCwweDM2LDB4MDAsMHg2NSwweDAwLDB4MDAsIDB4MkUsMHhDMCwweEZGLDB4MjAsMHgxNywweDVGLDB4OUYsMHg1QiwKLTB4RkUsMHhGQiwweEJCLDB4QjcsMHhCQiwweEJCLDB4RkIsMHhCRiwgMHhBRiwweEVGLDB4RkIsMHhERiwweEI3LDB4RkIsMHhGQiwweDdGLAotMHhCRiwweEI3LDB4RUYsMHhGMiwweEZGLDB4RkIsMHhGRSwweEZGLCAweEZGLDB4RUYsMHhGRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhBRiwweEZGLDB4RkEsMHhGRiwweEZGLDB4RkYsIDB4QzksMHhGRiwweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4QTMsMHhGRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFRiwweEUzLDB4RkUsMHhGRiwweEJGLCAweEUzLDB4RkUsMHhGRiwweEJGLDB4NkYsMHhGQiwweEY2LDB4RkYsCi0weEJGLDB4RkYsMHg0NywweEZGLDB4RkYsMHg5RiwweEVFLDB4RjksIDB4RkUsMHhDRiwweDlGLDB4RUYsMHhGQiwweENGLDB4OUIsMHhFRSwKLTB4RjgsMHhGRSwweEVGLDB4OEYsMHhFRSwweEZCLDB4RkUsMHgwQiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkIsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhGRiwweEZDLDB4MTcsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwKLTB4RkMsMHgzRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHg1RiwweEZGLCAweEZGLDB4RkQsMHhGRiwweEZGLDB4REIsMHhGRiwweEZELDB4RkYsCi0weDc3LDB4RkYsMHhGRCwweEZGLDB4RkYsMHhERiwweEZFLDB4RkQsIDB4RkYsMHhGRiwweEYyLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEUxLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgzRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RTMsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhCRiwKLTB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweDY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweDJGLDB4RkYsCi0weEYzLDB4RkQsMHhGRiwweDdGLDB4REUsMHhGNywweEZELDB4RkYsIDB4N0YsMHhGNywweDdELDB4RkYsMHg3RiwweERGLDB4RjcsMHhCRCwKLTB4RkYsMHg3RiwweEZGLDB4MUYsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhFRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZGLCAweDNGLDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsCi0weDlGLDB4RTcsMHhGQSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsIDB4N0YsMHg5RiwweEU3LDB4RkYsMHhGQywweDdGLDB4QkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhCNywgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLAotMHhGRiwweEUwLDB4RkQsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LCAweEY5LDB4RkUsMHg3RiwweDlELDB4RjksMHhGRSwweDdELDB4OUQsCi0weEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFRCwweEVELDB4RkYsIDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwKLTB4REYsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwgMHg3RiwweERGLDB4RkYsMHg5QiwweEZGLDB4RUYsMHhGQiwweEZFLAotMHhGQiwweEJGLDB4RUYsMHhCQiwweEZFLDB4RkYsMHhBRiwweEJCLCAweEJFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkYsCi0weEI3LDB4QkYsMHhEQiwweEY2LDB4QkQsMHhCRiwweDZCLDB4REIsIDB4RjYsMHhGOSwweEJGLDB4NUIsMHhENiwweEY5LDB4QkYsMHg2RiwKLTB4REIsMHhGNiwweEZELDB4QkYsMHhGRiwweDBFLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4NUYsMHhGRiwweEY3LDB4RkYsMHhGRiwweDdGLAotMHhGNywweEJELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4REYsMHg5RiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsCi0weEZGLDB4RUYsMHhGRSwweEZFLDB4RkYsMHhGRiwweDc3LDB4RkYsIDB4RkIsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjgsMHgzRiwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGNCwweDdGLDB4RkYsMHhGRSwweEZELCAweEJFLDB4RkYsMHhERiwweEZFLDB4RkYsMHhGRiwweEVGLDB4N0YsCi0weEZGLDB4Q0YsMHhGRiwweENGLDB4RkYsMHhGRiwweEZGLDB4REYsIDB4RTYsMHhGRiwweEZGLDB4N0YsMHhERiwweEY3LDB4REQsMHg3RiwKLTB4N0YsMHhERiwweEY3LDB4RkYsMHg3RiwweERGLDB4RDcsMHhGRCwgMHhGRiwweDdGLDB4REYsMHhGNywweEZGLDB4Q0QsMHhGRiwweEYyLAotMHhGRiwweEZGLDB4NEYsMHg3RiwweEY0LDB4RkYsMHhGRiwweEZGLCAweEU3LDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhCQiwweEZGLDB4RUYsMHhGRiwweEZFLDB4RkYsIDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGQiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg2NSwgMHhFRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkQsMHhFRiwweEZGLAotMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4Q0YsMHhERiwweEZFLDB4RkYsCi0weEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEYzLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkUsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHhCRiwweEZGLCAweEZGLDB4RkYsMHhFMywweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhFRiwweEVCLDB4RkYsMHhGRSwweEJGLDB4RkYsIDB4RUIsMHhGRiwweEZDLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhFRSwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REQsMHhGRiwgMHhENiwweEZGLDB4RkQsMHhCRiwweEZGLDB4RkIsMHhGRiwweEZFLAotMHhGRCwweEZGLDB4RkYsMHhGRCwweEVGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweERFLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4QkYsIDB4RkYsMHg1RiwweERGLDB4RkYsMHhGRiwweEJGLDB4NzcsMHhGRiwKLTB4RkYsMHhGRiwweDdGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEMzLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwweEVGLAotMHhGRiwweEZGLDB4RkUsMHhGQiwweEZGLDB4RkYsMHhERiwweEJGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RUQsMHhGRiwweEI3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4QUYsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweERGLDB4QkYsMHhERiwweEYzLDB4RkQsMHhGQiwweEZGLDB4NUIsCi0weEZELDB4RkYsMHhCRiwweEVGLDB4RjcsMHhGRiwweEZGLDB4N0QsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGOCwweDNCLDB4RkYsMHhCRiwKLTB4NkYsMHhGRiwweEZFLDB4RkYsMHhCRiwweEZGLDB4RUIsMHg3RCwgMHhGRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEYyLDB4N0YsMHhGQywweEZGLDB4M0YsMHhERiwweEVELCAweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweDVGLDB4RjcsCi0weEI1LDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweEUwLDB4M0YsIDB4OUYsMHg5RSwweEZGLDB4RkYsMHhFRiwweEZGLDB4REYsMHhGRiwKLTB4QkYsMHg1RiwweEJGLDB4Q0YsMHhGMywweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHg2OSwweEFGLDB4MzMsMHhGRCwweEZGLAotMHhGQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHhGRiwweDdGLCAweEQ5LDB4RkYsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjUsCi0weEEzLDB4REYsMHg2RSwweERFLDB4RkYsMHhGRiwweEJELDB4RkYsIDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZFLDB4RTcsMHhGRCwKLTB4RkYsMHhGRiwweEZGLDB4RjksMHhFRiwweEM2LDB4RkUsMHhCNywgMHhBRCwweEU1LDB4RjksMHhGRiwweEZGLDB4RkYsMHhDRiwweEZGLAotMHhGRiwweEZGLDB4Q0QsMHhGQiwweDdGLDB4RkYsMHhGRiwweEZGLCAweEY5LDB4RjYsMHgwRiwweERGLDB4RUMsMHhDRiwweDdGLDB4RkYsCi0weEZCLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkUsIDB4RjksMHhGRCwweDdGLDB4RkYsMHg3RiwweEZGLDB4RjksMHg1QiwKLTB4RkYsMHg3MywweERDLDB4RkQsMHg3QiwweERGLDB4RkYsMHhGRiwgMHhGRiwweDdCLDB4RkYsMHhGRiwweEY3LDB4NTMsMHhENiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhEOCwweDlGLDB4RkUsMHhGRiwweEVGLCAweDdGLDB4RUUsMHhGRiwweEZGLDB4RkYsMHhGQiwweEVELDB4RUQsCi0weEZELDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGQiwweDdGLDB4RkYsIDB4RTIsMHg3RiwweEZGLDB4NkYsMHhEOCwweDU3LDB4RjcsMHhGRiwKLTB4RkYsMHhGRiwweERGLDB4RkYsMHhFOCwweEZGLDB4RkYsMHhGRCwgMHhGRiwweEZGLDB4RkMsMHg3RiwweEZGLDB4RTQsMHhGRiwweEZCLAotMHhFRiwweEZCLDB4RkUsMHhERiwweEI3LDB4RUQsMHhGRiwweEZFLCAweERGLDB4N0YsMHhGRiwweEZFLDB4N0YsMHhCNywweEZGLDB4RkYsCi0weEZGLDB4RkYsMHg4OSwweEZGLDB4RkYsMHhDRiwweEYzLDB4RkUsIDB4N0YsMHhGRiwweEVGLDB4RkYsMHhGRSwweDdFLDB4N0YsMHhGQiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMSwgMHhGRiwweEVCLDB4N0EsMHhENSwweEJGLDB4NkYsMHhEQiwweEJFLAotMHhGRCwweEI3LDB4RDgsMHhGNiwweEU1LDB4QkYsMHg2RiwweEZCLCAweEZFLDB4RjUsMHhCRCwweDdFLDB4MDYsMHhGRiwweERGLDB4RjcsCi0weEZCLDB4RjYsMHhGRiwweDNGLDB4RkYsMHhEQiwweEZGLDB4RkYsIDB4NkYsMHhGQiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGRSwKLTB4RjcsMHhBRiwweEZGLDB4QjcsMHhFRCwweEVGLDB4RjcsMHhGRSwgMHhGRiwweEZGLDB4REYsMHhGRiwweEZFLDB4RkYsMHhFRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhCRiwweEY3LDB4RkMsMHgxRiwweEVFLCAweEZCLDB4RkUsMHhCRCwweEZGLDB4N0YsMHg1RiwweEQ3LDB4RkQsCi0weEZCLDB4NDMsMHhGRiwweEZGLDB4RkQsMHhGRiwweDVGLDB4RkYsIDB4RjcsMHhGRiwweEY5LDB4M0YsMHhGRiwweENGLDB4RjMsMHhGRCwKLTB4RjcsMHg3RSwweEVGLDB4QTcsMHhGOSwweEZFLDB4OEYsMHhBNywgMHhFOSwweEYzLDB4N0UsMHg5RiwweEZCLDB4RjgsMHhGRiwweEZGLAotMHgzRiwweEZELDB4N0YsMHg1RiwweERGLDB4RkQsMHhGRiwweEZGLCAweDVGLDB4RkYsMHhGRCwweDVGLDB4RkYsMHhGRiwweDdGLDB4RkQsCi0weDdGLDB4RkQsMHg5RiwweEZGLDB4RTAsMHhGRiwweEZBLDB4RjgsIDB4QkUsMHg2RiwweDlGLDB4RTYsMHhGOCwweEJFLDB4M0YsMHg5QSwKLTB4RjksMHhCRSwweDZGLDB4OUYsMHhFMiwweEY5LDB4RkUsMHg2RiwgMHg5RiwweEY5LDB4RkYsMHhGNSwweEZELDB4N0YsMHhDRiwweERGLAotMHhGRCwweEZELDB4N0YsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLCAweEY3LDB4RjUsMHhGRCwweDBGLDB4REIsMHhGRiwweEQzLDB4RkYsCi0weEVCLDB4RkEsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZBLDB4RkYsIDB4RkYsMHhDQiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RUIsMHhGQSwKLTB4RkUsMHhGRiwweEZGLDB4QjcsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhCRiwweEZGLDB4REYsMHhGNSwweEZGLDB4RkYsMHhENywweEZGLAotMHhGRiwweEZGLDB4REYsMHhENywweEY1LDB4RkYsMHg3RiwweEZFLCAweDRGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHg3RiwweEZGLDB4QUQsCi0weEVCLDB4RkIsMHhGRiwweEFELDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4QUYsMHhFQiwweEZCLDB4RkYsMHhGQywweDBELDB4RkYsMHhGRiwKLTB4REYsMHhEMiwweEZELDB4RkYsMHhGRiwweEZELDB4RjYsMHhGRiwgMHhGRiwweDdGLDB4RkYsMHhGRiwweDFGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZCLDB4M0YsMHg3RCwweEVCLDB4MzIsMHhGRSwweEJGLCAweDJGLDB4RUIsMHhGQSwweEFFLDB4QkQsMHhFMCwweEZBLDB4N0UsCi0weEJGLDB4QUQsMHhFQiwweEZBLDB4RkUsMHhCRiwweEY1LDB4N0YsIDB4RkYsMHhERSwweEZFLDB4RTMsMHhGQiwweEZGLDB4RkYsMHhGRiwKLTB4REYsMHhFRiwweDRGLDB4REYsMHhGRiwweDdGLDB4REYsMHhGRiwgMHhGNywweEZGLDB4RkYsMHhGOCwweDdGLDB4RkYsMHhGRiwweEVGLAotMHhGQiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweERGLCAweEVELDB4RkIsMHhERiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weDgxLDB4RkYsMHhGRiwweEZGLDB4RkYsMHgzRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZFLDB4REQsMHhGRSwweEVGLDB4RkQsMHhGRiwKLTB4RkYsMHhGQiwweEZFLDB4RjcsMHhGRiwweDkzLDB4RkQsMHhGQiwgMHg3RSwweEZGLDB4RkUsMHg4NywweEU5LDB4RkYsMHg3RiwweEIzLAotMHg5RiwweEZFLDB4RkUsMHhGRiwweEFGLDB4RkQsMHhGRSwweDdFLCAweDNGLDB4RkUsMHg2NywweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsCi0weEZDLDB4RjcsMHhERiwweEZELDB4RkYsMHg3RiwweEZGLDB4RkYsIDB4N0YsMHg2RCwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHgyRiwKLTB4RkYsMHhCRiwweEZGLDB4RkYsMHhFRSwweEZGLDB4QkUsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRSwweEZGLAotMHhFRiwweEZGLDB4RkYsMHhGQSwweDVGLDB4RkYsMHhGRiwweEZCLCAweEZGLDB4RkYsMHhFRiwweEZGLDB4RkIsMHhGRSwweEZELDB4RkYsCi0weEZFLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsIDB4RkUsMHhCRiwweERGLDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGNywKLTB4RkMsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjIsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEYzLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGQiwweEZGLDB4RkYsCi0weEZGLDB4REYsMHhFMiwweEZGLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEU3LDB4RkYsMHhGRCwKLTB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhFRCwgMHhFRiwweEZELDB4RkYsMHhGRiwweERGLDB4RDcsMHhGNSwweEZELAotMHg3RiwweDVELDB4RkQsMHhGRiwweDdGLDB4REYsMHg5NywweEY0LCAweEZELDB4N0IsMHg1RiwweEZGLDB4QzksMHhGRiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweDVGLDB4RkYsMHhGRiwweEY3LDB4RkYsIDB4RUYsMHhGRCwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGNywweEZGLDB4RDcsMHhGRCwweDdELDB4N0YsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhFRiwweERGLDB4RjcsMHhGRCwweEZGLAotMHhCQiwweEZGLDB4RkYsMHg3RiwweEZGLDB4RkUsMHhFMywweEZGLCAweEY5LDB4RkUsMHg3RiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsCi0weEJGLDB4RjksMHhGRSwweEZGLDB4OUYsMHhFRiwweEY5LDB4RkUsIDB4RkYsMHhCRiwweEYzLDB4REEsMHhGRiwweDM3LDB4Q0QsMHhGMywKLTB4N0MsMHhERiwweDM3LDB4Q0QsMHhGMywweDdGLDB4MzcsMHhDRCwgMHhGMywweDdDLDB4REYsMHgzNywweENDLDB4RjMsMHg3RiwweDVBLAotMHhCRCwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsMHhGNiwweEZELCAweEJGLDB4NkYsMHhERSwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsCi0weEZELDB4QkYsMHg2RiwweEZFLDB4RjEsMHg2RiwweEVCLDB4N0EsIDB4REUsMHhCNywweEFELDB4RUIsMHg3QSwweERFLDB4QjcsMHhBRiwKLTB4N0EsMHhERSwweEI3LDB4QUQsMHhFQiwweDdBLDB4REUsMHhCNywgMHhGRiwweDdFLDB4RkYsMHhGRSwweENELDB4QjMsMHg2QywweERCLAotMHgzNiwweENELDB4QjMsMHg2QywweERFLDB4Q0QsMHhCMywweDZDLCAweERCLDB4MzYsMHhDRCwweEIzLDB4NkMsMHhERiwweEM5LDB4QkYsCi0weEY3LDB4QkQsMHhFRiwweDdBLDB4OUUsMHhBNywweEE5LDB4RUEsIDB4N0EsMHhCNywweEJELDB4RUEsMHg3QiwweERFLDB4QTcsMHhCRCwKLTB4Q0EsMHg3MiwweDhELDB4OTEsMHhGRiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RjcsMHhFRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEZFLCAweDg3LDB4RkYsMHhGNiwweEZELDB4QkYsMHg2RiwweERCLDB4RjYsCi0weEZELDB4QkYsMHg2RiwweEY2LDB4RkQsMHhCRiwweDZGLDB4REIsIDB4RjYsMHhGRCwweEJGLDB4NkYsMHhGRSwweDRGLDB4RkYsMHhCRiwKLTB4RUYsMHhCQiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsMHhFRiwgMHhCRSwweEVGLDB4QkIsMHhFRSwweEZCLDB4QkUsMHhFRiwweEJCLAotMHhFRiwweEZDLDB4NUYsMHhGRiwweEZGLDB4RkYsMHgzRiwweENGLCAweEYzLDB4RkMsMHhGRiwweDNGLDB4Q0YsMHhGQywweEZGLDB4M0YsCi0weENGLDB4RjMsMHhGQywweEZGLDB4M0YsMHhDRiwweEZELDB4OUYsIDB4RkUsMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwKLTB4RUIsMHhGRSwweEJGLDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwgMHhBRiwweEVCLDB4RkYsMHhFMSwweDZGLDB4RkQsMHhGRiwweDdGLAotMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRCwweEZGLCAweDdGLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RkYsCi0weDdBLDB4QkYsMHhGQiwweEZFLDB4REYsMHhCNywweEVELDB4RkIsIDB4N0UsMHhERiwweEI3LDB4RkIsMHg3RSwweERGLDB4QjcsMHhFRCwKLTB4RkIsMHg3RSwweERGLDB4QjcsMHhGRiwweEM5LDB4RkYsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVFLCAweEZCLDB4RkUsMHhCQiwweEZGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGRSwweEZGLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHgzRiwweENGLDB4RkYsMHhFNywKLTB4RkUsMHhGRiwweEY1LDB4RkQsMHg3NywweDVELDB4RDcsMHgzNSwgMHhERCwweDc3LDB4RDcsMHhGNSwweENELDB4N0IsMHg1RCwweEQ3LAotMHhGNSwweERELDB4NzcsMHhGRSwweDI3LDB4RkYsMHhGRiwweDhCLCAweEUyLDB4RjgsMHhCRSwweDJGLDB4OEIsMHhFMiwweEY5LDB4QUYsCi0weDhCLDB4RTIsMHhGOCwweEJFLDB4MkYsMHg4QiwweEUyLDB4RjksIDB4RkUsMHgxRiwweEZGLDB4NUYsMHhENywweEY1LDB4RkQsMHg3RiwKLTB4NUYsMHhENywweEY1LDB4RkYsMHg1RiwweEQ3LDB4RjUsMHhGRCwgMHg3RiwweDVGLDB4RDcsMHhGNSwweEZGLDB4RkEsMHgzRiwweEZFLAotMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwweEVCLCAweEVDLDB4QkYsMHhBRiwweEVCLDB4RkEsMHhGRSwweEJGLDB4QUYsCi0weEVCLDB4RkYsMHhGRSwweDdGLDB4RkQsMHg3RiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFNiwgMHhGRiwweEZBLDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLAotMHhGNywweEZDLDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLCAweERGLDB4RjcsMHhGRCwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHgwMiwweEZGLDB4RkUsMHhCRiwweEFCLDB4RUIsMHhGQSwgMHhCRSwweEJGLDB4MjMsMHhFQiwweERFLDB4MUYsMHhBRiwweEVBLAotMHhGQSwweEZFLDB4QUYsMHhBRiwweEVCLDB4RkQsMHg5NywweEZGLCAweEYzLDB4RkMsMHg3QiwweDFGLDB4Q0YsMHhGMSwweEZDLDB4N0YsCi0weDFGLDB4RjEsMHhGQywweDc3LDB4MUYsMHhDRCwweEYxLDB4RkMsIDB4RkYsMHgxRiwweEZFLDB4ODcsMHhGRiwweEFGLDB4RUYsMHhGQSwKLTB4RkUsMHhGRiwweEFGLDB4RUYsMHhGQSwweEZELDB4QkYsMHgyQiwgMHhGQiwweDdFLDB4QkYsMHhCRiwweEVCLDB4RkIsMHhGQiwweEZCLAotMHhERiwweEZGLDB4RkIsMHhGNywweEZGLDB4RkYsMHg3RiwweEY3LCAweEY3LDB4RkYsMHhGRCwweERGLDB4RkUsMHhGQywweERGLDB4RkYsCi0weERGLDB4RkYsMHhGRCwweEZGLDB4REEsMHhCRiwweEZGLDB4QkIsIDB4RUYsMHhGQiwweEY5LDB4RkYsMHhCRSwweEVGLDB4RkIsMHhGQiwKLTB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwgMHhGRiwweEY3LDB4N0YsMHhGRCwweEQ3LDB4RkYsMHhGRiwweDdGLAotMHhGRiwweEZGLDB4RkYsMHhGRSwweEY3LDB4RkYsMHhGRSwweEZGLCAweEY3LDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEVDLDB4RkYsCi0weEZGLDB4RkUsMHhERiwweEJGLDB4RkYsMHhGQiwweEZFLDB4RkYsIDB4QkIsMHg2OCwweEFFLDB4MUYsMHhBRSwweEZCLDB4RkIsMHhGRiwKLTB4RkYsMHhCRiwweEZGLDB4RDUsMHhGRiwweDdGLDB4RkYsMHhGRiwgMHhGNywweEZFLDB4RkUsMHhGRiwweEJGLDB4RUYsMHg5RiwweEZELAotMHg3RiwweEZGLDB4Q0IsMHhGRiwweEZGLDB4REYsMHhGRiwweEZGLCAweEJCLDB4RjcsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REYsCi0weEZGLDB4QkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweERFLDB4M0YsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEE3LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RkYsMHg3RiwweEZCLDB4RkQsMHhGQiwgMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4Q0YsMHhGMywweDdDLAotMHhGRiwweDdGLDB4OEQsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZCLDB4RkYsMHhGNywweEZCLDB4RkUsMHhGRCwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGNywweEZELDB4RkYsMHg3RiwweEZELDB4MUYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4REYsMHhGRiwKLTB4RkYsMHhGRSwweDVDLDB4RkYsMHg2RCwweEZGLDB4N0YsMHhBQiwgMHhFNywweEYxLDB4RkYsMHhGRCwweDlGLDB4RkYsMHhGRiwweEFELAotMHhFQiwweDdBLDB4M0YsMHgxRiwweEZGLDB4RkYsMHhGRSwweEJGLCAweEFGLDB4RjMsMHhERSwweEY1LDB4RkYsMHg4RiwweEZCLDB4REYsCi0weEU2LDB4N0YsMHhGRiwweERGLDB4RjMsMHhGRCwweEZGLDB4N0UsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RjcsMHhGMywKLTB4N0YsMHhERiwweEY3LDB4RUYsMHhGRiwweEY2LDB4M0YsMHg5RiwgMHhERiwweEZGLDB4RkYsMHhFRSwweEZGLDB4RkYsMHhFRiwweEZCLAotMHhGRiwweEZGLDB4RjksMHhGQiwweEZFLDB4NEYsMHhCRiwweEVGLCAweEJCLDB4RkYsMHg2OSwweEFGLDB4QUYsMHhGQywweEZGLDB4M0YsCi0weERELDB4RkYsMHhGQywweEJGLDB4OEYsMHhGRiwweEZELDB4RjMsIDB4QkYsMHhFRCwweDlFLDB4RkMsMHhCRiwweDZGLDB4RjUsMHhEMywKLTB4REYsMHhGRiwweERCLDB4RDYsMHhGNSwweEVGLDB4RkQsMHhGRSwgMHhGRiwweEI5LDB4RkYsMHgxRiwweEQyLDB4QTksMHhBRiwweEZGLAotMHhEQiwweEY3LDB4QkYsMHhFRiwweDQ2LDB4RkYsMHhGRiwweEFELCAweEVCLDB4N0EsMHhERiwweEVGLDB4RjcsMHhGRiwweDdGLDB4RjcsCi0weDlGLDB4RUQsMHhGRiwweDdGLDB4RkYsMHhBRCwweEVCLDB4N0YsIDB4RjUsMHg2RiwweEZGLDB4RkQsMHhGQiwweEQ2LDB4RjQsMHhGNywKLTB4RkIsMHhGOSwweDdFLDB4N0YsMHhGRiwweDVGLDB4QzIsMHhGRSwgMHhCRiwweEZELDB4RkIsMHgzMywweERGLDB4RjksMHg1QiwweEZGLAotMHhGRiwweERELDB4NjcsMHg3RCwweENGLDB4RUYsMHhEQiwweEVDLCAweEZGLDB4NzcsMHhERCwweEY3LDB4RkQsMHhGRiwweEZGLDB4REUsCi0weEE3LDB4QkYsMHhENCwweDlGLDB4RkYsMHhGRiwweEJGLDB4RUYsIDB4RkUsMHhGRiwweERGLDB4RUYsMHhCQiwweEZGLDB4RkYsMHhFRiwKLTB4RUIsMHhGQSwweEZGLDB4RUYsMHhCRCwweEZCLDB4RkYsMHhFMiwgMHg3RiwweEZGLDB4REYsMHhERiwweEY3LDB4RkQsMHhCRiwweEJCLAotMHg3MywweEY3LDB4RkQsMHg3RiwweERGLDB4REUsMHhGNywweEJGLCAweEVBLDB4REIsMHhGNiwweEZGLDB4RDYsMHhGRiwweEZGLDB4NjYsCi0weEZGLDB4QkUsMHhGRiwweEJGLDB4NkIsMHhEOSwweEY2LDB4REYsIDB4RkYsMHhGQiwweDdFLDB4N0YsMHhCNywweDdFLDB4RkYsMHhGRSwKLTB4RkYsMHhDRCwweEZGLDB4RkUsMHg3RiwweEZGLDB4RkMsMHhGRCwgMHgzRiwweEZCLDB4RkIsMHhGNywweEZGLDB4RkYsMHhGQiwweEY2LAotMHg3RCwweEZFLDB4N0YsMHhGRiwweEZDLDB4RkYsMHhCOSwweEZGLCAweEY5LDB4RkEsMHhGRSwweEJGLDB4QUYsMHg1QiwweEQ2LDB4RUQsCi0weEFELDB4N0IsMHhGNiwweEY5LDB4QkYsMHhFRiwweEY4LDB4RkEsIDB4RkUsMHhCRiwweEZFLDB4RTYsMHhGRiwweEZGLDB4RjcsMHhGRCwKLTB4RkYsMHg3RiwweEJGLDB4RUYsMHhGMywweEZGLDB4RkYsMHg2RiwgMHhGNywweEZFLDB4RkYsMHhGRiwweEY3LDB4RkQsMHhGRSwweEY3LAotMHhFRiwweEZGLDB4RkIsMHhFRiwweEZCLDB4N0UsMHhERSwweEZFLCAweEZGLDB4QkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZCLDB4RkYsCi0weEZGLDB4RUYsMHhGQiwweDZGLDB4RkMsMHgxRiwweEZFLDB4RTcsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEQzLDB4QjQsMHhCQiwKLTB4RkYsMHhGRiwweEZELDB4QkYsMHg2RiwweEUzLDB4RkUsMHhGRiwgMHhCRiwweEZDLDB4QkYsMHhGNywweENGLDB4RjcsMHhGRCwweEZGLAotMHgyRiwweERGLDB4QUIsMHhFQSwweEZGLDB4REYsMHhFNywweEVBLCAweDlBLDB4QUYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEY1LDB4M0YsCi0weEZELDB4N0UsMHhGRiwweEQ3LDB4RjUsMHhGQiwweEZGLDB4RkQsIDB4RjcsMHhGRiwweDdGLDB4RkUsMHhGNywweEZELDB4RkYsMHhENywKLTB4RkYsMHhENywweDdGLDB4RUUsMHg3RiwweEZBLDB4NzksMHhGRSwgMHgyRiwweDhCLDB4RTYsMHhGOSwweEZFLDB4M0YsMHg5RSwweEY5LAotMHhCRSwweDJGLDB4MEIsMHhFNywweEY5LDB4RkUsMHgyRiwweDlGLCAweEZELDB4RkYsMHhGRSwweDdELDB4N0YsMHg1RiwweEQ3LDB4RkYsCi0weEZGLDB4N0YsMHhGRiwweEZELDB4RkYsMHg3RiwweDVGLDB4OTcsIDB4RkYsMHhGRCwweDdGLDB4NUYsMHhGRiwweEUzLDB4RkYsMHhGRiwKLTB4RkEsMHhGRSwweEJGLDB4QUYsMHhGQiwweEZCLDB4RkYsMHhGRiwgMHhDRiwweEVCLDB4RkUsMHhCRiwweEFGLDB4RkYsMHhGQSwweEZFLAotMHhCRiwweEZGLDB4ODcsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEZCLDB4RkYsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZFLDB4MEYsIDB4RkYsMHhGRCwweEVCLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhFRiwKLTB4N0IsMHhERiwweEZFLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRCwgMHhFQiwweDdGLDB4REYsMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZELDB4QkYsMHhGRiwweDdFLDB4RkEsMHhCRiwweEM3LCAweERCLDB4RjcsMHhCRCwweDNGLDB4RkIsMHhGRiwweEY2LDB4RkYsCi0weEZBLDB4QUYsMHhGRiwweEVCLDB4RkEsMHhGRSwweDNGLDB4MkYsIDB4RUEsMHhGQSwweDNFLDB4QUQsMHhDOSwweEJBLDB4RjYsMHhBRCwKLTB4QUYsMHhFQiwweEZBLDB4RjYsMHhCRiwweEZFLDB4N0YsMHhGRiwgMHhGRiwweEZELDB4RkYsMHhGMSwweDdGLDB4M0YsMHhDRiwweEYxLAotMHhFRiwweEZGLDB4N0YsMHhGRiwweEJDLDB4REYsMHhERiwweEY3LCAweERELDB4RkYsMHhFMCwweDdGLDB4RkYsMHhGRiwweEZFLDB4RkYsCi0weEZBLDB4RUMsMHhCQiwweDdGLDB4NUYsMHhGRiwweEZCLDB4RUMsIDB4RkYsMHhFRiwweEI3LDB4RkYsMHhGNywweEZGLDB4RkYsMHhCNSwKLTB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RUUsMHhERiwgMHg1RiwweERGLDB4REUsMHhGRiwweEFFLDB4RTcsMHg3NywweEZGLAotMHhGRiwweERGLDB4RjcsMHhGRiwweEUzLDB4RkYsMHhGQSwweEJCLCAweEZFLDB4RkYsMHhBRiwweEZELDB4RkIsMHhGRSwweEJGLDB4QUIsCi0weEY5LDB4RkUsMHhGRiwweEJGLDB4N0YsMHhCRiwweEZFLDB4QkQsIDB4RkUsMHhENywweEZGLDB4OUYsMHhGRCwweEZGLDB4QkUsMHhFRiwKLTB4RkYsMHhFRSwweEZELDB4QkIsMHg1QiwweEVGLDB4RkYsMHg3RiwgMHhFRiwweEZGLDB4RUYsMHhGRiwweDdGLDB4RkYsMHg0RiwweEZGLAotMHhFRiwweEZCLDB4QkMsMHhGQywweEZGLDB4RkYsMHhGRiwweEZFLCAweEZFLDB4RkQsMHhGQSwweEZFLDB4RkIsMHhGRiwweEZELDB4RjMsCi0weEZCLDB4RkYsMHhGOCwweDVGLDB4RkYsMHhGRiwweEQ3LDB4RjUsIDB4RkQsMHhERiwweEVGLDB4RkYsMHhGMywweERDLDB4NUYsMHhDRSwKLTB4RjUsMHhCRCwweEZGLDB4RkYsMHhENywweEZGLDB4RkYsMHhGOSwgMHgzRiwweEZGLDB4REYsMHhGNywweEZGLDB4RkUsMHhGRiwweEZELAotMHhGRiwweEZCLDB4RkYsMHhGNywweEI5LDB4N0QsMHhGRSwweERGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjksMHg3RiwweEZGLDB4RkUsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RjcsIDB4RjYsMHhGRiwweEJGLDB4RjEsMHhGOCwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhFMCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjksMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RUYsMHhGRiwweEZGLAotMHg5QiwweEZCLDB4N0YsMHhGRiwweEZGLDB4RkYsMHhDMSwweEZGLCAweERGLDB4RkYsMHgzRiwweDVGLDB4RDcsMHhCRiwweEVGLDB4QkIsCi0weERFLDB4RUUsMHhGRiwweDdGLDB4REYsMHhGRiwweEZFLDB4RjUsIDB4N0YsMHhERiwweEZGLDB4OTksMHhGRiwweEZGLDB4RkEsMHhGRiwKLTB4QkYsMHhGRCwweEVCLDB4N0EsMHhGRiwweEI3LDB4RkUsMHhGRSwgMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEZGLAotMHg5NywweEZGLDB4RkQsMHhGNywweEZGLDB4N0YsMHhGNywweEZGLCAweEZGLDB4RkQsMHg1RiwweEZFLDB4RjMsMHhGOSwweERGLDB4REYsCi0weEZGLDB4RkYsMHhGQywweEZGLDB4RkYsMHg4MywweEZGLDB4RkYsIDB4RkUsMHhGRiwweDlFLDB4RUMsMHhGQiwweEVFLDB4RkYsMHg5RiwKLTB4QkYsMHhFRiwweEZGLDB4RkUsMHhFRCwweDdCLDB4RkYsMHhGRiwgMHhGRiwweEYxLDB4NUEsMHhGRiwweEZGLDB4RkQsMHhGRiwweDdDLAotMHg2OSwweDNCLDB4REYsMHhGRiwweDdGLDB4MUYsMHhERiwweEZGLCAweEZELDB4QkEsMHhGRiwweEZGLDB4RkIsMHhGRiwweDVCLDB4QkQsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RDcsMHhCNiwweEVELDB4RTksIDB4RkYsMHhENiwweEJELDB4NkYsMHg1RiwweEZCLDB4RkYsMHhFRiwKLTB4RkYsMHg1RiwweEZFLDB4RjYsMHg2RiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEY3LDB4RUIsMHg3QSwweERGLDB4RkYsMHg5RiwweDdGLAotMHg3RiwweEZGLDB4QjcsMHhGRiwweEZGLDB4RkUsMHhERiwweEZGLCAweDZDLDB4RkYsMHhGQiwweEZGLDB4QkIsMHg2RiwweEVCLDB4RkUsCi0weENDLDB4RjcsMHhBNSwweEZBLDB4NUMsMHhGNSwweDc1LDB4QkIsIDB4QjcsMHhERiwweEZFLDB4NkYsMHg1RiwweEM1LDB4QkYsMHhGRCwKLTB4N0IsMHhGRSwweEZGLDB4OTUsMHhFNywweDI5LDB4Q0YsMHg0RiwgMHhGNSwweDkxLDB4RUUsMHg2QiwweERGLDB4RUYsMHhGRCwweDU0LAotMHhGNSwweEJELDB4QjEsMHhGRiwweEVGLDB4RUUsMHhGQiwweEJFLCAweEJGLDB4QUYsMHhGRSwweERFLDB4QkQsMHg2RiwweERBLDB4RjIsCi0weEZGLDB4QUYsMHhCRSwweEZGLDB4RkYsMHhGRCwweDdFLDB4QTcsIDB4RkYsMHhGNywweEZGLDB4QkYsMHhFRiwweDdCLDB4RjYsMHhGRCwKLTB4QkQsMHg0QSwweEYyLDB4ODUsMHg4NSwweEJGLDB4NUIsMHhGRSwgMHhCNSwweEZELDB4RkEsMHhGRiwweDRGLDB4RkYsMHhGRSwweERGLAotMHhGRiwweEVELDB4RkYsMHhCRiwweEZGLDB4QkYsMHg3RiwweEZFLCAweEZGLDB4QjcsMHg2RCwweEZGLDB4RjcsMHhCRiwweEJGLDB4RUYsCi0weEZELDB4MUYsMHhGRiwweEZFLDB4N0QsMHhGRiwweDY3LDB4RkYsIDB4RkYsMHhGRiwweDNGLDB4N0YsMHhGRSwweEJGLDB4RkYsMHhFNywKLTB4REYsMHhFNywweEZGLDB4RUYsMHg2QiwweEZDLDB4MUYsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRSwweERFLDB4QkYsMHhBRiwweEZBLAotMHhGRiwweEI2LDB4RUYsMHhGOSwweEZFLDB4RkYsMHg4RiwweEVGLCAweERCLDB4RUYsMHhBQiwweDZGLDB4RkIsMHhGRSwweEZGLDB4RkYsCi0weEVGLDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwweERFLDB4RkYsIDB4RkYsMHhFRiwweEZGLDB4RkYsMHhGRiwweDNGLDB4RkYsMHg2QywKLTB4RkYsMHhCRiwweEZCLDB4RkYsMHhGRSwweEZGLDB4RkIsMHhGRSwgMHhERiwweEZGLDB4RkYsMHhFRiwweEZGLDB4RkYsMHhCRiwweEZGLAotMHhGRiwweEZFLDB4RkIsMHhGRiwweEQ1LDB4N0YsMHhGRiwweEZGLCAweEVGLDB4RkIsMHhGRiwweEZGLDB4QkYsMHhFRiwweDQzLDB4QjUsCi0weEZELDB4NkYsMHhDRiwweEQ2LDB4QkUsMHgzRiwweDdGLDB4REIsIDB4RkUsMHhDMywweEZGLDB4RkQsMHhGRiwweEFGLDB4RUIsMHhGQiwKLTB4RkMsMHhGRiwweDNFLDB4RUYsMHhFOCwweEZBLDB4QkQsMHhDRCwgMHhBQSwweEZFLDB4RkUsMHg3RCwweENGLDB4RkYsMHhCNywweEZGLAotMHhGNywweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHg3NSwweENELCAweDUyLDB4RDcsMHhGRCwweEZCLDB4RjcsMHhERCwweEZCLDB4RUYsCi0weEVCLDB4RkYsMHhGRiwweDRGLDB4RkYsMHhCRiwweDlGLDB4RTcsIDB4RjksMHhGQywweDdGLDB4OEIsMHhDMywweEY5LDB4QUYsMHg4RiwKLTB4RTcsMHhFOSwweEJFLDB4N0YsMHg5RiwweEU2LDB4RjksMHhGQywgMHg1RiwweEZGLDB4RkYsMHhGNywweEZELDB4RkYsMHg3QSwweDVGLAotMHhENywweEVELDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhERCwweDdGLCAweEU3LDB4RkYsMHhGQywweEZGLDB4RkMsMHgzRiwweEZGLDB4RkYsCi0weEZGLDB4RkIsMHhGRiwweEZFLDB4QkYsMHhBRiwweEZGLDB4RkQsIDB4RkYsMHhFRiwweEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGNywweDdGLDB4RkYsMHg3RiwweERGLDB4RkYsMHhGRCwgMHhGRCwweDdGLDB4RkUsMHhGNywweEZELDB4N0YsMHhERiwweEZGLAotMHhGRCwweEZGLDB4RkYsMHhERiwweEZCLDB4RkYsMHhFRSwweEZGLCAweEZCLDB4RkYsMHhGNywweEZELDB4RkYsMHg3QSwweERGLDB4RjUsCi0weEZELDB4RkEsMHhERiwweEY3LDB4RkMsMHhGRiwweDdGLDB4REYsIDB4QkYsMHhFRCwweEZGLDB4QzksMHhGRiwweERGLDB4RkYsMHhCRiwKLTB4MkYsMHhGQiwweEZGLDB4QkMsMHhBRCwweEZGLDB4RjcsMHhGRiwgMHhGRiwweEVGLDB4RDMsMHhGRiwweDdELDB4QkYsMHg2RiwweEZGLAotMHhGQSwweEZGLDB4RkUsMHhCRiwweEFFLDB4RUEsMHhGQSwweEJFLCAweEFELDB4QTUsMHhFQiwweENFLDB4QkYsMHhBNywweEVCLDB4NUEsCi0weERFLDB4QkQsMHhBRiwweDZCLDB4RkQsMHg1NywweEZGLDB4RkYsIDB4RjQsMHg3RiwweDFGLDB4N0YsMHhGRCwweEZGLDB4N0YsMHgzNiwKLTB4RjAsMHhERiwweDc5LDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRCwgMHhCRiwweEZGLDB4ODcsMHhGRiwweEZCLDB4RjMsMHhGQywweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3RSwweEZGLDB4QkYsMHhERiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhCRiwweEY4LDB4OUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkQsIDB4RjcsMHhGQywweEJELDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZCLDB4RjksMHhCRiwweEZGLDB4RkYsMHhFQiwgMHhFMiwweEZFLDB4RkYsMHhCRiwweEVGLDB4QTksMHhCQSwweDJGLAotMHhFQiwweEY5LDB4RkUsMHg3NywweERGLDB4RjcsMHhGRiwweEZGLCAweEY5LDB4N0YsMHhGRiwweEZGLDB4N0YsMHhFRiwweEQ3LDB4RkYsCi0weEZELDB4RkYsMHhGQiwweEY1LDB4RkYsMHhCRiwweDZGLDB4REYsIDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweEYwLDB4RkYsMHhGRiwKLTB4RkYsMHgzRiwweENGLDB4RkYsMHhCQSwweEVFLDB4OUIsMHhCRiwgMHhFRSwweEQ3LDB4RkUsMHhDRCwweEVGLDB4RkYsMHhERiwweEJGLAotMHhGRiwweEZGLDB4QzUsMHhGRiwweEZGLDB4RkQsMHg3RiwweDRGLCAweEZELDB4RjYsMHhEOSwweEZGLDB4NEYsMHhENiwweEZELDB4QkYsCi0weDZFLDB4RkYsMHhGRiwweEY0LDB4N0YsMHhGRiwweDdGLDB4OEIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLDB4RjksMHhGRSwKLTB4MzcsMHhGRiwweEQ5LDB4RkIsMHhGNSwweEFGLDB4RkQsMHhGRiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweDA3LDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEY3LDB4RkYsMHhGRCwweEZGLDB4N0MsMHhGQSwweDdFLCAweDRGLDB4RkMsMHhERiwweDFELDB4QzcsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4QUUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4RkIsIDB4RkYsMHhGRiwweEZFLDB4RkUsMHhGQywweEZGLDB4N0YsMHg3RiwKLTB4QkYsMHhFRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4NUYsMHhGRCwgMHhGRiwweEZGLDB4RkYsMHhGRCwweDZGLDB4NUEsMHhENywweDdCLAotMHhCRSwweDVGLDB4RkUsMHgzOSwweEZGLDB4RjcsMHhGRiwweEY3LCAweEZELDB4RkUsMHhBQSwweDFGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZFLDB4RkUsMHhBQiwweEFGLDB4RkQsMHhGRSwweEJGLDB4RkYsIDB4RjcsMHhGRiwweDdGLDB4RkUsMHg4RiwweEUzLDB4RkIsMHhFRSwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVCLDB4RkIsMHhGRiwgMHhGRCwweEJGLDB4RUYsMHhERiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGQiwweEU0LDB4M0YsMHhGRiwweERGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjMsMHhFRiwweEJCLDB4RkIsCi0weEJGLDB4RUYsMHhCQiwweEZGLDB4RDcsMHhCRiwweEZGLDB4RkYsIDB4RkYsMHgyOSwweEFGLDB4RjcsMHhGRiwweEZGLDB4RkIsMHhGRiwKLTB4RkIsMHhFNiwweEZGLDB4MEYsMHhGQiwweDNGLDB4REYsMHgwRiwgMHhGRiwweEFGLDB4RkYsMHhGRiwweEZGLDB4RjUsMHhDMywweERGLAotMHg1RiwweEZGLDB4RkYsMHhGRiwweEZFLDB4NkIsMHhDQSwweEJFLCAweEJDLDB4RkYsMHg5RiwweEYyLDB4QkYsMHhGRiwweEZFLDB4RkEsCi0weEZGLDB4RkYsMHhFRiwweDE2LDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGQywweERGLDB4OTcsMHhGRCwweDc5LDB4RkYsMHgzNywKLTB4RTcsMHg3RiwweEZGLDB4RkYsMHhCNSwweEZGLDB4RkYsMHhGNiwgMHgyRiwweEZGLDB4RkQsMHhGQiwweEZFLDB4RkYsMHhGRiwweEZELAotMHg1RiwweDU3LDB4NUYsMHhGRiwweERCLDB4NTIsMHhERiwweEZGLCAweEZELDB4QkYsMHhGRiwweEZGLDB4RkMsMHhEQiwweEZGLDB4N0IsCi0weEI1LDB4RkQsMHg3RiwweEZGLDB4NzEsMHg5QywweDZFLDB4RkYsIDB4RjYsMHgzNSwweEE1LDB4OUIsMHhGRiwweEZGLDB4RkQsMHhGRiwKLTB4RkYsMHhEQiwweDlFLDB4N0YsMHhGRSwweEVGLDB4RkIsMHhGRiwgMHhGRiwweEJELDB4RUYsMHhGRiwweERFLDB4QjcsMHhGOSwweDRCLAotMHhGRiwweEY1LDB4RUYsMHhGRiwweEZGLDB4RkYsMHhFOCwweDdFLCAweEZGLDB4RUEsMHhERiwweEY3LDB4RkYsMHhGRCwweDY5LDB4NUIsCi0weEZDLDB4OUYsMHhFRiwweDc4LDB4RDYsMHhGRiwweEVCLDB4RUYsIDB4RkYsMHhGRiwweEZGLDB4RTgsMHhGRiwweEZGLDB4RUQsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RTMsMHhGOSwweEY2LDB4QkYsMHhGRiwgMHhGRiwweEZFLDB4REYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLAotMHhEMSwweEZGLDB4RkYsMHhFNywweEZGLDB4RkYsMHhGRiwweEZGLCAweEU3LDB4RjksMHhGRiwweEJGLDB4N0YsMHhEOSwweEZGLDB4RkQsCi0weEZFLDB4N0YsMHhGRiwweEZFLDB4RkYsMHhGOSwweEZGLDB4RkIsIDB4RDYsMHhERiwweEJGLDB4RUYsMHg1QiwweEQ2LDB4RkYsMHhCRiwKLTB4RkIsMHhGNiwweEZGLDB4QkYsMHhFRiwweEY4LDB4RjYsMHhERCwgMHhCRSwweEZFLDB4MTYsMHhGRiwweEJGLDB4RUYsMHhGRiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHg2RiwweEZCLCAweEZGLDB4RkYsMHhGRiwweDZGLDB4RjMsMHhGRiwweEY3LDB4RUYsCi0weEZCLDB4RkYsMHhCRiwweEZGLDB4RUYsMHhGRSwweEZGLDB4QkYsIDB4RkYsMHhGRiwweEZGLDB4QkUsMHhCRiwweEZGLDB4RUYsMHhGRiwKLTB4N0YsMHhFRiwweEZGLDB4RkQsMHgxNywweEZCLDB4N0IsMHhGRiwgMHhGRiwweEZELDB4N0YsMHhEQiwweEY2LDB4RjQsMHg3RiwweEZBLAotMHhGRSwweEY1LDB4QkYsMHhFQiwweEUzLDB4RjcsMHhGRiwweEZGLCAweEU5LDB4QkYsMHhGRiwweEFGLDB4RjcsMHhGRCwweEYzLDB4N0UsCi0weDhGLDB4QTMsMHhFQSwweEZGLDB4Q0IsMHhGMywweEVFLDB4RkYsIDB4QkYsMHhFRiwweEY3LDB4RjksMHhGRiwweEZFLDB4N0YsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RjUsMHhGQiwweEY2LDB4RkYsMHhGNSwgMHgyRiwweEZFLDB4RkIsMHhENywweEJGLDB4RkYsMHhCRSwweERGLAotMHg5RiwweEZGLDB4RjAsMHhGRiwweEZGLDB4RjksMHhGRSwweDdGLCAweDhGLDB4QTMsMHhGOCwweEZFLDB4NkYsMHg5RiwweEY5LDB4RjYsCi0weDJGLDB4OUYsMHhFNywweEY5LDB4RkUsMHgyRiwweDlGLDB4RTEsIDB4RkYsMHhGRiwweEZGLDB4N0YsMHhERiwweEY3LDB4RjUsMHhGRCwKLTB4N0YsMHg3RiwweEY1LDB4RkYsMHg5RiwweDVGLDB4RkIsMHhGRSwgMHhGRiwweDdGLDB4RkYsMHhGRiwweENCLDB4RkYsMHhGRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhBRiwweEZCLDB4RkUsMHhGRiwweERGLCAweEZFLDB4RkUsMHhCRiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4QzcsMHhGRiwweEZGLDB4RkQsMHhGRiwweDdGLDB4REQsIDB4RjcsMHhGRCwweEZGLDB4RkYsMHhENywweEZGLDB4RkQsMHg3RiwKLTB4RkYsMHhGQiwweEZELDB4RkYsMHhGRiwweEZFLDB4RUYsMHg3RiwgMHhGRCwweEVGLDB4RkIsMHhGRSwweEZCLDB4RkQsMHhGRiwweDdGLAotMHhERiwweEZELDB4RkYsMHg3QSwweERGLDB4RjcsMHhGRCwweEZGLCAweEZGLDB4RkYsMHhGRiwweDFGLDB4RkYsMHhGRiwweEQzLDB4RjcsCi0weEZGLDB4RkYsMHg2RiwweERCLDB4RkYsMHhGRiwweEVGLDB4Q0IsIDB4RjQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwKLTB4MjksMHhGRiwweEU4LDB4REEsMHg3NiwweDlGLDB4QUYsMHg2QSwgMHhEQSwweEZFLDB4MzUsMHhFQiwweERBLDB4RDYsMHhCRiwweEFCLAotMHhFQiwweDdBLDB4REUsMHhCRiwweEQ3LDB4N0YsMHhGRiwweEZFLCAweEZGLDB4QkYsMHhFRiwweEZELDB4REYsMHg3NywweEJGLDB4RkQsCi0weDM3LDB4RUYsMHhGRiwweEVGLDB4RkYsMHgzRiwweEZGLDB4RkYsIDB4RkYsMHhGRSwweDdGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHg3RSwKLTB4REYsMHhGRiwweEZGLDB4RkYsMHhGQSwweEI3LDB4N0YsMHhGRiwgMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg4OSwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4OUYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEFBLDB4RkYsMHhBQiwweEZCLDB4RkEsIDB4RUYsMHhCRiwweEZGLDB4REYsMHhGQSwweDdCLDB4QjksMHhGRSwKLTB4RkUsMHhGRiwweEZELDB4RkYsMHhGNywweEZFLDB4M0YsMHhGRiwgMHhCNywweEZGLDB4RjcsMHhFRSwweEZGLDB4N0YsMHhFRiwweEZGLAotMHhGRiwweDdGLDB4RkYsMHgxRiwweEZCLDB4RkYsMHhCRiwweEZCLCAweEZFLDB4RkYsMHhCRCwweEZGLDB4RkYsMHgyRiwweEZGLDB4QkYsCi0weEZGLDB4N0YsMHhERiwweEZBLDB4RkYsMHhGRiwweEZDLDB4RUUsIDB4RjUsMHhGMywweEJFLDB4RkIsMHgwRiwweEVGLDB4RjMsMHhCRSwKLTB4RUYsMHhGQywweDVGLDB4RkYsMHg1QSwweEZGLDB4RjcsMHhERiwgMHhGRiwweEZGLDB4RkUsMHhENSwweEZDLDB4NUYsMHhGQiwweEYyLAotMHhGRiwweEZGLDB4MkYsMHhCQiwweEYzLDB4RkYsMHhGRiwweEJGLCAweEZGLDB4RUYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEJGLDB4RkYsMHhGRiwweEZELDB4N0IsMHhGRiwweERGLDB4QjksIDB4RkYsMHhGQiwweEZGLDB4RDgsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RkIsMHhGRiwweEZDLDB4N0YsMHgxRiwweEJGLDB4RTAsMHhERiwgMHhGNywweEVGLDB4RkYsMHhGRCwweDdGLDB4RkUsMHhERiwweEZGLAotMHhFMCwweEZGLDB4RkYsMHhGRCwweEVGLDB4RkIsMHhGRiwweEZFLCAweEY3LDB4REYsMHhGRiwweEVCLDB4NUYsMHhGRiwweEY3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRCwweEZGLDB4RkQsIDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZGLDB4M0IsMHhEQywKLTB4RkQsMHg2RCwweDdCLDB4NUYsMHg1NywweEY1LDB4RkQsMHg3RiwgMHg1RiwweEZGLDB4QjEsMHhGRiwweEVCLDB4RkYsMHhGRiwweEZGLAotMHhGQiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RkIsMHhCRSwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhBRiwweEZFLDB4RjcsCi0weERGLDB4REYsMHhGRiwweEZGLDB4RkYsMHg3RiwweENGLDB4RjMsIDB4RjgsMHhGRiwweEQ3LDB4RkIsMHhGRiwweDVGLDB4QkYsMHhGNywKLTB4RkIsMHhGRiwweDdGLDB4RkUsMHgyMywweEZGLDB4RkYsMHhGRSwgMHg3RiwweEYzLDB4RkYsMHhGQiwweEZFLDB4RkYsMHhGRiwweEYzLAotMHhGRiwweEZGLDB4RjUsMHhGOSwweEZGLDB4M0YsMHhGRiwweEZGLCAweEYwLDB4OUEsMHhGRiwweEJFLDB4N0YsMHhGRiwweEZDLDB4RjksCi0weEZGLDB4RkQsMHhBRiwweEVCLDB4RkUsMHhCRiwweEZGLDB4Q0YsIDB4RjMsMHhGRSwweDdGLDB4RkYsMHhGRiwweDVCLDB4QkQsMHhGRiwKLTB4QkMsMHhFQiwweEZGLDB4RDcsMHhENCwweEFGLDB4QUYsMHhGRCwgMHhGRiwweENGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LAotMHhGRCwweEZFLDB4RkYsMHg2RiwweEZGLDB4RkIsMHhGRiwweEZGLCAweEZGLDB4RkQsMHg3RiwweDVFLDB4RkQsMHhCRiwweERCLDB4RjYsCi0weEZELDB4QkYsMHg2RiwweEZCLDB4RUUsMHhGRCwweEZGLDB4N0EsIDB4RkYsMHhGQSwweEZCLDB4RkYsMHgzRiwweEZCLDB4QjcsMHg1RiwKLTB4RDYsMHhGNywweDFGLDB4NzEsMHhEQywweDc3LDB4MUQsMHhDNywgMHgzMSwweERDLDB4NzcsMHhERiwweEY5LDB4QkYsMHhGNSwweDVCLAotMHhGNCwweEQ3LDB4OUQsMHhBRSwweEZGLDB4QkYsMHhGRCwweEJGLCAweERCLDB4RjYsMHhGRCwweEJGLDB4NkYsMHhEQiwweEY2LDB4RkUsCi0weDNELDB4ODEsMHhGRiwweEVCLDB4RkUsMHhGRSwweEZFLDB4RkYsIDB4RUIsMHg3QSwweERGLDB4N0QsMHg3NywweDdELDB4RjUsMHg3OSwKLTB4REYsMHg1NywweERELDB4RjUsMHg3RCwweDdFLDB4RTYsMHhGRiwgMHhENiwweDNGLDB4QkYsMHg3RiwweEZGLDB4RDQsMHhGNSwweDNGLAotMHhCRiwweEZCLDB4QkUsMHhFRiwweEIzLDB4RUUsMHhGQiwweDlFLCAweEVGLDB4QkIsMHhGRSwweDhCLDB4RkYsMHhGRSwweERGLDB4QjcsCi0weEVELDB4RkYsMHhGNywweEZELDB4RkUsMHhGRiwweEVGLDB4QkIsIDB4RUUsMHhGRiwweEJFLDB4RUYsMHhCQiwweEVFLDB4RUIsMHhGQywKLTB4MUYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEU3LDB4RkYsMHhGNywgMHhGRCwweEZGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLAotMHhGRSwweEZGLDB4QkYsMHhFQiwweEZBLDB4MUYsMHhGRiwweEI3LCAweEVGLDB4NUIsMHhGRSwweEZGLDB4QUYsMHhFQiwweERELDB4RTcsCi0weERFLDB4NzcsMHg5RCwweEU3LDB4NzksMHhERSwweDc3LDB4OUQsIDB4QkYsMHhFNiwweDZGLDB4RkYsMHhGRSwweEZGLDB4QkYsMHhFRiwKLTB4RkIsMHhGRSwweEZELDB4QkYsMHg2RiwweEY2LDB4RkQsMHhCRiwgMHg2RiwweERCLDB4RjYsMHhGRCwweEJGLDB4RkYsMHg3RSwweEZGLAotMHhGRiwweEZCLDB4RkUsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZELCAweEVGLDB4N0UsMHhGNywweEJELDB4RUYsMHg3QiwweERFLDB4RjcsCi0weEJELDB4RUYsMHhGRiwweEQ1LDB4RkYsMHhCRiwweEZGLDB4RUYsIDB4RkUsMHhGRiwweEZDLDB4M0YsMHgwRiwweEU3LDB4RkUsMHg3RiwKLTB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLDB4RTcsMHhGRSwgMHhGMywweEZGLDB4RkUsMHhERiwweEFELDB4REYsMHg2NywweEVFLAotMHhGQiwweEJGLDB4RUYsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZFLDB4RkYsMHhCRiwweEVGLDB4RkYsMHgyMywweEZGLDB4RkYsCi0weEZGLDB4RkYsMHg3RiwweEZGLDB4RjMsMHhCQywweERCLDB4RkUsIDB4RkIsMHhGRiwweEZCLDB4QkUsMHhGNywweEZCLDB4RkYsMHg3RiwKLTB4REYsMHhGRiwweENGLDB4RkIsMHhGRiwweDlGLDB4RTMsMHhGOSwgMHhCRSwweDNGLDB4OEYsMHhFNywweDc5LDB4RkYsMHg5RCwweEU3LAotMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDVGLCAweEZGLDB4Q0YsMHhGNywweEZGLDB4RkYsMHhGRiwweERGLDB4RjcsCi0weEZFLDB4N0YsMHhFNywweEY5LDB4RkUsMHg3RiwweEZGLDB4RkYsIDB4RkIsMHhGRSwweEZGLDB4RkYsMHhCRiwweEZGLDB4QkYsMHhCRiwKLTB4RkYsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZGLDB4RkQsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjcsMHhGRCwweEZGLAotMHhGRiwweDNGLDB4RkYsMHhCRiwweEZGLDB4RjcsMHhGRiwweEZGLCAweDdGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFOCwweEVGLDB4RkYsIDB4NUYsMHhGNywweEJGLDB4RjksMHhGRSwweERGLDB4QjcsMHhGRCwKLTB4RkYsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4REQsMHhGRiwweEYyLDB4RkYsMHhCRiwweEZGLAotMHhGRiwweEJGLDB4RkYsMHhGRiwweDJGLDB4RjIsMHhGRiwweEJGLCAweDJGLDB4N0IsMHhEMiwweEY3LDB4QkYsMHgyRiwweEZGLDB4QkIsCi0weEZGLDB4RUUsMHg4RiwweEFGLDB4RUIsMHhGQSwweEZFLDB4M0YsIDB4QTcsMHg2OSwweENFLDB4OEYsMHhBNCwweEVBLDB4RkEsMHhFRSwKLTB4QjcsMHhBRSwweEVCLDB4RkQsMHhDNywweEZGLDB4RjcsMHhGNywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4N0YsMHgzRSwweEYzLAotMHg3NCwweEZGLDB4M0YsMHg0RiwweEZGLDB4RTcsMHhGRiwweDNGLCAweEZFLDB4QTcsMHhGRiwweEZGLDB4REYsMHhGNywweEI3LDB4RkYsCi0weEY3LDB4RkYsMHhCQSwweEVGLDB4MzcsMHhFQiwweEZCLDB4RkUsIDB4QkYsMHhGQiwweEZFLDB4RjMsMHhGRiwweEY5LDB4REYsMHhGRiwKLTB4QkYsMHhGRiwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwgMHhGRCwweERGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGQiwweEZFLAotMHhGRCwweEZGLDB4RkIsMHhCRiwweEZFLDB4M0YsMHhFRCwweEZGLCAweERGLDB4QkUsMHgzRCwweEE3LDB4RkIsMHhGQSwweDNGLDB4RTYsCi0weEUxLDB4RkUsMHhGRSwweDNGLDB4RUYsMHhFMywweERGLDB4RjUsIDB4N0YsMHhGRSwweEZGLDB4N0UsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RUYsMHg2RiwweEY2LDB4RkYsMHg3RCwweEVGLDB4RDcsMHhERSwgMHhGRiwweDdELDB4RUYsMHhGRiwweEYyLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHg3QiwweERFLDB4RkIsMHhFNiwweEVFLCAweEVGLDB4MzcsMHg2RSwweEYzLDB4N0UsMHhFQiwweDM3LDB4RUYsCi0weEZGLDB4QzEsMHhGRiwweEZFLDB4RkYsMHhGNywweEVGLDB4RkYsIDB4RkYsMHhGRiwweEJGLDB4M0YsMHhEMiwweERGLDB4QkYsMHgyRiwKLTB4N0IsMHhFMiwweEZGLDB4RkUsMHgzQiwweEJELDB4REIsMHhGRiwgMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRiwweEZFLAotMHhGRiwweEZCLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGQiwweERGLCAweEZGLDB4QkYsMHhGRiwweEI3LDB4RkYsMHhGRiwweEJGLDB4RUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDBGLDB4RkYsIDB4N0YsMHhGRiwweDFGLDB4RUYsMHhGMSwweEZELDB4RkYsMHhGNiwKLTB4QUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwgMHhGRiwweEZGLDB4RkUsMHg5RiwweEZGLDB4RkYsMHhGRiwweDc3LAotMHhFRiwweEY3LDB4RkIsMHhGRiwweEZFLDB4NUYsMHhGRiwweEZGLCAweEJGLDB4Q0YsMHhGQiwweEY3LDB4REQsMHhGNywweEY1LDB4RkYsCi0weDVGLDB4RDUsMHhGNSwweEZELDB4N0YsMHg1RiwweEQ3LDB4RjUsIDB4RkYsMHhGQiwweDBGLDB4RkYsMHhGRiwweEE5LDB4RUEsMHg3QSwKLTB4RkYsMHhBRiwweDhGLDB4RkUsMHhERiwweEFGLDB4RUYsMHhGQiwgMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4REYsMHhFNSwweDVGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkQsMHg1NywweEZGLCAweEZGLDB4NkYsMHg3NywweEJGLDB4RjcsMHhGQiwweEZGLDB4N0YsCi0weEJGLDB4RjcsMHhGRiwweEZDLDB4QkYsMHhGRiwweDlGLDB4RkYsIDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHgxRiwKLTB4Q0YsMHhGRiwweEZDLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwgMHg2NSwweEFGLDB4RjMsMHg3QywweEZGLDB4M0YsMHhERiwweEZGLAotMHhGRCwweEU5LDB4RkUsMHg3RiwweEU3LDB4RkYsMHhGRSwweDdGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhFMywweERGLDB4RkIsCi0weERCLDB4RjYsMHhGRCwweEVGLDB4NUIsMHhGQiwweEZGLDB4REYsIDB4RkMsMHhGRiwweDNGLDB4REYsMHhGMywweEZELDB4RkYsMHg3RiwKLTB4REYsMHhFRiwweDY2LDB4RkYsMHhERiwweEFELDB4RUIsMHg3QSwgMHhERSwweEY3LDB4RjcsMHhFNywweEQ5LDB4RkQsMHg5RiwweDY3LAotMHhEOSwweEY2LDB4N0QsMHg5RiwweEU3LDB4REYsMHhGNSwweDQ3LCAweEZELDB4NjUsMHg1QiwweEQ2LDB4RjQsMHhGRSwweEZGLDB4RUYsCi0weEZGLDB4NkQsMHhGNiwweERELDB4QjcsMHg2RCwweERCLDB4NzYsIDB4REMsMHhCNywweDdELDB4RkEsMHg5QiwweEY2LDB4NkQsMHg5RCwKLTB4NjcsMHg1OSwweERGLDB4RjcsMHhERCwweEZGLDB4RUIsMHhGRSwgMHhCRiwweEFGLDB4RUIsMHhGQSwweEZFLDB4QkYsMHhBRiwweEUzLAotMHhEMSwweDlGLDB4RkYsMHhCRCwweEJGLDB4RUYsMHhGRSwweEY3LCAweEJGLDB4QkYsMHhGNywweEQ3LDB4N0YsMHhERCwweEY3LDB4OUQsCi0weERGLDB4N0YsMHhERiwweEY3LDB4RkYsMHhFMCwweDdGLDB4RkQsIDB4QzEsMHhERiwweEY3LDB4RkQsMHhDNywweDdGLDB4N0YsMHhGQiwKLTB4RkYsMHhCQiwweEVDLDB4RkIsMHgzRSwweEZGLDB4QkYsMHhFQywgMHhGQiwweEZGLDB4RDgsMHg3RiwweEJGLDB4NkMsMHhGRiwweEJFLAotMHhGRiwweEJGLDB4RUQsMHhGRiwweEVGLDB4RkUsMHhGQiwweEJGLCAweEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRSwweEZGLDB4QzUsCi0weEZGLDB4QUYsMHg2RiwweEZGLDB4RkMsMHhGRCwweDNGLDB4RTcsIDB4RkYsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZFLDB4QkYsMHg4OSwweEZFLDB4RkEsMHhCQSwgMHhGRSwweEJGLDB4QUYsMHhGQiwweEY2LDB4RjUsMHhEOSwweDdELAotMHg5NywweDY1LDB4RDksMHg3NCwweDVELDB4OTcsMHg2NSwweEQzLCAweEZFLDB4RDYsMHhGRiwweEJGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weEJGLDB4Q0YsMHhGQiwweEZFLDB4RkYsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwweEY2LDB4OEYsMHhGQiwKLTB4RkYsMHhFRiwweEZCLDB4N0UsMHhEQiwweEZFLDB4RkYsMHhCRSwgMHhFRiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsMHhFRSwweEZCLAotMHhCRSwweEZGLDB4RkYsMHhERiwweEZGLDB4NDMsMHhGRiwweEZGLCAweEZCLDB4RUYsMHg1RiwweEI3LDB4RkUsMHg3RiwweEU3LDB4RjksCi0weEZFLDB4N0YsMHg5RiwweEU3LDB4RjksMHhGRSwweDdGLDB4RjksIDB4QkYsMHhGRSwweEFGLDB4NzcsMHhGRCwweEZGLDB4MkYsMHhBRiwKLTB4QTcsMHhGRSwweEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweEYxLDB4N0YsMHhFRiwweERGLAotMHhGRiwweDk3LDB4RjUsMHhFRiwweEZGLDB4REYsMHhGRiwweEZGLCAweEJGLDB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsCi0weEZGLDB4RTAsMHhGRiwweEZGLDB4RjksMHhGRSwweDJGLDB4OEIsIDB4RTMsMHhGOCwweEJFLDB4NzcsMHg5RiwweEY5LDB4REEsMHg3NywKLTB4OUQsMHhFNywweDc5LDB4REUsMHg3NywweDlGLDB4REQsMHhGRiwgMHhGRCwweEZELDB4N0YsMHg1RiwweEQ3LDB4RkQsMHhGRiwweDdGLAotMHhFNywweEZFLDB4N0YsMHg5NywweEU3LDB4RkIsMHhGRSwweEZGLCAweEJGLDB4RUYsMHhGRiwweEFCLDB4RkYsMHhFRiwweEZBLDB4RkUsCi0weEJGLDB4QUYsMHhGRiwweEZBLDB4RkYsMHhGRiwweERGLDB4RkYsIDB4RkIsMHhGRiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRiwKLTB4NjcsMHhGRiwweEY3LDB4RjUsMHhGRiwweEZGLDB4RkYsMHhERiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHhGRiwweEJELCAweEVCLDB4RkYsMHhGRiwweEY3LDB4QUQsMHhFQiwweEZGLDB4REYsCi0weEZELDB4RkYsMHgzRiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsIDB4REYsMHhGRiwweDVGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRCwKLTB4QkYsMHhGRiwweENCLDB4RjQsMHhGRiwweDdGLDB4RDMsMHhGNywgMHhGRCwweDNGLDB4N0YsMHhEMywweEY3LDB4RkYsMHhGQywweDNGLAotMHhGRiwweEVBLDB4RkEsMHhCRSwweEFGLDB4QUIsMHhFQiwweEJBLCAweEY0LDB4OTUsMHg2QiwweDUyLDB4RDQsMHhBRCwweDJGLDB4NEEsCi0weEQyLDB4RjYsMHhCRiwweEQyLDB4N0YsMHhGNywweDNGLDB4RkYsIDB4RkYsMHhGMywweDdGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhCQSwKLTB4REYsMHhGQiwweEZELDB4RkYsMHhCRiwweEZGLDB4RkIsMHhGRiwgMHhGOCwweDdGLDB4RUEsMHhGRiwweEZFLDB4RkUsMHhERiwweEZGLAotMHhGNywweEZGLDB4N0YsMHhCQiwweEZGLDB4RkYsMHhCRiwweERGLCAweEZCLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhCMSwweDdGLDB4RkYsCi0weEZCLDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsIDB4Q0YsMHhGRSwweEZGLDB4RkYsMHhFRiwweEZGLDB4RjcsMHhGRiwKLTB4RkYsMHhGRiwweEYxLDB4RkYsMHg2OSwweEJFLDB4RkEsMHhCRiwgMHhBRiwweEUyLDB4RkYsMHhGRSwweEZELDB4QUYsMHhGMywweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZDLDB4RkYsMHhGRiwweDA3LCAweEZELDB4OTUsMHhEQiwweERGLDB4N0YsMHhERiwweEFGLDB4RkYsCi0weEY3LDB4QUYsMHgzNiwweEZFLDB4QkYsMHg2NSwweEVCLDB4RjYsIDB4RkUsMHg5RiwweDZGLDB4RkUsMHgwNywweEZGLDB4Q0YsMHhGRiwKLTB4RjgsMHhGRSwweEZGLDB4Q0YsMHhGRiwweEY2LDB4RkEsMHhFNywgMHhGQiwweEZFLDB4RkYsMHhCQiwweEVELDB4RjksMHhGRiwweEZGLAotMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4NzUsMHhGRiwweEVGLCAweDdFLDB4RkQsMHhFMCwweEU4LDB4NUUsMHhEMywweEU1LDB4RjksCi0weDNFLDB4NUYsMHhENywweEY3LDB4RkYsMHhGQSwweDJGLDB4RkIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHg3RiwKLTB4N0YsMHhENywweEY1LDB4N0QsMHg1RiwweDU3LDB4RDUsMHhGNSwgMHhFRiwweEZGLDB4RjMsMHg3RiwweEZDLDB4N0YsMHhGRiwweEM3LAotMHhGMSwweEZGLDB4RkYsMHgxRiwweENGLDB4QjAsMHhGRiwweDNGLCAweENGLDB4RjMsMHhGQywweEZGLDB4M0YsMHhDRSwweEZGLDB4RTQsCi0weEZGLDB4REYsMHg3RiwweEZFLDB4RjcsMHhCQiwweEZGLDB4RkYsIDB4REYsMHhFRiwweEVFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRSwKLTB4QkYsMHhCRiwweEVGLDB4RkYsMHhEMSwweEZGLDB4RkYsMHhGRiwgMHhGRCwweEZCLDB4RkYsMHhGRCwweEZGLDB4RkIsMHg5RiwweEU5LAotMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweEJGLCAweEZGLDB4QjMsMHhGRiwweEZGLDB4RjcsMHhGRiwweEZGLDB4QUYsCi0weEY3LDB4RkYsMHhCNiwweDNGLDB4RUIsMHhGQSwweEZFLDB4QkYsIDB4QUYsMHhFQiwweEZBLDB4RkUsMHhCRiwweEZFLDB4QTcsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRiwgMHhGRSwweDlGLDB4RjcsMHhGOSwweEZGLDB4N0YsMHg5RiwweEU3LAotMHhGRiwweEZGLDB4RkUsMHhBRiwweDZGLDB4RkYsMHhGRiwweEZGLCAweDlGLDB4RkYsMHhERiwweEZGLDB4N0QsMHg1RiwweERELDB4RkYsCi0weEZCLDB4QkYsMHhFNywweEJCLDB4RkYsMHhGQiwweERGLDB4NkQsIDB4NUYsMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RUIsMHhGNywweEZGLDB4RTcsMHhFRiwweEY3LDB4RkYsMHhGRiwgMHg3RiwweEZGLDB4RjcsMHhGRiwweEZDLDB4OEYsMHhGRiwweEVGLAotMHhGRCwweEZFLDB4RkYsMHhCRSwweEY0LDB4RjIsMHg3RCwweEQ3LCAweENGLDB4RkYsMHgzRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4Q0YsMHg2QiwweEZGLDB4QkYsMHgzRiwweEZCLDB4RjIsIDB4RkMsMHg3RiwweEVCLDB4RkYsMHg5RiwweEZBLDB4RkYsMHhGRiwKLTB4M0YsMHhGRiwweEYzLDB4RkYsMHhGRiwweEZELDB4NzAsMHhGNywgMHhGRiwweEZGLDB4QkYsMHhGRiwweEZCLDB4RDcsMHhGRSwweEY1LAotMHg3NywweEZGLDB4MTUsMHhERCwweDc3LDB4RkQsMHhGRiwweDdGLCAweERGLDB4RjcsMHhGQiwweENELDB4QkYsMHhGRiwweEZELDB4RkYsCi0weEZGLDB4REYsMHgzNywweENELDB4RjksMHhFQywweEZFLDB4RUYsIDB4QkIsMHhGNCwweEZCLDB4M0YsMHg0RiwweEIzLDB4RkYsMHhGRCwKLTB4Q0IsMHhGRiwweEU5LDB4N0UsMHg1NCwweDlGLDB4RTUsMHg0QiwgMHhCNywweEZGLDB4REQsMHg3RCwweEM3LDB4NzEsMHhERCwweDc3LAotMHg1RCwweEQ3LDB4NzUsMHhDRCwweDdGLDB4RDYsMHhGRiwweEQzLCAweEY2LDB4RjksMHgzRiwweDZELDB4OTUsMHhBRiwweDdGLDB4RkUsCi0weEZGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkUsMHhGNiwweEM3LDB4RkYsMHhBRCwweDdCLDB4Q0EsMHhGRiwKLTB4QkYsMHhCRiwweEVGLDB4RkQsMHhFMywweERGLDB4QjcsMHhFRCwgMHhGQiwweDdFLDB4REYsMHgzNywweEVELDB4RTMsMHhGQiwweERGLAotMHhGRiwweDUyLDB4NUMsMHgxNSwweEZELDB4Q0YsMHg3RiwweERGLCAweEZFLDB4RUYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUMsCi0weDdCLDB4RkUsMHhGRiwweEZFLDB4M0UsMHg3RiwweERBLDB4RjcsIDB4RkQsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZCLDB4RUYsMHhCQiwKLTB4NkYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwgMHhGNywweDdELDB4RkYsMHhEOCwweEZGLDB4RkQsMHhCRiwweDdGLAotMHhGQiwweEZGLDB4RkYsMHg5RiwweEZCLDB4RkUsMHg3RiwweDlGLCAweEU3LDB4RjksMHhGRSwweDdGLDB4OUYsMHhFQSwweDdGLDB4RjYsCi0weEJGLDB4QkQsMHg2QSwweDVBLDB4RjYsMHhFNSwweEJGLDB4NzcsIDB4NUYsMHg2RCwweERELDB4NzcsMHg1RCwweEQ3LDB4NzUsMHhERCwKLTB4NzcsMHhGRiwweEE1LDB4QkYsMHhDRiwweEZCLDB4RkYsMHhGRiwgMHhCRiwweENGLDB4RkIsMHhGRCwweEZGLDB4QkYsMHhGMywweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRCwweEFCLCAweEZGLDB4QkYsMHhCRiwweEZGLDB4RkIsMHhGRiwweDdGLDB4RUYsCi0weEZGLDB4QkUsMHhGQiwweEVFLDB4RkIsMHhCRSwweEVGLDB4QkIsIDB4RUUsMHhGQiwweEJGLDB4RkYsMHhCNSwweEZGLDB4RDAsMHhCQywKLTB4RkQsMHgyRiwweDRCLDB4RjcsMHhGRiwweEZGLDB4OUYsMHhGOSwgMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDlGLAotMHhGQSwweDhGLDB4RkQsMHhBQiwweEZBLDB4REEsMHhCRiwweEFGLCAweEIzLDB4RkQsMHhGRiwweEJGLDB4RkIsMHhGRSwweEZGLDB4QkYsCi0weEVGLDB4RkIsMHhGRSwweEY3LDB4QkYsMHhGRiwweDlGLDB4RkYsIDB4NzcsMHhGNywweEJELDB4RkQsMHg3NywweERGLDB4RkYsMHg3RSwKLTB4REYsMHhFRCwweEJCLDB4RkUsMHhGRiwweEJFLDB4RUYsMHhGQiwgMHhGRSwweEZGLDB4RkEsMHgzRiwweEZGLDB4QkUsMHg2RiwweDhGLAotMHhFNiwweEY5LDB4RkUsMHg3RiwweDlGLDB4QzcsMHhGRSwweDdGLCAweDlGLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RkIsCi0weDdGLDB4RkYsMHg3RiwweENGLDB4RkYsMHhGRCwweEZGLDB4RkYsIDB4REYsMHhGQiwweEFGLDB4QkYsMHhFRiwweEZGLDB4RkUsMHhGRiwKLTB4OUYsMHhFRiwweEZCLDB4RkYsMHhGQywweEZGLDB4RkIsMHhGRSwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEY3LAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsMHgzRiwweERGLDB4RjcsCi0weEZGLDB4RkYsMHg3RiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RkYsIDB4RkIsMHhGRiwweEZGLDB4QkYsMHhFRiwweEZGLDB4QjMsMHg3RiwKLTB4RkYsMHg3QiwweDVFLDB4RjcsMHhGRCwweEZGLDB4N0IsMHg3RiwgMHhGNywweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLAotMHhERiwweEY3LDB4RkYsMHgxNywweEZGLDB4RkYsMHhGRiwweDdGLCAweEZGLDB4RkYsMHhERCwweEY2LDB4RkMsMHhCRiwweENCLDB4RjIsCi0weEJDLDB4QkYsMHgyRiwweENCLDB4RjIsMHhGQywweEJGLDB4RkUsIDB4OEYsMHhGRiwweEZBLDB4N0UsMHhCRiwweEE3LDB4RUIsMHhEQSwKLTB4RkMsMHhCRiwweEFGLDB4N0EsMHhGRSwweEJGLDB4QUYsMHhFQSwgMHhGQSwweEZFLDB4QkYsMHhBRiwweEY0LDB4REYsMHhGRSwweEZGLAotMHhGMywweDNDLDB4N0YsMHgzRSwweEZGLDB4Q0YsMHhGOCwweEJGLCAweDhGLDB4RTMsMHhGOCwweEZFLDB4M0YsMHg4RiwweEU3LDB4RTgsCi0weEZGLDB4RkMsMHg5RiwweEZGLDB4RkYsMHhDRiwweEVCLDB4QjMsIDB4RTcsMHhGQiwweDdCLDB4RjMsMHhGRSwweEZGLDB4Q0YsMHhEQiwKLTB4RkIsMHhGQiwweEJGLDB4NkYsMHg2RiwweERGLDB4RUMsMHg3RiwgMHhGRiwweEZGLDB4RjcsMHhGRCwweEZELDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEIyLDB4QkYsMHhGRiwweERFLDB4RkQsMHhCRCwweEVGLCAweEZCLDB4RjYsMHhERiwweEVBLDB4RTcsMHhEQiwweEZFLDB4QkIsCi0weEZGLDB4RUIsMHhGQiwweEJGLDB4OUYsMHg4RiwweEU4LDB4RkUsIDB4M0YsMHg4RiwweEEzLDB4RjgsMHhGRSwweDNGLDB4OEYsMHhGRiwKLTB4RjgsMHg3RSwweEZELDB4RkQsMHg3RiwweEZGLDB4RkIsMHhDRCwgMHhGRiwweEZELDB4RkYsMHg1RiwweEVGLDB4RkQsMHhGRiwweEZGLAotMHhERiwweEY3LDB4RkQsMHhGRiwweEJFLDB4OTAsMHhGRiwweEZGLCAweEVFLDB4RkYsMHgzRiwweEJGLDB4RjMsMHhCQiwweEZFLDB4QjcsCi0weEFCLDB4RkEsMHhGRSwweEFGLDB4QUQsMHhFQSwweEZBLDB4REUsIDB4QUIsMHhGRiwweDYzLDB4RkYsMHhGRSwweEYyLDB4RkYsMHhCMywKLTB4RkYsMHhERiwweEVFLDB4N0QsMHhGRiwweDAzLDB4RjEsMHhGNCwgMHgzRiwweDFGLDB4QzMsMHhGMSwweEVDLDB4N0YsMHhGRSwweDZGLAotMHhGRiwweEZCLDB4RkIsMHhGRiwweDlGLDB4RkYsMHhCRiwweEZGLCAweDdCLDB4NUYsMHhGRCwweEZGLDB4REYsMHhGNywweEZELDB4RkQsCi0weDdGLDB4N0YsMHhERiwweEZFLDB4Q0YsMHhGQiwweEZGLDB4RkYsIDB4QUYsMHhGQiwweEZGLDB4MUYsMHhFRiwweEE1LDB4RkQsMHhCRiwKLTB4REYsMHhGQiwweDdELDB4RkYsMHhCRiwweERGLDB4RkIsMHhGRiwgMHhGRCwweDNCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELAotMHhBRiwweEYzLDB4RkYsMHhGQiwweDdGLDB4QkYsMHhENywweEZCLCAweEJGLDB4N0YsMHhCQiwweEY3LDB4RkYsMHhGOCwweDdGLDB4RkYsCi0weEZBLDB4NUYsMHhENywweEZGLDB4REYsMHg3RiwweEVGLDB4RkYsIDB4RkYsMHg3RiwweERCLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwKLTB4QjcsMHhGQiwweEVDLDB4RkYsMHhGRiwweEY3LDB4QkYsMHhFRiwgMHhGRCwweEZDLDB4RkIsMHhGRiwweEVGLDB4RjAsMHhGRSwweDNGLAotMHg4RiwweEUzLDB4RjgsMHhGRSwweDNGLDB4OEYsMHhFRiwweDhELCAweEZGLDB4RkYsMHhFRiwweDdGLDB4QkYsMHhGRiwweEZCLDB4RkYsCi0weERCLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RUYsMHhEOCwweEZGLDB4MkUsMHg3RiwKLTB4QkUsMHhFRiwweEZFLDB4NkUsMHhGRiwweEJGLDB4RjksMHhGRiwgMHhGRiwweEYzLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGQywweDY2LDB4QkUsMHg0NywweEYzLDB4N0YsMHhERiwweEZFLCAweDg3LDB4OUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhENiwweDZGLDB4N0MsIDB4RkIsMHg0RiwweEQyLDB4RkYsMHhGRCwweDJCLDB4RkUsMHhGRiwKLTB4RkYsMHhGRCwweDVGLDB4RDcsMHhENSwweEY1LDB4N0QsMHhGRiwgMHhGRiwweEZGLDB4QkYsMHg5QiwweEZGLDB4RkYsMHhERiwweEI3LAotMHhGRiwweEZGLDB4REYsMHhGRiwweDNGLDB4Q0YsMHhGRSwweDdGLCAweEJGLDB4RUYsMHhGQiwweEZDLDB4RkYsMHgzRiwweEZGLDB4RDksCi0weEJGLDB4RkUsMHg5NywweEVDLDB4OEYsMHhCNywweEZFLDB4OUIsIDB4N0QsMHhGRCwweEI3LDB4REQsMHg3NywweDFELDB4QzcsMHg3MSwKLTB4REQsMHg3NywweDVELDB4RDcsMHhGMywweDZGLDB4RkQsMHgzRiwgMHg3MywweERELDB4QUYsMHhGRCwweDdBLDB4RkYsMHhGRiwweEFGLAotMHhGRSwweEZELDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEJGLCAweEVGLDB4NjYsMHg3RiwweEZGLDB4RkYsMHhCRiwweEJGLDB4RkYsCi0weEZCLDB4RkYsMHhGNywweERGLDB4RkQsMHhGQiwweDdELDB4REYsIDB4QjcsMHhDRCwweEYzLDB4N0MsMHg1RiwweDNGLDB4OTEsMHgzRiwKLTB4RkYsMHgzRCwweEVGLDB4N0IsMHhGRiwweEZDLDB4RkYsMHhDQSwgMHhFRiwweEZFLDB4RkYsMHhCRCwweEVGLDB4RkIsMHgxRSwweEU3LAotMHhCQiwweEVDLDB4N0YsMHhCMywweEZGLDB4RkQsMHg5RiwweEZGLCAweEZGLDB4RkUsMHhGRiwweEZGLDB4N0YsMHhCRiwweEZCLDB4RkUsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4RUUsMHhGQiwweEJGLDB4REYsIDB4NjcsMHhGRiwweEZGLDB4QkYsMHhFRiwweERCLDB4RkYsMHhCQywKLTB4RkUsMHg3RiwweEZCLDB4RkYsMHg5RiwweEVGLDB4RjksMHhGRSwgMHg3RiwweDlGLDB4RTcsMHhGOSwweEZFLDB4ODcsMHhGRiwweEVFLAotMHhGQiwweEJFLDB4RTUsMHhCRiwweEVGLDB4RjksMHhENywweDY1LCAweEY3LDB4REQsMHhFNywweDdELDB4REYsMHg3NywweDVELDB4RDcsCi0weDdGLDB4RjgsMHg5QiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsIDB4RkYsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4N0YsMHhDRiwKLTB4RjMsMHhGQywweEZGLDB4QkYsMHhFRiwweEZGLDB4REIsMHgzRiwgMHhFRiwweEZCLDB4RkUsMHhGRiwweERGLDB4RkYsMHhGRSwweEZCLAotMHhCQiwweEVGLDB4QkYsMHhFRiwweEJCLDB4RUUsMHhGQiwweEJFLCAweEVGLDB4QkIsMHhGRiwweEZDLDB4N0YsMHhGRCwweDNCLDB4NUIsCi0weEQ2LDB4RTUsMHhGRCwweDRGLDB4QzMsMHhGQiwweEZGLDB4QkYsIDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwKLTB4QjQsMHhGRiwweEZBLDB4QkMsMHg4RiwweEIyLDB4RTksMHhEMiwgMHgyRSwweENGLDB4RkIsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLAotMHhGRiwweEJGLDB4RUYsMHhGQiwweEZGLDB4RUMsMHhGRiwweEZELCAweEZELDB4N0YsMHhERiwweEY3LDB4RTQsMHhERiwweDVGLDB4RkYsCi0weEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEMzLDB4RkYsMHhFRiwweEU2LDB4RjgsMHhGRSwKLTB4M0YsMHg4QiwweDgzLDB4RjksMHhGRSwweDdGLDB4RTcsMHhGOSwgMHhGRSwweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDE3LAotMHhGRCwweEZGLDB4RkYsMHhGRiwweDdGLDB4NUYsMHhGNywweDJDLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4N0YsMHhGRiwweEU3LDB4RjksCi0weEZFLDB4N0YsMHg5RiwweEZFLDB4MkYsMHhGRiwweEZGLDB4RUYsIDB4RkYsMHhGRSwweEJGLDB4RUYsMHhBRCwweEZGLDB4RkYsMHg3RiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRSwweERGLDB4RkYsMHhERiwweEZGLDB4RkQsMHhGRCwweDdGLAotMHhERiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQSwweDNGLDB4RkUsCi0weEY3LDB4RkQsMHhFRiwweDdBLDB4RkYsMHhCMSwweEJELDB4RkYsIDB4N0YsMHhGNywweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwKLTB4RkYsMHg3RiwweEYzLDB4MjcsMHhGRiwweERGLDB4RkYsMHhERCwgMHhGRiwweEZDLDB4OUIsMHhGRiwweENCLDB4RkMsMHhCRiwweDJGLAotMHhDQiwweEYyLDB4RkMsMHhCRiwweDJGLDB4QzksMHhGRiwweERFLCAweEZGLDB4REYsMHhBRiwweEVCLDB4REEsMHhGRSwweEJCLDB4QUYsCi0weEVCLDB4RjgsMHhGNywweEFGLDB4RTgsMHhGQSwweEZFLDB4QkYsIDB4QUYsMHhFQiwweEYyLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhFRiwKLTB4QkQsMHhENywweEJGLDB4RkYsMHhGRiwweERFLDB4OEYsMHhCOCwgMHhERSwweDM3LDB4OEQsMHhBMywweDc4LDB4REEsMHgzRiwweDhGLAotMHhGRiwweEExLDB4RkYsMHhGRiwweEZCLDB4RkIsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhBNywweEJELDB4RkIsMHg3NiwweEZELDB4QkYsCi0weEVGLDB4REIsMHhGRSwweEJCLDB4QkYsMHhGRSwweDI3LDB4N0YsIDB4RkYsMHhGRSwweEZFLDB4RkQsMHhGNSwweEZGLDB4RUYsMHhGNSwKLTB4REYsMHgxRiwweEU3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4RkYsMHhDRCwweEZELDB4QUUsMHhGRiwweEZBLAotMHgzRSwweDNGLDB4QUIsMHhGRCwweEY4LDB4N0UsMHg4RiwweEUzLCAweEY4LDB4RkUsMHgzRSwweDhGLDB4RTMsMHhGOCwweEZGLDB4RkUsCi0weDFGLDB4RUYsMHhERiwweEJGLDB4RkUsMHhERSwweERGLDB4RDksIDB4RkYsMHhERiwweEJDLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhFRiwKLTB4RkQsMHg3RiwweERGLDB4RjcsMHhGOSwweDNGLDB4RkUsMHhGRiwgMHhGRiwweDZGLDB4RkUsMHhERSwweEJGLDB4RjcsMHhFRCwweEVBLAotMHhGRCwweDhGLDB4ODMsMHhGOCwweEVBLDB4M0YsMHg4RiwweEVGLCAweEZGLDB4RjQsMHg3RiwweEZGLDB4RUYsMHhFRiwweDdCLDB4RjMsCi0weEYxLDB4NUYsMHhGRiwweEZGLDB4RjEsMHgzQiwweDdGLDB4REYsIDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RTAsMHhGRiwKLTB4RkYsMHhGRiwweEY3LDB4RkYsMHg2RiwweEZGLDB4N0YsMHhGRiwgMHhGRiwweEY3LDB4REUsMHhGNywweEJGLDB4RUYsMHhGQiwweEY3LAotMHhGRCwweEZGLDB4RkYsMHhGNSwweEZBLDB4RkYsMHhGRiwweEZCLCAweEU3LDB4RkYsMHhGMywweEY4LDB4N0YsMHhGMywweERGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDFGLDB4RUYsIDB4QkIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwKLTB4RkYsMHg3RiwweEZGLDB4OUYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhDRiwweEZGLDB4MzcsMHhGRiwweEZGLAotMHg3RiwweERGLDB4NzcsMHg1RCwweEU3LDB4RkMsMHhGRiwweEJGLCAweEY3LDB4RjUsMHhGQiwweEZGLDB4RkYsMHhENywweEY1LDB4RkIsCi0weEZGLDB4RkYsMHg0NSwweEZELDB4N0YsMHhFQSwweEZELDB4QkUsIDB4QkYsMHhERiwweEY3LDB4RkYsMHhGRiwweERCLDB4RkIsMHhGRSwKLTB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHg1RiwgMHg3RiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZFLDB4RkYsMHhFRiwweEZELDB4RkYsMHg3RiwweERGLCAweEZGLDB4RUYsMHhGQiwweEY4LDB4MEYsMHhGMywweEZGLDB4RjksCi0weDJFLDB4RkIsMHhGRSwweEZDLDB4RjMsMHhFRiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEZCLDB4RTcsMHhGRiwweEZFLDB4N0UsMHhGRiwKLTB4QzAsMHg2QiwweENGLDB4RkYsMHgzNCwweERGLDB4RjEsMHhGRCwgMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4REYsMHhGNywweEZELAotMHhDRiwweDdGLDB4OUMsMHhGRCwweEZELDB4NkMsMHhGNywweEZGLCAweEY2LDB4RkQsMHhFQiwweDJCLDB4OUYsMHhGRiwweEZDLDB4RkUsCi0weDdFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhENywweEYzLDB4RjcsIDB4RkYsMHhGQiwweEUxLDB4QkYsMHhGRiwweEVCLDB4N0EsMHhERSwKLTB4RDcsMHhGQiwweEZGLDB4RjksMHhGRSwweEZGLDB4RkYsMHhGMywgMHhERSwweDdGLDB4RkQsMHhFNywweDdGLDB4RkYsMHhGRCwweEJCLAotMHhGRiwweEZGLDB4N0UsMHhDQywweEY2LDB4QUYsMHg1RiwweDdGLCAweEZFLDB4RjQsMHg3RCwweEY3LDB4RkQsMHhCQiwweDZFLDB4REIsCi0weEI3LDB4RkYsMHhGNywweERGLDB4NjYsMHhGRiwweEZGLDB4RjcsIDB4M0QsMHhDRiwweERFLDB4QkQsMHhGRiwweEZGLDB4REUsMHhEQiwKLTB4OEQsMHhGNywweDdFLDB4REYsMHhCNywweEVGLDB4N0YsMHhGRiwgMHhGNiwweDg3LDB4RkYsMHhGRiwweEVGLDB4RkUsMHhERSwweEJGLAotMHhGRiwweEZGLDB4RkYsMHhCQiwweEVGLDB4RkQsMHhGRiwweDdCLCAweERFLDB4RjcsMHgzRiwweEZGLDB4QkYsMHhGQiwweERCLDB4RkYsCi0weEYyLDB4QjYsMHhGRCwweEJELDB4N0YsMHhFNywweEZGLDB4RkYsIDB4RkYsMHg2RiwweEY3LDB4RkYsMHhGRiwweEZGLDB4RkUsMHg3NywKLTB4RkYsMHhCRiwweEY4LDB4QUYsMHhGRiwweERGLDB4QkYsMHhGRiwgMHhCRiwweDdGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhEQiwweEZFLAotMHhGRiwweEJGLDB4RkYsMHhGQSwweEZGLDB4RkQsMHhGRiwweEY2LCAweDdGLDB4RkYsMHg5RiwweEZGLDB4RkYsMHgzRiwweEVGLDB4RjgsCi0weEVFLDB4N0UsMHg5RiwweEJBLDB4RkUsMHhCRiwweDhGLDB4RUYsIDB4RkUsMHhGRSwweEY5LDB4RkYsMHhGQSwweDdGLDB4RkUsMHg3RSwKLTB4QkYsMHhBRiwweEZCLDB4OTYsMHhGRCwweDlGLDB4RUYsMHg1RSwgMHg2NSwweEJFLDB4RUYsMHg1QiwweEI2LDB4RkYsMHhCRSwweEUzLAotMHhGRiwweEI1LDB4QkYsMHhGRiwweEZELDB4RkYsMHg3RiwweEZGLCAweEVGLDB4REYsMHhGRSwweEZGLDB4QkYsMHhGQiwweEZFLDB4RkYsCi0weEJGLDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhGRCwweDlCLDB4RkYsIDB4RkUsMHhGQiwweEZFLDB4REYsMHhGRiwweDdGLDB4RkYsMHhGNywKLTB4RkUsMHhGRiwweERGLDB4RkIsMHhGQiwweEZFLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhCNywweEZFLDB4RkEsMHhGRiwweEFCLAotMHhFRiwweEZGLDB4RkQsMHhCNSwweDdCLDB4N0YsMHhGQiwweEY3LCAweEZELDB4RkYsMHhGRiwweERELDB4RkYsMHhFRiwweDhGLDB4RkYsCi0weDJGLDB4RkYsMHhGQiwweDdDLDB4RkYsMHgzRiwweERGLDB4NzMsIDB4RUIsMHhGRSwweDNGLDB4RkYsMHhFRiwweEZCLDB4RkUsMHhGRiwKLTB4RUYsMHhGRCwweEZGLDB4QkYsMHhGRCwweDBGLDB4RkYsMHhGRiwgMHhGRiwweEY1LDB4RjksMHhGRiwweDdGLDB4RDcsMHhGRCwweEZGLAotMHhERiwweEZGLDB4RjcsMHhGQiwweEZGLDB4N0YsMHhCRiwweEZGLCAweEZGLDB4RjAsMHg5RiwweEZGLDB4RkUsMHg3RiwweDhCLDB4RTMsCi0weEY5LDB4REUsMHgyNywweDlCLDB4RTYsMHhCRSwweDdGLDB4OUIsIDB4QzMsMHhGOCwweERFLDB4N0YsMHg5RCwweEU3LDB4RkUsMHg3RiwKLTB4RkYsMHhGRiwweDVGLDB4RDcsMHhGRiwweEZGLDB4RkYsMHg0RiwgMHhGQiwweEZGLDB4RkYsMHg3RiwweEZGLDB4QUYsMHhGRiwweDlGLAotMHg3RiwweEZCLDB4RkYsMHhFOCwweEZGLDB4RkYsMHhGRSwweEJGLCAweEFGLDB4RkYsMHhGRiwweEZFLDB4QkYsMHhFRiwweEY3LDB4RkYsCi0weEJGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsIDB4RkMsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLDB4RkYsMHhGRiwKLTB4RkQsMHgzRiwweENGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywgMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4OTMsMHhGRiwweEZGLAotMHg3QSwweERGLDB4RjcsMHhGRiwweEZGLDB4N0IsMHg3RiwweEI3LCAweEVGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRCwweEZCLDB4RkYsCi0weEY3LDB4RkYsMHhENywweEZGLDB4RkYsMHhGRiwweEZDLDB4OUYsIDB4NkYsMHhDQiwweEZGLDB4RjQsMHhCQiwweERGLDB4RDYsMHhGRCwKLTB4QkYsMHgyRiwweEQzLDB4RjcsMHhGRiwweERGLDB4RkYsMHhDRiwgMHhGRiwweEZBLDB4QkUsMHhCRCwweEFGLDB4NkEsMHhEQSwweEJFLAotMHhCQiwweEFCLDB4M0EsMHhCRSwweDJELDB4QUUsMHhFQiwweERBLCAweEY2LDB4M0YsMHhBRCwweEY1LDB4REQsMHhGRiwweENGLDB4RjEsCi0weEZGLDB4RjksMHg3RiwweEZGLDB4NzMsMHhGRSwweEZGLDB4Q0YsIDB4QzMsMHhGNCwweEY3LDB4MkYsMHhGMywweEZGLDB4RkMsMHhGRiwKLTB4N0MsMHgxRiwweEZGLDB4M0YsMHg0RiwweEZGLDB4N0UsMHhGRiwgMHhFRiwweEJELDB4RjYsMHhGRSwweEZGLDB4MkIsMHhFRiwweERDLAotMHhGQiwweEZELDB4RkYsMHhGQiwweEZGLDB4RUEsMHg3QiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhGNywweERGLDB4RkYsCi0weEUzLDB4N0QsMHhGRiwweEI3LDB4RkYsMHhCRiwweEZGLDB4RkYsIDB4REYsMHhGRiwweEY4LDB4RkYsMHhCRiwweEZGLDB4QkYsMHhFQiwKLTB4RTcsMHhGQSwweEZFLDB4M0QsMHhCRiwweEU5LDB4RkMsMHhCRiwgMHhGRiwweEZBLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEQ5LAotMHhGRiwweEZGLDB4RkYsMHhGNiwweDdGLDB4RkYsMHhGNiwweDdELCAweEZGLDB4REYsMHhDRiwweEZELDB4QkYsMHhGQiwweEVGLDB4N0UsCi0weEZGLDB4N0YsMHhGRiwweEZGLDB4RDMsMHhGRiwweEZELDB4RkIsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEVGLDB4RkYsMHhCRiwKLTB4RkUsMHhGRiwweEY3LDB4RUYsMHhGRiwweEZGLDB4RkYsMHhGQiwgMHhGRiwweDg3LDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLAotMHg3QiwweEZFLDB4RkYsMHhGRSwweDNCLDB4RjcsMHhGNywweEZGLCAweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweDBGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RjcsIDB4RkYsMHhGRiwweEFELDB4RkYsMHhGRSwweEY3LDB4RkYsMHhGRiwKLTB4NUYsMHhGRiwweEZGLDB4REYsMHhGRiwweEZELDB4RkYsMHhGNSwgMHhGRiwweERGLDB4RkYsMHhCRCwweEZGLDB4RTksMHhGRiwweEM3LAotMHhGMywweEZGLDB4RkYsMHhGNywweEZGLDB4RjMsMHhGRiwweEY4LCAweDNCLDB4RkYsMHhGRiwweDdCLDB4REYsMHhCRiwweEZCLDB4RUYsCi0weEZCLDB4RkYsMHhGQiwweEY3LDB4RjcsMHhCQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRSwweDdGLDB4RjMsMHg3RiwKLTB4NUUsMHhCNywweEJGLDB4RkQsMHg3RiwweEZGLDB4RjksMHg3RiwgMHhGQiwweEZGLDB4RUIsMHhGRCwweDdGLDB4N0YsMHhGRiwweEVGLAotMHhGQiwweEUwLDB4M0YsMHhGRSwweEJGLDB4QkYsMHhERiwweEZGLCAweDdFLDB4RkYsMHhGNywweEZGLDB4RkYsMHhGRSwweEJGLDB4RkYsCi0weERCLDB4NzgsMHhGRiwweEZGLDB4RkYsMHhFRSwweEExLDB4QkYsIDB4RjUsMHhERSwweEZCLDB4RjcsMHhGRiwweEZCLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweEQ3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RUYsMHhGMCwweEZGLDB4RkYsMHhGRiwweEYzLAotMHhGNywweEZGLDB4RUYsMHhGRiwweEU3LDB4Q0YsMHhGRiwweEZCLCAweEZGLDB4RUYsMHhGRiwweEZGLDB4OUYsMHg5RiwweEVGLDB4RkMsCi0weDE2LDB4QkYsMHhGRSwweEYzLDB4RTQsMHhGRiwweEZGLDB4QzYsIDB4RkYsMHhFNywweEZGLDB4RkYsMHhGRCwweEZGLDB4QkYsMHhGRiwKLTB4RkYsMHgzRiwweEZGLDB4QkYsMHhENiwweEFGLDB4N0YsMHhGRSwgMHg2QiwweDdFLDB4N0YsMHhGRiwweEFGLDB4RkYsMHhGRiwweEJGLAotMHhGRiwweDVGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRSwweEZGLCAweEZGLDB4QkQsMHhEQiwweEZGLDB4RkUsMHg1RiwweEYyLDB4RkYsCi0weEZGLDB4NUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RUYsMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4REUsMHhCRiwKLTB4RkYsMHhGRiwweEVGLDB4RkIsMHg3NywweEZFLDB4QkQsMHg3RiwgMHg1RiwweEZGLDB4RkYsMHhGRiwweERGLDB4NkYsMHhFRCwweEZGLAotMHhGRCwweEZGLDB4N0YsMHhGRCwweDZGLDB4RkYsMHhGRiwweDc3LCAweERBLDB4Q0YsMHhGRCwweDVGLDB4RkYsMHhCRiwweEZGLDB4RkYsCi0weERGLDB4N0YsMHhGRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4NjYsMHg3RiwweEZGLDB4RkUsMHhCRiwweEU3LDB4QkYsMHhGQSwKLTB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHg1OSwgMHhFRiwweEZGLDB4RUYsMHhGQiwweDdGLDB4ODksMHhGRiwweEZGLAotMHhFOSwweEZGLDB4NkYsMHhGRiwweEY1LDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHg3RiwweEYyLDB4RjcsMHhGRiwweEZGLDB4RUYsCi0weEY4LDB4N0YsMHhGQiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RDksIDB4RkYsMHhFRiwweEJCLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhFRiwKLTB4REUsMHhGRiwweEZGLDB4OUYsMHg3RiwweERGLDB4RkYsMHhGNywgMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwweEFGLAotMHhGRiwweEZGLDB4RjcsMHgzRiwweEVCLDB4OUYsMHhGRSwweDdGLCAweDlFLDB4N0YsMHg5RiwweEZFLDB4ODcsMHhGRiwweEVELDB4REIsCi0weDU2LDB4RkYsMHhCRiwweEFGLDB4MEIsMHhEMiwweEZGLDB4RUYsIDB4REIsMHg2RSwweDdELDB4QkQsMHg2RiwweEY4LDB4RkUsMHgzRiwKLTB4RkEsMHg1QiwweEZGLDB4RkQsMHhCRiwweEVGLDB4RkYsMHhCRiwgMHg2RiwweERCLDB4RTYsMHhGRiwweEZGLDB4M0YsMHhGRiwweERGLAotMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4REEsMHgzRiwweEZGLCAweEZCLDB4RkUsMHhGRSwweEZGLDB4RkYsMHhERiwweEY3LDB4QkQsCi0weEZGLDB4RkQsMHhGRiwweEZFLDB4RkYsMHhGQiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEYxLDB4NUYsMHhGRCwweDlGLDB4REYsMHhGRCwKLTB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3NiwgMHhGQSwweEZGLDB4RkYsMHg3RiwweEUzLDB4RjgsMHhGRiwweEFFLAotMHhGRiwweEZCLDB4N0UsMHg5RCwweDczLDB4RkYsMHhGQSwweDdGLCAweERGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGQiwweENELDB4RkYsCi0weDdGLDB4RUYsMHhGQiwweEZGLDB4RkQsMHhGRiwweEY3LDB4N0YsIDB4N0YsMHhFRiwweEZGLDB4RUQsMHhGRiwweEZGLDB4RkYsMHhCNSwKLTB4RkYsMHhCRiwweEZGLDB4QkYsMHhGRCwweEVGLDB4REIsMHhGNywgMHhGRiwweDkzLDB4RkYsMHhFRiwweEUyLDB4RjksMHhCRSwweDdGLAotMHg4QiwweEU3LDB4RjksMHhGRSwweDZCLDB4RTcsMHhGOSwweEZFLCAweDdGLDB4OUYsMHhFNywweEY5LDB4RkUsMHg3RiwweDQ3LDB4RkYsCi0weEZGLDB4RkQsMHhGRiwweDlGLDB4RkYsMHhENywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEY1LDB4RkYsMHg5RiwweEZGLDB4RjcsMHhGRSwKLTB4RkYsMHhCRiwweEZFLDB4NkYsMHhGRiwweEZGLDB4RkIsMHhGRiwgMHhGRiwweEZGLDB4QUYsMHhGRiwweEZGLDB4RkYsMHg3RiwweEZCLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELCAweERGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwweEZGLDB4REYsCi0weEZGLDB4RkYsMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4NUYsMHhGQiwweEZFLDB4RkYsMHhGOCwweDM3LDB4RkYsMHhGRiwKLTB4RUYsMHhGRiwweDdGLDB4RkUsMHhCRiwweEZGLDB4RkYsMHhGRSwgMHhCRiwweEZGLDB4RkYsMHg3RiwweEZGLDB4QkYsMHhGRCwweEZGLAotMHg3RiwweEZBLDB4N0YsMHhGRiwweEZGLDB4NkYsMHhGRiwweEZGLCAweDdELDB4RkYsMHhDRiwweEZGLDB4RkYsMHhGRiwweDRGLDB4RkYsCi0weEYyLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZBLDB4QkYsIDB4RkYsMHhBRSwweEVCLDB4RkEsMHhGRSwweEJCLDB4QUQsMHhFQiwKLTB4RkEsMHhGNywweEFGLDB4NkIsMHhGQSwweEY2LDB4QkYsMHgyNSwgMHhFOSwweEYyLDB4N0YsMHg0NSwweEZGLDB4RkYsMHhGRCwweEY3LAotMHhGNywweEJGLDB4RkYsMHhERiwweEZGLDB4RkYsMHhCRiwweEZCLCAweEZGLDB4REYsMHhGMywweEZGLDB4RjcsMHgzRiwweENGLDB4RkYsCi0weEExLDB4RkYsMHhGRiwweEJGLDB4RTcsMHhGRiwweEZGLDB4N0YsIDB4RkYsMHgzRCwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHgyRiwKLTB4RkYsMHhGQiwweEY1LDB4N0YsMHhGRSwweDU3LDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LAotMHgzRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRCwweEZFLCAweEY3LDB4RUUsMHhBRiwweEZFLDB4RUUsMHhFNywweEZBLDB4RkYsCi0weEZFLDB4OUQsMHhGOSwweDVFLDB4RkUsMHhGRiwweEVCLDB4RkYsIDB4RkYsMHhERiwweEE3LDB4RkYsMHhGRiwweEZGLDB4RkMsMHhEQiwKLTB4RkYsMHhGRiwweEZGLDB4N0UsMHhGQiwweEZGLDB4RkYsMHhFRiwgMHhGQiwweEZELDB4RkYsMHhEQiwweEZGLDB4RkYsMHhGRiwweEVGLAotMHhGRiwweEZGLDB4RkYsMHhGRCwweEJGLDB4RkUsMHhCRiwweEZGLCAweDZGLDB4N0YsMHhGRiwweEY3LDB4RkYsMHhGRiwweEY5LDB4RkYsCi0weEY3LDB4RkYsMHhCRiwweERFLDB4RjcsMHhGRiwweEZGLDB4RkYsIDB4RkEsMHg3RiwweEZELDB4QkYsMHg1RiwweEZGLDB4RkYsMHhCRiwKLTB4RkYsMHhFRCwweEZGLDB4RjcsMHhCRiwweEZGLDB4RkYsMHhFRiwgMHhGRiwweERGLDB4RkYsMHhGRiwweEZGLDB4RTYsMHhGRiwweEZCLAotMHg3RiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVCLDB4RkYsCi0weEZELDB4RkYsMHhGNSwweEZGLDB4RjYsMHg3RiwweERGLDB4QkQsIDB4Q0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RkYsMHhGRiwKLTB4RkYsMHhGOSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMywgMHhGRiwweEVFLDB4QkYsMHhGRiwweDdELDB4RUYsMHhGRSwweEZGLAotMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RTcsMHhGRiwweEI1LDB4QUUsCi0weEZGLDB4RkYsMHhCNiwweEZFLDB4QkYsMHhGRiwweEZGLDB4QkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHgyNywweEZGLDB4RUYsMHhGRSwweDdGLDB4REYsMHhGRiwgMHg3RSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkQsMHhGRiwweEY3LDB4RjksMHg5RiwweEZGLCAweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4N0YsCi0weEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4MEYsMHhGRiwweEU3LDB4QkYsMHhGRSwKLTB4RkYsMHhCRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHhCRiwgMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEM0LAotMHg2QiwweEZGLDB4MjksMHgxRiwweEZCLDB4QUYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEVGLDB4MUIsMHhGRSwweEZGLDB4RkMsCi0weDZGLDB4RkYsMHhGRiwweEZELDB4NkEsMHhGNywweEQ3LDB4RjUsIDB4QkYsMHhGRiwweEZFLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkUsMHhCRiwweEZGLDB4RkYsMHhGQSwweEZGLDB4RkYsMHhGNywgMHhGQiwweERELDB4QkYsMHhGRiwweEU3LDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHg3RiwweEZGLCAweEZGLDB4RjUsMHhGRiwweEZGLDB4RjcsMHhGRCwweEIzLDB4RUYsCi0weEZELDB4N0UsMHg1RCwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsIDB4RkQsMHg3RiwweEQyLDB4RjUsMHhGQiwweDdFLDB4Q0IsMHhCNywKLTB4RkYsMHhGRiwweEZGLDB4QzYsMHhGRiwweEZELDB4RUUsMHg2MywgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RjYsMHhGRCwweDY1LAotMHg1QiwweERGLDB4RkYsMHhENSwweEZGLDB4RkYsMHhGRiwweEY2LCAweEU3LDB4QkYsMHhGNywweEE5LDB4RkYsMHhGRiwweEVELDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGRiwweEZGLDB4RkYsIDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGOCwweDFCLDB4RkYsMHhFMywKLTB4RDAsMHhCRiwweEZGLDB4RTEsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEQ3LDB4RkYsMHhGRiwweEZGLDB4NUYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4QUYsMHhGRiwweERCLDB4NzYsMHhCRiwweEZGLCAweDdGLDB4RkYsMHhCRiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEZCLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhCRiwweEYyLDB4N0YsIDB4RkYsMHg5RiwweEZFLDB4QkQsMHhGRSwweDdGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEY3LDB4M0YsMHhFQywweDdGLDB4RjYsMHg5NSwweEJCLAotMHhFRiwweEY4LDB4RkUsMHhGQywweEJGLDB4MkYsMHhEQSwweEZDLCAweEJGLDB4MkYsMHhDQiwweEYyLDB4RkMsMHhCRiwweEVGLDB4RkYsCi0weEE5LDB4QkYsMHhDRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkUsIDB4REQsMHhCNywweDZELDB4RjYsMHhEOSwweEI2LDB4NkQsMHg5QiwKLTB4NzYsMHhEOSwweEJGLDB4RkIsMHhGRCwweEEzLDB4RkYsMHhCRiwgMHhFRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsMHg3RiwweERGLAotMHhGRCwweEVGLDB4N0IsMHhERSwweEY3LDB4RkQsMHhFRiwweDdGLCAweEZGLDB4RkYsMHgwNSwweEZGLDB4RkEsMHhGRSwweDdGLDB4RUYsCi0weEUzLDB4RkYsMHhGRiwweEZELDB4N0YsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRCwweDdGLDB4RkIsMHhBRiwKLTB4RkYsMHg2MywweEM4LDB4RkYsMHhCRiwweEVGLDB4RkYsMHhGRiwgMHhGQSwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkUsMHg5RiwweEY3LAotMHhGRiwweEZBLDB4QkYsMHhGRSwweDlGLDB4RkIsMHg3RiwweEZGLCAweEZGLDB4RUYsMHhENywweEZGLDB4RkYsMHhGNSwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRCwweDdGLDB4RkYsMHhGRiwweEJGLDB4RkYsIDB4RjksMHhCRiwweEZGLDB4QkUsMHgyNywweDlGLDB4RTcsMHhGOSwKLTB4RkUsMHg3RiwweDhCLDB4RTcsMHhGRSwweDdGLDB4OUYsMHhFMiwgMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LDB4RjEsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkIsMHhGRSwweEZGLDB4RkYsMHhGRiwweEQ3LCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkYsCi0weEQ3LDB4RkYsMHhGQSwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsIDB4RkQsMHhGRiwweEZGLDB4RkYsMHhBRiwweEY3LDB4RkYsMHhGRiwKLTB4RkYsMHhFQiwweEZGLDB4RkYsMHhGRiwweEFGLDB4RkYsMHhDNCwgMHhGRiwweEY3LDB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweDVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhENywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RUIsMHhGRiwweEZCLDB4N0EsCi0weERGLDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGRSwweEJGLDB4RkYsIDB4RkYsMHg3RiwweEZGLDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGNywKLTB4RUYsMHhFMywweEZGLDB4REQsMHhEMiwweEZGLDB4REYsMHhGRiwgMHhGRiwweEYyLDB4RkMsMHhCRiwweENCLDB4RjYsMHhGRCwweEJGLAotMHgyRiwweENCLDB4RkYsMHg3RiwweERGLDB4REUsMHhBRiwweEZGLCAweERBLDB4RUUsMHhCRiwweEFGLDB4RTksMHhGQSwweEY0LDB4QkQsCi0weEFGLDB4NUEsMHhBRSwweEJCLDB4QUIsMHg2QiwweERBLDB4REUsIDB4QkYsMHhBRCwweEQ3LDB4NUUsMHhGRiwweEZGLDB4QkYsMHhGQywKLTB4RkYsMHhERiwweEZELDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERiwgMHhGNywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZBLAotMHgxRiwweEZGLDB4RkUsMHhGQiwweEVGLDB4QkYsMHhGRCwweEZGLCAweEZELDB4QkQsMHg3NywweEZGLDB4RkYsMHhGRiwweEZGLDB4OUQsCi0weEVGLDB4RkYsMHhGRiwweEZGLDB4RUYsMHg3RCwweEZGLDB4RkIsIDB4RkUsMHhFRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGNywKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFRSwgMHhCRiwweEU0LDB4RkIsMHhGRiwweEZFLDB4M0YsMHhGRSwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhBRiwweEVBLDB4RkUsMHhCRiwweEFGLCAweEVCLDB4RkEsMHhGRSwweEZGLDB4RkYsMHhGRiwweDU1LDB4RjYsCi0weEZGLDB4RkUsMHhGNywweEZGLDB4N0YsMHhGRiwweEVCLDB4RjcsIDB4NUYsMHhDNSwweEZELDB4N0YsMHg1RiwweEQ3LDB4RjUsMHhGRiwKLTB4NkYsMHhGQiwweEZGLDB4OEEsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkIsMHhCRiwweEJGLAotMHhFRiwweEZCLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLCAweDc3LDB4REYsMHhGQiwweEZGLDB4RkQsMHg3RiwweEVGLDB4RkYsCi0weEZGLDB4RkYsMHhCRiwweDdGLDB4RkYsMHhERiwweEJGLDB4RkYsIDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRSwweEVGLDB4REYsMHhGRiwKLTB4RkUsMHhGRiwweDlGLDB4RUYsMHg3RCwweEZGLDB4RjcsMHhGRiwgMHg3RiwweEZGLDB4RkYsMHhERiwweEY3LDB4RkQsMHhGRiwweEVGLAotMHhERiwweEZGLDB4REYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkIsCi0weEZELDB4RkYsMHhCRiwweERGLDB4RDEsMHhGRiwweEY4LDB4M0IsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4N0UsMHhEQiwweEZELDB4RkYsMHg3NywweERCLDB4QjcsMHg3RCwgMHhCRiwweEZCLDB4RkYsMHhGOCwweDdGLDB4RUQsMHg3QiwweDVFLAotMHhGRiwweEZFLDB4RkYsMHhGRiwweDRGLDB4RDcsMHhGRCwweDdGLCAweERGLDB4RDcsMHhGNSwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkYsCi0weEYyLDB4M0YsMHhGRSwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhCRiwweEVGLDB4RkUsMHhGRiwweDNCLDB4RUUsMHhGRiwKLTB4RkMsMHhFRiwweEZGLDB4RkYsMHhGRiwweDg1LDB4RkYsMHhGRCwgMHhGRSwweEZGLDB4RjUsMHhGRiwweEZGLDB4RkUsMHhGRiwweERGLAotMHhGQiwweEZGLDB4NUYsMHhCRiwweEZGLDB4RkQsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhBOCwweEZGLDB4RkYsMHg5RiwweDlFLDB4RkYsCi0weEZGLDB4RkYsMHg3RiwweEYzLDB4RkYsMHhGRiwweENGLDB4RkYsIDB4RjcsMHhGRCwweEZGLDB4N0YsMHhGRiwweEZGLDB4RkMsMHgxNiwKLTB4QkYsMHhDRiwweEEzLDB4RTUsMHhFRiwweDdGLDB4RkYsMHhGMywgMHhFNCwweEZGLDB4Q0YsMHg5MywweEZDLDB4RkYsMHgzRiwweENGLAotMHhGRiwweEZGLDB4RkYsMHhENiwweDBGLDB4N0QsMHhCRiwweDZFLCAweEZCLDB4RjQsMHhGQywweEFGLDB4NkQsMHhEQiwweDc3LDB4QjcsCi0weDZELDB4REIsMHhGNiwweEZELDB4QkYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHg5QiwweEZBLDB4REUsMHhCNywweEI3LDB4RUQsMHhGOSwKLTB4N0UsMHhCNywweEFDLDB4RUIsMHhENiwweEIzLDB4QUQsMHhFQiwgMHg3QSwweERGLDB4RkYsMHhGRiwweEZGLDB4RDgsMHhCRiwweEZGLAotMHhCNywweEVELDB4OUYsMHg2RiwweERELDB4RjcsMHg2OCwweERCLCAweDM3LDB4QjMsMHg2QywweERCLDB4MzYsMHhDRCwweEIzLDB4N0YsCi0weEZGLDB4N0YsMHhGNSwweDZGLDB4RkQsMHhFRiwweDc5LDB4M0QsIDB4RjcsMHg5MywweEU0LDB4N0EsMHg5RSwweEFELDB4RUEsMHg3QSwKLTB4OUUsMHhGNywweEJELDB4RUYsMHhGRiwweEZGLDB4RkYsMHg3NiwgMHg3RiwweEZCLDB4QzYsMHhGRiwweEJCLDB4RUYsMHhEQSwweEZFLAotMHhGRCwweEJGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLCAweEZGLDB4RkYsMHhGQiwweEZGLDB4QTUsMHhGRiwweEZELDB4QUIsCi0weDZGLDB4NzgsMHhERSwweDE3LDB4OEYsMHg3OSwweERGLDB4RkQsIDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGQiwKLTB4RkYsMHhGQiwweEZGLDB4RUYsMHhGQiwweEVGLDB4RkIsMHhGRSwgMHhGRiwweEJCLDB4REEsMHhGMywweEVGLDB4M0IsMHhDRSwweEYzLAotMHhCQywweEVGLDB4M0YsMHhDRiwweERGLDB4RkYsMHhCNywweEZGLCAweEZGLDB4RkYsMHhDRiwweDczLDB4RkYsMHhCRiwweEVGLDB4RkYsCi0weEYzLDB4RkYsMHgzRiwweENGLDB4RjMsMHhGQywweEZGLDB4M0QsIDB4Q0YsMHg5RiwweEZFLDB4MDcsMHhGRiwweEFGLDB4RUIsMHhGRSwKLTB4RkQsMHhCRiwweEVGLDB4RUIsMHhGQSwweEZGLDB4QUYsMHhFQiwgMHhGQSwweEZFLDB4QkYsMHhBRiwweEZCLDB4RkUsMHgzRiwweEZCLAotMHg5QiwweEZGLDB4N0YsMHhERiwweEZGLDB4RjMsMHhGRSwweEZGLCAweERFLDB4RjcsMHhCRiwweDdCLDB4REUsMHhGNywweEJELDB4RUYsCi0weDdCLDB4RkUsMHhGRiwweEZGLDB4REYsMHgzRiwweEZFLDB4RkYsIDB4QjcsMHhGRiwweEVGLDB4RjcsMHhGRiwweEJGLDB4RUQsMHhGRSwKLTB4REYsMHhCNywweEVELDB4RkIsMHg3RSwweERGLDB4RkYsMHhGRiwgMHhGRiwweEZELDB4NUYsMHhFRiwweEVCLDB4RkEsMHhGRSwweEY1LAotMHhCRiwweDZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZFLDB4RjgsMHhGRiwweEE4LDB4RkYsCi0weEZGLDB4QkYsMHhFRiwweEZCLDB4NkEsMHhGQiwweEI3LDB4RUYsIDB4RkIsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhCRiwKLTB4RUYsMHhGQiwweEZGLDB4RTAsMHhGRiwweEZGLDB4RkQsMHg3RiwgMHg1QywweEQ3LDB4N0QsMHhERiwweEYzLDB4NUMsMHhGNSwweENELAotMHg3MywweDVFLDB4RDcsMHhCNSwweEZELDB4N0YsMHhFRiwweEZGLCAweERCLDB4RkYsMHhGRiwweEUyLDB4RjgsMHhCRSwweDJGLDB4OEYsCi0weEU3LDB4RjgsMHhCRSwweDZCLDB4RTIsMHhGOCwweEJFLDB4MkYsIDB4OEIsMHhFMiwweEY5LDB4RkUsMHg3RiwweEU3LDB4RkYsMHhENywKLTB4RjUsMHhGRCwweDdGLDB4RkYsMHhGNywweEY1LDB4RkQsMHg3RiwgMHhENywweEY1LDB4RkQsMHg3RiwweDVGLDB4RDcsMHhGNSwweEZGLAotMHhGRiwweEZGLDB4OEYsMHhGRiwweEFGLDB4RUIsMHhGQSwweEZGLCAweEZGLDB4QkYsMHhFQiwweEZBLDB4RkYsMHgyRiwweEVCLDB4RkEsCi0weEZFLDB4QkYsMHhBRiwweEVCLDB4RkYsMHhGRiwweEZFLDB4NUYsIDB4RkYsMHg1RiwweEZGLDB4RkYsMHhGRCwweEZGLDB4RkYsMHhENywKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkUsMHhCNywweEZELAotMHhGRiwweDdFLDB4REYsMHhGNywweEFELDB4RkYsMHg3RiwweEY3LCAweEZELDB4RkYsMHg3RiwweERGLDB4RjcsMHhGRCwweEZGLDB4N0YsCi0weEY2LDB4N0YsMHhGRiwweEZGLDB4RkYsMHhEQiwweEY2LDB4RkMsIDB4QUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY3LDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVDLDB4QkYsMHhGRiwgMHhBRiwweEVCLDB4RkEsMHhGNiwweEFCLDB4OEYsMHhFQiwweEZBLAotMHhGNywweEE1LDB4RUIsMHhGQSwweEJFLDB4QkYsMHhBRiwweEVCLCAweEZBLDB4RkYsMHg2RCwweEZGLDB4RkYsMHg3RiwweERGLDB4MzMsCi0weERELDB4RkYsMHg3RiwweEZFLDB4RjcsMHhGQywweDdGLDB4RkIsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhBOSwKLTB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRSwweEZGLDB4RkYsMHhERiwgMHhGRiwweEZGLDB4RUYsMHhFRiwweEZELDB4RkYsMHg3RiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRSwweEE3LDB4RkYsMHhGRiwweEZGLCAweDc3LDB4REYsMHhGNywweEZELDB4OUYsMHg3RiwweEZFLDB4NzcsCi0weEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhBRiwweEJGLDB4QUYsMHhGRiwweEY5LDB4QkUsMHhCRiwKLTB4OEYsMHhGQiwweEZFLDB4RkUsMHhFRiwweEZCLDB4RkUsMHhGRiwgMHhCRiwweEVGLDB4RkIsMHhGRiwweEZGLDB4RkQsMHhERiwweDZGLAotMHhFRiwweEZGLDB4N0YsMHhGRiwweEJGLDB4QkYsMHhERiwweEZGLCAweEZDLDB4RkYsMHhERiwweEY3LDB4RkQsMHhFRiwweDdGLDB4REYsCi0weEZGLDB4RkYsMHhGRiwweDNGLDB4RjYsMHhGRiwweENGLDB4RkYsIDB4REIsMHhGQiwweEY3LDB4RkYsMHhFQiwweDdBLDB4RkYsMHhGRiwKLTB4RkYsMHhCRiwweEVGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhGRSwgMHg2RCwweEZELDB4RkYsMHg1RiwweEZCLDB4RkYsMHhGRiwweEY3LAotMHhGRiwweDVGLDB4RjUsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RjgsMHhGRiwweEZCLDB4RkYsCi0weEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEU3LDB4RjYsIDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RkYsMHhGRiwKLTB4RkYsMHhDOSwweEZGLDB4RkYsMHhGRiwweEJELDB4RkYsMHhCRiwgMHhBRiwweEVGLDB4RUYsMHgzRiwweEQxLDB4RkMsMHg3RiwweEZCLAotMHhDNywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhFMywweEZGLCAweEZGLDB4RkYsMHhGRiwweEZELDB4RkYsMHhGRiwweDc3LDB4RkYsCi0weERGLDB4QjcsMHhGRCwweEY3LDB4RkQsMHhGNywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4NTcsMHhGRiwweEY3LDB4QTUsMHhGRCwKLTB4M0YsMHhERiwweEJGLDB4QkYsMHhGRSwweDdGLDB4RkYsMHhGRiwgMHhGRiwweERGLDB4RkEsMHhGRCwweEZGLDB4RkYsMHhGRiwweEZFLAotMHg4NywweEZGLDB4RTksMHhGRiwweEZFLDB4RUYsMHhCRiwweEVGLCAweEZFLDB4RkUsMHhGRiwweEVGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkEsMHg5RiwweEZGLDB4M0YsIDB4RkYsMHhGRCwweEZELDB4NTcsMHhERiwweEZELDB4RjMsMHhGRiwKLTB4REYsMHhGRCwweEZGLDB4NUYsMHhERiwweEY1LDB4RkQsMHhGRiwgMHhGRiwweEY5LDB4OEYsMHhGRiwweEZGLDB4RkYsMHhFRSwweDdGLAotMHhGRiwweEZGLDB4QkYsMHg1RSwweEZFLDB4RUMsMHhGQiwweDNGLCAweDdGLDB4OUYsMHhFRiwweEY5LDB4RkYsMHhGRiwweENELDB4NkIsCi0weEZGLDB4RkYsMHhGRiwweEM1LDB4RjMsMHhGQywweEZBLDB4MzgsIDB4RkYsMHhBRiwweDNGLDB4RUUsMHg3RiwweDlGLDB4RkYsMHhEOSwKLTB4RkYsMHhGRiwweEZELDB4N0EsMHhGNywweEZGLDB4RjMsMHhGRiwgMHhBRiwweDZGLDB4REIsMHhGMiwweEI5LDB4RTksMHhGQiwweEZGLAotMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZCLCAweEM1LDB4QkYsMHhGRiwweEVGLDB4RkYsMHg1RSwweEI3LDB4QUQsCi0weENELDB4NzksMHg3QywweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweDkzLDB4RkYsMHhFRiwKLTB4RUEsMHhGRSwweEJGLDB4RUYsMHg1QiwweEQyLDB4Q0QsMHhGNSwgMHg2RCwweDc3LDB4REYsMHhGNywweEZELDB4RkYsMHg3RiwweERGLAotMHhGRiwweEZGLDB4NjYsMHhGRiwweEQ1LDB4NjUsMHg3RCwweDVGLCAweDc1LDB4OUQsMHg2NSwweDdGLDB4RDYsMHhGQiwweDRGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEY2LDB4QzcsIDB4RkYsMHhCRiwweEVGLDB4RkEsMHhGRSwweEZGLDB4QkYsMHhFQiwKLTB4RkYsMHhERiwweEZGLDB4N0UsMHhGRiwweEZGLDB4RUYsMHhGRCwgMHg3RSwweEQ3LDB4RkYsMHg3OCwweERGLDB4RkYsMHg1RiwweERGLAotMHhGNSwweEJGLDB4N0YsMHhERiwweEM1LDB4RkYsMHgzRiwweEY2LCAweDdFLDB4RkYsMHgwRiwweEVGLDB4RjIsMHgzRSwweEJGLDB4RkYsCi0weEZCLDB4M0YsMHhGRiwweEZCLDB4N0YsMHhGRiwweEIzLDB4RkUsIDB4RkIsMHhGNiwweEZELDB4RkYsMHhEQSwweEY3LDB4RkQsMHhGRiwKLTB4N0YsMHhERiwweEY3LDB4QkYsMHhGRiwweEZBLDB4N0YsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHg5RiwweEZGLDB4RjMsMHhEQywweEY5LAotMHhCRiwweENFLDB4RTcsMHhGOSwweEZFLDB4N0YsMHg5RiwweEU3LCAweEZGLDB4RkYsMHhFMiwweDdGLDB4RkUsMHhGRiwweEJGLDB4RUYsCi0weEVCLDB4RkEsMHhGRiwweDlGLDB4NjcsMHgxRSwweEZGLDB4OEYsIDB4RTcsMHhGOCwweEZFLDB4N0YsMHg4RiwweEVGLDB4RkYsMHhCRCwKLTB4QkYsMHhGRiwweEZCLDB4RkYsMHhGRiwweERGLDB4RjcsMHhGRiwgMHhGQywweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RkYsMHhGRCwweEIzLDB4RkYsMHhGRiwweEVGLCAweEZGLDB4RkYsMHhCRiwweEVELDB4RkYsMHhGQiwweEVFLDB4RkUsCi0weEZGLDB4RkYsMHhFRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhCNSwweEZGLDB4QjcsMHhGRCwweEZELDB4NkUsMHhGRiwKLTB4RkYsMHhGRSwweEZELDB4MkYsMHhEOCwweEZFLDB4QkYsMHg4RiwgMHhFQiwweEY5LDB4RkUsMHgzRiwweEZGLDB4RkEsMHhDRiwweEZGLAotMHhFNywweEQ5LDB4RkEsMHhCRiwweERGLDB4NzcsMHhGQywweEZCLCAweDNGLDB4QUIsMHhGRSwweEZGLDB4QkYsMHhFRiwweEZCLDB4RkUsCi0weEZGLDB4RkYsMHhFRSwweDFGLDB4RkYsMHhERiwweEY3LDB4RkYsIDB4RkYsMHhGRiwweDVGLDB4OTcsMHgzNSwweEJGLDB4NUUsMHhGRSwKLTB4QkYsMHhFRiwweEZGLDB4RjcsMHhGRCwweEZGLDB4RkYsMHhGQSwgMHhCRiwweEZGLDB4QkUsMHg2RiwweDlGLDB4RTcsMHhGOCwweEJFLAotMHgyRiwweDhCLDB4NjYsMHg5NCwweDdELDB4OUQsMHhFNywweEY5LCAweEZFLDB4N0YsMHg5RiwweEU3LDB4RjEsMHg3RiwweEZGLDB4RkYsCi0weEZGLDB4RjcsMHhGNSwweEZELDB4N0YsMHg1RiwweEZCLDB4RkQsIDB4OUUsMHhGRiwweEZCLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhGRiwKLTB4RkYsMHhBMCwweEZGLDB4RkYsMHhGRiwweEJGLDB4RUYsMHhFQiwgMHhGQSwweEZFLDB4QkYsMHhCNywweEY3LDB4RjcsMHhGRiwweEZGLAotMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhERCwweEZGLCAweEZELDB4RkYsMHhGRiwweEZGLDB4RDcsMHhGRiwweEZGLDB4RkYsCi0weDdGLDB4RjUsMHhGRiwweEZGLDB4RUYsMHhGRiwweEZGLDB4RkYsIDB4QkYsMHhGRiwweEZGLDB4QUIsMHhGRSwweEZCLDB4RkUsMHhGRiwKLTB4RjcsMHhBRiwweEZGLDB4RkYsMHhERSwweEY3LDB4RUIsMHg1RiwgMHhERiwweEY3LDB4RkQsMHhGRiwweDdGLDB4REYsMHhGRiwweEZGLAotMHhCMywweEZGLDB4QzksMHhGRSwweEZGLDB4RkYsMHhGRiwweEZGLCAweEQ2LDB4RkYsMHhGRiwweENCLDB4RkYsMHhGRiwweERGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHg4RiwweEZGLDB4QkEsIDB4QkUsMHhCRiwweEFGLDB4RUIsMHg3OCwweEZFLDB4QjcsMHhBRCwKLTB4M0EsMHhGRSwweEI3LDB4QUYsMHhFQiwweDdBLDB4RkUsMHhCRiwgMHhBRiwweEZGLDB4OUYsMHhGRiwweEZGLDB4REYsMHhGQywweEZGLAotMHhGRiwweEZFLDB4QzMsMHhGRSwweEZGLDB4RkYsMHgzMywweEZDLCAweEZGLDB4QkYsMHhERiwweEYzLDB4RkYsMHhGRiwweEJCLDB4OUYsCi0weEZGLDB4RkYsMHhGRiwweEVCLDB4REYsMHhGRiwweEZGLDB4QUYsIDB4RjcsMHg2RiwweEY5LDB4QkYsMHhFRiwweEZELDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RTMsMHg3RiwweEZGLDB4RkYsMHhGRiwgMHhGQiwweEZGLDB4RkYsMHhCRiwweEZELDB4RkIsMHhGNywweEZGLAotMHhERiwweEY3LDB4RkYsMHhGRSwweEVGLDB4NUYsMHhCRCwweEZGLCAweEZBLDB4RkYsMHhGOCwweEZGLDB4QkYsMHhBRiwweEZCLDB4RkUsCi0weEZFLDB4M0YsMHhFRiwweEU4LDB4RkYsMHhERiwweEYzLDB4RkQsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEVELDB4RkYsMHhGQiwKLTB4RkQsMHhGRiwweEFGLDB4RkYsMHhGRiwweEZFLDB4RkUsMHhCRiwgMHhEQiwweEZGLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhERiwweEZGLAotMHhGRCwweEZGLDB4Q0IsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEJGLDB4NkYsMHhGRiwweDdGLDB4QjcsMHhCMywweEZGLDB4RkYsCi0weERGLDB4RkYsMHhGQiwweEVGLDB4RkYsMHhGRiwweEZGLDB4MDcsIDB4RkYsMHhGQiwweEZGLDB4RkYsMHhGRiwweEVELDB4RkYsMHhGNSwKLTB4N0MsMHhGRiwweDdGLDB4RkUsMHhGRiwweEZGLDB4RUYsMHhDRiwgMHhGRiwweEZCLDB4RkYsMHhGRiwweDJGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEYzLDB4RkYsMHhGQiwweEZGLDB4RkUsMHhGRiwweEZGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsCi0weEZELDB4MUIsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZFLDB4N0MsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RUYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZCLDB4QkYsMHg3RiwgMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhEQiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELCAweEZGLDB4RkYsMHhGMCwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGQiwweEZGLDB4REYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZELDB4QkYsMHhGRSwKLTB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEVGLDB4RkUsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RUYsMHhGQSwweEI1LDB4RkYsMHhGRiwweEZGLCAweEY3LDB4RjcsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLDB4RkIsCi0weEZDLDB4RkYsMHhGRiwweEZFLDB4RkYsMHg3RiwweERGLDB4QkYsIDB4RkYsMHhDQiwweEJGLDB4RjksMHhGRSwweDdGLDB4OUYsMHhFNywKLTB4RjksMHhGRSwweDdGLDB4OTcsMHhFMSwweEZFLDB4NzksMHg5RiwgMHhFNywweEZELDB4RkUsMHg3RiwweERGLDB4RkUsMHgzNywweEZGLAotMHhGQiwweERFLDB4REUsMHhCRCwweEVGLDB4RjMsMHhGRSwweEZCLCAweEFGLDB4RUIsMHhGRSwweEZGLDB4RkYsMHhDRiwweEZGLDB4RkUsCi0weEZGLDB4QkYsMHhGRiwweDhGLDB4RkYsMHhFRiwweEZCLDB4RkUsIDB4RkYsMHhCRiwweEU3LDB4RjksMHg1RSwweDdGLDB4RUYsMHhGQiwKLTB4REEsMHhGRiwweEJGLDB4RUYsMHhGQiwweEZFLDB4RkYsMHhGRCwgMHgxRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweERGLAotMHhGRiwweEZGLDB4N0YsMHhGRiwweEZGLDB4RjcsMHhGQiwweDdGLCAweEZGLDB4RkYsMHhGRiwweEZGLDB4RkMsMHgzRiwweEZGLDB4QkYsCi0weEVGLDB4RkIsMHhGRSwweEZGLDB4QkYsMHhFRiwweDdCLDB4N0YsIDB4QkYsMHhFRiwweEZCLDB4RkUsMHhGRiwweEI1LDB4RUYsMHhGQiwKLTB4QkYsMHhGQSwweDdGLDB4RkMsMHhGRiwweDNGLDB4Q0YsMHhGMywgMHhGQywweEZGLDB4M0YsMHhDRiwweEJDLDB4RkYsMHgzRiwweEVGLAotMHhGMywweEZDLDB4RkUsMHgzRiwweENGLDB4RkYsMHhFRSwweEVGLCAweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGQiwweDZBLDB4RDcsCi0weEI3LDB4RkIsMHhGOCwweEZGLDB4QjcsMHhFRiwweEJBLDB4RkUsIDB4RkYsMHhCRiwweDdGLDB4RTksMHhGRiwweEY5LDB4N0UsMHg1RiwKLTB4OTcsMHhFNSwweEY5LDB4RkUsMHg3RiwweEJGLDB4RjksMHg3RSwgMHg1RiwweDlGLDB4RTUsMHhGQiwweEZFLDB4NUYsMHhCNywweEZGLAotMHhBMywweEZGLDB4RjcsMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LCAweEZELDB4RkYsMHg1RSwweEY3LDB4N0QsMHhGRiwweDc3LDB4REYsCi0weEY3LDB4RkQsMHhGRiwweDdGLDB4RkYsMHhENywweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRCwweERGLDB4RkIsMHg3RiwKLTB4RkYsMHhGRiwweEVGLDB4RkYsMHhGRSwweEZCLDB4RkYsMHhGRiwgMHhCRiwweEZFLDB4OEYsMHhGRiwweERGLDB4RjcsMHhGRCwweEZELAotMHg3RiwweERGLDB4RjcsMHhGRCwweDNFLDB4REYsMHhGNSwweEJELCAweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGNywweEZGLDB4OUYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4QkUsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkQsMHgzRiwweEZGLDB4REYsMHhGNywgMHhGRCwweEZGLDB4N0YsMHhERiwweEY3LDB4RkQsMHhGRiwweENGLAotMHg3NywweEZDLDB4RkYsMHg1RiwweERGLDB4RjcsMHhGRCwweEZGLCAweEY0LDB4N0YsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRCwweEZGLDB4RkYsMHhGRiwweEVFLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwgMHhFRCwweEZCLDB4RkYsMHhGRiwweEJGLDB4RkYsMHhGRiwweEZGLAotMHhGRiwweEZGLDB4RTksMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweEZGLDB4RkIsMHhGRiwweEZGLDB4RkYsMHhEMywweEZGLDB4RkYsCi0weEJGLDB4M0YsMHhGQiwweEZGLDB4RkYsMHhGRiwweEZCLDB4RjMsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZFLDB4RkYsMHhGNywgMHhGRiwweEZGLDB4RkYsMHhGRiwweDE3LDB4RkYsMHhGRiwweEZGLAotMHhERiwweEZGLDB4RkQsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLCAweERGLDB4REYsMHhGRiwweEZELDB4RkYsMHhGRiwweERGLDB4RjcsCi0weEZGLDB4NEYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkUsMHhGRiwweEZGLDB4RkYsMHhGRCwKLTB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRSwweEZGLDB4OUYsMHhGRiwgMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLAotMHhGRCwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHg3RiwweEZGLCAweEZGLDB4RkYsMHg3QSwweDNGLDB4RkYsMHhGRiwweEZGLDB4RkYsCi0weEZGLDB4RkYsMHhGRiwweDdGLDB4RkYsMHhGRiwweEZGLDB4RkYsIDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGRiwweEZGLDB4RkYsMHhGMiwKLTB4N0YsMHhGRiwweEZCLDB4RkUsMHhGRiwweEJGLDB4RUYsMHhGOCwgMHhGRSwweEZGLDB4QkYsMHhGQiwweEZFLDB4RkYsMHg4RiwweEVDLAotMHhGQiwweEZFLDB4RkYsMHhCRiwweEY4LDB4RjcsMHhGRSwweEZGLCAweEJGLDB4RUYsMHhGQiwweEZFLDB4RkQsMHhCRiwweENGLDB4RUMsCi0weEZGLDB4M0YsMHhFRiwweERCLDB4RjgsMHhGRiwweEJGLDB4Q0YsIDB4RkYsMHhGOSwweEZGLDB4RkYsMHhCRiwweEZGLDB4RkIsMHhGRiwKLTB4RkYsMHhGRiwweEVGLDB4RkIsMHhERiwweEZGLDB4RkYsMHhGRiwgMHhGRiwweEZGLDB4QkYsMHhGRiwweEZGLDB4RkYsMHhCQiwweEZGLAotMHhFRiwweEZCLDB4RkUsMHhFRiwweEJGLDB4RUUsMHhFQiwweEZCLCAweEZFLDB4RkYsMHhFRiwweEZFLDB4RUUsMHhCRiwweEZFLDB4RUIsCi0weEZGLDB4RUYsMHhGRiwweDE3LDB4RkYsMHg3RSwweEVCLDB4QkIsIDB4RkUsMHhCRiwweEJFLDB4RkIsMHhFRiwweDVCLDB4RjcsMHhCRCwKLTB4RkIsMHhDRiwweEJGLDB4QkYsMHhCQiwweEZCLDB4N0UsMHhDQywgMHhFRiwweEZGCi0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jIGIvZHJpdmVycy9tZWRpYS92aWRlby9kYWJ1c2IuYwppbmRleCA4ZDFmOGVlLi40OGY0YjkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL21lZGlhL3ZpZGVvL2RhYnVzYi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vZGFidXNiLmMKQEAgLTM4LDkgKzM4LDEwIEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAjaW5jbHVkZSAiZGFidXNiLmgiCi0jaW5jbHVkZSAiZGFiZmlybXdhcmUuaCIKIAogLyoKICAqIFZlcnNpb24gSW5mb3JtYXRpb24KQEAgLTI5Nyw3ICsyOTgsOCBAQAogCXJldHVybiByZXQ7CiB9CiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLXN0YXRpYyBpbnQgZGFidXNiX3dyaXRlbWVtIChwZGFidXNiX3QgcywgaW50IHBvcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbikKK3N0YXRpYyBpbnQgZGFidXNiX3dyaXRlbWVtIChwZGFidXNiX3QgcywgaW50IHBvcywgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwKKwkJCSAgICBpbnQgbGVuKQogewogCWludCByZXQ7CiAJdW5zaWduZWQgY2hhciAqdHJhbnNmZXJfYnVmZmVyID0gIGttYWxsb2MgKGxlbiwgR0ZQX0tFUk5FTCk7CkBAIC0zMjQsMjQgKzMyNiwzNSBAQAogc3RhdGljIGludCBkYWJ1c2JfbG9hZG1lbSAocGRhYnVzYl90IHMsIGNvbnN0IGNoYXIgKmZuYW1lKQogewogCWludCByZXQ7Ci0JUElOVEVMX0hFWF9SRUNPUkQgcHRyID0gZmlybXdhcmU7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAogCWRiZygiRW50ZXIgZGFidXNiX2xvYWRtZW0gKGludGVybmFsKSIpOwogCisJcmV0ID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgImRhYnVzYi9maXJtd2FyZS5mdyIsICZzLT51c2JkZXYtPmRldik7CisJaWYgKHJldCkgeworCQllcnIoIkZhaWxlZCB0byBsb2FkIFwiZGFidXNiL2Zpcm13YXJlLmZ3XCI6ICVkXG4iLCByZXQpOworCQlnb3RvIG91dDsKKwl9CiAJcmV0ID0gZGFidXNiXzgwNTFfcmVzZXQgKHMsIDEpOwotCXdoaWxlIChwdHItPlR5cGUgPT0gMCkgewogCi0JCWRiZygiZGFidXNiX3dyaXRlbWVtOiAlMDRYICVwICVkKSIsIHB0ci0+QWRkcmVzcywgcHRyLT5EYXRhLCBwdHItPkxlbmd0aCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7IHJlYzsKKwkgICAgIHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlkYmcoImRhYnVzYl93cml0ZW1lbTogJTA0WCAlcCAlZCkiLCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkgICAgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCi0JCXJldCA9IGRhYnVzYl93cml0ZW1lbSAocywgcHRyLT5BZGRyZXNzLCBwdHItPkRhdGEsIHB0ci0+TGVuZ3RoKTsKKwkJcmV0ID0gZGFidXNiX3dyaXRlbWVtKHMsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksIHJlYy0+ZGF0YSwKKwkJCQkgICAgICAgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAkJaWYgKHJldCA8IDApIHsKLQkJCWVycigiZGFidXNiX3dyaXRlbWVtIGZhaWxlZCAoJWQgJTA0WCAlcCAlZCkiLCByZXQsIHB0ci0+QWRkcmVzcywgcHRyLT5EYXRhLCBwdHItPkxlbmd0aCk7CisJCQllcnIoImRhYnVzYl93cml0ZW1lbSBmYWlsZWQgKCVkICUwNFggJXAgJWQpIiwgcmV0LAorCQkJICAgIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksIHJlYy0+ZGF0YSwKKwkJCSAgICBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KLQkJcHRyKys7CiAJfQogCXJldCA9IGRhYnVzYl84MDUxX3Jlc2V0IChzLCAwKTsKLQorCXJlbGVhc2VfZmlybXdhcmUoZncpOworIG91dDoKIAlkYmcoImRhYnVzYl9sb2FkbWVtOiBleGl0Iik7CiAKIAlyZXR1cm4gcmV0OwpAQCAtMzc2LDkgKzM4OSw5IEBACiBzdGF0aWMgaW50IGRhYnVzYl9mcGdhX2Rvd25sb2FkIChwZGFidXNiX3QgcywgY29uc3QgY2hhciAqZm5hbWUpCiB7CiAJcGJ1bGtfdHJhbnNmZXJfdCBiID0ga21hbGxvYyAoc2l6ZW9mIChidWxrX3RyYW5zZmVyX3QpLCBHRlBfS0VSTkVMKTsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCXVuc2lnbmVkIGludCBibGVuLCBuOwogCWludCByZXQ7Ci0JdW5zaWduZWQgY2hhciAqYnVmID0gYml0c3RyZWFtOwogCiAJZGJnKCJFbnRlciBkYWJ1c2JfZnBnYV9kb3dubG9hZCAoaW50ZXJuYWwpIik7CiAKQEAgLTM4NywxMCArNDAwLDE2IEBACiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAorCXJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCAiZGFidXNiL2JpdHN0cmVhbS5iaW4iLCAmcy0+dXNiZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJZXJyKCJGYWlsZWQgdG8gbG9hZCBcImRhYnVzYi9iaXRzdHJlYW0uYmluXCI6ICVkXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWItPnBpcGUgPSAxOwogCXJldCA9IGRhYnVzYl9mcGdhX2NsZWFyIChzLCBiKTsKIAltZGVsYXkgKDEwKTsKLQlibGVuID0gYnVmWzczXSArIChidWZbNzJdIDw8IDgpOworCWJsZW4gPSBmdy0+ZGF0YVs3M10gKyAoZnctPmRhdGFbNzJdIDw8IDgpOwogCiAJZGJnKCJCaXRzdHJlYW0gbGVuOiAlaSIsIGJsZW4pOwogCkBAIC00MDIsNyArNDIxLDcgQEAKIAlmb3IgKG4gPSAwOyBuIDw9IGJsZW4gKyA2MDsgbiArPSA2MCkgewogCQkvLyBzb21lIGNjbGtzIGZvciBzdGFydHVwCiAJCWItPnNpemUgPSA2NDsKLQkJbWVtY3B5IChiLT5kYXRhICsgNCwgYnVmICsgNzQgKyBuLCA2MCk7CisJCW1lbWNweSAoYi0+ZGF0YSArIDQsIGZ3LT5kYXRhICsgNzQgKyBuLCA2MCk7CiAJCXJldCA9IGRhYnVzYl9idWxrIChzLCBiKTsKIAkJaWYgKHJldCA8IDApIHsKIAkJCWVycigiZGFidXNiX2J1bGsgZmFpbGVkLiIpOwpAQCAtNDEzLDYgKzQzMiw3IEBACiAKIAlyZXQgPSBkYWJ1c2JfZnBnYV9pbml0IChzLCBiKTsKIAlrZnJlZSAoYik7CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAKIAlkYmcoImV4aXQgZGFidXNiX2ZwZ2FfZG93bmxvYWQiKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby9vdjc2NzAuYyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vb3Y3NjcwLmMKaW5kZXggMmJjNmJkYy4uZDdiZmQzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby9vdjc2NzAuYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL292NzY3MC5jCkBAIC00MDYsOCArNDA2LDEwIEBACiAJaW50IHJldDsKIAogCXJldCA9IGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShjLCByZWcpOwotCWlmIChyZXQgPj0gMCkKKwlpZiAocmV0ID49IDApIHsKIAkJKnZhbHVlID0gKHVuc2lnbmVkIGNoYXIpIHJldDsKKwkJcmV0ID0gMDsKKwl9CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jIGIvZHJpdmVycy9tZWRpYS92aWRlby91c2J2aWRlby92aWNhbS5jCmluZGV4IDE3ZjU0MmQuLjQwZDA1M2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvdmlkZW8vdXNidmlkZW8vdmljYW0uYworKysgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3VzYnZpZGVvL3ZpY2FtLmMKQEAgLTQzLDYgKzQzLDggQEAKICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSAidXNidmlkZW8uaCIKIAogLy8gI2RlZmluZSBWSUNBTV9ERUJVRwpAQCAtNzAsMjg0ICs3Miw2IEBACiAKICNkZWZpbmUgVklDQU1fSEVBREVSX1NJWkUgICAgICAgNjQKIAotLyogTm90IHN1cmUgd2hhdCBhbGwgdGhlIGJ5dGVzIGluIHRoZXNlIGNoYXIKLSAqIGFycmF5cyBkbywgYnV0IHRoZXkncmUgbmVjZXNzYXJ5IHRvIG1ha2UKLSAqIHRoZSBjYW1lcmEgd29yay4KLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzZXR1cDFbXSA9IHsKLQkweEI2LCAweEMzLCAweDFGLCAweDAwLCAweDAyLCAweDY0LCAweEU3LCAweDY3LAotCTB4RkQsIDB4RkYsIDB4MEUsIDB4QzAsIDB4RTcsIDB4MDksIDB4REUsIDB4MDAsCi0JMHg4RSwgMHgwMCwgMHhDMCwgMHgwOSwgMHg0MCwgMHgwMywgMHhDMCwgMHgxNywKLQkweDQ0LCAweDAzLCAweDRCLCAweEFGLCAweEMwLCAweDA3LCAweDAwLCAweDAwLAotCTB4NEIsIDB4QUYsIDB4OTcsIDB4Q0YsIDB4MDAsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwMltdID0gewotCTB4QjYsIDB4QzMsIDB4MDMsIDB4MDAsIDB4MDMsIDB4NjQsIDB4MTgsIDB4MDAsCi0JMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXAzW10gPSB7Ci0JMHhCNiwgMHhDMywgMHgwMSwgMHgwMCwgMHgwNiwgMHg2NCwgMHgwMCwgMHgwMAotfTsKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc2V0dXA0W10gPSB7Ci0JMHhCNiwgMHhDMywgMHg4RiwgMHgwNiwgMHgwMiwgMHg2NCwgMHhFNywgMHgwNywKLQkweDAwLCAweDAwLCAweDA4LCAweEMwLCAweEU3LCAweDA3LCAweDAwLCAweDAwLAotCTB4M0UsIDB4QzAsIDB4RTcsIDB4MDcsIDB4NTQsIDB4MDEsIDB4QUEsIDB4MDAsCi0JMHhFNywgMHgwNywgMHhDOCwgMHgwNSwgMHhCNiwgMHgwMCwgMHhFNywgMHgwNywKLQkweDQyLCAweDAxLCAweEQyLCAweDAwLCAweEU3LCAweDA3LCAweDdDLCAweDAwLAotCTB4MTYsIDB4MDAsIDB4RTcsIDB4MDcsIDB4NTYsIDB4MDAsIDB4MTgsIDB4MDAsCi0JMHhFNywgMHgwNywgMHgwNiwgMHgwMCwgMHg5MiwgMHhDMCwgMHhFNywgMHgwNywKLQkweDAwLCAweDAwLCAweDFFLCAweEMwLCAweEU3LCAweDA3LCAweEZGLCAweEZGLAotCTB4MjIsIDB4QzAsIDB4RTcsIDB4MDcsIDB4MDQsIDB4MDAsIDB4MjQsIDB4QzAsCi0JMHhFNywgMHgwNywgMHhFQywgMHgyNywgMHgyOCwgMHhDMCwgMHhFNywgMHgwNywKLQkweDE2LCAweDAxLCAweDhFLCAweDAwLCAweEU3LCAweDg3LCAweDAxLCAweDAwLAotCTB4MEUsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4RDcsIDB4MDksIDB4MDAsIDB4QzAsCi0JMHhFNywgMHg3NywgMHgwMSwgMHgwMCwgMHg5MiwgMHhDMCwgMHgwOSwgMHhDMSwKLQkweEU3LCAweDA5LCAweEZFLCAweDA1LCAweDI0LCAweDAxLCAweEU3LCAweDA5LAotCTB4MDQsIDB4MDYsIDB4MjYsIDB4MDEsIDB4RTcsIDB4MDcsIDB4MDcsIDB4MDAsCi0JMHg5MiwgMHhDMCwgMHhFNywgMHgwNSwgMHgwMCwgMHhDMCwgMHhDMCwgMHhERiwKLQkweDk3LCAweENGLCAweDE3LCAweDAwLCAweDU3LCAweDAwLCAweDE3LCAweDAyLAotCTB4RDcsIDB4MDksIDB4MDAsIDB4QzAsIDB4RTcsIDB4NzcsIDB4MDEsIDB4MDAsCi0JMHg5MiwgMHhDMCwgMHgwQSwgMHhDMSwgMHhFNywgMHg1NywgMHhGRiwgMHhGRiwKLQkweEZBLCAweDA1LCAweDBELCAweEMwLCAweEU3LCAweDU3LCAweDAwLCAweDAwLAotCTB4RkEsIDB4MDUsIDB4MEYsIDB4QzAsIDB4OUYsIDB4QUYsIDB4QzYsIDB4MDAsCi0JMHhFNywgMHgwNSwgMHgwMCwgMHhDMCwgMHhDOCwgMHgwNSwgMHhDMSwgMHgwNSwKLQkweEMwLCAweDA1LCAweEMwLCAweERGLCAweDk3LCAweENGLCAweDI3LCAweERBLAotCTB4RkEsIDB4MDUsIDB4RUYsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MEIsIDB4MDYsCi0JMHg3MywgMHhDRiwgMHg5RiwgMHhBRiwgMHg3OCwgMHgwMSwgMHg5RiwgMHhBRiwKLQkweDFBLCAweDAzLCAweDZFLCAweENGLCAweEU3LCAweDA5LCAweEZDLCAweDA1LAotCTB4MjQsIDB4MDEsIDB4RTcsIDB4MDksIDB4MDIsIDB4MDYsIDB4MjYsIDB4MDEsCi0JMHhFNywgMHgwNywgMHgwNywgMHgwMCwgMHg5MiwgMHhDMCwgMHhFNywgMHgwOSwKLQkweEZDLCAweDA1LCAweEZFLCAweDA1LCAweEU3LCAweDA5LCAweDAyLCAweDA2LAotCTB4MDQsIDB4MDYsIDB4RTcsIDB4MDksIDB4MDAsIDB4MDYsIDB4RkMsIDB4MDUsCi0JMHhFNywgMHgwOSwgMHhGRSwgMHgwNSwgMHgwMCwgMHgwNiwgMHgyNywgMHhEQSwKLQkweEZBLCAweDA1LCAweEU3LCAweDU3LCAweDAxLCAweDAwLCAweEZBLCAweDA1LAotCTB4MDIsIDB4Q0EsIDB4MDQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4OUYsIDB4QUYsCi0JMHg2NiwgMHgwNSwgMHg5NywgMHhDRiwgMHhFNywgMHgwNywgMHg0MCwgMHgwMCwKLQkweDAyLCAweDA2LCAweEM4LCAweDA5LCAweEZDLCAweDA1LCAweDlGLCAweEFGLAotCTB4REEsIDB4MDIsIDB4OTcsIDB4Q0YsIDB4Q0YsIDB4MTcsIDB4MDIsIDB4MDAsCi0JMHhFRiwgMHg1NywgMHg4MSwgMHgwMCwgMHgwOSwgMHgwNiwgMHg5RiwgMHhBMCwKLQkweEI2LCAweDAxLCAweEVGLCAweDU3LCAweDgwLCAweDAwLCAweDA5LCAweDA2LAotCTB4OUYsIDB4QTAsIDB4NDAsIDB4MDIsIDB4RUYsIDB4NTcsIDB4MDEsIDB4MDAsCi0JMHgwQiwgMHgwNiwgMHg5RiwgMHhBMCwgMHg0NiwgMHgwMywgMHhFNywgMHgwNywKLQkweDAxLCAweDAwLCAweDBBLCAweEMwLCAweDQ2LCAweEFGLCAweDQ3LCAweEFGLAotCTB4OUYsIDB4QUYsIDB4NDAsIDB4MDIsIDB4RTcsIDB4MDcsIDB4MkUsIDB4MDAsCi0JMHgwQSwgMHhDMCwgMHhFRiwgMHg4NywgMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwKLQkweDk3LCAweENGLCAweDAwLCAweDBFLCAweDAxLCAweDAwLCAweEMwLCAweDU3LAotCTB4NTEsIDB4MDAsIDB4OUYsIDB4QzAsIDB4OUUsIDB4MDIsIDB4QzAsIDB4NTcsCi0JMHg1MCwgMHgwMCwgMHgyMCwgMHhDMCwgMHhDMCwgMHg1NywgMHg1NSwgMHgwMCwKLQkweDEyLCAweEMwLCAweEMwLCAweDU3LCAweDU2LCAweDAwLCAweDlGLCAweEMwLAotCTB4NzIsIDB4MDIsIDB4OUYsIDB4Q0YsIDB4RDYsIDB4MDIsIDB4QzEsIDB4MEIsCi0JMHgwOCwgMHgwNiwgMHgwMSwgMHhEMCwgMHg2RiwgMHg5MCwgMHgwOCwgMHgwNiwKLQkweEMwLCAweDA3LCAweDA4LCAweDAwLCAweEMxLCAweDBCLCAweDA4LCAweDA2LAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4OTcsIDB4Q0YsIDB4MkYsIDB4MEUsCi0JMHgwMiwgMHgwMCwgMHgwOCwgMHgwNiwgMHhDMCwgMHgwNywgMHgwOCwgMHgwMCwKLQkweEMxLCAweDBCLCAweDA4LCAweDA2LCAweDlGLCAweEFGLCAweDI4LCAweDA1LAotCTB4OUYsIDB4Q0YsIDB4RDYsIDB4MDIsIDB4MkYsIDB4MEUsIDB4MDIsIDB4MDAsCi0JMHgwOSwgMHgwNiwgMHhFRiwgMHg4NywgMHg4MCwgMHgwMCwgMHgwOSwgMHgwNiwKLQkweDlGLCAweENGLCAweEQ2LCAweDAyLCAweEVGLCAweDY3LCAweDdGLCAweEZGLAotCTB4MDksIDB4MDYsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkQsIDB4MjIsIDB4QzAsCi0JMHhFNywgMHg2NywgMHhFRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywKLQkweDEwLCAweDAwLCAweDI4LCAweEMwLCAweDlGLCAweEFGLCAweEI4LCAweDA1LAotCTB4RTcsIDB4ODcsIDB4RTAsIDB4MjEsIDB4MjQsIDB4QzAsIDB4OUYsIDB4QUYsCi0JMHhBOCwgMHgwNSwgMHhFNywgMHg4NywgMHgwOCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweEU3LCAweDY3LCAweERGLCAweEZGLCAweDI0LCAweEMwLCAweEM4LCAweDA3LAotCTB4MEEsIDB4MDAsIDB4QzAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgwMSwgMHgwMCwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHg5RiwgMHhBRiwKLQkweEI4LCAweDA1LCAweEMwLCAweDA3LCAweDlFLCAweDAwLCAweDlGLCAweEFGLAotCTB4NDQsIDB4MDUsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsIDB4MjQsIDB4QzAsCi0JMHhDMCwgMHgwOSwgMHgyMCwgMHhDMCwgMHhFNywgMHg4NywgMHgwMCwgMHgwMSwKLQkweDI0LCAweEMwLCAweEMwLCAweDc3LCAweDAwLCAweDAyLCAweDBGLCAweEMxLAotCTB4RTcsIDB4NjcsIDB4RjcsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4NjcsCi0JMHhGNywgMHhGRiwgMHgyNCwgMHhDMCwgMHhFNywgMHg4NywgMHgwOCwgMHgwMCwKLQkweDI0LCAweEMwLCAweDA4LCAweERBLCAweDVFLCAweEMxLCAweEVGLCAweDA3LAotCTB4ODAsIDB4MDAsIDB4MDksIDB4MDYsIDB4OTcsIDB4Q0YsIDB4RUYsIDB4MDcsCi0JMHgwMSwgMHgwMCwgMHgwQSwgMHgwNiwgMHg5NywgMHhDRiwgMHhFRiwgMHgwNywKLQkweDAwLCAweDAwLCAweDBCLCAweDA2LCAweEVGLCAweDA3LCAweDAwLCAweDAwLAotCTB4MEEsIDB4MDYsIDB4RUYsIDB4NjcsIDB4N0YsIDB4RkYsIDB4MDksIDB4MDYsCi0JMHhFRiwgMHgwNywgMHgwMCwgMHgwMCwgMHgwRCwgMHgwNiwgMHhFNywgMHg2NywKLQkweEVGLCAweEZGLCAweDI4LCAweEMwLCAweEU3LCAweDY3LCAweDE3LCAweEQ4LAotCTB4MjQsIDB4QzAsIDB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MUUsIDB4QzAsCi0JMHhFNywgMHgwNywgMHhGRiwgMHhGRiwgMHgyMiwgMHhDMCwgMHg5NywgMHhDRiwKLQkweEM4LCAweDA3LCAweDBFLCAweDA2LCAweDlGLCAweEFGLCAweERBLCAweDAyLAotCTB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4RjIsIDB4MDUsIDB4RTcsIDB4MDcsCi0JMHgxMCwgMHgwMCwgMHhGNiwgMHgwNSwgMHhFNywgMHgwNywgMHgwRSwgMHgwNiwKLQkweEY0LCAweDA1LCAweEU3LCAweDA3LCAweEQ2LCAweDAyLCAweEY4LCAweDA1LAotCTB4QzgsIDB4MDcsIDB4RjIsIDB4MDUsIDB4QzEsIDB4MDcsIDB4MDAsIDB4ODAsCi0JMHg1MCwgMHhBRiwgMHg5NywgMHhDRiwgMHgyRiwgMHgwQywgMHgwMiwgMHgwMCwKLQkweDA3LCAweDA2LCAweDJGLCAweDBDLCAweDA0LCAweDAwLCAweDA2LCAweDA2LAotCTB4RTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4RjIsIDB4MDUsIDB4RTcsIDB4MDcsCi0JMHgxMCwgMHgwMCwgMHhGNiwgMHgwNSwgMHhFNywgMHgwNywgMHhFMiwgMHgwNSwKLQkweEY0LCAweDA1LCAweEU3LCAweDA3LCAweENFLCAweDAyLCAweEY4LCAweDA1LAotCTB4QzgsIDB4MDcsIDB4RjIsIDB4MDUsIDB4QzEsIDB4MDcsIDB4MDAsIDB4ODAsCi0JMHg1MSwgMHhBRiwgMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwgMHg2NiwgMHgwNCwKLQkweDlGLCAweEFGLCAweDFBLCAweDAzLCAweDU5LCAweEFGLCAweDk3LCAweENGLAotCTB4QzAsIDB4MDcsIDB4MEUsIDB4MDAsIDB4QzEsIDB4MEIsIDB4MEMsIDB4MDYsCi0JMHg0MSwgMHhEMSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDNDLCAweDAwLCAweDlGLCAweEFGLCAweDQ0LCAweDA1LCAweDY4LCAweDAwLAotCTB4QzAsIDB4MDcsIDB4M0IsIDB4MDAsIDB4OUYsIDB4QUYsIDB4NDQsIDB4MDUsCi0JMHg2RiwgMHgwMCwgMHgwQywgMHgwNiwgMHg2OCwgMHgwMCwgMHhFMCwgMHgwNywKLQkweDA0LCAweDAxLCAweEU4LCAweDBCLCAweDBBLCAweDA2LCAweEU4LCAweDA3LAotCTB4MDAsIDB4MDAsIDB4RTAsIDB4MDcsIDB4MDAsIDB4MDIsIDB4RTAsIDB4MDcsCi0JMHhFQywgMHgwMSwgMHhFMCwgMHgwNywgMHhGQywgMHhGRiwgMHg5NywgMHhDRiwKLQkweEU3LCAweDA3LCAweEZGLCAweEZGLCAweEZBLCAweDA1LCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MEIsIDB4MDYsIDB4RTcsIDB4MDcsIDB4MEUsIDB4MDYsCi0JMHgyNCwgMHgwMSwgMHhFNywgMHgwNywgMHgwRSwgMHgwNiwgMHhGRSwgMHgwNSwKLQkweEU3LCAweDA3LCAweDQwLCAweDAwLCAweDI2LCAweDAxLCAweEU3LCAweDA3LAotCTB4NDAsIDB4MDAsIDB4MDQsIDB4MDYsIDB4RTcsIDB4MDcsIDB4MDcsIDB4MDAsCi0JMHg5MiwgMHhDMCwgMHg5NywgMHhDRiwgMHhFRiwgMHgwNywgMHgwMiwgMHgwMCwKLQkweDBCLCAweDA2LCAweDlGLCAweEFGLCAweDc4LCAweDAxLCAweEVGLCAweDc3LAotCTB4ODAsIDB4MDAsIDB4MDcsIDB4MDYsIDB4OUYsIDB4QzAsIDB4MTQsIDB4MDQsCi0JMHhFRiwgMHg3NywgMHgwMSwgMHgwMCwgMHgwNywgMHgwNiwgMHgzNywgMHhDMCwKLQkweEVGLCAweDc3LCAweDAxLCAweDAwLCAweDBELCAweDA2LCAweDBGLCAweEMxLAotCTB4RUYsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MEQsIDB4MDYsIDB4QzAsIDB4MDcsCi0JMHgwMiwgMHgwMCwgMHhDMSwgMHgwNywgMHgzMCwgMHgwMCwgMHg5RiwgMHhBRiwKLQkweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDAxLCAweDAwLCAweEMxLCAweDA3LAotCTB4MDIsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzgsIDB4MDcsCi0JMHhGRiwgMHg0RiwgMHg5RiwgMHhBRiwgMHhBOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDM4LCAweDAwLCAweDlGLCAweEFGLCAweDQ0LCAweDA1LCAweEMxLCAweDc3LAotCTB4MDMsIDB4MDAsIDB4MDIsIDB4QzEsIDB4MDgsIDB4REEsIDB4NzUsIDB4QzEsCi0JMHhDMSwgMHg3NywgMHgwMSwgMHgwMCwgMHgwQSwgMHhDMSwgMHhDMCwgMHgwNywKLQkweDAxLCAweDAwLCAweEMxLCAweDA3LCAweDAyLCAweDAwLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4RUYsIDB4MDcsIDB4MDEsIDB4MDAsIDB4MDYsIDB4MDYsCi0JMHgyQywgMHhDRiwgMHhDMCwgMHgwNywgMHgwMSwgMHgwMCwgMHhDMSwgMHgwNywKLQkweDA0LCAweDAwLCAweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEVGLCAweDA3LAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MDYsIDB4MjIsIDB4Q0YsIDB4RUYsIDB4MDcsCi0JMHgwMCwgMHgwMCwgMHgwRCwgMHgwNiwgMHhFRiwgMHg1NywgMHgwMSwgMHgwMCwKLQkweDA2LCAweDA2LCAweDFCLCAweEMwLCAweEMwLCAweDA3LCAweDAxLCAweDAwLAotCTB4QzEsIDB4MDcsIDB4MDEsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHhDMCwgMHgwNywgMHgwMiwgMHgwMCwgMHhDMSwgMHgwNywgMHgzMCwgMHgwMCwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEM4LCAweDA3LCAweEZGLCAweDRGLAotCTB4OUYsIDB4QUYsIDB4QTgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MzgsIDB4MDAsCi0JMHg5RiwgMHhBRiwgMHg0NCwgMHgwNSwgMHhDMSwgMHg2NywgMHgwMywgMHgwMCwKLQkweEMxLCAweDU3LCAweDAzLCAweDAwLCAweDAyLCAweEMwLCAweDA4LCAweERBLAotCTB4NzMsIDB4QzEsIDB4QzAsIDB4MDcsIDB4MDIsIDB4MDAsIDB4QzEsIDB4MDcsCi0JMHgxMiwgMHgwMCwgMHhFRiwgMHg1NywgMHgwMCwgMHgwMCwgMHgwNiwgMHgwNiwKLQkweDAyLCAweEMwLCAweEMxLCAweDA3LCAweDIzLCAweDAwLCAweDlGLCAweEFGLAotCTB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MTQsIDB4MDAsIDB4QzEsIDB4MEIsCi0JMHhFQSwgMHgwNSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwgMHhDMCwgMHgwNywKLQkweDNFLCAweDAwLCAweDlGLCAweEFGLCAweDBBLCAweDA1LCAweEU3LCAweDA5LAotCTB4RTQsIDB4MDUsIDB4RkEsIDB4MDUsIDB4MjcsIDB4RDgsIDB4RkEsIDB4MDUsCi0JMHhFNywgMHgwNywgMHgwRSwgMHgwNiwgMHhGQywgMHgwNSwgMHhFNywgMHgwNywKLQkweDRFLCAweDA2LCAweDAwLCAweDA2LCAweEU3LCAweDA3LCAweDQwLCAweDAwLAotCTB4MDIsIDB4MDYsIDB4OUYsIDB4QUYsIDB4NjYsIDB4MDUsIDB4OUYsIDB4QUYsCi0JMHhDNiwgMHgwMCwgMHg5NywgMHhDRiwgMHhDMSwgMHgwQiwgMHhFMiwgMHgwNSwKLQkweDQxLCAweEQwLCAweDAxLCAweEQyLCAweEMxLCAweDE3LCAweDIzLCAweDAwLAotCTB4OUYsIDB4QUYsIDB4REMsIDB4MDQsIDB4QzAsIDB4MDcsIDB4MDQsIDB4MDAsCi0JMHhDMSwgMHgwQiwgMHhFMywgMHgwNSwgMHg5RiwgMHhBRiwgMHgyOCwgMHgwNSwKLQkweEMwLCAweDA3LCAweDA2LCAweDAwLCAweEMxLCAweDA5LCAweEU2LCAweDA1LAotCTB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsIDB4MDcsIDB4MDAsCi0JMHhDMSwgMHgwOSwgMHhFNiwgMHgwNSwgMHhDMSwgMHhEMSwgMHg5RiwgMHhBRiwKLQkweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDBCLCAweDAwLCAweEMxLCAweDA5LAotCTB4RTgsIDB4MDUsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsIDB4QzAsIDB4MDcsCi0JMHgwQywgMHgwMCwgMHhDMSwgMHgwOSwgMHhFOCwgMHgwNSwgMHhDMSwgMHhEMSwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDBELCAweDAwLAotCTB4QzEsIDB4MDcsIDB4MDksIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHhDMCwgMHgwNywgMHgwMywgMHgwMCwgMHhDMSwgMHgwNywgMHgzMiwgMHgwMCwKLQkweDlGLCAweEFGLCAweDI4LCAweDA1LCAweEMwLCAweDA3LCAweDBGLCAweDAwLAotCTB4QzEsIDB4MDcsIDB4MDAsIDB4MDAsIDB4OUYsIDB4QUYsIDB4MjgsIDB4MDUsCi0JMHg5NywgMHhDRiwgMHhFNywgMHg2NywgMHhGRiwgMHhEOSwgMHgyNCwgMHhDMCwKLQkweEM4LCAweDA3LCAweDBBLCAweDAwLCAweDQwLCAweDAwLCAweEMwLCAweDY3LAotCTB4MDAsIDB4MDIsIDB4MjcsIDB4ODAsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsCi0JMHgwMCwgMHgwNCwgMHgyNCwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGOSwKLQkweDI0LCAweEMwLCAweDAxLCAweEQyLCAweDA4LCAweERBLCAweDcyLCAweEMxLAotCTB4RTcsIDB4ODcsIDB4MDAsIDB4MjAsIDB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsCi0JMHgyNywgMHgwMCwgMHgxRSwgMHhDMCwgMHhFNywgMHg4NywgMHhGRiwgMHgwMCwKLQkweDIyLCAweEMwLCAweEU3LCAweDY3LCAweDdGLCAweEZGLCAweDI0LCAweEMwLAotCTB4RTcsIDB4ODcsIDB4ODAsIDB4MDAsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsCi0JMHg4MCwgMHgwMCwgMHgyNCwgMHhDMCwgMHg5NywgMHhDRiwgMHg5RiwgMHhBRiwKLQkweDBBLCAweDA1LCAweDY3LCAweDAwLCAweDFFLCAweEMwLCAweEU3LCAweDY3LAotCTB4QkYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsCi0JMHgyNCwgMHhDMCwgMHhFNywgMHg4NywgMHg0MCwgMHgwMCwgMHgyNCwgMHhDMCwKLQkweDk3LCAweENGLCAweDlGLCAweEFGLCAweDBBLCAweDA1LCAweEU3LCAweDY3LAotCTB4MDAsIDB4RkYsIDB4MjIsIDB4QzAsIDB4RTcsIDB4NjcsIDB4RkYsIDB4RkUsCi0JMHgyNCwgMHhDMCwgMHhFNywgMHg2NywgMHhGRiwgMHhGRSwgMHgyNCwgMHhDMCwKLQkweEMxLCAweDA5LCAweDIwLCAweEMwLCAweEU3LCAweDg3LCAweDAwLCAweDAxLAotCTB4MjQsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4QzAsIDB4MDcsIDB4NDAsIDB4MDAsCi0JMHhDOCwgMHgwOSwgMHhGQywgMHgwNSwgMHhFNywgMHg2NywgMHgwMCwgMHhGRiwKLQkweDIyLCAweEMwLCAweEU3LCAweDY3LCAweEZGLCAweEZFLCAweDI0LCAweEMwLAotCTB4RTcsIDB4NjcsIDB4QkYsIDB4RkYsIDB4MjQsIDB4QzAsIDB4RTcsIDB4NjcsCi0JMHhCRiwgMHhGRiwgMHgyNCwgMHhDMCwgMHgwMCwgMHhEQSwgMHhFOCwgMHgwOSwKLQkweDIwLCAweEMwLCAweEU3LCAweDg3LCAweDQwLCAweDAwLCAweDI0LCAweEMwLAotCTB4RTcsIDB4ODcsIDB4NDAsIDB4MDAsIDB4MjQsIDB4QzAsIDB4MDAsIDB4REEsCi0JMHhFOCwgMHgwOSwgMHgyMCwgMHhDMCwgMHg2RCwgMHhDMSwgMHhFNywgMHg4NywKLQkweDAwLCAweDAxLCAweDI0LCAweEMwLCAweDk3LCAweENGLCAweEU3LCAweDA3LAotCTB4MzIsIDB4MDAsIDB4MTIsIDB4QzAsIDB4RTcsIDB4NzcsIDB4MDAsIDB4ODAsCi0JMHgxMiwgMHhDMCwgMHg3QywgMHhDMCwgMHg5NywgMHhDRiwgMHhFNywgMHgwNywKLQkweDIwLCAweDRFLCAweDEyLCAweEMwLCAweEU3LCAweDc3LCAweDAwLCAweDgwLAotCTB4MTIsIDB4QzAsIDB4N0MsIDB4QzAsIDB4OTcsIDB4Q0YsIDB4MDksIDB4MDIsCi0JMHgxOSwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHg5NiwgMHgwOSwKLQkweDA0LCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLQkweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotCTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNldHVwNVtdID0gewotCTB4QjYsIDB4QzMsIDB4MkYsIDB4MDEsIDB4MDMsIDB4NjQsIDB4MEUsIDB4MDAsCi0JMHgxNCwgMHgwMCwgMHgxQSwgMHgwMCwgMHgyMCwgMHgwMCwgMHgyNiwgMHgwMCwKLQkweDRBLCAweDAwLCAweDY0LCAweDAwLCAweDZBLCAweDAwLCAweDkyLCAweDAwLAotCTB4OUEsIDB4MDAsIDB4QTAsIDB4MDAsIDB4QjIsIDB4MDAsIDB4QjgsIDB4MDAsCi0JMHhCRSwgMHgwMCwgMHhDMiwgMHgwMCwgMHhDOCwgMHgwMCwgMHhDRSwgMHgwMCwKLQkweERDLCAweDAwLCAweERBLCAweDAwLCAweEUyLCAweDAwLCAweEUwLCAweDAwLAotCTB4RTgsIDB4MDAsIDB4RTYsIDB4MDAsIDB4RUUsIDB4MDAsIDB4RUMsIDB4MDAsCi0JMHhGMiwgMHgwMCwgMHhGOCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwQSwgMHgwMSwKLQkweDBFLCAweDAxLCAweDEyLCAweDAxLCAweDFFLCAweDAxLCAweDIyLCAweDAxLAotCTB4MjgsIDB4MDEsIDB4MkMsIDB4MDEsIDB4MzIsIDB4MDEsIDB4MzYsIDB4MDEsCi0JMHg0NCwgMHgwMSwgMHg1MCwgMHgwMSwgMHg1RSwgMHgwMSwgMHg3MiwgMHgwMSwKLQkweDc2LCAweDAxLCAweDdBLCAweDAxLCAweDgwLCAweDAxLCAweDg4LCAweDAxLAotCTB4OEMsIDB4MDEsIDB4OTQsIDB4MDEsIDB4OUMsIDB4MDEsIDB4QTAsIDB4MDEsCi0JMHhBNCwgMHgwMSwgMHhBQSwgMHgwMSwgMHhCMCwgMHgwMSwgMHhCNCwgMHgwMSwKLQkweEJBLCAweDAxLCAweEQwLCAweDAxLCAweERBLCAweDAxLCAweEY2LCAweDAxLAotCTB4RkEsIDB4MDEsIDB4MDIsIDB4MDIsIDB4MzQsIDB4MDIsIDB4M0MsIDB4MDIsCi0JMHg0NCwgMHgwMiwgMHg0QSwgMHgwMiwgMHg1MCwgMHgwMiwgMHg1NiwgMHgwMiwKLQkweDc0LCAweDAyLCAweDc4LCAweDAyLCAweDdFLCAweDAyLCAweDg0LCAweDAyLAotCTB4OEEsIDB4MDIsIDB4ODgsIDB4MDIsIDB4OTAsIDB4MDIsIDB4OEUsIDB4MDIsCi0JMHg5NCwgMHgwMiwgMHhBMiwgMHgwMiwgMHhBOCwgMHgwMiwgMHhBRSwgMHgwMiwKLQkweEI0LCAweDAyLCAweEJBLCAweDAyLCAweEI4LCAweDAyLCAweEMwLCAweDAyLAotCTB4QkUsIDB4MDIsIDB4QzQsIDB4MDIsIDB4RDAsIDB4MDIsIDB4RDQsIDB4MDIsCi0JMHhFMCwgMHgwMiwgMHhFNiwgMHgwMiwgMHhFRSwgMHgwMiwgMHhGOCwgMHgwMiwKLQkweEZDLCAweDAyLCAweDA2LCAweDAzLCAweDFFLCAweDAzLCAweDI0LCAweDAzLAotCTB4MjgsIDB4MDMsIDB4MzAsIDB4MDMsIDB4MkUsIDB4MDMsIDB4M0MsIDB4MDMsCi0JMHg0QSwgMHgwMywgMHg0RSwgMHgwMywgMHg1NCwgMHgwMywgMHg1OCwgMHgwMywKLQkweDVFLCAweDAzLCAweDY2LCAweDAzLCAweDZFLCAweDAzLCAweDdBLCAweDAzLAotCTB4ODYsIDB4MDMsIDB4OEUsIDB4MDMsIDB4OTYsIDB4MDMsIDB4QjIsIDB4MDMsCi0JMHhCOCwgMHgwMywgMHhDNiwgMHgwMywgMHhDQywgMHgwMywgMHhENCwgMHgwMywKLQkweERBLCAweDAzLCAweEU4LCAweDAzLCAweEY0LCAweDAzLCAweEZDLCAweDAzLAotCTB4MDQsIDB4MDQsIDB4MjAsIDB4MDQsIDB4MkEsIDB4MDQsIDB4MzIsIDB4MDQsCi0JMHgzNiwgMHgwNCwgMHgzRSwgMHgwNCwgMHg0NCwgMHgwNCwgMHg0MiwgMHgwNCwKLQkweDQ4LCAweDA0LCAweDRFLCAweDA0LCAweDRDLCAweDA0LCAweDU0LCAweDA0LAotCTB4NTIsIDB4MDQsIDB4NUEsIDB4MDQsIDB4NUUsIDB4MDQsIDB4NjIsIDB4MDQsCi0JMHg2OCwgMHgwNCwgMHg3NCwgMHgwNCwgMHg3QywgMHgwNCwgMHg4MCwgMHgwNCwKLQkweDg4LCAweDA0LCAweDhDLCAweDA0LCAweDk0LCAweDA0LCAweDlBLCAweDA0LAotCTB4QTIsIDB4MDQsIDB4QTYsIDB4MDQsIDB4QUUsIDB4MDQsIDB4QjQsIDB4MDQsCi0JMHhDMCwgMHgwNCwgMHhDQywgMHgwNCwgMHhEOCwgMHgwNCwgMHgyQSwgMHgwNSwKLQkweDQ2LCAweDA1LCAweDZDLCAweDA1LCAweDAwLCAweDAwCi19OwotCiAvKiBydm1hbGxvYyAvIHJ2ZnJlZSBjb3BpZWQgZnJvbSB1c2J2aWRlby5jCiAgKgogICogTm90IHN1cmUgd2h5IHRoZXNlIGFyZSBub3QgeWV0IG5vbi1zdGF0aWNzIHdoaWNoIEkgY2FuIHJlZmVyZW5jZSB0aHJvdWdoCkBAIC00NjQsMjggKzE4OCwyOCBAQAogc3RhdGljIGludAogaW5pdGlhbGl6ZV9jYW1lcmEoc3RydWN0IHZpY2FtX2NhbWVyYSAqY2FtKQogewotCWNvbnN0IHN0cnVjdCB7Ci0JCXU4ICpkYXRhOwotCQl1MzIgc2l6ZTsKLQl9IGZpcm13YXJlW10gPSB7Ci0JCXsgLmRhdGEgPSBzZXR1cDEsIC5zaXplID0gc2l6ZW9mKHNldHVwMSkgfSwKLQkJeyAuZGF0YSA9IHNldHVwMiwgLnNpemUgPSBzaXplb2Yoc2V0dXAyKSB9LAotCQl7IC5kYXRhID0gc2V0dXAzLCAuc2l6ZSA9IHNpemVvZihzZXR1cDMpIH0sCi0JCXsgLmRhdGEgPSBzZXR1cDQsIC5zaXplID0gc2l6ZW9mKHNldHVwNCkgfSwKLQkJeyAuZGF0YSA9IHNldHVwNSwgLnNpemUgPSBzaXplb2Yoc2V0dXA1KSB9LAotCQl7IC5kYXRhID0gc2V0dXAzLCAuc2l6ZSA9IHNpemVvZihzZXR1cDMpIH0sCi0JCXsgLmRhdGEgPSBOVUxMLCAuc2l6ZSA9IDAgfQotCX07CisJaW50IGVycjsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OwogCi0JaW50IGVyciwgaTsKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCAidmljYW0vZmlybXdhcmUuZnciLCAmY2FtLT51ZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBcInZpY2FtL2Zpcm13YXJlLmZ3XCI6ICVkXG4iLAorCQkgICAgICAgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CiAKLQlmb3IgKGkgPSAwLCBlcnIgPSAwOyBmaXJtd2FyZVtpXS5kYXRhICYmICFlcnI7IGkrKykgewotCQltZW1jcHkoY2FtLT5jbnRybGJ1ZiwgZmlybXdhcmVbaV0uZGF0YSwgZmlybXdhcmVbaV0uc2l6ZSk7CisJZm9yIChyZWMgPSAodm9pZCAqKWZ3LT5kYXRhOyByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQltZW1jcHkoY2FtLT5jbnRybGJ1ZiwgcmVjLT5kYXRhLCBiZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCiAJCWVyciA9IHNlbmRfY29udHJvbF9tc2coY2FtLCAweGZmLCAwLCAwLAotCQkJCSAgICAgICBjYW0tPmNudHJsYnVmLCBmaXJtd2FyZVtpXS5zaXplKTsKKwkJCQkgICAgICAgY2FtLT5jbnRybGJ1ZiwgYmUxNl90b19jcHUocmVjLT5sZW4pKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOwogCX0KIAorCXJlbGVhc2VfZmlybXdhcmUoZncpOworCiAJcmV0dXJuIGVycjsKIH0KIApAQCAtMTIyNiwzICs5NTAsNCBAQAogTU9EVUxFX0FVVEhPUihEUklWRVJfQVVUSE9SKTsKIE1PRFVMRV9ERVNDUklQVElPTihEUklWRVJfREVTQyk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoInZpY2FtL2Zpcm13YXJlLmZ3Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMgYi9kcml2ZXJzL21lZGlhL3ZpZGVvL3ZpZGVvZGV2LmMKaW5kZXggNjdhNjYxYy4uNzY0OTg2MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS92aWRlby92aWRlb2Rldi5jCisrKyBiL2RyaXZlcnMvbWVkaWEvdmlkZW8vdmlkZW9kZXYuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rbW9kLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CiAKQEAgLTQ0Miw2ICs0NDMsNyBAQAogCiAJaWYobWlub3I+PVZJREVPX05VTV9ERVZJQ0VTKQogCQlyZXR1cm4gLUVOT0RFVjsKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnZpZGVvZGV2X2xvY2spOwogCXZmbD12aWRlb19kZXZpY2VbbWlub3JdOwogCWlmKHZmbD09TlVMTCkgewpAQCAtNDUxLDYgKzQ1Myw3IEBACiAJCXZmbD12aWRlb19kZXZpY2VbbWlub3JdOwogCQlpZiAodmZsPT1OVUxMKSB7CiAJCQltdXRleF91bmxvY2soJnZpZGVvZGV2X2xvY2spOworCQkJdW5sb2NrX2tlcm5lbCgpOwogCQkJcmV0dXJuIC1FTk9ERVY7CiAJCX0KIAl9CkBAIC00NjQsNiArNDY3LDcgQEAKIAl9CiAJZm9wc19wdXQob2xkX2ZvcHMpOwogCW11dGV4X3VubG9jaygmdmlkZW9kZXZfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0YmFzZS5jIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMKaW5kZXggZGIzYzg5Mi4uZDQwZDZkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMKKysrIGIvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRiYXNlLmMKQEAgLTE2ODYsOSArMTY4NiwxNCBAQAogCQlpb2MtPmJ1c190eXBlID0gU0FTOwogCX0KIAotCWlmIChpb2MtPmJ1c190eXBlID09IFNBUyAmJiBtcHRfbXNpX2VuYWJsZSA9PSAtMSkKLQkJaW9jLT5tc2lfZW5hYmxlID0gMTsKLQllbHNlCisJaWYgKG1wdF9tc2lfZW5hYmxlID09IC0xKSB7CisJCS8qIEVuYWJsZSBvbiBTQVMsIGRpc2FibGUgb24gRkMgYW5kIFNQSSAqLworCQlpZiAoaW9jLT5idXNfdHlwZSA9PSBTQVMpCisJCQlpb2MtPm1zaV9lbmFibGUgPSAxOworCQllbHNlCisJCQlpb2MtPm1zaV9lbmFibGUgPSAwOworCX0gZWxzZQorCQkvKiBmb2xsb3cgZmxhZzogMCAtIGRpc2FibGU7IDEgLSBlbmFibGUgKi8KIAkJaW9jLT5tc2lfZW5hYmxlID0gbXB0X21zaV9lbmFibGU7CiAKIAlpZiAoaW9jLT5lcnJhdGFfZmxhZ18xMDY0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0Y3RsLmMKaW5kZXggZTYzMGI1MC4uYzU5NDY1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRjdGwuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdGN0bC5jCkBAIC01NDgsMTEgKzU0OCwxNSBAQAogbXB0Y3RsX2Zhc3luYyhpbnQgZmQsIHN0cnVjdCBmaWxlICpmaWxlcCwgaW50IG1vZGUpCiB7CiAJTVBUX0FEQVBURVIJKmlvYzsKKwlpbnQgcmV0OwogCisJbG9ja19rZXJuZWwoKTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGlvYywgJmlvY19saXN0LCBsaXN0KQogCQlpb2MtPmFlbl9ldmVudF9yZWFkX2ZsYWc9MDsKIAotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmaWxlcCwgbW9kZSwgJmFzeW5jX3F1ZXVlKTsKKwlyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlcCwgbW9kZSwgJmFzeW5jX3F1ZXVlKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludApkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRzcGkuYyBiL2RyaXZlcnMvbWVzc2FnZS9mdXNpb24vbXB0c3BpLmMKaW5kZXggMjViY2ZjZi4uMWVmZmNhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZXNzYWdlL2Z1c2lvbi9tcHRzcGkuYworKysgYi9kcml2ZXJzL21lc3NhZ2UvZnVzaW9uL21wdHNwaS5jCkBAIC0xMjY2LDEzICsxMjY2LDE4IEBACiBzdGF0aWMgaW50CiBtcHRzcGlfaW9jX3Jlc2V0KE1QVF9BREFQVEVSICppb2MsIGludCByZXNldF9waGFzZSkKIHsKLQlzdHJ1Y3QgX01QVF9TQ1NJX0hPU1QgKmhkID0gc2hvc3RfcHJpdihpb2MtPnNoKTsKIAlpbnQgcmM7CiAKIAlyYyA9IG1wdHNjc2loX2lvY19yZXNldChpb2MsIHJlc2V0X3BoYXNlKTsKIAotCWlmIChyZXNldF9waGFzZSA9PSBNUFRfSU9DX1BPU1RfUkVTRVQpCisJLyogb25seSB0cnkgdG8gZG8gYSByZW5lZ290aWF0aW9uIGlmIHdlJ3JlIHByb3Blcmx5IHNldCB1cAorCSAqIGlmIHdlIGdldCBhbiBpb2MgZmF1bHQgb24gYnJpbmd1cCwgaW9jLT5zaCB3aWxsIGJlIE5VTEwgKi8KKwlpZiAocmVzZXRfcGhhc2UgPT0gTVBUX0lPQ19QT1NUX1JFU0VUICYmCisJICAgIGlvYy0+c2gpIHsKKwkJc3RydWN0IF9NUFRfU0NTSV9IT1NUICpoZCA9IHNob3N0X3ByaXYoaW9jLT5zaCk7CisKIAkJbXB0c3BpX2R2X3JlbmVnb3RpYXRlKGhkKTsKKwl9CiAKIAlyZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19jb25maWcuYyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCmluZGV4IGMwZmI3N2QuLjQyMzhkZTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCisrKyBiL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2NvbmZpZy5jCkBAIC0xMDYxLDYgKzEwNjEsNyBAQAogCWlmICghdG1wKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gKHZvaWQgKikoaTJvX2NmZ19pbmZvX2lkKyspOwogCXRtcC0+ZnAgPSBmaWxlOwogCXRtcC0+ZmFzeW5jID0gTlVMTDsKQEAgLTEwNzQsNiArMTA3NSw3IEBACiAJc3Bpbl9sb2NrX2lycXNhdmUoJmkyb19jb25maWdfbG9jaywgZmxhZ3MpOwogCW9wZW5fZmlsZXMgPSB0bXA7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaTJvX2NvbmZpZ19sb2NrLCBmbGFncyk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xMDgyLDE1ICsxMDg0LDE3IEBACiB7CiAJdWxvbmcgaWQgPSAodWxvbmcpIGZwLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IGkyb19jZmdfaW5mbyAqcDsKKwlpbnQgcmV0ID0gLUVCQURGOwogCisJbG9ja19rZXJuZWwoKTsKIAlmb3IgKHAgPSBvcGVuX2ZpbGVzOyBwOyBwID0gcC0+bmV4dCkKIAkJaWYgKHAtPnFfaWQgPT0gaWQpCiAJCQlicmVhazsKIAotCWlmICghcCkKLQkJcmV0dXJuIC1FQkFERjsKLQotCXJldHVybiBmYXN5bmNfaGVscGVyKGZkLCBmcCwgb24sICZwLT5mYXN5bmMpOworCWlmIChwKQorCQlyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmcCwgb24sICZwLT5mYXN5bmMpOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNmZ19yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jIGIvZHJpdmVycy9taXNjL2F0bWVsX3B3bS5jCmluZGV4IDBkNWNlMDMuLjViNWExNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWlzYy9hdG1lbF9wd20uYworKysgYi9kcml2ZXJzL21pc2MvYXRtZWxfcHdtLmMKQEAgLTMzMiw3ICszMzIsNyBAQAogCXAtPmJhc2UgPSBpb3JlbWFwKHItPnN0YXJ0LCByLT5lbmQgLSByLT5zdGFydCArIDEpOwogCWlmICghcC0+YmFzZSkKIAkJZ290byBmYWlsOwotCXAtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgIm1jayIpOworCXAtPmNsayA9IGNsa19nZXQoJnBkZXYtPmRldiwgInB3bV9jbGsiKTsKIAlpZiAoSVNfRVJSKHAtPmNsaykpIHsKIAkJc3RhdHVzID0gUFRSX0VSUihwLT5jbGspOwogCQlwLT5jbGsgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYyBiL2RyaXZlcnMvbWlzYy9oZHB1ZnRycy9oZHB1X2NwdXN0YXRlLmMKaW5kZXggZmY1MWFiNi4uMTc2ZmU0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL2hkcHVmdHJzL2hkcHVfY3B1c3RhdGUuYworKysgYi9kcml2ZXJzL21pc2MvaGRwdWZ0cnMvaGRwdV9jcHVzdGF0ZS5jCkBAIC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvaGRwdV9mZWF0dXJlcy5oPgpAQCAtMTUxLDcgKzE1MiwxMyBAQAogCiBzdGF0aWMgaW50IGNwdXN0YXRlX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0JcmV0dXJuIGNwdXN0YXRlX2dldF9yZWYoKGZpbGUtPmZfZmxhZ3MgJiBPX0VYQ0wpKTsKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBjcHVzdGF0ZV9nZXRfcmVmKChmaWxlLT5mX2ZsYWdzICYgT19FWENMKSk7CisJdW5sb2NrX2tlcm5lbCgpOworCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCBjcHVzdGF0ZV9yZWxlYXNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9taXNjL3BoYW50b20uYyBiL2RyaXZlcnMvbWlzYy9waGFudG9tLmMKaW5kZXggNzFkMWM4NC4uMTg2MTYyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3BoYW50b20uYworKysgYi9kcml2ZXJzL21pc2MvcGhhbnRvbS5jCkBAIC0yMiw2ICsyMiw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvY2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L3BoYW50b20uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMjEyLDEzICsyMTMsMTcgQEAKIAlzdHJ1Y3QgcGhhbnRvbV9kZXZpY2UgKmRldiA9IGNvbnRhaW5lcl9vZihpbm9kZS0+aV9jZGV2LAogCQkJc3RydWN0IHBoYW50b21fZGV2aWNlLCBjZGV2KTsKIAorCWxvY2tfa2VybmVsKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiAKLQlpZiAobXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPm9wZW5fbG9jaykpCisJaWYgKG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmZGV2LT5vcGVuX2xvY2spKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKKwl9CiAKIAlpZiAoZGV2LT5vcGVuZWQpIHsKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPm9wZW5fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCkBAIC0yMjksNyArMjM0LDcgQEAKIAlhdG9taWNfc2V0KCZkZXYtPmNvdW50ZXIsIDApOwogCWRldi0+b3BlbmVkKys7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPm9wZW5fbG9jayk7Ci0KKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWlzYy9zb255LWxhcHRvcC5jIGIvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKaW5kZXggMDBlNDhlMi4uNjA3NzViZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKKysrIGIvZHJpdmVycy9taXNjL3NvbnktbGFwdG9wLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvYmFja2xpZ2h0Lmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CkBAIC0xOTI3LDggKzE5MjgsMTAgQEAKIHN0YXRpYyBpbnQgc29ueXBpX21pc2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKIAkvKiBGbHVzaCBpbnB1dCBxdWV1ZSBvbiBmaXJzdCBvcGVuICovCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoYXRvbWljX2luY19yZXR1cm4oJnNvbnlwaV9jb21wYXQub3Blbl9jb3VudCkgPT0gMSkKIAkJa2ZpZm9fcmVzZXQoc29ueXBpX2NvbXBhdC5maWZvKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMgYi9kcml2ZXJzL21tYy9ob3N0L2lteG1tYy5jCmluZGV4IDk1ZjMzZTguLmVlZDIxMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbW1jL2hvc3QvaW14bW1jLmMKKysrIGIvZHJpdmVycy9tbWMvaG9zdC9pbXhtbWMuYwpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tYy9ob3N0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW1jL2NhcmQuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtOTIsNiArOTMsOCBAQAogCXVuc2lnbmVkIGNoYXIJCWFjdHVhbF9idXNfd2lkdGg7CiAKIAlpbnQJCQlwcmV2X2NtZF9jb2RlOworCisJc3RydWN0IGNsawkJKmNsazsKIH07CiAKICNkZWZpbmUgSU1YTUNJX1BFTkRfSVJRX2IJMApAQCAtODQxLDcgKzg0NCw3IEBACiAJCS8qIFRoZSBwcmVzY2FsZXIgaXMgNSBmb3IgUEVSQ0xLMiBlcXVhbCB0byA5Nk1IegogCQkgKiB0aGVuIDk2TUh6IC8gNSA9IDE5LjIgTUh6CiAJCSAqLwotCQljbGs9aW14X2dldF9wZXJjbGsyKCk7CisJCWNsayA9IGNsa19nZXRfcmF0ZShob3N0LT5jbGspOwogCQlwcmVzY2FsZXI9KGNsaysoQ0xLX1JBVEUqNykvOCkvQ0xLX1JBVEU7CiAJCXN3aXRjaChwcmVzY2FsZXIpIHsKIAkJY2FzZSAwOgpAQCAtOTk0LDYgKzk5NywxMyBAQAogCWhvc3QtPnJlcyA9IHI7CiAJaG9zdC0+aXJxID0gaXJxOwogCisJaG9zdC0+Y2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAicGVyY2xrMiIpOworCWlmIChJU19FUlIoaG9zdC0+Y2xrKSkgeworCQlyZXQgPSBQVFJfRVJSKGhvc3QtPmNsayk7CisJCWdvdG8gb3V0OworCX0KKwljbGtfZW5hYmxlKGhvc3QtPmNsayk7CisKIAlpbXhfZ3Bpb19tb2RlKFBCOF9QRl9TRF9EQVQwKTsKIAlpbXhfZ3Bpb19tb2RlKFBCOV9QRl9TRF9EQVQxKTsKIAlpbXhfZ3Bpb19tb2RlKFBCMTBfUEZfU0RfREFUMik7CkBAIC0xMDE3LDggKzEwMjcsOCBAQAogCWhvc3QtPmltYXNrID0gSU1YTUNJX0lOVF9NQVNLX0RFRkFVTFQ7CiAJTU1DX0lOVF9NQVNLID0gaG9zdC0+aW1hc2s7CiAKLQotCWlmKGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCZob3N0LT5kbWEsIERSSVZFUl9OQU1FLCBETUFfUFJJT19MT1cpPDApeworCWhvc3QtPmRtYSA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKERSSVZFUl9OQU1FLCBETUFfUFJJT19MT1cpOworCWlmKGhvc3QtPmRtYSA8IDApIHsKIAkJZGV2X2VycihtbWNfZGV2KGhvc3QtPm1tYyksICJpbXhfZG1hX3JlcXVlc3RfYnlfcHJpbyBmYWlsZWRcbiIpOwogCQlyZXQgPSAtRUJVU1k7CiAJCWdvdG8gb3V0OwpAQCAtMTA1Myw2ICsxMDYzLDEwIEBACiAJCQlpbXhfZG1hX2ZyZWUoaG9zdC0+ZG1hKTsKIAkJCWhvc3QtPmRtYV9hbGxvY2F0ZWQ9MDsKIAkJfQorCQlpZiAoaG9zdC0+Y2xrKSB7CisJCQljbGtfZGlzYWJsZShob3N0LT5jbGspOworCQkJY2xrX3B1dChob3N0LT5jbGspOworCQl9CiAJfQogCWlmIChtbWMpCiAJCW1tY19mcmVlX2hvc3QobW1jKTsKQEAgLTEwODIsNiArMTA5Niw5IEBACiAKIAkJdGFza2xldF9raWxsKCZob3N0LT50YXNrbGV0KTsKIAorCQljbGtfZGlzYWJsZShob3N0LT5jbGspOworCQljbGtfcHV0KGhvc3QtPmNsayk7CisKIAkJcmVsZWFzZV9yZXNvdXJjZShob3N0LT5yZXMpOwogCiAJCW1tY19mcmVlX2hvc3QobW1jKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL2Z0bC5jIGIvZHJpdmVycy9tdGQvZnRsLmMKaW5kZXggNGE3OWIxOC4uNWMyOTg3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvZnRsLmMKKysrIGIvZHJpdmVycy9tdGQvZnRsLmMKQEAgLTEzMCwxMCArMTMwLDYgQEAKICAgICB1X2ludDE2X3QJCURhdGFVbml0czsKICAgICB1X2ludDMyX3QJCUJsb2Nrc1BlclVuaXQ7CiAgICAgZXJhc2VfdW5pdF9oZWFkZXJfdAloZWFkZXI7Ci0jaWYgMAotICAgIHJlZ2lvbl9pbmZvX3QJcmVnaW9uOwotICAgIG1lbW9yeV9oYW5kbGVfdAloYW5kbGU7Ci0jZW5kaWYKIH0gcGFydGl0aW9uX3Q7CiAKIC8qIFBhcnRpdGlvbiBzdGF0ZSBmbGFncyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jIGIvZHJpdmVycy9tdGQvbWFwcy9vbWFwX25vci5jCmluZGV4IGMxMmQ4MDUuLjY4ZWVjNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL21hcHMvb21hcF9ub3IuYworKysgYi9kcml2ZXJzL210ZC9tYXBzL29tYXBfbm9yLmMKQEAgLTYwLDEzICs2MCwyMiBAQAogc3RhdGljIHZvaWQgb21hcF9zZXRfdnBwKHN0cnVjdCBtYXBfaW5mbyAqbWFwLCBpbnQgZW5hYmxlKQogewogCXN0YXRpYyBpbnQJY291bnQ7CisJdTMyIGw7CiAKLQlpZiAoZW5hYmxlKSB7Ci0JCWlmIChjb3VudCsrID09IDApCi0JCQlPTUFQX0VNSUZTX0NPTkZJR19SRUcgfD0gT01BUF9FTUlGU19DT05GSUdfV1A7Ci0JfSBlbHNlIHsKLQkJaWYgKGNvdW50ICYmICgtLWNvdW50ID09IDApKQotCQkJT01BUF9FTUlGU19DT05GSUdfUkVHICY9IH5PTUFQX0VNSUZTX0NPTkZJR19XUDsKKwlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkpIHsKKwkJaWYgKGVuYWJsZSkgeworCQkJaWYgKGNvdW50KysgPT0gMCkgeworCQkJCWwgPSBvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRyk7CisJCQkJbCB8PSBPTUFQX0VNSUZTX0NPTkZJR19XUDsKKwkJCQlvbWFwX3dyaXRlbChsLCBFTUlGU19DT05GSUcpOworCQkJfQorCQl9IGVsc2UgeworCQkJaWYgKGNvdW50ICYmICgtLWNvdW50ID09IDApKSB7CisJCQkJbCA9IG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKTsKKwkJCQlsICY9IH5PTUFQX0VNSUZTX0NPTkZJR19XUDsKKwkJCQlvbWFwX3dyaXRlbChsLCBFTUlGU19DT05GSUcpOworCQkJfQorCQl9CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jIGIvZHJpdmVycy9tdGQvbWFwcy9wY21jaWFtdGQuYwppbmRleCAxOTEyZDk2Li4wY2MzMTY3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbWFwcy9wY21jaWFtdGQuYworKysgYi9kcml2ZXJzL210ZC9tYXBzL3BjbWNpYW10ZC5jCkBAIC00OTgsMTcgKzQ5OCwxNCBAQAogCWludCBpOwogCWNvbmZpZ19pbmZvX3QgdDsKIAlzdGF0aWMgY2hhciAqcHJvYmVzW10gPSB7ICJqZWRlY19wcm9iZSIsICJjZmlfcHJvYmUiIH07Ci0JY2lzaW5mb190IGNpc2luZm87CiAJaW50IG5ld19uYW1lID0gMDsKIAogCURFQlVHKDMsICJsaW5rPTB4JXAiLCBsaW5rKTsKIAogCURFQlVHKDIsICJWYWxpZGF0aW5nIENJUyIpOwotCXJldCA9IHBjbWNpYV92YWxpZGF0ZV9jaXMobGluaywgJmNpc2luZm8pOworCXJldCA9IHBjbWNpYV92YWxpZGF0ZV9jaXMobGluaywgTlVMTCk7CiAJaWYocmV0ICE9IENTX1NVQ0NFU1MpIHsKIAkJY3NfZXJyb3IobGluaywgR2V0VHVwbGVEYXRhLCByZXQpOwotCX0gZWxzZSB7Ci0JCURFQlVHKDIsICJWYWxpZGF0ZUNJUyBmb3VuZCAlZCBjaGFpbnMiLCBjaXNpbmZvLkNoYWlucyk7CiAJfQogCiAJY2FyZF9zZXR0aW5ncyhkZXYsIGxpbmssICZuZXdfbmFtZSk7CkBAIC01NjMsOSArNTYwLDcgQEAKIAlERUJVRygxLCAiQWxsb2NhdGVkIGEgd2luZG93IG9mICVkS2lCIiwgZGV2LT53aW5fc2l6ZSA+PiAxMCk7CiAKIAkvKiBHZXQgd3JpdGUgcHJvdGVjdCBzdGF0dXMgKi8KLQlDU19DSEVDSyhHZXRTdGF0dXMsIHBjbWNpYV9nZXRfc3RhdHVzKGxpbmssICZzdGF0dXMpKTsKLQlERUJVRygyLCAic3RhdHVzIHZhbHVlOiAweCV4IHdpbmRvdyBoYW5kbGUgPSAweCU4LjhseCIsCi0JICAgICAgc3RhdHVzLkNhcmRTdGF0ZSwgKHVuc2lnbmVkIGxvbmcpbGluay0+d2luKTsKKwlERUJVRygyLCAid2luZG93IGhhbmRsZSA9IDB4JTguOGx4IiwgKHVuc2lnbmVkIGxvbmcpbGluay0+d2luKTsKIAlkZXYtPndpbl9iYXNlID0gaW9yZW1hcChyZXEuQmFzZSwgcmVxLlNpemUpOwogCWlmKCFkZXYtPndpbl9iYXNlKSB7CiAJCWVycigiaW9yZW1hcCglbHUsICV1KSBmYWlsZWQiLCByZXEuQmFzZSwgcmVxLlNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbXRkY2hhci5jIGIvZHJpdmVycy9tdGQvbXRkY2hhci5jCmluZGV4IDVkM2FjNTEuLjEyOWQ0MjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbXRkL210ZGNoYXIuYworKysgYi9kcml2ZXJzL210ZC9tdGRjaGFyLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvbXRkL210ZC5oPgogI2luY2x1ZGUgPGxpbnV4L210ZC9jb21wYXRtYWMuaD4KQEAgLTg2LDYgKzg3LDcgQEAKIHsKIAlpbnQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogCWludCBkZXZudW0gPSBtaW5vciA+PiAxOworCWludCByZXQgPSAwOwogCXN0cnVjdCBtdGRfaW5mbyAqbXRkOwogCXN0cnVjdCBtdGRfZmlsZV9pbmZvICptZmk7CiAKQEAgLTk4LDMxICsxMDAsMzkgQEAKIAlpZiAoKGZpbGUtPmZfbW9kZSAmIDIpICYmIChtaW5vciAmIDEpKQogCQlyZXR1cm4gLUVBQ0NFUzsKIAorCWxvY2tfa2VybmVsKCk7CiAJbXRkID0gZ2V0X210ZF9kZXZpY2UoTlVMTCwgZGV2bnVtKTsKIAotCWlmIChJU19FUlIobXRkKSkKLQkJcmV0dXJuIFBUUl9FUlIobXRkKTsKKwlpZiAoSVNfRVJSKG10ZCkpIHsKKwkJcmV0ID0gUFRSX0VSUihtdGQpOworCQlnb3RvIG91dDsKKwl9CiAKIAlpZiAoTVREX0FCU0VOVCA9PSBtdGQtPnR5cGUpIHsKIAkJcHV0X210ZF9kZXZpY2UobXRkKTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qIFlvdSBjYW4ndCBvcGVuIGl0IFJXIGlmIGl0J3Mgbm90IGEgd3JpdGVhYmxlIGRldmljZSAqLwogCWlmICgoZmlsZS0+Zl9tb2RlICYgMikgJiYgIShtdGQtPmZsYWdzICYgTVREX1dSSVRFQUJMRSkpIHsKIAkJcHV0X210ZF9kZXZpY2UobXRkKTsKLQkJcmV0dXJuIC1FQUNDRVM7CisJCXJldCA9IC1FQUNDRVM7CisJCWdvdG8gb3V0OwogCX0KIAogCW1maSA9IGt6YWxsb2Moc2l6ZW9mKCptZmkpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIW1maSkgewogCQlwdXRfbXRkX2RldmljZShtdGQpOwotCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CiAJfQogCW1maS0+bXRkID0gbXRkOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IG1maTsKIAotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfSAvKiBtdGRfb3BlbiAqLwogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvb3Jpb25fbmFuZC5jIGIvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKaW5kZXggNTllMDVhMS4uZWUyYWMzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKKysrIGIvZHJpdmVycy9tdGQvbmFuZC9vcmlvbl9uYW5kLmMKQEAgLTg1LDYgKzg1LDkgQEAKIAluYy0+Y21kX2N0cmwgPSBvcmlvbl9uYW5kX2NtZF9jdHJsOwogCW5jLT5lY2MubW9kZSA9IE5BTkRfRUNDX1NPRlQ7CiAKKwlpZiAoYm9hcmQtPmNoaXBfZGVsYXkpCisJCW5jLT5jaGlwX2RlbGF5ID0gYm9hcmQtPmNoaXBfZGVsYXk7CisKIAlpZiAoYm9hcmQtPndpZHRoID09IDE2KQogCQluYy0+b3B0aW9ucyB8PSBOQU5EX0JVU1dJRFRIXzE2OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL210ZC91YmkvY2Rldi5jIGIvZHJpdmVycy9tdGQvdWJpL2NkZXYuYwppbmRleCA5ZDZhYWU1Li44OTE5M2JhIDEwMDY0NAotLS0gYS9kcml2ZXJzL210ZC91YmkvY2Rldi5jCisrKyBiL2RyaXZlcnMvbXRkL3ViaS9jZGV2LmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxtdGQvdWJpLXVzZXIuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kaXY2NC5oPgpAQCAtMTAzLDkgKzEwNCwxMiBAQAogCXN0cnVjdCB1Ymlfdm9sdW1lX2Rlc2MgKmRlc2M7CiAJaW50IHZvbF9pZCA9IGltaW5vcihpbm9kZSkgLSAxLCBtb2RlLCB1YmlfbnVtOwogCisJbG9ja19rZXJuZWwoKTsKIAl1YmlfbnVtID0gdWJpX21ham9yMm51bShpbWFqb3IoaW5vZGUpKTsKLQlpZiAodWJpX251bSA8IDApCisJaWYgKHViaV9udW0gPCAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIHViaV9udW07CisJfQogCiAJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKQogCQltb2RlID0gVUJJX1JFQURXUklURTsKQEAgLTExNSw2ICsxMTksNyBAQAogCWRiZ19tc2coIm9wZW4gdm9sdW1lICVkLCBtb2RlICVkIiwgdm9sX2lkLCBtb2RlKTsKIAogCWRlc2MgPSB1Ymlfb3Blbl92b2x1bWUodWJpX251bSwgdm9sX2lkLCBtb2RlKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJaWYgKElTX0VSUihkZXNjKSkKIAkJcmV0dXJuIFBUUl9FUlIoZGVzYyk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L0tjb25maWcgYi9kcml2ZXJzL25ldC9LY29uZmlnCmluZGV4IGY0MTgyY2YuLjQ1YTQxYjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L0tjb25maWcKKysrIGIvZHJpdmVycy9uZXQvS2NvbmZpZwpAQCAtMjE3LDcgKzIxNyw3IEBACiAKIGNvbmZpZyBNQUNCCiAJdHJpc3RhdGUgIkF0bWVsIE1BQ0Igc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFWUjMyIHx8IEFSQ0hfQVQ5MVNBTTkyNjAgfHwgQVJDSF9BVDkxU0FNOTI2MyB8fCBBUkNIX0FUOTFDQVA5CisJZGVwZW5kcyBvbiBBVlIzMiB8fCBBUkNIX0FUOTFTQU05MjYwIHx8IEFSQ0hfQVQ5MVNBTTkyNjMgfHwgQVJDSF9BVDkxU0FNOUcyMCB8fCBBUkNIX0FUOTFDQVA5CiAJc2VsZWN0IFBIWUxJQgogCWhlbHAKIAkgIFRoZSBBdG1lbCBNQUNCIGV0aGVybmV0IGludGVyZmFjZSBpcyBmb3VuZCBvbiBtYW55IEFUMzIgYW5kIEFUOTEKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYyBiL2RyaXZlcnMvbmV0L2FybS9ldGhlcmguYwppbmRleCAwMDA4MWQyLi5lOWQxNWVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9hcm0vZXRoZXJoLmMKKysrIGIvZHJpdmVycy9uZXQvYXJtL2V0aGVyaC5jCkBAIC02NDcsNyArNjQ3LDcgQEAKIAlzdHJ1Y3QgZWlfZGV2aWNlICplaV9sb2NhbDsKIAlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2OwogCXN0cnVjdCBldGhlcmhfcHJpdiAqZWg7Ci0JaW50IGksIHJldDsKKwlpbnQgcmV0OwogCURFQ0xBUkVfTUFDX0JVRihtYWMpOwogCiAJZXRoZXJoX2Jhbm5lcigpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY29tbW9uLmggYi9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaAppbmRleCA1NzliZWU0Li44ZThlYmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jb21tb24uaApAQCAtNjg2LDggKzY4Niw5IEBACiBpbnQgdDNfc2VlcHJvbV93cChzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgaW50IGVuYWJsZSk7CiBpbnQgdDNfZ2V0X3RwX3ZlcnNpb24oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHUzMiAqdmVycyk7CiBpbnQgdDNfY2hlY2tfdHBzcmFtX3ZlcnNpb24oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGludCAqbXVzdF9sb2FkKTsKLWludCB0M19jaGVja190cHNyYW0oc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHU4ICp0cF9yYW0sIHVuc2lnbmVkIGludCBzaXplKTsKLWludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgdTggKmRhdGEpOworaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKnRwX3JhbSwKKwkJICAgIHVuc2lnbmVkIGludCBzaXplKTsKK2ludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgY29uc3QgdTggKmRhdGEpOwogaW50IHQzX3JlYWRfZmxhc2goc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIHVuc2lnbmVkIGludCBhZGRyLAogCQkgIHVuc2lnbmVkIGludCBud29yZHMsIHUzMiAqZGF0YSwgaW50IGJ5dGVfb3JpZW50ZWQpOwogaW50IHQzX2xvYWRfZncoc3RydWN0IGFkYXB0ZXIgKmFkYXB0ZXIsIGNvbnN0IHU4ICogZndfZGF0YSwgdW5zaWduZWQgaW50IHNpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX2N0bF9kZWZzLmgKaW5kZXggNmM0ZjMyMC4uZWQwZWNkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfY3RsX2RlZnMuaAorKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19jdGxfZGVmcy5oCkBAIC01NCw2ICs1NCw3IEBACiAJUkRNQV9DUV9ESVNBQkxFCQk9IDE2LAogCVJETUFfQ1RSTF9RUF9TRVRVUAk9IDE3LAogCVJETUFfR0VUX01FTQkJPSAxOCwKKwlSRE1BX0dFVF9NSUIJCT0gMTksCiAKIAlHRVRfUlhfUEFHRV9JTkZPCT0gNTAsCiB9OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jIGIvZHJpdmVycy9uZXQvY3hnYjMvY3hnYjNfb2ZmbG9hZC5jCmluZGV4IGZmOWMwMTMuLmNmMjY5NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL2N4Z2IzX29mZmxvYWQuYworKysgYi9kcml2ZXJzL25ldC9jeGdiMy9jeGdiM19vZmZsb2FkLmMKQEAgLTMwMyw2ICszMDMsMTIgQEAKIAkJc3Bpbl91bmxvY2tfaXJxKCZhZGFwdGVyLT5zZ2UucmVnX2xvY2spOwogCQlicmVhazsKIAl9CisJY2FzZSBSRE1BX0dFVF9NSUI6IHsKKwkJc3Bpbl9sb2NrKCZhZGFwdGVyLT5zdGF0c19sb2NrKTsKKwkJdDNfdHBfZ2V0X21pYl9zdGF0cyhhZGFwdGVyLCAoc3RydWN0IHRwX21pYl9zdGF0cyAqKWRhdGEpOworCQlzcGluX3VubG9jaygmYWRhcHRlci0+c3RhdHNfbG9jayk7CisJCWJyZWFrOworCX0KIAlkZWZhdWx0OgogCQlyZXQgPSAtRU9QTk9UU1VQUDsKIAl9CkBAIC0zODEsNiArMzg3LDcgQEAKIAljYXNlIFJETUFfQ1FfRElTQUJMRToKIAljYXNlIFJETUFfQ1RSTF9RUF9TRVRVUDoKIAljYXNlIFJETUFfR0VUX01FTToKKwljYXNlIFJETUFfR0VUX01JQjoKIAkJaWYgKCFvZmZsb2FkX3J1bm5pbmcoYWRhcHRlcikpCiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJcmV0dXJuIGN4Z2JfcmRtYV9jdGwoYWRhcHRlciwgcmVxLCBkYXRhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMgYi9kcml2ZXJzL25ldC9jeGdiMy90M19ody5jCmluZGV4IGQ0MDVhOTMuLjQ3ZDUxNzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2N4Z2IzL3QzX2h3LmMKKysrIGIvZHJpdmVycy9uZXQvY3hnYjMvdDNfaHcuYwpAQCAtOTIzLDcgKzkyMyw4IEBACiAgKglDaGVja3MgaWYgYW4gYWRhcHRlcidzIHRwIHNyYW0gaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBkcml2ZXIuCiAgKglSZXR1cm5zIDAgaWYgdGhlIHZlcnNpb25zIGFyZSBjb21wYXRpYmxlLCBhIG5lZ2F0aXZlIGVycm9yIG90aGVyd2lzZS4KICAqLwotaW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgdTggKnRwX3NyYW0sIHVuc2lnbmVkIGludCBzaXplKQoraW50IHQzX2NoZWNrX3Rwc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcHRlciwgY29uc3QgdTggKnRwX3NyYW0sCisJCSAgICB1bnNpZ25lZCBpbnQgc2l6ZSkKIHsKIAl1MzIgY3N1bTsKIAl1bnNpZ25lZCBpbnQgaTsKQEAgLTI4NzUsMTAgKzI4NzYsMTAgQEAKICAqCiAgKglXcml0ZSB0aGUgY29udGVudHMgb2YgdGhlIHByb3RvY29sIFNSQU0uCiAgKi8KLWludCB0M19zZXRfcHJvdG9fc3JhbShzdHJ1Y3QgYWRhcHRlciAqYWRhcCwgdTggKmRhdGEpCitpbnQgdDNfc2V0X3Byb3RvX3NyYW0oc3RydWN0IGFkYXB0ZXIgKmFkYXAsIGNvbnN0IHU4ICpkYXRhKQogewogCWludCBpOwotCV9fYmUzMiAqYnVmID0gKF9fYmUzMiAqKWRhdGE7CisJY29uc3QgX19iZTMyICpidWYgPSAoY29uc3QgX19iZTMyICopZGF0YTsKIAogCWZvciAoaSA9IDA7IGkgPCBQUk9UT19TUkFNX0xJTkVTOyBpKyspIHsKIAkJdDNfd3JpdGVfcmVnKGFkYXAsIEFfVFBfRU1CRURfT1BfRklFTEQ1LCBiZTMyX3RvX2NwdSgqYnVmKyspKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaCBiL2RyaXZlcnMvbmV0L2N4Z2IzL3ZlcnNpb24uaAppbmRleCBhMDE3N2ZjLi4yOWRiNzExIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jeGdiMy92ZXJzaW9uLmgKKysrIGIvZHJpdmVycy9uZXQvY3hnYjMvdmVyc2lvbi5oCkBAIC0zOCw3ICszOCw3IEBACiAjZGVmaW5lIERSVl9WRVJTSU9OICIxLjAta28iCiAKIC8qIEZpcm13YXJlIHZlcnNpb24gKi8KLSNkZWZpbmUgRldfVkVSU0lPTl9NQUpPUiA2CisjZGVmaW5lIEZXX1ZFUlNJT05fTUFKT1IgNwogI2RlZmluZSBGV19WRVJTSU9OX01JTk9SIDAKICNkZWZpbmUgRldfVkVSU0lPTl9NSUNSTyAwCiAjZW5kaWYJCQkJLyogX19DSEVMU0lPX1ZFUlNJT05fSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jIGIvZHJpdmVycy9uZXQvaXJkYS9pcmRhLXVzYi5jCmluZGV4IDZmNTBlZDcuLjE4YjQ3MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvaXJkYS11c2IuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL2lyZGEtdXNiLmMKQEAgLTEwMjQsNyArMTAyNCw3IEBACiAgKiAgIFVwbG9hZCBmaXJtd2FyZSBjb2RlIHRvIFNpZ21hVGVsIDQyMVggSVJEQS1VU0IgZG9uZ2xlCiAgKi8KIHN0YXRpYyBpbnQgc3RpcjQyMXhfZndfdXBsb2FkKHN0cnVjdCBpcmRhX3VzYl9jYiAqc2VsZiwKLQkJCSAgICAgdW5zaWduZWQgY2hhciAqcGF0Y2gsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBhdGNoLAogCQkJICAgICBjb25zdCB1bnNpZ25lZCBpbnQgcGF0Y2hfbGVuKQogewogICAgICAgICBpbnQgcmV0ID0gLUVOT01FTTsKQEAgLTEwNzMsMTEgKzEwNzMsMTEgQEAKICAgKi8KIHN0YXRpYyBpbnQgc3RpcjQyMXhfcGF0Y2hfZGV2aWNlKHN0cnVjdCBpcmRhX3VzYl9jYiAqc2VsZikKIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGk7Ci0gICAgICAgIGludCByZXQ7Ci0gICAgICAgIGNoYXIgc3RpcjQyMXhfZndfbmFtZVsxMV07Ci0gICAgICAgIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgKmZ3X3ZlcnNpb25fcHRyOyAvKiBwb2ludGVyIHRvIHZlcnNpb24gc3RyaW5nICovCisJdW5zaWduZWQgaW50IGk7CisJaW50IHJldDsKKwljaGFyIHN0aXI0MjF4X2Z3X25hbWVbMTFdOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZndfdmVyc2lvbl9wdHI7IC8qIHBvaW50ZXIgdG8gdmVyc2lvbiBzdHJpbmcgKi8KIAl1bnNpZ25lZCBsb25nIGZ3X3ZlcnNpb24gPSAwOwogCiAgICAgICAgIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMgYi9kcml2ZXJzL25ldC9pcmRhL25zYy1pcmNjLmMKaW5kZXggYTc3MTRkYS4uZWZmYzFjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaXJkYS9uc2MtaXJjYy5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvbnNjLWlyY2MuYwpAQCAtMTUyLDYgKzE1Miw3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IHBucF9kZXZpY2VfaWQgbnNjX2lyY2NfcG5wX3RhYmxlW10gPSB7CiAJeyAuaWQgPSAiTlNDNjAwMSIsIC5kcml2ZXJfZGF0YSA9IDAgfSwKIAl7IC5pZCA9ICJJQk0wMDcxIiwgLmRyaXZlcl9kYXRhID0gMCB9LAorCXsgLmlkID0gIkhXUEMyMjQiLCAuZHJpdmVyX2RhdGEgPSAwIH0sCiAJeyB9CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pcmRhL3B4YWZpY3BfaXIuYyBiL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCmluZGV4IGQ1YzJkMjcuLmY3NmIwYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCisrKyBiL2RyaXZlcnMvbmV0L2lyZGEvcHhhZmljcF9pci5jCkBAIC0xMywxNiArMTMsOCBAQAogICoKICAqLwogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0jaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgotI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvcG0uaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAogI2luY2x1ZGUgPG5ldC9pcmRhL2lyZGEuaD4KQEAgLTMwLDE3ICsyMiw5IEBACiAjaW5jbHVkZSA8bmV0L2lyZGEvd3JhcHBlci5oPgogI2luY2x1ZGUgPG5ldC9pcmRhL2lyZGFfZGV2aWNlLmg+CiAKLSNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgotI2luY2x1ZGUgPGFzbS9kZWxheS5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2lyZGEuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgotI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+Ci0KLSNpZmRlZiBDT05GSUdfTUFDSF9NQUlOU1RPTkUKLSNpbmNsdWRlIDxhc20vYXJjaC9tYWluc3RvbmUuaD4KLSNlbmRpZgogCiAjZGVmaW5lIElyU1JfUlhQTF9ORUdfSVNfWkVSTyAoMTw8NCkKICNkZWZpbmUgSXJTUl9SWFBMX1BPU19JU19aRVJPIDB4MApAQCAtMTYzLDEwICsxNDcsNiBAQAogCQkJLyogc2V0IGJvYXJkIHRyYW5zY2VpdmVyIHRvIFNJUiBtb2RlICovCiAJCQlzaS0+cGRhdGEtPnRyYW5zY2VpdmVyX21vZGUoc2ktPmRldiwgSVJfU0lSTU9ERSk7CiAKLQkJCS8qIGNvbmZpZ3VyZSBHUElPNDYvNDcgKi8KLQkJCXB4YV9ncGlvX21vZGUoR1BJTzQ2X1NUUlhEX01EKTsKLQkJCXB4YV9ncGlvX21vZGUoR1BJTzQ3X1NUVFhEX01EKTsKLQogCQkJLyogZW5hYmxlIHRoZSBTVFVBUlQgY2xvY2sgKi8KIAkJCXB4YV9pcmRhX2VuYWJsZV9zaXJjbGsoc2kpOwogCQl9CkBAIC0yMDEsMTAgKzE4MSw2IEBACiAJCS8qIHNldCBib2FyZCB0cmFuc2NlaXZlciB0byBGSVIgbW9kZSAqLwogCQlzaS0+cGRhdGEtPnRyYW5zY2VpdmVyX21vZGUoc2ktPmRldiwgSVJfRklSTU9ERSk7CiAKLQkJLyogY29uZmlndXJlIEdQSU80Ni80NyAqLwotCQlweGFfZ3Bpb19tb2RlKEdQSU80Nl9JQ1BSWERfTUQpOwotCQlweGFfZ3Bpb19tb2RlKEdQSU80N19JQ1BUWERfTUQpOwotCiAJCS8qIGVuYWJsZSB0aGUgRklDUCBjbG9jayAqLwogCQlweGFfaXJkYV9lbmFibGVfZmlyY2xrKHNpKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXJkYS92aWEtaXJjYy5jIGIvZHJpdmVycy9uZXQvaXJkYS92aWEtaXJjYy5jCmluZGV4IDU4ZTEyODcuLjA0YWQzNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2lyZGEvdmlhLWlyY2MuYworKysgYi9kcml2ZXJzL25ldC9pcmRhL3ZpYS1pcmNjLmMKQEAgLTE1NDYsNiArMTU0Niw3IEBACiAJCQlJUkRBX1dBUk5JTkcoIiVzLCB1bmFibGUgdG8gYWxsb2NhdGUgZG1hMj0lZFxuIiwKIAkJCQkgICAgIGRyaXZlcl9uYW1lLCBzZWxmLT5pby5kbWEyKTsKIAkJCWZyZWVfaXJxKHNlbGYtPmlvLmlycSwgc2VsZik7CisJCQlmcmVlX2RtYShzZWxmLT5pby5kbWEpOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KIAl9CkBAIC0xNjA2LDYgKzE2MDcsOCBAQAogCUVuQWxsSW50KGlvYmFzZSwgT0ZGKTsKIAlmcmVlX2lycShzZWxmLT5pby5pcnEsIGRldik7CiAJZnJlZV9kbWEoc2VsZi0+aW8uZG1hKTsKKwlpZiAoc2VsZi0+aW8uZG1hMiAhPSBzZWxmLT5pby5kbWEpCisJCWZyZWVfZG1hKHNlbGYtPmlvLmRtYTIpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tYWNiLmMgYi9kcml2ZXJzL25ldC9tYWNiLmMKaW5kZXggOTJkY2NkNC4uMGE1NzQ1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWFjYi5jCisrKyBiL2RyaXZlcnMvbmV0L21hY2IuYwpAQCAtMTI3Nyw4ICsxMjc3LDQ1IEBACiAJcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgbWFjYl9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IG1hY2IgKmJwID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTsKKworCW5ldGlmX2RldmljZV9kZXRhY2gobmV0ZGV2KTsKKworI2lmbmRlZiBDT05GSUdfQVJDSF9BVDkxCisJY2xrX2Rpc2FibGUoYnAtPmhjbGspOworI2VuZGlmCisJY2xrX2Rpc2FibGUoYnAtPnBjbGspOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbWFjYl9yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgbmV0X2RldmljZSAqbmV0ZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IG1hY2IgKmJwID0gbmV0ZGV2X3ByaXYobmV0ZGV2KTsKKworCWNsa19lbmFibGUoYnAtPnBjbGspOworI2lmbmRlZiBDT05GSUdfQVJDSF9BVDkxCisJY2xrX2VuYWJsZShicC0+aGNsayk7CisjZW5kaWYKKworCW5ldGlmX2RldmljZV9hdHRhY2gobmV0ZGV2KTsKKworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgbWFjYl9zdXNwZW5kCU5VTEwKKyNkZWZpbmUgbWFjYl9yZXN1bWUJTlVMTAorI2VuZGlmCisKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG1hY2JfZHJpdmVyID0gewogCS5yZW1vdmUJCT0gX19leGl0X3AobWFjYl9yZW1vdmUpLAorCS5zdXNwZW5kCT0gbWFjYl9zdXNwZW5kLAorCS5yZXN1bWUJCT0gbWFjYl9yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CiAJCS5uYW1lCQk9ICJtYWNiIiwKIAkJLm93bmVyCT0gVEhJU19NT0RVTEUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tYWN2bGFuLmMgYi9kcml2ZXJzL25ldC9tYWN2bGFuLmMKaW5kZXggYzM2YTAzYS4uODYwZDc1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWFjdmxhbi5jCisrKyBiL2RyaXZlcnMvbmV0L21hY3ZsYW4uYwpAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9ldGhlcmRldmljZS5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9mdy5jIGIvZHJpdmVycy9uZXQvbWx4NC9mdy5jCmluZGV4IGQ4MmYyNzUuLjJiNTAwNmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21seDQvZncuYworKysgYi9kcml2ZXJzL25ldC9tbHg0L2Z3LmMKQEAgLTEwMSw2ICsxMDEsMzQgQEAKIAkJCW1seDRfZGJnKGRldiwgIiAgICAlc1xuIiwgZm5hbWVbaV0pOwogfQogCitpbnQgbWx4NF9NT0RfU1RBVF9DRkcoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyAqY2ZnKQoreworCXN0cnVjdCBtbHg0X2NtZF9tYWlsYm94ICptYWlsYm94OworCXUzMiAqaW5ib3g7CisJaW50IGVyciA9IDA7CisKKyNkZWZpbmUgTU9EX1NUQVRfQ0ZHX0lOX1NJWkUJCTB4MTAwCisKKyNkZWZpbmUgTU9EX1NUQVRfQ0ZHX1BHX1NaX01fT0ZGU0VUCTB4MDAyCisjZGVmaW5lIE1PRF9TVEFUX0NGR19QR19TWl9PRkZTRVQJMHgwMDMKKworCW1haWxib3ggPSBtbHg0X2FsbG9jX2NtZF9tYWlsYm94KGRldik7CisJaWYgKElTX0VSUihtYWlsYm94KSkKKwkJcmV0dXJuIFBUUl9FUlIobWFpbGJveCk7CisJaW5ib3ggPSBtYWlsYm94LT5idWY7CisKKwltZW1zZXQoaW5ib3gsIDAsIE1PRF9TVEFUX0NGR19JTl9TSVpFKTsKKworCU1MWDRfUFVUKGluYm94LCBjZmctPmxvZ19wZ19zeiwgTU9EX1NUQVRfQ0ZHX1BHX1NaX09GRlNFVCk7CisJTUxYNF9QVVQoaW5ib3gsIGNmZy0+bG9nX3BnX3N6X20sIE1PRF9TVEFUX0NGR19QR19TWl9NX09GRlNFVCk7CisKKwllcnIgPSBtbHg0X2NtZChkZXYsIG1haWxib3gtPmRtYSwgMCwgMCwgTUxYNF9DTURfTU9EX1NUQVRfQ0ZHLAorCQkJTUxYNF9DTURfVElNRV9DTEFTU19BKTsKKworCW1seDRfZnJlZV9jbWRfbWFpbGJveChkZXYsIG1haWxib3gpOworCXJldHVybiBlcnI7Cit9CisKIGludCBtbHg0X1FVRVJZX0RFVl9DQVAoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X2Rldl9jYXAgKmRldl9jYXApCiB7CiAJc3RydWN0IG1seDRfY21kX21haWxib3ggKm1haWxib3g7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L2Z3LmggYi9kcml2ZXJzL25ldC9tbHg0L2Z3LmgKaW5kZXggMzA2Y2I5Yi4uYTBlMDQ2YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9mdy5oCisrKyBiL2RyaXZlcnMvbmV0L21seDQvZncuaApAQCAtMzgsNiArMzgsMTEgQEAKICNpbmNsdWRlICJtbHg0LmgiCiAjaW5jbHVkZSAiaWNtLmgiCiAKK3N0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyB7CisJdTggbG9nX3BnX3N6OworCXU4IGxvZ19wZ19zel9tOworfTsKKwogc3RydWN0IG1seDRfZGV2X2NhcCB7CiAJaW50IG1heF9zcnFfc3o7CiAJaW50IG1heF9xcF9zejsKQEAgLTE2Miw1ICsxNjcsNiBAQAogaW50IG1seDRfTUFQX0lDTV9BVVgoc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X2ljbSAqaWNtKTsKIGludCBtbHg0X1VOTUFQX0lDTV9BVVgoc3RydWN0IG1seDRfZGV2ICpkZXYpOwogaW50IG1seDRfTk9QKHN0cnVjdCBtbHg0X2RldiAqZGV2KTsKK2ludCBtbHg0X01PRF9TVEFUX0NGRyhzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfbW9kX3N0YXRfY2ZnICpjZmcpOwogCiAjZW5kaWYgLyogTUxYNF9GV19IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9tbHg0L21haW4uYyBiL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jCmluZGV4IGE2YWE0OWYuLmQzNzM2MDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L21seDQvbWFpbi5jCkBAIC00ODUsNiArNDg1LDcgQEAKIAlzdHJ1Y3QgbWx4NF9wcml2CSAgKnByaXYgPSBtbHg0X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgbWx4NF9hZGFwdGVyCSAgIGFkYXB0ZXI7CiAJc3RydWN0IG1seDRfZGV2X2NhcAkgICBkZXZfY2FwOworCXN0cnVjdCBtbHg0X21vZF9zdGF0X2NmZyAgIG1seDRfY2ZnOwogCXN0cnVjdCBtbHg0X3Byb2ZpbGUJICAgcHJvZmlsZTsKIAlzdHJ1Y3QgbWx4NF9pbml0X2hjYV9wYXJhbSBpbml0X2hjYTsKIAl1NjQgaWNtX3NpemU7CkBAIC01MDIsNiArNTAzLDEyIEBACiAJCXJldHVybiBlcnI7CiAJfQogCisJbWx4NF9jZmcubG9nX3BnX3N6X20gPSAxOworCW1seDRfY2ZnLmxvZ19wZ19zeiA9IDA7CisJZXJyID0gbWx4NF9NT0RfU1RBVF9DRkcoZGV2LCAmbWx4NF9jZmcpOworCWlmIChlcnIpCisJCW1seDRfd2FybihkZXYsICJGYWlsZWQgdG8gb3ZlcnJpZGUgbG9nX3BnX3N6IHBhcmFtZXRlclxuIik7CisKIAllcnIgPSBtbHg0X2Rldl9jYXAoZGV2LCAmZGV2X2NhcCk7CiAJaWYgKGVycikgewogCQltbHg0X2VycihkZXYsICJRVUVSWV9ERVZfQ0FQIGNvbW1hbmQgZmFpbGVkLCBhYm9ydGluZy5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbWx4NC9tY2cuYyBiL2RyaXZlcnMvbmV0L21seDQvbWNnLmMKaW5kZXggNTdmN2YxZi4uYjRiNTc4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NC9tY2cuYworKysgYi9kcml2ZXJzL25ldC9tbHg0L21jZy5jCkBAIC0zOCw2ICszOCw5IEBACiAKICNpbmNsdWRlICJtbHg0LmgiCiAKKyNkZWZpbmUgTUdNX1FQTl9NQVNLICAgICAgIDB4MDBGRkZGRkYKKyNkZWZpbmUgTUdNX0JMQ0tfTEJfQklUICAgIDMwCisKIHN0cnVjdCBtbHg0X21nbSB7CiAJX19iZTMyCQkJbmV4dF9naWRfaW5kZXg7CiAJX19iZTMyCQkJbWVtYmVyc19jb3VudDsKQEAgLTE1Myw3ICsxNTYsOCBAQAogCXJldHVybiBlcnI7CiB9CiAKLWludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSkKK2ludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSwKKwkJCSAgaW50IGJsb2NrX21jYXN0X2xvb3BiYWNrKQogewogCXN0cnVjdCBtbHg0X3ByaXYgKnByaXYgPSBtbHg0X3ByaXYoZGV2KTsKIAlzdHJ1Y3QgbWx4NF9jbWRfbWFpbGJveCAqbWFpbGJveDsKQEAgLTIwMiwxMyArMjA2LDE4IEBACiAJfQogCiAJZm9yIChpID0gMDsgaSA8IG1lbWJlcnNfY291bnQ7ICsraSkKLQkJaWYgKG1nbS0+cXBbaV0gPT0gY3B1X3RvX2JlMzIocXAtPnFwbikpIHsKKwkJaWYgKChiZTMyX3RvX2NwdShtZ20tPnFwW2ldKSAmIE1HTV9RUE5fTUFTSykgPT0gcXAtPnFwbikgewogCQkJbWx4NF9kYmcoZGV2LCAiUVAgJTA2eCBhbHJlYWR5IGEgbWVtYmVyIG9mIE1HTVxuIiwgcXAtPnFwbik7CiAJCQllcnIgPSAwOwogCQkJZ290byBvdXQ7CiAJCX0KIAotCW1nbS0+cXBbbWVtYmVyc19jb3VudCsrXSA9IGNwdV90b19iZTMyKHFwLT5xcG4pOworCWlmIChibG9ja19tY2FzdF9sb29wYmFjaykKKwkJbWdtLT5xcFttZW1iZXJzX2NvdW50KytdID0gY3B1X3RvX2JlMzIoKHFwLT5xcG4gJiBNR01fUVBOX01BU0spIHwKKwkJCQkJCSAgICAgICAoMSA8PCBNR01fQkxDS19MQl9CSVQpKTsKKwllbHNlCisJCW1nbS0+cXBbbWVtYmVyc19jb3VudCsrXSA9IGNwdV90b19iZTMyKHFwLT5xcG4gJiBNR01fUVBOX01BU0spOworCiAJbWdtLT5tZW1iZXJzX2NvdW50ICAgICAgID0gY3B1X3RvX2JlMzIobWVtYmVyc19jb3VudCk7CiAKIAllcnIgPSBtbHg0X1dSSVRFX01DRyhkZXYsIGluZGV4LCBtYWlsYm94KTsKQEAgLTI4Myw3ICsyOTIsNyBAQAogCiAJbWVtYmVyc19jb3VudCA9IGJlMzJfdG9fY3B1KG1nbS0+bWVtYmVyc19jb3VudCk7CiAJZm9yIChsb2MgPSAtMSwgaSA9IDA7IGkgPCBtZW1iZXJzX2NvdW50OyArK2kpCi0JCWlmIChtZ20tPnFwW2ldID09IGNwdV90b19iZTMyKHFwLT5xcG4pKQorCQlpZiAoKGJlMzJfdG9fY3B1KG1nbS0+cXBbaV0pICYgTUdNX1FQTl9NQVNLKSA9PSBxcC0+cXBuKQogCQkJbG9jID0gaTsKIAogCWlmIChsb2MgPT0gLTEpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMgYi9kcml2ZXJzL25ldC9teXJpMTBnZS9teXJpMTBnZS5jCmluZGV4IGUwZDc2YzcuLjgyM2JiNmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMKKysrIGIvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYwpAQCAtNTI5LDYgKzUyOSw3IEBACiAJdW5zaWduZWQgY3JjLCByZXJlYWRfY3JjOwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJc3RydWN0IGRldmljZSAqZGV2ID0gJm1ncC0+cGRldi0+ZGV2OworCXVuc2lnbmVkIGNoYXIgKmZ3X3JlYWRiYWNrOwogCXN0cnVjdCBtY3BfZ2VuX2hlYWRlciAqaGRyOwogCXNpemVfdCBoZHJfb2Zmc2V0OwogCWludCBzdGF0dXM7CkBAIC01NzEsOSArNTcyLDE1IEBACiAJCW1iKCk7CiAJCXJlYWRiKG1ncC0+c3JhbSk7CiAJfQorCWZ3X3JlYWRiYWNrID0gdm1hbGxvYyhmdy0+c2l6ZSk7CisJaWYgKCFmd19yZWFkYmFjaykgeworCQlzdGF0dXMgPSAtRU5PTUVNOworCQlnb3RvIGFib3J0X3dpdGhfZnc7CisJfQogCS8qIGNvcnJ1cHRpb24gY2hlY2tpbmcgaXMgZ29vZCBmb3IgcGFyaXR5IHJlY292ZXJ5IGFuZCBidWdneSBjaGlwc2V0ICovCi0JbWVtY3B5X2Zyb21pbyhmdy0+ZGF0YSwgbWdwLT5zcmFtICsgTVlSSTEwR0VfRldfT0ZGU0VULCBmdy0+c2l6ZSk7Ci0JcmVyZWFkX2NyYyA9IGNyYzMyKH4wLCBmdy0+ZGF0YSwgZnctPnNpemUpOworCW1lbWNweV9mcm9taW8oZndfcmVhZGJhY2ssIG1ncC0+c3JhbSArIE1ZUkkxMEdFX0ZXX09GRlNFVCwgZnctPnNpemUpOworCXJlcmVhZF9jcmMgPSBjcmMzMih+MCwgZndfcmVhZGJhY2ssIGZ3LT5zaXplKTsKKwl2ZnJlZShmd19yZWFkYmFjayk7CiAJaWYgKGNyYyAhPSByZXJlYWRfY3JjKSB7CiAJCWRldl9lcnIoZGV2LCAiQ1JDIGZhaWxlZChmdy1sZW49JXUpLCBnb3QgMHgleCAoZXhwZWN0IDB4JXgpXG4iLAogCQkJKHVuc2lnbmVkKWZ3LT5zaXplLCByZXJlYWRfY3JjLCBjcmMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcHBwX2dlbmVyaWMuYyBiL2RyaXZlcnMvbmV0L3BwcF9nZW5lcmljLmMKaW5kZXggMWY0Y2EyYi4uODM2MjVmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvcHBwX2dlbmVyaWMuYworKysgYi9kcml2ZXJzL25ldC9wcHBfZ2VuZXJpYy5jCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CiAjaW5jbHVkZSA8bGludXgvaXAuaD4KICNpbmNsdWRlIDxsaW51eC90Y3AuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcndzZW0uaD4KICNpbmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KQEAgLTM1Myw2ICszNTQsNyBAQAogICovCiBzdGF0aWMgaW50IHBwcF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJLyoKIAkgKiBUaGlzIGNvdWxkIChzaG91bGQ/KSBiZSBlbmZvcmNlZCBieSB0aGUgcGVybWlzc2lvbnMgb24gL2Rldi9wcHAuCiAJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuYyBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jCmluZGV4IDVmMWM1MDcuLmZhNzNlNmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jCisrKyBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CiAjaW5jbHVkZSA8bGludXgvdHJkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtNTksNyArNjAsNiBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJzbWN0ci5oIiAgICAgICAgICAgICAgIC8qIE91ciBTdHVmZiAqLwotI2luY2x1ZGUgInNtY3RyX2Zpcm13YXJlLmgiICAgICAgLyogU01DIGFkYXB0ZXIgZmlybXdhcmUgKi8KIAogc3RhdGljIGNoYXIgdmVyc2lvbltdIF9faW5pdGRhdGEgPSBLRVJOX0lORk8gInNtY3RyLmM6IHYxLjQgNy8xMi8wMCBieSBqc2NobHN0QHNhbWJhLm9yZ1xuIjsKIHN0YXRpYyBjb25zdCBjaGFyIGNhcmRuYW1lW10gPSAic21jdHIiOwpAQCAtMTAzLDcgKzEwMyw4IEBACiBzdGF0aWMgaW50IHNtY3RyX2Nsb3NlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogCiAvKiBEICovCi1zdGF0aWMgaW50IHNtY3RyX2RlY29kZV9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKK3N0YXRpYyBpbnQgc21jdHJfZGVjb2RlX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCisJCQkJIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpOwogc3RhdGljIGludCBzbWN0cl9kaXNhYmxlXzE2Yml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBzbWN0cl9kaXNhYmxlX2FkYXB0ZXJfY3RybF9zdG9yZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKIHN0YXRpYyBpbnQgc21jdHJfZGlzYWJsZV9iaWNfaW50KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpOwpAQCAtNzQ4LDcgKzc0OSw4IEBACiAgICAgICAgIHJldHVybiAoMCk7CiB9CiAKLXN0YXRpYyBpbnQgc21jdHJfZGVjb2RlX2Zpcm13YXJlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IHNtY3RyX2RlY29kZV9maXJtd2FyZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJCSBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQogewogICAgICAgICBzdHJ1Y3QgbmV0X2xvY2FsICp0cCA9IG5ldGRldl9wcml2KGRldik7CiAgICAgICAgIHNob3J0IGJpdCA9IDB4ODAsIHNoaWZ0ID0gMTI7CkBAIC03NjIsMTAgKzc2NCwxMCBAQAogICAgICAgICBpZihzbWN0cl9kZWJ1ZyA+IDEwKQogICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0RFQlVHICIlczogc21jdHJfZGVjb2RlX2Zpcm13YXJlXG4iLCBkZXYtPm5hbWUpOwogCi0gICAgICAgIHdlaWdodCAgPSAqKGxvbmcgKikodHAtPnB0cl91Y29kZSArIFdFSUdIVF9PRkZTRVQpOwotICAgICAgICB0c2l6ZSAgID0gKihfX3U4ICopKHRwLT5wdHJfdWNvZGUgKyBUUkVFX1NJWkVfT0ZGU0VUKTsKLSAgICAgICAgdHJlZSAgICA9IChERUNPREVfVFJFRV9OT0RFICopKHRwLT5wdHJfdWNvZGUgKyBUUkVFX09GRlNFVCk7Ci0gICAgICAgIHVjb2RlICAgPSAoX191OCAqKSh0cC0+cHRyX3Vjb2RlICsgVFJFRV9PRkZTRVQKKyAgICAgICAgd2VpZ2h0ICA9ICoobG9uZyAqKShmdy0+ZGF0YSArIFdFSUdIVF9PRkZTRVQpOworICAgICAgICB0c2l6ZSAgID0gKihfX3U4ICopKGZ3LT5kYXRhICsgVFJFRV9TSVpFX09GRlNFVCk7CisgICAgICAgIHRyZWUgICAgPSAoREVDT0RFX1RSRUVfTk9ERSAqKShmdy0+ZGF0YSArIFRSRUVfT0ZGU0VUKTsKKyAgICAgICAgdWNvZGUgICA9IChfX3U4ICopKGZ3LT5kYXRhICsgVFJFRV9PRkZTRVQKICAgICAgICAgICAgICAgICAgICAgICAgICsgKHRzaXplICogc2l6ZW9mKERFQ09ERV9UUkVFX05PREUpKSk7CiAgICAgICAgIG1lbSAgICAgPSAoX191MTYgKikodHAtPnJhbV9hY2Nlc3MpOwogCkBAIC0yOTYzLDM0ICsyOTY1LDQ0IEBACiBzdGF0aWMgaW50IHNtY3RyX2xvYWRfZmlybXdhcmUoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIHsKICAgICAgICAgc3RydWN0IG5ldF9sb2NhbCAqdHAgPSBuZXRkZXZfcHJpdihkZXYpOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAgICAgICAgIF9fdTE2IGksIGNoZWNrc3VtID0gMDsKICAgICAgICAgaW50IGVyciA9IDA7CiAKICAgICAgICAgaWYoc21jdHJfZGVidWcgPiAxMCkKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9ERUJVRyAiJXM6IHNtY3RyX2xvYWRfZmlybXdhcmVcbiIsIGRldi0+bmFtZSk7CiAKLSAgICAgICAgdHAtPnB0cl91Y29kZSAgICAgICAgICAgPSBzbWN0cl9jb2RlOworCWlmIChyZXF1ZXN0X2Zpcm13YXJlKCZmdywgInRyX3NtY3RyLmJpbiIsICZkZXYtPmRldikpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmlybXdhcmUgbm90IGZvdW5kXG4iLCBkZXYtPm5hbWUpOworCQlyZXR1cm4gKFVDT0RFX05PVF9QUkVTRU5UKTsKKwl9CisKICAgICAgICAgdHAtPm51bV9vZl90eF9idWZmcyAgICAgPSA0OwogICAgICAgICB0cC0+bW9kZV9iaXRzICAgICAgICAgIHw9IFVNQUM7CiAgICAgICAgIHRwLT5yZWNlaXZlX21hc2sgICAgICAgID0gMDsKICAgICAgICAgdHAtPm1heF9wYWNrZXRfc2l6ZSAgICAgPSA0MTc3OwogCiAgICAgICAgIC8qIENhbiBvbmx5IHVwbG9hZCB0aGUgZmlybXdhcmUgb25jZSBwZXIgYWRhcHRlciByZXNldC4gKi8KLSAgICAgICAgaWYodHAtPm1pY3JvY29kZV92ZXJzaW9uICE9IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuIChVQ09ERV9QUkVTRU5UKTsKKyAgICAgICAgaWYgKHRwLT5taWNyb2NvZGVfdmVyc2lvbiAhPSAwKSB7CisJCWVyciA9IChVQ09ERV9QUkVTRU5UKTsKKwkJZ290byBvdXQ7CisJfQogCiAgICAgICAgIC8qIFZlcmlmeSB0aGUgZmlybXdhcmUgZXhpc3RzIGFuZCBpcyB0aGVyZSBpbiB0aGUgcmlnaHQgYW1vdW50LiAqLwotICAgICAgICBpZiAoIXRwLT5wdHJfdWNvZGUKLSAgICAgICAgICAgICAgICB8fCAoKih0cC0+cHRyX3Vjb2RlICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpIDwgVUNPREVfVkVSU0lPTikpCisgICAgICAgIGlmICghZnctPmRhdGEKKyAgICAgICAgICAgICAgICB8fCAoKihmdy0+ZGF0YSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKSA8IFVDT0RFX1ZFUlNJT04pKQogICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChVQ09ERV9OT1RfUFJFU0VOVCk7CisgICAgICAgICAgICAgICAgZXJyID0gKFVDT0RFX05PVF9QUkVTRU5UKTsKKwkJZ290byBvdXQ7CiAgICAgICAgIH0KIAogICAgICAgICAvKiBVQ09ERV9TSVpFIGlzIG5vdCBpbmNsdWRlZCBpbiBDaGVja3N1bS4gKi8KLSAgICAgICAgZm9yKGkgPSAwOyBpIDwgKigoX191MTYgKikodHAtPnB0cl91Y29kZSArIFVDT0RFX1NJWkVfT0ZGU0VUKSk7IGkgKz0gMikKLSAgICAgICAgICAgICAgICBjaGVja3N1bSArPSAqKChfX3UxNiAqKSh0cC0+cHRyX3Vjb2RlICsgMiArIGkpKTsKLSAgICAgICAgaWYoY2hlY2tzdW0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIChVQ09ERV9OT1RfUFJFU0VOVCk7CisgICAgICAgIGZvcihpID0gMDsgaSA8ICooKF9fdTE2ICopKGZ3LT5kYXRhICsgVUNPREVfU0laRV9PRkZTRVQpKTsgaSArPSAyKQorICAgICAgICAgICAgICAgIGNoZWNrc3VtICs9ICooKF9fdTE2ICopKGZ3LT5kYXRhICsgMiArIGkpKTsKKyAgICAgICAgaWYgKGNoZWNrc3VtKSB7CisJCWVyciA9IChVQ09ERV9OT1RfUFJFU0VOVCk7CisJCWdvdG8gb3V0OworCX0KIAogICAgICAgICAvKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYSB2YWxpZCBmaXJtd2FyZSBpbWFnZSwgbGV0cyBraWNrIGl0IG9uIHVwLiAqLwogICAgICAgICBzbWN0cl9lbmFibGVfYWRhcHRlcl9yYW0oZGV2KTsKQEAgLTI5OTgsNyArMzAxMCw3IEBACiAgICAgICAgIHNtY3RyX3NldF9wYWdlKGRldiwgKF9fdTggKil0cC0+cmFtX2FjY2Vzcyk7CiAKICAgICAgICAgaWYoKHNtY3RyX2NoZWNrc3VtX2Zpcm13YXJlKGRldikpCi0gICAgICAgICAgICAgICAgfHwgKCoodHAtPnB0cl91Y29kZSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKQorICAgICAgICAgICAgICAgIHx8ICgqKGZ3LT5kYXRhICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpCiAgICAgICAgICAgICAgICAgPiB0cC0+bWljcm9jb2RlX3ZlcnNpb24pKQogICAgICAgICB7CiAgICAgICAgICAgICAgICAgc21jdHJfZW5hYmxlX2FkYXB0ZXJfY3RybF9zdG9yZShkZXYpOwpAQCAtMzAwNyw5ICszMDE5LDkgQEAKICAgICAgICAgICAgICAgICBmb3IoaSA9IDA7IGkgPCBDU19SQU1fU0laRTsgaSArPSAyKQogICAgICAgICAgICAgICAgICAgICAgICAgKigoX191MTYgKikodHAtPnJhbV9hY2Nlc3MgKyBpKSkgPSAwOwogCi0gICAgICAgICAgICAgICAgc21jdHJfZGVjb2RlX2Zpcm13YXJlKGRldik7CisgICAgICAgICAgICAgICAgc21jdHJfZGVjb2RlX2Zpcm13YXJlKGRldiwgZncpOwogCi0gICAgICAgICAgICAgICAgdHAtPm1pY3JvY29kZV92ZXJzaW9uID0gKih0cC0+cHRyX3Vjb2RlICsgVUNPREVfVkVSU0lPTl9PRkZTRVQpOyAgICAgICAgICAgICAgICAqKChfX3UxNiAqKSh0cC0+cmFtX2FjY2VzcyArIENTX1JBTV9WRVJTSU9OX09GRlNFVCkpCisgICAgICAgICAgICAgICAgdHAtPm1pY3JvY29kZV92ZXJzaW9uID0gKihmdy0+ZGF0YSArIFVDT0RFX1ZFUlNJT05fT0ZGU0VUKTsgICAgICAgICAgICAgICAgKigoX191MTYgKikodHAtPnJhbV9hY2Nlc3MgKyBDU19SQU1fVkVSU0lPTl9PRkZTRVQpKQogICAgICAgICAgICAgICAgICAgICAgICAgPSAodHAtPm1pY3JvY29kZV92ZXJzaW9uIDw8IDgpOwogICAgICAgICAgICAgICAgICooKF9fdTE2ICopKHRwLT5yYW1fYWNjZXNzICsgQ1NfUkFNX0NIRUNLU1VNX09GRlNFVCkpCiAgICAgICAgICAgICAgICAgICAgICAgICA9IH4odHAtPm1pY3JvY29kZV92ZXJzaW9uIDw8IDgpICsgMTsKQEAgLTMwMjMsNyArMzAzNSw4IEBACiAgICAgICAgICAgICAgICAgZXJyID0gVUNPREVfUFJFU0VOVDsKIAogICAgICAgICBzbWN0cl9kaXNhYmxlXzE2Yml0KGRldik7Ci0KKyBvdXQ6CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAgICAgICAgIHJldHVybiAoZXJyKTsKIH0KIApAQCAtNTY1MSw2ICs1NjY0LDcgQEAKIHN0YXRpYyBpbnQgaXJxW1NNQ1RSX01BWF9BREFQVEVSU107CiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgidHJfc21jdHIuYmluIik7CiAKIG1vZHVsZV9wYXJhbV9hcnJheShpbywgaW50LCBOVUxMLCAwKTsKIG1vZHVsZV9wYXJhbV9hcnJheShpcnEsIGludCwgTlVMTCwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHIuaCBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oCmluZGV4IDg4ZGZhMmUuLjUyZGY3ZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oCisrKyBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0ci5oCkBAIC0xMDQyLDggKzEwNDIsNiBAQAogICAgICAgICBfX3UxNiAgICAgICAgICAgIGZ1bmN0aW9uYWxfYWRkcmVzc1syXTsKICAgICAgICAgX191MTYgICAgICAgICAgICBiaXR3aXNlX2dyb3VwX2FkZHJlc3NbMl07CiAKLQljb25zdCBfX3U4ICAgICAgICpwdHJfdWNvZGU7Ci0KIAlfX3U4CQljbGVhbnVwOwogCiAJc3RydWN0IHNrX2J1ZmZfaGVhZCBTZW5kU2tiUXVldWU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90b2tlbnJpbmcvc21jdHJfZmlybXdhcmUuaCBiL2RyaXZlcnMvbmV0L3Rva2VucmluZy9zbWN0cl9maXJtd2FyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOTJlNTBkZGYuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9uZXQvdG9rZW5yaW5nL3NtY3RyX2Zpcm13YXJlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NzggKzAsMCBAQAotLyoKLSAqIFRoZSBmaXJtd2FyZSB0aGlzIGRyaXZlciBkb3dubG9hZHMgaW50byB0aGUgdG9rZW5yaW5nIGNhcmQgaXMgYQotICogc2VwYXJhdGUgcHJvZ3JhbSBhbmQgaXMgbm90IEdQTCdkIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGUgTGludXgKLSAqIHNpZGUgZHJpdmVyIGFuZCB0aGUgcm91dGluZSB0aGF0IGxvYWRzIHRoaXMgZGF0YSBpbnRvIHRoZSBjYXJkIGFyZS4KLSAqCi0gKiBUaGlzIGZpcm13YXJlIGlzIGxpY2Vuc2VkIHRvIHlvdSBzdHJpY3RseSBmb3IgdXNlIGluIGNvbmp1bmN0aW9uCi0gKiB3aXRoIHRoZSB1c2Ugb2YgU01DIFRva2VuUmluZyBhZGFwdGVycy4gVGhlcmUgaXMgbm8gd2FyYW50eQotICogZXhwcmVzc2VkIG9yIGltcGxpZWQgYWJvdXQgaXRzIGZpdG5lc3MgZm9yIGFueSBwdXJwb3NlLgotICovCi0KLS8qIHNtY3RyX2Zpcm13YXJlLmg6IFNNQyBUb2tlblJpbmcgZHJpdmVyIGZpcm13YXJlIGR1bXAgZm9yIExpbnV4LgotICoKLSAqIE5vdGVzOgotICogIC0gVGhpcyBpcyBhbiA4SyBiaW5hcnkgaW1hZ2UuIChNQ1QuQklOIHY2LjNDMSAwMy8wMS85NSkKLSAqCi0gKiBBdXRob3JzOgotICogIC0gSmF5IFNjaHVsaXN0IDxqc2NobHN0QHNhbWJhLm9yZz4KLSAqLwotCi0KLSNpZiBkZWZpbmVkKENPTkZJR19TTUNUUikgfHwgZGVmaW5lZChDT05GSUdfU01DVFJfTU9EVUxFKQotCi1zdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBzbWN0cl9jb2RlW10gPSB7Ci0JMHgwQkMsIDB4MDFELCAweDAxMiwgMHgwM0IsIDB4MDYzLCAweDBCNCwgMHgwRTksIDB4MDAwLAotCTB4MDAwLCAweDAxRiwgMHgwMDAsIDB4MDAxLCAweDAwMSwgMHgwMDAsIDB4MDAyLCAweDAwNSwKLQkweDAwMSwgMHgwMDAsIDB4MDA2LCAweDAwMywgMHgwMDEsIDB4MDAwLCAweDAwNCwgMHgwMDksCi0JMHgwMDEsIDB4MDAwLCAweDAwQSwgMHgwMDcsIDB4MDAxLCAweDAwMCwgMHgwMDgsIDB4MDBCLAotCTB4MDAxLCAweDAwMCwgMHgwMEMsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwRiwKLQkweDAwMSwgMHgwMDAsIDB4MDEwLCAweDAwRCwgMHgwMDEsIDB4MDAwLCAweDAwRSwgMHgwMTMsCi0JMHgwMDEsIDB4MDAwLCAweDAxNCwgMHgwMTEsIDB4MDAxLCAweDAwMCwgMHgwMTIsIDB4MDAwLAotCTB4MDAwLCAweDAwNSwgMHgwMDAsIDB4MDE1LCAweDAwMSwgMHgwMDAsIDB4MDE2LCAweDAxOSwKLQkweDAwMSwgMHgwMDAsIDB4MDFBLCAweDAxNywgMHgwMDEsIDB4MDAwLCAweDAxOCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBFLCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwMSwgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwNCwgMHgwMDAsIDB4MDFCLCAweDAwMSwgMHgwMDAsIDB4MDFDLCAweDAwMCwKLQkweDAwMCwgMHgwMDcsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDBGLCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBCLCAweDAwMCwgMHgwMUQsIDB4MDAxLCAweDAwMCwgMHgwMUUsIDB4MDAwLAotCTB4MDAwLCAweDAwOCwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDIsIDB4MDAwLCAweDAwMCwKLQkweDAwMCwgMHgwMEMsIDB4MDAwLCAweDAwMCwgMHgwMDAsIDB4MDA2LCAweDAwMCwgMHgwMDAsCi0JMHgwMDAsIDB4MDBELCAweDAwMCwgMHgwMDAsIDB4MDAwLCAweDAwMywgMHgwMDAsIDB4MDAwLAotCTB4MDAwLCAweDAwQSwgMHgwMDAsIDB4MDAwLCAweDAwMCwgMHgwMDksIDB4MDAwLCAweDAwNCwKLQkweDA3OCwgMHgwQzYsIDB4MEJDLCAweDAwMSwgMHgwOTQsIDB4MDA0LCAweDA5MywgMHgwODAsCi0JMHgwQzgsIDB4MDQwLCAweDA2MiwgMHgwRTksIDB4MERBLCAweDAxQywgMHgwMkMsIDB4MDE1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1OCwKLQkweDAwQiwgMHgwRTksIDB4MEU1LCAweDBENSwgMHgwOTUsIDB4MEMxLCAweDA5RCwgMHgwNzcsCi0JMHgwQ0UsIDB4MEJCLCAweDBBMCwgMHgwNkUsIDB4MDFDLCAweDAwNSwgMHgwRjYsIDB4MDc3LAotCTB4MEM2LCAweDAwMiwgMHgwRkEsIDB4MDk2LCAweDA3MCwgMHgwRTgsIDB4MDFELCAweDBDMCwKLQkweDAxNywgMHgwMEUsIDB4MDAyLCAweDBGQSwgMHgwNTgsIDB4MDdELCAweDBDMCwgMHgwNUYsCi0JMHgwNzIsIDB4MENFLCAweDBFQywgMHgwQTQsIDB4MEMzLCAweDA4NCwgMHgwOTAsIDB4MDdBLAotCTB4MDMwLCAweDBDRCwgMHgwOEQsIDB4MDc5LCAweDAxOSwgMHgwRTcsIDB4MDZDLCAweDAyNCwKLQkweDAyNywgMHgwOUMsIDB4MDA4LCAweDAzOSwgMHgwMDcsIDB4MDM4LCAweDBBOCwgMHgwNEEsCi0JMHgwNEMsIDB4MEVBLCAweDA0RCwgMHgwOTgsIDB4MDlCLCAweDAyNCwgMHgwNEMsIDB4MEMwLAotCTB4MDI2LCAweDBEMywgMHgwRTcsIDB4MDU0LCAweDA1QSwgMHgwNEQsIDB4MEYyLCAweDA0QywKLQkweDAwQywgMHgwMTMsIDB4MDIzLCAweDA0OSwgMHgwOTAsIDB4MDMyLCAweDA2RSwgMHgwQTQsCi0JMHgwREYsIDB4MDkzLCAweDA3MSwgMHgwMTMsIDB4MDc3LCAweDAyNiwgMHgwRTEsIDB4MDI2LAotCTB4MEY4LCAweDAyNiwgMHgwMEMsIDB4MDRDLCAweDAxMiwgMHgwMjYsIDB4MDA4LCAweDAwOSwKLQkweDA4MiwgMHgwODIsIDB4MDYwLCAweDBBOSwgMHgwMzAsIDB4MDc5LCAweDAzNiwgMHgwQjAsCi0JMHgwQjIsIDB4MEE4LCAweDBBNywgMHgwNzIsIDB4MDY0LCAweDA4RiwgMHgwOUIsIDB4MDMzLAotCTB4MDMzLCAweDBGOSwgMHgwQjgsIDB4MDM5LCAweDBENSwgMHgwMTEsIDB4MDczLCAweDBBQSwKLQkweDA3NSwgMHgwMjYsIDB4MDVELCAweDAyNiwgMHgwNTEsIDB4MDkzLCAweDAyQSwgMHgwNDksCi0JMHgwOTQsIDB4MEM5LCAweDA5NSwgMHgwODksIDB4MEJDLCAweDA0RCwgMHgwQzgsIDB4MDlCLAotCTB4MDgwLCAweDA5QiwgMHgwQTAsIDB4MDk5LCAweDAwNiwgMHgwNEMsIDB4MDg2LCAweDAyNiwKLQkweDA1OCwgMHgwOUIsIDB4MEE0LCAweDA5QiwgMHgwOTksIDB4MDM3LCAweDA2MiwgMHgwNkMsCi0JMHgwNjcsIDB4MDlCLCAweDAzMywgMHgwMzAsIDB4MEJGLCAweDAzNiwgMHgwNjYsIDB4MDYxLAotCTB4MEJGLCAweDAzNiwgMHgwRUMsIDB4MEM1LCAweDBCRCwgMHgwNjYsIDB4MDgyLCAweDA1QSwKLQkweDA1MCwgMHgwMzEsIDB4MEQ1LCAweDA5RCwgMHgwOTgsIDB4MDE4LCAweDAyOSwgMHgwM0MsCi0JMHgwOTgsIDB4MDg2LCAweDA0QywgMHgwMTcsIDB4MDI2LCAweDAzRSwgMHgwMkMsIDB4MEI4LAotCTB4MDY5LCAweDAzQiwgMHgwNDksIDB4MDJFLCAweDBCNCwgMHgwMDgsIDB4MDQzLCAweDAxQSwKLQkweDBBNCwgMHgwRjksIDB4MEIzLCAweDA1MSwgMHgwRjEsIDB4MDEwLCAweDBGMywgMHgwNDMsCi0JMHgwQ0QsIDB4MDA4LCAweDA2RiwgMHgwNjMsIDB4MDc5LCAweDBCMywgMHgwMzMsIDB4MDBFLAotCTB4MDEzLCAweDA5OCwgMHgwNDksIDB4MDk4LCAweDAwNCwgMHgwREEsIDB4MDdDLCAweDBFMCwKLQkweDA1MiwgMHgwNzksIDB4MDMxLCAweDAwQywgMHgwOTgsIDB4MDJFLCAweDA0RCwgMHgwQUMsCi0JMHgwMkMsIDB4MDg0LCAweDAxNCwgMHgwRUUsIDB4MDRDLCAweDBGRSwgMHgwNjcsIDB4MDVFLAotCTB4MEU0LCAweDA5QSwgMHgwNzUsIDB4MDI5LCAweDBENywgMHgwQTksIDB4MDM1LCAweDAzQSwKLQkweDA5NCwgMHgwNUIsIDB4MEQ1LCAweDA5QiwgMHgwNTgsIDB4MEI0LCAweDBBRiwgMHgwNzUsCi0JMHgwNjYsIDB4MEFGLCAweDAxNCwgMHgwQTksIDB4MEVGLCAweDA0MCwgMHgwOTUsIDB4MDI1LAotCTB4MDA4LCAweDBCOSwgMHgwQUQsIDB4MDQyLCAweDBGQywgMHgwRDgsIDB4MEQ5LCAweDA4QywKLQkweDAzMywgMHgwMEUsIDB4MDEzLCAweDA5OCwgMHgwNjYsIDB4MDFFLCAweDA0NSwgMHgwQUMsCi0JMHgwQjAsIDB4MDBDLCAweDA0MiwgMHgwRDMsIDB4MENDLCAweDBBNiwgMHgwMTIsIDB4MDYyLAotCTB4MERFLCAweDBCNCwgMHgwQjEsIDB4MDgwLCAweDA0OSwgMHgwN0QsIDB4MEEyLCAweDBERSwKLQkweDBCNCwgMHgwMTgsIDB4MEMwLCAweDAyNCwgMHgwODQsIDB4MEU2LCAweDA1NCwgMHgwRjUsCi0JMHgwODMsIDB4MDQ2LCAweDAwMSwgMHgwNjgsIDB4MDFBLCAweDA2MywgMHgwMEMsIDB4MEM2LAotCTB4MDEyLCAweDA2NCwgMHgwRkEsIDB4MDRDLCAweDAzNSwgMHgwMUMsIDB4MDJDLCAweDAwRSwKLQkweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsCi0JMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBRCwgMHgwRDcsIDB4MDAyLAotCTB4MDcwLCAweDBFMCwgMHgwNEMsIDB4MEYzLCAweDBBMSwgMHgwQzEsIDB4MEQ1LCAweDBDMCwKLQkweDAzQywgMHgwQjksIDB4MDY5LCAweDAzOSwgMHgwNjAsIDB4MDRFLCAweDA1OCwgMHgwNzcsCi0JMHgwMDIsIDB4MDY3LCAweDA5MywgMHgwM0MsIDB4MDk5LCAweDBFNCwgMHgwQ0YsIDB4MDM4LAotCTB4MDFDLCAweDA5NywgMHgwMkUsIDB4MDQwLCAweDAxQiwgMHgwOTAsIDB4MDMxLCAweDA0NiwKLQkweDBBMywgMHgwNUUsIDB4MDBFLCAweDA4OCwgMHgwMzQsIDB4MDZBLCAweDAzNSwgMHgwRTAsCi0JMHgwRTgsIDB4MEFBLCAweDAzNSwgMHgwMUEsIDB4MEE5LCAweDBGNSwgMHgwMTUsIDB4MDQ2LAotCTB4MEEzLCAweDBFQSwgMHgwN0QsIDB4MDRBLCAweDBBMywgMHgwNTEsIDB4MEFBLCAweDA5RiwKLQkweDA3MCwgMHgwNTQsIDB4MEE2LCAweDA1NywgMHgwMkUsIDB4MEI0LCAweDBDRCwgMHgwQzgsCi0JMHgwQTMsIDB4MDBDLCAweDBDMSwgMHgwREEsIDB4MEM2LCAweDBFMSwgMHgwQ0IsIDB4MDdBLAotCTB4MEQ0LCAweDAxQywgMHgwNjgsIDB4MEZGLCAweDBDRiwgMHgwNTUsIDB4MEE4LCAweDBDMCwKLQkweDAyRCwgMHgwODUsIDB4MDExLCAweDAxNywgMHgwNDQsIDB4MDJBLCAweDAzMCwgMHgwMEIsCi0JMHgwNEEsIDB4MDg4LCAweDBDMiwgMHgwNEQsIDB4MEI1LCAweDAyMCwgMHgwRDUsIDB4MDI2LAotCTB4MDAxLCAweDA2OSwgMHgwNTEsIDB4MDY5LCAweDA1MiwgMHgwMTksIDB4MDUyLCAweDA2MCwKLQkweDAxNiwgMHgwOTUsIDB4MDE2LCAweDA4MiwgMHgwOTYsIDB4MDU0LCAweDA5OCwgMHgwMDUsCi0JMHgwQTUsIDB4MDQ1LCAweDBGMywgMHgwREQsIDB4MDZBLCAweDBGOSwgMHgwMjgsIDB4MDE4LAotCTB4MEVGLCAweDAwMCwgMHgwMzAsIDB4MDMwLCAweDA1MSwgMHgwNEUsIDB4MDQ0LCAweDA1RCwKLQkweDAxMiwgMHgwRDEsIDB4MDQzLCAweDBFNiwgMHgwMTIsIDB4MDZGLCAweDA5RSwgMHgwQkEsCi0JMHgwQ0MsIDB4MERGLCAweDAyNSwgMHgwMDMsIDB4MDFELCAweDBFMCwgMHgwMDYsIDB4MDA2LAotCTB4MDBBLCAweDAzMCwgMHgwQ0MsIDB4MEE5LCAweDBFQiwgMHgwMkQsIDB4MDAwLCAweDA4NiwKLQkweDBBNiwgMHgwMTIsIDB4MDY1LCAweDA0RiwgMHgwNTYsIDB4MEQ2LCAweDA2NSwgMHgwNDksCi0JMHgwNUYsIDB4MDNELCAweDBFOCwgMHgwMzcsIDB4MEM5LCAweDA0MCwgMHgwQzcsIDB4MDc4LAotCTB4MDAxLCAweDA4MSwgMHgwODIsIDB4MDhDLCAweDAzMywgMHgwMTgsIDB4MDQ5LCAweDA4MCwKLQkweDBBRSwgMHgwNDAsIDB4MEM1LCAweDAxOCwgMHgwMDUsIDB4MDlDLCAweDA2RCwgMHgwMTgsCi0JMHgwNjYsIDB4MDBFLCAweDBGMywgMHgwQTAsIDB4MEM2LCAweDAxMiwgMHgwNjIsIDB4MERFLAotCTB4MEY1LCAweDAwNCwgMHgwQjQsIDB4MEFDLCAweDA2QiwgMHgwQzYsIDB4MDE5LCAweDA5MSwKLQkweDA3MywgMHgwMDUsIDB4MDQ4LCAweDAyRSwgMHgwNzIsIDB4MDk0LCAweDA4MCwgMHgwNzMsCi0JMHgwQTEsIDB4MEM4LCAweDA0NywgMHgwMzYsIDB4MDY2LCAweDA2NCwgMHgwMkYsIDB4MDM2LAotCTB4MDY2LCAweDA2NCwgMHgwMDcsIDB4MDk5LCAweDAwMiwgMHgwOTEsIDB4MDhFLCAweDA3MiwKLQkweDBEMSwgMHgwMEYsIDB4MDlELCAweDAwNiwgMHgwMzEsIDB4MDczLCAweDBBMCwgMHgwQzMsCi0JMHgwNTEsIDB4MDZBLCAweDAxQSwgMHgwMjAsIDB4MEJGLCAweDAzQSwgMHgwMEMsIDB4MDJDLAotCTB4MDczLCAweDA4NywgMHgwNDMsIDB4MDVFLCAweDA2MCwgMHgwMDIsIDB4MDIzLCAweDBGQywKLQkweDBFMCwgMHgwRDYsIDB4MDM1LCAweDBFRiwgMHgwOUUsIDB4MEY1LCAweDBFRiwgMHgwOTIsCi0JMHgwODEsIDB4MDhFLCAweDBGMCwgMHgwMDMsIDB4MDAzLCAweDAwNSwgMHgwMTgsIDB4MDY2LAotCTB4MDQ1LCAweDBDQywgMHgwMEIsIDB4MDQ4LCAweDAyRSwgMHgwNzAsIDB4MDBBLCAweDA0MCwKLQkweDAzOSwgMHgwRDAsIDB4MEU0LCAweDAyMywgMHgwOUIsIDB4MDMzLCAweDAzMiwgMHgwMTcsCi0JMHgwOUIsIDB4MDMzLCAweDAzMiwgMHgwMDMsIDB4MENDLCAweDA4NSwgMHgwNDgsIDB4MEM3LAotCTB4MDM4LCAweDAxNCwgMHgwQTUsIDB4MENFLCAweDAyOSwgMHgwN0UsIDB4MEQyLCAweDA4MCwKLQkweDBBMSwgMHgwQTgsIDB4MEI0LCAweDA0OCwgMHgwODgsIDB4MDJGLCAweDBDRSwgMHgwODMsCi0JMHgwMEIsIDB4MDFDLCAweDBFMSwgMHgwRDAsIDB4MEQ3LCAweDA5OCwgMHgwMDQsIDB4MDg4LAotCTB4MDg3LCAweDBDRSwgMHgwOTYsIDB4MDMxLCAweDA3MywgMHgwQTUsIDB4MDhGLCAweDBGMywKLQkweDA4MywgMHgwNTgsIDB4MEQ3LCAweDBCRSwgMHgwN0IsIDB4MDgyLCAweDBBRiwgMHgwOTIsCi0JMHgwODEsIDB4MDhFLCAweDBGMCwgMHgwMDMsIDB4MDAzLCAweDAwNSwgMHgwMTgsIDB4MDY2LAotCTB4MDQ1LCAweDBDQywgMHgwMTUsIDB4MDIwLCAweDBCOSwgMHgwQzgsIDB4MDI5LCAweDAwMCwKLQkweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNkMsIDB4MENDLCAweDBDOCwgMHgwNUUsCi0JMHgwNkMsIDB4MENDLCAweDBDOCwgMHgwMEYsIDB4MDMyLCAweDAwNSwgMHgwMjMsIDB4MDFDLAotCTB4MEU0LCAweDA1MCwgMHgwRDQsIDB4MDVBLCAweDAxNywgMHgwODgsIDB4MDJGLCAweDBDRSwKLQkweDA4MywgMHgwMTAsIDB4MEY5LCAweDBEMCwgMHgwMjMsIDB4MDE3LCAweDAzQSwgMHgwMDQsCi0JMHgwMzUsIDB4MEU2LCAweDAwMCwgMHgwMjIsIDB4MDE2LCAweDAzOSwgMHgwQzMsIDB4MEEzLAotCTB4MEZDLCAweDBFMCwgMHgwRDYsIDB4MDM1LCAweDBFMCwgMHgwQkYsIDB4MEY0LCAweDAxOCwKLQkweDBGMiwgMHgwMkQsIDB4MDRELCAweDA0MywgMHgwNTEsIDB4MDZFLCAweDA1QSwgMHgwMjIsCi0JMHgwMUYsIDB4MDMwLCAweDBENCwgMHgwMTcsIDB4MEU3LCAweDA0MSwgMHgwOTEsIDB4MDczLAotCTB4MDA1LCAweDA0OCwgMHgwMkUsIDB4MDc3LCAweDA2OSwgMHgwMDAsIDB4MEU3LCAweDA0MywKLQkweDA5MCwgMHgwOEUsIDB4MDZDLCAweDBDQywgMHgwQzgsIDB4MDVFLCAweDA2QywgMHgwQ0MsCi0JMHgwQzgsIDB4MDBGLCAweDAzMiwgMHgwMDUsIDB4MDIzLCAweDAxQywgMHgwRUYsIDB4MDRDLAotCTB4MDRFLCAweDAwNiwgMHgwMDQsIDB4MEM5LCAweDA5RSwgMHgwMEIsIDB4MEZGLCAweDA0MSwKLQkweDA4RiwgMHgwMjIsIDB4MEQ0LCAweDBENCwgMHgwMzUsIDB4MDE2LCAweDBFNSwgMHgwQTIsCi0JMHgwMjEsIDB4MEYzLCAweDA1QSwgMHgwODIsIDB4MEZDLCAweDBFOCwgMHgwMzIsIDB4MDJFLAotCTB4MDYwLCAweDBBOSwgMHgwMDUsIDB4MENFLCAweDAxMywgMHgwNDgsIDB4MDA3LCAweDAzQSwKLQkweDAxQywgMHgwODQsIDB4MDczLCAweDA2NiwgMHgwNjYsIDB4MDQyLCAweDBGMywgMHgwNjYsCi0JMHgwNjYsIDB4MDQwLCAweDA3OSwgMHgwOTAsIDB4MDI5LCAweDAxOCwgMHgwRTcsIDB4MDBBLAotCTB4MDk4LCAweDA5QywgMHgwMEEsIDB4MDlFLCAweDBCNSwgMHgwMTIsIDB4MDVDLCAweDA3QywKLQkweDBDMywgMHgwMzEsIDB4MDhCLCAweDA5OCwgMHgwMkEsIDB4MDdDLCAweDBEMywgMHgwRUQsCi0JMHgwMzgsIDB4MEU5LCAweDBEMywgMHgwNEUsIDB4MDc0LCAweDBFRCwgMHgwNDksIDB4MDlFLAotCTB4MDBCLCAweDBGRiwgMHgwNDEsIDB4MDhGLCAweDAyMiwgMHgwRDQsIDB4MEQ0LCAweDAzNSwKLQkweDAxNiwgMHgwRTUsIDB4MEEyLCAweDAyRCwgMHgwRUIsIDB4MDQ1LCAweDAzMywgMHgwOEYsCi0JMHgwRkMsIDB4MEY3LCAweDBBMCwgMHgwNUYsIDB4MDI1LCAweDAwMywgMHgwMUQsIDB4MEU0LAotCTB4MDBFLCAweDAwNiwgMHgwMEEsIDB4MDMwLCAweDBDQywgMHgwMEMsIDB4MEYzLCAweDBFQiwKLQkweDA0MCwgMHgwREUsIDB4MDYxLCAweDBBOCwgMHgwNzAsIDB4MDkyLCAweDAwQSwgMHgwMDAsCi0JMHgwRTEsIDB4MDI0LCAweDAxRSwgMHgwMDAsIDB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAwLAotCTB4MEUxLCAweDAyNCwgMHgwMUUsIDB4MDAwLCAweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMCwKLQkweDBFMSwgMHgwMjQsIDB4MDFFLCAweDAwMSwgMHgwMEYsIDB4MDk4LCAweDAyQSwgMHgwMEIsCi0JMHgwRjMsIDB4MEEwLCAweDBDOCwgMHgwQjksIDB4MEEyLCAweDBBNCwgMHgwMTcsIDB4MDNBLAotCTB4MDY5LCAweDAwMCwgMHgwRTcsIDB4MDQzLCAweDA5MCwgMHgwOEUsIDB4MDc1LCAweDA0OCwKLQkweDA1RSwgMHgwNzAsIDB4MDY5LCAweDAwMSwgMHgwRTYsIDB4MDAwLCAweDA1MiwgMHgwMzEsCi0JMHgwQ0MsIDB4MDE4LCAweDAxNCwgMHgwQTUsIDB4MENDLCAweDAwOSwgMHgwODIsIDB4MDk0LAotCTB4MDczLCAweDAwQywgMHgwQTAsIDB4MDkxLCAweDBGNSwgMHgwMjUsIDB4MENDLCAweDAwNywKLQkweDAwNiwgMHgwODQsIDB4MDg0LCAweDA5RiwgMHgwMzAsIDB4MEEyLCAweDBBNCwgMHgwN0QsCi0JMHgwNTAsIDB4MDc1LCAweDBBNiwgMHgwNjUsIDB4MDAxLCAweDA0QSwgMHgwOEUsIDB4MEI0LAotCTB4MENDLCAweDBDNCwgMHgwMzUsIDB4MDU0LCAweDA3NSwgMHgwNjYsIDB4MEE0LCAweDA5NywKLQkweDA3QSwgMHgwODksIDB4MDUwLCAweDA1MywgMHgwMTMsIDB4MDgwLCAweDAxOSwgMHgwRTMsCi0JMHgwNDksIDB4MDVDLCAweDA2RCwgMHgwQ0UsIDB4MEE5LCAweDA0MCwgMHgwMzUsIDB4MDA2LAotCTB4MDc4LCAweDBEMiwgMHgwNTcsIDB4MDA2LCAweDBGMSwgMHgwQjMsIDB4MDJBLCAweDA4RCwKLQkweDA5NywgMHgwMjMsIDB4MDYyLCAweDA5MiwgMHgwNUQsIDB4MDY5LCAweDA5OSwgMHgwMUMsCi0JMHgwNkEsIDB4MDM2LCAweDBFNiwgMHgwQ0QsIDB4MDQ2LCAweDAxMiwgMHgwNkYsIDB4MDlFLAotCTB4MEUxLCAweDBBQiwgMHgwRTQsIDB4MEEzLCAweDAwQywgMHgwQzAsIDB4MERFLCAweDBBQywKLQkweDBENCwgMHgwMEQsIDB4MDI4LCAweDAxQiwgMHgwRDAsIDB4MDEyLCAweDBBNSwgMHgwMDAsCi0JMHgwRjgsIDB4MDRCLCAweDBBRCwgMHgwMzMsIDB4MDI4LCAweDAwNiwgMHgwQTAsIDB4MERFLAotCTB4MDE0LCAweDA5NywgMHgwM0EsIDB4MDg5LCAweDA1RCwgMHgwQzAsIDB4MDBELCAweDBFMywKLQkweDAwNiwgMHgwOTAsIDB4MDkyLCAweDA1RCwgMHgwNjksIDB4MDk4LCAweDA2NiwgMHgwQjksCi0JMHgwMTksIDB4MDk1LCAweDBFNCwgMHgwQTgsIDB4MENGLCAweDA5RCwgMHgwMzMsIDB4MDE4LAotCTB4MDQ5LCAweDBCRSwgMHgwN0IsIDB4MDg2LCAweDBBRiwgMHgwOTIsIDB4MDhDLCAweDAzMywKLQkweDAyNCwgMHgwMTQsIDB4MDBDLCAweDBGNCwgMHgwODMsIDB4MDI0LCAweDAyMSwgMHgwQzIsCi0JMHgwNzAsIDB4MEJGLCAweDBGNCwgMHgwMTgsIDB4MEYyLCAweDAyRCwgMHgwNEQsIDB4MDQzLAotCTB4MDUxLCAweDA2RSwgMHgwNUEsIDB4MDIyLCAweDAxRiwgMHgwMzIsIDB4MEE4LCAweDAyRiwKLQkweDBDRSwgMHgwODMsIDB4MDIyLCAweDBFNiwgMHgwMDUsIDB4MEE0LCAweDAxNywgMHgwM0EsCi0JMHgwNjksIDB4MDAwLCAweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNzUsIDB4MDQ4LAotCTB4MDVFLCAweDA3MCwgMHgwNjksIDB4MDAxLCAweDBFNiwgMHgwNDIsIDB4MEE0LCAweDA2MywKLQkweDA5OCwgMHgwMDIsIDB4MDI5LCAweDA0QiwgMHgwOUEsIDB4MDI5LCAweDA3OCwgMHgwRTksCi0JMHgwNDAsIDB4MDUzLCAweDAxMywgMHgwODEsIDB4MDgxLCAweDAzMiwgMHgwNjcsIDB4MDgyLAotCTB4MEZGLCAweDBEMCwgMHgwNjMsIDB4MEM4LCAweDBCNSwgMHgwMzUsIDB4MDBELCAweDA0NSwKLQkweDBBRSwgMHgwNTAsIDB4MDA4LCAweDA3QywgMHgwRTAsIDB4MEQwLCAweDA1RiwgMHgwOUQsCi0JMHgwMDYsIDB4MDQ1LCAweDBDQywgMHgwMDEsIDB4MEE0LCAweDAxNywgMHgwM0EsIDB4MDY5LAotCTB4MDAwLCAweDBFNywgMHgwNDMsIDB4MDkwLCAweDA4RSwgMHgwNzUsIDB4MDQ4LCAweDA1RSwKLQkweDA3MCwgMHgwNjksIDB4MDAxLCAweDBFNiwgMHgwNTksIDB4MEE0LCAweDA2MywgMHgwOTgsCi0JMHgwMUMsIDB4MDUyLCAweDA5NywgMHgwM0IsIDB4MDMwLCAweDA1MiwgMHgwOEUsIDB4MDdELAotCTB4MDJBLCAweDAwOSwgMHgwMUYsIDB4MDUxLCAweDBFQiwgMHgwQTQsIDB4MEE0LCAweDAwQSwKLQkweDBCOSwgMHgwOTQsIDB4MDg3LCAweDBBRSwgMHgwQzUsIDB4MDMxLCAweDAzOCwgMHgwMDIsCi0JMHgwRkYsIDB4MEQwLCAweDA2MywgMHgwQzgsIDB4MEI1LCAweDAzNSwgMHgwMEQsIDB4MDQ1LAotCTB4MEFFLCAweDA1MCwgMHgwMDgsIDB4MDdDLCAweDBFQSwgMHgwMjAsIDB4MEJGLCAweDAzQSwKLQkweDAwQywgMHgwOEIsIDB4MDlBLCAweDAxNiwgMHgwOTAsIDB4MDVDLCAweDBFOSwgMHgwQTQsCi0JMHgwMDMsIDB4MDlELCAweDAwRSwgMHgwNDIsIDB4MDM5LCAweDBENSwgMHgwMjEsIDB4MDc5LAotCTB4MDk1LCAweDA0OCwgMHgwMEYsIDB4MDMwLCAweDAwQSwgMHgwOTEsIDB4MDhFLCAweDA2MCwKLQkweDBFQiwgMHgwMjksIDB4MDczLCAweDAwMCwgMHgwMDksIDB4MDU0LCAweDAwNCwgMHgwQ0EsCi0JMHgwODIsIDB4MDY1LCAweDA1MiwgMHgwNjUsIDB4MEU0LCAweDBDQSwgMHgwMjIsIDB4MDY1LAotCTB4MDcyLCAweDA2NSwgMHgwMDksIDB4MDMyLCAweDBFMCwgMHgwOTksIDB4MDcyLCAweDA0QywKLQkweDBDNCwgMHgwRTAsIDB4MDBCLCAweDBGRiwgMHgwNDEsIDB4MDhGLCAweDAyMiwgMHgwRDQsCi0JMHgwRDQsIDB4MDM1LCAweDAxNiwgMHgwQjksIDB4MDQwLCAweDAyMSwgMHgwRjMsIDB4MDhBLAotCTB4MDgyLCAweDBGQywgMHgwRTgsIDB4MDMyLCAweDAyRSwgMHgwNjAsIDB4MEE5LCAweDAwNSwKLQkweDBDRSwgMHgwOUEsIDB4MDQwLCAweDAzOSwgMHgwRDAsIDB4MEU0LCAweDAyMywgMHgwOUQsCi0JMHgwNTIsIDB4MDE3LCAweDA5OSwgMHgwNTQsIDB4MDYxLCAweDA5OSwgMHgwMDEsIDB4MEU2LAotCTB4MDQwLCAweDBBNCwgMHgwNjMsIDB4MDk4LCAweDAwNCwgMHgwQjEsIDB4MDg0LCAweDA5OCwKLQkweDAxOCwgMHgwRUYsIDB4MDJELCAweDAwMywgMHgwMDUsIDB4MDMxLCAweDAzOCwgMHgwMDIsCi0JMHgwRkYsIDB4MEQwLCAweDA2MywgMHgwQzgsIDB4MEI1LCAweDAzNSwgMHgwMEQsIDB4MDQ1LAotCTB4MEI5LCAweDA2OCwgMHgwODgsIDB4MDdDLCAweDBFMCwgMHgwNTAsIDB4MDVGLCAweDA5RCwKLQkweDAwNiwgMHgwNDUsIDB4MENDLCAweDA4MSwgMHgwNDgsIDB4MDJFLCAweDA3MSwgMHgwMzQsCi0JMHgwOEYsIDB4MDQ4LCAweDAwMSwgMHgwNDgsIDB4MDE1LCAweDAyMSwgMHgwMDUsIDB4MDIxLAotCTB4MEU5LCAweDAwQSwgMHgwNTIsIDB4MDAzLCAweDBDRSwgMHgwNUEsIDB4MDQ2LCAweDAzOSwKLQkweDBDRiwgMHgwNDcsIDB4MDhFLCAweDA2MCwgMHgwQUIsIDB4MDFBLCAweDBGMywgMHgwNTMsCi0JMHgwNDMsIDB4MEVCLCAweDAzNSwgMHgwMjQsIDB4MEI4LCAweDAxQiwgMHgwMzAsIDB4MDA3LAotCTB4MDA5LCAweDA4QSwgMHgwNzQsIDB4MDJGLCAweDA3RSwgMHgwNDEsIDB4MDc0LCAweDAxRSwKLQkweDAxRCwgMHgwMEQsIDB4MDg3LCAweDA0NiwgMHgwNDksIDB4MEQ1LCAweDA5NSwgMHgwRDEsCi0JMHgwRDUsIDB4MEQ1LCAweDBCQiwgMHgwQTksIDB4MDRFLCAweDA4MiwgMHgwOUQsIDB4MDA1LAotCTB4MDNBLCAweDAwQSwgMHgwNzQsIDB4MDE0LCAweDBFOCwgMHgwMjksIDB4MEQwLCAweDA0MiwKLQkweDA3NCwgMHgwNUIsIDB4MENFLCAweDA1MCwgMHgwQzQsIDB4MDA3LCAweDA0NSwgMHgwQkMsCi0JMHgwRTIsIDB4MDBDLCAweDA0MCwgMHgwNzQsIDB4MDVCLCAweDBDRSwgMHgwODMsIDB4MDA0LAotCTB4MEY5LCAweDA5NSwgMHgwNEQsIDB4MDEzLCAweDA2MywgMHgwNUUsIDB4MDZGLCAweDAzMSwKLQkweDAzQiwgMHgwQTAsIDB4MDhCLCAweDBBMiwgMHgwQzUsIDB4MDM5LCAweDA4RCwgMHgwNzgsCi0JMHgwM0EsIDB4MDIyLCAweDBBMCwgMHgwMDAsIDB4MDZCLCAweDBDMSwgMHgwRDEsIDB4MDU0LAotCTB4MDYwLCAweDAxNiwgMHgwRDksIDB4MDkxLCAweDBBMiwgMHgwRTcsIDB4MDQzLCAweDA4QywKLQkweDAyNCwgMHgwREMsIDB4MDFDLCAweDBFMCwgMHgwNTEsIDB4MDE3LCAweDAzOSwgMHgwNkIsCi0JMHgwM0IsIDB4MENDLCAweDA0QiwgMHgwNDIsIDB4MDJFLCAweDA2QiwgMHgwNTAsIDB4MEJGLAotCTB4MDM2LCAweDAzNiwgMHgwNjUsIDB4MDRGLCAweDA3QSwgMHgwMTgsIDB4MDU1LCAweDAyNSwKLQkweDA3OCwgMHgwOTgsIDB4MDIzLCAweDBFNywgMHgwNTAsIDB4MDNFLCAweDBGMywgMHgwODEsCi0JMHgwNEMsIDB4MDAyLCAweDA2RCwgMHgwM0UsIDB4MDcxLCAweDA1MywgMHgwQUYsIDB4MDc4LAotCTB4MEE5LCAweDBENCwgMHgwQTYsIDB4MDI5LCAweDBCMSwgMHgwQkMsIDB4MEQ5LCAweDA5OSwKLQkweDBCMiwgMHgwOEUsIDB4MDYyLCAweDA4RiwgMHgwMjIsIDB4MDJFLCAweDA3NSwgMHgwMTYsCi0JMHgwQjAsIDB4MEIyLCAweDBBQiwgMHgwMjMsIDB4MDI4LCAweDAxNiwgMHgwNTQsIDB4MDUyLAotCTB4MDMxLCAweDBCQywgMHgwRDksIDB4MDk5LCAweDBCMiwgMHgwOEUsIDB4MDY2LCAweDAxOSwKLQkweDAwMiwgMHgwMkUsIDB4MDc1LCAweDAxNiwgMHgwNTAsIDB4MDJDLCAweDBBOSwgMHgwQzgsCi0JMHgwQzYsIDB4MEY1LCAweDAyMCwgMHgwRDMsIDB4MEU0LCAweDA3RiwgMHgwNEYsIDB4MDlDLAotCTB4MDBBLCAweDBENiwgMHgwMTYsIDB4MDdGLCAweDA5MCwgMHgwRUUsIDB4MDRDLCAweDBFQiwKLQkweDBDRiwgMHgwRTIsIDB4MDg4LCAweDBCQSwgMHgwMkYsIDB4MDQyLCAweDA4NiwgMHgwQUUsCi0JMHgwQkQsIDB4MEU1LCAweDBBNywgMHgwNTIsIDB4MDlGLCAweDA5MywgMHgwNjMsIDB4MDc5LAotCTB4MEVCLCAweDAzMywgMHgwMDgsIDB4MEY5LCAweDA5NCwgMHgwNTIsIDB4MDQ3LCAweDBDRCwKLQkweDA5OSwgMHgwMjUsIDB4MDZGLCAweDAzQSwgMHgwMEMsIDB4MDEzLCAweDBFNiwgMHgwNTUsCi0JMHgwMzQsIDB4MDRDLCAweDA1QSwgMHgwNEQsIDB4MEI1LCAweDAyMywgMHgwOTUsIDB4MEE1LAotCTB4MDQ4LCAweDAxMSwgMHgwNUEsIDB4MDBBLCAweDA0MywgMHgwOTUsIDB4MEFDLCAweDAyQywKLQkweDBCQSwgMHgwMjQsIDB4MDA1LCAweDA0OSwgMHgwQjEsIDB4MEJDLCAweDBDQSwgMHgwQTcsCi0JMHgwNzIsIDB4MDZDLCAweDA2QiwgMHgwQzUsIDB4MEJELCAweDBFOCwgMHgwMzEsIDB4MDY5LAotCTB4MDUyLCAweDA1RCwgMHgwMDYsIDB4MDEyLCAweDA2NSwgMHgwM0UsIDB4MEIxLCAweDA1MCwKLQkweDA0QywgMHgwN0QsIDB4MDRGLCAweDBBQywgMHgwMEEsIDB4MDMwLCAweDAwQiwgMHgwMzYsCi0JMHgwNjQsIDB4MDExLCAweDA3MywgMHgwOEEsIDB4MDgzLCAweDA4RSwgMHgwNzUsIDB4MDEyLAotCTB4MDlGLCAweDA3QiwgMHgwRDIsIDB4MDk5LCAweDA1OCwgMHgwRUUsIDB4MDgyLCAweDAyRSwKLQkweDA3NywgMHgwQTAsIDB4MEUzLCAweDA5RCwgMHgwNUQsIDB4MDRGLCAweDBCQywgMHgwMkEsCi0JMHgwNTMsIDB4MDI5LCAweDA1MywgMHgwREUsIDB4MDkzLCAweDAyNCwgMHgwQkEsIDB4MEIzLAotCTB4MDM2LCAweDBBQSwgMHgwNEEsIDB4MEM2LCAweDA3OSwgMHgwRDQsIDB4MEI5LCAweDBERSwKLQkweDA2MiwgMHgwNUEsIDB4MDExLCAweDA3MywgMHgwNTAsIDB4MDUwLCAweDBCRiwgMHgwMzcsCi0JMHgwMzYsIDB4MDZGLCAweDAxMywgMHgwMjMsIDB4MEJBLCAweDAwQywgMHgwMjQsIDB4MENFLAotCTB4MEJELCAweDBFMiwgMHgwQTcsIDB4MDUyLCAweDBCMiwgMHgwOEUsIDB4MDZCLCAweDA2MCwKLQkweDA2MiwgMHgwMkUsIDB4MDc1LCAweDAxMywgMHgwMzAsIDB4MEFDLCAweDBBMCwgMHgwNTksCi0JMHgwQ0EsIDB4MDY0LCAweDA2MywgMHgwNzksIDB4MEIzLCAweDAzMywgMHgwNjUsIDB4MDFDLAotCTB4MENDLCAweDAzMiwgMHgwMDQsIDB4MDVDLCAweDBFQSwgMHgwMkMsIDB4MEEwLCAweDA1OSwKLQkweDBERiwgMHgwMjMsIDB4MDFCLCAweDBENCwgMHgwODMsIDB4MDUyLCAweDA0NywgMHgwREQsCi0JMHgwNzksIDB4MDk2LCAweDBENCwgMHgwOUUsIDB4MEIzLCAweDA1MiwgMHgwNEIsIDB4MEEyLAotCTB4MDVBLCAweDAxQSwgMHgwOEQsIDB4MDVELCAweDA3QiwgMHgwODIsIDB4MEE3LCAweDA1MiwKLQkweDBCMiwgMHgwOEUsIDB4MDY2LCAweDAxOSwgMHgwMDIsIDB4MDJFLCAweDA3NSwgMHgwMTYsCi0JMHgwNTAsIDB4MDJDLCAweDA4QywgMHgwMzIsIDB4MDFELCAweDA3QiwgMHgwOEUsIDB4MEE3LAotCTB4MDUyLCAweDBCMSwgMHgwQkMsIDB4MEQ5LCAweDA5OSwgMHgwOTgsIDB4MDA0LCAweDBEQSwKLQkweDA3QywgMHgwRTIsIDB4MEFDLCAweDBGRSwgMHgwNjYsIDB4MDE5LCAweDAwMiwgMHgwMkUsCi0JMHgwNjUsIDB4MDUwLCAweDBCRiwgMHgwMzMsIDB4MDY2LCAweDA2NCwgMHgwRkUsIDB4MDc0LAotCTB4MDE4LCAweDA4NiwgMHgwNEMsIDB4MDE3LCAweDAyNiwgMHgwRDYsIDB4MDE2LCAweDA1MiwKLQkweDAzOSwgMHgwMTgsIDB4MERFLCAweDA3QSwgMHgwQ0MsIDB4MEMyLCAweDAzRSwgMHgwNjUsCi0JMHgwMTQsIDB4MDkxLCAweDBGMywgMHgwNjYsIDB4MDQ5LCAweDAwOCwgMHgwNkUsIDB4MDgzLAotCTB4MDA5LCAweDAzMywgMHgwQUYsIDB4MDMxLCAweDBFRCwgMHgwMEQsIDB4MDlELCAweDAwNiwKLQkweDAxMiwgMHgwNjIsIDB4MDJBLCAweDAzMSwgMHgwOEQsIDB4MDZELCAweDBFNywgMHgwNDEsCi0JMHgwODIsIDB4MDdDLCAweDBDQSwgMHgwQTYsIDB4MDg5LCAweDA4NywgMHgwMDksIDB4MDJFLAotCTB4MDI5LCAweDBCMSwgMHgwQUYsIDB4MDEwLCAweDAzOSwgMHgwRDYsIDB4MDY0LCAweDA5NywKLQkweDAzMCwgMHgwMUQsIDB4MDQyLCAweDA3NSwgMHgwOTMsIDB4MDQ0LCAweDAwMiwgMHgwOEMsCi0JMHgwMjQsIDB4MEQyLCAweDA3QSwgMHgwQjMsIDB4MDUwLCAweDBGNiwgMHgwODksIDB4MDA1LAotCTB4MDQzLCAweDA1RSwgMHgwNjEsIDB4MDk4LCAweDBDMCwgMHgwMkMsIDB4MDkyLCAweDAyNSwKLQkweDAzQywgMHgwOEIsIDB4MDI0LCAweDA4OSwgMHgwNDksIDB4MDA1LCAweDA0OSwgMHgwRTcsCi0JMHgwMEMsIDB4MEI5LCAweDA4NCwgMHgwOTgsIDB4MEI3LCAweDBBRCwgMHgwMzMsIDB4MDQ0LAotCTB4MEFFLCAweDA1QSwgMHgwNTEsIDB4MDg2LCAweDA2MCwgMHgwOUYsIDB4MDM4LCAweDBBOSwKLQkweDBBMiwgMHgwNkMsIDB4MDZCLCAweDBDNCwgMHgwOEUsIDB4MEY0LCAweDA1RSwgMHgwNDksCi0JMHgwNDYsIDB4MDEyLCAweDA2MiwgMHgwREUsIDB4MEI0LCAweDBDRCwgMHgwMjEsIDB4MDVDLAotCTB4MEI0LCAweDBBMywgMHgwMEMsIDB4MEMxLCAweDAzRSwgMHgwNzIsIDB4MDI5LCAweDBBMiwKLQkweDA2QywgMHgwNkIsIDB4MEM2LCAweDAxMiwgMHgwNjIsIDB4MDQ3LCAweDBGMCwgMHgwRTgsCi0JMHgwQzMsIDB4MDMyLCAweDAwNCwgMHgwMzUsIDB4MDQwLCAweDA5MiwgMHgwQTQsIDB4MDgyLAotCTB4MDg4LCAweDAxMCwgMHgwOTIsIDB4MDdDLCAweDBDQiwgMHgwRDQsIDB4MDJGLCAweDBBNCwKLQkweDAwMiwgMHgwMTEsIDB4MDg0LCAweDA5OCwgMHgwQjcsIDB4MEFELCAweDAzMywgMHgwNDQsCi0JMHgwQUUsIDB4MDVBLCAweDA1MSwgMHgwODYsIDB4MDYwLCAweDA5RiwgMHgwMzgsIDB4MEE5LAotCTB4MEEyLCAweDA2QywgMHgwNkIsIDB4MEM0LCAweDA4RSwgMHgwRjQsIDB4MDVFLCAweDA0OSwKLQkweDA0NCwgMHgwMDgsIDB4MDQ5LCAweDAzRSwgMHgwNjUsIDB4MEVBLCAweDAxNywgMHgwRDIsCi0JMHgwMDEsIDB4MDA4LCAweDBDMiwgMHgwNEMsIDB4MDVCLCAweDBENiwgMHgwOTksIDB4MEE0LAotCTB4MDJCLCAweDA5NiwgMHgwOTQsIDB4MDYxLCAweDA5OCwgMHgwMjcsIDB4MENFLCAweDA0NSwKLQkweDAzNCwgMHgwNEQsIDB4MDhELCAweDA3OCwgMHgwODEsIDB4MDA5LCAweDAyNywgMHgwQ0MsCi0JMHgwQkQsIDB4MDEyLCAweDAyOCwgMHgwNkMsIDB4MDU4LCAweDBBRiwgMHgwQjYsIDB4MEYzLAotCTB4MEEwLCAweDBDMSwgMHgwM0UsIDB4MDY1LCAweDA1MywgMHgwNDQsIDB4MEQ4LCAweDBENywKLQkweDA5MiwgMHgwOEUsIDB4MDdELCAweDA0QiwgMHgwQzIsIDB4MEZBLCAweDA2MSwgMHgwMjYsCi0JMHgwMDYsIDB4MDNBLCAweDBCMywgMHgwNkIsIDB4MDAzLCAweDAwNSwgMHgwNDksIDB4MEU3LAotCTB4MDBDLCAweDBCOSwgMHgwNkYsIDB4MDVBLCAweDA2NiwgMHgwOTUsIDB4MDVDLCAweDBCNCwKLQkweDBBMywgMHgwMEMsIDB4MEMxLCAweDAzRSwgMHgwNzAsIDB4MDI5LCAweDBBMiwgMHgwNkUsCi0JMHgwQTQsIDB4MERGLCAweDA5MywgMHgwNzEsIDB4MDEzLCAweDA3NywgMHgwMjYsIDB4MEUxLAotCTB4MDI2LCAweDBGOCwgMHgwMjYsIDB4MEM2LCAweDBCQywgMHgwOTQsIDB4MDczLCAweDBGOSwKLQkweDAyRiwgMHgwMEIsIDB4MEU5LCAweDA4NCwgMHgwOTgsIDB4MDE4LCAweDBFQSwgMHgwQ0MsCi0JMHgwRUMsIDB4MDBDLCAweDAxNSwgMHgwMjcsIDB4MDlDLCAweDAzMiwgMHgwRkYsIDB4MDNELAotCTB4MDU2LCAweDBBRiwgMHgwOTIsIDB4MDhCLCAweDA3QSwgMHgwRDMsIDB4MDM1LCAweDBENSwKLQkweDBDQiwgMHgwNEEsIDB4MDMwLCAweDBDQywgMHgwMTMsIDB4MEU3LCAweDAwMiwgMHgwOUEsCi0JMHgwMjYsIDB4MEM2LCAweDBCQywgMHgwOTQsIDB4MDczLCAweDA0MSwgMHgwOTcsIDB4MDkxLAotCTB4MEY0LCAweDA4MywgMHgwQ0UsIDB4MDA0LCAweDAyMCwgMHgwNjIsIDB4MDhCLCAweDAwNSwKLQkweDAxNiwgMHgwNDksIDB4MDhDLCAweDAyNCwgMHgwQzAsIDB4MEM3LCAweDA1NiwgMHgwOTAsCi0JMHgwQzAsIDB4MEMxLCAweDA1MiwgMHgwNzksIDB4MEMzLCAweDAyRSwgMHgwNUIsIDB4MEQ1LAotCTB4MEE2LCAweDA3MiwgMHgwRDIsIDB4MDk0LCAweDBGQSwgMHgwQUQsIDB4MDU4LCAweDBDOCwKLQkweDBGQSwgMHgwOUYsIDB4MDU0LCAweDBCMywgMHgwMzIsIDB4MDRCLCAweDBCOSwgMHgwNTQsCi0JMHgwQTYsIDB4MDUxLCAweDA4NiwgMHgwNkIsIDB4MDc5LCAweDBEMCwgMHgwNjAsIDB4MDlGLAotCTB4MDMyLCAweDAwNSwgMHgwMzQsIDB4MDRELCAweDA4RCwgMHgwN0EsIDB4MDRELCAweDAxRSwKLQkweDA3QSwgMHgwQjMsIDB4MDUxLCAweDAwMCwgMHgwQTksIDB4MDNELCAweDA1OSwgMHgwQTgsCi0JMHgwN0IsIDB4MDQ0LCAweDA4MiwgMHgwQTEsIDB4MEFGLCAweDA0QSwgMHgwOEQsIDB4MDUyLAotCTB4MEE5LCAweDA1MiwgMHgwNDEsIDB4MDQ5LCAweDA0RiwgMHgwM0EsIDB4MDJFLCAweDA0MCwKLQkweDBBNCwgMHgwOTksIDB4MDUwLCAweDBCRSwgMHgwOTAsIDB4MDA4LCAweDA1MiwgMHgwNzksCi0JMHgwQzMsIDB4MDJFLCAweDA2MSwgMHgwMjYsIDB4MDJELCAweDBFQiwgMHgwNEMsIDB4MEQwLAotCTB4MDE1LCAweDBDQiwgMHgwNEEsIDB4MDMwLCAweDBDQywgMHgwMTMsIDB4MEU3LCAweDAwMiwKLQkweDA5QSwgMHgwMjYsIDB4MEM2LCAweDBCQywgMHgwNDgsIDB4MEZFLCAweDAxRCwgMHgwMjUsCi0JMHgwNDYsIDB4MEE5LCAweDA1NCwgMHgwQTksIDB4MDIwLCAweDBBNCwgMHgwQTcsIDB4MDlELAotCTB4MDE3LCAweDAyMCwgMHgwNTIsIDB4MDRDLCAweDBBOCwgMHgwNUYsIDB4MDQ4LCAweDAwNCwKLQkweDAyMywgMHgwMDksIDB4MDMxLCAweDA2RiwgMHgwNUEsIDB4MDY2LCAweDA4MCwgMHgwQUUsCi0JMHgwNUEsIDB4MDUxLCAweDA4NiwgMHgwNjAsIDB4MDlGLCAweDAzOCwgMHgwMTQsIDB4MEQxLAotCTB4MDM2LCAweDAzNSwgMHgwRTQsIDB4MEE3LCAweDA5RCwgMHgwMTcsIDB4MDIwLCAweDA1MiwKLQkweDA0QywgMHgwQTIsIDB4MDQ1LCAweDAwRCwgMHgwOEIsIDB4MDE1LCAweDBGNCwgMHgwOTEsCi0JMHgwREUsIDB4MDhCLCAweDBDOSwgMHgwMjgsIDB4MEMyLCAweDA0QywgMHgwNUIsIDB4MEQ2LAotCTB4MDk5LCAweDBBOSwgMHgwNUMsIDB4MEI0LCAweDBBMywgMHgwMEMsIDB4MEQ2LCAweDBGMywKLQkweDBBMCwgMHgwQzEsIDB4MDNFLCAweDA2NCwgMHgwMEEsIDB4MDY4LCAweDA5QiwgMHgwMUEsCi0JMHgwRjEsIDB4MDZELCAweDA0QywgMHgwQUEsIDB4MDkyLCAweDBFMCwgMHgwMzYsIDB4MDk0LAotCTB4MDcwLCAweDA5QiwgMHgwMjksIDB4MDc4LCAweDAxMywgMHgwQUUsIDB4MEIzLCAweDBBQSwKLQkweDA4NSwgMHgwRDQsIDB4MDQzLCAweDA3NSwgMHgwMDksIDB4MDNBLCAweDBDOSwgMHgwRUIsCi0JMHgwMzUsIDB4MDI0LCAweDBCOCwgMHgwMUIsIDB4MDMyLCAweDA4RSwgMHgwMTMsIDB4MDQ4LAotCTB4MDdFLCAweDA0RSwgMHgwRkQsIDB4MDQwLCAweDBGRCwgMHgwNDAsIDB4MEZELCAweDA0MCwKLQkweDBGRCwgMHgwNDAsIDB4MEZELCAweDA0MCwgMHgwRkMsIDB4MDEzLCAweDBGNCwgMHgwMjEsCi0JMHgwRjksIDB4MDE3LCAweDA0NSwgMHgwOEEsIDB4MDMwLCAweDAwQiwgMHgwMzMsIDB4MDVGLAotCTB4MDgzLCAweDBBMiwgMHgwMkEsIDB4MDMwLCAweDAwQiwgMHgwMzMsIDB4MDVGLCAweDA4MywKLQkweDBBMiwgMHgwQTgsIDB4MEMwLCAweDAyRCwgMHgwQjMsIDB4MDIwLCAweDA3MCwgMHgwOTIsCi0JMHgwMTMsIDB4MDlBLCAweDBERSwgMHgwNzQsIDB4MDE4LCAweDAyNywgMHgwQ0MsIDB4MEFBLAotCTB4MDY4LCAweDA5QiwgMHgwMUEsIDB4MEY3LCAweDAwNywgMHgwNDUsIDB4MDUxLCAweDA4MCwKLQkweDA1QiwgMHgwNjYsIDB4MDQ3LCAweDAwNywgMHgwMzgsIDB4MEE4LCAweDAyMywgMHgwRTcsCi0JMHgwNTEsIDB4MDExLCAweDAzRiwgMHgwRTAsIDB4MEU4LCAweDA4NSwgMHgwNDYsIDB4MDAxLAotCTB4MDZELCAweDA5OSwgMHgwMDYsIDB4MDEyLCAweDA2NSwgMHgwNEYsIDB4MDdBLCAweDAyMCwKLQkweDAyNCwgMHgwQkEsIDB4MEIzLCAweDAzMiwgMHgwMTUsIDB4MDI1LCAweDA3QiwgMHgwQUQsCi0JMHgwMzMsIDB4MDc4LCAweDBBRSwgMHgwMEUsIDB4MDczLCAweDBEMCwgMHgwNDcsIDB4MENFLAotCTB4MEE3LCAweDAzMCwgMHgwQ0MsIDB4MDQ0LCAweDBGRiwgMHgwODMsIDB4MEEyLCAweDBBOCwKLQkweDBDMCwgMHgwMkMsIDB4MEQ5LCAweDA5MSwgMHgwQzEsIDB4MEQxLCAweDAxNSwgMHgwMTgsCi0JMHgwMDUsIDB4MDlCLCAweDAzMiwgMHgwMDgsIDB4MEJBLCAweDAyQywgMHgwNTEsIDB4MDgwLAotCTB4MDU5LCAweDBCMywgMHgwMjAsIDB4MDcwLCAweDA5MiwgMHgwRTIsIDB4MDk4LCAweDA4OSwKLQkweDBGRCwgMHgwQkMsIDB4MEVFLCAweDAxOCwgMHgwOTAsIDB4MEZDLCAweDA4QiwgMHgwQTIsCi0JMHgwQzUsIDB4MDJCLCAweDAwRCwgMHgwNzgsIDB4MDNBLCAweDAyMiwgMHgwQTUsIDB4MDYxLAotCTB4MEFGLCAweDAwNywgMHgwNDUsIDB4MDUxLCAweDA4MCwgMHgwNUIsIDB4MDY2LCAweDA0NCwKLQkweDA5RSwgMHgwQjMsIDB4MDUyLCAweDA0QiwgMHgwODMsIDB4MEFELCAweDBDNywgMHgwMDksCi0JMHgwQkUsIDB4MDFGLCAweDA5RiwgMHgwNzQsIDB4MDY1LCAweDA1RCwgMHgwMEEsIDB4MDE3LAotCTB4MDdDLCAweDBBQiwgMHgwQTAsIDB4MEMyLCAweDA0QywgMHgwMzgsIDB4MDQ5LCAweDAxMiwKLQkweDAyRSwgMHgwMzgsIDB4MDQ5LCAweDAwNywgMHgwQTMsIDB4MDBDLCAweDBDMSwgMHgwM0UsCi0JMHgwNjUsIDB4MDUzLCAweDA0NCwgMHgwRDgsIDB4MEQ3LCAweDBBRCwgMHgwRTcsIDB4MDAwLAotCTB4MDMyLCAweDA0QiwgMHgwOUIsIDB4MDMzLCAweDAzNCwgMHgwNEEsIDB4MDAzLCAweDAwMCwKLQkweDA5RCwgMHgwMjUsIDB4MENFLCAweDA4MywgMHgwMjQsIDB4MEI4LCAweDAxOSwgMHgwOTksCi0JMHgwOEMsIDB4MDAyLCAweDAxMiwgMHgwNEIsIDB4MEExLCAweDA5OSwgMHgwRDgsIDB4MEMwLAotCTB4MDI3LCAweDA0OSwgMHgwNzMsIDB4MENGLCAweDBGOSwgMHgwM0MsIDB4MEY0LCAweDA3QywKLQkweDBFNywgMHgwOTgsIDB4MDA0LCAweDBFOSwgMHgwMkUsIDB4MDdGLCAweDAzOSwgMHgwRTMsCi0JMHgwNEYsIDB4MDQ2LCAweDA1MywgMHgwQzAsIDB4MDYwLCAweDAxMywgMHgwQTQsIDB4MEI5LAotCTB4MEU1LCAweDAzQywgMHgwMDMsIDB4MERFLCAweDA4RiwgMHgwOUMsIDB4MEYzLCAweDAwMCwKLQkweDA5QywgMHgwNkYsIDB4MENGLCAweDAzRSwgMHgwODUsIDB4MEY5LCAweDBBMywgMHgwMzYsCi0JMHgwMDIsIDB4MDFFLCAweDA2MCwgMHgwMzgsIDB4MDkyLCAweDAzRSwgMHgwNjMsIDB4MDFBLAotCTB4MDEwLCAweDA5RiwgMHgwQ0YsIDB4MDE4LCAweDAxMCwgMHgwOTIsIDB4MEJDLCAweDBEMCwKLQkweDBBNCwgMHgwMEMsIDB4MERDLCAweDBDMCwgMHgwMEYsIDB4MDlDLCAweDA5NywgMHgwMzQsCi0JMHgwNjIsIDB4MEI2LCAweDBFNywgMHgwRjMsIDB4MEYzLCAweDBBNSwgMHgwQ0YsIDB4MDE4LAotCTB4MDQyLCAweDAzNCwgMHgwMUMsIDB4MEMyLCAweDBDQSwgMHgwRkEsIDB4MDhFLCAweDA2OCwKLQkweDA1MiwgMHgwMDYsIDB4MEFGLCAweDAzQywgMHgwQTMsIDB4MDBELCAweDBCRiwgMHgwOUUsCi0JMHgwNTAsIDB4MEUxLCAweDBEMSwgMHgwNzMsIDB4MENBLCAweDBFMCwgMHgwM0EsIDB4MEZDLAotCTB4MEMxLCAweDAwOSwgMHgwMUEsIDB4MDFFLCAweDA2QSwgMHgwNUMsIDB4MDVCLCAweDA4RSwKLQkweDA2MywgMHgwNEUsIDB4MDc3LCAweDA3MywgMHgwQ0MsIDB4MDYxLCAweDA2NywgMHgwREQsCi0JMHgwRTYsIDB4MDZDLCAweDA0OCwgMHgwRDEsIDB4MEYzLCAweDAxQiwgMHgwMjQsIDB4MDY5LAotCTB4MDUxLCAweDAwOCwgMHgwRDQsIDB4MDQyLCAweDAxQiwgMHgwRjQsIDB4MDY3LCAweDBEMSwKLQkweDA4MCwgMHgwNEUsIDB4MDJGLCAweDBEMCwgMHgwOEMsIDB4MEQ4LCAweDAzMCwgMHgwMDksCi0JMHgwQzIsIDB4MDFFLCAweDA4MCwgMHgwMUMsIDB4MDQ2LCAweDAwMSwgMHgwM0EsIDB4MDQ3LAotCTB4MEQwLCAweDAzMSwgMHgwQTEsIDB4MDA2LCAweDAwMSwgMHgwM0EsIDB4MDdGLCAweDA0NiwKLQkweDAzMCwgMHgwMjEsIDB4MDE4LCAweDAwNCwgMHgwRTksIDB4MDVFLCAweDA4NCwgMHgwMjksCi0JMHgwMDAsIDB4MEMwLCAweDAyNywgMHgwQ0QsIDB4MEQwLCAweDAwMCwgMHgwN0MsIDB4MDk4LAotCTB4MDA0LCAweDBGOSwgMHgwMkUsIDB4MDg0LCAweDA2MiwgMHgwOEMsIDB4MDAyLCAweDA3RCwKLQkweDBCQSwgMHgwM0UsIDB4MDdFLCAweDA0QywgMHgwMDIsIDB4MDdELCAweDAyRSwgMHgwOEMsCi0JMHgwNjEsIDB4MDA4LCAweDAzMCwgMHgwMDksIDB4MEY0LCAweDAxRCwgMHgwMDEsIDB4MDY1LAotCTB4MDczLCAweDAwMCwgMHgwOUYsIDB4MDUxLCAweDBEMCwgMHgwODUsIDB4MDIwLCAweDAxOCwKLQkweDAwNCwgMHgwRkEsIDB4MEJELCAweDAxOSwgMHgwNDYsIDB4MDE4LCAweDBDMCwgMHgwMjcsCi0JMHgwREYsIDB4MEQxLCAweDA5NCwgMHgwMzgsIDB4MDRDLCAweDAwMiwgMHgwN0QsIDB4MDE3LAotCTB4MDQ2LCAweDA1NywgMHgwMDEsIDB4MDMwLCAweDAwOSwgMHgwRjUsIDB4MEZBLCAweDAwMSwKLQkweDAwOSwgMHgwMDYsIDB4MDAxLCAweDAzRSwgMHgwODcsIDB4MEExLCAweDA0QiwgMHgwODgsCi0JMHgwQzAsIDB4MDI3LCAweDBEQywgMHgwNzQsIDB4MDBELCAweDAzOSwgMHgwRDMsIDB4MDAwLAotCTB4MDlGLCAweDA3MywgMHgwRDAsIDB4MDMwLCAweDBCMywgMHgwOTgsIDB4MDA0LCAweDBGQiwKLQkweDBCRCwgMHgwMDYsIDB4MEM0LCAweDA4MywgMHgwMDAsIDB4MDlGLCAweDA0NywgMHgwRDAsCi0JMHgwMzYsIDB4MDQ4LCAweDBDQywgMHgwMDIsIDB4MDcxLCAweDBCRiwgMHgwM0YsIDB4MDlBLAotCTB4MDE3LCAweDBFNiwgMHgwM0YsIDB4MDA4LCAweDAyMSwgMHgwRTYsIDB4MDkyLCAweDBBNCwKLQkweDA4RiwgMHgwOUEsIDB4MDEwLCAweDAzMSwgMHgwQTcsIDB4MEYzLCAweDAxMCwgMHgwQjEsCi0JMHgwODQsIDB4MEFGLCAweDAzQSwgMHgwQUMsIDB4MERDLCAweDBGNywgMHgwNzMsIDB4MEYyLAotCTB4MDVDLCAweDBDNiwgMHgwMkEsIDB4MERCLCAweDA5RSwgMHgwN0UsIDB4MDdFLCAweDA5NywKLQkweDAzMSwgMHgwMDgsIDB4MDYzLCAweDBEMCwgMHgwNzMsIDB4MDdCLCAweDA0MywgMHgwQTgsCi0JMHgwRTYsIDB4MDNELCAweDAzNCwgMHgwRUEsIDB4MEYzLCAweDBFMywgMHgwMTUsIDB4MEJGLAotCTB4MDlGLCAweDAxOCwgMHgwNUYsIDB4MDQ1LCAweDBDRiwgMHgwRTgsIDB4MDlGLCAweDA1RiwKLQkweDA5QSwgMHgwNUIsIDB4MDAzLCAweDBEMCwgMHgwRjMsIDB4MEQzLCAweDBDRSwgMHgwMzcsCi0JMHgwMUMsIDB4MEQwLCAweDAwRiwgMHgwQkIsIDB4MDlFLCAweDA2OCwgMHgwNzgsIDB4MDNCLAotCTB4MEJDLCAweDBDQSwgMHgwMzEsIDB4MEU4LCAweDBGOSwgMHgwQTIsIDB4MDAyLCAweDAxMiwKLQkweDBBMiwgMHgwNzMsIDB4MDUxLCAweDAwOCwgMHgwNkYsIDB4MEQxLCAweDBGMywgMHgwNDYsCi0JMHgwMDEsIDB4MDM4LCAweDBCRiwgMHgwNDAsIDB4MEZDLCAweDAyMywgMHgwMDAsIDB4MDlDLAotCTB4MDIxLCAweDBFOCwgMHgwNDksIDB4MDUxLCAweDA4MCwgMHgwNEUsIDB4MDkxLCAweDBGNCwKLQkweDAyMSwgMHgwMDMsIDB4MDE5LCAweDA4MCwgMHgwNEUsIDB4MDlGLCAweDBEMCwgMHgwMjEsCi0JMHgwNjMsIDB4MDA2LCAweDAwMSwgMHgwM0EsIDB4MDU2LCAweDA4QywgMHgwMDIsIDB4MDc0LAotCTB4MEZFLCAweDA3NSwgMHgwNDksIDB4MDVFLCAweDA2MywgMHgwRDMsIDB4MDRBLCAweDA1NCwKLQkweDA0MiwgMHgwMzUsIDB4MDEzLCAweDBBNywgMHgwRDEsIDB4MDgwLCAweDA0RSwgMHgwOTUsCi0JMHgwRTgsIDB4MDFFLCAweDA5QSwgMHgwNEMsIDB4MDAyLCAweDA3QywgMHgwREQsIDB4MDFCLAotCTB4MEI5LCAweDBFNiwgMHgwMDEsIDB4MDNFLCAweDA0QiwgMHgwQTAsIDB4MDYyLCAweDBBMywKLQkweDAwMCwgMHgwOUYsIDB4MDZFLCAweDA4QywgMHgwRkMsIDB4MEYzLCAweDAwMCwgMHgwOUYsCi0JMHgwNEIsIDB4MEEwLCAweDA0MiwgMHgwMTgsIDB4MENDLCAweDAwMiwgMHgwN0QsIDB4MDA3LAotCTB4MDQzLCAweDBEQSwgMHgwMTMsIDB4MDAwLCAweDA5RiwgMHgwNTEsIDB4MEQwLCAweDAzRCwKLQkweDAzNCwgMHgwOTgsIDB4MDA0LCAweDBGQSwgMHgwQkQsIDB4MDFDLCAweDA2MiwgMHgwOEMsCi0JMHgwMDIsIDB4MDdELCAweDBGRCwgMHgwMUMsIDB4MDYxLCAweDA3MywgMHgwMDAsIDB4MDlGLAotCTB4MDQ1LCAweDBEMSwgMHgwRjQsIDB4MDRFLCAweDA2MCwgMHgwMTMsIDB4MEVCLCAweDBGNCwKLQkweDAyNSwgMHgwQjAsIDB4MDMzLCAweDAwMCwgMHgwOUYsIDB4MDQzLCAweDBEMSwgMHgwQTcsCi0JMHgwOUMsIDB4MDE4LCAweDAwNCwgMHgwRkIsIDB4MDhFLCAweDA4NCwgMHgwMDMsIDB4MEU5LAotCTB4MDgwLCAweDA0RiwgMHgwQjksIDB4MEU4LCAweDA0MywgMHgwQzEsIDB4MDMwLCAweDAwOSwKLQkweDBGNywgMHgwN0EsIDB4MDBBLCAweDAzMSwgMHgwOTgsIDB4MDA0LCAweDBGQSwgMHgwM0UsCi0JMHgwODQsIDB4MDQwLCAweDA0MSwgMHgwODAsIDB4MDRFLCAweDA4MiwgMHgwRTcsIDB4MDQxLAotCTB4MDg3LCAweDAwOSwgMHgwMjMsIDB4MDA0LCAweDAyMywgMHgwMDAsIDB4MDlELCAweDAwNSwKLQkweDBDRSwgMHgwOTYsIDB4MDFDLCAweDAyNCwgMHgwOEMsIDB4MDEwLCAweDA4QywgMHgwMDIsCi0JMHgwNzQsIDB4MDE3LCAweDAzQSwgMHgwMDQsIDB4MDM4LCAweDA0OSwgMHgwMTgsIDB4MDIxLAotCTB4MDE4LCAweDAwNCwgMHgwRTgsIDB4MDJFLCAweDA3NCwgMHgwNTAsIDB4MEUxLCAweDAyNCwKLQkweDA2MCwgMHgwODQsIDB4MDYwLCAweDAxMywgMHgwQTAsIDB4MEI5LCAweDBENCwgMHgwMTEsCi0JMHgwQzIsIDB4MDQ4LCAweDBDMSwgMHgwMDgsIDB4MEMwLCAweDAyNywgMHgwNDEsIDB4MDczLAotCTB4MEE4LCAweDAyMywgMHgwODQsIDB4MDkxLCAweDA4MiwgMHgwMTEsIDB4MDgwLCAweDA0RSwKLQkweDA4MiwgMHgwRTcsIDB4MDUyLCAweDA4RSwgMHgwMTIsIDB4MDQ2LCAweDAwOCwgMHgwNDYsCi0JMHgwMDEsIDB4MDNBLCAweDAwQiwgMHgwOUQsIDB4MDQwLCAweDAxQywgMHgwMjQsIDB4MDhDLAotCTB4MDEwLCAweDA4QywgMHgwMDIsIDB4MDc0LCAweDAxNywgMHgwM0EsIDB4MDA5LCAweDAwRSwKLQkweDAxMiwgMHgwNDYsIDB4MDA4LCAweDA0NiwgMHgwMDEsIDB4MDNBLCAweDAwQiwgMHgwOTgsCi0JMHgwNkEsIDB4MDFDLCAweDAyNCwgMHgwQjAsIDB4MEUxLCAweDAxOCwgMHgwMDQsIDB4MEU4LAotCTB4MDJFLCAweDA2QiwgMHgwNTAsIDB4MEUxLCAweDAyNSwgMHgwODcsIDB4MDA4LCAweDBDMCwKLQkweDAyNywgMHgwNDEsIDB4MDczLCAweDAwNSwgMHgwNDMsIDB4MDg0LCAweDA5NiwgMHgwMUMsCi0JMHgwMjMsIDB4MDAwLCAweDA5RCwgMHgwMDUsIDB4MENDLCAweDBBQSwgMHgwMUMsIDB4MDI0LAotCTB4MEIwLCAweDBFMSwgMHgwMTgsIDB4MDA0LCAweDBFOCwgMHgwMkUsIDB4MDcwLCAweDA2OCwKLQkweDA3MCwgMHgwOTIsIDB4MEMzLCAweDA4NCwgMHgwNjAsIDB4MDEzLCAweDBFNSwgMHgwNDQsCi0JMHgwRjksIDB4MDQwLCAweDA5RCwgMHgwMDUsIDB4MENFLCAweDA1QSwgMHgwMUMsIDB4MDI0LAotCTB4MEIwLCAweDBFMSwgMHgwMTgsIDB4MDA0LCAweDBGOSwgMHgwRDEsIDB4MDNFLCAweDA3MCwKLQkweDAyNywgMHgwQ0YsIDB4MDEzLCAweDBFNSwgMHgwNDQsIDB4MDJDLCAweDBBMCwgMHgwNDIsCi0JMHgwQ0IsIDB4MDg5LCAweDBGMiwgMHgwMjEsIDB4MDNBLCAweDAwQiwgMHgwOUMsIDB4MDBBLAotCTB4MDFDLCAweDAyNCwgMHgwQjAsIDB4MEUxLCAweDAxOCwgMHgwMDQsIDB4MEY5LCAweDBEMSwKLQkweDAwQiwgMHgwMzgsIDB4MDEwLCAweDBCMywgMHgwQzQsIDB4MDIxLCAweDAzOSwgMHgwMzYsCi0JMHgwNUMsIDB4MDQyLCAweDBDOCwgMHgwODQsIDB4MDJCLCAweDA3OSwgMHgwRDAsIDB4MDYxLAotCTB4MEMyLCAweDA3NCwgMHgwMTUsIDB4MDI0LCAweDBCQSwgMHgwRDMsIDB4MDMxLCAweDBFNSwKLQkweDA1OSwgMHgwMDgsIDB4MDI5LCAweDAwOCwgMHgwRTAsIDB4MDY2LCAweDA2MywgMHgwNDIsCi0JMHgwOTUsIDB4MDEyLCAweDA4MSwgMHgwMDAsIDB4MDI5LCAweDAwQiwgMHgwQzEsIDB4MDUxLAotCTB4MDI0LCAweDBCOCwgMHgwMTksIDB4MDk5LCAweDA5MCwgMHgwMjIsIDB4MDkwLCAweDBCNCwKLQkweDAxOCwgMHgwQTAsIDB4MDkxLCAweDA0MSwgMHgwMDEsIDB4MDQxLCAweDA0MSwgMHgwNDEsCi0JMHgwNTIsIDB4MDgzLCAweDBDQSwgMHgwNDAsIDB4MDI4LCAweDA2OCwgMHgwMjksIDB4MDA4LAotCTB4MEJBLCAweDAxNiwgMHgwMTAsIDB4MDlDLCAweDA5OSwgMHgwMEIsIDB4MDU2LCAweDA5NCwKLQkweDA5MCwgMHgwNTIsIDB4MDE1LCAweDA3NCwgMHgwQzAsIDB4MDI3LCAweDAxQSwgMHgwMkEsCi0JMHgwRDIsIDB4MDkwLCAweDAyNSwgMHgwRDMsIDB4MDAwLCAweDA5RCwgMHgwMjgsIDB4MEFCLAotCTB4MDRBLCAweDA0MiwgMHgwMTcsIDB4MDRDLCAweDAwMiwgMHgwNzAsIDB4MEQ0LCAweDA4NCwKLQkweDAyRSwgMHgwOTgsIDB4MDA0LCAweDBFMSwgMHgwMkEsIDB4MDQyLCAweDAxNywgMHgwNEMsCi0JMHgwMDIsIDB4MDcwLCAweDA4MiwgMHgwOTAsIDB4MDRCLCAweDBBNiwgMHgwMDEsIDB4MDM4LAotCTB4MDUxLCAweDA0OCwgMHgwNDIsIDB4MEU5LCAweDA4MCwgMHgwNEUsIDB4MDE1LCAweDBBNCwKLQkweDAyMSwgMHgwNzQsIDB4MEMwLCAweDAyNywgMHgwMEYsIDB4MEE0LCAweDAxMiwgMHgwRTksCi0JMHgwODAsIDB4MDRFLCAweDA4MiwgMHgwQUMsIDB4MDgwLCAweDBBQywgMHgwQTAsIDB4MEFDLAotCTB4MEE5LCAweDA1OSwgMHgwRTUsIDB4MDY0LCAweDA0NSwgMHgwNjUsIDB4MENBLCAweDBDOCwKLQkweDA0QSwgMHgwQ0UsIDB4MDBBLCAweDBDRSwgMHgwNEEsIDB4MENFLCAweDA5NSwgMHgwOTEsCi0JMHgwOTUsIDB4MDk0LCAweDA5NSwgMHgwOTMsIDB4MDI5LCAweDAyNSwgMHgwQzAsIDB4MENDLAotCTB4MENDLCAweDA4OCwgMHgwQTQsIDB4MDk3LCAweDA1NiwgMHgwMzYsIDB4MDY0LCAweDA3MiwKLQkweDA5MCwgMHgwNTQsIDB4MDhBLCAweDA5QywgMHgwNDUsIDB4MDA4LCAweDBCOSwgMHgwQjcsCi0JMHgwNjYsIDB4MDEyLCAweDA5MywgMHgwMDksIDB4MEM5LCAweDBCMiwgMHgwNzQsIDB4MDhFLAotCTB4MEJBLCAweDA2MCwgMHgwMTMsIDB4MEU1LCAweDAzNCwgMHgwOEUsIDB4MEJBLCAweDA2MCwKLQkweDAxMywgMHgwRTQsIDB4MDc0LCAweDA4RSwgMHgwQkEsIDB4MDYwLCAweDAxMywgMHgwRTUsCi0JMHgwNjksIDB4MDFELCAweDA3NCwgMHgwQzAsIDB4MDI3LCAweDBDQSwgMHgwMjksIDB4MDFELAotCTB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MENFLCAweDBEMiwgMHgwMjUsIDB4MEQzLCAweDAwMCwKLQkweDA5RiwgMHgwMzgsIDB4MEE0LCAweDA0QiwgMHgwQTYsIDB4MDAxLCAweDAzRSwgMHgwNUUsCi0JMHgwOTEsIDB4MDJFLCAweDA5OCwgMHgwMDQsIDB4MEY5LCAweDAxNSwgMHgwMjIsIDB4MDVELAotCTB4MDMwLCAweDAwOSwgMHgwRjMsIDB4MEU5LCAweDAxMiwgMHgwRTksIDB4MDgwLCAweDA0RiwKLQkweDA5MCwgMHgwNTIsIDB4MDI1LCAweDBEMywgMHgwMDAsIDB4MDlELCAweDBDNSwgMHgwNDgsCi0JMHgwMjUsIDB4MEQzLCAweDAwMCwgMHgwOUMsIDB4MDQ1LCAweDBDRSwgMHgwQ0QsIDB4MDA5LAotCTB4MEM5LCAweDBCMiwgMHgwMUEsIDB4MDQ0LCAweDBCQSwgMHgwNjAsIDB4MDEzLCAweDBFNywKLQkweDAzNCwgMHgwODksIDB4MDc0LCAweDBDMCwgMHgwMjcsIDB4MDFDLCAweDAyNywgMHgwQjcsCi0JMHgwOUMsIDB4MDgwLCAweDBDMiwgMHgwRDcsIDB4MDc2LCAweDA1OSwgMHgwOUIsIDB4MDkzLAotCTB4MDBDLCAweDA2NCwgMHgwQzMsIDB4MDFELCAweDAxQiwgMHgwRjQsIDB4MDQ1LCAweDA0QiwKLQkweDBDNywgMHgwQzYsIDB4MDNBLCAweDAzNywgMHgwRTgsIDB4MDgxLCAweDA0QiwgMHgwQzcsCi0JMHgwQzYsIDB4MDNBLCAweDAzNywgMHgwRTgsIDB4MDkxLCAweDA0QiwgMHgwQzcsIDB4MEM2LAotCTB4MDMyLCAweDA2MSwgMHgwOEUsIDB4MEIzLCAweDBCQywgMHgwQzMsIDB4MDRBLCAweDAyMiwKLQkweDBFNiwgMHgwQjUsIDB4MDI0LCAweDA5NywgMHgwNzEsIDB4MEM5LCAweDA4NywgMHgwQjQsCi0JMHgwMzEsIDB4MEFFLCAweDA3MywgMHgwQTIsIDB4MENGLCAweDAzOSwgMHgwRDIsIDB4MDVELAotCTB4MDA0LCAweDA0NCwgMHgwNDIsIDB4MEMwLCAweDBENiwgMHgwREUsIDB4MDcxLCAweDAwNiwKLQkweDAxNiwgMHgwQkIsIDB4MERCLCAweDBDRSwgMHgwODMsIDB4MDBDLCAweDA2NCwgMHgwQzMsCi0JMHgwMUQsIDB4MDMxLCAweDAxMywgMHgwMDQsIDB4MEY5LCAweDA5NSwgMHgwNEQsIDB4MDEzLAotCTB4MDMyLCAweDA5MywgMHgwNjMsIDB4MDVFLCAweDA2NiwgMHgwMTQsIDB4MENDLCAweDAyOSwKLQkweDAyQSwgMHgwNTMsIDB4MDMwLCAweDBBNiwgMHgwNjEsIDB4MDRDLCAweDBDMiwgMHgwOTksCi0JMHgwODUsIDB4MDNBLCAweDA3MiwgMHgwQ0MsIDB4MEMyLCAweDA5OSwgMHgwODUsIDB4MDA2LAotCTB4MDFCLCAweDBCMywgMHgwMEEsIDB4MDY2LCAweDAxNCwgMHgwMTQsIDB4MDI0LCAweDA5OSwKLQkweDA4NSwgMHgwMzMsIDB4MDBBLCAweDAwOCwgMHgwQjEsIDB4MDg2LCAweDA2MSwgMHgwNEMsCi0JMHgwQzIsIDB4MDg0LCAweDAyMSwgMHgwNjgsIDB4MDczLCAweDAzQiwgMHgwMzAsIDB4MEE2LAotCTB4MDYxLCAweDA0MSwgMHgwNEUsIDB4MEE1LCAweDA5OCwgMHgwNTMsIDB4MDMwLCAweDBBQywKLQkweDA1OSwgMHgwNzYsIDB4MDYxLCAweDA0QywgMHgwQzIsIDB4MEIwLCAweDA4RCwgMHgwRDYsCi0JMHgwNjEsIDB4MDRDLCAweDBDMiwgMHgwQjAsIDB4MDJDLCAweDBGNiwgMHgwNjEsIDB4MDRDLAotCTB4MEMyLCAweDBCMSwgMHgwOEMsIDB4MEE1LCAweDA5OCwgMHgwNTMsIDB4MDMwLCAweDBBQywKLQkweDAwRiwgMHgwMjQsIDB4MENDLCAweDAyOSwgMHgwOTgsIDB4MDU2LCAweDAwRiwgMHgwMjgsCi0JMHgwNjYsIDB4MDE1LCAweDA5MiwgMHgwMUEsIDB4MDE5LCAweDA4NSwgMHgwMzMsIDB4MDBBLAotCTB4MENBLCAweDA4NSwgMHgwMEMsIDB4MEMyLCAweDA5OSwgMHgwODUsIDB4MDY1LCAweDBDMywKLQkweDBEOSwgMHgwODUsIDB4MDMzLCAweDAwQSwgMHgwQ0UsIDB4MDcwLCAweDA4NiwgMHgwNjEsCi0JMHgwNEMsIDB4MEMyLCAweDBCMywgMHgwOTcsIDB4MDcxLCAweDAwQywgMHgwOTksIDB4MDNCLAotCTB4MENDLCAweDA4MywgMHgwNTgsIDB4MDBCLCAweDBFQSwgMHgwNzcsIDB4MDlELCAweDAwNiwKLQkweDA0QSwgMHgwQkUsIDB4MDA0LCAweDA3NCwgMHgwNjAsIDB4MEUwLCAweDBEMSwgMHgwNEUsCi0JMHgwMzgsIDB4MDRDLCAweDAzRSwgMHgwRUUsIDB4MDNFLCAweDBFRSwgMHgwM0UsIDB4MEVFLAotCTB4MDNFLCAweDBFRSwgMHgwMzAsIDB4MEJCLCAweDBDQSwgMHgwRTEsIDB4MDFGLCAweDA3NywKLQkweDAxRiwgMHgwNzcsIDB4MDFGLCAweDA3NywgMHgwMUYsIDB4MDc3LCAweDAyNywgMHgwNzAsCi0JMHgwOEYsIDB4MEJCLCAweDA4MCwgMHgwMEUsIDB4MDExLCAweDBGNywgMHgwNzEsIDB4MEY3LAotCTB4MDdDLCAweDA2RiwgMHgwM0MsIDB4MEIzLCAweDAzNiwgMHgwMDIsIDB4MEZCLCAweDA4RCwKLQkweDBFNiwgMHgwNTUsIDB4MDcwLCAweDA3RiwgMHgwMkQsIDB4MDI0LCAweDA2OSwgMHgwNTUsCi0JMHgwNEYsIDB4MDU4LCAweDBBOSwgMHgwMjMsIDB4MDFGLCAweDA1NCwgMHgwRjcsIDB4MDhBLAotCTB4MDk1LCAweDAyNSwgMHgwMkIsIDB4MDc1LCAweDAwQywgMHgwQ0MsIDB4MEFDLCAweDA1NiwKLQkweDA1MSwgMHgwQ0MsIDB4MDUxLCAweDBFNCwgMHgwNDUsIDB4MENFLCAweDBBMiwgMHgwMTIsCi0JMHgwMzksIDB4MEMwLCAweDBBMCwgMHgwQUYsIDB4MDU2LCAweDA2QSwgMHgwNDksIDB4MDdGLAotCTB4MDAyLCAweDA4QywgMHgwMDksIDB4MEY4LCAweDAwQiwgMHgwRUIsIDB4MEFGLCAweDA1NiwKLQkweDA3NiwgMHgwNjcsIDB4MDUyLCAweDBCMiwgMHgwOEUsIDB4MDY5LCAweDBBNywgMHgwMTEsCi0JMHgwNzMsIDB4MEE4LCAweDBCMSwgMHgwQkMsIDB4MENBLCAweDBBMCwgMHgwQTksIDB4MDM2LAotCTB4MDUwLCAweDAyQywgMHgwOTgsIDB4MEU3LCAweDAwQSwgMHgwRjUsIDB4MDY2LCAweDBBNCwKLQkweDA5NywgMHgwRTIsIDB4MDVBLCAweDAzMCwgMHgwMjcsIDB4MEJBLCAweDBGNywgMHgwODMsCi0JMHgwNEUsIDB4MEE1LCAweDAzMywgMHgwMEEsIDB4MDY2LCAweDAxNSwgMHgwOEQsIDB4MEU2LAotCTB4MDU1LCAweDAzOSwgMHgwRDIsIDB4MEE3LCAweDBBQywgMHgwNTQsIDB4MDYwLCAweDAxNiwKLQkweDA3MCwgMHgwMUIsIDB4MDcyLCAweDA4RSwgMHgwNjIsIDB4MDhGLCAweDAyMiwgMHgwMkUsCi0JMHgwNzUsIDB4MDE2LCAweDAwMiwgMHgwRkIsIDB4MDhELCAweDBFNiwgMHgwMEEsIDB4MDk1LAotCTB4MDNELCAweDA2MiwgMHgwQTMsIDB4MDAwLCAweDBCNywgMHgwMDEsIDB4MEI1LCAweDA1MywKLQkweDBERSwgMHgwMkEsIDB4MDU0LCAweDA5NCwgMHgwQUQsIDB4MEQ0LCAweDAzMywgMHgwMzIsCi0JMHgwQjEsIDB4MDU5LCAweDA0NywgMHgwMzEsIDB4MDQ3LCAweDA5MSwgMHgwMTcsIDB4MDNBLAotCTB4MDg4LCAweDA0OCwgMHgwRTcsIDB4MDAyLCAweDBCMCwgMHgwMTcsIDB4MERDLCAweDA2NywKLQkweDA5RCwgMHgwNEIsIDB4MDhELCAweDBFNywgMHgwNTIsIDB4MEFBLCAweDA3QiwgMHgwRDQsCi0JMHgwQUEsIDB4MDkyLCAweDBCRCwgMHgwRDYsIDB4MDk5LCAweDBCQywgMHgwNTYsIDB4MDAyLAotCTB4MEZCLCAweDA4QywgMHgwRjMsIDB4MDY2LCAweDA2NiwgMHgwQzYsIDB4MEYzLCAweDA2NiwKLQkweDA2NiwgMHgwNjIsIDB4MDk5LCAweDAyQSwgMHgwRjgsIDB4MDE4LCAweDA2OCwgMHgwNzAsCi0JMHgwQjAsIDB4MDhBLCAweDAwRCwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDUyLAotCTB4MDMyLCAweDBFMSwgMHgwNDAsIDB4MDVDLCAweDAzOCwgMHgwMEIsIDB4MEVBLCAweDA5QiwKLQkweDA4NywgMHgwMDEsIDB4MDdELCAweDBDMCwgMHgwNUYsIDB4MDcwLCAweDAxNywgMHgwREMsCi0JMHgwMDUsIDB4MEY1LCAweDBEQywgMHgwOUIsIDB4MDAxLCAweDA3RCwgMHgwNjEsIDB4MDRELAotCTB4MDgwLCAweDBCRSwgMHgwQTcsIDB4MDc5LCAweDA4MiwgMHgwQTIsIDB4MDFGLCAweDA1MCwKLQkweDAxNSwgMHgwMkEsIDB4MDhGLCAweDA4QiwgMHgwMUMsIDB4MEU1LCAweDBBNSwgMHgwMTMsCi0JMHgwODQsIDB4MDU4LCAweDBFNywgMHgwMDIsIDB4MDkxLCAweDA1NCwgMHgwMDUsIDB4MDAyLAotCTB4MDRCLCAweDBCRCwgMHgwMjIsIDB4MDFBLCAweDA5NCwgMHgwN0YsIDB4MDlDLCAweDAxQSwKLQkweDBDMCwgMHgwNUYsIDB4MDQyLCAweDAxQSwgMHgwMjEsIDB4MEQxLCAweDA4MCwgMHgwNTksCi0JMHgwQzAsIDB4MDZELCAweDAxQywgMHgwMkMsIDB4MDBBLCAweDA4MywgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTQsIDB4MDFDLCAweDBCOCwgMHgwNUMsIDB4MDZFLCAweDAxNywgMHgwOUMsCi0JMHgwMkYsIDB4MDM4LCAweDA1RSwgMHgwNzAsIDB4MEU3LCAweDBCOCwgMHgwNUUsIDB4MDcwLAotCTB4MEJDLCAweDBFMSwgMHgwNzksIDB4MEMyLCAweDBGMywgMHgwODUsIDB4MEU3LCAweDAwQiwKLQkweDBDRSwgMHgwMTcsIDB4MDlDLCAweDAyOSwgMHgwOUMsIDB4MDI5LCAweDA5QywgMHgwMjksCi0JMHgwOUMsIDB4MDIzLCAweDAwRiwgMHgwNTgsIDB4MDE0LCAweDBFRSwgMHgwMzUsIDB4MDc3LAotCTB4MDI2LCAweDAyMSwgMHgwOTMsIDB4MDA1LCAweDBDOSwgMHgwQjAsIDB4MDE3LCAweDBEMiwKLQkweDAxRCwgMHgwMTgsIDB4MDhBLCAweDAyMSwgMHgwOTMsIDB4MDA1LCAweDBDOSwgMHgwQjAsCi0JMHgwMTcsIDB4MEQxLCAweDA4NywgMHgwQUMsIDB4MDBBLCAweDA3NCwgMHgwMEYsIDB4MEFFLAotCTB4MEY1LCAweDA1QSwgMHgwODIsIDB4MEEzLCAweDBFNCwgMHgwM0EsIDB4MDMxLCAweDAxNCwKLQkweDBCQiwgMHgwRDcsIDB4MDU5LCAweDA5OSwgMHgwNzQsIDB4MEEyLCAweDAxOSwgMHgwMzAsCi0JMHgwNUMsIDB4MDlCLCAweDAwMSwgMHgwN0QsIDB4MDE4LCAweDA3QSwgMHgwQzAsIDB4MEE3LAotCTB4MDQwLCAweDBGOCwgMHgwNDMsIDB4MEQ0LCAweDA2MywgMHgwODksIDB4MDI1LCAweDBEMCwKLQkweDAxMCwgMHgwRDYsIDB4MDFDLCAweDA2QSwgMHgwMTAsIDB4MEY1LCAweDA1NSwgMHgwODksCi0JMHgwMjUsIDB4MEQxLCAweDA1MSwgMHgwNjYsIDB4MDFGLCAweDA1MSwgMHgwRjUsIDB4MDkxLAotCTB4MDQ5LCAweDAyRSwgMHgwODksIDB4MDE1LCAweDA5OCwgMHgwNkEsIDB4MEEzLCAweDBFMCwKLQkweDA4QSwgMHgwOTQsIDB4MDY1LCAweDA2NCwgMHgwMEUsIDB4MDEzLCAweDAxNywgMHgwMzgsCi0JMHgwQTgsIDB4MDg2LCAweDA0QywgMHgwMTcsIDB4MDI2LCAweDBDMCwgMHgwNUYsIDB4MDQ2LAotCTB4MDFFLCAweDBCMCwgMHgwMjgsIDB4MDYzLCAweDAxRiwgMHgwMDgsIDB4MDdBLCAweDA4QywKLQkweDA3MSwgMHgwMjQsIDB4MEJBLCAweDAwMiwgMHgwMUEsIDB4MEQwLCAweDAwRCwgMHgwNDIsCi0JMHgwMUUsIDB4MEFBLCAweDBCMSwgMHgwMjQsIDB4MEJBLCAweDAyQSwgMHgwMkQsIDB4MDMxLAotCTB4MEY1LCAweDAxRiwgMHgwNTgsIDB4MDc0LCAweDA5MiwgMHgwRTgsIDB4MDg3LCAweDA1QSwKLQkweDA2MywgMHgwNTIsIDB4MERFLCAweDBGNCwgMHgwNTEsIDB4MDY5LCAweDA0QSwgMHgwM0UsCi0JMHgwMDksIDB4MDY5LCAweDA0NiwgMHgwNTAsIDB4MEYwLCAweDBFMSwgMHgwMzEsIDB4MDczLAotCTB4MDA1LCAweDA0NSwgMHgwQkQsIDB4MDU5LCAweDA4RCwgMHgwOEIsIDB4MDRBLCAweDA3QywKLQkweDBEMywgMHgwRUQsIDB4MDM4LCAweDBFOSwgMHgwRDMsIDB4MDRFLCAweDA3NCwgMHgwRUQsCi0JMHgwNDQsIDB4MDMyLCAweDA2MCwgMHgwQjksIDB4MDM2LCAweDAwMiwgMHgwRkEsIDB4MDVCLAotCTB4MERFLCAweDA4QSwgMHgwMkQsIDB4MDI5LCAweDBEMCwgMHgwRTEsIDB4MDIxLCAweDBGNSwKLQkweDBBMywgMHgwOTIsIDB4MDIxLCAweDBGMiwgMHgwMTksIDB4MDMwLCAweDA1QywgMHgwOUIsCi0JMHgwMDEsIDB4MDdELCAweDAyMSwgMHgwRjUsIDB4MEEwLCAweDBDNiwgMHgwMDEsIDB4MDY3LAotCTB4MDAxLCAweDBCNCwgMHgwNDUsIDB4MENFLCAweDBBNSwgMHgwMTIsIDB4MDM5LCAweDBENCwKLQkweDAxQywgMHgwMDUsIDB4MEY0LCAweDA0MCwgMHgwQTEsIDB4MEMyLCAweDBDMywgMHgwNTAsCi0JMHgwNkEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLAotCTB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MEFBLCAweDBBQSwgMHgwQUEsIDB4MDgxLCAweDBBRiwKLQkweDA4NiwgMHgwOUYsIDB4MDE5LCAweDAxQiwgMHgwRTcsIDB4MDgxLCAweDBGMywgMHgwNjUsCi0JMHgwRjIsIDB4MDgwLCAweDBCRSwgMHgwNzAsIDB4MDE3LCAweDBERiwgMHgwREYsIDB4MDM4LAotCTB4MDBCLCAweDBFQiwgMHgwMEQsIDB4MEMzLCAweDA4MCwgMHgwQkUsIDB4MEE3LCAweDAwRiwKLQkweDA5NSwgMHgwNEYsIDB4MDVBLCAweDA5NCwgMHgwQzAsIDB4MDJDLCAweDBEOCwgMHgwQjEsCi0JMHgwQTcsIDB4MENFLCAweDA1QSwgMHgwMTEsIDB4MDczLCAweDBBOCwgMHgwM0EsIDB4MEMyLAotCTB4MENDLCAweDBCNiwgMHgwMzAsIDB4MDE3LCAweDBEQywgMHgwNkYsIDB4MDM1LCAweDBBOSwKLQkweDA4MCwgMHgwNEQsIDB4MEE3LCAweDBDRSwgMHgwMkEsIDB4MDE4LCAweDA3OSwgMHgwQzUsCi0JMHgwNDksIDB4MERFLCAweDA2MSwgMHgwQTgsIDB4MDIyLCAweDBFNywgMHgwNTAsIDB4MDMzLAotCTB4MEY5LCAweDA5OCwgMHgwNjQsIDB4MDA4LCAweDBCOSwgMHgwOTUsIDB4MDQyLCAweDBGQywKLQkweDBDQywgMHgwRDksIDB4MDk1LCAweDAzRCwgMHgwNjIsIDB4MEEyLCAweDA0OCwgMHgwRDQsCi0JMHgwNDgsIDB4MEU3LCAweDAwMiwgMHgwODgsIDB4MEI5LCAweDBDMSwgMHgwQTAsIDB4MEUzLAotCTB4MDlELCAweDA0RSwgMHgwNjIsIDB4MEU2LCAweDBDQywgMHgwQzYsIDB4MDZCLCAweDBDRSwKLQkweDA4MywgMHgwMTAsIDB4MEM5LCAweDA4MiwgMHgwRTQsIDB4MERBLCAweDBDMiwgMHgwQzgsCi0JMHgwMUUsIDB4MEMzLCAweDBCOSwgMHgwMzYsIDB4MDAyLCAweDBGQSwgMHgwQTksIDB4MEVCLAotCTB4MDRFLCAweDAzMCwgMHgwMzAsIDB4MEZBLCAweDAwRCwgMHgwRjAsIDB4MEE5LCAweDBFQiwKLQkweDA0MCwgMHgwQjksIDB4MDBGLCAweDBBQSwgMHgwN0EsIDB4MEQyLCAweDBDMiwgMHgwQzgsCi0JMHgwRkEsIDB4MEE3LCAweDBBRCwgMHgwNDEsIDB4MDBBLCAweDA0NywgMHgwRDUsIDB4MDNELAotCTB4MDY4LCAweDBBQywgMHgwRjEsIDB4MEY1LCAweDA0RiwgMHgwNUEsIDB4MDk3LCAweDA1NCwKLQkweDA3RCwgMHgwNEYsIDB4MEE4LCAweDBBQSwgMHgwNTUsIDB4MDFGLCAweDAxMSwgMHgwNzMsCi0JMHgwNUEsIDB4MEIwLCAweDAxNywgMHgwREUsIDB4MDVELCAweDA1OSwgMHgwQTksIDB4MDI1LAotCTB4MEQwLCAweDA1NSwgMHgwMkEsIDB4MDQ2LCAweDBCQywgMHgwQjgsIDB4MDIyLCAweDBBRSwKLQkweDA0NSwgMHgwMjksIDB4MDNFLCAweDAxNCwgMHgwRkEsIDB4MEUxLCAweDA5OSwgMHgwOTQsCi0JMHgwQ0EsIDB4MDRBLCAweDBCRSwgMHgwM0QsIDB4MEQ2LCAweDA5OSwgMHgwOTIsIDB4MDVELAotCTB4MDE1LCAweDAxNywgMHgwQzgsIDB4MEQ3LCAweDBEQywgMHgwMTUsIDB4MDE3LCAweDA4QSwKLQkweDA0MCwgMHgwMUYsIDB4MDBBLCAweDA5RSwgMHgwQUMsIDB4MEM5LCAweDA2NSwgMHgwNDksCi0JMHgwNUMsIDB4MDFELCAweDAxMCwgMHgwNjgsIDB4MDRBLCAweDAzRSwgMHgwNUIsIDB4MERFLAotCTB4MDgzLCAweDAxNiwgMHgwOTUsIDB4MDgwLCAweDBCRSwgMHgwOTEsIDB4MDc0LCAweDA1OCwKLQkweDBBNCwgMHgwMDAsIDB4MDdDLCAweDAzOCwgMHgwRTcsIDB4MDU2LCAweDAzMCwgMHgwMTcsCi0JMHgwREYsIDB4MDc1LCAweDBBNiwgMHgwNjQsIDB4MDk3LCAweDA0NSwgMHgwMjAsIDB4MDlELAotCTB4MDAzLCAweDA1RiwgMHgwNzAsIDB4MDU0LCAweDA1RSwgMHgwMjksIDB4MDFELCAweDBGMCwKLQkweDBBOSwgMHgwRUEsIDB4MENDLCAweDA4NiwgMHgwNTQsIDB4MDk1LCAweDBDMSwgMHgwRDEsCi0JMHgwMDYsIDB4MDgzLCAweDAwRiwgMHgwQUEsIDB4MDdCLCAweDBEMCwgMHgwNjUsIDB4MDQ5LAotCTB4MDQ1LCAweDBCRCwgMHgwRTksIDB4MDYyLCAweDBEMiwgMHgwOTEsIDB4MERGLCAweDAwNCwKLQkweDA1RCwgMHgwMTYsIDB4MDI5LCAweDAxQywgMHgwN0QsIDB4MDRGLCAweDBBQywgMHgwMUEsCi0JMHgwNDcsIDB4MDFBLCAweDBBOSwgMHgwRjUsIDB4MDY3LCAweDA2NiwgMHgwNTMsIDB4MDI4LAotCTB4MEI3LCAweDBCRCwgMHgwMkMsIDB4MDVBLCAweDA1MiwgMHgwM0IsIDB4MEUzLCAweDBERCwKLQkweDA1OSwgMHgwQTksIDB4MDI1LCAweDBEMSwgMHgwQTgsIDB4MEFDLCAweDAwOCwgMHgwNkIsCi0JMHgwRUUsIDB4MDA4LCAweDBBQiwgMHgwQzUsIDB4MDIwLCAweDAyRiwgMHgwODUsIDB4MDRGLAotCTB4MDU2LCAweDA2NiwgMHgwNzUsIDB4MDQ5LCAweDA1QywgMHgwMUMsIDB4MDE4LCAweDAxRCwKLQkweDA4MSwgMHgwQzIsIDB4MDY0LCAweDAwNSwgMHgwRjAsIDB4MDgwLCAweDBCRSwgMHgwMzUsCi0JMHgwNUMsIDB4MEQwLCAweDAxNywgMHgwQzIsIDB4MDU1LCAweDBGMCwgMHgwOTUsIDB4MDdDLAotCTB4MDI1LCAweDA1RiwgMHgwMDgsIDB4MDBCLCAweDBFMSwgMHgwMDEsIDB4MDdDLCAweDA3QiwKLQkweDBBQiwgMHgwMzUsIDB4MDI0LCAweDBCQSwgMHgwMTAsIDB4MDU1LCAweDA5MywgMHgwMUEsCi0JMHgwRkIsIDB4MDgyLCAweDAyQSwgMHgwRjEsIDB4MDQ4LCAweDBENywgMHgwQzIsIDB4MEE3LAotCTB4MEFCLCAweDAzMSwgMHgwQjIsIDB4MEE0LCAweDBBQywgMHgwNjMsIDB4MDlELCAweDA0QSwKLQkweDA4RCwgMHgwN0MsIDB4MDdCLCAweDBBQiwgMHgwMzUsIDB4MDI0LCAweDBCQSwgMHgwMTAsCi0JMHgwNTQsIDB4MDMwLCAweDA4RCwgMHgwN0QsIDB4MEMxLCAweDAxNSwgMHgwNzgsIDB4MEFDLAotCTB4MDZGLCAweDA1QSwgMHgwOTQsIDB4MDYwLCAweDAxQSwgMHgwRTMsIDB4MDc5LCAweDBENCwKLQkweDBBQSwgMHgwNEYsIDB4MDg1LCAweDA0RiwgMHgwNTYsIDB4MDY2LCAweDBENSwgMHgwNDksCi0JMHgwNTgsIDB4MEM3LCAweDAzQSwgMHgwOTUsIDB4MDQ5LCAweDBGMCwgMHgwNDUsIDB4MEQxLAotCTB4MDYyLCAweDA5NCwgMHgwODYsIDB4MEJDLCAweDAxRCwgMHgwMTMsIDB4MEQyLCAweDA5MCwKLQkweDBGRiwgMHgwQ0YsIDB4MDdBLCAweDA4MywgMHgwRjIsIDB4MDUwLCAweDAzMSwgMHgwREUsCi0JMHgwMDAsIDB4MDYwLCAweDA2MCwgMHgwQTEsIDB4MDE3LCAweDAzNSwgMHgwQTgsIDB4MDVGLAotCTB4MDlCLCAweDAxQiwgMHgwMzcsIDB4MDA3LCAweDA0NCwgMHgwMUEsIDB4MDMwLCAweDAwQiwKLQkweDAzOCwgMHgwMEQsIDB4MEJDLCAweDAxQywgMHgwRTAsIDB4MEQwLCAweDA0NywgMHgwQ0UsCi0JMHgwQTAsIDB4MEFBLCAweDA3QSwgMHgwQTEsIDB4MDk4LCAweDA2QSwgMHgwOTIsIDB4MDk1LAotCTB4MDNELCAweDA2OCwgMHgwMzEsIDB4MDgwLCAweDA1QiwgMHgwODAsIDB4MERBLCAweDBBOSwKLQkweDBFRiwgMHgwNDEsIDB4MDk1LCAweDAyNSwgMHgwMTYsIDB4MEY3LCAweDBBNSwgMHgwOEIsCi0JMHgwNEEsIDB4MEM2LCAweDA3OSwgMHgwQjMsIDB4MDMzLCAweDA2MCwgMHgwMkYsIDB4MEFBLAotCTB4MDlFLCAweDBCMSwgMHgwNTEsIDB4MDgwLCAweDA1OSwgMHgwOUUsIDB4MENBLCAweDBBNywKLQkweDBBQywgMHgwMEEsIDB4MDMwLCAweDAwQiwgMHgwNjcsIDB4MEIyLCAweDBBRCwgMHgwRDUsCi0JMHgwREEsIDB4MDkyLCAweDA1RCwgMHgwMTcsIDB4MEEzLCAweDAwMCwgMHgwQjMsIDB4MDJELAotCTB4MDk1LCAweDA2RSwgMHgwMDgsIDB4MEE5LCAweDA1OCwgMHgwQTEsIDB4MDE3LCAweDAzQSwKLQkweDA4QiwgMHgwMDEsIDB4MDdELCAweDA1NCwgMHgwRjcsIDB4MDhFLCAweDA5NSwgMHgwMjUsCi0JMHgwMDgsIDB4MDFDLCAweDBFMCwgMHgwNTYsIDB4MDAyLCAweDBGQiwgMHgwQzEsIDB4MEQxLAotCTB4MDE1LCAweDAxOCwgMHgwMDUsIDB4MDkyLCAweDA2QiwgMHgwM0MsIDB4MDFELCAweDAxMiwKLQkweDAyOCwgMHgwQzAsIDB4MDJDLCAweDBBNSwgMHgwNkMsIDB4MDExLCAweDA3MCwgMHgwMTcsCi0JMHgwQjIsIDB4MDM4LCAweDA0RCwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEI0LAotCTB4MEVDLCAweDA0QSwgMHgwRUQsIDB4MEIzLCAweDA5RSwgMHgwMDIsIDB4MEZCLCAweDA4MCwKLQkweDBCRSwgMHgwRTAsIDB4MDJGLCAweDBCMSwgMHgwMzksIDB4MDkzLCAweDAzRSwgMHgwNkQsCi0JMHgwRTcsIDB4MDEwLCAweDA2MCwgMHgwOUYsIDB4MDMyLCAweDBBOSwgMHgwQTIsIDB4MDZDLAotCTB4MDA1LCAweDBGNCwgMHgwNDAsIDB4MEU2LCAweDAwQSwgMHgwOTUsIDB4MDNELCAweDA2QSwKLQkweDAyMywgMHgwMDAsIDB4MEIzLCAweDA4MCwgMHgwREEsIDB4MEE3LCAweDBENiwgMHgwMkEsCi0JMHgwMDMsIDB4MDBELCAweDA3MCwgMHgwMTcsIDB4MEQyLCAweDAyRSwgMHgwNzYsIDB4MDI5LAotCTB4MDRGLCAweDBCQywgMHgwNTQsIDB4MEE2LCAweDA1MSwgMHgwNkYsIDB4MDdBLCAweDA1OCwKLQkweDBCNCwgMHgwQUMsIDB4MDA1LCAweDBGNCwgMHgwOEIsIDB4MEEyLCAweDBGNCwgMHgwMEUsCi0JMHgwMzUsIDB4MDBELCAweDA0OSwgMHgwMkUsIDB4MEI0LCAweDBDQywgMHgwMTgsIDB4MEE1LAotCTB4MEM4LCAweDBGOCwgMHgwNEEsIDB4MDk3LCAweDAyMywgMHgwRTEsIDB4MDA1LCAweDAyRSwKLQkweDA0NywgMHgwQzIsIDB4MDhBLCAweDA1QywgMHgwOEYsIDB4MDg1LCAweDA2OSwgMHgwNzIsCi0JMHgwM0UsIDB4MDFGLCAweDA0QSwgMHgwQzMsIDB4MDU1LCAweDAxRiwgMHgwNTYsIDB4MDQzLAotCTB4MDMyLCAweDA4QywgMHgwQTMsIDB4MDVFLCAweDA2MCwgMHgwQTgsIDB4MDQ1LCAweDBDRSwKLQkweDAwRCwgMHgwNjAsIDB4MDJGLCAweDBBMywgMHgwODQsIDB4MDlELCAweDBEOCwgMHgwRjAsCi0JMHgwMTcsIDB4MEQyLCAweDAyRSwgMHgwMEUsIDB4MDFCLCAweDAyMywgMHgwODQsIDB4MEQ4LAotCTB4MDBCLCAweDBFQiwgMHgwODksIDB4MEYzLCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwKLQkweDBCQiwgMHgwMzksIDB4MDg1LCAweDBERiwgMHgwMjIsIDB4MDAzLCAweDBFNywgMHgwMDEsCi0JMHgwN0QsIDB4MEMwLCAweDA1RiwgMHgwNzAsIDB4MDE3LCAweDBEMSwgMHgwMTcsIDB4MDM4LAotCTB4MDE0LCAweDA1QiwgMHgwRDYsIDB4MEEyLCAweDA3NCwgMHgwMEQsIDB4MDRCLCAweDA3QSwKLQkweDBCMywgMHgwMzEsIDB4MDk2LCAweDA5NCwgMHgwNkIsIDB4MENDLCAweDAzNSwgMHgwMjMsCi0JMHgwRDcsIDB4MDQ5LCAweDA0OCwgMHgwMTUsIDB4MDczLCAweDAyOSwgMHgwMEYsIDB4MDVELAotCTB4MDhBLCAweDBDMCwgMHgwNUYsIDB4MDRELCAweDA3OSwgMHgwODQsIDB4MDM1LCAweDA4MCwKLQkweDBCRSwgMHgwODgsIDB4MDFDLCAweDBDMywgMHgwNTIsIDB4MDlGLCAweDA1OSwgMHgwNjgsCi0JMHgwQzAsIDB4MDJDLCAweDBFMCwgMHgwMzYsIDB4MEFBLCAweDA3QiwgMHgwQ0QsIDB4MDRBLAotCTB4MDkyLCAweDBCRSwgMHgwRjMsIDB4MDgxLCAweDA0QSwgMHgwN0QsIDB4MDVCLCAweDA1OSwKLQkweDA5NCwgMHgwQ0EsIDB4MDFDLCAweDAyNCwgMHgwRUUsIDB4MEM3LCAweDA4MCwgMHgwQkUsCi0JMHgwODgsIDB4MDFDLCAweDBDMywgMHgwNTIsIDB4MDlGLCAweDA1OSwgMHgwNjgsIDB4MEMwLAotCTB4MDJDLCAweDBFMCwgMHgwMzYsIDB4MEFBLCAweDA3QiwgMHgwQ0QsIDB4MDRBLCAweDA5MiwKLQkweDBCRSwgMHgwRjMsIDB4MDgxLCAweDA0MywgMHgwODQsIDB4MDlDLCAweDA3QiwgMHgwMzgsCi0JMHgwMEIsIDB4MEVCLCAweDBBRiwgMHgwNzAsIDB4MEQ0LCAweDBFQSwgMHgwNTMsIDB4MDAwLAotCTB4MDlCLCAweDA0RiwgMHgwOUMsIDB4MDU0LCAweDAzMCwgMHgwRjMsIDB4MDhBLCAweDA5NCwKLQkweDBGQSwgMHgwQjYsIDB4MEIzLCAweDAyOSwgMHgwOTQsIDB4MDIyLCAweDBFNiwgMHgwMUEsCi0JMHgwODUsIDB4MEY5LCAweDBCMCwgMHgwNTksIDB4MDkzLCAweDBGOSwgMHgwRDIsIDB4MEM0LAotCTB4MDMyLCAweDA2MCwgMHgwQjksIDB4MDM2LCAweDBCMCwgMHgwQjMsIDB4MDkwLCAweDBEOSwKLQkweDA3NywgMHgwMjYsIDB4MDFDLCAweDAyNywgMHgwMjIsIDB4MEU4LCAweDA5NiwgMHgwQjQsCi0JMHgwMjMsIDB4MEVBLCAweDA5RSwgMHgwQjUsIDB4MDExLCAweDA4MCwgMHgwNTksIDB4MDY1LAotCTB4MDg2LCAweDAyMCwgMHgwNzMsIDB4MDk2LCAweDA4RCwgMHgwNzksIDB4MEFELCAweDA1OCwKLQkweDAwQiwgMHgwRTksIDB4MDE3LCAweDA0NCwgMHgwOEEsIDB4MDRBLCAweDAwNywgMHgwRDcsCi0JMHgwN0EsIDB4MDgyLCAweDBBMSwgMHgwOTAsIDB4MEZBLCAweDBFRiwgMHgwMDEsIDB4MDU0LAotCTB4MEJBLCAweDA1MCwgMHgwRDQsIDB4MDU5LCAweDAxRSwgMHgwMkMsIDB4MEU5LCAweDBGMywKLQkweDA4QSwgMHgwOTksIDB4MDg1LCAweDA2QiwgMHgwMEIsIDB4MDIzLCAweDAxNSwgMHgwOTcsCi0JMHgwNzIsIDB4MDYxLCAweDAxNywgMHgwMzAsIDB4MEQ0LCAweDAyQywgMHgwNzMsIDB4MDg3LAotCTB4MDQ4LCAweDBBQSwgMHgwMDIsIDB4MDgxLCAweDAyNSwgMHgwREUsIDB4MDkxLCAweDAwRCwKLQkweDA0QSwgMHgwQzAsIDB4MDVGLCAweDA3RSwgMHgwRDIsIDB4MDgwLCAweDBBNSwgMHgwM0UsCi0JMHgwQjIsIDB4MEQwLCAweDBDOCwgMHgwNkIsIDB4MDgwLCAweDBCRSwgMHgwODgsIDB4MDFDLAotCTB4MEVBLCAweDAwOSwgMHgwMTcsIDB4MDQ0LCAweDAxQSwgMHgwMzcsIDB4MDFBLCAweDA5MSwKLQkweDA3NCwgMHgwNTgsIDB4MEEzLCAweDA3MSwgMHgwQUYsIDB4MDA3LCAweDA0NCwgMHgwNTQsCi0JMHgwNkUsIDB4MDM1LCAweDBFMCwgMHgwRTgsIDB4MEFBLCAweDA2NCwgMHgwMEYsIDB4MDkwLAotCTB4MEZBLCAweDBEMCwgMHgwNjMsIDB4MDAwLCAweDBCMywgMHgwODAsIDB4MERBLCAweDAyQywKLQkweDA3MywgMHgwODcsIDB4MDQ4LCAweDBBQSwgMHgwMDIsIDB4MDgxLCAweDAyNSwgMHgwREUsCi0JMHgwOTEsIDB4MDBELCAweDA0QSwgMHgwQzAsIDB4MDVGLCAweDA0OCwgMHgwQkEsIDB4MDI3LAotCTB4MEEzLCAweDAwMCwgMHgwQjcsIDB4MDAxLCAweDBCNywgMHgwNEYsIDB4MDlDLCAweDBCNCwKLQkweDA2QiwgMHgwQ0MsIDB4MDM1LCAweDAxNiwgMHgwRjUsIDB4MDY2LCAweDA2MywgMHgwMkQsCi0JMHgwMjksIDB4MDFFLCAweDBCQSwgMHgwNEEsIDB4MDQwLCAweDBBQiwgMHgwOTksIDB4MDQ4LAotCTB4MDdBLCAweDBFQywgMHgwNTAsIDB4MDhCLCAweDA5QywgMHgwMDgsIDB4MDIyLCAweDBGQywKLQkweDBGOSwgMHgwQjIsIDB4MDU1LCAweDAzRCwgMHgwNjIsIDB4MEE5LCAweDAyMywgMHgwNTEsCi0JMHgwMjMsIDB4MDlDLCAweDAwQSwgMHgwM0MsIDB4MDczLCAweDAwRCwgMHgwNDQsIDB4MDVDLAotCTB4MEUxLCAweDA1MCwgMHgwNzEsIDB4MENFLCAweDBBMSwgMHgwMUYsIDB4MEU3LCAweDAxNSwKLQkweDA2QiwgMHgwMEIsIDB4MDI1LCAweDBFRCwgMHgwMEIsIDB4MDkzLCAweDA2MCwgMHgwMkYsCi0JMHgwQUEsIDB4MDlFLCAweDBBQywgMHgwMzYsIDB4MDY1LCAweDA0OSwgMHgwNUYsIDB4MDdBLAotCTB4MDIwLCAweDA1MCwgMHgwMDgsIDB4MDdGLCAweDBFRiwgMHgwMzksIDB4MDE0LCAweDA0OSwKLQkweDAwMSwgMHgwMTEsIDB4MDgxLCAweDAwNCwgMHgwNjAsIDB4MDQwLCAweDBDQywgMHgwNTksCi0JMHgwQzAsIDB4MEFELCAweDAyMywgMHgwRUIsIDB4MDQxLCAweDBCMCwgMHgwODEsIDB4MEYyLAotCTB4MDNBLCAweDA0MSwgMHgwQUEsIDB4MDUwLCAweDA0MywgMHgwRTQsIDB4MEQ0LCAweDA4NiwKLQkweDA1NCwgMHgwQTAsIDB4MDg3LCAweDBDMSwgMHgwNTIsIDB4MENBLCAweDA5MywgMHgwMDEsCi0JMHgwMzIsIDB4MDU0LCAweDA5RCwgMHgwMjQsIDB4MDAyLCAweDAwMCwgMHgwMDAsIDB4MDUyLAotCTB4MEFGLCAweDAxNiwgMHgwNDYsIDB4MEE3LCAweDA5MSwgMHgwNjcsIDB4MDA4LCAweDBCNCwKLQkweDAwNCwgMHgwNTEsIDB4MEYxLCAweDA2NSwgMHgwMTksIDB4MEI0LCAweDA2RSwgMHgwMkQsCi0JMHgwQzAsIDB4MEFELCAweDA0OSwgMHgwMDAsIDB4MDkyLCAweDA1NywgMHgwMUIsIDB4MDc0LAotCTB4MDQ1LCAweDA1RiwgMHgwMjMsIDB4MDUxLCAweDBCNywgMHgwNDQsIDB4MDBBLCAweDAxMCwKLQkweDAwNiwgMHgwQTMsIDB4MDZFLCAweDA4QiwgMHgwNkIsIDB4MDA4LCAweDAxRiwgMHgwMTksCi0JMHgwRDEsIDB4MEU2LCAweDA4MCwgMHgwODIsIDB4MDgwLCAweDA1NCwgMHgwMDQsIDB4MDJBLAotCTB4MDQ1LCAweDA5MSwgMHgwQTksIDB4MEU0LCAweDA1OSwgMHgwQzIsIDB4MDJELCAweDAwMSwKLQkweDAxNCwgMHgwMDQsIDB4MDUwLCAweDBEMywgMHgwRkMsIDB4MDU1LCAweDA4NCwgMHgwNjEsCi0JMHgwRDksIDB4MDgwLCAweDA1MSwgMHgwMkYsIDB4MEUyLCAweDAxRiwgMHgwNDYsIDB4MDVGLAotCTB4MDQwLCAweDBFMCwgMHgwMjAsIDB4MDE1LCAweDA0QSwgMHgwQkMsIDB4MDU5LCAweDAxQSwKLQkweDA5RSwgMHgwNDUsIDB4MDlDLCAweDAyMiwgMHgwRDAsIDB4MDExLCAweDA0OCwgMHgwQ0IsCi0JMHgwRTgsIDB4MDE0LCAweDAwOCwgMHgwMDEsIDB4MDU0LCAweDAxNSwgMHgwRTIsIDB4MEM4LAotCTB4MEQ0LCAweDBGMiwgMHgwMkMsIDB4MEUxLCAweDAxNiwgMHgwODAsIDB4MDhBLCAweDA0NiwKLQkweDA1RiwgMHgwNTIsIDB4MDdDLCAweDBEOSwgMHgwQTgsIDB4MEY4LCAweDA4OCwgMHgwRDAsCi0JMHgwNUEsIDB4MDNDLCAweDBEMiwgMHgwNUMsIDB4MDVCLCAweDA4MCwgMHgwREEsIDB4MEE3LAotCTB4MEQ2LCAweDA1QSwgMHgwMDgsIDB4MDg2LCAweDBBNCwgMHgwNUQsIDB4MDE3LCAweDBBMCwKLQkweDBDMywgMHgwNTIsIDB4MDJFLCAweDA4OCwgMHgwQTgsIDB4MDIyLCAweDAxRiwgMHgwNTMsCi0JMHgwRUEsIDB4MERBLCAweDBDQywgMHgwQTYsIDB4MDUwLCAweDBFMSwgMHgwMjcsIDB4MDc2LAotCTB4MDNDLCAweDAwNSwgMHgwRjUsIDB4MDRGLCAweDBBQiwgMHgwNkIsIDB4MDMyLCAweDA5OSwKLQkweDA0MywgMHgwODQsIDB4MDlDLCAweDA3QiwgMHgwMzgsIDB4MDBCLCAweDBFOSwgMHgwMjcsCi0JMHgwQUMsIDB4MEQ0LCAweDA5MiwgMHgwRTAsIDB4MDBFLCAweDBEQSwgMHgwMzgsIDB4MDRELAotCTB4MDgwLCAweDBCRSwgMHgwRTYsIDB4MDdELCAweDA1MCwgMHgwQkEsIDB4MDUxLCAweDBBRSwKLQkweDA2NiwgMHgwRUYsIDB4MEJDLCAweDBEQywgMHgwN0IsIDB4MDg3LCAweDAxRSwgMHgwMDIsCi0JMHgwRkEsIDB4MDkzLCAweDBFNiwgMHgwQ0QsIDB4MDQ3LCAweDBDNCwgMHgwNDMsIDB4MENELAotCTB4MDBGLCAweDAzNCwgMHgwOUQsIDB4MEEzLCAweDAwMCwgMHgwQjAsIDB4MDU1LCAweDAwMSwKLQkweDBBRSwgMHgwMDMsIDB4MDg0LCAweDAwNCwgMHgwQ0UsIDB4MDAxLCAweDBEMCwgMHgwRTEsCi0JMHgwNzAsIDB4MDAyLCAweDA4MCwgMHgwMEUsIDB4MDg5LCAweDBFOSwgMHgwMjIsIDB4MDFGLAotCTB4MEUwLCAweDBFOCwgMHgwOTYsIDB4MEIwLCAweDAxMSwgMHgwRjQsIDB4MEMyLCAweDBDRSwKLQkweDAwMywgMHgwNkEsIDB4MDQ0LCAweDAyRCwgMHgwQzAsIDB4MDZELCAweDA0OCwgMHgwMDUsCi0JMHgwQjgsIDB4MDBELCAweDBBMywgMHgwMDAsIDB4MEI3LCAweDA3NiwgMHgwRDUsIDB4MERFLAotCTB4MEIxLCAweDA1MCwgMHgwREMsIDB4MDdELCAweDA3NywgMHgwQkMsIDB4MDU0LCAweDBCQSwKLQkweDA1MiwgMHgwN0YsIDB4MDU4LCAweDAxNCwgMHgwMzQsIDB4MDBGLCAweDA5QSwgMHgwRjMsCi0JMHgwODEsIDB4MDU4LCAweDAwQiwgMHgwRUEsIDB4MEVGLCAweDA1OCwgMHgwMTQsIDB4MDYwLAotCTB4MDE2LCAweDBBNSwgMHgwNkMsIDB4MDJFLCAweDBGNywgMHgwODEsIDB4MDRCLCAweDBBNSwKLQkweDA2RiwgMHgwN0QsIDB4MDVELCAweDBFRSwgMHgwQjUsIDB4MDJFLCAweDA5NSwgMHgwODAsCi0JMHgwQkUsIDB4MEYwLCAweDA3MywgMHgwQkQsIDB4MDA0LCAweDA3QywgMHgwRUEsIDB4MEZFLAotCTB4MEVCLCAweDA0QywgMHgwREUsIDB4MDI5LCAweDA1MywgMHgwREQsIDB4MDZBLCAweDA1NCwKLQkweDA5NCwgMHgwQTksIDB4MEVBLCAweDAwQSwgMHgwOEMsIDB4MDAyLCAweDBENiwgMHgwNEMsCi0JMHgwM0MsIDB4MDA1LCAweDBGNCwgMHgwMDAsIDB4MEVBLCAweDBDRCwgMHgwNTYsIDB4MEFGLAotCTB4MEMwLCAweDA0NywgMHgwRDIsIDB4MDlDLCAweDA4RCwgMHgwMjksIDB4MENBLCAweDBFMCwKLQkweDAyRiwgMHgwQUUsIDB4MEJELCAweDA3NSwgMHgwOTksIDB4MDlELCAweDA0QSwgMHgwRjksCi0JMHgwRUYsIDB4MDUxLCAweDA3QywgMHgwOTQsIDB4MDBDLCAweDA3NywgMHgwODAsIDB4MDE4LAotCTB4MDE4LCAweDAyOSwgMHgwMkEsIDB4MEY4LCAweDBFMCwgMHgwRTgsIDB4MEFBLCAweDAzMCwKLQkweDAwQiwgMHgwMkEsIDB4MDk4LCAweDA3QywgMHgwMUQsIDB4MDExLCAweDA1MSwgMHgwODAsCi0JMHgwNTksIDB4MDU0LCAweDBDMywgMHgwNTEsIDB4MEY1LCAweDAxQiwgMHgwMzMsIDB4MDI0LAotCTB4MEJCLCAweDA4MiwgMHgwQTUsIDB4MDE5LCAweDA1QywgMHgwMUQsIDB4MDEwLCAweDAyOCwKLQkweDBDMCwgMHgwMkMsIDB4MDlBLCAweDBDNywgMHgwQzEsIDB4MEQxLCAweDAyMiwgMHgwOEMsCi0JMHgwMDIsIDB4MEM5LCAweDA5NCwgMHgwNjQsIDB4MDVDLCAweDAwQywgMHgwRDYsIDB4MDhFLAotCTB4MDEzLCAweDA2MCwgMHgwMkYsIDB4MEI4LCAweDAwQiwgMHgwRUEsIDB4MDMwLCAweDBFMywKLQkweDBDMCwgMHgwNUYsIDB4MDQ4LCAweDBEQywgMHgwNzgsIDB4MDBCLCAweDBFOCwgMHgwMDAsCi0JMHgwRTMsIDB4MEMwLCAweDA1RiwgMHgwNkMsIDB4MDM4LCAweDBENSwgMHgwMkUsIDB4MDM1LAotCTB4MDRGLCAweDA1QSwgMHgwOEEsIDB4MDYxLCAweDBBQSwgMHgwOUYsIDB4MDU2LCAweDAxQiwKLQkweDAzMiwgMHgwOTksIDB4MDQ2LCAweDA0MiwgMHgwQzgsIDB4MDAxLCAweDAwQywgMHgwNDUsCi0JMHgwQ0UsIDB4MEE1LCAweDAxNywgMHgwRTYsIDB4MEM2LCAweDBDRSwgMHgwQTksIDB4MEVCLAotCTB4MDE1LCAweDAxNiwgMHgwNDYsIDB4MEEyLCAweDA0NywgMHgwMzgsIDB4MDE0LCAweDA0MywKLQkweDAyNiwgMHgwMjIsIDB4MEU3LCAweDAzRCwgMHgwNjAsIDB4MDJGLCAweDBBQSwgMHgwOUUsCi0JMHgwQjUsIDB4MDEyLCAweDBFMCwgMHgwN0YsIDB4MDAxLCAweDA3RCwgMHgwRTMsIDB4MEU3LAotCTB4MDAyLCAweDA5MywgMHgwRjksIDB4MDk1LCAweDA0NCwgMHgwNUMsIDB4MEU1LCAweDBBMCwKLQkweDBFMywgMHgwOUQsIDB4MDRBLCAweDA3RiwgMHgwOUMsIDB4MDU0LCAweDBBOSwgMHgwRUIsCi0JMHgwNTEsIDB4MDA1LCAweDA0NiwgMHgwQjksIDB4MEZDLCAweDBDMCwgMHgwMUIsIDB4MDIyLAotCTB4MDJFLCAweDA2NCwgMHgwNTQsIDB4MDJGLCAweDBDRCwgMHgwNDYsIDB4MENDLCAweDBBNywKLQkweDBENSwgMHgwODYsIDB4MENDLCAweDBBNiwgMHgwNTAsIDB4MDU1LCAweDBDNiwgMHgwNDUsCi0JMHgwQ0UsIDB4MDVBLCAweDAwRSwgMHgwMzksIDB4MEQ0LCAweDBBNywgMHgwRjksIDB4MEM1LAotCTB4MDRBLCAweDA5RSwgMHgwQjUsIDB4MDExLCAweDA4MCwgMHgwNTksIDB4MEMwLCAweDA2RCwKLQkweDBDRiwgMHgwRTYsIDB4MDAwLCAweDBEOSwgMHgwMTEsIDB4MDczLCAweDAyMiwgMHgwQTEsCi0JMHgwN0UsIDB4MDZBLCAweDAzNiwgMHgwNjUsIDB4MDNFLCAweDBBQywgMHgwMzYsIDB4MDY1LAotCTB4MDMyLCAweDBCMCwgMHgwMTcsIDB4MERELCAweDAzRSwgMHgwNzIsIDB4MEQyLCAweDA3OSwKLQkweDAzMSwgMHgwMEMsIDB4MDk4LCAweDAyRSwgMHgwNEMsIDB4MDIwLCAweDA3MywgMHgwMkEsCi0JMHgwOEYsIDB4MEYzLCAweDA4QSwgMHgwQUQsIDB4MEU3LCAweDA0MSwgMHgwODIsIDB4MDdDLAotCTB4MENBLCAweDBBNiwgMHgwODksIDB4MEI1LCAweDA4NSwgMHgwOUYsIDB4MEIwLCAweDBGMCwKLQkweDAxNywgMHgwRDUsIDB4MDFGLCAweDA1NCwgMHgwNTQsIDB4MDI1LCAweDAxQSwgMHgwQTgsCi0JMHgwRkYsIDB4MDJBLCAweDA5NCwgMHgwNjUsIDB4MDExLCAweDBENywgMHgwNDksIDB4MDQ0LAotCTB4MEQ1LCAweDBDQywgMHgwQTAsIDB4MDU1LCAweDBEOCwgMHgwQUUsIDB4MDBFLCAweDA4OCwKLQkweDAxNCwgMHgwNjAsIDB4MDE2LCAweDA0RCwgMHgwNjMsIDB4MDIyLCAweDBFMCwgMHgwNzIsCi0JMHgwODYsIDB4MDM4LCAweDA0RCwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEI4LAotCTB4MDBCLCAweDBFRSwgMHgwMDIsIDB4MEZCLCAweDA4MSwgMHgwMzgsIDB4MEYwLCAweDAxNywKLQkweDBENywgMHgwRDcsIDB4MDFFLCAweDAwMiwgMHgwRkEsIDB4MEZBLCAweDBFMywgMHgwQzAsCi0JMHgwNUYsIDB4MDRDLCAweDA4NSwgMHgwOTAsIDB4MDAyLCAweDAxOCwgMHgwQzgsIDB4MDVCLAotCTB4MDgwLCAweDBEQSwgMHgwMzAsIDB4MDBCLCAweDA3MCwgMHgwMUIsIDB4MDRDLCAweDAyMiwKLQkweDBEMywgMHgwNEMsIDB4MDMzLCAweDAwMywgMHgwOEMsIDB4MDJFLCAweDA0QywgMHgwNDMsCi0JMHgwMjYsIDB4MEQwLCAweDBGNSwgMHgwNjMsIDB4MDY2LCAweDBEMCwgMHgwOTUsIDB4MEE3LAotCTB4MENFLCAweDA0NSwgMHgwMzMsIDB4MDBBLCAweDBENiwgMHgwMTYsIDB4MDQyLCAweDAzOCwKLQkweDA2RSwgMHgwRTQsIDB4MENFLCAweDBCRCwgMHgwNTksIDB4MDJDLCAweDBEMiwgMHgwQUIsCi0JMHgwQkEsIDB4MDk0LCAweDA5RCwgMHgwRTYsIDB4MDFBLCAweDBCMCwgMHgwMTcsIDB4MEQ1LAotCTB4MDRGLCAweDA1QSwgMHgwOEIsIDB4MDA5LCAweDAxQSwgMHgwODgsIDB4MEI5LCAweDBDNSwKLQkweDA0MiwgMHgwNDcsIDB4MDMwLCAweDBENCwgMHgwMzIsIDB4MDE2LCAweDA3MiwgMHgwODgsCi0JMHgwNjUsIDB4MEJELCAweDA1OSwgMHgwOTksIDB4MDI1LCAweDBBNSwgMHgwNjAsIDB4MDJGLAotCTB4MEI4LCAweDA2MCwgMHgwRjMsIDB4MDA4LCAweDBCNywgMHgwNEEsIDB4MDFBLCAweDA4RiwKLQkweDBBQiwgMHgwMEQsIDB4MDk5LCAweDA0NiwgMHgwNTEsIDB4MEFGLCAweDAzOCwgMHgwQTgsCi0JMHgwOEUsIDB4MDkwLCAweDA2NSwgMHgwMTMsIDB4MDUyLCAweDAxOCwgMHgwQTAsIDB4MDU0LAotCTB4MEIxLCAweDA0MiwgMHgwMkUsIDB4MDYxLCAweDBBOCwgMHgwNDgsIDB4MEU3LCAweDAyRCwKLQkweDAxNiwgMHgwRjcsIDB4MEE4LCAweDAwNSwgMHgwQTUsIDB4MDYwLCAweDAyRiwgMHgwQTQsCi0JMHgwNzUsIDB4MEQyLCAweDA1MSwgMHgwMzUsIDB4MDczLCAweDAyOCwgMHgwMTUsIDB4MDc2LAotCTB4MDJCLCAweDA4MywgMHgwQTIsIDB4MDA1LCAweDAxOCwgMHgwMDUsIDB4MDkzLCAweDA1OCwKLQkweDBDOCwgMHgwQjgsIDB4MDA2LCAweDAyOCwgMHgwNjMsIDB4MDg0LCAweDBEOCwgMHgwMEIsCi0JMHgwRUUsIDB4MDAyLCAweDBGQiwgMHgwODAsIDB4MEJFLCAweDBFMCwgMHgwMkYsIDB4MEEwLAotCTB4MDQzLCAweDBBNywgMHgwMDEsIDB4MDdELCAweDA0QywgMHgwRTMsIDB4MEMwLCAweDA1RiwKLQkweDA3MCwgMHgwMTcsIDB4MERDLCAweDAwNSwgMHgwRjQsIDB4MDY0LCAweDAyRCwgMHgwQzAsCi0JMHgwNkQsIDB4MDE4LCAweDAwNSwgMHgwQjgsIDB4MDBELCAweDBBNSwgMHgwQkQsIDB4MDZBLAotCTB4MDIzLCAweDA4NiwgMHgwQUEsIDB4MDlFLCAweDBCNSwgMHgwMTEsIDB4MEE0LCAweDA2QSwKLQkweDBBMywgMHgwRUEsIDB4MDhBLCAweDA4RCwgMHgwMjMsIDB4MEUxLCAweDAxNywgMHgwMzgsCi0JMHgwMzQsIDB4MDY5LCAweDA3MSwgMHgwOTgsIDB4MDQ1LCAweDBBNiwgMHgwOTgsIDB4MDZBLAotCTB4MDNFLCAweDBBQywgMHgwMzYsIDB4MDY1LCAweDAxOSwgMHgwNDYsIDB4MEJDLCAweDBFMiwKLQkweDBBMiwgMHgwM0EsIDB4MDQxLCAweDA5NCwgMHgwNEQsIDB4MDQ4LCAweDA2MiwgMHgwODEsCi0JMHgwNTIsIDB4MEM1LCAweDAxNiwgMHgwRjcsIDB4MEE4LCAweDA4QiwgMHgwNEEsIDB4MDU0LAotCTB4MEY1LCAweDBBOCwgMHgwOEMsIDB4MDAyLCAweDBEQywgMHgwMDYsIDB4MEQxLCAweDAwMywKLQkweDA5QywgMHgwQjQsIDB4MEE5LCAweDBFRSwgMHgwMEEsIDB4MDk1LCAweDAyNSwgMHgwMkEsCi0JMHgwN0EsIDB4MEFELCAweDA0NiwgMHgwMDEsIDB4MDY3LCAweDAwMSwgMHgwQjUsIDB4MEQ3LAotCTB4MEFDLCAweDAwQSwgMHgwMzAsIDB4MDBCLCAweDA2QywgMHgwNDksIDB4MDM1LCAweDBFNiwKLQkweDBCNSwgMHgwNjcsIDB4MEYzLCAweDAwMCwgMHgwNkMsIDB4MDg4LCAweDBCOSwgMHgwOTEsCi0JMHgwNTAsIDB4MEJGLCAweDAzMSwgMHgwMUIsIDB4MDMyLCAweDBBNywgMHgwQjgsIDB4MDY4LAotCTB4MDk1LCAweDAyNSwgMHgwN0IsIDB4MEFELCAweDAzMywgMHgwNzgsIDB4MEE3LCAweDBDRCwKLQkweDAzRSwgMHgwRDMsIDB4MDhFLCAweDA5RCwgMHgwMzQsIDB4MEU3LCAweDA0RSwgMHgwRDQsCi0JMHgwMjIsIDB4MEU3LCAweDAwNiwgMHgwODQsIDB4MDhFLCAweDA2MCwgMHgwQTgsIDB4MEZGLAotCTB4MDM4LCAweDBBQiwgMHgwODMsIDB4MDlDLCAweDAyQSwgMHgwMDgsIDB4MEY5LCAweDBENCwKLQkweDAyMCwgMHgwNjMsIDB4MEJDLCAweDAxQSwgMHgwMDYsIDB4MDBBLCAweDBDMCwgMHgwNUYsCi0JMHgwNDYsIDB4MDQyLCAweDBEQywgMHgwMDYsIDB4MEQxLCAweDA4MCwgMHgwNUIsIDB4MDgwLAotCTB4MERBLCAweDAyMiwgMHgwRTYsIDB4MDFBLCAweDA4NCwgMHgwOEUsIDB4MDcyLCAweDBEMSwKLQkweDA2RiwgMHgwNUEsIDB4MDgwLCAweDA4NywgMHgwMUEsIDB4MEFBLCAweDA3QSwgMHgwRDQsCi0JMHgwNDgsIDB4MEM4LCAweDBENSwgMHgwNDcsIDB4MEQ1LCAweDAxNSwgMHgwMjMsIDB4MDIzLAotCTB4MEUxLCAweDAxNywgMHgwMzgsIDB4MDM0LCAweDA4QywgMHgwQkEsIDB4MDRCLCAweDA3QiwKLQkweDBENCwgMHgwMDIsIDB4MEQyLCAweDA4QywgMHgwMjIsIDB4MERDLCAweDAwNiwgMHgwRDUsCi0JMHgwMUYsIDB4MDU2LCAweDAxQiwgMHgwMzIsIDB4MDhDLCAweDBBMywgMHgwNUUsIDB4MDcxLAotCTB4MDUxLCAweDAxRCwgMHgwMjAsIDB4MENBLCAweDAyNiwgMHgwQTQsIDB4MDMxLCAweDA0MCwKLQkweDBBOSwgMHgwNjIsIDB4MEIwLCAweDAxNywgMHgwREYsIDB4MDlFLCAweDBGNCwgMHgwQjcsCi0JMHgwQzksIDB4MDQwLCAweDBDNywgMHgwNzgsIDB4MDAxLCAweDA4MSwgMHgwODIsIDB4MEI4LAotCTB4MDM4LCAweDAzOSwgMHgwNDksIDB4MDFDLCAweDAyNiwgMHgwQzAsIDB4MDVGLCAweDA3MCwKLQkweDAxNywgMHgwRDQsIDB4MEFCLCAweDBFMSwgMHgwMkEsIDB4MEY4LCAweDA0QSwgMHgwQkUsCi0JMHgwMTIsIDB4MEFGLCAweDA4RiwgMHgwOTcsIDB4MDRGLCAweDBDQiwgMHgwQTcsIDB4MDAxLAotCTB4MDdELCAweDBEQSwgMHgwODAsIDB4MEFBLCAweDA5MSwgMHgwNjQsIDB4MDdGLCAweDA0QSwKLQkweDA4MSwgMHgwRDUsIDB4MDIyLCAweDBDOCwgMHgwRkUsIDB4MDgyLCAweDA4MCwgMHgwMjUsCi0JMHgwNDgsIDB4MEIyLCAweDAzRSwgMHgwQkIsIDB4MERDLCAweDAzNSwgMHgwMkUsIDB4MDk0LAotCTB4MDA3LCAweDBFOCwgMHgwOEEsIDB4MDlDLCAweDAwMywgMHgwRTIsIDB4MDRCLCAweDBBNSwKLQkweDA3NywgMHgwQUIsIDB4MEIzLCAweDAzMiwgMHgwRTksIDB4MDRCLCAweDBCRCwgMHgwNTksCi0JMHgwODYsIDB4MDg0LCAweDA5NywgMHgwN0EsIDB4MDA0LCAweDBCQSwgMHgwNTMsIDB4MEUxLAotCTB4MDMyLCAweDBFRiwgMHgwNTAsIDB4MEQ0LCAweDBFNiwgMHgwMzUsIDB4MDUzLCAweDBFQiwKLQkweDAwMiwgMHgwOUMsIDB4MEM3LCAweDBENywgMHgwN0EsIDB4MEIzLCAweDAzMCwgMHgwRDIsCi0JMHgwNUQsIDB4MEVBLCAweDAwMiwgMHgwRTksIDB4MDQ0LCAweDA1RCwgMHgwMTYsIDB4MDI4LAotCTB4MEMwLCAweDAyQywgMHgwRTAsIDB4MDM2LCAweDA5MSwgMHgwNzQsIDB4MDQ1LCAweDA1OSwKLQkweDAxOCwgMHgwRDUsIDB4MDRGLCAweDBBQywgMHgwMEEsIDB4MEM0LCAweDAzNSwgMHgwMzAsCi0JMHgwOEIsIDB4MDM4LCAweDA2OSwgMHgwMkIsIDB4MEJELCAweDA1OSwgMHgwOTgsIDB4MDY5LAotCTB4MDJFLCAweDBGNSwgMHgwMTIsIDB4MEU5LCAweDA1OCwgMHgwNjcsIDB4MDRBLCAweDBFRiwKLQkweDA1MCwgMHgwRDUsIDB4MDhFLCAweDAzRSwgMHgwMUMsIDB4MEE0LCAweDBCMCwgMHgwQ0UsCi0JMHgwOTMsIDB4MDIxLCAweDA2RSwgMHgwMUEsIDB4MDQ4LCAweDAxRiwgMHgwQTIsIDB4MDJBLAotCTB4MEMzLCAweDAwRCwgMHgwNTcsIDB4MDdBLCAweDBCMywgMHgwMEQsIDB4MDA5LCAweDAyRSwKLQkweDBGNCwgMHgwNDMsIDB4MDVELCAweDAyOCwgMHgwOEIsIDB4MDgzLCAweDAyMCwgMHgwOTIsCi0JMHgwMzgsIDB4MDRELCAweDA4MCwgMHgwQkUsIDB4MEUwLCAweDAyRiwgMHgwQUMsIDB4MDE3LAotCTB4MDQ5LCAweDBCMywgMHgwQTUsIDB4MDgyLCAweDBFOSwgMHgwM0UsIDB4MEU5LCAweDAzNiwKLQkweDA3NCwgMHgwRTAsIDB4MDJGLCAweDBBNiwgMHgwQ0UsIDB4MDlDLCAweDAwNSwgMHgwRjQsCi0JMHgwQzIsIDB4MDJDLCAweDA4QywgMHgwNTIsIDB4MDU3LCAweDA3QSwgMHgwRDQsIDB4MDhELAotCTB4MDQ4LCAweDBGQSwgMHgwRUYsIDB4MDUwLCAweDBENSwgMHgwQUUsIDB4MDM1LCAweDA1MywKLQkweDBFQiwgMHgwMDIsIDB4MDg2LCAweDAyMSwgMHgwQUEsIDB4MEVGLCAweDA1NiwgMHgwNjYsCi0JMHgwMUEsIDB4MDRCLCAweDBCRCwgMHgwNDQsIDB4MEJBLCAweDA1MCwgMHgwQzQsIDB4MEU5LAotCTB4MDUzLCAweDBFQiwgMHgwMDIsIDB4MDg2LCAweDA4MSwgMHgwRjUsIDB4MERFLCAweDBBMSwKLQkweDBBOCwgMHgwNjIsIDB4MDFGLCAweDA1RCwgMHgwRkUsIDB4MEEyLCAweDA1RCwgMHgwMjksCi0JMHgwNzcsIDB4MEE4LCAweDA2QSwgMHgwNjEsIDB4MDhELCAweDA0MCwgMHgwRkQsIDB4MDExLAotCTB4MDUzLCAweDAwQywgMHgwNkEsIDB4MEE3LCAweDBENiwgMHgwMDUsIDB4MDMwLCAweDBDNywKLQkweDBENywgMHgwN0YsIDB4MEE5LCAweDA1NywgMHgwNEEsIDB4MDVELCAweDBFQiwgMHgwNDgsCi0JMHgwMUIsIDB4MDBDLCAweDA3QywgMHgwOEIsIDB4MDlELCAweDA4QSwgMHgwNTMsIDB4MEVGLAotCTB4MDY2LCAweDA5NCwgMHgwQ0EsIDB4MDU0LCAweDBGNSwgMHgwQTAsIDB4MEM2LCAweDAwMSwKLQkweDA2RSwgMHgwMDMsIDB4MDZBLCAweDA5RiwgMHgwNTYsIDB4MDc2LCAweDA2NSwgMHgwMzIsCi0JMHgwOEIsIDB4MDdCLCAweDBEMiwgMHgwQzUsIDB4MEE1LCAweDA2MCwgMHgwMkYsIDB4MEFBLAotCTB4MDdELCAweDA2NSwgMHgwQTMsIDB4MDAwLCAweDBCNywgMHgwMDEsIDB4MEI0LCAweDBDOCwKLQkweDA1QSwgMHgwMDcsIDB4MDhGLCAweDBFRCwgMHgwMDEsIDB4MEQ1LCAweDAyNywgMHgwOTEsCi0JMHgwNjcsIDB4MDAxLCAweDBCNCwgMHgwOEIsIDB4MDlDLCAweDA1NCwgMHgwMUMsIDB4MDczLAotCTB4MEE4LCAweDA4NCwgMHgwNUMsIDB4MEMxLCAweDA1MCwgMHgwQkYsIDB4MDM2LCAweDA1NiwKLQkweDA2MCwgMHgwQUIsIDB4MDhDLCAweDA4QiwgMHgwOUMsIDB4MDU0LCAweDAxQywgMHgwNzMsCi0JMHgwQTgsIDB4MDg0LCAweDA1QywgMHgwQzEsIDB4MDUwLCAweDBCRiwgMHgwMzYsIDB4MDU2LAotCTB4MDZDLCAweDAwNSwgMHgwRjUsIDB4MDUzLCAweDBENiwgMHgwQTIsIDB4MDMwLCAweDAwQiwKLQkweDAyOSwgMHgwNUIsIDB4MDE5LCAweDBGQywgMHgwRjYsIDB4MDk0LCAweDA0NSwgMHgwQ0YsCi0JMHgwMTUsIDB4MDBCLCAweDBGMywgMHgwM0MsIDB4MEIzLCAweDAyQSwgMHgwN0EsIDB4MEM1LAotCTB4MDQ2LCAweDAwMSwgMHgwNjQsIDB4MDhBLCAweDAzMSwgMHgwMjMsIDB4MDlDLCAweDAwQSwKLQkweDA1RCwgMHgwRUEsIDB4MDM0LCAweDAzMywgMHgwMkUsIDB4MDk1LCAweDBDNywgMHgwQ0UsCi0JMHgwMkEsIDB4MDRGLCAweDBFNiwgMHgwNTAsIDB4MDIwLCAweDBCOSwgMHgwMzEsIDB4MDBDLAotCTB4MDlCLCAweDBFRiwgMHgwMzksIDB4MDE0LCAweDA0NSwgMHgwQ0UsIDB4MDQ1LCAweDAwNywKLQkweDAxQywgMHgwRUEsIDB4MDQ2LCAweDA4NywgMHgwQUIsIDB4MDFCLCAweDAzNiwgMHgwODQsCi0JMHgwQTcsIDB4MDVFLCAweDBBQywgMHgwOTYsIDB4MDY3LCAweDA1MiwgMHgwQjAsIDB4MDE3LAotCTB4MERDLCAweDBGRSwgMHgwN0IsIDB4MDRBLCAweDAyMiwgMHgwRTcsIDB4MDhBLCAweDA4NSwKLQkweDBGOSwgMHgwOUUsIDB4MDU5LCAweDA5NywgMHgwN0EsIDB4MDhELCAweDAwQywgMHgwQ0IsCi0JMHgwQTUsIDB4MDI3LCAweDBGMywgMHgwQTAsIDB4MDQ0LCAweDAzMiwgMHgwNjAsIDB4MEI5LAotCTB4MDM3LCAweDBERSwgMHgwNzIsIDB4MDI4LCAweDA4QiwgMHgwOUMsIDB4MDhBLCAweDAwRSwKLQkweDAzOSwgMHgwRDQsIDB4MDhDLCAweDAwNSwgMHgwRjcsIDB4MEU3LCAweDBCOCwgMHgwMkEsCi0JMHgwRjksIDB4MDI4LCAweDAxOCwgMHgwRUYsIDB4MDAwLCAweDAzMCwgMHgwMzAsIDB4MDU3LAotCTB4MDA3LCAweDA0NCwgMHgwMEEsIDB4MDUwLCAweDA4RiwgMHgwRjAsIDB4MDczLCAweDA5MSwKLQkweDA0MSwgMHgwMUYsIDB4MDNBLCAweDA5MCwgMHgwNDUsIDB4MEMwLCAweDBCQiwgMHgwMTgsCi0JMHgwRTEsIDB4MDM2LCAweDAwMiwgMHgwRkIsIDB4MEZCLCAweDA5RSwgMHgwMDIsIDB4MEZBLAotCTB4MEVFLCAweDBFNywgMHgwRjUsIDB4MENGLCAweDAwMSwgMHgwN0QsIDB4MDEwLCAweDA1QywKLQkweDBGMCwgMHgwMTcsIDB4MEQxLCAweDAwNSwgMHgwQ0YsIDB4MDAxLCAweDA3RCwgMHgwNTMsCi0JMHgwRUIsIDB4MDJELCAweDAxOCwgMHgwMDUsIDB4MEI4LCAweDAwRCwgMHgwQTYsIDB4MDQyLAotCTB4MERDLCAweDAwNiwgMHgwRDMsIDB4MDE3LCAweDAzNSwgMHgwQTgsIDB4MDhCLCAweDA5QywKLQkweDAwQSwgMHgwMEUsIDB4MDM5LCAweDBENCwgMHgwMEMsIDB4MEZFLCAweDA3QiwgMHgwNEEsCi0JMHgwMjIsIDB4MEU2LCAweDA1NSwgMHgwMEIsIDB4MEYzLCAweDAzMSwgMHgwQjMsIDB4MDYwLAotCTB4MDJGLCAweDBCQywgMHgwN0MsIDB4MEUyLCAweDBBNCwgMHgwRkUsIDB4MDY1LCAweDA1MSwKLQkweDAxNywgMHgwMzgsIDB4MDE0LCAweDAxQywgMHgwNzMsIDB4MEE4LCAweDAxOSwgMHgwRkMsCi0JMHgwRjYsIDB4MDk0LCAweDA0NSwgMHgwQ0MsIDB4MEFBLCAweDAxNywgMHgwRTYsIDB4MDYzLAotCTB4MDY2LCAweDAwQSwgMHgwQjgsIDB4MENDLCAweDA4NSwgMHgwQTEsIDB4MDU4LCAweDBGNiwKLQkweDBBMiwgMHgwMzUsIDB4MDQ4LCAweDA0OCwgMHgwN0YsIDB4MDRBLCAweDA4OSwgMHgwOTUsCi0JMHgwMjEsIDB4MDIxLCAweDBGRCwgMHgwMDUsIDB4MDAyLCAweDA1NCwgMHgwOUUsIDB4MDQ1LAotCTB4MDkxLCAweDAwRSwgMHgwM0MsIDB4MDA1LCAweDBGNSwgMHgwMDcsIDB4MDQwLCAweDA1NSwKLQkweDA0OCwgMHgwNTIsIDB4MDNFLCAweDA4NiwgMHgwQTAsIDB4MDc1LCAweDA0OCwgMHgwNTIsCi0JMHgwM0UsIDB4MEI1LCAweDAwMCwgMHgwNEEsIDB4MDlDLCAweDAwMCwgMHgwNkIsIDB4MEM3LAotCTB4MENFLCAweDA0NSwgMHgwMjcsIDB4MEYzLCAweDAyQSwgMHgwODQsIDB4MDM3LCAweDAzNSwKLQkweDBERSwgMHgwQTAsIDB4MEFCLCAweDAyMywgMHgwMUEsIDB4MEFFLCAweDBGNSwgMHgwODMsCi0JMHgwNTksIDB4MDE4LCAweDBENywgMHgwNDMsIDB4MERFLCAweDAyQSwgMHgwRDAsIDB4MDk0LAotCTB4MEVCLCAweDBERSwgMHgwMDUsIDB4MDNBLCAweDA5NSwgMHgwOUYsIDB4MENDLCAweDBDMywKLQkweDAyMCwgMHgwNDUsIDB4MENDLCAweDBBQSwgMHgwMTcsIDB4MEU2LCAweDA2NiwgMHgwQ0MsCi0JMHgwNDMsIDB4MDI2LCAweDA0RiwgMHgwRTcsIDB4MDQxLCAweDAyMiwgMHgwMkUsIDB4MDcwLAotCTB4MDY4LCAweDAzOCwgMHgwRTcsIDB4MDUzLCAweDBFMCwgMHgwMkYsIDB4MEFCLCAweDBCQywKLQkweDAxMiwgMHgwRDIsIDB4MEU5LCAweDA1OCwgMHgwMEIsIDB4MEVBLCAweDBBNywgMHgwQUQsCi0JMHgwNDUsIDB4MEExLCAweDAxRiwgMHgwQzAsIDB4MDVGLCAweDA3OCwgMHgwMzksIDB4MEM4LAotCTB4MEEwLCAweDA4RiwgMHgwOUQsIDB4MDQ4LCAweDAxQywgMHgwMjQsIDB4MEVFLCAweDBDNywKLQkweDA4MCwgMHgwQkUsIDB4MEJBLCAweDBGNSwgMHgwNkQsIDB4MDY2LCAweDA0OSwgMHgwNzcsCi0JMHgwMEQsIDB4MDRFLCAweDBBNSwgMHgwMzAsIDB4MDA5LCAweDBCNCwgMHgwRjksIDB4MEM1LAotCTB4MDQzLCAweDAwRiwgMHgwMzgsIDB4MEE5LCAweDAzRiwgMHgwOUQsIDB4MDAyLCAweDBGQiwKLQkweDBDRSwgMHgwNDUsIDB4MDExLCAweDA3MywgMHgwOTEsIDB4MDQxLCAweDBDNywgMHgwM0EsCi0JMHgwOTEsIDB4MDlGLCAweDBDRiwgMHgwNjksIDB4MDQ0LCAweDA1QywgMHgwRjEsIDB4MDUwLAotCTB4MEJGLCAweDAzMywgMHgwQ0IsIDB4MDMyLCAweDBBNywgMHgwQUMsIDB4MDU0LCAweDA5MCwKLQkweDA4RCwgMHgwNDQsIDB4MDhFLCAweDA3MCwgMHgwMjksIDB4MDc3LCAweDBBOCwgMHgwRDAsCi0JMHgwQ0MsIDB4MEJBLCAweDA1NiwgMHgwQjAsIDB4MEIyLCAweDA5RCwgMHgwOEMsIDB4MDg2LAotCTB4MDRDLCAweDAxNywgMHgwMjYsIDB4MDc3LCAweDAyNiwgMHgwMUMsIDB4MDI3LCAweDAxQywKLQkweDAyNCwgMHgwOUUsIDB4MDIzLCAweDA2MSwgMHgwQkUsIDB4MDhFLCAweDAxMiwgMHgwNEYsCi0JMHgwMTEsIDB4MDg3LCAweDAxQywgMHgwRUEsIDB4MDVDLCAweDAwNSwgMHgwRjUsIDB4MEQ3LAotCTB4MEI4LCAweDA2QSwgMHgwNzUsIDB4MDI5LCAweDA3NywgMHgwQUIsIDB4MDBELCAweDA5OSwKLQkweDA3NCwgMHgwQTUsIDB4MDRGLCAweDA3MiwgMHgwQTAsIDB4MEFBLCAweDA0QSwgMHgwQzYsCi0JMHgwRjMsIDB4MDY2LCAweDA2NiwgMHgwQzYsIDB4MDM5LCAweDA4MiwgMHgwQUYsIDB4MDc1LAotCTB4MEE2LCAweDA2RiwgMHgwMTQsIDB4MDZCLCAweDBDRSwgMHgwMDUsIDB4MDcwLCAweDA3MywKLQkweDA5NiwgMHgwODIsIDB4MDNFLCAweDA3NSwgMHgwMjgsIDB4MEUxLCAweDAzQSwgMHgwQTcsCi0JMHgwQUQsIDB4MDQ0LCAweDA2MCwgMHgwMTYsIDB4MDUyLCAweDBCNiwgMHgwMUQsIDB4MDdBLAotCTB4MEI2LCAweDBCMywgMHgwMjQsIDB4MEJCLCAweDA4NiwgMHgwQTcsIDB4MDUyLCAweDA5OCwKLQkweDAwNCwgMHgwREEsIDB4MDdDLCAweDBFMiwgMHgwQTEsIDB4MDg3LCAweDA5QywgMHgwNTUsCi0JMHgwRjcsIDB4MDlDLCAweDBCNSwgMHgwQUMsIDB4MDJDLCAweDA5NSwgMHgwMzMsIDB4MEI5LAotCTB4MDMxLCAweDAwNSwgMHgwRDksIDB4MDUzLCAweDBENiwgMHgwQTIsIDB4MDMwLCAweDAwQiwKLQkweDAyOSwgMHgwNUIsIDB4MDAyLCAweDAyRSwgMHgwNjEsIDB4MDVBLCAweDAxNywgMHgwRTYsCi0JMHgwOUMsIDB4MEIzLCAweDAyQSwgMHgwN0EsIDB4MEM1LCAweDA0MCwgMHgwMjEsIDB4MEE4LAotCTB4MDkxLCAweDBDRSwgMHgwMDUsIDB4MDI3LCAweDBGMywgMHgwQTUsIDB4MDg4LCAweDA2NCwKLQkweDBDMSwgMHgwNzIsIDB4MDY1LCAweDA0RiwgMHgwNTgsIDB4MDE0LCAweDAwQywgMHgwOEQsCi0JMHgwN0UsIDB4MEYzLCAweDA4MSwgMHgwNDQsIDB4MDVDLCAweDBFRiwgMHgwNDEsIDB4MEM3LAotCTB4MDNBLCAweDBCRSwgMHgwMDIsIDB4MEZBLCAweDBBOSwgMHgwRUEsIDB4MENFLCAweDBDQywKLQkweDBBOSwgMHgwMjksIDB4MDUzLCAweDBENiwgMHgwQTIsIDB4MDQ2LCAweDA0NywgMHgwREQsCi0JMHgwN0EsIDB4MEMwLCAweDBBMywgMHgwMDAsIDB4MDg2LCAweDBFMiwgMHgwOUIsIDB4MDI5LAotCTB4MDc4LCAweDA4QiwgMHgwODEsIDB4MDA5LCAweDA5OCwgMHgwNzAsIDB4MDlCLCAweDAyOSwKLQkweDA3OSwgMHgwNUQsIDB4MEQ5LCAweDA3MiwgMHgwRUQsIDB4MDk0LCAweDBCQywgMHgwQjksCi0JMHgwNzYsIDB4MDEzLCAweDAzQiwgMHgwMkEsIDB4MDVELCAweDBCMiwgMHgwOTcsIDB4MDk1LAotCTB4MDJFLCAweDBEOSwgMHgwNEIsIDB4MENBLCAweDA3RCwgMHgwNUIsIDB4MDU5LCAweDA5NCwKLQkweDBDQSwgMHgwMUMsIDB4MDI0LCAweDBFRSwgMHgwQzcsIDB4MDk0LCAweDBCQywgMHgwQzAsCi0JMHgwMjYsIDB4MEQzLCAweDBFNywgMHgwMTUsIDB4MDBDLCAweDAzQywgMHgwRTIsIDB4MEFDLAotCTB4MEZFLCAweDA3QiwgMHgwNEEsIDB4MDIyLCAweDBFNywgMHgwOEEsIDB4MDg1LCAweDBGOSwKLQkweDA5RSwgMHgwNTksIDB4MDk3LCAweDA3QSwgMHgwOEQsIDB4MDBDLCAweDBDQiwgMHgwQTUsCi0JMHgwMjcsIDB4MEYzLCAweDBBMCwgMHgwNDEsIDB4MDcyLCAweDA2MiwgMHgwMTksIDB4MDM3LAotCTB4MERFLCAweDA3MCwgMHgwMjgsIDB4MDhCLCAweDA5QywgMHgwOEEsIDB4MDBFLCAweDAzOSwKLQkweDBENCwgMHgwOEQsIDB4MDBGLCAweDA1NiwgMHgwMzYsIDB4MDZELCAweDAwOSwgMHgwNEUsCi0JMHgwQkQsIDB4MDU5LCAweDAyQywgMHgwQ0UsIDB4MEE1LCAweDA2QiwgMHgwMEIsIDB4MDIyLAotCTB4MEQ5LCAweDA5RCwgMHgwQzksIDB4MEIyLCAweDA5NywgMHgwQkUsIDB4MEYzLCAweDA4MSwKLQkweDA0QSwgMHgwN0QsIDB4MDY1LCAweDBBMywgMHgwMDAsIDB4MDkzLCAweDA4RiwgMHgwNjcsCi0JMHgwMjksIDB4MDc4LCAweDBDMiwgMHgwNEQsIDB4MEMxLCAweDBEMSwgMHgwMDYsIDB4MDgyLAotCTB4MDMxLCAweDBBRiwgMHgwMDcsIDB4MDM4LCAweDAzNCwgMHgwMTEsIDB4MEYzLCAweDBBOCwKLQkweDAyQSwgMHgwOUUsIDB4MEE4LCAweDA2NiwgMHgwMUEsIDB4MEE0LCAweDBBNSwgMHgwNEYsCi0JMHgwNUEsIDB4MDBDLCAweDAxMSwgMHgwOEYsIDB4MEFBLCAweDA3QiwgMHgwRDAsIDB4MDY1LAotCTB4MDQ5LCAweDA0NSwgMHgwQkQsIDB4MEU5LCAweDA2MiwgMHgwRDIsIDB4MEIxLCAweDA5RSwKLQkweDA2QywgMHgwQ0MsIDB4MEM2LCAweDAxOSwgMHgwODcsIDB4MDA5LCAweDBDMywgMHgwOEUsCi0JMHgwNzUsIDB4MDQxLCAweDAxRiwgMHgwM0EsIDB4MEE1LCAweDAxMywgMHgwRDUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LAotCTB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwKLQkweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNTUsCi0JMHgwNTUsIDB4MDU1LCAweDA1NSwgMHgwNUEsIDB4MENDLCAweDA5MAotIH07Ci0KLSNlbmRpZgkvKiBkZWZpbmVkKENPTkZJR19TTUNUUikgfHwgZGVmaW5lZChDT05GSUdfU01DVFJfTU9EVUxFKSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdHVuLmMgYi9kcml2ZXJzL25ldC90dW4uYwppbmRleCA3YWI5NGM4Li5lYmExMjcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90dW4uYworKysgYi9kcml2ZXJzL25ldC90dW4uYwpAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZjbnRsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtNjAyLDYgKzYwMywxMiBAQAogCXR1bi0+YXR0YWNoZWQgPSAxOwogCWdldF9uZXQoZGV2X25ldCh0dW4tPmRldikpOwogCisJLyogTWFrZSBzdXJlIHBlcnNpc3RlbnQgZGV2aWNlcyBkbyBub3QgZ2V0IHN0dWNrIGluCisJICogeG9mZiBzdGF0ZS4KKwkgKi8KKwlpZiAobmV0aWZfcnVubmluZyh0dW4tPmRldikpCisJCW5ldGlmX3dha2VfcXVldWUodHVuLT5kZXYpOworCiAJc3RyY3B5KGlmci0+aWZyX25hbWUsIHR1bi0+ZGV2LT5uYW1lKTsKIAlyZXR1cm4gMDsKIApAQCAtNzk2LDIyICs4MDMsMjYgQEAKIAogCURCRyhLRVJOX0lORk8gIiVzOiB0dW5fY2hyX2Zhc3luYyAlZFxuIiwgdHVuLT5kZXYtPm5hbWUsIG9uKTsKIAorCWxvY2tfa2VybmVsKCk7CiAJaWYgKChyZXQgPSBmYXN5bmNfaGVscGVyKGZkLCBmaWxlLCBvbiwgJnR1bi0+ZmFzeW5jKSkgPCAwKQotCQlyZXR1cm4gcmV0OworCQlnb3RvIG91dDsKIAogCWlmIChvbikgewogCQlyZXQgPSBfX2Zfc2V0b3duKGZpbGUsIHRhc2tfcGlkKGN1cnJlbnQpLCBQSURUWVBFX1BJRCwgMCk7CiAJCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OworCQkJZ290byBvdXQ7CiAJCXR1bi0+ZmxhZ3MgfD0gVFVOX0ZBU1lOQzsKIAl9IGVsc2UKIAkJdHVuLT5mbGFncyAmPSB+VFVOX0ZBU1lOQzsKLQotCXJldHVybiAwOworCXJldCA9IDA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgdHVuX2Nocl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCURCRzEoS0VSTl9JTkZPICJ0dW5YOiB0dW5fY2hyX29wZW5cbiIpOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9IE5VTEw7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2Iva2F3ZXRoLmMgYi9kcml2ZXJzL25ldC91c2Iva2F3ZXRoLmMKaW5kZXggN2M2NmIwNS4uZDY4MjlkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL2thd2V0aC5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9rYXdldGguYwpAQCAtNTcsMTMgKzU3LDEyIEBACiAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvd2FpdC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiAKICN1bmRlZiBERUJVRwogCi0jaW5jbHVkZSAia2F3ZXRoZncuaCIKLQogI2RlZmluZSBLQVdFVEhfTVRVCQkJMTUxNAogI2RlZmluZSBLQVdFVEhfQlVGX1NJWkUJCQkxNjY0CiAjZGVmaW5lIEtBV0VUSF9UWF9USU1FT1VUCQkoNSAqIEhaKQpAQCAtMTA4LDYgKzEwNywxMCBAQAogTU9EVUxFX0FVVEhPUigiTWljaGFlbCBaYXBwZSA8emFwbWFuQGludGVybGFuLm5ldD4sIFN0ZXBoYW5lIEFsbmV0IDxzdGVwaGFuZUB1LXBpY2FyZGllLmZyPiwgQnJhZCBIYXJkcyA8YmhhcmRzQGJpZ3BvbmQubmV0LmF1PiBhbmQgT2xpdmVyIE5ldWt1bSA8b2xpdmVyQG5ldWt1bS5vcmc+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIktMNVVTQjEwMSBVU0IgRXRoZXJuZXQgZHJpdmVyIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfRklSTVdBUkUoImthd2V0aC9uZXdfY29kZS5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL25ld19jb2RlX2ZpeC5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL3RyaWdnZXJfY29kZS5iaW4iKTsKK01PRFVMRV9GSVJNV0FSRSgia2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluIik7CiAKIHN0YXRpYyBjb25zdCBjaGFyIGRyaXZlcl9uYW1lW10gPSAia2F3ZXRoIjsKIApAQCAtMzg1LDE3ICszODgsMjggQEAKICAqICAgICBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogc3RhdGljIGludCBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoc3RydWN0IGthd2V0aF9kZXZpY2UgKmthd2V0aCwKLQkJCQkgICAgX191OCAqZGF0YSwKLQkJCQkgICAgX191MTYgZGF0YV9sZW4sCisJCQkJICAgIGNvbnN0IGNoYXIgKmZ3bmFtZSwKIAkJCQkgICAgX191OCBpbnRlcnJ1cHQsCiAJCQkJICAgIF9fdTggdHlwZSkKIHsKLQlpZihkYXRhX2xlbiA+IEtBV0VUSF9GSVJNV0FSRV9CVUZfU0laRSkJewotCQllcnIoIkZpcm13YXJlIHRvbyBiaWc6ICVkIiwgZGF0YV9sZW4pOwotCQlyZXR1cm4gLUVOT1NQQzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWludCBkYXRhX2xlbjsKKwlpbnQgcmV0OworCisJcmV0ID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3bmFtZSwgJmthd2V0aC0+ZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJZXJyKCJGaXJtd2FyZSByZXF1ZXN0IGZhaWxlZFxuIik7CisJCXJldHVybiByZXQ7CiAJfQogCi0JbWVtY3B5KGthd2V0aC0+ZmlybXdhcmVfYnVmLCBkYXRhLCBkYXRhX2xlbik7CisJaWYgKGZ3LT5zaXplID4gS0FXRVRIX0ZJUk1XQVJFX0JVRl9TSVpFKSB7CisJCWVycigiRmlybXdhcmUgdG9vIGJpZzogJXp1IiwgZnctPnNpemUpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisJZGF0YV9sZW4gPSBmdy0+c2l6ZTsKKwltZW1jcHkoa2F3ZXRoLT5maXJtd2FyZV9idWYsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7CisKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWthd2V0aC0+ZmlybXdhcmVfYnVmWzJdID0gKGRhdGFfbGVuICYgMHhGRikgLSA3OwogCWthd2V0aC0+ZmlybXdhcmVfYnVmWzNdID0gZGF0YV9sZW4gPj4gODsKQEAgLTQwNiw4ICs0MjAsNyBAQAogCQkgICBrYXdldGgtPmZpcm13YXJlX2J1ZlsyXSk7CiAKIAlkYmcoIkRvd25sb2FkaW5nIGZpcm13YXJlIGF0ICVwIHRvIGthd2V0aCBkZXZpY2UgYXQgJXAiLAotCSAgICBkYXRhLAotCSAgICBrYXdldGgpOworCSAgICBmdy0+ZGF0YSwga2F3ZXRoKTsKIAlkYmcoIkZpcm13YXJlIGxlbmd0aDogJWQiLCBkYXRhX2xlbik7CiAKIAlyZXR1cm4ga2F3ZXRoX2NvbnRyb2woa2F3ZXRoLApAQCAtMTAwOSw4ICsxMDIyLDcgQEAKIAkJaW5mbygiRG93bmxvYWRpbmcgZmlybXdhcmUuLi4iKTsKIAkJa2F3ZXRoLT5maXJtd2FyZV9idWYgPSAoX191OCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKIAkJaWYgKChyZXN1bHQgPSBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoa2F3ZXRoLAotCQkJCQkJICAgICAga2F3ZXRoX25ld19jb2RlLAotCQkJCQkJICAgICAgbGVuX2thd2V0aF9uZXdfY29kZSwKKwkJCQkJCSAgICAgICJrYXdldGgvbmV3X2NvZGUuYmluIiwKIAkJCQkJCSAgICAgIDEwMCwKIAkJCQkJCSAgICAgIDIpKSA8IDApIHsKIAkJCWVycigiRXJyb3IgZG93bmxvYWRpbmcgZmlybXdhcmUgKCVkKSIsIHJlc3VsdCk7CkBAIC0xMDE4LDggKzEwMzAsNyBAQAogCQl9CiAKIAkJaWYgKChyZXN1bHQgPSBrYXdldGhfZG93bmxvYWRfZmlybXdhcmUoa2F3ZXRoLAotCQkJCQkJICAgICAga2F3ZXRoX25ld19jb2RlX2ZpeCwKLQkJCQkJCSAgICAgIGxlbl9rYXdldGhfbmV3X2NvZGVfZml4LAorCQkJCQkJICAgICAgImthd2V0aC9uZXdfY29kZV9maXguYmluIiwKIAkJCQkJCSAgICAgIDEwMCwKIAkJCQkJCSAgICAgIDMpKSA8IDApIHsKIAkJCWVycigiRXJyb3IgZG93bmxvYWRpbmcgZmlybXdhcmUgZml4ICglZCkiLCByZXN1bHQpOwpAQCAtMTAyNyw4ICsxMDM4LDcgQEAKIAkJfQogCiAJCWlmICgocmVzdWx0ID0ga2F3ZXRoX2Rvd25sb2FkX2Zpcm13YXJlKGthd2V0aCwKLQkJCQkJCSAgICAgIGthd2V0aF90cmlnZ2VyX2NvZGUsCi0JCQkJCQkgICAgICBsZW5fa2F3ZXRoX3RyaWdnZXJfY29kZSwKKwkJCQkJCSAgICAgICJrYXdldGgvdHJpZ2dlcl9jb2RlLmJpbiIsCiAJCQkJCQkgICAgICAxMjYsCiAJCQkJCQkgICAgICAyKSkgPCAwKSB7CiAJCQllcnIoIkVycm9yIGRvd25sb2FkaW5nIHRyaWdnZXIgY29kZSAoJWQpIiwgcmVzdWx0KTsKQEAgLTEwMzcsOCArMTA0Nyw3IEBACiAJCX0KIAogCQlpZiAoKHJlc3VsdCA9IGthd2V0aF9kb3dubG9hZF9maXJtd2FyZShrYXdldGgsCi0JCQkJCQkgICAgICBrYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCwKLQkJCQkJCSAgICAgIGxlbl9rYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCwKKwkJCQkJCSAgICAgICJrYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4iLAogCQkJCQkJICAgICAgMTI2LAogCQkJCQkJICAgICAgMykpIDwgMCkgewogCQkJZXJyKCJFcnJvciBkb3dubG9hZGluZyB0cmlnZ2VyIGNvZGUgZml4ICglZCkiLCByZXN1bHQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2thd2V0aGZ3LmggYi9kcml2ZXJzL25ldC91c2Iva2F3ZXRoZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Y4NWZjYi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL25ldC91c2Iva2F3ZXRoZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1NyArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogTk9URTogQjYvQzMgaXMgZGF0YSBoZWFkZXIgc2lnbmF0dXJlICAgKi8KLS8qICAgICAgIDB4QUEvMHhCQiBpcyBkYXRhIGxlbmd0aCA9IHRvdGFsICovCi0vKiAgICAgICBieXRlcyAtIDcsIDB4Q0MgaXMgdHlwZSwgMHhERCBpcyAqLwotLyogICAgICAgaW50ZXJydXB0IHRvIHVzZS4gICAgICAgICAgICAgICAgKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX3RyaWdnZXJfY29kZQotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgX191OCBrYXdldGhfdHJpZ2dlcl9jb2RlW10gPSAKLXsKLSAgICAweEI2LCAweEMzLCAweEFBLCAweEJCLCAweENDLCAweERELAotICAgIDB4YzgsIDB4MDcsIDB4YTAsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4NWUsIDB4MDAsCi0gICAgMHgwNiwgMHgwMCwgMHhmMCwgMHgwNywgMHgwYSwgMHgwMCwgMHgwOCwgMHgwMCwKLSAgICAweGYwLCAweDA5LCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweGU3LCAweDA3LAotICAgIDB4MzYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHhlNywgMHgwNywgMHg1MCwgMHhjMywgMHgxMCwgMHhjMCwKLSAgICAweGYwLCAweDA5LCAweDBlLCAweGMwLCAweDAwLCAweDAwLCAweGU3LCAweDg3LAotICAgIDB4MDEsIDB4MDAsIDB4MGUsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHgxNywgMHgwMiwgMHhjOCwgMHgwNywgMHhhMCwgMHgwMCwKLSAgICAweGU3LCAweDE3LCAweDUwLCAweGMzLCAweDEwLCAweGMwLCAweDMwLCAweGQ4LAotICAgIDB4MDQsIDB4MDAsIDB4MzAsIDB4NWMsIDB4MDgsIDB4MDAsIDB4MDQsIDB4MDAsCi0gICAgMHhiMCwgMHhjMCwgMHgwNiwgMHgwMCwgMHhjOCwgMHgwNSwgMHhlNywgMHgwNSwKLSAgICAweDAwLCAweGMwLCAweGMwLCAweGRmLCAweDk3LCAweGNmLCAweDQ5LCAweGFmLAotICAgIDB4YzAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4NjAsIDB4YWYsIDB4NGEsIDB4YWYsCi0gICAgMHgwMCwgMHgwYywgMHgwYywgMHgwMCwgMHg0MCwgMHhkMiwgMHgwMCwgMHgxYywKLSAgICAweDBjLCAweDAwLCAweDQwLCAweGQyLCAweDMwLCAweDAwLCAweDA4LCAweDAwLAotICAgIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4ZjAsIDB4MDcsCi0gICAgMHg4NiwgMHgwMCwgMHgwNiwgMHgwMCwgMHg2NywgMHhjZiwgMHgyNywgMHgwYywKLSAgICAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDI3LCAweDBjLCAweDAwLCAweDAwLAotICAgIDB4MGUsIDB4YzAsIDB4NDksIDB4YWYsIDB4NjQsIDB4YWYsIDB4YzAsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHg0YiwgMHhhZiwgMHg0YSwgMHhhZiwgMHg1YSwgMHhjZiwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4OTQsIDB4MDAsIDB4MDUsIDB4MDAsCi0gICAgMHgwMCwgMHgwMAotfTsKLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX3RyaWdnZXJfY29kZV9maXgKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIF9fdTgga2F3ZXRoX3RyaWdnZXJfY29kZV9maXhbXSA9IAotewotICAgIDB4QjYsIDB4QzMsIDB4QUEsIDB4QkIsIDB4Q0MsIDB4REQsCi0gICAgMHgwMiwgMHgwMCwgMHgwNiwgMHgwMCwgMHgxOCwgMHgwMCwgMHgzZSwgMHgwMCwKLSAgICAweDgwLCAweDAwLCAweDk4LCAweDAwLCAweGFhLCAweDAwLAotICAgIDB4MDAsIDB4MDAKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX25ld19jb2RlCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLXN0YXRpYyBfX3U4IGthd2V0aF9uZXdfY29kZVtdID0gCi17Ci0gICAgMHhCNiwgMHhDMywgMHhBQSwgMHhCQiwgMHhDQywgMHhERCwKLSAgICAweDlmLCAweGNmLCAweGRlLCAweDA2LCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YzQsIDB4MDYsIDB4OTcsIDB4YzEsIDB4ZTcsIDB4NjcsIDB4ZmYsIDB4MWYsCi0gICAgMHgyOCwgMHhjMCwgMHhlNywgMHg4NywgMHgwMCwgMHgwNCwgMHgyNCwgMHhjMCwKLSAgICAweGU3LCAweDY3LCAweGZmLCAweGY5LCAweDIyLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4ZTcsIDB4MDksIDB4YTIsIDB4YzAsCi0gICAgMHhiZSwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgzNiwgMHgwMCwgMHhlNywgMHgwNSwKLSAgICAweDAwLCAweGMwLCAweGE3LCAweGNmLCAweGJjLCAweDA2LCAweDk3LCAweGNmLAotICAgIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4YjgsIDB4MDYsIDB4YTcsIDB4YTEsCi0gICAgMHhiOCwgMHgwNiwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweDE0LCAweDA4LCAweDBhLCAweGMwLCAweGU3LCAweDU3LCAweDAwLCAweDAwLAotICAgIDB4YTQsIDB4YzAsIDB4YTcsIDB4YzAsIDB4N2EsIDB4MDYsIDB4OWYsIDB4YWYsCi0gICAgMHg5MiwgMHgwNywgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHgxNCwgMHgwOCwKLSAgICAweGU3LCAweDU3LCAweGZmLCAweGZmLCAweGJhLCAweDA2LCAweDlmLCAweGEwLAotICAgIDB4MzgsIDB4MDAsIDB4ZTcsIDB4NTksIDB4YmEsIDB4MDYsIDB4YmUsIDB4MDYsCi0gICAgMHg5ZiwgMHhhMCwgMHgzOCwgMHgwMCwgMHhjOCwgMHgwOSwgMHhjYSwgMHgwNiwKLSAgICAweDA4LCAweDYyLCAweDlmLCAweGExLCAweDM2LCAweDA4LCAweGMwLCAweDA5LAotICAgIDB4NzYsIDB4MDYsIDB4MDAsIDB4NjAsIDB4YTcsIDB4YzAsIDB4N2EsIDB4MDYsCi0gICAgMHg5ZiwgMHhhZiwgMHhjYywgMHgwMiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGI4LCAweDA2LCAweGE3LCAweGMxLCAweDdhLCAweDA2LCAweDlmLCAweGFmLAotICAgIDB4MDQsIDB4MDAsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsIDB4OGUsIDB4MDYsCi0gICAgMHgwYSwgMHhjMSwgMHhlNywgMHgwOSwgMHgyMCwgMHhjMCwgMHgxMCwgMHgwOCwKLSAgICAweGU3LCAweGQwLCAweDEwLCAweDA4LCAweGU3LCAweDY3LCAweDQwLCAweDAwLAotICAgIDB4MTAsIDB4MDgsIDB4OWYsIDB4YWYsIDB4OTIsIDB4MGMsIDB4YzAsIDB4MDksCi0gICAgMHhkMCwgMHgwNiwgMHgwMCwgMHg2MCwgMHgwNSwgMHhjNCwgMHhjMCwgMHg1OSwKLSAgICAweGJlLCAweDA2LCAweDAyLCAweGMwLCAweDlmLCAweGFmLCAweGVjLCAweDAwLAotICAgIDB4OWYsIDB4YWYsIDB4MzQsIDB4MDIsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhhNiwgMHgwNiwgMHg5ZiwgMHhhMCwgMHg3YSwgMHgwMiwgMHhhNywgMHhjZiwKLSAgICAweDdhLCAweDA2LCAweDQ4LCAweDAyLCAweGU3LCAweDA5LCAweGJlLCAweDA2LAotICAgIDB4ZDAsIDB4MDYsIDB4YzgsIDB4MzcsIDB4MDQsIDB4MDAsIDB4OWYsIDB4YWYsCi0gICAgMHgwOCwgMHgwMywgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGNlLCAweDA2LCAweDk3LCAweGMwLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLAotICAgIDB4YzEsIDB4ZGYsIDB4YzgsIDB4MDksIDB4YzYsIDB4MDYsIDB4MDgsIDB4NjIsCi0gICAgMHgxNCwgMHhjMCwgMHgyNywgMHgwNCwgMHhjNiwgMHgwNiwgMHgxMCwgMHg5NCwKLSAgICAweGYwLCAweDA3LCAweDEwLCAweDA4LCAweDAyLCAweDAwLCAweGMxLCAweDA3LAotICAgIDB4MDEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4ZjAsIDB4MDcsCi0gICAgMHgzMCwgMHgwMSwgMHgwNiwgMHgwMCwgMHg1MCwgMHhhZiwgMHhlNywgMHgwNywKLSAgICAweGZmLCAweGZmLCAweGQwLCAweDA2LCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4Y2UsIDB4MDYsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsCi0gICAgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHg0OCwgMHgwMiwKLSAgICAweGQwLCAweDA5LCAweGM2LCAweDA2LCAweDI3LCAweDAyLCAweGM2LCAweDA2LAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4NDgsIDB4MDIsCi0gICAgMHhjOCwgMHgzNywgMHgwNCwgMHgwMCwgMHgwMCwgMHgwYywgMHgwYywgMHgwMCwKLSAgICAweDAwLCAweDYwLCAweDIxLCAweGMwLCAweGMwLCAweDM3LCAweDNlLCAweDAwLAotICAgIDB4MjMsIDB4YzksIDB4YzAsIDB4NTcsIDB4YjQsIDB4MDUsIDB4MWIsIDB4YzgsCi0gICAgMHhjMCwgMHgxNywgMHgzZiwgMHgwMCwgMHhjMCwgMHg2NywgMHhjMCwgMHhmZiwKLSAgICAweDMwLCAweDAwLCAweDA4LCAweDAwLCAweGYwLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDIsIDB4YzAsIDB4MTcsIDB4NGMsIDB4MDAsCi0gICAgMHgzMCwgMHgwMCwgMHgwNiwgMHgwMCwgMHhmMCwgMHgwNywgMHhhMCwgMHgwMSwKLSAgICAweDBhLCAweDAwLCAweDQ4LCAweDAyLCAweGMxLCAweDA3LCAweDAyLCAweDAwLAotICAgIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsIDB4NTEsIDB4YWYsCi0gICAgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwgMHg5ZiwgMHhhZiwKLSAgICAweDA4LCAweDAzLCAweDlmLCAweGFmLCAweDdhLCAweDAyLCAweDk3LCAweGNmLAotICAgIDB4OWYsIDB4YWYsIDB4N2EsIDB4MDIsIDB4YzksIDB4MzcsIDB4MDQsIDB4MDAsCi0gICAgMHhjMSwgMHhkZiwgMHhjOCwgMHgwOSwgMHhhMiwgMHgwNiwgMHg1MCwgMHgwMiwKLSAgICAweDY3LCAweDAyLCAweGEyLCAweDA2LCAweGQxLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4MjcsIDB4ZDgsIDB4YWEsIDB4MDYsIDB4YzAsIDB4ZGYsIDB4OWYsIDB4YWYsCi0gICAgMHhjNCwgMHgwMSwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGQyLCAweDA2LCAweDk3LCAweGMxLCAweGU3LCAweDU3LCAweDAxLCAweDAwLAotICAgIDB4YTgsIDB4MDYsIDB4OTcsIDB4YzAsIDB4YzgsIDB4MDksIDB4YTAsIDB4MDYsCi0gICAgMHgwOCwgMHg2MiwgMHg5NywgMHhjMCwgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywKLSAgICAweDBlLCAweDAwLCAweDI3LCAweDAwLCAweDM0LCAweDAxLCAweDI3LCAweDBjLAotICAgIDB4MGMsIDB4MDAsIDB4MzYsIDB4MDEsIDB4ZTcsIDB4MDcsIDB4NTAsIDB4YzMsCi0gICAgMHgxMiwgMHhjMCwgMHhlNywgMHgwNywgMHhjYywgMHgwYiwgMHgwMiwgMHgwMCwKLSAgICAweGU3LCAweDA3LCAweDAxLCAweDAwLCAweGE4LCAweDA2LCAweGU3LCAweDA3LAotICAgIDB4MDUsIDB4MDAsIDB4OTAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4YzgsIDB4MDksCi0gICAgMHhhNCwgMHgwNiwgMHgwOCwgMHg2MiwgMHgwMiwgMHhjMCwgMHgxMCwgMHg2NCwKLSAgICAweDA3LCAweGMxLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDllLCAweDA2LAotICAgIDB4ZTcsIDB4MDcsIDB4NzIsIDB4MDQsIDB4MjQsIDB4MDAsIDB4OTcsIDB4Y2YsCi0gICAgMHgyNywgMHgwNCwgMHhhNCwgMHgwNiwgMHhjOCwgMHgxNywgMHgwZSwgMHgwMCwKLSAgICAweDI3LCAweDAyLCAweDllLCAweDA2LCAweGU3LCAweDA3LCAweDgwLCAweDA0LAotICAgIDB4MjQsIDB4MDAsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsCi0gICAgMHhjMSwgMHhkZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg5MCwgMHgwNiwKLSAgICAweDEzLCAweGMxLCAweDlmLCAweGFmLCAweDA2LCAweDAyLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4MDAsIDB4OWUsIDB4MDYsIDB4MTMsIDB4YzAsIDB4ZTcsIDB4MDksCi0gICAgMHg5ZSwgMHgwNiwgMHgzMCwgMHgwMSwgMHhlNywgMHgwNywgMHhmMiwgMHgwNSwKLSAgICAweDMyLCAweDAxLCAweGU3LCAweDA3LCAweDEwLCAweDAwLCAweDk2LCAweGMwLAotICAgIDB4ZTcsIDB4MDksIDB4OWUsIDB4MDYsIDB4OTAsIDB4MDYsIDB4MDQsIDB4Y2YsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg5ZSwgMHgwNiwgMHgwMiwgMHhjMSwKLSAgICAweDlmLCAweGFmLCAweDA2LCAweDAyLCAweGU3LCAweDA1LCAweDAwLCAweGMwLAotICAgIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksIDB4MDAsIDB4YzAsIDB4YzEsIDB4ZGYsCi0gICAgMHgwOCwgMHg5MiwgMHhlNywgMHg1NywgMHgwMiwgMHgwMCwgMHhhYSwgMHgwNiwKLSAgICAweDAyLCAweGMzLCAweGM4LCAweDA5LCAweGE0LCAweDA2LCAweDI3LCAweDAyLAotICAgIDB4YTYsIDB4MDYsIDB4MDgsIDB4NjIsIDB4MDMsIDB4YzEsIDB4ZTcsIDB4MDUsCi0gICAgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwgMHgyNywgMHgwNCwgMHhhNCwgMHgwNiwKLSAgICAweGU3LCAweDA1LCAweDAwLCAweGMwLCAweGYwLCAweDA3LCAweDQwLCAweDAwLAotICAgIDB4MDgsIDB4MDAsIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsCi0gICAgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywgMHgwYywgMHgwMCwgMHgzMCwgMHgwMCwKLSAgICAweDA2LCAweDAwLCAweGYwLCAweDA3LCAweDQ2LCAweDAxLCAweDBhLCAweDAwLAotICAgIDB4YzgsIDB4MTcsIDB4MDQsIDB4MDAsIDB4YzEsIDB4MDcsIDB4MDIsIDB4MDAsCi0gICAgMHg1MSwgMHhhZiwgMHg5NywgMHhjZiwgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweDk2LCAweDA2LCAweDk3LCAweGMwLCAweGMxLCAweGRmLCAweGM4LCAweDA5LAotICAgIDB4OTYsIDB4MDYsIDB4MjcsIDB4MDQsIDB4OTYsIDB4MDYsIDB4MjcsIDB4NTIsCi0gICAgMHg5OCwgMHgwNiwgMHgwMywgMHhjMSwgMHhlNywgMHgwNywgMHg5NiwgMHgwNiwKLSAgICAweDk4LCAweDA2LCAweGMwLCAweGRmLCAweDE3LCAweDAyLCAweGM4LCAweDE3LAotICAgIDB4MGUsIDB4MDAsIDB4OWYsIDB4YWYsIDB4YmEsIDB4MDMsIDB4YzgsIDB4MDUsCi0gICAgMHgwMCwgMHg2MCwgMHgwMywgMHhjMCwgMHg5ZiwgMHhhZiwgMHgyNCwgMHgwMywKLSAgICAweDk3LCAweGNmLCAweDlmLCAweGFmLCAweDA4LCAweDAzLCAweDk3LCAweGNmLAotICAgIDB4NTcsIDB4MDIsIDB4YzksIDB4MDcsIDB4YTQsIDB4MDYsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHhjMSwgMHhkZiwgMHgwOCwgMHg2MiwgMHgxYiwgMHhjMCwKLSAgICAweDUwLCAweDA0LCAweDExLCAweDAyLCAweGU3LCAweDA1LCAweDAwLCAweGMwLAotICAgIDB4YzksIDB4MDUsIDB4OTcsIDB4Y2YsIDB4OTcsIDB4MDIsIDB4Y2EsIDB4MDksCi0gICAgMHhkNiwgMHgwNiwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHgwNCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDA2LCAweDAwLCAweGNhLCAweDE3LAotICAgIDB4MmMsIDB4MDAsIDB4ZjgsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MGUsIDB4MDAsCi0gICAgMHgwNiwgMHhjMCwgMHhjYSwgMHhkOSwgMHhmOCwgMHg1NywgMHhmZiwgMHgwMCwKLSAgICAweDBlLCAweDAwLCAweDAxLCAweGMxLCAweGNhLCAweGQ5LCAweDIyLCAweDFjLAotICAgIDB4MGMsIDB4MDAsIDB4ZTIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4ZTIsIDB4MTcsCi0gICAgMHgwMSwgMHgwMCwgMHhlMiwgMHgyNywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwNSwKLSAgICAweDAwLCAweDBjLCAweDBjLCAweDAwLCAweGMwLCAweDE3LCAweDQxLCAweDAwLAotICAgIDB4YzAsIDB4NjcsIDB4YzAsIDB4ZmYsIDB4MzAsIDB4MDAsIDB4MDgsIDB4MDAsCi0gICAgMHgwMCwgMHgwMiwgMHhjMCwgMHgxNywgMHgwYywgMHgwMCwgMHgzMCwgMHgwMCwKLSAgICAweDA2LCAweDAwLCAweGYwLCAweDA3LCAweGRhLCAweDAwLCAweDBhLCAweDAwLAotICAgIDB4ZjAsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGMsCi0gICAgMHgwOCwgMHgwMCwgMHg0MCwgMHhkMSwgMHgwMSwgMHgwMCwgMHhjMCwgMHgxOSwKLSAgICAweGNlLCAweDA2LCAweGMwLCAweDU5LCAweGMyLCAweDA2LCAweDA0LCAweGM5LAotICAgIDB4NDksIDB4YWYsIDB4OWYsIDB4YWYsIDB4ZWMsIDB4MDAsIDB4NGEsIDB4YWYsCi0gICAgMHg2NywgMHgxMCwgMHhjZSwgMHgwNiwgMHhjOCwgMHgxNywgMHgwNCwgMHgwMCwKLSAgICAweGMxLCAweDA3LCAweDAxLCAweDAwLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLAotICAgIDB4YzEsIDB4ZGYsIDB4NTAsIDB4YWYsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsCi0gICAgMHg5NywgMHhjZiwgMHhjMCwgMHgwNywgMHgwMSwgMHgwMCwgMHhjMSwgMHgwOSwKLSAgICAweGFjLCAweDA2LCAweGMxLCAweDc3LCAweDAxLCAweDAwLCAweDk3LCAweGMxLAotICAgIDB4ZDgsIDB4NzcsIDB4MDEsIDB4MDAsIDB4MTIsIDB4YzAsIDB4YzksIDB4MDcsCi0gICAgMHg2YSwgMHgwNiwgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwNCwgMHgwNCwgMHhjMSwKLSAgICAweGMxLCAweDc3LCAweDA4LCAweDAwLCAweDEzLCAweGMwLCAweDk3LCAweGNmLAotICAgIDB4YzEsIDB4NzcsIDB4MDIsIDB4MDAsIDB4OTcsIDB4YzEsIDB4YzEsIDB4NzcsCi0gICAgMHgxMCwgMHgwMCwgMHgwYywgMHhjMCwgMHg5ZiwgMHhhZiwgMHgyYywgMHgwNCwKLSAgICAweDk3LCAweGNmLCAweGMxLCAweDc3LCAweDA0LCAweDAwLCAweDA2LCAweGMwLAotICAgIDB4YzksIDB4MDcsIDB4NzAsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MDgsIDB4MDQsCi0gICAgMHg5NywgMHhjMCwgMHgwMCwgMHhjZiwgMHgwMCwgMHg5MCwgMHg5NywgMHhjZiwKLSAgICAweDUwLCAweDU0LCAweDk3LCAweGMxLCAweDcwLCAweDVjLCAweDAyLCAweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4OTcsIDB4YzEsIDB4NzAsIDB4NWMsIDB4MDQsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHg5NywgMHhjZiwgMHg4MCwgMHgwMSwgMHhjMCwgMHgwMCwKLSAgICAweDYwLCAweDAwLCAweDMwLCAweDAwLCAweDE4LCAweDAwLCAweDBjLCAweDAwLAotICAgIDB4MDYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4Y2IsIDB4MDksIDB4YjIsIDB4MDYsCi0gICAgMHhjYywgMHgwOSwgMHhiNCwgMHgwNiwgMHgwYiwgMHg1MywgMHgxMSwgMHhjMCwKLSAgICAweGM5LCAweDAyLCAweGNhLCAweDA3LCAweDFjLCAweDA0LCAweDlmLCAweGFmLAotICAgIDB4MDgsIDB4MDQsIDB4OTcsIDB4YzAsIDB4MGEsIDB4YzgsIDB4ODIsIDB4MDgsCi0gICAgMHgwYSwgMHhjZiwgMHg4MiwgMHgwOCwgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwNCwKLSAgICAweDk3LCAweGMwLCAweDA1LCAweGMyLCAweDg5LCAweDMwLCAweDgyLCAweDYwLAotICAgIDB4NzgsIDB4YzEsIDB4MDAsIDB4OTAsIDB4OTcsIDB4Y2YsIDB4ODksIDB4MTAsCi0gICAgMHgwOSwgMHg1MywgMHg3OSwgMHhjMiwgMHg4OSwgMHgzMCwgMHg4MiwgMHgwOCwKLSAgICAweDdhLCAweGNmLCAweGMwLCAweGRmLCAweDk3LCAweGNmLCAweGMwLCAweGRmLAotICAgIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MDksIDB4OTYsIDB4YzAsIDB4OTIsIDB4MDYsCi0gICAgMHhlNywgMHgwOSwgMHg5OCwgMHhjMCwgMHg5NCwgMHgwNiwgMHgwZiwgMHhjZiwKLSAgICAweGU3LCAweDA5LCAweDk2LCAweGMwLCAweDkyLCAweDA2LCAweGU3LCAweDA5LAotICAgIDB4OTgsIDB4YzAsIDB4OTQsIDB4MDYsIDB4ZTcsIDB4MDksIDB4OWUsIDB4MDYsCi0gICAgMHgzMCwgMHgwMSwgMHhlNywgMHgwNywgMHhmMiwgMHgwNSwgMHgzMiwgMHgwMSwKLSAgICAweGU3LCAweDA3LCAweDEwLCAweDAwLCAweDk2LCAweGMwLCAweGQ3LCAweDA5LAotICAgIDB4MDAsIDB4YzAsIDB4MTcsIDB4MDIsIDB4YzgsIDB4MDksIDB4OTAsIDB4MDYsCi0gICAgMHhjOCwgMHgzNywgMHgwZSwgMHgwMCwgMHhlNywgMHg3NywgMHgyYSwgMHgwMCwKLSAgICAweDkyLCAweDA2LCAweDMwLCAweGMwLCAweDk3LCAweDAyLCAweGNhLCAweDA5LAotICAgIDB4ZDYsIDB4MDYsIDB4ZTcsIDB4NzcsIDB4MjAsIDB4MDAsIDB4OTIsIDB4MDYsCi0gICAgMHgwZSwgMHhjMCwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHgxMCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDEyLCAweDAwLCAweGU3LCAweDc3LAotICAgIDB4MGEsIDB4MDAsIDB4OTIsIDB4MDYsIDB4Y2EsIDB4MDUsIDB4MWUsIDB4YzAsCi0gICAgMHg5NywgMHgwMiwgMHhjYSwgMHgwOSwgMHhkNiwgMHgwNiwgMHhmMiwgMHgxNywKLSAgICAweDAxLCAweDAwLCAweDBjLCAweDAwLCAweGYyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4MGUsIDB4MDAsIDB4ZTcsIDB4NzcsIDB4MDIsIDB4MDAsIDB4OTIsIDB4MDYsCi0gICAgMHgwNywgMHhjMCwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHg0NCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDQ2LCAweDAwLCAweDA2LCAweGNmLAotICAgIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4NjAsIDB4MDAsIDB4ZjIsIDB4MjcsCi0gICAgMHgwMCwgMHgwMCwgMHg2MiwgMHgwMCwgMHhjYSwgMHgwNSwgMHg5ZiwgMHhhZiwKLSAgICAweDA4LCAweDAzLCAweDBmLCAweGNmLCAweDU3LCAweDAyLCAweDA5LCAweDAyLAotICAgIDB4ZjEsIDB4MDksIDB4OTQsIDB4MDYsIDB4MGMsIDB4MDAsIDB4ZjEsIDB4ZGEsCi0gICAgMHgwYywgMHgwMCwgMHhjOCwgMHgwOSwgMHg5OCwgMHgwNiwgMHg1MCwgMHgwMiwKLSAgICAweDY3LCAweDAyLCAweDk4LCAweDA2LCAweGQxLCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YzksIDB4MDUsIDB4ZTcsIDB4MDksIDB4OWUsIDB4MDYsIDB4OTAsIDB4MDYsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHg5MCwgMHgwNiwgMHgwMiwgMHhjMCwKLSAgICAweDlmLCAweGFmLCAweDA2LCAweDAyLCAweGM4LCAweDA1LCAweGU3LCAweDA1LAotICAgIDB4MDAsIDB4YzAsIDB4YzAsIDB4ZGYsIDB4OTcsIDB4Y2YsIDB4ZDcsIDB4MDksCi0gICAgMHgwMCwgMHhjMCwgMHgxNywgMHgwMCwgMHgxNywgMHgwMiwgMHg5NywgMHgwMiwKLSAgICAweGMwLCAweDA5LCAweDkyLCAweGMwLCAweGU3LCAweDA3LCAweDA0LCAweDAwLAotICAgIDB4OTAsIDB4YzAsIDB4Y2EsIDB4MDksIDB4ZDYsIDB4MDYsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhhOCwgMHgwNiwgMHhlNywgMHgwNywgMHg2YSwgMHgwNCwKLSAgICAweDAyLCAweDAwLCAweGMwLCAweDc3LCAweDAyLCAweDAwLCAweDA4LCAweGMwLAotICAgIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsIDB4NTAsIDB4MDAsIDB4ZjIsIDB4MjcsCi0gICAgMHgwMCwgMHgwMCwgMHg1MiwgMHgwMCwgMHg5ZiwgMHhjZiwgMHgyNCwgMHgwNiwKLSAgICAweGMwLCAweDc3LCAweDEwLCAweDAwLCAweDA2LCAweGMwLCAweGYyLCAweDE3LAotICAgIDB4MDEsIDB4MDAsIDB4NTgsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHg1YSwgMHgwMCwgMHhjMCwgMHg3NywgMHg4MCwgMHgwMCwgMHgwNiwgMHhjMCwKLSAgICAweGYyLCAweDE3LCAweDAxLCAweDAwLCAweDcwLCAweDAwLCAweGYyLCAweDI3LAotICAgIDB4MDAsIDB4MDAsIDB4NzIsIDB4MDAsIDB4YzAsIDB4NzcsIDB4MDgsIDB4MDAsCi0gICAgMHgxZCwgMHhjMSwgMHhmMiwgMHgxNywgMHgwMSwgMHgwMCwgMHgwOCwgMHgwMCwKLSAgICAweGYyLCAweDI3LCAweDAwLCAweDAwLCAweDBhLCAweDAwLCAweGMwLCAweDc3LAotICAgIDB4MDAsIDB4MDIsIDB4MDYsIDB4YzAsIDB4ZjIsIDB4MTcsIDB4MDEsIDB4MDAsCi0gICAgMHg2NCwgMHgwMCwgMHhmMiwgMHgyNywgMHgwMCwgMHgwMCwgMHg2NiwgMHgwMCwKLSAgICAweGMwLCAweDc3LCAweDQwLCAweDAwLCAweDA2LCAweGMwLCAweGYyLCAweDE3LAotICAgIDB4MDEsIDB4MDAsIDB4NWMsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsCi0gICAgMHg1ZSwgMHgwMCwgMHhjMCwgMHg3NywgMHgwMSwgMHgwMCwgMHgwMSwgMHhjMCwKLSAgICAweDFiLCAweGNmLCAweDFhLCAweGNmLCAweGYyLCAweDE3LCAweDAxLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4ZjIsIDB4MjcsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsCi0gICAgMHhjOCwgMHgwOSwgMHgzNCwgMHgwMSwgMHhjYSwgMHgxNywgMHgxNCwgMHgwMCwKLSAgICAweGQ4LCAweDc3LCAweDAxLCAweDAwLCAweDA1LCAweGMwLCAweGNhLCAweGQ5LAotICAgIDB4ZDgsIDB4NTcsIDB4ZmYsIDB4MDAsIDB4MDEsIDB4YzAsIDB4Y2EsIDB4ZDksCi0gICAgMHhlMiwgMHgxOSwgMHg5NCwgMHhjMCwgMHhlMiwgMHgyNywgMHgwMCwgMHgwMCwKLSAgICAweGUyLCAweDE3LCAweDAxLCAweDAwLCAweGUyLCAweDI3LCAweDAwLCAweDAwLAotICAgIDB4OWYsIDB4YWYsIDB4NDAsIDB4MDYsIDB4OWYsIDB4YWYsIDB4YzQsIDB4MDEsCi0gICAgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwgMHhkMiwgMHgwNiwgMHg5ZiwgMHhhMSwKLSAgICAweDBlLCAweDBhLCAweGNhLCAweDA1LCAweGM4LCAweDA1LCAweGMwLCAweDA1LAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4YzAsIDB4ZGYsIDB4OTcsIDB4Y2YsCi0gICAgMHhjOCwgMHgwOSwgMHhhMCwgMHgwNiwgMHgwOCwgMHg2MiwgMHg5NywgMHhjMCwKLSAgICAweDI3LCAweDA0LCAweGEwLCAweDA2LCAweDI3LCAweDUyLCAweGEyLCAweDA2LAotICAgIDB4MDMsIDB4YzEsIDB4ZTcsIDB4MDcsIDB4YTAsIDB4MDYsIDB4YTIsIDB4MDYsCi0gICAgMHg5ZiwgMHhhZiwgMHgwOCwgMHgwMywgMHhlNywgMHg1NywgMHgwMCwgMHgwMCwKLSAgICAweGFhLCAweDA2LCAweDAyLCAweGMwLCAweDI3LCAweGRhLCAweGFhLCAweDA2LAotICAgIDB4OTcsIDB4Y2YsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweDNmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gICAgMHhmZiwgMHhmZiwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgICAweDAwLCAweDAwLCAweGZmLCAweGZmLCAweGZiLCAweDEzLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4ODAsIDB4YjIsIDB4MDAsIDB4MDYsIDB4YzIsIDB4ZTcsIDB4MDcsCi0gICAgMHhlZSwgMHgwYiwgMHgxMiwgMHgwMCwgMHhlNywgMHgwNywgMHgzNCwgMHgwYywKLSAgICAweGIyLCAweDAwLCAweGU3LCAweDA3LCAweGM2LCAweDA3LCAweGYyLCAweDAyLAotICAgIDB4YzgsIDB4MDksIDB4YjQsIDB4MDAsIDB4ZjgsIDB4MDcsIDB4MDIsIDB4MDAsCi0gICAgMHgwZCwgMHgwMCwgMHhkNywgMHgwOSwgMHgwZSwgMHhjMCwgMHhlNywgMHgwNywKLSAgICAweDAwLCAweDAwLCAweDBlLCAweGMwLCAweGM4LCAweDA5LCAweGRlLCAweDAwLAotICAgIDB4YzgsIDB4MTcsIDB4MDksIDB4MDAsIDB4YzksIDB4MDcsIDB4ZGEsIDB4MDYsCi0gICAgMHhjMCwgMHgwNywgMHgwNCwgMHgwMCwgMHg2OCwgMHgwYSwgMHgwMCwgMHhkYSwKLSAgICAweDdkLCAweGMxLCAweGU3LCAweDA5LCAweGMwLCAweDAwLCAweDdjLCAweDA2LAotICAgIDB4ZTcsIDB4MDksIDB4YmUsIDB4MDAsIDB4NzgsIDB4MDYsIDB4ZTcsIDB4MDksCi0gICAgMHgxMCwgMHgwMCwgMHhiYywgMHgwNiwgMHhjOCwgMHgwNywgMHhkNiwgMHgwNywKLSAgICAweDlmLCAweGFmLCAweGFlLCAweDA3LCAweDlmLCAweGFmLCAweDAwLCAweDBhLAotICAgIDB4YzgsIDB4MDksIDB4ZGUsIDB4MDAsIDB4MDAsIDB4MGUsIDB4MGYsIDB4MDAsCi0gICAgMHg0MSwgMHg5MCwgMHg5ZiwgMHhkZSwgMHgwNiwgMHgwMCwgMHg0NCwgMHhhZiwKLSAgICAweDI3LCAweDAwLCAweGIyLCAweDA2LCAweDI3LCAweDAwLCAweGI0LCAweDA2LAotICAgIDB4MjcsIDB4MDAsIDB4YjYsIDB4MDYsIDB4YzAsIDB4MDcsIDB4NzQsIDB4MDAsCi0gICAgMHg0NCwgMHhhZiwgMHgyNywgMHgwMCwgMHhkNiwgMHgwNiwgMHgwOCwgMHgwMCwKLSAgICAweDAwLCAweDkwLCAweGMxLCAweDA3LCAweDNhLCAweDAwLCAweDIwLCAweDAwLAotICAgIDB4MDEsIDB4ZGEsIDB4N2QsIDB4YzEsIDB4OWYsIDB4YWYsIDB4YmEsIDB4MDksCi0gICAgMHhjMCwgMHgwNywgMHg0NCwgMHgwMCwgMHg0OCwgMHhhZiwgMHgyNywgMHgwMCwKLSAgICAweDdhLCAweDA2LCAweDlmLCAweGFmLCAweDk2LCAweDBhLCAweGU3LCAweDA3LAotICAgIDB4MDEsIDB4MDAsIDB4YzAsIDB4MDYsIDB4ZTcsIDB4MDUsIDB4MGUsIDB4YzAsCi0gICAgMHg5NywgMHhjZiwgMHg0OSwgMHhhZiwgMHhlNywgMHg4NywgMHg0MywgMHgwMCwKLSAgICAweDBlLCAweGMwLCAweGU3LCAweDA3LCAweGZmLCAweGZmLCAweGJlLCAweDA2LAotICAgIDB4OWYsIDB4YWYsIDB4YWUsIDB4MGEsIDB4YzAsIDB4MDcsIDB4MDEsIDB4MDAsCi0gICAgMHg2MCwgMHhhZiwgMHg0YSwgMHhhZiwgMHg5NywgMHhjZiwgMHgwMCwgMHgwOCwKLSAgICAweDA5LCAweDA4LCAweDExLCAweDA4LCAweDAwLCAweGRhLCAweDdjLCAweGMxLAotICAgIDB4OTcsIDB4Y2YsIDB4NjcsIDB4MDQsIDB4Y2MsIDB4MDIsIDB4YzAsIDB4ZGYsCi0gICAgMHg1MSwgMHg5NCwgMHhiMSwgMHhhZiwgMHgwNiwgMHgwMCwgMHhjMSwgMHhkZiwKLSAgICAweGM5LCAweDA5LCAweGNjLCAweDAyLCAweDQ5LCAweDYyLCAweDc1LCAweGMxLAotICAgIDB4YzAsIDB4ZGYsIDB4YTcsIDB4Y2YsIDB4ZDYsIDB4MDIsIDB4MGUsIDB4MDAsCi0gICAgMHgyNCwgMHgwMCwgMHg4MCwgMHgwNCwgMHgyMiwgMHgwMCwgMHg0ZSwgMHgwNSwKLSAgICAweGQwLCAweDAwLCAweDBlLCAweDBhLCAweGFhLCAweDAwLCAweDMwLCAweDA4LAotICAgIDB4YmUsIDB4MDAsIDB4NGEsIDB4MGEsIDB4MTAsIDB4MDAsIDB4MjAsIDB4MDAsCi0gICAgMHgwNCwgMHgwMCwgMHg2ZSwgMHgwNCwgMHgwMiwgMHgwMCwgMHg2YSwgMHgwNCwKLSAgICAweDA2LCAweDAwLCAweDAwLCAweDAwLCAweDI0LCAweGMwLCAweDA0LCAweDA0LAotICAgIDB4MjgsIDB4YzAsIDB4ZmUsIDB4ZmIsIDB4MWUsIDB4YzAsIDB4MDAsIDB4MDQsCi0gICAgMHgyMiwgMHhjMCwgMHhmZiwgMHhmNCwgMHhjMCwgMHgwMCwgMHg5MCwgMHgwOSwKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGZmLCAweGZmLCAweDU2LCAweDA4LAotICAgIDB4NjAsIDB4MDgsIDB4ZDAsIDB4MDgsIDB4ZGEsIDB4MDgsIDB4MDAsIDB4MDksCi0gICAgMHgwNCwgMHgwOSwgMHgwOCwgMHgwOSwgMHgzMiwgMHgwOSwgMHg0MiwgMHgwOSwKLSAgICAweDUwLCAweDA5LCAweDUyLCAweDA5LCAweDVhLCAweDA5LCAweDVhLCAweDA5LAotICAgIDB4MjcsIDB4MDIsIDB4Y2EsIDB4MDYsIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhjYSwgMHgwNiwgMHgwYSwgMHgwZSwgMHgwMSwgMHgwMCwKLSAgICAweGNhLCAweDU3LCAweDBlLCAweDAwLCAweDlmLCAweGMzLCAweDVhLCAweDA5LAotICAgIDB4Y2EsIDB4MzcsIDB4MDAsIDB4MDAsIDB4OWYsIDB4YzIsIDB4NWEsIDB4MDksCi0gICAgMHgwYSwgMHhkMiwgMHhiMiwgMHhjZiwgMHgxNiwgMHgwOCwgMHhjOCwgMHgwOSwKLSAgICAweGRlLCAweDAwLCAweDA3LCAweDA2LCAweDlmLCAweGNmLCAweDZjLCAweDA5LAotICAgIDB4MTcsIDB4MDIsIDB4YzgsIDB4MDksIDB4ZGUsIDB4MDAsIDB4MDAsIDB4MGUsCi0gICAgMHgwZiwgMHgwMCwgMHg0MSwgMHg5MCwgMHg5ZiwgMHhkZSwgMHgwNiwgMHgwMCwKLSAgICAweGM4LCAweDA1LCAweDMwLCAweDUwLCAweDA2LCAweDAwLCAweDlmLCAweGM4LAotICAgIDB4NWEsIDB4MDksIDB4MjcsIDB4MGMsIDB4MDIsIDB4MDAsIDB4YjAsIDB4MDYsCi0gICAgMHhjMCwgMHgwOSwgMHhiMiwgMHgwNiwgMHgyNywgMHgwMCwgMHhiNCwgMHgwNiwKLSAgICAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweGFlLCAweDA2LCAweDI3LCAweDAwLAotICAgIDB4ODAsIDB4MDYsIDB4MDAsIDB4MWMsIDB4MDYsIDB4MDAsIDB4MjcsIDB4MDAsCi0gICAgMHhiNiwgMHgwNiwgMHg0MSwgMHg5MCwgMHg2NywgMHg1MCwgMHhiMCwgMHgwNiwKLSAgICAweDBkLCAweGMwLCAweDY3LCAweDAwLCAweDdlLCAweDA2LCAweDI3LCAweDBjLAotICAgIDB4MDYsIDB4MDAsIDB4ODIsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4YmMsIDB4MDgsCi0gICAgMHg4NCwgMHgwNiwgMHhjOCwgMHgwNywgMHg3ZSwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDUxLCAweGFmLCAweDk3LCAweGNmLCAweDlmLCAweGFmLCAweDQ4LCAweDBjLAotICAgIDB4ZTcsIDB4MDksIDB4YjYsIDB4MDYsIDB4YjQsIDB4MDYsIDB4ZTcsIDB4MDksCi0gICAgMHhiMCwgMHgwNiwgMHhhZSwgMHgwNiwgMHg1OSwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweDI3LCAweDBjLCAweDAyLCAweDAwLCAweGFjLCAweDA2LCAweDU5LCAweGFmLAotICAgIDB4OTcsIDB4Y2YsIDB4MDksIDB4MGMsIDB4MDIsIDB4MDAsIDB4MDksIDB4ZGEsCi0gICAgMHg0OSwgMHhkMiwgMHhjOSwgMHgxOSwgMHhkNiwgMHgwNiwgMHhjOCwgMHgwNywKLSAgICAweDdlLCAweDA2LCAweGUwLCAweDA3LCAweDAwLCAweDAwLCAweDYwLCAweDAyLAotICAgIDB4ZTAsIDB4MDcsIDB4MDQsIDB4MDAsIDB4ZDAsIDB4MDcsIDB4Y2MsIDB4MDgsCi0gICAgMHg0OCwgMHhkYiwgMHg0MSwgMHg5MCwgMHg1MCwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweDU5LCAweGFmLCAweDk3LCAweGNmLCAweDU5LCAweGFmLCAweDk3LCAweGNmLAotICAgIDB4ZjAsIDB4NTcsIDB4MDYsIDB4MDAsIDB4MDYsIDB4MDAsIDB4MjUsIDB4YzEsCi0gICAgMHhlNywgMHgwNywgMHg3MCwgMHgwNiwgMHg4MCwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDY3LCAweDAwLCAweDdlLCAweDA2LCAweDI3LCAweDBjLCAweDA2LCAweDAwLAotICAgIDB4ODIsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4OGMsIDB4MDksIDB4ODQsIDB4MDYsCi0gICAgMHhjOCwgMHgwNywgMHg3ZSwgMHgwNiwgMHg0MSwgMHg5MCwgMHg1MSwgMHhhZiwKLSAgICAweDk3LCAweGNmLCAweDA3LCAweDBjLCAweDA2LCAweDAwLCAweGM3LCAweDU3LAotICAgIDB4MDYsIDB4MDAsIDB4MGYsIDB4YzEsIDB4YzgsIDB4MDcsIDB4NzAsIDB4MDYsCi0gICAgMHgxNSwgMHhjZiwgMHgwMCwgMHgwYywgMHgwMiwgMHgwMCwgMHgwMCwgMHhkYSwKLSAgICAweDQwLCAweGQxLCAweDI3LCAweDAwLCAweGMyLCAweDA2LCAweDFlLCAweGNmLAotICAgIDB4MWQsIDB4Y2YsIDB4MjcsIDB4MGMsIDB4MDIsIDB4MDAsIDB4Y2MsIDB4MDYsCi0gICAgMHgxOSwgMHhjZiwgMHgyNywgMHgwMiwgMHgyMCwgMHgwMSwgMHhlNywgMHgwNywKLSAgICAweDA4LCAweDAwLCAweDIyLCAweDAxLCAweGU3LCAweDA3LCAweDEzLCAweDAwLAotICAgIDB4YjAsIDB4YzAsIDB4OTcsIDB4Y2YsIDB4NDEsIDB4OTAsIDB4NjcsIDB4MDAsCi0gICAgMHg3ZSwgMHgwNiwgMHhlNywgMHgwMSwgMHg4MiwgMHgwNiwgMHgyNywgMHgwMiwKLSAgICAweDgwLCAweDA2LCAweGU3LCAweDA3LCAweDhjLCAweDA5LCAweDg0LCAweDA2LAotICAgIDB4YzgsIDB4MDcsIDB4N2UsIDB4MDYsIDB4YzEsIDB4MDcsIDB4MDAsIDB4ODAsCi0gICAgMHg1MCwgMHhhZiwgMHg5NywgMHhjZiwgMHg1OSwgMHhhZiwgMHg5NywgMHhjZiwKLSAgICAweDAwLCAweDYwLCAweDA1LCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YzQsIDB4MDYsIDB4YTcsIDB4Y2YsIDB4N2MsIDB4MDYsIDB4OWYsIDB4YWYsCi0gICAgMHgwMCwgMHgwYSwgMHhlNywgMHgwNywgMHgwMSwgMHgwMCwgMHhjNCwgMHgwNiwKLSAgICAweDQ5LCAweGFmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweDA3LCAweGFmLAotICAgIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4NGEsIDB4YWYsIDB4YTcsIDB4Y2YsCi0gICAgMHg3YywgMHgwNiwgMHhjMCwgMHgwNywgMHhmZSwgMHg3ZiwgMHg0NCwgMHhhZiwKLSAgICAweDQwLCAweDAwLCAweGMwLCAweDM3LCAweDAwLCAweDAxLCAweDQxLCAweDkwLAotICAgIDB4YzAsIDB4MzcsIDB4MDgsIDB4MDAsIDB4ZGYsIDB4ZGUsIDB4NTAsIDB4MDYsCi0gICAgMHhjMCwgMHg1NywgMHgxMCwgMHgwMCwgMHgwMiwgMHhjMiwgMHhjMCwgMHgwNywKLSAgICAweDEwLCAweDAwLCAweDI3LCAweDAwLCAweDlhLCAweDA2LCAweDQxLCAweDkwLAotICAgIDB4OWYsIDB4ZGUsIDB4NDAsIDB4MDYsIDB4NDQsIDB4YWYsIDB4MjcsIDB4MDAsCi0gICAgMHg5YywgMHgwNiwgMHhjMCwgMHgwOSwgMHg5YSwgMHgwNiwgMHg0MSwgMHg5MCwKLSAgICAweDAwLCAweGQyLCAweDAwLCAweGQ4LCAweDlmLCAweGRlLCAweDA4LCAweDAwLAotICAgIDB4NDQsIDB4YWYsIDB4MjcsIDB4MDAsIDB4YzgsIDB4MDYsIDB4OTcsIDB4Y2YsCi0gICAgMHhlNywgMHg4NywgMHgwMCwgMHg4NCwgMHgyOCwgMHhjMCwgMHhlNywgMHg2NywKLSAgICAweGZmLCAweGZiLCAweDI0LCAweGMwLCAweDk3LCAweGNmLCAweGU3LCAweDg3LAotICAgIDB4MDEsIDB4MDAsIDB4ZDIsIDB4MDYsIDB4ZTcsIDB4NTcsIDB4MDAsIDB4MDAsCi0gICAgMHhhOCwgMHgwNiwgMHg5NywgMHhjMSwgMHg5ZiwgMHhhZiwgMHgwMCwgMHgwYSwKLSAgICAweGU3LCAweDg3LCAweDAwLCAweDA2LCAweDIyLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4OTAsIDB4YzAsIDB4ZTcsIDB4NjcsIDB4ZmUsIDB4ZmYsCi0gICAgMHgzZSwgMHhjMCwgMHhlNywgMHgwNywgMHgyNiwgMHgwMCwgMHgwYSwgMHhjMCwKLSAgICAweGU3LCAweDg3LCAweDAxLCAweDAwLCAweDNlLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4ZmYsIDB4ZmYsIDB4YmUsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MTAsIDB4MGIsCi0gICAgMHg5NywgMHhjZiwgMHgxNywgMHgwMCwgMHhhNywgMHhhZiwgMHg3OCwgMHgwNiwKLSAgICAweGMwLCAweDA1LCAweDI3LCAweDAwLCAweDc2LCAweDA2LCAweGU3LCAweDg3LAotICAgIDB4MDEsIDB4MDAsIDB4ZDIsIDB4MDYsIDB4OWYsIDB4YWYsIDB4MDAsIDB4MGEsCi0gICAgMHhlNywgMHgwNywgMHgwYywgMHgwMCwgMHg0MCwgMHhjMCwgMHg5ZiwgMHhhZiwKLSAgICAweDEwLCAweDBiLCAweDAwLCAweDkwLCAweDI3LCAweDAwLCAweGE2LCAweDA2LAotICAgIDB4MjcsIDB4MDAsIDB4YWEsIDB4MDYsIDB4ZTcsIDB4MDksIDB4YjIsIDB4MDYsCi0gICAgMHhiNCwgMHgwNiwgMHgyNywgMHgwMCwgMHhhZSwgMHgwNiwgMHgyNywgMHgwMCwKLSAgICAweGFjLCAweDA2LCAweDlmLCAweGFmLCAweGFlLCAweDBhLCAweGMwLCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4MjcsIDB4MDAsIDB4YjIsIDB4MDIsIDB4MjcsIDB4MDAsCi0gICAgMHhiNCwgMHgwMiwgMHgyNywgMHgwMCwgMHg4ZSwgMHgwNiwgMHhjMCwgMHgwNywKLSAgICAweDA2LCAweDAwLCAweGM4LCAweDA5LCAweGRlLCAweDAwLCAweGM4LCAweDE3LAotICAgIDB4MDMsIDB4MDAsIDB4YzksIDB4MDcsIDB4NzAsIDB4MDYsIDB4MjksIDB4MGEsCi0gICAgMHgwMCwgMHhkYSwgMHg3ZCwgMHhjMSwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwKLSAgICAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDAwLCAweDkwLCAweDI3LCAweDAwLAotICAgIDB4OTYsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4OTYsIDB4MDYsIDB4OTgsIDB4MDYsCi0gICAgMHgyNywgMHgwMCwgMHhhMCwgMHgwNiwgMHhlNywgMHgwNywgMHhhMCwgMHgwNiwKLSAgICAweGEyLCAweDA2LCAweDI3LCAweDAwLCAweGE2LCAweDA2LCAweDI3LCAweDAwLAotICAgIDB4OTAsIDB4MDYsIDB4MjcsIDB4MDAsIDB4OWUsIDB4MDYsIDB4YzgsIDB4MDksCi0gICAgMHg5YywgMHgwNiwgMHhjMSwgMHgwOSwgMHg5YSwgMHgwNiwgMHhjOSwgMHgwNywKLSAgICAweGE0LCAweDA2LCAweDExLCAweDAyLCAweDA5LCAweDAyLCAweGM4LCAweDE3LAotICAgIDB4NDAsIDB4MDYsIDB4MDEsIDB4ZGEsIDB4N2EsIDB4YzEsIDB4NTEsIDB4OTQsCi0gICAgMHhjOCwgMHgwOSwgMHhjOCwgMHgwNiwgMHhjOSwgMHgwNywgMHhjNiwgMHgwNiwKLSAgICAweGMxLCAweDA5LCAweDlhLCAweDA2LCAweDExLCAweDAyLCAweDA5LCAweDAyLAotICAgIDB4YzgsIDB4MTcsIDB4MDgsIDB4MDAsIDB4MDEsIDB4ZGEsIDB4N2EsIDB4YzEsCi0gICAgMHg1MSwgMHg5NCwgMHhlNywgMHgwNSwgMHgwMCwgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweDc2LCAweDA2LCAweDk3LCAweGMwLAotICAgIDB4OWYsIDB4YWYsIDB4MDQsIDB4MDAsIDB4ZTcsIDB4MDksIDB4YmUsIDB4MDYsCi0gICAgMHhiYSwgMHgwNiwgMHhlNywgMHg1NywgMHhmZiwgMHhmZiwgMHhiYSwgMHgwNiwKLSAgICAweDA0LCAweGMxLCAweGU3LCAweDA3LCAweDEwLCAweDBiLCAweGI4LCAweDA2LAotICAgIDB4OTcsIDB4Y2YsIDB4ZTcsIDB4MTcsIDB4MzIsIDB4MDAsIDB4YmEsIDB4MDYsCi0gICAgMHhlNywgMHg2NywgMHhmZiwgMHgwNywgMHhiYSwgMHgwNiwgMHhlNywgMHgwNywKLSAgICAweDQ2LCAweDBiLCAweGI4LCAweDA2LCAweDk3LCAweGNmLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4MjMsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwNCwgMHgwMCwgMHg5MCwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHg4MCwKLSAgICAweDgwLCAweGMwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDgwLCAweGMwLAotICAgIDB4ZTcsIDB4MDcsIDB4MDAsIDB4ODAsIDB4ODAsIDB4YzAsIDB4YzAsIDB4MDcsCi0gICAgMHgwMCwgMHgwMCwgMHhjMCwgMHgwNywgMHgwMCwgMHgwMCwgMHhjMCwgMHgwNywKLSAgICAweDAwLCAweDAwLCAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDgwLCAweGMwLAotICAgIDB4ZTcsIDB4MDcsIDB4MDAsIDB4ODAsIDB4ODAsIDB4YzAsIDB4ZTcsIDB4MDcsCi0gICAgMHgwMCwgMHg4MCwgMHg0MCwgMHhjMCwgMHhjMCwgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweGU3LCAweDA3LCAweDAwLCAweDAwLCAweDQwLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4ODAsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDQsIDB4MDAsCi0gICAgMHg5MCwgMHhjMCwgMHhlNywgMHgwNywgMHgwMCwgMHgwMiwgMHg0MCwgMHhjMCwKLSAgICAweGU3LCAweDA3LCAweDBjLCAweDAyLCAweDQwLCAweGMwLCAweGU3LCAweDA3LAotICAgIDB4MDAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHhiOCwgMHgwNiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwgMHhkMiwgMHgwNiwKLSAgICAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweGMxLCAweGRmLCAweDlmLCAweGFmLAotICAgIDB4MzQsIDB4MDIsIDB4ZTcsIDB4MDUsIDB4MDAsIDB4YzAsIDB4OWYsIDB4YWYsCi0gICAgMHhjNCwgMHgwMSwgMHg5NywgMHhjZiwgMHhkNywgMHgwOSwgMHgwMCwgMHhjMCwKLSAgICAweDE3LCAweDAwLCAweDE3LCAweDAyLCAweDk3LCAweDAyLCAweGU3LCAweDU3LAotICAgIDB4MDAsIDB4MDAsIDB4YTgsIDB4MDYsIDB4MDYsIDB4YzAsIDB4YzAsIDB4MDksCi0gICAgMHg5MiwgMHhjMCwgMHhjMCwgMHg3NywgMHgwOSwgMHgwMiwgMHg5ZiwgMHhjMSwKLSAgICAweDVjLCAweDA1LCAweDlmLCAweGNmLCAweDMyLCAweDA2LCAweGQ3LCAweDA5LAotICAgIDB4MGUsIDB4YzAsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsIDB4MGUsIDB4YzAsCi0gICAgMHg5ZiwgMHhhZiwgMHgwMiwgMHgwYywgMHhlNywgMHgwNSwgMHgwZSwgMHhjMCwKLSAgICAweDk3LCAweGNmLCAweGQ3LCAweDA5LCAweDAwLCAweGMwLCAweDE3LCAweDAyLAotICAgIDB4YzgsIDB4MDksIDB4YjAsIDB4YzAsIDB4ZTcsIDB4NjcsIDB4ZmUsIDB4N2YsCi0gICAgMHhiMCwgMHhjMCwgMHhjOCwgMHg3NywgMHgwMCwgMHgyMCwgMHg5ZiwgMHhjMSwKLSAgICAweDY0LCAweGViLCAweGU3LCAweDU3LCAweDAwLCAweDAwLCAweGM4LCAweDAyLAotICAgIDB4OWYsIDB4YzEsIDB4ODAsIDB4ZWIsIDB4YzgsIDB4OTksIDB4Y2EsIDB4MDIsCi0gICAgMHhjOCwgMHg2NywgMHgwNCwgMHgwMCwgMHg5ZiwgMHhjMSwgMHg5NiwgMHhlYiwKLSAgICAweDlmLCAweGNmLCAweDRjLCAweGViLCAweGU3LCAweDA3LCAweDAwLCAweDAwLAotICAgIDB4YTYsIDB4YzAsIDB4ZTcsIDB4MDksIDB4YjAsIDB4YzAsIDB4YzgsIDB4MDIsCi0gICAgMHhlNywgMHgwNywgMHgwMywgMHgwMCwgMHhiMCwgMHhjMCwgMHg5NywgMHhjZiwKLSAgICAweGMwLCAweDA5LCAweGIwLCAweDA2LCAweGMwLCAweDM3LCAweDAxLCAweDAwLAotICAgIDB4OTcsIDB4YzksIDB4YzksIDB4MDksIDB4YjIsIDB4MDYsIDB4MDIsIDB4MDAsCi0gICAgMHg0MSwgMHg5MCwgMHg0OCwgMHgwMiwgMHhjOSwgMHgxNywgMHgwNiwgMHgwMCwKLSAgICAweDlmLCAweGFmLCAweDA4LCAweDA0LCAweDlmLCAweGEyLCAweDcyLCAweDBjLAotICAgIDB4MDIsIDB4ZGEsIDB4NzcsIDB4YzEsIDB4NDEsIDB4NjAsIDB4NzEsIDB4YzEsCi0gICAgMHg5NywgMHhjZiwgMHgxNywgMHgwMiwgMHg1NywgMHgwMiwgMHg0MywgMHgwNCwKLSAgICAweDIxLCAweDA0LCAweGUwLCAweDAwLCAweDQzLCAweDA0LCAweDIxLCAweDA0LAotICAgIDB4ZTAsIDB4MDAsIDB4NDMsIDB4MDQsIDB4MjEsIDB4MDQsIDB4ZTAsIDB4MDAsCi0gICAgMHhjMSwgMHgwNywgMHgwMSwgMHgwMCwgMHhjOSwgMHgwNSwgMHhjOCwgMHgwNSwKLSAgICAweDk3LCAweGNmLCAweGU3LCAweDA3LCAweDAxLCAweDAwLCAweDhlLCAweDA2LAotICAgIDB4YzgsIDB4MDcsIDB4ODYsIDB4MDYsIDB4ZTcsIDB4MDcsIDB4MDAsIDB4MDAsCi0gICAgMHg4NiwgMHgwNiwgMHhlNywgMHgwNywgMHgxMCwgMHgwOCwgMHg4OCwgMHgwNiwKLSAgICAweGU3LCAweDA3LCAweDA0LCAweDAwLCAweDhhLCAweDA2LCAweGU3LCAweDA3LAotICAgIDB4YmMsIDB4MGMsIDB4OGMsIDB4MDYsIDB4YzEsIDB4MDcsIDB4MDMsIDB4ODAsCi0gICAgMHg1MCwgMHhhZiwgMHg5NywgMHhjZiwgMHhlNywgMHgwNywgMHgwMCwgMHgwMCwKLSAgICAweDhlLCAweDA2LCAweDk3LCAweGNmLAotICAgIDB4MDAsIDB4MDAKLX07Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAga2F3ZXRoX25ld19jb2RlX2ZpeAotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgX191OCBrYXdldGhfbmV3X2NvZGVfZml4W10gPSAKLXsKLSAgICAweEI2LCAweEMzLCAweEFBLCAweEJCLCAweENDLCAweERELAotICAgIDB4MDIsIDB4MDAsIDB4MDgsIDB4MDAsIDB4MjgsIDB4MDAsIDB4MmMsIDB4MDAsCi0gICAgMHgzNCwgMHgwMCwgMHgzYywgMHgwMCwgMHg0MCwgMHgwMCwgMHg0OCwgMHgwMCwKLSAgICAweDU0LCAweDAwLCAweDU4LCAweDAwLCAweDVlLCAweDAwLCAweDY0LCAweDAwLAotICAgIDB4NjgsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmMsIDB4MDAsIDB4NzIsIDB4MDAsCi0gICAgMHg3NiwgMHgwMCwgMHg3YywgMHgwMCwgMHg4MCwgMHgwMCwgMHg4NiwgMHgwMCwKLSAgICAweDhhLCAweDAwLCAweDkwLCAweDAwLCAweDk0LCAweDAwLCAweDk4LCAweDAwLAotICAgIDB4OWUsIDB4MDAsIDB4YTYsIDB4MDAsIDB4YWEsIDB4MDAsIDB4YjAsIDB4MDAsCi0gICAgMHhiNCwgMHgwMCwgMHhiOCwgMHgwMCwgMHhjMCwgMHgwMCwgMHhjNiwgMHgwMCwKLSAgICAweGNhLCAweDAwLCAweGQwLCAweDAwLCAweGQ0LCAweDAwLCAweGQ4LCAweDAwLAotICAgIDB4ZTAsIDB4MDAsIDB4ZGUsIDB4MDAsIDB4ZTgsIDB4MDAsIDB4ZjAsIDB4MDAsCi0gICAgMHhmYywgMHgwMCwgMHgwNCwgMHgwMSwgMHgwYSwgMHgwMSwgMHgxOCwgMHgwMSwKLSAgICAweDIyLCAweDAxLCAweDI4LCAweDAxLCAweDNhLCAweDAxLCAweDNlLCAweDAxLAotICAgIDB4N2UsIDB4MDEsIDB4OTgsIDB4MDEsIDB4OWMsIDB4MDEsIDB4YTIsIDB4MDEsCi0gICAgMHhhYywgMHgwMSwgMHhiMiwgMHgwMSwgMHhiYSwgMHgwMSwgMHhjMCwgMHgwMSwKLSAgICAweGM4LCAweDAxLCAweGQwLCAweDAxLCAweGQ2LCAweDAxLCAweGY0LCAweDAxLAotICAgIDB4ZmMsIDB4MDEsIDB4MDgsIDB4MDIsIDB4MTYsIDB4MDIsIDB4MWEsIDB4MDIsCi0gICAgMHgyMiwgMHgwMiwgMHgyYSwgMHgwMiwgMHgyZSwgMHgwMiwgMHgzZSwgMHgwMiwKLSAgICAweDQ0LCAweDAyLCAweDRhLCAweDAyLCAweDUwLCAweDAyLCAweDY0LCAweDAyLAotICAgIDB4NjIsIDB4MDIsIDB4NmMsIDB4MDIsIDB4NzIsIDB4MDIsIDB4ODYsIDB4MDIsCi0gICAgMHg4YywgMHgwMiwgMHg5MCwgMHgwMiwgMHg5ZSwgMHgwMiwgMHhiYywgMHgwMiwKLSAgICAweGQwLCAweDAyLCAweGQ4LCAweDAyLCAweGRjLCAweDAyLCAweGUwLCAweDAyLAotICAgIDB4ZTgsIDB4MDIsIDB4ZTYsIDB4MDIsIDB4ZjQsIDB4MDIsIDB4ZmUsIDB4MDIsCi0gICAgMHgwNCwgMHgwMywgMHgwYywgMHgwMywgMHgyOCwgMHgwMywgMHg3YywgMHgwMywKLSAgICAweDkwLCAweDAzLCAweDk0LCAweDAzLCAweDljLCAweDAzLCAweGEyLCAweDAzLAotICAgIDB4YzAsIDB4MDMsIDB4ZDAsIDB4MDMsIDB4ZDQsIDB4MDMsIDB4ZWUsIDB4MDMsCi0gICAgMHhmYSwgMHgwMywgMHhmZSwgMHgwMywgMHgyZSwgMHgwNCwgMHgzMiwgMHgwNCwKLSAgICAweDNjLCAweDA0LCAweDQwLCAweDA0LCAweDRlLCAweDA0LCAweDc2LCAweDA0LAotICAgIDB4N2MsIDB4MDQsIDB4ODQsIDB4MDQsIDB4OGEsIDB4MDQsIDB4OGUsIDB4MDQsCi0gICAgMHhhNiwgMHgwNCwgMHhiMCwgMHgwNCwgMHhiOCwgMHgwNCwgMHhiZSwgMHgwNCwKLSAgICAweGQyLCAweDA0LCAweGRjLCAweDA0LCAweGVlLCAweDA0LCAweDEwLCAweDA1LAotICAgIDB4MWEsIDB4MDUsIDB4MjQsIDB4MDUsIDB4MmEsIDB4MDUsIDB4MzYsIDB4MDUsCi0gICAgMHgzNCwgMHgwNSwgMHgzYywgMHgwNSwgMHg0MiwgMHgwNSwgMHg2NCwgMHgwNSwKLSAgICAweDZhLCAweDA1LCAweDZlLCAweDA1LCAweDg2LCAweDA1LCAweDIyLCAweDA2LAotICAgIDB4MjYsIDB4MDYsIDB4MmMsIDB4MDYsIDB4MzAsIDB4MDYsIDB4NDIsIDB4MDYsCi0gICAgMHg0YSwgMHgwNiwgMHg0ZSwgMHgwNiwgMHg1NiwgMHgwNiwgMHg1NCwgMHgwNiwKLSAgICAweDVhLCAweDA2LCAweDYwLCAweDA2LCAweDY2LCAweDA2LCAweGU4LCAweDA2LAotICAgIDB4ZWUsIDB4MDYsIDB4ZjQsIDB4MDYsIDB4MTYsIDB4MDcsIDB4MjYsIDB4MDcsCi0gICAgMHgyYywgMHgwNywgMHgzMiwgMHgwNywgMHgzNiwgMHgwNywgMHgzYSwgMHgwNywKLSAgICAweDNlLCAweDA3LCAweDUyLCAweDA3LCAweDU2LCAweDA3LCAweDVhLCAweDA3LAotICAgIDB4NjQsIDB4MDcsIDB4NzYsIDB4MDcsIDB4N2EsIDB4MDcsIDB4ODAsIDB4MDcsCi0gICAgMHg4NCwgMHgwNywgMHg4YSwgMHgwNywgMHg5ZSwgMHgwNywgMHhhMiwgMHgwNywKLSAgICAweGRhLCAweDA3LCAweGRlLCAweDA3LCAweGUyLCAweDA3LCAweGU2LCAweDA3LAotICAgIDB4ZWEsIDB4MDcsIDB4ZWUsIDB4MDcsIDB4ZjIsIDB4MDcsIDB4ZjYsIDB4MDcsCi0gICAgMHgwZSwgMHgwOCwgMHgxNiwgMHgwOCwgMHgxOCwgMHgwOCwgMHgxYSwgMHgwOCwKLSAgICAweDFjLCAweDA4LCAweDFlLCAweDA4LCAweDIwLCAweDA4LCAweDIyLCAweDA4LAotICAgIDB4MjQsIDB4MDgsIDB4MjYsIDB4MDgsIDB4MjgsIDB4MDgsIDB4MmEsIDB4MDgsCi0gICAgMHgyYywgMHgwOCwgMHgyZSwgMHgwOCwgMHgzMiwgMHgwOCwgMHgzYSwgMHgwOCwKLSAgICAweDQ2LCAweDA4LCAweDRlLCAweDA4LCAweDU0LCAweDA4LCAweDVlLCAweDA4LAotICAgIDB4NzgsIDB4MDgsIDB4N2UsIDB4MDgsIDB4ODIsIDB4MDgsIDB4ODYsIDB4MDgsCi0gICAgMHg4YywgMHgwOCwgMHg5MCwgMHgwOCwgMHg5OCwgMHgwOCwgMHg5ZSwgMHgwOCwKLSAgICAweGE0LCAweDA4LCAweGFhLCAweDA4LCAweGIwLCAweDA4LCAweGFlLCAweDA4LAotICAgIDB4YjQsIDB4MDgsIDB4YmUsIDB4MDgsIDB4YzQsIDB4MDgsIDB4YzIsIDB4MDgsCi0gICAgMHhjYSwgMHgwOCwgMHhjOCwgMHgwOCwgMHhkNCwgMHgwOCwgMHhlNCwgMHgwOCwKLSAgICAweGU4LCAweDA4LCAweGY2LCAweDA4LCAweDE0LCAweDA5LCAweDEyLCAweDA5LAotICAgIDB4MWEsIDB4MDksIDB4MjAsIDB4MDksIDB4MjYsIDB4MDksIDB4MjQsIDB4MDksCi0gICAgMHgyYSwgMHgwOSwgMHgzZSwgMHgwOSwgMHg0YywgMHgwOSwgMHg1NiwgMHgwOSwKLSAgICAweDcwLCAweDA5LCAweDc0LCAweDA5LCAweDc4LCAweDA5LCAweDdlLCAweDA5LAotICAgIDB4N2MsIDB4MDksIDB4ODIsIDB4MDksIDB4OTgsIDB4MDksIDB4OWMsIDB4MDksCi0gICAgMHhhMCwgMHgwOSwgMHhhNiwgMHgwOSwgMHhiOCwgMHgwOSwgMHhkYywgMHgwOSwKLSAgICAweGU4LCAweDA5LCAweGVjLCAweDA5LCAweGZjLCAweDA5LCAweDEyLCAweDBhLAotICAgIDB4MTgsIDB4MGEsIDB4MWUsIDB4MGEsIDB4NDIsIDB4MGEsIDB4NDYsIDB4MGEsCi0gICAgMHg0ZSwgMHgwYSwgMHg1NCwgMHgwYSwgMHg1YSwgMHgwYSwgMHg1ZSwgMHgwYSwKLSAgICAweDY4LCAweDBhLCAweDZlLCAweDBhLCAweDcyLCAweDBhLCAweDc4LCAweDBhLAotICAgIDB4NzYsIDB4MGEsIDB4N2MsIDB4MGEsIDB4ODAsIDB4MGEsIDB4ODQsIDB4MGEsCi0gICAgMHg5NCwgMHgwYSwgMHhhNCwgMHgwYSwgMHhiOCwgMHgwYSwgMHhiZSwgMHgwYSwKLSAgICAweGJjLCAweDBhLCAweGMyLCAweDBhLCAweGM4LCAweDBhLCAweGM2LCAweDBhLAotICAgIDB4Y2MsIDB4MGEsIDB4ZDAsIDB4MGEsIDB4ZDQsIDB4MGEsIDB4ZDgsIDB4MGEsCi0gICAgMHhkYywgMHgwYSwgMHhlMCwgMHgwYSwgMHhmMiwgMHgwYSwgMHhmNiwgMHgwYSwKLSAgICAweGZhLCAweDBhLCAweDE0LCAweDBiLCAweDFhLCAweDBiLCAweDIwLCAweDBiLAotICAgIDB4MWUsIDB4MGIsIDB4MjYsIDB4MGIsIDB4MmUsIDB4MGIsIDB4MmMsIDB4MGIsCi0gICAgMHgzNiwgMHgwYiwgMHgzYywgMHgwYiwgMHg0MiwgMHgwYiwgMHg0MCwgMHgwYiwKLSAgICAweDRhLCAweDBiLCAweGFhLCAweDBiLCAweGIwLCAweDBiLCAweGI2LCAweDBiLAotICAgIDB4YzAsIDB4MGIsIDB4YzgsIDB4MGIsIDB4ZGEsIDB4MGIsIDB4ZTgsIDB4MGIsCi0gICAgMHhlYywgMHgwYiwgMHhmYSwgMHgwYiwgMHg0YSwgMHgwYywgMHg1NCwgMHgwYywKLSAgICAweDYyLCAweDBjLCAweDY2LCAweDBjLCAweDk2LCAweDBjLCAweDlhLCAweDBjLAotICAgIDB4YTAsIDB4MGMsIDB4YTYsIDB4MGMsIDB4YTQsIDB4MGMsIDB4YWMsIDB4MGMsCi0gICAgMHhiMiwgMHgwYywgMHhiMCwgMHgwYywgMHhjMCwgMHgwYywKLSAgICAweDAwLCAweDAwCi19OwotCi0KLXN0YXRpYyBjb25zdCBpbnQgbGVuX2thd2V0aF90cmlnZ2VyX2NvZGUgPSBzaXplb2Yoa2F3ZXRoX3RyaWdnZXJfY29kZSk7Ci1zdGF0aWMgY29uc3QgaW50IGxlbl9rYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCA9IHNpemVvZihrYXdldGhfdHJpZ2dlcl9jb2RlX2ZpeCk7Ci1zdGF0aWMgY29uc3QgaW50IGxlbl9rYXdldGhfbmV3X2NvZGUgPSBzaXplb2Yoa2F3ZXRoX25ld19jb2RlKTsKLXN0YXRpYyBjb25zdCBpbnQgbGVuX2thd2V0aF9uZXdfY29kZV9maXggPSBzaXplb2Yoa2F3ZXRoX25ld19jb2RlX2ZpeCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93YW4vY29zYS5jIGIvZHJpdmVycy9uZXQvd2FuL2Nvc2EuYwppbmRleCBiMGZjZTEzLi41ODI3MzI0IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93YW4vY29zYS5jCisrKyBiL2RyaXZlcnMvbmV0L3dhbi9jb3NhLmMKQEAgLTkyLDYgKzkyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI3VuZGVmIENPU0FfU0xPV19JTwkvKiBmb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5ICovCiAKQEAgLTk3MCwxNSArOTcxLDIxIEBACiAJc3RydWN0IGNoYW5uZWxfZGF0YSAqY2hhbjsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBuOworCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZiAoKG49aW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpPj5DQVJEX01JTk9SX0JJVFMpCi0JCT49IG5yX2NhcmRzKQotCQlyZXR1cm4gLUVOT0RFVjsKKwkJPj0gbnJfY2FyZHMpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCWNvc2EgPSBjb3NhX2NhcmRzK247CiAKIAlpZiAoKG49aW1pbm9yKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpCi0JCSYgKCgxPDxDQVJEX01JTk9SX0JJVFMpLTEpKSA+PSBjb3NhLT5uY2hhbm5lbHMpCi0JCXJldHVybiAtRU5PREVWOworCQkmICgoMTw8Q0FSRF9NSU5PUl9CSVRTKS0xKSkgPj0gY29zYS0+bmNoYW5uZWxzKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAljaGFuID0gY29zYS0+Y2hhbiArIG47CiAJCiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gY2hhbjsKQEAgLTk4Nyw3ICs5OTQsOCBAQAogCiAJaWYgKGNoYW4tPnVzYWdlIDwgMCkgeyAvKiBpbiBuZXRkZXYgbW9kZSAqLwogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjb3NhLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAtRUJVU1k7CisJCXJldCA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CiAJfQogCWNvc2EtPnVzYWdlKys7CiAJY2hhbi0+dXNhZ2UrKzsKQEAgLTk5Niw3ICsxMDA0LDkgQEAKIAljaGFuLT5zZXR1cF9yeCA9IGNocmRldl9zZXR1cF9yeDsKIAljaGFuLT5yeF9kb25lID0gY2hyZGV2X3J4X2RvbmU7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29zYS0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOworb3V0OgorCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IGNvc2FfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0bWVsLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdG1lbC5jCmluZGV4IDQzOGU2M2UuLmQxYWNlZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0bWVsLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRtZWwuYwpAQCAtNTYwLDcgKzU2MCw3IEBACiBzdGF0aWMgdm9pZCBidWlsZF93cGFfbWliKHN0cnVjdCBhdG1lbF9wcml2YXRlICpwcml2KTsKIHN0YXRpYyBpbnQgYXRtZWxfaW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICpycSwgaW50IGNtZCk7CiBzdGF0aWMgdm9pZCBhdG1lbF9jb3B5X3RvX2NhcmQoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRlc3QsCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciAqc3JjLCB1MTYgbGVuKTsKKwkJCSAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzcmMsIHUxNiBsZW4pOwogc3RhdGljIHZvaWQgYXRtZWxfY29weV90b19ob3N0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGNoYXIgKmRlc3QsCiAJCQkgICAgICAgdTE2IHNyYywgdTE2IGxlbik7CiBzdGF0aWMgdm9pZCBhdG1lbF9zZXRfZ2NyKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBtYXNrKTsKQEAgLTM4NTMsNyArMzg1Myw3IEBACiAJaWYgKHByaXYtPmNhcmRfdHlwZSA9PSBDQVJEX1RZUEVfRUVQUk9NKSB7CiAJCS8qIGNvcHkgaW4gZmlybXdhcmUgaWYgbmVlZGVkICovCiAJCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnkgPSBOVUxMOwotCQl1bnNpZ25lZCBjaGFyICpmdzsKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqZnc7CiAJCWludCBsZW4gPSBwcml2LT5maXJtd2FyZV9sZW5ndGg7CiAJCWlmICghKGZ3ID0gcHJpdi0+ZmlybXdhcmUpKSB7CiAJCQlpZiAocHJpdi0+ZmlybXdhcmVfdHlwZSA9PSBBVE1FTF9GV19UWVBFX05PTkUpIHsKQEAgLTQxMjAsNyArNDEyMCw3IEBACiB9CiAKIHN0YXRpYyB2b2lkIGF0bWVsX2NvcHlfdG9fY2FyZChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgZGVzdCwKLQkJCSAgICAgICB1bnNpZ25lZCBjaGFyICpzcmMsIHUxNiBsZW4pCisJCQkgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLCB1MTYgbGVuKQogewogCWludCBpOwogCWF0bWVsX3dyaXRlQVIoZGV2LCBkZXN0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2hvc3RhcC9ob3N0YXBfY3MuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2hvc3RhcC9ob3N0YXBfY3MuYwppbmRleCA4MDAzOWEwLi4zYjRlNTVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ob3N0YXAvaG9zdGFwX2NzLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvaG9zdGFwL2hvc3RhcF9jcy5jCkBAIC03NzcsOCArNzc3LDEwIEBACiAJaW50IGRldl9vcGVuID0gMDsKIAlzdHJ1Y3QgaG9zdGFwX2ludGVyZmFjZSAqaWZhY2UgPSBOVUxMOwogCi0JaWYgKGRldikKLQkJaWZhY2UgPSBuZXRkZXZfcHJpdihkZXYpOworCWlmICghZGV2KQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWlmYWNlID0gbmV0ZGV2X3ByaXYoZGV2KTsKIAogCVBERUJVRyhERUJVR19FWFRSQSwgIiVzOiBDU19FVkVOVF9QTV9TVVNQRU5EXG4iLCBkZXZfaW5mbyk7CiAJaWYgKGlmYWNlICYmIGlmYWNlLT5sb2NhbCkKQEAgLTc5OCw4ICs4MDAsMTAgQEAKIAlpbnQgZGV2X29wZW4gPSAwOwogCXN0cnVjdCBob3N0YXBfaW50ZXJmYWNlICppZmFjZSA9IE5VTEw7CiAKLQlpZiAoZGV2KQotCQlpZmFjZSA9IG5ldGRldl9wcml2KGRldik7CisJaWYgKCFkZXYpCisJCXJldHVybiAtRU5PREVWOworCisJaWZhY2UgPSBuZXRkZXZfcHJpdihkZXYpOwogCiAJUERFQlVHKERFQlVHX0VYVFJBLCAiJXM6IENTX0VWRU5UX1BNX1JFU1VNRVxuIiwgZGV2X2luZm8pOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pd2x3aWZpL2l3bC0zOTQ1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pd2x3aWZpL2l3bC0zOTQ1LmMKaW5kZXggZjUzODdhNy4uNTVhYzg1MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaXdsd2lmaS9pd2wtMzk0NS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2l3bHdpZmkvaXdsLTM5NDUuYwpAQCAtNDQ5LDcgKzQ0OSw3IEBACiAKIAlpZiAocHJpbnRfc3VtbWFyeSkgewogCQljaGFyICp0aXRsZTsKLQkJdTMyIHJhdGU7CisJCWludCByYXRlOwogCiAJCWlmIChodW5kcmVkKQogCQkJdGl0bGUgPSAiMTAwRnJhbWVzIjsKQEAgLTQ4Nyw3ICs0ODcsNyBAQAogCQkgKiAgICBidXQgeW91IGNhbiBoYWNrIGl0IHRvIHNob3cgbW9yZSwgaWYgeW91J2QgbGlrZSB0by4gKi8KIAkJaWYgKGRhdGFmcmFtZSkKIAkJCUlXTF9ERUJVR19SWCgiJXM6IG1oZD0weCUwNHgsIGRzdD0weCUwMngsICIKLQkJCQkgICAgICJsZW49JXUsIHJzc2k9JWQsIGNobmw9JWQsIHJhdGU9JXUsIFxuIiwKKwkJCQkgICAgICJsZW49JXUsIHJzc2k9JWQsIGNobmw9JWQsIHJhdGU9JWQsIFxuIiwKIAkJCQkgICAgIHRpdGxlLCBmYywgaGVhZGVyLT5hZGRyMVs1XSwKIAkJCQkgICAgIGxlbmd0aCwgcnNzaSwgY2hhbm5lbCwgcmF0ZSk7CiAJCWVsc2UgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfY3MuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX2NzLmMKaW5kZXggNTQyODBlMi4uZDA3NWI0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfY3MuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9jcy5jCkBAIC0xMjIsNyArMTIyLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpZl9jc193cml0ZTE2X3JlcCgKIAlzdHJ1Y3QgaWZfY3NfY2FyZCAqY2FyZCwKIAl1aW50IHJlZywKLQl2b2lkICpidWYsCisJY29uc3Qgdm9pZCAqYnVmLAogCXVuc2lnbmVkIGxvbmcgY291bnQpCiB7CiAJaWYgKGRlYnVnX291dHB1dCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NkaW8uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3NkaW8uYwppbmRleCA1MWY2NjRiLi4zZGQ1MzdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl9zZGlvLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvaWZfc2Rpby5jCkBAIC0zOTIsNyArMzkyLDcgQEAKIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CiAJdTggKmNodW5rX2J1ZmZlcjsKIAl1MzIgY2h1bmtfc2l6ZTsKLQl1OCAqZmlybXdhcmU7CisJY29uc3QgdTggKmZpcm13YXJlOwogCXNpemVfdCBzaXplOwogCiAJbGJzX2RlYl9lbnRlcihMQlNfREVCX1NESU8pOwpAQCAtNTA4LDcgKzUwOCw3IEBACiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0OwogCXU4ICpjaHVua19idWZmZXI7CiAJdTMyIGNodW5rX3NpemU7Ci0JdTggKmZpcm13YXJlOworCWNvbnN0IHU4ICpmaXJtd2FyZTsKIAlzaXplX3Qgc2l6ZSwgcmVxX3NpemU7CiAKIAlsYnNfZGViX2VudGVyKExCU19ERUJfU0RJTyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9saWJlcnRhcy9pZl91c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jCmluZGV4IDM2Mjg4YjIuLjRkY2Q0MDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL2lmX3VzYi5jCkBAIC0yOTMsNyArMjkzLDcgQEAKIHN0YXRpYyBpbnQgaWZfdXNiX3NlbmRfZndfcGt0KHN0cnVjdCBpZl91c2JfY2FyZCAqY2FyZHApCiB7CiAJc3RydWN0IGZ3ZGF0YSAqZndkYXRhID0gY2FyZHAtPmVwX291dF9idWY7Ci0JdWludDhfdCAqZmlybXdhcmUgPSBjYXJkcC0+ZnctPmRhdGE7CisJY29uc3QgdWludDhfdCAqZmlybXdhcmUgPSBjYXJkcC0+ZnctPmRhdGE7CiAKIAkvKiBJZiB3ZSBnb3QgYSBDUkMgZmFpbHVyZSBvbiB0aGUgbGFzdCBibG9jaywgYmFjawogCSAgIHVwIGFuZCByZXRyeSBpdCAqLwpAQCAtNzQ2LDcgKzc0Niw3IEBACiAgKiAgICAgICAgIGxlbiAgICAgICAgICAgICAgIGltYWdlIGxlbmd0aAogICogIEByZXR1cm4gICAgIDAgb3IgLTEKICAqLwotc3RhdGljIGludCBjaGVja19md2ZpbGVfZm9ybWF0KHVpbnQ4X3QgKmRhdGEsIHVpbnQzMl90IHRvdGxlbikKK3N0YXRpYyBpbnQgY2hlY2tfZndmaWxlX2Zvcm1hdChjb25zdCB1aW50OF90ICpkYXRhLCB1aW50MzJfdCB0b3RsZW4pCiB7CiAJdWludDMyX3QgYmluY21kLCBleGl0OwogCXVpbnQzMl90IGJsa3NpemUsIG9mZnNldCwgbGVuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvc2Nhbi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvc2Nhbi5jCmluZGV4IGQ0NDhjOTcwLi4zODdkNDg3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbGliZXJ0YXMvc2Nhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2xpYmVydGFzL3NjYW4uYwpAQCAtNTY3LDExICs1NjcsMTEgQEAKIAlwb3MgKz0gODsKIAogCS8qIGJlYWNvbiBpbnRlcnZhbCBpcyAyIGJ5dGVzIGxvbmcgKi8KLQlic3MtPmJlYWNvbnBlcmlvZCA9IGxlMTZfdG9fY3B1cCgodm9pZCAqKSBwb3MpOworCWJzcy0+YmVhY29ucGVyaW9kID0gZ2V0X3VuYWxpZ25lZF9sZTE2KHBvcyk7CiAJcG9zICs9IDI7CiAKIAkvKiBjYXBhYmlsaXR5IGluZm9ybWF0aW9uIGlzIDIgYnl0ZXMgbG9uZyAqLwotCWJzcy0+Y2FwYWJpbGl0eSA9IGxlMTZfdG9fY3B1cCgodm9pZCAqKSBwb3MpOworCWJzcy0+Y2FwYWJpbGl0eSA9IGdldF91bmFsaWduZWRfbGUxNihwb3MpOwogCWxic19kZWJfc2NhbigicHJvY2Vzc19ic3M6IGNhcGFiaWxpdGllcyAweCUwNHhcbiIsIGJzcy0+Y2FwYWJpbGl0eSk7CiAJcG9zICs9IDI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3A1NC9wNTR1c2IuYwppbmRleCAxNjEwYTczLi44MTVjMDk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9wNTQvcDU0dXNiLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcDU0L3A1NHVzYi5jCkBAIC0zNzYsNyArMzc2LDggQEAKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5ID0gTlVMTDsKIAlpbnQgZXJyLCBhbGVuOwogCXU4IGNhcnJ5ID0gMDsKLQl1OCAqYnVmLCAqdG1wLCAqZGF0YTsKKwl1OCAqYnVmLCAqdG1wOworCWNvbnN0IHU4ICpkYXRhOwogCXVuc2lnbmVkIGludCBsZWZ0LCByZW1haW5zLCBibG9ja19zaXplOwogCXN0cnVjdCB4Ml9oZWFkZXIgKmhkcjsKIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7CkBAIC01MjMsNyArNTI0LDcgQEAKIAl2b2lkICpidWY7CiAJX19sZTMyIHJlZzsKIAl1bnNpZ25lZCBpbnQgcmVtYWlucywgb2Zmc2V0OwotCXU4ICpkYXRhOworCWNvbnN0IHU4ICpkYXRhOwogCiAJYnVmID0ga21hbGxvYyg1MTIsIEdGUF9LRVJORUwpOwogCWlmICghYnVmKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNDAwcGNpLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNDAwcGNpLmMKaW5kZXggNTYwYjljNy4uYjM2ZWQxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjQwMHBjaS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI0MDBwY2kuYwpAQCAtNzMxLDYgKzczMSwxNyBAQAogCQkJICAgKHJ0MngwMGRldi0+cngtPmRhdGFfc2l6ZSAvIDEyOCkpOwogCXJ0MngwMHBjaV9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIENTUjksIHJlZyk7CiAKKwlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIENTUjE0LCAmcmVnKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVFNGX0NPVU5ULCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQkNOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVENGUCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RBVElNVywgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X0JFQUNPTl9HRU4sIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9DRlBfQ09VTlRfUFJFTE9BRCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RCQ01fUFJFTE9BRCwgMCk7CisJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ1NSMTQsIHJlZyk7CisKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDTlQzLCAweDNmMDgwMDAwKTsKIAogCXJ0MngwMHBjaV9yZWdpc3Rlcl9yZWFkKHJ0MngwMGRldiwgQVJDU1IwLCAmcmVnKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDBwY2kuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDBwY2kuYwppbmRleCBhNWVkNTRiLi5mNzczMWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwcGNpLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHBjaS5jCkBAIC04MjQsNiArODI0LDE3IEBACiAJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjExX0NXX1NFTEVDVCwgMCk7CiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ1NSMTEsIHJlZyk7CiAKKwlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIENTUjE0LCAmcmVnKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVFNGX0NPVU5ULCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9UQkNOLCAwKTsKKwlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgQ1NSMTRfVENGUCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RBVElNVywgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X0JFQUNPTl9HRU4sIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBDU1IxNF9DRlBfQ09VTlRfUFJFTE9BRCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIENTUjE0X1RCQ01fUFJFTE9BRCwgMCk7CisJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgQ1NSMTQsIHJlZyk7CisKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBDTlQzLCAwKTsKIAogCXJ0MngwMHBjaV9yZWdpc3Rlcl9yZWFkKHJ0MngwMGRldiwgVFhDU1I4LCAmcmVnKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDB1c2IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDI1MDB1c2IuYwppbmRleCA2MWU1OWMxLi5kOTA1MTJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyNTAwdXNiLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MjUwMHVzYi5jCkBAIC04MDEsNiArODAxLDEzIEBACiAJcnQyeDAwX3NldF9maWVsZDE2KCZyZWcsIFRYUlhfQ1NSOF9CQlBfSUQxX1ZBTElELCAwKTsKIAlydDI1MDB1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjgsIHJlZyk7CiAKKwlydDI1MDB1c2JfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYUlhfQ1NSMTksICZyZWcpOworCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjE5X1RTRl9DT1VOVCwgMCk7CisJcnQyeDAwX3NldF9maWVsZDE2KCZyZWcsIFRYUlhfQ1NSMTlfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjE5X1RCQ04sIDApOworCXJ0MngwMF9zZXRfZmllbGQxNigmcmVnLCBUWFJYX0NTUjE5X0JFQUNPTl9HRU4sIDApOworCXJ0MjUwMHVzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSMTksIHJlZyk7CisKIAlydDI1MDB1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjIxLCAweGU3OGYpOwogCXJ0MjUwMHVzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIE1BQ19DU1I5LCAweGZmMWQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmgKaW5kZXggYjRiZjFlMDkuLmE3NGUxYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDAuaAorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwLmgKQEAgLTUxMSw4ICs1MTEsOCBAQAogCSAqLwogCWludCAoKnByb2JlX2h3KSAoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldik7CiAJY2hhciAqKCpnZXRfZmlybXdhcmVfbmFtZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYpOwotCXUxNiAoKmdldF9maXJtd2FyZV9jcmMpICh2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKTsKLQlpbnQgKCpsb2FkX2Zpcm13YXJlKSAoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKKwl1MTYgKCpnZXRfZmlybXdhcmVfY3JjKSAoY29uc3Qgdm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbik7CisJaW50ICgqbG9hZF9maXJtd2FyZSkgKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkgICAgICBjb25zdCBzaXplX3QgbGVuKTsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQyeDAwcGNpLmgKaW5kZXggOWQxY2RiOS4uYjQxOTY3ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0MngwMHBjaS5oCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDJ4MDBwY2kuaApAQCAtODIsNyArODIsNyBAQAogc3RhdGljIGlubGluZSB2b2lkCiBydDJ4MDBwY2lfcmVnaXN0ZXJfbXVsdGl3cml0ZShzdHJ1Y3QgcnQyeDAwX2RldiAqcnQyeDAwZGV2LAogCQkJICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBvZmZzZXQsCi0JCQkgICAgICB2b2lkICp2YWx1ZSwgY29uc3QgdTE2IGxlbmd0aCkKKwkJCSAgICAgIGNvbnN0IHZvaWQgKnZhbHVlLCBjb25zdCB1MTYgbGVuZ3RoKQogewogCW1lbWNweV90b2lvKHJ0MngwMGRldi0+Y3NyLmJhc2UgKyBvZmZzZXQsIHZhbHVlLCBsZW5ndGgpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NjFwY2kuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDYxcGNpLmMKaW5kZXggMTRiYzdiMi4uNTgwZjkwYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NjFwY2kuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ2MXBjaS5jCkBAIC05MTUsNyArOTE1LDcgQEAKIAlyZXR1cm4gZndfbmFtZTsKIH0KIAotc3RhdGljIHUxNiBydDYxcGNpX2dldF9maXJtd2FyZV9jcmModm9pZCAqZGF0YSwgY29uc3Qgc2l6ZV90IGxlbikKK3N0YXRpYyB1MTYgcnQ2MXBjaV9nZXRfZmlybXdhcmVfY3JjKGNvbnN0IHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pCiB7CiAJdTE2IGNyYzsKIApAQCAtOTMyLDcgKzkzMiw3IEBACiAJcmV0dXJuIGNyYzsKIH0KIAotc3RhdGljIGludCBydDYxcGNpX2xvYWRfZmlybXdhcmUoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKK3N0YXRpYyBpbnQgcnQ2MXBjaV9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkJIGNvbnN0IHNpemVfdCBsZW4pCiB7CiAJaW50IGk7CkBAIC0xMjAxLDYgKzEyMDEsMTUgQEAKIAlydDJ4MDBfc2V0X2ZpZWxkMzIoJnJlZywgVFhSWF9DU1I4X0FDS19DVFNfNTRNQlMsIDQyKTsKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjgsIHJlZyk7CiAKKwlydDJ4MDBwY2lfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9CRUFDT05fSU5URVJWQUwsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1RJQ0tJTkcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVEJUVF9FTkFCTEUsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfQkVBQ09OX0dFTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9USU1FU1RBTVBfQ09NUEVOU0FURSwgMCk7CisJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1I5LCByZWcpOworCiAJcnQyeDAwcGNpX3JlZ2lzdGVyX3dyaXRlKHJ0MngwMGRldiwgVFhSWF9DU1IxNSwgMHgwMDAwMDAwZik7CiAKIAlydDJ4MDBwY2lfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBNQUNfQ1NSNiwgMHgwMDAwMGZmZik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ3M3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnQyeDAwL3J0NzN1c2IuYwppbmRleCA4M2NjMDE0Li42YTYyZDZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydDJ4MDAvcnQ3M3VzYi5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0MngwMC9ydDczdXNiLmMKQEAgLTg1Niw3ICs4NTYsNyBAQAogCXJldHVybiBGSVJNV0FSRV9SVDI1NzE7CiB9CiAKLXN0YXRpYyB1MTYgcnQ3M3VzYl9nZXRfZmlybXdhcmVfY3JjKHZvaWQgKmRhdGEsIGNvbnN0IHNpemVfdCBsZW4pCitzdGF0aWMgdTE2IHJ0NzN1c2JfZ2V0X2Zpcm13YXJlX2NyYyhjb25zdCB2b2lkICpkYXRhLCBjb25zdCBzaXplX3QgbGVuKQogewogCXUxNiBjcmM7CiAKQEAgLTg3MywxMyArODczLDEzIEBACiAJcmV0dXJuIGNyYzsKIH0KIAotc3RhdGljIGludCBydDczdXNiX2xvYWRfZmlybXdhcmUoc3RydWN0IHJ0MngwMF9kZXYgKnJ0MngwMGRldiwgdm9pZCAqZGF0YSwKK3N0YXRpYyBpbnQgcnQ3M3VzYl9sb2FkX2Zpcm13YXJlKHN0cnVjdCBydDJ4MDBfZGV2ICpydDJ4MDBkZXYsIGNvbnN0IHZvaWQgKmRhdGEsCiAJCQkJIGNvbnN0IHNpemVfdCBsZW4pCiB7CiAJdW5zaWduZWQgaW50IGk7CiAJaW50IHN0YXR1czsKIAl1MzIgcmVnOwotCWNoYXIgKnB0ciA9IGRhdGE7CisJY29uc3QgY2hhciAqcHRyID0gZGF0YTsKIAljaGFyICpjYWNoZTsKIAlpbnQgYnVmbGVuOwogCWludCB0aW1lb3V0OwpAQCAtMTAwNiw2ICsxMDA2LDE1IEBACiAJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOF9BQ0tfQ1RTXzU0TUJTLCA0Mik7CiAJcnQ3M3VzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSOCwgcmVnKTsKIAorCXJ0NzN1c2JfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgJnJlZyk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9CRUFDT05fSU5URVJWQUwsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1RJQ0tJTkcsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVFNGX1NZTkMsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfVEJUVF9FTkFCTEUsIDApOworCXJ0MngwMF9zZXRfZmllbGQzMigmcmVnLCBUWFJYX0NTUjlfQkVBQ09OX0dFTiwgMCk7CisJcnQyeDAwX3NldF9maWVsZDMyKCZyZWcsIFRYUlhfQ1NSOV9USU1FU1RBTVBfQ09NUEVOU0FURSwgMCk7CisJcnQ3M3VzYl9yZWdpc3Rlcl93cml0ZShydDJ4MDBkZXYsIFRYUlhfQ1NSOSwgcmVnKTsKKwogCXJ0NzN1c2JfcmVnaXN0ZXJfd3JpdGUocnQyeDAwZGV2LCBUWFJYX0NTUjE1LCAweDAwMDAwMDBmKTsKIAogCXJ0NzN1c2JfcmVnaXN0ZXJfcmVhZChydDJ4MDBkZXYsIE1BQ19DU1I2LCAmcmVnKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIwMS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKaW5kZXggZDVjMGM2Ni4uNzhiYWEwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjAxLmMKQEAgLTQ5LDcgKzQ5LDcgQEAKIHN0YXRpYyBpbnQgemQxMjAxX2Z3X3VwbG9hZChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYXBmdykKIHsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3X2VudHJ5OwotCWNoYXIgKmRhdGE7CisJY29uc3QgY2hhciAqZGF0YTsKIAl1bnNpZ25lZCBsb25nIGxlbjsKIAlpbnQgZXJyOwogCXVuc2lnbmVkIGNoYXIgcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfbWFjLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF9tYWMuYwppbmRleCA0MTg2MDZhLi42OTRlOTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF9tYWMuYworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy96ZDEyMTFydy96ZF9tYWMuYwpAQCAtNzY1LDYgKzc2NSw3IEBACiB7CiAJc3RydWN0IHpkX21hYyAqbWFjID0gemRfaHdfbWFjKGh3KTsKIAltYWMtPnR5cGUgPSBJRUVFODAyMTFfSUZfVFlQRV9JTlZBTElEOworCXpkX3NldF9iZWFjb25faW50ZXJ2YWwoJm1hYy0+Y2hpcCwgMCk7CiAJemRfd3JpdGVfbWFjX2FkZHIoJm1hYy0+Y2hpcCwgTlVMTCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3pkMTIxMXJ3L3pkX3VzYi5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfdXNiLmMKaW5kZXggODk0MWY1ZS4uNmNkYWQ5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfdXNiLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvemQxMjExcncvemRfdXNiLmMKQEAgLTY0LDYgKzY0LDcgQEAKIAl7IFVTQl9ERVZJQ0UoMHgwNzliLCAweDAwNjIpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LAogCXsgVVNCX0RFVklDRSgweDE1ODIsIDB4NjAwMyksIC5kcml2ZXJfaW5mbyA9IERFVklDRV9aRDEyMTFCIH0sCiAJeyBVU0JfREVWSUNFKDB4MDUwZCwgMHg3MDVjKSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKKwl7IFVTQl9ERVZJQ0UoMHgwODNhLCAweGU1MDYpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LAogCXsgVVNCX0RFVklDRSgweDA4M2EsIDB4NDUwNSksIC5kcml2ZXJfaW5mbyA9IERFVklDRV9aRDEyMTFCIH0sCiAJeyBVU0JfREVWSUNFKDB4MDQ3MSwgMHgxMjM2KSwgLmRyaXZlcl9pbmZvID0gREVWSUNFX1pEMTIxMUIgfSwKIAl7IFVTQl9ERVZJQ0UoMHgxM2IxLCAweDAwMjQpLCAuZHJpdmVyX2luZm8gPSBERVZJQ0VfWkQxMjExQiB9LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwppbmRleCBkMjZmNjliLi5lZjY3MWQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYworKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwpAQCAtMTMyNCw3ICsxMzI0LDcgQEAKIAkJZ290byBmYWlsOwogCX0KIAotCXR4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3R4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCXR4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3R4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCF0eHMpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgImFsbG9jYXRpbmcgdHggcmluZyBwYWdlIik7CkBAIC0xMzQwLDcgKzEzNDAsNyBAQAogCX0KIAogCWluZm8tPnR4X3JpbmdfcmVmID0gZXJyOwotCXJ4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3J4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwpOworCXJ4cyA9IChzdHJ1Y3QgeGVuX25ldGlmX3J4X3NyaW5nICopZ2V0X3plcm9lZF9wYWdlKEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCFyeHMpIHsKIAkJZXJyID0gLUVOT01FTTsKIAkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgImFsbG9jYXRpbmcgcnggcmluZyBwYWdlIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jIGIvZHJpdmVycy9wYXJpc2MvZWlzYV9lZXByb20uYwppbmRleCA4NmU5Yzg0Li41YWMyMDc5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BhcmlzYy9laXNhX2VlcHJvbS5jCisrKyBiL2RyaXZlcnMvcGFyaXNjL2Vpc2FfZWVwcm9tLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZnMuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtODMsNiArODQsOCBAQAogCiBzdGF0aWMgaW50IGVpc2FfZWVwcm9tX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKKwogCWlmIChmaWxlLT5mX21vZGUgJiAyKQogCQlyZXR1cm4gLUVJTlZBTDsKICAgIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvaW50ZWwtaW9tbXUuYyBiL2RyaXZlcnMvcGNpL2ludGVsLWlvbW11LmMKaW5kZXggNjZjMGZkMi4uYmIwNjQyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY2kvaW50ZWwtaW9tbXUuYworKysgYi9kcml2ZXJzL3BjaS9pbnRlbC1pb21tdS5jCkBAIC0xNjM3LDEyICsxNjM3LDQzIEBACiB9CiAKICNpZmRlZiBDT05GSUdfRE1BUl9HRlhfV0EKLWV4dGVybiBpbnQgYXJjaF9nZXRfcmFtX3JhbmdlKGludCBzbG90LCB1NjQgKmFkZHIsIHU2NCAqc2l6ZSk7CitzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhIHsKKwlzdHJ1Y3QgcGNpX2RldiAqcGRldjsKKwlpbnQgcmV0OworfTsKKworc3RhdGljIGludCBfX2luaXQgaW9tbXVfcHJlcGFyZV93b3JrX2ZuKHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuLCB2b2lkICpkYXRheCkKK3sKKwlzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhICpkYXRhOworCisJZGF0YSA9IChzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhICopZGF0YXg7CisKKwlkYXRhLT5yZXQgPSBpb21tdV9wcmVwYXJlX2lkZW50aXR5X21hcChkYXRhLT5wZGV2LAorCQkJCXN0YXJ0X3Bmbjw8UEFHRV9TSElGVCwgZW5kX3Bmbjw8UEFHRV9TSElGVCk7CisJcmV0dXJuIGRhdGEtPnJldDsKKworfQorCitzdGF0aWMgaW50IF9faW5pdCBpb21tdV9wcmVwYXJlX3dpdGhfYWN0aXZlX3JlZ2lvbnMoc3RydWN0IHBjaV9kZXYgKnBkZXYpCit7CisJaW50IG5pZDsKKwlzdHJ1Y3QgaW9tbXVfcHJlcGFyZV9kYXRhIGRhdGE7CisKKwlkYXRhLnBkZXYgPSBwZGV2OworCWRhdGEucmV0ID0gMDsKKworCWZvcl9lYWNoX29ubGluZV9ub2RlKG5pZCkgeworCQl3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMobmlkLCBpb21tdV9wcmVwYXJlX3dvcmtfZm4sICZkYXRhKTsKKwkJaWYgKGRhdGEucmV0KQorCQkJcmV0dXJuIGRhdGEucmV0OworCX0KKwlyZXR1cm4gZGF0YS5yZXQ7Cit9CisKIHN0YXRpYyB2b2lkIF9faW5pdCBpb21tdV9wcmVwYXJlX2dmeF9tYXBwaW5nKHZvaWQpCiB7CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBOVUxMOwotCXU2NCBiYXNlLCBzaXplOwotCWludCBzbG90OwogCWludCByZXQ7CiAKIAlmb3JfZWFjaF9wY2lfZGV2KHBkZXYpIHsKQEAgLTE2NTEsMTcgKzE2ODIsOSBAQAogCQkJY29udGludWU7CiAJCXByaW50ayhLRVJOX0lORk8gIklPTU1VOiBnZnggZGV2aWNlICVzIDEtMSBtYXBwaW5nXG4iLAogCQkJcGNpX25hbWUocGRldikpOwotCQlzbG90ID0gYXJjaF9nZXRfcmFtX3JhbmdlKDAsICZiYXNlLCAmc2l6ZSk7Ci0JCXdoaWxlIChzbG90ID49IDApIHsKLQkJCXJldCA9IGlvbW11X3ByZXBhcmVfaWRlbnRpdHlfbWFwKHBkZXYsCi0JCQkJCWJhc2UsIGJhc2UgKyBzaXplKTsKLQkJCWlmIChyZXQpCi0JCQkJZ290byBlcnJvcjsKLQkJCXNsb3QgPSBhcmNoX2dldF9yYW1fcmFuZ2Uoc2xvdCwgJmJhc2UsICZzaXplKTsKLQkJfQotCQljb250aW51ZTsKLWVycm9yOgotCQlwcmludGsoS0VSTl9FUlIgIklPTU1VOiBtYXBwaW5nIHJlc2VydmVkIHJlZ2lvbiBmYWlsZWRcbiIpOworCQlyZXQgPSBpb21tdV9wcmVwYXJlX3dpdGhfYWN0aXZlX3JlZ2lvbnMocGRldik7CisJCWlmIChyZXQpCisJCQlwcmludGsoS0VSTl9FUlIgIklPTU1VOiBtYXBwaW5nIHJlc2VydmVkIHJlZ2lvbiBmYWlsZWRcbiIpOwogCX0KIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvS2NvbmZpZyBiL2RyaXZlcnMvcGNtY2lhL0tjb25maWcKaW5kZXggMWIwZWI1YS4uZTQ1NDAyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvS2NvbmZpZworKysgYi9kcml2ZXJzL3BjbWNpYS9LY29uZmlnCkBAIC0yNjMsNiArMjYzLDEzIEBACiAJICBTYXkgWSBoZXJlIHRvIHN1cHBvcnQgdGhlIENvbXBhY3RGbGFzaCBjb250cm9sbGVyIG9uIE9NQVAuCiAJICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IHN1cHBvcnQgIlRydWUgSURFIiBtb2RlLgogCitjb25maWcgQkZJTl9DRlBDTUNJQQorCXRyaXN0YXRlICJCbGFja2ZpbiBDb21wYWN0Rmxhc2ggUENNQ0lBIERyaXZlciIKKwlkZXBlbmRzIG9uIFBDTUNJQSAmJiBCTEFDS0ZJTgorCWhlbHAKKwkgIFNheSBZIGhlcmUgdG8gc3VwcG9ydCB0aGUgQ29tcGFjdEZsYXNoIFBDTUNJQSBkcml2ZXIgZm9yIEJsYWNrZmluLgorCisKIGNvbmZpZyBBVDkxX0NGCiAJdHJpc3RhdGUgIkFUOTEgQ29tcGFjdEZsYXNoIENvbnRyb2xsZXIiCiAJZGVwZW5kcyBvbiBQQ01DSUEgJiYgQVJDSF9BVDkxUk05MjAwCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9NYWtlZmlsZSBiL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlCmluZGV4IDZmNjQ3OGIuLjg1YzZjYzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcGNtY2lhL01ha2VmaWxlCkBAIC0zNiw2ICszNiw3IEBACiBvYmotJChDT05GSUdfUENNQ0lBX1ZSQzQxNzEpCQkJKz0gdnJjNDE3MV9jYXJkLm8KIG9iai0kKENPTkZJR19QQ01DSUFfVlJDNDE3MykJCQkrPSB2cmM0MTczX2NhcmR1Lm8KIG9iai0kKENPTkZJR19PTUFQX0NGKQkJCQkrPSBvbWFwX2NmLm8KK29iai0kKENPTkZJR19CRklOX0NGUENNQ0lBKQkJCSs9IGJmaW5fY2ZfcGNtY2lhLm8KIG9iai0kKENPTkZJR19BVDkxX0NGKQkJCQkrPSBhdDkxX2NmLm8KIG9iai0kKENPTkZJR19FTEVDVFJBX0NGKQkJCSs9IGVsZWN0cmFfY2YubwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfZ2VuZXJpYy5oIGIvZHJpdmVycy9wY21jaWEvYXUxMDAwX2dlbmVyaWMuaAppbmRleCAxZTQ2N2JiLi5hNTNlZjU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfZ2VuZXJpYy5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9nZW5lcmljLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCkBAIC0zNCw5ICszMyw5IEBACiAjZGVmaW5lIEFVMTAwMF9QQ01DSUFfSU9fU1BFRUQgICAgICAgKDI1NSkKICNkZWZpbmUgQVUxMDAwX1BDTUNJQV9NRU1fU1BFRUQgICAgICAoMzAwKQogCi0jZGVmaW5lIEFVMVhfU09DSzBfSU8gICAgICAgIDB4RjAwMDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzBfUEhZU19BVFRSIDB4RjQwMDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzBfUEhZU19NRU0gIDB4RjgwMDAwMDAwCisjZGVmaW5lIEFVMVhfU09DSzBfSU8gICAgICAgIDB4RjAwMDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzBfUEhZU19BVFRSIDB4RjQwMDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzBfUEhZU19NRU0gIDB4RjgwMDAwMDAwVUxMCiAvKiBwc2V1ZG8gMzIgYml0IHBoeXMgYWRkcmVzc2VzLCB3aGljaCBnZXQgZml4ZWQgdXAgdG8gdGhlCiAgKiByZWFsIDM2IGJpdCBhZGRyZXNzIGluIGZpeHVwX2JpZ3BoeXNfYWRkcigpICovCiAjZGVmaW5lIEFVMVhfU09DSzBfUFNFVURPX1BIWVNfQVRUUiAweEY0MDAwMDAwCkBAIC00NSwxNiArNDQsMjAgQEAKIC8qIHBjbWNpYSBzb2NrZXQgMSBuZWVkcyBleHRlcm5hbCBnbHVlIGxvZ2ljIHNvIHRoZSBtZW1vcnkgbWFwCiAgKiBkaWZmZXJzIGZyb20gYm9hcmQgdG8gYm9hcmQuCiAgKi8KLSNpZiBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTAwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19QQjExMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX1BCMTU1MCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19QQjEyMDApCi0jZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA4MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ4MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg4MDAwMDAwCisjaWYgZGVmaW5lZChDT05GSUdfTUlQU19QQjEwMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxMTAwKSB8fCBcCisgICAgZGVmaW5lZChDT05GSUdfTUlQU19QQjE1MDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfUEIxNTUwKSB8fCBcCisgICAgZGVmaW5lZChDT05GSUdfTUlQU19QQjEyMDApCisjZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA4MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ4MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg4MDAwMDAwVUxMCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfQVRUUiAweEY0ODAwMDAwCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfTUVNICAweEY4ODAwMDAwCi0jZWxpZiBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTAwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjExMDApIHx8IGRlZmluZWQoQ09ORklHX01JUFNfREIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTU1MCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjEyMDApCi0jZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA0MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ0MDAwMDAwCi0jZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg0MDAwMDAwCisjZWxpZiBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTAwMCkgfHwgZGVmaW5lZChDT05GSUdfTUlQU19EQjExMDApIHx8IFwKKyAgICAgIGRlZmluZWQoQ09ORklHX01JUFNfREIxNTAwKSB8fCBkZWZpbmVkKENPTkZJR19NSVBTX0RCMTU1MCkgfHwgXAorICAgICAgZGVmaW5lZChDT05GSUdfTUlQU19EQjEyMDApCisjZGVmaW5lIEFVMVhfU09DSzFfSU8gICAgICAgIDB4RjA0MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19BVFRSIDB4RjQ0MDAwMDAwVUxMCisjZGVmaW5lIEFVMVhfU09DSzFfUEhZU19NRU0gIDB4Rjg0MDAwMDAwVUxMCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfQVRUUiAweEY0NDAwMDAwCiAjZGVmaW5lIEFVMVhfU09DSzFfUFNFVURPX1BIWVNfTUVNICAweEY4NDAwMDAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9wYjF4MDAuYyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF9wYjF4MDAuYwppbmRleCAxNTdlNDE0Li5hYTFjZDRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfcGIxeDAwLmMKKysrIGIvZHJpdmVycy9wY21jaWEvYXUxMDAwX3BiMXgwMC5jCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2J1c19vcHMuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX3h4czE1MDAuYyBiL2RyaXZlcnMvcGNtY2lhL2F1MTAwMF94eHMxNTAwLmMKaW5kZXggYzc4ZWQ1My4uOGE5YjE4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvYXUxMDAwX3h4czE1MDAuYworKysgYi9kcml2ZXJzL3BjbWNpYS9hdTEwMDBfeHhzMTUwMC5jCkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2J1c19vcHMuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvYmZpbl9jZl9wY21jaWEuYyBiL2RyaXZlcnMvcGNtY2lhL2JmaW5fY2ZfcGNtY2lhLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI3MzM4ODYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3BjbWNpYS9iZmluX2NmX3BjbWNpYS5jCkBAIC0wLDAgKzEsMzM5IEBACisvKgorICogZmlsZTogZHJpdmVycy9wY21jaWEvYmZpbl9jZi5jCisgKgorICogYmFzZWQgb246IGRyaXZlcnMvcGNtY2lhL29tYXBfY2YuYworICogb21hcF9jZi5jIC0tIE9NQVAgMTZ4eCBDb21wYWN0Rmxhc2ggY29udHJvbGxlciBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgRGF2aWQgQnJvd25lbGwKKyAqIENvcHlyaWdodCAoYykgMjAwNi0yMDA4IE1pY2hhZWwgSGVubmVyaWNoIEFuYWxvZyBEZXZpY2VzIEluYy4KKyAqCisgKiBidWdzOiAgICAgICAgIGVudGVyIGJ1Z3MgYXQgaHR0cDovL2JsYWNrZmluLnVjbGludXgub3JnLworICoKKyAqIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIGZyZWUgc29mdHdhcmUgZm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogdGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgd2l0aG91dCBhbnkgd2FycmFudHk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogbWVyY2hhbnRhYmlsaXR5IG9yIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlLiAgc2VlIHRoZQorICogZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiB5b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBnbnUgZ2VuZXJhbCBwdWJsaWMgbGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBjb3B5aW5nLgorICogaWYgbm90LCB3cml0ZSB0byB0aGUgZnJlZSBzb2Z0d2FyZSBmb3VuZGF0aW9uLAorICogNTkgdGVtcGxlIHBsYWNlIC0gc3VpdGUgMzMwLCBib3N0b24sIG1hIDAyMTExLTEzMDcsIHVzYS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2lycS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKKyNpbmNsdWRlIDxwY21jaWEvc3MuaD4KKyNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CisjaW5jbHVkZSA8YXNtL2dwaW8uaD4KKworI2RlZmluZQlTWl8xSwkweDAwMDAwNDAwCisjZGVmaW5lCVNaXzhLCTB4MDAwMDIwMDAKKyNkZWZpbmUJU1pfMksJKDIgKiBTWl8xSykKKworI2RlZmluZQlQT0xMX0lOVEVSVkFMCSgyICogSFopCisKKyNkZWZpbmUJQ0ZfQVRBU0VMX0VOQSAJMHgyMDMxMTgwMgkvKiBJbnZlcnRzIFJFU0VUICovCisjZGVmaW5lCUNGX0FUQVNFTF9ESVMgCTB4MjAzMTE4MDAKKworI2RlZmluZSBiZmluX2NmX3ByZXNlbnQocGZ4KSAoZ3Bpb19nZXRfdmFsdWUocGZ4KSkKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKK3N0YXRpYyBjb25zdCBjaGFyIGRyaXZlcl9uYW1lW10gPSAiYmZpbl9jZl9wY21jaWEiOworCitzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQgeworCXN0cnVjdCBwY21jaWFfc29ja2V0IHNvY2tldDsKKworCXN0cnVjdCB0aW1lcl9saXN0IHRpbWVyOworCXVuc2lnbmVkIHByZXNlbnQ6MTsKKwl1bnNpZ25lZCBhY3RpdmU6MTsKKworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXY7CisJdW5zaWduZWQgbG9uZyBwaHlzX2NmX2lvOworCXVuc2lnbmVkIGxvbmcgcGh5c19jZl9hdHRyOworCXVfaW50IGlycTsKKwl1X3Nob3J0IGNkX3BmeDsKK307CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworc3RhdGljIGludCBiZmluX2NmX3Jlc2V0KHZvaWQpCit7CisJb3V0dygwLCBDRl9BVEFTRUxfRU5BKTsKKwltZGVsYXkoMjAwKTsKKwlvdXR3KDAsIENGX0FUQVNFTF9ESVMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zc19pbml0KHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQoreworCXJldHVybiAwOworfQorCisvKiB0aGUgdGltZXIgaXMgcHJpbWFyaWx5IHRvIGtpY2sgdGhpcyBzb2NrZXQncyBwY2NhcmRkICovCitzdGF0aWMgdm9pZCBiZmluX2NmX3RpbWVyKHVuc2lnbmVkIGxvbmcgX2NmKQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2YgPSAodm9pZCAqKV9jZjsKKwl1bnNpZ25lZCBzaG9ydCBwcmVzZW50ID0gYmZpbl9jZl9wcmVzZW50KGNmLT5jZF9wZngpOworCisJaWYgKHByZXNlbnQgIT0gY2YtPnByZXNlbnQpIHsKKwkJY2YtPnByZXNlbnQgPSBwcmVzZW50OworCQlkZXZfZGJnKCZjZi0+cGRldi0+ZGV2LCAiOiBjYXJkICVzXG4iLAorCQkJIHByZXNlbnQgPyAicHJlc2VudCIgOiAiZ29uZSIpOworCQlwY21jaWFfcGFyc2VfZXZlbnRzKCZjZi0+c29ja2V0LCBTU19ERVRFQ1QpOworCX0KKworCWlmIChjZi0+YWN0aXZlKQorCQltb2RfdGltZXIoJmNmLT50aW1lciwgamlmZmllcyArIFBPTExfSU5URVJWQUwpOworfQorCitzdGF0aWMgaW50IGJmaW5fY2ZfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdV9pbnQgKnNwKQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2Y7CisKKwlpZiAoIXNwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNmID0gY29udGFpbmVyX29mKHMsIHN0cnVjdCBiZmluX2NmX3NvY2tldCwgc29ja2V0KTsKKworCWlmIChiZmluX2NmX3ByZXNlbnQoY2YtPmNkX3BmeCkpIHsKKwkJKnNwID0gU1NfUkVBRFkgfCBTU19ERVRFQ1QgfCBTU19QT1dFUk9OIHwgU1NfM1ZDQVJEOworCQlzLT5pcnEuQXNzaWduZWRJUlEgPSAwOworCQlzLT5wY2lfaXJxID0gY2YtPmlycTsKKworCX0gZWxzZQorCQkqc3AgPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitiZmluX2NmX3NldF9zb2NrZXQoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXRfc3RhdGVfdCAqcykKK3sKKworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2Y7CisJY2YgPSBjb250YWluZXJfb2Yoc29jaywgc3RydWN0IGJmaW5fY2Zfc29ja2V0LCBzb2NrZXQpOworCisJc3dpdGNoIChzLT5WY2MpIHsKKwljYXNlIDA6CisJY2FzZSAzMzoKKwkJYnJlYWs7CisJY2FzZSA1MDoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHMtPmZsYWdzICYgU1NfUkVTRVQpIHsKKwkJZGlzYWJsZV9pcnEoY2YtPmlycSk7CisJCWJmaW5fY2ZfcmVzZXQoKTsKKwkJZW5hYmxlX2lycShjZi0+aXJxKTsKKwl9CisKKwlkZXZfZGJnKCZjZi0+cGRldi0+ZGV2LCAiOiBWY2MgJWQsIGlvX2lycSAlZCwgZmxhZ3MgJTA0eCBjc2MgJTA0eFxuIiwKKwkJIHMtPlZjYywgcy0+aW9faXJxLCBzLT5mbGFncywgcy0+Y3NjX21hc2spOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zc19zdXNwZW5kKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQoreworCXJldHVybiBiZmluX2NmX3NldF9zb2NrZXQocywgJmRlYWRfc29ja2V0KTsKK30KKworLyogcmVnaW9ucyBhcmUgMksgZWFjaDogIG1lbSwgYXR0cmliLCBpbyAoYW5kIHJlc2VydmVkLWZvci1pZGUpICovCisKK3N0YXRpYyBpbnQgYmZpbl9jZl9zZXRfaW9fbWFwKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcGNjYXJkX2lvX21hcCAqaW8pCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKworCWNmID0gY29udGFpbmVyX29mKHMsIHN0cnVjdCBiZmluX2NmX3NvY2tldCwgc29ja2V0KTsKKwlpby0+ZmxhZ3MgJj0gTUFQX0FDVElWRSB8IE1BUF9BVFRSSUIgfCBNQVBfMTZCSVQ7CisJaW8tPnN0YXJ0ID0gY2YtPnBoeXNfY2ZfaW87CisJaW8tPnN0b3AgPSBpby0+c3RhcnQgKyBTWl8ySyAtIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2JmaW5fY2Zfc2V0X21lbV9tYXAoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCBwY2NhcmRfbWVtX21hcCAqbWFwKQoreworCXN0cnVjdCBiZmluX2NmX3NvY2tldCAqY2Y7CisKKwlpZiAobWFwLT5jYXJkX3N0YXJ0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljZiA9IGNvbnRhaW5lcl9vZihzLCBzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQsIHNvY2tldCk7CisJbWFwLT5zdGF0aWNfc3RhcnQgPSBjZi0+cGh5c19jZl9pbzsKKwltYXAtPmZsYWdzICY9IE1BUF9BQ1RJVkUgfCBNQVBfQVRUUklCIHwgTUFQXzE2QklUOworCWlmIChtYXAtPmZsYWdzICYgTUFQX0FUVFJJQikKKwkJbWFwLT5zdGF0aWNfc3RhcnQgPSBjZi0+cGh5c19jZl9hdHRyOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGNjYXJkX29wZXJhdGlvbnMgYmZpbl9jZl9vcHMgPSB7CisJLmluaXQgPSBiZmluX2NmX3NzX2luaXQsCisJLnN1c3BlbmQgPSBiZmluX2NmX3NzX3N1c3BlbmQsCisJLmdldF9zdGF0dXMgPSBiZmluX2NmX2dldF9zdGF0dXMsCisJLnNldF9zb2NrZXQgPSBiZmluX2NmX3NldF9zb2NrZXQsCisJLnNldF9pb19tYXAgPSBiZmluX2NmX3NldF9pb19tYXAsCisJLnNldF9tZW1fbWFwID0gYmZpbl9jZl9zZXRfbWVtX21hcCwKK307CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBiZmluX2NmX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IGJmaW5fY2Zfc29ja2V0ICpjZjsKKwlzdHJ1Y3QgcmVzb3VyY2UgKmlvX21lbSwgKmF0dHJfbWVtOworCWludCBpcnE7CisJdW5zaWduZWQgc2hvcnQgY2RfcGZ4OworCWludCBzdGF0dXMgPSAwOworCisJZGV2X2luZm8oJnBkZXYtPmRldiwgIkJsYWNrZmluIENvbXBhY3RGbGFzaC9QQ01DSUEgU29ja2V0IERyaXZlclxuIik7CisKKwlpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCWlmICghaXJxKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNkX3BmeCA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMSk7CS8qQ2FyZCBEZXRlY3QgR1BJTyBQSU4gKi8KKworCWlmIChncGlvX3JlcXVlc3QoY2RfcGZ4LCAicGNtY2lhOiBDRCIpKSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwKKwkJICAgICAgICJGYWlsZWQgcm8gcmVxdWVzdCBDYXJkIERldGVjdCBHUElPXyVkXG4iLAorCQkgICAgICAgY2RfcGZ4KTsKKwkJcmV0dXJuIC1FQlVTWTsKKwl9CisJZ3Bpb19kaXJlY3Rpb25faW5wdXQoY2RfcGZ4KTsKKworCWNmID0ga3phbGxvYyhzaXplb2YgKmNmLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNmKSB7CisJCWdwaW9fZnJlZShjZF9wZngpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwljZi0+Y2RfcGZ4ID0gY2RfcGZ4OworCisJc2V0dXBfdGltZXIoJmNmLT50aW1lciwgYmZpbl9jZl90aW1lciwgKHVuc2lnbmVkIGxvbmcpY2YpOworCisJY2YtPnBkZXYgPSBwZGV2OworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGNmKTsKKworCWNmLT5pcnEgPSBpcnE7CisJY2YtPnNvY2tldC5wY2lfaXJxID0gaXJxOworCisJc2V0X2lycV90eXBlKGlycSwgSVJRRl9UUklHR0VSX0xPVyk7CisKKwlpb19tZW0gPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWF0dHJfbWVtID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAxKTsKKworCWlmICghaW9fbWVtIHx8ICFhdHRyX21lbSkKKwkJZ290byBmYWlsMDsKKworCWNmLT5waHlzX2NmX2lvID0gaW9fbWVtLT5zdGFydDsKKwljZi0+cGh5c19jZl9hdHRyID0gYXR0cl9tZW0tPnN0YXJ0OworCisJLyogcGNtY2lhIGxheWVyIG9ubHkgcmVtYXBzICJyZWFsIiBtZW1vcnkgKi8KKwljZi0+c29ja2V0LmlvX29mZnNldCA9ICh1bnNpZ25lZCBsb25nKQorCSAgICBpb3JlbWFwKGNmLT5waHlzX2NmX2lvLCBTWl8ySyk7CisKKwlpZiAoIWNmLT5zb2NrZXQuaW9fb2Zmc2V0KQorCQlnb3RvIGZhaWwwOworCisJZGV2X2VycigmcGRldi0+ZGV2LCAiOiBvbiBpcnEgJWRcbiIsIGlycSk7CisKKwlkZXZfZGJnKCZwZGV2LT5kZXYsICI6ICVzXG4iLAorCQkgYmZpbl9jZl9wcmVzZW50KGNmLT5jZF9wZngpID8gInByZXNlbnQiIDogIihub3QgcHJlc2VudCkiKTsKKworCWNmLT5zb2NrZXQub3duZXIgPSBUSElTX01PRFVMRTsKKwljZi0+c29ja2V0LmRldi5wYXJlbnQgPSAmcGRldi0+ZGV2OworCWNmLT5zb2NrZXQub3BzID0gJmJmaW5fY2Zfb3BzOworCWNmLT5zb2NrZXQucmVzb3VyY2Vfb3BzID0gJnBjY2FyZF9zdGF0aWNfb3BzOworCWNmLT5zb2NrZXQuZmVhdHVyZXMgPSBTU19DQVBfUENDQVJEIHwgU1NfQ0FQX1NUQVRJQ19NQVAKKwkgICAgfCBTU19DQVBfTUVNX0FMSUdOOworCWNmLT5zb2NrZXQubWFwX3NpemUgPSBTWl8ySzsKKworCXN0YXR1cyA9IHBjbWNpYV9yZWdpc3Rlcl9zb2NrZXQoJmNmLT5zb2NrZXQpOworCWlmIChzdGF0dXMgPCAwKQorCQlnb3RvIGZhaWwyOworCisJY2YtPmFjdGl2ZSA9IDE7CisJbW9kX3RpbWVyKCZjZi0+dGltZXIsIGppZmZpZXMgKyBQT0xMX0lOVEVSVkFMKTsKKwlyZXR1cm4gMDsKKworZmFpbDI6CisJaW91bm1hcCgodm9pZCBfX2lvbWVtICopY2YtPnNvY2tldC5pb19vZmZzZXQpOworCXJlbGVhc2VfbWVtX3JlZ2lvbihjZi0+cGh5c19jZl9pbywgU1pfOEspOworCitmYWlsMDoKKwlncGlvX2ZyZWUoY2YtPmNkX3BmeCk7CisJa2ZyZWUoY2YpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCisJcmV0dXJuIHN0YXR1czsKK30KKworc3RhdGljIGludCBfX2RldmV4aXQgYmZpbl9jZl9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3QgYmZpbl9jZl9zb2NrZXQgKmNmID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlncGlvX2ZyZWUoY2YtPmNkX3BmeCk7CisJY2YtPmFjdGl2ZSA9IDA7CisJcGNtY2lhX3VucmVnaXN0ZXJfc29ja2V0KCZjZi0+c29ja2V0KTsKKwlkZWxfdGltZXJfc3luYygmY2YtPnRpbWVyKTsKKwlpb3VubWFwKCh2b2lkIF9faW9tZW0gKiljZi0+c29ja2V0LmlvX29mZnNldCk7CisJcmVsZWFzZV9tZW1fcmVnaW9uKGNmLT5waHlzX2NmX2lvLCBTWl84Syk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgTlVMTCk7CisJa2ZyZWUoY2YpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJmaW5fY2Zfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3QgbWVzZykKK3sKKwlyZXR1cm4gcGNtY2lhX3NvY2tldF9kZXZfc3VzcGVuZCgmcGRldi0+ZGV2LCBtZXNnKTsKK30KKworc3RhdGljIGludCBiZmluX2NmX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXJldHVybiBwY21jaWFfc29ja2V0X2Rldl9yZXN1bWUoJnBkZXYtPmRldik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGJmaW5fY2ZfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCSAgIC5uYW1lID0gKGNoYXIgKilkcml2ZXJfbmFtZSwKKwkJICAgLm93bmVyID0gVEhJU19NT0RVTEUsCisJCSAgIH0sCisJLnByb2JlID0gYmZpbl9jZl9wcm9iZSwKKwkucmVtb3ZlID0gX19kZXZleGl0X3AoYmZpbl9jZl9yZW1vdmUpLAorCS5zdXNwZW5kID0gYmZpbl9jZl9zdXNwZW5kLAorCS5yZXN1bWUgPSBiZmluX2NmX3Jlc3VtZSwKK307CisKK3N0YXRpYyBpbnQgX19pbml0IGJmaW5fY2ZfaW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJmJmaW5fY2ZfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGJmaW5fY2ZfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZiZmluX2NmX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KGJmaW5fY2ZfaW5pdCk7Cittb2R1bGVfZXhpdChiZmluX2NmX2V4aXQpOworCitNT0RVTEVfQVVUSE9SKCJNaWNoYWVsIEhlbm5lcmljaCA8aGVubmVyaWNoQGJsYWNrZmluLnVjbGludXgub3JnPiIpCitNT0RVTEVfREVTQ1JJUFRJT04oIkJGSU4gQ0YvUENNQ0lBIERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvY2FyZGJ1cy5jIGIvZHJpdmVycy9wY21jaWEvY2FyZGJ1cy5jCmluZGV4IGZiMmYzOGQuLjkxMWNhMGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2NhcmRidXMuYworKysgYi9kcml2ZXJzL3BjbWNpYS9jYXJkYnVzLmMKQEAgLTMwLDExICszMCw5IEBACiAjaW5jbHVkZSA8YXNtL2lycS5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogCi0jZGVmaW5lIElOX0NBUkRfU0VSVklDRVMKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jaXN0cGwuYyBiL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jCmluZGV4IDM2Mzc5NTMuLjlmY2ZmMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2Npc3RwbC5jCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCkBAIC0xNDM5LDEwICsxNDM4LDExIEBACiAgICAgCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAotaW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgY2lzaW5mb190ICppbmZvKQoraW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgdW5zaWduZWQgaW50ICppbmZvKQogewogICAgIHR1cGxlX3QgKnR1cGxlOwogICAgIGNpc3BhcnNlX3QgKnA7CisgICAgdW5zaWduZWQgaW50IGNvdW50ID0gMDsKICAgICBpbnQgcmV0LCByZXNlcnZlZCwgZGV2X29rID0gMCwgaWRlbnRfb2sgPSAwOwogCiAgICAgaWYgKCFzKQpAQCAtMTQ1Nyw3ICsxNDU3LDcgQEAKIAlyZXR1cm4gQ1NfT1VUX09GX1JFU09VUkNFOwogICAgIH0KIAotICAgIGluZm8tPkNoYWlucyA9IHJlc2VydmVkID0gMDsKKyAgICBjb3VudCA9IHJlc2VydmVkID0gMDsKICAgICB0dXBsZS0+RGVzaXJlZFR1cGxlID0gUkVUVVJOX0ZJUlNUX1RVUExFOwogICAgIHR1cGxlLT5BdHRyaWJ1dGVzID0gVFVQTEVfUkVUVVJOX0NPTU1PTjsKICAgICByZXQgPSBwY2NhcmRfZ2V0X2ZpcnN0X3R1cGxlKHMsIGZ1bmN0aW9uLCB0dXBsZSk7CkBAIC0xNDgyLDcgKzE0ODIsNyBAQAogICAgIGlmICghZGV2X29rICYmICFpZGVudF9vaykKIAlnb3RvIGRvbmU7CiAKLSAgICBmb3IgKGluZm8tPkNoYWlucyA9IDE7IGluZm8tPkNoYWlucyA8IE1BWF9UVVBMRVM7IGluZm8tPkNoYWlucysrKSB7CisgICAgZm9yIChjb3VudCA9IDE7IGNvdW50IDwgTUFYX1RVUExFUzsgY291bnQrKykgewogCXJldCA9IHBjY2FyZF9nZXRfbmV4dF90dXBsZShzLCBmdW5jdGlvbiwgdHVwbGUpOwogCWlmIChyZXQgIT0gQ1NfU1VDQ0VTUykgYnJlYWs7CiAJaWYgKCgodHVwbGUtPlR1cGxlQ29kZSA+IDB4MjMpICYmICh0dXBsZS0+VHVwbGVDb2RlIDwgMHg0MCkpIHx8CkBAIC0xNDkwLDExICsxNDkwLDEzIEBACiAJICAgICgodHVwbGUtPlR1cGxlQ29kZSA+IDB4OTApICYmICh0dXBsZS0+VHVwbGVDb2RlIDwgMHhmZikpKQogCSAgICByZXNlcnZlZCsrOwogICAgIH0KLSAgICBpZiAoKGluZm8tPkNoYWlucyA9PSBNQVhfVFVQTEVTKSB8fCAocmVzZXJ2ZWQgPiA1KSB8fAotCSgoIWRldl9vayB8fCAhaWRlbnRfb2spICYmIChpbmZvLT5DaGFpbnMgPiAxMCkpKQotCWluZm8tPkNoYWlucyA9IDA7CisgICAgaWYgKChjb3VudCkgfHwgKHJlc2VydmVkID4gNSkgfHwKKwkoKCFkZXZfb2sgfHwgIWlkZW50X29rKSAmJiAoY291bnQgPiAxMCkpKQorCWNvdW50ID0gMDsKIAogZG9uZToKKyAgICBpZiAoaW5mbykKKwkgICAgKmluZm8gPSBjb3VudDsKICAgICBrZnJlZSh0dXBsZSk7CiAgICAga2ZyZWUocCk7CiAgICAgcmV0dXJuIENTX1NVQ0NFU1M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jcy5jIGIvZHJpdmVycy9wY21jaWEvY3MuYwppbmRleCAyOTI3NmJkLi5kMTIwNzM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9jcy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2NzLmMKQEAgLTMyLDExICszMiw5IEBACiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KIAotI2RlZmluZSBJTl9DQVJEX1NFUlZJQ0VTCiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzLmg+Ci0jaW5jbHVkZSA8cGNtY2lhL2J1bGttZW0uaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzdHBsLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3JlZy5oPgogI2luY2x1ZGUgPHBjbWNpYS9kcy5oPgpAQCAtMjM4LDcgKzIzNiw2IEBACiAKIAlpbml0X2NvbXBsZXRpb24oJnNvY2tldC0+c29ja2V0X3JlbGVhc2VkKTsKIAlpbml0X2NvbXBsZXRpb24oJnNvY2tldC0+dGhyZWFkX2RvbmUpOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNvY2tldC0+dGhyZWFkX3dhaXQpOwogCW11dGV4X2luaXQoJnNvY2tldC0+c2t0X211dGV4KTsKIAlzcGluX2xvY2tfaW5pdCgmc29ja2V0LT50aHJlYWRfbG9jayk7CiAKQEAgLTI3OCwxMCArMjc1LDkgQEAKIAogCWNzX2RiZyhzb2NrZXQsIDAsICJwY21jaWFfdW5yZWdpc3Rlcl9zb2NrZXQoMHglcClcbiIsIHNvY2tldC0+b3BzKTsKIAotCWlmIChzb2NrZXQtPnRocmVhZCkgewotCQl3YWtlX3VwKCZzb2NrZXQtPnRocmVhZF93YWl0KTsKKwlpZiAoc29ja2V0LT50aHJlYWQpCiAJCWt0aHJlYWRfc3RvcChzb2NrZXQtPnRocmVhZCk7Ci0JfQorCiAJcmVsZWFzZV9jaXNfbWVtKHNvY2tldCk7CiAKIAkvKiByZW1vdmUgZnJvbSBvdXIgb3duIGxpc3QgKi8KQEAgLTYzNSw3ICs2MzEsNiBAQAogc3RhdGljIGludCBwY2NhcmRkKHZvaWQgKl9fc2t0KQogewogCXN0cnVjdCBwY21jaWFfc29ja2V0ICpza3QgPSBfX3NrdDsKLQlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LCBjdXJyZW50KTsKIAlpbnQgcmV0OwogCiAJc2t0LT50aHJlYWQgPSBjdXJyZW50OwpAQCAtNjU2LDcgKzY1MSw2IEBACiAJaWYgKHJldCkKIAkJZGV2X3dhcm4oJnNrdC0+ZGV2LCAiZXJyICVkIGFkZGluZyBzb2NrZXQgYXR0cmlidXRlc1xuIiwgcmV0KTsKIAotCWFkZF93YWl0X3F1ZXVlKCZza3QtPnRocmVhZF93YWl0LCAmd2FpdCk7CiAJY29tcGxldGUoJnNrdC0+dGhyZWFkX2RvbmUpOwogCiAJc2V0X2ZyZWV6YWJsZSgpOwpAQCAtNjk0LDggKzY4OCw2IEBACiAJLyogbWFrZSBzdXJlIHdlIGFyZSBydW5uaW5nIGJlZm9yZSB3ZSBleGl0ICovCiAJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKIAotCXJlbW92ZV93YWl0X3F1ZXVlKCZza3QtPnRocmVhZF93YWl0LCAmd2FpdCk7Ci0KIAkvKiByZW1vdmUgZnJvbSB0aGUgZGV2aWNlIGNvcmUgKi8KIAlwY2NhcmRfc3lzZnNfcmVtb3ZlX3NvY2tldCgmc2t0LT5kZXYpOwogCWRldmljZV91bnJlZ2lzdGVyKCZza3QtPmRldik7CkBAIC03MTYsNyArNzA4LDcgQEAKIAkJcy0+dGhyZWFkX2V2ZW50cyB8PSBldmVudHM7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPnRocmVhZF9sb2NrLCBmbGFncyk7CiAKLQkJd2FrZV91cCgmcy0+dGhyZWFkX3dhaXQpOworCQl3YWtlX3VwX3Byb2Nlc3Mocy0+dGhyZWFkKTsKIAl9CiB9IC8qIHBjbWNpYV9wYXJzZV9ldmVudHMgKi8KIEVYUE9SVF9TWU1CT0wocGNtY2lhX3BhcnNlX2V2ZW50cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9jc19pbnRlcm5hbC5oIGIvZHJpdmVycy9wY21jaWEvY3NfaW50ZXJuYWwuaAppbmRleCBlN2Q1ZDE0Li42M2RjMWEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9jc19pbnRlcm5hbC5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL2NzX2ludGVybmFsLmgKQEAgLTI2LDE4ICsyNiw2IEBACiAjZGVmaW5lIENMSUVOVF9XSU5fUkVRKGkpCSgweDE8PChpKSkKICNkZWZpbmUgQ0xJRU5UX0NBUkRCVVMJCTB4ODAwMAogCi0jZGVmaW5lIFJFR0lPTl9NQUdJQwkweEUzQzkKLXR5cGVkZWYgc3RydWN0IHJlZ2lvbl90IHsKLSAgICB1X3Nob3J0CQlyZWdpb25fbWFnaWM7Ci0gICAgdV9zaG9ydAkJc3RhdGU7Ci0gICAgZGV2X2luZm9fdAkJZGV2X2luZm87Ci0gICAgc3RydWN0IHBjbWNpYV9kZXZpY2UJKm10ZDsKLSAgICB1X2ludAkJTWVkaWFJRDsKLSAgICByZWdpb25faW5mb190CWluZm87Ci19IHJlZ2lvbl90OwotCi0jZGVmaW5lIFJFR0lPTl9TVEFMRQkweDAxCi0KIC8qIEVhY2ggY2FyZCBmdW5jdGlvbiBnZXRzIG9uZSBvZiB0aGVzZSBndXlzICovCiB0eXBlZGVmIHN0cnVjdCBjb25maWdfdCB7CiAJc3RydWN0IGtyZWYJcmVmOwpAQCAtMTMwLDcgKzExOCw2IEBACiBpbnQgcGNtY2lhX2dldF93aW5kb3coc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHdpbmRvd19oYW5kbGVfdCAqaGFuZGxlLCBpbnQgaWR4LCB3aW5fcmVxX3QgKnJlcSk7CiBpbnQgcGNjYXJkX2dldF9jb25maWd1cmF0aW9uX2luZm8oc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY29uZmlnX2luZm9fdCAqY29uZmlnKTsKIGludCBwY2NhcmRfcmVzZXRfY2FyZChzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqc2t0KTsKLWludCBwY2NhcmRfZ2V0X3N0YXR1cyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjc19zdGF0dXNfdCAqc3RhdHVzKTsKIAogCiBzdHJ1Y3QgcGNtY2lhX2NhbGxiYWNrewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvZHMuYyBiL2RyaXZlcnMvcGNtY2lhL2RzLmMKaW5kZXggZTQwNzc1NC4uNDE3NGQ5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvZHMuYworKysgYi9kcml2ZXJzL3BjbWNpYS9kcy5jCkBAIC0yNSw3ICsyNSw2IEBACiAjaW5jbHVkZSA8bGludXgva3JlZi5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KQEAgLTc0MSw5ICs3NDAsOCBAQAogCiBzdGF0aWMgaW50IHBjbWNpYV9jYXJkX2FkZChzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcykKIHsKLQljaXNpbmZvX3QgY2lzaW5mbzsKIAljaXN0cGxfbG9uZ2xpbmtfbWZjX3QgbWZjOwotCXVuc2lnbmVkIGludCBub19mdW5jcywgaTsKKwl1bnNpZ25lZCBpbnQgbm9fZnVuY3MsIGksIG5vX2NoYWluczsKIAlpbnQgcmV0ID0gMDsKIAogCWlmICghKHMtPnJlc291cmNlX3NldHVwX2RvbmUpKSB7CkBAIC03NTcsOCArNzU1LDggQEAKIAkJcmV0dXJuIC1FQUdBSU47IC8qIHRyeSBhZ2FpbiwgYnV0IGxhdGVyLi4uICovCiAJfQogCi0JcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmNpc2luZm8pOwotCWlmIChyZXQgfHwgIWNpc2luZm8uQ2hhaW5zKSB7CisJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJm5vX2NoYWlucyk7CisJaWYgKHJldCB8fCAhbm9fY2hhaW5zKSB7CiAJCWRzX2RiZygwLCAiaW52YWxpZCBDSVMgb3IgaW52YWxpZCByZXNvdXJjZXNcbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CkBAIC04NTIsNyArODUwLDcgQEAKIHsKIAlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyA9IGRldi0+c29ja2V0OwogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7Ci0JY2hhciBwYXRoWzIwXTsKKwljaGFyIHBhdGhbRklSTVdBUkVfTkFNRV9NQVhdOwogCWludCByZXQgPSAtRU5PTUVNOwogCWludCBub19mdW5jczsKIAlpbnQgb2xkX2Z1bmNzOwpAQCAtODY0LDcgKzg2Miw3IEBACiAKIAlkc19kYmcoMSwgInRyeWluZyB0byBsb2FkIENJUyBmaWxlICVzXG4iLCBmaWxlbmFtZSk7CiAKLQlpZiAoc3RybGVuKGZpbGVuYW1lKSA+IDE0KSB7CisJaWYgKHN0cmxlbihmaWxlbmFtZSkgPiAoRklSTVdBUkVfTkFNRV9NQVggLSAxKSkgewogCQlwcmludGsoS0VSTl9XQVJOSU5HICJwY21jaWE6IENJUyBmaWxlbmFtZSBpcyB0b28gbG9uZyBbJXNdXG4iLAogCQkJZmlsZW5hbWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL2hkNjQ0NjVfc3MuYyBiL2RyaXZlcnMvcGNtY2lhL2hkNjQ0NjVfc3MuYwppbmRleCBmMmU4MTBmLi5mYjJiYzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9oZDY0NDY1X3NzLmMKKysrIGIvZHJpdmVycy9wY21jaWEvaGQ2NDQ2NV9zcy5jCkBAIC0xLDYgKzEsNCBAQAogLyoKLSAqICRJZDogaGQ2NDQ2NV9zcy5jLHYgMS43IDIwMDMvMDcvMDYgMTQ6NDI6NTAgbGV0aGFsIEV4cCAkCi0gKgogICogRGV2aWNlIGRyaXZlciBmb3IgdGhlIFBDTUNJQSBjb250cm9sbGVyIG1vZHVsZSBvZiB0aGUKICAqIEhpdGFjaGkgSEQ2NDQ2NSBoYW5kaGVsZCBjb21wYW5pb24gY2hpcC4KICAqCkBAIC00OCw3ICs0Niw2IEBACiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9kcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKIAogI2RlZmluZSBNT0ROQU1FICJoZDY0NDY1X3NzIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvaTgyMDkyLmMgYi9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYwppbmRleCBlMTM2MTg2Li40NjU2MWZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYworKysgYi9kcml2ZXJzL3BjbWNpYS9pODIwOTIuYwpAQCAtNSw4ICs1LDYgQEAKICAqCiAgKiBBdXRob3I6IEFyamFuIFZhbiBEZSBWZW4gPGFyamFudkByZWRoYXQuY29tPgogICogTG9vc2x5IGJhc2VkIG9uIGk4MjM2NS5jIGZyb20gdGhlIHBjbWNpYS1jcyBwYWNrYWdlCi0gKgotICogJElkOiBpODIwOTJhYS5jLHYgMS4yIDIwMDEvMTAvMjMgMTQ6NDM6MzQgYXJqYW52IEV4cCAkCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvaTgyMDkyYWEuaCBiL2RyaXZlcnMvcGNtY2lhL2k4MjA5MmFhLmgKaW5kZXggYjBkNDUzMy4uODgzNmQzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvaTgyMDkyYWEuaAorKysgYi9kcml2ZXJzL3BjbWNpYS9pODIwOTJhYS5oCkBAIC0zLDggKzMsNiBAQAogCiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAKLS8qICRJZDogaTgyMDkyYWEuaCx2IDEuMS4xLjEgMjAwMS8wOS8xOSAxNDo1MzoxNSBkd213MiBFeHAgJCAqLwotCiAvKiBEZWJ1Z2luZyBkZWZpbmVzICovCiAjaWZkZWYgTk9UUkFDRQogI2RlZmluZSBlbnRlcih4KSAgIHByaW50aygiRW50ZXI6ICVzLCAlcyBsaW5lICVpXG4iLHgsX19GSUxFX18sX19MSU5FX18pCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9pODIzNjUuYyBiL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jCmluZGV4IDMyYTJhYjEuLjY4ZjZiMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL2k4MjM2NS5jCkBAIC0xMjYzLDcgKzEyNjMsNyBAQAogCiAgICAgcmV0ID0gZHJpdmVyX3JlZ2lzdGVyKCZpODIzNjVfZHJpdmVyKTsKICAgICBpZiAocmV0KQotCXJldHVybiByZXQ7CisJZ290byBlcnJfb3V0OwogCiAgICAgaTgyMzY1X2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygiaTgyMzY1IiwgMCk7CiAgICAgaWYgKGk4MjM2NV9kZXZpY2UpIHsKQEAgLTEyNzMsMTAgKzEyNzMsOCBAQAogICAgIH0gZWxzZQogCSAgICByZXQgPSAtRU5PTUVNOwogCi0gICAgaWYgKHJldCkgewotCWRyaXZlcl91bnJlZ2lzdGVyKCZpODIzNjVfZHJpdmVyKTsKLQlyZXR1cm4gcmV0OwotICAgIH0KKyAgICBpZiAocmV0KQorCWdvdG8gZXJyX2RyaXZlcl91bnJlZ2lzdGVyOwogCiAgICAgcHJpbnRrKEtFUk5fSU5GTyAiSW50ZWwgSVNBIFBDSUMgcHJvYmU6ICIpOwogICAgIHNvY2tldHMgPSAwOwpAQCAtMTI4NSwxNiArMTI4MywxNyBAQAogCiAgICAgaWYgKHNvY2tldHMgPT0gMCkgewogCXByaW50aygibm90IGZvdW5kLlxuIik7Ci0JcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoaTgyMzY1X2RldmljZSk7Ci0JcmVsZWFzZV9yZWdpb24oaTM2NV9iYXNlLCAyKTsKLQlkcml2ZXJfdW5yZWdpc3RlcigmaTgyMzY1X2RyaXZlcik7Ci0JcmV0dXJuIC1FTk9ERVY7CisJcmV0ID0gLUVOT0RFVjsKKwlnb3RvIGVycl9kZXZfdW5yZWdpc3RlcjsKICAgICB9CiAKICAgICAvKiBTZXQgdXAgaW50ZXJydXB0IGhhbmRsZXIocykgKi8KICAgICBpZiAoZ3JhYl9pcnEgIT0gMCkKLQlyZXF1ZXN0X2lycShjc19pcnEsIHBjaWNfaW50ZXJydXB0LCAwLCAiaTgyMzY1IiwgcGNpY19pbnRlcnJ1cHQpOwotICAgIAorCXJldCA9IHJlcXVlc3RfaXJxKGNzX2lycSwgcGNpY19pbnRlcnJ1cHQsIDAsICJpODIzNjUiLCBwY2ljX2ludGVycnVwdCk7CisKKyAgICBpZiAocmV0KQorCWdvdG8gZXJyX3NvY2tldF9yZWxlYXNlOworCiAgICAgLyogcmVnaXN0ZXIgc29ja2V0cyB3aXRoIHRoZSBwY21jaWEgY29yZSAqLwogICAgIGZvciAoaSA9IDA7IGkgPCBzb2NrZXRzOyBpKyspIHsKIAkgICAgc29ja2V0W2ldLnNvY2tldC5kZXYucGFyZW50ID0gJmk4MjM2NV9kZXZpY2UtPmRldjsKQEAgLTEzMjQsNyArMTMyMywyMyBAQAogICAgIH0KICAgICAKICAgICByZXR1cm4gMDsKLSAgICAKK2Vycl9zb2NrZXRfcmVsZWFzZToKKyAgICBmb3IgKGkgPSAwOyBpIDwgc29ja2V0czsgaSsrKSB7CisJLyogVHVybiBvZmYgYWxsIGludGVycnVwdCBzb3VyY2VzISAqLworCWkzNjVfc2V0KGksIEkzNjVfQ1NDSU5ULCAwKTsKKwlyZWxlYXNlX3JlZ2lvbihzb2NrZXRbaV0uaW9hZGRyLCAyKTsKKyAgICB9CitlcnJfZGV2X3VucmVnaXN0ZXI6CisgICAgcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoaTgyMzY1X2RldmljZSk7CisgICAgcmVsZWFzZV9yZWdpb24oaTM2NV9iYXNlLCAyKTsKKyNpZmRlZiBDT05GSUdfUE5QCisgICAgaWYgKGk4MjM2NV9wbnBkZXYpCisJcG5wX2Rpc2FibGVfZGV2KGk4MjM2NV9wbnBkZXYpOworI2VuZGlmCitlcnJfZHJpdmVyX3VucmVnaXN0ZXI6CisgICAgZHJpdmVyX3VucmVnaXN0ZXIoJmk4MjM2NV9kcml2ZXIpOworZXJyX291dDoKKyAgICByZXR1cm4gcmV0OwogfSAvKiBpbml0X2k4MjM2NSAqLwogCiBzdGF0aWMgdm9pZCBfX2V4aXQgZXhpdF9pODIzNjUodm9pZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNtY2lhL204eHhfcGNtY2lhLmMgYi9kcml2ZXJzL3BjbWNpYS9tOHh4X3BjbWNpYS5jCmluZGV4IGFjNzBkMmMuLjEzYTVmYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL204eHhfcGNtY2lhLmMKKysrIGIvZHJpdmVycy9wY21jaWEvbTh4eF9wY21jaWEuYwpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBtOHh4X3BjbWNpYS5jIC0gTGludXggUENNQ0lBIHNvY2tldCBkcml2ZXIgZm9yIHRoZSBtcGM4eHggc2VyaWVzLgogICoKLSAqIChDKSAxOTk5LTIwMDAgTWFnbnVzIERhbW0gPGRhbW1AYml0c21hcnQuY29tPgorICogKEMpIDE5OTktMjAwMCBNYWdudXMgRGFtbSA8ZGFtbUBvcGVuc291cmNlLnNlPgogICogKEMpIDIwMDEtMjAwMiBNb250YXZpc3RhIFNvZnR3YXJlLCBJbmMuCiAgKiAgICAgPG1sb2NrZUBtdmlzdGEuY29tPgogICoKQEAgLTYwLDcgKzYwLDYgQEAKICNpbmNsdWRlIDxhc20vb2ZfZGV2aWNlLmg+CiAjaW5jbHVkZSA8YXNtL29mX3BsYXRmb3JtLmg+CiAKLSNpbmNsdWRlIDxwY21jaWEvdmVyc2lvbi5oPgogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvb21hcF9jZi5jIGIvZHJpdmVycy9wY21jaWEvb21hcF9jZi5jCmluZGV4IDQ2MzE0YjQuLjU2OWI3NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL29tYXBfY2YuYworKysgYi9kcml2ZXJzL3BjbWNpYS9vbWFwX2NmLmMKQEAgLTM4LDE5ICszOCwxOSBAQAogI2RlZmluZQlDRl9CQVNFCTB4ZmZmZTI4MDAKIAogLyogc3RhdHVzOyByZWFkIGFmdGVyIElSUSAqLwotI2RlZmluZSBDRl9TVEFUVVNfUkVHCQlfX1JFRzE2KENGX0JBU0UgKyAweDAwKQorI2RlZmluZSBDRl9TVEFUVVMJCQkoQ0ZfQkFTRSArIDB4MDApCiAjCWRlZmluZQlDRl9TVEFUVVNfQkFEX1JFQUQJKDEgPDwgMikKICMJZGVmaW5lCUNGX1NUQVRVU19CQURfV1JJVEUJKDEgPDwgMSkKICMJZGVmaW5lCUNGX1NUQVRVU19DQVJEX0RFVEVDVAkoMSA8PCAwKQogCiAvKiB3aGljaCBjaGlwc2VsZWN0IChDUzAuLkNTMykgaXMgdXNlZCBmb3IgQ0YgKGFjdGl2ZSBsb3cpICovCi0jZGVmaW5lIENGX0NGR19SRUcJCV9fUkVHMTYoQ0ZfQkFTRSArIDB4MDIpCisjZGVmaW5lIENGX0NGRwkJCQkoQ0ZfQkFTRSArIDB4MDIpCiAKIC8qIGNhcmQgcmVzZXQgKi8KLSNkZWZpbmUgQ0ZfQ09OVFJPTF9SRUcJCV9fUkVHMTYoQ0ZfQkFTRSArIDB4MDQpCisjZGVmaW5lIENGX0NPTlRST0wJCQkoQ0ZfQkFTRSArIDB4MDQpCiAjCWRlZmluZQlDRl9DT05UUk9MX1JFU0VUCSgxIDw8IDApCiAKLSNkZWZpbmUgb21hcF9jZl9wcmVzZW50KCkgKCEoQ0ZfU1RBVFVTX1JFRyAmIENGX1NUQVRVU19DQVJEX0RFVEVDVCkpCisjZGVmaW5lIG9tYXBfY2ZfcHJlc2VudCgpICghKG9tYXBfcmVhZHcoQ0ZfU1RBVFVTKSAmIENGX1NUQVRVU19DQVJEX0RFVEVDVCkpCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xMzksMTEgKzEzOSwxMSBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQljb250cm9sID0gQ0ZfQ09OVFJPTF9SRUc7CisJY29udHJvbCA9IG9tYXBfcmVhZHcoQ0ZfQ09OVFJPTCk7CiAJaWYgKHMtPmZsYWdzICYgU1NfUkVTRVQpCi0JCUNGX0NPTlRST0xfUkVHID0gQ0ZfQ09OVFJPTF9SRVNFVDsKKwkJb21hcF93cml0ZXcoQ0ZfQ09OVFJPTF9SRVNFVCwgQ0ZfQ09OVFJPTCk7CiAJZWxzZQotCQlDRl9DT05UUk9MX1JFRyA9IDA7CisJCW9tYXBfd3JpdGV3KDAsIENGX0NPTlRST0wpOwogCiAJcHJfZGVidWcoIiVzOiBWY2MgJWQsIGlvX2lycSAlZCwgZmxhZ3MgJTA0eCBjc2MgJTA0eFxuIiwKIAkJZHJpdmVyX25hbWUsIHMtPlZjYywgcy0+aW9faXJxLCBzLT5mbGFncywgcy0+Y3NjX21hc2spOwpAQCAtMjcwLDcgKzI3MCw3IEBACiAJb21hcF9jZmdfcmVnKFYxMF8xNjEwX0NGX0lSRVEpOwogCW9tYXBfY2ZnX3JlZyhXMTBfMTYxMF9DRl9SRVNFVCk7CiAKLQlDRl9DRkdfUkVHID0gfigxIDw8IHNlZyk7CisJb21hcF93cml0ZXcofigxIDw8IHNlZyksIENGX0NGRyk7CiAKIAlwcl9pbmZvKCIlczogY3MlZCBvbiBpcnEgJWRcbiIsIGRyaXZlcl9uYW1lLCBzZWcsIGlycSk7CiAKQEAgLTI3OSwxNCArMjc5LDE1IEBACiAJICogQ0YvUENNQ0lBIHZhcmlhbnRzLi4uCiAJICovCiAJcHJfZGVidWcoIiVzOiBjcyVkLCBwcmV2aW91cyBjY3MgJTA4eCBhY3MgJTA4eFxuIiwgZHJpdmVyX25hbWUsCi0JCQlzZWcsIEVNSUZTX0NDUyhzZWcpLCBFTUlGU19BQ1Moc2VnKSk7Ci0JRU1JRlNfQ0NTKHNlZykgPSAweDAwMDRhMWIzOwkvKiBzeW5jaCBtb2RlIDQgZXRjICovCi0JRU1JRlNfQUNTKHNlZykgPSAweDAwMDAwMDAwOwkvKiBPRSBob2xkL3NldHVwICovCisJCXNlZywgb21hcF9yZWFkbChFTUlGU19DQ1Moc2VnKSksIG9tYXBfcmVhZGwoRU1JRlNfQUNTKHNlZykpKTsKKwlvbWFwX3dyaXRlbCgweDAwMDRhMWIzLCBFTUlGU19DQ1Moc2VnKSk7CS8qIHN5bmNoIG1vZGUgNCBldGMgKi8KKwlvbWFwX3dyaXRlbCgweDAwMDAwMDAwLCBFTUlGU19BQ1Moc2VnKSk7CS8qIE9FIGhvbGQvc2V0dXAgKi8KIAogCS8qIENGIHVzZXMgYXJteG9yX2NrLCB3aGljaCBpcyAiYWx3YXlzIiBhdmFpbGFibGUgKi8KIAogCXByX2RlYnVnKCIlczogc3RzICUwNHggY2ZnICUwNHggY29udHJvbCAlMDR4ICVzXG4iLCBkcml2ZXJfbmFtZSwKLQkJQ0ZfU1RBVFVTX1JFRywgQ0ZfQ0ZHX1JFRywgQ0ZfQ09OVFJPTF9SRUcsCisJCW9tYXBfcmVhZHcoQ0ZfU1RBVFVTKSwgb21hcF9yZWFkdyhDRl9DRkcpLAorCQlvbWFwX3JlYWR3KENGX0NPTlRST0wpLAogCQlvbWFwX2NmX3ByZXNlbnQoKSA/ICJwcmVzZW50IiA6ICIobm90IHByZXNlbnQpIik7CiAKIAljZi0+c29ja2V0Lm93bmVyID0gVEhJU19NT0RVTEU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9wY21jaWFfaW9jdGwuYyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jCmluZGV4IDVmMTg2YWIuLjQxOWY5N2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9pb2N0bC5jCkBAIC0yNywxMiArMjcsMTMgQEAKICNpbmNsdWRlIDxsaW51eC9wcm9jX2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvd29ya3F1ZXVlLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KKyNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL3NzLmg+CiAKQEAgLTEzOCw2ICsxMzksMTU0IEBACiB9CiAjZW5kaWYKIAorCisjaWZkZWYgQ09ORklHX1BDTUNJQV9QUk9CRQorCitzdGF0aWMgaW50IGFkanVzdF9pcnEoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIGFkanVzdF90ICphZGopCit7CisJaW50IGlycTsKKwl1MzIgbWFzazsKKworCWlycSA9IGFkai0+cmVzb3VyY2UuaXJxLklSUTsKKwlpZiAoKGlycSA8IDApIHx8IChpcnEgPiAxNSkpCisJCXJldHVybiBDU19CQURfSVJROworCisJaWYgKGFkai0+QWN0aW9uICE9IFJFTU9WRV9NQU5BR0VEX1JFU09VUkNFKQorCQlyZXR1cm4gMDsKKworCW1hc2sgPSAxIDw8IGlycTsKKworCWlmICghKHMtPmlycV9tYXNrICYgbWFzaykpCisJCXJldHVybiAwOworCisJcy0+aXJxX21hc2sgJj0gfm1hc2s7CisKKwlyZXR1cm4gMDsKK30KKworI2Vsc2UKKworc3RhdGljIGlubGluZSBpbnQgYWRqdXN0X2lycShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikgeworCXJldHVybiBDU19TVUNDRVNTOworfQorCisjZW5kaWYKKworc3RhdGljIGludCBwY21jaWFfYWRqdXN0X3Jlc291cmNlX2luZm8oYWRqdXN0X3QgKmFkaikKK3sKKwlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqczsKKwlpbnQgcmV0ID0gQ1NfVU5TVVBQT1JURURfRlVOQ1RJT047CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWRvd25fcmVhZCgmcGNtY2lhX3NvY2tldF9saXN0X3J3c2VtKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHMsICZwY21jaWFfc29ja2V0X2xpc3QsIHNvY2tldF9saXN0KSB7CisKKwkJaWYgKGFkai0+UmVzb3VyY2UgPT0gUkVTX0lSUSkKKwkJCXJldCA9IGFkanVzdF9pcnEocywgYWRqKTsKKworCQllbHNlIGlmIChzLT5yZXNvdXJjZV9vcHMtPmFkZF9pbykgeworCQkJdW5zaWduZWQgbG9uZyBiZWdpbiwgZW5kOworCisJCQkvKiB5b3UgY2FuJ3QgdXNlIHRoZSBvbGQgaW50ZXJmYWNlIGlmIHRoZSBuZXcKKwkJCSAqIG9uZSB3YXMgdXNlZCBiZWZvcmUgKi8KKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7CisJCQlpZiAoKHMtPnJlc291cmNlX3NldHVwX25ldykgJiYKKwkJCSAgICAhKHMtPnJlc291cmNlX3NldHVwX29sZCkpIHsKKwkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CisJCQkJY29udGludWU7CisJCQl9IGVsc2UgaWYgKCEocy0+cmVzb3VyY2Vfc2V0dXBfb2xkKSkKKwkJCQlzLT5yZXNvdXJjZV9zZXR1cF9vbGQgPSAxOworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOworCisJCQlzd2l0Y2ggKGFkai0+UmVzb3VyY2UpIHsKKwkJCWNhc2UgUkVTX01FTU9SWV9SQU5HRToKKwkJCQliZWdpbiA9IGFkai0+cmVzb3VyY2UubWVtb3J5LkJhc2U7CisJCQkJZW5kID0gYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZSArIGFkai0+cmVzb3VyY2UubWVtb3J5LlNpemUgLSAxOworCQkJCWlmIChzLT5yZXNvdXJjZV9vcHMtPmFkZF9tZW0pCisJCQkJCXJldCA9cy0+cmVzb3VyY2Vfb3BzLT5hZGRfbWVtKHMsIGFkai0+QWN0aW9uLCBiZWdpbiwgZW5kKTsKKwkJCWNhc2UgUkVTX0lPX1JBTkdFOgorCQkJCWJlZ2luID0gYWRqLT5yZXNvdXJjZS5pby5CYXNlUG9ydDsKKwkJCQllbmQgPSBhZGotPnJlc291cmNlLmlvLkJhc2VQb3J0ICsgYWRqLT5yZXNvdXJjZS5pby5OdW1Qb3J0cyAtIDE7CisJCQkJaWYgKHMtPnJlc291cmNlX29wcy0+YWRkX2lvKQorCQkJCQlyZXQgPSBzLT5yZXNvdXJjZV9vcHMtPmFkZF9pbyhzLCBhZGotPkFjdGlvbiwgYmVnaW4sIGVuZCk7CisJCQl9CisJCQlpZiAoIXJldCkgeworCQkJCS8qIGFzIHRoZXJlJ3Mgbm8gd2F5IHdlIGtub3cgdGhpcyBpcyB0aGUKKwkJCQkgKiBsYXN0IGNhbGwgdG8gYWRqdXN0X3Jlc291cmNlX2luZm8sIHdlCisJCQkJICogYWx3YXlzIG5lZWQgdG8gYXNzdW1lIHRoaXMgaXMgdGhlIGxhdGVzdAorCQkJCSAqIG9uZS4uLiAqLworCQkJCXNwaW5fbG9ja19pcnFzYXZlKCZzLT5sb2NrLCBmbGFncyk7CisJCQkJcy0+cmVzb3VyY2Vfc2V0dXBfZG9uZSA9IDE7CisJCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOworCQkJfQorCQl9CisJfQorCXVwX3JlYWQoJnBjbWNpYV9zb2NrZXRfbGlzdF9yd3NlbSk7CisKKwlyZXR1cm4gKHJldCk7Cit9CisKKy8qKiBwY2NhcmRfZ2V0X3N0YXR1cworICoKKyAqIEdldCB0aGUgY3VycmVudCBzb2NrZXQgc3RhdGUgYml0cy4gIFdlIGRvbid0IHN1cHBvcnQgdGhlIGxhdGNoZWQKKyAqIFNvY2tldFN0YXRlIHlldDogSSBoYXZlbid0IHNlZW4gYW55IHBvaW50IGZvciBpdC4KKyAqLworCitzdGF0aWMgaW50IHBjY2FyZF9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAorCQkJICAgICBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsCisJCQkgICAgIGNzX3N0YXR1c190ICpzdGF0dXMpCit7CisJY29uZmlnX3QgKmM7CisJaW50IHZhbDsKKworCXMtPm9wcy0+Z2V0X3N0YXR1cyhzLCAmdmFsKTsKKwlzdGF0dXMtPkNhcmRTdGF0ZSA9IHN0YXR1cy0+U29ja2V0U3RhdGUgPSAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19ERVRFQ1QpID8gQ1NfRVZFTlRfQ0FSRF9ERVRFQ1QgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19DQVJEQlVTKSA/IENTX0VWRU5UX0NCX0RFVEVDVCA6IDA7CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTXzNWQ0FSRCkgPyBDU19FVkVOVF8zVkNBUkQgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19YVkNBUkQpID8gQ1NfRVZFTlRfWFZDQVJEIDogMDsKKwlpZiAocy0+c3RhdGUgJiBTT0NLRVRfU1VTUEVORCkKKwkJc3RhdHVzLT5DYXJkU3RhdGUgfD0gQ1NfRVZFTlRfUE1fU1VTUEVORDsKKwlpZiAoIShzLT5zdGF0ZSAmIFNPQ0tFVF9QUkVTRU5UKSkKKwkJcmV0dXJuIENTX05PX0NBUkQ7CisKKwljID0gKHBfZGV2KSA/IHBfZGV2LT5mdW5jdGlvbl9jb25maWcgOiBOVUxMOworCisJaWYgKChjICE9IE5VTEwpICYmIChjLT5zdGF0ZSAmIENPTkZJR19MT0NLRUQpICYmCisJICAgIChjLT5JbnRUeXBlICYgKElOVF9NRU1PUllfQU5EX0lPIHwgSU5UX1pPT01FRF9WSURFTykpKSB7CisJCXVfY2hhciByZWc7CisJCWlmIChjLT5DYXJkVmFsdWVzICYgUFJFU0VOVF9QSU5fUkVQTEFDRSkgeworCQkJcGNtY2lhX3JlYWRfY2lzX21lbShzLCAxLCAoYy0+Q29uZmlnQmFzZStDSVNSRUdfUFJSKT4+MSwgMSwgJnJlZyk7CisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkJCShyZWcgJiBQUlJfV1BfU1RBVFVTKSA/IENTX0VWRU5UX1dSSVRFX1BST1RFQ1QgOiAwOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgUFJSX1JFQURZX1NUQVRVUykgPyBDU19FVkVOVF9SRUFEWV9DSEFOR0UgOiAwOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgUFJSX0JWRDJfU1RBVFVTKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKKwkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCQkJKHJlZyAmIFBSUl9CVkQxX1NUQVRVUykgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOworCQl9IGVsc2UgeworCQkJLyogTm8gUFJSPyAgVGhlbiBhc3N1bWUgd2UncmUgYWx3YXlzIHJlYWR5ICovCisJCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSBDU19FVkVOVF9SRUFEWV9DSEFOR0U7CisJCX0KKwkJaWYgKGMtPkNhcmRWYWx1ZXMgJiBQUkVTRU5UX0VYVF9TVEFUVVMpIHsKKwkJCXBjbWNpYV9yZWFkX2Npc19tZW0ocywgMSwgKGMtPkNvbmZpZ0Jhc2UrQ0lTUkVHX0VTUik+PjEsIDEsICZyZWcpOworCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJCQkocmVnICYgRVNSX1JFUV9BVFROKSA/IENTX0VWRU5UX1JFUVVFU1RfQVRURU5USU9OIDogMDsKKwkJfQorCQlyZXR1cm4gQ1NfU1VDQ0VTUzsKKwl9CisJc3RhdHVzLT5DYXJkU3RhdGUgfD0KKwkJKHZhbCAmIFNTX1dSUFJPVCkgPyBDU19FVkVOVF9XUklURV9QUk9URUNUIDogMDsKKwlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkodmFsICYgU1NfQkFUREVBRCkgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOworCXN0YXR1cy0+Q2FyZFN0YXRlIHw9CisJCSh2YWwgJiBTU19CQVRXQVJOKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKKwlzdGF0dXMtPkNhcmRTdGF0ZSB8PQorCQkodmFsICYgU1NfUkVBRFkpID8gQ1NfRVZFTlRfUkVBRFlfQ0hBTkdFIDogMDsKKwlyZXR1cm4gQ1NfU1VDQ0VTUzsKK30gLyogcGNjYXJkX2dldF9zdGF0dXMgKi8KKwogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKICAgICBUaGVzZSBtYW5hZ2UgYSByaW5nIGJ1ZmZlciBvZiBldmVudHMgcGVuZGluZyBmb3Igb25lIHVzZXIgcHJvY2VzcwpAQCAtMzk3LDIwICs1NDYsMjcgQEAKICAgICBzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqczsKICAgICB1c2VyX2luZm9fdCAqdXNlcjsKICAgICBzdGF0aWMgaW50IHdhcm5pbmdfcHJpbnRlZCA9IDA7CisgICAgaW50IHJldCA9IDA7CiAKICAgICBkc19kYmcoMCwgImRzX29wZW4oc29ja2V0ICVkKVxuIiwgaSk7CiAKKyAgICBsb2NrX2tlcm5lbCgpOwogICAgIHMgPSBwY21jaWFfZ2V0X3NvY2tldF9ieV9ucihpKTsKLSAgICBpZiAoIXMpCi0JICAgIHJldHVybiAtRU5PREVWOworICAgIGlmICghcykgeworCSAgICByZXQgPSAtRU5PREVWOworCSAgICBnb3RvIG91dDsKKyAgICB9CiAgICAgcyA9IHBjbWNpYV9nZXRfc29ja2V0KHMpOwotICAgIGlmICghcykKLQkgICAgcmV0dXJuIC1FTk9ERVY7CisgICAgaWYgKCFzKSB7CisJICAgIHJldCA9IC1FTk9ERVY7CisJICAgIGdvdG8gb3V0OworICAgIH0KIAogICAgIGlmICgoZmlsZS0+Zl9mbGFncyAmIE9fQUNDTU9ERSkgIT0gT19SRE9OTFkpIHsKIAkgICAgaWYgKHMtPnBjbWNpYV9zdGF0ZS5idXN5KSB7CiAJCSAgICBwY21jaWFfcHV0X3NvY2tldChzKTsKLQkJICAgIHJldHVybiAtRUJVU1k7CisJCSAgICByZXQgPSAtRUJVU1k7CisJCSAgICBnb3RvIG91dDsKIAkgICAgfQogCWVsc2UKIAkgICAgcy0+cGNtY2lhX3N0YXRlLmJ1c3kgPSAxOwpAQCAtNDE5LDcgKzU3NSw4IEBACiAgICAgdXNlciA9IGttYWxsb2Moc2l6ZW9mKHVzZXJfaW5mb190KSwgR0ZQX0tFUk5FTCk7CiAgICAgaWYgKCF1c2VyKSB7CiAJICAgIHBjbWNpYV9wdXRfc29ja2V0KHMpOwotCSAgICByZXR1cm4gLUVOT01FTTsKKwkgICAgcmV0ID0gLUVOT01FTTsKKwkgICAgZ290byBvdXQ7CiAgICAgfQogICAgIHVzZXItPmV2ZW50X3RhaWwgPSB1c2VyLT5ldmVudF9oZWFkID0gMDsKICAgICB1c2VyLT5uZXh0ID0gcy0+dXNlcjsKQEAgLTQ0MSw3ICs1OTgsOSBAQAogCiAgICAgaWYgKHMtPnBjbWNpYV9zdGF0ZS5wcmVzZW50KQogCXF1ZXVlX2V2ZW50KHVzZXIsIENTX0VWRU5UX0NBUkRfSU5TRVJUSU9OKTsKLSAgICByZXR1cm4gMDsKK291dDoKKyAgICB1bmxvY2tfa2VybmVsKCk7CisgICAgcmV0dXJuIHJldDsKIH0gLyogZHNfb3BlbiAqLwogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KQEAgLTU0Niw4ICs3MDUsNiBAQAogCiAvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAotZXh0ZXJuIGludCBwY21jaWFfYWRqdXN0X3Jlc291cmNlX2luZm8oYWRqdXN0X3QgKmFkaik7Ci0KIHN0YXRpYyBpbnQgZHNfaW9jdGwoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlsZSwKIAkJICAgIHVfaW50IGNtZCwgdV9sb25nIGFyZykKIHsKQEAgLTY0OSw3ICs4MDYsNyBAQAogCW11dGV4X2xvY2soJnMtPnNrdF9tdXRleCk7CiAJcGNtY2lhX3ZhbGlkYXRlX21lbShzKTsKIAltdXRleF91bmxvY2soJnMtPnNrdF9tdXRleCk7Ci0JcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmJ1Zi0+Y2lzaW5mbyk7CisJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgJmJ1Zi0+Y2lzaW5mby5DaGFpbnMpOwogCWJyZWFrOwogICAgIGNhc2UgRFNfU1VTUEVORF9DQVJEOgogCXJldCA9IHBjbWNpYV9zdXNwZW5kX2NhcmQocyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9wY21jaWFfcmVzb3VyY2UuYyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jCmluZGV4IDFkMTI4ZmIuLjQ4ODRhMTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3BjbWNpYV9yZXNvdXJjZS5jCkBAIC0yMSwxMSArMjEsOSBAQAogI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogCi0jZGVmaW5lIElOX0NBUkRfU0VSVklDRVMKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlIDxwY21jaWEvY2lzcmVnLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RzLmg+CkBAIC0zMTEsNzQgKzMwOSw2IEBACiBFWFBPUlRfU1lNQk9MKHBjbWNpYV9nZXRfd2luZG93KTsKIAogCi0vKiogcGNjYXJkX2dldF9zdGF0dXMKLSAqCi0gKiBHZXQgdGhlIGN1cnJlbnQgc29ja2V0IHN0YXRlIGJpdHMuICBXZSBkb24ndCBzdXBwb3J0IHRoZSBsYXRjaGVkCi0gKiBTb2NrZXRTdGF0ZSB5ZXQ6IEkgaGF2ZW4ndCBzZWVuIGFueSBwb2ludCBmb3IgaXQuCi0gKi8KLQotaW50IHBjY2FyZF9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsCi0JCSAgICAgIGNzX3N0YXR1c190ICpzdGF0dXMpCi17Ci0JY29uZmlnX3QgKmM7Ci0JaW50IHZhbDsKLQotCXMtPm9wcy0+Z2V0X3N0YXR1cyhzLCAmdmFsKTsKLQlzdGF0dXMtPkNhcmRTdGF0ZSA9IHN0YXR1cy0+U29ja2V0U3RhdGUgPSAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19ERVRFQ1QpID8gQ1NfRVZFTlRfQ0FSRF9ERVRFQ1QgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19DQVJEQlVTKSA/IENTX0VWRU5UX0NCX0RFVEVDVCA6IDA7Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0gKHZhbCAmIFNTXzNWQ0FSRCkgPyBDU19FVkVOVF8zVkNBUkQgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9ICh2YWwgJiBTU19YVkNBUkQpID8gQ1NfRVZFTlRfWFZDQVJEIDogMDsKLQlpZiAocy0+c3RhdGUgJiBTT0NLRVRfU1VTUEVORCkKLQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0gQ1NfRVZFTlRfUE1fU1VTUEVORDsKLQlpZiAoIShzLT5zdGF0ZSAmIFNPQ0tFVF9QUkVTRU5UKSkKLQkJcmV0dXJuIENTX05PX0NBUkQ7Ci0KLQljID0gKHBfZGV2KSA/IHBfZGV2LT5mdW5jdGlvbl9jb25maWcgOiBOVUxMOwotCi0JaWYgKChjICE9IE5VTEwpICYmIChjLT5zdGF0ZSAmIENPTkZJR19MT0NLRUQpICYmCi0JICAgIChjLT5JbnRUeXBlICYgKElOVF9NRU1PUllfQU5EX0lPIHwgSU5UX1pPT01FRF9WSURFTykpKSB7Ci0JCXVfY2hhciByZWc7Ci0JCWlmIChjLT5DYXJkVmFsdWVzICYgUFJFU0VOVF9QSU5fUkVQTEFDRSkgewotCQkJcGNtY2lhX3JlYWRfY2lzX21lbShzLCAxLCAoYy0+Q29uZmlnQmFzZStDSVNSRUdfUFJSKT4+MSwgMSwgJnJlZyk7Ci0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkJCShyZWcgJiBQUlJfV1BfU1RBVFVTKSA/IENTX0VWRU5UX1dSSVRFX1BST1RFQ1QgOiAwOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgUFJSX1JFQURZX1NUQVRVUykgPyBDU19FVkVOVF9SRUFEWV9DSEFOR0UgOiAwOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgUFJSX0JWRDJfU1RBVFVTKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKLQkJCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCQkJKHJlZyAmIFBSUl9CVkQxX1NUQVRVUykgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOwotCQl9IGVsc2UgewotCQkJLyogTm8gUFJSPyAgVGhlbiBhc3N1bWUgd2UncmUgYWx3YXlzIHJlYWR5ICovCi0JCQlzdGF0dXMtPkNhcmRTdGF0ZSB8PSBDU19FVkVOVF9SRUFEWV9DSEFOR0U7Ci0JCX0KLQkJaWYgKGMtPkNhcmRWYWx1ZXMgJiBQUkVTRU5UX0VYVF9TVEFUVVMpIHsKLQkJCXBjbWNpYV9yZWFkX2Npc19tZW0ocywgMSwgKGMtPkNvbmZpZ0Jhc2UrQ0lTUkVHX0VTUik+PjEsIDEsICZyZWcpOwotCQkJc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJCQkocmVnICYgRVNSX1JFUV9BVFROKSA/IENTX0VWRU5UX1JFUVVFU1RfQVRURU5USU9OIDogMDsKLQkJfQotCQlyZXR1cm4gQ1NfU1VDQ0VTUzsKLQl9Ci0Jc3RhdHVzLT5DYXJkU3RhdGUgfD0KLQkJKHZhbCAmIFNTX1dSUFJPVCkgPyBDU19FVkVOVF9XUklURV9QUk9URUNUIDogMDsKLQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkodmFsICYgU1NfQkFUREVBRCkgPyBDU19FVkVOVF9CQVRURVJZX0RFQUQgOiAwOwotCXN0YXR1cy0+Q2FyZFN0YXRlIHw9Ci0JCSh2YWwgJiBTU19CQVRXQVJOKSA/IENTX0VWRU5UX0JBVFRFUllfTE9XIDogMDsKLQlzdGF0dXMtPkNhcmRTdGF0ZSB8PQotCQkodmFsICYgU1NfUkVBRFkpID8gQ1NfRVZFTlRfUkVBRFlfQ0hBTkdFIDogMDsKLQlyZXR1cm4gQ1NfU1VDQ0VTUzsKLX0gLyogcGNjYXJkX2dldF9zdGF0dXMgKi8KLQotaW50IHBjbWNpYV9nZXRfc3RhdHVzKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY3Nfc3RhdHVzX3QgKnN0YXR1cykKLXsKLQlyZXR1cm4gcGNjYXJkX2dldF9zdGF0dXMocF9kZXYtPnNvY2tldCwgcF9kZXYsIHN0YXR1cyk7Ci19Ci1FWFBPUlRfU1lNQk9MKHBjbWNpYV9nZXRfc3RhdHVzKTsKLQotCi0KIC8qKiBwY21jaWFfZ2V0X21lbV9wYWdlCiAgKgogICogQ2hhbmdlIHRoZSBjYXJkIGFkZHJlc3Mgb2YgYW4gYWxyZWFkeSBvcGVuIG1lbW9yeSB3aW5kb3cuCkBAIC04MTIsNiArNzQyLDE1IEBACiAJCXR5cGUgPSBJUlFGX1NIQVJFRDsKIAogI2lmZGVmIENPTkZJR19QQ01DSUFfUFJPQkUKKworI2lmZGVmIElSUV9OT0FVVE9FTgorCS8qIGlmIHRoZSB1bmRlcmx5aW5nIElSUSBpbmZyYXN0cnVjdHVyZSBhbGxvd3MgZm9yIGl0LCBvbmx5IGFsbG9jYXRlCisJICogdGhlIElSUSwgYnV0IGRvIG5vdCBlbmFibGUgaXQKKwkgKi8KKwlpZiAoIShyZXEtPkF0dHJpYnV0ZXMgJiBJUlFfSEFORExFX1BSRVNFTlQpKQorCQl0eXBlIHw9IElSUV9OT0FVVE9FTjsKKyNlbmRpZiAvKiBJUlFfTk9BVVRPRU4gKi8KKwogCWlmIChzLT5pcnEuQXNzaWduZWRJUlEgIT0gMCkgewogCQkvKiBJZiB0aGUgaW50ZXJydXB0IGlzIGFscmVhZHkgYXNzaWduZWQsIGl0IG11c3QgYmUgdGhlIHNhbWUgKi8KIAkJaXJxID0gcy0+aXJxLkFzc2lnbmVkSVJROwpAQCAtOTY2LDcgKzkwNSw3IEBACiAJcGNtY2lhX3JlbGVhc2VfY29uZmlndXJhdGlvbihwX2Rldik7CiAJcGNtY2lhX3JlbGVhc2VfaW8ocF9kZXYsICZwX2Rldi0+aW8pOwogCXBjbWNpYV9yZWxlYXNlX2lycShwX2RldiwgJnBfZGV2LT5pcnEpOwotCWlmICgmcF9kZXYtPndpbikKKwlpZiAocF9kZXYtPndpbikKIAkJcGNtY2lhX3JlbGVhc2Vfd2luZG93KHBfZGV2LT53aW4pOwogfQogRVhQT1JUX1NZTUJPTChwY21jaWFfZGlzYWJsZV9kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X2Jhc2UuYyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9iYXNlLmMKaW5kZXggOTQxNDE2My4uY2NmZGYxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X2Jhc2UuYworKysgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfYmFzZS5jCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KIAogI2luY2x1ZGUgImNzX2ludGVybmFsLmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfY21feDI3MC5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X2NtX3gyNzAuYwppbmRleCBlN2FiMDYwLi5mMTIzZmNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfY21feDI3MC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9jbV94MjcwLmMKQEAgLTE4LDYgKzE4LDcgQEAKIAogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAKICNpbmNsdWRlIDxhc20vYXJjaC9weGEtcmVncy5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1ncGlvLmg+CkBAIC0xMzAsNyArMTMxLDcgQEAKIH0KIAogCi1zdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgY214MjcwX3BjbWNpYV9vcHMgPSB7CitzdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgY214MjcwX3BjbWNpYV9vcHMgX19pbml0ZGF0YSA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5od19pbml0CQk9IGNteDI3MF9wY21jaWFfaHdfaW5pdCwKIAkuaHdfc2h1dGRvd24JCT0gY214MjcwX3BjbWNpYV9zaHV0ZG93biwKQEAgLTE0NywxNSArMTQ4LDIxIEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19hcm1jb3JlKCkpCisJCXJldHVybiAtRU5PREVWOworCiAJY214MjcwX3BjbWNpYV9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInB4YTJ4eC1wY21jaWEiLCAtMSk7CiAKIAlpZiAoIWNteDI3MF9wY21jaWFfZGV2aWNlKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCWNteDI3MF9wY21jaWFfZGV2aWNlLT5kZXYucGxhdGZvcm1fZGF0YSA9ICZjbXgyNzBfcGNtY2lhX29wczsKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkX2RhdGEoY214MjcwX3BjbWNpYV9kZXZpY2UsICZjbXgyNzBfcGNtY2lhX29wcywKKwkJCQkgICAgICAgc2l6ZW9mKGNteDI3MF9wY21jaWFfb3BzKSk7CiAKLQlwcmludGsoS0VSTl9JTkZPICJSZWdpc3RlcmluZyBjbS14MjcwIFBDTUNJQSBpbnRlcmZhY2UuXG4iKTsKLQlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKGNteDI3MF9wY21jaWFfZGV2aWNlKTsKKwlpZiAocmV0ID09IDApIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUmVnaXN0ZXJpbmcgY20teDI3MCBQQ01DSUEgaW50ZXJmYWNlLlxuIik7CisJCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoY214MjcwX3BjbWNpYV9kZXZpY2UpOworCX0KIAogCWlmIChyZXQpCiAJCXBsYXRmb3JtX2RldmljZV9wdXQoY214MjcwX3BjbWNpYV9kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvcHhhMnh4X21haW5zdG9uZS5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X21haW5zdG9uZS5jCmluZGV4IDE0NWI4NWUuLjkyZDFjYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9tYWluc3RvbmUuYworKysgYi9kcml2ZXJzL3BjbWNpYS9weGEyeHhfbWFpbnN0b25lLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KIAogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgogCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KQEAgLTEzNiw3ICsxMzcsNyBAQAogewogfQogCi1zdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgbXN0X3BjbWNpYV9vcHMgPSB7CitzdGF0aWMgc3RydWN0IHBjbWNpYV9sb3dfbGV2ZWwgbXN0X3BjbWNpYV9vcHMgX19pbml0ZGF0YSA9IHsKIAkub3duZXIJCQk9IFRISVNfTU9EVUxFLAogCS5od19pbml0CQk9IG1zdF9wY21jaWFfaHdfaW5pdCwKIAkuaHdfc2h1dGRvd24JCT0gbXN0X3BjbWNpYV9od19zaHV0ZG93biwKQEAgLTE1MywxMyArMTU0LDE3IEBACiB7CiAJaW50IHJldDsKIAorCWlmICghbWFjaGluZV9pc19tYWluc3RvbmUoKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKIAltc3RfcGNtY2lhX2RldmljZSA9IHBsYXRmb3JtX2RldmljZV9hbGxvYygicHhhMnh4LXBjbWNpYSIsIC0xKTsKIAlpZiAoIW1zdF9wY21jaWFfZGV2aWNlKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW1zdF9wY21jaWFfZGV2aWNlLT5kZXYucGxhdGZvcm1fZGF0YSA9ICZtc3RfcGNtY2lhX29wczsKLQotCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQobXN0X3BjbWNpYV9kZXZpY2UpOworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGRfZGF0YShtc3RfcGNtY2lhX2RldmljZSwgJm1zdF9wY21jaWFfb3BzLAorCQkJCSAgICAgICBzaXplb2YobXN0X3BjbWNpYV9vcHMpKTsKKwlpZiAocmV0ID09IDApCisJCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQobXN0X3BjbWNpYV9kZXZpY2UpOwogCiAJaWYgKHJldCkKIAkJcGxhdGZvcm1fZGV2aWNlX3B1dChtc3RfcGNtY2lhX2RldmljZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfc2hhcnBzbC5jIGIvZHJpdmVycy9wY21jaWEvcHhhMnh4X3NoYXJwc2wuYwppbmRleCBkNWMzM2JkLi5kNzFmOTNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9weGEyeHhfc2hhcnBzbC5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3B4YTJ4eF9zaGFycHNsLmMKQEAgLTIyMiw3ICsyMjIsNyBAQAogCXNoYXJwc2xfcGNtY2lhX2luaXRfcmVzZXQoc2t0KTsKIH0KIAotc3RhdGljIHN0cnVjdCBwY21jaWFfbG93X2xldmVsIHNoYXJwc2xfcGNtY2lhX29wcyA9IHsKK3N0YXRpYyBzdHJ1Y3QgcGNtY2lhX2xvd19sZXZlbCBzaGFycHNsX3BjbWNpYV9vcHMgX19pbml0ZGF0YSA9IHsKIAkub3duZXIgICAgICAgICAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5od19pbml0ICAgICAgICAgICAgICAgID0gc2hhcnBzbF9wY21jaWFfaHdfaW5pdCwKIAkuaHdfc2h1dGRvd24gICAgICAgICAgICA9IHNoYXJwc2xfcGNtY2lhX2h3X3NodXRkb3duLApAQCAtMjYxLDEwICsyNjEsMTIgQEAKIAlpZiAoIXNoYXJwc2xfcGNtY2lhX2RldmljZSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlzaGFycHNsX3BjbWNpYV9kZXZpY2UtPmRldi5wbGF0Zm9ybV9kYXRhID0gJnNoYXJwc2xfcGNtY2lhX29wczsKLQlzaGFycHNsX3BjbWNpYV9kZXZpY2UtPmRldi5wYXJlbnQgPSBwbGF0Zm9ybV9zY29vcF9jb25maWctPmRldnNbMF0uZGV2OwotCi0JcmV0ID0gcGxhdGZvcm1fZGV2aWNlX2FkZChzaGFycHNsX3BjbWNpYV9kZXZpY2UpOworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGRfZGF0YShzaGFycHNsX3BjbWNpYV9kZXZpY2UsCisJCQkmc2hhcnBzbF9wY21jaWFfb3BzLCBzaXplb2Yoc2hhcnBzbF9wY21jaWFfb3BzKSk7CisJaWYgKHJldCA9PSAwKSB7CisJCXNoYXJwc2xfcGNtY2lhX2RldmljZS0+ZGV2LnBhcmVudCA9IHBsYXRmb3JtX3Njb29wX2NvbmZpZy0+ZGV2c1swXS5kZXY7CisJCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoc2hhcnBzbF9wY21jaWFfZGV2aWNlKTsKKwl9CiAKIAlpZiAocmV0KQogCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KHNoYXJwc2xfcGNtY2lhX2RldmljZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9yc3JjX21nci5jIGIvZHJpdmVycy9wY21jaWEvcnNyY19tZ3IuYwppbmRleCBjZTIyMjYyLi5jMGUyYWZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9yc3JjX21nci5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3JzcmNfbWdyLmMKQEAgLTIxLDg2ICsyMSw2IEBACiAjaW5jbHVkZSAiY3NfaW50ZXJuYWwuaCIKIAogCi0jaWZkZWYgQ09ORklHX1BDTUNJQV9JT0NUTAotCi0jaWZkZWYgQ09ORklHX1BDTUNJQV9QUk9CRQotCi1zdGF0aWMgaW50IGFkanVzdF9pcnEoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIGFkanVzdF90ICphZGopCi17Ci0JaW50IGlycTsKLQl1MzIgbWFzazsKLQotCWlycSA9IGFkai0+cmVzb3VyY2UuaXJxLklSUTsKLQlpZiAoKGlycSA8IDApIHx8IChpcnEgPiAxNSkpCi0JCXJldHVybiBDU19CQURfSVJROwotCi0JaWYgKGFkai0+QWN0aW9uICE9IFJFTU9WRV9NQU5BR0VEX1JFU09VUkNFKQotCQlyZXR1cm4gMDsKLQotCW1hc2sgPSAxIDw8IGlycTsKLQotCWlmICghKHMtPmlycV9tYXNrICYgbWFzaykpCi0JCXJldHVybiAwOwotCi0Jcy0+aXJxX21hc2sgJj0gfm1hc2s7Ci0KLQlyZXR1cm4gMDsKLX0KLQotI2Vsc2UKLQotc3RhdGljIGlubGluZSBpbnQgYWRqdXN0X2lycShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikgewotCXJldHVybiBDU19TVUNDRVNTOwotfQotCi0jZW5kaWYKLQotCi1pbnQgcGNtY2lhX2FkanVzdF9yZXNvdXJjZV9pbmZvKGFkanVzdF90ICphZGopCi17Ci0Jc3RydWN0IHBjbWNpYV9zb2NrZXQgKnM7Ci0JaW50IHJldCA9IENTX1VOU1VQUE9SVEVEX0ZVTkNUSU9OOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlkb3duX3JlYWQoJnBjbWNpYV9zb2NrZXRfbGlzdF9yd3NlbSk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShzLCAmcGNtY2lhX3NvY2tldF9saXN0LCBzb2NrZXRfbGlzdCkgewotCi0JCWlmIChhZGotPlJlc291cmNlID09IFJFU19JUlEpCi0JCQlyZXQgPSBhZGp1c3RfaXJxKHMsIGFkaik7Ci0KLQkJZWxzZSBpZiAocy0+cmVzb3VyY2Vfb3BzLT5hZGp1c3RfcmVzb3VyY2UpIHsKLQotCQkJLyogeW91IGNhbid0IHVzZSB0aGUgb2xkIGludGVyZmFjZSBpZiB0aGUgbmV3Ci0JCQkgKiBvbmUgd2FzIHVzZWQgYmVmb3JlICovCi0JCQlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwotCQkJaWYgKChzLT5yZXNvdXJjZV9zZXR1cF9uZXcpICYmCi0JCQkgICAgIShzLT5yZXNvdXJjZV9zZXR1cF9vbGQpKSB7Ci0JCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOwotCQkJCWNvbnRpbnVlOwotCQkJfSBlbHNlIGlmICghKHMtPnJlc291cmNlX3NldHVwX29sZCkpCi0JCQkJcy0+cmVzb3VyY2Vfc2V0dXBfb2xkID0gMTsKLQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnMtPmxvY2ssIGZsYWdzKTsKLQotCQkJcmV0ID0gcy0+cmVzb3VyY2Vfb3BzLT5hZGp1c3RfcmVzb3VyY2UocywgYWRqKTsKLQkJCWlmICghcmV0KSB7Ci0JCQkJLyogYXMgdGhlcmUncyBubyB3YXkgd2Uga25vdyB0aGlzIGlzIHRoZQotCQkJCSAqIGxhc3QgY2FsbCB0byBhZGp1c3RfcmVzb3VyY2VfaW5mbywgd2UKLQkJCQkgKiBhbHdheXMgbmVlZCB0byBhc3N1bWUgdGhpcyBpcyB0aGUgbGF0ZXN0Ci0JCQkJICogb25lLi4uICovCi0JCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnMtPmxvY2ssIGZsYWdzKTsKLQkJCQlzLT5yZXNvdXJjZV9zZXR1cF9kb25lID0gMTsKLQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7Ci0JCQl9Ci0JCX0KLQl9Ci0JdXBfcmVhZCgmcGNtY2lhX3NvY2tldF9saXN0X3J3c2VtKTsKLQotCXJldHVybiAocmV0KTsKLX0KLUVYUE9SVF9TWU1CT0wocGNtY2lhX2FkanVzdF9yZXNvdXJjZV9pbmZvKTsKLQotI2VuZGlmCi0KIGludCBwY21jaWFfdmFsaWRhdGVfbWVtKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKQogewogCWlmIChzLT5yZXNvdXJjZV9vcHMtPnZhbGlkYXRlX21lbSkKQEAgLTE2NCw3ICs4NCw4IEBACiAJLmFkanVzdF9pb19yZWdpb24gPSBOVUxMLAogCS5maW5kX2lvID0gTlVMTCwKIAkuZmluZF9tZW0gPSBOVUxMLAotCS5hZGp1c3RfcmVzb3VyY2UgPSBOVUxMLAorCS5hZGRfaW8gPSBOVUxMLAorCS5hZGRfbWVtID0gTlVMTCwKIAkuaW5pdCA9IHN0YXRpY19pbml0LAogCS5leGl0ID0gTlVMTCwKIH07CkBAIC0yNjQsNyArMTg1LDggQEAKIAkuYWRqdXN0X2lvX3JlZ2lvbiA9IGlvZHluX2FkanVzdF9pb19yZWdpb24sCiAJLmZpbmRfaW8gPSBpb2R5bl9maW5kX2lvX3JlZ2lvbiwKIAkuZmluZF9tZW0gPSBOVUxMLAotCS5hZGp1c3RfcmVzb3VyY2UgPSBOVUxMLAorCS5hZGRfaW8gPSBOVUxMLAorCS5hZGRfbWVtID0gTlVMTCwKIAkuaW5pdCA9IHN0YXRpY19pbml0LAogCS5leGl0ID0gTlVMTCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9yc3JjX25vbnN0YXRpYy5jIGIvZHJpdmVycy9wY21jaWEvcnNyY19ub25zdGF0aWMuYwppbmRleCAwZmNmNzYzLi5kMGMxZDYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3BjbWNpYS9yc3JjX25vbnN0YXRpYy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3JzcmNfbm9uc3RhdGljLmMKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCkBAIC0yNjEsMjEgKzI2MCwyMiBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCiAKIC8qIFZhbGlkYXRpb24gZnVuY3Rpb24gZm9yIGNhcmRzIHdpdGggYSB2YWxpZCBDSVMgKi8KLXN0YXRpYyBpbnQgcmVhZGFibGUoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHN0cnVjdCByZXNvdXJjZSAqcmVzLCBjaXNpbmZvX3QgKmluZm8pCitzdGF0aWMgaW50IHJlYWRhYmxlKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcywKKwkJICAgIHVuc2lnbmVkIGludCAqY291bnQpCiB7CiAJaW50IHJldCA9IC0xOwogCiAJcy0+Y2lzX21lbS5yZXMgPSByZXM7CiAJcy0+Y2lzX3ZpcnQgPSBpb3JlbWFwKHJlcy0+c3RhcnQsIHMtPm1hcF9zaXplKTsKIAlpZiAocy0+Y2lzX3ZpcnQpIHsKLQkJcmV0ID0gcGNjYXJkX3ZhbGlkYXRlX2NpcyhzLCBCSU5EX0ZOX0FMTCwgaW5mbyk7CisJCXJldCA9IHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsIGNvdW50KTsKIAkJLyogaW52YWxpZGF0ZSBtYXBwaW5nIGFuZCBDSVMgY2FjaGUgKi8KIAkJaW91bm1hcChzLT5jaXNfdmlydCk7CiAJCXMtPmNpc192aXJ0ID0gTlVMTDsKIAkJZGVzdHJveV9jaXNfY2FjaGUocyk7CiAJfQogCXMtPmNpc19tZW0ucmVzID0gTlVMTDsKLQlpZiAoKHJldCAhPSAwKSB8fCAoaW5mby0+Q2hhaW5zID09IDApKQorCWlmICgocmV0ICE9IDApIHx8IChjb3VudCA9PSAwKSkKIAkJcmV0dXJuIDA7CiAJcmV0dXJuIDE7CiB9CkBAIC0zMTYsNyArMzE2LDcgQEAKIGNpc19yZWFkYWJsZShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIHNpemUpCiB7CiAJc3RydWN0IHJlc291cmNlICpyZXMxLCAqcmVzMjsKLQljaXNpbmZvX3QgaW5mbzEsIGluZm8yOworCXVuc2lnbmVkIGludCBpbmZvMSwgaW5mbzI7CiAJaW50IHJldCA9IDA7CiAKIAlyZXMxID0gY2xhaW1fcmVnaW9uKHMsIGJhc2UsIHNpemUvMiwgSU9SRVNPVVJDRV9NRU0sICJjcyBtZW1vcnkgcHJvYmUiKTsKQEAgLTMzMCw3ICszMzAsNyBAQAogCWZyZWVfcmVnaW9uKHJlczIpOwogCWZyZWVfcmVnaW9uKHJlczEpOwogCi0JcmV0dXJuIChyZXQgPT0gMikgJiYgKGluZm8xLkNoYWlucyA9PSBpbmZvMi5DaGFpbnMpOworCXJldHVybiAocmV0ID09IDIpICYmIChpbmZvMSA9PSBpbmZvMik7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTc2NiwyMSArNzY2LDYgQEAKIH0KIAogCi1zdGF0aWMgaW50IG5vbnN0YXRpY19hZGp1c3RfcmVzb3VyY2VfaW5mbyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywgYWRqdXN0X3QgKmFkaikKLXsKLQl1bnNpZ25lZCBsb25nIGVuZDsKLQotCXN3aXRjaCAoYWRqLT5SZXNvdXJjZSkgewotCWNhc2UgUkVTX01FTU9SWV9SQU5HRToKLQkJZW5kID0gYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZSArIGFkai0+cmVzb3VyY2UubWVtb3J5LlNpemUgLSAxOwotCQlyZXR1cm4gYWRqdXN0X21lbW9yeShzLCBhZGotPkFjdGlvbiwgYWRqLT5yZXNvdXJjZS5tZW1vcnkuQmFzZSwgZW5kKTsKLQljYXNlIFJFU19JT19SQU5HRToKLQkJZW5kID0gYWRqLT5yZXNvdXJjZS5pby5CYXNlUG9ydCArIGFkai0+cmVzb3VyY2UuaW8uTnVtUG9ydHMgLSAxOwotCQlyZXR1cm4gYWRqdXN0X2lvKHMsIGFkai0+QWN0aW9uLCBhZGotPnJlc291cmNlLmlvLkJhc2VQb3J0LCBlbmQpOwotCX0KLQlyZXR1cm4gQ1NfVU5TVVBQT1JURURfRlVOQ1RJT047Ci19Ci0KICNpZmRlZiBDT05GSUdfUENJCiBzdGF0aWMgaW50IG5vbnN0YXRpY19hdXRvYWRkX3Jlc291cmNlcyhzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcykKIHsKQEAgLTg4OSw3ICs4NzQsOCBAQAogCS5hZGp1c3RfaW9fcmVnaW9uID0gbm9uc3RhdGljX2FkanVzdF9pb19yZWdpb24sCiAJLmZpbmRfaW8gPSBub25zdGF0aWNfZmluZF9pb19yZWdpb24sCiAJLmZpbmRfbWVtID0gbm9uc3RhdGljX2ZpbmRfbWVtX3JlZ2lvbiwKLQkuYWRqdXN0X3Jlc291cmNlID0gbm9uc3RhdGljX2FkanVzdF9yZXNvdXJjZV9pbmZvLAorCS5hZGRfaW8gPSBhZGp1c3RfaW8sCisJLmFkZF9tZW0gPSBhZGp1c3RfbWVtb3J5LAogCS5pbml0ID0gbm9uc3RhdGljX2luaXQsCiAJLmV4aXQgPSBub25zdGF0aWNfcmVsZWFzZV9yZXNvdXJjZV9kYiwKIH07CkBAIC0xMDA4LDQxICs5OTQsMzQgQEAKIH0KIHN0YXRpYyBERVZJQ0VfQVRUUihhdmFpbGFibGVfcmVzb3VyY2VzX21lbSwgMDYwMCwgc2hvd19tZW1fZGIsIHN0b3JlX21lbV9kYik7CiAKLXN0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqcGNjYXJkX3JzcmNfYXR0cmlidXRlc1tdID0gewotCSZkZXZfYXR0cl9hdmFpbGFibGVfcmVzb3VyY2VzX2lvLAotCSZkZXZfYXR0cl9hdmFpbGFibGVfcmVzb3VyY2VzX21lbSwKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpwY2NhcmRfcnNyY19hdHRyaWJ1dGVzW10gPSB7CisJJmRldl9hdHRyX2F2YWlsYWJsZV9yZXNvdXJjZXNfaW8uYXR0ciwKKwkmZGV2X2F0dHJfYXZhaWxhYmxlX3Jlc291cmNlc19tZW0uYXR0ciwKIAlOVUxMLAogfTsKIAorc3RhdGljIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgcnNyY19hdHRyaWJ1dGVzID0geworCS5hdHRycyA9IHBjY2FyZF9yc3JjX2F0dHJpYnV0ZXMsCit9OworCiBzdGF0aWMgaW50IF9fZGV2aW5pdCBwY2NhcmRfc3lzZnNfYWRkX3JzcmMoc3RydWN0IGRldmljZSAqZGV2LAogCQkJCQkgICBzdHJ1Y3QgY2xhc3NfaW50ZXJmYWNlICpjbGFzc19pbnRmKQogewogCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzID0gZGV2X2dldF9kcnZkYXRhKGRldik7Ci0Jc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKiphdHRyOwotCWludCByZXQgPSAwOworCiAJaWYgKHMtPnJlc291cmNlX29wcyAhPSAmcGNjYXJkX25vbnN0YXRpY19vcHMpCiAJCXJldHVybiAwOwotCi0JZm9yIChhdHRyID0gcGNjYXJkX3JzcmNfYXR0cmlidXRlczsgKmF0dHI7IGF0dHIrKykgewotCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGV2LCAqYXR0cik7Ci0JCWlmIChyZXQpCi0JCQlicmVhazsKLQl9Ci0KLQlyZXR1cm4gcmV0OworCXJldHVybiBzeXNmc19jcmVhdGVfZ3JvdXAoJmRldi0+a29iaiwgJnJzcmNfYXR0cmlidXRlcyk7CiB9CiAKIHN0YXRpYyB2b2lkIF9fZGV2ZXhpdCBwY2NhcmRfc3lzZnNfcmVtb3ZlX3JzcmMoc3RydWN0IGRldmljZSAqZGV2LAogCQkJCQkgICAgICAgc3RydWN0IGNsYXNzX2ludGVyZmFjZSAqY2xhc3NfaW50ZikKIHsKIAlzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwotCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICoqYXR0cjsKIAogCWlmIChzLT5yZXNvdXJjZV9vcHMgIT0gJnBjY2FyZF9ub25zdGF0aWNfb3BzKQogCQlyZXR1cm47Ci0KLQlmb3IgKGF0dHIgPSBwY2NhcmRfcnNyY19hdHRyaWJ1dGVzOyAqYXR0cjsgYXR0cisrKQotCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAqYXR0cik7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZkZXYtPmtvYmosICZyc3JjX2F0dHJpYnV0ZXMpOwogfQogCiBzdGF0aWMgc3RydWN0IGNsYXNzX2ludGVyZmFjZSBwY2NhcmRfcnNyY19pbnRlcmZhY2UgX19yZWZkYXRhID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY21jaWEvc29jX2NvbW1vbi5oIGIvZHJpdmVycy9wY21jaWEvc29jX2NvbW1vbi5oCmluZGV4IDFlZGMxZGEuLjkxZWY2YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3NvY19jb21tb24uaAorKysgYi9kcml2ZXJzL3BjbWNpYS9zb2NfY29tbW9uLmgKQEAgLTE0LDcgKzE0LDYgQEAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KICNpbmNsdWRlIDxwY21jaWEvc3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXN0cGwuaD4KICNpbmNsdWRlICJjc19pbnRlcm5hbC5oIgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS9zb2NrZXRfc3lzZnMuYyBiL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jCmluZGV4IDU2MjM4NGQuLjAwNmEyOWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jCisrKyBiL2RyaXZlcnMvcGNtY2lhL3NvY2tldF9zeXNmcy5jCkBAIC0yNywxMSArMjcsOSBAQAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAKLSNkZWZpbmUgSU5fQ0FSRF9TRVJWSUNFUwogI2luY2x1ZGUgPHBjbWNpYS9jc190eXBlcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9zcy5oPgogI2luY2x1ZGUgPHBjbWNpYS9jcy5oPgotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2Npc3RwbC5oPgogI2luY2x1ZGUgPHBjbWNpYS9jaXNyZWcuaD4KICNpbmNsdWRlIDxwY21jaWEvZHMuaD4KQEAgLTI5Myw3ICsyOTEsNyBAQAogCQljb3VudCA9IDA7CiAJZWxzZSB7CiAJCXN0cnVjdCBwY21jaWFfc29ja2V0ICpzOwotCQljaXNpbmZvX3QgY2lzaW5mbzsKKwkJdW5zaWduZWQgaW50IGNoYWluczsKIAogCQlpZiAob2ZmICsgY291bnQgPiBzaXplKQogCQkJY291bnQgPSBzaXplIC0gb2ZmOwpAQCAtMzAyLDkgKzMwMCw5IEBACiAKIAkJaWYgKCEocy0+c3RhdGUgJiBTT0NLRVRfUFJFU0VOVCkpCiAJCQlyZXR1cm4gLUVOT0RFVjsKLQkJaWYgKHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsICZjaXNpbmZvKSkKKwkJaWYgKHBjY2FyZF92YWxpZGF0ZV9jaXMocywgQklORF9GTl9BTEwsICZjaGFpbnMpKQogCQkJcmV0dXJuIC1FSU87Ci0JCWlmICghY2lzaW5mby5DaGFpbnMpCisJCWlmICghY2hhaW5zKQogCQkJcmV0dXJuIC1FTk9EQVRBOwogCiAJCWNvdW50ID0gcGNjYXJkX2V4dHJhY3RfY2lzKHMsIGJ1Ziwgb2ZmLCBjb3VudCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3BjbWNpYS90aTExM3guaCBiL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCmluZGV4IGQyOTY1N2IuLjEyOWRiN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCisrKyBiL2RyaXZlcnMvcGNtY2lhL3RpMTEzeC5oCkBAIC0xNTUsNyArMTU1LDcgQEAKICNkZWZpbmUgRU5FX1RFU1RfQzlfVExURU5BQkxFCQkweDAyCiAjZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFX0YwCQkweDA0CiAjZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFX0YxCQkweDA4Ci0jZGVmaW5lIEVORV9URVNUX0M5X1BGRU5BQkxFCQkoRU5FX1RFU1RfQzlfUEZFTkFCTEVfRjAgfCBFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCkKKyNkZWZpbmUgRU5FX1RFU1RfQzlfUEZFTkFCTEUJCShFTkVfVEVTVF9DOV9QRkVOQUJMRV9GMCB8IEVORV9URVNUX0M5X1BGRU5BQkxFX0YxKQogI2RlZmluZSBFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YwCTB4NDAKICNkZWZpbmUgRU5FX1RFU1RfQzlfV1BESVNBTEJMRV9GMQkweDgwCiAjZGVmaW5lIEVORV9URVNUX0M5X1dQRElTQUxCTEUJCShFTkVfVEVTVF9DOV9XUERJU0FMQkxFX0YwIHwgRU5FX1RFU1RfQzlfV1BESVNBTEJMRV9GMSkKQEAgLTY5Miw3ICs2OTIsNyBAQAogCQlnb3RvIG91dDsKIAogCS8qIGNoZWNrIHN0YXRlICovCi0JeWVudGFfZ2V0X3N0YXR1cygmc29ja2V0LT5zb2NrZXQsICZzdGF0ZSk7CisJeWVudGFfZ2V0X3N0YXR1cygmc2xvdDItPnNvY2tldCwgJnN0YXRlKTsKIAlpZiAoc3RhdGUgJiBTU19ERVRFQ1QpIHsKIAkJcmV0ID0gMDsKIAkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3JhcGlkaW8vcmlvLWRyaXZlci5jIGIvZHJpdmVycy9yYXBpZGlvL3Jpby1kcml2ZXIuYwppbmRleCAzY2U5ZjNkLi45NTZkM2U3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3JhcGlkaW8vcmlvLWRyaXZlci5jCisrKyBiL2RyaXZlcnMvcmFwaWRpby9yaW8tZHJpdmVyLmMKQEAgLTEwMSw4ICsxMDEsOCBAQAogCQlpZiAoZXJyb3IgPj0gMCkgewogCQkJcmRldi0+ZHJpdmVyID0gcmRydjsKIAkJCWVycm9yID0gMDsKKwkJfSBlbHNlCiAJCQlyaW9fZGV2X3B1dChyZGV2KTsKLQkJfQogCX0KIAlyZXR1cm4gZXJyb3I7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9LY29uZmlnIGIvZHJpdmVycy9ydGMvS2NvbmZpZwppbmRleCA0OTQ5ZGM0Li5mYzg1YmYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9LY29uZmlnCisrKyBiL2RyaXZlcnMvcnRjL0tjb25maWcKQEAgLTQ2OSw2ICs0NjksMTYgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZQogCSAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIHJ0Yy12cjQxeHguCiAKK2NvbmZpZyBSVENfRFJWX1BMMDMwCisJdHJpc3RhdGUgIkFSTSBBTUJBIFBMMDMwIFJUQyIKKwlkZXBlbmRzIG9uIEFSTV9BTUJBCisJaGVscAorCSAgSWYgeW91IHNheSBZIGhlcmUgeW91IHdpbGwgZ2V0IGFjY2VzcyB0byBBUk0gQU1CQQorCSAgUHJpbWVDZWxsIFBMMDMwIFJUQyBmb3VuZCBvbiBjZXJ0YWluIEFSTSBTT0NzLgorCisJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUKKwkgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBydGMtcGwwMzAuCisKIGNvbmZpZyBSVENfRFJWX1BMMDMxCiAJdHJpc3RhdGUgIkFSTSBBTUJBIFBMMDMxIFJUQyIKIAlkZXBlbmRzIG9uIEFSTV9BTUJBCkBAIC00OTUsMTIgKzUwNSwxMyBAQAogCSAgdGhpcyBpcyBwb3dlcmVkIGJ5IHRoZSBiYWNrdXAgcG93ZXIgc3VwcGx5LgogCiBjb25maWcgUlRDX0RSVl9BVDkxU0FNOQotCXRyaXN0YXRlICJBVDkxU0FNOXgiCisJdHJpc3RhdGUgIkFUOTFTQU05eC9BVDkxQ0FQOSIKIAlkZXBlbmRzIG9uIEFSQ0hfQVQ5MSAmJiAhKEFSQ0hfQVQ5MVJNOTIwMCB8fCBBUkNIX0FUOTFYNDApCiAJaGVscAotCSAgUlRDIGRyaXZlciBmb3IgdGhlIEF0bWVsIEFUOTFTQU05eCBpbnRlcm5hbCBSVFQgKFJlYWwgVGltZSBUaW1lcikuCi0JICBUaGVzZSB0aW1lcnMgYXJlIHBvd2VyZWQgYnkgdGhlIGJhY2t1cCBwb3dlciBzdXBwbHkgKHN1Y2ggYXMgYQotCSAgc21hbGwgY29pbiBjZWxsIGJhdHRlcnkpLCBidXQgZG8gbm90IG5lZWQgdG8gYmUgdXNlZCBhcyBSVENzLgorCSAgUlRDIGRyaXZlciBmb3IgdGhlIEF0bWVsIEFUOTFTQU05eCBhbmQgQVQ5MUNBUDkgaW50ZXJuYWwgUlRUCisJICAoUmVhbCBUaW1lIFRpbWVyKS4gVGhlc2UgdGltZXJzIGFyZSBwb3dlcmVkIGJ5IHRoZSBiYWNrdXAgcG93ZXIKKwkgIHN1cHBseSAoc3VjaCBhcyBhIHNtYWxsIGNvaW4gY2VsbCBiYXR0ZXJ5KSwgYnV0IGRvIG5vdCBuZWVkIHRvCisJICBiZSB1c2VkIGFzIFJUQ3MuCiAKIAkgIChPbiBBVDkxU0FNOXJsIGNoaXBzIHlvdSBwcm9iYWJseSB3YW50IHRvIHVzZSB0aGUgZGVkaWNhdGVkIFJUQwogCSAgbW9kdWxlIGFuZCBsZWF2ZSB0aGUgUlRUIGF2YWlsYWJsZSBmb3Igb3RoZXIgdXNlcy4pCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9NYWtlZmlsZSBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCmluZGV4IGI2ZTE0ZDUuLmI1ZDlkNjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL01ha2VmaWxlCisrKyBiL2RyaXZlcnMvcnRjL01ha2VmaWxlCkBAIC00MSw2ICs0MSw3IEBACiBvYmotJChDT05GSUdfUlRDX0RSVl9PTUFQKQkrPSBydGMtb21hcC5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QQ0Y4NTYzKQkrPSBydGMtcGNmODU2My5vCiBvYmotJChDT05GSUdfUlRDX0RSVl9QQ0Y4NTgzKQkrPSBydGMtcGNmODU4My5vCitvYmotJChDT05GSUdfUlRDX0RSVl9QTDAzMCkJKz0gcnRjLXBsMDMwLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1BMMDMxKQkrPSBydGMtcGwwMzEubwogb2JqLSQoQ09ORklHX1JUQ19EUlZfUFBDKQkrPSBydGMtcHBjLm8KIG9iai0kKENPTkZJR19SVENfRFJWX1I5NzAxKQkrPSBydGMtcjk3MDEubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDMyYXA3MDB4LmMKaW5kZXggMmVmOGNkZi4uOTBiOWE2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0MzJhcDcwMHguYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtYXQzMmFwNzAweC5jCkBAIC0yNjUsNiArMjY1LDcgQEAKIAl9CiAKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBydGMpOworCWRldmljZV9pbml0X3dha2V1cCgmcGRldi0+ZGV2LCAxKTsKIAogCWRldl9pbmZvKCZwZGV2LT5kZXYsICJBdG1lbCBSVEMgZm9yIEFUMzJBUDcwMHggYXQgJTA4bHggaXJxICVsZFxuIiwKIAkJCSh1bnNpZ25lZCBsb25nKXJ0Yy0+cmVncywgcnRjLT5pcnEpOwpAQCAtMjg0LDYgKzI4NSw4IEBACiB7CiAJc3RydWN0IHJ0Y19hdDMyYXA3MDB4ICpydGMgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAorCWRldmljZV9pbml0X3dha2V1cCgmcGRldi0+ZGV2LCAwKTsKKwogCWZyZWVfaXJxKHJ0Yy0+aXJxLCBydGMpOwogCWlvdW5tYXAocnRjLT5yZWdzKTsKIAlydGNfZGV2aWNlX3VucmVnaXN0ZXIocnRjLT5ydGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxcm05MjAwLmMKaW5kZXggMzllNjRhYi4uOWMzZGI5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLWF0OTFybTkyMDAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXJtOTIwMC5jCkBAIC0yOSwxMCArMjksNiBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MV9ydGMuaD4KIAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtYXQ5MXNhbTkuYyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCmluZGV4IDM4ZDg3NDIuLmYwMjQ2ZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1hdDkxc2FtOS5jCkBAIC0xOSw3ICsxOSw2IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KIAotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL2F0OTFfcnR0Lmg+CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYyBiL2RyaXZlcnMvcnRjL3J0Yy1kZXYuYwppbmRleCA5MGRmYTBkLi4wMTE0YTc4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtZGV2LmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLWRldi5jCkBAIC0xMyw2ICsxMyw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgInJ0Yy1jb3JlLmgiCiAKIHN0YXRpYyBkZXZfdCBydGNfZGV2dDsKQEAgLTI2LDggKzI3LDExIEBACiAJCQkJCXN0cnVjdCBydGNfZGV2aWNlLCBjaGFyX2Rldik7CiAJY29uc3Qgc3RydWN0IHJ0Y19jbGFzc19vcHMgKm9wcyA9IHJ0Yy0+b3BzOwogCi0JaWYgKHRlc3RfYW5kX3NldF9iaXRfbG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKSkKLQkJcmV0dXJuIC1FQlVTWTsKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0X2xvY2soUlRDX0RFVl9CVVNZLCAmcnRjLT5mbGFncykpIHsKKwkJZXJyID0gLUVCVVNZOworCQlnb3RvIG91dDsKKwl9CiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBydGM7CiAKQEAgLTM3LDExICs0MSwxMyBAQAogCQlydGMtPmlycV9kYXRhID0gMDsKIAkJc3Bpbl91bmxvY2tfaXJxKCZydGMtPmlycV9sb2NrKTsKIAotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogc29tZXRoaW5nIGhhcyBnb25lIHdyb25nICovCiAJY2xlYXJfYml0X3VubG9jayhSVENfREVWX0JVU1ksICZydGMtPmZsYWdzKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLWZtMzEzMC5jIGIvZHJpdmVycy9ydGMvcnRjLWZtMzEzMC5jCmluZGV4IDExNjQ0YzguLmFiZmRmY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1mbTMxMzAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtZm0zMTMwLmMKQEAgLTU1LDcgKzU1LDcgQEAKIAlpbnQJCQlhbGFybTsKIH07CiBzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgZm0zMTMwX2lkW10gPSB7Ci0JeyAiZm0zMTMwLXJ0YyIsIDAgfSwKKwl7ICJmbTMxMzAiLCAwIH0sCiAJeyB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShpMmMsIGZtMzEzMF9pZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtbTQxdDgwLmMgYi9kcml2ZXJzL3J0Yy9ydGMtbTQxdDgwLmMKaW5kZXggYTNlMDg4MC4uMGExOWMwNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLW00MXQ4MC5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1tNDF0ODAuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9ydGMuaD4KQEAgLTY1NSwxMiArNjU2LDE2IEBACiBzdGF0aWMgaW50IHdkdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCWlmIChNSU5PUihpbm9kZS0+aV9yZGV2KSA9PSBXQVRDSERPR19NSU5PUikgewotCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmd2R0X2lzX29wZW4pKQorCQlsb2NrX2tlcm5lbCgpOworCQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAmd2R0X2lzX29wZW4pKSB7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gLUVCVVNZOworCQl9CiAJCS8qCiAJCSAqCUFjdGl2YXRlCiAJCSAqLwogCQl3ZHRfaXNfb3BlbiA9IDE7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIDA7CiAJfQogCXJldHVybiAtRU5PREVWOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLW9tYXAuYyBiL2RyaXZlcnMvcnRjL3J0Yy1vbWFwLmMKaW5kZXggNThmODFjNy4uZWIyM2Q4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ydGMvcnRjLW9tYXAuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtb21hcC5jCkBAIC0yMiw3ICsyMiw2IEBACiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KLSNpbmNsdWRlIDxhc20vbWFjaC90aW1lLmg+CiAKIAogLyogVGhlIE9NQVAxIFJUQyBpcyBhIHllYXIvbW9udGgvZGF5L2hvdXJzL21pbnV0ZXMvc2Vjb25kcyBCQ0QgY2xvY2sKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1wY2Y4NTYzLmMgYi9kcml2ZXJzL3J0Yy9ydGMtcGNmODU2My5jCmluZGV4IDBmYzRjMzYuLjc0OGE1MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcnRjL3J0Yy1wY2Y4NTYzLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXBjZjg1NjMuYwpAQCAtMzAyLDYgKzMwMiw3IEBACiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBwY2Y4NTYzX2lkW10gPSB7CiAJeyAicGNmODU2MyIsIDAgfSwKKwl7ICJydGM4NTY0IiwgMCB9LAogCXsgfQogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUoaTJjLCBwY2Y4NTYzX2lkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jIGIvZHJpdmVycy9ydGMvcnRjLXBsMDMwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ0OGVlYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jCkBAIC0wLDAgKzEsMjE3IEBACisvKgorICogIGxpbnV4L2RyaXZlcnMvcnRjL3J0Yy1wbDAzMC5jCisgKgorICogIENvcHlyaWdodCAoQykgMjAwMC0yMDAxIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvYW1iYS9idXMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIFJUQ19EUgkJKDApCisjZGVmaW5lIFJUQ19NUgkJKDQpCisjZGVmaW5lIFJUQ19TVEFUCSg4KQorI2RlZmluZSBSVENfRU9JCQkoOCkKKyNkZWZpbmUgUlRDX0xSCQkoMTIpCisjZGVmaW5lIFJUQ19DUgkJKDE2KQorI2RlZmluZSBSVENfQ1JfTUlFCSgxIDw8IDApCisKK3N0cnVjdCBwbDAzMF9ydGMgeworCXN0cnVjdCBydGNfZGV2aWNlCSpydGM7CisJdm9pZCBfX2lvbWVtCQkqYmFzZTsKK307CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBwbDAzMF9pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9pZDsKKwl3cml0ZWwoMCwgcnRjLT5iYXNlICsgUlRDX0VPSSk7CisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaW50IHBsMDMwX29wZW4oc3RydWN0IGRldmljZSAqZGV2KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBwbDAzMF9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKK30KKworc3RhdGljIGludCBwbDAzMF9pb2N0bChzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXJldHVybiAtRU5PSU9DVExDTUQ7Cit9CisKK3N0YXRpYyBpbnQgcGwwMzBfcmVhZF9hbGFybShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCisJcnRjX3RpbWVfdG9fdG0ocmVhZGwocnRjLT5iYXNlICsgUlRDX01SKSwgJmFscm0tPnRpbWUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHBsMDMwX3NldF9hbGFybShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfd2thbHJtICphbHJtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGxvbmcgdGltZTsKKwlpbnQgcmV0OworCisJLyoKKwkgKiBBdCB0aGUgbW9tZW50LCB3ZSBjYW4gb25seSBkZWFsIHdpdGggbm9uLXdpbGRjYXJkZWQgYWxhcm0gdGltZXMuCisJICovCisJcmV0ID0gcnRjX3ZhbGlkX3RtKCZhbHJtLT50aW1lKTsKKwlpZiAocmV0ID09IDApCisJCXJldCA9IHJ0Y190bV90b190aW1lKCZhbHJtLT50aW1lLCAmdGltZSk7CisJaWYgKHJldCA9PSAwKQorCQl3cml0ZWwodGltZSwgcnRjLT5iYXNlICsgUlRDX01SKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBsMDMwX3JlYWRfdGltZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJc3RydWN0IHBsMDMwX3J0YyAqcnRjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlydGNfdGltZV90b190bShyZWFkbChydGMtPmJhc2UgKyBSVENfRFIpLCB0bSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCB0aGUgUlRDIHRpbWUuICBVbmZvcnR1bmF0ZWx5LCB3ZSBjYW4ndCBhY2N1cmF0ZWx5IHNldAorICogdGhlIHBvaW50IGF0IHdoaWNoIHRoZSBjb3VudGVyIHVwZGF0ZXMuCisgKgorICogQWxzbywgc2luY2UgUlRDX0xSIGlzIHRyYW5zZmVycmVkIHRvIFJUQ19DUiBvbiBuZXh0IHJpc2luZworICogZWRnZSBvZiB0aGUgMUh6IGNsb2NrLCB3ZSBtdXN0IHdyaXRlIHRoZSB0aW1lIG9uZSBzZWNvbmQKKyAqIGluIGFkdmFuY2UuCisgKi8KK3N0YXRpYyBpbnQgcGwwMzBfc2V0X3RpbWUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgcnRjX3RpbWUgKnRtKQoreworCXN0cnVjdCBwbDAzMF9ydGMgKnJ0YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVuc2lnbmVkIGxvbmcgdGltZTsKKwlpbnQgcmV0OworCisJcmV0ID0gcnRjX3RtX3RvX3RpbWUodG0sICZ0aW1lKTsKKwlpZiAocmV0ID09IDApCisJCXdyaXRlbCh0aW1lICsgMSwgcnRjLT5iYXNlICsgUlRDX0xSKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcnRjX2NsYXNzX29wcyBwbDAzMF9vcHMgPSB7CisJLm9wZW4JCT0gcGwwMzBfb3BlbiwKKwkucmVsZWFzZQk9IHBsMDMwX3JlbGVhc2UsCisJLmlvY3RsCQk9IHBsMDMwX2lvY3RsLAorCS5yZWFkX3RpbWUJPSBwbDAzMF9yZWFkX3RpbWUsCisJLnNldF90aW1lCT0gcGwwMzBfc2V0X3RpbWUsCisJLnJlYWRfYWxhcm0JPSBwbDAzMF9yZWFkX2FsYXJtLAorCS5zZXRfYWxhcm0JPSBwbDAzMF9zZXRfYWxhcm0sCit9OworCitzdGF0aWMgaW50IHBsMDMwX3Byb2JlKHN0cnVjdCBhbWJhX2RldmljZSAqZGV2LCB2b2lkICppZCkKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGM7CisJaW50IHJldDsKKworCXJldCA9IGFtYmFfcmVxdWVzdF9yZWdpb25zKGRldiwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfcmVxOworCisJcnRjID0ga21hbGxvYyhzaXplb2YoKnJ0YyksIEdGUF9LRVJORUwpOworCWlmICghcnRjKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX3J0YzsKKwl9CisKKwlydGMtPmJhc2UgPSBpb3JlbWFwKGRldi0+cmVzLnN0YXJ0LCBTWl80Syk7CisJaWYgKCFydGMtPmJhc2UpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfbWFwOworCX0KKworCV9fcmF3X3dyaXRlbCgwLCBydGMtPmJhc2UgKyBSVENfQ1IpOworCV9fcmF3X3dyaXRlbCgwLCBydGMtPmJhc2UgKyBSVENfRU9JKTsKKworCWFtYmFfc2V0X2RydmRhdGEoZGV2LCBydGMpOworCisJcmV0ID0gcmVxdWVzdF9pcnEoZGV2LT5pcnFbMF0sIHBsMDMwX2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwKKwkJCSAgInJ0Yy1wbDAzMCIsIHJ0Yyk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfaXJxOworCisJcnRjLT5ydGMgPSBydGNfZGV2aWNlX3JlZ2lzdGVyKCJwbDAzMCIsICZkZXYtPmRldiwgJnBsMDMwX29wcywKKwkJCQkgICAgICAgVEhJU19NT0RVTEUpOworCWlmIChJU19FUlIocnRjLT5ydGMpKSB7CisJCXJldCA9IFBUUl9FUlIocnRjLT5ydGMpOworCQlnb3RvIGVycl9yZWc7CisJfQorCisJcmV0dXJuIDA7CisKKyBlcnJfcmVnOgorCWZyZWVfaXJxKGRldi0+aXJxWzBdLCBydGMpOworIGVycl9pcnE6CisJaW91bm1hcChydGMtPmJhc2UpOworIGVycl9tYXA6CisJa2ZyZWUocnRjKTsKKyBlcnJfcnRjOgorCWFtYmFfcmVsZWFzZV9yZWdpb25zKGRldik7CisgZXJyX3JlcToKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBsMDMwX3JlbW92ZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgcGwwMzBfcnRjICpydGMgPSBhbWJhX2dldF9kcnZkYXRhKGRldik7CisKKwlhbWJhX3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisKKwl3cml0ZWwoMCwgcnRjLT5iYXNlICsgUlRDX0NSKTsKKworCWZyZWVfaXJxKGRldi0+aXJxWzBdLCBydGMpOworCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihydGMtPnJ0Yyk7CisJaW91bm1hcChydGMtPmJhc2UpOworCWtmcmVlKHJ0Yyk7CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoZGV2KTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGFtYmFfaWQgcGwwMzBfaWRzW10gPSB7CisJeworCQkuaWQJPSAweDAwMDQxMDMwLAorCQkubWFzawk9IDB4MDAwZmZmZmYsCisJfSwKKwl7IDAsIDAgfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYW1iYV9kcml2ZXIgcGwwMzBfZHJpdmVyID0geworCS5kcnYJCT0geworCQkubmFtZQk9ICJydGMtcGwwMzAiLAorCX0sCisJLnByb2JlCQk9IHBsMDMwX3Byb2JlLAorCS5yZW1vdmUJCT0gcGwwMzBfcmVtb3ZlLAorCS5pZF90YWJsZQk9IHBsMDMwX2lkcywKK307CisKK3N0YXRpYyBpbnQgX19pbml0IHBsMDMwX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gYW1iYV9kcml2ZXJfcmVnaXN0ZXIoJnBsMDMwX2RyaXZlcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBwbDAzMF9leGl0KHZvaWQpCit7CisJYW1iYV9kcml2ZXJfdW5yZWdpc3RlcigmcGwwMzBfZHJpdmVyKTsKK30KKworbW9kdWxlX2luaXQocGwwMzBfaW5pdCk7Cittb2R1bGVfZXhpdChwbDAzMF9leGl0KTsKKworTU9EVUxFX0FVVEhPUigiUnVzc2VsbCBLaW5nIDxybWtAYXJtLmxpbnV4Lm9yZy51az4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQVJNIEFNQkEgUEwwMzAgUlRDIERyaXZlciIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXBsMDMxLmMgYi9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYwppbmRleCAyZmQ0OWVkLi4wOGI0NjEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYworKysgYi9kcml2ZXJzL3J0Yy9ydGMtcGwwMzEuYwpAQCAtMTIsMjMgKzEyLDEyIEBACiAgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24KICAqIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KLQotI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3J0Yy5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgotI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgotI2luY2x1ZGUgPGxpbnV4L3BtLmg+Ci0jaW5jbHVkZSA8bGludXgvYml0b3BzLmg+Ci0KICNpbmNsdWRlIDxsaW51eC9hbWJhL2J1cy5oPgotCi0jaW5jbHVkZSA8YXNtL2lvLmg+Ci0jaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogCiAvKgogICogUmVnaXN0ZXIgZGVmaW5pdGlvbnMKQEAgLTE0MiwxMyArMTMxLDEyIEBACiB7CiAJc3RydWN0IHBsMDMxX2xvY2FsICpsZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmYWRldi0+ZGV2KTsKIAotCWlmIChsZGF0YSkgewotCQlkZXZfc2V0X2RydmRhdGEoJmFkZXYtPmRldiwgTlVMTCk7Ci0JCWZyZWVfaXJxKGFkZXYtPmlycVswXSwgbGRhdGEtPnJ0Yyk7Ci0JCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihsZGF0YS0+cnRjKTsKLQkJaW91bm1hcChsZGF0YS0+YmFzZSk7Ci0JCWtmcmVlKGxkYXRhKTsKLQl9CisJYW1iYV9zZXRfZHJ2ZGF0YShhZGV2LCBOVUxMKTsKKwlmcmVlX2lycShhZGV2LT5pcnFbMF0sIGxkYXRhLT5ydGMpOworCXJ0Y19kZXZpY2VfdW5yZWdpc3RlcihsZGF0YS0+cnRjKTsKKwlpb3VubWFwKGxkYXRhLT5iYXNlKTsKKwlrZnJlZShsZGF0YSk7CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoYWRldik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTE1OCwxMyArMTQ2LDE1IEBACiAJaW50IHJldDsKIAlzdHJ1Y3QgcGwwMzFfbG9jYWwgKmxkYXRhOwogCisJcmV0ID0gYW1iYV9yZXF1ZXN0X3JlZ2lvbnMoYWRldiwgTlVMTCk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfcmVxOwogCiAJbGRhdGEgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgcGwwMzFfbG9jYWwpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWxkYXRhKSB7CiAJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwogCX0KLQlkZXZfc2V0X2RydmRhdGEoJmFkZXYtPmRldiwgbGRhdGEpOwogCiAJbGRhdGEtPmJhc2UgPSBpb3JlbWFwKGFkZXYtPnJlcy5zdGFydCwKIAkJCSAgICAgIGFkZXYtPnJlcy5lbmQgLSBhZGV2LT5yZXMuc3RhcnQgKyAxKTsKQEAgLTE3Myw2ICsxNjMsOCBAQAogCQlnb3RvIG91dF9ub19yZW1hcDsKIAl9CiAKKwlhbWJhX3NldF9kcnZkYXRhKGFkZXYsIGxkYXRhKTsKKwogCWlmIChyZXF1ZXN0X2lycShhZGV2LT5pcnFbMF0sIHBsMDMxX2ludGVycnVwdCwgSVJRRl9ESVNBQkxFRCwKIAkJCSJydGMtcGwwMzEiLCBsZGF0YS0+cnRjKSkgewogCQlyZXQgPSAtRUlPOwpAQCAtMTkyLDEwICsxODQsMTIgQEAKIAlmcmVlX2lycShhZGV2LT5pcnFbMF0sIGxkYXRhLT5ydGMpOwogb3V0X25vX2lycToKIAlpb3VubWFwKGxkYXRhLT5iYXNlKTsKKwlhbWJhX3NldF9kcnZkYXRhKGFkZXYsIE5VTEwpOwogb3V0X25vX3JlbWFwOgotCWRldl9zZXRfZHJ2ZGF0YSgmYWRldi0+ZGV2LCBOVUxMKTsKIAlrZnJlZShsZGF0YSk7CiBvdXQ6CisJYW1iYV9yZWxlYXNlX3JlZ2lvbnMoYWRldik7CitlcnJfcmVxOgogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcnRjL3J0Yy1zM2MuYyBiL2RyaXZlcnMvcnRjL3J0Yy1zM2MuYwppbmRleCBmMjZlMGNhLi5mZWQ4NmU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtczNjLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXMzYy5jCkBAIC0yNiwxMCArMjYsNiBAQAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGFzbS9ydGMuaD4KLQotI2luY2x1ZGUgPGFzbS9tYWNoL3RpbWUuaD4KLQogI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXJ0Yy5oPgogCiAvKiBJIGhhdmUgeWV0IHRvIGZpbmQgYW4gUzNDIGltcGxlbWVudGF0aW9uIHdpdGggbW9yZSB0aGFuIG9uZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jIGIvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jCmluZGV4IDY3NDIxYjBkLi5mNDcyOTRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9ydGMtc2ExMTAwLmMKKysrIGIvZHJpdmVycy9ydGMvcnRjLXNhMTEwMC5jCkBAIC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3J0Yy5oPgogCiAjaWZkZWYgQ09ORklHX0FSQ0hfUFhBCiAjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KQEAgLTQ3LDYgKzQ2LDQyIEBACiBzdGF0aWMgc3RydWN0IHJ0Y190aW1lIHJ0Y19hbGFybTsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc2ExMTAwX3J0Y19sb2NrKTsKIAorc3RhdGljIGlubGluZSBpbnQgcnRjX3BlcmlvZGljX2FsYXJtKHN0cnVjdCBydGNfdGltZSAqdG0pCit7CisJcmV0dXJuICAodG0tPnRtX3llYXIgPT0gLTEpIHx8CisJCSgodW5zaWduZWQpdG0tPnRtX21vbiA+PSAxMikgfHwKKwkJKCh1bnNpZ25lZCkodG0tPnRtX21kYXkgLSAxKSA+PSAzMSkgfHwKKwkJKCh1bnNpZ25lZCl0bS0+dG1faG91ciA+IDIzKSB8fAorCQkoKHVuc2lnbmVkKXRtLT50bV9taW4gPiA1OSkgfHwKKwkJKCh1bnNpZ25lZCl0bS0+dG1fc2VjID4gNTkpOworfQorCisvKgorICogQ2FsY3VsYXRlIHRoZSBuZXh0IGFsYXJtIHRpbWUgZ2l2ZW4gdGhlIHJlcXVlc3RlZCBhbGFybSB0aW1lIG1hc2sKKyAqIGFuZCB0aGUgY3VycmVudCB0aW1lLgorICovCitzdGF0aWMgdm9pZCBydGNfbmV4dF9hbGFybV90aW1lKHN0cnVjdCBydGNfdGltZSAqbmV4dCwgc3RydWN0IHJ0Y190aW1lICpub3csIHN0cnVjdCBydGNfdGltZSAqYWxybSkKK3sKKwl1bnNpZ25lZCBsb25nIG5leHRfdGltZTsKKwl1bnNpZ25lZCBsb25nIG5vd190aW1lOworCisJbmV4dC0+dG1feWVhciA9IG5vdy0+dG1feWVhcjsKKwluZXh0LT50bV9tb24gPSBub3ctPnRtX21vbjsKKwluZXh0LT50bV9tZGF5ID0gbm93LT50bV9tZGF5OworCW5leHQtPnRtX2hvdXIgPSBhbHJtLT50bV9ob3VyOworCW5leHQtPnRtX21pbiA9IGFscm0tPnRtX21pbjsKKwluZXh0LT50bV9zZWMgPSBhbHJtLT50bV9zZWM7CisKKwlydGNfdG1fdG9fdGltZShub3csICZub3dfdGltZSk7CisJcnRjX3RtX3RvX3RpbWUobmV4dCwgJm5leHRfdGltZSk7CisKKwlpZiAobmV4dF90aW1lIDwgbm93X3RpbWUpIHsKKwkJLyogQWR2YW5jZSBvbmUgZGF5ICovCisJCW5leHRfdGltZSArPSA2MCAqIDYwICogMjQ7CisJCXJ0Y190aW1lX3RvX3RtKG5leHRfdGltZSwgbmV4dCk7CisJfQorfQorCiBzdGF0aWMgaW50IHJ0Y191cGRhdGVfYWxhcm0oc3RydWN0IHJ0Y190aW1lICphbHJtKQogewogCXN0cnVjdCBydGNfdGltZSBhbGFybV90bSwgbm93X3RtOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2QuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkLmMKaW5kZXggMWE0MDI1Ni4uMWI2YzUyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2QuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZC5jCkBAIC05OTUsMTQgKzk5NSwxNCBAQAogCW5vdyA9IGdldF9jbG9jaygpOwogCiAJREJGX0VWRU5UKERCRl9FUlIsICJJbnRlcnJ1cHQ6IGJ1c19pZCAlcyBDUy9EUyAlMDR4IGlwICUwOHgiLAotCQkgIGNkZXYtPmRldi5idXNfaWQsICgoaXJiLT5zY3N3LmNzdGF0PDw4KXxpcmItPnNjc3cuZHN0YXQpLAotCQkgICh1bnNpZ25lZCBpbnQpIGludHBhcm0pOworCQkgIGNkZXYtPmRldi5idXNfaWQsICgoaXJiLT5zY3N3LmNtZC5jc3RhdCA8PCA4KSB8CisJCSAgaXJiLT5zY3N3LmNtZC5kc3RhdCksICh1bnNpZ25lZCBpbnQpIGludHBhcm0pOwogCiAJLyogY2hlY2sgZm9yIHVuc29saWNpdGVkIGludGVycnVwdHMgKi8KIAljcXIgPSAoc3RydWN0IGRhc2RfY2N3X3JlcSAqKSBpbnRwYXJtOwotCWlmICghY3FyIHx8ICgoaXJiLT5zY3N3LmNjID09IDEpICYmCi0JCSAgICAgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCi0JCSAgICAgKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSApIHsKKwlpZiAoIWNxciB8fCAoKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMSkgJiYKKwkJICAgICAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJCSAgICAgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpIHsKIAkJaWYgKGNxciAmJiBjcXItPnN0YXR1cyA9PSBEQVNEX0NRUl9JTl9JTykKIAkJCWNxci0+c3RhdHVzID0gREFTRF9DUVJfUVVFVUVEOwogCQlkZXZpY2UgPSBkYXNkX2RldmljZV9mcm9tX2NkZXZfbG9ja2VkKGNkZXYpOwpAQCAtMTAyNSw3ICsxMDI1LDcgQEAKIAogCS8qIENoZWNrIGZvciBjbGVhciBwZW5kaW5nICovCiAJaWYgKGNxci0+c3RhdHVzID09IERBU0RfQ1FSX0NMRUFSX1BFTkRJTkcgJiYKLQkgICAgaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykgeworCSAgICBpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykgewogCQljcXItPnN0YXR1cyA9IERBU0RfQ1FSX0NMRUFSRUQ7CiAJCWRhc2RfZGV2aWNlX2NsZWFyX3RpbWVyKGRldmljZSk7CiAJCXdha2VfdXAoJmRhc2RfZmx1c2hfd3EpOwpAQCAtMTA0MSwxMSArMTA0MSwxMSBAQAogCQlyZXR1cm47CiAJfQogCURCRl9ERVZfRVZFTlQoREJGX0RFQlVHLCBkZXZpY2UsICJJbnQ6IENTL0RTIDB4JTA0eCBmb3IgY3FyICVwIiwKLQkJICAgICAgKChpcmItPnNjc3cuY3N0YXQgPDwgOCkgfCBpcmItPnNjc3cuZHN0YXQpLCBjcXIpOworCQkgICAgICAoKGlyYi0+c2Nzdy5jbWQuY3N0YXQgPDwgOCkgfCBpcmItPnNjc3cuY21kLmRzdGF0KSwgY3FyKTsKIAluZXh0ID0gTlVMTDsKIAlleHBpcmVzID0gMDsKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ID09IChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkgJiYKLQkgICAgaXJiLT5zY3N3LmNzdGF0ID09IDAgJiYgIWlyYi0+ZXN3LmVzdzAuZXJ3LmNvbnMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQpICYmCisJICAgIGlyYi0+c2Nzdy5jbWQuY3N0YXQgPT0gMCAmJiAhaXJiLT5lc3cuZXN3MC5lcncuY29ucykgewogCQkvKiByZXF1ZXN0IHdhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ICovCiAJCWNxci0+c3RhdHVzID0gREFTRF9DUVJfU1VDQ0VTUzsKIAkJY3FyLT5zdG9wY2xrID0gbm93OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkXzM5OTBfZXJwLmMKaW5kZXggZTY3MDBkZi4uNWM2ZTZmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfMzk5MF9lcnAuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF8zOTkwX2VycC5jCkBAIC0xNTcyLDcgKzE1NzIsNyBAQAogCiAJLyogZGV0ZXJtaW5lIHRoZSBhZGRyZXNzIG9mIHRoZSBDQ1cgdG8gYmUgcmVzdGFydGVkICovCiAJLyogSW1wcmVjaXNlIGVuZGluZyBpcyBub3Qgc2V0IC0+IGFkZHIgZnJvbSBJUkItU0NTVyAqLwotCWNwYSA9IGRlZmF1bHRfZXJwLT5yZWZlcnMtPmlyYi5zY3N3LmNwYTsKKwljcGEgPSBkZWZhdWx0X2VycC0+cmVmZXJzLT5pcmIuc2Nzdy5jbWQuY3BhOwogCiAJaWYgKGNwYSA9PSAwKSB7CiAKQEAgLTE3MjUsNyArMTcyNSw3IEBACiAKIAkvKiBkZXRlcm1pbmUgdGhlIGFkZHJlc3Mgb2YgdGhlIENDVyB0byBiZSByZXN0YXJ0ZWQgKi8KIAkvKiBJbXByZWNpc2UgZW5kaW5nIGlzIG5vdCBzZXQgLT4gYWRkciBmcm9tIElSQi1TQ1NXICovCi0JY3BhID0gcHJldmlvdXNfZXJwLT5pcmIuc2Nzdy5jcGE7CisJY3BhID0gcHJldmlvdXNfZXJwLT5pcmIuc2Nzdy5jbWQuY3BhOwogCiAJaWYgKGNwYSA9PSAwKSB7CiAKQEAgLTIxNzEsNyArMjE3MSw3IEBACiB7CiAJc3RydWN0IGRhc2RfZGV2aWNlICpkZXZpY2UgPSBlcnAtPnN0YXJ0ZGV2OwogCi0JaWYgKGVycC0+cmVmZXJzLT5pcmIuc2Nzdy5jc3RhdCAmIChTQ0hOX1NUQVRfSU5URl9DVFJMX0NISworCWlmIChlcnAtPnJlZmVycy0+aXJiLnNjc3cuY21kLmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLCiAJCQkJCSAgIHwgU0NITl9TVEFUX0NITl9DVFJMX0NISykpIHsKIAkJREVWX01FU1NBR0UoS0VSTl9ERUJVRywgZGV2aWNlLCAiJXMiLAogCQkJICAgICJjaGFubmVsIG9yIGludGVyZmFjZSBjb250cm9sIGNoZWNrIik7CkBAIC0yMzUyLDkgKzIzNTIsOSBAQAogCiAJaWYgKChjcXIxLT5pcmIuZXN3LmVzdzAuZXJ3LmNvbnMgPT0gMCkgJiYKIAkgICAgKGNxcjItPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9PSAwKSkJewotCQlpZiAoKGNxcjEtPmlyYi5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKKwkJaWYgKChjcXIxLT5pcmIuc2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkJCQkgICAgIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspKSA9PQotCQkgICAgKGNxcjItPmlyYi5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKKwkJICAgIChjcXIyLT5pcmIuc2Nzdy5jbWQuY3N0YXQgJiAoU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkJCQkgICAgIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEspKSkKIAkJCXJldHVybiAxOyAvKiBtYXRjaCB3aXRoIGlmY2MqLwogCX0KQEAgLTI2MjIsOCArMjYyMiw5IEBACiAJfQogCiAJLyogZG91YmxlLWNoZWNrIGlmIGN1cnJlbnQgZXJwL2NxciB3YXMgc3VjY2Vzc2Z1bGwgKi8KLQlpZiAoKGNxci0+aXJiLnNjc3cuY3N0YXQgPT0gMHgwMCkgJiYKLQkgICAgKGNxci0+aXJiLnNjc3cuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkR8REVWX1NUQVRfREVWX0VORCkpKSB7CisJaWYgKChjcXItPmlyYi5zY3N3LmNtZC5jc3RhdCA9PSAweDAwKSAmJgorCSAgICAoY3FyLT5pcmIuc2Nzdy5jbWQuZHN0YXQgPT0KKwkgICAgIChERVZfU1RBVF9DSE5fRU5EIHwgREVWX1NUQVRfREVWX0VORCkpKSB7CiAKIAkJREVWX01FU1NBR0UoS0VSTl9ERUJVRywgZGV2aWNlLAogCQkJICAgICJFUlAgY2FsbGVkIGZvciBzdWNjZXNzZnVsIHJlcXVlc3QgJXAiCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lY2tkLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lY2tkLmMKaW5kZXggYTBlZGFlMC4uZTBiNzcyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWNrZC5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2Vja2QuYwpAQCAtMTQwNCwxMyArMTQwNCwxNCBAQAogCiAJLyogZmlyc3Qgb2YgYWxsIGNoZWNrIGZvciBzdGF0ZSBjaGFuZ2UgcGVuZGluZyBpbnRlcnJ1cHQgKi8KIAltYXNrID0gREVWX1NUQVRfQVRURU5USU9OIHwgREVWX1NUQVRfREVWX0VORCB8IERFVl9TVEFUX1VOSVRfRVhDRVA7Ci0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBtYXNrKSA9PSBtYXNrKSB7CisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgbWFzaykgPT0gbWFzaykgewogCQlkYXNkX2dlbmVyaWNfaGFuZGxlX3N0YXRlX2NoYW5nZShkZXZpY2UpOwogCQlyZXR1cm47CiAJfQogCiAJLyogc3VtbWFyeSB1bml0IGNoZWNrICovCi0JaWYgKChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJiBpcmItPmVjd1s3XSA9PSAweDBEKSB7CisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKKwkgICAgKGlyYi0+ZWN3WzddID09IDB4MEQpKSB7CiAJCWRhc2RfYWxpYXNfaGFuZGxlX3N1bW1hcnlfdW5pdF9jaGVjayhkZXZpY2UsIGlyYik7CiAJCXJldHVybjsKIAl9CkBAIC0yMDY4LDExICsyMDY5LDExIEBACiAJCSAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBpbiByZXE6ICVwIENTOiAweCUwMlggRFM6IDB4JTAyWFxuIiwgcmVxLAotCQkgICAgICAgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQpOworCQkgICAgICAgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBkZXZpY2UgJXM6IEZhaWxpbmcgQ0NXOiAlcFxuIiwKIAkJICAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCwKLQkJICAgICAgICh2b2lkICopIChhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpOworCQkgICAgICAgKHZvaWQgKikgKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEpOwogCWlmIChpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCWZvciAoc2wgPSAwOyBzbCA8IDQ7IHNsKyspIHsKIAkJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKQEAgLTIxMjIsNyArMjEyMyw4IEBACiAJCS8qIHNjc3ctPmNkYSBpcyBlaXRoZXIgdmFsaWQgb3IgemVybyAgKi8KIAkJbGVuID0gMDsKIAkJZnJvbSA9ICsrdG87Ci0JCWZhaWwgPSAoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY3BhOyAvKiBmYWlsaW5nIENDVyAqLworCQlmYWlsID0gKHN0cnVjdCBjY3cxICopKGFkZHJfdCkKKwkJCQlpcmItPnNjc3cuY21kLmNwYTsgLyogZmFpbGluZyBDQ1cgKi8KIAkJaWYgKGZyb20gPCAgZmFpbCAtIDIpIHsKIAkJCWZyb20gPSBmYWlsIC0gMjsgICAgIC8qIHRoZXJlIGlzIGEgZ2FwIC0gcHJpbnQgaGVhZGVyICovCiAJCQlsZW4gKz0gc3ByaW50ZihwYWdlLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSICIuLi4uLi5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rhc2RfZWVyLmMgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYwppbmRleCA2ZTUzYWI2Li4yOWRhNDQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9lZXIuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KQEAgLTUyNSw2ICs1MjYsNyBAQAogCWVlcmIgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgZWVyYnVmZmVyKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFlZXJiKQogCQlyZXR1cm4gLUVOT01FTTsKKwlsb2NrX2tlcm5lbCgpOwogCWVlcmItPmJ1ZmZlcl9wYWdlX2NvdW50ID0gZWVyX3BhZ2VzOwogCWlmIChlZXJiLT5idWZmZXJfcGFnZV9jb3VudCA8IDEgfHwKIAkgICAgZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQgPiBJTlRfTUFYIC8gUEFHRV9TSVpFKSB7CkBAIC01MzIsNiArNTM0LDcgQEAKIAkJTUVTU0FHRShLRVJOX1dBUk5JTkcsICJjYW4ndCBvcGVuIGRldmljZSBzaW5jZSBtb2R1bGUgIgogCQkJInBhcmFtZXRlciBlZXJfcGFnZXMgaXMgc21hbGxlciB0aGVuIDEgb3IiCiAJCQkiIGJpZ2dlciB0aGVuICVkIiwgKGludCkoSU5UX01BWCAvIFBBR0VfU0laRSkpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAllZXJiLT5idWZmZXJzaXplID0gZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQgKiBQQUdFX1NJWkU7CkBAIC01MzksMTIgKzU0MiwxNCBAQAogCQkJICAgICAgIEdGUF9LRVJORUwpOwogICAgICAgICBpZiAoIWVlcmItPmJ1ZmZlcikgewogCQlrZnJlZShlZXJiKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCX0KIAlpZiAoZGFzZF9lZXJfYWxsb2NhdGVfYnVmZmVyX3BhZ2VzKGVlcmItPmJ1ZmZlciwKIAkJCQkJICAgZWVyYi0+YnVmZmVyX3BhZ2VfY291bnQpKSB7CiAJCWtmcmVlKGVlcmItPmJ1ZmZlcik7CiAJCWtmcmVlKGVlcmIpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBlZXJiOwpAQCAtNTUyLDYgKzU1Nyw3IEBACiAJbGlzdF9hZGQoJmVlcmItPmxpc3QsICZidWZmZXJsaXN0KTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZidWZmZXJsb2NrLCBmbGFncyk7CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5wLGZpbHApOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvYmxvY2svZGFzZF9mYmEuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jCmluZGV4IDExNjYxMTUuLmFlZTQ2NTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jCisrKyBiL2RyaXZlcnMvczM5MC9ibG9jay9kYXNkX2ZiYS5jCkBAIC0yMjIsNyArMjIyLDcgQEAKIAogCS8qIGZpcnN0IG9mIGFsbCBjaGVjayBmb3Igc3RhdGUgY2hhbmdlIHBlbmRpbmcgaW50ZXJydXB0ICovCiAJbWFzayA9IERFVl9TVEFUX0FUVEVOVElPTiB8IERFVl9TVEFUX0RFVl9FTkQgfCBERVZfU1RBVF9VTklUX0VYQ0VQOwotCWlmICgoaXJiLT5zY3N3LmRzdGF0ICYgbWFzaykgPT0gbWFzaykgeworCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIG1hc2spID09IG1hc2spIHsKIAkJZGFzZF9nZW5lcmljX2hhbmRsZV9zdGF0ZV9jaGFuZ2UoZGV2aWNlKTsKIAkJcmV0dXJuOwogCX0KQEAgLTQ0OSwxMSArNDQ5LDExIEBACiAJCSAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBpbiByZXE6ICVwIENTOiAweCUwMlggRFM6IDB4JTAyWFxuIiwgcmVxLAotCQkgICAgICAgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQpOworCQkgICAgICAgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJbGVuICs9IHNwcmludGYocGFnZSArIGxlbiwgS0VSTl9FUlIgUFJJTlRLX0hFQURFUgogCQkgICAgICAgIiBkZXZpY2UgJXM6IEZhaWxpbmcgQ0NXOiAlcFxuIiwKIAkJICAgICAgIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCwKLQkJICAgICAgICh2b2lkICopIChhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpOworCQkgICAgICAgKHZvaWQgKikgKGFkZHJfdCkgaXJiLT5zY3N3LmNtZC5jcGEpOwogCWlmIChpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCWZvciAoc2wgPSAwOyBzbCA8IDQ7IHNsKyspIHsKIAkJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKQEAgLTQ5OCwxMSArNDk4LDExIEBACiAKIAkvKiBwcmludCBmYWlsaW5nIENDVyBhcmVhICovCiAJbGVuID0gMDsKLQlpZiAoYWN0IDwgICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY3BhKSAtIDIpIHsKLQkJYWN0ID0gKChzdHJ1Y3QgY2N3MSAqKShhZGRyX3QpIGlyYi0+c2Nzdy5jcGEpIC0gMjsKKwlpZiAoYWN0IDwgICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSkgLSAyKSB7CisJCWFjdCA9ICgoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSkgLSAyOwogCQlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCBLRVJOX0VSUiBQUklOVEtfSEVBREVSICIuLi4uLi5cbiIpOwogCX0KLQllbmQgPSBtaW4oKHN0cnVjdCBjY3cxICopKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSArIDIsIGxhc3QpOworCWVuZCA9IG1pbigoc3RydWN0IGNjdzEgKikoYWRkcl90KSBpcmItPnNjc3cuY21kLmNwYSArIDIsIGxhc3QpOwogCXdoaWxlIChhY3QgPD0gZW5kKSB7CiAJCWxlbiArPSBzcHJpbnRmKHBhZ2UgKyBsZW4sIEtFUk5fRVJSIFBSSU5US19IRUFERVIKIAkJCSAgICAgICAiIENDVyAlcDogJTA4WCAlMDhYIERBVDoiLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYyBiL2RyaXZlcnMvczM5MC9ibG9jay9kY3NzYmxrLmMKaW5kZXggYmI1MmQyZi4uMDFmY2RkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL2Rjc3NibGsuYworKysgYi9kcml2ZXJzL3MzOTAvYmxvY2svZGNzc2Jsay5jCkBAIC0xNjcsMTAgKzE2Nyw4IEBACiAJc3RydWN0IGRjc3NibGtfZGV2X2luZm8gKmRldl9pbmZvOwogCWludCByYzsKIAotCWlmICgoY291bnQgPiAxKSAmJiAoaW5idWZbMV0gIT0gJ1xuJykgJiYgKGluYnVmWzFdICE9ICdcMCcpKSB7Ci0JCVBSSU5UX1dBUk4oIkludmFsaWQgdmFsdWUsIG11c3QgYmUgMCBvciAxXG4iKTsKKwlpZiAoKGNvdW50ID4gMSkgJiYgKGluYnVmWzFdICE9ICdcbicpICYmIChpbmJ1ZlsxXSAhPSAnXDAnKSkKIAkJcmV0dXJuIC1FSU5WQUw7Ci0JfQogCWRvd25fd3JpdGUoJmRjc3NibGtfZGV2aWNlc19zZW0pOwogCWRldl9pbmZvID0gY29udGFpbmVyX29mKGRldiwgc3RydWN0IGRjc3NibGtfZGV2X2luZm8sIGRldik7CiAJaWYgKGF0b21pY19yZWFkKCZkZXZfaW5mby0+dXNlX2NvdW50KSkgewpAQCAtMjE1LDcgKzIxMyw2IEBACiAJCQlzZXRfZGlza19ybyhkZXZfaW5mby0+Z2QsIDApOwogCQl9CiAJfSBlbHNlIHsKLQkJUFJJTlRfV0FSTigiSW52YWxpZCB2YWx1ZSwgbXVzdCBiZSAwIG9yIDFcbiIpOwogCQlyYyA9IC1FSU5WQUw7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTI1OCwxMCArMjU1LDggQEAKIHsKIAlzdHJ1Y3QgZGNzc2Jsa19kZXZfaW5mbyAqZGV2X2luZm87CiAKLQlpZiAoKGNvdW50ID4gMSkgJiYgKGluYnVmWzFdICE9ICdcbicpICYmIChpbmJ1ZlsxXSAhPSAnXDAnKSkgewotCQlQUklOVF9XQVJOKCJJbnZhbGlkIHZhbHVlLCBtdXN0IGJlIDAgb3IgMVxuIik7CisJaWYgKChjb3VudCA+IDEpICYmIChpbmJ1ZlsxXSAhPSAnXG4nKSAmJiAoaW5idWZbMV0gIT0gJ1wwJykpCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAlkZXZfaW5mbyA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCBkY3NzYmxrX2Rldl9pbmZvLCBkZXYpOwogCiAJZG93bl93cml0ZSgmZGNzc2Jsa19kZXZpY2VzX3NlbSk7CkBAIC0yODksNyArMjg0LDYgQEAKIAkJfQogCX0gZWxzZSB7CiAJCXVwX3dyaXRlKCZkY3NzYmxrX2RldmljZXNfc2VtKTsKLQkJUFJJTlRfV0FSTigiSW52YWxpZCB2YWx1ZSwgbXVzdCBiZSAwIG9yIDFcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJdXBfd3JpdGUoJmRjc3NibGtfZGV2aWNlc19zZW0pOwpAQCAtNDQxLDcgKzQzNSw2IEBACiAJZ290byBvdXQ7CiAKIHVucmVnaXN0ZXJfZGV2OgotCVBSSU5UX0VSUigiZGV2aWNlX2NyZWF0ZV9maWxlKCkgZmFpbGVkIVxuIik7CiAJbGlzdF9kZWwoJmRldl9pbmZvLT5saCk7CiAJYmxrX2NsZWFudXBfcXVldWUoZGV2X2luZm8tPmRjc3NibGtfcXVldWUpOwogCWRldl9pbmZvLT5nZC0+cXVldWUgPSBOVUxMOwpAQCAtNzAyLDEwICs2OTUsOCBAQAogc3RhdGljIHZvaWQgX19leGl0CiBkY3NzYmxrX2V4aXQodm9pZCkKIHsKLQlQUklOVF9ERUJVRygiRENTU0JMT0NLIEVYSVQuLi5cbiIpOwogCXMzOTBfcm9vdF9kZXZfdW5yZWdpc3RlcihkY3NzYmxrX3Jvb3RfZGV2KTsKIAl1bnJlZ2lzdGVyX2Jsa2RldihkY3NzYmxrX21ham9yLCBEQ1NTQkxLX05BTUUpOwotCVBSSU5UX0RFQlVHKCIuLi5maW5pc2hlZCFcbiIpOwogfQogCiBzdGF0aWMgaW50IF9faW5pdApAQCAtNzEzLDI3ICs3MDQsMjEgQEAKIHsKIAlpbnQgcmM7CiAKLQlQUklOVF9ERUJVRygiRENTU0JMT0NLIElOSVQuLi5cbiIpOwogCWRjc3NibGtfcm9vdF9kZXYgPSBzMzkwX3Jvb3RfZGV2X3JlZ2lzdGVyKCJkY3NzYmxrIik7Ci0JaWYgKElTX0VSUihkY3NzYmxrX3Jvb3RfZGV2KSkgewotCQlQUklOVF9FUlIoImRldmljZV9yZWdpc3RlcigpIGZhaWxlZCFcbiIpOworCWlmIChJU19FUlIoZGNzc2Jsa19yb290X2RldikpCiAJCXJldHVybiBQVFJfRVJSKGRjc3NibGtfcm9vdF9kZXYpOwotCX0KIAlyYyA9IGRldmljZV9jcmVhdGVfZmlsZShkY3NzYmxrX3Jvb3RfZGV2LCAmZGV2X2F0dHJfYWRkKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfRVJSKCJkZXZpY2VfY3JlYXRlX2ZpbGUoYWRkKSBmYWlsZWQhXG4iKTsKIAkJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGRjc3NibGtfcm9vdF9kZXYpOwogCQlyZXR1cm4gcmM7CiAJfQogCXJjID0gZGV2aWNlX2NyZWF0ZV9maWxlKGRjc3NibGtfcm9vdF9kZXYsICZkZXZfYXR0cl9yZW1vdmUpOwogCWlmIChyYykgewotCQlQUklOVF9FUlIoImRldmljZV9jcmVhdGVfZmlsZShyZW1vdmUpIGZhaWxlZCFcbiIpOwogCQlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoZGNzc2Jsa19yb290X2Rldik7CiAJCXJldHVybiByYzsKIAl9CiAJcmMgPSByZWdpc3Rlcl9ibGtkZXYoMCwgRENTU0JMS19OQU1FKTsKIAlpZiAocmMgPCAwKSB7Ci0JCVBSSU5UX0VSUigiQ2FuJ3QgZ2V0IGR5bmFtaWMgbWFqb3IhXG4iKTsKIAkJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGRjc3NibGtfcm9vdF9kZXYpOwogCQlyZXR1cm4gcmM7CiAJfQpAQCAtNzQyLDcgKzcyNyw2IEBACiAKIAlkY3NzYmxrX2NoZWNrX3BhcmFtcygpOwogCi0JUFJJTlRfREVCVUcoIi4uLmZpbmlzaGVkIVxuIik7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9ibG9jay94cHJhbS5jIGIvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMKaW5kZXggZjIzMWJjMi4uZGQ5Yjk4NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMKKysrIGIvZHJpdmVycy9zMzkwL2Jsb2NrL3hwcmFtLmMKQEAgLTEwMCwxNSArMTAwLDEwIEBACiAJCTogIitkIiAoY2MpIDogImEiIChfX3BhKHBhZ2VfYWRkcikpLCAiZCIgKHhwYWdlX2luZGV4KSA6ICJjYyIpOwogCWlmIChjYyA9PSAzKQogCQlyZXR1cm4gLUVOWElPOwotCWlmIChjYyA9PSAyKSB7Ci0JCVBSSU5UX0VSUigiZXhwYW5kZWQgc3RvcmFnZSBsb3N0IVxuIik7CisJaWYgKGNjID09IDIpCiAJCXJldHVybiAtRU5YSU87Ci0JfQotCWlmIChjYyA9PSAxKSB7Ci0JCVBSSU5UX0VSUigicGFnZSBpbiBmYWlsZWQgZm9yIHBhZ2UgaW5kZXggJXUuXG4iLAotCQkJICB4cGFnZV9pbmRleCk7CisJaWYgKGNjID09IDEpCiAJCXJldHVybiAtRUlPOwotCX0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTM1LDE1ICsxMzAsMTAgQEAKIAkJOiAiK2QiIChjYykgOiAiYSIgKF9fcGEocGFnZV9hZGRyKSksICJkIiAoeHBhZ2VfaW5kZXgpIDogImNjIik7CiAJaWYgKGNjID09IDMpCiAJCXJldHVybiAtRU5YSU87Ci0JaWYgKGNjID09IDIpIHsKLQkJUFJJTlRfRVJSKCJleHBhbmRlZCBzdG9yYWdlIGxvc3QhXG4iKTsKKwlpZiAoY2MgPT0gMikKIAkJcmV0dXJuIC1FTlhJTzsKLQl9Ci0JaWYgKGNjID09IDEpIHsKLQkJUFJJTlRfRVJSKCJwYWdlIG91dCBmYWlsZWQgZm9yIHBhZ2UgaW5kZXggJXUuXG4iLAotCQkJICB4cGFnZV9pbmRleCk7CisJaWYgKGNjID09IDEpCiAJCXJldHVybiAtRUlPOwotCX0KIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jIGIvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jCmluZGV4IDNlNTY1M2MuLmQzZWM5YjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyMTUuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjE1LmMKQEAgLTkzLDkgKzkzLDYgQEAKIAlzdHJ1Y3QgcmF3MzIxNV9yZXEgKnF1ZXVlZF93cml0ZTsvKiBwb2ludGVyIHRvIHF1ZXVlZCB3cml0ZSByZXF1ZXN0cyAqLwogCXdhaXRfcXVldWVfaGVhZF90IGVtcHR5X3dhaXQ7IC8qIHdhaXQgcXVldWUgZm9yIGZsdXNoaW5nICovCiAJc3RydWN0IHRpbWVyX2xpc3QgdGltZXI7ICAgICAgLyogdGltZXIgZm9yIGRlbGF5ZWQgb3V0cHV0ICovCi0JY2hhciAqbWVzc2FnZTsJCSAgICAgIC8qIHBlbmRpbmcgbWVzc2FnZSBmcm9tIHJhdzMyMTVfaXJxICovCi0JaW50IG1zZ19kc3RhdDsJCSAgICAgIC8qIGRzdGF0IGZvciBwZW5kaW5nIG1lc3NhZ2UgKi8KLQlpbnQgbXNnX2NzdGF0OwkJICAgICAgLyogY3N0YXQgZm9yIHBlbmRpbmcgbWVzc2FnZSAqLwogCWludCBsaW5lX3BvczsJCSAgICAgIC8qIHBvc2l0aW9uIG9uIHRoZSBsaW5lIChmb3IgdGFicykgKi8KIAljaGFyIHVidWZmZXJbODBdOwkgICAgICAvKiBjb3B5X2Zyb21fdXNlciBidWZmZXIgKi8KIH07CkBAIC0zNTksMTEgKzM1Niw2IEBACiAJcmF3MzIxNV9ta193cml0ZV9yZXEocmF3KTsKIAlyYXczMjE1X3RyeV9pbyhyYXcpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKHJhdy0+Y2RldiksIGZsYWdzKTsKLQkvKiBDaGVjayBmb3IgcGVuZGluZyBtZXNzYWdlIGZyb20gcmF3MzIxNV9pcnEgKi8KLQlpZiAocmF3LT5tZXNzYWdlICE9IE5VTEwpIHsKLQkJcHJpbnRrKHJhdy0+bWVzc2FnZSwgcmF3LT5tc2dfZHN0YXQsIHJhdy0+bXNnX2NzdGF0KTsKLQkJcmF3LT5tZXNzYWdlID0gTlVMTDsKLQl9CiAJdHR5ID0gcmF3LT50dHk7CiAJaWYgKHR0eSAhPSBOVUxMICYmCiAJICAgIFJBVzMyMTVfQlVGRkVSX1NJWkUgLSByYXctPmNvdW50ID49IFJBVzMyMTVfTUlOX1NQQUNFKSB7CkBAIC0zODEsMjAgKzM3MywxNCBAQAogCXN0cnVjdCByYXczMjE1X3JlcSAqcmVxOwogCXN0cnVjdCB0dHlfc3RydWN0ICp0dHk7CiAJaW50IGNzdGF0LCBkc3RhdDsKLQlpbnQgY291bnQsIHNsZW47CisJaW50IGNvdW50OwogCiAJcmF3ID0gY2Rldi0+ZGV2LmRyaXZlcl9kYXRhOwogCXJlcSA9IChzdHJ1Y3QgcmF3MzIxNV9yZXEgKikgaW50cGFybTsKLQljc3RhdCA9IGlyYi0+c2Nzdy5jc3RhdDsKLQlkc3RhdCA9IGlyYi0+c2Nzdy5kc3RhdDsKLQlpZiAoY3N0YXQgIT0gMCkgewotCQlyYXctPm1lc3NhZ2UgPSBLRVJOX1dBUk5JTkcKLQkJCSJHb3Qgbm9uemVybyBjaGFubmVsIHN0YXR1cyBpbiByYXczMjE1X2lycSAiCi0JCQkiKGRldiBzdHMgMHglMngsIHNjaCBzdHMgMHglMngpIjsKLQkJcmF3LT5tc2dfZHN0YXQgPSBkc3RhdDsKLQkJcmF3LT5tc2dfY3N0YXQgPSBjc3RhdDsKKwljc3RhdCA9IGlyYi0+c2Nzdy5jbWQuY3N0YXQ7CisJZHN0YXQgPSBpcmItPnNjc3cuY21kLmRzdGF0OworCWlmIChjc3RhdCAhPSAwKQogCQl0YXNrbGV0X3NjaGVkdWxlKCZyYXctPnRhc2tsZXQpOwotCX0KIAlpZiAoZHN0YXQgJiAweDAxKSB7IC8qIHdlIGdvdCBhIHVuaXQgZXhjZXB0aW9uICovCiAJCWRzdGF0ICY9IH4weDAxOwkgLyogd2UgY2FuIGlnbm9yZSBpdCAqLwogCX0KQEAgLTQwNCw4ICszOTAsNiBAQAogCQkJYnJlYWs7CiAJCS8qIEF0dGVudGlvbiBpbnRlcnJ1cHQsIHNvbWVvbmUgaGl0IHRoZSBlbnRlciBrZXkgKi8KIAkJcmF3MzIxNV9ta19yZWFkX3JlcShyYXcpOwotCQlpZiAoTUFDSElORV9JU19QMzkwKQotCQkJbWVtc2V0KHJhdy0+aW5idWYsIDAsIFJBVzMyMTVfSU5CVUZfU0laRSk7CiAJCXRhc2tsZXRfc2NoZWR1bGUoJnJhdy0+dGFza2xldCk7CiAJCWJyZWFrOwogCWNhc2UgMHgwODoKQEAgLTQxNSw3ICszOTksNyBAQAogCQkJcmV0dXJuOwkJICAgICAvKiBUaGF0IHNob3VsZG4ndCBoYXBwZW4gLi4uICovCiAJCWlmIChyZXEtPnR5cGUgPT0gUkFXMzIxNV9SRUFEKSB7CiAJCQkvKiBzdG9yZSByZXNpZHVhbCBjb3VudCwgdGhlbiB3YWl0IGZvciBkZXZpY2UgZW5kICovCi0JCQlyZXEtPnJlc2lkdWFsID0gaXJiLT5zY3N3LmNvdW50OworCQkJcmVxLT5yZXNpZHVhbCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJCX0KIAkJaWYgKGRzdGF0ID09IDB4MDgpCiAJCQlicmVhazsKQEAgLTQyOCwxMSArNDEyLDYgQEAKIAogCQkJdHR5ID0gcmF3LT50dHk7CiAJCQljb3VudCA9IDE2MCAtIHJlcS0+cmVzaWR1YWw7Ci0JCQlpZiAoTUFDSElORV9JU19QMzkwKSB7Ci0JCQkJc2xlbiA9IHN0cm5sZW4ocmF3LT5pbmJ1ZiwgUkFXMzIxNV9JTkJVRl9TSVpFKTsKLQkJCQlpZiAoY291bnQgPiBzbGVuKQotCQkJCQljb3VudCA9IHNsZW47Ci0JCQl9IGVsc2UKIAkJCUVCQ0FTQyhyYXctPmluYnVmLCBjb3VudCk7CiAJCQljY2hhciA9IGN0cmxjaGFyX2hhbmRsZShyYXctPmluYnVmLCBjb3VudCwgdHR5KTsKIAkJCXN3aXRjaCAoY2NoYXIgJiBDVFJMQ0hBUl9NQVNLKSB7CkBAIC00ODEsMTEgKzQ2MCw2IEBACiAJCQlyYXctPmZsYWdzICY9IH5SQVczMjE1X1dPUktJTkc7CiAJCQlyYXczMjE1X2ZyZWVfcmVxKHJlcSk7CiAJCX0KLQkJcmF3LT5tZXNzYWdlID0gS0VSTl9XQVJOSU5HCi0JCQkiU3B1cmlvdXMgaW50ZXJydXB0IGluIGluIHJhdzMyMTVfaXJxICIKLQkJCSIoZGV2IHN0cyAweCUyeCwgc2NoIHN0cyAweCUyeCkiOwotCQlyYXctPm1zZ19kc3RhdCA9IGRzdGF0OwotCQlyYXctPm1zZ19jc3RhdCA9IGNzdGF0OwogCQl0YXNrbGV0X3NjaGVkdWxlKCZyYXctPnRhc2tsZXQpOwogCX0KIAlyZXR1cm47CkBAIC04ODMsNyArODU3LDYgQEAKIAkJZnJlZV9ib290bWVtKCh1bnNpZ25lZCBsb25nKSByYXctPmJ1ZmZlciwgUkFXMzIxNV9CVUZGRVJfU0laRSk7CiAJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZykgcmF3LCBzaXplb2Yoc3RydWN0IHJhdzMyMTVfaW5mbykpOwogCQlyYXczMjE1WzBdID0gTlVMTDsKLQkJcHJpbnRrKCJDb3VsZG4ndCBmaW5kIGEgMzIxNSBjb25zb2xlIGRldmljZVxuIik7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIAlyZWdpc3Rlcl9jb25zb2xlKCZjb24zMjE1KTsKQEAgLTExNTcsNyArMTEzMCw2IEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnR0eTMyMTVfb3BzKTsKIAlyZXQgPSB0dHlfcmVnaXN0ZXJfZHJpdmVyKGRyaXZlcik7CiAJaWYgKHJldCkgewotCQlwcmludGsoIkNvdWxkbid0IHJlZ2lzdGVyIHR0eTMyMTUgZHJpdmVyXG4iKTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJldDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjcwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9jb24zMjcwLmMKaW5kZXggMGIwNDA1NS4uM2MwNzk3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL2NvbjMyNzAuYwpAQCAtNDExLDE1ICs0MTEsMTUgQEAKIGNvbjMyNzBfaXJxKHN0cnVjdCBjb24zMjcwICpjcCwgc3RydWN0IHJhdzMyNzBfcmVxdWVzdCAqcnEsIHN0cnVjdCBpcmIgKmlyYikKIHsKIAkvKiBIYW5kbGUgQVRUTi4gU2NoZWR1bGUgdGFza2xldCB0byByZWFkIGFpZC4gKi8KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKQogCQljb24zMjcwX2lzc3VlX3JlYWQoY3ApOwogCiAJaWYgKHJxKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCQlycS0+cmMgPSAtRUlPOwogCQllbHNlCiAJCQkvKiBOb3JtYWwgZW5kLiBDb3B5IHJlc2lkdWFsIGNvdW50LiAqLwotCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCX0KIAlyZXR1cm4gUkFXMzI3MF9JT19ET05FOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9mczMyNzAuYwppbmRleCBlZjM2ZjIxMy4uZDE4ZTZkMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvZnMzMjcwLmMKQEAgLTE0LDYgKzE0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2Njd2Rldi5oPgogI2luY2x1ZGUgPGFzbS9jaW8uaD4KQEAgLTIxNiwxNyArMjE3LDE3IEBACiBmczMyNzBfaXJxKHN0cnVjdCBmczMyNzAgKmZwLCBzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0ICpycSwgc3RydWN0IGlyYiAqaXJiKQogewogCS8qIEhhbmRsZSBBVFROLiBTZXQgaW5kaWNhdGlvbiBhbmQgd2FrZSB3YWl0ZXJzIGZvciBhdHRlbnRpb24uICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCWZwLT5hdHRlbnRpb24gPSAxOwogCQl3YWtlX3VwKCZmcC0+d2FpdCk7CiAJfQogCiAJaWYgKHJxKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCQlycS0+cmMgPSAtRUlPOwogCQllbHNlCiAJCQkvKiBOb3JtYWwgZW5kLiBDb3B5IHJlc2lkdWFsIGNvdW50LiAqLwotCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCX0KIAlyZXR1cm4gUkFXMzI3MF9JT19ET05FOwogfQpAQCAtNDIxLDYgKzQyMiw3IEBACiAKIAlpZiAoaW1ham9yKGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpICE9IElCTV9GUzMyNzBfTUFKT1IpCiAJCXJldHVybiAtRU5PREVWOworCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpbWlub3IoZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7CiAJLyogQ2hlY2sgZm9yIG1pbm9yIDAgbXVsdGlwbGV4ZXIuICovCiAJaWYgKG1pbm9yID09IDApIHsKQEAgLTQyOSw3ICs0MzEsOCBAQAogCQl0dHkgPSBnZXRfY3VycmVudF90dHkoKTsKIAkJaWYgKCF0dHkgfHwgdHR5LT5kcml2ZXItPm1ham9yICE9IElCTV9UVFkzMjcwX01BSk9SKSB7CiAJCQltdXRleF91bmxvY2soJnR0eV9tdXRleCk7Ci0JCQlyZXR1cm4gLUVOT0RFVjsKKwkJCXJjID0gLUVOT0RFVjsKKwkJCWdvdG8gb3V0OwogCQl9CiAJCW1pbm9yID0gdHR5LT5pbmRleCArIFJBVzMyNzBfRklSU1RNSU5PUjsKIAkJbXV0ZXhfdW5sb2NrKCZ0dHlfbXV0ZXgpOwpAQCAtNDM4LDE5ICs0NDEsMjIgQEAKIAlmcCA9IChzdHJ1Y3QgZnMzMjcwICopIHJhdzMyNzBfZmluZF92aWV3KCZmczMyNzBfZm4sIG1pbm9yKTsKIAlpZiAoIUlTX0VSUihmcCkpIHsKIAkJcmF3MzI3MF9wdXRfdmlldygmZnAtPnZpZXcpOwotCQlyZXR1cm4gLUVCVVNZOworCQlyYyA9IC1FQlVTWTsKKwkJZ290byBvdXQ7CiAJfQogCS8qIEFsbG9jYXRlIGZ1bGxzY3JlZW4gdmlldyBzdHJ1Y3R1cmUuICovCiAJZnAgPSBmczMyNzBfYWxsb2NfdmlldygpOwotCWlmIChJU19FUlIoZnApKQotCQlyZXR1cm4gUFRSX0VSUihmcCk7CisJaWYgKElTX0VSUihmcCkpIHsKKwkJcmMgPSBQVFJfRVJSKGZwKTsKKwkJZ290byBvdXQ7CisJfQogCiAJaW5pdF93YWl0cXVldWVfaGVhZCgmZnAtPndhaXQpOwogCWZwLT5mc19waWQgPSBnZXRfcGlkKHRhc2tfcGlkKGN1cnJlbnQpKTsKIAlyYyA9IHJhdzMyNzBfYWRkX3ZpZXcoJmZwLT52aWV3LCAmZnMzMjcwX2ZuLCBtaW5vcik7CiAJaWYgKHJjKSB7CiAJCWZzMzI3MF9mcmVlX3ZpZXcoJmZwLT52aWV3KTsKLQkJcmV0dXJuIHJjOworCQlnb3RvIG91dDsKIAl9CiAKIAkvKiBBbGxvY2F0ZSBpZGFsLWJ1ZmZlci4gKi8KQEAgLTQ1OCw3ICs0NjQsOCBAQAogCWlmIChJU19FUlIoaWIpKSB7CiAJCXJhdzMyNzBfcHV0X3ZpZXcoJmZwLT52aWV3KTsKIAkJcmF3MzI3MF9kZWxfdmlldygmZnAtPnZpZXcpOwotCQlyZXR1cm4gUFRSX0VSUihmcCk7CisJCXJjID0gUFRSX0VSUihmcCk7CisJCWdvdG8gb3V0OwogCX0KIAlmcC0+cmRidWYgPSBpYjsKIApAQCAtNDY2LDkgKzQ3MywxMSBAQAogCWlmIChyYykgewogCQlyYXczMjcwX3B1dF92aWV3KCZmcC0+dmlldyk7CiAJCXJhdzMyNzBfZGVsX3ZpZXcoJmZwLT52aWV3KTsKLQkJcmV0dXJuIHJjOworCQlnb3RvIG91dDsKIAl9CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gZnA7CitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCkBAIC01MTIsMTEgKzUyMSw4IEBACiAJaW50IHJjOwogCiAJcmMgPSByZWdpc3Rlcl9jaHJkZXYoSUJNX0ZTMzI3MF9NQUpPUiwgImZzMzI3MCIsICZmczMyNzBfZm9wcyk7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiZnMzMjcwIGNhbid0IGdldCBtYWpvciBudW1iZXIgJWQ6IGVycm5vICVkXG4iLAotCQkgICAgICAgSUJNX0ZTMzI3MF9NQUpPUiwgcmMpOworCWlmIChyYykKIAkJcmV0dXJuIHJjOwotCX0KIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvbW9ucmVhZGVyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYwppbmRleCAxZTFmNTA2Li4zNWZkOGRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9tb25yZWFkZXIuYwpAQCAtMywxNCArMywxNCBAQAogICoKICAqIENoYXJhY3RlciBkZXZpY2UgZHJpdmVyIGZvciByZWFkaW5nIHovVk0gKk1PTklUT1Igc2VydmljZSByZWNvcmRzLgogICoKLSAqIENvcHlyaWdodCAyMDA0IElCTSBDb3Jwb3JhdGlvbiwgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkguCi0gKgotICogQXV0aG9yOiBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZHNjQGRlLmlibS5jb20+CisgKiAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwNCwgMjAwOAorICogICBBdXRob3I6IEdlcmFsZCBTY2hhZWZlciA8Z2VyYWxkLnNjaGFlZmVyQGRlLmlibS5jb20+CiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgpAQCAtMTgsMTIgKzE4LDExIEBACiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxuZXQvaXVjdi9pdWN2Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vZWJjZGljLmg+CiAjaW5jbHVkZSA8YXNtL2V4dG1lbS5oPgotI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KLSNpbmNsdWRlIDxuZXQvaXVjdi9pdWN2Lmg+Ci0KIAogLy8jZGVmaW5lIE1PTl9ERUJVRwkJCS8qIERlYnVnIG1lc3NhZ2VzIG9uL29mZiAqLwogCkBAIC0xNTIsMTAgKzE1MSw3IEBACiAJICAgIChtb25fbWNhX2VuZChtb25tc2cpID4gbW9uX2Rjc3NfZW5kKSB8fAogCSAgICAobW9uX21jYV9zdGFydChtb25tc2cpIDwgbW9uX2Rjc3Nfc3RhcnQpIHx8CiAJICAgICgobW9uX21jYV90eXBlKG1vbm1zZywgMSkgPT0gMCkgJiYgKG1vbl9tY2FfdHlwZShtb25tc2csIDIpID09IDApKSkKLQl7Ci0JCVBfREVCVUcoIlJFQUQsIElHTk9SRUQgSU5WQUxJRCBNQ0FcblxuIik7CiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAlyZXR1cm4gMDsKIH0KIApAQCAtMTY0LDEwICsxNjAsNiBAQAogewogCWludCByYzsKIAotCVBfREVCVUcoInJlYWQsIFJFUExZOiBwYXRoaWQgPSAweCUwNFgsIG1zZ2lkID0gMHglMDhYLCB0cmdjbHMgPSAiCi0JCSIweCUwOFhcblxuIiwKLQkJbW9ucHJpdi0+cGF0aC0+cGF0aGlkLCBtb25tc2ctPm1zZy5pZCwgbW9ubXNnLT5tc2cuY2xhc3MpOwotCiAJcmMgPSBpdWN2X21lc3NhZ2VfcmVwbHkobW9ucHJpdi0+cGF0aCwgJm1vbm1zZy0+bXNnLAogCQkJCUlVQ1ZfSVBSTURBVEEsIE5VTEwsIDApOwogCWF0b21pY19kZWMoJm1vbnByaXYtPm1zZ2xpbV9jb3VudCk7CkBAIC0yMDIsMTUgKzE5NCwxMiBAQAogCXN0cnVjdCBtb25fcHJpdmF0ZSAqbW9ucHJpdjsKIAogCW1vbnByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW9uX3ByaXZhdGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW1vbnByaXYpIHsKLQkJUF9FUlJPUigibm8gbWVtb3J5IGZvciBtb25wcml2XG4iKTsKKwlpZiAoIW1vbnByaXYpCiAJCXJldHVybiBOVUxMOwotCX0KIAlmb3IgKGkgPSAwOyBpIDwgTU9OX01TR0xJTTsgaSsrKSB7CiAJCW1vbnByaXYtPm1zZ19hcnJheVtpXSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtb25fbXNnKSwKIAkJCQkJCSAgICBHRlBfS0VSTkVMKTsKIAkJaWYgKCFtb25wcml2LT5tc2dfYXJyYXlbaV0pIHsKLQkJCVBfRVJST1IoIm9wZW4sIG5vIG1lbW9yeSBmb3IgbXNnX2FycmF5XG4iKTsKIAkJCW1vbl9mcmVlX21lbShtb25wcml2KTsKIAkJCXJldHVybiBOVUxMOwogCQl9CkBAIC0yMTgsNDEgKzIwNywxMCBAQAogCXJldHVybiBtb25wcml2OwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgbW9uX3JlYWRfZGVidWcoc3RydWN0IG1vbl9tc2cgKm1vbm1zZywKLQkJCQkgIHN0cnVjdCBtb25fcHJpdmF0ZSAqbW9ucHJpdikKLXsKLSNpZmRlZiBNT05fREVCVUcKLQl1OCBtc2dfdHlwZVsyXSwgbWNhX3R5cGU7Ci0JdW5zaWduZWQgbG9uZyByZWNvcmRzX2xlbjsKLQotCXJlY29yZHNfbGVuID0gbW9uX3JlY19lbmQobW9ubXNnKSAtIG1vbl9yZWNfc3RhcnQobW9ubXNnKSArIDE7Ci0KLQltZW1jcHkobXNnX3R5cGUsICZtb25tc2ctPm1zZy5jbGFzcywgMik7Ci0JRUJDQVNDKG1zZ190eXBlLCAyKTsKLQltY2FfdHlwZSA9IG1vbl9tY2FfdHlwZShtb25tc2csIDApOwotCUVCQ0FTQygmbWNhX3R5cGUsIDEpOwotCi0JUF9ERUJVRygicmVhZCwgbW9uX3JlYWRfaW5kZXggPSAlaSwgbW9uX3dyaXRlX2luZGV4ID0gJWlcbiIsCi0JCW1vbnByaXYtPnJlYWRfaW5kZXgsIG1vbnByaXYtPndyaXRlX2luZGV4KTsKLQlQX0RFQlVHKCJyZWFkLCBwYXRoaWQgPSAweCUwNFgsIG1zZ2lkID0gMHglMDhYLCB0cmdjbHMgPSAweCUwOFhcbiIsCi0JCW1vbnByaXYtPnBhdGgtPnBhdGhpZCwgbW9ubXNnLT5tc2cuaWQsIG1vbm1zZy0+bXNnLmNsYXNzKTsKLQlQX0RFQlVHKCJyZWFkLCBtc2dfdHlwZSA9ICclYyVjJywgbWNhX3R5cGUgPSAnJWMnIC8gMHglWCAvIDB4JVhcbiIsCi0JCW1zZ190eXBlWzBdLCBtc2dfdHlwZVsxXSwgbWNhX3R5cGUgPyBtY2FfdHlwZSA6ICdYJywKLQkJbW9uX21jYV90eXBlKG1vbm1zZywgMSksIG1vbl9tY2FfdHlwZShtb25tc2csIDIpKTsKLQlQX0RFQlVHKCJyZWFkLCBNQ0E6IHN0YXJ0ID0gMHglbFgsIGVuZCA9IDB4JWxYXG4iLAotCQltb25fbWNhX3N0YXJ0KG1vbm1zZyksIG1vbl9tY2FfZW5kKG1vbm1zZykpOwotCVBfREVCVUcoInJlYWQsIFJFQzogc3RhcnQgPSAweCVYLCBlbmQgPSAweCVYLCBsZW4gPSAlbHVcblxuIiwKLQkJbW9uX3JlY19zdGFydChtb25tc2cpLCBtb25fcmVjX2VuZChtb25tc2cpLCByZWNvcmRzX2xlbik7Ci0JaWYgKG1vbl9tY2Ffc2l6ZShtb25tc2cpID4gMTIpCi0JCVBfREVCVUcoIlJFQUQsIE1PUkUgVEhBTiBPTkUgTUNBXG5cbiIpOwotI2VuZGlmCi19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBtb25fbmV4dF9tY2Eoc3RydWN0IG1vbl9tc2cgKm1vbm1zZykKIHsKIAlpZiAobGlrZWx5KChtb25fbWNhX3NpemUobW9ubXNnKSAtIG1vbm1zZy0+bWNhX29mZnNldCkgPT0gMTIpKQogCQlyZXR1cm47Ci0JUF9ERUJVRygiUkVBRCwgTkVYVCBNQ0FcblxuIik7CiAJbW9ubXNnLT5tY2Ffb2Zmc2V0ICs9IDEyOwogCW1vbm1zZy0+cG9zID0gMDsKIH0KQEAgLTI2OSw3ICsyMjcsNiBAQAogCQltb25tc2ctPm1zZ2xpbV9yZWFjaGVkID0gMDsKIAkJbW9ubXNnLT5wb3MgPSAwOwogCQltb25tc2ctPm1jYV9vZmZzZXQgPSAwOwotCQlQX1dBUk5JTkcoInJlYWQsIG1lc3NhZ2UgbGltaXQgcmVhY2hlZFxuIik7CiAJCW1vbnByaXYtPnJlYWRfaW5kZXggPSAobW9ucHJpdi0+cmVhZF9pbmRleCArIDEpICUKIAkJCQkgICAgICBNT05fTVNHTElNOwogCQlhdG9taWNfZGVjKCZtb25wcml2LT5yZWFkX3JlYWR5KTsKQEAgLTI4NiwxMCArMjQzLDYgQEAKIHsKIAlzdHJ1Y3QgbW9uX3ByaXZhdGUgKm1vbnByaXYgPSBwYXRoLT5wcml2YXRlOwogCi0JUF9ERUJVRygiSVVDViBjb25uZWN0aW9uIGNvbXBsZXRlZFxuIik7Ci0JUF9ERUJVRygiSVVDViBBQ0NFUFQgKGZyb20gKk1PTklUT1IpOiBWZXJzaW9uID0gMHglMDJYLCBFdmVudCA9ICIKLQkJIjB4JTAyWCwgU2FtcGxlID0gMHglMDJYXG4iLAotCQlpcHVzZXJbMF0sIGlwdXNlclsxXSwgaXB1c2VyWzJdKTsKIAlhdG9taWNfc2V0KCZtb25wcml2LT5pdWN2X2Nvbm5lY3RlZCwgMSk7CiAJd2FrZV91cCgmbW9uX2Nvbm5fd2FpdF9xdWV1ZSk7CiB9CkBAIC0zMTAsNyArMjYzLDYgQEAKIHsKIAlzdHJ1Y3QgbW9uX3ByaXZhdGUgKm1vbnByaXYgPSBwYXRoLT5wcml2YXRlOwogCi0JUF9ERUJVRygiSVVDViBtZXNzYWdlIHBlbmRpbmdcbiIpOwogCW1lbWNweSgmbW9ucHJpdi0+bXNnX2FycmF5W21vbnByaXYtPndyaXRlX2luZGV4XS0+bXNnLAogCSAgICAgICBtc2csIHNpemVvZigqbXNnKSk7CiAJaWYgKGF0b21pY19pbmNfcmV0dXJuKCZtb25wcml2LT5tc2dsaW1fY291bnQpID09IE1PTl9NU0dMSU0pIHsKQEAgLTM0MCw2ICsyOTIsNyBAQAogCS8qCiAJICogb25seSBvbmUgdXNlciBhbGxvd2VkCiAJICovCisJbG9ja19rZXJuZWwoKTsKIAlyYyA9IC1FQlVTWTsKIAlpZiAodGVzdF9hbmRfc2V0X2JpdChNT05fSU5fVVNFLCAmbW9uX2luX3VzZSkpCiAJCWdvdG8gb3V0OwpAQCAtMzc1LDggKzMyOCw4IEBACiAJCXJjID0gLUVJTzsKIAkJZ290byBvdXRfcGF0aDsKIAl9Ci0JUF9JTkZPKCJvcGVuLCBlc3RhYmxpc2hlZCBjb25uZWN0aW9uIHRvICpNT05JVE9SIHNlcnZpY2VcblxuIik7CiAJZmlscC0+cHJpdmF0ZV9kYXRhID0gbW9ucHJpdjsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOwogCiBvdXRfcGF0aDoKQEAgLTM4Niw2ICszMzksNyBAQAogb3V0X3VzZToKIAljbGVhcl9iaXQoTU9OX0lOX1VTRSwgJm1vbl9pbl91c2UpOwogb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTQwMCw4ICszNTQsNiBAQAogCXJjID0gaXVjdl9wYXRoX3NldmVyKG1vbnByaXYtPnBhdGgsIHVzZXJfZGF0YV9zZXZlcik7CiAJaWYgKHJjKQogCQlQX0VSUk9SKCJjbG9zZSwgaXVjdl9zZXZlciBmYWlsZWQgd2l0aCByYyA9ICVpXG4iLCByYyk7Ci0JZWxzZQotCQlQX0lORk8oImNsb3NlLCB0ZXJtaW5hdGVkIGNvbm5lY3Rpb24gdG8gKk1PTklUT1Igc2VydmljZVxuIik7CiAKIAlhdG9taWNfc2V0KCZtb25wcml2LT5pdWN2X3NldmVyZWQsIDApOwogCWF0b21pY19zZXQoJm1vbnByaXYtPml1Y3ZfY29ubmVjdGVkLCAwKTsKQEAgLTQ0MiwxMCArMzk0LDggQEAKIAkJbW9ubXNnID0gbW9ucHJpdi0+bXNnX2FycmF5W21vbnByaXYtPnJlYWRfaW5kZXhdOwogCX0KIAotCWlmICghbW9ubXNnLT5wb3MpIHsKKwlpZiAoIW1vbm1zZy0+cG9zKQogCQltb25tc2ctPnBvcyA9IG1vbl9tY2Ffc3RhcnQobW9ubXNnKSArIG1vbm1zZy0+bWNhX29mZnNldDsKLQkJbW9uX3JlYWRfZGVidWcobW9ubXNnLCBtb25wcml2KTsKLQl9CiAJaWYgKG1vbl9jaGVja19tY2EobW9ubXNnKSkKIAkJZ290byByZXBseTsKIApAQCAtNTMxLDcgKzQ4MSw2IEBACiAJCVBfRVJST1IoImZhaWxlZCB0byByZWdpc3RlciB3aXRoIGl1Y3YgZHJpdmVyXG4iKTsKIAkJcmV0dXJuIHJjOwogCX0KLQlQX0lORk8oIm9wZW4sIHJlZ2lzdGVyZWQgd2l0aCBJVUNWXG4iKTsKIAogCXJjID0gc2VnbWVudF90eXBlKG1vbl9kY3NzX25hbWUpOwogCWlmIChyYyA8IDApIHsKQEAgLTU1NSwxMyArNTA0LDggQEAKIAlkY3NzX21rbmFtZShtb25fZGNzc19uYW1lLCAmdXNlcl9kYXRhX2Nvbm5lY3RbOF0pOwogCiAJcmMgPSBtaXNjX3JlZ2lzdGVyKCZtb25fZGV2KTsKLQlpZiAocmMgPCAwICkgewotCQlQX0VSUk9SKCJtaXNjX3JlZ2lzdGVyIGZhaWxlZCwgcmMgPSAlaVxuIiwgcmMpOworCWlmIChyYyA8IDAgKQogCQlnb3RvIG91dDsKLQl9Ci0JUF9JTkZPKCJMb2FkZWQgc2VnbWVudCAlcyBmcm9tICVwIHRvICVwLCBzaXplID0gJWx1IEJ5dGVcbiIsCi0JCW1vbl9kY3NzX25hbWUsICh2b2lkICopIG1vbl9kY3NzX3N0YXJ0LCAodm9pZCAqKSBtb25fZGNzc19lbmQsCi0JCW1vbl9kY3NzX2VuZCAtIG1vbl9kY3NzX3N0YXJ0ICsgMSk7CiAJcmV0dXJuIDA7CiAKIG91dDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL21vbndyaXRlci5jIGIvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMKaW5kZXggYTg2YzA1My4uNGQ3MWFhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvbW9ud3JpdGVyLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CkBAIC0xNzksMTAgKzE4MCwxMiBAQAogCW1vbnByaXYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbW9uX3ByaXZhdGUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIW1vbnByaXYpCiAJCXJldHVybiAtRU5PTUVNOworCWxvY2tfa2VybmVsKCk7CiAJSU5JVF9MSVNUX0hFQUQoJm1vbnByaXYtPmxpc3QpOwogCW1vbnByaXYtPmhkcl90b19yZWFkID0gc2l6ZW9mKG1vbnByaXYtPmhkcik7CiAJbXV0ZXhfaW5pdCgmbW9ucHJpdi0+dGhyZWFkX211dGV4KTsKIAlmaWxwLT5wcml2YXRlX2RhdGEgPSBtb25wcml2OworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3JhdzMyNzAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3JhdzMyNzAuYwppbmRleCA4NDhlZjdlLi44MWE5NmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9yYXczMjcwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvcmF3MzI3MC5jCkBAIC0xNTMsMTkgKzE1MywxMCBAQAogCXN0cnVjdCByYXczMjcwX3JlcXVlc3QgKnJxOwogCiAJcnEgPSBhbGxvY19ib290bWVtX2xvdyhzaXplb2Yoc3RydWN0IHJhdzMyNzApKTsKLQlpZiAoIXJxKQotCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKLQltZW1zZXQocnEsIDAsIHNpemVvZihzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0KSk7CiAKIAkvKiBhbGxvYyBvdXRwdXQgYnVmZmVyLiAqLwotCWlmIChzaXplID4gMCkgeworCWlmIChzaXplID4gMCkKIAkJcnEtPmJ1ZmZlciA9IGFsbG9jX2Jvb3RtZW1fbG93KHNpemUpOwotCQlpZiAoIXJxLT5idWZmZXIpIHsKLQkJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZykgcnEsCi0JCQkJICAgICBzaXplb2Yoc3RydWN0IHJhdzMyNzApKTsKLQkJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCQl9Ci0JfQogCXJxLT5zaXplID0gc2l6ZTsKIAlJTklUX0xJU1RfSEVBRCgmcnEtPmxpc3QpOwogCkBAIC0zNzIsMTcgKzM2MywxNyBAQAogCiAJaWYgKElTX0VSUihpcmIpKQogCQlyYyA9IFJBVzMyNzBfSU9fUkVUUlk7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7CisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgU0NTV19GQ1RMX0hBTFRfRlVOQykgewogCQlycS0+cmMgPSAtRUlPOwogCQlyYyA9IFJBVzMyNzBfSU9fRE9ORTsKLQl9IGVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAgKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EIHwKLQkJCQkJREVWX1NUQVRfVU5JVF9FWENFUCkpIHsKKwl9IGVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EIHwKKwkJCQkJICAgREVWX1NUQVRfVU5JVF9FWENFUCkpIHsKIAkJLyogSGFuZGxlIENFLURFLVVFIGFuZCBzdWJzZXF1ZW50IFVERSAqLwogCQlzZXRfYml0KFJBVzMyNzBfRkxBR1NfQlVTWSwgJnJwLT5mbGFncyk7CiAJCXJjID0gUkFXMzI3MF9JT19CVVNZOwogCX0gZWxzZSBpZiAodGVzdF9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmcnAtPmZsYWdzKSkgewogCQkvKiBXYWl0IGZvciBVREUgaWYgYnVzeSBmbGFnIGlzIHNldC4gKi8KLQkJaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHsKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7CiAJCQljbGVhcl9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmcnAtPmZsYWdzKTsKIAkJCS8qIEdvdCBpdCwgbm93IHJldHJ5LiAqLwogCQkJcmMgPSBSQVczMjcwX0lPX1JFVFJZOwpAQCAtNDk3LDcgKzQ4OCw3IEBACiAJICogVW5pdC1DaGVjayBQcm9jZXNzaW5nOgogCSAqIEV4cGVjdCBDb21tYW5kIFJlamVjdCBvciBJbnRlcnZlbnRpb24gUmVxdWlyZWQuCiAJICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKIAkJLyogUmVxdWVzdCBmaW5pc2hlZCBhYm5vcm1hbGx5LiAqLwogCQlpZiAoaXJiLT5lY3dbMF0gJiBTTlMwX0lOVEVSVkVOVElPTl9SRVEpIHsKIAkJCXNldF9iaXQoUkFXMzI3MF9GTEFHU19CVVNZLCAmdmlldy0+ZGV2LT5mbGFncyk7CkBAIC01MDUsMTYgKzQ5NiwxNiBAQAogCQl9CiAJfQogCWlmIChycSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKIAkJCWlmIChpcmItPmVjd1swXSAmIFNOUzBfQ01EX1JFSkVDVCkKIAkJCQlycS0+cmMgPSAtRU9QTk9UU1VQUDsKIAkJCWVsc2UKIAkJCQlycS0+cmMgPSAtRUlPOwogCQl9IGVsc2UKIAkJCS8qIFJlcXVlc3QgZmluaXNoZWQgbm9ybWFsbHkuIENvcHkgcmVzaWR1YWwgY291bnQuICovCi0JCQlycS0+cmVzY250ID0gaXJiLT5zY3N3LmNvdW50OworCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jbWQuY291bnQ7CiAJfQotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlzZXRfYml0KFJBVzMyNzBfRkxBR1NfQVRUTiwgJnZpZXctPmRldi0+ZmxhZ3MpOwogCQl3YWtlX3VwKCZyYXczMjcwX3dhaXRfcXVldWUpOwogCX0KQEAgLTYxOSw3ICs2MTAsNiBAQAogCQlycC0+Y29scyA9IDEzMjsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAidnJkY2NybWQgaXMgMHglLjh4XG4iLCBtb2RlbCk7CiAJCXJjID0gLUVPUE5PVFNVUFA7CiAJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHAuYwppbmRleCAyYzdhMWVlLi4zYzhiMjVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscC5jCkBAIC01MDYsNiArNTA2LDggQEAKIAlpZiAoc2NidWYtPnZhbGlkaXR5X3NjbHBfc2VuZF9tYXNrKQogCQlzY2xwX3NlbmRfbWFzayA9IHNjYnVmLT5zY2xwX3NlbmRfbWFzazsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX2xvY2ssIGZsYWdzKTsKKwlpZiAoc2NidWYtPnZhbGlkaXR5X3NjbHBfYWN0aXZlX2ZhY2lsaXR5X21hc2spCisJCXNjbHBfZmFjaWxpdGllcyA9IHNjYnVmLT5zY2xwX2FjdGl2ZV9mYWNpbGl0eV9tYXNrOwogCXNjbHBfZGlzcGF0Y2hfc3RhdGVfY2hhbmdlKCk7CiB9CiAKQEAgLTc4MiwxMSArNzg0LDkgQEAKIAkvKiBJcyB0aGlzIHRoZSBpbnRlcnJ1cHQgd2UgYXJlIHdhaXRpbmcgZm9yPyAqLwogCWlmIChmaW5pc2hlZF9zY2NiID09IDApCiAJCXJldHVybjsKLQlpZiAoZmluaXNoZWRfc2NjYiAhPSAodTMyKSAoYWRkcl90KSBzY2xwX2luaXRfc2NjYikgewotCQlwcmludGsoS0VSTl9XQVJOSU5HIFNDTFBfSEVBREVSICJ1bnNvbGljaXRlZCBpbnRlcnJ1cHQgIgotCQkgICAgICAgImZvciBidWZmZXIgYXQgMHgleFxuIiwgZmluaXNoZWRfc2NjYik7Ci0JCXJldHVybjsKLQl9CisJaWYgKGZpbmlzaGVkX3NjY2IgIT0gKHUzMikgKGFkZHJfdCkgc2NscF9pbml0X3NjY2IpCisJCXBhbmljKCJzY2xwOiB1bnNvbGljaXRlZCBpbnRlcnJ1cHQgZm9yIGJ1ZmZlciBhdCAweCV4XG4iLAorCQkgICAgICBmaW5pc2hlZF9zY2NiKTsKIAlzcGluX2xvY2soJnNjbHBfbG9jayk7CiAJaWYgKHNjbHBfcnVubmluZ19zdGF0ZSA9PSBzY2xwX3J1bm5pbmdfc3RhdGVfcnVubmluZykgewogCQlzY2xwX2luaXRfcmVxLnN0YXR1cyA9IFNDTFBfUkVRX0RPTkU7CkBAIC04ODMsOCArODgzLDYgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCByYzsKIAotCWlmICghTUFDSElORV9IQVNfU0NMUCkKLQkJcmV0dXJuIC1FTk9ERVY7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJnNjbHBfbG9jaywgZmxhZ3MpOwogCS8qIENoZWNrIGZvciBwcmV2aW91cyBvciBydW5uaW5nIGluaXRpYWxpemF0aW9uICovCiAJaWYgKHNjbHBfaW5pdF9zdGF0ZSAhPSBzY2xwX2luaXRfc3RhdGVfdW5pbml0aWFsaXplZCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY21kLmMKaW5kZXggYjVjMjMzOS4uMGMyYjc3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jbWQuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NtZC5jCkBAIC0xMSw2ICsxMSw5IEBACiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CisjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tbXpvbmUuaD4KKyNpbmNsdWRlIDxsaW51eC9tZW1vcnkuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlIDxhc20vc2NscC5oPgogI2luY2x1ZGUgInNjbHAuaCIKQEAgLTQzLDYgKzQ2LDggQEAKIAogdTY0IHNjbHBfZmFjaWxpdGllczsKIHN0YXRpYyB1OCBzY2xwX2ZhYzg0Oworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyByem07CitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIHJubWF4OwogCiBzdGF0aWMgaW50IF9faW5pdCBzY2xwX2NtZF9zeW5jX2Vhcmx5KHNjbHBfY21kd190IGNtZCwgdm9pZCAqc2NjYikKIHsKQEAgLTYyLDcgKzY3LDcgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLXZvaWQgX19pbml0IHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpCitzdGF0aWMgdm9pZCBfX2luaXQgc2NscF9yZWFkX2luZm9fZWFybHkodm9pZCkKIHsKIAlpbnQgcmM7CiAJaW50IGk7CkBAIC05MiwzNCArOTcsMzMgQEAKIAogdm9pZCBfX2luaXQgc2NscF9mYWNpbGl0aWVzX2RldGVjdCh2b2lkKQogewotCWlmICghZWFybHlfcmVhZF9pbmZvX3NjY2JfdmFsaWQpCi0JCXJldHVybjsKLQlzY2xwX2ZhY2lsaXRpZXMgPSBlYXJseV9yZWFkX2luZm9fc2NjYi5mYWNpbGl0aWVzOwotCXNjbHBfZmFjODQgPSBlYXJseV9yZWFkX2luZm9fc2NjYi5mYWM4NDsKLX0KLQotdW5zaWduZWQgbG9uZyBsb25nIF9faW5pdCBzY2xwX21lbW9yeV9kZXRlY3Qodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbWVtc2l6ZTsKIAlzdHJ1Y3QgcmVhZF9pbmZvX3NjY2IgKnNjY2I7CiAKKwlzY2xwX3JlYWRfaW5mb19lYXJseSgpOwogCWlmICghZWFybHlfcmVhZF9pbmZvX3NjY2JfdmFsaWQpCi0JCXJldHVybiAwOworCQlyZXR1cm47CisKIAlzY2NiID0gJmVhcmx5X3JlYWRfaW5mb19zY2NiOwotCWlmIChzY2NiLT5ybnNpemUpCi0JCW1lbXNpemUgPSBzY2NiLT5ybnNpemUgPDwgMjA7Ci0JZWxzZQotCQltZW1zaXplID0gc2NjYi0+cm5zaXplMiA8PCAyMDsKLQlpZiAoc2NjYi0+cm5tYXgpCi0JCW1lbXNpemUgKj0gc2NjYi0+cm5tYXg7Ci0JZWxzZQotCQltZW1zaXplICo9IHNjY2ItPnJubWF4MjsKLQlyZXR1cm4gbWVtc2l6ZTsKKwlzY2xwX2ZhY2lsaXRpZXMgPSBzY2NiLT5mYWNpbGl0aWVzOworCXNjbHBfZmFjODQgPSBzY2NiLT5mYWM4NDsKKwlybm1heCA9IHNjY2ItPnJubWF4ID8gc2NjYi0+cm5tYXggOiBzY2NiLT5ybm1heDI7CisJcnptID0gc2NjYi0+cm5zaXplID8gc2NjYi0+cm5zaXplIDogc2NjYi0+cm5zaXplMjsKKwlyem0gPDw9IDIwOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcgc2NscF9nZXRfcm5tYXgodm9pZCkKK3sKKwlyZXR1cm4gcm5tYXg7Cit9CisKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9yem0odm9pZCkKK3sKKwlyZXR1cm4gcnptOwogfQogCiAvKgotICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBhZnRlciBzY2xwX21lbW9yeV9kZXRlY3QoKSwgd2hpY2ggZ2V0cyBjYWxsZWQKLSAqIGVhcmx5IGZyb20gZWFybHkuYyBjb2RlLiBUaGVyZWZvcmUgdGhlIHNjY2Igc2hvdWxkIGhhdmUgdmFsaWQgY29udGVudHMuCisgKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGFmdGVyIHNjbHBfZmFjaWxpdGllc19kZXRlY3QoKSwgd2hpY2ggZ2V0cworICogY2FsbGVkIGZyb20gZWFybHkuYyBjb2RlLiBUaGVyZWZvcmUgdGhlIHNjY2Igc2hvdWxkIGhhdmUgdmFsaWQgY29udGVudHMuCiAgKi8KIHZvaWQgX19pbml0IHNjbHBfZ2V0X2lwbF9pbmZvKHN0cnVjdCBzY2xwX2lwbF9pbmZvICppbmZvKQogewpAQCAtMjc4LDYgKzI4MiwzMDUgQEAKIAlyZXR1cm4gZG9fY3B1X2NvbmZpZ3VyZShTQ0xQX0NNRFdfREVDT05GSUdVUkVfQ1BVIHwgY3B1IDw8IDgpOwogfQogCisjaWZkZWYgQ09ORklHX01FTU9SWV9IT1RQTFVHCisKK3N0YXRpYyBERUZJTkVfTVVURVgoc2NscF9tZW1fbXV0ZXgpOworc3RhdGljIExJU1RfSEVBRChzY2xwX21lbV9saXN0KTsKK3N0YXRpYyB1OCBzY2xwX21heF9zdG9yYWdlX2lkOworc3RhdGljIHVuc2lnbmVkIGxvbmcgc2NscF9zdG9yYWdlX2lkc1syNTYgLyBCSVRTX1BFUl9MT05HXTsKKworc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl1MTYgcm47CisJaW50IHN0YW5kYnk7CisJaW50IHVzZWNvdW50OworfTsKKworc3RydWN0IGFzc2lnbl9zdG9yYWdlX3NjY2IgeworCXN0cnVjdCBzY2NiX2hlYWRlciBoZWFkZXI7CisJdTE2IHJuOworfSBfX3BhY2tlZDsKKworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBybjJhZGRyKHUxNiBybikKK3sKKwlyZXR1cm4gKHVuc2lnbmVkIGxvbmcgbG9uZykgKHJuIC0gMSkgKiByem07Cit9CisKK3N0YXRpYyBpbnQgZG9fYXNzaWduX3N0b3JhZ2Uoc2NscF9jbWR3X3QgY21kLCB1MTYgcm4pCit7CisJc3RydWN0IGFzc2lnbl9zdG9yYWdlX3NjY2IgKnNjY2I7CisJaW50IHJjOworCisJc2NjYiA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NiKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzY2NiLT5oZWFkZXIubGVuZ3RoID0gUEFHRV9TSVpFOworCXNjY2ItPnJuID0gcm47CisJcmMgPSBkb19zeW5jX3JlcXVlc3QoY21kLCBzY2NiKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCXN3aXRjaCAoc2NjYi0+aGVhZGVyLnJlc3BvbnNlX2NvZGUpIHsKKwljYXNlIDB4MDAyMDoKKwljYXNlIDB4MDEyMDoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmMgPSAtRUlPOworCQlicmVhazsKKwl9CitvdXQ6CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKSBzY2NiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc2NscF9hc3NpZ25fc3RvcmFnZSh1MTYgcm4pCit7CisJcmV0dXJuIGRvX2Fzc2lnbl9zdG9yYWdlKDB4MDAwZDAwMDEsIHJuKTsKK30KKworc3RhdGljIGludCBzY2xwX3VuYXNzaWduX3N0b3JhZ2UodTE2IHJuKQoreworCXJldHVybiBkb19hc3NpZ25fc3RvcmFnZSgweDAwMGMwMDAxLCBybik7Cit9CisKK3N0cnVjdCBhdHRhY2hfc3RvcmFnZV9zY2NiIHsKKwlzdHJ1Y3Qgc2NjYl9oZWFkZXIgaGVhZGVyOworCXUxNiA6MTY7CisJdTE2IGFzc2lnbmVkOworCXUzMiA6MzI7CisJdTMyIGVudHJpZXNbMF07Cit9IF9fcGFja2VkOworCitzdGF0aWMgaW50IHNjbHBfYXR0YWNoX3N0b3JhZ2UodTggaWQpCit7CisJc3RydWN0IGF0dGFjaF9zdG9yYWdlX3NjY2IgKnNjY2I7CisJaW50IHJjOworCWludCBpOworCisJc2NjYiA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NiKQorCQlyZXR1cm4gLUVOT01FTTsKKwlzY2NiLT5oZWFkZXIubGVuZ3RoID0gUEFHRV9TSVpFOworCXJjID0gZG9fc3luY19yZXF1ZXN0KDB4MDAwODAwMDEgfCBpZCA8PCA4LCBzY2NiKTsKKwlpZiAocmMpCisJCWdvdG8gb3V0OworCXN3aXRjaCAoc2NjYi0+aGVhZGVyLnJlc3BvbnNlX2NvZGUpIHsKKwljYXNlIDB4MDAyMDoKKwkJc2V0X2JpdChpZCwgc2NscF9zdG9yYWdlX2lkcyk7CisJCWZvciAoaSA9IDA7IGkgPCBzY2NiLT5hc3NpZ25lZDsgaSsrKQorCQkJc2NscF91bmFzc2lnbl9zdG9yYWdlKHNjY2ItPmVudHJpZXNbaV0gPj4gMTYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyYyA9IC1FSU87CisJCWJyZWFrOworCX0KK291dDoKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpIHNjY2IpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzY2xwX21lbV9jaGFuZ2Vfc3RhdGUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkJCSBpbnQgb25saW5lKQoreworCXN0cnVjdCBtZW1vcnlfaW5jcmVtZW50ICppbmNyOworCXVuc2lnbmVkIGxvbmcgbG9uZyBpc3RhcnQ7CisJaW50IHJjID0gMDsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5jciwgJnNjbHBfbWVtX2xpc3QsIGxpc3QpIHsKKwkJaXN0YXJ0ID0gcm4yYWRkcihpbmNyLT5ybik7CisJCWlmIChzdGFydCArIHNpemUgLSAxIDwgaXN0YXJ0KQorCQkJYnJlYWs7CisJCWlmIChzdGFydCA+IGlzdGFydCArIHJ6bSAtIDEpCisJCQljb250aW51ZTsKKwkJaWYgKG9ubGluZSkgeworCQkJaWYgKGluY3ItPnVzZWNvdW50KyspCisJCQkJY29udGludWU7CisJCQkvKgorCQkJICogRG9uJ3QgYnJlYWsgdGhlIGxvb3AgaWYgb25lIGFzc2lnbiBmYWlscy4gTG9vcCBtYXkKKwkJCSAqIGJlIHdhbGtlZCBhZ2FpbiBvbiBDQU5DRUwgYW5kIHdlIGNhbid0IHNhdmUKKwkJCSAqIGluZm9ybWF0aW9uIGlmIHN0YXRlIGNoYW5nZWQgYmVmb3JlIG9yIG5vdC4KKwkJCSAqIFNvIGNvbnRpbnVlIGFuZCBpbmNyZWFzZSB1c2Vjb3VudCBmb3IgYWxsIGluY3JlbWVudHMuCisJCQkgKi8KKwkJCXJjIHw9IHNjbHBfYXNzaWduX3N0b3JhZ2UoaW5jci0+cm4pOworCQl9IGVsc2UgeworCQkJaWYgKC0taW5jci0+dXNlY291bnQpCisJCQkJY29udGludWU7CisJCQlzY2xwX3VuYXNzaWduX3N0b3JhZ2UoaW5jci0+cm4pOworCQl9CisJfQorCXJldHVybiByYyA/IC1FSU8gOiAwOworfQorCitzdGF0aWMgaW50IHNjbHBfbWVtX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsCisJCQkgICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpkYXRhKQoreworCXVuc2lnbmVkIGxvbmcgc3RhcnQsIHNpemU7CisJc3RydWN0IG1lbW9yeV9ub3RpZnkgKmFyZzsKKwl1bnNpZ25lZCBjaGFyIGlkOworCWludCByYyA9IDA7CisKKwlhcmcgPSBkYXRhOworCXN0YXJ0ID0gYXJnLT5zdGFydF9wZm4gPDwgUEFHRV9TSElGVDsKKwlzaXplID0gYXJnLT5ucl9wYWdlcyA8PCBQQUdFX1NISUZUOworCW11dGV4X2xvY2soJnNjbHBfbWVtX211dGV4KTsKKwlmb3IgKGlkID0gMDsgaWQgPD0gc2NscF9tYXhfc3RvcmFnZV9pZDsgaWQrKykKKwkJaWYgKCF0ZXN0X2JpdChpZCwgc2NscF9zdG9yYWdlX2lkcykpCisJCQlzY2xwX2F0dGFjaF9zdG9yYWdlKGlkKTsKKwlzd2l0Y2ggKGFjdGlvbikgeworCWNhc2UgTUVNX09OTElORToKKwkJYnJlYWs7CisJY2FzZSBNRU1fR09JTkdfT05MSU5FOgorCQlyYyA9IHNjbHBfbWVtX2NoYW5nZV9zdGF0ZShzdGFydCwgc2l6ZSwgMSk7CisJCWJyZWFrOworCWNhc2UgTUVNX0NBTkNFTF9PTkxJTkU6CisJCXNjbHBfbWVtX2NoYW5nZV9zdGF0ZShzdGFydCwgc2l6ZSwgMCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJjID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQorCW11dGV4X3VubG9jaygmc2NscF9tZW1fbXV0ZXgpOworCXJldHVybiByYyA/IE5PVElGWV9CQUQgOiBOT1RJRllfT0s7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgc2NscF9tZW1fbmIgPSB7CisJLm5vdGlmaWVyX2NhbGwgPSBzY2xwX21lbV9ub3RpZmllciwKK307CisKK3N0YXRpYyB2b2lkIF9faW5pdCBhZGRfbWVtb3J5X21lcmdlZCh1MTYgcm4pCit7CisJc3RhdGljIHUxNiBmaXJzdF9ybiwgbnVtOworCXVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwgc2l6ZTsKKworCWlmIChybiAmJiBmaXJzdF9ybiAmJiAoZmlyc3Rfcm4gKyBudW0gPT0gcm4pKSB7CisJCW51bSsrOworCQlyZXR1cm47CisJfQorCWlmICghZmlyc3Rfcm4pCisJCWdvdG8gc2tpcF9hZGQ7CisJc3RhcnQgPSBybjJhZGRyKGZpcnN0X3JuKTsKKwlzaXplID0gKHVuc2lnbmVkIGxvbmcgbG9uZyApIG51bSAqIHJ6bTsKKwlpZiAoc3RhcnQgPj0gVk1FTV9NQVhfUEhZUykKKwkJZ290byBza2lwX2FkZDsKKwlpZiAoc3RhcnQgKyBzaXplID4gVk1FTV9NQVhfUEhZUykKKwkJc2l6ZSA9IFZNRU1fTUFYX1BIWVMgLSBzdGFydDsKKwlhZGRfbWVtb3J5KDAsIHN0YXJ0LCBzaXplKTsKK3NraXBfYWRkOgorCWZpcnN0X3JuID0gcm47CisJbnVtID0gMTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHNjbHBfYWRkX3N0YW5kYnlfbWVtb3J5KHZvaWQpCit7CisJc3RydWN0IG1lbW9yeV9pbmNyZW1lbnQgKmluY3I7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGluY3IsICZzY2xwX21lbV9saXN0LCBsaXN0KQorCQlpZiAoaW5jci0+c3RhbmRieSkKKwkJCWFkZF9tZW1vcnlfbWVyZ2VkKGluY3ItPnJuKTsKKwlhZGRfbWVtb3J5X21lcmdlZCgwKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IGluc2VydF9pbmNyZW1lbnQodTE2IHJuLCBpbnQgc3RhbmRieSwgaW50IGFzc2lnbmVkKQoreworCXN0cnVjdCBtZW1vcnlfaW5jcmVtZW50ICppbmNyLCAqbmV3X2luY3I7CisJc3RydWN0IGxpc3RfaGVhZCAqcHJldjsKKwl1MTYgbGFzdF9ybjsKKworCW5ld19pbmNyID0ga3phbGxvYyhzaXplb2YoKm5ld19pbmNyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFuZXdfaW5jcikKKwkJcmV0dXJuOworCW5ld19pbmNyLT5ybiA9IHJuOworCW5ld19pbmNyLT5zdGFuZGJ5ID0gc3RhbmRieTsKKwlsYXN0X3JuID0gMDsKKwlwcmV2ID0gJnNjbHBfbWVtX2xpc3Q7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShpbmNyLCAmc2NscF9tZW1fbGlzdCwgbGlzdCkgeworCQlpZiAoYXNzaWduZWQgJiYgaW5jci0+cm4gPiBybikKKwkJCWJyZWFrOworCQlpZiAoIWFzc2lnbmVkICYmIGluY3ItPnJuIC0gbGFzdF9ybiA+IDEpCisJCQlicmVhazsKKwkJbGFzdF9ybiA9IGluY3ItPnJuOworCQlwcmV2ID0gJmluY3ItPmxpc3Q7CisJfQorCWlmICghYXNzaWduZWQpCisJCW5ld19pbmNyLT5ybiA9IGxhc3Rfcm4gKyAxOworCWlmIChuZXdfaW5jci0+cm4gPiBybm1heCkgeworCQlrZnJlZShuZXdfaW5jcik7CisJCXJldHVybjsKKwl9CisJbGlzdF9hZGQoJm5ld19pbmNyLT5saXN0LCBwcmV2KTsKK30KKworc3RydWN0IHJlYWRfc3RvcmFnZV9zY2NiIHsKKwlzdHJ1Y3Qgc2NjYl9oZWFkZXIgaGVhZGVyOworCXUxNiBtYXhfaWQ7CisJdTE2IGFzc2lnbmVkOworCXUxNiBzdGFuZGJ5OworCXUxNiA6MTY7CisJdTMyIGVudHJpZXNbMF07Cit9IF9fcGFja2VkOworCitzdGF0aWMgaW50IF9faW5pdCBzY2xwX2RldGVjdF9zdGFuZGJ5X21lbW9yeSh2b2lkKQoreworCXN0cnVjdCByZWFkX3N0b3JhZ2Vfc2NjYiAqc2NjYjsKKwlpbnQgaSwgaWQsIGFzc2lnbmVkLCByYzsKKworCWlmICghZWFybHlfcmVhZF9pbmZvX3NjY2JfdmFsaWQpCisJCXJldHVybiAwOworCWlmICgoc2NscF9mYWNpbGl0aWVzICYgMHhlMDAwMDAwMDAwMDBVTEwpICE9IDB4ZTAwMDAwMDAwMDAwVUxMKQorCQlyZXR1cm4gMDsKKwlyYyA9IC1FTk9NRU07CisJc2NjYiA9ICh2b2lkICopIF9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NiKQorCQlnb3RvIG91dDsKKwlhc3NpZ25lZCA9IDA7CisJZm9yIChpZCA9IDA7IGlkIDw9IHNjbHBfbWF4X3N0b3JhZ2VfaWQ7IGlkKyspIHsKKwkJbWVtc2V0KHNjY2IsIDAsIFBBR0VfU0laRSk7CisJCXNjY2ItPmhlYWRlci5sZW5ndGggPSBQQUdFX1NJWkU7CisJCXJjID0gZG9fc3luY19yZXF1ZXN0KDB4MDAwNDAwMDEgfCBpZCA8PCA4LCBzY2NiKTsKKwkJaWYgKHJjKQorCQkJZ290byBvdXQ7CisJCXN3aXRjaCAoc2NjYi0+aGVhZGVyLnJlc3BvbnNlX2NvZGUpIHsKKwkJY2FzZSAweDAwMTA6CisJCQlzZXRfYml0KGlkLCBzY2xwX3N0b3JhZ2VfaWRzKTsKKwkJCWZvciAoaSA9IDA7IGkgPCBzY2NiLT5hc3NpZ25lZDsgaSsrKSB7CisJCQkJaWYgKCFzY2NiLT5lbnRyaWVzW2ldKQorCQkJCQljb250aW51ZTsKKwkJCQlhc3NpZ25lZCsrOworCQkJCWluc2VydF9pbmNyZW1lbnQoc2NjYi0+ZW50cmllc1tpXSA+PiAxNiwgMCwgMSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAweDAzMTA6CisJCQlicmVhazsKKwkJY2FzZSAweDA0MTA6CisJCQlmb3IgKGkgPSAwOyBpIDwgc2NjYi0+YXNzaWduZWQ7IGkrKykgeworCQkJCWlmICghc2NjYi0+ZW50cmllc1tpXSkKKwkJCQkJY29udGludWU7CisJCQkJYXNzaWduZWQrKzsKKwkJCQlpbnNlcnRfaW5jcmVtZW50KHNjY2ItPmVudHJpZXNbaV0gPj4gMTYsIDEsIDEpOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyYyA9IC1FSU87CisJCQlicmVhazsKKwkJfQorCQlpZiAoIXJjKQorCQkJc2NscF9tYXhfc3RvcmFnZV9pZCA9IHNjY2ItPm1heF9pZDsKKwl9CisJaWYgKHJjIHx8IGxpc3RfZW1wdHkoJnNjbHBfbWVtX2xpc3QpKQorCQlnb3RvIG91dDsKKwlmb3IgKGkgPSAxOyBpIDw9IHJubWF4IC0gYXNzaWduZWQ7IGkrKykKKwkJaW5zZXJ0X2luY3JlbWVudCgwLCAxLCAwKTsKKwlyYyA9IHJlZ2lzdGVyX21lbW9yeV9ub3RpZmllcigmc2NscF9tZW1fbmIpOworCWlmIChyYykKKwkJZ290byBvdXQ7CisJc2NscF9hZGRfc3RhbmRieV9tZW1vcnkoKTsKK291dDoKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpIHNjY2IpOworCXJldHVybiByYzsKK30KK19faW5pdGNhbGwoc2NscF9kZXRlY3Rfc3RhbmRieV9tZW1vcnkpOworCisjZW5kaWYgLyogQ09ORklHX01FTU9SWV9IT1RQTFVHICovCisKIC8qCiAgKiBDaGFubmVsIHBhdGggY29uZmlndXJhdGlvbiByZWxhdGVkIGZ1bmN0aW9ucy4KICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24uYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uLmMKaW5kZXggZWFkMTA0My4uN2U2MTljNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb24uYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2Nvbi5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KICNpbmNsdWRlIDxsaW51eC9ib290bWVtLmg+CisjaW5jbHVkZSA8bGludXgvdGVybWlvcy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogCiAjaW5jbHVkZSAic2NscC5oIgogI2luY2x1ZGUgInNjbHBfcncuaCIKICNpbmNsdWRlICJzY2xwX3R0eS5oIgogCi0jZGVmaW5lIFNDTFBfQ09OX1BSSU5UX0hFQURFUiAic2NscCBjb25zb2xlIGRyaXZlcjogIgotCiAjZGVmaW5lIHNjbHBfY29uc29sZV9tYWpvciA0CQkvKiBUVFlBVVhfTUFKT1IgKi8KICNkZWZpbmUgc2NscF9jb25zb2xlX21pbm9yIDY0CiAjZGVmaW5lIHNjbHBfY29uc29sZV9uYW1lICAidHR5UyIKQEAgLTIyMiw4ICsyMjEsNiBAQAogCUlOSVRfTElTVF9IRUFEKCZzY2xwX2Nvbl9wYWdlcyk7CiAJZm9yIChpID0gMDsgaSA8IE1BWF9DT05TT0xFX1BBR0VTOyBpKyspIHsKIAkJcGFnZSA9IGFsbG9jX2Jvb3RtZW1fbG93X3BhZ2VzKFBBR0VfU0laRSk7Ci0JCWlmIChwYWdlID09IE5VTEwpCi0JCQlyZXR1cm4gLUVOT01FTTsKIAkJbGlzdF9hZGRfdGFpbCgoc3RydWN0IGxpc3RfaGVhZCAqKSBwYWdlLCAmc2NscF9jb25fcGFnZXMpOwogCX0KIAlJTklUX0xJU1RfSEVBRCgmc2NscF9jb25fb3V0cXVldWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb25maWcuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfY29uZmlnLmMKaW5kZXggYWQwNWE4Ny4uZmZmNGZmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jb25maWcuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NvbmZpZy5jCkBAIC04LDYgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9zeXNkZXYuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRlIDxhc20vc21wLmg+CkBAIC00MCw5ICs0MSwxOSBAQAogCXB1dF9vbmxpbmVfY3B1cygpOwogfQogCi1zdGF0aWMgdm9pZCBfX3JlZiBzY2xwX2NwdV9jaGFuZ2Vfbm90aWZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3N0YXRpYyBpbnQgc2NscF9jcHVfa3RocmVhZCh2b2lkICpkYXRhKQogewogCXNtcF9yZXNjYW5fY3B1cygpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX3JlZiBzY2xwX2NwdV9jaGFuZ2Vfbm90aWZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwkvKiBDYW4ndCBjYWxsIHNtcF9yZXNjYW5fY3B1cygpIGZyb20gIHdvcmtxdWV1ZSBjb250ZXh0IHNpbmNlIGl0IG1heQorCSAqIGRlYWRsb2NrIGluIGNhc2Ugb2YgY3B1IGhvdHBsdWcuIFNvIHdlIGhhdmUgdG8gY3JlYXRlIGEga2VybmVsCisJICogdGhyZWFkIGluIG9yZGVyIHRvIGNhbGwgaXQuCisJICovCisJa3RocmVhZF9ydW4oc2NscF9jcHVfa3RocmVhZCwgTlVMTCwgImNwdV9yZXNjYW4iKTsKIH0KIAogc3RhdGljIHZvaWQgc2NscF9jb25mX3JlY2VpdmVyX2ZuKHN0cnVjdCBldmJ1Zl9oZWFkZXIgKmV2YnVmKQpAQCAtNzQsMTAgKzg1LDggQEAKIAlJTklUX1dPUksoJnNjbHBfY3B1X2NoYW5nZV93b3JrLCBzY2xwX2NwdV9jaGFuZ2Vfbm90aWZ5KTsKIAogCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF9jb25mX3JlZ2lzdGVyKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFRBRyAiZmFpbGVkIHRvIHJlZ2lzdGVyICglZCkuXG4iLCByYyk7CisJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0JfQogCiAJaWYgKCEoc2NscF9jb25mX3JlZ2lzdGVyLnNjbHBfc2VuZF9tYXNrICYgRVZUWVBfQ09ORk1HTURBVEFfTUFTSykpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyBUQUcgIm5vIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudC5cbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9jcGlfc3lzLmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYwppbmRleCA5ZjM3NDU2Li5kODg3YmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX2NwaV9zeXMuYwpAQCAtMjcsNiArMjcsOCBAQAogI2RlZmluZSBDUElfTEVOR1RIX05BTUUgOAogI2RlZmluZSBDUElfTEVOR1RIX0xFVkVMIDE2CiAKK3N0YXRpYyBERUZJTkVfTVVURVgoc2NscF9jcGlfbXV0ZXgpOworCiBzdHJ1Y3QgY3BpX2V2YnVmIHsKIAlzdHJ1Y3QgZXZidWZfaGVhZGVyIGhlYWRlcjsKIAl1OAlpZF9mb3JtYXQ7CkBAIC0xMjQsMjEgKzEyNiwxNSBAQAogCWludCByZXNwb25zZTsKIAogCXJjID0gc2NscF9yZWdpc3Rlcigmc2NscF9jcGlfZXZlbnQpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICJjcGk6IGNvdWxkIG5vdCByZWdpc3RlciAiCi0JCQkidG8gaGFyZHdhcmUgY29uc29sZS5cbiIpOworCWlmIChyYykKIAkJZ290byBvdXQ7Ci0JfQogCWlmICghKHNjbHBfY3BpX2V2ZW50LnNjbHBfcmVjZWl2ZV9tYXNrICYgRVZUWVBfQ1RMUFJPR0lERU5UX01BU0spKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImNwaTogbm8gY29udHJvbCBwcm9ncmFtICIKLQkJCSJpZGVudGlmaWNhdGlvbiBzdXBwb3J0XG4iKTsKIAkJcmMgPSAtRU9QTk9UU1VQUDsKIAkJZ290byBvdXRfdW5yZWdpc3RlcjsKIAl9CiAKIAlyZXEgPSBjcGlfcHJlcGFyZV9yZXEoKTsKIAlpZiAoSVNfRVJSKHJlcSkpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY3BpOiBjb3VsZCBub3QgYWxsb2NhdGUgcmVxdWVzdFxuIik7CiAJCXJjID0gUFRSX0VSUihyZXEpOwogCQlnb3RvIG91dF91bnJlZ2lzdGVyOwogCX0KQEAgLTE0OCwxMCArMTQ0LDggQEAKIAogCS8qIEFkZCByZXF1ZXN0IHRvIHNjbHAgcXVldWUgKi8KIAlyYyA9IHNjbHBfYWRkX3JlcXVlc3QocmVxKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY3BpOiBjb3VsZCBub3Qgc3RhcnQgcmVxdWVzdFxuIik7CisJaWYgKHJjKQogCQlnb3RvIG91dF9mcmVlX3JlcTsKLQl9CiAKIAl3YWl0X2Zvcl9jb21wbGV0aW9uKCZjb21wbGV0aW9uKTsKIApAQCAtMjIzLDcgKzIxNywxMiBAQAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX25hbWVfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQlzdHJ1Y3Qga29ial9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKnBhZ2UpCiB7Ci0JcmV0dXJuIHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXN0ZW1fbmFtZSk7CisJaW50IHJjOworCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOworCXJjID0gc25wcmludGYocGFnZSwgUEFHRV9TSVpFLCAiJXNcbiIsIHN5c3RlbV9uYW1lKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV9uYW1lX3N0b3JlKHN0cnVjdCBrb2JqZWN0ICprb2JqLApAQCAtMjM3LDcgKzIzNiw5IEBACiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJc2V0X3N0cmluZyhzeXN0ZW1fbmFtZSwgYnVmKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKIAogCXJldHVybiBsZW47CiB9CkBAIC0yNDgsNyArMjQ5LDEyIEBACiBzdGF0aWMgc3NpemVfdCBzeXNwbGV4X25hbWVfc2hvdyhzdHJ1Y3Qga29iamVjdCAqa29iaiwKIAkJCQkgc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewotCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzcGxleF9uYW1lKTsKKwlpbnQgcmM7CisKKwltdXRleF9sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmMgPSBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzcGxleF9uYW1lKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IHN5c3BsZXhfbmFtZV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKQEAgLTI2Miw3ICsyNjgsOSBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzcGxleF9uYW1lLCBidWYpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCiAJcmV0dXJuIGxlbjsKIH0KQEAgLTI3Myw3ICsyODEsMTIgQEAKIHN0YXRpYyBzc2l6ZV90IHN5c3RlbV90eXBlX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJc3RydWN0IGtvYmpfYXR0cmlidXRlICphdHRyLCBjaGFyICpwYWdlKQogewotCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlc1xuIiwgc3lzdGVtX3R5cGUpOworCWludCByYzsKKworCW11dGV4X2xvY2soJnNjbHBfY3BpX211dGV4KTsKKwlyYyA9IHNucHJpbnRmKHBhZ2UsIFBBR0VfU0laRSwgIiVzXG4iLCBzeXN0ZW1fdHlwZSk7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CisJcmV0dXJuIHJjOwogfQogCiBzdGF0aWMgc3NpemVfdCBzeXN0ZW1fdHlwZV9zdG9yZShzdHJ1Y3Qga29iamVjdCAqa29iaiwKQEAgLTI4Nyw3ICszMDAsOSBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX3R5cGUsIGJ1Zik7CisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAKIAlyZXR1cm4gbGVuOwogfQpAQCAtMjk4LDggKzMxMywxMSBAQAogc3RhdGljIHNzaXplX3Qgc3lzdGVtX2xldmVsX3Nob3coc3RydWN0IGtvYmplY3QgKmtvYmosCiAJCQkJIHN0cnVjdCBrb2JqX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqcGFnZSkKIHsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbGV2ZWwgPSBzeXN0ZW1fbGV2ZWw7CisJdW5zaWduZWQgbG9uZyBsb25nIGxldmVsOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOworCWxldmVsID0gc3lzdGVtX2xldmVsOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXJldHVybiBzbnByaW50ZihwYWdlLCBQQUdFX1NJWkUsICIlIzAxOGxseFxuIiwgbGV2ZWwpOwogfQogCkBAIC0zMjAsOCArMzM4LDkgQEAKIAlpZiAoKmVuZHApCiAJCXJldHVybiAtRUlOVkFMOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXN5c3RlbV9sZXZlbCA9IGxldmVsOwotCisJbXV0ZXhfdW5sb2NrKCZzY2xwX2NwaV9tdXRleCk7CiAJcmV0dXJuIGxlbjsKIH0KIApAQCAtMzM0LDcgKzM1Myw5IEBACiB7CiAJaW50IHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXJjID0gY3BpX3JlcSgpOworCW11dGV4X3VubG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCkBAIC0zNzMsMTIgKzM5NCwxNiBAQAogCWlmIChyYykKIAkJcmV0dXJuIHJjOwogCisJbXV0ZXhfbG9jaygmc2NscF9jcGlfbXV0ZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX25hbWUsIHN5c3RlbSk7CiAJc2V0X3N0cmluZyhzeXNwbGV4X25hbWUsIHN5c3BsZXgpOwogCXNldF9zdHJpbmcoc3lzdGVtX3R5cGUsIHR5cGUpOwogCXN5c3RlbV9sZXZlbCA9IGxldmVsOwogCi0JcmV0dXJuIGNwaV9yZXEoKTsKKwlyYyA9IGNwaV9yZXEoKTsKKwltdXRleF91bmxvY2soJnNjbHBfY3BpX211dGV4KTsKKworCXJldHVybiByYzsKIH0KIEVYUE9SVF9TWU1CT0woc2NscF9jcGlfc2V0X2RhdGEpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3F1aWVzY2UuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jCmluZGV4IDQ1ZmYyNWUuLjg0YzE5MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfcXVpZXNjZS5jCkBAIC01MSwxMyArNTEsNyBAQAogc3RhdGljIGludCBfX2luaXQKIHNjbHBfcXVpZXNjZV9pbml0KHZvaWQpCiB7Ci0JaW50IHJjOwotCi0JcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX3F1aWVzY2VfZXZlbnQpOwotCWlmIChyYykKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAic2NscDogY291bGQgbm90IHJlZ2lzdGVyIHF1aWVzY2UgaGFuZGxlciAiCi0JCSAgICAgICAiKHJjPSVkKVxuIiwgcmMpOwotCXJldHVybiByYzsKKwlyZXR1cm4gc2NscF9yZWdpc3Rlcigmc2NscF9xdWllc2NlX2V2ZW50KTsKIH0KIAogbW9kdWxlX2luaXQoc2NscF9xdWllc2NlX2luaXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jCmluZGV4IGRhMDk3ODEuLjcxMGFmNDI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3J3LmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9ydy5jCkBAIC0xOSw4ICsxOSw2IEBACiAjaW5jbHVkZSAic2NscC5oIgogI2luY2x1ZGUgInNjbHBfcncuaCIKIAotI2RlZmluZSBTQ0xQX1JXX1BSSU5UX0hFQURFUiAic2NscCBsb3cgbGV2ZWwgZHJpdmVyOiAiCi0KIC8qCiAgKiBUaGUgcm9vbSBmb3IgdGhlIFNDQ0IgKG9ubHkgZm9yIHdyaXRpbmcpIGlzIG5vdCBlcXVhbCB0byBhIHBhZ2VzIHNpemUKICAqIChhcyBpdCBpcyBzcGVjaWZpZWQgYXMgdGhlIG1heGltdW0gc2l6ZSBpbiB0aGUgU0NMUCBkb2N1bWVudGF0aW9uKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9zZGlhcy5jIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF9zZGlhcy5jCmluZGV4IDFjMDY0OTcuLjhiODU0ODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfc2RpYXMuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3NkaWFzLmMKQEAgLTIzOSwxMCArMjM5LDggQEAKIAlkZWJ1Z19yZWdpc3Rlcl92aWV3KHNkaWFzX2RiZiwgJmRlYnVnX3NwcmludGZfdmlldyk7CiAJZGVidWdfc2V0X2xldmVsKHNkaWFzX2RiZiwgNik7CiAJcmMgPSBzY2xwX3JlZ2lzdGVyKCZzY2xwX3NkaWFzX3JlZ2lzdGVyKTsKLQlpZiAocmMpIHsKLQkJRVJST1JfTVNHKCJzY2xwIHJlZ2lzdGVyIGZhaWxlZFxuIik7CisJaWYgKHJjKQogCQlyZXR1cm4gcmM7Ci0JfQogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNkaWFzX3dxKTsKIAlUUkFDRSgiaW5pdCBkb25lXG4iKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmMgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5jCmluZGV4IDQwYjExNTIuLjQzNGJhMDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgogI2luY2x1ZGUgPGxpbnV4L3R0eV9kcml2ZXIuaD4KICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgotI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMjUsOCArMjQsNiBAQAogI2luY2x1ZGUgInNjbHBfcncuaCIKICNpbmNsdWRlICJzY2xwX3R0eS5oIgogCi0jZGVmaW5lIFNDTFBfVFRZX1BSSU5UX0hFQURFUiAic2NscCB0dHkgZHJpdmVyOiAiCi0KIC8qCiAgKiBzaXplIG9mIGEgYnVmZmVyIHRoYXQgY29sbGVjdHMgc2luZ2xlIGNoYXJhY3RlcnMgY29taW5nIGluCiAgKiB2aWEgc2NscF90dHlfcHV0X2NoYXIoKQpAQCAtNTAsOCArNDcsNiBAQAogc3RhdGljIHN0cnVjdCBzY2xwX2J1ZmZlciAqc2NscF90dHlidWY7CiAvKiBUaW1lciBmb3IgZGVsYXllZCBvdXRwdXQgb2YgY29uc29sZSBtZXNzYWdlcy4gKi8KIHN0YXRpYyBzdHJ1Y3QgdGltZXJfbGlzdCBzY2xwX3R0eV90aW1lcjsKLS8qIFdhaXRxdWV1ZSB0byB3YWl0IGZvciBidWZmZXJzIHRvIGdldCBlbXB0eS4gKi8KLXN0YXRpYyB3YWl0X3F1ZXVlX2hlYWRfdCBzY2xwX3R0eV93YWl0cTsKIAogc3RhdGljIHN0cnVjdCB0dHlfc3RydWN0ICpzY2xwX3R0eTsKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIHNjbHBfdHR5X2NoYXJzW1NDTFBfVFRZX0JVRl9TSVpFXTsKQEAgLTU5LDE5ICs1NCwxMSBAQAogCiBzdHJ1Y3QgdHR5X2RyaXZlciAqc2NscF90dHlfZHJpdmVyOwogCi1zdGF0aWMgc3RydWN0IHNjbHBfaW9jdGxzIHNjbHBfaW9jdGxzOwotc3RhdGljIHN0cnVjdCBzY2xwX2lvY3RscyBzY2xwX2lvY3Rsc19pbml0ID0KLXsKLQk4LAkJCS8qIDEgaG9yLiB0YWIuID0gOCBzcGFjZXMgKi8KLQkwLAkJCS8qIG5vIGVjaG8gb2YgaW5wdXQgYnkgdGhpcyBkcml2ZXIgKi8KLQk4MCwJCQkvKiA4MCBjaGFyYWN0ZXJzL2xpbmUgKi8KLQkxLAkJCS8qIHdyaXRlIGFmdGVyIDEvMTAgcyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lICovCi0JTUFYX0tNRU1fUEFHRVMsCQkvKiBxdWljayBmaXg6IGF2b2lkIF9fYWxsb2NfcGFnZXMgKi8KLQlNQVhfS01FTV9QQUdFUywJCS8qIHRha2UgMzIvNjQgcGFnZXMgZnJvbSBrZXJuZWwgbWVtb3J5LCAqLwotCTAsCQkJLyogZG8gbm90IGNvbnZlcnQgdG8gbG93ZXIgY2FzZSAqLwotCTB4NmMJCQkvKiB0byBzZXByYXRlIHVwcGVyIGFuZCBsb3dlciBjYXNlICovCi0JCQkJLyogKCclJyBpbiBFQkNESUMpICovCi19Oworc3RhdGljIGludCBzY2xwX3R0eV90b2xvd2VyOworc3RhdGljIGludCBzY2xwX3R0eV9jb2x1bW5zID0gODA7CisKKyNkZWZpbmUgU1BBQ0VTX1BFUl9UQUIgOAorI2RlZmluZSBDQVNFX0RFTElNSVRFUiAweDZjIC8qIHRvIHNlcGFyYXRlIHVwcGVyIGFuZCBsb3dlciBjYXNlICglIGluIEVCQ0RJQykgKi8KIAogLyogVGhpcyByb3V0aW5lIGlzIGNhbGxlZCB3aGVuZXZlciB3ZSB0cnkgdG8gb3BlbiBhIFNDTFAgdGVybWluYWwuICovCiBzdGF0aWMgaW50CkBAIC05MiwxMzYgKzc5LDYgQEAKIAlzY2xwX3R0eSA9IE5VTEw7CiB9CiAKLS8qIGV4ZWN1dGUgY29tbWFuZHMgdG8gY29udHJvbCB0aGUgaS9vIGJlaGF2aW91ciBvZiB0aGUgU0NMUCB0dHkgYXQgcnVudGltZSAqLwotc3RhdGljIGludAotc2NscF90dHlfaW9jdGwoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwgc3RydWN0IGZpbGUgKiBmaWxlLAotCSAgICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCXVuc2lnbmVkIGludCBvYnVmOwotCWludCBjaGVjazsKLQlpbnQgcmM7Ci0KLQlpZiAodHR5LT5mbGFncyAmICgxIDw8IFRUWV9JT19FUlJPUikpCi0JCXJldHVybiAtRUlPOwotCXJjID0gMDsKLQljaGVjayA9IDA7Ci0Jc3dpdGNoIChjbWQpIHsKLQljYXNlIFRJT0NTQ0xQU0hUQUI6Ci0JCS8qIHNldCB3aWR0aCBvZiBob3Jpem9udGFsIHRhYgkqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuaHRhYiwgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQllbHNlCi0JCQljaGVjayA9IDE7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHSFRBQjoKLQkJLyogZ2V0IHdpZHRoIG9mIGhvcml6b250YWwgdGFiCSovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5odGFiLCAodW5zaWduZWQgc2hvcnQgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTRUNITzoKLQkJLyogZW5hYmxlL2Rpc2FibGUgZWNobyBvZiBpbnB1dCAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuZWNobywgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHRUNITzoKLQkJLyogSXMgZWNobyBvZiBpbnB1dCBlbmFibGVkID8gICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5lY2hvLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUFNDT0xTOgotCQkvKiBzZXQgbnVtYmVyIG9mIGNvbHVtbnMgZm9yIG91dHB1dCAgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmNvbHVtbnMsICh1bnNpZ25lZCBzaG9ydCBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJZWxzZQotCQkJY2hlY2sgPSAxOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0NPTFM6Ci0JCS8qIGdldCBudW1iZXIgb2YgY29sdW1ucyBmb3Igb3V0cHV0ICAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuY29sdW1ucywgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU05MOgotCQkvKiBlbmFibGUvZGlzYWJsZSB3cml0aW5nIHdpdGhvdXQgZmluYWwgbmV3IGxpbmUgY2hhcmFjdGVyICAqLwotCQlpZiAoZ2V0X3VzZXIoc2NscF9pb2N0bHMuZmluYWxfbmwsIChzaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdOTDoKLQkJLyogSXMgd3JpdGluZyB3aXRob3V0IGZpbmFsIG5ldyBsaW5lIGNoYXJhY3RlciBlbmFibGVkID8gICovCi0JCWlmIChwdXRfdXNlcihzY2xwX2lvY3Rscy5maW5hbF9ubCwgKHNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU09CVUY6Ci0JCS8qCi0JCSAqIHNldCB0aGUgbWF4aW11bSBidWZmZXJzIHNpemUgZm9yIG91dHB1dCwgd2lsbCBiZSByb3VuZGVkCi0JCSAqIHVwIHRvIG5leHQgNGtCIGJvdW5kYXJ5IGFuZCBzdG9yZWQgYXMgbnVtYmVyIG9mIFNDQ0JzCi0JCSAqICg0a0IgQnVmZmVycykgbGltaXRhdGlvbjogMjU2IHggNGtCCi0JCSAqLwotCQlpZiAoZ2V0X3VzZXIob2J1ZiwgKHVuc2lnbmVkIGludCBfX3VzZXIgKikgYXJnKSA9PSAwKSB7Ci0JCQlpZiAob2J1ZiAmIDB4RkZGKQotCQkJCXNjbHBfaW9jdGxzLm1heF9zY2NiID0gKG9idWYgPj4gMTIpICsgMTsKLQkJCWVsc2UKLQkJCQlzY2xwX2lvY3Rscy5tYXhfc2NjYiA9IChvYnVmID4+IDEyKTsKLQkJfSBlbHNlCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBHT0JVRjoKLQkJLyogZ2V0IHRoZSBtYXhpbXVtIGJ1ZmZlcnMgc2l6ZSBmb3Igb3V0cHV0ICAqLwotCQlvYnVmID0gc2NscF9pb2N0bHMubWF4X3NjY2IgPDwgMTI7Ci0JCWlmIChwdXRfdXNlcihvYnVmLCAodW5zaWduZWQgaW50IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQR0tCVUY6Ci0JCS8qIGdldCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgZ290IGZyb20ga2VybmVsIGF0IHN0YXJ0dXAgKi8KLQkJaWYgKHB1dF91c2VyKHNjbHBfaW9jdGxzLmttZW1fc2NjYiwgKHVuc2lnbmVkIHNob3J0IF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0NBU0U6Ci0JCS8qIGVuYWJsZS9kaXNhYmxlIGNvbnZlcnNpb24gZnJvbSB1cHBlciB0byBsb3dlciBjYXNlICovCi0JCWlmIChnZXRfdXNlcihzY2xwX2lvY3Rscy50b2xvd2VyLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdDQVNFOgotCQkvKiBJcyBjb252ZXJzaW9uIGZyb20gdXBwZXIgdG8gbG93ZXIgY2FzZSBvZiBpbnB1dCBlbmFibGVkPyAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMudG9sb3dlciwgKHVuc2lnbmVkIGNoYXIgX191c2VyICopIGFyZykpCi0JCQlyYyA9IC1FRkFVTFQ7Ci0JCWJyZWFrOwotCWNhc2UgVElPQ1NDTFBTREVMSU06Ci0JCS8qCi0JCSAqIHNldCBzcGVjaWFsIGNoYXJhY3RlciB1c2VkIGZvciBzZXBhcmF0aW5nIHVwcGVyIGFuZAotCQkgKiBsb3dlciBjYXNlLCAweDAwIGRpc2FibGVzIHRoaXMgZmVhdHVyZQotCQkgKi8KLQkJaWYgKGdldF91c2VyKHNjbHBfaW9jdGxzLmRlbGltLCAodW5zaWduZWQgY2hhciBfX3VzZXIgKikgYXJnKSkKLQkJCXJjID0gLUVGQVVMVDsKLQkJYnJlYWs7Ci0JY2FzZSBUSU9DU0NMUEdERUxJTToKLQkJLyoKLQkJICogZ2V0IHNwZWNpYWwgY2hhcmFjdGVyIHVzZWQgZm9yIHNlcGFyYXRpbmcgdXBwZXIgYW5kCi0JCSAqIGxvd2VyIGNhc2UsIDB4MDAgZGlzYWJsZXMgdGhpcyBmZWF0dXJlCi0JCSAqLwotCQlpZiAocHV0X3VzZXIoc2NscF9pb2N0bHMuZGVsaW0sICh1bnNpZ25lZCBjaGFyIF9fdXNlciAqKSBhcmcpKQotCQkJcmMgPSAtRUZBVUxUOwotCQlicmVhazsKLQljYXNlIFRJT0NTQ0xQU0lOSVQ6Ci0JCS8qIHNldCBpbml0aWFsIChkZWZhdWx0KSBzY2xwIGlvY3RscyAgKi8KLQkJc2NscF9pb2N0bHMgPSBzY2xwX2lvY3Rsc19pbml0OwotCQljaGVjayA9IDE7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXJjID0gLUVOT0lPQ1RMQ01EOwotCQlicmVhazsKLQl9Ci0JaWYgKGNoZWNrKSB7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCWlmIChzY2xwX3R0eWJ1ZiAhPSBOVUxMKSB7Ci0JCQlzY2xwX3NldF9odGFiKHNjbHBfdHR5YnVmLCBzY2xwX2lvY3Rscy5odGFiKTsKLQkJCXNjbHBfc2V0X2NvbHVtbnMoc2NscF90dHlidWYsIHNjbHBfaW9jdGxzLmNvbHVtbnMpOwotCQl9Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQl9Ci0JcmV0dXJuIHJjOwotfQotCiAvKgogICogVGhpcyByb3V0aW5lIHJldHVybnMgdGhlIG51bWJlcnMgb2YgY2hhcmFjdGVycyB0aGUgdHR5IGRyaXZlcgogICogd2lsbCBhY2NlcHQgZm9yIHF1ZXVpbmcgdG8gYmUgd3JpdHRlbi4gIFRoaXMgbnVtYmVyIGlzIHN1YmplY3QKQEAgLTI2OCw3ICsxMjUsNiBAQAogCQkJCQkgICAgc3RydWN0IHNjbHBfYnVmZmVyLCBsaXN0KTsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwogCX0gd2hpbGUgKGJ1ZmZlciAmJiBzY2xwX2VtaXRfYnVmZmVyKGJ1ZmZlciwgc2NscF90dHlidWZfY2FsbGJhY2spKTsKLQl3YWtlX3VwKCZzY2xwX3R0eV93YWl0cSk7CiAJLyogY2hlY2sgaWYgdGhlIHR0eSBuZWVkcyBhIHdha2UgdXAgY2FsbCAqLwogCWlmIChzY2xwX3R0eSAhPSBOVUxMKSB7CiAJCXR0eV93YWtldXAoc2NscF90dHkpOwpAQCAtMzE2LDM3ICsxNzIsMzcgQEAKIC8qCiAgKiBXcml0ZSBhIHN0cmluZyB0byB0aGUgc2NscCB0dHkuCiAgKi8KLXN0YXRpYyB2b2lkCi1zY2xwX3R0eV93cml0ZV9zdHJpbmcoY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBpbnQgY291bnQpCitzdGF0aWMgaW50IHNjbHBfdHR5X3dyaXRlX3N0cmluZyhjb25zdCB1bnNpZ25lZCBjaGFyICpzdHIsIGludCBjb3VudCwgaW50IG1heV9mYWlsKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdm9pZCAqcGFnZTsKIAlpbnQgd3JpdHRlbjsKKwlpbnQgb3ZlcmFsbF93cml0dGVuOwogCXN0cnVjdCBzY2xwX2J1ZmZlciAqYnVmOwogCiAJaWYgKGNvdW50IDw9IDApCi0JCXJldHVybjsKKwkJcmV0dXJuIDA7CisJb3ZlcmFsbF93cml0dGVuID0gMDsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwogCWRvIHsKIAkJLyogQ3JlYXRlIGEgc2NscCBvdXRwdXQgYnVmZmVyIGlmIG5vbmUgZXhpc3RzIHlldCAqLwogCQlpZiAoc2NscF90dHlidWYgPT0gTlVMTCkgewogCQkJd2hpbGUgKGxpc3RfZW1wdHkoJnNjbHBfdHR5X3BhZ2VzKSkgewogCQkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNjbHBfdHR5X2xvY2ssIGZsYWdzKTsKLQkJCQlpZiAoaW5faW50ZXJydXB0KCkpCi0JCQkJCXNjbHBfc3luY193YWl0KCk7CisJCQkJaWYgKG1heV9mYWlsKQorCQkJCQlnb3RvIG91dDsKIAkJCQllbHNlCi0JCQkJCXdhaXRfZXZlbnQoc2NscF90dHlfd2FpdHEsCi0JCQkJCQkhbGlzdF9lbXB0eSgmc2NscF90dHlfcGFnZXMpKTsKKwkJCQkJc2NscF9zeW5jX3dhaXQoKTsKIAkJCQlzcGluX2xvY2tfaXJxc2F2ZSgmc2NscF90dHlfbG9jaywgZmxhZ3MpOwogCQkJfQogCQkJcGFnZSA9IHNjbHBfdHR5X3BhZ2VzLm5leHQ7CiAJCQlsaXN0X2RlbCgoc3RydWN0IGxpc3RfaGVhZCAqKSBwYWdlKTsKLQkJCXNjbHBfdHR5YnVmID0gc2NscF9tYWtlX2J1ZmZlcihwYWdlLAotCQkJCQkJICAgICAgIHNjbHBfaW9jdGxzLmNvbHVtbnMsCi0JCQkJCQkgICAgICAgc2NscF9pb2N0bHMuaHRhYik7CisJCQlzY2xwX3R0eWJ1ZiA9IHNjbHBfbWFrZV9idWZmZXIocGFnZSwgc2NscF90dHlfY29sdW1ucywKKwkJCQkJCSAgICAgICBTUEFDRVNfUEVSX1RBQik7CiAJCX0KIAkJLyogdHJ5IHRvIHdyaXRlIHRoZSBzdHJpbmcgdG8gdGhlIGN1cnJlbnQgb3V0cHV0IGJ1ZmZlciAqLwogCQl3cml0dGVuID0gc2NscF93cml0ZShzY2xwX3R0eWJ1Ziwgc3RyLCBjb3VudCk7CisJCW92ZXJhbGxfd3JpdHRlbiArPSB3cml0dGVuOwogCQlpZiAod3JpdHRlbiA9PSBjb3VudCkKIAkJCWJyZWFrOwogCQkvKgpAQCAtMzYzLDI3ICsyMTksMTcgQEAKIAkJY291bnQgLT0gd3JpdHRlbjsKIAl9IHdoaWxlIChjb3VudCA+IDApOwogCS8qIFNldHVwIHRpbWVyIHRvIG91dHB1dCBjdXJyZW50IGNvbnNvbGUgYnVmZmVyIGFmdGVyIDEvMTAgc2Vjb25kICovCi0JaWYgKHNjbHBfaW9jdGxzLmZpbmFsX25sKSB7Ci0JCWlmIChzY2xwX3R0eWJ1ZiAhPSBOVUxMICYmCi0JCSAgICBzY2xwX2NoYXJzX2luX2J1ZmZlcihzY2xwX3R0eWJ1ZikgIT0gMCAmJgotCQkgICAgIXRpbWVyX3BlbmRpbmcoJnNjbHBfdHR5X3RpbWVyKSkgewotCQkJaW5pdF90aW1lcigmc2NscF90dHlfdGltZXIpOwotCQkJc2NscF90dHlfdGltZXIuZnVuY3Rpb24gPSBzY2xwX3R0eV90aW1lb3V0OwotCQkJc2NscF90dHlfdGltZXIuZGF0YSA9IDBVTDsKLQkJCXNjbHBfdHR5X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgSFovMTA7Ci0JCQlhZGRfdGltZXIoJnNjbHBfdHR5X3RpbWVyKTsKLQkJfQotCX0gZWxzZSB7Ci0JCWlmIChzY2xwX3R0eWJ1ZiAhPSBOVUxMICYmCi0JCSAgICBzY2xwX2NoYXJzX2luX2J1ZmZlcihzY2xwX3R0eWJ1ZikgIT0gMCkgewotCQkJYnVmID0gc2NscF90dHlidWY7Ci0JCQlzY2xwX3R0eWJ1ZiA9IE5VTEw7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCQlfX3NjbHBfdHR5YnVmX2VtaXQoYnVmKTsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7Ci0JCX0KKwlpZiAoc2NscF90dHlidWYgJiYgc2NscF9jaGFyc19pbl9idWZmZXIoc2NscF90dHlidWYpICYmCisJICAgICF0aW1lcl9wZW5kaW5nKCZzY2xwX3R0eV90aW1lcikpIHsKKwkJaW5pdF90aW1lcigmc2NscF90dHlfdGltZXIpOworCQlzY2xwX3R0eV90aW1lci5mdW5jdGlvbiA9IHNjbHBfdHR5X3RpbWVvdXQ7CisJCXNjbHBfdHR5X3RpbWVyLmRhdGEgPSAwVUw7CisJCXNjbHBfdHR5X3RpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgSFovMTA7CisJCWFkZF90aW1lcigmc2NscF90dHlfdGltZXIpOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzY2xwX3R0eV9sb2NrLCBmbGFncyk7CitvdXQ6CisJcmV0dXJuIG92ZXJhbGxfd3JpdHRlbjsKIH0KIAogLyoKQEAgLTM5NSwxMSArMjQxLDEwIEBACiBzY2xwX3R0eV93cml0ZShzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCkKIHsKIAlpZiAoc2NscF90dHlfY2hhcnNfY291bnQgPiAwKSB7Ci0JCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQpOworCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50LCAwKTsKIAkJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCX0KLQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoYnVmLCBjb3VudCk7Ci0JcmV0dXJuIGNvdW50OworCXJldHVybiBzY2xwX3R0eV93cml0ZV9zdHJpbmcoYnVmLCBjb3VudCwgMSk7CiB9CiAKIC8qCkBAIC00MTcsOSArMjYyLDEwIEBACiB7CiAJc2NscF90dHlfY2hhcnNbc2NscF90dHlfY2hhcnNfY291bnQrK10gPSBjaDsKIAlpZiAoY2ggPT0gJ1xuJyB8fCBzY2xwX3R0eV9jaGFyc19jb3VudCA+PSBTQ0xQX1RUWV9CVUZfU0laRSkgewotCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50KTsKKwkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCwgMCk7CiAJCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKLQl9IHJldHVybiAxOworCX0KKwlyZXR1cm4gMTsKIH0KIAogLyoKQEAgLTQzMCw3ICsyNzYsNyBAQAogc2NscF90dHlfZmx1c2hfY2hhcnMoc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSkKIHsKIAlpZiAoc2NscF90dHlfY2hhcnNfY291bnQgPiAwKSB7Ci0JCXNjbHBfdHR5X3dyaXRlX3N0cmluZyhzY2xwX3R0eV9jaGFycywgc2NscF90dHlfY2hhcnNfY291bnQpOworCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50LCAwKTsKIAkJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCX0KIH0KQEAgLTQ2OSw3ICszMTUsNyBAQAogc2NscF90dHlfZmx1c2hfYnVmZmVyKHN0cnVjdCB0dHlfc3RydWN0ICp0dHkpCiB7CiAJaWYgKHNjbHBfdHR5X2NoYXJzX2NvdW50ID4gMCkgewotCQlzY2xwX3R0eV93cml0ZV9zdHJpbmcoc2NscF90dHlfY2hhcnMsIHNjbHBfdHR5X2NoYXJzX2NvdW50KTsKKwkJc2NscF90dHlfd3JpdGVfc3RyaW5nKHNjbHBfdHR5X2NoYXJzLCBzY2xwX3R0eV9jaGFyc19jb3VudCwgMCk7CiAJCXNjbHBfdHR5X2NoYXJzX2NvdW50ID0gMDsKIAl9CiB9CkBAIC01MTcsOSArMzYzLDcgQEAKICAqIG1vZGlmaXkgb3JpZ2luYWwgc3RyaW5nLAogICogcmV0dXJucyBsZW5ndGggb2YgcmVzdWx0aW5nIHN0cmluZwogICovCi1zdGF0aWMgaW50Ci1zY2xwX3N3aXRjaF9jYXNlcyh1bnNpZ25lZCBjaGFyICpidWYsIGludCBjb3VudCwKLQkJICB1bnNpZ25lZCBjaGFyIGRlbGltLCBpbnQgdG9sb3dlcikKK3N0YXRpYyBpbnQgc2NscF9zd2l0Y2hfY2FzZXModW5zaWduZWQgY2hhciAqYnVmLCBpbnQgY291bnQpCiB7CiAJdW5zaWduZWQgY2hhciAqaXAsICpvcDsKIAlpbnQgdG9nZ2xlOwpAQCAtNTI5LDkgKzM3Myw5IEBACiAJaXAgPSBvcCA9IGJ1ZjsKIAl3aGlsZSAoY291bnQtLSA+IDApIHsKIAkJLyogY29tcGFyZSB3aXRoIHNwZWNpYWwgY2hhcmFjdGVyICovCi0JCWlmICgqaXAgPT0gZGVsaW0pIHsKKwkJaWYgKCppcCA9PSBDQVNFX0RFTElNSVRFUikgewogCQkJLyogZm9sbG93ZWQgYnkgYW5vdGhlciBzcGVjaWFsIGNoYXJhY3Rlcj8gKi8KLQkJCWlmIChjb3VudCAmJiBpcFsxXSA9PSBkZWxpbSkgeworCQkJaWYgKGNvdW50ICYmIGlwWzFdID09IENBU0VfREVMSU1JVEVSKSB7CiAJCQkJLyoKIAkJCQkgKiAuLi4gdGhlbiBwdXQgYSBzaW5nbGUgY29weSBvZiB0aGUgc3BlY2lhbAogCQkJCSAqIGNoYXJhY3RlciB0byB0aGUgb3V0cHV0IHN0cmluZwpAQCAtNTUwLDcgKzM5NCw3IEBACiAJCQkvKiBub3QgdGhlIHNwZWNpYWwgY2hhcmFjdGVyICovCiAJCQlpZiAodG9nZ2xlKQogCQkJCS8qIGJ1dCBjYXNlIHN3aXRjaGluZyBpcyBvbiAqLwotCQkJCWlmICh0b2xvd2VyKQorCQkJCWlmIChzY2xwX3R0eV90b2xvd2VyKQogCQkJCQkvKiBzd2l0Y2ggdG8gdXBwZXJjYXNlICovCiAJCQkJCSpvcCsrID0gX2ViY190b3VwcGVyWyhpbnQpICppcCsrXTsKIAkJCQllbHNlCkBAIC01NzAsMzAgKzQxNCwxMiBAQAogCWludCBjb3VudDsKIAogCWNvdW50ID0gZW5kIC0gc3RhcnQ7Ci0JLyoKLQkgKiBpZiBzZXQgaW4gaW9jdGwgY29udmVydCBFQkNESUMgdG8gbG93ZXIgY2FzZQotCSAqIChtb2RpZnkgb3JpZ2luYWwgaW5wdXQgaW4gU0NDQikKLQkgKi8KLQlpZiAoc2NscF9pb2N0bHMudG9sb3dlcikKKwlpZiAoc2NscF90dHlfdG9sb3dlcikKIAkJRUJDX1RPTE9XRVIoc3RhcnQsIGNvdW50KTsKLQotCS8qCi0JICogaWYgc2V0IGluIGlvY3RsIGZpbmQgb3V0IGNoYXJhY3RlcnMgaW4gbG93ZXIgb3IgdXBwZXIgY2FzZQotCSAqIChkZXBlbmRzIG9uIGN1cnJlbnQgY2FzZSkgc2VwYXJhdGVkIGJ5IGEgc3BlY2lhbCBjaGFyYWN0ZXIsCi0JICogd29ya3Mgb24gRUJDRElDCi0JICovCi0JaWYgKHNjbHBfaW9jdGxzLmRlbGltKQotCQljb3VudCA9IHNjbHBfc3dpdGNoX2Nhc2VzKHN0YXJ0LCBjb3VudCwKLQkJCQkJICBzY2xwX2lvY3Rscy5kZWxpbSwKLQkJCQkJICBzY2xwX2lvY3Rscy50b2xvd2VyKTsKLQorCWNvdW50ID0gc2NscF9zd2l0Y2hfY2FzZXMoc3RhcnQsIGNvdW50KTsKIAkvKiBjb252ZXJ0IEVCQ0RJQyB0byBBU0NJSSAobW9kaWZ5IG9yaWdpbmFsIGlucHV0IGluIFNDQ0IpICovCiAJc2NscF9lYmNhc2Nfc3RyKHN0YXJ0LCBjb3VudCk7CiAKLQkvKiBpZiBzZXQgaW4gaW9jdGwgd3JpdGUgb3BlcmF0b3JzIGlucHV0IHRvIGNvbnNvbGUgICovCi0JaWYgKHNjbHBfaW9jdGxzLmVjaG8pCi0JCXNjbHBfdHR5X3dyaXRlKHNjbHBfdHR5LCBzdGFydCwgY291bnQpOwotCiAJLyogdHJhbnNmZXIgaW5wdXQgdG8gaGlnaCBsZXZlbCBkcml2ZXIgKi8KIAlzY2xwX3R0eV9pbnB1dChzdGFydCwgY291bnQpOwogfQpAQCAtNzE3LDcgKzU0Myw2IEBACiAJLndyaXRlX3Jvb20gPSBzY2xwX3R0eV93cml0ZV9yb29tLAogCS5jaGFyc19pbl9idWZmZXIgPSBzY2xwX3R0eV9jaGFyc19pbl9idWZmZXIsCiAJLmZsdXNoX2J1ZmZlciA9IHNjbHBfdHR5X2ZsdXNoX2J1ZmZlciwKLQkuaW9jdGwgPSBzY2xwX3R0eV9pb2N0bCwKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0CkBAIC03MzYsOSArNTYxLDYgQEAKIAogCXJjID0gc2NscF9yd19pbml0KCk7CiAJaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBTQ0xQX1RUWV9QUklOVF9IRUFERVIKLQkJICAgICAgICJjb3VsZCBub3QgcmVnaXN0ZXIgdHR5IC0gIgotCQkgICAgICAgInNjbHBfcndfaW5pdCByZXR1cm5lZCAlZFxuIiwgcmMpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmM7CiAJfQpAQCAtNzU0LDcgKzU3Niw2IEBACiAJfQogCUlOSVRfTElTVF9IRUFEKCZzY2xwX3R0eV9vdXRxdWV1ZSk7CiAJc3Bpbl9sb2NrX2luaXQoJnNjbHBfdHR5X2xvY2spOwotCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnNjbHBfdHR5X3dhaXRxKTsKIAlpbml0X3RpbWVyKCZzY2xwX3R0eV90aW1lcik7CiAJc2NscF90dHlidWYgPSBOVUxMOwogCXNjbHBfdHR5X2J1ZmZlcl9jb3VudCA9IDA7CkBAIC03NjMsMTEgKzU4NCwxMCBAQAogCQkgKiBzYXZlIDQgY2hhcmFjdGVycyBmb3IgdGhlIENQVSBudW1iZXIKIAkJICogd3JpdHRlbiBhdCBzdGFydCBvZiBlYWNoIGxpbmUgYnkgVk0vQ1AKIAkJICovCi0JCXNjbHBfaW9jdGxzX2luaXQuY29sdW1ucyA9IDc2OworCQlzY2xwX3R0eV9jb2x1bW5zID0gNzY7CiAJCS8qIGNhc2UgaW5wdXQgbGluZXMgdG8gbG93ZXJjYXNlICovCi0JCXNjbHBfaW9jdGxzX2luaXQudG9sb3dlciA9IDE7CisJCXNjbHBfdHR5X3RvbG93ZXIgPSAxOwogCX0KLQlzY2xwX2lvY3RscyA9IHNjbHBfaW9jdGxzX2luaXQ7CiAJc2NscF90dHlfY2hhcnNfY291bnQgPSAwOwogCXNjbHBfdHR5ID0gTlVMTDsKIApAQCAtNzkyLDkgKzYxMiw2IEBACiAJdHR5X3NldF9vcGVyYXRpb25zKGRyaXZlciwgJnNjbHBfb3BzKTsKIAlyYyA9IHR0eV9yZWdpc3Rlcl9kcml2ZXIoZHJpdmVyKTsKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSIFNDTFBfVFRZX1BSSU5UX0hFQURFUgotCQkgICAgICAgImNvdWxkIG5vdCByZWdpc3RlciB0dHkgLSAiCi0JCSAgICAgICAidHR5X3JlZ2lzdGVyX2RyaXZlciByZXR1cm5lZCAlZFxuIiwgcmMpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmM7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuaCBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdHR5LmgKaW5kZXggMGNlMmMxZi4uNGI5NjViMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvc2NscF90dHkuaAorKysgYi9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3R0eS5oCkBAIC0xMSw2MSArMTEsOCBAQAogI2lmbmRlZiBfX1NDTFBfVFRZX0hfXwogI2RlZmluZSBfX1NDTFBfVFRZX0hfXwogCi0jaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KLSNpbmNsdWRlIDxsaW51eC90ZXJtaW9zLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5X2RyaXZlci5oPgogCi0vKiBUaGlzIGlzIHRoZSB0eXBlIG9mIGRhdGEgc3RydWN0dXJlcyBzdG9yaW5nIHNjbHAgaW9jdGwgc2V0dGluZy4gKi8KLXN0cnVjdCBzY2xwX2lvY3RscyB7Ci0JdW5zaWduZWQgc2hvcnQgaHRhYjsKLQl1bnNpZ25lZCBjaGFyIGVjaG87Ci0JdW5zaWduZWQgc2hvcnQgY29sdW1uczsKLQl1bnNpZ25lZCBjaGFyIGZpbmFsX25sOwotCXVuc2lnbmVkIHNob3J0IG1heF9zY2NiOwotCXVuc2lnbmVkIHNob3J0IGttZW1fc2NjYjsJLyogY2FuJ3QgYmUgbW9kaWZpZWQgYXQgcnVuIHRpbWUgKi8KLQl1bnNpZ25lZCBjaGFyIHRvbG93ZXI7Ci0JdW5zaWduZWQgY2hhciBkZWxpbTsKLX07Ci0KLS8qIG11c3QgYmUgdW5pcXVlLCBGSVhNRTogbXVzdCBiZSBhZGRlZCBpbiBEb2N1bWVudGF0aW9uL2lvY3RsX251bWJlci50eHQgKi8KLSNkZWZpbmUgU0NMUF9JT0NUTF9MRVRURVIgJ0InCi0KLS8qIHNldCB3aWR0aCBvZiBob3Jpem9udGFsIHRhYnVsYXRvciAqLwotI2RlZmluZSBUSU9DU0NMUFNIVEFCCV9JT1coU0NMUF9JT0NUTF9MRVRURVIsIDAsIHVuc2lnbmVkIHNob3J0KQotLyogZW5hYmxlL2Rpc2FibGUgZWNobyBvZiBpbnB1dCAoaW5kZXBlbmRlbnQgZnJvbSBsaW5lIGRpc2NpcGxpbmUpICovCi0jZGVmaW5lIFRJT0NTQ0xQU0VDSE8JX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgMSwgdW5zaWduZWQgY2hhcikKLS8qIHNldCBudW1iZXIgb2YgY29sdW1zIGZvciBvdXRwdXQgKi8KLSNkZWZpbmUgVElPQ1NDTFBTQ09MUwlfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCAyLCB1bnNpZ25lZCBzaG9ydCkKLS8qIGVuYWJsZS9kaXNhYmxlIHdyaXRpbmcgd2l0aG91dCBmaW5hbCBuZXcgbGluZSBjaGFyYWN0ZXIgKi8KLSNkZWZpbmUgVElPQ1NDTFBTTkwJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgNCwgc2lnbmVkIGNoYXIpCi0vKiBzZXQgdGhlIG1heGltdW0gYnVmZmVycyBzaXplIGZvciBvdXRwdXQsIHJvdW5kZWQgdXAgdG8gbmV4dCA0a0IgYm91bmRhcnkgKi8KLSNkZWZpbmUgVElPQ1NDTFBTT0JVRglfSU9XKFNDTFBfSU9DVExfTEVUVEVSLCA1LCB1bnNpZ25lZCBzaG9ydCkKLS8qIHNldCBpbml0aWFsIChkZWZhdWx0KSBzY2xwIGlvY3RscyAqLwotI2RlZmluZSBUSU9DU0NMUFNJTklUCV9JTyhTQ0xQX0lPQ1RMX0xFVFRFUiwgNikKLS8qIGVuYWJsZS9kaXNhYmxlIGNvbnZlcnNpb24gZnJvbSB1cHBlciB0byBsb3dlciBjYXNlIG9mIGlucHV0ICovCi0jZGVmaW5lIFRJT0NTQ0xQU0NBU0UJX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgNywgdW5zaWduZWQgY2hhcikKLS8qIHNldCBzcGVjaWFsIGNoYXJhY3RlciB1c2VkIGZvciBzZXBhcmF0aW5nIHVwcGVyIGFuZCBsb3dlciBjYXNlLCAqLwotLyogMHgwMCBkaXNhYmxlcyB0aGlzIGZlYXR1cmUgKi8KLSNkZWZpbmUgVElPQ1NDTFBTREVMSU0JX0lPVyhTQ0xQX0lPQ1RMX0xFVFRFUiwgOSwgdW5zaWduZWQgY2hhcikKLQotLyogZ2V0IHdpZHRoIG9mIGhvcml6b250YWwgdGFidWxhdG9yICovCi0jZGVmaW5lIFRJT0NTQ0xQR0hUQUIJX0lPUihTQ0xQX0lPQ1RMX0xFVFRFUiwgMTAsIHVuc2lnbmVkIHNob3J0KQotLyogSXMgZWNobyBvZiBpbnB1dCBlbmFibGVkID8gKGluZGVwZW5kZW50IGZyb20gbGluZSBkaXNjaXBsaW5lKSAqLwotI2RlZmluZSBUSU9DU0NMUEdFQ0hPCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDExLCB1bnNpZ25lZCBjaGFyKQotLyogZ2V0IG51bWJlciBvZiBjb2x1bXMgZm9yIG91dHB1dCAqLwotI2RlZmluZSBUSU9DU0NMUEdDT0xTCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDEyLCB1bnNpZ25lZCBzaG9ydCkKLS8qIElzIHdyaXRpbmcgd2l0aG91dCBmaW5hbCBuZXcgbGluZSBjaGFyYWN0ZXIgZW5hYmxlZCA/ICovCi0jZGVmaW5lIFRJT0NTQ0xQR05MCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDE0LCBzaWduZWQgY2hhcikKLS8qIGdldCB0aGUgbWF4aW11bSBidWZmZXJzIHNpemUgZm9yIG91dHB1dCAqLwotI2RlZmluZSBUSU9DU0NMUEdPQlVGCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDE1LCB1bnNpZ25lZCBzaG9ydCkKLS8qIElzIGNvbnZlcnNpb24gZnJvbSB1cHBlciB0byBsb3dlciBjYXNlIG9mIGlucHV0IGVuYWJsZWQgPyAqLwotI2RlZmluZSBUSU9DU0NMUEdDQVNFCV9JT1IoU0NMUF9JT0NUTF9MRVRURVIsIDE3LCB1bnNpZ25lZCBjaGFyKQotLyogZ2V0IHNwZWNpYWwgY2hhcmFjdGVyIHVzZWQgZm9yIHNlcGFyYXRpbmcgdXBwZXIgYW5kIGxvd2VyIGNhc2UsICovCi0vKiAweDAwIGRpc2FibGVzIHRoaXMgZmVhdHVyZSAqLwotI2RlZmluZSBUSU9DU0NMUEdERUxJTQlfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAxOSwgdW5zaWduZWQgY2hhcikKLS8qIGdldCB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMvcGFnZXMgZ290IGZyb20ga2VybmVsIGF0IHN0YXJ0dXAgKi8KLSNkZWZpbmUgVElPQ1NDTFBHS0JVRglfSU9SKFNDTFBfSU9DVExfTEVUVEVSLCAyMCwgdW5zaWduZWQgc2hvcnQpCi0KIGV4dGVybiBzdHJ1Y3QgdHR5X2RyaXZlciAqc2NscF90dHlfZHJpdmVyOwogCiAjZW5kaWYJLyogX19TQ0xQX1RUWV9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdnQyMjAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3NjbHBfdnQyMjAuYwppbmRleCAzZTU3N2Y2Li5hZDUxNzM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci9zY2xwX3Z0MjIwLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvc2NscF92dDIyMC5jCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlICJzY2xwLmgiCiAKLSNkZWZpbmUgU0NMUF9WVDIyMF9QUklOVF9IRUFERVIgCSJzY2xwIHZ0MjIwIHR0eSBkcml2ZXI6ICIKICNkZWZpbmUgU0NMUF9WVDIyMF9NQUpPUgkJVFRZX01BSk9SCiAjZGVmaW5lIFNDTFBfVlQyMjBfTUlOT1IJCTY1CiAjZGVmaW5lIFNDTFBfVlQyMjBfRFJJVkVSX05BTUUJCSJzY2xwX3Z0MjIwIgpAQCAtODIsOCArODEsOCBAQAogLyogTnVtYmVyIG9mIGNoYXJhY3RlcnMgaW4gY3VycmVudCByZXF1ZXN0IGJ1ZmZlciAqLwogc3RhdGljIGludCBzY2xwX3Z0MjIwX2J1ZmZlcmVkX2NoYXJzOwogCi0vKiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGRyaXZlciBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkICovCi1zdGF0aWMgaW50IHNjbHBfdnQyMjBfaW5pdGlhbGl6ZWQgPSAwOworLyogQ291bnRlciBjb250cm9sbGluZyBjb3JlIGRyaXZlciBpbml0aWFsaXphdGlvbi4gKi8KK3N0YXRpYyBpbnQgX19pbml0ZGF0YSBzY2xwX3Z0MjIwX2luaXRfY291bnQ7CiAKIC8qIEZsYWcgaW5kaWNhdGluZyB0aGF0IHNjbHBfdnQyMjBfY3VycmVudF9yZXF1ZXN0IHNob3VsZCByZWFsbHkKICAqIGhhdmUgYmVlbiBhbHJlYWR5IHF1ZXVlZCBidXQgd2Fzbid0IGJlY2F1c2UgdGhlIFNDTFAgd2FzIHByb2Nlc3NpbmcKQEAgLTYwOSwxMCArNjA4LDggQEAKIAlzY2xwX3Z0MjIwX2VtaXRfY3VycmVudCgpOwogfQogCi0vKgotICogSW5pdGlhbGl6ZSBhbGwgcmVsZXZhbnQgY29tcG9uZW50cyBhbmQgcmVnaXN0ZXIgZHJpdmVyIHdpdGggc3lzdGVtLgotICovCi1zdGF0aWMgdm9pZCBfX2luaXQgX19zY2xwX3Z0MjIwX2NsZWFudXAodm9pZCkKKy8qIFJlbGVhc2UgYWxsb2NhdGVkIHBhZ2VzLiAqLworc3RhdGljIHZvaWQgX19pbml0IF9fc2NscF92dDIyMF9mcmVlX3BhZ2VzKHZvaWQpCiB7CiAJc3RydWN0IGxpc3RfaGVhZCAqcGFnZSwgKnA7CiAKQEAgLTYyMywyMSArNjIwLDMwIEBACiAJCWVsc2UKIAkJCWZyZWVfYm9vdG1lbSgodW5zaWduZWQgbG9uZykgcGFnZSwgUEFHRV9TSVpFKTsKIAl9Ci0JaWYgKCFsaXN0X2VtcHR5KCZzY2xwX3Z0MjIwX3JlZ2lzdGVyLmxpc3QpKQotCQlzY2xwX3VucmVnaXN0ZXIoJnNjbHBfdnQyMjBfcmVnaXN0ZXIpOwotCXNjbHBfdnQyMjBfaW5pdGlhbGl6ZWQgPSAwOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBfX3NjbHBfdnQyMjBfaW5pdCh2b2lkKQorLyogUmVsZWFzZSBtZW1vcnkgYW5kIHVucmVnaXN0ZXIgZnJvbSBzY2xwIGNvcmUuIENvbnRyb2xsZWQgYnkgaW5pdCBjb3VudGluZyAtCisgKiBvbmx5IHRoZSBsYXN0IGludm9rZXIgd2lsbCBhY3R1YWxseSBwZXJmb3JtIHRoZXNlIGFjdGlvbnMuICovCitzdGF0aWMgdm9pZCBfX2luaXQgX19zY2xwX3Z0MjIwX2NsZWFudXAodm9pZCkKK3sKKwlzY2xwX3Z0MjIwX2luaXRfY291bnQtLTsKKwlpZiAoc2NscF92dDIyMF9pbml0X2NvdW50ICE9IDApCisJCXJldHVybjsKKwlzY2xwX3VucmVnaXN0ZXIoJnNjbHBfdnQyMjBfcmVnaXN0ZXIpOworCV9fc2NscF92dDIyMF9mcmVlX3BhZ2VzKCk7Cit9CisKKy8qIEFsbG9jYXRlIGJ1ZmZlciBwYWdlcyBhbmQgcmVnaXN0ZXIgd2l0aCBzY2xwIGNvcmUuIENvbnRyb2xsZWQgYnkgaW5pdAorICogY291bnRpbmcgLSBvbmx5IHRoZSBmaXJzdCBpbnZva2VyIHdpbGwgYWN0dWFsbHkgcGVyZm9ybSB0aGVzZSBhY3Rpb25zLiAqLworc3RhdGljIGludCBfX2luaXQgX19zY2xwX3Z0MjIwX2luaXQoaW50IG51bV9wYWdlcykKIHsKIAl2b2lkICpwYWdlOwogCWludCBpOwotCWludCBudW1fcGFnZXM7CiAJaW50IHJjOwogCi0JaWYgKHNjbHBfdnQyMjBfaW5pdGlhbGl6ZWQpCisJc2NscF92dDIyMF9pbml0X2NvdW50Kys7CisJaWYgKHNjbHBfdnQyMjBfaW5pdF9jb3VudCAhPSAxKQogCQlyZXR1cm4gMDsKLQlzY2xwX3Z0MjIwX2luaXRpYWxpemVkID0gMTsKIAlzcGluX2xvY2tfaW5pdCgmc2NscF92dDIyMF9sb2NrKTsKIAlJTklUX0xJU1RfSEVBRCgmc2NscF92dDIyMF9lbXB0eSk7CiAJSU5JVF9MSVNUX0hFQUQoJnNjbHBfdnQyMjBfb3V0cXVldWUpOwpAQCAtNjQ5LDI0ICs2NTUsMjIgQEAKIAlzY2xwX3Z0MjIwX2ZsdXNoX2xhdGVyID0gMDsKIAogCS8qIEFsbG9jYXRlIHBhZ2VzIGZvciBvdXRwdXQgYnVmZmVyaW5nICovCi0JbnVtX3BhZ2VzID0gc2xhYl9pc19hdmFpbGFibGUoKSA/IE1BWF9LTUVNX1BBR0VTIDogTUFYX0NPTlNPTEVfUEFHRVM7CiAJZm9yIChpID0gMDsgaSA8IG51bV9wYWdlczsgaSsrKSB7CiAJCWlmIChzbGFiX2lzX2F2YWlsYWJsZSgpKQogCQkJcGFnZSA9ICh2b2lkICopIGdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CiAJCWVsc2UKIAkJCXBhZ2UgPSBhbGxvY19ib290bWVtX2xvd19wYWdlcyhQQUdFX1NJWkUpOwogCQlpZiAoIXBhZ2UpIHsKLQkJCV9fc2NscF92dDIyMF9jbGVhbnVwKCk7Ci0JCQlyZXR1cm4gLUVOT01FTTsKKwkJCXJjID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0OwogCQl9CiAJCWxpc3RfYWRkX3RhaWwoKHN0cnVjdCBsaXN0X2hlYWQgKikgcGFnZSwgJnNjbHBfdnQyMjBfZW1wdHkpOwogCX0KIAlyYyA9IHNjbHBfcmVnaXN0ZXIoJnNjbHBfdnQyMjBfcmVnaXN0ZXIpOworb3V0OgogCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgU0NMUF9WVDIyMF9QUklOVF9IRUFERVIKLQkJICAgICAgICJjb3VsZCBub3QgcmVnaXN0ZXIgdnQyMjAgLSAiCi0JCSAgICAgICAic2NscF9yZWdpc3RlciByZXR1cm5lZCAlZFxuIiwgcmMpOwotCQlfX3NjbHBfdnQyMjBfY2xlYW51cCgpOworCQlfX3NjbHBfdnQyMjBfZnJlZV9wYWdlcygpOworCQlzY2xwX3Z0MjIwX2luaXRfY291bnQtLTsKIAl9CiAJcmV0dXJuIHJjOwogfQpAQCAtNjg5LDE1ICs2OTMsMTMgQEAKIHsKIAlzdHJ1Y3QgdHR5X2RyaXZlciAqZHJpdmVyOwogCWludCByYzsKLQlpbnQgY2xlYW51cDsKIAogCS8qIE5vdGU6IHdlJ3JlIG5vdCB0ZXN0aW5nIGZvciBDT05TT0xFX0lTX1NDTFAgaGVyZSB0byBwcmVzZXJ2ZQogCSAqIHN5bW1ldHJ5IGJldHdlZW4gVk0gYW5kIExQQVIgc3lzdGVtcyByZWdhcmRpbmcgdHR5UzEuICovCiAJZHJpdmVyID0gYWxsb2NfdHR5X2RyaXZlcigxKTsKIAlpZiAoIWRyaXZlcikKIAkJcmV0dXJuIC1FTk9NRU07Ci0JY2xlYW51cCA9ICFzY2xwX3Z0MjIwX2luaXRpYWxpemVkOwotCXJjID0gX19zY2xwX3Z0MjIwX2luaXQoKTsKKwlyYyA9IF9fc2NscF92dDIyMF9pbml0KE1BWF9LTUVNX1BBR0VTKTsKIAlpZiAocmMpCiAJCWdvdG8gb3V0X2RyaXZlcjsKIApAQCAtNzEzLDE4ICs3MTUsMTMgQEAKIAl0dHlfc2V0X29wZXJhdGlvbnMoZHJpdmVyLCAmc2NscF92dDIyMF9vcHMpOwogCiAJcmMgPSB0dHlfcmVnaXN0ZXJfZHJpdmVyKGRyaXZlcik7Ci0JaWYgKHJjKSB7Ci0JCXByaW50ayhLRVJOX0VSUiBTQ0xQX1ZUMjIwX1BSSU5UX0hFQURFUgotCQkgICAgICAgImNvdWxkIG5vdCByZWdpc3RlciB0dHkgLSAiCi0JCSAgICAgICAidHR5X3JlZ2lzdGVyX2RyaXZlciByZXR1cm5lZCAlZFxuIiwgcmMpOworCWlmIChyYykKIAkJZ290byBvdXRfaW5pdDsKLQl9CiAJc2NscF92dDIyMF9kcml2ZXIgPSBkcml2ZXI7CiAJcmV0dXJuIDA7CiAKIG91dF9pbml0OgotCWlmIChjbGVhbnVwKQotCQlfX3NjbHBfdnQyMjBfY2xlYW51cCgpOworCV9fc2NscF92dDIyMF9jbGVhbnVwKCk7CiBvdXRfZHJpdmVyOgogCXB1dF90dHlfZHJpdmVyKGRyaXZlcik7CiAJcmV0dXJuIHJjOwpAQCAtNzczLDEwICs3NzAsOSBAQAogewogCWludCByYzsKIAotCUlOSVRfTElTVF9IRUFEKCZzY2xwX3Z0MjIwX3JlZ2lzdGVyLmxpc3QpOwogCWlmICghQ09OU09MRV9JU19TQ0xQKQogCQlyZXR1cm4gMDsKLQlyYyA9IF9fc2NscF92dDIyMF9pbml0KCk7CisJcmMgPSBfX3NjbHBfdnQyMjBfaW5pdChNQVhfQ09OU09MRV9QQUdFUyk7CiAJaWYgKHJjKQogCQlyZXR1cm4gcmM7CiAJLyogQXR0YWNoIGxpbnV4IGNvbnNvbGUgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzR4eC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNHh4LmMKaW5kZXggODc0YWRmMy4uMjJjYTM0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNHh4LmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV8zNHh4LmMKQEAgLTE5Niw3ICsxOTYsNyBAQAogc3RhdGljIGludAogdGFwZV8zNHh4X3Vuc29saWNpdGVkX2lycShzdHJ1Y3QgdGFwZV9kZXZpY2UgKmRldmljZSwgc3RydWN0IGlyYiAqaXJiKQogewotCWlmIChpcmItPnNjc3cuZHN0YXQgPT0gMHg4NSAvKiBSRUFEWSAqLykgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ID09IDB4ODUpIHsgLyogUkVBRFkgKi8KIAkJLyogQSBtZWRpdW0gd2FzIGluc2VydGVkIGluIHRoZSBkcml2ZS4gKi8KIAkJREJGX0VWRU5UKDYsICJ4dXVkIG1lZFxuIik7CiAJCXRhcGVfMzR4eF9kZWxldGVfc2JpZF9mcm9tKGRldmljZSwgMCk7CkBAIC04NDQsMjIgKzg0NCwyMiBAQAogCWlmIChyZXF1ZXN0ID09IE5VTEwpCiAJCXJldHVybiB0YXBlXzM0eHhfdW5zb2xpY2l0ZWRfaXJxKGRldmljZSwgaXJiKTsKIAotCWlmICgoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgJiYKLQkgICAgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpICYmCisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSAmJgogCSAgICAocmVxdWVzdC0+b3AgPT0gVE9fV1JJKSkgewogCQkvKiBXcml0ZSBhdCBlbmQgb2Ygdm9sdW1lICovCiAJCVBSSU5UX0lORk8oIkVuZCBvZiB2b2x1bWVcbiIpOyAvKiBYWFggKi8KIAkJcmV0dXJuIHRhcGVfMzR4eF9lcnBfZmFpbGVkKHJlcXVlc3QsIC1FTk9TUEMpOwogCX0KIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKIAkJcmV0dXJuIHRhcGVfMzR4eF91bml0X2NoZWNrKGRldmljZSwgcmVxdWVzdCwgaXJiKTsKIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7CiAJCS8qCiAJCSAqIEEgdW5pdCBleGNlcHRpb24gb2NjdXJzIG9uIHNraXBwaW5nIG92ZXIgYSB0YXBlbWFyayBibG9jay4KIAkJICovCi0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0VYQ0VQKSB7CisJCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgewogCQkJaWYgKHJlcXVlc3QtPm9wID09IFRPX0JTQiB8fCByZXF1ZXN0LT5vcCA9PSBUT19GU0IpCiAJCQkJcmVxdWVzdC0+cmVzY250Kys7CiAJCQllbHNlCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlXzM1OTAuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzU5MC5jCmluZGV4IDQyY2U3OTEuLjgzOTk4NzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzU5MC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfMzU5MC5jCkBAIC04MzcsMTMgKzgzNywxMyBAQAogc3RhdGljIGludAogdGFwZV8zNTkwX3Vuc29saWNpdGVkX2lycShzdHJ1Y3QgdGFwZV9kZXZpY2UgKmRldmljZSwgc3RydWN0IGlyYiAqaXJiKQogewotCWlmIChpcmItPnNjc3cuZHN0YXQgPT0gREVWX1NUQVRfQ0hOX0VORCkKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSBERVZfU1RBVF9DSE5fRU5EKQogCQkvKiBQcm9iYWJseSByZXN1bHQgb2YgaGFsdCBzc2NoICovCiAJCXJldHVybiBUQVBFX0lPX1BFTkRJTkc7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmRzdGF0ID09IDB4ODUpCisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAweDg1KQogCQkvKiBEZXZpY2UgUmVhZHkgKi8KIAkJREJGX0VWRU5UKDMsICJ1bnNvbC5pcnEhIHRhcGUgcmVhZHk6ICUwOHhcbiIsIGRldmljZS0+Y2Rldl9pZCk7Ci0JZWxzZSBpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQl0YXBlXzM1OTBfc2NoZWR1bGVfd29yayhkZXZpY2UsIFRPX1JFQURfQVRUTVNHKTsKIAl9IGVsc2UgewogCQlEQkZfRVZFTlQoMywgInVuc29sLmlycSEgZGV2IGVuZDogJTA4eFxuIiwgZGV2aWNlLT5jZGV2X2lkKTsKQEAgLTE1MTUsMTggKzE1MTUsMTkgQEAKIAlpZiAocmVxdWVzdCA9PSBOVUxMKQogCQlyZXR1cm4gdGFwZV8zNTkwX3Vuc29saWNpdGVkX2lycShkZXZpY2UsIGlyYik7CiAKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApICYmCi0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSAmJiAocmVxdWVzdC0+b3AgPT0gVE9fV1JJKSkgeworCWlmICgoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApICYmCisJICAgIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgJiYKKwkgICAgKHJlcXVlc3QtPm9wID09IFRPX1dSSSkpIHsKIAkJLyogV3JpdGUgYXQgZW5kIG9mIHZvbHVtZSAqLwogCQlEQkZfRVZFTlQoMiwgIkVuZCBvZiB2b2x1bWVcbiIpOwogCQlyZXR1cm4gdGFwZV8zNTkwX2VycF9mYWlsZWQoZGV2aWNlLCByZXF1ZXN0LCBpcmIsIC1FTk9TUEMpOwogCX0KIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykKIAkJcmV0dXJuIHRhcGVfMzU5MF91bml0X2NoZWNrKGRldmljZSwgcmVxdWVzdCwgaXJiKTsKIAotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9ERVZfRU5EKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgPT0gREVWX1NUQVRfVU5JVF9FWENFUCkgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSBERVZfU1RBVF9VTklUX0VYQ0VQKSB7CiAJCQlpZiAocmVxdWVzdC0+b3AgPT0gVE9fRlNCIHx8IHJlcXVlc3QtPm9wID09IFRPX0JTQikKIAkJCQlyZXF1ZXN0LT5yZXNjbnQrKzsKIAkJCWVsc2UKQEAgLTE1MzYsMTIgKzE1MzcsMTIgQEAKIAkJcmV0dXJuIHRhcGVfMzU5MF9kb25lKGRldmljZSwgcmVxdWVzdCk7CiAJfQogCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0NITl9FTkQpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0NITl9FTkQpIHsKIAkJREJGX0VWRU5UKDIsICJjYW5uZWwgZW5kXG4iKTsKIAkJcmV0dXJuIFRBUEVfSU9fUEVORElORzsKIAl9CiAKLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKIAkJREJGX0VWRU5UKDIsICJVbml0IEF0dGVudGlvbiB3aGVuIGJ1c3kuLlxuIik7CiAJCXJldHVybiBUQVBFX0lPX1BFTkRJTkc7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jaGFyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NoYXIuYwppbmRleCBlYmU4NDA2Li42ODc3MjBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NoYXIuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci90YXBlX2NoYXIuYwpAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgogI2luY2x1ZGUgPGxpbnV4L210aW8uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtMjg5LDIxICsyOTAsMjYgQEAKIAlpZiAoaW1ham9yKGZpbHAtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpICE9IHRhcGVjaGFyX21ham9yKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWxvY2tfa2VybmVsKCk7CiAJbWlub3IgPSBpbWlub3IoZmlscC0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSk7CiAJZGV2aWNlID0gdGFwZV9nZXRfZGV2aWNlKG1pbm9yIC8gVEFQRV9NSU5PUlNfUEVSX0RFVik7CiAJaWYgKElTX0VSUihkZXZpY2UpKSB7CiAJCURCRl9FVkVOVCgzLCAiVENIQVI6b3BlbjogdGFwZV9nZXRfZGV2aWNlKCkgZmFpbGVkXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIoZGV2aWNlKTsKKwkJcmMgPSBQVFJfRVJSKGRldmljZSk7CisJCWdvdG8gb3V0OwogCX0KIAogCiAJcmMgPSB0YXBlX29wZW4oZGV2aWNlKTsKIAlpZiAocmMgPT0gMCkgewogCQlmaWxwLT5wcml2YXRlX2RhdGEgPSBkZXZpY2U7Ci0JCXJldHVybiBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKwkJcmMgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKIAl9Ci0JdGFwZV9wdXRfZGV2aWNlKGRldmljZSk7CisJZWxzZQorCQl0YXBlX3B1dF9kZXZpY2UoZGV2aWNlKTsKIAorb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3RhcGVfY29yZS5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jb3JlLmMKaW5kZXggYzIwZTNjNS4uMTgxYTU0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jb3JlLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdGFwZV9jb3JlLmMKQEAgLTgzOSw3ICs4MzksNyBAQAogCiAJUFJJTlRfSU5GTygiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CiAJUFJJTlRfSU5GTygiRFNUQVQgOiAlMDJ4ICBDU1RBVDogJTAyeAlDUEE6ICUwNHhcbiIsCi0JCSAgIGlyYi0+c2Nzdy5kc3RhdCwgaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuY3BhKTsKKwkJICAgaXJiLT5zY3N3LmNtZC5kc3RhdCwgaXJiLT5zY3N3LmNtZC5jc3RhdCwgaXJiLT5zY3N3LmNtZC5jcGEpOwogCVBSSU5UX0lORk8oIkRFVklDRTogJXNcbiIsIGRldmljZS0+Y2Rldi0+ZGV2LmJ1c19pZCk7CiAJaWYgKHJlcXVlc3QgIT0gTlVMTCkKIAkJUFJJTlRfSU5GTygiT1AJICA6ICVzXG4iLCB0YXBlX29wX3ZlcmJvc2VbcmVxdWVzdC0+b3BdKTsKQEAgLTg2Nyw3ICs4NjcsNyBAQAogCWVsc2UKIAkJb3AgPSAiLS0tIjsKIAlEQkZfRVZFTlQoMywgIkRTVEFUIDogJTAyeCAgIENTVEFUOiAlMDJ4XG4iLAotCQkgIGlyYi0+c2Nzdy5kc3RhdCxpcmItPnNjc3cuY3N0YXQpOworCQkgIGlyYi0+c2Nzdy5jbWQuZHN0YXQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQpOwogCURCRl9FVkVOVCgzLCAiREVWSUNFOiAlMDh4IE9QXHQ6ICVzXG4iLCBkZXZpY2UtPmNkZXZfaWQsIG9wKTsKIAlzcHRyID0gKHVuc2lnbmVkIGludCAqKSBpcmItPmVjdzsKIAlEQkZfRVZFTlQoMywgIiUwOHggJTA4eFxuIiwgc3B0clswXSwgc3B0clsxXSk7CkBAIC0xMDgzLDEwICsxMDgzLDExIEBACiAJICogZXJyb3IgbWlnaHQgc3RpbGwgYXBwbHkuIFNvIHdlIGp1c3Qgc2NoZWR1bGUgdGhlIHJlcXVlc3QgdG8gYmUKIAkgKiBzdGFydGVkIGxhdGVyLgogCSAqLwotCWlmIChpcmItPnNjc3cuY2MgIT0gMCAmJiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyAhPSAwICYmCisJICAgIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKIAkgICAgKHJlcXVlc3QtPnN0YXR1cyA9PSBUQVBFX1JFUVVFU1RfSU5fSU8pKSB7CiAJCURCRl9FVkVOVCgzLCIoJTA4eCk6IGRlZmVycmVkIGNjPSVpLCBmY3RsPSVpLiByZXN0YXJ0aW5nXG4iLAotCQkJZGV2aWNlLT5jZGV2X2lkLCBpcmItPnNjc3cuY2MsIGlyYi0+c2Nzdy5mY3RsKTsKKwkJCWRldmljZS0+Y2Rldl9pZCwgaXJiLT5zY3N3LmNtZC5jYywgaXJiLT5zY3N3LmNtZC5mY3RsKTsKIAkJcmVxdWVzdC0+c3RhdHVzID0gVEFQRV9SRVFVRVNUX1FVRVVFRDsKIAkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZkZXZpY2UtPnRhcGVfZG5yLCBIWik7CiAJCXJldHVybjsKQEAgLTEwOTQsOCArMTA5NSw4IEBACiAKIAkvKiBNYXkgYmUgYW4gdW5zb2xpY2l0ZWQgaXJxICovCiAJaWYocmVxdWVzdCAhPSBOVUxMKQotCQlyZXF1ZXN0LT5yZXNjbnQgPSBpcmItPnNjc3cuY291bnQ7Ci0JZWxzZSBpZiAoKGlyYi0+c2Nzdy5kc3RhdCA9PSAweDg1IHx8IGlyYi0+c2Nzdy5kc3RhdCA9PSAweDgwKSAmJgorCQlyZXF1ZXN0LT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OworCWVsc2UgaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ID09IDB4ODUgfHwgaXJiLT5zY3N3LmNtZC5kc3RhdCA9PSAweDgwKSAmJgogCQkgIWxpc3RfZW1wdHkoJmRldmljZS0+cmVxX3F1ZXVlKSkgewogCQkvKiBOb3QgUmVhZHkgdG8gUmVhZHkgYWZ0ZXIgbG9uZyBidXN5ID8gKi8KIAkJc3RydWN0IHRhcGVfcmVxdWVzdCAqcmVxOwpAQCAtMTExMSw3ICsxMTEyLDcgQEAKIAkJCXJldHVybjsKIAkJfQogCX0KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICE9IDB4MGMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAhPSAweDBjKSB7CiAJCS8qIFNldCB0aGUgJ09OTElORScgZmxhZyBkZXBlbmRpbmcgb24gc2Vuc2UgYnl0ZSAxICovCiAJCWlmKCooKChfX3U4ICopIGlyYi0+ZWN3KSArIDEpICYgU0VOU0VfRFJJVkVfT05MSU5FKQogCQkJZGV2aWNlLT50YXBlX2dlbmVyaWNfc3RhdHVzIHw9IEdNVF9PTkxJTkUofjApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NoYXIvdHR5MzI3MC5jIGIvZHJpdmVycy9zMzkwL2NoYXIvdHR5MzI3MC5jCmluZGV4IDUwNDMxNTAuLmE3ZmU2MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3R0eTMyNzAuYworKysgYi9kcml2ZXJzL3MzOTAvY2hhci90dHkzMjcwLmMKQEAgLTY2Myw3ICs2NjMsNyBAQAogdHR5MzI3MF9pcnEoc3RydWN0IHR0eTMyNzAgKnRwLCBzdHJ1Y3QgcmF3MzI3MF9yZXF1ZXN0ICpycSwgc3RydWN0IGlyYiAqaXJiKQogewogCS8qIEhhbmRsZSBBVFROLiBTY2hlZHVsZSB0YXNrbGV0IHRvIHJlYWQgYWlkLiAqLwotCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9BVFRFTlRJT04pIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgewogCQlpZiAoIXRwLT50aHJvdHRsZSkKIAkJCXR0eTMyNzBfaXNzdWVfcmVhZCh0cCwgMCk7CiAJCWVsc2UKQEAgLTY3MSwxMSArNjcxLDExIEBACiAJfQogCiAJaWYgKHJxKSB7Ci0JCWlmIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKQorCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAJCQlycS0+cmMgPSAtRUlPOwogCQllbHNlCiAJCQkvKiBOb3JtYWwgZW5kLiBDb3B5IHJlc2lkdWFsIGNvdW50LiAqLwotCQkJcnEtPnJlc2NudCA9IGlyYi0+c2Nzdy5jb3VudDsKKwkJCXJxLT5yZXNjbnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCX0KIAlyZXR1cm4gUkFXMzI3MF9JT19ET05FOwogfQpAQCAtMTc5MiwxNSArMTc5MiwxMiBAQAogCXR0eV9zZXRfb3BlcmF0aW9ucyhkcml2ZXIsICZ0dHkzMjcwX29wcyk7CiAJcmV0ID0gdHR5X3JlZ2lzdGVyX2RyaXZlcihkcml2ZXIpOwogCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ0dHkzMjcwIHJlZ2lzdHJhdGlvbiBmYWlsZWQgd2l0aCAlZFxuIiwgcmV0KTsKIAkJcHV0X3R0eV9kcml2ZXIoZHJpdmVyKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAJdHR5MzI3MF9kcml2ZXIgPSBkcml2ZXI7CiAJcmV0ID0gcmF3MzI3MF9yZWdpc3Rlcl9ub3RpZmllcih0dHkzMjcwX25vdGlmaWVyKTsKIAlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidHR5MzI3MCBub3RpZmllciByZWdpc3RyYXRpb24gZmFpbGVkICIKLQkJICAgICAgICJ3aXRoICVkXG4iLCByZXQpOwogCQlwdXRfdHR5X2RyaXZlcihkcml2ZXIpOwogCQlyZXR1cm4gcmV0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci92bWNwLmMgYi9kcml2ZXJzL3MzOTAvY2hhci92bWNwLmMKaW5kZXggMmY0MTliMC4uMDllN2Q5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdm1jcC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtY3AuYwpAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9jcGNtZC5oPgogI2luY2x1ZGUgPGFzbS9kZWJ1Zy5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CkBAIC0zOSwxMSArNDAsMTQgQEAKIAlzZXNzaW9uID0ga21hbGxvYyhzaXplb2YoKnNlc3Npb24pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNlc3Npb24pCiAJCXJldHVybiAtRU5PTUVNOworCisJbG9ja19rZXJuZWwoKTsKIAlzZXNzaW9uLT5idWZzaXplID0gUEFHRV9TSVpFOwogCXNlc3Npb24tPnJlc3BvbnNlID0gTlVMTDsKIAlzZXNzaW9uLT5yZXNwX3NpemUgPSAwOwogCW11dGV4X2luaXQoJnNlc3Npb24tPm11dGV4KTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBzZXNzaW9uOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlsZSk7CiB9CiAKQEAgLTYxLDMwICs2NSwyNCBAQAogc3RhdGljIHNzaXplX3QKIHZtY3BfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKmJ1ZmYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQogewotCXNpemVfdCB0b2NvcHk7CisJc3NpemVfdCByZXQ7CisJc2l6ZV90IHNpemU7CiAJc3RydWN0IHZtY3Bfc2Vzc2lvbiAqc2Vzc2lvbjsKIAotCXNlc3Npb24gPSAoc3RydWN0IHZtY3Bfc2Vzc2lvbiAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwlzZXNzaW9uID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwogCWlmIChtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJnNlc3Npb24tPm11dGV4KSkKIAkJcmV0dXJuIC1FUkVTVEFSVFNZUzsKIAlpZiAoIXNlc3Npb24tPnJlc3BvbnNlKSB7CiAJCW11dGV4X3VubG9jaygmc2Vzc2lvbi0+bXV0ZXgpOwogCQlyZXR1cm4gMDsKIAl9Ci0JaWYgKCpwcG9zID4gc2Vzc2lvbi0+cmVzcF9zaXplKSB7Ci0JCW11dGV4X3VubG9jaygmc2Vzc2lvbi0+bXV0ZXgpOwotCQlyZXR1cm4gMDsKLQl9Ci0JdG9jb3B5ID0gbWluKHNlc3Npb24tPnJlc3Bfc2l6ZSAtIChzaXplX3QpICgqcHBvcyksIGNvdW50KTsKLQl0b2NvcHkgPSBtaW4odG9jb3B5LCBzZXNzaW9uLT5idWZzaXplIC0gKHNpemVfdCkgKCpwcG9zKSk7CisJc2l6ZSA9IG1pbl90KHNpemVfdCwgc2Vzc2lvbi0+cmVzcF9zaXplLCBzZXNzaW9uLT5idWZzaXplKTsKKwlyZXQgPSBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcihidWZmLCBjb3VudCwgcHBvcywKKwkJCQkJc2Vzc2lvbi0+cmVzcG9uc2UsIHNpemUpOwogCi0JaWYgKGNvcHlfdG9fdXNlcihidWZmLCBzZXNzaW9uLT5yZXNwb25zZSArICgqcHBvcyksIHRvY29weSkpIHsKLQkJbXV0ZXhfdW5sb2NrKCZzZXNzaW9uLT5tdXRleCk7Ci0JCXJldHVybiAtRUZBVUxUOwotCX0KIAltdXRleF91bmxvY2soJnNlc3Npb24tPm11dGV4KTsKLQkqcHBvcyArPSB0b2NvcHk7Ci0JcmV0dXJuIHRvY29weTsKKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBzc2l6ZV90CkBAIC0xOTgsMjcgKzE5NiwyMyBAQAogCQlQUklOVF9XQVJOKCJ6L1ZNIENQIGludGVyZmFjZSBpcyBvbmx5IGF2YWlsYWJsZSB1bmRlciB6L1ZNXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQorCiAJdm1jcF9kZWJ1ZyA9IGRlYnVnX3JlZ2lzdGVyKCJ2bWNwIiwgMSwgMSwgMjQwKTsKLQlpZiAoIXZtY3BfZGVidWcpIHsKLQkJUFJJTlRfRVJSKCJ6L1ZNIENQIGludGVyZmFjZSBub3QgbG9hZGVkLiBDb3VsZCBub3QgcmVnaXN0ZXIgIgotCQkJICAgImRlYnVnIGZlYXR1cmVcbiIpOworCWlmICghdm1jcF9kZWJ1ZykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JfQorCiAJcmV0ID0gZGVidWdfcmVnaXN0ZXJfdmlldyh2bWNwX2RlYnVnLCAmZGVidWdfaGV4X2FzY2lpX3ZpZXcpOwogCWlmIChyZXQpIHsKLQkJUFJJTlRfRVJSKCJ6L1ZNIENQIGludGVyZmFjZSBub3QgbG9hZGVkLiBDb3VsZCBub3QgcmVnaXN0ZXIgIgotCQkJICAiZGVidWcgZmVhdHVyZSB2aWV3LiBFcnJvciBjb2RlOiAlZFxuIiwgcmV0KTsKIAkJZGVidWdfdW5yZWdpc3Rlcih2bWNwX2RlYnVnKTsKIAkJcmV0dXJuIHJldDsKIAl9CisKIAlyZXQgPSBtaXNjX3JlZ2lzdGVyKCZ2bWNwX2Rldik7CiAJaWYgKHJldCkgewotCQlQUklOVF9FUlIoInovVk0gQ1AgaW50ZXJmYWNlIG5vdCBsb2FkZWQuIENvdWxkIG5vdCByZWdpc3RlciAiCi0JCQkgICAibWlzYyBkZXZpY2UuIEVycm9yIGNvZGU6ICVkXG4iLCByZXQpOwogCQlkZWJ1Z191bnJlZ2lzdGVyKHZtY3BfZGVidWcpOwogCQlyZXR1cm4gcmV0OwogCX0KLQlQUklOVF9JTkZPKCJ6L1ZNIENQIGludGVyZmFjZSBsb2FkZWRcbiIpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIyNiw3ICsyMjAsNiBAQAogewogCW1pc2NfZGVyZWdpc3Rlcigmdm1jcF9kZXYpOwogCWRlYnVnX3VucmVnaXN0ZXIodm1jcF9kZWJ1Zyk7Ci0JUFJJTlRfSU5GTygiei9WTSBDUCBpbnRlcmZhY2UgdW5sb2FkZWQuXG4iKTsKIH0KIAogbW9kdWxlX2luaXQodm1jcF9pbml0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtbG9ncmRyLmMgYi9kcml2ZXJzL3MzOTAvY2hhci92bWxvZ3Jkci5jCmluZGV4IDJjMjQyOGMuLmMzMWZhZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtbG9ncmRyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdm1sb2dyZHIuYwpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KIAogCkBAIC0yMTYsOSArMjE3LDcgQEAKIAljaGFyICp0YWlsOwogCWludCBsZW4saTsKIAotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHF1ZXJ5IGNvbW1hbmQ6ICVzXG4iLCBjcF9jb21tYW5kKTsKIAljcGNtZChjcF9jb21tYW5kLCBjcF9yZXNwb25zZSwgc2l6ZW9mKGNwX3Jlc3BvbnNlKSwgTlVMTCk7Ci0JcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVzcG9uc2U6ICVzIiwgY3BfcmVzcG9uc2UpOwogCWxlbiA9IHN0cm5sZW4oY3BfcmVzcG9uc2Usc2l6ZW9mKGNwX3Jlc3BvbnNlKSk7CiAJLy8gbm93IHRoZSBwYXJzaW5nCiAJdGFpbD1zdHJuY2hyKGNwX3Jlc3BvbnNlLGxlbiwnPScpOwpAQCAtMjY4LDExICsyNjcsNyBAQAogCQkJIGxvZ3B0ci0+cmVjb3JkaW5nX25hbWUsCiAJCQkgcWlkX3N0cmluZyk7CiAKLQkJcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVjb3JkaW5nIGNvbW1hbmQ6ICVzXG4iLAotCQkJY3BfY29tbWFuZCk7CiAJCWNwY21kKGNwX2NvbW1hbmQsIGNwX3Jlc3BvbnNlLCBzaXplb2YoY3BfcmVzcG9uc2UpLCBOVUxMKTsKLQkJcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVjb3JkaW5nIHJlc3BvbnNlOiAlcyIsCi0JCQljcF9yZXNwb25zZSk7CiAJfQogCiAJbWVtc2V0KGNwX2NvbW1hbmQsIDB4MDAsIHNpemVvZihjcF9jb21tYW5kKSk7CkBAIC0yODIsMTAgKzI3Nyw3IEBACiAJCW9ub2ZmLAogCQlxaWRfc3RyaW5nKTsKIAotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyBjb21tYW5kOiAlc1xuIiwgY3BfY29tbWFuZCk7CiAJY3BjbWQoY3BfY29tbWFuZCwgY3BfcmVzcG9uc2UsIHNpemVvZihjcF9yZXNwb25zZSksIE5VTEwpOwotCXByaW50ayAoS0VSTl9ERUJVRyAidm1sb2dyZHI6IHJlY29yZGluZyByZXNwb25zZTogJXMiLAotCQljcF9yZXNwb25zZSk7CiAJLyogVGhlIHJlY29yZGluZyBjb21tYW5kIHdpbGwgdXN1YWxseSBhbnN3ZXIgd2l0aCAnQ29tbWFuZCBjb21wbGV0ZScKIAkgKiBvbiBzdWNjZXNzLCBidXQgd2hlbiB0aGUgc3BlY2lmaWMgc2VydmljZSB3YXMgbmV2ZXIgY29ubmVjdGVkCiAJICogYmVmb3JlIHRoZW4gdGhlcmUgbWlnaHQgYmUgYW4gYWRkaXRpb25hbCBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UKQEAgLTMxOSw5ICszMTEsMTEgQEAKIAkJcmV0dXJuIC1FTk9TWVM7CiAKIAkvKiBCZXN1cmUgdGhpcyBkZXZpY2UgaGFzbid0IGFscmVhZHkgYmVlbiBvcGVuZWQgKi8KKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19iaCgmbG9ncHRyLT5wcml2X2xvY2spOwogCWlmIChsb2dwdHItPmRldl9pbl91c2UpCXsKIAkJc3Bpbl91bmxvY2tfYmgoJmxvZ3B0ci0+cHJpdl9sb2NrKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIAlsb2dwdHItPmRldl9pbl91c2UgPSAxOwpAQCAtMzY1LDcgKzM1OSw5IEBACiAJCSAgIHx8IChsb2dwdHItPml1Y3ZfcGF0aF9zZXZlcmVkKSk7CiAJaWYgKGxvZ3B0ci0+aXVjdl9wYXRoX3NldmVyZWQpCiAJCWdvdG8gb3V0X3JlY29yZDsKLSAJcmV0dXJuIG5vbnNlZWthYmxlX29wZW4oaW5vZGUsIGZpbHApOworIAlyZXQgPSBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKIAogb3V0X3JlY29yZDoKIAlpZiAobG9ncHRyLT5hdXRvcmVjb3JkaW5nKQpAQCAtMzc1LDYgKzM3MSw3IEBACiAJbG9ncHRyLT5wYXRoID0gTlVMTDsKIG91dF9kZXY6CiAJbG9ncHRyLT5kZXZfaW5fdXNlID0gMDsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIC1FSU87CiB9CiAKQEAgLTU2NywxMCArNTY0LDcgQEAKIAkJCSAiUkVDT1JESU5HICVzIFBVUkdFICIsCiAJCQkgcHJpdi0+cmVjb3JkaW5nX25hbWUpOwogCi0JcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVjb3JkaW5nIGNvbW1hbmQ6ICVzXG4iLCBjcF9jb21tYW5kKTsKIAljcGNtZChjcF9jb21tYW5kLCBjcF9yZXNwb25zZSwgc2l6ZW9mKGNwX3Jlc3BvbnNlKSwgTlVMTCk7Ci0JcHJpbnRrIChLRVJOX0RFQlVHICJ2bWxvZ3JkcjogcmVjb3JkaW5nIHJlc3BvbnNlOiAlcyIsCi0JCWNwX3Jlc3BvbnNlKTsKIAogCXJldHVybiBjb3VudDsKIH0KQEAgLTY4MiwyOCArNjc2LDIwIEBACiAKIAkvKiBSZWdpc3RlciB3aXRoIGl1Y3YgZHJpdmVyICovCiAJcmV0ID0gaXVjdl9yZWdpc3Rlcigmdm1sb2dyZHJfaXVjdl9oYW5kbGVyLCAxKTsKLQlpZiAocmV0KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgInZtbG9ncmRyOiBmYWlsZWQgdG8gcmVnaXN0ZXIgd2l0aCAiCi0JCQkiaXVjdiBkcml2ZXJcbiIpOworCWlmIChyZXQpCiAJCWdvdG8gb3V0OwotCX0KIAogCXJldCA9IGRyaXZlcl9yZWdpc3Rlcigmdm1sb2dyZHJfZHJpdmVyKTsKLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidm1sb2dyZHI6IGZhaWxlZCB0byByZWdpc3RlciBkcml2ZXIuXG4iKTsKKwlpZiAocmV0KQogCQlnb3RvIG91dF9pdWN2OwotCX0KIAogCXJldCA9IGRyaXZlcl9jcmVhdGVfZmlsZSgmdm1sb2dyZHJfZHJpdmVyLAogCQkJCSAmZHJpdmVyX2F0dHJfcmVjb3JkaW5nX3N0YXR1cyk7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9FUlIgInZtbG9ncmRyOiBmYWlsZWQgdG8gYWRkIGRyaXZlciBhdHRyaWJ1dGUuXG4iKTsKKwlpZiAocmV0KQogCQlnb3RvIG91dF9kcml2ZXI7Ci0JfQogCiAJdm1sb2dyZHJfY2xhc3MgPSBjbGFzc19jcmVhdGUoVEhJU19NT0RVTEUsICJ2bWxvZ3JkciIpOwogCWlmIChJU19FUlIodm1sb2dyZHJfY2xhc3MpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidm1sb2dyZHI6IGZhaWxlZCB0byBjcmVhdGUgY2xhc3MuXG4iKTsKIAkJcmV0ID0gUFRSX0VSUih2bWxvZ3Jkcl9jbGFzcyk7CiAJCXZtbG9ncmRyX2NsYXNzID0gTlVMTDsKIAkJZ290byBvdXRfYXR0cjsKQEAgLTg3MSwxMiArODU3LDEwIEBACiAJcmMgPSB2bWxvZ3Jkcl9yZWdpc3Rlcl9jZGV2KGRldik7CiAJaWYgKHJjKQogCQlnb3RvIGNsZWFudXA7Ci0JcHJpbnRrIChLRVJOX0lORk8gInZtbG9ncmRyOiBkcml2ZXIgbG9hZGVkXG4iKTsKIAlyZXR1cm4gMDsKIAogY2xlYW51cDoKIAl2bWxvZ3Jkcl9jbGVhbnVwKCk7Ci0JcHJpbnRrIChLRVJOX0VSUiAidm1sb2dyZHI6IGRyaXZlciBub3QgbG9hZGVkLlxuIik7CiAJcmV0dXJuIHJjOwogfQogCkBAIC04ODQsNyArODY4LDYgQEAKIHN0YXRpYyB2b2lkIF9fZXhpdCB2bWxvZ3Jkcl9leGl0KHZvaWQpCiB7CiAJdm1sb2dyZHJfY2xlYW51cCgpOwotCXByaW50ayAoS0VSTl9JTkZPICJ2bWxvZ3JkcjogZHJpdmVyIHVubG9hZGVkXG4iKTsKIAlyZXR1cm47CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaGFyL3ZtdXIuYyBiL2RyaXZlcnMvczM5MC9jaGFyL3ZtdXIuYwppbmRleCA4M2FlOWE4Li4wYTlmMWNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci92bXVyLmMKKysrIGIvZHJpdmVycy9zMzkwL2NoYXIvdm11ci5jCkBAIC05LDYgKzksNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2Npby5oPgpAQCAtMjc3LDcgKzI3OCw4IEBACiAJc3RydWN0IHVyZGV2ICp1cmQ7CiAKIAlUUkFDRSgidXJfaW50X2hhbmRsZXI6IGludHBhcm09MHglbHggY3N0YXQ9JTAyeCBkc3RhdD0lMDJ4IHJlcz0ldVxuIiwKLQkgICAgICBpbnRwYXJtLCBpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCwgaXJiLT5zY3N3LmNvdW50KTsKKwkgICAgICBpbnRwYXJtLCBpcmItPnNjc3cuY21kLmNzdGF0LCBpcmItPnNjc3cuY21kLmRzdGF0LAorCSAgICAgIGlyYi0+c2Nzdy5jbWQuY291bnQpOwogCiAJaWYgKCFpbnRwYXJtKSB7CiAJCVRSQUNFKCJ1cl9pbnRfaGFuZGxlcjogdW5zb2xpY2l0ZWQgaW50ZXJydXB0XG4iKTsKQEAgLTI4OCw3ICsyOTAsNyBAQAogCS8qIE9uIHNwZWNpYWwgY29uZGl0aW9ucyBpcmIgaXMgYW4gZXJyb3IgcG9pbnRlciAqLwogCWlmIChJU19FUlIoaXJiKSkKIAkJdXJkLT5pb19yZXF1ZXN0X3JjID0gUFRSX0VSUihpcmIpOwotCWVsc2UgaWYgKGlyYi0+c2Nzdy5kc3RhdCA9PSAoREVWX1NUQVRfQ0hOX0VORCB8IERFVl9TVEFUX0RFVl9FTkQpKQorCWVsc2UgaWYgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgPT0gKERFVl9TVEFUX0NITl9FTkQgfCBERVZfU1RBVF9ERVZfRU5EKSkKIAkJdXJkLT5pb19yZXF1ZXN0X3JjID0gMDsKIAllbHNlCiAJCXVyZC0+aW9fcmVxdWVzdF9yYyA9IC1FSU87CkBAIC02NjgsNyArNjcwLDcgQEAKIAogCWlmIChhY2Ntb2RlID09IE9fUkRXUikKIAkJcmV0dXJuIC1FQUNDRVM7Ci0KKwlsb2NrX2tlcm5lbCgpOwogCS8qCiAJICogV2UgdHJlYXQgdGhlIG1pbm9yIG51bWJlciBhcyB0aGUgZGV2bm8gb2YgdGhlIHVyIGRldmljZQogCSAqIHRvIGZpbmQgaW4gdGhlIGRyaXZlciB0cmVlLgpAQCAtNjc2LDggKzY3OCwxMCBAQAogCWRldm5vID0gTUlOT1IoZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfcmRldik7CiAKIAl1cmQgPSB1cmRldl9nZXRfZnJvbV9kZXZubyhkZXZubyk7Ci0JaWYgKCF1cmQpCi0JCXJldHVybiAtRU5YSU87CisJaWYgKCF1cmQpIHsKKwkJcmMgPSAtRU5YSU87CisJCWdvdG8gb3V0OworCX0KIAogCXNwaW5fbG9jaygmdXJkLT5vcGVuX2xvY2spOwogCXdoaWxlICh1cmQtPm9wZW5fZmxhZykgewpAQCAtNzIwLDYgKzcyNCw3IEBACiAJCWdvdG8gZmFpbF91cmZpbGVfZnJlZTsKIAl1cmYtPmZpbGVfcmVjbGVuID0gcmM7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gdXJmOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogZmFpbF91cmZpbGVfZnJlZToKQEAgLTczMCw2ICs3MzUsOCBAQAogCXNwaW5fdW5sb2NrKCZ1cmQtPm9wZW5fbG9jayk7CiBmYWlsX3B1dDoKIAl1cmRldl9wdXQodXJkKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci92bXdhdGNoZG9nLmMgYi9kcml2ZXJzL3MzOTAvY2hhci92bXdhdGNoZG9nLmMKaW5kZXggMTlmODM4OS4uMjFhMmE4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NoYXIvdm13YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3Ztd2F0Y2hkb2cuYwpAQCAtMTMsNiArMTMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvd2F0Y2hkb2cuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2ViY2RpYy5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtOTIsMjMgKzkzLDE1IEBACiAKIAlmdW5jID0gdm13ZHRfY29uY2VhbCA/ICh3ZHRfaW5pdCB8IHdkdF9jb25jZWFsKSA6IHdkdF9pbml0OwogCXJldCA9IF9fZGlhZzI4OChmdW5jLCB2bXdkdF9pbnRlcnZhbCwgZWJjX2NtZCwgbGVuKTsKKwlXQVJOX09OKHJldCAhPSAwKTsKIAlrZnJlZShlYmNfY21kKTsKLQotCWlmIChyZXQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXM6IHByb2JsZW0gc2V0dGluZyBpbnRlcnZhbCAlZCwgIgotCQkJImNtZCAlc1xuIiwgX19mdW5jX18sIHZtd2R0X2ludGVydmFsLAotCQkJdm13ZHRfY21kKTsKLQl9CiAJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGludCB2bXdkdF9kaXNhYmxlKHZvaWQpCiB7CiAJaW50IHJldCA9IF9fZGlhZzI4OCh3ZHRfY2FuY2VsLCAwLCAiIiwgMCk7Ci0JaWYgKHJldCkgewotCQlwcmludGsoS0VSTl9XQVJOSU5HICIlczogcHJvYmxlbSBkaXNhYmxpbmcgd2F0Y2hkb2dcbiIsCi0JCQlfX2Z1bmNfXyk7Ci0JfQorCVdBUk5fT04ocmV0ICE9IDApOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTEyMSwyMSArMTE0LDIzIEBACiAJc3RhdGljIGNoYXIgX19pbml0ZGF0YSBlYmNfYmVnaW5bXSA9IHsKIAkJMTk0LCAxOTcsIDE5OSwgMjAxLCAyMTMKIAl9OwotCWlmIChfX2RpYWcyODgod2R0X2luaXQsIDE1LCBlYmNfYmVnaW4sIHNpemVvZihlYmNfYmVnaW4pKSAhPSAwKSB7Ci0JCXByaW50ayhLRVJOX0lORk8gInovVk0gd2F0Y2hkb2cgbm90IGF2YWlsYWJsZVxuIik7CisJaWYgKF9fZGlhZzI4OCh3ZHRfaW5pdCwgMTUsIGViY19iZWdpbiwgc2l6ZW9mKGViY19iZWdpbikpICE9IDApCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAlyZXR1cm4gdm13ZHRfZGlzYWJsZSgpOwogfQogCiBzdGF0aWMgaW50IHZtd2R0X29wZW4oc3RydWN0IGlub2RlICppLCBzdHJ1Y3QgZmlsZSAqZikKIHsKIAlpbnQgcmV0OwotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ2bXdkdF9pc19vcGVuKSkKKwlsb2NrX2tlcm5lbCgpOworCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICZ2bXdkdF9pc19vcGVuKSkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRUJVU1k7CisJfQogCXJldCA9IHZtd2R0X2tlZXBhbGl2ZSgpOwogCWlmIChyZXQpCiAJCWNsZWFyX2JpdCgwLCAmdm13ZHRfaXNfb3Blbik7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXQgPyByZXQgOiBub25zZWVrYWJsZV9vcGVuKGksIGYpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2hhci96Y29yZS5jIGIvZHJpdmVycy9zMzkwL2NoYXIvemNvcmUuYwppbmRleCBiYmJkMTRlLi4wNDdkZDkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2hhci96Y29yZS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaGFyL3pjb3JlLmMKQEAgLTIyMywxMiArMjIzLDEwIEBACiAJLyogZ2V0IGluZm8gZm9yIGJvb3QgY3B1IGZyb20gbG93Y29yZSwgc3RvcmVkIGluIHRoZSBIU0EgKi8KIAogCXNhID0ga21hbGxvYyhzaXplb2YoKnNhKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFzYSkgewotCQlFUlJPUl9NU0coImttYWxsb2MgZmFpbGVkOiAlczogJWlcbiIsX19mdW5jX18sIF9fTElORV9fKTsKKwlpZiAoIXNhKQogCQlyZXR1cm4gLUVOT01FTTsKLQl9CiAJaWYgKG1lbWNweV9oc2Ffa2VybmVsKHNhLCBzeXNfaW5mby5zYV9iYXNlLCBzeXNfaW5mby5zYV9zaXplKSA8IDApIHsKLQkJRVJST1JfTVNHKCJjb3VsZCBub3QgY29weSBmcm9tIEhTQVxuIik7CisJCVRSQUNFKCJjb3VsZCBub3QgY29weSBmcm9tIEhTQVxuIik7CiAJCWtmcmVlKHNhKTsKIAkJcmV0dXJuIC1FSU87CiAJfQpAQCAtNTExLDYgKzUwOSw4IEBACiAgKi8KIHN0YXRpYyBpbnQgX19pbml0IHN5c19pbmZvX2luaXQoZW51bSBhcmNoX2lkIGFyY2gpCiB7CisJaW50IHJjOworCiAJc3dpdGNoIChhcmNoKSB7CiAJY2FzZSBBUkNIX1MzOTBYOgogCQlNU0coIkRFVEVDVEVEICdTMzkwWCAoNjQgYml0KSBPUydcbiIpOwpAQCAtNTI5LDEwICs1MjksOSBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJc3lzX2luZm8uYXJjaCA9IGFyY2g7Ci0JaWYgKGluaXRfY3B1X2luZm8oYXJjaCkpIHsKLQkJRVJST1JfTVNHKCJnZXQgY3B1IGluZm8gZmFpbGVkXG4iKTsKLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQorCXJjID0gaW5pdF9jcHVfaW5mbyhhcmNoKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKIAlzeXNfaW5mby5tZW1fc2l6ZSA9IHJlYWxfbWVtb3J5X3NpemU7CiAKIAlyZXR1cm4gMDsKQEAgLTU0NCwxMiArNTQzLDEyIEBACiAKIAlyYyA9IHNjbHBfc2RpYXNfYmxrX2NvdW50KCk7CiAJaWYgKHJjIDwgMCkgewotCQlFUlJPUl9NU0coIkNvdWxkIG5vdCBkZXRlcm1pbmUgSFNBIHNpemVcbiIpOworCQlUUkFDRSgiQ291bGQgbm90IGRldGVybWluZSBIU0Egc2l6ZVxuIik7CiAJCXJldHVybiByYzsKIAl9CiAJYWN0X2hzYV9zaXplID0gKHJjIC0gMSkgKiBQQUdFX1NJWkU7CiAJaWYgKGFjdF9oc2Ffc2l6ZSA8IFpGQ1BEVU1QX0hTQV9TSVpFKSB7Ci0JCUVSUk9SX01TRygiSFNBIHNpemUgdG9vIHNtYWxsOiAlaVxuIiwgYWN0X2hzYV9zaXplKTsKKwkJVFJBQ0UoIkhTQSBzaXplIHRvbyBzbWFsbDogJWlcbiIsIGFjdF9oc2Ffc2l6ZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlyZXR1cm4gMDsKQEAgLTU5MCwxNiArNTg5LDEyIEBACiAJCWdvdG8gZmFpbDsKIAogCXJjID0gY2hlY2tfc2RpYXMoKTsKLQlpZiAocmMpIHsKLQkJRVJST1JfTVNHKCJEdW1wIGluaXRpYWxpemF0aW9uIGZhaWxlZFxuIik7CisJaWYgKHJjKQogCQlnb3RvIGZhaWw7Ci0JfQogCiAJcmMgPSBtZW1jcHlfaHNhX2tlcm5lbCgmYXJjaCwgX19MQ19BUl9NT0RFX0lELCAxKTsKLQlpZiAocmMpIHsKLQkJRVJST1JfTVNHKCJzZGlhbCBtZW1jcHkgZm9yIGFyY2ggaWQgZmFpbGVkXG4iKTsKKwlpZiAocmMpCiAJCWdvdG8gZmFpbDsKLQl9CiAKICNpZm5kZWYgX19zMzkweF9fCiAJaWYgKGFyY2ggPT0gQVJDSF9TMzkwWCkgewpAQCAtNjEwLDEwICs2MDUsOCBAQAogI2VuZGlmCiAKIAlyYyA9IHN5c19pbmZvX2luaXQoYXJjaCk7Ci0JaWYgKHJjKSB7Ci0JCUVSUk9SX01TRygiYXJjaCBpbml0IGZhaWxlZFxuIik7CisJaWYgKHJjKQogCQlnb3RvIGZhaWw7Ci0JfQogCiAJemNvcmVfaGVhZGVyX2luaXQoYXJjaCwgJnpjb3JlX2hlYWRlcik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vTWFrZWZpbGUgYi9kcml2ZXJzL3MzOTAvY2lvL01ha2VmaWxlCmluZGV4IGNmYWY3N2IuLjkxZTllM2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9zMzkwL2Npby9NYWtlZmlsZQpAQCAtMiw5ICsyLDExIEBACiAjIE1ha2VmaWxlIGZvciB0aGUgUy8zOTAgY29tbW9uIGkvbyBkcml2ZXJzCiAjCiAKLW9iai15ICs9IGFpcnEubyBibGFja2xpc3QubyBjaHNjLm8gY2lvLm8gY3NzLm8gY2hwLm8gaWRzZXQubworb2JqLXkgKz0gYWlycS5vIGJsYWNrbGlzdC5vIGNoc2MubyBjaW8ubyBjc3MubyBjaHAubyBpZHNldC5vIGlzYy5vIHNjc3cubyBcCisJZmN4Lm8gaXRjdy5vCiBjY3dfZGV2aWNlLW9ianMgKz0gZGV2aWNlLm8gZGV2aWNlX2ZzbS5vIGRldmljZV9vcHMubwogY2N3X2RldmljZS1vYmpzICs9IGRldmljZV9pZC5vIGRldmljZV9wZ2lkLm8gZGV2aWNlX3N0YXR1cy5vCiBvYmoteSArPSBjY3dfZGV2aWNlLm8gY21mLm8KK29iai0kKENPTkZJR19DSFNDX1NDSCkgKz0gY2hzY19zY2gubwogb2JqLSQoQ09ORklHX0NDV0dST1VQKSArPSBjY3dncm91cC5vCiBvYmotJChDT05GSUdfUURJTykgKz0gcWRpby5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2FpcnEuYyBiL2RyaXZlcnMvczM5MC9jaW8vYWlycS5jCmluZGV4IGI3YTA3YTguLmZlNmNlYTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vYWlycS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vYWlycS5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KIAogI2luY2x1ZGUgPGFzbS9haXJxLmg+CisjaW5jbHVkZSA8YXNtL2lzYy5oPgogCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0zMywxNSArMzQsMTUgQEAKIAl2b2lkICpkcnZfZGF0YTsKIH07CiAKLXN0YXRpYyB1bmlvbiBpbmRpY2F0b3JfdCBpbmRpY2F0b3JzOwotc3RhdGljIHN0cnVjdCBhaXJxX3QgKmFpcnFzW05SX0FJUlFTXTsKK3N0YXRpYyB1bmlvbiBpbmRpY2F0b3JfdCBpbmRpY2F0b3JzW01BWF9JU0NdOworc3RhdGljIHN0cnVjdCBhaXJxX3QgKmFpcnFzW01BWF9JU0NdW05SX0FJUlFTXTsKIAotc3RhdGljIGludCByZWdpc3Rlcl9haXJxKHN0cnVjdCBhaXJxX3QgKmFpcnEpCitzdGF0aWMgaW50IHJlZ2lzdGVyX2FpcnEoc3RydWN0IGFpcnFfdCAqYWlycSwgdTggaXNjKQogewogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IE5SX0FJUlFTOyBpKyspCi0JCWlmICghY21weGNoZygmYWlycXNbaV0sIE5VTEwsIGFpcnEpKQorCQlpZiAoIWNtcHhjaGcoJmFpcnFzW2lzY11baV0sIE5VTEwsIGFpcnEpKQogCQkJcmV0dXJuIGk7CiAJcmV0dXJuIC1FTk9NRU07CiB9CkBAIC01MCwxOCArNTEsMjEgQEAKICAqIHMzOTBfcmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQoKSAtIHJlZ2lzdGVyIGFkYXB0ZXIgaW50ZXJydXB0IGhhbmRsZXIKICAqIEBoYW5kbGVyOiBhZGFwdGVyIGhhbmRsZXIgdG8gYmUgcmVnaXN0ZXJlZAogICogQGRydl9kYXRhOiBkcml2ZXIgZGF0YSBwYXNzZWQgd2l0aCBlYWNoIGNhbGwgdG8gdGhlIGhhbmRsZXIKKyAqIEBpc2M6IGlzYyBmb3Igd2hpY2ggdGhlIGhhbmRsZXIgc2hvdWxkIGJlIGNhbGxlZAogICoKICAqIFJldHVybnM6CiAgKiAgUG9pbnRlciB0byB0aGUgaW5kaWNhdG9yIHRvIGJlIHVzZWQgb24gc3VjY2VzcwogICogIEVSUl9QVFIoKSBpZiByZWdpc3RyYXRpb24gZmFpbGVkCiAgKi8KIHZvaWQgKnMzOTBfcmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQoYWRhcHRlcl9pbnRfaGFuZGxlcl90IGhhbmRsZXIsCi0JCQkJICAgICAgdm9pZCAqZHJ2X2RhdGEpCisJCQkJICAgICAgdm9pZCAqZHJ2X2RhdGEsIHU4IGlzYykKIHsKIAlzdHJ1Y3QgYWlycV90ICphaXJxOwogCWNoYXIgZGJmX3R4dFsxNl07CiAJaW50IHJldDsKIAorCWlmIChpc2MgPiBNQVhfSVNDKQorCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAlhaXJxID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGFpcnFfdCksIEdGUF9LRVJORUwpOwogCWlmICghYWlycSkgewogCQlyZXQgPSAtRU5PTUVNOwpAQCAtNjksMzQgKzczLDM1IEBACiAJfQogCWFpcnEtPmhhbmRsZXIgPSBoYW5kbGVyOwogCWFpcnEtPmRydl9kYXRhID0gZHJ2X2RhdGE7Ci0JcmV0ID0gcmVnaXN0ZXJfYWlycShhaXJxKTsKLQlpZiAocmV0IDwgMCkKLQkJa2ZyZWUoYWlycSk7CisKKwlyZXQgPSByZWdpc3Rlcl9haXJxKGFpcnEsIGlzYyk7CiBvdXQ6CiAJc25wcmludGYoZGJmX3R4dCwgc2l6ZW9mKGRiZl90eHQpLCAicmFpcnE6JWQiLCByZXQpOwogCUNJT19UUkFDRV9FVkVOVCg0LCBkYmZfdHh0KTsKLQlpZiAocmV0IDwgMCkKKwlpZiAocmV0IDwgMCkgeworCQlrZnJlZShhaXJxKTsKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKLQllbHNlCi0JCXJldHVybiAmaW5kaWNhdG9ycy5ieXRlW3JldF07CisJfSBlbHNlCisJCXJldHVybiAmaW5kaWNhdG9yc1tpc2NdLmJ5dGVbcmV0XTsKIH0KIEVYUE9SVF9TWU1CT0woczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCk7CiAKIC8qKgogICogczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0IC0gdW5yZWdpc3RlciBhZGFwdGVyIGludGVycnVwdCBoYW5kbGVyCiAgKiBAaW5kOiBpbmRpY2F0b3IgZm9yIHdoaWNoIHRoZSBoYW5kbGVyIGlzIHRvIGJlIHVucmVnaXN0ZXJlZAorICogQGlzYzogaW50ZXJydXB0aW9uIHN1YmNsYXNzCiAgKi8KLXZvaWQgczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHZvaWQgKmluZCkKK3ZvaWQgczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHZvaWQgKmluZCwgdTggaXNjKQogewogCXN0cnVjdCBhaXJxX3QgKmFpcnE7CiAJY2hhciBkYmZfdHh0WzE2XTsKIAlpbnQgaTsKIAotCWkgPSAoaW50KSAoKGFkZHJfdCkgaW5kKSAtICgoYWRkcl90KSAmaW5kaWNhdG9ycy5ieXRlWzBdKTsKKwlpID0gKGludCkgKChhZGRyX3QpIGluZCkgLSAoKGFkZHJfdCkgJmluZGljYXRvcnNbaXNjXS5ieXRlWzBdKTsKIAlzbnByaW50ZihkYmZfdHh0LCBzaXplb2YoZGJmX3R4dCksICJ1cmFpcnE6JWQiLCBpKTsKIAlDSU9fVFJBQ0VfRVZFTlQoNCwgZGJmX3R4dCk7Ci0JaW5kaWNhdG9ycy5ieXRlW2ldID0gMDsKLQlhaXJxID0geGNoZygmYWlycXNbaV0sIE5VTEwpOworCWluZGljYXRvcnNbaXNjXS5ieXRlW2ldID0gMDsKKwlhaXJxID0geGNoZygmYWlycXNbaXNjXVtpXSwgTlVMTCk7CiAJLyoKIAkgKiBBbGxvdyBpbnRlcnJ1cHRzIHRvIGNvbXBsZXRlLiBUaGlzIHdpbGwgZW5zdXJlIHRoYXQgdGhlIGFpcnEgaGFuZGxlCiAJICogaXMgbm8gbG9uZ2VyIHJlZmVyZW5jZWQgYnkgYW55IGludGVycnVwdCBoYW5kbGVyLgpAQCAtMTA4LDcgKzExMyw3IEBACiAKICNkZWZpbmUgSU5ESUNBVE9SX01BU0sJKDB4ZmZVTCA8PCAoKE5SX0FJUlFTX1BFUl9XT1JEIC0gMSkgKiA4KSkKIAotdm9pZCBkb19hZGFwdGVyX0lPKHZvaWQpCit2b2lkIGRvX2FkYXB0ZXJfSU8odTggaXNjKQogewogCWludCB3OwogCWludCBpOwpAQCAtMTIwLDIyICsxMjUsMjIgQEAKIAkgKiBmZXRjaCBvcGVyYXRpb25zLgogCSAqLwogCWZvciAodyA9IDA7IHcgPCBOUl9BSVJRX1dPUkRTOyB3KyspIHsKLQkJd29yZCA9IGluZGljYXRvcnMud29yZFt3XTsKKwkJd29yZCA9IGluZGljYXRvcnNbaXNjXS53b3JkW3ddOwogCQlpID0gdyAqIE5SX0FJUlFTX1BFUl9XT1JEOwogCQkvKgogCQkgKiBDaGVjayBieXRlcyB3aXRoaW4gd29yZCBmb3IgYWN0aXZlIGluZGljYXRvcnMuCiAJCSAqLwogCQl3aGlsZSAod29yZCkgewogCQkJaWYgKHdvcmQgJiBJTkRJQ0FUT1JfTUFTSykgewotCQkJCWFpcnEgPSBhaXJxc1tpXTsKKwkJCQlhaXJxID0gYWlycXNbaXNjXVtpXTsKIAkJCQlpZiAobGlrZWx5KGFpcnEpKQotCQkJCQlhaXJxLT5oYW5kbGVyKCZpbmRpY2F0b3JzLmJ5dGVbaV0sCisJCQkJCWFpcnEtPmhhbmRsZXIoJmluZGljYXRvcnNbaXNjXS5ieXRlW2ldLAogCQkJCQkJICAgICAgYWlycS0+ZHJ2X2RhdGEpOwogCQkJCWVsc2UKIAkJCQkJLyoKIAkJCQkJICogUmVzZXQgaWxsLWJlaGF2ZWQgaW5kaWNhdG9yLgogCQkJCQkgKi8KLQkJCQkJaW5kaWNhdG9ycy5ieXRlW2ldID0gMDsKKwkJCQkJaW5kaWNhdG9yc1tpc2NdLmJ5dGVbaV0gPSAwOwogCQkJfQogCQkJd29yZCA8PD0gODsKIAkJCWkrKzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hwLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2NocC5jCmluZGV4IDI5N2NkY2UuLmRiMDBiMDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2hwLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHAuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgogI2luY2x1ZGUgPGFzbS9zY2xwLmg+CiAKKyNpbmNsdWRlICIuLi9zMzkwbWFjaC5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNzcy5oIgogI2luY2x1ZGUgImlvYXNtLmgiCkBAIC05NCw2ICs5NSw3IEBACiAJfQogCXJldHVybiBvcG07CiB9CitFWFBPUlRfU1lNQk9MX0dQTChjaHBfZ2V0X3NjaF9vcG0pOwogCiAvKioKICAqIGNocF9pc19yZWdpc3RlcmVkIC0gY2hlY2sgaWYgYSBjaGFubmVsLXBhdGggaXMgcmVnaXN0ZXJlZApAQCAtMTIxLDExICsxMjMsOCBAQAogCUNJT19UUkFDRV9FVkVOVCgyLCBkYmZfdGV4dCk7CiAKIAlzdGF0dXMgPSBjaHBfZ2V0X3N0YXR1cyhjaHBpZCk7Ci0JaWYgKCFvbiAmJiAhc3RhdHVzKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiY2lvOiBjaHBpZCAleC4lMDJ4IGlzIGFscmVhZHkgb2ZmbGluZVxuIiwKLQkJICAgICAgIGNocGlkLmNzc2lkLCBjaHBpZC5pZCk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KKwlpZiAoIW9uICYmICFzdGF0dXMpCisJCXJldHVybiAwOwogCiAJc2V0X2NocF9sb2dpY2FsbHlfb25saW5lKGNocGlkLCBvbik7CiAJY2hzY19jaHBfdmFyeShjaHBpZCwgb24pOwpAQCAtMTQxLDIxICsxNDAsMTQgQEAKIHsKIAlzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHA7CiAJc3RydWN0IGRldmljZSAqZGV2aWNlOwotCXVuc2lnbmVkIGludCBzaXplOwogCiAJZGV2aWNlID0gY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCBkZXZpY2UsIGtvYmopOwogCWNocCA9IHRvX2NoYW5uZWxwYXRoKGRldmljZSk7CiAJaWYgKCFjaHAtPmNtZ19jaGFycykKIAkJcmV0dXJuIDA7CiAKLQlzaXplID0gc2l6ZW9mKHN0cnVjdCBjbWdfY2hhcnMpOwotCi0JaWYgKG9mZiA+IHNpemUpCi0JCXJldHVybiAwOwotCWlmIChvZmYgKyBjb3VudCA+IHNpemUpCi0JCWNvdW50ID0gc2l6ZSAtIG9mZjsKLQltZW1jcHkoYnVmLCBjaHAtPmNtZ19jaGFycyArIG9mZiwgY291bnQpOwotCXJldHVybiBjb3VudDsKKwlyZXR1cm4gbWVtb3J5X3JlYWRfZnJvbV9idWZmZXIoYnVmLCBjb3VudCwgJm9mZiwKKwkJCQljaHAtPmNtZ19jaGFycywgc2l6ZW9mKHN0cnVjdCBjbWdfY2hhcnMpKTsKIH0KIAogc3RhdGljIHN0cnVjdCBiaW5fYXR0cmlidXRlIGNocF9tZWFzdXJlbWVudF9jaGFyc19hdHRyID0gewpAQCAtNDA1LDcgKzM5Nyw3IEBACiAJCSBjaHBpZC5pZCk7CiAKIAkvKiBPYnRhaW4gY2hhbm5lbCBwYXRoIGRlc2NyaXB0aW9uIGFuZCBmaWxsIGl0IGluLiAqLwotCXJldCA9IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjcmlwdGlvbihjaHBpZCwgJmNocC0+ZGVzYyk7CisJcmV0ID0gY2hzY19kZXRlcm1pbmVfYmFzZV9jaGFubmVsX3BhdGhfZGVzYyhjaHBpZCwgJmNocC0+ZGVzYyk7CiAJaWYgKHJldCkKIAkJZ290byBvdXRfZnJlZTsKIAlpZiAoKGNocC0+ZGVzYy5mbGFncyAmIDB4ODApID09IDApIHsKQEAgLTQxMyw4ICs0MDUsNyBAQAogCQlnb3RvIG91dF9mcmVlOwogCX0KIAkvKiBHZXQgY2hhbm5lbC1tZWFzdXJlbWVudCBjaGFyYWN0ZXJpc3RpY3MuICovCi0JaWYgKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgJiYgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNjbWMKLQkgICAgJiYgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pIHsKKwlpZiAoY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNjbWMgJiYgY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pIHsKIAkJcmV0ID0gY2hzY19nZXRfY2hhbm5lbF9tZWFzdXJlbWVudF9jaGFycyhjaHApOwogCQlpZiAocmV0KQogCQkJZ290byBvdXRfZnJlZTsKQEAgLTQ3NiwyNiArNDY3LDc0IEBACiAKIC8qKgogICogY2hwX3Byb2Nlc3NfY3J3IC0gcHJvY2VzcyBjaGFubmVsLXBhdGggc3RhdHVzIGNoYW5nZQotICogQGlkOiBjaGFubmVsLXBhdGggSUQgbnVtYmVyCi0gKiBAc3RhdHVzOiBub24temVybyBpZiBjaGFubmVsLXBhdGggaGFzIGJlY29tZSBhdmFpbGFibGUsIHplcm8gb3RoZXJ3aXNlCisgKiBAY3J3MDogY2hhbm5lbCByZXBvcnQtd29yZCB0byBoYW5kbGVyCisgKiBAY3J3MTogc2Vjb25kIGNoYW5uZWwtcmVwb3J0IHdvcmQgKGFsd2F5cyBOVUxMKQorICogQG92ZXJmbG93OiBjcncgb3ZlcmZsb3cgaW5kaWNhdGlvbgogICoKICAqIEhhbmRsZSBjaGFubmVsLXJlcG9ydC13b3JkcyBpbmRpY2F0aW5nIHRoYXQgdGhlIHN0YXR1cyBvZiBhIGNoYW5uZWwtcGF0aAogICogaGFzIGNoYW5nZWQuCiAgKi8KLXZvaWQgY2hwX3Byb2Nlc3NfY3J3KGludCBpZCwgaW50IHN0YXR1cykKK3N0YXRpYyB2b2lkIGNocF9wcm9jZXNzX2NydyhzdHJ1Y3QgY3J3ICpjcncwLCBzdHJ1Y3QgY3J3ICpjcncxLAorCQkJICAgIGludCBvdmVyZmxvdykKIHsKIAlzdHJ1Y3QgY2hwX2lkIGNocGlkOwogCisJaWYgKG92ZXJmbG93KSB7CisJCWNzc19zY2hlZHVsZV9ldmFsX2FsbCgpOworCQlyZXR1cm47CisJfQorCUNJT19DUldfRVZFTlQoMiwgIkNSVyByZXBvcnRzIHNsY3Q9JWQsIG9mbHc9JWQsICIKKwkJICAgICAgImNobj0lZCwgcnNjPSVYLCBhbmM9JWQsIGVyYz0lWCwgcnNpZD0lWFxuIiwKKwkJICAgICAgY3J3MC0+c2xjdCwgY3J3MC0+b2ZsdywgY3J3MC0+Y2huLCBjcncwLT5yc2MsIGNydzAtPmFuYywKKwkJICAgICAgY3J3MC0+ZXJjLCBjcncwLT5yc2lkKTsKKwkvKgorCSAqIENoZWNrIGZvciBzb2xpY2l0ZWQgbWFjaGluZSBjaGVja3MuIFRoZXNlIGFyZQorCSAqIGNyZWF0ZWQgYnkgcmVzZXQgY2hhbm5lbCBwYXRoIGFuZCBuZWVkIG5vdCBiZQorCSAqIGhhbmRsZWQgaGVyZS4KKwkgKi8KKwlpZiAoY3J3MC0+c2xjdCkgeworCQlDSU9fQ1JXX0VWRU5UKDIsICJzb2xpY2l0ZWQgbWFjaGluZSBjaGVjayBmb3IgIgorCQkJICAgICAgImNoYW5uZWwgcGF0aCAlMDJYXG4iLCBjcncwLT5yc2lkKTsKKwkJcmV0dXJuOworCX0KIAljaHBfaWRfaW5pdCgmY2hwaWQpOwotCWNocGlkLmlkID0gaWQ7Ci0JaWYgKHN0YXR1cykgeworCWNocGlkLmlkID0gY3J3MC0+cnNpZDsKKwlzd2l0Y2ggKGNydzAtPmVyYykgeworCWNhc2UgQ1JXX0VSQ19JUEFSTTogLyogUGF0aCBoYXMgY29tZS4gKi8KIAkJaWYgKCFjaHBfaXNfcmVnaXN0ZXJlZChjaHBpZCkpCiAJCQljaHBfbmV3KGNocGlkKTsKIAkJY2hzY19jaHBfb25saW5lKGNocGlkKTsKLQl9IGVsc2UKKwkJYnJlYWs7CisJY2FzZSBDUldfRVJDX1BFUlJJOiAvKiBQYXRoIGhhcyBnb25lLiAqLworCWNhc2UgQ1JXX0VSQ19QRVJSTjoKIAkJY2hzY19jaHBfb2ZmbGluZShjaHBpZCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCUNJT19DUldfRVZFTlQoMiwgIkRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBlcmM9JXhcbiIsCisJCQkgICAgICBjcncwLT5lcmMpOworCX0KIH0KIAoraW50IGNocF9zc2RfZ2V0X21hc2soc3RydWN0IGNoc2Nfc3NkX2luZm8gKnNzZCwgc3RydWN0IGNocF9saW5rICpsaW5rKQoreworCWludCBpOworCWludCBtYXNrOworCisJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgeworCQltYXNrID0gMHg4MCA+PiBpOworCQlpZiAoIShzc2QtPnBhdGhfbWFzayAmIG1hc2spKQorCQkJY29udGludWU7CisJCWlmICghY2hwX2lkX2lzX2VxdWFsKCZzc2QtPmNocGlkW2ldLCAmbGluay0+Y2hwaWQpKQorCQkJY29udGludWU7CisJCWlmICgoc3NkLT5mbGFfdmFsaWRfbWFzayAmIG1hc2spICYmCisJCSAgICAoKHNzZC0+ZmxhW2ldICYgbGluay0+ZmxhX21hc2spICE9IGxpbmstPmZsYSkpCisJCQljb250aW51ZTsKKwkJcmV0dXJuIG1hc2s7CisJfQorCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoY2hwX3NzZF9nZXRfbWFzayk7CisKIHN0YXRpYyBpbmxpbmUgaW50IGluZm9fYml0X251bShzdHJ1Y3QgY2hwX2lkIGlkKQogewogCXJldHVybiBpZC5pZCArIGlkLmNzc2lkICogKF9fTUFYX0NIUElEICsgMSk7CkBAIC01NzUsNiArNjE0LDcgQEAKIHsKIAlzdHJ1Y3QgY2hwX2lkIGNocGlkOwogCWVudW0gY2ZnX3Rhc2tfdCB0OworCWludCByYzsKIAogCW11dGV4X2xvY2soJmNmZ19sb2NrKTsKIAl0ID0gY2ZnX25vbmU7CkBAIC01ODksMTQgKzYyOSwyNCBAQAogCiAJc3dpdGNoICh0KSB7CiAJY2FzZSBjZmdfY29uZmlndXJlOgotCQlzY2xwX2NocF9jb25maWd1cmUoY2hwaWQpOwotCQlpbmZvX2V4cGlyZSgpOwotCQljaHNjX2NocF9vbmxpbmUoY2hwaWQpOworCQlyYyA9IHNjbHBfY2hwX2NvbmZpZ3VyZShjaHBpZCk7CisJCWlmIChyYykKKwkJCUNJT19NU0dfRVZFTlQoMiwgImNocDogc2NscF9jaHBfY29uZmlndXJlKCV4LiUwMngpPSIKKwkJCQkgICAgICAiJWRcbiIsIGNocGlkLmNzc2lkLCBjaHBpZC5pZCwgcmMpOworCQllbHNlIHsKKwkJCWluZm9fZXhwaXJlKCk7CisJCQljaHNjX2NocF9vbmxpbmUoY2hwaWQpOworCQl9CiAJCWJyZWFrOwogCWNhc2UgY2ZnX2RlY29uZmlndXJlOgotCQlzY2xwX2NocF9kZWNvbmZpZ3VyZShjaHBpZCk7Ci0JCWluZm9fZXhwaXJlKCk7Ci0JCWNoc2NfY2hwX29mZmxpbmUoY2hwaWQpOworCQlyYyA9IHNjbHBfY2hwX2RlY29uZmlndXJlKGNocGlkKTsKKwkJaWYgKHJjKQorCQkJQ0lPX01TR19FVkVOVCgyLCAiY2hwOiBzY2xwX2NocF9kZWNvbmZpZ3VyZSgleC4lMDJ4KT0iCisJCQkJICAgICAgIiVkXG4iLCBjaHBpZC5jc3NpZCwgY2hwaWQuaWQsIHJjKTsKKwkJZWxzZSB7CisJCQlpbmZvX2V4cGlyZSgpOworCQkJY2hzY19jaHBfb2ZmbGluZShjaHBpZCk7CisJCX0KIAkJYnJlYWs7CiAJY2FzZSBjZmdfbm9uZToKIAkJLyogR2V0IHVwZGF0ZWQgaW5mb3JtYXRpb24gYWZ0ZXIgbGFzdCBjaGFuZ2UuICovCkBAIC02NTQsMTAgKzcwNCwxNiBAQAogc3RhdGljIGludCBfX2luaXQgY2hwX2luaXQodm9pZCkKIHsKIAlzdHJ1Y3QgY2hwX2lkIGNocGlkOworCWludCByZXQ7CiAKKwlyZXQgPSBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKENSV19SU0NfQ1BBVEgsIGNocF9wcm9jZXNzX2Nydyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAljaHBfd3EgPSBjcmVhdGVfc2luZ2xldGhyZWFkX3dvcmtxdWV1ZSgiY2lvX2NocCIpOwotCWlmICghY2hwX3dxKQorCWlmICghY2hwX3dxKSB7CisJCXMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NQQVRIKTsKIAkJcmV0dXJuIC1FTk9NRU07CisJfQogCUlOSVRfV09SSygmY2ZnX3dvcmssIGNmZ19mdW5jKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZjZmdfd2FpdF9xdWV1ZSk7CiAJaWYgKGluZm9fdXBkYXRlKCkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2NocC5oIGIvZHJpdmVycy9zMzkwL2Npby9jaHAuaAppbmRleCA2NTI4NjU2Li4yNmMzZDIyNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHAuaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2NocC5oCkBAIC0xMiwxMiArMTIsMjQgQEAKICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KICNpbmNsdWRlICJjaHNjLmgiCisjaW5jbHVkZSAiY3NzLmgiCiAKICNkZWZpbmUgQ0hQX1NUQVRVU19TVEFOREJZCQkwCiAjZGVmaW5lIENIUF9TVEFUVVNfQ09ORklHVVJFRAkJMQogI2RlZmluZSBDSFBfU1RBVFVTX1JFU0VSVkVECQkyCiAjZGVmaW5lIENIUF9TVEFUVVNfTk9UX1JFQ09HTklaRUQJMwogCisjZGVmaW5lIENIUF9PTkxJTkUgMAorI2RlZmluZSBDSFBfT0ZGTElORSAxCisjZGVmaW5lIENIUF9WQVJZX09OIDIKKyNkZWZpbmUgQ0hQX1ZBUllfT0ZGIDMKKworc3RydWN0IGNocF9saW5rIHsKKwlzdHJ1Y3QgY2hwX2lkIGNocGlkOworCXUzMiBmbGFfbWFzazsKKwl1MTYgZmxhOworfTsKKwogc3RhdGljIGlubGluZSBpbnQgY2hwX3Rlc3RfYml0KHU4ICpiaXRtYXAsIGludCBudW0pCiB7CiAJaW50IGJ5dGUgPSBudW0gPj4gMzsKQEAgLTQyLDEyICs1NCwxMSBAQAogdTggY2hwX2dldF9zY2hfb3BtKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpOwogaW50IGNocF9pc19yZWdpc3RlcmVkKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwogdm9pZCAqY2hwX2dldF9jaHBfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKLXZvaWQgY2hwX3Byb2Nlc3NfY3J3KGludCBpZCwgaW50IGF2YWlsYWJsZSk7CiB2b2lkIGNocF9yZW1vdmVfY21nX2F0dHIoc3RydWN0IGNoYW5uZWxfcGF0aCAqY2hwKTsKIGludCBjaHBfYWRkX2NtZ19hdHRyKHN0cnVjdCBjaGFubmVsX3BhdGggKmNocCk7CiBpbnQgY2hwX25ldyhzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIHZvaWQgY2hwX2NmZ19zY2hlZHVsZShzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgY29uZmlndXJlKTsKIHZvaWQgY2hwX2NmZ19jYW5jZWxfZGVjb25maWd1cmUoc3RydWN0IGNocF9pZCBjaHBpZCk7CiBpbnQgY2hwX2luZm9fZ2V0X3N0YXR1cyhzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKLQoraW50IGNocF9zc2RfZ2V0X21hc2soc3RydWN0IGNoc2Nfc3NkX2luZm8gKiwgc3RydWN0IGNocF9saW5rICopOwogI2VuZGlmIC8qIFMzOTBfQ0hQX0ggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5jIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKaW5kZXggNWRlODY5MC4uNjUyNjRhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKQEAgLTIsOCArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9jaHNjLmMKICAqICAgUy8zOTAgY29tbW9uIEkvTyByb3V0aW5lcyAtLSBjaGFubmVsIHN1YnN5c3RlbSBjYWxsCiAgKgotICogICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSAgICAgIElCTSBDb3Jwb3JhdGlvbgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAxOTk5LDIwMDgKICAqICAgIEF1dGhvcihzKTogSW5nbyBBZGx1bmcgKGFkbHVuZ0BkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCkBAIC0xNiw3ICsxNSw5IEBACiAKICNpbmNsdWRlIDxhc20vY2lvLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CisjaW5jbHVkZSA8YXNtL2Noc2MuaD4KIAorI2luY2x1ZGUgIi4uL3MzOTBtYWNoLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0xMjcsNzcgKzEyOCwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgY2hlY2tfZm9yX2lvX29uX3BhdGgoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IG1hc2spCi17Ci0JaW50IGNjOwotCi0JY2MgPSBzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYik7Ci0JaWYgKGNjKQotCQlyZXR1cm4gMDsKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJiYgc2NoLT5zY2hpYi5wbWN3LmxwdW0gPT0gbWFzaykKLQkJcmV0dXJuIDE7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIHRlcm1pbmF0ZV9pbnRlcm5hbF9pbyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCWlmIChjaW9fY2xlYXIoc2NoKSkgewotCQkvKiBSZWNoZWNrIGRldmljZSBpbiBjYXNlIGNsZWFyIGZhaWxlZC4gKi8KLQkJc2NoLT5scG0gPSAwOwotCQlpZiAoZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHNjaCkgIT0gMCkKLQkJCWNzc19zY2hlZHVsZV9ldmFsKHNjaC0+c2NoaWQpOwotCQlyZXR1cm47Ci0JfQotCS8qIFJlcXVlc3QgcmV0cnkgb2YgaW50ZXJuYWwgb3BlcmF0aW9uLiAqLwotCWRldmljZV9zZXRfaW50cmV0cnkoc2NoKTsKLQkvKiBDYWxsIGhhbmRsZXIuICovCi0JaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT50ZXJtaW5hdGlvbikKLQkJc2NoLT5kcml2ZXItPnRlcm1pbmF0aW9uKHNjaCk7Ci19Ci0KIHN0YXRpYyBpbnQgczM5MF9zdWJjaGFubmVsX3JlbW92ZV9jaHBpZChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCB2b2lkICpkYXRhKQogewotCWludCBqOwotCWludCBtYXNrOwotCXN0cnVjdCBjaHBfaWQgKmNocGlkID0gZGF0YTsKLQlzdHJ1Y3Qgc2NoaWIgc2NoaWI7Ci0KLQlmb3IgKGogPSAwOyBqIDwgODsgaisrKSB7Ci0JCW1hc2sgPSAweDgwID4+IGo7Ci0JCWlmICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmIG1hc2spICYmCi0JCSAgICAoc2NoLT5zY2hpYi5wbWN3LmNocGlkW2pdID09IGNocGlkLT5pZCkpCi0JCQlicmVhazsKLQl9Ci0JaWYgKGogPj0gOCkKLQkJcmV0dXJuIDA7Ci0KIAlzcGluX2xvY2tfaXJxKHNjaC0+bG9jayk7Ci0KLQlzdHNjaChzY2gtPnNjaGlkLCAmc2NoaWIpOwotCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoaWIpKQotCQlnb3RvIG91dF91bnJlZzsKLQltZW1jcHkoJnNjaC0+c2NoaWIsICZzY2hpYiwgc2l6ZW9mKHN0cnVjdCBzY2hpYikpOwotCS8qIENoZWNrIGZvciBzaW5nbGUgcGF0aCBkZXZpY2VzLiAqLwotCWlmIChzY2gtPnNjaGliLnBtY3cucGltID09IDB4ODApCi0JCWdvdG8gb3V0X3VucmVnOwotCi0JaWYgKGNoZWNrX2Zvcl9pb19vbl9wYXRoKHNjaCwgbWFzaykpIHsKLQkJaWYgKGRldmljZV9pc19vbmxpbmUoc2NoKSkKLQkJCWRldmljZV9raWxsX2lvKHNjaCk7Ci0JCWVsc2UgewotCQkJdGVybWluYXRlX2ludGVybmFsX2lvKHNjaCk7Ci0JCQkvKiBSZS1zdGFydCBwYXRoIHZlcmlmaWNhdGlvbi4gKi8KLQkJCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJfQotCX0gZWxzZSB7Ci0JCS8qIHRyaWdnZXIgcGF0aCB2ZXJpZmljYXRpb24uICovCi0JCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJc2NoLT5kcml2ZXItPnZlcmlmeShzY2gpOwotCQllbHNlIGlmIChzY2gtPmxwbSA9PSBtYXNrKQorCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+Y2hwX2V2ZW50KQorCQlpZiAoc2NoLT5kcml2ZXItPmNocF9ldmVudChzY2gsIGRhdGEsIENIUF9PRkZMSU5FKSAhPSAwKQogCQkJZ290byBvdXRfdW5yZWc7Ci0JfQotCiAJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7CiAJcmV0dXJuIDA7CiAKQEAgLTIxMSwxNSArMTQ3LDE4IEBACiB2b2lkIGNoc2NfY2hwX29mZmxpbmUoc3RydWN0IGNocF9pZCBjaHBpZCkKIHsKIAljaGFyIGRiZl90eHRbMTVdOworCXN0cnVjdCBjaHBfbGluayBsaW5rOwogCiAJc3ByaW50ZihkYmZfdHh0LCAiY2hwciV4LiUwMngiLCBjaHBpZC5jc3NpZCwgY2hwaWQuaWQpOwogCUNJT19UUkFDRV9FVkVOVCgyLCBkYmZfdHh0KTsKIAogCWlmIChjaHBfZ2V0X3N0YXR1cyhjaHBpZCkgPD0gMCkKIAkJcmV0dXJuOworCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAkvKiBXYWl0IHVudGlsIHByZXZpb3VzIGFjdGlvbnMgaGF2ZSBzZXR0bGVkLiAqLwogCWNzc193YWl0X2Zvcl9zbG93X3BhdGgoKTsKLQlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChzMzkwX3N1YmNoYW5uZWxfcmVtb3ZlX2NocGlkLCBOVUxMLCAmY2hwaWQpOworCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKHMzOTBfc3ViY2hhbm5lbF9yZW1vdmVfY2hwaWQsIE5VTEwsICZsaW5rKTsKIH0KIAogc3RhdGljIGludCBzMzkwX3Byb2Nlc3NfcmVzX2FjY19uZXdfc2NoKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCB2b2lkICpkYXRhKQpAQCAtMjQyLDY3ICsxODEsMjUgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RydWN0IHJlc19hY2NfZGF0YSB7Ci0Jc3RydWN0IGNocF9pZCBjaHBpZDsKLQl1MzIgZmxhX21hc2s7Ci0JdTE2IGZsYTsKLX07Ci0KLXN0YXRpYyBpbnQgZ2V0X3Jlc19jaHBpZF9tYXNrKHN0cnVjdCBjaHNjX3NzZF9pbmZvICpzc2QsCi0JCQkgICAgICBzdHJ1Y3QgcmVzX2FjY19kYXRhICpkYXRhKQotewotCWludCBpOwotCWludCBtYXNrOwotCi0JZm9yIChpID0gMDsgaSA8IDg7IGkrKykgewotCQltYXNrID0gMHg4MCA+PiBpOwotCQlpZiAoIShzc2QtPnBhdGhfbWFzayAmIG1hc2spKQotCQkJY29udGludWU7Ci0JCWlmICghY2hwX2lkX2lzX2VxdWFsKCZzc2QtPmNocGlkW2ldLCAmZGF0YS0+Y2hwaWQpKQotCQkJY29udGludWU7Ci0JCWlmICgoc3NkLT5mbGFfdmFsaWRfbWFzayAmIG1hc2spICYmCi0JCSAgICAoKHNzZC0+ZmxhW2ldICYgZGF0YS0+ZmxhX21hc2spICE9IGRhdGEtPmZsYSkpCi0JCQljb250aW51ZTsKLQkJcmV0dXJuIG1hc2s7Ci0JfQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IF9fczM5MF9wcm9jZXNzX3Jlc19hY2Moc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdm9pZCAqZGF0YSkKIHsKLQlpbnQgY2hwX21hc2ssIG9sZF9scG07Ci0Jc3RydWN0IHJlc19hY2NfZGF0YSAqcmVzX2RhdGEgPSBkYXRhOwotCiAJc3Bpbl9sb2NrX2lycShzY2gtPmxvY2spOwotCWNocF9tYXNrID0gZ2V0X3Jlc19jaHBpZF9tYXNrKCZzY2gtPnNzZF9pbmZvLCByZXNfZGF0YSk7Ci0JaWYgKGNocF9tYXNrID09IDApCi0JCWdvdG8gb3V0OwotCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikpCi0JCWdvdG8gb3V0OwotCW9sZF9scG0gPSBzY2gtPmxwbTsKLQlzY2gtPmxwbSA9ICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBhbSAmCi0JCSAgICAgc2NoLT5zY2hpYi5wbWN3LnBvbSkKLQkJICAgIHwgY2hwX21hc2spICYgc2NoLT5vcG07Ci0JaWYgKCFvbGRfbHBtICYmIHNjaC0+bHBtKQotCQlkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHNjaCk7Ci0JZWxzZSBpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPnZlcmlmeSkKLQkJc2NoLT5kcml2ZXItPnZlcmlmeShzY2gpOwotb3V0OgorCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+Y2hwX2V2ZW50KQorCQlzY2gtPmRyaXZlci0+Y2hwX2V2ZW50KHNjaCwgZGF0YSwgQ0hQX09OTElORSk7CiAJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgczM5MF9wcm9jZXNzX3Jlc19hY2MgKHN0cnVjdCByZXNfYWNjX2RhdGEgKnJlc19kYXRhKQorc3RhdGljIHZvaWQgczM5MF9wcm9jZXNzX3Jlc19hY2Moc3RydWN0IGNocF9saW5rICpsaW5rKQogewogCWNoYXIgZGJmX3R4dFsxNV07CiAKLQlzcHJpbnRmKGRiZl90eHQsICJhY2NwciV4LiUwMngiLCByZXNfZGF0YS0+Y2hwaWQuY3NzaWQsCi0JCXJlc19kYXRhLT5jaHBpZC5pZCk7CisJc3ByaW50ZihkYmZfdHh0LCAiYWNjcHIleC4lMDJ4IiwgbGluay0+Y2hwaWQuY3NzaWQsCisJCWxpbmstPmNocGlkLmlkKTsKIAlDSU9fVFJBQ0VfRVZFTlQoIDIsIGRiZl90eHQpOwotCWlmIChyZXNfZGF0YS0+ZmxhICE9IDApIHsKLQkJc3ByaW50ZihkYmZfdHh0LCAiZmxhJXgiLCByZXNfZGF0YS0+ZmxhKTsKKwlpZiAobGluay0+ZmxhICE9IDApIHsKKwkJc3ByaW50ZihkYmZfdHh0LCAiZmxhJXgiLCBsaW5rLT5mbGEpOwogCQlDSU9fVFJBQ0VfRVZFTlQoIDIsIGRiZl90eHQpOwogCX0KIAkvKiBXYWl0IHVudGlsIHByZXZpb3VzIGFjdGlvbnMgaGF2ZSBzZXR0bGVkLiAqLwpAQCAtMzE1LDcgKzIxMiw3IEBACiAJICogd2lsbCB3ZSBoYXZlIHRvIGRvLgogCSAqLwogCWZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKF9fczM5MF9wcm9jZXNzX3Jlc19hY2MsCi0JCQkJICAgczM5MF9wcm9jZXNzX3Jlc19hY2NfbmV3X3NjaCwgcmVzX2RhdGEpOworCQkJCSAgIHMzOTBfcHJvY2Vzc19yZXNfYWNjX25ld19zY2gsIGxpbmspOwogfQogCiBzdGF0aWMgaW50CkBAIC0zODgsNyArMjg1LDcgQEAKIAogc3RhdGljIHZvaWQgY2hzY19wcm9jZXNzX3NlaV9yZXNfYWNjKHN0cnVjdCBjaHNjX3NlaV9hcmVhICpzZWlfYXJlYSkKIHsKLQlzdHJ1Y3QgcmVzX2FjY19kYXRhIHJlc19kYXRhOworCXN0cnVjdCBjaHBfbGluayBsaW5rOwogCXN0cnVjdCBjaHBfaWQgY2hwaWQ7CiAJaW50IHN0YXR1czsKIApAQCAtNDA0LDE4ICszMDEsMTggQEAKIAkJY2hwX25ldyhjaHBpZCk7CiAJZWxzZSBpZiAoIXN0YXR1cykKIAkJcmV0dXJuOwotCW1lbXNldCgmcmVzX2RhdGEsIDAsIHNpemVvZihzdHJ1Y3QgcmVzX2FjY19kYXRhKSk7Ci0JcmVzX2RhdGEuY2hwaWQgPSBjaHBpZDsKKwltZW1zZXQoJmxpbmssIDAsIHNpemVvZihzdHJ1Y3QgY2hwX2xpbmspKTsKKwlsaW5rLmNocGlkID0gY2hwaWQ7CiAJaWYgKChzZWlfYXJlYS0+dmYgJiAweGMwKSAhPSAwKSB7Ci0JCXJlc19kYXRhLmZsYSA9IHNlaV9hcmVhLT5mbGE7CisJCWxpbmsuZmxhID0gc2VpX2FyZWEtPmZsYTsKIAkJaWYgKChzZWlfYXJlYS0+dmYgJiAweGMwKSA9PSAweGMwKQogCQkJLyogZnVsbCBsaW5rIGFkZHJlc3MgKi8KLQkJCXJlc19kYXRhLmZsYV9tYXNrID0gMHhmZmZmOworCQkJbGluay5mbGFfbWFzayA9IDB4ZmZmZjsKIAkJZWxzZQogCQkJLyogbGluayBhZGRyZXNzICovCi0JCQlyZXNfZGF0YS5mbGFfbWFzayA9IDB4ZmYwMDsKKwkJCWxpbmsuZmxhX21hc2sgPSAweGZmMDA7CiAJfQotCXMzOTBfcHJvY2Vzc19yZXNfYWNjKCZyZXNfZGF0YSk7CisJczM5MF9wcm9jZXNzX3Jlc19hY2MoJmxpbmspOwogfQogCiBzdHJ1Y3QgY2hwX2NvbmZpZ19kYXRhIHsKQEAgLTQ4MCwxNyArMzc3LDI1IEBACiAJfQogfQogCi12b2lkIGNoc2NfcHJvY2Vzc19jcncodm9pZCkKK3N0YXRpYyB2b2lkIGNoc2NfcHJvY2Vzc19jcncoc3RydWN0IGNydyAqY3J3MCwgc3RydWN0IGNydyAqY3J3MSwgaW50IG92ZXJmbG93KQogewogCXN0cnVjdCBjaHNjX3NlaV9hcmVhICpzZWlfYXJlYTsKIAorCWlmIChvdmVyZmxvdykgeworCQljc3Nfc2NoZWR1bGVfZXZhbF9hbGwoKTsKKwkJcmV0dXJuOworCX0KKwlDSU9fQ1JXX0VWRU5UKDIsICJDUlcgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCSAgICAgICJjaG49JWQsIHJzYz0lWCwgYW5jPSVkLCBlcmM9JVgsIHJzaWQ9JVhcbiIsCisJCSAgICAgIGNydzAtPnNsY3QsIGNydzAtPm9mbHcsIGNydzAtPmNobiwgY3J3MC0+cnNjLCBjcncwLT5hbmMsCisJCSAgICAgIGNydzAtPmVyYywgY3J3MC0+cnNpZCk7CiAJaWYgKCFzZWlfcGFnZSkKIAkJcmV0dXJuOwogCS8qIEFjY2VzcyB0byBzZWlfcGFnZSBpcyBzZXJpYWxpemVkIHRocm91Z2ggbWFjaGluZSBjaGVjayBoYW5kbGVyCiAJICogdGhyZWFkLCBzbyBubyBuZWVkIGZvciBsb2NraW5nLiAqLwogCXNlaV9hcmVhID0gc2VpX3BhZ2U7CiAKLQlDSU9fVFJBQ0VfRVZFTlQoIDIsICJwcmNzcyIpOworCUNJT19UUkFDRV9FVkVOVCgyLCAicHJjc3MiKTsKIAlkbyB7CiAJCW1lbXNldChzZWlfYXJlYSwgMCwgc2l6ZW9mKCpzZWlfYXJlYSkpOwogCQlzZWlfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CkBAIC01MDksMTE0ICs0MTQsMzYgQEAKIAl9IHdoaWxlIChzZWlfYXJlYS0+ZmxhZ3MgJiAweDgwKTsKIH0KIAotc3RhdGljIGludCBfX2NocF9hZGRfbmV3X3NjaChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3Qgc2NoaWIgc2NoaWI7Ci0KLQlpZiAoc3RzY2hfZXJyKHNjaGlkLCAmc2NoaWIpKQotCQkvKiBXZSdyZSB0aHJvdWdoICovCi0JCXJldHVybiAtRU5YSU87Ci0KLQkvKiBQdXQgaXQgb24gdGhlIHNsb3cgcGF0aC4gKi8KLQljc3Nfc2NoZWR1bGVfZXZhbChzY2hpZCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLQotc3RhdGljIGludCBfX2NocF9hZGQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgdm9pZCAqZGF0YSkKLXsKLQlpbnQgaSwgbWFzazsKLQlzdHJ1Y3QgY2hwX2lkICpjaHBpZCA9IGRhdGE7Ci0KLQlzcGluX2xvY2tfaXJxKHNjaC0+bG9jayk7Ci0JZm9yIChpPTA7IGk8ODsgaSsrKSB7Ci0JCW1hc2sgPSAweDgwID4+IGk7Ci0JCWlmICgoc2NoLT5zY2hpYi5wbWN3LnBpbSAmIG1hc2spICYmCi0JCSAgICAoc2NoLT5zY2hpYi5wbWN3LmNocGlkW2ldID09IGNocGlkLT5pZCkpCi0JCQlicmVhazsKLQl9Ci0JaWYgKGk9PTgpIHsKLQkJc3Bpbl91bmxvY2tfaXJxKHNjaC0+bG9jayk7Ci0JCXJldHVybiAwOwotCX0KLQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKSB7Ci0JCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwotCQljc3Nfc2NoZWR1bGVfZXZhbChzY2gtPnNjaGlkKTsKLQkJcmV0dXJuIDA7Ci0JfQotCXNjaC0+bHBtID0gKChzY2gtPnNjaGliLnBtY3cucGltICYKLQkJICAgICBzY2gtPnNjaGliLnBtY3cucGFtICYKLQkJICAgICBzY2gtPnNjaGliLnBtY3cucG9tKQotCQkgICAgfCBtYXNrKSAmIHNjaC0+b3BtOwotCi0JaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQotCXNwaW5fdW5sb2NrX2lycShzY2gtPmxvY2spOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHZvaWQgY2hzY19jaHBfb25saW5lKHN0cnVjdCBjaHBfaWQgY2hwaWQpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKIAogCXNwcmludGYoZGJmX3R4dCwgImNhZGQleC4lMDJ4IiwgY2hwaWQuY3NzaWQsIGNocGlkLmlkKTsKIAlDSU9fVFJBQ0VfRVZFTlQoMiwgZGJmX3R4dCk7CiAKIAlpZiAoY2hwX2dldF9zdGF0dXMoY2hwaWQpICE9IDApIHsKKwkJbWVtc2V0KCZsaW5rLCAwLCBzaXplb2Yoc3RydWN0IGNocF9saW5rKSk7CisJCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAkJLyogV2FpdCB1bnRpbCBwcmV2aW91cyBhY3Rpb25zIGhhdmUgc2V0dGxlZC4gKi8KIAkJY3NzX3dhaXRfZm9yX3Nsb3dfcGF0aCgpOwotCQlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChfX2NocF9hZGQsIF9fY2hwX2FkZF9uZXdfc2NoLAotCQkJCQkgICAmY2hwaWQpOworCQlmb3JfZWFjaF9zdWJjaGFubmVsX3N0YWdlZChfX3MzOTBfcHJvY2Vzc19yZXNfYWNjLCBOVUxMLAorCQkJCQkgICAmbGluayk7CiAJfQogfQogCiBzdGF0aWMgdm9pZCBfX3MzOTBfc3ViY2hhbm5lbF92YXJ5X2NocGlkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsCiAJCQkJCSBzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgb24pCiB7Ci0JaW50IGNocCwgb2xkX2xwbTsKLQlpbnQgbWFzazsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBjaHBfbGluayBsaW5rOwogCisJbWVtc2V0KCZsaW5rLCAwLCBzaXplb2Yoc3RydWN0IGNocF9saW5rKSk7CisJbGluay5jaHBpZCA9IGNocGlkOwogCXNwaW5fbG9ja19pcnFzYXZlKHNjaC0+bG9jaywgZmxhZ3MpOwotCW9sZF9scG0gPSBzY2gtPmxwbTsKLQlmb3IgKGNocCA9IDA7IGNocCA8IDg7IGNocCsrKSB7Ci0JCW1hc2sgPSAweDgwID4+IGNocDsKLQkJaWYgKCEoc2NoLT5zc2RfaW5mby5wYXRoX21hc2sgJiBtYXNrKSkKLQkJCWNvbnRpbnVlOwotCQlpZiAoIWNocF9pZF9pc19lcXVhbCgmc2NoLT5zc2RfaW5mby5jaHBpZFtjaHBdLCAmY2hwaWQpKQotCQkJY29udGludWU7Ci0KLQkJaWYgKG9uKSB7Ci0JCQlzY2gtPm9wbSB8PSBtYXNrOwotCQkJc2NoLT5scG0gfD0gbWFzazsKLQkJCWlmICghb2xkX2xwbSkKLQkJCQlkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHNjaCk7Ci0JCQllbHNlIGlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+dmVyaWZ5KQotCQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJCWJyZWFrOwotCQl9Ci0JCXNjaC0+b3BtICY9IH5tYXNrOwotCQlzY2gtPmxwbSAmPSB+bWFzazsKLQkJaWYgKGNoZWNrX2Zvcl9pb19vbl9wYXRoKHNjaCwgbWFzaykpIHsKLQkJCWlmIChkZXZpY2VfaXNfb25saW5lKHNjaCkpCi0JCQkJLyogUGF0aCB2ZXJpZmljYXRpb24gaXMgZG9uZSBhZnRlciBraWxsaW5nLiAqLwotCQkJCWRldmljZV9raWxsX2lvKHNjaCk7Ci0JCQllbHNlIHsKLQkJCQkvKiBLaWxsIGFuZCByZXRyeSBpbnRlcm5hbCBJL08uICovCi0JCQkJdGVybWluYXRlX2ludGVybmFsX2lvKHNjaCk7Ci0JCQkJLyogUmUtc3RhcnQgcGF0aCB2ZXJpZmljYXRpb24uICovCi0JCQkJaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCQkJCXNjaC0+ZHJpdmVyLT52ZXJpZnkoc2NoKTsKLQkJCX0KLQkJfSBlbHNlIGlmICghc2NoLT5scG0pIHsKLQkJCWlmIChkZXZpY2VfdHJpZ2dlcl92ZXJpZnkoc2NoKSAhPSAwKQotCQkJCWNzc19zY2hlZHVsZV9ldmFsKHNjaC0+c2NoaWQpOwotCQl9IGVsc2UgaWYgKHNjaC0+ZHJpdmVyICYmIHNjaC0+ZHJpdmVyLT52ZXJpZnkpCi0JCQlzY2gtPmRyaXZlci0+dmVyaWZ5KHNjaCk7Ci0JCWJyZWFrOwotCX0KKwlpZiAoc2NoLT5kcml2ZXIgJiYgc2NoLT5kcml2ZXItPmNocF9ldmVudCkKKwkJc2NoLT5kcml2ZXItPmNocF9ldmVudChzY2gsICZsaW5rLAorCQkJCSAgICAgICBvbiA/IENIUF9WQVJZX09OIDogQ0hQX1ZBUllfT0ZGKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwogfQogCkBAIC02NTYsNiArNDgzLDEwIEBACiAgKi8KIGludCBjaHNjX2NocF92YXJ5KHN0cnVjdCBjaHBfaWQgY2hwaWQsIGludCBvbikKIHsKKwlzdHJ1Y3QgY2hwX2xpbmsgbGluazsKKworCW1lbXNldCgmbGluaywgMCwgc2l6ZW9mKHN0cnVjdCBjaHBfbGluaykpOworCWxpbmsuY2hwaWQgPSBjaHBpZDsKIAkvKiBXYWl0IHVudGlsIHByZXZpb3VzIGFjdGlvbnMgaGF2ZSBzZXR0bGVkLiAqLwogCWNzc193YWl0X2Zvcl9zbG93X3BhdGgoKTsKIAkvKgpAQCAtNjY0LDEwICs0OTUsMTAgQEAKIAogCWlmIChvbikKIAkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoczM5MF9zdWJjaGFubmVsX3ZhcnlfY2hwaWRfb24sCi0JCQkJCSAgIF9fczM5MF92YXJ5X2NocGlkX29uLCAmY2hwaWQpOworCQkJCQkgICBfX3MzOTBfdmFyeV9jaHBpZF9vbiwgJmxpbmspOwogCWVsc2UKIAkJZm9yX2VhY2hfc3ViY2hhbm5lbF9zdGFnZWQoczM5MF9zdWJjaGFubmVsX3ZhcnlfY2hwaWRfb2ZmLAotCQkJCQkgICBOVUxMLCAmY2hwaWQpOworCQkJCQkgICBOVUxMLCAmbGluayk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTc5NywyMyArNjI4LDMzIEBACiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjcmlwdGlvbihzdHJ1Y3QgY2hwX2lkIGNocGlkLAotCQkJCQkgICAgc3RydWN0IGNoYW5uZWxfcGF0aF9kZXNjICpkZXNjKQoraW50IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjKHN0cnVjdCBjaHBfaWQgY2hwaWQsIGludCBmbXQsIGludCByZm10LAorCQkJCSAgICAgaW50IGMsIGludCBtLAorCQkJCSAgICAgc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0ICpyZXNwKQogewogCWludCBjY29kZSwgcmV0OwogCiAJc3RydWN0IHsKIAkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7Ci0JCXUzMiA6IDI0OworCQl1MzIgOiAyOworCQl1MzIgbSA6IDE7CisJCXUzMiBjIDogMTsKKwkJdTMyIGZtdCA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDQ7CisJCXUzMiByZm10IDogNDsKIAkJdTMyIGZpcnN0X2NocGlkIDogODsKIAkJdTMyIDogMjQ7CiAJCXUzMiBsYXN0X2NocGlkIDogODsKIAkJdTMyIHplcm9lczE7CiAJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKLQkJdTMyIHplcm9lczI7Ci0JCXN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyBkZXNjOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKIAl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NwZF9hcmVhOwogCisJaWYgKChyZm10ID09IDEpICYmICFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZmNzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoKHJmbXQgPT0gMikgJiYgIWNzc19nZW5lcmFsX2NoYXJhY3RlcmlzdGljcy5jaWIpCisJCXJldHVybiAtRUlOVkFMOwogCXNjcGRfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKIAlpZiAoIXNjcGRfYXJlYSkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC04MjEsOCArNjYyLDEzIEBACiAJc2NwZF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKIAlzY3BkX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAwMjsKIAorCXNjcGRfYXJlYS0+Y3NzaWQgPSBjaHBpZC5jc3NpZDsKIAlzY3BkX2FyZWEtPmZpcnN0X2NocGlkID0gY2hwaWQuaWQ7CiAJc2NwZF9hcmVhLT5sYXN0X2NocGlkID0gY2hwaWQuaWQ7CisJc2NwZF9hcmVhLT5tID0gbTsKKwlzY3BkX2FyZWEtPmMgPSBjOworCXNjcGRfYXJlYS0+Zm10ID0gZm10OworCXNjcGRfYXJlYS0+cmZtdCA9IHJmbXQ7CiAKIAljY29kZSA9IGNoc2Moc2NwZF9hcmVhKTsKIAlpZiAoY2NvZGUgPiAwKSB7CkBAIC04MzMsOCArNjc5LDcgQEAKIAlyZXQgPSBjaHNjX2Vycm9yX2Zyb21fcmVzcG9uc2Uoc2NwZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKIAlpZiAocmV0ID09IDApCiAJCS8qIFN1Y2Nlc3MuICovCi0JCW1lbWNweShkZXNjLCAmc2NwZF9hcmVhLT5kZXNjLAotCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYykpOworCQltZW1jcHkocmVzcCwgJnNjcGRfYXJlYS0+cmVzcG9uc2UsIHNjcGRfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKIAllbHNlCiAJCUNJT19DUldfRVZFTlQoMiwgImNoc2M6IHNjcGQgZmFpbGVkIChyYz0lMDR4KVxuIiwKIAkJCSAgICAgIHNjcGRfYXJlYS0+cmVzcG9uc2UuY29kZSk7CkBAIC04NDIsNiArNjg3LDI1IEBACiAJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjcGRfYXJlYSk7CiAJcmV0dXJuIHJldDsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjKTsKKworaW50IGNoc2NfZGV0ZXJtaW5lX2Jhc2VfY2hhbm5lbF9wYXRoX2Rlc2Moc3RydWN0IGNocF9pZCBjaHBpZCwKKwkJCQkJICBzdHJ1Y3QgY2hhbm5lbF9wYXRoX2Rlc2MgKmRlc2MpCit7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0ICpjaHNjX3Jlc3A7CisJaW50IHJldDsKKworCWNoc2NfcmVzcCA9IGt6YWxsb2Moc2l6ZW9mKCpjaHNjX3Jlc3ApLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNoc2NfcmVzcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJcmV0ID0gY2hzY19kZXRlcm1pbmVfY2hhbm5lbF9wYXRoX2Rlc2MoY2hwaWQsIDAsIDAsIDAsIDAsIGNoc2NfcmVzcCk7CisJaWYgKHJldCkKKwkJZ290byBvdXRfZnJlZTsKKwltZW1jcHkoZGVzYywgJmNoc2NfcmVzcC0+ZGF0YSwgY2hzY19yZXNwLT5sZW5ndGgpOworb3V0X2ZyZWU6CisJa2ZyZWUoY2hzY19yZXNwKTsKKwlyZXR1cm4gcmV0OworfQogCiBzdGF0aWMgdm9pZAogY2hzY19pbml0aWFsaXplX2NtZ19jaGFycyhzdHJ1Y3QgY2hhbm5lbF9wYXRoICpjaHAsIHU4IGNtY3YsCkBAIC05MzcsMTUgKzgwMSwyMyBAQAogCiBpbnQgX19pbml0IGNoc2NfYWxsb2Nfc2VpX2FyZWEodm9pZCkKIHsKKwlpbnQgcmV0OworCiAJc2VpX3BhZ2UgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7Ci0JaWYgKCFzZWlfcGFnZSkKKwlpZiAoIXNlaV9wYWdlKSB7CiAJCUNJT19NU0dfRVZFTlQoMCwgIkNhbid0IGFsbG9jYXRlIHBhZ2UgZm9yIHByb2Nlc3Npbmcgb2YgIgogCQkJICAgICAgImNoc2MgbWFjaGluZSBjaGVja3MhXG4iKTsKLQlyZXR1cm4gKHNlaV9wYWdlID8gMCA6IC1FTk9NRU0pOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0ID0gczM5MF9yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NTUywgY2hzY19wcm9jZXNzX2Nydyk7CisJaWYgKHJldCkKKwkJa2ZyZWUoc2VpX3BhZ2UpOworCXJldHVybiByZXQ7CiB9CiAKIHZvaWQgX19pbml0IGNoc2NfZnJlZV9zZWlfYXJlYSh2b2lkKQogeworCXMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihDUldfUlNDX0NTUyk7CiAJa2ZyZWUoc2VpX3BhZ2UpOwogfQogCkBAIC0xMDQzLDMgKzkxNSw1MiBAQAogCiBFWFBPUlRfU1lNQk9MX0dQTChjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MpOwogRVhQT1JUX1NZTUJPTF9HUEwoY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzKTsKKworaW50IGNoc2Nfc3N0cGModm9pZCAqcGFnZSwgdW5zaWduZWQgaW50IG9wLCB1MTYgY3RybCkKK3sKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdW5zaWduZWQgaW50IHJzdmQwOworCQl1bnNpZ25lZCBpbnQgb3AgOiA4OworCQl1bnNpZ25lZCBpbnQgcnN2ZDEgOiA4OworCQl1bnNpZ25lZCBpbnQgY3RybCA6IDE2OworCQl1bnNpZ25lZCBpbnQgcnN2ZDJbNV07CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdW5zaWduZWQgaW50IHJzdmQzWzddOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpycjsKKwlpbnQgcmM7CisKKwltZW1zZXQocGFnZSwgMCwgUEFHRV9TSVpFKTsKKwlyciA9IHBhZ2U7CisJcnItPnJlcXVlc3QubGVuZ3RoID0gMHgwMDIwOworCXJyLT5yZXF1ZXN0LmNvZGUgPSAweDAwMzM7CisJcnItPm9wID0gb3A7CisJcnItPmN0cmwgPSBjdHJsOworCXJjID0gY2hzYyhycik7CisJaWYgKHJjKQorCQlyZXR1cm4gLUVJTzsKKwlyYyA9IChyci0+cmVzcG9uc2UuY29kZSA9PSAweDAwMDEpID8gMCA6IC1FSU87CisJcmV0dXJuIHJjOworfQorCitpbnQgY2hzY19zc3RwaSh2b2lkICpwYWdlLCB2b2lkICpyZXN1bHQsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1bnNpZ25lZCBpbnQgcnN2ZDBbM107CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJY2hhciBkYXRhW3NpemVdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpycjsKKwlpbnQgcmM7CisKKwltZW1zZXQocGFnZSwgMCwgUEFHRV9TSVpFKTsKKwlyciA9IHBhZ2U7CisJcnItPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXJyLT5yZXF1ZXN0LmNvZGUgPSAweDAwMzg7CisJcmMgPSBjaHNjKHJyKTsKKwlpZiAocmMpCisJCXJldHVybiAtRUlPOworCW1lbWNweShyZXN1bHQsICZyci0+ZGF0YSwgc2l6ZSk7CisJcmV0dXJuIChyci0+cmVzcG9uc2UuY29kZSA9PSAweDAwMDEpID8gMCA6IC1FSU87Cit9CisKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hzYy5oIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmgKaW5kZXggZDFmNWRiMS4uZmI2YzRkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jaHNjLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjLmgKQEAgLTQsNyArNCw4IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9jaHNjLmg+CisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAKICNkZWZpbmUgQ0hTQ19TREFfT0NfTVNTICAgMHgyCiAKQEAgLTM2LDE0ICszNywxNSBAQAogCiBzdHJ1Y3QgY2hhbm5lbF9wYXRoOwogCi1leHRlcm4gdm9pZCBjaHNjX3Byb2Nlc3NfY3J3KHZvaWQpOwotCiBzdHJ1Y3QgY3NzX2dlbmVyYWxfY2hhciB7Ci0JdTY0IDogNDE7CisJdTY0IDogMTI7CisJdTMyIGR5bmlvIDogMTsJIC8qIGJpdCAxMiAqLworCXUzMiA6IDI4OwogCXUzMiBhaWYgOiAxOyAgICAgLyogYml0IDQxICovCiAJdTMyIDogMzsKIAl1MzIgbWNzcyA6IDE7ICAgIC8qIGJpdCA0NSAqLwotCXUzMiA6IDI7CisJdTMyIGZjcyA6IDE7CSAvKiBiaXQgNDYgKi8KKwl1MzIgOiAxOwogCXUzMiBleHRfbWIgOiAxOyAgLyogYml0IDQ4ICovCiAJdTMyIDogNzsKIAl1MzIgYWlmX3RkZCA6IDE7IC8qIGJpdCA1NiAqLwpAQCAtNTEsNyArNTMsMTEgQEAKIAl1MzIgcWVic20gOiAxOyAgIC8qIGJpdCA1OCAqLwogCXUzMiA6IDg7CiAJdTMyIGFpZl9vc2EgOiAxOyAvKiBiaXQgNjcgKi8KLQl1MzIgOiAyODsKKwl1MzIgOiAxNDsKKwl1MzIgY2liIDogMTsJIC8qIGJpdCA4MiAqLworCXUzMiA6IDU7CisJdTMyIGZjeCA6IDE7CSAvKiBiaXQgODggKi8KKwl1MzIgOiA3OwogfV9fYXR0cmlidXRlX18oKHBhY2tlZCkpOwogCiBzdHJ1Y3QgY3NzX2Noc2NfY2hhciB7CkBAIC03OCw3ICs4NCw2IEBACiBleHRlcm4gaW50IGNoc2NfZ2V0X3NzZF9pbmZvKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLAogCQkJICAgICBzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkKTsKIGV4dGVybiBpbnQgY2hzY19kZXRlcm1pbmVfY3NzX2NoYXJhY3RlcmlzdGljcyh2b2lkKTsKLWV4dGVybiBpbnQgY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbDsKIGV4dGVybiBpbnQgY2hzY19hbGxvY19zZWlfYXJlYSh2b2lkKTsKIGV4dGVybiB2b2lkIGNoc2NfZnJlZV9zZWlfYXJlYSh2b2lkKTsKIApAQCAtODcsOCArOTIsMTEgQEAKIGV4dGVybiBpbnQgY2hzY19zZWNtKHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqLCBpbnQpOwogCiBpbnQgY2hzY19jaHBfdmFyeShzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgb24pOwotaW50IGNoc2NfZGV0ZXJtaW5lX2NoYW5uZWxfcGF0aF9kZXNjcmlwdGlvbihzdHJ1Y3QgY2hwX2lkIGNocGlkLAotCQkJCQkgICAgc3RydWN0IGNoYW5uZWxfcGF0aF9kZXNjICpkZXNjKTsKK2ludCBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkLCBpbnQgZm10LCBpbnQgcmZtdCwKKwkJCQkgICAgIGludCBjLCBpbnQgbSwKKwkJCQkgICAgIHN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCAqcmVzcCk7CitpbnQgY2hzY19kZXRlcm1pbmVfYmFzZV9jaGFubmVsX3BhdGhfZGVzYyhzdHJ1Y3QgY2hwX2lkIGNocGlkLAorCQkJCQkgIHN0cnVjdCBjaGFubmVsX3BhdGhfZGVzYyAqZGVzYyk7CiB2b2lkIGNoc2NfY2hwX29ubGluZShzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIHZvaWQgY2hzY19jaHBfb2ZmbGluZShzdHJ1Y3QgY2hwX2lkIGNocGlkKTsKIGludCBjaHNjX2dldF9jaGFubmVsX21lYXN1cmVtZW50X2NoYXJzKHN0cnVjdCBjaGFubmVsX3BhdGggKmNocCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2Noc2Nfc2NoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFjYTg3YQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guYwpAQCAtMCwwICsxLDgyMCBAQAorLyoKKyAqIERyaXZlciBmb3IgczM5MCBjaHNjIHN1YmNoYW5uZWxzCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiBBdXRob3Iocyk6IENvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxhc20vY2lvLmg+CisjaW5jbHVkZSA8YXNtL2Noc2MuaD4KKyNpbmNsdWRlIDxhc20vaXNjLmg+CisKKyNpbmNsdWRlICJjaW8uaCIKKyNpbmNsdWRlICJjaW9fZGVidWcuaCIKKyNpbmNsdWRlICJjc3MuaCIKKyNpbmNsdWRlICJjaHNjX3NjaC5oIgorI2luY2x1ZGUgImlvYXNtLmgiCisKK3N0YXRpYyBkZWJ1Z19pbmZvX3QgKmNoc2NfZGVidWdfbXNnX2lkOworc3RhdGljIGRlYnVnX2luZm9fdCAqY2hzY19kZWJ1Z19sb2dfaWQ7CisKKyNkZWZpbmUgQ0hTQ19NU0coaW1wLCBhcmdzLi4uKSBkbyB7CQkJCQlcCisJCWRlYnVnX3NwcmludGZfZXZlbnQoY2hzY19kZWJ1Z19tc2dfaWQsIGltcCAsICMjYXJncyk7CVwKKwl9IHdoaWxlICgwKQorCisjZGVmaW5lIENIU0NfTE9HKGltcCwgdHh0KSBkbyB7CQkJCQlcCisJCWRlYnVnX3RleHRfZXZlbnQoY2hzY19kZWJ1Z19sb2dfaWQsIGltcCAsIHR4dCk7CVwKKwl9IHdoaWxlICgwKQorCitzdGF0aWMgdm9pZCBDSFNDX0xPR19IRVgoaW50IGxldmVsLCB2b2lkICpkYXRhLCBpbnQgbGVuZ3RoKQoreworCXdoaWxlIChsZW5ndGggPiAwKSB7CisJCWRlYnVnX2V2ZW50KGNoc2NfZGVidWdfbG9nX2lkLCBsZXZlbCwgZGF0YSwgbGVuZ3RoKTsKKwkJbGVuZ3RoIC09IGNoc2NfZGVidWdfbG9nX2lkLT5idWZfc2l6ZTsKKwkJZGF0YSArPSBjaHNjX2RlYnVnX2xvZ19pZC0+YnVmX3NpemU7CisJfQorfQorCitNT0RVTEVfQVVUSE9SKCJJQk0gQ29ycG9yYXRpb24iKTsKK01PRFVMRV9ERVNDUklQVElPTigiZHJpdmVyIGZvciBzMzkwIGNoc2Mgc3ViY2hhbm5lbHMiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKworc3RhdGljIHZvaWQgY2hzY19zdWJjaGFubmVsX2lycShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBjaHNjX3ByaXZhdGUgKnByaXZhdGUgPSBzY2gtPnByaXZhdGU7CisJc3RydWN0IGNoc2NfcmVxdWVzdCAqcmVxdWVzdCA9IHByaXZhdGUtPnJlcXVlc3Q7CisJc3RydWN0IGlyYiAqaXJiID0gKHN0cnVjdCBpcmIgKilfX0xDX0lSQjsKKworCUNIU0NfTE9HKDQsICJpcmIiKTsKKwlDSFNDX0xPR19IRVgoNCwgaXJiLCBzaXplb2YoKmlyYikpOworCS8qIENvcHkgaXJiIHRvIHByb3ZpZGVkIHJlcXVlc3QgYW5kIHNldCBkb25lLiAqLworCWlmICghcmVxdWVzdCkgeworCQlDSFNDX01TRygwLCAiSW50ZXJydXB0IG9uIHNjaCAwLiV4LiUwNHggd2l0aCBubyByZXF1ZXN0XG4iLAorCQkJIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8pOworCQlyZXR1cm47CisJfQorCXByaXZhdGUtPnJlcXVlc3QgPSBOVUxMOworCW1lbWNweSgmcmVxdWVzdC0+aXJiLCBpcmIsIHNpemVvZigqaXJiKSk7CisJc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpOworCWNvbXBsZXRlKCZyZXF1ZXN0LT5jb21wbGV0aW9uKTsKKwlwdXRfZGV2aWNlKCZzY2gtPmRldik7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19zdWJjaGFubmVsX3Byb2JlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJc3RydWN0IGNoc2NfcHJpdmF0ZSAqcHJpdmF0ZTsKKwlpbnQgcmV0OworCisJQ0hTQ19NU0coNiwgIkRldGVjdGVkIGNoc2Mgc3ViY2hhbm5lbCAwLiV4LiUwNHhcbiIsCisJCSBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vKTsKKwlzY2gtPmlzYyA9IENIU0NfU0NIX0lTQzsKKwlwcml2YXRlID0ga3phbGxvYyhzaXplb2YoKnByaXZhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXByaXZhdGUpCisJCXJldHVybiAtRU5PTUVNOworCXJldCA9IGNpb19lbmFibGVfc3ViY2hhbm5lbChzY2gsICh1MzIpKHVuc2lnbmVkIGxvbmcpc2NoKTsKKwlpZiAocmV0KSB7CisJCUNIU0NfTVNHKDAsICJGYWlsZWQgdG8gZW5hYmxlIDAuJXguJTA0eDogJWRcbiIsCisJCQkgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgcmV0KTsKKwkJa2ZyZWUocHJpdmF0ZSk7CisJfSBlbHNlIHsKKwkJc2NoLT5wcml2YXRlID0gcHJpdmF0ZTsKKwkJaWYgKHNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcykgeworCQkJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMDsKKwkJCWtvYmplY3RfdWV2ZW50KCZzY2gtPmRldi5rb2JqLCBLT0JKX0FERCk7CisJCX0KKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX3N1YmNoYW5uZWxfcmVtb3ZlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJc3RydWN0IGNoc2NfcHJpdmF0ZSAqcHJpdmF0ZTsKKworCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsKKwlwcml2YXRlID0gc2NoLT5wcml2YXRlOworCXNjaC0+cHJpdmF0ZSA9IE5VTEw7CisJaWYgKHByaXZhdGUtPnJlcXVlc3QpIHsKKwkJY29tcGxldGUoJnByaXZhdGUtPnJlcXVlc3QtPmNvbXBsZXRpb24pOworCQlwdXRfZGV2aWNlKCZzY2gtPmRldik7CisJfQorCWtmcmVlKHByaXZhdGUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjaHNjX3N1YmNoYW5uZWxfc2h1dGRvd24oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY3NzX2RldmljZV9pZCBjaHNjX3N1YmNoYW5uZWxfaWRzW10gPSB7CisJeyAubWF0Y2hfZmxhZ3MgPSAweDEsIC50eXBlID1TVUJDSEFOTkVMX1RZUEVfQ0hTQywgfSwKKwl7IC8qIGVuZCBvZiBsaXN0ICovIH0sCit9OworTU9EVUxFX0RFVklDRV9UQUJMRShjc3MsIGNoc2Nfc3ViY2hhbm5lbF9pZHMpOworCitzdGF0aWMgc3RydWN0IGNzc19kcml2ZXIgY2hzY19zdWJjaGFubmVsX2RyaXZlciA9IHsKKwkub3duZXIgPSBUSElTX01PRFVMRSwKKwkuc3ViY2hhbm5lbF90eXBlID0gY2hzY19zdWJjaGFubmVsX2lkcywKKwkuaXJxID0gY2hzY19zdWJjaGFubmVsX2lycSwKKwkucHJvYmUgPSBjaHNjX3N1YmNoYW5uZWxfcHJvYmUsCisJLnJlbW92ZSA9IGNoc2Nfc3ViY2hhbm5lbF9yZW1vdmUsCisJLnNodXRkb3duID0gY2hzY19zdWJjaGFubmVsX3NodXRkb3duLAorCS5uYW1lID0gImNoc2Nfc3ViY2hhbm5lbCIsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX2luaXRfZGJmcyh2b2lkKQoreworCWNoc2NfZGVidWdfbXNnX2lkID0gZGVidWdfcmVnaXN0ZXIoImNoc2NfbXNnIiwgMTYsIDEsCisJCQkJCSAgIDE2ICogc2l6ZW9mKGxvbmcpKTsKKwlpZiAoIWNoc2NfZGVidWdfbXNnX2lkKQorCQlnb3RvIG91dDsKKwlkZWJ1Z19yZWdpc3Rlcl92aWV3KGNoc2NfZGVidWdfbXNnX2lkLCAmZGVidWdfc3ByaW50Zl92aWV3KTsKKwlkZWJ1Z19zZXRfbGV2ZWwoY2hzY19kZWJ1Z19tc2dfaWQsIDIpOworCWNoc2NfZGVidWdfbG9nX2lkID0gZGVidWdfcmVnaXN0ZXIoImNoc2NfbG9nIiwgMTYsIDEsIDE2KTsKKwlpZiAoIWNoc2NfZGVidWdfbG9nX2lkKQorCQlnb3RvIG91dDsKKwlkZWJ1Z19yZWdpc3Rlcl92aWV3KGNoc2NfZGVidWdfbG9nX2lkLCAmZGVidWdfaGV4X2FzY2lpX3ZpZXcpOworCWRlYnVnX3NldF9sZXZlbChjaHNjX2RlYnVnX2xvZ19pZCwgMik7CisJcmV0dXJuIDA7CitvdXQ6CisJaWYgKGNoc2NfZGVidWdfbXNnX2lkKQorCQlkZWJ1Z191bnJlZ2lzdGVyKGNoc2NfZGVidWdfbXNnX2lkKTsKKwlyZXR1cm4gLUVOT01FTTsKK30KKworc3RhdGljIHZvaWQgY2hzY19yZW1vdmVfZGJmcyh2b2lkKQoreworCWRlYnVnX3VucmVnaXN0ZXIoY2hzY19kZWJ1Z19sb2dfaWQpOworCWRlYnVnX3VucmVnaXN0ZXIoY2hzY19kZWJ1Z19tc2dfaWQpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX2luaXRfc2NoX2RyaXZlcih2b2lkKQoreworCXJldHVybiBjc3NfZHJpdmVyX3JlZ2lzdGVyKCZjaHNjX3N1YmNoYW5uZWxfZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgY2hzY19jbGVhbnVwX3NjaF9kcml2ZXIodm9pZCkKK3sKKwljc3NfZHJpdmVyX3VucmVnaXN0ZXIoJmNoc2Nfc3ViY2hhbm5lbF9kcml2ZXIpOworfQorCitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNoc2NfbG9jayk7CisKK3N0YXRpYyBpbnQgY2hzY19zdWJjaGFubmVsX21hdGNoX25leHRfZnJlZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKKworCXJldHVybiBzY2gtPnNjaGliLnBtY3cuZW5hICYmICFzY3N3X2ZjdGwoJnNjaC0+c2NoaWIuc2Nzdyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc3ViY2hhbm5lbCAqY2hzY19nZXRfbmV4dF9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJc3RydWN0IGRldmljZSAqZGV2OworCisJZGV2ID0gZHJpdmVyX2ZpbmRfZGV2aWNlKCZjaHNjX3N1YmNoYW5uZWxfZHJpdmVyLmRydiwKKwkJCQkgc2NoID8gJnNjaC0+ZGV2IDogTlVMTCwgTlVMTCwKKwkJCQkgY2hzY19zdWJjaGFubmVsX21hdGNoX25leHRfZnJlZSk7CisJcmV0dXJuIGRldiA/IHRvX3N1YmNoYW5uZWwoZGV2KSA6IE5VTEw7Cit9CisKKy8qKgorICogY2hzY19hc3luYygpIC0gdHJ5IHRvIHN0YXJ0IGEgY2hzYyByZXF1ZXN0IGFzeW5jaHJvbm91c2x5CisgKiBAY2hzY19hcmVhOiByZXF1ZXN0IHRvIGJlIHN0YXJ0ZWQKKyAqIEByZXF1ZXN0OiByZXF1ZXN0IHN0cnVjdHVyZSB0byBhc3NvY2lhdGUKKyAqCisgKiBUcmllcyB0byBzdGFydCBhIGNoc2MgcmVxdWVzdCBvbiBvbmUgb2YgdGhlIGV4aXN0aW5nIGNoc2Mgc3ViY2hhbm5lbHMuCisgKiBSZXR1cm5zOgorICogICUwIGlmIHRoZSByZXF1ZXN0IHdhcyBwZXJmb3JtZWQgc3luY2hyb25vdXNseQorICogICUtRUlOUFJPR1JFU1MgaWYgdGhlIHJlcXVlc3Qgd2FzIHN1Y2Nlc3NmdWxseSBzdGFydGVkCisgKiAgJS1FQlVTWSBpZiBhbGwgY2hzYyBzdWJjaGFubmVscyBhcmUgYnVzeQorICogICUtRU5PREVWIGlmIG5vIGNoc2Mgc3ViY2hhbm5lbHMgYXJlIGF2YWlsYWJsZQorICogQ29udGV4dDoKKyAqICBpbnRlcnJ1cHRzIGRpc2FibGVkLCBjaHNjX2xvY2sgaGVsZAorICovCitzdGF0aWMgaW50IGNoc2NfYXN5bmMoc3RydWN0IGNoc2NfYXN5bmNfYXJlYSAqY2hzY19hcmVhLAorCQkgICAgICBzdHJ1Y3QgY2hzY19yZXF1ZXN0ICpyZXF1ZXN0KQoreworCWludCBjYzsKKwlzdHJ1Y3QgY2hzY19wcml2YXRlICpwcml2YXRlOworCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSBOVUxMOworCWludCByZXQgPSAtRU5PREVWOworCWNoYXIgZGJmWzEwXTsKKworCWNoc2NfYXJlYS0+aGVhZGVyLmtleSA9IFBBR0VfREVGQVVMVF9LRVk7CisJd2hpbGUgKChzY2ggPSBjaHNjX2dldF9uZXh0X3N1YmNoYW5uZWwoc2NoKSkpIHsKKwkJc3Bpbl9sb2NrKHNjaC0+bG9jayk7CisJCXByaXZhdGUgPSBzY2gtPnByaXZhdGU7CisJCWlmIChwcml2YXRlLT5yZXF1ZXN0KSB7CisJCQlzcGluX3VubG9jayhzY2gtPmxvY2spOworCQkJcmV0ID0gLUVCVVNZOworCQkJY29udGludWU7CisJCX0KKwkJY2hzY19hcmVhLT5oZWFkZXIuc2lkID0gc2NoLT5zY2hpZDsKKwkJQ0hTQ19MT0coMiwgInNjaGlkIik7CisJCUNIU0NfTE9HX0hFWCgyLCAmc2NoLT5zY2hpZCwgc2l6ZW9mKHNjaC0+c2NoaWQpKTsKKwkJY2MgPSBjaHNjKGNoc2NfYXJlYSk7CisJCXNwcmludGYoZGJmLCAiY2M6JWQiLCBjYyk7CisJCUNIU0NfTE9HKDIsIGRiZik7CisJCXN3aXRjaCAoY2MpIHsKKwkJY2FzZSAwOgorCQkJcmV0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlIDE6CisJCQlzY2gtPnNjaGliLnNjc3cuY21kLmZjdGwgfD0gU0NTV19GQ1RMX1NUQVJUX0ZVTkM7CisJCQlyZXQgPSAtRUlOUFJPR1JFU1M7CisJCQlwcml2YXRlLT5yZXF1ZXN0ID0gcmVxdWVzdDsKKwkJCWJyZWFrOworCQljYXNlIDI6CisJCQlyZXQgPSAtRUJVU1k7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldCA9IC1FTk9ERVY7CisJCX0KKwkJc3Bpbl91bmxvY2soc2NoLT5sb2NrKTsKKwkJQ0hTQ19NU0coMiwgImNoc2Mgb24gMC4leC4lMDR4IHJldHVybmVkIGNjPSVkXG4iLAorCQkJIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIGNjKTsKKwkJaWYgKHJldCA9PSAtRUlOUFJPR1JFU1MpCisJCQlyZXR1cm4gLUVJTlBST0dSRVNTOworCQlwdXRfZGV2aWNlKCZzY2gtPmRldik7CisJCWlmIChyZXQgPT0gMCkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBjaHNjX2xvZ19jb21tYW5kKHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEgKmNoc2NfYXJlYSkKK3sKKwljaGFyIGRiZlsxMF07CisKKwlzcHJpbnRmKGRiZiwgIkNIU0M6JXgiLCBjaHNjX2FyZWEtPmhlYWRlci5jb2RlKTsKKwlDSFNDX0xPRygwLCBkYmYpOworCUNIU0NfTE9HX0hFWCgwLCBjaHNjX2FyZWEsIDMyKTsKK30KKworc3RhdGljIGludCBjaHNjX2V4YW1pbmVfaXJiKHN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3QpCit7CisJaW50IGJhY2tlZF91cDsKKworCWlmICghc2Nzd19zdGN0bCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkKKwkJcmV0dXJuIC1FSU87CisJYmFja2VkX3VwID0gc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX0NIQUlOX0NIRUNLOworCXJlcXVlc3QtPmlyYi5zY3N3LmNtZC5jc3RhdCAmPSB+U0NITl9TVEFUX0NIQUlOX0NIRUNLOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgPT0gMCkKKwkJcmV0dXJuIDA7CisJaWYgKCFiYWNrZWRfdXApCisJCXJldHVybiAwOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgJiBTQ0hOX1NUQVRfUFJPR19DSEVDSykKKwkJcmV0dXJuIC1FSU87CisJaWYgKHNjc3dfY3N0YXQoJnJlcXVlc3QtPmlyYi5zY3N3KSAmIFNDSE5fU1RBVF9QUk9UX0NIRUNLKQorCQlyZXR1cm4gLUVQRVJNOworCWlmIChzY3N3X2NzdGF0KCZyZXF1ZXN0LT5pcmIuc2NzdykgJiBTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLKQorCQlyZXR1cm4gLUVBR0FJTjsKKwlpZiAoc2Nzd19jc3RhdCgmcmVxdWVzdC0+aXJiLnNjc3cpICYgU0NITl9TVEFUX0NITl9DVFJMX0NISykKKwkJcmV0dXJuIC1FQUdBSU47CisJcmV0dXJuIC1FSU87Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9zdGFydCh2b2lkIF9fdXNlciAqdXNlcl9hcmVhKQoreworCXN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3Q7CisJc3RydWN0IGNoc2NfYXN5bmNfYXJlYSAqY2hzY19hcmVhOworCWludCByZXQ7CisJY2hhciBkYmZbMTBdOworCisJaWYgKCFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZHluaW8pCisJCS8qIEl0IG1ha2VzIG5vIHNlbnNlIHRvIHRyeS4gKi8KKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCWNoc2NfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9ETUEgfCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNoc2NfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJcmVxdWVzdCA9IGt6YWxsb2Moc2l6ZW9mKCpyZXF1ZXN0KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFyZXF1ZXN0KSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWluaXRfY29tcGxldGlvbigmcmVxdWVzdC0+Y29tcGxldGlvbik7CisJaWYgKGNvcHlfZnJvbV91c2VyKGNoc2NfYXJlYSwgdXNlcl9hcmVhLCBQQUdFX1NJWkUpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWNoc2NfbG9nX2NvbW1hbmQoY2hzY19hcmVhKTsKKwlzcGluX2xvY2tfaXJxKCZjaHNjX2xvY2spOworCXJldCA9IGNoc2NfYXN5bmMoY2hzY19hcmVhLCByZXF1ZXN0KTsKKwlzcGluX3VubG9ja19pcnEoJmNoc2NfbG9jayk7CisJaWYgKHJldCA9PSAtRUlOUFJPR1JFU1MpIHsKKwkJd2FpdF9mb3JfY29tcGxldGlvbigmcmVxdWVzdC0+Y29tcGxldGlvbik7CisJCXJldCA9IGNoc2NfZXhhbWluZV9pcmIocmVxdWVzdCk7CisJfQorCS8qIGNvcHkgYXJlYSBiYWNrIHRvIHVzZXIgKi8KKwlpZiAoIXJldCkKKwkJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2FyZWEsIGNoc2NfYXJlYSwgUEFHRV9TSVpFKSkKKwkJCXJldCA9IC1FRkFVTFQ7CitvdXRfZnJlZToKKwlzcHJpbnRmKGRiZiwgInJldDolZCIsIHJldCk7CisJQ0hTQ19MT0coMCwgZGJmKTsKKwlrZnJlZShyZXF1ZXN0KTsKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpY2hzY19hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfaW5mb19jaGFubmVsX3BhdGgodm9pZCBfX3VzZXIgKnVzZXJfY2QpCit7CisJc3RydWN0IGNoc2NfY2hwX2NkICpjZDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiAxOworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDg7CisJCXUzMiBmaXJzdF9jaHBpZCA6IDg7CisJCXUzMiA6IDI0OworCQl1MzIgbGFzdF9jaHBpZCA6IDg7CisJCXUzMiA6IDMyOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXU4IGRhdGFbUEFHRV9TSVpFIC0gMjBdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpzY3BjZF9hcmVhOworCisJc2NwY2RfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjcGNkX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWNkID0ga3phbGxvYyhzaXplb2YoKmNkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjZCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoY2QsIHVzZXJfY2QsIHNpemVvZigqY2QpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzY3BjZF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAxMDsKKwlzY3BjZF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMjg7CisJc2NwY2RfYXJlYS0+bSA9IGNkLT5tOworCXNjcGNkX2FyZWEtPmZtdDEgPSBjZC0+Zm10OworCXNjcGNkX2FyZWEtPmNzc2lkID0gY2QtPmNocGlkLmNzc2lkOworCXNjcGNkX2FyZWEtPmZpcnN0X2NocGlkID0gY2QtPmNocGlkLmlkOworCXNjcGNkX2FyZWEtPmxhc3RfY2hwaWQgPSBjZC0+Y2hwaWQuaWQ7CisKKwljY29kZSA9IGNoc2Moc2NwY2RfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNjcGNkX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY3BjZDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzY3BjZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjZC0+Y3BjYiwgJnNjcGNkX2FyZWEtPnJlc3BvbnNlLCBzY3BjZF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jZCwgY2QsIHNpemVvZigqY2QpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjZCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjcGNkX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9pbmZvX2N1KHZvaWQgX191c2VyICp1c2VyX2NkKQoreworCXN0cnVjdCBjaHNjX2N1X2NkICpjZDsKKwlpbnQgcmV0LCBjY29kZTsKKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVxdWVzdDsKKwkJdTMyIDogMjsKKwkJdTMyIG0gOiAxOworCQl1MzIgOiAxOworCQl1MzIgZm10MSA6IDQ7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDg7CisJCXUzMiBmaXJzdF9jdW4gOiA4OworCQl1MzIgOiAyNDsKKwkJdTMyIGxhc3RfY3VuIDogODsKKwkJdTMyIDogMzI7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXNwb25zZTsKKwkJdTggZGF0YVtQQUdFX1NJWkUgLSAyMF07CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgKnNjdWNkX2FyZWE7CisKKwlzY3VjZF9hcmVhID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOworCWlmICghc2N1Y2RfYXJlYSkKKwkJcmV0dXJuIC1FTk9NRU07CisJY2QgPSBremFsbG9jKHNpemVvZigqY2QpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNkKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChjb3B5X2Zyb21fdXNlcihjZCwgdXNlcl9jZCwgc2l6ZW9mKCpjZCkpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCXNjdWNkX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXNjdWNkX2FyZWEtPnJlcXVlc3QuY29kZSA9IDB4MDAyODsKKwlzY3VjZF9hcmVhLT5tID0gY2QtPm07CisJc2N1Y2RfYXJlYS0+Zm10MSA9IGNkLT5mbXQ7CisJc2N1Y2RfYXJlYS0+Y3NzaWQgPSBjZC0+Y3NzaWQ7CisJc2N1Y2RfYXJlYS0+Zmlyc3RfY3VuID0gY2QtPmN1bjsKKwlzY3VjZF9hcmVhLT5sYXN0X2N1biA9IGNkLT5jdW47CisKKwljY29kZSA9IGNoc2Moc2N1Y2RfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNjdWNkX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzY3VjZDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzY3VjZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjZC0+Y3VjYiwgJnNjdWNkX2FyZWEtPnJlc3BvbnNlLCBzY3VjZF9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jZCwgY2QsIHNpemVvZigqY2QpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjZCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjdWNkX2FyZWEpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgY2hzY19pb2N0bF9pbmZvX3NjaF9jdSh2b2lkIF9fdXNlciAqdXNlcl9jdWQpCit7CisJc3RydWN0IGNoc2Nfc2NoX2N1ZCAqY3VkOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgOiAyOworCQl1MzIgbSA6IDE7CisJCXUzMiA6IDU7CisJCXUzMiBmbXQxIDogNDsKKwkJdTMyIDogMjsKKwkJdTMyIHNzaWQgOiAyOworCQl1MzIgZmlyc3Rfc2NoIDogMTY7CisJCXUzMiA6IDg7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiBsYXN0X3NjaCA6IDE2OworCQl1MzIgOiAzMjsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc3NjdWRfYXJlYTsKKworCXNzY3VkX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzc2N1ZF9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljdWQgPSBremFsbG9jKHNpemVvZigqY3VkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjdWQpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGN1ZCwgdXNlcl9jdWQsIHNpemVvZigqY3VkKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc3NjdWRfYXJlYS0+cmVxdWVzdC5sZW5ndGggPSAweDAwMTA7CisJc3NjdWRfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDA2OworCXNzY3VkX2FyZWEtPm0gPSBjdWQtPnNjaGlkLm07CisJc3NjdWRfYXJlYS0+Zm10MSA9IGN1ZC0+Zm10OworCXNzY3VkX2FyZWEtPnNzaWQgPSBjdWQtPnNjaGlkLnNzaWQ7CisJc3NjdWRfYXJlYS0+Zmlyc3Rfc2NoID0gY3VkLT5zY2hpZC5zY2hfbm87CisJc3NjdWRfYXJlYS0+Y3NzaWQgPSBjdWQtPnNjaGlkLmNzc2lkOworCXNzY3VkX2FyZWEtPmxhc3Rfc2NoID0gY3VkLT5zY2hpZC5zY2hfbm87CisKKwljY29kZSA9IGNoc2Moc3NjdWRfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNzY3VkX2FyZWEtPnJlc3BvbnNlLmNvZGUgIT0gMHgwMDAxKSB7CisJCXJldCA9IC1FSU87CisJCUNIU0NfTVNHKDAsICJzc2N1ZDogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzc2N1ZF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjdWQtPnNjdWIsICZzc2N1ZF9hcmVhLT5yZXNwb25zZSwgc3NjdWRfYXJlYS0+cmVzcG9uc2UubGVuZ3RoKTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY3VkLCBjdWQsIHNpemVvZigqY3VkKSkpCisJCXJldCA9IC1FRkFVTFQ7CisJZWxzZQorCQlyZXQgPSAwOworb3V0X2ZyZWU6CisJa2ZyZWUoY3VkKTsKKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpc3NjdWRfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2NvbmZfaW5mbyh2b2lkIF9fdXNlciAqdXNlcl9jaSkKK3sKKwlzdHJ1Y3QgY2hzY19jb25mX2luZm8gKmNpOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgOiAyOworCQl1MzIgbSA6IDE7CisJCXUzMiA6IDE7CisJCXUzMiBmbXQxIDogNDsKKwkJdTMyIGNzc2lkIDogODsKKwkJdTMyIDogNjsKKwkJdTMyIHNzaWQgOiAyOworCQl1MzIgOiA4OworCQl1NjQgOiA2NDsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDIwXTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NpX2FyZWE7CisKKwlzY2lfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNjaV9hcmVhKQorCQlyZXR1cm4gLUVOT01FTTsKKwljaSA9IGt6YWxsb2Moc2l6ZW9mKCpjaSksIEdGUF9LRVJORUwpOworCWlmICghY2kpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKGNvcHlfZnJvbV91c2VyKGNpLCB1c2VyX2NpLCBzaXplb2YoKmNpKSkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJc2NpX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDEwOworCXNjaV9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMTI7CisJc2NpX2FyZWEtPm0gPSBjaS0+aWQubTsKKwlzY2lfYXJlYS0+Zm10MSA9IGNpLT5mbXQ7CisJc2NpX2FyZWEtPmNzc2lkID0gY2ktPmlkLmNzc2lkOworCXNjaV9hcmVhLT5zc2lkID0gY2ktPmlkLnNzaWQ7CisKKwljY29kZSA9IGNoc2Moc2NpX2FyZWEpOworCWlmIChjY29kZSAhPSAwKSB7CisJCXJldCA9IC1FSU87CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCWlmIChzY2lfYXJlYS0+cmVzcG9uc2UuY29kZSAhPSAweDAwMDEpIHsKKwkJcmV0ID0gLUVJTzsKKwkJQ0hTQ19NU0coMCwgInNjaTogcmVzcG9uc2UgY29kZT0leFxuIiwKKwkJCSBzY2lfYXJlYS0+cmVzcG9uc2UuY29kZSk7CisJCWdvdG8gb3V0X2ZyZWU7CisJfQorCW1lbWNweSgmY2ktPnNjaWQsICZzY2lfYXJlYS0+cmVzcG9uc2UsIHNjaV9hcmVhLT5yZXNwb25zZS5sZW5ndGgpOworCWlmIChjb3B5X3RvX3VzZXIodXNlcl9jaSwgY2ksIHNpemVvZigqY2kpKSkKKwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CitvdXRfZnJlZToKKwlrZnJlZShjaSk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjaV9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfY29uZl9jb21wX2xpc3Qodm9pZCBfX3VzZXIgKnVzZXJfY2NsKQoreworCXN0cnVjdCBjaHNjX2NvbXBfbGlzdCAqY2NsOworCWludCByZXQsIGNjb2RlOworCXN0cnVjdCB7CisJCXN0cnVjdCBjaHNjX2hlYWRlciByZXF1ZXN0OworCQl1MzIgY3R5cGUgOiA4OworCQl1MzIgOiA0OworCQl1MzIgZm10IDogNDsKKwkJdTMyIDogMTY7CisJCXU2NCA6IDY0OworCQl1MzIgbGlzdF9wYXJtWzJdOworCQl1NjQgOiA2NDsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlc3BvbnNlOworCQl1OCBkYXRhW1BBR0VfU0laRSAtIDM2XTsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqc2NjbF9hcmVhOworCXN0cnVjdCB7CisJCXUzMiBtIDogMTsKKwkJdTMyIDogMzE7CisJCXUzMiBjc3NpZCA6IDg7CisJCXUzMiA6IDE2OworCQl1MzIgY2hwaWQgOiA4OworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpjaHBpZF9wYXJtOworCXN0cnVjdCB7CisJCXUzMiBmX2Nzc2lkIDogODsKKwkJdTMyIGxfY3NzaWQgOiA4OworCQl1MzIgOiAxNjsKKwkJdTMyIHJlczsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSAqY3NzaWRzX3Bhcm07CisKKwlzY2NsX2FyZWEgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMIHwgR0ZQX0RNQSk7CisJaWYgKCFzY2NsX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWNjbCA9IGt6YWxsb2Moc2l6ZW9mKCpjY2wpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNjbCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoY2NsLCB1c2VyX2NjbCwgc2l6ZW9mKCpjY2wpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzY2NsX2FyZWEtPnJlcXVlc3QubGVuZ3RoID0gMHgwMDIwOworCXNjY2xfYXJlYS0+cmVxdWVzdC5jb2RlID0gMHgwMDMwOworCXNjY2xfYXJlYS0+Zm10ID0gY2NsLT5yZXEuZm10OworCXNjY2xfYXJlYS0+Y3R5cGUgPSBjY2wtPnJlcS5jdHlwZTsKKwlzd2l0Y2ggKHNjY2xfYXJlYS0+Y3R5cGUpIHsKKwljYXNlIENDTF9DVV9PTl9DSFA6CisJY2FzZSBDQ0xfSU9QX0NIUDoKKwkJY2hwaWRfcGFybSA9ICh2b2lkICopJnNjY2xfYXJlYS0+bGlzdF9wYXJtOworCQljaHBpZF9wYXJtLT5tID0gY2NsLT5yZXEuY2hwaWQubTsKKwkJY2hwaWRfcGFybS0+Y3NzaWQgPSBjY2wtPnJlcS5jaHBpZC5jaHAuY3NzaWQ7CisJCWNocGlkX3Bhcm0tPmNocGlkID0gY2NsLT5yZXEuY2hwaWQuY2hwLmlkOworCQlicmVhazsKKwljYXNlIENDTF9DU1NfSU1HOgorCWNhc2UgQ0NMX0NTU19JTUdfQ09ORl9DSEFSOgorCQljc3NpZHNfcGFybSA9ICh2b2lkICopJnNjY2xfYXJlYS0+bGlzdF9wYXJtOworCQljc3NpZHNfcGFybS0+Zl9jc3NpZCA9IGNjbC0+cmVxLmNzc2lkcy5mX2Nzc2lkOworCQljc3NpZHNfcGFybS0+bF9jc3NpZCA9IGNjbC0+cmVxLmNzc2lkcy5sX2Nzc2lkOworCQlicmVhazsKKwl9CisJY2NvZGUgPSBjaHNjKHNjY2xfYXJlYSk7CisJaWYgKGNjb2RlICE9IDApIHsKKwkJcmV0ID0gLUVJTzsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJaWYgKHNjY2xfYXJlYS0+cmVzcG9uc2UuY29kZSAhPSAweDAwMDEpIHsKKwkJcmV0ID0gLUVJTzsKKwkJQ0hTQ19NU0coMCwgInNjY2w6IHJlc3BvbnNlIGNvZGU9JXhcbiIsCisJCQkgc2NjbF9hcmVhLT5yZXNwb25zZS5jb2RlKTsKKwkJZ290byBvdXRfZnJlZTsKKwl9CisJbWVtY3B5KCZjY2wtPnNjY2wsICZzY2NsX2FyZWEtPnJlc3BvbnNlLCBzY2NsX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2NjbCwgY2NsLCBzaXplb2YoKmNjbCkpKQorCQlyZXQgPSAtRUZBVUxUOworCWVsc2UKKwkJcmV0ID0gMDsKK291dF9mcmVlOgorCWtmcmVlKGNjbCk7CisJZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXNjY2xfYXJlYSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBjaHNjX2lvY3RsX2NocGQodm9pZCBfX3VzZXIgKnVzZXJfY2hwZCkKK3sKKwlzdHJ1Y3QgY2hzY19jcGRfaW5mbyAqY2hwZDsKKwlpbnQgcmV0OworCisJY2hwZCA9IGt6YWxsb2Moc2l6ZW9mKCpjaHBkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFjaHBkKQorCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoY29weV9mcm9tX3VzZXIoY2hwZCwgdXNlcl9jaHBkLCBzaXplb2YoKmNocGQpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlyZXQgPSBjaHNjX2RldGVybWluZV9jaGFubmVsX3BhdGhfZGVzYyhjaHBkLT5jaHBpZCwgY2hwZC0+Zm10LAorCQkJCQkgICAgICAgY2hwZC0+cmZtdCwgY2hwZC0+YywgY2hwZC0+bSwKKwkJCQkJICAgICAgICZjaHBkLT5jaHBkYik7CisJaWYgKHJldCkKKwkJZ290byBvdXRfZnJlZTsKKwlpZiAoY29weV90b191c2VyKHVzZXJfY2hwZCwgY2hwZCwgc2l6ZW9mKCpjaHBkKSkpCisJCXJldCA9IC1FRkFVTFQ7CitvdXRfZnJlZToKKwlrZnJlZShjaHBkKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGNoc2NfaW9jdGxfZGNhbCh2b2lkIF9fdXNlciAqdXNlcl9kY2FsKQoreworCXN0cnVjdCBjaHNjX2RjYWwgKmRjYWw7CisJaW50IHJldCwgY2NvZGU7CisJc3RydWN0IHsKKwkJc3RydWN0IGNoc2NfaGVhZGVyIHJlcXVlc3Q7CisJCXUzMiBhdHlwZSA6IDg7CisJCXUzMiA6IDQ7CisJCXUzMiBmbXQgOiA0OworCQl1MzIgOiAxNjsKKwkJdTMyIHJlczBbMl07CisJCXUzMiBsaXN0X3Bhcm1bMl07CisJCXUzMiByZXMxWzJdOworCQlzdHJ1Y3QgY2hzY19oZWFkZXIgcmVzcG9uc2U7CisJCXU4IGRhdGFbUEFHRV9TSVpFIC0gMzZdOworCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpICpzZGNhbF9hcmVhOworCisJc2RjYWxfYXJlYSA9ICh2b2lkICopZ2V0X3plcm9lZF9wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BKTsKKwlpZiAoIXNkY2FsX2FyZWEpCisJCXJldHVybiAtRU5PTUVNOworCWRjYWwgPSBremFsbG9jKHNpemVvZigqZGNhbCksIEdGUF9LRVJORUwpOworCWlmICghZGNhbCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoY29weV9mcm9tX3VzZXIoZGNhbCwgdXNlcl9kY2FsLCBzaXplb2YoKmRjYWwpKSkgeworCQlyZXQgPSAtRUZBVUxUOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlzZGNhbF9hcmVhLT5yZXF1ZXN0Lmxlbmd0aCA9IDB4MDAyMDsKKwlzZGNhbF9hcmVhLT5yZXF1ZXN0LmNvZGUgPSAweDAwMzQ7CisJc2RjYWxfYXJlYS0+YXR5cGUgPSBkY2FsLT5yZXEuYXR5cGU7CisJc2RjYWxfYXJlYS0+Zm10ID0gZGNhbC0+cmVxLmZtdDsKKwltZW1jcHkoJnNkY2FsX2FyZWEtPmxpc3RfcGFybSwgJmRjYWwtPnJlcS5saXN0X3Bhcm0sCisJICAgICAgIHNpemVvZihzZGNhbF9hcmVhLT5saXN0X3Bhcm0pKTsKKworCWNjb2RlID0gY2hzYyhzZGNhbF9hcmVhKTsKKwlpZiAoY2NvZGUgIT0gMCkgeworCQlyZXQgPSAtRUlPOworCQlnb3RvIG91dF9mcmVlOworCX0KKwlpZiAoc2RjYWxfYXJlYS0+cmVzcG9uc2UuY29kZSAhPSAweDAwMDEpIHsKKwkJcmV0ID0gLUVJTzsKKwkJQ0hTQ19NU0coMCwgInNkY2FsOiByZXNwb25zZSBjb2RlPSV4XG4iLAorCQkJIHNkY2FsX2FyZWEtPnJlc3BvbnNlLmNvZGUpOworCQlnb3RvIG91dF9mcmVlOworCX0KKwltZW1jcHkoJmRjYWwtPnNkY2FsLCAmc2RjYWxfYXJlYS0+cmVzcG9uc2UsCisJICAgICAgIHNkY2FsX2FyZWEtPnJlc3BvbnNlLmxlbmd0aCk7CisJaWYgKGNvcHlfdG9fdXNlcih1c2VyX2RjYWwsIGRjYWwsIHNpemVvZigqZGNhbCkpKQorCQlyZXQgPSAtRUZBVUxUOworCWVsc2UKKwkJcmV0ID0gMDsKK291dF9mcmVlOgorCWtmcmVlKGRjYWwpOworCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylzZGNhbF9hcmVhKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgbG9uZyBjaHNjX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJQ0hTQ19NU0coMiwgImNoc2NfaW9jdGwgY2FsbGVkLCBjbWQ9JXhcbiIsIGNtZCk7CisJc3dpdGNoIChjbWQpIHsKKwljYXNlIENIU0NfU1RBUlQ6CisJCXJldHVybiBjaHNjX2lvY3RsX3N0YXJ0KCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fQ0hBTk5FTF9QQVRIOgorCQlyZXR1cm4gY2hzY19pb2N0bF9pbmZvX2NoYW5uZWxfcGF0aCgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NVOgorCQlyZXR1cm4gY2hzY19pb2N0bF9pbmZvX2N1KCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fU0NIX0NVOgorCQlyZXR1cm4gY2hzY19pb2N0bF9pbmZvX3NjaF9jdSgodm9pZCBfX3VzZXIgKilhcmcpOworCWNhc2UgQ0hTQ19JTkZPX0NJOgorCQlyZXR1cm4gY2hzY19pb2N0bF9jb25mX2luZm8oKHZvaWQgX191c2VyICopYXJnKTsKKwljYXNlIENIU0NfSU5GT19DQ0w6CisJCXJldHVybiBjaHNjX2lvY3RsX2NvbmZfY29tcF9saXN0KCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fQ1BEOgorCQlyZXR1cm4gY2hzY19pb2N0bF9jaHBkKCh2b2lkIF9fdXNlciAqKWFyZyk7CisJY2FzZSBDSFNDX0lORk9fRENBTDoKKwkJcmV0dXJuIGNoc2NfaW9jdGxfZGNhbCgodm9pZCBfX3VzZXIgKilhcmcpOworCWRlZmF1bHQ6IC8qIHVua25vd24gaW9jdGwgbnVtYmVyICovCisJCXJldHVybiAtRU5PSU9DVExDTUQ7CisJfQorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBjaHNjX2ZvcHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLnVubG9ja2VkX2lvY3RsID0gY2hzY19pb2N0bCwKKwkuY29tcGF0X2lvY3RsID0gY2hzY19pb2N0bCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgbWlzY2RldmljZSBjaHNjX21pc2NfZGV2aWNlID0geworCS5taW5vciA9IE1JU0NfRFlOQU1JQ19NSU5PUiwKKwkubmFtZSA9ICJjaHNjIiwKKwkuZm9wcyA9ICZjaHNjX2ZvcHMsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX21pc2NfaW5pdCh2b2lkKQoreworCXJldHVybiBtaXNjX3JlZ2lzdGVyKCZjaHNjX21pc2NfZGV2aWNlKTsKK30KKworc3RhdGljIHZvaWQgY2hzY19taXNjX2NsZWFudXAodm9pZCkKK3sKKwltaXNjX2RlcmVnaXN0ZXIoJmNoc2NfbWlzY19kZXZpY2UpOworfQorCitzdGF0aWMgaW50IF9faW5pdCBjaHNjX3NjaF9pbml0KHZvaWQpCit7CisJaW50IHJldDsKKworCXJldCA9IGNoc2NfaW5pdF9kYmZzKCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwlpc2NfcmVnaXN0ZXIoQ0hTQ19TQ0hfSVNDKTsKKwlyZXQgPSBjaHNjX2luaXRfc2NoX2RyaXZlcigpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2RiZjsKKwlyZXQgPSBjaHNjX21pc2NfaW5pdCgpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2RyaXZlcjsKKwlyZXR1cm4gcmV0Oworb3V0X2RyaXZlcjoKKwljaHNjX2NsZWFudXBfc2NoX2RyaXZlcigpOworb3V0X2RiZjoKKwlpc2NfdW5yZWdpc3RlcihDSFNDX1NDSF9JU0MpOworCWNoc2NfcmVtb3ZlX2RiZnMoKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgY2hzY19zY2hfZXhpdCh2b2lkKQoreworCWNoc2NfbWlzY19jbGVhbnVwKCk7CisJY2hzY19jbGVhbnVwX3NjaF9kcml2ZXIoKTsKKwlpc2NfdW5yZWdpc3RlcihDSFNDX1NDSF9JU0MpOworCWNoc2NfcmVtb3ZlX2RiZnMoKTsKK30KKworbW9kdWxlX2luaXQoY2hzY19zY2hfaW5pdCk7Cittb2R1bGVfZXhpdChjaHNjX3NjaF9leGl0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guaCBiL2RyaXZlcnMvczM5MC9jaW8vY2hzY19zY2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODllYmZhCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaHNjX3NjaC5oCkBAIC0wLDAgKzEsMTMgQEAKKyNpZm5kZWYgX0NIU0NfU0NIX0gKKyNkZWZpbmUgX0NIU0NfU0NIX0gKKworc3RydWN0IGNoc2NfcmVxdWVzdCB7CisJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKKwlzdHJ1Y3QgaXJiIGlyYjsKK307CisKK3N0cnVjdCBjaHNjX3ByaXZhdGUgeworCXN0cnVjdCBjaHNjX3JlcXVlc3QgKnJlcXVlc3Q7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2Npby5jCmluZGV4IGIzMmQ3ZWIuLjMzYmZmOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uYwpAQCAtMiw3ICsyLDcgQEAKICAqICBkcml2ZXJzL3MzOTAvY2lvL2Npby5jCiAgKiAgIFMvMzkwIGNvbW1vbiBJL08gcm91dGluZXMgLS0gbG93IGxldmVsIGkvbyBjYWxscwogICoKLSAqICAgIENvcHlyaWdodCAoQykgSUJNIENvcnAuIDE5OTksMjAwNgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAxOTk5LDIwMDgKICAqICAgIEF1dGhvcihzKTogSW5nbyBBZGx1bmcgKGFkbHVuZ0BkZS5pYm0uY29tKQogICoJCSBDb3JuZWxpYSBIdWNrIChjb3JuZWxpYS5odWNrQGRlLmlibS5jb20pCiAgKgkJIEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCkBAIC0yNCw3ICsyNCw5IEBACiAjaW5jbHVkZSA8YXNtL2lwbC5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgogI2luY2x1ZGUgPGFzbS9haXJxLmg+CisjaW5jbHVkZSA8YXNtL2lzYy5oPgogI2luY2x1ZGUgPGFzbS9jcHUuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiY2hzYy5oIgpAQCAtNzIsNyArNzQsNiBAQAogCQlkZWJ1Z191bnJlZ2lzdGVyKGNpb19kZWJ1Z190cmFjZV9pZCk7CiAJaWYgKGNpb19kZWJ1Z19jcndfaWQpCiAJCWRlYnVnX3VucmVnaXN0ZXIoY2lvX2RlYnVnX2Nyd19pZCk7Ci0JcHJpbnRrKEtFUk5fV0FSTklORyJjaW86IGNvdWxkIG5vdCBpbml0aWFsaXplIGRlYnVnZ2luZ1xuIik7CiAJcmV0dXJuIC0xOwogfQogCkBAIC0xMjgsNyArMTI5LDcgQEAKIAlsb2NhbF9iaF9kaXNhYmxlKCk7CiAJaXJxX2VudGVyICgpOwogCXNwaW5fbG9jayhzY2gtPmxvY2spOwotCW1lbWNweSAoJnNjaC0+c2NoaWIuc2NzdywgJmlyYi0+c2Nzdywgc2l6ZW9mIChzdHJ1Y3Qgc2NzdykpOworCW1lbWNweSgmc2NoLT5zY2hpYi5zY3N3LCAmaXJiLT5zY3N3LCBzaXplb2YodW5pb24gc2NzdykpOwogCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+aXJxKQogCQlzY2gtPmRyaXZlci0+aXJxKHNjaCk7CiAJc3Bpbl91bmxvY2soc2NoLT5sb2NrKTsKQEAgLTE2NywzMCArMTY4LDMwIEBACiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKIAlpbnQgY2NvZGU7Ci0Jc3RydWN0IG9yYiAqb3JiOworCXVuaW9uIG9yYiAqb3JiOwogCiAJQ0lPX1RSQUNFX0VWRU5UKDQsICJzdElPIik7CiAJQ0lPX1RSQUNFX0VWRU5UKDQsIHNjaC0+ZGV2LmJ1c19pZCk7CiAKIAlvcmIgPSAmdG9faW9fcHJpdmF0ZShzY2gpLT5vcmI7CiAJLyogc2NoIGlzIGFsd2F5cyB1bmRlciAyRy4gKi8KLQlvcmItPmludHBhcm0gPSAodTMyKShhZGRyX3Qpc2NoOwotCW9yYi0+Zm10ID0gMTsKKwlvcmItPmNtZC5pbnRwYXJtID0gKHUzMikoYWRkcl90KXNjaDsKKwlvcmItPmNtZC5mbXQgPSAxOwogCi0Jb3JiLT5wZmNoID0gc2NoLT5vcHRpb25zLnByZWZldGNoID09IDA7Ci0Jb3JiLT5zcG5kID0gc2NoLT5vcHRpb25zLnN1c3BlbmQ7Ci0Jb3JiLT5zc2ljID0gc2NoLT5vcHRpb25zLnN1c3BlbmQgJiYgc2NoLT5vcHRpb25zLmludGVyOwotCW9yYi0+bHBtID0gKGxwbSAhPSAwKSA/IGxwbSA6IHNjaC0+bHBtOworCW9yYi0+Y21kLnBmY2ggPSBzY2gtPm9wdGlvbnMucHJlZmV0Y2ggPT0gMDsKKwlvcmItPmNtZC5zcG5kID0gc2NoLT5vcHRpb25zLnN1c3BlbmQ7CisJb3JiLT5jbWQuc3NpYyA9IHNjaC0+b3B0aW9ucy5zdXNwZW5kICYmIHNjaC0+b3B0aW9ucy5pbnRlcjsKKwlvcmItPmNtZC5scG0gPSAobHBtICE9IDApID8gbHBtIDogc2NoLT5scG07CiAjaWZkZWYgQ09ORklHXzY0QklUCiAJLyoKIAkgKiBmb3IgNjQgYml0IHdlIGFsd2F5cyBzdXBwb3J0IDY0IGJpdCBJREFXcyB3aXRoIDRrIHBhZ2Ugc2l6ZSBvbmx5CiAJICovCi0Jb3JiLT5jNjQgPSAxOwotCW9yYi0+aTJrID0gMDsKKwlvcmItPmNtZC5jNjQgPSAxOworCW9yYi0+Y21kLmkyayA9IDA7CiAjZW5kaWYKLQlvcmItPmtleSA9IGtleSA+PiA0OworCW9yYi0+Y21kLmtleSA9IGtleSA+PiA0OwogCS8qIGlzc3VlICJTdGFydCBTdWJjaGFubmVsIiAqLwotCW9yYi0+Y3BhID0gKF9fdTMyKSBfX3BhKGNwYSk7CisJb3JiLT5jbWQuY3BhID0gKF9fdTMyKSBfX3BhKGNwYSk7CiAJY2NvZGUgPSBzc2NoKHNjaC0+c2NoaWQsIG9yYik7CiAKIAkvKiBwcm9jZXNzIGNvbmRpdGlvbiBjb2RlICovCkBAIC0yMDIsNyArMjAzLDcgQEAKIAkJLyoKIAkJICogaW5pdGlhbGl6ZSBkZXZpY2Ugc3RhdHVzIGluZm9ybWF0aW9uCiAJCSAqLwotCQlzY2gtPnNjaGliLnNjc3cuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKKwkJc2NoLT5zY2hpYi5zY3N3LmNtZC5hY3RsIHw9IFNDU1dfQUNUTF9TVEFSVF9QRU5EOwogCQlyZXR1cm4gMDsKIAljYXNlIDE6CQkvKiBzdGF0dXMgcGVuZGluZyAqLwogCWNhc2UgMjoJCS8qIGJ1c3kgKi8KQEAgLTIzNyw3ICsyMzgsNyBAQAogCiAJc3dpdGNoIChjY29kZSkgewogCWNhc2UgMDoKLQkJc2NoLT5zY2hpYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX1JFU1VNRV9QRU5EOworCQlzY2gtPnNjaGliLnNjc3cuY21kLmFjdGwgfD0gU0NTV19BQ1RMX1JFU1VNRV9QRU5EOwogCQlyZXR1cm4gMDsKIAljYXNlIDE6CiAJCXJldHVybiAtRUJVU1k7CkBAIC0yNzcsNyArMjc4LDcgQEAKIAogCXN3aXRjaCAoY2NvZGUpIHsKIAljYXNlIDA6Ci0JCXNjaC0+c2NoaWIuc2Nzdy5hY3RsIHw9IFNDU1dfQUNUTF9IQUxUX1BFTkQ7CisJCXNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfSEFMVF9QRU5EOwogCQlyZXR1cm4gMDsKIAljYXNlIDE6CQkvKiBzdGF0dXMgcGVuZGluZyAqLwogCWNhc2UgMjoJCS8qIGJ1c3kgKi8KQEAgLTMxMiw3ICszMTMsNyBAQAogCiAJc3dpdGNoIChjY29kZSkgewogCWNhc2UgMDoKLQkJc2NoLT5zY2hpYi5zY3N3LmFjdGwgfD0gU0NTV19BQ1RMX0NMRUFSX1BFTkQ7CisJCXNjaC0+c2NoaWIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfQ0xFQVJfUEVORDsKIAkJcmV0dXJuIDA7CiAJZGVmYXVsdDoJCS8qIGRldmljZSBub3Qgb3BlcmF0aW9uYWwgKi8KIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC0zODcsOCArMzg4LDEwIEBACiAJcmV0dXJuIHJldDsKIH0KIAotLyoKLSAqIEVuYWJsZSBzdWJjaGFubmVsLgorLyoqCisgKiBjaW9fZW5hYmxlX3N1YmNoYW5uZWwgLSBlbmFibGUgYSBzdWJjaGFubmVsLgorICogQHNjaDogc3ViY2hhbm5lbCB0byBiZSBlbmFibGVkCisgKiBAaW50cGFybTogaW50ZXJydXB0aW9uIHBhcmFtZXRlciB0byBzZXQKICAqLwogaW50IGNpb19lbmFibGVfc3ViY2hhbm5lbChzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCB1MzIgaW50cGFybSkKIHsKQEAgLTQzNCwxMiArNDM3LDEzIEBACiAJQ0lPX1RSQUNFX0VWRU5UICgyLCBkYmZfdHh0KTsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY2lvX2VuYWJsZV9zdWJjaGFubmVsKTsKIAotLyoKLSAqIERpc2FibGUgc3ViY2hhbm5lbC4KKy8qKgorICogY2lvX2Rpc2FibGVfc3ViY2hhbm5lbCAtIGRpc2FibGUgYSBzdWJjaGFubmVsLgorICogQHNjaDogc3ViY2hhbm5lbCB0byBkaXNhYmxlCiAgKi8KLWludAotY2lvX2Rpc2FibGVfc3ViY2hhbm5lbCAoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK2ludCBjaW9fZGlzYWJsZV9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKIAlpbnQgY2NvZGU7CkBAIC00NTUsNyArNDU5LDcgQEAKIAlpZiAoY2NvZGUgPT0gMykJCS8qIE5vdCBvcGVyYXRpb25hbC4gKi8KIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCkKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICE9IDApCiAJCS8qCiAJCSAqIHRoZSBkaXNhYmxlIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCB3aGlsZSB0aGVyZSBhcmUKIAkJICogIHJlcXVlc3RzIHBlbmRpbmcgZm9yIGNvbXBsZXRpb24gIQpAQCAtNDg0LDYgKzQ4OCw3IEBACiAJQ0lPX1RSQUNFX0VWRU5UICgyLCBkYmZfdHh0KTsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTF9HUEwoY2lvX2Rpc2FibGVfc3ViY2hhbm5lbCk7CiAKIGludCBjaW9fY3JlYXRlX3NjaF9sb2NrKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CkBAIC00OTQsMjcgKzQ5OSw2MSBAQAogCXJldHVybiAwOwogfQogCi0vKgotICogY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwoKQorc3RhdGljIGludCBjaW9fY2hlY2tfZGV2bm9fYmxhY2tsaXN0ZWQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlpZiAoaXNfYmxhY2tsaXN0ZWQoc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGliLnBtY3cuZGV2KSkgeworCQkvKgorCQkgKiBUaGlzIGRldmljZSBtdXN0IG5vdCBiZSBrbm93biB0byBMaW51eC4gU28gd2Ugc2ltcGx5CisJCSAqIHNheSB0aGF0IHRoZXJlIGlzIG5vIGRldmljZSBhbmQgcmV0dXJuIEVOT0RFVi4KKwkJICovCisJCUNJT19NU0dfRVZFTlQoNiwgIkJsYWNrbGlzdGVkIGRldmljZSBkZXRlY3RlZCAiCisJCQkgICAgICAiYXQgZGV2bm8gJTA0WCwgc3ViY2hhbm5lbCBzZXQgJXhcbiIsCisJCQkgICAgICBzY2gtPnNjaGliLnBtY3cuZGV2LCBzY2gtPnNjaGlkLnNzaWQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2lvX3ZhbGlkYXRlX2lvX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwkvKiBJbml0aWFsaXphdGlvbiBmb3IgaW8gc3ViY2hhbm5lbHMuICovCisJaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2gtPnNjaGliKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKiBEZXZubyBpcyB2YWxpZC4gKi8KKwlyZXR1cm4gY2lvX2NoZWNrX2Rldm5vX2JsYWNrbGlzdGVkKHNjaCk7Cit9CisKK3N0YXRpYyBpbnQgY2lvX3ZhbGlkYXRlX21zZ19zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJLyogSW5pdGlhbGl6YXRpb24gZm9yIG1lc3NhZ2Ugc3ViY2hhbm5lbHMuICovCisJaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2gtPnNjaGliKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwkvKiBEZXZubyBpcyB2YWxpZC4gKi8KKwlyZXR1cm4gY2lvX2NoZWNrX2Rldm5vX2JsYWNrbGlzdGVkKHNjaCk7Cit9CisKKy8qKgorICogY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwgLSBiYXNpYyB2YWxpZGF0aW9uIG9mIHN1YmNoYW5uZWwKKyAqIEBzY2g6IHN1YmNoYW5uZWwgc3RydWN0dXJlIHRvIGJlIGZpbGxlZCBvdXQKKyAqIEBzY2hpZDogc3ViY2hhbm5lbCBpZAogICoKICAqIEZpbmQgb3V0IHN1YmNoYW5uZWwgdHlwZSBhbmQgaW5pdGlhbGl6ZSBzdHJ1Y3Qgc3ViY2hhbm5lbC4KICAqIFJldHVybiBjb2RlczoKLSAqICAgU1VCQ0hBTk5FTF9UWVBFX0lPIGZvciBhIG5vcm1hbCBpbyBzdWJjaGFubmVsCi0gKiAgIFNVQkNIQU5ORUxfVFlQRV9DSFNDIGZvciBhIGNoc2Mgc3ViY2hhbm5lbAotICogICBTVUJDSEFOTkVMX1RZUEVfTUVTU0FHRSBmb3IgYSBtZXNzYWdpbmcgc3ViY2hhbm5lbAotICogICBTVUJDSEFOTkVMX1RZUEVfQURNIGZvciBhIGFkbSg/KSBzdWJjaGFubmVsCisgKiAgIDAgb24gc3VjY2VzcwogICogICAtRU5YSU8gZm9yIG5vbi1kZWZpbmVkIHN1YmNoYW5uZWxzCi0gKiAgIC1FTk9ERVYgZm9yIHN1YmNoYW5uZWxzIHdpdGggaW52YWxpZCBkZXZpY2UgbnVtYmVyIG9yIGJsYWNrbGlzdGVkIGRldmljZXMKKyAqICAgLUVOT0RFViBmb3IgaW52YWxpZCBzdWJjaGFubmVscyBvciBibGFja2xpc3RlZCBkZXZpY2VzCisgKiAgIC1FSU8gZm9yIHN1YmNoYW5uZWxzIGluIGFuIGludmFsaWQgc3ViY2hhbm5lbCBzZXQKICAqLwotaW50Ci1jaW9fdmFsaWRhdGVfc3ViY2hhbm5lbCAoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCitpbnQgY2lvX3ZhbGlkYXRlX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCiB7CiAJY2hhciBkYmZfdHh0WzE1XTsKIAlpbnQgY2NvZGU7CiAJaW50IGVycjsKIAotCXNwcmludGYgKGRiZl90eHQsICJ2YWxzY2gleCIsIHNjaGlkLnNjaF9ubyk7Ci0JQ0lPX1RSQUNFX0VWRU5UICg0LCBkYmZfdHh0KTsKKwlzcHJpbnRmKGRiZl90eHQsICJ2YWxzY2gleCIsIHNjaGlkLnNjaF9ubyk7CisJQ0lPX1RSQUNFX0VWRU5UKDQsIGRiZl90eHQpOwogCiAJLyogTnVrZSBhbGwgZmllbGRzLiAqLwogCW1lbXNldChzY2gsIDAsIHNpemVvZihzdHJ1Y3Qgc3ViY2hhbm5lbCkpOwpAQCAtNTQ2LDY3ICs1ODUsMjEgQEAKIAkvKiBDb3B5IHN1YmNoYW5uZWwgdHlwZSBmcm9tIHBhdGggbWFuYWdlbWVudCBjb250cm9sIHdvcmQuICovCiAJc2NoLT5zdCA9IHNjaC0+c2NoaWIucG1jdy5zdDsKIAotCS8qCi0JICogLi4uIGp1c3QgYmVpbmcgY3VyaW91cyB3ZSBjaGVjayBmb3Igbm9uIEkvTyBzdWJjaGFubmVscwotCSAqLwotCWlmIChzY2gtPnN0ICE9IDApIHsKLQkJQ0lPX01TR19FVkVOVCg0LCAiU3ViY2hhbm5lbCAwLiV4LiUwNHggcmVwb3J0cyAiCi0JCQkgICAgICAibm9uLUkvTyBzdWJjaGFubmVsIHR5cGUgJTA0WFxuIiwKLQkJCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIHNjaC0+c3QpOwotCQkvKiBXZSBzdG9wIGhlcmUgZm9yIG5vbi1pbyBzdWJjaGFubmVscy4gKi8KLQkJZXJyID0gc2NoLT5zdDsKKwlzd2l0Y2ggKHNjaC0+c3QpIHsKKwljYXNlIFNVQkNIQU5ORUxfVFlQRV9JTzoKKwkJZXJyID0gY2lvX3ZhbGlkYXRlX2lvX3N1YmNoYW5uZWwoc2NoKTsKKwkJYnJlYWs7CisJY2FzZSBTVUJDSEFOTkVMX1RZUEVfTVNHOgorCQllcnIgPSBjaW9fdmFsaWRhdGVfbXNnX3N1YmNoYW5uZWwoc2NoKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyID0gMDsKKwl9CisJaWYgKGVycikKIAkJZ290byBvdXQ7Ci0JfQogCi0JLyogSW5pdGlhbGl6YXRpb24gZm9yIGlvIHN1YmNoYW5uZWxzLiAqLwotCWlmICghY3NzX3NjaF9pc192YWxpZCgmc2NoLT5zY2hpYikpIHsKLQkJZXJyID0gLUVOT0RFVjsKLQkJZ290byBvdXQ7Ci0JfQotCi0JLyogRGV2bm8gaXMgdmFsaWQuICovCi0JaWYgKGlzX2JsYWNrbGlzdGVkIChzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWIucG1jdy5kZXYpKSB7Ci0JCS8qCi0JCSAqIFRoaXMgZGV2aWNlIG11c3Qgbm90IGJlIGtub3duIHRvIExpbnV4LiBTbyB3ZSBzaW1wbHkKLQkJICogc2F5IHRoYXQgdGhlcmUgaXMgbm8gZGV2aWNlIGFuZCByZXR1cm4gRU5PREVWLgotCQkgKi8KLQkJQ0lPX01TR19FVkVOVCg2LCAiQmxhY2tsaXN0ZWQgZGV2aWNlIGRldGVjdGVkICIKLQkJCSAgICAgICJhdCBkZXZubyAlMDRYLCBzdWJjaGFubmVsIHNldCAleFxuIiwKLQkJCSAgICAgIHNjaC0+c2NoaWIucG1jdy5kZXYsIHNjaC0+c2NoaWQuc3NpZCk7Ci0JCWVyciA9IC1FTk9ERVY7Ci0JCWdvdG8gb3V0OwotCX0KLQlpZiAoY2lvX2lzX2NvbnNvbGUoc2NoLT5zY2hpZCkpIHsKLQkJc2NoLT5vcG0gPSAweGZmOwotCQlzY2gtPmlzYyA9IDE7Ci0JfSBlbHNlIHsKLQkJc2NoLT5vcG0gPSBjaHBfZ2V0X3NjaF9vcG0oc2NoKTsKLQkJc2NoLT5pc2MgPSAzOwotCX0KLQlzY2gtPmxwbSA9IHNjaC0+c2NoaWIucG1jdy5wYW0gJiBzY2gtPm9wbTsKLQotCUNJT19NU0dfRVZFTlQoNiwgIkRldGVjdGVkIGRldmljZSAlMDR4IG9uIHN1YmNoYW5uZWwgMC4leC4lMDRYICIKLQkJICAgICAgIi0gUElNID0gJTAyWCwgUEFNID0gJTAyWCwgUE9NID0gJTAyWFxuIiwKLQkJICAgICAgc2NoLT5zY2hpYi5wbWN3LmRldiwgc2NoLT5zY2hpZC5zc2lkLAotCQkgICAgICBzY2gtPnNjaGlkLnNjaF9ubywgc2NoLT5zY2hpYi5wbWN3LnBpbSwKLQkJICAgICAgc2NoLT5zY2hpYi5wbWN3LnBhbSwgc2NoLT5zY2hpYi5wbWN3LnBvbSk7Ci0KLQkvKgotCSAqIFdlIG5vdyBoYXZlIHRvIGluaXRpYWxseSAuLi4KLQkgKiAgLi4uIGVuYWJsZSAiY29uY3VycmVudCBzZW5zZSIKLQkgKiAgLi4uIGVuYWJsZSAibXVsdGlwYXRoIG1vZGUiIGlmIG1vcmUgdGhhbiBvbmUKLQkgKgkgIENIUElEIGlzIGF2YWlsYWJsZS4gVGhpcyBpcyBkb25lIHJlZ2FyZGxlc3MKLQkgKgkgIHdoZXRoZXIgbXVsdGlwbGUgcGF0aHMgYXJlIGF2YWlsYWJsZSBmb3IgdXMuCi0JICovCi0Jc2NoLT5zY2hpYi5wbWN3LmNzZW5zZSA9IDE7CS8qIGNvbmN1cnJlbnQgc2Vuc2UgKi8KLQlzY2gtPnNjaGliLnBtY3cuZW5hID0gMDsKLQlpZiAoKHNjaC0+bHBtICYgKHNjaC0+bHBtIC0gMSkpICE9IDApCi0JCXNjaC0+c2NoaWIucG1jdy5tcCA9IDE7CS8qIG11bHRpcGF0aCBtb2RlICovCi0JLyogY2xlYW4gdXAgcG9zc2libGUgcmVzaWR1YWwgY21mIHN0dWZmICovCi0Jc2NoLT5zY2hpYi5wbWN3Lm1tZSA9IDA7Ci0Jc2NoLT5zY2hpYi5wbWN3Lm1iZmMgPSAwOwotCXNjaC0+c2NoaWIucG1jdy5tYmkgPSAwOwotCXNjaC0+c2NoaWIubWJhID0gMDsKKwlDSU9fTVNHX0VWRU5UKDQsICJTdWJjaGFubmVsIDAuJXguJTA0eCByZXBvcnRzIHN1YmNoYW5uZWwgdHlwZSAlMDRYXG4iLAorCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCBzY2gtPnN0KTsKIAlyZXR1cm4gMDsKIG91dDoKIAlpZiAoIWNpb19pc19jb25zb2xlKHNjaGlkKSkKQEAgLTY0Nyw3ICs2NDAsNyBAQAogCQkgKi8KIAkJaWYgKHRwaV9pbmZvLT5hZGFwdGVyX0lPID09IDEgJiYKIAkJICAgIHRwaV9pbmZvLT5pbnRfdHlwZSA9PSBJT19JTlRFUlJVUFRfVFlQRSkgewotCQkJZG9fYWRhcHRlcl9JTygpOworCQkJZG9fYWRhcHRlcl9JTyh0cGlfaW5mby0+aXNjKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAJCXNjaCA9IChzdHJ1Y3Qgc3ViY2hhbm5lbCAqKSh1bnNpZ25lZCBsb25nKXRwaV9pbmZvLT5pbnRwYXJtOwpAQCAtNzA2LDkgKzY5OSw5IEBACiAJaWYgKCFjb25zb2xlX3N1YmNoYW5uZWxfaW5fdXNlKQogCQlyZXR1cm47CiAKLQkvKiBkaXNhYmxlIGFsbCBidXQgaXNjIDEgKGNvbnNvbGUgZGV2aWNlKSAqLworCS8qIGRpc2FibGUgYWxsIGJ1dCB0aGUgY29uc29sZSBpc2MgKi8KIAlfX2N0bF9zdG9yZSAoc2F2ZV9jcjYsIDYsIDYpOwotCWNyNiA9IDB4NDAwMDAwMDA7CisJY3I2ID0gMVVMIDw8ICgzMSAtIENPTlNPTEVfSVNDKTsKIAlfX2N0bF9sb2FkIChjcjYsIDYsIDYpOwogCiAJZG8gewpAQCAtNzE2LDcgKzcwOSw3IEBACiAJCWlmICghY2lvX3RwaSgpKQogCQkJY3B1X3JlbGF4KCk7CiAJCXNwaW5fbG9jayhjb25zb2xlX3N1YmNoYW5uZWwubG9jayk7Ci0JfSB3aGlsZSAoY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnNjc3cuYWN0bCAhPSAwKTsKKwl9IHdoaWxlIChjb25zb2xlX3N1YmNoYW5uZWwuc2NoaWIuc2Nzdy5jbWQuYWN0bCAhPSAwKTsKIAkvKgogCSAqIHJlc3RvcmUgcHJldmlvdXMgaXNjIHZhbHVlCiAJICovCkBAIC03NjEsNyArNzU0LDYgQEAKIAkJLyogdW5saWtlIGluIDIuNCwgd2UgY2Fubm90IGF1dG9wcm9iZSBoZXJlLCBzaW5jZQogCQkgKiB0aGUgY2hhbm5lbCBzdWJzeXN0ZW0gaXMgbm90IGZ1bGx5IGluaXRpYWxpemVkLgogCQkgKiBXaXRoIHNvbWUgbHVjaywgdGhlIEhXQyBjb25zb2xlIGNhbiB0YWtlIG92ZXIgKi8KLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBObyBjY3cgY29uc29sZSBmb3VuZCFcbiIpOwogCQlyZXR1cm4gLTE7CiAJfQogCXJldHVybiBjb25zb2xlX2lycTsKQEAgLTc3OCw2ICs3NzAsNyBAQAogCXNjaF9ubyA9IGNpb19nZXRfY29uc29sZV9zY2hfbm8oKTsKIAlpZiAoc2NoX25vID09IC0xKSB7CiAJCWNvbnNvbGVfc3ViY2hhbm5lbF9pbl91c2UgPSAwOworCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IE5vIGNjdyBjb25zb2xlIGZvdW5kIVxuIik7CiAJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCX0KIAltZW1zZXQoJmNvbnNvbGVfc3ViY2hhbm5lbCwgMCwgc2l6ZW9mKHN0cnVjdCBzdWJjaGFubmVsKSk7CkBAIC03OTAsMTUgKzc4MywxNSBAQAogCX0KIAogCS8qCi0JICogZW5hYmxlIGNvbnNvbGUgSS9PLWludGVycnVwdCBzdWJjbGFzcyAxCisJICogZW5hYmxlIGNvbnNvbGUgSS9PLWludGVycnVwdCBzdWJjbGFzcwogCSAqLwotCWN0bF9zZXRfYml0KDYsIDMwKTsKLQljb25zb2xlX3N1YmNoYW5uZWwuaXNjID0gMTsKLQljb25zb2xlX3N1YmNoYW5uZWwuc2NoaWIucG1jdy5pc2MgPSAxOworCWlzY19yZWdpc3RlcihDT05TT0xFX0lTQyk7CisJY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnBtY3cuaXNjID0gQ09OU09MRV9JU0M7CiAJY29uc29sZV9zdWJjaGFubmVsLnNjaGliLnBtY3cuaW50cGFybSA9CiAJCSh1MzIpKGFkZHJfdCkmY29uc29sZV9zdWJjaGFubmVsOwogCXJldCA9IGNpb19tb2RpZnkoJmNvbnNvbGVfc3ViY2hhbm5lbCk7CiAJaWYgKHJldCkgeworCQlpc2NfdW5yZWdpc3RlcihDT05TT0xFX0lTQyk7CiAJCWNvbnNvbGVfc3ViY2hhbm5lbF9pbl91c2UgPSAwOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCX0KQEAgLTgxMCw3ICs4MDMsNyBAQAogewogCWNvbnNvbGVfc3ViY2hhbm5lbC5zY2hpYi5wbWN3LmludHBhcm0gPSAwOwogCWNpb19tb2RpZnkoJmNvbnNvbGVfc3ViY2hhbm5lbCk7Ci0JY3RsX2NsZWFyX2JpdCg2LCAyNCk7CisJaXNjX3VucmVnaXN0ZXIoQ09OU09MRV9JU0MpOwogCWNvbnNvbGVfc3ViY2hhbm5lbF9pbl91c2UgPSAwOwogfQogCkBAIC04NjQsNyArODU3LDcgQEAKIH0KIAogc3RhdGljIGludAotX19jbGVhcl9zdWJjaGFubmVsX2Vhc3koc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCitfX2NsZWFyX2lvX3N1YmNoYW5uZWxfZWFzeShzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCkKIHsKIAlpbnQgcmV0cnk7CiAKQEAgLTg4Myw2ICs4NzYsMTIgQEAKIAlyZXR1cm4gLUVCVVNZOwogfQogCitzdGF0aWMgdm9pZCBfX2NsZWFyX2Noc2Nfc3ViY2hhbm5lbF9lYXN5KHZvaWQpCit7CisJLyogSXQgc2VlbXMgd2UgY2FuIG9ubHkgd2FpdCBmb3IgYSBiaXQgaGVyZSA6LyAqLworCXVkZWxheV9yZXNldCgxMDApOworfQorCiBzdGF0aWMgaW50IHBnbV9jaGVja19vY2N1cmVkOwogCiBzdGF0aWMgdm9pZCBjaW9fcmVzZXRfcGdtX2NoZWNrX2hhbmRsZXIodm9pZCkKQEAgLTkyMSwxMSArOTIwLDIyIEBACiAJY2FzZSAtRU5PREVWOgogCQlicmVhazsKIAlkZWZhdWx0OiAvKiAtRUJVU1kgKi8KLQkJaWYgKF9fY2xlYXJfc3ViY2hhbm5lbF9lYXN5KHNjaGlkKSkKLQkJCWJyZWFrOyAvKiBnaXZlIHVwLi4uICovCisJCXN3aXRjaCAoc2NoaWIucG1jdy5zdCkgeworCQljYXNlIFNVQkNIQU5ORUxfVFlQRV9JTzoKKwkJCWlmIChfX2NsZWFyX2lvX3N1YmNoYW5uZWxfZWFzeShzY2hpZCkpCisJCQkJZ290byBvdXQ7IC8qIGdpdmUgdXAuLi4gKi8KKwkJCWJyZWFrOworCQljYXNlIFNVQkNIQU5ORUxfVFlQRV9DSFNDOgorCQkJX19jbGVhcl9jaHNjX3N1YmNoYW5uZWxfZWFzeSgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkvKiBObyBkZWZhdWx0IGNsZWFyIHN0cmF0ZWd5ICovCisJCQlicmVhazsKKwkJfQogCQlzdHNjaChzY2hpZCwgJnNjaGliKTsKIAkJX19kaXNhYmxlX3N1YmNoYW5uZWxfZWFzeShzY2hpZCwgJnNjaGliKTsKIAl9CitvdXQ6CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEwNjgsMyArMTA3OCw2MSBAQAogCWlwbGluZm8tPmlzX3FkaW8gPSBzY2hpYi5wbWN3LnFmOwogCXJldHVybiAwOwogfQorCisvKioKKyAqIGNpb190bV9zdGFydF9rZXkgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAc2NoOiBzdWJjaGFubmVsIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHN0YXJ0IGZ1bmN0aW9uCisgKiBAdGN3OiB0cmFuc3BvcnQtY29tbWFuZCB3b3JkIHRvIGJlIHN0YXJ0ZWQKKyAqIEBscG06IG1hc2sgb2YgcGF0aHMgdG8gdXNlCisgKiBAa2V5OiBzdG9yYWdlIGtleSB0byB1c2UgZm9yIHN0b3JhZ2UgYWNjZXNzCisgKgorICogU3RhcnQgdGhlIHRjdyBvbiB0aGUgZ2l2ZW4gc3ViY2hhbm5lbC4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IGNpb190bV9zdGFydF9rZXkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgc3RydWN0IHRjdyAqdGN3LCB1OCBscG0sIHU4IGtleSkKK3sKKwlpbnQgY2M7CisJdW5pb24gb3JiICpvcmIgPSAmdG9faW9fcHJpdmF0ZShzY2gpLT5vcmI7CisKKwltZW1zZXQob3JiLCAwLCBzaXplb2YodW5pb24gb3JiKSk7CisJb3JiLT50bS5pbnRwYXJtID0gKHUzMikgKGFkZHJfdCkgc2NoOworCW9yYi0+dG0ua2V5ID0ga2V5ID4+IDQ7CisJb3JiLT50bS5iID0gMTsKKwlvcmItPnRtLmxwbSA9IGxwbSA/IGxwbSA6IHNjaC0+bHBtOworCW9yYi0+dG0udGN3ID0gKHUzMikgKGFkZHJfdCkgdGN3OworCWNjID0gc3NjaChzY2gtPnNjaGlkLCBvcmIpOworCXN3aXRjaCAoY2MpIHsKKwljYXNlIDA6CisJCXJldHVybiAwOworCWNhc2UgMToKKwljYXNlIDI6CisJCXJldHVybiAtRUJVU1k7CisJZGVmYXVsdDoKKwkJcmV0dXJuIGNpb19zdGFydF9oYW5kbGVfbm90b3BlcihzY2gsIGxwbSk7CisJfQorfQorCisvKioKKyAqIGNpb190bV9pbnRyZyAtIHBlcmZvcm0gaW50ZXJyb2dhdGUgZnVuY3Rpb24KKyAqIEBzY2ggLSBzdWJjaGFubmVsIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIGludGVycm9nYXRlIGZ1bmN0aW9uCisgKgorICogSWYgdGhlIHNwZWNpZmllZCBzdWJjaGFubmVsIGlzIHJ1bm5pbmcgaW4gdHJhbnNwb3J0LW1vZGUsIHBlcmZvcm0gdGhlCisgKiBpbnRlcnJvZ2F0ZSBmdW5jdGlvbi4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8gb3RoZXJ3aWUuCisgKi8KK2ludCBjaW9fdG1faW50cmcoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3sKKwlpbnQgY2M7CisKKwlpZiAoIXRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiLnRtLmIpCisJCXJldHVybiAtRUlOVkFMOworCWNjID0geHNjaChzY2gtPnNjaGlkKTsKKwlzd2l0Y2ggKGNjKSB7CisJY2FzZSAwOgorCWNhc2UgMjoKKwkJcmV0dXJuIDA7CisJY2FzZSAxOgorCQlyZXR1cm4gLUVCVVNZOworCWRlZmF1bHQ6CisJCXJldHVybiAtRU5PREVWOworCX0KK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmggYi9kcml2ZXJzL3MzOTAvY2lvL2Npby5oCmluZGV4IDZlOTMzYWUuLjNiMjM2ZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY2lvLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jaW8uaApAQCAtMyw5ICszLDEyIEBACiAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9jaW8uaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisjaW5jbHVkZSA8YXNtL3NjaGlkLmg+CiAjaW5jbHVkZSAiY2hzYy5oIgotI2luY2x1ZGUgInNjaGlkLmgiCiAKIC8qCiAgKiBwYXRoIG1hbmFnZW1lbnQgY29udHJvbCB3b3JkCkBAIC0xMyw3ICsxNiw3IEBACiBzdHJ1Y3QgcG1jdyB7CiAJdTMyIGludHBhcm07CQkvKiBpbnRlcnJ1cHRpb24gcGFyYW1ldGVyICovCiAJdTMyIHFmCSA6IDE7CQkvKiBxZGlvIGZhY2lsaXR5ICovCi0JdTMyIHJlczAgOiAxOwkJLyogcmVzZXJ2ZWQgemVyb3MgKi8KKwl1MzIgdwkgOiAxOwogCXUzMiBpc2MgIDogMzsJCS8qIGludGVycnVwdGlvbiBzdWJsYXNzICovCiAJdTMyIHJlczUgOiAzOwkJLyogcmVzZXJ2ZWQgemVyb3MgKi8KIAl1MzIgZW5hICA6IDE7CQkvKiBlbmFibGVkICovCkBAIC00Nyw3ICs1MCw3IEBACiAgKi8KIHN0cnVjdCBzY2hpYiB7CiAJc3RydWN0IHBtY3cgcG1jdzsJIC8qIHBhdGggbWFuYWdlbWVudCBjb250cm9sIHdvcmQgKi8KLQlzdHJ1Y3Qgc2NzdyBzY3N3OwkgLyogc3ViY2hhbm5lbCBzdGF0dXMgd29yZCAqLworCXVuaW9uIHNjc3cgc2NzdzsJIC8qIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQgKi8KIAlfX3U2NCBtYmE7ICAgICAgICAgICAgICAgLyogbWVhc3VyZW1lbnQgYmxvY2sgYWRkcmVzcyAqLwogCV9fdTggbWRhWzRdOwkJIC8qIG1vZGVsIGRlcGVuZGVudCBhcmVhICovCiB9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsYWxpZ25lZCg0KSkpOwpAQCAtOTksOCArMTAyLDExIEBACiBleHRlcm4gaW50IGNpb19nZXRfb3B0aW9ucyAoc3RydWN0IHN1YmNoYW5uZWwgKik7CiBleHRlcm4gaW50IGNpb19tb2RpZnkgKHN0cnVjdCBzdWJjaGFubmVsICopOwogCitpbnQgY2lvX3RtX3N0YXJ0X2tleShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoLCBzdHJ1Y3QgdGN3ICp0Y3csIHU4IGxwbSwgdTgga2V5KTsKK2ludCBjaW9fdG1faW50cmcoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7CisKIGludCBjaW9fY3JlYXRlX3NjaF9sb2NrKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkb19hZGFwdGVyX0lPKHZvaWQpOwordm9pZCBkb19hZGFwdGVyX0lPKHU4IGlzYyk7CiB2b2lkIGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqKTsKIAogLyogVXNlIHdpdGggY2FyZS4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vY21mLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2NtZi5jCmluZGV4IDI4MDhiNjguLmE5MGIyOGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vY21mLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9jbWYuYwpAQCAtMzQxLDEyICszNDEsMTIgQEAKIAlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAotCWlmIChzY2gtPnNjaGliLnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSB7CisJaWYgKHNjc3dfZmN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSB7CiAJCS8qIERvbid0IGNvcHkgaWYgYSBzdGFydCBmdW5jdGlvbiBpcyBpbiBwcm9ncmVzcy4gKi8KLQkJaWYgKCghKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpICYmCi0JCSAgICAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJgorCQlpZiAoKCEoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpICYmCisJCSAgICAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYKIAkJICAgICAoU0NTV19BQ1RMX0RFVkFDVCB8IFNDU1dfQUNUTF9TQ0hBQ1QpKSAmJgotCQkgICAgKCEoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSkpCisJCSAgICAoIShzY3N3X3N0Y3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSkpCiAJCQlyZXR1cm4gLUVCVVNZOwogCX0KIAljbWJfZGF0YSA9IGNkZXYtPnByaXZhdGUtPmNtYjsKQEAgLTYxMiw5ICs2MTIsNiBAQAogCQkJZnJlZV9wYWdlcygodW5zaWduZWQgbG9uZyltZW0sIGdldF9vcmRlcihzaXplKSk7CiAJCX0gZWxzZSBpZiAoIW1lbSkgewogCQkJLyogbm8gbHVjayAqLwotCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBmYWlsZWQgdG8gYWxsb2NhdGUgYXJlYSAiCi0JCQkgICAgICAgImZvciBtZWFzdXJpbmcgJWQgc3ViY2hhbm5lbHNcbiIsCi0JCQkgICAgICAgY21iX2FyZWEubnVtX2NoYW5uZWxzKTsKIAkJCXJldCA9IC1FTk9NRU07CiAJCQlnb3RvIG91dDsKIAkJfSBlbHNlIHsKQEAgLTEyMzAsMTMgKzEyMjcsOSBAQAogCXN3aXRjaCAodmFsKSB7CiAJY2FzZSAwOgogCQlyZXQgPSBkaXNhYmxlX2NtZihjZGV2KTsKLQkJaWYgKHJldCkKLQkJCWRldl9pbmZvKCZjZGV2LT5kZXYsICJkaXNhYmxlX2NtZiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKIAkJYnJlYWs7CiAJY2FzZSAxOgogCQlyZXQgPSBlbmFibGVfY21mKGNkZXYpOwotCQlpZiAocmV0ICYmIHJldCAhPSAtRUJVU1kpCi0JCQlkZXZfaW5mbygmY2Rldi0+ZGV2LCAiZW5hYmxlX2NtZiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKIAkJYnJlYWs7CiAJfQogCkBAIC0xMzQ0LDggKzEzMzcsNyBAQAogCSAqIHRvIGJhc2ljIG1vZGUuCiAJICovCiAJaWYgKGZvcm1hdCA9PSBDTUZfQVVUT0RFVEVDVCkgewotCQlpZiAoIWNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgfHwKLQkJICAgICFjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZXh0X21iKSB7CisJCWlmICghY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmV4dF9tYikgewogCQkJZm9ybWF0ID0gQ01GX0JBU0lDOwogCQl9IGVsc2UgewogCQkJZm9ybWF0ID0gQ01GX0VYVEVOREVEOwpAQCAtMTM2NSw4ICsxMzU3LDYgQEAKIAkJY21ib3BzID0gJmNtYm9wc19leHRlbmRlZDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJcHJpbnRrKEtFUk5fRVJSICJjaW86IEludmFsaWQgZm9ybWF0ICVkIGZvciBjaGFubmVsICIKLQkJCSJtZWFzdXJlbWVudCBmYWNpbGl0eVxuIiwgZm9ybWF0KTsKIAkJcmV0dXJuIDE7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5jIGIvZHJpdmVycy9zMzkwL2Npby9jc3MuYwppbmRleCBhNzY5NTY1Li40NmMwMjFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vY3NzLmMKQEAgLTIsOCArMiw3IEBACiAgKiAgZHJpdmVycy9zMzkwL2Npby9jc3MuYwogICogIGRyaXZlciBmb3IgY2hhbm5lbCBzdWJzeXN0ZW0KICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMiwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCiAgKgkJIENvcm5lbGlhIEh1Y2sgKGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbSkKICAqLwpAQCAtMTQsNyArMTMsOSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KIAorI2luY2x1ZGUgIi4uL3MzOTBtYWNoLmgiCiAjaW5jbHVkZSAiY3NzLmgiCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0zMCw4ICszMSw2IEBACiAKIHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqY2hhbm5lbF9zdWJzeXN0ZW1zW19fTUFYX0NTU0lEICsgMV07CiAKLWludCBjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsID0gMDsKLQogaW50CiBmb3JfZWFjaF9zdWJjaGFubmVsKGludCgqZm4pKHN0cnVjdCBzdWJjaGFubmVsX2lkLCB2b2lkICopLCB2b2lkICpkYXRhKQogewpAQCAtMTIxLDI1ICsxMjAsNiBAQAogCQlrZnJlZShzY2gpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCX0KLQotCWlmIChzY2gtPnN0ICE9IFNVQkNIQU5ORUxfVFlQRV9JTykgewotCQkvKiBGb3Igbm93IHdlIGlnbm9yZSBhbGwgbm9uLWlvIHN1YmNoYW5uZWxzLiAqLwotCQlrZnJlZShzY2gpOwotCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKLQl9Ci0KLQkvKiAKLQkgKiBTZXQgaW50cGFybSB0byBzdWJjaGFubmVsIGFkZHJlc3MuCi0JICogVGhpcyBpcyBmaW5lIGV2ZW4gb24gNjRiaXQgc2luY2UgdGhlIHN1YmNoYW5uZWwgaXMgYWx3YXlzIGxvY2F0ZWQKLQkgKiB1bmRlciAyRy4KLQkgKi8KLQlzY2gtPnNjaGliLnBtY3cuaW50cGFybSA9ICh1MzIpKGFkZHJfdClzY2g7Ci0JcmV0ID0gY2lvX21vZGlmeShzY2gpOwotCWlmIChyZXQpIHsKLQkJa2ZyZWUoc2NoLT5sb2NrKTsKLQkJa2ZyZWUoc2NoKTsKLQkJcmV0dXJuIEVSUl9QVFIocmV0KTsKLQl9CiAJcmV0dXJuIHNjaDsKIH0KIApAQCAtMTc3LDEyICsxNTcsMTggQEAKIAlyZXR1cm4gcmV0OwogfQogCisvKioKKyAqIGNzc19zY2hfZGV2aWNlX3VucmVnaXN0ZXIgLSB1bnJlZ2lzdGVyIGEgc3ViY2hhbm5lbAorICogQHNjaDogc3ViY2hhbm5lbCB0byBiZSB1bnJlZ2lzdGVyZWQKKyAqLwogdm9pZCBjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJbXV0ZXhfbG9jaygmc2NoLT5yZWdfbXV0ZXgpOwotCWRldmljZV91bnJlZ2lzdGVyKCZzY2gtPmRldik7CisJaWYgKGRldmljZV9pc19yZWdpc3RlcmVkKCZzY2gtPmRldikpCisJCWRldmljZV91bnJlZ2lzdGVyKCZzY2gtPmRldik7CiAJbXV0ZXhfdW5sb2NrKCZzY2gtPnJlZ19tdXRleCk7CiB9CitFWFBPUlRfU1lNQk9MX0dQTChjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyKTsKIAogc3RhdGljIHZvaWQgc3NkX2Zyb21fcG1jdyhzdHJ1Y3QgY2hzY19zc2RfaW5mbyAqc3NkLCBzdHJ1Y3QgcG1jdyAqcG1jdykKIHsKQEAgLTIyOSw2ICsyMTUsNDEgQEAKIAl9CiB9CiAKK3N0YXRpYyBzc2l6ZV90IHR5cGVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiJTAxeFxuIiwgc2NoLT5zdCk7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUih0eXBlLCAwNDQ0LCB0eXBlX3Nob3csIE5VTEwpOworCitzdGF0aWMgc3NpemVfdCBtb2RhbGlhc19zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJCQkgICAgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChkZXYpOworCisJcmV0dXJuIHNwcmludGYoYnVmLCAiY3NzOnQlMDFYXG4iLCBzY2gtPnN0KTsKK30KKworc3RhdGljIERFVklDRV9BVFRSKG1vZGFsaWFzLCAwNDQ0LCBtb2RhbGlhc19zaG93LCBOVUxMKTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnN1YmNoX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX3R5cGUuYXR0ciwKKwkmZGV2X2F0dHJfbW9kYWxpYXMuYXR0ciwKKwlOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgc3ViY2hfYXR0cl9ncm91cCA9IHsKKwkuYXR0cnMgPSBzdWJjaF9hdHRycywKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwICpkZWZhdWx0X3N1YmNoX2F0dHJfZ3JvdXBzW10gPSB7CisJJnN1YmNoX2F0dHJfZ3JvdXAsCisJTlVMTCwKK307CisKIHN0YXRpYyBpbnQgY3NzX3JlZ2lzdGVyX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKIHsKIAlpbnQgcmV0OwpAQCAtMjM3LDE2ICsyNTgsMTcgQEAKIAlzY2gtPmRldi5wYXJlbnQgPSAmY2hhbm5lbF9zdWJzeXN0ZW1zWzBdLT5kZXZpY2U7CiAJc2NoLT5kZXYuYnVzID0gJmNzc19idXNfdHlwZTsKIAlzY2gtPmRldi5yZWxlYXNlID0gJmNzc19zdWJjaGFubmVsX3JlbGVhc2U7Ci0Jc2NoLT5kZXYuZ3JvdXBzID0gc3ViY2hfYXR0cl9ncm91cHM7CisJc2NoLT5kZXYuZ3JvdXBzID0gZGVmYXVsdF9zdWJjaF9hdHRyX2dyb3VwczsKIAkvKgogCSAqIFdlIGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUgdWV2ZW50cyBmb3IgSS9PIHN1YmNoYW5uZWxzIHRoYXQgZG9uJ3QKIAkgKiBoYXZlIGEgd29ya2luZyBjY3cgZGV2aWNlIGJlaGluZCB0aGVtIHNpbmNlIHRoZXkgd2lsbCBiZQogCSAqIHVucmVnaXN0ZXJlZCBiZWZvcmUgdGhleSBjYW4gYmUgdXNlZCBhbnl3YXksIHNvIHdlIGRlbGF5IHRoZSBhZGQKIAkgKiB1ZXZlbnQgdW50aWwgYWZ0ZXIgZGV2aWNlIHJlY29nbml0aW9uIHdhcyBzdWNjZXNzZnVsLgorCSAqIE5vdGUgdGhhdCB3ZSBzdXBwcmVzcyB0aGUgdWV2ZW50IGZvciBhbGwgc3ViY2hhbm5lbCB0eXBlczsKKwkgKiB0aGUgc3ViY2hhbm5lbCBkcml2ZXIgY2FuIGRlY2lkZSBpdHNlbGYgd2hlbiBpdCB3YW50cyB0byBpbmZvcm0KKwkgKiB1c2Vyc3BhY2Ugb2YgaXRzIGV4aXN0ZW5jZS4KIAkgKi8KLQlpZiAoIWNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpKQotCQkvKiBDb25zb2xlIGlzIHNwZWNpYWwsIG5vIG5lZWQgdG8gc3VwcHJlc3MuICovCi0JCXNjaC0+ZGV2LnVldmVudF9zdXBwcmVzcyA9IDE7CisJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMTsKIAljc3NfdXBkYXRlX3NzZF9pbmZvKHNjaCk7CiAJLyogbWFrZSBpdCBrbm93biB0byB0aGUgc3lzdGVtICovCiAJcmV0ID0gY3NzX3NjaF9kZXZpY2VfcmVnaXN0ZXIoc2NoKTsKQEAgLTI1NSwxMCArMjc3LDE5IEBACiAJCQkgICAgICBzY2gtPnNjaGlkLnNzaWQsIHNjaC0+c2NoaWQuc2NoX25vLCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KKwlpZiAoIXNjaC0+ZHJpdmVyKSB7CisJCS8qCisJCSAqIE5vIGRyaXZlciBtYXRjaGVkLiBHZW5lcmF0ZSB0aGUgdWV2ZW50IG5vdyBzbyB0aGF0CisJCSAqIGEgZml0dGluZyBkcml2ZXIgbW9kdWxlIG1heSBiZSBsb2FkZWQgYmFzZWQgb24gdGhlCisJCSAqIG1vZGFsaWFzLgorCQkgKi8KKwkJc2NoLT5kZXYudWV2ZW50X3N1cHByZXNzID0gMDsKKwkJa29iamVjdF91ZXZlbnQoJnNjaC0+ZGV2LmtvYmosIEtPQkpfQUREKTsKKwl9CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBjc3NfcHJvYmVfZGV2aWNlKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkKQoraW50IGNzc19wcm9iZV9kZXZpY2Uoc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQpCiB7CiAJaW50IHJldDsKIAlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoOwpAQCAtMzAxLDExNiArMzMyLDEyIEBACiB7CiAJaWYgKChzY2hpYi0+cG1jdy5zdCA9PSBTVUJDSEFOTkVMX1RZUEVfSU8pICYmICFzY2hpYi0+cG1jdy5kbnYpCiAJCXJldHVybiAwOworCWlmICgoc2NoaWItPnBtY3cuc3QgPT0gU1VCQ0hBTk5FTF9UWVBFX01TRykgJiYgIXNjaGliLT5wbWN3LncpCisJCXJldHVybiAwOwogCXJldHVybiAxOwogfQogRVhQT1JUX1NZTUJPTF9HUEwoY3NzX3NjaF9pc192YWxpZCk7CiAKLXN0YXRpYyBpbnQgY3NzX2dldF9zdWJjaGFubmVsX3N0YXR1cyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBzY2hpYiBzY2hpYjsKLQotCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoaWIpKQotCQlyZXR1cm4gQ0lPX0dPTkU7Ci0JaWYgKCFjc3Nfc2NoX2lzX3ZhbGlkKCZzY2hpYikpCi0JCXJldHVybiBDSU9fR09ORTsKLQlpZiAoc2NoLT5zY2hpYi5wbWN3LmRudiAmJiAoc2NoaWIucG1jdy5kZXYgIT0gc2NoLT5zY2hpYi5wbWN3LmRldikpCi0JCXJldHVybiBDSU9fUkVWQUxJREFURTsKLQlpZiAoIXNjaC0+bHBtKQotCQlyZXR1cm4gQ0lPX05PX1BBVEg7Ci0JcmV0dXJuIENJT19PUEVSOwotfQotCi1zdGF0aWMgaW50IGNzc19ldmFsdWF0ZV9rbm93bl9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIGludCBzbG93KQotewotCWludCBldmVudCwgcmV0LCBkaXNjOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JZW51bSB7IE5PTkUsIFVOUkVHSVNURVIsIFVOUkVHSVNURVJfUFJPQkUsIFJFUFJPQkUgfSBhY3Rpb247Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQlkaXNjID0gZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChzY2gpOwotCWlmIChkaXNjICYmIHNsb3cpIHsKLQkJLyogRGlzY29ubmVjdGVkIGRldmljZXMgYXJlIGV2YWx1YXRlZCBkaXJlY3RseSBvbmx5LiovCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7Ci0JCXJldHVybiAwOwotCX0KLQkvKiBObyBpbnRlcnJ1cHQgYWZ0ZXIgbWFjaGluZSBjaGVjayAtIGtpbGwgcGVuZGluZyB0aW1lcnMuICovCi0JZGV2aWNlX2tpbGxfcGVuZGluZ190aW1lcihzY2gpOwotCWlmICghZGlzYyAmJiAhc2xvdykgewotCQkvKiBOb24tZGlzY29ubmVjdGVkIGRldmljZXMgYXJlIGV2YWx1YXRlZCBvbiB0aGUgc2xvdyBwYXRoLiAqLwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQlyZXR1cm4gLUVBR0FJTjsKLQl9Ci0JZXZlbnQgPSBjc3NfZ2V0X3N1YmNoYW5uZWxfc3RhdHVzKHNjaCk7Ci0JQ0lPX01TR19FVkVOVCg0LCAiRXZhbHVhdGluZyBzY2hpZCAwLiV4LiUwNHgsIGV2ZW50ICVkLCAlcywgJXMgcGF0aC5cbiIsCi0JCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIGV2ZW50LAotCQkgICAgICBkaXNjID8gImRpc2Nvbm5lY3RlZCIgOiAibm9ybWFsIiwKLQkJICAgICAgc2xvdyA/ICJzbG93IiA6ICJmYXN0Iik7Ci0JLyogQW5hbHl6ZSBzdWJjaGFubmVsIHN0YXR1cy4gKi8KLQlhY3Rpb24gPSBOT05FOwotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIENJT19OT19QQVRIOgotCQlpZiAoZGlzYykgewotCQkJLyogQ2hlY2sgaWYgcGF0aHMgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlLiAqLwotCQkJYWN0aW9uID0gUkVQUk9CRTsKLQkJCWJyZWFrOwotCQl9Ci0JCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgQ0lPX0dPTkU6Ci0JCS8qIFByZXZlbnQgdW53YW50ZWQgZWZmZWN0cyB3aGVuIG9wZW5pbmcgbG9jay4gKi8KLQkJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOwotCQlkZXZpY2Vfc2V0X2Rpc2Nvbm5lY3RlZChzY2gpOwotCQkvKiBBc2sgZHJpdmVyIHdoYXQgdG8gZG8gd2l0aCBkZXZpY2UuICovCi0JCWFjdGlvbiA9IFVOUkVHSVNURVI7Ci0JCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+bm90aWZ5KSB7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQkJcmV0ID0gc2NoLT5kcml2ZXItPm5vdGlmeShzY2gsIGV2ZW50KTsKLQkJCXNwaW5fbG9ja19pcnFzYXZlKHNjaC0+bG9jaywgZmxhZ3MpOwotCQkJaWYgKHJldCkKLQkJCQlhY3Rpb24gPSBOT05FOwotCQl9Ci0JCWJyZWFrOwotCWNhc2UgQ0lPX1JFVkFMSURBVEU6Ci0JCS8qIERldmljZSB3aWxsIGJlIHJlbW92ZWQsIHNvIG5vIG5vdGlmeSBuZWNlc3NhcnkuICovCi0JCWlmIChkaXNjKQotCQkJLyogUmVwcm9iZSBiZWNhdXNlIGltbWVkaWF0ZSB1bnJlZ2lzdGVyIG1pZ2h0IGJsb2NrLiAqLwotCQkJYWN0aW9uID0gUkVQUk9CRTsKLQkJZWxzZQotCQkJYWN0aW9uID0gVU5SRUdJU1RFUl9QUk9CRTsKLQkJYnJlYWs7Ci0JY2FzZSBDSU9fT1BFUjoKLQkJaWYgKGRpc2MpCi0JCQkvKiBHZXQgZGV2aWNlIG9wZXJhdGlvbmFsIGFnYWluLiAqLwotCQkJYWN0aW9uID0gUkVQUk9CRTsKLQkJYnJlYWs7Ci0JfQotCS8qIFBlcmZvcm0gYWN0aW9uLiAqLwotCXJldCA9IDA7Ci0Jc3dpdGNoIChhY3Rpb24pIHsKLQljYXNlIFVOUkVHSVNURVI6Ci0JY2FzZSBVTlJFR0lTVEVSX1BST0JFOgotCQkvKiBVbnJlZ2lzdGVyIGRldmljZSAod2lsbCB1c2Ugc3ViY2hhbm5lbCBsb2NrKS4gKi8KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkJY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzY2gpOwotCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKLQotCQkvKiBSZXNldCBpbnRwYXJtIHRvIHplcm9lcy4gKi8KLQkJc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAwOwotCQljaW9fbW9kaWZ5KHNjaCk7Ci0JCWJyZWFrOwotCWNhc2UgUkVQUk9CRToKLQkJZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzY2gpOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlicmVhazsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKLQkvKiBQcm9iZSBpZiBuZWNlc3NhcnkuICovCi0JaWYgKGFjdGlvbiA9PSBVTlJFR0lTVEVSX1BST0JFKQotCQlyZXQgPSBjc3NfcHJvYmVfZGV2aWNlKHNjaC0+c2NoaWQpOwotCi0JcmV0dXJuIHJldDsKLX0KLQogc3RhdGljIGludCBjc3NfZXZhbHVhdGVfbmV3X3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIGludCBzbG93KQogewogCXN0cnVjdCBzY2hpYiBzY2hpYjsKQEAgLTQyOSw2ICszNTYsMjEgQEAKIAlyZXR1cm4gY3NzX3Byb2JlX2RldmljZShzY2hpZCk7CiB9CiAKK3N0YXRpYyBpbnQgY3NzX2V2YWx1YXRlX2tub3duX3N1YmNoYW5uZWwoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IHNsb3cpCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoc2NoLT5kcml2ZXIpIHsKKwkJaWYgKHNjaC0+ZHJpdmVyLT5zY2hfZXZlbnQpCisJCQlyZXQgPSBzY2gtPmRyaXZlci0+c2NoX2V2ZW50KHNjaCwgc2xvdyk7CisJCWVsc2UKKwkJCWRldl9kYmcoJnNjaC0+ZGV2LAorCQkJCSJHb3Qgc3ViY2hhbm5lbCBtYWNoaW5lIGNoZWNrIGJ1dCAiCisJCQkJIm5vIHNjaF9ldmVudCBoYW5kbGVyIHByb3ZpZGVkLlxuIik7CisJfQorCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyB2b2lkIGNzc19ldmFsdWF0ZV9zdWJjaGFubmVsKHN0cnVjdCBzdWJjaGFubmVsX2lkIHNjaGlkLCBpbnQgc2xvdykKIHsKIAlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoOwpAQCAtNTk2LDE4ICs1MzgsMjkgQEAKIC8qCiAgKiBDYWxsZWQgZnJvbSB0aGUgbWFjaGluZSBjaGVjayBoYW5kbGVyIGZvciBzdWJjaGFubmVsIHJlcG9ydCB3b3Jkcy4KICAqLwotdm9pZCBjc3NfcHJvY2Vzc19jcncoaW50IHJzaWQxLCBpbnQgcnNpZDIpCitzdGF0aWMgdm9pZCBjc3NfcHJvY2Vzc19jcncoc3RydWN0IGNydyAqY3J3MCwgc3RydWN0IGNydyAqY3J3MSwgaW50IG92ZXJmbG93KQogewogCXN0cnVjdCBzdWJjaGFubmVsX2lkIG1jaGtfc2NoaWQ7CiAKLQlDSU9fQ1JXX0VWRU5UKDIsICJzb3VyY2UgaXMgc3ViY2hhbm5lbCAlMDRYLCBzdWJzeXN0ZW0gaWQgJXhcbiIsCi0JCSAgICAgIHJzaWQxLCByc2lkMik7CisJaWYgKG92ZXJmbG93KSB7CisJCWNzc19zY2hlZHVsZV9ldmFsX2FsbCgpOworCQlyZXR1cm47CisJfQorCUNJT19DUldfRVZFTlQoMiwgIkNSVzAgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCSAgICAgICJjaG49JWQsIHJzYz0lWCwgYW5jPSVkLCBlcmM9JVgsIHJzaWQ9JVhcbiIsCisJCSAgICAgIGNydzAtPnNsY3QsIGNydzAtPm9mbHcsIGNydzAtPmNobiwgY3J3MC0+cnNjLCBjcncwLT5hbmMsCisJCSAgICAgIGNydzAtPmVyYywgY3J3MC0+cnNpZCk7CisJaWYgKGNydzEpCisJCUNJT19DUldfRVZFTlQoMiwgIkNSVzEgcmVwb3J0cyBzbGN0PSVkLCBvZmx3PSVkLCAiCisJCQkgICAgICAiY2huPSVkLCByc2M9JVgsIGFuYz0lZCwgZXJjPSVYLCByc2lkPSVYXG4iLAorCQkJICAgICAgY3J3MS0+c2xjdCwgY3J3MS0+b2ZsdywgY3J3MS0+Y2huLCBjcncxLT5yc2MsCisJCQkgICAgICBjcncxLT5hbmMsIGNydzEtPmVyYywgY3J3MS0+cnNpZCk7CiAJaW5pdF9zdWJjaGFubmVsX2lkKCZtY2hrX3NjaGlkKTsKLQltY2hrX3NjaGlkLnNjaF9ubyA9IHJzaWQxOwotCWlmIChyc2lkMiAhPSAwKQotCQltY2hrX3NjaGlkLnNzaWQgPSAocnNpZDIgPj4gOCkgJiAzOworCW1jaGtfc2NoaWQuc2NoX25vID0gY3J3MC0+cnNpZDsKKwlpZiAoY3J3MSkKKwkJbWNoa19zY2hpZC5zc2lkID0gKGNydzEtPnJzaWQgPj4gOCkgJiAzOwogCi0JLyogCisJLyoKIAkgKiBTaW5jZSB3ZSBhcmUgYWx3YXlzIHByZXNlbnRlZCB3aXRoIElQSSBpbiB0aGUgQ1JXLCB3ZSBoYXZlIHRvCiAJICogdXNlIHN0c2NoKCkgdG8gZmluZCBvdXQgaWYgdGhlIHN1YmNoYW5uZWwgaW4gcXVlc3Rpb24gaGFzIGNvbWUKIAkgKiBvciBnb25lLgpAQCAtNjU4LDcgKzYxMSw3IEBACiBzdGF0aWMgdm9pZCBfX2luaXQKIGNzc19nZW5lcmF0ZV9wZ2lkKHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqY3NzLCB1MzIgdG9kX2hpZ2gpCiB7Ci0JaWYgKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgJiYgY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLm1jc3MpIHsKKwlpZiAoY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLm1jc3MpIHsKIAkJY3NzLT5nbG9iYWxfcGdpZC5wZ2lkX2hpZ2guZXh0X2Nzc2lkLnZlcnNpb24gPSAweDgwOwogCQljc3MtPmdsb2JhbF9wZ2lkLnBnaWRfaGlnaC5leHRfY3NzaWQuY3NzaWQgPSBjc3MtPmNzc2lkOwogCX0gZWxzZSB7CkBAIC03OTUsOCArNzQ4LDYgQEAKIAlyZXQgPSBjaHNjX2RldGVybWluZV9jc3NfY2hhcmFjdGVyaXN0aWNzKCk7CiAJaWYgKHJldCA9PSAtRU5PTUVNKQogCQlnb3RvIG91dDsgLyogTm8gbmVlZCB0byBjb250aW51ZS4gKi8KLQlpZiAocmV0ID09IDApCi0JCWNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwgPSAxOwogCiAJcmV0ID0gY2hzY19hbGxvY19zZWlfYXJlYSgpOwogCWlmIChyZXQpCkBAIC04MDYsNiArNzU3LDEwIEBACiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKKwlyZXQgPSBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKENSV19SU0NfU0NILCBjc3NfcHJvY2Vzc19jcncpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCiAJaWYgKChyZXQgPSBidXNfcmVnaXN0ZXIoJmNzc19idXNfdHlwZSkpKQogCQlnb3RvIG91dDsKIApAQCAtODM2LDggKzc5MSw3IEBACiAJCXJldCA9IGRldmljZV9yZWdpc3RlcigmY3NzLT5kZXZpY2UpOwogCQlpZiAocmV0KQogCQkJZ290byBvdXRfZnJlZV9hbGw7Ci0JCWlmIChjc3NfY2hhcmFjdGVyaXN0aWNzX2F2YWlsICYmCi0JCSAgICBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkgeworCQlpZiAoY3NzX2Noc2NfY2hhcmFjdGVyaXN0aWNzLnNlY20pIHsKIAkJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZSgmY3NzLT5kZXZpY2UsCiAJCQkJCQkgJmRldl9hdHRyX2NtX2VuYWJsZSk7CiAJCQlpZiAocmV0KQpAQCAtODUyLDcgKzgwNiw4IEBACiAJCWdvdG8gb3V0X3BzZXVkbzsKIAljc3NfaW5pdF9kb25lID0gMTsKIAotCWN0bF9zZXRfYml0KDYsIDI4KTsKKwkvKiBFbmFibGUgZGVmYXVsdCBpc2MgZm9yIEkvTyBzdWJjaGFubmVscy4gKi8KKwlpc2NfcmVnaXN0ZXIoSU9fU0NIX0lTQyk7CiAKIAlmb3JfZWFjaF9zdWJjaGFubmVsKF9faW5pdF9jaGFubmVsX3N1YnN5c3RlbSwgTlVMTCk7CiAJcmV0dXJuIDA7CkBAIC04NzUsNyArODMwLDcgQEAKIAkJaS0tOwogCQljc3MgPSBjaGFubmVsX3N1YnN5c3RlbXNbaV07CiAJCWRldmljZV91bnJlZ2lzdGVyKCZjc3MtPnBzZXVkb19zdWJjaGFubmVsLT5kZXYpOwotCQlpZiAoY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCAmJiBjc3NfY2hzY19jaGFyYWN0ZXJpc3RpY3Muc2VjbSkKKwkJaWYgKGNzc19jaHNjX2NoYXJhY3RlcmlzdGljcy5zZWNtKQogCQkJZGV2aWNlX3JlbW92ZV9maWxlKCZjc3MtPmRldmljZSwKIAkJCQkJICAgJmRldl9hdHRyX2NtX2VuYWJsZSk7CiAJCWRldmljZV91bnJlZ2lzdGVyKCZjc3MtPmRldmljZSk7CkBAIC04ODMsNiArODM4LDcgQEAKIG91dF9idXM6CiAJYnVzX3VucmVnaXN0ZXIoJmNzc19idXNfdHlwZSk7CiBvdXQ6CisJczM5MF91bnJlZ2lzdGVyX2Nyd19oYW5kbGVyKENSV19SU0NfQ1NTKTsKIAljaHNjX2ZyZWVfc2VpX2FyZWEoKTsKIAlrZnJlZShzbG93X3N1YmNoYW5uZWxfc2V0KTsKIAlwcmludGsoS0VSTl9XQVJOSU5HImNpbzogZmFpbGVkIHRvIGluaXRpYWxpemUgY3NzIGRyaXZlciAoJWQpIVxuIiwKQEAgLTg5NSwxOSArODUxLDE2IEBACiAJcmV0dXJuIHNjaCA9PSB0b19jc3Moc2NoLT5kZXYucGFyZW50KS0+cHNldWRvX3N1YmNoYW5uZWw7CiB9CiAKLS8qCi0gKiBmaW5kIGEgZHJpdmVyIGZvciBhIHN1YmNoYW5uZWwuIFRoZXkgaWRlbnRpZnkgYnkgdGhlIHN1YmNoYW5uZWwKLSAqIHR5cGUgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgdGhlIGNvbnNvbGUgc3ViY2hhbm5lbCBkcml2ZXIgaGFzIGl0cyBvd24KLSAqIHN1YmNoYW5uZWwgdHlwZSBhbHRob3VnaCB0aGUgZGV2aWNlIGlzIGFuIGkvbyBzdWJjaGFubmVsCi0gKi8KLXN0YXRpYyBpbnQKLWNzc19idXNfbWF0Y2ggKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZV9kcml2ZXIgKmRydikKK3N0YXRpYyBpbnQgY3NzX2J1c19tYXRjaChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfZHJpdmVyICpkcnYpCiB7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaCA9IHRvX3N1YmNoYW5uZWwoZGV2KTsKIAlzdHJ1Y3QgY3NzX2RyaXZlciAqZHJpdmVyID0gdG9fY3NzZHJpdmVyKGRydik7CisJc3RydWN0IGNzc19kZXZpY2VfaWQgKmlkOwogCi0JaWYgKHNjaC0+c3QgPT0gZHJpdmVyLT5zdWJjaGFubmVsX3R5cGUpCi0JCXJldHVybiAxOworCWZvciAoaWQgPSBkcml2ZXItPnN1YmNoYW5uZWxfdHlwZTsgaWQtPm1hdGNoX2ZsYWdzOyBpZCsrKSB7CisJCWlmIChzY2gtPnN0ID09IGlkLT50eXBlKQorCQkJcmV0dXJuIDE7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC05NDUsMTIgKzg5OCwyNSBAQAogCQlzY2gtPmRyaXZlci0+c2h1dGRvd24oc2NoKTsKIH0KIAorc3RhdGljIGludCBjc3NfdWV2ZW50KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGtvYmpfdWV2ZW50X2VudiAqZW52KQoreworCXN0cnVjdCBzdWJjaGFubmVsICpzY2ggPSB0b19zdWJjaGFubmVsKGRldik7CisJaW50IHJldDsKKworCXJldCA9IGFkZF91ZXZlbnRfdmFyKGVudiwgIlNUPSUwMVgiLCBzY2gtPnN0KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCXJldCA9IGFkZF91ZXZlbnRfdmFyKGVudiwgIk1PREFMSUFTPWNzczp0JTAxWCIsIHNjaC0+c3QpOworCXJldHVybiByZXQ7Cit9CisKIHN0cnVjdCBidXNfdHlwZSBjc3NfYnVzX3R5cGUgPSB7CiAJLm5hbWUgICAgID0gImNzcyIsCiAJLm1hdGNoICAgID0gY3NzX2J1c19tYXRjaCwKIAkucHJvYmUgICAgPSBjc3NfcHJvYmUsCiAJLnJlbW92ZSAgID0gY3NzX3JlbW92ZSwKIAkuc2h1dGRvd24gPSBjc3Nfc2h1dGRvd24sCisJLnVldmVudCAgID0gY3NzX3VldmVudCwKIH07CiAKIC8qKgpAQCAtOTg1LDQgKzk1MSwzIEBACiAKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIEVYUE9SVF9TWU1CT0woY3NzX2J1c190eXBlKTsKLUVYUE9SVF9TWU1CT0xfR1BMKGNzc19jaGFyYWN0ZXJpc3RpY3NfYXZhaWwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9jc3MuaCBiL2RyaXZlcnMvczM5MC9jaW8vY3NzLmgKaW5kZXggZTE5MTM1MS4uNTdlYmYxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9jc3MuaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2Nzcy5oCkBAIC05LDggKzksNyBAQAogCiAjaW5jbHVkZSA8YXNtL2Npby5oPgogI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgotCi0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogLyoKICAqIHBhdGggZ3JvdXBpbmcgc3R1ZmYKQEAgLTU4LDIwICs1NywyOCBAQAogCV9fdTMyIHRvZF9oaWdoOwkJLyogaGlnaCB3b3JkIFRPRCBjbG9jayAqLwogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CiAKLS8qCi0gKiBBIGNzcyBkcml2ZXIgaGFuZGxlcyBhbGwgc3ViY2hhbm5lbHMgb2Ygb25lIHR5cGUuCi0gKiBDdXJyZW50bHksIHdlIG9ubHkgY2FyZSBhYm91dCBJL08gc3ViY2hhbm5lbHMgKHR5cGUgMCksIHRoZXNlCi0gKiBoYXZlIGEgY2N3X2RldmljZSBjb25uZWN0ZWQgdG8gdGhlbS4KLSAqLwogc3RydWN0IHN1YmNoYW5uZWw7CitzdHJ1Y3QgY2hwX2xpbms7CisvKioKKyAqIHN0cnVjdCBjc3NfZHJpdmVyIC0gZGV2aWNlIGRyaXZlciBmb3Igc3ViY2hhbm5lbHMKKyAqIEBvd25lcjogb3duaW5nIG1vZHVsZQorICogQHN1YmNoYW5uZWxfdHlwZTogc3ViY2hhbm5lbCB0eXBlIHN1cHBvcnRlZCBieSB0aGlzIGRyaXZlcgorICogQGRydjogZW1iZWRkZWQgZGV2aWNlIGRyaXZlciBzdHJ1Y3R1cmUKKyAqIEBpcnE6IGNhbGxlZCBvbiBpbnRlcnJ1cHRzCisgKiBAY2hwX2V2ZW50OiBjYWxsZWQgZm9yIGV2ZW50cyBhZmZlY3RpbmcgYSBjaGFubmVsIHBhdGgKKyAqIEBzY2hfZXZlbnQ6IGNhbGxlZCBmb3IgZXZlbnRzIGFmZmVjdGluZyB0aGUgc3ViY2hhbm5lbAorICogQHByb2JlOiBmdW5jdGlvbiBjYWxsZWQgb24gcHJvYmUKKyAqIEByZW1vdmU6IGZ1bmN0aW9uIGNhbGxlZCBvbiByZW1vdmUKKyAqIEBzaHV0ZG93bjogY2FsbGVkIGF0IGRldmljZSBzaHV0ZG93bgorICogQG5hbWU6IG5hbWUgb2YgdGhlIGRldmljZSBkcml2ZXIKKyAqLwogc3RydWN0IGNzc19kcml2ZXIgewogCXN0cnVjdCBtb2R1bGUgKm93bmVyOwotCXVuc2lnbmVkIGludCBzdWJjaGFubmVsX3R5cGU7CisJc3RydWN0IGNzc19kZXZpY2VfaWQgKnN1YmNoYW5uZWxfdHlwZTsKIAlzdHJ1Y3QgZGV2aWNlX2RyaXZlciBkcnY7CiAJdm9pZCAoKmlycSkoc3RydWN0IHN1YmNoYW5uZWwgKik7Ci0JaW50ICgqbm90aWZ5KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBpbnQpOwotCXZvaWQgKCp2ZXJpZnkpKHN0cnVjdCBzdWJjaGFubmVsICopOwotCXZvaWQgKCp0ZXJtaW5hdGlvbikoc3RydWN0IHN1YmNoYW5uZWwgKik7CisJaW50ICgqY2hwX2V2ZW50KShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBzdHJ1Y3QgY2hwX2xpbmsgKiwgaW50KTsKKwlpbnQgKCpzY2hfZXZlbnQpKHN0cnVjdCBzdWJjaGFubmVsICosIGludCk7CiAJaW50ICgqcHJvYmUpKHN0cnVjdCBzdWJjaGFubmVsICopOwogCWludCAoKnJlbW92ZSkoc3RydWN0IHN1YmNoYW5uZWwgKik7CiAJdm9pZCAoKnNodXRkb3duKShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKQEAgLTg5LDEzICs5NiwxMyBAQAogZXh0ZXJuIHZvaWQgY3NzX2RyaXZlcl91bnJlZ2lzdGVyKHN0cnVjdCBjc3NfZHJpdmVyICopOwogCiBleHRlcm4gdm9pZCBjc3Nfc2NoX2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBzdWJjaGFubmVsICopOwotZXh0ZXJuIHN0cnVjdCBzdWJjaGFubmVsICogZ2V0X3N1YmNoYW5uZWxfYnlfc2NoaWQoc3RydWN0IHN1YmNoYW5uZWxfaWQpOworZXh0ZXJuIGludCBjc3NfcHJvYmVfZGV2aWNlKHN0cnVjdCBzdWJjaGFubmVsX2lkKTsKK2V4dGVybiBzdHJ1Y3Qgc3ViY2hhbm5lbCAqZ2V0X3N1YmNoYW5uZWxfYnlfc2NoaWQoc3RydWN0IHN1YmNoYW5uZWxfaWQpOwogZXh0ZXJuIGludCBjc3NfaW5pdF9kb25lOwogaW50IGZvcl9lYWNoX3N1YmNoYW5uZWxfc3RhZ2VkKGludCAoKmZuX2tub3duKShzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCB2b2lkICopLAogCQkJICAgICAgIGludCAoKmZuX3Vua25vd24pKHN0cnVjdCBzdWJjaGFubmVsX2lkLAogCQkJICAgICAgIHZvaWQgKiksIHZvaWQgKmRhdGEpOwogZXh0ZXJuIGludCBmb3JfZWFjaF9zdWJjaGFubmVsKGludCgqZm4pKHN0cnVjdCBzdWJjaGFubmVsX2lkLCB2b2lkICopLCB2b2lkICopOwotZXh0ZXJuIHZvaWQgY3NzX3Byb2Nlc3NfY3J3KGludCwgaW50KTsKIGV4dGVybiB2b2lkIGNzc19yZWl0ZXJhdGVfc3ViY2hhbm5lbHModm9pZCk7CiB2b2lkIGNzc191cGRhdGVfc3NkX2luZm8oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7CiAKQEAgLTEyMSwyMCArMTI4LDYgQEAKIGV4dGVybiBzdHJ1Y3QgYnVzX3R5cGUgY3NzX2J1c190eXBlOwogZXh0ZXJuIHN0cnVjdCBjaGFubmVsX3N1YnN5c3RlbSAqY2hhbm5lbF9zdWJzeXN0ZW1zW107CiAKLS8qIFNvbWUgaGVscGVyIGZ1bmN0aW9ucyBmb3IgZGlzY29ubmVjdGVkIHN0YXRlLiAqLwotaW50IGRldmljZV9pc19kaXNjb25uZWN0ZWQoc3RydWN0IHN1YmNoYW5uZWwgKik7Ci12b2lkIGRldmljZV9zZXRfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkZXZpY2VfdHJpZ2dlcl9yZXByb2JlKHN0cnVjdCBzdWJjaGFubmVsICopOwotCi0vKiBIZWxwZXIgZnVuY3Rpb25zIGZvciB2YXJ5IG9uL29mZi4gKi8KLWludCBkZXZpY2VfaXNfb25saW5lKHN0cnVjdCBzdWJjaGFubmVsICopOwotdm9pZCBkZXZpY2Vfa2lsbF9pbyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXZvaWQgZGV2aWNlX3NldF9pbnRyZXRyeShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKTsKLWludCBkZXZpY2VfdHJpZ2dlcl92ZXJpZnkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCk7Ci0KLS8qIE1hY2hpbmUgY2hlY2sgaGVscGVyIGZ1bmN0aW9uLiAqLwotdm9pZCBkZXZpY2Vfa2lsbF9wZW5kaW5nX3RpbWVyKHN0cnVjdCBzdWJjaGFubmVsICopOwotCiAvKiBIZWxwZXIgZnVuY3Rpb25zIHRvIGJ1aWxkIGxpc3RzIGZvciB0aGUgc2xvdyBwYXRoLiAqLwogdm9pZCBjc3Nfc2NoZWR1bGVfZXZhbChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCk7CiB2b2lkIGNzc19zY2hlZHVsZV9ldmFsX2FsbCh2b2lkKTsKQEAgLTE0NSw2ICsxMzgsNCBAQAogCiBleHRlcm4gc3RydWN0IHdvcmtxdWV1ZV9zdHJ1Y3QgKnNsb3dfcGF0aF93cTsKIHZvaWQgY3NzX3dhaXRfZm9yX3Nsb3dfcGF0aCh2b2lkKTsKLQotZXh0ZXJuIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKnN1YmNoX2F0dHJfZ3JvdXBzW107CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jCmluZGV4IGUyMjgxM2QuLmU4MThkMGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuYwpAQCAtMiw4ICsyLDcgQEAKICAqICBkcml2ZXJzL3MzOTAvY2lvL2RldmljZS5jCiAgKiAgYnVzIGRyaXZlciBmb3IgY2N3IGRldmljZXMKICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMiwyMDA4CiAgKiAgICBBdXRob3Iocyk6IEFybmQgQmVyZ21hbm4gKGFybmRiQGRlLmlibS5jb20pCiAgKgkJIENvcm5lbGlhIEh1Y2sgKGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbSkKICAqCQkgTWFydGluIFNjaHdpZGVmc2t5IChzY2h3aWRlZnNreUBkZS5pYm0uY29tKQpAQCAtMjMsNyArMjIsOSBAQAogI2luY2x1ZGUgPGFzbS9jaW8uaD4KICNpbmNsdWRlIDxhc20vcGFyYW0uaD4JCS8qIEhaICovCiAjaW5jbHVkZSA8YXNtL2NtYi5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KIAorI2luY2x1ZGUgImNocC5oIgogI2luY2x1ZGUgImNpby5oIgogI2luY2x1ZGUgImNpb19kZWJ1Zy5oIgogI2luY2x1ZGUgImNzcy5oIgpAQCAtMTI1LDE5ICsxMjYsMjQgQEAKIHN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfaXJxKHN0cnVjdCBzdWJjaGFubmVsICopOwogc3RhdGljIGludCBpb19zdWJjaGFubmVsX3Byb2JlKHN0cnVjdCBzdWJjaGFubmVsICopOwogc3RhdGljIGludCBpb19zdWJjaGFubmVsX3JlbW92ZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqKTsKLXN0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9ub3RpZnkoc3RydWN0IHN1YmNoYW5uZWwgKiwgaW50KTsKLXN0YXRpYyB2b2lkIGlvX3N1YmNoYW5uZWxfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICopOwotc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9pb3Rlcm0oc3RydWN0IHN1YmNoYW5uZWwgKik7CiBzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX3NodXRkb3duKHN0cnVjdCBzdWJjaGFubmVsICopOworc3RhdGljIGludCBpb19zdWJjaGFubmVsX3NjaF9ldmVudChzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBpbnQpOworc3RhdGljIGludCBpb19zdWJjaGFubmVsX2NocF9ldmVudChzdHJ1Y3Qgc3ViY2hhbm5lbCAqLCBzdHJ1Y3QgY2hwX2xpbmsgKiwKKwkJCQkgICBpbnQpOworCitzdGF0aWMgc3RydWN0IGNzc19kZXZpY2VfaWQgaW9fc3ViY2hhbm5lbF9pZHNbXSA9IHsKKwl7IC5tYXRjaF9mbGFncyA9IDB4MSwgLnR5cGUgPSBTVUJDSEFOTkVMX1RZUEVfSU8sIH0sCisJeyAvKiBlbmQgb2YgbGlzdCAqLyB9LAorfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUoY3NzLCBpb19zdWJjaGFubmVsX2lkcyk7CiAKIHN0YXRpYyBzdHJ1Y3QgY3NzX2RyaXZlciBpb19zdWJjaGFubmVsX2RyaXZlciA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKLQkuc3ViY2hhbm5lbF90eXBlID0gU1VCQ0hBTk5FTF9UWVBFX0lPLAorCS5zdWJjaGFubmVsX3R5cGUgPSBpb19zdWJjaGFubmVsX2lkcywKIAkubmFtZSA9ICJpb19zdWJjaGFubmVsIiwKIAkuaXJxID0gaW9fc3ViY2hhbm5lbF9pcnEsCi0JLm5vdGlmeSA9IGlvX3N1YmNoYW5uZWxfbm90aWZ5LAotCS52ZXJpZnkgPSBpb19zdWJjaGFubmVsX3ZlcmlmeSwKLQkudGVybWluYXRpb24gPSBpb19zdWJjaGFubmVsX2lvdGVybSwKKwkuc2NoX2V2ZW50ID0gaW9fc3ViY2hhbm5lbF9zY2hfZXZlbnQsCisJLmNocF9ldmVudCA9IGlvX3N1YmNoYW5uZWxfY2hwX2V2ZW50LAogCS5wcm9iZSA9IGlvX3N1YmNoYW5uZWxfcHJvYmUsCiAJLnJlbW92ZSA9IGlvX3N1YmNoYW5uZWxfcmVtb3ZlLAogCS5zaHV0ZG93biA9IGlvX3N1YmNoYW5uZWxfc2h1dGRvd24sCkBAIC00ODcsMjUgKzQ5MywyMiBAQAogCQljY3dfZGV2aWNlX3NldF9vbmxpbmUoY2Rldik7CiAJcmV0dXJuIDA7CiB9Ci1zdGF0aWMgdm9pZCBvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiwgaW50IGZvcmNlKQorc3RhdGljIGludCBvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiwgaW50IGZvcmNlKQogewogCWludCByZXQ7CiAKIAlyZXQgPSBvbmxpbmVfc3RvcmVfcmVjb2dfYW5kX29ubGluZShjZGV2KTsKIAlpZiAocmV0KQotCQlyZXR1cm47CisJCXJldHVybiByZXQ7CiAJaWYgKGZvcmNlICYmIGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9CT1hFRCkgewogCQlyZXQgPSBjY3dfZGV2aWNlX3N0bGNrKGNkZXYpOwotCQlpZiAocmV0KSB7Ci0JCQlkZXZfd2FybigmY2Rldi0+ZGV2LAotCQkJCSAiY2N3X2RldmljZV9zdGxjayByZXR1cm5lZCAlZCFcbiIsIHJldCk7Ci0JCQlyZXR1cm47Ci0JCX0KKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CiAJCWlmIChjZGV2LT5pZC5jdV90eXBlID09IDApCiAJCQljZGV2LT5wcml2YXRlLT5zdGF0ZSA9IERFVl9TVEFURV9OT1RfT1BFUjsKIAkJb25saW5lX3N0b3JlX3JlY29nX2FuZF9vbmxpbmUoY2Rldik7CiAJfQotCisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBzc2l6ZV90IG9ubGluZV9zdG9yZSAoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKQEAgLTUzOCw4ICs1NDEsOSBAQAogCQlyZXQgPSBjb3VudDsKIAkJYnJlYWs7CiAJY2FzZSAxOgotCQlvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShjZGV2LCBmb3JjZSk7Ci0JCXJldCA9IGNvdW50OworCQlyZXQgPSBvbmxpbmVfc3RvcmVfaGFuZGxlX29ubGluZShjZGV2LCBmb3JjZSk7CisJCWlmICghcmV0KQorCQkJcmV0ID0gY291bnQ7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXJldCA9IC1FSU5WQUw7CkBAIC01ODQsMTkgKzU4OCwxNCBAQAogc3RhdGljIERFVklDRV9BVFRSKG9ubGluZSwgMDY0NCwgb25saW5lX3Nob3csIG9ubGluZV9zdG9yZSk7CiBzdGF0aWMgREVWSUNFX0FUVFIoYXZhaWxhYmlsaXR5LCAwNDQ0LCBhdmFpbGFibGVfc2hvdywgTlVMTCk7CiAKLXN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICogc3ViY2hfYXR0cnNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICppb19zdWJjaGFubmVsX2F0dHJzW10gPSB7CiAJJmRldl9hdHRyX2NocGlkcy5hdHRyLAogCSZkZXZfYXR0cl9waW1wYW1wb20uYXR0ciwKIAlOVUxMLAogfTsKIAotc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgc3ViY2hfYXR0cl9ncm91cCA9IHsKLQkuYXR0cnMgPSBzdWJjaF9hdHRycywKLX07Ci0KLXN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgKnN1YmNoX2F0dHJfZ3JvdXBzW10gPSB7Ci0JJnN1YmNoX2F0dHJfZ3JvdXAsCi0JTlVMTCwKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGlvX3N1YmNoYW5uZWxfYXR0cl9ncm91cCA9IHsKKwkuYXR0cnMgPSBpb19zdWJjaGFubmVsX2F0dHJzLAogfTsKIAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKiBjY3dkZXZfYXR0cnNbXSA9IHsKQEAgLTc5MCw3ICs3ODksNyBAQAogCXNjaF9zZXRfY2RldihzY2gsIGNkZXYpOwogCWNkZXYtPnByaXZhdGUtPnNjaGlkID0gc2NoLT5zY2hpZDsKIAljZGV2LT5jY3dsb2NrID0gc2NoLT5sb2NrOwotCWRldmljZV90cmlnZ2VyX3JlcHJvYmUoc2NoKTsKKwljY3dfZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShjZGV2KTsKIAlzcGluX3VubG9ja19pcnEoc2NoLT5sb2NrKTsKIH0KIApAQCAtMTAzNyw3ICsxMDM2LDYgQEAKIAlzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlICpwcml2OwogCiAJc2NoX3NldF9jZGV2KHNjaCwgY2Rldik7Ci0Jc2NoLT5kcml2ZXIgPSAmaW9fc3ViY2hhbm5lbF9kcml2ZXI7CiAJY2Rldi0+Y2N3bG9jayA9IHNjaC0+bG9jazsKIAogCS8qIEluaXQgcHJpdmF0ZSBkYXRhLiAqLwpAQCAtMTEyMiw4ICsxMTIwLDMzIEBACiAJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX0lOVEVSUlVQVCk7CiB9CiAKLXN0YXRpYyBpbnQKLWlvX3N1YmNoYW5uZWxfcHJvYmUgKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX2luaXRfZmllbGRzKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit7CisJaWYgKGNpb19pc19jb25zb2xlKHNjaC0+c2NoaWQpKQorCQlzY2gtPm9wbSA9IDB4ZmY7CisJZWxzZQorCQlzY2gtPm9wbSA9IGNocF9nZXRfc2NoX29wbShzY2gpOworCXNjaC0+bHBtID0gc2NoLT5zY2hpYi5wbWN3LnBhbSAmIHNjaC0+b3BtOworCXNjaC0+aXNjID0gY2lvX2lzX2NvbnNvbGUoc2NoLT5zY2hpZCkgPyBDT05TT0xFX0lTQyA6IElPX1NDSF9JU0M7CisKKwlDSU9fTVNHX0VWRU5UKDYsICJEZXRlY3RlZCBkZXZpY2UgJTA0eCBvbiBzdWJjaGFubmVsIDAuJXguJTA0WCIKKwkJICAgICAgIiAtIFBJTSA9ICUwMlgsIFBBTSA9ICUwMlgsIFBPTSA9ICUwMlhcbiIsCisJCSAgICAgIHNjaC0+c2NoaWIucG1jdy5kZXYsIHNjaC0+c2NoaWQuc3NpZCwKKwkJICAgICAgc2NoLT5zY2hpZC5zY2hfbm8sIHNjaC0+c2NoaWIucG1jdy5waW0sCisJCSAgICAgIHNjaC0+c2NoaWIucG1jdy5wYW0sIHNjaC0+c2NoaWIucG1jdy5wb20pOworCS8qIEluaXRpYWxseSBzZXQgdXAgc29tZSBmaWVsZHMgaW4gdGhlIHBtY3cuICovCisJc2NoLT5zY2hpYi5wbWN3LmVuYSA9IDA7CisJc2NoLT5zY2hpYi5wbWN3LmNzZW5zZSA9IDE7CS8qIGNvbmN1cnJlbnQgc2Vuc2UgKi8KKwlpZiAoKHNjaC0+bHBtICYgKHNjaC0+bHBtIC0gMSkpICE9IDApCisJCXNjaC0+c2NoaWIucG1jdy5tcCA9IDE7IC8qIG11bHRpcGF0aCBtb2RlICovCisJLyogY2xlYW4gdXAgcG9zc2libGUgcmVzaWR1YWwgY21mIHN0dWZmICovCisJc2NoLT5zY2hpYi5wbWN3Lm1tZSA9IDA7CisJc2NoLT5zY2hpYi5wbWN3Lm1iZmMgPSAwOworCXNjaC0+c2NoaWIucG1jdy5tYmkgPSAwOworCXNjaC0+c2NoaWIubWJhID0gMDsKK30KKworc3RhdGljIGludCBpb19zdWJjaGFubmVsX3Byb2JlKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCiB7CiAJc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CiAJaW50IHJjOwpAQCAtMTEzMiwxMSArMTE1NSwyMSBAQAogCiAJY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCWlmIChjZGV2KSB7CisJCXJjID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZzY2gtPmRldi5rb2JqLAorCQkJCQkmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKKwkJaWYgKHJjKQorCQkJQ0lPX01TR19FVkVOVCgwLCAiRmFpbGVkIHRvIGNyZWF0ZSBpbyBzdWJjaGFubmVsICIKKwkJCQkgICAgICAiYXR0cmlidXRlcyBmb3Igc3ViY2hhbm5lbCAiCisJCQkJICAgICAgIjAuJXguJTA0eCAocmM9JWQpXG4iLAorCQkJCSAgICAgIHNjaC0+c2NoaWQuc3NpZCwgc2NoLT5zY2hpZC5zY2hfbm8sIHJjKTsKIAkJLyoKIAkJICogVGhpcyBzdWJjaGFubmVsIGFscmVhZHkgaGFzIGFuIGFzc29jaWF0ZWQgY2N3X2RldmljZS4KLQkJICogUmVnaXN0ZXIgaXQgYW5kIGV4aXQuIFRoaXMgaGFwcGVucyBmb3IgYWxsIGVhcmx5Ci0JCSAqIGRldmljZSwgZS5nLiB0aGUgY29uc29sZS4KKwkJICogVGhyb3cgdGhlIGRlbGF5ZWQgdWV2ZW50IGZvciB0aGUgc3ViY2hhbm5lbCwgcmVnaXN0ZXIKKwkJICogdGhlIGNjd19kZXZpY2UgYW5kIGV4aXQuIFRoaXMgaGFwcGVucyBmb3IgYWxsIGVhcmx5CisJCSAqIGRldmljZXMsIGUuZy4gdGhlIGNvbnNvbGUuCiAJCSAqLworCQlzY2gtPmRldi51ZXZlbnRfc3VwcHJlc3MgPSAwOworCQlrb2JqZWN0X3VldmVudCgmc2NoLT5kZXYua29iaiwgS09CSl9BREQpOwogCQljZGV2LT5kZXYuZ3JvdXBzID0gY2N3ZGV2X2F0dHJfZ3JvdXBzOwogCQlkZXZpY2VfaW5pdGlhbGl6ZSgmY2Rldi0+ZGV2KTsKIAkJY2N3X2RldmljZV9yZWdpc3RlcihjZGV2KTsKQEAgLTExNTIsMTcgKzExODUsMjQgQEAKIAkJCWdldF9kZXZpY2UoJmNkZXYtPmRldik7CiAJCXJldHVybiAwOwogCX0KKwlpb19zdWJjaGFubmVsX2luaXRfZmllbGRzKHNjaCk7CiAJLyoKIAkgKiBGaXJzdCBjaGVjayBpZiBhIGZpdHRpbmcgZGV2aWNlIG1heSBiZSBmb3VuZCBhbW9uZ3N0IHRoZQogCSAqIGRpc2Nvbm5lY3RlZCBkZXZpY2VzIG9yIGluIHRoZSBvcnBoYW5hZ2UuCiAJICovCiAJZGV2X2lkLmRldm5vID0gc2NoLT5zY2hpYi5wbWN3LmRldjsKIAlkZXZfaWQuc3NpZCA9IHNjaC0+c2NoaWQuc3NpZDsKKwlyYyA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmc2NoLT5kZXYua29iaiwKKwkJCQkmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKIAkvKiBBbGxvY2F0ZSBJL08gc3ViY2hhbm5lbCBwcml2YXRlIGRhdGEuICovCiAJc2NoLT5wcml2YXRlID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGlvX3N1YmNoYW5uZWxfcHJpdmF0ZSksCiAJCQkgICAgICAgR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwotCWlmICghc2NoLT5wcml2YXRlKQotCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIXNjaC0+cHJpdmF0ZSkgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gb3V0X2VycjsKKwl9CiAJY2RldiA9IGdldF9kaXNjX2Njd2Rldl9ieV9kZXZfaWQoJmRldl9pZCwgTlVMTCk7CiAJaWYgKCFjZGV2KQogCQljZGV2ID0gZ2V0X29ycGhhbmVkX2Njd2Rldl9ieV9kZXZfaWQodG9fY3NzKHNjaC0+ZGV2LnBhcmVudCksCkBAIC0xMTgxLDggKzEyMjEsOCBAQAogCX0KIAljZGV2ID0gaW9fc3ViY2hhbm5lbF9jcmVhdGVfY2N3ZGV2KHNjaCk7CiAJaWYgKElTX0VSUihjZGV2KSkgewotCQlrZnJlZShzY2gtPnByaXZhdGUpOwotCQlyZXR1cm4gUFRSX0VSUihjZGV2KTsKKwkJcmMgPSBQVFJfRVJSKGNkZXYpOworCQlnb3RvIG91dF9lcnI7CiAJfQogCXJjID0gaW9fc3ViY2hhbm5lbF9yZWNvZyhjZGV2LCBzY2gpOwogCWlmIChyYykgewpAQCAtMTE5MSw5ICsxMjMxLDEyIEBACiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7CiAJCWlmIChjZGV2LT5kZXYucmVsZWFzZSkKIAkJCWNkZXYtPmRldi5yZWxlYXNlKCZjZGV2LT5kZXYpOwotCQlrZnJlZShzY2gtPnByaXZhdGUpOworCQlnb3RvIG91dF9lcnI7CiAJfQotCisJcmV0dXJuIDA7CitvdXRfZXJyOgorCWtmcmVlKHNjaC0+cHJpdmF0ZSk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKCZzY2gtPmRldi5rb2JqLCAmaW9fc3ViY2hhbm5lbF9hdHRyX2dyb3VwKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTEyMTQsNiArMTI1Nyw3IEBACiAJY2N3X2RldmljZV91bnJlZ2lzdGVyKGNkZXYpOwogCXB1dF9kZXZpY2UoJmNkZXYtPmRldik7CiAJa2ZyZWUoc2NoLT5wcml2YXRlKTsKKwlzeXNmc19yZW1vdmVfZ3JvdXAoJnNjaC0+ZGV2LmtvYmosICZpb19zdWJjaGFubmVsX2F0dHJfZ3JvdXApOwogCXJldHVybiAwOwogfQogCkBAIC0xMjI0LDExICsxMjY4LDcgQEAKIAljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7CiAJaWYgKCFjZGV2KQogCQlyZXR1cm4gMDsKLQlpZiAoIWNkZXYtPmRydikKLQkJcmV0dXJuIDA7Ci0JaWYgKCFjZGV2LT5vbmxpbmUpCi0JCXJldHVybiAwOwotCXJldHVybiBjZGV2LT5kcnYtPm5vdGlmeSA/IGNkZXYtPmRydi0+bm90aWZ5KGNkZXYsIGV2ZW50KSA6IDA7CisJcmV0dXJuIGNjd19kZXZpY2Vfbm90aWZ5KGNkZXYsIGV2ZW50KTsKIH0KIAogc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF92ZXJpZnkoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKQEAgLTEyNDAsMjAgKzEyODAsOTQgQEAKIAkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKIH0KIAotc3RhdGljIHZvaWQgaW9fc3ViY2hhbm5lbF9pb3Rlcm0oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3N0YXRpYyBpbnQgY2hlY2tfZm9yX2lvX29uX3BhdGgoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IG1hc2spCit7CisJaW50IGNjOworCisJY2MgPSBzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYik7CisJaWYgKGNjKQorCQlyZXR1cm4gMDsKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYmIHNjaC0+c2NoaWIucG1jdy5scHVtID09IG1hc2spCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB0ZXJtaW5hdGVfaW50ZXJuYWxfaW8oc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwKKwkJCQkgIHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KQoreworCWlmIChjaW9fY2xlYXIoc2NoKSkgeworCQkvKiBSZWNoZWNrIGRldmljZSBpbiBjYXNlIGNsZWFyIGZhaWxlZC4gKi8KKwkJc2NoLT5scG0gPSAwOworCQlpZiAoY2Rldi0+b25saW5lKQorCQkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKKwkJZWxzZQorCQkJY3NzX3NjaGVkdWxlX2V2YWwoc2NoLT5zY2hpZCk7CisJCXJldHVybjsKKwl9CisJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfQ0xFQVJfVkVSSUZZOworCS8qIFJlcXVlc3QgcmV0cnkgb2YgaW50ZXJuYWwgb3BlcmF0aW9uLiAqLworCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMTsKKwkvKiBDYWxsIGhhbmRsZXIuICovCisJaWYgKGNkZXYtPmhhbmRsZXIpCisJCWNkZXYtPmhhbmRsZXIoY2RldiwgY2Rldi0+cHJpdmF0ZS0+aW50cGFybSwKKwkJCSAgICAgIEVSUl9QVFIoLUVJTykpOworfQorCitzdGF0aWMgdm9pZCBpb19zdWJjaGFubmVsX3Rlcm1pbmF0ZV9wYXRoKHN0cnVjdCBzdWJjaGFubmVsICpzY2gsIHU4IG1hc2spCiB7CiAJc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CiAKIAljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7CiAJaWYgKCFjZGV2KQogCQlyZXR1cm47Ci0JLyogSW50ZXJuYWwgSS9PIHdpbGwgYmUgcmV0cmllZCBieSB0aGUgaW50ZXJydXB0IGhhbmRsZXIuICovCi0JaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KQotCQlyZXR1cm47Ci0JY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfQ0xFQVJfVkVSSUZZOwotCWlmIChjZGV2LT5oYW5kbGVyKQotCQljZGV2LT5oYW5kbGVyKGNkZXYsIGNkZXYtPnByaXZhdGUtPmludHBhcm0sCi0JCQkgICAgICBFUlJfUFRSKC1FSU8pKTsKKwlpZiAoY2hlY2tfZm9yX2lvX29uX3BhdGgoc2NoLCBtYXNrKSkgeworCQlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX09OTElORSkKKwkJCWNjd19kZXZpY2Vfa2lsbF9pbyhjZGV2KTsKKwkJZWxzZSB7CisJCQl0ZXJtaW5hdGVfaW50ZXJuYWxfaW8oc2NoLCBjZGV2KTsKKwkJCS8qIFJlLXN0YXJ0IHBhdGggdmVyaWZpY2F0aW9uLiAqLworCQkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKKwkJfQorCX0gZWxzZQorCQkvKiB0cmlnZ2VyIHBhdGggdmVyaWZpY2F0aW9uLiAqLworCQlkZXZfZnNtX2V2ZW50KGNkZXYsIERFVl9FVkVOVF9WRVJJRlkpOworCit9CisKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9jaHBfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwKKwkJCQkgICBzdHJ1Y3QgY2hwX2xpbmsgKmxpbmssIGludCBldmVudCkKK3sKKwlpbnQgbWFzazsKKworCW1hc2sgPSBjaHBfc3NkX2dldF9tYXNrKCZzY2gtPnNzZF9pbmZvLCBsaW5rKTsKKwlpZiAoIW1hc2spCisJCXJldHVybiAwOworCXN3aXRjaCAoZXZlbnQpIHsKKwljYXNlIENIUF9WQVJZX09GRjoKKwkJc2NoLT5vcG0gJj0gfm1hc2s7CisJCXNjaC0+bHBtICY9IH5tYXNrOworCQlpb19zdWJjaGFubmVsX3Rlcm1pbmF0ZV9wYXRoKHNjaCwgbWFzayk7CisJCWJyZWFrOworCWNhc2UgQ0hQX1ZBUllfT046CisJCXNjaC0+b3BtIHw9IG1hc2s7CisJCXNjaC0+bHBtIHw9IG1hc2s7CisJCWlvX3N1YmNoYW5uZWxfdmVyaWZ5KHNjaCk7CisJCWJyZWFrOworCWNhc2UgQ0hQX09GRkxJTkU6CisJCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikpCisJCQlyZXR1cm4gLUVOWElPOworCQlpZiAoIWNzc19zY2hfaXNfdmFsaWQoJnNjaC0+c2NoaWIpKQorCQkJcmV0dXJuIC1FTk9ERVY7CisJCWlvX3N1YmNoYW5uZWxfdGVybWluYXRlX3BhdGgoc2NoLCBtYXNrKTsKKwkJYnJlYWs7CisJY2FzZSBDSFBfT05MSU5FOgorCQlpZiAoc3RzY2goc2NoLT5zY2hpZCwgJnNjaC0+c2NoaWIpKQorCQkJcmV0dXJuIC1FTlhJTzsKKwkJc2NoLT5scG0gfD0gbWFzayAmIHNjaC0+b3BtOworCQlpb19zdWJjaGFubmVsX3ZlcmlmeShzY2gpOworCQlicmVhazsKKwl9CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xMjg1LDYgKzEzOTksMTk1IEBACiAJY2lvX2Rpc2FibGVfc3ViY2hhbm5lbChzY2gpOwogfQogCitzdGF0aWMgaW50IGlvX3N1YmNoYW5uZWxfZ2V0X3N0YXR1cyhzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQoreworCXN0cnVjdCBzY2hpYiBzY2hpYjsKKworCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoaWIpIHx8ICFzY2hpYi5wbWN3LmRudikKKwkJcmV0dXJuIENJT19HT05FOworCWlmIChzY2gtPnNjaGliLnBtY3cuZG52ICYmIChzY2hpYi5wbWN3LmRldiAhPSBzY2gtPnNjaGliLnBtY3cuZGV2KSkKKwkJcmV0dXJuIENJT19SRVZBTElEQVRFOworCWlmICghc2NoLT5scG0pCisJCXJldHVybiBDSU9fTk9fUEFUSDsKKwlyZXR1cm4gQ0lPX09QRVI7Cit9CisKK3N0YXRpYyBpbnQgZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlpZiAoIWNkZXYpCisJCXJldHVybiAwOworCXJldHVybiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRCB8fAorCQljZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfRElTQ09OTkVDVEVEX1NFTlNFX0lEKTsKK30KKworc3RhdGljIGludCByZWNvdmVyeV9jaGVjayhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGNjd19kZXZpY2UgKmNkZXYgPSB0b19jY3dkZXYoZGV2KTsKKwlpbnQgKnJlZG8gPSBkYXRhOworCisJc3Bpbl9sb2NrX2lycShjZGV2LT5jY3dsb2NrKTsKKwlzd2l0Y2ggKGNkZXYtPnByaXZhdGUtPnN0YXRlKSB7CisJY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEOgorCQlDSU9fTVNHX0VWRU5UKDMsICJyZWNvdmVyeTogdHJpZ2dlciAwLiV4LiUwNHhcbiIsCisJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuc3NpZCwKKwkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubyk7CisJCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7CisJCSpyZWRvID0gMTsKKwkJYnJlYWs7CisJY2FzZSBERVZfU1RBVEVfRElTQ09OTkVDVEVEX1NFTlNFX0lEOgorCQkqcmVkbyA9IDE7CisJCWJyZWFrOworCX0KKwlzcGluX3VubG9ja19pcnEoY2Rldi0+Y2N3bG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcmVjb3Zlcnlfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqdW51c2VkKQoreworCWludCByZWRvID0gMDsKKworCWJ1c19mb3JfZWFjaF9kZXYoJmNjd19idXNfdHlwZSwgTlVMTCwgJnJlZG8sIHJlY292ZXJ5X2NoZWNrKTsKKwlpZiAocmVkbykgeworCQlzcGluX2xvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKKwkJaWYgKCF0aW1lcl9wZW5kaW5nKCZyZWNvdmVyeV90aW1lcikpIHsKKwkJCWlmIChyZWNvdmVyeV9waGFzZSA8IEFSUkFZX1NJWkUocmVjb3ZlcnlfZGVsYXkpIC0gMSkKKwkJCQlyZWNvdmVyeV9waGFzZSsrOworCQkJbW9kX3RpbWVyKCZyZWNvdmVyeV90aW1lciwgamlmZmllcyArCisJCQkJICByZWNvdmVyeV9kZWxheVtyZWNvdmVyeV9waGFzZV0gKiBIWik7CisJCX0KKwkJc3Bpbl91bmxvY2tfaXJxKCZyZWNvdmVyeV9sb2NrKTsKKwl9IGVsc2UKKwkJQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IGVuZFxuIik7Cit9CisKK3N0YXRpYyBERUNMQVJFX1dPUksocmVjb3Zlcnlfd29yaywgcmVjb3Zlcnlfd29ya19mdW5jKTsKKworc3RhdGljIHZvaWQgcmVjb3ZlcnlfZnVuYyh1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJLyoKKwkgKiBXZSBjYW4ndCBkbyBvdXIgcmVjb3ZlcnkgaW4gc29mdGlycSBjb250ZXh0IGFuZCBpdCdzIG5vdAorCSAqIHBlcmZvcm1hbmNlIGNyaXRpY2FsLCBzbyB3ZSBzY2hlZHVsZSBpdC4KKwkgKi8KKwlzY2hlZHVsZV93b3JrKCZyZWNvdmVyeV93b3JrKTsKK30KKworc3RhdGljIHZvaWQgY2N3X2RldmljZV9zY2hlZHVsZV9yZWNvdmVyeSh2b2lkKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlDSU9fTVNHX0VWRU5UKDQsICJyZWNvdmVyeTogc2NoZWR1bGVcbiIpOworCXNwaW5fbG9ja19pcnFzYXZlKCZyZWNvdmVyeV9sb2NrLCBmbGFncyk7CisJaWYgKCF0aW1lcl9wZW5kaW5nKCZyZWNvdmVyeV90aW1lcikgfHwgKHJlY292ZXJ5X3BoYXNlICE9IDApKSB7CisJCXJlY292ZXJ5X3BoYXNlID0gMDsKKwkJbW9kX3RpbWVyKCZyZWNvdmVyeV90aW1lciwgamlmZmllcyArIHJlY292ZXJ5X2RlbGF5WzBdICogSFopOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZWNvdmVyeV9sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIGRldmljZV9zZXRfZGlzY29ubmVjdGVkKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KQoreworCWlmICghY2RldikKKwkJcmV0dXJuOworCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CisJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIgPSAwOworCWNkZXYtPnByaXZhdGUtPnN0YXRlID0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRDsKKwlpZiAoY2Rldi0+b25saW5lKQorCQljY3dfZGV2aWNlX3NjaGVkdWxlX3JlY292ZXJ5KCk7Cit9CisKK3N0YXRpYyBpbnQgaW9fc3ViY2hhbm5lbF9zY2hfZXZlbnQoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCwgaW50IHNsb3cpCit7CisJaW50IGV2ZW50LCByZXQsIGRpc2M7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwllbnVtIHsgTk9ORSwgVU5SRUdJU1RFUiwgVU5SRUdJU1RFUl9QUk9CRSwgUkVQUk9CRSB9IGFjdGlvbjsKKwlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldjsKKworCXNwaW5fbG9ja19pcnFzYXZlKHNjaC0+bG9jaywgZmxhZ3MpOworCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKKwlkaXNjID0gZGV2aWNlX2lzX2Rpc2Nvbm5lY3RlZChjZGV2KTsKKwlpZiAoZGlzYyAmJiBzbG93KSB7CisJCS8qIERpc2Nvbm5lY3RlZCBkZXZpY2VzIGFyZSBldmFsdWF0ZWQgZGlyZWN0bHkgb25seS4qLworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCQlyZXR1cm4gMDsKKwl9CisJLyogTm8gaW50ZXJydXB0IGFmdGVyIG1hY2hpbmUgY2hlY2sgLSBraWxsIHBlbmRpbmcgdGltZXJzLiAqLworCWlmIChjZGV2KQorCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOworCWlmICghZGlzYyAmJiAhc2xvdykgeworCQkvKiBOb24tZGlzY29ubmVjdGVkIGRldmljZXMgYXJlIGV2YWx1YXRlZCBvbiB0aGUgc2xvdyBwYXRoLiAqLworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCQlyZXR1cm4gLUVBR0FJTjsKKwl9CisJZXZlbnQgPSBpb19zdWJjaGFubmVsX2dldF9zdGF0dXMoc2NoKTsKKwlDSU9fTVNHX0VWRU5UKDQsICJFdmFsdWF0aW5nIHNjaGlkIDAuJXguJTA0eCwgZXZlbnQgJWQsICVzLCAlcyBwYXRoLlxuIiwKKwkJICAgICAgc2NoLT5zY2hpZC5zc2lkLCBzY2gtPnNjaGlkLnNjaF9ubywgZXZlbnQsCisJCSAgICAgIGRpc2MgPyAiZGlzY29ubmVjdGVkIiA6ICJub3JtYWwiLAorCQkgICAgICBzbG93ID8gInNsb3ciIDogImZhc3QiKTsKKwkvKiBBbmFseXplIHN1YmNoYW5uZWwgc3RhdHVzLiAqLworCWFjdGlvbiA9IE5PTkU7CisJc3dpdGNoIChldmVudCkgeworCWNhc2UgQ0lPX05PX1BBVEg6CisJCWlmIChkaXNjKSB7CisJCQkvKiBDaGVjayBpZiBwYXRocyBoYXZlIGJlY29tZSBhdmFpbGFibGUuICovCisJCQlhY3Rpb24gPSBSRVBST0JFOworCQkJYnJlYWs7CisJCX0KKwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSBDSU9fR09ORToKKwkJLyogUHJldmVudCB1bndhbnRlZCBlZmZlY3RzIHdoZW4gb3BlbmluZyBsb2NrLiAqLworCQljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7CisJCWRldmljZV9zZXRfZGlzY29ubmVjdGVkKGNkZXYpOworCQkvKiBBc2sgZHJpdmVyIHdoYXQgdG8gZG8gd2l0aCBkZXZpY2UuICovCisJCWFjdGlvbiA9IFVOUkVHSVNURVI7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoc2NoLT5sb2NrLCBmbGFncyk7CisJCXJldCA9IGlvX3N1YmNoYW5uZWxfbm90aWZ5KHNjaCwgZXZlbnQpOworCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJaWYgKHJldCkKKwkJCWFjdGlvbiA9IE5PTkU7CisJCWJyZWFrOworCWNhc2UgQ0lPX1JFVkFMSURBVEU6CisJCS8qIERldmljZSB3aWxsIGJlIHJlbW92ZWQsIHNvIG5vIG5vdGlmeSBuZWNlc3NhcnkuICovCisJCWlmIChkaXNjKQorCQkJLyogUmVwcm9iZSBiZWNhdXNlIGltbWVkaWF0ZSB1bnJlZ2lzdGVyIG1pZ2h0IGJsb2NrLiAqLworCQkJYWN0aW9uID0gUkVQUk9CRTsKKwkJZWxzZQorCQkJYWN0aW9uID0gVU5SRUdJU1RFUl9QUk9CRTsKKwkJYnJlYWs7CisJY2FzZSBDSU9fT1BFUjoKKwkJaWYgKGRpc2MpCisJCQkvKiBHZXQgZGV2aWNlIG9wZXJhdGlvbmFsIGFnYWluLiAqLworCQkJYWN0aW9uID0gUkVQUk9CRTsKKwkJYnJlYWs7CisJfQorCS8qIFBlcmZvcm0gYWN0aW9uLiAqLworCXJldCA9IDA7CisJc3dpdGNoIChhY3Rpb24pIHsKKwljYXNlIFVOUkVHSVNURVI6CisJY2FzZSBVTlJFR0lTVEVSX1BST0JFOgorCQkvKiBVbnJlZ2lzdGVyIGRldmljZSAod2lsbCB1c2Ugc3ViY2hhbm5lbCBsb2NrKS4gKi8KKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShzY2gtPmxvY2ssIGZsYWdzKTsKKwkJY3NzX3NjaF9kZXZpY2VfdW5yZWdpc3RlcihzY2gpOworCQlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKKworCQkvKiBSZXNldCBpbnRwYXJtIHRvIHplcm9lcy4gKi8KKwkJc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAwOworCQljaW9fbW9kaWZ5KHNjaCk7CisJCWJyZWFrOworCWNhc2UgUkVQUk9CRToKKwkJY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoY2Rldik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOworCS8qIFByb2JlIGlmIG5lY2Vzc2FyeS4gKi8KKwlpZiAoYWN0aW9uID09IFVOUkVHSVNURVJfUFJPQkUpCisJCXJldCA9IGNzc19wcm9iZV9kZXZpY2Uoc2NoLT5zY2hpZCk7CisKKwlyZXR1cm4gcmV0OworfQorCiAjaWZkZWYgQ09ORklHX0NDV19DT05TT0xFCiBzdGF0aWMgc3RydWN0IGNjd19kZXZpY2UgY29uc29sZV9jZGV2Owogc3RhdGljIHN0cnVjdCBjY3dfZGV2aWNlX3ByaXZhdGUgY29uc29sZV9wcml2YXRlOwpAQCAtMTI5NywxNCArMTYwMCwxNiBAQAogCXJldHVybiAmY2N3X2NvbnNvbGVfbG9jazsKIH0KIAotc3RhdGljIGludAotY2N3X2RldmljZV9jb25zb2xlX2VuYWJsZSAoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCitzdGF0aWMgaW50IGNjd19kZXZpY2VfY29uc29sZV9lbmFibGUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsCisJCQkJICAgICBzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQogewogCWludCByYzsKIAogCS8qIEF0dGFjaCBzdWJjaGFubmVsIHByaXZhdGUgZGF0YS4gKi8KIAlzY2gtPnByaXZhdGUgPSBjaW9fZ2V0X2NvbnNvbGVfcHJpdigpOwogCW1lbXNldChzY2gtPnByaXZhdGUsIDAsIHNpemVvZihzdHJ1Y3QgaW9fc3ViY2hhbm5lbF9wcml2YXRlKSk7CisJaW9fc3ViY2hhbm5lbF9pbml0X2ZpZWxkcyhzY2gpOworCXNjaC0+ZHJpdmVyID0gJmlvX3N1YmNoYW5uZWxfZHJpdmVyOwogCS8qIEluaXRpYWxpemUgdGhlIGNjd19kZXZpY2Ugc3RydWN0dXJlLiAqLwogCWNkZXYtPmRldi5wYXJlbnQ9ICZzY2gtPmRldjsKIAlyYyA9IGlvX3N1YmNoYW5uZWxfcmVjb2coY2Rldiwgc2NoKTsKQEAgLTE1MTUsNzEgKzE4MjAsNiBAQAogCXJldHVybiBzY2gtPnNjaGlkOwogfQogCi1zdGF0aWMgaW50IHJlY292ZXJ5X2NoZWNrKHN0cnVjdCBkZXZpY2UgKmRldiwgdm9pZCAqZGF0YSkKLXsKLQlzdHJ1Y3QgY2N3X2RldmljZSAqY2RldiA9IHRvX2Njd2RldihkZXYpOwotCWludCAqcmVkbyA9IGRhdGE7Ci0KLQlzcGluX2xvY2tfaXJxKGNkZXYtPmNjd2xvY2spOwotCXN3aXRjaCAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUpIHsKLQljYXNlIERFVl9TVEFURV9ESVNDT05ORUNURUQ6Ci0JCUNJT19NU0dfRVZFTlQoNCwgInJlY292ZXJ5OiB0cmlnZ2VyIDAuJXguJTA0eFxuIiwKLQkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5zc2lkLAotCQkJICAgICAgY2Rldi0+cHJpdmF0ZS0+ZGV2X2lkLmRldm5vKTsKLQkJZGV2X2ZzbV9ldmVudChjZGV2LCBERVZfRVZFTlRfVkVSSUZZKTsKLQkJKnJlZG8gPSAxOwotCQlicmVhazsKLQljYXNlIERFVl9TVEFURV9ESVNDT05ORUNURURfU0VOU0VfSUQ6Ci0JCSpyZWRvID0gMTsKLQkJYnJlYWs7Ci0JfQotCXNwaW5fdW5sb2NrX2lycShjZGV2LT5jY3dsb2NrKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCByZWNvdmVyeV93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp1bnVzZWQpCi17Ci0JaW50IHJlZG8gPSAwOwotCi0JYnVzX2Zvcl9lYWNoX2RldigmY2N3X2J1c190eXBlLCBOVUxMLCAmcmVkbywgcmVjb3ZlcnlfY2hlY2spOwotCWlmIChyZWRvKSB7Ci0JCXNwaW5fbG9ja19pcnEoJnJlY292ZXJ5X2xvY2spOwotCQlpZiAoIXRpbWVyX3BlbmRpbmcoJnJlY292ZXJ5X3RpbWVyKSkgewotCQkJaWYgKHJlY292ZXJ5X3BoYXNlIDwgQVJSQVlfU0laRShyZWNvdmVyeV9kZWxheSkgLSAxKQotCQkJCXJlY292ZXJ5X3BoYXNlKys7Ci0JCQltb2RfdGltZXIoJnJlY292ZXJ5X3RpbWVyLCBqaWZmaWVzICsKLQkJCQkgIHJlY292ZXJ5X2RlbGF5W3JlY292ZXJ5X3BoYXNlXSAqIEhaKTsKLQkJfQotCQlzcGluX3VubG9ja19pcnEoJnJlY292ZXJ5X2xvY2spOwotCX0gZWxzZQotCQlDSU9fTVNHX0VWRU5UKDQsICJyZWNvdmVyeTogZW5kXG4iKTsKLX0KLQotc3RhdGljIERFQ0xBUkVfV09SSyhyZWNvdmVyeV93b3JrLCByZWNvdmVyeV93b3JrX2Z1bmMpOwotCi1zdGF0aWMgdm9pZCByZWNvdmVyeV9mdW5jKHVuc2lnbmVkIGxvbmcgZGF0YSkKLXsKLQkvKgotCSAqIFdlIGNhbid0IGRvIG91ciByZWNvdmVyeSBpbiBzb2Z0aXJxIGNvbnRleHQgYW5kIGl0J3Mgbm90Ci0JICogcGVyZm9ybWFuY2UgY3JpdGljYWwsIHNvIHdlIHNjaGVkdWxlIGl0LgotCSAqLwotCXNjaGVkdWxlX3dvcmsoJnJlY292ZXJ5X3dvcmspOwotfQotCi12b2lkIGNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3Zlcnkodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JQ0lPX01TR19FVkVOVCg0LCAicmVjb3Zlcnk6IHNjaGVkdWxlXG4iKTsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOwotCWlmICghdGltZXJfcGVuZGluZygmcmVjb3ZlcnlfdGltZXIpIHx8IChyZWNvdmVyeV9waGFzZSAhPSAwKSkgewotCQlyZWNvdmVyeV9waGFzZSA9IDA7Ci0JCW1vZF90aW1lcigmcmVjb3ZlcnlfdGltZXIsIGppZmZpZXMgKyByZWNvdmVyeV9kZWxheVswXSAqIEhaKTsKLQl9Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVjb3ZlcnlfbG9jaywgZmxhZ3MpOwotfQotCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiBFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2Vfc2V0X29ubGluZSk7CiBFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2Vfc2V0X29mZmxpbmUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuaCBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlLmgKaW5kZXggY2IwODA5Mi4uOTgwMGE4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2UuaAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZS5oCkBAIC04OCw4ICs4OCw2IEBACiBpbnQgY2N3X2RldmljZV9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKik7CiBpbnQgY2N3X2RldmljZV9vZmZsaW5lKHN0cnVjdCBjY3dfZGV2aWNlICopOwogCi12b2lkIGNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3Zlcnkodm9pZCk7Ci0KIC8qIEZ1bmN0aW9uIHByb3RvdHlwZXMgZm9yIGRldmljZSBzdGF0dXMgYW5kIGJhc2ljIHNlbnNlIHN0dWZmLiAqLwogdm9pZCBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfaXJiKHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCBpcmIgKik7CiB2b2lkIGNjd19kZXZpY2VfYWNjdW11bGF0ZV9iYXNpY19zZW5zZShzdHJ1Y3QgY2N3X2RldmljZSAqLCBzdHJ1Y3QgaXJiICopOwpAQCAtMTE4LDYgKzExNiwxMSBAQAogCiBpbnQgY2N3X2RldmljZV9zdGxjayhzdHJ1Y3QgY2N3X2RldmljZSAqKTsKIAorLyogSGVscGVyIGZ1bmN0aW9uIGZvciBtYWNoaW5lIGNoZWNrIGhhbmRsaW5nLiAqLwordm9pZCBjY3dfZGV2aWNlX3RyaWdnZXJfcmVwcm9iZShzdHJ1Y3QgY2N3X2RldmljZSAqKTsKK3ZvaWQgY2N3X2RldmljZV9raWxsX2lvKHN0cnVjdCBjY3dfZGV2aWNlICopOworaW50IGNjd19kZXZpY2Vfbm90aWZ5KHN0cnVjdCBjY3dfZGV2aWNlICosIGludCk7CisKIC8qIHFkaW8gbmVlZHMgdGhpcy4gKi8KIHZvaWQgY2N3X2RldmljZV9zZXRfdGltZW91dChzdHJ1Y3QgY2N3X2RldmljZSAqLCBpbnQpOwogZXh0ZXJuIHN0cnVjdCBzdWJjaGFubmVsX2lkIGNjd19kZXZpY2VfZ2V0X3N1YmNoYW5uZWxfaWQoc3RydWN0IGNjd19kZXZpY2UgKik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9mc20uYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCmluZGV4IGUyNjhkNWEuLjhiNWZlNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2ZzbS5jCkBAIC0yLDggKzIsNyBAQAogICogZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfZnNtLmMKICAqIGZpbml0ZSBzdGF0ZSBtYWNoaW5lIGZvciBkZXZpY2UgaGFuZGxpbmcKICAqCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDIgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsCi0gKgkJCSBJQk0gQ29ycG9yYXRpb24KKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwMiwyMDA4CiAgKiAgICBBdXRob3Iocyk6IENvcm5lbGlhIEh1Y2sgKGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbSkKICAqCQkgTWFydGluIFNjaHdpZGVmc2t5IChzY2h3aWRlZnNreUBkZS5pYm0uY29tKQogICovCkBAIC0yNyw2NSArMjYsNiBAQAogCiBzdGF0aWMgaW50IHRpbWVvdXRfbG9nX2VuYWJsZWQ7CiAKLWludAotZGV2aWNlX2lzX29ubGluZShzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoKQotewotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwotCWlmICghY2RldikKLQkJcmV0dXJuIDA7Ci0JcmV0dXJuIChjZGV2LT5wcml2YXRlLT5zdGF0ZSA9PSBERVZfU1RBVEVfT05MSU5FKTsKLX0KLQotaW50Ci1kZXZpY2VfaXNfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gKGNkZXYtPnByaXZhdGUtPnN0YXRlID09IERFVl9TVEFURV9ESVNDT05ORUNURUQgfHwKLQkJY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRF9TRU5TRV9JRCk7Ci19Ci0KLXZvaWQKLWRldmljZV9zZXRfZGlzY29ubmVjdGVkKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKLQljZGV2LT5wcml2YXRlLT5mbGFncy5mYWtlX2lyYiA9IDA7Ci0JY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPSBERVZfU1RBVEVfRElTQ09OTkVDVEVEOwotCWlmIChjZGV2LT5vbmxpbmUpCi0JCWNjd19kZXZpY2Vfc2NoZWR1bGVfcmVjb3ZlcnkoKTsKLX0KLQotdm9pZCBkZXZpY2Vfc2V0X2ludHJldHJ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47Ci0JY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAxOwotfQotCi1pbnQgZGV2aWNlX3RyaWdnZXJfdmVyaWZ5KHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2IHx8ICFjZGV2LT5vbmxpbmUpCi0JCXJldHVybiAtRUlOVkFMOwotCWRldl9mc21fZXZlbnQoY2RldiwgREVWX0VWRU5UX1ZFUklGWSk7Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgX19pbml0IGNjd190aW1lb3V0X2xvZ19zZXR1cChjaGFyICp1bnVzZWQpCiB7CiAJdGltZW91dF9sb2dfZW5hYmxlZCA9IDE7CkBAIC05OSwzMSArMzksNDMgQEAKIAlzdHJ1Y3Qgc2NoaWIgc2NoaWI7CiAJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKIAlzdHJ1Y3QgaW9fc3ViY2hhbm5lbF9wcml2YXRlICpwcml2YXRlOworCXVuaW9uIG9yYiAqb3JiOwogCWludCBjYzsKIAogCXNjaCA9IHRvX3N1YmNoYW5uZWwoY2Rldi0+ZGV2LnBhcmVudCk7CiAJcHJpdmF0ZSA9IHRvX2lvX3ByaXZhdGUoc2NoKTsKKwlvcmIgPSAmcHJpdmF0ZS0+b3JiOwogCWNjID0gc3RzY2goc2NoLT5zY2hpZCwgJnNjaGliKTsKIAogCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogY2N3IGRldmljZSB0aW1lb3V0IG9jY3VycmVkIGF0ICVsbHgsICIKIAkgICAgICAgImRldmljZSBpbmZvcm1hdGlvbjpcbiIsIGdldF9jbG9jaygpKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IG9yYjpcbiIpOwogCXByaW50X2hleF9kdW1wKEtFUk5fV0FSTklORywgImNpbzogICIsIERVTVBfUFJFRklYX05PTkUsIDE2LCAxLAotCQkgICAgICAgJnByaXZhdGUtPm9yYiwgc2l6ZW9mKHByaXZhdGUtPm9yYiksIDApOworCQkgICAgICAgb3JiLCBzaXplb2YoKm9yYiksIDApOwogCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogY2N3IGRldmljZSBidXMgaWQ6ICVzXG4iLCBjZGV2LT5kZXYuYnVzX2lkKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IHN1YmNoYW5uZWwgYnVzIGlkOiAlc1xuIiwgc2NoLT5kZXYuYnVzX2lkKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IHN1YmNoYW5uZWwgbHBtOiAlMDJ4LCBvcG06ICUwMngsICIKIAkgICAgICAgInZwbTogJTAyeFxuIiwgc2NoLT5scG0sIHNjaC0+b3BtLCBzY2gtPnZwbSk7CiAKLQlpZiAoKHZvaWQgKikoYWRkcl90KXByaXZhdGUtPm9yYi5jcGEgPT0gJnByaXZhdGUtPnNlbnNlX2NjdyB8fAotCSAgICAodm9pZCAqKShhZGRyX3QpcHJpdmF0ZS0+b3JiLmNwYSA9PSBjZGV2LT5wcml2YXRlLT5pY2N3cykKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IGNoYW5uZWwgcHJvZ3JhbSAoaW50ZXJuKTpcbiIpOwotCWVsc2UKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IGNoYW5uZWwgcHJvZ3JhbTpcbiIpOworCWlmIChvcmItPnRtLmIpIHsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBvcmIgaW5kaWNhdGVzIHRyYW5zcG9ydCBtb2RlXG4iKTsKKwkJcHJpbnRrKEtFUk5fV0FSTklORyAiY2lvOiBsYXN0IHRjdzpcbiIpOworCQlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKKwkJCSAgICAgICAodm9pZCAqKShhZGRyX3Qpb3JiLT50bS50Y3csCisJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0Y3cpLCAwKTsKKwl9IGVsc2UgeworCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IG9yYiBpbmRpY2F0ZXMgY29tbWFuZCBtb2RlXG4iKTsKKwkJaWYgKCh2b2lkICopKGFkZHJfdClvcmItPmNtZC5jcGEgPT0gJnByaXZhdGUtPnNlbnNlX2NjdyB8fAorCQkgICAgKHZvaWQgKikoYWRkcl90KW9yYi0+Y21kLmNwYSA9PSBjZGV2LT5wcml2YXRlLT5pY2N3cykKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogbGFzdCBjaGFubmVsIHByb2dyYW0gIgorCQkJICAgICAgICIoaW50ZXJuKTpcbiIpOworCQllbHNlCisJCQlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IGxhc3QgY2hhbm5lbCBwcm9ncmFtOlxuIik7CiAKLQlwcmludF9oZXhfZHVtcChLRVJOX1dBUk5JTkcsICJjaW86ICAiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwKLQkJICAgICAgICh2b2lkICopKGFkZHJfdClwcml2YXRlLT5vcmIuY3BhLAotCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBjY3cxKSwgMCk7CisJCXByaW50X2hleF9kdW1wKEtFUk5fV0FSTklORywgImNpbzogICIsIERVTVBfUFJFRklYX05PTkUsIDE2LCAxLAorCQkJICAgICAgICh2b2lkICopKGFkZHJfdClvcmItPmNtZC5jcGEsCisJCQkgICAgICAgc2l6ZW9mKHN0cnVjdCBjY3cxKSwgMCk7CisJfQogCXByaW50ayhLRVJOX1dBUk5JTkcgImNpbzogY2N3IGRldmljZSBzdGF0ZTogJWRcbiIsCiAJICAgICAgIGNkZXYtPnByaXZhdGUtPnN0YXRlKTsKIAlwcmludGsoS0VSTl9XQVJOSU5HICJjaW86IHN0b3JlIHN1YmNoYW5uZWwgcmV0dXJuZWQ6IGNjPSVkXG4iLCBjYyk7CkBAIC0xNzEsMTggKzEyMyw2IEBACiAJYWRkX3RpbWVyKCZjZGV2LT5wcml2YXRlLT50aW1lcik7CiB9CiAKLS8qIEtpbGwgYW55IHBlbmRpbmcgdGltZXJzIGFmdGVyIG1hY2hpbmUgY2hlY2suICovCi12b2lkCi1kZXZpY2Vfa2lsbF9wZW5kaW5nX3RpbWVyKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCi17Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7Ci0KLQljZGV2ID0gc2NoX2dldF9jZGV2KHNjaCk7Ci0JaWYgKCFjZGV2KQotCQlyZXR1cm47Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKLX0KLQogLyoKICAqIENhbmNlbCBydW5uaW5nIGkvby4gVGhpcyBpcyBjYWxsZWQgcmVwZWF0ZWRseSBzaW5jZSBoYWx0L2NsZWFyIGFyZQogICogYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMuIFdlIGRvIG9uZSB0cnkgd2l0aCBjaW9fY2FuY2VsLCB0d28gdHJpZXMKQEAgLTIwNSwxNSArMTQ1LDE4IEBACiAJCS8qIE5vdCBvcGVyYXRpb25hbCAtPiBkb25lLiAqLwogCQlyZXR1cm4gMDsKIAkvKiBTdGFnZSAxOiBjYW5jZWwgaW8uICovCi0JaWYgKCEoc2NoLT5zY2hpYi5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfSEFMVF9QRU5EKSAmJgotCSAgICAhKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX0NMRUFSX1BFTkQpKSB7Ci0JCXJldCA9IGNpb19jYW5jZWwoc2NoKTsKLQkJaWYgKHJldCAhPSAtRUlOVkFMKQotCQkJcmV0dXJuIHJldDsKLQkJLyogY2FuY2VsIGlvIHVuc3VjY2Vzc2Z1bC4gRnJvbSBub3cgb24gaXQgaXMgYXN5bmNocm9ub3VzLiAqLworCWlmICghKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9IQUxUX1BFTkQpICYmCisJICAgICEoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICYgU0NTV19BQ1RMX0NMRUFSX1BFTkQpKSB7CisJCWlmICghc2Nzd19pc190bSgmc2NoLT5zY2hpYi5zY3N3KSkgeworCQkJcmV0ID0gY2lvX2NhbmNlbChzY2gpOworCQkJaWYgKHJldCAhPSAtRUlOVkFMKQorCQkJCXJldHVybiByZXQ7CisJCX0KKwkJLyogY2FuY2VsIGlvIHVuc3VjY2Vzc2Z1bCBvciBub3QgYXBwbGljYWJsZSAodHJhbnNwb3J0IG1vZGUpLgorCQkgKiBDb250aW51ZSB3aXRoIGFzeW5jaHJvbm91cyBpbnN0cnVjdGlvbnMuICovCiAJCWNkZXYtPnByaXZhdGUtPmlyZXRyeSA9IDM7CS8qIDMgaGFsdCByZXRyaWVzLiAqLwogCX0KLQlpZiAoIShzY2gtPnNjaGliLnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgeworCWlmICghKHNjc3dfYWN0bCgmc2NoLT5zY2hpYi5zY3N3KSAmIFNDU1dfQUNUTF9DTEVBUl9QRU5EKSkgewogCQkvKiBTdGFnZSAyOiBoYWx0IGlvLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+aXJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5pcmV0cnktLTsKQEAgLTM4OCwzNCArMzMxLDMwIEBACiAJfQogfQogCitpbnQgY2N3X2RldmljZV9ub3RpZnkoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIGludCBldmVudCkKK3sKKwlpZiAoIWNkZXYtPmRydikKKwkJcmV0dXJuIDA7CisJaWYgKCFjZGV2LT5vbmxpbmUpCisJCXJldHVybiAwOworCXJldHVybiBjZGV2LT5kcnYtPm5vdGlmeSA/IGNkZXYtPmRydi0+bm90aWZ5KGNkZXYsIGV2ZW50KSA6IDA7Cit9CisKIHN0YXRpYyB2b2lkCiBjY3dfZGV2aWNlX29wZXJfbm90aWZ5KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlICpwcml2OwogCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwotCXN0cnVjdCBzdWJjaGFubmVsICpzY2g7CiAJaW50IHJldDsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJcHJpdiA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgY2N3X2RldmljZV9wcml2YXRlLCBraWNrX3dvcmspOwogCWNkZXYgPSBwcml2LT5jZGV2OwotCXNwaW5fbG9ja19pcnFzYXZlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKLQlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwotCWlmIChzY2gtPmRyaXZlciAmJiBzY2gtPmRyaXZlci0+bm90aWZ5KSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwotCQlyZXQgPSBzY2gtPmRyaXZlci0+bm90aWZ5KHNjaCwgQ0lPX09QRVIpOwotCQlzcGluX2xvY2tfaXJxc2F2ZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7Ci0JfSBlbHNlCi0JCXJldCA9IDA7CisJcmV0ID0gY2N3X2RldmljZV9ub3RpZnkoY2RldiwgQ0lPX09QRVIpOwogCWlmIChyZXQpIHsKIAkJLyogUmVlbmFibGUgY2hhbm5lbCBtZWFzdXJlbWVudHMsIGlmIG5lZWRlZC4gKi8KLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShjZGV2LT5jY3dsb2NrLCBmbGFncyk7CiAJCWNtZl9yZWVuYWJsZShjZGV2KTsKLQkJc3Bpbl9sb2NrX2lycXNhdmUoY2Rldi0+Y2N3bG9jaywgZmxhZ3MpOwogCQl3YWtlX3VwKCZjZGV2LT5wcml2YXRlLT53YWl0X3EpOwotCX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGNkZXYtPmNjd2xvY2ssIGZsYWdzKTsKLQlpZiAoIXJldCkKKwl9IGVsc2UKIAkJLyogRHJpdmVyIGRvZXNuJ3Qgd2FudCBkZXZpY2UgYmFjay4gKi8KIAkJY2N3X2RldmljZV9kb191bnJlZ19yZXJlZyh3b3JrKTsKIH0KQEAgLTYyMSwxMCArNTYwLDExIEBACiAJCS8qIERlbGl2ZXIgZmFrZSBpcmIgdG8gZGV2aWNlIGRyaXZlciwgaWYgbmVlZGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIpIHsKIAkJCW1lbXNldCgmY2Rldi0+cHJpdmF0ZS0+aXJiLCAwLCBzaXplb2Yoc3RydWN0IGlyYikpOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY2MgPSAxOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZmN0bCA9IFNDU1dfRkNUTF9TVEFSVF9GVU5DOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuYWN0bCA9IFNDU1dfQUNUTF9TVEFSVF9QRU5EOwotCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuc3RjdGwgPSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EOworCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmNjID0gMTsKKwkJCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5mY3RsID0gU0NTV19GQ1RMX1NUQVJUX0ZVTkM7CisJCQljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuYWN0bCA9IFNDU1dfQUNUTF9TVEFSVF9QRU5EOworCQkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLnN0Y3RsID0KKwkJCQlTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EOwogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZmFrZV9pcmIgPSAwOwogCQkJaWYgKGNkZXYtPmhhbmRsZXIpCiAJCQkJY2Rldi0+aGFuZGxlcihjZGV2LCBjZGV2LT5wcml2YXRlLT5pbnRwYXJtLApAQCAtNzE4LDEzICs2NTgsMTAgQEAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlmIChzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYikgfHwgIXNjaC0+c2NoaWIucG1jdy5kbnYpCiAJCXJldHVybiAtRU5PREVWOwotCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FKSB7Ci0JCWlmIChzY2gtPnNjaGliLnNjc3cuYWN0bCAhPSAwKQotCQkJcmV0dXJuIC1FQlVTWTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCWlmIChzY2gtPnNjaGliLnNjc3cuYWN0bCAhPSAwKQorCWlmIChzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgIT0gMCkKIAkJcmV0dXJuIC1FQlVTWTsKKwlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSkKKwkJcmV0dXJuIC1FSU5WQUw7CiAJLyogQXJlIHdlIGRvaW5nIHBhdGggZ3JvdXBpbmc/ICovCiAJaWYgKCFjZGV2LT5wcml2YXRlLT5vcHRpb25zLnBncm91cCkgewogCQkvKiBObywgc2V0IHN0YXRlIG9mZmxpbmUgaW1tZWRpYXRlbHkuICovCkBAIC03OTksOSArNzM2LDkgQEAKIAkgKi8KIAlzdHNjaChzY2gtPnNjaGlkLCAmc2NoLT5zY2hpYik7CiAKLQlpZiAoc2NoLT5zY2hpYi5zY3N3LmFjdGwgIT0gMCB8fAotCSAgICAoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKLQkgICAgKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpIHsKKwlpZiAoc2Nzd19hY3RsKCZzY2gtPnNjaGliLnNjc3cpICE9IDAgfHwKKwkgICAgKHNjc3dfc3RjdGwoJnNjaC0+c2NoaWIuc2NzdykgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCSAgICAoc2Nzd19zdGN0bCgmY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cpICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpIHsKIAkJLyoKIAkJICogTm8gZmluYWwgc3RhdHVzIHlldCBvciBmaW5hbCBzdGF0dXMgbm90IHlldCBkZWxpdmVyZWQKIAkJICogdG8gdGhlIGRldmljZSBkcml2ZXIuIENhbid0IGRvIHBhdGggdmVyZmljYXRpb24gbm93LApAQCAtODIzLDEzICs3NjAsMTMgQEAKIGNjd19kZXZpY2VfaXJxKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBlbnVtIGRldl9ldmVudCBkZXZfZXZlbnQpCiB7CiAJc3RydWN0IGlyYiAqaXJiOworCWludCBpc19jbWQ7CiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKKwlpc19jbWQgPSAhc2Nzd19pc190bSgmaXJiLT5zY3N3KTsKIAkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0LiAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgIAkJKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpCi0JICAgICYmICghaXJiLT5zY3N3LmNjKSkgewotCQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCisJaWYgKCFzY3N3X2lzX3NvbGljaXRlZCgmaXJiLT5zY3N3KSkgeworCQlpZiAoaXNfY21kICYmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgJiYKIAkJICAgICFpcmItPmVzdy5lc3cwLmVydy5jb25zKSB7CiAJCQkvKiBVbml0IGNoZWNrIGJ1dCBubyBzZW5zZSBkYXRhLiBOZWVkIGJhc2ljIHNlbnNlLiAqLwogCQkJaWYgKGNjd19kZXZpY2VfZG9fc2Vuc2UoY2RldiwgaXJiKSAhPSAwKQpAQCAtODQ4LDcgKzc4NSw3IEBACiAJfQogCS8qIEFjY3VtdWxhdGUgc3RhdHVzIGFuZCBmaW5kIG91dCBpZiBhIGJhc2ljIHNlbnNlIGlzIG5lZWRlZC4gKi8KIAljY3dfZGV2aWNlX2FjY3VtdWxhdGVfaXJiKGNkZXYsIGlyYik7Ci0JaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UpIHsKKwlpZiAoaXNfY21kICYmIGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UpIHsKIAkJaWYgKGNjd19kZXZpY2VfZG9fc2Vuc2UoY2RldiwgaXJiKSA9PSAwKSB7CiAJCQljZGV2LT5wcml2YXRlLT5zdGF0ZSA9IERFVl9TVEFURV9XNFNFTlNFOwogCQl9CkBAIC04OTIsOSArODI5LDkgQEAKIAogCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCS8qIENoZWNrIGZvciB1bnNvbGljaXRlZCBpbnRlcnJ1cHQuICovCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKSB7Ci0JCWlmIChpcmItPnNjc3cuY2MgPT0gMSkKKwlpZiAoc2Nzd19zdGN0bCgmaXJiLT5zY3N3KSA9PQorCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgeworCQlpZiAoc2Nzd19jYygmaXJiLT5zY3N3KSA9PSAxKQogCQkJLyogQmFzaWMgc2Vuc2UgaGFzbid0IHN0YXJ0ZWQuIFRyeSBhZ2Fpbi4gKi8KIAkJCWNjd19kZXZpY2VfZG9fc2Vuc2UoY2RldiwgaXJiKTsKIAkJZWxzZSB7CkBAIC05MTIsNyArODQ5LDggQEAKIAkgKiBvbmx5IGRlbGl2ZXIgdGhlIGhhbHQvY2xlYXIgaW50ZXJydXB0IHRvIHRoZSBkZXZpY2UgZHJpdmVyIGFzIGlmIGl0CiAJICogaGFkIGtpbGxlZCB0aGUgb3JpZ2luYWwgcmVxdWVzdC4KIAkgKi8KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMgfCBTQ1NXX0ZDVExfSEFMVF9GVU5DKSkgeworCWlmIChzY3N3X2ZjdGwoJmlyYi0+c2NzdykgJgorCSAgICAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMgfCBTQ1NXX0ZDVExfSEFMVF9GVU5DKSkgewogCQkvKiBSZXRyeSBCYXNpYyBTZW5zZSBpZiByZXF1ZXN0ZWQuICovCiAJCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAwOwpAQCAtOTg2LDEyICs5MjQsMTAgQEAKIAkJCSAgICAgIEVSUl9QVFIoLUVJTykpOwogfQogCi12b2lkIGRldmljZV9raWxsX2lvKHN0cnVjdCBzdWJjaGFubmVsICpzY2gpCit2b2lkIGNjd19kZXZpY2Vfa2lsbF9pbyhzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKIHsKIAlpbnQgcmV0OwotCXN0cnVjdCBjY3dfZGV2aWNlICpjZGV2OwogCi0JY2RldiA9IHNjaF9nZXRfY2RldihzY2gpOwogCXJldCA9IGNjd19kZXZpY2VfY2FuY2VsX2hhbHRfY2xlYXIoY2Rldik7CiAJaWYgKHJldCA9PSAtRUJVU1kpIHsKIAkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAzKkhaKTsKQEAgLTEwMjEsOSArOTU3LDkgQEAKIAljYXNlIERFVl9FVkVOVF9JTlRFUlJVUFQ6CiAJCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCQkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0LiAqLwotCQlpZiAoKGlyYi0+c2Nzdy5zdGN0bCA9PQorCQlpZiAoKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgPT0KIAkJICAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgJiYKLQkJICAgICghaXJiLT5zY3N3LmNjKSkKKwkJICAgICghc2Nzd19jYygmaXJiLT5zY3N3KSkpCiAJCQkvKiBGSVhNRTogd2Ugc2hvdWxkIHJlc3RhcnQgc3RsY2sgaGVyZSwgYnV0IHRoaXMKIAkJCSAqIGlzIGV4dHJlbWVseSB1bmxpa2VseSAuLi4gKi8KIAkJCWdvdG8gb3V0X3dha2V1cDsKQEAgLTEwNTUsMTcgKzk5MSwxNCBAQAogCWNjd19kZXZpY2Vfc2Vuc2VfaWRfc3RhcnQoY2Rldik7CiB9CiAKLXZvaWQKLWRldmljZV90cmlnZ2VyX3JlcHJvYmUoc3RydWN0IHN1YmNoYW5uZWwgKnNjaCkKK3ZvaWQgY2N3X2RldmljZV90cmlnZ2VyX3JlcHJvYmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpCiB7Ci0Jc3RydWN0IGNjd19kZXZpY2UgKmNkZXY7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKIAotCWNkZXYgPSBzY2hfZ2V0X2NkZXYoc2NoKTsKLQlpZiAoIWNkZXYpCi0JCXJldHVybjsKIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX0RJU0NPTk5FQ1RFRCkKIAkJcmV0dXJuOwogCisJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAkvKiBVcGRhdGUgc29tZSB2YWx1ZXMuICovCiAJaWYgKHN0c2NoKHNjaC0+c2NoaWQsICZzY2gtPnNjaGliKSkKIAkJcmV0dXJuOwpAQCAtMTA4MSw3ICsxMDE0LDYgQEAKIAlzY2gtPnNjaGliLnBtY3cuZW5hID0gMDsKIAlpZiAoKHNjaC0+bHBtICYgKHNjaC0+bHBtIC0gMSkpICE9IDApCiAJCXNjaC0+c2NoaWIucG1jdy5tcCA9IDE7Ci0Jc2NoLT5zY2hpYi5wbWN3LmludHBhcm0gPSAodTMyKShhZGRyX3Qpc2NoOwogCS8qIFdlIHNob3VsZCBhbHNvIHVkYXRlIHNzZCBpbmZvLCBidXQgdGhpcyBoYXMgdG8gd2FpdC4gKi8KIAkvKiBDaGVjayBpZiB0aGlzIGlzIGFub3RoZXIgZGV2aWNlIHdoaWNoIGFwcGVhcmVkIG9uIHRoZSBzYW1lIHNjaC4gKi8KIAlpZiAoc2NoLT5zY2hpYi5wbWN3LmRldiAhPSBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8pIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2lkLmMgYi9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jCmluZGV4IGNiYTcwMjA1Li4xYmRhYTYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9pZC5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX2lkLmMKQEAgLTE5Niw3ICsxOTYsNyBAQAogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7CiAKIAkvKiBDaGVjayB0aGUgZXJyb3IgY2FzZXMuICovCi0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgU2Vuc2UgSUQgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTIzNCwxMCArMjM0LDEwIEBACiAJCQkgICAgICBpcmItPmVjd1s2XSwgaXJiLT5lY3dbN10pOwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAzKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY2MgPT0gMykgewogCQl1OCBscG07CiAKLQkJbHBtID0gdG9faW9fcHJpdmF0ZShzY2gpLT5vcmIubHBtOworCQlscG0gPSB0b19pb19wcml2YXRlKHNjaCktPm9yYi5jbWQubHBtOwogCQlpZiAoKGxwbSAmIHNjaC0+c2NoaWIucG1jdy5waW0gJiBzY2gtPnNjaGliLnBtY3cucGFtKSAhPSAwKQogCQkJQ0lPX01TR19FVkVOVCg0LCAiU2Vuc2VJRCA6IHBhdGggJTAyWCBmb3IgZGV2aWNlICUwNHggIgogCQkJCSAgICAgICJvbiBzdWJjaGFubmVsIDAuJXguJTA0eCBpcyAiCkBAIC0yNDgsOSArMjQ4LDkgQEAKIAl9CiAKIAkvKiBEaWQgd2UgZ2V0IGEgcHJvcGVyIGFuc3dlciA/ICovCi0JaWYgKGlyYi0+c2Nzdy5jYyA9PSAwICYmIGNkZXYtPnByaXZhdGUtPnNlbnNlaWQuY3VfdHlwZSAhPSAweEZGRkYgJiYKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAwICYmIGNkZXYtPnByaXZhdGUtPnNlbnNlaWQuY3VfdHlwZSAhPSAweEZGRkYgJiYKIAkgICAgY2Rldi0+cHJpdmF0ZS0+c2Vuc2VpZC5yZXNlcnZlZCA9PSAweEZGKSB7Ci0JCWlmIChpcmItPnNjc3cuY291bnQgPCBzaXplb2Yoc3RydWN0IHNlbnNlaWQpIC0gOCkKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuY291bnQgPCBzaXplb2Yoc3RydWN0IHNlbnNlaWQpIC0gOCkKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmVzaWQgPSAxOwogCQlyZXR1cm4gMDsgLyogU3VjY2VzcyAqLwogCX0KQEAgLTI2MCw3ICsyNjAsNyBAQAogCQkgICAgICAic3ViY2hhbm5lbCAwLiV4LiUwNHggcmV0dXJucyBzdGF0dXMgJTAyWCUwMlhcbiIsCiAJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgc2NoLT5zY2hpZC5zc2lkLAogCQkgICAgICBzY2gtPnNjaGlkLnNjaF9ubywKLQkJICAgICAgaXJiLT5zY3N3LmRzdGF0LCBpcmItPnNjc3cuY3N0YXQpOworCQkgICAgICBpcmItPnNjc3cuY21kLmRzdGF0LCBpcmItPnNjc3cuY21kLmNzdGF0KTsKIAlyZXR1cm4gLUVBR0FJTjsKIH0KIApAQCAtMjc3LDkgKzI3Nyw5IEBACiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAkvKiBSZXRyeSBzZW5zZSBpZCwgaWYgbmVlZGVkLiAqLwotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewotCQlpZiAoKGlyYi0+c2Nzdy5jYyA9PSAxKSB8fCAhaXJiLT5zY3N3LmFjdGwpIHsKKwkJaWYgKChpcmItPnNjc3cuY21kLmNjID09IDEpIHx8ICFpcmItPnNjc3cuY21kLmFjdGwpIHsKIAkJCXJldCA9IF9fY2N3X2RldmljZV9zZW5zZV9pZF9zdGFydChjZGV2KTsKIAkJCWlmIChyZXQgJiYgcmV0ICE9IC1FQlVTWSkKIAkJCQljY3dfZGV2aWNlX3NlbnNlX2lkX2RvbmUoY2RldiwgcmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX29wcy5jIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfb3BzLmMKaW5kZXggZjMwOGFkNS4uZWUxYTI4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfb3BzLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2Vfb3BzLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxhc20vY2N3ZGV2Lmg+CiAjaW5jbHVkZSA8YXNtL2lkYWxzLmg+CiAjaW5jbHVkZSA8YXNtL2NocGlkLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgogCiAjaW5jbHVkZSAiY2lvLmgiCiAjaW5jbHVkZSAiY2lvX2RlYnVnLmgiCkBAIC0xNzksOCArMTgwLDggQEAKIAkJCXJldHVybiAtRUJVU1k7CiAJfQogCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FIHx8Ci0JICAgICgoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKLQkgICAgICEoc2NoLT5zY2hpYi5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSkgfHwKKwkgICAgKChzY2gtPnNjaGliLnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKKwkgICAgICEoc2NoLT5zY2hpYi5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykpIHx8CiAJICAgIGNkZXYtPnByaXZhdGUtPmZsYWdzLmRvdmVyaWZ5KQogCQlyZXR1cm4gLUVCVVNZOwogCXJldCA9IGNpb19zZXRfb3B0aW9ucyAoc2NoLCBmbGFncyk7CkBAIC0zNzksNyArMzgwLDcgQEAKIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgPT0gREVWX1NUQVRFX05PVF9PUEVSKQogCQlyZXR1cm4gLUVOT0RFVjsKIAlpZiAoY2Rldi0+cHJpdmF0ZS0+c3RhdGUgIT0gREVWX1NUQVRFX09OTElORSB8fAotCSAgICAhKHNjaC0+c2NoaWIuc2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCisJICAgICEoc2NoLT5zY2hpYi5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCiAJCXJldHVybiAtRUlOVkFMOwogCXJldHVybiBjaW9fcmVzdW1lKHNjaCk7CiB9CkBAIC00MDQsNyArNDA1LDcgQEAKIAkgKiAgLSBmYXN0IG5vdGlmaWNhdGlvbiB3YXMgcmVxdWVzdGVkIChwcmltYXJ5IHN0YXR1cykKIAkgKiAgLSB1bnNvbGljaXRlZCBpbnRlcnJ1cHRzCiAJICovCi0Jc3RjdGwgPSBjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5zdGN0bDsKKwlzdGN0bCA9IHNjc3dfc3RjdGwoJmNkZXYtPnByaXZhdGUtPmlyYi5zY3N3KTsKIAllbmRpbmdfc3RhdHVzID0gKHN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAogCQkoc3RjdGwgPT0gKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpIHx8CiAJCShzdGN0bCA9PSBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKTsKQEAgLTUyOCwxNCArNTI5LDE1IEBACiAJCWNpb19kaXNhYmxlX3N1YmNoYW5uZWwoc2NoKTsgLy9GSVhNRTogcmV0dXJuIGNvZGU/CiAJCWdvdG8gb3V0X3VubG9jazsKIAl9Ci0JY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKKwljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuYWN0bCB8PSBTQ1NXX0FDVExfU1RBUlRfUEVORDsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKHNjaC0+bG9jaywgZmxhZ3MpOwotCXdhaXRfZXZlbnQoY2Rldi0+cHJpdmF0ZS0+d2FpdF9xLCBjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5hY3RsID09IDApOworCXdhaXRfZXZlbnQoY2Rldi0+cHJpdmF0ZS0+d2FpdF9xLAorCQkgICBjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuYWN0bCA9PSAwKTsKIAlzcGluX2xvY2tfaXJxc2F2ZShzY2gtPmxvY2ssIGZsYWdzKTsKIAljaW9fZGlzYWJsZV9zdWJjaGFubmVsKHNjaCk7IC8vRklYTUU6IHJldHVybiBjb2RlPwotCWlmICgoY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZHN0YXQgIT0KKwlpZiAoKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5kc3RhdCAhPQogCSAgICAgKERFVl9TVEFUX0NITl9FTkR8REVWX1NUQVRfREVWX0VORCkpIHx8Ci0JICAgIChjZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jc3RhdCAhPSAwKSkKKwkgICAgKGNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5jc3RhdCAhPSAwKSkKIAkJcmV0ID0gLUVJTzsKIAkvKiBDbGVhciBpcmIuICovCiAJbWVtc2V0KCZjZGV2LT5wcml2YXRlLT5pcmIsIDAsIHNpemVvZihzdHJ1Y3QgaXJiKSk7CkBAIC01NjgsNiArNTcwLDEyMiBAQAogfQogRVhQT1JUX1NZTUJPTChjY3dfZGV2aWNlX2dldF9pZCk7CiAKKy8qKgorICogY2N3X2RldmljZV90bV9zdGFydF9rZXkgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGtleTogc3RvcmFnZSBrZXkgdG8gdXNlIGZvciBzdG9yYWdlIGFjY2VzcworICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIGNjdyBkZXZpY2UuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtLCB1OCBrZXkpCit7CisJc3RydWN0IHN1YmNoYW5uZWwgKnNjaDsKKwlpbnQgcmM7CisKKwlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOworCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FKQorCQlyZXR1cm4gLUVJTzsKKwkvKiBBZGp1c3QgcmVxdWVzdGVkIHBhdGggbWFzayB0byBleGNsdWRlZCB2YXJpZWQgb2ZmIHBhdGhzLiAqLworCWlmIChscG0pIHsKKwkJbHBtICY9IHNjaC0+b3BtOworCQlpZiAobHBtID09IDApCisJCQlyZXR1cm4gLUVBQ0NFUzsKKwl9CisJcmMgPSBjaW9fdG1fc3RhcnRfa2V5KHNjaCwgdGN3LCBscG0sIGtleSk7CisJaWYgKHJjID09IDApCisJCWNkZXYtPnByaXZhdGUtPmludHBhcm0gPSBpbnRwYXJtOworCXJldHVybiByYzsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9zdGFydF9rZXkpOworCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkgLSBwZXJmb3JtIHN0YXJ0IGZ1bmN0aW9uCisgKiBAY2RldjogY2N3IGRldmljZSBvbiB3aGljaCB0byBwZXJmb3JtIHRoZSBzdGFydCBmdW5jdGlvbgorICogQHRjdzogdHJhbnNwb3J0LWNvbW1hbmQgd29yZCB0byBiZSBzdGFydGVkCisgKiBAaW50cGFybTogdXNlciBkZWZpbmVkIHBhcmFtZXRlciB0byBiZSBwYXNzZWQgdG8gdGhlIGludGVycnVwdCBoYW5kbGVyCisgKiBAbHBtOiBtYXNrIG9mIHBhdGhzIHRvIHVzZQorICogQGtleTogc3RvcmFnZSBrZXkgdG8gdXNlIGZvciBzdG9yYWdlIGFjY2VzcworICogQGV4cGlyZXM6IHRpbWUgc3BhbiBpbiBqaWZmaWVzIGFmdGVyIHdoaWNoIHRvIGFib3J0IHJlcXVlc3QKKyAqCisgKiBTdGFydCB0aGUgdGN3IG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbiBzdWNjZXNzLCBub24temVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJCSAgICB1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSwgdTgga2V5LAorCQkJCSAgICBpbnQgZXhwaXJlcykKK3sKKwlpbnQgcmV0OworCisJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCBleHBpcmVzKTsKKwlyZXQgPSBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShjZGV2LCB0Y3csIGludHBhcm0sIGxwbSwga2V5KTsKKwlpZiAocmV0ICE9IDApCisJCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0X2tleSk7CisKKy8qKgorICogY2N3X2RldmljZV90bV9zdGFydCAtIHBlcmZvcm0gc3RhcnQgZnVuY3Rpb24KKyAqIEBjZGV2OiBjY3cgZGV2aWNlIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHN0YXJ0IGZ1bmN0aW9uCisgKiBAdGN3OiB0cmFuc3BvcnQtY29tbWFuZCB3b3JkIHRvIGJlIHN0YXJ0ZWQKKyAqIEBpbnRwYXJtOiB1c2VyIGRlZmluZWQgcGFyYW1ldGVyIHRvIGJlIHBhc3NlZCB0byB0aGUgaW50ZXJydXB0IGhhbmRsZXIKKyAqIEBscG06IG1hc2sgb2YgcGF0aHMgdG8gdXNlCisgKgorICogU3RhcnQgdGhlIHRjdyBvbiB0aGUgZ2l2ZW4gY2N3IGRldmljZS4gUmV0dXJuIHplcm8gb24gc3VjY2Vzcywgbm9uLXplcm8KKyAqIG90aGVyd2lzZS4KKyAqLworaW50IGNjd19kZXZpY2VfdG1fc3RhcnQoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCXVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtKQoreworCXJldHVybiBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShjZGV2LCB0Y3csIGludHBhcm0sIGxwbSwKKwkJCQkgICAgICAgUEFHRV9ERUZBVUxUX0tFWSk7Cit9CitFWFBPUlRfU1lNQk9MKGNjd19kZXZpY2VfdG1fc3RhcnQpOworCisvKioKKyAqIGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dCAtIHBlcmZvcm0gc3RhcnQgZnVuY3Rpb24KKyAqIEBjZGV2OiBjY3cgZGV2aWNlIG9uIHdoaWNoIHRvIHBlcmZvcm0gdGhlIHN0YXJ0IGZ1bmN0aW9uCisgKiBAdGN3OiB0cmFuc3BvcnQtY29tbWFuZCB3b3JkIHRvIGJlIHN0YXJ0ZWQKKyAqIEBpbnRwYXJtOiB1c2VyIGRlZmluZWQgcGFyYW1ldGVyIHRvIGJlIHBhc3NlZCB0byB0aGUgaW50ZXJydXB0IGhhbmRsZXIKKyAqIEBscG06IG1hc2sgb2YgcGF0aHMgdG8gdXNlCisgKiBAZXhwaXJlczogdGltZSBzcGFuIGluIGppZmZpZXMgYWZ0ZXIgd2hpY2ggdG8gYWJvcnQgcmVxdWVzdAorICoKKyAqIFN0YXJ0IHRoZSB0Y3cgb24gdGhlIGdpdmVuIGNjdyBkZXZpY2UuIFJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvCisgKiBvdGhlcndpc2UuCisgKi8KK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X3RpbWVvdXQoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCB0Y3cgKnRjdywKKwkJCSAgICAgICB1bnNpZ25lZCBsb25nIGludHBhcm0sIHU4IGxwbSwgaW50IGV4cGlyZXMpCit7CisJcmV0dXJuIGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoY2RldiwgdGN3LCBpbnRwYXJtLCBscG0sCisJCQkJCSAgICAgICBQQUdFX0RFRkFVTFRfS0VZLCBleHBpcmVzKTsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KTsKKworLyoqCisgKiBjY3dfZGV2aWNlX3RtX2ludHJnIC0gcGVyZm9ybSBpbnRlcnJvZ2F0ZSBmdW5jdGlvbgorICogQGNkZXY6IGNjdyBkZXZpY2Ugb24gd2hpY2ggdG8gcGVyZm9ybSB0aGUgaW50ZXJyb2dhdGUgZnVuY3Rpb24KKyAqCisgKiBQZXJmb3JtIGFuIGludGVycm9nYXRlIGZ1bmN0aW9uIG9uIHRoZSBnaXZlbiBjY3cgZGV2aWNlLiBSZXR1cm4gemVybyBvbgorICogc3VjY2Vzcywgbm9uLXplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgY2N3X2RldmljZV90bV9pbnRyZyhzdHJ1Y3QgY2N3X2RldmljZSAqY2RldikKK3sKKwlzdHJ1Y3Qgc3ViY2hhbm5lbCAqc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKKworCWlmIChjZGV2LT5wcml2YXRlLT5zdGF0ZSAhPSBERVZfU1RBVEVfT05MSU5FKQorCQlyZXR1cm4gLUVJTzsKKwlpZiAoIXNjc3dfaXNfdG0oJnNjaC0+c2NoaWIuc2NzdykgfHwKKwkgICAgIShzY3N3X2FjdGwoJnNjaC0+c2NoaWIuc2NzdykgfCBTQ1NXX0FDVExfU1RBUlRfUEVORCkpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBjaW9fdG1faW50cmcoc2NoKTsKK30KK0VYUE9SVF9TWU1CT0woY2N3X2RldmljZV90bV9pbnRyZyk7CisKIC8vIEZJWE1FOiB0aGVzZSBoYXZlIHRvIGdvOgogCiBpbnQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3BnaWQuYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3BnaWQuYwppbmRleCA1Y2Y3YmUwLi44NmJjOTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9wZ2lkLmMKKysrIGIvZHJpdmVycy9zMzkwL2Npby9kZXZpY2VfcGdpZC5jCkBAIC0yOCwxMyArMjgsMTMgQEAKICAqIEhlbHBlciBmdW5jdGlvbiBjYWxsZWQgZnJvbSBpbnRlcnJ1cHQgY29udGV4dCB0byBkZWNpZGUgd2hldGhlciBhbgogICogb3BlcmF0aW9uIHNob3VsZCBiZSB0cmllZCBhZ2Fpbi4KICAqLwotc3RhdGljIGludCBfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KHN0cnVjdCBzY3N3ICpzY3N3KQorc3RhdGljIGludCBfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KHVuaW9uIHNjc3cgKnNjc3cpCiB7CiAJLyogQ0MgaXMgb25seSB2YWxpZCBpZiBzdGFydCBmdW5jdGlvbiBiaXQgaXMgc2V0LiAqLwotCWlmICgoc2Nzdy0+ZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSAmJiBzY3N3LT5jYyA9PSAxKQorCWlmICgoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYgc2Nzdy0+Y21kLmNjID09IDEpCiAJCXJldHVybiAxOwogCS8qIE5vIG1vcmUgYWN0aXZpdHkuIEZvciBzZW5zZSBhbmQgc2V0IFBHSUQgd2Ugc3R1YmJvcm5seSB0cnkgYWdhaW4uICovCi0JaWYgKCFzY3N3LT5hY3RsKQorCWlmICghc2Nzdy0+Y21kLmFjdGwpCiAJCXJldHVybiAxOwogCXJldHVybiAwOwogfQpAQCAtMTI1LDcgKzEyNSw3IEBACiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgU2Vuc2UgUEdJRCBpZiByZXF1ZXN0ZWQuICovCiAJCWlmIChjZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSkgewogCQkJY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkgPSAwOwpAQCAtMTU1LDEwICsxNTUsMTAgQEAKIAkJCSAgICAgIGlyYi0+ZWN3WzZdLCBpcmItPmVjd1s3XSk7CiAJCXJldHVybiAtRUFHQUlOOwogCX0KLQlpZiAoaXJiLT5zY3N3LmNjID09IDMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAzKSB7CiAJCXU4IGxwbTsKIAotCQlscG0gPSB0b19pb19wcml2YXRlKHNjaCktPm9yYi5scG07CisJCWxwbSA9IHRvX2lvX3ByaXZhdGUoc2NoKS0+b3JiLmNtZC5scG07CiAJCUNJT19NU0dfRVZFTlQoMywgIlNOSUQgLSBEZXZpY2UgJTA0eCBvbiBTdWJjaGFubmVsIDAuJXguJTA0eCwiCiAJCQkgICAgICAiIGxwbSAlMDJYLCBiZWNhbWUgJ25vdCBvcGVyYXRpb25hbCdcbiIsCiAJCQkgICAgICBjZGV2LT5wcml2YXRlLT5kZXZfaWQuZGV2bm8sIHNjaC0+c2NoaWQuc3NpZCwKQEAgLTE4OCw3ICsxODgsNyBAQAogCiAJaXJiID0gKHN0cnVjdCBpcmIgKikgX19MQ19JUkI7CiAKLQlpZiAoaXJiLT5zY3N3LnN0Y3RsID09CisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KIAkgICAgKFNDU1dfU1RDVExfU1RBVFVTX1BFTkQgfCBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykpIHsKIAkJaWYgKF9fY2N3X2RldmljZV9zaG91bGRfcmV0cnkoJmlyYi0+c2NzdykpIHsKIAkJCXJldCA9IF9fY2N3X2RldmljZV9zZW5zZV9wZ2lkX3N0YXJ0KGNkZXYpOwpAQCAtMzMxLDcgKzMzMSw3IEBACiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgU2V0IFBHSUQgaWYgcmVxdWVzdGVkLiAqLwogCQlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuaW50cmV0cnkpIHsKIAkJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5ID0gMDsKQEAgLTM1NSw3ICszNTUsNyBAQAogCQkJICAgICAgaXJiLT5lY3dbNl0sIGlyYi0+ZWN3WzddKTsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQotCWlmIChpcmItPnNjc3cuY2MgPT0gMykgeworCWlmIChpcmItPnNjc3cuY21kLmNjID09IDMpIHsKIAkJQ0lPX01TR19FVkVOVCgzLCAiU1BJRCAtIERldmljZSAlMDR4IG9uIFN1YmNoYW5uZWwgMC4leC4lMDR4LCIKIAkJCSAgICAgICIgbHBtICUwMlgsIGJlY2FtZSAnbm90IG9wZXJhdGlvbmFsJ1xuIiwKIAkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgc2NoLT5zY2hpZC5zc2lkLApAQCAtMzc2LDcgKzM3Niw3IEBACiAKIAlzY2ggPSB0b19zdWJjaGFubmVsKGNkZXYtPmRldi5wYXJlbnQpOwogCWlyYiA9ICZjZGV2LT5wcml2YXRlLT5pcmI7Ci0JaWYgKGlyYi0+c2Nzdy5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5mY3RsICYgKFNDU1dfRkNUTF9IQUxUX0ZVTkMgfCBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykpIHsKIAkJLyogUmV0cnkgTk9QIGlmIHJlcXVlc3RlZC4gKi8KIAkJaWYgKGNkZXYtPnByaXZhdGUtPmZsYWdzLmludHJldHJ5KSB7CiAJCQljZGV2LT5wcml2YXRlLT5mbGFncy5pbnRyZXRyeSA9IDA7CkBAIC0zODQsNyArMzg0LDcgQEAKIAkJfQogCQlyZXR1cm4gLUVUSU1FOwogCX0KLQlpZiAoaXJiLT5zY3N3LmNjID09IDMpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jYyA9PSAzKSB7CiAJCUNJT19NU0dfRVZFTlQoMywgIk5PUCAtIERldmljZSAlMDR4IG9uIFN1YmNoYW5uZWwgMC4leC4lMDR4LCIKIAkJCSAgICAgICIgbHBtICUwMlgsIGJlY2FtZSAnbm90IG9wZXJhdGlvbmFsJ1xuIiwKIAkJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgc2NoLT5zY2hpZC5zc2lkLApAQCAtNDM4LDcgKzQzOCw3IEBACiAKIAlpcmIgPSAoc3RydWN0IGlyYiAqKSBfX0xDX0lSQjsKIAotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQogCSAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgewogCQlpZiAoX19jY3dfZGV2aWNlX3Nob3VsZF9yZXRyeSgmaXJiLT5zY3N3KSkKIAkJCV9fY2N3X2RldmljZV92ZXJpZnlfc3RhcnQoY2Rldik7CkBAIC01NDQsNyArNTQ0LDcgQEAKIAogCWlyYiA9IChzdHJ1Y3QgaXJiICopIF9fTENfSVJCOwogCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCA9PQorCWlmIChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgIChTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKSB7CiAJCWlmIChfX2Njd19kZXZpY2Vfc2hvdWxkX3JldHJ5KCZpcmItPnNjc3cpKQogCQkJX19jY3dfZGV2aWNlX2Rpc2JhbmRfc3RhcnQoY2Rldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2RldmljZV9zdGF0dXMuYyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3N0YXR1cy5jCmluZGV4IDRhMzg5OTMuLjFiMDNjNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3N0YXR1cy5jCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vZGV2aWNlX3N0YXR1cy5jCkBAIC0yOSw5ICsyOSwxMSBAQAogc3RhdGljIHZvaWQKIGNjd19kZXZpY2VfbXNnX2NvbnRyb2xfY2hlY2soc3RydWN0IGNjd19kZXZpY2UgKmNkZXYsIHN0cnVjdCBpcmIgKmlyYikKIHsKLQlpZiAoIShpcmItPnNjc3cuY3N0YXQgJiAoU0NITl9TVEFUX0NITl9EQVRBX0NISyB8Ci0JCQkJIFNDSE5fU1RBVF9DSE5fQ1RSTF9DSEsgfAotCQkJCSBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykpKQorCWNoYXIgZGJmX3RleHRbMTVdOworCisJaWYgKCFzY3N3X2lzX3ZhbGlkX2NzdGF0KCZpcmItPnNjc3cpIHx8CisJICAgICEoc2Nzd19jc3RhdCgmaXJiLT5zY3N3KSAmIChTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwKKwkgICAgICBTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEspKSkKIAkJcmV0dXJuOwogCUNJT19NU0dfRVZFTlQoMCwgIkNoYW5uZWwtQ2hlY2sgb3IgSW50ZXJmYWNlLUNvbnRyb2wtQ2hlY2sgIgogCQkgICAgICAicmVjZWl2ZWQiCkBAIC0zOSwxNSArNDEsMTAgQEAKIAkJICAgICAgIjogJTAyWCBzY2hfc3RhdCA6ICUwMlhcbiIsCiAJCSAgICAgIGNkZXYtPnByaXZhdGUtPmRldl9pZC5kZXZubywgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc3NpZCwKIAkJICAgICAgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc2NoX25vLAotCQkgICAgICBpcmItPnNjc3cuZHN0YXQsIGlyYi0+c2Nzdy5jc3RhdCk7Ci0KLQlpZiAoaXJiLT5zY3N3LmNjICE9IDMpIHsKLQkJY2hhciBkYmZfdGV4dFsxNV07Ci0KLQkJc3ByaW50ZihkYmZfdGV4dCwgImNoayV4IiwgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc2NoX25vKTsKLQkJQ0lPX1RSQUNFX0VWRU5UKDAsIGRiZl90ZXh0KTsKLQkJQ0lPX0hFWF9FVkVOVCgwLCBpcmIsIHNpemVvZiAoc3RydWN0IGlyYikpOwotCX0KKwkJICAgICAgc2Nzd19kc3RhdCgmaXJiLT5zY3N3KSwgc2Nzd19jc3RhdCgmaXJiLT5zY3N3KSk7CisJc3ByaW50ZihkYmZfdGV4dCwgImNoayV4IiwgY2Rldi0+cHJpdmF0ZS0+c2NoaWQuc2NoX25vKTsKKwlDSU9fVFJBQ0VfRVZFTlQoMCwgZGJmX3RleHQpOworCUNJT19IRVhfRVZFTlQoMCwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOwogfQogCiAvKgpAQCAtODEsMTIgKzc4LDEyIEBACiAJICogYXJlIGNvbmRpdGlvbiB0aGF0IGhhdmUgdG8gYmUgbWV0IGZvciB0aGUgZXh0ZW5kZWQgY29udHJvbAogCSAqIGJpdCB0byBoYXZlIG1lYW5pbmcuIFNpY2suCiAJICovCi0JY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZWN0bCA9IDA7Ci0JaWYgKChpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUykgJiYKLQkgICAgIShpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykpCi0JCWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmVjdGwgPSBpcmItPnNjc3cuZWN0bDsKKwljZGV2LT5wcml2YXRlLT5pcmIuc2Nzdy5jbWQuZWN0bCA9IDA7CisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpICYmCisJICAgICEoaXJiLT5zY3N3LmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSkKKwkJY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuY21kLmVjdGwgPSBpcmItPnNjc3cuY21kLmVjdGw7CiAJLyogQ2hlY2sgaWYgZXh0ZW5kZWQgY29udHJvbCB3b3JkIGlzIHZhbGlkLiAqLwotCWlmICghY2Rldi0+cHJpdmF0ZS0+aXJiLnNjc3cuZWN0bCkKKwlpZiAoIWNkZXYtPnByaXZhdGUtPmlyYi5zY3N3LmNtZC5lY3RsKQogCQlyZXR1cm47CiAJLyogQ29weSBjb25jdXJyZW50IHNlbnNlIC8gbW9kZWwgZGVwZW5kZW50IGluZm9ybWF0aW9uLiAqLwogCW1lbWNweSAoJmNkZXYtPnByaXZhdGUtPmlyYi5lY3csIGlyYi0+ZWN3LCBzaXplb2YgKGlyYi0+ZWN3KSk7CkBAIC05OCwxMSArOTUsMTIgQEAKIHN0YXRpYyBpbnQKIGNjd19kZXZpY2VfYWNjdW11bGF0ZV9lc3dfdmFsaWQoc3RydWN0IGlyYiAqaXJiKQogewotCWlmICghaXJiLT5zY3N3LmVzd2YgJiYgaXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpCisJaWYgKCFpcmItPnNjc3cuY21kLmVzd2YgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0gU0NTV19TVENUTF9TVEFUVVNfUEVORCkpCiAJCXJldHVybiAwOwotCWlmIChpcmItPnNjc3cuc3RjdGwgPT0gCi0JICAgIAkJKFNDU1dfU1RDVExfSU5URVJfU1RBVFVTfFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCi0JICAgICEoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkKKwlpZiAoaXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJKFNDU1dfU1RDVExfSU5URVJfU1RBVFVTfFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICEoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCiAJCXJldHVybiAwOwogCXJldHVybiAxOwogfQpAQCAtMTI1LDcgKzEyMyw3IEBACiAJY2Rldl9pcmItPmVzdy5lc3cxLmxwdW0gPSBpcmItPmVzdy5lc3cxLmxwdW07CiAKIAkvKiBDb3B5IHN1YmNoYW5uZWwgbG9nb3V0IGluZm9ybWF0aW9uIGlmIGVzdyBpcyBvZiBmb3JtYXQgMC4gKi8KLQlpZiAoaXJiLT5zY3N3LmVzd2YpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5lc3dmKSB7CiAJCWNkZXZfc3VibG9nID0gJmNkZXZfaXJiLT5lc3cuZXN3MC5zdWJsb2c7CiAJCXN1YmxvZyA9ICZpcmItPmVzdy5lc3cwLnN1YmxvZzsKIAkJLyogQ29weSBleHRlbmRlZCBzdGF0dXMgZmxhZ3MuICovCkBAIC0xMzQsNyArMTMyLDcgQEAKIAkJICogQ29weSBmaWVsZHMgdGhhdCBoYXZlIGEgbWVhbmluZyBmb3IgY2hhbm5lbCBkYXRhIGNoZWNrCiAJCSAqIGNoYW5uZWwgY29udHJvbCBjaGVjayBhbmQgaW50ZXJmYWNlIGNvbnRyb2wgY2hlY2suCiAJCSAqLwotCQlpZiAoaXJiLT5zY3N3LmNzdGF0ICYgKFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfAorCQlpZiAoaXJiLT5zY3N3LmNtZC5jc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0RBVEFfQ0hLIHwKIAkJCQkgICAgICAgU0NITl9TVEFUX0NITl9DVFJMX0NISyB8CiAJCQkJICAgICAgIFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLKSkgewogCQkJLyogQ29weSBhbmNpbGxhcnkgcmVwb3J0IGJpdC4gKi8KQEAgLTE1NSw3ICsxNTMsNyBAQAogCQkvKiBDb3B5IGkvby1lcnJvciBhbGVydC4gKi8KIAkJY2Rldl9zdWJsb2ctPmlvZXJyID0gc3VibG9nLT5pb2VycjsKIAkJLyogQ29weSBjaGFubmVsIHBhdGggdGltZW91dCBiaXQuICovCi0JCWlmIChpcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykKKwkJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiBTQ0hOX1NUQVRfSU5URl9DVFJMX0NISykKIAkJCWNkZXZfaXJiLT5lc3cuZXN3MC5lcncuY3B0ID0gaXJiLT5lc3cuZXN3MC5lcncuY3B0OwogCQkvKiBDb3B5IGZhaWxpbmcgc3RvcmFnZSBhZGRyZXNzIHZhbGlkaXR5IGZsYWcuICovCiAJCWNkZXZfaXJiLT5lc3cuZXN3MC5lcncuZnNhdmYgPSBpcmItPmVzdy5lc3cwLmVydy5mc2F2ZjsKQEAgLTIwMCwyNCArMTk4LDI0IEBACiAJICogSWYgbm90LCB0aGUgcmVtYWluaW5nIGJpdCBoYXZlIG5vIG1lYW5pbmcgYW5kIHdlIG11c3QgaWdub3JlIHRoZW0uCiAJICogVGhlIGVzdyBpcyBub3QgbWVhbmluZ2Z1bCBhcyB3ZWxsLi4uCiAJICovCi0JaWYgKCEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpCisJaWYgKCEoc2Nzd19zdGN0bCgmaXJiLT5zY3N3KSAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQogCQlyZXR1cm47CiAKIAkvKiBDaGVjayBmb3IgY2hhbm5lbCBjaGVja3MgYW5kIGludGVyZmFjZSBjb250cm9sIGNoZWNrcy4gKi8KIAljY3dfZGV2aWNlX21zZ19jb250cm9sX2NoZWNrKGNkZXYsIGlyYik7CiAKIAkvKiBDaGVjayBmb3IgcGF0aCBub3Qgb3BlcmF0aW9uYWwuICovCi0JaWYgKGlyYi0+c2Nzdy5wbm8gJiYgaXJiLT5zY3N3LmZjdGwgIT0gMCAmJgotCSAgICAoIShpcmItPnNjc3cuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgfHwKLQkgICAgIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSkKKwlpZiAoc2Nzd19pc192YWxpZF9wbm8oJmlyYi0+c2NzdykgJiYgc2Nzd19wbm8oJmlyYi0+c2NzdykpCiAJCWNjd19kZXZpY2VfcGF0aF9ub3RvcGVyKGNkZXYpOwotCisJLyogTm8gaXJiIGFjY3VtdWxhdGlvbiBmb3IgdHJhbnNwb3J0IG1vZGUgaXJicy4gKi8KKwlpZiAoc2Nzd19pc190bSgmaXJiLT5zY3N3KSkgeworCQltZW1jcHkoJmNkZXYtPnByaXZhdGUtPmlyYiwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOworCQlyZXR1cm47CisJfQogCS8qCiAJICogRG9uJ3QgYWNjdW11bGF0ZSB1bnNvbGljaXRlZCBpbnRlcnJ1cHRzLgogCSAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgICAoU0NTV19TVENUTF9TVEFUVVNfUEVORCB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkgJiYKLQkgICAgKCFpcmItPnNjc3cuY2MpKQorCWlmICghc2Nzd19pc19zb2xpY2l0ZWQoJmlyYi0+c2NzdykpCiAJCXJldHVybjsKIAogCWNkZXZfaXJiID0gJmNkZXYtPnByaXZhdGUtPmlyYjsKQEAgLTIyNyw2MiArMjI1LDYzIEBACiAJICogc3RhdHVzIGF0IHRoZSBzdWJjaGFubmVsIGhhcyBiZWVuIGNsZWFyZWQgYW5kIHdlIG11c3Qgbm90IHBhc3MKIAkgKiBpbnRlcm1lZGlhdGUgYWNjdW11bGF0ZWQgc3RhdHVzIHRvIHRoZSBkZXZpY2UgZHJpdmVyLgogCSAqLwotCWlmIChpcmItPnNjc3cuZmN0bCAmIFNDU1dfRkNUTF9DTEVBUl9GVU5DKQorCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykKIAkJbWVtc2V0KCZjZGV2LT5wcml2YXRlLT5pcmIsIDAsIHNpemVvZihzdHJ1Y3QgaXJiKSk7CiAKIAkvKiBDb3B5IGJpdHMgd2hpY2ggYXJlIHZhbGlkIG9ubHkgZm9yIHRoZSBzdGFydCBmdW5jdGlvbi4gKi8KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgeworCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgewogCQkvKiBDb3B5IGtleS4gKi8KLQkJY2Rldl9pcmItPnNjc3cua2V5ID0gaXJiLT5zY3N3LmtleTsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmtleSA9IGlyYi0+c2Nzdy5jbWQua2V5OwogCQkvKiBDb3B5IHN1c3BlbmQgY29udHJvbCBiaXQuICovCi0JCWNkZXZfaXJiLT5zY3N3LnNjdGwgPSBpcmItPnNjc3cuc2N0bDsKKwkJY2Rldl9pcmItPnNjc3cuY21kLnNjdGwgPSBpcmItPnNjc3cuY21kLnNjdGw7CiAJCS8qIEFjY3VtdWxhdGUgZGVmZXJyZWQgY29uZGl0aW9uIGNvZGUuICovCi0JCWNkZXZfaXJiLT5zY3N3LmNjIHw9IGlyYi0+c2Nzdy5jYzsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmNjIHw9IGlyYi0+c2Nzdy5jbWQuY2M7CiAJCS8qIENvcHkgY2N3IGZvcm1hdCBiaXQuICovCi0JCWNkZXZfaXJiLT5zY3N3LmZtdCA9IGlyYi0+c2Nzdy5mbXQ7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5mbXQgPSBpcmItPnNjc3cuY21kLmZtdDsKIAkJLyogQ29weSBwcmVmZXRjaCBiaXQuICovCi0JCWNkZXZfaXJiLT5zY3N3LnBmY2ggPSBpcmItPnNjc3cucGZjaDsKKwkJY2Rldl9pcmItPnNjc3cuY21kLnBmY2ggPSBpcmItPnNjc3cuY21kLnBmY2g7CiAJCS8qIENvcHkgaW5pdGlhbC1zdGF0dXMtaW50ZXJydXB0aW9uLWNvbnRyb2wuICovCi0JCWNkZXZfaXJiLT5zY3N3LmlzaWMgPSBpcmItPnNjc3cuaXNpYzsKKwkJY2Rldl9pcmItPnNjc3cuY21kLmlzaWMgPSBpcmItPnNjc3cuY21kLmlzaWM7CiAJCS8qIENvcHkgYWRkcmVzcyBsaW1pdCBjaGVja2luZyBjb250cm9sLiAqLwotCQljZGV2X2lyYi0+c2Nzdy5hbGNjID0gaXJiLT5zY3N3LmFsY2M7CisJCWNkZXZfaXJiLT5zY3N3LmNtZC5hbGNjID0gaXJiLT5zY3N3LmNtZC5hbGNjOwogCQkvKiBDb3B5IHN1cHByZXNzIHN1c3BlbmQgYml0LiAqLwotCQljZGV2X2lyYi0+c2Nzdy5zc2kgPSBpcmItPnNjc3cuc3NpOworCQljZGV2X2lyYi0+c2Nzdy5jbWQuc3NpID0gaXJiLT5zY3N3LmNtZC5zc2k7CiAJfQogCiAJLyogVGFrZSBjYXJlIG9mIHRoZSBleHRlbmRlZCBjb250cm9sIGJpdCBhbmQgZXh0ZW5kZWQgY29udHJvbCB3b3JkLiAqLwogCWNjd19kZXZpY2VfYWNjdW11bGF0ZV9lY3coY2RldiwgaXJiKTsKIAkgICAgCiAJLyogQWNjdW11bGF0ZSBmdW5jdGlvbiBjb250cm9sLiAqLwotCWNkZXZfaXJiLT5zY3N3LmZjdGwgfD0gaXJiLT5zY3N3LmZjdGw7CisJY2Rldl9pcmItPnNjc3cuY21kLmZjdGwgfD0gaXJiLT5zY3N3LmNtZC5mY3RsOwogCS8qIENvcHkgYWN0aXZpdHkgY29udHJvbC4gKi8KLQljZGV2X2lyYi0+c2Nzdy5hY3RsPSBpcmItPnNjc3cuYWN0bDsKKwljZGV2X2lyYi0+c2Nzdy5jbWQuYWN0bCA9IGlyYi0+c2Nzdy5jbWQuYWN0bDsKIAkvKiBBY2N1bXVsYXRlIHN0YXR1cyBjb250cm9sLiAqLwotCWNkZXZfaXJiLT5zY3N3LnN0Y3RsIHw9IGlyYi0+c2Nzdy5zdGN0bDsKKwljZGV2X2lyYi0+c2Nzdy5jbWQuc3RjdGwgfD0gaXJiLT5zY3N3LmNtZC5zdGN0bDsKIAkvKgogCSAqIENvcHkgY2N3IGFkZHJlc3MgaWYgaXQgaXMgdmFsaWQuIFRoaXMgaXMgYSBiaXQgc2ltcGxpZmllZAogCSAqIGJ1dCBzaG91bGQgYmUgY2xvc2UgZW5vdWdoIGZvciBhbGwgcHJhY3RpY2FsIHB1cnBvc2VzLgogCSAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgfHwKLQkgICAgKChpcmItPnNjc3cuc3RjdGwgPT0gCisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgfHwKKwkgICAgKChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgICAgKFNDU1dfU1RDVExfSU5URVJfU1RBVFVTfFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSAmJgotCSAgICAgKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX0RFVkFDVCkgJiYKLQkgICAgIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TQ0hBQ1QpKSB8fAotCSAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkKLQkJY2Rldl9pcmItPnNjc3cuY3BhID0gaXJiLT5zY3N3LmNwYTsKKwkgICAgIChpcmItPnNjc3cuY21kLmFjdGwgJiBTQ1NXX0FDVExfREVWQUNUKSAmJgorCSAgICAgKGlyYi0+c2Nzdy5jbWQuYWN0bCAmIFNDU1dfQUNUTF9TQ0hBQ1QpKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpCisJCWNkZXZfaXJiLT5zY3N3LmNtZC5jcGEgPSBpcmItPnNjc3cuY21kLmNwYTsKIAkvKiBBY2N1bXVsYXRlIGRldmljZSBzdGF0dXMsIGJ1dCBub3QgdGhlIGRldmljZSBidXN5IGZsYWcuICovCi0JY2Rldl9pcmItPnNjc3cuZHN0YXQgJj0gfkRFVl9TVEFUX0JVU1k7CisJY2Rldl9pcmItPnNjc3cuY21kLmRzdGF0ICY9IH5ERVZfU1RBVF9CVVNZOwogCS8qIGRzdGF0IGlzIG5vdCBhbHdheXMgdmFsaWQuICovCi0JaWYgKGlyYi0+c2Nzdy5zdGN0bCAmCisJaWYgKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJgogCSAgICAoU0NTV19TVENUTF9QUklNX1NUQVRVUyB8IFNDU1dfU1RDVExfU0VDX1NUQVRVUwogCSAgICAgfCBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUyB8IFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKSkKLQkJY2Rldl9pcmItPnNjc3cuZHN0YXQgfD0gaXJiLT5zY3N3LmRzdGF0OworCQljZGV2X2lyYi0+c2Nzdy5jbWQuZHN0YXQgfD0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAkvKiBBY2N1bXVsYXRlIHN1YmNoYW5uZWwgc3RhdHVzLiAqLwotCWNkZXZfaXJiLT5zY3N3LmNzdGF0IHw9IGlyYi0+c2Nzdy5jc3RhdDsKKwljZGV2X2lyYi0+c2Nzdy5jbWQuY3N0YXQgfD0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKIAkvKiBDb3B5IHJlc2lkdWFsIGNvdW50IGlmIGl0IGlzIHZhbGlkLiAqLwotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKLQkgICAgKGlyYi0+c2Nzdy5jc3RhdCAmIH4oU0NITl9TVEFUX1BDSSB8IFNDSE5fU1RBVF9JTkNPUlJfTEVOKSkgPT0gMCkKLQkJY2Rldl9pcmItPnNjc3cuY291bnQgPSBpcmItPnNjc3cuY291bnQ7CisJaWYgKChpcmItPnNjc3cuY21kLnN0Y3RsICYgU0NTV19TVENUTF9QUklNX1NUQVRVUykgJiYKKwkgICAgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiB+KFNDSE5fU1RBVF9QQ0kgfCBTQ0hOX1NUQVRfSU5DT1JSX0xFTikpCisJICAgICA9PSAwKQorCQljZGV2X2lyYi0+c2Nzdy5jbWQuY291bnQgPSBpcmItPnNjc3cuY21kLmNvdW50OwogCiAJLyogVGFrZSBjYXJlIG9mIGJpdHMgaW4gdGhlIGV4dGVuZGVkIHN0YXR1cyB3b3JkLiAqLwogCWNjd19kZXZpY2VfYWNjdW11bGF0ZV9lc3coY2RldiwgaXJiKTsKQEAgLTI5OSw3ICsyOTgsNyBAQAogCSAqCSBzZW5zZSBmYWNpbGl0eSBhdmFpbGFibGUvc3VwcG9ydGVkIHdoZW4gZW5hYmxpbmcgdGhlCiAJICoJIGNvbmN1cnJlbnQgc2Vuc2UgZmFjaWxpdHkuCiAJICovCi0JaWYgKChjZGV2X2lyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCisJaWYgKChjZGV2X2lyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgogCSAgICAhKGNkZXZfaXJiLT5lc3cuZXN3MC5lcncuY29ucykpCiAJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgPSAxOwogfQpAQCAtMzE3LDcgKzMxNiw3IEBACiAJc2NoID0gdG9fc3ViY2hhbm5lbChjZGV2LT5kZXYucGFyZW50KTsKIAogCS8qIEEgc2Vuc2UgaXMgcmVxdWlyZWQsIGNhbiB3ZSBkbyBpdCBub3cgPyAqLwotCWlmICgoaXJiLT5zY3N3LmFjdGwgICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgIT0gMCkKKwlpZiAoc2Nzd19hY3RsKCZpcmItPnNjc3cpICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkKIAkJLyoKIAkJICogd2UgcmVjZWl2ZWQgYW4gVW5pdCBDaGVjayBidXQgd2UgaGF2ZSBubyBmaW5hbAogCQkgKiAgc3RhdHVzIHlldCwgdGhlcmVmb3JlIHdlIG11c3QgZGVsYXkgdGhlIFNFTlNFCkBAIC0zNTUsMjAgKzM1NCwxOCBAQAogCSAqIElmIG5vdCwgdGhlIHJlbWFpbmluZyBiaXQgaGF2ZSBubyBtZWFuaW5nIGFuZCB3ZSBtdXN0IGlnbm9yZSB0aGVtLgogCSAqIFRoZSBlc3cgaXMgbm90IG1lYW5pbmdmdWwgYXMgd2VsbC4uLgogCSAqLwotCWlmICghKGlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKQorCWlmICghKHNjc3dfc3RjdGwoJmlyYi0+c2NzdykgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkKIAkJcmV0dXJuOwogCiAJLyogQ2hlY2sgZm9yIGNoYW5uZWwgY2hlY2tzIGFuZCBpbnRlcmZhY2UgY29udHJvbCBjaGVja3MuICovCiAJY2N3X2RldmljZV9tc2dfY29udHJvbF9jaGVjayhjZGV2LCBpcmIpOwogCiAJLyogQ2hlY2sgZm9yIHBhdGggbm90IG9wZXJhdGlvbmFsLiAqLwotCWlmIChpcmItPnNjc3cucG5vICYmIGlyYi0+c2Nzdy5mY3RsICE9IDAgJiYKLQkgICAgKCEoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpIHx8Ci0JICAgICAoaXJiLT5zY3N3LmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSkpCisJaWYgKHNjc3dfaXNfdmFsaWRfcG5vKCZpcmItPnNjc3cpICYmIHNjc3dfcG5vKCZpcmItPnNjc3cpKQogCQljY3dfZGV2aWNlX3BhdGhfbm90b3BlcihjZGV2KTsKIAotCWlmICghKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spICYmCi0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSkgeworCWlmICghKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSAmJgorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0NITl9FTkQpKSB7CiAJCWNkZXYtPnByaXZhdGUtPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9IDE7CiAJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgPSAwOwogCX0KQEAgLTM4NiwxMSArMzgzLDExIEBACiBjY3dfZGV2aWNlX2FjY3VtdWxhdGVfYW5kX3NlbnNlKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2LCBzdHJ1Y3QgaXJiICppcmIpCiB7CiAJY2N3X2RldmljZV9hY2N1bXVsYXRlX2lyYihjZGV2LCBpcmIpOwotCWlmICgoaXJiLT5zY3N3LmFjdGwgICYgKFNDU1dfQUNUTF9ERVZBQ1QgfCBTQ1NXX0FDVExfU0NIQUNUKSkgIT0gMCkKKwlpZiAoKGlyYi0+c2Nzdy5jbWQuYWN0bCAgJiAoU0NTV19BQ1RMX0RFVkFDVCB8IFNDU1dfQUNUTF9TQ0hBQ1QpKSAhPSAwKQogCQlyZXR1cm4gLUVCVVNZOwogCS8qIENoZWNrIGZvciBiYXNpYyBzZW5zZS4gKi8KIAlpZiAoY2Rldi0+cHJpdmF0ZS0+ZmxhZ3MuZG9zZW5zZSAmJgotCSAgICAhKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKSB7CisJICAgICEoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKSB7CiAJCWNkZXYtPnByaXZhdGUtPmlyYi5lc3cuZXN3MC5lcncuY29ucyA9IDE7CiAJCWNkZXYtPnByaXZhdGUtPmZsYWdzLmRvc2Vuc2UgPSAwOwogCQlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vZmN4LmMgYi9kcml2ZXJzL3MzOTAvY2lvL2ZjeC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNjc3ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3MzOTAvY2lvL2ZjeC5jCkBAIC0wLDAgKzEsMzUwIEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KKyNpbmNsdWRlICJjaW8uaCIKKworLyoqCisgKiB0Y3dfZ2V0X2ludHJnIC0gcmV0dXJuIHBvaW50ZXIgdG8gYXNzb2NpYXRlZCBpbnRlcnJvZ2F0ZSB0Y3cKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIG9yaWdpbmFsIHRjdworICoKKyAqIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGludGVycm9nYXRlIHRjdyBhc3NvY2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCB0Y3cKKyAqIG9yICVOVUxMIGlmIHRoZXJlIGlzIG5vIGFzc29jaWF0ZWQgaW50ZXJyb2dhdGUgdGN3LgorICovCitzdHJ1Y3QgdGN3ICp0Y3dfZ2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdykKK3sKKwlyZXR1cm4gKHN0cnVjdCB0Y3cgKikgKChhZGRyX3QpIHRjdy0+aW50cmcpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfZ2V0X2ludHJnKTsKKworLyoqCisgKiB0Y3dfZ2V0X2RhdGEgLSByZXR1cm4gcG9pbnRlciB0byBpbnB1dC9vdXRwdXQgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqCisgKiBSZXR1cm4gdGhlIGlucHV0IG9yIG91dHB1dCBkYXRhIGFkZHJlc3Mgc3BlY2lmaWVkIGluIHRoZSB0Y3cgZGVwZW5kaW5nCisgKiBvbiB3aGV0aGVyIHRoZSByLWJpdCBvciB0aGUgdy1iaXQgaXMgc2V0LiBJZiBuZWl0aGVyIGJpdCBpcyBzZXQsIHJldHVybgorICogJU5VTEwuCisgKi8KK3ZvaWQgKnRjd19nZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3cpCit7CisJaWYgKHRjdy0+cikKKwkJcmV0dXJuICh2b2lkICopICgoYWRkcl90KSB0Y3ctPmlucHV0KTsKKwlpZiAodGN3LT53KQorCQlyZXR1cm4gKHZvaWQgKikgKChhZGRyX3QpIHRjdy0+b3V0cHV0KTsKKwlyZXR1cm4gTlVMTDsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF9kYXRhKTsKKworLyoqCisgKiB0Y3dfZ2V0X3RjY2IgLSByZXR1cm4gcG9pbnRlciB0byB0Y2NiIGFzc29jaWF0ZWQgd2l0aCB0Y3cKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIHRjdworICoKKyAqIFJldHVybiBwb2ludGVyIHRvIHRoZSB0Y2NiIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRjdy4KKyAqLworc3RydWN0IHRjY2IgKnRjd19nZXRfdGNjYihzdHJ1Y3QgdGN3ICp0Y3cpCit7CisJcmV0dXJuIChzdHJ1Y3QgdGNjYiAqKSAoKGFkZHJfdCkgdGN3LT50Y2NiKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2dldF90Y2NiKTsKKworLyoqCisgKiB0Y3dfZ2V0X3RzYiAtIHJldHVybiBwb2ludGVyIHRvIHRzYiBhc3NvY2lhdGVkIHdpdGggdGN3CisgKiBAdGN3OiBwb2ludGVyIHRvIHRoZSB0Y3cKKyAqCisgKiBSZXR1cm4gcG9pbnRlciB0byB0aGUgdHNiIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRjdy4KKyAqLworc3RydWN0IHRzYiAqdGN3X2dldF90c2Ioc3RydWN0IHRjdyAqdGN3KQoreworCXJldHVybiAoc3RydWN0IHRzYiAqKSAoKGFkZHJfdCkgdGN3LT50c2IpOworfQorRVhQT1JUX1NZTUJPTCh0Y3dfZ2V0X3RzYik7CisKKy8qKgorICogdGN3X2luaXQgLSBpbml0aWFsaXplIHRjdyBkYXRhIHN0cnVjdHVyZQorICogQHRjdzogcG9pbnRlciB0byB0aGUgdGN3IHRvIGJlIGluaXRpYWxpemVkCisgKiBAcjogaW5pdGlhbCB2YWx1ZSBvZiB0aGUgci1iaXQKKyAqIEB3OiBpbml0aWFsIHZhbHVlIG9mIHRoZSB3LWJpdAorICoKKyAqIEluaXRpYWxpemUgYWxsIGZpZWxkcyBvZiB0aGUgc3BlY2lmaWVkIHRjdyBkYXRhIHN0cnVjdHVyZSB3aXRoIHplcm8gYW5kCisgKiBmaWxsIGluIHRoZSBmb3JtYXQsIGZsYWdzLCByIGFuZCB3IGZpZWxkcy4KKyAqLwordm9pZCB0Y3dfaW5pdChzdHJ1Y3QgdGN3ICp0Y3csIGludCByLCBpbnQgdykKK3sKKwltZW1zZXQodGN3LCAwLCBzaXplb2Yoc3RydWN0IHRjdykpOworCXRjdy0+Zm9ybWF0ID0gVENXX0ZPUk1BVF9ERUZBVUxUOworCXRjdy0+ZmxhZ3MgPSBUQ1dfRkxBR1NfVElEQVdfRk9STUFUKFRDV19USURBV19GT1JNQVRfREVGQVVMVCk7CisJaWYgKHIpCisJCXRjdy0+ciA9IDE7CisJaWYgKHcpCisJCXRjdy0+dyA9IDE7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19pbml0KTsKKworc3RhdGljIGlubGluZSBzaXplX3QgdGNhX3NpemUoc3RydWN0IHRjY2IgKnRjY2IpCit7CisJcmV0dXJuIHRjY2ItPnRjYWgudGNhbCAtIDEyOworfQorCitzdGF0aWMgdTMyIGNhbGNfZGN3X2NvdW50KHN0cnVjdCB0Y2NiICp0Y2NiKQoreworCWludCBvZmZzZXQ7CisJc3RydWN0IGRjdyAqZGN3OworCXUzMiBjb3VudCA9IDA7CisJc2l6ZV90IHNpemU7CisKKwlzaXplID0gdGNhX3NpemUodGNjYik7CisJZm9yIChvZmZzZXQgPSAwOyBvZmZzZXQgPCBzaXplOykgeworCQlkY3cgPSAoc3RydWN0IGRjdyAqKSAmdGNjYi0+dGNhW29mZnNldF07CisJCWNvdW50ICs9IGRjdy0+Y291bnQ7CisJCWlmICghKGRjdy0+ZmxhZ3MgJiBEQ1dfRkxBR1NfQ0MpKQorCQkJYnJlYWs7CisJCW9mZnNldCArPSBzaXplb2Yoc3RydWN0IGRjdykgKyBBTElHTigoaW50KSBkY3ctPmNkX2NvdW50LCA0KTsKKwl9CisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgdTMyIGNhbGNfY2JjX3NpemUoc3RydWN0IHRpZGF3ICp0aWRhdywgaW50IG51bSkKK3sKKwlpbnQgaTsKKwl1MzIgY2JjX2RhdGE7CisJdTMyIGNiY19jb3VudCA9IDA7CisJdTY0IGRhdGFfY291bnQgPSAwOworCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCWlmICh0aWRhd1tpXS5mbGFncyAmIFRJREFXX0ZMQUdTX0xBU1QpCisJCQlicmVhazsKKwkJLyogVE9ETzogZmluZCBvdXQgaWYgcGFkZGluZyBhcHBsaWVzIHRvIHRvdGFsIG9mIGRhdGEKKwkJICogdHJhbnNmZXJyZWQgb3IgZGF0YSB0cmFuc2ZlcnJlZCBieSB0aGlzIHRpZGF3LiBBc3N1bXB0aW9uOgorCQkgKiBhcHBsaWVzIHRvIHRvdGFsLiAqLworCQlkYXRhX2NvdW50ICs9IHRpZGF3W2ldLmNvdW50OworCQlpZiAodGlkYXdbaV0uZmxhZ3MgJiBUSURBV19GTEFHU19JTlNFUlRfQ0JDKSB7CisJCQljYmNfZGF0YSA9IDQgKyBBTElHTihkYXRhX2NvdW50LCA0KSAtIGRhdGFfY291bnQ7CisJCQljYmNfY291bnQgKz0gY2JjX2RhdGE7CisJCQlkYXRhX2NvdW50ICs9IGNiY19kYXRhOworCQl9CisJfQorCXJldHVybiBjYmNfY291bnQ7Cit9CisKKy8qKgorICogdGN3X2ZpbmFsaXplIC0gZmluYWxpemUgdGN3IGxlbmd0aCBmaWVsZHMgYW5kIHRpZGF3IGxpc3QKKyAqIEB0Y3c6IHBvaW50ZXIgdG8gdGhlIHRjdworICogQG51bV90aWRhd3M6IHRoZSBudW1iZXIgb2YgdGlkYXdzIHVzZWQgdG8gYWRkcmVzcyBpbnB1dC9vdXRwdXQgZGF0YSBvciB6ZXJvCisgKiBpZiBubyB0aWRhIGlzIHVzZWQKKyAqCisgKiBDYWxjdWxhdGUgdGhlIGlucHV0LS9vdXRwdXQtY291bnQgYW5kIHRjY2JsIGZpZWxkIGluIHRoZSB0Y3csIGFkZCBhCisgKiB0Y2F0IHRoZSB0Y2NiIGFuZCB0ZXJtaW5hdGUgdGhlIGRhdGEgdGlkYXcgbGlzdCBpZiB1c2VkLgorICoKKyAqIE5vdGU6IGluIGNhc2UgaW5wdXQtIG9yIG91dHB1dC10aWRhIGlzIHVzZWQsIHRoZSB0aWRhdy1saXN0IG11c3QgYmUgc3RvcmVkCisgKiBpbiBjb250aWd1b3VzIHN0b3JhZ2UgKG5vIHR0aWMpLiBUaGUgdGNhbCBmaWVsZCBpbiB0aGUgdGNjYiBtdXN0IGJlCisgKiB1cC10by1kYXRlLgorICovCit2b2lkIHRjd19maW5hbGl6ZShzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzKQoreworCXN0cnVjdCB0aWRhdyAqdGlkYXc7CisJc3RydWN0IHRjY2IgKnRjY2I7CisJc3RydWN0IHRjY2JfdGNhdCAqdGNhdDsKKwl1MzIgY291bnQ7CisKKwkvKiBUZXJtaW5hdGUgdGlkYXcgbGlzdC4gKi8KKwl0aWRhdyA9IHRjd19nZXRfZGF0YSh0Y3cpOworCWlmIChudW1fdGlkYXdzID4gMCkKKwkJdGlkYXdbbnVtX3RpZGF3cyAtIDFdLmZsYWdzIHw9IFRJREFXX0ZMQUdTX0xBU1Q7CisJLyogQWRkIHRjYXQgdG8gdGNjYi4gKi8KKwl0Y2NiID0gdGN3X2dldF90Y2NiKHRjdyk7CisJdGNhdCA9IChzdHJ1Y3QgdGNjYl90Y2F0ICopICZ0Y2NiLT50Y2FbdGNhX3NpemUodGNjYildOworCW1lbXNldCh0Y2F0LCAwLCBzaXplb2YodGNhdCkpOworCS8qIENhbGN1bGF0ZSB0Y3cgaW5wdXQvb3V0cHV0IGNvdW50IGFuZCB0Y2F0IHRyYW5zcG9ydCBjb3VudC4gKi8KKwljb3VudCA9IGNhbGNfZGN3X2NvdW50KHRjY2IpOworCWlmICh0Y3ctPncgJiYgKHRjdy0+ZmxhZ3MgJiBUQ1dfRkxBR1NfT1VUUFVUX1RJREEpKQorCQljb3VudCArPSBjYWxjX2NiY19zaXplKHRpZGF3LCBudW1fdGlkYXdzKTsKKwlpZiAodGN3LT5yKQorCQl0Y3ctPmlucHV0X2NvdW50ID0gY291bnQ7CisJZWxzZSBpZiAodGN3LT53KQorCQl0Y3ctPm91dHB1dF9jb3VudCA9IGNvdW50OworCXRjYXQtPmNvdW50ID0gQUxJR04oY291bnQsIDQpICsgNDsKKwkvKiBDYWxjdWxhdGUgdGNjYmwuICovCisJdGN3LT50Y2NibCA9IChzaXplb2Yoc3RydWN0IHRjY2IpICsgdGNhX3NpemUodGNjYikgKworCQkgICAgICBzaXplb2Yoc3RydWN0IHRjY2JfdGNhdCkgLSAyMCkgPj4gMjsKK30KK0VYUE9SVF9TWU1CT0wodGN3X2ZpbmFsaXplKTsKKworLyoqCisgKiB0Y3dfc2V0X2ludHJnIC0gc2V0IHRoZSBpbnRlcnJvZ2F0ZSB0Y3cgYWRkcmVzcyBvZiBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAaW50cmdfdGN3OiB0aGUgYWRkcmVzcyBvZiB0aGUgaW50ZXJyb2dhdGUgdGN3CisgKgorICogU2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBpbnRlcnJvZ2F0ZSB0Y3cgaW4gdGhlIHNwZWNpZmllZCB0Y3cuCisgKi8KK3ZvaWQgdGN3X3NldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y3cgKmludHJnX3RjdykKK3sKKwl0Y3ctPmludHJnID0gKHUzMikgKChhZGRyX3QpIGludHJnX3Rjdyk7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfaW50cmcpOworCisvKioKKyAqIHRjd19zZXRfZGF0YSAtIHNldCBkYXRhIGFkZHJlc3MgYW5kIHRpZGEgZmxhZyBvZiBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAZGF0YTogdGhlIGRhdGEgYWRkcmVzcworICogQHVzZV90aWRhbDogemVybyBvZiB0aGUgZGF0YSBhZGRyZXNzIHNwZWNpZmllcyBhIGNvbnRpZ3VvdXMgYmxvY2sgb2YgZGF0YSwKKyAqIG5vbi16ZXJvIGlmIGl0IHNwZWNpZmllcyBhIGxpc3QgaWYgdGlkYXdzLgorICoKKyAqIFNldCB0aGUgaW5wdXQvb3V0cHV0IGRhdGEgYWRkcmVzcyBvZiBhIHRjdyAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUKKyAqIHItZmxhZyBhbmQgdy1mbGFnKS4gSWYgQHVzZV90aWRhbCBpcyBub24temVybywgdGhlIGNvcnJlc3BvbmRpbmcgdGlkYSBmbGFnCisgKiBpcyBzZXQgYXMgd2VsbC4KKyAqLwordm9pZCB0Y3dfc2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3LCB2b2lkICpkYXRhLCBpbnQgdXNlX3RpZGFsKQoreworCWlmICh0Y3ctPnIpIHsKKwkJdGN3LT5pbnB1dCA9ICh1NjQpICgoYWRkcl90KSBkYXRhKTsKKwkJaWYgKHVzZV90aWRhbCkKKwkJCXRjdy0+ZmxhZ3MgfD0gVENXX0ZMQUdTX0lOUFVUX1RJREE7CisJfSBlbHNlIGlmICh0Y3ctPncpIHsKKwkJdGN3LT5vdXRwdXQgPSAodTY0KSAoKGFkZHJfdCkgZGF0YSk7CisJCWlmICh1c2VfdGlkYWwpCisJCQl0Y3ctPmZsYWdzIHw9IFRDV19GTEFHU19PVVRQVVRfVElEQTsKKwl9Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfZGF0YSk7CisKKy8qKgorICogdGN3X3NldF90Y2NiIC0gc2V0IHRjY2IgYWRkcmVzcyBvZiBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAdGNjYjogdGhlIHRjY2IgYWRkcmVzcworICoKKyAqIFNldCB0aGUgYWRkcmVzcyBvZiB0aGUgdGNjYiBpbiB0aGUgc3BlY2lmaWVkIHRjdy4KKyAqLwordm9pZCB0Y3dfc2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGNjYiAqdGNjYikKK3sKKwl0Y3ctPnRjY2IgPSAodTY0KSAoKGFkZHJfdCkgdGNjYik7Cit9CitFWFBPUlRfU1lNQk9MKHRjd19zZXRfdGNjYik7CisKKy8qKgorICogdGN3X3NldF90c2IgLSBzZXQgdHNiIGFkZHJlc3Mgb2YgYSB0Y3cKKyAqIEB0Y3c6IHRoZSB0Y3cgYWRkcmVzcworICogQHRzYjogdGhlIHRzYiBhZGRyZXNzCisgKgorICogU2V0IHRoZSBhZGRyZXNzIG9mIHRoZSB0c2IgaW4gdGhlIHNwZWNpZmllZCB0Y3cuCisgKi8KK3ZvaWQgdGN3X3NldF90c2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdHNiICp0c2IpCit7CisJdGN3LT50c2IgPSAodTY0KSAoKGFkZHJfdCkgdHNiKTsKK30KK0VYUE9SVF9TWU1CT0wodGN3X3NldF90c2IpOworCisvKioKKyAqIHRjY2JfaW5pdCAtIGluaXRpYWxpemUgdGNjYgorICogQHRjY2I6IHRoZSB0Y2NiIGFkZHJlc3MKKyAqIEBzaXplOiB0aGUgbWF4aW11bSBzaXplIG9mIHRoZSB0Y2NiCisgKiBAc2FjOiB0aGUgc2VydmljZS1hY3Rpb24tY29kZSB0byBiZSB1c2VyCisgKgorICogSW5pdGlhbGl6ZSB0aGUgaGVhZGVyIG9mIHRoZSBzcGVjaWZpZWQgdGNjYiBieSByZXNldHRpbmcgYWxsIHZhbHVlcyB0byB6ZXJvCisgKiBhbmQgZmlsbGluZyBpbiBkZWZhdWx0cyBmb3IgZm9ybWF0LCBzYWMgYW5kIGluaXRpYWwgdGNhbCBmaWVsZHMuCisgKi8KK3ZvaWQgdGNjYl9pbml0KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3Qgc2l6ZSwgdTMyIHNhYykKK3sKKwltZW1zZXQodGNjYiwgMCwgc2l6ZSk7CisJdGNjYi0+dGNhaC5mb3JtYXQgPSBUQ0NCX0ZPUk1BVF9ERUZBVUxUOworCXRjY2ItPnRjYWguc2FjID0gc2FjOworCXRjY2ItPnRjYWgudGNhbCA9IDEyOworfQorRVhQT1JUX1NZTUJPTCh0Y2NiX2luaXQpOworCisvKioKKyAqIHRzYl9pbml0IC0gaW5pdGlhbGl6ZSB0c2IKKyAqIEB0c2I6IHRoZSB0c2IgYWRkcmVzcworICoKKyAqIEluaXRpYWxpemUgdGhlIHNwZWNpZmllZCB0c2IgYnkgcmVzZXR0aW5nIGFsbCB2YWx1ZXMgdG8gemVyby4KKyAqLwordm9pZCB0c2JfaW5pdChzdHJ1Y3QgdHNiICp0c2IpCit7CisJbWVtc2V0KHRzYiwgMCwgc2l6ZW9mKHRzYikpOworfQorRVhQT1JUX1NZTUJPTCh0c2JfaW5pdCk7CisKKy8qKgorICogdGNjYl9hZGRfZGN3IC0gYWRkIGEgZGN3IHRvIHRoZSB0Y2NiCisgKiBAdGNjYjogdGhlIHRjY2IgYWRkcmVzcworICogQHRjY2Jfc2l6ZTogdGhlIG1heGltdW0gdGNjYiBzaXplCisgKiBAY21kOiB0aGUgZGN3IGNvbW1hbmQKKyAqIEBmbGFnczogZmxhZ3MgZm9yIHRoZSBkY3cKKyAqIEBjZDogcG9pbnRlciB0byBjb250cm9sIGRhdGEgZm9yIHRoaXMgZGN3IG9yIE5VTEwgaWYgbm9uZSBpcyByZXF1aXJlZAorICogQGNkX2NvdW50OiBudW1iZXIgb2YgY29udHJvbCBkYXRhIGJ5dGVzIGZvciB0aGlzIGRjdworICogQGNvdW50OiBudW1iZXIgb2YgZGF0YSBieXRlcyBmb3IgdGhpcyBkY3cKKyAqCisgKiBBZGQgYSBuZXcgZGN3IHRvIHRoZSBzcGVjaWZpZWQgdGNjYiBieSB3cml0aW5nIHRoZSBkY3cgaW5mb3JtYXRpb24gc3BlY2lmaWVkCisgKiBieSBAY21kLCBAZmxhZ3MsIEBjZCwgQGNkX2NvdW50IGFuZCBAY291bnQgdG8gdGhlIHRjYSBvZiB0aGUgdGNjYi4gUmV0dXJuCisgKiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFkZGVkIGRjdyBvbiBzdWNjZXNzIG9yIC0lRU5PU1BDIGlmIHRoZSBuZXcgZGN3CisgKiB3b3VsZCBleGNlZWQgdGhlIGF2YWlsYWJsZSBzcGFjZSBhcyBkZWZpbmVkIGJ5IEB0Y2NiX3NpemUuCisgKgorICogTm90ZTogdGhlIHRjYWwgZmllbGQgb2YgdGhlIHRjY2IgaGVhZGVyIHdpbGwgYmUgdXBkYXRlcyB0byByZWZsZWN0IGFkZGVkCisgKiBjb250ZW50LgorICovCitzdHJ1Y3QgZGN3ICp0Y2NiX2FkZF9kY3coc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHU4IGNtZCwgdTggZmxhZ3MsCisJCQkgdm9pZCAqY2QsIHU4IGNkX2NvdW50LCB1MzIgY291bnQpCit7CisJc3RydWN0IGRjdyAqZGN3OworCWludCBzaXplOworCWludCB0Y2Ffb2Zmc2V0OworCisJLyogQ2hlY2sgZm9yIHNwYWNlLiAqLworCXRjYV9vZmZzZXQgPSB0Y2Ffc2l6ZSh0Y2NiKTsKKwlzaXplID0gQUxJR04oc2l6ZW9mKHN0cnVjdCBkY3cpICsgY2RfY291bnQsIDQpOworCWlmIChzaXplb2Yoc3RydWN0IHRjY2JfdGNhaCkgKyB0Y2Ffb2Zmc2V0ICsgc2l6ZSArCisJICAgIHNpemVvZihzdHJ1Y3QgdGNjYl90Y2F0KSA+IHRjY2Jfc2l6ZSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT1NQQyk7CisJLyogQWRkIGRjdyB0byB0Y2EuICovCisJZGN3ID0gKHN0cnVjdCBkY3cgKikgJnRjY2ItPnRjYVt0Y2Ffb2Zmc2V0XTsKKwltZW1zZXQoZGN3LCAwLCBzaXplKTsKKwlkY3ctPmNtZCA9IGNtZDsKKwlkY3ctPmZsYWdzID0gZmxhZ3M7CisJZGN3LT5jb3VudCA9IGNvdW50OworCWRjdy0+Y2RfY291bnQgPSBjZF9jb3VudDsKKwlpZiAoY2QpCisJCW1lbWNweSgmZGN3LT5jZFswXSwgY2QsIGNkX2NvdW50KTsKKwl0Y2NiLT50Y2FoLnRjYWwgKz0gc2l6ZTsKKwlyZXR1cm4gZGN3OworfQorRVhQT1JUX1NZTUJPTCh0Y2NiX2FkZF9kY3cpOworCisvKioKKyAqIHRjd19hZGRfdGlkYXcgLSBhZGQgYSB0aWRhdyB0byBhIHRjdworICogQHRjdzogdGhlIHRjdyBhZGRyZXNzCisgKiBAbnVtX3RpZGF3czogdGhlIGN1cnJlbnQgbnVtYmVyIG9mIHRpZGF3cworICogQGZsYWdzOiBmbGFncyBmb3IgdGhlIG5ldyB0aWRhdworICogQGFkZHI6IGFkZHJlc3MgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBjb3VudDogY291bnQgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqCisgKiBBZGQgYSBuZXcgdGlkYXcgdG8gdGhlIGlucHV0L291dHB1dCBkYXRhIHRpZGF3LWxpc3Qgb2YgdGhlIHNwZWNpZmllZCB0Y3cKKyAqIChkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZSByLWZsYWcgYW5kIHctZmxhZykgYW5kIHJldHVybiBhIHBvaW50ZXIgdG8KKyAqIHRoZSBuZXcgdGlkYXcuCisgKgorICogTm90ZTogdGhlIHRpZGF3LWxpc3QgaXMgYXNzdW1lZCB0byBiZSBjb250aWd1b3VzIHdpdGggbm8gdHRpY3MuIFRoZSBjYWxsZXIKKyAqIG11c3QgZW5zdXJlIHRoYXQgdGhlcmUgaXMgZW5vdWdoIHNwYWNlIGZvciB0aGUgbmV3IHRpZGF3LiBUaGUgbGFzdC10aWRhdworICogZmxhZyBmb3IgdGhlIGxhc3QgdGlkYXcgaW4gdGhlIGxpc3Qgd2lsbCBiZSBzZXQgYnkgdGN3X2ZpbmFsaXplLgorICovCitzdHJ1Y3QgdGlkYXcgKnRjd19hZGRfdGlkYXcoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cywgdTggZmxhZ3MsCisJCQkgICAgdm9pZCAqYWRkciwgdTMyIGNvdW50KQoreworCXN0cnVjdCB0aWRhdyAqdGlkYXc7CisKKwkvKiBBZGQgdGlkYXcgdG8gdGlkYXctbGlzdC4gKi8KKwl0aWRhdyA9ICgoc3RydWN0IHRpZGF3ICopIHRjd19nZXRfZGF0YSh0Y3cpKSArIG51bV90aWRhd3M7CisJbWVtc2V0KHRpZGF3LCAwLCBzaXplb2Yoc3RydWN0IHRpZGF3KSk7CisJdGlkYXctPmZsYWdzID0gZmxhZ3M7CisJdGlkYXctPmNvdW50ID0gY291bnQ7CisJdGlkYXctPmFkZHIgPSAodTY0KSAoKGFkZHJfdCkgYWRkcik7CisJcmV0dXJuIHRpZGF3OworfQorRVhQT1JUX1NZTUJPTCh0Y3dfYWRkX3RpZGF3KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vaWRzZXQuaCBiL2RyaXZlcnMvczM5MC9jaW8vaWRzZXQuaAppbmRleCAxNDQ0NjZhLi41MjgwNjVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2lkc2V0LmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9pZHNldC5oCkBAIC04LDcgKzgsNyBAQAogI2lmbmRlZiBTMzkwX0lEU0VUX0gKICNkZWZpbmUgUzM5MF9JRFNFVF9IIFMzOTBfSURTRVRfSAogCi0jaW5jbHVkZSAic2NoaWQuaCIKKyNpbmNsdWRlIDxhc20vc2NoaWQuaD4KIAogc3RydWN0IGlkc2V0OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lvX3NjaC5oIGIvZHJpdmVycy9zMzkwL2Npby9pb19zY2guaAppbmRleCA4YzYxMzE2Li4zZjhmMWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2lvX3NjaC5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaW9fc2NoLmgKQEAgLTEsMTIgKzEsMTIgQEAKICNpZm5kZWYgUzM5MF9JT19TQ0hfSAogI2RlZmluZSBTMzkwX0lPX1NDSF9ICiAKLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAvKgotICogb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sKKyAqIGNvbW1hbmQtbW9kZSBvcGVyYXRpb24gcmVxdWVzdCBibG9jawogICovCi1zdHJ1Y3Qgb3JiIHsKK3N0cnVjdCBjbWRfb3JiIHsKIAl1MzIgaW50cGFybTsJLyogaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLwogCXUzMiBrZXkgIDogNDsJLyogZmxhZ3MsIGxpa2Uga2V5LCBzdXNwZW5kIGNvbnRyb2wsIGV0Yy4gKi8KIAl1MzIgc3BuZCA6IDE7CS8qIHN1c3BlbmQgY29udHJvbCAqLwpAQCAtMjgsOCArMjgsMzYgQEAKIAl1MzIgY3BhOwkvKiBjaGFubmVsIHByb2dyYW0gYWRkcmVzcyAqLwogfSAgX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg0KSkpOwogCisvKgorICogdHJhbnNwb3J0LW1vZGUgb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sKKyAqLworc3RydWN0IHRtX29yYiB7CisJdTMyIGludHBhcm07CisJdTMyIGtleTo0OworCXUzMiA6OTsKKwl1MzIgYjoxOworCXUzMiA6MjsKKwl1MzIgbHBtOjg7CisJdTMyIDo3OworCXUzMiB4OjE7CisJdTMyIHRjdzsKKwl1MzIgcHJpbzo4OworCXUzMiA6ODsKKwl1MzIgcnN2cGdtOjg7CisJdTMyIDo4OworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgOjMyOworCXUzMiA6MzI7Cit9ICBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDQpKSk7CisKK3VuaW9uIG9yYiB7CisJc3RydWN0IGNtZF9vcmIgY21kOworCXN0cnVjdCB0bV9vcmIgdG07Cit9ICBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDQpKSk7CisKIHN0cnVjdCBpb19zdWJjaGFubmVsX3ByaXZhdGUgewotCXN0cnVjdCBvcmIgb3JiOwkJLyogb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sgKi8KKwl1bmlvbiBvcmIgb3JiOwkJLyogb3BlcmF0aW9uIHJlcXVlc3QgYmxvY2sgKi8KIAlzdHJ1Y3QgY2N3MSBzZW5zZV9jY3c7CS8qIHN0YXRpYyBjY3cgZm9yIHNlbnNlIGNvbW1hbmQgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKTsKIApAQCAtOTUsMTYgKzEyMywxOCBAQAogCXZvaWQgKmNtYl93YWl0OwkJCS8qIGRlZmVycmVkIGNtYiBlbmFibGUvZGlzYWJsZSAqLwogfTsKIAotc3RhdGljIGlubGluZSBpbnQgc3NjaChzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZCwgdm9sYXRpbGUgc3RydWN0IG9yYiAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHNzY2goc3RydWN0IHN1YmNoYW5uZWxfaWQgc2NoaWQsIHZvbGF0aWxlIHVuaW9uIG9yYiAqYWRkcikKIHsKIAlyZWdpc3RlciBzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCByZWcxIGFzbSgiMSIpID0gc2NoaWQ7Ci0JaW50IGNjb2RlOworCWludCBjY29kZSA9IC1FSU87CiAKIAlhc20gdm9sYXRpbGUoCiAJCSIJc3NjaAkwKCUyKVxuIgotCQkiCWlwbQklMFxuIgotCQkiCXNybAklMCwyOCIKLQkJOiAiPWQiIChjY29kZSkgOiAiZCIgKHJlZzEpLCAiYSIgKGFkZHIpLCAibSIgKCphZGRyKSA6ICJjYyIpOworCQkiMDoJaXBtCSUwXG4iCisJCSIJc3JsCSUwLDI4XG4iCisJCSIxOlxuIgorCQlFWF9UQUJMRSgwYiwgMWIpCisJCTogIitkIiAoY2NvZGUpIDogImQiIChyZWcxKSwgImEiIChhZGRyKSwgIm0iICgqYWRkcikgOiAiY2MiKTsKIAlyZXR1cm4gY2NvZGU7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vaW9hc20uaCBiL2RyaXZlcnMvczM5MC9jaW8vaW9hc20uaAppbmRleCA2NTJlYTM2Li45ZmEyYWMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL2lvYXNtLmgKKysrIGIvZHJpdmVycy9zMzkwL2Npby9pb2FzbS5oCkBAIC0yLDcgKzIsNyBAQAogI2RlZmluZSBTMzkwX0NJT19JT0FTTV9ICiAKICNpbmNsdWRlIDxhc20vY2hwaWQuaD4KLSNpbmNsdWRlICJzY2hpZC5oIgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAvKgogICogVFBJIGluZm8gc3RydWN0dXJlCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL2lzYy5jIGIvZHJpdmVycy9zMzkwL2Npby9pc2MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTkyMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zMzkwL2Npby9pc2MuYwpAQCAtMCwwICsxLDY4IEBACisvKgorICogRnVuY3Rpb25zIGZvciByZWdpc3RyYXRpb24gb2YgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzIG9uIHMzOTAuCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiBBdXRob3JzOiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAbGludXgudm5ldC5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGFzbS9pc2MuaD4KKworc3RhdGljIHVuc2lnbmVkIGludCBpc2NfcmVmc1tNQVhfSVNDICsgMV07CitzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGlzY19yZWZfbG9jayk7CisKKworLyoqCisgKiBpc2NfcmVnaXN0ZXIgLSByZWdpc3RlciBhbiBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzLgorICogQGlzYzogSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyB0byByZWdpc3RlcgorICoKKyAqIFRoZSBudW1iZXIgb2YgdXNlcnMgZm9yIEBpc2MgaXMgaW5jcmVhc2VkLiBJZiB0aGlzIGlzIHRoZSBmaXJzdCB1c2VyIHRvCisgKiByZWdpc3RlciBAaXNjLCB0aGUgY29ycmVzcG9uZGluZyBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzIG1hc2sgaXMgZW5hYmxlZC4KKyAqCisgKiBDb250ZXh0OgorICogICBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dC4KKyAqLwordm9pZCBpc2NfcmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYykKK3sKKwlpZiAoaXNjID4gTUFYX0lTQykgeworCQlXQVJOX09OKDEpOworCQlyZXR1cm47CisJfQorCisJc3Bpbl9sb2NrKCZpc2NfcmVmX2xvY2spOworCWlmIChpc2NfcmVmc1tpc2NdID09IDApCisJCWN0bF9zZXRfYml0KDYsIDMxIC0gaXNjKTsKKwlpc2NfcmVmc1tpc2NdKys7CisJc3Bpbl91bmxvY2soJmlzY19yZWZfbG9jayk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChpc2NfcmVnaXN0ZXIpOworCisvKioKKyAqIGlzY191bnJlZ2lzdGVyIC0gdW5yZWdpc3RlciBhbiBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzLgorICogQGlzYzogSS9PIGludGVycnVwdGlvbiBzdWJjbGFzcyB0byB1bnJlZ2lzdGVyCisgKgorICogVGhlIG51bWJlciBvZiB1c2VycyBmb3IgQGlzYyBpcyBkZWNyZWFzZWQuIElmIHRoaXMgaXMgdGhlIGxhc3QgdXNlciB0bworICogdW5yZWdpc3RlciBAaXNjLCB0aGUgY29ycmVzcG9uZGluZyBJL08gaW50ZXJydXB0aW9uIHN1YmNsYXNzIG1hc2sgaXMKKyAqIGRpc2FibGVkLgorICogTm90ZTogVGhpcyBmdW5jdGlvbiBtdXN0IG5vdCBiZSBjYWxsZWQgaWYgaXNjX3JlZ2lzdGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkCisgKiBiZWZvcmUgYnkgdGhlIGRyaXZlciBmb3IgQGlzYy4KKyAqCisgKiBDb250ZXh0OgorICogICBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCBpbiBpbnRlcnJ1cHQgY29udGV4dC4KKyAqLwordm9pZCBpc2NfdW5yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKQoreworCXNwaW5fbG9jaygmaXNjX3JlZl9sb2NrKTsKKwkvKiBjaGVjayBmb3IgbWlzdXNlICovCisJaWYgKGlzYyA+IE1BWF9JU0MgfHwgaXNjX3JlZnNbaXNjXSA9PSAwKSB7CisJCVdBUk5fT04oMSk7CisJCWdvdG8gb3V0X3VubG9jazsKKwl9CisJaWYgKGlzY19yZWZzW2lzY10gPT0gMSkKKwkJY3RsX2NsZWFyX2JpdCg2LCAzMSAtIGlzYyk7CisJaXNjX3JlZnNbaXNjXS0tOworb3V0X3VubG9jazoKKwlzcGluX3VubG9jaygmaXNjX3JlZl9sb2NrKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGlzY191bnJlZ2lzdGVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vaXRjdy5jIGIvZHJpdmVycy9zMzkwL2Npby9pdGN3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdkYTlhYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vaXRjdy5jCkBAIC0wLDAgKzEsMzI3IEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgaW5jcmVtZW50YWwgY29uc3RydWN0aW9uIG9mIGZjeCBlbmFibGVkIEkvTyBjb250cm9sIGJsb2Nrcy4KKyAqCisgKiAgICBDb3B5cmlnaHQgSUJNIENvcnAuIDIwMDgKKyAqICAgIEF1dGhvcihzKTogUGV0ZXIgT2JlcnBhcmxlaXRlciA8cGV0ZXIub2JlcnBhcmxlaXRlckBkZS5pYm0uY29tPgorICovCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvZXJyLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2ZjeC5oPgorI2luY2x1ZGUgPGFzbS9pdGN3Lmg+CisKKy8qKgorICogc3RydWN0IGl0Y3cgLSBpbmNyZW1lbnRhbCB0Y3cgaGVscGVyIGRhdGEgdHlwZQorICoKKyAqIFRoaXMgc3RydWN0dXJlIHNlcnZlcyBhcyBhIGhhbmRsZSBmb3IgdGhlIGluY3JlbWVudGFsIGNvbnN0cnVjdGlvbiBvZiBhCisgKiB0Y3cgYW5kIGFzc29jaWF0ZWQgdGNjYiwgdHNiLCBkYXRhIHRpZGF3LWxpc3QgcGx1cyBhbiBvcHRpb25hbCBpbnRlcnJvZ2F0ZQorICogdGN3IGFuZCBhc3NvY2lhdGVkIGRhdGEuIFRoZSBkYXRhIHN0cnVjdHVyZXMgYXJlIGNvbnRhaW5lZCBpbnNpZGUgYSBzaW5nbGUKKyAqIGNvbnRpZ3VvdXMgYnVmZmVyIHByb3ZpZGVkIGJ5IHRoZSB1c2VyLgorICoKKyAqIFRoZSBpdGN3IGNvbnN0cnVjdGlvbiBmdW5jdGlvbnMgdGFrZSBjYXJlIG9mIG92ZXJhbGwgZGF0YSBpbnRlZ3JpdHk6CisgKiAtIHJlc2V0IHVudXNlZCBmaWVsZHMgdG8gemVybworICogLSBmaWxsIGluIHJlcXVpcmVkIHBvaW50ZXJzCisgKiAtIGVuc3VyZSByZXF1aXJlZCBhbGlnbm1lbnQgZm9yIGRhdGEgc3RydWN0dXJlcworICogLSBwcmV2ZW50IGRhdGEgc3RydWN0dXJlcyB0byBjcm9zcyA0ay1ieXRlIGJvdW5kYXJ5IHdoZXJlIHJlcXVpcmVkCisgKiAtIGNhbGN1bGF0ZSB0Y2NiLXJlbGF0ZWQgbGVuZ3RoIGZpZWxkcworICogLSBvcHRpb25hbGx5IHByb3ZpZGUgcmVhZHktbWFkZSBpbnRlcnJvZ2F0ZSB0Y3cgYW5kIGFzc29jaWF0ZWQgc3RydWN0dXJlcworICoKKyAqIFJlc3RyaWN0aW9ucyBhcHBseSB0byB0aGUgaXRjd3MgY3JlYXRlZCB3aXRoIHRoZXNlIGNvbnN0cnVjdGlvbiBmdW5jdGlvbnM6CisgKiAtIHRpZGEgb25seSBzdXBwb3J0ZWQgZm9yIGRhdGEgYWRkcmVzcywgbm90IGZvciB0Y2NiCisgKiAtIG9ubHkgY29udGlndW91cyB0aWRhdy1saXN0cyAobm8gdHRpYykKKyAqIC0gdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIHBlciBpdGN3IG1heSBub3QgZXhjZWVkIDRrIGJ5dGVzCisgKiAtIGVpdGhlciByZWFkIG9yIHdyaXRlIG9wZXJhdGlvbiAobWF5IG5vdCB3b3JrIHdpdGggcj0wIGFuZCB3PTApCisgKgorICogRXhhbXBsZToKKyAqIHN0cnVjdCBpdGN3ICppdGN3OworICogdm9pZCAqYnVmZmVyOworICogc2l6ZV90IHNpemU7CisgKgorICogc2l6ZSA9IGl0Y3dfY2FsY19zaXplKDEsIDIsIDApOworICogYnVmZmVyID0ga21hbGxvYyhzaXplLCBHRlBfRE1BKTsKKyAqIGlmICghYnVmZmVyKQorICoJcmV0dXJuIC1FTk9NRU07CisgKiBpdGN3ID0gaXRjd19pbml0KGJ1ZmZlciwgc2l6ZSwgSVRDV19PUF9SRUFELCAxLCAyLCAwKTsKKyAqIGlmIChJU19FUlIoaXRjdykpCisgKglyZXR1cm4gUFRSX0VSKGl0Y3cpOworICogaXRjd19hZGRfZGN3KGl0Y3csIDB4MiwgMCwgTlVMTCwgMCwgNzIpOworICogaXRjd19hZGRfdGlkYXcoaXRjdywgMCwgMHgzMDAwMCwgMjApOworICogaXRjd19hZGRfdGlkYXcoaXRjdywgMCwgMHg0MDAwMCwgNTIpOworICogaXRjd19maW5hbGl6ZShpdGN3KTsKKyAqCisgKi8KK3N0cnVjdCBpdGN3IHsKKwlzdHJ1Y3QgdGN3ICp0Y3c7CisJc3RydWN0IHRjdyAqaW50cmdfdGN3OworCWludCBudW1fdGlkYXdzOworCWludCBtYXhfdGlkYXdzOworCWludCBpbnRyZ19udW1fdGlkYXdzOworCWludCBpbnRyZ19tYXhfdGlkYXdzOworfTsKKworLyoqCisgKiBpdGN3X2dldF90Y3cgLSByZXR1cm4gcG9pbnRlciB0byB0Y3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGN3CisgKiBAaXRjdzogYWRkcmVzcyBvZiB0aGUgaXRjdworICoKKyAqIFJldHVybiBwb2ludGVyIHRvIHRoZSB0Y3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGN3LgorICovCitzdHJ1Y3QgdGN3ICppdGN3X2dldF90Y3coc3RydWN0IGl0Y3cgKml0Y3cpCit7CisJcmV0dXJuIGl0Y3ctPnRjdzsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19nZXRfdGN3KTsKKworLyoqCisgKiBpdGN3X2NhbGNfc2l6ZSAtIHJldHVybiB0aGUgc2l6ZSBvZiBhbiBpdGN3IHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMKKyAqIEBpbnRyZzogaWYgbm9uLXplcm8sIGFkZCBhbiBpbnRlcnJvZ2F0ZSB0Y3cKKyAqIEBtYXhfdGlkYXdzOiBtYXhpbXVtIG51bWJlciBvZiB0aWRhd3MgdG8gYmUgdXNlZCBmb3IgZGF0YSBhZGRyZXNzaW5nIG9yIHplcm8KKyAqIGlmIG5vIHRpZGEgaXMgdG8gYmUgdXNlZC4KKyAqIEBpbnRyZ19tYXhfdGlkYXdzOiBtYXhpbXVtIG51bWJlciBvZiB0aWRhd3MgdG8gYmUgdXNlZCBmb3IgZGF0YSBhZGRyZXNzaW5nCisgKiBieSB0aGUgaW50ZXJyb2dhdGUgdGN3LCBpZiBzcGVjaWZpZWQKKyAqCisgKiBDYWxjdWxhdGUgYW5kIHJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIHRvIGhvbGQgYW4gaXRjdyB3aXRoIHRoZQorICogZ2l2ZW4gcGFyYW1ldGVycyBhbmQgYXNzdW1pbmcgdGNjYnMgd2l0aCBtYXhpbXVtIHNpemUuCisgKgorICogTm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgc2l6ZSBhbHNvIGNvbnRhaW5zIGJ5dGVzIG5lZWRlZCBmb3IgYWxpZ25tZW50CisgKiBwYWRkaW5nIGFzIHdlbGwgYXMgcGFkZGluZyB0byBlbnN1cmUgdGhhdCBkYXRhIHN0cnVjdHVyZXMgZG9uJ3QgY3Jvc3MgYQorICogNGstYm91bmRhcnkgd2hlcmUgcmVxdWlyZWQuCisgKi8KK3NpemVfdCBpdGN3X2NhbGNfc2l6ZShpbnQgaW50cmcsIGludCBtYXhfdGlkYXdzLCBpbnQgaW50cmdfbWF4X3RpZGF3cykKK3sKKwlzaXplX3QgbGVuOworCisJLyogTWFpbiBkYXRhLiAqLworCWxlbiA9IHNpemVvZihzdHJ1Y3QgaXRjdyk7CisJbGVuICs9IC8qIFRDVyAqLyBzaXplb2Yoc3RydWN0IHRjdykgKyAvKiBUQ0NCICovIFRDQ0JfTUFYX1NJWkUgKworCSAgICAgICAvKiBUU0IgKi8gc2l6ZW9mKHN0cnVjdCB0c2IpICsKKwkgICAgICAgLyogVElEQUwgKi8gbWF4X3RpZGF3cyAqIHNpemVvZihzdHJ1Y3QgdGlkYXcpOworCS8qIEludGVycm9nYXRlIGRhdGEuICovCisJaWYgKGludHJnKSB7CisJCWxlbiArPSAvKiBUQ1cgKi8gc2l6ZW9mKHN0cnVjdCB0Y3cpICsgLyogVENDQiAqLyBUQ0NCX01BWF9TSVpFICsKKwkJICAgICAgIC8qIFRTQiAqLyBzaXplb2Yoc3RydWN0IHRzYikgKworCQkgICAgICAgLyogVElEQUwgKi8gaW50cmdfbWF4X3RpZGF3cyAqIHNpemVvZihzdHJ1Y3QgdGlkYXcpOworCX0KKwkvKiBNYXhpbXVtIHJlcXVpcmVkIGFsaWdubWVudCBwYWRkaW5nLiAqLworCWxlbiArPSAvKiBJbml0aWFsIFRDVyAqLyA2MyArIC8qIEludGVycm9nYXRlIFRDQ0IgKi8gNzsKKwkvKiBNYXhpbXVtIHBhZGRpbmcgZm9yIHN0cnVjdHVyZXMgdGhhdCBtYXkgbm90IGNyb3NzIDRrIGJvdW5kYXJ5LiAqLworCWlmICgobWF4X3RpZGF3cyA+IDApIHx8IChpbnRyZ19tYXhfdGlkYXdzID4gMCkpCisJCWxlbiArPSBtYXgobWF4X3RpZGF3cywgaW50cmdfbWF4X3RpZGF3cykgKgorCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0aWRhdykgLSAxOworCXJldHVybiBsZW47Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfY2FsY19zaXplKTsKKworI2RlZmluZSBDUk9TUzRLKHgsIGwpCSgoKHgpICYgfjQwOTUpICE9ICgoeCArIGwpICYgfjQwOTUpKQorCitzdGF0aWMgaW5saW5lIHZvaWQgKmZpdF9jaHVuayhhZGRyX3QgKnN0YXJ0LCBhZGRyX3QgZW5kLCBzaXplX3QgbGVuLAorCQkJICAgICAgaW50IGFsaWduLCBpbnQgY2hlY2tfNGspCit7CisJYWRkcl90IGFkZHI7CisKKwlhZGRyID0gQUxJR04oKnN0YXJ0LCBhbGlnbik7CisJaWYgKGNoZWNrXzRrICYmIENST1NTNEsoYWRkciwgbGVuKSkgeworCQlhZGRyID0gQUxJR04oYWRkciwgNDA5Nik7CisJCWFkZHIgPSBBTElHTihhZGRyLCBhbGlnbik7CisJfQorCWlmIChhZGRyICsgbGVuID4gZW5kKQorCQlyZXR1cm4gRVJSX1BUUigtRU5PU1BDKTsKKwkqc3RhcnQgPSBhZGRyICsgbGVuOworCXJldHVybiAodm9pZCAqKSBhZGRyOworfQorCisvKioKKyAqIGl0Y3dfaW5pdCAtIGluaXRpYWxpemUgaW5jcmVtZW50YWwgdGN3IGRhdGEgc3RydWN0dXJlCisgKiBAYnVmZmVyOiBhZGRyZXNzIG9mIGJ1ZmZlciB0byB1c2UgZm9yIGRhdGEgc3RydWN0dXJlcworICogQHNpemU6IG51bWJlciBvZiBieXRlcyBpbiBidWZmZXIKKyAqIEBvcDogJUlUQ1dfT1BfUkVBRCBmb3IgYSByZWFkIG9wZXJhdGlvbiB0Y3csICVJVENXX09QX1dSSVRFIGZvciBhIHdyaXRlCisgKiBvcGVyYXRpb24gdGN3CisgKiBAaW50cmc6IGlmIG5vbi16ZXJvLCBhZGQgYW5kIGluaXRpYWxpemUgYW4gaW50ZXJyb2dhdGUgdGN3CisgKiBAbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZyBvciB6ZXJvCisgKiBpZiBubyB0aWRhIGlzIHRvIGJlIHVzZWQuCisgKiBAaW50cmdfbWF4X3RpZGF3czogbWF4aW11bSBudW1iZXIgb2YgdGlkYXdzIHRvIGJlIHVzZWQgZm9yIGRhdGEgYWRkcmVzc2luZworICogYnkgdGhlIGludGVycm9nYXRlIHRjdywgaWYgc3BlY2lmaWVkCisgKgorICogUHJlcGFyZSB0aGUgc3BlY2lmaWVkIGJ1ZmZlciB0byBiZSB1c2VkIGFzIGFuIGluY3JlbWVudGFsIHRjdywgaS5lLiBhCisgKiBoZWxwZXIgZGF0YSBzdHJ1Y3R1cmUgdGhhdCBjYW4gYmUgdXNlZCB0byBjb25zdHJ1Y3QgYSB2YWxpZCB0Y3cgYnkKKyAqIHN1Y2Nlc3NpdmUgY2FsbHMgdG8gb3RoZXIgaGVscGVyIGZ1bmN0aW9ucy4gTm90ZTogdGhlIGJ1ZmZlciBuZWVkcyB0byBiZQorICogbG9jYXRlZCBiZWxvdyB0aGUgMkcgYWRkcmVzcyBsaW1pdC4gVGhlIHJlc3VsdGluZyB0Y3cgaGFzIHRoZSBmb2xsb3dpbmcKKyAqIHJlc3RyaWN0aW9uczoKKyAqICAtIG5vIHRjY2IgdGlkYWwKKyAqICAtIGlucHV0L291dHB1dCB0aWRhbCBpcyBjb250aWd1b3VzIChubyB0dGljKQorICogIC0gdG90YWwgZGF0YSBzaG91bGQgbm90IGV4Y2VlZCA0aworICogIC0gdGN3IHNwZWNpZmllcyBlaXRoZXIgcmVhZCBvciB3cml0ZSBvcGVyYXRpb24KKyAqCisgKiBPbiBzdWNjZXNzLCByZXR1cm4gcG9pbnRlciB0byB0aGUgcmVzdWx0aW5nIGluY3JlbWVudGFsIHRjdyBkYXRhIHN0cnVjdHVyZSwKKyAqIEVSUl9QVFIgb3RoZXJ3aXNlLgorICovCitzdHJ1Y3QgaXRjdyAqaXRjd19pbml0KHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUsIGludCBvcCwgaW50IGludHJnLAorCQkgICAgICAgaW50IG1heF90aWRhd3MsIGludCBpbnRyZ19tYXhfdGlkYXdzKQoreworCXN0cnVjdCBpdGN3ICppdGN3OworCXZvaWQgKmNodW5rOworCWFkZHJfdCBzdGFydDsKKwlhZGRyX3QgZW5kOworCisJLyogQ2hlY2sgZm9yIDJHIGxpbWl0LiAqLworCXN0YXJ0ID0gKGFkZHJfdCkgYnVmZmVyOworCWVuZCA9IHN0YXJ0ICsgc2l6ZTsKKwlpZiAoZW5kID4gKDEgPDwgMzEpKQorCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwltZW1zZXQoYnVmZmVyLCAwLCBzaXplKTsKKwkvKiBJVENXLiAqLworCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IGl0Y3cpLCAxLCAwKTsKKwlpZiAoSVNfRVJSKGNodW5rKSkKKwkJcmV0dXJuIGNodW5rOworCWl0Y3cgPSBjaHVuazsKKwlpdGN3LT5tYXhfdGlkYXdzID0gbWF4X3RpZGF3czsKKwlpdGN3LT5pbnRyZ19tYXhfdGlkYXdzID0gaW50cmdfbWF4X3RpZGF3czsKKwkvKiBNYWluIFRDVy4gKi8KKwljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0Y3cpLCA2NCwgMCk7CisJaWYgKElTX0VSUihjaHVuaykpCisJCXJldHVybiBjaHVuazsKKwlpdGN3LT50Y3cgPSBjaHVuazsKKwl0Y3dfaW5pdChpdGN3LT50Y3csIChvcCA9PSBJVENXX09QX1JFQUQpID8gMSA6IDAsCisJCSAob3AgPT0gSVRDV19PUF9XUklURSkgPyAxIDogMCk7CisJLyogSW50ZXJyb2dhdGUgVENXLiAqLworCWlmIChpbnRyZykgeworCQljaHVuayA9IGZpdF9jaHVuaygmc3RhcnQsIGVuZCwgc2l6ZW9mKHN0cnVjdCB0Y3cpLCA2NCwgMCk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQlpdGN3LT5pbnRyZ190Y3cgPSBjaHVuazsKKwkJdGN3X2luaXQoaXRjdy0+aW50cmdfdGN3LCAxLCAwKTsKKwkJdGN3X3NldF9pbnRyZyhpdGN3LT50Y3csIGl0Y3ctPmludHJnX3Rjdyk7CisJfQorCS8qIERhdGEgVElEQUwuICovCisJaWYgKG1heF90aWRhd3MgPiAwKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRpZGF3KSAqCisJCQkJICBtYXhfdGlkYXdzLCAxNiwgMSk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0Y3dfc2V0X2RhdGEoaXRjdy0+dGN3LCBjaHVuaywgMSk7CisJfQorCS8qIEludGVycm9nYXRlIGRhdGEgVElEQUwuICovCisJaWYgKGludHJnICYmIChpbnRyZ19tYXhfdGlkYXdzID4gMCkpIHsKKwkJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdGlkYXcpICoKKwkJCQkgIGludHJnX21heF90aWRhd3MsIDE2LCAxKTsKKwkJaWYgKElTX0VSUihjaHVuaykpCisJCQlyZXR1cm4gY2h1bms7CisJCXRjd19zZXRfZGF0YShpdGN3LT5pbnRyZ190Y3csIGNodW5rLCAxKTsKKwl9CisJLyogVFNCLiAqLworCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBzaXplb2Yoc3RydWN0IHRzYiksIDgsIDApOworCWlmIChJU19FUlIoY2h1bmspKQorCQlyZXR1cm4gY2h1bms7CisJdHNiX2luaXQoY2h1bmspOworCXRjd19zZXRfdHNiKGl0Y3ctPnRjdywgY2h1bmspOworCS8qIEludGVycm9nYXRlIFRTQi4gKi8KKwlpZiAoaW50cmcpIHsKKwkJY2h1bmsgPSBmaXRfY2h1bmsoJnN0YXJ0LCBlbmQsIHNpemVvZihzdHJ1Y3QgdHNiKSwgOCwgMCk7CisJCWlmIChJU19FUlIoY2h1bmspKQorCQkJcmV0dXJuIGNodW5rOworCQl0c2JfaW5pdChjaHVuayk7CisJCXRjd19zZXRfdHNiKGl0Y3ctPmludHJnX3RjdywgY2h1bmspOworCX0KKwkvKiBUQ0NCLiAqLworCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBUQ0NCX01BWF9TSVpFLCA4LCAwKTsKKwlpZiAoSVNfRVJSKGNodW5rKSkKKwkJcmV0dXJuIGNodW5rOworCXRjY2JfaW5pdChjaHVuaywgVENDQl9NQVhfU0laRSwgVENDQl9TQUNfREVGQVVMVCk7CisJdGN3X3NldF90Y2NiKGl0Y3ctPnRjdywgY2h1bmspOworCS8qIEludGVycm9nYXRlIFRDQ0IuICovCisJaWYgKGludHJnKSB7CisJCWNodW5rID0gZml0X2NodW5rKCZzdGFydCwgZW5kLCBUQ0NCX01BWF9TSVpFLCA4LCAwKTsKKwkJaWYgKElTX0VSUihjaHVuaykpCisJCQlyZXR1cm4gY2h1bms7CisJCXRjY2JfaW5pdChjaHVuaywgVENDQl9NQVhfU0laRSwgVENDQl9TQUNfSU5UUkcpOworCQl0Y3dfc2V0X3RjY2IoaXRjdy0+aW50cmdfdGN3LCBjaHVuayk7CisJCXRjY2JfYWRkX2RjdyhjaHVuaywgVENDQl9NQVhfU0laRSwgRENXX0NNRF9JTlRSRywgMCwgTlVMTCwKKwkJCSAgICAgc2l6ZW9mKHN0cnVjdCBkY3dfaW50cmdfZGF0YSksIDApOworCQl0Y3dfZmluYWxpemUoaXRjdy0+aW50cmdfdGN3LCAwKTsKKwl9CisJcmV0dXJuIGl0Y3c7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfaW5pdCk7CisKKy8qKgorICogaXRjd19hZGRfZGN3IC0gYWRkIGEgZGN3IHRvIHRoZSBpdGN3CisgKiBAaXRjdzogYWRkcmVzcyBvZiB0aGUgaXRjdworICogQGNtZDogdGhlIGRjdyBjb21tYW5kCisgKiBAZmxhZ3M6IGZsYWdzIGZvciB0aGUgZGN3CisgKiBAY2Q6IGFkZHJlc3Mgb2YgY29udHJvbCBkYXRhIGZvciB0aGlzIGRjdyBvciBOVUxMIGlmIG5vbmUgaXMgcmVxdWlyZWQKKyAqIEBjZF9jb3VudDogbnVtYmVyIG9mIGNvbnRyb2wgZGF0YSBieXRlcyBmb3IgdGhpcyBkY3cKKyAqIEBjb3VudDogbnVtYmVyIG9mIGRhdGEgYnl0ZXMgZm9yIHRoaXMgZGN3CisgKgorICogQWRkIGEgbmV3IGRjdyB0byB0aGUgc3BlY2lmaWVkIGl0Y3cgYnkgd3JpdGluZyB0aGUgZGN3IGluZm9ybWF0aW9uIHNwZWNpZmllZAorICogYnkgQGNtZCwgQGZsYWdzLCBAY2QsIEBjZF9jb3VudCBhbmQgQGNvdW50IHRvIHRoZSB0Y2Egb2YgdGhlIHRjY2IuIFJldHVybgorICogYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhZGRlZCBkY3cgb24gc3VjY2VzcyBvciAtJUVOT1NQQyBpZiB0aGUgbmV3IGRjdworICogd291bGQgZXhjZWVkIHRoZSBhdmFpbGFibGUgc3BhY2UuCisgKgorICogTm90ZTogdGhlIHRjYWwgZmllbGQgb2YgdGhlIHRjY2IgaGVhZGVyIHdpbGwgYmUgdXBkYXRlZCB0byByZWZsZWN0IGFkZGVkCisgKiBjb250ZW50LgorICovCitzdHJ1Y3QgZGN3ICppdGN3X2FkZF9kY3coc3RydWN0IGl0Y3cgKml0Y3csIHU4IGNtZCwgdTggZmxhZ3MsIHZvaWQgKmNkLAorCQkJIHU4IGNkX2NvdW50LCB1MzIgY291bnQpCit7CisJcmV0dXJuIHRjY2JfYWRkX2Rjdyh0Y3dfZ2V0X3RjY2IoaXRjdy0+dGN3KSwgVENDQl9NQVhfU0laRSwgY21kLAorCQkJICAgIGZsYWdzLCBjZCwgY2RfY291bnQsIGNvdW50KTsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19hZGRfZGN3KTsKKworLyoqCisgKiBpdGN3X2FkZF90aWRhdyAtIGFkZCBhIHRpZGF3IHRvIHRoZSBpdGN3CisgKiBAaXRjdzogYWRkcmVzcyBvZiB0aGUgaXRjdworICogQGZsYWdzOiBmbGFncyBmb3IgdGhlIG5ldyB0aWRhdworICogQGFkZHI6IGFkZHJlc3MgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqIEBjb3VudDogY291bnQgdmFsdWUgZm9yIHRoZSBuZXcgdGlkYXcKKyAqCisgKiBBZGQgYSBuZXcgdGlkYXcgdG8gdGhlIGlucHV0L291dHB1dCBkYXRhIHRpZGF3LWxpc3Qgb2YgdGhlIHNwZWNpZmllZCBpdGN3CisgKiAoZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUgci1mbGFnIGFuZCB3LWZsYWcpLiBSZXR1cm4gYSBwb2ludGVyIHRvCisgKiB0aGUgbmV3IHRpZGF3IG9uIHN1Y2Nlc3Mgb3IgLSVFTk9TUEMgaWYgdGhlIG5ldyB0aWRhdyB3b3VsZCBleGNlZWQgdGhlCisgKiBhdmFpbGFibGUgc3BhY2UuCisgKgorICogTm90ZTogdGhlIHRpZGF3LWxpc3QgaXMgYXNzdW1lZCB0byBiZSBjb250aWd1b3VzIHdpdGggbm8gdHRpY3MuIFRoZQorICogbGFzdC10aWRhdyBmbGFnIGZvciB0aGUgbGFzdCB0aWRhdyBpbiB0aGUgbGlzdCB3aWxsIGJlIHNldCBieSBpdGN3X2ZpbmFsaXplLgorICovCitzdHJ1Y3QgdGlkYXcgKml0Y3dfYWRkX3RpZGF3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBmbGFncywgdm9pZCAqYWRkciwgdTMyIGNvdW50KQoreworCWlmIChpdGN3LT5udW1fdGlkYXdzID49IGl0Y3ctPm1heF90aWRhd3MpCisJCXJldHVybiBFUlJfUFRSKC1FTk9TUEMpOworCXJldHVybiB0Y3dfYWRkX3RpZGF3KGl0Y3ctPnRjdywgaXRjdy0+bnVtX3RpZGF3cysrLCBmbGFncywgYWRkciwgY291bnQpOworfQorRVhQT1JUX1NZTUJPTChpdGN3X2FkZF90aWRhdyk7CisKKy8qKgorICogaXRjd19zZXRfZGF0YSAtIHNldCBkYXRhIGFkZHJlc3MgYW5kIHRpZGEgZmxhZyBvZiB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqIEBhZGRyOiB0aGUgZGF0YSBhZGRyZXNzCisgKiBAdXNlX3RpZGFsOiB6ZXJvIG9mIHRoZSBkYXRhIGFkZHJlc3Mgc3BlY2lmaWVzIGEgY29udGlndW91cyBibG9jayBvZiBkYXRhLAorICogbm9uLXplcm8gaWYgaXQgc3BlY2lmaWVzIGEgbGlzdCBpZiB0aWRhd3MuCisgKgorICogU2V0IHRoZSBpbnB1dC9vdXRwdXQgZGF0YSBhZGRyZXNzIG9mIHRoZSBpdGN3IChkZXBlbmRpbmcgb24gdGhlIHZhbHVlIG9mIHRoZQorICogci1mbGFnIGFuZCB3LWZsYWcpLiBJZiBAdXNlX3RpZGFsIGlzIG5vbi16ZXJvLCB0aGUgY29ycmVzcG9uZGluZyB0aWRhIGZsYWcKKyAqIGlzIHNldCBhcyB3ZWxsLgorICovCit2b2lkIGl0Y3dfc2V0X2RhdGEoc3RydWN0IGl0Y3cgKml0Y3csIHZvaWQgKmFkZHIsIGludCB1c2VfdGlkYWwpCit7CisJdGN3X3NldF9kYXRhKGl0Y3ctPnRjdywgYWRkciwgdXNlX3RpZGFsKTsKK30KK0VYUE9SVF9TWU1CT0woaXRjd19zZXRfZGF0YSk7CisKKy8qKgorICogaXRjd19maW5hbGl6ZSAtIGNhbGN1bGF0ZSBsZW5ndGggYW5kIGNvdW50IGZpZWxkcyBvZiB0aGUgaXRjdworICogQGl0Y3c6IGFkZHJlc3Mgb2YgdGhlIGl0Y3cKKyAqCisgKiBDYWxjdWxhdGUgdGN3IGlucHV0LS9vdXRwdXQtY291bnQgYW5kIHRjY2JsIGZpZWxkcyBhbmQgYWRkIGEgdGNhdCB0aGUgdGNjYi4KKyAqIEluIGNhc2UgaW5wdXQtIG9yIG91dHB1dC10aWRhIGlzIHVzZWQsIHRoZSB0aWRhdy1saXN0IG11c3QgYmUgc3RvcmVkIGluCisgKiBjb250aW51b3VzIHN0b3JhZ2UgKG5vIHR0aWMpLiBUaGUgdGNhbCBmaWVsZCBpbiB0aGUgdGNjYiBtdXN0IGJlCisgKiB1cC10by1kYXRlLgorICovCit2b2lkIGl0Y3dfZmluYWxpemUoc3RydWN0IGl0Y3cgKml0Y3cpCit7CisJdGN3X2ZpbmFsaXplKGl0Y3ctPnRjdywgaXRjdy0+bnVtX3RpZGF3cyk7Cit9CitFWFBPUlRfU1lNQk9MKGl0Y3dfZmluYWxpemUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2Npby9xZGlvLmMgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uYwppbmRleCA0NDVjZjM2Li4yYmYzNmUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uYworKysgYi9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uYwpAQCAtMjA4Miw3ICsyMDgyLDYgQEAKIAlkZWZhdWx0OgogCQlCVUcoKTsKIAl9Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIAl3YWtlX3VwKCZjZGV2LT5wcml2YXRlLT53YWl0X3EpOwogfQogCkBAIC0yMTIxLDYgKzIxMjAsOCBAQAogCQljYXNlIC1FSU86CiAJCQlRRElPX1BSSU5UX0VSUigiaS9vIGVycm9yIG9uIGRldmljZSAlc1xuIiwKIAkJCQkgICAgICAgY2Rldi0+ZGV2LmJ1c19pZCk7CisJCQlxZGlvX3NldF9zdGF0ZShpcnFfcHRyLCBRRElPX0lSUV9TVEFURV9FUlIpOworCQkJd2FrZV91cCgmY2Rldi0+cHJpdmF0ZS0+d2FpdF9xKTsKIAkJCXJldHVybjsKIAkJY2FzZSAtRVRJTUVET1VUOgogCQkJcWRpb190aW1lb3V0X2hhbmRsZXIoY2Rldik7CkBAIC0yMTM5LDggKzIxNDAsOCBAQAogCVFESU9fREJGX1RFWFQ0KDAsIHRyYWNlLCBkYmZfdGV4dCk7CiAjZW5kaWYgLyogQ09ORklHX1FESU9fREVCVUcgKi8KIAotICAgICAgICBjc3RhdCA9IGlyYi0+c2Nzdy5jc3RhdDsKLSAgICAgICAgZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCXN3aXRjaCAoaXJxX3B0ci0+c3RhdGUpIHsKIAljYXNlIFFESU9fSVJRX1NUQVRFX0lOQUNUSVZFOgpAQCAtMjM1Myw5ICsyMzU0LDYgQEAKIHsKIAljaGFyIGRiZl90ZXh0WzE1XTsKIAotCWlmICghY3NzX2NoYXJhY3RlcmlzdGljc19hdmFpbCkKLQkJcmV0dXJuIC1FSU87Ci0KIAkvKiBDaGVjayBmb3IgYml0IDQxLiAqLwogCWlmICghY3NzX2dlbmVyYWxfY2hhcmFjdGVyaXN0aWNzLmFpZikgewogCQlRRElPX1BSSU5UX1dBUk4oIkFkYXB0ZXIgaW50ZXJydXB0aW9uIGZhY2lsaXR5IG5vdCAiIFwKQEAgLTI2NjcsMTIgKzI2NjUsMTIgQEAKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShnZXRfY2N3ZGV2X2xvY2soY2RldiksIGZsYWdzKTsKIAl9IGVsc2UgaWYgKHJjID09IDApIHsKIAkJcWRpb19zZXRfc3RhdGUoaXJxX3B0ciwgUURJT19JUlFfU1RBVEVfQ0xFQU5VUCk7Ci0JCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgdGltZW91dCk7CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLGZsYWdzKTsKIAotCQl3YWl0X2V2ZW50KGNkZXYtPnByaXZhdGUtPndhaXRfcSwKLQkJCSAgIGlycV9wdHItPnN0YXRlID09IFFESU9fSVJRX1NUQVRFX0lOQUNUSVZFIHx8Ci0JCQkgICBpcnFfcHRyLT5zdGF0ZSA9PSBRRElPX0lSUV9TVEFURV9FUlIpOworCQl3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChjZGV2LT5wcml2YXRlLT53YWl0X3EsCisJCQlpcnFfcHRyLT5zdGF0ZSA9PSBRRElPX0lSUV9TVEFURV9JTkFDVElWRSB8fAorCQkJaXJxX3B0ci0+c3RhdGUgPT0gUURJT19JUlFfU1RBVEVfRVJSLAorCQkJdGltZW91dCk7CiAJfSBlbHNlIHsKIAkJUURJT19QUklOVF9JTkZPKCJjY3dfZGV2aWNlX3toYWx0LGNsZWFyfSByZXR1cm5lZCAlZCBmb3IgIgogCQkJCSJkZXZpY2UgJXNcbiIsIHJlc3VsdCwgY2Rldi0+ZGV2LmJ1c19pZCk7CkBAIC0yNjkyLDcgKzI2OTAsNiBAQAogCiAJLyogSWdub3JlIGVycm9ycy4gKi8KIAlxZGlvX3NldF9zdGF0ZShpcnFfcHRyLCBRRElPX0lSUV9TVEFURV9JTkFDVElWRSk7Ci0JY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKIG91dDoKIAl1cCgmaXJxX3B0ci0+c2V0dGluZ191cF9zZW1hKTsKIAlyZXR1cm4gcmVzdWx0OwpAQCAtMjkwNywxMyArMjkwNCwxMCBAQAogCVFESU9fREJGX1RFWFQwKDAsc2V0dXAsZGJmX3RleHQpOwogCVFESU9fREJGX1RFWFQwKDAsdHJhY2UsZGJmX3RleHQpOwogCi0JaWYgKHFkaW9fZXN0YWJsaXNoX2lycV9jaGVja19mb3JfZXJyb3JzKGNkZXYsIGNzdGF0LCBkc3RhdCkpIHsKLQkJY2N3X2RldmljZV9zZXRfdGltZW91dChjZGV2LCAwKTsKKwlpZiAocWRpb19lc3RhYmxpc2hfaXJxX2NoZWNrX2Zvcl9lcnJvcnMoY2RldiwgY3N0YXQsIGRzdGF0KSkKIAkJcmV0dXJuOwotCX0KIAogCXFkaW9fc2V0X3N0YXRlKGlycV9wdHIsUURJT19JUlFfU1RBVEVfRVNUQUJMSVNIRUQpOwotCWNjd19kZXZpY2Vfc2V0X3RpbWVvdXQoY2RldiwgMCk7CiB9CiAKIGludApAQCAtMzE5Niw4ICszMTkwLDYgQEAKIAkJCQlpcnFfcHRyLT5zY2hpZC5zc2lkLCBpcnFfcHRyLT5zY2hpZC5zY2hfbm8sCiAJCQkJcmVzdWx0LCByZXN1bHQyKTsKIAkJcmVzdWx0PXJlc3VsdDI7Ci0JCWlmIChyZXN1bHQpCi0JCQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOwogCX0KIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLHNhdmVmbGFncyk7CkBAIC0zMjc5LDcgKzMyNzEsNiBAQAogCiAJc3Bpbl9sb2NrX2lycXNhdmUoZ2V0X2Njd2Rldl9sb2NrKGNkZXYpLHNhdmVmbGFncyk7CiAKLQljY3dfZGV2aWNlX3NldF90aW1lb3V0KGNkZXYsIDApOwogCWNjd19kZXZpY2Vfc2V0X29wdGlvbnMoY2RldiwgQ0NXREVWX1JFUE9SVF9BTEwpOwogCXJlc3VsdD1jY3dfZGV2aWNlX3N0YXJ0KGNkZXYsJmlycV9wdHItPmNjdyxRRElPX0RPSU5HX0FDVElWQVRFLAogCQkJCTAsIERPSU9fREVOWV9QUkVGRVRDSCk7CkBAIC0zNzIyLDcgKzM3MTMsOCBAQAogCWNoYXIgZGJmX3RleHRbMjBdOwogCiAJdGlxZGlvX2luZCA9Ci0JCXMzOTBfcmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQoJnRpcWRpb190aGluaW50X2hhbmRsZXIsIE5VTEwpOworCQlzMzkwX3JlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KCZ0aXFkaW9fdGhpbmludF9oYW5kbGVyLCBOVUxMLAorCQkJCQkJVElRRElPX1RISU5JTlRfSVNDKTsKIAlpZiAoSVNfRVJSKHRpcWRpb19pbmQpKSB7CiAJCXNwcmludGYoZGJmX3RleHQsICJyZWd0aG4lbHgiLCBQVFJfRVJSKHRpcWRpb19pbmQpKTsKIAkJUURJT19EQkZfVEVYVDAoMCxzZXR1cCxkYmZfdGV4dCk7CkBAIC0zNzM4LDcgKzM3MzAsOCBAQAogdGlxZGlvX3VucmVnaXN0ZXJfdGhpbmludHModm9pZCkKIHsKIAlpZiAodGlxZGlvX2luZCkKLQkJczM5MF91bnJlZ2lzdGVyX2FkYXB0ZXJfaW50ZXJydXB0KHRpcWRpb19pbmQpOworCQlzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodGlxZGlvX2luZCwKKwkJCQkJCSAgVElRRElPX1RISU5JTlRfSVNDKTsKIH0KIAogc3RhdGljIGludApAQCAtMzg5OSw2ICszODkyLDcgQEAKIAkJCQkJICAgIHFkaW9fbWVtcG9vbF9hbGxvYywKIAkJCQkJICAgIHFkaW9fbWVtcG9vbF9mcmVlLCBOVUxMKTsKIAorCWlzY19yZWdpc3RlcihRRElPX0FJUlFfSVNDKTsKIAlpZiAodGlxZGlvX2NoZWNrX2Noc2NfYXZhaWxhYmlsaXR5KCkpCiAJCVFESU9fUFJJTlRfRVJSKCJOb3QgYWxsIENIU0NzIHN1cHBvcnRlZC4gQ29udGludWluZy5cbiIpOwogCkBAIC0zOTExLDYgKzM5MDUsNyBAQAogY2xlYW51cF9RRElPKHZvaWQpCiB7CiAJdGlxZGlvX3VucmVnaXN0ZXJfdGhpbmludHMoKTsKKwlpc2NfdW5yZWdpc3RlcihRRElPX0FJUlFfSVNDKTsKIAlxZGlvX3JlbW92ZV9wcm9jZnNfZW50cnkoKTsKIAlxZGlvX3JlbGVhc2VfcWRpb19tZW1vcnkoKTsKIAlxZGlvX3VucmVnaXN0ZXJfZGJmX3ZpZXdzKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3FkaW8uaCBiL2RyaXZlcnMvczM5MC9jaW8vcWRpby5oCmluZGV4IGMzZGY2YjIuLjc2NTYwODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9jaW8vcWRpby5oCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vcWRpby5oCkBAIC0yLDggKzIsOCBAQAogI2RlZmluZSBfQ0lPX1FESU9fSAogCiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLQotI2luY2x1ZGUgInNjaGlkLmgiCisjaW5jbHVkZSA8YXNtL2lzYy5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgogCiAjaWZkZWYgQ09ORklHX1FESU9fREVCVUcKICNkZWZpbmUgUURJT19WRVJCT1NFX0xFVkVMIDkKQEAgLTI2LDcgKzI2LDcgQEAKICAqLwogI2RlZmluZSBJUURJT19GSUxMX0xFVkVMX1RPX1BPTEwgNAogCi0jZGVmaW5lIFRJUURJT19USElOSU5UX0lTQyAzCisjZGVmaW5lIFRJUURJT19USElOSU5UX0lTQyBRRElPX0FJUlFfSVNDCiAjZGVmaW5lIFRJUURJT19ERUxBWV9UQVJHRVQgMAogI2RlZmluZSBRRElPX0JVU1lfQklUX1BBVElFTkNFIDEwMCAvKiBpbiBtaWNyb3NlY3MgKi8KICNkZWZpbmUgUURJT19CVVNZX0JJVF9HSVZFX1VQIDEwMDAwMDAwIC8qIDEwIHNlY29uZHMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jaW8vc2Nzdy5jIGIvZHJpdmVycy9zMzkwL2Npby9zY3N3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhkYTI1YQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvczM5MC9jaW8vc2Nzdy5jCkBAIC0wLDAgKzEsODQzIEBACisvKgorICogIEhlbHBlciBmdW5jdGlvbnMgZm9yIHNjc3cgYWNjZXNzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8YXNtL2Npby5oPgorI2luY2x1ZGUgImNzcy5oIgorI2luY2x1ZGUgImNoc2MuaCIKKworLyoqCisgKiBzY3N3X2lzX3RtIC0gY2hlY2sgZm9yIHRyYW5zcG9ydCBtb2RlIHNjc3cKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHNwZWNpZmllZCBzY3N3IGlzIGEgdHJhbnNwb3J0IG1vZGUgc2NzdywgemVybworICogb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19pc190bSh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiBjc3NfZ2VuZXJhbF9jaGFyYWN0ZXJpc3RpY3MuZmN4ICYmIChzY3N3LT50bS54ID09IDEpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3RtKTsKKworLyoqCisgKiBzY3N3X2tleSAtIHJldHVybiBzY3N3IGtleSBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGtleSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfa2V5KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5rZXk7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmtleTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19rZXkpOworCisvKioKKyAqIHNjc3dfZXN3ZiAtIHJldHVybiBzY3N3IGVzd2YgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19lc3dmKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5lc3dmOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5lc3dmOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2Vzd2YpOworCisvKioKKyAqIHNjc3dfY2MgLSByZXR1cm4gc2NzdyBjYyBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uY2M7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLmNjOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NjKTsKKworLyoqCisgKiBzY3N3X2VjdGwgLSByZXR1cm4gc2NzdyBlY3RsIGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uZWN0bDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuZWN0bDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19lY3RsKTsKKworLyoqCisgKiBzY3N3X3BubyAtIHJldHVybiBzY3N3IHBubyBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHBubyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfcG5vKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5wbm87CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLnBubzsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19wbm8pOworCisvKioKKyAqIHNjc3dfZmN0bCAtIHJldHVybiBzY3N3IGZjdGwgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBmY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5mY3RsOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5mY3RsOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2ZjdGwpOworCisvKioKKyAqIHNjc3dfYWN0bCAtIHJldHVybiBzY3N3IGFjdGwgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBhY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19hY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5hY3RsOworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5hY3RsOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2FjdGwpOworCisvKioKKyAqIHNjc3dfc3RjdGwgLSByZXR1cm4gc2NzdyBzdGN0bCBmaWVsZAorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdywgcmVnYXJkbGVzcyBvZgorICogd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICovCit1MzIgc2Nzd19zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzdy0+dG0uc3RjdGw7CisJZWxzZQorCQlyZXR1cm4gc2Nzdy0+Y21kLnN0Y3RsOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3N0Y3RsKTsKKworLyoqCisgKiBzY3N3X2RzdGF0IC0gcmV0dXJuIHNjc3cgZHN0YXQgZmllbGQKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBkc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3csIHJlZ2FyZGxlc3Mgb2YKKyAqIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqLwordTMyIHNjc3dfZHN0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3ctPnRtLmRzdGF0OworCWVsc2UKKwkJcmV0dXJuIHNjc3ctPmNtZC5kc3RhdDsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19kc3RhdCk7CisKKy8qKgorICogc2Nzd19jc3RhdCAtIHJldHVybiBzY3N3IGNzdGF0IGZpZWxkCisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3LCByZWdhcmRsZXNzIG9mCisgKiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKi8KK3UzMiBzY3N3X2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3LT50bS5jc3RhdDsKKwllbHNlCisJCXJldHVybiBzY3N3LT5jbWQuY3N0YXQ7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY3N0YXQpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2tleSAtIGNoZWNrIGtleSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUga2V5IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2tleSk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfc2N0bCAtIGNoZWNrIGZjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGZjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfc2N0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX3NjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YgLSBjaGVjayBlc3dmIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9lc3dmKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9jYyAtIGNoZWNrIGNjIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjYyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9jYyk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfZm10IC0gY2hlY2sgZm10IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmbXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZm10KTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9wZmNoIC0gY2hlY2sgcGZjaCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcGZjaCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9wZmNoKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfcGZjaCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyAtIGNoZWNrIGlzaWMgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGlzaWMgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2lzaWMpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2FsY2MgLSBjaGVjayBhbGNjIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBhbGNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2FsY2ModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9hbGNjKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9zc2kgLSBjaGVjayBzc2kgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHNzaSBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9zc2kodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9zc2kpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX3pjYyAtIGNoZWNrIHpjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgemNjIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3pjYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+Y21kLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQykgJiYKKwkgICAgICAgKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfemNjKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9lY3RsIC0gY2hlY2sgZWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAhKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfSU5URVJfU1RBVFVTKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9lY3RsKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9wbm8gLSBjaGVjayBwbm8gZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHBubyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5mY3RsICE9IDApICYmCisJICAgICAgIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoIShzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgfHwKKwkJICgoc2Nzdy0+Y21kLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpICYmCisJCSAgKHNjc3ctPmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkpKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfcG5vKTsKKworLyoqCisgKiBzY3N3X2NtZF9pc192YWxpZF9mY3RsIC0gY2hlY2sgZmN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIGNvbW1hbmQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X2NtZF9pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfYWN0bCAtIGNoZWNrIGFjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGFjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfYWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2FjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsIC0gY2hlY2sgc3RjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfdmFsaWRfc3RjdGwpOworCisvKioKKyAqIHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0IC0gY2hlY2sgZHN0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGRzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgY29tbWFuZCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAoc2Nzdy0+Y21kLmNjICE9IDMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2NtZF9pc192YWxpZF9kc3RhdCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfdmFsaWRfY3N0YXQgLSBjaGVjayBjc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY3N0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBjb21tYW5kIG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgIChzY3N3LT5jbWQuY2MgIT0gMyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2tleSAtIGNoZWNrIGtleSBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUga2V5IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmZjdGwgJiBTQ1NXX0ZDVExfU1RBUlRfRlVOQyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfa2V5KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YgLSBjaGVjayBlc3dmIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9lc3dmKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfY2MgLSBjaGVjayBjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY2MgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpICYmCisJICAgICAgIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2NjKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2ZtdCAtIGNoZWNrIGZtdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZm10IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9mbXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9mbXQpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfeCAtIGNoZWNrIHggZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHggZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3godW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF94KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3EgLSBjaGVjayBxIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBxIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9xKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfcSk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9lY3RsIC0gY2hlY2sgZWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSAmJgorCSAgICAgICAhKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9JTlRFUl9TVEFUVVMpICYmCisJICAgICAgIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9lY3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3BubyAtIGNoZWNrIHBubyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgcG5vIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmZjdGwgIT0gMCkgJiYKKwkgICAgICAgKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKCEoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgfHwKKwkJICgoc2Nzdy0+dG0uc3RjdGwgJiBTQ1NXX1NUQ1RMX0lOVEVSX1NUQVRVUykgJiYKKwkJICAoc2Nzdy0+dG0uYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpKSk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfcG5vKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwgLSBjaGVjayBmY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9mY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9mY3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2FjdGwgLSBjaGVjayBhY3RsIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBhY3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJLyogT25seSB2YWxpZCBpZiBwbWN3LmRudiA9PSAxKi8KKwlyZXR1cm4gMTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9hY3RsKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX3N0Y3RsIC0gY2hlY2sgc3RjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIHN0Y3RsIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCS8qIE9ubHkgdmFsaWQgaWYgcG1jdy5kbnYgPT0gMSovCisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfc3RjdGwpOworCisvKioKKyAqIHNjc3dfdG1faXNfdmFsaWRfZHN0YXQgLSBjaGVjayBkc3RhdCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZHN0YXQgZmllbGQgb2YgdGhlIHNwZWNpZmllZCB0cmFuc3BvcnQgbW9kZSBzY3N3IGlzCisgKiB2YWxpZCwgemVybyBvdGhlcndpc2UuCisgKi8KK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIChzY3N3LT50bS5zdGN0bCAmIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpICYmCisJICAgICAgIChzY3N3LT50bS5jYyAhPSAzKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9kc3RhdCk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9jc3RhdCAtIGNoZWNrIGNzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfY3N0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLnN0Y3RsICYgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgJiYKKwkgICAgICAgKHNjc3ctPnRtLmNjICE9IDMpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3ZhbGlkX2ZjeHMgLSBjaGVjayBmY3hzIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBmY3hzIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgdHJhbnNwb3J0IG1vZGUgc2NzdyBpcworICogdmFsaWQsIHplcm8gb3RoZXJ3aXNlLgorICovCitpbnQgc2Nzd190bV9pc192YWxpZF9mY3hzKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJcmV0dXJuIDE7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfdG1faXNfdmFsaWRfZmN4cyk7CisKKy8qKgorICogc2Nzd190bV9pc192YWxpZF9zY2h4cyAtIGNoZWNrIHNjaHhzIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBzY2h4cyBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHRyYW5zcG9ydCBtb2RlIHNjc3cgaXMKKyAqIHZhbGlkLCB6ZXJvIG90aGVyd2lzZS4KKyAqLworaW50IHNjc3dfdG1faXNfdmFsaWRfc2NoeHModW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPnRtLmNzdGF0ICYgKFNDSE5fU1RBVF9QUk9HX0NIRUNLIHwKKwkJCQkgIFNDSE5fU1RBVF9JTlRGX0NUUkxfQ0hLIHwKKwkJCQkgIFNDSE5fU1RBVF9QUk9UX0NIRUNLIHwKKwkJCQkgIFNDSE5fU1RBVF9DSE5fREFUQV9DSEspKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc192YWxpZF9zY2h4cyk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9hY3RsIC0gY2hlY2sgYWN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgYWN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2FjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfYWN0bChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9hY3RsKHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2FjdGwpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfY2MgLSBjaGVjayBjYyBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgY2MgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9jYyhzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9jYyhzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9jYyk7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9jc3RhdCAtIGNoZWNrIGNzdGF0IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjc3RhdCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2NzdGF0KTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2RzdGF0IC0gY2hlY2sgZHN0YXQgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGRzdGF0IGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfZHN0YXQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfZHN0YXQoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfZHN0YXQoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfZHN0YXQpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfZWN0bCAtIGNoZWNrIGVjdGwgZmllbGQgdmFsaWRpdHkKKyAqIEBzY3N3OiBwb2ludGVyIHRvIHNjc3cKKyAqCisgKiBSZXR1cm4gbm9uLXplcm8gaWYgdGhlIGVjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9lY3RsKHVuaW9uIHNjc3cgKnNjc3cpCit7CisJaWYgKHNjc3dfaXNfdG0oc2NzdykpCisJCXJldHVybiBzY3N3X3RtX2lzX3ZhbGlkX2VjdGwoc2Nzdyk7CisJZWxzZQorCQlyZXR1cm4gc2Nzd19jbWRfaXNfdmFsaWRfZWN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9lY3RsKTsKKworLyoqCisgKiBzY3N3X2lzX3ZhbGlkX2Vzd2YgLSBjaGVjayBlc3dmIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBlc3dmIGZpZWxkIG9mIHRoZSBzcGVjaWZpZWQgc2NzdyBpcyB2YWxpZCwKKyAqIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBpdCBpcyBhIHRyYW5zcG9ydCBtb2RlIG9yIGNvbW1hbmQgbW9kZSBzY3N3LgorICogUmV0dXJuIHplcm8gaWYgdGhlIGZpZWxkIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB2YWx1ZS4KKyAqLworaW50IHNjc3dfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9lc3dmKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2Yoc2Nzdyk7Cit9CitFWFBPUlRfU1lNQk9MKHNjc3dfaXNfdmFsaWRfZXN3Zik7CisKKy8qKgorICogc2Nzd19pc192YWxpZF9mY3RsIC0gY2hlY2sgZmN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgZmN0bCBmaWVsZCBvZiB0aGUgc3BlY2lmaWVkIHNjc3cgaXMgdmFsaWQsCisgKiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgaXQgaXMgYSB0cmFuc3BvcnQgbW9kZSBvciBjb21tYW5kIG1vZGUgc2Nzdy4KKyAqIFJldHVybiB6ZXJvIGlmIHRoZSBmaWVsZCBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdmFsdWUuCisgKi8KK2ludCBzY3N3X2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfZmN0bChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9mY3RsKHNjc3cpOworfQorRVhQT1JUX1NZTUJPTChzY3N3X2lzX3ZhbGlkX2ZjdGwpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfa2V5IC0gY2hlY2sga2V5IGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBrZXkgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9rZXkodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfa2V5KHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX2tleShzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9rZXkpOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfcG5vIC0gY2hlY2sgcG5vIGZpZWxkIHZhbGlkaXR5CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBwbm8gZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfdmFsaWRfcG5vKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3ZhbGlkX3BubyhzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9wbm8pOworCisvKioKKyAqIHNjc3dfaXNfdmFsaWRfc3RjdGwgLSBjaGVjayBzdGN0bCBmaWVsZCB2YWxpZGl0eQorICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgc3RjdGwgZmllbGQgb2YgdGhlIHNwZWNpZmllZCBzY3N3IGlzIHZhbGlkLAorICogcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGEgdHJhbnNwb3J0IG1vZGUgb3IgY29tbWFuZCBtb2RlIHNjc3cuCisgKiBSZXR1cm4gemVybyBpZiB0aGUgZmllbGQgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHZhbHVlLgorICovCitpbnQgc2Nzd19pc192YWxpZF9zdGN0bCh1bmlvbiBzY3N3ICpzY3N3KQoreworCWlmIChzY3N3X2lzX3RtKHNjc3cpKQorCQlyZXR1cm4gc2Nzd190bV9pc192YWxpZF9zdGN0bChzY3N3KTsKKwllbHNlCisJCXJldHVybiBzY3N3X2NtZF9pc192YWxpZF9zdGN0bChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc192YWxpZF9zdGN0bCk7CisKKy8qKgorICogc2Nzd19jbWRfaXNfc29saWNpdGVkIC0gY2hlY2sgZm9yIHNvbGljaXRlZCBzY3N3CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSBjb21tYW5kIG1vZGUgc2NzdyBpbmRpY2F0ZXMgdGhhdCB0aGUgYXNzb2NpYXRlZAorICogc3RhdHVzIGNvbmRpdGlvbiBpcyBzb2xpY2l0ZWQsIHplcm8gaWYgaXQgaXMgdW5zb2xpY2l0ZWQuCisgKi8KK2ludCBzY3N3X2NtZF9pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlyZXR1cm4gKHNjc3ctPmNtZC5jYyAhPSAwKSB8fCAoc2Nzdy0+Y21kLnN0Y3RsICE9CisJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19jbWRfaXNfc29saWNpdGVkKTsKKworLyoqCisgKiBzY3N3X3RtX2lzX3NvbGljaXRlZCAtIGNoZWNrIGZvciBzb2xpY2l0ZWQgc2NzdworICogQHNjc3c6IHBvaW50ZXIgdG8gc2NzdworICoKKyAqIFJldHVybiBub24temVybyBpZiB0aGUgdHJhbnNwb3J0IG1vZGUgc2NzdyBpbmRpY2F0ZXMgdGhhdCB0aGUgYXNzb2NpYXRlZAorICogc3RhdHVzIGNvbmRpdGlvbiBpcyBzb2xpY2l0ZWQsIHplcm8gaWYgaXQgaXMgdW5zb2xpY2l0ZWQuCisgKi8KK2ludCBzY3N3X3RtX2lzX3NvbGljaXRlZCh1bmlvbiBzY3N3ICpzY3N3KQoreworCXJldHVybiAoc2Nzdy0+dG0uY2MgIT0gMCkgfHwgKHNjc3ctPnRtLnN0Y3RsICE9CisJCShTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EIHwgU0NTV19TVENUTF9BTEVSVF9TVEFUVVMpKTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd190bV9pc19zb2xpY2l0ZWQpOworCisvKioKKyAqIHNjc3dfaXNfc29saWNpdGVkIC0gY2hlY2sgZm9yIHNvbGljaXRlZCBzY3N3CisgKiBAc2NzdzogcG9pbnRlciB0byBzY3N3CisgKgorICogUmV0dXJuIG5vbi16ZXJvIGlmIHRoZSB0cmFuc3BvcnQgb3IgY29tbWFuZCBtb2RlIHNjc3cgaW5kaWNhdGVzIHRoYXQgdGhlCisgKiBhc3NvY2lhdGVkIHN0YXR1cyBjb25kaXRpb24gaXMgc29saWNpdGVkLCB6ZXJvIGlmIGl0IGlzIHVuc29saWNpdGVkLgorICovCitpbnQgc2Nzd19pc19zb2xpY2l0ZWQodW5pb24gc2NzdyAqc2NzdykKK3sKKwlpZiAoc2Nzd19pc190bShzY3N3KSkKKwkJcmV0dXJuIHNjc3dfdG1faXNfc29saWNpdGVkKHNjc3cpOworCWVsc2UKKwkJcmV0dXJuIHNjc3dfY21kX2lzX3NvbGljaXRlZChzY3N3KTsKK30KK0VYUE9SVF9TWU1CT0woc2Nzd19pc19zb2xpY2l0ZWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmMKaW5kZXggYTFhYjNlMy4uNjJiNmI1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5jCkBAIC0zNCwxMyArMzQsMTUgQEAKICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGFzbS9zMzkwX3JkZXYuaD4KICNpbmNsdWRlIDxhc20vcmVzZXQuaD4KKyNpbmNsdWRlIDxsaW51eC9ocnRpbWVyLmg+CisjaW5jbHVkZSA8bGludXgva3RpbWUuaD4KIAogI2luY2x1ZGUgImFwX2J1cy5oIgogCiAvKiBTb21lIHByb3RvdHlwZXMuICovCiBzdGF0aWMgdm9pZCBhcF9zY2FuX2J1cyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKik7CiBzdGF0aWMgdm9pZCBhcF9wb2xsX2FsbCh1bnNpZ25lZCBsb25nKTsKLXN0YXRpYyB2b2lkIGFwX3BvbGxfdGltZW91dCh1bnNpZ25lZCBsb25nKTsKK3N0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBhcF9wb2xsX3RpbWVvdXQoc3RydWN0IGhydGltZXIgKik7CiBzdGF0aWMgaW50IGFwX3BvbGxfdGhyZWFkX3N0YXJ0KHZvaWQpOwogc3RhdGljIHZvaWQgYXBfcG9sbF90aHJlYWRfc3RvcCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFwX3JlcXVlc3RfdGltZW91dCh1bnNpZ25lZCBsb25nKTsKQEAgLTgwLDEyICs4MiwxNSBAQAogLyoKICAqIFRhc2tsZXQgJiB0aW1lciBmb3IgQVAgcmVxdWVzdCBwb2xsaW5nLgogICovCi1zdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgYXBfcG9sbF90aW1lciA9IFRJTUVSX0lOSVRJQUxJWkVSKGFwX3BvbGxfdGltZW91dCwwLDApOwogc3RhdGljIERFQ0xBUkVfVEFTS0xFVChhcF90YXNrbGV0LCBhcF9wb2xsX2FsbCwgMCk7CiBzdGF0aWMgYXRvbWljX3QgYXBfcG9sbF9yZXF1ZXN0cyA9IEFUT01JQ19JTklUKDApOwogc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGFwX3BvbGxfd2FpdCk7CiBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICphcF9wb2xsX2t0aHJlYWQgPSBOVUxMOwogc3RhdGljIERFRklORV9NVVRFWChhcF9wb2xsX3RocmVhZF9tdXRleCk7CitzdGF0aWMgc3RydWN0IGhydGltZXIgYXBfcG9sbF90aW1lcjsKKy8qIEluIExQQVIgcG9sbCB3aXRoIDRrSHogZnJlcXVlbmN5LiBQb2xsIGV2ZXJ5IDI1MDAwMCBuYW5vc2Vjb25kcy4KKyAqIElmIHovVk0gY2hhbmdlIHRvIDE1MDAwMDAgbmFub3NlY29uZHMgdG8gYWRqdXN0IHRvIHovVk0gcG9sbGluZy4qLworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBwb2xsX3RpbWVvdXQgPSAyNTAwMDA7CiAKIC8qKgogICogYXBfaW50cnVjdGlvbnNfYXZhaWxhYmxlKCkgLSBUZXN0IGlmIEFQIGluc3RydWN0aW9ucyBhcmUgYXZhaWxhYmxlLgpAQCAtNjM2LDExICs2NDEsMzkgQEAKIAogc3RhdGljIEJVU19BVFRSKHBvbGxfdGhyZWFkLCAwNjQ0LCBhcF9wb2xsX3RocmVhZF9zaG93LCBhcF9wb2xsX3RocmVhZF9zdG9yZSk7CiAKK3N0YXRpYyBzc2l6ZV90IHBvbGxfdGltZW91dF9zaG93KHN0cnVjdCBidXNfdHlwZSAqYnVzLCBjaGFyICpidWYpCit7CisJcmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiJWxsdVxuIiwgcG9sbF90aW1lb3V0KTsKK30KKworc3RhdGljIHNzaXplX3QgcG9sbF90aW1lb3V0X3N0b3JlKHN0cnVjdCBidXNfdHlwZSAqYnVzLCBjb25zdCBjaGFyICpidWYsCisJCQkJICBzaXplX3QgY291bnQpCit7CisJdW5zaWduZWQgbG9uZyBsb25nIHRpbWU7CisJa3RpbWVfdCBocl90aW1lOworCisJLyogMTIwIHNlY29uZHMgPSBtYXhpbXVtIHBvbGwgaW50ZXJ2YWwgKi8KKwlpZiAoc3NjYW5mKGJ1ZiwgIiVsbHVcbiIsICZ0aW1lKSAhPSAxIHx8IHRpbWUgPCAxIHx8IHRpbWUgPiAxMjAwMDAwMDAwMDApCisJCXJldHVybiAtRUlOVkFMOworCXBvbGxfdGltZW91dCA9IHRpbWU7CisJaHJfdGltZSA9IGt0aW1lX3NldCgwLCBwb2xsX3RpbWVvdXQpOworCisJaWYgKCFocnRpbWVyX2lzX3F1ZXVlZCgmYXBfcG9sbF90aW1lcikgfHwKKwkgICAgIWhydGltZXJfZm9yd2FyZCgmYXBfcG9sbF90aW1lciwgYXBfcG9sbF90aW1lci5leHBpcmVzLCBocl90aW1lKSkgeworCQlhcF9wb2xsX3RpbWVyLmV4cGlyZXMgPSBocl90aW1lOworCQlocnRpbWVyX3N0YXJ0KCZhcF9wb2xsX3RpbWVyLCBocl90aW1lLCBIUlRJTUVSX01PREVfQUJTKTsKKwl9CisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgQlVTX0FUVFIocG9sbF90aW1lb3V0LCAwNjQ0LCBwb2xsX3RpbWVvdXRfc2hvdywgcG9sbF90aW1lb3V0X3N0b3JlKTsKKwogc3RhdGljIHN0cnVjdCBidXNfYXR0cmlidXRlICpjb25zdCBhcF9idXNfYXR0cnNbXSA9IHsKIAkmYnVzX2F0dHJfYXBfZG9tYWluLAogCSZidXNfYXR0cl9jb25maWdfdGltZSwKIAkmYnVzX2F0dHJfcG9sbF90aHJlYWQsCi0JTlVMTAorCSZidXNfYXR0cl9wb2xsX3RpbWVvdXQsCisJTlVMTCwKIH07CiAKIC8qKgpAQCAtODk1LDkgKzkyOCwxMCBAQAogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgYXBfc2NoZWR1bGVfcG9sbF90aW1lcih2b2lkKQogewotCWlmICh0aW1lcl9wZW5kaW5nKCZhcF9wb2xsX3RpbWVyKSkKKwlpZiAoaHJ0aW1lcl9pc19xdWV1ZWQoJmFwX3BvbGxfdGltZXIpKQogCQlyZXR1cm47Ci0JbW9kX3RpbWVyKCZhcF9wb2xsX3RpbWVyLCBqaWZmaWVzICsgQVBfUE9MTF9USU1FKTsKKwlocnRpbWVyX3N0YXJ0KCZhcF9wb2xsX3RpbWVyLCBrdGltZV9zZXQoMCwgcG9sbF90aW1lb3V0KSwKKwkJICAgICAgSFJUSU1FUl9NT0RFX0FCUyk7CiB9CiAKIC8qKgpAQCAtMTExNSwxMyArMTE0OSwxNCBAQAogCiAvKioKICAqIGFwX3BvbGxfdGltZW91dCgpOiBBUCByZWNlaXZlIHBvbGxpbmcgZm9yIGZpbmlzaGVkIEFQIHJlcXVlc3RzLgotICogQHVudXNlZDogVW51c2VkIHZhcmlhYmxlLgorICogQHVudXNlZDogVW51c2VkIHBvaW50ZXIuCiAgKgotICogU2NoZWR1bGVzIHRoZSBBUCB0YXNrbGV0LgorICogU2NoZWR1bGVzIHRoZSBBUCB0YXNrbGV0IHVzaW5nIGEgaGlnaCByZXNvbHV0aW9uIHRpbWVyLgogICovCi1zdGF0aWMgdm9pZCBhcF9wb2xsX3RpbWVvdXQodW5zaWduZWQgbG9uZyB1bnVzZWQpCitzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgYXBfcG9sbF90aW1lb3V0KHN0cnVjdCBocnRpbWVyICp1bnVzZWQpCiB7CiAJdGFza2xldF9zY2hlZHVsZSgmYXBfdGFza2xldCk7CisJcmV0dXJuIEhSVElNRVJfTk9SRVNUQVJUOwogfQogCiAvKioKQEAgLTEzNDQsNiArMTM3OSwxNCBAQAogCWFwX2NvbmZpZ190aW1lci5leHBpcmVzID0gamlmZmllcyArIGFwX2NvbmZpZ190aW1lICogSFo7CiAJYWRkX3RpbWVyKCZhcF9jb25maWdfdGltZXIpOwogCisJLyogU2V0dXAgdGhlIGhpZ2ggcmVzdWx0aW9uIHBvbGwgdGltZXIuCisJICogSWYgd2UgYXJlIHJ1bm5pbmcgdW5kZXIgei9WTSBhZGp1c3QgcG9sbGluZyB0byB6L1ZNIHBvbGxpbmcgcmF0ZS4KKwkgKi8KKwlpZiAoTUFDSElORV9JU19WTSkKKwkJcG9sbF90aW1lb3V0ID0gMTUwMDAwMDsKKwlocnRpbWVyX2luaXQoJmFwX3BvbGxfdGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX0FCUyk7CisJYXBfcG9sbF90aW1lci5mdW5jdGlvbiA9IGFwX3BvbGxfdGltZW91dDsKKwogCS8qIFN0YXJ0IHRoZSBsb3cgcHJpb3JpdHkgQVAgYnVzIHBvbGwgdGhyZWFkLiAqLwogCWlmIChhcF90aHJlYWRfZmxhZykgewogCQlyYyA9IGFwX3BvbGxfdGhyZWFkX3N0YXJ0KCk7CkBAIC0xMzU1LDcgKzEzOTgsNyBAQAogCiBvdXRfd29yazoKIAlkZWxfdGltZXJfc3luYygmYXBfY29uZmlnX3RpbWVyKTsKLQlkZWxfdGltZXJfc3luYygmYXBfcG9sbF90aW1lcik7CisJaHJ0aW1lcl9jYW5jZWwoJmFwX3BvbGxfdGltZXIpOwogCWRlc3Ryb3lfd29ya3F1ZXVlKGFwX3dvcmtfcXVldWUpOwogb3V0X3Jvb3Q6CiAJczM5MF9yb290X2Rldl91bnJlZ2lzdGVyKGFwX3Jvb3RfZGV2aWNlKTsKQEAgLTEzODYsNyArMTQyOSw3IEBACiAJYXBfcmVzZXRfZG9tYWluKCk7CiAJYXBfcG9sbF90aHJlYWRfc3RvcCgpOwogCWRlbF90aW1lcl9zeW5jKCZhcF9jb25maWdfdGltZXIpOwotCWRlbF90aW1lcl9zeW5jKCZhcF9wb2xsX3RpbWVyKTsKKwlocnRpbWVyX2NhbmNlbCgmYXBfcG9sbF90aW1lcik7CiAJZGVzdHJveV93b3JrcXVldWUoYXBfd29ya19xdWV1ZSk7CiAJdGFza2xldF9raWxsKCZhcF90YXNrbGV0KTsKIAlzMzkwX3Jvb3RfZGV2X3VucmVnaXN0ZXIoYXBfcm9vdF9kZXZpY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuaCBiL2RyaXZlcnMvczM5MC9jcnlwdG8vYXBfYnVzLmgKaW5kZXggYzFlMTIwMC4uNDQ2Mzc4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by9hcF9idXMuaAorKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL2FwX2J1cy5oCkBAIC05Miw2ICs5Miw4IEBACiAjZGVmaW5lIEFQX0RFVklDRV9UWVBFX1BDSVhDQwk1CiAjZGVmaW5lIEFQX0RFVklDRV9UWVBFX0NFWDJBCTYKICNkZWZpbmUgQVBfREVWSUNFX1RZUEVfQ0VYMkMJNworI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9DRVgyQTIJOAorI2RlZmluZSBBUF9ERVZJQ0VfVFlQRV9DRVgyQzIJOQogCiAvKgogICogQVAgcmVzZXQgZmxhZyBzdGF0ZXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmMKaW5kZXggNGQzNmU4MC4uY2IyMmI5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmMKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L2h3X3JhbmRvbS5oPgpAQCAtMzAwLDcgKzMwMSw5IEBACiAgKi8KIHN0YXRpYyBpbnQgemNyeXB0X29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiB7CisJbG9ja19rZXJuZWwoKTsKIAlhdG9taWNfaW5jKCZ6Y3J5cHRfb3Blbl9jb3VudCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCkBAIC0xMDY4LDEwICsxMDcxLDggQEAKIAogI2RlZmluZSBMQlVGU0laRSAxMjAwVUwKIAlsYnVmID0ga21hbGxvYyhMQlVGU0laRSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFsYnVmKSB7Ci0JCVBSSU5USygia21hbGxvYyBmYWlsZWQhXG4iKTsKKwlpZiAoIWxidWYpCiAJCXJldHVybiAwOwotCX0KIAogCWxvY2FsX2NvdW50ID0gbWluKExCVUZTSVpFIC0gMSwgY291bnQpOwogCWlmIChjb3B5X2Zyb21fdXNlcihsYnVmLCBidWZmZXIsIGxvY2FsX2NvdW50KSAhPSAwKSB7CkBAIC0xMDgxLDIzICsxMDgyLDE1IEBACiAJbGJ1Zltsb2NhbF9jb3VudF0gPSAnXDAnOwogCiAJcHRyID0gc3Ryc3RyKGxidWYsICJPbmxpbmUgZGV2aWNlcyIpOwotCWlmICghcHRyKSB7Ci0JCVBSSU5USygiVW5hYmxlIHRvIHBhcnNlIGRhdGEgKG1pc3NpbmcgXCJPbmxpbmUgZGV2aWNlc1wiKVxuIik7CisJaWYgKCFwdHIpCiAJCWdvdG8gb3V0OwotCX0KIAlwdHIgPSBzdHJzdHIocHRyLCAiXG4iKTsKLQlpZiAoIXB0cikgewotCQlQUklOVEsoIlVuYWJsZSB0byBwYXJzZSBkYXRhIChtaXNzaW5nIG5ld2xpbmUgIgotCQkgICAgICAgImFmdGVyIFwiT25saW5lIGRldmljZXNcIilcbiIpOworCWlmICghcHRyKQogCQlnb3RvIG91dDsKLQl9CiAJcHRyKys7CiAKLQlpZiAoc3Ryc3RyKHB0ciwgIldhaXRpbmcgd29yayBlbGVtZW50IGNvdW50cyIpID09IE5VTEwpIHsKLQkJUFJJTlRLKCJVbmFibGUgdG8gcGFyc2UgZGF0YSAobWlzc2luZyAiCi0JCSAgICAgICAiXCJXYWl0aW5nIHdvcmsgZWxlbWVudCBjb3VudHNcIilcbiIpOworCWlmIChzdHJzdHIocHRyLCAiV2FpdGluZyB3b3JrIGVsZW1lbnQgY291bnRzIikgPT0gTlVMTCkKIAkJZ290byBvdXQ7Ci0JfQogCiAJZm9yIChqID0gMDsgaiA8IDY0ICYmICpwdHI7IHB0cisrKSB7CiAJCS8qCkBAIC0xMTk3LDE2ICsxMTkwLDEyIEBACiAKIAkvKiBSZWdpc3RlciB0aGUgcmVxdWVzdCBzcHJheWVyLiAqLwogCXJjID0gbWlzY19yZWdpc3RlcigmemNyeXB0X21pc2NfZGV2aWNlKTsKLQlpZiAocmMgPCAwKSB7Ci0JCVBSSU5US1coS0VSTl9FUlIgIm1pc2NfcmVnaXN0ZXIgKG1pbm9yICVkKSBmYWlsZWQgd2l0aCAlZFxuIiwKLQkJCXpjcnlwdF9taXNjX2RldmljZS5taW5vciwgcmMpOworCWlmIChyYyA8IDApCiAJCWdvdG8gb3V0OwotCX0KIAogCS8qIFNldCB1cCB0aGUgcHJvYyBmaWxlIHN5c3RlbSAqLwogCXpjcnlwdF9lbnRyeSA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJkcml2ZXIvejkwY3J5cHQiLCAwNjQ0LCBOVUxMKTsKIAlpZiAoIXpjcnlwdF9lbnRyeSkgewotCQlQUklOVEsoIkNvdWxkbid0IGNyZWF0ZSB6OTBjcnlwdCBwcm9jIGVudHJ5XG4iKTsKIAkJcmMgPSAtRU5PTUVNOwogCQlnb3RvIG91dF9taXNjOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2FwaS5oIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmgKaW5kZXggNWM2ZTIyMi4uMWQxZWM3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmgKKysrIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfYXBpLmgKQEAgLTMwLDM0ICszMCw2IEBACiAjaWZuZGVmIF9aQ1JZUFRfQVBJX0hfCiAjZGVmaW5lIF9aQ1JZUFRfQVBJX0hfCiAKLS8qKgotICogTWFjcm8gZGVmaW5pdGlvbnMKLSAqCi0gKiBQREVCVUcgZGVidWdzIGluIHRoZSBmb3JtICJ6Y3J5cHQ6IGZ1bmN0aW9uX25hbWUgLT4gbWVzc2FnZSIKLSAqCi0gKiBQUklOVEsgaXMgbGlrZSBQREVCVUcsIGV4Y2VwdCB0aGF0IGl0IGlzIGFsd2F5cyBlbmFibGVkCi0gKiBQUklOVEtOIGlzIGxpa2UgUFJJTlRLLCBleGNlcHQgdGhhdCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBmdW5jdGlvbiBuYW1lCi0gKiBQUklOVEtXIGlzIGxpa2UgUFJJTlRLLCBleGNlcHQgdGhhdCBpdCB1c2VzIEtFUk5fV0FSTklORwotICogUFJJTlRLQyBpcyBsaWtlIFBSSU5USywgZXhjZXB0IHRoYXQgaXQgdXNlcyBLRVJOX0NSSVQKLSAqLwotI2RlZmluZSBERVZfTkFNRQkiemNyeXB0IgotCi0jZGVmaW5lIFBSSU5USyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9ERUJVRyBERVZfTkFNRSAiOiAlcyAtPiAiIGZtdCwgX19mdW5jX18gLCAjIyBhcmdzKQotI2RlZmluZSBQUklOVEtOKGZtdCwgYXJncy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIERFVl9OQU1FICI6ICIgZm10LCAjIyBhcmdzKQotI2RlZmluZSBQUklOVEtXKGZtdCwgYXJncy4uLikgXAotCXByaW50ayhLRVJOX1dBUk5JTkcgREVWX05BTUUgIjogJXMgLT4gIiBmbXQsIF9fZnVuY19fICwgIyMgYXJncykKLSNkZWZpbmUgUFJJTlRLQyhmbXQsIGFyZ3MuLi4pIFwKLQlwcmludGsoS0VSTl9DUklUIERFVl9OQU1FICI6ICVzIC0+ICIgZm10LCBfX2Z1bmNfXyAsICMjIGFyZ3MpCi0KLSNpZmRlZiBaQ1JZUFRfREVCVUcKLSNkZWZpbmUgUERFQlVHKGZtdCwgYXJncy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIERFVl9OQU1FICI6ICVzIC0+ICIgZm10LCBfX2Z1bmNfXyAsICMjIGFyZ3MpCi0jZWxzZQotI2RlZmluZSBQREVCVUcoZm10LCBhcmdzLi4uKSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotCiAjaW5jbHVkZSAiYXBfYnVzLmgiCiAjaW5jbHVkZSA8YXNtL3pjcnlwdC5oPgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9jZXgyYS5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfY2V4MmEuYwppbmRleCAwODY1N2Y2Li41NGY0Y2JjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9jZXgyYS5jCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2NleDJhLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKIAogc3RhdGljIHN0cnVjdCBhcF9kZXZpY2VfaWQgemNyeXB0X2NleDJhX2lkc1tdID0gewogCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJBKSB9LAorCXsgQVBfREVWSUNFKEFQX0RFVklDRV9UWVBFX0NFWDJBMikgfSwKIAl7IC8qIGVuZCBvZiBsaXN0ICovIH0sCiB9OwogCkBAIC0yNDIsOSArMjQzLDYgQEAKIAkJcmV0dXJuIGNvbnZlcnRfdHlwZTgwKHpkZXYsIHJlcGx5LAogCQkJCSAgICAgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9lcnJvci5oIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfZXJyb3IuaAppbmRleCAzZTI3ZmU3Li4wM2JhMjdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9lcnJvci5oCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X2Vycm9yLmgKQEAgLTkyLDEwICs5Miw2IEBACiB7CiAJc3RydWN0IGVycm9yX2hkciAqZWhkciA9IHJlcGx5LT5tZXNzYWdlOwogCi0JUFJJTlRLKCJIYXJkd2FyZSBlcnJvciA6IFR5cGUgJTAyeCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JICAgICAgIGVoZHItPnR5cGUsICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UgKyA0KSk7Ci0KIAlzd2l0Y2ggKGVoZHItPnJlcGx5X2NvZGUpIHsKIAljYXNlIFJFUDgyX0VSUk9SX09QRVJBTkRfSU5WQUxJRDoKIAljYXNlIFJFUDgyX0VSUk9SX09QRVJBTkRfU0laRToKQEAgLTEyMyw4ICsxMTksNiBAQAogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsKIAlkZWZhdWx0OgotCQlQUklOVEtXKCJ1bmtub3duIHR5cGUgJTAyeCByZXBseSBjb2RlID0gJWRcbiIsCi0JCQllaGRyLT50eXBlLCBlaGRyLT5yZXBseV9jb2RlKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2EuYyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNhLmMKaW5kZXggNmU5M2I0Ny4uMTJkYTQ4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2EuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYS5jCkBAIC0yMjYsOSArMjI2LDYgQEAKIAkJcmV0dXJuIGNvbnZlcnRfdHlwZTg0KHpkZXYsIHJlcGx5LAogCQkJCSAgICAgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCWRlZmF1bHQ6IC8qIFVua25vd24gcmVzcG9uc2UgdHlwZSwgdGhpcyBzaG91bGQgTkVWRVIgRVZFUiBoYXBwZW4gKi8KLQkJUFJJTlRLKCJVbnJlY29nbml6ZWQgTWVzc2FnZSBIZWFkZXI6ICUwOHglMDh4XG4iLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgcmVwbHktPm1lc3NhZ2UsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSAocmVwbHktPm1lc3NhZ2UrNCkpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYy5jIGIvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpY2MuYwppbmRleCAxN2VhNTZjLi43Nzk5NTJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2ljYy5jCisrKyBiL2RyaXZlcnMvczM5MC9jcnlwdG8vemNyeXB0X3BjaWNjLmMKQEAgLTM2MSwyNiArMzYxLDE4IEBACiAJc2VydmljZV9yYyA9IGxlMTZfdG9fY3B1KG1zZy0+Y3ByYi5jY3BfcnRjb2RlKTsKIAlpZiAodW5saWtlbHkoc2VydmljZV9yYyAhPSAwKSkgewogCQlzZXJ2aWNlX3JzID0gbGUxNl90b19jcHUobXNnLT5jcHJiLmNjcF9yc2NvZGUpOwotCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjYpIHsKLQkJCVBERUJVRygiQmFkIGJsb2NrIGZvcm1hdCBvbiBQQ0lDQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NikKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NSkgewotCQkJUERFQlVHKCJQcm9iYWJseSBhbiBldmVuIG1vZHVsdXMgb24gUENJQ0NcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNjUpCiAJCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQogCQlpZiAoc2VydmljZV9yYyA9PSA4ICYmIHNlcnZpY2VfcnMgPT0gNzcwKSB7Ci0JCQlQREVCVUcoIkludmFsaWQga2V5IGxlbmd0aCBvbiBQQ0lDQ1xuIik7CiAJCQl6ZGV2LT5tYXhfbW9kX3NpemUgPSBQQ0lDQ19NQVhfTU9EX1NJWkVfT0xEOwogCQkJcmV0dXJuIC1FQUdBSU47CiAJCX0KIAkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc4MykgewotCQkJUERFQlVHKCJFeHRlbmRlZCBiaXRsZW5ndGhzIG5vdCBlbmFibGVkIG9uIFBDSUNDXG4iKTsKIAkJCXpkZXYtPm1heF9tb2Rfc2l6ZSA9IFBDSUNDX01BWF9NT0RfU0laRV9PTEQ7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQotCQlQUklOVEsoIlVua25vd24gc2VydmljZSByYy9ycyAoUENJQ0MpOiAlZC8lZFxuIiwKLQkJICAgICAgIHNlcnZpY2VfcmMsIHNlcnZpY2VfcnMpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC00MzQsOSArNDI2LDYgQEAKIAkJCQkJICAgICAgb3V0cHV0ZGF0YSwgb3V0cHV0ZGF0YWxlbmd0aCk7CiAJCS8qIG5vIGJyZWFrLCBpbmNvcnJlY3QgY3ByYiB2ZXJzaW9uIGlzIGFuIHVua25vd24gcmVzcG9uc2UgKi8KIAlkZWZhdWx0OiAvKiBVbmtub3duIHJlc3BvbnNlIHR5cGUsIHRoaXMgc2hvdWxkIE5FVkVSIEVWRVIgaGFwcGVuICovCi0JCVBSSU5USygiVW5yZWNvZ25pemVkIE1lc3NhZ2UgSGVhZGVyOiAlMDh4JTA4eFxuIiwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIHJlcGx5LT5tZXNzYWdlLAotCQkgICAgICAgKih1bnNpZ25lZCBpbnQgKikgKHJlcGx5LT5tZXNzYWdlKzQpKTsKIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL2NyeXB0by96Y3J5cHRfcGNpeGNjLmMgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2l4Y2MuYwppbmRleCAwYmM5YjMxLi5kOGFkMzZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2l4Y2MuYworKysgYi9kcml2ZXJzL3MzOTAvY3J5cHRvL3pjcnlwdF9wY2l4Y2MuYwpAQCAtNzIsNiArNzIsNyBAQAogc3RhdGljIHN0cnVjdCBhcF9kZXZpY2VfaWQgemNyeXB0X3BjaXhjY19pZHNbXSA9IHsKIAl7IEFQX0RFVklDRShBUF9ERVZJQ0VfVFlQRV9QQ0lYQ0MpIH0sCiAJeyBBUF9ERVZJQ0UoQVBfREVWSUNFX1RZUEVfQ0VYMkMpIH0sCisJeyBBUF9ERVZJQ0UoQVBfREVWSUNFX1RZUEVfQ0VYMkMyKSB9LAogCXsgLyogZW5kIG9mIGxpc3QgKi8gfSwKIH07CiAKQEAgLTI4OSwzOCArMjkwLDE5IEBACiAJYXBfbXNnLT5sZW5ndGggPSBzaXplb2Yoc3RydWN0IHR5cGU2X2hkcikgKwogCQlDRUlMNCh4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCkgKwogCQl4Y1JCLT5yZXF1ZXN0X2RhdGFfbGVuZ3RoOwotCWlmIChhcF9tc2ctPmxlbmd0aCA+IFBDSVhDQ19NQVhfWENSQl9NRVNTQUdFX1NJWkUpIHsKLQkJUFJJTlRLKCJDb21iaW5lZCBtZXNzYWdlIGlzIHRvbyBsYXJnZSAoJWxkLyVkLyVkKS5cbiIsCi0JCSAgICBzaXplb2Yoc3RydWN0IHR5cGU2X2hkciksCi0JCSAgICB4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCwKLQkJICAgIHhjUkItPnJlcXVlc3RfZGF0YV9sZW5ndGgpOworCWlmIChhcF9tc2ctPmxlbmd0aCA+IFBDSVhDQ19NQVhfWENSQl9NRVNTQUdFX1NJWkUpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KLQlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKSA+Ci0JICAgIFBDSVhDQ19NQVhfWENSQl9SRVBMWV9TSVpFKSB7Ci0JCVBERUJVRygiUmVwbHkgQ1BSQiBsZW5ndGggaXMgdG9vIGxhcmdlICglZCkuXG4iLAotCQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpOworCWlmIChDRUlMNCh4Y1JCLT5yZXBseV9jb250cm9sX2Jsa19sZW5ndGgpID4gUENJWENDX01BWF9YQ1JCX1JFUExZX1NJWkUpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KLQlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpID4gUENJWENDX01BWF9YQ1JCX0RBVEFfU0laRSkgewotCQlQREVCVUcoIlJlcGx5IGRhdGEgYmxvY2sgbGVuZ3RoIGlzIHRvbyBsYXJnZSAoJWQpLlxuIiwKLQkJICAgIHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKTsKKwlpZiAoQ0VJTDQoeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpID4gUENJWENDX01BWF9YQ1JCX0RBVEFfU0laRSkKIAkJcmV0dXJuIC1FRkFVTFQ7Ci0JfQogCXJlcGx5bGVuID0gQ0VJTDQoeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoKSArCiAJCUNFSUw0KHhjUkItPnJlcGx5X2RhdGFfbGVuZ3RoKSArCiAJCXNpemVvZihzdHJ1Y3QgdHlwZTg2X2ZtdDJfbXNnKTsKIAlpZiAocmVwbHlsZW4gPiBQQ0lYQ0NfTUFYX1hDUkJfUkVTUE9OU0VfU0laRSkgewotCQlQREVCVUcoIlJlcGx5IENQUkIgKyBkYXRhIGJsb2NrID4gUENJWENDX01BWF9YQ1JCX1JFU1BPTlNFX1NJWkUiCi0JCSAgICAgICAiICglZC8lZC8lZCkuXG4iLAotCQkgICAgICAgc2l6ZW9mKHN0cnVjdCB0eXBlODZfZm10Ml9tc2cpLAotCQkgICAgICAgeGNSQi0+cmVwbHlfY29udHJvbF9ibGtfbGVuZ3RoLAotCQkgICAgICAgeGNSQi0+cmVwbHlfZGF0YV9sZW5ndGgpOwogCQl4Y1JCLT5yZXBseV9jb250cm9sX2Jsa19sZW5ndGggPSBQQ0lYQ0NfTUFYX1hDUkJfUkVTUE9OU0VfU0laRSAtCiAJCQkoc2l6ZW9mKHN0cnVjdCB0eXBlODZfZm10Ml9tc2cpICsKIAkJCSAgICBDRUlMNCh4Y1JCLT5yZXBseV9kYXRhX2xlbmd0aCkpOwotCQlQREVCVUcoIkNhcHBpbmcgUmVwbHkgQ1BSQiBsZW5ndGggYXQgJWRcbiIsCi0JCSAgICAgICB4Y1JCLT5yZXBseV9jb250cm9sX2Jsa19sZW5ndGgpOwogCX0KIAogCS8qIHByZXBhcmUgdHlwZTYgaGVhZGVyICovCkBAIC0zMzksMTEgKzMyMSw4IEBACiAJCSAgICB4Y1JCLT5yZXF1ZXN0X2NvbnRyb2xfYmxrX2xlbmd0aCkpCiAJCXJldHVybiAtRUZBVUxUOwogCWlmIChtc2ctPmNwcmJ4LmNwcmJfbGVuICsgc2l6ZW9mKG1zZy0+aGRyLmZ1bmN0aW9uX2NvZGUpID4KLQkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpIHsKLQkJUERFQlVHKCJjcHJiX2xlbiB0b28gbGFyZ2UgKCVkLyVkKVxuIiwgbXNnLT5jcHJieC5jcHJiX2xlbiwKLQkJICAgIHhjUkItPnJlcXVlc3RfY29udHJvbF9ibGtfbGVuZ3RoKTsKKwkgICAgeGNSQi0+cmVxdWVzdF9jb250cm9sX2Jsa19sZW5ndGgpCiAJCXJldHVybiAtRUZBVUxUOwotCX0KIAlmdW5jdGlvbl9jb2RlID0gKCh1bnNpZ25lZCBjaGFyICopJm1zZy0+Y3ByYngpICsgbXNnLT5jcHJieC5jcHJiX2xlbjsKIAltZW1jcHkobXNnLT5oZHIuZnVuY3Rpb25fY29kZSwgZnVuY3Rpb25fY29kZSwgc2l6ZW9mKG1zZy0+aGRyLmZ1bmN0aW9uX2NvZGUpKTsKIApAQCAtNDcxLDI5ICs0NTAsMTggQEAKIAlzZXJ2aWNlX3JjID0gbXNnLT5jcHJieC5jY3BfcnRjb2RlOwogCWlmICh1bmxpa2VseShzZXJ2aWNlX3JjICE9IDApKSB7CiAJCXNlcnZpY2VfcnMgPSBtc2ctPmNwcmJ4LmNjcF9yc2NvZGU7Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NikgewotCQkJUERFQlVHKCJCYWQgYmxvY2sgZm9ybWF0IG9uIFBDSVhDQy9DRVgyQ1xuIik7CisJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NikKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA2NSkgewotCQkJUERFQlVHKCJQcm9iYWJseSBhbiBldmVuIG1vZHVsdXMgb24gUENJWENDL0NFWDJDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDY1KQogCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc3MCkgewotCQkJUERFQlVHKCJJbnZhbGlkIGtleSBsZW5ndGggb24gUENJWENDL0NFWDJDXG4iKTsKKwkJaWYgKHNlcnZpY2VfcmMgPT0gOCAmJiBzZXJ2aWNlX3JzID09IDc3MCkKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9CiAJCWlmIChzZXJ2aWNlX3JjID09IDggJiYgc2VydmljZV9ycyA9PSA3ODMpIHsKLQkJCVBERUJVRygiRXh0ZW5kZWQgYml0bGVuZ3RocyBub3QgZW5hYmxlZCBvbiBQQ0lYQ0MvQ0VYMkNcbiIpOwogCQkJemRldi0+bWluX21vZF9zaXplID0gUENJWENDX01JTl9NT0RfU0laRV9PTEQ7CiAJCQlyZXR1cm4gLUVBR0FJTjsKIAkJfQotCQlpZiAoc2VydmljZV9yYyA9PSAxMiAmJiBzZXJ2aWNlX3JzID09IDc2OSkgewotCQkJUERFQlVHKCJJbnZhbGlkIGtleSBvbiBQQ0lYQ0MvQ0VYMkNcbiIpOworCQlpZiAoc2VydmljZV9yYyA9PSAxMiAmJiBzZXJ2aWNlX3JzID09IDc2OSkKIAkJCXJldHVybiAtRUlOVkFMOwotCQl9Ci0JCVBSSU5USygiVW5rbm93biBzZXJ2aWNlIHJjL3JzIChQQ0lYQ0MvQ0VYMkMpOiAlZC8lZFxuIiwKLQkJICAgICAgIHNlcnZpY2VfcmMsIHNlcnZpY2VfcnMpOwogCQl6ZGV2LT5vbmxpbmUgPSAwOwogCQlyZXR1cm4gLUVBR0FJTjsJLyogcmVwZWF0IHRoZSByZXF1ZXN0IG9uIGEgZGlmZmVyZW50IGRldmljZS4gKi8KIAl9CkBAIC01NjksMTEgKzUzNyw4IEBACiAJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSAqbXNnID0gcmVwbHktPm1lc3NhZ2U7CiAJY2hhciAqZGF0YSA9IHJlcGx5LT5tZXNzYWdlOwogCi0JaWYgKG1zZy0+Y3ByYnguY2NwX3J0Y29kZSAhPSAwIHx8IG1zZy0+Y3ByYnguY2NwX3JzY29kZSAhPSAwKSB7Ci0JCVBERUJVRygiUk5HIHJlc3BvbnNlIGVycm9yIG9uIFBDSVhDQy9DRVgyQyByYz0laHUvcnM9JWh1XG4iLAotCQkgICAgICAgcmMsIHJzKTsKKwlpZiAobXNnLT5jcHJieC5jY3BfcnRjb2RlICE9IDAgfHwgbXNnLT5jcHJieC5jY3BfcnNjb2RlICE9IDApCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAltZW1jcHkoYnVmZmVyLCBkYXRhICsgbXNnLT5mbXQyLm9mZnNldDIsIG1zZy0+Zm10Mi5jb3VudDIpOwogCXJldHVybiBtc2ctPmZtdDIuY291bnQyOwogfQpAQCAtNTk4LDkgKzU2Myw2IEBACiAJCQkJCQkgIG91dHB1dGRhdGEsIG91dHB1dGRhdGFsZW5ndGgpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KQEAgLTYyNyw5ICs1ODksNiBAQAogCQkJcmV0dXJuIGNvbnZlcnRfdHlwZTg2X3hjcmIoemRldiwgcmVwbHksIHhjUkIpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXhjUkItPnN0YXR1cyA9IDB4MDAwODA0NERMOyAvKiBIRERfSW52YWxpZFBhcm0gKi8KIAkJemRldi0+b25saW5lID0gMDsKIAkJcmV0dXJuIC1FQUdBSU47CS8qIHJlcGVhdCB0aGUgcmVxdWVzdCBvbiBhIGRpZmZlcmVudCBkZXZpY2UuICovCkBAIC02NTMsOSArNjEyLDYgQEAKIAkJCXJldHVybiBjb252ZXJ0X3R5cGU4Nl9ybmcoemRldiwgcmVwbHksIGRhdGEpOwogCQkvKiBubyBicmVhaywgaW5jb3JyZWN0IGNwcmIgdmVyc2lvbiBpcyBhbiB1bmtub3duIHJlc3BvbnNlICovCiAJZGVmYXVsdDogLyogVW5rbm93biByZXNwb25zZSB0eXBlLCB0aGlzIHNob3VsZCBORVZFUiBFVkVSIGhhcHBlbiAqLwotCQlQUklOVEsoIlVucmVjb2duaXplZCBNZXNzYWdlIEhlYWRlcjogJTA4eCUwOHhcbiIsCi0JCSAgICAgICAqKHVuc2lnbmVkIGludCAqKSByZXBseS0+bWVzc2FnZSwKLQkJICAgICAgICoodW5zaWduZWQgaW50ICopIChyZXBseS0+bWVzc2FnZSs0KSk7CiAJCXpkZXYtPm9ubGluZSA9IDA7CiAJCXJldHVybiAtRUFHQUlOOwkvKiByZXBlYXQgdGhlIHJlcXVlc3Qgb24gYSBkaWZmZXJlbnQgZGV2aWNlLiAqLwogCX0KQEAgLTcwMCwxMCArNjU2LDcgQEAKIAkJCW1lbWNweShtc2ctPm1lc3NhZ2UsIHJlcGx5LT5tZXNzYWdlLCBsZW5ndGgpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQlQUklOVEsoIkludmFsaWQgaW50ZXJuYWwgcmVzcG9uc2UgdHlwZTogJWlcbiIsCi0JCQkgICAgcmVzcF90eXBlLT50eXBlKTsKLQkJCW1lbWNweShtc2ctPm1lc3NhZ2UsICZlcnJvcl9yZXBseSwKLQkJCSAgICBzaXplb2YgZXJyb3JfcmVwbHkpOworCQkJbWVtY3B5KG1zZy0+bWVzc2FnZSwgJmVycm9yX3JlcGx5LCBzaXplb2YgZXJyb3JfcmVwbHkpOwogCQl9CiAJfSBlbHNlCiAJCW1lbWNweShtc2ctPm1lc3NhZ2UsIHJlcGx5LT5tZXNzYWdlLCBzaXplb2YgZXJyb3JfcmVwbHkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zMzkwL25ldC9jbGF3LmMgYi9kcml2ZXJzL3MzOTAvbmV0L2NsYXcuYwppbmRleCAwNGExZDdiLi5jNjQ0NjY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2NsYXcuYworKysgYi9kcml2ZXJzL3MzOTAvbmV0L2NsYXcuYwpAQCAtNzAzLDcgKzcwMyw4IEBACiAJaWYgKCFjZGV2LT5kZXYuZHJpdmVyX2RhdGEpIHsKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9XQVJOSU5HICJjbGF3OiB1bnNvbGljaXRlZCBpbnRlcnJ1cHQgZm9yIGRldmljZToiCiAJCSAJIiVzIHJlY2VpdmVkIGMtJTAyeCBkLSUwMnhcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBjZGV2LT5kZXYuYnVzX2lkLGlyYi0+c2Nzdy5jc3RhdCwgaXJiLT5zY3N3LmRzdGF0KTsKKwkJICAgICAgIGNkZXYtPmRldi5idXNfaWQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCSAgICAgICBpcmItPnNjc3cuY21kLmRzdGF0KTsKICNpZmRlZiBGVU5DVFJBQ0UKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICJjbGF3OiAlcygpICIKIAkJCSJleGl0IG9uIGxpbmUgJWRcbiIsX19mdW5jX18sX19MSU5FX18pOwpAQCAtNzMyLDIyICs3MzMsMjMgQEAKICNpZmRlZiBJT1RSQUNFCiAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBpbnRlcnJ1cHQgZm9yIGRldmljZTogJTA0eCAiCiAJCSJyZWNlaXZlZCBjLSUwMnggZC0lMDJ4IHN0YXRlLSUwMnhcbiIsCi0gICAgICAgICAgICAgICAgZGV2LT5uYW1lLCBwX2NoLT5kZXZubywgaXJiLT5zY3N3LmNzdGF0LAotCQlpcmItPnNjc3cuZHN0YXQsIHBfY2gtPmNsYXdfc3RhdGUpOworCSAgICAgICBkZXYtPm5hbWUsIHBfY2gtPmRldm5vLCBpcmItPnNjc3cuY21kLmNzdGF0LAorCSAgICAgICBpcmItPnNjc3cuY21kLmRzdGF0LCBwX2NoLT5jbGF3X3N0YXRlKTsKICNlbmRpZgogCiAJLyogQ29weSBpbnRlcnJ1cHRpb24gcmVzcG9uc2UgYmxvY2suICovCiAJbWVtY3B5KHBfY2gtPmlyYiwgaXJiLCBzaXplb2Yoc3RydWN0IGlyYikpOwogCiAgICAgICAgIC8qIENoZWNrIGZvciBnb29kIHN1YmNoYW5uZWwgcmV0dXJuIGNvZGUsIG90aGVyd2lzZSBlcnJvciBtZXNzYWdlICovCi0gICAgICAgIGlmIChpcmItPnNjc3cuY3N0YXQgICYmICAhKGlyYi0+c2Nzdy5jc3RhdCAmIFNDSE5fU1RBVF9QQ0kpKSB7CisJaWYgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiYgIShpcmItPnNjc3cuY21kLmNzdGF0ICYgU0NITl9TVEFUX1BDSSkpIHsKICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogc3ViY2hhbm5lbCBjaGVjayBmb3IgZGV2aWNlOiAlMDR4IC0iCiAJCQkiIFNjaCBTdGF0ICUwMnggIERldiBTdGF0ICUwMnggQ1BBIC0gJTA0eFxuIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGRldi0+bmFtZSwgcF9jaC0+ZGV2bm8sCi0JCQlpcmItPnNjc3cuY3N0YXQsIGlyYi0+c2Nzdy5kc3RhdCxpcmItPnNjc3cuY3BhKTsKKwkJCWlyYi0+c2Nzdy5jbWQuY3N0YXQsIGlyYi0+c2Nzdy5jbWQuZHN0YXQsCisJCQlpcmItPnNjc3cuY21kLmNwYSk7CiAjaWZkZWYgSU9UUkFDRQogCQlkdW1waXQoKGNoYXIgKilpcmIsc2l6ZW9mKHN0cnVjdCBpcmIpKTsKLQkJZHVtcGl0KChjaGFyICopKHVuc2lnbmVkIGxvbmcpaXJiLT5zY3N3LmNwYSwKKwkJZHVtcGl0KChjaGFyICopKHVuc2lnbmVkIGxvbmcpaXJiLT5zY3N3LmNtZC5jcGEsCiAJCQlzaXplb2Yoc3RydWN0IGNjdzEpKTsKICNlbmRpZgogI2lmZGVmIEZVTkNUUkFDRQpAQCAtNzU5LDIyICs3NjEsMjQgQEAKICAgICAgICAgfQogCiAgICAgICAgIC8qIENoZWNrIHRoZSByZWFzb24tY29kZSBvZiBhIHVuaXQgY2hlY2sgKi8KLSAgICAgICAgaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spCiAgICAgICAgICAgICAgICAgY2N3X2NoZWNrX3VuaXRfY2hlY2socF9jaCwgaXJiLT5lY3dbMF0pOwotICAgICAgICB9CiAKICAgICAgICAgLyogU3RhdGUgbWFjaGluZSB0byBicmluZyB0aGUgY29ubmVjdGlvbiB1cCwgZG93biBhbmQgdG8gcmVzdGFydCAqLwotICAgICAgICBwX2NoLT5sYXN0X2RzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCXBfY2gtPmxhc3RfZHN0YXQgPSBpcmItPnNjc3cuY21kLmRzdGF0OwogCiAgICAgICAgIHN3aXRjaCAocF9jaC0+Y2xhd19zdGF0ZSkgewogICAgICAgICAgICAgICAgIGNhc2UgQ0xBV19TVE9QOi8qIEhBTFRfSU8gYnkgY2xhd19yZWxlYXNlIChoYWx0IHNlcXVlbmNlKSAqLwogI2lmZGVmIERFQlVHTVNHCiAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogQ0xBV19TVE9QIGVudGVyXG4iLCBkZXYtPm5hbWUpOwogI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISgocF9jaC0+aXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAotCSAgICAJCShwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0gU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09Ci0JICAgICAJCShTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKKwkJCWlmICghKChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsICYKKwkJCSAgICAgICBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8CisJCQkgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCQlTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkJKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwKKwkJCQkgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgewogI2lmZGVmIEZVTkNUUkFDRQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczolcyBFeGl0IG9uIGxpbmUgJWRcbiIsCiAJCQkJCWRldi0+bmFtZSxfX2Z1bmNfXyxfX0xJTkVfXyk7CkBAIC03OTgsMTAgKzgwMiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHByb2Nlc3MgQ0xBV19TVEFUX0hBTFRfSU9cbiIsCiAJCQkJZGV2LT5uYW1lKTsKICNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgCQkoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8CisJCQkgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwKKwkJCSAgICAgIFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKICNpZmRlZiBGVU5DVFJBQ0UKIAkJCQlwcmludGsoS0VSTl9JTkZPICIlczolcyBFeGl0IG9uIGxpbmUgJWRcbiIsCiAJCQkJCWRldi0+bmFtZSxfX2Z1bmNfXyxfX0xJTkVfXyk7CkBAIC04MjgsOCArODM1LDggQEAKIAkJCQkJImludGVycnVwdCBmb3IgZGV2aWNlOiIKIAkJCQkgCSIlcyByZWNlaXZlZCBjLSUwMnggZC0lMDJ4XG4iLAogICAgICAgICAgICAgICAgIAkJICAgICAgICBjZGV2LT5kZXYuYnVzX2lkLAotCQkJCQlpcmItPnNjc3cuY3N0YXQsCi0JCQkJCWlyYi0+c2Nzdy5kc3RhdCk7CisJCQkJCWlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkJCWlyYi0+c2Nzdy5jbWQuZHN0YXQpOwogCQkJCXJldHVybjsKIAkJCQl9CiAjaWZkZWYgREVCVUdNU0cKQEAgLTg0NCw3ICs4NTEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIGNhc2UgQ0xBV19TVEFSVF9SRUFEOgogCQkJQ0xBV19EQkZfVEVYVCg0LHRyYWNlLCJSZWFkSVJRIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocF9jaC0+aXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgeworCQkJaWYgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9VTklUX0NIRUNLKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdCgwLCAodm9pZCAqKSZwX2NoLT5JT19hY3RpdmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHBfY2gtPmlyYi0+ZWN3WzBdICYgMHg0MSkgPT0gMHg0MSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBfY2gtPmlyYi0+ZWN3WzBdICYgMHg0MCkgPT0gMHg0MCB8fApAQCAtODYzLDggKzg3MCw4IEBACiAJCQkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwibm90cmR5Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChwX2NoLT5pcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSAmJgotCQkJICAgIChwX2NoLT5pcmItPnNjc3cuZHN0YXQ9PTApKSB7CisJCQlpZiAoKHBfY2gtPmlyYi0+c2Nzdy5jbWQuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSAmJgorCQkJICAgIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ID09IDApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0X2FuZF9zZXRfYml0KENMQVdfQkhfQUNUSVZFLAogCQkJCQkodm9pZCAqKSZwX2NoLT5mbGFnX2EpID09IDApIHsKIAkJCQkJdGFza2xldF9zY2hlZHVsZSgmcF9jaC0+dGFza2xldCk7CkBAIC04NzksMTAgKzg4NiwxMyBAQAogCQkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwiUENJX3JlYWQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYoISgocF9jaC0+aXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAotCSAgICAJCSAocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJIChwX2NoLT5pcmItPnNjc3cuc3RjdGwgPT0KLQkgICAgIAkJIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpKSkpIHsKKwkJCWlmICghKChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsICYKKwkJCSAgICAgICBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8CisJCQkgICAgIChwX2NoLT5pcmItPnNjc3cuY21kLnN0Y3RsID09CisJCQkgICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSB8fAorCQkJICAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICAgKFNDU1dfU1RDVExfQUxFUlRfU1RBVFVTIHwKKwkJCSAgICAgICBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CiAjaWZkZWYgRlVOQ1RSQUNFCiAJCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6JXMgRXhpdCBvbiBsaW5lICVkXG4iLAogCQkJCQlkZXYtPm5hbWUsX19mdW5jX18sX19MSU5FX18pOwpAQCAtOTExLDcgKzkyMSw3IEBACiAJCQlDTEFXX0RCRl9URVhUKDQsdHJhY2UsIlJkSVJRWGl0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgY2FzZSBDTEFXX1NUQVJUX1dSSVRFOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBfY2gtPmlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwkJCWlmIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGsoS0VSTl9JTkZPICIlczogVW5pdCBDaGVjayBPY2N1cmVkIGluICIKIAkJCQkJIndyaXRlIGNoYW5uZWxcbiIsZGV2LT5uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJfYml0KDAsICh2b2lkICopJnBfY2gtPklPX2FjdGl2ZSk7CkBAIC05MzQsMTYgKzk0NCwxOSBAQAogCQkJCUNMQVdfREJGX1RFWFQoNCx0cmFjZSwicnN0cnR3cnQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBfY2gtPmlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfRVhDRVApIHsKKwkJCWlmIChwX2NoLT5pcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfVU5JVF9FWENFUCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX2JpdCgwLCAodm9pZCAqKSZwX2NoLT5JT19hY3RpdmUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50ayhLRVJOX0lORk8gIiVzOiBVbml0IEV4Y2VwdGlvbiAiCiAJCQkJCQkiT2NjdXJlZCBpbiB3cml0ZSBjaGFubmVsXG4iLAogCQkJCQkJZGV2LT5uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmKCEoKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCAmIFNDU1dfU1RDVExfU0VDX1NUQVRVUykgfHwKLQkgICAgCQkocF9jaC0+aXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIAkJKHBfY2gtPmlyYi0+c2Nzdy5zdGN0bCA9PQotCSAgICAgCQkoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpKSB7CisJCQlpZiAoISgocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCAmCisJCQkgICAgICAgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAorCQkJICAgICAocF9jaC0+aXJiLT5zY3N3LmNtZC5zdGN0bCA9PQorCQkJICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkgfHwKKwkJCSAgICAgKHBfY2gtPmlyYi0+c2Nzdy5jbWQuc3RjdGwgPT0KKwkJCSAgICAgIChTQ1NXX1NUQ1RMX0FMRVJUX1NUQVRVUyB8CisJCQkgICAgICAgU0NTV19TVENUTF9TVEFUVVNfUEVORCkpKSkgewogI2lmZGVmIEZVTkNUUkFDRQogCQkJCXByaW50ayhLRVJOX0lORk8gIiVzOiVzIEV4aXQgb24gbGluZSAlZFxuIiwKIAkJCQkJZGV2LT5uYW1lLF9fZnVuY19fLF9fTElORV9fKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9mc21zLmMgYi9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fZnNtcy5jCmluZGV4IDJhMTA2ZjMuLjdlNmJkMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9mc21zLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX2ZzbXMuYwpAQCAtMjU3LDkgKzI1Nyw5IEBACiAJaWYgKGR1cmF0aW9uID4gY2gtPnByb2YudHhfdGltZSkKIAkJY2gtPnByb2YudHhfdGltZSA9IGR1cmF0aW9uOwogCi0JaWYgKGNoLT5pcmItPnNjc3cuY291bnQgIT0gMCkKKwlpZiAoY2gtPmlyYi0+c2Nzdy5jbWQuY291bnQgIT0gMCkKIAkJY3RjbV9wcl9kZWJ1ZygiJXM6IFRYIG5vdCBjb21wbGV0ZSwgcmVtYWluaW5nICVkIGJ5dGVzXG4iLAotCQkJICAgICBkZXYtPm5hbWUsIGNoLT5pcmItPnNjc3cuY291bnQpOworCQkJICAgICBkZXYtPm5hbWUsIGNoLT5pcmItPnNjc3cuY21kLmNvdW50KTsKIAlmc21fZGVsdGltZXIoJmNoLT50aW1lcik7CiAJd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgmY2gtPmlvX3F1ZXVlKSkpIHsKIAkJcHJpdi0+c3RhdHMudHhfcGFja2V0cysrOwpAQCAtMzUzLDcgKzM1Myw3IEBACiAJc3RydWN0IGNoYW5uZWwgKmNoID0gYXJnOwogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBjaC0+bmV0ZGV2OwogCXN0cnVjdCBjdGNtX3ByaXYgKnByaXYgPSBkZXYtPnByaXY7Ci0JaW50IGxlbiA9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY291bnQ7CisJaW50IGxlbiA9IGNoLT5tYXhfYnVmc2l6ZSAtIGNoLT5pcmItPnNjc3cuY21kLmNvdW50OwogCXN0cnVjdCBza19idWZmICpza2IgPSBjaC0+dHJhbnNfc2tiOwogCV9fdTE2IGJsb2NrX2xlbiA9ICooKF9fdTE2ICopc2tiLT5kYXRhKTsKIAlpbnQgY2hlY2tfbGVuOwpAQCAtMTIzNCw5ICsxMjM0LDkgQEAKIAlpZiAoZHVyYXRpb24gPiBjaC0+cHJvZi50eF90aW1lKQogCQljaC0+cHJvZi50eF90aW1lID0gZHVyYXRpb247CiAKLQlpZiAoY2gtPmlyYi0+c2Nzdy5jb3VudCAhPSAwKQorCWlmIChjaC0+aXJiLT5zY3N3LmNtZC5jb3VudCAhPSAwKQogCQljdGNtX3ByX2RlYnVnKCIlczogVFggbm90IGNvbXBsZXRlLCByZW1haW5pbmcgJWQgYnl0ZXNcbiIsCi0JCQkJZGV2LT5uYW1lLCBjaC0+aXJiLT5zY3N3LmNvdW50KTsKKwkJCQlkZXYtPm5hbWUsIGNoLT5pcmItPnNjc3cuY21kLmNvdW50KTsKIAlmc21fZGVsdGltZXIoJmNoLT50aW1lcik7CiAJd2hpbGUgKChza2IgPSBza2JfZGVxdWV1ZSgmY2gtPmlvX3F1ZXVlKSkpIHsKIAkJcHJpdi0+c3RhdHMudHhfcGFja2V0cysrOwpAQCAtMTM5NCw3ICsxMzk0LDcgQEAKIAlzdHJ1Y3Qgc2tfYnVmZgkJKnNrYiA9IGNoLT50cmFuc19za2I7CiAJc3RydWN0IHNrX2J1ZmYJCSpuZXdfc2tiOwogCXVuc2lnbmVkIGxvbmcJc2F2ZWZsYWdzID0gMDsJLyogYXZvaWRzIGNvbXBpbGVyIHdhcm5pbmcgKi8KLQlpbnQgbGVuCT0gY2gtPm1heF9idWZzaXplIC0gY2gtPmlyYi0+c2Nzdy5jb3VudDsKKwlpbnQgbGVuCT0gY2gtPm1heF9idWZzaXplIC0gY2gtPmlyYi0+c2Nzdy5jbWQuY291bnQ7CiAKIAlpZiAoZG9fZGVidWdfZGF0YSkgewogCQlDVENNX0RCRl9URVhUXyhUUkFDRSwgQ1RDX0RCRl9ERUJVRywgIm1wY19jaF9yeCAlcyBjcDolaSAlc1xuIiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9tYWluLmMgYi9kcml2ZXJzL3MzOTAvbmV0L2N0Y21fbWFpbi5jCmluZGV4IGQ1Mjg0M2QuLjZiMTNjMWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3RjbV9tYWluLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jdGNtX21haW4uYwpAQCAtMTIzNiw4ICsxMjM2LDggQEAKIAkvKiBDaGVjayBmb3IgdW5zb2xpY2l0ZWQgaW50ZXJydXB0cy4gKi8KIAlpZiAoY2dkZXYgPT0gTlVMTCkgewogCQljdGNtX3ByX3dhcm4oImN0Y206IEdvdCB1bnNvbGljaXRlZCBpcnE6ICVzIGMtJTAyeCBkLSUwMnhcbiIsCi0JCQkgICAgY2Rldi0+ZGV2LmJ1c19pZCwgaXJiLT5zY3N3LmNzdGF0LAotCQkJICAgIGlyYi0+c2Nzdy5kc3RhdCk7CisJCQkgICAgY2Rldi0+ZGV2LmJ1c19pZCwgaXJiLT5zY3N3LmNtZC5jc3RhdCwKKwkJCSAgICBpcmItPnNjc3cuY21kLmRzdGF0KTsKIAkJcmV0dXJuOwogCX0KIApAQCAtMTI2Niw0MCArMTI2Niw0MCBAQAogCQkJCSJyZWNlaXZlZCBjLSUwMnggZC0lMDJ4XG4iLAogCQkJCWRldi0+bmFtZSwKIAkJCQljaC0+aWQsCi0JCQkJaXJiLT5zY3N3LmNzdGF0LAotCQkJCWlyYi0+c2Nzdy5kc3RhdCk7CisJCQkJaXJiLT5zY3N3LmNtZC5jc3RhdCwKKwkJCQlpcmItPnNjc3cuY21kLmRzdGF0KTsKIAogCS8qIENvcHkgaW50ZXJydXB0aW9uIHJlc3BvbnNlIGJsb2NrLiAqLwogCW1lbWNweShjaC0+aXJiLCBpcmIsIHNpemVvZihzdHJ1Y3QgaXJiKSk7CiAKIAkvKiBDaGVjayBmb3IgZ29vZCBzdWJjaGFubmVsIHJldHVybiBjb2RlLCBvdGhlcndpc2UgZXJyb3IgbWVzc2FnZSAqLwotCWlmIChpcmItPnNjc3cuY3N0YXQpIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5jc3RhdCkgewogCQlmc21fZXZlbnQoY2gtPmZzbSwgQ1RDX0VWRU5UX1NDX1VOS05PV04sIGNoKTsKIAkJY3RjbV9wcl93YXJuKCIlczogc3ViY2hhbm5lbCBjaGVjayBmb3IgZGV2OiAlcyAtICUwMnggJTAyeFxuIiwKLQkJCSAgICBkZXYtPm5hbWUsIGNoLT5pZCwgaXJiLT5zY3N3LmNzdGF0LAotCQkJICAgIGlyYi0+c2Nzdy5kc3RhdCk7CisJCQkgICAgZGV2LT5uYW1lLCBjaC0+aWQsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCQkgICAgaXJiLT5zY3N3LmNtZC5kc3RhdCk7CiAJCXJldHVybjsKIAl9CiAKIAkvKiBDaGVjayB0aGUgcmVhc29uLWNvZGUgb2YgYSB1bml0IGNoZWNrICovCi0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKKwlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spIHsKIAkJY2N3X3VuaXRfY2hlY2soY2gsIGlyYi0+ZWN3WzBdKTsKIAkJcmV0dXJuOwogCX0KLQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQlVTWSkgewotCQlpZiAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKQorCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQlVTWSkgeworCQlpZiAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikKIAkJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfQVRUTkJVU1ksIGNoKTsKIAkJZWxzZQogCQkJZnNtX2V2ZW50KGNoLT5mc20sIENUQ19FVkVOVF9CVVNZLCBjaCk7CiAJCXJldHVybjsKIAl9Ci0JaWYgKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0FUVEVOVElPTikgeworCWlmIChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfQVRURU5USU9OKSB7CiAJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfQVRUTiwgY2gpOwogCQlyZXR1cm47CiAJfQotCWlmICgoaXJiLT5zY3N3LnN0Y3RsICYgU0NTV19TVENUTF9TRUNfU1RBVFVTKSB8fAotCSAgICAoaXJiLT5zY3N3LnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8Ci0JICAgIChpcmItPnNjc3cuc3RjdGwgPT0KKwlpZiAoKGlyYi0+c2Nzdy5jbWQuc3RjdGwgJiBTQ1NXX1NUQ1RMX1NFQ19TVEFUVVMpIHx8CisJICAgIChpcmItPnNjc3cuY21kLnN0Y3RsID09IFNDU1dfU1RDVExfU1RBVFVTX1BFTkQpIHx8CisJICAgIChpcmItPnNjc3cuY21kLnN0Y3RsID09CiAJICAgICAoU0NTV19TVENUTF9BTEVSVF9TVEFUVVMgfCBTQ1NXX1NUQ1RMX1NUQVRVU19QRU5EKSkpCiAJCWZzbV9ldmVudChjaC0+ZnNtLCBDVENfRVZFTlRfRklOU1RBVCwgY2gpOwogCWVsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmMgYi9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5jCmluZGV4IDhlNzY5NzMuLmY0YTMyMzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9jdTMwODguYwpAQCAtMzYsNyArMzYsNiBAQAogCSJDVEMvQSIsCiAJIkVTQ09OIGNoYW5uZWwiLAogCSJGSUNPTiBjaGFubmVsIiwKLQkiUDM5MCBMQ1MgY2FyZCIsCiAJIk9TQSBMQ1MgY2FyZCIsCiAJIkNMQVcgY2hhbm5lbCBkZXZpY2UiLAogCSJ1bmtub3duIGNoYW5uZWwgdHlwZSIsCkBAIC00OSw3ICs0OCw2IEBACiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHgwOCksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9wYXJhbGxlbCB9LAogCXsgQ0NXX0RFVklDRSgweDMwODgsIDB4MWYpLCAuZHJpdmVyX2luZm8gPSBjaGFubmVsX3R5cGVfZXNjb24gfSwKIAl7IENDV19ERVZJQ0UoMHgzMDg4LCAweDFlKSwgLmRyaXZlcl9pbmZvID0gY2hhbm5lbF90eXBlX2ZpY29uIH0sCi0JeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHgwMSksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9wMzkwIH0sCiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHg2MCksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9vc2EyIH0sCiAJeyBDQ1dfREVWSUNFKDB4MzA4OCwgMHg2MSksIC5kcml2ZXJfaW5mbyA9IGNoYW5uZWxfdHlwZV9jbGF3IH0sCiAJeyAvKiBlbmQgb2YgbGlzdCAqLyB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5oIGIvZHJpdmVycy9zMzkwL25ldC9jdTMwODguaAppbmRleCAxNzUzNjYxLi5kODU1OGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L2N1MzA4OC5oCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvY3UzMDg4LmgKQEAgLTE3LDkgKzE3LDYgQEAKIAkvKiBEZXZpY2UgaXMgYSBGSUNPTiBjaGFubmVsICovCiAJY2hhbm5lbF90eXBlX2ZpY29uLAogCi0JLyogRGV2aWNlIGlzIGEgUDM5MCBMQ1MgY2FyZCAqLwotCWNoYW5uZWxfdHlwZV9wMzkwLAotCiAJLyogRGV2aWNlIGlzIGEgT1NBMiBjYXJkICovCiAJY2hhbm5lbF90eXBlX29zYTIsCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvbGNzLmMgYi9kcml2ZXJzL3MzOTAvbmV0L2xjcy5jCmluZGV4IGRkMjJmNGIuLjZkZTI4MzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvczM5MC9uZXQvbGNzLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9sY3MuYwpAQCAtMTMyNyw4ICsxMzI3LDggQEAKIAljaGFyICpzZW5zZTsKIAogCXNlbnNlID0gKGNoYXIgKikgaXJiLT5lY3c7Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCWlmIChjc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkgICAgIFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfCBTQ0hOX1NUQVRfQ0hBSU5fQ0hFQ0sgfApAQCAtMTM4OCwxMSArMTM4OCwxMyBAQAogCWVsc2UKIAkJY2hhbm5lbCA9ICZjYXJkLT53cml0ZTsKIAotCWNzdGF0ID0gaXJiLT5zY3N3LmNzdGF0OwotCWRzdGF0ID0gaXJiLT5zY3N3LmRzdGF0OworCWNzdGF0ID0gaXJiLT5zY3N3LmNtZC5jc3RhdDsKKwlkc3RhdCA9IGlyYi0+c2Nzdy5jbWQuZHN0YXQ7CiAJTENTX0RCRl9URVhUXyg1LCB0cmFjZSwgIlJpbnQlcyIsY2Rldi0+ZGV2LmJ1c19pZCk7Ci0JTENTX0RCRl9URVhUXyg1LCB0cmFjZSwgIiU0eCU0eCIsaXJiLT5zY3N3LmNzdGF0LCBpcmItPnNjc3cuZHN0YXQpOwotCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLGlyYi0+c2Nzdy5mY3RsLCBpcmItPnNjc3cuYWN0bCk7CisJTENTX0RCRl9URVhUXyg1LCB0cmFjZSwgIiU0eCU0eCIsIGlyYi0+c2Nzdy5jbWQuY3N0YXQsCisJCSAgICAgIGlyYi0+c2Nzdy5jbWQuZHN0YXQpOworCUxDU19EQkZfVEVYVF8oNSwgdHJhY2UsICIlNHglNHgiLCBpcmItPnNjc3cuY21kLmZjdGwsCisJCSAgICAgIGlyYi0+c2Nzdy5jbWQuYWN0bCk7CiAKIAkvKiBDaGVjayBmb3IgY2hhbm5lbCBhbmQgZGV2aWNlIGVycm9ycyBwcmVzZW50ZWQgKi8KIAlyYyA9IGxjc19nZXRfcHJvYmxlbShjZGV2LCBpcmIpOwpAQCAtMTQxMCwxMSArMTQxMiwxMSBAQAogCX0KIAkvKiBIb3cgZmFyIGluIHRoZSBjY3cgY2hhaW4gaGF2ZSB3ZSBwcm9jZXNzZWQ/ICovCiAJaWYgKChjaGFubmVsLT5zdGF0ZSAhPSBMQ1NfQ0hfU1RBVEVfSU5JVCkgJiYKLQkgICAgKGlyYi0+c2Nzdy5mY3RsICYgU0NTV19GQ1RMX1NUQVJUX0ZVTkMpKSB7Ci0JCWluZGV4ID0gKHN0cnVjdCBjY3cxICopIF9fdmEoKGFkZHJfdCkgaXJiLT5zY3N3LmNwYSkKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIFNDU1dfRkNUTF9TVEFSVF9GVU5DKSkgeworCQlpbmRleCA9IChzdHJ1Y3QgY2N3MSAqKSBfX3ZhKChhZGRyX3QpIGlyYi0+c2Nzdy5jbWQuY3BhKQogCQkJLSBjaGFubmVsLT5jY3dzOwotCQlpZiAoKGlyYi0+c2Nzdy5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkgfHwKLQkJICAgIChpcmItPnNjc3cuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSkKKwkJaWYgKChpcmItPnNjc3cuY21kLmFjdGwgJiBTQ1NXX0FDVExfU1VTUEVOREVEKSB8fAorCQkgICAgKGlyYi0+c2Nzdy5jbWQuY3N0YXQgJiBTQ0hOX1NUQVRfUENJKSkKIAkJCS8qIEJsb29keSBpbyBzdWJzeXN0ZW0gdGVsbHMgdXMgbGllcyBhYm91dCBjcGEuLi4gKi8KIAkJCWluZGV4ID0gKGluZGV4IC0gMSkgJiAoTENTX05VTV9CVUZGUyAtIDEpOwogCQl3aGlsZSAoY2hhbm5lbC0+aW9faWR4ICE9IGluZGV4KSB7CkBAIC0xNDI1LDI1ICsxNDI3LDI0IEBACiAJCX0KIAl9CiAKLQlpZiAoKGlyYi0+c2Nzdy5kc3RhdCAmIERFVl9TVEFUX0RFVl9FTkQpIHx8Ci0JICAgIChpcmItPnNjc3cuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB8fAotCSAgICAoaXJiLT5zY3N3LmRzdGF0ICYgREVWX1NUQVRfVU5JVF9DSEVDSykpCisJaWYgKChpcmItPnNjc3cuY21kLmRzdGF0ICYgREVWX1NUQVRfREVWX0VORCkgfHwKKwkgICAgKGlyYi0+c2Nzdy5jbWQuZHN0YXQgJiBERVZfU1RBVF9DSE5fRU5EKSB8fAorCSAgICAoaXJiLT5zY3N3LmNtZC5kc3RhdCAmIERFVl9TVEFUX1VOSVRfQ0hFQ0spKQogCQkvKiBNYXJrIGNoYW5uZWwgYXMgc3RvcHBlZC4gKi8KIAkJY2hhbm5lbC0+c3RhdGUgPSBMQ1NfQ0hfU1RBVEVfU1RPUFBFRDsKLQllbHNlIGlmIChpcmItPnNjc3cuYWN0bCAmIFNDU1dfQUNUTF9TVVNQRU5ERUQpCisJZWxzZSBpZiAoaXJiLT5zY3N3LmNtZC5hY3RsICYgU0NTV19BQ1RMX1NVU1BFTkRFRCkKIAkJLyogQ0NXIGV4ZWN1dGlvbiBzdG9wcGVkIG9uIGEgc3VzcGVuZCBiaXQuICovCiAJCWNoYW5uZWwtPnN0YXRlID0gTENTX0NIX1NUQVRFX1NVU1BFTkRFRDsKLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7Ci0JCWlmIChpcmItPnNjc3cuY2MgIT0gMCkgeworCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfSEFMVF9GVU5DKSB7CisJCWlmIChpcmItPnNjc3cuY21kLmNjICE9IDApIHsKIAkJCWNjd19kZXZpY2VfaGFsdChjaGFubmVsLT5jY3dkZXYsIChhZGRyX3QpIGNoYW5uZWwpOwogCQkJcmV0dXJuOwogCQl9CiAJCS8qIFRoZSBjaGFubmVsIGhhcyBiZWVuIHN0b3BwZWQgYnkgaGFsdF9JTy4gKi8KIAkJY2hhbm5lbC0+c3RhdGUgPSBMQ1NfQ0hfU1RBVEVfSEFMVEVEOwogCX0KLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykgeworCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiBTQ1NXX0ZDVExfQ0xFQVJfRlVOQykKIAkJY2hhbm5lbC0+c3RhdGUgPSBMQ1NfQ0hfU1RBVEVfQ0xFQVJFRDsKLQl9CiAJLyogRG8gdGhlIHJlc3QgaW4gdGhlIHRhc2tsZXQuICovCiAJdGFza2xldF9zY2hlZHVsZSgmY2hhbm5lbC0+aXJxX3Rhc2tsZXQpOwogfQpAQCAtMTc2MSw3ICsxNzYyLDcgQEAKIAkJCQluZXRpZl9jYXJyaWVyX29mZihjYXJkLT5kZXYpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6Ci0JCQlQUklOVF9JTkZPKCJVTlJFQ09HTklaRUQgTEdXIENPTU1BTkRcbiIpOworCQkJTENTX0RCRl9URVhUKDUsIHRyYWNlLCAibm9MR1djbWQiKTsKIAkJCWJyZWFrOwogCQl9CiAJfSBlbHNlCkBAIC0yMDQyLDEzICsyMDQzLDEyIEBACiAJTENTX0RCRl9URVhUKDIsIHNldHVwLCAiYWRkX2RldiIpOwogICAgICAgICBjYXJkID0gbGNzX2FsbG9jX2NhcmQoKTsKICAgICAgICAgaWYgKCFjYXJkKSB7Ci0gICAgICAgICAgICAgICAgUFJJTlRfRVJSKCJBbGxvY2F0aW9uIG9mIGxjcyBjYXJkIGZhaWxlZFxuIik7CisJCUxDU19EQkZfVEVYVF8oMiwgc2V0dXAsICIgIHJjJWQiLCAtRU5PTUVNKTsKIAkJcHV0X2RldmljZSgmY2N3Z2Rldi0+ZGV2KTsKICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICAgICAgfQogCXJldCA9IHN5c2ZzX2NyZWF0ZV9ncm91cCgmY2N3Z2Rldi0+ZGV2LmtvYmosICZsY3NfYXR0cl9ncm91cCk7CiAJaWYgKHJldCkgewotICAgICAgICAgICAgICAgIFBSSU5UX0VSUigiQ3JlYXRpbmcgYXR0cmlidXRlcyBmYWlsZWQiKTsKIAkJbGNzX2ZyZWVfY2FyZChjYXJkKTsKIAkJcHV0X2RldmljZSgmY2N3Z2Rldi0+ZGV2KTsKIAkJcmV0dXJuIHJldDsKQEAgLTIxNDAsNyArMjE0MCw2IEBACiAJZGVmYXVsdDoKIAkJTENTX0RCRl9URVhUKDMsIHNldHVwLCAiZXJyaW5pdCIpOwogCQlQUklOVF9FUlIoIkxDUzogSW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iKTsKLQkJUFJJTlRfRVJSKCJMQ1M6IE5vIGRldmljZSBmb3VuZCFcbiIpOwogCQlnb3RvIG91dDsKIAl9CiAJaWYgKCFkZXYpCkBAIC0yMjY5LDcgKzIyNjgsNiBAQAogCWlmICghY2FyZCkKIAkJcmV0dXJuOwogCi0JUFJJTlRfSU5GTygiUmVtb3ZpbmcgbGNzIGdyb3VwIGRldmljZSAuLi4uXG4iKTsKIAlMQ1NfREJGX1RFWFQoMywgc2V0dXAsICJyZW1kZXYiKTsKIAlMQ1NfREJGX0hFWCgzLCBzZXR1cCwgJmNhcmQsIHNpemVvZih2b2lkKikpOwogCWlmIChjY3dnZGV2LT5zdGF0ZSA9PSBDQ1dHUk9VUF9PTkxJTkUpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvbmV0aXVjdi5jIGIvZHJpdmVycy9zMzkwL25ldC9uZXRpdWN2LmMKaW5kZXggZTRiYTZhMC4uOTI0MmI1YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL25ldC9uZXRpdWN2LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9uZXRpdWN2LmMKQEAgLTYyNSw5ICs2MjUsNiBAQAogCQlvZmZzZXQgKz0gaGVhZGVyLT5uZXh0OwogCQloZWFkZXItPm5leHQgLT0gTkVUSVVDVl9IRFJMRU47CiAJCWlmIChza2JfdGFpbHJvb20ocHNrYikgPCBoZWFkZXItPm5leHQpIHsKLQkJCVBSSU5UX1dBUk4oIiVzOiBJbGxlZ2FsIG5leHQgZmllbGQgaW4gaXVjdiBoZWFkZXI6ICIKLQkJCSAgICAgICAiJWQgPiAlZFxuIiwKLQkJCSAgICAgICBkZXYtPm5hbWUsIGhlYWRlci0+bmV4dCwgc2tiX3RhaWxyb29tKHBza2IpKTsKIAkJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJJbGxlZ2FsIG5leHQgZmllbGQ6ICVkID4gJWRcbiIsCiAJCQkJaGVhZGVyLT5uZXh0LCBza2JfdGFpbHJvb20ocHNrYikpOwogCQkJcmV0dXJuOwpAQCAtNjM2LDggKzYzMyw2IEBACiAJCXNrYl9yZXNldF9tYWNfaGVhZGVyKHBza2IpOwogCQlza2IgPSBkZXZfYWxsb2Nfc2tiKHBza2ItPmxlbik7CiAJCWlmICghc2tiKSB7Ci0JCQlQUklOVF9XQVJOKCIlcyBPdXQgb2YgbWVtb3J5IGluIG5ldGl1Y3ZfdW5wYWNrX3NrYlxuIiwKLQkJCSAgICAgICBkZXYtPm5hbWUpOwogCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLAogCQkJCSJPdXQgb2YgbWVtb3J5IGluIG5ldGl1Y3ZfdW5wYWNrX3NrYlxuIik7CiAJCQlwcml2cHRyLT5zdGF0cy5yeF9kcm9wcGVkKys7CkBAIC02NzQsNyArNjY5LDYgQEAKIAogCWlmICghY29ubi0+bmV0ZGV2KSB7CiAJCWl1Y3ZfbWVzc2FnZV9yZWplY3QoY29ubi0+cGF0aCwgbXNnKTsKLQkJUFJJTlRfV0FSTigiUmVjZWl2ZWQgZGF0YSBmb3IgdW5saW5rZWQgY29ubmVjdGlvblxuIik7CiAJCUlVQ1ZfREJGX1RFWFQoZGF0YSwgMiwKIAkJCSAgICAgICJSZWNlaXZlZCBkYXRhIGZvciB1bmxpbmtlZCBjb25uZWN0aW9uXG4iKTsKIAkJcmV0dXJuOwpAQCAtNjgyLDggKzY3Niw2IEBACiAJaWYgKG1zZy0+bGVuZ3RoID4gY29ubi0+bWF4X2J1ZmZzaXplKSB7CiAJCWl1Y3ZfbWVzc2FnZV9yZWplY3QoY29ubi0+cGF0aCwgbXNnKTsKIAkJcHJpdnB0ci0+c3RhdHMucnhfZHJvcHBlZCsrOwotCQlQUklOVF9XQVJOKCJtc2dsZW4gJWQgPiBtYXhfYnVmZnNpemUgJWRcbiIsCi0JCQkgICBtc2ctPmxlbmd0aCwgY29ubi0+bWF4X2J1ZmZzaXplKTsKIAkJSVVDVl9EQkZfVEVYVF8oZGF0YSwgMiwgIm1zZ2xlbiAlZCA+IG1heF9idWZmc2l6ZSAlZFxuIiwKIAkJCSAgICAgICBtc2ctPmxlbmd0aCwgY29ubi0+bWF4X2J1ZmZzaXplKTsKIAkJcmV0dXJuOwpAQCAtNjk1LDcgKzY4Nyw2IEBACiAJCQkJICBtc2ctPmxlbmd0aCwgTlVMTCk7CiAJaWYgKHJjIHx8IG1zZy0+bGVuZ3RoIDwgNSkgewogCQlwcml2cHRyLT5zdGF0cy5yeF9lcnJvcnMrKzsKLQkJUFJJTlRfV0FSTigiaXVjdl9yZWNlaXZlIHJldHVybmVkICUwOHhcbiIsIHJjKTsKIAkJSVVDVl9EQkZfVEVYVF8oZGF0YSwgMiwgInJjICVkIGZyb20gaXVjdl9yZWNlaXZlXG4iLCByYyk7CiAJCXJldHVybjsKIAl9CkBAIC03NzgsNyArNzY5LDYgQEAKIAkJZnNtX25ld3N0YXRlKGZpLCBDT05OX1NUQVRFX0lETEUpOwogCQlpZiAocHJpdnB0cikKIAkJCXByaXZwdHItPnN0YXRzLnR4X2Vycm9ycyArPSB0eHBhY2tldHM7Ci0JCVBSSU5UX1dBUk4oIml1Y3Zfc2VuZCByZXR1cm5lZCAlMDh4XG4iLAlyYyk7CiAJCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICJyYyAlZCBmcm9tIGl1Y3Zfc2VuZFxuIiwgcmMpOwogCX0gZWxzZSB7CiAJCWlmIChwcml2cHRyKSB7CkBAIC04MDYsOCArNzk2LDYgQEAKIAlwYXRoLT5mbGFncyA9IDA7CiAJcmMgPSBpdWN2X3BhdGhfYWNjZXB0KHBhdGgsICZuZXRpdWN2X2hhbmRsZXIsIE5VTEwsIGNvbm4pOwogCWlmIChyYykgewotCQlQUklOVF9XQVJOKCIlczogSVVDViBhY2NlcHQgZmFpbGVkIHdpdGggZXJyb3IgJWRcbiIsCi0JCSAgICAgICBuZXRkZXYtPm5hbWUsIHJjKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsICJyYyAlZCBmcm9tIGl1Y3ZfYWNjZXB0IiwgcmMpOwogCQlyZXR1cm47CiAJfQpAQCAtODczLDcgKzg2MSw3IEBACiAJSVVDVl9EQkZfVEVYVCh0cmFjZSwgMywgX19mdW5jX18pOwogCiAJZnNtX25ld3N0YXRlKGZpLCBDT05OX1NUQVRFX1NUQVJUV0FJVCk7Ci0JUFJJTlRfREVCVUcoIiVzKCclcycpOiBjb25uZWN0aW5nIC4uLlxuIiwKKwlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgIiVzKCclcycpOiBjb25uZWN0aW5nIC4uLlxuIiwKIAkJICAgIGNvbm4tPm5ldGRldi0+bmFtZSwgY29ubi0+dXNlcmlkKTsKIAogCS8qCkBAIC05NjgsOCArOTU2LDggQEAKIAlzdHJ1Y3QgaXVjdl9jb25uZWN0aW9uICpjb25uID0gYXJnOwogCXN0cnVjdCBuZXRfZGV2aWNlICpuZXRkZXYgPSBjb25uLT5uZXRkZXY7CiAKLQlQUklOVF9XQVJOKCIlczogQ2Fubm90IGNvbm5lY3Qgd2l0aG91dCB1c2VybmFtZVxuIiwgbmV0ZGV2LT5uYW1lKTsKLQlJVUNWX0RCRl9URVhUKGRhdGEsIDIsICJjb25uX2FjdGlvbl9pbnZhbCBjYWxsZWRcbiIpOworCUlVQ1ZfREJGX1RFWFRfKGRhdGEsIDIsICIlcygnJXMnKTogY29ubl9hY3Rpb25faW52YWwgY2FsbGVkXG4iLAorCQluZXRkZXYtPm5hbWUsIGNvbm4tPnVzZXJpZCk7CiB9CiAKIHN0YXRpYyBjb25zdCBmc21fbm9kZSBjb25uX2ZzbVtdID0gewpAQCAtMTA3Nyw5ICsxMDY1LDYgQEAKIAkJCQkiY29ubmVjdGlvbiBpcyB1cCBhbmQgcnVubmluZ1xuIik7CiAJCQlicmVhazsKIAkJY2FzZSBERVZfU1RBVEVfU1RPUFdBSVQ6Ci0JCQlQUklOVF9JTkZPKAotCQkJICAgICAgICIlczogZ290IGNvbm5lY3Rpb24gVVAgZXZlbnQgZHVyaW5nIHNodXRkb3duIVxuIiwKLQkJCSAgICAgICBkZXYtPm5hbWUpOwogCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLAogCQkJCSJkZXZfYWN0aW9uX2Nvbm51cDogaW4gREVWX1NUQVRFX1NUT1BXQUlUXG4iKTsKIAkJCWJyZWFrOwpAQCAtMTE3NCw4ICsxMTU5LDYgQEAKIAkJCW5za2IgPSBhbGxvY19za2Ioc2tiLT5sZW4gKyBORVRJVUNWX0hEUkxFTiArCiAJCQkJCSBORVRJVUNWX0hEUkxFTiwgR0ZQX0FUT01JQyB8IEdGUF9ETUEpOwogCQkJaWYgKCFuc2tiKSB7Ci0JCQkJUFJJTlRfV0FSTigiJXM6IENvdWxkIG5vdCBhbGxvY2F0ZSB0eF9za2JcbiIsCi0JCQkJICAgICAgIGNvbm4tPm5ldGRldi0+bmFtZSk7CiAJCQkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAiYWxsb2Nfc2tiIGZhaWxlZFxuIik7CiAJCQkJcmMgPSAtRU5PTUVNOwogCQkJCXJldHVybiByYzsKQEAgLTEyMjMsNyArMTIwNiw2IEBACiAJCQkJc2tiX3B1bGwoc2tiLCBORVRJVUNWX0hEUkxFTik7CiAJCQkJc2tiX3RyaW0oc2tiLCBza2ItPmxlbiAtIE5FVElVQ1ZfSERSTEVOKTsKIAkJCX0KLQkJCVBSSU5UX1dBUk4oIml1Y3Zfc2VuZCByZXR1cm5lZCAlMDh4XG4iLAlyYyk7CiAJCQlJVUNWX0RCRl9URVhUXyhkYXRhLCAyLCAicmMgJWQgZnJvbSBpdWN2X3NlbmRcbiIsIHJjKTsKIAkJfSBlbHNlIHsKIAkJCWlmIChjb3BpZWQpCkBAIC0xMjkzLDE0ICsxMjc1LDExIEBACiAJICogU29tZSBzYW5pdHkgY2hlY2tzIC4uLgogCSAqLwogCWlmIChza2IgPT0gTlVMTCkgewotCQlQUklOVF9XQVJOKCIlczogTlVMTCBza19idWZmIHBhc3NlZFxuIiwgZGV2LT5uYW1lKTsKIAkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLCAibmV0aXVjdl90eDogc2tiIGlzIE5VTExcbiIpOwogCQlwcml2cHRyLT5zdGF0cy50eF9kcm9wcGVkKys7CiAJCXJldHVybiAwOwogCX0KIAlpZiAoc2tiX2hlYWRyb29tKHNrYikgPCBORVRJVUNWX0hEUkxFTikgewotCQlQUklOVF9XQVJOKCIlczogR290IHNrX2J1ZmYgd2l0aCBoZWFkIHJvb20gPCAlbGQgYnl0ZXNcbiIsCi0JCSAgICAgICBkZXYtPm5hbWUsIE5FVElVQ1ZfSERSTEVOKTsKIAkJSVVDVl9EQkZfVEVYVChkYXRhLCAyLAogCQkJIm5ldGl1Y3ZfdHg6IHNrYl9oZWFkcm9vbSA8IE5FVElVQ1ZfSERSTEVOXG4iKTsKIAkJZGV2X2tmcmVlX3NrYihza2IpOwpAQCAtMTM5Myw3ICsxMzcyLDYgQEAKIAogCUlVQ1ZfREJGX1RFWFQodHJhY2UsIDMsIF9fZnVuY19fKTsKIAlpZiAoY291bnQgPiA5KSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IHVzZXJuYW1lIHRvbyBsb25nICglZCkhXG4iLCAoaW50KSBjb3VudCk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJICAgICAgICIlZCBpcyBsZW5ndGggb2YgdXNlcm5hbWVcbiIsIChpbnQpIGNvdW50KTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xNDA5LDcgKzEzODcsNiBAQAogCQkJLyogdHJhaWxpbmcgbGYsIGdyciAqLwogCQkJYnJlYWs7CiAJCX0KLQkJUFJJTlRfV0FSTigibmV0aXVjdjogSW52YWxpZCBjaGFyICVjIGluIHVzZXJuYW1lIVxuIiwgKnApOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSAgICAgICAidXNlcm5hbWU6IGludmFsaWQgY2hhcmFjdGVyICVjXG4iLCAqcCk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTQyMSwxOCArMTM5OCwxNSBAQAogCWlmIChtZW1jbXAodXNlcm5hbWUsIHByaXYtPmNvbm4tPnVzZXJpZCwgOSkgJiYKIAkgICAgKG5kZXYtPmZsYWdzICYgKElGRl9VUCB8IElGRl9SVU5OSU5HKSkpIHsKIAkJLyogdXNlcm5hbWUgY2hhbmdlZCB3aGlsZSB0aGUgaW50ZXJmYWNlIGlzIGFjdGl2ZS4gKi8KLQkJUFJJTlRfV0FSTigibmV0aXVjdjogZGV2aWNlICVzIGFjdGl2ZSwgY29ubmVjdGVkIHRvICVzXG4iLAotCQkJICAgZGV2LT5idXNfaWQsIHByaXYtPmNvbm4tPnVzZXJpZCk7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IHVzZXIgY2Fubm90IGJlIHVwZGF0ZWRcbiIpOwogCQlJVUNWX0RCRl9URVhUKHNldHVwLCAyLCAidXNlcl93cml0ZTogZGV2aWNlIGFjdGl2ZVxuIik7Ci0JCXJldHVybiAtRUJVU1k7CisJCXJldHVybiAtRVBFUk07CiAJfQogCXJlYWRfbG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjcCwgJml1Y3ZfY29ubmVjdGlvbl9saXN0LCBsaXN0KSB7CiAJCWlmICghc3RybmNtcCh1c2VybmFtZSwgY3AtPnVzZXJpZCwgOSkgJiYgY3AtPm5ldGRldiAhPSBuZGV2KSB7CiAJCQlyZWFkX3VubG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7Ci0JCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb25uZWN0aW9uIHRvICVzIGFscmVhZHkgIgotCQkJCSAgICJleGlzdHNcbiIsIHVzZXJuYW1lKTsKKwkJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLCAidXNlcl93cml0ZTogQ29ubmVjdGlvbiAiCisJCQkJInRvICVzIGFscmVhZHkgZXhpc3RzXG4iLCB1c2VybmFtZSk7CiAJCQlyZXR1cm4gLUVFWElTVDsKIAkJfQogCX0KQEAgLTE0NjYsMTMgKzE0NDAsMTAgQEAKIAliczEgPSBzaW1wbGVfc3RydG91bChidWYsICZlLCAwKTsKIAogCWlmIChlICYmICghaXNzcGFjZSgqZSkpKSB7Ci0JCVBSSU5UX1dBUk4oIm5ldGl1Y3Y6IEludmFsaWQgY2hhcmFjdGVyIGluIGJ1ZmZlciFcbiIpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgImJ1ZmZlcl93cml0ZTogaW52YWxpZCBjaGFyICVjXG4iLCAqZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlpZiAoYnMxID4gTkVUSVVDVl9CVUZTSVpFX01BWCkgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBHaXZlbiBidWZmZXIgc2l6ZSAlZCB0b28gbGFyZ2UuXG4iLAotCQkJYnMxKTsKIAkJSVVDVl9EQkZfVEVYVF8oc2V0dXAsIDIsCiAJCQkiYnVmZmVyX3dyaXRlOiBidWZmZXIgc2l6ZSAlZCB0b28gbGFyZ2VcbiIsCiAJCQliczEpOwpAQCAtMTQ4MCwxNiArMTQ1MSwxMiBAQAogCX0KIAlpZiAoKG5kZXYtPmZsYWdzICYgSUZGX1JVTk5JTkcpICYmCiAJICAgIChiczEgPCAobmRldi0+bXR1ICsgTkVUSVVDVl9IRFJMRU4gKyAyKSkpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogR2l2ZW4gYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsLlxuIiwKLQkJCWJzMSk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJImJ1ZmZlcl93cml0ZTogYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsXG4iLAogCQkJYnMxKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCWlmIChiczEgPCAoNTc2ICsgTkVUSVVDVl9IRFJMRU4gKyBORVRJVUNWX0hEUkxFTikpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogR2l2ZW4gYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsLlxuIiwKLQkJCWJzMSk7CiAJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLAogCQkJImJ1ZmZlcl93cml0ZTogYnVmZmVyIHNpemUgJWQgdG9vIHNtYWxsXG4iLAogCQkJYnMxKTsKQEAgLTE5NjMsNyArMTkzMCw2IEBACiAKIAlJVUNWX0RCRl9URVhUKHRyYWNlLCAzLCBfX2Z1bmNfXyk7CiAJaWYgKGNvdW50PjkpIHsKLQkJUFJJTlRfV0FSTigibmV0aXVjdjogdXNlcm5hbWUgdG9vIGxvbmcgKCVkKSFcbiIsIChpbnQpY291bnQpOwogCQlJVUNWX0RCRl9URVhUKHNldHVwLCAyLCAiY29ubl93cml0ZTogdG9vIGxvbmdcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0xOTc2LDcgKzE5NDIsNiBAQAogCQlpZiAoKnAgPT0gJ1xuJykKIAkJCS8qIHRyYWlsaW5nIGxmLCBncnIgKi8KIAkJCWJyZWFrOwotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBJbnZhbGlkIGNoYXJhY3RlciBpbiB1c2VybmFtZSFcbiIpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwKIAkJCSAgICAgICAiY29ubl93cml0ZTogaW52YWxpZCBjaGFyYWN0ZXIgJWNcbiIsICpwKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0xOTg5LDggKzE5NTQsOCBAQAogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3AsICZpdWN2X2Nvbm5lY3Rpb25fbGlzdCwgbGlzdCkgewogCQlpZiAoIXN0cm5jbXAodXNlcm5hbWUsIGNwLT51c2VyaWQsIDkpKSB7CiAJCQlyZWFkX3VubG9ja19iaCgmaXVjdl9jb25uZWN0aW9uX3J3bG9jayk7Ci0JCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb25uZWN0aW9uIHRvICVzIGFscmVhZHkgIgotCQkJCSAgICJleGlzdHNcbiIsIHVzZXJuYW1lKTsKKwkJCUlVQ1ZfREJGX1RFWFRfKHNldHVwLCAyLCAiY29ubl93cml0ZTogQ29ubmVjdGlvbiAiCisJCQkJInRvICVzIGFscmVhZHkgZXhpc3RzXG4iLCB1c2VybmFtZSk7CiAJCQlyZXR1cm4gLUVFWElTVDsKIAkJfQogCX0KQEAgLTE5OTgsOSArMTk2Myw2IEBACiAKIAlkZXYgPSBuZXRpdWN2X2luaXRfbmV0ZGV2aWNlKHVzZXJuYW1lKTsKIAlpZiAoIWRldikgewotCQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb3VsZCBub3QgYWxsb2NhdGUgbmV0d29yayBkZXZpY2UgIgotCQkJICAgInN0cnVjdHVyZSBmb3IgdXNlciAnJXMnXG4iLAotCQkJICAgbmV0aXVjdl9wcmludG5hbWUodXNlcm5hbWUpKTsKIAkJSVVDVl9EQkZfVEVYVChzZXR1cCwgMiwgIk5VTEwgZnJvbSBuZXRpdWN2X2luaXRfbmV0ZGV2aWNlXG4iKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQpAQCAtMjAyMCwxNSArMTk4MiwxMiBAQAogCWlmIChyYykKIAkJZ290byBvdXRfdW5yZWc7CiAKLQlQUklOVF9JTkZPKCIlczogJyVzJ1xuIiwgZGV2LT5uYW1lLCBuZXRpdWN2X3ByaW50bmFtZSh1c2VybmFtZSkpOwogCiAJcmV0dXJuIGNvdW50OwogCiBvdXRfdW5yZWc6CiAJbmV0aXVjdl91bnJlZ2lzdGVyX2RldmljZShwcml2LT5kZXYpOwogb3V0X2ZyZWVfbmRldjoKLQlQUklOVF9XQVJOKCJuZXRpdWN2OiBDb3VsZCBub3QgcmVnaXN0ZXIgJyVzJ1xuIiwgZGV2LT5uYW1lKTsKLQlJVUNWX0RCRl9URVhUKHNldHVwLCAyLCAiY29ubl93cml0ZTogY291bGQgbm90IHJlZ2lzdGVyXG4iKTsKIAluZXRpdWN2X2ZyZWVfbmV0ZGV2aWNlKGRldik7CiAJcmV0dXJuIHJjOwogfQpAQCAtMjA3MywxNCArMjAzMiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUFJJTlRfV0FSTigibmV0aXVjdjogJXMgY2Fubm90IGJlIHJlbW92ZWRcbiIsCiAJCQkJICAgbmRldi0+bmFtZSk7CiAJCQlJVUNWX0RCRl9URVhUKGRhdGEsIDIsICJyZW1vdmVfd3JpdGU6IHN0aWxsIGFjdGl2ZVxuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVCVVNZOworCQkJcmV0dXJuIC1FUEVSTTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgdW5yZWdpc3Rlcl9uZXRkZXYobmRldik7CiAgICAgICAgICAgICAgICAgbmV0aXVjdl91bnJlZ2lzdGVyX2RldmljZShkZXYpOwogICAgICAgICAgICAgICAgIHJldHVybiBjb3VudDsKICAgICAgICAgfQogCXJlYWRfdW5sb2NrX2JoKCZpdWN2X2Nvbm5lY3Rpb25fcndsb2NrKTsKLSAgICAgICAgUFJJTlRfV0FSTigibmV0aXVjdjogbmV0IGRldmljZSAlcyB1bmtub3duXG4iLCBuYW1lKTsKIAlJVUNWX0RCRl9URVhUKGRhdGEsIDIsICJyZW1vdmVfd3JpdGU6IHVua25vd24gZGV2aWNlXG4iKTsKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiB9CkBAIC0yMTQ4LDcgKzIxMDYsNiBAQAogCW5ldGl1Y3ZfZHJpdmVyLmdyb3VwcyA9IG5ldGl1Y3ZfZHJ2X2F0dHJfZ3JvdXBzOwogCXJjID0gZHJpdmVyX3JlZ2lzdGVyKCZuZXRpdWN2X2RyaXZlcik7CiAJaWYgKHJjKSB7Ci0JCVBSSU5UX0VSUigiTkVUSVVDVjogZmFpbGVkIHRvIHJlZ2lzdGVyIGRyaXZlci5cbiIpOwogCQlJVUNWX0RCRl9URVhUXyhzZXR1cCwgMiwgInJldCAlZCBmcm9tIGRyaXZlcl9yZWdpc3RlclxuIiwgcmMpOwogCQlnb3RvIG91dF9pdWN2OwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9jb3JlX21haW4uYyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9jb3JlX21haW4uYwppbmRleCA5YTcxZGFlLi4wYWM1NGRjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfY29yZV9tYWluLmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9xZXRoX2NvcmVfbWFpbi5jCkBAIC00MjAsNyArNDIwLDcgQEAKIAkJCQlRRVRIX0RCRl9URVhUKFRSQUNFLCAzLCAidXJsYSIpOwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKLQkJCQlQUklOVF9XQVJOKCJSZWNlaXZlZCBkYXRhIGlzIElQQSAiCisJCQkJUUVUSF9EQkZfTUVTU0FHRSgyLCAiUmVjZWl2ZWQgZGF0YSBpcyBJUEEgIgogCQkJCQkgICAiYnV0IG5vdCBhIHJlcGx5IVxuIik7CiAJCQkJYnJlYWs7CiAJCQl9CkBAIC03MzUsOCArNzM1LDggQEAKIAljaGFyICpzZW5zZTsKIAogCXNlbnNlID0gKGNoYXIgKikgaXJiLT5lY3c7Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCWlmIChjc3RhdCAmIChTQ0hOX1NUQVRfQ0hOX0NUUkxfQ0hLIHwgU0NITl9TVEFUX0lOVEZfQ1RSTF9DSEsgfAogCQkgICAgIFNDSE5fU1RBVF9DSE5fREFUQV9DSEsgfCBTQ0hOX1NUQVRfQ0hBSU5fQ0hFQ0sgfApAQCAtODIzLDggKzgyMyw4IEBACiAKIAlpZiAoX19xZXRoX2NoZWNrX2lyYl9lcnJvcihjZGV2LCBpbnRwYXJtLCBpcmIpKQogCQlyZXR1cm47Ci0JY3N0YXQgPSBpcmItPnNjc3cuY3N0YXQ7Ci0JZHN0YXQgPSBpcmItPnNjc3cuZHN0YXQ7CisJY3N0YXQgPSBpcmItPnNjc3cuY21kLmNzdGF0OworCWRzdGF0ID0gaXJiLT5zY3N3LmNtZC5kc3RhdDsKIAogCWNhcmQgPSBDQVJEX0ZST01fQ0RFVihjZGV2KTsKIAlpZiAoIWNhcmQpCkBAIC04NDIsMTAgKzg0MiwxMCBAQAogCX0KIAlhdG9taWNfc2V0KCZjaGFubmVsLT5pcnFfcGVuZGluZywgMCk7CiAKLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKQorCWlmIChpcmItPnNjc3cuY21kLmZjdGwgJiAoU0NTV19GQ1RMX0NMRUFSX0ZVTkMpKQogCQljaGFubmVsLT5zdGF0ZSA9IENIX1NUQVRFX1NUT1BQRUQ7CiAKLQlpZiAoaXJiLT5zY3N3LmZjdGwgJiAoU0NTV19GQ1RMX0hBTFRfRlVOQykpCisJaWYgKGlyYi0+c2Nzdy5jbWQuZmN0bCAmIChTQ1NXX0ZDVExfSEFMVF9GVU5DKSkKIAkJY2hhbm5lbC0+c3RhdGUgPSBDSF9TVEFURV9IQUxURUQ7CiAKIAkvKmxldCdzIHdha2UgdXAgaW1tZWRpYXRlbHkgb24gZGF0YSBjaGFubmVsKi8KQEAgLTQwOTIsNyArNDA5Miw2IEBACiAKIAlyYyA9IHFldGhfZGV0ZXJtaW5lX2NhcmRfdHlwZShjYXJkKTsKIAlpZiAocmMpIHsKLQkJUFJJTlRfV0FSTigiJXM6IG5vdCBhIHZhbGlkIGNhcmQgdHlwZVxuIiwgX19mdW5jX18pOwogCQlRRVRIX0RCRl9URVhUXyhTRVRVUCwgMiwgIjNlcnIlZCIsIHJjKTsKIAkJZ290byBlcnJfY2FyZDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jIGIvZHJpdmVycy9zMzkwL25ldC9xZXRoX2wzX21haW4uYwppbmRleCA5OTk1NTJjLi4wNmRlYWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L3FldGhfbDNfbWFpbi5jCisrKyBiL2RyaXZlcnMvczM5MC9uZXQvcWV0aF9sM19tYWluLmMKQEAgLTk0NCwxNSArOTQ0LDggQEAKIAllbHNlCiAJCXJjID0gcWV0aF9sM19zZW5kX3NldGRlbGlwKGNhcmQsIGFkZHIsIElQQV9DTURfREVMSVAsCiAJCQkJCWFkZHItPmRlbF9mbGFncyk7Ci0JaWYgKHJjKSB7CisJaWYgKHJjKQogCQlRRVRIX0RCRl9URVhUKFRSQUNFLCAyLCAiZmFpbGVkIik7Ci0JCS8qIFRPRE86IHJlLWFjdGl2YXRlIHRoaXMgd2FybmluZyBhcyBzb29uIGFzIHdlIGhhdmUgYQotCQkgKiBjbGVhbiBtaXJjbyBjb2RlCi0JCXFldGhfaXBhZGRyX3RvX3N0cmluZyhhZGRyLT5wcm90bywgKHU4ICopJmFkZHItPnUsIGJ1Zik7Ci0JCVBSSU5UX1dBUk4oIkNvdWxkIG5vdCBkZXJlZ2lzdGVyIElQIGFkZHJlc3MgJXMgKHJjPSV4KVxuIiwKLQkJCSAgIGJ1ZiwgcmMpOwotCQkqLwotCX0KIAogCXJldHVybiByYzsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9uZXQvc21zZ2l1Y3YuYyBiL2RyaXZlcnMvczM5MC9uZXQvc21zZ2l1Y3YuYwppbmRleCA4NzM1YTQxLi4xNjRlMDkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3MzOTAvbmV0L3Ntc2dpdWN2LmMKKysrIGIvZHJpdmVycy9zMzkwL25ldC9zbXNnaXVjdi5jCkBAIC0xNTYsMTEgKzE1Niw4IEBACiAJaWYgKHJjICE9IDApCiAJCWdvdG8gb3V0OwogCXJjID0gaXVjdl9yZWdpc3Rlcigmc21zZ19oYW5kbGVyLCAxKTsKLQlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJTTVNHSVVDVjogZmFpbGVkIHRvIHJlZ2lzdGVyIHRvIGl1Y3YiKTsKLQkJcmMgPSAtRUlPOwkvKiBiZXR0ZXIgZXJybm8gPyAqLworCWlmIChyYykKIAkJZ290byBvdXRfZHJpdmVyOwotCX0KIAlzbXNnX3BhdGggPSBpdWN2X3BhdGhfYWxsb2MoMjU1LCAwLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNtc2dfcGF0aCkgewogCQlyYyA9IC1FTk9NRU07CkBAIC0xNjgsMTEgKzE2NSw4IEBACiAJfQogCXJjID0gaXVjdl9wYXRoX2Nvbm5lY3Qoc21zZ19wYXRoLCAmc21zZ19oYW5kbGVyLCAiKk1TRyAgICAiLAogCQkJICAgICAgIE5VTEwsIE5VTEwsIE5VTEwpOwotCWlmIChyYykgewotCQlwcmludGsoS0VSTl9FUlIgIlNNU0dJVUNWOiBmYWlsZWQgdG8gY29ubmVjdCB0byAqTVNHIik7Ci0JCXJjID0gLUVJTzsJLyogYmV0dGVyIGVycm5vID8gKi8KKwlpZiAocmMpCiAJCWdvdG8gb3V0X2ZyZWU7Ci0JfQogCWNwY21kKCJTRVQgU01TRyBJVUNWIiwgTlVMTCwgMCwgTlVMTCk7CiAJcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5jIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKaW5kZXggNWJmYmU3Ni4uODM0ZTllZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKKysrIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmMKQEAgLTIsMTAgKzIsMTAgQEAKICAqICBkcml2ZXJzL3MzOTAvczM5MG1hY2guYwogICogICBTLzM5MCBtYWNoaW5lIGNoZWNrIGhhbmRsZXIKICAqCi0gKiAgUzM5MCB2ZXJzaW9uCi0gKiAgICBDb3B5cmlnaHQgKEMpIDIwMDAgSUJNIERldXRzY2hsYW5kIEVudHdpY2tsdW5nIEdtYkgsIElCTSBDb3Jwb3JhdGlvbgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDAwLDIwMDgKICAqICAgIEF1dGhvcihzKTogSW5nbyBBZGx1bmcgKGFkbHVuZ0BkZS5pYm0uY29tKQogICoJCSBNYXJ0aW4gU2Nod2lkZWZza3kgKHNjaHdpZGVmc2t5QGRlLmlibS5jb20pCisgKgkJIENvcm5lbGlhIEh1Y2sgPGNvcm5lbGlhLmh1Y2tAZGUuaWJtLmNvbT4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMTgsMTAgKzE4LDYgQEAKICNpbmNsdWRlIDxhc20vZXRyLmg+CiAjaW5jbHVkZSA8YXNtL2xvd2NvcmUuaD4KICNpbmNsdWRlIDxhc20vY2lvLmg+Ci0jaW5jbHVkZSAiY2lvL2Npby5oIgotI2luY2x1ZGUgImNpby9jaHNjLmgiCi0jaW5jbHVkZSAiY2lvL2Nzcy5oIgotI2luY2x1ZGUgImNpby9jaHAuaCIKICNpbmNsdWRlICJzMzkwbWFjaC5oIgogCiBzdGF0aWMgc3RydWN0IHNlbWFwaG9yZSBtX3NlbTsKQEAgLTM2LDEzICszMiw0MCBAQAogCWZvcig7Oyk7CiB9CiAKK3N0YXRpYyBjcndfaGFuZGxlcl90IGNyd19oYW5kbGVyc1tOUl9SU0NTXTsKKworLyoqCisgKiBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKCkgLSByZWdpc3RlciBhIGNoYW5uZWwgcmVwb3J0IHdvcmQgaGFuZGxlcgorICogQHJzYzogcmVwb3J0aW5nIHNvdXJjZSBjb2RlIHRvIGhhbmRsZQorICogQGhhbmRsZXI6IGhhbmRsZXIgdG8gYmUgcmVnaXN0ZXJlZAorICoKKyAqIFJldHVybnMgJTAgb24gc3VjY2VzcyBhbmQgYSBuZWdhdGl2ZSBlcnJvciB2YWx1ZSBvdGhlcndpc2UuCisgKi8KK2ludCBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKGludCByc2MsIGNyd19oYW5kbGVyX3QgaGFuZGxlcikKK3sKKwlpZiAoKHJzYyA8IDApIHx8IChyc2MgPj0gTlJfUlNDUykpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY21weGNoZygmY3J3X2hhbmRsZXJzW3JzY10sIE5VTEwsIGhhbmRsZXIpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gLUVCVVNZOworfQorCisvKioKKyAqIHMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcigpIC0gdW5yZWdpc3RlciBhIGNoYW5uZWwgcmVwb3J0IHdvcmQgaGFuZGxlcgorICogQHJzYzogcmVwb3J0aW5nIHNvdXJjZSBjb2RlIHRvIGhhbmRsZQorICovCit2b2lkIHMzOTBfdW5yZWdpc3Rlcl9jcndfaGFuZGxlcihpbnQgcnNjKQoreworCWlmICgocnNjIDwgMCkgfHwgKHJzYyA+PSBOUl9SU0NTKSkKKwkJcmV0dXJuOworCXhjaGcoJmNyd19oYW5kbGVyc1tyc2NdLCBOVUxMKTsKKwlzeW5jaHJvbml6ZV9zY2hlZCgpOworfQorCiAvKgogICogUmV0cmlldmUgQ1JXcyBhbmQgY2FsbCBmdW5jdGlvbiB0byBoYW5kbGUgZXZlbnQuCi0gKgotICogTm90ZSA6IHdlIGN1cnJlbnRseSBwcm9jZXNzIENSV3MgZm9yIGlvIGFuZCBjaHNjIHN1YmNoYW5uZWxzIG9ubHkKICAqLwotc3RhdGljIGludAotczM5MF9jb2xsZWN0X2Nyd19pbmZvKHZvaWQgKnBhcmFtKQorc3RhdGljIGludCBzMzkwX2NvbGxlY3RfY3J3X2luZm8odm9pZCAqcGFyYW0pCiB7CiAJc3RydWN0IGNydyBjcndbMl07CiAJaW50IGNjb2RlOwpAQCAtODQsNTcgKzEwNywyNCBAQAogCQkgICAgICAgY3J3W2NoYWluXS5yc2lkKTsKIAkJLyogQ2hlY2sgZm9yIG92ZXJmbG93cy4gKi8KIAkJaWYgKGNyd1tjaGFpbl0ub2ZsdykgeworCQkJaW50IGk7CisKIAkJCXByX2RlYnVnKCIlczogY3J3IG92ZXJmbG93IGRldGVjdGVkIVxuIiwgX19mdW5jX18pOwotCQkJY3NzX3NjaGVkdWxlX2V2YWxfYWxsKCk7CisJCQlmb3IgKGkgPSAwOyBpIDwgTlJfUlNDUzsgaSsrKSB7CisJCQkJaWYgKGNyd19oYW5kbGVyc1tpXSkKKwkJCQkJY3J3X2hhbmRsZXJzW2ldKE5VTEwsIE5VTEwsIDEpOworCQkJfQogCQkJY2hhaW4gPSAwOwogCQkJY29udGludWU7CiAJCX0KLQkJc3dpdGNoIChjcndbY2hhaW5dLnJzYykgewotCQljYXNlIENSV19SU0NfU0NIOgotCQkJaWYgKGNyd1swXS5jaG4gJiYgIWNoYWluKQotCQkJCWJyZWFrOwotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBzdWJjaGFubmVsICUwNFhcbiIsIGNyd1swXS5yc2lkKTsKLQkJCWNzc19wcm9jZXNzX2NydyhjcndbMF0ucnNpZCwgY2hhaW4gPyBjcndbMV0ucnNpZCA6IDApOwotCQkJYnJlYWs7Ci0JCWNhc2UgQ1JXX1JTQ19NT05JVE9SOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBtb25pdG9yaW5nIGZhY2lsaXR5XG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfQ1BBVEg6Ci0JCQlwcl9kZWJ1Zygic291cmNlIGlzIGNoYW5uZWwgcGF0aCAlMDJYXG4iLCBjcndbMF0ucnNpZCk7Ci0JCQkvKgotCQkJICogQ2hlY2sgZm9yIHNvbGljaXRlZCBtYWNoaW5lIGNoZWNrcy4gVGhlc2UgYXJlCi0JCQkgKiBjcmVhdGVkIGJ5IHJlc2V0IGNoYW5uZWwgcGF0aCBhbmQgbmVlZCBub3QgYmUKLQkJCSAqIHJlcG9ydGVkIHRvIHRoZSBjb21tb24gSS9PIGxheWVyLgotCQkJICovCi0JCQlpZiAoY3J3W2NoYWluXS5zbGN0KSB7Ci0JCQkJcHJfZGVidWcoInNvbGljaXRlZCBtYWNoaW5lIGNoZWNrIGZvciAiCi0JCQkJCSAiY2hhbm5lbCBwYXRoICUwMlhcbiIsIGNyd1swXS5yc2lkKTsKLQkJCQlicmVhazsKLQkJCX0KLQkJCXN3aXRjaCAoY3J3WzBdLmVyYykgewotCQkJY2FzZSBDUldfRVJDX0lQQVJNOiAvKiBQYXRoIGhhcyBjb21lLiAqLwotCQkJCWNocF9wcm9jZXNzX2NydyhjcndbMF0ucnNpZCwgMSk7Ci0JCQkJYnJlYWs7Ci0JCQljYXNlIENSV19FUkNfUEVSUkk6IC8qIFBhdGggaGFzIGdvbmUuICovCi0JCQljYXNlIENSV19FUkNfUEVSUk46Ci0JCQkJY2hwX3Byb2Nlc3NfY3J3KGNyd1swXS5yc2lkLCAwKTsKLQkJCQlicmVhazsKLQkJCWRlZmF1bHQ6Ci0JCQkJcHJfZGVidWcoIkRvbid0IGtub3cgaG93IHRvIGhhbmRsZSBlcmM9JXhcbiIsCi0JCQkJCSBjcndbMF0uZXJjKTsKLQkJCX0KLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfQ09ORklHOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBjb25maWd1cmF0aW9uLWFsZXJ0IGZhY2lsaXR5XG4iKTsKLQkJCWJyZWFrOwotCQljYXNlIENSV19SU0NfQ1NTOgotCQkJcHJfZGVidWcoInNvdXJjZSBpcyBjaGFubmVsIHN1YnN5c3RlbVxuIik7Ci0JCQljaHNjX3Byb2Nlc3NfY3J3KCk7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCXByX2RlYnVnKCJ1bmtub3duIHNvdXJjZVxuIik7Ci0JCQlicmVhazsKKwkJaWYgKGNyd1swXS5jaG4gJiYgIWNoYWluKSB7CisJCQljaGFpbisrOworCQkJY29udGludWU7CiAJCX0KKwkJaWYgKGNyd19oYW5kbGVyc1tjcndbY2hhaW5dLnJzY10pCisJCQljcndfaGFuZGxlcnNbY3J3W2NoYWluXS5yc2NdKCZjcndbMF0sCisJCQkJCQkgICAgIGNoYWluID8gJmNyd1sxXSA6IE5VTEwsCisJCQkJCQkgICAgIDApOwogCQkvKiBjaGFpbiBpcyBhbHdheXMgMCBvciAxIGhlcmUuICovCiAJCWNoYWluID0gY3J3W2NoYWluXS5jaG4gPyBjaGFpbiArIDEgOiAwOwogCX0KQEAgLTQ2OCw2ICs0NTgsMTAgQEAKIAkJCWV0cl9zeW5jX2NoZWNrKCk7CiAJCWlmIChTMzkwX2xvd2NvcmUuZXh0ZXJuYWxfZGFtYWdlX2NvZGUgJiAoMVUgPDwgRURfRVRSX1NXSVRDSCkpCiAJCQlldHJfc3dpdGNoX3RvX2xvY2FsKCk7CisJCWlmIChTMzkwX2xvd2NvcmUuZXh0ZXJuYWxfZGFtYWdlX2NvZGUgJiAoMVUgPDwgRURfU1RQX1NZTkMpKQorCQkJc3RwX3N5bmNfY2hlY2soKTsKKwkJaWYgKFMzOTBfbG93Y29yZS5leHRlcm5hbF9kYW1hZ2VfY29kZSAmICgxVSA8PCBFRF9TVFBfSVNMQU5EKSkKKwkJCXN0cF9pc2xhbmRfY2hlY2soKTsKIAl9CiAKIAlpZiAobWNpLT5zZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvczM5MC9zMzkwbWFjaC5oIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmgKaW5kZXggY2E2ODFmOS4uZDM5ZjhiNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmgKKysrIGIvZHJpdmVycy9zMzkwL3MzOTBtYWNoLmgKQEAgLTcyLDYgKzcyLDEzIEBACiAJX191MzIgcnNpZCAgICA6IDE2OyAgIC8qIHJlcG9ydGluZy1zb3VyY2UgSUQgKi8KIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCit0eXBlZGVmIHZvaWQgKCpjcndfaGFuZGxlcl90KShzdHJ1Y3QgY3J3ICosIHN0cnVjdCBjcncgKiwgaW50KTsKKworZXh0ZXJuIGludCBzMzkwX3JlZ2lzdGVyX2Nyd19oYW5kbGVyKGludCByc2MsIGNyd19oYW5kbGVyX3QgaGFuZGxlcik7CitleHRlcm4gdm9pZCBzMzkwX3VucmVnaXN0ZXJfY3J3X2hhbmRsZXIoaW50IHJzYyk7CisKKyNkZWZpbmUgTlJfUlNDUyAxNgorCiAjZGVmaW5lIENSV19SU0NfTU9OSVRPUiAgMHgyICAvKiBtb25pdG9yaW5nIGZhY2lsaXR5ICovCiAjZGVmaW5lIENSV19SU0NfU0NIICAgICAgMHgzICAvKiBzdWJjaGFubmVsICovCiAjZGVmaW5lIENSV19SU0NfQ1BBVEggICAgMHg0ICAvKiBjaGFubmVsIHBhdGggKi8KQEAgLTEwNSw2ICsxMTIsOSBAQAogI2RlZmluZSBFRF9FVFJfU1lOQwkxMgkvKiBFeHRlcm5hbCBkYW1hZ2UgRVRSIHN5bmMgY2hlY2sgKi8KICNkZWZpbmUgRURfRVRSX1NXSVRDSAkxMwkvKiBFeHRlcm5hbCBkYW1hZ2UgRVRSIHN3aXRjaCB0byBsb2NhbCAqLwogCisjZGVmaW5lIEVEX1NUUF9TWU5DCTcJLyogRXh0ZXJuYWwgZGFtYWdlIFNUUCBzeW5jIGNoZWNrICovCisjZGVmaW5lIEVEX1NUUF9JU0xBTkQJNgkvKiBFeHRlcm5hbCBkYW1hZ2UgU1RQIGlzbGFuZCBjaGVjayAqLworCiBzdHJ1Y3QgcHRfcmVnczsKIAogdm9pZCBzMzkwX2hhbmRsZV9tY2NrKHZvaWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvYnBwLmMgYi9kcml2ZXJzL3NidXMvY2hhci9icHAuYwppbmRleCAwM2M5NjYwLi5iYmEyMWUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9icHAuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9icHAuYwpAQCAtMTksNiArMTksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWFqb3IuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KQEAgLTQyOSw2ICs0MzAsNyBAQAogICAgICAgdW5zaWduZWQgbWlub3IgPSBpbWlub3IoaW5vZGUpOwogICAgICAgaW50IHJldDsKIAorICAgICAgbG9ja19rZXJuZWwoKTsKICAgICAgIHNwaW5fbG9jaygmYnBwX29wZW5fbG9jayk7CiAgICAgICByZXQgPSAwOwogICAgICAgaWYgKG1pbm9yID49IEJQUF9OTykgewpAQCAtNDQ0LDYgKzQ0Niw3IEBACiAJICAgICAgfQogICAgICAgfQogICAgICAgc3Bpbl91bmxvY2soJmJwcF9vcGVuX2xvY2spOworICAgICAgdW5sb2NrX2tlcm5lbCgpOwogCiAgICAgICByZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvY3B3YXRjaGRvZy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvY3B3YXRjaGRvZy5jCmluZGV4IDIzNTcwMzQuLjIzYWJmZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL2Nwd2F0Y2hkb2cuYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9jcHdhdGNoZG9nLmMKQEAgLTI3OSw2ICsyNzksNyBAQAogCiBzdGF0aWMgaW50IHdkX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmYpCiB7CisJbG9ja19rZXJuZWwoKTsKIAlzd2l0Y2goaW1pbm9yKGlub2RlKSkKIAl7CiAJCWNhc2UgV0QwX01JTk9SOgpAQCAtMjkxLDYgKzI5Miw3IEBACiAJCQlmLT5wcml2YXRlX2RhdGEgPSAmd2RfZGV2LndhdGNoZG9nW1dEMl9JRF07CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKKwkJCXVubG9ja19rZXJuZWwoKTsKIAkJCXJldHVybigtRU5PREVWKTsKIAl9CiAKQEAgLTMwNCwxMSArMzA2LDEzIEBACiAJCQkJCQkodm9pZCAqKXdkX2Rldi5yZWdzKSkgewogCQkJcHJpbnRrKCIlczogQ2Fubm90IHJlZ2lzdGVyIElSUSAlZFxuIiwgCiAJCQkJV0RfT0JQTkFNRSwgd2RfZGV2LmlycSk7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4oLUVCVVNZKTsKIAkJfQogCQl3ZF9kZXYuaW5pdGlhbGl6ZWQgPSAxOwogCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4obm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZikpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9kaXNwbGF5N3NlZy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvZGlzcGxheTdzZWcuYwppbmRleCAzMjc5YTFiLi5kOGY1YzBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9kaXNwbGF5N3NlZy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL2Rpc3BsYXk3c2VnLmMKQEAgLTk0LDYgKzk0LDcgQEAKIHsKIAlpZiAoRDdTX01JTk9SICE9IGltaW5vcihpbm9kZSkpCiAJCXJldHVybiAtRU5PREVWOworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJYXRvbWljX2luYygmZDdzX3VzZXJzKTsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2VudmN0cmwuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2VudmN0cmwuYwppbmRleCBkYWRhYmVmLi5hNDA4NDAyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9lbnZjdHJsLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvZW52Y3RybC5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ttb2QuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8YXNtL2VidXMuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtNjk0LDYgKzY5NSw3IEBACiBzdGF0aWMgaW50CiBlbnZjdHJsX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBOVUxMOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zYnVzL2NoYXIvZmxhc2guYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2ZsYXNoLmMKaW5kZXggNDRlMDM5OC4uN2Q5NWUxNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvZmxhc2guYworKysgYi9kcml2ZXJzL3NidXMvY2hhci9mbGFzaC5jCkBAIC0xMjcsOSArMTI3LDEzIEBACiBzdGF0aWMgaW50CiBmbGFzaF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmICh0ZXN0X2FuZF9zZXRfYml0KDAsICh2b2lkICopJmZsYXNoLmJ1c3kpICE9IDApCisJbG9ja19rZXJuZWwoKTsKKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZmbGFzaC5idXN5KSAhPSAwKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKKwl9CiAKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL2pzZmxhc2guYyBiL2RyaXZlcnMvc2J1cy9jaGFyL2pzZmxhc2guYwppbmRleCA0YjcwNzlmLi4yYmVjOWNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9qc2ZsYXNoLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvanNmbGFzaC5jCkBAIC0yNyw2ICsyNyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTQxNywxMSArNDE4LDE3IEBACiAKIHN0YXRpYyBpbnQganNmX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKIHsKLQotCWlmIChqc2YwLmJhc2UgPT0gMCkgcmV0dXJuIC1FTlhJTzsKLQlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZqc2YwLmJ1c3kpICE9IDApCisJbG9ja19rZXJuZWwoKTsKKwlpZiAoanNmMC5iYXNlID09IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOworCQlyZXR1cm4gLUVOWElPOworCX0KKwlpZiAodGVzdF9hbmRfc2V0X2JpdCgwLCAodm9pZCAqKSZqc2YwLmJ1c3kpICE9IDApIHsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVCVVNZOworCX0KIAorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsJLyogWFhYIFdoYXQgc2VjdXJpdHk/ICovCiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2J1cy9jaGFyL29wZW5wcm9tLmMgYi9kcml2ZXJzL3NidXMvY2hhci9vcGVucHJvbS5jCmluZGV4IGZiZmViODkuLjI5ZGM3MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL29wZW5wcm9tLmMKKysrIGIvZHJpdmVycy9zYnVzL2NoYXIvb3BlbnByb20uYwpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTY4OSw5ICs2OTAsMTEgQEAKIAlpZiAoIWRhdGEpCiAJCXJldHVybiAtRU5PTUVNOwogCisJbG9ja19rZXJuZWwoKTsKIAlkYXRhLT5jdXJyZW50X25vZGUgPSBvZl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOwogCWRhdGEtPmxhc3Rub2RlID0gZGF0YS0+Y3VycmVudF9ub2RlOwogCWZpbGUtPnByaXZhdGVfZGF0YSA9ICh2b2lkICopIGRhdGE7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9yaW93YXRjaGRvZy5jIGIvZHJpdmVycy9zYnVzL2NoYXIvcmlvd2F0Y2hkb2cuYwppbmRleCBhMmZjNmI4Li44OGMwZmM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci9yaW93YXRjaGRvZy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3Jpb3dhdGNoZG9nLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC9taXNjZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9lYnVzLmg+CkBAIC0xMTYsNiArMTE3LDcgQEAKIAogc3RhdGljIGludCByaW93ZF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbm9uc2Vla2FibGVfb3Blbihpbm9kZSwgZmlscCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci9ydGMuYyBiL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jCmluZGV4IDE4ZDE4ZjEuLmIwNDI5OTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3J0Yy5jCkBAIC0xMiw2ICsxMiw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KQEAgLTIxMyw2ICsyMTQsNyBAQAogewogCWludCByZXQ7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9ja19pcnEoJm1vc3Rla19sb2NrKTsKIAlpZiAocnRjX2J1c3kpIHsKIAkJcmV0ID0gLUVCVVNZOwpAQCAtMjIxLDYgKzIyMyw3IEBACiAJCXJldCA9IDA7CiAJfQogCXNwaW5fdW5sb2NrX2lycSgmbW9zdGVrX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci91Y3RybC5jIGIvZHJpdmVycy9zYnVzL2NoYXIvdWN0cmwuYwppbmRleCAzODNmMzJjLi41MTNiYTYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3NidXMvY2hhci91Y3RybC5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3VjdHJsLmMKQEAgLTksNiArOSw3IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgpAQCAtMjExLDggKzIxMiwxMCBAQAogc3RhdGljIGludAogdWN0cmxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKIHsKKwlsb2NrX2tlcm5lbCgpOwogCXVjdHJsX2dldF9ldmVudF9zdGF0dXMoKTsKIAl1Y3RybF9nZXRfZXh0ZXJuYWxfc3RhdHVzKCk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NidXMvY2hhci92ZmNfZGV2LmMgYi9kcml2ZXJzL3NidXMvY2hhci92ZmNfZGV2LmMKaW5kZXggZDRmOGZjZC4uMWY2Y2I4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zYnVzL2NoYXIvdmZjX2Rldi5jCisrKyBiL2RyaXZlcnMvc2J1cy9jaGFyL3ZmY19kZXYuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9tbS5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vb3BlbnByb20uaD4KICNpbmNsdWRlIDxhc20vb3BsaWIuaD4KQEAgLTE3OCwxNCArMTc5LDE3IEBACiB7CiAJc3RydWN0IHZmY19kZXYgKmRldjsKIAorCWxvY2tfa2VybmVsKCk7CiAJc3Bpbl9sb2NrKCZ2ZmNfZGV2X2xvY2spOwogCWRldiA9IHZmY19nZXRfZGV2X3B0cihpbWlub3IoaW5vZGUpKTsKIAlpZiAoZGV2ID09IE5VTEwpIHsKIAkJc3Bpbl91bmxvY2soJnZmY19kZXZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCWlmIChkZXYtPmJ1c3kpIHsKIAkJc3Bpbl91bmxvY2soJnZmY19kZXZfbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKQEAgLTIwMiw2ICsyMDYsNyBAQAogCXZmY19jYXB0c3RhdF9yZXNldChkZXYpOwogCQogCXZmY191bmxvY2tfZGV2aWNlKGRldik7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvM3ctOXh4eC5jIGIvZHJpdmVycy9zY3NpLzN3LTl4eHguYwppbmRleCA4NjdmNmZkLi43MDQ1NTExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvM3ctOXh4eC5jCisrKyBiL2RyaXZlcnMvc2NzaS8zdy05eHh4LmMKQEAgLTg0LDYgKzg0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgpAQCAtODYyLDExICs4NjMsMTMgQEAKIH0gLyogRW5kIHR3YV9jaHJkZXZfaW9jdGwoKSAqLwogCiAvKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgb3BlbiBmb3IgdGhlIGNoYXJhY3RlciBkZXZpY2UgKi8KKy8qIE5PVEUgdGhhdCB0aGlzIGZ1bmN0aW9uIHdpbGwgcmFjZSB3aXRoIHJlbW92ZS4gKi8KIHN0YXRpYyBpbnQgdHdhX2NocmRldl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXVuc2lnbmVkIGludCBtaW5vcl9udW1iZXI7CiAJaW50IHJldHZhbCA9IFRXX0lPQ1RMX0VSUk9SX09TX0VOT0RFVjsKIAorCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJbWlub3JfbnVtYmVyID0gaW1pbm9yKGlub2RlKTsKIAlpZiAobWlub3JfbnVtYmVyID49IHR3YV9kZXZpY2VfZXh0ZW5zaW9uX2NvdW50KQogCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS8zdy14eHh4LmMgYi9kcml2ZXJzL3Njc2kvM3cteHh4eC5jCmluZGV4IDhjMjIzMjkuLmEwNTM3ZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS8zdy14eHh4LmMKKysrIGIvZHJpdmVycy9zY3NpLzN3LXh4eHguYwpAQCAtMTk4LDYgKzE5OCw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KQEAgLTEwMjcsMTAgKzEwMjgsMTIgQEAKIH0gLyogRW5kIHR3X2NocmRldl9pb2N0bCgpICovCiAKIC8qIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBvcGVuIGZvciB0aGUgY2hhcmFjdGVyIGRldmljZSAqLworLyogTk9URSB0aGF0IHRoaXMgZnVuY3Rpb24gcmFjZXMgd2l0aCByZW1vdmUuICovCiBzdGF0aWMgaW50IHR3X2NocmRldl9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogewogCXVuc2lnbmVkIGludCBtaW5vcl9udW1iZXI7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCWRwcmludGsoS0VSTl9XQVJOSU5HICIzdy14eHh4OiB0d19pb2N0bF9vcGVuKClcbiIpOwogCiAJbWlub3JfbnVtYmVyID0gaW1pbm9yKGlub2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hMTAwdTJ3LmMgYi9kcml2ZXJzL3Njc2kvYTEwMHUydy5jCmluZGV4IGNlZDNlZWIuLjg0YmI2MTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hMTAwdTJ3LmMKKysrIGIvZHJpdmVycy9zY3NpL2ExMDB1MncuYwpAQCAtMzg5LDcgKzM4OSw3IEBACiAKIAlvdXRiKFBSR01SU1QgfCBET1dOTE9BRCwgaG9zdC0+YmFzZSArIE9SQ19SSVNDQ1RMKTsJLyogRW5hYmxlIFNSQU0gcHJvZ3JhbW1pbmcgKi8KIAlkYXRhMzJfcHRyID0gKHU4ICopICYgZGF0YTMyOwotCWRhdGEzMiA9IDA7CQkvKiBJbml0aWFsIEZXIGFkZHJlc3MgdG8gMCAqLworCWRhdGEzMiA9IGNwdV90b19sZTMyKDApOwkJLyogSW5pdGlhbCBGVyBhZGRyZXNzIHRvIDAgKi8KIAlvdXR3KDB4MDAxMCwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjApOwogCSpkYXRhMzJfcHRyID0gaW5iKGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NEQVRBKTsJCS8qIFJlYWQgZnJvbSBCSU9TICovCiAJb3V0dygweDAwMTEsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKQEAgLTM5NywxOCArMzk3LDE5IEBACiAJb3V0dygweDAwMTIsIGhvc3QtPmJhc2UgKyBPUkNfRUJJT1NBRFIwKTsKIAkqKGRhdGEzMl9wdHIgKyAyKSA9IGluYihob3N0LT5iYXNlICsgT1JDX0VCSU9TREFUQSk7CS8qIFJlYWQgZnJvbSBCSU9TICovCiAJb3V0dygqKGRhdGEzMl9wdHIgKyAyKSwgaG9zdC0+YmFzZSArIE9SQ19FQklPU0FEUjIpOwotCW91dGwoZGF0YTMyLCBob3N0LT5iYXNlICsgT1JDX0ZXQkFTRUFEUik7CQkvKiBXcml0ZSBGVyBhZGRyZXNzICovCisJb3V0bChsZTMyX3RvX2NwdShkYXRhMzIpLCBob3N0LT5iYXNlICsgT1JDX0ZXQkFTRUFEUik7CQkvKiBXcml0ZSBGVyBhZGRyZXNzICovCiAKIAkvKiBDb3B5IHRoZSBjb2RlIGZyb20gdGhlIEJJT1MgdG8gdGhlIFNSQU0gKi8KIAotCWJpb3NfYWRkciA9ICh1MTYpIGRhdGEzMjsJLyogRlcgY29kZSBsb2NhdGUgYXQgQklPUyBhZGRyZXNzICsgPyAqLworCXVkZWxheSg1MDApOwkvKiBSZXF1aXJlZCBvbiBTdW4gVWx0cmEgNSAuLi4gMzUwIC0+IGZhaWx1cmVzICovCisJYmlvc19hZGRyID0gKHUxNikgbGUzMl90b19jcHUoZGF0YTMyKTsJLyogRlcgY29kZSBsb2NhdGUgYXQgQklPUyBhZGRyZXNzICsgPyAqLwogCWZvciAoaSA9IDAsIGRhdGEzMl9wdHIgPSAodTggKikgJiBkYXRhMzI7CS8qIERvd25sb2FkIHRoZSBjb2RlICAgICovCiAJICAgICBpIDwgMHgxMDAwOwkvKiBGaXJtd2FyZSBjb2RlIHNpemUgPSA0SyAgICAgICovCiAJICAgICBpKyssIGJpb3NfYWRkcisrKSB7CiAJCW91dHcoYmlvc19hZGRyLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CiAJCSpkYXRhMzJfcHRyKysgPSBpbmIoaG9zdC0+YmFzZSArIE9SQ19FQklPU0RBVEEpOwkvKiBSZWFkIGZyb20gQklPUyAqLwogCQlpZiAoKGkgJSA0KSA9PSAzKSB7Ci0JCQlvdXRsKGRhdGEzMiwgaG9zdC0+YmFzZSArIE9SQ19SSVNDUkFNKTsJLyogV3JpdGUgZXZlcnkgNCBieXRlcyAqLworCQkJb3V0bChsZTMyX3RvX2NwdShkYXRhMzIpLCBob3N0LT5iYXNlICsgT1JDX1JJU0NSQU0pOwkvKiBXcml0ZSBldmVyeSA0IGJ5dGVzICovCiAJCQlkYXRhMzJfcHRyID0gKHU4ICopICYgZGF0YTMyOwogCQl9CiAJfQpAQCAtNDIzLDcgKzQyNCw3IEBACiAJCW91dHcoYmlvc19hZGRyLCBob3N0LT5iYXNlICsgT1JDX0VCSU9TQURSMCk7CiAJCSpkYXRhMzJfcHRyKysgPSBpbmIoaG9zdC0+YmFzZSArIE9SQ19FQklPU0RBVEEpOwkvKiBSZWFkIGZyb20gQklPUyAqLwogCQlpZiAoKGkgJSA0KSA9PSAzKSB7Ci0JCQlpZiAoaW5sKGhvc3QtPmJhc2UgKyBPUkNfUklTQ1JBTSkgIT0gZGF0YTMyKSB7CisJCQlpZiAoaW5sKGhvc3QtPmJhc2UgKyBPUkNfUklTQ1JBTSkgIT0gbGUzMl90b19jcHUoZGF0YTMyKSkgewogCQkJCW91dGIoUFJHTVJTVCwgaG9zdC0+YmFzZSArIE9SQ19SSVNDQ1RMKTsJLyogUmVzZXQgcHJvZ3JhbSB0byAwICovCiAJCQkJb3V0YihkYXRhLCBob3N0LT5iYXNlICsgT1JDX0dDRkcpOwkvKkRpc2FibGUgRUVQUk9NIHByb2dyYW1taW5nICovCiAJCQkJcmV0dXJuIDA7CkBAIC00NTksOCArNDYwLDggQEAKIAogCWZvciAoaSA9IDA7IGkgPCBPUkNfTUFYUVVFVUU7IGkrKykgewogCQllc2NiX3BoeXMgPSAoaG9zdC0+ZXNjYl9waHlzICsgKHNpemVvZihzdHJ1Y3Qgb3JjX2V4dGVuZGVkX3NjYikgKiBpKSk7Ci0JCXNjYi0+c2dfYWRkciA9ICh1MzIpIGVzY2JfcGh5czsKLQkJc2NiLT5zZW5zZV9hZGRyID0gKHUzMikgZXNjYl9waHlzOworCQlzY2ItPnNnX2FkZHIgPSBjcHVfdG9fbGUzMigodTMyKSBlc2NiX3BoeXMpOworCQlzY2ItPnNlbnNlX2FkZHIgPSBjcHVfdG9fbGUzMigodTMyKSBlc2NiX3BoeXMpOwogCQlzY2ItPmVzY2IgPSBlc2NiOwogCQlzY2ItPnNjYmlkeCA9IGk7CiAJCXNjYisrOwpAQCAtNjQyLDggKzY0Myw4IEBACiAJc2NiLT5saW5rID0gMHhGRjsKIAlzY2ItPnJlc2VydmVkMCA9IDA7CiAJc2NiLT5yZXNlcnZlZDEgPSAwOwotCXNjYi0+eGZlcmxlbiA9IDA7Ci0Jc2NiLT5zZ19sZW4gPSAwOworCXNjYi0+eGZlcmxlbiA9IGNwdV90b19sZTMyKDApOworCXNjYi0+c2dfbGVuID0gY3B1X3RvX2xlMzIoMCk7CiAKIAllc2NiLT5zcmIgPSBOVUxMOwogCWVzY2ItPnNyYiA9IGNtZDsKQEAgLTgzOSw3ICs4NDAsNyBAQAogICoJQnVpbGQgYSBob3N0IGFkYXB0ZXIgY29udHJvbCBibG9jayBmcm9tIHRoZSBTQ1NJIG1pZCBsYXllciBjb21tYW5kCiAgKi8KIAotc3RhdGljIHZvaWQgaW5pYTEwMF9idWlsZF9zY2Ioc3RydWN0IG9yY19ob3N0ICogaG9zdCwgc3RydWN0IG9yY19zY2IgKiBzY2IsIHN0cnVjdCBzY3NpX2NtbmQgKiBjbWQpCitzdGF0aWMgaW50IGluaWExMDBfYnVpbGRfc2NiKHN0cnVjdCBvcmNfaG9zdCAqIGhvc3QsIHN0cnVjdCBvcmNfc2NiICogc2NiLCBzdHJ1Y3Qgc2NzaV9jbW5kICogY21kKQogewkJCQkvKiBDcmVhdGUgY29ycmVzcG9uZGluZyBTQ0IgICAgICovCiAJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKIAlzdHJ1Y3Qgb3JjX3NnZW50ICpzZ2VudDsJCS8qIFBvaW50ZXIgdG8gU0cgbGlzdCAgICAgICAgICAgKi8KQEAgLTg1OCwyOCArODU5LDMwIEBACiAJc2NiLT5sdW4gPSBjbWQtPmRldmljZS0+bHVuOwogCXNjYi0+cmVzZXJ2ZWQwID0gMDsKIAlzY2ItPnJlc2VydmVkMSA9IDA7Ci0Jc2NiLT5zZ19sZW4gPSAwOworCXNjYi0+c2dfbGVuID0gY3B1X3RvX2xlMzIoMCk7CiAKLQlzY2ItPnhmZXJsZW4gPSAodTMyKSBzY3NpX2J1ZmZsZW4oY21kKTsKKwlzY2ItPnhmZXJsZW4gPSBjcHVfdG9fbGUzMigodTMyKSBzY3NpX2J1ZmZsZW4oY21kKSk7CiAJc2dlbnQgPSAoc3RydWN0IG9yY19zZ2VudCAqKSAmIGVzY2ItPnNnbGlzdFswXTsKIAogCWNvdW50X3NnID0gc2NzaV9kbWFfbWFwKGNtZCk7Ci0JQlVHX09OKGNvdW50X3NnIDwgMCk7CisJaWYgKGNvdW50X3NnIDwgMCkKKwkJcmV0dXJuIGNvdW50X3NnOworCUJVR19PTihjb3VudF9zZyA+IFRPVEFMX1NHX0VOVFJZKTsKIAogCS8qIEJ1aWxkIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0cyAqLwogCWlmIChjb3VudF9zZykgewotCQlzY2ItPnNnX2xlbiA9ICh1MzIpIChjb3VudF9zZyAqIDgpOworCQlzY2ItPnNnX2xlbiA9IGNwdV90b19sZTMyKCh1MzIpIChjb3VudF9zZyAqIDgpKTsKIAkJc2NzaV9mb3JfZWFjaF9zZyhjbWQsIHNnLCBjb3VudF9zZywgaSkgewotCQkJc2dlbnQtPmJhc2UgPSAodTMyKSBzZ19kbWFfYWRkcmVzcyhzZyk7Ci0JCQlzZ2VudC0+bGVuZ3RoID0gKHUzMikgc2dfZG1hX2xlbihzZyk7CisJCQlzZ2VudC0+YmFzZSA9IGNwdV90b19sZTMyKCh1MzIpIHNnX2RtYV9hZGRyZXNzKHNnKSk7CisJCQlzZ2VudC0+bGVuZ3RoID0gY3B1X3RvX2xlMzIoKHUzMikgc2dfZG1hX2xlbihzZykpOwogCQkJc2dlbnQrKzsKIAkJfQogCX0gZWxzZSB7Ci0JCXNjYi0+c2dfbGVuID0gMDsKLQkJc2dlbnQtPmJhc2UgPSAwOwotCQlzZ2VudC0+bGVuZ3RoID0gMDsKKwkJc2NiLT5zZ19sZW4gPSBjcHVfdG9fbGUzMigwKTsKKwkJc2dlbnQtPmJhc2UgPSBjcHVfdG9fbGUzMigwKTsKKwkJc2dlbnQtPmxlbmd0aCA9IGNwdV90b19sZTMyKDApOwogCX0KLQlzY2ItPnNnX2FkZHIgPSAodTMyKSBzY2ItPnNlbnNlX2FkZHI7CisJc2NiLT5zZ19hZGRyID0gKHUzMikgc2NiLT5zZW5zZV9hZGRyOwkvKiBzZW5zZV9hZGRyIGlzIGFscmVhZHkgbGl0dGxlIGVuZGlhbiAqLwogCXNjYi0+aGFzdGF0ID0gMDsKIAlzY2ItPnRhc3RhdCA9IDA7CiAJc2NiLT5saW5rID0gMHhGRjsKQEAgLTg5Niw2ICs4OTksNyBAQAogCQlzY2ItPnRhZ19tc2cgPSAwOwkvKiBObyB0YWcgc3VwcG9ydCAgICAgICAgICAgICAgICovCiAJfQogCW1lbWNweShzY2ItPmNkYiwgY21kLT5jbW5kLCBzY2ItPmNkYl9sZW4pOworCXJldHVybiAwOwogfQogCiAvKioKQEAgLTkxOSw3ICs5MjMsMTAgQEAKIAlpZiAoKHNjYiA9IG9yY19hbGxvY19zY2IoaG9zdCkpID09IE5VTEwpCiAJCXJldHVybiBTQ1NJX01MUVVFVUVfSE9TVF9CVVNZOwogCi0JaW5pYTEwMF9idWlsZF9zY2IoaG9zdCwgc2NiLCBjbWQpOworCWlmIChpbmlhMTAwX2J1aWxkX3NjYihob3N0LCBzY2IsIGNtZCkpIHsKKwkJb3JjX3JlbGVhc2Vfc2NiKGhvc3QsIHNjYik7CisJCXJldHVybiBTQ1NJX01MUVVFVUVfSE9TVF9CVVNZOworCX0KIAlvcmNfZXhlY19zY2IoaG9zdCwgc2NiKTsJLyogU3RhcnQgZXhlY3V0ZSBTQ0IgICAgICAgICAgICAqLwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYyBiL2RyaXZlcnMvc2NzaS9hYWNyYWlkL2xpbml0LmMKaW5kZXggMWY3YzgzNi4uNjhjMTQwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2FhY3JhaWQvbGluaXQuYworKysgYi9kcml2ZXJzL3Njc2kvYWFjcmFpZC9saW5pdC5jCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTY2Nyw2ICs2NjgsNyBAQAogCXVuc2lnbmVkIG1pbm9yX251bWJlciA9IGltaW5vcihpbm9kZSk7CiAJaW50IGVyciA9IC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOyAgLyogQktMIHB1c2hkb3duOiBub3RoaW5nIGVsc2UgcHJvdGVjdHMgdGhpcyBsaXN0ICovCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShhYWMsICZhYWNfZGV2aWNlcywgZW50cnkpIHsKIAkJaWYgKGFhYy0+aWQgPT0gbWlub3JfbnVtYmVyKSB7CiAJCQlmaWxlLT5wcml2YXRlX2RhdGEgPSBhYWM7CkBAIC02NzQsNiArNjc2LDcgQEAKIAkJCWJyZWFrOwogCQl9CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuYwppbmRleCA0NDQ2ZTNkLi44NjMwYTc1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5jCisrKyBiL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmMKQEAgLTEwOTMsOSArMTA5Myw5IEBACiAgKiBAYnl0ZXNfdG9fdmVyaWZ5OiB0b3RhbCBieXRlcyB0byB2ZXJpZnkKICAqLwogaW50IGFzZF92ZXJpZnlfZmxhc2hfc2VnKHN0cnVjdCBhc2RfaGFfc3RydWN0ICphc2RfaGEsCi0JCXZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KQorCQkJIGNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fdmVyaWZ5KQogewotCXU4ICpzcmNfYnVmOworCWNvbnN0IHU4ICpzcmNfYnVmOwogCXU4IGZsYXNoX2NoYXI7CiAJaW50IGVycjsKIAl1MzIgbnZfb2Zmc2V0LCByZWcsIGk7CkBAIC0xMTA1LDcgKzExMDUsNyBAQAogCiAJZXJyID0gRkxBU0hfT0s7CiAJbnZfb2Zmc2V0ID0gZGVzdF9vZmZzZXQ7Ci0Jc3JjX2J1ZiA9ICh1OCAqKXNyYzsKKwlzcmNfYnVmID0gKGNvbnN0IHU4ICopc3JjOwogCWZvciAoaSA9IDA7IGkgPCBieXRlc190b192ZXJpZnk7IGkrKykgewogCQlmbGFzaF9jaGFyID0gYXNkX3JlYWRfcmVnX2J5dGUoYXNkX2hhLCByZWcgKyBudl9vZmZzZXQgKyBpKTsKIAkJaWYgKGZsYXNoX2NoYXIgIT0gc3JjX2J1ZltpXSkgewpAQCAtMTEyNCw5ICsxMTI0LDkgQEAKICAqIEBieXRlc190b193cml0ZTogdG90YWwgYnl0ZXMgdG8gd3JpdGUKICAqLwogaW50IGFzZF93cml0ZV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSkKKwkJCWNvbnN0IHZvaWQgKnNyYywgdTMyIGRlc3Rfb2Zmc2V0LCB1MzIgYnl0ZXNfdG9fd3JpdGUpCiB7Ci0JdTggKnNyY19idWY7CisJY29uc3QgdTggKnNyY19idWY7CiAJdTMyIG52X29mZnNldCwgcmVnLCBpOwogCWludCBlcnI7CiAKQEAgLTExNTMsNyArMTE1Myw3IEBACiAJCXJldHVybiBlcnI7CiAJfQogCi0Jc3JjX2J1ZiA9ICh1OCAqKXNyYzsKKwlzcmNfYnVmID0gKGNvbnN0IHU4ICopc3JjOwogCWZvciAoaSA9IDA7IGkgPCBieXRlc190b193cml0ZTsgaSsrKSB7CiAJCS8qIFNldHVwIHByb2dyYW0gY29tbWFuZCBzZXF1ZW5jZSAqLwogCQlzd2l0Y2ggKGFzZF9oYS0+aHdfcHJvZi5mbGFzaC5tZXRob2QpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmggYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3Nkcy5oCmluZGV4IGJiOTc5NWEuLmEwNmRjMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2RzLmgKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZHMuaApAQCAtMTEwLDkgKzExMCw5IEBACiB9OwogCiBpbnQgYXNkX3ZlcmlmeV9mbGFzaF9zZWcoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKLQkJdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b192ZXJpZnkpOworCQljb25zdCB2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3ZlcmlmeSk7CiBpbnQgYXNkX3dyaXRlX2ZsYXNoX3NlZyhzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhLAotCQl2b2lkICpzcmMsIHUzMiBkZXN0X29mZnNldCwgdTMyIGJ5dGVzX3RvX3dyaXRlKTsKKwkJY29uc3Qgdm9pZCAqc3JjLCB1MzIgZGVzdF9vZmZzZXQsIHUzMiBieXRlc190b193cml0ZSk7CiBpbnQgYXNkX2Noa193cml0ZV9zdGF0dXMoc3RydWN0IGFzZF9oYV9zdHJ1Y3QgKmFzZF9oYSwKIAkJdTMyIHNlY3Rvcl9hZGRyLCB1OCBlcmFzZV9mbGFnKTsKIGludCBhc2RfY2hlY2tfZmxhc2hfdHlwZShzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMgYi9kcml2ZXJzL3Njc2kvYWljOTR4eC9haWM5NHh4X3NlcS5jCmluZGV4IGY0MjcyYWMuLjhmOThlMzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9haWM5NHh4L2FpYzk0eHhfc2VxLmMKKysrIGIvZHJpdmVycy9zY3NpL2FpYzk0eHgvYWljOTR4eF9zZXEuYwpAQCAtNDYsNyArNDYsNyBAQAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqc2VxdWVuY2VyX2Z3Owogc3RhdGljIHUxNiBjc2VxX3ZlY3NbQ1NFUV9OVU1fVkVDU10sIGxzZXFfdmVjc1tMU0VRX05VTV9WRUNTXSwgbW9kZTJfdGFzaywKIAljc2VxX2lkbGVfbG9vcCwgbHNlcV9pZGxlX2xvb3A7Ci1zdGF0aWMgdTggKmNzZXFfY29kZSwgKmxzZXFfY29kZTsKK3N0YXRpYyBjb25zdCB1OCAqY3NlcV9jb2RlLCAqbHNlcV9jb2RlOwogc3RhdGljIHUzMiBjc2VxX2NvZGVfc2l6ZSwgbHNlcV9jb2RlX3NpemU7CiAKIHN0YXRpYyB1MTYgZmlyc3Rfc2NiX3NpdGVfbm8gPSAweEZGRkY7CkBAIC0xMjM1LDcgKzEyMzUsOCBAQAogc3RhdGljIGludCBhc2RfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3QgYXNkX2hhX3N0cnVjdCAqYXNkX2hhKQogewogCWludCBlcnIsIGk7Ci0Jc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciBoZWFkZXIsICpoZHJfcHRyOworCXN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgaGVhZGVyOworCWNvbnN0IHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKmhkcl9wdHI7CiAJdTMyIGNzdW0gPSAwOwogCXUxNiAqcHRyX2NzZXFfdmVjcywgKnB0cl9sc2VxX3ZlY3M7CiAKQEAgLTEyNDksNyArMTI1MCw3IEBACiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAotCWhkcl9wdHIgPSAoc3RydWN0IHNlcXVlbmNlcl9maWxlX2hlYWRlciAqKXNlcXVlbmNlcl9mdy0+ZGF0YTsKKwloZHJfcHRyID0gKGNvbnN0IHN0cnVjdCBzZXF1ZW5jZXJfZmlsZV9oZWFkZXIgKilzZXF1ZW5jZXJfZnctPmRhdGE7CiAKIAloZWFkZXIuY3N1bSA9IGxlMzJfdG9fY3B1KGhkcl9wdHItPmNzdW0pOwogCWhlYWRlci5tYWpvciA9IGxlMzJfdG9fY3B1KGhkcl9wdHItPm1ham9yKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZyBiL2RyaXZlcnMvc2NzaS9hcm0vS2NvbmZpZwppbmRleCA3MjM2MTQzLi5hODU4N2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL0tjb25maWcKKysrIGIvZHJpdmVycy9zY3NpL2FybS9LY29uZmlnCkBAIC0zLDcgKzMsNyBAQAogIwogY29uZmlnIFNDU0lfQUNPUk5TQ1NJXzMKIAl0cmlzdGF0ZSAiQWNvcm4gU0NTSSBjYXJkIChha2EzMCkgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4gJiYgU0NTSSAmJiBCUk9LRU4KKwlkZXBlbmRzIG9uIEFSQ0hfQUNPUk4gJiYgU0NTSQogCXNlbGVjdCBTQ1NJX1NQSV9BVFRSUwogCWhlbHAKIAkgIFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZvciB0aGUgQWNvcm4gU0NTSSBjYXJkIChha2EzMCkuIElmIHlvdSBoYXZlIGFuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2ktaW8uUwppbmRleCA5MzQ2N2U2Li41Y2ViZTMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS1pby5TCisrKyBiL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLWlvLlMKQEAgLTEwLDE3ICsxMCwxMCBAQAogI2luY2x1ZGUgPGFzbS9hc3NlbWJsZXIuaD4KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2lmIChJT19CQVNFID09IChQQ0lPX0JBU0UgJiAweGZmMDAwMDAwKSkKLSNkZWZpbmUgQUREUihvZmYscmVnKQkJCQkJCVwKLQkJdHN0CW9mZiwgJDB4ODAwMDAwMDAJCQk7XAotCQltb3YJcmVnLCAkSU9fQkFTRQkJCQk7XAotCQlvcnJlcQlyZWcsIHJlZywgJChQQ0lPX0JBU0UgJiAweDAwZmYwMDAwKQotI2Vsc2UKLSNkZWZpbmUgQUREUihvZmYscmVnKQkJCQkJCVwKLQkJdHN0CW9mZiwgJDB4ODAwMDAwMDAJCQk7XAotCQltb3ZuZQlyZWcsICRJT19CQVNFCQkJCTtcCi0JCW1vdmVxCXJlZywgJChQQ0lPX0JBU0UgJiAweGZmMDAwMDAwKQkJO1wKLQkJb3JyZXEJcmVnLCByZWcsICQoUENJT19CQVNFICYgMHgwMGZmMDAwMCkKKyNpZiBkZWZpbmVkKF9fQVBDU18zMl9fKQorI2RlZmluZSBMT0FEUkVHUyh0LHIsbC4uLikJbGRtIyN0CXIsIGwKKyNlbGlmIGRlZmluZWQoX19BUENTXzI2X18pCisjZGVmaW5lIExPQURSRUdTKHQscixsLi4uKQlsZG0jI3QJciwgbCMjXgogI2VuZGlmCiAKIEAgUHVycG9zZTogdHJhbnNmZXIgYSBibG9jayBvZiBkYXRhIGZyb20gdGhlIGFjb3JuIHNjc2kgY2FyZCB0byBtZW1vcnkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMgYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5jCmluZGV4IDhlNTNmMDIuLjkxOGNjZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmMKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuYwpAQCAtMTIzLDEyICsxMjMsNiBAQAogI2RlZmluZSBEQkcoY21kLHh4eC4uLikgeHh4CiAjZW5kaWYKIAotI2lmbmRlZiBTVFJJTkdJRlkKLSNkZWZpbmUgU1RSSU5HSUZZKHgpICN4Ci0jZW5kaWYKLSNkZWZpbmUgU1RSeCh4KSBTVFJJTkdJRlkoeCkKLSNkZWZpbmUgTk9fV1JJVEVfU1RSIFNUUngoTk9fV1JJVEUpCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KQEAgLTE0MSw5ICsxMzUsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CisjaW5jbHVkZSA8bGludXgvc3RyaW5naWZ5Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KIAogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KLSNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vZWNhcmQuaD4KIAogI2luY2x1ZGUgIi4uL3Njc2kuaCIKQEAgLTIwMyw0NCArMTk4LDQ2IEBACiAgKiBNaXNjZWxsYW5lb3VzCiAgKi8KIAotc3RhdGljIGlubGluZSB2b2lkCi1zYmljX2FybV93cml0ZSh1bnNpZ25lZCBpbnQgaW9fcG9ydCwgaW50IHJlZywgaW50IHZhbHVlKQorLyogT2Zmc2V0cyBmcm9tIE1FTUMgYmFzZSAqLworI2RlZmluZSBTQklDX1JFR0lEWAkweDIwMDAKKyNkZWZpbmUgU0JJQ19SRUdWQUwJMHgyMDA0CisjZGVmaW5lIERNQUNfT0ZGU0VUCTB4MzAwMAorCisvKiBPZmZzZXRzIGZyb20gRkFTVCBJT0MgYmFzZSAqLworI2RlZmluZSBJTlRfUkVHCQkweDIwMDAKKyNkZWZpbmUgUEFHRV9SRUcJMHgzMDAwCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzYmljX2FybV93cml0ZShBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCiB7Ci0gICAgX19yYXdfd3JpdGViKHJlZywgaW9fcG9ydCk7Ci0gICAgX19yYXdfd3JpdGViKHZhbHVlLCBpb19wb3J0ICsgNCk7CisgICAgd3JpdGViKHJlZywgaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKTsKKyAgICB3cml0ZWIodmFsdWUsIGhvc3QtPmJhc2UgKyBTQklDX1JFR1ZBTCk7CiB9CiAKLSNkZWZpbmUgc2JpY19hcm1fd3JpdGVuZXh0KGlvLHZhbCkgXAotCV9fcmF3X3dyaXRlYigodmFsKSwgKGlvKSArIDQpCi0KLXN0YXRpYyBpbmxpbmUKLWludCBzYmljX2FybV9yZWFkKHVuc2lnbmVkIGludCBpb19wb3J0LCBpbnQgcmVnKQorc3RhdGljIGlubGluZSBpbnQgc2JpY19hcm1fcmVhZChBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBpbnQgcmVnKQogewogICAgIGlmKHJlZyA9PSBTQklDX0FTUikKLQkgICByZXR1cm4gX19yYXdfcmVhZGwoaW9fcG9ydCkgJiAyNTU7Ci0gICAgX19yYXdfd3JpdGViKHJlZywgaW9fcG9ydCk7Ci0gICAgcmV0dXJuIF9fcmF3X3JlYWRsKGlvX3BvcnQgKyA0KSAmIDI1NTsKKwkgICByZXR1cm4gcmVhZGwoaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYKSAmIDI1NTsKKyAgICB3cml0ZWIocmVnLCBob3N0LT5iYXNlICsgU0JJQ19SRUdJRFgpOworICAgIHJldHVybiByZWFkbChob3N0LT5iYXNlICsgU0JJQ19SRUdWQUwpICYgMjU1OwogfQogCi0jZGVmaW5lIHNiaWNfYXJtX3JlYWRuZXh0KGlvKSBcCi0JX19yYXdfcmVhZGIoKGlvKSArIDQpCisjZGVmaW5lIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCB2YWwpCXdyaXRlYigodmFsKSwgKGhvc3QpLT5iYXNlICsgU0JJQ19SRUdWQUwpCisjZGVmaW5lIHNiaWNfYXJtX3JlYWRuZXh0KGhvc3QpIAlyZWFkYigoaG9zdCktPmJhc2UgKyBTQklDX1JFR1ZBTCkKIAogI2lmZGVmIFVTRV9ETUFDCi0jZGVmaW5lIGRtYWNfcmVhZChpb19wb3J0LHJlZykgXAotCWluYigoaW9fcG9ydCkgKyAocmVnKSkKKyNkZWZpbmUgZG1hY19yZWFkKGhvc3QscmVnKSBcCisJcmVhZGIoKGhvc3QpLT5iYXNlICsgRE1BQ19PRkZTRVQgKyAoKHJlZykgPDwgMikpCiAKLSNkZWZpbmUgZG1hY193cml0ZShpb19wb3J0LHJlZyx2YWx1ZSkgXAotCSh7IG91dGIoKHZhbHVlKSwgKGlvX3BvcnQpICsgKHJlZykpOyB9KQorI2RlZmluZSBkbWFjX3dyaXRlKGhvc3QscmVnLHZhbHVlKSBcCisJKHsgd3JpdGViKCh2YWx1ZSksIChob3N0KS0+YmFzZSArIERNQUNfT0ZGU0VUICsgKChyZWcpIDw8IDIpKTsgfSkKIAotI2RlZmluZSBkbWFjX2NsZWFyaW50cihpb19wb3J0KSBcCi0JKHsgb3V0YigwLCAoaW9fcG9ydCkpOyB9KQorI2RlZmluZSBkbWFjX2NsZWFyaW50cihob3N0KSAJd3JpdGViKDAsIChob3N0KS0+ZmFzdCArIElOVF9SRUcpCiAKLXN0YXRpYyBpbmxpbmUKLXVuc2lnbmVkIGludCBkbWFjX2FkZHJlc3ModW5zaWduZWQgaW50IGlvX3BvcnQpCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBkbWFjX2FkZHJlc3MoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICByZXR1cm4gZG1hY19yZWFkKGlvX3BvcnQsIERNQUNfVFhBRFJISSkgPDwgMTYgfAotCSAgIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSTUQpIDw8IDggfAotCSAgIGRtYWNfcmVhZChpb19wb3J0LCBETUFDX1RYQURSTE8pOworICAgIHJldHVybiBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWEFEUkhJKSA8PCAxNiB8CisJICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJNRCkgPDwgOCB8CisJICAgZG1hY19yZWFkKGhvc3QsIERNQUNfVFhBRFJMTyk7CiB9CiAKIHN0YXRpYwpAQCAtMjQ4LDE1ICsyNDUsMTUgQEAKIHsKIAl1bnNpZ25lZCBpbnQgbW9kZSwgYWRkciwgbGVuOwogCi0JbW9kZSA9IGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NT0RFQ09OKTsKLQlhZGRyID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KTsKLQlsZW4gID0gZG1hY19yZWFkKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQ05USEkpIDw8IDggfAotCSAgICAgICBkbWFjX3JlYWQoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRMTyk7CisJbW9kZSA9IGRtYWNfcmVhZChob3N0LCBETUFDX01PREVDT04pOworCWFkZHIgPSBkbWFjX2FkZHJlc3MoaG9zdCk7CisJbGVuICA9IGRtYWNfcmVhZChob3N0LCBETUFDX1RYQ05USEkpIDw8IDggfAorCSAgICAgICBkbWFjX3JlYWQoaG9zdCwgRE1BQ19UWENOVExPKTsKIAogCXByaW50aygic2NzaSVkOiAlczogRE1BQyAlMDJ4IEAlMDZ4KyUwNHggbXNrICUwMngsICIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8sIHdoZXJlLAogCQltb2RlLCBhZGRyLCAobGVuICsgMSkgJiAweGZmZmYsCi0JCWRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHKSk7CisJCWRtYWNfcmVhZChob3N0LCBETUFDX01BU0tSRUcpKTsKIAogCXByaW50aygiRE1BIEAlMDZ4LCAiLCBob3N0LT5kbWEuc3RhcnRfYWRkcik7CiAJcHJpbnRrKCJCSCBAJXAgKyUwNHgsICIsIGhvc3QtPnNjc2kuU0NwLnB0ciwKQEAgLTI3Miw5ICsyNjksOSBAQAogewogICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOwogCi0gICAgbGVuZ3RoID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRIKSA8PCAxNjsKLSAgICBsZW5ndGggfD0gc2JpY19hcm1fcmVhZG5leHQoaG9zdC0+c2NzaS5pb19wb3J0KSA8PCA4OwotICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0LT5zY3NpLmlvX3BvcnQpOworICAgIGxlbmd0aCA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19UUkFOU0NOVEgpIDw8IDE2OworICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0KSA8PCA4OworICAgIGxlbmd0aCB8PSBzYmljX2FybV9yZWFkbmV4dChob3N0KTsKIAogICAgIHJldHVybiBsZW5ndGg7CiB9CkBAIC0yODUsNyArMjgyLDcgQEAKIAlpbnQgYXNyOwogCiAJZG8gewotCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOworCQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKIAogCQlpZiAoKGFzciAmIHN0YXRfbWFzaykgPT0gc3RhdCkKIAkJCXJldHVybiAwOwpAQCAtMzA0LDcgKzMwMSw3IEBACiAgICAgaWYgKGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0NJUCwgMCwgMTAwMCwgImlzc3VpbmcgY29tbWFuZCIpKQogCXJldHVybiAtMTsKIAotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19DTU5ELCBjb21tYW5kKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIGNvbW1hbmQpOwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC0zMzEsMjAgKzMyOCwyMCBAQAogCiAgICAgLyogYXNzZXJ0IHJlc2V0IGxpbmUgKi8KICAgICBob3N0LT5jYXJkLnBhZ2VfcmVnID0gMHg4MDsKLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICAvKiB3YWl0IDMgY3MuICBTQ1NJIHN0YW5kYXJkIHNheXMgMjVtcy4gKi8KICAgICBhY29ybnNjc2lfY3NkZWxheSgzKTsKIAogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qCiAgICAgICogU2hvdWxkIGdldCBhIHJlc2V0IGZyb20gdGhlIGNhcmQKICAgICAgKi8KICAgICB0aW1lb3V0ID0gMTAwMDsKICAgICBkbyB7Ci0JaWYgKGluYihob3N0LT5jYXJkLmlvX2ludHIpICYgOCkKKwlpZiAocmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpICYgOCkKIAkgICAgYnJlYWs7CiAJdWRlbGF5KDEpOwogICAgIH0gd2hpbGUgKC0tdGltZW91dCk7CkBAIC0zNTMsMTkgKzM1MCwxOSBAQAogCXByaW50aygic2NzaSVkOiB0aW1lb3V0IHdoaWxlIHJlc2V0dGluZyBjYXJkXG4iLAogCQlob3N0LT5ob3N0LT5ob3N0X25vKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7Ci0gICAgc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKTsKKyAgICBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfU1NSKTsKIAogICAgIC8qIHNldHVwIHNiaWMgLSBXRDMzQzkzQSAqLwotICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7Ci0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CiAKICAgICAvKgogICAgICAqIENvbW1hbmQgc2hvdWxkIGNhdXNlIGEgcmVzZXQgaW50ZXJydXB0CiAgICAgICovCiAgICAgdGltZW91dCA9IDEwMDA7CiAgICAgZG8gewotCWlmIChpbmIoaG9zdC0+Y2FyZC5pb19pbnRyKSAmIDgpCisJaWYgKHJlYWRiKGhvc3QtPmZhc3QgKyBJTlRfUkVHKSAmIDgpCiAJICAgIGJyZWFrOwogCXVkZWxheSgxKTsKICAgICB9IHdoaWxlICgtLXRpbWVvdXQpOwpAQCAtMzc0LDI2ICszNzEsMjYgQEAKIAlwcmludGsoInNjc2klZDogdGltZW91dCB3aGlsZSByZXNldHRpbmcgY2FyZFxuIiwKIAkJaG9zdC0+aG9zdC0+aG9zdF9ubyk7CiAKLSAgICBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotICAgIGlmIChzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19TU1IpICE9IDB4MDEpCisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisgICAgaWYgKHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpICE9IDB4MDEpCiAJcHJpbnRrKEtFUk5fQ1JJVCAic2NzaSVkOiBXRDMzQzkzQSBkaWRuJ3QgZ2l2ZSBlbmhhbmNlZCByZXNldCBpbnRlcnJ1cHRcbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKKyAgICBzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAogICAgIGhvc3QtPmNhcmQucGFnZV9yZWcgPSAweDQwOwotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIC8qIHNldHVwIGRtYWMgLSB1UEM3MTA3MSAqLwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfSU5JVCwgMCk7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX0lOSVQsIDApOwogI2lmZGVmIFVTRV9ETUFDCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19JTklULCBJTklUXzhCSVQpOwotICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfQ0hBTk5FTCwgQ0hBTk5FTF8wKTsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX0RFVkNPTjAsIElOSVRfREVWQ09OMCk7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19ERVZDT04xLCBJTklUX0RFVkNPTjEpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19JTklULCBJTklUXzhCSVQpOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19DSEFOTkVMLCBDSEFOTkVMXzApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19ERVZDT04wLCBJTklUX0RFVkNPTjApOworICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19ERVZDT04xLCBJTklUX0RFVkNPTjEpOwogI2VuZGlmCiAKICAgICBob3N0LT5TQ3BudCA9IE5VTEw7CkBAIC03NDEsOSArNzM4LDkgQEAKICAgICAgKiBJZiB3ZSBoYXZlIGFuIGludGVycnVwdCBwZW5kaW5nLCB0aGVuIHdlIG1heSBoYXZlIGJlZW4gcmVzZWxlY3RlZC4KICAgICAgKiBJbiB0aGlzIGNhc2UsIHdlIGRvbid0IHdhbnQgdG8gd3JpdGUgdG8gdGhlIHJlZ2lzdGVycwogICAgICAqLwotICAgIGlmICghKHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUikgJiAoQVNSX0lOVHxBU1JfQlNZfEFTUl9DSVApKSkgewotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19ERVNUSUQsIFNDcG50LT5kZXZpY2UtPmlkKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9TRUxXSVRIQVROKTsKKyAgICBpZiAoIShzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfQVNSKSAmIChBU1JfSU5UfEFTUl9CU1l8QVNSX0NJUCkpKSB7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19ERVNUSUQsIFNDcG50LT5kZXZpY2UtPmlkKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfU0VMV0lUSEFUTik7CiAgICAgfQogCiAgICAgLyoKQEAgLTgwNyw3ICs4MDQsNyBAQAogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcG50ID0gKlNDcG50cDsKIAogICAgIC8qIGNsZWFuIHVwICovCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NPVVJDRUlELCBTT1VSQ0VJRF9FUiB8IFNPVVJDRUlEX0RTUCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TT1VSQ0VJRCwgU09VUkNFSURfRVIgfCBTT1VSQ0VJRF9EU1ApOwogCiAgICAgaG9zdC0+c3RhdHMuZmlucyArPSAxOwogCkBAIC05MTgsMTMgKzkxNSwxMyBAQAogdm9pZCBhY29ybnNjc2lfZGF0YV9yZWFkKEFTX0hvc3QgKmhvc3QsIGNoYXIgKnB0ciwKIAkJCQkgdW5zaWduZWQgaW50IHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfaW4oaW50IHBvcnQsIGNoYXIgKmJ1ZiwgaW50IGxlbik7CisgICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfaW4odm9pZCBfX2lvbWVtICosIGNoYXIgKmJ1ZiwgaW50IGxlbik7CiAgICAgdW5zaWduZWQgaW50IHBhZ2UsIG9mZnNldCwgbGVuID0gbGVuZ3RoOwogCiAgICAgcGFnZSA9IChzdGFydF9hZGRyID4+IDEyKTsKICAgICBvZmZzZXQgPSBzdGFydF9hZGRyICYgKCgxIDw8IDEyKSAtIDEpOwogCi0gICAgb3V0YigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAKICAgICB3aGlsZSAobGVuID4gMCkgewogCXVuc2lnbmVkIGludCB0aGlzX2xlbjsKQEAgLTkzNCw3ICs5MzEsNyBAQAogCWVsc2UKIAkgICAgdGhpc19sZW4gPSBsZW47CiAKLQlfX2Fjb3Juc2NzaV9pbihob3N0LT5jYXJkLmlvX3JhbSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOworCV9fYWNvcm5zY3NpX2luKGhvc3QtPmJhc2UgKyAob2Zmc2V0IDw8IDEpLCBwdHIsIHRoaXNfbGVuKTsKIAogCW9mZnNldCArPSB0aGlzX2xlbjsKIAlwdHIgKz0gdGhpc19sZW47CkBAIC05NDMsMTAgKzk0MCwxMCBAQAogCWlmIChvZmZzZXQgPT0gKDEgPDwgMTIpKSB7CiAJICAgIG9mZnNldCA9IDA7CiAJICAgIHBhZ2UgKys7Ci0JICAgIG91dGIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisJICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAl9CiAgICAgfQotICAgIG91dGIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+Y2FyZC5pb19wYWdlKTsKKyAgICB3cml0ZWIoaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIH0KIAogLyoKQEAgLTk2MywxMyArOTYwLDEzIEBACiB2b2lkIGFjb3Juc2NzaV9kYXRhX3dyaXRlKEFTX0hvc3QgKmhvc3QsIGNoYXIgKnB0ciwKIAkJCQkgdW5zaWduZWQgaW50IHN0YXJ0X2FkZHIsIHVuc2lnbmVkIGludCBsZW5ndGgpCiB7Ci0gICAgZXh0ZXJuIHZvaWQgX19hY29ybnNjc2lfb3V0KGludCBwb3J0LCBjaGFyICpidWYsIGludCBsZW4pOworICAgIGV4dGVybiB2b2lkIF9fYWNvcm5zY3NpX291dCh2b2lkIF9faW9tZW0gKiwgY2hhciAqYnVmLCBpbnQgbGVuKTsKICAgICB1bnNpZ25lZCBpbnQgcGFnZSwgb2Zmc2V0LCBsZW4gPSBsZW5ndGg7CiAKICAgICBwYWdlID0gKHN0YXJ0X2FkZHIgPj4gMTIpOwogICAgIG9mZnNldCA9IHN0YXJ0X2FkZHIgJiAoKDEgPDwgMTIpIC0gMSk7CiAKLSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworICAgIHdyaXRlYigocGFnZSAmIDB4M2YpIHwgaG9zdC0+Y2FyZC5wYWdlX3JlZywgaG9zdC0+ZmFzdCArIFBBR0VfUkVHKTsKIAogICAgIHdoaWxlIChsZW4gPiAwKSB7CiAJdW5zaWduZWQgaW50IHRoaXNfbGVuOwpAQCAtOTc5LDcgKzk3Niw3IEBACiAJZWxzZQogCSAgICB0aGlzX2xlbiA9IGxlbjsKIAotCV9fYWNvcm5zY3NpX291dChob3N0LT5jYXJkLmlvX3JhbSArIChvZmZzZXQgPDwgMSksIHB0ciwgdGhpc19sZW4pOworCV9fYWNvcm5zY3NpX291dChob3N0LT5iYXNlICsgKG9mZnNldCA8PCAxKSwgcHRyLCB0aGlzX2xlbik7CiAKIAlvZmZzZXQgKz0gdGhpc19sZW47CiAJcHRyICs9IHRoaXNfbGVuOwpAQCAtOTg4LDEwICs5ODUsMTAgQEAKIAlpZiAob2Zmc2V0ID09ICgxIDw8IDEyKSkgewogCSAgICBvZmZzZXQgPSAwOwogCSAgICBwYWdlICsrOwotCSAgICBvdXRiKChwYWdlICYgMHgzZikgfCBob3N0LT5jYXJkLnBhZ2VfcmVnLCBob3N0LT5jYXJkLmlvX3BhZ2UpOworCSAgICB3cml0ZWIoKHBhZ2UgJiAweDNmKSB8IGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiAJfQogICAgIH0KLSAgICBvdXRiKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmNhcmQuaW9fcGFnZSk7CisgICAgd3JpdGViKGhvc3QtPmNhcmQucGFnZV9yZWcsIGhvc3QtPmZhc3QgKyBQQUdFX1JFRyk7CiB9CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xMDA4LDggKzEwMDUsOCBAQAogc3RhdGljIGlubGluZQogdm9pZCBhY29ybnNjc2lfZG1hX3N0b3AoQVNfSG9zdCAqaG9zdCkKIHsKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAgICAgREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAic3RvcCIpKTsKQEAgLTEwMzEsNyArMTAyOCw3IEBACiAKICAgICBob3N0LT5kbWEuZGlyZWN0aW9uID0gZGlyZWN0aW9uOwogCi0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CiAKICAgICBpZiAoZGlyZWN0aW9uID09IERNQV9PVVQpIHsKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKQEAgLTEwNjIsMTMgKzEwNTksMTMgQEAKIAkJCQlsZW5ndGgpOwogCiAJbGVuZ3RoIC09IDE7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NT0RFQ09OLCBtb2RlKTsKLQlkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT0ZGKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRMTywgbGVuZ3RoKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUkxPLCBhZGRyZXNzKTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJNRCwgYWRkcmVzcyA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgMCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX01PREVDT04sIG1vZGUpOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAJREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAic3RydCIpKTsKQEAgLTEwODgsOCArMTA4NSw4IEBACiBzdGF0aWMKIHZvaWQgYWNvcm5zY3NpX2RtYV9jbGVhbnVwKEFTX0hvc3QgKmhvc3QpCiB7Ci0gICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09OKTsKLSAgICBkbWFjX2NsZWFyaW50cihob3N0LT5kbWEuaW9faW50cl9jbGVhcik7CisgICAgZG1hY193cml0ZShob3N0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOworICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QpOwogCiAgICAgLyoKICAgICAgKiBDaGVjayBmb3IgYSBwZW5kaW5nIHRyYW5zZmVyCkBAIC0xMTE2LDcgKzExMTMsNyBAQAogCS8qCiAJICogQ2FsY3VsYXRlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCBmcm9tIERNQS4KIAkgKi8KLQl0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0LT5kbWEuaW9fcG9ydCkgLSBob3N0LT5kbWEuc3RhcnRfYWRkcjsKKwl0cmFuc2ZlcnJlZCA9IGRtYWNfYWRkcmVzcyhob3N0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOwogCWhvc3QtPmRtYS50cmFuc2ZlcnJlZCArPSB0cmFuc2ZlcnJlZDsKIAogCWlmIChob3N0LT5kbWEuZGlyZWN0aW9uID09IERNQV9JTikKQEAgLTExNTIsMTMgKzExNDksMTMgQEAKICAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJpbnRpIikpOwogI2VuZGlmCiAKLSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX01BU0tSRUcsIE1BU0tfT04pOwotICAgIGRtYWNfY2xlYXJpbnRyKGhvc3QtPmRtYS5pb19pbnRyX2NsZWFyKTsKKyAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PTik7CisgICAgZG1hY19jbGVhcmludHIoaG9zdCk7CiAKICAgICAvKgogICAgICAqIENhbGN1bGF0ZSBhbW91bnQgdHJhbnNmZXJyZWQgdmlhIERNQQogICAgICAqLwotICAgIHRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QtPmRtYS5pb19wb3J0KSAtIGhvc3QtPmRtYS5zdGFydF9hZGRyOworICAgIHRyYW5zZmVycmVkID0gZG1hY19hZGRyZXNzKGhvc3QpIC0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7CiAgICAgaG9zdC0+ZG1hLnRyYW5zZmVycmVkICs9IHRyYW5zZmVycmVkOwogCiAgICAgLyoKQEAgLTExOTAsMTIgKzExODcsMTIgQEAKIAkJCQlsZW5ndGgpOwogCiAJbGVuZ3RoIC09IDE7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCBsZW5ndGgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhDTlRISSwgbGVuZ3RoID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCBhZGRyZXNzID4+IDgpOwotCWRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJISSwgMCk7Ci0JZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05UTE8sIGxlbmd0aCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIGxlbmd0aCA+PiA4KTsKKwlkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgYWRkcmVzcyk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIGFkZHJlc3MgPj4gOCk7CisJZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCWRtYWNfd3JpdGUoaG9zdCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CiAKICNpZiAoREVCVUcgJiBERUJVR19ETUEpCiAJREJHKGhvc3QtPlNDcG50LCBhY29ybnNjc2lfZHVtcGRtYShob3N0LCAiaW50byIpKTsKQEAgLTEyMDksMTUgKzEyMDYsMTUgQEAKIAkgKiBhdHRlbnRpb24gY29uZGl0aW9uLiAgV2UgY29udGludWUgZ2l2aW5nIG9uZSBieXRlIHVudGlsCiAJICogdGhlIGRldmljZSByZWNvZ25pc2VzIHRoZSBhdHRlbnRpb24uCiAJICovCi0JaWYgKGRtYWNfcmVhZChob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19TVEFUVVMpICYgU1RBVFVTX1JRMCkgeworCWlmIChkbWFjX3JlYWQoaG9zdCwgRE1BQ19TVEFUVVMpICYgU1RBVFVTX1JRMCkgewogCSAgICBhY29ybnNjc2lfYWJvcnRjbWQoaG9zdCwgaG9zdC0+U0NwbnQtPnRhZyk7CiAKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVExPLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWENOVEhJLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkxPLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUk1ELCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19UWEFEUkhJLCAwKTsKLQkgICAgZG1hY193cml0ZShob3N0LT5kbWEuaW9fcG9ydCwgRE1BQ19NQVNLUkVHLCBNQVNLX09GRik7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWENOVExPLCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQ05USEksIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJMTywgMCk7CisJICAgIGRtYWNfd3JpdGUoaG9zdCwgRE1BQ19UWEFEUk1ELCAwKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSSEksIDApOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfTUFTS1JFRywgTUFTS19PRkYpOwogCX0KICNlbmRpZgogICAgIH0KQEAgLTEyNzEsOSArMTI2OCw5IEBACiAJICAgIGhvc3QtPmRtYS54ZmVyX3NldHVwID0gMDsKIAllbHNlIHsKIAkgICAgdHJhbnNmZXJyZWQgKz0gaG9zdC0+ZG1hLnN0YXJ0X2FkZHI7Ci0JICAgIGRtYWNfd3JpdGUoaG9zdC0+ZG1hLmlvX3BvcnQsIERNQUNfVFhBRFJMTywgdHJhbnNmZXJyZWQpOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSTUQsIHRyYW5zZmVycmVkID4+IDgpOwotCSAgICBkbWFjX3dyaXRlKGhvc3QtPmRtYS5pb19wb3J0LCBETUFDX1RYQURSSEksIHRyYW5zZmVycmVkID4+IDE2KTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTE8sIHRyYW5zZmVycmVkKTsKKwkgICAgZG1hY193cml0ZShob3N0LCBETUFDX1RYQURSTUQsIHRyYW5zZmVycmVkID4+IDgpOworCSAgICBkbWFjX3dyaXRlKGhvc3QsIERNQUNfVFhBRFJISSwgdHJhbnNmZXJyZWQgPj4gMTYpOwogI2lmIChERUJVRyAmIChERUJVR19ETUF8REVCVUdfV1JJVEUpKQogCSAgICBEQkcoaG9zdC0+U0NwbnQsIGFjb3Juc2NzaV9kdW1wZG1hKGhvc3QsICJhZGpvIikpOwogI2VuZGlmCkBAIC0xMjkyLDEyICsxMjg5LDEyIEBACiAJaW50IG15X3B0ciA9ICpwdHI7CiAKIAl3aGlsZSAobXlfcHRyIDwgbGVuKSB7Ci0JCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJCWFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCiAJCWlmIChhc3IgJiBBU1JfREJSKSB7CiAJCQl0aW1lb3V0ID0gbWF4X3RpbWVvdXQ7CiAKLQkJCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBieXRlc1tteV9wdHIrK10pOworCQkJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBieXRlc1tteV9wdHIrK10pOwogCQl9IGVsc2UgaWYgKGFzciAmIEFTUl9JTlQpCiAJCQlicmVhazsKIAkJZWxzZSBpZiAoLS10aW1lb3V0ID09IDApCkBAIC0xMzIwLDkgKzEzMTcsOSBAQAogewogCXN0cnVjdCBzY3NpX2NtbmQgKlNDcG50ID0gaG9zdC0+U0NwbnQ7CiAKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVFJBTlNDTlRILCAwKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCAwKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQ3BudC0+Y21kX2xlbiAtIGhvc3QtPnNjc2kuU0NwLnNlbnRfY29tbWFuZCk7CisgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19UUkFOU0NOVEgsIDApOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCAwKTsKKyAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdCwgU0NwbnQtPmNtZF9sZW4gLSBob3N0LT5zY3NpLlNDcC5zZW50X2NvbW1hbmQpOwogCiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAKQEAgLTEzNTEsNyArMTM0OCw3IEBACiAKIAlhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJzZW5kaW5nIG1lc3NhZ2UgMSIpOwogCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0RBVEEsIE5PUCk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBOT1ApOwogCiAJaG9zdC0+c2NzaS5sYXN0X21lc3NhZ2UgPSBOT1A7CiAjaWYgKERFQlVHICYgREVCVUdfTUVTU0FHRVMpCkBAIC0xMzY1LDcgKzEzNjIsNyBAQAogCiAJYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfREJSLCBBU1JfREJSLCAxMDAwLCAic2VuZGluZyBtZXNzYWdlIDIiKTsKIAotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBLCBtc2ctPm1zZ1swXSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19EQVRBLCBtc2ctPm1zZ1swXSk7CiAKIAlob3N0LT5zY3NpLmxhc3RfbWVzc2FnZSA9IG1zZy0+bXNnWzBdOwogI2lmIChERUJVRyAmIERFQlVHX01FU1NBR0VTKQpAQCAtMTM4Miw5ICsxMzc5LDkgQEAKIAkgKiAgaW5pdGlhdG9yLiAgVGhpcyBwcm92aWRlcyBhbiBpbnRlcmxvY2sgc28gdGhhdCB0aGUKIAkgKiAgaW5pdGlhdG9yIGNhbiBkZXRlcm1pbmUgd2hpY2ggbWVzc2FnZSBieXRlIGlzIHJlamVjdGVkLgogCSAqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19UUkFOU0NOVEgsIDApOwotCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIDApOwotCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LT5zY3NpLmlvX3BvcnQsIG1lc3NhZ2VfbGVuZ3RoKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RSQU5TQ05USCwgMCk7CisJc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIDApOworCXNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCBtZXNzYWdlX2xlbmd0aCk7CiAJYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAKIAltc2duciA9IDA7CkBAIC0xNDIxLDcgKzE0MTgsNyBAQAogewogICAgIGFjb3Juc2NzaV9zYmljX2lzc3VlY21kKGhvc3QsIENNTkRfWEZFUklORk98Q01ORF9TQlQpOwogICAgIGFjb3Juc2NzaV9zYmljX3dhaXQoaG9zdCwgQVNSX0RCUiwgQVNSX0RCUiwgMTAwMCwgInJlYWRpbmcgc3RhdHVzIGJ5dGUiKTsKLSAgICBob3N0LT5zY3NpLlNDcC5TdGF0dXMgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19EQVRBKTsKKyAgICBob3N0LT5zY3NpLlNDcC5TdGF0dXMgPSBzYmljX2FybV9yZWFkKGhvc3QsIFNCSUNfREFUQSk7CiB9CiAKIC8qCkBAIC0xNDM4LDEyICsxNDM1LDEyIEBACiAKICAgICBhY29ybnNjc2lfc2JpY193YWl0KGhvc3QsIEFTUl9EQlIsIEFTUl9EQlIsIDEwMDAsICJmb3IgbWVzc2FnZSBieXRlIik7CiAKLSAgICBtZXNzYWdlID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSk7CisgICAgbWVzc2FnZSA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKTsKIAogICAgIC8qIHdhaXQgZm9yIE1TR0lOLVhGRVItUEFVU0VEICovCiAgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfSU5ULCBBU1JfSU5ULCAxMDAwLCAiZm9yIGludGVycnVwdCBhZnRlciBtZXNzYWdlIGJ5dGUiKTsKIAotICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICAgICByZXR1cm4gbWVzc2FnZTsKIH0KQEAgLTE0ODAsNyArMTQ3Nyw3IEBACiAKIAkgICAgLyogd2FpdCBmb3IgbmV4dCBtc2ctaW4gKi8KIAkgICAgYWNvcm5zY3NpX3NiaWNfd2FpdChob3N0LCBBU1JfSU5ULCBBU1JfSU5ULCAxMDAwLCAiZm9yIGludGVycnVwdCBhZnRlciBuZWdhdGUgYWNrIik7Ci0JICAgIHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJICAgIHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCX0KICAgICB9IHdoaWxlIChtc2dpZHggPCBtc2dsZW4pOwogCkBAIC0xNjAyLDcgKzE1OTksNyBAQAogCQkgICAgaG9zdC0+aG9zdC0+aG9zdF9ubywgYWNvcm5zY3NpX3RhcmdldChob3N0KSk7CiAJICAgIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyID0gU1lOQ0hUUkFOU0ZFUl8yREJBOwogCSAgICBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfc3RhdGUgPSBTWU5DX0FTWU5DSFJPTk9VUzsKLQkgICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKwkgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CiAJICAgIGJyZWFrOwogCiAJZGVmYXVsdDoKQEAgLTE2NTIsNyArMTY0OSw3IEBACiAJCWhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyID0KIAkJCWNhbGNfc3luY194ZmVyKHBlcmlvZCAqIDQsIGxlbmd0aCk7CiAJICAgIH0KLQkgICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKKwkgICAgc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBob3N0LT5kZXZpY2VbaG9zdC0+U0NwbnQtPmRldmljZS0+aWRdLnN5bmNfeGZlcik7CiAJICAgIGJyZWFrOwogI2Vsc2UKIAkgICAgLyogV2UgZG8gbm90IGFjY2VwdCBzeW5jaHJvbm91cyB0cmFuc2ZlcnMuICBSZXNwb25kIHdpdGggYQpAQCAtMTc5MiwxMCArMTc4OSwxMCBAQAogCiAgICAgcmVzaWR1YWwgPSBzY3NpX2J1ZmZsZW4oaG9zdC0+U0NwbnQpIC0gaG9zdC0+c2NzaS5TQ3Auc2NzaV94ZmVycmVkOwogCi0gICAgc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NZTkNIVFJBTlNGRVIsIGhvc3QtPmRldmljZVtob3N0LT5TQ3BudC0+ZGV2aWNlLT5pZF0uc3luY194ZmVyKTsKLSAgICBzYmljX2FybV93cml0ZW5leHQoaG9zdC0+c2NzaS5pb19wb3J0LCByZXNpZHVhbCA+PiAxNik7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwgPj4gOCk7Ci0gICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QtPnNjc2kuaW9fcG9ydCwgcmVzaWR1YWwpOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgaG9zdC0+ZGV2aWNlW2hvc3QtPlNDcG50LT5kZXZpY2UtPmlkXS5zeW5jX3hmZXIpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCA+PiAxNik7CisgICAgc2JpY19hcm1fd3JpdGVuZXh0KGhvc3QsIHJlc2lkdWFsID4+IDgpOworICAgIHNiaWNfYXJtX3dyaXRlbmV4dChob3N0LCByZXNpZHVhbCk7CiAgICAgYWNvcm5zY3NpX3NiaWNfaXNzdWVjbWQoaG9zdCwgQ01ORF9YRkVSSU5GTyk7CiAgICAgcmV0dXJuIDE7CiB9CkBAIC0xODE2LDcgKzE4MTMsNyBAQAogewogICAgIHVuc2lnbmVkIGludCB0YXJnZXQsIGx1biwgb2sgPSAwOwogCi0gICAgdGFyZ2V0ID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQpOworICAgIHRhcmdldCA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TT1VSQ0VJRCk7CiAKICAgICBpZiAoISh0YXJnZXQgJiA4KSkKIAlwcmludGsoS0VSTl9FUlIgInNjc2klZDogaW52YWxpZCBzb3VyY2UgaWQgYWZ0ZXIgcmVzZWxlY3Rpb24gIgpAQCAtMTgzMiw3ICsxODI5LDcgQEAKIAlob3N0LT5TQ3BudCA9IE5VTEw7CiAgICAgfQogCi0gICAgbHVuID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfREFUQSkgJiA3OworICAgIGx1biA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19EQVRBKSAmIDc7CiAKICAgICBob3N0LT5zY3NpLnJlY29ubmVjdGVkLnRhcmdldCA9IHRhcmdldDsKICAgICBob3N0LT5zY3NpLnJlY29ubmVjdGVkLmx1biA9IGx1bjsKQEAgLTE5NTIsNyArMTk0OSw3IEBACiB2b2lkIGFjb3Juc2NzaV9hYm9ydGNtZChBU19Ib3N0ICpob3N0LCB1bnNpZ25lZCBjaGFyIHRhZykKIHsKICAgICBob3N0LT5zY3NpLnBoYXNlID0gUEhBU0VfQUJPUlRFRDsKLSAgICBzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQ01ORCwgQ01ORF9BU1NFUlRBVE4pOworICAgIHNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9BU1NFUlRBVE4pOwogCiAgICAgbXNncXVldWVfZmx1c2goJmhvc3QtPnNjc2kubXNncyk7CiAjaWZkZWYgQ09ORklHX1NDU0lfQUNPUk5TQ1NJX1RBR0dFRF9RVUVVRQpAQCAtMTk3OSwxMSArMTk3NiwxMSBAQAogewogICAgIHVuc2lnbmVkIGludCBhc3IsIHNzcjsKIAotICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisgICAgYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CiAgICAgaWYgKCEoYXNyICYgQVNSX0lOVCkpCiAJcmV0dXJuIElOVFJfSURMRTsKIAotICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisgICAgc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKICNpZiAoREVCVUcgJiBERUJVR19QSEFTRVMpCiAgICAgcHJpbnRfc2JpY19zdGF0dXMoYXNyLCBzc3IsIGhvc3QtPnNjc2kucGhhc2UpOwpAQCAtMTk5OSwxNSArMTk5NiwxNSBAQAogCXByaW50ayhLRVJOX0VSUiAic2NzaSVkOiByZXNldCBpbiBzdGFuZGFyZCBtb2RlIGJ1dCB3YW50ZWQgYWR2YW5jZWQgbW9kZS5cbiIsCiAJCWhvc3QtPmhvc3QtPmhvc3Rfbm8pOwogCS8qIHNldHVwIHNiaWMgLSBXRDMzQzkzQSAqLwotCXNiaWNfYXJtX3dyaXRlKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19PV05JRCwgT1dOSURfRUFGIHwgaG9zdC0+aG9zdC0+dGhpc19pZCk7Ci0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfUkVTRVQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfT1dOSUQsIE9XTklEX0VBRiB8IGhvc3QtPmhvc3QtPnRoaXNfaWQpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfQ01ORCwgQ01ORF9SRVNFVCk7CiAJcmV0dXJuIElOVFJfSURMRTsKIAogICAgIGNhc2UgMHgwMToJCQkJLyogcmVzZXQgc3RhdGUgLSBhZHZhbmNlZAkJCSovCi0Jc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfVElNRU9VVCwgVElNRU9VVF9USU1FKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1lOQ0hUUkFOU0ZFUiwgU1lOQ0hUUkFOU0ZFUl8yREJBKTsKLQlzYmljX2FybV93cml0ZShob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NUUkwsIElOSVRfU0JJQ0RNQSB8IENUUkxfSURJKTsKKwlzYmljX2FybV93cml0ZShob3N0LCBTQklDX1RJTUVPVVQsIFRJTUVPVVRfVElNRSk7CisJc2JpY19hcm1fd3JpdGUoaG9zdCwgU0JJQ19TWU5DSFRSQU5TRkVSLCBTWU5DSFRSQU5TRkVSXzJEQkEpOworCXNiaWNfYXJtX3dyaXRlKGhvc3QsIFNCSUNfU09VUkNFSUQsIFNPVVJDRUlEX0VSIHwgU09VUkNFSURfRFNQKTsKIAltc2dxdWV1ZV9mbHVzaCgmaG9zdC0+c2NzaS5tc2dzKTsKIAlyZXR1cm4gSU5UUl9JRExFOwogCkBAIC0yMDI1LDEwICsyMDIyLDEwIEBACiAJICAgIG1zZ3F1ZXVlX2ZsdXNoKCZob3N0LT5zY3NpLm1zZ3MpOwogCSAgICBob3N0LT5kbWEudHJhbnNmZXJyZWQgPSBob3N0LT5zY3NpLlNDcC5zY3NpX3hmZXJyZWQ7CiAJICAgIC8qIDMzQzkzIGdpdmVzIG5leHQgaW50ZXJydXB0IGluZGljYXRpbmcgYnVzIHBoYXNlICovCi0JICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0FTUik7CisJICAgIGFzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19BU1IpOwogCSAgICBpZiAoIShhc3IgJiBBU1JfSU5UKSkKIAkJYnJlYWs7Ci0JICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJICAgIHNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCSAgICBBRERfU1RBVFVTKDgsIHNzciwgaG9zdC0+c2NzaS5waGFzZSwgMSk7CiAJICAgIEFERF9TVEFUVVMoaG9zdC0+U0NwbnQtPmRldmljZS0+aWQsIHNzciwgaG9zdC0+c2NzaS5waGFzZSwgMSk7CiAJICAgIGdvdG8gY29ubmVjdGVkOwpAQCAtMjQ3NiwxMSArMjQ3MywxMSBAQAogICAgIGRvIHsKIAlyZXQgPSBJTlRSX0lETEU7CiAKLQlpb3N0YXR1cyA9IGluYihob3N0LT5jYXJkLmlvX2ludHIpOworCWlvc3RhdHVzID0gcmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpOwogCiAJaWYgKGlvc3RhdHVzICYgMikgewogCSAgICBhY29ybnNjc2lfZG1hX2ludHIoaG9zdCk7Ci0JICAgIGlvc3RhdHVzID0gaW5iKGhvc3QtPmNhcmQuaW9faW50cik7CisJICAgIGlvc3RhdHVzID0gcmVhZGIoaG9zdC0+ZmFzdCArIElOVF9SRUcpOwogCX0KIAogCWlmIChpb3N0YXR1cyAmIDgpCkBAIC0yNjU1LDcgKzI2NTIsNyBAQAogCQkgKiBidXN5bHVuIGJpdC4KIAkJICovCiAJCWNhc2UgUEhBU0VfQ09OTkVDVEVEOgotCQkJc2JpY19hcm1fd3JpdGUoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX0NNTkQsIENNTkRfRElTQ09OTkVDVCk7CisJCQlzYmljX2FybV93cml0ZShob3N0LCBTQklDX0NNTkQsIENNTkRfRElTQ09OTkVDVCk7CiAJCQlob3N0LT5TQ3BudCA9IE5VTEw7CiAJCQlyZXMgPSByZXNfc3VjY2Vzc19jbGVhcjsKIAkJCWJyZWFrOwpAQCAtMjY5OSw4ICsyNjk2LDggQEAKICNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAl7CiAJCWludCBhc3IsIHNzcjsKLQkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfQVNSKTsKLQkJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LT5zY3NpLmlvX3BvcnQsIFNCSUNfU1NSKTsKKwkJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisJCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdCwgU0JJQ19TU1IpOwogCiAJCXByaW50ayhLRVJOX1dBUk5JTkcgImFjb3Juc2NzaV9hYm9ydDogIik7CiAJCXByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTI3MzEsOSArMjcyOCw3IEBACiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJzdWNjZXNzXG4iKTsKIC8vI2VuZGlmCi0JCVNDcG50LT5yZXN1bHQgPSBESURfQUJPUlQgPDwgMTY7Ci0JCVNDcG50LT5zY3NpX2RvbmUoU0NwbnQpOwotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NVQ0NFU1M7CisJCXJlc3VsdCA9IFNVQ0NFU1M7CiAJCWJyZWFrOwogCiAJLyoKQEAgLTI3NDUsNyArMjc0MCw3IEBACiAvLyNpZiAoREVCVUcgJiBERUJVR19BQk9SVCkKIAkJcHJpbnRrKCJzbm9vemVcbiIpOwogLy8jZW5kaWYKLQkJcmVzdWx0ID0gU0NTSV9BQk9SVF9TTk9PWkU7CisJCXJlc3VsdCA9IEZBSUxFRDsKIAkJYnJlYWs7CiAKIAkvKgpAQCAtMjc1NSwxMSArMjc1MCw3IEBACiAJZGVmYXVsdDoKIAljYXNlIHJlc19ub3RfcnVubmluZzoKIAkJYWNvcm5zY3NpX2R1bXBsb2coaG9zdCwgU0NwbnQtPmRldmljZS0+aWQpOwotI2lmIChERUJVRyAmIERFQlVHX0FCT1JUKQotCQlyZXN1bHQgPSBTQ1NJX0FCT1JUX1NOT09aRTsKLSNlbHNlCi0JCXJlc3VsdCA9IFNDU0lfQUJPUlRfTk9UX1JVTk5JTkc7Ci0jZW5kaWYKKwkJcmVzdWx0ID0gRkFJTEVEOwogLy8jaWYgKERFQlVHICYgREVCVUdfQUJPUlQpCiAJCXByaW50aygibm90IHJ1bm5pbmdcbiIpOwogLy8jZW5kaWYKQEAgLTI3NzAsMTMgKzI3NjEsMTIgQEAKIH0KIAogLyoKLSAqIFByb3RvdHlwZTogaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCwgdW5zaWduZWQgaW50IHJlc2V0X2ZsYWdzKQorICogUHJvdG90eXBlOiBpbnQgYWNvcm5zY3NpX3Jlc2V0KHN0cnVjdCBzY3NpX2NtbmQgKlNDcG50KQogICogUHVycG9zZSAgOiByZXNldCBhIGNvbW1hbmQgb24gdGhpcyBob3N0L3Jlc2V0IHRoaXMgaG9zdAogICogUGFyYW1zICAgOiBTQ3BudCAgLSBjb21tYW5kIGNhdXNpbmcgcmVzZXQKLSAqCSAgICAgIHJlc3VsdCAtIHdoYXQgdHlwZSBvZiByZXNldCB0byBwZXJmb3JtCiAgKiBSZXR1cm5zICA6IG9uZSBvZiBTQ1NJX1JFU0VUXyBtYWNyb3MKICAqLwotaW50IGFjb3Juc2NzaV9yZXNldChzdHJ1Y3Qgc2NzaV9jbW5kICpTQ3BudCwgdW5zaWduZWQgaW50IHJlc2V0X2ZsYWdzKQoraW50IGFjb3Juc2NzaV9idXNfcmVzZXQoc3RydWN0IHNjc2lfY21uZCAqU0NwbnQpCiB7CiAJQVNfSG9zdCAqaG9zdCA9IChBU19Ib3N0ICopU0NwbnQtPmRldmljZS0+aG9zdC0+aG9zdGRhdGE7CiAJc3RydWN0IHNjc2lfY21uZCAqU0NwdHI7CkBAIC0yNzg3LDggKzI3NzcsOCBAQAogICAgIHsKIAlpbnQgYXNyLCBzc3I7CiAKLQlhc3IgPSBzYmljX2FybV9yZWFkKGhvc3QtPnNjc2kuaW9fcG9ydCwgU0JJQ19BU1IpOwotCXNzciA9IHNiaWNfYXJtX3JlYWQoaG9zdC0+c2NzaS5pb19wb3J0LCBTQklDX1NTUik7CisJYXNyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX0FTUik7CisJc3NyID0gc2JpY19hcm1fcmVhZChob3N0LCBTQklDX1NTUik7CiAKIAlwcmludGsoS0VSTl9XQVJOSU5HICJhY29ybnNjc2lfcmVzZXQ6ICIpOwogCXByaW50X3NiaWNfc3RhdHVzKGFzciwgc3NyLCBob3N0LT5zY3NpLnBoYXNlKTsKQEAgLTI3OTgsMjggKzI3ODgsMTYgQEAKIAogICAgIGFjb3Juc2NzaV9kbWFfc3RvcChob3N0KTsKIAotICAgIFNDcHRyID0gaG9zdC0+U0NwbnQ7Ci0KICAgICAvKgogICAgICAqIGRvIGhhcmQgcmVzZXQuICBUaGlzIHJlc2V0cyBhbGwgZGV2aWNlcyBvbiB0aGlzIGhvc3QsIGFuZCBzbyB3ZQogICAgICAqIG11c3Qgc2V0IHRoZSByZXNldCBzdGF0dXMgb24gYWxsIGNvbW1hbmRzLgogICAgICAqLwogICAgIGFjb3Juc2NzaV9yZXNldGNhcmQoaG9zdCk7CiAKLSAgICAvKgotICAgICAqIHJlcG9ydCByZXNldCBvbiBjb21tYW5kcyBjdXJyZW50IGNvbm5lY3RlZC9kaXNjb25uZWN0ZWQKLSAgICAgKi8KLSAgICBhY29ybnNjc2lfcmVwb3J0c3RhdHVzKCZob3N0LT5TQ3BudCwgJlNDcHRyLCBESURfUkVTRVQpOwotCiAgICAgd2hpbGUgKChTQ3B0ciA9IHF1ZXVlX3JlbW92ZSgmaG9zdC0+cXVldWVzLmRpc2Nvbm5lY3RlZCkpICE9IE5VTEwpCi0JYWNvcm5zY3NpX3JlcG9ydHN0YXR1cygmU0NwdHIsICZTQ3BudCwgRElEX1JFU0VUKTsKKwk7CiAKLSAgICBpZiAoU0NwbnQpIHsKLQlTQ3BudC0+cmVzdWx0ID0gRElEX1JFU0VUIDw8IDE2OwotCVNDcG50LT5zY3NpX2RvbmUoU0NwbnQpOwotICAgIH0KLQotICAgIHJldHVybiBTQ1NJX1JFU0VUX0JVU19SRVNFVCB8IFNDU0lfUkVTRVRfSE9TVF9SRVNFVCB8IFNDU0lfUkVTRVRfU1VDQ0VTUzsKKyAgICByZXR1cm4gU1VDQ0VTUzsKIH0KIAogLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yODUwLDcgKzI4MjgsNyBAQAogICAgICIgTElOSyIKICNlbmRpZgogI2lmIChERUJVRyAmIERFQlVHX05PX1dSSVRFKQotICAgICIgTk9XUklURSAoIk5PX1dSSVRFX1NUUiIpIgorICAgICIgTk9XUklURSAoIiBfX3N0cmluZ2lmeShOT19XUklURSkgIikiCiAjZW5kaWYKIAkJLCBob3N0LT5ob3N0dC0+bmFtZSwgaG9zdC0+aW9fcG9ydCwgaG9zdC0+aXJxLAogCQlWRVJfTUFKT1IsIFZFUl9NSU5PUiwgVkVSX1BBVENIKTsKQEAgLTI4ODEsMTUgKzI4NTksMTUgQEAKICAgICAiIExJTksiCiAjZW5kaWYKICNpZiAoREVCVUcgJiBERUJVR19OT19XUklURSkKLSAgICAiIE5PV1JJVEUgKCJOT19XUklURV9TVFIiKSIKKyAgICAiIE5PV1JJVEUgKCIgX19zdHJpbmdpZnkoTk9fV1JJVEUpICIpIgogI2VuZGlmCiAJCSJcblxuIiwgVkVSX01BSk9SLCBWRVJfTUlOT1IsIFZFUl9QQVRDSCk7CiAKLSAgICBwICs9IHNwcmludGYocCwJIlNCSUM6IFdEMzNDOTNBICBBZGRyZXNzOiAlMDhYICBJUlEgOiAlZFxuIiwKLQkJCWhvc3QtPnNjc2kuaW9fcG9ydCwgaG9zdC0+c2NzaS5pcnEpOworICAgIHAgKz0gc3ByaW50ZihwLAkiU0JJQzogV0QzM0M5M0EgIEFkZHJlc3M6ICVwICAgIElSUSA6ICVkXG4iLAorCQkJaG9zdC0+YmFzZSArIFNCSUNfUkVHSURYLCBob3N0LT5zY3NpLmlycSk7CiAjaWZkZWYgVVNFX0RNQUMKLSAgICBwICs9IHNwcmludGYocCwJIkRNQUM6IHVQQzcxMDcxICBBZGRyZXNzOiAlMDhYICBJUlEgOiAlZFxuXG4iLAotCQkJaG9zdC0+ZG1hLmlvX3BvcnQsIGhvc3QtPnNjc2kuaXJxKTsKKyAgICBwICs9IHNwcmludGYocCwJIkRNQUM6IHVQQzcxMDcxICBBZGRyZXNzOiAlcCAgSVJRIDogJWRcblxuIiwKKwkJCWhvc3QtPmJhc2UgKyBETUFDX09GRlNFVCwgaG9zdC0+c2NzaS5pcnEpOwogI2VuZGlmCiAKICAgICBwICs9IHNwcmludGYocCwJIlN0YXRpc3RpY3M6XG4iCkBAIC0yOTc2LDkgKzI5NTQsOCBAQAogCS5uYW1lCQkJPSAiQWNvcm5TQ1NJIiwKIAkuaW5mbwkJCT0gYWNvcm5zY3NpX2luZm8sCiAJLnF1ZXVlY29tbWFuZAkJPSBhY29ybnNjc2lfcXVldWVjbWQsCi0jd2FybmluZyBmaXhtZQotCS5hYm9ydAkJCT0gYWNvcm5zY3NpX2Fib3J0LAotCS5yZXNldAkJCT0gYWNvcm5zY3NpX3Jlc2V0LAorCS5laF9hYm9ydF9oYW5kbGVyCT0gYWNvcm5zY3NpX2Fib3J0LAorCS5laF9idXNfcmVzZXRfaGFuZGxlcgk9IGFjb3Juc2NzaV9idXNfcmVzZXQsCiAJLmNhbl9xdWV1ZQkJPSAxNiwKIAkudGhpc19pZAkJPSA3LAogCS5zZ190YWJsZXNpemUJCT0gU0dfQUxMLApAQCAtMjk5Miw0OCArMjk2OSwzNyBAQAogewogCXN0cnVjdCBTY3NpX0hvc3QgKmhvc3Q7CiAJQVNfSG9zdCAqYXNob3N0OwotCWludCByZXQgPSAtRU5PTUVNOworCWludCByZXQ7CisKKwlyZXQgPSBlY2FyZF9yZXF1ZXN0X3Jlc291cmNlcyhlYyk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CiAKIAlob3N0ID0gc2NzaV9ob3N0X2FsbG9jKCZhY29ybnNjc2lfdGVtcGxhdGUsIHNpemVvZihBU19Ib3N0KSk7Ci0JaWYgKCFob3N0KQotCQlnb3RvIG91dDsKKwlpZiAoIWhvc3QpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfcmVsZWFzZTsKKwl9CiAKIAlhc2hvc3QgPSAoQVNfSG9zdCAqKWhvc3QtPmhvc3RkYXRhOwogCi0JaG9zdC0+aW9fcG9ydCA9IGVjYXJkX2FkZHJlc3MoZWMsIEVDQVJEX01FTUMsIDApOworCWFzaG9zdC0+YmFzZSA9IGVjYXJkbV9pb21hcChlYywgRUNBUkRfUkVTX01FTUMsIDAsIDApOworCWFzaG9zdC0+ZmFzdCA9IGVjYXJkbV9pb21hcChlYywgRUNBUkRfUkVTX0lPQ0ZBU1QsIDAsIDApOworCWlmICghYXNob3N0LT5iYXNlIHx8ICFhc2hvc3QtPmZhc3QpCisJCWdvdG8gb3V0X3B1dDsKKwogCWhvc3QtPmlycSA9IGVjLT5pcnE7CisJYXNob3N0LT5ob3N0ID0gaG9zdDsKKwlhc2hvc3QtPnNjc2kuaXJxID0gaG9zdC0+aXJxOwogCi0JYXNob3N0LT5ob3N0CQk9IGhvc3Q7Ci0JYXNob3N0LT5zY3NpLmlvX3BvcnQJPSBpb2FkZHIoaG9zdC0+aW9fcG9ydCArIDB4ODAwKTsKLQlhc2hvc3QtPnNjc2kuaXJxCT0gaG9zdC0+aXJxOwotCWFzaG9zdC0+Y2FyZC5pb19pbnRyCT0gUE9EX1NQQUNFKGhvc3QtPmlvX3BvcnQpICsgMHg4MDA7Ci0JYXNob3N0LT5jYXJkLmlvX3BhZ2UJPSBQT0RfU1BBQ0UoaG9zdC0+aW9fcG9ydCkgKyAweGMwMDsKLQlhc2hvc3QtPmNhcmQuaW9fcmFtCT0gaW9hZGRyKGhvc3QtPmlvX3BvcnQpOwotCWFzaG9zdC0+ZG1hLmlvX3BvcnQJPSBob3N0LT5pb19wb3J0ICsgMHhjMDA7Ci0JYXNob3N0LT5kbWEuaW9faW50cl9jbGVhciA9IFBPRF9TUEFDRShob3N0LT5pb19wb3J0KSArIDB4ODAwOwotCi0JZWMtPmlycWFkZHIJPSAoY2hhciAqKWlvYWRkcihhc2hvc3QtPmNhcmQuaW9faW50cik7CisJZWMtPmlycWFkZHIJPSBhc2hvc3QtPmZhc3QgKyBJTlRfUkVHOwogCWVjLT5pcnFtYXNrCT0gMHgwYTsKIAotCXJldCA9IC1FQlVTWTsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGhvc3QtPmlvX3BvcnQgKyAweDgwMCwgMiwgImFjb3Juc2NzaShzYmljKSIpKQotCQlnb3RvIGVycl8xOwotCWlmICghcmVxdWVzdF9yZWdpb24oYXNob3N0LT5jYXJkLmlvX2ludHIsIDEsICJhY29ybnNjc2koaW50cikiKSkKLQkJZ290byBlcnJfMjsKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19wYWdlLCAxLCAiYWNvcm5zY3NpKHBhZ2UpIikpCi0JCWdvdG8gZXJyXzM7Ci0jaWZkZWYgVVNFX0RNQUMKLQlpZiAoIXJlcXVlc3RfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1NiwgImFjb3Juc2NzaShkbWFjKSIpKQotCQlnb3RvIGVycl80OwotI2VuZGlmCi0JaWYgKCFyZXF1ZXN0X3JlZ2lvbihob3N0LT5pb19wb3J0LCAyMDQ4LCAiYWNvcm5zY3NpKHJhbSkiKSkKLQkJZ290byBlcnJfNTsKLQogCXJldCA9IHJlcXVlc3RfaXJxKGhvc3QtPmlycSwgYWNvcm5zY3NpX2ludHIsIElSUUZfRElTQUJMRUQsICJhY29ybnNjc2kiLCBhc2hvc3QpOwogCWlmIChyZXQpIHsKIAkJcHJpbnRrKEtFUk5fQ1JJVCAic2NzaSVkOiBJUlElZCBub3QgZnJlZTogJWRcbiIsCiAJCQlob3N0LT5ob3N0X25vLCBhc2hvc3QtPnNjc2kuaXJxLCByZXQpOwotCQlnb3RvIGVycl82OworCQlnb3RvIG91dF9wdXQ7CiAJfQogCiAJbWVtc2V0KCZhc2hvc3QtPnN0YXRzLCAwLCBzaXplb2YgKGFzaG9zdC0+c3RhdHMpKTsKQEAgLTMwNDUsMjcgKzMwMTEsMjIgQEAKIAogCXJldCA9IHNjc2lfYWRkX2hvc3QoaG9zdCwgJmVjLT5kZXYpOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyXzc7CisJCWdvdG8gb3V0X2lycTsKIAogCXNjc2lfc2Nhbl9ob3N0KGhvc3QpOwogCWdvdG8gb3V0OwogCi0gZXJyXzc6Cisgb3V0X2lycToKIAlmcmVlX2lycShob3N0LT5pcnEsIGFzaG9zdCk7Ci0gZXJyXzY6Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCk7Ci0gZXJyXzU6Ci0jaWZkZWYgVVNFX0RNQUMKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmRtYS5pb19wb3J0LCAyNTYpOwotI2VuZGlmCi0gZXJyXzQ6Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEpOwotIGVycl8zOgotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+Y2FyZC5pb19pbnRyLCAxKTsgICAgCi0gZXJyXzI6Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyKTsKLSBlcnJfMToKKwltc2dxdWV1ZV9mcmVlKCZhc2hvc3QtPnNjc2kubXNncyk7CisJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKTsKKwlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5pc3N1ZSk7Cisgb3V0X3B1dDoKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5mYXN0KTsKKwllY2FyZG1faW91bm1hcChlYywgYXNob3N0LT5iYXNlKTsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOworIG91dF9yZWxlYXNlOgorCWVjYXJkX3JlbGVhc2VfcmVzb3VyY2VzKGVjKTsKICBvdXQ6CiAJcmV0dXJuIHJldDsKIH0KQEAgLTMwODEsMjAgKzMwNDIsMTcgQEAKIAkvKgogCSAqIFB1dCBjYXJkIGludG8gUkVTRVQgc3RhdGUKIAkgKi8KLQlvdXRiKDB4ODAsIGFzaG9zdC0+Y2FyZC5pb19wYWdlKTsKKwl3cml0ZWIoMHg4MCwgYXNob3N0LT5mYXN0ICsgUEFHRV9SRUcpOwogCiAJZnJlZV9pcnEoaG9zdC0+aXJxLCBhc2hvc3QpOwogCi0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCArIDB4ODAwLCAyKTsKLQlyZWxlYXNlX3JlZ2lvbihhc2hvc3QtPmNhcmQuaW9faW50ciwgMSk7Ci0JcmVsZWFzZV9yZWdpb24oYXNob3N0LT5jYXJkLmlvX3BhZ2UsIDEpOwotCXJlbGVhc2VfcmVnaW9uKGFzaG9zdC0+ZG1hLmlvX3BvcnQsIDI1Nik7Ci0JcmVsZWFzZV9yZWdpb24oaG9zdC0+aW9fcG9ydCwgMjA0OCk7Ci0KIAltc2dxdWV1ZV9mcmVlKCZhc2hvc3QtPnNjc2kubXNncyk7CiAJcXVldWVfZnJlZSgmYXNob3N0LT5xdWV1ZXMuZGlzY29ubmVjdGVkKTsKIAlxdWV1ZV9mcmVlKCZhc2hvc3QtPnF1ZXVlcy5pc3N1ZSk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+ZmFzdCk7CisJZWNhcmRtX2lvdW5tYXAoZWMsIGFzaG9zdC0+YmFzZSk7CiAJc2NzaV9ob3N0X3B1dChob3N0KTsKKwllY2FyZF9yZWxlYXNlX3Jlc291cmNlcyhlYyk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZWNhcmRfaWQgYWNvcm5zY3NpX2NpZHNbXSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmggYi9kcml2ZXJzL3Njc2kvYXJtL2Fjb3Juc2NzaS5oCmluZGV4IGQxMTQyNGIuLjhkMjE3MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9hcm0vYWNvcm5zY3NpLmgKKysrIGIvZHJpdmVycy9zY3NpL2FybS9hY29ybnNjc2kuaApAQCAtMTc5LDcgKzE3OSw2IEBACiAKIC8qIG1pc2NlbGxhbmVvdXMgaW50ZXJuYWwgdmFyaWFibGVzICovCiAKLSNkZWZpbmUgUE9EX1NQQUNFKHgpCSgoeCkgKyAweGQwMDAwKQogI2RlZmluZSBNQVNLX09OCQkoTUFTS1JFR19NM3xNQVNLUkVHX00yfE1BU0tSRUdfTTF8TUFTS1JFR19NMCkKICNkZWZpbmUgTUFTS19PRkYJKE1BU0tSRUdfTTN8TUFTS1JFR19NMnxNQVNLUkVHX00xKQogCkBAIC0yNzksMTAgKzI3OCwxMSBAQAogICAgIHN0cnVjdCBTY3NpX0hvc3QJKmhvc3Q7CQkJLyogaG9zdAkJCQkJKi8KICAgICBzdHJ1Y3Qgc2NzaV9jbW5kCSpTQ3BudDsJCQkvKiBjdXJyZW50bHkgcHJvY2Vzc2luZyBjb21tYW5kCQkqLwogICAgIHN0cnVjdCBzY3NpX2NtbmQJKm9yaWdTQ3BudDsJCS8qIG9yaWdpbmFsIGNvbm5lY3RpbmcgY29tbWFuZAkJKi8KKyAgICB2b2lkIF9faW9tZW0JKmJhc2U7CQkJLyogbWVtYyBiYXNlIGFkZHJlc3MgCQkJKi8KKyAgICB2b2lkIF9faW9tZW0JKmZhc3Q7CQkJLyogZmFzdCBpb2MgYmFzZSBhZGRyZXNzCQkqLwogCiAgICAgLyogZHJpdmVyIGluZm9ybWF0aW9uICovCiAgICAgc3RydWN0IHsKLQl1bnNpZ25lZCBpbnQJaW9fcG9ydDsJCS8qIGJhc2UgYWRkcmVzcyBvZiBXRDMzQzkzCQkqLwogCXVuc2lnbmVkIGludAlpcnE7CQkJLyogaW50ZXJydXB0CQkJCSovCiAJcGhhc2VfdAkJcGhhc2U7CQkJLyogY3VycmVudCBwaGFzZQkJCSovCiAKQEAgLTMyOSw4ICszMjksNiBAQAogCiAgICAgLyogRE1BIGluZm8gKi8KICAgICBzdHJ1Y3QgewotCXVuc2lnbmVkIGludAlpb19wb3J0OwkJLyogYmFzZSBhZGRyZXNzIG9mIERNQSBjb250cm9sbGVyCSovCi0JdW5zaWduZWQgaW50CWlvX2ludHJfY2xlYXI7CQkvKiBhZGRyZXNzIG9mIERNQSBpbnRlcnJ1cHQgY2xlYXIJKi8KIAl1bnNpZ25lZCBpbnQJZnJlZV9hZGRyOwkJLyogbmV4dCBmcmVlIGFkZHJlc3MJCQkqLwogCXVuc2lnbmVkIGludAlzdGFydF9hZGRyOwkJLyogc3RhcnQgYWRkcmVzcyBvZiBjdXJyZW50IHRyYW5zZmVyCSovCiAJZG1hZGlyX3QJZGlyZWN0aW9uOwkJLyogZG1hIGRpcmVjdGlvbgkJCSovCkBAIC0zNDUsOSArMzQzLDYgQEAKIAogICAgIC8qIGNhcmQgaW5mbyAqLwogICAgIHN0cnVjdCB7Ci0JdW5zaWduZWQgaW50CWlvX2ludHI7CQkvKiBiYXNlIGFkZHJlc3Mgb2YgaW50ZXJydXB0IGlkIHJlZwkqLwotCXVuc2lnbmVkIGludAlpb19wYWdlOwkJLyogYmFzZSBhZGRyZXNzIG9mIHBhZ2UgcmVnCQkqLwotCXVuc2lnbmVkIGludAlpb19yYW07CQkJLyogYmFzZSBhZGRyZXNzIG9mIFJBTSBhY2Nlc3MJCSovCiAJdW5zaWduZWQgY2hhcglwYWdlX3JlZzsJCS8qIGN1cnJlbnQgc2V0dGluZyBvZiBwYWdlIHJlZwkJKi8KICAgICB9IGNhcmQ7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9jaC5jIGIvZHJpdmVycy9zY3NpL2NoLmMKaW5kZXggYzRiOTM4Yi4uYWEyMDExYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2NoLmMKKysrIGIvZHJpdmVycy9zY3NpL2NoLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jaGlvLmg+CQkJLyogaGVyZSBhcmUgYWxsIHRoZSBpb2N0bHMgKi8KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L2lkci5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtNTcxLDE2ICs1NzIsMTkgQEAKIAlzY3NpX2NoYW5nZXIgKmNoOwogCWludCBtaW5vciA9IGltaW5vcihpbm9kZSk7CiAKKwlsb2NrX2tlcm5lbCgpOwogCXNwaW5fbG9jaygmY2hfaW5kZXhfbG9jayk7CiAJY2ggPSBpZHJfZmluZCgmY2hfaW5kZXhfaWRyLCBtaW5vcik7CiAKIAlpZiAoTlVMTCA9PSBjaCB8fCBzY3NpX2RldmljZV9nZXQoY2gtPmRldmljZSkpIHsKIAkJc3Bpbl91bmxvY2soJmNoX2luZGV4X2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCXNwaW5fdW5sb2NrKCZjaF9pbmRleF9sb2NrKTsKIAogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGNoOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2RwdF9pMm8uYyBiL2RyaXZlcnMvc2NzaS9kcHRfaTJvLmMKaW5kZXggODUwODgxNi4uMmJjMzBlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2RwdF9pMm8uYworKysgYi9kcml2ZXJzL3Njc2kvZHB0X2kyby5jCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CS8qIGZvciBwcmludGsgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3JlYm9vdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogCkBAIC0xNzI3LDEwICsxNzI4LDEyIEBACiAJaW50IG1pbm9yOwogCWFkcHRfaGJhKiBwSGJhOwogCisJbG9ja19rZXJuZWwoKTsKIAkvL1RPRE8gY2hlY2sgZm9yIHJvb3QgYWNjZXNzCiAJLy8KIAltaW5vciA9IGltaW5vcihpbm9kZSk7CiAJaWYgKG1pbm9yID49IGhiYV9jb3VudCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCW11dGV4X2xvY2soJmFkcHRfY29uZmlndXJhdGlvbl9sb2NrKTsKQEAgLTE3NDEsNiArMTc0NCw3IEBACiAJfQogCWlmIChwSGJhID09IE5VTEwpIHsKIAkJbXV0ZXhfdW5sb2NrKCZhZHB0X2NvbmZpZ3VyYXRpb25fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKIAl9CiAKQEAgLTE3NTEsNiArMTc1NSw3IEBACiAKIAlwSGJhLT5pbl91c2UgPSAxOwogCW11dGV4X3VubG9jaygmYWRwdF9jb25maWd1cmF0aW9uX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2dkdGguYyBiL2RyaXZlcnMvc2NzaS9nZHRoLmMKaW5kZXggNDY3NzFkNC4uODIyZDUyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2dkdGguYworKysgYi9kcml2ZXJzL3Njc2kvZ2R0aC5jCkBAIC0xMjAsNiArMTIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC90aW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpZmRlZiBHRFRIX1JUQwogI2luY2x1ZGUgPGxpbnV4L21jMTQ2ODE4cnRjLmg+CkBAIC00MDE5LDEwICs0MDIwLDEyIEBACiB7CiAgICAgZ2R0aF9oYV9zdHIgKmhhOwogCisgICAgbG9ja19rZXJuZWwoKTsKICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGhhLCAmZ2R0aF9pbnN0YW5jZXMsIGxpc3QpIHsKICAgICAgICAgaWYgKCFoYS0+c2RldikKICAgICAgICAgICAgIGhhLT5zZGV2ID0gc2NzaV9nZXRfaG9zdF9kZXYoaGEtPnNob3N0KTsKICAgICB9CisgICAgdW5sb2NrX2tlcm5lbCgpOwogCiAgICAgVFJBQ0UoKCJnZHRoX29wZW4oKVxuIikpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL2lkZS1zY3NpLmMgYi9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYwppbmRleCA0NGQ4ZDUxLi42ODNiY2UzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYworKysgYi9kcml2ZXJzL3Njc2kvaWRlLXNjc2kuYwpAQCAtNjAsNiArNjAsMTMgQEAKIAogI2RlZmluZSBJREVTQ1NJX0RFQlVHX0xPRwkJMAogCisjaWYgSURFU0NTSV9ERUJVR19MT0cKKyNkZWZpbmUgZGVidWdfbG9nKGZtdCwgYXJncy4uLikgXAorCXByaW50ayhLRVJOX0lORk8gImlkZS1zY3NpOiAiIGZtdCwgIyMgYXJncykKKyNlbHNlCisjZGVmaW5lIGRlYnVnX2xvZyhmbXQsIGFyZ3MuLi4pIGRvIHt9IHdoaWxlICgwKQorI2VuZGlmCisKIC8qCiAgKglTQ1NJIGNvbW1hbmQgdHJhbnNmb3JtYXRpb24gbGF5ZXIKICAqLwpAQCAtMTI5LDE0ICsxMzYsMTUgQEAKICNkZWZpbmUgSURFU0NTSV9QQ19SUQkJCTkwCiAKIC8qCi0gKglQSU8gZGF0YSB0cmFuc2ZlciByb3V0aW5lcyB1c2luZyB0aGUgc2NhdHRlciBnYXRoZXIgdGFibGUuCisgKglQSU8gZGF0YSB0cmFuc2ZlciByb3V0aW5lIHVzaW5nIHRoZSBzY2F0dGVyIGdhdGhlciB0YWJsZS4KICAqLwotc3RhdGljIHZvaWQgaWRlc2NzaV9pbnB1dF9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBiY291bnQpCitzdGF0aWMgdm9pZCBpZGVfc2NzaV9pb19idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCisJCQkJdW5zaWduZWQgaW50IGJjb3VudCwgaW50IHdyaXRlKQogewogCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQlpbnQgY291bnQ7CisJeGZlcl9mdW5jX3QgKnhmID0gd3JpdGUgPyBod2lmLT5vdXRwdXRfZGF0YSA6IGh3aWYtPmlucHV0X2RhdGE7CiAJY2hhciAqYnVmOworCWludCBjb3VudDsKIAogCXdoaWxlIChiY291bnQpIHsKIAkJY291bnQgPSBtaW4ocGMtPnNnLT5sZW5ndGggLSBwYy0+Yl9jb3VudCwgYmNvdW50KTsKQEAgLTE0NSwxMyArMTUzLDEzIEBACiAKIAkJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKIAkJCWJ1ZiA9IGttYXBfYXRvbWljKHNnX3BhZ2UocGMtPnNnKSwgS01fSVJRMCkgKwotCQkJCQlwYy0+c2ctPm9mZnNldDsKLQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7CisJCQkJCSAgcGMtPnNnLT5vZmZzZXQ7CisJCQl4Zihkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKIAkJCWt1bm1hcF9hdG9taWMoYnVmIC0gcGMtPnNnLT5vZmZzZXQsIEtNX0lSUTApOwogCQkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogCQl9IGVsc2UgewogCQkJYnVmID0gc2dfdmlydChwYy0+c2cpOwotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgYnVmICsgcGMtPmJfY291bnQsIGNvdW50KTsKKwkJCXhmKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwogCQl9CiAJCWJjb3VudCAtPSBjb3VudDsgcGMtPmJfY291bnQgKz0gY291bnQ7CiAJCWlmIChwYy0+Yl9jb3VudCA9PSBwYy0+c2ctPmxlbmd0aCkgewpAQCAtMTYzLDQ1ICsxNzEsMTAgQEAKIAl9CiAKIAlpZiAoYmNvdW50KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgImlkZS1zY3NpOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsIGRpc2NhcmRpbmcgZGF0YVxuIik7Ci0JCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDAsIGJjb3VudCk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBpZGVzY3NpX291dHB1dF9idWZmZXJzKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMsCi0JCXVuc2lnbmVkIGludCBiY291bnQpCi17Ci0JaWRlX2h3aWZfdCAqaHdpZiA9IGRyaXZlLT5od2lmOwotCWludCBjb3VudDsKLQljaGFyICpidWY7Ci0KLQl3aGlsZSAoYmNvdW50KSB7Ci0JCWNvdW50ID0gbWluKHBjLT5zZy0+bGVuZ3RoIC0gcGMtPmJfY291bnQsIGJjb3VudCk7Ci0JCWlmIChQYWdlSGlnaE1lbShzZ19wYWdlKHBjLT5zZykpKSB7Ci0JCQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JCQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JCQlidWYgPSBrbWFwX2F0b21pYyhzZ19wYWdlKHBjLT5zZyksIEtNX0lSUTApICsKLQkJCQkJCXBjLT5zZy0+b2Zmc2V0OwotCQkJaHdpZi0+b3V0cHV0X2RhdGEoZHJpdmUsIE5VTEwsIGJ1ZiArIHBjLT5iX2NvdW50LCBjb3VudCk7Ci0JCQlrdW5tYXBfYXRvbWljKGJ1ZiAtIHBjLT5zZy0+b2Zmc2V0LCBLTV9JUlEwKTsKLQkJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKLQkJfSBlbHNlIHsKLQkJCWJ1ZiA9IHNnX3ZpcnQocGMtPnNnKTsKLQkJCWh3aWYtPm91dHB1dF9kYXRhKGRyaXZlLCBOVUxMLCBidWYgKyBwYy0+Yl9jb3VudCwgY291bnQpOwotCQl9Ci0JCWJjb3VudCAtPSBjb3VudDsgcGMtPmJfY291bnQgKz0gY291bnQ7Ci0JCWlmIChwYy0+Yl9jb3VudCA9PSBwYy0+c2ctPmxlbmd0aCkgewotCQkJaWYgKCEtLXBjLT5zZ19jbnQpCi0JCQkJYnJlYWs7Ci0JCQlwYy0+c2cgPSBzZ19uZXh0KHBjLT5zZyk7Ci0JCQlwYy0+Yl9jb3VudCA9IDA7Ci0JCX0KLQl9Ci0KLQlpZiAoYmNvdW50KSB7Ci0JCXByaW50ayAoS0VSTl9FUlIgImlkZS1zY3NpOiBzY2F0dGVyIGdhdGhlciB0YWJsZSB0b28gc21hbGwsIHBhZGRpbmcgd2l0aCB6ZXJvc1xuIik7Ci0JCWlkZV9wYWRfdHJhbnNmZXIoZHJpdmUsIDEsIGJjb3VudCk7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IHNjYXR0ZXIgZ2F0aGVyIHRhYmxlIHRvbyBzbWFsbCwgJXNcbiIsCisJCQkJZHJpdmUtPm5hbWUsIHdyaXRlID8gInBhZGRpbmcgd2l0aCB6ZXJvcyIKKwkJCQkJCSAgIDogImRpc2NhcmRpbmcgZGF0YSIpOworCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCB3cml0ZSwgYmNvdW50KTsKIAl9CiB9CiAKQEAgLTIxMCw2ICsxODMsMjQgQEAKIAlwcmludF9oZXhfZHVtcChLRVJOX0NPTlQsICIiLCBEVU1QX1BSRUZJWF9OT05FLCAxNiwgMSwgZGF0YSwgbGVuLCAwKTsKIH0KIAorc3RhdGljIGludCBpZGVzY3NpX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICosIGludCwgaW50KTsKKworc3RhdGljIHZvaWQgaWRlX3Njc2lfY2FsbGJhY2soaWRlX2RyaXZlX3QgKmRyaXZlKQoreworCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CisJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKKworCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX1RJTUVET1VUKQorCQlkZWJ1Z19sb2coIiVzOiBnb3QgdGltZWQgb3V0IHBhY2tldCAlbHUgYXQgJWx1XG4iLCBfX2Z1bmNfXywKKwkJCSAgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKKwkJLyogZW5kIHRoaXMgcmVxdWVzdCBub3cgLSBzY3NpIHNob3VsZCByZXRyeSBpdCovCisJZWxzZSBpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkKKwkJcHJpbnRrKEtFUk5fSU5GTyAiUGFja2V0IGNvbW1hbmQgY29tcGxldGVkLCAlZCBieXRlcyIKKwkJCQkgIiB0cmFuc2ZlcnJlZFxuIiwgcGMtPnhmZXJyZWQpOworCisJaWRlc2NzaV9lbmRfcmVxdWVzdChkcml2ZSwgMSwgMCk7Cit9CisKIHN0YXRpYyBpbnQgaWRlc2NzaV9jaGVja19jb25kaXRpb24oaWRlX2RyaXZlX3QgKmRyaXZlLAogCQlzdHJ1Y3QgcmVxdWVzdCAqZmFpbGVkX2NtZCkKIHsKQEAgLTIyOCwxNCArMjE5LDE2IEBACiAJCWtmcmVlKHBjKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlkZV9pbml0X2RyaXZlX2NtZChycSk7CisJYmxrX3JxX2luaXQoTlVMTCwgcnEpOwogCXJxLT5zcGVjaWFsID0gKGNoYXIgKikgcGM7CiAJcGMtPnJxID0gcnE7CiAJcGMtPmJ1ZiA9IGJ1ZjsKIAlwYy0+Y1swXSA9IFJFUVVFU1RfU0VOU0U7CiAJcGMtPmNbNF0gPSBwYy0+cmVxX3hmZXIgPSBwYy0+YnVmX3NpemUgPSBTQ1NJX1NFTlNFX0JVRkZFUlNJWkU7CiAJcnEtPmNtZF90eXBlID0gUkVRX1RZUEVfU0VOU0U7CisJcnEtPmNtZF9mbGFncyB8PSBSRVFfUFJFRU1QVDsKIAlwYy0+dGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1JFQURZOworCXBjLT5jYWxsYmFjayA9IGlkZV9zY3NpX2NhbGxiYWNrOwogCS8qIE5PVEUhIFNhdmUgdGhlIGZhaWxlZCBwYWNrZXQgY29tbWFuZCBpbiAicnEtPmJ1ZmZlciIgKi8KIAlycS0+YnVmZmVyID0gKHZvaWQgKikgZmFpbGVkX2NtZC0+c3BlY2lhbDsKIAlwYy0+c2NzaV9jbWQgPSAoKHN0cnVjdCBpZGVfYXRhcGlfcGMgKikgZmFpbGVkX2NtZC0+c3BlY2lhbCktPnNjc2lfY21kOwpAQCAtMjQ0LDExICsyMzcsMTAgQEAKIAkJaWRlX3Njc2lfaGV4X2R1bXAocGMtPmMsIDYpOwogCX0KIAlycS0+cnFfZGlzayA9IHNjc2ktPmRpc2s7Ci0JcmV0dXJuIGlkZV9kb19kcml2ZV9jbWQoZHJpdmUsIHJxLCBpZGVfcHJlZW1wdCk7CisJaWRlX2RvX2RyaXZlX2NtZChkcml2ZSwgcnEpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGlkZXNjc2lfZW5kX3JlcXVlc3QoaWRlX2RyaXZlX3QgKiwgaW50LCBpbnQpOwotCiBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90CiBpZGVzY3NpX2F0YXBpX2Vycm9yKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCB1OCBzdGF0LCB1OCBlcnIpCiB7CkBAIC0yNTYsNyArMjQ4LDcgQEAKIAogCWlmIChpZGVfcmVhZF9zdGF0dXMoZHJpdmUpICYgKEJVU1lfU1RBVCB8IERSUV9TVEFUKSkKIAkJLyogZm9yY2UgYW4gYWJvcnQgKi8KLQkJaHdpZi0+T1VUQlNZTkMoZHJpdmUsIFdJTl9JRExFSU1NRURJQVRFLAorCQlod2lmLT5PVVRCU1lOQyhod2lmLCBXSU5fSURMRUlNTUVESUFURSwKIAkJCSAgICAgICBod2lmLT5pb19wb3J0cy5jb21tYW5kX2FkZHIpOwogCiAJcnEtPmVycm9ycysrOwpAQCAtMjY5LDEwICsyNjEsOSBAQAogc3RhdGljIGlkZV9zdGFydHN0b3BfdAogaWRlc2NzaV9hdGFwaV9hYm9ydChpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCByZXF1ZXN0ICpycSkKIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfYXRhcGlfYWJvcnQgY2FsbGVkIGZvciAlbHVcbiIsCisJZGVidWdfbG9nKCIlcyBjYWxsZWQgZm9yICVsdVxuIiwgX19mdW5jX18sCiAJCSgoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBycS0+c3BlY2lhbCktPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyKTsKLSNlbmRpZgorCiAJcnEtPmVycm9ycyB8PSBFUlJPUl9NQVg7CiAKIAlpZGVzY3NpX2VuZF9yZXF1ZXN0KGRyaXZlLCAwLCAwKTsKQEAgLTM1MSw5ICszNDIsOSBAQAogCWlkZXNjc2lfc2NzaV90ICpzY3NpID0gZHJpdmVfdG9faWRlc2NzaShkcml2ZSk7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAgICpwYyAgID0gc2NzaS0+cGM7CiAKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayhLRVJOX1dBUk5JTkcgImlkZXNjc2lfZXhwaXJ5IGNhbGxlZCBmb3IgJWx1IGF0ICVsdVxuIiwgcGMtPnNjc2lfY21kLT5zZXJpYWxfbnVtYmVyLCBqaWZmaWVzKTsKLSNlbmRpZgorCWRlYnVnX2xvZygiJXMgY2FsbGVkIGZvciAlbHUgYXQgJWx1XG4iLCBfX2Z1bmNfXywKKwkJICBwYy0+c2NzaV9jbWQtPnNlcmlhbF9udW1iZXIsIGppZmZpZXMpOworCiAJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfVElNRURPVVQ7CiAKIAlyZXR1cm4gMDsJCQkJCS8qIHdlIGRvIG5vdCB3YW50IHRoZSBpZGUgc3Vic3lzdGVtIHRvIHJldHJ5ICovCkBAIC0zNjUsMTQxICszNTYsMTkgQEAKIHN0YXRpYyBpZGVfc3RhcnRzdG9wX3QgaWRlc2NzaV9wY19pbnRyIChpZGVfZHJpdmVfdCAqZHJpdmUpCiB7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMgPSBzY3NpLT5wYzsKLQlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBwYy0+cnE7Ci0JdW5zaWduZWQgaW50IHRlbXA7Ci0JdTE2IGJjb3VudDsKLQl1OCBzdGF0LCBpcmVhc29uOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKLQlwcmludGsgKEtFUk5fSU5GTyAiaWRlLXNjc2k6IFJlYWNoZWQgaWRlc2NzaV9wY19pbnRyIGludGVycnVwdCBoYW5kbGVyXG4iKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLwotCi0JaWYgKHBjLT5mbGFncyAmIFBDX0ZMQUdfVElNRURPVVQpIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQlwcmludGsoS0VSTl9XQVJOSU5HICJpZGVzY3NpX3BjX2ludHI6IGdvdCB0aW1lZCBvdXQgcGFja2V0ICAlbHUgYXQgJWx1XG4iLAotCQkJCXBjLT5zY3NpX2NtZC0+c2VyaWFsX251bWJlciwgamlmZmllcyk7Ci0jZW5kaWYKLQkJLyogZW5kIHRoaXMgcmVxdWVzdCBub3cgLSBzY3NpIHNob3VsZCByZXRyeSBpdCovCi0JCWlkZXNjc2lfZW5kX3JlcXVlc3QgKGRyaXZlLCAxLCAwKTsKLQkJcmV0dXJuIGlkZV9zdG9wcGVkOwotCX0KLQlpZiAocGMtPmZsYWdzICYgUENfRkxBR19ETUFfSU5fUFJPR1JFU1MpIHsKLQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX0RNQV9JTl9QUk9HUkVTUzsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQlwcmludGsgKCJpZGUtc2NzaTogJXM6IERNQSBjb21wbGV0ZVxuIiwgZHJpdmUtPm5hbWUpOwotI2VuZGlmIC8qIElERVNDU0lfREVCVUdfTE9HICovCi0JCXBjLT54ZmVycmVkID0gcGMtPnJlcV94ZmVyOwotCQkodm9pZClod2lmLT5kbWFfb3BzLT5kbWFfZW5kKGRyaXZlKTsKLQl9Ci0KLQkvKiBDbGVhciB0aGUgaW50ZXJydXB0ICovCi0Jc3RhdCA9IGlkZV9yZWFkX3N0YXR1cyhkcml2ZSk7Ci0KLQlpZiAoKHN0YXQgJiBEUlFfU1RBVCkgPT0gMCkgewotCQkvKiBObyBtb3JlIGludGVycnVwdHMgKi8KLQkJaWYgKHRlc3RfYml0KElERVNDU0lfTE9HX0NNRCwgJnNjc2ktPmxvZykpCi0JCQlwcmludGsoS0VSTl9JTkZPICJQYWNrZXQgY29tbWFuZCBjb21wbGV0ZWQsICVkIGJ5dGVzIgotCQkJCQkiIHRyYW5zZmVycmVkXG4iLCBwYy0+eGZlcnJlZCk7Ci0JCWxvY2FsX2lycV9lbmFibGVfaW5faGFyZGlycSgpOwotCQlpZiAoc3RhdCAmIEVSUl9TVEFUKQotCQkJcnEtPmVycm9ycysrOwotCQlpZGVzY3NpX2VuZF9yZXF1ZXN0IChkcml2ZSwgMSwgMCk7Ci0JCXJldHVybiBpZGVfc3RvcHBlZDsKLQl9Ci0JYmNvdW50ID0gKGh3aWYtPklOQihod2lmLT5pb19wb3J0cy5sYmFoX2FkZHIpIDw8IDgpIHwKLQkJICBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubGJhbV9hZGRyKTsKLQlpcmVhc29uID0gaHdpZi0+SU5CKGh3aWYtPmlvX3BvcnRzLm5zZWN0X2FkZHIpOwotCi0JaWYgKGlyZWFzb24gJiBDRCkgewotCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBDb0QgIT0gMCBpbiBpZGVzY3NpX3BjX2ludHJcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0IChkcml2ZSk7Ci0JfQotCWlmIChpcmVhc29uICYgSU8pIHsKLQkJdGVtcCA9IHBjLT54ZmVycmVkICsgYmNvdW50OwotCQlpZiAodGVtcCA+IHBjLT5yZXFfeGZlcikgewotCQkJaWYgKHRlbXAgPiBwYy0+YnVmX3NpemUpIHsKLQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiBUaGUgc2NzaSB3YW50cyB0byAiCi0JCQkJCSJzZW5kIHVzIG1vcmUgZGF0YSB0aGFuIGV4cGVjdGVkICIKLQkJCQkJIi0gZGlzY2FyZGluZyBkYXRhXG4iKTsKLQkJCQl0ZW1wID0gcGMtPmJ1Zl9zaXplIC0gcGMtPnhmZXJyZWQ7Ci0JCQkJaWYgKHRlbXApIHsKLQkJCQkJcGMtPmZsYWdzICY9IH5QQ19GTEFHX1dSSVRJTkc7Ci0JCQkJCWlmIChwYy0+c2cpCi0JCQkJCQlpZGVzY3NpX2lucHV0X2J1ZmZlcnMoZHJpdmUsIHBjLAotCQkJCQkJCQkJdGVtcCk7Ci0JCQkJCWVsc2UKLQkJCQkJCWh3aWYtPmlucHV0X2RhdGEoZHJpdmUsIE5VTEwsCi0JCQkJCQkJcGMtPmN1cl9wb3MsIHRlbXApOwotCQkJCQlwcmludGsoS0VSTl9FUlIgImlkZS1zY3NpOiB0cmFuc2ZlcnJlZCIKLQkJCQkJCQkiICVkIG9mICVkIGJ5dGVzXG4iLAotCQkJCQkJCXRlbXAsIGJjb3VudCk7Ci0JCQkJfQotCQkJCXBjLT54ZmVycmVkICs9IHRlbXA7Ci0JCQkJcGMtPmN1cl9wb3MgKz0gdGVtcDsKLQkJCQlpZGVfcGFkX3RyYW5zZmVyKGRyaXZlLCAwLCBiY291bnQgLSB0ZW1wKTsKLQkJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZpZGVzY3NpX3BjX2ludHIsIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCQkJCXJldHVybiBpZGVfc3RhcnRlZDsKLQkJCX0KLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCQkJcHJpbnRrIChLRVJOX05PVElDRSAiaWRlLXNjc2k6IFRoZSBzY3NpIHdhbnRzIHRvIHNlbmQgdXMgbW9yZSBkYXRhIHRoYW4gZXhwZWN0ZWQgLSBhbGxvd2luZyB0cmFuc2ZlclxuIik7Ci0jZW5kaWYgLyogSURFU0NTSV9ERUJVR19MT0cgKi8KLQkJfQotCX0KLQlpZiAoaXJlYXNvbiAmIElPKSB7Ci0JCXBjLT5mbGFncyAmPSB+UENfRkxBR19XUklUSU5HOwotCQlpZiAocGMtPnNnKQotCQkJaWRlc2NzaV9pbnB1dF9idWZmZXJzKGRyaXZlLCBwYywgYmNvdW50KTsKLQkJZWxzZQotCQkJaHdpZi0+aW5wdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JfSBlbHNlIHsKLQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfV1JJVElORzsKLQkJaWYgKHBjLT5zZykKLQkJCWlkZXNjc2lfb3V0cHV0X2J1ZmZlcnMoZHJpdmUsIHBjLCBiY291bnQpOwotCQllbHNlCi0JCQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgcGMtPmN1cl9wb3MsIGJjb3VudCk7Ci0JfQotCS8qIFVwZGF0ZSB0aGUgY3VycmVudCBwb3NpdGlvbiAqLwotCXBjLT54ZmVycmVkICs9IGJjb3VudDsKLQlwYy0+Y3VyX3BvcyArPSBiY291bnQ7Ci0KLQkvKiBBbmQgc2V0IHRoZSBpbnRlcnJ1cHQgaGFuZGxlciBhZ2FpbiAqLwotCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJmlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLCBpZGVzY3NpX2V4cGlyeSk7Ci0JcmV0dXJuIGlkZV9zdGFydGVkOworCXJldHVybiBpZGVfcGNfaW50cihkcml2ZSwgcGMsIGlkZXNjc2lfcGNfaW50ciwgZ2V0X3RpbWVvdXQocGMpLAorCQkJICAgaWRlc2NzaV9leHBpcnksIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkgICBpZGVfc2NzaV9pb19idWZmZXJzKTsKIH0KIAogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX3RyYW5zZmVyX3BjKGlkZV9kcml2ZV90ICpkcml2ZSkKIHsKLQlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKLQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYyA9IHNjc2ktPnBjOwotCWlkZV9zdGFydHN0b3BfdCBzdGFydHN0b3A7Ci0JdTggaXJlYXNvbjsKIAotCWlmIChpZGVfd2FpdF9zdGF0KCZzdGFydHN0b3AsZHJpdmUsRFJRX1NUQVQsQlVTWV9TVEFULFdBSVRfUkVBRFkpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiaWRlLXNjc2k6IFN0cmFuZ2UsIHBhY2tldCBjb21tYW5kICIKLQkJCSJpbml0aWF0ZWQgeWV0IERSUSBpc24ndCBhc3NlcnRlZFxuIik7Ci0JCXJldHVybiBzdGFydHN0b3A7Ci0JfQotCWlyZWFzb24gPSBod2lmLT5JTkIoaHdpZi0+aW9fcG9ydHMubnNlY3RfYWRkcik7Ci0JaWYgKChpcmVhc29uICYgQ0QpID09IDAgfHwgKGlyZWFzb24gJiBJTykpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJpZGUtc2NzaTogKElPLENvRCkgIT0gKDAsMSkgd2hpbGUgIgotCQkJCSJpc3N1aW5nIGEgcGFja2V0IGNvbW1hbmRcbiIpOwotCQlyZXR1cm4gaWRlX2RvX3Jlc2V0IChkcml2ZSk7Ci0JfQotCUJVR19PTihIV0dST1VQKGRyaXZlKS0+aGFuZGxlciAhPSBOVUxMKTsKLQkvKiBTZXQgdGhlIGludGVycnVwdCByb3V0aW5lICovCi0JaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmaWRlc2NzaV9wY19pbnRyLCBnZXRfdGltZW91dChwYyksIGlkZXNjc2lfZXhwaXJ5KTsKLQotCS8qIFNlbmQgdGhlIGFjdHVhbCBwYWNrZXQgKi8KLQlod2lmLT5vdXRwdXRfZGF0YShkcml2ZSwgTlVMTCwgc2NzaS0+cGMtPmMsIDEyKTsKLQotCWlmIChwYy0+ZmxhZ3MgJiBQQ19GTEFHX0RNQV9PSykgewotCQlwYy0+ZmxhZ3MgfD0gUENfRkxBR19ETUFfSU5fUFJPR1JFU1M7Ci0JCWh3aWYtPmRtYV9vcHMtPmRtYV9zdGFydChkcml2ZSk7Ci0JfQotCXJldHVybiBpZGVfc3RhcnRlZDsKKwlyZXR1cm4gaWRlX3RyYW5zZmVyX3BjKGRyaXZlLCBzY3NpLT5wYywgaWRlc2NzaV9wY19pbnRyLAorCQkJICAgICAgIGdldF90aW1lb3V0KHNjc2ktPnBjKSwgaWRlc2NzaV9leHBpcnkpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBpZGVzY3NpX3NldF9kaXJlY3Rpb24oc3RydWN0IGlkZV9hdGFwaV9wYyAqcGMpCkBAIC01NDUsMzggKzQxNCwxMiBAQAogCQlzdHJ1Y3QgaWRlX2F0YXBpX3BjICpwYykKIHsKIAlpZGVzY3NpX3Njc2lfdCAqc2NzaSA9IGRyaXZlX3RvX2lkZXNjc2koZHJpdmUpOwotCWlkZV9od2lmX3QgKmh3aWYgPSBkcml2ZS0+aHdpZjsKLQl1MTYgYmNvdW50OwotCXU4IGRtYSA9IDA7CiAKIAkvKiBTZXQgdGhlIGN1cnJlbnQgcGFja2V0IGNvbW1hbmQgKi8KIAlzY3NpLT5wYyA9IHBjOwotCS8qIFdlIGhhdmVuJ3QgdHJhbnNmZXJyZWQgYW55IGRhdGEgeWV0ICovCi0JcGMtPnhmZXJyZWQgPSAwOwotCXBjLT5jdXJfcG9zID0gcGMtPmJ1ZjsKLQkvKiBSZXF1ZXN0IHRvIHRyYW5zZmVyIHRoZSBlbnRpcmUgYnVmZmVyIGF0IG9uY2UgKi8KLQliY291bnQgPSBtaW4ocGMtPnJlcV94ZmVyLCA2MyAqIDEwMjQpOwogCi0JaWYgKGRyaXZlLT51c2luZ19kbWEgJiYgIWlkZXNjc2lfbWFwX3NnKGRyaXZlLCBwYykpIHsKLQkJaHdpZi0+c2dfbWFwcGVkID0gMTsKLQkJZG1hID0gIWh3aWYtPmRtYV9vcHMtPmRtYV9zZXR1cChkcml2ZSk7Ci0JCWh3aWYtPnNnX21hcHBlZCA9IDA7Ci0JfQotCi0JaWRlX3BrdGNtZF90Zl9sb2FkKGRyaXZlLCBJREVfVEZMQUdfTk9fU0VMRUNUX01BU0ssIGJjb3VudCwgZG1hKTsKLQotCWlmIChkbWEpCi0JCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKLQotCWlmICh0ZXN0X2JpdChJREVTQ1NJX0RSUV9JTlRFUlJVUFQsICZzY3NpLT5mbGFncykpIHsKLQkJaWRlX2V4ZWN1dGVfY29tbWFuZChkcml2ZSwgV0lOX1BBQ0tFVENNRCwgJmlkZXNjc2lfdHJhbnNmZXJfcGMsCi0JCQkJICAgIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwotCQlyZXR1cm4gaWRlX3N0YXJ0ZWQ7Ci0JfSBlbHNlIHsKLQkJLyogSXNzdWUgdGhlIHBhY2tldCBjb21tYW5kICovCi0JCWlkZV9leGVjdXRlX3BrdF9jbWQoZHJpdmUpOwotCQlyZXR1cm4gaWRlc2NzaV90cmFuc2Zlcl9wYyhkcml2ZSk7Ci0JfQorCXJldHVybiBpZGVfaXNzdWVfcGMoZHJpdmUsIHBjLCBpZGVzY3NpX3RyYW5zZmVyX3BjLAorCQkJICAgIGdldF90aW1lb3V0KHBjKSwgaWRlc2NzaV9leHBpcnkpOwogfQogCiAvKgpAQCAtNTg0LDE0ICs0MjcsMjIgQEAKICAqLwogc3RhdGljIGlkZV9zdGFydHN0b3BfdCBpZGVzY3NpX2RvX3JlcXVlc3QgKGlkZV9kcml2ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKnJxLCBzZWN0b3JfdCBibG9jaykKIHsKLSNpZiBJREVTQ1NJX0RFQlVHX0xPRwotCXByaW50ayAoS0VSTl9JTkZPICJkZXY6ICVzLCBjbWQ6ICV4LCBlcnJvcnM6ICVkXG4iLCBycS0+cnFfZGlzay0+ZGlza19uYW1lLHJxLT5jbWRbMF0scnEtPmVycm9ycyk7Ci0JcHJpbnRrIChLRVJOX0lORk8gInNlY3RvcjogJWxkLCBucl9zZWN0b3JzOiAlbGQsIGN1cnJlbnRfbnJfc2VjdG9yczogJWRcbiIscnEtPnNlY3RvcixycS0+bnJfc2VjdG9ycyxycS0+Y3VycmVudF9ucl9zZWN0b3JzKTsKLSNlbmRpZiAvKiBJREVTQ1NJX0RFQlVHX0xPRyAqLworCWRlYnVnX2xvZygiZGV2OiAlcywgY21kOiAleCwgZXJyb3JzOiAlZFxuIiwgcnEtPnJxX2Rpc2stPmRpc2tfbmFtZSwKKwkJICBycS0+Y21kWzBdLCBycS0+ZXJyb3JzKTsKKwlkZWJ1Z19sb2coInNlY3RvcjogJWxkLCBucl9zZWN0b3JzOiAlbGQsIGN1cnJlbnRfbnJfc2VjdG9yczogJWRcbiIsCisJCSAgcnEtPnNlY3RvciwgcnEtPm5yX3NlY3RvcnMsIHJxLT5jdXJyZW50X25yX3NlY3RvcnMpOwogCiAJaWYgKGJsa19zZW5zZV9yZXF1ZXN0KHJxKSB8fCBibGtfc3BlY2lhbF9yZXF1ZXN0KHJxKSkgewotCQlyZXR1cm4gaWRlc2NzaV9pc3N1ZV9wYyhkcml2ZSwKLQkJCQkoc3RydWN0IGlkZV9hdGFwaV9wYyAqKSBycS0+c3BlY2lhbCk7CisJCXN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjID0gKHN0cnVjdCBpZGVfYXRhcGlfcGMgKilycS0+c3BlY2lhbDsKKwkJaWRlc2NzaV9zY3NpX3QgKnNjc2kgPSBkcml2ZV90b19pZGVzY3NpKGRyaXZlKTsKKworCQlpZiAodGVzdF9iaXQoSURFU0NTSV9EUlFfSU5URVJSVVBULCAmc2NzaS0+ZmxhZ3MpKQorCQkJcGMtPmZsYWdzIHw9IFBDX0ZMQUdfRFJRX0lOVEVSUlVQVDsKKworCQlpZiAoZHJpdmUtPnVzaW5nX2RtYSAmJiAhaWRlc2NzaV9tYXBfc2coZHJpdmUsIHBjKSkKKwkJCXBjLT5mbGFncyB8PSBQQ19GTEFHX0RNQV9PSzsKKworCQlyZXR1cm4gaWRlc2NzaV9pc3N1ZV9wYyhkcml2ZSwgcGMpOwogCX0KIAlibGtfZHVtcF9ycV9mbGFncyhycSwgImlkZS1zY3NpOiB1bnN1cCBjb21tYW5kIik7CiAJaWRlc2NzaV9lbmRfcmVxdWVzdCAoZHJpdmUsIDAsIDApOwpAQCAtNjQ2LDYgKzQ5Nyw4IEBACiAJcHV0X2Rpc2soZyk7CiAKIAlpZGVfc2NzaV9wdXQoc2NzaSk7CisKKwlkcml2ZS0+c2NzaSA9IDA7CiB9CiAKIHN0YXRpYyBpbnQgaWRlX3Njc2lfcHJvYmUoaWRlX2RyaXZlX3QgKik7CkBAIC03NjUsNiArNjE4LDggQEAKIAogCW1lbXNldCAocGMtPmMsIDAsIDEyKTsKIAlwYy0+ZmxhZ3MgPSAwOworCWlmIChjbWQtPnNjX2RhdGFfZGlyZWN0aW9uID09IERNQV9UT19ERVZJQ0UpCisJCXBjLT5mbGFncyB8PSBQQ19GTEFHX1dSSVRJTkc7CiAJcGMtPnJxID0gcnE7CiAJbWVtY3B5IChwYy0+YywgY21kLT5jbW5kLCBjbWQtPmNtZF9sZW4pOwogCXBjLT5idWYgPSBOVUxMOwpAQCAtNzc1LDYgKzYzMCw3IEBACiAJcGMtPnNjc2lfY21kID0gY21kOwogCXBjLT5kb25lID0gZG9uZTsKIAlwYy0+dGltZW91dCA9IGppZmZpZXMgKyBjbWQtPnRpbWVvdXRfcGVyX2NvbW1hbmQ7CisJcGMtPmNhbGxiYWNrID0gaWRlX3Njc2lfY2FsbGJhY2s7CiAKIAlpZiAodGVzdF9iaXQoSURFU0NTSV9MT0dfQ01ELCAmc2NzaS0+bG9nKSkgewogCQlwcmludGsgKCJpZGUtc2NzaTogJXM6IHF1ZSAlbHUsIGNtZCA9ICIsIGRyaXZlLT5uYW1lLCBjbWQtPnNlcmlhbF9udW1iZXIpOwpAQCAtNzg1LDEyICs2NDEsMTEgQEAKIAkJfQogCX0KIAotCWlkZV9pbml0X2RyaXZlX2NtZCAocnEpOworCWJsa19ycV9pbml0KE5VTEwsIHJxKTsKIAlycS0+c3BlY2lhbCA9IChjaGFyICopIHBjOwogCXJxLT5jbWRfdHlwZSA9IFJFUV9UWVBFX1NQRUNJQUw7CiAJc3Bpbl91bmxvY2tfaXJxKGhvc3QtPmhvc3RfbG9jayk7Ci0JcnEtPnJxX2Rpc2sgPSBzY3NpLT5kaXNrOwotCSh2b2lkKSBpZGVfZG9fZHJpdmVfY21kIChkcml2ZSwgcnEsIGlkZV9lbmQpOworCWJsa19leGVjdXRlX3JxX25vd2FpdChkcml2ZS0+cXVldWUsIHNjc2ktPmRpc2ssIHJxLCAwLCBOVUxMKTsKIAlzcGluX2xvY2tfaXJxKGhvc3QtPmhvc3RfbG9jayk7CiAJcmV0dXJuIDA7CiBhYm9ydDoKQEAgLTk4NSw2ICs4NDAsOCBAQAogCSAgICAhKGhvc3QgPSBzY3NpX2hvc3RfYWxsb2MoJmlkZXNjc2lfdGVtcGxhdGUsc2l6ZW9mKGlkZXNjc2lfc2NzaV90KSkpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCWRyaXZlLT5zY3NpID0gMTsKKwogCWcgPSBhbGxvY19kaXNrKDEgPDwgUEFSVE5fQklUUyk7CiAJaWYgKCFnKQogCQlnb3RvIG91dF9ob3N0X3B1dDsKQEAgLTk5MywxMCArODUwLDEwIEBACiAKIAlob3N0LT5tYXhfaWQgPSAxOwogCi0jaWYgSURFU0NTSV9ERUJVR19MT0cKIAlpZiAoZHJpdmUtPmlkLT5sYXN0X2x1bikKLQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczogaWQtPmxhc3RfbHVuPSV1XG4iLCBkcml2ZS0+bmFtZSwgZHJpdmUtPmlkLT5sYXN0X2x1bik7Ci0jZW5kaWYKKwkJZGVidWdfbG9nKCIlczogaWQtPmxhc3RfbHVuPSV1XG4iLCBkcml2ZS0+bmFtZSwKKwkJCSAgZHJpdmUtPmlkLT5sYXN0X2x1bik7CisKIAlpZiAoKGRyaXZlLT5pZC0+bGFzdF9sdW4gJiAweDcpICE9IDcpCiAJCWhvc3QtPm1heF9sdW4gPSAoZHJpdmUtPmlkLT5sYXN0X2x1biAmIDB4NykgKyAxOwogCWVsc2UKQEAgLTEwMjUsNiArODgyLDcgQEAKIAogCXB1dF9kaXNrKGcpOwogb3V0X2hvc3RfcHV0OgorCWRyaXZlLT5zY3NpID0gMDsKIAlzY3NpX2hvc3RfcHV0KGhvc3QpOwogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvaXByLmMgYi9kcml2ZXJzL3Njc2kvaXByLmMKaW5kZXggOTk5ZTkxZS4uZTdhM2E2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL2lwci5jCisrKyBiL2RyaXZlcnMvc2NzaS9pcHIuYwpAQCAtNzEsNiArNzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgvbGliYXRhLmg+CisjaW5jbHVkZSA8bGludXgvaGRyZWcuaD4KICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgpAQCAtNDkxMyw4ICs0OTE0LDExIEBACiAJc3RydWN0IGlwcl9yZXNvdXJjZV9lbnRyeSAqcmVzOwogCiAJcmVzID0gKHN0cnVjdCBpcHJfcmVzb3VyY2VfZW50cnkgKilzZGV2LT5ob3N0ZGF0YTsKLQlpZiAocmVzICYmIGlwcl9pc19nYXRhKHJlcykpCisJaWYgKHJlcyAmJiBpcHJfaXNfZ2F0YShyZXMpKSB7CisJCWlmIChjbWQgPT0gSERJT19HRVRfSURFTlRJVFkpCisJCQlyZXR1cm4gLUVOT1RUWTsKIAkJcmV0dXJuIGF0YV9zY3NpX2lvY3RsKHNkZXYsIGNtZCwgYXJnKTsKKwl9CiAKIAlyZXR1cm4gLUVJTlZBTDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC5jIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMKaW5kZXggMTg1NTFhYS4uMjhjOWRhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wY2kuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPHNjc2kvc2NzaWNhbS5oPgogCiAjaW5jbHVkZSAic2NzaS5oIgpAQCAtMzI3MiwxMiArMzI3MywxMiBAQAogICogQGZpbGVwIC0gdW51c2VkCiAgKgogICogUm91dGluZXMgZm9yIHRoZSBjaGFyYWN0ZXIvaW9jdGwgaW50ZXJmYWNlIHRvIHRoZSBkcml2ZXIuIEZpbmQgb3V0IGlmIHRoaXMKLSAqIGlzIGEgdmFsaWQgb3Blbi4gSWYgeWVzLCBpbmNyZW1lbnQgdGhlIG1vZHVsZSB1c2UgY291bnQgc28gdGhhdCBpdCBjYW5ub3QKLSAqIGJlIHVubG9hZGVkLgorICogaXMgYSB2YWxpZCBvcGVuLiAKICAqLwogc3RhdGljIGludAogbWVnYWRldl9vcGVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZXApCiB7CisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAkvKgogCSAqIE9ubHkgYWxsb3cgc3VwZXJ1c2VyIHRvIGFjY2VzcyBwcml2YXRlIGlvY3RsIGludGVyZmFjZQogCSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX21tLmMgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYwppbmRleCAwYWQyMTVlLi5hYzNiMjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYworKysgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfbW0uYwpAQCAtMTUsNiArMTUsNyBAQAogICogQ29tbW9uIG1hbmFnZW1lbnQgbW9kdWxlCiAgKi8KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSAibWVnYXJhaWRfbW0uaCIKIAogCkBAIC05Niw2ICs5Nyw3IEBACiAJICovCiAJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKSByZXR1cm4gKC1FQUNDRVMpOwogCisJY3ljbGVfa2VybmVsX2xvY2soKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhcy5jCmluZGV4IDdkODRjOGIuLmZjN2FjMTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9tZWdhcmFpZC9tZWdhcmFpZF9zYXMuYworKysgYi9kcml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzLmMKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC91aW8uaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CkBAIC0yODYzLDYgKzI4NjQsNyBAQAogICovCiBzdGF0aWMgaW50IG1lZ2FzYXNfbWdtdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlcCkKIHsKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCS8qCiAJICogQWxsb3cgb25seSB0aG9zZSB1c2VycyB3aXRoIGFkbWluIHJpZ2h0cwogCSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL29zc3QuYyBiL2RyaXZlcnMvc2NzaS9vc3N0LmMKaW5kZXggMjQzZDhiZS4uMWM3OWY5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL29zc3QuYworKysgYi9kcml2ZXJzL3Njc2kvb3NzdC5jCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L2ppZmZpZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KQEAgLTQzNTksNyArNDM2MCw3IEBACiAKIAogLyogT3BlbiB0aGUgZGV2aWNlICovCi1zdGF0aWMgaW50IG9zX3Njc2lfdGFwZV9vcGVuKHN0cnVjdCBpbm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApCitzdGF0aWMgaW50IF9fb3Nfc2NzaV90YXBlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKIHsKIAl1bnNpZ25lZCBzaG9ydAkgICAgICBmbGFnczsKIAlpbnQJCSAgICAgIGksIGJfc2l6ZSwgbmV3X3Nlc3Npb24gPSAwLCByZXR2YWwgPSAwOwpAQCAtNDcyNSw2ICs0NzI2LDE4IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAorLyogQktMIHB1c2hkb3duOiBzcGFnaGV0dGkgYXZvaWRhbmNlIHdyYXBwZXIgKi8KK3N0YXRpYyBpbnQgb3Nfc2NzaV90YXBlX29wZW4oc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBmaWxlICogZmlscCkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX29zX3Njc2lfdGFwZV9vcGVuKGlub2RlLCBmaWxwKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKworCiAKIC8qIEZsdXNoIHRoZSB0YXBlIGJ1ZmZlciBiZWZvcmUgY2xvc2UgKi8KIHN0YXRpYyBpbnQgb3Nfc2NzaV90YXBlX2ZsdXNoKHN0cnVjdCBmaWxlICogZmlscCwgZmxfb3duZXJfdCBpZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zY3NpX2xpYi5jIGIvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMKaW5kZXggYTgyZDJmZS4uY2JmNTVkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMKKysrIGIvZHJpdmVycy9zY3NpL3Njc2lfbGliLmMKQEAgLTIwNyw2ICsyMDcsMTUgQEAKIAkgKi8KIAlibGtfZXhlY3V0ZV9ycShyZXEtPnEsIE5VTEwsIHJlcSwgMSk7CiAKKwkvKgorCSAqIFNvbWUgZGV2aWNlcyAoVVNCIG1hc3Mtc3RvcmFnZSBpbiBwYXJ0aWN1bGFyKSBtYXkgdHJhbnNmZXIKKwkgKiBnYXJiYWdlIGRhdGEgdG9nZXRoZXIgd2l0aCBhIHJlc2lkdWUgaW5kaWNhdGluZyB0aGF0IHRoZSBkYXRhCisJICogaXMgaW52YWxpZC4gIFByZXZlbnQgdGhlIGdhcmJhZ2UgZnJvbSBiZWluZyBtaXNpbnRlcnByZXRlZAorCSAqIGFuZCBwcmV2ZW50IHNlY3VyaXR5IGxlYWtzIGJ5IHplcm9pbmcgb3V0IHRoZSBleGNlc3MgZGF0YS4KKwkgKi8KKwlpZiAodW5saWtlbHkocmVxLT5kYXRhX2xlbiA+IDAgJiYgcmVxLT5kYXRhX2xlbiA8PSBidWZmbGVuKSkKKwkJbWVtc2V0KGJ1ZmZlciArIChidWZmbGVuIC0gcmVxLT5kYXRhX2xlbiksIDAsIHJlcS0+ZGF0YV9sZW4pOworCiAJcmV0ID0gcmVxLT5lcnJvcnM7CiAgb3V0OgogCWJsa19wdXRfcmVxdWVzdChyZXEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3Njc2lfdGd0X2lmLmMgYi9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYwppbmRleCBkMjU1N2RiLi4wZTk1MzNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYworKysgYi9kcml2ZXJzL3Njc2kvc2NzaV90Z3RfaWYuYwpAQCAtMjEsNiArMjEsNyBAQAogICovCiAjaW5jbHVkZSA8bGludXgvbWlzY2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPG5ldC90Y3AuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KICNpbmNsdWRlIDxzY3NpL3Njc2lfY21uZC5oPgpAQCAtMzIxLDYgKzMyMiw3IEBACiB7CiAJdHhfcmluZy50cl9pZHggPSByeF9yaW5nLnRyX2lkeCA9IDA7CiAKKwljeWNsZV9rZXJuZWxfbG9jaygpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2QuYyBiL2RyaXZlcnMvc2NzaS9zZC5jCmluZGV4IDAxY2VmYmIuLmQ1MzMxMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zZC5jCisrKyBiL2RyaXZlcnMvc2NzaS9zZC5jCkBAIC0xMTI0LDYgKzExMjQsOCBAQAogCQkJCWNtZFsxXSA9IDE7CS8qIFJldHVybiBpbW1lZGlhdGVseSAqLwogCQkJCW1lbXNldCgodm9pZCAqKSAmY21kWzJdLCAwLCA4KTsKIAkJCQljbWRbNF0gPSAxOwkvKiBTdGFydCBzcGluIGN5Y2xlICovCisJCQkJaWYgKHNka3AtPmRldmljZS0+c3RhcnRfc3RvcF9wd3JfY29uZCkKKwkJCQkJY21kWzRdIHw9IDEgPDwgNDsKIAkJCQlzY3NpX2V4ZWN1dGVfcmVxKHNka3AtPmRldmljZSwgY21kLCBETUFfTk9ORSwKIAkJCQkJCSBOVUxMLCAwLCAmc3NoZHIsCiAJCQkJCQkgU0RfVElNRU9VVCwgU0RfTUFYX1JFVFJJRVMpOwpAQCAtMTc5MCw2ICsxNzkyLDkgQEAKIAlpZiAoc3RhcnQpCiAJCWNtZFs0XSB8PSAxOwkvKiBTVEFSVCAqLwogCisJaWYgKHNkcC0+c3RhcnRfc3RvcF9wd3JfY29uZCkKKwkJY21kWzRdIHw9IHN0YXJ0ID8gMSA8PCA0IDogMyA8PCA0OwkvKiBBY3RpdmUgb3IgU3RhbmRieSAqLworCiAJaWYgKCFzY3NpX2RldmljZV9vbmxpbmUoc2RwKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zZy5jIGIvZHJpdmVycy9zY3NpL3NnLmMKaW5kZXggZWEwZWRkMS4uZmNjZDJlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3NnLmMKKysrIGIvZHJpdmVycy9zY3NpL3NnLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogI2luY2x1ZGUgPGxpbnV4L3NjYXR0ZXJsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvYmxrdHJhY2VfYXBpLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgInNjc2kuaCIKICNpbmNsdWRlIDxzY3NpL3Njc2lfZGJnLmg+CkBAIC0xODIsOCArMTgzLDkgQEAKIAkJCSBpbnQgdGFibGVzaXplKTsKIHN0YXRpYyBzc2l6ZV90IHNnX25ld19yZWFkKFNnX2ZkICogc2ZwLCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsCiAJCQkgICBTZ19yZXF1ZXN0ICogc3JwKTsKLXN0YXRpYyBzc2l6ZV90IHNnX25ld193cml0ZShTZ19mZCAqIHNmcCwgY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAotCQkJICAgIGludCBibG9ja2luZywgaW50IHJlYWRfb25seSwgU2dfcmVxdWVzdCAqKiBvX3NycCk7CitzdGF0aWMgc3NpemVfdCBzZ19uZXdfd3JpdGUoU2dfZmQgKnNmcCwgc3RydWN0IGZpbGUgKmZpbGUsCisJCQljb25zdCBjaGFyIF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsIGludCBibG9ja2luZywKKwkJCWludCByZWFkX29ubHksIFNnX3JlcXVlc3QgKipvX3NycCk7CiBzdGF0aWMgaW50IHNnX2NvbW1vbl93cml0ZShTZ19mZCAqIHNmcCwgU2dfcmVxdWVzdCAqIHNycCwKIAkJCSAgIHVuc2lnbmVkIGNoYXIgKmNtbmQsIGludCB0aW1lb3V0LCBpbnQgYmxvY2tpbmcpOwogc3RhdGljIGludCBzZ191X2lvdmVjKHNnX2lvX2hkcl90ICogaHAsIGludCBzZ19udW0sIGludCBpbmQsCkBAIC0yMDQsNyArMjA2LDYgQEAKIHN0YXRpYyBTZ19yZXF1ZXN0ICpzZ19hZGRfcmVxdWVzdChTZ19mZCAqIHNmcCk7CiBzdGF0aWMgaW50IHNnX3JlbW92ZV9yZXF1ZXN0KFNnX2ZkICogc2ZwLCBTZ19yZXF1ZXN0ICogc3JwKTsKIHN0YXRpYyBpbnQgc2dfcmVzX2luX3VzZShTZ19mZCAqIHNmcCk7Ci1zdGF0aWMgaW50IHNnX2FsbG93X2FjY2Vzcyh1bnNpZ25lZCBjaGFyIG9wY29kZSwgY2hhciBkZXZfdHlwZSk7CiBzdGF0aWMgaW50IHNnX2J1aWxkX2RpcmVjdChTZ19yZXF1ZXN0ICogc3JwLCBTZ19mZCAqIHNmcCwgaW50IGR4ZmVyX2xlbik7CiBzdGF0aWMgU2dfZGV2aWNlICpzZ19nZXRfZGV2KGludCBkZXYpOwogI2lmZGVmIENPTkZJR19TQ1NJX1BST0NfRlMKQEAgLTIyNywxOSArMjI4LDI2IEBACiAJaW50IHJlczsKIAlpbnQgcmV0dmFsOwogCisJbG9ja19rZXJuZWwoKTsKIAlub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsKIAlTQ1NJX0xPR19USU1FT1VUKDMsIHByaW50aygic2dfb3BlbjogZGV2PSVkLCBmbGFncz0weCV4XG4iLCBkZXYsIGZsYWdzKSk7CiAJc2RwID0gc2dfZ2V0X2RldihkZXYpOwotCWlmICgoIXNkcCkgfHwgKCFzZHAtPmRldmljZSkpCisJaWYgKCghc2RwKSB8fCAoIXNkcC0+ZGV2aWNlKSkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5YSU87Ci0JaWYgKHNkcC0+ZGV0YWNoZWQpCisJfQorCWlmIChzZHAtPmRldGFjaGVkKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CisJfQogCiAJLyogVGhpcyBkcml2ZXIncyBtb2R1bGUgY291bnQgYnVtcGVkIGJ5IGZvcHNfZ2V0IGluIDxsaW51eC9mcy5oPiAqLwogCS8qIFByZXZlbnQgdGhlIGRldmljZSBkcml2ZXIgZnJvbSB2YW5pc2hpbmcgd2hpbGUgd2Ugc2xlZXAgKi8KIAlyZXR2YWwgPSBzY3NpX2RldmljZV9nZXQoc2RwLT5kZXZpY2UpOwotCWlmIChyZXR2YWwpCisJaWYgKHJldHZhbCkgeworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiByZXR2YWw7CisJfQogCiAJaWYgKCEoKGZsYWdzICYgT19OT05CTE9DSykgfHwKIAkgICAgICBzY3NpX2Jsb2NrX3doZW5fcHJvY2Vzc2luZ19lcnJvcnMoc2RwLT5kZXZpY2UpKSkgewpAQCAtMjk1LDEwICszMDMsMTIgQEAKIAkJcmV0dmFsID0gLUVOT01FTTsKIAkJZ290byBlcnJvcl9vdXQ7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogICAgICAgZXJyb3Jfb3V0OgogCXNjc2lfZGV2aWNlX3B1dChzZHAtPmRldmljZSk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXR2YWw7CiB9CiAKQEAgLTU0NCw3ICs1NTQsNyBAQAogCQlyZXR1cm4gLUVGQVVMVDsKIAlibG9ja2luZyA9ICEoZmlscC0+Zl9mbGFncyAmIE9fTk9OQkxPQ0spOwogCWlmIChvbGRfaGRyLnJlcGx5X2xlbiA8IDApCi0JCXJldHVybiBzZ19uZXdfd3JpdGUoc2ZwLCBidWYsIGNvdW50LCBibG9ja2luZywgMCwgTlVMTCk7CisJCXJldHVybiBzZ19uZXdfd3JpdGUoc2ZwLCBmaWxwLCBidWYsIGNvdW50LCBibG9ja2luZywgMCwgTlVMTCk7CiAJaWYgKGNvdW50IDwgKFNaX1NHX0hFQURFUiArIDYpKQogCQlyZXR1cm4gLUVJTzsJLyogVGhlIG1pbmltdW0gc2NzaSBjb21tYW5kIGxlbmd0aCBpcyA2IGJ5dGVzLiAqLwogCkBAIC02MjEsOCArNjMxLDkgQEAKIH0KIAogc3RhdGljIHNzaXplX3QKLXNnX25ld193cml0ZShTZ19mZCAqIHNmcCwgY29uc3QgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAotCSAgICAgaW50IGJsb2NraW5nLCBpbnQgcmVhZF9vbmx5LCBTZ19yZXF1ZXN0ICoqIG9fc3JwKQorc2dfbmV3X3dyaXRlKFNnX2ZkICpzZnAsIHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmLAorCQkgc2l6ZV90IGNvdW50LCBpbnQgYmxvY2tpbmcsIGludCByZWFkX29ubHksCisJCSBTZ19yZXF1ZXN0ICoqb19zcnApCiB7CiAJaW50IGs7CiAJU2dfcmVxdWVzdCAqc3JwOwpAQCAtNjc4LDggKzY4OSw3IEBACiAJCXNnX3JlbW92ZV9yZXF1ZXN0KHNmcCwgc3JwKTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQotCWlmIChyZWFkX29ubHkgJiYKLQkgICAgKCFzZ19hbGxvd19hY2Nlc3MoY21uZFswXSwgc2ZwLT5wYXJlbnRkcC0+ZGV2aWNlLT50eXBlKSkpIHsKKwlpZiAocmVhZF9vbmx5ICYmICFibGtfdmVyaWZ5X2NvbW1hbmQoZmlsZSwgY21uZCkpIHsKIAkJc2dfcmVtb3ZlX3JlcXVlc3Qoc2ZwLCBzcnApOwogCQlyZXR1cm4gLUVQRVJNOwogCX0KQEAgLTc5OSw3ICs4MDksNyBAQAogCQkJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCBwLCBTWl9TR19JT19IRFIpKQogCQkJCXJldHVybiAtRUZBVUxUOwogCQkJcmVzdWx0ID0KLQkJCSAgICBzZ19uZXdfd3JpdGUoc2ZwLCBwLCBTWl9TR19JT19IRFIsCisJCQkgICAgc2dfbmV3X3dyaXRlKHNmcCwgZmlscCwgcCwgU1pfU0dfSU9fSERSLAogCQkJCQkgYmxvY2tpbmcsIHJlYWRfb25seSwgJnNycCk7CiAJCQlpZiAocmVzdWx0IDwgMCkKIAkJCQlyZXR1cm4gcmVzdWx0OwpAQCAtMTA0OCw3ICsxMDU4LDcgQEAKIAogCQkJaWYgKGNvcHlfZnJvbV91c2VyKCZvcGNvZGUsIHNpb2NwLT5kYXRhLCAxKSkKIAkJCQlyZXR1cm4gLUVGQVVMVDsKLQkJCWlmICghc2dfYWxsb3dfYWNjZXNzKG9wY29kZSwgc2RwLT5kZXZpY2UtPnR5cGUpKQorCQkJaWYgKCFibGtfdmVyaWZ5X2NvbW1hbmQoZmlscCwgJm9wY29kZSkpCiAJCQkJcmV0dXJuIC1FUEVSTTsKIAkJfQogCQlyZXR1cm4gc2dfc2NzaV9pb2N0bChmaWxwLCBzZHAtPmRldmljZS0+cmVxdWVzdF9xdWV1ZSwgTlVMTCwgcCk7CkBAIC0yNTAyLDMwICsyNTEyLDYgQEAKIAlfX2ZyZWVfcGFnZXMocGFnZSwgb3JkZXIpOwogfQogCi0jaWZuZGVmIE1BSU5URU5BTkNFX0lOX0NNRAotI2RlZmluZSBNQUlOVEVOQU5DRV9JTl9DTUQgMHhhMwotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGFsbG93X29wc1tdID0geyBURVNUX1VOSVRfUkVBRFksIFJFUVVFU1RfU0VOU0UsCi0JSU5RVUlSWSwgUkVBRF9DQVBBQ0lUWSwgUkVBRF9CVUZGRVIsIFJFQURfNiwgUkVBRF8xMCwgUkVBRF8xMiwKLQlSRUFEXzE2LCBNT0RFX1NFTlNFLCBNT0RFX1NFTlNFXzEwLCBMT0dfU0VOU0UsIFJFUE9SVF9MVU5TLAotCVNFUlZJQ0VfQUNUSU9OX0lOLCBSRUNFSVZFX0RJQUdOT1NUSUMsIFJFQURfTE9ORywgTUFJTlRFTkFOQ0VfSU5fQ01ECi19OwotCi1zdGF0aWMgaW50Ci1zZ19hbGxvd19hY2Nlc3ModW5zaWduZWQgY2hhciBvcGNvZGUsIGNoYXIgZGV2X3R5cGUpCi17Ci0JaW50IGs7Ci0KLQlpZiAoVFlQRV9TQ0FOTkVSID09IGRldl90eXBlKQkvKiBUWVBFX1JPTSBtYXliZSBidXJuZXIgKi8KLQkJcmV0dXJuIDE7Ci0JZm9yIChrID0gMDsgayA8IHNpemVvZiAoYWxsb3dfb3BzKTsgKytrKSB7Ci0JCWlmIChvcGNvZGUgPT0gYWxsb3dfb3BzW2tdKQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCiAjaWZkZWYgQ09ORklHX1NDU0lfUFJPQ19GUwogc3RhdGljIGludAogc2dfaWRyX21heF9pZChpbnQgaWQsIHZvaWQgKnAsIHZvaWQgKmRhdGEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc3IuYyBiL2RyaXZlcnMvc2NzaS9zci5jCmluZGV4IGM4MmRmOGIuLjI3ZjViZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2NzaS9zci5jCisrKyBiL2RyaXZlcnMvc2NzaS9zci5jCkBAIC02NzMsMjQgKzY3MywyMCBAQAogc3RhdGljIHZvaWQgZ2V0X3NlY3RvcnNpemUoc3RydWN0IHNjc2lfY2QgKmNkKQogewogCXVuc2lnbmVkIGNoYXIgY21kWzEwXTsKLQl1bnNpZ25lZCBjaGFyICpidWZmZXI7CisJdW5zaWduZWQgY2hhciBidWZmZXJbOF07CiAJaW50IHRoZV9yZXN1bHQsIHJldHJpZXMgPSAzOwogCWludCBzZWN0b3Jfc2l6ZTsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcXVldWU7CiAKLQlidWZmZXIgPSBrbWFsbG9jKDUxMiwgR0ZQX0tFUk5FTCB8IEdGUF9ETUEpOwotCWlmICghYnVmZmVyKQotCQlnb3RvIEVub21lbTsKLQogCWRvIHsKIAkJY21kWzBdID0gUkVBRF9DQVBBQ0lUWTsKIAkJbWVtc2V0KCh2b2lkICopICZjbWRbMV0sIDAsIDkpOwotCQltZW1zZXQoYnVmZmVyLCAwLCA4KTsKKwkJbWVtc2V0KGJ1ZmZlciwgMCwgc2l6ZW9mKGJ1ZmZlcikpOwogCiAJCS8qIERvIHRoZSBjb21tYW5kIGFuZCB3YWl0Li4gKi8KIAkJdGhlX3Jlc3VsdCA9IHNjc2lfZXhlY3V0ZV9yZXEoY2QtPmRldmljZSwgY21kLCBETUFfRlJPTV9ERVZJQ0UsCi0JCQkJCSAgICAgIGJ1ZmZlciwgOCwgTlVMTCwgU1JfVElNRU9VVCwKLQkJCQkJICAgICAgTUFYX1JFVFJJRVMpOworCQkJCQkgICAgICBidWZmZXIsIHNpemVvZihidWZmZXIpLCBOVUxMLAorCQkJCQkgICAgICBTUl9USU1FT1VULCBNQVhfUkVUUklFUyk7CiAKIAkJcmV0cmllcy0tOwogCkBAIC03NDUsMTQgKzc0MSw4IEBACiAKIAlxdWV1ZSA9IGNkLT5kZXZpY2UtPnJlcXVlc3RfcXVldWU7CiAJYmxrX3F1ZXVlX2hhcmRzZWN0X3NpemUocXVldWUsIHNlY3Rvcl9zaXplKTsKLW91dDoKLQlrZnJlZShidWZmZXIpOwotCXJldHVybjsKIAotRW5vbWVtOgotCWNkLT5jYXBhY2l0eSA9IDB4MWZmZmZmOwotCWNkLT5kZXZpY2UtPnNlY3Rvcl9zaXplID0gMjA0ODsJLyogQSBndWVzcywganVzdCBpbiBjYXNlICovCi0JZ290byBvdXQ7CisJcmV0dXJuOwogfQogCiBzdGF0aWMgdm9pZCBnZXRfY2FwYWJpbGl0aWVzKHN0cnVjdCBzY3NpX2NkICpjZCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2NzaS9zdC5jIGIvZHJpdmVycy9zY3NpL3N0LmMKaW5kZXggNmU1YTViYi4uNDY4NGNjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL3N0LmMKKysrIGIvZHJpdmVycy9zY3NpL3N0LmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlIDxsaW51eC9jZGV2Lmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KQEAgLTExMTMsNyArMTExNCw3IEBACiB9CiAKIAotDC8qIE9wZW4gdGhlIGRldmljZS4gTmVlZHMgdG8gYmUgY2FsbGVkIHdpdGggQktMIG9ubHkgYmVjYXVzZSBvZiBpbmNyZW1lbnRpbmcgdGhlIFNDU0kgaG9zdAorDC8qIE9wZW4gdGhlIGRldmljZS4gTmVlZHMgdG8gdGFrZSB0aGUgQktMIG9ubHkgYmVjYXVzZSBvZiBpbmNyZW1lbnRpbmcgdGhlIFNDU0kgaG9zdAogICAgbW9kdWxlIGNvdW50LiAqLwogc3RhdGljIGludCBzdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQogewpAQCAtMTEyMyw2ICsxMTI0LDcgQEAKIAlpbnQgZGV2ID0gVEFQRV9OUihpbm9kZSk7CiAJY2hhciAqbmFtZTsKIAorCWxvY2tfa2VybmVsKCk7CiAJLyoKIAkgKiBXZSByZWFsbHkgd2FudCB0byBkbyBub25zZWVrYWJsZV9vcGVuKGlub2RlLCBmaWxwKTsgaGVyZSwgYnV0IHNvbWUKIAkgKiB2ZXJzaW9ucyBvZiB0YXIgaW5jb3JyZWN0bHkgY2FsbCBsc2VlayBvbiB0YXBlcyBhbmQgYmFpbCBvdXQgaWYgdGhhdApAQCAtMTEzMCw4ICsxMTMyLDEwIEBACiAJICovCiAJZmlscC0+Zl9tb2RlICY9IH4oRk1PREVfUFJFQUQgfCBGTU9ERV9QV1JJVEUpOwogCi0JaWYgKCEoU1RwID0gc2NzaV90YXBlX2dldChkZXYpKSkKKwlpZiAoIShTVHAgPSBzY3NpX3RhcGVfZ2V0KGRldikpKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTlhJTzsKKwl9CiAKIAl3cml0ZV9sb2NrKCZzdF9kZXZfYXJyX2xvY2spOwogCWZpbHAtPnByaXZhdGVfZGF0YSA9IFNUcDsKQEAgLTExNDAsNiArMTE0NCw3IEBACiAJaWYgKFNUcC0+aW5fdXNlKSB7CiAJCXdyaXRlX3VubG9jaygmc3RfZGV2X2Fycl9sb2NrKTsKIAkJc2NzaV90YXBlX3B1dChTVHApOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCURFQiggcHJpbnRrKFNUX0RFQl9NU0cgIiVzOiBEZXZpY2UgYWxyZWFkeSBpbiB1c2UuXG4iLCBuYW1lKTsgKQogCQlyZXR1cm4gKC1FQlVTWSk7CiAJfQpAQCAtMTE4OCwxMiArMTE5MywxNCBAQAogCQkJcmV0dmFsID0gKC1FSU8pOwogCQlnb3RvIGVycl9vdXQ7CiAJfQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gMDsKIAogIGVycl9vdXQ6CiAJbm9ybWFsaXplX2J1ZmZlcihTVHAtPmJ1ZmZlcik7CiAJU1RwLT5pbl91c2UgPSAwOwogCXNjc2lfdGFwZV9wdXQoU1RwKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldHZhbDsKIAogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvODI1MC5jIGIvZHJpdmVycy9zZXJpYWwvODI1MC5jCmluZGV4IDFiYzAwYjcuLmJlOTVlNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsLzgyNTAuYworKysgYi9kcml2ZXJzL3NlcmlhbC84MjUwLmMKQEAgLTI2MjMsNiArMjYyMyw5IEBACiAKIHN0YXRpYyBpbnQgX19pbml0IHNlcmlhbDgyNTBfY29uc29sZV9pbml0KHZvaWQpCiB7CisJaWYgKG5yX3VhcnRzID4gVUFSVF9OUikKKwkJbnJfdWFydHMgPSBVQVJUX05SOworCiAJc2VyaWFsODI1MF9pc2FfaW5pdF9wb3J0cygpOwogCXJlZ2lzdGVyX2NvbnNvbGUoJnNlcmlhbDgyNTBfY29uc29sZSk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9LY29uZmlnIGIvZHJpdmVycy9zZXJpYWwvS2NvbmZpZwppbmRleCA5YmM0Mjc2Li4xOGNhOTA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NlcmlhbC9LY29uZmlnCisrKyBiL2RyaXZlcnMvc2VyaWFsL0tjb25maWcKQEAgLTQ0OCwyMiArNDQ4LDI3IEBACiAJICB5b3VyIGJvb3QgbG9hZGVyIChsaWxvIG9yIGxvYWRsaW4pIGFib3V0IGhvdyB0byBwYXNzIG9wdGlvbnMgdG8gdGhlCiAJICBrZXJuZWwgYXQgYm9vdCB0aW1lLikKIAotY29uZmlnIFNFUklBTF9TM0MyNDEwCi0JdHJpc3RhdGUgIlNhbXN1bmcgUzNDMjQxMC9TM0MyNDQwL1MzQzI0NDIvUzNDMjQxMiBTZXJpYWwgcG9ydCBzdXBwb3J0IgotCWRlcGVuZHMgb24gQVJNICYmIEFSQ0hfUzNDMjQxMAotCXNlbGVjdCBTRVJJQUxfQ09SRQorY29uZmlnIFNFUklBTF9TQU1TVU5HCisJdHJpc3RhdGUgIlNhbXN1bmcgU29DIHNlcmlhbCBzdXBwb3J0IgorCWRlcGVuZHMgb24gQVJNICYmIFBMQVRfUzNDMjRYWAogCWhlbHAKIAkgIFN1cHBvcnQgZm9yIHRoZSBvbi1jaGlwIFVBUlRzIG9uIHRoZSBTYW1zdW5nIFMzQzI0WFggc2VyaWVzIENQVXMsCiAJICBwcm92aWRpbmcgL2Rldi90dHlTQUMwLCAxIGFuZCAyIChub3RlLCBzb21lIG1hY2hpbmVzIG1heSBub3QKIAkgIHByb3ZpZGUgYWxsIG9mIHRoZXNlIHBvcnRzLCBkZXBlbmRpbmcgb24gaG93IHRoZSBzZXJpYWwgcG9ydAogCSAgcGlucyBhcmUgY29uZmlndXJlZC4KIAotCSAgQ3VycmVudGx5IHRoaXMgZHJpdmVyIHN1cHBvcnRzIHRoZSBVQVJUUyBvbiB0aGUgUzNDMjQxMCwgUzNDMjQ0MCwKLQkgIFMzQzI0NDIsIFMzQzI0MTIgYW5kIFMzQzI0MTMgQ1BVcy4KK2NvbmZpZyBTRVJJQUxfU0FNU1VOR19ERUJVRworCWJvb2wgIlNhbXN1bmcgU29DIHNlcmlhbCBkZWJ1ZyIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HCisJaGVscAorCSAgQWRkIHN1cHBvcnQgZm9yIGRlYnVnZ2luZyB0aGUgc2VyaWFsIGRyaXZlci4gU2luY2UgdGhpcyBpcworCSAgZ2VuZXJhbGx5IGJlaW5nIHVzZWQgYXMgYSBjb25zb2xlLCB3ZSB1c2Ugb3VyIG93biBvdXRwdXQKKwkgIHJvdXRpbmVzIHRoYXQgZ28gdmlhIHRoZSBsb3ctbGV2ZWwgZGVidWcgcHJpbnRhc2NpaSgpCisJICBmdW5jdGlvbi4KIAotY29uZmlnIFNFUklBTF9TM0MyNDEwX0NPTlNPTEUKLQlib29sICJTdXBwb3J0IGZvciBjb25zb2xlIG9uIFMzQzI0MTAgc2VyaWFsIHBvcnQiCi0JZGVwZW5kcyBvbiBTRVJJQUxfUzNDMjQxMD15Citjb25maWcgU0VSSUFMX1NBTVNVTkdfQ09OU09MRQorCWJvb2wgIlN1cHBvcnQgZm9yIGNvbnNvbGUgb24gU2Ftc3VuZyBTb0Mgc2VyaWFsIHBvcnQiCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORz15CiAJc2VsZWN0IFNFUklBTF9DT1JFX0NPTlNPTEUKIAloZWxwCiAJICBBbGxvdyBzZWxlY3Rpb24gb2YgdGhlIFMzQzI0WFggb24tYm9hcmQgc2VyaWFsIHBvcnRzIGZvciB1c2UgYXMKQEAgLTQ3Niw2ICs0ODEsMzcgQEAKIAkgIHlvdXIgYm9vdCBsb2FkZXIgYWJvdXQgaG93IHRvIHBhc3Mgb3B0aW9ucyB0byB0aGUga2VybmVsIGF0CiAJICBib290IHRpbWUuKQogCitjb25maWcgU0VSSUFMX1MzQzI0MDAKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDEwIFNlcmlhbCBwb3J0IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBBUk0gJiYgU0VSSUFMX1NBTVNVTkcgJiYgQ1BVX1MzQzI0MDAKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0MDAKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDAwIFNvQworCitjb25maWcgU0VSSUFMX1MzQzI0MTAKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDEwIFNlcmlhbCBwb3J0IHN1cHBvcnQiCisJZGVwZW5kcyBvbiBTRVJJQUxfU0FNU1VORyAmJiBDUFVfUzNDMjQxMAorCWRlZmF1bHQgeSBpZiBDUFVfUzNDMjQxMAorCWhlbHAKKwkgIFNlcmlhbCBwb3J0IHN1cHBvcnQgZm9yIHRoZSBTYW1zdW5nIFMzQzI0MTAgU29DCisKK2NvbmZpZyBTRVJJQUxfUzNDMjQxMgorCXRyaXN0YXRlICJTYW1zdW5nIFMzQzI0MTIvUzNDMjQxMyBTZXJpYWwgcG9ydCBzdXBwb3J0IgorCWRlcGVuZHMgb24gU0VSSUFMX1NBTVNVTkcgJiYgQ1BVX1MzQzI0MTIKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0MTIKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDEyIGFuZCBTM0MyNDEzIFNvQworCitjb25maWcgU0VSSUFMX1MzQzI0NDAKKwl0cmlzdGF0ZSAiU2Ftc3VuZyBTM0MyNDQwL1MzQzI0NDIgU2VyaWFsIHBvcnQgc3VwcG9ydCIKKwlkZXBlbmRzIG9uIFNFUklBTF9TQU1TVU5HICYmIChDUFVfUzNDMjQ0MCB8fCBDUFVfUzNDMjQ0MikKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0NDAKKwlkZWZhdWx0IHkgaWYgQ1BVX1MzQzI0NDIKKwloZWxwCisJICBTZXJpYWwgcG9ydCBzdXBwb3J0IGZvciB0aGUgU2Ftc3VuZyBTM0MyNDQwIGFuZCBTM0MyNDQyIFNvQworCisKKwogY29uZmlnIFNFUklBTF9EWgogCWJvb2wgIkRFQ3N0YXRpb24gRFogc2VyaWFsIGRyaXZlciIKIAlkZXBlbmRzIG9uIE1BQ0hfREVDU1RBVElPTiAmJiAzMkJJVApAQCAtNzUzLDcgKzc4OSw3IEBACiAKIGNvbmZpZyBTRVJJQUxfSU1YCiAJYm9vbCAiSU1YIHNlcmlhbCBwb3J0IHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBBUk0gJiYgQVJDSF9JTVgKKwlkZXBlbmRzIG9uIEFSTSAmJiAoQVJDSF9JTVggfHwgQVJDSF9NWEMpCiAJc2VsZWN0IFNFUklBTF9DT1JFCiAJaGVscAogCSAgSWYgeW91IGhhdmUgYSBtYWNoaW5lIGJhc2VkIG9uIGEgTW90b3JvbGEgSU1YIENQVSB5b3UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL01ha2VmaWxlIGIvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUKaW5kZXggMGQ5YzA5Yi4uN2Q4NWMxZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9zZXJpYWwvTWFrZWZpbGUKQEAgLTI4LDcgKzI4LDExIEBACiBvYmotJChDT05GSUdfU0VSSUFMX1NBMTEwMCkgKz0gc2ExMTAwLm8KIG9iai0kKENPTkZJR19TRVJJQUxfQkZJTikgKz0gYmZpbl81eHgubwogb2JqLSQoQ09ORklHX1NFUklBTF9CRklOX1NQT1JUKSArPSBiZmluX3Nwb3J0X3VhcnQubworb2JqLSQoQ09ORklHX1NFUklBTF9TQU1TVU5HKSArPSBzYW1zdW5nLm8KK29iai0kKENPTkZJR19TRVJJQUxfUzNDMjQwMCkgKz0gczNjMjQwMC5vCiBvYmotJChDT05GSUdfU0VSSUFMX1MzQzI0MTApICs9IHMzYzI0MTAubworb2JqLSQoQ09ORklHX1NFUklBTF9TM0MyNDEyKSArPSBzM2MyNDEyLm8KK29iai0kKENPTkZJR19TRVJJQUxfUzNDMjQ0MCkgKz0gczNjMjQ0MC5vCiBvYmotJChDT05GSUdfU0VSSUFMX1NVTkNPUkUpICs9IHN1bmNvcmUubwogb2JqLSQoQ09ORklHX1NFUklBTF9TVU5IVikgKz0gc3VuaHYubwogb2JqLSQoQ09ORklHX1NFUklBTF9TVU5aSUxPRykgKz0gc3Vuemlsb2cubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvYXRtZWxfc2VyaWFsLmMgYi9kcml2ZXJzL3NlcmlhbC9hdG1lbF9zZXJpYWwuYwppbmRleCA0MmJlOGIwMS4uNmFlZWYyMmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsL2F0bWVsX3NlcmlhbC5jCisrKyBiL2RyaXZlcnMvc2VyaWFsL2F0bWVsX3NlcmlhbC5jCkBAIC0xNDM5LDE0ICsxNDM5LDI5IEBACiB9OwogCiAjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgYm9vbCBhdG1lbF9zZXJpYWxfY2xrX3dpbGxfc3RvcCh2b2lkKQoreworI2lmZGVmIENPTkZJR19BUkNIX0FUOTEKKwlyZXR1cm4gYXQ5MV9zdXNwZW5kX2VudGVyaW5nX3Nsb3dfY2xvY2soKTsKKyNlbHNlCisJcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIHN0YXRpYyBpbnQgYXRtZWxfc2VyaWFsX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAkJCQlwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CiAJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBhdG1lbF91YXJ0X3BvcnQgKmF0bWVsX3BvcnQgPSB0b19hdG1lbF91YXJ0X3BvcnQocG9ydCk7CiAKKwlpZiAoYXRtZWxfaXNfY29uc29sZV9wb3J0KHBvcnQpICYmIGNvbnNvbGVfc3VzcGVuZF9lbmFibGVkKSB7CisJCS8qIERyYWluIHRoZSBUWCBzaGlmdGVyICovCisJCXdoaWxlICghKFVBUlRfR0VUX0NTUihwb3J0KSAmIEFUTUVMX1VTX1RYRU1QVFkpKQorCQkJY3B1X3JlbGF4KCk7CisJfQorCiAJaWYgKGRldmljZV9tYXlfd2FrZXVwKCZwZGV2LT5kZXYpCi0JICAgICYmICFhdDkxX3N1c3BlbmRfZW50ZXJpbmdfc2xvd19jbG9jaygpKQorCSAgICAmJiAhYXRtZWxfc2VyaWFsX2Nsa193aWxsX3N0b3AoKSkKIAkJZW5hYmxlX2lycV93YWtlKHBvcnQtPmlycSk7CiAJZWxzZSB7CiAJCXVhcnRfc3VzcGVuZF9wb3J0KCZhdG1lbF91YXJ0LCBwb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL2lteC5jIGIvZHJpdmVycy9zZXJpYWwvaW14LmMKaW5kZXggNWEzNzViZi4uNjRhY2IzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zZXJpYWwvaW14LmMKKysrIGIvZHJpdmVycy9zZXJpYWwvaW14LmMKQEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAKICNpbmNsdWRlIDxhc20vaW8uaD4KICNpbmNsdWRlIDxhc20vaXJxLmg+CkBAIC02MSw2ICs2MiwxMSBAQAogI2RlZmluZSBVQklSICAweGE0IC8qIEJSTSBJbmNyZW1lbnRhbCBSZWdpc3RlciAqLwogI2RlZmluZSBVQk1SICAweGE4IC8qIEJSTSBNb2R1bGF0b3IgUmVnaXN0ZXIgKi8KICNkZWZpbmUgVUJSQyAgMHhhYyAvKiBCYXVkIFJhdGUgQ291bnQgUmVnaXN0ZXIgKi8KKyNpZiBkZWZpbmVkIENPTkZJR19BUkNIX01YMyB8fCBkZWZpbmVkIENPTkZJR19BUkNIX01YMgorI2RlZmluZSBPTkVNUyAweGIwIC8qIE9uZSBNaWxsaXNlY29uZCByZWdpc3RlciAqLworI2RlZmluZSBVVFMgICAweGI0IC8qIFVBUlQgVGVzdCBSZWdpc3RlciAqLworI2VuZGlmCisjaWZkZWYgQ09ORklHX0FSQ0hfSU1YCiAjZGVmaW5lIEJJUFIxIDB4YjAgLyogSW5jcmVtZW50YWwgUHJlc2V0IFJlZ2lzdGVyIDEgKi8KICNkZWZpbmUgQklQUjIgMHhiNCAvKiBJbmNyZW1lbnRhbCBQcmVzZXQgUmVnaXN0ZXIgMiAqLwogI2RlZmluZSBCSVBSMyAweGI4IC8qIEluY3JlbWVudGFsIFByZXNldCBSZWdpc3RlciAzICovCkBAIC03MCw2ICs3Niw3IEBACiAjZGVmaW5lIEJNUFIzIDB4YzggLyogQlJNIE1vZHVsYXRvciBSZWdpc3RlciAzICovCiAjZGVmaW5lIEJNUFI0IDB4Y2MgLyogQlJNIE1vZHVsYXRvciBSZWdpc3RlciA0ICovCiAjZGVmaW5lIFVUUyAgIDB4ZDAgLyogVUFSVCBUZXN0IFJlZ2lzdGVyICovCisjZW5kaWYKIAogLyogVUFSVCBDb250cm9sIFJlZ2lzdGVyIEJpdCBGaWVsZHMuKi8KICNkZWZpbmUgIFVSWERfQ0hBUlJEWSAgICAoMTw8MTUpCkBAIC04OSw3ICs5NiwxMiBAQAogI2RlZmluZSAgVUNSMV9SVFNERU4gICAgICgxPDw1KQkgLyogUlRTIGRlbHRhIGludGVycnVwdCBlbmFibGUgKi8KICNkZWZpbmUgIFVDUjFfU05EQlJLICAgICAoMTw8NCkJIC8qIFNlbmQgYnJlYWsgKi8KICNkZWZpbmUgIFVDUjFfVERNQUVOICAgICAoMTw8MykJIC8qIFRyYW5zbWl0dGVyIHJlYWR5IERNQSBlbmFibGUgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKICNkZWZpbmUgIFVDUjFfVUFSVENMS0VOICAoMTw8MikJIC8qIFVBUlQgY2xvY2sgZW5hYmxlZCAqLworI2VuZGlmCisjaWYgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDMgfHwgZGVmaW5lZCBDT05GSUdfQVJDSF9NWDIKKyNkZWZpbmUgIFVDUjFfVUFSVENMS0VOICAoMCkJIC8qIG5vdCBwcmVzZW50IG9uIG14Mi9teDMgKi8KKyNlbmRpZgogI2RlZmluZSAgVUNSMV9ET1pFICAgICAgICgxPDwxKQkgLyogRG96ZSAqLwogI2RlZmluZSAgVUNSMV9VQVJURU4gICAgICgxPDwwKQkgLyogVUFSVCBlbmFibGVkICovCiAjZGVmaW5lICBVQ1IyX0VTQ0kgICAgIAkgKDE8PDE1KSAvKiBFc2NhcGUgc2VxIGludGVycnVwdCBlbmFibGUgKi8KQEAgLTE2Myw4ICsxNzUsMTkgQEAKICNkZWZpbmUgIFVUU19TT0ZUUlNUCSAoMTw8MCkJIC8qIFNvZnR3YXJlIHJlc2V0ICovCiAKIC8qIFdlJ3ZlIGJlZW4gYXNzaWduZWQgYSByYW5nZSBvbiB0aGUgIkxvdy1kZW5zaXR5IHNlcmlhbCBwb3J0cyIgbWFqb3IgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9JTVgKICNkZWZpbmUgU0VSSUFMX0lNWF9NQUpPUgkyMDQKICNkZWZpbmUgTUlOT1JfU1RBUlQJCTQxCisjZGVmaW5lIERFVl9OQU1FCQkidHR5U01YIgorI2RlZmluZSBNQVhfSU5URVJOQUxfSVJRCUlNWF9JUlFTCisjZW5kaWYKKworI2lmIGRlZmluZWQgQ09ORklHX0FSQ0hfTVgzIHx8IGRlZmluZWQgQ09ORklHX0FSQ0hfTVgyCisjZGVmaW5lIFNFUklBTF9JTVhfTUFKT1IgICAgICAgIDIwNworI2RlZmluZSBNSU5PUl9TVEFSVAkgICAgICAgIDE2CisjZGVmaW5lIERFVl9OQU1FCQkidHR5bXhjIgorI2RlZmluZSBNQVhfSU5URVJOQUxfSVJRCU1YQ19NQVhfSU5UX0xJTkVTCisjZW5kaWYKIAogLyoKICAqIFRoaXMgZGV0ZXJtaW5lcyBob3cgb2Z0ZW4gd2UgY2hlY2sgdGhlIG1vZGVtIHN0YXR1cyBzaWduYWxzCkBAIC0xNzYsMTIgKzE5OSwxNSBAQAogCiAjZGVmaW5lIERSSVZFUl9OQU1FICJJTVgtdWFydCIKIAorI2RlZmluZSBVQVJUX05SIDgKKwogc3RydWN0IGlteF9wb3J0IHsKIAlzdHJ1Y3QgdWFydF9wb3J0CXBvcnQ7CiAJc3RydWN0IHRpbWVyX2xpc3QJdGltZXI7CiAJdW5zaWduZWQgaW50CQlvbGRfc3RhdHVzOwogCWludAkJCXR4aXJxLHJ4aXJxLHJ0c2lycTsKIAlpbnQJCQloYXZlX3J0c2N0czoxOworCXN0cnVjdCBjbGsJCSpjbGs7CiB9OwogCiAvKgpAQCAtNDA1LDYgKzQzMSwyNiBAQAogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAorc3RhdGljIGlycXJldHVybl90IGlteF9pbnQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSBkZXZfaWQ7CisJdW5zaWduZWQgaW50IHN0czsKKworCXN0cyA9IHJlYWRsKHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVU1IxKTsKKworCWlmIChzdHMgJiBVU1IxX1JSRFkpCisJCWlteF9yeGludChpcnEsIGRldl9pZCk7CisKKwlpZiAoc3RzICYgVVNSMV9UUkRZICYmCisJCQlyZWFkbChzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSMSkgJiBVQ1IxX1RYTVBUWUVOKQorCQlpbXhfdHhpbnQoaXJxLCBkZXZfaWQpOworCisJaWYgKHN0cyAmIFVTUjFfUlRTUykKKwkJaW14X3J0c2ludChpcnEsIGRldl9pZCk7CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKIC8qCiAgKiBSZXR1cm4gVElPQ1NFUl9URU1UIHdoZW4gdHJhbnNtaXR0ZXIgaXMgbm90IGJ1c3kuCiAgKi8KQEAgLTQ3Nyw3ICs1MjMsOCBAQAogCSAqIFJGRElWIGlzIHNldCBzdWNoIHdheSB0byBzYXRpc2Z5IHJlcXVlc3RlZCB1YXJ0Y2xrIHZhbHVlCiAJICovCiAJdmFsID0gVFhUTCA8PCAxMCB8IFJYVEw7Ci0JdWZjcl9yZmRpdiA9IChpbXhfZ2V0X3BlcmNsazEoKSArIHNwb3J0LT5wb3J0LnVhcnRjbGsgLyAyKSAvIHNwb3J0LT5wb3J0LnVhcnRjbGs7CisJdWZjcl9yZmRpdiA9IChjbGtfZ2V0X3JhdGUoc3BvcnQtPmNsaykgKyBzcG9ydC0+cG9ydC51YXJ0Y2xrIC8gMikKKwkJCS8gc3BvcnQtPnBvcnQudWFydGNsazsKIAogCWlmKCF1ZmNyX3JmZGl2KQogCQl1ZmNyX3JmZGl2ID0gMTsKQEAgLTUwOSwyMSArNTU2LDM0IEBACiAJd3JpdGVsKHRlbXAgJiB+VUNSNF9EUkVOLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSNCk7CiAKIAkvKgotCSAqIEFsbG9jYXRlIHRoZSBJUlEKKwkgKiBBbGxvY2F0ZSB0aGUgSVJRKHMpIGkuTVgxIGhhcyB0aHJlZSBpbnRlcnJ1cHRzIHdoZXJlYXMgbGF0ZXIKKwkgKiBjaGlwcyBvbmx5IGhhdmUgb25lIGludGVycnVwdC4KIAkgKi8KLQlyZXR2YWwgPSByZXF1ZXN0X2lycShzcG9ydC0+cnhpcnEsIGlteF9yeGludCwgMCwKLQkJCSAgICAgRFJJVkVSX05BTUUsIHNwb3J0KTsKLQlpZiAocmV0dmFsKSBnb3RvIGVycm9yX291dDE7CisJaWYgKHNwb3J0LT50eGlycSA+IDApIHsKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnJ4aXJxLCBpbXhfcnhpbnQsIDAsCisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8gZXJyb3Jfb3V0MTsKIAotCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT50eGlycSwgaW14X3R4aW50LCAwLAotCQkJICAgICBEUklWRVJfTkFNRSwgc3BvcnQpOwotCWlmIChyZXR2YWwpIGdvdG8gZXJyb3Jfb3V0MjsKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnR4aXJxLCBpbXhfdHhpbnQsIDAsCisJCQkJRFJJVkVSX05BTUUsIHNwb3J0KTsKKwkJaWYgKHJldHZhbCkKKwkJCWdvdG8gZXJyb3Jfb3V0MjsKIAotCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT5ydHNpcnEsIGlteF9ydHNpbnQsCi0JCQkgICAgIChzcG9ydC0+cnRzaXJxIDwgSU1YX0lSUVMpID8gMCA6CisJCXJldHZhbCA9IHJlcXVlc3RfaXJxKHNwb3J0LT5ydHNpcnEsIGlteF9ydHNpbnQsCisJCQkgICAgIChzcG9ydC0+cnRzaXJxIDwgTUFYX0lOVEVSTkFMX0lSUSkgPyAwIDoKIAkJCSAgICAgICBJUlFGX1RSSUdHRVJfRkFMTElORyB8IElSUUZfVFJJR0dFUl9SSVNJTkcsCi0JCQkgICAgIERSSVZFUl9OQU1FLCBzcG9ydCk7Ci0JaWYgKHJldHZhbCkgZ290byBlcnJvcl9vdXQzOworCQkJCURSSVZFUl9OQU1FLCBzcG9ydCk7CisJCWlmIChyZXR2YWwpCisJCQlnb3RvIGVycm9yX291dDM7CisJfSBlbHNlIHsKKwkJcmV0dmFsID0gcmVxdWVzdF9pcnEoc3BvcnQtPnBvcnQuaXJxLCBpbXhfaW50LCAwLAorCQkJCURSSVZFUl9OQU1FLCBzcG9ydCk7CisJCWlmIChyZXR2YWwpIHsKKwkJCWZyZWVfaXJxKHNwb3J0LT5wb3J0LmlycSwgc3BvcnQpOworCQkJZ290byBlcnJvcl9vdXQxOworCQl9CisJfQogCiAJLyoKIAkgKiBGaW5hbGx5LCBjbGVhciBhbmQgZW5hYmxlIGludGVycnVwdHMKQEAgLTU0OCw5ICs2MDgsMTEgQEAKIAlyZXR1cm4gMDsKIAogZXJyb3Jfb3V0MzoKLQlmcmVlX2lycShzcG9ydC0+dHhpcnEsIHNwb3J0KTsKKwlpZiAoc3BvcnQtPnR4aXJxKQorCQlmcmVlX2lycShzcG9ydC0+dHhpcnEsIHNwb3J0KTsKIGVycm9yX291dDI6Ci0JZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CisJaWYgKHNwb3J0LT5yeGlycSkKKwkJZnJlZV9pcnEoc3BvcnQtPnJ4aXJxLCBzcG9ydCk7CiBlcnJvcl9vdXQxOgogCXJldHVybiByZXR2YWw7CiB9CkBAIC01NjgsOSArNjMwLDEyIEBACiAJLyoKIAkgKiBGcmVlIHRoZSBpbnRlcnJ1cHRzCiAJICovCi0JZnJlZV9pcnEoc3BvcnQtPnJ0c2lycSwgc3BvcnQpOwotCWZyZWVfaXJxKHNwb3J0LT50eGlycSwgc3BvcnQpOwotCWZyZWVfaXJxKHNwb3J0LT5yeGlycSwgc3BvcnQpOworCWlmIChzcG9ydC0+dHhpcnEgPiAwKSB7CisJCWZyZWVfaXJxKHNwb3J0LT5ydHNpcnEsIHNwb3J0KTsKKwkJZnJlZV9pcnEoc3BvcnQtPnR4aXJxLCBzcG9ydCk7CisJCWZyZWVfaXJxKHNwb3J0LT5yeGlycSwgc3BvcnQpOworCX0gZWxzZQorCQlmcmVlX2lycShzcG9ydC0+cG9ydC5pcnEsIHNwb3J0KTsKIAogCS8qCiAJICogRGlzYWJsZSBhbGwgaW50ZXJydXB0cywgcG9ydCBhbmQgYnJlYWsgY29uZGl0aW9uLgpAQCAtNTg5LDYgKzY1NCw3IEBACiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1bnNpZ25lZCBpbnQgdWNyMiwgb2xkX3VjcjEsIG9sZF90eHJ4ZW4sIGJhdWQsIHF1b3Q7CiAJdW5zaWduZWQgaW50IG9sZF9jc2l6ZSA9IG9sZCA/IG9sZC0+Y19jZmxhZyAmIENTSVpFIDogQ1M4OworCXVuc2lnbmVkIGludCBkaXYsIG51bSwgZGVub20sIHVmY3I7CiAKIAkvKgogCSAqIElmIHdlIGRvbid0IHN1cHBvcnQgbW9kZW0gY29udHJvbCBsaW5lcywgZG9uJ3QgYWxsb3cKQEAgLTYzNCw3ICs3MDAsNyBAQAogCS8qCiAJICogQXNrIHRoZSBjb3JlIHRvIGNhbGN1bGF0ZSB0aGUgZGl2aXNvciBmb3IgdXMuCiAJICovCi0JYmF1ZCA9IHVhcnRfZ2V0X2JhdWRfcmF0ZShwb3J0LCB0ZXJtaW9zLCBvbGQsIDAsIHBvcnQtPnVhcnRjbGsvMTYpOworCWJhdWQgPSB1YXJ0X2dldF9iYXVkX3JhdGUocG9ydCwgdGVybWlvcywgb2xkLCA1MCwgcG9ydC0+dWFydGNsayAvIDE2KTsKIAlxdW90ID0gdWFydF9nZXRfZGl2aXNvcihwb3J0LCBiYXVkKTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZzcG9ydC0+cG9ydC5sb2NrLCBmbGFncyk7CkBAIC02ODQsMTQgKzc1MCw0MSBAQAogCQkJc3BvcnQtPnBvcnQubWVtYmFzZSArIFVDUjIpOwogCW9sZF90eHJ4ZW4gJj0gKFVDUjJfVFhFTiB8IFVDUjJfUlhFTik7CiAKLQkvKiBzZXQgdGhlIGJhdWQgcmF0ZS4gV2UgYXNzdW1lIHVhcnRjbGsgPSAxNiBNSHoKLQkgKgotCSAqIGJhdWQgKiAxNiAgIFVCSVIgLSAxCi0JICogLS0tLS0tLS0tID0gLS0tLS0tLS0KLQkgKiAgdWFydGNsayAgICBVQk1SIC0gMQotCSAqLwotCXdyaXRlbCgoYmF1ZCAvIDEwMCkgLSAxLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUJJUik7Ci0Jd3JpdGVsKDEwMDAwIC0gMSwgc3BvcnQtPnBvcnQubWVtYmFzZSArIFVCTVIpOworCWRpdiA9IHNwb3J0LT5wb3J0LnVhcnRjbGsgLyAoYmF1ZCAqIDE2KTsKKwlpZiAoZGl2ID4gNykKKwkJZGl2ID0gNzsKKwlpZiAoIWRpdikKKwkJZGl2ID0gMTsKKworCW51bSA9IGJhdWQ7CisJZGVub20gPSBwb3J0LT51YXJ0Y2xrIC8gZGl2IC8gMTY7CisKKwkvKiBzaGlmdCBudW0gYW5kIGRlbm9tIHJpZ2h0IHVudGlsIHRoZXkgZml0IGludG8gMTYgYml0cyAqLworCXdoaWxlIChudW0gPiAweDEwMDAwIHx8IGRlbm9tID4gMHgxMDAwMCkgeworCQludW0gPj49IDE7CisJCWRlbm9tID4+PSAxOworCX0KKwlpZiAobnVtID4gMCkKKwkJbnVtIC09IDE7CisJaWYgKGRlbm9tID4gMCkKKwkJZGVub20gLT0gMTsKKworCXdyaXRlbChudW0sIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQklSKTsKKwl3cml0ZWwoZGVub20sIHNwb3J0LT5wb3J0Lm1lbWJhc2UgKyBVQk1SKTsKKworCWlmIChkaXYgPT0gNykKKwkJZGl2ID0gNjsgLyogNiBpbiBSRkRJViBtZWFucyBkaXZpZGUgYnkgNyAqLworCWVsc2UKKwkJZGl2ID0gNiAtIGRpdjsKKworCXVmY3IgPSByZWFkbChzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUZDUik7CisJdWZjciA9ICh1ZmNyICYgKH5VRkNSX1JGRElWKSkgfAorCSAgICAoZGl2IDw8IDcpOworCXdyaXRlbCh1ZmNyLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUZDUik7CisKKyNpZmRlZiBPTkVNUworCXdyaXRlbChzcG9ydC0+cG9ydC51YXJ0Y2xrIC8gZGl2IC8gMTAwMCwgc3BvcnQtPnBvcnQubWVtYmFzZSArIE9ORU1TKTsKKyNlbmRpZgogCiAJd3JpdGVsKG9sZF91Y3IxLCBzcG9ydC0+cG9ydC5tZW1iYXNlICsgVUNSMSk7CiAKQEAgLTgwMSw2NSArODk0LDcgQEAKIAkudmVyaWZ5X3BvcnQJPSBpbXhfdmVyaWZ5X3BvcnQsCiB9OwogCi1zdGF0aWMgc3RydWN0IGlteF9wb3J0IGlteF9wb3J0c1tdID0gewotCXsKLQkudHhpcnEgID0gVUFSVDFfTUlOVF9UWCwKLQkucnhpcnEgID0gVUFSVDFfTUlOVF9SWCwKLQkucnRzaXJxID0gVUFSVDFfTUlOVF9SVFMsCi0JLnBvcnQJPSB7Ci0JCS50eXBlCQk9IFBPUlRfSU1YLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkubWVtYmFzZQk9ICh2b2lkICopSU1YX1VBUlQxX0JBU0UsCi0JCS5tYXBiYXNlCT0gMHgwMDIwNjAwMCwKLQkJLmlycQkJPSBVQVJUMV9NSU5UX1JYLAotCQkudWFydGNsawk9IDE2MDAwMDAwLAotCQkuZmlmb3NpemUJPSAzMiwKLQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkub3BzCQk9ICZpbXhfcG9wcywKLQkJLmxpbmUJCT0gMCwKLQl9LAotCX0sIHsKLQkudHhpcnEgID0gVUFSVDJfTUlOVF9UWCwKLQkucnhpcnEgID0gVUFSVDJfTUlOVF9SWCwKLQkucnRzaXJxID0gVUFSVDJfTUlOVF9SVFMsCi0JLnBvcnQJPSB7Ci0JCS50eXBlCQk9IFBPUlRfSU1YLAotCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkubWVtYmFzZQk9ICh2b2lkICopSU1YX1VBUlQyX0JBU0UsCi0JCS5tYXBiYXNlCT0gMHgwMDIwNzAwMCwKLQkJLmlycQkJPSBVQVJUMl9NSU5UX1JYLAotCQkudWFydGNsawk9IDE2MDAwMDAwLAotCQkuZmlmb3NpemUJPSAzMiwKLQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkub3BzCQk9ICZpbXhfcG9wcywKLQkJLmxpbmUJCT0gMSwKLQl9LAotCX0KLX07Ci0KLS8qCi0gKiBTZXR1cCB0aGUgSU1YIHNlcmlhbCBwb3J0cy4KLSAqIE5vdGUgYWxzbyB0aGF0IHdlIHN1cHBvcnQgImNvbnNvbGU9dHR5U01YeCIgd2hlcmUgIngiIGlzIGVpdGhlciAwIG9yIDEuCi0gKiBXaGljaCBzZXJpYWwgcG9ydCB0aGlzIGVuZHMgdXAgYmVpbmcgZGVwZW5kcyBvbiB0aGUgbWFjaGluZSB5b3UncmUKLSAqIHJ1bm5pbmcgdGhpcyBrZXJuZWwgb24uICBJJ20gbm90IGNvbnZpbmNlZCB0aGF0IHRoaXMgaXMgYSBnb29kIGlkZWEsCi0gKiBidXQgdGhhdCdzIHRoZSB3YXkgaXQgdHJhZGl0aW9uYWxseSB3b3Jrcy4KLSAqCi0gKi8KLXN0YXRpYyB2b2lkIF9faW5pdCBpbXhfaW5pdF9wb3J0cyh2b2lkKQotewotCXN0YXRpYyBpbnQgZmlyc3QgPSAxOwotCWludCBpOwotCi0JaWYgKCFmaXJzdCkKLQkJcmV0dXJuOwotCWZpcnN0ID0gMDsKLQotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGlteF9wb3J0cyk7IGkrKykgewotCQlpbml0X3RpbWVyKCZpbXhfcG9ydHNbaV0udGltZXIpOwotCQlpbXhfcG9ydHNbaV0udGltZXIuZnVuY3Rpb24gPSBpbXhfdGltZW91dDsKLQkJaW14X3BvcnRzW2ldLnRpbWVyLmRhdGEgICAgID0gKHVuc2lnbmVkIGxvbmcpJmlteF9wb3J0c1tpXTsKLQl9Ci19CitzdGF0aWMgc3RydWN0IGlteF9wb3J0ICppbXhfcG9ydHNbVUFSVF9OUl07CiAKICNpZmRlZiBDT05GSUdfU0VSSUFMX0lNWF9DT05TT0xFCiBzdGF0aWMgdm9pZCBpbXhfY29uc29sZV9wdXRjaGFyKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBjaCkKQEAgLTg3OCw3ICs5MTMsNyBAQAogc3RhdGljIHZvaWQKIGlteF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywgY29uc3QgY2hhciAqcywgdW5zaWduZWQgaW50IGNvdW50KQogewotCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSAmaW14X3BvcnRzW2NvLT5pbmRleF07CisJc3RydWN0IGlteF9wb3J0ICpzcG9ydCA9IGlteF9wb3J0c1tjby0+aW5kZXhdOwogCXVuc2lnbmVkIGludCBvbGRfdWNyMSwgb2xkX3VjcjI7CiAKIAkvKgpAQCAtOTQ0LDcgKzk3OSw3IEBACiAJCWVsc2UKIAkJCXVjZnJfcmZkaXYgPSA2IC0gdWNmcl9yZmRpdjsKIAotCQl1YXJ0Y2xrID0gaW14X2dldF9wZXJjbGsxKCk7CisJCXVhcnRjbGsgPSBjbGtfZ2V0X3JhdGUoc3BvcnQtPmNsayk7CiAJCXVhcnRjbGsgLz0gdWNmcl9yZmRpdjsKIAogCQl7CS8qCkBAIC05ODQsNyArMTAxOSw3IEBACiAJICovCiAJaWYgKGNvLT5pbmRleCA9PSAtMSB8fCBjby0+aW5kZXggPj0gQVJSQVlfU0laRShpbXhfcG9ydHMpKQogCQljby0+aW5kZXggPSAwOwotCXNwb3J0ID0gJmlteF9wb3J0c1tjby0+aW5kZXhdOworCXNwb3J0ID0gaW14X3BvcnRzW2NvLT5pbmRleF07CiAKIAlpZiAob3B0aW9ucykKIAkJdWFydF9wYXJzZV9vcHRpb25zKG9wdGlvbnMsICZiYXVkLCAmcGFyaXR5LCAmYml0cywgJmZsb3cpOwpAQCAtOTk4LDcgKzEwMzMsNyBAQAogCiBzdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIGlteF9yZWc7CiBzdGF0aWMgc3RydWN0IGNvbnNvbGUgaW14X2NvbnNvbGUgPSB7Ci0JLm5hbWUJCT0gInR0eVNNWCIsCisJLm5hbWUJCT0gREVWX05BTUUsCiAJLndyaXRlCQk9IGlteF9jb25zb2xlX3dyaXRlLAogCS5kZXZpY2UJCT0gdWFydF9jb25zb2xlX2RldmljZSwKIAkuc2V0dXAJCT0gaW14X2NvbnNvbGVfc2V0dXAsCkBAIC0xMDA3LDE0ICsxMDQyLDYgQEAKIAkuZGF0YQkJPSAmaW14X3JlZywKIH07CiAKLXN0YXRpYyBpbnQgX19pbml0IGlteF9yc19jb25zb2xlX2luaXQodm9pZCkKLXsKLQlpbXhfaW5pdF9wb3J0cygpOwotCXJlZ2lzdGVyX2NvbnNvbGUoJmlteF9jb25zb2xlKTsKLQlyZXR1cm4gMDsKLX0KLWNvbnNvbGVfaW5pdGNhbGwoaW14X3JzX2NvbnNvbGVfaW5pdCk7Ci0KICNkZWZpbmUgSU1YX0NPTlNPTEUJJmlteF9jb25zb2xlCiAjZWxzZQogI2RlZmluZSBJTVhfQ09OU09MRQlOVUxMCkBAIC0xMDIzLDcgKzEwNTAsNyBAQAogc3RhdGljIHN0cnVjdCB1YXJ0X2RyaXZlciBpbXhfcmVnID0gewogCS5vd25lciAgICAgICAgICA9IFRISVNfTU9EVUxFLAogCS5kcml2ZXJfbmFtZSAgICA9IERSSVZFUl9OQU1FLAotCS5kZXZfbmFtZSAgICAgICA9ICJ0dHlTTVgiLAorCS5kZXZfbmFtZSAgICAgICA9IERFVl9OQU1FLAogCS5tYWpvciAgICAgICAgICA9IFNFUklBTF9JTVhfTUFKT1IsCiAJLm1pbm9yICAgICAgICAgID0gTUlOT1JfU1RBUlQsCiAJLm5yICAgICAgICAgICAgID0gQVJSQVlfU0laRShpbXhfcG9ydHMpLApAQCAtMTA1MCwyOSArMTA3Nyw5OCBAQAogICAgICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzZXJpYWxfaW14X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3N0YXRpYyBpbnQgc2VyaWFsX2lteF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogeworCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQ7CiAJc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGE7CisJdm9pZCBfX2lvbWVtICpiYXNlOworCWludCByZXQgPSAwOworCXN0cnVjdCByZXNvdXJjZSAqcmVzOwogCi0JaW14X3BvcnRzW2Rldi0+aWRdLnBvcnQuZGV2ID0gJmRldi0+ZGV2OworCXNwb3J0ID0ga3phbGxvYyhzaXplb2YoKnNwb3J0KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzcG9ydCkKKwkJcmV0dXJuIC1FTk9NRU07CiAKLQlwZGF0YSA9IChzdHJ1Y3QgaW14dWFydF9wbGF0Zm9ybV9kYXRhICopZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKKwlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcmVzKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gZnJlZTsKKwl9CisKKwliYXNlID0gaW9yZW1hcChyZXMtPnN0YXJ0LCBQQUdFX1NJWkUpOworCWlmICghYmFzZSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGZyZWU7CisJfQorCisJc3BvcnQtPnBvcnQuZGV2ID0gJnBkZXYtPmRldjsKKwlzcG9ydC0+cG9ydC5tYXBiYXNlID0gcmVzLT5zdGFydDsKKwlzcG9ydC0+cG9ydC5tZW1iYXNlID0gYmFzZTsKKwlzcG9ydC0+cG9ydC50eXBlID0gUE9SVF9JTVgsCisJc3BvcnQtPnBvcnQuaW90eXBlID0gVVBJT19NRU07CisJc3BvcnQtPnBvcnQuaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAwKTsKKwlzcG9ydC0+cnhpcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCXNwb3J0LT50eGlycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMSk7CisJc3BvcnQtPnJ0c2lycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMik7CisJc3BvcnQtPnBvcnQuZmlmb3NpemUgPSAzMjsKKwlzcG9ydC0+cG9ydC5vcHMgPSAmaW14X3BvcHM7CisJc3BvcnQtPnBvcnQuZmxhZ3MgPSBVUEZfQk9PVF9BVVRPQ09ORjsKKwlzcG9ydC0+cG9ydC5saW5lID0gcGRldi0+aWQ7CisJaW5pdF90aW1lcigmc3BvcnQtPnRpbWVyKTsKKwlzcG9ydC0+dGltZXIuZnVuY3Rpb24gPSBpbXhfdGltZW91dDsKKwlzcG9ydC0+dGltZXIuZGF0YSAgICAgPSAodW5zaWduZWQgbG9uZylzcG9ydDsKKworCXNwb3J0LT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJ1YXJ0X2NsayIpOworCWlmIChJU19FUlIoc3BvcnQtPmNsaykpIHsKKwkJcmV0ID0gUFRSX0VSUihzcG9ydC0+Y2xrKTsKKwkJZ290byB1bm1hcDsKKwl9CisJY2xrX2VuYWJsZShzcG9ydC0+Y2xrKTsKKworCXNwb3J0LT5wb3J0LnVhcnRjbGsgPSBjbGtfZ2V0X3JhdGUoc3BvcnQtPmNsayk7CisKKwlpbXhfcG9ydHNbcGRldi0+aWRdID0gc3BvcnQ7CisKKwlwZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOwogCWlmKHBkYXRhICYmIChwZGF0YS0+ZmxhZ3MgJiBJTVhVQVJUX0hBVkVfUlRTQ1RTKSkKLQkJaW14X3BvcnRzW2Rldi0+aWRdLmhhdmVfcnRzY3RzID0gMTsKKwkJc3BvcnQtPmhhdmVfcnRzY3RzID0gMTsKIAotCXVhcnRfYWRkX29uZV9wb3J0KCZpbXhfcmVnLCAmaW14X3BvcnRzW2Rldi0+aWRdLnBvcnQpOwotCXBsYXRmb3JtX3NldF9kcnZkYXRhKGRldiwgJmlteF9wb3J0c1tkZXYtPmlkXSk7CisJaWYgKHBkYXRhLT5pbml0KQorCQlwZGF0YS0+aW5pdChwZGV2KTsKKworCXVhcnRfYWRkX29uZV9wb3J0KCZpbXhfcmVnLCAmc3BvcnQtPnBvcnQpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsICZzcG9ydC0+cG9ydCk7CisKIAlyZXR1cm4gMDsKK3VubWFwOgorCWlvdW5tYXAoc3BvcnQtPnBvcnQubWVtYmFzZSk7CitmcmVlOgorCWtmcmVlKHNwb3J0KTsKKworCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgc2VyaWFsX2lteF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQorc3RhdGljIGludCBzZXJpYWxfaW14X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOworCXN0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgKnBkYXRhOworCXN0cnVjdCBpbXhfcG9ydCAqc3BvcnQgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAotCXBsYXRmb3JtX3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisJcGRhdGEgPSBwZGV2LT5kZXYucGxhdGZvcm1fZGF0YTsKIAotCWlmIChzcG9ydCkKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKKworCWlmIChzcG9ydCkgewogCQl1YXJ0X3JlbW92ZV9vbmVfcG9ydCgmaW14X3JlZywgJnNwb3J0LT5wb3J0KTsKKwkJY2xrX3B1dChzcG9ydC0+Y2xrKTsKKwl9CisKKwljbGtfZGlzYWJsZShzcG9ydC0+Y2xrKTsKKworCWlmIChwZGF0YS0+ZXhpdCkKKwkJcGRhdGEtPmV4aXQocGRldik7CisKKwlpb3VubWFwKHNwb3J0LT5wb3J0Lm1lbWJhc2UpOworCWtmcmVlKHNwb3J0KTsKIAogCXJldHVybiAwOwogfQpAQCAtMTA5NSw4ICsxMTkxLDYgQEAKIAogCXByaW50ayhLRVJOX0lORk8gIlNlcmlhbDogSU1YIGRyaXZlclxuIik7CiAKLQlpbXhfaW5pdF9wb3J0cygpOwotCiAJcmV0ID0gdWFydF9yZWdpc3Rlcl9kcml2ZXIoJmlteF9yZWcpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDAwLmMgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDAwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTExMDIwNQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MDAuYwpAQCAtMCwwICsxLDEwNiBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQwLmMKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgU29DIG9uYm9hcmQgVUFSVHMuCisgKgorICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorCisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgInNhbXN1bmcuaCIKKworc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9nZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKKwkJCQkgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwljbGstPmRpdmlzb3IgPSAxOworCWNsay0+bmFtZSA9ICJwY2xrIjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCit7CisJZGJnKCJzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQ6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAorCSAgICBwb3J0LCBwb3J0LT5tYXBiYXNlLCBjZmcpOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICBjZmctPnVjb24pOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgY2ZnLT51bGNvbik7CisKKwkvKiByZXNldCBib3RoIGZpZm9zICovCisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24gfCBTM0MyNDEwX1VGQ09OX1JFU0VUQk9USCk7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHMzYzI0MDBfdWFydF9pbmYgPSB7CisJLm5hbWUJCT0gIlNhbXN1bmcgUzNDMjQwMCBVQVJUIiwKKwkudHlwZQkJPSBQT1JUX1MzQzI0MDAsCisJLmZpZm9zaXplCT0gMTYsCisJLnJ4X2ZpZm9tYXNrCT0gUzNDMjQxMF9VRlNUQVRfUlhNQVNLLAorCS5yeF9maWZvc2hpZnQJPSBTM0MyNDEwX1VGU1RBVF9SWFNISUZULAorCS5yeF9maWZvZnVsbAk9IFMzQzI0MTBfVUZTVEFUX1JYRlVMTCwKKwkudHhfZmlmb2Z1bGwJPSBTM0MyNDEwX1VGU1RBVF9UWEZVTEwsCisJLnR4X2ZpZm9tYXNrCT0gUzNDMjQxMF9VRlNUQVRfVFhNQVNLLAorCS50eF9maWZvc2hpZnQJPSBTM0MyNDEwX1VGU1RBVF9UWFNISUZULAorCS5nZXRfY2xrc3JjCT0gczNjMjQwMF9zZXJpYWxfZ2V0c291cmNlLAorCS5zZXRfY2xrc3JjCT0gczNjMjQwMF9zZXJpYWxfc2V0c291cmNlLAorCS5yZXNldF9wb3J0CT0gczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0LAorfTsKKworc3RhdGljIGludCBzM2MyNDAwX3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MDBfdWFydF9pbmYpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDAwX3NlcmlhbF9kcnYgPSB7CisJLnByb2JlCQk9IHMzYzI0MDBfc2VyaWFsX3Byb2JlLAorCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAorCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJzM2MyNDAwLXVhcnQiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9LAorfTsKKworczNjMjR4eF9jb25zb2xlX2luaXQoJnMzYzI0MDBfc2VyaWFsX2RydiwgJnMzYzI0MDBfdWFydF9pbmYpOworCitzdGF0aWMgaW5saW5lIGludCBzM2MyNDAwX3NlcmlhbF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MDBfc2VyaWFsX2RydiwgJnMzYzI0MDBfdWFydF9pbmYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgczNjMjQwMF9zZXJpYWxfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDAwX3NlcmlhbF9kcnYpOworfQorCittb2R1bGVfaW5pdChzM2MyNDAwX3NlcmlhbF9pbml0KTsKK21vZHVsZV9leGl0KHMzYzI0MDBfc2VyaWFsX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CitNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgUzNDMjQwMCBTb0MgU2VyaWFsIHBvcnQgZHJpdmVyIik7CitNT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0MDAtdWFydCIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCmluZGV4IDJiNmEwMTMuLmM1ZjAzZjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYworKysgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDEwLmMKQEAgLTEsMTI3MCArMSwzMCBAQAotLyoKLSAqIGxpbnV4L2RyaXZlcnMvc2VyaWFsL3MzYzI0MTAuYworLyogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQxMC5jCiAgKgotICogRHJpdmVyIGZvciBvbmJvYXJkIFVBUlRzIG9uIHRoZSBTYW1zdW5nIFMzQzI0WFgKKyAqIERyaXZlciBmb3IgU2Ftc3VuZyBTM0MyNDEwIFNvQyBvbmJvYXJkIFVBUlRzLgogICoKLSAqIEJhc2VkIG9uIGRyaXZlcnMvY2hhci9zZXJpYWwuYyBhbmQgZHJpdmVycy9jaGFyLzIxMjg1LmMKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCiAgKgotICogQmVuIERvb2tzLCAoYykgMjAwMy0yMDA1IFNpbXRlYyBFbGVjdHJvbmljcwotICoJaHR0cDovL3d3dy5zaW10ZWMuY28udWsvcHJvZHVjdHMvU1dMSU5VWC8KLSAqCi0gKiBDaGFuZ2Vsb2c6Ci0gKgotICogMjItSnVsLTIwMDQgIEJKRCAgRmluaXNoZWQgb2ZmIGRldmljZSByZXdyaXRlCi0gKgotICogMjEtSnVsLTIwMDQgIEJKRCAgVGhhbmtzIHRvIDxoZXJiZXRAMTN0aGZsb29yLmF0PiBmb3IgcG9pbnRpbmcgb3V0Ci0gKiAgICAgICAgICAgICAgICAgICBwcm9ibGVtcyB3aXRoIGJhdWQgcmF0ZSBhbmQgbG9zcyBvZiBJUiBzZXR0aW5ncy4gVXBkYXRlCi0gKiAgICAgICAgICAgICAgICAgICB0byBhZGQgY29uZmlndXJhdGlvbiB2aWEgcGxhdGZvcm1fZGV2aWNlIHN0cnVjdHVyZQotICoKLSAqIDI4LVNlcC0yMDA0ICBCSkQgIFJlLXdyaXRlIGZvciB0aGUgZm9sbG93aW5nIGl0ZW1zCi0gKgkJICAgICAtIFMzQzI0MTAgYW5kIFMzQzI0NDAgc2VyaWFsIHN1cHBvcnQKLSAqCQkgICAgIC0gUG93ZXIgTWFuYWdlbWVudCBzdXBwb3J0Ci0gKgkJICAgICAtIEZpeCBjb25zb2xlIHZpYSBJckRBIGRldmljZXMKLSAqCQkgICAgIC0gU3lzUmVxIChIZXJiZXJ0IFDDtnR6bCkKLSAqCQkgICAgIC0gQnJlYWsgY2hhcmFjdGVyIGhhbmRsaW5nIChIZXJiZXJ0IFDDtnR6bCkKLSAqCQkgICAgIC0gc3Bpbi1sb2NrIGluaXRpYWxpc2F0aW9uIChEaW1pdHJ5IEFuZHJpYykKLSAqCQkgICAgIC0gYWRkZWQgY2xvY2sgY29udHJvbAotICoJCSAgICAgLSB1cGRhdGVkIGluaXQgY29kZSB0byB1c2UgcGxhdGZvcm1fZGV2aWNlIGluZm8KLSAqCi0gKiAwNi1NYXItMjAwNSAgQkpEICBBZGQgczNjMjQ0MCBmY2xrIGNsb2NrIHNvdXJjZQotICoKLSAqIDA5LU1hci0yMDA1ICBCSkQgIEFkZCBzM2MyNDAwIHN1cHBvcnQKLSAqCi0gKiAxMC1NYXItMjAwNSAgTENWUiBDaGFuZ2VkIFMzQzI0MTBfVkFfVUFSVCB0byBTM0MyNFhYX1ZBX1VBUlQKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAqLwogCi0vKiBOb3RlIG9uIDI0NDAgZmNsayBjbG9jayBzb3VyY2UgaGFuZGxpbmcKLSAqCi0gKiBXaGlsc3QgaXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBmY2xrIGFzIGNsb2NrIHNvdXJjZSwgdGhlIG1ldGhvZAotICogb2YgcHJvcGVybHkgc3dpdGNoaW5nIHRvby9mcm9tIHRoaXMgaXMgY3VycmVudGx5IHVuLWltcGxlbWVudGVkLCBzbwotICogd2hpY2hldmVyIHdheSBpcyBjb25maWd1cmVkIGF0IHN0YXJ0dXAgaXMgdGhlIG9uZSB0aGF0IHdpbGwgYmUgdXNlZC4KLSovCi0KLS8qIEhvdGUgb24gMjQxMCBlcnJvciBoYW5kbGluZwotICoKLSAqIFRoZSBzM2MyNDEwIG1hbnVhbCBoYXMgYSBsb3ZlL2hhdGUgYWZmYWlyIHdpdGggdGhlIGNvbnRlbnRzIG9mIHRoZQotICogVUVSU1RBVCByZWdpc3RlciBpbiB0aGUgVUFSVCBibG9ja3MsIGFuZCBrZWVwcyBtYXJraW5nIHNvbWUgb2YgdGhlCi0gKiBlcnJvciBiaXRzIGFzIHJlc2VydmVkLiBIYXZpbmcgY2hlY2tlZCB3aXRoIHRoZSBzM2MyNDEweDAxLAotICogaXQgY29wZXMgd2l0aCBCUkVBS3MgcHJvcGVybHksIHNvIEkgYW0gaGFwcHkgdG8gaWdub3JlIHRoZSBSRVNFUlZFRAotICogZmVhdHVyZSBmcm9tIHRoZSBsYXR0ZXIgdmVyc2lvbnMgb2YgdGhlIG1hbnVhbC4KLSAqCi0gKiBJZiBpdCBiZWNvbWVzIGFwYXJyZW50IHRoYXQgbGF0dGVyIHZlcnNpb25zIG9mIHRoZSAyNDEwIHJlbW92ZSB0aGVzZQotICogYml0cywgdGhlbiBhY3Rpb24gd2lsbCBoYXZlIHRvIGJlIHRha2VuIHRvIGRpZmZlcmVudGlhdGUgdGhlIHZlcnNpb25zCi0gKiBhbmQgY2hhbmdlIHRoZSBwb2xpY3kgb24gQlJFQUsKLSAqCi0gKiBCSkQsIDA0LU5vdi0yMDA0Ci0qLwotCi0KLSNpZiBkZWZpbmVkKENPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFKSAmJiBkZWZpbmVkKENPTkZJR19NQUdJQ19TWVNSUSkKLSNkZWZpbmUgU1VQUE9SVF9TWVNSUQotI2VuZGlmCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgotI2luY2x1ZGUgPGxpbnV4L2NvbnNvbGUuaD4KLSNpbmNsdWRlIDxsaW51eC90dHkuaD4KLSNpbmNsdWRlIDxsaW51eC90dHlfZmxpcC5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+Ci0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRlIDxsaW51eC9jbGsuaD4KIAotI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9pcnEuaD4KLQogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCiAjaW5jbHVkZSA8YXNtL3BsYXQtczNjL3JlZ3Mtc2VyaWFsLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvcmVncy1ncGlvLmg+CiAKLS8qIHN0cnVjdHVyZXMgKi8KLQotc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvIHsKLQljaGFyCQkJKm5hbWU7Ci0JdW5zaWduZWQgaW50CQl0eXBlOwotCXVuc2lnbmVkIGludAkJZmlmb3NpemU7Ci0JdW5zaWduZWQgbG9uZwkJcnhfZmlmb21hc2s7Ci0JdW5zaWduZWQgbG9uZwkJcnhfZmlmb3NoaWZ0OwotCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9mdWxsOwotCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9tYXNrOwotCXVuc2lnbmVkIGxvbmcJCXR4X2ZpZm9zaGlmdDsKLQl1bnNpZ25lZCBsb25nCQl0eF9maWZvZnVsbDsKLQotCS8qIGNsb2NrIHNvdXJjZSBjb250cm9sICovCi0KLQlpbnQgKCpnZXRfY2xrc3JjKShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspOwotCWludCAoKnNldF9jbGtzcmMpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsayk7Ci0KLQkvKiB1YXJ0IGNvbnRyb2xzICovCi0JaW50ICgqcmVzZXRfcG9ydCkoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICopOwotfTsKLQotc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHsKLQl1bnNpZ25lZCBjaGFyCQkJcnhfY2xhaW1lZDsKLQl1bnNpZ25lZCBjaGFyCQkJdHhfY2xhaW1lZDsKLQotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbwkqaW5mbzsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYwkqY2xrc3JjOwotCXN0cnVjdCBjbGsJCQkqY2xrOwotCXN0cnVjdCBjbGsJCQkqYmF1ZGNsazsKLQlzdHJ1Y3QgdWFydF9wb3J0CQlwb3J0OwotfTsKLQotCi0vKiBjb25maWd1cmF0aW9uIGRlZmluZXMgKi8KLQotI2lmIDAKLSNpZiAxCi0vKiBzZW5kIGRlYnVnIHRvIHRoZSBsb3ctbGV2ZWwgb3V0cHV0IHJvdXRpbmVzICovCi0KLWV4dGVybiB2b2lkIHByaW50YXNjaWkoY29uc3QgY2hhciAqKTsKLQotc3RhdGljIHZvaWQKLXMzYzI0eHhfc2VyaWFsX2RiZyhjb25zdCBjaGFyICpmbXQsIC4uLikKLXsKLQl2YV9saXN0IHZhOwotCWNoYXIgYnVmZlsyNTZdOwotCi0JdmFfc3RhcnQodmEsIGZtdCk7Ci0JdnNwcmludGYoYnVmZiwgZm10LCB2YSk7Ci0JdmFfZW5kKHZhKTsKLQotCXByaW50YXNjaWkoYnVmZik7Ci19Ci0KLSNkZWZpbmUgZGJnKHguLi4pIHMzYzI0eHhfc2VyaWFsX2RiZyh4KQotCi0jZWxzZQotI2RlZmluZSBkYmcoeC4uLikgcHJpbnRrKEtFUk5fREVCVUcgInMzYzI0eHg6ICIpOwotI2VuZGlmCi0jZWxzZSAvKiBubyBkZWJ1ZyAqLwotI2RlZmluZSBkYmcoeC4uLikgZG8ge30gd2hpbGUoMCkKLSNlbmRpZgotCi0vKiBVQVJUIG5hbWUgYW5kIGRldmljZSBkZWZpbml0aW9ucyAqLwotCi0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX05BTUUJInR0eVNBQyIKLSNkZWZpbmUgUzNDMjRYWF9TRVJJQUxfTUFKT1IJMjA0Ci0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX01JTk9SCTY0Ci0KLQotLyogY29udmVyc2lvbiBmdW5jdGlvbnMgKi8KLQotI2RlZmluZSBzM2MyNHh4X2Rldl90b19wb3J0KF9fZGV2KSAoc3RydWN0IHVhcnRfcG9ydCAqKWRldl9nZXRfZHJ2ZGF0YShfX2RldikKLSNkZWZpbmUgczNjMjR4eF9kZXZfdG9fY2ZnKF9fZGV2KSAoc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKSgoX19kZXYpLT5wbGF0Zm9ybV9kYXRhKQotCi0vKiB3ZSBjYW4gc3VwcG9ydCAzIHVhcnRzLCBidXQgbm90IGFsd2F5cyB1c2UgdGhlbSAqLwotCi0jaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCi0jZGVmaW5lIE5SX1BPUlRTICgyKQotI2Vsc2UKLSNkZWZpbmUgTlJfUE9SVFMgKDMpCi0jZW5kaWYKLQotLyogcG9ydCBpcnEgbnVtYmVycyAqLwotCi0jZGVmaW5lIFRYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEgKyAxKQotI2RlZmluZSBSWF9JUlEocG9ydCkgKChwb3J0KS0+aXJxKQotCi0vKiByZWdpc3RlciBhY2Nlc3MgY29udHJvbHMgKi8KLQotI2RlZmluZSBwb3J0YWRkcihwb3J0LCByZWcpICgocG9ydCktPm1lbWJhc2UgKyAocmVnKSkKLQotI2RlZmluZSByZF9yZWdiKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRiKHBvcnRhZGRyKHBvcnQsIHJlZykpKQotI2RlZmluZSByZF9yZWdsKHBvcnQsIHJlZykgKF9fcmF3X3JlYWRsKHBvcnRhZGRyKHBvcnQsIHJlZykpKQotCi0jZGVmaW5lIHdyX3JlZ2IocG9ydCwgcmVnLCB2YWwpIFwKLSAgZG8geyBfX3Jhd193cml0ZWIodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKTsgfSB3aGlsZSgwKQotCi0jZGVmaW5lIHdyX3JlZ2wocG9ydCwgcmVnLCB2YWwpIFwKLSAgZG8geyBfX3Jhd193cml0ZWwodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKTsgfSB3aGlsZSgwKQotCi0vKiBtYWNyb3MgdG8gY2hhbmdlIG9uZSB0aGluZyB0byBhbm90aGVyICovCi0KLSNkZWZpbmUgdHhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMF0pCi0jZGVmaW5lIHJ4X2VuYWJsZWQocG9ydCkgKChwb3J0KS0+dW51c2VkWzFdKQotCi0vKiBmbGFnIHRvIGlnbm9yZSBhbGwgY2hhcmFjdGVycyBjb21taW5nIGluICovCi0jZGVmaW5lIFJYU1RBVF9EVU1NWV9SRUFEICgweDEwMDAwMDAwKQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqdG9fb3VycG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJldHVybiBjb250YWluZXJfb2YocG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0LCBwb3J0KTsKLX0KLQotLyogdHJhbnNsYXRlIGEgcG9ydCB0byB0aGUgZGV2aWNlIG5hbWUgKi8KLQotc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJldHVybiB0b19wbGF0Zm9ybV9kZXZpY2UocG9ydC0+ZGV2KS0+bmFtZTsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJldHVybiAocmRfcmVnbChwb3J0LCBTM0MyNDEwX1VUUlNUQVQpICYgUzNDMjQxMF9VVFJTVEFUX1RYRSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgaW50IHVjb24sIHVmY29uOwotCWludCBjb3VudCA9IDEwMDAwOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLQotCXdoaWxlICgtLWNvdW50ICYmICFzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KSkKLQkJdWRlbGF5KDEwMCk7Ci0KLQl1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7Ci0JdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOwotCi0JdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQl1Y29uIHw9IFMzQzI0MTBfVUNPTl9SWElSUU1PREU7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCi0JcnhfZW5hYmxlZChwb3J0KSA9IDE7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgdWNvbjsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0KLQl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCXVjb24gJj0gflMzQzI0MTBfVUNPTl9SWElSUU1PREU7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCi0JcnhfZW5hYmxlZChwb3J0KSA9IDA7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKHR4X2VuYWJsZWQocG9ydCkpIHsKLQkJZGlzYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKLQkJdHhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCi0JCQlzM2MyNHh4X3NlcmlhbF9yeF9lbmFibGUocG9ydCk7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdGFydF90eChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCWlmICghdHhfZW5hYmxlZChwb3J0KSkgewotCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKQotCQkJczNjMjR4eF9zZXJpYWxfcnhfZGlzYWJsZShwb3J0KTsKLQotCQllbmFibGVfaXJxKFRYX0lSUShwb3J0KSk7Ci0JCXR4X2VuYWJsZWQocG9ydCkgPSAxOwotCX0KLX0KLQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3J4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JaWYgKHJ4X2VuYWJsZWQocG9ydCkpIHsKLQkJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdG9wX3J4OiBwb3J0PSVwXG4iLCBwb3J0KTsKLQkJZGlzYWJsZV9pcnEoUlhfSVJRKHBvcnQpKTsKLQkJcnhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JfQotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9lbmFibGVfbXMoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLX0KLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnMzYzI0eHhfcG9ydF90b19pbmZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JcmV0dXJuIHRvX291cnBvcnQocG9ydCktPmluZm87Ci19Ci0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqczNjMjR4eF9wb3J0X3RvX2NmZyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCWlmIChwb3J0LT5kZXYgPT0gTlVMTCkKLQkJcmV0dXJuIE5VTEw7Ci0KLQlyZXR1cm4gKHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKilwb3J0LT5kZXYtPnBsYXRmb3JtX2RhdGE7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCi0JCQkJICAgICB1bnNpZ25lZCBsb25nIHVmc3RhdCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBvdXJwb3J0LT5pbmZvOwotCi0JaWYgKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9mdWxsKQotCQlyZXR1cm4gaW5mby0+Zmlmb3NpemU7Ci0KLQlyZXR1cm4gKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9tYXNrKSA+PiBpbmZvLT5yeF9maWZvc2hpZnQ7Ci19Ci0KLQotLyogPyAtIHdoZXJlIGhhcyBwYXJpdHkgZ29uZT8/ICovCi0jZGVmaW5lIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkgKDB4MTAwMCkKLQotc3RhdGljIGlycXJldHVybl90Ci1zM2MyNHh4X3NlcmlhbF9yeF9jaGFycyhpbnQgaXJxLCB2b2lkICpkZXZfaWQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gZGV2X2lkOwotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKLQlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5ID0gcG9ydC0+aW5mby0+dHR5OwotCXVuc2lnbmVkIGludCB1ZmNvbiwgY2gsIGZsYWcsIHVmc3RhdCwgdWVyc3RhdDsKLQlpbnQgbWF4X2NvdW50ID0gNjQ7Ci0KLQl3aGlsZSAobWF4X2NvdW50LS0gPiAwKSB7Ci0JCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKLQkJdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7Ci0KLQkJaWYgKHMzYzI0eHhfc2VyaWFsX3J4X2ZpZm9jbnQob3VycG9ydCwgdWZzdGF0KSA9PSAwKQotCQkJYnJlYWs7Ci0KLQkJdWVyc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRVJTVEFUKTsKLQkJY2ggPSByZF9yZWdiKHBvcnQsIFMzQzI0MTBfVVJYSCk7Ci0KLQkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykgewotCQkJaW50IHR4ZSA9IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpOwotCi0JCQlpZiAocnhfZW5hYmxlZChwb3J0KSkgewotCQkJCWlmICghdHhlKSB7Ci0JCQkJCXJ4X2VuYWJsZWQocG9ydCkgPSAwOwotCQkJCQljb250aW51ZTsKLQkJCQl9Ci0JCQl9IGVsc2UgewotCQkJCWlmICh0eGUpIHsKLQkJCQkJdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOwotCQkJCQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIHVmY29uKTsKLQkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDE7Ci0JCQkJCWdvdG8gb3V0OwotCQkJCX0KLQkJCQljb250aW51ZTsKLQkJCX0KLQkJfQotCi0JCS8qIGluc2VydCB0aGUgY2hhcmFjdGVyIGludG8gdGhlIGJ1ZmZlciAqLwotCi0JCWZsYWcgPSBUVFlfTk9STUFMOwotCQlwb3J0LT5pY291bnQucngrKzsKLQotCQlpZiAodW5saWtlbHkodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9BTlkpKSB7Ci0JCQlkYmcoInJ4ZXJyOiBwb3J0IGNoPTB4JTAyeCwgcnhzPTB4JTA4eFxuIiwKLQkJCSAgICBjaCwgdWVyc3RhdCk7Ci0KLQkJCS8qIGNoZWNrIGZvciBicmVhayAqLwotCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspIHsKLQkJCQlkYmcoImJyZWFrIVxuIik7Ci0JCQkJcG9ydC0+aWNvdW50LmJyaysrOwotCQkJCWlmICh1YXJ0X2hhbmRsZV9icmVhayhwb3J0KSkKLQkJCQkgICAgZ290byBpZ25vcmVfY2hhcjsKLQkJCX0KLQotCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfRlJBTUUpCi0JCQkJcG9ydC0+aWNvdW50LmZyYW1lKys7Ci0JCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOKQotCQkJCXBvcnQtPmljb3VudC5vdmVycnVuKys7Ci0KLQkJCXVlcnN0YXQgJj0gcG9ydC0+cmVhZF9zdGF0dXNfbWFzazsKLQotCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspCi0JCQkJZmxhZyA9IFRUWV9CUkVBSzsKLQkJCWVsc2UgaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfUEFSSVRZKQotCQkJCWZsYWcgPSBUVFlfUEFSSVRZOwotCQkJZWxzZSBpZiAodWVyc3RhdCAmICggUzNDMjQxMF9VRVJTVEFUX0ZSQU1FIHwgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pKQotCQkJCWZsYWcgPSBUVFlfRlJBTUU7Ci0JCX0KLQotCQlpZiAodWFydF9oYW5kbGVfc3lzcnFfY2hhcihwb3J0LCBjaCkpCi0JCQlnb3RvIGlnbm9yZV9jaGFyOwotCi0JCXVhcnRfaW5zZXJ0X2NoYXIocG9ydCwgdWVyc3RhdCwgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4sIGNoLCBmbGFnKTsKLQotCWlnbm9yZV9jaGFyOgotCQljb250aW51ZTsKLQl9Ci0JdHR5X2ZsaXBfYnVmZmVyX3B1c2godHR5KTsKLQotIG91dDoKLQlyZXR1cm4gSVJRX0hBTkRMRUQ7Ci19Ci0KLXN0YXRpYyBpcnFyZXR1cm5fdCBzM2MyNHh4X3NlcmlhbF90eF9jaGFycyhpbnQgaXJxLCB2b2lkICppZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBpZDsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7Ci0Jc3RydWN0IGNpcmNfYnVmICp4bWl0ID0gJnBvcnQtPmluZm8tPnhtaXQ7Ci0JaW50IGNvdW50ID0gMjU2OwotCi0JaWYgKHBvcnQtPnhfY2hhcikgewotCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgcG9ydC0+eF9jaGFyKTsKLQkJcG9ydC0+aWNvdW50LnR4Kys7Ci0JCXBvcnQtPnhfY2hhciA9IDA7Ci0JCWdvdG8gb3V0OwotCX0KLQotCS8qIGlmIHRoZXJlIGlzbnQgYW55dGhpbmcgbW9yZSB0byB0cmFuc21pdCwgb3IgdGhlIHVhcnQgaXMgbm93Ci0JICogc3RvcHBlZCwgZGlzYWJsZSB0aGUgdWFydCBhbmQgZXhpdAotCSovCi0KLQlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpIHx8IHVhcnRfdHhfc3RvcHBlZChwb3J0KSkgewotCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKiB0cnkgYW5kIGRyYWluIHRoZSBidWZmZXIuLi4gKi8KLQotCXdoaWxlICghdWFydF9jaXJjX2VtcHR5KHhtaXQpICYmIGNvdW50LS0gPiAwKSB7Ci0JCWlmIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKSAmIG91cnBvcnQtPmluZm8tPnR4X2ZpZm9mdWxsKQotCQkJYnJlYWs7Ci0KLQkJd3JfcmVnYihwb3J0LCBTM0MyNDEwX1VUWEgsIHhtaXQtPmJ1Zlt4bWl0LT50YWlsXSk7Ci0JCXhtaXQtPnRhaWwgPSAoeG1pdC0+dGFpbCArIDEpICYgKFVBUlRfWE1JVF9TSVpFIC0gMSk7Ci0JCXBvcnQtPmljb3VudC50eCsrOwotCX0KLQotCWlmICh1YXJ0X2NpcmNfY2hhcnNfcGVuZGluZyh4bWl0KSA8IFdBS0VVUF9DSEFSUykKLQkJdWFydF93cml0ZV93YWtldXAocG9ydCk7Ci0KLQlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpKQotCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOwotCi0gb3V0OgotCXJldHVybiBJUlFfSEFORExFRDsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCXVuc2lnbmVkIGxvbmcgdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7Ci0JdW5zaWduZWQgbG9uZyB1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7Ci0KLQlpZiAodWZjb24gJiBTM0MyNDEwX1VGQ09OX0ZJRk9NT0RFKSB7Ci0JCWlmICgodWZzdGF0ICYgaW5mby0+dHhfZmlmb21hc2spICE9IDAgfHwKLQkJICAgICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkpCi0JCQlyZXR1cm4gMDsKLQotCQlyZXR1cm4gMTsKLQl9Ci0KLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7Ci19Ci0KLS8qIG5vIG1vZGVtIGNvbnRyb2wgbGluZXMgKi8KLXN0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JdW5zaWduZWQgaW50IHVtc3RhdCA9IHJkX3JlZ2IocG9ydCxTM0MyNDEwX1VNU1RBVCk7Ci0KLQlpZiAodW1zdGF0ICYgUzNDMjQxMF9VTVNUQVRfQ1RTKQotCQlyZXR1cm4gVElPQ01fQ0FSIHwgVElPQ01fRFNSIHwgVElPQ01fQ1RTOwotCWVsc2UKLQkJcmV0dXJuIFRJT0NNX0NBUiB8IFRJT0NNX0RTUjsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBtY3RybCkKLXsKLQkvKiB0b2RvIC0gcG9zc2libHkgcmVtb3ZlIEFGQyBhbmQgZG8gbWFudWFsIENUUyAqLwotfQotCi1zdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGJyZWFrX3N0YXRlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgaW50IHVjb247Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCi0JdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQotCWlmIChicmVha19zdGF0ZSkKLQkJdWNvbiB8PSBTM0MyNDEwX1VDT05fU0JSRUFLOwotCWVsc2UKLQkJdWNvbiAmPSB+UzNDMjQxMF9VQ09OX1NCUkVBSzsKLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKLQotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfc2h1dGRvd24oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCi0JaWYgKG91cnBvcnQtPnR4X2NsYWltZWQpIHsKLQkJZnJlZV9pcnEoVFhfSVJRKHBvcnQpLCBvdXJwb3J0KTsKLQkJdHhfZW5hYmxlZChwb3J0KSA9IDA7Ci0JCW91cnBvcnQtPnR4X2NsYWltZWQgPSAwOwotCX0KLQotCWlmIChvdXJwb3J0LT5yeF9jbGFpbWVkKSB7Ci0JCWZyZWVfaXJxKFJYX0lSUShwb3J0KSwgb3VycG9ydCk7Ci0JCW91cnBvcnQtPnJ4X2NsYWltZWQgPSAwOwotCQlyeF9lbmFibGVkKHBvcnQpID0gMDsKLQl9Ci19Ci0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdGFydHVwKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKLQlpbnQgcmV0OwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwOiBwb3J0PSVwICglMDhseCwlcClcbiIsCi0JICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UpOwotCi0JcnhfZW5hYmxlZChwb3J0KSA9IDE7Ci0KLQlyZXQgPSByZXF1ZXN0X2lycShSWF9JUlEocG9ydCksCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3J4X2NoYXJzLCAwLAotCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7Ci0KLQlpZiAocmV0ICE9IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJjYW5ub3QgZ2V0IGlycSAlZFxuIiwgUlhfSVJRKHBvcnQpKTsKLQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlvdXJwb3J0LT5yeF9jbGFpbWVkID0gMTsKLQotCWRiZygicmVxdWVzdGluZyB0eCBpcnEuLi5cbiIpOwotCi0JdHhfZW5hYmxlZChwb3J0KSA9IDE7Ci0KLQlyZXQgPSByZXF1ZXN0X2lycShUWF9JUlEocG9ydCksCi0JCQkgIHMzYzI0eHhfc2VyaWFsX3R4X2NoYXJzLCAwLAotCQkJICBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KSwgb3VycG9ydCk7Ci0KLQlpZiAocmV0KSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IGdldCBpcnEgJWRcbiIsIFRYX0lSUShwb3J0KSk7Ci0JCWdvdG8gZXJyOwotCX0KLQotCW91cnBvcnQtPnR4X2NsYWltZWQgPSAxOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9zdGFydHVwIG9rXG4iKTsKLQotCS8qIHRoZSBwb3J0IHJlc2V0IGNvZGUgc2hvdWxkIGhhdmUgZG9uZSB0aGUgY29ycmVjdAotCSAqIHJlZ2lzdGVyIHNldHVwIGZvciB0aGUgcG9ydCBjb250cm9scyAqLwotCi0JcmV0dXJuIHJldDsKLQotIGVycjoKLQlzM2MyNHh4X3NlcmlhbF9zaHV0ZG93bihwb3J0KTsKLQlyZXR1cm4gcmV0OwotfQotCi0vKiBwb3dlciBwb3dlciBtYW5hZ2VtZW50IGNvbnRyb2wgKi8KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfcG0oc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IGxldmVsLAotCQkJICAgICAgdW5zaWduZWQgaW50IG9sZCkKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCi0Jc3dpdGNoIChsZXZlbCkgewotCWNhc2UgMzoKLQkJaWYgKCFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykgJiYgb3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMKQotCQkJY2xrX2Rpc2FibGUob3VycG9ydC0+YmF1ZGNsayk7Ci0KLQkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKLQkJYnJlYWs7Ci0KLQljYXNlIDA6Ci0JCWNsa19lbmFibGUob3VycG9ydC0+Y2xrKTsKLQotCQlpZiAoIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSAmJiBvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwpCi0JCQljbGtfZW5hYmxlKG91cnBvcnQtPmJhdWRjbGspOwotCi0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCXByaW50ayhLRVJOX0VSUiAiczNjMjR4eF9zZXJpYWw6IHVua25vd24gcG0gJWRcbiIsIGxldmVsKTsKLQl9Ci19Ci0KLS8qIGJhdWQgcmF0ZSBjYWxjdWxhdGlvbgotICoKLSAqIFRoZSBVQVJUcyBvbiB0aGUgUzNDMjQxMC9TM0MyNDQwIGNhbiB0YWtlIHRoZWlyIGNsb2NrcyBmcm9tIGEgbnVtYmVyCi0gKiBvZiBkaWZmZXJlbnQgc291cmNlcywgaW5jbHVkaW5nIHRoZSBwZXJpcGhlcmFsIGNsb2NrICgicGNsayIpIGFuZCBhbgotICogZXh0ZXJuYWwgY2xvY2sgKCJ1Y2xrIikuIFRoZSBTM0MyNDQwIGFsc28gYWRkcyB0aGUgY29yZSBjbG9jayAoImZjbGsiKQotICogd2l0aCBhIHByb2dyYW1tYWJsZSBleHRyYSBkaXZpc29yLgotICoKLSAqIFRoZSBmb2xsb3dpbmcgY29kZSBnb2VzIHRocm91Z2ggdGhlIGNsb2NrIHNvdXJjZXMsIGFuZCBjYWxjdWxhdGVzIHRoZQotICogYmF1ZCBjbG9ja3MgKGFuZCB0aGUgcmVzdWx0YW50IGFjdHVhbCBiYXVkIHJhdGVzKSBhbmQgdGhlbiB0cmllcyB0bwotICogcGljayB0aGUgY2xvc2VzdCBvbmUgYW5kIHNlbGVjdCB0aGF0LgotICoKLSovCi0KLQotI2RlZmluZSBNQVhfQ0xLUyAoOCkKLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIHRtcF9jbGtzcmMgPSB7Ci0JLm5hbWUJCT0gInBjbGsiLAotCS5taW5fYmF1ZAk9IDAsCi0JLm1heF9iYXVkCT0gMCwKLQkuZGl2aXNvcgk9IDEsCi19OwotCi1zdGF0aWMgaW5saW5lIGludAotczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JcmV0dXJuIChpbmZvLT5nZXRfY2xrc3JjKShwb3J0LCBjKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQKLXMzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqYykKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKLQotCXJldHVybiAoaW5mby0+c2V0X2Nsa3NyYykocG9ydCwgYyk7Ci19Ci0KLXN0cnVjdCBiYXVkX2NhbGMgewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjCSpjbGtzcmM7Ci0JdW5zaWduZWQgaW50CQkJIGNhbGM7Ci0JdW5zaWduZWQgaW50CQkJIHF1b3Q7Ci0Jc3RydWN0IGNsawkJCSpzcmM7Ci19OwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHN0cnVjdCBiYXVkX2NhbGMgKmNhbGMsCi0JCQkJICAgc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrc3JjLAotCQkJCSAgIHVuc2lnbmVkIGludCBiYXVkKQotewotCXVuc2lnbmVkIGxvbmcgcmF0ZTsKLQotCWNhbGMtPnNyYyA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMtPm5hbWUpOwotCWlmIChjYWxjLT5zcmMgPT0gTlVMTCB8fCBJU19FUlIoY2FsYy0+c3JjKSkKLQkJcmV0dXJuIDA7Ci0KLQlyYXRlID0gY2xrX2dldF9yYXRlKGNhbGMtPnNyYyk7Ci0JcmF0ZSAvPSBjbGtzcmMtPmRpdmlzb3I7Ci0KLQljYWxjLT5jbGtzcmMgPSBjbGtzcmM7Ci0JY2FsYy0+cXVvdCA9IChyYXRlICsgKDggKiBiYXVkKSkgLyAoMTYgKiBiYXVkKTsKLQljYWxjLT5jYWxjID0gKHJhdGUgLyAoY2FsYy0+cXVvdCAqIDE2KSk7Ci0KLQljYWxjLT5xdW90LS07Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0Y2xrKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJCSAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKipjbGtzcmMsCi0JCQkJCSAgc3RydWN0IGNsayAqKmNsaywKLQkJCQkJICB1bnNpZ25lZCBpbnQgYmF1ZCkKLXsKLQlzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcgPSBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtwOwotCXN0cnVjdCBiYXVkX2NhbGMgcmVzW01BWF9DTEtTXTsKLQlzdHJ1Y3QgYmF1ZF9jYWxjICpyZXNwdHIsICpiZXN0LCAqc3B0cjsKLQlpbnQgaTsKLQotCWNsa3AgPSBjZmctPmNsb2NrczsKLQliZXN0ID0gTlVMTDsKLQotCWlmIChjZmctPmNsb2Nrc19zaXplIDwgMikgewotCQlpZiAoY2ZnLT5jbG9ja3Nfc2l6ZSA9PSAwKQotCQkJY2xrcCA9ICZ0bXBfY2xrc3JjOwotCi0JCS8qIGNoZWNrIHRvIHNlZSBpZiB3ZSdyZSBzb3VyY2luZyBmY2xrLCBhbmQgaWYgc28gd2UncmUKLQkJICogZ29pbmcgdG8gaGF2ZSB0byB1cGRhdGUgdGhlIGNsb2NrIHNvdXJjZQotCQkgKi8KLQotCQlpZiAoc3RyY21wKGNsa3AtPm5hbWUsICJmY2xrIikgPT0gMCkgewotCQkJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgc3JjOwotCi0JCQlzM2MyNHh4X3NlcmlhbF9nZXRzb3VyY2UocG9ydCwgJnNyYyk7Ci0KLQkJCS8qIGNoZWNrIHRoYXQgdGhlIHBvcnQgYWxyZWFkeSB1c2luZyBmY2xrLCBhbmQgaWYKLQkJCSAqIG5vdCwgdGhlbiByZS1zZWxlY3QgZmNsawotCQkJICovCi0KLQkJCWlmIChzdHJjbXAoc3JjLm5hbWUsIGNsa3AtPm5hbWUpID09IDApIHsKLQkJCQlzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2UocG9ydCwgY2xrcCk7Ci0JCQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZzcmMpOwotCQkJfQotCi0JCQljbGtwLT5kaXZpc29yID0gc3JjLmRpdmlzb3I7Ci0JCX0KLQotCQlzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChyZXMsIHBvcnQsIGNsa3AsIGJhdWQpOwotCQliZXN0ID0gcmVzOwotCQlyZXNwdHIgPSBiZXN0ICsgMTsKLQl9IGVsc2UgewotCQlyZXNwdHIgPSByZXM7Ci0KLQkJZm9yIChpID0gMDsgaSA8IGNmZy0+Y2xvY2tzX3NpemU7IGkrKywgY2xrcCsrKSB7Ci0JCQlpZiAoczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQocmVzcHRyLCBwb3J0LCBjbGtwLCBiYXVkKSkKLQkJCQlyZXNwdHIrKzsKLQkJfQotCX0KLQotCS8qIG9rLCB3ZSBub3cgbmVlZCB0byBzZWxlY3QgdGhlIGJlc3QgY2xvY2sgd2UgZm91bmQgKi8KLQotCWlmICghYmVzdCkgewotCQl1bnNpZ25lZCBpbnQgZGV2aWF0aW9uID0gKDE8PDMwKXwoKDE8PDMwKS0xKTsKLQkJaW50IGNhbGNfZGV2aWF0aW9uOwotCi0JCWZvciAoc3B0ciA9IHJlczsgc3B0ciA8IHJlc3B0cjsgc3B0cisrKSB7Ci0JCQlwcmludGsoS0VSTl9ERUJVRwotCQkJICAgICAgICJmb3VuZCBjbGsgJXAgKCVzKSBxdW90ICVkLCBjYWxjICVkXG4iLAotCQkJICAgICAgIHNwdHItPmNsa3NyYywgc3B0ci0+Y2xrc3JjLT5uYW1lLAotCQkJICAgICAgIHNwdHItPnF1b3QsIHNwdHItPmNhbGMpOwotCi0JCQljYWxjX2RldmlhdGlvbiA9IGJhdWQgLSBzcHRyLT5jYWxjOwotCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgMCkKLQkJCQljYWxjX2RldmlhdGlvbiA9IC1jYWxjX2RldmlhdGlvbjsKLQotCQkJaWYgKGNhbGNfZGV2aWF0aW9uIDwgZGV2aWF0aW9uKSB7Ci0JCQkJYmVzdCA9IHNwdHI7Ci0JCQkJZGV2aWF0aW9uID0gY2FsY19kZXZpYXRpb247Ci0JCQl9Ci0JCX0KLQotCQlwcmludGsoS0VSTl9ERUJVRyAiYmVzdCAlcCAoZGV2aWF0aW9uICVkKVxuIiwgYmVzdCwgZGV2aWF0aW9uKTsKLQl9Ci0KLQlwcmludGsoS0VSTl9ERUJVRyAic2VsZWN0ZWQgY2xvY2sgJXAgKCVzKSBxdW90ICVkLCBjYWxjICVkXG4iLAotCSAgICAgICBiZXN0LT5jbGtzcmMsIGJlc3QtPmNsa3NyYy0+bmFtZSwgYmVzdC0+cXVvdCwgYmVzdC0+Y2FsYyk7Ci0KLQkvKiBzdG9yZSByZXN1bHRzIHRvIHBhc3MgYmFjayAqLwotCi0JKmNsa3NyYyA9IGJlc3QtPmNsa3NyYzsKLQkqY2xrICAgID0gYmVzdC0+c3JjOwotCi0JcmV0dXJuIGJlc3QtPnF1b3Q7Ci19Ci0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgICAgIHN0cnVjdCBrdGVybWlvcyAqdGVybWlvcywKLQkJCQkgICAgICAgc3RydWN0IGt0ZXJtaW9zICpvbGQpCi17Ci0Jc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnID0gczNjMjR4eF9wb3J0X3RvX2NmZyhwb3J0KTsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSB0b19vdXJwb3J0KHBvcnQpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGtzcmMgPSBOVUxMOwotCXN0cnVjdCBjbGsgKmNsayA9IE5VTEw7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBpbnQgYmF1ZCwgcXVvdDsKLQl1bnNpZ25lZCBpbnQgdWxjb247Ci0JdW5zaWduZWQgaW50IHVtY29uOwotCi0JLyoKLQkgKiBXZSBkb24ndCBzdXBwb3J0IG1vZGVtIGNvbnRyb2wgbGluZXMuCi0JICovCi0JdGVybWlvcy0+Y19jZmxhZyAmPSB+KEhVUENMIHwgQ01TUEFSKTsKLQl0ZXJtaW9zLT5jX2NmbGFnIHw9IENMT0NBTDsKLQotCS8qCi0JICogQXNrIHRoZSBjb3JlIHRvIGNhbGN1bGF0ZSB0aGUgZGl2aXNvciBmb3IgdXMuCi0JICovCi0KLQliYXVkID0gdWFydF9nZXRfYmF1ZF9yYXRlKHBvcnQsIHRlcm1pb3MsIG9sZCwgMCwgMTE1MjAwKjgpOwotCi0JaWYgKGJhdWQgPT0gMzg0MDAgJiYgKHBvcnQtPmZsYWdzICYgVVBGX1NQRF9NQVNLKSA9PSBVUEZfU1BEX0NVU1QpCi0JCXF1b3QgPSBwb3J0LT5jdXN0b21fZGl2aXNvcjsKLQllbHNlCi0JCXF1b3QgPSBzM2MyNHh4X3NlcmlhbF9nZXRjbGsocG9ydCwgJmNsa3NyYywgJmNsaywgYmF1ZCk7Ci0KLQkvKiBjaGVjayB0byBzZWUgaWYgd2UgbmVlZCAgdG8gY2hhbmdlIGNsb2NrIHNvdXJjZSAqLwotCi0JaWYgKG91cnBvcnQtPmNsa3NyYyAhPSBjbGtzcmMgfHwgb3VycG9ydC0+YmF1ZGNsayAhPSBjbGspIHsKLQkJczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHBvcnQsIGNsa3NyYyk7Ci0KLQkJaWYgKG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCAmJiAhSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspKSB7Ci0JCQljbGtfZGlzYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKLQkJCW91cnBvcnQtPmJhdWRjbGsgID0gTlVMTDsKLQkJfQotCi0JCWNsa19lbmFibGUoY2xrKTsKLQotCQlvdXJwb3J0LT5jbGtzcmMgPSBjbGtzcmM7Ci0JCW91cnBvcnQtPmJhdWRjbGsgPSBjbGs7Ci0JfQotCi0Jc3dpdGNoICh0ZXJtaW9zLT5jX2NmbGFnICYgQ1NJWkUpIHsKLQljYXNlIENTNToKLQkJZGJnKCJjb25maWc6IDViaXRzL2NoYXJcbiIpOwotCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzU7Ci0JCWJyZWFrOwotCWNhc2UgQ1M2OgotCQlkYmcoImNvbmZpZzogNmJpdHMvY2hhclxuIik7Ci0JCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNjsKLQkJYnJlYWs7Ci0JY2FzZSBDUzc6Ci0JCWRiZygiY29uZmlnOiA3Yml0cy9jaGFyXG4iKTsKLQkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M3OwotCQlicmVhazsKLQljYXNlIENTODoKLQlkZWZhdWx0OgotCQlkYmcoImNvbmZpZzogOGJpdHMvY2hhclxuIik7Ci0JCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTODsKLQkJYnJlYWs7Ci0JfQotCi0JLyogcHJlc2VydmUgb3JpZ2luYWwgbGNvbiBJUiBzZXR0aW5ncyAqLwotCXVsY29uIHw9IChjZmctPnVsY29uICYgUzNDMjQxMF9MQ09OX0lSTSk7Ci0KLQlpZiAodGVybWlvcy0+Y19jZmxhZyAmIENTVE9QQikKLQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1NUT1BCOwotCi0JdW1jb24gPSAodGVybWlvcy0+Y19jZmxhZyAmIENSVFNDVFMpID8gUzNDMjQxMF9VTUNPTV9BRkMgOiAwOwotCi0JaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJFTkIpIHsKLQkJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBQQVJPREQpCi0JCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUE9ERDsKLQkJZWxzZQotCQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BFVkVOOwotCX0gZWxzZSB7Ci0JCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QTk9ORTsKLQl9Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCi0JZGJnKCJzZXR0aW5nIHVsY29uIHRvICUwOHgsIGJyZGRpdiB0byAlZFxuIiwgdWxjb24sIHF1b3QpOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCB1bGNvbik7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VCUkRJViwgcXVvdCk7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VNQ09OLCB1bWNvbik7Ci0KLQlkYmcoInVhcnQ6IHVsY29uID0gMHglMDh4LCB1Y29uID0gMHglMDh4LCB1ZmNvbiA9IDB4JTA4eFxuIiwKLQkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OKSwKLQkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pLAotCSAgICByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04pKTsKLQotCS8qCi0JICogVXBkYXRlIHRoZSBwZXItcG9ydCB0aW1lb3V0LgotCSAqLwotCXVhcnRfdXBkYXRlX3RpbWVvdXQocG9ydCwgdGVybWlvcy0+Y19jZmxhZywgYmF1ZCk7Ci0KLQkvKgotCSAqIFdoaWNoIGNoYXJhY3RlciBzdGF0dXMgZmxhZ3MgYXJlIHdlIGludGVyZXN0ZWQgaW4/Ci0JICovCi0JcG9ydC0+cmVhZF9zdGF0dXNfbWFzayA9IFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOOwotCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSU5QQ0spCi0JCXBvcnQtPnJlYWRfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FIHwgUzNDMjQxMF9VRVJTVEFUX1BBUklUWTsKLQotCS8qCi0JICogV2hpY2ggY2hhcmFjdGVyIHN0YXR1cyBmbGFncyBzaG91bGQgd2UgaWdub3JlPwotCSAqLwotCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayA9IDA7Ci0JaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJR05QQVIpCi0JCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTjsKLQlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElHTkJSSyAmJiB0ZXJtaW9zLT5jX2lmbGFnICYgSUdOUEFSKQotCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX0ZSQU1FOwotCi0JLyoKLQkgKiBJZ25vcmUgYWxsIGNoYXJhY3RlcnMgaWYgQ1JFQUQgaXMgbm90IHNldC4KLQkgKi8KLQlpZiAoKHRlcm1pb3MtPmNfY2ZsYWcgJiBDUkVBRCkgPT0gMCkKLQkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFJYU1RBVF9EVU1NWV9SRUFEOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotfQotCi1zdGF0aWMgY29uc3QgY2hhciAqczNjMjR4eF9zZXJpYWxfdHlwZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXN3aXRjaCAocG9ydC0+dHlwZSkgewotCWNhc2UgUE9SVF9TM0MyNDEwOgotCQlyZXR1cm4gIlMzQzI0MTAiOwotCWNhc2UgUE9SVF9TM0MyNDQwOgotCQlyZXR1cm4gIlMzQzI0NDAiOwotCWNhc2UgUE9SVF9TM0MyNDEyOgotCQlyZXR1cm4gIlMzQzI0MTIiOwotCWRlZmF1bHQ6Ci0JCXJldHVybiBOVUxMOwotCX0KLX0KLQotI2RlZmluZSBNQVBfU0laRSAoMHgxMDApCi0KLXN0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQotewotCXJlbGVhc2VfbWVtX3JlZ2lvbihwb3J0LT5tYXBiYXNlLCBNQVBfU0laRSk7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCi17Ci0JY29uc3QgY2hhciAqbmFtZSA9IHMzYzI0eHhfc2VyaWFsX3BvcnRuYW1lKHBvcnQpOwotCXJldHVybiByZXF1ZXN0X21lbV9yZWdpb24ocG9ydC0+bWFwYmFzZSwgTUFQX1NJWkUsIG5hbWUpID8gMCA6IC1FQlVTWTsKLX0KLQotc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfY29uZmlnX3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGZsYWdzKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JaWYgKGZsYWdzICYgVUFSVF9DT05GSUdfVFlQRSAmJgotCSAgICBzM2MyNHh4X3NlcmlhbF9yZXF1ZXN0X3BvcnQocG9ydCkgPT0gMCkKLQkJcG9ydC0+dHlwZSA9IGluZm8tPnR5cGU7Ci19Ci0KLS8qCi0gKiB2ZXJpZnkgdGhlIG5ldyBzZXJpYWxfc3RydWN0IChmb3IgVElPQ1NTRVJJQUwpLgotICovCi1zdGF0aWMgaW50Ci1zM2MyNHh4X3NlcmlhbF92ZXJpZnlfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3Qgc2VyaWFsX3N0cnVjdCAqc2VyKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOwotCi0JaWYgKHNlci0+dHlwZSAhPSBQT1JUX1VOS05PV04gJiYgc2VyLT50eXBlICE9IGluZm8tPnR5cGUpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JcmV0dXJuIDA7Ci19Ci0KLQotI2lmZGVmIENPTkZJR19TRVJJQUxfUzNDMjQxMF9DT05TT0xFCi0KLXN0YXRpYyBzdHJ1Y3QgY29uc29sZSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlOwotCi0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgJnMzYzI0eHhfc2VyaWFsX2NvbnNvbGUKLSNlbHNlCi0jZGVmaW5lIFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUgTlVMTAotI2VuZGlmCi0KLXN0YXRpYyBzdHJ1Y3QgdWFydF9vcHMgczNjMjR4eF9zZXJpYWxfb3BzID0gewotCS5wbQkJPSBzM2MyNHh4X3NlcmlhbF9wbSwKLQkudHhfZW1wdHkJPSBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eSwKLQkuZ2V0X21jdHJsCT0gczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsLAotCS5zZXRfbWN0cmwJPSBzM2MyNHh4X3NlcmlhbF9zZXRfbWN0cmwsCi0JLnN0b3BfdHgJPSBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4LAotCS5zdGFydF90eAk9IHMzYzI0eHhfc2VyaWFsX3N0YXJ0X3R4LAotCS5zdG9wX3J4CT0gczNjMjR4eF9zZXJpYWxfc3RvcF9yeCwKLQkuZW5hYmxlX21zCT0gczNjMjR4eF9zZXJpYWxfZW5hYmxlX21zLAotCS5icmVha19jdGwJPSBzM2MyNHh4X3NlcmlhbF9icmVha19jdGwsCi0JLnN0YXJ0dXAJPSBzM2MyNHh4X3NlcmlhbF9zdGFydHVwLAotCS5zaHV0ZG93bgk9IHMzYzI0eHhfc2VyaWFsX3NodXRkb3duLAotCS5zZXRfdGVybWlvcwk9IHMzYzI0eHhfc2VyaWFsX3NldF90ZXJtaW9zLAotCS50eXBlCQk9IHMzYzI0eHhfc2VyaWFsX3R5cGUsCi0JLnJlbGVhc2VfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3JlbGVhc2VfcG9ydCwKLQkucmVxdWVzdF9wb3J0CT0gczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0LAotCS5jb25maWdfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX2NvbmZpZ19wb3J0LAotCS52ZXJpZnlfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3ZlcmlmeV9wb3J0LAotfTsKLQotCi1zdGF0aWMgc3RydWN0IHVhcnRfZHJpdmVyIHMzYzI0eHhfdWFydF9kcnYgPSB7Ci0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAotCS5kZXZfbmFtZQk9ICJzM2MyNDEwX3NlcmlhbCIsCi0JLm5yCQk9IDMsCi0JLmNvbnMJCT0gUzNDMjRYWF9TRVJJQUxfQ09OU09MRSwKLQkuZHJpdmVyX25hbWUJPSBTM0MyNFhYX1NFUklBTF9OQU1FLAotCS5tYWpvcgkJPSBTM0MyNFhYX1NFUklBTF9NQUpPUiwKLQkubWlub3IJCT0gUzNDMjRYWF9TRVJJQUxfTUlOT1IsCi19OwotCi1zdGF0aWMgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0IHMzYzI0eHhfc2VyaWFsX3BvcnRzW05SX1BPUlRTXSA9IHsKLQlbMF0gPSB7Ci0JCS5wb3J0ID0gewotCQkJLmxvY2sJCT0gX19TUElOX0xPQ0tfVU5MT0NLRUQoczNjMjR4eF9zZXJpYWxfcG9ydHNbMF0ucG9ydC5sb2NrKSwKLQkJCS5pb3R5cGUJCT0gVVBJT19NRU0sCi0JCQkuaXJxCQk9IElSUV9TM0NVQVJUX1JYMCwKLQkJCS51YXJ0Y2xrCT0gMCwKLQkJCS5maWZvc2l6ZQk9IDE2LAotCQkJLm9wcwkJPSAmczNjMjR4eF9zZXJpYWxfb3BzLAotCQkJLmZsYWdzCQk9IFVQRl9CT09UX0FVVE9DT05GLAotCQkJLmxpbmUJCT0gMCwKLQkJfQotCX0sCi0JWzFdID0gewotCQkucG9ydCA9IHsKLQkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzFdLnBvcnQubG9jayksCi0JCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDEsCi0JCQkudWFydGNsawk9IDAsCi0JCQkuZmlmb3NpemUJPSAxNiwKLQkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKLQkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJCS5saW5lCQk9IDEsCi0JCX0KLQl9LAotI2lmIE5SX1BPUlRTID4gMgotCi0JWzJdID0gewotCQkucG9ydCA9IHsKLQkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzJdLnBvcnQubG9jayksCi0JCQkuaW90eXBlCQk9IFVQSU9fTUVNLAotCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDIsCi0JCQkudWFydGNsawk9IDAsCi0JCQkuZmlmb3NpemUJPSAxNiwKLQkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKLQkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKLQkJCS5saW5lCQk9IDIsCi0JCX0KLQl9Ci0jZW5kaWYKLX07Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydAotICoKLSAqIHdyYXBwZXIgdG8gY2FsbCB0aGUgc3BlY2lmaWMgcmVzZXQgZm9yIHRoaXMgcG9ydCAocmVzZXQgdGhlIGZpZm9zCi0gKiBhbmQgdGhlIHNldHRpbmdzKQotKi8KLQotc3RhdGljIGlubGluZSBpbnQgczNjMjR4eF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKiBwb3J0LAotCQkJCQkgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7Ci0KLQlyZXR1cm4gKGluZm8tPnJlc2V0X3BvcnQpKHBvcnQsIGNmZyk7Ci19Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydAotICoKLSAqIGluaXRpYWxpc2UgYSBzaW5nbGUgc2VyaWFsIHBvcnQgZnJvbSB0aGUgcGxhdGZvcm0gZGV2aWNlIGdpdmVuCi0gKi8KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQoc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8sCi0JCQkJICAgIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXYpCi17Ci0Jc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OwotCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZzsKLQlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKLQlpbnQgcmV0OwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IHBvcnQ9JXAsIHBsYXRkZXY9JXBcbiIsIHBvcnQsIHBsYXRkZXYpOwotCi0JaWYgKHBsYXRkZXYgPT0gTlVMTCkKLQkJcmV0dXJuIC1FTk9ERVY7Ci0KLQljZmcgPSBzM2MyNHh4X2Rldl90b19jZmcoJnBsYXRkZXYtPmRldik7Ci0KLQlpZiAocG9ydC0+bWFwYmFzZSAhPSAwKQotCQlyZXR1cm4gMDsKLQotCWlmIChjZmctPmh3cG9ydCA+IDMpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JLyogc2V0dXAgaW5mbyBmb3IgcG9ydCAqLwotCXBvcnQtPmRldgk9ICZwbGF0ZGV2LT5kZXY7Ci0Jb3VycG9ydC0+aW5mbwk9IGluZm87Ci0KLQkvKiBjb3B5IHRoZSBpbmZvIGluIGZyb20gcHJvdmlkZWQgc3RydWN0dXJlICovCi0Jb3VycG9ydC0+cG9ydC5maWZvc2l6ZSA9IGluZm8tPmZpZm9zaXplOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6ICVwIChodyAlZCkuLi5cbiIsIHBvcnQsIGNmZy0+aHdwb3J0KTsKLQotCXBvcnQtPnVhcnRjbGsgPSAxOwotCi0JaWYgKGNmZy0+dWFydF9mbGFncyAmIFVQRl9DT05TX0ZMT1cpIHsKLQkJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IGVuYWJsaW5nIGZsb3cgY29udHJvbFxuIik7Ci0JCXBvcnQtPmZsYWdzIHw9IFVQRl9DT05TX0ZMT1c7Ci0JfQotCi0JLyogc29ydCBvdXIgdGhlIHBoeXNpY2FsIGFuZCB2aXJ0dWFsIGFkZHJlc3NlcyBmb3IgZWFjaCBVQVJUICovCi0KLQlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGxhdGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwotCWlmIChyZXMgPT0gTlVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBmaW5kIG1lbW9yeSByZXNvdXJjZSBmb3IgdWFydFxuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCWRiZygicmVzb3VyY2UgJXAgKCVseC4uJWx4KVxuIiwgcmVzLCByZXMtPnN0YXJ0LCByZXMtPmVuZCk7Ci0KLQlwb3J0LT5tYXBiYXNlCT0gcmVzLT5zdGFydDsKLQlwb3J0LT5tZW1iYXNlCT0gUzNDMjRYWF9WQV9VQVJUICsgKHJlcy0+c3RhcnQgLSBTM0MyNFhYX1BBX1VBUlQpOwotCXJldCA9IHBsYXRmb3JtX2dldF9pcnEocGxhdGRldiwgMCk7Ci0JaWYgKHJldCA8IDApCi0JCXBvcnQtPmlycSA9IDA7Ci0JZWxzZQotCQlwb3J0LT5pcnEgPSByZXQ7Ci0KLQlvdXJwb3J0LT5jbGsJPSBjbGtfZ2V0KCZwbGF0ZGV2LT5kZXYsICJ1YXJ0Iik7Ci0KLQlkYmcoInBvcnQ6IG1hcD0lMDh4LCBtZW09JTA4eCwgaXJxPSVkLCBjbG9jaz0lbGRcbiIsCi0JICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UsIHBvcnQtPmlycSwgcG9ydC0+dWFydGNsayk7Ci0KLQkvKiByZXNldCB0aGUgZmlmb3MgKGFuZCBzZXR1cCB0aGUgdWFydCkgKi8KLQlzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQocG9ydCwgY2ZnKTsKLQlyZXR1cm4gMDsKLX0KLQotLyogRGV2aWNlIGRyaXZlciBzZXJpYWwgcG9ydCBwcm9iZSAqLwotCi1zdGF0aWMgaW50IHByb2JlX2luZGV4ID0gMDsKLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsCi0JCQkJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydDsKLQlpbnQgcmV0OwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9wcm9iZSglcCwgJXApICVkXG4iLCBkZXYsIGluZm8sIHByb2JlX2luZGV4KTsKLQotCW91cnBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbcHJvYmVfaW5kZXhdOwotCXByb2JlX2luZGV4Kys7Ci0KLQlkYmcoIiVzOiBpbml0aWFsaXNpbmcgcG9ydCAlcC4uLlxuIiwgX19mdW5jX18sIG91cnBvcnQpOwotCi0JcmV0ID0gczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0KG91cnBvcnQsIGluZm8sIGRldik7Ci0JaWYgKHJldCA8IDApCi0JCWdvdG8gcHJvYmVfZXJyOwotCi0JZGJnKCIlczogYWRkaW5nIHBvcnRcbiIsIF9fZnVuY19fKTsKLQl1YXJ0X2FkZF9vbmVfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgJm91cnBvcnQtPnBvcnQpOwotCXBsYXRmb3JtX3NldF9kcnZkYXRhKGRldiwgJm91cnBvcnQtPnBvcnQpOwotCi0JcmV0dXJuIDA7Ci0KLSBwcm9iZV9lcnI6Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7Ci0KLQlpZiAocG9ydCkKLQkJdWFydF9yZW1vdmVfb25lX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qIFVBUlQgcG93ZXIgbWFuYWdlbWVudCBjb2RlICovCi0KLSNpZmRlZiBDT05GSUdfUE0KLQotc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQotewotCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7Ci0KLQlpZiAocG9ydCkKLQkJdWFydF9zdXNwZW5kX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydCgmZGV2LT5kZXYpOwotCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7Ci0KLQlpZiAocG9ydCkgewotCQljbGtfZW5hYmxlKG91cnBvcnQtPmNsayk7Ci0JCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpKTsKLQkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKLQotCQl1YXJ0X3Jlc3VtZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCBwb3J0KTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQotI2Vsc2UKLSNkZWZpbmUgczNjMjR4eF9zZXJpYWxfc3VzcGVuZCBOVUxMCi0jZGVmaW5lIHMzYzI0eHhfc2VyaWFsX3Jlc3VtZSAgTlVMTAotI2VuZGlmCi0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCi0JCQkgICAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQotewotCWRiZygiczNjMjR4eF9zZXJpYWxfaW5pdCglcCwlcClcbiIsIGRydiwgaW5mbyk7Ci0JcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcihkcnYpOwotfQotCi0KLS8qIG5vdyBjb21lcyB0aGUgY29kZSB0byBpbml0aWFsaXNlIGVpdGhlciB0aGUgczNjMjQxMCBvciBzM2MyNDQwIHNlcmlhbAotICogcG9ydCBpbmZvcm1hdGlvbgotKi8KLQotLyogY3B1IHNwZWNpZmljIHZhcmlhdGlvbnMgb24gdGhlIHNlcmlhbCBwb3J0IHN1cHBvcnQgKi8KLQotI2lmZGVmIENPTkZJR19DUFVfUzNDMjQwMAotCi1zdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQotewotCWNsay0+ZGl2aXNvciA9IDE7Ci0JY2xrLT5uYW1lID0gInBjbGsiOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQwMF9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQlkYmcoInMzYzI0MDBfc2VyaWFsX3Jlc2V0cG9ydDogcG9ydD0lcCAoJTA4bHgpLCBjZmc9JXBcbiIsCi0JICAgIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7Ci0KLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgIGNmZy0+dWNvbik7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKLQotCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQwMF91YXJ0X2luZiA9IHsKLQkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDAwIFVBUlQiLAotCS50eXBlCQk9IFBPUlRfUzNDMjQwMCwKLQkuZmlmb3NpemUJPSAxNiwKLQkucnhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9SWE1BU0ssCi0JLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1JYU0hJRlQsCi0JLnJ4X2ZpZm9mdWxsCT0gUzNDMjQxMF9VRlNUQVRfUlhGVUxMLAotCS50eF9maWZvZnVsbAk9IFMzQzI0MTBfVUZTVEFUX1RYRlVMTCwKLQkudHhfZmlmb21hc2sJPSBTM0MyNDEwX1VGU1RBVF9UWE1BU0ssCi0JLnR4X2ZpZm9zaGlmdAk9IFMzQzI0MTBfVUZTVEFUX1RYU0hJRlQsCi0JLmdldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9nZXRzb3VyY2UsCi0JLnNldF9jbGtzcmMJPSBzM2MyNDAwX3NlcmlhbF9zZXRzb3VyY2UsCi0JLnJlc2V0X3BvcnQJPSBzM2MyNDAwX3NlcmlhbF9yZXNldHBvcnQsCi19OwotCi1zdGF0aWMgaW50IHMzYzI0MDBfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQwMF91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0MDBfc2VyaWFsX2RydiA9IHsKLQkucHJvYmUJCT0gczNjMjQwMF9zZXJpYWxfcHJvYmUsCi0JLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCi0JLnN1c3BlbmQJPSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kLAotCS5yZXN1bWUJCT0gczNjMjR4eF9zZXJpYWxfcmVzdW1lLAotCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJzM2MyNDAwLXVhcnQiLAotCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQl9LAotfTsKLQotc3RhdGljIGlubGluZSBpbnQgczNjMjQwMF9zZXJpYWxfaW5pdCh2b2lkKQotewotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDAwX3NlcmlhbF9kcnYsICZzM2MyNDAwX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MDBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmczNjMjQwMF9zZXJpYWxfZHJ2KTsKLX0KLQotI2RlZmluZSBzM2MyNDAwX3VhcnRfaW5mX2F0ICZzM2MyNDAwX3VhcnRfaW5mCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDAwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDAwX3NlcmlhbF9leGl0KHZvaWQpCi17Ci19Ci0KLSNkZWZpbmUgczNjMjQwMF91YXJ0X2luZl9hdCBOVUxMCi0KLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0MDAgKi8KLQotLyogUzNDMjQxMCBzdXBwb3J0ICovCi0KLSNpZmRlZiBDT05GSUdfQ1BVX1MzQzI0MTAKKyNpbmNsdWRlICJzYW1zdW5nLmgiCiAKIHN0YXRpYyBpbnQgczNjMjQxMF9zZXJpYWxfc2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCiAJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCkBAIC0xMzIzLDggKzgzLDYgQEAKIAkucmVzZXRfcG9ydAk9IHMzYzI0MTBfc2VyaWFsX3Jlc2V0cG9ydCwKIH07CiAKLS8qIGRldmljZSBtYW5hZ2VtZW50ICovCi0KIHN0YXRpYyBpbnQgczNjMjQxMF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQogewogCXJldHVybiBzM2MyNHh4X3NlcmlhbF9wcm9iZShkZXYsICZzM2MyNDEwX3VhcnRfaW5mKTsKQEAgLTEzMzMsNjEyICs5MSwyOCBAQAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgczNjMjQxMF9zZXJpYWxfZHJ2ID0gewogCS5wcm9iZQkJPSBzM2MyNDEwX3NlcmlhbF9wcm9iZSwKIAkucmVtb3ZlCQk9IHMzYzI0eHhfc2VyaWFsX3JlbW92ZSwKLQkuc3VzcGVuZAk9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CiAJCS5uYW1lCT0gInMzYzI0MTAtdWFydCIsCiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCX0sCiB9OwogCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEwX3NlcmlhbF9pbml0KHZvaWQpCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQxMF9zZXJpYWxfZHJ2LCAmczNjMjQxMF91YXJ0X2luZik7CisKK3N0YXRpYyBpbnQgX19pbml0IHMzYzI0MTBfc2VyaWFsX2luaXQodm9pZCkKIHsKIAlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQxMF9zZXJpYWxfZHJ2LCAmczNjMjQxMF91YXJ0X2luZik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEwX3NlcmlhbF9leGl0KHZvaWQpCitzdGF0aWMgdm9pZCBfX2V4aXQgczNjMjQxMF9zZXJpYWxfZXhpdCh2b2lkKQogewogCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDEwX3NlcmlhbF9kcnYpOwogfQogCi0jZGVmaW5lIHMzYzI0MTBfdWFydF9pbmZfYXQgJnMzYzI0MTBfdWFydF9pbmYKLSNlbHNlCittb2R1bGVfaW5pdChzM2MyNDEwX3NlcmlhbF9pbml0KTsKK21vZHVsZV9leGl0KHMzYzI0MTBfc2VyaWFsX2V4aXQpOwogCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEwX3NlcmlhbF9leGl0KHZvaWQpCi17Ci19Ci0KLSNkZWZpbmUgczNjMjQxMF91YXJ0X2luZl9hdCBOVUxMCi0KLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0MTAgKi8KLQotI2lmIGRlZmluZWQoQ09ORklHX0NQVV9TM0MyNDQwKSB8fCBkZWZpbmVkKENPTkZJR19DUFVfUzNDMjQ0MikKLQotc3RhdGljIGludCBzM2MyNDQwX3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwKLQkJCQkgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0JLy8gdG9kbyAtIHByb3BlciBmY2xrPD5ub25mY2xrIHN3aXRjaCAvLwotCi0JdWNvbiAmPSB+UzNDMjQ0MF9VQ09OX0NMS01BU0s7Ci0KLQlpZiAoc3RyY21wKGNsay0+bmFtZSwgInVjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9VQ0xLOwotCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJwY2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDQwX1VDT05fUENMSzsKLQllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAiZmNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX0ZDTEs7Ci0JZWxzZSB7Ci0JCXByaW50ayhLRVJOX0VSUiAidW5rbm93biBjbG9jayBzb3VyY2UgJXNcbiIsIGNsay0+bmFtZSk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQotewotCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKLQl1bnNpZ25lZCBsb25nIHVjb24wLCB1Y29uMSwgdWNvbjI7Ci0KLQlzd2l0Y2ggKHVjb24gJiBTM0MyNDQwX1VDT05fQ0xLTUFTSykgewotCWNhc2UgUzNDMjQ0MF9VQ09OX1VDTEs6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJ1Y2xrIjsKLQkJYnJlYWs7Ci0KLQljYXNlIFMzQzI0NDBfVUNPTl9QQ0xLOgotCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEsyOgotCQljbGstPmRpdmlzb3IgPSAxOwotCQljbGstPm5hbWUgPSAicGNsayI7Ci0JCWJyZWFrOwotCi0JY2FzZSBTM0MyNDQwX1VDT05fRkNMSzoKLQkJLyogdGhlIGZ1biBvZiBjYWxjdWxhdGluZyB0aGUgdWFydCBkaXZpc29ycyBvbgotCQkgKiB0aGUgczNjMjQ0MCAqLwotCi0JCXVjb24wID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMCArIFMzQzI0MTBfVUNPTik7Ci0JCXVjb24xID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMSArIFMzQzI0MTBfVUNPTik7Ci0JCXVjb24yID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMiArIFMzQzI0MTBfVUNPTik7Ci0KLQkJcHJpbnRrKCJ1Y29uczogJTA4bHgsICUwOGx4LCAlMDhseFxuIiwgdWNvbjAsIHVjb24xLCB1Y29uMik7Ci0KLQkJdWNvbjAgJj0gUzNDMjQ0MF9VQ09OMF9ESVZNQVNLOwotCQl1Y29uMSAmPSBTM0MyNDQwX1VDT04xX0RJVk1BU0s7Ci0JCXVjb24yICY9IFMzQzI0NDBfVUNPTjJfRElWTUFTSzsKLQotCQlpZiAodWNvbjAgIT0gMCkgewotCQkJY2xrLT5kaXZpc29yID0gdWNvbjAgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOwotCQkJY2xrLT5kaXZpc29yICs9IDY7Ci0JCX0gZWxzZSBpZiAodWNvbjEgIT0gMCkgewotCQkJY2xrLT5kaXZpc29yID0gdWNvbjEgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOwotCQkJY2xrLT5kaXZpc29yICs9IDIxOwotCQl9IGVsc2UgaWYgKHVjb24yICE9IDApIHsKLQkJCWNsay0+ZGl2aXNvciA9IHVjb24yID4+IFMzQzI0NDBfVUNPTl9ESVZTSElGVDsKLQkJCWNsay0+ZGl2aXNvciArPSAzNjsKLQkJfSBlbHNlIHsKLQkJCS8qIG1hbnVhbCBjYWxpbXMgNDQsIHNlZW1zIHRvIGJlIDkgKi8KLQkJCWNsay0+ZGl2aXNvciA9IDk7Ci0JCX0KLQotCQljbGstPm5hbWUgPSAiZmNsayI7Ci0JCWJyZWFrOwotCX0KLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0JZGJnKCJzM2MyNDQwX3NlcmlhbF9yZXNldHBvcnQ6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAotCSAgICBwb3J0LCBwb3J0LT5tYXBiYXNlLCBjZmcpOwotCi0JLyogZW5zdXJlIHdlIGRvbid0IGNoYW5nZSB0aGUgY2xvY2sgc2V0dGluZ3MuLi4gKi8KLQotCXVjb24gJj0gKFMzQzI0NDBfVUNPTjBfRElWTUFTSyB8ICgzPDwxMCkpOwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOwotCi0JLyogcmVzZXQgYm90aCBmaWZvcyAqLwotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOwotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDQwX3VhcnRfaW5mID0gewotCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0NDAgVUFSVCIsCi0JLnR5cGUJCT0gUE9SVF9TM0MyNDQwLAotCS5maWZvc2l6ZQk9IDY0LAotCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKLQkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKLQkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCi0JLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAotCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKLQkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKLQkuZ2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZSwKLQkuc2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZSwKLQkucmVzZXRfcG9ydAk9IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydCwKLX07Ci0KLS8qIGRldmljZSBtYW5hZ2VtZW50ICovCi0KLXN0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQotewotCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKLQlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQ0MF91YXJ0X2luZik7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0NDBfc2VyaWFsX2RydiA9IHsKLQkucHJvYmUJCT0gczNjMjQ0MF9zZXJpYWxfcHJvYmUsCi0JLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCi0JLnN1c3BlbmQJPSBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kLAotCS5yZXN1bWUJCT0gczNjMjR4eF9zZXJpYWxfcmVzdW1lLAotCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJzM2MyNDQwLXVhcnQiLAotCQkub3duZXIJPSBUSElTX01PRFVMRSwKLQl9LAotfTsKLQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDQwX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0NDBfc2VyaWFsX2RydiwgJnMzYzI0NDBfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgczNjMjQ0MF9zZXJpYWxfZXhpdCh2b2lkKQotewotCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDQwX3NlcmlhbF9kcnYpOwotfQotCi0jZGVmaW5lIHMzYzI0NDBfdWFydF9pbmZfYXQgJnMzYzI0NDBfdWFydF9pbmYKLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgaW50IHMzYzI0NDBfc2VyaWFsX2luaXQodm9pZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0NDBfc2VyaWFsX2V4aXQodm9pZCkKLXsKLX0KLQotI2RlZmluZSBzM2MyNDQwX3VhcnRfaW5mX2F0IE5VTEwKLSNlbmRpZiAvKiBDT05GSUdfQ1BVX1MzQzI0NDAgKi8KLQotI2lmIGRlZmluZWQoQ09ORklHX0NQVV9TM0MyNDEyKQotCi1zdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAotCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQl1Y29uICY9IH5TM0MyNDEyX1VDT05fQ0xLTUFTSzsKLQotCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCi0JCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7Ci0JZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQotCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOwotCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1c3lzY2xrIikgPT0gMCkKLQkJdWNvbiB8PSBTM0MyNDEyX1VDT05fVVNZU0NMSzsKLQllbHNlIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCi17Ci0JdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOwotCi0Jc3dpdGNoICh1Y29uICYgUzNDMjQxMl9VQ09OX0NMS01BU0spIHsKLQljYXNlIFMzQzI0MTJfVUNPTl9VQ0xLOgotCQljbGstPmRpdmlzb3IgPSAxOwotCQljbGstPm5hbWUgPSAidWNsayI7Ci0JCWJyZWFrOwotCi0JY2FzZSBTM0MyNDEyX1VDT05fUENMSzoKLQljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLMjoKLQkJY2xrLT5kaXZpc29yID0gMTsKLQkJY2xrLT5uYW1lID0gInBjbGsiOwotCQlicmVhazsKLQotCWNhc2UgUzNDMjQxMl9VQ09OX1VTWVNDTEs6Ci0JCWNsay0+ZGl2aXNvciA9IDE7Ci0JCWNsay0+bmFtZSA9ICJ1c3lzY2xrIjsKLQkJYnJlYWs7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCi0JCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKLXsKLQl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0KLQlkYmcoIiVzOiBwb3J0PSVwICglMDhseCksIGNmZz0lcFxuIiwKLQkgICAgX19mdW5jX18sIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7Ci0KLQkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLwotCi0JdWNvbiAmPSBTM0MyNDEyX1VDT05fQ0xLTUFTSzsKLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCAgdWNvbiB8IGNmZy0+dWNvbik7Ci0Jd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKLQotCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KLQotCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKLQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQxMl91YXJ0X2luZiA9IHsKLQkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDEyIFVBUlQiLAotCS50eXBlCQk9IFBPUlRfUzNDMjQxMiwKLQkuZmlmb3NpemUJPSA2NCwKLQkucnhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9SWE1BU0ssCi0JLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1JYU0hJRlQsCi0JLnJ4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfUlhGVUxMLAotCS50eF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1RYRlVMTCwKLQkudHhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9UWE1BU0ssCi0JLnR4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1RYU0hJRlQsCi0JLmdldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2UsCi0JLnNldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9zZXRzb3VyY2UsCi0JLnJlc2V0X3BvcnQJPSBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQsCi19OwotCi0vKiBkZXZpY2UgbWFuYWdlbWVudCAqLwotCi1zdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKLXsKLQlkYmcoInMzYzI0NDBfc2VyaWFsX3Byb2JlOiBkZXY9JXBcbiIsIGRldik7Ci0JcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MTJfdWFydF9pbmYpOwotfQotCi1zdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDEyX3NlcmlhbF9kcnYgPSB7Ci0JLnByb2JlCQk9IHMzYzI0MTJfc2VyaWFsX3Byb2JlLAotCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAotCS5zdXNwZW5kCT0gczNjMjR4eF9zZXJpYWxfc3VzcGVuZCwKLQkucmVzdW1lCQk9IHMzYzI0eHhfc2VyaWFsX3Jlc3VtZSwKLQkuZHJpdmVyCQk9IHsKLQkJLm5hbWUJPSAiczNjMjQxMi11YXJ0IiwKLQkJLm93bmVyCT0gVEhJU19NT0RVTEUsCi0JfSwKLX07Ci0KLQotc3RhdGljIGlubGluZSBpbnQgczNjMjQxMl9zZXJpYWxfaW5pdCh2b2lkKQotewotCXJldHVybiBzM2MyNHh4X3NlcmlhbF9pbml0KCZzM2MyNDEyX3NlcmlhbF9kcnYsICZzM2MyNDEyX3VhcnRfaW5mKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHMzYzI0MTJfc2VyaWFsX2V4aXQodm9pZCkKLXsKLQlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3RlcigmczNjMjQxMl9zZXJpYWxfZHJ2KTsKLX0KLQotI2RlZmluZSBzM2MyNDEyX3VhcnRfaW5mX2F0ICZzM2MyNDEyX3VhcnRfaW5mCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIGludCBzM2MyNDEyX3NlcmlhbF9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzM2MyNDEyX3NlcmlhbF9leGl0KHZvaWQpCi17Ci19Ci0KLSNkZWZpbmUgczNjMjQxMl91YXJ0X2luZl9hdCBOVUxMCi0jZW5kaWYgLyogQ09ORklHX0NQVV9TM0MyNDQwICovCi0KLQotLyogbW9kdWxlIGluaXRpYWxpc2F0aW9uIGNvZGUgKi8KLQotc3RhdGljIGludCBfX2luaXQgczNjMjR4eF9zZXJpYWxfbW9kaW5pdCh2b2lkKQotewotCWludCByZXQ7Ci0KLQlyZXQgPSB1YXJ0X3JlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7Ci0JaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gcmVnaXN0ZXIgVUFSVCBkcml2ZXJcbiIpOwotCQlyZXR1cm4gLTE7Ci0JfQotCi0JczNjMjQwMF9zZXJpYWxfaW5pdCgpOwotCXMzYzI0MTBfc2VyaWFsX2luaXQoKTsKLQlzM2MyNDEyX3NlcmlhbF9pbml0KCk7Ci0JczNjMjQ0MF9zZXJpYWxfaW5pdCgpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNHh4X3NlcmlhbF9tb2RleGl0KHZvaWQpCi17Ci0JczNjMjQwMF9zZXJpYWxfZXhpdCgpOwotCXMzYzI0MTBfc2VyaWFsX2V4aXQoKTsKLQlzM2MyNDEyX3NlcmlhbF9leGl0KCk7Ci0JczNjMjQ0MF9zZXJpYWxfZXhpdCgpOwotCi0JdWFydF91bnJlZ2lzdGVyX2RyaXZlcigmczNjMjR4eF91YXJ0X2Rydik7Ci19Ci0KLQotbW9kdWxlX2luaXQoczNjMjR4eF9zZXJpYWxfbW9kaW5pdCk7Ci1tb2R1bGVfZXhpdChzM2MyNHh4X3NlcmlhbF9tb2RleGl0KTsKLQotLyogQ29uc29sZSBjb2RlICovCi0KLSNpZmRlZiBDT05GSUdfU0VSSUFMX1MzQzI0MTBfQ09OU09MRQotCi1zdGF0aWMgc3RydWN0IHVhcnRfcG9ydCAqY29uc191YXJ0OwotCi1zdGF0aWMgaW50Ci1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3R4cmR5KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCB1ZmNvbikKLXsKLQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKLQl1bnNpZ25lZCBsb25nIHVmc3RhdCwgdXRyc3RhdDsKLQotCWlmICh1ZmNvbiAmIFMzQzI0MTBfVUZDT05fRklGT01PREUpIHsKLQkJLyogZmlmbyBtb2RlIC0gY2hlY2sgYW1tb3VudCBvZiBkYXRhIGluIGZpZm8gcmVnaXN0ZXJzLi4uICovCi0KLQkJdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7Ci0JCXJldHVybiAodWZzdGF0ICYgaW5mby0+dHhfZmlmb2Z1bGwpID8gMCA6IDE7Ci0JfQotCi0JLyogaW4gbm9uLWZpZm8gbW9kZSwgd2UgZ28gYW5kIHVzZSB0aGUgdHggYnVmZmVyIGVtcHR5ICovCi0KLQl1dHJzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VUUlNUQVQpOwotCXJldHVybiAodXRyc3RhdCAmIFMzQzI0MTBfVVRSU1RBVF9UWEUpID8gMSA6IDA7Ci19Ci0KLXN0YXRpYyB2b2lkCi1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3B1dGNoYXIoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgaW50IGNoKQotewotCXVuc2lnbmVkIGludCB1ZmNvbiA9IHJkX3JlZ2woY29uc191YXJ0LCBTM0MyNDEwX1VGQ09OKTsKLQl3aGlsZSAoIXMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfdHhyZHkocG9ydCwgdWZjb24pKQotCQliYXJyaWVyKCk7Ci0Jd3JfcmVnYihjb25zX3VhcnQsIFMzQzI0MTBfVVRYSCwgY2gpOwotfQotCi1zdGF0aWMgdm9pZAotczNjMjR4eF9zZXJpYWxfY29uc29sZV93cml0ZShzdHJ1Y3QgY29uc29sZSAqY28sIGNvbnN0IGNoYXIgKnMsCi0JCQkgICAgIHVuc2lnbmVkIGludCBjb3VudCkKLXsKLQl1YXJ0X2NvbnNvbGVfd3JpdGUoY29uc191YXJ0LCBzLCBjb3VudCwgczNjMjR4eF9zZXJpYWxfY29uc29sZV9wdXRjaGFyKTsKLX0KLQotc3RhdGljIHZvaWQgX19pbml0Ci1zM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9ucyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgKmJhdWQsCi0JCQkgICBpbnQgKnBhcml0eSwgaW50ICpiaXRzKQotewotCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIGNsa3NyYzsKLQlzdHJ1Y3QgY2xrICpjbGs7Ci0JdW5zaWduZWQgaW50IHVsY29uOwotCXVuc2lnbmVkIGludCB1Y29uOwotCXVuc2lnbmVkIGludCB1YnJkaXY7Ci0JdW5zaWduZWQgbG9uZyByYXRlOwotCi0JdWxjb24gID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OKTsKLQl1Y29uICAgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7Ci0JdWJyZGl2ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VCUkRJVik7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zOiBwb3J0PSVwXG4iCi0JICAgICJyZWdpc3RlcnM6IHVsY29uPSUwOHgsIHVjb249JTA4eCwgdWJkcml2PSUwOHhcbiIsCi0JICAgIHBvcnQsIHVsY29uLCB1Y29uLCB1YnJkaXYpOwotCi0JaWYgKCh1Y29uICYgMHhmKSAhPSAwKSB7Ci0JCS8qIGNvbnNpZGVyIHRoZSBzZXJpYWwgcG9ydCBjb25maWd1cmVkIGlmIHRoZSB0eC9yeCBtb2RlIHNldCAqLwotCi0JCXN3aXRjaCAodWxjb24gJiBTM0MyNDEwX0xDT05fQ1NNQVNLKSB7Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX0NTNToKLQkJCSpiaXRzID0gNTsKLQkJCWJyZWFrOwotCQljYXNlIFMzQzI0MTBfTENPTl9DUzY6Ci0JCQkqYml0cyA9IDY7Ci0JCQlicmVhazsKLQkJY2FzZSBTM0MyNDEwX0xDT05fQ1M3OgotCQkJKmJpdHMgPSA3OwotCQkJYnJlYWs7Ci0JCWRlZmF1bHQ6Ci0JCWNhc2UgUzNDMjQxMF9MQ09OX0NTODoKLQkJCSpiaXRzID0gODsKLQkJCWJyZWFrOwotCQl9Ci0KLQkJc3dpdGNoICh1bGNvbiAmIFMzQzI0MTBfTENPTl9QTUFTSykgewotCQljYXNlIFMzQzI0MTBfTENPTl9QRVZFTjoKLQkJCSpwYXJpdHkgPSAnZSc7Ci0JCQlicmVhazsKLQotCQljYXNlIFMzQzI0MTBfTENPTl9QT0REOgotCQkJKnBhcml0eSA9ICdvJzsKLQkJCWJyZWFrOwotCi0JCWNhc2UgUzNDMjQxMF9MQ09OX1BOT05FOgotCQlkZWZhdWx0OgotCQkJKnBhcml0eSA9ICduJzsKLQkJfQotCi0JCS8qIG5vdyBjYWxjdWxhdGUgdGhlIGJhdWQgcmF0ZSAqLwotCi0JCXMzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShwb3J0LCAmY2xrc3JjKTsKLQotCQljbGsgPSBjbGtfZ2V0KHBvcnQtPmRldiwgY2xrc3JjLm5hbWUpOwotCQlpZiAoIUlTX0VSUihjbGspICYmIGNsayAhPSBOVUxMKQotCQkJcmF0ZSA9IGNsa19nZXRfcmF0ZShjbGspIC8gY2xrc3JjLmRpdmlzb3I7Ci0JCWVsc2UKLQkJCXJhdGUgPSAxOwotCi0KLQkJKmJhdWQgPSByYXRlIC8gKCAxNiAqICh1YnJkaXYgKyAxKSk7Ci0JCWRiZygiY2FsY3VsYXRlZCBiYXVkICVkXG4iLCAqYmF1ZCk7Ci0JfQotCi19Ci0KLS8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMKLSAqCi0gKiBpbml0aWFsaXNlIHRoZSBzZXJpYWwgcG9ydHMgZnJvbSB0aGUgbWFjaGluZSBwcm92aWRlZCBpbml0aWFsaXNhdGlvbgotICogZGF0YS4KLSovCi0KLXN0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfaW5pdF9wb3J0cyhzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpwdHIgPSBzM2MyNHh4X3NlcmlhbF9wb3J0czsKLQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoqcGxhdGRldl9wdHI7Ci0JaW50IGk7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHM6IGluaXRpYWxpc2luZyBwb3J0cy4uLlxuIik7Ci0KLQlwbGF0ZGV2X3B0ciA9IHMzYzI0eHhfdWFydF9kZXZzOwotCi0JZm9yIChpID0gMDsgaSA8IE5SX1BPUlRTOyBpKyssIHB0cisrLCBwbGF0ZGV2X3B0cisrKSB7Ci0JCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydChwdHIsIGluZm8sICpwbGF0ZGV2X3B0cik7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgX19pbml0Ci1zM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwKHN0cnVjdCBjb25zb2xlICpjbywgY2hhciAqb3B0aW9ucykKLXsKLQlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0OwotCWludCBiYXVkID0gOTYwMDsKLQlpbnQgYml0cyA9IDg7Ci0JaW50IHBhcml0eSA9ICduJzsKLQlpbnQgZmxvdyA9ICduJzsKLQotCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogY289JXAgKCVkKSwgJXNcbiIsCi0JICAgIGNvLCBjby0+aW5kZXgsIG9wdGlvbnMpOwotCi0JLyogaXMgdGhpcyBhIHZhbGlkIHBvcnQgKi8KLQotCWlmIChjby0+aW5kZXggPT0gLTEgfHwgY28tPmluZGV4ID49IE5SX1BPUlRTKQotCQljby0+aW5kZXggPSAwOwotCi0JcG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1tjby0+aW5kZXhdLnBvcnQ7Ci0KLQkvKiBpcyB0aGUgcG9ydCBjb25maWd1cmVkPyAqLwotCi0JaWYgKHBvcnQtPm1hcGJhc2UgPT0gMHgwKSB7Ci0JCWNvLT5pbmRleCA9IDA7Ci0JCXBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbY28tPmluZGV4XS5wb3J0OwotCX0KLQotCWNvbnNfdWFydCA9IHBvcnQ7Ci0KLQlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IHBvcnQ9JXAgKCVkKVxuIiwgcG9ydCwgY28tPmluZGV4KTsKLQotCS8qCi0JICogQ2hlY2sgd2hldGhlciBhbiBpbnZhbGlkIHVhcnQgbnVtYmVyIGhhcyBiZWVuIHNwZWNpZmllZCwgYW5kCi0JICogaWYgc28sIHNlYXJjaCBmb3IgdGhlIGZpcnN0IGF2YWlsYWJsZSBwb3J0IHRoYXQgZG9lcyBoYXZlCi0JICogY29uc29sZSBzdXBwb3J0LgotCSAqLwotCWlmIChvcHRpb25zKQotCQl1YXJ0X3BhcnNlX29wdGlvbnMob3B0aW9ucywgJmJhdWQsICZwYXJpdHksICZiaXRzLCAmZmxvdyk7Ci0JZWxzZQotCQlzM2MyNHh4X3NlcmlhbF9nZXRfb3B0aW9ucyhwb3J0LCAmYmF1ZCwgJnBhcml0eSwgJmJpdHMpOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBiYXVkICVkXG4iLCBiYXVkKTsKLQotCXJldHVybiB1YXJ0X3NldF9vcHRpb25zKHBvcnQsIGNvLCBiYXVkLCBwYXJpdHksIGJpdHMsIGZsb3cpOwotfQotCi0vKiBzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZQotICoKLSAqIGluaXRpYWxpc2UgdGhlIGNvbnNvbGUgZnJvbSBvbmUgb2YgdGhlIHVhcnQgZHJpdmVycwotKi8KLQotc3RhdGljIHN0cnVjdCBjb25zb2xlIHMzYzI0eHhfc2VyaWFsX2NvbnNvbGUgPQotewotCS5uYW1lCQk9IFMzQzI0WFhfU0VSSUFMX05BTUUsCi0JLmRldmljZQkJPSB1YXJ0X2NvbnNvbGVfZGV2aWNlLAotCS5mbGFncwkJPSBDT05fUFJJTlRCVUZGRVIsCi0JLmluZGV4CQk9IC0xLAotCS53cml0ZQkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlLAotCS5zZXR1cAkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwCi19OwotCi1zdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlKHZvaWQpCi17Ci0Jc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvOwotCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiA9IHMzYzI0eHhfdWFydF9kZXZzWzBdOwotCi0JZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZVxuIik7Ci0KLQkvKiBzZWxlY3QgZHJpdmVyIGJhc2VkIG9uIHRoZSBjcHUgKi8KLQotCWlmIChkZXYgPT0gTlVMTCkgewotCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRldmljZXMgZm9yIGNvbnNvbGUgaW5pdFxuIik7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChzdHJjbXAoZGV2LT5uYW1lLCAiczNjMjQwMC11YXJ0IikgPT0gMCkgewotCQlpbmZvID0gczNjMjQwMF91YXJ0X2luZl9hdDsKLQl9IGVsc2UgaWYgKHN0cmNtcChkZXYtPm5hbWUsICJzM2MyNDEwLXVhcnQiKSA9PSAwKSB7Ci0JCWluZm8gPSBzM2MyNDEwX3VhcnRfaW5mX2F0OwotCX0gZWxzZSBpZiAoc3RyY21wKGRldi0+bmFtZSwgInMzYzI0NDAtdWFydCIpID09IDApIHsKLQkJaW5mbyA9IHMzYzI0NDBfdWFydF9pbmZfYXQ7Ci0JfSBlbHNlIGlmIChzdHJjbXAoZGV2LT5uYW1lLCAiczNjMjQxMi11YXJ0IikgPT0gMCkgewotCQlpbmZvID0gczNjMjQxMl91YXJ0X2luZl9hdDsKLQl9IGVsc2UgewotCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRyaXZlciBmb3IgJXNcbiIsIGRldi0+bmFtZSk7Ci0JCXJldHVybiAwOwotCX0KLQotCWlmIChpbmZvID09IE5VTEwpIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJzM2MyNHh4OiBubyBkcml2ZXIgZm9yIGNvbnNvbGVcbiIpOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlzM2MyNHh4X3NlcmlhbF9jb25zb2xlLmRhdGEgPSAmczNjMjR4eF91YXJ0X2RydjsKLQlzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzKGluZm8pOwotCi0JcmVnaXN0ZXJfY29uc29sZSgmczNjMjR4eF9zZXJpYWxfY29uc29sZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLWNvbnNvbGVfaW5pdGNhbGwoczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUpOwotCi0jZW5kaWYgLyogQ09ORklHX1NFUklBTF9TM0MyNDEwX0NPTlNPTEUgKi8KLQotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogTU9EVUxFX0FVVEhPUigiQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPiIpOwotTU9EVUxFX0RFU0NSSVBUSU9OKCJTYW1zdW5nIFMzQzI0MTAvUzNDMjQ0MC9TM0MyNDEyIFNlcmlhbCBwb3J0IGRyaXZlciIpOwotTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDAwLXVhcnQiKTsKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDEwIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKIE1PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQxMC11YXJ0Iik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnMzYzI0MTItdWFydCIpOwotTU9EVUxFX0FMSUFTKCJwbGF0Zm9ybTpzM2MyNDQwLXVhcnQiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTIuYyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0MTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTBjMjIwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9zZXJpYWwvczNjMjQxMi5jCkBAIC0wLDAgKzEsMTUxIEBACisvKiBsaW51eC9kcml2ZXJzL3NlcmlhbC9zM2MyNDEyLmMKKyAqCisgKiBEcml2ZXIgZm9yIFNhbXN1bmcgUzNDMjQxMiBhbmQgUzNDMjQxMyBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKworI2luY2x1ZGUgPGFzbS9pcnEuaD4KKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKworI2luY2x1ZGUgPGFzbS9wbGF0LXMzYy9yZWdzLXNlcmlhbC5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL3JlZ3MtZ3Bpby5oPgorCisjaW5jbHVkZSAic2Ftc3VuZy5oIgorCitzdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwl1Y29uICY9IH5TM0MyNDEyX1VDT05fQ0xLTUFTSzsKKworCWlmIChzdHJjbXAoY2xrLT5uYW1lLCAidWNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX1VDTEs7CisJZWxzZSBpZiAoc3RyY21wKGNsay0+bmFtZSwgInBjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9QQ0xLOworCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJ1c3lzY2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDEyX1VDT05fVVNZU0NMSzsKKwllbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ1bmtub3duIGNsb2NrIHNvdXJjZSAlc1xuIiwgY2xrLT5uYW1lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfZ2V0c291cmNlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspCit7CisJdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCisJc3dpdGNoICh1Y29uICYgUzNDMjQxMl9VQ09OX0NMS01BU0spIHsKKwljYXNlIFMzQzI0MTJfVUNPTl9VQ0xLOgorCQljbGstPmRpdmlzb3IgPSAxOworCQljbGstPm5hbWUgPSAidWNsayI7CisJCWJyZWFrOworCisJY2FzZSBTM0MyNDEyX1VDT05fUENMSzoKKwljYXNlIFMzQzI0MTJfVUNPTl9QQ0xLMjoKKwkJY2xrLT5kaXZpc29yID0gMTsKKwkJY2xrLT5uYW1lID0gInBjbGsiOworCQlicmVhazsKKworCWNhc2UgUzNDMjQxMl9VQ09OX1VTWVNDTEs6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJ1c3lzY2xrIjsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjQxMl9zZXJpYWxfcmVzZXRwb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgIHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlkYmcoIiVzOiBwb3J0PSVwICglMDhseCksIGNmZz0lcFxuIiwKKwkgICAgX19mdW5jX18sIHBvcnQsIHBvcnQtPm1hcGJhc2UsIGNmZyk7CisKKwkvKiBlbnN1cmUgd2UgZG9uJ3QgY2hhbmdlIHRoZSBjbG9jayBzZXR0aW5ncy4uLiAqLworCisJdWNvbiAmPSBTM0MyNDEyX1VDT05fQ0xLTUFTSzsKKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCAgdWNvbiB8IGNmZy0+dWNvbik7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VMQ09OLCBjZmctPnVsY29uKTsKKworCS8qIHJlc2V0IGJvdGggZmlmb3MgKi8KKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbiB8IFMzQzI0MTBfVUZDT05fUkVTRVRCT1RIKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIGNmZy0+dWZjb24pOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gczNjMjQxMl91YXJ0X2luZiA9IHsKKwkubmFtZQkJPSAiU2Ftc3VuZyBTM0MyNDEyIFVBUlQiLAorCS50eXBlCQk9IFBPUlRfUzNDMjQxMiwKKwkuZmlmb3NpemUJPSA2NCwKKwkucnhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9SWE1BU0ssCisJLnJ4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1JYU0hJRlQsCisJLnJ4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfUlhGVUxMLAorCS50eF9maWZvZnVsbAk9IFMzQzI0NDBfVUZTVEFUX1RYRlVMTCwKKwkudHhfZmlmb21hc2sJPSBTM0MyNDQwX1VGU1RBVF9UWE1BU0ssCisJLnR4X2ZpZm9zaGlmdAk9IFMzQzI0NDBfVUZTVEFUX1RYU0hJRlQsCisJLmdldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9nZXRzb3VyY2UsCisJLnNldF9jbGtzcmMJPSBzM2MyNDEyX3NlcmlhbF9zZXRzb3VyY2UsCisJLnJlc2V0X3BvcnQJPSBzM2MyNDEyX3NlcmlhbF9yZXNldHBvcnQsCit9OworCisvKiBkZXZpY2UgbWFuYWdlbWVudCAqLworCitzdGF0aWMgaW50IHMzYzI0MTJfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlkYmcoInMzYzI0NDBfc2VyaWFsX3Byb2JlOiBkZXY9JXBcbiIsIGRldik7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX3Byb2JlKGRldiwgJnMzYzI0MTJfdWFydF9pbmYpOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzM2MyNDEyX3NlcmlhbF9kcnYgPSB7CisJLnByb2JlCQk9IHMzYzI0MTJfc2VyaWFsX3Byb2JlLAorCS5yZW1vdmUJCT0gczNjMjR4eF9zZXJpYWxfcmVtb3ZlLAorCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJzM2MyNDEyLXVhcnQiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9LAorfTsKKworczNjMjR4eF9jb25zb2xlX2luaXQoJnMzYzI0MTJfc2VyaWFsX2RydiwgJnMzYzI0MTJfdWFydF9pbmYpOworCitzdGF0aWMgaW5saW5lIGludCBzM2MyNDEyX3NlcmlhbF9pbml0KHZvaWQpCit7CisJcmV0dXJuIHMzYzI0eHhfc2VyaWFsX2luaXQoJnMzYzI0MTJfc2VyaWFsX2RydiwgJnMzYzI0MTJfdWFydF9pbmYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgczNjMjQxMl9zZXJpYWxfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzM2MyNDEyX3NlcmlhbF9kcnYpOworfQorCittb2R1bGVfaW5pdChzM2MyNDEyX3NlcmlhbF9pbml0KTsKK21vZHVsZV9leGl0KHMzYzI0MTJfc2VyaWFsX2V4aXQpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlNhbXN1bmcgUzNDMjQxMixTM0MyNDEzIFNvQyBTZXJpYWwgcG9ydCBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIkJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4iKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQxMi11YXJ0Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zM2MyNDQwLmMgYi9kcml2ZXJzL3NlcmlhbC9zM2MyNDQwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhmOTU0YgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3MzYzI0NDAuYwpAQCAtMCwwICsxLDE4MSBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvczNjMjQ0MC5jCisgKgorICogRHJpdmVyIGZvciBTYW1zdW5nIFMzQzI0NDAgYW5kIFMzQzI0NDIgU29DIG9uYm9hcmQgVUFSVHMuCisgKgorICogQmVuIERvb2tzLCBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSwyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9jb3JlLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CisKKyNpbmNsdWRlIDxhc20vaXJxLmg+CisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgInNhbXN1bmcuaCIKKworCitzdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsaykKK3sKKwl1bnNpZ25lZCBsb25nIHVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwkvKiB0b2RvIC0gcHJvcGVyIGZjbGs8Pm5vbmZjbGsgc3dpdGNoLiAqLworCisJdWNvbiAmPSB+UzNDMjQ0MF9VQ09OX0NMS01BU0s7CisKKwlpZiAoc3RyY21wKGNsay0+bmFtZSwgInVjbGsiKSA9PSAwKQorCQl1Y29uIHw9IFMzQzI0NDBfVUNPTl9VQ0xLOworCWVsc2UgaWYgKHN0cmNtcChjbGstPm5hbWUsICJwY2xrIikgPT0gMCkKKwkJdWNvbiB8PSBTM0MyNDQwX1VDT05fUENMSzsKKwllbHNlIGlmIChzdHJjbXAoY2xrLT5uYW1lLCAiZmNsayIpID09IDApCisJCXVjb24gfD0gUzNDMjQ0MF9VQ09OX0ZDTEs7CisJZWxzZSB7CisJCXByaW50ayhLRVJOX0VSUiAidW5rbm93biBjbG9jayBzb3VyY2UgJXNcbiIsIGNsay0+bmFtZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OLCB1Y29uKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKQoreworCXVuc2lnbmVkIGxvbmcgdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKwl1bnNpZ25lZCBsb25nIHVjb24wLCB1Y29uMSwgdWNvbjI7CisKKwlzd2l0Y2ggKHVjb24gJiBTM0MyNDQwX1VDT05fQ0xLTUFTSykgeworCWNhc2UgUzNDMjQ0MF9VQ09OX1VDTEs6CisJCWNsay0+ZGl2aXNvciA9IDE7CisJCWNsay0+bmFtZSA9ICJ1Y2xrIjsKKwkJYnJlYWs7CisKKwljYXNlIFMzQzI0NDBfVUNPTl9QQ0xLOgorCWNhc2UgUzNDMjQ0MF9VQ09OX1BDTEsyOgorCQljbGstPmRpdmlzb3IgPSAxOworCQljbGstPm5hbWUgPSAicGNsayI7CisJCWJyZWFrOworCisJY2FzZSBTM0MyNDQwX1VDT05fRkNMSzoKKwkJLyogdGhlIGZ1biBvZiBjYWxjdWxhdGluZyB0aGUgdWFydCBkaXZpc29ycyBvbgorCQkgKiB0aGUgczNjMjQ0MCAqLworCisJCXVjb24wID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMCArIFMzQzI0MTBfVUNPTik7CisJCXVjb24xID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMSArIFMzQzI0MTBfVUNPTik7CisJCXVjb24yID0gX19yYXdfcmVhZGwoUzNDMjRYWF9WQV9VQVJUMiArIFMzQzI0MTBfVUNPTik7CisKKwkJcHJpbnRrKCJ1Y29uczogJTA4bHgsICUwOGx4LCAlMDhseFxuIiwgdWNvbjAsIHVjb24xLCB1Y29uMik7CisKKwkJdWNvbjAgJj0gUzNDMjQ0MF9VQ09OMF9ESVZNQVNLOworCQl1Y29uMSAmPSBTM0MyNDQwX1VDT04xX0RJVk1BU0s7CisJCXVjb24yICY9IFMzQzI0NDBfVUNPTjJfRElWTUFTSzsKKworCQlpZiAodWNvbjAgIT0gMCkgeworCQkJY2xrLT5kaXZpc29yID0gdWNvbjAgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOworCQkJY2xrLT5kaXZpc29yICs9IDY7CisJCX0gZWxzZSBpZiAodWNvbjEgIT0gMCkgeworCQkJY2xrLT5kaXZpc29yID0gdWNvbjEgPj4gUzNDMjQ0MF9VQ09OX0RJVlNISUZUOworCQkJY2xrLT5kaXZpc29yICs9IDIxOworCQl9IGVsc2UgaWYgKHVjb24yICE9IDApIHsKKwkJCWNsay0+ZGl2aXNvciA9IHVjb24yID4+IFMzQzI0NDBfVUNPTl9ESVZTSElGVDsKKwkJCWNsay0+ZGl2aXNvciArPSAzNjsKKwkJfSBlbHNlIHsKKwkJCS8qIG1hbnVhbCBjYWxpbXMgNDQsIHNlZW1zIHRvIGJlIDkgKi8KKwkJCWNsay0+ZGl2aXNvciA9IDk7CisJCX0KKworCQljbGstPm5hbWUgPSAiZmNsayI7CisJCWJyZWFrOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCit7CisJdW5zaWduZWQgbG9uZyB1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCisJZGJnKCJzM2MyNDQwX3NlcmlhbF9yZXNldHBvcnQ6IHBvcnQ9JXAgKCUwOGx4KSwgY2ZnPSVwXG4iLAorCSAgICBwb3J0LCBwb3J0LT5tYXBiYXNlLCBjZmcpOworCisJLyogZW5zdXJlIHdlIGRvbid0IGNoYW5nZSB0aGUgY2xvY2sgc2V0dGluZ3MuLi4gKi8KKworCXVjb24gJj0gKFMzQzI0NDBfVUNPTjBfRElWTUFTSyB8ICgzPDwxMCkpOworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sICB1Y29uIHwgY2ZnLT51Y29uKTsKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04sIGNmZy0+dWxjb24pOworCisJLyogcmVzZXQgYm90aCBmaWZvcyAqLworCisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OLCBjZmctPnVmY29uIHwgUzNDMjQxMF9VRkNPTl9SRVNFVEJPVEgpOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgY2ZnLT51ZmNvbik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyBzM2MyNDQwX3VhcnRfaW5mID0geworCS5uYW1lCQk9ICJTYW1zdW5nIFMzQzI0NDAgVUFSVCIsCisJLnR5cGUJCT0gUE9SVF9TM0MyNDQwLAorCS5maWZvc2l6ZQk9IDY0LAorCS5yeF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1JYTUFTSywKKwkucnhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfUlhTSElGVCwKKwkucnhfZmlmb2Z1bGwJPSBTM0MyNDQwX1VGU1RBVF9SWEZVTEwsCisJLnR4X2ZpZm9mdWxsCT0gUzNDMjQ0MF9VRlNUQVRfVFhGVUxMLAorCS50eF9maWZvbWFzawk9IFMzQzI0NDBfVUZTVEFUX1RYTUFTSywKKwkudHhfZmlmb3NoaWZ0CT0gUzNDMjQ0MF9VRlNUQVRfVFhTSElGVCwKKwkuZ2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX2dldHNvdXJjZSwKKwkuc2V0X2Nsa3NyYwk9IHMzYzI0NDBfc2VyaWFsX3NldHNvdXJjZSwKKwkucmVzZXRfcG9ydAk9IHMzYzI0NDBfc2VyaWFsX3Jlc2V0cG9ydCwKK307CisKKy8qIGRldmljZSBtYW5hZ2VtZW50ICovCisKK3N0YXRpYyBpbnQgczNjMjQ0MF9zZXJpYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQoreworCWRiZygiczNjMjQ0MF9zZXJpYWxfcHJvYmU6IGRldj0lcFxuIiwgZGV2KTsKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfcHJvYmUoZGV2LCAmczNjMjQ0MF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHMzYzI0NDBfc2VyaWFsX2RydiA9IHsKKwkucHJvYmUJCT0gczNjMjQ0MF9zZXJpYWxfcHJvYmUsCisJLnJlbW92ZQkJPSBzM2MyNHh4X3NlcmlhbF9yZW1vdmUsCisJLmRyaXZlcgkJPSB7CisJCS5uYW1lCT0gInMzYzI0NDAtdWFydCIsCisJCS5vd25lcgk9IFRISVNfTU9EVUxFLAorCX0sCit9OworCitzM2MyNHh4X2NvbnNvbGVfaW5pdCgmczNjMjQ0MF9zZXJpYWxfZHJ2LCAmczNjMjQ0MF91YXJ0X2luZik7CisKK3N0YXRpYyBpbnQgX19pbml0IHMzYzI0NDBfc2VyaWFsX2luaXQodm9pZCkKK3sKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdCgmczNjMjQ0MF9zZXJpYWxfZHJ2LCAmczNjMjQ0MF91YXJ0X2luZik7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBzM2MyNDQwX3NlcmlhbF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnMzYzI0NDBfc2VyaWFsX2Rydik7Cit9CisKK21vZHVsZV9pbml0KHMzYzI0NDBfc2VyaWFsX2luaXQpOworbW9kdWxlX2V4aXQoczNjMjQ0MF9zZXJpYWxfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTM0MyNDQwLFMzQzI0NDIgU29DIFNlcmlhbCBwb3J0IGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiQmVuIERvb2tzIDxiZW5Ac2ltdGVjLmNvLnVrPiIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTGkgdjIiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06czNjMjQ0MC11YXJ0Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmMgYi9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEzZWNhYQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuYwpAQCAtMCwwICsxLDEzMTcgQEAKKy8qIGxpbnV4L2RyaXZlcnMvc2VyaWFsL3NhbXN1aW5nLmMKKyAqCisgKiBEcml2ZXIgY29yZSBmb3IgU2Ftc3VuZyBTb0Mgb25ib2FyZCBVQVJUcy4KKyAqCisgKiBCZW4gRG9va3MsIENvcHlyaWdodCAoYykgMjAwMy0yMDA1LDIwMDggU2ltdGVjIEVsZWN0cm9uaWNzCisgKglodHRwOi8vYXJtbGludXguc2ltdGVjLmNvLnVrLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisvKiBIb3RlIG9uIDI0MTAgZXJyb3IgaGFuZGxpbmcKKyAqCisgKiBUaGUgczNjMjQxMCBtYW51YWwgaGFzIGEgbG92ZS9oYXRlIGFmZmFpciB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUKKyAqIFVFUlNUQVQgcmVnaXN0ZXIgaW4gdGhlIFVBUlQgYmxvY2tzLCBhbmQga2VlcHMgbWFya2luZyBzb21lIG9mIHRoZQorICogZXJyb3IgYml0cyBhcyByZXNlcnZlZC4gSGF2aW5nIGNoZWNrZWQgd2l0aCB0aGUgczNjMjQxMHgwMSwKKyAqIGl0IGNvcGVzIHdpdGggQlJFQUtzIHByb3Blcmx5LCBzbyBJIGFtIGhhcHB5IHRvIGlnbm9yZSB0aGUgUkVTRVJWRUQKKyAqIGZlYXR1cmUgZnJvbSB0aGUgbGF0dGVyIHZlcnNpb25zIG9mIHRoZSBtYW51YWwuCisgKgorICogSWYgaXQgYmVjb21lcyBhcGFycmVudCB0aGF0IGxhdHRlciB2ZXJzaW9ucyBvZiB0aGUgMjQxMCByZW1vdmUgdGhlc2UKKyAqIGJpdHMsIHRoZW4gYWN0aW9uIHdpbGwgaGF2ZSB0byBiZSB0YWtlbiB0byBkaWZmZXJlbnRpYXRlIHRoZSB2ZXJzaW9ucworICogYW5kIGNoYW5nZSB0aGUgcG9saWN5IG9uIEJSRUFLCisgKgorICogQkpELCAwNC1Ob3YtMjAwNAorKi8KKworI2lmIGRlZmluZWQoQ09ORklHX1NFUklBTF9TQU1TVU5HX0NPTlNPTEUpICYmIGRlZmluZWQoQ09ORklHX01BR0lDX1NZU1JRKQorI2RlZmluZSBTVVBQT1JUX1NZU1JRCisjZW5kaWYKKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3N5c3JxLmg+CisjaW5jbHVkZSA8bGludXgvY29uc29sZS5oPgorI2luY2x1ZGUgPGxpbnV4L3R0eS5oPgorI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CisjaW5jbHVkZSA8bGludXgvc2VyaWFsX2NvcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorCisjaW5jbHVkZSA8YXNtL2lycS5oPgorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisKKyNpbmNsdWRlIDxhc20vcGxhdC1zM2MvcmVncy1zZXJpYWwuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KKworI2luY2x1ZGUgInNhbXN1bmcuaCIKKworLyogVUFSVCBuYW1lIGFuZCBkZXZpY2UgZGVmaW5pdGlvbnMgKi8KKworI2RlZmluZSBTM0MyNFhYX1NFUklBTF9OQU1FCSJ0dHlTQUMiCisjZGVmaW5lIFMzQzI0WFhfU0VSSUFMX01BSk9SCTIwNAorI2RlZmluZSBTM0MyNFhYX1NFUklBTF9NSU5PUgk2NAorCisvKiB3ZSBjYW4gc3VwcG9ydCAzIHVhcnRzLCBidXQgbm90IGFsd2F5cyB1c2UgdGhlbSAqLworCisjaWZkZWYgQ09ORklHX0NQVV9TM0MyNDAwCisjZGVmaW5lIE5SX1BPUlRTICgyKQorI2Vsc2UKKyNkZWZpbmUgTlJfUE9SVFMgKDMpCisjZW5kaWYKKworLyogcG9ydCBpcnEgbnVtYmVycyAqLworCisjZGVmaW5lIFRYX0lSUShwb3J0KSAoKHBvcnQpLT5pcnEgKyAxKQorI2RlZmluZSBSWF9JUlEocG9ydCkgKChwb3J0KS0+aXJxKQorCisvKiBtYWNyb3MgdG8gY2hhbmdlIG9uZSB0aGluZyB0byBhbm90aGVyICovCisKKyNkZWZpbmUgdHhfZW5hYmxlZChwb3J0KSAoKHBvcnQpLT51bnVzZWRbMF0pCisjZGVmaW5lIHJ4X2VuYWJsZWQocG9ydCkgKChwb3J0KS0+dW51c2VkWzFdKQorCisvKiBmbGFnIHRvIGlnbm9yZSBhbGwgY2hhcmFjdGVycyBjb21taW5nIGluICovCisjZGVmaW5lIFJYU1RBVF9EVU1NWV9SRUFEICgweDEwMDAwMDAwKQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqdG9fb3VycG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJldHVybiBjb250YWluZXJfb2YocG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0LCBwb3J0KTsKK30KKworLyogdHJhbnNsYXRlIGEgcG9ydCB0byB0aGUgZGV2aWNlIG5hbWUgKi8KKworc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJldHVybiB0b19wbGF0Zm9ybV9kZXZpY2UocG9ydC0+ZGV2KS0+bmFtZTsKK30KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXJldHVybiAocmRfcmVnbChwb3J0LCBTM0MyNDEwX1VUUlNUQVQpICYgUzNDMjQxMF9VVFJTVEFUX1RYRSk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3J4X2VuYWJsZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IHVjb24sIHVmY29uOworCWludCBjb3VudCA9IDEwMDAwOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCXdoaWxlICgtLWNvdW50ICYmICFzM2MyNHh4X3NlcmlhbF90eGVtcHR5X25vZmlmbyhwb3J0KSkKKwkJdWRlbGF5KDEwMCk7CisKKwl1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7CisJdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTiwgdWZjb24pOworCisJdWNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKwl1Y29uIHw9IFMzQzI0MTBfVUNPTl9SWElSUU1PREU7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCisJcnhfZW5hYmxlZChwb3J0KSA9IDE7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9yeF9kaXNhYmxlKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBpbnQgdWNvbjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7CisKKwl1Y29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04pOworCXVjb24gJj0gflMzQzI0MTBfVUNPTl9SWElSUU1PREU7CisJd3JfcmVnbChwb3J0LCBTM0MyNDEwX1VDT04sIHVjb24pOworCisJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKHR4X2VuYWJsZWQocG9ydCkpIHsKKwkJZGlzYWJsZV9pcnEoVFhfSVJRKHBvcnQpKTsKKwkJdHhfZW5hYmxlZChwb3J0KSA9IDA7CisJCWlmIChwb3J0LT5mbGFncyAmIFVQRl9DT05TX0ZMT1cpCisJCQlzM2MyNHh4X3NlcmlhbF9yeF9lbmFibGUocG9ydCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdGFydF90eChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCWlmICghdHhfZW5hYmxlZChwb3J0KSkgeworCQlpZiAocG9ydC0+ZmxhZ3MgJiBVUEZfQ09OU19GTE9XKQorCQkJczNjMjR4eF9zZXJpYWxfcnhfZGlzYWJsZShwb3J0KTsKKworCQllbmFibGVfaXJxKFRYX0lSUShwb3J0KSk7CisJCXR4X2VuYWJsZWQocG9ydCkgPSAxOworCX0KK30KKworCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zdG9wX3J4KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJaWYgKHJ4X2VuYWJsZWQocG9ydCkpIHsKKwkJZGJnKCJzM2MyNHh4X3NlcmlhbF9zdG9wX3J4OiBwb3J0PSVwXG4iLCBwb3J0KTsKKwkJZGlzYWJsZV9pcnEoUlhfSVJRKHBvcnQpKTsKKwkJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJfQorfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9lbmFibGVfbXMoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnMzYzI0eHhfcG9ydF90b19pbmZvKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJcmV0dXJuIHRvX291cnBvcnQocG9ydCktPmluZm87Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqczNjMjR4eF9wb3J0X3RvX2NmZyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCWlmIChwb3J0LT5kZXYgPT0gTlVMTCkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXR1cm4gKHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKilwb3J0LT5kZXYtPnBsYXRmb3JtX2RhdGE7Cit9CisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcnhfZmlmb2NudChzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQsCisJCQkJICAgICB1bnNpZ25lZCBsb25nIHVmc3RhdCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBvdXJwb3J0LT5pbmZvOworCisJaWYgKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9mdWxsKQorCQlyZXR1cm4gaW5mby0+Zmlmb3NpemU7CisKKwlyZXR1cm4gKHVmc3RhdCAmIGluZm8tPnJ4X2ZpZm9tYXNrKSA+PiBpbmZvLT5yeF9maWZvc2hpZnQ7Cit9CisKKworLyogPyAtIHdoZXJlIGhhcyBwYXJpdHkgZ29uZT8/ICovCisjZGVmaW5lIFMzQzI0MTBfVUVSU1RBVF9QQVJJVFkgKDB4MTAwMCkKKworc3RhdGljIGlycXJldHVybl90CitzM2MyNHh4X3NlcmlhbF9yeF9jaGFycyhpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gZGV2X2lkOworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSAmb3VycG9ydC0+cG9ydDsKKwlzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5ID0gcG9ydC0+aW5mby0+dHR5OworCXVuc2lnbmVkIGludCB1ZmNvbiwgY2gsIGZsYWcsIHVmc3RhdCwgdWVyc3RhdDsKKwlpbnQgbWF4X2NvdW50ID0gNjQ7CisKKwl3aGlsZSAobWF4X2NvdW50LS0gPiAwKSB7CisJCXVmY29uID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKTsKKwkJdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7CisKKwkJaWYgKHMzYzI0eHhfc2VyaWFsX3J4X2ZpZm9jbnQob3VycG9ydCwgdWZzdGF0KSA9PSAwKQorCQkJYnJlYWs7CisKKwkJdWVyc3RhdCA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRVJTVEFUKTsKKwkJY2ggPSByZF9yZWdiKHBvcnQsIFMzQzI0MTBfVVJYSCk7CisKKwkJaWYgKHBvcnQtPmZsYWdzICYgVVBGX0NPTlNfRkxPVykgeworCQkJaW50IHR4ZSA9IHMzYzI0eHhfc2VyaWFsX3R4ZW1wdHlfbm9maWZvKHBvcnQpOworCisJCQlpZiAocnhfZW5hYmxlZChwb3J0KSkgeworCQkJCWlmICghdHhlKSB7CisJCQkJCXJ4X2VuYWJsZWQocG9ydCkgPSAwOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCWlmICh0eGUpIHsKKwkJCQkJdWZjb24gfD0gUzNDMjQxMF9VRkNPTl9SRVNFVFJYOworCQkJCQl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUZDT04sIHVmY29uKTsKKwkJCQkJcnhfZW5hYmxlZChwb3J0KSA9IDE7CisJCQkJCWdvdG8gb3V0OworCQkJCX0KKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCisJCS8qIGluc2VydCB0aGUgY2hhcmFjdGVyIGludG8gdGhlIGJ1ZmZlciAqLworCisJCWZsYWcgPSBUVFlfTk9STUFMOworCQlwb3J0LT5pY291bnQucngrKzsKKworCQlpZiAodW5saWtlbHkodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9BTlkpKSB7CisJCQlkYmcoInJ4ZXJyOiBwb3J0IGNoPTB4JTAyeCwgcnhzPTB4JTA4eFxuIiwKKwkJCSAgICBjaCwgdWVyc3RhdCk7CisKKwkJCS8qIGNoZWNrIGZvciBicmVhayAqLworCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspIHsKKwkJCQlkYmcoImJyZWFrIVxuIik7CisJCQkJcG9ydC0+aWNvdW50LmJyaysrOworCQkJCWlmICh1YXJ0X2hhbmRsZV9icmVhayhwb3J0KSkKKwkJCQkgICAgZ290byBpZ25vcmVfY2hhcjsKKwkJCX0KKworCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfRlJBTUUpCisJCQkJcG9ydC0+aWNvdW50LmZyYW1lKys7CisJCQlpZiAodWVyc3RhdCAmIFMzQzI0MTBfVUVSU1RBVF9PVkVSUlVOKQorCQkJCXBvcnQtPmljb3VudC5vdmVycnVuKys7CisKKwkJCXVlcnN0YXQgJj0gcG9ydC0+cmVhZF9zdGF0dXNfbWFzazsKKworCQkJaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfQlJFQUspCisJCQkJZmxhZyA9IFRUWV9CUkVBSzsKKwkJCWVsc2UgaWYgKHVlcnN0YXQgJiBTM0MyNDEwX1VFUlNUQVRfUEFSSVRZKQorCQkJCWZsYWcgPSBUVFlfUEFSSVRZOworCQkJZWxzZSBpZiAodWVyc3RhdCAmIChTM0MyNDEwX1VFUlNUQVRfRlJBTUUgfAorCQkJCQkgICAgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4pKQorCQkJCWZsYWcgPSBUVFlfRlJBTUU7CisJCX0KKworCQlpZiAodWFydF9oYW5kbGVfc3lzcnFfY2hhcihwb3J0LCBjaCkpCisJCQlnb3RvIGlnbm9yZV9jaGFyOworCisJCXVhcnRfaW5zZXJ0X2NoYXIocG9ydCwgdWVyc3RhdCwgUzNDMjQxMF9VRVJTVEFUX09WRVJSVU4sCisJCQkJIGNoLCBmbGFnKTsKKworIGlnbm9yZV9jaGFyOgorCQljb250aW51ZTsKKwl9CisJdHR5X2ZsaXBfYnVmZmVyX3B1c2godHR5KTsKKworIG91dDoKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBzM2MyNHh4X3NlcmlhbF90eF9jaGFycyhpbnQgaXJxLCB2b2lkICppZCkKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X3BvcnQgKm91cnBvcnQgPSBpZDsKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gJm91cnBvcnQtPnBvcnQ7CisJc3RydWN0IGNpcmNfYnVmICp4bWl0ID0gJnBvcnQtPmluZm8tPnhtaXQ7CisJaW50IGNvdW50ID0gMjU2OworCisJaWYgKHBvcnQtPnhfY2hhcikgeworCQl3cl9yZWdiKHBvcnQsIFMzQzI0MTBfVVRYSCwgcG9ydC0+eF9jaGFyKTsKKwkJcG9ydC0+aWNvdW50LnR4Kys7CisJCXBvcnQtPnhfY2hhciA9IDA7CisJCWdvdG8gb3V0OworCX0KKworCS8qIGlmIHRoZXJlIGlzbnQgYW55dGhpbmcgbW9yZSB0byB0cmFuc21pdCwgb3IgdGhlIHVhcnQgaXMgbm93CisJICogc3RvcHBlZCwgZGlzYWJsZSB0aGUgdWFydCBhbmQgZXhpdAorCSovCisKKwlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpIHx8IHVhcnRfdHhfc3RvcHBlZChwb3J0KSkgeworCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiB0cnkgYW5kIGRyYWluIHRoZSBidWZmZXIuLi4gKi8KKworCXdoaWxlICghdWFydF9jaXJjX2VtcHR5KHhtaXQpICYmIGNvdW50LS0gPiAwKSB7CisJCWlmIChyZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKSAmIG91cnBvcnQtPmluZm8tPnR4X2ZpZm9mdWxsKQorCQkJYnJlYWs7CisKKwkJd3JfcmVnYihwb3J0LCBTM0MyNDEwX1VUWEgsIHhtaXQtPmJ1Zlt4bWl0LT50YWlsXSk7CisJCXhtaXQtPnRhaWwgPSAoeG1pdC0+dGFpbCArIDEpICYgKFVBUlRfWE1JVF9TSVpFIC0gMSk7CisJCXBvcnQtPmljb3VudC50eCsrOworCX0KKworCWlmICh1YXJ0X2NpcmNfY2hhcnNfcGVuZGluZyh4bWl0KSA8IFdBS0VVUF9DSEFSUykKKwkJdWFydF93cml0ZV93YWtldXAocG9ydCk7CisKKwlpZiAodWFydF9jaXJjX2VtcHR5KHhtaXQpKQorCQlzM2MyNHh4X3NlcmlhbF9zdG9wX3R4KHBvcnQpOworCisgb3V0OgorCXJldHVybiBJUlFfSEFORExFRDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzM2MyNHh4X3NlcmlhbF90eF9lbXB0eShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCXVuc2lnbmVkIGxvbmcgdWZzdGF0ID0gcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGU1RBVCk7CisJdW5zaWduZWQgbG9uZyB1ZmNvbiA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VRkNPTik7CisKKwlpZiAodWZjb24gJiBTM0MyNDEwX1VGQ09OX0ZJRk9NT0RFKSB7CisJCWlmICgodWZzdGF0ICYgaW5mby0+dHhfZmlmb21hc2spICE9IDAgfHwKKwkJICAgICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkpCisJCQlyZXR1cm4gMDsKKworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfdHhlbXB0eV9ub2ZpZm8ocG9ydCk7Cit9CisKKy8qIG5vIG1vZGVtIGNvbnRyb2wgbGluZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgczNjMjR4eF9zZXJpYWxfZ2V0X21jdHJsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJdW5zaWduZWQgaW50IHVtc3RhdCA9IHJkX3JlZ2IocG9ydCwgUzNDMjQxMF9VTVNUQVQpOworCisJaWYgKHVtc3RhdCAmIFMzQzI0MTBfVU1TVEFUX0NUUykKKwkJcmV0dXJuIFRJT0NNX0NBUiB8IFRJT0NNX0RTUiB8IFRJT0NNX0NUUzsKKwllbHNlCisJCXJldHVybiBUSU9DTV9DQVIgfCBUSU9DTV9EU1I7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NldF9tY3RybChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCB1bnNpZ25lZCBpbnQgbWN0cmwpCit7CisJLyogdG9kbyAtIHBvc3NpYmx5IHJlbW92ZSBBRkMgYW5kIGRvIG1hbnVhbCBDVFMgKi8KK30KKworc3RhdGljIHZvaWQgczNjMjR4eF9zZXJpYWxfYnJlYWtfY3RsKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBicmVha19zdGF0ZSkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGludCB1Y29uOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCXVjb24gPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTik7CisKKwlpZiAoYnJlYWtfc3RhdGUpCisJCXVjb24gfD0gUzNDMjQxMF9VQ09OX1NCUkVBSzsKKwllbHNlCisJCXVjb24gJj0gflMzQzI0MTBfVUNPTl9TQlJFQUs7CisKKwl3cl9yZWdsKHBvcnQsIFMzQzI0MTBfVUNPTiwgdWNvbik7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3NodXRkb3duKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCWlmIChvdXJwb3J0LT50eF9jbGFpbWVkKSB7CisJCWZyZWVfaXJxKFRYX0lSUShwb3J0KSwgb3VycG9ydCk7CisJCXR4X2VuYWJsZWQocG9ydCkgPSAwOworCQlvdXJwb3J0LT50eF9jbGFpbWVkID0gMDsKKwl9CisKKwlpZiAob3VycG9ydC0+cnhfY2xhaW1lZCkgeworCQlmcmVlX2lycShSWF9JUlEocG9ydCksIG91cnBvcnQpOworCQlvdXJwb3J0LT5yeF9jbGFpbWVkID0gMDsKKwkJcnhfZW5hYmxlZChwb3J0KSA9IDA7CisJfQorfQorCisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfc3RhcnR1cChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7CisJaW50IHJldDsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfc3RhcnR1cDogcG9ydD0lcCAoJTA4bHgsJXApXG4iLAorCSAgICBwb3J0LT5tYXBiYXNlLCBwb3J0LT5tZW1iYXNlKTsKKworCXJ4X2VuYWJsZWQocG9ydCkgPSAxOworCisJcmV0ID0gcmVxdWVzdF9pcnEoUlhfSVJRKHBvcnQpLAorCQkJICBzM2MyNHh4X3NlcmlhbF9yeF9jaGFycywgMCwKKwkJCSAgczNjMjR4eF9zZXJpYWxfcG9ydG5hbWUocG9ydCksIG91cnBvcnQpOworCisJaWYgKHJldCAhPSAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiY2Fubm90IGdldCBpcnEgJWRcbiIsIFJYX0lSUShwb3J0KSk7CisJCXJldHVybiByZXQ7CisJfQorCisJb3VycG9ydC0+cnhfY2xhaW1lZCA9IDE7CisKKwlkYmcoInJlcXVlc3RpbmcgdHggaXJxLi4uXG4iKTsKKworCXR4X2VuYWJsZWQocG9ydCkgPSAxOworCisJcmV0ID0gcmVxdWVzdF9pcnEoVFhfSVJRKHBvcnQpLAorCQkJICBzM2MyNHh4X3NlcmlhbF90eF9jaGFycywgMCwKKwkJCSAgczNjMjR4eF9zZXJpYWxfcG9ydG5hbWUocG9ydCksIG91cnBvcnQpOworCisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9FUlIgImNhbm5vdCBnZXQgaXJxICVkXG4iLCBUWF9JUlEocG9ydCkpOworCQlnb3RvIGVycjsKKwl9CisKKwlvdXJwb3J0LT50eF9jbGFpbWVkID0gMTsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfc3RhcnR1cCBva1xuIik7CisKKwkvKiB0aGUgcG9ydCByZXNldCBjb2RlIHNob3VsZCBoYXZlIGRvbmUgdGhlIGNvcnJlY3QKKwkgKiByZWdpc3RlciBzZXR1cCBmb3IgdGhlIHBvcnQgY29udHJvbHMgKi8KKworCXJldHVybiByZXQ7CisKKyBlcnI6CisJczNjMjR4eF9zZXJpYWxfc2h1dGRvd24ocG9ydCk7CisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgcG93ZXIgbWFuYWdlbWVudCBjb250cm9sICovCisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX3BtKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIHVuc2lnbmVkIGludCBsZXZlbCwKKwkJCSAgICAgIHVuc2lnbmVkIGludCBvbGQpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIDM6CisJCWlmICghSVNfRVJSKG91cnBvcnQtPmJhdWRjbGspICYmIG91cnBvcnQtPmJhdWRjbGsgIT0gTlVMTCkKKwkJCWNsa19kaXNhYmxlKG91cnBvcnQtPmJhdWRjbGspOworCisJCWNsa19kaXNhYmxlKG91cnBvcnQtPmNsayk7CisJCWJyZWFrOworCisJY2FzZSAwOgorCQljbGtfZW5hYmxlKG91cnBvcnQtPmNsayk7CisKKwkJaWYgKCFJU19FUlIob3VycG9ydC0+YmF1ZGNsaykgJiYgb3VycG9ydC0+YmF1ZGNsayAhPSBOVUxMKQorCQkJY2xrX2VuYWJsZShvdXJwb3J0LT5iYXVkY2xrKTsKKworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHhfc2VyaWFsOiB1bmtub3duIHBtICVkXG4iLCBsZXZlbCk7CisJfQorfQorCisvKiBiYXVkIHJhdGUgY2FsY3VsYXRpb24KKyAqCisgKiBUaGUgVUFSVHMgb24gdGhlIFMzQzI0MTAvUzNDMjQ0MCBjYW4gdGFrZSB0aGVpciBjbG9ja3MgZnJvbSBhIG51bWJlcgorICogb2YgZGlmZmVyZW50IHNvdXJjZXMsIGluY2x1ZGluZyB0aGUgcGVyaXBoZXJhbCBjbG9jayAoInBjbGsiKSBhbmQgYW4KKyAqIGV4dGVybmFsIGNsb2NrICgidWNsayIpLiBUaGUgUzNDMjQ0MCBhbHNvIGFkZHMgdGhlIGNvcmUgY2xvY2sgKCJmY2xrIikKKyAqIHdpdGggYSBwcm9ncmFtbWFibGUgZXh0cmEgZGl2aXNvci4KKyAqCisgKiBUaGUgZm9sbG93aW5nIGNvZGUgZ29lcyB0aHJvdWdoIHRoZSBjbG9jayBzb3VyY2VzLCBhbmQgY2FsY3VsYXRlcyB0aGUKKyAqIGJhdWQgY2xvY2tzIChhbmQgdGhlIHJlc3VsdGFudCBhY3R1YWwgYmF1ZCByYXRlcykgYW5kIHRoZW4gdHJpZXMgdG8KKyAqIHBpY2sgdGhlIGNsb3Nlc3Qgb25lIGFuZCBzZWxlY3QgdGhhdC4KKyAqCisqLworCisKKyNkZWZpbmUgTUFYX0NMS1MgKDgpCisKK3N0YXRpYyBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyB0bXBfY2xrc3JjID0geworCS5uYW1lCQk9ICJwY2xrIiwKKwkubWluX2JhdWQJPSAwLAorCS5tYXhfYmF1ZAk9IDAsCisJLmRpdmlzb3IJPSAxLAorfTsKKworc3RhdGljIGlubGluZSBpbnQKK3MzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqYykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCXJldHVybiAoaW5mby0+Z2V0X2Nsa3NyYykocG9ydCwgYyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50CitzM2MyNHh4X3NlcmlhbF9zZXRzb3VyY2Uoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmMpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisKKwlyZXR1cm4gKGluZm8tPnNldF9jbGtzcmMpKHBvcnQsIGMpOworfQorCitzdHJ1Y3QgYmF1ZF9jYWxjIHsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYwkqY2xrc3JjOworCXVuc2lnbmVkIGludAkJCSBjYWxjOworCXVuc2lnbmVkIGludAkJCSBxdW90OworCXN0cnVjdCBjbGsJCQkqc3JjOworfTsKKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9jYWxjYmF1ZChzdHJ1Y3QgYmF1ZF9jYWxjICpjYWxjLAorCQkJCSAgIHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsCisJCQkJICAgc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgKmNsa3NyYywKKwkJCQkgICB1bnNpZ25lZCBpbnQgYmF1ZCkKK3sKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwljYWxjLT5zcmMgPSBjbGtfZ2V0KHBvcnQtPmRldiwgY2xrc3JjLT5uYW1lKTsKKwlpZiAoY2FsYy0+c3JjID09IE5VTEwgfHwgSVNfRVJSKGNhbGMtPnNyYykpCisJCXJldHVybiAwOworCisJcmF0ZSA9IGNsa19nZXRfcmF0ZShjYWxjLT5zcmMpOworCXJhdGUgLz0gY2xrc3JjLT5kaXZpc29yOworCisJY2FsYy0+Y2xrc3JjID0gY2xrc3JjOworCWNhbGMtPnF1b3QgPSAocmF0ZSArICg4ICogYmF1ZCkpIC8gKDE2ICogYmF1ZCk7CisJY2FsYy0+Y2FsYyA9IChyYXRlIC8gKGNhbGMtPnF1b3QgKiAxNikpOworCisJY2FsYy0+cXVvdC0tOworCXJldHVybiAxOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHMzYzI0eHhfc2VyaWFsX2dldGNsayhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCQkgIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICoqY2xrc3JjLAorCQkJCQkgIHN0cnVjdCBjbGsgKipjbGssCisJCQkJCSAgdW5zaWduZWQgaW50IGJhdWQpCit7CisJc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqY2ZnID0gczNjMjR4eF9wb3J0X3RvX2NmZyhwb3J0KTsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrcDsKKwlzdHJ1Y3QgYmF1ZF9jYWxjIHJlc1tNQVhfQ0xLU107CisJc3RydWN0IGJhdWRfY2FsYyAqcmVzcHRyLCAqYmVzdCwgKnNwdHI7CisJaW50IGk7CisKKwljbGtwID0gY2ZnLT5jbG9ja3M7CisJYmVzdCA9IE5VTEw7CisKKwlpZiAoY2ZnLT5jbG9ja3Nfc2l6ZSA8IDIpIHsKKwkJaWYgKGNmZy0+Y2xvY2tzX3NpemUgPT0gMCkKKwkJCWNsa3AgPSAmdG1wX2Nsa3NyYzsKKworCQkvKiBjaGVjayB0byBzZWUgaWYgd2UncmUgc291cmNpbmcgZmNsaywgYW5kIGlmIHNvIHdlJ3JlCisJCSAqIGdvaW5nIHRvIGhhdmUgdG8gdXBkYXRlIHRoZSBjbG9jayBzb3VyY2UKKwkJICovCisKKwkJaWYgKHN0cmNtcChjbGtwLT5uYW1lLCAiZmNsayIpID09IDApIHsKKwkJCXN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjIHNyYzsKKworCQkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZzcmMpOworCisJCQkvKiBjaGVjayB0aGF0IHRoZSBwb3J0IGFscmVhZHkgdXNpbmcgZmNsaywgYW5kIGlmCisJCQkgKiBub3QsIHRoZW4gcmUtc2VsZWN0IGZjbGsKKwkJCSAqLworCisJCQlpZiAoc3RyY21wKHNyYy5uYW1lLCBjbGtwLT5uYW1lKSA9PSAwKSB7CisJCQkJczNjMjR4eF9zZXJpYWxfc2V0c291cmNlKHBvcnQsIGNsa3ApOworCQkJCXMzYzI0eHhfc2VyaWFsX2dldHNvdXJjZShwb3J0LCAmc3JjKTsKKwkJCX0KKworCQkJY2xrcC0+ZGl2aXNvciA9IHNyYy5kaXZpc29yOworCQl9CisKKwkJczNjMjR4eF9zZXJpYWxfY2FsY2JhdWQocmVzLCBwb3J0LCBjbGtwLCBiYXVkKTsKKwkJYmVzdCA9IHJlczsKKwkJcmVzcHRyID0gYmVzdCArIDE7CisJfSBlbHNlIHsKKwkJcmVzcHRyID0gcmVzOworCisJCWZvciAoaSA9IDA7IGkgPCBjZmctPmNsb2Nrc19zaXplOyBpKyssIGNsa3ArKykgeworCQkJaWYgKHMzYzI0eHhfc2VyaWFsX2NhbGNiYXVkKHJlc3B0ciwgcG9ydCwgY2xrcCwgYmF1ZCkpCisJCQkJcmVzcHRyKys7CisJCX0KKwl9CisKKwkvKiBvaywgd2Ugbm93IG5lZWQgdG8gc2VsZWN0IHRoZSBiZXN0IGNsb2NrIHdlIGZvdW5kICovCisKKwlpZiAoIWJlc3QpIHsKKwkJdW5zaWduZWQgaW50IGRldmlhdGlvbiA9ICgxPDwzMCl8KCgxPDwzMCktMSk7CisJCWludCBjYWxjX2RldmlhdGlvbjsKKworCQlmb3IgKHNwdHIgPSByZXM7IHNwdHIgPCByZXNwdHI7IHNwdHIrKykgeworCQkJY2FsY19kZXZpYXRpb24gPSBiYXVkIC0gc3B0ci0+Y2FsYzsKKwkJCWlmIChjYWxjX2RldmlhdGlvbiA8IDApCisJCQkJY2FsY19kZXZpYXRpb24gPSAtY2FsY19kZXZpYXRpb247CisKKwkJCWlmIChjYWxjX2RldmlhdGlvbiA8IGRldmlhdGlvbikgeworCQkJCWJlc3QgPSBzcHRyOworCQkJCWRldmlhdGlvbiA9IGNhbGNfZGV2aWF0aW9uOworCQkJfQorCQl9CisJfQorCisJLyogc3RvcmUgcmVzdWx0cyB0byBwYXNzIGJhY2sgKi8KKworCSpjbGtzcmMgPSBiZXN0LT5jbGtzcmM7CisJKmNsayAgICA9IGJlc3QtPnNyYzsKKworCXJldHVybiBiZXN0LT5xdW90OworfQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9zZXRfdGVybWlvcyhzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCSAgICAgICBzdHJ1Y3Qga3Rlcm1pb3MgKnRlcm1pb3MsCisJCQkJICAgICAgIHN0cnVjdCBrdGVybWlvcyAqb2xkKQoreworCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZyA9IHMzYzI0eHhfcG9ydF90b19jZmcocG9ydCk7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0ID0gdG9fb3VycG9ydChwb3J0KTsKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrc3JjID0gTlVMTDsKKwlzdHJ1Y3QgY2xrICpjbGsgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgaW50IGJhdWQsIHF1b3Q7CisJdW5zaWduZWQgaW50IHVsY29uOworCXVuc2lnbmVkIGludCB1bWNvbjsKKworCS8qCisJICogV2UgZG9uJ3Qgc3VwcG9ydCBtb2RlbSBjb250cm9sIGxpbmVzLgorCSAqLworCXRlcm1pb3MtPmNfY2ZsYWcgJj0gfihIVVBDTCB8IENNU1BBUik7CisJdGVybWlvcy0+Y19jZmxhZyB8PSBDTE9DQUw7CisKKwkvKgorCSAqIEFzayB0aGUgY29yZSB0byBjYWxjdWxhdGUgdGhlIGRpdmlzb3IgZm9yIHVzLgorCSAqLworCisJYmF1ZCA9IHVhcnRfZ2V0X2JhdWRfcmF0ZShwb3J0LCB0ZXJtaW9zLCBvbGQsIDAsIDExNTIwMCo4KTsKKworCWlmIChiYXVkID09IDM4NDAwICYmIChwb3J0LT5mbGFncyAmIFVQRl9TUERfTUFTSykgPT0gVVBGX1NQRF9DVVNUKQorCQlxdW90ID0gcG9ydC0+Y3VzdG9tX2Rpdmlzb3I7CisJZWxzZQorCQlxdW90ID0gczNjMjR4eF9zZXJpYWxfZ2V0Y2xrKHBvcnQsICZjbGtzcmMsICZjbGssIGJhdWQpOworCisJLyogY2hlY2sgdG8gc2VlIGlmIHdlIG5lZWQgIHRvIGNoYW5nZSBjbG9jayBzb3VyY2UgKi8KKworCWlmIChvdXJwb3J0LT5jbGtzcmMgIT0gY2xrc3JjIHx8IG91cnBvcnQtPmJhdWRjbGsgIT0gY2xrKSB7CisJCXMzYzI0eHhfc2VyaWFsX3NldHNvdXJjZShwb3J0LCBjbGtzcmMpOworCisJCWlmIChvdXJwb3J0LT5iYXVkY2xrICE9IE5VTEwgJiYgIUlTX0VSUihvdXJwb3J0LT5iYXVkY2xrKSkgeworCQkJY2xrX2Rpc2FibGUob3VycG9ydC0+YmF1ZGNsayk7CisJCQlvdXJwb3J0LT5iYXVkY2xrICA9IE5VTEw7CisJCX0KKworCQljbGtfZW5hYmxlKGNsayk7CisKKwkJb3VycG9ydC0+Y2xrc3JjID0gY2xrc3JjOworCQlvdXJwb3J0LT5iYXVkY2xrID0gY2xrOworCX0KKworCXN3aXRjaCAodGVybWlvcy0+Y19jZmxhZyAmIENTSVpFKSB7CisJY2FzZSBDUzU6CisJCWRiZygiY29uZmlnOiA1Yml0cy9jaGFyXG4iKTsKKwkJdWxjb24gPSBTM0MyNDEwX0xDT05fQ1M1OworCQlicmVhazsKKwljYXNlIENTNjoKKwkJZGJnKCJjb25maWc6IDZiaXRzL2NoYXJcbiIpOworCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzY7CisJCWJyZWFrOworCWNhc2UgQ1M3OgorCQlkYmcoImNvbmZpZzogN2JpdHMvY2hhclxuIik7CisJCXVsY29uID0gUzNDMjQxMF9MQ09OX0NTNzsKKwkJYnJlYWs7CisJY2FzZSBDUzg6CisJZGVmYXVsdDoKKwkJZGJnKCJjb25maWc6IDhiaXRzL2NoYXJcbiIpOworCQl1bGNvbiA9IFMzQzI0MTBfTENPTl9DUzg7CisJCWJyZWFrOworCX0KKworCS8qIHByZXNlcnZlIG9yaWdpbmFsIGxjb24gSVIgc2V0dGluZ3MgKi8KKwl1bGNvbiB8PSAoY2ZnLT51bGNvbiAmIFMzQzI0MTBfTENPTl9JUk0pOworCisJaWYgKHRlcm1pb3MtPmNfY2ZsYWcgJiBDU1RPUEIpCisJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9TVE9QQjsKKworCXVtY29uID0gKHRlcm1pb3MtPmNfY2ZsYWcgJiBDUlRTQ1RTKSA/IFMzQzI0MTBfVU1DT01fQUZDIDogMDsKKworCWlmICh0ZXJtaW9zLT5jX2NmbGFnICYgUEFSRU5CKSB7CisJCWlmICh0ZXJtaW9zLT5jX2NmbGFnICYgUEFST0REKQorCQkJdWxjb24gfD0gUzNDMjQxMF9MQ09OX1BPREQ7CisJCWVsc2UKKwkJCXVsY29uIHw9IFMzQzI0MTBfTENPTl9QRVZFTjsKKwl9IGVsc2UgeworCQl1bGNvbiB8PSBTM0MyNDEwX0xDT05fUE5PTkU7CisJfQorCisJc3Bpbl9sb2NrX2lycXNhdmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKKworCWRiZygic2V0dGluZyB1bGNvbiB0byAlMDh4LCBicmRkaXYgdG8gJWRcbiIsIHVsY29uLCBxdW90KTsKKworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiwgdWxjb24pOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VQlJESVYsIHF1b3QpOworCXdyX3JlZ2wocG9ydCwgUzNDMjQxMF9VTUNPTiwgdW1jb24pOworCisJZGJnKCJ1YXJ0OiB1bGNvbiA9IDB4JTA4eCwgdWNvbiA9IDB4JTA4eCwgdWZjb24gPSAweCUwOHhcbiIsCisJICAgIHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VTENPTiksCisJICAgIHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKSwKKwkgICAgcmRfcmVnbChwb3J0LCBTM0MyNDEwX1VGQ09OKSk7CisKKwkvKgorCSAqIFVwZGF0ZSB0aGUgcGVyLXBvcnQgdGltZW91dC4KKwkgKi8KKwl1YXJ0X3VwZGF0ZV90aW1lb3V0KHBvcnQsIHRlcm1pb3MtPmNfY2ZsYWcsIGJhdWQpOworCisJLyoKKwkgKiBXaGljaCBjaGFyYWN0ZXIgc3RhdHVzIGZsYWdzIGFyZSB3ZSBpbnRlcmVzdGVkIGluPworCSAqLworCXBvcnQtPnJlYWRfc3RhdHVzX21hc2sgPSBTM0MyNDEwX1VFUlNUQVRfT1ZFUlJVTjsKKwlpZiAodGVybWlvcy0+Y19pZmxhZyAmIElOUENLKQorCQlwb3J0LT5yZWFkX3N0YXR1c19tYXNrIHw9IFMzQzI0MTBfVUVSU1RBVF9GUkFNRSB8IFMzQzI0MTBfVUVSU1RBVF9QQVJJVFk7CisKKwkvKgorCSAqIFdoaWNoIGNoYXJhY3RlciBzdGF0dXMgZmxhZ3Mgc2hvdWxkIHdlIGlnbm9yZT8KKwkgKi8KKwlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgPSAwOworCWlmICh0ZXJtaW9zLT5jX2lmbGFnICYgSUdOUEFSKQorCQlwb3J0LT5pZ25vcmVfc3RhdHVzX21hc2sgfD0gUzNDMjQxMF9VRVJTVEFUX09WRVJSVU47CisJaWYgKHRlcm1pb3MtPmNfaWZsYWcgJiBJR05CUksgJiYgdGVybWlvcy0+Y19pZmxhZyAmIElHTlBBUikKKwkJcG9ydC0+aWdub3JlX3N0YXR1c19tYXNrIHw9IFMzQzI0MTBfVUVSU1RBVF9GUkFNRTsKKworCS8qCisJICogSWdub3JlIGFsbCBjaGFyYWN0ZXJzIGlmIENSRUFEIGlzIG5vdCBzZXQuCisJICovCisJaWYgKCh0ZXJtaW9zLT5jX2NmbGFnICYgQ1JFQUQpID09IDApCisJCXBvcnQtPmlnbm9yZV9zdGF0dXNfbWFzayB8PSBSWFNUQVRfRFVNTVlfUkVBRDsKKworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnMzYzI0eHhfc2VyaWFsX3R5cGUoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlzd2l0Y2ggKHBvcnQtPnR5cGUpIHsKKwljYXNlIFBPUlRfUzNDMjQxMDoKKwkJcmV0dXJuICJTM0MyNDEwIjsKKwljYXNlIFBPUlRfUzNDMjQ0MDoKKwkJcmV0dXJuICJTM0MyNDQwIjsKKwljYXNlIFBPUlRfUzNDMjQxMjoKKwkJcmV0dXJuICJTM0MyNDEyIjsKKwlkZWZhdWx0OgorCQlyZXR1cm4gTlVMTDsKKwl9Cit9CisKKyNkZWZpbmUgTUFQX1NJWkUgKDB4MTAwKQorCitzdGF0aWMgdm9pZCBzM2MyNHh4X3NlcmlhbF9yZWxlYXNlX3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCkKK3sKKwlyZWxlYXNlX21lbV9yZWdpb24ocG9ydC0+bWFwYmFzZSwgTUFQX1NJWkUpOworfQorCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX3JlcXVlc3RfcG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0KQoreworCWNvbnN0IGNoYXIgKm5hbWUgPSBzM2MyNHh4X3NlcmlhbF9wb3J0bmFtZShwb3J0KTsKKwlyZXR1cm4gcmVxdWVzdF9tZW1fcmVnaW9uKHBvcnQtPm1hcGJhc2UsIE1BUF9TSVpFLCBuYW1lKSA/IDAgOiAtRUJVU1k7Cit9CisKK3N0YXRpYyB2b2lkIHMzYzI0eHhfc2VyaWFsX2NvbmZpZ19wb3J0KHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCWlmIChmbGFncyAmIFVBUlRfQ09ORklHX1RZUEUgJiYKKwkgICAgczNjMjR4eF9zZXJpYWxfcmVxdWVzdF9wb3J0KHBvcnQpID09IDApCisJCXBvcnQtPnR5cGUgPSBpbmZvLT50eXBlOworfQorCisvKgorICogdmVyaWZ5IHRoZSBuZXcgc2VyaWFsX3N0cnVjdCAoZm9yIFRJT0NTU0VSSUFMKS4KKyAqLworc3RhdGljIGludAorczNjMjR4eF9zZXJpYWxfdmVyaWZ5X3BvcnQoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgc3RydWN0IHNlcmlhbF9zdHJ1Y3QgKnNlcikKK3sKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8gPSBzM2MyNHh4X3BvcnRfdG9faW5mbyhwb3J0KTsKKworCWlmIChzZXItPnR5cGUgIT0gUE9SVF9VTktOT1dOICYmIHNlci0+dHlwZSAhPSBpbmZvLT50eXBlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiAwOworfQorCisKKyNpZmRlZiBDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRQorCitzdGF0aWMgc3RydWN0IGNvbnNvbGUgczNjMjR4eF9zZXJpYWxfY29uc29sZTsKKworI2RlZmluZSBTM0MyNFhYX1NFUklBTF9DT05TT0xFICZzM2MyNHh4X3NlcmlhbF9jb25zb2xlCisjZWxzZQorI2RlZmluZSBTM0MyNFhYX1NFUklBTF9DT05TT0xFIE5VTEwKKyNlbmRpZgorCitzdGF0aWMgc3RydWN0IHVhcnRfb3BzIHMzYzI0eHhfc2VyaWFsX29wcyA9IHsKKwkucG0JCT0gczNjMjR4eF9zZXJpYWxfcG0sCisJLnR4X2VtcHR5CT0gczNjMjR4eF9zZXJpYWxfdHhfZW1wdHksCisJLmdldF9tY3RybAk9IHMzYzI0eHhfc2VyaWFsX2dldF9tY3RybCwKKwkuc2V0X21jdHJsCT0gczNjMjR4eF9zZXJpYWxfc2V0X21jdHJsLAorCS5zdG9wX3R4CT0gczNjMjR4eF9zZXJpYWxfc3RvcF90eCwKKwkuc3RhcnRfdHgJPSBzM2MyNHh4X3NlcmlhbF9zdGFydF90eCwKKwkuc3RvcF9yeAk9IHMzYzI0eHhfc2VyaWFsX3N0b3BfcngsCisJLmVuYWJsZV9tcwk9IHMzYzI0eHhfc2VyaWFsX2VuYWJsZV9tcywKKwkuYnJlYWtfY3RsCT0gczNjMjR4eF9zZXJpYWxfYnJlYWtfY3RsLAorCS5zdGFydHVwCT0gczNjMjR4eF9zZXJpYWxfc3RhcnR1cCwKKwkuc2h1dGRvd24JPSBzM2MyNHh4X3NlcmlhbF9zaHV0ZG93biwKKwkuc2V0X3Rlcm1pb3MJPSBzM2MyNHh4X3NlcmlhbF9zZXRfdGVybWlvcywKKwkudHlwZQkJPSBzM2MyNHh4X3NlcmlhbF90eXBlLAorCS5yZWxlYXNlX3BvcnQJPSBzM2MyNHh4X3NlcmlhbF9yZWxlYXNlX3BvcnQsCisJLnJlcXVlc3RfcG9ydAk9IHMzYzI0eHhfc2VyaWFsX3JlcXVlc3RfcG9ydCwKKwkuY29uZmlnX3BvcnQJPSBzM2MyNHh4X3NlcmlhbF9jb25maWdfcG9ydCwKKwkudmVyaWZ5X3BvcnQJPSBzM2MyNHh4X3NlcmlhbF92ZXJpZnlfcG9ydCwKK307CisKKworc3RhdGljIHN0cnVjdCB1YXJ0X2RyaXZlciBzM2MyNHh4X3VhcnRfZHJ2ID0geworCS5vd25lcgkJPSBUSElTX01PRFVMRSwKKwkuZGV2X25hbWUJPSAiczNjMjQxMF9zZXJpYWwiLAorCS5ucgkJPSAzLAorCS5jb25zCQk9IFMzQzI0WFhfU0VSSUFMX0NPTlNPTEUsCisJLmRyaXZlcl9uYW1lCT0gUzNDMjRYWF9TRVJJQUxfTkFNRSwKKwkubWFqb3IJCT0gUzNDMjRYWF9TRVJJQUxfTUFKT1IsCisJLm1pbm9yCQk9IFMzQzI0WFhfU0VSSUFMX01JTk9SLAorfTsKKworc3RhdGljIHN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCBzM2MyNHh4X3NlcmlhbF9wb3J0c1tOUl9QT1JUU10gPSB7CisJWzBdID0geworCQkucG9ydCA9IHsKKwkJCS5sb2NrCQk9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHMzYzI0eHhfc2VyaWFsX3BvcnRzWzBdLnBvcnQubG9jayksCisJCQkuaW90eXBlCQk9IFVQSU9fTUVNLAorCQkJLmlycQkJPSBJUlFfUzNDVUFSVF9SWDAsCisJCQkudWFydGNsawk9IDAsCisJCQkuZmlmb3NpemUJPSAxNiwKKwkJCS5vcHMJCT0gJnMzYzI0eHhfc2VyaWFsX29wcywKKwkJCS5mbGFncwkJPSBVUEZfQk9PVF9BVVRPQ09ORiwKKwkJCS5saW5lCQk9IDAsCisJCX0KKwl9LAorCVsxXSA9IHsKKwkJLnBvcnQgPSB7CisJCQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzM2MyNHh4X3NlcmlhbF9wb3J0c1sxXS5wb3J0LmxvY2spLAorCQkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJCS5pcnEJCT0gSVJRX1MzQ1VBUlRfUlgxLAorCQkJLnVhcnRjbGsJPSAwLAorCQkJLmZpZm9zaXplCT0gMTYsCisJCQkub3BzCQk9ICZzM2MyNHh4X3NlcmlhbF9vcHMsCisJCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCisJCQkubGluZQkJPSAxLAorCQl9CisJfSwKKyNpZiBOUl9QT1JUUyA+IDIKKworCVsyXSA9IHsKKwkJLnBvcnQgPSB7CisJCQkubG9jawkJPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzM2MyNHh4X3NlcmlhbF9wb3J0c1syXS5wb3J0LmxvY2spLAorCQkJLmlvdHlwZQkJPSBVUElPX01FTSwKKwkJCS5pcnEJCT0gSVJRX1MzQ1VBUlRfUlgyLAorCQkJLnVhcnRjbGsJPSAwLAorCQkJLmZpZm9zaXplCT0gMTYsCisJCQkub3BzCQk9ICZzM2MyNHh4X3NlcmlhbF9vcHMsCisJCQkuZmxhZ3MJCT0gVVBGX0JPT1RfQVVUT0NPTkYsCisJCQkubGluZQkJPSAyLAorCQl9CisJfQorI2VuZGlmCit9OworCisvKiBzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQKKyAqCisgKiB3cmFwcGVyIHRvIGNhbGwgdGhlIHNwZWNpZmljIHJlc2V0IGZvciB0aGlzIHBvcnQgKHJlc2V0IHRoZSBmaWZvcworICogYW5kIHRoZSBzZXR0aW5ncykKKyovCisKK3N0YXRpYyBpbmxpbmUgaW50IHMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LAorCQkJCQkgICBzdHJ1Y3QgczNjMjQxMF91YXJ0Y2ZnICpjZmcpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvID0gczNjMjR4eF9wb3J0X3RvX2luZm8ocG9ydCk7CisKKwlyZXR1cm4gKGluZm8tPnJlc2V0X3BvcnQpKHBvcnQsIGNmZyk7Cit9CisKKy8qIHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydAorICoKKyAqIGluaXRpYWxpc2UgYSBzaW5nbGUgc2VyaWFsIHBvcnQgZnJvbSB0aGUgcGxhdGZvcm0gZGV2aWNlIGdpdmVuCisgKi8KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQoc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0LAorCQkJCSAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8sCisJCQkJICAgIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXYpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9ICZvdXJwb3J0LT5wb3J0OworCXN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKmNmZzsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKKwlpbnQgcmV0OworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IHBvcnQ9JXAsIHBsYXRkZXY9JXBcbiIsIHBvcnQsIHBsYXRkZXYpOworCisJaWYgKHBsYXRkZXYgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljZmcgPSBzM2MyNHh4X2Rldl90b19jZmcoJnBsYXRkZXYtPmRldik7CisKKwlpZiAocG9ydC0+bWFwYmFzZSAhPSAwKQorCQlyZXR1cm4gMDsKKworCWlmIChjZmctPmh3cG9ydCA+IDMpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogc2V0dXAgaW5mbyBmb3IgcG9ydCAqLworCXBvcnQtPmRldgk9ICZwbGF0ZGV2LT5kZXY7CisJb3VycG9ydC0+aW5mbwk9IGluZm87CisKKwkvKiBjb3B5IHRoZSBpbmZvIGluIGZyb20gcHJvdmlkZWQgc3RydWN0dXJlICovCisJb3VycG9ydC0+cG9ydC5maWZvc2l6ZSA9IGluZm8tPmZpZm9zaXplOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6ICVwIChodyAlZCkuLi5cbiIsIHBvcnQsIGNmZy0+aHdwb3J0KTsKKworCXBvcnQtPnVhcnRjbGsgPSAxOworCisJaWYgKGNmZy0+dWFydF9mbGFncyAmIFVQRl9DT05TX0ZMT1cpIHsKKwkJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQ6IGVuYWJsaW5nIGZsb3cgY29udHJvbFxuIik7CisJCXBvcnQtPmZsYWdzIHw9IFVQRl9DT05TX0ZMT1c7CisJfQorCisJLyogc29ydCBvdXIgdGhlIHBoeXNpY2FsIGFuZCB2aXJ0dWFsIGFkZHJlc3NlcyBmb3IgZWFjaCBVQVJUICovCisKKwlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGxhdGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmIChyZXMgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBmaW5kIG1lbW9yeSByZXNvdXJjZSBmb3IgdWFydFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWRiZygicmVzb3VyY2UgJXAgKCVseC4uJWx4KVxuIiwgcmVzLCByZXMtPnN0YXJ0LCByZXMtPmVuZCk7CisKKwlwb3J0LT5tYXBiYXNlCT0gcmVzLT5zdGFydDsKKwlwb3J0LT5tZW1iYXNlCT0gUzNDMjRYWF9WQV9VQVJUICsgKHJlcy0+c3RhcnQgLSBTM0MyNFhYX1BBX1VBUlQpOworCXJldCA9IHBsYXRmb3JtX2dldF9pcnEocGxhdGRldiwgMCk7CisJaWYgKHJldCA8IDApCisJCXBvcnQtPmlycSA9IDA7CisJZWxzZQorCQlwb3J0LT5pcnEgPSByZXQ7CisKKwlvdXJwb3J0LT5jbGsJPSBjbGtfZ2V0KCZwbGF0ZGV2LT5kZXYsICJ1YXJ0Iik7CisKKwlkYmcoInBvcnQ6IG1hcD0lMDh4LCBtZW09JTA4eCwgaXJxPSVkLCBjbG9jaz0lbGRcbiIsCisJICAgIHBvcnQtPm1hcGJhc2UsIHBvcnQtPm1lbWJhc2UsIHBvcnQtPmlycSwgcG9ydC0+dWFydGNsayk7CisKKwkvKiByZXNldCB0aGUgZmlmb3MgKGFuZCBzZXR1cCB0aGUgdWFydCkgKi8KKwlzM2MyNHh4X3NlcmlhbF9yZXNldHBvcnQocG9ydCwgY2ZnKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNzaXplX3QgczNjMjR4eF9zZXJpYWxfc2hvd19jbGtzcmMoc3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQkJCQkgIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydChkZXYpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7CisKKwlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIqICVzXG4iLCBvdXJwb3J0LT5jbGtzcmMtPm5hbWUpOworfQorCitzdGF0aWMgREVWSUNFX0FUVFIoY2xvY2tfc291cmNlLCBTX0lSVUdPLCBzM2MyNHh4X3NlcmlhbF9zaG93X2Nsa3NyYywgTlVMTCk7CisKKy8qIERldmljZSBkcml2ZXIgc2VyaWFsIHBvcnQgcHJvYmUgKi8KKworc3RhdGljIGludCBwcm9iZV9pbmRleDsKKworaW50IHMzYzI0eHhfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKKwkJCSBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9wb3J0ICpvdXJwb3J0OworCWludCByZXQ7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX3Byb2JlKCVwLCAlcCkgJWRcbiIsIGRldiwgaW5mbywgcHJvYmVfaW5kZXgpOworCisJb3VycG9ydCA9ICZzM2MyNHh4X3NlcmlhbF9wb3J0c1twcm9iZV9pbmRleF07CisJcHJvYmVfaW5kZXgrKzsKKworCWRiZygiJXM6IGluaXRpYWxpc2luZyBwb3J0ICVwLi4uXG4iLCBfX2Z1bmNfXywgb3VycG9ydCk7CisKKwlyZXQgPSBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQob3VycG9ydCwgaW5mbywgZGV2KTsKKwlpZiAocmV0IDwgMCkKKwkJZ290byBwcm9iZV9lcnI7CisKKwlkYmcoIiVzOiBhZGRpbmcgcG9ydFxuIiwgX19mdW5jX18pOworCXVhcnRfYWRkX29uZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCAmb3VycG9ydC0+cG9ydCk7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEoZGV2LCAmb3VycG9ydC0+cG9ydCk7CisKKwlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoJmRldi0+ZGV2LCAmZGV2X2F0dHJfY2xvY2tfc291cmNlKTsKKwlpZiAocmV0IDwgMCkKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogZmFpbGVkIHRvIGFkZCBjbGtzcmMgYXR0ci5cbiIsIF9fZnVuY19fKTsKKworCXJldHVybiAwOworCisgcHJvYmVfZXJyOgorCXJldHVybiByZXQ7Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKHMzYzI0eHhfc2VyaWFsX3Byb2JlKTsKKworaW50IHMzYzI0eHhfc2VyaWFsX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydCA9IHMzYzI0eHhfZGV2X3RvX3BvcnQoJmRldi0+ZGV2KTsKKworCWlmIChwb3J0KSB7CisJCWRldmljZV9yZW1vdmVfZmlsZSgmZGV2LT5kZXYsICZkZXZfYXR0cl9jbG9ja19zb3VyY2UpOworCQl1YXJ0X3JlbW92ZV9vbmVfcG9ydCgmczNjMjR4eF91YXJ0X2RydiwgcG9ydCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK0VYUE9SVF9TWU1CT0xfR1BMKHMzYzI0eHhfc2VyaWFsX3JlbW92ZSk7CisKKy8qIFVBUlQgcG93ZXIgbWFuYWdlbWVudCBjb2RlICovCisKKyNpZmRlZiBDT05GSUdfUE0KKworc3RhdGljIGludCBzM2MyNHh4X3NlcmlhbF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQgPSBzM2MyNHh4X2Rldl90b19wb3J0KCZkZXYtPmRldik7CisKKwlpZiAocG9ydCkKKwkJdWFydF9zdXNwZW5kX3BvcnQoJnMzYzI0eHhfdWFydF9kcnYsIHBvcnQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgczNjMjR4eF9zZXJpYWxfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0ID0gczNjMjR4eF9kZXZfdG9fcG9ydCgmZGV2LT5kZXYpOworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqb3VycG9ydCA9IHRvX291cnBvcnQocG9ydCk7CisKKwlpZiAocG9ydCkgeworCQljbGtfZW5hYmxlKG91cnBvcnQtPmNsayk7CisJCXMzYzI0eHhfc2VyaWFsX3Jlc2V0cG9ydChwb3J0LCBzM2MyNHh4X3BvcnRfdG9fY2ZnKHBvcnQpKTsKKwkJY2xrX2Rpc2FibGUob3VycG9ydC0+Y2xrKTsKKworCQl1YXJ0X3Jlc3VtZV9wb3J0KCZzM2MyNHh4X3VhcnRfZHJ2LCBwb3J0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCitpbnQgczNjMjR4eF9zZXJpYWxfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyICpkcnYsCisJCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKmluZm8pCit7CisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0KCVwLCVwKVxuIiwgZHJ2LCBpbmZvKTsKKworI2lmZGVmIENPTkZJR19QTQorCWRydi0+c3VzcGVuZCA9IHMzYzI0eHhfc2VyaWFsX3N1c3BlbmQ7CisJZHJ2LT5yZXN1bWUgPSBzM2MyNHh4X3NlcmlhbF9yZXN1bWU7CisjZW5kaWYKKworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoZHJ2KTsKK30KKworRVhQT1JUX1NZTUJPTF9HUEwoczNjMjR4eF9zZXJpYWxfaW5pdCk7CisKKy8qIG1vZHVsZSBpbml0aWFsaXNhdGlvbiBjb2RlICovCisKK3N0YXRpYyBpbnQgX19pbml0IHMzYzI0eHhfc2VyaWFsX21vZGluaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gdWFydF9yZWdpc3Rlcl9kcml2ZXIoJnMzYzI0eHhfdWFydF9kcnYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIHJlZ2lzdGVyIFVBUlQgZHJpdmVyXG4iKTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgczNjMjR4eF9zZXJpYWxfbW9kZXhpdCh2b2lkKQoreworCXVhcnRfdW5yZWdpc3Rlcl9kcml2ZXIoJnMzYzI0eHhfdWFydF9kcnYpOworfQorCittb2R1bGVfaW5pdChzM2MyNHh4X3NlcmlhbF9tb2Rpbml0KTsKK21vZHVsZV9leGl0KHMzYzI0eHhfc2VyaWFsX21vZGV4aXQpOworCisvKiBDb25zb2xlIGNvZGUgKi8KKworI2lmZGVmIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFCisKK3N0YXRpYyBzdHJ1Y3QgdWFydF9wb3J0ICpjb25zX3VhcnQ7CisKK3N0YXRpYyBpbnQKK3MzYzI0eHhfc2VyaWFsX2NvbnNvbGVfdHhyZHkoc3RydWN0IHVhcnRfcG9ydCAqcG9ydCwgdW5zaWduZWQgaW50IHVmY29uKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyA9IHMzYzI0eHhfcG9ydF90b19pbmZvKHBvcnQpOworCXVuc2lnbmVkIGxvbmcgdWZzdGF0LCB1dHJzdGF0OworCisJaWYgKHVmY29uICYgUzNDMjQxMF9VRkNPTl9GSUZPTU9ERSkgeworCQkvKiBmaWZvIG1vZGUgLSBjaGVjayBhbW1vdW50IG9mIGRhdGEgaW4gZmlmbyByZWdpc3RlcnMuLi4gKi8KKworCQl1ZnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUZTVEFUKTsKKwkJcmV0dXJuICh1ZnN0YXQgJiBpbmZvLT50eF9maWZvZnVsbCkgPyAwIDogMTsKKwl9CisKKwkvKiBpbiBub24tZmlmbyBtb2RlLCB3ZSBnbyBhbmQgdXNlIHRoZSB0eCBidWZmZXIgZW1wdHkgKi8KKworCXV0cnN0YXQgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVVRSU1RBVCk7CisJcmV0dXJuICh1dHJzdGF0ICYgUzNDMjQxMF9VVFJTVEFUX1RYRSkgPyAxIDogMDsKK30KKworc3RhdGljIHZvaWQKK3MzYzI0eHhfc2VyaWFsX2NvbnNvbGVfcHV0Y2hhcihzdHJ1Y3QgdWFydF9wb3J0ICpwb3J0LCBpbnQgY2gpCit7CisJdW5zaWduZWQgaW50IHVmY29uID0gcmRfcmVnbChjb25zX3VhcnQsIFMzQzI0MTBfVUZDT04pOworCXdoaWxlICghczNjMjR4eF9zZXJpYWxfY29uc29sZV90eHJkeShwb3J0LCB1ZmNvbikpCisJCWJhcnJpZXIoKTsKKwl3cl9yZWdiKGNvbnNfdWFydCwgUzNDMjQxMF9VVFhILCBjaCk7Cit9CisKK3N0YXRpYyB2b2lkCitzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlKHN0cnVjdCBjb25zb2xlICpjbywgY29uc3QgY2hhciAqcywKKwkJCSAgICAgdW5zaWduZWQgaW50IGNvdW50KQoreworCXVhcnRfY29uc29sZV93cml0ZShjb25zX3VhcnQsIHMsIGNvdW50LCBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3B1dGNoYXIpOworfQorCitzdGF0aWMgdm9pZCBfX2luaXQKK3MzYzI0eHhfc2VyaWFsX2dldF9vcHRpb25zKHN0cnVjdCB1YXJ0X3BvcnQgKnBvcnQsIGludCAqYmF1ZCwKKwkJCSAgIGludCAqcGFyaXR5LCBpbnQgKmJpdHMpCit7CisJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMgY2xrc3JjOworCXN0cnVjdCBjbGsgKmNsazsKKwl1bnNpZ25lZCBpbnQgdWxjb247CisJdW5zaWduZWQgaW50IHVjb247CisJdW5zaWduZWQgaW50IHVicmRpdjsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwl1bGNvbiAgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUxDT04pOworCXVjb24gICA9IHJkX3JlZ2wocG9ydCwgUzNDMjQxMF9VQ09OKTsKKwl1YnJkaXYgPSByZF9yZWdsKHBvcnQsIFMzQzI0MTBfVUJSRElWKTsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnM6IHBvcnQ9JXBcbiIKKwkgICAgInJlZ2lzdGVyczogdWxjb249JTA4eCwgdWNvbj0lMDh4LCB1YmRyaXY9JTA4eFxuIiwKKwkgICAgcG9ydCwgdWxjb24sIHVjb24sIHVicmRpdik7CisKKwlpZiAoKHVjb24gJiAweGYpICE9IDApIHsKKwkJLyogY29uc2lkZXIgdGhlIHNlcmlhbCBwb3J0IGNvbmZpZ3VyZWQgaWYgdGhlIHR4L3J4IG1vZGUgc2V0ICovCisKKwkJc3dpdGNoICh1bGNvbiAmIFMzQzI0MTBfTENPTl9DU01BU0spIHsKKwkJY2FzZSBTM0MyNDEwX0xDT05fQ1M1OgorCQkJKmJpdHMgPSA1OworCQkJYnJlYWs7CisJCWNhc2UgUzNDMjQxMF9MQ09OX0NTNjoKKwkJCSpiaXRzID0gNjsKKwkJCWJyZWFrOworCQljYXNlIFMzQzI0MTBfTENPTl9DUzc6CisJCQkqYml0cyA9IDc7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJY2FzZSBTM0MyNDEwX0xDT05fQ1M4OgorCQkJKmJpdHMgPSA4OworCQkJYnJlYWs7CisJCX0KKworCQlzd2l0Y2ggKHVsY29uICYgUzNDMjQxMF9MQ09OX1BNQVNLKSB7CisJCWNhc2UgUzNDMjQxMF9MQ09OX1BFVkVOOgorCQkJKnBhcml0eSA9ICdlJzsKKwkJCWJyZWFrOworCisJCWNhc2UgUzNDMjQxMF9MQ09OX1BPREQ6CisJCQkqcGFyaXR5ID0gJ28nOworCQkJYnJlYWs7CisKKwkJY2FzZSBTM0MyNDEwX0xDT05fUE5PTkU6CisJCWRlZmF1bHQ6CisJCQkqcGFyaXR5ID0gJ24nOworCQl9CisKKwkJLyogbm93IGNhbGN1bGF0ZSB0aGUgYmF1ZCByYXRlICovCisKKwkJczNjMjR4eF9zZXJpYWxfZ2V0c291cmNlKHBvcnQsICZjbGtzcmMpOworCisJCWNsayA9IGNsa19nZXQocG9ydC0+ZGV2LCBjbGtzcmMubmFtZSk7CisJCWlmICghSVNfRVJSKGNsaykgJiYgY2xrICE9IE5VTEwpCisJCQlyYXRlID0gY2xrX2dldF9yYXRlKGNsaykgLyBjbGtzcmMuZGl2aXNvcjsKKwkJZWxzZQorCQkJcmF0ZSA9IDE7CisKKworCQkqYmF1ZCA9IHJhdGUgLyAoMTYgKiAodWJyZGl2ICsgMSkpOworCQlkYmcoImNhbGN1bGF0ZWQgYmF1ZCAlZFxuIiwgKmJhdWQpOworCX0KKworfQorCisvKiBzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzCisgKgorICogaW5pdGlhbGlzZSB0aGUgc2VyaWFsIHBvcnRzIGZyb20gdGhlIG1hY2hpbmUgcHJvdmlkZWQgaW5pdGlhbGlzYXRpb24KKyAqIGRhdGEuCisqLworCitzdGF0aWMgaW50IHMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMoc3RydWN0IHMzYzI0eHhfdWFydF9pbmZvICppbmZvKQoreworCXN0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCAqcHRyID0gczNjMjR4eF9zZXJpYWxfcG9ydHM7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqKnBsYXRkZXZfcHRyOworCWludCBpOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnRzOiBpbml0aWFsaXNpbmcgcG9ydHMuLi5cbiIpOworCisJcGxhdGRldl9wdHIgPSBzM2MyNHh4X3VhcnRfZGV2czsKKworCWZvciAoaSA9IDA7IGkgPCBOUl9QT1JUUzsgaSsrLCBwdHIrKywgcGxhdGRldl9wdHIrKykgeworCQlzM2MyNHh4X3NlcmlhbF9pbml0X3BvcnQocHRyLCBpbmZvLCAqcGxhdGRldl9wdHIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9faW5pdAorczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cChzdHJ1Y3QgY29uc29sZSAqY28sIGNoYXIgKm9wdGlvbnMpCit7CisJc3RydWN0IHVhcnRfcG9ydCAqcG9ydDsKKwlpbnQgYmF1ZCA9IDk2MDA7CisJaW50IGJpdHMgPSA4OworCWludCBwYXJpdHkgPSAnbic7CisJaW50IGZsb3cgPSAnbic7CisKKwlkYmcoInMzYzI0eHhfc2VyaWFsX2NvbnNvbGVfc2V0dXA6IGNvPSVwICglZCksICVzXG4iLAorCSAgICBjbywgY28tPmluZGV4LCBvcHRpb25zKTsKKworCS8qIGlzIHRoaXMgYSB2YWxpZCBwb3J0ICovCisKKwlpZiAoY28tPmluZGV4ID09IC0xIHx8IGNvLT5pbmRleCA+PSBOUl9QT1JUUykKKwkJY28tPmluZGV4ID0gMDsKKworCXBvcnQgPSAmczNjMjR4eF9zZXJpYWxfcG9ydHNbY28tPmluZGV4XS5wb3J0OworCisJLyogaXMgdGhlIHBvcnQgY29uZmlndXJlZD8gKi8KKworCWlmIChwb3J0LT5tYXBiYXNlID09IDB4MCkgeworCQljby0+aW5kZXggPSAwOworCQlwb3J0ID0gJnMzYzI0eHhfc2VyaWFsX3BvcnRzW2NvLT5pbmRleF0ucG9ydDsKKwl9CisKKwljb25zX3VhcnQgPSBwb3J0OworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwOiBwb3J0PSVwICglZClcbiIsIHBvcnQsIGNvLT5pbmRleCk7CisKKwkvKgorCSAqIENoZWNrIHdoZXRoZXIgYW4gaW52YWxpZCB1YXJ0IG51bWJlciBoYXMgYmVlbiBzcGVjaWZpZWQsIGFuZAorCSAqIGlmIHNvLCBzZWFyY2ggZm9yIHRoZSBmaXJzdCBhdmFpbGFibGUgcG9ydCB0aGF0IGRvZXMgaGF2ZQorCSAqIGNvbnNvbGUgc3VwcG9ydC4KKwkgKi8KKwlpZiAob3B0aW9ucykKKwkJdWFydF9wYXJzZV9vcHRpb25zKG9wdGlvbnMsICZiYXVkLCAmcGFyaXR5LCAmYml0cywgJmZsb3cpOworCWVsc2UKKwkJczNjMjR4eF9zZXJpYWxfZ2V0X29wdGlvbnMocG9ydCwgJmJhdWQsICZwYXJpdHksICZiaXRzKTsKKworCWRiZygiczNjMjR4eF9zZXJpYWxfY29uc29sZV9zZXR1cDogYmF1ZCAlZFxuIiwgYmF1ZCk7CisKKwlyZXR1cm4gdWFydF9zZXRfb3B0aW9ucyhwb3J0LCBjbywgYmF1ZCwgcGFyaXR5LCBiaXRzLCBmbG93KTsKK30KKworLyogczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUKKyAqCisgKiBpbml0aWFsaXNlIHRoZSBjb25zb2xlIGZyb20gb25lIG9mIHRoZSB1YXJ0IGRyaXZlcnMKKyovCisKK3N0YXRpYyBzdHJ1Y3QgY29uc29sZSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlID0geworCS5uYW1lCQk9IFMzQzI0WFhfU0VSSUFMX05BTUUsCisJLmRldmljZQkJPSB1YXJ0X2NvbnNvbGVfZGV2aWNlLAorCS5mbGFncwkJPSBDT05fUFJJTlRCVUZGRVIsCisJLmluZGV4CQk9IC0xLAorCS53cml0ZQkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3dyaXRlLAorCS5zZXR1cAkJPSBzM2MyNHh4X3NlcmlhbF9jb25zb2xlX3NldHVwCit9OworCitpbnQgczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2LAorCQkJICAgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbykKKworeworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiA9IHMzYzI0eHhfdWFydF9kZXZzWzBdOworCisJZGJnKCJzM2MyNHh4X3NlcmlhbF9pbml0Y29uc29sZVxuIik7CisKKwkvKiBzZWxlY3QgZHJpdmVyIGJhc2VkIG9uIHRoZSBjcHUgKi8KKworCWlmIChkZXYgPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgInMzYzI0eHg6IG5vIGRldmljZXMgZm9yIGNvbnNvbGUgaW5pdFxuIik7CisJCXJldHVybiAwOworCX0KKworCWlmIChzdHJjbXAoZGV2LT5uYW1lLCBkcnYtPmRyaXZlci5uYW1lKSAhPSAwKQorCQlyZXR1cm4gMDsKKworCXMzYzI0eHhfc2VyaWFsX2NvbnNvbGUuZGF0YSA9ICZzM2MyNHh4X3VhcnRfZHJ2OworCXMzYzI0eHhfc2VyaWFsX2luaXRfcG9ydHMoaW5mbyk7CisKKwlyZWdpc3Rlcl9jb25zb2xlKCZzM2MyNHh4X3NlcmlhbF9jb25zb2xlKTsKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19TRVJJQUxfU0FNU1VOR19DT05TT0xFICovCisKK01PRFVMRV9ERVNDUklQVElPTigiU2Ftc3VuZyBTb0MgU2VyaWFsIHBvcnQgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJCZW4gRG9va3MgPGJlbkBzaW10ZWMuY28udWs+Iik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmggYi9kcml2ZXJzL3NlcmlhbC9zYW1zdW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM5MmViYgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvc2VyaWFsL3NhbXN1bmcuaApAQCAtMCwwICsxLDEwMiBAQAorLyogbGludXgvZHJpdmVycy9zZXJpYWwvc2Ftc3VuZy5oCisgKgorICogRHJpdmVyIGZvciBTYW1zdW5nIFNvQyBvbmJvYXJkIFVBUlRzLgorICoKKyAqIEJlbiBEb29rcywgQ29weXJpZ2h0IChjKSAyMDAzLTIwMDUsMjAwOCBTaW10ZWMgRWxlY3Ryb25pY3MKKyAqCWh0dHA6Ly9hcm1saW51eC5zaW10ZWMuY28udWsvCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyovCisKK3N0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyB7CisJY2hhcgkJCSpuYW1lOworCXVuc2lnbmVkIGludAkJdHlwZTsKKwl1bnNpZ25lZCBpbnQJCWZpZm9zaXplOworCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9tYXNrOworCXVuc2lnbmVkIGxvbmcJCXJ4X2ZpZm9zaGlmdDsKKwl1bnNpZ25lZCBsb25nCQlyeF9maWZvZnVsbDsKKwl1bnNpZ25lZCBsb25nCQl0eF9maWZvbWFzazsKKwl1bnNpZ25lZCBsb25nCQl0eF9maWZvc2hpZnQ7CisJdW5zaWduZWQgbG9uZwkJdHhfZmlmb2Z1bGw7CisKKwkvKiBjbG9jayBzb3VyY2UgY29udHJvbCAqLworCisJaW50ICgqZ2V0X2Nsa3NyYykoc3RydWN0IHVhcnRfcG9ydCAqLCBzdHJ1Y3QgczNjMjR4eF91YXJ0X2Nsa3NyYyAqY2xrKTsKKwlpbnQgKCpzZXRfY2xrc3JjKShzdHJ1Y3QgdWFydF9wb3J0ICosIHN0cnVjdCBzM2MyNHh4X3VhcnRfY2xrc3JjICpjbGspOworCisJLyogdWFydCBjb250cm9scyAqLworCWludCAoKnJlc2V0X3BvcnQpKHN0cnVjdCB1YXJ0X3BvcnQgKiwgc3RydWN0IHMzYzI0MTBfdWFydGNmZyAqKTsKK307CisKK3N0cnVjdCBzM2MyNHh4X3VhcnRfcG9ydCB7CisJdW5zaWduZWQgY2hhcgkJCXJ4X2NsYWltZWQ7CisJdW5zaWduZWQgY2hhcgkJCXR4X2NsYWltZWQ7CisKKwlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8JKmluZm87CisJc3RydWN0IHMzYzI0eHhfdWFydF9jbGtzcmMJKmNsa3NyYzsKKwlzdHJ1Y3QgY2xrCQkJKmNsazsKKwlzdHJ1Y3QgY2xrCQkJKmJhdWRjbGs7CisJc3RydWN0IHVhcnRfcG9ydAkJcG9ydDsKK307CisKKy8qIGNvbnZlcnNpb24gZnVuY3Rpb25zICovCisKKyNkZWZpbmUgczNjMjR4eF9kZXZfdG9fcG9ydChfX2RldikgKHN0cnVjdCB1YXJ0X3BvcnQgKilkZXZfZ2V0X2RydmRhdGEoX19kZXYpCisjZGVmaW5lIHMzYzI0eHhfZGV2X3RvX2NmZyhfX2RldikgKHN0cnVjdCBzM2MyNDEwX3VhcnRjZmcgKikoKF9fZGV2KS0+cGxhdGZvcm1fZGF0YSkKKworLyogcmVnaXN0ZXIgYWNjZXNzIGNvbnRyb2xzICovCisKKyNkZWZpbmUgcG9ydGFkZHIocG9ydCwgcmVnKSAoKHBvcnQpLT5tZW1iYXNlICsgKHJlZykpCisKKyNkZWZpbmUgcmRfcmVnYihwb3J0LCByZWcpIChfX3Jhd19yZWFkYihwb3J0YWRkcihwb3J0LCByZWcpKSkKKyNkZWZpbmUgcmRfcmVnbChwb3J0LCByZWcpIChfX3Jhd19yZWFkbChwb3J0YWRkcihwb3J0LCByZWcpKSkKKworI2RlZmluZSB3cl9yZWdiKHBvcnQsIHJlZywgdmFsKSBfX3Jhd193cml0ZWIodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKQorI2RlZmluZSB3cl9yZWdsKHBvcnQsIHJlZywgdmFsKSBfX3Jhd193cml0ZWwodmFsLCBwb3J0YWRkcihwb3J0LCByZWcpKQorCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldiwKKwkJCQlzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnVhcnQpOworCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpOworCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX2luaXRjb25zb2xlKHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgKmRydiwKKwkJCQkgICAgICBzdHJ1Y3QgczNjMjR4eF91YXJ0X2luZm8gKnVhcnQpOworCitleHRlcm4gaW50IHMzYzI0eHhfc2VyaWFsX2luaXQoc3RydWN0IHBsYXRmb3JtX2RyaXZlciAqZHJ2LAorCQkJICAgICAgIHN0cnVjdCBzM2MyNHh4X3VhcnRfaW5mbyAqaW5mbyk7CisKKyNpZmRlZiBDT05GSUdfU0VSSUFMX1NBTVNVTkdfQ09OU09MRQorCisjZGVmaW5lIHMzYzI0eHhfY29uc29sZV9pbml0KF9fZHJ2LCBfX2luZikJCQlcCitzdGF0aWMgaW50IF9faW5pdCBzM2Nfc2VyaWFsX2NvbnNvbGVfaW5pdCh2b2lkKQkJCVwKK3sJCQkJCQkJCVwKKwlyZXR1cm4gczNjMjR4eF9zZXJpYWxfaW5pdGNvbnNvbGUoX19kcnYsIF9faW5mKTsJXAorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitjb25zb2xlX2luaXRjYWxsKHMzY19zZXJpYWxfY29uc29sZV9pbml0KQorCisjZWxzZQorI2RlZmluZSBzM2MyNHh4X2NvbnNvbGVfaW5pdChkcnYsIGluZikgZXh0ZXJuIHZvaWQgbm9fY29uc29sZSh2b2lkKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfU0VSSUFMX1NBTVNVTkdfREVCVUcKKworZXh0ZXJuIHZvaWQgcHJpbnRhc2NpaShjb25zdCBjaGFyICopOworCitzdGF0aWMgdm9pZCBkYmcoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCB2YTsKKwljaGFyIGJ1ZmZbMjU2XTsKKworCXZhX3N0YXJ0KHZhLCBmbXQpOworCXZzcHJpbnRmKGJ1ZmYsIGZtdCwgdmEpOworCXZhX2VuZCh2YSk7CisKKwlwcmludGFzY2lpKGJ1ZmYpOworfQorCisjZWxzZQorI2RlZmluZSBkYmcoeC4uLikgZG8geyB9IHdoaWxlICgwKQorI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NwaS9zcGlfaW14LmMgYi9kcml2ZXJzL3NwaS9zcGlfaW14LmMKaW5kZXggYzczMGQwNS4uNTRhYzdiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zcGkvc3BpX2lteC5jCisrKyBiL2RyaXZlcnMvc3BpL3NwaV9pbXguYwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL2lycS5oPgpAQCAtMjUwLDYgKzI1MSw4IEBACiAJaW50IHR4X2RtYV9uZWVkc191bm1hcDsKIAlzaXplX3QgdHhfbWFwX2xlbjsKIAl1MzIgZHVtbXlfZG1hX2J1ZiBfX19fY2FjaGVsaW5lX2FsaWduZWQ7CisKKwlzdHJ1Y3QgY2xrICpjbGs7CiB9OwogCiAvKiBSdW50aW1lIHN0YXRlICovCkBAIC04NTUsMTUgKzg1OCwxNSBAQAogCXJldHVybiBkcnZfZGF0YS0+dHJhbnNmZXJfaGFuZGxlcihkcnZfZGF0YSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIHNwaV9zcGVlZF9oeih1MzIgZGF0YV9yYXRlKQorc3RhdGljIGlubGluZSB1MzIgc3BpX3NwZWVkX2h6KHN0cnVjdCBkcml2ZXJfZGF0YSAqZHJ2X2RhdGEsIHUzMiBkYXRhX3JhdGUpCiB7Ci0JcmV0dXJuIGlteF9nZXRfcGVyY2xrMigpIC8gKDQgPDwgKChkYXRhX3JhdGUpID4+IDEzKSk7CisJcmV0dXJuIGNsa19nZXRfcmF0ZShkcnZfZGF0YS0+Y2xrKSAvICg0IDw8ICgoZGF0YV9yYXRlKSA+PiAxMykpOwogfQogCi1zdGF0aWMgdTMyIHNwaV9kYXRhX3JhdGUodTMyIHNwZWVkX2h6KQorc3RhdGljIHUzMiBzcGlfZGF0YV9yYXRlKHN0cnVjdCBkcml2ZXJfZGF0YSAqZHJ2X2RhdGEsIHUzMiBzcGVlZF9oeikKIHsKIAl1MzIgZGl2OwotCXUzMiBxdWFudGl6ZWRfaHogPSBpbXhfZ2V0X3BlcmNsazIoKSA+PiAyOworCXUzMiBxdWFudGl6ZWRfaHogPSBjbGtfZ2V0X3JhdGUoZHJ2X2RhdGEtPmNsaykgPj4gMjsKIAogCWZvciAoZGl2ID0gU1BJX1BFUkNMSzJfRElWX01JTjsKIAkJZGl2IDw9IFNQSV9QRVJDTEsyX0RJVl9NQVg7CkBAIC05NDcsNyArOTUwLDcgQEAKIAl0bXAgPSB0cmFuc2Zlci0+c3BlZWRfaHo7CiAJaWYgKHRtcCA9PSAwKQogCQl0bXAgPSBjaGlwLT5tYXhfc3BlZWRfaHo7Ci0JdG1wID0gc3BpX2RhdGFfcmF0ZSh0bXApOworCXRtcCA9IHNwaV9kYXRhX3JhdGUoZHJ2X2RhdGEsIHRtcCk7CiAJdTMyX0VESVQoY29udHJvbCwgU1BJX0NPTlRST0xfREFUQVJBVEUsIHRtcCk7CiAKIAl3cml0ZWwoY29udHJvbCwgcmVncyArIFNQSV9DT05UUk9MKTsKQEAgLTExMDksNyArMTExMiw3IEBACiAJbXNnLT5hY3R1YWxfbGVuZ3RoID0gMDsKIAogCS8qIFBlciB0cmFuc2ZlciBzZXR1cCBjaGVjayAqLwotCW1pbl9zcGVlZF9oeiA9IHNwaV9zcGVlZF9oeihTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pOworCW1pbl9zcGVlZF9oeiA9IHNwaV9zcGVlZF9oeihkcnZfZGF0YSwgU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKTsKIAltYXhfc3BlZWRfaHogPSBzcGktPm1heF9zcGVlZF9oejsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRyYW5zLCAmbXNnLT50cmFuc2ZlcnMsIHRyYW5zZmVyX2xpc3QpIHsKIAkJdG1wID0gdHJhbnMtPmJpdHNfcGVyX3dvcmQ7CkBAIC0xMTc2LDYgKzExNzksNyBAQAogICAgYXBwbGllZCBhbmQgbm90aWZpZWQgdG8gdGhlIGNhbGxpbmcgZHJpdmVyLiAqLwogc3RhdGljIGludCBzZXR1cChzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQogeworCXN0cnVjdCBkcml2ZXJfZGF0YSAqZHJ2X2RhdGEgPSBzcGlfbWFzdGVyX2dldF9kZXZkYXRhKHNwaS0+bWFzdGVyKTsKIAlzdHJ1Y3Qgc3BpX2lteF9jaGlwICpjaGlwX2luZm87CiAJc3RydWN0IGNoaXBfZGF0YSAqY2hpcDsKIAlpbnQgZmlyc3Rfc2V0dXAgPSAwOwpAQCAtMTMwNCwxNCArMTMwOCwxNCBAQAogCWNoaXAtPm5fYnl0ZXMgPSAodG1wIDw9IDgpID8gMSA6IDI7CiAKIAkvKiBTUEkgZGF0YXJhdGUgKi8KLQl0bXAgPSBzcGlfZGF0YV9yYXRlKHNwaS0+bWF4X3NwZWVkX2h6KTsKKwl0bXAgPSBzcGlfZGF0YV9yYXRlKGRydl9kYXRhLCBzcGktPm1heF9zcGVlZF9oeik7CiAJaWYgKHRtcCA9PSBTUElfQ09OVFJPTF9EQVRBUkFURV9CQUQpIHsKIAkJc3RhdHVzID0gLUVJTlZBTDsKIAkJZGV2X2Vycigmc3BpLT5kZXYsCiAJCQkic2V0dXAgLSAiCiAJCQkiSFcgbWluIHNwZWVkICglZCBIeikgZXhjZWVkcyByZXF1aXJlZCAiCiAJCQkibWF4IHNwZWVkICglZCBIeilcbiIsCi0JCQlzcGlfc3BlZWRfaHooU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKSwKKwkJCXNwaV9zcGVlZF9oeihkcnZfZGF0YSwgU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKSwKIAkJCXNwaS0+bWF4X3NwZWVkX2h6KTsKIAkJaWYgKGZpcnN0X3NldHVwKQogCQkJZ290byBlcnJfZmlyc3Rfc2V0dXA7CkBAIC0xMzIxLDcgKzEzMjUsNyBAQAogCX0gZWxzZSB7CiAJCXUzMl9FRElUKGNoaXAtPmNvbnRyb2wsIFNQSV9DT05UUk9MX0RBVEFSQVRFLCB0bXApOwogCQkvKiBBY3R1YWwgcm91bmRlZCBtYXhfc3BlZWRfaHogKi8KLQkJdG1wID0gc3BpX3NwZWVkX2h6KHRtcCk7CisJCXRtcCA9IHNwaV9zcGVlZF9oeihkcnZfZGF0YSwgdG1wKTsKIAkJc3BpLT5tYXhfc3BlZWRfaHogPSB0bXA7CiAJCWNoaXAtPm1heF9zcGVlZF9oeiA9IHRtcDsKIAl9CkBAIC0xMzUyLDcgKzEzNTYsNyBAQAogCQljaGlwLT5wZXJpb2QgJiBTUElfUEVSSU9EX1dBSVQsCiAJCXNwaS0+bW9kZSwKIAkJc3BpLT5iaXRzX3Blcl93b3JkLAotCQlzcGlfc3BlZWRfaHooU1BJX0NPTlRST0xfREFUQVJBVEVfTUlOKSwKKwkJc3BpX3NwZWVkX2h6KGRydl9kYXRhLCBTUElfQ09OVFJPTF9EQVRBUkFURV9NSU4pLAogCQlzcGktPm1heF9zcGVlZF9oeik7CiAJcmV0dXJuIHN0YXR1czsKIApAQCAtMTQ2NSw2ICsxNDY5LDE0IEBACiAJCWdvdG8gZXJyX25vX3BkYXRhOwogCX0KIAorCWRydl9kYXRhLT5jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYsICJwZXJjbGsyIik7CisJaWYgKElTX0VSUihkcnZfZGF0YS0+Y2xrKSkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJwcm9iZSAtIGNhbm5vdCBnZXQgZ2V0XG4iKTsKKwkJc3RhdHVzID0gUFRSX0VSUihkcnZfZGF0YS0+Y2xrKTsKKwkJZ290byBlcnJfbm9fY2xrOworCX0KKwljbGtfZW5hYmxlKGRydl9kYXRhLT5jbGspOworCiAJLyogQWxsb2NhdGUgbWFzdGVyIHdpdGggc3BhY2UgZm9yIGRydl9kYXRhICovCiAJbWFzdGVyID0gc3BpX2FsbG9jX21hc3RlcihkZXYsIHNpemVvZihzdHJ1Y3QgZHJpdmVyX2RhdGEpKTsKIAlpZiAoIW1hc3RlcikgewpAQCAtMTUyNiwyNCArMTUzOCwyNCBAQAogCWRydl9kYXRhLT5yeF9jaGFubmVsID0gLTE7CiAJaWYgKHBsYXRmb3JtX2luZm8tPmVuYWJsZV9kbWEpIHsKIAkJLyogR2V0IHJ4IERNQSBjaGFubmVsICovCi0JCXN0YXR1cyA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCZkcnZfZGF0YS0+cnhfY2hhbm5lbCwKLQkJCSJzcGlfaW14X3J4IiwgRE1BX1BSSU9fSElHSCk7Ci0JCWlmIChzdGF0dXMgPCAwKSB7CisJCWRydl9kYXRhLT5yeF9jaGFubmVsID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oInNwaV9pbXhfcngiLAorCQkJCQkJCSAgICAgICBETUFfUFJJT19ISUdIKTsKKwkJaWYgKGRydl9kYXRhLT5yeF9jaGFubmVsIDwgMCkgewogCQkJZGV2X2VycihkZXYsCiAJCQkJInByb2JlIC0gcHJvYmxlbSAoJWQpIHJlcXVlc3RpbmcgcnggY2hhbm5lbFxuIiwKLQkJCQlzdGF0dXMpOworCQkJCWRydl9kYXRhLT5yeF9jaGFubmVsKTsKIAkJCWdvdG8gZXJyX25vX3J4ZG1hOwogCQl9IGVsc2UKIAkJCWlteF9kbWFfc2V0dXBfaGFuZGxlcnMoZHJ2X2RhdGEtPnJ4X2NoYW5uZWwsIE5VTEwsCiAJCQkJCQlkbWFfZXJyX2hhbmRsZXIsIGRydl9kYXRhKTsKIAogCQkvKiBHZXQgdHggRE1BIGNoYW5uZWwgKi8KLQkJc3RhdHVzID0gaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oJmRydl9kYXRhLT50eF9jaGFubmVsLAotCQkJCQkJInNwaV9pbXhfdHgiLCBETUFfUFJJT19NRURJVU0pOwotCQlpZiAoc3RhdHVzIDwgMCkgeworCQlkcnZfZGF0YS0+dHhfY2hhbm5lbCA9IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKCJzcGlfaW14X3R4IiwKKwkJCQkJCQkgICAgICAgRE1BX1BSSU9fTUVESVVNKTsKKwkJaWYgKGRydl9kYXRhLT50eF9jaGFubmVsIDwgMCkgewogCQkJZGV2X2VycihkZXYsCiAJCQkJInByb2JlIC0gcHJvYmxlbSAoJWQpIHJlcXVlc3RpbmcgdHggY2hhbm5lbFxuIiwKLQkJCQlzdGF0dXMpOworCQkJCWRydl9kYXRhLT50eF9jaGFubmVsKTsKIAkJCWlteF9kbWFfZnJlZShkcnZfZGF0YS0+cnhfY2hhbm5lbCk7CiAJCQlnb3RvIGVycl9ub190eGRtYTsKIAkJfSBlbHNlCkBAIC0xNjIzLDYgKzE2MzUsOSBAQAogCXNwaV9tYXN0ZXJfcHV0KG1hc3Rlcik7CiAKIGVycl9ub19wZGF0YToKKwljbGtfZGlzYWJsZShkcnZfZGF0YS0+Y2xrKTsKKwljbGtfcHV0KGRydl9kYXRhLT5jbGspOworZXJyX25vX2NsazoKIGVycl9ub19tZW06CiAJcmV0dXJuIHN0YXR1czsKIH0KQEAgLTE2NjIsNiArMTY3Nyw5IEBACiAJaWYgKGlycSA+PSAwKQogCQlmcmVlX2lycShpcnEsIGRydl9kYXRhKTsKIAorCWNsa19kaXNhYmxlKGRydl9kYXRhLT5jbGspOworCWNsa19wdXQoZHJ2X2RhdGEtPmNsayk7CisKIAkvKiBSZWxlYXNlIG1hcCByZXNvdXJjZXMgKi8KIAlpb3VubWFwKGRydl9kYXRhLT5yZWdzKTsKIAlyZWxlYXNlX3Jlc291cmNlKGRydl9kYXRhLT5pb2FyZWEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zcGkvc3BpZGV2LmMgYi9kcml2ZXJzL3NwaS9zcGlkZXYuYwppbmRleCBmNWI2MGM3Li5kZGJlMWE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3NwaS9zcGlkZXYuYworKysgYi9kcml2ZXJzL3NwaS9zcGlkZXYuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGxpbnV4L3NwaS9zcGkuaD4KICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpZGV2Lmg+CkBAIC00NjQsNiArNDY1LDcgQEAKIAlzdHJ1Y3Qgc3BpZGV2X2RhdGEJKnNwaWRldjsKIAlpbnQJCQlzdGF0dXMgPSAtRU5YSU87CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJmRldmljZV9saXN0X2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShzcGlkZXYsICZkZXZpY2VfbGlzdCwgZGV2aWNlX2VudHJ5KSB7CkBAIC00ODksNiArNDkxLDcgQEAKIAkJcHJfZGVidWcoInNwaWRldjogbm90aGluZyBmb3IgbWlub3IgJWRcbiIsIGltaW5vcihpbm9kZSkpOwogCiAJbXV0ZXhfdW5sb2NrKCZkZXZpY2VfbGlzdF9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHN0YXR1czsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zc2IvZHJpdmVyX3BjaWNvcmUuYyBiL2RyaXZlcnMvc3NiL2RyaXZlcl9wY2ljb3JlLmMKaW5kZXggZDI4YzUzOC4uNTM4YzU3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9zc2IvZHJpdmVyX3BjaWNvcmUuYworKysgYi9kcml2ZXJzL3NzYi9kcml2ZXJfcGNpY29yZS5jCkBAIC01MzcsNiArNTM3LDEzIEBACiAJaW50IGVyciA9IDA7CiAJdTMyIHRtcDsKIAorCWlmIChkZXYtPmJ1cy0+YnVzdHlwZSAhPSBTU0JfQlVTVFlQRV9QQ0kpIHsKKwkJLyogVGhpcyBTU0IgZGV2aWNlIGlzIG5vdCBvbiBhIFBDSSBob3N0LWJ1cy4gU28gdGhlIElSUXMgYXJlCisJCSAqIG5vdCByb3V0ZWQgdGhyb3VnaCB0aGUgUENJIGNvcmUuCisJCSAqIFNvIHdlIG11c3Qgbm90IGVuYWJsZSByb3V0aW5nIHRocm91Z2ggdGhlIFBDSSBjb3JlLiAqLworCQlnb3RvIG91dDsKKwl9CisKIAlpZiAoIXBkZXYpCiAJCWdvdG8gb3V0OwogCWJ1cyA9IHBkZXYtPmJ1czsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGVsZXBob255L3Bob25lZGV2LmMgYi9kcml2ZXJzL3RlbGVwaG9ueS9waG9uZWRldi5jCmluZGV4IGJjZWE4ZDkuLjRkNzRiYTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdGVsZXBob255L3Bob25lZGV2LmMKKysrIGIvZHJpdmVycy90ZWxlcGhvbnkvcGhvbmVkZXYuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvcGhvbmVkZXYuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KIApAQCAtNTMsNiArNTQsNyBAQAogCWlmIChtaW5vciA+PSBQSE9ORV9OVU1fREVWSUNFUykKIAkJcmV0dXJuIC1FTk9ERVY7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJnBob25lX2xvY2spOwogCXAgPSBwaG9uZV9kZXZpY2VbbWlub3JdOwogCWlmIChwKQpAQCAtNzksNiArODEsNyBAQAogCWZvcHNfcHV0KG9sZF9mb3BzKTsKIGVuZDoKIAltdXRleF91bmxvY2soJnBob25lX2xvY2spOworCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Vpby91aW8uYyBiL2RyaXZlcnMvdWlvL3Vpby5jCmluZGV4IDBhMTJlOTAuLjVhN2NhMmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdWlvL3Vpby5jCisrKyBiL2RyaXZlcnMvdWlvL3Vpby5jCkBAIC0yOTcsMTIgKzI5NywxNyBAQAogCXN0cnVjdCB1aW9fbGlzdGVuZXIgKmxpc3RlbmVyOwogCWludCByZXQgPSAwOwogCisJbG9ja19rZXJuZWwoKTsKIAlpZGV2ID0gaWRyX2ZpbmQoJnVpb19pZHIsIGltaW5vcihpbm9kZSkpOwotCWlmICghaWRldikKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKCFpZGV2KSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KIAotCWlmICghdHJ5X21vZHVsZV9nZXQoaWRldi0+b3duZXIpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIXRyeV9tb2R1bGVfZ2V0KGlkZXYtPm93bmVyKSkgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDsKKwl9CiAKIAlsaXN0ZW5lciA9IGttYWxsb2Moc2l6ZW9mKCpsaXN0ZW5lciksIEdGUF9LRVJORUwpOwogCWlmICghbGlzdGVuZXIpIHsKQEAgLTMxOSw3ICszMjQsNyBAQAogCQlpZiAocmV0KQogCQkJZ290byBlcnJfaW5mb29wZW47CiAJfQotCisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAwOwogCiBlcnJfaW5mb29wZW46CkBAIC0zMjksNiArMzM0LDggQEAKIAogCW1vZHVsZV9wdXQoaWRldi0+b3duZXIpOwogCitvdXQ6CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2F0bS9jeGFjcnUuYyBiL2RyaXZlcnMvdXNiL2F0bS9jeGFjcnUuYwppbmRleCA1ZWEzMDkzLi45MDU4M2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9hdG0vY3hhY3J1LmMKKysrIGIvZHJpdmVycy91c2IvYXRtL2N4YWNydS5jCkBAIC04MjAsNyArODIwLDcgQEAKIH0KIAogc3RhdGljIGludCBjeGFjcnVfZncoc3RydWN0IHVzYl9kZXZpY2UgKnVzYl9kZXYsIGVudW0gY3hhY3J1X2Z3X3JlcXVlc3QgZncsCi0JCSAgICAgdTggY29kZTEsIHU4IGNvZGUyLCB1MzIgYWRkciwgdTggKmRhdGEsIGludCBzaXplKQorCQkgICAgIHU4IGNvZGUxLCB1OCBjb2RlMiwgdTMyIGFkZHIsIGNvbnN0IHU4ICpkYXRhLCBpbnQgc2l6ZSkKIHsKIAlpbnQgcmV0OwogCXU4ICpidWY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9hdG0vdWVhZ2xlLWF0bS5jIGIvZHJpdmVycy91c2IvYXRtL3VlYWdsZS1hdG0uYwppbmRleCA1ZjcxZmYzLi5jYjAxYjUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9hdG0vdWVhZ2xlLWF0bS5jCisrKyBiL2RyaXZlcnMvdXNiL2F0bS91ZWFnbGUtYXRtLmMKQEAgLTU3OSw3ICs1NzksNyBAQAogICogdWVhX3NlbmRfbW9kZW1fY21kIC0gU2VuZCBhIGNvbW1hbmQgZm9yIHByZS1maXJtd2FyZSBkZXZpY2VzLgogICovCiBzdGF0aWMgaW50IHVlYV9zZW5kX21vZGVtX2NtZChzdHJ1Y3QgdXNiX2RldmljZSAqdXNiLAotCQl1MTYgYWRkciwgdTE2IHNpemUsIHU4ICogYnVmZikKKwkJCSAgICAgIHUxNiBhZGRyLCB1MTYgc2l6ZSwgY29uc3QgdTggKmJ1ZmYpCiB7CiAJaW50IHJldCA9IC1FTk9NRU07CiAJdTggKnhmZXJfYnVmZjsKQEAgLTYwNCw3ICs2MDQsOCBAQAogc3RhdGljIHZvaWQgdWVhX3VwbG9hZF9wcmVfZmlybXdhcmUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmd19lbnRyeSwgdm9pZCAqY29udGV4dCkKIHsKIAlzdHJ1Y3QgdXNiX2RldmljZSAqdXNiID0gY29udGV4dDsKLQl1OCAqcGZ3LCB2YWx1ZTsKKwljb25zdCB1OCAqcGZ3OworCXU4IHZhbHVlOwogCXUzMiBjcmMgPSAwOwogCWludCByZXQsIHNpemU7CiAKQEAgLTcyMCw3ICs3MjEsNyBAQAogLyoKICAqIE1ha2Ugc3VyZSB0aGF0IHRoZSBEU1AgY29kZSBwcm92aWRlZCBpcyBzYWZlIHRvIHVzZS4KICAqLwotc3RhdGljIGludCBjaGVja19kc3BfZTEodTggKmRzcCwgdW5zaWduZWQgaW50IGxlbikKK3N0YXRpYyBpbnQgY2hlY2tfZHNwX2UxKGNvbnN0IHU4ICpkc3AsIHVuc2lnbmVkIGludCBsZW4pCiB7CiAJdTggcGFnZWNvdW50LCBibG9ja2NvdW50OwogCXUxNiBibG9ja3NpemU7CkBAIC03NzEsNyArNzcyLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBjaGVja19kc3BfZTQodTggKmRzcCwgaW50IGxlbikKK3N0YXRpYyBpbnQgY2hlY2tfZHNwX2U0KGNvbnN0IHU4ICpkc3AsIGludCBsZW4pCiB7CiAJaW50IGk7CiAJc3RydWN0IGwxX2NvZGUgKnAgPSAoc3RydWN0IGwxX2NvZGUgKikgZHNwOwpAQCAtODE5LDcgKzgyMCw3IEBACiAvKgogICogc2VuZCBkYXRhIHRvIHRoZSBpZG1hIHBpcGUKICAqICovCi1zdGF0aWMgaW50IHVlYV9pZG1hX3dyaXRlKHN0cnVjdCB1ZWFfc29mdGMgKnNjLCB2b2lkICpkYXRhLCB1MzIgc2l6ZSkKK3N0YXRpYyBpbnQgdWVhX2lkbWFfd3JpdGUoc3RydWN0IHVlYV9zb2Z0YyAqc2MsIGNvbnN0IHZvaWQgKmRhdGEsIHUzMiBzaXplKQogewogCWludCByZXQgPSAtRU5PTUVNOwogCXU4ICp4ZmVyX2J1ZmY7CkBAIC05MDMsNyArOTA0LDcgQEAKIAl1MTYgb3ZsID0gc2MtPm92bDsKIAlzdHJ1Y3QgYmxvY2tfaW5mb19lMSBiaTsKIAotCXU4ICpwOworCWNvbnN0IHU4ICpwOwogCXU4IHBhZ2Vjb3VudCwgYmxvY2tjb3VudDsKIAl1MTYgYmxvY2thZGRyLCBibG9ja3NpemU7CiAJdTMyIHBhZ2VvZmZzZXQ7CkBAIC05ODYsNyArOTg3LDcgQEAKIAliaS53UmVzZXJ2ZWQgPSBjcHVfdG9fYmUxNihVRUFfUkVTRVJWRUQpOwogCiAJZG8gewotCQl1OCAqYmxvY2tvZmZzZXQ7CisJCWNvbnN0IHU4ICpibG9ja29mZnNldDsKIAkJdW5zaWduZWQgaW50IGJsb2Nrc2l6ZTsKIAogCQlibG9ja2lkeCA9ICZwLT5wYWdlX2hlYWRlcltibG9ja25vXTsKQEAgLTEwOTUsNyArMTA5Niw3IEBACiAjZGVmaW5lIFVDRENfU0VORF9FTkNBUFNVTEFURURfQ09NTUFORCAweDAwCiAKIHN0YXRpYyBpbnQgdWVhX3JlcXVlc3Qoc3RydWN0IHVlYV9zb2Z0YyAqc2MsCi0JCXUxNiB2YWx1ZSwgdTE2IGluZGV4LCB1MTYgc2l6ZSwgdm9pZCAqZGF0YSkKKwkJdTE2IHZhbHVlLCB1MTYgaW5kZXgsIHUxNiBzaXplLCBjb25zdCB2b2lkICpkYXRhKQogewogCXU4ICp4ZmVyX2J1ZmY7CiAJaW50IHJldCA9IC1FTk9NRU07CkBAIC0xODkxLDcgKzE4OTIsOCBAQAogewogCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZndfZW50cnk7CiAJaW50IHJldCwgc2l6ZSwgdSwgbG47Ci0JdTggKnBmdywgdmFsdWU7CisJY29uc3QgdTggKnBmdzsKKwl1OCB2YWx1ZTsKIAljaGFyICpmd19uYW1lID0gRldfRElSICI5MzAtZnBnYS5iaW4iOwogCiAJdWVhX2VudGVycyhJTlNfVE9fVVNCREVWKHNjKSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jb3JlL2RldmlvLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2RldmlvLmMKaW5kZXggZGUxNzczOC4uOTIxOGNjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvY29yZS9kZXZpby5jCisrKyBiL2RyaXZlcnMvdXNiL2NvcmUvZGV2aW8uYwpAQCAtNTY1LDYgKzU2NSw3IEBACiAJc3RydWN0IGRldl9zdGF0ZSAqcHM7CiAJaW50IHJldDsKIAorCWxvY2tfa2VybmVsKCk7CiAJLyogUHJvdGVjdCBhZ2FpbnN0IHNpbXVsdGFuZW91cyByZW1vdmFsIG9yIHJlbGVhc2UgKi8KIAltdXRleF9sb2NrKCZ1c2Jmc19tdXRleCk7CiAKQEAgLTYxMSw2ICs2MTIsNyBAQAogCWlmIChyZXQpCiAJCWtmcmVlKHBzKTsKIAltdXRleF91bmxvY2soJnVzYmZzX211dGV4KTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY29yZS9maWxlLmMgYi9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYwppbmRleCA4MTMzYzk5Li5jNmE5NTM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYworKysgYi9kcml2ZXJzL3VzYi9jb3JlL2ZpbGUuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgvcndzZW0uaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogCiAjaW5jbHVkZSAidXNiLmgiCkBAIC0zMyw2ICszNCw3IEBACiAJaW50IGVyciA9IC1FTk9ERVY7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqb2xkX2ZvcHMsICpuZXdfZm9wcyA9IE5VTEw7CiAKKwlsb2NrX2tlcm5lbCgpOwogCWRvd25fcmVhZCgmbWlub3JfcndzZW0pOwogCWMgPSB1c2JfbWlub3JzW21pbm9yXTsKIApAQCAtNTEsNiArNTMsNyBAQAogCWZvcHNfcHV0KG9sZF9mb3BzKTsKICBkb25lOgogCXVwX3JlYWQoJm1pbm9yX3J3c2VtKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L0tjb25maWcgYi9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZwppbmRleCA2ZTc4NGQyLi5kNmJhYjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvS2NvbmZpZwpAQCAtMTE4LDEwICsxMTgsMTAgQEAKIGNvbmZpZyBVU0JfR0FER0VUX0FUTUVMX1VTQkEKIAlib29sZWFuICJBdG1lbCBVU0JBIgogCXNlbGVjdCBVU0JfR0FER0VUX0RVQUxTUEVFRAotCWRlcGVuZHMgb24gQVZSMzIgfHwgQVJDSF9BVDkxQ0FQOQorCWRlcGVuZHMgb24gQVZSMzIgfHwgQVJDSF9BVDkxQ0FQOSB8fCBBUkNIX0FUOTFTQU05UkwKIAloZWxwCiAJICBVU0JBIGlzIHRoZSBpbnRlZ3JhdGVkIGhpZ2gtc3BlZWQgVVNCIERldmljZSBjb250cm9sbGVyIG9uCi0JICB0aGUgQVQzMkFQNzAweCBhbmQgQVQ5MUNBUDkgcHJvY2Vzc29ycyBmcm9tIEF0bWVsLgorCSAgdGhlIEFUMzJBUDcwMHgsIHNvbWUgQVQ5MVNBTTkgYW5kIEFUOTFDQVA5IHByb2Nlc3NvcnMgZnJvbSBBdG1lbC4KIAogY29uZmlnIFVTQl9BVE1FTF9VU0JBCiAJdHJpc3RhdGUKQEAgLTE3Miw3ICsxNzIsNyBAQAogCWRlZmF1bHQgVVNCX0dBREdFVAogCXNlbGVjdCBVU0JfR0FER0VUX1NFTEVDVEVECiAKLWNvbmZpZyBVU0JfR0FER0VUX1BYQTJYWAorY29uZmlnIFVTQl9HQURHRVRfUFhBMjVYCiAJYm9vbGVhbiAiUFhBIDI1eCBvciBJWFAgNHh4IgogCWRlcGVuZHMgb24gKEFSQ0hfUFhBICYmIFBYQTI1eCkgfHwgQVJDSF9JWFA0WFgKIAloZWxwCkBAIC0xODQsMTkgKzE4NCwxOSBAQAogCSAgIHplcm8gKGZvciBjb250cm9sIHRyYW5zZmVycykuCiAKIAkgICBTYXkgInkiIHRvIGxpbmsgdGhlIGRyaXZlciBzdGF0aWNhbGx5LCBvciAibSIgdG8gYnVpbGQgYQotCSAgIGR5bmFtaWNhbGx5IGxpbmtlZCBtb2R1bGUgY2FsbGVkICJweGEyeHhfdWRjIiBhbmQgZm9yY2UgYWxsCisJICAgZHluYW1pY2FsbHkgbGlua2VkIG1vZHVsZSBjYWxsZWQgInB4YTI1eF91ZGMiIGFuZCBmb3JjZSBhbGwKIAkgICBnYWRnZXQgZHJpdmVycyB0byBhbHNvIGJlIGR5bmFtaWNhbGx5IGxpbmtlZC4KIAotY29uZmlnIFVTQl9QWEEyWFgKK2NvbmZpZyBVU0JfUFhBMjVYCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFVTQl9HQURHRVRfUFhBMlhYCisJZGVwZW5kcyBvbiBVU0JfR0FER0VUX1BYQTI1WAogCWRlZmF1bHQgVVNCX0dBREdFVAogCXNlbGVjdCBVU0JfR0FER0VUX1NFTEVDVEVECiAKICMgaWYgdGhlcmUncyBvbmx5IG9uZSBnYWRnZXQgZHJpdmVyLCB1c2luZyBvbmx5IHR3byBidWxrIGVuZHBvaW50cywKICMgZG9uJ3Qgd2FzdGUgbWVtb3J5IGZvciB0aGUgb3RoZXIgZW5kcG9pbnRzCi1jb25maWcgVVNCX1BYQTJYWF9TTUFMTAotCWRlcGVuZHMgb24gVVNCX0dBREdFVF9QWEEyWFgKK2NvbmZpZyBVU0JfUFhBMjVYX1NNQUxMCisJZGVwZW5kcyBvbiBVU0JfR0FER0VUX1BYQTI1WAogCWJvb2wKIAlkZWZhdWx0IG4gaWYgVVNCX0VUSF9STkRJUwogCWRlZmF1bHQgeSBpZiBVU0JfWkVSTwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L01ha2VmaWxlIGIvZHJpdmVycy91c2IvZ2FkZ2V0L01ha2VmaWxlCmluZGV4IDEyMzU3MjUuLmUyNThhZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9NYWtlZmlsZQorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvTWFrZWZpbGUKQEAgLTgsNyArOCw3IEBACiBvYmotJChDT05GSUdfVVNCX0RVTU1ZX0hDRCkJKz0gZHVtbXlfaGNkLm8KIG9iai0kKENPTkZJR19VU0JfTkVUMjI4MCkJKz0gbmV0MjI4MC5vCiBvYmotJChDT05GSUdfVVNCX0FNRDU1MzZVREMpCSs9IGFtZDU1MzZ1ZGMubwotb2JqLSQoQ09ORklHX1VTQl9QWEEyWFgpCSs9IHB4YTJ4eF91ZGMubworb2JqLSQoQ09ORklHX1VTQl9QWEEyNVgpCSs9IHB4YTI1eF91ZGMubwogb2JqLSQoQ09ORklHX1VTQl9QWEEyN1gpCSs9IHB4YTI3eF91ZGMubwogb2JqLSQoQ09ORklHX1VTQl9HT0tVKQkJKz0gZ29rdV91ZGMubwogb2JqLSQoQ09ORklHX1VTQl9PTUFQKQkJKz0gb21hcF91ZGMubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2F0OTFfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYwppbmRleCAyNzRjNjBhLi5iNmIyYTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvYXQ5MV91ZGMuYwpAQCAtODg4LDcgKzg4OCw3IEBACiAJCWF0OTFfdWRwX3dyaXRlKHVkYywgQVQ5MV9VRFBfVFhWQywgMCk7CiAJCWlmIChjcHVfaXNfYXQ5MXJtOTIwMCgpKQogCQkJZ3Bpb19zZXRfdmFsdWUodWRjLT5ib2FyZC5wdWxsdXBfcGluLCBhY3RpdmUpOwotCQllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSkgeworCQllbHNlIGlmIChjcHVfaXNfYXQ5MXNhbTkyNjAoKSB8fCBjcHVfaXNfYXQ5MXNhbTkyNjMoKSB8fCBjcHVfaXNfYXQ5MXNhbTlnMjAoKSkgewogCQkJdTMyCXR4dmMgPSBhdDkxX3VkcF9yZWFkKHVkYywgQVQ5MV9VRFBfVFhWQyk7CiAKIAkJCXR4dmMgfD0gQVQ5MV9VRFBfVFhWQ19QVU9OOwpAQCAtOTA2LDcgKzkwNiw3IEBACiAJCWF0OTFfdWRwX3dyaXRlKHVkYywgQVQ5MV9VRFBfVFhWQywgQVQ5MV9VRFBfVFhWQ19UWFZESVMpOwogCQlpZiAoY3B1X2lzX2F0OTFybTkyMDAoKSkKIAkJCWdwaW9fc2V0X3ZhbHVlKHVkYy0+Ym9hcmQucHVsbHVwX3BpbiwgIWFjdGl2ZSk7Ci0JCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpKSB7CisJCWVsc2UgaWYgKGNwdV9pc19hdDkxc2FtOTI2MCgpIHx8IGNwdV9pc19hdDkxc2FtOTI2MygpIHx8IGNwdV9pc19hdDkxc2FtOWcyMCgpKSB7CiAJCQl1MzIJdHh2YyA9IGF0OTFfdWRwX3JlYWQodWRjLCBBVDkxX1VEUF9UWFZDKTsKIAogCQkJdHh2YyAmPSB+QVQ5MV9VRFBfVFhWQ19QVU9OOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2V0aGVyLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYwppbmRleCA4ZDYxZWE2Li40Y2UzOTUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZXRoZXIuYwpAQCAtMjYyLDcgKzI2Miw3IEBACiAvKiBGb3IgQ0RDLWluY2FwYWJsZSBoYXJkd2FyZSwgY2hvb3NlIHRoZSBzaW1wbGUgY2RjIHN1YnNldC4KICAqIEFueXRoaW5nIHRoYXQgdGFsa3MgYnVsayAod2l0aG91dCBub3RhYmxlIGJ1Z3MpIGNhbiBkbyB0aGlzLgogICovCi0jaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYCisjaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMjVYCiAjZGVmaW5lCURFVl9DT05GSUdfU1VCU0VUCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2dhZGdldF9jaGlwcy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2dhZGdldF9jaGlwcy5oCmluZGV4IGY3ZjE1OWMuLmNhNTE0OWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9nYWRnZXRfY2hpcHMuaAorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvZ2FkZ2V0X2NoaXBzLmgKQEAgLTI5LDggKzI5LDggQEAKICNkZWZpbmUJZ2FkZ2V0X2lzX2R1bW15KGcpCTAKICNlbmRpZgogCi0jaWZkZWYgQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYCi0jZGVmaW5lCWdhZGdldF9pc19weGEoZykJIXN0cmNtcCgicHhhMnh4X3VkYyIsIChnKS0+bmFtZSkKKyNpZmRlZiBDT05GSUdfVVNCX0dBREdFVF9QWEEyNVgKKyNkZWZpbmUJZ2FkZ2V0X2lzX3B4YShnKQkhc3RyY21wKCJweGEyNXhfdWRjIiwgKGcpLT5uYW1lKQogI2Vsc2UKICNkZWZpbmUJZ2FkZ2V0X2lzX3B4YShnKQkwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9pbm9kZS5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMKaW5kZXggNjliMGEyNy4uZjEzMmE5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2lub2RlLmMKQEAgLTE1MDEsNyArMTUwMSw3IEBACiAJCX0KIAkJYnJlYWs7CiAKLSNpZm5kZWYJQ09ORklHX1VTQl9HQURHRVRfUFhBMlhYCisjaWZuZGVmCUNPTkZJR19VU0JfR0FER0VUX1BYQTI1WAogCS8qIFBYQSBhdXRvbWFnaWNhbGx5IGhhbmRsZXMgdGhpcyByZXF1ZXN0IHRvbyAqLwogCWNhc2UgVVNCX1JFUV9HRVRfQ09ORklHVVJBVElPTjoKIAkJaWYgKGN0cmwtPmJSZXF1ZXN0VHlwZSAhPSAweDgwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYwppbmRleCA4ODFkNzRjLi4wM2E3ZjQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYwpAQCAtMTM1LDEzICsxMzUsMTcgQEAKIAogCWlmIChlcC0+YkVuZHBvaW50QWRkcmVzcyAmIFVTQl9ESVJfSU4pCiAJCW51bSB8PSBVRENfRVBfRElSOwotCVVEQ19FUF9OVU1fUkVHID0gbnVtIHwgc2VsZWN0OworCW9tYXBfd3JpdGV3KG51bSB8IHNlbGVjdCwgVURDX0VQX05VTSk7CiAJLyogd2hlbiBzZWxlY3QsIE1VU1QgZGVzZWxlY3QgbGF0ZXIgISEgKi8KIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGRlc2VsZWN0X2VwKHZvaWQpCiB7Ci0JVURDX0VQX05VTV9SRUcgJj0gflVEQ19FUF9TRUw7CisJdTE2IHc7CisKKwl3ID0gb21hcF9yZWFkdyhVRENfRVBfTlVNKTsKKwl3ICY9IH5VRENfRVBfU0VMOworCW9tYXBfd3JpdGV3KHcsIFVEQ19FUF9OVU0pOwogCS8qIDYgd2FpdCBzdGF0ZXMgYmVmb3JlIFRYIHdpbGwgaGFwcGVuICovCiB9CiAKQEAgLTIxNiw3ICsyMjAsNyBAQAogCWVwLT5oYXNfZG1hID0gMDsKIAllcC0+bGNoID0gLTE7CiAJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQlVRENfQ1RSTF9SRUcgPSB1ZGMtPmNscl9oYWx0OworCW9tYXBfd3JpdGV3KHVkYy0+Y2xyX2hhbHQsIFVEQ19DVFJMKTsKIAllcC0+YWNrd2FpdCA9IDA7CiAJZGVzZWxlY3RfZXAoKTsKIApAQCAtMjMyLDcgKzIzNiw3IEBACiAJaWYgKGRlc2MtPmJtQXR0cmlidXRlcyAhPSBVU0JfRU5EUE9JTlRfWEZFUl9JU09DCiAJCQkmJiAhZXAtPmhhc19kbWEKIAkJCSYmICEoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSkgewotCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAl9CiAKQEAgLTI1OSw3ICsyNjMsNyBAQAogCW51a2UgKGVwLCAtRVNIVVRET1dOKTsKIAllcC0+ZXAubWF4cGFja2V0ID0gZXAtPm1heHBhY2tldDsKIAllcC0+aGFzX2RtYSA9IDA7Ci0JVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCW9tYXBfd3JpdGV3KFVEQ19TRVRfSEFMVCwgVURDX0NUUkwpOwogCWxpc3RfZGVsX2luaXQoJmVwLT5pc28pOwogCWRlbF90aW1lcigmZXAtPnRpbWVyKTsKIApAQCAtMzYwLDEzICszNjQsMTMgQEAKIAlpZiAobGlrZWx5KCgoKGludClidWYpICYgMSkgPT0gMCkpIHsKIAkJd3AgPSAodTE2ICopYnVmOwogCQl3aGlsZSAobWF4ID49IDIpIHsKLQkJCVVEQ19EQVRBX1JFRyA9ICp3cCsrOworCQkJb21hcF93cml0ZXcoKndwKyssIFVEQ19EQVRBKTsKIAkJCW1heCAtPSAyOwogCQl9CiAJCWJ1ZiA9ICh1OCAqKXdwOwogCX0KIAl3aGlsZSAobWF4LS0pCi0JCSoodm9sYXRpbGUgdTggKikmVURDX0RBVEFfUkVHID0gKmJ1ZisrOworCQlvbWFwX3dyaXRlYigqYnVmKyssIFVEQ19EQVRBKTsKIAlyZXR1cm4gbGVuOwogfQogCkBAIC0zODUsMTMgKzM4OSwxMyBAQAogCXByZWZldGNoKGJ1Zik7CiAKIAkvKiBQSU8tSU4gaXNuJ3QgZG91YmxlIGJ1ZmZlcmVkIGV4Y2VwdCBmb3IgaXNvICovCi0JZXBfc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJZXBfc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAlpZiAoZXBfc3RhdCAmIFVEQ19GSUZPX1VOV1JJVEFCTEUpCiAJCXJldHVybiAwOwogCiAJY291bnQgPSBlcC0+ZXAubWF4cGFja2V0OwogCWNvdW50ID0gd3JpdGVfcGFja2V0KGJ1ZiwgcmVxLCBjb3VudCk7Ci0JVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCWVwLT5hY2t3YWl0ID0gMTsKIAogCS8qIGxhc3QgcGFja2V0IGlzIG9mdGVuIHNob3J0IChzb21ldGltZXMgYSB6bHApICovCkBAIC00MjUsMTMgKzQyOSwxMyBAQAogCWlmIChsaWtlbHkoKCgoaW50KWJ1ZikgJiAxKSA9PSAwKSkgewogCQl3cCA9ICh1MTYgKilidWY7CiAJCXdoaWxlIChhdmFpbCA+PSAyKSB7Ci0JCQkqd3ArKyA9IFVEQ19EQVRBX1JFRzsKKwkJCSp3cCsrID0gb21hcF9yZWFkdyhVRENfREFUQSk7CiAJCQlhdmFpbCAtPSAyOwogCQl9CiAJCWJ1ZiA9ICh1OCAqKXdwOwogCX0KIAl3aGlsZSAoYXZhaWwtLSkKLQkJKmJ1ZisrID0gKih2b2xhdGlsZSB1OCAqKSZVRENfREFUQV9SRUc7CisJCSpidWYrKyA9IG9tYXBfcmVhZGIoVURDX0RBVEEpOwogCXJldHVybiBsZW47CiB9CiAKQEAgLTQ0Niw3ICs0NTAsNyBAQAogCXByZWZldGNodyhidWYpOwogCiAJZm9yICg7OykgewotCQl1MTYJZXBfc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCXUxNgllcF9zdGF0ID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCiAJCWlzX2xhc3QgPSAwOwogCQlpZiAoZXBfc3RhdCAmIEZJRk9fRU1QVFkpIHsKQEAgLTQ2MCw3ICs0NjQsNyBAQAogCQlpZiAoZXBfc3RhdCAmIFVEQ19GSUZPX0ZVTEwpCiAJCQlhdmFpbCA9IGVwLT5lcC5tYXhwYWNrZXQ7CiAJCWVsc2UgIHsKLQkJCWF2YWlsID0gVURDX1JYRlNUQVRfUkVHOworCQkJYXZhaWwgPSBvbWFwX3JlYWR3KFVEQ19SWEZTVEFUKTsKIAkJCWVwLT5mbmYgPSBlcC0+ZG91YmxlX2J1ZjsKIAkJfQogCQljb3VudCA9IHJlYWRfcGFja2V0KGJ1ZiwgcmVxLCBhdmFpbCk7CkBAIC00NzMsNyArNDc3LDcgQEAKIAkJCQlyZXEtPnJlcS5zdGF0dXMgPSAtRU9WRVJGTE9XOwogCQkJCWF2YWlsIC09IGNvdW50OwogCQkJCXdoaWxlIChhdmFpbC0tKQotCQkJCQkodm9pZCkgKih2b2xhdGlsZSB1OCAqKSZVRENfREFUQV9SRUc7CisJCQkJCW9tYXBfcmVhZHcoVURDX0RBVEEpOwogCQkJfQogCQl9IGVsc2UgaWYgKHJlcS0+cmVxLmxlbmd0aCA9PSByZXEtPnJlcS5hY3R1YWwpCiAJCQlpc19sYXN0ID0gMTsKQEAgLTQ5MSwzMiArNDk1LDYgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RhdGljIGlubGluZSBkbWFfYWRkcl90IGRtYV9jc2FjKHVuc2lnbmVkIGxjaCkKLXsKLQlkbWFfYWRkcl90CWNzYWM7Ci0KLQkvKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCi0JICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KLQkgKi8KLQljc2FjID0gT01BUF9ETUFfQ1NBQ19SRUcobGNoKTsKLQlpZiAoY3NhYyA9PSAwKQotCQljc2FjID0gT01BUF9ETUFfQ1NBQ19SRUcobGNoKTsKLQlyZXR1cm4gY3NhYzsKLX0KLQotc3RhdGljIGlubGluZSBkbWFfYWRkcl90IGRtYV9jZGFjKHVuc2lnbmVkIGxjaCkKLXsKLQlkbWFfYWRkcl90CWNkYWM7Ci0KLQkvKiBvbWFwIDMuMi8zLjMgZXJyYXR1bTogc29tZXRpbWVzIDAgaXMgcmV0dXJuZWQgaWYgQ1NBQy9DREFDIGlzCi0JICogcmVhZCBiZWZvcmUgdGhlIERNQSBjb250cm9sbGVyIGZpbmlzaGVkIGRpc2FibGluZyB0aGUgY2hhbm5lbC4KLQkgKi8KLQljZGFjID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKLQlpZiAoY2RhYyA9PSAwKQotCQljZGFjID0gT01BUF9ETUFfQ0RBQ19SRUcobGNoKTsKLQlyZXR1cm4gY2RhYzsKLX0KLQogc3RhdGljIHUxNiBkbWFfc3JjX2xlbihzdHJ1Y3Qgb21hcF9lcCAqZXAsIGRtYV9hZGRyX3Qgc3RhcnQpCiB7CiAJZG1hX2FkZHJfdAllbmQ7CkBAIC01MjcsNyArNTA1LDcgQEAKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpCiAJCXJldHVybiAwOwogCi0JZW5kID0gZG1hX2NzYWMoZXAtPmxjaCk7CisJZW5kID0gb21hcF9nZXRfZG1hX3NyY19wb3MoZXAtPmxjaCk7CiAJaWYgKGVuZCA9PSBlcC0+ZG1hX2NvdW50ZXIpCiAJCXJldHVybiAwOwogCkBAIC01MzcsMTUgKzUxNSwxMSBAQAogCXJldHVybiBlbmQgLSBzdGFydDsKIH0KIAotI2RlZmluZSBETUFfREVTVF9MQVNUKHgpIChjcHVfaXNfb21hcDE1eHgoKSBcCi0JCT8gT01BUF9ETUFfQ1NBQ19SRUcoeCkgLyogcmVhbGx5OiBDUEMgKi8gXAotCQk6IGRtYV9jZGFjKHgpKQotCiBzdGF0aWMgdTE2IGRtYV9kZXN0X2xlbihzdHJ1Y3Qgb21hcF9lcCAqZXAsIGRtYV9hZGRyX3Qgc3RhcnQpCiB7CiAJZG1hX2FkZHJfdAllbmQ7CiAKLQllbmQgPSBETUFfREVTVF9MQVNUKGVwLT5sY2gpOworCWVuZCA9IG9tYXBfZ2V0X2RtYV9kc3RfcG9zKGVwLT5sY2gpOwogCWlmIChlbmQgPT0gZXAtPmRtYV9jb3VudGVyKQogCQlyZXR1cm4gMDsKIApAQCAtNTY1LDcgKzUzOSw3IEBACiAKIHN0YXRpYyB2b2lkIG5leHRfaW5fZG1hKHN0cnVjdCBvbWFwX2VwICplcCwgc3RydWN0IG9tYXBfcmVxICpyZXEpCiB7Ci0JdTE2CQl0eGRtYV9jdHJsOworCXUxNgkJdHhkbWFfY3RybCwgdzsKIAl1bnNpZ25lZAlsZW5ndGggPSByZXEtPnJlcS5sZW5ndGggLSByZXEtPnJlcS5hY3R1YWw7CiAJY29uc3QgaW50CXN5bmNfbW9kZSA9IGNwdV9pc19vbWFwMTV4eCgpCiAJCQkJPyBPTUFQX0RNQV9TWU5DX0ZSQU1FCkBAIC01OTYsMTQgKzU3MCwxOCBAQAogCQkwLCAwKTsKIAogCW9tYXBfc3RhcnRfZG1hKGVwLT5sY2gpOwotCWVwLT5kbWFfY291bnRlciA9IGRtYV9jc2FjKGVwLT5sY2gpOwotCVVEQ19ETUFfSVJRX0VOX1JFRyB8PSBVRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOwotCVVEQ19UWERNQV9SRUcoZXAtPmRtYV9jaGFubmVsKSA9IFVEQ19UWE5fU1RBUlQgfCB0eGRtYV9jdHJsOworCWVwLT5kbWFfY291bnRlciA9IG9tYXBfZ2V0X2RtYV9zcmNfcG9zKGVwLT5sY2gpOworCXcgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKKwl3IHw9IFVEQ19UWF9ET05FX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJb21hcF93cml0ZXcodywgVURDX0RNQV9JUlFfRU4pOworCW9tYXBfd3JpdGV3KFVEQ19UWE5fU1RBUlQgfCB0eGRtYV9jdHJsLCBVRENfVFhETUEoZXAtPmRtYV9jaGFubmVsKSk7CiAJcmVxLT5kbWFfYnl0ZXMgPSBsZW5ndGg7CiB9CiAKIHN0YXRpYyB2b2lkIGZpbmlzaF9pbl9kbWEoc3RydWN0IG9tYXBfZXAgKmVwLCBzdHJ1Y3Qgb21hcF9yZXEgKnJlcSwgaW50IHN0YXR1cykKIHsKKwl1MTYgdzsKKwogCWlmIChzdGF0dXMgPT0gMCkgewogCQlyZXEtPnJlcS5hY3R1YWwgKz0gcmVxLT5kbWFfYnl0ZXM7CiAKQEAgLTYyMCw3ICs1OTgsOSBAQAogCiAJLyogdHggY29tcGxldGlvbiAqLwogCW9tYXBfc3RvcF9kbWEoZXAtPmxjaCk7Ci0JVURDX0RNQV9JUlFfRU5fUkVHICY9IH5VRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOworCXcgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKKwl3ICY9IH5VRENfVFhfRE9ORV9JRShlcC0+ZG1hX2NoYW5uZWwpOworCW9tYXBfd3JpdGV3KHcsIFVEQ19ETUFfSVJRX0VOKTsKIAlkb25lKGVwLCByZXEsIHN0YXR1cyk7CiB9CiAKQEAgLTYyOCw2ICs2MDgsNyBAQAogewogCXVuc2lnbmVkIHBhY2tldHMgPSByZXEtPnJlcS5sZW5ndGggLSByZXEtPnJlcS5hY3R1YWw7CiAJaW50IGRtYV90cmlnZ2VyID0gMDsKKwl1MTYgdzsKIAogCWlmIChjcHVfaXNfb21hcDI0eHgoKSkKIAkJZG1hX3RyaWdnZXIgPSBPTUFQMjRYWF9ETUEoVVNCX1cyRkNfUlgwLCBlcC0+ZG1hX2NoYW5uZWwpOwpAQCAtNjU0LDEyICs2MzUsMTQgQEAKIAlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMoZXAtPmxjaCwgT01BUF9ETUFfUE9SVF9FTUlGRiwKIAkJT01BUF9ETUFfQU1PREVfUE9TVF9JTkMsIHJlcS0+cmVxLmRtYSArIHJlcS0+cmVxLmFjdHVhbCwKIAkJMCwgMCk7Ci0JZXAtPmRtYV9jb3VudGVyID0gRE1BX0RFU1RfTEFTVChlcC0+bGNoKTsKKwllcC0+ZG1hX2NvdW50ZXIgPSBvbWFwX2dldF9kbWFfZHN0X3BvcyhlcC0+bGNoKTsKIAotCVVEQ19SWERNQV9SRUcoZXAtPmRtYV9jaGFubmVsKSA9IFVEQ19SWE5fU1RPUCB8IChwYWNrZXRzIC0gMSk7Ci0JVURDX0RNQV9JUlFfRU5fUkVHIHw9IFVEQ19SWF9FT1RfSUUoZXAtPmRtYV9jaGFubmVsKTsKLQlVRENfRVBfTlVNX1JFRyA9IChlcC0+YkVuZHBvaW50QWRkcmVzcyAmIDB4Zik7Ci0JVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCW9tYXBfd3JpdGV3KFVEQ19SWE5fU1RPUCB8IChwYWNrZXRzIC0gMSksIFVEQ19SWERNQShlcC0+ZG1hX2NoYW5uZWwpKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CisJdyB8PSBVRENfUlhfRU9UX0lFKGVwLT5kbWFfY2hhbm5lbCk7CisJb21hcF93cml0ZXcodywgVURDX0RNQV9JUlFfRU4pOworCW9tYXBfd3JpdGV3KGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgMHhmLCBVRENfRVBfTlVNKTsKKwlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAogCW9tYXBfc3RhcnRfZG1hKGVwLT5sY2gpOwogfQpAQCAtNjY3LDcgKzY1MCw3IEBACiBzdGF0aWMgdm9pZAogZmluaXNoX291dF9kbWEoc3RydWN0IG9tYXBfZXAgKmVwLCBzdHJ1Y3Qgb21hcF9yZXEgKnJlcSwgaW50IHN0YXR1cywgaW50IG9uZSkKIHsKLQl1MTYJY291bnQ7CisJdTE2CWNvdW50LCB3OwogCiAJaWYgKHN0YXR1cyA9PSAwKQogCQllcC0+ZG1hX2NvdW50ZXIgPSAodTE2KSAocmVxLT5yZXEuZG1hICsgcmVxLT5yZXEuYWN0dWFsKTsKQEAgLTY4NiwxMyArNjY5LDE1IEBACiAJCXJldHVybjsKIAogCS8qIHJ4IGNvbXBsZXRpb24gKi8KLQlVRENfRE1BX0lSUV9FTl9SRUcgJj0gflVEQ19SWF9FT1RfSUUoZXAtPmRtYV9jaGFubmVsKTsKKwl3ID0gb21hcF9yZWFkdyhVRENfRE1BX0lSUV9FTik7CisJdyAmPSB+VURDX1JYX0VPVF9JRShlcC0+ZG1hX2NoYW5uZWwpOworCW9tYXBfd3JpdGV3KHcsIFVEQ19ETUFfSVJRX0VOKTsKIAlkb25lKGVwLCByZXEsIHN0YXR1cyk7CiB9CiAKIHN0YXRpYyB2b2lkIGRtYV9pcnEoc3RydWN0IG9tYXBfdWRjICp1ZGMsIHUxNiBpcnFfc3JjKQogewotCXUxNgkJZG1hbl9zdGF0ID0gVURDX0RNQU5fU1RBVF9SRUc7CisJdTE2CQlkbWFuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19ETUFOX1NUQVQpOwogCXN0cnVjdCBvbWFwX2VwCSplcDsKIAlzdHJ1Y3Qgb21hcF9yZXEJKnJlcTsKIApAQCAtNzA2LDcgKzY5MSw3IEBACiAJCQkJCQlzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKIAkJCWZpbmlzaF9pbl9kbWEoZXAsIHJlcSwgMCk7CiAJCX0KLQkJVURDX0lSUV9TUkNfUkVHID0gVURDX1RYTl9ET05FOworCQlvbWFwX3dyaXRldyhVRENfVFhOX0RPTkUsIFVEQ19JUlFfU1JDKTsKIAogCQlpZiAoIWxpc3RfZW1wdHkgKCZlcC0+cXVldWUpKSB7CiAJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCkBAIC03MjUsNyArNzEwLDcgQEAKIAkJCQkJc3RydWN0IG9tYXBfcmVxLCBxdWV1ZSk7CiAJCQlmaW5pc2hfb3V0X2RtYShlcCwgcmVxLCAwLCBkbWFuX3N0YXQgJiBVRENfRE1BX1JYX1NCKTsKIAkJfQotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfUlhOX0VPVDsKKwkJb21hcF93cml0ZXcoVURDX1JYTl9FT1QsIFVEQ19JUlFfU1JDKTsKIAogCQlpZiAoIWxpc3RfZW1wdHkgKCZlcC0+cXVldWUpKSB7CiAJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCkBAIC03MzksNyArNzI0LDcgQEAKIAkJZXAtPmlycXMrKzsKIAkJLyogb21hcDE1eHggZG9lcyB0aGlzIHVuYXNrZWQuLi4gKi8KIAkJVkRCRygiJXMsIFJYX0NOVCBpcnE/XG4iLCBlcC0+ZXAubmFtZSk7Ci0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19SWE5fQ05UOworCQlvbWFwX3dyaXRldyhVRENfUlhOX0NOVCwgVURDX0lSUV9TUkMpOwogCX0KIH0KIApAQCAtNzYyLDkgKzc0Nyw5IEBACiAKIAlpc19pbiA9IGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTjsKIAlpZiAoaXNfaW4pCi0JCXJlZyA9IFVEQ19UWERNQV9DRkdfUkVHOworCQlyZWcgPSBvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpOwogCWVsc2UKLQkJcmVnID0gVURDX1JYRE1BX0NGR19SRUc7CisJCXJlZyA9IG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRyk7CiAJcmVnIHw9IFVEQ19ETUFfUkVROwkJLyogInB1bHNlIiBhY3RpdmF0ZWQgKi8KIAogCWVwLT5kbWFfY2hhbm5lbCA9IDA7CkBAIC03OTIsNyArNzc3LDcgQEAKIAkJc3RhdHVzID0gb21hcF9yZXF1ZXN0X2RtYShkbWFfY2hhbm5lbCwKIAkJCWVwLT5lcC5uYW1lLCBkbWFfZXJyb3IsIGVwLCAmZXAtPmxjaCk7CiAJCWlmIChzdGF0dXMgPT0gMCkgewotCQkJVURDX1RYRE1BX0NGR19SRUcgPSByZWc7CisJCQlvbWFwX3dyaXRldyhyZWcsIFVEQ19UWERNQV9DRkcpOwogCQkJLyogRU1JRkYgb3IgU0RSQyAqLwogCQkJb21hcF9zZXRfZG1hX3NyY19idXJzdF9tb2RlKGVwLT5sY2gsCiAJCQkJCQlPTUFQX0RNQV9EQVRBX0JVUlNUXzQpOwpAQCAtODAxLDcgKzc4Niw3IEBACiAJCQlvbWFwX3NldF9kbWFfZGVzdF9wYXJhbXMoZXAtPmxjaCwKIAkJCQlPTUFQX0RNQV9QT1JUX1RJUEIsCiAJCQkJT01BUF9ETUFfQU1PREVfQ09OU1RBTlQsCi0JCQkJKHVuc2lnbmVkIGxvbmcpIGlvX3YycCgodTMyKSZVRENfREFUQV9ETUFfUkVHKSwKKwkJCQkodW5zaWduZWQgbG9uZykgaW9fdjJwKFVEQ19EQVRBX0RNQSksCiAJCQkJMCwgMCk7CiAJCX0KIAl9IGVsc2UgewpAQCAtODEzLDEyICs3OTgsMTIgQEAKIAkJc3RhdHVzID0gb21hcF9yZXF1ZXN0X2RtYShkbWFfY2hhbm5lbCwKIAkJCWVwLT5lcC5uYW1lLCBkbWFfZXJyb3IsIGVwLCAmZXAtPmxjaCk7CiAJCWlmIChzdGF0dXMgPT0gMCkgewotCQkJVURDX1JYRE1BX0NGR19SRUcgPSByZWc7CisJCQlvbWFwX3dyaXRldyhyZWcsIFVEQ19SWERNQV9DRkcpOwogCQkJLyogVElQQiAqLwogCQkJb21hcF9zZXRfZG1hX3NyY19wYXJhbXMoZXAtPmxjaCwKIAkJCQlPTUFQX0RNQV9QT1JUX1RJUEIsCiAJCQkJT01BUF9ETUFfQU1PREVfQ09OU1RBTlQsCi0JCQkJKHVuc2lnbmVkIGxvbmcpIGlvX3YycCgodTMyKSZVRENfREFUQV9ETUFfUkVHKSwKKwkJCQkodW5zaWduZWQgbG9uZykgaW9fdjJwKFVEQ19EQVRBX0RNQSksCiAJCQkJMCwgMCk7CiAJCQkvKiBFTUlGRiBvciBTRFJDICovCiAJCQlvbWFwX3NldF9kbWFfZGVzdF9idXJzdF9tb2RlKGVwLT5sY2gsCkBAIC04MzQsNyArODE5LDcgQEAKIAogCQkvKiBjaGFubmVsIHR5cGUgUDogaHcgc3luY2ggKGZpZm8pICovCiAJCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpCi0JCQlPTUFQMV9ETUFfTENIX0NUUkxfUkVHKGVwLT5sY2gpID0gMjsKKwkJCW9tYXBfc2V0X2RtYV9jaGFubmVsX21vZGUoZXAtPmxjaCwgT01BUF9ETUFfTENIX1ApOwogCX0KIAoganVzdF9yZXN0YXJ0OgpAQCAtODYwLDcgKzg0NSw3IEBACiAJCQkoaXNfaW4gPyB3cml0ZV9maWZvIDogcmVhZF9maWZvKShlcCwgcmVxKTsKIAkJCWRlc2VsZWN0X2VwKCk7CiAJCQlpZiAoIWlzX2luKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQkJfQogCQkJLyogSU46IDYgd2FpdCBzdGF0ZXMgYmVmb3JlIGl0J2xsIHR4ICovCkBAIC04ODEsNyArODY2LDcgQEAKIAllbHNlCiAJCXJlcSA9IE5VTEw7CiAKLQlhY3RpdmUgPSAoKDEgPDwgNykgJiBPTUFQX0RNQV9DQ1JfUkVHKGVwLT5sY2gpKSAhPSAwOworCWFjdGl2ZSA9IG9tYXBfZ2V0X2RtYV9hY3RpdmVfc3RhdHVzKGVwLT5sY2gpOwogCiAJREJHKCIlcyByZWxlYXNlICVzICVjeGRtYSVkICVwXG4iLCBlcC0+ZXAubmFtZSwKIAkJCWFjdGl2ZSA/ICJhY3RpdmUiIDogImlkbGUiLApAQCAtODk0LDIzICs4NzksMjUgQEAKIAogCS8qIHdhaXQgdGlsbCBjdXJyZW50IHBhY2tldCBETUEgZmluaXNoZXMsIGFuZCBmaWZvIGVtcHRpZXMgKi8KIAlpZiAoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSB7Ci0JCVVEQ19UWERNQV9DRkdfUkVHID0gKFVEQ19UWERNQV9DRkdfUkVHICYgfm1hc2spIHwgVURDX0RNQV9SRVE7CisJCW9tYXBfd3JpdGV3KChvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpICYgfm1hc2spIHwgVURDX0RNQV9SRVEsCisJCQkJCVVEQ19UWERNQV9DRkcpOwogCiAJCWlmIChyZXEpIHsKIAkJCWZpbmlzaF9pbl9kbWEoZXAsIHJlcSwgLUVDT05OUkVTRVQpOwogCiAJCQkvKiBjbGVhciBGSUZPOyBob3N0cyBwcm9iYWJseSB3b24ndCBlbXB0eSBpdCAqLwogCQkJdXNlX2VwKGVwLCBVRENfRVBfU0VMKTsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CiAJCQlkZXNlbGVjdF9lcCgpOwogCQl9Ci0JCXdoaWxlIChVRENfVFhETUFfQ0ZHX1JFRyAmIG1hc2spCisJCXdoaWxlIChvbWFwX3JlYWR3KFVEQ19UWERNQV9DRkcpICYgbWFzaykKIAkJCXVkZWxheSgxMCk7CiAJfSBlbHNlIHsKLQkJVURDX1JYRE1BX0NGR19SRUcgPSAoVURDX1JYRE1BX0NGR19SRUcgJiB+bWFzaykgfCBVRENfRE1BX1JFUTsKKwkJb21hcF93cml0ZXcoKG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRykgJiB+bWFzaykgfCBVRENfRE1BX1JFUSwKKwkJCQkJVURDX1JYRE1BX0NGRyk7CiAKIAkJLyogZG1hIGVtcHRpZXMgdGhlIGZpZm8gKi8KLQkJd2hpbGUgKFVEQ19SWERNQV9DRkdfUkVHICYgbWFzaykKKwkJd2hpbGUgKG9tYXBfcmVhZHcoVURDX1JYRE1BX0NGRykgJiBtYXNrKQogCQkJdWRlbGF5KDEwKTsKIAkJaWYgKHJlcSkKIAkJCWZpbmlzaF9vdXRfZG1hKGVwLCByZXEsIC1FQ09OTlJFU0VULCAwKTsKQEAgLTk5Nyw5ICs5ODQsMTMgQEAKIAlyZXEtPnJlcS5hY3R1YWwgPSAwOwogCiAJLyogbWF5YmUga2lja3N0YXJ0IG5vbi1pc28gaS9vIHF1ZXVlcyAqLwotCWlmIChpc19pc28pCi0JCVVEQ19JUlFfRU5fUkVHIHw9IFVEQ19TT0ZfSUU7Ci0JZWxzZSBpZiAobGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSAmJiAhZXAtPnN0b3BwZWQgJiYgIWVwLT5hY2t3YWl0KSB7CisJaWYgKGlzX2lzbykgeworCQl1MTYgdzsKKworCQl3ID0gb21hcF9yZWFkdyhVRENfSVJRX0VOKTsKKwkJdyB8PSBVRENfU09GX0lFOworCQlvbWFwX3dyaXRldyh3LCBVRENfSVJRX0VOKTsKKwl9IGVsc2UgaWYgKGxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkgJiYgIWVwLT5zdG9wcGVkICYmICFlcC0+YWNrd2FpdCkgewogCQlpbnQJaXNfaW47CiAKIAkJaWYgKGVwLT5iRW5kcG9pbnRBZGRyZXNzID09IDApIHsKQEAgLTEwMTcsMjMgKzEwMDgsMjMgQEAKIAkJCQkgKiByZXF1ZXN0cyB0byBub24tY29udHJvbCBlbmRwb2ludHMKIAkJCQkgKi8KIAkJCQlpZiAodWRjLT5lcDBfc2V0X2NvbmZpZykgewotCQkJCQl1MTYJaXJxX2VuID0gVURDX0lSUV9FTl9SRUc7CisJCQkJCXUxNglpcnFfZW4gPSBvbWFwX3JlYWR3KFVEQ19JUlFfRU4pOwogCiAJCQkJCWlycV9lbiB8PSBVRENfRFNfQ0hHX0lFIHwgVURDX0VQMF9JRTsKIAkJCQkJaWYgKCF1ZGMtPmVwMF9yZXNldF9jb25maWcpCiAJCQkJCQlpcnFfZW4gfD0gVURDX0VQTl9SWF9JRQogCQkJCQkJCXwgVURDX0VQTl9UWF9JRTsKLQkJCQkJVURDX0lSUV9FTl9SRUcgPSBpcnFfZW47CisJCQkJCW9tYXBfd3JpdGV3KGlycV9lbiwgVURDX0lSUV9FTik7CiAJCQkJfQogCiAJCQkJLyogU1RBVFVTIGZvciB6ZXJvIGxlbmd0aCBEQVRBIHN0YWdlcyBpcwogCQkJCSAqIGFsd2F5cyBhbiBJTiAuLi4gZXZlbiBmb3IgSU4gdHJhbnNmZXJzLAogCQkJCSAqIGEgd2VpcmQgY2FzZSB3aGljaCBzZWVtIHRvIHN0YWxsIE9NQVAuCiAJCQkJICovCi0JCQkJVURDX0VQX05VTV9SRUcgPSAoVURDX0VQX1NFTHxVRENfRVBfRElSKTsKLQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCB8IFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOworCQkJCW9tYXBfd3JpdGV3KFVEQ19DTFJfRVAsIFVEQ19DVFJMKTsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAogCQkJCS8qIGNsZWFudXAgKi8KIAkJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKQEAgLTEwNDIsMTEgKzEwMzMsMTEgQEAKIAogCQkJLyogbm9uLWVtcHR5IERBVEEgc3RhZ2UgKi8KIAkJCX0gZWxzZSBpZiAoaXNfaW4pIHsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKKwkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMIHwgVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQl9IGVsc2UgewogCQkJCWlmICh1ZGMtPmVwMF9zZXR1cCkKIAkJCQkJZ290byBpcnFfd2FpdDsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUw7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CiAJCQl9CiAJCX0gZWxzZSB7CiAJCQlpc19pbiA9IGVwLT5iRW5kcG9pbnRBZGRyZXNzICYgVVNCX0RJUl9JTjsKQEAgLTEwNjIsNyArMTA1Myw3IEBACiAJCQkJcmVxID0gTlVMTDsKIAkJCWRlc2VsZWN0X2VwKCk7CiAJCQlpZiAoIWlzX2luKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQkJfQogCQkJLyogSU46IDYgd2FpdCBzdGF0ZXMgYmVmb3JlIGl0J2xsIHR4ICovCkBAIC0xMTMwLDkgKzExMjEsOSBAQAogCQllbHNlIGlmICh2YWx1ZSkgewogCQkJaWYgKGVwLT51ZGMtPmVwMF9zZXRfY29uZmlnKSB7CiAJCQkJV0FSTigiZXJyb3IgY2hhbmdpbmcgY29uZmlnP1xuIik7Ci0JCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX0NMUl9DRkc7CisJCQkJb21hcF93cml0ZXcoVURDX0NMUl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCX0KLQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19TVEFMTF9DTUQ7CisJCQlvbWFwX3dyaXRldyhVRENfU1RBTExfQ01ELCBVRENfU1lTQ09OMik7CiAJCQllcC0+dWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQlzdGF0dXMgPSAwOwogCQl9IGVsc2UgLyogTk9QICovCkBAIC0xMTU5LDggKzExNTAsOCBAQAogCQkJCWNoYW5uZWwgPSAwOwogCiAJCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQkJaWYgKFVEQ19TVEFUX0ZMR19SRUcgJiBVRENfTk9OX0lTT19GSUZPX0VNUFRZKSB7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQkJaWYgKG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKSAmIFVEQ19OT05fSVNPX0ZJRk9fRU1QVFkpIHsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAkJCQlzdGF0dXMgPSAwOwogCQkJfSBlbHNlCiAJCQkJc3RhdHVzID0gLUVBR0FJTjsKQEAgLTExNzAsMTAgKzExNjEsMTAgQEAKIAkJCQlkbWFfY2hhbm5lbF9jbGFpbShlcCwgY2hhbm5lbCk7CiAJCX0gZWxzZSB7CiAJCQl1c2VfZXAoZXAsIDApOwotCQkJVURDX0NUUkxfUkVHID0gZXAtPnVkYy0+Y2xyX2hhbHQ7CisJCQlvbWFwX3dyaXRldyhlcC0+dWRjLT5jbHJfaGFsdCwgVURDX0NUUkwpOwogCQkJZXAtPmFja3dhaXQgPSAwOwogCQkJaWYgKCEoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSkgewotCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKKwkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJCX0KIAkJfQpAQCAtMTIwNSw3ICsxMTk2LDcgQEAKIAogc3RhdGljIGludCBvbWFwX2dldF9mcmFtZShzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0KQogewotCXUxNglzb2YgPSBVRENfU09GX1JFRzsKKwl1MTYJc29mID0gb21hcF9yZWFkdyhVRENfU09GKTsKIAlyZXR1cm4gKHNvZiAmIFVEQ19UU19PSykgPyAoc29mICYgVURDX1RTKSA6IC1FTDJOU1lOQzsKIH0KIApAQCAtMTIyNCw3ICsxMjE1LDcgQEAKIAkJICovCiAJCWlmICh1ZGMtPmRldnN0YXQgJiAoVURDX0JfSE5QX0VOQUJMRXxVRENfUl9XS19PSykpIHsKIAkJCURCRygicmVtb3RlIHdha2V1cC4uLlxuIik7Ci0JCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfUk1UX1dLUDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19STVRfV0tQLCBVRENfU1lTQ09OMik7CiAJCQlyZXR2YWwgPSAwOwogCQl9CiAKQEAgLTEyNDcsMTIgKzEyMzgsMTIgQEAKIAogCXVkYyA9IGNvbnRhaW5lcl9vZihnYWRnZXQsIHN0cnVjdCBvbWFwX3VkYywgZ2FkZ2V0KTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmdWRjLT5sb2NrLCBmbGFncyk7Ci0Jc3lzY29uMSA9IFVEQ19TWVNDT04xX1JFRzsKKwlzeXNjb24xID0gb21hcF9yZWFkdyhVRENfU1lTQ09OMSk7CiAJaWYgKGlzX3NlbGZwb3dlcmVkKQogCQlzeXNjb24xIHw9IFVEQ19TRUxGX1BXUjsKIAllbHNlCiAJCXN5c2NvbjEgJj0gflVEQ19TRUxGX1BXUjsKLQlVRENfU1lTQ09OMV9SRUcgPSBzeXNjb24xOworCW9tYXBfd3JpdGV3KHN5c2NvbjEsIFVEQ19TWVNDT04xKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKIAogCXJldHVybiAwOwpAQCAtMTI2NSwxOCArMTI1NiwzNiBAQAogCiBzdGF0aWMgdm9pZCBwdWxsdXBfZW5hYmxlKHN0cnVjdCBvbWFwX3VkYyAqdWRjKQogewotCVVEQ19TWVNDT04xX1JFRyB8PSBVRENfUFVMTFVQX0VOOwotCWlmICghZ2FkZ2V0X2lzX290ZygmdWRjLT5nYWRnZXQpICYmICFjcHVfaXNfb21hcDE1eHgoKSkKLQkJT1RHX0NUUkxfUkVHIHw9IE9UR19CU0VTU1ZMRDsKLQlVRENfSVJRX0VOX1JFRyA9IFVEQ19EU19DSEdfSUU7CisJdTE2IHc7CisKKwl3ID0gb21hcF9yZWFkdyhVRENfU1lTQ09OMSk7CisJdyB8PSBVRENfUFVMTFVQX0VOOworCW9tYXBfd3JpdGV3KHcsIFVEQ19TWVNDT04xKTsKKwlpZiAoIWdhZGdldF9pc19vdGcoJnVkYy0+Z2FkZ2V0KSAmJiAhY3B1X2lzX29tYXAxNXh4KCkpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19CU0VTU1ZMRDsKKwkJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOworCX0KKwlvbWFwX3dyaXRldyhVRENfRFNfQ0hHX0lFLCBVRENfSVJRX0VOKTsKIH0KIAogc3RhdGljIHZvaWQgcHVsbHVwX2Rpc2FibGUoc3RydWN0IG9tYXBfdWRjICp1ZGMpCiB7Ci0JaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKQotCQlPVEdfQ1RSTF9SRUcgJj0gfk9UR19CU0VTU1ZMRDsKLQlVRENfSVJRX0VOX1JFRyA9IFVEQ19EU19DSEdfSUU7Ci0JVURDX1NZU0NPTjFfUkVHICY9IH5VRENfUFVMTFVQX0VOOworCXUxNiB3OworCisJaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7CisJCXUzMiBsOworCisJCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwkJbCAmPSB+T1RHX0JTRVNTVkxEOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJfQorCW9tYXBfd3JpdGV3KFVEQ19EU19DSEdfSUUsIFVEQ19JUlFfRU4pOworCXcgPSBvbWFwX3JlYWR3KFVEQ19TWVNDT04xKTsKKwl3ICY9IH5VRENfUFVMTFVQX0VOOworCW9tYXBfd3JpdGV3KHcsIFVEQ19TWVNDT04xKTsKIH0KIAogc3RhdGljIHN0cnVjdCBvbWFwX3VkYyAqdWRjOwpAQCAtMTMwNCw2ICsxMzEzLDcgQEAKIHsKIAlzdHJ1Y3Qgb21hcF91ZGMJKnVkYzsKIAl1bnNpZ25lZCBsb25nCWZsYWdzOworCXUzMiBsOwogCiAJdWRjID0gY29udGFpbmVyX29mKGdhZGdldCwgc3RydWN0IG9tYXBfdWRjLCBnYWRnZXQpOwogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKQEAgLTEzMTEsMTAgKzEzMjEsMTIgQEAKIAl1ZGMtPnZidXNfYWN0aXZlID0gKGlzX2FjdGl2ZSAhPSAwKTsKIAlpZiAoY3B1X2lzX29tYXAxNXh4KCkpIHsKIAkJLyogInNvZnR3YXJlIiBkZXRlY3QsIGlnbm9yZWQgaWYgIVZCVVNfTU9ERV8xNTEwICovCisJCWwgPSBvbWFwX3JlYWRsKEZVTkNfTVVYX0NUUkxfMCk7CiAJCWlmIChpc19hY3RpdmUpCi0JCQlGVU5DX01VWF9DVFJMXzBfUkVHIHw9IFZCVVNfQ1RSTF8xNTEwOworCQkJbCB8PSBWQlVTX0NUUkxfMTUxMDsKIAkJZWxzZQotCQkJRlVOQ19NVVhfQ1RSTF8wX1JFRyAmPSB+VkJVU19DVFJMXzE1MTA7CisJCQlsICY9IH5WQlVTX0NUUkxfMTUxMDsKKwkJb21hcF93cml0ZWwobCwgRlVOQ19NVVhfQ1RSTF8wKTsKIAl9CiAJaWYgKHVkYy0+ZGNfY2xrICE9IE5VTEwgJiYgaXNfYWN0aXZlKSB7CiAJCWlmICghdWRjLT5jbGtfcmVxdWVzdGVkKSB7CkBAIC0xMzg0LDkgKzEzOTYsOSBAQAogCQlkbWFfY2hhbm5lbF9yZWxlYXNlKGVwKTsKIAogCXVzZV9lcChlcCwgMCk7Ci0JVURDX0NUUkxfUkVHID0gVURDX0NMUl9FUDsKKwlvbWFwX3dyaXRldyhVRENfQ0xSX0VQLCBVRENfQ1RSTCk7CiAJaWYgKGVwLT5iRW5kcG9pbnRBZGRyZXNzICYmIGVwLT5ibUF0dHJpYnV0ZXMgIT0gVVNCX0VORFBPSU5UX1hGRVJfSVNPQykKLQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAogCXdoaWxlICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkgewogCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKQEAgLTE0MTQsOCArMTQyNiw4IEBACiAJaWYgKCFnYWRnZXRfaXNfb3RnKCZ1ZGMtPmdhZGdldCkpCiAJCXJldHVybjsKIAotCWlmIChPVEdfQ1RSTF9SRUcgJiBPVEdfSUQpCi0JCWRldnN0YXQgPSBVRENfREVWU1RBVF9SRUc7CisJaWYgKG9tYXBfcmVhZGwoT1RHX0NUUkwpICYgT1RHX0lEKQorCQlkZXZzdGF0ID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAJZWxzZQogCQlkZXZzdGF0ID0gMDsKIApAQCAtMTQyNiw5ICsxNDM4LDE0IEBACiAJLyogRW5hYmxlIEhOUCBlYXJseSwgYXZvaWRpbmcgcmFjZXMgb24gc3VzcGVuZCBpcnEgcGF0aC4KIAkgKiBBU1NVTUVTIE9URyBzdGF0ZSBtYWNoaW5lIEJfQlVTX1JFUSBpbnB1dCBpcyB0cnVlLgogCSAqLwotCWlmICh1ZGMtPmdhZGdldC5iX2hucF9lbmFibGUpCi0JCU9UR19DVFJMX1JFRyA9IChPVEdfQ1RSTF9SRUcgfCBPVEdfQl9ITlBFTiB8IE9UR19CX0JVU1JFUSkKLQkJCQkmIH5PVEdfUFVMTFVQOworCWlmICh1ZGMtPmdhZGdldC5iX2hucF9lbmFibGUpIHsKKwkJdTMyIGw7CisKKwkJbCA9IG9tYXBfcmVhZGwoT1RHX0NUUkwpOworCQlsIHw9IE9UR19CX0hOUEVOIHwgT1RHX0JfQlVTUkVROworCQlsICY9IH5PVEdfUFVMTFVQOworCQlvbWFwX3dyaXRlbChsLCBPVEdfQ1RSTCk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBlcDBfaXJxKHN0cnVjdCBvbWFwX3VkYyAqdWRjLCB1MTYgaXJxX3NyYykKQEAgLTE0NDYsNyArMTQ2Myw3IEBACiAKIAkJbnVrZShlcDAsIDApOwogCQlpZiAoYWNrKSB7Ci0JCQlVRENfSVJRX1NSQ19SRUcgPSBhY2s7CisJCQlvbWFwX3dyaXRldyhhY2ssIFVEQ19JUlFfU1JDKTsKIAkJCWlycV9zcmMgPSBVRENfU0VUVVA7CiAJCX0KIAl9CkBAIC0xNDY2LDkgKzE0ODMsOSBAQAogCWlmIChpcnFfc3JjICYgVURDX0VQMF9UWCkgewogCQlpbnQJc3RhdDsKIAotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVAwX1RYOwotCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKLQkJc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCW9tYXBfd3JpdGV3KFVEQ19FUDBfVFgsIFVEQ19JUlFfU1JDKTsKKwkJb21hcF93cml0ZXcoVURDX0VQX1NFTHxVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKKwkJc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAkJaWYgKHN0YXQgJiBVRENfQUNLKSB7CiAJCQlpZiAodWRjLT5lcDBfaW4pIHsKIAkJCQkvKiB3cml0ZSBuZXh0IElOIHBhY2tldCBmcm9tIHJlc3BvbnNlLApAQCAtMTQ3NiwyNiArMTQ5MywyNiBAQAogCQkJCSAqLwogCQkJCWlmIChyZXEpCiAJCQkJCXN0YXQgPSB3cml0ZV9maWZvKGVwMCwgcmVxKTsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQkJaWYgKCFyZXEgJiYgdWRjLT5lcDBfcGVuZGluZykgewotCQkJCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUw7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAJCQkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJCX0gLyogZWxzZTogIDYgd2FpdCBzdGF0ZXMgYmVmb3JlIGl0J2xsIHR4ICovCiAJCQl9IGVsc2UgewogCQkJCS8qIGFjayBzdGF0dXMgc3RhZ2Ugb2YgT1VUIHRyYW5zZmVyICovCi0JCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkJCWlmIChyZXEpCiAJCQkJCWRvbmUoZXAwLCByZXEsIDApOwogCQkJfQogCQkJcmVxID0gTlVMTDsKIAkJfSBlbHNlIGlmIChzdGF0ICYgVURDX1NUQUxMKSB7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0hBTFQ7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0hBTFQsIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQl9IGVsc2UgewotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCX0KIAl9CiAKQEAgLTE1MDMsOSArMTUyMCw5IEBACiAJaWYgKGlycV9zcmMgJiBVRENfRVAwX1JYKSB7CiAJCWludAlzdGF0OwogCi0JCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19FUDBfUlg7Ci0JCVVEQ19FUF9OVU1fUkVHID0gVURDX0VQX1NFTDsKLQkJc3RhdCA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCW9tYXBfd3JpdGV3KFVEQ19FUDBfUlgsIFVEQ19JUlFfU1JDKTsKKwkJb21hcF93cml0ZXcoVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CisJCXN0YXQgPSBvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRyk7CiAJCWlmIChzdGF0ICYgVURDX0FDSykgewogCQkJaWYgKCF1ZGMtPmVwMF9pbikgewogCQkJCXN0YXQgPSAwOwpAQCAtMTUxMywzNCArMTUzMCwzNSBAQAogCQkJCSAqIHJlYWN0aXZpdGluZyB0aGUgZmlmbzsgc3RhbGwgb24gZXJyb3JzLgogCQkJCSAqLwogCQkJCWlmICghcmVxIHx8IChzdGF0ID0gcmVhZF9maWZvKGVwMCwgcmVxKSkgPCAwKSB7Ci0JCQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19TVEFMTF9DTUQ7CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TVEFMTF9DTUQsIFVEQ19TWVNDT04yKTsKIAkJCQkJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJCQkJCXN0YXQgPSAwOwogCQkJCX0gZWxzZSBpZiAoc3RhdCA9PSAwKQotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAogCQkJCS8qIGFjdGl2YXRlIHN0YXR1cyBzdGFnZSAqLwogCQkJCWlmIChzdGF0ID09IDEpIHsKIAkJCQkJZG9uZShlcDAsIHJlcSwgMCk7CiAJCQkJCS8qIHRoYXQgbWF5IGhhdmUgU1RBTExlZCBlcDAuLi4gKi8KLQkJCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19TRVRfRklGT19FTjsKLQkJCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMIHwgVURDX0VQX0RJUiwKKwkJCQkJCQlVRENfRVBfTlVNKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKKwkJCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJCX0KIAkJCX0gZWxzZSB7CiAJCQkJLyogYWNrIHN0YXR1cyBzdGFnZSBvZiBJTiB0cmFuc2ZlciAqLwotCQkJCVVEQ19FUF9OVU1fUkVHID0gMDsKKwkJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKIAkJCQlpZiAocmVxKQogCQkJCQlkb25lKGVwMCwgcmVxLCAwKTsKIAkJCX0KIAkJfSBlbHNlIGlmIChzdGF0ICYgVURDX1NUQUxMKSB7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0hBTFQ7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IDA7CisJCQlvbWFwX3dyaXRldyhVRENfQ0xSX0hBTFQsIFVEQ19DVFJMKTsKKwkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOwogCQl9IGVsc2UgewotCQkJVURDX0VQX05VTV9SRUcgPSAwOworCQkJb21hcF93cml0ZXcoMCwgVURDX0VQX05VTSk7CiAJCX0KIAl9CiAKQEAgLTE1NTUsMTQgKzE1NzMsMTQgQEAKIAogCQkvKiByZWFkIHRoZSAobGF0ZXN0KSBTRVRVUCBtZXNzYWdlICovCiAJCWRvIHsKLQkJCVVEQ19FUF9OVU1fUkVHID0gVURDX1NFVFVQX1NFTDsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRVUF9TRUwsIFVEQ19FUF9OVU0pOwogCQkJLyogdHdvIGJ5dGVzIGF0IGEgdGltZSAqLwotCQkJdS53b3JkWzBdID0gVURDX0RBVEFfUkVHOwotCQkJdS53b3JkWzFdID0gVURDX0RBVEFfUkVHOwotCQkJdS53b3JkWzJdID0gVURDX0RBVEFfUkVHOwotCQkJdS53b3JkWzNdID0gVURDX0RBVEFfUkVHOwotCQkJVURDX0VQX05VTV9SRUcgPSAwOwotCQl9IHdoaWxlIChVRENfSVJRX1NSQ19SRUcgJiBVRENfU0VUVVApOworCQkJdS53b3JkWzBdID0gb21hcF9yZWFkdyhVRENfREFUQSk7CisJCQl1LndvcmRbMV0gPSBvbWFwX3JlYWR3KFVEQ19EQVRBKTsKKwkJCXUud29yZFsyXSA9IG9tYXBfcmVhZHcoVURDX0RBVEEpOworCQkJdS53b3JkWzNdID0gb21hcF9yZWFkdyhVRENfREFUQSk7CisJCQlvbWFwX3dyaXRldygwLCBVRENfRVBfTlVNKTsKKwkJfSB3aGlsZSAob21hcF9yZWFkdyhVRENfSVJRX1NSQykgJiBVRENfU0VUVVApOwogCiAjZGVmaW5lCXdfdmFsdWUJCWxlMTZfdG9fY3B1KHUuci53VmFsdWUpCiAjZGVmaW5lCXdfaW5kZXgJCWxlMTZfdG9fY3B1KHUuci53SW5kZXgpCkBAIC0xNTkzLDkgKzE2MTEsOSBAQAogCQkJICogbGF0ZXIgaWYgaXQgZmFpbHMgdGhlIHJlcXVlc3QuCiAJCQkgKi8KIAkJCWlmICh1ZGMtPmVwMF9yZXNldF9jb25maWcpCi0JCQkJVURDX1NZU0NPTjJfUkVHID0gVURDX0NMUl9DRkc7CisJCQkJb21hcF93cml0ZXcoVURDX0NMUl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCWVsc2UKLQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfREVWX0NGRzsKKwkJCQlvbWFwX3dyaXRldyhVRENfREVWX0NGRywgVURDX1NZU0NPTjIpOwogCQkJdXBkYXRlX290Zyh1ZGMpOwogCQkJZ290byBkZWxlZ2F0ZTsKIAkJY2FzZSBVU0JfUkVRX0NMRUFSX0ZFQVRVUkU6CkBAIC0xNjEzLDEwICsxNjMxLDEwIEBACiAJCQkJCQl8fCAhZXAtPmRlc2MpCiAJCQkJCWdvdG8gZG9fc3RhbGw7CiAJCQkJdXNlX2VwKGVwLCAwKTsKLQkJCQlVRENfQ1RSTF9SRUcgPSB1ZGMtPmNscl9oYWx0OworCQkJCW9tYXBfd3JpdGV3KHVkYy0+Y2xyX2hhbHQsIFVEQ19DVFJMKTsKIAkJCQllcC0+YWNrd2FpdCA9IDA7CiAJCQkJaWYgKCEoZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOKSkgewotCQkJCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJCQl9CiAJCQkJLyogTk9URTogIGFzc3VtZXMgdGhlIGhvc3QgYmVoYXZlcyBzYW5lbHksCkBAIC0xNjQ5LDE1ICsxNjY3LDE1IEBACiAJCQl9CiAJCQl1c2VfZXAoZXAsIDApOwogCQkJLyogY2FuJ3QgaGFsdCBpZiBmaWZvIGlzbid0IGVtcHR5Li4uICovCi0JCQlVRENfQ1RSTF9SRUcgPSBVRENfQ0xSX0VQOwotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9IQUxULCBVRENfQ1RSTCk7CiAJCQlWREJHKCIlcyBoYWx0ZWQgYnkgaG9zdFxuIiwgZXAtPm5hbWUpOwogZXAwb3V0X3N0YXR1c19zdGFnZToKIAkJCXN0YXR1cyA9IDA7Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9TRUx8VURDX0VQX0RJUjsKLQkJCVVEQ19DVFJMX1JFRyA9IFVEQ19DTFJfRVA7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47Ci0JCQlVRENfRVBfTlVNX1JFRyA9IFVEQ19FUF9ESVI7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfU0VMfFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOworCQkJb21hcF93cml0ZXcoVURDX0NMUl9FUCwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CisJCQlvbWFwX3dyaXRldyhVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKIAkJCXVkYy0+ZXAwX3BlbmRpbmcgPSAwOwogCQkJYnJlYWs7CiAJCWNhc2UgVVNCX1JFUV9HRVRfU1RBVFVTOgpAQCAtMTY5NCwxMCArMTcxMiwxMCBAQAogCiB6ZXJvX3N0YXR1czoKIAkJCS8qIHJldHVybiB0d28gemVybyBieXRlcyAqLwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfU0VMfFVEQ19FUF9ESVI7Ci0JCQlVRENfREFUQV9SRUcgPSAwOwotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOwotCQkJVURDX0VQX05VTV9SRUcgPSBVRENfRVBfRElSOworCQkJb21hcF93cml0ZXcoVURDX0VQX1NFTHxVRENfRVBfRElSLCBVRENfRVBfTlVNKTsKKwkJCW9tYXBfd3JpdGV3KDAsIFVEQ19EQVRBKTsKKwkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOworCQkJb21hcF93cml0ZXcoVURDX0VQX0RJUiwgVURDX0VQX05VTSk7CiAJCQlzdGF0dXMgPSAwOwogCQkJVkRCRygiR0VUX1NUQVRVUywgaW50ZXJmYWNlICVkXG4iLCB3X2luZGV4KTsKIAkJCS8qIG5leHQsIHN0YXR1cyBzdGFnZSAqLwpAQCAtMTcwNiw4ICsxNzI0LDggQEAKIGRlbGVnYXRlOgogCQkJLyogYWN0aXZhdGUgdGhlIGVwMG91dCBmaWZvIHJpZ2h0IGF3YXkgKi8KIAkJCWlmICghdWRjLT5lcDBfaW4gJiYgd19sZW5ndGgpIHsKLQkJCQlVRENfRVBfTlVNX1JFRyA9IDA7Ci0JCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJCW9tYXBfd3JpdGV3KDAsIFVEQ19FUF9OVU0pOworCQkJCW9tYXBfd3JpdGV3KFVEQ19TRVRfRklGT19FTiwgVURDX0NUUkwpOwogCQkJfQogCiAJCQkvKiBnYWRnZXQgZHJpdmVycyBzZWUgY2xhc3MvdmVuZG9yIHNwZWNpZmljIHJlcXVlc3RzLApAQCAtMTc0OCw5ICsxNzY2LDkgQEAKIAkJCQlpZiAodWRjLT5lcDBfcmVzZXRfY29uZmlnKQogCQkJCQlXQVJOKCJlcnJvciByZXNldHRpbmcgY29uZmlnP1xuIik7CiAJCQkJZWxzZQotCQkJCQlVRENfU1lTQ09OMl9SRUcgPSBVRENfQ0xSX0NGRzsKKwkJCQkJb21hcF93cml0ZXcoVURDX0NMUl9DRkcsIFVEQ19TWVNDT04yKTsKIAkJCX0KLQkJCVVEQ19TWVNDT04yX1JFRyA9IFVEQ19TVEFMTF9DTUQ7CisJCQlvbWFwX3dyaXRldyhVRENfU1RBTExfQ01ELCBVRENfU1lTQ09OMik7CiAJCQl1ZGMtPmVwMF9wZW5kaW5nID0gMDsKIAkJfQogCX0KQEAgLTE3NjQsNyArMTc4Miw3IEBACiB7CiAJdTE2CWRldnN0YXQsIGNoYW5nZTsKIAotCWRldnN0YXQgPSBVRENfREVWU1RBVF9SRUc7CisJZGV2c3RhdCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCWNoYW5nZSA9IGRldnN0YXQgXiB1ZGMtPmRldnN0YXQ7CiAJdWRjLT5kZXZzdGF0ID0gZGV2c3RhdDsKIApAQCAtMTgwNCw3ICsxODIyLDggQEAKIAkJCQlJTkZPKCJVU0IgcmVzZXQgZG9uZSwgZ2FkZ2V0ICVzXG4iLAogCQkJCQl1ZGMtPmRyaXZlci0+ZHJpdmVyLm5hbWUpOwogCQkJCS8qIGVwMCB0cmFmZmljIGlzIGxlZ2FsIGZyb20gbm93IG9uICovCi0JCQkJVURDX0lSUV9FTl9SRUcgPSBVRENfRFNfQ0hHX0lFIHwgVURDX0VQMF9JRTsKKwkJCQlvbWFwX3dyaXRldyhVRENfRFNfQ0hHX0lFIHwgVURDX0VQMF9JRSwKKwkJCQkJCVVEQ19JUlFfRU4pOwogCQkJfQogCQkJY2hhbmdlICY9IH5VRENfVVNCX1JFU0VUOwogCQl9CkBAIC0xODQ4LDcgKzE4NjcsNyBAQAogCQlWREJHKCJkZXZzdGF0ICUwM3gsIGlnbm9yZSBjaGFuZ2UgJTAzeFxuIiwKIAkJCWRldnN0YXQsICBjaGFuZ2UpOwogCi0JVURDX0lSUV9TUkNfUkVHID0gVURDX0RTX0NIRzsKKwlvbWFwX3dyaXRldyhVRENfRFNfQ0hHLCBVRENfSVJRX1NSQyk7CiB9CiAKIHN0YXRpYyBpcnFyZXR1cm5fdCBvbWFwX3VkY19pcnEoaW50IGlycSwgdm9pZCAqX3VkYykKQEAgLTE4NTksNyArMTg3OCw3IEBACiAJdW5zaWduZWQgbG9uZwlmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKLQlpcnFfc3JjID0gVURDX0lSUV9TUkNfUkVHOworCWlycV9zcmMgPSBvbWFwX3JlYWR3KFVEQ19JUlFfU1JDKTsKIAogCS8qIERldmljZSBzdGF0ZSBjaGFuZ2UgKHVzYiBjaDkgc3R1ZmYpICovCiAJaWYgKGlycV9zcmMgJiBVRENfRFNfQ0hHKSB7CkBAIC0xODgyLDcgKzE5MDEsNyBAQAogCQlpcnFfc3JjICY9IH4oVURDX1RYTl9ET05FfFVEQ19SWE5fQ05UfFVEQ19SWE5fRU9UKTsKIAl9CiAKLQlpcnFfc3JjICY9IH4oVURDX1NPRnxVRENfRVBOX1RYfFVEQ19FUE5fUlgpOworCWlycV9zcmMgJj0gfihVRENfSVJRX1NPRiB8IFVEQ19FUE5fVFh8VURDX0VQTl9SWCk7CiAJaWYgKGlycV9zcmMpCiAJCURCRygidWRjX2lycSwgdW5oYW5kbGVkICUwM3hcbiIsIGlycV9zcmMpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnVkYy0+bG9jaywgZmxhZ3MpOwpAQCAtMTkwMyw3ICsxOTIyLDcgQEAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZXAtPnVkYy0+bG9jaywgZmxhZ3MpOwogCWlmICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSAmJiBlcC0+YWNrd2FpdCkgewogCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQlzdGF0X2ZsZyA9IFVEQ19TVEFUX0ZMR19SRUc7CisJCXN0YXRfZmxnID0gb21hcF9yZWFkdyhVRENfU1RBVF9GTEcpOwogCiAJCWlmICgoc3RhdF9mbGcgJiBVRENfQUNLKSAmJiAoIShzdGF0X2ZsZyAmIFVEQ19GSUZPX0VOKQogCQkJCXx8IChlcC0+ZG91YmxlX2J1ZiAmJiBIQUxGX0ZVTEwoc3RhdF9mbGcpKSkpIHsKQEAgLTE5MTMsOCArMTkzMiw4IEBACiAJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCiAJCQkJCXN0cnVjdCBvbWFwX3JlcSwgcXVldWUpOwogCQkJKHZvaWQpIHJlYWRfZmlmbyhlcCwgcmVxKTsKLQkJCVVEQ19FUF9OVU1fUkVHID0gZXAtPmJFbmRwb2ludEFkZHJlc3M7Ci0JCQlVRENfQ1RSTF9SRUcgPSBVRENfU0VUX0ZJRk9fRU47CisJCQlvbWFwX3dyaXRldyhlcC0+YkVuZHBvaW50QWRkcmVzcywgVURDX0VQX05VTSk7CisJCQlvbWFwX3dyaXRldyhVRENfU0VUX0ZJRk9fRU4sIFVEQ19DVFJMKTsKIAkJCWVwLT5hY2t3YWl0ID0gMSArIGVwLT5kb3VibGVfYnVmOwogCQl9IGVsc2UKIAkJCWRlc2VsZWN0X2VwKCk7CkBAIC0xOTM0LDIwICsxOTUzLDIwIEBACiAJdW5zaWduZWQgbG9uZwlmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZ1ZGMtPmxvY2ssIGZsYWdzKTsKLQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JaXJxX3NyYyA9IFVEQ19JUlFfU1JDX1JFRzsKKwllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwlpcnFfc3JjID0gb21hcF9yZWFkdyhVRENfSVJRX1NSQyk7CiAKIAkvKiBoYW5kbGUgT1VUIGZpcnN0LCB0byBhdm9pZCBzb21lIHdhc3RlZnVsIE5BS3MgKi8KIAlpZiAoaXJxX3NyYyAmIFVEQ19FUE5fUlgpIHsKIAkJZXBudW0gPSAoZXBuX3N0YXQgPj4gOCkgJiAweDBmOwotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVBOX1JYOworCQlvbWFwX3dyaXRldyhVRENfRVBOX1JYLCBVRENfSVJRX1NSQyk7CiAJCXN0YXR1cyA9IElSUV9IQU5ETEVEOwogCQllcCA9ICZ1ZGMtPmVwW2VwbnVtXTsKIAkJZXAtPmlycXMrKzsKIAotCQlVRENfRVBfTlVNX1JFRyA9IGVwbnVtIHwgVURDX0VQX1NFTDsKKwkJb21hcF93cml0ZXcoZXBudW0gfCBVRENfRVBfU0VMLCBVRENfRVBfTlVNKTsKIAkJZXAtPmZuZiA9IDA7Ci0JCWlmICgoVURDX1NUQVRfRkxHX1JFRyAmIFVEQ19BQ0spKSB7CisJCWlmIChvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRykgJiBVRENfQUNLKSB7CiAJCQllcC0+YWNrd2FpdC0tOwogCQkJaWYgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCQkJaW50IHN0YXQ7CkBAIC0xOTU5LDE1ICsxOTc4LDE1IEBACiAJCQl9CiAJCX0KIAkJLyogbWluIDYgY2xvY2sgZGVsYXkgYmVmb3JlIGNsZWFyaW5nIEVQX1NFTCAuLi4gKi8KLQkJZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCQllcG5fc3RhdCA9IFVEQ19FUE5fU1RBVF9SRUc7Ci0JCVVEQ19FUF9OVU1fUkVHID0gZXBudW07CisJCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCQllcG5fc3RhdCA9IG9tYXBfcmVhZHcoVURDX0VQTl9TVEFUKTsKKwkJb21hcF93cml0ZXcoZXBudW0sIFVEQ19FUF9OVU0pOwogCiAJCS8qIGVuYWJsaW5nIGZpZm8gX2FmdGVyXyBjbGVhcmluZyBBQ0ssIGNvbnRyYXJ5IHRvIGRvY3MsCiAJCSAqIHJlZHVjZXMgbG9zc2FnZTsgdGltZXIgc3RpbGwgbmVlZGVkIHRob3VnaCAoc2lnaCkuCiAJCSAqLwogCQlpZiAoZXAtPmZuZikgewotCQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9GSUZPX0VOOworCQkJb21hcF93cml0ZXcoVURDX1NFVF9GSUZPX0VOLCBVRENfQ1RSTCk7CiAJCQllcC0+YWNrd2FpdCA9IDEgKyBlcC0+ZG91YmxlX2J1ZjsKIAkJfQogCQltb2RfdGltZXIoJmVwLT50aW1lciwgUElPX09VVF9USU1FT1VUKTsKQEAgLTE5NzYsMTMgKzE5OTUsMTMgQEAKIAkvKiB0aGVuIElOIHRyYW5zZmVycyAqLwogCWVsc2UgaWYgKGlycV9zcmMgJiBVRENfRVBOX1RYKSB7CiAJCWVwbnVtID0gZXBuX3N0YXQgJiAweDBmOwotCQlVRENfSVJRX1NSQ19SRUcgPSBVRENfRVBOX1RYOworCQlvbWFwX3dyaXRldyhVRENfRVBOX1RYLCBVRENfSVJRX1NSQyk7CiAJCXN0YXR1cyA9IElSUV9IQU5ETEVEOwogCQllcCA9ICZ1ZGMtPmVwWzE2ICsgZXBudW1dOwogCQllcC0+aXJxcysrOwogCi0JCVVEQ19FUF9OVU1fUkVHID0gZXBudW0gfCBVRENfRVBfRElSIHwgVURDX0VQX1NFTDsKLQkJaWYgKChVRENfU1RBVF9GTEdfUkVHICYgVURDX0FDSykpIHsKKwkJb21hcF93cml0ZXcoZXBudW0gfCBVRENfRVBfRElSIHwgVURDX0VQX1NFTCwgVURDX0VQX05VTSk7CisJCWlmIChvbWFwX3JlYWR3KFVEQ19TVEFUX0ZMRykgJiBVRENfQUNLKSB7CiAJCQllcC0+YWNrd2FpdCA9IDA7CiAJCQlpZiAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpIHsKIAkJCQlyZXEgPSBjb250YWluZXJfb2YoZXAtPnF1ZXVlLm5leHQsCkBAIC0xOTkxLDkgKzIwMTAsOSBAQAogCQkJfQogCQl9CiAJCS8qIG1pbiA2IGNsb2NrIGRlbGF5IGJlZm9yZSBjbGVhcmluZyBFUF9TRUwgLi4uICovCi0JCWVwbl9zdGF0ID0gVURDX0VQTl9TVEFUX1JFRzsKLQkJZXBuX3N0YXQgPSBVRENfRVBOX1NUQVRfUkVHOwotCQlVRENfRVBfTlVNX1JFRyA9IGVwbnVtIHwgVURDX0VQX0RJUjsKKwkJZXBuX3N0YXQgPSBvbWFwX3JlYWR3KFVEQ19FUE5fU1RBVCk7CisJCWVwbl9zdGF0ID0gb21hcF9yZWFkdyhVRENfRVBOX1NUQVQpOworCQlvbWFwX3dyaXRldyhlcG51bSB8IFVEQ19FUF9ESVIsIFVEQ19FUF9OVU0pOwogCQkvKiB0aGVuIDYgY2xvY2tzIGJlZm9yZSBpdCdkIHR4ICovCiAJfQogCkBAIC0yMDIxLDcgKzIwNDAsNyBAQAogCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3Qgb21hcF9yZXEsIHF1ZXVlKTsKIAogCQl1c2VfZXAoZXAsIFVEQ19FUF9TRUwpOwotCQlzdGF0ID0gVURDX1NUQVRfRkxHX1JFRzsKKwkJc3RhdCA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAogCQkvKiBOT1RFOiBsaWtlIHRoZSBvdGhlciBjb250cm9sbGVyIGRyaXZlcnMsIHRoaXMgaXNuJ3QKIAkJICogY3VycmVudGx5IHJlcG9ydGluZyBsb3N0IG9yIGRhbWFnZWQgZnJhbWVzLgpAQCAtMjA1Myw5ICsyMDcyLDE0IEBACiAJCWlmICghbGlzdF9lbXB0eSgmZXAtPnF1ZXVlKSkKIAkJCXBlbmRpbmcgPSAxOwogCX0KLQlpZiAoIXBlbmRpbmcpCi0JCVVEQ19JUlFfRU5fUkVHICY9IH5VRENfU09GX0lFOwotCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19TT0Y7CisJaWYgKCFwZW5kaW5nKSB7CisJCXUxNiB3OworCisJCXcgPSBvbWFwX3JlYWR3KFVEQ19JUlFfRU4pOworCQl3ICY9IH5VRENfU09GX0lFOworCQlvbWFwX3dyaXRldyh3LCBVRENfSVJRX0VOKTsKKwl9CisJb21hcF93cml0ZXcoVURDX0lSUV9TT0YsIFVEQ19JUlFfU1JDKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnVkYy0+bG9jaywgZmxhZ3MpOwogCXJldHVybiBJUlFfSEFORExFRDsKQEAgLTIxMDQsNyArMjEyOCw3IEBACiAJCWlmIChlcC0+Ym1BdHRyaWJ1dGVzID09IFVTQl9FTkRQT0lOVF9YRkVSX0lTT0MpCiAJCQljb250aW51ZTsKIAkJdXNlX2VwKGVwLCAwKTsKLQkJVURDX0NUUkxfUkVHID0gVURDX1NFVF9IQUxUOworCQlvbWFwX3dyaXRldyhVRENfU0VUX0hBTFQsIFVEQ19DVFJMKTsKIAl9CiAJdWRjLT5lcDBfcGVuZGluZyA9IDA7CiAJdWRjLT5lcFswXS5pcnFzID0gMDsKQEAgLTIxMjgsNyArMjE1Miw3IEBACiAJfQogCURCRygiYm91bmQgdG8gZHJpdmVyICVzXG4iLCBkcml2ZXItPmRyaXZlci5uYW1lKTsKIAotCVVEQ19JUlFfU1JDX1JFRyA9IFVEQ19JUlFfU1JDX01BU0s7CisJb21hcF93cml0ZXcoVURDX0lSUV9TUkNfTUFTSywgVURDX0lSUV9TUkMpOwogCiAJLyogY29ubmVjdCB0byBidXMgdGhyb3VnaCB0cmFuc2NlaXZlciAqLwogCWlmICh1ZGMtPnRyYW5zY2VpdmVyKSB7CkBAIC0yMjI1LDcgKzIyNDksNyBAQAogCWVsc2UKIAkJYnVmWzBdID0gMDsKIAotCXN0YXRfZmxnID0gVURDX1NUQVRfRkxHX1JFRzsKKwlzdGF0X2ZsZyA9IG9tYXBfcmVhZHcoVURDX1NUQVRfRkxHKTsKIAlzZXFfcHJpbnRmKHMsCiAJCSJcbiVzICVzJXMlc2lycXMgJWxkIHN0YXQgJTA0eCAiIEVJR0hUQklUUyBGT1VSQklUUyAiJXNcbiIsCiAJCWVwLT5uYW1lLCBidWYsCkBAIC0yMjkyLDExICsyMzE2LDExIEBACiAJCXRyYW5zID0gQ09OVFJPTF9ERVZDT05GX1JFRzsKIAl9IGVsc2UgewogCQljdHJsX25hbWUgPSAidHJhbmNlaXZlcl9jdHJsIjsKLQkJdHJhbnMgPSBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUc7CisJCXRyYW5zID0gb21hcF9yZWFkdyhVU0JfVFJBTlNDRUlWRVJfQ1RSTCk7CiAJfQogCXNlcV9wcmludGYocywgIlxuT1RHIHJldiAlZC4lZCwgJXMgJTA1eFxuIiwKIAkJdG1wID4+IDQsIHRtcCAmIDB4ZiwgY3RybF9uYW1lLCB0cmFucyk7Ci0JdG1wID0gT1RHX1NZU0NPTl8xX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19TWVNDT05fMSk7CiAJc2VxX3ByaW50ZihzLCAib3RnX3N5c2NvbjEgJTA4eCB1c2IyICVzLCB1c2IxICVzLCB1c2IwICVzLCIKIAkJCUZPVVJCSVRTICJcbiIsIHRtcCwKIAkJdHJ4X21vZGUoVVNCMl9UUlhfTU9ERSh0bXApLCB0cmFucyAmIENPTkZfVVNCMl9VTklfUiksCkBAIC0yMzA4LDcgKzIzMzIsNyBAQAogCQkodG1wICYgSFNUX0lETEVfRU4pID8gIiAhaG9zdCIgOiAiIiwKIAkJKHRtcCAmIERFVl9JRExFX0VOKSA/ICIgIWRldiIgOiAiIiwKIAkJKHRtcCAmIE9UR19SRVNFVF9ET05FKSA/ICIgcmVzZXRfZG9uZSIgOiAiIHJlc2V0X2FjdGl2ZSIpOwotCXRtcCA9IE9UR19TWVNDT05fMl9SRUc7CisJdG1wID0gb21hcF9yZWFkbChPVEdfU1lTQ09OXzIpOwogCXNlcV9wcmludGYocywgIm90Z19zeXNjb24yICUwOHglcyIgRUlHSFRCSVRTCiAJCQkiIGJfYXNlX2Jyc3Q9JWQgaG1jPSVkXG4iLCB0bXAsCiAJCSh0bXAgJiBPVEdfRU4pID8gIiBvdGdfZW4iIDogIiIsCkBAIC0yMzIzLDcgKzIzNDcsNyBAQAogCQkodG1wICYgSE1DX1RMTEFUVEFDSCkgPyAiIHRsbGF0dGFjaCIgOiAiIiwKIAkJQl9BU0VfQlJTVCh0bXApLAogCQlPVEdfSE1DKHRtcCkpOwotCXRtcCA9IE9UR19DVFJMX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKIAlzZXFfcHJpbnRmKHMsICJvdGdfY3RybCAgICAlMDZ4IiBFSUdIVEJJVFMgRUlHSFRCSVRTICIlc1xuIiwgdG1wLAogCQkodG1wICYgT1RHX0FTRVNTVkxEKSA/ICIgYXNlc3MiIDogIiIsCiAJCSh0bXAgJiBPVEdfQlNFU1NFTkQpID8gIiBic2Vzc19lbmQiIDogIiIsCkBAIC0yMzQzLDEzICsyMzY3LDEzIEBACiAJCSh0bXAgJiBPVEdfUFVfVkJVUykgPyAiIHB1X3ZiIiA6ICIiLAogCQkodG1wICYgT1RHX1BVX0lEKSA/ICIgcHVfaWQiIDogIiIKIAkJKTsKLQl0bXAgPSBPVEdfSVJRX0VOX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KE9UR19JUlFfRU4pOwogCXNlcV9wcmludGYocywgIm90Z19pcnFfZW4gICUwNHgiICJcbiIsIHRtcCk7Ci0JdG1wID0gT1RHX0lSUV9TUkNfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX0lSUV9TUkMpOwogCXNlcV9wcmludGYocywgIm90Z19pcnFfc3JjICUwNHgiICJcbiIsIHRtcCk7Ci0JdG1wID0gT1RHX09VVENUUkxfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX09VVENUUkwpOwogCXNlcV9wcmludGYocywgIm90Z19vdXRjdHJsICUwNHgiICJcbiIsIHRtcCk7Ci0JdG1wID0gT1RHX1RFU1RfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoT1RHX1RFU1QpOwogCXNlcV9wcmludGYocywgIm90Z190ZXN0ICAgICUwNHgiICJcbiIsIHRtcCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yMzcwLDcgKzIzOTQsNyBAQAogCQlkcml2ZXJfZGVzYywKIAkJdXNlX2RtYSA/ICAiIChkbWEpIiA6ICIiKTsKIAotCXRtcCA9IFVEQ19SRVZfUkVHICYgMHhmZjsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19SRVYpICYgMHhmZjsKIAlzZXFfcHJpbnRmKHMsCiAJCSJVREMgcmV2ICVkLiVkLCBmaWZvIG1vZGUgJWQsIGdhZGdldCAlc1xuIgogCQkiaG1jICVkLCB0cmFuc2NlaXZlciAlc1xuIiwKQEAgLTIzODQsMTYgKzI0MDgsMTYgQEAKIAkJCQk/ICJleHRlcm5hbCIgOiAiKG5vbmUpIikpOwogCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkgewogCQlzZXFfcHJpbnRmKHMsICJVTFBEIGNvbnRyb2wgJTA0eCByZXEgJTA0eCBzdGF0dXMgJTA0eFxuIiwKLQkJCV9fUkVHMTYoVUxQRF9DTE9DS19DVFJMKSwKLQkJCV9fUkVHMTYoVUxQRF9TT0ZUX1JFUSksCi0JCQlfX1JFRzE2KFVMUERfU1RBVFVTX1JFUSkpOworCQkJb21hcF9yZWFkdyhVTFBEX0NMT0NLX0NUUkwpLAorCQkJb21hcF9yZWFkdyhVTFBEX1NPRlRfUkVRKSwKKwkJCW9tYXBfcmVhZHcoVUxQRF9TVEFUVVNfUkVRKSk7CiAJfQogCiAJLyogT1RHIGNvbnRyb2xsZXIgcmVnaXN0ZXJzICovCiAJaWYgKCFjcHVfaXNfb21hcDE1eHgoKSkKIAkJcHJvY19vdGdfc2hvdyhzKTsKIAotCXRtcCA9IFVEQ19TWVNDT04xX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19TWVNDT04xKTsKIAlzZXFfcHJpbnRmKHMsICJcbnN5c2NvbjEgICAgICUwNHgiIEVJR0hUQklUUyAiXG4iLCB0bXAsCiAJCSh0bXAgJiBVRENfQ0ZHX0xPQ0spID8gIiBjZmdfbG9jayIgOiAiIiwKIAkJKHRtcCAmIFVEQ19EQVRBX0VORElBTikgPyAiIGRhdGFfZW5kaWFuIiA6ICIiLApAQCAtMjQxMiw3ICsyNDM2LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JdG1wID0gVURDX0RFVlNUQVRfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0RFVlNUQVQpOwogCXNlcV9wcmludGYocywgImRldnN0YXQgICAgICUwNHgiIEVJR0hUQklUUyAiJXMlc1xuIiwgdG1wLAogCQkodG1wICYgVURDX0JfSE5QX0VOQUJMRSkgPyAiIGJfaG5wIiA6ICIiLAogCQkodG1wICYgVURDX0FfSE5QX1NVUFBPUlQpID8gIiBhX2hucCIgOiAiIiwKQEAgLTI0MjQsMjAgKzI0NDgsMjAgQEAKIAkJKHRtcCAmIFVEQ19BREQpID8gIiBBREQiIDogIiIsCiAJCSh0bXAgJiBVRENfREVGKSA/ICIgREVGIiA6ICIiLAogCQkodG1wICYgVURDX0FUVCkgPyAiIEFUVCIgOiAiIik7Ci0Jc2VxX3ByaW50ZihzLCAic29mICAgICAgICAgJTA0eFxuIiwgVURDX1NPRl9SRUcpOwotCXRtcCA9IFVEQ19JUlFfRU5fUkVHOworCXNlcV9wcmludGYocywgInNvZiAgICAgICAgICUwNHhcbiIsIG9tYXBfcmVhZHcoVURDX1NPRikpOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0lSUV9FTik7CiAJc2VxX3ByaW50ZihzLCAiaXJxX2VuICAgICAgJTA0eCIgRk9VUkJJVFMgIiVzXG4iLCB0bXAsCiAJCSh0bXAgJiBVRENfU09GX0lFKSA/ICIgc29mIiA6ICIiLAogCQkodG1wICYgVURDX0VQTl9SWF9JRSkgPyAiIGVwbl9yeCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19FUE5fVFhfSUUpID8gIiBlcG5fdHgiIDogIiIsCiAJCSh0bXAgJiBVRENfRFNfQ0hHX0lFKSA/ICIgZHNfY2hnIiA6ICIiLAogCQkodG1wICYgVURDX0VQMF9JRSkgPyAiIGVwMCIgOiAiIik7Ci0JdG1wID0gVURDX0lSUV9TUkNfUkVHOworCXRtcCA9IG9tYXBfcmVhZHcoVURDX0lSUV9TUkMpOwogCXNlcV9wcmludGYocywgImlycV9zcmMgICAgICUwNHgiIEVJR0hUQklUUyAiJXMlc1xuIiwgdG1wLAogCQkodG1wICYgVURDX1RYTl9ET05FKSA/ICIgdHhuX2RvbmUiIDogIiIsCiAJCSh0bXAgJiBVRENfUlhOX0NOVCkgPyAiIHJ4bl9jbnQiIDogIiIsCiAJCSh0bXAgJiBVRENfUlhOX0VPVCkgPyAiIHJ4bl9lb3QiIDogIiIsCi0JCSh0bXAgJiBVRENfU09GKSA/ICIgc29mIiA6ICIiLAorCQkodG1wICYgVURDX0lSUV9TT0YpID8gIiBzb2YiIDogIiIsCiAJCSh0bXAgJiBVRENfRVBOX1JYKSA/ICIgZXBuX3J4IiA6ICIiLAogCQkodG1wICYgVURDX0VQTl9UWCkgPyAiIGVwbl90eCIgOiAiIiwKIAkJKHRtcCAmIFVEQ19EU19DSEcpID8gIiBkc19jaGciIDogIiIsCkBAIC0yNDQ3LDcgKzI0NzEsNyBAQAogCWlmICh1c2VfZG1hKSB7CiAJCXVuc2lnbmVkIGk7CiAKLQkJdG1wID0gVURDX0RNQV9JUlFfRU5fUkVHOworCQl0bXAgPSBvbWFwX3JlYWR3KFVEQ19ETUFfSVJRX0VOKTsKIAkJc2VxX3ByaW50ZihzLCAiZG1hX2lycV9lbiAgJTA0eCVzIiBFSUdIVEJJVFMgIlxuIiwgdG1wLAogCQkJKHRtcCAmIFVEQ19UWF9ET05FX0lFKDMpKSA/ICIgdHgyX2RvbmUiIDogIiIsCiAJCQkodG1wICYgVURDX1JYX0NOVF9JRSgzKSkgPyAiIHJ4Ml9jbnQiIDogIiIsCkBAIC0yNDYxLDI5ICsyNDg1LDI5IEBACiAJCQkodG1wICYgVURDX1JYX0NOVF9JRSgxKSkgPyAiIHJ4MF9jbnQiIDogIiIsCiAJCQkodG1wICYgVURDX1JYX0VPVF9JRSgxKSkgPyAiIHJ4MF9lb3QiIDogIiIpOwogCi0JCXRtcCA9IFVEQ19SWERNQV9DRkdfUkVHOworCQl0bXAgPSBvbWFwX3JlYWR3KFVEQ19SWERNQV9DRkcpOwogCQlzZXFfcHJpbnRmKHMsICJyeGRtYV9jZmcgICAlMDR4XG4iLCB0bXApOwogCQlpZiAodG1wKSB7CiAJCQlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKSB7CiAJCQkJaWYgKCh0bXAgJiAoMHgwZiA8PCAoaSAqIDQpKSkgPT0gMCkKIAkJCQkJY29udGludWU7CiAJCQkJc2VxX3ByaW50ZihzLCAicnhkbWFbJWRdICAgICUwNHhcbiIsIGksCi0JCQkJCQlVRENfUlhETUFfUkVHKGkgKyAxKSk7CisJCQkJCQlvbWFwX3JlYWR3KFVEQ19SWERNQShpICsgMSkpKTsKIAkJCX0KIAkJfQotCQl0bXAgPSBVRENfVFhETUFfQ0ZHX1JFRzsKKwkJdG1wID0gb21hcF9yZWFkdyhVRENfVFhETUFfQ0ZHKTsKIAkJc2VxX3ByaW50ZihzLCAidHhkbWFfY2ZnICAgJTA0eFxuIiwgdG1wKTsKIAkJaWYgKHRtcCkgewogCQkJZm9yIChpID0gMDsgaSA8IDM7IGkrKykgewogCQkJCWlmICghKHRtcCAmICgweDBmIDw8IChpICogNCkpKSkKIAkJCQkJY29udGludWU7CiAJCQkJc2VxX3ByaW50ZihzLCAidHhkbWFbJWRdICAgICUwNHhcbiIsIGksCi0JCQkJCQlVRENfVFhETUFfUkVHKGkgKyAxKSk7CisJCQkJCQlvbWFwX3JlYWR3KFVEQ19UWERNQShpICsgMSkpKTsKIAkJCX0KIAkJfQogCX0KIAotCXRtcCA9IFVEQ19ERVZTVEFUX1JFRzsKKwl0bXAgPSBvbWFwX3JlYWR3KFVEQ19ERVZTVEFUKTsKIAlpZiAodG1wICYgVURDX0FUVCkgewogCQlwcm9jX2VwX3Nob3cocywgJnVkYy0+ZXBbMF0pOwogCQlpZiAodG1wICYgVURDX0FERCkgewpAQCAtMjUzNSw3ICsyNTU5LDcgQEAKICAqIGJ1ZmZlciBzcGFjZSBhbW9uZyB0aGUgZW5kcG9pbnRzIHdlJ2xsIGJlIG9wZXJhdGluZy4KICAqCiAgKiBOT1RFOiBhcyBvZiBPTUFQIDE3MTAgRVMyLjAsIHdyaXRpbmcgYSBuZXcgZW5kcG9pbnQgY29uZmlnIHdoZW4KLSAqIFVEQ19TWVNDT05fMV9SRUcuQ0ZHX0xPQ0sgaXMgc2V0IGNhbiBub3cgd29yay4gIFdlIHdvbid0IHVzZSB0aGF0CisgKiBVRENfU1lTQ09OXzEuQ0ZHX0xPQ0sgaXMgc2V0IGNhbiBub3cgd29yay4gIFdlIHdvbid0IHVzZSB0aGF0CiAgKiBjYXBhYmlsaXR5IHlldCB0aG91Z2guCiAgKi8KIHN0YXRpYyB1bnNpZ25lZCBfX2luaXQKQEAgLTI1OTcsOSArMjYyMSw5IEBACiAJCW5hbWUsIGFkZHIsIGVwbl9yeHR4LCBtYXhwLCBkYnVmID8gIngyIiA6ICIiLCBidWYpOwogCiAJaWYgKGFkZHIgJiBVU0JfRElSX0lOKQotCQlVRENfRVBfVFhfUkVHKGFkZHIgJiAweGYpID0gZXBuX3J4dHg7CisJCW9tYXBfd3JpdGV3KGVwbl9yeHR4LCBVRENfRVBfVFgoYWRkciAmIDB4ZikpOwogCWVsc2UKLQkJVURDX0VQX1JYX1JFRyhhZGRyKSA9IGVwbl9yeHR4OworCQlvbWFwX3dyaXRldyhlcG5fcnh0eCwgVURDX0VQX1JYKGFkZHIpKTsKIAogCS8qIG5leHQgZW5kcG9pbnQncyBidWZmZXIgc3RhcnRzIGFmdGVyIHRoaXMgb25lJ3MgKi8KIAlidWYgKz0gbWF4cDsKQEAgLTI2MzgsMTUgKzI2NjIsMTUgQEAKIAl1bnNpZ25lZAl0bXAsIGJ1ZjsKIAogCS8qIGFib2xpc2ggYW55IHByZXZpb3VzIGhhcmR3YXJlIHN0YXRlICovCi0JVURDX1NZU0NPTjFfUkVHID0gMDsKLQlVRENfSVJRX0VOX1JFRyA9IDA7Ci0JVURDX0lSUV9TUkNfUkVHID0gVURDX0lSUV9TUkNfTUFTSzsKLQlVRENfRE1BX0lSUV9FTl9SRUcgPSAwOwotCVVEQ19SWERNQV9DRkdfUkVHID0gMDsKLQlVRENfVFhETUFfQ0ZHX1JFRyA9IDA7CisJb21hcF93cml0ZXcoMCwgVURDX1NZU0NPTjEpOworCW9tYXBfd3JpdGV3KDAsIFVEQ19JUlFfRU4pOworCW9tYXBfd3JpdGV3KFVEQ19JUlFfU1JDX01BU0ssIFVEQ19JUlFfU1JDKTsKKwlvbWFwX3dyaXRldygwLCBVRENfRE1BX0lSUV9FTik7CisJb21hcF93cml0ZXcoMCwgVURDX1JYRE1BX0NGRyk7CisJb21hcF93cml0ZXcoMCwgVURDX1RYRE1BX0NGRyk7CiAKIAkvKiBVRENfUFVMTFVQX0VOIGdhdGVzIHRoZSBjaGlwIGNsb2NrICovCi0JLy8gT1RHX1NZU0NPTl8xX1JFRyB8PSBERVZfSURMRV9FTjsKKwkvLyBPVEdfU1lTQ09OXzEgfD0gREVWX0lETEVfRU47CiAKIAl1ZGMgPSBremFsbG9jKHNpemVvZigqdWRjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCF1ZGMpCkBAIC0yNjc3LDggKzI3MDEsOCBAQAogCiAJLyogaW5pdGlhbGx5IGRpc2FibGUgYWxsIG5vbi1lcDAgZW5kcG9pbnRzICovCiAJZm9yICh0bXAgPSAxOyB0bXAgPCAxNTsgdG1wKyspIHsKLQkJVURDX0VQX1JYX1JFRyh0bXApID0gMDsKLQkJVURDX0VQX1RYX1JFRyh0bXApID0gMDsKKwkJb21hcF93cml0ZXcoMCwgVURDX0VQX1JYKHRtcCkpOworCQlvbWFwX3dyaXRldygwLCBVRENfRVBfVFgodG1wKSk7CiAJfQogCiAjZGVmaW5lIE9NQVBfQlVMS19FUChuYW1lLGFkZHIpIFwKQEAgLTI3NjMsNyArMjc4Nyw3IEBACiAJCUVSUigidW5zdXBwb3J0ZWQgZmlmb19tb2RlICMlZFxuIiwgZmlmb19tb2RlKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQotCVVEQ19TWVNDT04xX1JFRyA9IFVEQ19DRkdfTE9DS3xVRENfU0VMRl9QV1I7CisJb21hcF93cml0ZXcoVURDX0NGR19MT0NLfFVEQ19TRUxGX1BXUiwgVURDX1NZU0NPTjEpOwogCUlORk8oImZpZm8gbW9kZSAlZCwgJWQgYnl0ZXMgbm90IHVzZWRcbiIsIGZpZm9fbW9kZSwgMjA0OCAtIGJ1Zik7CiAJcmV0dXJuIDA7CiB9CkBAIC0yODA3LDcgKzI4MzEsNyBAQAogCX0KIAogCUlORk8oIk9NQVAgVURDIHJldiAlZC4lZCVzXG4iLAotCQlVRENfUkVWX1JFRyA+PiA0LCBVRENfUkVWX1JFRyAmIDB4ZiwKKwkJb21hcF9yZWFkdyhVRENfUkVWKSA+PiA0LCBvbWFwX3JlYWR3KFVEQ19SRVYpICYgMHhmLAogCQljb25maWctPm90ZyA/ICIsIE1pbmktQUIiIDogIiIpOwogCiAJLyogdXNlIHRoZSBtb2RlIGdpdmVuIHRvIHVzIGJ5IGJvYXJkIGluaXQgY29kZSAqLwpAQCAtMjgyMiwxMiArMjg0NiwxMiBAQAogCQkJICoga25vdyB3aGVuIHRvIHR1cm4gUFVMTFVQX0VOIG9uL29mZjsgYW5kIHRoYXQKIAkJCSAqIG1lYW5zIHdlIGFsd2F5cyAibmVlZCIgdGhlIDQ4TUh6IGNsb2NrLgogCQkJICovCi0JCQl1MzIgdG1wID0gRlVOQ19NVVhfQ1RSTF8wX1JFRzsKLQotCQkJRlVOQ19NVVhfQ1RSTF8wX1JFRyAmPSB+VkJVU19DVFJMXzE1MTA7CisJCQl1MzIgdG1wID0gb21hcF9yZWFkbChGVU5DX01VWF9DVFJMXzApOworCQkJdG1wICY9IH5WQlVTX0NUUkxfMTUxMDsKKwkJCW9tYXBfd3JpdGVsKHRtcCwgRlVOQ19NVVhfQ1RSTF8wKTsKIAkJCXRtcCB8PSBWQlVTX01PREVfMTUxMDsKIAkJCXRtcCAmPSB+VkJVU19DVFJMXzE1MTA7Ci0JCQlGVU5DX01VWF9DVFJMXzBfUkVHID0gdG1wOworCQkJb21hcF93cml0ZWwodG1wLCBGVU5DX01VWF9DVFJMXzApOwogCQl9CiAJfSBlbHNlIHsKIAkJLyogVGhlIHRyYW5zY2VpdmVyIG1heSBwYWNrYWdlIHNvbWUgR1BJTyBsb2dpYyBvciBoYW5kbGUKQEAgLTI5MDcsNyArMjkzMSw3IEBACiAjZW5kaWYKIAogCS8qIHN0YXJ0aW5nIHdpdGggb21hcDE3MTAgZXMyLjAsIGNsZWFyIHRvZ2dsZSBpcyBhIHNlcGFyYXRlIGJpdCAqLwotCWlmIChVRENfUkVWX1JFRyA+PSAweDYxKQorCWlmIChvbWFwX3JlYWR3KFVEQ19SRVYpID49IDB4NjEpCiAJCXVkYy0+Y2xyX2hhbHQgPSBVRENfUkVTRVRfRVAgfCBVRENfQ0xSREFUQV9UT0dHTEU7CiAJZWxzZQogCQl1ZGMtPmNscl9oYWx0ID0gVURDX1JFU0VUX0VQOwpAQCAtMzAwNSw3ICszMDI5LDcgQEAKIAkJcHV0X2RldmljZSh1ZGMtPnRyYW5zY2VpdmVyLT5kZXYpOwogCQl1ZGMtPnRyYW5zY2VpdmVyID0gTlVMTDsKIAl9Ci0JVURDX1NZU0NPTjFfUkVHID0gMDsKKwlvbWFwX3dyaXRldygwLCBVRENfU1lTQ09OMSk7CiAKIAlyZW1vdmVfcHJvY19maWxlKCk7CiAKQEAgLTMwMzYsNyArMzA2MCw3IEBACiAgKgogICogUkVWSVNJVCB3ZSBzaG91bGQgcHJvYmFibHkgcmVqZWN0IHN1c3BlbmQgcmVxdWVzdHMgd2hlbiB0aGVyZSdzIGEgaG9zdAogICogc2Vzc2lvbiBhY3RpdmUsIHJhdGhlciB0aGFuIGRpc2Nvbm5lY3RpbmcsIGF0IGxlYXN0IG9uIGJvYXJkcyB0aGF0IGNhbgotICogcmVwb3J0IFZCVVMgaXJxcyAoVURDX0RFVlNUQVRfUkVHLlVEQ19BVFQpLiAgQW5kIGluIGFueSBjYXNlLCB3ZSBuZWVkIHRvCisgKiByZXBvcnQgVkJVUyBpcnFzIChVRENfREVWU1RBVC5VRENfQVRUKS4gIEFuZCBpbiBhbnkgY2FzZSwgd2UgbmVlZCB0bwogICogbWFrZSBob3N0IHJlc3VtZXMgYW5kIFZCVVMgZGV0ZWN0aW9uIHRyaWdnZXIgT01BUCB3YWtldXAgZXZlbnRzOyB0aGF0CiAgKiBtYXkgaW52b2x2ZSB0YWxraW5nIHRvIGFuIGV4dGVybmFsIHRyYW5zY2VpdmVyIChlLmcuIGlzcDEzMDEpLgogICovCkBAIC0zMDQ1LDcgKzMwNjksNyBAQAogewogCXUzMglkZXZzdGF0OwogCi0JZGV2c3RhdCA9IFVEQ19ERVZTVEFUX1JFRzsKKwlkZXZzdGF0ID0gb21hcF9yZWFkdyhVRENfREVWU1RBVCk7CiAKIAkvKiB3ZSdyZSByZXF1ZXN0aW5nIDQ4IE1IeiBjbG9jayBpZiB0aGUgcHVsbHVwIGlzIGVuYWJsZWQKIAkgKiAoPT0gd2UncmUgYXR0YWNoZWQgdG8gdGhlIGhvc3QpIGFuZCB3ZSdyZSBub3Qgc3VzcGVuZGVkLApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmggYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaAppbmRleCBjNmI5Y2JjLi44NTIyYmJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaAorKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuaApAQCAtOCwyMyArOCwyMiBAQAogLyoKICAqIFVTQiBkZXZpY2UvZW5kcG9pbnQgbWFuYWdlbWVudCByZWdpc3RlcnMKICAqLwotI2RlZmluZSBVRENfUkVHKG9mZnNldCkgICAgICAgICAgICAgIF9fUkVHMTYoVURDX0JBU0UgKyAob2Zmc2V0KSkKIAotI2RlZmluZQlVRENfUkVWX1JFRwkJCVVEQ19SRUcoMHgwKQkvKiBSZXZpc2lvbiAqLwotI2RlZmluZQlVRENfRVBfTlVNX1JFRwkJCVVEQ19SRUcoMHg0KQkvKiBXaGljaCBlbmRwb2ludCAqLworI2RlZmluZQlVRENfUkVWCQkJCShVRENfQkFTRSArIDB4MCkJLyogUmV2aXNpb24gKi8KKyNkZWZpbmUJVURDX0VQX05VTQkJCShVRENfQkFTRSArIDB4NCkJLyogV2hpY2ggZW5kcG9pbnQgKi8KICMJZGVmaW5lCVVEQ19TRVRVUF9TRUwJCSgxIDw8IDYpCiAjCWRlZmluZQlVRENfRVBfU0VMCQkoMSA8PCA1KQogIwlkZWZpbmUJVURDX0VQX0RJUgkJKDEgPDwgNCkKIAkvKiBsb3cgNCBiaXRzIGZvciBlbmRwb2ludCBudW1iZXIgKi8KLSNkZWZpbmUJVURDX0RBVEFfUkVHCQkJVURDX1JFRygweDA4KQkvKiBFbmRwb2ludCBGSUZPICovCi0jZGVmaW5lCVVEQ19DVFJMX1JFRwkJCVVEQ19SRUcoMHgwQykJLyogRW5kcG9pbnQgY29udHJvbCAqLworI2RlZmluZQlVRENfREFUQQkJCShVRENfQkFTRSArIDB4MDgpCS8qIEVuZHBvaW50IEZJRk8gKi8KKyNkZWZpbmUJVURDX0NUUkwJCQkoVURDX0JBU0UgKyAweDBDKQkvKiBFbmRwb2ludCBjb250cm9sICovCiAjCWRlZmluZQlVRENfQ0xSX0hBTFQJCSgxIDw8IDcpCiAjCWRlZmluZQlVRENfU0VUX0hBTFQJCSgxIDw8IDYpCiAjCWRlZmluZQlVRENfQ0xSREFUQV9UT0dHTEUJKDEgPDwgMykKICMJZGVmaW5lCVVEQ19TRVRfRklGT19FTgkJKDEgPDwgMikKICMJZGVmaW5lCVVEQ19DTFJfRVAJCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfUkVTRVRfRVAJCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19TVEFUX0ZMR19SRUcJCVVEQ19SRUcoMHgxMCkJLyogRW5kcG9pbnQgc3RhdHVzICovCisjZGVmaW5lCVVEQ19TVEFUX0ZMRwkJCShVRENfQkFTRSArIDB4MTApCS8qIEVuZHBvaW50IHN0YXR1cyAqLwogIwlkZWZpbmUJVURDX05PX1JYUEFDS0VUCQkoMSA8PCAxNSkKICMJZGVmaW5lCVVEQ19NSVNTX0lOCQkoMSA8PCAxNCkKICMJZGVmaW5lCVVEQ19EQVRBX0ZMVVNICQkoMSA8PCAxMykKQEAgLTM4LDggKzM3LDggQEAKICMJZGVmaW5lCVVEQ19GSUZPX0VOCQkoMSA8PCAyKQogIwlkZWZpbmUJVURDX05PTl9JU09fRklGT19FTVBUWQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX05PTl9JU09fRklGT19GVUxMCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19SWEZTVEFUX1JFRwkJCVVEQ19SRUcoMHgxNCkJLyogT1VUIGJ5dGVjb3VudCAqLwotI2RlZmluZQlVRENfU1lTQ09OMV9SRUcJCQlVRENfUkVHKDB4MTgpCS8qIFN5c3RlbSBjb25maWcgMSAqLworI2RlZmluZQlVRENfUlhGU1RBVAkJCShVRENfQkFTRSArIDB4MTQpCS8qIE9VVCBieXRlY291bnQgKi8KKyNkZWZpbmUJVURDX1NZU0NPTjEJCQkoVURDX0JBU0UgKyAweDE4KQkvKiBTeXN0ZW0gY29uZmlnIDEgKi8KICMJZGVmaW5lCVVEQ19DRkdfTE9DSwkJKDEgPDwgOCkKICMJZGVmaW5lCVVEQ19EQVRBX0VORElBTgkJKDEgPDwgNykKICMJZGVmaW5lCVVEQ19ETUFfRU5ESUFOCQkoMSA8PCA2KQpAQCAtNDgsMTIgKzQ3LDEyIEBACiAjCWRlZmluZQlVRENfU0VMRl9QV1IJCSgxIDw8IDIpCiAjCWRlZmluZQlVRENfU09GRl9ESVMJCSgxIDw8IDEpCiAjCWRlZmluZQlVRENfUFVMTFVQX0VOCQkoMSA8PCAwKQotI2RlZmluZQlVRENfU1lTQ09OMl9SRUcJCQlVRENfUkVHKDB4MUMpCS8qIFN5c3RlbSBjb25maWcgMiAqLworI2RlZmluZQlVRENfU1lTQ09OMgkJCShVRENfQkFTRSArIDB4MUMpCS8qIFN5c3RlbSBjb25maWcgMiAqLwogIwlkZWZpbmUJVURDX1JNVF9XS1AJCSgxIDw8IDYpCiAjCWRlZmluZQlVRENfU1RBTExfQ01ECQkoMSA8PCA1KQogIwlkZWZpbmUJVURDX0RFVl9DRkcJCSgxIDw8IDMpCiAjCWRlZmluZQlVRENfQ0xSX0NGRwkJKDEgPDwgMikKLSNkZWZpbmUJVURDX0RFVlNUQVRfUkVHCQkJVURDX1JFRygweDIwKQkvKiBEZXZpY2Ugc3RhdHVzICovCisjZGVmaW5lCVVEQ19ERVZTVEFUCQkJKFVEQ19CQVNFICsgMHgyMCkJLyogRGV2aWNlIHN0YXR1cyAqLwogIwlkZWZpbmUJVURDX0JfSE5QX0VOQUJMRQkoMSA8PCA5KQogIwlkZWZpbmUJVURDX0FfSE5QX1NVUFBPUlQJKDEgPDwgOCkKICMJZGVmaW5lCVVEQ19BX0FMVF9ITlBfU1VQUE9SVAkoMSA8PCA3KQpAQCAtNjQsMjYgKzYzLDI2IEBACiAjCWRlZmluZQlVRENfQURECQkJKDEgPDwgMikKICMJZGVmaW5lCVVEQ19ERUYJCQkoMSA8PCAxKQogIwlkZWZpbmUJVURDX0FUVAkJCSgxIDw8IDApCi0jZGVmaW5lCVVEQ19TT0ZfUkVHCQkJVURDX1JFRygweDI0KQkvKiBTdGFydCBvZiBmcmFtZSAqLworI2RlZmluZQlVRENfU09GCQkJCShVRENfQkFTRSArIDB4MjQpCS8qIFN0YXJ0IG9mIGZyYW1lICovCiAjCWRlZmluZQlVRENfRlRfTE9DSwkJKDEgPDwgMTIpCiAjCWRlZmluZQlVRENfVFNfT0sJCSgxIDw8IDExKQogIwlkZWZpbmUJVURDX1RTCQkJMHgwM2ZmCi0jZGVmaW5lCVVEQ19JUlFfRU5fUkVHCQkJVURDX1JFRygweDI4KQkvKiBJbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lCVVEQ19JUlFfRU4JCQkoVURDX0JBU0UgKyAweDI4KQkvKiBJbnRlcnJ1cHQgZW5hYmxlICovCiAjCWRlZmluZQlVRENfU09GX0lFCQkoMSA8PCA3KQogIwlkZWZpbmUJVURDX0VQTl9SWF9JRQkJKDEgPDwgNSkKICMJZGVmaW5lCVVEQ19FUE5fVFhfSUUJCSgxIDw8IDQpCiAjCWRlZmluZQlVRENfRFNfQ0hHX0lFCQkoMSA8PCAzKQogIwlkZWZpbmUJVURDX0VQMF9JRQkJKDEgPDwgMCkKLSNkZWZpbmUJVURDX0RNQV9JUlFfRU5fUkVHCQlVRENfUkVHKDB4MkMpCS8qIERNQSBpcnEgZW5hYmxlICovCisjZGVmaW5lCVVEQ19ETUFfSVJRX0VOCQkJKFVEQ19CQVNFICsgMHgyQykJLyogRE1BIGlycSBlbmFibGUgKi8KIAkvKiByeC90eCBkbWEgY2hhbm5lbHMgbnVtYmVyZWQgMS0zIG5vdCAwLTIgKi8KICMJZGVmaW5lCVVEQ19UWF9ET05FX0lFKG4pCSgxIDw8ICg0ICogKG4pIC0gMikpCiAjCWRlZmluZQlVRENfUlhfQ05UX0lFKG4pCSgxIDw8ICg0ICogKG4pIC0gMykpCiAjCWRlZmluZQlVRENfUlhfRU9UX0lFKG4pCSgxIDw8ICg0ICogKG4pIC0gNCkpCi0jZGVmaW5lCVVEQ19JUlFfU1JDX1JFRwkJCVVEQ19SRUcoMHgzMCkJLyogSW50ZXJydXB0IHNvdXJjZSAqLworI2RlZmluZQlVRENfSVJRX1NSQwkJCShVRENfQkFTRSArIDB4MzApCS8qIEludGVycnVwdCBzb3VyY2UgKi8KICMJZGVmaW5lCVVEQ19UWE5fRE9ORQkJKDEgPDwgMTApCiAjCWRlZmluZQlVRENfUlhOX0NOVAkJKDEgPDwgOSkKICMJZGVmaW5lCVVEQ19SWE5fRU9UCQkoMSA8PCA4KQotIwlkZWZpbmUJVURDX1NPRgkJCSgxIDw8IDcpCisjCWRlZmluZQlVRENfSVJRX1NPRgkJKDEgPDwgNykKICMJZGVmaW5lCVVEQ19FUE5fUlgJCSgxIDw8IDUpCiAjCWRlZmluZQlVRENfRVBOX1RYCQkoMSA8PCA0KQogIwlkZWZpbmUJVURDX0RTX0NIRwkJKDEgPDwgMykKQEAgLTkxLDQxICs5MCw0MSBAQAogIwlkZWZpbmUJVURDX0VQMF9SWAkJKDEgPDwgMSkKICMJZGVmaW5lCVVEQ19FUDBfVFgJCSgxIDw8IDApCiAjCWRlZmluZQlVRENfSVJRX1NSQ19NQVNLCTB4N2JmCi0jZGVmaW5lCVVEQ19FUE5fU1RBVF9SRUcJCVVEQ19SRUcoMHgzNCkJLyogRVAgaXJxIHN0YXR1cyAqLwotI2RlZmluZQlVRENfRE1BTl9TVEFUX1JFRwkJVURDX1JFRygweDM4KQkvKiBETUEgaXJxIHN0YXR1cyAqLworI2RlZmluZQlVRENfRVBOX1NUQVQJCQkoVURDX0JBU0UgKyAweDM0KQkvKiBFUCBpcnEgc3RhdHVzICovCisjZGVmaW5lCVVEQ19ETUFOX1NUQVQJCQkoVURDX0JBU0UgKyAweDM4KQkvKiBETUEgaXJxIHN0YXR1cyAqLwogIwlkZWZpbmUJVURDX0RNQV9SWF9TQgkJKDEgPDwgMTIpCiAjCWRlZmluZQlVRENfRE1BX1JYX1NSQyh4KQkoKCh4KT4+OCkgJiAweGYpCiAjCWRlZmluZQlVRENfRE1BX1RYX1NSQyh4KQkoKCh4KT4+MCkgJiAweGYpCiAKIAogLyogRE1BIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzOiAgdXAgdG8gdGhyZWUgY2hhbm5lbHMgaW4gZWFjaCBkaXJlY3Rpb24uICAqLwotI2RlZmluZQlVRENfUlhETUFfQ0ZHX1JFRwkJVURDX1JFRygweDQwKQkvKiAzIGVwcyBmb3IgUlggRE1BICovCisjZGVmaW5lCVVEQ19SWERNQV9DRkcJCQkoVURDX0JBU0UgKyAweDQwKQkvKiAzIGVwcyBmb3IgUlggRE1BICovCiAjCWRlZmluZQlVRENfRE1BX1JFUQkJKDEgPDwgMTIpCi0jZGVmaW5lCVVEQ19UWERNQV9DRkdfUkVHCQlVRENfUkVHKDB4NDQpCS8qIDMgZXBzIGZvciBUWCBETUEgKi8KLSNkZWZpbmUJVURDX0RBVEFfRE1BX1JFRwkJVURDX1JFRygweDQ4KQkvKiByeC90eCBmaWZvIGFkZHIgKi8KKyNkZWZpbmUJVURDX1RYRE1BX0NGRwkJCShVRENfQkFTRSArIDB4NDQpCS8qIDMgZXBzIGZvciBUWCBETUEgKi8KKyNkZWZpbmUJVURDX0RBVEFfRE1BCQkJKFVEQ19CQVNFICsgMHg0OCkJLyogcngvdHggZmlmbyBhZGRyICovCiAKIC8qIHJ4L3R4IGRtYSBjb250cm9sLCBudW1iZXJpbmcgY2hhbm5lbHMgMS0zIG5vdCAwLTIgKi8KLSNkZWZpbmUJVURDX1RYRE1BX1JFRyhjaGFuKQkJVURDX1JFRygweDUwIC0gNCArIDQgKiAoY2hhbikpCisjZGVmaW5lCVVEQ19UWERNQShjaGFuKQkJCShVRENfQkFTRSArIDB4NTAgLSA0ICsgNCAqIChjaGFuKSkKICMJZGVmaW5lIFVEQ19UWE5fRU9UCQkoMSA8PCAxNSkJLyogYnl0ZXMgdnMgcGFja2V0cyAqLwogIwlkZWZpbmUgVURDX1RYTl9TVEFSVAkJKDEgPDwgMTQpCS8qIHN0YXJ0IHRyYW5zZmVyICovCiAjCWRlZmluZSBVRENfVFhOX1RTQwkJMHgwM2ZmCQkvKiB1bml0cyBpbiB4ZmVyICovCi0jZGVmaW5lCVVEQ19SWERNQV9SRUcoY2hhbikJCVVEQ19SRUcoMHg2MCAtIDQgKyA0ICogKGNoYW4pKQorI2RlZmluZQlVRENfUlhETUEoY2hhbikJCQkoVURDX0JBU0UgKyAweDYwIC0gNCArIDQgKiAoY2hhbikpCiAjCWRlZmluZSBVRENfUlhOX1NUT1AJCSgxIDw8IDE1KQkvKiBlbmFibGUgRU9UIGlycSAqLwogIwlkZWZpbmUgVURDX1JYTl9UQwkJMHgwMGZmCQkvKiBwYWNrZXRzIGluIHhmZXIgKi8KIAogCiAvKgogICogRW5kcG9pbnQgY29uZmlndXJhdGlvbiByZWdpc3RlcnMgKHVzZWQgYmVmb3JlIENGR19MT0NLIGlzIHNldCkKLSAqIFVEQ19FUF9UWF9SRUcoMCkgaXMgdW51c2VkCisgKiBVRENfRVBfVFgoMCkgaXMgdW51c2VkCiAgKi8KLSNkZWZpbmUJVURDX0VQX1JYX1JFRyhlbmRwb2ludCkJCVVEQ19SRUcoMHg4MCArIChlbmRwb2ludCkqNCkKKyNkZWZpbmUJVURDX0VQX1JYKGVuZHBvaW50KQkJKFVEQ19CQVNFICsgMHg4MCArIChlbmRwb2ludCkqNCkKICMJZGVmaW5lCVVEQ19FUE5fUlhfVkFMSUQJKDEgPDwgMTUpCiAjCWRlZmluZQlVRENfRVBOX1JYX0RCCQkoMSA8PCAxNCkKIAkvKiBidWZmZXIgc2l6ZSBpbiBiaXRzIDEzLCAxMiAqLwogIwlkZWZpbmUJVURDX0VQTl9SWF9JU08JCSgxIDw8IDExKQogCS8qIGJ1ZmZlciBwb2ludGVyIGluIGxvdyAxMSBiaXRzICovCi0jZGVmaW5lCVVEQ19FUF9UWF9SRUcoZW5kcG9pbnQpCQlVRENfUkVHKDB4YzAgKyAoZW5kcG9pbnQpKjQpCi0JLyogc2FtZSBiaXRmaWVsZHMgYXMgaW4gUlhfUkVHICovCisjZGVmaW5lCVVEQ19FUF9UWChlbmRwb2ludCkJCShVRENfQkFTRSArIDB4YzAgKyAoZW5kcG9pbnQpKjQpCisJLyogc2FtZSBiaXRmaWVsZHMgYXMgaW4gUlggKi8KIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApAQCAtMTk1LDE0ICsxOTQsMTQgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotI2RlZmluZQlNT0RfQ09ORl9DVFJMXzBfUkVHCV9fUkVHMzIoTU9EX0NPTkZfQ1RSTF8wKQotI2RlZmluZQlWQlVTX1cyRkNfMTUxMAkJKDEgPDwgMTcpCS8qIDAgZ3BpbzAsIDEgZHZkZDIgcGluICovCisvKiBNT0RfQ09ORl9DVFJMXzAgKi8KKyNkZWZpbmUgVkJVU19XMkZDXzE1MTAJCSgxIDw8IDE3KQkvKiAwIGdwaW8wLCAxIGR2ZGQyIHBpbiAqLwogCi0jZGVmaW5lCUZVTkNfTVVYX0NUUkxfMF9SRUcJX19SRUczMihGVU5DX01VWF9DVFJMXzApCisvKiBGVU5DX01VWF9DVFJMXzAgKi8KICNkZWZpbmUJVkJVU19DVFJMXzE1MTAJCSgxIDw8IDE5KQkvKiAxIGNvbm5lY3RlZCAoc29mdHdhcmUpICovCiAjZGVmaW5lCVZCVVNfTU9ERV8xNTEwCQkoMSA8PCAxOCkJLyogMCBoYXJkd2FyZSwgMSBzb2Z0d2FyZSAqLwogCi0jZGVmaW5lCUhNQ18xNTEwCSgoTU9EX0NPTkZfQ1RSTF8wX1JFRyA+PiAxKSAmIDB4M2YpCi0jZGVmaW5lCUhNQ18xNjEwCShPVEdfU1lTQ09OXzJfUkVHICYgMHgzZikKKyNkZWZpbmUJSE1DXzE1MTAJKChvbWFwX3JlYWRsKE1PRF9DT05GX0NUUkxfMCkgPj4gMSkgJiAweDNmKQorI2RlZmluZQlITUNfMTYxMAkob21hcF9yZWFkbChPVEdfU1lTQ09OXzIpICYgMHgzZikKICNkZWZpbmUJSE1DCQkoY3B1X2lzX29tYXAxNXh4KCkgPyBITUNfMTUxMCA6IEhNQ18xNjEwKQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHJpbnRlci5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3ByaW50ZXIuYwppbmRleCA3NmJlNzVlLi5lYzhmMmViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHJpbnRlci5jCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9wcmludGVyLmMKQEAgLTQ2Miw2ICs0NjIsNyBAQAogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCWludAkJCXJldCA9IC1FQlVTWTsKIAorCWxvY2tfa2VybmVsKCk7CiAJZGV2ID0gY29udGFpbmVyX29mKGlub2RlLT5pX2NkZXYsIHN0cnVjdCBwcmludGVyX2RldiwgcHJpbnRlcl9jZGV2KTsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmxvY2ssIGZsYWdzKTsKQEAgLTQ3Nyw3ICs0NzgsNyBAQAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+bG9jaywgZmxhZ3MpOwogCiAJREJHKGRldiwgInByaW50ZXJfb3BlbiByZXR1cm5lZCAleFxuIiwgcmV0KTsKLQorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuYwpzaW1pbGFyaXR5IGluZGV4IDg5JQpyZW5hbWUgZnJvbSBkcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jCnJlbmFtZSB0byBkcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjV4X3VkYy5jCmluZGV4IDA4ZjY5OWIuLjAzMWRjZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyeHhfdWRjLmMKKysrIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuYwpAQCAtMSw1ICsxLDQgQEAKIC8qCi0gKiBsaW51eC9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5jCiAgKiBJbnRlbCBQWEEyNXggYW5kIElYUDR4eCBvbi1jaGlwIGZ1bGwgc3BlZWQgVVNCIGRldmljZSBjb250cm9sbGVycwogICoKICAqIENvcHlyaWdodCAoQykgMjAwMiBJbnRyaW5zeWMsIEluYy4gKEZyYW5rIEJlY2tlcikKQEAgLTQ2LDE5ICs0NSwyNSBAQAogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAKICNpbmNsdWRlIDxhc20vYnl0ZW9yZGVyLmg+CiAjaW5jbHVkZSA8YXNtL2RtYS5oPgogI2luY2x1ZGUgPGFzbS9ncGlvLmg+Ci0jaW5jbHVkZSA8YXNtL2lvLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3RlbS5oPgogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgotI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogCiAjaW5jbHVkZSA8bGludXgvdXNiL2NoOS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9nYWRnZXQuaD4KIAorLyoKKyAqIFRoaXMgZHJpdmVyIGlzIFBYQTI1eCBvbmx5LiAgR3JhYiB0aGUgcmlnaHQgcmVnaXN0ZXIgZGVmaW5pdGlvbnMuCisgKi8KKyNpZmRlZiBDT05GSUdfQVJDSF9QWEEKKyNpbmNsdWRlIDxhc20vYXJjaC9weGEyNXgtdWRjLmg+CisjZW5kaWYKKwogI2luY2x1ZGUgPGFzbS9tYWNoL3VkY19weGEyeHguaD4KIAogCkBAIC05MSw3ICs5Niw3IEBACiAjZGVmaW5lCURSSVZFUl9ERVNDCSJQWEEgMjV4IFVTQiBEZXZpY2UgQ29udHJvbGxlciBkcml2ZXIiCiAKIAotc3RhdGljIGNvbnN0IGNoYXIgZHJpdmVyX25hbWUgW10gPSAicHhhMnh4X3VkYyI7CitzdGF0aWMgY29uc3QgY2hhciBkcml2ZXJfbmFtZSBbXSA9ICJweGEyNXhfdWRjIjsKIAogc3RhdGljIGNvbnN0IGNoYXIgZXAwbmFtZSBbXSA9ICJlcDAiOwogCkBAIC0xMTEsMTAgKzExNiwxMCBAQAogCiAjZW5kaWYKIAotI2luY2x1ZGUgInB4YTJ4eF91ZGMuaCIKKyNpbmNsdWRlICJweGEyNXhfdWRjLmgiCiAKIAotI2lmZGVmCUNPTkZJR19VU0JfUFhBMlhYX1NNQUxMCisjaWZkZWYJQ09ORklHX1VTQl9QWEEyNVhfU01BTEwKICNkZWZpbmUgU0laRV9TVFIJIiAoc21hbGwpIgogI2Vsc2UKICNkZWZpbmUgU0laRV9TVFIJIiIKQEAgLTEyNiw4ICsxMzEsOCBAQAogICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIAotc3RhdGljIHZvaWQgcHhhMnh4X2VwX2ZpZm9fZmx1c2ggKHN0cnVjdCB1c2JfZXAgKmVwKTsKLXN0YXRpYyB2b2lkIG51a2UgKHN0cnVjdCBweGEyeHhfZXAgKiwgaW50IHN0YXR1cyk7CitzdGF0aWMgdm9pZCBweGEyNXhfZXBfZmlmb19mbHVzaCAoc3RydWN0IHVzYl9lcCAqZXApOworc3RhdGljIHZvaWQgbnVrZSAoc3RydWN0IHB4YTI1eF9lcCAqLCBpbnQgc3RhdHVzKTsKIAogLyogb25lIEdQSU8gc2hvdWxkIGJlIHVzZWQgdG8gZGV0ZWN0IFZCVVMgZnJvbSB0aGUgaG9zdCAqLwogc3RhdGljIGludCBpc192YnVzX3ByZXNlbnQodm9pZCkKQEAgLTIxMiwyNCArMjE3LDI0IEBACiAvKgogICogZW5kcG9pbnQgZW5hYmxlL2Rpc2FibGUKICAqCi0gKiB3ZSBuZWVkIHRvIHZlcmlmeSB0aGUgZGVzY3JpcHRvcnMgdXNlZCB0byBlbmFibGUgZW5kcG9pbnRzLiAgc2luY2UgcHhhMnh4CisgKiB3ZSBuZWVkIHRvIHZlcmlmeSB0aGUgZGVzY3JpcHRvcnMgdXNlZCB0byBlbmFibGUgZW5kcG9pbnRzLiAgc2luY2UgcHhhMjV4CiAgKiBlbmRwb2ludCBjb25maWd1cmF0aW9ucyBhcmUgZml4ZWQsIGFuZCBhcmUgcHJldHR5IG11Y2ggYWx3YXlzIGVuYWJsZWQsCiAgKiB0aGVyZSdzIG5vdCBhIGxvdCB0byBtYW5hZ2UgaGVyZS4KICAqCi0gKiBiZWNhdXNlIHB4YTJ4eCBjYW4ndCBzZWxlY3RpdmVseSBpbml0aWFsaXplIGJ1bGsgKG9yIGludGVycnVwdCkgZW5kcG9pbnRzLAorICogYmVjYXVzZSBweGEyNXggY2FuJ3Qgc2VsZWN0aXZlbHkgaW5pdGlhbGl6ZSBidWxrIChvciBpbnRlcnJ1cHQpIGVuZHBvaW50cywKICAqIChyZXNldHRpbmcgZW5kcG9pbnQgaGFsdCBhbmQgdG9nZ2xlKSwgU0VUX0lOVEVSRkFDRSBpcyB1bnVzYWJsZSBleGNlcHQKICAqIGZvciBhIHNpbmdsZSBpbnRlcmZhY2UgKHdpdGggb25seSB0aGUgZGVmYXVsdCBhbHRzZXR0aW5nKSBhbmQgZm9yIGdhZGdldAogICogZHJpdmVycyB0aGF0IGRvbid0IGhhbHQgZW5kcG9pbnRzIChub3QgcmVzZXQgYnkgc2V0X2ludGVyZmFjZSkuICB0aGF0IGFsc28KICAqIG1lYW5zIHRoYXQgaWYgeW91IHVzZSBJU08sIHlvdSBtdXN0IHZpb2xhdGUgdGhlIFVTQiBzcGVjIHJ1bGUgdGhhdCBhbGwKICAqIGlzbyBlbmRwb2ludHMgbXVzdCBiZSBpbiBub24tZGVmYXVsdCBhbHRzZXR0aW5ncy4KICAqLwotc3RhdGljIGludCBweGEyeHhfZXBfZW5hYmxlIChzdHJ1Y3QgdXNiX2VwICpfZXAsCitzdGF0aWMgaW50IHB4YTI1eF9lcF9lbmFibGUgKHN0cnVjdCB1c2JfZXAgKl9lcCwKIAkJY29uc3Qgc3RydWN0IHVzYl9lbmRwb2ludF9kZXNjcmlwdG9yICpkZXNjKQogewotCXN0cnVjdCBweGEyeHhfZXAgICAgICAgICplcDsKLQlzdHJ1Y3QgcHhhMnh4X3VkYyAgICAgICAqZGV2OworCXN0cnVjdCBweGEyNXhfZXAgICAgICAgICplcDsKKwlzdHJ1Y3QgcHhhMjV4X3VkYyAgICAgICAqZGV2OwogCi0JZXAgPSBjb250YWluZXJfb2YgKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mIChfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCAhZGVzYyB8fCBlcC0+ZGVzYyB8fCBfZXAtPm5hbWUgPT0gZXAwbmFtZQogCQkJfHwgZGVzYy0+YkRlc2NyaXB0b3JUeXBlICE9IFVTQl9EVF9FTkRQT0lOVAogCQkJfHwgZXAtPmJFbmRwb2ludEFkZHJlc3MgIT0gZGVzYy0+YkVuZHBvaW50QWRkcmVzcwpAQCAtMjY4LDcgKzI3Myw3IEBACiAJZXAtPmVwLm1heHBhY2tldCA9IGxlMTZfdG9fY3B1IChkZXNjLT53TWF4UGFja2V0U2l6ZSk7CiAKIAkvKiBmbHVzaCBmaWZvIChtb3N0bHkgZm9yIE9VVCBidWZmZXJzKSAqLwotCXB4YTJ4eF9lcF9maWZvX2ZsdXNoIChfZXApOworCXB4YTI1eF9lcF9maWZvX2ZsdXNoIChfZXApOwogCiAJLyogLi4uIHJlc2V0IGhhbHQgc3RhdGUgdG9vLCBpZiB3ZSBjb3VsZCAuLi4gKi8KIApAQCAtMjc2LDEyICsyODEsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfZXBfZGlzYWJsZSAoc3RydWN0IHVzYl9lcCAqX2VwKQorc3RhdGljIGludCBweGEyNXhfZXBfZGlzYWJsZSAoc3RydWN0IHVzYl9lcCAqX2VwKQogewotCXN0cnVjdCBweGEyeHhfZXAJKmVwOworCXN0cnVjdCBweGEyNXhfZXAJKmVwOwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCi0JZXAgPSBjb250YWluZXJfb2YgKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mIChfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCAhZXAtPmRlc2MpIHsKIAkJRE1TRygiJXMsICVzIG5vdCBlbmFibGVkXG4iLCBfX2Z1bmNfXywKIAkJCV9lcCA/IGVwLT5lcC5uYW1lIDogTlVMTCk7CkBAIC0yOTIsNyArMjk3LDcgQEAKIAludWtlIChlcCwgLUVTSFVURE9XTik7CiAKIAkvKiBmbHVzaCBmaWZvIChtb3N0bHkgZm9yIElOIGJ1ZmZlcnMpICovCi0JcHhhMnh4X2VwX2ZpZm9fZmx1c2ggKF9lcCk7CisJcHhhMjV4X2VwX2ZpZm9fZmx1c2ggKF9lcCk7CiAKIAllcC0+ZGVzYyA9IE5VTEw7CiAJZXAtPnN0b3BwZWQgPSAxOwpAQCAtMzA0LDE4ICszMDksMTggQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotLyogZm9yIHRoZSBweGEyeHgsIHRoZXNlIGNhbiBqdXN0IHdyYXAga21hbGxvYy9rZnJlZS4gIGdhZGdldCBkcml2ZXJzCisvKiBmb3IgdGhlIHB4YTI1eCwgdGhlc2UgY2FuIGp1c3Qgd3JhcCBrbWFsbG9jL2tmcmVlLiAgZ2FkZ2V0IGRyaXZlcnMKICAqIG11c3Qgc3RpbGwgcGFzcyBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQgZW5kcG9pbnRzLCBzaW5jZSBvdGhlciBjb250cm9sbGVyCiAgKiBkcml2ZXJzIG1heSBjYXJlIGFib3V0IGhvdyBpdCdzIGN1cnJlbnRseSBzZXQgdXAgKGRtYSBpc3N1ZXMgZXRjKS4KICAqLwogCiAvKgotICoJcHhhMnh4X2VwX2FsbG9jX3JlcXVlc3QgLSBhbGxvY2F0ZSBhIHJlcXVlc3QgZGF0YSBzdHJ1Y3R1cmUKKyAqCXB4YTI1eF9lcF9hbGxvY19yZXF1ZXN0IC0gYWxsb2NhdGUgYSByZXF1ZXN0IGRhdGEgc3RydWN0dXJlCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgdXNiX3JlcXVlc3QgKgotcHhhMnh4X2VwX2FsbG9jX3JlcXVlc3QgKHN0cnVjdCB1c2JfZXAgKl9lcCwgZ2ZwX3QgZ2ZwX2ZsYWdzKQorcHhhMjV4X2VwX2FsbG9jX3JlcXVlc3QgKHN0cnVjdCB1c2JfZXAgKl9lcCwgZ2ZwX3QgZ2ZwX2ZsYWdzKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxOwogCiAJcmVxID0ga3phbGxvYyhzaXplb2YoKnJlcSksIGdmcF9mbGFncyk7CiAJaWYgKCFyZXEpCkBAIC0zMjcsMTQgKzMzMiwxNCBAQAogCiAKIC8qCi0gKglweGEyeHhfZXBfZnJlZV9yZXF1ZXN0IC0gZGVhbGxvY2F0ZSBhIHJlcXVlc3QgZGF0YSBzdHJ1Y3R1cmUKKyAqCXB4YTI1eF9lcF9mcmVlX3JlcXVlc3QgLSBkZWFsbG9jYXRlIGEgcmVxdWVzdCBkYXRhIHN0cnVjdHVyZQogICovCiBzdGF0aWMgdm9pZAotcHhhMnh4X2VwX2ZyZWVfcmVxdWVzdCAoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEpCitweGEyNXhfZXBfZnJlZV9yZXF1ZXN0IChzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwlzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QJKnJlcTsKIAotCXJlcSA9IGNvbnRhaW5lcl9vZiAoX3JlcSwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCByZXEpOworCXJlcSA9IGNvbnRhaW5lcl9vZiAoX3JlcSwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0LCByZXEpOwogCVdBUk5fT04gKCFsaXN0X2VtcHR5ICgmcmVxLT5xdWV1ZSkpOwogCWtmcmVlKHJlcSk7CiB9CkBAIC0zNDQsNyArMzQ5LDcgQEAKIC8qCiAgKglkb25lIC0gcmV0aXJlIGEgcmVxdWVzdDsgY2FsbGVyIGJsb2NrZWQgaXJxcwogICovCi1zdGF0aWMgdm9pZCBkb25lKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSwgaW50IHN0YXR1cykKK3N0YXRpYyB2b2lkIGRvbmUoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxLCBpbnQgc3RhdHVzKQogewogCXVuc2lnbmVkCQlzdG9wcGVkID0gZXAtPnN0b3BwZWQ7CiAKQEAgLTM2NywxMyArMzcyLDEzIEBACiB9CiAKIAotc3RhdGljIGlubGluZSB2b2lkIGVwMF9pZGxlIChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIGlubGluZSB2b2lkIGVwMF9pZGxlIChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCWRldi0+ZXAwc3RhdGUgPSBFUDBfSURMRTsKIH0KIAogc3RhdGljIGludAotd3JpdGVfcGFja2V0KHZvbGF0aWxlIHUzMiAqdWRkciwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEsIHVuc2lnbmVkIG1heCkKK3dyaXRlX3BhY2tldCh2b2xhdGlsZSB1MzIgKnVkZHIsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxLCB1bnNpZ25lZCBtYXgpCiB7CiAJdTgJCSpidWY7CiAJdW5zaWduZWQJbGVuZ3RoLCBjb3VudDsKQEAgLTM5OCw3ICs0MDMsNyBAQAogICogY2FsbGVyIGd1YXJhbnRlZXMgYXQgbGVhc3Qgb25lIHBhY2tldCBidWZmZXIgaXMgcmVhZHkgKG9yIGEgemxwKS4KICAqLwogc3RhdGljIGludAotd3JpdGVfZmlmbyAoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxKQord3JpdGVfZmlmbyAoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxKQogewogCXVuc2lnbmVkCQltYXg7CiAKQEAgLTQ1NSw3ICs0NjAsNyBAQAogICogZXAwIGRhdGEgc3RhZ2UuICB0aGVzZSBjaGlwcyB3YW50IHZlcnkgc2ltcGxlIHN0YXRlIHRyYW5zaXRpb25zLgogICovCiBzdGF0aWMgaW5saW5lCi12b2lkIGVwMHN0YXJ0KHN0cnVjdCBweGEyeHhfdWRjICpkZXYsIHUzMiBmbGFncywgY29uc3QgY2hhciAqdGFnKQordm9pZCBlcDBzdGFydChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2LCB1MzIgZmxhZ3MsIGNvbnN0IGNoYXIgKnRhZykKIHsKIAlVRENDUzAgPSBmbGFnc3xVRENDUzBfU0F8VURDQ1MwX09QUjsKIAlVU0lSMCA9IFVTSVIwX0lSMDsKQEAgLTQ2NSw3ICs0NzAsNyBAQAogfQogCiBzdGF0aWMgaW50Ci13cml0ZV9lcDBfZmlmbyAoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIHN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxKQord3JpdGVfZXAwX2ZpZm8gKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QgKnJlcSkKIHsKIAl1bnNpZ25lZAljb3VudDsKIAlpbnQJCWlzX3Nob3J0OwpAQCAtNTI1LDcgKzUzMCw3IEBACiAgKiByZXF1ZXN0IGJ1ZmZlciBoYXZpbmcgZmlsbGVkIChhbmQgbWF5YmUgb3ZlcnJhbiB0aWxsIGVuZC1vZi1wYWNrZXQpLgogICovCiBzdGF0aWMgaW50Ci1yZWFkX2ZpZm8gKHN0cnVjdCBweGEyeHhfZXAgKmVwLCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QgKnJlcSkKK3JlYWRfZmlmbyAoc3RydWN0IHB4YTI1eF9lcCAqZXAsIHN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxKQogewogCWZvciAoOzspIHsKIAkJdTMyCQl1ZGNjczsKQEAgLTYwMiw3ICs2MDcsNyBAQAogICogcHJvdG9jb2xzIGRvIHVzZSB0aGVtLgogICovCiBzdGF0aWMgaW50Ci1yZWFkX2VwMF9maWZvIChzdHJ1Y3QgcHhhMnh4X2VwICplcCwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0ICpyZXEpCityZWFkX2VwMF9maWZvIChzdHJ1Y3QgcHhhMjV4X2VwICplcCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0ICpyZXEpCiB7CiAJdTgJCSpidWYsIGJ5dGU7CiAJdW5zaWduZWQJYnVmZmVyc3BhY2U7CkBAIC02NDEsMjEgKzY0NiwyMSBAQAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAogc3RhdGljIGludAotcHhhMnh4X2VwX3F1ZXVlKHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpfcmVxLCBnZnBfdCBnZnBfZmxhZ3MpCitweGEyNXhfZXBfcXVldWUoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEsIGdmcF90IGdmcF9mbGFncykKIHsKLQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcDsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2OworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfZXAJKmVwOworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXY7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAKLQlyZXEgPSBjb250YWluZXJfb2YoX3JlcSwgc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCByZXEpOworCXJlcSA9IGNvbnRhaW5lcl9vZihfcmVxLCBzdHJ1Y3QgcHhhMjV4X3JlcXVlc3QsIHJlcSk7CiAJaWYgKHVubGlrZWx5ICghX3JlcSB8fCAhX3JlcS0+Y29tcGxldGUgfHwgIV9yZXEtPmJ1ZgogCQkJfHwgIWxpc3RfZW1wdHkoJnJlcS0+cXVldWUpKSkgewogCQlETVNHKCIlcywgYmFkIHBhcmFtc1xuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAodW5saWtlbHkgKCFfZXAgfHwgKCFlcC0+ZGVzYyAmJiBlcC0+ZXAubmFtZSAhPSBlcDBuYW1lKSkpIHsKIAkJRE1TRygiJXMsIGJhZCBlcFxuIiwgX19mdW5jX18pOwogCQlyZXR1cm4gLUVJTlZBTDsKQEAgLTc1MSwxNCArNzU2LDE0IEBACiAvKgogICoJbnVrZSAtIGRlcXVldWUgQUxMIHJlcXVlc3RzCiAgKi8KLXN0YXRpYyB2b2lkIG51a2Uoc3RydWN0IHB4YTJ4eF9lcCAqZXAsIGludCBzdGF0dXMpCitzdGF0aWMgdm9pZCBudWtlKHN0cnVjdCBweGEyNXhfZXAgKmVwLCBpbnQgc3RhdHVzKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdCAqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdCAqcmVxOwogCiAJLyogY2FsbGVkIHdpdGggaXJxcyBibG9ja2VkICovCiAJd2hpbGUgKCFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCXJlcSA9IGxpc3RfZW50cnkoZXAtPnF1ZXVlLm5leHQsCi0JCQkJc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LAorCQkJCXN0cnVjdCBweGEyNXhfcmVxdWVzdCwKIAkJCQlxdWV1ZSk7CiAJCWRvbmUoZXAsIHJlcSwgc3RhdHVzKTsKIAl9CkBAIC03NjgsMTMgKzc3MywxMyBAQAogCiAKIC8qIGRlcXVldWUgSlVTVCBPTkUgcmVxdWVzdCAqLwotc3RhdGljIGludCBweGEyeHhfZXBfZGVxdWV1ZShzdHJ1Y3QgdXNiX2VwICpfZXAsIHN0cnVjdCB1c2JfcmVxdWVzdCAqX3JlcSkKK3N0YXRpYyBpbnQgcHhhMjV4X2VwX2RlcXVldWUoc3RydWN0IHVzYl9lcCAqX2VwLCBzdHJ1Y3QgdXNiX3JlcXVlc3QgKl9yZXEpCiB7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXA7Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9lcAkqZXA7CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCBlcC0+ZXAubmFtZSA9PSBlcDBuYW1lKQogCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtNzk4LDEyICs4MDMsMTIgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RhdGljIGludCBweGEyeHhfZXBfc2V0X2hhbHQoc3RydWN0IHVzYl9lcCAqX2VwLCBpbnQgdmFsdWUpCitzdGF0aWMgaW50IHB4YTI1eF9lcF9zZXRfaGFsdChzdHJ1Y3QgdXNiX2VwICpfZXAsIGludCB2YWx1ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X2VwCSplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwCSplcDsKIAl1bnNpZ25lZCBsb25nCQlmbGFnczsKIAotCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTJ4eF9lcCwgZXApOworCWVwID0gY29udGFpbmVyX29mKF9lcCwgc3RydWN0IHB4YTI1eF9lcCwgZXApOwogCWlmICh1bmxpa2VseSAoIV9lcAogCQkJfHwgKCFlcC0+ZGVzYyAmJiBlcC0+ZXAubmFtZSAhPSBlcDBuYW1lKSkKIAkJCXx8IGVwLT5ibUF0dHJpYnV0ZXMgPT0gVVNCX0VORFBPSU5UX1hGRVJfSVNPQykgewpAQCAtODUzLDExICs4NTgsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfZXBfZmlmb19zdGF0dXMoc3RydWN0IHVzYl9lcCAqX2VwKQorc3RhdGljIGludCBweGEyNXhfZXBfZmlmb19zdGF0dXMoc3RydWN0IHVzYl9lcCAqX2VwKQogewotCXN0cnVjdCBweGEyeHhfZXAgICAgICAgICplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwICAgICAgICAqZXA7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCkgewogCQlETVNHKCIlcywgYmFkIGVwXG4iLCBfX2Z1bmNfXyk7CiAJCXJldHVybiAtRU5PREVWOwpAQCAtODcyLDExICs4NzcsMTEgQEAKIAkJcmV0dXJuICgqZXAtPnJlZ191YmNyICYgMHhmZmYpICsgMTsKIH0KIAotc3RhdGljIHZvaWQgcHhhMnh4X2VwX2ZpZm9fZmx1c2goc3RydWN0IHVzYl9lcCAqX2VwKQorc3RhdGljIHZvaWQgcHhhMjV4X2VwX2ZpZm9fZmx1c2goc3RydWN0IHVzYl9lcCAqX2VwKQogewotCXN0cnVjdCBweGEyeHhfZXAgICAgICAgICplcDsKKwlzdHJ1Y3QgcHhhMjV4X2VwICAgICAgICAqZXA7CiAKLQllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyeHhfZXAsIGVwKTsKKwllcCA9IGNvbnRhaW5lcl9vZihfZXAsIHN0cnVjdCBweGEyNXhfZXAsIGVwKTsKIAlpZiAoIV9lcCB8fCBlcC0+ZXAubmFtZSA9PSBlcDBuYW1lIHx8ICFsaXN0X2VtcHR5KCZlcC0+cXVldWUpKSB7CiAJCURNU0coIiVzLCBiYWQgZXBcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuOwpAQCAtODk4LDE5ICs5MDMsMTkgQEAKIH0KIAogCi1zdGF0aWMgc3RydWN0IHVzYl9lcF9vcHMgcHhhMnh4X2VwX29wcyA9IHsKLQkuZW5hYmxlCQk9IHB4YTJ4eF9lcF9lbmFibGUsCi0JLmRpc2FibGUJPSBweGEyeHhfZXBfZGlzYWJsZSwKK3N0YXRpYyBzdHJ1Y3QgdXNiX2VwX29wcyBweGEyNXhfZXBfb3BzID0geworCS5lbmFibGUJCT0gcHhhMjV4X2VwX2VuYWJsZSwKKwkuZGlzYWJsZQk9IHB4YTI1eF9lcF9kaXNhYmxlLAogCi0JLmFsbG9jX3JlcXVlc3QJPSBweGEyeHhfZXBfYWxsb2NfcmVxdWVzdCwKLQkuZnJlZV9yZXF1ZXN0CT0gcHhhMnh4X2VwX2ZyZWVfcmVxdWVzdCwKKwkuYWxsb2NfcmVxdWVzdAk9IHB4YTI1eF9lcF9hbGxvY19yZXF1ZXN0LAorCS5mcmVlX3JlcXVlc3QJPSBweGEyNXhfZXBfZnJlZV9yZXF1ZXN0LAogCi0JLnF1ZXVlCQk9IHB4YTJ4eF9lcF9xdWV1ZSwKLQkuZGVxdWV1ZQk9IHB4YTJ4eF9lcF9kZXF1ZXVlLAorCS5xdWV1ZQkJPSBweGEyNXhfZXBfcXVldWUsCisJLmRlcXVldWUJPSBweGEyNXhfZXBfZGVxdWV1ZSwKIAotCS5zZXRfaGFsdAk9IHB4YTJ4eF9lcF9zZXRfaGFsdCwKLQkuZmlmb19zdGF0dXMJPSBweGEyeHhfZXBfZmlmb19zdGF0dXMsCi0JLmZpZm9fZmx1c2gJPSBweGEyeHhfZXBfZmlmb19mbHVzaCwKKwkuc2V0X2hhbHQJPSBweGEyNXhfZXBfc2V0X2hhbHQsCisJLmZpZm9fc3RhdHVzCT0gcHhhMjV4X2VwX2ZpZm9fc3RhdHVzLAorCS5maWZvX2ZsdXNoCT0gcHhhMjV4X2VwX2ZpZm9fZmx1c2gsCiB9OwogCiAKQEAgLTkxOSwxMiArOTI0LDEyIEBACiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqLwogCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfZ2V0X2ZyYW1lKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0KQorc3RhdGljIGludCBweGEyNXhfdWRjX2dldF9mcmFtZShzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCkKIHsKIAlyZXR1cm4gKChVRk5SSCAmIDB4MDcpIDw8IDgpIHwgKFVGTlJMICYgMHhmZik7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X3VkY193YWtldXAoc3RydWN0IHVzYl9nYWRnZXQgKl9nYWRnZXQpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfd2FrZXVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0KQogewogCS8qIGhvc3QgbWF5IG5vdCBoYXZlIGVuYWJsZWQgcmVtb3RlIHdha2V1cCAqLwogCWlmICgoVURDQ1MwICYgVURDQ1MwX0RSV0YpID09IDApCkBAIC05MzMsMTQgKzkzOCwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgdm9pZCBzdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyeHhfdWRjICosIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqKTsKLXN0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyeHhfdWRjICopOwotc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTJ4eF91ZGMgKik7CitzdGF0aWMgdm9pZCBzdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyNXhfdWRjICosIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqKTsKK3N0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyNXhfdWRjICopOworc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTI1eF91ZGMgKik7CiAKIC8qIFdlIGRpc2FibGUgdGhlIFVEQyAtLSBhbmQgaXRzIDQ4IE1IeiBjbG9jayAtLSB3aGVuZXZlciBpdCdzIG5vdAogICogaW4gYWN0aXZlIHVzZS4KICAqLwotc3RhdGljIGludCBwdWxsdXAoc3RydWN0IHB4YTJ4eF91ZGMgKnVkYykKK3N0YXRpYyBpbnQgcHVsbHVwKHN0cnVjdCBweGEyNXhfdWRjICp1ZGMpCiB7CiAJaW50IGlzX2FjdGl2ZSA9IHVkYy0+dmJ1cyAmJiB1ZGMtPnB1bGx1cCAmJiAhdWRjLT5zdXNwZW5kZWQ7CiAJRE1TRygiJXNcbiIsIGlzX2FjdGl2ZSA/ICJhY3RpdmUiIDogImluYWN0aXZlIik7CkBAIC05NzAsMTEgKzk3NSwxMSBAQAogfQogCiAvKiBWQlVTIHJlcG9ydGluZyBsb2dpY2FsbHkgY29tZXMgZnJvbSBhIHRyYW5zY2VpdmVyICovCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfdmJ1c19zZXNzaW9uKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0LCBpbnQgaXNfYWN0aXZlKQorc3RhdGljIGludCBweGEyNXhfdWRjX3ZidXNfc2Vzc2lvbihzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCwgaW50IGlzX2FjdGl2ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjOworCXN0cnVjdCBweGEyNXhfdWRjCSp1ZGM7CiAKLQl1ZGMgPSBjb250YWluZXJfb2YoX2dhZGdldCwgc3RydWN0IHB4YTJ4eF91ZGMsIGdhZGdldCk7CisJdWRjID0gY29udGFpbmVyX29mKF9nYWRnZXQsIHN0cnVjdCBweGEyNXhfdWRjLCBnYWRnZXQpOwogCXVkYy0+dmJ1cyA9IChpc19hY3RpdmUgIT0gMCk7CiAJRE1TRygidmJ1cyAlc1xuIiwgaXNfYWN0aXZlID8gInN1cHBsaWVkIiA6ICJpbmFjdGl2ZSIpOwogCXB1bGx1cCh1ZGMpOwpAQCAtOTgyLDExICs5ODcsMTEgQEAKIH0KIAogLyogZHJpdmVycyBtYXkgaGF2ZSBzb2Z0d2FyZSBjb250cm9sIG92ZXIgRCsgcHVsbHVwICovCi1zdGF0aWMgaW50IHB4YTJ4eF91ZGNfcHVsbHVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpfZ2FkZ2V0LCBpbnQgaXNfYWN0aXZlKQorc3RhdGljIGludCBweGEyNXhfdWRjX3B1bGx1cChzdHJ1Y3QgdXNiX2dhZGdldCAqX2dhZGdldCwgaW50IGlzX2FjdGl2ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjOworCXN0cnVjdCBweGEyNXhfdWRjCSp1ZGM7CiAKLQl1ZGMgPSBjb250YWluZXJfb2YoX2dhZGdldCwgc3RydWN0IHB4YTJ4eF91ZGMsIGdhZGdldCk7CisJdWRjID0gY29udGFpbmVyX29mKF9nYWRnZXQsIHN0cnVjdCBweGEyNXhfdWRjLCBnYWRnZXQpOwogCiAJLyogbm90IGFsbCBib2FyZHMgc3VwcG9ydCBwdWxsdXAgY29udHJvbCAqLwogCWlmICghdWRjLT5tYWNoLT5ncGlvX3B1bGx1cCAmJiAhdWRjLT5tYWNoLT51ZGNfY29tbWFuZCkKQEAgLTk5NywxMSArMTAwMiwxMSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9nYWRnZXRfb3BzIHB4YTJ4eF91ZGNfb3BzID0gewotCS5nZXRfZnJhbWUJPSBweGEyeHhfdWRjX2dldF9mcmFtZSwKLQkud2FrZXVwCQk9IHB4YTJ4eF91ZGNfd2FrZXVwLAotCS52YnVzX3Nlc3Npb24JPSBweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbiwKLQkucHVsbHVwCQk9IHB4YTJ4eF91ZGNfcHVsbHVwLAorc3RhdGljIGNvbnN0IHN0cnVjdCB1c2JfZ2FkZ2V0X29wcyBweGEyNXhfdWRjX29wcyA9IHsKKwkuZ2V0X2ZyYW1lCT0gcHhhMjV4X3VkY19nZXRfZnJhbWUsCisJLndha2V1cAkJPSBweGEyNXhfdWRjX3dha2V1cCwKKwkudmJ1c19zZXNzaW9uCT0gcHhhMjV4X3VkY192YnVzX3Nlc3Npb24sCisJLnB1bGx1cAkJPSBweGEyNXhfdWRjX3B1bGx1cCwKIAogCS8vIC52YnVzX2RyYXcgLi4uIGJvYXJkcyBtYXkgY29uc3VtZSBjdXJyZW50IGZyb20gVkJVUywgdXAgdG8KIAkvLyAxMDAtNTAwbUEgYmFzZWQgb24gY29uZmlnLiAgdGhlIDUwMHVBIHN1c3BlbmQgY2VpbGluZyBtZWFucwpAQCAtMTAxNSw3ICsxMDIwLDcgQEAKIHN0YXRpYyBpbnQKIHVkY19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKl9kKQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBtLT5wcml2YXRlOworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBtLT5wcml2YXRlOwogCXVuc2lnbmVkIGxvbmcJCWZsYWdzOwogCWludAkJCWk7CiAJdTMyCQkJdG1wOwpAQCAtMTA3Niw4ICsxMDgxLDggQEAKIAogCS8qIGR1bXAgZW5kcG9pbnQgcXVldWVzICovCiAJZm9yIChpID0gMDsgaSA8IFBYQV9VRENfTlVNX0VORFBPSU5UUzsgaSsrKSB7Ci0JCXN0cnVjdCBweGEyeHhfZXAJKmVwID0gJmRldi0+ZXAgW2ldOwotCQlzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QJKnJlcTsKKwkJc3RydWN0IHB4YTI1eF9lcAkqZXAgPSAmZGV2LT5lcCBbaV07CisJCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCiAJCWlmIChpICE9IDApIHsKIAkJCWNvbnN0IHN0cnVjdCB1c2JfZW5kcG9pbnRfZGVzY3JpcHRvcgkqZGVzYzsKQEAgLTExNTAsNyArMTE1NSw3IEBACiAvKgogICoJdWRjX2Rpc2FibGUgLSBkaXNhYmxlIFVTQiBkZXZpY2UgY29udHJvbGxlcgogICovCi1zdGF0aWMgdm9pZCB1ZGNfZGlzYWJsZShzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgdWRjX2Rpc2FibGUoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAkvKiBibG9jayBhbGwgaXJxcyAqLwogCXVkY19zZXRfbWFza19VRENDUihVRENDUl9TUk18VURDQ1JfUkVNKTsKQEAgLTExNzAsNyArMTE3NSw3IEBACiAvKgogICoJdWRjX3JlaW5pdCAtIGluaXRpYWxpemUgc29mdHdhcmUgc3RhdGUKICAqLwotc3RhdGljIHZvaWQgdWRjX3JlaW5pdChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgdWRjX3JlaW5pdChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXUzMglpOwogCkBAIC0xMTgxLDcgKzExODYsNyBAQAogCiAJLyogYmFzaWMgZW5kcG9pbnQgcmVjb3JkcyBpbml0ICovCiAJZm9yIChpID0gMDsgaSA8IFBYQV9VRENfTlVNX0VORFBPSU5UUzsgaSsrKSB7Ci0JCXN0cnVjdCBweGEyeHhfZXAgKmVwID0gJmRldi0+ZXBbaV07CisJCXN0cnVjdCBweGEyNXhfZXAgKmVwID0gJmRldi0+ZXBbaV07CiAKIAkJaWYgKGkgIT0gMCkKIAkJCWxpc3RfYWRkX3RhaWwgKCZlcC0+ZXAuZXBfbGlzdCwgJmRldi0+Z2FkZ2V0LmVwX2xpc3QpOwpAQCAtMTE5OCw3ICsxMjAzLDcgQEAKIC8qIHVudGlsIGl0J3MgZW5hYmxlZCwgdGhpcyBVREMgc2hvdWxkIGJlIGNvbXBsZXRlbHkgaW52aXNpYmxlCiAgKiB0byBhbnkgVVNCIGhvc3QuCiAgKi8KLXN0YXRpYyB2b2lkIHVkY19lbmFibGUgKHN0cnVjdCBweGEyeHhfdWRjICpkZXYpCitzdGF0aWMgdm9pZCB1ZGNfZW5hYmxlIChzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2KQogewogCXVkY19jbGVhcl9tYXNrX1VEQ0NSKFVEQ0NSX1VERSk7CiAKQEAgLTEyNTQsNyArMTI1OSw3IEBACiAgKi8KIGludCB1c2JfZ2FkZ2V0X3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gdGhlX2NvbnRyb2xsZXI7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IHRoZV9jb250cm9sbGVyOwogCWludAkJCXJldHZhbDsKIAogCWlmICghZHJpdmVyCkBAIC0xMjk5LDcgKzEzMDQsNyBAQAogRVhQT1JUX1NZTUJPTCh1c2JfZ2FkZ2V0X3JlZ2lzdGVyX2RyaXZlcik7CiAKIHN0YXRpYyB2b2lkCi1zdG9wX2FjdGl2aXR5KHN0cnVjdCBweGEyeHhfdWRjICpkZXYsIHN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKQorc3RvcF9hY3Rpdml0eShzdHJ1Y3QgcHhhMjV4X3VkYyAqZGV2LCBzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKIHsKIAlpbnQgaTsKIApAQCAtMTMxMCw3ICsxMzE1LDcgQEAKIAogCS8qIHByZXZlbnQgbmV3IHJlcXVlc3Qgc3VibWlzc2lvbnMsIGtpbGwgYW55IG91dHN0YW5kaW5nIHJlcXVlc3RzICAqLwogCWZvciAoaSA9IDA7IGkgPCBQWEFfVURDX05VTV9FTkRQT0lOVFM7IGkrKykgewotCQlzdHJ1Y3QgcHhhMnh4X2VwICplcCA9ICZkZXYtPmVwW2ldOworCQlzdHJ1Y3QgcHhhMjV4X2VwICplcCA9ICZkZXYtPmVwW2ldOwogCiAJCWVwLT5zdG9wcGVkID0gMTsKIAkJbnVrZShlcCwgLUVTSFVURE9XTik7CkBAIC0xMzI3LDcgKzEzMzIsNyBAQAogCiBpbnQgdXNiX2dhZGdldF91bnJlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gdGhlX2NvbnRyb2xsZXI7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9IHRoZV9jb250cm9sbGVyOwogCiAJaWYgKCFkZXYpCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMTM2NCw3ICsxMzY5LDcgQEAKIHN0YXRpYyBpcnFyZXR1cm5fdAogbHViYm9ja192YnVzX2lycShpbnQgaXJxLCB2b2lkICpfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBfZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBfZGV2OwogCWludAkJCXZidXM7CiAKIAlkZXYtPnN0YXRzLmlycXMrKzsKQEAgLTEzODMsNyArMTM4OCw3IEBACiAJCXJldHVybiBJUlFfTk9ORTsKIAl9CiAKLQlweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbigmZGV2LT5nYWRnZXQsIHZidXMpOworCXB4YTI1eF91ZGNfdmJ1c19zZXNzaW9uKCZkZXYtPmdhZGdldCwgdmJ1cyk7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCkBAIC0xMzkxLDIwICsxMzk2LDIwIEBACiAKIHN0YXRpYyBpcnFyZXR1cm5fdCB1ZGNfdmJ1c19pcnEoaW50IGlycSwgdm9pZCAqX2RldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqZGV2ID0gX2RldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqZGV2ID0gX2RldjsKIAlpbnQJCQl2YnVzID0gZ3Bpb19nZXRfdmFsdWUoZGV2LT5tYWNoLT5ncGlvX3ZidXMpOwogCiAJaWYgKGRldi0+bWFjaC0+Z3Bpb192YnVzX2ludmVydGVkKQogCQl2YnVzID0gIXZidXM7CiAKLQlweGEyeHhfdWRjX3ZidXNfc2Vzc2lvbigmZGV2LT5nYWRnZXQsIHZidXMpOworCXB4YTI1eF91ZGNfdmJ1c19zZXNzaW9uKCZkZXYtPmdhZGdldCwgdmJ1cyk7CiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQogCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9lcF9zdGF0ZSAoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9lcF9zdGF0ZSAoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1bnNpZ25lZCBpOwogCkBAIC0xNDE3LDcgKzE0MjIsNyBAQAogCiBzdGF0aWMgdm9pZCB1ZGNfd2F0Y2hkb2codW5zaWduZWQgbG9uZyBfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSAodm9pZCAqKV9kZXY7CisJc3RydWN0IHB4YTI1eF91ZGMJKmRldiA9ICh2b2lkICopX2RldjsKIAogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJaWYgKGRldi0+ZXAwc3RhdGUgPT0gRVAwX1NUQUxMCkBAIC0xNDMwLDExICsxNDM1LDExIEBACiAJbG9jYWxfaXJxX2VuYWJsZSgpOwogfQogCi1zdGF0aWMgdm9pZCBoYW5kbGVfZXAwIChzdHJ1Y3QgcHhhMnh4X3VkYyAqZGV2KQorc3RhdGljIHZvaWQgaGFuZGxlX2VwMCAoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1MzIJCQl1ZGNjczAgPSBVRENDUzA7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkqZXAgPSAmZGV2LT5lcCBbMF07Ci0Jc3RydWN0IHB4YTJ4eF9yZXF1ZXN0CSpyZXE7CisJc3RydWN0IHB4YTI1eF9lcAkqZXAgPSAmZGV2LT5lcCBbMF07CisJc3RydWN0IHB4YTI1eF9yZXF1ZXN0CSpyZXE7CiAJdW5pb24gewogCQlzdHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0CXI7CiAJCXU4CQkJcmF3IFs4XTsKQEAgLTE0NDQsNyArMTQ0OSw3IEBACiAJaWYgKGxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpCiAJCXJlcSA9IE5VTEw7CiAJZWxzZQotCQlyZXEgPSBsaXN0X2VudHJ5KGVwLT5xdWV1ZS5uZXh0LCBzdHJ1Y3QgcHhhMnh4X3JlcXVlc3QsIHF1ZXVlKTsKKwkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwgc3RydWN0IHB4YTI1eF9yZXF1ZXN0LCBxdWV1ZSk7CiAKIAkvKiBjbGVhciBzdGFsbCBzdGF0dXMgKi8KIAlpZiAodWRjY3MwICYgVURDQ1MwX1NTVCkgewpAQCAtMTY1NCw5ICsxNjU5LDkgQEAKIAlVU0lSMCA9IFVTSVIwX0lSMDsKIH0KIAotc3RhdGljIHZvaWQgaGFuZGxlX2VwKHN0cnVjdCBweGEyeHhfZXAgKmVwKQorc3RhdGljIHZvaWQgaGFuZGxlX2VwKHN0cnVjdCBweGEyNXhfZXAgKmVwKQogewotCXN0cnVjdCBweGEyeHhfcmVxdWVzdAkqcmVxOworCXN0cnVjdCBweGEyNXhfcmVxdWVzdAkqcmVxOwogCWludAkJCWlzX2luID0gZXAtPmJFbmRwb2ludEFkZHJlc3MgJiBVU0JfRElSX0lOOwogCWludAkJCWNvbXBsZXRlZDsKIAl1MzIJCQl1ZGNjcywgdG1wOwpAQCAtMTY2NSw3ICsxNjcwLDcgQEAKIAkJY29tcGxldGVkID0gMDsKIAkJaWYgKGxpa2VseSAoIWxpc3RfZW1wdHkoJmVwLT5xdWV1ZSkpKQogCQkJcmVxID0gbGlzdF9lbnRyeShlcC0+cXVldWUubmV4dCwKLQkJCQkJc3RydWN0IHB4YTJ4eF9yZXF1ZXN0LCBxdWV1ZSk7CisJCQkJCXN0cnVjdCBweGEyNXhfcmVxdWVzdCwgcXVldWUpOwogCQllbHNlCiAJCQlyZXEgPSBOVUxMOwogCkBAIC0xNzAyLDE2ICsxNzA3LDE2IEBACiB9CiAKIC8qCi0gKglweGEyeHhfdWRjX2lycSAtIGludGVycnVwdCBoYW5kbGVyCisgKglweGEyNXhfdWRjX2lycSAtIGludGVycnVwdCBoYW5kbGVyCiAgKgogICogYXZvaWQgZGVsYXlzIGluIGVwMCBwcm9jZXNzaW5nLiB0aGUgY29udHJvbCBoYW5kc2hha2luZyBpc24ndCBhbHdheXMKICAqIHVuZGVyIHNvZnR3YXJlIGNvbnRyb2wgKHB4YTI1MGMwIGFuZCB0aGUgcHhhMjU1IGFyZSBiZXR0ZXIpLCBhbmQgZGVsYXlzCiAgKiBjb3VsZCBjYXVzZSB1c2IgcHJvdG9jb2wgZXJyb3JzLgogICovCiBzdGF0aWMgaXJxcmV0dXJuX3QKLXB4YTJ4eF91ZGNfaXJxKGludCBpcnEsIHZvaWQgKl9kZXYpCitweGEyNXhfdWRjX2lycShpbnQgaXJxLCB2b2lkICpfZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjCSpkZXYgPSBfZGV2OworCXN0cnVjdCBweGEyNXhfdWRjCSpkZXYgPSBfZGV2OwogCWludAkJCWhhbmRsZWQ7CiAKIAlkZXYtPnN0YXRzLmlycXMrKzsKQEAgLTE4MjAsOSArMTgyNSw5IEBACiAgKiBkb2luZyBpdCBhdCBydW4tdGltZSkgdG8gc2F2ZSBjb2RlLCBlbGltaW5hdGUgZmF1bHQgcGF0aHMsIGFuZAogICogYmUgbW9yZSBvYnZpb3VzbHkgY29ycmVjdC4KICAqLwotc3RhdGljIHN0cnVjdCBweGEyeHhfdWRjIG1lbW9yeSA9IHsKK3N0YXRpYyBzdHJ1Y3QgcHhhMjV4X3VkYyBtZW1vcnkgPSB7CiAJLmdhZGdldCA9IHsKLQkJLm9wcwkJPSAmcHhhMnh4X3VkY19vcHMsCisJCS5vcHMJCT0gJnB4YTI1eF91ZGNfb3BzLAogCQkuZXAwCQk9ICZtZW1vcnkuZXBbMF0uZXAsCiAJCS5uYW1lCQk9IGRyaXZlcl9uYW1lLAogCQkuZGV2ID0gewpAQCAtMTgzNSw3ICsxODQwLDcgQEAKIAkuZXBbMF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9IGVwMG5hbWUsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBFUDBfRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0xODQ3LDcgKzE4NTIsNyBAQAogCS5lcFsxXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMWluLWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE4NjAsNyArMTg2NSw3IEBACiAJLmVwWzJdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAyb3V0LWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE4NzEsMTEgKzE4NzYsMTEgQEAKIAkJLnJlZ191YmNyCT0gJlVCQ1IyLAogCQkucmVnX3VkZHIJPSAmVUREUjIsCiAJfSwKLSNpZm5kZWYgQ09ORklHX1VTQl9QWEEyWFhfU01BTEwKKyNpZm5kZWYgQ09ORklHX1VTQl9QWEEyNVhfU01BTEwKIAkuZXBbM10gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDNpbi1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTg4OCw3ICsxODkzLDcgQEAKIAkuZXBbNF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDRvdXQtaXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5MDIsNyArMTkwNyw3IEBACiAJLmVwWzVdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA1aW4taW50IiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElOVF9GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5MTcsNyArMTkyMiw3IEBACiAJLmVwWzZdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXA2aW4tYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTkzMCw3ICsxOTM1LDcgQEAKIAkuZXBbN10gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDdvdXQtYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk0NCw3ICsxOTQ5LDcgQEAKIAkuZXBbOF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDhpbi1pc28iLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSVNPX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk1Nyw3ICsxOTYyLDcgQEAKIAkuZXBbOV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDlvdXQtaXNvIiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElTT19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5NzEsNyArMTk3Niw3IEBACiAJLmVwWzEwXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTBpbi1pbnQiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gSU5UX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMTk4Niw3ICsxOTkxLDcgQEAKIAkuZXBbMTFdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxMWluLWJ1bGsiLAotCQkJLm9wcwkJPSAmcHhhMnh4X2VwX29wcywKKwkJCS5vcHMJCT0gJnB4YTI1eF9lcF9vcHMsCiAJCQkubWF4cGFja2V0CT0gQlVMS19GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTE5OTksNyArMjAwNCw3IEBACiAJLmVwWzEyXSA9IHsKIAkJLmVwID0gewogCQkJLm5hbWUJCT0gImVwMTJvdXQtYnVsayIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBCVUxLX0ZJRk9fU0laRSwKIAkJfSwKIAkJLmRldgkJPSAmbWVtb3J5LApAQCAtMjAxMyw3ICsyMDE4LDcgQEAKIAkuZXBbMTNdID0gewogCQkuZXAgPSB7CiAJCQkubmFtZQkJPSAiZXAxM2luLWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0yMDI2LDcgKzIwMzEsNyBAQAogCS5lcFsxNF0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDE0b3V0LWlzbyIsCi0JCQkub3BzCQk9ICZweGEyeHhfZXBfb3BzLAorCQkJLm9wcwkJPSAmcHhhMjV4X2VwX29wcywKIAkJCS5tYXhwYWNrZXQJPSBJU09fRklGT19TSVpFLAogCQl9LAogCQkuZGV2CQk9ICZtZW1vcnksCkBAIC0yMDQwLDcgKzIwNDUsNyBAQAogCS5lcFsxNV0gPSB7CiAJCS5lcCA9IHsKIAkJCS5uYW1lCQk9ICJlcDE1aW4taW50IiwKLQkJCS5vcHMJCT0gJnB4YTJ4eF9lcF9vcHMsCisJCQkub3BzCQk9ICZweGEyNXhfZXBfb3BzLAogCQkJLm1heHBhY2tldAk9IElOVF9GSUZPX1NJWkUsCiAJCX0sCiAJCS5kZXYJCT0gJm1lbW9yeSwKQEAgLTIwNTAsNyArMjA1NSw3IEBACiAJCS5yZWdfdWRjY3MJPSAmVURDQ1MxNSwKIAkJLnJlZ191ZGRyCT0gJlVERFIxNSwKIAl9LAotI2VuZGlmIC8qICFDT05GSUdfVVNCX1BYQTJYWF9TTUFMTCAqLworI2VuZGlmIC8qICFDT05GSUdfVVNCX1BYQTI1WF9TTUFMTCAqLwogfTsKIAogI2RlZmluZSBDUDE1UjBfVkVORE9SX01BU0sJMHhmZmZmZTAwMApAQCAtMjA5MCw5ICsyMDk1LDkgQEAKIC8qCiAgKglwcm9iZSAtIGJpbmRzIHRvIHRoZSBwbGF0Zm9ybSBkZXZpY2UKICAqLwotc3RhdGljIGludCBfX2luaXQgcHhhMnh4X3VkY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBfX2luaXQgcHhhMjV4X3VkY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCXN0cnVjdCBweGEyeHhfdWRjICpkZXYgPSAmbWVtb3J5OworCXN0cnVjdCBweGEyNXhfdWRjICpkZXYgPSAmbWVtb3J5OwogCWludCByZXR2YWwsIHZidXNfaXJxLCBpcnE7CiAJdTMyIGNoaXByZXY7CiAKQEAgLTIxNTUsNyArMjE2MCw3IEBACiAKIAlpZiAoZGV2LT5tYWNoLT5ncGlvX3ZidXMpIHsKIAkJaWYgKChyZXR2YWwgPSBncGlvX3JlcXVlc3QoZGV2LT5tYWNoLT5ncGlvX3ZidXMsCi0JCQkJInB4YTJ4eF91ZGMgR1BJTyBWQlVTIikpKSB7CisJCQkJInB4YTI1eF91ZGMgR1BJTyBWQlVTIikpKSB7CiAJCQlkZXZfZGJnKCZwZGV2LT5kZXYsCiAJCQkJImNhbid0IGdldCB2YnVzIGdwaW8gJWQsIGVycjogJWRcbiIsCiAJCQkJZGV2LT5tYWNoLT5ncGlvX3ZidXMsIHJldHZhbCk7CkBAIC0yMTY4LDcgKzIxNzMsNyBAQAogCiAJaWYgKGRldi0+bWFjaC0+Z3Bpb19wdWxsdXApIHsKIAkJaWYgKChyZXR2YWwgPSBncGlvX3JlcXVlc3QoZGV2LT5tYWNoLT5ncGlvX3B1bGx1cCwKLQkJCQkicGNhMnh4X3VkYyBHUElPIFBVTExVUCIpKSkgeworCQkJCSJwY2EyNXhfdWRjIEdQSU8gUFVMTFVQIikpKSB7CiAJCQlkZXZfZGJnKCZwZGV2LT5kZXYsCiAJCQkJImNhbid0IGdldCBwdWxsdXAgZ3BpbyAlZCwgZXJyOiAlZFxuIiwKIAkJCQlkZXYtPm1hY2gtPmdwaW9fcHVsbHVwLCByZXR2YWwpOwpAQCAtMjE5NCw3ICsyMTk5LDcgQEAKIAlkZXYtPnZidXMgPSBpc192YnVzX3ByZXNlbnQoKTsKIAogCS8qIGlycSBzZXR1cCBhZnRlciBvbGQgaGFyZHdhcmUgc3RhdGUgaXMgY2xlYW5lZCB1cCAqLwotCXJldHZhbCA9IHJlcXVlc3RfaXJxKGlycSwgcHhhMnh4X3VkY19pcnEsCisJcmV0dmFsID0gcmVxdWVzdF9pcnEoaXJxLCBweGEyNXhfdWRjX2lycSwKIAkJCUlSUUZfRElTQUJMRUQsIGRyaXZlcl9uYW1lLCBkZXYpOwogCWlmIChyZXR2YWwgIT0gMCkgewogCQlwcl9lcnIoIiVzOiBjYW4ndCBnZXQgaXJxICVkLCBlcnIgJWRcbiIsCkBAIC0yMjYwLDE0ICsyMjY1LDE0IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIHZvaWQgcHhhMnh4X3VkY19zaHV0ZG93bihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpfZGV2KQorc3RhdGljIHZvaWQgcHhhMjV4X3VkY19zaHV0ZG93bihzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpfZGV2KQogewogCXB1bGx1cF9vZmYoKTsKIH0KIAotc3RhdGljIGludCBfX2V4aXQgcHhhMnh4X3VkY19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgX19leGl0IHB4YTI1eF91ZGNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7Ci0Jc3RydWN0IHB4YTJ4eF91ZGMgKmRldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBweGEyNXhfdWRjICpkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAogCWlmIChkZXYtPmRyaXZlcikKIAkJcmV0dXJuIC1FQlVTWTsKQEAgLTIzMTcsOSArMjMyMiw5IEBACiAgKiBWQlVTIElSUXMgc2hvdWxkIHByb2JhYmx5IGJlIGlnbm9yZWQgc28gdGhhdCB0aGUgUFhBIGRldmljZSBqdXN0IGFjdHMKICAqICJkZWFkIiB0byBVU0IgaG9zdHMgdW50aWwgc3lzdGVtIHJlc3VtZS4KICAqLwotc3RhdGljIGludCBweGEyeHhfdWRjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJaWYgKCF1ZGMtPm1hY2gtPmdwaW9fcHVsbHVwICYmICF1ZGMtPm1hY2gtPnVkY19jb21tYW5kKQpAQCAtMjMzMyw5ICsyMzM4LDkgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBweGEyeHhfdWRjX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgaW50IHB4YTI1eF91ZGNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKIHsKLQlzdHJ1Y3QgcHhhMnh4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkqdWRjID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJdWRjLT5zdXNwZW5kZWQgPSAwOwpAQCAtMjM0NywyNyArMjM1MiwyNyBAQAogfQogCiAjZWxzZQotI2RlZmluZQlweGEyeHhfdWRjX3N1c3BlbmQJTlVMTAotI2RlZmluZQlweGEyeHhfdWRjX3Jlc3VtZQlOVUxMCisjZGVmaW5lCXB4YTI1eF91ZGNfc3VzcGVuZAlOVUxMCisjZGVmaW5lCXB4YTI1eF91ZGNfcmVzdW1lCU5VTEwKICNlbmRpZgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciB1ZGNfZHJpdmVyID0gewotCS5zaHV0ZG93bgk9IHB4YTJ4eF91ZGNfc2h1dGRvd24sCi0JLnJlbW92ZQkJPSBfX2V4aXRfcChweGEyeHhfdWRjX3JlbW92ZSksCi0JLnN1c3BlbmQJPSBweGEyeHhfdWRjX3N1c3BlbmQsCi0JLnJlc3VtZQkJPSBweGEyeHhfdWRjX3Jlc3VtZSwKKwkuc2h1dGRvd24JPSBweGEyNXhfdWRjX3NodXRkb3duLAorCS5yZW1vdmUJCT0gX19leGl0X3AocHhhMjV4X3VkY19yZW1vdmUpLAorCS5zdXNwZW5kCT0gcHhhMjV4X3VkY19zdXNwZW5kLAorCS5yZXN1bWUJCT0gcHhhMjV4X3VkY19yZXN1bWUsCiAJLmRyaXZlcgkJPSB7CiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAotCQkubmFtZQk9ICJweGEyeHgtdWRjIiwKKwkJLm5hbWUJPSAicHhhMjV4LXVkYyIsCiAJfSwKIH07CiAKIHN0YXRpYyBpbnQgX19pbml0IHVkY19pbml0KHZvaWQpCiB7CiAJcHJfaW5mbygiJXM6IHZlcnNpb24gJXNcbiIsIGRyaXZlcl9uYW1lLCBEUklWRVJfVkVSU0lPTik7Ci0JcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9wcm9iZSgmdWRjX2RyaXZlciwgcHhhMnh4X3VkY19wcm9iZSk7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9wcm9iZSgmdWRjX2RyaXZlciwgcHhhMjV4X3VkY19wcm9iZSk7CiB9CiBtb2R1bGVfaW5pdCh1ZGNfaW5pdCk7CiAKQEAgLTIzODAsNCArMjM4NSw0IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oRFJJVkVSX0RFU0MpOwogTU9EVUxFX0FVVEhPUigiRnJhbmsgQmVja2VyLCBSb2JlcnQgU2Nod2ViZWwsIERhdmlkIEJyb3duZWxsIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7Ci1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC11ZGMiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMjV4LXVkYyIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaCBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmgKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaApyZW5hbWUgdG8gZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI1eF91ZGMuaAppbmRleCBlMmMxOWU4Li40ZDExZWNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMnh4X3VkYy5oCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyNXhfdWRjLmgKQEAgLTEsNiArMSw1IEBACiAvKgotICogbGludXgvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTJ4eF91ZGMuaAotICogSW50ZWwgUFhBMnh4IG9uLWNoaXAgZnVsbCBzcGVlZCBVU0IgZGV2aWNlIGNvbnRyb2xsZXIKKyAqIEludGVsIFBYQTI1eCBvbi1jaGlwIGZ1bGwgc3BlZWQgVVNCIGRldmljZSBjb250cm9sbGVyCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDAzIFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMgRGF2aWQgQnJvd25lbGwKQEAgLTIxLDE0ICsyMCwxNCBAQAogICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQogICovCiAKLSNpZm5kZWYgX19MSU5VWF9VU0JfR0FER0VUX1BYQTJYWF9ICi0jZGVmaW5lIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyWFhfSAorI2lmbmRlZiBfX0xJTlVYX1VTQl9HQURHRVRfUFhBMjVYX0gKKyNkZWZpbmUgX19MSU5VWF9VU0JfR0FER0VUX1BYQTI1WF9ICiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCi0vKiBweGEyeHggaGFzIHRoaXMgKG1vdmUgdG8gaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgpICovCisvKiBweGEyNXggaGFzIHRoaXMgKG1vdmUgdG8gaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YS1yZWdzLmgpICovCiAjZGVmaW5lIFVGTlJIX1NJUgkoMSA8PCA3KQkvKiBTT0YgaW50ZXJydXB0IHJlcXVlc3QgKi8KICNkZWZpbmUgVUZOUkhfU0lNCSgxIDw8IDYpCS8qIFNPRiBpbnRlcnJ1cHQgbWFzayAqLwogI2RlZmluZSBVRk5SSF9JUEUxNAkoMSA8PCA1KQkvKiBJU08gcGFja2V0IGVycm9yLCBlcDE0ICovCkBAIC00NSwxMSArNDQsMTEgQEAKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIAotc3RydWN0IHB4YTJ4eF91ZGM7CitzdHJ1Y3QgcHhhMjV4X3VkYzsKIAotc3RydWN0IHB4YTJ4eF9lcCB7CitzdHJ1Y3QgcHhhMjV4X2VwIHsKIAlzdHJ1Y3QgdXNiX2VwCQkJCWVwOwotCXN0cnVjdCBweGEyeHhfdWRjCQkJKmRldjsKKwlzdHJ1Y3QgcHhhMjV4X3VkYwkJCSpkZXY7CiAKIAljb25zdCBzdHJ1Y3QgdXNiX2VuZHBvaW50X2Rlc2NyaXB0b3IJKmRlc2M7CiAJc3RydWN0IGxpc3RfaGVhZAkJCXF1ZXVlOwpAQCAtNzIsNyArNzEsNyBAQAogCXZvbGF0aWxlIHUzMgkJCQkqcmVnX3VkZHI7CiB9OwogCi1zdHJ1Y3QgcHhhMnh4X3JlcXVlc3Qgeworc3RydWN0IHB4YTI1eF9yZXF1ZXN0IHsKIAlzdHJ1Y3QgdXNiX3JlcXVlc3QJCQlyZXE7CiAJc3RydWN0IGxpc3RfaGVhZAkJCXF1ZXVlOwogfTsKQEAgLTk4LDcgKzk3LDcgQEAKIAl1bnNpZ25lZCBsb25nCQkJaXJxczsKIH07CiAKLSNpZmRlZiBDT05GSUdfVVNCX1BYQTJYWF9TTUFMTAorI2lmZGVmIENPTkZJR19VU0JfUFhBMjVYX1NNQUxMCiAvKiB3aGVuIG1lbW9yeSdzIHRpZ2h0LCBTTUFMTCBjb25maWcgc2F2ZXMgY29kZStkYXRhLiAgKi8KICNkZWZpbmUJUFhBX1VEQ19OVU1fRU5EUE9JTlRTCTMKICNlbmRpZgpAQCAtMTA3LDcgKzEwNiw3IEBACiAjZGVmaW5lCVBYQV9VRENfTlVNX0VORFBPSU5UUwkxNgogI2VuZGlmCiAKLXN0cnVjdCBweGEyeHhfdWRjIHsKK3N0cnVjdCBweGEyNXhfdWRjIHsKIAlzdHJ1Y3QgdXNiX2dhZGdldAkJCWdhZGdldDsKIAlzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIJCSpkcml2ZXI7CiAKQEAgLTEzMCw3ICsxMjksNyBAQAogCXN0cnVjdCBjbGsJCQkJKmNsazsKIAlzdHJ1Y3QgcHhhMnh4X3VkY19tYWNoX2luZm8JCSptYWNoOwogCXU2NAkJCQkJZG1hX21hc2s7Ci0Jc3RydWN0IHB4YTJ4eF9lcAkJCWVwIFtQWEFfVURDX05VTV9FTkRQT0lOVFNdOworCXN0cnVjdCBweGEyNXhfZXAJCQllcCBbUFhBX1VEQ19OVU1fRU5EUE9JTlRTXTsKIAogI2lmZGVmIENPTkZJR19VU0JfR0FER0VUX0RFQlVHX0ZTCiAJc3RydWN0IGRlbnRyeQkJCQkqZGVidWdmc191ZGM7CkBAIC0xNDQsNyArMTQzLDcgQEAKIC8qIGx1YmJvY2sgY2FuIGFsc28gcmVwb3J0IHVzYiBjb25uZWN0L2Rpc2Nvbm5lY3QgaXJxcyAqLwogI2VuZGlmCiAKLXN0YXRpYyBzdHJ1Y3QgcHhhMnh4X3VkYyAqdGhlX2NvbnRyb2xsZXI7CitzdGF0aWMgc3RydWN0IHB4YTI1eF91ZGMgKnRoZV9jb250cm9sbGVyOwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0yMDksNyArMjA4LDcgQEAKIH0KIAogc3RhdGljIHZvaWQgX19tYXliZV91bnVzZWQKLWR1bXBfc3RhdGUoc3RydWN0IHB4YTJ4eF91ZGMgKmRldikKK2R1bXBfc3RhdGUoc3RydWN0IHB4YTI1eF91ZGMgKmRldikKIHsKIAl1MzIJCXRtcDsKIAl1bnNpZ25lZAlpOwpAQCAtMjY0LDQgKzI2Myw0IEBACiAjZGVmaW5lIElORk8oc3R1ZmYuLi4pCQlwcl9pbmZvKCJ1ZGM6ICIgc3R1ZmYpCiAKIAotI2VuZGlmIC8qIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyWFhfSCAqLworI2VuZGlmIC8qIF9fTElOVVhfVVNCX0dBREdFVF9QWEEyNVhfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuYyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmMKaW5kZXggZTAyYmZkNC4uOWMwZTgyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuYworKysgYi9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5jCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL2NoOS5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9nYWRnZXQuaD4KLQorI2luY2x1ZGUgPGFzbS9hcmNoL3B4YTJ4eC1yZWdzLmg+IC8qIEZJWE1FOiBmb3IgUFNTUiAqLwogI2luY2x1ZGUgPGFzbS9hcmNoL3VkYy5oPgogCiAjaW5jbHVkZSAicHhhMjd4X3VkYy5oIgpAQCAtMjM2MCwxOCArMjM2MCwxOSBAQAogCSAqIFNvZnR3YXJlIG11c3QgY29uZmlndXJlIHRoZSBVU0IgT1RHIHBhZCwgVURDLCBhbmQgVUhDCiAJICogdG8gdGhlIHN0YXRlIHRoZXkgd2VyZSBpbiBiZWZvcmUgZW50ZXJpbmcgc2xlZXAgbW9kZS4KIAkgKi8KLQlQU1NSIHw9IFBTU1JfT1RHUEg7CisJaWYgKGNwdV9pc19weGEyN3goKSkKKwkJUFNTUiB8PSBQU1NSX09UR1BIOwogCiAJcmV0dXJuIDA7CiB9CiAjZW5kaWYKIAogLyogd29yayB3aXRoIGhvdHBsdWcgYW5kIGNvbGRwbHVnICovCi1NT0RVTEVfQUxJQVMoInBsYXRmb3JtOnB4YTJ4eC11ZGMiKTsKK01PRFVMRV9BTElBUygicGxhdGZvcm06cHhhMjd4LXVkYyIpOwogCiBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciB1ZGNfZHJpdmVyID0gewogCS5kcml2ZXIJCT0gewotCQkubmFtZQk9ICJweGEyeHgtdWRjIiwKKwkJLm5hbWUJPSAicHhhMjd4LXVkYyIsCiAJCS5vd25lcgk9IFRISVNfTU9EVUxFLAogCX0sCiAJLnJlbW92ZQkJPSBfX2V4aXRfcChweGFfdWRjX3JlbW92ZSksCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oIGIvZHJpdmVycy91c2IvZ2FkZ2V0L3B4YTI3eF91ZGMuaAppbmRleCA5NzQ1M2RiLi4xZDFiNzkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvcHhhMjd4X3VkYy5oCisrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9weGEyN3hfdWRjLmgKQEAgLTQ4NCwxMiArNDg0LDQgQEAKICNkZWZpbmUgZXBfd2FybihlcCwgZm10LCBhcmcuLi4pIFwKIAlkZXZfd2FybihlcC0+ZGV2LT5kZXYsICIlczolczoiIGZtdCwgRVBOQU1FKGVwKSwgX19mdW5jX18sICMjIGFyZykKIAotLyoKLSAqIENhbm5vdCBpbmNsdWRlIHB4YS1yZWdzLmgsIGFzIHJlZ2lzdGVyIG5hbWVzIGFyZSBzaW1pbGFyLgotICogU28gUFNTUiBpcyByZWRlZmluZWQgaGVyZS4gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCBvbmNlIFVEQyByZWdpc3RlcnMgd2lsbAotICogYmUgZ29uZSBmcm9tIHB4YS1yZWdzLmguCi0gKi8KLSNkZWZpbmUgUFNTUgkJX19SRUcoMHg0MEYwMDAwNCkJLyogUG93ZXIgTWFuYWdlciBTbGVlcCBTdGF0dXMgKi8KLSNkZWZpbmUgUFNTUl9PVEdQSAkoMSA8PCA2KQkJLyogT1RHIFBlcmlwaGVyYWwgSG9sZCAqLwotCiAjZW5kaWYgLyogX19MSU5VWF9VU0JfR0FER0VUX1BYQTI3WF9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXUxeHh4LmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktYXUxeHh4LmMKaW5kZXggZjkwZmUwYy4uNjhjMTdmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLWF1MXh4eC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1hdTF4eHguYwpAQCAtOCw3ICs4LDcgQEAKICAqIEJ1cyBHbHVlIGZvciBBTUQgQWxjaGVteSBBdTF4eHgKICAqCiAgKiBXcml0dGVuIGJ5IENocmlzdG9waGVyIEhvb3ZlciA8Y2hAaHBsLmhwLmNvbT4KLSAqIEJhc2VkIG9uIGZyYWdtZW50cyBvZiBwcmV2aW91cyBkcml2ZXIgYnkgUnVzZWxsIEtpbmcgZXQgYWwuCisgKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c3NlbGwgS2luZyBldCBhbC4KICAqCiAgKiBNb2RpZmllZCBmb3IgTEg3QTQwNCBmcm9tIG9oY2ktc2ExMTExLmMKICAqICBieSBEdXJnZXNoIFBhdHRhbWF0dGEgPHBhdHRhbWF0dGFkQHNoYXJwc2VjLmNvbT4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1saDdhNDA0LmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktbGg3YTQwNC5jCmluZGV4IDEzYzEyZWQuLjFlZjVkNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1saDdhNDA0LmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLWxoN2E0MDQuYwpAQCAtOCw3ICs4LDcgQEAKICAqIEJ1cyBHbHVlIGZvciBTaGFycCBMSDdBNDA0CiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogTW9kaWZpZWQgZm9yIExIN0E0MDQgZnJvbSBvaGNpLXNhMTExMS5jCiAgKiAgYnkgRHVyZ2VzaCBQYXR0YW1hdHRhIDxwYXR0YW1hdHRhZEBzaGFycHNlYy5jb20+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLW9tYXAuYwppbmRleCAzYTdjMjRjLi5hMTlhNGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktb21hcC5jCisrKyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1vbWFwLmMKQEAgLTE2OSwxMyArMTY5LDE2IEBACiB7CiAJY29uc3QgdW5zaWduZWQJcG9ydCA9IG9oY2lfdG9faGNkKG9oY2kpLT5zZWxmLm90Z19wb3J0IC0gMTsKIAl1bnNpZ25lZCBsb25nCWZsYWdzOworCXUzMiBsOwogCiAJb3RnX3N0YXJ0X2hucChvaGNpLT50cmFuc2NlaXZlcik7CiAKIAlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CiAJb2hjaS0+dHJhbnNjZWl2ZXItPnN0YXRlID0gT1RHX1NUQVRFX0FfU1VTUEVORDsKIAl3cml0ZWwgKFJIX1BTX1BTUywgJm9oY2ktPnJlZ3MtPnJvb3RodWIucG9ydHN0YXR1cyBbcG9ydF0pOwotCU9UR19DVFJMX1JFRyAmPSB+T1RHX0FfQlVTUkVROworCWwgPSBvbWFwX3JlYWRsKE9UR19DVFJMKTsKKwlsICY9IH5PVEdfQV9CVVNSRVE7CisJb21hcF93cml0ZWwobCwgT1RHX0NUUkwpOwogCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXB4YTI3eC5jCmluZGV4IGQ0ZWUyN2QuLjEyN2IxNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1weGEyN3guYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktcHhhMjd4LmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL3B4YS1yZWdzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhMnh4LXJlZ3MuaD4gLyogRklYTUU6IGZvciBQU1NSICovCiAjaW5jbHVkZSA8YXNtL2FyY2gvb2hjaS5oPgogCiAjZGVmaW5lIFBYQV9VSENfTUFYX1BPUlROVU0gICAgMwpAQCAtMTA0LDcgKzEwNSw3IEBACiAJVUhDSElFID0gKFVIQ0hJRV9VUFJJRSB8IFVIQ0hJRV9SV0lFKTsKIAogCS8qIENsZWFyIGFueSBPVEcgUGluIEhvbGQgKi8KLQlpZiAoUFNTUiAmIFBTU1JfT1RHUEgpCisJaWYgKGNwdV9pc19weGEyN3goKSAmJiAoUFNTUiAmIFBTU1JfT1RHUEgpKQogCQlQU1NSIHw9IFBTU1JfT1RHUEg7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zM2MyNDEwLmMgYi9kcml2ZXJzL3VzYi9ob3N0L29oY2ktczNjMjQxMC5jCmluZGV4IGVhZDQ3NzIuLjNjN2E3NDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zM2MyNDEwLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXMzYzI0MTAuYwpAQCAtOCw3ICs4LDcgQEAKICAqIFVTQiBCdXMgR2x1ZSBmb3IgU2Ftc3VuZyBTM0MyNDEwCiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogTW9kaWZpZWQgZm9yIFMzQzI0MTAgZnJvbSBvaGNpLXNhMTExMS5jLCBvaGNpLW9tYXAuYyBhbmQgb2hjaS1saDdhNDAuYwogICoJYnkgQmVuIERvb2tzLCA8YmVuQHNpbXRlYy5jby51az4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zYTExMTEuYyBiL2RyaXZlcnMvdXNiL2hvc3Qvb2hjaS1zYTExMTEuYwppbmRleCAwZjQ4ZjJkLi4yZTlkY2ViIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L29oY2ktc2ExMTExLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC9vaGNpLXNhMTExMS5jCkBAIC04LDcgKzgsNyBAQAogICogU0ExMTExIEJ1cyBHbHVlCiAgKgogICogV3JpdHRlbiBieSBDaHJpc3RvcGhlciBIb292ZXIgPGNoQGhwbC5ocC5jb20+Ci0gKiBCYXNlZCBvbiBmcmFnbWVudHMgb2YgcHJldmlvdXMgZHJpdmVyIGJ5IFJ1c2VsbCBLaW5nIGV0IGFsLgorICogQmFzZWQgb24gZnJhZ21lbnRzIG9mIHByZXZpb3VzIGRyaXZlciBieSBSdXNzZWxsIEtpbmcgZXQgYWwuCiAgKgogICogVGhpcyBmaWxlIGlzIGxpY2VuY2VkIHVuZGVyIHRoZSBHUEwuCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYyBiL2RyaXZlcnMvdXNiL21pc2MvZW1pMjYuYwppbmRleCA0YjlkYzgxLi40Yjk5NGEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTI2LmMKKysrIGIvZHJpdmVycy91c2IvbWlzYy9lbWkyNi5jCkBAIC0xNiwxOCArMTYsOCBAQAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgotCi0jZGVmaW5lIE1BWF9JTlRFTF9IRVhfUkVDT1JEX0xFTkdUSCAxNgotdHlwZWRlZiBzdHJ1Y3QgX0lOVEVMX0hFWF9SRUNPUkQKLXsKLQlfX3UzMglsZW5ndGg7Ci0JX191MzIJYWRkcmVzczsKLQlfX3UzMgl0eXBlOwotCV9fdTgJZGF0YVtNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEhdOwotfSBJTlRFTF9IRVhfUkVDT1JELCAqUElOVEVMX0hFWF9SRUNPUkQ7Ci0KLS8qIGluY2x1ZGUgZmlybXdhcmUgKHZhcmlhYmxlcykgKi8KLSNpbmNsdWRlICJlbWkyNl9mdy5oIgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAjZGVmaW5lIEVNSTI2X1ZFTkRPUl9JRCAJCTB4MDg2YSAgLyogRW1hZ2ljIFNvZnQtdW5kIEhhcmR3YXJlIEdtQkggKi8KICNkZWZpbmUgRU1JMjZfUFJPRFVDVF9JRAkJMHgwMTAwCS8qIEVNSSAyfDYgd2l0aG91dCBmaXJtd2FyZSAqLwpAQCAtNDAsNyArMzAsOSBAQAogI2RlZmluZSBDUFVDU19SRUcJCTB4N0Y5MiAgLyogRVotVVNCIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3Rlci4gIEJpdCAwIGNvbnRyb2xzIDgwNTEgcmVzZXQgKi8gCiAjZGVmaW5lIElOVEVSTkFMX1JBTShhZGRyZXNzKSAgIChhZGRyZXNzIDw9IE1BWF9JTlRFUk5BTF9BRERSRVNTKQogCi1zdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5KCBzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCBiUmVxdWVzdCk7CitzdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5KCBzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgICBfX3U4IGJSZXF1ZXN0KTsKIHN0YXRpYyBpbnQgZW1pMjZfc2V0X3Jlc2V0KHN0cnVjdCB1c2JfZGV2aWNlICpkZXYsIHVuc2lnbmVkIGNoYXIgcmVzZXRfYml0KTsKIHN0YXRpYyBpbnQgZW1pMjZfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldik7CiBzdGF0aWMgaW50IGVtaTI2X3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLCBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCAqaWQpOwpAQCAtNTAsNyArNDIsOSBAQAogCiAKIC8qIHRoYW5rcyB0byBkcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYyBjb2RlICovCi1zdGF0aWMgaW50IGVtaTI2X3dyaXRlbWVtb3J5IChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwgX191OCByZXF1ZXN0KQorc3RhdGljIGludCBlbWkyNl93cml0ZW1lbW9yeSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBpbnQgbGVuZ3RoLAorCQkJICAgICAgX191OCByZXF1ZXN0KQogewogCWludCByZXN1bHQ7CiAJdW5zaWduZWQgY2hhciAqYnVmZmVyID0gIGttZW1kdXAoZGF0YSwgbGVuZ3RoLCBHRlBfS0VSTkVMKTsKQEAgLTgzLDkgKzc3LDEyIEBACiAKIHN0YXRpYyBpbnQgZW1pMjZfbG9hZF9maXJtd2FyZSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldikKIHsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmxvYWRlcl9mdyA9IE5VTEw7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpiaXRzdHJlYW1fZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmVfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjOwogCWludCBlcnI7CiAJaW50IGk7Ci0JaW50IHBvcyA9IDA7CS8qIFBvc2l0aW9uIGluIGhleCByZWNvcmQgKi8KIAlfX3UzMiBhZGRyOwkvKiBBZGRyZXNzIHRvIHdyaXRlICovCiAJX191OCAqYnVmOwogCkBAIC05Niw2ICs5MywyMyBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZsb2FkZXJfZncsICJlbWkyNi9sb2FkZXIuZnciLCAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmYml0c3RyZWFtX2Z3LCAiZW1pMjYvYml0c3RyZWFtLmZ3IiwKKwkJCQkgICAgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG5vZnc7CisKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZpcm13YXJlX2Z3LCAiZW1pMjYvZmlybXdhcmUuZnciLAorCQkJCSAgICAmZGV2LT5kZXYpOworCWlmIChlcnIpIHsKKwlub2Z3OgorCQllcnIoICIlcyAtIHJlcXVlc3RfZmlybXdhcmUoKSBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gd3JhcGVycjsKKwl9CisKIAkvKiBBc3NlcnQgcmVzZXQgKHN0b3AgdGhlIENQVSBpbiB0aGUgRU1JKSAqLwogCWVyciA9IGVtaTI2X3NldF9yZXNldChkZXYsMSk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTEwMywxMyArMTE3LDE3IEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOwogCS8qIDEuIFdlIG5lZWQgdG8gcHV0IHRoZSBsb2FkZXIgZm9yIHRoZSBGUEdBIGludG8gdGhlIEVaLVVTQiAqLwotCWZvciAoaT0wOyBnX0xvYWRlcltpXS50eXBlID09IDA7IGkrKykgewotCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGdfTG9hZGVyW2ldLmFkZHJlc3MsIGdfTG9hZGVyW2ldLmRhdGEsIGdfTG9hZGVyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCXdoaWxlIChyZWMpIHsKKwkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKIAkJfQorCQlyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CiAJfQogCiAJLyogRGUtYXNzZXJ0IHJlc2V0IChsZXQgdGhlIENQVSBydW4pICovCkBAIC0xMjMsMTUgKzE0MSwxNiBAQAogCS8qIDIuIFdlIHVwbG9hZCB0aGUgRlBHQSBmaXJtd2FyZSBpbnRvIHRoZSBFTUkKIAkgKiBOb3RlOiBjb2xsZWN0IHVwIHRvIDEwMjMgKHllcyEpIGJ5dGVzIGFuZCBzZW5kIHRoZW0gd2l0aAogCSAqIGEgc2luZ2xlIHJlcXVlc3QuIFRoaXMgaXMgX211Y2hfIGZhc3RlciEgKi8KKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopYml0c3RyZWFtX2Z3LT5kYXRhOwogCWRvIHsKIAkJaSA9IDA7Ci0JCWFkZHIgPSBnX2JpdHN0cmVhbVtwb3NdLmFkZHJlc3M7CisJCWFkZHIgPSBiZTMyX3RvX2NwdShyZWMtPmFkZHIpOwogCiAJCS8qIGludGVsIGhleCByZWNvcmRzIGFyZSB0ZXJtaW5hdGVkIHdpdGggdHlwZSAwIGVsZW1lbnQgKi8KLQkJd2hpbGUgKChnX2JpdHN0cmVhbVtwb3NdLnR5cGUgPT0gMCkgJiYgKGkgKyBnX2JpdHN0cmVhbVtwb3NdLmxlbmd0aCA8IEZXX0xPQURfU0laRSkpIHsKLQkJCW1lbWNweShidWYgKyBpLCBnX2JpdHN0cmVhbVtwb3NdLmRhdGEsIGdfYml0c3RyZWFtW3Bvc10ubGVuZ3RoKTsKLQkJCWkgKz0gZ19iaXRzdHJlYW1bcG9zXS5sZW5ndGg7Ci0JCQlwb3MrKzsKKwkJd2hpbGUgKHJlYyAmJiAoaSArIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA8IEZXX0xPQURfU0laRSkpIHsKKwkJCW1lbWNweShidWYgKyBpLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisJCQlpICs9IGJlMTZfdG9fY3B1KHJlYy0+bGVuKTsKKwkJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAkJfQogCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGFkZHIsIGJ1ZiwgaSwgQU5DSE9SX0xPQURfRlBHQSk7CiAJCWlmIChlcnIgPCAwKSB7CkBAIC0xNDgsOCArMTY3LDExIEBACiAJfQogCiAJLyogMy4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIGZpcm13YXJlIGludG8gdGhlIEVaLVVTQiAoYWdhaW4uLi4pICovCi0JZm9yIChpPTA7IGdfTG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19Mb2FkZXJbaV0uYWRkcmVzcywgZ19Mb2FkZXJbaV0uZGF0YSwgZ19Mb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJZXJyID0gZW1pMjZfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKQEAgLTE2NSw5ICsxODcsMTMgQEAKIAl9CiAKIAkvKiA0LiBXZSBwdXQgdGhlIHBhcnQgb2YgdGhlIGZpcm13YXJlIHRoYXQgbGllcyBpbiB0aGUgZXh0ZXJuYWwgUkFNIGludG8gdGhlIEVaLVVTQiAqLwotCWZvciAoaT0wOyBnX0Zpcm13YXJlW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmICghSU5URVJOQUxfUkFNKGdfRmlybXdhcmVbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19GaXJtd2FyZVtpXS5hZGRyZXNzLCBnX0Zpcm13YXJlW2ldLmRhdGEsIGdfRmlybXdhcmVbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9FWFRFUk5BTCk7CisKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmICghSU5URVJOQUxfUkFNKGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpKSB7CisJCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJCUFOQ0hPUl9MT0FEX0VYVEVSTkFMKTsKIAkJCWlmIChlcnIgPCAwKSB7CiAJCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCQlnb3RvIHdyYXBlcnI7CkBAIC0xODIsOSArMjA4LDEyIEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKLQlmb3IgKGk9MDsgZ19GaXJtd2FyZVtpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoSU5URVJOQUxfUkFNKGdfRmlybXdhcmVbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTI2X3dyaXRlbWVtb3J5KGRldiwgZ19GaXJtd2FyZVtpXS5hZGRyZXNzLCBnX0Zpcm13YXJlW2ldLmRhdGEsIGdfRmlybXdhcmVbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJICAgICByZWM7IHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQlpZiAoSU5URVJOQUxfUkFNKGJlMzJfdG9fY3B1KHJlYy0+YWRkcikpKSB7CisJCQllcnIgPSBlbWkyNl93cml0ZW1lbW9yeShkZXYsIGJlMzJfdG9fY3B1KHJlYy0+YWRkciksCisJCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJCUFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKIAkJCWlmIChlcnIgPCAwKSB7CiAJCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCQlnb3RvIHdyYXBlcnI7CkBAIC0yMDUsNiArMjM0LDEwIEBACiAJZXJyID0gMTsKIAogd3JhcGVycjoKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShiaXRzdHJlYW1fZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCiAJa2ZyZWUoYnVmKTsKIAlyZXR1cm4gZXJyOwogfQpAQCAtMjU3LDUgKzI5MCw4IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIkVtYWdpYyBFTUkgMnw2IGZpcm13YXJlIGxvYWRlci4iKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJlbWkyNi9sb2FkZXIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgiZW1pMjYvYml0c3RyZWFtLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVtaTI2L2Zpcm13YXJlLmZ3Iik7CiAvKiB2aTphaTpzeW50YXg9Yzpzdz04OnRzPTg6dHc9ODAKICAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWkyNl9mdy5oIGIvZHJpdmVycy91c2IvbWlzYy9lbWkyNl9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDdmZjEwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pMjZfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDU3NzkgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aHJlZSBkaWZmZXJlbnQgZmlsZXMsIHByb3ZpZGVkIGJ5IEVtYWdpYy4KLSAqLwotLyogZ2VuZXJhdGVkIEZyaSBNYXIgOCAxNToxMTozNSBFRVQgMjAwMiAqLwotCi0vKgotICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQotICoKLSAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYwotICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCi0gKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAotICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bwotICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLSAqIGltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLSAqIGluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotICoKLSAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQotICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgotICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAotICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KLSAqLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19iaXRzdHJlYW1bXT17Ci17ICAxNiwgMHg4MDEwLCAwLCB7MHhmZiwweGZmLDB4ZmYsMHhmZiwweGFhLDB4OTksMHg1NSwweDY2LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNyB9IH0sCi17ICAxNiwgMHg4MDIwLCAwLCB7MHgzMCwweDAxLDB4NjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDBiLDB4MzAsMHgwMSwweDIwLDB4MDEsMHgwMCwweDgwLDB4M2YsMHgyZCB9IH0sCi17ICAxNiwgMHg4MDMwLCAwLCB7MHgzMCwweDAwLDB4YzAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSB9IH0sCi17ICAxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHg4MDUwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwMCwweDUwLDB4MDAsMHgzZSwweDA0LDB4MDgsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MDgwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg4NCB9IH0sCi17ICAxNiwgMHg4MGIwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTEwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MTQwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTcwLCAwLCB7MHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4NCB9IH0sCi17ICAxNiwgMHg4MWEwLCAwLCB7MHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjcsMHgxMCwweDAxLDB4MTQsMHgwMCwweDI1LDB4MDAsMHgwNSB9IH0sCi17ICAxNiwgMHg4MWIwLCAwLCB7MHg0MCwweDAxLDB4NTAsMHgwMCwweDk0LDB4MDAsMHgxNSwweDAwLDB4MDcsMHg0MCwweDAxLDB4ZDAsMHgwMCwweDk0LDB4MDAsMHgyNSB9IH0sCi17ICAxNiwgMHg4MWMwLCAwLCB7MHg4MCwweDAxLDB4NjAsMHgwMiwweGQ4LDB4MDAsMHhmNiwweDAwLDB4MmYsMHg4MCwweDAyLDB4ZTAsMHgwNCwweGQ4LDB4MzcsMHg0NCB9IH0sCi17ICAxNiwgMHg4MWQwLCAwLCB7MHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYyLDB4MDAsMHhjYywweDkwLDB4MzksMHgyMCB9IH0sCi17ICAxNiwgMHg4MWUwLCAwLCB7MHgwZCwweDk4LDB4MDMsMHhkMiwweDAwLDB4ZTcsMHg4MCwweDM3LDB4MDQsMHgwZSwweGYxLDB4ODMsMHg3ZSwweDAwLDB4ZGYsMHg5MCB9IH0sCi17ICAxNiwgMHg4MWYwLCAwLCB7MHgzMSwweGU0LDB4OGYsMHg3OSwweDAzLDB4N2MsMHgyMCwweGRmLDB4MjIsMHgzMywweGMwLDB4MGMsMHhmMCwweDIyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweDYyLDB4MDAsMHg4MCwweDI0LDB4MjIsMHgyMCB9IH0sCi17ICAxNiwgMHg4MjEwLCAwLCB7MHgwOCwweDk4LDB4MTIsMHhlMiwweDAwLDB4OGIsMHg4MSwweDIwLDB4OTQsMHgwOCwweDc0LDB4MDIsMHgyZSwweDAwLDB4OGEsMHgwMSB9IH0sCi17ICAxNiwgMHg4MjIwLCAwLCB7MHgyMiwweGM4LDB4MDgsMHg5MiwweDAyLDB4M2QsMHg4MCwweDhiLDB4NjAsMHgyMiwweDgwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDAsMHhhMCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjQwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjMCwweDAwLDB4YTEsMHgwMCwweDI0LDB4MDksMHg0YSwweDMyLDB4MDIsMHg0OCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjUwLCAwLCB7MHg2MiwweGMwLDB4MDksMHhhMCwweDQ2LDB4Y2MsMHgyNCwweDkzLDB4NDksMHgyYSwweDgwLDB4NDgsMHgzMCwweDIyLDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHg4MjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE4LDB4MTIsMHhhOCwweDAwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjcwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlMCwweDAwLDB4ODksMHg4MCwweDIyLDB4NDQsMHgwOCwweGIwLDB4MTIsMHhhOCwweDAwLDB4YTksMHg0MCB9IH0sCi17ICAxNiwgMHg4MjgwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg5MCwweDgyLDB4YWMsMHgwMCwweDliLDB4MDQsMHgyYSwweGM0LDB4MDgsMHhiMCwweDAyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNCwweDg0LDB4MDAsMHhlOSwweDgwLDB4YjIsMHg2NCB9IH0sCi17ICAxNiwgMHg4MmEwLCAwLCB7MHg0ZCwweGEwLDB4MDMsMHhlYSwweDIwLDB4ZTksMHhjMCwweDM2LDB4NDAsMHgwZSwweGIwLDB4MDMsMHg0NCwweDAwLDB4ZmIsMHg5MCB9IH0sCi17ICAxNiwgMHg4MmIwLCAwLCB7MHhiMiwweDg4LDB4MGQsMHhiYywweDAzLDB4ZWMsMHgwOCwweDViLDB4MDAsMHgzOCwweDYwLDB4MmMsMHhiMCwweDYzLDB4NDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MjYsMHhkZCwweDkwLDB4MzcsMHg0MCB9IH0sCi17ICAxNiwgMHg4MmQwLCAwLCB7MHg0ZiwweGUwLDB4MTMsMHhmMiwweDgwLDB4ZmQsMHgwMCwweDNkLDB4YTAsMHgwZCwweDcwLDB4MDMsMHg3NSwweDAwLDB4NWUsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmUwLCAwLCB7MHgzZiwweGE0LDB4MGQsMHhmOSwweDAzLDB4NWMsMHgxMCwweGViLDB4MDAsMHgzNywweDIwLDB4MGYsMHgzMCwweDAzLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4MzAwLCAwLCB7MHgwYywweGExLDB4ODMsMHhlOCwweDAwLDB4ZTksMHgwMCwweDMyLDB4NDIsMHgwZSwweGIwLDB4MDMsMHhhYywweDQ4LDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHg4MzEwLCAwLCB7MHgzYSwweDgwLDB4MGUsMHhhNCwweDAzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHhiMiwweDAzLDB4MGUsMHhiMCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJlLDB4ODAsMHg4OSwweGQxLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg4MzMwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHhjMCwweDAwLDB4ODEsMHg4MCwweDIyLDB4NTgsMHgwOCwweGY1LDB4MDIsMHgyZiwweDQwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzQwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDQzLDB4N2MsMHgwMCwweDg3LDB4MDAsMHgyMiwweDQwLDB4MDgsMHhmMCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQyLDB4MDEsMHg5YSwweDQ0LDB4MjgsMHhhMiB9IH0sCi17ICAxNiwgMHg4MzYwLCAwLCB7MHgwOCwweDE4LDB4MDIsMHhjMCwweDgwLDB4YTEsMHg4MCwweGEwLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4ZSwweDAwLDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzcwLCAwLCB7MHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMCwweDQ0LDB4MGEsMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMSwweDMyLDB4MDAsMHg5NiwweDgyLDB4MmIsMHhhMiB9IH0sCi17ICAxNiwgMHg4MzkwLCAwLCB7MHg4OCwweDVhLDB4MDIsMHhmMiwweDAwLDB4MDUsMHg4MCwweDI5LDB4YTAsMHgwOCwweDc4LDB4NDIsMHhiZSwweDAwLDB4OGUsMHg4NCB9IH0sCi17ICAxNiwgMHg4M2EwLCAwLCB7MHgyZiwweDYxLDB4MGEsMHhkOCwweDAyLDB4NGUsMHgxMCwweGE3LDB4ODAsMHgyMCwweDI4LDB4MDgsMHg3OCwweDAyLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2IwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhmMiwweDI0LDB4MzgsMHg4MCB9IH0sCi17ICAxNiwgMHg4M2MwLCAwLCB7MHgyYywweDFhLDB4MDMsMHhjNCwweDAwLDB4ZTAsMHg1OCwweGEwLDB4ODAsMHgyZSwweDMwLDB4MDMsMHg4OCwweDQxLDB4ZTMsMHgwMiB9IH0sCi17ICAxNiwgMHg4M2QwLCAwLCB7MHgzYywweDQwLDB4MDYsMHgyMCwweDAzLDB4OGMsMHgwMCwweGUzLDB4MDAsMHgxMCwweDAwLDB4MGUsMHgzMSwweDQzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHg4M2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDk4LDB4MDAsMHhlZSwweDAxLDB4MzcsMHg4NCB9IH0sCi17ICAxNiwgMHg4M2YwLCAwLCB7MHg5ZiwweGQ5LDB4MDMsMHhmMCwweDQ4LDB4ZmQsMHgxMCwweDM3LDB4YzAsMHgwNywweGIwLDB4MDMsMHg1YywweDAwLDB4ZjYsMHgxMCB9IH0sCi17ICAxNiwgMHg4NDAwLCAwLCB7MHgzMywweGMwLDB4MGQsMHhlMSwweDAzLDB4ZWQsMHgyMCwweGRmLDB4MTAsMHgzZiwweDQ4LDB4MGYsMHhmMCwweDIzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4NDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDIsMHhjYiwweDgwLDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4NDIwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlMiwweDAyLDB4YzksMHgwMCwweDNhLDB4NDAsMHgwZCwweGI2LDB4MDMsMHg2NCwweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDMwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHgwMCwweGZiLDB4MDEsMHgzZSwweGUwLDB4MGMsMHhiMCwweDAyLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg4NDUwLCAwLCB7MHgyOCwweDYwLDB4MDIsMHhkMCwweDAwLDB4ODUsMHgwMCwweDJkLDB4ODAsMHg0OCwweGYwLDB4ODIsMHgxYywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDYwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg1MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4YTAsMHgyZiwweDgwLDB4MjgsMHg3YSwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4NDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzEsMHgwMCwweGJlLDB4MDAsMHg4NywweDgwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg4NDgwLCAwLCB7MHgyOCwweDY4LDB4MDIsMHhkNywweDAwLDB4ODQsMHg4MCwweDJkLDB4ZTAsMHg0OSwweDc5LDB4MDYsMHg1MywweDA5LDB4YjUsMHg4MCB9IH0sCi17ICAxNiwgMHg4NDkwLCAwLCB7MHgyZCwweGUyLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHg4MCwweGI3LDB4OTAsMHgyZCwweGIwLDB4MDgsMHg3OSwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MTAsMHg4MywweDAxLDB4MjgsMHhjOCB9IH0sCi17ICAxNiwgMHg4NGIwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHhjMiwweDA2LDB4ODEsMHgwMCwweDJjLDB4YzgsMHg4OCwweDMwLDB4NjIsMHgwZSwweDIxLDB4YjMsMHhhMCB9IH0sCi17ICAxNiwgMHg4NGMwLCAwLCB7MHgyYywweGMxLDB4MGIsMHhiNiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGUwLDB4MDgsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4NGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhjYSwweDQwLDB4YjAsMHg4MCB9IH0sCi17ICAxNiwgMHg4NGUwLCAwLCB7MHgwYywweDJjLDB4MDIsMHhmOCwweDAwLDB4YzYsMHgyMCwweDNmLDB4OTAsMHgwZCwweGEwLDB4MDMsMHg3YiwweDAxLDB4ZWUsMHhlMCB9IH0sCi17ICAxNiwgMHg4NGYwLCAwLCB7MHgzZiwweGI0LDB4MGYsMHhlYywweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZiwweGEwLDB4MGMsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUzLDB4MDAsMHhmOCwweDA5LDB4MjYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTEwLCAwLCB7MHgwZiwweGMxLDB4ODMsMHhlMCwweDEwLDB4ZjgsMHg0MCwweDNjLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTQwLCAwLCB7MHg0ZiwweDkwLDB4NjMsMHgyNiwweDg0LDB4MzksMHgwMiwweGIyLDB4NDAsMHgwYywweDkxLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGYxLDB4MDAsMHgzYSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDQ1LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTcwLCAwLCB7MHgwOCwweDkyLDB4MGEsMHgyNCwweDAwLDB4YjksMHgzMSwweDIyLDB4NjAsMHg4OCwweDk0LDB4OGEsMHgyNCwweDIwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDY4LDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4YTAsMHg4ZCwweDg0LDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHg4NWEwLCAwLCB7MHgwYiwweGQxLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NGEsMHgwOCwweDEwLDB4MDIsMHgyYywweDQwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NWIwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDE0LDB4MDAsMHg4NSwweDgwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHg4NWQwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHgwNCwweDBjLDB4YjksMHgwMCwweGEwLDB4NTAsMHgwOCwweDE0LDB4MjIsMHgwNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWUwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MjgsMHgyMCwweDRhLDB4MGIsMHgxMywweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjMCwweDUwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHg4NjAwLCAwLCB7MHgwZiwweGMwLDB4NDMsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDMwLDB4MDAsMHgyYywweDgwLDB4MjMsMHgyMCwweDAwLDB4ZjgsMHg1MSB9IH0sCi17ICAxNiwgMHg4NjEwLCAwLCB7MHgzZSwweDE0LDB4OGYsMHg4NSwweDBiLDB4MjEsMHg0MCwweGY4LDB4NzAsMHgzYSwweDA4LDB4MGYsMHg4NCwweDgzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg4NjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGM0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4NjMwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhkNCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhmNCwweDA0LDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjQwLCAwLCB7MHgzZiwweDQxLDB4OGYsMHhkMCwweDQzLDB4ZTUsMHgwYywweGY5LDB4MDIsMHgzZiwweDRhLDB4MGYsMHg5MiwweDAzLDB4ZTYsMHgwMiB9IH0sCi17ICAxNiwgMHg4NjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGQ0LDB4MDEsMHhmZCwweDAwLDB4M2QsMHg0MCB9IH0sCi17ICAxNiwgMHg4NjYwLCAwLCB7MHgwYywweGQwLDB4MTMsMHhmNCwweDAwLDB4ZDUsMHgwMCwweDMzLDB4NmEsMHgxYywweGRjLDB4ODMsMHgzNCwweDAwLDB4ZDEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NjcwLCAwLCB7MHgzZSwweDUwLDB4MGMsMHg5MSwweDAzLDB4ZTYsMHhjMCwweGRkLDB4YjAsMHgzMywweDZhLDB4MmMsMHg5YywweDgzLDB4ZTYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDksMHhmOCwweDgwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjkwLCAwLCB7MHg4OCwweDgwLDB4MDAsMHhlOCwweDAwLDB4YmEsMHgwMCwweDIyLDB4YjAsMHgwOCwweDhlLDB4MDIsMHgyOCwweDAwLDB4ODgsMHhhOCB9IH0sCi17ICAxNiwgMHg4NmEwLCAwLCB7MHgyNiwweDI4LDB4MDgsMHg4YSwweDIyLDB4ZTIsMHgwMCwweDg4LDB4ZTQsMHgyMiwweDMwLDB4MDgsMHg4YywweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg4NmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDI4LDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg4NmMwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4OTksMHgwMCwweDIwLDB4NDIsMHg0OCwweDEwLDB4MDIsMHg2NCwweDAxLDB4OTEsMHg4MCB9IH0sCi17ICAxNiwgMHg4NmQwLCAwLCB7MHgyYywweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHhjMCwweDgxLDB4NDAsMHgyMCwweDRhLDB4MDgsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4OTQsMHhhOSwweDAyLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg4NmYwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCwweDgyLDB4NjAsMHgwOCwweDkwLDB4MDIsMHg2NiwweDAwLDB4ODksMHgxMCB9IH0sCi17ICAxNiwgMHg4NzAwLCAwLCB7MHgyNCwweDYyLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDIsMHgyMiwweDQwLDB4MTgsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4MDAsMHhiOSwweDA0LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4NzIwLCAwLCB7MHgwYywweDkwLDB4MTMsMHhlNCwweDAwLDB4ZDEsMHhjMCwweDEyLDB4NTAsMHgyOCwweDkwLDB4MDMsMHg0NCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHg4NzMwLCAwLCB7MHgzZSwweDQwLDB4MjgsMHg5MiwweDAzLDB4ZTQsMHgwMiwweGQ5LDB4MDAsMHgzMiwweDQyLDB4OGMsMHg5MCwweDEyLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE2LDB4MjAsMHhmOSwweDAwLDB4M2UsMHg0MSB9IH0sCi17ICAxNiwgMHg4NzUwLCAwLCB7MHgyZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDEsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NzYwLCAwLCB7MHgzNiwweDQwLDB4OGYsMHg5MiwweDA3LDB4ZTQsMHgwMCwweGYxLDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgyMCB9IH0sCi17ICAxNiwgMHg4NzgwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlMCwweDQwLDB4ZjgsMHgwMCwweDM2LDB4MTIsMHgyYywweDAwLDB4MDMsMHhlMCwweGMwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzkwLCAwLCB7MHgzMiwweDEwLDB4MGQsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDIsMHgzZSwweDA4LDB4MGYsMHg4MCwweDAwLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4N2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDNhLDB4OTAsMHg4ZSwweDAwLDB4MmQsMHhhMCB9IH0sCi17ICAxNiwgMHg4N2IwLCAwLCB7MHg4MCwweGU4LDB4MDIsMHhmYSwweDAwLDB4YmUsMHg0MCwweDIzLDB4ODAsMHgwOCwweGU4LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2MwLCAwLCB7MHgzNiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGJhLDB4MDAsMHgyZiwweDgwLDB4MGIsMHhhMCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ2LDB4MDIsMHg4MywweDAwLDB4MmMsMHg4MCB9IH0sCi17ICAxNiwgMHg4N2UwLCAwLCB7MHgwOCwweDIyLDB4NDIsMHhjNiwweDgwLDB4YjEsMHg2MCwweDJlLDB4ZjQsMHgwOCwweDM4LDB4MjIsMHhjZSwweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2YwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YWMsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDIsMHg4NSwweDAxLDB4MmQsMHhjMiB9IH0sCi17ICAxNiwgMHg4ODEwLCAwLCB7MHhhOCwweDQ0LDB4MDIsMHhkNCwweDAwLDB4YmQsMHgwMSwweDI5LDB4NDAsMHgxOCwweDY4LDB4ZDIsMHhkYywweDAwLDB4OGYsMHg4MCB9IH0sCi17ICAxNiwgMHg4ODIwLCAwLCB7MHgyNSwweGNjLDB4MjgsMHg3MywweDQyLDB4ZGMsMHg4MCwweGI1LDB4MzAsMHgyZCwweGMwLDB4MWIsMHg3MiwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDQsMHhjNiwweDgyLDB4M2QsMHhlMCB9IH0sCi17ICAxNiwgMHg4ODQwLCAwLCB7MHgwYywweDQ4LDB4MTIsMHhkNiwweDEwLDB4ZjUsMHg4MCwweDNjLDB4YTAsMHgwYywweDcwLDB4MDMsMHhkZSwweDAwLDB4ZTcsMHg5MCB9IH0sCi17ICAxNiwgMHg4ODUwLCAwLCB7MHgyMywweGVhLDB4MDQsMHg3YSwweDAzLDB4OWUsMHgwMCwweGY1LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3YSwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwZCwweGFjLDB4MDAsMHg5YywweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg4ODcwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlNCwweDEwLDB4ZjksMHgwMCwweDM2LDB4MDEsMHgwZiwweGEwLDB4MDMsMHhjMCwweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODgwLCAwLCB7MHgzZSwweGQ4LDB4NGUsMHhiMCwweDgzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiNCwweDQzLDB4ODIsMHgwNiB9IH0sCi17ICAxNiwgMHg4ODkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGRlLDB4MDAsMHhjZiwweDg0LDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHg4OGEwLCAwLCB7MHgwZSwweGM4LDB4NDMsMHhkNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4ZTAsMHhjZCwweGQ5LDB4MDMsMHgzYSwweDAwLDB4ZmYsMHg4OCB9IH0sCi17ICAxNiwgMHg4OGIwLCAwLCB7MHgzMywweGUwLDB4MGYsMHhmOSwweDEzLDB4ZmUsMHgyNCwweGZkLDB4ODAsMHgzZiwweDIwLDB4MGMsMHhmNiwweDgzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHg4NSwweDAwLDB4MjEsMHhjNCB9IH0sCi17ICAxNiwgMHg4OGQwLCAwLCB7MHgyOCwweDQwLDB4ODIsMHhkMCwweDAwLDB4ZDUsMHgwMCwweDIzLDB4ODAsMHg0OCwweGM5LDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGUwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MSwweDAyLDB4ZGUsMHg4MCwweGI1LDB4MTAsMHgyZCwweGMwLDB4MjgsMHhmMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4OGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHg5NiwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTAwLCAwLCB7MHgwYSwweDQxLDB4MDIsMHhmNSwweDQwLDB4OGQsMHgwMCwweDIxLDB4NDAsMHgwOSwweDUyLDB4MDIsMHg5OCwweDIwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDA2LDB4ZGMsMHg4MCwweGI1LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGNjLDB4MTAsMHg5OCwweDAwLDB4MDAsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTMwLCAwLCB7MHg4OCwweDA0LDB4ODIsMHhjMCwweDAwLDB4OTEsMHgwNCwweDIwLDB4MDMsMHgwOSwweDAwLDB4MDIsMHg4YSwweDAwLDB4YjMsMHgwYSB9IH0sCi17ICAxNiwgMHg4OTQwLCAwLCB7MHgyMCwweGM0LDB4OGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweGI5LDB4MDAsMHgyYywweGMwLDB4MDAsMHgzMCwweDAyLDB4MTgsMHgwNCB9IH0sCi17ICAxNiwgMHg4OTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjgsMHgxNSwweGFjLDB4MDAsMHhkYiwweDAwLDB4YjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTYwLCAwLCB7MHgwZSwweDljLDB4MDIsMHhjNSwweDAwLDB4YzEsMHgxMCwweGIyLDB4YzAsMHgwZCwweGIwLDB4MGIsMHhhNywweDA4LDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTcwLCAwLCB7MHhiMywweGMwLDB4MGYsMHhmYSwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZSwweGQ0LDB4MGMsMHhmMCwweDBiLDB4MmUsMHgwNCB9IH0sCi17ICAxNiwgMHg4OTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDQsMHhlZCwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4OTkwLCAwLCB7MHgwZiwweDg0LDB4MDMsMHhlNSwweDQwLDB4ZjksMHg0MCwweDNlLDB4NjAsMHhjZSwweGI0LDB4NDMsMHg2NCwweDAwLDB4ZmIsMHg4MCB9IH0sCi17ICAxNiwgMHg4OWEwLCAwLCB7MHgzZSwweGMyLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4MDIsMHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZTEsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgxMCwweGZmLDB4MDAsMHhjZSwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHg4OWMwLCAwLCB7MHgwZSwweGMwLDB4MDcsMHg3NCwweDA0LDB4ZWMsMHgwMCwweDExLDB4ODAsMHgwYywweGNhLDB4MDMsMHhmZSwweDYwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDgzLDB4M2MsMHgwMCwweGRkLDB4MDAsMHhiMywweDUwLDB4MmMsMHhmMCwweDAzLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDRjLDB4MDQsMHg4YiwweDBiLDB4MjIsMHg3MCB9IH0sCi17ICAxNiwgMHg4OWYwLCAwLCB7MHgwOCwweDA4LDB4MDMsMHg2NywweDIwLDB4OGEsMHg4OCwweGEyLDB4MDAsMHgyOCwweDg0LDB4MDIsMHhlNywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTAwLCAwLCB7MHgzZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyMiwweDYxLDB4MDgsMHhiMCwweDAzLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHg4YTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDIwLDB4MjIsMHhlMiB9IH0sCi17ICAxNiwgMHg4YTIwLCAwLCB7MHgwYSwweDhjLDB4MDIsMHgyNiwweDAwLDB4YTksMHg4MCwweDJhLDB4YzAsMHgwOCwweGI0LDB4NDIsMHhlZCwweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBlLDB4MDEsMHg4MSwweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHg4YTUwLCAwLCB7MHgwOCwweDgxLDB4MDIsMHg0NCwweDAwLDB4ODEsMHgwMCwweDI4LDB4ODEsMHgwOCwweDMyLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTYwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHg4MCwweGIxLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDEyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwZCwweDZjLDB4MDAsMHhjMiwweDAxLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg4YTgwLCAwLCB7MHgyZSwweDgwLDB4MTYsMHgyYywweDA4LDB4ZTksMHgwMCwweDNhLDB4NDAsMHgwYywweDgwLDB4MDMsMHhlYywweDAwLDB4ZjcsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTkwLCAwLCB7MHgyZiwweGMwLDB4MGYsMHhmMCwweDBiLDB4MmMsMHgwMCwweGQ5LDB4MDAsMHgzMCwweDQwLDB4MGMsMHhmMCwweDAzLDB4NjAsMHgwMyB9IH0sCi17ICAxNiwgMHg4YWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwZCwweGY4LDB4MDgsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg4YWIwLCAwLCB7MHgwZiwweGMyLDB4MTcsMHhmYywweDAwLDB4ZjcsMHgwMCwweDM3LDB4MDAsMHgwZiwweDg0LDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWQsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHg4YWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjZiwweDMwLDB4MTcsMHg0OCB9IH0sCi17ICAxNiwgMHg4YWUwLCAwLCB7MHgwYywweDU5LDB4MDMsMHhiOSwweDAwLDB4ZGYsMHgyOCwweDM1LDB4MjQsMHgwZCwweDgyLDB4YTMsMHg3YywweDgwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWYwLCAwLCB7MHgzZiwweGM4LDB4MGYsMHhmMiwweDAzLDB4ZTQsMHhhMCwweGVmLDB4ODAsMHgzZiwweGUxLDB4OGMsMHhkOCwweDQzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVkLDB4NDgsMHg4OSwweDM0LDB4YTMsMHg3MCB9IH0sCi17ICAxNiwgMHg4YjEwLCAwLCB7MHgyOCwweGIwLDB4MjMsMHg2MCwweDAwLDB4OGIsMHhjMCwweDIyLDB4NDAsMHgwOCwweGI0LDB4ODIsMHgyZiwweDQwLDB4YmYsMHhkMSB9IH0sCi17ICAxNiwgMHg4YjIwLCAwLCB7MHg2ZiwweGY0LDB4OGUsMHhiZCwweDAyLDB4ZTcsMHgwMCwweGJiLDB4ODAsMHgzYSwweGUwLDB4MDgsMHg5OCwweDBhLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4YjAsMHg5MSwweDAwLDB4YTgsMHg1MCB9IH0sCi17ICAxNiwgMHg4YjQwLCAwLCB7MHgwOCwweGIyLDB4MDIsMHhjOCwweDg0LDB4OTMsMHgwMCwweDI0LDB4NDksMHgwYiwweDAyLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjUwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDQyLDB4ODQsMHgwMCwweGIzLDB4MDAsMHgyZSwweDAwLDB4MGEsMHhiMCwweDEyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHg4YjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGFjLDB4MDIsMHg5OSwweDE4LDB4MmEsMHg0NCB9IH0sCi17ICAxNiwgMHg4YjcwLCAwLCB7MHgwOCwweGI4LDB4ODIsMHhhMiwweDAxLDB4YmIsMHgwMCwweDI4LDB4NjAsMHgwYSwweGEwLDB4MTIsMHg2YywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjgwLCAwLCB7MHg2ZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTQsMHgwMCwweGJiLDB4MDAsMHgyYSwweDAwLDB4MmEsMHhiMCwweDAyLDB4MzgsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGU0LDB4MDgsMHhkYSwweGMwLDB4M2EsMHg2MCB9IH0sCi17ICAxNiwgMHg4YmEwLCAwLCB7MHgwYywweDE4LDB4MGEsMHhlYiwweDA0LDB4ZGIsMHgwMCwweDM2LDB4ZTAsMHgwNywweDg1LDB4ODMsMHg2YywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmIwLCAwLCB7MHgyZSwweGMwLDB4MGYsMHhiMCwweDQzLDB4ZTQsMHgwMCwweGViLDB4MDAsMHgzZSwweDg4LDB4MGUsMHgxOCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4YmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHg0MSwweDljLDB4MTAsMHhlOSwweDAwLDB4MzcsMHg2MCB9IH0sCi17ICAxNiwgMHg4YmQwLCAwLCB7MHg4NywweGYwLDB4MTcsMHg3MCwweDAwLDB4Y2YsMHgwMSwweDM3LDB4YzAsMHg0YywweDk4LDB4MDMsMHhiYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmUwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmMCwweDAzLDB4ZTQsMHgwMCwweGZmLDB4NDAsMHgzZiwweGU0LDB4MGQsMHhkOSwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE0LDB4MDAsMHhmNCwweDAwLDB4MzAsMHg0MCB9IH0sCi17ICAxNiwgMHg4YzAwLCAwLCB7MHgwZiwweGI0LDB4MDMsMHg5OSwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZCwweDA0LDB4MjMsMHgyYywweDA4LDB4ZmIsMHg4OCB9IH0sCi17ICAxNiwgMHg4YzEwLCAwLCB7MHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTYsMHgwMCwweGRiLDB4MTAsMHgzZSwweDAyLDB4MGYsMHhiMCwweDgzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4YzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiOSwweDUwLDB4YTIsMHg0OCB9IH0sCi17ICAxNiwgMHg4YzMwLCAwLCB7MHg4YiwweGIwLDB4MDMsMHgyMCwweDAwLDB4ZDcsMHg4MCwweDJlLDB4ZDgsMHgwMCwweDgwLDB4MDIsMHgzYywweDAwLDB4YmYsMHg4MCB9IH0sCi17ICAxNiwgMHg4YzQwLCAwLCB7MHgyMywweGU4LDB4OGIsMHhmMCwweDAyLDB4ZjQsMHg0MCwweDhiLDB4NDAsMHgwYywweDQyLDB4MDMsMHhiNiwweDAyLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMiwweDQ0LDB4MDAsMHhjOCB9IH0sCi17ICAxNiwgMHg4YzYwLCAwLCB7MHgwYiwweDMwLDB4MTIsMHg4YywweDAwLDB4YTMsMHg4MCwweDI0LDB4YzgsMHgwYiwweDAwLDB4MGEsMHhjYywweDAwLDB4YjMsMHg0NCB9IH0sCi17ICAxNiwgMHg4YzcwLCAwLCB7MHgwNCwweGMwLDB4MWIsMHgzNiwweDAyLDB4YzUsMHgwMSwweDgzLDB4MGMsMHgyYywweGEwLDB4MGIsMHgzMCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDgsMHhiNywweDkwLDB4MjEsMHg2NCB9IH0sCi17ICAxNiwgMHg4YzkwLCAwLCB7MHgwYiwweGY4LDB4MDIsMHg0YSwweDA0LDB4OTcsMHg4MSwweDJmLDB4ZTQsMHgwYSwweDc4LDB4MDIsMHg5ZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg4Y2EwLCAwLCB7MHgyMSwweGUwLDB4OGIsMHg3OCwweDgyLDB4ZDYsMHg4NiwweDg3LDB4ODQsMHgyZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2IwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA0LDB4MDAsMHhmMiwweDAwLDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4Y2MwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4YywweDAwLDB4ZTMsMHgwYSwweDNjLDB4YzAsMHgwZiwweDE4LDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwMiB9IH0sCi17ICAxNiwgMHg4Y2QwLCAwLCB7MHgzMCwweGMwLDB4MWYsMHgzMCwweDAxLDB4YzYsMHg4MCwweGMzLDB4MDAsMHgzYywweGMwLDB4MGYsMHgxMiwweDAzLDB4ZGEsMHgwMiB9IH0sCi17ICAxNiwgMHg4Y2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MSB9IH0sCi17ICAxNiwgMHg4Y2YwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhiOCwweDA4LDB4ZmYsMHgwOCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHgzYywweDIwLDB4ZmYsMHgwOCB9IH0sCi17ICAxNiwgMHg4ZDAwLCAwLCB7MHgzYiwweGQyLDB4MGYsMHhmMCwweDAzLDB4ZjQsMHg0MCwweGVmLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhkMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4ZDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhmZSwweDAwLDB4MzIsMHhjMiB9IH0sCi17ICAxNiwgMHg4ZDIwLCAwLCB7MHgwYywweDMwLDB4MGIsMHgyNiwweDAwLDB4ZmIsMHg4MCwweDM2LDB4YzAsMHgwZCwweGEwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHhlMCB9IH0sCi17ICAxNiwgMHg4ZDMwLCAwLCB7MHgzMiwweGQwLDB4MGYsMHhiOCwweDQzLDB4NjQsMHg0NCwweGRiLDB4MDQsMHgzZSwweDgwLDB4MGYsMHhiMCwweDAzLDB4ZTIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4YTEsMHhjMCB9IH0sCi17ICAxNiwgMHg4ZDUwLCAwLCB7MHg4OCwweDcwLDB4MDMsMHgxMCwweDAwLDB4YjcsMHgyMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwLDB4YjMsMHgzMCB9IH0sCi17ICAxNiwgMHg4ZDYwLCAwLCB7MHgzMSwweGM4LDB4MGIsMHg3NCwweDAyLDB4MTQsMHgwMCwweDg3LDB4NDAsMHgyZCwweGMwLDB4NGIsMHg3MCwweDAyLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDk2LDB4MjAsMHhiNiwweDgwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHg4ZDgwLCAwLCB7MHgyOCwweGY4LDB4MDIsMHg5NCwweDEwLDB4YjcsMHg4MSwweDI3LDB4ZTIsMHgwOSwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZDkwLCAwLCB7MHhhOSwweGU4LDB4MGIsMHgzOCwweDAyLDB4NzYsMHgwMCwweDg3LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg1OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNlLDB4MTAsMHhiMywweDAwLDB4MjAsMHhjNCB9IH0sCi17ICAxNiwgMHg4ZGIwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHg4MCwweDEwLDB4YjMsMHgwMCwweDIyLDB4YzgsMHgwOCwweGIwLDB4MDIsMHhjYywweDExLDB4YjMsMHgwMiB9IH0sCi17ICAxNiwgMHg4ZGMwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDQsMHgwMCwweDkzLDB4ODAsMHgyYywweGQyLDB4MGIsMHgxMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweDQwLDB4MzIsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZGUwLCAwLCB7MHgwYywweGU0LDB4MDMsMHg5OCwweDgwLDB4ZmEsMHgwMCwweDM3LDB4YTAsMHgwZCwweGUwLDB4ODMsMHhlOCwweDAwLDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGYwLCAwLCB7MHgzYSwweDgwLDB4MGIsMHhhMCwweDAzLDB4NjgsMHgwMCwweGQ4LDB4YTAsMHgzZiwweDkwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDgsMHhmOCwweDA4LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTEwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTIwLCAwLCB7MHgzMCwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTQwLCAwLCB7MHgwZSwweDkwLDB4ODMsMHhhNCwweDAwLDB4YzksMHg4MCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTUwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM4LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTAsMHg2MiB9IH0sCi17ICAxNiwgMHg4ZTcwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgyNCwweDEwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTgwLCAwLCB7MHgyZSwweDUyLDB4MDgsMHg5NCwweDAyLDB4YzQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDQwLDB4MGIsMHgxMCwweDAzLDB4NjAsMHgxMCB9IH0sCi17ICAxNiwgMHg4ZTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDE4LDB4MjIsMHg0NCB9IH0sCi17ICAxNiwgMHg4ZWEwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4ODksMHgxMCwweDJlLDB4YzAsMHgwYSwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHg4MCB9IH0sCi17ICAxNiwgMHg4ZWIwLCAwLCB7MHgyZSwweDYwLDB4MDgsMHg5OCwweDAyLDB4ZTYsMHgwMiwweDg5LDB4MDgsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg0OCB9IH0sCi17ICAxNiwgMHg4ZWQwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODEsMHgyMywweDJjLDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgyMCB9IH0sCi17ICAxNiwgMHg4ZWUwLCAwLCB7MHgyYywweDQ4LDB4MjgsMHgxMiwweDAyLDB4ZTQsMHg4MCwweDgxLDB4MjAsMHgyYywweDQwLDB4MGIsMHg5OCwweDAyLDB4NDIsMHgwNSB9IH0sCi17ICAxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjAwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMSwweGUwLDB4Y2EsMHgwMCwweDNlLDB4MDAsMHgwZSwweDg1LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjEwLCAwLCB7MHgyZSwweDAwLDB4OWMsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MjgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MmUsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhmNSwweDEwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHg4ZjMwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZjEsMHgxMCwweDNkLDB4NDAsMHg4ZiwweGQ0LDB4MDMsMHhlNCwweDUwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHg4ZjQwLCAwLCB7MHgzZSwweDQ1LDB4MGYsMHg5MSwweDAzLDB4ZDQsMHg0MCwweGZjLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhkMCwweDIzLDB4ZTYsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4MjAsMHhjZCwweGE4LDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZjYwLCAwLCB7MHg4ZCwweGQwLDB4MDMsMHgyNiwweDgwLDB4Y2QsMHgwMCwweDNkLDB4NTAsMHgwYywweDlhLDB4MDMsMHg2NCwweDAwLDB4ZjksMHhhMCB9IH0sCi17ICAxNiwgMHg4ZjcwLCAwLCB7MHg3YSwweDZhLDB4MGYsMHg5YSwweDYzLDB4ZTYsMHg4MCwweGM5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDAsMHg4OCwweGUwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjkwLCAwLCB7MHgwOCwweDgwLDB4MGEsMHgyMSwweDQyLDB4YzgsMHgwMCwweDJlLDB4MjksMHgwYywweGE0LDB4NDIsMHgyMCwweDAwLDB4YjgsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZmEwLCAwLCB7MHgyZSwweDAwLDB4MGIsMHg4MSwweDAyLDB4ZTEsMHgwMCwweDg4LDB4MDIsMHgzYSwweDAxLDB4MGIsMHhjMCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDIsMHg4MSwweDA4LDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZmMwLCAwLCB7MHgwOSwweDEwLDB4MDIsMHgwNCwweDAwLDB4OTEsMHgwMCwweDJjLDB4NDAsMHg0YiwweDE0LDB4MDIsMHg0NCwweDAwLDB4YjUsMHgxMCB9IH0sCi17ICAxNiwgMHg4ZmQwLCAwLCB7MHgyOSwweDQwLDB4MGIsMHg1MCwweDAyLDB4ZjUsMHgwMCwweGI1LDB4MDAsMHgyZCwweDQwLDB4MGIsMHhkMCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE2LDB4MDEsMHg4OSwweDAwLDB4MjYsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZmYwLCAwLCB7MHgwOCwweDk0LDB4MDIsMHgyNCwweDAxLDB4ODksMHgwMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDIsMHg2YywweDAwLDB4YmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5MDAwLCAwLCB7MHgyZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4ZjQsMHgwMiwweGJkLDB4ODAsMHgyYiwweDQwLDB4OGIsMHhkOCwweDNhLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDA1LDB4MzYsMHg0MSB9IH0sCi17ICAxNiwgMHg5MDIwLCAwLCB7MHgwZCwweDFjLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDIsMHgyZiwweDk0LDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5MDMwLCAwLCB7MHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDcwLDB4MGYsMHgxMCwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg0LDB4MDgsMHhmOSwweDI0LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg5MDUwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDEsMHgwZCwweDEwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5MDYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhjOCwweDgwLDB4MzIsMHgwMiB9IH0sCi17ICAxNiwgMHg5MDgwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgwMCwweDAwLDB4YzgsMHgwOCwweDNhLDB4MTAsMHhjZSwweDg0LDB4MDMsMHhlMCwweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDkwLCAwLCB7MHgzZiwweDAwLDB4OGYsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGZjLDB4MDAsMHgzZiwweDE4LDB4MGYsMHhjMCwweDQzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg5MGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDAwLDB4YTEsMHg4MCB9IH0sCi17ICAxNiwgMHg5MGIwLCAwLCB7MHgwYiwweGUwLDB4MDIsMHgyOCwweDAwLDB4ZGUsMHhjMiwweDIzLDB4OTAsMHgwMCwweGEwLDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGMwLCAwLCB7MHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5OSwweDgxLDB4NjAsMHhjMCB9IH0sCi17ICAxNiwgMHg5MGUwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4OTAsMHgxMCwweDJhLDB4ZmMsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGYwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4ODIsMHg5NSwweDQwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg5MTEwLCAwLCB7MHgwYiwweDUwLDB4MDIsMHgxYywweDgwLDB4OTAsMHg4MCwweDIzLDB4MDEsMHgwOSwweDcyLDB4MTIsMHhkYywweDAwLDB4YjYsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTIwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg0MCwweDAyLDB4ZDAsMHgwMCwweGI0LDB4MDksMHgyZCwweDAwLDB4NGIsMHg0MCwweDgyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4ODAsMHhkZCwweDgwLDB4YjEsMHhlMCB9IH0sCi17ICAxNiwgMHg5MTQwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgwZiwweDgwLDB4ZDQsMHg4MCwweDM5LDB4ZTAsMHgwYiwweDdhLDB4MDMsMHhkZSwweDAwLDB4ZjUsMHg4MCB9IH0sCi17ICAxNiwgMHg5MTUwLCAwLCB7MHgzZCwweDIwLDB4MGYsMHg0OCwweDAzLDB4ZDYsMHgxMCwweGY2LDB4ODEsMHgzZCwweGUwLDB4OGYsMHg2OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg5MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhlZCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTcwLCAwLCB7MHgwZiwweDkxLDB4MGIsMHhlYywweDEwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTgwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGU5LDB4MDEsMHgzZSwweDAwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg5MTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MjAsMHhiZiwweDgxLDB4MzMsMHhhNCB9IH0sCi17ICAxNiwgMHg5MWEwLCAwLCB7MHg4YywweDE5LDB4MDMsMHgzZSwweDAwLDB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4ODMsMHgzZSwweDAwLDB4ZWYsMHg4MCB9IH0sCi17ICAxNiwgMHg5MWIwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhmOSwweDEzLDB4ZmEsMHgxMCwweGZkLDB4ODAsMHgzZiwweGE0LDB4MGYsMHhkOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiZiwweDIwLDB4MzEsMHhjMiB9IH0sCi17ICAxNiwgMHg5MWQwLCAwLCB7MHgwOCwweDVhLDB4MDIsMHgzYywweDAyLDB4ODcsMHgwMCwweDJkLDB4OTQsMHgwYiwweDcwLDB4MGEsMHgxYywweDQwLDB4ODYsMHgxMCB9IH0sCi17ICAxNiwgMHg5MWUwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg0MCwweDAyLDB4ZDQsMHgwMCwweGY2LDB4MDAsMHgyZCwweDQwLDB4NGIsMHg2MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDAxLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHg5MjAwLCAwLCB7MHgyOCwweDUwLDB4MDIsMHgxYywweDAwLDB4ODQsMHgwMCwweDJkLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgxYywweDAwLDB4YjUsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjEwLCAwLCB7MHgyZCwweDAwLDB4MGIsMHg0MCwweDA2LDB4ZDAsMHg0MCwweGI0LDB4MDgsMHgyZCwweDgwLDB4MGIsMHg0OCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMywweDA4LDB4YTAsMHgyMCB9IH0sCi17ICAxNiwgMHg5MjMwLCAwLCB7MHgwOCwweDExLDB4OGEsMHgwZSwweDAwLDB4ODAsMHgwMCwweDJjLDB4OTAsMHgwYiwweDM3LDB4MDIsMHgwYywweDAwLDB4OTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDQyLDB4Y2MsMHgwNCwweGEzLDB4ODAsMHgyYywweDUwLDB4MGIsMHgzMCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5MjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmOSwweDgwLDB4MzIsMHg2MCB9IH0sCi17ICAxNiwgMHg5MjYwLCAwLCB7MHgwYywweGQ0LDB4MDMsMHgzYywweDgwLDB4ODgsMHgwMCwweDNlLDB4ZDAsMHgwZiwweGY4LDB4MDMsMHgyOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjcwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDA3LDB4ZWMsMHgwMSwweGJiLDB4ODAsMHgzZSwweDU0LDB4MGYsMHhiMCwweDA2LDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVlLDB4MDgsMHhmOSwweDgwLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHg5MjkwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4NTgsMHgwZiwweGIwLDB4NDMsMHhlOSwweDAwLDB4ZWIsMHg0NCB9IH0sCi17ICAxNiwgMHg5MmEwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwZCwweGY4LDB4MDAsMHgzZSwweDgwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHg5MmMwLCAwLCB7MHgwYywweGQwLDB4MDMsMHgzYywweDMwLDB4Y2MsMHgwMCwweDNiLDB4YzAsMHgyZCwweGYwLDB4MDMsMHhkOCwweDAyLDB4Y2MsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmQwLCAwLCB7MHgzZCwweDAwLDB4MGMsMHhjMCwweDAzLDB4ZjQsMHgwMCwweGVlLDB4MDIsMHgzNywweDQwLDB4MGMsMHhlMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg5MmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MTgsMHg4MywweDg0LDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmYwLCAwLCB7MHg0YSwweDEwLDB4MDIsMHgwYywweDAwLDB4YTgsMHg0OCwweDJlLDB4NjAsMHgwOCwweGIwLDB4MDIsMHhlOSwweDAwLDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHg5MzAwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTgsMHgxMCwweGIxLDB4MDEsMHgyMCwweDgwLDB4MGEsMHg5MCwweDAzLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHg5MzEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDgyLDB4MjIsMHgwOCB9IH0sCi17ICAxNiwgMHg5MzIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyYywweDE0LDB4ODgsMHgwNCwweDJjLDB4MDgsMHgwOCwweGIwLDB4MTIsMHhlOCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzMwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTgsMHgwMSwweGI5LDB4MDAsMHgyNiwweDA0LDB4MDgsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDgwLDB4YTIsMHhjMCB9IH0sCi17ICAxNiwgMHg5MzUwLCAwLCB7MHgwYSwweDkyLDB4MDIsMHgyYywweDAwLDB4YTIsMHgwMCwweDJjLDB4MDAsMHgwOCwweDM0LDB4MDIsMHhjOCwweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzYwLCAwLCB7MHgyYywweDAwLDB4MjgsMHgwMCwweDAyLDB4YzQsMHgwMSwweGJhLDB4MDAsMHgyMiwweGMwLDB4MDIsMHgyMCwweDA2LDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5MzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYSwweDAwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzgwLCAwLCB7MHgwYywweDkyLDB4MGIsMHgyYywweDA0LDB4YzgsMHgwNCwweDNhLDB4MDAsMHgwYywweGI0LDB4MDMsMHhlOCwweDAwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzkwLCAwLCB7MHgyZSwweDAwLDB4MGMsMHg4MCwweDMzLDB4ZTEsMHg0MCwweGU4LDB4MDAsMHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHg5M2EwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2QsMHgwMCB9IH0sCi17ICAxNiwgMHg5M2IwLCAwLCB7MHgwZiwweGQxLDB4MGIsMHhmYywweDAxLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhkOCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHg5M2MwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDA3LDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHg5M2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGYzLDB4MDAsMHhjZiwweDgwLDB4MzUsMHg2MCB9IH0sCi17ICAxNiwgMHg5M2UwLCAwLCB7MHg0ZSwweDY4LDB4NDMsMHg1YywweDAwLDB4ZTcsMHg4MCwweDM5LDB4YzAsMHgwYywweGMxLDB4MDMsMHg3ZSwweDAwLDB4Y2YsMHgzNCB9IH0sCi17ICAxNiwgMHg5M2YwLCAwLCB7MHgzNSwweGUxLDB4NGQsMHhmMiwweDAzLDB4N2MsMHgwMCwweGRmLDB4MzgsMHgzZiwweGM4LDB4MGYsMHhmOCwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxOCwweGM4LDB4MDAsMHhkYiwweDg0LDB4MjIsMHg2MCB9IH0sCi17ICAxNiwgMHg5NDEwLCAwLCB7MHgwOCwweGFjLDB4MGEsMHgyYywweDAwLDB4OGIsMHg4MCwweDIyLDB4MzAsMHgwOCwweDkxLDB4MjIsMHgyYywweDkwLDB4MjcsMHg2MSB9IH0sCi17ICAxNiwgMHg5NDIwLCAwLCB7MHgyMiwweGNhLDB4ODgsMHhmYywweDIyLDB4YmYsMHgwMCwweDhiLDB4NjIsMHgyZiwweGQwLDB4MDksMHhiOCwweDAzLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGUyLDB4ODAsMHhhOSwweDAyLDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHg5NDQwLCAwLCB7MHg4MiwweDM0LDB4NDIsMHgwNCwweDAwLDB4YTksMHgwMCwweDI4LDB4YzUsMHg0OCwweDMyLDB4MDIsMHg0YywweDIwLDB4ODMsMHgzMCB9IH0sCi17ICAxNiwgMHg5NDUwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMSwweDAyLDB4MGQsMHgwMCwweGIzLDB4MjAsMHgyYywweGM0LDB4MGIsMHgzMCwweDAyLDB4ZjIsMHgwMSB9IH0sCi17ICAxNiwgMHg5NDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGFhLDB4MDIsMHhiOSwweDA0LDB4MjIsMHg2MCB9IH0sCi17ICAxNiwgMHg5NDcwLCAwLCB7MHgyOCwweGIyLDB4MDIsMHgyNiwweDAwLDB4ODksMHg4OCwweDAyLDB4YzAsMHgwOCwweDMxLDB4MTIsMHhlYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDgwLCAwLCB7MHgyYSwweGQwLDB4MDgsMHhiMCwweDAyLDB4YWMsMHgwMCwweDJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGUyLDB4MDAsMHhlMywweDAwLDB4MzYsMHgyMCB9IH0sCi17ICAxNiwgMHg5NGEwLCAwLCB7MHgwZSwweGE0LDB4NjMsMHg2ZSwweDAwLDB4ZTEsMHhjMCwweDFhLDB4YzEsMHgwYywweDgwLDB4MDMsMHg2OCwweDcwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGIwLCAwLCB7MHgzNiwweDgwLDB4MGQsMHhiMCwweDAzLDB4NGMsMHgwMCwweGZiLDB4MDQsMHgzZSwweGMxLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDQsMHhkZiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGQwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNmLDB4MDAsMHgyYiwweDk4LDB4MDMsMHgzYSwweDAwLDB4NzcsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGUwLCAwLCB7MHgyNywweGU0LDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZSwweGMwLDB4MGQsMHhmMCwweDQzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMCwweGE0LDB4NjgsMHhjYiwweDIwLDB4M2EsMHg5MCB9IH0sCi17ICAxNiwgMHg5NTAwLCAwLCB7MHgwZiwweDI0LDB4YTMsMHhhYywweDAwLDB4ZTksMHg1MCwweDNhLDB4YzAsMHgwZSwweGI0LDB4ODMsMHgyYywweDA4LDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTEwLCAwLCB7MHgzYSwweDkwLDB4MGUsMHhiMCwweDhiLDB4ZWMsMHg4MCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5NTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwMSwweDBhLDB4MDAsMHg4YiwweGEwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHg5NTMwLCAwLCB7MHgwZCwweGE4LDB4MDIsMHgyYywweDA0LDB4ODksMHg0MCwweDI4LDB4ZTgsMHgwOCwweGIyLDB4MDIsMHgyYywweDAwLDB4YWYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTQwLCAwLCB7MHgwMiwweDgwLDB4MDgsMHg3YywweDAzLDB4M2QsMHg4MCwweDNmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ5LDB4MDAsMHgwMywweDQwLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHg5NTYwLCAwLCB7MHgyYiwweDI4LDB4NGEsMHgyOCwweDAwLDB4YTEsMHgwMCwweDY4LDB4ZDIsMHgwYSwweDIwLDB4NDIsMHhhNCwweDAxLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTcwLCAwLCB7MHgwMiwweDQwLDB4MGEsMHgzNCwweDAyLDB4MGQsMHgwMCwweDMzLDB4MDAsMHgyYywweGMwLDB4MGEsMHgzMCwweDAwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwMSwweDFhLDB4MDAsMHg4NywweDkwLDB4MjEsMHhlNCB9IH0sCi17ICAxNiwgMHg5NTkwLCAwLCB7MHgyYiwweGM4LDB4MTIsMHgzYSwweDAwLDB4ODUsMHhjMCwweDJiLDB4MjEsMHgyOCwweDY4LDB4MDIsMHhiNiwweDAwLDB4YTcsMHg4NCB9IH0sCi17ICAxNiwgMHg5NWEwLCAwLCB7MHgyMywweDYwLDB4MDgsMHgzOCwweDgwLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyZCwweGUwLDB4MDgsMHg3OCwweDAyLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhjMSwweDAwLDB4MzgsMHg1NCB9IH0sCi17ICAxNiwgMHg5NWMwLCAwLCB7MHgwZiwweDI2LDB4ODMsMHg4MCwweDAwLDB4ZTAsMHgzNCwweDI4LDB4YzgsMHgwZSwweDJjLDB4MGIsMHg4YywweDAwLDB4ZTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWQwLCAwLCB7MHg3OCwweDQ1LDB4MGUsMHgzMCwweDAzLDB4OGUsMHg4MCwweGYzLDB4MDAsMHgzYywweGM4LDB4MGUsMHgzMCwweDAzLDB4OTIsMHgwMiB9IH0sCi17ICAxNiwgMHg5NWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI4LDB4MDAsMHhmNSwweDAyLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHg5NWYwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhmOCwweDAwLDB4YmQsMHgxNCwweDFmLDB4YzAsMHgwZiwweGUxLDB4MjMsMHg1YywweDQ0LDB4OWYsMHg0MiB9IH0sCi17ICAxNiwgMHg5NjAwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmNCwweDgyLDB4N2QsMHg0MCwweGZmLDB4MTAsMHgzZiwweGMwLDB4NGYsMHg3MCwweDA3LDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg5NjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDIsMHhjYiwweDAwLDB4MzgsMHhjMCB9IH0sCi17ICAxNiwgMHg5NjIwLCAwLCB7MHgzYywweGEwLDB4MDMsMHhlYywweDAwLDB4ZTksMHgwMCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHgyMCwweDA0LDB4ZmIsMHgyMSB9IH0sCi17ICAxNiwgMHg5NjMwLCAwLCB7MHgzZSwweDgwLDB4NGYsMHhiNCwweDAzLDB4Y2YsMHgwMCwweGNiLDB4MDAsMHgzZSwweGNjLDB4NGYsMHhiMCwweDQzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHg5MSwweDk4LDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg5NjUwLCAwLCB7MHgwOCwweDQwLDB4MDIsMHhkYywweDA0LDB4YjUsMHgwMCwweDJkLDB4MDAsMHgyZCwweDcwLDB4MDIsMHgxYywweDFjLDB4YjcsMHgwMiB9IH0sCi17ICAxNiwgMHg5NjYwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZGMsMHgwMCwweDg3LDB4NDAsMHgyZCwweGNhLDB4OGIsMHg3MCwweDAyLDB4ZjIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGJhLDB4MDAsMHg4NywweDg4LDB4MmIsMHhlMCB9IH0sCi17ICAxNiwgMHg5NjgwLCAwLCB7MHgxOCwweDc4LDB4MjIsMHhkNiwweDExLDB4YTQsMHg4MiwweDJmLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgxMiwweDAwLDB4YjcsMHg5NCB9IH0sCi17ICAxNiwgMHg5NjkwLCAwLCB7MHg2ZCwweDYwLDB4NGIsMHg3YSwweDAyLDB4ZGUsMHg0MCwweGI3LDB4YTAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDA2LDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGM5LDB4MTIsMHg4MywweDgyLDB4MjgsMHhkNCB9IH0sCi17ICAxNiwgMHg5NmIwLCAwLCB7MHg5OCwweDAwLDB4MDYsMHhlZiwweDA1LDB4YjEsMHg5MCwweDJjLDB4YzEsMHgwOSwweGI0LDB4MDIsMHgwYywweDA0LDB4YjMsMHgwMSB9IH0sCi17ICAxNiwgMHg5NmMwLCAwLCB7MHg2YywweGYwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NmQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4NDAsMHhjYSwweDgwLDB4M2IsMHhhMCB9IH0sCi17ICAxNiwgMHg5NmUwLCAwLCB7MHg0YywweGU1LDB4MDIsMHhmOCwweDgwLDB4ZWUsMHgwMCwweDNkLDB4ODAsMHgyYywweGUwLDB4MGYsMHgzOCwweDgwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NmYwLCAwLCB7MHgzZiwweGE5LDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGJhLDB4MDIsMHgzZSwweDgwLDB4OGIsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTAsMHhmOCwweDAwLDB4MjYsMHgwMiB9IH0sCi17ICAxNiwgMHg5NzEwLCAwLCB7MHgwZiwweDg0LDB4MDMsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4YTMsMHhlMCwweDMwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzIwLCAwLCB7MHgzNiwweDAyLDB4MGYsMHg4MCwweDIzLDB4ZTAsMHgwNCwweDA4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4YjYsMHg0MSB9IH0sCi17ICAxNiwgMHg5NzQwLCAwLCB7MHg0ZSwweDk5LDB4MGIsMHhhNCwweDAwLDB4NjksMHgxMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhhNCwweDEwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg5NzUwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHg5MiwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg0MiB9IH0sCi17ICAxNiwgMHg5NzcwLCAwLCB7MHgwOCwweDE0LDB4OWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDZlLDB4NTAsMHgwMCwweDkwLDB4MDIsMHgyNCwweDEwLDB4ZDksMHgwMiB9IH0sCi17ICAxNiwgMHg5NzgwLCAwLCB7MHg2ZSwweDQwLDB4MGIsMHg5NCwweDAzLDB4YTcsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA2LDB4MDAsMHg5OSwweDAwLDB4YTYsMHg0MSB9IH0sCi17ICAxNiwgMHg5N2EwLCAwLCB7MHgwYSwweDkwLDB4MDYsMHgyYywweDAwLDB4YTksMHgwOSwweDZlLDB4NTAsMHgwOCwweDkxLDB4MDIsMHg4NCwweDA0LDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHg5N2IwLCAwLCB7MHgwZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4ZTUsMHg0OSwweGI5LDB4MDAsMHgwYSwweDQwLDB4MGEsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA2LDB4MDAsMHg4MSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg5N2QwLCAwLCB7MHgwOCwweDEyLDB4MjIsMHgwNCwweDgxLDB4YTEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDE2LDB4MDIsMHgwNCwweDAwLDB4OTEsMHgyMCB9IH0sCi17ICAxNiwgMHg5N2UwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgxMiwweDQyLDB4ODQsMHg4OSwweGIxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5N2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODAwLCAwLCB7MHgwYSwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZTgsMHgwMCwweDJlLDB4MDAsMHgwYywweDAwLDB4MjMsMHhhMSwweDQwLDB4YzgsMHg1MCB9IH0sCi17ICAxNiwgMHg5ODEwLCAwLCB7MHgyZSwweDE0LDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzYSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg5ODIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgxZCwweGQ0LDB4MDAsMHhmNSwweDAwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5ODMwLCAwLCB7MHgwZiwweGQxLDB4MDMsMHhmNCwweDQ0LDB4ZGQsMHgwMiwweDNkLDB4NTAsMHgyYiwweGQxLDB4MjMsMHhmNCwweDAwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHg5ODQwLCAwLCB7MHgzZiwweDQwLDB4MGQsMHg5MSwweDAzLDB4YTQsMHg0OCwweGY5LDB4MTIsMHgzZSwweDRlLDB4MWYsMHg5MCwweDAzLDB4YTYsMHgwMiB9IH0sCi17ICAxNiwgMHg5ODUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhjNSwweDA0LDB4M2IsMHg0MCB9IH0sCi17ICAxNiwgMHg5ODYwLCAwLCB7MHgwZiwweGQ4LDB4MDMsMHhhNywweDgwLDB4ZmQsMHgwMCwweGIzLDB4NjgsMHgwZCwweGQ4LDB4NDMsMHhhNSwweDEwLDB4YzksMHhhMCB9IH0sCi17ICAxNiwgMHg5ODcwLCAwLCB7MHgzMiwweDUxLDB4NGYsMHg1YSwweDQzLDB4MzYsMHgwMCwweGM5LDB4YTAsMHg3YSwweDY4LDB4MGIsMHhkMCwweDAzLDB4YzYsMHgwMSB9IH0sCi17ICAxNiwgMHg5ODgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NzgsMHgxOCwweGNhLDB4ODgsMHg4OCwweDAyLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODkwLCAwLCB7MHg4ZCwweDg0LDB4MjIsMHgyMywweDQyLDB4ZjgsMHgwMCwweDIyLDB4MDQsMHgyOCwweDhhLDB4YTIsMHhhYSwweDk0LDB4ODgsMHhlOSB9IH0sCi17ICAxNiwgMHg5OGEwLCAwLCB7MHgyMCwweGE4LDB4MGEsMHg4MCwweDBhLDB4MjEsMHg0MCwweDgwLDB4ZTIsMHgyZSwweDI4LDB4MGIsMHg4MCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg5OGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MjAsMHhhMSwweDA0LDB4YTgsMHhjMCB9IH0sCi17ICAxNiwgMHg5OGMwLCAwLCB7MHgwYiwweDFjLDB4MmEsMHgyNCwweDAwLDB4MzksMHgwNCwweDIwLDB4NDAsMHgyYSwweDFlLDB4MDIsMHhlNCwweDgwLDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHg5OGQwLCAwLCB7MHgyYSwweDQ4LDB4MDksMHgxNCwweDQ2LDB4MDQsMHgwMCwweDgxLDB4MzgsMHgyYywweDViLDB4MGIsMHgxMCwweDAyLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5OGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE0LDB4MTIsMHhhOSwweDI0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg5OGYwLCAwLCB7MHgyOSwweDkwLDB4MDIsMHgyNCwweDAwLDB4MzksMHgwMCwweDAyLDB4NTgsMHgwOCwweDE4LDB4MTAsMHhlNiwweDAxLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5OTAwLCAwLCB7MHhhYSwweDQ0LDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgwZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHhlMSwweDAxLDB4MmEsMHg2NCB9IH0sCi17ICAxNiwgMHg5OTIwLCAwLCB7MHgyZiwweDk0LDB4MTMsMHgyNCwweDAyLDB4NzEsMHg2MCwweDEyLDB4NjAsMHg0ZCwweDkwLDB4MDAsMHhjNSwweDAyLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5OTMwLCAwLCB7MHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4MjQsMHgwMiwweGM5LDB4MDIsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAyLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMSwweGE0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHg5OTUwLCAwLCB7MHhhZiwweDkwLDB4ODMsMHg2NCwweDg4LDB4ZjksMHgyMCwweDNlLDB4NjIsMHgwMywweDkwLDB4ODMsMHhhNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg5OTYwLCAwLCB7MHgzNiwweDYwLDB4MGYsMHgxMCwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGExLDB4MDAsMHhjOCwweDgyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTgwLCAwLCB7MHg2ZiwweDAwLDB4MDMsMHhhMCwweDAwLDB4ZDgsMHg0MCwweDMwLDB4MDAsMHgwZSwweDgwLDB4MDMsMHg2MCwweDA0LDB4ZjgsMHgwMSB9IH0sCi17ICAxNiwgMHg5OTkwLCAwLCB7MHgzZSwweDEwLDB4NGYsMHg4MCwweDhiLDB4MjIsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAxLDB4MGUsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg5OWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDM4LDB4MDAsMHgwZSwweDAwLDB4YTksMHg5MCB9IH0sCi17ICAxNiwgMHg5OWIwLCAwLCB7MHgyZiwweGU2LDB4MjAsMHg4OCwweDAwLDB4OWUsMHg4MCwweDIzLDB4ODAsMHgwYSwweGU4LDB4MDMsMHgyOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWMwLCAwLCB7MHgxOCwweDgwLDB4MGQsMHhlYywweDAyLDB4MzgsMHg4MCwweGJhLDB4MDAsMHhhMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDIsMHg4MywweDgwLDB4MjAsMHhjOCB9IH0sCi17ICAxNiwgMHg5OWUwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHgwYywweDAxLDB4OTIsMHgxMCwweDY4LDB4YzAsMHgzYSwweDNjLDB4MDIsMHhjYywweDEwLDB4M2IsMHgwMiB9IH0sCi17ICAxNiwgMHg5OWYwLCAwLCB7MHgwYywweGMwLDB4MjgsMHgzYywweDAyLDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE0LDB4MDAsMHg4NywweDQyLDB4MmIsMHhjMCB9IH0sCi17ICAxNiwgMHg5YTEwLCAwLCB7MHgyOSwweDcwLDB4MjIsMHg5YywweDAwLDB4YjYsMHgwMCwweDJiLDB4YzIsMHgwYSwweDYwLDB4ODYsMHgxYywweDAwLDB4YjcsMHgyMSB9IH0sCi17ICAxNiwgMHg5YTIwLCAwLCB7MHgyOSwweGMwLDB4MDAsMHg3NCwweDAyLDB4NWMsMHgwMCwweDM3LDB4OTEsMHgwMSwweGUwLDB4MDgsMHg3NCwweDAyLDB4YTgsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDgwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg5YTQwLCAwLCB7MHgyZiwweDc4LDB4MDIsMHg5ZSwweDAwLDB4OTYsMHg4MCwweDM5LDB4ZTAsMHgyZSwweGY4LDB4MDMsMHhkZSwweDMwLDB4ZjcsMHhkMCB9IH0sCi17ICAxNiwgMHg5YTUwLCAwLCB7MHgyZCwweGYyLDB4MDAsMHg3OCwweDAzLDB4NTIsMHgwMCwweGY3LDB4YTIsMHgzYiwweGUwLDB4MGUsMHg3OCwweDA3LDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg5YTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGI0LDB4MDAsMHhmYiwweDAwLDB4MGMsMHhjMCB9IH0sCi17ICAxNiwgMHg5YTcwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHhlYywweDEwLDB4ZDMsMHgwMCwweGI0LDB4YzAsMHgyZiwweDgwLDB4MDMsMHg2YywweDQ4LDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTgwLCAwLCB7MHgzZSwweGM4LDB4NGQsMHg5MCwweDAzLDB4YTQsMHgwMCwweGZiLDB4MjAsMHgxZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg5YTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjYywweDgwLDB4MmIsMHgyYyB9IH0sCi17ICAxNiwgMHg5YWEwLCAwLCB7MHgyZiwweGY4LDB4MDMsMHg3ZSwweDAwLDB4NmUsMHg4MCwweDNiLDB4YTEsMHgwZCwweGQ4LDB4NDMsMHgzZSwweDAwLDB4ZmYsMHg5MCB9IH0sCi17ICAxNiwgMHg5YWIwLCAwLCB7MHgzMywweGUwLDB4MGYsMHhlOSwweDMzLDB4ZmUsMHgwMCwweGNmLDB4YzAsMHgzZiwweGUyLDB4MGYsMHhkOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGI0LDB4NDAsMHg4NywweDAwLDB4MjEsMHgwNCB9IH0sCi17ICAxNiwgMHg5YWQwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHgxYywweDAwLDB4ODYsMHgwMCwweDIxLDB4YzAsMHgyOCwweDkwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgxMCB9IH0sCi17ICAxNiwgMHg5YWUwLCAwLCB7MHgyMSwweGMwLDB4MGYsMHg3MywweDAyLDB4Y2MsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDlkLDB4MDAsMHhhNCwweDAwLDB4MjksMHg0OCB9IH0sCi17ICAxNiwgMHg5YjAwLCAwLCB7MHg2YSwweGYwLDB4ODIsMHg0YywweDAwLDB4YWUsMHgwMCwweGExLDB4YzQsMHgyOSwweDc0LDB4MDIsMHg1YywweDQwLDB4YTMsMHgxMCB9IH0sCi17ICAxNiwgMHg5YjEwLCAwLCB7MHg2MSwweGMyLDB4MGIsMHg2MCwweDA2LDB4YzgsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGU2LDB4MDEsMHhhMywweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YjMwLCAwLCB7MHgyOCwweDNjLDB4MDIsMHgwYywweDAwLDB4ODMsMHg0MiwweDIwLDB4YzgsMHgwOCwweDEwLDB4MDIsMHhjZCwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjQwLCAwLCB7MHgyOCwweGYwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMSwweDgzLDB4MDQsMHgyYywweGMwLDB4ODMsMHgxMCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFhLDB4ODAsMHhlYiwweDAwLDB4MzgsMHhjMCB9IH0sCi17ICAxNiwgMHg5YjYwLCAwLCB7MHgwYSwweDkwLDB4MDMsMHg3YywweDIyLDB4YTIsMHg0MCwweDMyLDB4NDgsMHgwZCwweGIwLDB4MGIsMHgzZSwweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjcwLCAwLCB7MHgzMywweGY0LDB4MGYsMHg5MCwweDAzLDB4ZWMsMHgwMCwweDhmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGUwLDB4MDAsMHhkOSwweDAyLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5YjkwLCAwLCB7MHgwZSwweGI2LDB4MDMsMHhlYywweDAwLDB4ZmEsMHgyMCwweDNlLDB4YzAsMHg0ZiwweDI0LDB4MjMsMHhhYywweDYwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YmEwLCAwLCB7MHhhNiwweGMwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYywweGMxLDB4MGYsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDIsMHhjZiwweDAwLDB4MzMsMHhlMCB9IH0sCi17ICAxNiwgMHg5YmMwLCAwLCB7MHgyYywweGYwLDB4MTMsMHhiYywweDAwLDB4MmUsMHgxMCwweGIxLDB4NjQsMHgyZSwweGYwLDB4MDIsMHgzYywweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5YmQwLCAwLCB7MHgzZiwweGMxLDB4NGQsMHhlYywweDYzLDB4ZmUsMHgwMCwweGI3LDB4MDAsMHgzYiwweGMwLDB4MGMsMHhkOCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg5YmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDZjLDB4MjgsMHg4MSwweDgxLDB4MjIsMHhlMCB9IH0sCi17ICAxNiwgMHg5YmYwLCAwLCB7MHgwYSwweDM4LDB4MDIsMHgzYywweDA0LDB4YmEsMHhjOSwweDMyLDB4ZTAsMHgyMCwweDg0LDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzAwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHg5YywweDAyLDB4ZTcsMHg4MSwweGJiLDB4MDQsMHgyMiwweGMwLDB4MGEsMHg5OSwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI4LDB4NDAsMHg4OCwweDgwLDB4MjIsMHg4OCB9IH0sCi17ICAxNiwgMHg5YzIwLCAwLCB7MHgyOCwweGJjLDB4NDIsMHhhYywweDAwLDB4YmEsMHgwMCwweDJhLDB4ODAsMHgwOCwweDg0LDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDgyLDB4ZTgsMHg5MCwweGFiLDB4MDAsMHg2MiwweGMwLDB4MDgsMHhiMCwweDEyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDAsMHg4OSwweDAwLDB4MmEsMHg4MCB9IH0sCi17ICAxNiwgMHg5YzUwLCAwLCB7MHgyOCwweGIyLDB4MDIsMHgwYywweDAwLDB4YmEsMHgwMCwweDIwLDB4YzAsMHgwOCwweDAwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzYwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDIwLDB4NGMsMHgxNCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5YzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY4LDB4MDAsMHhjOCwweDAwLDB4YjIsMHhjMCB9IH0sCi17ICAxNiwgMHg5YzgwLCAwLCB7MHgyYywweGIyLDB4MDMsMHhhYywweDAwLDB4ZmEsMHgwMCwweDNhLDB4YzAsMHg0ZSwweGE1LDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzkwLCAwLCB7MHgzZiwweGMwLDB4MDksMHhhMCwweDAzLDB4ZTksMHgwNCwweGVmLDB4MDAsMHhiYSwweGMwLDB4MGMsMHhiMCwweDAxLDB4YzAsMHgwMSB9IH0sCi17ICAxNiwgMHg5Y2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmNSwweDAwLDB4MzUsMHhjMCB9IH0sCi17ICAxNiwgMHg5Y2IwLCAwLCB7MHhhZiwweDM0LDB4MDMsMHhmYywweDAwLDB4ZjQsMHgwMCwweDM5LDB4YzAsMHgwZiwweGMyLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHg5Y2MwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHhhMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNSB9IH0sCi17ICAxNiwgMHg5Y2QwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDI5LDB4M2QsMHgyMCB9IH0sCi17ICAxNiwgMHg5Y2UwLCAwLCB7MHg4ZSwweGMxLDB4MDMsMHgzMiwweDQ4LDB4ZGMsMHg4MCwweDIzLDB4MjUsMHgwZSwweGYyLDB4MDMsMHgzYywweGMwLDB4ZGYsMHg4NCB9IH0sCi17ICAxNiwgMHg5Y2YwLCAwLCB7MHgzMywweGM5LDB4MGYsMHhmMiwweDAzLDB4ZmMsMHgwMCwweGNmLDB4ODAsMHgzMywweDQwLDB4MGMsMHhmMiwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4YzAsMHhiYiwweDYwLDB4MmUsMHgwOCB9IH0sCi17ICAxNiwgMHg5ZDEwLCAwLCB7MHgwOCwweDgxLDB4MDIsMHgyMCwweDA0LDB4ODgsMHgyMCwweDIwLDB4NDgsMHgwOCwweGYxLDB4ODIsMHgyZCwweGMwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDIwLCAwLCB7MHgyMiwweGQ0LDB4MDksMHhmNSwweDAyLDB4ZmMsMHgwOCwweDhiLDB4MDEsMHgyMiwweDQwLDB4MjgsMHhiNCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MjAsMHhiMywweDA5LDB4MmMsMHg4MiB9IH0sCi17ICAxNiwgMHg5ZDQwLCAwLCB7MHgwOCwweDEwLDB4MTYsMHhhMCwweDEwLDB4OTAsMHgwOCwweDI4LDB4NDgsMHgwYSwweDMyLDB4MDIsMHgwYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDUwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMiwweDkzLDB4MDEsMHgyMCwweDAwLDB4OGEsMHgzMSwweDIyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDQsMHhiYiwweDAwLDB4MmMsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZDcwLCAwLCB7MHgwOCwweDg2LDB4MDIsMHhhMCwweDIwLDB4YTAsMHgwMCwweDJhLDB4NjAsMHgwYSwweGIwLDB4MTAsMHgyYywweDAwLDB4YWIsMHgwYyB9IH0sCi17ICAxNiwgMHg5ZDgwLCAwLCB7MHg2ZSwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2MsMHgwMCwweDliLDB4MDAsMHgyMiwweDYwLDB4MGEsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGVjLDB4MDAsMHhiYiwweDAwLDB4M2UsMHgzNCB9IH0sCi17ICAxNiwgMHg5ZGEwLCAwLCB7MHgwOCwweGEwLDB4MGIsMHg4MywweDAwLDB4ZDksMHgwMiwweDNhLDB4ZTAsMHgyZSwweGIwLDB4MGIsMHgyYywweDAwLDB4ZjgsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZGIwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNhLDB4NDAsMHhiMiwweDcyLDB4MGUsMHhiMCwweDBiLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MTAsMHhmYiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGQwLCAwLCB7MHgwZCwweGY4LDB4MTMsMHg3MCwweDQ4LDB4ZGQsMHg0MCwweDM3LDB4YzIsMHg4ZCwweGYwLDB4MDMsMHhkYywweDAwLDB4ZGQsMHhjOCB9IH0sCi17ICAxNiwgMHg5ZGUwLCAwLCB7MHgxMywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVlLDB4NDAsMHg3ZiwweDQwLDB4MGQsMHg3MCwweDAzLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAxLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZTAwLCAwLCB7MHgwNCwweDEwLDB4MDMsMHgyMCwweDQwLDB4ZTgsMHgxMCwweDNhLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhhYywweDA4LDB4ZjgsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTEwLCAwLCB7MHhiMiwweGMwLDB4MmMsMHhiMCwweDMzLDB4YTQsMHg4MiwweGRhLDB4NDAsMHhiYSwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNjLDB4MDgsMHhiZiwweDgwLDB4MjIsMHhjOCB9IH0sCi17ICAxNiwgMHg5ZTMwLCAwLCB7MHgwOCwweGI3LDB4MDAsMHgyMywweDQ0LDB4ODgsMHhkMCwweDIyLDB4ZDAsMHgwOCwweDcwLDB4ODIsMHhmYywweDAwLDB4YjIsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZTQwLCAwLCB7MHgwMywweGY0LDB4MDgsMHhmNSwweDAyLDB4MzcsMHgwNCwweDhiLDB4ZDEsMHgyMiwweDYwLDB4NGIsMHhmZCwweDAyLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDEwLDB4YTQsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTYwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHg0OCwweDAwLDB4YTAsMHg0MiwweDJhLDB4ZDAsMHgwMSwweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZTcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzMSwweDAyLDB4Y2MsMHgwMCwweDg5LDB4MDAsMHgyMiwweGU4LDB4MDMsMHgzOCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MjcsMHg2NCB9IH0sCi17ICAxNiwgMHg5ZTkwLCAwLCB7MHg2OCwweDRhLDB4MDIsMHg1MiwweDAwLDB4OGMsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg5ZWEwLCAwLCB7MHgyZCwweGUyLDB4MTksMHgzOSwweDAyLDB4NWUsMHgzMCwweDg1LDB4OTgsMHgyMSwweGU0LDB4MGIsMHg3OSwweDAyLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMywweDIwLDB4MzQsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWMwLCAwLCB7MHgwYywweGI4LDB4MDMsMHg0OCwweDgwLDB4ZTIsMHgyMiwweDM4LDB4YzAsMHgwZCwweDMwLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWQwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHgzMSwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzOCwweDA2LDB4MGYsMHgzMCwweDgzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHg5ZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2IsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZWYwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHg5MCwweDAwLDB4ZjYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4MDEsMHhmYywweDAwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZjAwLCAwLCB7MHgzMywweGMyLDB4MGUsMHhmNSwweDEzLDB4YmMsMHgwMCwweGVkLDB4MDAsMHgzZiwweGM0LDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg5ZjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjIwLCAwLCB7MHgwZSwweGEwLDB4MDEsMHg2NCwweDAxLDB4ZDgsMHgwMCwweDMyLDB4ZTAsMHgyYywweGI1LDB4MDMsMHgyYywweDAwLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjMwLCAwLCB7MHg3YSwweGMwLDB4MGQsMHhiNCwweDAzLDB4MmQsMHg4MCwweGM5LDB4MDIsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjUwLCAwLCB7MHgwZCwweDYwLDB4MDIsMHhkMCwweDAxLDB4ODQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgxZCwweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjYwLCAwLCB7MHgyMSwweGM4LDB4MGIsMHhmNCwweDAzLDB4MWUsMHhjMCwweDg2LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3YywweDAzLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4YzAsMHhiNywweDkwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZjgwLCAwLCB7MHgwOCwweDc4LDB4MDYsMHhkNiwweDAxLDB4YjQsMHg4MiwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MGEsMHgxZSwweDAwLDB4YjUsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjkwLCAwLCB7MHgyOSwweGU4LDB4MDksMHg3OCwweDAyLDB4MzYsMHhjMSwweDk3LDB4ODAsMHgyOCwweGIwLDB4MGEsMHg3YSwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiYiwweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZmIwLCAwLCB7MHgwOSwweDM1LDB4ODIsMHhjMCwweGMxLDB4YTAsMHg1MSwweDIwLDB4ZTQsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YmIsMHhjNCB9IH0sCi17ICAxNiwgMHg5ZmMwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDYsMHgwMCwweDkzLDB4MTgsMHhhYSwweGIwLDB4MmEsMHgzMCwweDBhLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZmQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAxLDB4M2QsMHhhYyB9IH0sCi17ICAxNiwgMHg5ZmUwLCAwLCB7MHg0YywweGVjLDB4MTMsMHg3OCwweDEwLDB4ZjYsMHg4MCwweGIzLDB4OTAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwLDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZmYwLCAwLCB7MHgzYSwweDgxLDB4MGQsMHhhMCwweDBmLDB4MmEsMHg4MCwweGRlLDB4MDQsMHgzYiwweGEwLDB4MGUsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDEwLCAwLCB7MHgwZCwweDgwLDB4MDIsMHhlMSwweDAwLDB4ZDgsMHg0OCwweDNlLDB4MTIsMHgwZiwweDgwLDB4MTMsMHg2MCwweDAwLDB4ZjgsMHg2MCB9IH0sCi17ICAxNiwgMHhhMDIwLCAwLCB7MHgzZSwweDAwLDB4MDcsMHg4MCwweDAzLDB4YTAsMHgwMiwweGU4LDB4MDQsMHgyNiwweDA4LDB4MDUsMHg4MCwweDAzLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDA0LDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhhMDQwLCAwLCB7MHgwYywweDEyLDB4MDMsMHgyNCwweDgyLDB4YzksMHgwMCwweDM2LDB4NDQsMHgwZiwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDUwLCAwLCB7MHgzNiwweDQwLDB4MDQsMHg5MCwweDAzLDB4MDQsMHgwMCwweGM5LDB4MDAsMHgxMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDgxLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhMDcwLCAwLCB7MHgwOCwweDkwLDB4MWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NjgsMHgwYiwweDk5LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDgwLCAwLCB7MHgyMiwweDQwLDB4NjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHhhMiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDEwLDB4MjIsMHhlMCB9IH0sCi17ICAxNiwgMHhhMGEwLCAwLCB7MHgwOCwweDk0LDB4MDAsMHgwNCwweDA0LDB4OGIsMHgwOCwweDI2LDB4YzAsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA0LDB4YjksMHgwYyB9IH0sCi17ICAxNiwgMHhhMGIwLCAwLCB7MHgyNCwweDQwLDB4MGEsMHgxMCwweDAyLDB4MjQsMHgwMCwweDIzLDB4MDIsMHgyYSwweDQwLDB4YTgsMHgxMCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhMGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4OTAsMHhiMSwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhMGQwLCAwLCB7MHgwOCwweDEyLDB4MDIsMHgwYywweDEwLDB4ODEsMHgwMiwweGEwLDB4NTAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgwNSB9IH0sCi17ICAxNiwgMHhhMGUwLCAwLCB7MHgwMCwweDQ4LDB4MGEsMHgxMCwweDAyLDB4MDQsMHhhMCwweGExLDB4MDAsMHgyOCwweDRhLDB4MDgsMHgxMiwweDAwLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDUwLDB4YmEsMHgxNCB9IH0sCi17ICAxNiwgMHhhMTAwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgwMSwweDQyLDB4YzgsMHg1MCwweDM0LDB4MDAsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTEwLCAwLCB7MHgzNiwweDAwLDB4MGUsMHg4MCwweDEzLDB4MjAsMHg4MCwweGUwLDB4MDAsMHgxYSwweDA4LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhhMTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhhMTMwLCAwLCB7MHgyZiwweGQxLDB4MTMsMHhmNCwweDA0LDB4ZjUsMHgwMCwweDNmLDB4NDAsMHgwZiwweDkxLDB4MGIsMHhlNCwweDQwLDB4ZmYsMHgyOCB9IH0sCi17ICAxNiwgMHhhMTQwLCAwLCB7MHhiZSwweDRlLDB4MGQsMHg5NiwweDgzLDB4ZDQsMHhhMiwweGRkLDB4MjgsMHgzNywweDRhLDB4MGYsMHg5MywweDgzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhhMTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwNSwweGU0LDB4MTAsMHhjZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhhMTYwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzNSwweDAyLDB4NWQsMHgwMSwweDMxLDB4NDQsMHgwZiwweGQwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMTcwLCAwLCB7MHgzMiwweDYwLDB4MGMsMHg5OCwweDgzLDB4ZTYsMHg0MCwweGQ5LDB4MDAsMHgzNiwweDZhLDB4MGMsMHg5ZSwweDgzLDB4MjYsMHgwMSB9IH0sCi17ICAxNiwgMHhhMTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHg4OCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTkwLCAwLCB7MHgwYiwweDgwLDB4NDIsMHgwMiwweDgwLDB4OGEsMHgwMCwweDIyLDB4MjAsMHg4OCwweDgwLDB4MDMsMHgyMCwweDA4LDB4YjgsMHg4MiB9IH0sCi17ICAxNiwgMHhhMWEwLCAwLCB7MHgyMiwweDIxLDB4MDgsMHg4OCwweDgyLDB4ZTIsMHg0MiwweDg4LDB4YTgsMHgyMiwweDIwLDB4MDgsMHhjZSwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhhMWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDIsMHg4MSwweDAwLDB4NjgsMHg0MCB9IH0sCi17ICAxNiwgMHhhMWMwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHg4NCwweDAxLDB4YjksMHgwMCwweDIwLDB4NDAsMHg0OSwweDEwLDB4MGEsMHgwNCwweDAwLDB4YjUsMHgwOCB9IH0sCi17ICAxNiwgMHhhMWQwLCAwLCB7MHgyMSwweDQ2LDB4MDgsMHg1MCwweDAyLDB4ZDQsMHgwMCwweDhkLDB4MjAsMHgyNSwweDRhLDB4MGIsMHg1MCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHg4OSwweDA0LDB4NmUsMHg1NCB9IH0sCi17ICAxNiwgMHhhMWYwLCAwLCB7MHgwYiwweDEwLDB4MTIsMHhhNCwweDAxLDB4YTksMHgwMCwweGEyLDB4NDAsMHgxOCwweDkwLDB4MTYsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMjAwLCAwLCB7MHgyMywweDQwLDB4MTgsMHhkMCwweDAyLDB4ZjQsMHgwMCwweDhkLDB4NDAsMHgyMSwweDRhLDB4MGIsMHhkMCwweDAyLDB4NDYsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg1MCB9IH0sCi17ICAxNiwgMHhhMjIwLCAwLCB7MHg4ZiwweDk2LDB4MGIsMHg4NCwweDAyLDB4ZjEsMHgwMSwweDMwLDB4NDgsMHg4ZCwweDkwLDB4MDMsMHgyNCwweDEwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMjMwLCAwLCB7MHhiMiwweDQwLDB4MmMsMHg5MCwweDAzLDB4ZTYsMHg0MCwweGQxLDB4YzAsMHgzNiwweDUwLDB4MmYsMHg5MCwweDBiLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhhMjUwLCAwLCB7MHgwZiwweDk5LDB4YzMsMHg2NCwweDAwLDB4ZDksMHgyOCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHhhMjYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgyMCwweGY5LDB4NDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAxLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHhlMCwweDAyLDB4ZjgsMHgwNCwweDMyLDB4MDAsMHgwZCwweDgwLDB4NDMsMHgyMCwweDAyLDB4Y2MsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjkwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhjMCwweDEzLDB4OTAsMHgwMiwweGRjLDB4NDAsMHgzZiwweDEwLDB4NGMsMHhjMCwweDIzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhhMmIwLCAwLCB7MHgwYiwweGU4LDB4MjAsMHhmOCwweDAwLDB4NGUsMHhjMCwweDIzLDB4YTAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmMwLCAwLCB7MHgyZSwweDgwLDB4MWYsMHhhMCwweDAyLDB4MmEsMHgwNiwweDhhLDB4MDAsMHgyZSwweGEwLDB4MDIsMHg2MCwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhhMmUwLCAwLCB7MHgwYiwweDNkLDB4MDIsMHhjMCwweDAzLDB4MjMsMHgwMCwweDIwLDB4ZTAsMHgwMSwweGIwLDB4MDYsMHg0YywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmYwLCAwLCB7MHgyZSwweGMwLDB4NGIsMHgzMCwweDAyLDB4OGUsMHgwOCwweDgzLDB4ODAsMHgyYywweGM0LDB4MDAsMHgzNCwweDhlLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4ODAsMHhiNSwweDgwLDB4NjEsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzEwLCAwLCB7MHgwYiwweDQwLDB4MDIsMHhkNCwweDAwLDB4ODQsMHgwOCwweDIzLDB4YzIsMHgwOCwweDUwLDB4MDIsMHg1ZSwweGMwLDB4ODQsMHgwMSB9IH0sCi17ICAxNiwgMHhhMzIwLCAwLCB7MHgyZCwweDAwLDB4OGEsMHgwOCwweDAyLDB4MTAsMHgyNCwweDg0LDB4MDgsMHg2ZCwweDAwLDB4MGEsMHgwMywweDEyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNSwweDgyLDB4MjEsMHg2MCB9IH0sCi17ICAxNiwgMHhhMzQwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHhkNiwweDA0LDB4YWUsMHg4MCwweDMxLDB4ZTAsMHgwZCwweDU4LDB4MjMsMHg3ZSwweDAwLDB4YzYsMHg4MCB9IH0sCi17ICAxNiwgMHhhMzUwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg3OCwweDAzLDB4OGUsMHgwMCwweGQ3LDB4ODIsMHgzZCwweGYwLDB4MGMsMHg3YSwweDAzLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhhMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmMSwweDAwLDB4YmEsMHhkOCB9IH0sCi17ICAxNiwgMHhhMzcwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlNCwweDEyLDB4ZjgsMHgwMCwweGJlLDB4ODAsMHgwZSwweDEwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhhMzgwLCAwLCB7MHgzZSwweDAwLDB4NWYsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGY4LDB4MDQsMHgzYywweDAwLDB4MGYsMHg4MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhMzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MjAsMHhmZiwweDgwLDB4M2YsMHhmMCB9IH0sCi17ICAxNiwgMHhhM2EwLCAwLCB7MHgwZiwweGY4LDB4MDMsMHhkMiwweDAwLDB4ZWYsMHg4NCwweGIzLDB4NjEsMHgwYywweGI5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHhhM2IwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhmOCwweDEzLDB4MjIsMHgxMSwweGNkLDB4OTAsMHgzZiwweDYwLDB4MGMsMHhlOCwweDAzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhM2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhmNSwweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhhM2QwLCAwLCB7MHgwYiwweDAwLDB4MDIsMHhkNCwweDA0LDB4ODQsMHgyMCwweDIzLDB4NDAsMHgwOCwweDVhLDB4MDIsMHhkYywweDAwLDB4YjQsMHgwMCB9IH0sCi17ICAxNiwgMHhhM2UwLCAwLCB7MHgyMSwweDAwLDB4MjgsMHhjMiwweDAyLDB4MWUsMHgwNCwweDg2LDB4MDQsMHgyZCwweDg4LDB4MDgsMHhkMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhhM2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHhiNSwweDAwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDAwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhmNCwweDIwLDB4YTcsMHgwNCwweDIxLDB4YzAsMHgwYSwweDUwLDB4MDIsMHhkYywweDAwLDB4YmUsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDEwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDEyLDB4MDAsMHgwMCwweDg1LDB4MDAsMHgyZCwweDQwLDB4ODgsMHg2OCwweDBhLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGNjLDB4MDAsMHhhMSwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhhNDMwLCAwLCB7MHgxYiwweDA4LDB4MDYsMHhjNCwweDIwLDB4ODAsMHgwMCwweDIwLDB4OTgsMHgxYSwweDEwLDB4MDIsMHhjYywweDAwLDB4YjEsMHgwOCB9IH0sCi17ICAxNiwgMHhhNDQwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MGMsMHgwMSwweDgyLDB4YzAsMHgyYywweGFjLDB4MjgsMHg5MCwweDIyLDB4MTgsMHgwNCB9IH0sCi17ICAxNiwgMHhhNDUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhiMywweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDYwLCAwLCB7MHgwZiwweGJhLDB4MDMsMHhlNSwweDAyLDB4ZTksMHgwNCwweDMyLDB4OTAsMHhhZSwweGIwLDB4MDMsMHhmYywweDEwLDB4ZmIsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDcwLCAwLCB7MHhiMiwweDAwLDB4MGMsMHg4MCwweDBiLDB4MmMsMHgwMiwweDgyLDB4MTgsMHgzZiwweGEwLDB4MGMsMHhkMCwweDAzLDB4MmUsMHgwNCB9IH0sCi17ICAxNiwgMHhhNDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDAxLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhNDkwLCAwLCB7MHgwZiwweGI2LDB4NDMsMHhlNCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4ODAsMHgwMSwweDkwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHg4MSB9IH0sCi17ICAxNiwgMHhhNGEwLCAwLCB7MHgzZSwweGQwLDB4MGQsMHhiNCwweDUzLDB4ZTAsMHgwMCwweGY5LDB4NDAsMHgzZSwweDQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGRjLDB4MDIsMHhjZCwweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHhhNGMwLCAwLCB7MHgyYywweGRhLDB4MDMsMHhmYywweDAwLDB4ZWMsMHgwMCwweDMzLDB4NDAsMHgwZiwweGYyLDB4MDMsMHg3YywweDA0LDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGQwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHhjOCwweDAzLDB4M2MsMHgwMCwweGNlLDB4MDAsMHgzMSwweDgwLDB4MGMsMHhkMSwweDAzLDB4MjQsMHgwNCB9IH0sCi17ICAxNiwgMHhhNGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTEsMHgwNCwweDZjLDB4MDAsMHgwOSwweDAwLDB4MmEsMHg2NCB9IH0sCi17ICAxNiwgMHhhNGYwLCAwLCB7MHgwOCwweDhlLDB4MDIsMHhjMiwweDEwLDB4YTAsMHgxMCwweDNlLDB4MTAsMHgwYiwweDk4LDB4MDIsMHhlYywweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhNTAwLCAwLCB7MHgwMiwweGQ4LDB4MDgsMHhiZSwweDIyLDB4MjAsMHgwMCwweDg5LDB4MDAsMHgyMiwweDUwLDB4MDgsMHhhMCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHgwYiwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTIwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHhlNSwweDQyLDB4YWIsMHgwNCwweDIyLDB4MTgsMHgwYiwweGIwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTMwLCAwLCB7MHgyMCwweDA0LDB4MDgsMHgwMSwweDAyLDB4MDAsMHgwNCwweGE4LDB4NDAsMHgyMiwweDEwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDgsMHg4MywweDAwLDB4MjgsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTUwLCAwLCB7MHgwOCwweDA0LDB4MDIsMHhjNCwweDAyLDB4YTgsMHgwMCwweDJjLDB4MDAsMHgwYiwweDEyLDB4MDIsMHhjYywweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTYwLCAwLCB7MHgyMCwweGMwLDB4NDAsMHgzMCwweDAyLDB4MGMsMHgwMCwweDhiLDB4MDAsMHhhOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDIsMHgxMSB9IH0sCi17ICAxNiwgMHhhNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwZCwweDZjLDB4MDAsMHhjOSwweDAwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhhNTgwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhlYywweDAyLDB4ZWIsMHgwMCwweDMyLDB4NDAsMHgwZiwweGIwLDB4MDMsMHg2YywweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTkwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHg4MCwweGM4LDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMyB9IH0sCi17ICAxNiwgMHhhNWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhhNWIwLCAwLCB7MHgwZiwweGMyLDB4MTMsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDNmLDB4MDAsMHg0ZiwweGQ0LDB4MDMsMHhmYywweDAwLDB4ZjUsMHgwMCB9IH0sCi17ICAxNiwgMHhhNWMwLCAwLCB7MHgzZiwweGMwLDB4OGYsMHhmMCwweDAzLDB4ZmMsMHg0MCwweGZmLDB4MDAsMHgzNywweGMwLDB4MmYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhNWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4MDAsMHhjYywweDAwLDB4MzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNWUwLCAwLCB7MHgwZSwweGQwLDB4MGIsMHgzMywweDAwLDB4Y2MsMHgwMCwweDMzLDB4ZTAsMHgwZiwweGMwLDB4ODMsMHg3YywweDAwLDB4Y2YsMHgyMCB9IH0sCi17ICAxNiwgMHhhNWYwLCAwLCB7MHg3YiwweDA5LDB4OGMsMHhmOCwweDAzLDB4ZmUsMHg1MCwweGNmLDB4MzgsMHgzZiwweGUxLDB4MGQsMHhjMiwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUyLDB4MDAsMHg5OCwweDA4LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhhNjEwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHgyMCwweDAwLDB4ODgsMHhkMCwweDIyLDB4ZTAsMHgwZSwweGI0LDB4MjIsMHg3ZCwweDE5LDB4OWYsMHg2OSB9IH0sCi17ICAxNiwgMHhhNjIwLCAwLCB7MHgyZSwweDkwLDB4MDgsMHgzMCwweDkyLDB4MjgsMHg4MSwweGRiLDB4NjQsMHgyZSwweGUxLDB4ODgsMHgxNiwweGEyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDAsMHg5MCwweDI0LDB4MjAsMHgwMSB9IH0sCi17ICAxNiwgMHhhNjQwLCAwLCB7MHgwOCwweDEwLDB4MTYsMHgwMCwweDgyLDB4ODMsMHgwMSwweDI4LDB4YzEsMHgwYiwweDAyLDB4ODIsMHgwYywweGUwLDB4YTMsMHgxMCB9IH0sCi17ICAxNiwgMHhhNjUwLCAwLCB7MHgyOCwweDBlLDB4MWIsMHg5MiwweDAyLDB4ODQsMHg4NCwweDkzLDB4MjAsMHgyZSwweGMwLDB4MDgsMHgzMSwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHhhNjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE4LDB4MTAsMHg5OCwweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhhNjcwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgwMCwweDYwLDB4OGEsMHgxMCwweDJhLDB4YzAsMHgwYSwweDIwLDB4MDIsMHg2YywweDE4LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNjgwLCAwLCB7MHg2ZSwweDYwLDB4MmIsMHg5MCwweDAyLDB4NDYsMHgyMCwweDhiLDB4MDAsMHgyZSwweGMyLDB4MDgsMHhiMSwweDgyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGU0LDB4MDIsMHhjYiwweDAwLDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhNmEwLCAwLCB7MHgyYywweDkyLDB4MDMsMHgyNywweDAwLDB4ODgsMHgwMCwweGJhLDB4YzAsMHgwZiwweDg4LDB4MDMsMHgyYywweDAwLDB4ZWIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNmIwLCAwLCB7MHgzYSwweGEwLDB4Y2YsMHgyYywweGEzLDB4ZWQsMHgwMCwweDliLDB4MDAsMHgzYywweGYwLDB4MmQsMHg4YywweDMzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MDQsMHhlZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhNmQwLCAwLCB7MHgwZCwweDUxLDB4MDMsMHhmMCwweDAwLDB4ZjEsMHg4MSwweDM3LDB4YzAsMHgwZSwweGY0LDB4MDMsMHg5YywweDEwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmUwLCAwLCB7MHgzZCwweDgwLDB4MGMsMHhlYywweDA3LDB4YjgsMHgwOCwweGZmLDB4MDIsMHgxZiwweGM0LDB4MGYsMHhjOCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDllLDB4MDAsMHhjMywweDAwLDB4MzgsMHg0MCB9IH0sCi17ICAxNiwgMHhhNzAwLCAwLCB7MHgwYywweDkyLDB4MDMsMHhhNCwweDgwLDB4ZmIsMHgyMCwweDNhLDB4YzAsMHgwZCwweDk0LDB4MDMsMHgyYywweDQwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzEwLCAwLCB7MHgzZSwweDAxLDB4MGYsMHg4MCwweDAzLDB4ZTUsMHgwMCwweGViLDB4MDAsMHgzYSwweGMwLDB4MGQsMHg4NCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDgsMHg4YiwweDAyLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhNzMwLCAwLCB7MHgwOCwweDkyLDB4MDMsMHgyMSwweDAwLDB4OGIsMHg0OCwweDIyLDB4YzAsMHgwYiwweGI3LDB4MDIsMHgzZCwweDQwLDB4M2YsMHgwMSB9IH0sCi17ICAxNiwgMHhhNzQwLCAwLCB7MHgyMiwweDc0LDB4MGIsMHg5MCwweDAyLDB4MjgsMHgwNCwweGJmLDB4MDAsMHhiMiwweGMwLDB4MGIsMHg4NSwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDEsMHg4MCwweDAwLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzYwLCAwLCB7MHgwOCwweDJjLDB4MTIsMHg4OCwweDQwLDB4YjAsMHg0MCwweDA4LDB4YzAsMHgwYiwweDE4LDB4MDIsMHgwZSwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzcwLCAwLCB7MHgyOCwweDIwLDB4MTEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDAwLDB4MDksMHgwMCwweDA2LDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDEyLDB4MDAsMHg4NCwweDgwLDB4MjEsMHhhMCB9IH0sCi17ICAxNiwgMHhhNzkwLCAwLCB7MHgyOCwweDY4LDB4MTIsMHgzYSwweDAwLDB4ODQsMHg4MCwweDI1LDB4ZTAsMHg4YiwweDU4LDB4MDIsMHgxZSwweDQwLDB4YjcsMHg4MiB9IH0sCi17ICAxNiwgMHhhN2EwLCAwLCB7MHgyMSwweGE2LDB4MGIsMHg3OCwweDAyLDB4MWEsMHgwMCwweGI3LDB4ODAsMHgyMSwweDIwLDB4MGIsMHg1OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2IwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhjOCwweDIxLDB4MzgsMHgwOSB9IH0sCi17ICAxNiwgMHhhN2MwLCAwLCB7MHgwYywweDI4LDB4MDMsMHg4MCwweDAxLDB4ZjEsMHgwMCwweDM4LDB4YzAsMHgwZCwweDg1LDB4MDIsMHgwYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2QwLCAwLCB7MHgzOCwweDg1LDB4MGYsMHgxMCwweDAzLDB4OGMsMHgwMCwweGViLDB4MTAsMHgzYywweGM4LDB4MGQsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhhN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDk4LDB4MDAsMHhmYywweDAxLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhN2YwLCAwLCB7MHgwZiwweDY4LDB4MDMsMHhkMCwweDQwLDB4ZmMsMHgwMCwweDNiLDB4YzAsMHgwZCwweGMwLDB4MDMsMHhmYywweDIwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhODAwLCAwLCB7MHgzYiwweGM1LDB4MGYsMHhmMCwweDBiLDB4YjQsMHg0MCwweGZmLDB4MTgsMHgzZiwweDAwLDB4MGYsMHhmMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhhODEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhlYiwweDAwLDB4YjAsMHg0MSB9IH0sCi17ICAxNiwgMHhhODIwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlMCwweDA0LDB4Y2EsMHgwNCwweGIwLDB4ZTAsMHgwZSwweGIwLDB4MDMsMHhlYywweDgwLDB4Y2IsMHgyMCB9IH0sCi17ICAxNiwgMHhhODMwLCAwLCB7MHgzMiwweDgxLDB4MGMsMHhhMCwweDAzLDB4ZWUsMHgwMCwweGRiLDB4MDAsMHgzZSwweDAwLDB4MGUsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhODQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDQsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhhODUwLCAwLCB7MHg0OCwweDYwLDB4MDIsMHhmMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhmYywweGEwLDB4ODMsMHgyOCB9IH0sCi17ICAxNiwgMHhhODYwLCAwLCB7MHhhMywweDgwLDB4MDgsMHg2MCwweDAyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhODcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDljLDB4MDIsMHhhMywweDgwLDB4MjEsMHg2MCB9IH0sCi17ICAxNiwgMHhhODgwLCAwLCB7MHgwOCwweDY4LDB4MDIsMHhkMiwweDAwLDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgyOSwweDc4LDB4MDIsMHhkZSwweDgwLDB4ODcsMHg5MCB9IH0sCi17ICAxNiwgMHhhODkwLCAwLCB7MHgyMSwweGEwLDB4MTksMHg0OCwweDAyLDB4ZmUsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUwLDB4MGEsMHgzOCwweDgyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhOGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDEsMHg4MywweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhhOGIwLCAwLCB7MHgwOCwweDIwLDB4NDIsMHhjMCwweDMwLDB4ODMsMHg3MCwweGEwLDB4YzAsMHg4OSwweDM0LDB4MDIsMHhjYywweDAyLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhOGMwLCAwLCB7MHg2MCwweGMwLDB4MjksMHgwMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4MDAsMHgyYywweGM4LDB4MGIsMHhiYywweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhOGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE5LDB4MDAsMHhlYSwweGUyLDB4MzIsMHg5MCB9IH0sCi17ICAxNiwgMHhhOGUwLCAwLCB7MHgyYywweGUwLDB4MDMsMHhmYiwweDAyLDB4Y2UsMHhjMCwweDMyLDB4ODAsMHgwZiwweGU0LDB4MDMsMHhlOCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOGYwLCAwLCB7MHgzMywweDg4LDB4MGQsMHg2NCwweGMzLDB4ZmEsMHgwMCwweGRhLDB4MDAsMHgzZCwweDkwLDB4MGUsMHhlMCwweDBiLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGMwLDB4MjQsMHhmOCwweDA4LDB4M2UsMHgxMiB9IH0sCi17ICAxNiwgMHhhOTEwLCAwLCB7MHgwZiwweGMwLDB4MDMsMHhlMCwweDQ4LDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4OTMsMHhjMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTIwLCAwLCB7MHg3ZSwweDAxLDB4MGUsMHg4MCwweGMyLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4OGYsMHg4NCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHhjMSwweDAxLDB4MzIsMHg0OCB9IH0sCi17ICAxNiwgMHhhOTQwLCAwLCB7MHgwYywweDk4LDB4MDMsMHhlNiwweDQwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg2NiwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTUwLCAwLCB7MHgxOCwweDYxLDB4MGMsMHg5MCwweDAzLDB4NjQsMHgyMCwweGY5LDB4MDUsMHgzZSwweDQwLDB4MGMsMHg5MCwweDgzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY2LDB4MjAsMHg4OSwweDAwLDB4MjAsMHg1MiB9IH0sCi17ICAxNiwgMHhhOTcwLCAwLCB7MHgyOCwweDEwLDB4YzIsMHgyNiwweDAyLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyNywweDAwLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTgwLCAwLCB7MHgyMiwweDcwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHg4ZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhhOWEwLCAwLCB7MHgwOCwweGQxLDB4MDIsMHg4NCwweDIwLDB4ODksMHgwMCwweDIyLDB4NjAsMHgwYiwweDExLDB4ZjIsMHgyNCwweGIwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWIwLCAwLCB7MHgyYSwweDQ2LDB4MDgsMHg5MCwweDQyLDB4NjQsMHgwOCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MiwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDE0LDB4ODAsMHg4NSwweDIwLDB4MjMsMHg0OCB9IH0sCi17ICAxNiwgMHhhOWQwLCAwLCB7MHgwOCwweDUyLDB4MDIsMHg4NCwweDA4LDB4ODEsMHgwMCwweDIwLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHhhOWUwLCAwLCB7MHgyOCwweDQ5LDB4MjgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDMxLDB4MjAsMHgyZSwweDQwLDB4MDgsMHgzMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDUwLDB4YjIsMHgxNCB9IH0sCi17ICAxNiwgMHhhYTAwLCAwLCB7MHgwYywweGMwLDB4MDMsMHhhMSwweDQwLDB4YzgsMHgwMCwweGIyLDB4MDAsMHgwNywweDg1LDB4MDMsMHgyMSwweDQwLDB4YzgsMHg1MCB9IH0sCi17ICAxNiwgMHhhYTEwLCAwLCB7MHgzYSwweDE1LDB4MGMsMHg4NSwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTEsMHgzZSwweDAwLDB4MmMsMHg4NSwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhhYTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGM0LDB4NDgsMHhmOSwweDEwLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhhYTMwLCAwLCB7MHg0ZiwweDkxLDB4MDMsMHg3NCwweDAwLDB4ZjUsMHg0NCwweDNlLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhhYTQwLCAwLCB7MHgzNywweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZDQsMHgwMCwweGY5LDB4MTAsMHgzZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhhYTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY2LDB4YTAsMHhkZCwweDhjLDB4MzMsMHg3OCB9IH0sCi17ICAxNiwgMHhhYTYwLCAwLCB7MHgwZSwweGRhLDB4MDMsMHgzNSwweDAwLDB4Y2QsMHhhMCwweDMzLDB4NDAsMHgwZCwweGY4LDB4MGIsMHgzNiwweDgxLDB4ZTksMHg4MCB9IH0sCi17ICAxNiwgMHhhYTcwLCAwLCB7MHgzMywweDcwLDB4MGMsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4YzAsMHgzZSwweGMwLDB4MGYsMHhkYywweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDQsMHhiOCwweDQwLDB4MjAsMHgzYyB9IH0sCi17ICAxNiwgMHhhYTkwLCAwLCB7MHgwYywweDg1LDB4MDIsMHgwMiwweDg0LDB4OGEsMHg0MCwweDIyLDB4MDAsMHgwOCwweDhmLDB4ODIsMHgyMywweDAwLDB4YjgsMHhlOCB9IH0sCi17ICAxNiwgMHhhYWEwLCAwLCB7MHgyMiwweDIwLDB4MDgsMHg4OCwweDAyLDB4ZTIsMHgwMCwweGI4LDB4ZDAsMHgyZSwweDAwLDB4MGIsMHg4YywweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhhYWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg5MSwweDAwLDB4NjAsMHg0OCB9IH0sCi17ICAxNiwgMHhhYWMwLCAwLCB7MHg0YiwweDEwLDB4MDIsMHgwNCwweDhhLDB4ODEsMHg0MCwweDYwLDB4NDAsMHg0OSwweDEwLDB4MDIsMHg4ZCwweGEwLDB4YTEsMHg0MSB9IH0sCi17ICAxNiwgMHhhYWQwLCAwLCB7MHgyMCwweDUwLDB4MDksMHgxMiwweDIyLDB4YzQsMHg4MCwweGIxLDB4MjAsMHgyYywweDQwLDB4NGIsMHgzZSwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhhYWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDgsMHhiOSwweDA0LDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhhYWYwLCAwLCB7MHg0OCwweGIwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDgyLDB4NDAsMHgwOCwweDkwLDB4YTYsMHhhNCwweDAwLDB4YjksMHgwNCB9IH0sCi17ICAxNiwgMHhhYjAwLCAwLCB7MHgyMiwweDU0LDB4MjksMHg5NSwweDAyLDB4ZTUsMHg0MCwweGI5LDB4MDAsMHg2ZSwweDQwLDB4MGIsMHg5MiwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHg5MSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhhYjIwLCAwLCB7MHgwZiwweDkwLDB4MDksMHgyNCwweDAwLDB4ODksMHg5MCwweDMyLDB4NDAsMHgwZCwweDk0LDB4MDMsMHhhNCwweDAwLDB4ZTksMHgwMiB9IH0sCi17ICAxNiwgMHhhYjMwLCAwLCB7MHg3MiwweDYwLDB4MGQsMHg5NCwweDAzLDB4ZTQsMHgwMSwweGY5LDB4MDEsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhYjUwLCAwLCB7MHg0ZiwweDkwLDB4MDMsMHhlNywweDEwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MTMsMHg2NCwweDAwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjYwLCAwLCB7MHhiZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTYsMHgwOCwweGY5LDB4MDEsMHgzZSwweDY0LDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwOCB9IH0sCi17ICAxNiwgMHhhYjgwLCAwLCB7MHgwYywweDAxLDB4MGIsMHgyMCwweDQwLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZSwweDg0LDB4ODMsMHgyMCwweDAwLDB4ZjgsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjkwLCAwLCB7MHgzZSwweDA0LDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwMCwweGU4LDB4MDAsMHgzZSwweDEwLDB4MGYsMHg4OCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhYmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM4LDB4MDAsMHgzZSwweDA0LDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHhhYmIwLCAwLCB7MHgwOCwweGVjLDB4MTIsMHgzOSwweDQ0LDB4YTYsMHgwMCwweDI4LDB4ODEsMHgwOCwweGUwLDB4MDAsMHgzOCwweDA4LDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmMwLCAwLCB7MHgzZiwweDgwLDB4MGIsMHhhMCwweDAyLDB4YTgsMHgwMCwweDhhLDB4MDIsMHgyZSwweDgwLDB4MGIsMHhlMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ4LDB4MDAsMHgzMSwweDAwLDB4MjQsMHhkMCB9IH0sCi17ICAxNiwgMHhhYmUwLCAwLCB7MHgwOCwweDNlLDB4MTIsMHhhZSwweDA4LDB4ODEsMHhhMCwweDJjLDB4YzAsMHgwYSwweDM4LDB4MDAsMHg0YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmYwLCAwLCB7MHg2ZSwweGMwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2YywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE4LDB4MDAsMHhiNSwweDEwLDB4MjUsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzEwLCAwLCB7MHgyOCwweDYwLDB4MTIsMHg5MCwweDEwLDB4YTUsMHgwOCwweDJkLDB4YzIsMHgwOCwweDY0LDB4MjIsMHg1OCwweDE4LDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzIwLCAwLCB7MHgyZCwweDgwLDB4MGIsMHg3OSwweDAyLDB4YmUsMHhjMCwweDg3LDB4MDEsMHg2ZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNSwweDg0LDB4MzUsMHgyMCB9IH0sCi17ICAxNiwgMHhhYzQwLCAwLCB7MHg4YywweDE4LDB4MDIsMHg5MiwweDEwLDB4YzUsMHg4MCwweDNkLDB4NjAsMHgwZSwweGM4LDB4MGIsMHg1YSwweDA4LDB4NzcsMHhmMyB9IH0sCi17ICAxNiwgMHhhYzUwLCAwLCB7MHgzZCwweGEwLDB4MGYsMHhmOCwweDAzLDB4MWUsMHhiMCwweGU3LDB4ODUsMHgzZCwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhhYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmMSwweDA0LDB4YmEsMHgwMSB9IH0sCi17ICAxNiwgMHhhYzcwLCAwLCB7MHgwZiwweGEwLDB4NDMsMHg2MCwweDA5LDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgwZSwweGEwLDB4MDMsMHhhOCwweDE0LDB4ZmIsMHgyMCB9IH0sCi17ICAxNiwgMHhhYzgwLCAwLCB7MHgzYSwweDgwLDB4MGYsMHhiNCwweDFiLDB4NGMsMHg4MCwweGZiLDB4MjksMHgzZSwweGMwLDB4MGYsMHhiMCwweDIzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhYzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZhLDB4MDAsMHhjZCwweDgwLDB4M2IsMHhlMCB9IH0sCi17ICAxNiwgMHhhY2EwLCAwLCB7MHg0ZSwweGY4LDB4MDMsMHhmMiwweDAyLDB4ZDQsMHg4MSwweDNiLDB4ZTAsMHg4ZSwweDk4LDB4MDcsMHgzZSwweDQ0LDB4ZWYsMHg5MSB9IH0sCi17ICAxNiwgMHhhY2IwLCAwLCB7MHgzZiwweGUwLDB4NGYsMHhmYywweDA3LDB4ZWUsMHhkMCwweGNmLDB4OTgsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhY2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwMSwweDk4LDB4MDAsMHg4NSwweDEwLDB4MmQsMHhjNCB9IH0sCi17ICAxNiwgMHhhY2QwLCAwLCB7MHgwZCwweDExLDB4MDIsMHhmMCwweDAwLDB4ODUsMHgyMCwweDMxLDB4YzQsMHgwYiwweDdiLDB4MDAsMHgzOCwweDQwLDB4ZDcsMHgxMCB9IH0sCi17ICAxNiwgMHhhY2UwLCAwLCB7MHgyZCwweDgwLDB4MGIsMHg3MCwweDYyLDB4ZmUsMHhlMSwweDg3LDB4MTQsMHgzOSwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhY2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGJjLDB4NDAsMHhhNSwweDAwLDB4MjksMHg0MCB9IH0sCi17ICAxNiwgMHhhZDAwLCAwLCB7MHgwYiwweDUwLDB4ODIsMHhkYywweDQwLDB4ODQsMHgwNCwweDJkLDB4YzAsMHgwYiwweDEwLDB4MDYsMHg1OCwweDQ0LDB4YTcsMHgxMCB9IH0sCi17ICAxNiwgMHhhZDEwLCAwLCB7MHgyZCwweDgwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgwMCwweDg3LDB4MDQsMHgyMSwweGMyLDB4MGIsMHg1MCwweDAyLDB4YzAsMHgxMCB9IH0sCi17ICAxNiwgMHhhZDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MGEsMHhhMSwweDAxLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhhZDMwLCAwLCB7MHg4OSwweDE4LDB4MDIsMHhjMSwweDAwLDB4YTEsMHgwOCwweDIwLDB4YzAsMHgwYiwweDM0LDB4MDYsMHg0MCwweDAwLDB4OTMsMHgwNSB9IH0sCi17ICAxNiwgMHhhZDQwLCAwLCB7MHgyYywweDE0LDB4MGIsMHgzYywweDg2LDB4Y2UsMHgxMCwweDgzLDB4MDEsMHgyOCwweGYxLDB4MGIsMHgxNCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhhZDUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhlZCwweDAwLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHhhZDYwLCAwLCB7MHgwNywweGJjLDB4NjMsMHhlZCwweDAwLDB4ODEsMHg0MCwweDNlLDB4YzAsMHgwZSwweDg4LDB4MDMsMHg2NCwweDAwLDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhhZDcwLCAwLCB7MHg3ZSwweDUwLDB4MGYsMHhmMCwweDAyLDB4ZmQsMHg0MiwweGNmLDB4MDAsMHg3MiwweGMwLDB4MWYsMHhiNCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhZDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU4LDB4MDAsMHg5OSwweDAwLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhhZDkwLCAwLCB7MHg0ZiwweGI0LDB4ODMsMHhlZCwweDkwLDB4MDksMHg0MCwweDNlLDB4YzAsMHgwZiwweGExLDB4ODMsMHhhOCwweDAxLDB4ZWIsMHgwMSB9IH0sCi17ICAxNiwgMHhhZGEwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHhiMSwweDEzLDB4ZWMsMHgwYywweGZiLDB4MDAsMHgzYSwweGMwLDB4NWYsMHgyMCwweDIzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDAsMHhmZCwweDA0LDB4M2YsMHhiMCB9IH0sCi17ICAxNiwgMHhhZGMwLCAwLCB7MHgwZCwweDYwLDB4MDMsMHgzZSwweDAwLDB4Y2QsMHgwMCwweDMzLDB4ZjAsMHgwZiwweGYyLDB4MDEsMHhmMCwweDAwLDB4ZmYsMHgwMyB9IH0sCi17ICAxNiwgMHhhZGQwLCAwLCB7MHgzZiwweDAzLDB4MGYsMHhmMCwweDAxLDB4ZmMsMHgwMCwweGZiLDB4MDIsMHgzMywweGMyLDB4MGYsMHhmMCwweGUzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhhZGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZhLDB4MDAsMHhiOSwweDAyLDB4MmUsMHhhMCB9IH0sCi17ICAxNiwgMHhhZGYwLCAwLCB7MHg0YSwweGFjLDB4MDIsMHgwZSwweDgwLDB4ZjksMHhjMCwweDM2LDB4ZTEsMHgwYiwweGEwLDB4MDIsMHgyYSwweDA4LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTAwLCAwLCB7MHgyZSwweDIwLDB4MGUsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgyMiwweGMwLDB4OGIsMHhiMCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhZTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDIzLDB4MDAsMHhhOSwweDAwLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHhhZTIwLCAwLCB7MHgwOSwweGIyLDB4MjIsMHg2YywweDQwLDB4ODksMHg4OSwweDJhLDB4YzAsMHgwYiwweDE0LDB4MDYsMHgyNiwweDAwLDB4YWIsMHgwMiB9IH0sCi17ICAxNiwgMHhhZTMwLCAwLCB7MHg2ZSwweGUwLDB4MDksMHhiMCwweDA2LDB4NmMsMHgwMCwweGIzLDB4MDIsMHgyMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA4LDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhZTUwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDY0LDB4YzAsMHgwYiwweDMyLDB4MGEsMHgwOCwweDAwLDB4MzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTYwLCAwLCB7MHg2YywweDgwLDB4MDIsMHgzMCwweDQ2LDB4Y2MsMHgxOCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgyOCwweDAyLDB4MDIsMHgxMSB9IH0sCi17ICAxNiwgMHhhZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDY4LDB4MDAsMHhlOSwweDAwLDB4MzgsMHhjMSB9IH0sCi17ICAxNiwgMHhhZTgwLCAwLCB7MHgwZCwweGIxLDB4MGIsMHgyYywweDAwLDB4ODksMHgwMCwweDNhLDB4YzAsMHgwYiwweDkwLDB4MDMsMHg2MCwweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHhhZTkwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MDAsMHgzMiwweGMwLDB4OGYsMHg4MCwweDBiLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhhZWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGQ4LDB4MDAsMHhmZCwweDA0LDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhZWIwLCAwLCB7MHgyZiwweGYyLDB4MDMsMHhmYywweDExLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4NDMsMHg3MCwweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhZWMwLCAwLCB7MHgzZiwweDAwLDB4NDYsMHhmMCwweDAzLDB4ZmQsMHgwMCwweGVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhZWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDgwLDB4M2QsMHhlMCB9IH0sCi17ICAxNiwgMHhhZWUwLCAwLCB7MHgwYywweGY5LDB4MTMsMHhkZSwweDAwLDB4N2YsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGZjLDB4MDMsMHhiZSwweDQwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhZWYwLCAwLCB7MHgzMywweGYwLDB4MGYsMHhmOCwweDAzLDB4N2MsMHgwNCwweGNjLDB4ODAsMHgzMywweGEwLDB4MGMsMHhmMCwweDBiLDB4MzAsMHgwMSB9IH0sCi17ICAxNiwgMHhhZjAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUwLDB4MjAsMHg4OCwweDAwLDB4MmUsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjEwLCAwLCB7MHgwOCwweDgyLDB4MTIsMHhlMCwweDgwLDB4YTgsMHg4MSwweDIyLDB4MDIsMHgwYiwweDgwLDB4MDIsMHgyMCwweDgwLDB4YTgsMHg4MCB9IH0sCi17ICAxNiwgMHhhZjIwLCAwLCB7MHgyMiwweDA4LDB4MGIsMHg4MCwweDAyLDB4MmMsMHgwMiwweDg4LDB4MDQsMHhhYSwweDIwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHhhMywweDA4LDB4MmMsMHg4MCB9IH0sCi17ICAxNiwgMHhhZjQwLCAwLCB7MHgwOCwweDMyLDB4MDIsMHhjNCwweDIwLDB4YTMsMHgwMCwweDI4LDB4NDAsMHgwYiwweDkyLDB4MDIsMHg4NCwweDAwLDB4YTksMHgwMSB9IH0sCi17ICAxNiwgMHhhZjUwLCAwLCB7MHgyOCwweGM4LDB4MWIsMHgxMiwweDgyLDB4Y2MsMHg0MCwweGE4LDB4MDAsMHgyNCwweGUwLDB4MGEsMHgzMCwweDQyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhhZjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGE4LDB4ODAsMHhhOCwweDAyLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhhZjcwLCAwLCB7MHg2OCwweDgwLDB4MTAsMHhjOCwweDAwLDB4YjgsMHg0MCwweDJhLDB4OTAsMHgwYiwweGEwLDB4MDAsMHgyOCwweDAwLDB4YWEsMHgwOCB9IH0sCi17ICAxNiwgMHhhZjgwLCAwLCB7MHgyYSwweDAyLDB4MDMsMHgyMCwweDAyLDB4OGMsMHgwMCwweGE4LDB4ODgsMHgyZSwweDIwLDB4MGEsMHhiMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGU4LDB4MDQsMHhmYSwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhhZmEwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZWIsMHgwMCwweDNhLDB4YzAsMHgwZiwweDIwLDB4NTMsMHhhOCwweDAwLDB4ZTMsMHg0MCB9IH0sCi17ICAxNiwgMHhhZmIwLCAwLCB7MHgyYSwweDQwLDB4MGYsMHhhMCwweDAzLDB4NmMsMHgwMCwweGE4LDB4ODAsMHgzNCwweDIwLDB4MWUsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MDAsMHg5ZCwweDkxLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhZmQwLCAwLCB7MHgwZiwweGRhLDB4MjMsMHhmNCwweDAwLDB4Y2MsMHgyMCwweDM3LDB4MDAsMHgwNywweGQwLDB4MTMsMHg3NCwweDAwLDB4YmMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmUwLCAwLCB7MHhiNywweDgwLDB4MGIsMHhkMCwweDQzLDB4N2MsMHgwMCwweGRjLDB4MDQsMHgzYiwweDAwLDB4NmQsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE4LDB4MDAsMHhmYSwweDgwLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDAwLCAwLCB7MHgyYywweGEwLDB4MGIsMHgyMCwweDAyLDB4Y2IsMHg2MiwweDNlLDB4NTAsMHgwZSwweDg4LDB4MDMsMHgyMCwweDAwLDB4ZDksMHgxMCB9IH0sCi17ICAxNiwgMHhiMDEwLCAwLCB7MHgzZSwweDcwLDB4OGMsMHg4MCwweDMzLDB4ZWMsMHg4MCwweGQ4LDB4NDAsMHgzYSwweDAyLDB4MGQsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiMDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwMSwweDBjLDB4MDAsMHgzOSwweDgwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiMDMwLCAwLCB7MHgwYywweDlkLDB4ODIsMHgyYywweDEwLDB4ZDAsMHg0MCwweDJlLDB4YTAsMHgwOCwweGI4LDB4MDMsMHg0ZSwweDAyLDB4OGEsMHg0MCB9IH0sCi17ICAxNiwgMHhiMDQwLCAwLCB7MHgwZSwweGEwLDB4MGQsMHhiMCwweDAzLDB4M2QsMHgwMCwweGQwLDB4OTAsMHgzNiwweDEwLDB4MGIsMHhmMCwweDAyLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMSwweDAwLDB4NjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiMDYwLCAwLCB7MHg4YSwweDE4LDB4MDIsMHg4YywweDA4LDB4ODAsMHg0MCwweDBjLDB4YTAsMHgwMiwweDMwLDB4MDIsMHhjZSwweDAwLDB4ODIsMHg0OCB9IH0sCi17ICAxNiwgMHhiMDcwLCAwLCB7MHgyYywweDgwLDB4MmIsMHgzMCwweDA2LDB4OGMsMHgwMCwweDgxLDB4MDIsMHgyMCwweDkwLDB4MDksMHhiMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDEyLDB4MDAsMHhiNiwweDkwLDB4YTMsMHgzMCB9IH0sCi17ICAxNiwgMHhiMDkwLCAwLCB7MHgwOCwweGU4LDB4MjIsMHhiMiwweDE0LDB4ODcsMHg4MCwweDJkLDB4NjAsMHgwOCwweDQ5LDB4MTIsMHgxMiwweDYxLDB4OTUsMHg5MCB9IH0sCi17ICAxNiwgMHhiMGEwLCAwLCB7MHgyZCwweDYxLDB4MGEsMHg0OCwweDE2LDB4MWUsMHg4MCwweDk1LDB4ODAsMHgyNSwweDIwLDB4MGIsMHg3OCwweDAyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMSwweDAwLDB4MjgsMHg4YyB9IH0sCi17ICAxNiwgMHhiMGMwLCAwLCB7MHg4ZSwweDEwLDB4MDMsMHg4NCwweDgwLDB4ODAsMHgwMCwweDJjLDB4MDIsMHgwYSwweDlhLDB4MDIsMHhlNCwweDAwLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGQwLCAwLCB7MHgzZSwweDgwLDB4MGIsMHg5MSwweDAzLDB4OGUsMHg4MCwweGMyLDB4MDgsMHgzOCwweDgwLDB4MGQsMHhiMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhiMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGIwLDB4MDAsMHhmNiwweDAwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHhiMGYwLCAwLCB7MHgwZiwweDIxLDB4MTMsMHg3OCwweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZiwweGUwLDB4MDMsMHg3OCwweDAwLDB4ZWYsMHgwNCB9IH0sCi17ICAxNiwgMHhiMTAwLCAwLCB7MHgzZiwweDQwLDB4OGQsMHhlOCwweDAzLDB4ZGMsMHgwNCwweGY2LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDgzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhiMTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDAsMHhlOCwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMTIwLCAwLCB7MHgwZiwweDg4LDB4MGIsMHgyOCwweDAwLDB4NzgsMHgwMiwweDNlLDB4ODAsMHgwZSwweDI4LDB4MDMsMHgyOCwweDAwLDB4Y2EsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTMwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwMCwweGM5LDB4ODAsMHgzMiwweDgwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDhjLDB4MDAsMHg4ZiwweDAwLDB4YTEsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTUwLCAwLCB7MHgwYiwweDcwLDB4NDIsMHgxNCwweDAwLDB4YjcsMHgwMCwweDJkLDB4NDEsMHgwYiwweDUwLDB4NDIsMHgxNCwweDAwLDB4YTUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMTYwLCAwLCB7MHhhMSwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZmMsMHg4MCwweGE1LDB4MDAsMHgyMSwweDAwLDB4MGIsMHhmMiwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJhLDB4MDAsMHhhNCwweDgwLDB4MjksMHgzMCB9IH0sCi17ICAxNiwgMHhiMTgwLCAwLCB7MHg0YiwweDQ4LDB4MDYsMHg1MiwweDA4LDB4YjQsMHg4MCwweDJkLDB4MjAsMHgwYiwweDQ4LDB4NDIsMHgzMiwweDAwLDB4ODQsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTkwLCAwLCB7MHgyMSwweDIwLDB4MGIsMHg0OCwweDEyLDB4ZGUsMHg0MCwweDg2LDB4ODEsMHgyOSwweGEwLDB4MGIsMHg3OCwweDBhLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDA1LDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhiMWIwLCAwLCB7MHgwYiwweDM0LDB4MDIsMHg2YywweDEwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDM2LDB4NGEsMHgwZCwweDBkLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWMwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzNCwweDgyLDB4Y2MsMHgwMiwweGEyLDB4MDAsMHgyOCwweDAwLDB4MGIsMHgzMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE5LDB4MjAsMHhlYSwweDQwLDB4MzAsMHhhMCB9IH0sCi17ICAxNiwgMHhiMWUwLCAwLCB7MHgwNywweGEwLDB4NDMsMHg2OSwweDQwLDB4ZmEsMHgwMCwweDNjLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgwOCwweDQwLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWYwLCAwLCB7MHgzMCwweGEwLDB4MGYsMHhhNCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4MDAsMHgzYiwweDk4LDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGQyLDB4MDAsMHhmYywweDA4LDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjEwLCAwLCB7MHgwYiwweGMyLDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjIwLCAwLCB7MHgzZiwweDA0LDB4MGYsMHhjMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHhiNiwweDAyLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg2OCB9IH0sCi17ICAxNiwgMHhiMjQwLCAwLCB7MHg0YywweDkxLDB4MDEsMHhlNCwweDA4LDB4YzksMHgwMCwweDNlLDB4NDAsMHgyYywweDkyLDB4MDMsMHhlNCwweDAyLDB4YzksMHhhMCB9IH0sCi17ICAxNiwgMHhiMjUwLCAwLCB7MHgzZSwweDcwLDB4MGUsMHg5MCwweDAzLDB4YzYsMHg0MiwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDg2LDB4MGUsMHg2MCB9IH0sCi17ICAxNiwgMHhiMjcwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHhlNCwweDA4LDB4ODksMHgxMCwweDJlLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwYyB9IH0sCi17ICAxNiwgMHhiMjgwLCAwLCB7MHgyZSwweDYwLDB4MDgsMHg5MCwweDAyLDB4ZTYsMHg4OCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg5ZCwweDEwLDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHhiMmEwLCAwLCB7MHgyOCwweGQwLDB4MDYsMHhmNCwweDAyLDB4YWQsMHgwMCwweDJmLDB4NjAsMHgwOCwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmIwLCAwLCB7MHgyZiwweDQwLDB4MGEsMHhkMCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDYwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDM0LDB4MDAsMHg4NSwweDAwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHhiMmQwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHhkNCwweDAwLDB4YTUsMHgwMiwweDJkLDB4NDAsMHgwOCwweDUwLDB4MDAsMHhkNCwweDAwLDB4ODUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmUwLCAwLCB7MHgyZCwweDQwLDB4MDgsMHg1NCwweDAyLDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyYywweDYwLDB4MGIsMHgxNCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhiMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUyLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzAwLCAwLCB7MHgwYywweDA1LDB4MDMsMHhlMSwweDQwLDB4ZTgsMHgwNCwweDNlLDB4MTQsMHgwYywweDg1LDB4MDMsMHhlMSwweDQwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzEwLCAwLCB7MHgzZSwweDE0LDB4MGUsMHhjMCwweDAzLDB4ZTAsMHgwMCwweGMwLDB4MDIsMHgzZSwweDAwLDB4NGYsMHg4MCwweDIzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiMzIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4MDAsMHhmOSwweDAxLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiMzMwLCAwLCB7MHg0ZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4ZDksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDEwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzQwLCAwLCB7MHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHhlMCwweGZkLDB4MjgsMHgzZiwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiMzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE0LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhiMzYwLCAwLCB7MHg0ZCwweDUwLDB4MDIsMHhlNCwweDAwLDB4OTUsMHgwNCwweDMzLDB4NDAsMHgyOCwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzcwLCAwLCB7MHgzMywweDQwLDB4MGYsMHg5MSwweDAzLDB4MzQsMHgwMCwweGNkLDB4NDAsMHgzMywweDQwLDB4MGYsMHg5OCwweDgxLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MTAsMHhiOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzkwLCAwLCB7MHgwYiwweDgwLDB4MDIsMHhlMCwweDEwLDB4YjgsMHgwMCwweDIyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiM2EwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHg4OCwweDAzLDB4YzIsMHg4MCwweDg4LDB4ODAsMHgyMiwweDAwLDB4MGIsMHg4YywweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhiM2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiM2MwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAxLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhiM2QwLCAwLCB7MHgyMCwweDQwLDB4MWIsMHg5MCwweDAyLDB4MDQsMHgyMiwweDg5LDB4MDAsMHgyMCwweDYwLDB4MGIsMHgxMiwweDgyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiM2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4NDQsMHhiOSwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhiM2YwLCAwLCB7MHg0YiwweDkwLDB4MDIsMHhlNCwweDEwLDB4YjksMHgwMiwweDAyLDB4NDAsMHgwOCwweDkxLDB4NDIsMHhlNCwweDAwLDB4YjksMHg4MCB9IH0sCi17ICAxNiwgMHhiNDAwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MiwweDAyLDB4YzQsMHgwMCwweDk5LDB4NDAsMHgyMiwweDQwLDB4NGIsMHg5MCwweDEyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4MDAsMHhiOSwweDAxLDB4M2UsMHg1OCB9IH0sCi17ICAxNiwgMHhiNDIwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZDEsMHgwMCwweDMyLDB4NjAsMHgwYywweDk4LDB4MDIsMHhlNiwweDQwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiNDMwLCAwLCB7MHhiMiwweDQwLDB4MGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGM5LDB4ODAsMHgzMiwweDUwLDB4MGYsMHg5MCwweDIzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MiB9IH0sCi17ICAxNiwgMHhiNDUwLCAwLCB7MHgwYiwweDkwLDB4MDMsMHhlNywweDA4LDB4ZjksMHgwMCwweGJlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiNDYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4YTQsMHgwMCwweGU5LDB4YTAsMHhiZSwweDQwLDB4MGYsMHgxMCwweDBiLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAxLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDgwLCAwLCB7MHgwZiwweDgwLDB4OGIsMHgyMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MDEsMHgwZiwweDgxLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhiNDkwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4LDB4NDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDEzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MmYsMHg5MSB9IH0sCi17ICAxNiwgMHhiNGIwLCAwLCB7MHgwYiwweGVlLDB4MDIsMHgyOCwweDAxLDB4YmUsMHgwMCwweDIwLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhlYSwweDgwLDB4YjYsMHg0OCB9IH0sCi17ICAxNiwgMHhiNGMwLCAwLCB7MHgyMiwweDgwLDB4MGQsMHhhMCwweDAyLDB4ZmEsMHgwMiwweDg2LDB4NDEsMHhhMywweGE2LDB4MGIsMHhhMCwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDgwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiNGUwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgwYywweDEwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwYiwweDM4LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGYwLCAwLCB7MHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4YzYsMHgwMSwweDgzLDB4NjAsMHgyMCwweDcwLDB4MGIsMHgzMCwweDBhLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDJlLDB4ODgsMHg4NSwweDA4LDB4MmQsMHg4MCB9IH0sCi17ICAxNiwgMHhiNTEwLCAwLCB7MHg0YiwweGY4LDB4MDYsMHgxYywweDgwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDUwLDB4MDIsMHhkNCwweDAwLDB4YjYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTIwLCAwLCB7MHgyOSwweDYwLDB4MDksMHg3MCwweDAyLDB4ZDAsMHhhMCwweDhkLDB4MDAsMHgyMSwweDQwLDB4MGIsMHgzMiwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhkNSwweDgwLDB4M2QsMHhlMCB9IH0sCi17ICAxNiwgMHhiNTQwLCAwLCB7MHg4ZiwweDc4LDB4MDMsMHgxZSwweDg0LDB4YjcsMHg4MiwweDNkLDB4NjAsMHgwZiwweDU5LDB4MDMsMHhkZSwweDAwLDB4ZjcsMHg4MCB9IH0sCi17ICAxNiwgMHhiNTUwLCAwLCB7MHgyOSwweDYwLDB4MTUsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzMSwweDYwLDB4MGYsMHg3YywweDAzLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4NDAsMHhlOSwweDAwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhiNTcwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhlZCwweDMwLDB4ZmIsMHgwMCwweDM2LDB4YzEsMHgwZiwweDk2LDB4MDMsMHhlNCwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTgwLCAwLCB7MHgzNCwweDQwLDB4MGYsMHhiNywweDgzLDB4ZWMsMHg0MCwweDIxLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhiNTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDgxLDB4MzMsMHhlMCB9IH0sCi17ICAxNiwgMHhiNWEwLCAwLCB7MHgwZiwweGY5LDB4MDMsMHhkZSwweDIwLDB4Y2YsMHg4MSwweDNmLDB4ZTAsMHgwNywweDc4LDB4MDMsMHgzZSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHhiNWIwLCAwLCB7MHgzZiwweGUwLDB4MDQsMHhmOCwweDEzLDB4ZmUsMHgwMiwweGRlLDB4ODAsMHgzMywweDYwLDB4MGYsMHhmOCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjNCB9IH0sCi17ICAxNiwgMHhiNWQwLCAwLCB7MHgwYiwweDVhLDB4MDIsMHhkYywweDQ4LDB4ODYsMHg1MCwweDJkLDB4YzAsMHgwYiwweDMxLDB4MDIsMHg5NCwweDYwLDB4YjQsMHgxOCB9IH0sCi17ICAxNiwgMHhiNWUwLCAwLCB7MHgyZCwweDQwLDB4NDgsMHg3MCwweDAyLDB4ZTgsMHgwMCwweGE1LDB4MTAsMHgyMSwweDQwLDB4MGIsMHg3MSwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiZCwweDAwLDB4MjEsMHg0MiB9IH0sCi17ICAxNiwgMHhiNjAwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhmYywweDAyLDB4ODUsMHgwMCwweDI1LDB4NDAsMHgwYiwweDUwLDB4MDIsMHg5YywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjEwLCAwLCB7MHgyZiwweDQwLDB4MjgsMHg3MSwweDAyLDB4ZGMsMHgwMCwweGE2LDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweDZkLDB4ODAsMHhiMSwweDIwLDB4YTAsMHg1MCB9IH0sCi17ICAxNiwgMHhiNjMwLCAwLCB7MHgwYiwweGIyLDB4MDYsMHhjZSwweDAwLDB4YTAsMHgzNCwweDJlLDB4ZjAsMHgwYiwweDE4LDB4MDIsMHg4NSwweDIwLDB4YjMsMHg0YSB9IH0sCi17ICAxNiwgMHhiNjQwLCAwLCB7MHgyYywweDU0LDB4ODgsMHgzOCwweDAyLDB4Y2MsMHgxMCwweGExLDB4MDAsMHgyMCwweGIwLDB4MGIsMHgzMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiNjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJlLDB4ODAsMHhmMywweDA4LDB4MTAsMHg1NCB9IH0sCi17ICAxNiwgMHhiNjYwLCAwLCB7MHgwYiwweDg4LDB4MTMsMHhmZiwweDAwLDB4YzAsMHg4MCwweDNlLDB4NjQsMHgwZiwweGI0LDB4ODMsMHgwNywweDAwLDB4ZjksMHhjMCB9IH0sCi17ICAxNiwgMHhiNjcwLCAwLCB7MHgzZSwweGYwLDB4MGMsMHhmYywweDEzLDB4ZjQsMHgwMCwweGVhLDB4MDAsMHgzMiwweDcwLDB4MGYsMHhmMCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHgxMCB9IH0sCi17ICAxNiwgMHhiNjkwLCAwLCB7MHgwNywweDkxLDB4MDMsMHhlYywweGMwLDB4NTgsMHgwMCwweDNlLDB4NDQsMHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiNmEwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiMywweDAzLDB4ZTAsMHgwMCwweGJiLDB4MDAsMHhiZSwweDQ0LDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDIsMHhjZCwweDA0LDB4MzMsMHhlMCB9IH0sCi17ICAxNiwgMHhiNmMwLCAwLCB7MHgwYywweGMwLDB4MDMsMHgzYywweDA4LDB4ZmUsMHgwMCwweDMzLDB4NjAsMHgyYywweGQwLDB4MDIsMHhiNCwweDgwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmQwLCAwLCB7MHgzZiwweDUyLDB4MDcsMHhmMCwweDEzLDB4ZmMsMHgwMCwweGNlLDB4MTAsMHgzMywweDQyLDB4MGMsMHhiMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHhiNmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDAsMHg4OSwweDAwLDB4MmEsMHhiMCB9IH0sCi17ICAxNiwgMHhiNmYwLCAwLCB7MHgwOCwweDg4LDB4MDIsMHgyYywweDAwLDB4YmEsMHgwMCwweDM2LDB4NDQsMHgwOCwweDkwLDB4MDAsMHgyNiwweDAwLDB4ZGIsMHhjMCB9IH0sCi17ICAxNiwgMHhiNzAwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDgzLDB4YzAsMHgyOCwweDQwLDB4MGEsMHhiMCwweDAyLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHhiNzEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHgwOCB9IH0sCi17ICAxNiwgMHhiNzIwLCAwLCB7MHgxYSwweGEyLDB4MDIsMHgyYywweDEwLDB4YjksMHgyMCwweDIyLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgyYywweDA0LDB4YWEsMHg1NCB9IH0sCi17ICAxNiwgMHhiNzMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDEyLDB4Y2MsMHgwMCwweDhiLDB4MDgsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDA0LDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzUwLCAwLCB7MHgwYSwweDA4LDB4ODIsMHgwYywweDAwLDB4YjgsMHgwMCwweDY0LDB4NDAsMHgwOCwweDMwLDB4MDIsMHhhNCwweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzYwLCAwLCB7MHgyYywweGMwLDB4OGIsMHgzMCwweDEwLDB4YzgsMHgwMiwweDhiLDB4MDAsMHgyYSwweDQwLDB4MGEsMHgzMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhiNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjOSwweDAwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzgwLCAwLCB7MHgxYSwweDgyLDB4MDMsMHgzYywweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweGQxLDB4MDMsMHhhYywweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzkwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZWQsMHgwMCwweGMzLDB4MDAsMHgzMiwweGMwLDB4OGMsMHhiMCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHhiN2EwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmNSwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiN2IwLCAwLCB7MHgwZCwweDgwLDB4NGIsMHhmYywweDAwLDB4N2MsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQyLDB4MGIsMHg3NCwweDAwLDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhiN2MwLCAwLCB7MHgxZCwweDQwLDB4OGYsMHhmMCwweDAzLDB4ZmMsMHhhMCwweGZmLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhiN2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhkZiwweDg0LDB4M2IsMHhlMCB9IH0sCi17ICAxNiwgMHhiN2UwLCAwLCB7MHgwZiwweGY4LDB4MGIsMHgzZSwweDAwLDB4ZWMsMHg4MCwweDMzLDB4ZTEsMHgwYywweDMwLDB4MDMsMHgzYywweDgwLDB4Y2YsMHg0OCB9IH0sCi17ICAxNiwgMHhiN2YwLCAwLCB7MHgzNywweGMwLDB4MGUsMHg0MCwweDAzLDB4ZTAsMHhjMCwweGM3LDB4OTEsMHhiMywweDA0LDB4MGMsMHhmMCwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhiODAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVmLDB4MDQsMHg4YiwweDgwLDB4MjIsMHg0MSB9IH0sCi17ICAxNiwgMHhiODEwLCAwLCB7MHgwYiwweGIwLDB4ODIsMHgyZSwweDAwLDB4ODgsMHg4MCwweGEyLDB4ZTAsMHgwYSwweGEyLDB4OTIsMHhhZCwweDgwLDB4ODcsMHg0MiB9IH0sCi17ICAxNiwgMHhiODIwLCAwLCB7MHgyMywweGQ4LDB4OGEsMHhhZCwweDAyLDB4ZTAsMHhjMCwweDhiLDB4MDAsMHgyMCwweDRjLDB4NDgsMHhhNCwweDAyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhiODMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NTgsMHhiYiwweDAwLDB4MjgsMHg4MCB9IH0sCi17ICAxNiwgMHhiODQwLCAwLCB7MHgwYiwweGIyLDB4NDIsMHgyNCwweDAwLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDYwLDB4YTMsMHgyMCB9IH0sCi17ICAxNiwgMHhiODUwLCAwLCB7MHgyNCwweGQyLDB4MDgsMHgwMCwweDQyLDB4OGMsMHg4MywweDliLDB4MDEsMHgyMCwweDQ5LDB4MDgsMHgzMywweGMyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhiODYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDAsMHhhYiwweDg4LDB4MjIsMHhhMCB9IH0sCi17ICAxNiwgMHhiODcwLCAwLCB7MHgwYiwweGI4LDB4MDIsMHgyNiwweDBjLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYSwweDkyLDB4MDIsMHhhNCwweDAwLDB4YWIsMHgwNiB9IH0sCi17ICAxNiwgMHhiODgwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTgsMHgwMCwweDliLDB4MDAsMHgwMiwweDQwLDB4MDgsMHhhMCwweDQyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhiODkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhkMywweDgwLDB4M2EsMHhlMCB9IH0sCi17ICAxNiwgMHhiOGEwLCAwLCB7MHgwZiwweDE4LDB4MDEsMHgwNiwweDAwLDB4ZTgsMHgzMCwweDM4LDB4NjYsMHgwZSwweGI4LDB4MDMsMHgyYSwweDQwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGIwLCAwLCB7MHgzNiwweGMxLDB4MGUsMHg5NiwweDAzLDB4ZTIsMHg4MCwweGRhLDB4MDgsMHgzMiwweDgwLDB4MmMsMHhiYiwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiOGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDljLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiOGQwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZGMsMHg4MCwweDM3LDB4NjAsMHgwZiwweGU4LDB4MDMsMHhmYSwweDAwLDB4ZGYsMHgwMSB9IH0sCi17ICAxNiwgMHhiOGUwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhjMCwweDQzLDB4ZTYsMHg0YywweGVmLDB4YTAsMHgzZiwweDQ0LDB4MGYsMHhhMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4NDAsMHhkYiwweDAwLDB4MzYsMHg4MCB9IH0sCi17ICAxNiwgMHhiOTAwLCAwLCB7MHgwYywweDk4LDB4MDMsMHgyNiwweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZSwweDE4LDB4MDMsMHg4NCwweDAyLDB4ZTMsMHgwMSB9IH0sCi17ICAxNiwgMHhiOTEwLCAwLCB7MHgzOCwweGMxLDB4MGUsMHhiNCwweDAzLDB4YWMsMHg4MCwweGNhLDB4MTgsMHgzYSwweGQwLDB4MmMsMHgzMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNmLDB4NDAsMHhiOSwweDg4LDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhiOTMwLCAwLCB7MHgwOCwweGJjLDB4MDIsMHhhMywweDAwLDB4YjAsMHgwMCwweDBlLDB4YzAsMHgwOCwweGIwLDB4MDYsMHgyMCwweDAwLDB4OGYsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTQwLCAwLCB7MHgyMywweGMxLDB4MDgsMHhiOSwweDEyLDB4MmYsMHgwMCwweDgzLDB4ODAsMHgzNiwweDQwLDB4MDgsMHhhZCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiOTYwLCAwLCB7MHgwOSwweDMyLDB4MDIsMHg4NCwweDAwLDB4MzMsMHgwMCwweDJjLDB4YjIsMHgwYSwweDM2LDB4MTIsMHg4YywweDA4LDB4OTMsMHgwNSB9IH0sCi17ICAxNiwgMHhiOTcwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgxOCwweDAyLDB4ZWQsMHgwMCwweDkxLDB4ODAsMHg2YSwweDAwLDB4MDgsMHgxMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhiOTkwLCAwLCB7MHgwOSwweDc4LDB4MDIsMHg5NywweDQwLDB4YjQsMHg4MCwweDJmLDB4YTAsMHgwOCwweGU4LDB4MDIsMHgwZSwweDQwLDB4OTcsMHg4MiB9IH0sCi17ICAxNiwgMHhiOWEwLCAwLCB7MHgyMSwweGUwLDB4OTgsMHg2OCwweDgyLDB4MWEsMHgxOCwweDlkLDB4OTAsMHgyZCwweGExLDB4MTgsMHg1OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4YzAsMHhmMywweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiOWMwLCAwLCB7MHgwZCwweGIwLDB4NDMsMHg4NCwweDQwLDB4ZjAsMHgwMCwweDNjLDB4ODIsMHgwZSwweDM4LDB4MTIsMHg4YywweDQ0LDB4ZjMsMHgzMCB9IH0sCi17ICAxNiwgMHhiOWQwLCAwLCB7MHhiYSwweGMxLDB4MWUsMHgxMCwweDQ3LDB4OGUsMHgyMiwweGQxLDB4MTAsMHgzOCwweDE4LDB4MGMsMHgzMCwweDgzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhiOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4NDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiOWYwLCAwLCB7MHgwZSwweGUwLDB4MDMsMHhmNCwweDQwLDB4ZmMsMHgwMCwweDNkLDB4YzQsMHgwZiwweGQwLDB4MDEsMHhmNCwweDQxLDB4ZWYsMHgxOCB9IH0sCi17ICAxNiwgMHhiYTAwLCAwLCB7MHgzZiwweGM0LDB4MWYsMHhmMCwweDAzLDB4ZjgsMHg0OCwweGVmLDB4MTQsMHgzMywweDgwLDB4MGYsMHhjMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhiYTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGZjLDB4NDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiYTIwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHgyNCwweDAwLDB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhhOCwweDAwLDB4ZGIsMHgyOCB9IH0sCi17ICAxNiwgMHhiYTMwLCAwLCB7MHgzZSwweGM0LDB4MWYsMHg5MCwweDIzLDB4ZWMsMHgwMCwweGNhLDB4MDAsMHgzMiwweGUwLDB4MGMsMHg5MCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4ODAsMHhiNywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhiYTUwLCAwLCB7MHg0YiwweDUwLDB4NTIsMHgxNCwweDAwLDB4ZDQsMHgwMSwweDJkLDB4ODAsMHgwYiwweDYwLDB4MDIsMHhkOCwweDAwLDB4YTcsMHgyMCB9IH0sCi17ICAxNiwgMHhiYTYwLCAwLCB7MHgyZCwweGM1LDB4MGIsMHg0MCwweDE2LDB4ZGMsMHgwMCwweDg0LDB4MDAsMHgyMywweGMwLDB4MDgsMHg0MCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiYTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhiYTgwLCAwLCB7MHgwYiwweDc4LDB4MGEsMHg5NiwweDAwLDB4OTQsMHg4MCwweDJkLDB4NjAsMHgxYiwweDc4LDB4MDYsMHhkMiwweDAwLDB4YTcsMHg4MCB9IH0sCi17ICAxNiwgMHhiYTkwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg3OCwweDIyLDB4ZGUsMHgwMCwweDg3LDB4ODIsMHgyMSwweGUwLDB4MDgsMHg1OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiYWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweGU0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiYWIwLCAwLCB7MHgxYiwweDIxLDB4MDIsMHg4MSwweDAwLDB4OTAsMHgwMCwweDJjLDB4YzgsMHgwYiwweDM5LDB4MDIsMHhjZSwweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhiYWMwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2QsMHgwMCwweDhiLDB4MjAsMHgyMCwweGYwLDB4MDgsMHhiMiwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiYWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweGEwLDB4M2YsMHg4MiB9IH0sCi17ICAxNiwgMHhiYWUwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHg5OCwweDMwLDB4ZDYsMHgwMCwweDNmLDB4YTAsMHgwZiwweGUwLDB4MDMsMHhiYSwweGMwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYWYwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhlYywweDMzLDB4ZjgsMHgwMiwweGNlLDB4MDAsMHhiMywweGI4LDB4MmMsMHhlYywweDgzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTgsMHhmOCwweDQwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjEwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHg2MCwweDg0LDB4ZjgsMHgwNSwweDJlLDB4MDQsMHg4ZiwweDgwLDB4NDEsMHhlMCwweDAwLDB4NzgsMHgwMiB9IH0sCi17ICAxNiwgMHhiYjIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MSwweDgzLDB4ZTAsMHgyMCwweGY4LDB4MDAsMHhiZSwweDAyLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MTgsMHhmOSwweDIwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjQwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNCwweDQwLDB4YzksMHgwMCwweDMyLDB4NjEsMHgwYywweDkwLDB4MTMsMHhjNCwweDA4LDB4YzksMHgwMSB9IH0sCi17ICAxNiwgMHhiYjUwLCAwLCB7MHgzZSwweDQxLDB4MGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHgzMiwweDQwLDB4MGYsMHg5OCwweDQzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY1LDB4MDAsMHhiMSwweGMwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjcwLCAwLCB7MHgwYiwweDljLDB4MDIsMHhlNywweDEwLDB4ODksMHgwMCwweDI4LDB4NDQsMHgwOCwweDk0LDB4MjIsMHhlNCwweDEwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhiYjgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5ZiwweDIyLDB4MjYsMHg2MCwweDg5LDB4ODAsMHgyMiwweDQwLDB4MGIsMHg5MSwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4ODAsMHhiOSwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhiYmEwLCAwLCB7MHg0YiwweGI0LDB4MDIsMHhlNCwweDIwLDB4ODksMHgyMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlYywweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhiYmIwLCAwLCB7MHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiYmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDA0LDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhiYmQwLCAwLCB7MHg4YiwweDEwLDB4MDIsMHhlNCwweDA1LDB4ODEsMHgwMCwweDI4LDB4NDAsMHgyOCwweDEyLDB4MTIsMHhjNCwweDgyLDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHhiYmUwLCAwLCB7MHgyYywweDQ4LDB4MGIsMHgxMiwweDBhLDB4MDQsMHg4MiwweDgxLDB4MDAsMHgyMCwweDQ4LDB4MGIsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY4LDB4YTAsMHhmYSwweDAyLDB4M2UsMHgxNCB9IH0sCi17ICAxNiwgMHhiYzAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDg1LDB4MDMsMHhjMSwweDQwLDB4YzgsMHg1MyB9IH0sCi17ICAxNiwgMHhiYzEwLCAwLCB7MHgzZSwweDE0LDB4MGYsMHg4MCwweDAzLDB4MDEsMHg0OCwweGMwLDB4NTAsMHhiMiwweDE0LDB4MGYsMHg4NSwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiYzIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4MDAsMHhmZCwweDAwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHhiYzMwLCAwLCB7MHgwZiwweDUwLDB4MTMsMHhkNCwweDAyLDB4ZmQsMHgwMCwweDJmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHhmNCwweDQwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhiYzQwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZjQsMHg0MCwweGZmLDB4MDAsMHhiZiwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiYzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4YTAsMHhmZCwweDAxLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhiYzYwLCAwLCB7MHgwZiwweGQxLDB4MDMsMHhkNCwweDAwLDB4YzUsMHgwMCwweDMzLDB4NDEsMHgwZiwweGRiLDB4MDMsMHgyNywweDIwLDB4ZDksMHhlMCB9IH0sCi17ICAxNiwgMHhiYzcwLCAwLCB7MHhiMiwweDcwLDB4MGQsMHhkYSwweDgzLDB4ZjYsMHg0MCwweGNmLDB4MTAsMHgzMiwweDc4LDB4MmQsMHhkYSwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweDAwLDB4MmUsMHgyOCB9IH0sCi17ICAxNiwgMHhiYzkwLCAwLCB7MHgwYiwweDg4LDB4NDIsMHhlMCwweDEwLDB4ZDgsMHgwMCwweDIyLDB4MDAsMHgwYiwweDhjLDB4MGEsMHgyMywweDAwLDB4ODgsMHhjMCB9IH0sCi17ICAxNiwgMHhiY2EwLCAwLCB7MHgyMiwweDI4LDB4MDgsMHg4NCwweDAyLDB4YzIsMHg4MCwweDgwLDB4YTAsMHgyMiwweDMwLDB4NDgsMHhhYSwweDgyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhiY2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhiY2MwLCAwLCB7MHg4YiwweDEyLDB4MDIsMHhjNCwweDAwLDB4OTksMHgwMiwweDI4LDB4NDAsMHg4YiwweDE2LDB4MDIsMHg4NCwweDgxLDB4OTEsMHgzMCB9IH0sCi17ICAxNiwgMHhiY2QwLCAwLCB7MHgyMCwweDU4LDB4MDksMHgxMCwweDAyLDB4YzUsMHgwMCwweDgxLDB4MDAsMHg2NCwweDRkLDB4MDgsMHgzNCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiY2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGFjLDB4MGMsMHhiOSwweDA0LDB4MmUsMHg0OCB9IH0sCi17ICAxNiwgMHhiY2YwLCAwLCB7MHgwYiwweDk0LDB4MDYsMHhlNCwweDAwLDB4OTksMHg0MCwweGFhLDB4NDAsMHgwYiwweDkyLDB4MjIsMHhhNCwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhiZDAwLCAwLCB7MHg2MCwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4ODAsMHhhNiwweDUwLDB4MDgsMHg5MiwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDk4LDB4M2UsMHg0OCB9IH0sCi17ICAxNiwgMHhiZDIwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhlNSwweDIwLDB4ZDksMHgwMCwweDNhLDB4NjQsMHgwZiwweDk0LDB4ODMsMHhhNCwweGMwLDB4ZDksMHgwMiB9IH0sCi17ICAxNiwgMHhiZDMwLCAwLCB7MHg3MiwweDQwLDB4NGQsMHg5MCwweDQyLDB4ZTQsMHg4MiwweGM5LDB4NDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGFjLDB4MjgsMHhmOSwweDg4LDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiZDUwLCAwLCB7MHgwZiwweDk5LDB4MTMsMHhlNywweDAwLDB4ZjksMHhjMCwweDM2LDB4NjAsMHgwZiwweDkwLDB4MDMsMHg2NiwweDAwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDYwLCAwLCB7MHg3ZSwweDQwLDB4MGYsMHg5OSwweDA3LDB4ZTQsMHg2MCwweGY5LDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5OCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDEwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDgwLCAwLCB7MHgwZiwweDgyLDB4MGIsMHgyMSwweDAwLDB4ZTgsMHgwMCwweDM2LDB4MDQsMHgwYywweDg2LDB4MDMsMHhlMSwweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDkwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4NjEsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHgwMCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MjAsMHhiZSwweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhiZGIwLCAwLCB7MHgyOCwweGVjLDB4MDIsMHgxOSwweDA0LDB4ODIsMHgwMCwweDAzLDB4ODAsMHgwZCwweGU0LDB4ODIsMHhlOCwweDAwLDB4OGEsMHgwMSB9IH0sCi17ICAxNiwgMHhiZGMwLCAwLCB7MHhhYSwweDgwLDB4OGIsMHhlZCwweDgyLDB4M2IsMHg4MCwweDhlLDB4OTAsMHgzNiwweDgwLDB4MGIsMHhlMCwweDAzLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQyLDB4MDAsMHhiMywweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZGUwLCAwLCB7MHg2YiwweDM0LDB4MTYsMHg0MCwweGMwLDB4ODMsMHgxMCwweDI0LDB4NzIsMHg4OCwweGIwLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhiZGYwLCAwLCB7MHgyNCwweGMwLDB4MGIsMHgwNCwweDAyLDB4NmYsMHgwOSwweDliLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE0LDB4MDAsMHhiNywweDgwLDB4MjMsMHhlNCB9IH0sCi17ICAxNiwgMHhiZTEwLCAwLCB7MHgyOCwweDc4LDB4ODIsMHg3NCwweDE0LDB4OGYsMHgwMCwweDYxLDB4ZTAsMHgwOSwweDUwLDB4MTIsMHhkYywweDA0LDB4ODcsMHgyMiB9IH0sCi17ICAxNiwgMHhiZTIwLCAwLCB7MHgyNSwweGM4LDB4MWIsMHg3OCwweDAyLDB4MTQsMHgwMCwweDk0LDB4NDAsMHhhNSwweGMwLDB4MGIsMHg2MCwweDIyLDB4NjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MjAsMHhiNywweDgwLDB4YjEsMHhlMCB9IH0sCi17ICAxNiwgMHhiZTQwLCAwLCB7MHg4ZiwweGY4LDB4MDMsMHgxMiwweDAyLDB4ZTcsMHg4MCwweDM1LDB4ZTAsMHgwYywweDY4LDB4MDYsMHhjZiwweGMyLDB4Y2YsMHhiMCB9IH0sCi17ICAxNiwgMHhiZTUwLCAwLCB7MHgyNSwweGY0LDB4MGYsMHg1OCwweDAzLDB4NWEsMHgwMiwweGQ1LDB4ODAsMHg3NSwweGZhLDB4NGYsMHhmOCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGE1LDB4OTAsMHhmMywweDAwLDB4M2QsMHhjMCB9IH0sCi17ICAxNiwgMHhiZTcwLCAwLCB7MHg0ZiwweGIwLDB4MTMsMHhhOCwweDA0LDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZiwweDgwLDB4NDMsMHhlYywweDgwLDB4ZWIsMHg2MCB9IH0sCi17ICAxNiwgMHhiZTgwLCAwLCB7MHgzYSwweGM5LDB4MGYsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGU5LDB4MDAsMHgzZSwweGM4LDB4MGYsMHhhMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhiZTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhlZSwweDgwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhiZWEwLCAwLCB7MHgwZCwweDg5LDB4MDMsMHhkMiwweDQwLDB4ZTUsMHg4MSwweDM5LDB4ZTAsMHgzYywweGY5LDB4MDcsMHhmZSwweDAwLDB4Y2YsMHg4OCB9IH0sCi17ICAxNiwgMHhiZWIwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhlOCwweDAzLDB4ZjIsMHgwOCwweGNlLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDk0LDB4NDQsMHhjNiwweDAwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhiZWQwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHhkMCwweGM0LDB4ODUsMHgyNCwweDIxLDB4OTAsMHgwOCwweDU0LDB4MTIsMHhkYywweDgyLDB4MDcsMHgwMCB9IH0sCi17ICAxNiwgMHhiZWUwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDA2LDB4ZDQsMHgwMCwweDhlLDB4NDgsMHgyMSwweGMwLDB4MGEsMHg2MCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDQwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhiZjAwLCAwLCB7MHgwOCwweDQyLDB4MDIsMHhkMCwweDAwLDB4YWQsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MjIsMHhkYywweDI4LDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4OTgsMHgwMCwweDk3LDB4MDAsMHhhMCwweGM0LDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDgsMHg5MywweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHhiZjMwLCAwLCB7MHgwOCwweDNjLDB4MjIsMHhjMSwweDAwLDB4ODEsMHgwMCwweDIwLDB4ODAsMHg4OCwweDE1LDB4MDIsMHhjZSwweDMwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzYywweDAyLDB4Y2MsMHgwNCwweDkzLDB4YzAsMHgyMCwweGY0LDB4NGEsMHgwYywweDgyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZjUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhlMywweGMwLDB4MWYsMHhlMCB9IH0sCi17ICAxNiwgMHhiZjYwLCAwLCB7MHg2YywweDEwLDB4ODMsMHhlMCwweDA0LDB4ZWIsMHgwMCwweDNhLDB4NTIsMHg0YywweGI0LDB4MDMsMHhmZSwweDAyLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjcwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHg4NCwweDQzLDB4ZTEsMHgwMiwweGQ4LDB4YzIsMHgzMywweGMwLDB4MGMsMHg4NCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU5LDB4MDAsMHhlYiwweDEwLDB4M2UsMHhjNCB9IH0sCi17ICAxNiwgMHhiZjkwLCAwLCB7MHgwZSwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZmIsMHgxOCwweDNlLDB4YzIsMHgwZiwweGI2LDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMSB9IH0sCi17ICAxNiwgMHhiZmEwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHgzNSwweDAzLDB4YzQsMHgyOCwweGVhLDB4NDIsMHgzZSwweGMwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4NDAsMHhmZiwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhiZmMwLCAwLCB7MHgwYywweGMwLDB4YTMsMHgzMCwweDI4LDB4Y2QsMHhhMCwweDMzLDB4YzAsMHgwYywweGU4LDB4MDMsMHgwYywweDAwLDB4ZWYsMHgwNSB9IH0sCi17ICAxNiwgMHhiZmQwLCAwLCB7MHgzZCwweGMwLDB4MGMsMHhjYSwweDgzLDB4M2MsMHgwMCwweGNkLDB4MDgsMHgzZiwweGMyLDB4MGMsMHhhMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHhiZmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDY3LDB4MDAsMHhiYiwweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZmYwLCAwLCB7MHgwOCwweGFhLDB4MDIsMHgwOCwweDAwLDB4YTEsMHgwMSwweDM0LDB4ZDEsMHgwOCwweGE0LDB4MTIsMHgyYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDAwLCAwLCB7MHg2ZSwweGMwLDB4ODgsMHhiMiwweDAyLDB4MmMsMHgwOCwweDg5LDB4ODAsMHgyZSwweGMwLDB4MGEsMHhhOCwweDAzLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhjMDEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYSwweDgwLDB4YTIsMHhjMCB9IH0sCi17ICAxNiwgMHhjMDIwLCAwLCB7MHgwOCwweGE4LDB4MGEsMHhhMCwweDAwLDB4OGIsMHgwMCwweGEyLDB4YzAsMHg0OCwweDExLDB4MDIsMHhhYywweDA0LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDMwLCAwLCB7MHgyZSwweGMwLDB4MDAsMHg4MCwweDEyLDB4MmEsMHgwOCwweDhiLDB4MTQsMHgyYywweGMwLDB4MDgsMHg4OCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhjMDUwLCAwLCB7MHgwOCwweGIyLDB4MTIsMHg4MCwweDAwLDB4YWIsMHgwMSwweDI0LDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwYywweDA0LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDYwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4MDcsMHgwMCwweDgyLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgwOCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhjMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhjMDgwLCAwLCB7MHgwYywweGEyLDB4MDMsMHhhMCwweDAwLDB4YzksMHgwMCwweDMyLDB4YzAsMHgyNCwweDk0LDB4MDMsMHgzYywweDAyLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDkwLCAwLCB7MHgyZiwweGMwLDB4MDQsMHg4MCwweDBiLDB4MDksMHgwMiwweGNiLDB4MDEsMHgzZiwweGMwLDB4MmMsMHhhMCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHhjMGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGRjLDB4MDAsMHhmZCwweDAyLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhjMGIwLCAwLCB7MHg0ZiwweGU0LDB4MTMsMHg3MCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMyLDB4ODMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMGMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHhjMGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MjAsMHhlZiwweDMwLDB4M2YsMHgwNCB9IH0sCi17ICAxNiwgMHhjMGUwLCAwLCB7MHg2YywweDg4LDB4MDMsMHgzYSwweDQyLDB4ZTQsMHg5MSwweDNmLDB4MGQsMHgwZCwweDQ4LDB4MDMsMHgzYywweGMwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHhjMGYwLCAwLCB7MHgzMywweDQ0LDB4MGMsMHhmNCwweDAzLDB4ZmMsMHg4MiwweGRmLDB4MzAsMHgzMywweDYwLDB4MGQsMHhmMSwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGVkLDB4MDAsMHg4YiwweDcwLDB4MmUsMHgxOCB9IH0sCi17ICAxNiwgMHhjMTEwLCAwLCB7MHg4OCwweDIyLDB4NGEsMHgyYywweDgyLDB4ZWEsMHgyNiwweDJlLDB4MGMsMHgwYiwweGI4LDB4NDIsMHgzZCwweDgwLDB4YmYsMHg5MCB9IH0sCi17ICAxNiwgMHhjMTIwLCAwLCB7MHgyYSwweDU0LDB4MjgsMHhiNCwweDAyLDB4Y2QsMHgwMCwweGRiLDB4NDAsMHgyYSwweDRhLDB4NDgsMHgzMCwweDAyLDB4YTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4YjAsMHhhMywweDAwLDB4NmMsMHgxMCB9IH0sCi17ICAxNiwgMHhjMTQwLCAwLCB7MHgwOSwweDAwLDB4ODIsMHgyMCwweDgyLDB4YTAsMHgyMCwweDJjLDB4ODgsMHg0YiwweDgwLDB4MDAsMHgwYywweDQwLDB4YjMsMHgwMSB9IH0sCi17ICAxNiwgMHhjMTUwLCAwLCB7MHgyMCwweDQ4LDB4MGIsMHgzNiwweDAyLDB4OGMsMHhlMCwweDgzLDB4NjQsMHgyNCwweDQwLDB4MjgsMHgzMiwweDAyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhjMTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgxMSwweGFjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTcwLCAwLCB7MHgwOSwweDgwLDB4ODAsMHhhNiwweDAwLDB4YmEsMHgxMSwweDJlLDB4ODgsMHgwYiwweGIwLDB4MDAsMHgyYywweDAwLDB4YmIsMHgwMiB9IH0sCi17ICAxNiwgMHhjMTgwLCAwLCB7MHgwMiwweDQwLDB4MDksMHhiMCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDAsMHgyYywweGM4LDB4MDgsMHhiOCwweDgyLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHg5MiB9IH0sCi17ICAxNiwgMHhjMWEwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHgwYSwweDIwLDB4ZTksMHgwMCwweDNlLDB4NTAsMHg0NSwweDgwLDB4MDEsMHgyYywweDA0LDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWIwLCAwLCB7MHg5MCwweDYwLDB4MDksMHhiMCwweDAzLDB4ZWMsMHgwMCwweDhiLDB4MDIsMHgyNiwweDUwLDB4OGQsMHhiYywweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAyLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhjMWQwLCAwLCB7MHgwZSwweGY5LDB4MDIsMHg3YywweDIyLDB4YWYsMHgwMCwweDNmLDB4NjAsMHgwMywweGMwLDB4MGIsMHhmYywweDEwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWUwLCAwLCB7MHgzZiwweDRhLDB4NGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY3LDB4MDAsMHgyYiwweDYwLDB4MGYsMHg3MCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjAwLCAwLCB7MHgwZiwweDgyLDB4MGIsMHhhOSwweDAwLDB4YzksMHgwMCwweDMyLDB4ZDIsMHgwZiwweGEwLDB4ODMsMHhhYywweDAwLDB4Y2IsMHgxMCB9IH0sCi17ICAxNiwgMHhjMjEwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgzMiwweDUwLDB4MmMsMHg5NSwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNjLDB4MDQsMHhiZiwweDAyLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhjMjMwLCAwLCB7MHgwYiwweDk4LDB4MDAsMHgyOSwweDAwLDB4Y2IsMHg0MCwweDIyLDB4YzAsMHgwYiwweDI0LDB4MDIsMHgzYywweDA4LDB4OGYsMHg1MCB9IH0sCi17ICAxNiwgMHhjMjQwLCAwLCB7MHgyZSwweDUwLDB4MGQsMHhmMCwweDAyLDB4ZmQsMHg0MiwweDhmLDB4NTgsMHgyMiwweGUwLDB4NDgsMHhiNSwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHhjMjYwLCAwLCB7MHg0YiwweDk0LDB4MDAsMHg0OSwweDAwLDB4OTAsMHg4MCwweDA0LDB4MzAsMHgwOSwweDAwLDB4MGUsMHg0YywweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhjMjcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzMCwweDIyLDB4NmUsMHg0MiwweDgzLDB4ODAsMHgyMCwweDQ4LDB4MDgsMHgzOCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweDgwLDB4NjUsMHgyMCB9IH0sCi17ICAxNiwgMHhjMjkwLCAwLCB7MHgwYiwweDc4LDB4ODIsMHg3YSwweDA4LDB4OGMsMHhjMCwweDI1LDB4YTMsMHg0YiwweDc4LDB4MDIsMHg1ZSwweDA0LDB4ODcsMHg4NCB9IH0sCi17ICAxNiwgMHhjMmEwLCAwLCB7MHgyZCwweDYxLDB4ODksMHg3OCwweDAyLDB4ZGUsMHgwNCwweDg3LDB4ODAsMHhlOSwweDYyLDB4MDgsMHg3OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmYiwweDAwLDB4MzQsMHg0OCB9IH0sCi17ICAxNiwgMHhjMmMwLCAwLCB7MHgwZiwweDNiLDB4MDMsMHg0OCwweDAwLDB4OTMsMHg0OCwweDM0LDB4NTAsMHgwZCwweDAwLDB4MDMsMHg2YywweDAwLDB4YzMsMHgxMCB9IH0sCi17ICAxNiwgMHhjMmQwLCAwLCB7MHgxYywweGMyLDB4MDUsMHgzMCwweDAzLDB4Y2MsMHg0MCwweGNiLDB4MDAsMHgzMiwweDQwLDB4MGMsMHgyMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhjMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MjAsMHhmZiwweDAxLDB4MDMsMHg0MCB9IH0sCi17ICAxNiwgMHhjMmYwLCAwLCB7MHgwZiwweGYwLDB4MjMsMHgxYywweDAwLDB4ZmYsMHgwMCwweDNiLDB4ODAsMHgwZiwweGIwLDB4MjMsMHgzYywweDAyLDB4ZmYsMHg1MCB9IH0sCi17ICAxNiwgMHhjMzAwLCAwLCB7MHgzZCwweGM0LDB4MGYsMHhmMSwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHhiNywweGMwLDB4MGYsMHhlMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjMzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhjMzIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg0OCwweDAyLDB4YzgsMHg4MSwweDMyLDB4MDAsMHgwZiwweDkwLDB4NDIsMHhlYywweGEwLDB4ZmIsMHgxMCB9IH0sCi17ICAxNiwgMHhjMzMwLCAwLCB7MHgzZSwweGUwLDB4MGMsMHhiMSwweDAzLDB4ZWMsMHg0MCwweGZiLDB4MTAsMHgzMiwweDQwLDB4MWYsMHhmMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDI0LDB4MmQsMHg4MCB9IH0sCi17ICAxNiwgMHhjMzUwLCAwLCB7MHgwOCwweDcwLDB4NDIsMHhkOCwweDEwLDB4OGMsMHgwMiwweDIxLDB4NDAsMHgwYiwweDUwLDB4MDIsMHhkZCwweDAwLDB4ZTcsMHgyMCB9IH0sCi17ICAxNiwgMHhjMzYwLCAwLCB7MHgyZiwweDQwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwNSwweGI3LDB4MDAsMHgyMSwweGMwLDB4MGIsMHhmMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDkwLDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHhjMzgwLCAwLCB7MHgwYSwweDY4LDB4MDIsMHg3YSwweDAwLDB4OTcsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHhjMzkwLCAwLCB7MHgyZCwweGUwLDB4MDgsMHg3OCwweDA2LDB4ZGUsMHgwMCwweGI3LDB4YTAsMHgyMSwweDYwLDB4MGIsMHg3OCwweDQyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjM2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjM2IwLCAwLCB7MHgwYSwweDM0LDB4MDIsMHhjOCwweDAwLDB4ODMsMHg0YSwweDIwLDB4ZjgsMHgwYiwweDMxLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjM2MwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGIyLDB4MGIsMHgyMCwweDQyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjM2QwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhiYSwweDAwLDB4M2YsMHg4OCB9IH0sCi17ICAxNiwgMHhjM2UwLCAwLCB7MHgyZSwweGUwLDB4NDMsMHg1OSwweDg4LDB4ZGUsMHgwMCwweDMzLDB4YjAsMHgwZiwweDZjLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjM2YwLCAwLCB7MHgzZSwweDgwLDB4MmMsMHhhMCwweDAzLDB4ZTgsMHgwNCwweGZhLDB4MDAsMHgyMywweGI4LDB4MGYsMHhlMCwweDhiLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDQsMHhmOCwweDAxLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDEwLCAwLCB7MHgwOSwweDgyLDB4MjEsMHhlMCwweDAwLDB4ZjgsMHg0MCwweGJlLDB4MTQsMHgwZiwweDg0LDB4ODEsMHhlMCwweDAwLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDIwLCAwLCB7MHgzZSwweDAwLDB4MWYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHhiZSwweDAwLDB4MGYsMHg4OCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhlMSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDQwLCAwLCB7MHgwYywweDkwLDB4NDMsMHhlNCwweDIwLDB4ZDksMHgwMCwweDNjLDB4NDQsMHgwOCwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMSB9IH0sCi17ICAxNiwgMHhjNDUwLCAwLCB7MHgzZSwweDQ4LDB4MGYsMHgxMCwweDQzLDB4MjUsMHgwMCwweGM5LDB4MDAsMHhiMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAwLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDcwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHhlNiwweDA4LDB4YTksMHg2MCwweDJlLDB4NDksMHgwOCwweDk0LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjNDgwLCAwLCB7MHgyZSwweDcwLDB4MGIsMHg5MCwweDAyLDB4MjYsMHgwMiwweDg5LDB4MDAsMHhhMCwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhjNGEwLCAwLCB7MHgwOCwweDk4LDB4MDQsMHhlNiwweDAwLDB4OTksMHg4MCwweDJlLDB4NDAsMHgwYSwweGIxLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjNGIwLCAwLCB7MHgwZSwweDQwLDB4MGIsMHg5MCwweDBhLDB4MDQsMHgwMCwweDgxLDB4MDEsMHgyMiwweGMwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHhiMSwweDIwLDB4MjIsMHg0OCB9IH0sCi17ICAxNiwgMHhjNGQwLCAwLCB7MHgwOCwweDE4LDB4MDYsMHhjNCwweDAwLDB4YTEsMHgwMCwweDJjLDB4NDgsMHgyYSwweDMwLDB4MDIsMHgwNCwweDgwLDB4YjEsMHgyMiB9IH0sCi17ICAxNiwgMHhjNGUwLCAwLCB7MHgyYywweDQ4LDB4MGIsMHgxMiwweDAyLDB4MDUsMHg4MCwweDgxLDB4NjAsMHgyMiwweDUwLDB4MGEsMHgxNCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhjNTAwLCAwLCB7MHgwYywweDg1LDB4MDMsMHhlMSwweDQwLDB4ZDgsMHg1MCwweDNlLDB4MTQsMHgwZSwweDgwLDB4MGIsMHgyMSwweDQwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTEwLCAwLCB7MHgzZSwweDk0LDB4MGYsMHg4NSwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhjNTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4NDEsMHhmOSwweDEwLDB4M2QsMHg0NSB9IH0sCi17ICAxNiwgMHhjNTMwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDUsMHgwZCwweGQwLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhjNTQwLCAwLCB7MHgzZiwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MiwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkNCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjNTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhjNTYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhmNCwweDA4LDB4OGQsMHgwMiwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNCwweDAwLDB4Y2QsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTcwLCAwLCB7MHgzMywweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4NGMsMHg5OCwweDIzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHhlOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTkwLCAwLCB7MHg0OCwweDgwLDB4MDIsMHhlOCwweDAwLDB4ZDAsMHgwMCwweDJlLDB4ODAsMHgwYiwweDgwLDB4MTIsMHhlMCwweDAyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNWEwLCAwLCB7MHhhMiwweDAwLDB4MGEsMHg4MCwweDEyLDB4MjIsMHgwMCwweGI4LDB4ODEsMHgyMiwweDI4LDB4MDgsMHhjZiwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhjNWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhjNWMwLCAwLCB7MHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDAwLDB4OTEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNWQwLCAwLCB7MHgyNiwweDQwLDB4MDksMHgxMCwweDAyLDB4NTQsMHhhMCwweGI1LDB4MmMsMHhhNSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjNWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDAwLDB4MmUsMHg1MCB9IH0sCi17ICAxNiwgMHhjNWYwLCAwLCB7MHg1OCwweDkwLDB4MDIsMHhlNCwweDgwLDB4OWIsMHgwMCwweDJlLDB4NDUsMHg4YiwweDkyLDB4MDIsMHhlNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhjNjAwLCAwLCB7MHgyNiwweDQ0LDB4MGIsMHg5MCwweDAyLDB4NjQsMHgwOCwweGI1LDB4MDAsMHgyNSwweDRhLDB4MDgsMHg1MSwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1NCB9IH0sCi17ICAxNiwgMHhjNjIwLCAwLCB7MHgwYywweDkwLDB4NDMsMHhjNCwweDAwLDB4YzksMHg5MCwweDNlLDB4NzAsMHgwZiwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHhjNjMwLCAwLCB7MHgzNCwweDYwLDB4NGQsMHg5MCwweDBhLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MmMsMHg5ZSwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhjNjUwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNiwweDMwLDB4ZjksMHgwMCwweDNlLDB4NjIsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhjNjYwLCAwLCB7MHgzYSwweDQwLDB4NGUsMHg5MCwweDAzLDB4YTQsMHgwMCwweDc5LDB4MGMsMHgzYSwweDQwLDB4MGYsMHg5MCwweDFiLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjgwLCAwLCB7MHgwYywweDgxLDB4MTMsMHhlMSwweDA4LDB4YzgsMHg0OCwweDMyLDB4MDAsMHgzYywweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjAsMHgxMCB9IH0sCi17ICAxNiwgMHhjNjkwLCAwLCB7MHgzZSwweDA2LDB4MGMsMHg4MCwweDAzLDB4ZjAsMHgwOCwweGNjLDB4MDAsMHgzMywweDA0LDB4MGMsMHhjMCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhjNmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhiYSwweDAwLDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhjNmIwLCAwLCB7MHgwOCwweGVjLDB4NDIsMHhmYSwweDIwLDB4OGUsMHgwMCwweDIzLDB4YTAsMHgwOCwweGU4LDB4NDIsMHhlOCwweDAwLDB4YmUsMHg4MCB9IH0sCi17ICAxNiwgMHhjNmMwLCAwLCB7MHgyZiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgyMiwweDgwLDB4NDgsMHhlMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjNmUwLCAwLCB7MHgwOSwweDM0LDB4ODIsMHhjOSwweDAwLDB4ODMsMHg4MCwweDIwLDB4ZjAsMHgwOCwweDMwLDB4ODIsMHhjYywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHhjNmYwLCAwLCB7MHgyYywweGYwLDB4MDgsMHhiMCwweDAyLDB4YzEsMHgyMCwweDgwLDB4MDAsMHhhMCwweDMyLDB4MDgsMHgwMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4YzAsMHhiNywweDAxLDB4MmYsMHhjOCB9IH0sCi17ICAxNiwgMHhjNzEwLCAwLCB7MHg4OSwweDUwLDB4MDIsMHhkOCwweDAyLDB4ODcsMHhjNCwweDIxLDB4ZTIsMHg0OCwweDcwLDB4ODIsMHhkYywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzIwLCAwLCB7MHgyYywweDQwLDB4MDgsMHg3MiwweDAyLDB4Y2UsMHgwMCwweDk3LDB4MDgsMHgyMywweGMwLDB4MDgsMHg3MCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNywweGUxLDB4M2QsMHhlOCB9IH0sCi17ICAxNiwgMHhjNzQwLCAwLCB7MHgyZCwweDY4LDB4MDMsMHhmMiwweDAwLDB4YzcsMHg4MCwweGIwLDB4ZTAsMHgwOCwweDY4LDB4MDMsMHhkZiwweDgwLDB4ZjYsMHg4MCB9IH0sCi17ICAxNiwgMHhjNzUwLCAwLCB7MHgzZCwweGUwLDB4OGMsMHg3ZSwweDAzLDB4ZGEsMHgwMCwweGNjLDB4ODAsMHgzMSwweDIwLDB4MGMsMHhjOCwweDBiLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhjNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDgsMHhmYiwweDAwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHhjNzcwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDIsMHhlYywweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzgwLCAwLCB7MHgzZSwweDQwLDB4MmYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MmYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhjNzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDkyLDB4N2YsMHhlYSB9IH0sCi17ICAxNiwgMHhjN2EwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhmZSwweDAwLDB4Y2MsMHhhMCwweDNmLDB4MjAsMHgwZCwweGY5LDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhjN2IwLCAwLCB7MHgzMywweDYwLDB4MGYsMHhmOCwweDAzLDB4ZjYsMHgwMCwweGVmLDB4ODQsMHgzMywweGUwLDB4MmMsMHhjOCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjN2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjOCB9IH0sCi17ICAxNiwgMHhjN2QwLCAwLCB7MHgwOCwweDU0LDB4MDIsMHhkOCwweDAwLDB4ZDYsMHgwNCwweDJkLDB4MDEsMHgwOCwweDY5LDB4MDIsMHgxYywweDAwLDB4ODUsMHgwMCB9IH0sCi17ICAxNiwgMHhjN2UwLCAwLCB7MHgyMSwweDQzLDB4MGIsMHg3MCwweDAzLDB4OWEsMHhjMCwweDhjLDB4MDAsMHhhMywweDAyLDB4MDgsMHhmMSwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjN2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDAxLDB4MmQsMHhjYyB9IH0sCi17ICAxNiwgMHhjODAwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhkNCwweDAwLDB4OTQsMHgyOCwweDJkLDB4YzIsMHgwOCwweGMyLDB4MDIsMHg1YywweDAwLDB4ODYsMHgwMCB9IH0sCi17ICAxNiwgMHhjODEwLCAwLCB7MHgyMSwweDgwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgwMCwweGE3LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg0OCwweDAyLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjODIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDgsMHhiMywweDAwLDB4MmMsMHhmMCB9IH0sCi17ICAxNiwgMHhjODMwLCAwLCB7MHgwOCwweDA1LDB4MDIsMHhjMCwweDIwLDB4OTAsMHg4MCwweDJlLDB4MDAsMHgwOCwweDAwLDB4ODIsMHg0YywweDAyLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhjODQwLCAwLCB7MHhhMCwweDYxLDB4MGIsMHgzMCwweDAyLDB4YTAsMHgwMCwweDgwLDB4MDAsMHhhMCwweDMwLDB4ODgsMHhiMSwweDBhLDB4NDgsMHgwNCB9IH0sCi17ICAxNiwgMHhjODUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmZiwweDAwLDB4MmQsMHhjOCB9IH0sCi17ICAxNiwgMHhjODYwLCAwLCB7MHgwYywweDNkLDB4MDMsMHhlNCwweDAwLDB4ZGIsMHgwMiwweDNlLDB4ZjAsMHgyYywweDkwLDB4NGIsMHg3YywweDAwLDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhjODcwLCAwLCB7MHgzMiwweDIwLDB4NGYsMHhmMCwweDEzLDB4ZTAsMHgwMCwweGU4LDB4MDEsMHgzMiwweDAwLDB4OGMsMHhhYywweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjODgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHhjMiB9IH0sCi17ICAxNiwgMHhjODkwLCAwLCB7MHg0ZiwweGIwLDB4MDMsMHhlMCwweDA0LDB4ZmEsMHg0MCwweDNlLDB4YzIsMHg0ZSwweDk4LDB4MjMsMHhhYywweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGEwLCAwLCB7MHgzZSwweDUwLDB4MDcsMHhiMCwweDEzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMyLDB4MGYsMHg5MiwweDAzLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGMwLCAwLCB7MHgwYywweGM4LDB4MjMsMHgzNiwweDgyLDB4Y2YsMHg4MCwweDNmLDB4ODAsMHgwYywweGUwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHhjOGQwLCAwLCB7MHgzMywweGMwLDB4MGUsMHhmMCwweDAzLDB4ZjgsMHgxMCwweGRjLDB4MDAsMHgzMywweDAwLDB4NGMsMHhlOCwweDIxLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhjOGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGYwLCAwLCB7MHg0YSwweDhkLDB4NDIsMHgyMSwweDAwLDB4OGIsMHg0MiwweDJlLDB4ZDIsMHgwOCwweGIwLDB4MDMsMHhlYywweDAwLDB4YjgsMHg4OCB9IH0sCi17ICAxNiwgMHhjOTAwLCAwLCB7MHgzNCwweDYyLDB4MGQsMHhiMCwweDAyLDB4ZTQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDBhLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhjOTEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTIwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHgwZCwweDAwLDB4ODksMHgxMCwweDJlLDB4MDgsMHgyOCwweDkyLDB4MDIsMHhlYywweDA0LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTMwLCAwLCB7MHgyMiwweGEwLDB4MDgsMHhiMCwweDAyLDB4NjQsMHgwMiwweGIzLDB4MDIsMHgyMCwweGMwLDB4MDgsMHhhMiwweDAyLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhhMywweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTUwLCAwLCB7MHgwYSwweDkwLDB4MjIsMHgwYywweDEwLDB4ODAsMHgwMCwweDJjLDB4MDAsMHgxOCwweDAyLDB4ODIsMHhjYywweDAwLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTYwLCAwLCB7MHgyNiwweDQwLDB4MDksMHgzMCwweDAyLDB4YzgsMHgyMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgxMCwweDA2LDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhjOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTgwLCAwLCB7MHgwYywweGExLDB4MDIsMHgyNCwweDAwLDB4ODgsMHgwMCwweDNjLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTkwLCAwLCB7MHgzMiwweDgwLDB4MGUsMHhiMCwweDAzLDB4Y2MsMHg4MCwweGRiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4ODAsMHgwMyB9IH0sCi17ICAxNiwgMHhjOWEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhjOWIwLCAwLCB7MHg0ZiwweGMyLDB4MTMsMHhkNCwweDEwLDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhiYywweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhjOWMwLCAwLCB7MHgzZiwweDQwLDB4MGYsMHhmMCwweDIzLDB4ZTAsMHgxMiwweGZjLDB4MDEsMHhiZiwweDAwLDB4MGYsMHhkMCwweDAzLDB4NjgsMHgwMiB9IH0sCi17ICAxNiwgMHhjOWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjNywweDgwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhjOWUwLCAwLCB7MHg4YiwweGI0LDB4MDMsMHhiMCwweGMwLDB4Y2YsMHgyZSwweDFmLDB4MGMsMHg0ZiwweGMzLDB4MDMsMHgzMCwweDgwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhjOWYwLCAwLCB7MHgzZiwweDA4LDB4MGYsMHhmMCwweDAwLDB4N2MsMHgwMCwweGZmLDB4MjEsMHgzMywweGU0LDB4MGMsMHhlMCwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVlLDB4MDAsMHg4YiwweDgyLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHhjYTEwLCAwLCB7MHgwYiwweGI1LDB4MTIsMHgwZCwweDg4LDB4ODgsMHhjMCwweDBlLDB4OTgsMHgwYiwweDg2LDB4MDIsMHgyMSwweDAwLDB4YmIsMHhjMCB9IH0sCi17ICAxNiwgMHhjYTIwLCAwLCB7MHgyZSwweGU0LDB4NGIsMHhmNywweDgzLDB4MmYsMHg0NCwweGJmLDB4OTAsMHgyMiwweGM4LDB4NDgsMHhhNiwweDgyLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDksMHg4YSwweDAwLDB4MjAsMHg1MCB9IH0sCi17ICAxNiwgMHhjYTQwLCAwLCB7MHg0YiwweGIyLDB4MGEsMHg4MCwweGNjLDB4ODMsMHgwMSwweDBjLDB4OGMsMHgwYiwweDIzLDB4MGEsMHgwNCwweDYwLDB4YjMsMHgxNCB9IH0sCi17ICAxNiwgMHhjYTUwLCAwLCB7MHgyNCwweDQwLDB4NGIsMHgzMCwweDAyLDB4Y2MsMHgxMCwweGIzLDB4MDAsMHgyMCwweGM4LDB4ZTksMHgxMSwweDA2LDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHhjYTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDEsMHg4YSwweDgwLDB4YTIsMHg0NCB9IH0sCi17ICAxNiwgMHhjYTcwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHhhMSwweDA0LDB4ODgsMHg0MCwweDJlLDB4YTAsMHgwYiwweDIwLDB4MDIsMHgyOCwweDIwLDB4YmIsMHg0MCB9IH0sCi17ICAxNiwgMHhjYTgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwOCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MDksMHhiMCwweDAyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjMywweDgzLDB4MzIsMHhlMCB9IH0sCi17ICAxNiwgMHhjYWEwLCAwLCB7MHg4ZiwweDAwLDB4MDMsMHhhMCwweDAyLDB4Y2IsMHhjNCwweDNlLDB4MjgsMHgwNywweDhiLDB4MDMsMHgyMSwweDAwLDB4ZjksMHhjMCB9IH0sCi17ICAxNiwgMHhjYWIwLCAwLCB7MHgzZSwweDEwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweDdiLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhhMCwweDAzLDB4NTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDljLDB4MDIsMHhmZiwweDAwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhjYWQwLCAwLCB7MHgwZiwweGY0LDB4NDMsMHg1ZSwweDgwLDB4ZmMsMHg5NCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MmIsMHhmMiwweDUwLDB4ZmQsMHgyMSB9IH0sCi17ICAxNiwgMHhjYWUwLCAwLCB7MHg3ZSwweDg0LDB4OGYsMHhmMCwweDAzLDB4NmMsMHgwYywweGZmLDB4MDAsMHgzZiwweGMwLDB4MGUsMHg2MiwweDAzLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjAwLCAwLCB7MHgyYywweDgwLDB4MDMsMHg2OSwweDAwLDB4Y2IsMHgzMCwweGIyLDB4MDAsMHg0ZiwweGIzLDB4NDMsMHhlNSwweDAwLDB4Y2IsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjEwLCAwLCB7MHg3MiwweDE4LDB4MmMsMHhiMCwweDAzLDB4ZWMsMHgyOCwweGMzLDB4MjEsMHgzYSwweGMxLDB4MGYsMHg5NCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjYjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNjLDB4MDAsMHg4YiwweDIwLDB4MjIsMHg1MCB9IH0sCi17ICAxNiwgMHhjYjMwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgyOCwweDAwLDB4ODgsMHhjMCwweDJhLDB4MDAsMHg4YiwweGI0LDB4MDIsMHhlOCwweDAwLDB4ZGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjQwLCAwLCB7MHg2MiwweDMwLDB4MDgsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDhmLDB4ODAsMHgyMiwweGMwLDB4MGIsMHg5NSwweDQ3LDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMSwweDAwLDB4MjAsMHhjMiB9IH0sCi17ICAxNiwgMHhjYjYwLCAwLCB7MHg0OCwweDMwLDB4MDIsMHg0OSwweDgwLDB4ODMsMHg0MiwweDYwLDB4MTIsMHgwYiwweDMwLDB4MDIsMHhjOCwweDAwLDB4ODIsMHgwMiB9IH0sCi17ICAxNiwgMHhjYjcwLCAwLCB7MHgyYywweDMwLDB4MDksMHhiMCwweDAyLDB4Y2YsMHgwMSwweDgzLDB4NTAsMHgyYSwweGMwLDB4MGIsMHgyMCwweDAyLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHg5ZCwweDgwLDB4YTAsMHhlMCB9IH0sCi17ICAxNiwgMHhjYjkwLCAwLCB7MHgwOCwweDc5LDB4MjIsMHg1ZSwweDYwLDB4ODcsMHg5MCwweDI5LDB4YTAsMHgwYiwweDc4LDB4MDIsMHhjNiwweDAwLDB4OTIsMHg4MSB9IH0sCi17ICAxNiwgMHhjYmEwLCAwLCB7MHgwNSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZGUsMHg0MCwweDg3LDB4ODAsMHgyMSwweGUwLDB4MGIsMHgyOSwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDAsMHhmMiwweDAwLDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHhjYmMwLCAwLCB7MHgwOCwweDNhLDB4MDMsMHg0NCwweDA0LDB4YzMsMHgxNCwweDMwLDB4YzAsMHgwZiwweDIyLDB4MDMsMHhjYywweDgwLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmQwLCAwLCB7MHhhNCwweGQyLDB4MGQsMHgzMCwweDEzLDB4Y2MsMHgyMCwweGMzLDB4MDAsMHgzOCwweGM0LDB4NGYsMHgwNCwweDQzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhjYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDljLDB4MDAsMHhlZSwweDAwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhjYmYwLCAwLCB7MHgwZiwweDcwLDB4MDMsMHhiNCwweDAyLDB4ZjQsMHgxMCwweDNmLDB4YzAsMHg4ZiwweGEwLDB4MDMsMHhmYywweDAwLDB4N2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzAwLCAwLCB7MHgzYiwweGMwLDB4MGUsMHhmMCwweDgzLDB4ZWMsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjYzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGZjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhjYzIwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhhYSwweDEyLDB4Y2IsMHgwMSwweDMyLDB4ODAsMHgwZiwweGIwLDB4MTMsMHgyOCwweDE0LDB4ZjksMHg4MCB9IH0sCi17ICAxNiwgMHhjYzMwLCAwLCB7MHgzYSwweDQwLDB4MDMsMHhiNCwweDAzLDB4ZWMsMHg0MiwweGNiLDB4MTgsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDlkLDB4MDAsMHhiNSwweDAwLDB4MmQsMHhjNCB9IH0sCi17ICAxNiwgMHhjYzUwLCAwLCB7MHgwYiwweDcwLDB4NGIsMHg3YywweDAwLDB4ODQsMHgwMCwweDIxLDB4ODAsMHgwYiwweDcwLDB4MDIsMHg5NCwweDEwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzYwLCAwLCB7MHgyOSwweGMwLDB4MGIsMHg3MiwweDgyLDB4ZGMsMHgwMCwweDg3LDB4MjAsMHgyZCwweGMxLDB4MGUsMHg3MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhjYzgwLCAwLCB7MHgwYiwweDY4LDB4MDIsMHg5ZSwweDAwLDB4ODMsMHg4MCwweDIxLDB4ZTAsMHg1YiwweDM4LDB4MDIsMHgxZSwweDAwLDB4YjQsMHhjMCB9IH0sCi17ICAxNiwgMHhjYzkwLCAwLCB7MHgyNSwweGUwLDB4MDksMHg3OCwweDMyLDB4Y2UsMHgwMCwweDk3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg1YywweDRlLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjY2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDQ0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjY2IwLCAwLCB7MHgwYiwweDNjLDB4MDIsMHhjYywweDQwLDB4OTMsMHgwOCwweDIwLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg4YywweDEwLDB4YjMsMHhjMCB9IH0sCi17ICAxNiwgMHhjY2MwLCAwLCB7MHgyOCwweGQ4LDB4MWIsMHgzMCwweDAyLDB4Y2MsMHgwOCwweDkzLDB4MDEsMHg2YywweGMwLDB4MGEsMHhiOCwweDgyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjY2QwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmNiwweDEwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhjY2UwLCAwLCB7MHg0YiwweGVkLDB4ODMsMHhiOCwweDAwLDB4Y2UsMHhlNCwweGIzLDB4YTMsMHgwZiwweGUwLDB4MDMsMHgzOCwweDAwLDB4ZmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjY2YwLCAwLCB7MHgzYiwweDgwLDB4MGQsMHhhMCwweDAyLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhlOCwweDAyLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTAsMHhmOCwweDQwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDEwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHg2MCwweDAwLDB4ZTAsMHgwMCwweDNlLDB4MDAsMHg0MywweDA4LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhjZDIwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4NDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDIzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhkOSwweGMwLDB4YmUsMHg0MCB9IH0sCi17ICAxNiwgMHhjZDQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwMSwweDlhLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjZDUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHg0MCwweDA5LDB4MTAsMHgwZSwweDQwLDB4MGYsMHg5YSwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDQsMHg4OSwweDA0LDB4YTIsMHg2MCB9IH0sCi17ICAxNiwgMHhjZDcwLCAwLCB7MHg4YiwweDlkLDB4ODAsMHhhNiwweDAwLDB4YjksMHg4MCwweDIyLDB4NDAsMHg0OCwweDk4LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjZDgwLCAwLCB7MHgyZSwweDQwLDB4OGIsMHg5MCwweDAyLDB4ZTQsMHg5NCwweDg5LDB4NjAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDBiLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg5OSwweDA4LDB4YWUsMHg0OCB9IH0sCi17ICAxNiwgMHhjZGEwLCAwLCB7MHg0YiwweDEwLDB4MDIsMHhlNSwweDgxLDB4YjksMHgxMCwweDIwLDB4NDQsMHgxYiwweDk0LDB4MDIsMHgyNCwweDEwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjZGIwLCAwLCB7MHg2ZSwweDYwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjZGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHg4OSwweDAwLDB4YTAsMHg2OCB9IH0sCi17ICAxNiwgMHhjZGQwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHg4NCwweDg5LDB4YjEsMHgyMCwweDIwLDB4NDgsMHgxYSwweDEyLDB4MTIsMHgwNCwweDgwLDB4YjEsMHgyMiB9IH0sCi17ICAxNiwgMHhjZGUwLCAwLCB7MHgwYywweDQ4LDB4MGIsMHgxMiwweDAyLDB4YzQsMHg4MSwweGExLDB4MjAsMHgyYywweDQwLDB4MGIsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhkOCwweDAwLDB4YmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTAwLCAwLCB7MHgwZiwweDA1LDB4MGIsMHhlMSwweDQwLDB4ZjgsMHgwMCwweDMyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTEwLCAwLCB7MHgyZSwweDgwLDB4MGYsMHg4NSwweDEzLDB4ZTAsMHgwMiwweGM4LDB4MDAsMHgzZSwweDE0LDB4MGYsMHgwNSwweDAxLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhjZTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4YmYsMHg0NCB9IH0sCi17ICAxNiwgMHhjZTMwLCAwLCB7MHgwZiwweGQxLDB4MDMsMHhmNCwweDQwLDB4N2QsMHgxMCwweGJmLDB4NDQsMHg0NSwweGYxLDB4MmIsMHhmNCwweDQwLDB4ZmQsMHgxMCB9IH0sCi17ICAxNiwgMHhjZTQwLCAwLCB7MHgzZiwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTAsMHgzZSwweDQwLDB4MGYsMHhkMSwweDAzLDB4YTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjZTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhmZCwweDAwLDB4MWYsMHg2MiB9IH0sCi17ICAxNiwgMHhjZTYwLCAwLCB7MHgwZiwweGQ4LDB4ODIsMHgzNiwweDAwLDB4YmQsMHhhMCwweDNiLDB4NjgsMHgwYywweGRjLDB4ODMsMHgyNiwweGM4LDB4ZDksMHhhMCB9IH0sCi17ICAxNiwgMHhjZTcwLCAwLCB7MHgzMywweDYwLDB4MGQsMHg5OSwweDgzLDB4NTYsMHgyMCwweGQ1LDB4YTgsMHgyZSwweDQ0LDB4MGMsMHhkOCwweDgzLDB4ODYsMHgwNCB9IH0sCi17ICAxNiwgMHhjZTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4NDgsMHhiOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTkwLCAwLCB7MHgwYiwweDBhLDB4ODIsMHgyMiwweDIwLDB4YjgsMHg1MCwweDIyLDB4YmEsMHgwOCwweDhhLDB4MjIsMHgyMiwweDgwLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZWEwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHgwYywweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyZSwweDI4LDB4ODgsMHg4OCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhjZWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhjZWMwLCAwLCB7MHgxYiwweDEwLDB4MGEsMHg4NCwweDQwLDB4YjEsMHgwMCwweDI4LDB4NTgsMHgwYSwweDMyLDB4MDIsMHgwNSwweDAwLDB4OTksMHg0MCB9IH0sCi17ICAxNiwgMHhjZWQwLCAwLCB7MHgyMCwweDY1LDB4MDksMHgxMCwweDQyLDB4YzQsMHgwMCwweDkxLDB4MDAsMHgyYywweDQwLDB4MGEsMHgzMCwweDgyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjZWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhjZWYwLCAwLCB7MHgxYiwweDkwLDB4MDIsMHhhNSwweDgwLDB4YjksMHgxMCwweDIyLDB4NDgsMHgwOCwweDEwLDB4NDIsMHgwNCwweDEwLDB4MDksMHgwMCB9IH0sCi17ICAxNiwgMHhjZjAwLCAwLCB7MHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweDliLDB4MDAsMHgyYywweDQwLDB4MGEsMHg5NCwweDIyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhjZjIwLCAwLCB7MHgwZiwweDkwLDB4MTMsMHhhNywweDEwLDB4ZjksMHg2MCwweGJhLDB4NTAsMHgyZSwweDljLDB4MGEsMHgyNSwweDg0LDB4ZDEsMHhmMCB9IH0sCi17ICAxNiwgMHhjZjMwLCAwLCB7MHhiMiwweDYwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4YTgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MGMsMHhmOSwweDkwLDB4M2UsMHg2YSB9IH0sCi17ICAxNiwgMHhjZjUwLCAwLCB7MHg4ZiwweDkwLDB4MjMsMHg2NiwweDAwLDB4ZjEsMHgwOCwweDNjLDB4NDAsMHgwZiwweDljLDB4NDMsMHhlNCwweDQwLDB4ZjksMHg4MCB9IH0sCi17ICAxNiwgMHhjZjYwLCAwLCB7MHgzYSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwNCwweGU5LDB4MDIsMHgzZSwweDQwLDB4MmQsMHg5MSwweDEzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDIwLDB4M2UsMHgwMSB9IH0sCi17ICAxNiwgMHhjZjgwLCAwLCB7MHgwYywweDAwLDB4MDMsMHhhMSwweDIwLDB4ZTgsMHg1MCwweDMyLDB4MTAsMHgyYywweDhjLDB4MDMsMHgyMSwweDAwLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjkwLCAwLCB7MHgzMiwweDAyLDB4MGYsMHgwMCwweDEzLDB4MjAsMHg4OCwweGM4LDB4MDgsMHgzMiwweDAwLDB4MGYsMHg4YywweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjZmEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MjAsMHg4ZSwweGUzLDB4MmYsMHg5MCB9IH0sCi17ICAxNiwgMHhjZmIwLCAwLCB7MHgwYSwweGUwLDB4MDYsMHgzYiwweDAwLDB4ZWUsMHgwNCwweDIzLDB4OTAsMHgwOCwweGUwLDB4MDIsMHgyOCwweDA4LDB4OGEsMHgwMiB9IH0sCi17ICAxNiwgMHhjZmMwLCAwLCB7MHg3NSwweDkwLDB4OGIsMHhhMCwweDQxLDB4NTgsMHg5MCwweDhlLDB4ODAsMHgyYSwweDgxLDB4MGIsMHhlMCwweDAzLDB4OGEsMHgxMCB9IH0sCi17ICAxNiwgMHhjZmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRlLDB4MDAsMHhhMywweDAwLDB4NmMsMHg2MCB9IH0sCi17ICAxNiwgMHhjZmUwLCAwLCB7MHgwOCwweDM4LDB4MWEsMHg4ZSwweDQwLDB4YTAsMHg4MCwweDIwLDB4Y2MsMHgwOSwweDMwLDB4MDIsMHgwYywweDA1LDB4YTMsMHgwNCB9IH0sCi17ICAxNiwgMHhjZmYwLCAwLCB7MHgyOCwweGM0LDB4MGIsMHgzMCwweDAyLDB4MGQsMHgwMSwweDgzLDB4YzAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDgsMHg4NywweDAwLDB4MmQsMHg2MiB9IH0sCi17ICAxNiwgMHhkMDEwLCAwLCB7MHgwYiwweDcwLDB4OTIsMHgxYywweDA4LDB4YTAsMHgwMCwweDYxLDB4YzAsMHgwOSwweDYwLDB4MDYsMHgxYywweDgwLDB4YTcsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDIwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4NTgsMHgwMSwweDg3LDB4ODgsMHgyOSwweGMwLDB4MGIsMHg2MCwweDEyLDB4YTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhlNiwweDgwLDB4M2QsMHg2MCB9IH0sCi17ICAxNiwgMHhkMDQwLCAwLCB7MHgwYywweDc4LDB4NDIsMHg5NiwweDAwLDB4ZTQsMHg4MCwweGEzLDB4NjAsMHgwZCwweDc4LDB4MDMsMHgzZiwweDAwLDB4ZTMsMHg4MCB9IH0sCi17ICAxNiwgMHhkMDUwLCAwLCB7MHgyMSwweGUwLDB4MGYsMHg3YiwweDAzLDB4MTYsMHgwOCwweGM3LDB4ODAsMHgzMSwweGUyLDB4NGYsMHg3OCwweDQzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhkMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweDhjLDB4MDEsMHhmOCwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhkMDcwLCAwLCB7MHgwZSwweGIwLDB4MDIsMHhlYywweDAwLDB4ZjgsMHgwMSwweDNlLDB4NDAsMHg0ZSwweDMwLDB4MzMsMHhlZCwweDIwLDB4ZGIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMDgwLCAwLCB7MHhiZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGQ4LDB4MGYsMHhhMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhkMDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjNywweDg0LDB4MjMsMHg2MCB9IH0sCi17ICAxNiwgMHhkMGEwLCAwLCB7MHgwYywweDc4LDB4MGIsMHhiZSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGViLDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhkMGIwLCAwLCB7MHgzYiwweDI1LDB4MGMsMHhmOCwweDgzLDB4N2UsMHg0MCwweGNkLDB4ODAsMHgzMywweGUyLDB4MGIsMHhmOSwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDIsMHg4NywweDAwLDB4MTUsMHg0OCB9IH0sCi17ICAxNiwgMHhkMGQwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHgxNCwweDIwLDB4YjYsMHgwMCwweDM1LDB4OWEsMHg0OSwweGM4LDB4MDMsMHg5YywweDg0LDB4YTcsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGUwLCAwLCB7MHgzOSwweGQwLDB4MGEsMHg3MCwweDAyLDB4MWEsMHgwOCwweGE0LDB4MDAsMHgyMSwweGMwLDB4MDksMHg2MSwweDQyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkMGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHhkMTAwLCAwLCB7MHgwOCwweDcxLDB4MDIsMHg5NCwweDAwLDB4YjUsMHgwMCwweDJkLDB4NDAsMHgwYiwweGYxLDB4MjIsMHg1YywweDAyLDB4MDcsMHgwOCB9IH0sCi17ICAxNiwgMHhkMTEwLCAwLCB7MHgyYywweDUwLDB4MDgsMHg3MCwweDAyLDB4NTAsMHgwMCwweDg3LDB4MDAsMHgyZCwweGM0LDB4MGIsMHg1MCwweDQyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHg4MywweDAyLDB4MjQsMHg0MCB9IH0sCi17ICAxNiwgMHhkMTMwLCAwLCB7MHgxOCwweDNkLDB4MGEsMHgwMSwweDAwLDB4YjAsMHg1OCwweDI0LDB4MjAsMHgwOSwweDMwLDB4MDIsMHg4ZiwweDQwLDB4ODMsMHhlMCB9IH0sCi17ICAxNiwgMHhkMTQwLCAwLCB7MHgyYywweGMxLDB4MGEsMHgzMCwweDQyLDB4MDgsMHgwMCwweGIzLDB4MDEsMHg2YywweGMwLDB4MDksMHgwOCwweDE2LDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhkMTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDhjLDB4MDAsMHg4YiwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkMTYwLCAwLCB7MHgwYywweDI1LDB4MDMsMHhhOCwweDQ4LDB4ZjgsMHg4MSwweDNlLDB4ODAsMHgwZiwweDgwLDB4NjMsMHg3YywweDAwLDB4Y2IsMHg4MCB9IH0sCi17ICAxNiwgMHhkMTcwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhmMCwweDAzLDB4NmMsMHgwMCwweGNhLDB4MDIsMHhiZiwweGMwLDB4MGYsMHg5OCwweDhiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkMTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhkMTkwLCAwLCB7MHgyZiwweGE0LDB4MGIsMHhjOCwweDAwLDB4ZjAsMHg0MCwweDNlLDB4ZDAsMHgwZiwweGEwLDB4MzMsMHhlYywweDIwLDB4ZmIsMHgwNCB9IH0sCi17ICAxNiwgMHhkMWEwLCAwLCB7MHg3YSwweGUwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHgwOCwweGU5LDB4MDMsMHgzMiwweGMwLDB4MGQsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4NDAsMHhlZSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhkMWMwLCAwLCB7MHgwYywweGRhLDB4MDMsMHg3MCwweDA0LDB4Y2MsMHgwMiwweGIxLDB4YTAsMHgwZSwweGYwLDB4MjMsMHhlYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhkMWQwLCAwLCB7MHgzNywweDIwLDB4Y2QsMHhiMCwweDczLDB4ZWMsMHg4OCwweGZiLDB4ODAsMHgzZiwweGMwLDB4MGYsMHgzMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhkMWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZlLDB4MDAsMHg4OCwweDgwLDB4MmMsMHhlMSB9IH0sCi17ICAxNiwgMHhkMWYwLCAwLCB7MHgwOCwweDk0LDB4MGEsMHhhOSwweDAyLDB4ODgsMHg0MCwweDIyLDB4ZDAsMHgwOCwweGI5LDB4NDIsMHhlYywweDA0LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjAwLCAwLCB7MHgyYywweGQ0LDB4MGQsMHhiMCwweDAyLDB4ZWQsMHgyMCwweGJiLDB4ZDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHhkMjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDAsMHhhYiwweDgwLDB4MmUsMHhmMCB9IH0sCi17ICAxNiwgMHhkMjIwLCAwLCB7MHgyOSwweGEwLDB4ODIsMHg2ZCwweDAwLDB4ODgsMHgwOCwweDIyLDB4MDQsMHgwOCwweDkwLDB4NDIsMHhlYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjMwLCAwLCB7MHgyYSwweDgxLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwOSwweGJhLDB4MDQsMHgyZSwweGMxLDB4NGIsMHg5OCwweDgyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkMjUwLCAwLCB7MHgwYSwweDIxLDB4MDIsMHg4NCwweDEwLDB4ODIsMHgwMCwweGUwLDB4MDAsMHgxOCwweDBhLDB4MTIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjYwLCAwLCB7MHgwYywweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHg5MCwweGIwLDB4MDAsMHgyYywweGMwLDB4MGIsMHgxMCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhlYiwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjgwLCAwLCB7MHgyYywweGI0LDB4MDMsMHg2NCwweDA4LDB4ODgsMHgwMCwweGIyLDB4MDAsMHgwYywweGIyLDB4NDMsMHhmYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjkwLCAwLCB7MHg1NiwweDAwLDB4MGMsMHhmMCwweDAxLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg4MCwweDBiLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhkMmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhkMmIwLCAwLCB7MHgyZCwweGYwLDB4NjEsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDI3LDB4MDEsMHgwZCwweGIxLDB4MTEsMHhmYywweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHhkMmMwLCAwLCB7MHgwNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZWMsMHg0MCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4NjgsMHgwNiB9IH0sCi17ICAxNiwgMHhkMmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY2LDB4MDAsMHhlZiwweDkwLDB4M2QsMHg0YyB9IH0sCi17ICAxNiwgMHhkMmUwLCAwLCB7MHgyYywweGMwLDB4MTMsMHhmNCwweDA4LDB4ZmQsMHgyMCwweDM3LDB4NGMsMHg4ZSwweDgyLDB4ODMsMHg3NCwweDg0LDB4ZGMsMHhjMiB9IH0sCi17ICAxNiwgMHhkMmYwLCAwLCB7MHgzZiwweGQ4LDB4MGQsMHhmMiwweDAzLDB4ZWMsMHhjMCwweGZmLDB4ODEsMHgzZiwweDAwLDB4MGMsMHhmOCwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGU2LDB4MDAsMHg4YiwweDI0LDB4MmUsMHg1YyB9IH0sCi17ICAxNiwgMHhkMzEwLCAwLCB7MHgwOCwweDhkLDB4MDIsMHhmZiwweDQ4LDB4YjksMHg5MCwweDJmLDB4NTQsMHgwYiwweDg0LDB4ODIsMHgzZSwweDQwLDB4YTAsMHg4MCB9IH0sCi17ICAxNiwgMHhkMzIwLCAwLCB7MHgyZSwweGM0LDB4MGEsMHhmYywweDQyLDB4ZWQsMHg4MCwweGI5LDB4ODAsMHgyZSwweDYwLDB4MGEsMHg5OCwweDEyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU0LDB4MDEsMHhhMywweDAwLDB4MjgsMHg0OCB9IH0sCi17ICAxNiwgMHhkMzQwLCAwLCB7MHgwYSwweDAwLDB4NDIsMHhjNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDksMHgwYiwweDBhLDB4NDIsMHgwNCwweGEyLDB4OTEsMHgyMSB9IH0sCi17ICAxNiwgMHhkMzUwLCAwLCB7MHgyYywweGM5LDB4MDgsMHgzMSwweDAyLDB4OGMsMHhjMSwweGEzLDB4MDAsMHgyYywweDQwLDB4MDgsMHgxOCwweDAyLDB4YTIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGEwLDB4MjAsMHg4YiwweDgyLDB4MmUsMHg0NCB9IH0sCi17ICAxNiwgMHhkMzcwLCAwLCB7MHg1OCwweDgwLDB4MDIsMHhlNCwweDAwLDB4YmIsMHgxMCwweDJlLDB4NDAsMHgwYiwweGExLDB4MTIsMHgwYywweDAxLDB4ODksMHgxMCB9IH0sCi17ICAxNiwgMHhkMzgwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZWMsMHgwMSwweGI4LDB4ODAsMHgyZSwweGUyLDB4MGEsMHhhMSwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGViLDB4NDAsMHhlYiwweDQwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhkM2EwLCAwLCB7MHgwZSwweDg3LDB4MzMsMHhlNCwweDAwLDB4YjksMHhhMSwweDM2LDB4YzAsMHgwZSwweGE4LDB4MGIsMHgyNiwweDAwLDB4ZGEsMHhjMCB9IH0sCi17ICAxNiwgMHhkM2IwLCAwLCB7MHgzZSwweGMwLDB4OGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4ODUsMHgzZSwweGUxLDB4MDgsMHhiOCwweDAzLDB4OTAsMHgwNSB9IH0sCi17ICAxNiwgMHhkM2MwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHhmZiwweDAyLDB4MmYsMHg2MCB9IH0sCi17ICAxNiwgMHhkM2QwLCAwLCB7MHgwMywweGU4LDB4ODMsMHhmYywweDEwLDB4ZmQsMHg4MCwweDFmLDB4NDAsMHgxZiwweGQwLDB4MTMsMHhiZSwweDQwLDB4ZWUsMHgwNCB9IH0sCi17ICAxNiwgMHhkM2UwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZmMsMHgwOCwweGZkLDB4MDAsMHgzYywweGMwLDB4MGYsMHhkMCwweDExLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkM2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE0LDB4MDAsMHhkYiwweDAwLDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNDAwLCAwLCB7MHgwZSwweDk0LDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweGJhLDB4YzAsMHgwYywweDIwLDB4MDMsMHhlNCwweDkwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDEwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMSwweGZhLDB4MDAsMHgzZSwweGQwLDB4MmMsMHg5OCwweDAzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkNDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDAzLDB4MDAsMHg4YiwweDAwLDB4MjIsMHg0OCB9IH0sCi17ICAxNiwgMHhkNDMwLCAwLCB7MHgwOCwweDg0LDB4MjIsMHgyYywweDAwLDB4YjksMHgwMCwweDIyLDB4YzAsMHgwOCwweGEwLDB4MDIsMHhlZCwweDAwLDB4OGIsMHhhMCB9IH0sCi17ICAxNiwgMHhkNDQwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHhmMCwweDAyLDB4ZmMsMHgwMCwweGI5LDB4ODAsMHgyZSwweGMwLDB4MDgsMHhhMCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ1LDB4MjAsMHg5MywweDAwLDB4MjIsMHhmOCB9IH0sCi17ICAxNiwgMHhkNDYwLCAwLCB7MHgwYiwweDMwLDB4MGEsMHg4NCwweDQwLDB4YjIsMHgwMCwweDIwLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4ODAsMHg4MCB9IH0sCi17ICAxNiwgMHhkNDcwLCAwLCB7MHgyOCwweGMwLDB4MjgsMHgzOSwweDAyLDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDM2LDB4MDAsMHg5ZiwweDgwLDB4MjEsMHg2MCB9IH0sCi17ICAxNiwgMHhkNDkwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHg5ZSwweDAwLDB4YjIsMHhjMCwweDIwLDB4NjAsMHg0OCwweDQ4LDB4MTIsMHhkNiwweGM2LDB4ODYsMHhkMCB9IH0sCi17ICAxNiwgMHhkNGEwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHg3OCwweDAwLDB4ZGUsMHg4MCwweGI3LDB4ODIsMHgyZCwweGUwLDB4MDgsMHhmOCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MjAsMHhkMywweDEwLDB4MzAsMHhjOCB9IH0sCi17ICAxNiwgMHhkNGMwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4NCwweDAwLDB4ZjEsMHgwMCwweDMwLDB4NDAsMHgyNCwweDE5LDB4MDMsMHhlNCwweGMwLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHhkNGQwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHgzMiwweDAzLDB4Y2UsMHg4MCwweGIxLDB4MjgsMHgzYywweGMwLDB4MGMsMHgzMCwweDEzLDB4OTIsMHgwMiB9IH0sCi17ICAxNiwgMHhkNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweDljLDB4MDAsMHhlNiwweDAwLDB4N2YsMHhjMCB9IH0sCi17ICAxNiwgMHhkNGYwLCAwLCB7MHgwZSwweGYwLDB4MjMsMHg3NCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDAsMHg0ZiwweGQwLDB4MDMsMHhmYywweGQyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTAwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmNCwweDAzLDB4ZmMsMHgwMCwweGZlLDB4MDAsMHgzZiwweGMwLDB4MGYsMHg3MSwweDAzLDB4ZDAsMHgxMiB9IH0sCi17ICAxNiwgMHhkNTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDAsMHhjYiwweDAwLDB4MTYsMHhjMCB9IH0sCi17ICAxNiwgMHhkNTIwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHgyNywweDIwLDB4Y2IsMHgwMCwweDNlLDB4YzIsMHgwYSwweGIwLDB4NTMsMHhlNCwweDI4LDB4YzEsMHg4MSB9IH0sCi17ICAxNiwgMHhkNTMwLCAwLCB7MHgzMiwweGMxLDB4MGUsMHhiOSwweDAzLDB4MmMsMHgwMCwweGYxLDB4ODAsMHgzNSwweGUwLDB4MGMsMHhiOCwweDAzLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDEwLDB4MmQsMHg0MCB9IH0sCi17ICAxNiwgMHhkNTUwLCAwLCB7MHgwOCwweDcwLDB4MDMsMHg1YywweDAwLDB4YTcsMHgwMCwweDJkLDB4NDAsMHgyOCwweDcwLDB4MDIsMHhkNCwweDA0LDB4ODcsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTYwLCAwLCB7MHhhMSwweGQwLDB4MGIsMHg3MiwweDAyLDB4MWQsMHgwMCwweGY3LDB4MDAsMHgyMSwweGMwLDB4MGQsMHg1MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkNTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHg4NSwweDgwLDB4MjUsMHhlMCB9IH0sCi17ICAxNiwgMHhkNTgwLCAwLCB7MHgwOSwweDc4LDB4MDIsMHgzNywweDAzLDB4ODcsMHg4MCwweDJmLDB4ZTAsMHgwOCwweDc4LDB4MTIsMHhjNiwweDEwLDB4OGQsMHg4MCB9IH0sCi17ICAxNiwgMHhkNTkwLCAwLCB7MHgyNSwweGU4LDB4MGIsMHgzOCwweDAyLDB4MWUsMHg4MCwweGJjLDB4ODQsMHgyNSwweGUwLDB4MDgsMHg1OCwweDAyLDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkNWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNkLDB4ODAsMHg4MywweDg4LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkNWIwLCAwLCB7MHgwOCwweDNjLDB4MDIsMHg0ZSwweDAxLDB4YTMsMHhkMiwweDJlLDB4YzQsMHgwOCwweGIxLDB4MDIsMHhjYywweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhkNWMwLCAwLCB7MHgyNCwweGMxLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4NDAsMHhhMCwweGQyLDB4MDksMHgzMCwweDEyLDB4NTIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4MDAsMHhjYSwweGMwLDB4MzYsMHg4MCB9IH0sCi17ICAxNiwgMHhkNWUwLCAwLCB7MHgwZCwweDY3LDB4MTMsMHgyOCwweDAwLDB4Y2UsMHgwMCwweDNlLDB4YTAsMHgwYywweGVkLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHhlMCB9IH0sCi17ICAxNiwgMHhkNWYwLCAwLCB7MHgzNiwweDgwLDB4MWUsMHhhMCwweDBiLDB4MjgsMHgwNCwweGZlLDB4MDAsMHhiNywweGIyLDB4MGMsMHhlMCwweDBiLDB4N2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4NDAsMHhmOCwweDEwLDB4MmUsMHgxMCB9IH0sCi17ICAxNiwgMHhkNjEwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlMCwweDAxLDB4ZDgsMHgwYSwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjMCwweDAyLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhkNjIwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgxMCwweGU4LDB4MjAsMHhiZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjQwLCAwLCB7MHgwYywweDkxLDB4MDMsMHgyNiwweDAwLDB4NjEsMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhkNjUwLCAwLCB7MHgxZSwweDQwLDB4MGMsMHg5YywweDAzLDB4ZTQsMHgwMSwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY3LDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjcwLCAwLCB7MHgwMCwweDljLDB4MDIsMHhhNiwweDAwLDB4NzksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhkNjgwLCAwLCB7MHgyYywweDQ0LDB4MDgsMHg5OCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4ODAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMSB9IH0sCi17ICAxNiwgMHhkNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiYiwweDAwLDB4MjYsMHg1MCB9IH0sCi17ICAxNiwgMHhkNmEwLCAwLCB7MHgyOCwweDkwLDB4ODIsMHgyNCwweDg0LDB4OTksMHgyMCwweDIyLDB4NDAsMHg0OSwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHhkNmIwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4NjAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhkNmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA2LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg0OCB9IH0sCi17ICAxNiwgMHhkNmQwLCAwLCB7MHgwOCwweDEyLDB4MDIsMHg4NCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NDgsMHgwOSwweDEyLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmUwLCAwLCB7MHgyYywweDQ4LDB4MjgsMHgxMiwweDQyLDB4YzQsMHg4OCwweDMxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgxOCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhkNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDUwLDB4MzYsMHgxNCB9IH0sCi17ICAxNiwgMHhkNzAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDMyLDB4MTQsMHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4YzgsMHg1MCB9IH0sCi17ICAxNiwgMHhkNzEwLCAwLCB7MHgzZSwweDE0LDB4MGMsMHg4MCwweDAzLDB4ZTEsMHg0MCwweDM4LDB4MDAsMHgzZSwweDAwLDB4OGYsMHg4MCwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhkNzIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGQ0LDB4MDAsMHhmYiwweDA0LDB4M2QsMHg0NCB9IH0sCi17ICAxNiwgMHhkNzMwLCAwLCB7MHgwZiwweDUxLDB4MjMsMHhkNCwweDQ4LDB4ZWQsMHgxMCwweDNkLDB4NDQsMHg0ZSwweGQxLDB4MjMsMHhmNCwweDQyLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzQwLCAwLCB7MHgzZSwweDQ0LDB4OGYsMHg5MSwweDAzLDB4ZTQsMHg1OCwweGZkLDB4MDAsMHgzZiwweDUwLDB4MGYsMHg1MCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhkNzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhmOSwweDAwLDB4M2QsMHg0MCB9IH0sCi17ICAxNiwgMHhkNzYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhmNCwweDAwLDB4ZGQsMHgwMiwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDQwLDB4YzksMHgxMCB9IH0sCi17ICAxNiwgMHhkNzcwLCAwLCB7MHgzNywweDQwLDB4MDcsMHhkMCwweDA3LDB4MjQsMHgwMCwweGU1LDB4MDAsMHgyZiwweDZhLDB4MGYsMHg3MCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweDAwLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzkwLCAwLCB7MHg4MCwweDgwLDB4MDIsMHhlMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYSwweDgwLDB4NTMsMHhhMiwweDgwLDB4MmMsMHhhMCB9IH0sCi17ICAxNiwgMHhkN2EwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHg4MCwweDBhLDB4MjAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDEwLDB4MDksMHg4MCwweDAzLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhkN2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4NmMsMHg0MCB9IH0sCi17ICAxNiwgMHhkN2MwLCAwLCB7MHgyYSwweDEwLDB4MDIsMHg4NCwweDAxLDB4ODEsMHg4MCwweDJlLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwNCB9IH0sCi17ICAxNiwgMHhkN2QwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4ODQsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGIsMHg5OCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkN2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MjAsMHhiOSwweDAwLDB4MmEsMHg0MCB9IH0sCi17ICAxNiwgMHhkN2YwLCAwLCB7MHg4OCwweGI0LDB4MDIsMHhlNiwweDAxLDB4YTksMHgyMCwweDJlLDB4NDgsMHgwYSwweDkwLDB4MDAsMHhhNCwweDQwLDB4YWQsMHg0MCB9IH0sCi17ICAxNiwgMHhkODAwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDEyLDB4YTQsMHgwNCwweGI5LDB4MDEsMHgyZSwweDQxLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhkODEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweGMwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhkODIwLCAwLCB7MHgwYywweDk0LDB4MTMsMHhhNiwweDAyLDB4ZDksMHg0MiwweDFjLDB4NjAsMHgwYywweDllLDB4MDEsMHhjNiwweDA0LDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhkODMwLCAwLCB7MHhiMiwweDQwLDB4MWYsMHg5MCwweDAyLDB4YTQsMHgwMCwweGU5LDB4MDgsMHgzZSwweDY4LDB4NGYsMHg5OCwweDBiLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHhkODQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE2LDB4NDAsMHhmOSwweDIwLDB4MzgsMHg3MCB9IH0sCi17ICAxNiwgMHhkODUwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDAwLDB4ZDksMHg4MCwweDNlLDB4NDAsMHgwZiwweDljLDB4MTMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkODYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4NjQsMHgxMCwweGY5LDB4MGEsMHgzZSwweDUwLDB4MGQsMHg5YSwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkODcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhkOCwweDA0LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkODgwLCAwLCB7MHgwYywweDgxLDB4MTMsMHhjMCwweDAyLDB4ZDgsMHgyMCwweDNlLDB4MDAsMHgyZCwweDg0LDB4MDMsMHhlMCwweDAwLDB4Y2MsMHgwOCB9IH0sCi17ICAxNiwgMHhkODkwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGY4LDB4NDEsMHgzMiwweDAwLDB4MDcsMHg4MSwweDhiLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhkOGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDNhLDB4NjAsMHg4YSwweDAwLDB4MmYsMHhhOCB9IH0sCi17ICAxNiwgMHhkOGIwLCAwLCB7MHgwYSwweGUwLDB4MjIsMHhlOCwweDAyLDB4N2UsMHg0OCwweDJlLDB4ODAsMHgwOCwweGEwLDB4NDIsMHhlOCwweDA0LDB4OGUsMHgwMCB9IH0sCi17ICAxNiwgMHhkOGMwLCAwLCB7MHgyMywweGE4LDB4MGIsMHhhOCwweDgyLDB4ZTgsMHgwMCwweGVlLDB4MDAsMHhhMiwweDgwLDB4NGIsMHg2MCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhkOGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4NmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkOGUwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4MTMsMHg4MSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjZSwweDQwLDB4ODIsMHg0MCB9IH0sCi17ICAxNiwgMHhkOGYwLCAwLCB7MHgyOCwweGUwLDB4MGIsMHgzOCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MTAsMHgyNCwweGMwLDB4OGIsMHgzOCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDAsMHg4NywweDIwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTEwLCAwLCB7MHgwYSwweDcwLDB4MDIsMHhkYywweDBhLDB4YjYsMHgwMCwweDJjLDB4YzgsMHg4OCwweDcyLDB4MDYsMHhkOCwweDAwLDB4ODYsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTIwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGMsMHg4NCwweGFmLDB4ODAsMHhhNSwweGMwLDB4MGIsMHhkMCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhkNywweDgwLDB4M2QsMHhhMCB9IH0sCi17ICAxNiwgMHhkOTQwLCAwLCB7MHgxYywweDc4LDB4MTMsMHhkNiwweDAyLDB4ZDcsMHg4MCwweDNkLDB4ZWMsMHgwOCwweDdlLDB4MjMsMHhmZSwweDAwLDB4Y2UsMHg4MCB9IH0sCi17ICAxNiwgMHhkOTUwLCAwLCB7MHgzOSwweDYwLDB4MGYsMHg3OCwweDAzLDB4ZGYsMHgwMCwweGY2LDB4ODAsMHg3NSwweGUwLDB4MGYsMHg3OCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhkOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweDhjLDB4MDAsMHhmYiwweDEwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhkOTcwLCAwLCB7MHgxZiwweGEwLDB4MjEsMHhjYywweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhlOCwweDAyLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTgwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGVhLDB4MDEsMHgzYSwweGMwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhkOTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDgwLDB4M2YsMHg2MCB9IH0sCi17ICAxNiwgMHhkOWEwLCAwLCB7MHgwOCwweDk5LDB4MDcsMHg3ZSwweDAwLDB4ZGQsMHg4MCwweDNmLDB4ZTIsMHgwYywweGY4LDB4MDMsMHhmNiwweDAyLDB4ZGYsMHg4MCB9IH0sCi17ICAxNiwgMHhkOWIwLCAwLCB7MHhiMywweGUwLDB4MGMsMHhmOCwweDAzLDB4M2UsMHg0MSwweGNjLDB4ODAsMHgzMywweGU0LDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4NDAsMHhiNywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhkOWQwLCAwLCB7MHgwZCwweDVhLDB4MjIsMHhkYywweDgwLDB4NzUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDcxLDB4MDIsMHhmMCwweDIwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWUwLCAwLCB7MHgyMSwweGMwLDB4MGEsMHg3MCwweDAyLDB4MWMsMHgwMCwweGQ0LDB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhkOWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDAsMHhiNywweDAwLDB4MmQsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTAwLCAwLCB7MHgwOCwweDcyLDB4MjIsMHhmNCwweDAwLDB4ODcsMHgwMCwweDJkLDB4YzIsMHgwOCwweDcwLDB4MDIsMHhkNCwweDAwLDB4ODcsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTEwLCAwLCB7MHgyNSwweDQwLDB4MDksMHgzMCwweDAyLDB4NWMsMHgwMSwweGFkLDB4MDAsMHgyOSwweGQwLDB4NGIsMHg3MCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHhiYiwweGM4LDB4MmMsMHhhMCB9IH0sCi17ICAxNiwgMHhkYTMwLCAwLCB7MHgwOSwweDIwLDB4MDIsMHhjZSwweDAwLDB4YTMsMHgwMCwweDJjLDB4ZTAsMHhhOCwweDNkLDB4NDIsMHhjMiwweDAwLDB4OGIsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTQwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHgzMCwweDBhLDB4NmMsMHgwOCwweGEzLDB4NDAsMHhhOCwweGUwLDB4MGIsMHgzNCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhkYTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFkLDB4MDAsMHhmZiwweDQ4LDB4M2MsMHgyOCB9IH0sCi17ICAxNiwgMHhkYTYwLCAwLCB7MHgwYywweGE5LDB4MjMsMHg2YywweDgwLDB4OGIsMHgwMCwweDNmLDB4YzAsMHgwYywweGZjLDB4MDMsMHhlYywweDAwLDB4ZDgsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTcwLCAwLCB7MHgzNCwweDQwLDB4MGQsMHgzMCwweDAzLDB4N2MsMHgwMiwweGEzLDB4NDAsMHgzOCwweDY4LDB4MGYsMHgyNCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhkYTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVkLDB4ODgsMHhmYiwweDAwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhkYTkwLCAwLCB7MHgwZiwweGExLDB4MDMsMHhlYywweDA0LDB4M2EsMHhjMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4ODMsMHhlOCwweDAyLDB4ZjgsMHgxMCB9IH0sCi17ICAxNiwgMHhkYWEwLCAwLCB7MHgzYSwweDQxLDB4MGUsMHg5MCwweDAzLDB4YWMsMHgwMCwweDliLDB4MDgsMHhiNiwweDQwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4YjMsMHgyMCB9IH0sCi17ICAxNiwgMHhkYWMwLCAwLCB7MHgwYywweDUwLDB4MTMsMHgxYywweDA5LDB4Y2QsMHg4MywweDMzLDB4YzAsMHg4MywweDcwLDB4MDAsMHgzYywweDAwLDB4ZGMsMHgxMCB9IH0sCi17ICAxNiwgMHhkYWQwLCAwLCB7MHgzMiwweDYwLDB4MGUsMHhmMSwweDQzLDB4MmMsMHgwMCwweGNlLDB4MDQsMHgzYiwweDcwLDB4MGMsMHhmMCwweDgzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhkYWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDY3LDB4ODAsMHhiYiwweDAxLDB4NjIsMHgyMSB9IH0sCi17ICAxNiwgMHhkYWYwLCAwLCB7MHg4YSwweDg5LDB4MjAsMHgyYywweDAwLDB4ODAsMHhlMCwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhkOCwweDEwLDB4OGMsMHgwNCB9IH0sCi17ICAxNiwgMHhkYjAwLCAwLCB7MHgyMiwweDQwLDB4MDUsMHg5MCwweDAyLDB4YWMsMHgwMCwweGQ4LDB4ODAsMHgzNiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkYjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiYiwweDAwLDB4MjIsMHgwNiB9IH0sCi17ICAxNiwgMHhkYjIwLCAwLCB7MHgwOCwweDgwLDB4MDIsMHgyZSwweDAwLDB4ODgsMHgyMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MDIsMHhhNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhkYjMwLCAwLCB7MHg2MiwweGM0LDB4MDgsMHhiMCwweDA2LDB4MmMsMHgwMCwweDg4LDB4ODAsMHgyMiwweDQxLDB4MDgsMHhhMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkYjUwLCAwLCB7MHgwYSwweDAwLDB4ODIsMHgwYywweDAwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MjIsMHhhMCwweDAwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjYwLCAwLCB7MHhhMCwweGMwLDB4MDksMHgzMCwweDAyLDB4OGMsMHgwMCwweDkwLDB4MDAsMHgyNCwweDQwLDB4MGEsMHgyOCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhmYiwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjgwLCAwLCB7MHgyYywweDkyLDB4MDMsMHgyYywweDAyLDB4ODgsMHgwMCwweDMxLDB4YzAsMHgwYiwweGI1LDB4MDIsMHhhNCwweDAwLDB4ZDEsMHgwNCB9IH0sCi17ICAxNiwgMHhkYjkwLCAwLCB7MHgzMiwweDQwLDB4MGUsMHg5MCwweDAzLDB4MmMsMHg0MCwweGM5LDB4MDAsMHgzYSwweDQwLDB4OGMsMHhhMCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhkYmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGY0LDB4MDAsMHhmZiwweDAwLDB4MmYsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmIwLCAwLCB7MHgwZiwweGMwLDB4MDMsMHhkYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzEsMHgwZiwweGYwLDB4NDMsMHhmMCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmMwLCAwLCB7MHgzZiwweDQwLDB4NGYsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGY1LDB4MDAsMHgzZiwweDQwLDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhkYmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQ4LDB4ODAsMHhjYywweDAwLDB4YjcsMHgwNCB9IH0sCi17ICAxNiwgMHhkYmUwLCAwLCB7MHg0ZSwweGUxLDB4MDMsMHgzYywweDIwLDB4ZGYsMHgxMCwweDMxLDB4ODAsMHgwNiwweGYwLDB4MDMsMHg3ZiwweDAwLDB4ZmYsMHhjMCB9IH0sCi17ICAxNiwgMHhkYmYwLCAwLCB7MHgzYiwweGMwLDB4MGUsMHhmMiwweDAzLDB4NWUsMHgwMCwweGVmLDB4MTAsMHgzMywweGQwLDB4MmMsMHhmMiwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweGU5LDB4MDAsMHg4OCwweGM2LDB4MjAsMHg1YyB9IH0sCi17ICAxNiwgMHhkYzEwLCAwLCB7MHgwOCwweGE0LDB4NTcsMHg2NSwweDAwLDB4OGYsMHg1MiwweDJhLDB4ZjAsMHgwOSwweGZjLDB4MDIsMHgwNCwweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzIwLCAwLCB7MHgyZCwweGQ5LDB4MDksMHg3NCwweDgzLDB4NjQsMHgyOCwweDgzLDB4NDQsMHgyMiwweDg0LDB4ODgsMHgwNiwweDgyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhkYzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGM5LDB4MDAsMHg4MCwweDEwLDB4MjAsMHgwOCB9IH0sCi17ICAxNiwgMHhkYzQwLCAwLCB7MHgwOCwweDMxLDB4MTIsMHgwNCwweGIyLDB4YTMsMHgwMCwweDIwLDB4ODQsMHgxYiwweDM0LDB4MDIsMHgwYywweDgwLDB4YjMsMHgyMCB9IH0sCi17ICAxNiwgMHhkYzUwLCAwLCB7MHgyYywweGM3LDB4MDksMHgzNiwweDAyLDB4OGMsMHg4MCwweDkzLDB4NDAsMHhhYywweGM4LDB4MDgsMHgzMSwweDI4LDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhkYzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE5LDB4MDAsMHg4OCwweDAwLDB4YTIsMHg1MCB9IH0sCi17ICAxNiwgMHhkYzcwLCAwLCB7MHgwOCwweDM1LDB4MDIsMHgyNCwweDAwLDB4OGIsMHgwNCwweDJlLDB4YzEsMHgwOSwweGIwLDB4MDIsMHgyNCwweDk0LDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzgwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHg2MCwweDhiLDB4MDAsMHgyZSwweDgwLDB4MDgsMHg4MCwweDAwLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhkYzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGU3LDB4MDIsMHhjYiwweDE4LDB4YjIsMHg4MCB9IH0sCi17ICAxNiwgMHhkY2EwLCAwLCB7MHgyYywweGFjLDB4MGEsMHgyZSwweDA4LDB4ZWIsMHgwMCwweDMyLDB4MTIsMHg0ZSwweGIwLDB4MDMsMHgyYiwweDgwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkY2IwLCAwLCB7MHgzYSwweGMwLDB4MGEsMHhiMCwweDAzLDB4YWIsMHgwOCwweGViLDB4MDQsMHgyZSwweDQ4LDB4MGMsMHhiOCwweDgzLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHhkY2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI2LDB4ODAsMHhmZiwweDgwLDB4MzksMHhjYSB9IH0sCi17ICAxNiwgMHhkY2QwLCAwLCB7MHgwZCwweGU4LDB4MDMsMHhkNiwweDQwLDB4ZTcsMHgwNCwweDNiLDB4NjYsMHg0ZSwweDcwLDB4MDMsMHhiOCwweDAwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhkY2UwLCAwLCB7MHgzZiwweGMwLDB4NmMsMHhmMCwweDAzLDB4NzAsMHgwNiwweGU3LDB4MDAsMHgzMSwweDA0LDB4MGYsMHhjMSwweDQzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkY2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDg1LDB4MDAsMHhjYiwweDQwLDB4MzIsMHg5MCB9IH0sCi17ICAxNiwgMHhkZDAwLCAwLCB7MHgyZiwweGIwLDB4MGIsMHg2NCwweDgwLDB4ZmIsMHgwOCwweGJhLDB4MTAsMHgwZCwweGIwLDB4YTcsMHgyZCwweDAwLDB4ZmIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZDEwLCAwLCB7MHgzZSwweGMwLDB4OGUsMHhiMCwweDAzLDB4NmQsMHgwMCwweGRiLDB4MDEsMHgzMiwweDQwLDB4OGMsMHgzMywweDAzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkZDIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweDI0LDB4MDAsMHg4MywweGUwLDB4YTIsMHhkMCB9IH0sCi17ICAxNiwgMHhkZDMwLCAwLCB7MHg0MCwweGIwLDB4MDIsMHgyNSwweDA0LDB4YmYsMHg4MCwweGEwLDB4NTAsMHgwOCwweGY4LDB4MDIsMHgyMCwweDAwLDB4OGIsMHgwMiB9IH0sCi17ICAxNiwgMHhkZDQwLCAwLCB7MHgyZiwweGQwLDB4MDgsMHhmMCwweDAyLDB4MjQsMHgwMCwweDhmLDB4ODAsMHgzNiwweDAxLDB4MDgsMHg4NCwweDQyLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHhkZDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDQ0LDB4MDAsMHg4MywweDQ4LDB4MjAsMHhjNCB9IH0sCi17ICAxNiwgMHhkZDYwLCAwLCB7MHgwOSwweDAwLDB4MDIsMHg0NiwweDAwLDB4YjMsMHgwMSwweGE4LDB4OTAsMHgxOSwweDMwLDB4MTIsMHg4YywweDAwLDB4YTMsMHgwNCB9IH0sCi17ICAxNiwgMHhkZDcwLCAwLCB7MHgyZSwweGUyLDB4MGEsMHhiMCwweDAyLDB4MGMsMHgwMCwweDgzLDB4NDksMHgyOCwweGMwLDB4MDksMHgzYywweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhkZDgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjAsMHgwMSwweDM2LDB4MDQsMHg4MywweDgwLDB4MjEsMHhlMSB9IH0sCi17ICAxNiwgMHhkZDkwLCAwLCB7MHgwOCwweDM4LDB4MTIsMHgxZSwweDI4LDB4YjMsMHg5OCwweDIxLDB4YTAsMHgxOSwweDM4LDB4ODIsMHg5NiwweDAwLDB4ODcsMHg4MyB9IH0sCi17ICAxNiwgMHhkZGEwLCAwLCB7MHgyZCwweGUyLDB4MDgsMHg3OCwweDIyLDB4MzYsMHg4YywweDg3LDB4ODAsMHgyZCwweGUwLDB4MDksMHg3OSwweDAyLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkZGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA0LDB4MDAsMHhjMywweDMwLDB4MzAsMHhjOCB9IH0sCi17ICAxNiwgMHhkZGMwLCAwLCB7MHg0ZCwweDAwLDB4MGIsMHg0YywweDgwLDB4ZjMsMHgxMiwweDM4LDB4YzAsMHgwZCwweDNhLDB4MDIsMHg4YywweDgwLDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHhkZGQwLCAwLCB7MHgzYywweGMwLDB4MGUsMHgzMCwweDBiLDB4MGUsMHgwMCwweGMzLDB4MGMsMHgzYSwweGMwLDB4MGQsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI0LDB4MDYsMHhmZiwweDEwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhkZGYwLCAwLCB7MHgwZiwweGIwLDB4MTMsMHhiYywweDAwLDB4ZmYsMHgxMCwweDdmLDB4YzAsMHgwZSwweGYxLDB4YTMsMHg3YywweDAwLDB4ZmYsMHgxMiB9IH0sCi17ICAxNiwgMHhkZTAwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmNSwweDIzLDB4YmMsMHg0MSwweGVmLDB4MTgsMHgzNywweDgwLDB4YWUsMHhjMCwweDAzLDB4NTAsMHgwNiB9IH0sCi17ICAxNiwgMHhkZTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhkYiwweDAwLDB4M2UsMHhkYSB9IH0sCi17ICAxNiwgMHhkZTIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2NiwweDEwLDB4OGIsMHgwMCwweDMyLDB4ODAsMHg4YywweGI2LDB4MDMsMHg0YSwweDAwLDB4NGIsMHg4MCB9IH0sCi17ICAxNiwgMHhkZTMwLCAwLCB7MHgzMiwweGM4LDB4MGMsMHhiNCwweDAzLDB4MGEsMHgxMCwweGRiLDB4MDAsMHgzZSwweGMxLDB4MGMsMHhiMCwweDQzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhkZTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgxMSwweGI0LDB4MDAsMHg4NywweDA0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkZTUwLCAwLCB7MHgwZCwweDcwLDB4MDMsMHgxYywweDA4LDB4ODcsMHg0OCwweDIwLDB4ODEsMHgwZCwweDcyLDB4ODIsMHg1YywweDAwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHhkZTYwLCAwLCB7MHgyMSwweGNjLDB4MjgsMHhmMCwweDAyLDB4MWMsMHgxMCwweDg3LDB4MjAsMHgyYywweDAwLDB4MDgsMHg0MCwweDBhLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDk2LDB4MDAsMHhiNywweDgxLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhkZTgwLCAwLCB7MHgwOCwweDQ4LDB4MDIsMHgwZSwweDA0LDB4ODcsMHg4MCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHgzZSwweDAxLDB4ODcsMHg4MCB9IH0sCi17ICAxNiwgMHhkZTkwLCAwLCB7MHgyMSwweGUwLDB4MTgsMHg3OSwweDAyLDB4M2EsMHgwMSwweDk3LDB4YTAsMHgyZCwweDYwLDB4MDgsMHgzOCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGM2LDB4MDAsMHhhMywweGM2LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkZWIwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwOSwweDMwLDB4MDIsMHg0ZSwweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWMwLCAwLCB7MHgyMCwweGMwLDB4NDksMHgzMCwweDIyLDB4MGYsMHg2NCwweDgzLDB4MDIsMHg2YywweGQ0LDB4MjgsMHgzMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxMSwweGFiLDB4ODAsMHhmYSwweGUwLDB4M2MsMHg4OCB9IH0sCi17ICAxNiwgMHhkZWUwLCAwLCB7MHgwYywweGUwLDB4MDIsMHgyOCwweDAyLDB4Y2EsMHgwMCwweGIzLDB4YTksMHgwYywweGEwLDB4MDMsMHgzYiwweDEwLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWYwLCAwLCB7MHhhMiwweDgwLDB4MGMsMHhhMCwweDBiLDB4MzgsMHgwMCwweGRhLDB4MDAsMHgzZiwweGIwLDB4MGMsMHhlNiwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhkZjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGMwLDB4MjAsMHg5OCwweDA4LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjEwLCAwLCB7MHgwZiwweDgwLDB4MGIsMHhlMSwweDAwLDB4ZjgsMHgwMSwweDNjLDB4MTAsMHg0ZiwweDAwLDB4MDMsMHhhMCwweDQwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjIwLCAwLCB7MHgzZSwweDEwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzYywweDAyLDB4MmYsMHgwNCwweDkzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjMSwweGMxLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkZjQwLCAwLCB7MHgwYywweDk4LDB4MDMsMHgyNiwweDQwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwYywweDk4LDB4MDMsMHgyNCwweDI0LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkZjUwLCAwLCB7MHgzYywweDYwLDB4MGMsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4ODIsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhkZjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg1MCB9IH0sCi17ICAxNiwgMHhkZjcwLCAwLCB7MHgwZCwweDk4LDB4MDIsMHgyNSwweDgwLDB4YjksMHgwMCwweDIyLDB4NTIsMHgwZCwweDljLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhkZjgwLCAwLCB7MHgyZSwweDYwLDB4MDgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHgzNiwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4ZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhkZmEwLCAwLCB7MHgwOCwweDEyLDB4MDIsMHgyNCwweDAwLDB4YTEsMHgxMCwweGEyLDB4NjAsMHgwOCwweDkyLDB4OGEsMHgyNCwweDAwLDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhkZmIwLCAwLCB7MHgyZSwweDQ2LDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGIxLDB4NTAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDgyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkZmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODQsMHg4NSwweDIwLDB4YTEsMHhkOCB9IH0sCi17ICAxNiwgMHhkZmQwLCAwLCB7MHgwOSwweDEwLDB4MDIsMHgwNCwweDgwLDB4YjMsMHgyMCwweDIwLDB4NDAsMHgyOSwweDEyLDB4MDYsMHgwNCwweDAwLDB4YjEsMHgwMSB9IH0sCi17ICAxNiwgMHhkZmUwLCAwLCB7MHgyYywweDQ4LDB4MjgsMHgxMiwweDAyLDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyNCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDIsMHg4YSwweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDAwLCAwLCB7MHgwYywweDA1LDB4MDMsMHgyMSwweDQwLDB4ZTAsMHg1MCwweGIyLDB4MDAsMHgyYywweDgwLDB4MDIsMHgyMSwweDQwLDB4ZjAsMHg1MCB9IH0sCi17ICAxNiwgMHhlMDEwLCAwLCB7MHgzYywweDE0LDB4MGMsMHg4NSwweDEzLDB4YTEsMHg1MCwweGY4LDB4NTAsMHgzMiwweDE0LDB4MGMsMHg4NSwweDIzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhlMDIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhlMDMwLCAwLCB7MHgwZiwweGQ0LDB4MGIsMHhmNCwweDQ0LDB4ZjksMHgxMCwweDNmLDB4NTAsMHg0ZiwweDExLDB4MDMsMHhmNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlMDQwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHg5MSwweDUzLDB4ZjQsMHgxNCwweGY5LDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwMiB9IH0sCi17ICAxNiwgMHhlMDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwNSwweGU2LDB4YTAsMHhkZCwweDg4LDB4YjMsMHg2NiB9IH0sCi17ICAxNiwgMHhlMDYwLCAwLCB7MHgwYywweGRjLDB4ODMsMHgzNiwweDg4LDB4YmQsMHhhMCwweDM3LDB4NmEsMHgwYywweGRhLDB4MGIsMHgyNSwweDAyLDB4YzksMHg0MCB9IH0sCi17ICAxNiwgMHhlMDcwLCAwLCB7MHgzZiwweDc4LDB4NGYsMHg5OCwweGIzLDB4ZTUsMHgwNCwweGNkLDB4YTAsMHg3MiwweDc4LDB4MGMsMHhkOCwweDhiLDB4MjYsMHgxNCB9IH0sCi17ICAxNiwgMHhlMDgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUzLDB4MDAsMHg4OCwweDQyLDB4MjIsMHgzMSB9IH0sCi17ICAxNiwgMHhlMDkwLCAwLCB7MHgwOCwweDBhLDB4MDIsMHgyMiwweGEwLDB4YjgsMHhmOSwweDIyLDB4MTAsMHgwZCwweDg0LDB4MTIsMHg2YSwweDgwLDB4ODgsMHg4MCB9IH0sCi17ICAxNiwgMHhlMGEwLCAwLCB7MHgyZSwweDIwLDB4MGIsMHgwOCwweDAyLDB4ZTIsMHg4MCwweGE4LDB4YTgsMHhhMiwweDM4LDB4NDgsMHhhOCwweDAyLDB4MGUsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4YTIsMHg4MSwweDAwLDB4MjAsMHg0OCB9IH0sCi17ICAxNiwgMHhlMGMwLCAwLCB7MHgwOCwweDEyLDB4NDIsMHg0NSwweDAwLDB4YjEsMHgwMCwweDI0LDB4NDAsMHgwOSwweDE0LDB4MDIsMHgyNCwweDAwLDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHhlMGQwLCAwLCB7MHgyYywweDU4LDB4MGIsMHgxMCwweDgyLDB4YzQsMHgwNCwweDkxLDB4NDAsMHg2NCwweDZjLDB4MDgsMHgzMCwweDgyLDB4MTIsMHgwNSB9IH0sCi17ICAxNiwgMHhlMGUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MSB9IH0sCi17ICAxNiwgMHhlMGYwLCAwLCB7MHgwOCwweDkwLDB4OGEsMHg2NCwweDgwLDB4YjksMHgwMCwweDIyLDB4NTAsMHgwOSwweDkwLDB4MDYsMHg2NCwweDA4LDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhlMTAwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDA2LDB4YzQsMHgwMSwweGI5LDB4MDIsMHgyNiwweDYxLDB4ODgsMHg5MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhlMTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhlMTIwLCAwLCB7MHgyYywweDk0LDB4MjMsMHg2NCwweDAwLDB4YjksMHgwMCwweDM2LDB4NDAsMHgwOSwweDkwLDB4MTMsMHgwNSwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhlMTMwLCAwLCB7MHgzZSwweDQwLDB4NGYsMHg5MCwweDEzLDB4ZTUsMHhjMCwweGQ5LDB4MDAsMHgyNiwweDQwLDB4MmMsMHg5NCwweDAzLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMSwweGE0LDB4MDIsMHhlOSwweDA4LDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhlMTUwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhhNCwweDAwLDB4ZjEsMHgwMCwweDNlLDB4NDEsMHgwZiwweDkwLDB4NDMsMHhhNCwweDg4LDB4ZTksMHgwNCB9IH0sCi17ICAxNiwgMHhlMTYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGUxLDB4MDAsMHgzYSwweDQwLDB4OWYsMHg5MiwweDYzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MTAsMHhlMCwweDAxLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZDgsMHgwOCwweDMwLDB4MDEsMHg4YywweDAwLDB4MDMsMHhlMSwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhlMTkwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDBiLDB4MjEsMHgwMCwweGM4LDB4MDAsMHg3OCwweDAwLDB4MGYsMHg4NiwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDQwLDB4MmIsMHg4MiB9IH0sCi17ICAxNiwgMHhlMWIwLCAwLCB7MHgwYiwweGEwLDB4MDIsMHgzYSwweDAwLDB4OGUsMHg4MCwweDIzLDB4ODIsMHgwOCwweGUyLDB4MDIsMHgyOCwweDEwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWMwLCAwLCB7MHgyZiwweDk4LDB4MjgsMHhhMCwweDEyLDB4MjgsMHgwMCwweDhlLDB4MjAsMHgyZSwweDgwLDB4NGIsMHhlNCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDIsMHhhMiwweDQwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlMWUwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHg0ZSwweDQwLDB4OTMsMHhjMCwweGEwLDB4MjAsMHgwOCwweDM2LDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWYwLCAwLCB7MHgyYywweGUyLDB4MDgsMHgzMCwweDA2LDB4NGMsMHgxMiwweDkzLDB4MDgsMHgyOCwweGMwLDB4MGIsMHhiMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDgsMHg4MiwweDQwLDB4MjksMHg0MCB9IH0sCi17ICAxNiwgMHhlMjEwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHg1ZSwweDA4LDB4ODQsMHgwOCwweDIzLDB4NDAsMHgwOCwweDcwLDB4MDYsMHgxYywweDgwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjIwLCAwLCB7MHgyZCwweDIwLDB4MDgsMHg3OSwweDEyLDB4NWMsMHgwMCwweDk0LDB4MDAsMHgyZCwweGMwLDB4MGIsMHgzMCwweDQyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MDAsMHhlNCwweDgwLDB4MzEsMHhhMSB9IH0sCi17ICAxNiwgMHhlMjQwLCAwLCB7MHgwZiwweDU4LDB4MTMsMHg3NiwweDAwLDB4ZDAsMHg4MCwweDMxLDB4YzAsMHgwYywweDM4LDB4MDMsMHhiZSwweDgwLDB4ZDcsMHg4MSB9IH0sCi17ICAxNiwgMHhlMjUwLCAwLCB7MHgzZiwweDIwLDB4OGMsMHg3OSwweDAzLDB4N2YsMHgwMSwweGQ2LDB4ODAsMHgzOSwweGU4LDB4NGYsMHg2OCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGJlLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjcwLCAwLCB7MHg4ZiwweDk2LDB4MGIsMHhhNCwweDAwLDB4ZWEsMHgwMCwweDNjLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhhYywweDIwLDB4ZmIsMHg0MCB9IH0sCi17ICAxNiwgMHhlMjgwLCAwLCB7MHgyZSwweDAwLDB4MGYsMHhiMiwweDAzLDB4YWQsMHhhMCwweGVhLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhhMCwweDFiLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhlMjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDgsMHhkZSwweDgxLDB4MzMsMHhhNCB9IH0sCi17ICAxNiwgMHhlMmEwLCAwLCB7MHgwZSwweGZjLDB4MTMsMHgzZSwweDAwLDB4ZmMsMHg4MCwweDEzLDB4MjAsMHgwYywweDY4LDB4MDMsMHgzZSwweDIwLDB4ZmYsMHhjOCB9IH0sCi17ICAxNiwgMHhlMmIwLCAwLCB7MHgzZiwweDYwLDB4MWQsMHhmOCwweDAzLDB4N2UsMHgwMCwweGM3LDB4ODAsMHgzMywweGUyLDB4MGMsMHhkOCwweDAzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHg4NiwweDQxLDB4MzEsMHhjNCB9IH0sCi17ICAxNiwgMHhlMmQwLCAwLCB7MHgwOCwweDc5LDB4NDIsMHg5YywweDAwLDB4YmMsMHgxMCwweDIxLDB4NDAsMHg4NSwweDM1LDB4MDMsMHg1YywweDAwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmUwLCAwLCB7MHgyZCwweGMwLDB4MDgsMHg3MiwweDAyLDB4MmMsMHgwMCwweGE3LDB4MDEsMHgzNywweGMwLDB4MDgsMHg1MSwweDQyLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDhjLDB4NDAsMHg4MiwweDAwLDB4MjQsMHg4MSB9IH0sCi17ICAxNiwgMHhlMzAwLCAwLCB7MHgwOCwweGQ4LDB4MDIsMHgxNCwweDIwLDB4YjUsMHgwMCwweDIwLDB4NDAsMHgwOSwweDYwLDB4MDIsMHgxYywweDQwLDB4YjcsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzEwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgzMCwweDIyLDB4ZGMsMHgwMCwweDk3LDB4MDAsMHgyMSwweGM0LDB4MDgsMHg0MCwweDAyLDB4NDQsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGVjLDB4MDAsMHg5MiwweDA2LDB4MjAsMHg5MCB9IH0sCi17ICAxNiwgMHhlMzMwLCAwLCB7MHgzOCwweDE1LDB4MDIsMHg4NiwweDAwLDB4YjgsMHgwMCwweDYwLDB4NTAsMHgwOSwweDMwLDB4MDIsMHg0ZSwweDAxLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzQwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHgzMCwweDAyLDB4Y2UsMHgyMCwweGIzLDB4MDAsMHgyNCwweGYwLDB4NDgsMHgwMiwweDBhLDB4NTgsMHgwNCB9IH0sCi17ICAxNiwgMHhlMzUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjYSwweDAwLDB4YTYsMHg5NCB9IH0sCi17ICAxNiwgMHhlMzYwLCAwLCB7MHgyYywweDkwLDB4MDMsMHgyZSwweDAwLDB4ZmIsMHgwNSwweGIyLDB4ODUsMHgwZCwweDkwLDB4MDMsMHgzZiwweDkwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzcwLCAwLCB7MHg3ZSwweDgwLDB4MWYsMHhmMCwweDQzLDB4ZmMsMHgyMSwweDlhLDB4MDAsMHgzMywweGM4LDB4M2MsMHhiMiwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhlMzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweGVjLDB4MDIsMHhlYSwweDQwLDB4M2QsMHg4MCB9IH0sCi17ICAxNiwgMHhlMzkwLCAwLCB7MHgwZiwweDEwLDB4OTMsMHhlZCwweDAwLDB4ZmIsMHg0MCwweDNlLDB4OTAsMHg4ZiwweDMwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2EwLCAwLCB7MHgzZSwweDkxLDB4MWMsMHhiMCwweDAzLDB4MmMsMHgxMCwweGU4LDB4MDAsMHgzZSwweGM4LDB4MWYsMHg5MCwweDAzLDB4YTUsMHgxMCB9IH0sCi17ICAxNiwgMHhlM2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGZjLDB4MDIsMHhlNCwweDAwLDB4NzMsMHhhMCB9IH0sCi17ICAxNiwgMHhlM2MwLCAwLCB7MHgwYywweGZjLDB4MDMsMHg3YywweDAyLDB4ZmYsMHgxMCwweDEzLDB4YzQsMHgxYywweGMwLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2QwLCAwLCB7MHgzNywweGUwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVkLDB4ODAsMHgzMSwweGMwLDB4MGMsMHgzMiwweDYzLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlM2UwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgwMCwweDZjLDB4MDAsMHg4YSwweGMwLDB4MjIsMHhiMSB9IH0sCi17ICAxNiwgMHhlM2YwLCAwLCB7MHg4YSwweGI4LDB4NDMsMHg0YSwweDEwLDB4ZGIsMHgyMCwweDIwLDB4ZjAsMHgwYSwweDk0LDB4MDMsMHg2YywweDAwLDB4YmIsMHgwNyB9IH0sCi17ICAxNiwgMHhlNDAwLCAwLCB7MHgyMiwweGI4LDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgxMSwweGU4LDB4YzAsMHhiMiwweGMwLDB4MmEsMHg5MiwweDFhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJjLDB4MDAsMHhhYSwweDgwLDB4MjIsMHg5OCB9IH0sCi17ICAxNiwgMHhlNDIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyZiwweDAzLDB4YmIsMHgwMSwweDJhLDB4ODMsMHgwOCwweGIyLDB4NGUsMHgyYywweDA0LDB4YWIsMHgwMiB9IH0sCi17ICAxNiwgMHhlNDMwLCAwLCB7MHgyMiwweGM0LDB4MjgsMHhiMCwweDIyLDB4ZWMsMHgwOSwweGIzLDB4NTAsMHg2MiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDEsMHg4MywweDAwLDB4NjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNDUwLCAwLCB7MHgwOCwweDEyLDB4MGEsMHg0NCwweDAwLDB4OTMsMHgwMCwweDJhLDB4ODAsMHg0YSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDYwLCAwLCB7MHg2MCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHg2MCwweGMwLDB4MDgsMHgwMCwweDQ2LDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhlNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwZCwweDZjLDB4MDAsMHhlOCwweDAyLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhlNDgwLCAwLCB7MHgyYywweGYyLDB4NDMsMHgyYywweDAwLDB4ZmIsMHgwMCwweGJhLDB4YzAsMHgwOCwweGE1LDB4MDIsMHgzYywweDAwLDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDkwLCAwLCB7MHgzNiwweGMwLDB4NGQsMHhmMCwweDEzLDB4ZmQsMHg1MSwweGZiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHhiMCwweDAzLDB4MjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlNGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHg3ZSwweDA0LDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhlNGIwLCAwLCB7MHgwZiwweDMxLDB4NDMsMHhmMCwweDAyLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVmLDB4MDAsMHgzYiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgxNiB9IH0sCi17ICAxNiwgMHhlNGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYyLDB4NDAsMHhmYywweDgwLDB4M2YsMHgyNCB9IH0sCi17ICAxNiwgMHhlNGUwLCAwLCB7MHgwZCwweGQ4LDB4NTMsMHhkNiwweDA0LDB4ZGYsMHgzMiwweDNmLDB4Y2MsMHg0YywweGMwLDB4NDMsMHhmYywweDAwLDB4ZGYsMHg2MCB9IH0sCi17ICAxNiwgMHhlNGYwLCAwLCB7MHgzNywweGMwLDB4MGYsMHhjNCwweDAzLDB4N2MsMHhkMCwweGRmLDB4MjAsMHgzMywweGQ4LDB4MGQsMHhmOCwweDQzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxOCwweGU4LDB4ODAsMHhiMCwweDAxLDB4MmUsMHgwOCB9IH0sCi17ICAxNiwgMHhlNTEwLCAwLCB7MHg4OCwweDkwLDB4MDIsMHhlYywweDIwLDB4OGIsMHg3MCwweDJmLDB4Y2MsMHgwOCwweGIzLDB4ODIsMHhmZCwweGUwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHhlNTIwLCAwLCB7MHgyMiwweGQ4LDB4MGIsMHg5MywweDAyLDB4ZmQsMHhjMCwweGFmLDB4MTAsMHgyOCwweGYwLDB4MDgsMHhiYywweDEyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHhiMCwweDAwLDB4MmUsMHgwMSB9IH0sCi17ICAxNiwgMHhlNTQwLCAwLCB7MHgwYSwweDEyLDB4ODIsMHhlYywweDgwLDB4YjMsMHgwMCwweDJjLDB4YzgsMHgwYSwweDAwLDB4MzIsMHg4YywweDAwLDB4YTMsMHgzMCB9IH0sCi17ICAxNiwgMHhlNTUwLCAwLCB7MHgyMCwweGQyLDB4MDksMHgwMCwweDAyLDB4OGMsMHg4MCwweDgzLDB4MDAsMHgyOCwweGQ4LDB4MGIsMHgzNCwweDEyLDB4ZjIsMHgwMSB9IH0sCi17ICAxNiwgMHhlNTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGFjLDB4MDEsMHhiOCwweDAyLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTcwLCAwLCB7MHgwYSwweDkwLDB4MTIsMHhlYywweDEwLDB4OGIsMHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDAsMHhlYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTgwLCAwLCB7MHgyMiwweGMxLDB4MGIsMHg5MiwweDAyLDB4Y2MsMHgwMSwweGFiLDB4MDAsMHgyYSwweGMwLDB4MDIsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUwLDB4MDAsMHhmYSwweDBjLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhlNWEwLCAwLCB7MHgwZiwweGEwLDB4MTMsMHhlZSwweDIwLDB4ZGIsMHgwMCwweDNlLDB4YzAsMHgyZSwweDg4LDB4NTMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWIwLCAwLCB7MHhiMiwweGMwLDB4OGYsMHhhYywweDgzLDB4YWMsMHgwOCwweGRiLDB4MDAsMHgxYSwweGMwLDB4NGYsMHhiMCwweDAzLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHhmZSwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhlNWQwLCAwLCB7MHgyZCwweGUwLDB4MDMsMHhmZSwweDgwLDB4N2YsMHgwMCwweDNmLDB4YzAsMHgwZCwweGQyLDB4MDMsMHhmYywweDAwLDB4YmYsMHgwMSB9IH0sCi17ICAxNiwgMHhlNWUwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHhjOCwweDAzLDB4ZmMsMHgwYywweGZmLDB4MDAsMHgzZiwweGMwLDB4MDksMHhmMCwweDIzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE0LDB4MDAsMHhmYSwweDQwLDB4MzIsMHhjMSB9IH0sCi17ICAxNiwgMHhlNjAwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHgyOSwweDA4LDB4ZGIsMHgwMCwweDNlLDB4YzAsMHgwZSwweDg1LDB4MDMsMHhlYywweDIwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjEwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHhhNCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGMyLDB4MGUsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhlNjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiYSwweDYwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhlNjMwLCAwLCB7MHgwYiwweGEwLDB4MDIsMHgwOCwweDAwLDB4YWYsMHgwMCwweDJmLDB4ZDAsMHgwYiwweGI1LDB4MDIsMHhmZSwweDAyLDB4OGYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjQwLCAwLCB7MHgyZiwweGMwLDB4MGQsMHg4MCwweDBhLDB4M2MsMHgwMCwweGI3LDB4MDAsMHgyMywweGMyLDB4MDUsMHhmMCwweDIyLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDQwLDB4MDAsMHhiMSwweDg4LDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjYwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDJlLDB4YzgsMHgwYiwweDA4LDB4MDYsMHg0ZCwweDQwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjcwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDA2LDB4MGMsMHgwOCwweDkzLDB4MjAsMHgwYSwweGUwLDB4NGEsMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxMCwweDVhLDB4MDAsMHhiNSwweDkwLDB4MjEsMHgyMCB9IH0sCi17ICAxNiwgMHhlNjkwLCAwLCB7MHgwYiwweDU4LDB4NDIsMHgzZSwweDAwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDY5LDB4MDIsMHhkZSwweDQwLDB4ODcsMHg5MiB9IH0sCi17ICAxNiwgMHhlNmEwLCAwLCB7MHgyZCwweGUwLDB4MDksMHgxOCwweDAyLDB4OWUsMHgwMSwweGI3LDB4ODAsMHgyOSwweGUwLDB4MDMsMHg3MCwweDAyLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDQ0LDB4MDAsMHhmMSwweDAxLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmMwLCAwLCB7MHg1ZiwweDE4LDB4MDMsMHgwYywweDEwLDB4ODMsMHgwMCwweDNjLDB4YzQsMHgwZSwweDA0LDB4MDMsMHhlYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmQwLCAwLCB7MHgzMCwweGM0LDB4MGMsMHgzMSwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDAsMHgzOCwweGM4LDB4MGUsMHgzMSwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhlNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGJjLDB4MDAsMHhmZCwweDA0LDB4YmYsMHgwNCB9IH0sCi17ICAxNiwgMHhlNmYwLCAwLCB7MHg0ZiwweDU4LDB4MDMsMHhmOCwweDA4LDB4ZWYsMHgwOCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDEsMHhmYywweDAwLDB4ZmYsMHg0YyB9IH0sCi17ICAxNiwgMHhlNzAwLCAwLCB7MHgzZiwweGMxLDB4MGYsMHhkMCwweDAzLDB4M2MsMHgwMCwweGY3LDB4MDAsMHgzNywweGMyLDB4MGQsMHg3MiwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhlNzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGUyLDB4MDAsMHhkYiwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhlNzIwLCAwLCB7MHg0ZCwweGE4LDB4MDMsMHgyYywweDA4LDB4ZmIsMHgwMCwweDdlLDB4YzgsMHg4ZiwweGIwLDB4MGIsMHg2ZiwweDQ1LDB4ZWIsMHhjMiB9IH0sCi17ICAxNiwgMHhlNzMwLCAwLCB7MHgzNiwweGMwLDB4MDcsMHhhMCwweDAzLDB4ZWYsMHgyMCwweGNiLDB4NTAsMHhiMiwweGMwLDB4MGMsMHg3OSwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxOSwweDk4LDB4MDAsMHg4ZiwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhlNzUwLCAwLCB7MHgwYiwweDYwLDB4MDMsMHg1YywweDAwLDB4MzcsMHgwMCwweDJkLDB4ZDIsMHgwYiwweDMwLDB4MDIsMHgwYywweGE4LDB4ODcsMHgyNCB9IH0sCi17ICAxNiwgMHhlNzYwLCAwLCB7MHgyMSwweGQwLDB4MDksMHg3MCwweDAyLDB4ZGQsMHg4OCwweDg3LDB4MmEsMHgyMywweGU4LDB4MDgsMHg3MCwweDAyLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhlNzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweGI2LDB4MDAsMHg5NywweDgwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHhlNzgwLCAwLCB7MHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTgsMHg4YiwweDQ4LDB4ODIsMHgxZSwweDgwLDB4YTMsMHg4NCB9IH0sCi17ICAxNiwgMHhlNzkwLCAwLCB7MHgyNSwweGU4LDB4MGIsMHg2OCwweDAyLDB4Y2UsMHgwMiwweDg3LDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3YSwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNCwweGNjLDB4MDgsMHg4MywweDgyLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhlN2IwLCAwLCB7MHg4YiwweDJhLDB4MDIsMHg0OCwweDQwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4ODIsMHgwYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2MwLCAwLCB7MHgwMCwweGMxLDB4MDksMHgzMSwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDBhLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhlN2QwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGU4LDB4MDAsMHhkYSwweGEwLDB4MzIsMHhhOCB9IH0sCi17ICAxNiwgMHhlN2UwLCAwLCB7MHg4ZCwweGE4LDB4MDMsMHgzYiwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGU0LDB4MDMsMHg2OCwweDAwLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhlN2YwLCAwLCB7MHgzNiwweDgwLDB4MGYsMHhlNCwweDAzLDB4ZTgsMHgwMCwweGNhLDB4MDAsMHgzMiwweDgwLDB4MmMsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhlODAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMSwweGEwLDB4MTAsMHhmOCwweDAwLDB4YmUsMHgyMCB9IH0sCi17ICAxNiwgMHhlODEwLCAwLCB7MHg4ZiwweGMxLDB4MDMsMHhlMCwweDI0LDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDg0LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMSB9IH0sCi17ICAxNiwgMHhlODIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDEsMHhiZSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlODMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDQwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhlODQwLCAwLCB7MHhjZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDBlLDB4NTAsMHgwZiwweDFhLDB4MDMsMHgyNiwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlODUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDgxLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhlODYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDQsMHhiMSwweDA0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhlODcwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NTMsMHgwYiwweDkyLDB4MGEsMHgyNiwweDQ4LDB4YjksMHgwNCB9IH0sCi17ICAxNiwgMHhlODgwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4ODAsMHgwMiwweDUwLDB4MDgsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlODkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweDI0LDB4MDAsMHhiZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhlOGEwLCAwLCB7MHgwYiwweGQwLDB4MTIsMHhjNCwweDAwLDB4ODksMHgwMiwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhlOGIwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxLDB4MjAsMHgyMCwweDQwLDB4NjgsMHg5MCwweDIyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhlOGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxNCwweDE0LDB4MDAsMHhiZiwweDEyLDB4YTEsMHg0MCB9IH0sCi17ICAxNiwgMHhlOGQwLCAwLCB7MHgwYiwweDUwLDB4MDIsMHhjNCwweDAwLDB4YTEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDEyLDB4MDIsMHgwNCwweDEwLDB4YjEsMHgxMSB9IH0sCi17ICAxNiwgMHhlOGUwLCAwLCB7MHgyYywweDQ4LDB4MGIsMHgxMywweDIyLDB4YzQsMHgwMCwweGIxLDB4NDAsMHgyMCwweDVhLDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhlOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDQwLDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhlOTAwLCAwLCB7MHgwZiwweDQ1LDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDNlLDB4MTUsMHg4ZiwweDg1LDB4MDMsMHgyMSwweGU4LDB4ZjgsMHg2OCB9IH0sCi17ICAxNiwgMHhlOTEwLCAwLCB7MHgzZSwweDE0LDB4MGYsMHg4NCwweDAzLDB4ZTEsMHhlMCwweGYwLDB4MjgsMHgzMiwweGE4LDB4Y2MsMHg4MCwweDIzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhlOTIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxNSwweGM0LDB4MTAsMHhmOSwweDIwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlOTMwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhmNCwweDAwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHhlOTQwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHhkMywweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhlOTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU0LDB4MDAsMHhmZCwweDEwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhlOTYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNmLDB4NDAsMHg0YywweGQwLDB4MDMsMHhmNiwweDAwLDB4ZmQsMHg5MCB9IH0sCi17ICAxNiwgMHhlOTcwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTYsMHhhMCwweGZkLDB4YTgsMHgzNywweDY4LDB4MGMsMHhkOCwweDgzLDB4MjYsMHgwMCB9IH0sCi17ICAxNiwgMHhlOTgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDgsMHhjOCwweGEwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhlOTkwLCAwLCB7MHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYywweDgwLDB4MTIsMHhlMCwweDAwLDB4YjgsMHg4MCB9IH0sCi17ICAxNiwgMHhlOWEwLCAwLCB7MHgyMiwweDAwLDB4MGQsMHgwYSwweDAyLDB4ZTMsMHg4MCwweGIwLDB4YzAsMHgyMCwweDM0LDB4MDgsMHg4NCwweDAzLDB4NGUsMHgwNCB9IH0sCi17ICAxNiwgMHhlOWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDksMHhhMSwweDAwLDB4MjAsMHg0MSB9IH0sCi17ICAxNiwgMHhlOWMwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHhjNSwweDAwLDB4YjEsMHg2MCB9IH0sCi17ICAxNiwgMHhlOWQwLCAwLCB7MHgyMCwweDQwLDB4MDgsMHgxMCwweGEyLDB4YzQsMHgyMCwweGIxLDB4MjgsMHgyNCwweDRhLDB4MDgsMHgxMCwweDAyLDB4NTIsMHgwMSB9IH0sCi17ICAxNiwgMHhlOWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNCwweGE0LDB4MDEsMHg4MSwweDAwLDB4YTIsMHg0MCB9IH0sCi17ICAxNiwgMHhlOWYwLCAwLCB7MHhhOCwweDkwLDB4MDAsMHgyNSwweDQwLDB4ODksMHgwMSwweDJjLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhlYTAwLCAwLCB7MHgyYSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMSwweGI5LDB4MDQsMHgyMiwweDQxLDB4NDgsMHg5MCwweDAyLDB4NDYsMHgwNCB9IH0sCi17ICAxNiwgMHhlYTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNCwweGE1LDB4MjAsMHhlOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhlYTIwLCAwLCB7MHg0YywweDEwLDB4MGIsMHgyNiwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgyYywweDk4LDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlYTMwLCAwLCB7MHhiMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MmMsMHg5MCwweDAzLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHhlYTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMSwweGE0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlYTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZSwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlYTYwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGExLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTgwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHhhMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDQsMHg4YywweDgwLDB4MDMsMHhhMCwweGMwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTkwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDksMHgzMiwweDAwLDB4NGMsMHg4MCwweDAxLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhiZSwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYWIwLCAwLCB7MHgwYiwweGUwLDB4MDIsMHg4OCwweDAwLDB4YWEsMHgwMCwweDAzLDB4YTAsMHgwYSwweGU2LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWMwLCAwLCB7MHgzMiwweDgwLDB4MGIsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhlLDB4ODAsMHhhMywweDgwLDB4MjgsMHgyMCwweDAyLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHhiMywweDQ4LDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhlYWUwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDM0LDB4ODIsMHg4ZSwweDA0LDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhlYWYwLCAwLCB7MHgwYSwweGMwLDB4MWIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDkwLDB4NTAsMHgyMCwweDYwLDB4MDgsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMSwweDFjLDB4ODAsMHhiZCwweDBhLDB4MjEsMHg0OCB9IH0sCi17ICAxNiwgMHhlYjEwLCAwLCB7MHgwYiwweDUyLDB4MDIsMHg5YywweDQwLDB4YTMsMHhhMCwweDIwLDB4ODAsMHgwYSwweDYwLDB4MDIsMHhjZSwweDAwLDB4ODUsMHgyMCB9IH0sCi17ICAxNiwgMHhlYjIwLCAwLCB7MHgyMSwweGM0LDB4MGIsMHg3YSwweDA2LDB4MWUsMHg4MCwweDk1LDB4MjAsMHgyMSwweDkwLDB4MDgsMHg3MCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwOCwweDFlLDB4ODAsMHhmNywweDgwLDB4YjEsMHg3OSB9IH0sCi17ICAxNiwgMHhlYjQwLCAwLCB7MHgwZiwweGRiLDB4MDIsMHgzZSwweDIwLDB4YzcsMHhhMCwweGIxLDB4NjAsMHhjYywweDc4LDB4MTMsMHg5NiwweDAwLDB4ZjEsMHhmMCB9IH0sCi17ICAxNiwgMHhlYjUwLCAwLCB7MHgzOSwweGUyLDB4MGYsMHg3YiwweDEzLDB4MGYsMHgwMCwweGQ0LDB4YTAsMHgzMSwweDYwLDB4MmMsMHg3MCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhlYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNSwweGFjLDB4MDAsMHhmNywweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlYjcwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZCwweDgwLDB4ZmIsMHgxMCwweDNlLDB4NDAsMHgwYiwweGIwLDB4MjMsMHhlYywweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHhlYjgwLCAwLCB7MHgzYSwweGQ4LDB4MGYsMHhiMCwweDBiLDB4ZWQsMHg4MSwweGVkLDB4MTAsMHgzZSwweDgwLDB4MGYsMHgzMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhlYjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweGJlLDB4MjAsMHhlZSwweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHhlYmEwLCAwLCB7MHgwYywweGQ4LDB4ODMsMHgxZSwweDAwLDB4NmYsMHg4MCwweDMzLDB4ZTAsMHgwZiwweGI4LDB4MTEsMHgzMiwweDA0LDB4ZjUsMHg4MCB9IH0sCi17ICAxNiwgMHhlYmIwLCAwLCB7MHgzMywweGUwLDB4MGYsMHhmOCwweDgzLDB4MmYsMHg0MCwweGZlLDB4ODAsMHhiMywweGUwLDB4MGMsMHhmOCwweDAzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxOCwweDljLDB4MDAsMHhiYywweDAwLDB4YTEsMHg0NCB9IH0sCi17ICAxNiwgMHhlYmQwLCAwLCB7MHgwOCwweDEwLDB4MDMsMHg1YywweDAwLDB4OGYsMHgwMCwweDIxLDB4ODAsMHgwYiwweGVhLDB4MjIsMHgxYywweDgwLDB4YjUsMHgwMSB9IH0sCi17ICAxNiwgMHhlYmUwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHhmMCwweDAyLDB4MWUsMHg4MCwweGJlLDB4MDAsMHgyMywweDgwLDB4MmEsMHg3MCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYmYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MjAsMHhhNywweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzAwLCAwLCB7MHgwYiwweDUwLDB4MGEsMHgzYywweDAwLDB4YTcsMHgwMCwweDI1LDB4YzAsMHgwYSwweDQzLDB4MDIsMHgxMCwweDAwLDB4YjUsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDgyLDB4MWMsMHg4MCwweGI0LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwNCwweDhlLDB4MDQsMHhiMywweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzMwLCAwLCB7MHgwOSwweDE0LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDI0LDB4ODIsMHgwNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzQwLCAwLCB7MHgyMCwweGMwLDB4OGIsMHgzYSwweDAyLDB4MmMsMHgwMSwweGIwLDB4MDAsMHgyMCwweDgwLDB4MGEsMHgzMCwweDAyLDB4MWEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYzUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDllLDB4MDAsMHhlYiwweDA0LDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzYwLCAwLCB7MHgyZCwweGRjLDB4MDMsMHgxZCwweDYwLDB4ZWYsMHgwMCwweDMyLDB4MDAsMHhjZiwweDlhLDB4MDMsMHgyOCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzcwLCAwLCB7MHgzMywweGMxLDB4OGIsMHhmYywweDBiLDB4M2MsMHgwMCwweGZjLDB4MDAsMHgzMiwweDgwLDB4MGMsMHg5MCwweDAzLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhlYzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGFjLDB4MTAsMHhmOCwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhlYzkwLCAwLCB7MHgwZSwweDk4LDB4MjMsMHhhYywweDA0LDB4ZmIsMHgwMCwweDNjLDB4MDAsMHgwZiwweDg0LDB4MjAsMHhlZCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlY2EwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZkLDB4MDAsMHgzZSwweDgwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCB9IH0sCi17ICAxNiwgMHhlY2IwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDgwLDB4MzMsMHg0MCB9IH0sCi17ICAxNiwgMHhlY2MwLCAwLCB7MHgwYywweGQwLDB4ODMsMHhmYywweDAwLDB4ZWYsMHgwMCwweDNmLDB4NDAsMHgwYywweGYxLDB4NDEsMHgzMCwweDEwLDB4Y2QsMHgwMCB9IH0sCi17ICAxNiwgMHhlY2QwLCAwLCB7MHgzZiwweGMwLDB4MDAsMHg3MCwweDEzLDB4M2MsMHgwMCwweGU0LDB4MDAsMHhiMSwweGQwLDB4MGMsMHgxMCwweDAzLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhlY2UwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTEsMHgwNCwweDJjLDB4MDAsMHg4YSwweGU0LDB4MmEsMHg0MCB9IH0sCi17ICAxNiwgMHhlY2YwLCAwLCB7MHgyOCwweDkwLDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCwweDNlLDB4MDIsMHgwYSwweDgwLDB4MDIsMHgyYywweDgyLDB4ODksMHgwNCB9IH0sCi17ICAxNiwgMHhlZDAwLCAwLCB7MHgyZSwweGMxLDB4MGEsMHhiMCwweDBhLDB4MmMsMHgwMCwweDg5LDB4MDIsMHgyMiwweGYyLDB4MmEsMHg5OCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDIsMHg4MCwweDE0LDB4MmEsMHg0MCB9IH0sCi17ICAxNiwgMHhlZDIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlYywweDA4LDB4YWIsMHgwNCwweDJlLDB4ODQsMHgwOCwweDEwLDB4ODIsMHg4MCwweDEwLDB4ODksMHgwMyB9IH0sCi17ICAxNiwgMHhlZDMwLCAwLCB7MHgyYywweGMwLDB4NGEsMHhiMCwweDIyLDB4MmMsMHgwMCwweGFhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHg5MSwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNCwweDJjLDB4MDAsMHg4MCwweDAwLDB4MjgsMHg0MCB9IH0sCi17ICAxNiwgMHhlZDUwLCAwLCB7MHgwOCwweDExLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCwweDJjLDB4ODEsMHgwYSwweDAwLDB4NWEsMHg4OCwweDAwLDB4MDEsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDYwLCAwLCB7MHgyYywweGMwLDB4MGEsMHgzMCwweDAyLDB4MGMsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGEsMHgxMCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjOSwweDAwLDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhlZDgwLCAwLCB7MHgwYywweGQ0LDB4MDMsMHhmYywweDAwLDB4ZWIsMHgwMCwweDNlLDB4NDAsMHgwYywweDkyLDB4MDMsMHhhMCwweDAwLDB4NGQsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDkwLCAwLCB7MHgzZiwweGMwLDB4MGUsMHhmMCwweDMzLDB4M2MsMHg4MCwweGU4LDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4MjAsMHgwMyB9IH0sCi17ICAxNiwgMHhlZGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGZjLDB4MDAsMHhmYywweDAwLDB4M2QsMHg0MCB9IH0sCi17ICAxNiwgMHhlZGIwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHhmYywweDAyLDB4M2YsMHgwNCwweDNiLDB4MDEsMHg0ZiwweGM0LDB4MTMsMHg3MCwweDAwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhlZGMwLCAwLCB7MHgzZiwweGMwLDB4MWYsMHhmMCwweDAxLDB4ZmMsMHg0MCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhkMCwweDEzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhlZGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY4LDB4ZTAsMHhmZiwweDgwLDB4M2QsMHhjMCB9IH0sCi17ICAxNiwgMHhlZGUwLCAwLCB7MHgwZCwweGYzLDB4ODIsMHhmMCwweDgwLDB4ZmYsMHg0MCwweDMxLDB4Y2IsMHgwYywweGYzLDB4MDMsMHhmZCwweDA0LDB4ZWYsMHhjMSB9IH0sCi17ICAxNiwgMHhlZGYwLCAwLCB7MHgzMywweGUwLDB4MGYsMHg3OSwweDAzLDB4ZmUsMHgwMCwweGNmLDB4NDIsMHgzMywweGYwLDB4NGMsMHhmOCwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgxMCwweGU5LDB4MDgsMHhiOSwweDgxLDB4MmYsMHhmMCB9IH0sCi17ICAxNiwgMHhlZTEwLCAwLCB7MHgwOCwweGY0LDB4NTIsMHhlOSwweDIwLDB4YmYsMHg0MCwweDIzLDB4ZjAsMHgwYSwweGYzLDB4MDIsMHhmZCwweDA4LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTIwLCAwLCB7MHgzNiwweGUwLDB4MGIsMHg4MCwweDIyLDB4ZTgsMHg4MCwweDhmLDB4NDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDgyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhlZTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGNjLDB4MDAsMHhiMSwweDgwLDB4MmMsMHhjNSB9IH0sCi17ICAxNiwgMHhlZTQwLCAwLCB7MHgwOSwweDMyLDB4NDIsMHhjOCwweGMwLDB4YjMsMHgzMSwweDIwLDB4YzEsMHgwOCwweDMyLDB4MDIsMHhjYywweGQ0LDB4YmIsMHgyMCB9IH0sCi17ICAxNiwgMHhlZTUwLCAwLCB7MHg2OCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgyMCwweDkzLDB4NjAsMHgyMCwweDg4LDB4MDgsMHgzMiwweDAyLDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhlZTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgxNSwweGEwLDB4MDAsMHhiYiwweDgwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhlZTcwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhlYSwweDAwLDB4YmIsMHgwMCwweDYyLDB4YzEsMHgwYSwweGIwLDB4MDIsMHhjYywweDAwLDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTgwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMxLDB4MDgsMHgzMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhlZTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGU4LDB4OTAsMHhmYiwweDgwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhlZWEwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlMiwweDEwLDB4ZmIsMHgwMCwweDMyLDB4YzAsMHg0YywweGIwLDB4MTMsMHhlYywweDAwLDB4ZTksMHg1NCB9IH0sCi17ICAxNiwgMHhlZWIwLCAwLCB7MHgzYSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTYsMHgwMCwweGNiLDB4MDAsMHhiMiwweDQwLDB4MGMsMHhiMCwweDAzLDB4MDQsMHgwNCB9IH0sCi17ICAxNiwgMHhlZWMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhlZWQwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHhmMCwweDAwLDB4ZjcsMHgwMiwweGJmLDB4YzEsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGYsMHgwNiB9IH0sCi17ICAxNiwgMHhlZWUwLCAwLCB7MHgzNywweGMwLDB4OGYsMHhjOSwweDA3LDB4ZmEsMHg5MiwweGZmLDB4MDQsMHgzZiwweDUwLDB4MmYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDAsMHhjOSwweDAwLDB4M2UsMHhjMiB9IH0sCi17ICAxNiwgMHhlZjAwLCAwLCB7MHgwZSwweGIwLDB4MjMsMHhlNCwweDAwLDB4ZWIsMHgwMCwweDNhLDB4YzgsMHgwZSwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhlZjEwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4YTQsMHgwMCwweGZiLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhiMCwweDgzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhlZjIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDI4LDB4MDAsMHg4YiwweDc0LDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhlZjMwLCAwLCB7MHgwOCwweGYwLDB4MDIsMHhlNCwweDAwLDB4OGYsMHgwMCwweDIxLDB4ZjAsMHgwOCwweGYwLDB4MDIsMHhmYywweDEwLDB4ZDMsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjQwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHg5MCwweDEyLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiNiwweDAyLDB4ZjYsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDQ4LDB4MDAsMHhhMywweDAwLDB4MmMsMHhjNCB9IH0sCi17ICAxNiwgMHhlZjYwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHhjMCwweDAwLDB4YTMsMHgwMCwweDY4LDB4ZjAsMHgwYSwweDMwLDB4MTIsMHhjYywweDA0LDB4YTIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjcwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4ZWMsMHgwMCwweGIzLDB4MDEsMHgyZSwweGMwLDB4MGIsMHgzNCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMSwweDBjLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlOCB9IH0sCi17ICAxNiwgMHhlZjkwLCAwLCB7MHgwOCwweDc4LDB4NDIsMHhkYSwweDAwLDB4ODcsMHg4MCwweDI1LDB4ZTAsMHgwOCwweDc5LDB4MDIsMHhjZSwweDAwLDB4OTYsMHg4MCB9IH0sCi17ICAxNiwgMHhlZmEwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHhkOSwweDAyLDB4ZGUsMHgwMCwweGE3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhlZmIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDAsMHhlMywweDEwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHhlZmMwLCAwLCB7MHgwYSwweDM4LDB4MDMsMHhlOCwweDAwLDB4ZWIsMHgwMCwweDM4LDB4YzIsMHgwYSwweDMwLDB4MDMsMHhjYywweDAwLDB4ZTMsMHg0MCB9IH0sCi17ICAxNiwgMHhlZmQwLCAwLCB7MHgzYywweGMwLDB4MGYsMHgzNCwweDAzLDB4Y2QsMHgwMCwweGYzLDB4MjAsMHgzYywweDg4LDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHhlZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI0LDB4ODAsMHhmZiwweDA0LDB4M2YsMHhjOCB9IH0sCi17ICAxNiwgMHhlZmYwLCAwLCB7MHgwZiwweGYwLDB4ODMsMHhmOCwweDQwLDB4ZmYsMHgxOCwweDNiLDB4YzAsMHgwZiwweGY0LDB4ODMsMHhmYywweDAwLDB4ZWUsMHgwMiB9IH0sCi17ICAxNiwgMHhmMDAwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGVmLDB4MDgsMHgzZiwweDgwLDB4MGYsMHhmMCwweDEzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhmMDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhmMiB9IH0sCi17ICAxNiwgMHhmMDIwLCAwLCB7MHg0ZCwweGIyLDB4MTMsMHhlOCwweDA0LDB4Y2IsMHgwMSwweDMyLDB4ZjgsMHg0ZCwweGIyLDB4MTMsMHg2ZCwweDIwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDMwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4MjQsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4OGYsMHhiOCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgxMSwweDhjLDB4MDAsMHg4NiwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhmMDUwLCAwLCB7MHgwOCwweDczLDB4MDIsMHhkOCwweDEyLDB4ODcsMHgzMCwweDIwLDB4Y2IsMHgwOCwweGYyLDB4MDIsMHgxZCwweDA1LDB4YjUsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDYwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg2MCwweDAzLDB4NTAsMHgxMCwweGI3LDB4MDksMHgyZCwweGMwLDB4MGIsMHhmMCwweDAyLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMDcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHg4NywweDgwLDB4MmQsMHhlNCB9IH0sCi17ICAxNiwgMHhmMDgwLCAwLCB7MHgwOSwweDdhLDB4MDIsMHhjZSwweDAxLDB4ODcsMHg4MCwweDIxLDB4ZWMsMHgwOSwweDc4LDB4MDIsMHg1ZSwweDgwLDB4YjcsMHhjMCB9IH0sCi17ICAxNiwgMHhmMDkwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHhmOCwweDAyLDB4MWUsMHgwMCwweGI3LDB4YTAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMGEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGVlLDB4MDAsMHg4MiwweDgwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhmMGIwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHhmMGMwLCAwLCB7MHgyYywweGMxLDB4MGIsMHgzMCwweDAyLDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyYywweGYxLDB4MGIsMHgzMCwweDBhLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4ODAsMHhjNiwweDAwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhmMGUwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmOCwweDQwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgwZCwweGEwLDB4MTMsMHg2OCwweDAwLDB4ZmUsMHgwMiB9IH0sCi17ICAxNiwgMHhmMGYwLCAwLCB7MHg3ZSwweDgwLDB4MGYsMHhlZCwweDgzLDB4MzksMHgxMCwweGZhLDB4MDAsMHgzZiwweDhjLDB4MGYsMHhhMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmMTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MTIsMHhmOCwweDkwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTEwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwNSwweDNlLDB4MDAsMHgwZSwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg4MCB9IH0sCi17ICAxNiwgMHhmMTIwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg2MCwweGY4LDB4MDAsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDgwLDB4MzIsMHg2NCB9IH0sCi17ICAxNiwgMHhmMTQwLCAwLCB7MHgwZiwweDkwLDB4NDMsMHhlNCwweDA2LDB4YzEsMHgwNCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhmMTUwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGMxLDB4MDEsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweGMwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMTcwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NTAsMHgxYiwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTgwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDIyLDB4MjQsMHgwOCwweGM5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg5OSwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMWEwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NTgsMHgwYiwweDkwLDB4MDIsMHg4NCwweDAwLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhmMWIwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHgxMCwweDBhLDB4MDQsMHgwMCwweDk5LDB4MDIsMHgyMiwweGMxLDB4MDgsMHg5MCwweDgyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhmMWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg5MSwweDAyLDB4YTAsMHhjOCB9IH0sCi17ICAxNiwgMHhmMWQwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMiwweDIwLDB4NDgsMHg5YiwweDEyLDB4MDIsMHgwNCwweDkwLDB4ODksMHgwMSB9IH0sCi17ICAxNiwgMHhmMWUwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDQsMHgwMiwweDgxLDB4MjIsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDIsMHhkYSwweDAxLDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmMjAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4YzAsMHg1MCwweDNhLDB4MDEsMHg4YiwweDg1LDB4MjMsMHhhMSwweDQ0LDB4ZTgsMHg1MCB9IH0sCi17ICAxNiwgMHhmMjEwLCAwLCB7MHhiMiwweDAwLDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0OCwweGQ4LDB4NTEsMHgzMiwweDE0LDB4MmMsMHg4NSwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhmMjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY1LDB4MDAsMHhlZCwweDAyLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhmMjMwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhmNCwweDQwLDB4ZjksMHgxMCwweDNlLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjQwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGU5LDB4MTAsMHhiZiwweDQwLDB4MGYsMHg5MCwweDAzLDB4NjYsMHgwNiB9IH0sCi17ICAxNiwgMHhmMjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4MjEsMHhjNSwweDAwLDB4MzMsMHg2OCB9IH0sCi17ICAxNiwgMHhmMjYwLCAwLCB7MHgwZiwweDlhLDB4MDMsMHg2ZiwweDg4LDB4YzksMHhjMCwweDMzLDB4NjgsMHgwYywweDllLDB4MDMsMHgyNywweDgwLDB4ZDksMHg0MCB9IH0sCi17ICAxNiwgMHhmMjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzUsMHgxMCwweGQ5LDB4ZTgsMHgzNiwweDUwLDB4MGMsMHhkMCwweDAzLDB4ZTYsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDgsMHg4OCwweDAwLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjkwLCAwLCB7MHgwYiwweDhlLDB4ODIsMHhlYiwweGM4LDB4ODgsMHhlMCwweDIyLDB4MDAsMHgyOCwweDg4LDB4NDIsMHhhMiwweDgwLDB4OGEsMHg4MCB9IH0sCi17ICAxNiwgMHhmMmEwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHhhYSwweDAyLDB4ZTIsMHgwMCwweDg4LDB4YzAsMHgyMiwweGE5LDB4MDgsMHg4YSwweDAzLDB4OGUsMHgwNCB9IH0sCi17ICAxNiwgMHhmMmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDAwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHhmMmMwLCAwLCB7MHgwYiwweDExLDB4MzIsMHg4NCwweDg0LDB4ODEsMHg2MCwweDYwLDB4NTAsMHgwOCwweDE2LDB4MDYsMHgwNSwweDAwLDB4OTEsMHgyMCB9IH0sCi17ICAxNiwgMHhmMmQwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMCwweDgyLDB4ZTQsMHgwOSwweDkxLDB4MjAsMHgyNCwweDQwLDB4MDgsMHgxMCwweGMyLDB4ZDIsMHgwMSB9IH0sCi17ICAxNiwgMHhmMmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDQsMHg4OSwweDA0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMmYwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhjNCwweDAwLDB4YTksMHgwMCwweDIyLDB4NDEsMHgwMCwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzAwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MiwweDIyLDB4ZTUsMHg4MCwweDk5LDB4MDEsMHgyMiwweDYxLDB4MDgsMHg5MCwweDAyLDB4ODYsMHgwNCB9IH0sCi17ICAxNiwgMHhmMzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNCwweGE1LDB4ODIsMHg4MSwweDkwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhmMzIwLCAwLCB7MHgwZiwweDkwLDB4MTMsMHg2NywweDAyLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MjMsMHgyNCwweDA0LDB4ZDksMHhjMCB9IH0sCi17ICAxNiwgMHhmMzMwLCAwLCB7MHhiMiwweDQwLDB4MGYsMHg5YywweDAzLDB4ZTYsMHgwMCwweGQ5LDB4MDAsMHgzNiwweDUwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhmMzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMCwweGE2LDB4ODAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhmMzUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNywweDAwLDB4ZDksMHgwMCwweGJjLDB4NDIsMHgwZiwweDkwLDB4NTMsMHhlNCwweDA0LDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhmMzYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTYsMHgwNCwweGUxLDB4MDAsMHgzZSwweDQwLDB4MmYsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgxLDB4MTAsMHg0OCwweDEwLDB4MzIsMHgwOCB9IH0sCi17ICAxNiwgMHhmMzgwLCAwLCB7MHgwYywweDgwLDB4MGYsMHgyMSwweDAyLDB4YzgsMHgwMCwweDNhLDB4MDQsMHgwZiwweDgwLDB4MDcsMHg2MCwweDAwLDB4ZjgsMHg0MCB9IH0sCi17ICAxNiwgMHhmMzkwLCAwLCB7MHhiMiwweDAwLDB4MGYsMHg4NCwweDBiLDB4MjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDEwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmM2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNCwweDI4LDB4MDQsMHg4ZSwweDgwLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHhmM2IwLCAwLCB7MHgwOCwweGEwLDB4NDIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIzLDB4YTAsMHg0YiwweGEwLDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhmM2MwLCAwLCB7MHg3NiwweDgwLDB4MGIsMHhhMCwweDAyLDB4MDgsMHgwMCwweDhhLDB4MDAsMHgzMiwweDgwLDB4MDgsMHhlMCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmM2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MiwweDAwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHhmM2UwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4OWIsMHgwMCwweDI4LDB4YzAsMHgxYSwweGIwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMiB9IH0sCi17ICAxNiwgMHhmM2YwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweGEzLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgzNCwweDgyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFjLDB4MDAsMHg4NywweDAwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhmNDEwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHgwYywweDAwLDB4OTcsMHgyMCwweDI1LDB4YzAsMHgwYiwweDcxLDB4MDIsMHhkYywweDgxLDB4YjcsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDIwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3YSwweDQyLDB4M2MsMHg4MCwweDg3LDB4MjAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDBlLDB4ODIsMHhjNywweDgwLDB4YjEsMHhlMCB9IH0sCi17ICAxNiwgMHhmNDQwLCAwLCB7MHgyYywweGZhLDB4MDYsMHgxZSwweDA4LDB4ZDMsMHhiMSwweDM5LDB4NjAsMHg0ZSwweDc4LDB4MTIsMHg1ZSwweGEwLDB4ZmYsMHhmMCB9IH0sCi17ICAxNiwgMHhmNDUwLCAwLCB7MHgyMSwweGUwLDB4MGYsMHhmOCwweDAzLDB4MWYsMHgwOCwweGUzLDB4YTAsMHgzMywweGUwLDB4MGMsMHg2OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhmNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4NDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhmNDcwLCAwLCB7MHgwZiwweGIyLDB4MDMsMHhlZCwweGE4LDB4ZWIsMHgxMCwweDNhLDB4ODAsMHgwZiwweGIwLDB4YzMsMHhlYywweDQwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDgwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDgzLDB4ZWMsMHg4MCwweGViLDB4NzAsMHhiZSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ODIsMHgwNiB9IH0sCi17ICAxNiwgMHhmNDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhjZSwweDgwLDB4YjMsMHg2MCB9IH0sCi17ICAxNiwgMHhmNGEwLCAwLCB7MHgwZiwweGZjLDB4ODMsMHg3ZSwweDIwLDB4ZWYsMHhiMCwweDNiLDB4ZTAsMHgwZiwweGI4LDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg4MSB9IH0sCi17ICAxNiwgMHhmNGIwLCAwLCB7MHgzZiwweGUwLDB4OGYsMHhmOCwweDgzLDB4ZWYsMHg0MCwweGZmLDB4YzIsMHgzMywweGUxLDB4MGMsMHhmOCwweDAzLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4ODIsMHg4NywweDE4LDB4MjEsMHg4MCB9IH0sCi17ICAxNiwgMHhmNGQwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgxYywweDYwLDB4ZDcsMHgxMCwweDIxLDB4ZDAsMHgwYiwweDdiLDB4MDIsMHgzYywweDAwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGUwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGUsMHgwMCwweGJmLDB4MDAsMHhhMywweGM0LDB4MDgsMHg3MCwweDAzLDB4YWEsMHgwNCB9IH0sCi17ICAxNiwgMHhmNGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGJjLDB4MTEsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhmNTAwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgxYywweDAwLDB4OTMsMHgyMCwweDY5LDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgyMCwweGI3LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4ODQsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGNkLDB4MDAsMHg4MywweDQwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhmNTMwLCAwLCB7MHg0YiwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4OTMsMHg4MCB9IH0sCi17ICAxNiwgMHhmNTQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMSwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDIyLDB4OTgsMHgwNCB9IH0sCi17ICAxNiwgMHhmNTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJmLDB4MjAsMHhjYSwweGMwLDB4MzIsMHg4MCB9IH0sCi17ICAxNiwgMHhmNTYwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHgzZSwweDAwLDB4OWYsMHgwMCwweDNhLDB4ODAsMHgwZiwweGYwLDB4MGIsMHgzYywweDAwLDB4Y2YsMHg5OCB9IH0sCi17ICAxNiwgMHhmNTcwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhmNiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHgzMSwweGUwLDB4MmMsMHhiMCwweDAzLDB4YWUsMHgwNCB9IH0sCi17ICAxNiwgMHhmNTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGNjLDB4ODAsMHhmYiwweDAwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhmNTkwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhhYywweDAyLDB4ZmIsMHgwMCwweDdlLDB4NTAsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWEwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMiwweDAzLDB4ZWMsMHgyMCwweGYzLDB4MDAsMHgzZSwweGM2LDB4MGYsMHg5MCwweDAzLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDIsMHhjZiwweDk4LDB4NzMsMHhjOCB9IH0sCi17ICAxNiwgMHhmNWMwLCAwLCB7MHgwZiwweDcwLDB4MDMsMHgzYywweDAwLDB4ZmYsMHgwMCwweDMzLDB4MjgsMHgwZiwweGIwLDB4MDIsMHgxYywweDAwLDB4NGYsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDEsMHgzMywweGMwLDB4MGMsMHhlNCwweDAzLDB4ZTQsMHgwNCB9IH0sCi17ICAxNiwgMHhmNWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDZjLDB4MDAsMHg4MywweDgwLDB4YTIsMHhmOCB9IH0sCi17ICAxNiwgMHhmNWYwLCAwLCB7MHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDMyLDB4MTAsMHgwZiwweGIwLDB4MDMsMHg2YywweDA0LDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjAwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDEyLDB4ZWMsMHgwNCwweGViLDB4MDAsMHgyMiwweGMwLDB4NGEsMHg5NCwweDgyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDZjLDB4MDAsMHg4YSwweDAwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjIwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweGEyLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhhYywweDAwLDB4YWIsMHgwNCB9IH0sCi17ICAxNiwgMHhmNjMwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDIyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDBjLDB4MDAsMHg4YiwweDAxLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjUwLCAwLCB7MHgwYiwweDMwLDB4MDYsMHgwYywweDAwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDMyLDB4MGEsMHhjYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjYwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDAsMHgyMiwweGMwLDB4NGEsMHgwMCwweDEyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDZjLDB4MDAsMHg4YiwweDA0LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhmNjgwLCAwLCB7MHgwZiwweGYxLDB4MDMsMHgxYywweDAwLDB4ZmYsMHgwNCwweDMyLDB4YzAsMHgwYiwweGYyLDB4MDMsMHhiYywweDAwLDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjkwLCAwLCB7MHgzZSwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MDAsMHhiMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4ZTAsMHgwMyB9IH0sCi17ICAxNiwgMHhmNmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGRjLDB4MDAsMHhmNSwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhmNmIwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmYywweDAxLDB4ZmYsMHgwMiwweDNiLDB4YzAsMHgwZiwweGYxLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhmNmMwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmMCwweDEzLDB4ZmMsMHg0MCwweGVmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhmNmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGYyLDB4NDAsMHhjYywweDgwLDB4MzcsMHgyMCB9IH0sCi17ICAxNiwgMHhmNmUwLCAwLCB7MHgwYywweGQ4LDB4MDMsMHhiMCwweDQ0LDB4ZmMsMHgwOCwweDNmLDB4MGUsMHgwZiwweGMxLDB4MDMsMHhmYywweDAwLDB4Y2MsMHg5NCB9IH0sCi17ICAxNiwgMHhmNmYwLCAwLCB7MHgzZiwweDBhLDB4MmUsMHhjNCwweDAzLDB4N2QsMHg4MCwweGNmLDB4MTAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDgzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzAwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwOCwweGUwLDB4OTAsMHg4OCwweDAyLDB4MjIsMHg4MSB9IH0sCi17ICAxNiwgMHhmNzEwLCAwLCB7MHgwOCwweDkyLDB4MTMsMHhhNCwweDQwLDB4M2IsMHg2MCwweDIyLDB4MTgsMHgwYiwweDgxLDB4MDIsMHhmYywweGQ0LDB4ODEsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzIwLCAwLCB7MHgzYSwweGIwLDB4MGEsMHg5NCwweDAyLDB4M2QsMHg0MCwweGFmLDB4NjMsMHgyZiwweGRmLDB4MGIsMHg5OCwweDAwLDB4MjAsMHgwNCB9IH0sCi17ICAxNiwgMHhmNzMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGUwLDB4MDAsMHg4OCwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhmNzQwLCAwLCB7MHg4OCwweDMwLDB4ODIsMHhjMCwweDAwLDB4YjAsMHgwOCwweDI4LDB4ODAsMHgwYSwweDEwLDB4MDIsMHhjYywweDIwLDB4ODAsMHgwMSB9IH0sCi17ICAxNiwgMHhmNzUwLCAwLCB7MHgyYywweDQwLDB4MWIsMHgwNiwweDAyLDB4OGMsMHg5MCwweDkzLDB4NjAsMHg2OCwweGMwLDB4NGEsMHgwMCwweDQyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhmNzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGEwLDB4MDIsMHg4OCwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhmNzcwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhlNCwweDIwLDB4YmIsMHg4OCwweDI2LDB4OTgsMHgwYiwweDgwLDB4NDIsMHhjYywweDE4LDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzgwLCAwLCB7MHgyZSwweGMyLDB4MWIsMHg5OCwweDAyLDB4YWMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg5OCwweDgyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhmNzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGUzLDB4YzAsMHhjYiwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2EwLCAwLCB7MHgyYywweDgwLDB4MDMsMHhhZSwweDA4LDB4YjksMHgwMCwweDNlLDB4NzAsMHgwZiwweGI5LDB4MDMsMHhlYywweDAyLDB4NDgsMHg0OCB9IH0sCi17ICAxNiwgMHhmN2IwLCAwLCB7MHgzYywweGMwLDB4MGYsMHg4YywweDkzLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgxYSwweGMwLDB4MGUsMHhhYywweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhmN2MwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGIyLDB4MDAsMHhmZiwweDAwLDB4YmIsMHg4MCB9IH0sCi17ICAxNiwgMHhmN2QwLCAwLCB7MHgwZiwweGMwLDB4NDMsMHhiNiwweDQwLDB4YmQsMHgwMCwweDNiLDB4NjAsMHgwZiwweGU4LDB4MDMsMHhmYywweDAwLDB4ZmYsMHg5NCB9IH0sCi17ICAxNiwgMHhmN2UwLCAwLCB7MHgzYiwweGU0LDB4MGUsMHg2MCwweDBmLDB4NmMsMHgwOCwweGVmLDB4MDEsMHgzZiwweGMwLDB4MGYsMHg2MCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2YwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGExLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg2MCB9IH0sCi17ICAxNiwgMHhmODAwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhlZCwweDAwLDB4ZjksMHg0MCwweDNhLDB4MDAsMHgwZiwweDkwLDB4MDMsMHhlYywweDAyLDB4YzksMHgwNCB9IH0sCi17ICAxNiwgMHhmODEwLCAwLCB7MHgzMiwweGQwLDB4MGYsMHg5MCwweDAzLDB4MmMsMHgwOCwweGRiLDB4MDAsMHhiNiwweGMwLDB4MGQsMHhiNCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhmODIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDAwLDB4MDAsMHhiMywweDg5LDB4MmUsMHhlMCB9IH0sCi17ICAxNiwgMHhmODMwLCAwLCB7MHgwYiwweGE0LDB4MDMsMHhhNCwweDAxLDB4YjksMHgwMCwweDJlLDB4MDEsMHgwYiwweDkwLDB4NDIsMHhmYywweDEwLDB4ODksMHg1MCB9IH0sCi17ICAxNiwgMHhmODQwLCAwLCB7MHhhMiwweGMwLDB4OGQsMHhiNCwweDAyLDB4M2MsMHg0NCwweDhmLDB4MDAsMHgyMywweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHhmODUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDBjLDB4MDAsMHhiMCwweDgwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHhmODYwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHhjOCwweDAwLDB4YmEsMHgwMCwweDJjLDB4YzAsMHgwYiwweDIwLDB4MDIsMHhjYywweDAwLDB4YTIsMHgwMCB9IH0sCi17ICAxNiwgMHhmODcwLCAwLCB7MHgyMCwweDAwLDB4MmIsMHgyZCwweDlhLDB4MmUsMHg0MiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgyMCwweDAyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmODgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDFlLDB4MDQsMHhiNCwweDgwLDB4MmQsMHhhMCB9IH0sCi17ICAxNiwgMHhmODkwLCAwLCB7MHgwYiwweDU4LDB4MDIsMHg5MiwweDAwLDB4YjYsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDY4LDB4MDIsMHhkZSwweDQwLDB4YTYsMHg4MCB9IH0sCi17ICAxNiwgMHhmOGEwLCAwLCB7MHgyMSwweDI0LDB4MjksMHg0OCwweDAyLDB4MWUsMHg4MCwweDg3LDB4ODAsMHg2OSwweGUwLDB4MDgsMHg2MSwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGIwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxOCwweDBjLDB4MDAsMHhmMCwweDMwLDB4M2MsMHg0YyB9IH0sCi17ICAxNiwgMHhmOGMwLCAwLCB7MHgwZiwweDMyLDB4MDMsMHhjOCwweDgwLDB4YjIsMHgwMCwweDM4LDB4ODAsMHgwZiwweDFiLDB4MDMsMHhlYywweDAwLDB4ZTAsMHgzMCB9IH0sCi17ICAxNiwgMHhmOGQwLCAwLCB7MHgzMCwweDA0LDB4MGYsMHhiMSwweDAzLDB4MGUsMHg4NSwweGNiLDB4MDAsMHgzYSwweGMwLDB4MGMsMHgzMSwweDAzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxYywweGJjLDB4MDAsMHhmYywweDExLDB4M2YsMHhjNCB9IH0sCi17ICAxNiwgMHhmOGYwLCAwLCB7MHgwZiwweGI4LDB4MTMsMHhiMCwweDA0LDB4ZmUsMHgwMiwweDNmLDB4ODAsMHgwZiwweGMwLDB4MDMsMHhmZCwweDAwLDB4ZGYsMHgxMiB9IH0sCi17ICAxNiwgMHhmOTAwLCAwLCB7MHgxZCwweDA0LDB4MGYsMHhkMCwweDQzLDB4YmMsMHgwMSwweGVmLDB4MTAsMHgzMywweGM0LDB4MGUsMHhmMywweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhmOTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGVlLDB4MDAsMHhjYiwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgyOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4NDAsMHgzZCwweGIwLDB4MDMsMHhlZiwweDA4LDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhmOTMwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHhhMCwweDAzLDB4ZWMsMHg5OCwweGZiLDB4MjAsMHgzMiwweGQyLDB4MGMsMHhhOCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhmOTQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAxLDB4MmQsMHg4MCB9IH0sCi17ICAxNiwgMHhmOTUwLCAwLCB7MHgwYiwweDQwLDB4NDIsMHgxYywweDA0LDB4MzcsMHgwMCwweGExLDB4NDAsMHgwOCwweDYwLDB4MDIsMHhjYywweDgwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTYwLCAwLCB7MHgyZCwweDgwLDB4MmUsMHg3MCwweDAyLDB4ZGMsMHhhOSwweGI3LDB4MjgsMHgyMSwweGQwLDB4MDgsMHg3MCwweDAyLDB4MTIsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweGJlLDB4MDIsMHg4NywweDgwLDB4MmQsMHg2MCB9IH0sCi17ICAxNiwgMHhmOTgwLCAwLCB7MHg0YiwweGU4LDB4MDIsMHg1YSwweDAxLDB4YjQsMHg4OCwweDI4LDB4ZTAsMHg4OCwweDc4LDB4YzIsMHhkZSwweDUyLDB4ODYsMHhjMCB9IH0sCi17ICAxNiwgMHhmOTkwLCAwLCB7MHgyOSwweDYwLDB4MDgsMHg2OCwweDAyLDB4ZGUsMHg0MCwweGIzLDB4OTIsMHhlMSwweGU4LDB4MjgsMHgyOCwweDAyLDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxNCwweGNjLDB4MDAsMHg4YiwweDgwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhmOWIwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHg0ZCwweDgwLDB4OWIsMHgyMCwweDIwLDB4ZTAsMHgwOCwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhmOWMwLCAwLCB7MHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4Y2MsMHgwOCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMSwweDAyLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHhmOWQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhjYSwweGUwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhmOWUwLCAwLCB7MHgxZiwweGE0LDB4MGIsMHg3OSwweDAwLDB4ZmUsMHgwMCwweDNmLDB4ODIsMHgxZCwweGUwLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHg0MCB9IH0sCi17ICAxNiwgMHhmOWYwLCAwLCB7MHgzYiwweDg4LDB4MmMsMHhlNCwweDAzLDB4ZTgsMHgwMSwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlOCwweDAzLDB4N2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmYTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweGEwLDB4MDAsMHhmOCwweDA5LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTEwLCAwLCB7MHg4ZiwweGMwLDB4ODMsMHhhMCwweDE4LDB4ZjgsMHgwMCwweDNjLDB4MjAsMHgwZiwweDg4LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwOCB9IH0sCi17ICAxNiwgMHhmYTIwLCAwLCB7MHgzZSwweDIwLDB4MGUsMHg4MCwweDgzLDB4ZTEsMHgwMSwweGYwLDB4MDAsMHgzYywweDAwLDB4MGYsMHg4MCwweDBiLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDQyLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhmYTQwLCAwLCB7MHg0YywweDk4LDB4MDMsMHgwNCwweDAwLDB4YzksMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHgyNCwweDAwLDB4YjksMHg4MSB9IH0sCi17ICAxNiwgMHhmYTUwLCAwLCB7MHgzYywweDQwLDB4MGMsMHg5MiwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDUsMHgzMiwweDQwLDB4NmMsMHg5MCwweGMzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmYTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDI0LDB4MTQsMHhiOSwweDAwLDB4YTIsMHg1NCB9IH0sCi17ICAxNiwgMHhmYTcwLCAwLCB7MHgwOCwweDliLDB4MWEsMHgyNCwweDAyLDB4ODksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHg5MCB9IH0sCi17ICAxNiwgMHhmYTgwLCAwLCB7MHgyZSwweDQwLDB4MjgsMHg5YywweDgyLDB4MjUsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5OCwweDEyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTkwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhhZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHhmYWEwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHg2NCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhmYWIwLCAwLCB7MHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjUsMHgwMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MSwweDA2LDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDE0LDB4MDAsMHhiNSwweDEwLDB4YTEsMHg0NCB9IH0sCi17ICAxNiwgMHhmYWQwLCAwLCB7MHgyOCwweDUwLDB4MDIsMHg0NCwweDgwLDB4ODEsMHgzMCwweDIwLDB4NDgsMHgwOCwweDEyLDB4MDIsMHg4NCwweDQwLDB4YjEsMHg4MCB9IH0sCi17ICAxNiwgMHhmYWUwLCAwLCB7MHg2YywweGM4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHg4MCwweGIxLDB4MzQsMHgyMCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhlOCwweDQwLDB4MzIsMHg5MCB9IH0sCi17ICAxNiwgMHhmYjAwLCAwLCB7MHgwYywweGM1LDB4MDMsMHg2MSwweDQwLDB4YzAsMHg0MCwweDNhLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgyMSwweGIwLDB4ZjgsMHg1MCB9IH0sCi17ICAxNiwgMHhmYjEwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4NDAsMHhiMCwweDE0LDB4MGMsMHg4MCwweDAzLDB4ZWUsMHgwMSB9IH0sCi17ICAxNiwgMHhmYjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgxZCwweGM0LDB4MDQsMHhmOSwweDIyLDB4MGUsMHg0OCB9IH0sCi17ICAxNiwgMHhmYjMwLCAwLCB7MHgwZiwweDEwLDB4MTMsMHhiNCwweDQwLDB4ZmQsMHgzMCwweDNmLDB4NDQsMHg0ZiwweGQxLDB4MDAsMHhlNCwweDg0LDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhmYjQwLCAwLCB7MHgzZCwweDQ0LDB4MGYsMHhkMSwweDBiLDB4ZTQsMHg0MCwweGY5LDB4MzAsMHgzZSwweDQ0LDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNCB9IH0sCi17ICAxNiwgMHhmYjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweGU0LDB4MDAsMHhkZCwweDQwLDB4M2YsMHg1MCB9IH0sCi17ICAxNiwgMHhmYjYwLCAwLCB7MHgwYywweGQwLDB4MDMsMHgyYywweDAwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDkwLDB4MTMsMHgyNywweDA0LDB4ZjUsMHgwMSB9IH0sCi17ICAxNiwgMHhmYjcwLCAwLCB7MHgzNywweDQwLDB4MGMsMHhmMCwweDAzLDB4ZjYsMHgyMCwweGY5LDB4YTgsMHgzMiwweDY4LDB4MGMsMHhkMCwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjgwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweGUwLDB4MDAsMHg4OCwweGEwLDB4MmUsMHgyOCB9IH0sCi17ICAxNiwgMHhmYjkwLCAwLCB7MHgyOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODgsMHhhMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4MGEsMHg2MiwweDgwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmEwLCAwLCB7MHgyMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTEsMHgwMCwweGI4LDB4ZTAsMHgyMiwweDNhLDB4MDgsMHhhMCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhmYmIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDIsMHg4MSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhmYmMwLCAwLCB7MHgwOCwweDEwLDB4MGEsMHg0NCwweDAyLDB4ODEsMHgwOCwweDI0LDB4NDAsMHgwYSwweDEwLDB4MDIsMHg0NSwweDgwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhmYmQwLCAwLCB7MHgyNCwweDQwLDB4MjksMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MDgsMHgyNCwweDQ0LDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhmYmUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNCwweGE0LDB4MDQsMHg4OSwweDAxLDB4MmUsMHg1MCB9IH0sCi17ICAxNiwgMHhmYmYwLCAwLCB7MHg0OCwweGIyLDB4MDIsMHg2NCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDYsMHgwYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhmYzAwLCAwLCB7MHgyNiwweGMwLDB4MDksMHhiMCwweDEyLDB4ZTQsMHgwMCwweGIxLDB4MDAsMHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhmYzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNCwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHhmYzIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAwLDB4YzksMHgwMiwweDM2LDB4NTAsMHgwZSwweDkzLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg5MCB9IH0sCi17ICAxNiwgMHhmYzMwLCAwLCB7MHgzNiwweDQ4LDB4MGQsMHg5NCwweDgzLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHhiNiwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhmYzQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGE0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhmYzUwLCAwLCB7MHgwZiwweDkwLDB4MTMsMHhhNCwweDAwLDB4ZTksMHgwMiwweDJlLDB4NjEsMHgwNSwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhmYzYwLCAwLCB7MHgzYSwweDQwLDB4MGUsMHg5MCwweDQzLDB4ZTQsMHgxMCwweGY5LDB4MDAsMHgzOCwweDQwLDB4MmYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzcwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAxLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmYzgwLCAwLCB7MHgwZiwweDgwLDB4NDMsMHhjMCwweDAxLDB4YzgsMHgwMCwweGIyLDB4MDEsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHg0MCB9IH0sCi17ICAxNiwgMHhmYzkwLCAwLCB7MHgzMCwweDAwLDB4OGMsMHg4NCwweDgzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4NmMsMHg4NCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhmY2EwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHhmY2IwLCAwLCB7MHgwYiwweGVhLDB4MDIsMHhlOCwweDAwLDB4YWEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODYsMHgyMCB9IH0sCi17ICAxNiwgMHhmY2MwLCAwLCB7MHgzNywweGEwLDB4OGQsMHhlNCwweDAyLDB4ZjgsMHgwMCwweGRhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhmY2UwLCAwLCB7MHgwYiwweGI4LDB4MDIsMHg0YywweDA0LDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2YwLCAwLCB7MHgyMCwweDQwLDB4MjgsMHgzNCwweDAyLDB4Y2UsMHg5MCwweDgzLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFjLDB4YzAsMHhiNSwweDg4LDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHhmZDEwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhkYywweDgwLDB4YTMsMHgyMCwweDIxLDB4ZTAsMHg0OCwweDMyLDB4NDIsMHgwZSwweDkwLDB4OGUsMHgwMSB9IH0sCi17ICAxNiwgMHhmZDIwLCAwLCB7MHg2NSwweDUwLDB4MDksMHg3MCwweDAyLDB4ZGUsMHgyMCwweDkzLDB4MjEsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxOCwweDFlLDB4MDAsMHhmZiwweDgwLDB4YjEsMHhhMCB9IH0sCi17ICAxNiwgMHhmZDQwLCAwLCB7MHgwZiwweDQ4LDB4MDIsMHg3ZSwweDAwLDB4ODcsMHhhMCwweDMzLDB4ZTAsMHgyOCwweDdhLDB4MGIsMHgxZiwweDAwLDB4YzQsMHg4MCB9IH0sCi17ICAxNiwgMHhmZDUwLCAwLCB7MHgzMSwweDYwLDB4OGMsMHg1OCwweDAzLDB4ZmUsMHgwMCwweGM3LDB4YzgsMHgzMywweGU4LDB4MGMsMHg1OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDcwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlYywweGEwLDB4ZmIsMHg0MCwweDNlLDB4YzAsMHg4ZiwweGI1LDB4MDMsMHhlZCwweDgwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDgwLCAwLCB7MHgzYywweDQwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MDIsMHgzZSwweGQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhmZDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgwNCwweGJlLDB4MDAsMHhmZiwweDgwLDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhmZGEwLCAwLCB7MHgwZiwweGQ5LDB4MDMsMHhmZSwweDIwLDB4Y2YsMHhjOCwweDMzLDB4ZWEsMHg4ZiwweGZjLDB4MDMsMHgzZiwweDAwLDB4ZmQsMHg4MCB9IH0sCi17ICAxNiwgMHhmZGIwLCAwLCB7MHgzZiwweDYwLDB4MGUsMHhlOCwweDAzLDB4ZjIsMHgwMCwweGNmLDB4ODAsMHgyZiwweGZlLDB4MGMsMHg3OCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGMwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwMCwweDljLDB4MDAsMHhiNSwweDAyLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhmZGQwLCAwLCB7MHgwYiwweDU4LDB4NDIsMHhkYywweDgwLDB4Y2YsMHgwMCwweDIxLDB4YzEsMHgwYiwweDMwLDB4MTIsMHgxYywweDQwLDB4YjQsMHgwMiB9IH0sCi17ICAxNiwgMHhmZGUwLCAwLCB7MHgyZCwweDQ2LDB4MDgsMHg3MSwweDEyLDB4YzgsMHgwMCwweGU3LDB4MDAsMHgyZCwweGM0LDB4MDgsMHg3MCwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhmZGYwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDAwLDB4MmQsMHgwMiB9IH0sCi17ICAxNiwgMHhmZTAwLCAwLCB7MHgwYiwweDQ2LDB4MDIsMHhkYywweDA4LDB4OTcsMHgwMCwweDIxLDB4YzksMHgwYSwweDMwLDB4MjIsMHgxYywweDAwLDB4YjQsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTEwLCAwLCB7MHgyZCwweDQwLDB4MGEsMHg1MCwweDgyLDB4YzQsMHgwMCwweGI3LDB4MDAsMHgyYywweGM4LDB4MjgsMHg1MCwweDAyLDB4NDAsMHgxMCB9IH0sCi17ICAxNiwgMHhmZTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNCwweDhjLDB4MTgsMHhiMywweDAwLDB4MmUsMHgyMCB9IH0sCi17ICAxNiwgMHhmZTMwLCAwLCB7MHgwYiwweDE4LDB4MDIsMHhjZiwweDRhLDB4ODMsMHhjMiwweDIwLDB4YzEsMHgwYiwweDM0LDB4MjIsMHgwYywweDA0LDB4YjgsMHg1OCB9IH0sCi17ICAxNiwgMHhmZTQwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgyOCwweDAyLDB4YzgsMHgwMCwweGEzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgxNCwweDAyLDB4NDgsMHgwNCB9IH0sCi17ICAxNiwgMHhmZTUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGJjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhmZTYwLCAwLCB7MHgwZiwweGEwLDB4MDIsMHhmYywweDAwLDB4ZGYsMHhhMCwweGIzLDB4YzAsMHgwZSwweGYwLDB4MGIsMHgzYywweDAwLDB4ZmIsMHhjMCB9IH0sCi17ICAxNiwgMHhmZTcwLCAwLCB7MHgzYywweGEwLDB4MGUsMHhiZCwweDAzLDB4ZWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGMsMHgzMCwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHhmZTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHgwMSB9IH0sCi17ICAxNiwgMHhmZTkwLCAwLCB7MHg4ZiwweGIxLDB4NDMsMHhlYywweDAwLDB4ZjMsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MTMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWEwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHg4NCwweDAzLDB4ZTEsMHgwMCwweDczLDB4MDAsMHgzZSwweGMxLDB4MGYsMHhiMiwweDQzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWIwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg1MCwweGZjLDB4MTAsMHhmZiwweDgwLDB4MzcsMHhjMCB9IH0sCi17ICAxNiwgMHhmZWMwLCAwLCB7MHgwYywweGUwLDB4MDMsMHhmYywweDIwLDB4ZmYsMHgwOCwweDMzLDB4YzAsMHgwZiwweGYwLDB4ODMsMHhiYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWQwLCAwLCB7MHgzMywweGMwLDB4MmUsMHg0MCwweDAzLDB4MWMsMHgwMSwweGNmLDB4MDAsMHgxMSwweGMwLDB4NGMsMHhkMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhmZWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDQsMHhiMywweDAyLDB4MjIsMHg3MiB9IH0sCi17ICAxNiwgMHhmZWYwLCAwLCB7MHgwOCwweGExLDB4MTYsMHhlYywweDAwLDB4YmIsMHgwNCwweDIyLDB4YzAsMHgwYiwweGIwLDB4NDIsMHhlYywweDAwLDB4YmEsMHgxOSB9IH0sCi17ICAxNiwgMHhmZjAwLCAwLCB7MHhiNiwweGQwLDB4MDgsMHg5YywweDRhLDB4MjYsMHg4MCwweGRiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHhmZjEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOSwweDEwLDB4NjIsMHgyMCB9IH0sCi17ICAxNiwgMHhmZjIwLCAwLCB7MHg0OCwweGEwLDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCwweDIyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlYywweDEwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjMwLCAwLCB7MHg2NiwweDA4LDB4MGEsMHhhOCwweDEyLDB4MjYsMHgxMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MjgsMHhiMCwweDI2LDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDBjLDB4MDAsMHhiOSwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjUwLCAwLCB7MHgwOCwweDMyLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHg0YiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjYwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDkzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDA2LDB4NDIsMHgxMSB9IH0sCi17ICAxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxYywweDZjLDB4MDAsMHhmOSwweDAwLDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhmZjgwLCAwLCB7MHgwYywweDgyLDB4MDIsMHhkYywweDAxLDB4ZmYsMHgwMCwweGIyLDB4YzAsMHgwYiwweGYxLDB4MDMsMHhiYywweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhmZjkwLCAwLCB7MHgyNiwweDQwLDB4MmUsMHg4MCwweDAzLDB4MjEsMHgwNCwweGNmLDB4MDAsMHhiYiwweGMwLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhmZmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhmZmIwLCAwLCB7MHgwZiwweDgxLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmMwLCAwLCB7MHgyZCwweDQwLDB4MmYsMHhjMCwweDAzLDB4ZjAsMHg4OCwweGZmLDB4MDAsMHgzNywweGMwLDB4OGYsMHhkMCwweDAzLDB4ZTgsMHgwMiB9IH0sCi17ICAxNiwgMHhmZmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4NDAsMHhmZiwweDgwLDB4MzMsMHhjMiB9IH0sCi17ICAxNiwgMHhmZmUwLCAwLCB7MHgwYywweGY4LDB4MDMsMHg3YywweGEwLDB4ZmYsMHg5MCwweDNmLDB4YzQsMHgyYywweGI0LDB4MDMsMHhiYywweDgwLDB4Y2YsMHg0MCB9IH0sCi17ICAxNiwgMHhmZmYwLCAwLCB7MHgzNywweGUwLDB4MGYsMHhmMSwweDkzLDB4NmUsMHg0NCwweGJmLDB4MzAsMHgzZiwweDIwLDB4MmMsMHhmOCwweDYzLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MDEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4MDAsMHhlYiwweDIwLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHg4MDIwLCAwLCB7MHgwOCwweGI4LDB4NTIsMHgzZCwweDAwLDB4YjMsMHgwMCwweDJlLDB4ZGMsMHgwOCwweGY0LDB4NDIsMHgxYywweDQyLDB4OGIsMHg0MCB9IH0sCi17ICAxNiwgMHg4MDMwLCAwLCB7MHgyMiwweGM4LDB4MGIsMHhmNiwweDAzLDB4NmMsMHg4OCwweGJiLDB4MzAsMHgyZSwweDAwLDB4MDgsMHhiMiwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiYiwweDA4LDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MDUwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHg0YywweGEwLDB4YjMsMHgyMCwweDI2LDB4ODAsMHg4OCwweDM2LDB4MDIsMHhjYywweGEwLDB4OTMsMHg2MCB9IH0sCi17ICAxNiwgMHg4MDYwLCAwLCB7MHhhNCwweGMyLDB4MGEsMHgzMiwweDQyLDB4NGMsMHg5MCwweGIzLDB4MjAsMHgyYywweDBiLDB4ODgsMHgzMCwweDgyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg4MDcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDgsMHhiYiwweDIyLDB4YTIsMHhjMCB9IH0sCi17ICAxNiwgMHg4MDgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4OTAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4OWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDkwLCAwLCB7MHgyMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4NmMsMHgwMCwweGJiLDB4MDIsMHgyZSwweDIwLDB4MDgsMHhiMCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhiMSwweDgzLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg4MGIwLCAwLCB7MHgwYywweDFhLDB4MDMsMHg2YywweDEwLDB4ZmIsMHgwMCwweDM0LDB4YzAsMHgwYywweGIwLDB4MDMsMHhlYywweDA4LDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGMwLCAwLCB7MHgzNiwweGMwLDB4MGUsMHhiMCwweDBiLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDI4LDB4MGMsMHhiMCwweDAyLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZCwweDgwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg4MGUwLCAwLCB7MHgwZiwweGQ0LDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzgsMHgwZiwweGIwLDB4MDMsMHgzYywweDAwLDB4ZWUsMHg0MCB9IH0sCi17ICAxNiwgMHg4MGYwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDIwLDB4YjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MTEwLCAwLCB7MHgwZiwweGI0LDB4MDMsMHhhYywweDAyLDB4Y2IsMHgwMCwweDMyLDB4OTAsMHgwZSwweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTIwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDkxLDB4MGYsMHhiMCwweDAzLDB4OTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiYiwweDgwLDB4MjMsMHhkNyB9IH0sCi17ICAxNiwgMHg4MTQwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgzYywweDE0LDB4OGIsMHgwMCwweDZhLDB4MDgsMHgyOCwweGYwLDB4MDAsMHhiYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTUwLCAwLCB7MHhiZSwweGMwLDB4ODgsMHhmMCwweDEzLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgyZSwweDgwLDB4MGIsMHhiMCwweDA3LDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDQwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHg4MTcwLCAwLCB7MHgwYiwweDI4LDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMSwweDIwLDB4YzAsMHgxYSwweGI4LDB4MDAsMHg2YywweDEwLDB4YTEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTgwLCAwLCB7MHg2OCwweGMwLDB4MmEsMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDIsMHgyZSwweDAwLDB4NGIsMHgzMCwweDAyLDB4ZjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4MTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDAsMHhiNywweGEwLDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg4MWEwLCAwLCB7MHgwYiwweGVjLDB4YzIsMHgxZSwweDA0LDB4ODcsMHg4MCwweDI5LDB4ZTQsMHgwOCwweDc5LDB4ODIsMHg5ZSwweDQwLDB4YWYsMHg5MCB9IH0sCi17ICAxNiwgMHg4MWIwLCAwLCB7MHgyOSwweGUwLDB4MGEsMHgzOCwweDAwLDB4MWUsMHgwMCwweGE3LDB4OTAsMHgyZCwweDI0LDB4MGIsMHg3OCwweDAyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NTAsMHhmYiwweDA5LDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MWQwLCAwLCB7MHgwZiwweDIwLDB4MDIsMHg4YywweDQwLDB4YzMsMHgwMCwweDIwLDB4YzAsMHgwYSwweDM4LDB4MDMsMHg0YywweDQ0LDB4ZTEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWUwLCAwLCB7MHhhYSwweGMwLDB4MGUsMHgzMSwweDQzLDB4OGUsMHgwMCwweGYzLDB4MDAsMHgzYywweDAwLDB4MGYsMHgzMCwweDAzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHg4MWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0ZCwweGJjLDB4MDAsMHhmZiwweDIwLDB4M2YsMHhkMCB9IH0sCi17ICAxNiwgMHg4MjAwLCAwLCB7MHg0ZiwweDcwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZiwweGYzLDB4NDMsMHhmYywweDQwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjEwLCAwLCB7MHhiZiwweGMwLDB4MGQsMHhmNCwweGMzLDB4ZmMsMHg0MCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4MjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4MzIsMHhkMCB9IH0sCi17ICAxNiwgMHg4MjMwLCAwLCB7MHgwZCwweDkwLDB4MDEsMHhlZCwweGMwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgxZiwweGJhLDB4MDMsMHhhYywweGMwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjQwLCAwLCB7MHgzMiwweGUwLDB4OGQsMHhiNCwweDQzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzNiwweGEwLDB4MGMsMHhiMCwweDAzLDB4NmEsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjOCB9IH0sCi17ICAxNiwgMHg4MjYwLCAwLCB7MHgwOCwweDYwLDB4MDIsMHhkYywweDIwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwZiwweDc0LDB4YTIsMHgxYywweDI4LDB4ZDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjcwLCAwLCB7MHgzNSwweGMwLDB4MDgsMHg3MiwweDAyLDB4NWMsMHgwOCwweGI3LDB4NDQsMHhhMSwweDgwLDB4NDgsMHg3MCwweDAyLDB4MTIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDgwLDB4MjAsMHhlNCB9IH0sCi17ICAxNiwgMHg4MjkwLCAwLCB7MHgwOSwweDc4LDB4MjYsMHhkZSwweDAwLDB4YjcsMHg4MCwweDJkLDB4ZTIsMHgwYSwweDcwLDB4MTIsMHg4YywweDg4LDB4ODEsMHg4MCB9IH0sCi17ICAxNiwgMHg4MmEwLCAwLCB7MHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZGUsMHgwMCwweGIzLDB4YTAsMHgyNSwweGEwLDB4MjgsMHg3OCwweDAyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHg4MmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDEsMHhiYiwweDgwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg4MmMwLCAwLCB7MHgwOCwweDMwLDB4NDIsMHhlYywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MjIsMHgwYywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmQwLCAwLCB7MHgyNCwweGMxLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHhiMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHg4MmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDA4LDB4YjIsMHg4MCB9IH0sCi17ICAxNiwgMHg4MmYwLCAwLCB7MHgwZCwweGUyLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNmLDB4ODAsMHgwYSwweGEwLDB4MDMsMHhhOCwweDAwLDB4Y2UsMHg1MCB9IH0sCi17ICAxNiwgMHg4MzAwLCAwLCB7MHgzMiwweDgwLDB4MDUsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzNywweGE4LDB4MGMsMHhhMCwweDAzLDB4N2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDYwLDB4MDgsMHhmOCwweDAwLDB4M2MsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzIwLCAwLCB7MHgwZiwweDg4LDB4MDEsMHhlMCwweDAwLDB4ZjgsMHgwNCwweDNjLDB4MDAsMHg0ZiwweDAwLDB4MTMsMHhjMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzMwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4NjAsMHgwMCwweGY4LDB4MDIsMHgzZSwweDAxLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDkwLDB4MTIsMHg0MCB9IH0sCi17ICAxNiwgMHg4MzUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NzAsMHgwZSwweDk0LDB4MzMsMHgyNCwweDA4LDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg4MzYwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQyLDB4MjIsMHg2MCB9IH0sCi17ICAxNiwgMHg4MzgwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMywweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAxLDB4ODEsMHgwNCB9IH0sCi17ICAxNiwgMHg4MzkwLCAwLCB7MHgzZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDIsMHgyMiwweDQwLDB4MGUsMHg5MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDQwLDB4MmEsMHg0YSB9IH0sCi17ICAxNiwgMHg4M2IwLCAwLCB7MHgwOCwweDkxLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MGEsMHgyNCwweDA0LDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHg4M2MwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGIxLDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDAxLDB4YTgsMHg0OCB9IH0sCi17ICAxNiwgMHg4M2UwLCAwLCB7MHg4OCwweDkwLDB4MDIsMHgwNCwweDgwLDB4ODEsMHg0MCwweDJjLDB4NTAsMHgxOCwweDE0LDB4MGEsMHg4NCwweDEwLDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHg4M2YwLCAwLCB7MHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweDMxLDB4MjAsMHgyMCwweDQwLDB4MGEsMHgxMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmMCwweDUwLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDEwLCAwLCB7MHgyYywweGEwLDB4MDIsMHhhMSwweDQyLDB4YzgsMHgwMCwweDNlLDB4MDAsMHhkZSwweDAwLDB4MjMsMHgyMSwweDQyLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDIwLCAwLCB7MHgzOCwweDE0LDB4MGYsMHg4NSwweDAzLDB4ZTEsMHg0MCwweGY4LDB4NTAsMHgzOCwweDE0LDB4MGYsMHgwNSwweDAzLDB4MmUsMHgwMSB9IH0sCi17ICAxNiwgMHg4NDMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGU0LDB4MDgsMHhmZCwweDAwLDB4MzYsMHg0NCB9IH0sCi17ICAxNiwgMHg4NDQwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHg2NCwweDQwLDB4ZjksMHgwMCwweDNkLDB4NTAsMHgwZiwweDk0LDB4MDMsMHhlNSwweDAwLDB4N2QsMHg0MCB9IH0sCi17ICAxNiwgMHg4NDUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTYsMHgwNCB9IH0sCi17ICAxNiwgMHg4NDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmZCwweDQwLDB4MzMsMHg2OCB9IH0sCi17ICAxNiwgMHg4NDcwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhlNywweDgxLDB4ZjksMHgwMCwweDMzLDB4NzgsMHgwZCwweGQ4LDB4MTMsMHgyNiwweGEwLDB4Y2QsMHhhMCB9IH0sCi17ICAxNiwgMHg4NDgwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHg5YiwweDAzLDB4MjQsMHgwMCwweGY5LDB4YTAsMHgzYywweDQ0LDB4MmMsMHg5MCwweDA3LDB4ODYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUwLDB4MDAsMHhiOCwweGEwLDB4YTIsMHgxMCB9IH0sCi17ICAxNiwgMHg4NGEwLCAwLCB7MHgxOCwweDgwLDB4MDMsMHg4MiwweDg0LDB4YjgsMHg4MCwweDM2LDB4MmMsMHgyZSwweDBmLDB4MDIsMHhhMywweGEwLDB4ZDgsMHhlMCB9IH0sCi17ICAxNiwgMHg4NGIwLCAwLCB7MHgzNiwweDIyLDB4OGIsMHgwOCwweDAzLDB4NDIsMHhhMCwweGY4LDB4ZTAsMHgyZSwweDI4LDB4MDgsMHg4OCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg4NGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4YTAsMHg1MCB9IH0sCi17ICAxNiwgMHg4NGQwLCAwLCB7MHgyOCwweDMwLDB4MDIsMHhjNSwweDgwLDB4YjEsMHgwOCwweDIwLDB4NDAsMHgwOSwweDEwLDB4YTIsMHg0NCwweDA4LDB4ODEsMHg0OCB9IH0sCi17ICAxNiwgMHg4NGUwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxNCwweDAyLDB4MDQsMHg4MCwweGIxLDB4MzgsMHgyYywweDQ4LDB4MDgsMHgxMiwweDgyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHg4NGYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTAwLCAwLCB7MHgwOCwweDkyLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMiwweDI2LDB4NTgsMHg0YSwweDkwLDB4MDIsMHhlNCwweDA4LDB4OTksMHg0MCB9IH0sCi17ICAxNiwgMHg4NTEwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4NjQsMHgwOCwweGI5LDB4MDEsMHgyYywweDQ4LDB4MDgsMHg5MCwweDEyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTMwLCAwLCB7MHgwOCwweDk4LDB4ODMsMHhlNCwweDA0LDB4YjksMHgwMSwweDMwLDB4NDAsMHgwZCwweDkwLDB4MGIsMHg2NCwweDAyLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTQwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDU4LDB4MGMsMHg5MCwweDAzLDB4YTgsMHgwNCB9IH0sCi17ICAxNiwgMHg4NTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDIwLDB4M2MsMHg0MCB9IH0sCi17ICAxNiwgMHg4NTYwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhhNCwweDAwLDB4YjksMHgwMCwweDNlLDB4NDIsMHg4ZSwweDEwLDB4NGIsMHg4NCwweDA0LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4NTcwLCAwLCB7MHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAwLDB4MzIsMHgwOCB9IH0sCi17ICAxNiwgMHg4NTkwLCAwLCB7MHgwZiwweDg0LDB4ODMsMHhhMCwweDA0LDB4YzgsMHgwNCwweDNlLDB4MDAsMHg4MywweDgwLDB4MDEsMHgyMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWEwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHgwMCwweDAzLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDEwLDB4NGUsMHg4MCwweDEzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4NWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4ZSwweDkwLDB4YTMsMHg4MCB9IH0sCi17ICAxNiwgMHg4NWMwLCAwLCB7MHgwYiwweGU0LDB4MDIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDJmLDB4ODAsMHg0YSwweGEwLDB4MTMsMHhhOCwweDAwLDB4YWEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWQwLCAwLCB7MHgzNiwweDgxLDB4MGIsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweGMwLDB4MjAsMHhkMCB9IH0sCi17ICAxNiwgMHg4NWYwLCAwLCB7MHgwYiwweDM0LDB4MDIsMHg4YywweDAwLDB4OGIsMHgwMCwweDJjLDB4ZjAsMHg4YiwweDE4LDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjAwLCAwLCB7MHg2MCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMiwweDgzLDB4MDAsMHgyOCwweGMxLDB4MGEsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFlLDB4MDAsMHhiNCwweDBiLDB4NjksMHhjMCB9IH0sCi17ICAxNiwgMHg4NjIwLCAwLCB7MHgwOSwweDU4LDB4MDYsMHgxZSwweDgwLDB4OTcsMHgxMCwweDJmLDB4YzIsMHg0OCwweDcwLDB4ODIsMHg5YywweDgwLDB4YTcsMHgwOCB9IH0sCi17ICAxNiwgMHg4NjMwLCAwLCB7MHgyNSwweGNjLDB4MGIsMHg3MCwweDAyLDB4MWUsMHg4MSwweDg3LDB4YTIsMHhhYiwweGM0LDB4MDgsMHg3MywweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MTAsMHhkYywweDg0LDB4MjEsMHhlMCB9IH0sCi17ICAxNiwgMHg4NjUwLCAwLCB7MHgwZiwweDc4LDB4NDIsMHg5ZiwweDAyLDB4YzcsMHg4OCwweDNkLDB4ZTAsMHgyZiwweDcxLDB4MDMsMHg0ZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHg4NjYwLCAwLCB7MHgyMSwweGUyLDB4MGYsMHg3OCwweDgzLDB4OWUsMHg0OSwweGNmLDB4ZDAsMHgzOSwweGU4LDB4MGUsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg0ZCwweGFjLDB4NDAsMHhjYSwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjgwLCAwLCB7MHg4ZiwweDMwLDB4MjMsMHhlYywweGE4LDB4ZWIsMHg0MCwweDNjLDB4YzAsMHgwZiwweDk2LDB4NDMsMHhlZCwweDgwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjkwLCAwLCB7MHgzZSwweGQ4LDB4OGYsMHhiMSwweDQzLDB4ZWQsMHg4MCwweGZiLDB4MjAsMHgzNiwweGNhLDB4MGYsMHhiMCwweGEzLDB4ODIsMHgwNiB9IH0sCi17ICAxNiwgMHg4NmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4ODAsMHhmYywweDgwLDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHg4NmIwLCAwLCB7MHgwNSwweGFhLDB4MTAsMHhmZSwweDQ0LDB4ZmYsMHg5MCwweDNmLDB4ZTEsMHhjZiwweGY5LDB4MTcsMHgzZiwweDIwLDB4ZDcsMHg4MCB9IH0sCi17ICAxNiwgMHg4NmMwLCAwLCB7MHg4YiwweGU0LDB4MGYsMHhmOCwweDAzLDB4M2UsMHgzMCwweGZmLDB4ODAsMHgzNywweGUwLDB4MGYsMHhmOCwweDAwLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiZCwweDEwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg4NmUwLCAwLCB7MHgwOCwweDRhLDB4MDIsMHhkYywweGMwLDB4YjcsMHgwMCwweDJkLDB4YzIsMHgwYywweGQzLDB4MDIsMHgxYywweDgwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmYwLCAwLCB7MHgyOSwweGMwLDB4NGIsMHg3MiwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDEsMHgyMSwweGMwLDB4MGIsMHhmMCwweDEyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4OTAsMHgzNCwweDAwLDB4MjEsMHg4MCB9IH0sCi17ICAxNiwgMHg4NzEwLCAwLCB7MHgwOSwweDcwLDB4MDAsMHg1YywweDBjLDB4YjcsMHgwMCwweDJkLDB4YzQsMHgwOCwweDUwLDB4MWEsMHgwYywweDAwLDB4OTcsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzIwLCAwLCB7MHgyMSwweGMwLDB4NGIsMHgzMCwweDAyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyNSwweGMwLDB4MGIsMHg3MCwweDAyLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MDAsMHhiMCwweDAwLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzQwLCAwLCB7MHgwOCwweDNlLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDBjLDB4ZTAsMHgyYiwweGIwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzUwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgxMCwweGIzLDB4MDAsMHgyMCwweGQ2LDB4MDMsMHgzMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmYiwweDAwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzcwLCAwLCB7MHgwNSwweGJlLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCwweDNlLDB4MjAsMHgwYywweGIwLDB4MDMsMHgzYywweDAwLDB4ZDksMHg4MCB9IH0sCi17ICAxNiwgMHg4NzgwLCAwLCB7MHgzMywweGMwLDB4OGIsMHhmMCwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzNywweGUwLDB4MGYsMHhmMCwweDAzLDB4NmEsMHgwNCB9IH0sCi17ICAxNiwgMHg4NzkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2EwLCAwLCB7MHgwZiwweGE0LDB4MjMsMHhjYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODEsMHgwOCwweDkwLDB4MDMsMHhlYywweDAwLDB4ZTksMHgxNCB9IH0sCi17ICAxNiwgMHg4N2IwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2MwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MzcsMHg4MCB9IH0sCi17ICAxNiwgMHg4N2QwLCAwLCB7MHgwZiwweGZhLDB4MDMsMHhmYywweDAwLDB4Y2YsMHgwMCwweDNmLDB4OTAsMHgwNiwweGRjLDB4MjMsMHgzYywweDAwLDB4ZmQsMHgxMCB9IH0sCi17ICAxNiwgMHg4N2UwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhmMCwweDBiLDB4M2MsMHgwMCwweDQzLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg4N2YwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDZjLDB4MDksMHhiYiwweDE5LDB4MjIsMHgzMiB9IH0sCi17ICAxNiwgMHg4ODAwLCAwLCB7MHgwYiwweGJlLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMCwweDJjLDB4OTAsMHgwZCwweGI4LDB4MDIsMHhhYywweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODEwLCAwLCB7MHhmMiwweGMwLDB4MGIsMHhiMCwweDEyLDB4YWMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhiMCwweDAzLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHg4ODIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MTAsMHhiMywweDAwLDB4MjYsMHgyMCB9IH0sCi17ICAxNiwgMHg4ODMwLCAwLCB7MHgwYiwweDkwLDB4MTIsMHhlYywweDAxLDB4OGIsMHgwMCwweDJhLDB4YzIsMHgwYSwweDkwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODQwLCAwLCB7MHhhMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDEsMHhiMywweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODYwLCAwLCB7MHgwYiwweDAwLDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMCwweDJlLDB4YzAsMHgwYiwweDM0LDB4MDIsMHg4YywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODcwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGQsMHgwMCwweGEzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ODIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhiYiwweDA0LDB4MzYsMHg4MCB9IH0sCi17ICAxNiwgMHg4ODkwLCAwLCB7MHgwZiwweGIyLDB4MDIsMHhmYywweDAyLDB4Y2YsMHgwMiwweDM4LDB4YzAsMHgwZSwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGEwLCAwLCB7MHgyMywweGMwLDB4MGYsMHhmMCwweDAzLDB4M2QsMHgwMiwweGVmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDQzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHg4OGIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGMwLCAwLCB7MHgwZiwweGY0LDB4MjMsMHg3YywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZCwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGQwLCAwLCB7MHgzYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHg4OCwweGRmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHg4OGUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4NTAsMHhjZSwweDEyLDB4MzMsMHhkMCB9IH0sCi17ICAxNiwgMHg4OGYwLCAwLCB7MHg0YywweDg2LDB4ODMsMHgzMCwweDgwLDB4NWYsMHg2OCwweDMzLDB4YzQsMHgwZiwweGYzLDB4ODMsMHgzYywweGMwLDB4Y2MsMHgzOCB9IH0sCi17ICAxNiwgMHg4OTAwLCAwLCB7MHhiMywweDA4LDB4MGMsMHhjNiwweDAzLDB4ZjEsMHhhMCwweGZmLDB4MDAsMHgzMywweDI0LDB4MGMsMHhjMiwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4ODAsMHhkMiwweDIwLDB4MjMsMHhkOCB9IH0sCi17ICAxNiwgMHg4OTIwLCAwLCB7MHgwZCwweDk2LDB4MDIsMHg4OCwweDYwLDB4YWYsMHg0MCwweDIzLDB4ZGMsMHgwYiwweGY2LDB4MDIsMHgzYywweGMyLDB4ODgsMHg2MCB9IH0sCi17ICAxNiwgMHg4OTMwLCAwLCB7MHgyMiwweDUyLDB4MDgsMHg5MSwweDIyLDB4ZTEsMHgwMCwweGI3LDB4MjQsMHhhMiwweDQ4LDB4OGEsMHg4NCwweDgyLDB4NjAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDAwLDB4ZTAsMHhjNCB9IH0sCi17ICAxNiwgMHg4OTUwLCAwLCB7MHgwYSwweDAwLDB4MDIsMHgwNCwweDgwLDB4YTMsMHgyMCwweGE4LDB4YzAsMHgxYiwweDMwLDB4MGEsMHgwYywweDAwLDB4YTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTYwLCAwLCB7MHgyOCwweDBjLDB4MDksMHgwMiwweDAyLDB4YzQsMHg4MCwweGIzLDB4MWMsMHgyMiwweDA4LDB4MTksMHgwMywweDAyLDB4ZTIsMHgxMSB9IH0sCi17ICAxNiwgMHg4OTcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE0LDB4MDAsMHg5OSwweDgwLDB4NjIsMHhjMCB9IH0sCi17ICAxNiwgMHg4OTgwLCAwLCB7MHgwYiwweGEwLDB4MzIsMHhhNCwweDUxLDB4YWIsMHgwMCwweDJhLDB4YzAsMHg4YiwweGIwLDB4MDAsMHgwYywweDAwLDB4YTksMHhjMCB9IH0sCi17ICAxNiwgMHg4OTkwLCAwLCB7MHgyYSwweDIxLDB4MDgsMHhiOCwweDIyLDB4ZTIsMHgwMCwweGJiLDB4MDAsMHgyMiwweDg0LDB4MWIsMHhhOCwweDQyLDB4NzAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUyLDB4MDAsMHhjYiwweGM5LDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg4OWIwLCAwLCB7MHgwZSwweDhiLDB4MTMsMHgyMiwweDEwLDB4ZGIsMHgwMSwweDMyLDB4YzAsMHgwZiwweGIwLDB4MGIsMHgyYywweDAwLDB4NjgsMHg4MSB9IH0sCi17ICAxNiwgMHg4OWMwLCAwLCB7MHgzYSwweDIyLDB4MmMsMHg4OCwweDIzLDB4ZTMsMHgwMCwweGZiLDB4MDAsMHgzMCwweDMwLDB4OGQsMHg5YywweDgzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg4OWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJhLDB4NDAsMHhmNywweDA0LDB4M2UsMHhjMiB9IH0sCi17ICAxNiwgMHg4OWUwLCAwLCB7MHgwZCwweGQ4LDB4MjMsMHhkOCwweDAwLDB4N2IsMHgwMCwweDM3LDB4YzAsMHgwZiwweDcwLDB4MzMsMHhmYywweDEwLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWYwLCAwLCB7MHgzNSwweGMwLDB4OGYsMHhjMCwweDAzLDB4ZjQsMHgwMCwweGY3LDB4MDIsMHgzZiwweGUwLDB4MGUsMHg4MCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDgxLDB4MjAsMHhjOCwweDA4LDB4MzAsMHhjMCB9IH0sCi17ICAxNiwgMHg4YTEwLCAwLCB7MHgwYywweDAwLDB4ODMsMHgyNCwweDQwLDB4YzMsMHg4OSwweDNhLDB4YzAsMHgwZSwweGIwLDB4MGIsMHgyYywweDA4LDB4YzksMHg0OCB9IH0sCi17ICAxNiwgMHg4YTIwLCAwLCB7MHg3MiwweDU0LDB4MGYsMHg5MSwweDAzLDB4ZWQsMHgwMiwweGViLDB4OGEsMHgzYSwweDYyLDB4OGMsMHg4MCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg4YTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJiLDB4MDQsMHg4OCwweDQwLDB4YTMsMHhjMiB9IH0sCi17ICAxNiwgMHg4YTQwLCAwLCB7MHgwMiwweGFlLDB4MTIsMHgyNywweDQyLDB4OGYsMHg0NCwweDIzLDB4YzIsMHgwYiwweGY0LDB4MDIsMHgzZCwweDAwLDB4MGEsMHg0MCB9IH0sCi17ICAxNiwgMHg4YTUwLCAwLCB7MHgyMiwweGUwLDB4MGIsMHhiNSwweDAyLDB4ZWMsMHgyMCwweDhmLDB4NDQsMHhhMiwweDQwLDB4OGQsMHhiZCwweDIzLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ5LDB4NDAsMHg4MywweDgxLDB4MjQsMHhjMSB9IH0sCi17ICAxNiwgMHg4YTcwLCAwLCB7MHgwOCwweDI4LDB4MDIsMHgwMSwweDAwLDB4OTMsMHgwMCwweGEwLDB4ZTgsMHgwYSwweDMwLDB4ODIsMHg4ZiwweDYwLDB4YjMsMHg5MCB9IH0sCi17ICAxNiwgMHg4YTgwLCAwLCB7MHg2MCwweGI4LDB4MGIsMHgyOCwweDEyLDB4NGEsMHgwMCwweDkzLDB4MDAsMHgyMCwweDkwLDB4MDksMHgyMCwweDAyLDB4NzgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDIsMHg4NywweGE4LDB4MjUsMHhlMCB9IH0sCi17ICAxNiwgMHg4YWEwLCAwLCB7MHgwYSwweDdiLDB4MDIsMHgxYSwweDA0LDB4ODcsMHg4MCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4ODIsMHg4ZSwweDAyLDB4OTYsMHg5MSB9IH0sCi17ICAxNiwgMHg4YWIwLCAwLCB7MHgyMSwweDIxLDB4MGIsMHg2OSwweDQwLDB4ZGIsMHg0MCwweDk3LDB4OTIsMHgyMywweGEwLDB4ODksMHg1OCwweDgyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDI1LDB4ODIsMHhjMywweDAwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHg4YWQwLCAwLCB7MHgwYywweDliLDB4NDMsMHgwOCwweGQwLDB4ZDMsMHgyMCwweDM4LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg4YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWUwLCAwLCB7MHgyMCwweDgwLDB4MDcsMHgxMCwweDAzLDB4ZTAsMHgwMCwweGQzLDB4MTAsMHgzOCwweDE4LDB4MGQsMHgzMCwweDAzLDB4NTIsMHgwMiB9IH0sCi17ICAxNiwgMHg4YWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGI0LDB4MDAsMHg3ZiwweDIwLDB4MWIsMHhkMCB9IH0sCi17ICAxNiwgMHg4YjAwLCAwLCB7MHgwZiwweGYxLDB4MDMsMHhmOCwweDQwLDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGI0LDB4MDMsMHg3YywweDIwLDB4Y2YsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjEwLCAwLCB7MHhiZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZTQsMHgxMCwweGVmLDB4MTgsMHgzZCwweGMwLDB4MGYsMHhlMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg4YjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDAsMHhlMywweDAwLDB4YjIsMHhjNCB9IH0sCi17ICAxNiwgMHg4YjMwLCAwLCB7MHgwYywweGEwLDB4MDMsMHgyNCwweDAwLDB4ZGIsMHg2OCwweDMyLDB4YzgsMHgwYywweGI0LDB4MDMsMHhlYywweDgwLDB4YzgsMHg4MCB9IH0sCi17ICAxNiwgMHg4YjQwLCAwLCB7MHhiNiwweGUwLDB4MGMsMHhhMCwweDAzLDB4MmUsMHgwMCwweGNiLDB4ZTAsMHhiMiwweDYwLDB4MGMsMHhiOCwweDBiLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDIsMHg4NywweDAwLDB4YTEsMHhjOCB9IH0sCi17ICAxNiwgMHg4YjYwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHgxYywweDA4LDB4OTcsMHgwMiwweDIxLDB4ZDQsMHgwOCwweDc0LDB4MDIsMHhkYywweGMwLDB4MDcsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjcwLCAwLCB7MHgyMSwweGMwLDB4ODgsMHg3MCwweDAyLDB4MTgsMHgwMCwweDgzLDB4MDgsMHgyMSwweGMwLDB4MDgsMHg1MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHg4YjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MjAsMHhhZCwweDgwLDB4MjksMHhlMCB9IH0sCi17ICAxNiwgMHg4YjkwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHgxZSwweDAwLDB4OTcsMHhiMCwweDIxLDB4ZTgsMHgwOCwweDc4LDB4MDIsMHhkZSwweDEwLDB4MTUsMHg4MCB9IH0sCi17ICAxNiwgMHg4YmEwLCAwLCB7MHgyMSwweGExLDB4MDgsMHg0OCwweDAyLDB4NWUsMHgwMCwweDg3LDB4YTQsMHg2NSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNmLDB4MTAsMHg4MSwweDcwLDB4YTgsMHhjMCB9IH0sCi17ICAxNiwgMHg4YmMwLCAwLCB7MHgzOCwweDMwLDB4MGEsMHgwZCwweDAwLDB4OTMsMHgwMCwweGEwLDB4YzEsMHgyOCwweDMwLDB4MDIsMHhjYywweDAyLDB4ODMsMHg4OCB9IH0sCi17ICAxNiwgMHg4YmQwLCAwLCB7MHgyMCwweGUwLDB4MzgsMHgzNCwweDBhLDB4NGQsMHg3MiwweDgzLDB4MDAsMHgyNCwweGU4LDB4MjgsMHgzNCwweDgyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHg4YmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4NDAsMHhlZSwweGMwLDB4YmEsMHg4MCB9IH0sCi17ICAxNiwgMHg4YmYwLCAwLCB7MHgwYywweGUwLDB4MDMsMHgzOSwweDEwLDB4ZGEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGUsMHhjOCB9IH0sCi17ICAxNiwgMHg4YzAwLCAwLCB7MHgzMywweGEwLDB4MGMsMHhlMCwweDAzLDB4N2IsMHgwMCwweGNhLDB4MDAsMHgzNywweGIxLDB4MGMsMHhlNCwweDIzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4YzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGMxLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhjMCwweDIwLDB4MzgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiB9IH0sCi17ICAxNiwgMHg4YzMwLCAwLCB7MHgzYSwweDI0LDB4MGYsMHg4MCwweDgzLDB4YTAsMHgwMSwweGY4LDB4MDQsMHgzYSwweDA0LDB4MGQsMHg4MCwweDEzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4NDQsMHhjMSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4YzUwLCAwLCB7MHgwYywweDkwLDB4MzIsMHgyNCwweDBjLDB4YzEsMHgwNiwweDM4LDB4NDAsMHgwZCwweDkwLDB4MDksMHgwNCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHg4YzYwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDEsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg4YzcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDYsMHg4OSwweDAwLDB4MmEsMHg1MCB9IH0sCi17ICAxNiwgMHg4YzgwLCAwLCB7MHgwOCwweDk0LDB4MGEsMHgyNCwweDAwLDB4ODksMHg0MiwweDIyLDB4NTAsMHgwYSwweDkwLDB4MTIsMHgyNSwweDAwLDB4ODksMHgwMCB9IH0sCi17ICAxNiwgMHg4YzkwLCAwLCB7MHgyZSwweDUwLDB4MGIsMHg5YywweDBhLDB4MjUsMHgxMCwweGI5LDB4MDAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MjAsMHg4OSwweDAwLDB4MjAsMHg0MiB9IH0sCi17ICAxNiwgMHg4Y2IwLCAwLCB7MHgwOCwweDEwLDB4YzIsMHhhYywweDEwLDB4ODksMHgwOCwweDJhLDB4NDIsMHgwOSwweDkwLDB4MDIsMHgyNCwweDIwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2MwLCAwLCB7MHgyZSwweDQyLDB4MGEsMHhiMSwweDgyLDB4MmMsMHgyMCwweGI5LDB4MDAsMHg2ZSwweDQyLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg4MywweDAwLDB4MjgsMHg0OCB9IH0sCi17ICAxNiwgMHg4Y2UwLCAwLCB7MHgwOCwweDEyLDB4NjIsMHg4YywweDgwLDB4ODEsMHgwMCwweDIwLDB4NDAsMHgwMiwweDEwLDB4MDIsMHg4NCwweDgwLDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHg4Y2YwLCAwLCB7MHgyYywweDQ5LDB4MGIsMHgxMiwweDA2LDB4MDQsMHg4NCwweGIzLDB4MDIsMHg2YywweDQwLDB4MGIsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDQxLDB4ZTAsMHhjOCwweDc4LDB4MzAsMHgxNCB9IH0sCi17ICAxNiwgMHg4ZDEwLCAwLCB7MHg0YywweDA1LDB4MTMsMHhhMSwweDQyLDB4YzAsMHg3OCwweDM4LDB4MWUsMHgwZCwweDg3LDB4ODMsMHgwMSwweDQwLDB4ZDAsMHg1MCB9IH0sCi17ICAxNiwgMHg4ZDIwLCAwLCB7MHgzYywweDE0LDB4MGUsMHgwNSwweDAzLDB4MDEsMHg0MCwweGY4LDB4NzgsMHgzYywweDE0LDB4MGYsMHgwNSwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg4ZDMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MGUsMHg0NCB9IH0sCi17ICAxNiwgMHg4ZDQwLCAwLCB7MHgyZiwweGYxLDB4MDMsMHg3NCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDQwLDB4ZmQsMHgxMCB9IH0sCi17ICAxNiwgMHg4ZDUwLCAwLCB7MHgzZiwweDQ0LDB4MGYsMHhkMSwweDAxLDB4ZjQsMHg0MCwweGY5LDB4MDEsMHgzZiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHg4ZDYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4MjIsMHhlOSwweDg4LDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZDcwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDE2LDB4YzksMHg4YywweDM2LDB4N2IsMHg4ZiwweDljLDB4ODMsMHhhNywweDkwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDgwLCAwLCB7MHgzZSwweDUwLDB4MDQsMHg5NCwweDEzLDB4MjQsMHg1MCwweGM5LDB4ZTAsMHgzZSwweDUwLDB4MGYsMHg5MCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUyLDB4ODAsMHg4OCwweGEwLDB4MjIsMHgyOCB9IH0sCi17ICAxNiwgMHg4ZGEwLCAwLCB7MHgwYiwweDhhLDB4MDIsMHgyYSwweDgwLDB4ODgsMHhhNCwweDIyLDB4MzAsMHgwOCwweDhlLDB4MGEsMHgyMiwweDAyLDB4ODgsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZGIwLCAwLCB7MHgyZSwweDI4LDB4ODgsMHhhYSwweDEyLDB4MjIsMHg5MCwweDg4LDB4ZjQsMHgyZSwweDIwLDB4MGIsMHhjOCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGQ0LDB4MjAsMHhhNSwweDA4LDB4MjEsMHg0MiB9IH0sCi17ICAxNiwgMHg4ZGQwLCAwLCB7MHgwYiwweDUwLDB4ODIsMHgxNCwweDMxLDB4ODUsMHgwOCwweDI1LDB4NDAsMHgwYSwweDUwLDB4MjIsMHg5NCwweDQwLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHg4ZGUwLCAwLCB7MHg2ZCwweDQwLDB4MDgsMHg1MCwweDAyLDB4NTQsMHgwMiwweDk1LDB4MDAsMHgyZCwweDQ4LDB4MGIsMHg1MCwweDgyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZGYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweDg0LDB4MDAsMHg4ZCwweDEwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTAwLCAwLCB7MHgwYiwweGQwLDB4MDAsMHgzNCwweDAxLDB4OGQsMHgwMCwweDIzLDB4NDEsMHg1OCwweGQwLDB4MDIsMHgzNCwweDAwLDB4OGQsMHgwOCB9IH0sCi17ICAxNiwgMHg4ZTEwLCAwLCB7MHgyZiwweDUwLDB4MDgsMHhkMiwweDAyLDB4NzQsMHg4MCwweDlkLDB4MDAsMHgyZiwweDQ4LDB4MGIsMHhkYywweDAyLDB4NDYsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4NDAsMHhlOSwweGMwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTMwLCAwLCB7MHgwZiwweDkwLDB4MDksMHgyNiwweDAwLDB4YzksMHgwNCwweDM2LDB4NDAsMHgxZiwweDkwLDB4MjMsMHhhNCwweDA4LDB4YzksMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTQwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5NCwweDBiLDB4NjQsMHgyMCwweGQ5LDB4MDIsMHgzZSwweDQxLDB4MGYsMHg5NCwweDAzLDB4NjgsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZTYwLCAwLCB7MHgwZiwweDE0LDB4MDMsMHhjNSwweDA4LDB4ZjksMHgwMCwweDNlLDB4NDAsMHgxZiwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTcwLCAwLCB7MHgzYywweDQwLDB4YWYsMHg5OCwweDAzLDB4ODYsMHgwMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxMCwweDBiLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGIwLDB4MDAsMHhkYywweDQwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTkwLCAwLCB7MHgwZiwweGMwLDB4MDMsMHgzMSwweDAyLDB4YzQsMHgwNCwweGIxLDB4MDAsMHgzYywweDQwLDB4MDMsMHgxMCwweDAwLDB4ZmMsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZWEwLCAwLCB7MHgzMywweDAwLDB4MGMsMHhjNCwweDAzLDB4YjEsMHgwMCwweGNjLDB4MDAsMHhiMywweDAwLDB4MGMsMHhjNCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg4ZWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHg4YSwweDgwLDB4MjIsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZWMwLCAwLCB7MHgwYiwweGEwLDB4MDIsMHgyYSwweDAwLDB4OGEsMHg4NCwweDIyLDB4YTEsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA4LDB4YmEsMHgwMSB9IH0sCi17ICAxNiwgMHg4ZWQwLCAwLCB7MHgyMiwweDgwLDB4MDgsMHhhMCwweDJiLDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyYSwweDgwLDB4MDgsMHhlMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDIsMHg5YiwweDgxLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHg4ZWYwLCAwLCB7MHg4YiwweDM4LDB4MDYsMHhjZSwweDAwLDB4OTMsMHg4MCwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHgwYywweDAwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZjAwLCAwLCB7MHg2YywweGUwLDB4MGEsMHhiMCwweDAyLDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyMCwweGUwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDEwLDB4MDQsMHg4MCwweDA4LDB4MjEsMHgwMiB9IH0sCi17ICAxNiwgMHg4ZjIwLCAwLCB7MHg0YiwweDQ0LDB4MDYsMHhkMCwweDIwLDB4OTAsMHgwOCwweDIxLDB4MDIsMHg4MCwweDQ0LDB4MDIsMHgxMCwweDAwLDB4YjQsMHhjMCB9IH0sCi17ICAxNiwgMHg4ZjMwLCAwLCB7MHgyZCwweDEwLDB4NDgsMHg0MCwweDAyLDB4MDAsMHgwMCwweDk0LDB4ODksMHgyOSwweDMwLDB4MDgsMHg0MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDMyLDB4MDAsMHhkNiwweDgwLDB4MzEsMHhhMCB9IH0sCi17ICAxNiwgMHg4ZjUwLCAwLCB7MHgwZiwweGU4LDB4MGIsMHhjYSwweDAwLDB4ZDYsMHg4MCwweDIzLDB4YTAsMHgwNCwweGY4LDB4MGIsMHgxYSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZjYwLCAwLCB7MHhiZiwweGEwLDB4MmUsMHhjOCwweDEzLDB4ZGEsMHgwMiwweDVlLDB4ODAsMHg3MywweGEwLDB4MmMsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg4ZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg4ZjgwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZSwweDgwLDB4MDMsMHhlNCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjkwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwMSwweGU5LDB4MDQsMHgzNiwweDQwLDB4MGYsMHg4MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg4ZmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjZCwweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHg4ZmIwLCAwLCB7MHgwYywweGQ4LDB4NDMsMHgzNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4NjAsMHgwYywweGQ5LDB4MjMsMHhiZSwweDAwLDB4NGQsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZmMwLCAwLCB7MHgzMywweDYwLDB4MDgsMHhmOCwweDBiLDB4M2UsMHgwMCwweGZkLDB4ODQsMHgzZiwweDYwLDB4MGYsMHhmOSwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDkwLDB4MDQsMHhkZSwweDAwLDB4MjMsMHg4MCB9IH0sCi17ICAxNiwgMHg4ZmUwLCAwLCB7MHgwOCwweDYwLDB4MDIsMHhiOCwweDIwLDB4OGUsMHgwNCwweDIzLDB4ODAsMHgwOCwweDY4LDB4MDIsMHgxMCwweDAwLDB4OGUsMHgyMCB9IH0sCi17ICAxNiwgMHg4ZmYwLCAwLCB7MHgyMywweDgyLDB4MDgsMHg0MCwweDAyLDB4MTIsMHgwMCwweGY2LDB4MDAsMHgyZCwweDgwLDB4MGIsMHg0MSwweGEwLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4NCwweDAwLDB4MjEsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDEwLCAwLCB7MHgwOCwweDQxLDB4MDIsMHg1MCwweDQwLDB4OTQsMHgwMCwweDIxLDB4MDAsMHgwYSwweDUyLDB4MDIsMHhkOCwweDAwLDB4ODUsMHgwMiB9IH0sCi17ICAxNiwgMHg5MDIwLCAwLCB7MHgyNSwweDA0LDB4MDgsMHg0MCwweDIyLDB4MTgsMHgwOCwweGI0LDB4MDAsMHgyZCwweDEwLDB4MGIsMHg3OCwweDQwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGVlLDB4MjIsMHg5MywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg5MDQwLCAwLCB7MHgwOCwweDM4LDB4MDIsMHhlYywweDAwLDB4OTMsMHgwMCwweDIwLDB4YzEsMHgyYSwweDIwLDB4MDIsMHg2NCwweDAyLDB4ODIsMHgxMCB9IH0sCi17ICAxNiwgMHg5MDUwLCAwLCB7MHgyNCwweGYwLDB4MGEsMHgzYywweDQyLDB4MjQsMHgyOCwweGIzLDB4MDAsMHgyYywweGUwLDB4MGIsMHg4OCwweDgyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFkLDB4MDAsMHhjYiwweDAwLDB4YjIsMHhjMCB9IH0sCi17ICAxNiwgMHg5MDcwLCAwLCB7MHhhYywweGJlLDB4MDMsMHg2ZSwweDAyLDB4ZGIsMHgwMCwweGIyLDB4YzAsMHgxZSwweGEwLDB4MDMsMHhlNCwweDAwLDB4Y2EsMHgxMSB9IH0sCi17ICAxNiwgMHg5MDgwLCAwLCB7MHhiNiwweGQwLDB4YWMsMHhiYywweDAzLDB4MjQsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4Y2YsMHg4NCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5MDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGUwLDB4NDAsMHhmOCwweDAwLDB4M2MsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGEwLCAwLCB7MHgyZiwweDgyLDB4MDMsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgxZCwweDkwLDB4MTMsMHhhOCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5MGIwLCAwLCB7MHgzYSwweDAwLDB4ODEsMHg4MywweDQzLDB4ZTgsMHgwMCwweGU4LDB4MDMsMHgzZSwweDA0LDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGUwLDB4MDAsMHhkNiwweDAwLDB4MzcsMHg4MCB9IH0sCi17ICAxNiwgMHg5MGQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhmOCwweDAwLDB4Y2UsMHgwMCwweDMzLDB4ODAsMHgwZCwweGEwLDB4MTMsMHgyMCwweDA4LDB4Y2UsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGUwLCAwLCB7MHgzMywweDgyLDB4MGMsMHg0MCwweDczLDB4MzAsMHgxOCwweGNlLDB4MDAsMHgxZiwweDgwLDB4NGYsMHhjMSwweDQzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHg5MGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDdjLDB4MDAsMHg4ZCwweDAwLDB4MjMsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTAwLCAwLCB7MHgwYSwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCwweDIzLDB4NDAsMHgwOCwweGQ0LDB4ODAsMHgzZSwweDQyLDB4OGQsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTEwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhmMCwweDAyLDB4M2UsMHg0MCwweDhkLDB4MDAsMHgwZiwweDQwLDB4MGIsMHhmNCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5OSwweDAwLDB4YTYsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTMwLCAwLCB7MHgwOCwweDkwLDB4MDYsMHhlNCwweDAwLDB4OTEsMHgwMCwweDIwLDB4NDAsMHg4OCwweDAwLDB4MDIsMHgyNCwweDA4LDB4ODAsMHg0MCB9IH0sCi17ICAxNiwgMHg5MTQwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHhiMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgwZSwweDQwLDB4MGIsMHg4NCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHg5MTYwLCAwLCB7MHgwYSwweDIxLDB4MDYsMHhjOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDMyLDB4ODIsMHgwOCwweDA4LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTcwLCAwLCB7MHg2MCwweDgwLDB4MGEsMHgwMCwweDEyLDB4MDgsMHg4MCwweDgyLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHg5MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhkOCwweDAwLDB4MzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTkwLCAwLCB7MHgwYywweDg0LDB4MjMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZCwweDgyLDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MWEwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHgwMCwweDAzLDB4MjAsMHgwMiwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHg5MWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhiZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg5MWMwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCwweGJmLDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5MWQwLCAwLCB7MHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZWQsMHgwMCwweGZmLDB4MDIsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHg5MWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYwLDB4OGMsMHhmZiwweDAwLDB4M2QsMHg2MCB9IH0sCi17ICAxNiwgMHg5MWYwLCAwLCB7MHgyYywweGIyLDB4ODMsMHg3YywweDkwLDB4ZGYsMHgzOCwweDMxLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgzYywweDAwLDB4ZmYsMHgyMCB9IH0sCi17ICAxNiwgMHg5MjAwLCAwLCB7MHgzZiwweGM0LDB4MGUsMHhmNCwweDAzLDB4N2MsMHgwMCwweGY0LDB4ODAsMHgzMywweDAwLDB4MGQsMHhmOCwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUxLDB4MjAsMHhiYiwweDYyLDB4MmUsMHg0MiB9IH0sCi17ICAxNiwgMHg5MjIwLCAwLCB7MHgyOCwweGY0LDB4NDIsMHgzZSwweDQwLDB4OGYsMHg0NCwweDIyLDB4ZTAsMHgwYiwweGIwLDB4ODMsMHg3ZiwweDQ0LDB4YmYsMHhjMSB9IH0sCi17ICAxNiwgMHg5MjMwLCAwLCB7MHgyZCwweGRjLDB4MmEsMHhmNiwweDAyLDB4M2YsMHg0NSwweGI4LDB4ODAsMHgyMiwweDYxLDB4ODgsMHhiOCwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4ODAsMHhiMiwweDE4LDB4MmUsMHhjOCB9IH0sCi17ICAxNiwgMHg5MjUwLCAwLCB7MHgyOSwweDMwLDB4MzIsMHgwYywweDA4LDB4YjMsMHgyMCwweDIwLDB4YzAsMHg0YiwweDkyLDB4MDIsMHgwYywweDAwLDB4YjMsMHg0MCB9IH0sCi17ICAxNiwgMHg5MjYwLCAwLCB7MHgyYywweGMwLDB4ODksMHgzNCwweDEyLDB4NGMsMHgwMCwweGIwLDB4MDAsMHgyNCwweGMxLDB4NDksMHgzMCwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg5MjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGE0LDB4MDAsMHhiYSwweDBjLDB4MmUsMHhlMCB9IH0sCi17ICAxNiwgMHg5MjgwLCAwLCB7MHhhOSwweGIwLDB4MDYsMHgyYywweDAwLDB4OGIsMHgwMCwweGEyLDB4YzAsMHgwYiwweDkwLDB4MDAsMHg2YywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MjkwLCAwLCB7MHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4NmMsMHgwMCwweGJhLDB4ODAsMHgyNiwweGYwLDB4MDgsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGVlLDB4MDAsMHhmYiwweGM0LDB4M2UsMHg3OCB9IH0sCi17ICAxNiwgMHg5MmIwLCAwLCB7MHgyZCwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmIsMHgwMCwweDMyLDB4YzAsMHg4YiwweDI0LDB4ODMsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmMwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiMCwweDBiLDB4NmMsMHgwOCwweGIyLDB4ZTAsMHgxNiwweDYwLDB4OGQsMHhiMCwweDIzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJlLDB4OTgsMHhmZiwweDQwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHg5MmUwLCAwLCB7MHgwZSwweDcwLDB4MDMsMHhkYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGUwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5MmYwLCAwLCB7MHgzZiwweGMwLDB4MGUsMHhmMCwweDAzLDB4YWMsMHgwMCwweGZlLDB4MDAsMHhiOSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFkLDB4MDAsMHhmYSwweDQwLDB4M2UsMHhkMCB9IH0sCi17ICAxNiwgMHg5MzEwLCAwLCB7MHgwZSwweGIyLDB4MDMsMHhlYywweDAwLDB4YzMsMHgwMCwweDNlLDB4YzAsMHgwYywweGEwLDB4MDMsMHgyYywweDAxLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzIwLCAwLCB7MHgzYywweGMwLDB4MGUsMHhiOCwweDAzLDB4ZWMsMHgwMCwweGRhLDB4MDAsMHgzYSwweGQwLDB4NGYsMHhiMCwweDIzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5MzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiYSwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHg5MzQwLCAwLCB7MHgwOCwweGY0LDB4MDcsMHhiYywweDE0LDB4ZGYsMHgwMCwweDNlLDB4YzAsMHgxYSwweGEwLDB4NTIsMHhiYywweDAwLDB4YmYsMHgwNCB9IH0sCi17ICAxNiwgMHg5MzUwLCAwLCB7MHgzZiwweGMwLDB4OGEsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZhLDB4MDAsMHgyMiwweGM4LDB4MGYsMHhiMCwweDAzLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4MDEsMHhiMSwweDAwLDB4NmMsMHhjMiB9IH0sCi17ICAxNiwgMHg5MzcwLCAwLCB7MHgwYSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODMsMHgwNSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAxLDB4YjMsMHgwNCB9IH0sCi17ICAxNiwgMHg5MzgwLCAwLCB7MHgyYywweGMwLDB4MGEsMHgzMCwweDIyLDB4OGMsMHgwMCwweDgwLDB4ODAsMHgyOCwweGMwLDB4MGIsMHgzMCwweDIyLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5MzkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4MDgsMHhiNywweDgwLDB4NmYsMHhlMCB9IH0sCi17ICAxNiwgMHg5M2EwLCAwLCB7MHgxOCwweDc4LDB4MDIsMHg4ZSwweDQwLDB4YjcsMHg4MCwweDJkLDB4ZTAsMHgwYSwweDc4LDB4MDIsMHg5ZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg5M2IwLCAwLCB7MHgyOSwweGUxLDB4MGEsMHg3OCwweDAyLDB4OWUsMHgwMSwweGJjLDB4ODAsMHgyOSwweGU0LDB4MGIsMHg3OCwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5M2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA5LDB4NDAsMHhmMSwweDIwLDB4M2MsMHhjNCB9IH0sCi17ICAxNiwgMHg5M2QwLCAwLCB7MHgwZSwweDM5LDB4MDIsMHhjYywweDAwLDB4YzMsMHgwMCwweDJjLDB4YzQsMHgwOCwweDkyLDB4MDMsMHg4YywweDg4LDB4YjMsMHgxMCB9IH0sCi17ICAxNiwgMHg5M2UwLCAwLCB7MHgyYywweGM0LDB4MGUsMHhiMCwweDA3LDB4OGMsMHgwMCwweGMyLDB4MDgsMHgzOCwweGMwLDB4MGYsMHgzMCwweDQzLDB4ZDIsMHgwMiB9IH0sCi17ICAxNiwgMHg5M2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MTAsMHhmYywweDAwLDB4N2YsMHhjMCB9IH0sCi17ICAxNiwgMHg5NDAwLCAwLCB7MHgwZiwweGYwLDB4ODMsMHhmYywweDIxLDB4ZGYsMHgwOCwweDNiLDB4YzAsMHg4ZiwweDkwLDB4MDEsMHhmYywweDIxLDB4ZmYsMHgwYyB9IH0sCi17ICAxNiwgMHg5NDEwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmMSwweDAzLDB4ZWMsMHgwMCwweGVmLDB4MDAsMHg3NywweGMwLDB4MWUsMHhmMCwweDAzLDB4OTAsMHgwNiB9IH0sCi17ICAxNiwgMHg5NDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU4LDB4MDEsMHhmOSwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHg5NDMwLCAwLCB7MHgwZiwweGIyLDB4MDMsMHhlZSwweDkwLDB4ZGIsMHhlMSwweDNhLDB4YzAsMHg0ZCwweDM4LDB4MTMsMHgyZCwweDMwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDQwLCAwLCB7MHgzZSwweGUwLDB4NGYsMHhiYSwweDQzLDB4MmMsMHg0MCwweGZhLDB4MDAsMHgzZiwweGMwLDB4OGMsMHhiMCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHhiMSwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHg5NDYwLCAwLCB7MHgwYiwweDcxLDB4MDIsMHhjYywweDIwLDB4YTcsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MTMsMHg1YywweDA4LDB4YjcsMHgxMCB9IH0sCi17ICAxNiwgMHg5NDcwLCAwLCB7MHgyZCwweGM0LDB4NGIsMHgzNCwweDgzLDB4MWMsMHhjMSwweGI3LDB4MDIsMHgyZCwweGMwLDB4MWEsMHg3MCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MjAsMHhiNCwweGM0LDB4MjUsMHhhMiB9IH0sCi17ICAxNiwgMHg5NDkwLCAwLCB7MHgwYiwweDc4LDB4MDYsMHhkZSwweDAwLDB4ODMsMHg4MCwweDI5LDB4ZTAsMHgxYiwweGY4LDB4MDIsMHg1ZSwweDgwLDB4YTcsMHhhMCB9IH0sCi17ICAxNiwgMHg5NGEwLCAwLCB7MHgyZCwweGM4LDB4MGEsMHg3MiwweDAyLDB4MWUsMHgwMCwweGE2LDB4ODAsMHgyOCwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGVkLDB4MDAsMHhiMywweDQwLDB4MjQsMHhjMyB9IH0sCi17ICAxNiwgMHg5NGMwLCAwLCB7MHgwYiwweDMwLDB4NDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDIwLDB4YzAsMHgxYiwweDM0LDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHg5NGQwLCAwLCB7MHgyYywweGMwLDB4NGIsMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4ODgsMHgyYywweGQ0LDB4MGEsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhmZSwweDQwLDB4YjcsMHhhMCB9IH0sCi17ICAxNiwgMHg5NGYwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDNhLDB4ODAsMHgwZiwweGUyLDB4MDMsMHg2OCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMCwweGVlLDB4ZTAsMHgzZiwweGIwLDB4MDQsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg5NTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDQsMHhmMCwweDA4LDB4M2EsMHgxMCB9IH0sCi17ICAxNiwgMHg5NTIwLCAwLCB7MHgwZiwweDg0LDB4MDMsMHhlMCwweDEwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTMwLCAwLCB7MHgzYywweDAwLDB4MGYsMHg4MCwweDAzLDB4ODAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDA5LDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhlOSwweDAwLDB4MzIsMHg0NCB9IH0sCi17ICAxNiwgMHg5NTUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MTMsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NTYwLCAwLCB7MHgxZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHgzYywweDY0LDB4MGMsMHg5MCwweDAzLDB4ODIsMHgwNCB9IH0sCi17ICAxNiwgMHg5NTcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2OCB9IH0sCi17ICAxNiwgMHg5NTgwLCAwLCB7MHgwOCwweDEzLDB4MDIsMHgyNCwweDA4LDB4ZjksMHgwMCwweDJlLDB4NDgsMHgxYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NTkwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4MjQsMHgwOCwweGY5LDB4NDAsMHgyZSwweDYwLDB4MGEsMHg5MCwweDA2LDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5NWIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMSwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NWMwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHg5MiwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODAsMHg4MSwweDIxLDB4ZTAsMHg1MCB9IH0sCi17ICAxNiwgMHg5NWUwLCAwLCB7MHgyOCwweDE2LDB4MGEsMHgwNCwweDgwLDB4YTEsMHg0MCwweDJjLDB4NDAsMHg0YiwweDE0LDB4MjIsMHhjNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NWYwLCAwLCB7MHgyYywweDUwLDB4MDksMHgxNCwweDAyLDB4MDQsMHgwNCwweGIxLDB4MDAsMHgyYywweDQwLDB4MGEsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5NjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhlOCwweDUwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjEwLCAwLCB7MHg4YywweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCwweDNlLDB4MDAsMHgwYiwweDgwLDB4MzMsMHhlMCwweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjIwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwOCwweGNhLDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4YWUsMHgwMyB9IH0sCi17ICAxNiwgMHg5NjMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGZjLDB4NDAsMHhmZCwweDEwLDB4MmYsMHg0MSB9IH0sCi17ICAxNiwgMHg5NjQwLCAwLCB7MHg0ZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHg0MCwweDNlLDB4NDAsMHg0ZiwweGQwLDB4NjMsMHhlNSwweDAwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHg5NjUwLCAwLCB7MHgzYSwweDUwLDB4MmUsMHg5NCwweDAzLDB4NjUsMHgwMCwweGVkLDB4MDAsMHgzZiwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHg5NjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU2LDB4MDAsMHhmOSwweGUwLDB4MzMsMHg1MCB9IH0sCi17ICAxNiwgMHg5NjcwLCAwLCB7MHgwYywweGRhLDB4MDMsMHhhNiwweDAwLDB4ZDksMHg4MCwweDNmLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhhNiwweDAwLDB4ZjksMHg4OCB9IH0sCi17ICAxNiwgMHg5NjgwLCAwLCB7MHgzZSwweDY4LDB4MGMsMHhkZSwweDAzLDB4NjYsMHgwMCwweGVkLDB4MDAsMHgzYiwweDY5LDB4MGMsMHg5MCwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5NjkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUxLDB4MDgsMHhiOCwweGUwLDB4MjAsMHgyMCB9IH0sCi17ICAxNiwgMHg5NmEwLCAwLCB7MHgxOCwweDhlLDB4MjYsMHhlMSwweDAwLDB4ODAsMHhhMCwweDJlLDB4MDAsMHg0YiwweDg4LDB4NDIsMHhlMSwweDUwLDB4YjgsMHg0MCB9IH0sCi17ICAxNiwgMHg5NmIwLCAwLCB7MHgyZSwweDJhLDB4MGQsMHgwYSwweDAyLDB4MjAsMHgwOCwweGI4LDB4MDAsMHgyZSwweDE0LDB4MGQsMHg4MCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg5NmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDYwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5NmQwLCAwLCB7MHgwOCwweDMxLDB4YTIsMHhjNSwweDAwLDB4OTEsMHg0OCwweDJjLDB4NDAsMHgxYiwweDEyLDB4MDIsMHg4NCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHg5NmUwLCAwLCB7MHgyYywweDUwLDB4MDksMHgxNiwweDAyLDB4MDUsMHgwMCwweGEzLDB4MDQsMHgyOCwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5NmYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE0LDB4MDAsMHhiOSwweDA4LDB4MjAsMHg3MCB9IH0sCi17ICAxNiwgMHg5NzAwLCAwLCB7MHgyOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDA4LDB4YjksMHgwMyB9IH0sCi17ICAxNiwgMHg5NzEwLCAwLCB7MHgyYywweDQwLDB4MjksMHg5MCwweDAyLDB4NjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDYyLDB4MDksMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU1LDB4MDAsMHhmOSwweGQwLDB4YjIsMHg3MCB9IH0sCi17ICAxNiwgMHg5NzMwLCAwLCB7MHgwOCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwNCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMiB9IH0sCi17ICAxNiwgMHg5NzQwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHg5MCwweDJiLDB4NjQsMHgwMCwweGU5LDB4OGQsMHgzYSwweDYwLDB4MGMsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHg5NzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDgwLDB4M2UsMHg0MiB9IH0sCi17ICAxNiwgMHg5NzYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5NzcwLCAwLCB7MHgzZSwweDQwLDB4MmYsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MjIsMHgzYywweDQwLDB4NGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmMCwweDQwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5NzkwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhjMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MjAsMHgxZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2EwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAyLDB4MjAsMHgwMCwweGM4LDB4YzAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHg5N2IwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxNSwweDI4LDB4MTAsMHhiYSwweDAwLDB4MjMsMHhhMCB9IH0sCi17ICAxNiwgMHg5N2MwLCAwLCB7MHgwYSwweGU0LDB4MDIsMHhlOCwweDAwLDB4YmEsMHgwMCwweDJiLDB4YTEsMHgwYiwweGEwLDB4MDIsMHhlOCwweDAwLDB4YWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2QwLCAwLCB7MHgyYSwweDgxLDB4MGEsMHhhMCwweDAzLDB4ZTgsMHgwOCwweGRlLDB4MDAsMHgyZSwweDgwLDB4MGEsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5N2UwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDA0LDB4YTAsMHhiMSB9IH0sCi17ICAxNiwgMHg5N2YwLCAwLCB7MHgwOCwweDM2LDB4MjIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4ZTQsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODAwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgxOCwweDAyLDB4MGMsMHgwMCwweDkxLDB4MDEsMHgyYywweGMwLDB4MDgsMHgzMCwweDA2LDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4YzgsMHhiMywweDIxLDB4MjEsMHhjMiB9IH0sCi17ICAxNiwgMHg5ODIwLCAwLCB7MHgyYSwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHhhMCwweDI5LDB4YzAsMHgwYiwweDcyLDB4MDIsMHhjZSwweDAwLDB4YTcsMHg4MSB9IH0sCi17ICAxNiwgMHg5ODMwLCAwLCB7MHgyOSwweGMwLDB4NGEsMHg3NCwweDAyLDB4ZmUsMHgwMCwweDk3LDB4MDEsMHgyYywweGMwLDB4MGEsMHg3MCwweDEyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4ODAsMHhmNywweGMwLDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHg5ODUwLCAwLCB7MHgwYywweDQ4LDB4MDMsMHhkZSwweDExLDB4ZjcsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDdhLDB4MDMsMHhkZSwweDAwLDB4YzMsMHg4MCB9IH0sCi17ICAxNiwgMHg5ODYwLCAwLCB7MHgzMywweGQ4LDB4NmMsMHg3OCwweDAzLDB4M2UsMHgwMCwweGQ2LDB4ODAsMHgzZCwweGUwLDB4MGMsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHg5ODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwZCwweGFjLDB4MDgsMHhmYiwweDgwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5ODgwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHhlYywweDA0LDB4ZmIsMHgzYywweDNlLDB4YzAsMHgwZiwweGI2LDB4MDcsMHg2YywweDAxLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ODkwLCAwLCB7MHgzZSwweGQwLDB4MGYsMHg5NCwweDA3LDB4ZWMsMHgwMSwweGVhLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHg5OGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweGZlLDB4MDAsMHhjZiwweGE0LDB4M2IsMHg2MCB9IH0sCi17ICAxNiwgMHg5OGIwLCAwLCB7MHgwOCwweGQ5LDB4MDMsMHg3ZSwweDAwLDB4Y2YsMHg4MCwweDNmLDB4MjUsMHg0ZiwweGZjLDB4ODcsMHhiZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHg5OGMwLCAwLCB7MHg3ZiwweGZjLDB4MGMsMHhmYywweDAzLDB4N2MsMHgwMCwweGY2LDB4OTAsMHgzMywweGUwLDB4MGYsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5OGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDgsMHg4ZiwweDI4LDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHg5OGUwLCAwLCB7MHgwOCwweGQwLDB4MDIsMHgxYywweDQwLDB4YTcsMHgyMCwweDMxLDB4MDQsMHgxYiwweDc4LDB4MDIsMHhkYywweDgwLDB4ZDcsMHgwMCB9IH0sCi17ICAxNiwgMHg5OGYwLCAwLCB7MHgyZiwweGM0LDB4MWEsMHhkMCwweDAyLDB4MWUsMHg0OCwweGI2LDB4MDAsMHg2MSwweGMwLDB4MGIsMHg3MCwweDA2LDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhjLDB4MDAsMHg4NywweDMwLDB4NjksMHg0NCB9IH0sCi17ICAxNiwgMHg5OTEwLCAwLCB7MHgwOCwweDUwLDB4MjIsMHgwYywweDAwLDB4ODcsMHgwMSwweDJkLDB4NDQsMHg4YiwweDcwLDB4MDYsMHg4YywweDEwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTIwLCAwLCB7MHgyOSwweGM5LDB4MDgsMHg1MCwweDAyLDB4MWMsMHg0NCwweGE2LDB4MDAsMHg2MSwweGMwLDB4MGIsMHg3MCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNkLDB4MDAsMHg4MywweDg4LDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5OTQwLCAwLCB7MHgwMCwweDEwLDB4MDIsMHg0YywweDAwLDB4MmIsMHgwMCwweDJjLDB4NDEsMHgxYiwweDMwLDB4MDIsMHhjYywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTUwLCAwLCB7MHgyYywweGMwLDB4MGEsMHgzMCwweDQyLDB4MGMsMHgwMCwweGIyLDB4NDAsMHgyMCwweGYxLDB4MGIsMHgzMCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJkLDB4NDEsMHhjZiwweGMwLDB4YmEsMHhmMCB9IH0sCi17ICAxNiwgMHg5OTcwLCAwLCB7MHgyOCwweDkwLDB4MWIsMHg2YywweDA4LDB4Y2YsMHgwMCwweDJjLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhhYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHg5OTgwLCAwLCB7MHgzZiwweGMwLDB4NmMsMHhiMCwweDRiLDB4MmMsMHgwMSwweGZiLDB4NDAsMHgyMiwweGM4LDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHg5OTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDA0LDB4M2YsMHhkNCB9IH0sCi17ICAxNiwgMHg5OWEwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDMyLDB4YzAsMHg1ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwNCB9IH0sCi17ICAxNiwgMHg5OWIwLCAwLCB7MHgzZSwweGMwLDB4NGYsMHgxMCwweDEzLDB4ZWMsMHgwMCwweGZiLDB4ODgsMHgzZSwweGMwLDB4NGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjNywweDAwLDB4MzMsMHg2MiB9IH0sCi17ICAxNiwgMHg5OWQwLCAwLCB7MHgwYywweGMwLDB4MGIsMHgzYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4ZTAsMHgxYywweGYwLDB4MTMsMHgzYywweDA4LDB4ZjcsMHgwMCB9IH0sCi17ICAxNiwgMHg5OWUwLCAwLCB7MHgzMSwweGMwLDB4MGUsMHhkOCwweDAzLDB4YmMsMHgwMCwweGZlLDB4MDAsMHgzZCwweGM2LDB4MGMsMHhmMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHg5OWYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MDAsMHhjYiwweDAzLDB4MjIsMHg0NyB9IH0sCi17ICAxNiwgMHg5YTAwLCAwLCB7MHgwOCwweDk4LDB4NDIsMHgyYywweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwNCB9IH0sCi17ICAxNiwgMHg5YTEwLCAwLCB7MHgyYSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwOCwweGZhLDB4MDAsMHgyZSwweDYwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTMwLCAwLCB7MHgwOCwweDk4LDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDIyLDB4ODgsMHgwOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTQwLCAwLCB7MHgyMiwweGMwLDB4OGEsMHg5MiwweDAyLDB4YWMsMHgwMCwweGFhLDB4ODAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDA2LDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDAwLDB4YTAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTYwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI4LDB4ODAsMHgwYSwweDMyLDB4MTIsMHgwYywweDAwLDB4YjMsMHgwNCB9IH0sCi17ICAxNiwgMHg5YTcwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgzMCwweDIyLDB4OGMsMHgyMCwweGIyLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5YTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDIsMHhjYiwweDAwLDB4MzAsMHg0MCB9IH0sCi17ICAxNiwgMHg5YTkwLCAwLCB7MHgxYywweDk0LDB4MDMsMHgyYywweDAwLDB4ZWYsMHgwMCwweDMyLDB4YzAsMHg4OCwweGYwLDB4OGIsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWEwLCAwLCB7MHgzMywweGMwLDB4YWUsMHhmMCwweDAzLDB4YWMsMHg4MCwweGVhLDB4MDEsMHgzZSwweGMwLDB4MmMsMHhiMCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHg5YWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5YWMwLCAwLCB7MHgwNywweGQyLDB4ODMsMHhmYywweDAwLDB4ZGYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YWQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhkMCwweDBiLDB4ZWMsMHgwMCwweGVlLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHg5YWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY1LDB4MDAsMHhjZiwweDA4LDB4M2YsMHg0OCB9IH0sCi17ICAxNiwgMHg5YWYwLCAwLCB7MHgwZiwweGMzLDB4OTMsMHg3MCwweGQwLDB4ZGMsMHgzMCwweDNmLDB4ZDgsMHgwYywweGIyLDB4MDMsMHgzYywweGMwLDB4ZmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5YjAwLCAwLCB7MHgzMywweGM0LDB4MmMsMHhmMSwweDAzLDB4NjIsMHg1MCwweGZjLDB4MzQsMHgzMywweDAwLDB4MGYsMHg1YywweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGM0LDB4ODAsMHg4YiwweDAwLDB4MmYsMHg1YSB9IH0sCi17ICAxNiwgMHg5YjIwLCAwLCB7MHgwYiwweGE2LDB4MTIsMHgyMSwweGMwLDB4ODksMHg3MCwweDJmLDB4ZGMsMHgwOCwweGYyLDB4YzIsMHgzZCwweGQwLDB4YmYsMHg0MCB9IH0sCi17ICAxNiwgMHg5YjMwLCAwLCB7MHgzNywweGRjLDB4ODgsMHhmNSwweDBhLDB4MjAsMHg4MCwweGU4LDB4MTAsMHgyYSwweDE2LDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4MDAsMHg4MywweDA4LDB4MmMsMHg0NCB9IH0sCi17ICAxNiwgMHg5YjUwLCAwLCB7MHgwYiwweDAyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwMCwweDJjLDB4YzgsMHgwOCwweDMzLDB4NDIsMHg4YywweDkwLDB4YjMsMHgzMCB9IH0sCi17ICAxNiwgMHg5YjYwLCAwLCB7MHgyOCwweGM4LDB4NGEsMHgzMiwweDEyLDB4ODAsMHgwYywweGIwLDB4YTAsMHgyOCwweDI4LDB4MGIsMHgxMiwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHg5YjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGEyLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0OCB9IH0sCi17ICAxNiwgMHg5YjgwLCAwLCB7MHgwYiwweGEwLDB4MjIsMHgyMCwweDIwLDB4ODgsMHg4MCwweDJlLDB4YzAsMHgyOCwweGIwLDB4MGEsMHhhYywweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YjkwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YTAsMHgwMCwweGFiLDB4ODIsMHgyYSwweGEwLDB4MGIsMHhiMiwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGU3LDB4MDAsMHhjYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5YmIwLCAwLCB7MHhjZiwweDljLDB4MGIsMHgyMSwweDAwLDB4ZDgsMHg4OCwweDNlLDB4YzAsMHgwYywweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YmMwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHhiMCwweDQzLDB4ZTgsMHg0MCwweGY4LDB4ODAsMHgzYSwweDYwLDB4MGYsMHg5OCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI0LDB4MDAsMHhmZiwweDAwLDB4MGYsMHhlMCB9IH0sCi17ICAxNiwgMHg5YmUwLCAwLCB7MHgwNywweGExLDB4MDMsMHhlOCwweDAyLDB4ZmIsMHgwMCwweDNmLDB4YzAsMHgwZiwweDcwLDB4MjMsMHg3YywweDAwLDB4ZmYsMHgwMiB9IH0sCi17ICAxNiwgMHg5YmYwLCAwLCB7MHgzNSwweGMwLDB4NGQsMHhiMCwweDAzLDB4NzQsMHgyMCwweGZjLDB4MDEsMHgzZiwweDAwLDB4MGYsMHhmOCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE1LDB4MDAsMHhjYiwweDAwLDB4YmEsMHg0MCB9IH0sCi17ICAxNiwgMHg5YzEwLCAwLCB7MHgwYywweDE0LDB4MGIsMHgyZiwweDIyLDB4YzksMHg0MCwweDMyLDB4YzAsMHg4ZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzIwLCAwLCB7MHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg5MCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHg5YzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwMSwweDI0LDB4MDAsMHg4ZiwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHg5YzQwLCAwLCB7MHgyYywweGE1LDB4NDIsMHgyOSwweDAwLDB4OGIsMHgwNCwweGEzLDB4YzEsMHgwZCwweGYwLDB4MGEsMHgzYywweDAwLDB4YmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzUwLCAwLCB7MHgzZiwweGMwLDB4MDgsMHhmMCwweDAxLDB4NjksMHgwMCwweGRhLDB4MDUsMHgyMiwweGQwLDB4MDgsMHg5NCwweDAzLDB4NzIsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDYwLDB4NDAsMHg4MywweDAxLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHg5YzcwLCAwLCB7MHgwOSwweDAwLDB4MDIsMHgyMCwweDAwLDB4ODIsMHg2MCwweDIyLDB4YzAsMHgwOCwweDMwLDB4NDIsMHg0YywweDEwLDB4YmIsMHgwMiB9IH0sCi17ICAxNiwgMHg5YzgwLCAwLCB7MHgyYywweGMwLDB4MDgsMHhiMCwweDEyLDB4MDUsMHgwMCwweDliLDB4MDAsMHgyMCwweDgyLDB4MDksMHgzMiwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHg5YzkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4OTAsMHg4NywweDgwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHg5Y2EwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHgxNiwweDE0LDB4ODQsMHg4MSwweDIxLDB4ZTAsMHgyOSwweDM5LDB4MDIsMHg1ZSwweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHg5Y2IwLCAwLCB7MHgyOCwweGUwLDB4MDgsMHg3OCwweDAyLDB4N2EsMHg4MCwweDk2LDB4ODEsMHgyMSwweGUwLDB4MDksMHhmOCwweDAyLDB4NDgsMHgwMCB9IH0sCi17ICAxNiwgMHg5Y2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDksMHg4YiwweDEwLDB4MzgsMHg0NCB9IH0sCi17ICAxNiwgMHg5Y2QwLCAwLCB7MHg0ZCwweDI1LDB4MTIsMHgwYywweDAwLDB4YzIsMHgxMCwweDIyLDB4YzgsMHgwYSwweDM4LDB4MDMsMHhjYywweDAwLDB4ZjMsMHgxMCB9IH0sCi17ICAxNiwgMHg5Y2UwLCAwLCB7MHgyYywweGMwLDB4MGMsMHgzMCwweDAzLDB4OGEsMHhjMCwweGQ5LDB4MTAsMHgzMiwweDQwLDB4MmQsMHgxMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHg5Y2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4ODAsMHhmZiwweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZDAwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmNCwweDQwLDB4ZWQsMHgwMCwweDNmLDB4YzAsMHgwZSwweGYzLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDEwLCAwLCB7MHgzZiwweGMyLDB4MGYsMHhmMCwweDBiLDB4ZDQsMHgwMCwweGZmLDB4MTAsMHhiZiwweDgwLDB4MGUsMHhmMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHg5ZDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGZhLDB4MDAsMHhjYiwweDAyLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHg5ZDMwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhMCwweDAwLDB4Y2IsMHgwMCwweDNhLDB4Y2EsMHgwYywweGIzLDB4MTMsMHhhZiwweDI0LDB4Y2IsMHg0OCB9IH0sCi17ICAxNiwgMHg5ZDQwLCAwLCB7MHgxZSwweGM4LDB4MGYsMHhiNiwweDAzLDB4MmMsMHgwMCwweGZhLDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDgsMHg4NywweDIwLDB4MmQsMHhjNCB9IH0sCi17ICAxNiwgMHg5ZDYwLCAwLCB7MHgwYiwweDUwLDB4MTIsMHhkYywweDA0LDB4ODcsMHgwMCwweDJjLDB4YzAsMHgwOCwweDcwLDB4YTIsMHgxZCwweDAwLDB4YTcsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZDcwLCAwLCB7MHgyNSwweGNiLDB4OGIsMHg3NCwweDgyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMxLDB4MGIsMHg3MCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDEsMHg4NywweDkwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZDkwLCAwLCB7MHgwYiwweDc4LDB4MDIsMHhjZSwweDAwLDB4ODYsMHg4MCwweDJkLDB4ZTQsMHgyOSwweDdhLDB4MDIsMHg5ZSwweDgwLDB4ODcsMHhhMCB9IH0sCi17ICAxNiwgMHg5ZGEwLCAwLCB7MHg2ZCwweGU4LDB4MGIsMHg3OCwweDAyLDB4MWUsMHgwMCwweGI1LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNkLDB4MDAsMHg4MywweDAyLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHg5ZGMwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4ODMsMHhlMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZGQwLCAwLCB7MHgyNCwweGMwLDB4MGIsMHhiMCwweDAyLDB4MGUsMHgyMCwweGIzLDB4MDgsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4ODIsMHhjYSwweDAwLDB4M2UsMHhhOCB9IH0sCi17ICAxNiwgMHg5ZGYwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhmOCwweDAyLDB4OGUsMHg4MCwweDNlLDB4ODAsMHgwZCwweGEwLDB4NWIsMHhhOCwweDAwLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4M2IsMHg4MCwweGZlLDB4NDIsMHgyZiwweDgwLDB4MGYsMHhhOCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MjAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTIwLCAwLCB7MHgwZiwweDA2LDB4MDMsMHhjMCwweDAwLDB4ZjgsMHgxMSwweDNlLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTMwLCAwLCB7MHgzNiwweDAwLDB4MGYsMHg4MCwweDBiLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHgzZSwweDIwLDB4MGYsMHg4MSwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTUwLCAwLCB7MHgwYywweDlhLDB4MDMsMHgyNCwweDQwLDB4YzksMHhjMCwweDNlLDB4NDAsMHg0YywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTYwLCAwLCB7MHgzNiwweDQwLDB4MDcsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4MDQsMHgzMiwweDYwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZTcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDAyLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZTgwLCAwLCB7MHgwYSwweDkyLDB4MDIsMHgyNSwweDAyLDB4ODksMHhlMCwweDJlLDB4NDAsMHg5OCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHg5ZTkwLCAwLCB7MHgyMiwweDQwLDB4MDksMHg5MCwweDAyLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgyMiwweDQ0LDB4MGIsMHg5YywweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDJjLDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZWIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDI4LDB4ODksMHgwMCwweDJjLDB4NDAsMHg2OCwweDkwLDB4NDIsMHgyNCwweDBjLDB4YjEsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZWMwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDBhLDB4MmMsMHg4MCwweDgxLDB4MDAsMHgyMiwweDQwLDB4Y2IsMHg5MiwweDgyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMSwweDIwLDB4MmMsMHg0OCB9IH0sCi17ICAxNiwgMHg5ZWUwLCAwLCB7MHgwYSwweDEyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgyMSwweDJjLDB4NGMsMHgwOCwweDExLDB4MDIsMHgwNCwweDA4LDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHg5ZWYwLCAwLCB7MHgyMCwweDRjLDB4MDksMHgxMiwweDAyLDB4MjQsMHgwMSwweDkxLDB4MjAsMHhhMCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDQxLDB4ZTAsMHhmOCwweDUwLDB4M2UsMHgxNCB9IH0sCi17ICAxNiwgMHg5ZjEwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4YzgsMHg1MCwweDNlLDB4MTAsMHgwOCwweDA2LDB4ODMsMHgwMSwweGYwLDB4ZjgsMHg2OCB9IH0sCi17ICAxNiwgMHg5ZjIwLCAwLCB7MHgzNiwweDEwLDB4MGYsMHgwNSwweDAzLDB4MjksMHg0MCwweGM4LDB4NTAsMHgzMiwweDk0LDB4MGYsMHg4NSwweDAzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHg5ZjMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4MDAsMHhmOSwweDEwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHg5ZjQwLCAwLCB7MHgwZiwweGQxLDB4MGIsMHhmNCwweDQwLDB4ZmQsMHgxMiwweDJlLDB4NGMsMHgwMywweDkyLDB4MGIsMHhlNCwweDAwLDB4ZjksMHgyMCB9IH0sCi17ICAxNiwgMHg5ZjUwLCAwLCB7MHgzZSwweDRjLDB4MGYsMHg5MSwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MTAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHg5ZjYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MjAsMHhjOSwweDAxLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZjcwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzYywweDAwLDB4YmQsMHgwMCwweDMyLDB4NjMsMHgwYywweDllLDB4NDMsMHgyNywweDAwLDB4ZTksMHhjMCB9IH0sCi17ICAxNiwgMHg5ZjgwLCAwLCB7MHgzZSwweDY4LDB4MGMsMHg5OCwweDAzLDB4MzQsMHgwMCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZjkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGMyLDB4MjAsMHhkOCwweDAwLDB4MmUsMHgwMCB9IH0sCi17ICAxNiwgMHg5ZmEwLCAwLCB7MHgwYiwweDgwLDB4NTIsMHgyOCwweDA0LDB4YjgsMHgwMCwweDIyLDB4MzgsMHgwOCwweDg4LDB4MDMsMHg2MiwweDAwLDB4ODgsMHhmMCB9IH0sCi17ICAxNiwgMHg5ZmIwLCAwLCB7MHgyZSwweDNhLDB4NDgsMHg4ZiwweDBhLDB4MjAsMHgwMCwweGIwLDB4ODAsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHg5ZmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHg5ZmQwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDIwLDB4NDIsMHg0OCwweDE0LDB4NDIsMHgwNSwweDgwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHg5ZmUwLCAwLCB7MHgyYywweDQ0LDB4MDgsMHgxMCwweDgyLDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyYywweDQwLDB4MGIsMHgxMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHg5ZmYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE1LDB4MDEsMHg5OSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhhMDAwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNCwweDQwLDB4YmIsMHgwMSwweDIyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDEwLCAwLCB7MHgyYywweDQwLDB4MDgsMHgxMCwweDQwLDB4MjQsMHgwOCwweGI5LDB4NDAsMHg2ZSwweDUwLDB4MGIsMHg5MiwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4MTQsMHhjOSwweDA1LDB4M2UsMHg0MSB9IH0sCi17ICAxNiwgMHhhMDMwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgyNCwweDA0LDB4ZjksMHgwOCwweGIyLDB4NDAsMHgyYywweDkwLDB4MGEsMHgyNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhhMDQwLCAwLCB7MHgzZSwweDQwLDB4MmMsMHg5MCwweDAzLDB4MjcsMHgwMCwweGY5LDB4ODAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhhMDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg0LDB4ODgsMHhmOSwweDAwLDB4M2UsMHg0OCB9IH0sCi17ICAxNiwgMHhhMDYwLCAwLCB7MHgwZiwweDk5LDB4MDMsMHhlNiwweDAwLDB4ZjksMHgwMiwweDNjLDB4NDAsMHhhZiwweDEwLDB4MDMsMHhlNCwweDEyLDB4ZDksMHgwNCB9IH0sCi17ICAxNiwgMHhhMDcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHgwMCwweGY5LDB4YzAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDgzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhMDkwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHgyMSwweDAwLDB4YzgsMHg0MCwweGIyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDEwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMGEwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHg4MCwweGY4LDB4MDQsMHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHhjYSwweDAwLDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhhMGMwLCAwLCB7MHgwYiwweGU4LDB4MGEsMHgzOCwweDEwLDB4OGUsMHhjMCwweDIyLDB4ODAsMHgwZCwweGEwLDB4MDIsMHgyOCwweDAwLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMGQwLCAwLCB7MHgwMiwweDgwLDB4MjgsMHhhMCwweDAyLDB4ZmIsMHgwMCwweGJhLDB4MDAsMHgzNywweGIwLDB4NDgsMHhlYSwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMGUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAxLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhMGYwLCAwLCB7MHg4YiwweGIwLDB4NDIsMHgwYywweDkwLDB4OWIsMHgyMCwweDIwLDB4YzAsMHg0OCwweDMwLDB4NDIsMHgyYywweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTAwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2QsMHg0MCwweGIzLDB4MDAsMHgyNCwweGM4LDB4MDgsMHgzOCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhhMTIwLCAwLCB7MHgwYiwweDI0LDB4MDYsMHgxNiwweDAwLDB4OTMsMHgwOCwweDIxLDB4YzgsMHgwOSwweDMxLDB4MDIsMHgwYywweDgwLDB4ODcsMHhhMCB9IH0sCi17ICAxNiwgMHhhMTMwLCAwLCB7MHgyMSwweGMwLDB4MTgsMHg3MiwweDAyLDB4ZGMsMHgwMCwweGI3LDB4YjQsMHgyNCwweGUzLDB4MDgsMHg3OCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDIsMHg5NywweGEwLDB4M2QsMHhmMCB9IH0sCi17ICAxNiwgMHhhMTUwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHgzZSwweDAwLDB4ZDYsMHg4MCwweDMwLDB4ZTAsMHgyYywweDdhLDB4MDIsMHgxZSwweDgyLDB4YzMsMHhmMCB9IH0sCi17ICAxNiwgMHhhMTYwLCAwLCB7MHgzMywweGVjLDB4MGMsMHg3YywweDAzLDB4ZDYsMHgwMCwweGY3LDB4ODAsMHgzNSwweGUwLDB4MGMsMHhkOCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhhMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxOSwweGE1LDB4YTAsMHhmYiwweDAwLDB4M2UsMHhjYSB9IH0sCi17ICAxNiwgMHhhMTgwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlYywweDAyLDB4ZWEsMHgwMCwweDNlLDB4YzYsMHgwZiwweGI0LDB4MGIsMHhlZCwweDQwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMTkwLCAwLCB7MHhiZSwweGMwLDB4MGYsMHhiNiwweDQzLDB4ZTAsMHgwMCwweGZiLDB4MDIsMHgzZSwweDgwLDB4MGYsMHg5MCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhMWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDIsMHhjZiwweDg4LDB4M2YsMHhlMCB9IH0sCi17ICAxNiwgMHhhMWIwLCAwLCB7MHgwYywweGI5LDB4MDMsMHhmZSwweDAwLDB4ZGQsMHg4MSwweDMzLDB4ZTAsMHg4YywweGZjLDB4MDMsMHgzZiwweDA0LDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhhMWMwLCAwLCB7MHgzMywweGUyLDB4NGYsMHhmYywweDAzLDB4M2UsMHgwMCwweGNmLDB4YzAsMHgzMywweDY0LDB4MGMsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDk0LDB4NDAsMHg4NywweDAwLDB4MmYsMHhjMSB9IH0sCi17ICAxNiwgMHhhMWUwLCAwLCB7MHgwZCwweDY5LDB4YTIsMHhkMCwweDQwLDB4YmMsMHgwMCwweDIzLDB4YzAsMHgwOCwweGYwLDB4MDIsMHg5YywweDAwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhhMWYwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg3MCwweDBhLDB4M2MsMHgwNCwweDg3LDB4MTAsMHgyMSwweDRjLDB4MDgsMHg2MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDllLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhhMjEwLCAwLCB7MHgwOSwweDYyLDB4MDIsMHhkOCwweDAwLDB4OTcsMHgwMCwweDIxLDB4YzQsMHgwOCwweDcwLDB4MDIsMHgwYywweDQwLDB4OTcsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjIwLCAwLCB7MHgyMSwweGM0LDB4MGIsMHgzMCwweDAyLDB4NTgsMHgwMCwweGE3LDB4MDgsMHgyMSwweDgwLDB4MDgsMHg2MCwweDgyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGU0LDB4MjUsMHg4MywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhMjQwLCAwLCB7MHgwOSwweDIyLDB4MDIsMHhjYywweDIwLDB4YjIsMHgwMCwweDIwLDB4YzAsMHgyOCwweGIwLDB4MDIsMHg4YywweDAwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjUwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDQyLDB4NmMsMHgyMCwweDgzLDB4MDgsMHgyMCwweGUyLDB4MDgsMHhiOCwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGE0LDB4MDAsMHhjZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhMjcwLCAwLCB7MHgwZCwweDljLDB4MDMsMHhlOCwweDAwLDB4ZGIsMHg4MCwweDMzLDB4YzAsMHgwYywweGYwLDB4MGIsMHgzYywweDA2LDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhhMjgwLCAwLCB7MHhiMywweGMwLDB4MGIsMHhmMCwweDA3LDB4NjgsMHgwMCwweGVmLDB4NDAsMHgzMiwweGE4LDB4MGMsMHhhOCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhMjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhhMmEwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhjNSwweDQwLDB4ZmEsMHgzMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmIwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHgzMCwweDEzLDB4YWQsMHg0MCwweGZiLDB4MDIsMHgzZSwweGQwLDB4MGYsMHhiNCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGU0LDB4MDAsMHhjNywweDAwLDB4MzEsMHhjMSB9IH0sCi17ICAxNiwgMHhhMmQwLCAwLCB7MHg4YywweGQwLDB4MDMsMHgzNCwweDAwLDB4Y2QsMHgwMCwweDNkLDB4YzAsMHgwYywweGYwLDB4MDEsMHg3YywweDAwLDB4ZGIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMmUwLCAwLCB7MHgzZCwweGMwLDB4NGMsMHhmMCwweDBiLDB4MzAsMHgwMiwweGMzLDB4MDAsMHgzMiwweDAwLDB4MGYsMHhkMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhhMmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZlLDB4NDAsMHg4YiwweDAwLDB4MmEsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzAwLCAwLCB7MHgyOCwweDg0LDB4NDIsMHgyMiwweDgwLDB4ODgsMHg4MCwweDNhLDB4YzAsMHgwZCwweGIwLDB4MDIsMHhhYywweDA4LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzEwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjMsMHgyMCwweDhiLDB4MDAsMHgyMiwweDMwLDB4OGIsMHg4YywweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhMzIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzMwLCAwLCB7MHgwOCwweDM4LDB4ODYsMHgyYSwweDAwLDB4ODksMHg4MCwweDJhLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhjYywweDAwLDB4OWIsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzQwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhiMCwweDQyLDB4MjYsMHgwMCwweDhiLDB4MDAsMHgyMiwweDcxLDB4MGIsMHg4YywweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzYwLCAwLCB7MHgwOCwweDMyLDB4NDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDI4LDB4YzAsMHgwOSwweDMwLDB4NTIsMHg4YywweDA4LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhMzcwLCAwLCB7MHgyYywweGMwLDB4MTgsMHgzMCwweDA2LDB4MDAsMHgwMCwweDgzLDB4MDAsMHhhMCwweDAwLDB4MGIsMHgwMCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDc0LDB4MDIsMHg4YiwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhhMzkwLCAwLCB7MHgwYywweDkyLDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMCwweDNiLDB4YzAsMHgwYywweGY1LDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMSB9IH0sCi17ICAxNiwgMHhhM2EwLCAwLCB7MHgzZiwweGMxLDB4MDQsMHhmMCwweDMzLDB4MjEsMHg0MCwweGNmLDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDBiLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhhM2IwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhM2MwLCAwLCB7MHgwZiwweGM0LDB4MDMsMHhmMCwweDAwLDB4OWMsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhM2QwLCAwLCB7MHgyZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHg4MCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhM2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4YzAsMHhmZiwweGEwLDB4MzEsMHgyNCB9IH0sCi17ICAxNiwgMHhhM2YwLCAwLCB7MHgwZSwweGYwLDB4NjMsMHgxMCwweDA0LDB4ZWYsMHg2NCwweDNmLDB4YzAsMHg0YywweGYzLDB4MDMsMHgxYywweDgwLDB4ZGYsMHgwOCB9IH0sCi17ICAxNiwgMHhhNDAwLCAwLCB7MHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHhhMCwweGZjLDB4MDAsMHgzMSwweDA4LDB4MmMsMHhkMiwweDAzLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUxLDB4MDAsMHhiYiwweGMxLDB4MjIsMHg0OCB9IH0sCi17ICAxNiwgMHhhNDIwLCAwLCB7MHgwOCwweGZkLDB4MDIsMHgyZSwweDAwLDB4OTcsMHgwMCwweDJmLDB4YzIsMHg0OCwweDcxLDB4MjMsMHg3ZSwweDQwLDB4YmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDMwLCAwLCB7MHgyMSwweGM1LDB4NGIsMHhmNSwweDAyLDB4ZWYsMHgwMCwweGJiLDB4NDAsMHgzNiwweGUwLDB4MDgsMHhhOCwweDAyLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4ODQsMHhiMywweDExLDB4YTIsMHhjOSB9IH0sCi17ICAxNiwgMHhhNDUwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHgwMCwweDAxLDB4YjMsMHgzMCwweDI4LDB4YzQsMHgwOCwweDMyLDB4NDIsMHgwYywweDAwLDB4YTMsMHgwOCB9IH0sCi17ICAxNiwgMHhhNDYwLCAwLCB7MHhhMCwweGNhLDB4MGEsMHgzMiwweDgyLDB4ODAsMHgxMCwweGIwLDB4NDEsMHgyNCwweDExLDB4MDgsMHgzMSwweDAyLDB4ZTIsMHgwMSB9IH0sCi17ICAxNiwgMHhhNDcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE1LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhlMSB9IH0sCi17ICAxNiwgMHhhNDgwLCAwLCB7MHgyOCwweGIwLDB4MDIsMHgyYywweDgwLDB4OWIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNDkwLCAwLCB7MHgyMiwweGMwLDB4MGIsMHhiMCwweDAwLDB4ZWMsMHgyMCwweGJiLDB4MDAsMHgyNiwweGMwLDB4MDgsMHg4MCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUzLDB4NDAsMHhmNywweDA0LDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhhNGIwLCAwLCB7MHg0ZSwweGIwLDB4MjMsMHgyZSwweDIwLDB4ZWIsMHgwMCwweDFlLDB4YzAsMHgwYywweGIwLDB4MDEsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGMwLCAwLCB7MHgzNiwweGMwLDB4MWYsMHhiMCwweDAzLDB4ZTEsMHg0MCwweGZiLDB4MDAsMHgzNiwweDk4LDB4MGMsMHg5MCwweDAzLDB4ZDAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI2LDB4MDQsMHhmZiwweDAyLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhNGUwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhmZSwweDAwLDB4ZWYsMHgwMiwweDNkLDB4YzAsMHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhNGYwLCAwLCB7MHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY0LDB4MDAsMHgzYiwweDQwLDB4MGYsMHhhMCwweDEzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFhLDB4MjAsMHhlYiwweDEwLDB4MzYsMHhjMCB9IH0sCi17ICAxNiwgMHhhNTEwLCAwLCB7MHgwZCwweGIwLDB4MDcsMHhlYywweDIwLDB4ZGIsMHgwMCwweDMyLDB4YzAsMHgwYywweGIwLDB4MDIsMHg2YywweDIwLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTIwLCAwLCB7MHgzZSwweGMxLDB4MGQsMHhiMCwweDAzLDB4ZTAsMHgyMCwweGRiLDB4YTAsMHgzMiwweDkwLDB4NGMsMHhiMCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhNTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJkLDB4MDAsMHg4ZiwweDgwLDB4MjAsMHhjMSB9IH0sCi17ICAxNiwgMHhhNTQwLCAwLCB7MHgwOCwweDcwLDB4MTIsMHhjZiwweDAwLDB4OGYsMHgwMCwweGEzLDB4YzAsMHgwZCwweGYwLDB4MDIsMHgzYywweDAwLDB4OGYsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTUwLCAwLCB7MHgzNywweGMwLDB4ODgsMHhmMCwweDAyLDB4ZWMsMHgwMCwweDg4LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg4MCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhhMywweDgwLDB4MjQsMHg4MSB9IH0sCi17ICAxNiwgMHhhNTcwLCAwLCB7MHgwOSwweDMwLDB4MDYsMHhjYywweDQwLDB4OTMsMHgwMCwweDI4LDB4YzEsMHgwOCwweGIwLDB4MDIsMHhjZiwweDQwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTgwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzMCwweDAyLDB4Y2QsMHgwMCwweDkwLDB4NDAsMHg2MCwweDQwLDB4MjgsMHgxMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDBlLDB4MDAsMHg4NywweDgwLDB4MjMsMHhlMCB9IH0sCi17ICAxNiwgMHhhNWEwLCAwLCB7MHg0OCwweDc5LDB4MDIsMHhkZSwweDQxLDB4OTcsMHg4MCwweDI5LDB4ZTAsMHgxOSwweDc4LDB4MDYsMHg5ZSwweDAwLDB4ODcsMHg4MCB9IH0sCi17ICAxNiwgMHhhNWIwLCAwLCB7MHgyNSwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZDIsMHgwMywweDgzLDB4ODAsMHgyMSwweGEwLDB4MDgsMHg2OCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhhNWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhhMywweDAwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHhhNWQwLCAwLCB7MHgwZCwweDMwLDB4NDIsMHhjYywweDAxLDB4ZDMsMHgxMCwweDNhLDB4YzUsMHgwYywweDM5LDB4MDMsMHhjYywweDAwLDB4ZTMsMHgwNCB9IH0sCi17ICAxNiwgMHhhNWUwLCAwLCB7MHgzYywweGM0LDB4MGQsMHgzMCwweDAzLDB4Y2UsMHgwMCwweGQwLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHhmNywweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhNjAwLCAwLCB7MHgxZiwweGYwLDB4NTMsMHhmYywweDAwLDB4ZWYsMHgwOCwweDM3LDB4ZDEsMHgwZiwweGYwLDB4ODMsMHg3YywweDAwLDB4ZjcsMHg0MCB9IH0sCi17ICAxNiwgMHhhNjEwLCAwLCB7MHgzZiwweGMxLDB4MGYsMHhmMSwweDAzLDB4ZDAsMHgwMCwweGZmLDB4MDAsMHhiZiwweDg0LDB4MGYsMHhjOCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhhNjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGUwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhhNjMwLCAwLCB7MHgyYywweGJlLDB4ODMsMHhlYywweDAwLDB4ZWIsMHg0MCwweDNlLDB4YzAsMHgwZiwweGI0LDB4MDMsMHhlZCwweDIwLDB4ZmIsMHgxMCB9IH0sCi17ICAxNiwgMHhhNjQwLCAwLCB7MHhiNiwweGQyLDB4MGYsMHhiNCwweDgzLDB4ZWMsMHgwMCwweGRiLDB4ODAsMHgzNiwweGMxLDB4MGMsMHg5MCwweDIxLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhNjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhhNjYwLCAwLCB7MHgwOCwweDM2LDB4MDIsMHgwYywweDA4LDB4ODcsMHgzMCwweDJkLDB4ZDksMHg4YiwweDcyLDB4ODYsMHhkZCwweDAwLDB4YjMsMHgyMCB9IH0sCi17ICAxNiwgMHhhNjcwLCAwLCB7MHgyMSwweGM4LDB4MGIsMHg3NCwweDAyLDB4ZDAsMHgwMiwweDg0LDB4MDAsMHhhMCwweDAwLDB4MjgsMHgyMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDAsMHhiNywweDgwLDB4MmQsMHhlMCB9IH0sCi17ICAxNiwgMHhhNjkwLCAwLCB7MHgwOCwweDdhLDB4MDIsMHg5ZCwweDAwLDB4YTcsMHhhMCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDgwLDB4YTcsMHg4MCB9IH0sCi17ICAxNiwgMHhhNmEwLCAwLCB7MHgyMSwweGU0LDB4MDgsMHg3YSwweDI2LDB4OWUsMHgxOCwweDgzLDB4MDQsMHgyMSwweGUwLDB4MDgsMHg3OCwweDBhLDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHhhNmMwLCAwLCB7MHg1OCwweDMwLDB4MTIsMHgwZSwweDgyLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAxLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhNmQwLCAwLCB7MHgyMCwweGMxLDB4MGIsMHgzMCwweDAyLDB4YzAsMHgwOCwweDg4LDB4ZDIsMHgyMCwweDIwLDB4MDgsMHgwMCwweDAyLDB4NTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4NjAsMHhmYSwweDAwLDB4M2YsMHg4MiB9IH0sCi17ICAxNiwgMHhhNmYwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhmYSwweDAwLDB4YWEsMHgwMCwweDFlLDB4ODAsMHg4ZiwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZjIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzAwLCAwLCB7MHgzMiwweDgwLDB4MWYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgzNiwweDg4LDB4YWMsMHhlMCwweDAzLDB4N2EsMHgwNCB9IH0sCi17ICAxNiwgMHhhNzEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUxLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgyMCB9IH0sCi17ICAxNiwgMHhhNzIwLCAwLCB7MHg0ZiwweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjAsMHgwMCwweDNjLDB4MDAsMHgwYiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMiB9IH0sCi17ICAxNiwgMHhhNzMwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZjEsMHgwMCwweGZjLDB4MGEsMHgzZCwweDAwLDB4MGYsMHhjMCwweDAzLDB4OTIsMHgwMCB9IH0sCi17ICAxNiwgMHhhNzQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MDAsMHhjOSwweDkwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhhNzUwLCAwLCB7MHgwZiwweDkyLDB4MDMsMHhlNCwweDAwLDB4ZDksMHgwMCwweDMyLDB4NDAsMHgwNCwweDkwLDB4MDcsMHhlNywweDAwLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhhNzYwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHg5MCwweDQzLDB4ZTQsMHgwOSwweGQ5LDB4ODAsMHgyMiwweDQwLDB4MmMsMHgxMCwweDBiLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhhNzcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4NjAsMHg4OSwweGMwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhhNzgwLCAwLCB7MHgwYiwweDk4LDB4MjYsMHhjNSwweDgwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgyOCwweDkwLDB4MTIsMHhlNywweDEwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhNzkwLCAwLCB7MHgzNiwweDQwLDB4MjgsMHg5MCwweDEyLDB4YzUsMHg4MywweGM5LDB4ODAsMHhiNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2EwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MSB9IH0sCi17ICAxNiwgMHhhN2IwLCAwLCB7MHg0YiwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHgwMCwweGEyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHhlNSwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhhN2MwLCAwLCB7MHhlMiwweDQxLDB4MDgsMHg5MCwweDQyLDB4ZTQsMHgwMCwweDlkLDB4NTAsMHhhYiwweDRhLDB4MDgsMHhkMCwweDI2LDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhN2QwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODIsMHg4MSwweDIwLDB4MmMsMHg1MCB9IH0sCi17ICAxNiwgMHhhN2UwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTAsMHg0YSwweDE0LDB4MzIsMHhjNCwweDAwLDB4YjEsMHg0MCB9IH0sCi17ICAxNiwgMHhhN2YwLCAwLCB7MHgyNCwweDUxLDB4MTgsMHgxNCwweDEyLDB4ZDQsMHgwMCwweDg1LDB4NDAsMHgyZCwweDQwLDB4MDgsMHg1MCwweDA2LDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhODEwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHgwMCwweDMyLDB4MDAsMHgwYSwweDgwLDB4MDIsMHhlMCwweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhODIwLCAwLCB7MHgzMiwweDAwLDB4MDQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHhjMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhhODMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MSB9IH0sCi17ICAxNiwgMHhhODQwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhmNSwweDAwLDB4ZjksMHg0MCwweDNlLDB4NTAsMHgwZCwweDk0LDB4MDMsMHhlNSwweDEwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHhhODUwLCAwLCB7MHgzZSwweDUwLDB4NGYsMHg5NCwweDAzLDB4YzUsMHgwMCwweGU5LDB4NDEsMHgzNiwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhhODYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhmZCwweGE4LDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhhODcwLCAwLCB7MHgwYywweGQ4LDB4MjMsMHgzNiwweDAwLDB4ZTksMHhhMCwweDNlLDB4NzgsMHgwZiwweDllLDB4MDMsMHhiNiwweDgwLDB4Y2QsMHhlMiB9IH0sCi17ICAxNiwgMHhhODgwLCAwLCB7MHgzMiwweDY4LDB4MGMsMHg5YiwweDAzLDB4MzYsMHg4MiwweDRkLDB4YTAsMHgzNywweDY4LDB4OGMsMHg5OCwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhhODkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGViLDB4YTAsMHhiOCwweDQwLDB4MjAsMHgyMCB9IH0sCi17ICAxNiwgMHhhOGEwLCAwLCB7MHgwOCwweDg1LDB4MDIsMHgyMSwweDUxLDB4ODgsMHhjMCwweDJlLDB4MjksMHgwYiwweDhlLDB4MDIsMHhlMSwweDAwLDB4ZDgsMHhlMCB9IH0sCi17ICAxNiwgMHhhOGIwLCAwLCB7MHgyMiwweDMyLDB4MGQsMHg4ZCwweDIzLDB4NjEsMHg0OCwweDk4LDB4ZDQsMHhhMiwweDEwLDB4MjgsMHg4NCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhhOGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMywweDAwLDB4MmEsMHg0YSB9IH0sCi17ICAxNiwgMHhhOGQwLCAwLCB7MHgyOCwweDEwLDB4NGUsMHhhNCwweDA4LDB4YTEsMHg2OCwweDI4LDB4NDQsMHgwYiwweDE0LDB4MDIsMHhjNSwweDAwLDB4ODEsMHg0MCB9IH0sCi17ICAxNiwgMHhhOGUwLCAwLCB7MHhhMCwweDUwLDB4MDgsMHgxMCwweDAyLDB4MDQsMHgwMiwweDkxLDB4MmEsMHgyMCwweDQ0LDB4MjgsMHgxNCwweDRhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhOGYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGFjLDB4ODAsMHhiOSwweDAwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhhOTAwLCAwLCB7MHg0OCwweDkwLDB4MDYsMHhhNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MjIsMHhlNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTEwLCAwLCB7MHgyMiwweDQwLDB4MDksMHgxMCwweDAyLDB4NjQsMHgwMiwweDk5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4MzgsMHg1OCB9IH0sCi17ICAxNiwgMHhhOTMwLCAwLCB7MHgwYywweDkwLDB4NTMsMHg4NCwweDE0LDB4YTksMHgwNCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhhOTQwLCAwLCB7MHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCwweGQ5LDB4MDAsMHhiNiwweDQwLDB4NGMsMHg5MCwweDBiLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhhOTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAyLDB4M2UsMHg0OSB9IH0sCi17ICAxNiwgMHhhOTYwLCAwLCB7MHgwZiwweDEwLDB4NDMsMHg2NCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZjEsMHgwMiB9IH0sCi17ICAxNiwgMHhhOTcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMiwweGU5LDB4MDQsMHgzYywweDQwLDB4MGYsMHgxYywweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4ODAsMHhjOCwweDIwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhhOTkwLCAwLCB7MHg4YywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZTgsMHgwMiwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhhMCwweDgyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWEwLCAwLCB7MHg2YywweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgxMCwweGM4LDB4MDAsMHgzMiwweDAyLDB4MGMsMHg4MCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhhOWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM4LDB4MDAsMHg4NiwweDAwLDB4MmUsMHg4MCB9IH0sCi17ICAxNiwgMHhhOWMwLCAwLCB7MHg2OCwweGE4LDB4ODAsMHgzYSwweDAwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmOCwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWQwLCAwLCB7MHgyZSwweDgwLDB4MGIsMHhhMCwweDBhLDB4M2EsMHgwMCwweDhlLDB4MTAsMHgyMywweDgwLDB4MDgsMHhhMCwweDAzLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhOWUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRkLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhhOWYwLCAwLCB7MHgwOCwweDM4LDB4MDAsMHgwYywweDYwLDB4MjMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDQwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTAwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDhhLDB4ODAsMHhhMCwweGUwLDB4MjgsMHgzMCwweDBhLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDE2LDB4MjAsMHg4NywweDAyLDB4MmQsMHhjMSB9IH0sCi17ICAxNiwgMHhhYTIwLCAwLCB7MHg0OCwweDcwLDB4MTIsMHg3YywweDAwLDB4YTcsMHgyMCwweDJkLDB4YzksMHgwYiwweDcyLDB4MDAsMHhkYywweDAwLDB4ODcsMHgwOCB9IH0sCi17ICAxNiwgMHhhYTMwLCAwLCB7MHgyZCwweGM0LDB4MWIsMHgzMiwweDAyLDB4MWQsMHgwMSwweDg3LDB4NDIsMHgyMSwweGMyLDB4MDgsMHg3MCwweDAyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhYTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MDIsMHhjNywweDgwLDB4M2QsMHhlYyB9IH0sCi17ICAxNiwgMHhhYTUwLCAwLCB7MHgwYywweDU4LDB4MDMsMHgxZSwweDAwLDB4ZTcsMHg4MCwweDNkLDB4ZWMsMHgwZiwweDdmLDB4MDMsMHg5NiwweDAwLDB4YzcsMHg4MCB9IH0sCi17ICAxNiwgMHhhYTYwLCAwLCB7MHgyZCwweGUyLDB4MDcsMHg3OSwweDAzLDB4MGEsMHgwNiwweGMzLDB4ODAsMHgzMCwweDIwLDB4OGMsMHgzOCwweDAzLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhhYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhhYTgwLCAwLCB7MHgwZiwweDEwLDB4NDMsMHg4YywweDAwLDB4ZGIsMHgzOCwweDNlLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHhjYywweDA0LDB4ZmIsMHg0NCB9IH0sCi17ICAxNiwgMHhhYTkwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiNiwweDEzLDB4ZWMsMHgwMiwweGZmLDB4MDIsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhhYWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZhLDB4MDAsMHhmZiwweDgwLDB4MzEsMHhlMyB9IH0sCi17ICAxNiwgMHhhYWIwLCAwLCB7MHgwZSwweGY4LDB4MjMsMHhmZSwweDAyLDB4ZGYsMHg4MCwweGI3LDB4ZTIsMHgwZSwweGY4LDB4MDMsMHg3ZSwweDAwLDB4NmQsMHhkMCB9IH0sCi17ICAxNiwgMHhhYWMwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhmOCwweDliLDB4NzYsMHhjMCwweGRmLDB4ODQsMHhiMywweGUwLDB4MDQsMHhmOCwweDAzLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDkwLDB4NDAsMHhiNywweDAyLDB4MjEsMHhjNCB9IH0sCi17ICAxNiwgMHhhYWUwLCAwLCB7MHgwOCwweDdiLDB4NDIsMHhkYywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzQsMHgwYiwweDMwLDB4MDAsMHgxMCwweDgwLDB4OGQsMHgwMCB9IH0sCi17ICAxNiwgMHhhYWYwLCAwLCB7MHgyMywweGMwLDB4MGQsMHhmMiwweDAyLDB4MDQsMHg0MiwweDhmLDB4MDAsMHgyOSwweGM4LDB4MjgsMHg3MCwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4MDAsMHhiNiwweDAwLDB4MjMsMHhjMCB9IH0sCi17ICAxNiwgMHhhYjEwLCAwLCB7MHgwYSwweDcyLDB4MDIsMHg4YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgwYSwweDMwLDB4MDIsMHgwNCwweDAxLDB4YTcsMHgwMiB9IH0sCi17ICAxNiwgMHhhYjIwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDQyLDB4MDAsMHg4YSwweDg3LDB4MDAsMHgyMSwweGMwLDB4MjgsMHg3MCwweDAyLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGM1LDB4MDAsMHhiMCwweDAwLDB4YTAsMHhkMCB9IH0sCi17ICAxNiwgMHhhYjQwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhjOSwweDQyLDB4OGIsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MjIsMHgwNCwweDAwLDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjUwLCAwLCB7MHhhMCwweGMwLDB4NDksMHgzMCwweDAyLDB4NDUsMHg0MCwweDkzLDB4YzAsMHhhOCwweGQ0LDB4MDAsMHgzNSwweDAyLDB4YzgsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhiYiwweDAwLDB4MzEsMHhjMCB9IH0sCi17ICAxNiwgMHhhYjcwLCAwLCB7MHgwZSwweGIwLDB4MjMsMHhjZCwweDAwLDB4ZGYsMHgwMCwweDM3LDB4YzAsMHgwZSwweGYwLDB4MDEsMHg2OCwweDAwLDB4ZTMsMHgwMCB9IH0sCi17ICAxNiwgMHhhYjgwLCAwLCB7MHgzMywweGMwLDB4MWMsMHhmMCwweDAzLDB4NDUsMHgwMCwweGRhLDB4YzgsMHg5MiwweGQ0LDB4MmMsMHhiNCwweDAzLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhhYjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU1LDB4MjAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhhYmEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHg0ZiwweGIwLDB4MDMsMHhhZCwweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmIwLCAwLCB7MHg3ZSwweGMwLDB4MWYsMHgzMCwweDAzLDB4YTQsMHg4MCwweGU5LDB4MjAsMHgzYywweGMwLDB4MGYsMHgzMiwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjNywweDAwLDB4MzMsMHhjMiB9IH0sCi17ICAxNiwgMHhhYmQwLCAwLCB7MHgyYywweGYwLDB4MDMsMHgzZSwweDIwLDB4ZGIsMHgwMCwweDEzLDB4YzAsMHgwYywweDcwLDB4MDMsMHgzYywweDgwLDB4ZWYsMHgwNCB9IH0sCi17ICAxNiwgMHhhYmUwLCAwLCB7MHg3MywweGMxLDB4MGYsMHhmMCwweDIyLDB4MzAsMHgwMCwweGM2LDB4MDAsMHhiMiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhhYmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDY5LDB4MDAsMHg4YiwweDQ0LDB4YTIsMHhjMSB9IH0sCi17ICAxNiwgMHhhYzAwLCAwLCB7MHg4OCwweGIwLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyOCwweGIwLDB4MGEsMHgyZCwweDAwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzEwLCAwLCB7MHg2MiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMiwweDhiLDB4ODAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAzLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhhYzIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI4LDB4MDEsMHg4YSwweDA4LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzMwLCAwLCB7MHgwOCwweGIyLDB4MDIsMHg2YywweDQwLDB4OWIsMHgwMCwweDI4LDB4YzAsMHg0OCwweGIwLDB4MTYsMHgyOSwweDA0LDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhhYzQwLCAwLCB7MHgyMiwweGMwLDB4NDksMHhiMCwweDA2LDB4YWUsMHgwOSwweDhiLDB4ODAsMHgyMiwweGUwLDB4NDgsMHhiMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDIsMHg4MiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzYwLCAwLCB7MHg4OCwweGIwLDB4MDIsMHg0NCwweDAwLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwOCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhhYzcwLCAwLCB7MHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4OGMsMHgwMCwweDgzLDB4ODAsMHgyMCwweGUwLDB4MDgsMHgzMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhhYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhjYSwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhhYzkwLCAwLCB7MHgwYywweGIyLDB4MDMsMHgyYywweDAwLDB4ZGYsMHgwMCwweDNiLDB4YzAsMHg0YywweGY1LDB4MTMsMHgyYywweDA0LDB4ZWYsMHgwMCB9IH0sCi17ICAxNiwgMHhhY2EwLCAwLCB7MHhhMywweGMwLDB4MGQsMHhmMCwweDAzLDB4YTgsMHg0MCwweGNiLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhiMCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhhY2IwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGYwLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhhY2MwLCAwLCB7MHgwZiwweGIxLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhhY2QwLCAwLCB7MHgzZiwweGMwLDB4MDcsMHhmMCwweDBiLDB4N2MsMHgwOCwweGZmLDB4MDEsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4YTgsMHgwNiB9IH0sCi17ICAxNiwgMHhhY2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4YzUsMHhlZCwweDMzLDB4M2IsMHhjYyB9IH0sCi17ICAxNiwgMHhhY2YwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzMCwweDQwLDB4ZmYsMHgyNSwweDNmLDB4Y2MsMHgwYywweGYzLDB4ODMsMHgzYywweGQwLDB4ZGYsMHg0OCB9IH0sCi17ICAxNiwgMHhhZDAwLCAwLCB7MHgzNywweDMwLDB4NGMsMHhmMywweDAzLDB4ZmQsMHg4MCwweGNmLDB4MjgsMHgzMywweGQ4LDB4MGMsMHhmMSwweDAzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZDEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4ZDAsMHhiYiwweDMxLDB4MjAsMHhjYyB9IH0sCi17ICAxNiwgMHhhZDIwLCAwLCB7MHg4OCwweGYzLDB4NDIsMHgyMCwweDUwLDB4YmYsMHg5MCwweDJmLDB4YzQsMHgwYSwweGY2LDB4MDIsMHg3ZCwweGMwLDB4OGYsMHg0MCB9IH0sCi17ICAxNiwgMHhhZDMwLCAwLCB7MHgyNiwweDQwLDB4OGYsMHhmNiwweDAyLDB4ZmQsMHgwMCwweGZmLDB4MDgsMHgzOSwweGM4LDB4MDgsMHhmNiwweDAyLDB4YTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4ODAsMHhhMSwweDIwLDB4MjgsMHhjOSB9IH0sCi17ICAxNiwgMHhhZDUwLCAwLCB7MHgwOCwweDMwLDB4OWEsMHgwMCwweDA5LDB4YjMsMHgwMCwweDJjLDB4YzAsMHgyMCwweDMwLDB4MDIsMHg0YywweDkwLDB4ODMsMHgyMCB9IH0sCi17ICAxNiwgMHhhZDYwLCAwLCB7MHgwMiwweDA4LDB4MGIsMHgzMywweDEyLDB4Y2QsMHg4MCwweDkzLDB4MjAsMHgyNCwweGQ4LDB4MDgsMHgzNCwweDIyLDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhhZDcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGFlLDB4MDAsMHhiYiwweDEwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhhZDgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgyNiwweDAxLDB4M2IsMHgwMSwweDZlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0YywweDA4LDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZDkwLCAwLCB7MHhhMiwweDg5LDB4MGIsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHg2YSwweGMxLDB4MjgsMHhiMCwweDAyLDB4YjAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweDZlLDB4MDAsMHhlOCwweGMxLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHhhZGIwLCAwLCB7MHgyYywweGIwLDB4NDMsMHgyNiwweDAwLDB4ZmIsMHgwNiwweDNlLDB4YzEsMHgwYywweGIwLDB4MGIsMHgyYywweDAyLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhhZGMwLCAwLCB7MHgzNCwweDIyLDB4OWYsMHhiMCwweDQzLDB4ZWMsMHgwMCwweDliLDB4MDIsMHgzNiwweGMxLDB4OGMsMHhiMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDgwLDB4M2QsMHhkMCB9IH0sCi17ICAxNiwgMHhhZGUwLCAwLCB7MHgyZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmIsMHgwMCwweDNkLDB4YzAsMHgwNywweDMwLDB4MDMsMHhiYywweDAwLDB4ZWYsMHgwNCB9IH0sCi17ICAxNiwgMHhhZGYwLCAwLCB7MHgzZiwweGUwLDB4NWUsMHhiMCwweDAxLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgxYiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjYiwweDAxLDB4M2UsMHhjOSB9IH0sCi17ICAxNiwgMHhhZTEwLCAwLCB7MHgwYywweGIwLDB4MTcsMHgyMCwweDg0LDB4ZWIsMHgwMCwweGIyLDB4YzEsMHgwZCwweGIwLDB4MDMsMHg2YywweDAwLDB4YzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTIwLCAwLCB7MHgzMiwweDUwLDB4MGYsMHhiMCwweDAzLDB4MGMsMHg0MCwweGMzLDB4MDAsMHg3ZSwweGMwLDB4MGMsMHgzMCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhhZTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHg4YSwweDU4LDB4MmUsMHhlMCB9IH0sCi17ICAxNiwgMHhhZTQwLCAwLCB7MHg0OCwweGYwLDB4MDIsMHgyZCwweDAwLDB4ZWYsMHgwMSwweDIzLDB4YzAsMHgwOCwweGYwLDB4MjIsMHgzYywweDA0LDB4OGYsMHg2MCB9IH0sCi17ICAxNiwgMHhhZTUwLCAwLCB7MHgzNiwweDU0LDB4MGIsMHhmMCwweDBhLDB4M2QsMHg0MCwweDhmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAzLDB4NzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDAsMHg4OSwweDgwLDB4MmMsMHgxMCB9IH0sCi17ICAxNiwgMHhhZTcwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHg0OSwweDAwLDB4YTMsMHhhMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHhjOSB9IH0sCi17ICAxNiwgMHhhZTgwLCAwLCB7MHgyMCwweDkwLDB4NDIsMHgzMCwweDEyLDB4NGQsMHgwMCwweDgzLDB4MDAsMHg2YSwweGMwLDB4MDksMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4MDAsMHg4NSwweDgwLDB4NmQsMHg2MiB9IH0sCi17ICAxNiwgMHhhZWEwLCAwLCB7MHgwOCwweDdlLDB4MDIsMHg1NiwweDQwLDB4MjcsMHg4MCwweDI1LDB4ZTAsMHgxOSwweDc4LDB4MDYsMHgwZSwweDAwLDB4ODMsMHg4MCB9IH0sCi17ICAxNiwgMHhhZWIwLCAwLCB7MHg2MSwweGEwLDB4MGIsMHg3OCwweDAyLDB4NGUsMHgwMCwweDg3LDB4ODIsMHg2ZCwweGUwLDB4MDksMHg3OSwweDAyLDB4NDgsMHgwMCB9IH0sCi17ICAxNiwgMHhhZWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDJjLDB4MDIsMHhjMywweDYxLDB4M2MsMHg4OCB9IH0sCi17ICAxNiwgMHhhZWQwLCAwLCB7MHgyYywweGJhLDB4MTIsMHg0OSwweDEwLDB4ZTMsMHgyYywweDM2LDB4YzAsMHgwZCwweDMwLDB4NTMsMHg0YywweDQ0LDB4YzMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZWUwLCAwLCB7MHgyMCwweDAxLDB4MGYsMHgzMSwweDAzLDB4NGMsMHgwMCwweGMzLDB4MDEsMHgzYywweGMwLDB4MmQsMHhiMSwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhhZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjAwLCAwLCB7MHg0ZiwweGYxLDB4MDksMHhiMCwweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZSwweGY0LDB4MDEsMHhmZCwweDI0LDB4ZmYsMHg0MCB9IH0sCi17ICAxNiwgMHhhZjEwLCAwLCB7MHhiZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4YmMsMHgwMCwweDZmLDB4MTAsMHgzZiwweGM0LDB4MWUsMHhmMSwweDgzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhhZjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGM0LDB4MDAsMHhlOCwweDA0LDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjMwLCAwLCB7MHgwYywweGI2LDB4MDMsMHhlOCwweDAyLDB4Y2IsMHgwMCwweDM2LDB4Y2EsMHgwZiwweGI1LDB4MDMsMHhhZCwweDAwLDB4ZmIsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjQwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHhiMywweDAzLDB4ZWMsMHg4MCwweGZiLDB4YTgsMHgzMiwweGM2LDB4OGMsMHhiNiwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDIsMHhlNiwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZjYwLCAwLCB7MHgwOCwweDczLDB4MDIsMHhkYywweDAwLDB4ODcsMHg3MCwweDJkLDB4ZDAsMHgwYiwweGYwLDB4MDIsMHgxYywweDg0LDB4YjcsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjcwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDgyLDB4ZGQsMHgyNCwweGI3LDB4NDAsMHgzNCwweGM5LDB4MjgsMHg3MiwweDgyLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhZjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJlLDB4MDIsMHhhYywweDgwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHhhZjkwLCAwLCB7MHgwOCwweDc5LDB4MDAsMHhjZSwweDA0LDB4ODcsMHg4MCwweDY1LDB4ZTAsMHgwYiwweDdhLDB4MDIsMHg5ZSwweDAwLDB4YjcsMHg5MCB9IH0sCi17ICAxNiwgMHhhZmEwLCAwLCB7MHg2ZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGVkLDB4ODIsMHhhYiwweGUwLDB4MjAsMHhlNCB9IH0sCi17ICAxNiwgMHhhZmMwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhlZSwweDA0LDB4ODMsMHgwMCwweDJjLDB4YzEsMHgxYiwweDMwLDB4MDIsMHgwYywweDA4LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhhZmQwLCAwLCB7MHg2NCwweGY2LDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyNiwweGMwLDB4MDgsMHgzMCwweDAyLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhhZmUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJiLDB4ODAsMHhlZSwweDQ5LDB4MzEsMHhhMCB9IH0sCi17ICAxNiwgMHhhZmYwLCAwLCB7MHgyYywweGEwLDB4MDMsMHhmYSwweDAwLDB4Y2EsMHgwMiwweDM2LDB4ODAsMHgwZiwweGEwLDB4MDMsMHhhOCwweDAwLDB4ZmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiMDAwLCAwLCB7MHgzZiwweDkwLDB4MGYsMHhhMCwweDYzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDIzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhiMDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MGEsMHhlOCwweDAwLDB4M2UsMHgwOCB9IH0sCi17ICAxNiwgMHhiMDIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlMywweDUwLDB4ZjAsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDMwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGY4LDB4MDEsMHg3ZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4NDAsMHhjOSwweGExLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMDUwLCAwLCB7MHgyMCwweDExLDB4MDEsMHhhNiwweDQwLDB4YzksMHg4NCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHg0NCwweDAwLDB4NDEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMDYwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5MCwweDBiLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGMsMHgxMCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiMDcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHg4OSwweDgyLDB4YTIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMDgwLCAwLCB7MHgwOCwweDljLDB4MDIsMHgyNSwweDAwLDB4ODksMHhjOCwweDIyLDB4NDAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4ODksMHgyMCB9IH0sCi17ICAxNiwgMHhiMDkwLCAwLCB7MHgyMiwweDYwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgxMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAzLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDA0LDB4MjIsMHhjYSB9IH0sCi17ICAxNiwgMHhiMGIwLCAwLCB7MHgwYSwweDkwLDB4MGEsMHgyNSwweDAyLDB4ODksMHgyMCwweDIwLDB4NDAsMHgyOCwweDEwLDB4MDIsMHg2NCwweDAxLDB4YTksMHgwMCB9IH0sCi17ICAxNiwgMHhiMGMwLCAwLCB7MHgyMiwweDRiLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwMSwweGI5LDB4MDAsMHgyZSwweDQxLDB4MjgsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4OTAsMHg4MSwweGEwLDB4MjAsMHg0OCB9IH0sCi17ICAxNiwgMHhiMGUwLCAwLCB7MHgwYSwweDMyLDB4MDIsMHgwNCwweDgwLDB4ODEsMHgwMCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNCwweGQwLDB4YTEsMHgyMCB9IH0sCi17ICAxNiwgMHhiMGYwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHgxMSwweDAyLDB4MDYsMHgwMCwweGIxLDB4MzEsMHgyYywweDQ4LDB4MDgsMHgxNCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDIsMHhjOCwweDU0LDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhiMTEwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHgyMSwweDQ0LDB4YzgsMHgyOCwweGIyLDB4MWEsMHg0YywweDg2LDB4OTMsMHg2MSwweDE0LDB4ZTgsMHg1MCB9IH0sCi17ICAxNiwgMHhiMTIwLCAwLCB7MHgyMiwweDE0LDB4MGYsMHg4NiwweDgzLDB4MjEsMHg0MCwweGYwLDB4NDAsMHgxZSwweDE0LDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiMTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweDc0LDB4NDQsMHhmNSwweDEwLDB4M2YsMHg0NCB9IH0sCi17ICAxNiwgMHhiMTQwLCAwLCB7MHgwZCwweDkxLDB4MDMsMHg3NCwweDQwLDB4ZjksMHgwMCwweDNlLDB4NDgsMHgwYiwweDkyLDB4MDMsMHhlNCwweGMyLDB4ZDksMHgxMCB9IH0sCi17ICAxNiwgMHhiMTUwLCAwLCB7MHhiZiwweDQwLDB4MGYsMHg5MiwweDAzLDB4ZTUsMHgwNCwweGY5LDB4MzAsMHgzZSwweDQ0LDB4MGYsMHg5NCwweDQzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiMTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MjIsMHhjZCwweGExLDB4MzMsMHg2MSB9IH0sCi17ICAxNiwgMHhiMTcwLCAwLCB7MHgwYywweGQ4LDB4ZDMsMHgzNCwweDEwLDB4Y2QsMHhhOCwweDNlLDB4NjAsMHg4ZSwweDljLDB4OTMsMHhhNywweDA4LDB4Y2QsMHg4MCB9IH0sCi17ICAxNiwgMHhiMTgwLCAwLCB7MHgzMywweDQwLDB4MGUsMHg5YSwweGQzLDB4MzYsMHhhMCwweGM5LDB4ODAsMHgzMiwweDYwLDB4MGMsMHg5OSwweDAzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiMTkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUzLDB4ODgsMHg4YSwweGEwLDB4MjAsMHgyOCB9IH0sCi17ICAxNiwgMHhiMWEwLCAwLCB7MHgwOCwweDgwLDB4MjIsMHgyMCwweDEyLDB4ODgsMHg0MCwweDJjLDB4MjgsMHgwOCwweDhhLDB4MDIsMHgyMiwweDAwLDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMWIwLCAwLCB7MHgyMiwweDAwLDB4MGIsMHg4YywweDAzLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHhhMiwweDNlLDB4MjgsMHg4ZCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhiMWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGNlLDB4MjAsMHhhMSwweDQ4LDB4MjAsMHg1MiB9IH0sCi17ICAxNiwgMHhiMWQwLCAwLCB7MHgyOSwweDEwLDB4MDIsMHgyNCwweDAzLDB4ODEsMHgwMCwweDJjLDB4NTIsMHgwYSwweDEwLDB4MTIsMHg4NSwweDEwLDB4OTEsMHg0MCB9IH0sCi17ICAxNiwgMHhiMWUwLCAwLCB7MHhhNCwweDQwLDB4MGEsMHgxMiwweDgyLDB4NDQsMHgwMCwweDkxLDB4MjgsMHgyNCwweDQwLDB4MjgsMHgxMiwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiMWYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHhhOSwweDE0LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiMjAwLCAwLCB7MHgwOSwweDkwLDB4MDIsMHhhNCwweDAxLDB4ODksMHgwNCwweDJjLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4OTksMHgwMCB9IH0sCi17ICAxNiwgMHhiMjEwLCAwLCB7MHgyMiwweDQ0LDB4NGIsMHgxMCwweDQyLDB4MjQsMHgxNCwweDk5LDB4MDAsMHgyNiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4NDAsMHhlOSwweDQwLDB4YjIsMHg3OCB9IH0sCi17ICAxNiwgMHhiMjMwLCAwLCB7MHgwZCwweDkwLDB4MGIsMHgyNCwweDIyLDB4YzksMHgwMywweDNlLDB4NDEsMHgwZSwweDkwLDB4MDMsMHhhNCwweDAyLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHhiMjQwLCAwLCB7MHgxNiwweDU4LDB4MDYsMHg5MCwweDBiLDB4NjQsMHgwMiwweGQ5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhiMjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg0YSB9IH0sCi17ICAxNiwgMHhiMjYwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg2NCwweDIwLDB4ZjksMHgwOCwweDNlLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTEsMHgwOCB9IH0sCi17ICAxNiwgMHhiMjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGUxLDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiMjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDksMHhmMCwweDQwLDB4YjAsMHgxMCB9IH0sCi17ICAxNiwgMHhiMjkwLCAwLCB7MHg0YywweDAwLDB4MGIsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAsMHgxYywweDAwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmEwLCAwLCB7MHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhiMmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDI4LDB4MDAsMHgzZSwweDg4LDB4MjMsMHhhMiB9IH0sCi17ICAxNiwgMHhiMmMwLCAwLCB7MHg0OCwweGUwLDB4MDAsMHgxOSwweDgwLDB4YmUsMHg4OCwweDJlLDB4ODAsMHgwZCwweGEwLDB4NDIsMHhlOCwweDAwLDB4OGUsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmQwLCAwLCB7MHgyMywweDkwLDB4MDgsMHhhMCwweDBhLDB4M2EsMHgwMCwweGRhLDB4MDAsMHgzNiwweDgwLDB4MGIsMHhhMCwweDBhLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMmUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDgwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhiMmYwLCAwLCB7MHgyOCwweDMwLDB4YzIsMHgwZiwweDEwLDB4YjMsMHg0MCwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhlYywweDExLDB4ODMsMHg0MCB9IH0sCi17ICAxNiwgMHhiMzAwLCAwLCB7MHgyOCwweGQyLDB4MGEsMHgzMCwweDAyLDB4MGMsMHhjMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNiwweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhiMzIwLCAwLCB7MHgwOCwweDIwLDB4YzIsMHgxYywweDEwLDB4YjUsMHgwMCwweDJkLDB4YzgsMHgwYSwweDcyLDB4MDIsMHhkYywweDQwLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHhiMzMwLCAwLCB7MHgyOSwweGEyLDB4MWEsMHg3MiwweDIyLDB4MGMsMHgwMCwweDkzLDB4MzAsMHgwNSwweGM0LDB4MGIsMHgzMiwweDIyLDB4MjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiMzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDE2LDB4MDAsMHhiMiwweDgwLDB4MzEsMHgyMCB9IH0sCi17ICAxNiwgMHhiMzUwLCAwLCB7MHgwYywweDU4LDB4MDMsMHgxZSwweDAwLDB4ZjcsMHg4MCwweDM5LDB4ZjgsMHgwYiwweDdjLDB4MjIsMHhjZSwweDQwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhiMzYwLCAwLCB7MHg5YiwweDYwLDB4MmUsMHgzYiwweDAzLDB4MWEsMHgwMCwweGM3LDB4YTgsMHgxMSwweGUwLDB4MGYsMHg3OCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhiMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGE0LDB4MDAsMHhmYSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiMzgwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlOCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ZDAsMHgyZCwweGI2LDB4MDMsMHhlZCwweDAyLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiMzkwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHhiMCwweDA3LDB4ZWMsMHgwMCwweGZiLDB4NjAsMHgzZSwweGM4LDB4MGYsMHhiNSwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhiM2EwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweDgwLDB4MzMsMHhhMCB9IH0sCi17ICAxNiwgMHhiM2IwLCAwLCB7MHgwYywweGY4LDB4MGIsMHgzMiwweDQwLDB4Y2UsMHg4MSwweDM3LDB4ZjAsMHgwYywweGJjLDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4NCB9IH0sCi17ICAxNiwgMHhiM2MwLCAwLCB7MHgzMywweGUwLDB4MmMsMHhmOCwweDgzLDB4ZTYsMHgwMiwweGNmLDB4ODUsMHgzMywweGYwLDB4MGMsMHhmYywweDAzLDB4MDAsMHgxNCB9IH0sCi17ICAxNiwgMHhiM2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHhiZSwweDAwLDB4MzUsMHhjNiB9IH0sCi17ICAxNiwgMHhiM2UwLCAwLCB7MHgyOCwweDMwLDB4MDIsMHgzMCwweDQwLDB4ODcsMHgwMCwweDIzLDB4YzAsMHgwOCwweDdhLDB4MDIsMHhkYywweDAwLDB4YmUsMHgwMCB9IH0sCi17ICAxNiwgMHhiM2YwLCAwLCB7MHgyMywweGMwLDB4MDgsMHg3MCwweDEyLDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk1LDB4MjAsMHhiNiwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhiNDEwLCAwLCB7MHgwOCwweDMxLDB4MDIsMHg1YywweDAxLDB4ODcsMHgwMCwweDI1LDB4YzAsMHgwOCwweDcyLDB4MDIsMHhkYywweDAwLDB4YjYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDIwLCAwLCB7MHgyMSwweGQwLDB4MDksMHg3MCwweDAyLDB4ZDQsMHgwOCwweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGM0LDB4MDAsMHhiMCwweGUwLDB4MjQsMHg2MCB9IH0sCi17ICAxNiwgMHhiNDQwLCAwLCB7MHgwOCwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA0LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDUwLCAwLCB7MHgyMCwweDg0LDB4MGIsMHgzMCwweDAyLDB4ZTgsMHgwMCwweDliLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiNDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhiOSwweGUwLDB4MzIsMHg4MCB9IH0sCi17ICAxNiwgMHhiNDcwLCAwLCB7MHg2YywweGIwLDB4MjMsMHg2ZiwweDAwLDB4YzMsMHgwMCwweDM3LDB4YzEsMHgzYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDgwLCAwLCB7MHhiMCwweGMwLDB4MDksMHhmMCwweDAzLDB4ZWMsMHgxMCwweGRmLDB4MDAsMHg3MywweGMwLDB4MGMsMHhmMCwweDBiLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiNDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MTAsMHhmOCwweDAwLDB4M2UsMHg0MiB9IH0sCi17ICAxNiwgMHhiNGEwLCAwLCB7MHgwZiwweDI0LDB4MDMsMHhhOCwweDYwLDB4ZjgsMHgwMCwweDNjLDB4YzEsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHg0MCB9IH0sCi17ICAxNiwgMHhiNGIwLCAwLCB7MHgzZSwweDgwLDB4MDQsMHhiMCwweDIzLDB4ZTEsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhlZSwweDAwLDB4M2QsMHgzMCB9IH0sCi17ICAxNiwgMHhiNGQwLCAwLCB7MHgwYywweGMwLDB4MDMsMHgxNCwweDAwLDB4Y2MsMHhhMCwweGIzLDB4YzAsMHg0YywweDcwLDB4MDMsMHg1YywweDEwLDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNGUwLCAwLCB7MHgzZiwweDAwLDB4MGMsMHhmMCwweDAzLDB4ZjgsMHgwMCwweGNmLDB4MDAsMHgyMywweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHg0MCB9IH0sCi17ICAxNiwgMHhiNGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDY0LDB4MDAsMHhiYSwweDgxLDB4MmUsMHg1OCB9IH0sCi17ICAxNiwgMHhiNTAwLCAwLCB7MHgwOCwweDg4LDB4MDIsMHgyNywweDgwLDB4ODksMHgyMCwweDIyLDB4YzAsMHgyOCwweGIwLDB4MDIsMHgyYywweDAwLDB4ODgsMHg4MyB9IH0sCi17ICAxNiwgMHhiNTEwLCAwLCB7MHgyZSwweDIwLDB4MDUsMHhiMCwweDYyLDB4ZTMsMHgwMCwweDhiLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAzLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHhiNTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiOSwweDgxLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhiNTMwLCAwLCB7MHgwOCwweDhjLDB4MDYsMHgyNiwweDAwLDB4ODgsMHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MTYsMHg2YywweDAwLDB4OTgsMHg4OCB9IH0sCi17ICAxNiwgMHhiNTQwLCAwLCB7MHgyZSwweDIwLDB4MDgsMHhiMCwweDA0LDB4ZTMsMHgwMSwweDBiLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHhiMCwweDAwLDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhiNTYwLCAwLCB7MHgyOCwweDAwLDB4MGUsMHgwMCwweDEwLDB4ODAsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMyLDB4MDIsMHgwYywweDAwLDB4ODAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNTcwLCAwLCB7MHgyZSwweDIwLDB4MDksMHgzMCwweDAyLDB4YzQsMHgxMiwweDgzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmYSwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiNTkwLCAwLCB7MHgyYywweDkxLDB4MDMsMHgyMCwweDAwLDB4OGEsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4MDMsMHg3YywweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhiNWEwLCAwLCB7MHgyZSwweDQwLDB4MGMsMHhmMCwweDAzLDB4ZTAsMHg4MCwweGNmLDB4MDAsMHgzYiwweGMwLDB4MGMsMHhmMCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhiNWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGZjLDB4MDAsMHhmYywweDAxLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhiNWMwLCAwLCB7MHgwZiwweGMwLDB4MTMsMHhmMCwweDAwLDB4ZjQsMHgwMCwweDNmLDB4YzEsMHgwZiwweGY0LDB4MjMsMHhmYywweDA4LDB4ZmMsMHgwMCB9IH0sCi17ICAxNiwgMHhiNWQwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHg0MCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhiNWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MjAsMHhjZCwweDEwLDB4MzksMHhjOCB9IH0sCi17ICAxNiwgMHhiNWYwLCAwLCB7MHgwZCwweGMxLDB4MDMsMHgzYywweDgwLDB4ZWYsMHg5MCwweDIzLDB4ZDgsMHgwZiwweGY4LDB4MDAsMHhmZSwweDAwLDB4Y2YsMHg4MCB9IH0sCi17ICAxNiwgMHhiNjAwLCAwLCB7MHgxZiwweGQwLDB4MGYsMHhmOSwweDAzLDB4ZmYsMHgwMCwweGU3LDB4YzAsMHgzMywweGM0LDB4MGYsMHhmMCwweDAzLDB4YjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweGZlLDB4MDIsMHg4OSwweDQwLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHhiNjIwLCAwLCB7MHgwOCwweDg1LDB4MTAsMHgzYywweDAwLDB4OGIsMHgwMCwweGEzLDB4ZGMsMHg0YiwweGIyLDB4ODIsMHhlYywweDIwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjMwLCAwLCB7MHgyNiwweGMwLDB4NGIsMHhiMCwweDAyLDB4ZWMsMHgxMCwweGI5LDB4MDQsMHgyYSwweGM5LDB4MGIsMHhiNSwweDgwLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweGNjLDB4MDAsMHg4MSwweDY0LDB4MjgsMHhjNCB9IH0sCi17ICAxNiwgMHhiNjUwLCAwLCB7MHgwOSwweGIyLDB4MGEsMHgwYywweGYwLDB4YTMsMHgyMCwweDIwLDB4YzgsMHgwYiwweDMyLDB4MDIsMHhlYywweDAyLDB4ODMsMHgwOCB9IH0sCi17ICAxNiwgMHhiNjYwLCAwLCB7MHgyYywweGM4LDB4MDksMHgzMiwweDAyLDB4Y2MsMHg4MCwweGFiLDB4YTAsMHgyMCwweGM4LDB4MGIsMHgzMiwweDAwLDB4YjIsMHgwMSB9IH0sCi17ICAxNiwgMHhiNjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MTAsMHg4OSwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiNjgwLCAwLCB7MHgwOCwweGIyLDB4MTIsMHgyYywweDAyLDB4MGIsMHgwMCwweDIyLDB4YzAsMHgwYiwweGI4LDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNjkwLCAwLCB7MHgyNiwweGMwLDB4NGIsMHhiMCwweDQ2LDB4ZWMsMHgwMCwweGI5LDB4MDAsMHgwYSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZDAsMHgxNSwweGVjLDB4MTAsMHhjOSwweGUwLDB4M2EsMHhjMCB9IH0sCi17ICAxNiwgMHhiNmIwLCAwLCB7MHgwZCwweDI4LDB4MDMsMHgyYywweDAwLDB4ZWIsMHgxMCwweDMyLDB4YzAsMHgwZiwweDgyLDB4MDMsMHhjNCwweDAwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmMwLCAwLCB7MHgzZSwweGMxLDB4MGYsMHhiMCwweDA2LDB4ZWMsMHgwOCwweGU5LDB4MDAsMHhiMiwweGMwLDB4MGYsMHhiMCwweDEzLDB4OTAsMHgwNCB9IH0sCi17ICAxNiwgMHhiNmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDljLDB4MDAsMHhmNSwweGEwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiNmUwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhmYywweDA4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGMwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiNmYwLCAwLCB7MHgzNywweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDQwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHhiNzEwLCAwLCB7MHgwZCwweGI0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHg0MCwweDNlLDB4YzAsMHgyYywweDgwLDB4MDMsMHg2NCwweDA4LDB4ZmIsMHgxMCB9IH0sCi17ICAxNiwgMHhiNzIwLCAwLCB7MHgzZSwweGM2LDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4ODAsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4MTQsMHgwNCB9IH0sCi17ICAxNiwgMHhiNzMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDNlLDB4MjAsMHhlOSwweGM4LDB4MzcsMHhkNCB9IH0sCi17ICAxNiwgMHhiNzQwLCAwLCB7MHg0OCwweGFhLDB4MjIsMHgxYywweDAwLDB4OGIsMHgwMCwweDZmLDB4ZTAsMHgwOCwweDg1LDB4ODIsMHhlZCwweDQwLDB4YmIsMHg4NCB9IH0sCi17ICAxNiwgMHhiNzUwLCAwLCB7MHgyZiwweGMwLDB4NGIsMHhiOCwweDAzLDB4YWQsMHg0MCwweGIzLDB4MDAsMHgyMywweGQ0LDB4MDgsMHhmNywweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDRjLDB4MDAsMHhiMSwweDY0LDB4YTQsMHhjMCB9IH0sCi17ICAxNiwgMHhiNzcwLCAwLCB7MHgwOSwweDIwLDB4MGEsMHgwYywweDA0LDB4YjgsMHgwMCwweDZjLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjOCwweDQwLDB4YjMsMHg4MCB9IH0sCi17ICAxNiwgMHhiNzgwLCAwLCB7MHgyYywweGQxLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiNzkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMSwweDFlLDB4MDAsMHhhNSwweDgwLDB4MjUsMHhlMCB9IH0sCi17ICAxNiwgMHhiN2EwLCAwLCB7MHg4OCwweDNhLDB4MTIsMHgxZSwweDAwLDB4YTYsMHg5MCwweDJkLDB4ZTIsMHgwOCwweDc5LDB4MDIsMHhkYSwweDAwLDB4YjcsMHg4MiB9IH0sCi17ICAxNiwgMHhiN2IwLCAwLCB7MHgyZCwweGUwLDB4MDMsMHg3OCwweDgyLDB4OWUsMHgwMCwweGJjLDB4YzEsMHgyOSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MmMsMHgxMCB9IH0sCi17ICAxNiwgMHhiN2MwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDksMHgwOCwweDBjLDB4MDAsMHhmMywweDAwLDB4MzQsMHhjMCB9IH0sCi17ICAxNiwgMHhiN2QwLCAwLCB7MHgwZCwweDNlLDB4MDMsMHgwYywweDAwLDB4ZjAsMHg0MCwweDJlLDB4YzAsMHgwYywweDMwLDB4NDMsMHhjOCwweDAwLDB4ZjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiN2UwLCAwLCB7MHgzYywweGMwLDB4MDcsMHgzMCwweDAzLDB4Y2MsMHg4MCwweGYyLDB4MDAsMHgzOCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhiN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxOSwweGJkLDB4MjAsMHhmNywweDAwLDB4M2YsMHhjMiB9IH0sCi17ICAxNiwgMHhiODAwLCAwLCB7MHgwZiwweGYxLDB4MGIsMHhkYywweDIwLDB4ZGUsMHgwNCwweDNmLDB4ZDIsMHgwNywweGYwLDB4MTMsMHhmOCwweDQwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiODEwLCAwLCB7MHgzZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzNywweGMwLDB4MGYsMHg3MCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhiODIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgwNSwweGNmLDB4MDAsMHhkYywweDAwLDB4M2UsMHhjYSB9IH0sCi17ICAxNiwgMHhiODMwLCAwLCB7MHgwZiwweGEwLDB4MDAsMHhhYywweDkyLDB4YzksMHgwMCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MTEsMHhhNCwweDA4LDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhiODQwLCAwLCB7MHgyZSwweGMwLDB4NGYsMHhiMCwweDIzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGM0LDB4MGYsMHhiMCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHhiODUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHg5MSwweDljLDB4MDAsMHg4NCwweDAwLDB4MDEsMHhjMCB9IH0sCi17ICAxNiwgMHhiODYwLCAwLCB7MHg0YiwweDcwLDB4MjIsMHgxYywweGMwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHg0YiwweDcwLDB4MDIsMHgxYywweDAwLDB4YjcsMHgwMSB9IH0sCi17ICAxNiwgMHhiODcwLCAwLCB7MHgyNSwweGQ4LDB4MGIsMHg3MCwweDIyLDB4ZGMsMHgwMCwweGI2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MiwweDIyLDB4ZjIsMHgwNCB9IH0sCi17ICAxNiwgMHhiODgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4ODAsMHg5NywweDgwLDB4YTksMHhlMCB9IH0sCi17ICAxNiwgMHhiODkwLCAwLCB7MHgwYiwweGY4LDB4MDIsMHhjZSwweDA4LDB4ODUsMHg4MCwweDI5LDB4ZTgsMHgwYiwweGZjLDB4MDIsMHgxNywweDAwLDB4YjcsMHg4MCB9IH0sCi17ICAxNiwgMHhiOGEwLCAwLCB7MHgyZCwweGUwLDB4OGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweGI0LDB4YzAsMHgyZCwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDA4LDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhiOGMwLCAwLCB7MHg4YiwweDNjLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgxYiwweDNjLDB4MGEsMHgwZiwweDI5LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiOGQwLCAwLCB7MHgyNCwweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiOGUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhkZSwweDAwLDB4M2EsMHg4MCB9IH0sCi17ICAxNiwgMHhiOGYwLCAwLCB7MHgwZiwweGVhLDB4MDIsMHhlOCwweDAwLDB4Y2UsMHgwMCwweDNhLDB4ODAsMHgwZiwweGUwLDB4MDMsMHgzOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZlLDB4MDAsMHgzZSwweDgwLDB4MGIsMHhhMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA0LDB4YmEsMHgwMSB9IH0sCi17ICAxNiwgMHhiOTIwLCAwLCB7MHgwZiwweDgyLDB4MGIsMHg4MCwweDA0LDB4ZjgsMHg4MCwweDNlLDB4MDAsMHgwZiwweDg2LDB4MDMsMHg2MCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTMwLCAwLCB7MHgzNiwweDAwLDB4MGYsMHg4MCwweDIzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhiOTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDEsMHhmOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiOTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4NDksMHgwMCwweDMyLDB4NDAsMHgwYiwweDkwLDB4MDMsMHgyNCwweDAwLDB4NDksMHgwMCB9IH0sCi17ICAxNiwgMHhiOTYwLCAwLCB7MHgzYywweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDYwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhiOTcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg2NCB9IH0sCi17ICAxNiwgMHhiOTgwLCAwLCB7MHgwYiwweDE4LDB4MDIsMHgyNSwweDAwLDB4ZDEsMHg1MCwweDM2LDB4NTAsMHg0ZSwweDkwLDB4MGEsMHgyNCwweDAyLDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHhiOTkwLCAwLCB7MHgzYSwweDUxLDB4MDgsMHg5NCwweDAyLDB4ZTUsMHgyMiwweDg5LDB4NDQsMHgyZSwweDYwLDB4MjgsMHg5MCwweDBhLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiMSwweDA4LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiOWIwLCAwLCB7MHg0YiwweDkyLDB4ODIsMHhhNSwweDAwLDB4YTksMHgwOCwweDIyLDB4NTAsMHgwYSwweDEwLDB4MDIsMHgwYywweDAwLDB4YTksMHg0MCB9IH0sCi17ICAxNiwgMHhiOWMwLCAwLCB7MHg2ZSwweDUwLDB4MGIsMHg5NCwweDAyLDB4YzQsMHgwNCwweDg5LDB4NDQsMHg2YywweDQ4LDB4ODgsMHgxMCwweDAyLDB4NDYsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDA0LDB4MDAsMHhiMSwweDQwLDB4ZTAsMHg0MCB9IH0sCi17ICAxNiwgMHhiOWUwLCAwLCB7MHgxYiwweDE0LDB4MGEsMHgwNCwweDAwLDB4YjksMHgwMCwweDI0LDB4NDAsMHgxYSwweDEwLDB4MjIsMHgwNCwweDAwLDB4YTEsMHgwMCB9IH0sCi17ICAxNiwgMHhiOWYwLCAwLCB7MHgyOCwweDQwLDB4MGEsMHgxMCwweDEyLDB4YzQsMHgwMCwweDgxLDB4MDIsMHg2YywweDQwLDB4MDgsMHgxMiwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDgsMHhiMCwweDAwLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhiYTEwLCAwLCB7MHg0ZiwweDgwLDB4MDIsMHhhMSwweDUwLDB4ZTAsMHg1MCwweDMyLDB4MTQsMHgwZSwweGE1LDB4MjMsMHgyMSwweDQwLDB4ZTgsMHg1MCB9IH0sCi17ICAxNiwgMHhiYTIwLCAwLCB7MHgzZSwweDE0LDB4MGYsMHg4NSwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTAsMHgxZSwweDE0LDB4MGMsMHg4NSwweDQzLDB4NmUsMHgwMyB9IH0sCi17ICAxNiwgMHhiYTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZDgsMHgxOSwweGU1LDB4MDAsMHhmZCwweDQwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhiYTQwLCAwLCB7MHgwZiwweDc0LDB4MDMsMHhhNSwweDAwLDB4NWQsMHgwMCwweDNlLDB4NTAsMHgwYSwweDUwLDB4MTMsMHhmNCwweDAwLDB4ZDksMHgwMCB9IH0sCi17ICAxNiwgMHhiYTUwLCAwLCB7MHgzYSwweDUwLDB4MGQsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGZmLDB4MDAsMHgzZSwweDUwLDB4MGYsMHg5MSwweDAzLDB4YTYsMHgwNiB9IH0sCi17ICAxNiwgMHhiYTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4OTAsMHhiZCwweGU4LDB4MjMsMHg2YiB9IH0sCi17ICAxNiwgMHhiYTcwLCAwLCB7MHgwYiwweGRhLDB4MGIsMHgzNiwweDgwLDB4YzksMHgwMCwweDMyLDB4NjgsMHg0NiwweDkwLDB4NDMsMHhlNCwweDAwLDB4NDksMHgwMCB9IH0sCi17ICAxNiwgMHhiYTgwLCAwLCB7MHgzMiwweDY4LDB4MGMsMHg5MCwweDAzLDB4MjQsMHg0MCwweGY5LDB4MDAsMHgzMiwweDYwLDB4MGMsMHg5YywweDAzLDB4YzYsMHgwMSB9IH0sCi17ICAxNiwgMHhiYTkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NzgsMHgxMCwweGUxLDB4MDAsMHhiOCwweGUwLDB4YTIsMHgxMSB9IH0sCi17ICAxNiwgMHhiYWEwLCAwLCB7MHgwYiwweDhlLDB4MGEsMHgyMywweDIyLDB4ODgsMHg4MCwweDJhLDB4MzEsMHgyOCwweDg4LDB4MDIsMHg2MiwweDAwLDB4ODgsMHg4MCB9IH0sCi17ICAxNiwgMHhiYWIwLCAwLCB7MHhhMiwweDMwLDB4MjgsMHg4OCwweDhhLDB4MjIsMHgwMCwweGI4LDB4YTgsMHhhMiwweDM5LDB4MDgsMHhjYSwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhiYWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM1LDB4MDgsMHgyMSwweDAwLDB4MDAsMHg0MCB9IH0sCi17ICAxNiwgMHhiYWQwLCAwLCB7MHgwMywweDE0LDB4ODIsMHg4NSwweDgwLDB4YWQsMHgwOCwweDIxLDB4NTIsMHg5OCwweDUwLDB4ODIsMHgzNCwweDIzLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHhiYWUwLCAwLCB7MHgyMSwweDUyLDB4MDgsMHg1MCwweDA2LDB4NTQsMHgwMCwweGI1LDB4MjAsMHgyMSwweDVhLDB4MDksMHg1NCwweDAyLDB4ZDIsMHgwMSB9IH0sCi17ICAxNiwgMHhiYWYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGE0LDB4MDAsMHhiOSwweDYxLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjAwLCAwLCB7MHgwYiwweDkwLDB4MDYsMHgwNCwweDAwLDB4YWQsMHgwMCwweDY5LDB4NDAsMHgwOCwweGQwLDB4MDIsMHg3NCwweDAwLDB4ODUsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjEwLCAwLCB7MHgwMSwweDQwLDB4MDAsMHg3MCwweDA2LDB4NzQsMHgwNCwweGI1LDB4MDAsMHgyMywweDQwLDB4MDksMHhkMCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNCwweGE0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjMwLCAwLCB7MHg0ZiwweDk1LDB4MGIsMHhhNCwweDAwLDB4ZTksMHgwMCwweDMyLDB4NDAsMHg4YywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhiYjQwLCAwLCB7MHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjQsMHgwOCwweGY5LDB4MDAsMHgzMiwweDQwLDB4M2QsMHg5MCwweDAzLDB4ZTgsMHgwNCB9IH0sCi17ICAxNiwgMHhiYjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwMSwweGE0LDB4MDgsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhiYjYwLCAwLCB7MHg0ZiwweDkwLDB4OGIsMHhlNCwweDA0LDB4ZDksMHgwMSwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZDksMHgwMSB9IH0sCi17ICAxNiwgMHhiYjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAzLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDQwLDB4MzYsMHgyMCB9IH0sCi17ICAxNiwgMHhiYjkwLCAwLCB7MHgxNywweDg0LDB4MDMsMHgyMCwweDIxLDB4YzgsMHgwMCwweDdlLDB4MDIsMHgyYywweDgwLDB4NDMsMHgyMCwweDAwLDB4ZTgsMHgwMiB9IH0sCi17ICAxNiwgMHhiYmEwLCAwLCB7MHgzZSwweDAxLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4NDAsMHgxZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhiYmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDJhLDB4ODgsMHhiNiwweDAyLDB4MjMsMHhhMCB9IH0sCi17ICAxNiwgMHhiYmMwLCAwLCB7MHgwYiwweGVjLDB4NDIsMHgyYiwweDAwLDB4ZDIsMHg4MCwweDZlLDB4YjEsMHgwOCwweGEwLDB4MjIsMHgwOCwweDAwLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhiYmQwLCAwLCB7MHgzYSwweDgwLDB4OWYsMHhhMCwweDAzLDB4YTgsMHgwMCwweDhhLDB4MDQsMHgyZSwweDgwLDB4MGIsMHhhOCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiYmUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMiwweDAwLDB4YTQsMHhlMSB9IH0sCi17ICAxNiwgMHhiYmYwLCAwLCB7MHg4YiwweGI0LDB4MzIsMHg0NywweDQ1LDB4ODMsMHg5MCwweDJjLDB4ZjQsMHg0YiwweDM4LDB4MTIsMHgwZSwweDQ0LDB4YTMsMHgwMSB9IH0sCi17ICAxNiwgMHhiYzAwLCAwLCB7MHgyYywweGMwLDB4NGIsMHgzMCwweDAyLDB4Y2UsMHgwMCwweDkzLDB4MDAsMHg2YywweGMwLDB4MGIsMHgzOCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDAsMHhiNywweDQ0LDB4MjEsMHhjMiB9IH0sCi17ICAxNiwgMHhiYzIwLCAwLCB7MHgwYiwweDU0LDB4MDIsMHg1NCwweDA1LDB4ODcsMHgwMCwweDJjLDB4NDAsMHg5YiwweDZjLDB4MDIsMHgxOCwweDEwLDB4YTcsMHgwNCB9IH0sCi17ICAxNiwgMHhiYzMwLCAwLCB7MHgyOSwweGMwLDB4MGEsMHg3MCwweDAyLDB4OWIsMHgwMCwweDk3LDB4MDQsMHgwZCwweDgwLDB4MGIsMHg2MCwweDgyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmMywweDgwLDB4MzUsMHhlMCB9IH0sCi17ICAxNiwgMHhiYzUwLCAwLCB7MHgwYiwweDM4LDB4MDIsMHg1MiwweDEwLDB4ODQsMHg4MCwweDJkLDB4YTAsMHgwZiwweGY4LDB4MGIsMHgxZSwweDAwLDB4ZTYsMHg4MCB9IH0sCi17ICAxNiwgMHhiYzYwLCAwLCB7MHgxZCwweGEwLDB4MGIsMHg2OCwweDAzLDB4ZmUsMHgwMiwweGQ2LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZWEsMHgwMiB9IH0sCi17ICAxNiwgMHhiYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGEsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMSB9IH0sCi17ICAxNiwgMHhiYzgwLCAwLCB7MHg4YiwweDkwLDB4MGIsMHg4MCwweDBhLDB4YjgsMHgwMSwweDJlLDB4MDAsMHgwYywweGIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCB9IH0sCi17ICAxNiwgMHhiYzkwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhhMCwweDQzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhNiwweDIzLDB4YzIsMHgwMiB9IH0sCi17ICAxNiwgMHhiY2EwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmZSwweDgwLDB4MzMsMHgyMCB9IH0sCi17ICAxNiwgMHhiY2IwLCAwLCB7MHg0ZSwweGM5LDB4MTIsMHhmNiwweDUwLDB4ZWYsMHg5MCwweDNmLDB4ZTAsMHgwYywweDE5LDB4MDAsMHhiNiwweDQyLDB4Y2YsMHgyMSB9IH0sCi17ICAxNiwgMHhiY2MwLCAwLCB7MHgzZiwweGUwLDB4MGUsMHhmOSwweDAyLDB4ZTYsMHhjMCwweGZmLDB4ODAsMHgzZiwweGUwLDB4NGMsMHhkYywweDAzLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhiY2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxMSwweDk0LDB4MDAsMHhiNywweDAwLDB4ODEsMHg0MCB9IH0sCi17ICAxNiwgMHhiY2UwLCAwLCB7MHgwOCwweDAzLDB4MDIsMHgxNCwweGM0LDB4ODcsMHgwMSwweDJkLDB4YzgsMHgwOCwweDZhLDB4MTIsMHgzOCwweDQwLDB4ODcsMHgwMiB9IH0sCi17ICAxNiwgMHhiY2YwLCAwLCB7MHgyZCwweGMwLDB4MDgsMHg3MSwweDEyLDB4ZDIsMHg4MCwweGI3LDB4MDAsMHgyZCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDEwLDB4MjEsMHg4MCB9IH0sCi17ICAxNiwgMHhiZDEwLCAwLCB7MHgwOCwweGY0LDB4MTIsMHg5NCwweDA0LDB4YTYsMHgwMCwweDJjLDB4YzAsMHgxOCwweGQyLDB4MDIsMHgxNCwweDQ4LDB4ODYsMHgxMCB9IH0sCi17ICAxNiwgMHhiZDIwLCAwLCB7MHgyZCwweDgwLDB4MGEsMHg2MSwweDMyLDB4ZDQsMHgwMCwweGI2LDB4MTgsMHgyZCwweGM0LDB4MDgsMHg1OCwweDAyLDB4MDAsMHgxMCB9IH0sCi17ICAxNiwgMHhiZDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGM0LDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZDQwLCAwLCB7MHg0MCwweGIwLDB4MjIsMHgwNCwweDAwLDB4ODIsMHg4MSwweDBjLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgwYSwweDAwLDB4OGEsMHgwMCB9IH0sCi17ICAxNiwgMHhiZDUwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHhhMCwweDAyLDB4YzQsMHgwMCwweGJiLDB4MDAsMHgyZSwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmYiwweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhiZDcwLCAwLCB7MHgyNCwweDk0LDB4MjMsMHhhYywweDEwLDB4ZWIsMHhhMCwweDBlLDB4YzAsMHgwYywweGIwLDB4MDIsMHgyZSwweDIwLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhiZDgwLCAwLCB7MHgyZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4ODAsMHgzZSwweDQwLDB4NmMsMHhhMCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhiZDkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGNjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhiZGEwLCAwLCB7MHg4OSwweDkwLDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMiwweDNlLDB4NDAsMHg0ZiwweGEwLDB4MDMsMHg2ZCwweDAxLDB4ZmIsMHg0MSB9IH0sCi17ICAxNiwgMHhiZGIwLCAwLCB7MHgzZSwweGMwLDB4OGYsMHhiNCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MjAsMHgzZSwweDUwLDB4MGYsMHhhNCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjMywweDIwLDB4YjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiZGQwLCAwLCB7MHgwZCwweGQwLDB4MDMsMHgzOCwweDAwLDB4Y2QsMHgwMCwweDNmLDB4ODAsMHgwZCwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMiB9IH0sCi17ICAxNiwgMHhiZGUwLCAwLCB7MHgzNiwweDAwLDB4MGMsMHhkMCwweDAzLDB4M2YsMHgwOCwweGZjLDB4MDQsMHgxMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4YzAsMHg0NCB9IH0sCi17ICAxNiwgMHhiZGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDZjLDB4MDIsMHg4YiwweGM4LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhiZTAwLCAwLCB7MHgwOCwweDk4LDB4MGEsMHgyYSwweDQwLDB4ODksMHgyMCwweDJlLDB4MDEsMHg4ZSwweGIwLDB4MTIsMHhlYywweDgwLDB4YmIsMHhmMCB9IH0sCi17ICAxNiwgMHhiZTEwLCAwLCB7MHgyMiwweGU1LDB4MDgsMHhiZCwweDAyLDB4MmUsMHgwMCwweGJiLDB4OTAsMHgyMiwweGVkLDB4MDgsMHhhMiwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAxLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTMwLCAwLCB7MHg0OSwweGE4LDB4MWUsMHgwNCwweDAwLDB4OGIsMHgwMSwweDJlLDB4YzAsMHg0OSwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhiZTQwLCAwLCB7MHgyMiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MmMsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg4MCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4MDAsMHg4MSwweDAwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhiZTYwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDIwLDB4NDIsMHhjYywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhiZTcwLCAwLCB7MHgyMCwweGMwLDB4MDIsMHgzMCwweDAyLDB4MDgsMHg4NCwweGIzLDB4MDQsMHgwOCwweDQwLDB4MDgsMHgyMCwweDAyLDB4YzIsMHgxMSB9IH0sCi17ICAxNiwgMHhiZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHg4YiwweDAwLDB4YjIsMHg4MCB9IH0sCi17ICAxNiwgMHhiZTkwLCAwLCB7MHgwZCwweGIxLDB4MDMsMHgyNCwweDAyLDB4Y2IsMHgwMSwweDNlLDB4YzAsMHg0ZCwweDkwLDB4NDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhiZWEwLCAwLCB7MHhiMiwweDAwLDB4MmUsMHg5MCwweDBiLDB4MmMsMHg4MCwweGY4LDB4MDAsMHhiYSwweGMwLDB4MmMsMHg4MCwweDAzLDB4YzAsMHgwMyB9IH0sCi17ICAxNiwgMHhiZWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGY0LDB4MDAsMHg3ZCwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhiZWMwLCAwLCB7MHgwZiwweDcyLDB4MDMsMHhkNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZSwweGYxLDB4NDcsMHhmYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiZWQwLCAwLCB7MHgzYiwweGMwLDB4MGQsMHhmMCwweDEzLDB4ZmMsMHg1MCwweGZmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhiZWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4YzQsMHhjYywweDMzLDB4M2YsMHgwNCB9IH0sCi17ICAxNiwgMHhiZWYwLCAwLCB7MHgyYywweGY2LDB4MDMsMHgzOCwweDYwLDB4Y2MsMHg5MCwweGIzLDB4MjAsMHgwZiwweGYxLDB4MjMsMHhmMCwweDYwLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhiZjAwLCAwLCB7MHgyMywweGM4LDB4MGMsMHhmMiwweDhhLDB4M2MsMHg4MSwweGRmLDB4MzAsMHgzZiwweDY0LDB4MGMsMHhkOCwweDAzLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhiZjEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGUwLDB4YzIsMHg4YSwweDMwLDB4MmUsMHgxOCB9IH0sCi17ICAxNiwgMHhiZjIwLCAwLCB7MHgwOCwweGY1LDB4MzAsMHhhNSwweDk0LDB4NTgsMHgyMiwweDIyLDB4MjEsMHg0YiwweGYzLDB4MDIsMHhlMSwweDAwLDB4OWYsMHg3MCB9IH0sCi17ICAxNiwgMHhiZjMwLCAwLCB7MHgyYiwweGU0LDB4MGEsMHhmNCwweDEyLDB4MWQsMHg0MCwweGFmLDB4NzIsMHgyYywweDQ5LDB4MmYsMHgzMCwweDgyLDB4YTAsMHgwNiB9IH0sCi17ICAxNiwgMHhiZjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4ODAsMHg4MCwweGEwLDB4MmMsMHg5OCB9IH0sCi17ICAxNiwgMHhiZjUwLCAwLCB7MHgwOCwweDMyLDB4MjIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDI4LDB4MDAsMHgwMywweDMyLDB4MDIsMHhjMCwweDg0LDB4YjMsMHgwYyB9IH0sCi17ICAxNiwgMHhiZjYwLCAwLCB7MHgyMCwweGMwLDB4NTgsMHgzMiwweDkyLDB4OGMsMHgzMCwweGEzLDB4MjAsMHgyZSwweGMwLDB4NDgsMHgxMiwweDQyLDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHhiZjcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGE4LDB4MDAsMHg4YiwweDAwLDB4MmUsMHgyMCB9IH0sCi17ICAxNiwgMHhiZjgwLCAwLCB7MHgwOCwweGIwLDB4MGEsMHgyMCwweDAxLDB4OTgsMHgwMCwweDJhLDB4MjIsMHgwYiwweGIwLDB4MDIsMHhlNiwweDAwLDB4OWIsMHgwMCB9IH0sCi17ICAxNiwgMHhiZjkwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMCwweDEyLDB4YWMsMHgwNCwweGFiLDB4MDAsMHgyZSwweGMwLDB4MDMsMHhiMCwweDAyLDB4ZjAsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGU1LDB4MDAsMHhjOCwweDAwLDB4M2UsMHhiMCB9IH0sCi17ICAxNiwgMHhiZmIwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyOSwweDAwLDB4YzgsMHgwMCwweDNhLDB4MjAsMHg0ZiwweGIwLDB4MDMsMHhlMiwweDIwLDB4ZmIsMHgwMSB9IH0sCi17ICAxNiwgMHhiZmMwLCAwLCB7MHhiMCwweGMwLDB4MGMsMHhiMCwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDIsMHgzYywweDQxLDB4MGMsMHg5MCwweDQzLDB4NDgsMHgwNCB9IH0sCi17ICAxNiwgMHhiZmQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGEyLDB4ODAsMHhmZSwweDQwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmUwLCAwLCB7MHgwZiwweGYwLDB4NjMsMHhlYywweDAwLDB4YmYsMHhjNCwweDE3LDB4NDIsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhiZmYwLCAwLCB7MHgxZiwweGMxLDB4MGYsMHhiMCwweDAzLDB4NWMsMHgwMCwweGZiLDB4MDAsMHgzZiwweDQwLDB4NGYsMHhmMCwweDAwLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE1LDB4MDIsMHhjOCwweDAwLDB4M2UsMHg5MCB9IH0sCi17ICAxNiwgMHhjMDEwLCAwLCB7MHgyYywweGIwLDB4MGIsMHgwMSwweDA2LDB4Y2IsMHgwMSwweDNlLDB4NTAsMHg1ZiwweGIwLDB4MTMsMHgyMSwweDEwLDB4Y2IsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDIwLCAwLCB7MHg3ZSwweGMwLDB4MGMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGNiLDB4MDAsMHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjMDMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDI4LDB4MDEsMHg4YiwweGQwLDB4MmMsMHgzNCB9IH0sCi17ICAxNiwgMHhjMDQwLCAwLCB7MHg0OCwweGZmLDB4MDIsMHgzMCwweDAwLDB4YWEsMHgwNCwweDJlLDB4NjksMHgwZiwweGYwLDB4MDMsMHg2OCwweDEwLDB4ZGYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDUwLCAwLCB7MHgyZiwweGQ0LDB4MGQsMHhmMCwweDAyLDB4M2UsMHgwMCwweDVmLDB4MDQsMHhiNiwweGMwLDB4MDgsMHhiMCwweDAzLDB4NzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY5LDB4OTAsMHg4MSwweDgwLDB4MmMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDcwLCAwLCB7MHg0OCwweGI4LDB4MDIsMHgwOCwweDA5LDB4OTksMHgwMCwweDRjLDB4YjAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDgwLCAwLCB7MHgyYywweGMwLDB4MDksMHhiMCwweDQwLDB4MGMsMHg0MCwweDgzLDB4MDAsMHgwMCwweDQwLDB4MGEsMHg5MCwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMDkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4MDAsMHg4NCwweDg4LDB4MmQsMHhlNCB9IH0sCi17ICAxNiwgMHhjMGEwLCAwLCB7MHg0OCwweDM5LDB4MDIsMHgxNiwweDAwLDB4YjQsMHg4MCwweDJkLDB4ZTAsMHgwYSwweDdiLDB4MDYsMHg1ZSwweDAwLDB4OTcsMHg4MCB9IH0sCi17ICAxNiwgMHhjMGIwLCAwLCB7MHgyZCwweGUyLDB4MDksMHg3OCwweDAyLDB4MWUsMHg5MCwweDk3LDB4ODAsMHgyNSwweDY0LDB4OGEsMHg3OCwweDAyLDB4NDgsMHgwMCB9IH0sCi17ICAxNiwgMHhjMGMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBkLDB4MDAsMHg4MSwweDEwLDB4MmMsMHg5NiB9IH0sCi17ICAxNiwgMHhjMGQwLCAwLCB7MHgwOCwweDMxLDB4MjMsMHgwYywweDAwLDB4OTAsMHgyMCwweDNjLDB4YzQsMHgxYiwweGI4LDB4MDIsMHgwOCwweDQwLDB4YzMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMGUwLCAwLCB7MHgyYywweGM0LDB4MGQsMHgzMCwweDAzLDB4MGUsMHg0MCwweGMzLDB4MTAsMHgzMCwweGMwLDB4NGUsMHgxMCwweDA3LDB4MWEsMHgxMiB9IH0sCi17ICAxNiwgMHhjMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGJjLDB4MDAsMHg3ZCwweDA1LDB4M2YsMHhjNSB9IH0sCi17ICAxNiwgMHhjMTAwLCAwLCB7MHgwZiwweGIxLDB4MGIsMHhmNCwweDAwLDB4ZWYsMHgwMCwweDFmLDB4NDUsMHgwZiwweGYwLDB4NDMsMHhmYywweDAxLDB4ZmYsMHg0MCB9IH0sCi17ICAxNiwgMHhjMTEwLCAwLCB7MHgzZCwweGM0LDB4MWYsMHhmMCwweDA2LDB4ZmMsMHgxMCwweGZmLDB4MDAsMHgzYiwweGMxLDB4MmQsMHhmMSwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjMTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDQsMHhjYiwweDA0LDB4M2UsMHhhMCB9IH0sCi17ICAxNiwgMHhjMTMwLCAwLCB7MHg0NCwweGI2LDB4MDMsMHgyOCwweDA0LDB4Y2IsMHg4MCwweDMyLDB4ODAsMHgwZiwweGIzLDB4OTMsMHg2MCwweDA4LDB4ZmIsMHgyMCB9IH0sCi17ICAxNiwgMHhjMTQwLCAwLCB7MHgzZSwweGQyLDB4MWYsMHhiMywweDAzLDB4MmQsMHg4MCwweGZiLDB4NjEsMHg3ZSwweDQwLDB4OGMsMHg5OCwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDg0LDB4MGMsMHg4NiwweDA1LDB4MmQsMHhjMCB9IH0sCi17ICAxNiwgMHhjMTYwLCAwLCB7MHgwOCwweGY0LDB4ODIsMHg4YywweDkwLDB4ODUsMHgwMCwweGExLDB4YzAsMHgwYiwweGYwLDB4MDIsMHg1YywweDAwLDB4MzcsMHgwMCB9IH0sCi17ICAxNiwgMHhjMTcwLCAwLCB7MHgyZCwweGQwLDB4MGIsMHg3MSwweDAyLDB4MWMsMHhjOCwweGI3LDB4NDgsMHgyZCwweDQwLDB4MGEsMHg3MCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHg4NywweDgwLDB4MmQsMHhhMSB9IH0sCi17ICAxNiwgMHhjMTkwLCAwLCB7MHg2MCwweDc4LDB4NGEsMHgxNiwweGQwLDB4YTcsMHg4MCwweDI5LDB4ZTAsMHgwYiwweDc4LDB4NTIsMHg5NiwweDAxLDB4YjcsMHg5MCB9IH0sCi17ICAxNiwgMHhjMWEwLCAwLCB7MHgyZCwweGU4LDB4MGIsMHg3YSwweDIyLDB4NWUsMHg0MCwweGI3LDB4YTAsMHgyZiwweGUxLDB4NDgsMHg1MCwweDIyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MTAsMHg4MywweDg0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhjMWMwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhhNCwweDEwLDB4ODMsMHhjYiwweDI4LDB4ZTAsMHgwYiwweDMwLDB4MmEsMHg0ZiwweDQwLDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjMWQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGMsMHgxMCwweGIzLDB4MDIsMHgyYywweGMwLDB4YWEsMHgzMCwweDAyLDB4MTIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhjZSwweGEwLDB4M2YsMHg4MCB9IH0sCi17ICAxNiwgMHhjMWYwLCAwLCB7MHg0YywweGEwLDB4MmIsMHgzYSwweDAwLDB4Y2UsMHg0MCwweDNiLDB4YjgsMHgwZiwweGEwLDB4MDMsMHhiOSwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjAwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4NjgsMHgwMCwweGZhLDB4MDAsMHg3ZSwweDgwLDB4MWMsMHhhMCwweDBiLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDIsMHhmOCwweDAwLDB4M2UsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjIwLCAwLCB7MHg4ZiwweDAwLDB4MDMsMHhlMCwweDRhLDB4ZjgsMHgxMCwweDI2LDB4MTgsMHgwZiwweDgwLDB4MDMsMHhhMCwweDgwLDB4ZjgsMHgwMiB9IH0sCi17ICAxNiwgMHhjMjMwLCAwLCB7MHgzZSwweDAwLDB4OGYsMHgwMCwweDBiLDB4YTAsMHgwMCwweGY4LDB4MDIsMHgzZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjMjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhjOSwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjMjUwLCAwLCB7MHg0ZCwweDk5LDB4MDMsMHgyNCwweDAwLDB4YzksMHgwMiwweDNlLDB4NjgsMHgwZiwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZTksMHgwMCB9IH0sCi17ICAxNiwgMHhjMjYwLCAwLCB7MHgzMCwweDQwLDB4OGMsMHg5MCwweDAzLDB4MDQsMHg0MCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjMjcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MjAsMHg4OSwweDA2LDB4MjIsMHg1MCB9IH0sCi17ICAxNiwgMHhjMjgwLCAwLCB7MHg4YiwweDljLDB4YzIsMHgyNCwweDAwLDB4ZDksMHgwMSwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHgyNCwweDA4LDB4YjksMHgwMSB9IH0sCi17ICAxNiwgMHhjMjkwLCAwLCB7MHgyMiwweDQ2LDB4MGQsMHg5MCwweDBhLDB4MjYsMHgwMiwweDg5LDB4MDAsMHgyYywweDQwLDB4MGEsMHgxMCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDA2LDB4MDAsMHg5MSwweDQwLDB4NDIsMHg3MCB9IH0sCi17ICAxNiwgMHhjMmIwLCAwLCB7MHgwYiwweDkwLDB4MTIsMHgyYywweDAyLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgwYiwweDEwLDB4MjIsMHhlNCwweDEwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmMwLCAwLCB7MHhhMiwweDQwLDB4NDgsMHg5MCwweDEyLDB4MjQsMHgwOCwweDk5LDB4MDIsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4OTIsMHg5MSwweDIwLDB4ZTAsMHg0OCB9IH0sCi17ICAxNiwgMHhjMmUwLCAwLCB7MHgwYiwweDEyLDB4MDIsMHgwNCwweDAyLDB4OTEsMHgxMCwweDJjLDB4YzAsMHgwYiwweDEwLDB4MDYsMHg4NCwweGMwLDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHhjMmYwLCAwLCB7MHgyMCwweDQ4LDB4ODksMHgxMSwweDAyLDB4MDUsMHg4MCwweDkxLDB4NDAsMHgyZSwweDQ0LDB4MmEsMHg5NCwweDAyLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhjMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4MzAsMHgxNCB9IH0sCi17ICAxNiwgMHhjMzEwLCAwLCB7MHgwZiwweDg1LDB4MGIsMHgyMSwweGUwLDB4ODAsMHg0MCwweDNlLDB4MDAsMHgwZiwweDg3LDB4OGIsMHhlMSwweDBjLDB4ZjgsMHg2YyB9IH0sCi17ICAxNiwgMHhjMzIwLCAwLCB7MHgzMiwweDAwLDB4ODQsMHgwNiwweDgzLDB4MjAsMHgwNCwweGQ4LDB4MjgsMHgzZSwweDEwLDB4MGMsMHgwMCwweDAzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhjMzMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDAsMHhhZCwweDEwLDB4M2YsMHg0NSB9IH0sCi17ICAxNiwgMHhjMzQwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhmYywweDE4LDB4N2QsMHgyMCwweDFmLDB4NDEsMHgwZiwweDkwLDB4MDMsMHg3NCwweGMwLDB4ZjksMHgyMSB9IH0sCi17ICAxNiwgMHhjMzUwLCAwLCB7MHgzZSwweDQ0LDB4MGYsMHg5MiwweDAxLDB4ZTQsMHg0MCwweGU5LDB4MDAsMHgzZCwweDQ4LDB4NGYsMHhkMCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjMzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY3LDB4ODAsMHhmZCwweGUwLDB4MzMsMHg3MCB9IH0sCi17ICAxNiwgMHhjMzcwLCAwLCB7MHgwYywweGRhLDB4MDMsMHgyNiwweDIwLDB4YzksMHg0MCwweDMxLDB4NDAsMHgwZSwweDlhLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg4MCB9IH0sCi17ICAxNiwgMHhjMzgwLCAwLCB7MHgzYiwweDYwLDB4MGYsMHg5YywweDgzLDB4MzYsMHhhMCwweGY5LDB4YTEsMHhiMCwweDQwLDB4MGYsMHg5MSwweDAzLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhjMzkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUyLDB4OTAsMHhiOCwweGEwLDB4MjIsMHgyOCB9IH0sCi17ICAxNiwgMHhjM2EwLCAwLCB7MHgyOCwweDg4LDB4MGEsMHgyMiwweDAyLDB4ODgsMHhhMCwweDIyLDB4MDAsMHgwOCwweDg4LDB4MDIsMHhjMiwweDgwLDB4YjgsMHg4OCB9IH0sCi17ICAxNiwgMHhjM2IwLCAwLCB7MHgyMiwweDA0LDB4MGIsMHg4ZSwweDAzLDB4MjIsMHg4MCwweGI4LDB4ZDAsMHgyYSwweDIwLDB4MGIsMHg4OCwweDAyLDB4Y2UsMHgwNCB9IH0sCi17ICAxNiwgMHhjM2MwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODAsMHhiMSwweDYxLDB4MDAsMHg1OCB9IH0sCi17ICAxNiwgMHhjM2QwLCAwLCB7MHg0OCwweDE2LDB4OGEsMHgwNCwweGEwLDB4ODksMHgwMSwweDIyLDB4NDAsMHgxYSwweDE0LDB4ODgsMHgwNCwweDIwLDB4YjEsMHg0MCB9IH0sCi17ICAxNiwgMHhjM2UwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgxMCwweDBhLDB4MDQsMHgyMCwweGIxLDB4MmMsMHgyMCwweDRhLDB4MGIsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjM2YwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE1LDB4OTAsMHhiYiwweDQwLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDAwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDQwLDB4ODksMHg0MiwweDYyLDB4NTgsMHgwOCwweDEwLDB4MDIsMHhlNSwweDAwLDB4YjksMHgwMyB9IH0sCi17ICAxNiwgMHhjNDEwLCAwLCB7MHgyMiwweGMwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgxNCwweDMxLDB4MDAsMHgyYSwweDQ0LDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGE1LDB4MDAsMHhmOSwweDAxLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhjNDMwLCAwLCB7MHg4YywweDkwLDB4MDMsMHgyNywweDAwLDB4YzEsMHg5NCwweDMwLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjNDQwLCAwLCB7MHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDYwLDB4MDcsMHg5MCwweDI3LDB4ZTgsMHgwNSB9IH0sCi17ICAxNiwgMHhjNDUwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGE0LDB4MTgsMHhmOSwweDAwLDB4YmUsMHg0NCB9IH0sCi17ICAxNiwgMHhjNDYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhjNCwweDAwLDB4ZjksMHgwMCwweGJlLDB4NjEsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDcwLCAwLCB7MHgxZSwweDQwLDB4MGYsMHgxMCwweDAzLDB4MjQsMHgwOCwweGY5LDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNDgwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4ODEsMHhmOCwweDAwLDB4MzIsMHgwNCB9IH0sCi17ICAxNiwgMHhjNDkwLCAwLCB7MHgwYywweDAwLDB4ZDMsMHgyMSwweDAwLDB4ZDgsMHgwNCwweDNhLDB4MTQsMHg5YywweDgwLDB4MDMsMHgyMSwweDAxLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGEwLCAwLCB7MHgzNiwweDAwLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgxMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg4MCwweDAzLDB4Y2EsMHgwNCB9IH0sCi17ICAxNiwgMHhjNGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNCwweDNhLDB4MDAsMHhiZSwweDg0LDB4MjMsMHg4NSB9IH0sCi17ICAxNiwgMHhjNGMwLCAwLCB7MHgwOCwweGVjLDB4ODMsMHg2OCwweDA0LDB4OGEsMHgwMCwweDJmLDB4OTAsMHg0ZCwweGEwLDB4MDIsMHgyOCwweDAxLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGQwLCAwLCB7MHgyMywweGIwLDB4MGEsMHhhMCwweDAyLDB4MmEsMHgwOCwweGRhLDB4MDEsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiYiwweGYwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhjNGYwLCAwLCB7MHgwOCwweDNjLDB4MGEsMHgwYywweDAwLDB4OTMsMHgwMSwweDI4LDB4YzgsMHg4OSwweDMwLDB4MDYsMHg0YywweDAwLDB4ODMsMHgwMiB9IH0sCi17ICAxNiwgMHhjNTAwLCAwLCB7MHgyYywweGY2LDB4MDgsMHgzMCwweDAyLDB4MDQsMHgwMCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFkLDB4MTEsMHhiMywweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhjNTIwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHg1YywweDEwLDB4ODcsMHgwMSwweDZkLDB4ODEsMHg0OSwweDMyLDB4NTIsMHgxZSwweGMzLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTMwLCAwLCB7MHgyOCwweGUwLDB4MGEsMHgzMiwweDI2LDB4MWYsMHgwMCwweDM3LDB4MDAsMHgyMywweGUwLDB4MGIsMHg3MiwweDAyLDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhjNTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDEyLDB4MDAsMHhiNywweDgyLDB4MzEsMHgyMCB9IH0sCi17ICAxNiwgMHhjNTUwLCAwLCB7MHgwOCwweDA4LDB4MzcsMHgwZiwweDA4LDB4ZDcsMHhlMCwweDM5LDB4NjAsMHgxOSwweDdhLDB4MGIsMHg1ZSwweDBjLDB4ODMsMHhiMiB9IH0sCi17ICAxNiwgMHhjNTYwLCAwLCB7MHg3ZCwweGUwLDB4MGMsMHg3YSwweDBiLDB4M2UsMHgwMiwweGFmLDB4YTAsMHhiMSwweGUwLDB4MGUsMHg3YSwweDAzLDB4Y2EsMHgwMiB9IH0sCi17ICAxNiwgMHhjNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGEwLDB4MTAsMHhmYiwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhjNTgwLCAwLCB7MHg2ZiwweGIwLDB4NDMsMHhlYywweDExLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGI1LDB4MDMsMHhlYywweDIwLDB4ZmIsMHg1MCB9IH0sCi17ICAxNiwgMHhjNTkwLCAwLCB7MHgzNiwweDAwLDB4MGYsMHhiNSwweDQzLDB4ZTUsMHhhMSwweGRiLDB4NzgsMHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhjNWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweGEwLDB4M2YsMHhhMCB9IH0sCi17ICAxNiwgMHhjNWIwLCAwLCB7MHgwZCwweGM5LDB4MTMsMHgzZSwweDAwLDB4Y2YsMHhkMCwweDNkLDB4ZTgsMHgwMiwweGZmLDB4MTMsMHgzZSwweDAwLDB4Y2YsMHg4MiB9IH0sCi17ICAxNiwgMHhjNWMwLCAwLCB7MHgzZiwweDYwLDB4MGMsMHhmYywweDIzLDB4M2UsMHgxMCwweGVmLDB4ODAsMHgzMywweGYyLDB4MGMsMHhmYywweDgzLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4NDAsMHhiNSwweDAxLDB4MmQsMHhkMCB9IH0sCi17ICAxNiwgMHhjNWUwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHgxYywweDQwLDB4NTcsMHgxMCwweDJkLDB4NWEsMHgyOCwweDMxLDB4MDIsMHhiYywweDAxLDB4OTcsMHgxMCB9IH0sCi17ICAxNiwgMHhjNWYwLCAwLCB7MHgyZCwweDAwLDB4MGEsMHg3MCwweDAyLDB4ODQsMHgwNCwweGNmLDB4MDAsMHgyOSwweGMwLDB4MGEsMHhmMCwweDAyLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHhiNywweDJhLDB4MmQsMHg4MiB9IH0sCi17ICAxNiwgMHhjNjEwLCAwLCB7MHgwOCwweDQyLDB4MjIsMHgzYywweDAwLDB4ODcsMHgxMSwweDBkLDB4Y2MsMHg4OCwweDMyLDB4MDIsMHgxZCwweDAwLDB4OTcsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjIwLCAwLCB7MHgyYywweGM0LDB4MDgsMHgzMCwweDAyLDB4MTQsMHgwMCwweGE3LDB4MDAsMHgyMywweGMwLDB4MDksMHg3MCwweDgyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjAsMHgxNCwweGMwLDB4MjAsMHhiMCwweDIwLDB4MmMsMHg1MCB9IH0sCi17ICAxNiwgMHhjNjQwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgyZCwweGMwLDB4OTMsMHhlMiwweDJjLDB4MjEsMHgwOCwweDMwLDB4MDIsMHgwZSwweDA4LDB4OTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjUwLCAwLCB7MHgyYywweDQwLDB4MGEsMHgzMCwweDAyLDB4OGMsMHgwMCwweDkzLDB4MDAsMHgyYSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MTgsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmOCwweGMwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhjNjcwLCAwLCB7MHgyYywweGEwLDB4MGIsMHgzZiwweDAwLDB4YzcsMHg2MCwweDNlLDB4ZDAsMHgwYywweGYwLDB4MGIsMHgzYywweDAwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhjNjgwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHhmMCwweDBiLDB4MmMsMHgwMCwweGVmLDB4MDAsMHgzMywweGMxLDB4MGQsMHhmMCwweDBiLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjNjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4NDAsMHhmMywweDQwLDB4M2UsMHg1MCB9IH0sCi17ICAxNiwgMHhjNmEwLCAwLCB7MHg4ZSwweGI0LDB4MDMsMHhlYywweDEwLDB4ZmIsMHgwMCwweDNlLDB4MDksMHgwZiwweGIwLDB4MTMsMHhlYywweDQyLDB4ZWIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmIwLCAwLCB7MHgzYywweDAwLDB4OGYsMHhiMCwweDEzLDB4YzQsMHgxMSwweGUzLDB4MDAsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmYywweDgwLDB4MzEsMHgyMiB9IH0sCi17ICAxNiwgMHhjNmQwLCAwLCB7MHgwYywweGE4LDB4MDMsMHgzYywweDAwLDB4Y2YsMHgwMCwweDMzLDB4YTAsMHgwZSwweGYwLDB4MDMsMHhkYywweDAwLDB4Y2YsMHgwMCB9IH0sCi17ICAxNiwgMHhjNmUwLCAwLCB7MHgxZiwweGYwLDB4MGMsMHhmMCwweDAzLDB4ZjQsMHgwMCwweGNmLDB4MDIsMHgzMywweGMwLDB4MGMsMHhmMCwweDAyLDB4MDAsMHg1NCB9IH0sCi17ICAxNiwgMHhjNmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZmLDB4MDAsMHhiYiwweGMwLDB4MjIsMHg3MCB9IH0sCi17ICAxNiwgMHhjNzAwLCAwLCB7MHgwYSwweGI5LDB4NDIsMHgyYywweDEwLDB4OGIsMHgwMCwweDc2LDB4MTEsMHg4MywweGIwLDB4MDIsMHhlYywweDEwLDB4YWIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzEwLCAwLCB7MHgyZSwweGIwLDB4MGEsMHhiMCwweDAzLDB4ZWMsMHgwNCwweDhiLDB4MDAsMHhhMiwweGMwLDB4MjgsMHhiMCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhjNzIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDY1LDB4NDAsMHhiOCwweDIwLDB4MjIsMHg0NCB9IH0sCi17ICAxNiwgMHhjNzMwLCAwLCB7MHg1OCwweDM0LDB4MGEsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ODQsMHg0YiwweGIwLDB4MDIsMHhlYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzQwLCAwLCB7MHg2ZSwweGMwLDB4MDgsMHhiMCwweDQyLDB4ZTYsMHgwNCwweDhiLDB4MDAsMHgwMiwweGMwLDB4MDgsMHgzMCwweDAyLDB4YTAsMHgwMSB9IH0sCi17ICAxNiwgMHhjNzUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMCwweDAwLDB4MDAsMHhiMSwweDAwLDB4MjAsMHhjMCB9IH0sCi17ICAxNiwgMHhjNzYwLCAwLCB7MHgwYSwweDMwLDB4MGEsMHgwYywweDAwLDB4OGIsMHgwMywweDI0LDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzcwLCAwLCB7MHg2YywweDAwLDB4MGEsMHgzMCwweDAyLDB4OGQsMHgwMCwweDgzLDB4MDAsMHgyMCwweGMwLDB4MTgsMHgzMCwweDAyLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDY0LDB4MDAsMHhmOCwweDAwLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjNzkwLCAwLCB7MHg0YywweGEwLDB4MGIsMHgyYywweDAyLDB4Y2YsMHgwMCwweDIyLDB4NDAsMHgwZSwweGY1LDB4MDMsMHhmYywweDAwLDB4Y2YsMHgwMSB9IH0sCi17ICAxNiwgMHhjN2EwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHhmMCwweDEyLDB4ZGQsMHgwMiwweGNmLDB4MDIsMHgzMywweGMwLDB4NGMsMHhmMCwweDBiLDB4ODAsMHgwMyB9IH0sCi17ICAxNiwgMHhjN2IwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTQsMHgxOSwweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHg0MCB9IH0sCi17ICAxNiwgMHhjN2MwLCAwLCB7MHgwZiwweGIxLDB4MDMsMHhkYywweDAwLDB4YmYsMHgwMSwweDNmLDB4MDAsMHgwZiwweGYyLDB4MjMsMHhmYywweDEwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjN2QwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhmMCwweDAxLDB4ZjQsMHg4NCwweGZmLDB4MDAsMHgzZCwweGMwLDB4NGYsMHhmMCwweDEzLDB4NjgsMHgwNiB9IH0sCi17ICAxNiwgMHhjN2UwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4NDAsMHhkZiwweDgwLDB4MzMsMHhjOCB9IH0sCi17ICAxNiwgMHhjN2YwLCAwLCB7MHgwYywweGY4LDB4MDMsMHgzYywweDBhLDB4OWYsMHhjMCwweDNmLDB4ZjAsMHgwOCwweGI4LDB4MDIsMHgzZSwweDAwLDB4ZmYsMHg4MCB9IH0sCi17ICAxNiwgMHhjODAwLCAwLCB7MHgzZiwweGQ4LDB4MGMsMHhmOSwweDYxLDB4MmUsMHg0MCwweDZmLDB4OTAsMHgzZiwweGU0LDB4OGYsMHhmMSwweDgzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhjODEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGVjLDB4MDQsMHg4YiwweDgwLDB4MjMsMHhmMCB9IH0sCi17ICAxNiwgMHhjODIwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHgzZCwweDQwLDB4YWIsMHgwMCwweDBlLDB4MDgsMHg0OCwweDIyLDB4ODIsMHg2YywweDIwLDB4YmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjODMwLCAwLCB7MHgyZiwweGQwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxLDB4MGIsMHhiMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhjODQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDIsMHg4MywweDAxLDB4YTAsMHhjNSB9IH0sCi17ICAxNiwgMHhjODUwLCAwLCB7MHgwOCwweGIwLDB4NGEsMHg0YywweGEwLDB4ODAsMHgyNCwweDI4LDB4YzgsMHgwOSwweDMyLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwOCB9IH0sCi17ICAxNiwgMHhjODYwLCAwLCB7MHgyZSwweGQxLDB4MjksMHhiMiwweDNhLDB4MGMsMHg4NCwweGEzLDB4MjEsMHgyYywweGM4LDB4NGIsMHhiMiwweDBhLDB4MzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjODcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDgsMHg4YiwweDAwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhjODgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHg0YywweDAwLDB4ODgsMHgyMSwweDI0LDB4MjEsMHgwOSwweGIwLDB4NDYsMHg2YywweDAwLDB4YmIsMHgwNiB9IH0sCi17ICAxNiwgMHhjODkwLCAwLCB7MHgyZSwweGMwLDB4MDksMHhiMCwweDAyLDB4MmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MzAsMHgwNCB9IH0sCi17ICAxNiwgMHhjOGEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjYiwweDAwLDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGIwLCAwLCB7MHgwYywweGI5LDB4MDIsMHg2YywweDAwLDB4Y2IsMHhjOCwweDNhLDB4YzAsMHgyZCwweDkwLDB4MGIsMHgyYywweDA4LDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGMwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHgzMCwweDQyLDB4MmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHhjOGQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZiwweDAwLDB4M2QsMHhjMCB9IH0sCi17ICAxNiwgMHhjOGUwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhiYywweDA2LDB4ZWYsMHg4MiwweDNmLDB4NDAsMHg0ZSwweGM5LDB4ODMsMHhiYywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhjOGYwLCAwLCB7MHg3ZiwweGMwLDB4MWMsMHhmMCwweDEzLDB4N2MsMHgwMCwweGZmLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTEwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHhhYywweDIwLDB4ZDgsMHg0MCwweDNlLDB4YzAsMHg4YywweDkwLDB4MGIsMHgyYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTIwLCAwLCB7MHgzZSwweGM5LDB4MGQsMHhiMCwweDMzLDB4ZWMsMHgwOCwweGZiLDB4MDIsMHgzZSwweGMwLDB4MGYsMHhiMCwweDBiLDB4NTQsMHgwNCB9IH0sCi17ICAxNiwgMHhjOTMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJjLDB4MDAsMHhiMywweDAwLDB4MmYsMHhjMCB9IH0sCi17ICAxNiwgMHhjOTQwLCAwLCB7MHgwYiwweDMwLDB4MTIsMHhmYywweDAwLDB4ODgsMHhhMCwweDJlLDB4NDAsMHgyOCwweDk0LDB4MDIsMHgyYywweDEwLDB4YmIsMHgwNCB9IH0sCi17ICAxNiwgMHhjOTUwLCAwLCB7MHgyZCwweGMwLDB4MjgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg3MiwweDA2LDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCB9IH0sCi17ICAxNiwgMHhjOTcwLCAwLCB7MHgwYSwweDEwLDB4MDIsMHhjZCwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTgwLCAwLCB7MHgyOCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4M2EsMHgwMCB9IH0sCi17ICAxNiwgMHhjOTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDFlLDB4NDAsMHhiNywweDgwLDB4MmQsMHhlMiB9IH0sCi17ICAxNiwgMHhjOWEwLCAwLCB7MHgwYiwweDU4LDB4MDIsMHhkZSwweDAyLDB4OTcsMHg4MSwweDJmLDB4YTAsMHgwOCwweDY4LDB4MDIsMHg1ZSwweDAwLDB4YjcsMHg4MSB9IH0sCi17ICAxNiwgMHhjOWIwLCAwLCB7MHgyZiwweGUwLDB4MDgsMHg3OSwweDAyLDB4ZGUsMHgwMCwweGI3LDB4ODEsMHgyZCwweGUwLDB4MGIsMHg3OCwweDAyLDB4M2MsMHgwMCB9IH0sCi17ICAxNiwgMHhjOWMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMywweDAwLDB4M2MsMHhjMCB9IH0sCi17ICAxNiwgMHhjOWQwLCAwLCB7MHgwZSwweDMyLDB4MDMsMHhjYywweDgwLDB4ZDMsMHgwMCwweDNjLDB4YzQsMHgwYywweDM5LDB4MDMsMHg0YywweDA4LDB4ZjMsMHgxYSB9IH0sCi17ICAxNiwgMHhjOWUwLCAwLCB7MHgzYywweGM2LDB4MGQsMHgzMCwweDAzLDB4Y2UsMHgyMCwweGYzLDB4MDgsMHgzYywweGMwLDB4MGYsMHgzMCwweDAzLDB4NTIsMHgwMiB9IH0sCi17ICAxNiwgMHhjOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4MmUsMHhjMCB9IH0sCi17ICAxNiwgMHhjYTAwLCAwLCB7MHgwYiwweGIwLDB4MDMsMHhjYywweDIwLDB4ZWIsMHgwMCwweDNjLDB4ODAsMHgwZiwweGIwLDB4NDEsMHhhYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTEwLCAwLCB7MHgzYywweGMyLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHg0MCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhjYTIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDIsMHhjMywweDgwLDB4MzAsMHhjZSB9IH0sCi17ICAxNiwgMHhjYTMwLCAwLCB7MHgwZCwweDk4LDB4MDMsMHhhYywweGEwLDB4YzMsMHg4MCwweGIyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTQwLCAwLCB7MHgzZSwweGQyLDB4NGYsMHhiMCwweDA5LDB4MmUsMHgwOCwweDRiLDB4MDEsMHgzZSwweGMwLDB4MjQsMHhiMCwweDAzLDB4ZWEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYTUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDljLDB4MDAsMHg4NywweDAxLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhjYTYwLCAwLCB7MHg0OCwweDUwLDB4MTIsMHg0YywweDAwLDB4ODcsMHgwMCwweDM1LDB4YzAsMHg0YiwweDYwLDB4MDIsMHhkYywweDA0LDB4YjcsMHgwMSB9IH0sCi17ICAxNiwgMHhjYTcwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMxLDB4MGMsMHg3MiwweDAyLDB4ZjIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYTgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHg4NywweDgwLDB4MjMsMHhlMCB9IH0sCi17ICAxNiwgMHhjYTkwLCAwLCB7MHgwOCwweGY4LDB4MDIsMHhkZSwweDgwLDB4OGYsMHg4MSwweDIxLDB4ZTAsMHg0YiwweDc4LDB4MTIsMHhkZSwweDA0LDB4MzcsMHg4MCB9IH0sCi17ICAxNiwgMHhjYWEwLCAwLCB7MHgyZCwweGU4LDB4MGIsMHhmOCwweDAyLDB4M2UsMHgxOCwweDg3LDB4ODAsMHgyZiwweGUwLDB4MDksMHg3OSwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjYWIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCB9IH0sCi17ICAxNiwgMHhjYWMwLCAwLCB7MHgyOCwweDMwLDB4NDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwYiwweDM4LDB4MDYsMHhjYywweDA0LDB4YjMsMHgwMCB9IH0sCi17ICAxNiwgMHhjYWQwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4ZDIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYWUwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhjYSwweDAwLDB4MzEsMHg4MCB9IH0sCi17ICAxNiwgMHhjYWYwLCAwLCB7MHgwOCwweGUwLDB4MDIsMHg5OCwweDAyLDB4Y2UsMHgwMCwweDMzLDB4ODQsMHgwYiwweGVhLDB4MDMsMHhlOCwweDAwLDB4YmEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjAwLCAwLCB7MHgzZiwweDgxLDB4MGYsMHhhMCwweDAzLDB4MjgsMHgwMCwweGNhLDB4MDAsMHgzZSwweDgwLDB4MGQsMHhlMCwweDAzLDB4ZmEsMHgwNCB9IH0sCi17ICAxNiwgMHhjYjEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjIwLCAwLCB7MHgwZSwweDg0LDB4MjMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjMwLCAwLCB7MHgzZSwweDEwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGQsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhjYjQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDEsMHhmOSwweDAwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjUwLCAwLCB7MHgwYywweDlhLDB4MTMsMHhlNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDk4LDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjYjYwLCAwLCB7MHgzZSwweDQwLDB4MmMsMHg5OCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhjYjcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDQsMHhiOSwweDAwLDB4MmUsMHg0MCB9IH0sCi17ICAxNiwgMHhjYjgwLCAwLCB7MHg2OCwweDljLDB4MjIsMHhlNCwweDAyLDB4ODksMHgwMSwweDdjLDB4NTAsMHg4ZCwweDk4LDB4MjIsMHhlNCwweDgwLDB4YjksMHgyMCB9IH0sCi17ICAxNiwgMHhjYjkwLCAwLCB7MHgyZSwweDUwLDB4NDgsMHgxMCwweDBiLDB4MjUsMHgwMCwweGI5LDB4NDQsMHgyYywweDQwLDB4MjgsMHg5MCwweDAwLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg1MCB9IH0sCi17ICAxNiwgMHhjYmIwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlNCwweDA0LDB4ODksMHgwMCwweDJlLDB4NTAsMHgwYSwweDkyLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhjYmMwLCAwLCB7MHgyYywweDQwLDB4MDgsMHg5MSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA1LDB4MDAsMHhiMSwweDAxLDB4MmMsMHg0MCB9IH0sCi17ICAxNiwgMHhjYmUwLCAwLCB7MHg0OCwweDMwLDB4MDIsMHhlNCwweDAwLDB4ODEsMHgwMCwweDJhLDB4NDAsMHg0YiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgwMCB9IH0sCi17ICAxNiwgMHhjYmYwLCAwLCB7MHgwYywweGMwLDB4MDgsMHg5MCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyZSwweDQwLDB4NDgsMHgxMiwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhjYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhiOCwweDAxLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzEwLCAwLCB7MHgxYywweDgwLDB4MDcsMHhlMSwweDUwLDB4YzgsMHg1MCwweDJlLDB4MTQsMHgxZSwweDg1LDB4MDMsMHhlMSwweDQxLDB4ZjgsMHg1MCB9IH0sCi17ICAxNiwgMHhjYzIwLCAwLCB7MHgzZSwweDE0LDB4MGMsMHg4NSwweDEzLDB4MjEsMHg0OCwweGY4LDB4NTAsMHgzZSwweDE0LDB4MGMsMHg4NSwweDQzLDB4ZWUsMHgwMyB9IH0sCi17ICAxNiwgMHhjYzMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxOSwweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MSB9IH0sCi17ICAxNiwgMHhjYzQwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHhlNSwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgxZCwweGQwLDB4MDMsMHhmNCwweDEwLDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhjYzUwLCAwLCB7MHgzZSwweDUwLDB4MGYsMHg1MCwweDAwLDB4OTQsMHgwMCwweGY5LDB4MDAsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhjYzYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGU0LDB4NTAsMHhjZCwweDAwLDB4MzEsMHg2MCB9IH0sCi17ICAxNiwgMHhjYzcwLCAwLCB7MHgwNCwweGQwLDB4MDMsMHgzNiwweDgwLDB4YzEsMHg0MiwweDJlLDB4NTAsMHgxZiwweDk0LDB4MDMsMHhlNSwweDAwLDB4ZTksMHgwMiB9IH0sCi17ICAxNiwgMHhjYzgwLCAwLCB7MHgyZSwweDcyLDB4MGEsMHg5MCwweDIyLDB4MDUsMHgwOCwweGU5LDB4NDAsMHgzZSwweDUwLDB4NDAsMHg5YywweDAzLDB4MjYsMHgwMCB9IH0sCi17ICAxNiwgMHhjYzkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGMyLDB4ODIsMHg4OCwweDAwLDB4MjIsMHgxNSB9IH0sCi17ICAxNiwgMHhjY2EwLCAwLCB7MHgwOCwweDgwLDB4MDIsMHgyMywweDU4LDB4ODgsMHhhMCwweDJlLDB4MjgsMHgwYiwweGFhLDB4NDIsMHhlMiwweDgyLDB4ODgsMHg4MCB9IH0sCi17ICAxNiwgMHhjY2IwLCAwLCB7MHgyZSwweDM4LDB4MjgsMHg4OCwweDAyLDB4MjIsMHg4MCwweGI4LDB4YTAsMHgzYSwweDI4LDB4MDgsMHhjZCwweDAyLDB4MGUsMHgwNCB9IH0sCi17ICAxNiwgMHhjY2MwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDAwLDB4YTYsMHg0MCB9IH0sCi17ICAxNiwgMHhjY2QwLCAwLCB7MHgyOCwweDEwLDB4MGEsMHgyNCwweDI2LDB4OTUsMHgwMCwweDBkLDB4NDAsMHgwYiwweDUwLDB4MDIsMHg3NCwweDAwLDB4ODUsMHgwOCB9IH0sCi17ICAxNiwgMHhjY2UwLCAwLCB7MHgyZiwweDQwLDB4NzksMHhkMiwweGFhLDB4MTQsMHgwMCwweGE1LDB4MDEsMHgyZiwweDQwLDB4MzgsMHg1MCwweDAyLDB4MTIsMHgwMSB9IH0sCi17ICAxNiwgMHhjY2YwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDQsMHg4OSwweDAwLDB4MjYsMHg0MCB9IH0sCi17ICAxNiwgMHhjZDAwLCAwLCB7MHgwOCwweDkxLDB4MDIsMHgyNCwweDEwLDB4OWQsMHgwOCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMiB9IH0sCi17ICAxNiwgMHhjZDEwLCAwLCB7MHgyZiwweDQwLDB4MDksMHhkMCwweDAwLDB4MzQsMHgwMCwweGJkLDB4MDAsMHgwYiwweDQwLDB4MTgsMHg3MCwweDAyLDB4MDYsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGM0LDB4MDAsMHhjOSwweDA1LDB4MzYsMHg0MSB9IH0sCi17ICAxNiwgMHhjZDMwLCAwLCB7MHg0YywweDkwLDB4NjMsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg0NCwweDA4LDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhjZDQwLCAwLCB7MHgzZSwweDQwLDB4MTUsMHgxMCwweDAzLDB4MjQsMHgwMCwweGU5LDB4MDAsMHgzYywweDQwLDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhjZDUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweGE0LDB4MDQsMHhmOSwweDAwLDB4M2EsMHg0MCB9IH0sCi17ICAxNiwgMHhjZDYwLCAwLCB7MHg0ZiwweDk4LDB4MDMsMHhlNCwweDAwLDB4ZTksMHg5OSwweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlNCwweDIwLDB4ZjksMHgwYSB9IH0sCi17ICAxNiwgMHhjZDcwLCAwLCB7MHgzZSwweDQwLDB4MGUsMHg5MCwweDQzLDB4NjQsMHgyNCwweGY5LDB4MDgsMHgzYSwweDQyLDB4MGYsMHg5MCwweDhiLDB4ZGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4MTIsMHgwMCB9IH0sCi17ICAxNiwgMHhjZDkwLCAwLCB7MHgwYywweDgwLDB4NDMsMHhlMCwweDAwLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDg0LDB4NTMsMHhlMCwweDEwLDB4ZjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZGEwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDIzLDB4MjAsMHgwMCwweGQ4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhjZGIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM4LDB4MDIsMHg4MiwweDAwLDB4YTEsMHg4OCB9IH0sCi17ICAxNiwgMHhjZGMwLCAwLCB7MHgwOCwweDYwLDB4MjIsMHhjOCwweDAwLDB4OGEsMHg0MCwweDM2LDB4YTEsMHgwYiwweGEwLDB4MDIsMHhlOSwweDEwLDB4YmEsMHg0NCB9IH0sCi17ICAxNiwgMHhjZGQwLCAwLCB7MHgyYywweDgwLDB4MGMsMHhhNCwweDEyLDB4MjksMHgwMiwweDhhLDB4NDQsMHgyZSwweDk4LDB4MGIsMHhhNCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjZGUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MTAsMHg4MywweDAwLDB4MjAsMHhlMCB9IH0sCi17ICAxNiwgMHhjZGYwLCAwLCB7MHgxOCwweDMwLDB4OTIsMHhjNCwweDA4LDB4OTMsMHg0MCwweDIwLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDAwLDB4YjMsMHg0MCB9IH0sCi17ICAxNiwgMHhjZTAwLCAwLCB7MHgyYywweGMwLDB4MGIsMHgzYSwweDQyLDB4Y2QsMHgwMCwweDgzLDB4NDAsMHgyYywweGQwLDB4MGIsMHgzOCwweDAyLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHg0MSwweDFjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhjZTIwLCAwLCB7MHgyOCwweDcwLDB4MDIsMHhkMSwweDAwLDB4OWQsMHg4MCwweDI1LDB4YzIsMHg0YiwweDYwLDB4MDIsMHhkYywweDA4LDB4YjcsMHgwMiB9IH0sCi17ICAxNiwgMHhjZTMwLCAwLCB7MHgyYywweGMwLDB4MGEsMHg3NCwweDAyLDB4ZmUsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHgzNCwweDAyLDB4NjgsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDg0LDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHhjZTUwLCAwLCB7MHgwYywweDY4LDB4MDMsMHhkNiwweDAwLDB4OTcsMHg4MCwweDMxLDB4YTAsMHgwZiwweDU4LDB4MTMsMHhkZSwweDA4LDB4ZjcsMHg4MiB9IH0sCi17ICAxNiwgMHhjZTYwLCAwLCB7MHgzZCwweGEwLDB4MGYsMHhmOCwweDBiLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDhiLDB4NmEsMHgwMiB9IH0sCi17ICAxNiwgMHhjZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFkLDB4ODAsMHhmMywweDAwLDB4M2UsMHhjMSB9IH0sCi17ICAxNiwgMHhjZTgwLCAwLCB7MHgwZiwweGEwLDB4MjMsMHhjMCwweDAyLDB4ZTksMHgwMCwweDNlLDB4ODEsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhjZTkwLCAwLCB7MHgzZSwweGMwLDB4MGQsMHhiMCwweDEzLDB4MmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ODIsMHgwMiB9IH0sCi17ICAxNiwgMHhjZWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MzIsMHhjNywweDgwLDB4MzMsMHg2MCB9IH0sCi17ICAxNiwgMHhjZWIwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHgzZSwweGM4LDB4NGUsMHg4MCwweDIzLDB4NjQsMHgwYywweGY4LDB4MDMsMHgzYSwweDAwLDB4Y2UsMHg4MCB9IH0sCi17ICAxNiwgMHhjZWMwLCAwLCB7MHgxMywweGVjLDB4MDYsMHhkOCwweDAzLDB4M2EsMHgwMCwweGRlLDB4ODAsMHgzMywweGE0LDB4MGMsMHhjOCwweDAzLDB4ZDAsMHgwMCB9IH0sCi17ICAxNiwgMHhjZWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweDljLDB4MDAsMHg4NywweDEwLDB4MDEsMHhjMCB9IH0sCi17ICAxNiwgMHhjZWUwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHgxOCwweDUwLDB4ODQsMHgwMCwweDJiLDB4NDQsMHgwOCwweDYwLDB4MTIsMHg5OCwweDAwLDB4ODYsMHgxMyB9IH0sCi17ICAxNiwgMHhjZWYwLCAwLCB7MHgyMSwweGM0LDB4ODgsMHg1MCwweDAyLDB4MTgsMHg4MCwweDg2LDB4MDAsMHgyMSwweDgwLDB4MDgsMHg2MSwweDAyLDB4ZWEsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDAwLDB4MjEsMHg0MCB9IH0sCi17ICAxNiwgMHhjZjEwLCAwLCB7MHgwYiwweGYxLDB4MDIsMHg1YywweDgwLDB4MDYsMHgwMCwweDIxLDB4MDAsMHg4OCwweGQwLDB4MDIsMHg1YywweDAwLDB4ODcsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjIwLCAwLCB7MHgyMCwweDg5LDB4OGEsMHhmMSwweDAyLDB4MWMsMHgwOCwweDg3LDB4MTAsMHgyMSwweDgxLDB4ODgsMHg0OCwweDAyLDB4YzYsMHgwMCB9IH0sCi17ICAxNiwgMHhjZjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MTAsMHg4MywweDA0LDB4YTAsMHhjMSB9IH0sCi17ICAxNiwgMHhjZjQwLCAwLCB7MHgwYiwweDMwLDB4MGEsMHg0OCwweDBjLDB4ODgsMHgwNiwweDYwLDB4MzgsMHgwOCwweDA0LDB4NDIsMHhlYywweDAxLDB4OGIsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjUwLCAwLCB7MHgyMiwweGMxLDB4MDgsMHgzMCwweDBhLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDgwLDB4MDAsMHgyMCwweDAyLDB4ZDgsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjMywweDAwLDB4MjIsMHg4MCB9IH0sCi17ICAxNiwgMHhjZjcwLCAwLCB7MHg4ZiwweDkwLDB4MDMsMHg2NCwweDBhLDB4Y2IsMHgwMiwweGIyLDB4ZjIsMHgyMCwweDM1LDB4MTIsMHg2NCwweDBhLDB4YzksMHgwMCB9IH0sCi17ICAxNiwgMHhjZjgwLCAwLCB7MHhiMiwweDQwLDB4MGUsMHhhMCwweDAzLDB4MjQsMHgwYSwweGM5LDB4MDAsMHhhMiwweDQwLDB4MmMsMHhhMCwweDAzLDB4ZWUsMHgwNCB9IH0sCi17ICAxNiwgMHhjZjkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2MsMHg4MCB9IH0sCi17ICAxNiwgMHhjZmEwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhNSwweDAwLDB4ZGIsMHg0MCwweDNlLDB4ZDAsMHg0ZCwweGI0LDB4MTMsMHhhNCwweDA4LDB4ZmIsMHgwMSB9IH0sCi17ICAxNiwgMHhjZmIwLCAwLCB7MHgzZSwweGMwLDB4MWMsMHhhMCwweDAzLDB4NmMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDUwLDB4NGYsMHhhNCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhjZmMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhjZmQwLCAwLCB7MHgwYywweGU4LDB4NDMsMHgyNiwweDAwLDB4ZGYsMHg4MCwweGIzLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHg3YywweDAwLDB4Y2QsMHgwMCB9IH0sCi17ICAxNiwgMHhjZmUwLCAwLCB7MHgzMywweDA0LDB4MGMsMHhlMCwweDIzLDB4MzQsMHg0MCwweGNkLDB4MDAsMHgyMywweDQwLDB4MGMsMHhlMCwweDAzLDB4ZTAsMHgwNCB9IH0sCi17ICAxNiwgMHhjZmYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDZjLDB4MTAsMHhiYiwweDAwLDB4YTIsMHhkMiB9IH0sCi17ICAxNiwgMHhkMDAwLCAwLCB7MHgwOCwweDI4LDB4MDIsMHgwNCwweDYwLDB4OGIsMHgxOSwweDIyLDB4YzYsMHgwZSwweGIxLDB4OGEsMHgyZSwweDQwLDB4OGIsMHg5MCB9IH0sCi17ICAxNiwgMHhkMDEwLCAwLCB7MHgyMiwweGMxLDB4MDgsMHhhNCwweDgyLDB4MmMsMHgwMCwweDhiLDB4OTAsMHgyMiwweDY0LDB4NDgsMHhhNCwweDAyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDMwLCAwLCB7MHgwOCwweDkxLDB4MmUsMHgyNCwweDAwLDB4OWIsMHgwMCwweDIyLDB4YzAsMHg4YiwweGIwLDB4MTIsMHgyMCwweDA0LDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDQwLCAwLCB7MHgyMiwweDQwLDB4MDgsMHgxMCwweDIyLDB4MjAsMHgwMCwweDg4LDB4MDEsMHgyYSwweGQwLDB4MDgsMHg4MCwweDQyLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDBjLDB4MDAsMHhiMywweDA0LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkMDYwLCAwLCB7MHgwOCwweDEwLDB4MDYsMHgwNCwweDEwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHg4YiwweGIwLDB4MTIsMHgwMCwweDAwLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMDcwLCAwLCB7MHgyMCwweGMwLDB4MjgsMHgxMCwweDQyLDB4MDksMHgwNiwweDgyLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgyMCwweDAyLDB4YzIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhiYiwweDAwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkMDkwLCAwLCB7MHgyYywweGIwLDB4MDMsMHgyNCwweDAwLDB4ZDMsMHgwMCwweDMyLDB4YzAsMHg1ZiwweGI1LDB4MDMsMHgwYywweDAyLDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGEwLCAwLCB7MHhiMiwweDAwLDB4MGMsMHhiMCwweDBiLDB4MDUsMHgwMCwweGMxLDB4MDAsMHhiOCwweGMwLDB4MmMsMHg4MCwweDEzLDB4ZTAsMHgwMyB9IH0sCi17ICAxNiwgMHhkMGIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGRjLDB4MDAsMHhmZiwweDAwLDB4MWYsMHhjMCB9IH0sCi17ICAxNiwgMHhkMGMwLCAwLCB7MHg4NywweGYwLDB4MDEsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZSwweDcwLDB4NDMsMHhmYywweDEwLDB4N2YsMHgwMCB9IH0sCi17ICAxNiwgMHhkMGQwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhkMGUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYxLDB4ODQsMHhmZSwweDYxLDB4MzEsMHhkOCB9IH0sCi17ICAxNiwgMHhkMGYwLCAwLCB7MHgwYywweGIyLDB4YzMsMHhmYywweGUwLDB4Y2MsMHg4MCwweDdiLDB4YzAsMHgwZSwweGYxLDB4MDMsMHg3YywweGUwLDB4Y2MsMHg4MyB9IH0sCi17ICAxNiwgMHhkMTAwLCAwLCB7MHgzZiwweDIwLDB4MGYsMHhmMCwweGNiLDB4MzIsMHg0NCwweGRjLDB4ODQsMHgzZiwweDI1LDB4NGMsMHhmMiwweDQzLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkMTEwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxMCwweGU0LDB4NDgsMHhiMCwweDEwLDB4MjIsMHhkYyB9IH0sCi17ICAxNiwgMHhkMTIwLCAwLCB7MHgwOCwweGI2LDB4MDIsMHhmZCwweDkyLDB4ODgsMHg4NSwweDIzLDB4ZjQsMHg0MCwweGYxLDB4MDIsMHhlZCwweDAwLDB4ODgsMHgyZCB9IH0sCi17ICAxNiwgMHhkMTMwLCAwLCB7MHgwZSwweDYwLDB4MGIsMHhiYywweDEyLDB4MmMsMHgxMCwweGE4LDB4ODIsMHgyZSwweDAwLDB4MGEsMHhmYywweDIyLDB4YTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMTQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4ODAsMHhiMywweDIyLDB4MjgsMHhjMCB9IH0sCi17ICAxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDMwLDB4ODIsMHhjYywweDAxLDB4ODgsMHgwMCwweDJjLDB4YzAsMHg0YSwweDMyLDB4MDIsMHhjYywweDAwLDB4MDEsMHgwMSB9IH0sCi17ICAxNiwgMHhkMTYwLCAwLCB7MHgyOCwweDAwLDB4NGIsMHhiMCwweDAyLDB4YTAsMHgwMCwweDgwLDB4MDAsMHgyYywweDA5LDB4MDgsMHgzNCwweDAyLDB4NjIsMHgwMSB9IH0sCi17ICAxNiwgMHhkMTcwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGFjLDB4MDQsMHhiMiwweDEwLDB4MmEsMHhjMSB9IH0sCi17ICAxNiwgMHhkMTgwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhlYywweDEwLDB4ODksMHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDA4LDB4ODgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMTkwLCAwLCB7MHgyZSwweDQwLDB4ODMsMHhiMCwweDAyLDB4YTAsMHg0MCwweGI5LDB4ODAsMHgyYywweDIxLDB4MGEsMHhiMCwweDAyLDB4ZjAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMWEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhmYSwweDAwLDB4YmEsMHhjMCB9IH0sCi17ICAxNiwgMHhkMWIwLCAwLCB7MHgyYywweGIwLDB4NDMsMHhlYywweDAwLDB4YzAsMHg4MCwweDNlLDB4YzAsMHg4ZSwweGIwLDB4MDMsMHg0YywweDBjLDB4YzgsMHgxMCB9IH0sCi17ICAxNiwgMHhkMWMwLCAwLCB7MHgzZSwweDgwLDB4OGYsMHhiMCwweDAzLDB4ODIsMHgxMCwweGQ4LDB4ODIsMHgzZSwweDI4LDB4MGMsMHhiMCwweDBiLDB4NTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMWQwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweGI2LDB4ODAsMHhmZCwweDAyLDB4MzcsMHhjMSB9IH0sCi17ICAxNiwgMHhkMWUwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhmYywweDAwLDB4ZmQsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4NTMsMHhmYywweDAyLDB4ZmYsMHgwMSB9IH0sCi17ICAxNiwgMHhkMWYwLCAwLCB7MHgyZiwweGE0LDB4OGIsMHhmMCwweDgzLDB4N2MsMHgwMCwweGFkLDB4MDIsMHgyZiwweDQwLDB4MDMsMHg3MCwweDAzLDB4YjgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDA0LDB4MzIsMHhjMCB9IH0sCi17ICAxNiwgMHhkMjEwLCAwLCB7MHg0YywweGIwLDB4MjMsMHgyYywweDAwLDB4ZjgsMHg0MCwweDNlLDB4YzIsMHgwYywweGIwLDB4MDMsMHgyYywweDAwLDB4ZmIsMHg0MSB9IH0sCi17ICAxNiwgMHhkMjIwLCAwLCB7MHgzMiwweGMyLDB4MGYsMHhiMCwweDQzLDB4MmQsMHgwMCwweGM4LDB4NTAsMHgzZSwweDQwLDB4MGMsMHhiMCwweDBiLDB4MTAsMHgwNCB9IH0sCi17ICAxNiwgMHhkMjMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzgsMHgwNSwweDJmLDB4OTAsMHhiOSwweDUwLDB4MDMsMHhjMCB9IH0sCi17ICAxNiwgMHhkMjQwLCAwLCB7MHgxOCwweGYwLDB4MWEsMHgzYywweDAwLDB4YjksMHgzMiwweDJkLDB4ZTAsMHgzOCwweGYwLDB4NjAsMHgzYywweDA0LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkMjUwLCAwLCB7MHgzZSwweGYwLDB4MGIsMHg3YywweDgwLDB4MmMsMHgwMCwweGQ5LDB4YzAsMHgyZSwweDQwLDB4MGQsMHhmMCwweDAyLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRiLDB4MjQsMHhiMiwweDEwLDB4MDIsMHhjMSB9IH0sCi17ICAxNiwgMHhkMjcwLCAwLCB7MHgyOCwweDMwLDB4MDIsMHg2YywweDA0LDB4YjIsMHhjMSwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDAsMHgwYywweDAwLDB4YjIsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjgwLCAwLCB7MHgyOCwweDI0LDB4MDMsMHgzYywweDBhLDB4MDAsMHgwMCwweDgyLDB4YzgsMHgyYywweGEwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMjkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMSwweDE2LDB4MDAsMHhiNCwweDgwLDB4MjEsMHhlNCB9IH0sCi17ICAxNiwgMHhkMmEwLCAwLCB7MHg0OCwweDdiLDB4MDIsMHg1ZSwweDAwLDB4YjYsMHg4MCwweDZkLDB4ZTIsMHg0OCwweDc5LDB4MjIsMHgxZSwweDQwLDB4YWMsMHg4NCB9IH0sCi17ICAxNiwgMHhkMmIwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHhmYSwweDAwLDB4NTIsMHg0MCwweDk2LDB4ODAsMHgyZCwweGU4LDB4MTksMHgzOCwweDAyLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhkMmMwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4NDAsMHhmMywweDEwLDB4YjAsMHhjNCB9IH0sCi17ICAxNiwgMHhkMmQwLCAwLCB7MHgwOCwweDNhLDB4MDIsMHg0YywweDkwLDB4ZjMsMHgxMCwweDNjLDB4Y2MsMHgwOCwweDMxLDB4MDMsMHgwYywweDQ5LDB4YjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkMmUwLCAwLCB7MHgzMCwweDA1LDB4MGYsMHgzMCwweDA3LDB4MjEsMHg0MCwweDQzLDB4MDEsMHgzZSwweGMyLDB4MWMsMHgzMCwweDQzLDB4MTIsMHgwMiB9IH0sCi17ICAxNiwgMHhkMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwZCwweGJjLDB4MTAsMHhmYywweDEwLDB4M2YsMHhjNSB9IH0sCi17ICAxNiwgMHhkMzAwLCAwLCB7MHgwZiwweGYxLDB4MDEsMHhiYywweDA0LDB4ZmYsMHgwNCwweDNmLDB4YzQsMHgwZiwweGIxLDB4NGIsMHhmYywweDY0LDB4ZjcsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzEwLCAwLCB7MHgzNywweGMwLDB4MGYsMHg3MiwweDUzLDB4YWMsMHg0NCwweGZmLDB4MDEsMHgzZiwweGM5LDB4MGYsMHhmNCwweDAzLDB4ZDAsMHgwNiB9IH0sCi17ICAxNiwgMHhkMzIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDgsMHhmYSwweDAwLDB4M2UsMHhlMCB9IH0sCi17ICAxNiwgMHhkMzMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyYywweDAwLDB4Y2IsMHgwMiwweDNlLDB4Y2EsMHgwZiwweGIyLDB4MDcsMHgyZSwweDAwLDB4ZGIsMHgwMiB9IH0sCi17ICAxNiwgMHhkMzQwLCAwLCB7MHgzMiwweDA4LDB4MGYsMHgzMSwweDAzLDB4MmMsMHgwMCwweGNiLDB4MDQsMHgzZSwweDgwLDB4MGMsMHgzNSwweDAzLDB4MmEsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxMSwweDk0LDB4MDAsMHhiNSwweDAwLDB4MmQsMHhjOCB9IH0sCi17ICAxNiwgMHhkMzYwLCAwLCB7MHgwOCwweDcwLDB4MGEsMHgxYywweDIyLDB4ODcsMHgwMCwweDJkLDB4YzksMHgwYiwweGYyLDB4ODIsMHg5YywweDgwLDB4YTYsMHgwMCB9IH0sCi17ICAxNiwgMHhkMzcwLCAwLCB7MHgwOSwweDhiLDB4MGIsMHg3MCwweDBhLDB4MWMsMHgwMiwweDg1LDB4MDAsMHgyZCwweDQwLDB4MDgsMHg3MCwweDAyLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkMzgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweDgwLDB4MmMsMHhlYyB9IH0sCi17ICAxNiwgMHhkMzkwLCAwLCB7MHgwOCwweDdiLDB4MDIsMHg1ZSwweDQwLDB4ODUsMHg4OSwweDJkLDB4ZWMsMHg4YiwweDdiLDB4MDIsMHg0ZSwweDg0LDB4OGYsMHg4MCB9IH0sCi17ICAxNiwgMHhkM2EwLCAwLCB7MHgyNSwweDY0LDB4MGIsMHhmYSwweDAyLDB4MTIsMHgwOCwweDk3LDB4ODAsMHg2ZiwweGUxLDB4MDgsMHg3YSwweDAyLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkM2IwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxNCwweGNjLDB4MjAsMHhiMywweDY0LDB4MmMsMHhjMCB9IH0sCi17ICAxNiwgMHhkM2MwLCAwLCB7MHgwOCwweDMwLDB4MDYsMHgwYywweDEwLDB4ODMsMHg4YSwweDZjLDB4YzAsMHg1YiwweDMwLDB4NDIsMHhjYywweDAwLDB4YWIsMHgxMCB9IH0sCi17ICAxNiwgMHhkM2QwLCAwLCB7MHgyYywweGYyLDB4MGIsMHgzMCwweDAyLDB4MGQsMHgwMCwweDkzLDB4MDQsMHgyYywweGQ1LDB4MDgsMHgzMCwweDBhLDB4OTIsMHgwNCB9IH0sCi17ICAxNiwgMHhkM2UwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJiLDB4MDAsMHhmZSwweGMwLDB4M2UsMHg4MCB9IH0sCi17ICAxNiwgMHhkM2YwLCAwLCB7MHgyYywweGEwLDB4MDMsMHg2OCwweDAwLDB4YzYsMHg0MCwweDNmLDB4ODAsMHgwZiwweGEwLDB4MDIsMHg2OCwweDAwLDB4Y2UsMHg0NCB9IH0sCi17ICAxNiwgMHhkNDAwLCAwLCB7MHgzNiwweDkwLDB4NGYsMHg2MCwweDAzLDB4MWIsMHg3MCwweGRlLDB4ZDgsMHgzZiwweGEwLDB4MGMsMHgyMCwweDAzLDB4M2EsMHgwNCB9IH0sCi17ICAxNiwgMHhkNDEwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweGUwLDB4NDAsMHhmOCwweDEwLDB4M2UsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDIwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhMCwweDEwLDB4ZjgsMHg0MiwweDNlLDB4MTAsMHgxZiwweDgwLDB4MDMsMHhhMCwweDAwLDB4ZTgsMHgwYyB9IH0sCi17ICAxNiwgMHhkNDMwLCAwLCB7MHgzYSwweDA0LDB4MWYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4NDUsMHg3ZSwweDAyLDB4MmYsMHg4MCwweDAzLDB4ZDIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNDQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDY0LDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNDUwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgwNCwweDA4LDB4ZDksMHg4MCwweDM2LDB4NDAsMHgwZiwweDEwLDB4MTMsMHgyNCwweDA4LDB4ZjksMHgwMCB9IH0sCi17ICAxNiwgMHhkNDYwLCAwLCB7MHg3MiwweDcwLDB4MGYsMHg5MSwweDEzLDB4MjQsMHgxMCwweGM5LDB4MTAsMHgzZSwweDY5LDB4MGMsMHg5MCwweDAzLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhkNDcwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNCwweDY0LDB4MDgsMHhiOSwweDgwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNDgwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHhjNCwweDIyLDB4NTIsMHgwYiwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhkNDkwLCAwLCB7MHgyMiwweGUwLDB4MGIsMHg5MCwweDEyLDB4MjQsMHgwNCwweGQ5LDB4NGEsMHgyZSwweDYwLDB4MDgsMHg5MCwweDAzLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkNGEwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiMSwweDE4LDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNGIwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNCwweDAwLDB4OGIsMHgyMCwweDI2LDB4NDksMHgwYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YjksMHgwMCB9IH0sCi17ICAxNiwgMHhkNGMwLCAwLCB7MHhhMiwweDQwLDB4MGIsMHg5MCwweDhhLDB4MjQsMHgwMCwweDhiLDB4MDAsMHgyYywweDQwLDB4YTgsMHg5MCwweDAyLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkNGQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDA0LDB4ODQsMHhiMSwweDIwLDB4YTAsMHg0OCB9IH0sCi17ICAxNiwgMHhkNGUwLCAwLCB7MHgwYiwweDExLDB4MDYsMHgwNCwweDAwLDB4ODMsMHgwMCwweDAwLDB4NDAsMHg0YiwweDExLDB4MDIsMHgwNCwweDQ5LDB4YjEsMHgxMCB9IH0sCi17ICAxNiwgMHhkNGYwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MjQsMHg0MSwweDkxLDB4MDAsMHgyYywweDUwLDB4MDgsMHgxMCwweDAyLDB4NDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY5LDB4NDAsMHhlOCwweDUwLDB4MzIsMHgxNCB9IH0sCi17ICAxNiwgMHhkNTEwLCAwLCB7MHgwZiwweDg2LDB4OTMsMHgyMSwweGUyLDB4YzgsMHgwMCwweDM2LDB4MGEsMHgwYiwweDg2LDB4OGIsMHg2MSwweGE4LDB4ZjgsMHg0MCB9IH0sCi17ICAxNiwgMHhkNTIwLCAwLCB7MHgyMiwweDgwLDB4MGYsMHg4MiwweGEzLDB4MjEsMHgwOCwweGM4LDB4MDIsMHgzZSwweDAwLDB4MGMsMHg4MCwweDQzLDB4MmUsMHgwMyB9IH0sCi17ICAxNiwgMHhkNTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgxZCwweGY0LDB4NDgsMHhmZCwweDEyLDB4M2UsMHg0NCB9IH0sCi17ICAxNiwgMHhkNTQwLCAwLCB7MHgwZiwweDEyLDB4MDMsMHhjNCwweDAwLDB4N2QsMHgwMSwweDFlLDB4NDAsMHgwYiwweDkyLDB4MDMsMHhlNCwweDgwLDB4ZjUsMHgyMCB9IH0sCi17ICAxNiwgMHhkNTUwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZDQsMHg5MCwweDdkLDB4MDAsMHgzZCwweDQwLDB4MGYsMHg5NCwweDAzLDB4ZTYsMHgwNiB9IH0sCi17ICAxNiwgMHhkNTYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4YzEsMHhkZCwweDg4LDB4MzIsMHg3MiB9IH0sCi17ICAxNiwgMHhkNTcwLCAwLCB7MHgwYywweDk4LDB4MDMsMHgyNiwweDIyLDB4ZGQsMHgwMCwweDNmLDB4NjIsMHgyYywweDk5LDB4ODMsMHg0NiwweGEwLDB4YzksMHg0MCB9IH0sCi17ICAxNiwgMHhkNTgwLCAwLCB7MHhiMiwweDQwLDB4MGYsMHhkOCwweDAzLDB4MjQsMHgwMCwweGZkLDB4MDAsMHgzMywweDUxLDB4MmMsMHhkOCwweDgzLDB4MDYsMHgwMCB9IH0sCi17ICAxNiwgMHhkNTkwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgxMCwweGUzLDB4YzIsMHg4OCwweGMwLDB4MjIsMHgzMCB9IH0sCi17ICAxNiwgMHhkNWEwLCAwLCB7MHgwOCwweDhjLDB4NDIsMHgyMiwweDExLDB4OGEsMHgwMSwweDJlLDB4MDAsMHgwOCwweDg4LDB4NTIsMHgyMywweDAwLDB4ODAsMHhhMyB9IH0sCi17ICAxNiwgMHhkNWIwLCAwLCB7MHgyYSwweDAwLDB4NGIsMHg4MCwweDQyLDB4MjIsMHhhMCwweGI4LDB4MDAsMHgyMiwweDI4LDB4MDgsMHg4NCwweDAyLDB4OGUsMHgwNCB9IH0sCi17ICAxNiwgMHhkNWMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDJkLDB4MjAsMHg0OCB9IH0sCi17ICAxNiwgMHhkNWQwLCAwLCB7MHg2OCwweDE0LDB4ODAsMHgwNCwweDIwLDB4ODEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDEyLDB4MTIsMHgwNCwweDI0LDB4ODEsMHgyMCB9IH0sCi17ICAxNiwgMHhkNWUwLCAwLCB7MHgyMCwweDQwLDB4MGIsMHg5NCwweDMyLDB4MDQsMHg5MCwweGI5LDB4MDAsMHgyMCwweDQwLDB4NDgsMHgxMCwweDRhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkNWYwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGE0LDB4MDAsMHg4OSwweDIwLDB4MjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjAwLCAwLCB7MHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODksMHg0MCB9IH0sCi17ICAxNiwgMHhkNjEwLCAwLCB7MHgyMiwweDUwLDB4MGIsMHhiMCwweDAyLDB4MjQsMHgyMCwweGI5LDB4MDksMHhhMiwweDQ0LDB4MDgsMHg5MCwweDAyLDB4ODYsMHgwNCB9IH0sCi17ICAxNiwgMHhkNjIwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhkOSwweDA4LDB4YjIsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjMwLCAwLCB7MHg0YywweDEwLDB4MjMsMHgwNCwweDA0LDB4ZDksMHhjMSwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MGIsMHgwNCwweDA4LDB4YzEsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjQwLCAwLCB7MHgxMiwweDQwLDB4MGYsMHg5MCwweDQzLDB4MjQsMHgwNCwweGYxLDB4NDEsMHgzMCwweDc4LDB4MGMsMHg5MCwweDAzLDB4MjgsMHgwNCB9IH0sCi17ICAxNiwgMHhkNjUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDg2LDB4NjQsMHhmOSwweDgwLDB4M2UsMHg0MCB9IH0sCi17ICAxNiwgMHhkNjYwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhlNCwweDAwLDB4ZjksMHg5OCwweDNlLDB4NDAsMHgyZiwweDEwLDB4MDMsMHhhNCwweDAyLDB4ZjksMHgxMCB9IH0sCi17ICAxNiwgMHhkNjcwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTYsMHg0MCwweGY5LDB4OTAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjgwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDQxLDB4MzIsMHgwMCB9IH0sCi17ICAxNiwgMHhkNjkwLCAwLCB7MHgwYywweDgwLDB4MDcsMHgyMCwweDEwLDB4YzgsMHgxMCwweDNlLDB4MGMsMHgwZSwweDgwLDB4MDMsMHhlMCwweDA0LDB4YzgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmEwLCAwLCB7MHhiYSwweDAwLDB4MGYsMHg4MSwweDQzLDB4MjAsMHgwMCwweGY4LDB4NzAsMHgzZSwweDAwLDB4MGYsMHgwMCwweDBiLDB4MGEsMHgwNCB9IH0sCi17ICAxNiwgMHhkNmIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDM5LDB4MDIsMHg4ZSwweDIwLDB4YTMsMHg4MCB9IH0sCi17ICAxNiwgMHhkNmMwLCAwLCB7MHgyOCwweGUwLDB4MGEsMHgzOCwweDEwLDB4YWUsMHgwNCwweDNkLDB4YTEsMHg4ZSwweGUwLDB4MDIsMHhmOCwweDAwLDB4OGUsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmQwLCAwLCB7MHg3NiwweDgwLDB4MGIsMHg2MCwweDAzLDB4NzgsMHgwMCwweGJlLDB4NDAsMHgyZiwweDgyLDB4MGIsMHhhMCwweDAzLDB4Y2EsMHgwMCB9IH0sCi17ICAxNiwgMHhkNmUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRkLDB4MDAsMHg4YiwweDg4LDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhkNmYwLCAwLCB7MHgxOCwweDMwLDB4MDIsMHgwYywweDAwLDB4ODMsMHg0NCwweDJjLDB4ZDAsMHgxYiwweDMwLDB4MTIsMHhjYywweDA2LDB4ODMsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzAwLCAwLCB7MHgyMCwweGMxLDB4MGIsMHgzMCwweDgyLDB4MGMsMHgwMSwweGIzLDB4MDAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwMSwweDFjLDB4MDAsMHg4NSwweDAwLDB4MjAsMHhjYyB9IH0sCi17ICAxNiwgMHhkNzIwLCAwLCB7MHgwOCwweDcwLDB4MDYsMHgxYywweDg0LDB4YTcsMHgwMSwweDI5LDB4YzAsMHgwYiwweDcyLDB4MjIsMHhkYywweDgwLDB4ODcsMHgzNCB9IH0sCi17ICAxNiwgMHhkNzMwLCAwLCB7MHg2MSwweDgwLDB4MGIsMHgxMCwweDAyLDB4NWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkNzQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDBlLDB4MDAsMHg4YywweDgwLDB4MzEsMHhlMCB9IH0sCi17ICAxNiwgMHhkNzUwLCAwLCB7MHgwYywweGZlLDB4MDIsMHgzZiwweDAwLDB4YzUsMHg4MCwweDJkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhkZiwweGEwLDB4YzcsMHhhMCB9IH0sCi17ICAxNiwgMHhkNzYwLCAwLCB7MHgyMSwweDYwLDB4MGYsMHg3OCwweDAzLDB4MWUsMHg4MCwweGY3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDAzLDB4MmEsMHgwMiB9IH0sCi17ICAxNiwgMHhkNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCB9IH0sCi17ICAxNiwgMHhkNzgwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmEsMHgwMCwweDNlLDB4YzAsMHgwNiwweGIwLDB4MDMsMHhlYywweDgwLDB4ZmIsMHgyOCB9IH0sCi17ICAxNiwgMHhkNzkwLCAwLCB7MHgzNiwweGQ4LDB4NGYsMHhhMCwweDAzLDB4ZWMsMHgxMCwweGZhLDB4MDAsMHgzZSwweDUwLDB4MGYsMHgzMCwweDAzLDB4YzIsMHgwNiB9IH0sCi17ICAxNiwgMHhkN2EwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZhLDB4MDAsMHhjYywweDgwLDB4YjMsMHhlMCB9IH0sCi17ICAxNiwgMHhkN2IwLCAwLCB7MHgwZiwweGY4LDB4MDMsMHgzZSwweDAwLDB4Y2YsMHg5MCwweDNmLDB4NjAsMHg0ZiwweGY4LDB4YzMsMHgzZSwweDAwLDB4ZWYsMHg4MCB9IH0sCi17ICAxNiwgMHhkN2MwLCAwLCB7MHgzMywweGYwLDB4MGMsMHg3YSwweDAzLDB4M2UsMHg3MCwweGM1LDB4OTAsMHgzMywweGYxLDB4MGMsMHg3OCwweDAzLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkN2QwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGI4LDB4MDAsMHg4NywweDAwLDB4MjEsMHhjMCB9IH0sCi17ICAxNiwgMHhkN2UwLCAwLCB7MHgwYiwweDcwLDB4NGEsMHgxYywweDAwLDB4ODcsMHgxMCwweDJkLDB4YzAsMHg0YiwweDcxLDB4MGEsMHgzYywweDQ0LDB4OGYsMHgxMiB9IH0sCi17ICAxNiwgMHhkN2YwLCAwLCB7MHgyMSwweDg2LDB4MGQsMHg3MiwweDAyLDB4MWUsMHgwMCwweDg3LDB4MDAsMHgyMywweDQwLDB4MDgsMHg3MCwweDBhLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkODAwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NCwweDAwLDB4MjUsMHhjMCB9IH0sCi17ICAxNiwgMHhkODEwLCAwLCB7MHgwYiwweDcxLDB4MGEsMHgwYywweDAwLDB4YTcsMHgxMiwweDJkLDB4ODQsMHgwYiwweDcwLDB4MGEsMHgxYywweDAwLDB4YjcsMHgwOCB9IH0sCi17ICAxNiwgMHhkODIwLCAwLCB7MHgyMywweDQwLDB4MDksMHhmMywweDFhLDB4NWMsMHg4NiwweDk3LDB4MDgsMHgyNSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhkODMwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgxNCwweGNjLDB4MjAsMHg4MSwweDIwLDB4MjYsMHhjMCB9IH0sCi17ICAxNiwgMHhkODQwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgyYywweDAwLDB4ODIsMHg0MiwweDJjLDB4ODAsMHgwYiwweDMwLDB4MjIsMHgwYywweDA4LDB4OWIsMHg4MCB9IH0sCi17ICAxNiwgMHhkODUwLCAwLCB7MHgyMCwweGUwLDB4MDksMHgyMCwweDAyLDB4NGQsMHgwOCwweDkyLDB4MDAsMHgyNCwweGU1LDB4MDgsMHgzMCwweDBhLDB4MDgsMHgwNCB9IH0sCi17ICAxNiwgMHhkODYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFlLDB4ODIsMHhjYSwweGUwLDB4YjcsMHhjMCB9IH0sCi17ICAxNiwgMHhkODcwLCAwLCB7MHgwZiwweGYwLDB4MTMsMHgzYywweDBhLDB4YzksMHhjOCwweDNlLDB4NDAsMHgwZiwweGYwLDB4MDMsMHgzYywweDA0LDB4ZmYsMHg4NCB9IH0sCi17ICAxNiwgMHhkODgwLCAwLCB7MHgzMiwweGMwLDB4MGQsMHg5MCwweDEzLDB4N2MsMHgwMCwweGQ5LDB4MDAsMHhmNiwweGMwLDB4MmMsMHgxMCwweDAzLDB4MmEsMHgwNCB9IH0sCi17ICAxNiwgMHhkODkwLCAwLCB7MHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweGU0LDB4MDAsMHhmMywweDAwLDB4M2EsMHhjMSB9IH0sCi17ICAxNiwgMHhkOGEwLCAwLCB7MHg0ZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwOCwweDNjLDB4MDAsMHgwZiwweDMwLDB4MTMsMHhlYywweDAwLDB4ZWIsMHgwNCB9IH0sCi17ICAxNiwgMHhkOGIwLCAwLCB7MHhiZSwweDE4LDB4MGYsMHg5MCwweDIzLDB4YWMsMHg2MCwweGU5LDB4MDIsMHgzYSwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkOGMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjYSwweDAwLDB4MzMsMHhjMCB9IH0sCi17ICAxNiwgMHhkOGQwLCAwLCB7MHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4Y2QsMHgwMiwweDdmLDB4NDAsMHgwYywweGYwLDB4NDIsMHgzYywweDAwLDB4Y2YsMHgwOCB9IH0sCi17ICAxNiwgMHhkOGUwLCAwLCB7MHgzNywweDEwLDB4MGYsMHhkMCwweDAzLDB4ZmMsMHgxMCwweGNkLDB4MDgsMHgzZiwweDY2LDB4MmMsMHhkOSwweDAzLDB4MDAsMHg0NCB9IH0sCi17ICAxNiwgMHhkOGYwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwNCwweDYzLDB4ODAsMHg4YiwweGUwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTAwLCAwLCB7MHgwOCwweGIwLDB4MjIsMHhlYywweDAwLDB4ZDgsMHg4MCwweDZlLDB4MjAsMHg2OCwweGIwLDB4MWEsMHgyYywweDAxLDB4ZmIsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTEwLCAwLCB7MHgyMiwweDE4LDB4MGIsMHg4OCwweDQzLDB4NGMsMHgwMCwweDg4LDB4YTAsMHgyYywweGMwLDB4MWQsMHg5MCwweDAyLDB4MjAsMHg0MCB9IH0sCi17ICAxNiwgMHhkOTIwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDA4LDB4ODAsMHg4YiwweDIwLDB4MjIsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTMwLCAwLCB7MHgwOCwweGIwLDB4MjIsMHhlYywweDAwLDB4ODgsMHg4OCwweDJlLDB4NjIsMHg0OCwweGIwLDB4MWEsMHhjYywweDAwLDB4OGIsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTQwLCAwLCB7MHgyNiwweGMwLDB4NGEsMHg4OCwweDAyLDB4ZWMsMHgwMCwweDA4LDB4ODQsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkOTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweDAwLDB4MDAsMHg4MywweDAwLDB4NjAsMHhjMCB9IH0sCi17ICAxNiwgMHhkOTYwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhjYywweDAwLDB4OTAsMHgwNiwweDZjLDB4MDAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YTMsMHgwNCB9IH0sCi17ICAxNiwgMHhkOTcwLCAwLCB7MHgyMCwweDAwLDB4OGIsMHgwMCwweDA2LDB4NGMsMHgyMSwweDgwLDB4MDAsMHg2YywweGMwLDB4NDksMHgxMCwweDBhLDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhkOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYSwweDAwLDB4YjIsMHhjMSB9IH0sCi17ICAxNiwgMHhkOTkwLCAwLCB7MHg4OCwweGI0LDB4MDMsMHhlYywweDEwLDB4YzgsMHgwMCwweDJlLDB4MDAsMHgwYywweGIwLDB4MGIsMHhiYywweDA4LDB4OGYsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWEwLCAwLCB7MHgzNiwweDAwLDB4MDYsMHg4MCwweDAzLDB4ZWMsMHg4MCwweGM4LDB4MDIsMHgzZiwweGMxLDB4MGMsMHg5MCwweDAzLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHhkOWIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxZCwweGYwLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9IH0sCi17ICAxNiwgMHhkOWMwLCAwLCB7MHgwZiwweDcyLDB4ODMsMHhmYywweDE4LDB4ZmMsMHgwMywweDNmLDB4MDAsMHg4ZiwweDcwLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9IH0sCi17ICAxNiwgMHhkOWQwLCAwLCB7MHgzZCwweDAwLDB4MGYsMHhjMCwweDIzLDB4OGMsMHgwNiwweGZjLDB4MDAsMHgzZiwweDQwLDB4MGUsMHhkMCwweDAzLDB4ZTgsMHgwNiB9IH0sCi17ICAxNiwgMHhkOWUwLCAwLCB7MHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQxLDB4MDMsMHg3MCwweDQwLDB4ZGMsMHgxMCB9IH0sCi17ICAxNiwgMHhkOWYwLCAwLCB7MHgzNywweDA0LDB4MGQsMHhjMSwweDAzLDB4NzAsMHg0MCwweGRjLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMSwweDAxLDB4NzAsMHg0MCB9IH0sCi17ICAxNiwgMHhkYTAwLCAwLCB7MHg5YywweDEwLDB4MTcsMHgxNCwweDA1LDB4YzEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwLDB4MTcsMHgwNCwweDBkLDB4YzAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCB9IH0sCi17ICAxNiwgMHhkYTIwLCAwLCB7MHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4MjEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDAxLDB4NzEsMHgwMSB9IH0sCi17ICAxNiwgMHhkYTMwLCAwLCB7MHg1YywweDQwLDB4MTcsMHgxMCwweDA1LDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YywweDQxLDB4NTcsMHgxMCwweDE1LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkYTQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkYTUwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkYTYwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhkYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHg2MCwweDAwLDB4NTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTgwLCAwLCB7MHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDA1LDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYTkwLCAwLCB7MHg1OCwweDAwLDB4MTYsMHgxOCwweDAxLDB4ODAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhkYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDUsMHgyMiwweDAxLDB4MWMsMHg4MCB9IH0sCi17ICAxNiwgMHhkYWIwLCAwLCB7MHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHg0MSB9IH0sCi17ICAxNiwgMHhkYWMwLCAwLCB7MHg1YywweDgwLDB4NTcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDE1LDB4YzAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYWQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYWUwLCAwLCB7MHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYWYwLCAwLCB7MHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9IH0sCi17ICAxNiwgMHhkYjEwLCAwLCB7MHg0MiwweDIwLDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4MCwweDA0LDB4MjMsMHgwMSB9IH0sCi17ICAxNiwgMHhkYjIwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgyMCwweDEwLDB4ODAsMHgyMSB9IH0sCi17ICAxNiwgMHhkYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDRhLDB4MDUsMHg0MiwweDgxLDB4NTAsMHhhMCB9IH0sCi17ICAxNiwgMHhkYjQwLCAwLCB7MHg0NCwweDJjLDB4MTEsMHgwYiwweDA0LDB4NDIsMHg4MSwweDEwLDB4ZTAsMHg1NCwweDI4LDB4MTEsMHgwMiwweDAwLDB4NDIsMHg4MSB9IH0sCi17ICAxNiwgMHhkYjUwLCAwLCB7MHgxMCwweGEwLDB4NDQsMHgzOCwweDExLDB4MGIsMHgwNSwweDQyLDB4ODEsMHgxMCwweDIxLDB4MTQsMHgyOCwweDE1LDB4MDAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYjYwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBjLDB4MDEsMHg1NywweDAwLDB4NTQsMHhjMCB9IH0sCi17ICAxNiwgMHhkYjcwLCAwLCB7MHgxNSwweDMwLDB4MDQsMHg0YywweDAxLDB4MTMsMHgwMCwweDU0LDB4YzAsMHgxNSwweDcwLDB4MDUsMHg0YywweDAxLDB4NTMsMHgwMCB9IH0sCi17ICAxNiwgMHhkYjgwLCAwLCB7MHg1NCwweGMwLDB4MTUsMHgzMCwweDg1LDB4NGMsMHgwMSwweDEzLDB4MDAsMHg1NCwweGMwLDB4MTUsMHgzMCwweDA1LDB4NDAsMHgyMSB9IH0sCi17ICAxNiwgMHhkYjkwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmEwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDEwLDB4NjIsMHgwNCwweDAwLDB4MDEsMHgwOCwweDA0LDB4NDEsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmIwLCAwLCB7MHgxMCwweDAwLDB4NDQsMHgxOCwweDExLDB4MDAsMHgwMCwweDEwLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgwMCwweDAxLDB4MDEsMHgyMCB9IH0sCi17ICAxNiwgMHhkYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDYwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhkYmQwLCAwLCB7MHgyMCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MTgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAwLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkYmUwLCAwLCB7MHg4MiwweDAwLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgwMiwweDE4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MDEsMHgzMSB9IH0sCi17ICAxNiwgMHhkYmYwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDUsMHg2NCwweDAxLDB4NTgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzAwLCAwLCB7MHg1NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg1NiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhkYzEwLCAwLCB7MHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzMwLCAwLCB7MHgzNiwweDAwLDB4MGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweDk4LDB4MDAsMHgzNiwweDAwLDB4MWQsMHg4OCwweDA1LDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzQwLCAwLCB7MHhkOCwweDAwLDB4MTYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDgwLDB4NDYsMHgwMCwweDBkLDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCB9IH0sCi17ICAxNiwgMHhkYzYwLCAwLCB7MHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjIsMHg0MSwweDA4LDB4MTgsMHhjMiwweDA0LDB4MzAsMHg4OSB9IH0sCi17ICAxNiwgMHhkYzcwLCAwLCB7MHgwYywweDIwLDB4MDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzAsMHgxMCB9IH0sCi17ICAxNiwgMHhkYzgwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhkYzkwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkY2EwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMSB9IH0sCi17ICAxNiwgMHhkY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCB9IH0sCi17ICAxNiwgMHhkY2MwLCAwLCB7MHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMywweDAxLDB4MzAsMHg4MCB9IH0sCi17ICAxNiwgMHhkY2QwLCAwLCB7MHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YywweDMwLDB4MTMsMHgwOCwweDA0LDB4YzAsMHgyMSB9IH0sCi17ICAxNiwgMHhkY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDUsMHg2MCwweDgxLDB4NTgsMHgyMCB9IH0sCi17ICAxNiwgMHhkY2YwLCAwLCB7MHg1NiwweDA4LDB4MTEsMHg4MiwweDA1LDB4NjAsMHg4MSwweDU4LDB4MjAsMHg1NiwweDA4LDB4MTEsMHg4MywweDAwLDB4NjAsMHg4MSB9IH0sCi17ICAxNiwgMHhkZDAwLCAwLCB7MHg1OCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDMwLDB4NTYsMHgwOCwweDE1LDB4ODAsMHgzMCB9IH0sCi17ICAxNiwgMHhkZDEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZDIwLCAwLCB7MHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MzAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZDMwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHgwMCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAwLDB4ODAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZDUwLCAwLCB7MHg0NiwweDQ4LDB4MTEsMHg5MiwweDA0LDB4NjAsMHg4MSwweDE5LDB4MjAsMHg0NiwweDI4LDB4MTEsMHg4MiwweDAwLDB4MzQsMHg4MSB9IH0sCi17ICAxNiwgMHhkZDYwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHg0OCwweDExLDB4OTIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwLDB4NDMsMHgwOCwweDExLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDYwLDB4MDQsMHg1OCwweDAxLDB4NTYsMHgwMCB9IH0sCi17ICAxNiwgMHhkZDgwLCAwLCB7MHg1NSwweDgwLDB4MTUsMHg2MCwweDA0LDB4NTgsMHgwMSwweDE2LDB4MDAsMHg1NSwweDgwLDB4MDEsMHg2MCwweDA0LDB4MTgsMHgwMSB9IH0sCi17ICAxNiwgMHhkZDkwLCAwLCB7MHg1NiwweDAwLDB4NDUsMHg4MCwweDExLDB4NjAsMHgwNCwweDU4LDB4MDEsMHgxNiwweDAwLDB4NDEsMHg4MCwweDExLDB4NDAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZGEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA2LDB4MDEsMHg0MSwweDgwLDB4NTAsMHg2MCB9IH0sCi17ICAxNiwgMHhkZGIwLCAwLCB7MHgxNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NDEsMHg4MCwweDUwLDB4NjAsMHgwNCwweDE4LDB4MDUsMHgwNiwweDAwLDB4NDEsMHg4MCB9IH0sCi17ICAxNiwgMHhkZGMwLCAwLCB7MHgxMCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDQxLDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZGUwLCAwLCB7MHgxMCwweDQ4LDB4MDQsMHgxMiwweDAxLDB4MDAsMHg4MCwweDQxLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDQsMHg4MCB9IH0sCi17ICAxNiwgMHhkZGYwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHg0OCwweDA0LDB4MTIsMHgwMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCB9IH0sCi17ICAxNiwgMHhkZTEwLCAwLCB7MHgzMCwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ1LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MDUsMHg4MCB9IH0sCi17ICAxNiwgMHhkZTIwLCAwLCB7MHhkNCwweDYwLDB4MTUsMHgxOCwweDBkLDB4NDYsMHgwMywweDExLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZTMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ2LDB4MDUsMHg3MSwweDgwLDB4NWMsMHg2MCB9IH0sCi17ICAxNiwgMHhkZTQwLCAwLCB7MHg5NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4MjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDAzLDB4NzAsMHg4MSB9IH0sCi17ICAxNiwgMHhkZTUwLCAwLCB7MHg1YywweDYwLDB4NTcsMHgxOCwweDExLDB4YzYsMHgwNSwweDMxLDB4ODEsMHg1YywweDYwLDB4NzcsMHgxOCwweDE1LDB4YzAsMHgzMSB9IH0sCi17ICAxNiwgMHhkZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQ2LDB4MDMsMHg3MSwweDgwLDB4ZGMsMHg2MCB9IH0sCi17ICAxNiwgMHhkZTcwLCAwLCB7MHgzNywweDE4LDB4MGQsMHhjNiwweDAzLDB4NzEsMHg4MCwweGRkLDB4NjAsMHgzNywweDE4LDB4MDUsMHhjNiwweDAxLDB4NzUsMHg4MSB9IH0sCi17ICAxNiwgMHhkZTgwLCAwLCB7MHhkYywweDYwLDB4MzcsMHgxOCwweDBkLDB4YzYsMHgwMywweDcxLDB4ODQsMHg1YywweDYwLDB4MTcsMHgxOCwweDE5LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCB9IH0sCi17ICAxNiwgMHhkZWEwLCAwLCB7MHg1NywweDE4LDB4MTQsMHg4NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MDUsMHhjNiwweDA0LDB4MzEsMHg4MSB9IH0sCi17ICAxNiwgMHhkZWIwLCAwLCB7MHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODAsMHg1YywweDYwLDB4NDMsMHgxOCwweDE1LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZWMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZWQwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4NzAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZWUwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTcsMHgwOCwweDA0LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDEsMHg2MSwweDgwLDB4NTgsMHg2MCB9IH0sCi17ICAxNiwgMHhkZjAwLCAwLCB7MHgxNiwweDE4LDB4NDEsMHg4NiwweDAxLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDNjLDB4MDUsMHg4NiwweDA0LDB4NjEsMHg4MCB9IH0sCi17ICAxNiwgMHhkZjEwLCAwLCB7MHgxOCwweDYwLDB4MTYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHg1OCwweDYwLDB4NTYsMHgxOCwweDE1LDB4ODAsMHgxMCB9IH0sCi17ICAxNiwgMHhkZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjMwLCAwLCB7MHg1NywweDAwLDB4MTUsMHhjMCwweDA0LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg1NywweDAwLDB4MTAsMHhjMCwweDA0LDB4NzAsMHgwMCB9IH0sCi17ICAxNiwgMHhkZjQwLCAwLCB7MHgxYywweDAwLDB4NDcsMHgwMCwweDExLDB4YzAsMHgwNCwweDcwLDB4MDEsMHg1YywweDAwLDB4NDcsMHgwMCwweDAxLDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZjUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZjYwLCAwLCB7MHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDAsMHg4MiwweDAwLDB4NjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZjcwLCAwLCB7MHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZjgwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhkZjkwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTEsMHg4MiwweDA0LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhkZmEwLCAwLCB7MHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDAwLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDUsMHg0MCwweDgxLDB4NTAsMHgyMCB9IH0sCi17ICAxNiwgMHhkZmMwLCAwLCB7MHg1NCwweDA4LDB4MTUsMHgwMiwweDA1LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg1NCwweDBjLDB4MTUsMHg0MiwweDAwLDB4NDAsMHg4MSB9IH0sCi17ICAxNiwgMHhkZmQwLCAwLCB7MHg1MCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwNSwweDQwLDB4ODEsMHgxMCwweDIwLDB4MTQsMHgwOCwweDA1LDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhkZmUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAzLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCB9IH0sCi17ICAxNiwgMHhkZmYwLCAwLCB7MHgxNSwweDA4LDB4MDUsMHg0MiwweDAxLDB4NTAsMHhjMCwweDU0LDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCB9IH0sCi17ICAxNiwgMHhlMDAwLCAwLCB7MHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDIsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCB9IH0sCi17ICAxNiwgMHhlMDIwLCAwLCB7MHgwNCwweDIwLDB4MDEsMHg4OCwweDAwLDB4NjIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MTEsMHgwOCwweDAwLDB4NDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDMwLCAwLCB7MHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDEsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhlMDUwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MjAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDI4LDB4MDAsMHgwMiwweDAyLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhlMDYwLCAwLCB7MHg4MCwweDIwLDB4MjAsMHgwYSwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHgwMCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlMDcwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMDgwLCAwLCB7MHg1NiwweDAwLDB4MDUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDgsMHg1NiwweDAwLDB4MTUsMHg4MCwweDA3LDB4NjAsMHgwMiB9IH0sCi17ICAxNiwgMHhlMDkwLCAwLCB7MHg1OCwweDAwLDB4NTYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDMsMHgxOCwweDAwLDB4NzYsMHgwMCwweDE1LDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhlMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGIwLCAwLCB7MHgzNiwweDAwLDB4MGQsMHg4MCwweDAxLDB4NjAsMHgwMCwweGQ4LDB4MGEsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA1LDB4NzAsMHgwOSB9IH0sCi17ICAxNiwgMHhlMGMwLCAwLCB7MHhkOCwweDAxLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4NTcsMHgwMCwweDBkLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDAxLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMGUwLCAwLCB7MHg0MywweDAwLDB4MTAsMHhjMCwweDAwLDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0MywweDIwLDB4MTAsMHhjMCwweDA0LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlMGYwLCAwLCB7MHgwYywweDAwLDB4NDMsMHg0MCwweDUwLDB4YzEsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwLDB4NDYsMHgwMCwweDEwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhkMCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTIwLCAwLCB7MHgwYywweDAwLDB4MDMsMHg0MCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwZCwweDAwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg1MCB9IH0sCi17ICAxNiwgMHhlMTQwLCAwLCB7MHgxMywweDEwLDB4MDQsMHhjNCwweDAxLDB4MzEsMHg0MCwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDExLDB4MzEsMHg0MSB9IH0sCi17ICAxNiwgMHhlMTUwLCAwLCB7MHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDUsMHg2OCwweGMxLDB4NWEsMHgzMCB9IH0sCi17ICAxNiwgMHhlMTcwLCAwLCB7MHg1NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDFhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHhhMywweDA1LDB4NjgsMHhjMCB9IH0sCi17ICAxNiwgMHhlMTgwLCAwLCB7MHg1YSwweDMwLDB4NDYsMHg4YywweDExLDB4YTMsMHgwNCwweDY4LDB4YzEsMHg1YSwweDMwLDB4MTYsMHg4YywweDE1LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWEwLCAwLCB7MHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDIwLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWIwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHg0MCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOSwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDQsMHg2MiwweDAxLDB4MTgsMHg4NCB9IH0sCi17ICAxNiwgMHhlMWQwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDAxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMCB9IH0sCi17ICAxNiwgMHhlMWUwLCAwLCB7MHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0LDB4MDYsMHgyMSwweDExLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDUsMHg1MCwweDExLDB4NTQsMHgwNCB9IH0sCi17ICAxNiwgMHhlMjAwLCAwLCB7MHg1NSwweDAxLDB4MTEsMHg0MCwweDQ1LDB4NTAsMHgxMSwweDE0LDB4MDAsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjEwLCAwLCB7MHgxNCwweDA0LDB4NDUsMHgwMCwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4NTUsMHgwMSwweDExLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiB9IH0sCi17ICAxNiwgMHhlMjMwLCAwLCB7MHgxNCwweDIwLDB4ODUsMHgwOCwweDIxLDB4NDIsMHgwOCwweDUwLDB4ODIsMHgwNCwweDIwLDB4ODUsMHgwOCwweDIxLDB4NDIsMHgwOCB9IH0sCi17ICAxNiwgMHhlMjQwLCAwLCB7MHg1MCwweDgyLDB4MTQsMHgyMCwweDA1LDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCB9IH0sCi17ICAxNiwgMHhlMjYwLCAwLCB7MHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4NDAsMHgwYSwweDAxLDB4MDIsMHg4MCB9IH0sCi17ICAxNiwgMHhlMjcwLCAwLCB7MHg0MCwweGEwLDB4MTAsMHgyOCwweDQ0LDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCB9IH0sCi17ICAxNiwgMHhlMjkwLCAwLCB7MHgzNSwweDMwLDB4MGQsMHg0YywweDAxLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDEwLDB4MGMsMHg0YywweDAzLDB4NTMsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmEwLCAwLCB7MHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHg3MiwweDAxLDB4NWMsMHg4MCB9IH0sCi17ICAxNiwgMHhlMmMwLCAwLCB7MHgxNywweDIwLDB4MDUsMHhjOCwweDA2LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDAyLDB4NzIsMHgwMSB9IH0sCi17ICAxNiwgMHhlMmQwLCAwLCB7MHg1YywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyLDB4MDEsMHg1YywweDgwLDB4MzcsMHgyMCwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MTgsMHg0MCwweGM2LDB4MTIsMHgzMSB9IH0sCi17ICAxNiwgMHhlMmYwLCAwLCB7MHg4NCwweDhjLDB4MjEsMHgyMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDBjLDB4NjEsMHgyMywweDEwLDB4NDgsMHhjMiB9IH0sCi17ICAxNiwgMHhlMzAwLCAwLCB7MHgxMiwweDMxLDB4ODQsMHg4YywweDAxLDB4MjMsMHgwOCwweDQ4LDB4YzYsMHgxMiwweDMxLDB4MDQsMHg4YywweDYxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiB9IH0sCi17ICAxNiwgMHhlMzIwLCAwLCB7MHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiB9IH0sCi17ICAxNiwgMHhlMzMwLCAwLCB7MHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJjLDB4ZGIsMHgwZiwweGI2LDB4YzIsMHhjZCB9IH0sCi17ICAxNiwgMHhlMzgwLCAwLCB7MHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4ZGYsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHg3ZSB9IH0sCi17ICAxNiwgMHhlMzkwLCAwLCB7MHhjMiwweGNkLDB4YjAsMHhiNywweGZkLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4M2MsMHg0ZiwweGNmLDB4MTMsMHgzMyB9IH0sCi17ICAxNiwgMHhlM2IwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGMsMHhjZiwweDEzLDB4M2YsMHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGMsMHhmZiB9IH0sCi17ICAxNiwgMHhlM2MwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjZiwweGZkLDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMywweDMzLDB4YzQsMHhjYywweGYxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNyB9IH0sCi17ICAxNiwgMHhlM2UwLCAwLCB7MHhlNCwweGVjLDB4NzksMHgzYiwweDFlLDB4NGUsMHhkZiwweDkzLDB4YmYsMHhlNCwweDhkLDB4ZjksMHgzYiwweDc4LDB4NGUsMHhmZiB9IH0sCi17ICAxNiwgMHhlM2YwLCAwLCB7MHg5MywweGI3LDB4ZTQsMHhlZCwweGZkLDB4M2IsMHgxZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ODQsMHhlZCwweGY5LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMCB9IH0sCi17ICAxNiwgMHhlNDEwLCAwLCB7MHgyNywweDFjLDB4MDksMHhjMSwweDAxLDB4MzAsMHg0MCwweDFjLDB4MTAsMHg2NywweDA0LDB4MDksMHhjMSwweDAyLDB4NzAsMHg0MSB9IH0sCi17ICAxNiwgMHhlNDIwLCAwLCB7MHg5YywweDExLDB4MDcsMHgxNCwweDAxLDB4YzEsMHgwMiwweDcwLDB4NDAsMHg5YywweDUwLDB4MDcsMHgxYywweDAxLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCB9IH0sCi17ICAxNiwgMHhlNDQwLCAwLCB7MHg1NywweDEwLDB4NTUsMHhjNCwweDAxLDB4MzEsMHgwMCwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwMSB9IH0sCi17ICAxNiwgMHhlNDUwLCAwLCB7MHhkYywweDQwLDB4MTcsMHgxOCwweDFkLDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YywweDQwLDB4NTcsMHgxMCwweDFkLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNDcwLCAwLCB7MHgxMiwweDAwLDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNDgwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDYwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGEwLCAwLCB7MHgwNiwweDAwLDB4NDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHg0NiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGIwLCAwLCB7MHgxMCwweDAwLDB4MDYsMHgxMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDIwLDB4NDYsMHgxMCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCB9IH0sCi17ICAxNiwgMHhlNGQwLCAwLCB7MHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGUwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4Y2MsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTAwLCAwLCB7MHgwNiwweDAwLDB4MDEsMHg4NCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHg0MCB9IH0sCi17ICAxNiwgMHhlNTEwLCAwLCB7MHgxOCwweDAwLDB4MDYsMHgwNCwweDAxLDB4ODEsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgxNCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9IH0sCi17ICAxNiwgMHhlNTMwLCAwLCB7MHg0MiwweDcwLDB4MTAsMHg4YywweDA0LDB4MjIsMHgwMSwweDA4LDB4YzAsMHgwMiwweDIwLDB4MTAsMHg4OCwweDA0LDB4MjIsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTQwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHg1MCwweDEwLDB4MDgsMHgwNCwweDIyLDB4MDEsMHgwOSwweDAwLDB4NDIsMHg0MCwweDEwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJlLDB4MDQsMHg0YSwweDgxLDB4MTIsMHhhMCB9IH0sCi17ICAxNiwgMHhlNTYwLCAwLCB7MHg0NCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyLDB4YTAsMHgwNCwweGE4LDB4MTEsMHgyYSwweDA0LDB4NGIsMHg4MCB9IH0sCi17ICAxNiwgMHhlNTcwLCAwLCB7MHgxMiwweGEwLDB4NDQsMHg4OCwweDAxLDB4MmUsMHgwNCwweDRhLDB4ODEsMHgxMiwweDIwLDB4MDQsMHg5OCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDBlLDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCB9IH0sCi17ICAxNiwgMHhlNTkwLCAwLCB7MHgwNSwweDMwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCwweDE0LDB4ZTAsMHgwNSwweDMwLDB4MDEsMHg0YywweDAwLDB4NTMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWEwLCAwLCB7MHgwNCwweGMwLDB4MDUsMHgzMCwweDAwLDB4NGMsMHgwMCwweDAzLDB4MDAsMHgxNCwweGMwLDB4MDUsMHgzMCwweDAwLDB4NDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDA0LDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWMwLCAwLCB7MHgwNCwweDU4LDB4MDEsMHgwNCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDEsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWQwLCAwLCB7MHgwNCwweDAwLDB4NDQsMHg1OCwweDEwLDB4NDQsMHgwMCwweDAwLDB4MDAsMHgxMSwweDgwLDB4MDQsMHg1MCwweDEwLDB4NDAsMHgzMCB9IH0sCi17ICAxNiwgMHhlNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNWYwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjAwLCAwLCB7MHg4NCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4NDAsMHgzMCB9IH0sCi17ICAxNiwgMHhlNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDQwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjIwLCAwLCB7MHg0NiwweDAwLDB4MDEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlNjMwLCAwLCB7MHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgzMCB9IH0sCi17ICAxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMSwweDQwLDB4MDAsMHg2MCwweDAwLDB4OTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjUwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MCwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgwNiwweDAwLDB4MGMsMHg4MCwweDAyLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjYwLCAwLCB7MHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDgwLDB4MDYsMHgwMCwweDAxLDB4ODIsMHgwMCB9IH0sCi17ICAxNiwgMHhlNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDAsMHgzMCwweDgxLDB4MGMsMHgyMCB9IH0sCi17ICAxNiwgMHhlNjgwLCAwLCB7MHg0MywweDA4LDB4MTAsMHhjMiwweDI0LDB4MzAsMHg4MSwweDhjLDB4MjAsMHgwMywweDA4LDB4MTAsMHhjMiwweDA0LDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNjkwLCAwLCB7MHgwYywweDIwLDB4MDMsMHgwOCwweDE4LDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDE4LDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhlNmEwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmIwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDQwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHg4MCwweDAwLDB4MzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmMwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAyLDB4MTAsMHgzMCwweDgwLDB4MGMsMHgyMCB9IH0sCi17ICAxNiwgMHhlNmUwLCAwLCB7MHgwMywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjAsMHgwMywweDA4LDB4MDAsMHhjMiwweDAxLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNmYwLCAwLCB7MHgwYywweDIwLDB4MDMsMHgyYywweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYywweDMwLDB4NDMsMHgyYywweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzAwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNzEwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MSB9IH0sCi17ICAxNiwgMHhlNzIwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwYywweDExLDB4YzIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhlNzMwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNzQwLCAwLCB7MHgwMiwweDI4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhlNzUwLCAwLCB7MHgwOCwweDIwLDB4MDIsMHgwOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwOCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhlNzcwLCAwLCB7MHg0NiwweDI4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MSB9IH0sCi17ICAxNiwgMHhlNzgwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODIsMHgwNCwweDYwLDB4ODEsMHgxOCwweDIwLDB4NDMsMHgwOCwweDEwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDAxLDB4MTQsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2EwLCAwLCB7MHg0NSwweDAwLDB4MTEsMHg0MCwweDI1LDB4MDAsMHgwMCwweDE0LDB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMSB9IH0sCi17ICAxNiwgMHhlN2IwLCAwLCB7MHgxNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUwLDB4MDEsMHg0MCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDIsMHgxMSB9IH0sCi17ICAxNiwgMHhlN2MwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCB9IH0sCi17ICAxNiwgMHhlN2QwLCAwLCB7MHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCB9IH0sCi17ICAxNiwgMHhlN2UwLCAwLCB7MHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDAyLDB4MDUsMHgwMCwweDgwLDB4NDAsMHgyMSB9IH0sCi17ICAxNiwgMHhlODAwLCAwLCB7MHgxMCwweDA4LDB4MDQsMHgwMCwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhlODEwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwOCwweDE0LDB4MDIsMHgxMSwweDAwLDB4ODQsMHg0MCwweDIwLDB4MTAsMHgwOCwweDE0LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQ2LDB4MDEsMHg1MSwweDgwLDB4ZDQsMHg2MCB9IH0sCi17ICAxNiwgMHhlODMwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgxNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCB9IH0sCi17ICAxNiwgMHhlODQwLCAwLCB7MHg1NCwweDYwLDB4MTUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlODUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCB9IH0sCi17ICAxNiwgMHhlODYwLCAwLCB7MHg0NSwweDE4LDB4MTEsMHhkNiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHg2NywweDE4LDB4MTEsMHhjNiwweDA0LDB4NzEsMHg4MSB9IH0sCi17ICAxNiwgMHhlODcwLCAwLCB7MHg5YywweDYwLDB4NDcsMHgxOCwweDExLDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4NjcsMHgxOCwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCB9IH0sCi17ICAxNiwgMHhlODkwLCAwLCB7MHgyNywweDE4LDB4MDksMHhjNiwweDAwLDB4NzEsMHg4MCwweDljLDB4NjAsMHg2NywweDE4LDB4MDksMHhjNiwweDAyLDB4NzEsMHg4MCB9IH0sCi17ICAxNiwgMHhlOGEwLCAwLCB7MHg5YywweDYxLDB4MjcsMHgxOCwweDAxLDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MDcsMHgxOCwweDAxLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHg0NSwweDQ2LDB4MDUsMHg3MSwweDgxLDB4NWMsMHg2MCB9IH0sCi17ICAxNiwgMHhlOGMwLCAwLCB7MHg1NywweDE4LDB4NTUsMHhkNiwweDAxLDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSB9IH0sCi17ICAxNiwgMHhlOGQwLCAwLCB7MHg1YywweDYwLDB4NTcsMHgxOCwweDE4LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NDMsMHgxOCwweDE4LDB4ODIsMHgxMSB9IH0sCi17ICAxNiwgMHhlOGUwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDUyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlOGYwLCAwLCB7MHgxMiwweDQ4LDB4MDQsMHg5MCwweDAxLDB4MjAsMHg4MCwweDQ5LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjQsMHg4MCB9IH0sCi17ICAxNiwgMHhlOTAwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHg0OCwweDAwLDB4OTIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTcsMHg0OCwweDA0LDB4ODAsMHgwMSB9IH0sCi17ICAxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCB9IH0sCi17ICAxNiwgMHhlOTIwLCAwLCB7MHgwNiwweDNjLDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHg0NiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCB9IH0sCi17ICAxNiwgMHhlOTMwLCAwLCB7MHgxOCwweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4NDYsMHgxOCwweDAxLDB4ODAsMHgwMSB9IH0sCi17ICAxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDYwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCB9IH0sCi17ICAxNiwgMHhlOTUwLCAwLCB7MHg0NywweDgwLDB4MTEsMHhlMCwweDI0LDB4NzgsMHgwMSwweDFlLDB4MDAsMHgwNywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSB9IH0sCi17ICAxNiwgMHhlOTYwLCAwLCB7MHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4YzAsMHgxMSB9IH0sCi17ICAxNiwgMHhlOTcwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDEyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgyMCB9IH0sCi17ICAxNiwgMHhlOTgwLCAwLCB7MHgwNiwweDQ4LDB4MDEsMHg5MiwweDAwLDB4NjAsMHg4MCwweDE5LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MiwweDAwLDB4NjQsMHg4MCB9IH0sCi17ICAxNiwgMHhlOTkwLCAwLCB7MHgxOCwweDIwLDB4MDYsMHg0OCwweDAxLDB4OTMsMHgwMCwweDIwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHg0OCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9IH0sCi17ICAxNiwgMHhlOWIwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHgwMiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9IH0sCi17ICAxNiwgMHhlOWMwLCAwLCB7MHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4OGEsMHgwNCwweDYwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDQsMHg0MCwweDgxLDB4MTAsMHgyMCB9IH0sCi17ICAxNiwgMHhlOWUwLCAwLCB7MHg0NCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHgwNCwweDA4LDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSB9IH0sCi17ICAxNiwgMHhlOWYwLCAwLCB7MHgxMCwweDIxLDB4NDQsMHgwOCwweDAxLDB4MDIsMHgwNCwweDUwLDB4ODEsMHgxMCwweDIwLDB4MDQsMHgwOCwweDAxLDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYTAwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCB9IH0sCi17ICAxNiwgMHhlYTEwLCAwLCB7MHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYTIwLCAwLCB7MHgxNCwweDMwLDB4MDUsMHgwOCwweDAxLDB4NGEsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwOCwweDAxLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYTQwLCAwLCB7MHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlYTUwLCAwLCB7MHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAsMHgwMCwweDQyLDB4MDAsMHgxMCwweDgwLDB4MDQsMHgyMCwweDExLDB4MDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlYTYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCB9IH0sCi17ICAxNiwgMHhlYTcwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhlYTgwLCAwLCB7MHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYTkwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWEwLCAwLCB7MHg0NiwweDAwLDB4MTEsMHg4MCwweDA2LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSB9IH0sCi17ICAxNiwgMHhlYWIwLCAwLCB7MHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NjYsMHgwMCwweDExLDB4ODAsMHgxMCB9IH0sCi17ICAxNiwgMHhlYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQwLDB4MDIsMHg2NCwweDAwLDB4OTgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWQwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg5MCwweDA2LDB4NjAsMHgwMSwweDk4LDB4MDAsMHgyNiwweDQwLDB4MDksMHg4MCwweDAyLDB4NjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWUwLCAwLCB7MHg5OCwweDAwLDB4MjYsMHgwMCwweDAwLDB4OTAsMHgwMiwweDYwLDB4MDAsMHg5OCwweDAwLDB4MDcsMHgwMCwweDAxLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDYwLDB4MDQsMHgzOCwweDA1LDB4MGUsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjAwLCAwLCB7MHg0MywweDgwLDB4MTAsMHhlMCwweDQ0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSB9IH0sCi17ICAxNiwgMHhlYjEwLCAwLCB7MHgwZSwweDAwLDB4NDMsMHg4MCwweDE4LDB4YTAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDYsMHg4MCwweDE4LDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYjIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMCwweDAxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCB9IH0sCi17ICAxNiwgMHhlYjMwLCAwLCB7MHgwMywweDA0LDB4MDAsMHhjNSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDE0LDB4MDAsMHhjMSwweDAwLDB4MzAsMHg0MCB9IH0sCi17ICAxNiwgMHhlYjQwLCAwLCB7MHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4ODcsMHg0MCwweDMwLDB4NDAsMHgwYywweDEwLDB4MDIsMHgwNCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDA1LDB4MDAsMHgzNSwweDQwLDB4MGMsMHg1MCB9IH0sCi17ICAxNiwgMHhlYjYwLCAwLCB7MHgwMywweDE0LDB4MDAsMHhkNSwweDA0LDB4MzEsMHg0MSwweDBjLDB4NTAsMHgwMywweDVjLDB4MDAsMHhjNSwweDAwLDB4MzEsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjcwLCAwLCB7MHgwYywweDUwLDB4MDMsMHgxMCwweDAwLDB4OTQsMHgwMCwweDMxLDB4NDAsMHgwYywweDUwLDB4NDMsMHgxMCwweDAwLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhlYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQzLDB4MDUsMHgyMCwweGMxLDB4MTgsMHgzMCB9IH0sCi17ICAxNiwgMHhlYjkwLCAwLCB7MHg0NiwweDBjLDB4MTEsMHg5NywweDAwLDB4NjAsMHhjMCwweDE4LDB4MzAsMHg0NiwweDFjLDB4MTEsMHg4MywweDA0LDB4NjAsMHhjMSB9IH0sCi17ICAxNiwgMHhlYmEwLCAwLCB7MHgxOCwweDMwLDB4NTIsMHgwYywweDExLDB4ODcsMHgwNCwweDYwLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDExLDB4ODAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYmIwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAwLDB4MDAsMHgyMSwweDQwLDB4MDgsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmMwLCAwLCB7MHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmQwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQ4LDB4NDQsMHgyMiwweDAxLDB4MTgsMHg4NCB9IH0sCi17ICAxNiwgMHhlYmYwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg5OCwweDAwLDB4NjIsMHgxMCwweDE4LDB4ODQsMHg0NCwweDIwLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgxMSB9IH0sCi17ICAxNiwgMHhlYzAwLCAwLCB7MHgxOCwweDg0LDB4NDIsMHgyMSwweDExLDB4ODAsMHg0NCwweDYyLDB4MTEsMHgxOCwweDg0LDB4NDYsMHgyMSwweDExLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQwLDB4MDQsMHg1MCwweDExLDB4MTQsMHgwNCB9IH0sCi17ICAxNiwgMHhlYzIwLCAwLCB7MHg0NSwweDAwLDB4MTEsMHg0MSwweDAwLDB4NTAsMHgxMCwweDE0LDB4MDAsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYzMwLCAwLCB7MHgxNCwweDA0LDB4NDUsMHgwMSwweDAxLDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4MDUsMHgwMSwweDAxLDB4NDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlYzQwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiB9IH0sCi17ICAxNiwgMHhlYzUwLCAwLCB7MHgwNCwweDIwLDB4MDEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCB9IH0sCi17ICAxNiwgMHhlYzYwLCAwLCB7MHgxMCwweDgyLDB4MDQsMHgyMiwweDgxLDB4MDgsMHgyMCwweDUyLDB4MDgsMHgxMCwweDhhLDB4MDQsMHgyMiwweDgxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDBhLDB4MDEsMHgwMiwweDg0LDB4NDAsMHhhMSB9IH0sCi17ICAxNiwgMHhlYzgwLCAwLCB7MHgxMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCB9IH0sCi17ICAxNiwgMHhlYzkwLCAwLCB7MHg0MCwweGEwLDB4MTAsMHgyYywweDE0LDB4MGEsMHgwMCwweDAyLDB4ODAsMHg0MCwweGIwLDB4MTAsMHgyYywweDE0LDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCB9IH0sCi17ICAxNiwgMHhlY2IwLCAwLCB7MHgzNSwweDMwLDB4MGMsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCB9IH0sCi17ICAxNiwgMHhlY2MwLCAwLCB7MHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMiwweDEzLDB4NDAsMHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NDAsMHgxMSB9IH0sCi17ICAxNiwgMHhlY2QwLCAwLCB7MHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDA4LDB4MDQsMHg3MiwweDAxLDB4MWMsMHg4MCB9IH0sCi17ICAxNiwgMHhlY2UwLCAwLCB7MHg0NywweDIwLDB4MTUsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgxMSB9IH0sCi17ICAxNiwgMHhlY2YwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyNiwweDExLDB4YzgsMHg0NCwweDcyLDB4MDEsMHgxYywweDkwLDB4NjcsMHgyNiwweDExLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDgsMHg0MCwweGM2LDB4MTIsMHgzMSB9IH0sCi17ICAxNiwgMHhlZDEwLCAwLCB7MHg4NCwweDhjLDB4MDEsMHgwMywweDA4LDB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDBjLDB4NjEsMHgyMywweDE4LDB4NDgsMHhjMiB9IH0sCi17ICAxNiwgMHhlZDIwLCAwLCB7MHgxMiwweDMxLDB4ODQsMHg4YywweDAxLDB4MDMsMHgwOCwweDQ4LDB4YzYsMHgxMiwweDMxLDB4MDQsMHg4YywweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiB9IH0sCi17ICAxNiwgMHhlZDQwLCAwLCB7MHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiB9IH0sCi17ICAxNiwgMHhlZDUwLCAwLCB7MHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJkLDB4ZmIsMHgwZiwweGI2LDB4YzIsMHhjZCB9IH0sCi17ICAxNiwgMHhlZGEwLCAwLCB7MHhiMCwweGI3LDB4ZmQsMHgzZiwweGZiLDB4MGIsMHgzNiwweGMyLDB4ZGYsMHhiMCwweGZiLDB4NmMsMHgyYywweGRiLDB4MGIsMHg3ZSB9IH0sCi17ICAxNiwgMHhlZGIwLCAwLCB7MHhjMiwweGNkLDB4YjAsMHhiNywweGZkLDB4M2YsMHhmYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4ZjQsMHhiNywweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4ZmMsMHg0ZiwweGNmLDB4MTMsMHgzMyB9IH0sCi17ICAxNiwgMHhlZGQwLCAwLCB7MHhjNCwweGNmLDB4ZmQsMHgzZiwweGZjLDB4NGMsMHhjZiwweDEzLDB4M2YsMHhjNCwweGZjLDB4ZjEsMHgzMywweDNjLDB4NGMsMHhmZiB9IH0sCi17ICAxNiwgMHhlZGUwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjZiwweGZkLDB4M2YsMHhmYywweDRjLDB4Y2YsMHgxMywweDMzLDB4ZjQsMHhjZiwweGZkLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNyB9IH0sCi17ICAxNiwgMHhlZTAwLCAwLCB7MHhlNCwweGVkLDB4ZjksMHgzZiwweGZlLDB4NGUsMHhkZiwweDkzLDB4YjcsMHhlNCwweGVkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhjNyB9IH0sCi17ICAxNiwgMHhlZTEwLCAwLCB7MHg5MywweGI3LDB4ZTQsMHhlYywweDYxLDB4MjMsMHgxZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ODQsMHhlYywweDYxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHgyNCwweGExLDB4NGEsMHgyNCB9IH0sCi17ICAxNiwgMHhlZTMwLCAwLCB7MHg2MywweDAxLDB4MTQsMHgwMiwweDQ0LDB4MDAsMHg4MSwweDBiLDB4MjgsMHg3MSwweDAyLDB4MTAsMHg4MiwweDQwLDB4MzgsMHgxMSB9IH0sCi17ICAxNiwgMHhlZTQwLCAwLCB7MHg0MSwweDA0LDB4NTAsMHgwOCwweDE4LDB4ODIsMHg4NywweDM4LDB4MzEsMHhjMywweDJjLDB4NTIsMHgwYSwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDUsMHgxMiwweDgxLDB4NDQsMHg4MCB9IH0sCi17ICAxNiwgMHhlZTYwLCAwLCB7MHg3MSwweDIxLDB4MWMsMHgwYSwweDA3LDB4MWEsMHg4MSwweDAyLDB4YTAsMHg1MiwweDIwLDB4MTQsMHg0OCwweDA3LDB4MTIsMHg4MSB9IH0sCi17ICAxNiwgMHhlZTcwLCAwLCB7MHhjNiwweDgwLDB4NjAsMHgyMCwweDA4LDB4ODgsMHg0NywweDAyLDB4MDEsMHg0YSwweDgwLDB4NzAsMHgyMCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4YzUsMHgyYywweDAxLDB4NGEsMHgwMCB9IH0sCi17ICAxNiwgMHhlZTkwLCAwLCB7MHg1MiwweDA5LDB4MWMsMHg4MCwweDA3LDB4MjQsMHgyMSwweDA4LDB4MDgsMHg3MSwweDAyLDB4MTAsMHg4MCwweDQ1LDB4MjAsMHhhMSB9IH0sCi17ICAxNiwgMHhlZWEwLCAwLCB7MHg0OSwweDI4LDB4NTIsMHgwMSwweDE0LDB4YzAsMHg0NSwweDAwLDB4OTEsMHhjNCwweDAwLDB4NzIsMHgwMiwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDcsMHgyMCwweDAxLDB4YzEsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWMwLCAwLCB7MHg3MSwweDA5LDB4MTAsMHg4MCwweDA3LDB4MDAsMHgwMSwweDAxLDB4MDAsMHg3MCwweDA4LDB4MTgsMHg4MCwweDA3LDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhlZWQwLCAwLCB7MHg4OSwweDIwLDB4NTIsMHgwMSwweDBjLDB4ODAsMHg0NiwweDMwLDB4ODEsMHg0NSwweDA0LDB4NjAsMHgwMCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YzIsMHgwMiwweDIwLDB4MDAsMHg4OCB9IH0sCi17ICAxNiwgMHhlZWYwLCAwLCB7MHgyMCwweDIyLDB4MDAsMHgwOCwweGMyLDB4MjIsMHg4MCwweDQwLDB4ODgsMHgwMiwweDIyLDB4MDAsMHgwOCwweDgyLDB4MGEsMHhhMCB9IH0sCi17ICAxNiwgMHhlZjAwLCAwLCB7MHgwYywweGE4LDB4MDIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDBhLDB4MDAsMHg4MCwweDhjLDB4MDIsMHgyMiwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4NDMsMHgwMCwweDAwLDB4NDAsMHgyMCB9IH0sCi17ICAxNiwgMHhlZjIwLCAwLCB7MHgzMCwweDA4LDB4MDQsMHg0MCwweDQxLDB4MzAsMHgxMCwweGM4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAzLDB4MDAsMHgxMCB9IH0sCi17ICAxNiwgMHhlZjMwLCAwLCB7MHhjMCwweDAwLDB4MTEsMHgwOCwweDAwLDB4YzIsMHg0MywweDEwLDB4ODAsMHhjMCwweDIwLDB4MDEsMHgwOCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4YzMsMHgwYSwweDIwLDB4YzEsMHg4YyB9IH0sCi17ICAxNiwgMHhlZjUwLCAwLCB7MHgxMiwweDIyLDB4MDQsMHg4OCwweDAxLDB4MzYsMHgyMCwweGMzLDB4MDgsMHgxMiwweDI4LDB4MDQsMHgwOCwweDAxLDB4MDQsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjYwLCAwLCB7MHg0YSwweGE4LDB4MjIsMHgwMSwweDA0LDB4YzgsMHg0MSwweDI2LDB4MzAsMHhjMCwweDg4LDB4MDIsMHgyMSwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDAsMHgwYSwweDEwLDB4YzEsMHg4MCB9IH0sCi17ICAxNiwgMHhlZjgwLCAwLCB7MHgzMiwweDIxLDB4MGMsMHg4OCwweDQzLDB4MDIsMHg4MCwweDQ0LDB4ODAsMHgxMiwweDI5LDB4MDQsMHgwOCwweDQyLDB4MGEsMHg5MCB9IH0sCi17ICAxNiwgMHhlZjkwLCAwLCB7MHg4YSwweDgwLDB4MDAsMHgyMCwweDA0LDB4NDgsMHgwMywweDBhLDB4MTAsMHg4MiwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBhLDB4ODcsMHgwMiwweGExLDB4ODAsMHhhYyB9IH0sCi17ICAxNiwgMHhlZmIwLCAwLCB7MHg0MywweDI5LDB4MTQsMHg4YSwweDg0LDB4MDIsMHhhMSwweDAwLDB4YWMsMHg0MSwweDIwLDB4MTAsMHgwOCwweDA2LDB4MjYsMHgzMSB9IH0sCi17ICAxNiwgMHhlZmMwLCAwLCB7MHg4MCwweGE0LDB4NjAsMHgyMCwweDE0LDB4NGEsMHg0NCwweDMyLDB4ODEsMHg4MSwweGFjLDB4NjAsMHgyYSwweDE4LDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhlZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDcsMHgyMiwweDAxLDB4YzUsMHg4MCB9IH0sCi17ICAxNiwgMHhlZmUwLCAwLCB7MHg3MywweDIxLDB4MWMsMHhjOCwweDA3LDB4MmEsMHgwMSwweDBjLDB4ODAsMHg3MiwweDIwLDB4MTAsMHg0OCwweDQ3LDB4MjYsMHgxMSB9IH0sCi17ICAxNiwgMHhlZmYwLCAwLCB7MHhjNSwweDgwLDB4NzMsMHgyMCwweDFjLDB4ODgsMHgwNywweDJhLDB4MTEsMHg0OSwweDgwLDB4NzAsMHgyMCwweDE0LDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4NDUsMHgxMCwweDMxLDB4YzksMHgwYyB9IH0sCi17ICAxNiwgMHhmMDEwLCAwLCB7MHg3MywweDAyLDB4MWMsMHhjMCwweDQ3LDB4MDQsMHgwMSwweDBhLDB4MGMsMHg1MSwweDBhLDB4MTAsMHg4MiwweDQ3LDB4MjAsMHgzMSB9IH0sCi17ICAxNiwgMHhmMDIwLCAwLCB7MHhjOCwweDAwLDB4NzIsMHgwMiwweDFjLDB4NDAsMHgwNSwweDMwLDB4MTEsMHhjNCwweDAwLDB4NzIsMHgwMSwweDE4LDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDEwLDB4MDYsMHgyNCwweDAxLDB4NDUsMHgwNCB9IH0sCi17ICAxNiwgMHhmMDQwLCAwLCB7MHg1MSwweDgxLDB4MTgsMHg5MCwweDQ3LDB4MTQsMHgwMSwweDA0LDB4MDQsMHg3MSwweDg4LDB4MTAsMHgxMiwweDA1LDB4MzQsMHgwMSB9IH0sCi17ICAxNiwgMHhmMDUwLCAwLCB7MHg0NCwweDA0LDB4NTEsMHg0MCwweDE4LDB4ZDAsMHgwNywweDM4LDB4MDEsMHhjNCwweDA0LDB4NTIsMHgwMSwweDE0LDB4YzIsMHgwNCB9IH0sCi17ICAxNiwgMHhmMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODcsMHgwMCwweDIxLDB4ODksMHgwYyB9IH0sCi17ICAxNiwgMHhmMDcwLCAwLCB7MHg2MCwweDAxLDB4MWMsMHhkMCwweDQ1LDB4MjQsMHgwMSwweGMxLDB4MGMsMHg0MiwweDAxLDB4MDAsMHgwMCwweGM1LDB4MjAsMHgzMSB9IH0sCi17ICAxNiwgMHhmMDgwLCAwLCB7MHg0MSwweDA4LDB4NDAsMHgwMCwweDE4LDB4ODAsMHg0NSwweDAwLDB4MjEsMHg0MSwweDBjLDB4NzAsMHg0MiwweDFjLDB4YzIsMHgwMCB9IH0sCi17ICAxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgxYywweDgwLDB4YzQsMHgyMCB9IH0sCi17ICAxNiwgMHhmMGEwLCAwLCB7MHgzMSwweDA4LDB4MTAsMHg0MiwweDQyLDB4MDgsMHg4MCwweGM2LDB4MjAsMHgzMSwweDA5LDB4MDAsMHgyMCwweDAzLDB4MWMsMHg5MCB9IH0sCi17ICAxNiwgMHhmMGIwLCAwLCB7MHhjNCwweDIwLDB4MDEsMHg0OSwweDBjLDB4NDIsMHg0MywweDEwLDB4ODAsMHg0NCwweDIwLDB4MzEsMHgwOCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4ODMsMHgyMCwweDMwLDB4NDgsMHgwYyB9IH0sCi17ICAxNiwgMHhmMGQwLCAwLCB7MHgzMiwweDQwLDB4MTAsMHg5MCwweDgxLDB4MjQsMHgyMCwweGM4LDB4MDQsMHgzMiwweDQwLDB4MTAsMHgyMCwweGMzLDB4MjAsMHg4MCB9IH0sCi17ICAxNiwgMHhmMGUwLCAwLCB7MHhjOCwweDAwLDB4MDIsMHg0YSwweDBjLDB4YTAsMHgwMSwweDI0LDB4MTAsMHhjOCwweDA4LDB4MzIsMHg0MSwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4MDMsMHgwMCwweDAwLDB4YzksMHgwNCB9IH0sCi17ICAxNiwgMHhmMTAwLCAwLCB7MHgzMCwweDQwLDB4MDAsMHg5MCwweDAwLDB4MjAsMHgwMCwweDgwLDB4MDAsMHgxMCwweDQwLDB4MTAsMHgwMCwweDQwLDB4MjAsMHgxMCB9IH0sCi17ICAxNiwgMHhmMTEwLCAwLCB7MHhjMiwweDAwLDB4MDAsMHg4MCwweDA4LDB4MjAsMHg0MywweDA4LDB4MTAsMHg4MSwweDAwLDB4MzIsMHg0MCwweDBjLDB4YzAsMHgwNCB9IH0sCi17ICAxNiwgMHhmMTIwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTMwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHhmMCwweDEwLDB4ODAsMHg0MCB9IH0sCi17ICAxNiwgMHhmMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4ZjAsMHgxMCwweDkwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4ODAsMHg5MCwweDQwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDgwLDB4MTAsMHg5MCwweGEwLDB4OTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDEwLDB4OGYsMHgwZiB9IH0sCi17ICAxNiwgMHhmMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI0LDB4YzYsMHhiYSwweDA2LDB4YzAsMHgxYyB9IH0sCi17ICAxNiwgMHhmMTkwLCAwLCB7MHg0OSwweDI4LDB4NjEsMHgxNCwweDJiLDB4MWMsMHgwZSwweDQwLDB4M2YsMHhkOSwweGJmLDB4ZDksMHhhYSwweGJjLDB4MWEsMHg1ZiB9IH0sCi17ICAxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDEwLDB4YTYsMHg1MCwweDNiLDB4NjEsMHhiMywweDI1LDB4YmMsMHg0MCwweDE5LDB4YmYsMHhmZiwweGU5LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTIsMHgxNCwweDk0LDB4ODAsMHgwYyB9IH0sCi17ICAxNiwgMHhmMWMwLCAwLCB7MHgwNywweDNmLDB4MmIsMHg5NCwweDg2LDB4MTQsMHg4NCwweDgwLDB4MjgsMHgwMCwweDAwLDB4NDksMHgxNCwweDA0LDB4ODYsMHgxMiB9IH0sCi17ICAxNiwgMHhmMWQwLCAwLCB7MHg4MCwweDAwLDB4NDEsMHgyNywweDM0LDB4ZDAsMHg5MCwweDg0LDB4OTIsMHgwMCwweDJkLDB4OGEsMHgyMSwweDFlLDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhMiB9IH0sCi17ICAxNiwgMHhmMWYwLCAwLCB7MHhiMSwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4ODQsMHhiMSwweDc4LDB4MjgsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjAwLCAwLCB7MHgwOCwweGIxLDB4MzIsMHgxNCwweDE0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGE4LDB4MjMsMHg1NCwweDIxLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyZiwweGZmLDB4ZmUsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGQ3LDB4ZmUsMHhlZiB9IH0sCi17ICAxNiwgMHhmMjMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwZiwweGVmLDB4NzcsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGZmLDB4ZmUsMHhlZiB9IH0sCi17ICAxNiwgMHhmMjYwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGJmLDB4ZmYsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmMjkwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHg3ZiwweDJmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4ZmYsMHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGVmLDB4ZWYsMHhlZiB9IH0sCi17ICAxNiwgMHhmMmMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZWYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGFmLDB4ZGYsMHhmZiB9IH0sCi17ICAxNiwgMHhmMmYwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlZiwweGZmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmMzIwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWYsMHhmZiwweGRmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4YzQsMHgyNCwweGExLDB4MDAsMHgyYyB9IH0sCi17ICAxNiwgMHhmMzQwLCAwLCB7MHg1MiwweDBiLDB4MTgsMHhjMiwweDg2LDB4MmMsMHhhMSwweDgwLDB4MzgsMHg2MiwweDBhLDB4MDgsMHg0MCwweGM0LDB4MmMsMHhhMSB9IH0sCi17ICAxNiwgMHhmMzUwLCAwLCB7MHgwOCwweDI4LDB4NDIsMHgwYiwweDE0LDB4MDAsMHg4NSwweDE0LDB4YTEsMHgwOCwweDI4LDB4NDMsMHgwYSwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgxMiwweDAxLDB4MDMsMHg4MCB9IH0sCi17ICAxNiwgMHhmMzcwLCAwLCB7MHg2MSwweDIwLDB4MTAsMHgwOCwweDA3LDB4MTIsMHg0MSwweDQyLDB4ODAsMHg3MCwweDIwLDB4MWMsMHgwOCwweDA0LDB4MWEsMHgwMSB9IH0sCi17ICAxNiwgMHhmMzgwLCAwLCB7MHg4NCwweDgxLDB4NDAsMHgyMCwweDE4LDB4MDgsMHg0NiwweDM2LDB4ODEsMHgwNSwweDgwLDB4NjMsMHgyMCwweDEwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhmMzkwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgyNCwweDIxLDB4MDAsMHgwYyB9IH0sCi17ICAxNiwgMHhmM2EwLCAwLCB7MHg1MiwweDAyLDB4MTQsMHgwMCwweDg3LDB4MjgsMHgyMSwweDgxLDB4MDgsMHg3MiwweDA2LDB4MWMsMHg4MiwweDg0LDB4MjAsMHgyMSB9IH0sCi17ICAxNiwgMHhmM2IwLCAwLCB7MHg0OCwweDE4LDB4NDIsMHgwMywweDU0LDB4ODAsMHg0NSwweDMwLDB4MjUsMHg0YSwweDE4LDB4NTMsMHgwMiwweDEwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhmM2MwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHgyMiwweDAxLDB4MDEsMHg4MCB9IH0sCi17ICAxNiwgMHhmM2QwLCAwLCB7MHg0MiwweDIwLDB4MTgsMHhjOCwweDQ0LDB4MjIsMHgwMSwweDgwLDB4ODQsMHg0MiwweDIwLDB4MWMsMHg4OCwweDA0LDB4MjIsMHgwMSB9IH0sCi17ICAxNiwgMHhmM2UwLCAwLCB7MHgwMCwweDgwLDB4NDAsMHgyMCwweDEwLDB4ODgsMHg0NCwweDM2LDB4MDEsMHg0MCwweDgwLDB4NDEsMHgwMCwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwOCwweDIwLDB4MDAsMHgwYyB9IH0sCi17ICAxNiwgMHhmNDAwLCAwLCB7MHgyMiwweDAzLDB4MDQsMHg0MCwweDgxLDB4MDAsMHgyMCwweDg0LDB4MDgsMHgwMywweDAwLDB4MDAsMHg4MCwweGMyLDB4MDAsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDEwLCAwLCB7MHhjNCwweDA4LDB4MDAsMHgwMywweDA4LDB4ODgsMHg4MiwweDE2LDB4YTAsMHg0MCwweDg4LDB4MzIsMHgyMiwweDgwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDEsMHgwMCwweDgwLDB4MDQsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDMwLCAwLCB7MHgxMCwweDA4LDB4MGMsMHhjMiwweDEyLDB4MTAsMHg4NCwweGM4LDB4MjIsMHgxMiwweDA4LDB4MDQsMHgwMiwweDAzLDB4MDAsMHg4OCB9IH0sCi17ICAxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDIxLDB4MDAsMHgwYywweDBjLDB4NDAsMHg0MSwweDMwLDB4MDAsMHg4NCwweDIwLDB4MTAsMHgwOCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODIsMHgwNiwweDIwLDB4MDgsMHg4YyB9IH0sCi17ICAxNiwgMHhmNDYwLCAwLCB7MHgzMiwweDIyLDB4MGMsMHg4OCwweDgxLDB4MjYsMHgyMCwweDRkLDB4ODgsMHgyMywweDIyLDB4ODAsMHg4OCwweDgzLDB4MDYsMHgyMCB9IH0sCi17ICAxNiwgMHhmNDcwLCAwLCB7MHgwOCwweDg4LDB4MDAsMHgyMywweDA0LDB4OGEsMHg4MSwweDM2LDB4MjAsMHg0YiwweDg4LDB4MzIsMHgyMiwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDIsMHgwMiwweDAwLDB4MDksMHg4MCB9IH0sCi17ICAxNiwgMHhmNDkwLCAwLCB7MHgzMiwweDIwLDB4MDQsMHg4OCwweDYwLDB4MjIsMHgwMCwweDg5LDB4ODQsMHgwMCwweDIwLDB4MDgsMHg5OCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGEwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMiwweDNhLDB4ODAsMHg0OCwweDgwLDB4MzAsMHgyMCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDBhLDB4YzQsMHgxYSwweGExLDB4ODAsMHhhOCB9IH0sCi17ICAxNiwgMHhmNGMwLCAwLCB7MHg0MSwweDJhLDB4MTAsMHhjYSwweGM3LDB4MWEsMHhhMSwweDA0LDB4YWQsMHg3MSwweDJhLDB4MTgsMHg0YSwweGQ0LDB4MDYsMHhiMSB9IH0sCi17ICAxNiwgMHhmNGQwLCAwLCB7MHgwMCwweGE4LDB4NzEsMHgyYSwweDEwLDB4MDgsMHg4NCwweDI2LDB4MjksMHgwNiwweGFjLDB4NTIsMHgyYSwweDEwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDQsMHgyYSwweDAxLDB4NDEsMHg4MCB9IH0sCi17ICAxNiwgMHhmNGYwLCAwLCB7MHg0MiwweDIwLDB4MWMsMHgwMCwweDA0LDB4MGEsMHgwMSwweDA5LDB4ODQsMHg1MSwweDIwLDB4MWMsMHg4OCwweDQ0LDB4MDIsMHgwMSB9IH0sCi17ICAxNiwgMHhmNTAwLCAwLCB7MHgwOCwweDgwLDB4NDAsMHgyMCwweDEwLDB4NGEsMHg0NywweDAyLDB4MDEsMHg0OCwweDgwLDB4NjMsMHgyMCwweDEwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTEwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4YzQsMHgxMCwweDIxLDB4ODEsMHgwYyB9IH0sCi17ICAxNiwgMHhmNTIwLCAwLCB7MHg0MSwweDAyLDB4MGMsMHgwMCwweGMwLDB4MjAsMHg2MSwweDBkLDB4MGUsMHg3MiwweDAyLDB4MWMsMHg0MCwweGM0LDB4MDgsMHgzMSB9IH0sCi17ICAxNiwgMHhmNTMwLCAwLCB7MHgwNCwweDE4LDB4NDIsMHgwMiwweDEwLDB4ODAsMHg4NywweDIwLDB4YjEsMHhjNCwweDBjLDB4NTMsMHgwMiwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDIwLDB4MDcsMHgyNCwweDAxLDB4Y2MsMHgwMCB9IH0sCi17ICAxNiwgMHhmNTUwLCAwLCB7MHg3MiwweDQwLDB4MTQsMHgwMCwweDA0LDB4MjQsMHgwMSwweDA4LDB4MDAsMHg3MywweDQxLDB4MTAsMHhjMCwweDA3LDB4MzAsMHgxMSB9IH0sCi17ICAxNiwgMHhmNTYwLCAwLCB7MHhjYywweDAwLDB4NzEsMHgwMSwweDEwLDB4MDIsMHgwNCwweDIwLDB4ODEsMHg0NiwweDEwLDB4NDIsMHg0MCwweDEwLDB4MDIsMHgwNCB9IH0sCi17ICAxNiwgMHhmNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4YzUsMHgxMCwweDIxLDB4MDAsMHgwOCB9IH0sCi17ICAxNiwgMHhmNTgwLCAwLCB7MHg2MiwweDAyLDB4MWMsMHg5MCwweGM1LDB4MjQsMHgyMSwweDAwLDB4MGMsMHg3MCwweDgyLDB4MWMsMHgxMCwweGM0LDB4MjAsMHgzMSB9IH0sCi17ICAxNiwgMHhmNTkwLCAwLCB7MHg4OCwweDAyLDB4NDAsMHgwNiwweDFjLDB4MDAsMHg4NSwweDAwLDB4YTEsMHgwMCwweDBjLDB4NDAsMHg0MiwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIyLDB4MDUsMHgxNCwweDgwLDB4MDEsMHgyMCB9IH0sCi17ICAxNiwgMHhmNWIwLCAwLCB7MHgzMCwweDA4LDB4MGMsMHg0MiwweDA2LDB4MDAsMHg4MCwweDAxLDB4MjQsMHg1MSwweDA4LDB4MGMsMHgwMiwweDQxLDB4MDAsMHg4MCB9IH0sCi17ICAxNiwgMHhmNWMwLCAwLCB7MHg0YywweDIwLDB4MDAsMHgwOCwweDBjLDB4MzAsMHg0MiwweDA0LDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4YzYsMHgyNCwweDIwLDB4MDAsMHgwYyB9IH0sCi17ICAxNiwgMHhmNWUwLCAwLCB7MHgzMiwweGMyLDB4MDQsMHg4MCwweGM3LDB4MzAsMHgyMCwweDAwLDB4MGMsMHg1MywweGMyLDB4MDQsMHgxMCwweGMyLDB4MjgsMHg3MCB9IH0sCi17ICAxNiwgMHhmNWYwLCAwLCB7MHgwYywweDA5LDB4MDIsMHgwMiwweDRjLDB4ODAsMHg4MSwweDA0LDB4MzAsMHgwOSwweDBjLDB4MDIsMHg0MiwweDEwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDgwLDB4MDEsMHgzOCwweDAwLDB4MDIsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjEwLCAwLCB7MHgxMiwweDQwLDB4MGMsMHgyMCwweDA3LDB4MzQsMHgwNCwweDAyLDB4MDAsMHg2MywweDAxLDB4MDgsMHgxMCwweDAwLDB4MjQsMHgxMCB9IH0sCi17ICAxNiwgMHhmNjIwLCAwLCB7MHgwNCwweDAwLDB4MDIsMHgwMSwweDA0LDB4ODIsMHgwMSwweDA4LDB4ODAsMHgwOSwweDEwLDB4MDIsMHg0MCwweDEwLDB4MDAsMHgwNCB9IH0sCi17ICAxNiwgMHhmNjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MjAsMHgxMCwweDgwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjQwLCAwLCB7MHgyMCwweDgwLDB4MDAsMHhmMCwweDIwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MDAsMHhkMCwweDgwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgxMCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4Y2MsMHg0MCB9IH0sCi17ICAxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4MDAsMHg5MCB9IH0sCi17ICAxNiwgMHhmNjgwLCAwLCB7MHg4MCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MTAsMHhhMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDEwLDB4OGMsMHgwOCB9IH0sCi17ICAxNiwgMHhmNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDM0LDB4MWEsMHhiZSwweDE3LDB4ODAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNmEwLCAwLCB7MHgzZSwweDQwLDB4MjYsMHg2ZiwweGJhLDB4ZTMsMHgyNCwweDgwLDB4MDAsMHgxNiwweDU5LDB4YmQsMHg4MiwweDgxLDB4ODIsMHhkOCB9IH0sCi17ICAxNiwgMHhmNmIwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgxOSwweDk5LDB4ODYsMHg4MCwweDY0LDB4ODAsMHhjMCwweDNmLDB4ZDksMHg5OSwweDgwLDB4MDAsMHgwMSB9IH0sCi17ICAxNiwgMHhmNmMwLCAwLCB7MHhmMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MTYsMHgwMiwweDk0LDB4MDAsMHgxNiB9IH0sCi17ICAxNiwgMHhmNmQwLCAwLCB7MHhjMCwweDE2LDB4OTQsMHg4MiwweDkwLDB4MTYsMHgxMCwweDgwLDB4MjEsMHgxOCwweDI4LDB4MjgsMHgwMiwweDBhLDB4MDIsMHgwOCB9IH0sCi17ICAxNiwgMHhmNmUwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4MiwweDgwLDB4MTQsMHgwMCwweDAxLDB4MTQsMHgxMSwweGEwLDB4NDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCB9IH0sCi17ICAxNiwgMHhmNzAwLCAwLCB7MHgwMiwweDg0LDB4YTgsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4OTEsMHgyMiwweDg0LDB4NDEsMHhhMiwweDA4LDB4MjQsMHgwMSB9IH0sCi17ICAxNiwgMHhmNzEwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0LDB4MDEsMHg0NCwweDAxLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZSwweGY3LDB4ZmYsMHhmNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGU3LDB4YjcsMHhmZiB9IH0sCi17ICAxNiwgMHhmNzQwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZSwweDdmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzNiwweGJmLDB4ZmUsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweGY3LDB4ZGYsMHhmZiB9IH0sCi17ICAxNiwgMHhmNzcwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2QsMHhiNywweGI3LDB4ZWYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgxZiwweGRmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweGRmLDB4ZGYsMHhmZiB9IH0sCi17ICAxNiwgMHhmN2EwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGJmLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4N2YsMHhmNyB9IH0sCi17ICAxNiwgMHhmN2QwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweDdlLDB4ZmYsMHhmZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZlLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmODAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzNywweGZmLDB4NmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9IH0sCi17ICAxNiwgMHhmODMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODgwLCAwLCB7MHgzMCwweDAwLDB4NDMsMHgwYywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHhmOTAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgzMCB9IH0sCi17ICAxNiwgMHhmOWMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHhmYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHhmYTgwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHhmYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMywweDZiLDB4MDAsMHhjMCwweDAwLDB4Y2YsMHgyYyB9IH0sCi17ICAxNiwgMHhmYjQwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHhmYzAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgzMCB9IH0sCi17ICAxNiwgMHhmY2MwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHhmZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHhmZDgwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHhmZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgzMywweDVkLDB4ODAsMHhjMCwweDAwLDB4ZmQsMHhhYyB9IH0sCi17ICAxNiwgMHhmZTQwLCAwLCB7MHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHhmZjAwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgzMCB9IH0sCi17ICAxNiwgMHhmZmMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHhmZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHg4MDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHg4MDkwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MzAsMHhjMCwweDMwLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMywweDc0LDB4YzAsMHhjMCwweDAwLDB4ZjAsMHhlYyB9IH0sCi17ICAxNiwgMHg4MTUwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzMCB9IH0sCi17ICAxNiwgMHg4MjEwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOSwweDg2LDB4MTAsMHg4MCwweDMwLDB4ODIsMHgzZCB9IH0sCi17ICAxNiwgMHg4MmQwLCAwLCB7MHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgwZiB9IH0sCi17ICAxNiwgMHg4MzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4MzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGMwLDB4MGYsMHgwMCwweDBmLDB4MDAsMHgzZiB9IH0sCi17ICAxNiwgMHg4MzkwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4M2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZiwweDAwLDB4M2YsMHhjMCwweDNmLDB4YzAsMHgwZiB9IH0sCi17ICAxNiwgMHg4M2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzcsMHg2NSwweDI1LDB4ZTQsMHg4MCwweDAwLDB4YjAsMHg4OCB9IH0sCi17ICAxNiwgMHg4NDUwLCAwLCB7MHhhYiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMiwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4NzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4N2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4OWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4YzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4Y2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg4ZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGQwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0NCwweDcyLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMyB9IH0sCi17ICAxNiwgMHg5MGUwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwYywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxNiwgMHg5MTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDUsMHgzMCwweDAwLDB4YTAsMHgwMSB9IH0sCi17ICAxNiwgMHg5MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweGUxLDB4NWEsMHgwMCwweDAwLDB4MDAsMHgwMCB9IH0sCi17ICAxMiwgMHg5MTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfSB9LAoteyAgMCAsIDB4MDAwMCwgMSwgezAgfX0KLX07Ci0vLyBWRVJTSU9OPTEuMS4xLjEzMQotLy8gREFURT0yMDAxZGVjMDYKLS8vIFBST0RVQ1Q9RU1JIDJ8NgotLyoKLSAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKLSAqCi0gKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKLSAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAotICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKLSAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KLSAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKLSAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKLSAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKLSAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCi0gKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfRmlybXdhcmVbXSA9IHsKLXsgICAzLDB4MDAwMCwwLHsweDAyLDB4NDMsMHg1Nn0gfSwKLXsgICAzLDB4MDAwMywwLHsweDAyLDB4NGIsMHhjZH0gfSwKLXsgICAzLDB4MDAwYiwwLHsweDAyLDB4NGIsMHhkMn0gfSwKLXsgICAzLDB4MDAxMywwLHsweDAyLDB4NGIsMHg5Mn0gfSwKLXsgICAzLDB4MDAxYiwwLHsweDAyLDB4NGIsMHhkNX0gfSwKLXsgICAzLDB4MDAyMywwLHsweDAyLDB4MWIsMHgzOX0gfSwKLXsgICAzLDB4MDAyYiwwLHsweDAyLDB4NDMsMHhlMn0gfSwKLXsgICAzLDB4MDAzMywwLHsweDAyLDB4M2YsMHhmM30gfSwKLXsgICAzLDB4MDAzYiwwLHsweDAyLDB4NGIsMHhjMH0gfSwKLXsgICAzLDB4MDA0MywwLHsweDAyLDB4NDcsMHgwMH0gfSwKLXsgICAzLDB4MDA0YiwwLHsweDAyLDB4M2YsMHhmY30gfSwKLXsgICAzLDB4MDA1MywwLHsweDAyLDB4MzcsMHhmYX0gfSwKLXsgICAzLDB4MDA1YiwwLHsweDAyLDB4NGIsMHhjN30gfSwKLXsgICAzLDB4MDA2MywwLHsweDAyLDB4NDYsMHhmY30gfSwKLXsgIDE2LDB4MDUwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgwNTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHhiOCwweDAxLDB4MDMsMHgwMSwweDAwLDB4ODAsMHhhMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDA1MjAsMCx7MHgwMSwweDAxLDB4MDAsMHgwMCwweDBhLDB4MjQsMHgwMSwweDAwLDB4MDEsMHg1NiwweDAwLDB4MDIsMHgwMSwweDAyLDB4MGMsMHgyNH0gfSwKLXsgIDE2LDB4MDUzMCwwLHsweDAyLDB4MDEsMHgwMSwweDAxLDB4MDAsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHgyNCwweDA2LDB4MDUsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgwNTQwLDAsezB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDl9IH0sCi17ICAxNiwweDA1NTAsMCx7MHgyNCwweDAzLDB4MDIsMHgwNCwweDAzLDB4MDAsMHgwNSwweDAwLDB4MGMsMHgyNCwweDAyLDB4MDMsMHgwMSwweDAyLDB4MDAsMHgwMn0gfSwKLXsgIDE2LDB4MDU2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2LDB4MDYsMHgwMywweDAyLDB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgwNTcwLDAsezB4MDAsMHgwOSwweDI0LDB4MDMsMHgwNCwweDAxLDB4MDEsMHgwMCwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMCwweDAwLDB4MDF9IH0sCi17ICAxNiwweDA1ODAsMCx7MHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMSwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMX0gfSwKLXsgIDE2LDB4MDU5MCwwLHsweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJifSB9LAoteyAgMTYsMHgwNWEwLDAsezB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4MGEsMHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDF9IH0sCi17ICAxNiwweDA1YjAsMCx7MHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDYsMHgwMCwweDA5LDB4MDQsMHgwMX0gfSwKLXsgIDE2LDB4MDVjMCwwLHsweDAyLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MGUsMHgyNCwweDAyfSB9LAoteyAgMTYsMHgwNWQwLDAsezB4MDEsMHgwNiwweDAyLDB4MTAsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDUsMHgwYSwweDA1LDB4NGN9IH0sCi17ICAxNiwweDA1ZTAsMCx7MHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNSwweDhmLDB4MDEsMHgwM30gfSwKLXsgIDE2LDB4MDVmMCwwLHsweDAwLDB4MDEsMHgwNiwweDAwLDB4MDksMHgwNCwweDAxLDB4MDMsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxfSB9LAoteyAgMTYsMHgwNjAwLDAsezB4MDEsMHgwMCwweDAxLDB4MDAsMHgwZSwweDI0LDB4MDIsMHgwMSwweDA2LDB4MDMsMHgxOCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODB9IH0sCi17ICAxNiwweDA2MTAsMCx7MHhiYiwweDAwLDB4MDksMHgwNSwweDBhLDB4MDUsMHg3MiwweDAzLDB4MDEsMHgwMCwweDhmLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMH0gfSwKLXsgIDE2LDB4MDYyMCwwLHsweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwNCwweDAyfSB9LAoteyAgMTYsMHgwNjMwLDAsezB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMCwweDBiLDB4MjQsMHgwMiwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA2NDAsMCx7MHgwMywweDE4LDB4MDEsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4MGEsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4OGYsMHgwN30gfSwKLXsgIDE2LDB4MDY1MCwwLHsweDI1LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDYsMHgwMCwweDA5fSB9LAoteyAgMTYsMHgwNjYwLDAsezB4MDQsMHgwMiwweDAwLDB4MDAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDB9IH0sCi17ICAxNiwweDA2NzAsMCx7MHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwM30gfSwKLXsgIDE2LDB4MDY4MCwwLHsweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHg4YywweDA1LDB4ODQsMHgwMSwweDAxfSB9LAoteyAgMTYsMHgwNjkwLDAsezB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDIsMHgwMSwweDAxLDB4MDJ9IH0sCi17ICAxNiwweDA2YTAsMCx7MHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDIsMHgwMSwweDAyLDB4MDMsMHgxOH0gfSwKLXsgIDE2LDB4MDZiMCwwLHsweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNSwweDhjLDB4MDUsMHg0NiwweDAyfSB9LAoteyAgMTYsMHgwNmMwLDAsezB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNSwweDBjLDB4MDksMHgwMSwweGExLDB4MDF9IH0sCi17ICAxNiwweDA2ZDAsMCx7MHgwNSwweDBjLDB4MDksMHhlOSwweDA1LDB4MGMsMHgwOSwweGVhLDB4MTUsMHgwMCwweDI1LDB4MDEsMHg5NSwweDAyLDB4NzUsMHgwMX0gfSwKLXsgIDE2LDB4MDZlMCwwLHsweDgxLDB4NDIsMHg5NSwweDAxLDB4NzUsMHgwNiwweDgxLDB4MDEsMHgwNSwweDBjLDB4MDksMHgwMCwweDA1LDB4MGMsMHgwOSwweDAwfSB9LAoteyAgMTYsMHgwNmYwLDAsezB4MTUsMHgwMCwweDI1LDB4MDEsMHg5NSwweDAyLDB4NzUsMHgwMSwweDkxLDB4MDYsMHg5NSwweDAxLDB4NzUsMHgwNiwweDkxLDB4MDN9IH0sCi17ICAxNiwweDA3MDAsMCx7MHhjMCwweDA0LDB4MDMsMHgwOSwweDA0LDB4MTgsMHgwMywweDQ1LDB4MDAsMHg0ZCwweDAwLDB4NDEsMHgwMCwweDQ3LDB4MDAsMHg0OX0gfSwKLXsgIDE2LDB4MDcxMCwwLHsweDAwLDB4NDMsMHgwMCwweDIwLDB4MDAsMHg0NywweDAwLDB4NmQsMHgwMCwweDYyLDB4MDAsMHg0OCwweDAwLDB4MWUsMHgwMywweDQ1fSB9LAoteyAgMTYsMHgwNzIwLDAsezB4MDAsMHg2ZCwweDAwLDB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NSwweDAwLDB4NGR9IH0sCi17ICAxNiwweDA3MzAsMCx7MHgwMCwweDQ5LDB4MDAsMHgyMCwweDAwLDB4MzIsMHgwMCwweDdjLDB4MDAsMHgzNiwweDAwLDB4MmEsMHgwMywweDQzLDB4MDAsMHg2Zn0gfSwKLXsgIDE2LDB4MDc0MCwwLHsweDAwLDB4NmUsMHgwMCwweDY2LDB4MDAsMHg2OSwweDAwLDB4NjcsMHgwMCwweDc1LDB4MDAsMHg3MiwweDAwLDB4NjEsMHgwMCwweDc0fSB9LAoteyAgMTYsMHgwNzUwLDAsezB4MDAsMHg2OSwweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4Njl9IH0sCi17ICAxNiwweDA3NjAsMCx7MHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwMywweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDAsMHg3Mn0gfSwKLXsgIDE2LDB4MDc3MCwwLHsweDAwLDB4NjYsMHgwMCwweDYxLDB4MDAsMHg2MywweDAwLDB4NjUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyfSB9LAoteyAgIDksMHgwNzgwLDAsezB4MDAsMHg2OSwweDAwLDB4NmUsMHgwMCwweDY3LDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgwNzg5LDAsezB4NzQsMHgwMCwweGY1LDB4ODYsMHg5MCwweGZkLDB4YTUsMHg3YywweDA1LDB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9IH0sCi17ICAgMSwweDA3OTksMCx7MHgyMn0gfSwKLXsgIDE2LDB4MDc5YSwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg4NywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSB9LAoteyAgMTYsMHgwN2FhLDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4OGQsMHhlMCwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDA3YmEsMCx7MHg4YywweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4ZTUsMHgxOH0gfSwKLXsgIDE2LDB4MDdjYSwwLHsweGI0LDB4MDIsMHgwMywweDAyLDB4MDcsMHhkOSwweGI0LDB4MDEsMHgwMywweDAyLDB4MDcsMHhkZSwweDAyLDB4MDcsMHhmYSwweDdkfSB9LAoteyAgMTYsMHgwN2RhLDAsezB4MDEsMHgwMiwweDA4LDB4MTYsMHhlNSwweDE5LDB4MTQsMHhmNSwweDE5LDB4YzMsMHhiNSwweDEzLDB4MDMsMHgwMiwweDA3LDB4ZjV9IH0sCi17ICAxNiwweDA3ZWEsMCx7MHg1MCwweDA5LDB4YjQsMHgwMCwweGVhLDB4NzUsMHgxOSwweDBhLDB4MDIsMHgwNywweGQ5LDB4N2QsMHgwMCwweDAyLDB4MDgsMHgxNn0gfSwKLXsgIDE2LDB4MDdmYSwwLHsweGU1LDB4MTksMHgxNCwweGY1LDB4MTksMHhjMywweGI1LDB4MTQsMHgwMywweDAyLDB4MDgsMHgxMSwweDUwLDB4MDksMHhiNCwweDAwfSB9LAoteyAgMTYsMHgwODBhLDAsezB4Y2UsMHg3NSwweDE5LDB4MGEsMHgwMiwweDA3LDB4ZDksMHg3ZCwweDAyLDB4MDIsMHgwOCwweDE2LDB4N2MsMHgwNSwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4MWEsMCx7MHg5OSwweGUwLDB4NTQsMHg0MCwweGRjLDB4MDMsMHgwMiwweDA4LDB4NDMsMHhiNCwweDAwLDB4MWQsMHg5MCwweDdmLDB4ZTMsMHg3NH0gfSwKLXsgIDE2LDB4MDgyYSwwLHsweDdiLDB4ZjAsMHhhMywweDc0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4NDAsMHhmMCwweDkwLDB4N2YsMHhlNSwweGYwfSB9LAoteyAgMTYsMHgwODNhLDAsezB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4MDIsMHgwOCwweDE4LDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODB9IH0sCi17ICAxNiwweDA4NGEsMCx7MHhmMCwweDkwLDB4NzksMHg2NSwweGUwLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwOCwweDllLDB4YjQsMHgwMiwweDAzLDB4MDIsMHgwOH0gfSwKLXsgIDE2LDB4MDg1YSwwLHsweDk2LDB4YjQsMHgwMywweDAzLDB4MDIsMHgwOCwweDhlLDB4YjQsMHgwNCwweDAzLDB4MDIsMHgwOCwweDg2LDB4YjQsMHgwNSwweDAzfSB9LAoteyAgMTYsMHgwODZhLDAsezB4MDIsMHgwOCwweDdlLDB4YjQsMHgwNiwweDAzLDB4MDIsMHgwOCwweDc2LDB4MDIsMHgwOCwweGY0LDB4MDUsMHg4NiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDA4N2EsMCx7MHg2YywweDAyLDB4MDgsMHhlOSwweDA1LDB4ODYsMHg5MCwweDdmLDB4NmMsMHgwMiwweDA4LDB4ZGQsMHgwNSwweDg2LDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDg4YSwwLHsweDZjLDB4MDIsMHgwOCwweGNmLDB4MDUsMHg4NiwweDkwLDB4N2YsMHg2YywweDAyLDB4MDgsMHhjMCwweDA1LDB4ODYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwODlhLDAsezB4NmMsMHgwMiwweDA4LDB4YjIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDZjLDB4ZjAsMHgwMCwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjB9IH0sCi17ICAxNiwweDA4YWEsMCx7MHgwZCwweGVkLDB4YjQsMHgyZCwweGY0LDB4MDIsMHgwOCwweGY0LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4MGQsMHhlZH0gfSwKLXsgIDE2LDB4MDhiYSwwLHsweGI0LDB4MmQsMHhmNSwweDAyLDB4MDgsMHhmNCwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZjAsMHgwMCwweGYwLDB4MGQsMHhlZCwweGI0fSB9LAoteyAgMTYsMHgwOGNhLDAsezB4MzEsMHhmNCwweDAyLDB4MDgsMHhmNCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWQsMHhiNCwweDMxLDB4ZjV9IH0sCi17ICAxNiwweDA4ZGEsMCx7MHgwMiwweDA4LDB4ZjQsMHhmMCwweGYwLDB4ZjAsMHhmMCwweDBkLDB4ZWQsMHhiNCwweDYxLDB4ZjcsMHgwMiwweDA4LDB4ZjQsMHhmMH0gfSwKLXsgIDE2LDB4MDhlYSwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHgwZCwweGVkLDB4YjQsMHg2MSwweGY1LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwfSB9LAoteyAgMTYsMHgwOGZhLDAsezB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmR9IH0sCi17ICAgNSwweDA5MGEsMCx7MHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwfSB9LAoteyAgIDYsMHgwOTBmLDAsezB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSB9LAoteyAgMTYsMHgwOTE1LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4MywweDkwLDB4N2YsMHg2ZiwweGU1LDB4MGMsMHhmMCwweGU1LDB4MGR9IH0sCi17ICAxMywweDA5MjUsMCx7MHhmMCwweGU1LDB4MGUsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MDkzMiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzfSB9LAoteyAgMTYsMHgwOTQyLDAsezB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGJmLDB4MDAsMHgwMywweDAyLDB4MGF9IH0sCi17ICAxNiwweDA5NTIsMCx7MHhiOCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MDk2MiwwLHsweDYyLDB4ZTAsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDdmfSB9LAoteyAgMTYsMHgwOTcyLDAsezB4ZjAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHhlMCwweGI0LDB4MDEsMHgwMywweDAyLDB4MDl9IH0sCi17ICAxNiwweDA5ODIsMCx7MHhiZSwweGI0LDB4MDIsMHgwMywweDAyLDB4MDksMHhjMywweGI0LDB4MDMsMHgwMywweDAyLDB4MDksMHhhYywweGI0LDB4MDQsMHgwM30gfSwKLXsgIDE2LDB4MDk5MiwwLHsweDAyLDB4MDksMHg5YSwweDA1LDB4ODYsMHgwMiwweDBhLDB4YjIsMHhlZiwweDU0LDB4MDMsMHhmZSwweGVmLDB4MDMsMHgwMywweDU0fSB9LAoteyAgMTYsMHgwOWEyLDAsezB4M2YsMHhmZiwweDkwLDB4N2YsMHg2MywweDA1LDB4ODYsMHgwMiwweDA5LDB4YzksMHhlZiwweDU0LDB4MDMsMHhmZSwweGVmLDB4MDN9IH0sCi17ICAxNiwweDA5YjIsMCx7MHgwMywweDU0LDB4M2YsMHhmZiwweDkwLDB4N2YsMHg2MywweDA1LDB4ODYsMHgwMiwweDBhLDB4MzYsMHgwNSwweDg2LDB4MDIsMHgwYX0gfSwKLXsgIDE2LDB4MDljMiwwLHsweGE1LDB4MDUsMHg4NiwweDAyLDB4MGEsMHg4ZSwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwOWQyLDAsezB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODZ9IH0sCi17ICAxNiwweDA5ZTIsMCx7MHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MDlmMiwwLHsweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZGYsMHhjYSwweGVlLDB4YjQsMHgwMCwweDAzfSB9LAoteyAgMTYsMHgwYTAyLDAsezB4MDIsMHgwYSwweGIyLDB4YjQsMHgwMSwweDAzLDB4MDIsMHgwYSwweDI1LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDV9IH0sCi17ICAxNiwweDBhMTIsMCx7MHg4NiwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGEyMiwwLHsweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2fSB9LAoteyAgMTYsMHgwYTMyLDAsezB4MDIsMHgwYSwweGIyLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxMywweDBhNDIsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4Nn0gfSwKLXsgIDE2LDB4MGE0ZiwwLHsweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHhkZiwweGQ2fSB9LAoteyAgMTYsMHgwYTVmLDAsezB4ZWUsMHhiNCwweDAwLDB4MDMsMHgwMiwweDBhLDB4YjIsMHhiNCwweDAxLDB4MDMsMHgwMiwweDBhLDB4ODAsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhNmYsMCx7MHhlMCwweDA1LDB4ODYsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHhlMCwweGUwLDB4MDUsMHg4NiwweGUwLDB4ZTAsMHgwNX0gfSwKLXsgIDE2LDB4MGE3ZiwwLHsweDg2LDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHgwNSwweDg2LDB4ZTAsMHhlMCwweDA1LDB4ODYsMHgwMiwweDBhLDB4YjIsMHhlMCwweGUwfSB9LAoteyAgMTYsMHgwYThmLDAsezB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTB9IH0sCi17ICAxNiwweDBhOWYsMCx7MHhkZiwweGVjLDB4MDIsMHgwYSwweGIyLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhlMH0gfSwKLXsgIDE2LDB4MGFhZiwwLHsweGUwLDB4ZGYsMHhmMiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwfSB9LAoteyAgMTQsMHgwYWJmLDAsezB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGFjZCwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4ZDEsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifSB9LAoteyAgMTAsMHgwYWRkLDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9IH0sCi17ICAxNiwweDBhZTcsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHg4ZCwweGUwLDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4MGFmNywwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4NzUsMHg4NiwweDAwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwfSB9LAoteyAgMTYsMHgwYjA3LDAsezB4ODUsMHg3ZSwweDAwLDB4OTAsMHg3OSwweDhlLDB4ZTAsMHhiNCwweDAwLDB4MTYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDA2LDB4Y2F9IH0sCi17ICAxNiwweDBiMTcsMCx7MHhhMywweGEzLDB4YTMsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4ZmYsMHg5MCwweDc5LDB4OGQsMHhmMCwweDAyLDB4MGIsMHgzOX0gfSwKLXsgIDE2LDB4MGIyNywwLHsweDkwLDB4NzksMHg4ZCwweGUwLDB4ZmYsMHg5MCwweDc5LDB4OGYsMHhlMCwweGZkLDB4OTAsMHg3OSwweDkwLDB4ZTAsMHhmYywweDAyfSB9LAoteyAgMTYsMHgwYjM3LDAsezB4MGIsMHg0NiwweDkwLDB4MDYsMHhjYSwweDA1LDB4ODYsMHg5MCwweDdmLDB4MDAsMHgwNSwweDg2LDB4MDIsMHgwYiwweDUxLDB4OGR9IH0sCi17ICAxNiwweDBiNDcsMCx7MHg4NCwweDhjLDB4ODUsMHgwNSwweDg2LDB4OTAsMHg3ZiwweDAwLDB4MDUsMHg4NiwweGUwLDB4YTMsMHgwNSwweDg2LDB4ZjAsMHhhM30gfSwKLXsgIDE2LDB4MGI1NywwLHsweDBlLDB4ZWUsMHhiNCwweDQwLDB4MDMsMHgwMiwweDBiLDB4NmMsMHgwNSwweDg2LDB4ZGYsMHhlZSwweDkwLDB4NzksMHg4ZSwweDc0fSB9LAoteyAgMTYsMHgwYjY3LDAsezB4MDAsMHhmMCwweDAyLDB4MGIsMHg4MiwweDA1LDB4ODYsMHhhZCwweDg0LDB4YWMsMHg4NSwweDkwLDB4NzksMHg4ZiwweGVkLDB4ZjB9IH0sCi17ICAxNiwweDBiNzcsMCx7MHg5MCwweDc5LDB4OTAsMHhlYywweGYwLDB4OTAsMHg3OSwweDhkLDB4MWYsMHhlZiwweGYwLDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMH0gfSwKLXsgIDE2LDB4MGI4NywwLHsweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZkfSB9LAoteyAgMTEsMHgwYjk3LDAsezB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGJhMiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHg5MCwweDdmLDB4YWUsMHhlMCwweDU0LDB4ZTAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgwYmIyLDAsezB4N2YsMHg5NiwweGUwLDB4NDQsMHgwOCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhiZiwweGYwLDB4OTB9IH0sCi17ICAxNiwweDBiYzIsMCx7MHg3ZiwweGUzLDB4NzQsMHg3YiwweGYwLDB4OTAsMHg3ZiwweGU0LDB4NzQsMHg0MCwweGYwLDB4OTAsMHg3OSwweDc4LDB4ZTAsMHg5MH0gfSwKLXsgIDE2LDB4MGJkMiwwLHsweDdiLDB4NDAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4NDgsMHhmMCwweDkwLDB4N2YsMHhlNSwweGUwLDB4OTAsMHg3ZiwweGUyfSB9LAoteyAgMTYsMHgwYmUyLDAsezB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweGY3LDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3ZiwweGUzLDB4NzR9IH0sCi17ICAxNiwweDBiZjIsMCx7MHg3YiwweGYwLDB4OTAsMHg3ZiwweGU0LDB4NzQsMHg0MCwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg5MCwweDdiLDB4NDAsMHhmMH0gfSwKLXsgIDE2LDB4MGMwMiwwLHsweDkwLDB4N2YsMHhlMiwweDc0LDB4NDgsMHhmMCwweDkwLDB4N2YsMHhlNSwweGUwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwfSB9LAoteyAgMTYsMHgwYzEyLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweGYzLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MWYsMHhmMCwweGQwLDB4ODN9IH0sCi17ICAgNywweDBjMjIsMCx7MHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGMyOSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDc5LDB4MmYsMHhlMCwweDY0LDB4ZmYsMHhjMywweDI0fSB9LAoteyAgMTEsMHgwYzM5LDAsezB4MDEsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0gfSwKLXsgIDE2LDB4MGM0NCwwLHsweGJiLDB4MDEsMHgwNiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTAsMHgyMiwweDUwLDB4MDIsMHhlNywweDIyLDB4YmIsMHhmZSwweDAyfSB9LAoteyAgIDksMHgwYzU0LDAsezB4ZTMsMHgyMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTQsMHg5MywweDIyfSB9LAoteyAgMTYsMHgwYzVkLDAsezB4YmIsMHgwMSwweDBjLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweDIyLDB4NTB9IH0sCi17ICAxNiwweDBjNmQsMCx7MHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTYsMHgyMiwweGJiLDB4ZmUsMHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHgyMn0gfSwKLXsgIDEzLDB4MGM3ZCwwLHsweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTQsMHg5MywweDIyfSB9LAoteyAgMTYsMHgwYzhhLDAsezB4YmIsMHgwMSwweDA2LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmMCwweDIyLDB4NTAsMHgwMiwweGY3LDB4MjIsMHhiYiwweGZlLDB4MDF9IH0sCi17ICAgMiwweDBjOWEsMCx7MHhmMywweDIyfSB9LAoteyAgMTYsMHgwYzljLDAsezB4ZjgsMHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGU4LDB4ZjB9IH0sCi17ICAxNiwweDBjYWMsMCx7MHgyMiwweDUwLDB4MDYsMHhlOSwweDI1LDB4ODIsMHhjOCwweGY2LDB4MjIsMHhiYiwweGZlLDB4MDUsMHhlOSwweDI1LDB4ODIsMHhjOH0gfSwKLXsgICAyLDB4MGNiYywwLHsweGYyLDB4MjJ9IH0sCi17ICAxNiwweDBjYmUsMCx7MHhjMiwweGQ1LDB4ZWMsMHgzMCwweGU3LDB4MDksMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHhlZX0gfSwKLXsgIDE2LDB4MGNjZSwwLHsweDMwLDB4ZTcsMHgxNSwweGIyLDB4ZDUsMHhlNCwweGMzLDB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDEyLDB4MGUsMHg0MCwweGMzfSB9LAoteyAgMTYsMHgwY2RlLDAsezB4ZTQsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ODAsMHgwMywweDEyLDB4MGUsMHg0MCwweDMwLDB4ZDUsMHgwNywweGMzLDB4ZTR9IH0sCi17ICAgNiwweDBjZWUsMCx7MHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MjJ9IH0sCi17ICAxNiwweDBjZjQsMCx7MHhjNSwweGYwLDB4ZjgsMHhhMywweGUwLDB4MjgsMHhmMCwweGM1LDB4ZjAsMHhmOCwweGU1LDB4ODIsMHgxNSwweDgyLDB4NzAsMHgwMn0gfSwKLXsgICA2LDB4MGQwNCwwLHsweDE1LDB4ODMsMHhlMCwweDM4LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MGQwYSwwLHsweGJiLDB4MDEsMHgxMCwweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTAsMHhmNSwweGYwfSB9LAoteyAgMTYsMHgwZDFhLDAsezB4YTMsMHhlMCwweDIyLDB4NTAsMHgwOSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ODYsMHhmMCwweDA4LDB4ZTYsMHgyMiwweGJiLDB4ZmV9IH0sCi17ICAxNiwweDBkMmEsMCx7MHgwYSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHhmNSwweGYwLDB4MDgsMHhlMiwweDIyLDB4ZTUsMHg4MywweDJhLDB4ZjUsMHg4M30gfSwKLXsgICA4LDB4MGQzYSwwLHsweGU5LDB4OTMsMHhmNSwweGYwLDB4YTMsMHhlOSwweDkzLDB4MjJ9IH0sCi17ICAxNiwweDBkNDIsMCx7MHhlOCwweDhmLDB4ZjAsMHhhNCwweGNjLDB4OGIsMHhmMCwweGE0LDB4MmMsMHhmYywweGU5LDB4OGUsMHhmMCwweGE0LDB4MmMsMHhmY30gfSwKLXsgIDE2LDB4MGQ1MiwwLHsweDhhLDB4ZjAsMHhlZCwweGE0LDB4MmMsMHhmYywweGVhLDB4OGUsMHhmMCwweGE0LDB4Y2QsMHhhOCwweGYwLDB4OGIsMHhmMCwweGE0fSB9LAoteyAgMTYsMHgwZDYyLDAsezB4MmQsMHhjYywweDM4LDB4MjUsMHhmMCwweGZkLDB4ZTksMHg4ZiwweGYwLDB4YTQsMHgyYywweGNkLDB4MzUsMHhmMCwweGZjLDB4ZWJ9IH0sCi17ICAxNiwweDBkNzIsMCx7MHg4ZSwweGYwLDB4YTQsMHhmZSwweGE5LDB4ZjAsMHhlYiwweDhmLDB4ZjAsMHhhNCwweGNmLDB4YzUsMHhmMCwweDJlLDB4Y2QsMHgzOX0gfSwKLXsgIDE1LDB4MGQ4MiwwLHsweGZlLDB4ZTQsMHgzYywweGZjLDB4ZWEsMHhhNCwweDJkLDB4Y2UsMHgzNSwweGYwLDB4ZmQsMHhlNCwweDNjLDB4ZmMsMHgyMn0gfSwKLXsgIDE2LDB4MGQ5MSwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfSB9LAoteyAgIDEsMHgwZGExLDAsezB4MjJ9IH0sCi17ICAxNiwweDBkYTIsMCx7MHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGUsMHhhMX0gfSwKLXsgIDE2LDB4MGRiMiwwLHsweDUwLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOCwweDAyLDB4MGUsMHg5NSwweGJiLDB4ZmUsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4fSB9LAoteyAgMTYsMHgwZGMyLDAsezB4MDIsMHgwZSwweGFkLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHgwMiwweDBlLDB4Yjl9IH0sCi17ICAxNiwweDBkZDIsMCx7MHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGUsMHhkNX0gfSwKLXsgIDE2LDB4MGRlMiwwLHsweDUwLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOCwweDAyLDB4MGUsMHhjOSwweGJiLDB4ZmUsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4fSB9LAoteyAgIDQsMHgwZGYyLDAsezB4MDIsMHgwZSwweGUxLDB4MjJ9IH0sCi17ICAxNiwweDBkZjYsMCx7MHhiYiwweDAxLDB4MGQsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweDAyLDB4MGYsMHgwNn0gfSwKLXsgIDE2LDB4MGUwNiwwLHsweDUwLDB4MDcsMHhlOSwweDI1LDB4ODIsMHhmOCwweDAyLDB4MGUsMHhlZCwweGJiLDB4ZmUsMHgwNywweGU5LDB4MjUsMHg4MiwweGY4fSB9LAoteyAgIDQsMHgwZTE2LDAsezB4MDIsMHgwZiwweDM3LDB4MjJ9IH0sCi17ICAxNiwweDBlMWEsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGY4LDB4ZTQsMHg5MywweDcwLDB4MTIsMHg3NCwweDAxLDB4OTMsMHg3MCwweDBkLDB4YTMsMHhhM30gfSwKLXsgIDE2LDB4MGUyYSwwLHsweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4ODgsMHg4MywweGU0LDB4NzMsMHg3NCwweDAyLDB4OTMsMHg2OCwweDYwfSB9LAoteyAgIDYsMHgwZTNhLDAsezB4ZWYsMHhhMywweGEzLDB4YTMsMHg4MCwweGRmfSB9LAoteyAgMTYsMHgwZTQwLDAsezB4YmMsMHgwMCwweDBiLDB4YmUsMHgwMCwweDI5LDB4ZWYsMHg4ZCwweGYwLDB4ODQsMHhmZiwweGFkLDB4ZjAsMHgyMiwweGU0LDB4Y2N9IH0sCi17ICAxNiwweDBlNTAsMCx7MHhmOCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmYsMHhmZiwweGVlLDB4MzMsMHhmZSwweGVjLDB4MzMsMHhmYywweGVlLDB4OWQsMHhlY30gfSwKLXsgIDE2LDB4MGU2MCwwLHsweDk4LDB4NDAsMHgwNSwweGZjLDB4ZWUsMHg5ZCwweGZlLDB4MGYsMHhkNSwweGYwLDB4ZTksMHhlNCwweGNlLDB4ZmQsMHgyMiwweGVkfSB9LAoteyAgMTYsMHgwZTcwLDAsezB4ZjgsMHhmNSwweGYwLDB4ZWUsMHg4NCwweDIwLDB4ZDIsMHgxYywweGZlLDB4YWQsMHhmMCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmZ9IH0sCi17ICAxNiwweDBlODAsMCx7MHhmZiwweGVkLDB4MzMsMHhmZCwweDQwLDB4MDcsMHg5OCwweDUwLDB4MDYsMHhkNSwweGYwLDB4ZjIsMHgyMiwweGMzLDB4OTgsMHhmZH0gfSwKLXsgICA1LDB4MGU5MCwwLHsweDBmLDB4ZDUsMHhmMCwweGVhLDB4MjJ9IH0sCi17ICAxMiwweDBlOTUsMCx7MHhlNiwweGZjLDB4MDgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZlLDB4MDgsMHhlNiwweGZmLDB4MjJ9IH0sCi17ICAxMiwweDBlYTEsMCx7MHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4MjJ9IH0sCi17ICAxMiwweDBlYWQsMCx7MHhlMiwweGZjLDB4MDgsMHhlMiwweGZkLDB4MDgsMHhlMiwweGZlLDB4MDgsMHhlMiwweGZmLDB4MjJ9IH0sCi17ICAxNiwweDBlYjksMCx7MHhlNCwweDkzLDB4ZmMsMHhhMywweGU0LDB4OTMsMHhmZCwweGEzLDB4ZTQsMHg5MywweGZlLDB4YTMsMHhlNCwweDkzLDB4ZmYsMHgyMn0gfSwKLXsgIDEyLDB4MGVjOSwwLHsweGVjLDB4ZjYsMHgwOCwweGVkLDB4ZjYsMHgwOCwweGVlLDB4ZjYsMHgwOCwweGVmLDB4ZjYsMHgyMn0gfSwKLXsgIDEyLDB4MGVkNSwwLHsweGVjLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHgyMn0gfSwKLXsgIDEyLDB4MGVlMSwwLHsweGVjLDB4ZjIsMHgwOCwweGVkLDB4ZjIsMHgwOCwweGVlLDB4ZjIsMHgwOCwweGVmLDB4ZjIsMHgyMn0gfSwKLXsgIDE2LDB4MGVlZCwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZTQsMHg5MywweGY2LDB4MDgsMHg3NCwweDAxLDB4OTMsMHhmNiwweDA4LDB4NzQsMHgwMiwweDkzfSB9LAoteyAgIDksMHgwZWZkLDAsezB4ZjYsMHgwOCwweDc0LDB4MDMsMHg5MywweGY2LDB4NzQsMHgwNCwweDczfSB9LAoteyAgMTYsMHgwZjA2LDAsezB4YTgsMHg4MiwweDg1LDB4ODMsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MTIsMHgwZiwweDFkLDB4MTIsMHgwZiwweDFkLDB4MTJ9IH0sCi17ICAxNiwweDBmMTYsMCx7MHgwZiwweDFkLDB4MTIsMHgwZiwweDFkLDB4ZTQsMHg3MywweGU0LDB4OTMsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4M30gfSwKLXsgIDE2LDB4MGYyNiwwLHsweGM4LDB4YzUsMHg4MiwweGM4LDB4ZjAsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4MywweGM4LDB4YzUsMHg4MiwweGM4fSB9LAoteyAgIDEsMHgwZjM2LDAsezB4MjJ9IH0sCi17ICAxNiwweDBmMzcsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGU0LDB4OTMsMHhmMiwweDA4LDB4NzQsMHgwMSwweDkzLDB4ZjIsMHgwOCwweDc0LDB4MDIsMHg5M30gfSwKLXsgICA5LDB4MGY0NywwLHsweGYyLDB4MDgsMHg3NCwweDAzLDB4OTMsMHhmMiwweDc0LDB4MDQsMHg3M30gfSwKLXsgIDE2LDB4MGY1MCwwLHsweGMyLDB4YWYsMHhkMiwweDJjLDB4OTAsMHg3ZiwweDkzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweDljLDB4NzQsMHhiZiwweGYwfSB9LAoteyAgMTYsMHgwZjYwLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWR9IH0sCi17ICAxNiwweDBmNzAsMCx7MHg3NCwweGNmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTUsMHg3NCwweGNjLDB4ZjAsMHhlNH0gfSwKLXsgIDE2LDB4MGY4MCwwLHsweDkwLDB4N2YsMHg5ZSwweGYwLDB4YzIsMHgyZCwweGMyLDB4MmEsMHhjMiwweDJiLDB4YzIsMHgyZSwweDkwLDB4NzksMHg3NCwweDA0fSB9LAoteyAgMTYsMHgwZjkwLDAsezB4ZjAsMHgxMiwweDJlLDB4OTQsMHgxMiwweDQ5LDB4ZTIsMHgxMiwweDRiLDB4ZTYsMHgxMiwweDMyLDB4MGQsMHgxMiwweDNiLDB4MGR9IH0sCi17ICAxNiwweDBmYTAsMCx7MHgxMiwweDQxLDB4ZmQsMHgxMiwweDNlLDB4OTksMHhlNSwweDFmLDB4NzAsMHgxOCwweDc1LDB4MWYsMHgwMSwweDEyLDB4MTcsMHhmZn0gfSwKLXsgIDE2LDB4MGZiMCwwLHsweDEyLDB4MmYsMHhmZiwweDEyLDB4NDksMHhjOCwweDEyLDB4NGIsMHhkOCwweDEyLDB4NGIsMHhkYSwweDEyLDB4NDksMHg2ZiwweDEyfSB9LAoteyAgMTYsMHgwZmMwLDAsezB4MWIsMHg0MCwweDEyLDB4MzksMHg4ZCwweDkwLDB4N2YsMHhhZiwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGFlLDB4ZTB9IH0sCi17ICAxNiwweDBmZDAsMCx7MHg0NCwweDFmLDB4ZjAsMHg5MCwweDdmLDB4YWMsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4YWQsMHhmMCwweDkwLDB4N2YsMHhkZX0gfSwKLXsgIDE2LDB4MGZlMCwwLHsweGYwLDB4OTAsMHg3ZiwweGRmLDB4ZjAsMHg5MCwweDdmLDB4YWIsMHhmMCwweDkwLDB4N2YsMHhhOSwweGYwLDB4OTAsMHg3ZiwweGFhfSB9LAoteyAgMTYsMHgwZmYwLDAsezB4ZjAsMHg1MywweDkxLDB4ZWYsMHg0MywweGQ4LDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOCwweDIwLDB4NDMsMHhhOCwweDgwLDB4MjJ9IH0sCi17ICAxNiwweDEwMDAsMCx7MHg5MCwweDc5LDB4NjMsMHhlMCwweDE0LDB4NjAsMHg0NCwweDE0LDB4NzAsMHgwMiwweDIxLDB4ZDAsMHgxNCwweDcwLDB4MDIsMHg0MX0gfSwKLXsgIDE2LDB4MTAxMCwwLHsweGQ5LDB4MTQsMHg3MCwweDAyLDB4NjEsMHhkNywweDI0LDB4MDQsMHg2MCwweDAyLDB4ODEsMHg1NiwweGU0LDB4OTAsMHg3OSwweDc4fSB9LAoteyAgMTYsMHgxMDIwLDAsezB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NDQsMHgwMSwweGYwLDB4NTQsMHhmZCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDEwMzAsMCx7MHg3OSwweDdiLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg4OCwweGYwLDB4YTIsMHhhZiwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMn0gfSwKLXsgIDE2LDB4MTA0MCwwLHsweDBiLDB4YTIsMHhlNSwweDEyLDB4NzAsMHgwMiwweDgxLDB4NTYsMHhkMiwweGFmLDB4MjIsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0fSB9LAoteyAgMTYsMHgxMDUwLDAsezB4MDEsMHg3MCwweDc5LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4ZmZ9IH0sCi17ICAxNiwweDEwNjAsMCx7MHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMH0gfSwKLXsgIDE2LDB4MTA3MCwwLHsweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyfSB9LAoteyAgMTYsMHgxMDgwLDAsezB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTB9IH0sCi17ICAxNiwweDEwOTAsMCx7MHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZX0gfSwKLXsgIDE2LDB4MTBhMCwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkfSB9LAoteyAgMTYsMHgxMGIwLDAsezB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MDR9IH0sCi17ICAxNiwweDEwYzAsMCx7MHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMH0gfSwKLXsgIDE2LDB4MTBkMCwwLHsweDY0LDB4MDIsMHg3MCwweDc5LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDM0LDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxMGUwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4Nzl9IH0sCi17ICAxNiwweDEwZjAsMCx7MHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNX0gfSwKLXsgIDE2LDB4MTEwMCwwLHsweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwfSB9LAoteyAgMTYsMHgxMTEwLDAsezB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTR9IH0sCi17ICAxNiwweDExMjAsMCx7MHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4MTEzMCwwLHsweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0fSB9LAoteyAgMTYsMHgxMTQwLDAsezB4MDQsMHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHg5MCwweDc5LDB4MmR9IH0sCi17ICAxNiwweDExNTAsMCx7MHhlMCwweDY0LDB4MDMsMHg2MCwweDAyLDB4ODEsMHg1NiwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg2NH0gfSwKLXsgIDE2LDB4MTE2MCwwLHsweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwfSB9LAoteyAgMTYsMHgxMTcwLDAsezB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDExODAsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTE5MCwwLHsweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMWEwLDAsezB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDExYjAsMCx7MHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NH0gfSwKLXsgIDE2LDB4MTFjMCwwLHsweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODgsMHgxNCwweGYwLDB4ZTUsMHgxMiwweDcwLDB4MDIsMHg4MSwweDU2LDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgMTYsMHgxMWQwLDAsezB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHg3YSwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzR9IH0sCi17ICAxNiwweDExZTAsMCx7MHg4OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3Yn0gfSwKLXsgIDE2LDB4MTFmMCwwLHsweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyfSB9LAoteyAgMTYsMHgxMjAwLDAsezB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjB9IH0sCi17ICAxNiwweDEyMTAsMCx7MHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MH0gfSwKLXsgIDE2LDB4MTIyMCwwLHsweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgxMjMwLDAsezB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTJ9IH0sCi17ICAxNiwweDEyNDAsMCx7MHg5MCwweDc5LDB4ODIsMHg3NCwweDBjLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDAxLDB4ZjAsMHhlNSwweDEyLDB4NjAsMHgwMn0gfSwKLXsgIDE2LDB4MTI1MCwwLHsweGQyLDB4YWYsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg1NiwweDkwLDB4N2YsMHhmMiwweGYwfSB9LAoteyAgMTYsMHgxMjYwLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHg5NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTQsMHg5MCwweDc5LDB4Nzh9IH0sCi17ICAxNiwweDEyNzAsMCx7MHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTI4MCwwLHsweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMjkwLDAsezB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTAsMHg3OSwweDdmLDB4ZTB9IH0sCi17ICAxNiwweDEyYTAsMCx7MHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMH0gfSwKLXsgIDE2LDB4MTJiMCwwLHsweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OSwweDg0fSB9LAoteyAgMTYsMHgxMmMwLDAsezB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDBjLDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDEyZDAsMCx7MHhlNSwweDEyLDB4NzAsMHgwMiwweDgxLDB4NTYsMHhkMiwweGFmLDB4MjIsMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDEsMHg3MH0gfSwKLXsgIDE2LDB4MTJlMCwwLHsweDc3LDB4OTAsMHg3ZiwweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfSB9LAoteyAgMTYsMHgxMmYwLDAsezB4ZjAsMHhlNCwweDkwLDB4NzksMHg3OCwweGYwLDB4OTAsMHg3OSwweDdiLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmN9IH0sCi17ICAxNiwweDEzMDAsMCx7MHhmMCwweDkwLDB4NzksMHg3YiwweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMn0gfSwKLXsgIDE2LDB4MTMxMCwwLHsweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgxMzIwLDAsezB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEzMzAsMCx7MHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MTM0MCwwLHsweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg4MiwweDc0LDB4MTIsMHhmMCwweDkwLDB4NzksMHg4OCwweDc0fSB9LAoteyAgMTYsMHgxMzUwLDAsezB4MDIsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDcwLDB4Nzd9IH0sCi17ICAxNiwweDEzNjAsMCx7MHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4ZTAsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMH0gfSwKLXsgIDE2LDB4MTM3MCwwLHsweGU0LDB4OTAsMHg3OSwweDc4LDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTQsMHhmYywweGYwfSB9LAoteyAgMTYsMHgxMzgwLDAsezB4OTAsMHg3OSwweDdiLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTB9IH0sCi17ICAxNiwweDEzOTAsMCx7MHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3Zn0gfSwKLXsgIDE2LDB4MTNhMCwwLHsweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgxM2IwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDEzYzAsMCx7MHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDgyLDB4NzQsMHgxMiwweGYwLDB4OTAsMHg3OSwweDg4LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4MTNkMCwwLHsweGYwLDB4ZTUsMHgxMiwweDYwLDB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NCwweDAzLDB4NzAsMHg3NywweDkwfSB9LAoteyAgMTYsMHgxM2UwLDAsezB4N2YsMHhmMiwweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHg5NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4ZTR9IH0sCi17ICAxNiwweDEzZjAsMCx7MHg5MCwweDc5LDB4NzgsMHhmMCwweDkwLDB4NzksMHg3YiwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZlLDB4ZjAsMHg0NH0gfSwKLXsgIDE2LDB4MTQwMCwwLHsweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHgxNDEwLDAsezB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDE0MjAsMCx7MHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MH0gfSwKLXsgIDE2LDB4MTQzMCwwLHsweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDg0fSB9LAoteyAgMTYsMHgxNDQwLDAsezB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4ODIsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc5LDB4ODgsMHg3NCwweDA0LDB4ZjB9IH0sCi17ICAgNywweDE0NTAsMCx7MHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgIDE2LDB4MTQ1NywwLHsweGMyLDB4MjgsMHhjMiwweDI5LDB4OTAsMHg3ZiwweGU4LDB4ZTAsMHgxMiwweDBlLDB4MWEsMHgxNCwweDg0LDB4MDAsMHgxNCwweGUwfSB9LAoteyAgMTYsMHgxNDY3LDAsezB4MDEsMHgxNCwweGY2LDB4MDIsMHgxNiwweDdjLDB4MjEsMHgxNiwweGJlLDB4MjIsMHgxNSwweDkxLDB4ODAsMHgxNSwweGQxLDB4ODF9IH0sCi17ICAxNiwweDE0NzcsMCx7MHgxNiwweDJlLDB4ODIsMHgxNiwweGNmLDB4YTEsMHgxNywweDA1LDB4YTIsMHgwMCwweDAwLDB4MTcsMHgwYSwweDkwLDB4N2YsMHhlOX0gfSwKLXsgIDE2LDB4MTQ4NywwLHsweGUwLDB4MTQsMHg2MCwweDExLDB4MjQsMHhmZSwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgzYiwweDI0LDB4ZmMsMHg3MCwweDQwfSB9LAoteyAgMTYsMHgxNDk3LDAsezB4MTIsMHg0YSwweDJhLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhlMCwweDQwLDB4MDIsMHhlMSwweDE2LDB4OTAsMHg3ZiwweGVhLDB4ZTB9IH0sCi17ICAxNiwweDE0YTcsMCx7MHhiNCwweDAxLDB4MDQsMHhjMiwweDJhLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNn0gfSwKLXsgIDE2LDB4MTRiNywwLHsweDEyLDB4NGIsMHhlMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4ZDIsMHgyYSwweGUxLDB4MTYsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxNGM3LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTZ9IH0sCi17ICAxNiwweDE0ZDcsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjUsMHg3MH0gfSwKLXsgIDE2LDB4MTRlNywwLHsweDA1LDB4MTIsMHg0NywweDljLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwfSB9LAoteyAgMTYsMHgxNGY3LDAsezB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZCwweDYwLDB4NTQsMHgyNCwweDAyLDB4NjAsMHgwMiwweGExLDB4ODgsMHgxMiwweDRiLDB4ZTB9IH0sCi17ICAxNiwweDE1MDcsMCx7MHg0MCwweDAyLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NH0gfSwKLXsgIDE2LDB4MTUxNywwLHsweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyfSB9LAoteyAgMTYsMHgxNTI3LDAsezB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDU0LDB4ODAsMHhmZiwweDEzLDB4MTN9IH0sCi17ICAxNiwweDE1MzcsMCx7MHgxMywweDU0LDB4MWYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4OTAsMHg3ZiwweGQ3LDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMH0gfSwKLXsgIDE2LDB4MTU0NywwLHsweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHgxMiwweDRiLDB4ZTIsMHg0MCwweDAyfSB9LAoteyAgMTYsMHgxNTU3LDAsezB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgyMCwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmZ9IH0sCi17ICAxNiwweDE1NjcsMCx7MHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDE2LDB4MTU3NywwLHsweDdmLDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxfSB9LAoteyAgMTYsMHgxNTg3LDAsezB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4ZTksMHhlMCwweDYwLDB4MTJ9IH0sCi17ICAxNiwweDE1OTcsMCx7MHgyNCwweGY4LDB4NjAsMHgwOSwweDI0LDB4MDIsMHg3MCwweDI5LDB4MTIsMHgxNywweDFlLDB4ZTEsMHgxNiwweDEyLDB4NGIsMHhhMH0gfSwKLXsgIDE2LDB4MTVhNywwLHsweGUxLDB4MTYsMHgxMiwweDRiLDB4ZGUsMHhhMiwweDJhLDB4ZTQsMHgzMywweGZmLDB4MjUsMHhlMCwweGZmLDB4YTIsMHgyYiwweGU0fSB9LAoteyAgMTYsMHgxNWI3LDAsezB4MzMsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4ZTF9IH0sCi17ICAxNiwweDE1YzcsMCx7MHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4NjAsMHgzN30gfSwKLXsgIDE2LDB4MTVkNywwLHsweDI0LDB4ZjYsMHg2MCwweDJlLDB4MjQsMHgwNCwweDcwLDB4NDEsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDI0LDB4ZGUsMHg2MCwweDBlfSB9LAoteyAgMTYsMHgxNWU3LDAsezB4MDQsMHg3MCwweDE2LDB4ZDIsMHgyOSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweGQyLDB4Mjl9IH0sCi17ICAxNiwweDE1ZjcsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGUxLDB4MTYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4MTYwNywwLHsweGUxLDB4MTYsMHgxMiwweDQ0LDB4NjMsMHhlMSwweDE2LDB4MTIsMHg0YiwweGRlLDB4ZTQsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgxNjE3LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHhlMSwweDE2LDB4MjAsMHgyOSwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTB9IH0sCi17ICAxNiwweDE2MjcsMCx7MHg0NCwweDAxLDB4ZjAsMHhjMiwweDI5LDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNCwweDYwLDB4MzQsMHgyNH0gfSwKLXsgIDE2LDB4MTYzNywwLHsweDBjLDB4NzAsMHgzOSwweDEyLDB4NGIsMHhkZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZjQsMHg1NCwweDgwLDB4ZmYsMHhjNCwweDU0fSB9LAoteyAgMTYsMHgxNjQ3LDAsezB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9IH0sCi17ICAxNiwweDE2NTcsMCx7MHg4MywweGUwLDB4NTQsMHhmZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4MTY2NywwLHsweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgMTYsMHgxNjc3LDAsezB4NDQsMHgwMSwweGYwLDB4ZTEsMHgxNiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNiwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWF9IH0sCi17ICAxNiwweDE2ODcsMCx7MHgyNCwweDAyLDB4NzAsMHgxZCwweGQyLDB4MjgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMn0gfSwKLXsgIDE2LDB4MTY5NywwLHsweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgMTYsMHgxNmE3LDAsezB4ZjAsMHgyMCwweDI4LDB4MGYsMHg5MCwweDc5LDB4ODUsMHg3NCwweDAxLDB4ZjAsMHgxMiwweDQ5LDB4NmYsMHg5MCwweDdmLDB4YzV9IH0sCi17ICAxNiwweDE2YjcsMCx7MHg3NCwweDAyLDB4ZjAsMHhjMiwweDI4LDB4ODAsMHg1OCwweDkwLDB4NzksMHg4NiwweDc0LDB4MDEsMHhmMCwweDEyLDB4NDksMHg2Zn0gfSwKLXsgIDE2LDB4MTZjNywwLHsweDkwLDB4N2YsMHhjNSwweDc0LDB4MDIsMHhmMCwweDgwLDB4NDcsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg2MCwweDEyfSB9LAoteyAgMTYsMHgxNmQ3LDAsezB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMiwweDcwLDB4MWQsMHhkMiwweDI4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDE2ZTcsMCx7MHg4MCwweDEyLDB4ZDIsMHgyOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MTZmNywwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyOCwweDAzLDB4MTIsMHgxYSwweDdiLDB4YzIsMHgyOCwweDgwLDB4MTEsMHgxMiwweDJjfSB9LAoteyAgMTYsMHgxNzA3LDAsezB4MmIsMHg4MCwweDBjLDB4MTIsMHg0YiwweGU0LDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTB9IH0sCi17ICAgNywweDE3MTcsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MTcxZSwwLHsweDEyLDB4NGIsMHhkYywweDQwLDB4MDIsMHhlMSwweGUzLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxZSwweDE0fSB9LAoteyAgMTYsMHgxNzJlLDAsezB4NjAsMHg0NiwweDE0LDB4NjAsMHg2ZSwweDE0LDB4NzAsMHgwMiwweGUxLDB4ZDQsMHgyNCwweDA0LDB4NjAsMHgwMiwweGUxLDB4ZGN9IH0sCi17ICAxNiwweDE3M2UsMCx7MHg3NCwweDA1LDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHg3NCwweDAwLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYX0gfSwKLXsgIDE2LDB4MTc0ZSwwLHsweGUwLDB4ZmYsMHgxMiwweDNmLDB4YTIsMHg4YiwweDMzLDB4OGEsMHgzNCwweDg5LDB4MzUsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlfSB9LAoteyAgMTYsMHgxNzVlLDAsezB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDE3NmUsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDEyLDB4NDgsMHgwMH0gfSwKLXsgIDE2LDB4MTc3ZSwwLHsweDhiLDB4MzMsMHg4YSwweDM0LDB4ODksMHgzNSwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgxNzhlLDAsezB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9IH0sCi17ICAxNiwweDE3OWUsMCx7MHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmYn0gfSwKLXsgIDE2LDB4MTdhZSwwLHsweDEyLDB4NDQsMHhkMiwweDhiLDB4MzMsMHg4YSwweDM0LDB4ODksMHgzNSwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlfSB9LAoteyAgMTYsMHgxN2JlLDAsezB4ZWUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweGNmLDB4ZTksMHhjZiwweGVmLDB4OTAsMHg3ZiwweGQ1LDB4ZjAsMHgyMiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDE3Y2UsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn0gfSwKLXsgICA1LDB4MTdkZSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDE3ZTMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MTdlNCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfSB9LAoteyAgMTEsMHgxN2Y0LDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgICAxLDB4MTdmZiwwLHsweDIyfSB9LAoteyAgMTYsMHgxODAwLDAsezB4ZTQsMHg5MCwweDc4LDB4MTUsMHhmMCwweDdiLDB4MDEsMHg5MCwweDc4LDB4MTIsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjB9IH0sCi17ICAxNiwweDE4MTAsMCx7MHhhMywweDc0LDB4NTgsMHhmMCwweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MH0gfSwKLXsgIDE2LDB4MTgyMCwwLHsweDAwLDB4MDEsMHgxMiwweDBjLDB4NWQsMHhmZiwweDkwLDB4NzksMHg5YSwweGUwLDB4NmYsMHg2MCwweDE4LDB4OTAsMHg3OCwweDE1fSB9LAoteyAgMTYsMHgxODMwLDAsezB4ZTAsMHhjMywweDk0LDB4MDYsMHg1MCwweDBmLDB4ZTAsMHgwNCwweGYwLDB4OTAsMHg3OCwweDEzLDB4ZTQsMHg3NSwweGYwLDB4MGZ9IH0sCi17ICAxNiwweDE4NDAsMCx7MHgxMiwweDBjLDB4ZjQsMHg4MCwweGNmLDB4OTAsMHg3OCwweDE1LDB4ZTAsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMH0gfSwKLXsgIDE2LDB4MTg1MCwwLHsweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyfSB9LAoteyAgMTYsMHgxODYwLDAsezB4MGMsMHg0NCwweGZmLDB4MjQsMHhiZiwweDcwLDB4MDIsMHg0MSwweDdhLDB4MjQsMHhlMCwweDcwLDB4MDIsMHg0MSwweDRjLDB4MjR9IH0sCi17ICAxNiwweDE4NzAsMCx7MHgyMSwweDYwLDB4MDIsMHg0MSwweDczLDB4OTAsMHg3OSwweDk3LDB4ZTAsMHgyNCwweGZlLDB4NzAsMHgwMiwweDIxLDB4OWEsMHgxNH0gfSwKLXsgIDE2LDB4MTg4MCwwLHsweDcwLDB4MDIsMHgyMSwweGVmLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg0MSwweDQ0LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhhMywweGYwfSB9LAoteyAgMTYsMHgxODkwLDAsezB4OTAsMHg3OSwweDIzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MGR9IH0sCi17ICAxNiwweDE4YTAsMCx7MHg0MiwweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4NzksMHgyMn0gfSwKLXsgIDE2LDB4MThiMCwwLHsweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4fSB9LAoteyAgMTYsMHgxOGMwLDAsezB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmR9IH0sCi17ICAxNiwweDE4ZDAsMCx7MHhlYywweDM4LDB4ZmMsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MThlMCwwLHsweDAyLDB4MTIsMHgwZCwweGQyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwfSB9LAoteyAgMTYsMHgxOGYwLDAsezB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgwNSwweDkwLDB4NzksMHgyZCwweDA0LDB4ZjAsMHg5MCwweDc4LDB4MTJ9IH0sCi17ICAxNiwweDE5MDAsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg4MH0gfSwKLXsgIDE2LDB4MTkxMCwwLHsweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgwNiwweDkwLDB4NzksMHgyZCwweDc0fSB9LAoteyAgMTYsMHgxOTIwLDAsezB4MDIsMHhmMCwweDkwLDB4NzgsMHgxMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDE5MzAsMCx7MHgxMiwweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MH0gfSwKLXsgIDE2LDB4MTk0MCwwLHsweDA2LDB4OTAsMHg3OSwweDJkLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweDc1fSB9LAoteyAgMTYsMHgxOTUwLDAsezB4MGMsMHg2NywweDc1LDB4MGQsMHgwNiwweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMiwweDA4LDB4ZTQsMHhmNSwweDBjLDB4ZjV9IH0sCi17ICAxNiwweDE5NjAsMCx7MHgwZCwweDc1LDB4MGUsMHgwYywweGVmLDB4YjQsMHgwMywweDA4LDB4ZTQsMHhmNSwweDBjLDB4ZjUsMHgwZCwweDc1LDB4MGUsMHgxOH0gfSwKLXsgIDE2LDB4MTk3MCwwLHsweGVmLDB4YjQsMHgwMywweDBkLDB4OTAsMHg3OSwweDJlLDB4ZTAsMHg2NCwweDAzLDB4NjAsMHgwNSwweGQyLDB4MmYsMHgxMiwweDNkfSB9LAoteyAgMTYsMHgxOTgwLDAsezB4NzksMHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDMsMHg2MCwweDBhLDB4YTMsMHhlMCwweGI0LDB4MDMsMHgwNSwweGMyLDB4MmZ9IH0sCi17ICAxNiwweDE5OTAsMCx7MHgxMiwweDNkLDB4NzksMHgxMiwweDEwLDB4MDAsMHgxMiwweDI4LDB4MDEsMHgyMiwweDkwLDB4NzksMHgyMywweGUwLDB4ZmYsMHhlNH0gfSwKLXsgIDE2LDB4MTlhMCwwLHsweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDBkLDB4NDIsMHhjOCwweGVjLDB4YzgsMHhjOSwweGVkfSB9LAoteyAgMTYsMHgxOWIwLDAsezB4YzksMHhjYSwweGVlLDB4Y2EsMHhjYiwweGVmLDB4Y2IsMHg5MCwweDc5LDB4MjIsMHhlMCwweGZlLDB4ZTQsMHhmYywweGZkLDB4MmJ9IH0sCi17ICAxNiwweDE5YzAsMCx7MHhmYiwweGVhLDB4M2UsMHhmYSwweGVkLDB4MzksMHhmOSwweGVjLDB4MzgsMHhmOCwweDkwLDB4NzksMHgyMSwweGUwLDB4ZmYsMHhlNH0gfSwKLXsgIDE2LDB4MTlkMCwwLHsweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOCwweGZjLDB4OTAsMHg3OCwweDEyfSB9LAoteyAgMTYsMHgxOWUwLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhkMiwweDIyLDB4OTB9IH0sCi17ICAxNiwweDE5ZjAsMCx7MHg3OSwweDIzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmIsMHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MGQsMHg0Mn0gfSwKLXsgIDE2LDB4MWEwMCwwLHsweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYSwweGNiLDB4ZWYsMHhjYiwweDkwLDB4NzksMHgyMiwweGUwfSB9LAoteyAgMTYsMHgxYTEwLDAsezB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTB9IH0sCi17ICAxNiwweDFhMjAsMCx7MHg3OSwweDIxLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmYsMHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlY30gfSwKLXsgIDE2LDB4MWEzMCwwLHsweDM4LDB4ZmMsMHg5MCwweDc4LDB4MTIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhfSB9LAoteyAgMTYsMHgxYTQwLDAsezB4MTIsMHgwZCwweGQyLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDk3LDB4ZTB9IH0sCi17ICAxNiwweDFhNTAsMCx7MHgxNCwweDcwLDB4MTgsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZmLDB4OTAsMHg3OCwweDEyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MWE2MCwwLHsweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwZSwweGVmLDB4MTIsMHgwYywweDljLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgMTAsMHgxYTcwLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDFhN2EsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MWE3YiwwLHsweGU0LDB4ZmYsMHhmZSwweDdiLDB4MDEsMHg5MCwweDc4LDB4MGYsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHgxYThiLDAsezB4MmIsMHhmMCwweDkwLDB4NzgsMHgwZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDFhOWIsMCx7MHgxMiwweDBjLDB4NWQsMHhmZCwweDkwLDB4N2YsMHhlYywweGUwLDB4NmQsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDUsMHg1MH0gfSwKLXsgIDE2LDB4MWFhYiwwLHsweDBkLDB4MGYsMHg5MCwweDc4LDB4MTAsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHg4ZCwweDMzfSB9LAoteyAgMTYsMHgxYWJiLDAsezB4OTAsMHg3OCwweDBmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGN9IH0sCi17ICAxNiwweDFhY2IsMCx7MHg1ZCwweGZkLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2ZCwweDYwLDB4MTMsMHhlZSwweGMzLDB4OTQsMHgwYiwweDUwLDB4MGQsMHgwZX0gfSwKLXsgIDE2LDB4MWFkYiwwLHsweDkwLDB4NzgsMHgxMCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4ODAsMHhkNCwweDkwLDB4N2YsMHhlZCwweGUwfSB9LAoteyAgMTYsMHgxYWViLDAsezB4ZjUsMHgzNCwweGVmLDB4NjQsMHgwNSwweDYwLDB4MDMsMHhiZSwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAxNiwweDFhZmIsMCx7MHhmMCwweDIyLDB4OTAsMHg3OCwweDBmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NH0gfSwKLXsgIDE2LDB4MWIwYiwwLHsweGZmLDB4MjQsMHhmMCwweDYwLDB4MDgsMHgyNCwweDBmLDB4NzAsMHgwZSwweDEyLDB4NDksMHgyYSwweDIyLDB4MTIsMHg0YiwweDgzfSB9LAoteyAgMTQsMHgxYjFiLDAsezB4OTAsMHg3OSwweDIwLDB4ZTUsMHgzNCwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MWIyOSwwLHsweDIyfSB9LAoteyAgMTUsMHgxYjJhLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhiNCwweGZmLDB4MDQsMHgxMiwweDM0LDB4MTYsMHgyMiwweDEyLDB4MzgsMHgwMCwweDIyfSB9LAoteyAgIDcsMHgxYjM5LDAsezB4NTMsMHg5OCwweGZlLDB4NTMsMHg5OCwweGZkLDB4MzJ9IH0sCi17ICAxNiwweDFiNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFiZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxYzgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2IwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWNkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxY2UwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFjZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWQ5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFkZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWRmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWUyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWU4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE0LDB4MWViMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFlZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmMWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgIDIsMHgxZjNlLDAsezB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWY3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MWZkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgxZmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDFmZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjAzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjA5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIwZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjBmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjEyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjE4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIxZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjFlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMWYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjIxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIyZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTQsMHgyMzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjM3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyMzhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzOWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2JlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjNkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyM2VlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDIzZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNDdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjQ5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNGRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI0ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjRmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjUyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjU4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNTllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI1ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjY3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNjhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNmJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI2Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTQsMHgyNmVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjZmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzBjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3MWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjcyYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzNjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3NGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc1YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3N2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4Mjc4YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyNzljLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3YWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdiYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgMTYsMHgyN2NjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9IH0sCi17ICAxNiwweDI3ZGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0gfSwKLXsgIDE2LDB4MjdlYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSB9LAoteyAgIDUsMHgyN2ZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn0gfSwKLXsgIDE2LDB4MjgwMSwwLHsweDkwLDB4NzksMHg2NCwweGUwLDB4MTQsMHg2MCwweDQ2LDB4MTQsMHg3MCwweDAyLDB4NDEsMHgzYywweDI0LDB4MDIsMHg2MCwweDAyfSB9LAoteyAgMTYsMHgyODExLDAsezB4ODEsMHgyYSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDI4MjEsMCx7MHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg1NCwweGZkLDB4ZjAsMHg0NH0gfSwKLXsgIDE2LDB4MjgzMSwwLHsweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHgyODQxLDAsezB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHhlNCwweDkwLDB4NzksMHg3YSwweGYwLDB4MjIsMHg5MCwweDc5LDB4MmR9IH0sCi17ICAxNiwweDI4NTEsMCx7MHhlMCwweDY0LDB4MDEsMHg2MCwweDAyLDB4MDEsMHhmMSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZn0gfSwKLXsgIDE2LDB4Mjg2MSwwLHsweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzksMHg3OCwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3YywweGUwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyODcxLDAsezB4ZjAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4N2UsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDI4ODEsMCx7MHg3OSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mjg5MSwwLHsweDc5LDB4ZTAsMHg5MCwweDc5LDB4N2MsMHhmMCwweGEyLDB4YWYsMHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBifSB9LAoteyAgMTYsMHgyOGExLDAsezB4YTIsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4OTB9IH0sCi17ICAxNiwweDI4YjEsMCx7MHg3OSwweDdmLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MH0gfSwKLXsgIDE2LDB4MjhjMSwwLHsweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwfSB9LAoteyAgMTYsMHgyOGQxLDAsezB4OTAsMHg3OSwweDg0LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDc5LDB4N2EsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjV9IH0sCi17ICAxNiwweDI4ZTEsMCx7MHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMH0gfSwKLXsgIDE2LDB4MjhmMSwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDk2LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhjOCwweGYwfSB9LAoteyAgMTYsMHgyOTAxLDAsezB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTB9IH0sCi17ICAxNiwweDI5MTEsMCx7MHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMX0gfSwKLXsgIDE2LDB4MjkyMSwwLHsweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZifSB9LAoteyAgMTYsMHgyOTMxLDAsezB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzJ9IH0sCi17ICAxNiwweDI5NDEsMCx7MHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4Mjk1MSwwLHsweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwfSB9LAoteyAgMTYsMHgyOTYxLDAsezB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjB9IH0sCi17ICAxNiwweDI5NzEsMCx7MHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMH0gfSwKLXsgIDE2LDB4Mjk4MSwwLHsweDkwLDB4NzksMHg2NSwweDc0LDB4MDMsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjfSB9LAoteyAgMTYsMHgyOTkxLDAsezB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDJhLDB4OTB9IH0sCi17ICAxNiwweDI5YTEsMCx7MHg3ZiwweGZjLDB4NzQsMHg5OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMX0gfSwKLXsgIDE2LDB4MjliMSwwLHsweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyOWMxLDAsezB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTB9IH0sCi17ICAxNiwweDI5ZDEsMCx7MHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZn0gfSwKLXsgIDE2LDB4MjllMSwwLHsweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyOWYxLDAsezB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJhMDEsMCx7MHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmExMSwwLHsweDc5LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwfSB9LAoteyAgMTYsMHgyYTIxLDAsezB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NSwweDc0LDB4MDUsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDJ9IH0sCi17ICAxNiwweDJhMzEsMCx7MHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDIyLDB4OTAsMHg3OSwweDJkLDB4ZTAsMHg2NH0gfSwKLXsgIDE2LDB4MmE0MSwwLHsweDAxLDB4NjAsMHgwMiwweDQxLDB4ZTAsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGI0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjfSB9LAoteyAgMTYsMHgyYTUxLDAsezB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4N2MsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4NTR9IH0sCi17ICAxNiwweDJhNjEsMCx7MHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhiNCwweDAxLDB4MDksMHg5MCwweDc5LDB4NzksMHhlMH0gfSwKLXsgIDE2LDB4MmE3MSwwLHsweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwfSB9LAoteyAgMTYsMHgyYTgxLDAsezB4OTAsMHg3OSwweDdjLDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4OTB9IH0sCi17ICAxNiwweDJhOTEsMCx7MHg3OSwweDc4LDB4NzQsMHgwMiwweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3Zn0gfSwKLXsgIDE2LDB4MmFhMSwwLHsweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYWIxLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJhYzEsMCx7MHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDdhLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY1LDB4MDQsMHhmMH0gfSwKLXsgIDE2LDB4MmFkMSwwLHsweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyYWUxLDAsezB4NzksMHgyZCwweGUwLDB4NjQsMHgwMiwweDYwLDB4MDIsMHg2MSwweDg1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhiMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDJhZjEsMCx7MHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MH0gfSwKLXsgIDE2LDB4MmIwMSwwLHsweDc5LDB4NzksMHhmMCwweDU0LDB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5fSB9LAoteyAgMTYsMHgyYjExLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjB9IH0sCi17ICAxNiwweDJiMjEsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZn0gfSwKLXsgIDE2LDB4MmIzMSwwLHsweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4NCwweGUwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYjQxLDAsezB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OSwweGUwLDB4NTQsMHhmZSwweGYwLDB4ODB9IH0sCi17ICAxNiwweDJiNTEsMCx7MHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NH0gfSwKLXsgIDE2LDB4MmI2MSwwLHsweGZiLDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3YSwweDc0LDB4MDEsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgyYjcxLDAsezB4NzksMHg2NSwweDc0LDB4MDQsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjB9IH0sCi17ICAxNiwweDJiODEsMCx7MHg5MCwweDc5LDB4OGIsMHhmMCwweDkwLDB4NzksMHgyZCwweGUwLDB4NjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDJhLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4MmI5MSwwLHsweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgyYmExLDAsezB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDU0LDB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJiYjEsMCx7MHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4MmJjMSwwLHsweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0fSB9LAoteyAgMTYsMHgyYmQxLDAsezB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGIsMHhhMiwweDkwLDB4NzksMHg3OCwweDc0LDB4MDIsMHhmMCwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJiZTEsMCx7MHg4NCwweGUwLDB4OTAsMHg3OSwweDc5LDB4ZjAsMHg5MCwweDc5LDB4N2YsMHhlMCwweGI0LDB4MDEsMHgwOSwweDkwLDB4NzksMHg3OX0gfSwKLXsgIDE2LDB4MmJmMSwwLHsweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzksMHg3OSwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc5fSB9LAoteyAgMTYsMHgyYzAxLDAsezB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDEyLDB4MGIsMHhhMiwweDkwLDB4Nzl9IH0sCi17ICAxNiwweDJjMTEsMCx7MHg3YSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2NSwweDc0LDB4MDYsMHhmMCwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZn0gfSwKLXsgIDEwLDB4MmMyMSwwLHsweGU0LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgyYzJiLDAsezB4ZTQsMHhmZiwweDdiLDB4MDEsMHg5MCwweDc4LDB4MTYsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4NTh9IH0sCi17ICAxNiwweDJjM2IsMCx7MHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHgxMn0gfSwKLXsgIDE2LDB4MmM0YiwwLHsweDBjLDB4NWQsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4NmUsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDBkfSB9LAoteyAgMTYsMHgyYzViLDAsezB4MGYsMHg5MCwweDc4LDB4MTcsMHhlNCwweDc1LDB4ZjAsMHgwZiwweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHhiZiwweDA2LDB4MDh9IH0sCi17ICAxNiwweDJjNmIsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYX0gfSwKLXsgIDE2LDB4MmM3YiwwLHsweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZmLDB4MjQsMHg5ZiwweDcwLDB4MDIsMHhjMSwweDY2LDB4MjQsMHgyMSwweDYwfSB9LAoteyAgMTYsMHgyYzhiLDAsezB4MDIsMHhjMSwweDhjLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NzAsMHgwMiwweGExLDB4MzAsMHgxNCwweDcwLDB4MDJ9IH0sCi17ICAxNiwweDJjOWIsMCx7MHhhMSwweGM4LDB4MjQsMHgwMiwweDYwLDB4MDIsMHhjMSwweDVlLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweGEyLDB4N2IsMHg0NH0gfSwKLXsgIDE2LDB4MmNhYiwwLHsweDdhLDB4YWMsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0fSB9LAoteyAgMTYsMHgyY2JiLDAsezB4NDQsMHhmMCwweGEzLDB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTB9IH0sCi17ICAxNiwweDJjY2IsMCx7MHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhhMn0gfSwKLXsgIDE2LDB4MmNkYiwwLHsweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgyY2ViLDAsezB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDN9IH0sCi17ICAxNiwweDJjZmIsMCx7MHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDIsMHgxMn0gfSwKLXsgIDE2LDB4MmQwYiwwLHsweDBkLDB4YTIsMHg3YiwweDAwLDB4N2EsMHg3NywweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg2MCwweDAyfSB9LAoteyAgMTYsMHgyZDFiLDAsezB4YzEsMHg5MywweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJkMmIsMCx7MHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4MmQzYiwwLHsweDkwLDB4MDAsMHgwNiwweDEyLDB4MGQsMHhhMiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyfSB9LAoteyAgMTYsMHgyZDRiLDAsezB4MGQsMHg5MSwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTN9IH0sCi17ICAxNiwweDJkNWIsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzgsMHgxNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhM30gfSwKLXsgIDE2LDB4MmQ2YiwwLHsweGUwLDB4ZjksMHg5MCwweDAwLDB4MDYsMHgxMiwweDBkLDB4YTIsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwfSB9LAoteyAgMTYsMHgyZDdiLDAsezB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjB9IH0sCi17ICAxNiwweDJkOGIsMCx7MHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MmQ5YiwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGEyLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxfSB9LAoteyAgMTYsMHgyZGFiLDAsezB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NjAsMHgwMiwweGMxLDB4OTMsMHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDJkYmIsMCx7MHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgxNn0gfSwKLXsgIDE2LDB4MmRjYiwwLHsweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MGEsMHgxMiwweDBkLDB4YTIsMHg3YiwweDQ0fSB9LAoteyAgMTYsMHgyZGRiLDAsezB4N2EsMHhhYywweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDBkLDB4OTEsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzR9IH0sCi17ICAxNiwweDJkZWIsMCx7MHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MmRmYiwwLHsweDc4LDB4MTYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwZCwweGEyfSB9LAoteyAgMTYsMHgyZTBiLDAsezB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgwZCwweDkxLDB4NzAsMHgxMywweDkwLDB4N2Z9IH0sCi17ICAxNiwweDJlMWIsMCx7MHgwMCwweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwM30gfSwKLXsgIDE2LDB4MmUyYiwwLHsweGYwLDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwYSwweDEyfSB9LAoteyAgMTYsMHgyZTNiLDAsezB4MGQsMHhhMiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MGQsMHg5MSwweDcwLDB4NDh9IH0sCi17ICAxNiwweDJlNGIsMCx7MHg5MCwweDdmLDB4MDAsMHhmMCwweGEzLDB4NzQsMHg3NywweGYwLDB4YTMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH0gfSwKLXsgIDE2LDB4MmU1YiwwLHsweDAzLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fSB9LAoteyAgMTYsMHgyZTZiLDAsezB4N2YsMHg3MCwweDE2LDB4OTAsMHg3OCwweDE2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAxNiwweDJlN2IsMCx7MHgwZSwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICA4LDB4MmU4YiwwLHsweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDJlOTMsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MmU5NCwwLHsweDc1LDB4MzYsMHgyNSwweDc1LDB4MzcsMHgyNCwweDkwLDB4NzksMHg3NCwweGUwLDB4NjQsMHgwMSwweDcwLDB4NTQsMHhmMCwweGY1fSB9LAoteyAgMTYsMHgyZWE0LDAsezB4MzUsMHg3NSwweDIyLDB4MDEsMHhlNSwweDIyLDB4NjQsMHgwMSwweDcwLDB4NDgsMHg5MCwweDdmLDB4YTUsMHhlMCwweDQ0LDB4ODB9IH0sCi17ICAxNiwweDJlYjQsMCx7MHhmMCwweDkwLDB4N2YsMHhhNiwweGU1LDB4MzYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NGYsMHgyNSwweDM1LDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MmVjNCwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0NiwweGMwLDB4NzQsMHgzNSwweDI1fSB9LAoteyAgMTYsMHgyZWQ0LDAsezB4MzUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweGE2LDB4ZjAsMHgxMiwweDQ2LDB4YzB9IH0sCi17ICAxNiwweDJlZTQsMCx7MHg5MCwweDdmLDB4YTUsMHg3NCwweDQwLDB4ZjAsMHgxMiwweDBhLDB4Y2QsMHgwNSwweDM1LDB4ZTUsMHgzNSwweGMzLDB4OTQsMHgwZH0gfSwKLXsgIDE2LDB4MmVmNCwwLHsweDQwLDB4YjIsMHg5MCwweDc5LDB4NzUsMHhlMCwweDY0LDB4MDEsMHg2MCwweDAyLDB4ZTEsMHhkZSwweGYwLDB4OTAsMHg3OSwweDIwfSB9LAoteyAgMTYsMHgyZjA0LDAsezB4ZTAsMHg2NCwweDA1LDB4NjAsMHgwMiwweGUxLDB4OGQsMHg3YiwweDAxLDB4OTAsMHg3OSwweDVjLDB4MDQsMHhmMCwweGEzLDB4NzR9IH0sCi17ICAxNiwweDJmMTQsMCx7MHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHg3NSwweDMzLDB4MDcsMHg5MCwweDc5LDB4NWMsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MmYyNCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4NzAsMHgwZiwweDkwLDB4MDAsMHgwNCwweDEyfSB9LAoteyAgMTYsMHgyZjM0LDAsezB4MGMsMHg1ZCwweDkwLDB4NzksMHgyZiwweGYwLDB4MTIsMHgwYywweDI5LDB4ODAsMHgwNiwweDkwLDB4NzksMHgyZiwweDc0LDB4ZmZ9IH0sCi17ICAxNiwweDJmNDQsMCx7MHhmMCwweGU0LDB4ZjUsMHgzNSwweDc1LDB4MjIsMHgwMSwweDc1LDB4MzQsMHgwMiwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHgzOX0gfSwKLXsgIDE2LDB4MmY1NCwwLHsweDkwLDB4N2YsMHhhNSwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGE2LDB4ZTUsMHgzNiwweGYwLDB4MTIsMHg0NiwweGMwfSB9LAoteyAgMTYsMHgyZjY0LDAsezB4YWYsMHgzNCwweDA1LDB4MzQsMHg5MCwweDdmLDB4YTYsMHhlZiwweGYwLDB4MTIsMHg0NiwweGMwLDB4OTAsMHg3OSwweDJmLDB4ZTB9IH0sCi17ICAxNiwweDJmNzQsMCx7MHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDkwLDB4N2YsMHhhNSwweDc0LDB4NDAsMHhmMCwweDEyLDB4MGEsMHhjZH0gfSwKLXsgIDE2LDB4MmY4NCwwLHsweDA1LDB4MzUsMHhlNSwweDM1LDB4YzMsMHg5NCwweDA2LDB4NDAsMHhjMSwweDkwLDB4NzksMHgyMCwweGUwLDB4NjQsMHgwNiwweDcwfSB9LAoteyAgMTYsMHgyZjk0LDAsezB4NDksMHg3YiwweDAxLDB4OTAsMHg3OSwweDVmLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjB9IH0sCi17ICAxNiwweDJmYTQsMCx7MHg3NSwweDMzLDB4MDMsMHg5MCwweDc5LDB4NWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4MmZiNCwwLHsweDAxLDB4MTIsMHgwYywweDVkLDB4NzAsMHgxYywweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZCwweDkwLDB4NzksMHgzMywweGYwfSB9LAoteyAgMTYsMHgyZmM0LDAsezB4NzAsMHgwMywweDc0LDB4ZmYsMHhmMCwweDkwLDB4NzksMHgzMywweGUwLDB4NTQsMHg3ZiwweGZmLDB4ZjAsMHgyNSwweGUwLDB4ZjB9IH0sCi17ICAxMCwweDJmZDQsMCx7MHg4MCwweDA1LDB4ZTQsMHg5MCwweDc5LDB4MzMsMHhmMCwweDEyLDB4NDcsMHhkZn0gfSwKLXsgICAxLDB4MmZkZSwwLHsweDIyfSB9LAoteyAgMTYsMHgyZmRmLDAsezB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3OSwweDgzLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDJmZWYsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgICAxLDB4MmZmZiwwLHsweDIyfSB9LAoteyAgMTYsMHgzMDAwLDAsezB4ZTQsMHhmZSwweDkwLDB4NzksMHgyMCwweGUwLDB4ZmQsMHhiNCwweDA1LDB4MTEsMHg5MCwweDc4LDB4MjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDMwMTAsMCx7MHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhiMiwweGYwLDB4NzUsMHgzNSwweDA3LDB4ZWQsMHhiNCwweDA2LDB4MTEsMHg5MH0gfSwKLXsgIDE2LDB4MzAyMCwwLHsweDc4LDB4MjUsMHg3NCwweDAxLDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHhmZiwweGYwLDB4NzUsMHgzNSwweDAzfSB9LAoteyAgMTYsMHgzMDMwLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDYwLDB4MTEsMHgxNCwweDYwLDB4NWIsMHgyNCwweDAyLDB4NjAsMHgwMiwweDQxLDB4MDV9IH0sCi17ICAxNiwweDMwNDAsMCx7MHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgzZH0gfSwKLXsgIDE2LDB4MzA1MCwwLHsweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4MmYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzMDYwLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDB9IH0sCi17ICAxNiwweDMwNzAsMCx7MHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4NzgsMHgyNiwweGU0LDB4NzUsMHhmMH0gfSwKLXsgIDE2LDB4MzA4MCwwLHsweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGNiLDB4OTAsMHg3ZiwweGI1LDB4ZWUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSB9LAoteyAgMTYsMHgzMDkwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZSwweDYwLDB4NjQsMHgxNCwweDcwLDB4MDJ9IH0sCi17ICAxNiwweDMwYTAsMCx7MHgyMSwweDU1LDB4MTQsMHg3MCwweDAyLDB4MjEsMHhhOSwweDI0LDB4MDMsMHg2MCwweDAyLDB4MjEsMHhmZCwweGU0LDB4ZmYsMHhlZn0gfSwKLXsgIDE2LDB4MzBiMCwwLHsweGMzLDB4OTUsMHgzNSwweDUwLDB4NDYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgzMGMwLDAsezB4OTAsMHgwMCwweDAzLDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODJ9IH0sCi17ICAxNiwweDMwZDAsMCx7MHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZX0gfSwKLXsgIDE2LDB4MzBlMCwwLHsweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMGYwLDAsezB4MjYsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjB9IH0sCi17ICAxNiwweDMxMDAsMCx7MHgyMiwweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4NDYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzExMCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0fSB9LAoteyAgMTYsMHgzMTIwLDAsezB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDMxMzAsMCx7MHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4M30gfSwKLXsgIDE2LDB4MzE0MCwwLHsweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweDkwfSB9LAoteyAgMTYsMHgzMTUwLDAsezB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwLDB4NDYsMHg5MCwweDc4LDB4MjV9IH0sCi17ICAxNiwweDMxNjAsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA3LDB4MTIsMHgwYywweDVkLDB4ZmQsMHhjY30gfSwKLXsgIDE2LDB4MzE3MCwwLHsweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZWQsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzMTgwLDAsezB4MDAsMHgwOCwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwLDB4MmMsMHhmNSwweDgyLDB4ZTR9IH0sCi17ICAxNiwweDMxOTAsMCx7MHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNH0gfSwKLXsgIDE2LDB4MzFhMCwwLHsweDBmLDB4ODAsMHhiNCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweGU0LDB4ZmYsMHhlZiwweGMzLDB4OTUsMHgzNSwweDUwfSB9LAoteyAgMTYsMHgzMWIwLDAsezB4NDYsMHg5MCwweDc4LDB4MjUsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA5LDB4MTJ9IH0sCi17ICAxNiwweDMxYzAsMCx7MHgwYywweDVkLDB4ZmQsMHhjYywweGVlLDB4Y2MsMHgwZSwweDc0LDB4MDAsMHgyYywweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX0gfSwKLXsgIDE2LDB4MzFkMCwwLHsweDgzLDB4ZWQsMHhmMCwweDkwLDB4MDAsMHgwYSwweDEyLDB4MGMsMHg1ZCwweGZkLDB4Y2MsMHhlZSwweGNjLDB4MGUsMHg3NCwweDAwfSB9LAoteyAgMTYsMHgzMWUwLDAsezB4MmMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVkLDB4ZjAsMHg5MCwweDc4LDB4MjYsMHhlNCwweDc1LDB4ZjB9IH0sCi17ICAxNiwweDMxZjAsMCx7MHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNCwweDkwLDB4N2YsMHhiNSwweGVlLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDEyLDB4MzIwMCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4MzIwYywwLHsweDIyfSB9LAoteyAgMTYsMHgzMjBkLDAsezB4N2IsMHgwMSwweDdhLDB4NzgsMHg3OSwweDJiLDB4OTAsMHg3OCwweDAwLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTl9IH0sCi17ICAxNiwweDMyMWQsMCx7MHhmMCwweDc0LDB4MDEsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzIyZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljfSB9LAoteyAgMTYsMHgzMjNkLDAsezB4OTAsMHg3OCwweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTN9IH0sCi17ICAxNiwweDMyNGQsMCx7MHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4NzQsMHgxMCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzI1ZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA1LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyfSB9LAoteyAgMTYsMHgzMjZkLDAsezB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDMyN2QsMCx7MHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzI4ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDIsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzMjlkLDAsezB4OWMsMHg5MCwweDAwLDB4MDIsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTJ9IH0sCi17ICAxNiwweDMyYWQsMCx7MHgwYywweGY0LDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDEsMHgxMn0gfSwKLXsgIDE2LDB4MzJiZCwwLHsweDBjLDB4OGEsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgzMmNkLDAsezB4NzQsMHgwMywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDAxLDB4ZTR9IH0sCi17ICAxNiwweDMyZGQsMCx7MHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4MzJlZCwwLHsweGY5LDB4NzQsMHgxMCwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwfSB9LAoteyAgMTYsMHgzMmZkLDAsezB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDA2LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4ZTQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDMzMGQsMCx7MHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzMxZCwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyLDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzMzJkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDMzM2QsMCx7MHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzM0ZCwwLHsweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzMzVkLDAsezB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDMzNmQsMCx7MHg5YywweDkwLDB4MDAsMHgwMiwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDEsMHhlNCwweDc1LDB4ZjAsMHgwM30gfSwKLXsgIDE2LDB4MzM3ZCwwLHsweDEyLDB4MGMsMHhmNCwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg3NCwweDAyfSB9LAoteyAgMTYsMHgzMzhkLDAsezB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDAwLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDB9IH0sCi17ICAxNiwweDMzOWQsMCx7MHgwMSwweDc0LDB4MDMsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDA0LDB4MTIsMHgwYywweDljLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzNhZCwwLHsweDAxLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4LDB4MDAsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzM2JkLDAsezB4YTMsMHhlMCwweGY5LDB4NzQsMHgwMiwweDEyLDB4MGMsMHg4YSwweDkwLDB4NzgsMHgwMCwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDMzY2QsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NCwweDAyLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAyLDB4NzQsMHgwNH0gfSwKLXsgIDE2LDB4MzNkZCwwLHsweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwMSwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAwfSB9LAoteyAgMTYsMHgzM2VkLDAsezB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4MDIsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDB9IH0sCi17ICAxNiwweDMzZmQsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICA4LDB4MzQwZCwwLHsweDkwLDB4MDAsMHgwMiwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAgMSwweDM0MTUsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzQxNiwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDExLDB4OTAsMHg3OCwweDFmLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzNDI2LDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDc1LDB4MzUsMHgwNywweGVkLDB4YjQsMHgwNiwweDExLDB4OTB9IH0sCi17ICAxNiwweDM0MzYsMCx7MHg3OCwweDFmLDB4NzQsMHgwMSwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4ZmYsMHhmMCwweDc1LDB4MzUsMHgwM30gfSwKLXsgIDE2LDB4MzQ0NiwwLHsweDkwLDB4NzksMHg5OSwweGUwLDB4MTQsMHg2MCwweDExLDB4MTQsMHg2MCwweDViLDB4MjQsMHgwMiwweDYwLDB4MDIsMHhjMSwweDA2fSB9LAoteyAgMTYsMHgzNDU2LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwLDB4MTQsMHg3MCwweDNlLDB4ZTR9IH0sCi17ICAxNiwweDM0NjYsMCx7MHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NTAsMHgyZiwweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4MzQ3NiwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzfSB9LAoteyAgMTYsMHgzNDg2LDAsezB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweGVkLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDIwLDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAxNiwweDM0OTYsMCx7MHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4Y2IsMHg5MCwweDc5LDB4NzUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDE2LDB4MzRhNiwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4OTcsMHhlMCwweDI0LDB4ZmUsMHg2MCwweDYzLDB4MTQsMHg3MCwweDAyfSB9LAoteyAgMTYsMHgzNGI2LDAsezB4YTEsMHg2NCwweDE0LDB4NzAsMHgwMiwweGExLDB4YjIsMHgyNCwweDAzLDB4NjAsMHgwMiwweGExLDB4ZmUsMHhlNCwweGZmLDB4ZWZ9IH0sCi17ICAxNiwweDM0YzYsMCx7MHhjMywweDk1LDB4MzUsMHg1MCwweDQ0LDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNH0gfSwKLXsgIDE2LDB4MzRkNiwwLHsweDc5LDB4ZjUsMHg4MywweGUwLDB4ZmQsMHg5MCwweDc4LDB4MWYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgzNGU2LDAsezB4OTAsMHgwMCwweDAzLDB4ZWQsMHgxMiwweDBjLDB4OWMsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1LDB4ODJ9IH0sCi17ICAxNiwweDM0ZjYsMCx7MHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MjAsMHhlNH0gfSwKLXsgIDE2LDB4MzUwNiwwLHsweDc1LDB4ZjAsMHgwYiwweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhiNiwweDkwLDB4NzksMHg3NSwweDc0LDB4MDEsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzNTE2LDAsezB4ZTQsMHhmZiwweGVmLDB4YzMsMHg5NSwweDM1LDB4NDAsMHgwMiwweGMxLDB4MGQsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjF9IH0sCi17ICAxNiwweDM1MjYsMCx7MHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhM30gfSwKLXsgIDE2LDB4MzUzNiwwLHsweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDUsMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlfSB9LAoteyAgMTYsMHgzNTQ2LDAsezB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGN9IH0sCi17ICAxNiwweDM1NTYsMCx7MHg5YywweDkwLDB4NzgsMHgyMCwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4ZTQsMHhmZn0gfSwKLXsgIDE2LDB4MzU2NiwwLHsweGVmLDB4YzMsMHg5NSwweDM1LDB4NDAsMHgwMiwweGMxLDB4MGQsMHhjZCwweGVlLDB4Y2QsMHgwZSwweDc0LDB4MjEsMHgyZCwweGY1fSB9LAoteyAgMTYsMHgzNTc2LDAsezB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgxZiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmF9IH0sCi17ICAxNiwweDM1ODYsMCx7MHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDcsMHhlZCwweDEyLDB4MGMsMHg5YywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMX0gfSwKLXsgIDE2LDB4MzU5NiwwLHsweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MGMsMHg5YywweDkwfSB9LAoteyAgMTYsMHgzNWE2LDAsezB4NzgsMHgyMCwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGI0LDB4ZTQsMHhmZiwweGVmLDB4YzN9IH0sCi17ICAxNiwweDM1YjYsMCx7MHg5NSwweDM1LDB4NTAsMHg1MywweGNkLDB4ZWUsMHhjZCwweDBlLDB4NzQsMHgyMSwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OX0gfSwKLXsgIDE2LDB4MzVjNiwwLHsweGY1LDB4ODMsMHhlMCwweGZkLDB4OTAsMHg3OCwweDFmLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwfSB9LAoteyAgMTYsMHgzNWQ2LDAsezB4MDAsMHgwOSwweGVkLDB4MTIsMHgwYywweDljLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHg3NCwweDIxLDB4MmQsMHhmNSwweDgyLDB4ZTR9IH0sCi17ICAxNiwweDM1ZTYsMCx7MHgzNCwweDc5LDB4ZjUsMHg4MywweGUwLDB4OTAsMHgwMCwweDBhLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDIwLDB4ZTQsMHg3NX0gfSwKLXsgIDE2LDB4MzVmNiwwLHsweGYwLDB4MGIsMHgxMiwweDBjLDB4ZjQsMHgwZiwweDgwLDB4YjYsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSB9LAoteyAgIDcsMHgzNjA2LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDM2MGQsMCx7MHgyMn0gfSwKLXsgIDE2LDB4MzYwZSwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDEwLDB4OTAsMHg3OCwweDI4LDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzNjFlLDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDdmLDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM2MmUsMCx7MHgyOCwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3ZiwweDAzLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzYzZSwwLHsweDI4LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZkLDB4OTAsMHg3ZiwweGVhfSB9LAoteyAgMTYsMHgzNjRlLDAsezB4ZTAsMHg2ZCwweDYwLDB4MTIsMHhlZSwweGMzLDB4OWYsMHg1MCwweDBkLDB4OTAsMHg3OCwweDI5LDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAxNiwweDM2NWUsMCx7MHgxMiwweDBjLDB4ZjQsMHgwZSwweDgwLDB4ZDgsMHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg0Nn0gfSwKLXsgIDE2LDB4MzY2ZSwwLHsweDI0LDB4MDIsMHg2MCwweDAyLDB4ZTEsMHg5YSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzNjdlLDAsezB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDI4LDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9IH0sCi17ICAxNiwweDM2OGUsMCx7MHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMX0gfSwKLXsgIDE2LDB4MzY5ZSwwLHsweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgzNmFlLDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NjAsMHg0MCwweDE0LDB4NjB9IH0sCi17ICAxNiwweDM2YmUsMCx7MHg2ZiwweDE0LDB4NzAsMHgwMiwweGUxLDB4NjAsMHgyNCwweDAzLDB4NjAsMHgwMiwweGUxLDB4OTIsMHhlZSwweDZmLDB4NzAsMHgwOH0gfSwKLXsgIDE2LDB4MzZjZSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHgzNmRlLDAsezB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAzLDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDAwLDB4MDR9IH0sCi17ICAxNiwweDM2ZWUsMCx7MHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4ZWUsMHg2Zn0gfSwKLXsgIDE2LDB4MzZmZSwwLHsweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OCwweDI4LDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHgzNzBlLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTB9IH0sCi17ICAxNiwweDM3MWUsMCx7MHgwMCwweDA2LDB4MTIsMHgwYywweDVkLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4MzcyZSwwLHsweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzgsMHgyOCwweGUwfSB9LAoteyAgMTYsMHgzNzNlLDAsezB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDcsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDB9IH0sCi17ICAxNiwweDM3NGUsMCx7MHhmMCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MGMsMHg1ZCwweDkwLDB4N2YsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4Mzc1ZSwwLHsweGYwLDB4MjIsMHhlZSwweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4fSB9LAoteyAgMTYsMHgzNzZlLDAsezB4MjgsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwYywweDVkLDB4OTB9IH0sCi17ICAxNiwweDM3N2UsMCx7MHg3ZiwweDAwLDB4ZjAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4NWQsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNX0gfSwKLXsgIDE2LDB4Mzc4ZSwwLHsweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwfSB9LAoteyAgIDMsMHgzNzllLDAsezB4NDQsMHgwMSwweGYwfSB9LAoteyAgIDEsMHgzN2ExLDAsezB4MjJ9IH0sCi17ICAxNiwweDM3YTIsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4MzdiMiwwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfSB9LAoteyAgMTYsMHgzN2MyLDAsezB4YzAsMHhlMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweDkwLDB4NzksMHg4MywweGUwLDB4NTR9IH0sCi17ICAxNiwweDM3ZDIsMCx7MHhmZCwweGYwLDB4MTIsMHgyZiwweGRmLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMH0gfSwKLXsgIDE2LDB4MzdlMiwwLHsweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwfSB9LAoteyAgIDgsMHgzN2YyLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0gfSwKLXsgICA2LDB4MzdmYSwwLHsweDUzLDB4OTEsMHhiZiwweGQyLDB4MjYsMHgzMn0gfSwKLXsgIDE2LDB4MzgwMCwwLHsweGU0LDB4ZmUsMHg5MCwweDc5LDB4MjAsMHhlMCwweGZkLDB4YjQsMHgwNSwweDEwLDB4OTAsMHg3OCwweDIyLDB4NzQsMHgwMSwweGYwfSB9LAoteyAgMTYsMHgzODEwLDAsezB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0LDB4YjIsMHhmMCwweDdmLDB4MDcsMHhlZCwweGI0LDB4MDYsMHgxMCwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDM4MjAsMCx7MHgyMiwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGZmLDB4ZjAsMHg3ZiwweDAzLDB4OTAsMHg3OH0gfSwKLXsgIDE2LDB4MzgzMCwwLHsweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZkLDB4OTAsMHg3OSwweDk4fSB9LAoteyAgMTYsMHgzODQwLDAsezB4ZTAsMHg2ZCwweDYwLDB4MTIsMHhlZSwweGMzLDB4OWYsMHg1MCwweDBkLDB4OTAsMHg3OCwweDIzLDB4ZTQsMHg3NSwweGYwLDB4MGJ9IH0sCi17ICAxNiwweDM4NTAsMCx7MHgxMiwweDBjLDB4ZjQsMHgwZSwweDgwLDB4ZDgsMHg5MCwweDc5LDB4OTksMHhlMCwweDE0LDB4NjAsMHgxMSwweDE0LDB4NjAsMHg0OH0gfSwKLXsgIDE2LDB4Mzg2MCwwLHsweDI0LDB4MDIsMHg2MCwweDAyLDB4MjEsMHg4NSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5fSB9LAoteyAgMTYsMHgzODcwLDAsezB4OTcsMHhlMCwweDE0LDB4NzAsMHgyYiwweGVlLDB4NmYsMHg3MCwweDA5LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDM4ODAsMCx7MHg4MCwweDE3LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZCwweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhM30gfSwKLXsgIDE2LDB4Mzg5MCwwLHsweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHg3NSwweDc0LDB4MDEsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzOGEwLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzksMHg5NywweGUwLDB4MjQsMHhmZSwweDYwLDB4NDN9IH0sCi17ICAxNiwweDM4YjAsMCx7MHgxNCwweDYwLDB4NmUsMHgxNCwweDcwLDB4MDIsMHgyMSwweDRmLDB4MjQsMHgwMywweDYwLDB4MDIsMHgyMSwweDdkLDB4ZWUsMHg2Zn0gfSwKLXsgIDE2LDB4MzhjMCwwLHsweDcwLDB4MDksMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MjEsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZkfSB9LAoteyAgMTYsMHgzOGQwLDAsezB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMywweGVkLDB4MTJ9IH0sCi17ICAxNiwweDM4ZTAsMCx7MHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc5LDB4NzUsMHg3NH0gfSwKLXsgIDE2LDB4MzhmMCwwLHsweDAxLDB4ZjAsMHgyMiwweGVlLDB4NmYsMHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwfSB9LAoteyAgMTYsMHgzOTAwLDAsezB4NzksMHgyMSwweGUwLDB4ZmQsMHg5MCwweDc4LDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDM5MTAsMCx7MHgwMCwweDA1LDB4ZWQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc5LDB4MjIsMHhlMCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4MzkyMCwwLHsweDIyLDB4ZWUsMHg2ZiwweDcwLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3OSwweDIxfSB9LAoteyAgMTYsMHgzOTMwLDAsezB4ZTAsMHhmZCwweDkwLDB4NzgsMHgyMiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDd9IH0sCi17ICAxNiwweDM5NDAsMCx7MHhlZCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzksMHgyMiwweGUwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwYywweDljLDB4MjIsMHhlZX0gfSwKLXsgIDE2LDB4Mzk1MCwwLHsweDZmLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc5LDB4MjEsMHhlMCwweGZlfSB9LAoteyAgMTYsMHgzOTYwLDAsezB4OTAsMHg3OCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwOSwweGVlLDB4MTJ9IH0sCi17ICAxNiwweDM5NzAsMCx7MHgwYywweDljLDB4OTAsMHg3OSwweDIyLDB4ZTAsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBjLDB4OWMsMHgyMiwweDkwLDB4N2YsMHhiNH0gfSwKLXsgIDEyLDB4Mzk4MCwwLHsweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4Mzk4YywwLHsweDIyfSB9LAoteyAgMTYsMHgzOThkLDAsezB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4ZTQsMHg5MCwweDc5LDB4ODMsMHhmMCwweDEyLDB4MmYsMHhkZiwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDM5OWQsMCx7MHhlMCwweDc0LDB4OTAsMHhmMCwweDkwLDB4N2YsMHhlMSwweDc0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3ZiwweGRkLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MzlhZCwwLHsweDdmLDB4YTEsMHhmMCwweDUzLDB4OGUsMHhmOCwweDc1LDB4ODgsMHgwNSwweDc1LDB4YjgsMHgyMCwweDc1LDB4ZjgsMHgwMSwweDQzfSB9LAoteyAgMTYsMHgzOWJkLDAsezB4OGUsMHgzMCwweGY1LDB4YzgsMHg3NSwweGNhLDB4N2YsMHg3NSwweGNiLDB4ZjgsMHg0MywweGE4LDB4MjAsMHg5MCwweDc5LDB4NzR9IH0sCi17ICAxNiwweDM5Y2QsMCx7MHgwNCwweGYwLDB4YzIsMHgyMiwweGU0LDB4ZjUsMHgwZiwweDkwLDB4NzksMHg3OCwweGYwLDB4YTMsMHhmMCwweDkwLDB4NzksMHg2Mn0gfSwKLXsgIDE2LDB4MzlkZCwwLHsweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc5LDB4NjYsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc5LDB4N2IsMHhmMCwweGEzfSB9LAoteyAgMTYsMHgzOWVkLDAsezB4ZjAsMHg5MCwweDc5LDB4ODQsMHhmMCwweDkwLDB4NzksMHg3ZCwweGYwLDB4OTAsMHg3OSwweDc1LDB4ZjAsMHhhMywweGYwLDB4YTN9IH0sCi17ICAxNiwweDM5ZmQsMCx7MHhmMCwweGMyLDB4MjMsMHhjMiwweDI0LDB4YzIsMHgyNSwweGMyLDB4MjYsMHhjMiwweDIwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4M2EwZCwwLHsweDBhLDB4NTQsMHgyMCwweGY1LDB4MGEsMHg3MCwweDA2LDB4OTAsMHg3OSwweDdlLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3OSwweDdlfSB9LAoteyAgMTYsMHgzYTFkLDAsezB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmNSwweDBhLDB4NTQsMHgwMiwweGY1LDB4MGEsMHg3MCwweDA2LDB4OTB9IH0sCi17ICAxNiwweDNhMmQsMCx7MHg3OSwweDdmLDB4ZjAsMHg4MCwweDA2LDB4OTAsMHg3OSwweDdmLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMn0gfSwKLXsgIDE2LDB4M2EzZCwwLHsweGYwLDB4OTAsMHg3OSwweDg0LDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZiwweGUwLDB4YjQsMHgwMSwweDA5fSB9LAoteyAgMTYsMHgzYTRkLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNiwweDNhNWQsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg4NCwweGYwLDB4MTIsMHgwYiwweGEyLDB4OTAsMHg3OSwweDc4LDB4NzQsMHgwMX0gfSwKLXsgIDE2LDB4M2E2ZCwwLHsweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweDkwLDB4NzksMHg3ZSwweGUwLDB4YjQsMHgwMSwweDA5fSB9LAoteyAgMTYsMHgzYTdkLDAsezB4OTAsMHg3OSwweDc5LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjB9IH0sCi17ICAxNiwweDNhOGQsMCx7MHg5MCwweDc5LDB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4MTIsMHgwYiwweGEyLDB4ZTQsMHg5MCwweDc5LDB4NzgsMHhmMH0gfSwKLXsgIDE2LDB4M2E5ZCwwLHsweGEzLDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3OSwweDg4LDB4ZjAsMHgxMiwweDBiLDB4YTIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGRkfSB9LAoteyAgMTYsMHgzYWFkLDAsezB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAxLDB4ZjAsMHhhMywweGYwLDB4MTJ9IH0sCi17ICAxNiwweDNhYmQsMCx7MHgwYiwweGEyLDB4ZTQsMHg5MCwweDc5LDB4N2EsMHhmMCwweDkwLDB4NzksMHg4MywweDA0LDB4ZjAsMHgxMiwweDJmLDB4ZGYsMHhlNH0gfSwKLXsgIDE2LDB4M2FjZCwwLHsweDkwLDB4NzksMHgzMCwweGYwLDB4OTAsMHg3OSwweDg1LDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweDEyLDB4MmUsMHg5NCwweDkwfSB9LAoteyAgMTYsMHgzYWRkLDAsezB4NzksMHgyZCwweDc0LDB4MDIsMHhmMCwweDkwLDB4NzksMHg4OCwweDE0LDB4ZjAsMHhjMiwweDJmLDB4ZTQsMHg5MCwweDc5LDB4Njh9IH0sCi17ICAxNiwweDNhZWQsMCx7MHhmMCwweDkwLDB4NzksMHg4YSwweGYwLDB4OTAsMHg3OSwweDZhLDB4ZjAsMHhhMywweGYwLDB4NzUsMHgxMywweDA4LDB4NzUsMHgxNH0gfSwKLXsgIDE2LDB4M2FmZCwwLHsweDA4LDB4ZjUsMHgxNiwweGY1LDB4MTUsMHhmNSwweDE3LDB4OTAsMHg3OSwweDhjLDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhmMCwweDIyfSB9LAoteyAgMTYsMHgzYjBkLDAsezB4N2IsMHgwMSwweDdhLDB4NzgsMHg3OSwweDU4LDB4OTAsMHg3OCwweDAzLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTl9IH0sCi17ICAxNiwweDNiMWQsMCx7MHhmMCwweDc0LDB4NDAsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2IyZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwYSwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhmNiwweDAwfSB9LAoteyAgMTYsMHgzYjNkLDAsezB4MDAsMHhiYiwweDgwLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMCwweGFjLDB4NDQsMHg5MCwweDAwLDB4MGF9IH0sCi17ICAxNiwweDNiNGQsMCx7MHgxMiwweDBkLDB4ZjYsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwLDB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4M2I1ZCwwLHsweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NDAsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzYjZkLDAsezB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzR9IH0sCi17ICAxNiwweDNiN2QsMCx7MHg4YywweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwMiwweDEyLDB4MGQsMHhmNiwweDAwLDB4MDAsMHhiYiwweDgwLDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4M2I4ZCwwLHsweDA2LDB4MTIsMHgwZCwweGY2LDB4MDAsMHgwMCwweGFjLDB4NDQsMHg5MCwweDAwLDB4MGEsMHgxMiwweDBkLDB4ZjYsMHgwMCwweDAxfSB9LAoteyAgMTYsMHgzYjlkLDAsezB4NzcsMHgwMCwweDkwLDB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTB9IH0sCi17ICAxNiwweDNiYWQsMCx7MHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NDAsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMH0gfSwKLXsgIDE2LDB4M2JiZCwwLHsweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHg4ZiwweDEyLDB4MGMsMHg5YywweDkwfSB9LAoteyAgMTYsMHgzYmNkLDAsezB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNiZGQsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NDEsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2JlZCwwLHsweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHg4NCwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNCwweGU0fSB9LAoteyAgMTYsMHgzYmZkLDAsezB4NzUsMHhmMCwweDBmLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTB9IH0sCi17ICAxNiwweDNjMGQsMCx7MHhmOSwweDc0LDB4NjEsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4M2MxZCwwLHsweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHg4MSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwNCwweGU0LDB4NzUsMHhmMCwweDBmfSB9LAoteyAgMTYsMHgzYzJkLDAsezB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDAzLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDc0LDB4NjF9IH0sCi17ICAxNiwweDNjM2QsMCx7MHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMH0gfSwKLXsgICA2LDB4M2M0ZCwwLHsweDAxLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5Y30gfSwKLXsgICAxLDB4M2M1MywwLHsweDIyfSB9LAoteyAgMTYsMHgzYzU0LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9IH0sCi17ICAxNiwweDNjNjQsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0gfSwKLXsgICAyLDB4M2M3NCwwLHsweGMwLDB4ZTB9IH0sCi17ICAxNiwweDNjNzYsMCx7MHg5MCwweDdmLDB4YTIsMHhlMCwweGY1LDB4MGIsMHg5MCwweDdmLDB4NzQsMHhlMCwweDkwLDB4NzksMHg3MCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4M2M4NiwwLHsweDc1LDB4ZTAsMHg5MCwweDc5LDB4NzEsMHhmMCwweDkwLDB4NzksMHg4MywweGUwLDB4ZmYsMHhmZSwweDU0LDB4MDIsMHhmZSwweDcwfSB9LAoteyAgMTYsMHgzYzk2LDAsezB4MGQsMHhlZiwweDQ0LDB4MDIsMHhmMCwweDEyLDB4MmYsMHhkZiwweDkwLDB4NzksMHg3NCwweDc0LDB4MDEsMHhmMCwweGU1LDB4MGJ9IH0sCi17ICAxNiwweDNjYTYsMCx7MHgyMCwweGUyLDB4MjgsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZlLDB4YTMsMHhlMCwweDdjLDB4MDAsMHgyNCwweDAwLDB4ZjUsMHgxMX0gfSwKLXsgIDE2LDB4M2NiNiwwLHsweGVjLDB4M2UsMHhmNSwweDEwLDB4OTAsMHg3OSwweDgyLDB4ZTAsMHhmZCwweGFlLDB4MTAsMHhhZiwweDExLDB4MTIsMHgwYywweGJlfSB9LAoteyAgMTYsMHgzY2M2LDAsezB4OTAsMHg3OSwweDcwLDB4ZWYsMHhmMCwweDkwLDB4NzksMHg4OSwweDc0LDB4MDEsMHhmMCwweDEyLDB4NDgsMHg0MywweDEyLDB4NDh9IH0sCi17ICAxNiwweDNjZDYsMCx7MHg3NiwweDkwLDB4NzksMHg4OSwweGUwLDB4NjQsMHgwMSwweDcwLDB4MzIsMHgxMiwweDQxLDB4MDgsMHg5MCwweDc5LDB4ODksMHhlNH0gfSwKLXsgIDE2LDB4M2NlNiwwLHsweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDQwLDB4ZjAsMHg5MCwweDdmLDB4OWUsMHhlMCwweDQ0LDB4NDAsMHhmMCwweDkwfSB9LAoteyAgMTYsMHgzY2Y2LDAsezB4N2YsMHg5NSwweDc0LDB4ODAsMHhmMCwweDc1LDB4ZTgsMHgwMSwweDEyLDB4MDksMHgzMiwweDc1LDB4ZTgsMHgwZCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDNkMDYsMCx7MHg5NSwweDc0LDB4YzAsMHhmMCwweDc1LDB4ZTgsMHgwZCwweGQyLDB4MjAsMHg4MCwweDA1LDB4NzUsMHhlOCwweDAxLDB4YzIsMHgyMH0gfSwKLXsgIDE2LDB4M2QxNiwwLHsweDIwLDB4MjAsMHgyYiwweDkwLDB4NzksMHgyZCwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MDksMHg3NSwweDBjLDB4NjcsMHg3NSwweDBkfSB9LAoteyAgMTYsMHgzZDI2LDAsezB4MDYsMHg3NSwweDBlLDB4MGIsMHhlZiwweGI0LDB4MDIsMHgwOSwweDc1LDB4MGMsMHgwMCwweDc1LDB4MGQsMHgwMCwweDc1LDB4MGV9IH0sCi17ICAxNiwweDNkMzYsMCx7MHgwYywweGVmLDB4YjQsMHgwMywweDA5LDB4NzUsMHgwYywweDAwLDB4NzUsMHgwZCwweDAwLDB4NzUsMHgwZSwweDE4LDB4NzUsMHhjYX0gfSwKLXsgIDE2LDB4M2Q0NiwwLHsweDZmLDB4NzUsMHhjYiwweGZlLDB4ZDIsMHhjYSwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGYwfSB9LAoteyAgMTYsMHgzZDU2LDAsezB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDB9IH0sCi17ICAxNiwweDNkNjYsMCx7MHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMH0gfSwKLXsgICAzLDB4M2Q3NiwwLHsweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4M2Q3OSwwLHsweDc1LDB4MzMsMHgyNSwweDc1LDB4MzQsMHgyNCwweDkwLDB4NzksMHg1YywweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwfSB9LAoteyAgMTYsMHgzZDg5LDAsezB4YTMsMHg3NCwweGIyLDB4ZjAsMHgyMCwweDJmLDB4MDIsMHhjMSwweDE3LDB4ZTQsMHhmNSwweDM1LDB4NzUsMHgyMiwweDAxLDB4OTB9IH0sCi17ICAxNiwweDNkOTksMCx7MHg3OSwweDVjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MGMsMHg1ZH0gfSwKLXsgIDE2LDB4M2RhOSwwLHsweGY1LDB4MzYsMHg3NSwweDM1LDB4MDYsMHg3NCwweDQyLDB4MjUsMHgzNSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzfSB9LAoteyAgMTYsMHgzZGI5LDAsezB4ZTUsMHgzNiwweGYwLDB4MDUsMHgzNSwweGU1LDB4MzUsMHhiNCwweDBjLDB4ZWIsMHhlNSwweDM1LDB4YzMsMHg5NCwweDBkLDB4NDB9IH0sCi17ICAxNiwweDNkYzksMCx7MHgwMiwweGMxLDB4OTgsMHhlNSwweDIyLDB4NjQsMHgwMSwweDYwLDB4MDIsMHhjMSwweDk4LDB4OTAsMHg3ZiwweGE1LDB4ZTAsMHg0NH0gfSwKLXsgIDE2LDB4M2RkOSwwLHsweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDMzLDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDRmLDB4MjUsMHgzNSwweGY1fSB9LAoteyAgMTYsMHgzZGU5LDAsezB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0LDB4NDJ9IH0sCi17ICAxNiwweDNkZjksMCx7MHgyNSwweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTIsMHg0Nn0gfSwKLXsgIDE2LDB4M2UwOSwwLHsweGMwLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkLDB4MDUsMHgzNSwweDgwLDB4YWMsMHhlNCwweGY1fSB9LAoteyAgMTYsMHgzZTE5LDAsezB4MzUsMHg3NSwweDIyLDB4MDEsMHg5MCwweDc5LDB4NWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDNlMjksMCx7MHgwMCwweDA0LDB4MTIsMHgwYywweDVkLDB4ZjUsMHgzNiwweDc1LDB4MzUsMHgwNiwweDc0LDB4MzUsMHgyNSwweDM1LDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4M2UzOSwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlNSwweDM2LDB4ZjAsMHgwNSwweDM1LDB4ZTUsMHgzNSwweGI0LDB4MGMsMHhlYiwweGU1fSB9LAoteyAgMTYsMHgzZTQ5LDAsezB4MzUsMHhjMywweDk0LDB4MGQsMHg1MCwweDQ5LDB4ZTUsMHgyMiwweDY0LDB4MDEsMHg3MCwweDQzLDB4OTAsMHg3ZiwweGE1LDB4ZTB9IH0sCi17ICAxNiwweDNlNTksMCx7MHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4YTYsMHhlNSwweDMzLDB4ZjAsMHgxMiwweDQ2LDB4YzAsMHg3NCwweDRmLDB4MjUsMHgzNX0gfSwKLXsgIDE2LDB4M2U2OSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzksMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4YTYsMHhmMCwweDEyLDB4NDYsMHhjMCwweDc0fSB9LAoteyAgMTYsMHgzZTc5LDAsezB4MzUsMHgyNSwweDM1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHhhNiwweGYwLDB4MTJ9IH0sCi17ICAxNSwweDNlODksMCx7MHg0NiwweGMwLDB4OTAsMHg3ZiwweGE1LDB4NzQsMHg0MCwweGYwLDB4MTIsMHgwYSwweGNkLDB4MDUsMHgzNSwweDgwLDB4YjB9IH0sCi17ICAgMSwweDNlOTgsMCx7MHgyMn0gfSwKLXsgIDE2LDB4M2U5OSwwLHsweDkwLDB4NzgsMHgwOSwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweGIyLDB4ZjAsMHhlNCwweGZmfSB9LAoteyAgMTYsMHgzZWE5LDAsezB4ZmUsMHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZWYsMHgxMiwweDBjLDB4OGF9IH0sCi17ICAxNiwweDNlYjksMCx7MHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4ZTQsMHgxMn0gfSwKLXsgIDE2LDB4M2VjOSwwLHsweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDE1LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDAzLDB4ZTQsMHgxMiwweDBjfSB9LAoteyAgMTYsMHgzZWQ5LDAsezB4OWMsMHg5MCwweDAwLDB4MDQsMHg3NCwweGZmLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA1LDB4ZTQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAxNiwweDNlZTksMCx7MHg5MCwweDAwLDB4MDYsMHg3NCwweGMzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA3LDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MH0gfSwKLXsgIDE2LDB4M2VmOSwwLHsweDAwLDB4MDgsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwOSwweGU0LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDBhfSB9LAoteyAgMTYsMHgzZjA5LDAsezB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwYSwweGU0LDB4NzUsMHhmMCwweDBiLDB4MTIsMHgwYywweGY0LDB4MGZ9IH0sCi17ICAxNiwweDNmMTksMCx7MHgwZSwweGJlLDB4MDcsMHg4ZCwweDkwLDB4NzgsMHgwOSwweDc0LDB4MDEsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NH0gfSwKLXsgIDE2LDB4M2YyOSwwLHsweGZmLDB4ZjAsMHhlNCwweGZmLDB4ZmUsMHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5fSB9LAoteyAgMTYsMHgzZjM5LDAsezB4ZWYsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTB9IH0sCi17ICAxNiwweDNmNDksMCx7MHgwMCwweDAxLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDIsMHg3NCwweDE1LDB4MTIsMHgwYywweDljLDB4OTAsMHgwMH0gfSwKLXsgIDE2LDB4M2Y1OSwwLHsweDAzLDB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDQsMHg3NCwweDgwLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA1fSB9LAoteyAgMTYsMHgzZjY5LDAsezB4ZTQsMHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDYsMHg3NCwweGMzLDB4MTIsMHgwYywweDljLDB4OTAsMHgwMCwweDA3LDB4ZTR9IH0sCi17ICAxNiwweDNmNzksMCx7MHgxMiwweDBjLDB4OWMsMHg5MCwweDAwLDB4MDgsMHhlNCwweDEyLDB4MGMsMHg5YywweDkwLDB4MDAsMHgwOSwweGU0LDB4MTIsMHgwY30gfSwKLXsgIDE2LDB4M2Y4OSwwLHsweDljLDB4OTAsMHgwMCwweDBhLDB4NzQsMHgwMSwweDEyLDB4MGMsMHg5YywweDkwLDB4NzgsMHgwYSwweGU0LDB4NzUsMHhmMCwweDBifSB9LAoteyAgIDgsMHgzZjk5LDAsezB4MTIsMHgwYywweGY0LDB4MGYsMHgwZSwweGJlLDB4MDMsMHg4ZH0gfSwKLXsgICAxLDB4M2ZhMSwwLHsweDIyfSB9LAoteyAgMTYsMHgzZmEyLDAsezB4ZTQsMHhmZSwweDc1LDB4M2QsMHhmZiwweDc1LDB4M2UsMHgwNSwweDc1LDB4M2YsMHgxMiwweGFiLDB4M2QsMHhhYSwweDNlLDB4YTl9IH0sCi17ICAxNiwweDNmYjIsMCx7MHgzZiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweDY0LDB4MDIsMHg3MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHhlZH0gfSwKLXsgIDE2LDB4M2ZjMiwwLHsweDZmLDB4NzAsMHgwMSwweDIyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwZCwweDBhLDB4ODUsMHhmMCwweDNiLDB4ZjUsMHgzYywweDYyfSB9LAoteyAgMTYsMHgzZmQyLDAsezB4M2IsMHhlNSwweDNiLDB4NjIsMHgzYywweGU1LDB4M2MsMHg2MiwweDNiLDB4MjksMHhmZCwweGU1LDB4M2IsMHgzYSwweGM5LDB4ZWR9IH0sCi17ICAxNiwweDNmZTIsMCx7MHhjOSwweDc1LDB4M2QsMHhmZiwweGY1LDB4M2UsMHg4OSwweDNmLDB4ODAsMHhjMSwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH0gfSwKLXsgICAxLDB4M2ZmMiwwLHsweDIyfSB9LAoteyAgIDksMHgzZmYzLDAsezB4NTMsMHhkOCwweGVmLDB4NDMsMHhkOCwweDIwLDB4YzIsMHgyZCwweDMyfSB9LAoteyAgIDQsMHgzZmZjLDAsezB4NTMsMHg5MSwweGRmLDB4MzJ9IH0sCi17ICAxNiwweDQwMDAsMCx7MHg5MCwweDc5LDB4ODcsMHhlMCwweGI0LDB4MDEsMHgxZCwweDkwLDB4NzksMHg4NSwweGUwLDB4YjQsMHgwMSwweDAzLDB4MTIsMHg0Mn0gfSwKLXsgIDE2LDB4NDAxMCwwLHsweGFhLDB4OTAsMHg3OSwweDg2LDB4ZTAsMHhiNCwweDAxLDB4MDMsMHgxMiwweDE4LDB4MDAsMHhlNCwweDkwLDB4NzksMHg4NSwweGYwfSB9LAoteyAgMTYsMHg0MDIwLDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHgxMiwweDJlLDB4OTQsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1LDB4MGEsMHg1NCwweDAyLDB4ZjV9IH0sCi17ICAxNiwweDQwMzAsMCx7MHgwYSwweDcwLDB4MDQsMHg5MCwweDc5LDB4N2YsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjUsMHgwYSwweDU0LDB4MDIsMHhmZn0gfSwKLXsgIDE2LDB4NDA0MCwwLHsweGY1LDB4MGEsMHhiZiwweDAyLDB4MDYsMHg5MCwweDc5LDB4N2YsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweGY1fSB9LAoteyAgMTYsMHg0MDUwLDAsezB4MGEsMHg1NCwweDIwLDB4ZjUsMHgwYSwweDcwLDB4MDQsMHg5MCwweDc5LDB4N2UsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZjV9IH0sCi17ICAxNiwweDQwNjAsMCx7MHgwYSwweDU0LDB4MjAsMHhmZiwweGY1LDB4MGEsMHhiZiwweDIwLDB4MDYsMHg5MCwweDc5LDB4N2UsMHg3NCwweDAxLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4NDA3MCwwLHsweDc5LDB4N2YsMHhlMCwweGZmLDB4OTAsMHg3OSwweDgxLDB4ZTAsMHg2ZiwweDYwLDB4MzgsMHg5MCwweDc5LDB4NzgsMHg3NCwweDAyfSB9LAoteyAgMTYsMHg0MDgwLDAsezB4ZjAsMHg5MCwweDc5LDB4ODQsMHhlMCwweDkwLDB4NzksMHg3OSwweGYwLDB4ZWYsMHhiNCwweDAxLDB4MDYsMHhlMCwweDU0LDB4ZmV9IH0sCi17ICAxNiwweDQwOTAsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDc5LDB4NzksMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg3OSwweGUwLDB4OTAsMHg3OX0gfSwKLXsgIDE2LDB4NDBhMCwwLHsweDg0LDB4ZjAsMHhhMiwweGFmLDB4ZTQsMHgzMywweGY1LDB4MTIsMHhjMiwweGFmLDB4MTIsMHgwYiwweGEyLDB4ZTUsMHgxMiwweDYwfSB9LAoteyAgMTYsMHg0MGIwLDAsezB4MDIsMHhkMiwweGFmLDB4OTAsMHg3OSwweDdlLDB4ZTAsMHhmZiwweDkwLDB4NzksMHg4MCwweGUwLDB4NmYsMHg2MCwweDM4LDB4OTB9IH0sCi17ICAxNiwweDQwYzAsMCx7MHg3OSwweDc4LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDdjLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGVmLDB4YjQsMHgwMX0gfSwKLXsgIDE2LDB4NDBkMCwwLHsweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3OSwweDc5LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc5fSB9LAoteyAgMTYsMHg0MGUwLDAsezB4NzksMHhlMCwweDkwLDB4NzksMHg3YywweGYwLDB4YTIsMHhhZiwweGU0LDB4MzMsMHhmNSwweDEyLDB4YzIsMHhhZiwweDEyLDB4MGJ9IH0sCi17ICAxNiwweDQwZjAsMCx7MHhhMiwweGU1LDB4MTIsMHg2MCwweDAyLDB4ZDIsMHhhZiwweDkwLDB4NzksMHg3ZiwweGUwLDB4OTAsMHg3OSwweDgxLDB4ZjAsMHg5MH0gfSwKLXsgICA4LDB4NDEwMCwwLHsweDc5LDB4N2UsMHhlMCwweDkwLDB4NzksMHg4MCwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQxMDgsMCx7MHg5MCwweDc5LDB4MmQsMHhlMCwweDY0LDB4MDEsMHg3MCwweDM1LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGQzLDB4OTQsMHgyZH0gfSwKLXsgIDE2LDB4NDExOCwwLHsweDQwLDB4MmIsMHg5MCwweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzfSB9LAoteyAgMTYsMHg0MTI4LDAsezB4OTQsMHgwZiwweDQwLDB4MTksMHhlNCwweGYwLDB4ZWYsMHhkMywweDk0LDB4MzEsMHg0MCwweDA4LDB4OTAsMHg3OSwweDJkLDB4NzR9IH0sCi17ICAxNiwweDQxMzgsMCx7MHgwMywweGYwLDB4ODAsMHgwNiwweDkwLDB4NzksMHgyZCwweDc0LDB4MDIsMHhmMCwweDEyLDB4MTAsMHgwMCwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4NDE0OCwwLHsweGUwLDB4YjQsMHgwMiwweDJjLDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MjIsMHhlZiwweGQzfSB9LAoteyAgMTYsMHg0MTU4LDAsezB4OTQsMHgyYSwweDQwLDB4MWMsMHg5MCwweDc5LDB4NjksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc5LDB4NjgsMHhlMCwweDA0LDB4ZjB9IH0sCi17ICAxNiwweDQxNjgsMCx7MHhlMCwweGQzLDB4OTQsMHgwZiwweDQwLDB4MGEsMHhlNCwweGYwLDB4OTAsMHg3OSwweDJkLDB4MDQsMHhmMCwweDEyLDB4MTAsMHgwMH0gfSwKLXsgIDE2LDB4NDE3OCwwLHsweDkwLDB4NzksMHgyZCwweGUwLDB4YjQsMHgwMiwweDI2LDB4OTAsMHg3OSwweDcwLDB4ZTAsMHhkMywweDk0LDB4MzEsMHg0MCwweDFkfSB9LAoteyAgMTYsMHg0MTg4LDAsezB4OTAsMHg3OSwweDY5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3OSwweDY4LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGZ9IH0sCi17ICAxNiwweDQxOTgsMCx7MHg0MCwweDBiLDB4ZTQsMHhmMCwweDkwLDB4NzksMHgyZCwweDc0LDB4MDMsMHhmMCwweDEyLDB4MTAsMHgwMCwweDkwLDB4NzksMHgyZH0gfSwKLXsgIDE2LDB4NDFhOCwwLHsweGUwLDB4NjQsMHgwMywweDcwLDB4M2YsMHg5MCwweDc5LDB4NzAsMHhlMCwweGZmLDB4YzMsMHg5NCwweDVmLDB4NTAsMHgzNSwweDkwfSB9LAoteyAgMTYsMHg0MWI4LDAsezB4NzksMHg2OSwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzksMHg2OCwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDB9IH0sCi17ICAxNiwweDQxYzgsMCx7MHgyMywweGU0LDB4ZjAsMHhlZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MGMsMHhlZiwweGQzLDB4OTQsMHgyYSwweDQwLDB4MDYsMHg5MH0gfSwKLXsgIDE2LDB4NDFkOCwwLHsweDc5LDB4MmQsMHg3NCwweDAxLDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgyZiwweDQwLDB4MDYsMHg5MCwweDc5LDB4MmQsMHg3NCwweDAyfSB9LAoteyAgMTYsMHg0MWU4LDAsezB4ZjAsMHgxMiwweDEwLDB4MDAsMHg5MCwweDc5LDB4NjksMHhlMCwweDcwLDB4MDUsMHg5MCwweDc5LDB4NjgsMHhmMCwweDIyLDB4ZTR9IH0sCi17ICAgNSwweDQxZjgsMCx7MHg5MCwweDc5LDB4NjksMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0MWZkLDAsezB4N2IsMHgwMSwweDdhLDB4NzgsMHg3OSwweDRjLDB4OTAsMHg3OCwweDA2LDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTl9IH0sCi17ICAxNiwweDQyMGQsMCx7MHhmMCwweGU0LDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOX0gfSwKLXsgIDE2LDB4NDIxZCwwLHsweDkwLDB4MDAsMHgwMSwweDc0LDB4MDEsMHgxMiwweDBjLDB4OWMsMHg5MCwweDc4LDB4MDcsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyfSB9LAoteyAgMTYsMHg0MjJkLDAsezB4MGMsMHhmNCwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlNCwweDEyLDB4MGN9IH0sCi17ICAxNiwweDQyM2QsMCx7MHg4YSwweDkwLDB4NzgsMHgwNiwweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDEsMHg3NH0gfSwKLXsgIDE2LDB4NDI0ZCwwLHsweDAyLDB4MTIsMHgwYywweDljLDB4OTAsMHg3OCwweDA3LDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg5MCwweDc4fSB9LAoteyAgMTYsMHg0MjVkLDAsezB4MDYsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4ZTQsMHgxMiwweDBjLDB4OGEsMHg5MCwweDc4LDB4MDZ9IH0sCi17ICAxNiwweDQyNmQsMCx7MHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAxLDB4NzQsMHgwMywweDEyLDB4MGMsMHg5Y30gfSwKLXsgIDE2LDB4NDI3ZCwwLHsweDkwLDB4NzgsMHgwNywweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzfSB9LAoteyAgMTYsMHg0MjhkLDAsezB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweGU0LDB4MTIsMHgwYywweDhhLDB4OTAsMHg3OCwweDA2LDB4ZTAsMHhmYiwweGEzLDB4ZTB9IH0sCi17ICAxMiwweDQyOWQsMCx7MHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDc0LDB4MDQsMHgxMiwweDBjLDB4OWN9IH0sCi17ICAgMSwweDQyYTksMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDJhYSwwLHsweGU0LDB4ZmYsMHhmZSwweDdiLDB4MDEsMHg5MCwweDc4LDB4MGMsMHgwNCwweGYwLDB4YTMsMHg3NCwweDc4LDB4ZjAsMHhhMywweDc0fSB9LAoteyAgMTYsMHg0MmJhLDAsezB4MmIsMHhmMCwweDkwLDB4NzgsMHgwYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHg5MCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDQyY2EsMCx7MHgxMiwweDBjLDB4NWQsMHhmZCwweDkwLDB4NzksMHg5YSwweGUwLDB4NmQsMHg2MCwweDEzLDB4ZWYsMHhjMywweDk0LDB4MDUsMHg1MH0gfSwKLXsgIDE2LDB4NDJkYSwwLHsweDBkLDB4MGYsMHg5MCwweDc4LDB4MGQsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDgwLDB4ZDQsMHg4ZCwweDMzfSB9LAoteyAgMTYsMHg0MmVhLDAsezB4OTAsMHg3OCwweDBjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGN9IH0sCi17ICAxNiwweDQyZmEsMCx7MHg1ZCwweGZkLDB4OTAsMHg3OSwweDliLDB4ZTAsMHhmYywweDZkLDB4NjAsMHgxMywweGVlLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4NDMwYSwwLHsweDBlLDB4OTAsMHg3OCwweDBkLDB4ZTQsMHg3NSwweGYwLDB4MDMsMHgxMiwweDBjLDB4ZjQsMHg4MCwweGQzLDB4OGMsMHgzNCwweGVmfSB9LAoteyAgMTYsMHg0MzFhLDAsezB4NjQsMHgwNSwweDYwLDB4MDMsMHhiZSwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9IH0sCi17ICAxNiwweDQzMmEsMCx7MHg3OCwweDBjLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDEyLDB4MGMsMHg0NCwweGZmLDB4MjQsMHhmMH0gfSwKLXsgIDE2LDB4NDMzYSwwLHsweDYwLDB4MDgsMHgyNCwweDBlLDB4NzAsMHgwZSwweDEyLDB4NDksMHg0ZCwweDIyLDB4OTAsMHg3OSwweDIwLDB4ZTUsMHgzNCwweGYwfSB9LAoteyAgMTEsMHg0MzRhLDAsezB4MTIsMHgxYiwweDJhLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4NDM1NSwwLHsweDIyfSB9LAoteyAgMTIsMHg0MzU2LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDNmLDB4MDIsMHg0MywweDlkfSB9LAoteyAgMTYsMHg0MzYyLDAsezB4MDIsMHg0OCwweGE5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9IH0sCi17ICAxNiwweDQzNzIsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM30gfSwKLXsgIDE2LDB4NDM4MiwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfSB9LAoteyAgMTYsMHg0MzkyLDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4NDYsMHg2MSwweGU0LDB4N2V9IH0sCi17ICAxNiwweDQzYTIsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M30gfSwKLXsgIDE2LDB4NDNiMiwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfSB9LAoteyAgMTYsMHg0M2MyLDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9IH0sCi17ICAxNiwweDQzZDIsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX0gfSwKLXsgIDE2LDB4NDNlMiwwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfSB9LAoteyAgMTYsMHg0M2YyLDAsezB4ZWEsMHhjMCwweGUwLDB4ZWIsMHhjMCwweGUwLDB4ZWMsMHhjMCwweGUwLDB4ZWQsMHhjMCwweGUwLDB4ZWUsMHhjMCwweGUwLDB4ZWZ9IH0sCi17ICAxNiwweDQ0MDIsMCx7MHhjMCwweGUwLDB4YzIsMHhjYSwweGMyLDB4Y2YsMHg5MCwweDc5LDB4N2EsMHhlMCwweGI0LDB4MDEsMHgxZiwweDEyLDB4NGIsMHhhZX0gfSwKLXsgIDE2LDB4NDQxMiwwLHsweDEyLDB4NDcsMHg1OCwweDUzLDB4YTgsMHhhMCwweDkwLDB4N2YsMHhhZSwweGU0LDB4ZjAsMHgxMiwweDA3LDB4YWEsMHgxMiwweDRifSB9LAoteyAgMTYsMHg0NDIyLDAsezB4YjcsMHg5MCwweDdmLDB4YWUsMHg3NCwweDFmLDB4ZjAsMHg0MywweGE4LDB4MDUsMHg4MCwweDAzLDB4NTMsMHhhOCwweGEwLDB4NTN9IH0sCi17ICAxNiwweDQ0MzIsMCx7MHhhOCwweGZhLDB4NzUsMHhlOCwweDAxLDB4MTIsMHgwOSwweDE1LDB4NzUsMHhlOCwweDBkLDB4NDMsMHhhOCwweDA1LDB4ZDAsMHhlMH0gfSwKLXsgIDE2LDB4NDQ0MiwwLHsweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhfSB9LAoteyAgMTYsMHg0NDUyLDAsezB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTB9IH0sCi17ICAgMSwweDQ0NjIsMCx7MHgzMn0gfSwKLXsgIDE2LDB4NDQ2MywwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4ZjUsMHgwOSwweDE0LDB4NjAsMHgxZCwweDE0LDB4NjAsMHgyYSwweDE0LDB4NjAsMHgzNywweDE0fSB9LAoteyAgMTYsMHg0NDczLDAsezB4NjAsMHg0NCwweDI0LDB4MDQsMHg3MCwweDUwLDB4OTAsMHg3OSwweDYyLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0ODMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4NDcsMHg5MCwweDc5LDB4NjMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE2LDB4NDQ5MywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgzNywweDkwLDB4NzksMHg2NCwweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmfSB9LAoteyAgMTYsMHg0NGEzLDAsezB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDI3LDB4OTAsMHg3OSwweDY2LDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDQ0YjMsMCx7MHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MTcsMHg5MCwweDc5LDB4NjcsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3Zn0gfSwKLXsgIDE1LDB4NDRjMywwLHsweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZDMsMHgyMn0gfSwKLXsgICA0LDB4NDRkMiwwLHsweDhkLDB4MzYsMHg4YiwweDM3fSB9LAoteyAgMTYsMHg0NGQ2LDAsezB4MTIsMHgzZiwweGEyLDB4ZWEsMHg0OSwweDYwLDB4NTcsMHgxMiwweDBjLDB4NDQsMHg3ZSwweDAwLDB4MjksMHhmZiwweGVlLDB4M2F9IH0sCi17ICAxNiwweDQ0ZTYsMCx7MHhjOSwweGVmLDB4YzksMHg3NSwweDM4LDB4ZmYsMHhmNSwweDM5LDB4ODksMHgzYSwweGFiLDB4MzgsMHhhYSwweDM5LDB4YTksMHgzYX0gfSwKLXsgIDE2LDB4NDRmNiwwLHsweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGZmLDB4NjQsMHgwNCwweDYwLDB4MDUsMHhlZiwweDY0LDB4MDUsMHg3MCwweDJlfSB9LAoteyAgMTYsMHg0NTA2LDAsezB4ZWYsMHhiNCwweDA0LDB4MTUsMHg5MCwweDAwLDB4MDIsMHgxMiwweDBjLDB4NWQsMHg2NSwweDM2LDB4NzAsMHgwYiwweDkwLDB4MDB9IH0sCi17ICAxNiwweDQ1MTYsMCx7MHgwMywweDEyLDB4MGMsMHg1ZCwweDY1LDB4MzcsMHg3MCwweDAxLDB4MjIsMHgxMiwweDBjLDB4NDQsMHg3ZSwweDAwLDB4MjksMHhmZn0gfSwKLXsgIDE2LDB4NDUyNiwwLHsweGVlLDB4M2EsMHhjOSwweGVmLDB4YzksMHg3NSwweDM4LDB4ZmYsMHhmNSwweDM5LDB4ODksMHgzYSwweDgwLDB4YmMsMHg3YiwweDAwfSB9LAoteyAgIDQsMHg0NTM2LDAsezB4N2EsMHgwMCwweDc5LDB4MDB9IH0sCi17ICAgMSwweDQ1M2EsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDUzYiwwLHsweGU0LDB4ZmYsMHg3YiwweDAxLDB4OTAsMHg3OCwweDFjLDB4MDQsMHhmMCwweGEzLDB4NzQsMHg3OCwweGYwLDB4YTMsMHg3NCwweDRjfSB9LAoteyAgMTYsMHg0NTRiLDAsezB4ZjAsMHg5MCwweDc4LDB4MWMsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwweGY5LDB4OTAsMHgwMCwweDAyLDB4MTJ9IH0sCi17ICAxNiwweDQ1NWIsMCx7MHgwYywweDVkLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweDZlLDB4NjAsMHgxMywweGVmLDB4YzMsMHg5NCwweDA0LDB4NTAsMHgwZH0gfSwKLXsgIDE2LDB4NDU2YiwwLHsweDkwLDB4NzgsMHgxZCwweGU0LDB4NzUsMHhmMCwweDAzLDB4MTIsMHgwYywweGY0LDB4MGYsMHg4MCwweGQ0LDB4YmYsMHgwNCwweDA5fSB9LAoteyAgMTYsMHg0NTdiLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDE0LDB4OTAsMHg3OSwweDIxLDB4ZTAsMHhmZiwweDkwLDB4Nzh9IH0sCi17ICAxNiwweDQ1OGIsMCx7MHgxYywweGUwLDB4ZmIsMHhhMywweGUwLDB4ZmEsMHhhMywweGUwLDB4ZjksMHhlZiwweDEyLDB4MGMsMHg4YSwweDkwLDB4N2YsMHhjNX0gfSwKLXsgICAzLDB4NDU5YiwwLHsweDc0LDB4MDEsMHhmMH0gfSwKLXsgICAxLDB4NDU5ZSwwLHsweDIyfSB9LAoteyAgMTQsMHg0NTlmLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGVlLDB4YzAsMHhlMCwweGVmLDB4YzAsMHhlMH0gfSwKLXsgIDE2LDB4NDVhZCwwLHsweDkwLDB4NzksMHg4NSwweGUwLDB4NjQsMHgwMSwweDYwLDB4MDUsMHhhMywweGUwLDB4YjQsMHgwMSwweDJkLDB4OTAsMHg3OSwweDg3fSB9LAoteyAgMTYsMHg0NWJkLDAsezB4NzQsMHgwMSwweGYwLDB4ZTQsMHhmZiwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDFiLDB4NzR9IH0sCi17ICAxNiwweDQ1Y2QsMCx7MHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgyMSwweDJmLDB4ZjUsMHg4Mn0gfSwKLXsgIDE2LDB4NDVkZCwwLHsweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlZSwweGYwLDB4MGYsMHg4MCwweGRiLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhfSB9LAoteyAgIDQsMHg0NWVkLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjB9IH0sCi17ICAxNSwweDQ1ZjEsMCx7MHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDQ2MDAsMCx7MHhlNCwweGZmLDB4N2IsMHgwMSwweDkwLDB4NzgsMHgxOSwweDA0LDB4ZjAsMHhhMywweDc0LDB4NzgsMHhmMCwweGEzLDB4NzQsMHg0Y30gfSwKLXsgIDE2LDB4NDYxMCwwLHsweGYwLDB4OTAsMHg3OCwweDE5LDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsMHhmOSwweDkwLDB4MDAsMHgwMiwweDEyfSB9LAoteyAgMTYsMHg0NjIwLDAsezB4MGMsMHg1ZCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg2ZSwweDYwLDB4MTMsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MGR9IH0sCi17ICAxNiwweDQ2MzAsMCx7MHg5MCwweDc4LDB4MWEsMHhlNCwweDc1LDB4ZjAsMHgwMywweDEyLDB4MGMsMHhmNCwweDBmLDB4ODAsMHhkNCwweGJmLDB4MDQsMHgwOH0gfSwKLXsgIDE2LDB4NDY0MCwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDc4LDB4MTksMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhfSB9LAoteyAgMTYsMHg0NjUwLDAsezB4YTMsMHhlMCwweGY5LDB4MTIsMHgwYywweDQ0LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjB9IH0sCi17ICAgMSwweDQ2NjAsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDY2MSwwLHsweDAxLDB4MTgsMHgwMiwweDAxLDB4MTksMHgwYSwweDAxLDB4MWMsMHgwMCwweGMxLDB4MjgsMHhjMSwweDI5LDB4MDEsMHgxZiwweDAxfSB9LAoteyAgMTUsMHg0NjcxLDAsezB4NDQsMHg3OSwweDlmLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDc5LDB4YTMsMHgwMCwweDQxLDB4NzksMHhhNCwweDAwfSB9LAoteyAgIDQsMHg0NjgwLDAsezB4NDEsMHg3OSwweDg5LDB4MDB9IH0sCi17ICAxNiwweDQ2ODQsMCx7MHgwMSwweDIyLDB4MDEsMHg0MSwweDc5LDB4MzEsMHhmZiwweDQxLDB4NzksMHgzNCwweDAwLDB4NGQsMHg3OSwweDM1LDB4M2YsMHgzZn0gfSwKLXsgIDE2LDB4NDY5NCwwLHsweDAwLDB4MDgsMHgwMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHg0ZCwweDc5LDB4NDIsMHgzZiwweDNmfSB9LAoteyAgMTYsMHg0NmE0LDAsezB4MDYsMHgwOCwweDA0LDB4MDcsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDRkLDB4NzksMHg0ZiwweDBhLDB4MGF9IH0sCi17ICAxMSwweDQ2YjQsMCx7MHgwOSwweDAwLDB4MDEsMHgwOSwweDAyLDB4MDMsMHgwNCwweDA1LDB4MDYsMHgwNywweDA4fSB9LAoteyAgIDEsMHg0NmJmLDAsezB4MDB9IH0sCi17ICAxNiwweDQ2YzAsMCx7MHgxMiwweDBhLDB4Y2QsMHg5MCwweDdmLDB4YTUsMHhlMCwweGY1LDB4MjEsMHhlNSwweDIxLDB4NTQsMHgwMSwweGY1LDB4MjEsMHg2NH0gfSwKLXsgIDE2LDB4NDZkMCwwLHsweDAxLDB4NjAsMHgyOCwweGU1LDB4MjIsMHg2NCwweDAxLDB4NzAsMHgyMiwweDkwLDB4N2YsMHhhNSwweGUwLDB4ZjUsMHgyMSwweDU0fSB9LAoteyAgMTYsMHg0NmUwLDAsezB4MDIsMHhmNSwweDIxLDB4NzAsMHgwMywweDc1LDB4MjIsMHgwMSwweDkwLDB4N2YsMHhhNSwweGUwLDB4ZjUsMHgyMSwweDU0LDB4MDR9IH0sCi17ICAxMiwweDQ2ZjAsMCx7MHhmZiwweGY1LDB4MjEsMHhiZiwweDA0LDB4ZDMsMHg3NSwweDIyLDB4MDEsMHg4MCwweGNlLDB4MjJ9IH0sCi17ICAgNCwweDQ2ZmMsMCx7MHg1MywweGQ4LDB4ZjcsMHgzMn0gfSwKLXsgIDE2LDB4NDcwMCwwLHsweDAyLDB4NDksMHhmYSwweDAwLDB4MDIsMHgzYywweDU0LDB4MDAsMHgwMiwweDE3LDB4ZTQsMHgwMCwweDAyLDB4NGEsMHgxMiwweDAwfSB9LAoteyAgMTYsMHg0NzEwLDAsezB4MDIsMHgzNywweGEyLDB4MDAsMHgwMiwweDQ3LDB4ZmYsMHgwMCwweDAyLDB4NGEsMHg0MSwweDAwLDB4MDIsMHg0NSwweDlmLDB4MDB9IH0sCi17ICAxNiwweDQ3MjAsMCx7MHgwMiwweDQ5LDB4OGUsMHgwMCwweDAyLDB4NDksMHhhYiwweDAwLDB4MDIsMHg0YSwweDU4LDB4MDAsMHgwMiwweDRhLDB4NmYsMHgwMH0gfSwKLXsgIDE2LDB4NDczMCwwLHsweDAyLDB4NGEsMHg4NiwweDAwLDB4MDIsMHg0YSwweDlkLDB4MDAsMHgwMiwweDRhLDB4YjQsMHgwMCwweDAyLDB4NGEsMHhjYiwweDAwfSB9LAoteyAgMTYsMHg0NzQwLDAsezB4MDIsMHg0YSwweGUyLDB4MDAsMHgwMiwweDRhLDB4ZjksMHgwMCwweDAyLDB4NGIsMHgxMCwweDAwLDB4MDIsMHg0YiwweDI3LDB4MDB9IH0sCi17ICAgOCwweDQ3NTAsMCx7MHgwMiwweDRiLDB4M2UsMHgwMCwweDAyLDB4NGIsMHg1NSwweDAwfSB9LAoteyAgMTYsMHg0NzU4LDAsezB4ZTUsMHgxOCwweDcwLDB4MTQsMHg5MCwweDc5LDB4OGMsMHhlMCwweDA0LDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhlMCwweGMzLDB4OTR9IH0sCi17ICAxNiwweDQ3NjgsMCx7MHgwMCwweDQwLDB4MTUsMHhlMCwweDE0LDB4ZjAsMHg4MCwweDEwLDB4OTAsMHg3OSwweDhiLDB4ZTAsMHgwNCwweGYwLDB4YTMsMHhlMH0gfSwKLXsgIDE2LDB4NDc3OCwwLHsweGMzLDB4OTQsMHgwMCwweDQwLDB4MDMsMHhlMCwweDE0LDB4ZjAsMHg5MCwweDc5LDB4OGIsMHhlMCwweGQzLDB4OTQsMHgxNCwweDQwfSB9LAoteyAgMTYsMHg0Nzg4LDAsezB4MDQsMHhlNCwweGY1LDB4MTgsMHhmMCwweDkwLDB4NzksMHg4YywweGUwLDB4ZDMsMHg5NCwweDE0LDB4NDAsMHgwNSwweDc1LDB4MTh9IH0sCi17ICAgNCwweDQ3OTgsMCx7MHgwMSwweGU0LDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDc5YywwLHsweDkwLDB4N2YsMHhkNywweGUwLDB4ZjUsMHgzMywweDkwLDB4N2YsMHhlYywweGUwLDB4ZjUsMHgwOSwweDE0LDB4NjAsMHgxMSwweDE0fSB9LAoteyAgMTYsMHg0N2FjLDAsezB4NjAsMHgxYiwweDI0LDB4MDIsMHg3MCwweDI0LDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc5LDB4NjIsMHhmMCwweDgwLDB4MjF9IH0sCi17ICAxNiwweDQ3YmMsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzksMHg2MywweGYwLDB4MTIsMHgxMCwweDAwLDB4ODAsMHgxNCwweDkwLDB4N2YsMHhlYX0gfSwKLXsgIDE2LDB4NDdjYywwLHsweGUwLDB4OTAsMHg3OSwweDY0LDB4ZjAsMHgxMiwweDI4LDB4MDEsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSB9LAoteyAgIDIsMHg0N2RjLDAsezB4ZjAsMHhkM30gfSwKLXsgICAxLDB4NDdkZSwwLHsweDIyfSB9LAoteyAgMTYsMHg0N2RmLDAsezB4OTAsMHg3OSwweDc4LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3OSwweDMzLDB4ZTAsMHg5MCwweDc5LDB4NzksMHhmMCwweGEyLDB4YWZ9IH0sCi17ICAxNiwweDQ3ZWYsMCx7MHhlNCwweDMzLDB4ZjUsMHgxMiwweGMyLDB4YWYsMHgxMiwweDBiLDB4YTIsMHhlNSwweDEyLDB4NjAsMHgwMiwweGQyLDB4YWYsMHgyMn0gfSwKLXsgICAxLDB4NDdmZiwwLHsweDMyfSB9LAoteyAgIDIsMHg0ODAwLDAsezB4OGYsMHgzNn0gfSwKLXsgIDE2LDB4NDgwMiwwLHsweGU0LDB4ZjUsMHgzNywweDc1LDB4MzgsMHhmZiwweDc1LDB4MzksMHgwNywweDc1LDB4M2EsMHgwMSwweGFiLDB4MzgsMHhhYSwweDM5fSB9LAoteyAgMTYsMHg0ODEyLDAsezB4YTksMHgzYSwweDkwLDB4MDAsMHgwMSwweDEyLDB4MGMsMHg1ZCwweGI0LDB4MDMsMHgxZiwweGFmLDB4MzcsMHgwNSwweDM3LDB4ZWZ9IH0sCi17ICAxNiwweDQ4MjIsMCx7MHg2NSwweDM2LDB4NzAsMHgwMSwweDIyLDB4MTIsMHgwYywweDQ0LDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhLDB4YzksMHhlZn0gfSwKLXsgIDE2LDB4NDgzMiwwLHsweGM5LDB4NzUsMHgzOCwweGZmLDB4ZjUsMHgzOSwweDg5LDB4M2EsMHg4MCwweGQyLDB4N2IsMHgwMCwweDdhLDB4MDAsMHg3OSwweDAwfSB9LAoteyAgIDEsMHg0ODQyLDAsezB4MjJ9IH0sCi17ICAxNiwweDQ4NDMsMCx7MHgzMCwweDI2LDB4MmYsMHhjMiwweDI2LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweGU0LDB4ZjUsMHgwY30gfSwKLXsgIDE2LDB4NDg1MywwLHsweDc1LDB4MGQsMHhmOCwweDc1LDB4MGUsMHgwYSwweGVmLDB4YjQsMHgwMiwweDA5LDB4ZTQsMHhmNSwweDBjLDB4NzUsMHgwZCwweGYwfSB9LAoteyAgMTYsMHg0ODYzLDAsezB4NzUsMHgwZSwweDBiLDB4ZWYsMHhiNCwweDAzLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4ZjgsMHg3NSwweDBlLDB4MTd9IH0sCi17ICAgMywweDQ4NzMsMCx7MHhkMiwweDIyLDB4MjJ9IH0sCi17ICAxNiwweDQ4NzYsMCx7MHgzMCwweDI1LDB4MmYsMHhjMiwweDI1LDB4OTAsMHg3OSwweDJkLDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwOSwweDc1LDB4MGMsMHhjMH0gfSwKLXsgIDE2LDB4NDg4NiwwLHsweDc1LDB4MGQsMHgxNCwweDc1LDB4MGUsMHgwYiwweGVmLDB4YjQsMHgwMiwweDA5LDB4ZTQsMHhmNSwweDBjLDB4NzUsMHgwZCwweDEwfSB9LAoteyAgMTYsMHg0ODk2LDAsezB4NzUsMHgwZSwweDBjLDB4ZWYsMHhiNCwweDAzLDB4MDksMHhlNCwweGY1LDB4MGMsMHg3NSwweDBkLDB4MTgsMHg3NSwweDBlLDB4MTh9IH0sCi17ICAgMywweDQ4YTYsMCx7MHhkMiwweDIyLDB4MjJ9IH0sCi17ICAxNiwweDQ4YTksMCx7MHhlNCwweGY1LDB4MzIsMHgxMiwweDBmLDB4NTAsMHgyMCwweDJlLDB4MTAsMHhlNSwweDMyLDB4YzMsMHg5NCwweDAyLDB4NTAsMHgwOX0gfSwKLXsgIDE2LDB4NDhiOSwwLHsweDA1LDB4MzIsMHhkMiwweDMwLDB4MTIsMHg0OSwweDA1LDB4ODAsMHhlZCwweDMwLDB4MmUsMHgwNSwweDEyLDB4MTQsMHg1NywweGMyfSB9LAoteyAgMTUsMHg0OGM5LDAsezB4MmUsMHgzMCwweDJkLDB4MDYsMHgxMiwweDA3LDB4OWEsMHgxMiwweDQ4LDB4ZDksMHgxMiwweDQwLDB4MDAsMHg4MCwweGVhfSB9LAoteyAgIDEsMHg0OGQ4LDAsezB4MjJ9IH0sCi17ICAxNiwweDQ4ZDksMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweGY1LDB4MWQsMHg1NCwweDgwLDB4ZjUsMHgxZCwweDY0LDB4ODAsMHg3MCwweDFkLDB4YzIsMHhhZn0gfSwKLXsgIDE2LDB4NDhlOSwwLHsweGUwLDB4NDQsMHg4MCwweGYwLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3ZiwweDBjLDB4N2UsMHgwMCwweDEyLDB4NGIsMHg2YywweDkwfSB9LAoteyAgMTIsMHg0OGY5LDAsezB4N2YsMHhkNiwweGUwLDB4NTQsMHhmZSwweGYwLDB4NTMsMHg4NywweGZlLDB4ZDIsMHhhZiwweDIyfSB9LAoteyAgMTYsMHg0OTA1LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4MzAsMHgwNCwweGUwLDB4NDR9IH0sCi17ICAxNiwweDQ5MTUsMCx7MHgwMiwweGYwLDB4N2YsMHhkYywweDdlLDB4MDUsMHgxMiwweDRiLDB4NmMsMHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZjcsMHhmMH0gfSwKLXsgICA1LDB4NDkyNSwwLHsweGUwLDB4NDQsMHgwNCwweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5MmEsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxNCwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MDQsMHgxMn0gfSwKLXsgIDE2LDB4NDkzYSwwLHsweDQ2LDB4MDAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSB9LAoteyAgIDMsMHg0OTRhLDAsezB4MDEsMHhmMCwweDIyfSB9LAoteyAgMTYsMHg0OTRkLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHgwNCwweDEyLDB4NDV9IH0sCi17ICAxNiwweDQ5NWQsMCx7MHgzYiwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0gfSwKLXsgICAyLDB4NDk2ZCwwLHsweGYwLDB4MjJ9IH0sCi17ICAxNiwweDQ5NmYsMCx7MHhlNCwweGZmLDB4NzQsMHhlOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHg5Nn0gfSwKLXsgIDE0LDB4NDk3ZiwwLHsweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3OSwweGY1LDB4ODMsMHhlZSwweGYwLDB4MGYsMHhiZiwweDA4LDB4ZTR9IH0sCi17ICAgMSwweDQ5OGQsMCx7MHgyMn0gfSwKLXsgIDE2LDB4NDk4ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMiwweGYwfSB9LAoteyAgMTMsMHg0OTllLDAsezB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwMywweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDQ5YWIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDIsMHhmMH0gfSwKLXsgIDEzLDB4NDliYiwwLHsweDkwLDB4N2YsMHhjNywweDc0LDB4MDMsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0OWM4LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHgzMCwweGU3LDB4MTIsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MTQsMHg3ZSwweDAwLDB4MTJ9IH0sCi17ICAxMCwweDQ5ZDgsMCx7MHg0YiwweDZjLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDllMiwwLHsweGU0LDB4ZjUsMHgxYSwweDc1LDB4MWIsMHgwMSwweDkwLDB4NzksMHg5MSwweDA0LDB4ZjAsMHhhMywweGYwLDB4ZTQsMHhhMywweGYwfSB9LAoteyAgIDgsMHg0OWYyLDAsezB4YTMsMHg3NCwweDBhLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHgyMn0gfSwKLXsgIDE2LDB4NDlmYSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MmUsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfSB9LAoteyAgIDgsMHg0YTBhLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGExMiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MmQsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4fSB9LAoteyAgIDgsMHg0YTIyLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGEyYSwwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjUsMHgwOCwweGU0LDB4OTAsMHg3OSwweDYyLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweDkwfSB9LAoteyAgIDcsMHg0YTNhLDAsezB4NzksMHg2NiwweGYwLDB4YTMsMHhmMCwweGQzLDB4MjJ9IH0sCi17ICAxNiwweDRhNDEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDEsMHhmMH0gfSwKLXsgICA3LDB4NGE1MSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA0LDB4ZjB9IH0sCi17ICAgNywweDRhNjgsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGE2ZiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwNCwweGYwfSB9LAoteyAgIDcsMHg0YTdmLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhODYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDgsMHhmMH0gfSwKLXsgICA3LDB4NGE5NiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YTlkLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA4LDB4ZjB9IH0sCi17ICAgNywweDRhYWQsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFiNCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgxMCwweGYwfSB9LAoteyAgIDcsMHg0YWM0LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRhY2IsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MTAsMHhmMH0gfSwKLXsgICA3LDB4NGFkYiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YWUyLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDIwLDB4ZjB9IH0sCi17ICAgNywweDRhZjIsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGFmOSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgyMCwweGYwfSB9LAoteyAgIDcsMHg0YjA5LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiMTAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4NDAsMHhmMH0gfSwKLXsgICA3LDB4NGIyMCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjI3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDQwLDB4ZjB9IH0sCi17ICAgNywweDRiMzcsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4NGIzZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg4MCwweGYwfSB9LAoteyAgIDcsMHg0YjRlLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNiwweDRiNTUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4ODAsMHhmMH0gfSwKLXsgICA3LDB4NGI2NSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHg0YjZjLDAsezB4OGUsMHgzMywweDhmLDB4MzQsMHhlNSwweDM0LDB4MTUsMHgzNCwweGFlLDB4MzMsMHg3MCwweDAyLDB4MTUsMHgzMywweDRlLDB4NjB9IH0sCi17ICAgNywweDRiN2MsMCx7MHgwNSwweDEyLDB4MDcsMHg4OSwweDgwLDB4ZWUsMHgyMn0gfSwKLXsgIDE1LDB4NGI4MywwLHsweDkwLDB4N2YsMHhlYSwweGUwLDB4YjQsMHhmZiwweDA0LDB4MTIsMHgzMCwweDAwLDB4MjIsMHgxMiwweDM2LDB4MGUsMHgyMn0gfSwKLXsgIDE0LDB4NGI5MiwwLHsweGMwLDB4ZTAsMHhjMiwweDhiLDB4ZDIsMHgyNCwweDMwLDB4MjMsMHgwMiwweGMyLDB4MjMsMHhkMCwweGUwLDB4MzJ9IH0sCi17ICAxNCwweDRiYTAsMCx7MHg5MCwweDdmLDB4MDAsMHhlNSwweDA4LDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHhkMywweDIyfSB9LAoteyAgIDksMHg0YmFlLDAsezB4MzAsMHgyNCwweDA1LDB4YzIsMHgyNCwweDc1LDB4MTgsMHgwMSwweDIyfSB9LAoteyAgIDksMHg0YmI3LDAsezB4MzAsMHgyMywweDA1LDB4YzIsMHgyMywweGU0LDB4ZjUsMHgxOCwweDIyfSB9LAoteyAgIDcsMHg0YmMwLDAsezB4NTMsMHhjMCwweGZlLDB4NTMsMHhjMCwweGZkLDB4MzJ9IH0sCi17ICAgNiwweDRiYzcsMCx7MHg1MywweDkxLDB4N2YsMHhkMiwweDI1LDB4MzJ9IH0sCi17ICAgNSwweDRiY2QsMCx7MHhjMiwweDg5LDB4ZDIsMHgyMywweDMyfSB9LAoteyAgIDMsMHg0YmQyLDAsezB4YzIsMHg4ZCwweDMyfSB9LAoteyAgIDMsMHg0YmQ1LDAsezB4YzIsMHg4ZiwweDMyfSB9LAoteyAgIDIsMHg0YmQ4LDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJkYSwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZGMsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmRlLDAsezB4ZDMsMHgyMn0gfSwKLXsgICAyLDB4NGJlMCwwLHsweGQzLDB4MjJ9IH0sCi17ICAgMiwweDRiZTIsMCx7MHhkMywweDIyfSB9LAoteyAgIDIsMHg0YmU0LDAsezB4YzMsMHgyMn0gfSwKLXsgICAxLDB4NGJlNiwwLHsweDIyfSB9LAoteyAgIDAsMHgwMDAwLDEsezAgfX0KLX07Ci0vKgotVkVSU0lPTj0xLjAuMi45MTYKLURBVEU9MTIuMDIuMjAwMgotKi8KLS8qCi0gKiBUaGlzIGZpcm13YXJlIGlzIGZvciB0aGUgRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlCi0gKgotICogVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMgQ29weXJpZ2h0IChjKSAxOTk5LTIwMDIgRW1hZ2ljCi0gKiBhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQKLSAqIG9yIHB1YmxpYyBhY2Nlc3MgdG8gdGhpcyBmaXJtd2FyZSB3aGljaCBpcyBhIHRyYWRlIHNlY3JldCBvZiBFbWFnaWMsCi0gKiBhbmQgd2hpY2ggbWF5IG5vdCBiZSByZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvCi0gKiBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCBFbWFnaWMncyB3cml0dGVuIGNvbnNlbnQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggdGhlCi0gKiBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UuIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mCi0gKiBhbnkgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIHBhcnQsCi0gKiByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LgotICovCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX0xvYWRlcltdID0gewoteyAgIDMsMHgwMDAwLDAsezB4MDIsMHgwMywweDFjfSB9LAoteyAgIDMsMHgwMDQzLDAsezB4MDIsMHgwNCwweDAwfSB9LAoteyAgMTYsMHgwMTAwLDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDViLDB4NjAsMHg2MCwweDI0LDB4MDIsMHg2MCwweDAzLDB4MDIsMHgwMSwweGJlLDB4OTB9IH0sCi17ICAxNiwweDAxMTAsMCx7MHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNSwweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MH0gfSwKLXsgIDE2LDB4MDEyMCwwLHsweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1LDB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1fSB9LAoteyAgMTYsMHgwMTMwLDAsezB4MTYsMHg0NSwweDE1LDB4NzAsMHgwMywweDAyLDB4MDEsMHhiZSwweGU0LDB4OTAsMHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjR9IH0sCi17ICAxNiwweDAxNDAsMCx7MHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwYywweDEyLDB4MDIsMHg3NywweGFmLDB4MGMsMHg3ZX0gfSwKLXsgIDE2LDB4MDE1MCwwLHsweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1LDB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1fSB9LAoteyAgMTYsMHgwMTYwLDAsezB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjNywweDkwLDB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjV9IH0sCi17ICAxNiwweDAxNzAsMCx7MHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNX0gfSwKLXsgIDE2LDB4MDE4MCwwLHsweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNSwweDE2LDB4NDUsMHgxNSwweDYwLDB4MzAsMHhlNCwweDkwfSB9LAoteyAgMTYsMHgwMTkwLDAsezB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGN9IH0sCi17ICAxNiwweDAxYTAsMCx7MHgxMiwweDAyLDB4OGYsMHhhZiwweDBjLDB4N2UsMHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNX0gfSwKLXsgIDE1LDB4MDFiMCwwLHsweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNSwweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4Y2EsMHhjM30gfSwKLXsgICAxLDB4MDFiZiwwLHsweDIyfSB9LAoteyAgMTYsMHgwMWMwLDAsezB4YzIsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4LDB4MjAsMHg5MCwweDdmLDB4YWIsMHg3NCwweGZmLDB4ZjAsMHg5MCwweDdmLDB4YTl9IH0sCi17ICAxNiwweDAxZDAsMCx7MHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweDk1LDB4ZTAsMHg0NCwweGMwLDB4ZjAsMHg5MH0gfSwKLXsgIDE2LDB4MDFlMCwwLHsweDdmLDB4OTgsMHhlMCwweDQ0LDB4YzAsMHhmMCwweDkwLDB4N2YsMHg5ZSwweGUwLDB4NDQsMHhjMCwweGYwLDB4ZTQsMHg5MCwweDdmfSB9LAoteyAgMTYsMHgwMWYwLDAsezB4OTQsMHhmMCwweDkwLDB4N2YsMHg5ZCwweGUwLDB4NDQsMHgwZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGYwLDB4ZjB9IH0sCi17ICAxNiwweDAyMDAsMCx7MHg5MCwweDdmLDB4YWYsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhhZSwweGUwLDB4NDQsMHgwZCwweGYwLDB4ZDIsMHhhZn0gfSwKLXsgIDE2LDB4MDIxMCwwLHsweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhmMCwweGYwLDB4MjAsMHgyMCwweDQyLDB4NzUsMHgxNCwweDAwLDB4NzUsMHgxMywweDAwfSB9LAoteyAgMTYsMHgwMjIwLDAsezB4NzUsMHgxMiwweDAwLDB4NzUsMHgxMSwweDAwLDB4N2YsMHg0OCwweDdlLDB4OTIsMHg3ZCwweDAwLDB4N2MsMHgwMCwweGFiLDB4MTR9IH0sCi17ICAxNiwweDAyMzAsMCx7MHhhYSwweDEzLDB4YTksMHgxMiwweGE4LDB4MTEsMHhjMywweDEyLDB4MDQsMHg5YSwweDUwLDB4ZGIsMHgyMCwweDIwLDB4ZDgsMHg3YX0gfSwKLXsgIDE2LDB4MDI0MCwwLHsweDAwLDB4NzksMHgwMCwweDc4LDB4MDAsMHhlNSwweDE0LDB4MjQsMHgwMSwweGY1LDB4MTQsMHhlYSwweDM1LDB4MTMsMHhmNSwweDEzfSB9LAoteyAgMTYsMHgwMjUwLDAsezB4ZTksMHgzNSwweDEyLDB4ZjUsMHgxMiwweGU4LDB4MzUsMHgxMSwweGY1LDB4MTEsMHg4MCwweGNhLDB4MzAsMHgyMCwweGZkLDB4MTJ9IH0sCi17ICAxNiwweDAyNjAsMCx7MHgwMSwweDAwLDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0gfSwKLXsgICA2LDB4MDI3MCwwLHsweDAyLDB4ZjAsMHhjMiwweDIwLDB4ODAsMHhlNn0gfSwKLXsgICAxLDB4MDI3NiwwLHsweDIyfSB9LAoteyAgMTYsMHgwMjc3LDAsezB4ZTUsMHgwYywweGZmLDB4ZTUsMHgwYiwweGY1LDB4ODIsMHhlNSwweDBhLDB4ZjUsMHg4MywweDc1LDB4OTIsMHg3ZSwweDc0LDB4YzB9IH0sCi17ICAgOCwweDAyODcsMCx7MHhmOCwweGUyLDB4MDgsMHhmMCwweGEzLDB4ZGYsMHhmYSwweDIyfSB9LAoteyAgMTYsMHgwMjhmLDAsezB4OTAsMHg3ZiwweDk2LDB4ODUsMHg4MywweDkyLDB4YTgsMHg4MiwweDc5LDB4MDIsMHg5MCwweDAwLDB4MDAsMHhlMCwweGI0LDB4MDB9IH0sCi17ICAxNiwweDAyOWYsMCx7MHgzNywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHg5MywweGUwLDB4NTQsMHhmYywweGYwLDB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg1NH0gfSwKLXsgIDE2LDB4MDJhZiwwLHsweGZjLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHg5NCwweGUwLDB4NTQsMHg3ZiwweGYwfSB9LAoteyAgMTYsMHgwMmJmLDAsezB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4OWQsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2Z9IH0sCi17ICAxNiwweDAyY2YsMCx7MHg5NywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NDQsMHg4MCwweGYwLDB4ZTUsMHgwYywweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmNX0gfSwKLXsgIDE2LDB4MDJkZiwwLHsweDI4LDB4ZTQsMHhhMiwweDQ3LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDYsMHgzMywweGYyLDB4NjksMHhmMiwweGU0fSB9LAoteyAgMTYsMHgwMmVmLDAsezB4YTIsMHg0NSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQ0LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDN9IH0sCi17ICAxNiwweDAyZmYsMCx7MHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MiwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQxLDB4MzMsMHhmMn0gfSwKLXsgIDEzLDB4MDMwZiwwLHsweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDAsMHgzMywweGYyLDB4NjksMHhmMiwweGEzLDB4ZGYsMHhjMiwweDIyfSB9LAoteyAgMTIsMHgwMzFjLDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDI5LDB4MDIsMHgwMywweDYzfSB9LAoteyAgMTYsMHgwMzI4LDAsezB4MDIsMHgwMSwweGMwLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9IH0sCi17ICAxNiwweDAzMzgsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM30gfSwKLXsgIDE2LDB4MDM0OCwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfSB9LAoteyAgMTYsMHgwMzU4LDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MDQsMHg4NCwweGU0LDB4N2V9IH0sCi17ICAxNiwweDAzNjgsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M30gfSwKLXsgIDE2LDB4MDM3OCwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfSB9LAoteyAgMTYsMHgwMzg4LDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9IH0sCi17ICAxNiwweDAzOTgsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX0gfSwKLXsgIDE2LDB4MDNhOCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfSB9LAoteyAgMTEsMHgwM2I4LDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDNjMywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfSB9LAoteyAgIDgsMHgwM2QzLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDNkYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGQwfSB9LAoteyAgIDYsMHgwM2ViLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgIDEsMHgwM2YxLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjIsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmMywwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y0LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjUsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmNiwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2Y3LDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZjgsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmOSwwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZhLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmIsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmYywwLHsweDMyfSB9LAoteyAgIDEsMHgwM2ZkLDAsezB4MzJ9IH0sCi17ICAgMSwweDAzZmUsMCx7MHgzMn0gfSwKLXsgICAxLDB4MDNmZiwwLHsweDMyfSB9LAoteyAgMTYsMHgwNDAwLDAsezB4MDIsMHgwMywweGMzLDB4MDAsMHgwMiwweDAzLDB4ZGIsMHgwMCwweDAyLDB4MDMsMHhhOCwweDAwLDB4MDIsMHgwNCwweDZlLDB4MDB9IH0sCi17ICAxNiwweDA0MTAsMCx7MHgwMiwweDA0LDB4NTgsMHgwMCwweDAyLDB4MDMsMHhmMSwweDAwLDB4MDIsMHgwMywweGYyLDB4MDAsMHgwMiwweDAzLDB4ZjMsMHgwMH0gfSwKLXsgIDE2LDB4MDQyMCwwLHsweDAyLDB4MDMsMHhmNCwweDAwLDB4MDIsMHgwMywweGY1LDB4MDAsMHgwMiwweDAzLDB4ZjYsMHgwMCwweDAyLDB4MDMsMHhmNywweDAwfSB9LAoteyAgMTYsMHgwNDMwLDAsezB4MDIsMHgwMywweGY4LDB4MDAsMHgwMiwweDAzLDB4ZjksMHgwMCwweDAyLDB4MDMsMHhmYSwweDAwLDB4MDIsMHgwMywweGZiLDB4MDB9IH0sCi17ICAxNiwweDA0NDAsMCx7MHgwMiwweDAzLDB4ZmMsMHgwMCwweDAyLDB4MDMsMHhmZCwweDAwLDB4MDIsMHgwMywweGZlLDB4MDAsMHgwMiwweDAzLDB4ZmYsMHgwMH0gfSwKLXsgICA4LDB4MDQ1MCwwLHsweDAyLDB4MDQsMHhhYiwweDAwLDB4MDIsMHgwNCwweGFjLDB4MDB9IH0sCi17ICAxNiwweDA0NTgsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHhkMH0gfSwKLXsgICA2LDB4MDQ2OCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0gfSwKLXsgIDE2LDB4MDQ2ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweGQwfSB9LAoteyAgIDYsMHgwNDdlLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSB9LAoteyAgMTYsMHgwNDg0LDAsezB4MDIsMHgwYSwweDAwLDB4MGYsMHgwMSwweDBjLDB4MTEsMHgwNCwweDBkLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MSwweDAwLDB4MDB9IH0sCi17ICAgMSwweDA0OTQsMCx7MHgwMH0gfSwKLXsgICA0LDB4MDQ5NSwwLHsweDAyLDB4MTcsMHgwMCwweDAwfSB9LAoteyAgIDEsMHgwNDk5LDAsezB4MDB9IH0sCi17ICAxNiwweDA0OWEsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH0gfSwKLXsgICAxLDB4MDRhYSwwLHsweDIyfSB9LAoteyAgIDEsMHgwNGFiLDAsezB4MzJ9IH0sCi17ICAgMSwweDA0YWMsMCx7MHgzMn0gfSwKLXsgIDE2LDB4MTEwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfSB9LAoteyAgMTYsMHgxMTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHgyMCwweDAwLDB4MDEsMHgwMSwweDAzLDB4YTAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDJ9IH0sCi17ICAxNiwweDExMjAsMCx7MHhmZiwweDAwLDB4MDAsMHgwNCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MH0gfSwKLXsgIDE2LDB4MTEzMCwwLHsweDAwLDB4MDAsMHgwNCwweDAzLDB4MDksMHgwNCwweDI2LDB4MDMsMHg0MSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHg2OCwweDAwfSB9LAoteyAgMTYsMHgxMTQwLDAsezB4NmYsMHgwMCwweDcyLDB4MDAsMHgyMCwweDAwLDB4NDMsMHgwMCwweDY4LDB4MDAsMHg2OSwweDAwLDB4NzAsMHgwMCwweDczLDB4MDB9IH0sCi17ICAxNiwweDExNTAsMCx7MHgyYywweDAwLDB4MjAsMHgwMCwweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDJlLDB4MDAsMHgyOCwweDAzLDB4NDYsMHgwMH0gfSwKLXsgIDE2LDB4MTE2MCwwLHsweDY5LDB4MDAsMHg3MiwweDAwLDB4NmQsMHgwMCwweDc3LDB4MDAsMHg2MSwweDAwLDB4NzIsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwfSB9LAoteyAgMTYsMHgxMTcwLDAsezB4NDYsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NmQsMHgwMCwweDY1LDB4MDAsMHg1NywweDAwLDB4NmYsMHgwMCwweDcyLDB4MDB9IH0sCi17ICAxNiwweDExODAsMCx7MHg2YiwweDAwLDB4NzMsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHg2NiwweDAwLDB4NjksMHgwMH0gfSwKLXsgIDE2LDB4MTE5MCwwLHsweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfSB9LAoteyAgMTYsMHgxMWEwLDAsezB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDN9IH0sCi17ICAxNiwweDExYjAsMCx7MHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwLDB4NzIsMHgwMCwweDY2LDB4MDAsMHg2MSwweDAwLDB4NjMsMHgwMH0gfSwKLXsgIDE2LDB4MTFjMCwwLHsweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwfSB9LAoteyAgIDIsMHgxMWQwLDAsezB4MDAsMHgwMH0gfSwKLXsgICAwLDB4MDAwMCwxLHswIH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Mi5jCmluZGV4IDFhMmI3OWEuLjIwODg2YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjIuYworKysgYi9kcml2ZXJzL3VzYi9taXNjL2VtaTYyLmMKQEAgLTE2LDE1ICsxNiw4IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLQotI2RlZmluZSBNQVhfSU5URUxfSEVYX1JFQ09SRF9MRU5HVEggMTYKLXR5cGVkZWYgc3RydWN0IF9JTlRFTF9IRVhfUkVDT1JECi17Ci0JX191MzIJbGVuZ3RoOwotCV9fdTMyCWFkZHJlc3M7Ci0JX191MzIJdHlwZTsKLQlfX3U4CWRhdGFbTUFYX0lOVEVMX0hFWF9SRUNPUkRfTEVOR1RIXTsKLX0gSU5URUxfSEVYX1JFQ09SRCwgKlBJTlRFTF9IRVhfUkVDT1JEOworI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CisjaW5jbHVkZSA8bGludXgvaWhleC5oPgogCiAvKiBpbmNsdWRlIGZpcm13YXJlICh2YXJpYWJsZXMpKi8KIApAQCAtMzMsOSArMjYsOSBAQAogLy8jdW5kZWYgU1BESUYJLyogaWYgeW91IHdhbnQgTUlESSB1bmNvbW1lbnQgdGhpcyBsaW5lICovIAogCiAjaWZkZWYgU1BESUYKLSMgIGluY2x1ZGUgImVtaTYyX2Z3X3MuaCIgLyogc3BkaWYgZncgKi8KKyNkZWZpbmUgRklSTVdBUkVfRlcgImVtaTYyL3NwZGlmLmZ3IgogI2Vsc2UKLSMgIGluY2x1ZGUgImVtaTYyX2Z3X20uaCIgLyogbWlkaSBmdyAqLworI2RlZmluZSBGSVJNV0FSRV9GVyAiZW1pNjIvbWlkaS5mdyIKICNlbmRpZgogCiAjZGVmaW5lIEVNSTYyX1ZFTkRPUl9JRCAJCTB4MDg2YSAgLyogRW1hZ2ljIFNvZnQtdW5kIEhhcmR3YXJlIEdtQkggKi8KQEAgLTQ4LDcgKzQxLDkgQEAKICNkZWZpbmUgQ1BVQ1NfUkVHCQkweDdGOTIgIC8qIEVaLVVTQiBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIuICBCaXQgMCBjb250cm9scyA4MDUxIHJlc2V0ICovIAogI2RlZmluZSBJTlRFUk5BTF9SQU0oYWRkcmVzcykgICAoYWRkcmVzcyA8PSBNQVhfSU5URVJOQUxfQUREUkVTUykKIAotc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeSggc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsIF9fdTggYlJlcXVlc3QpOworc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeShzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCBpbnQgYWRkcmVzcywKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgaW50IGxlbmd0aCwKKwkJCSAgICAgX191OCBiUmVxdWVzdCk7CiBzdGF0aWMgaW50IGVtaTYyX3NldF9yZXNldChzdHJ1Y3QgdXNiX2RldmljZSAqZGV2LCB1bnNpZ25lZCBjaGFyIHJlc2V0X2JpdCk7CiBzdGF0aWMgaW50IGVtaTYyX2xvYWRfZmlybXdhcmUgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpOwogc3RhdGljIGludCBlbWk2Ml9wcm9iZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZiwgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgKmlkKTsKQEAgLTU4LDcgKzUzLDkgQEAKIAogCiAvKiB0aGFua3MgdG8gZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMgY29kZSAqLwotc3RhdGljIGludCBlbWk2Ml93cml0ZW1lbW9yeSAoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsIF9fdTggcmVxdWVzdCkKK3N0YXRpYyBpbnQgZW1pNjJfd3JpdGVtZW1vcnkoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGFkZHJlc3MsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW5ndGgsCisJCQkgICAgIF9fdTggcmVxdWVzdCkKIHsKIAlpbnQgcmVzdWx0OwogCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlciA9ICBrbWVtZHVwKGRhdGEsIGxlbmd0aCwgR0ZQX0tFUk5FTCk7CkBAIC05MSw5ICs4OCwxMiBAQAogCiBzdGF0aWMgaW50IGVtaTYyX2xvYWRfZmlybXdhcmUgKHN0cnVjdCB1c2JfZGV2aWNlICpkZXYpCiB7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpsb2FkZXJfZncgPSBOVUxMOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqYml0c3RyZWFtX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKIAlpbnQgZXJyOwogCWludCBpOwotCWludCBwb3MgPSAwOwkvKiBQb3NpdGlvbiBpbiBoZXggcmVjb3JkICovCiAJX191MzIgYWRkcjsJLyogQWRkcmVzcyB0byB3cml0ZSAqLwogCV9fdTggKmJ1ZjsKIApAQCAtMTA1LDYgKzEwNSwyMiBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJZXJyID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZsb2FkZXJfZncsICJlbWk2Mi9sb2FkZXIuZnciLCAmZGV2LT5kZXYpOworCWlmIChlcnIpCisJCWdvdG8gbm9mdzsKKworCWVyciA9IHJlcXVlc3RfaWhleF9maXJtd2FyZSgmYml0c3RyZWFtX2Z3LCAiZW1pNjIvYml0c3RyZWFtLmZ3IiwKKwkJCQkgICAgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG5vZnc7CisKKwllcnIgPSByZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZpcm13YXJlX2Z3LCBGSVJNV0FSRV9GVywgJmRldi0+ZGV2KTsKKwlpZiAoZXJyKSB7CisJbm9mdzoKKwkJZXJyKCAiJXMgLSByZXF1ZXN0X2Zpcm13YXJlKCkgZmFpbGVkIiwgX19mdW5jX18pOworCQlnb3RvIHdyYXBlcnI7CisJfQorCiAJLyogQXNzZXJ0IHJlc2V0IChzdG9wIHRoZSBDUFUgaW4gdGhlIEVNSSkgKi8KIAllcnIgPSBlbWk2Ml9zZXRfcmVzZXQoZGV2LDEpOwogCWlmIChlcnIgPCAwKSB7CkBAIC0xMTIsMTMgKzEyOCwxOCBAQAogCQlnb3RvIHdyYXBlcnI7CiAJfQogCisJcmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWxvYWRlcl9mdy0+ZGF0YTsKKwogCS8qIDEuIFdlIG5lZWQgdG8gcHV0IHRoZSBsb2FkZXIgZm9yIHRoZSBGUEdBIGludG8gdGhlIEVaLVVTQiAqLwotCWZvciAoaT0wOyBnX2VtaTYyX2xvYWRlcltpXS50eXBlID09IDA7IGkrKykgewotCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfZW1pNjJfbG9hZGVyW2ldLmFkZHJlc3MsIGdfZW1pNjJfbG9hZGVyW2ldLmRhdGEsIGdfZW1pNjJfbG9hZGVyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfSU5URVJOQUwpOworCXdoaWxlIChyZWMpIHsKKwkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKIAkJfQorCQlyZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYyk7CiAJfQogCiAJLyogRGUtYXNzZXJ0IHJlc2V0IChsZXQgdGhlIENQVSBydW4pICovCkBAIC0xMzIsMTUgKzE1MywxNiBAQAogCS8qIDIuIFdlIHVwbG9hZCB0aGUgRlBHQSBmaXJtd2FyZSBpbnRvIHRoZSBFTUkKIAkgKiBOb3RlOiBjb2xsZWN0IHVwIHRvIDEwMjMgKHllcyEpIGJ5dGVzIGFuZCBzZW5kIHRoZW0gd2l0aAogCSAqIGEgc2luZ2xlIHJlcXVlc3QuIFRoaXMgaXMgX211Y2hfIGZhc3RlciEgKi8KKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopYml0c3RyZWFtX2Z3LT5kYXRhOwogCWRvIHsKIAkJaSA9IDA7Ci0JCWFkZHIgPSBnX2VtaTYyYnNbcG9zXS5hZGRyZXNzOworCQlhZGRyID0gYmUzMl90b19jcHUocmVjLT5hZGRyKTsKIAogCQkvKiBpbnRlbCBoZXggcmVjb3JkcyBhcmUgdGVybWluYXRlZCB3aXRoIHR5cGUgMCBlbGVtZW50ICovCi0JCXdoaWxlICgoZ19lbWk2MmJzW3Bvc10udHlwZSA9PSAwKSAmJiAoaSArIGdfZW1pNjJic1twb3NdLmxlbmd0aCA8IEZXX0xPQURfU0laRSkpIHsKLQkJCW1lbWNweShidWYgKyBpLCBnX2VtaTYyYnNbcG9zXS5kYXRhLCBnX2VtaTYyYnNbcG9zXS5sZW5ndGgpOwotCQkJaSArPSBnX2VtaTYyYnNbcG9zXS5sZW5ndGg7Ci0JCQlwb3MrKzsKKwkJd2hpbGUgKHJlYyAmJiAoaSArIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA8IEZXX0xPQURfU0laRSkpIHsKKwkJCW1lbWNweShidWYgKyBpLCByZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSk7CisJCQlpICs9IGJlMTZfdG9fY3B1KHJlYy0+bGVuKTsKKwkJCXJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsKIAkJfQogCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGFkZHIsIGJ1ZiwgaSwgQU5DSE9SX0xPQURfRlBHQSk7CiAJCWlmIChlcnIgPCAwKSB7CkBAIC0xNTcsOCArMTc5LDExIEBACiAJfQogCiAJLyogMy4gV2UgbmVlZCB0byBwdXQgdGhlIGxvYWRlciBmb3IgdGhlIGZpcm13YXJlIGludG8gdGhlIEVaLVVTQiAoYWdhaW4uLi4pICovCi0JZm9yIChpPTA7IGdfZW1pNjJfbG9hZGVyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19lbWk2Ml9sb2FkZXJbaV0uYWRkcmVzcywgZ19lbWk2Ml9sb2FkZXJbaV0uZGF0YSwgZ19lbWk2Ml9sb2FkZXJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7CisJZm9yIChyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBiZTMyX3RvX2NwdShyZWMtPmFkZHIpLAorCQkJCQlyZWMtPmRhdGEsIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSwKKwkJCQkJQU5DSE9SX0xPQURfSU5URVJOQUwpOwogCQlpZiAoZXJyIDwgMCkgewogCQkJZXJyKCIlcyAtIGVycm9yIGxvYWRpbmcgZmlybXdhcmU6IGVycm9yID0gJWQiLCBfX2Z1bmNfXywgZXJyKTsKIAkJCWdvdG8gd3JhcGVycjsKQEAgLTE3NSwyOSArMjAwLDE5IEBACiAKIAkvKiA0LiBXZSBwdXQgdGhlIHBhcnQgb2YgdGhlIGZpcm13YXJlIHRoYXQgbGllcyBpbiB0aGUgZXh0ZXJuYWwgUkFNIGludG8gdGhlIEVaLVVTQiAqLwogCi0vKiBGSVhNRTogcXVpY2sgYW5kIGRpcnR5IGlmZGVmcyAqLwotI2lmZGVmIFNQRElGCi0JZm9yIChpPTA7IGdfSGV4U3BkaWZGdzYyW2ldLnR5cGUgPT0gMDsgaSsrKSB7Ci0JCWlmICghSU5URVJOQUxfUkFNKGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4U3BkaWZGdzYyW2ldLmFkZHJlc3MsIGdfSGV4U3BkaWZGdzYyW2ldLmRhdGEsIGdfSGV4U3BkaWZGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfRVhURVJOQUwpOworCWZvciAocmVjID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZpcm13YXJlX2Z3LT5kYXRhOworCSAgICAgcmVjOyByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJaWYgKCFJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfRVhURVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKIAkJCX0KIAkJfQogCX0KLSNlbHNlIC8qIE1JREkgKi8KLQlmb3IgKGk9MDsgZ19IZXhNaWRpRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoIUlOVEVSTkFMX1JBTShnX0hleE1pZGlGdzYyW2ldLmFkZHJlc3MpKSB7Ci0JCQllcnIgPSBlbWk2Ml93cml0ZW1lbW9yeShkZXYsIGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcywgZ19IZXhNaWRpRnc2MltpXS5kYXRhLCBnX0hleE1pZGlGdzYyW2ldLmxlbmd0aCwgQU5DSE9SX0xPQURfRVhURVJOQUwpOwotCQkJaWYgKGVyciA8IDApIHsKLQkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZFxuIiwgX19mdW5jX18sIGVycik7Ci0JCQkJZ290byB3cmFwZXJyOwotCQkJCXJldHVybiBlcnI7Ci0JCQl9Ci0JCX0KLQl9Ci0jZW5kaWYJCisKIAkvKiBBc3NlcnQgcmVzZXQgKHN0b3AgdGhlIENQVSBpbiB0aGUgRU1JKSAqLwogCWVyciA9IGVtaTYyX3NldF9yZXNldChkZXYsMSk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTIwNSwyOSArMjIwLDE5IEBACiAJCWdvdG8gd3JhcGVycjsKIAl9CiAKLS8qIEZJWE1FOiBxdWljayBhbmQgZGlydHkgaWZkZWZzICovCi0jaWZkZWYgU1BESUYKLQlmb3IgKGk9MDsgZ19IZXhTcGRpZkZ3NjJbaV0udHlwZSA9PSAwOyBpKyspIHsKLQkJaWYgKElOVEVSTkFMX1JBTShnX0hleFNwZGlmRnc2MltpXS5hZGRyZXNzKSkgewotCQkJZXJyID0gZW1pNjJfd3JpdGVtZW1vcnkoZGV2LCBnX0hleFNwZGlmRnc2MltpXS5hZGRyZXNzLCBnX0hleFNwZGlmRnc2MltpXS5kYXRhLCBnX0hleFNwZGlmRnc2MltpXS5sZW5ndGgsIEFOQ0hPUl9MT0FEX0lOVEVSTkFMKTsKKwlmb3IgKHJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwkgICAgIHJlYzsgcmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpKSB7CisJCWlmIChJTlRFUk5BTF9SQU0oYmUzMl90b19jcHUocmVjLT5hZGRyKSkpIHsKKwkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgYmUzMl90b19jcHUocmVjLT5hZGRyKSwKKwkJCQkJCXJlYy0+ZGF0YSwgYmUxNl90b19jcHUocmVjLT5sZW4pLAorCQkJCQkJQU5DSE9SX0xPQURfRVhURVJOQUwpOwogCQkJaWYgKGVyciA8IDApIHsKIAkJCQllcnIoIiVzIC0gZXJyb3IgbG9hZGluZyBmaXJtd2FyZTogZXJyb3IgPSAlZCIsIF9fZnVuY19fLCBlcnIpOwogCQkJCWdvdG8gd3JhcGVycjsKIAkJCX0KIAkJfQogCX0KLSNlbHNlIC8qIE1JREkgKi8KLQlmb3IgKGk9MDsgZ19IZXhNaWRpRnc2MltpXS50eXBlID09IDA7IGkrKykgewotCQlpZiAoSU5URVJOQUxfUkFNKGdfSGV4TWlkaUZ3NjJbaV0uYWRkcmVzcykpIHsKLQkJCWVyciA9IGVtaTYyX3dyaXRlbWVtb3J5KGRldiwgZ19IZXhNaWRpRnc2MltpXS5hZGRyZXNzLCBnX0hleE1pZGlGdzYyW2ldLmRhdGEsIGdfSGV4TWlkaUZ3NjJbaV0ubGVuZ3RoLCBBTkNIT1JfTE9BRF9JTlRFUk5BTCk7Ci0JCQlpZiAoZXJyIDwgMCkgewotCQkJCWVycigiJXMgLSBlcnJvciBsb2FkaW5nIGZpcm13YXJlOiBlcnJvciA9ICVkXG4iLCBfX2Z1bmNfXywgZXJyKTsKLQkJCQlnb3RvIHdyYXBlcnI7Ci0JCQl9Ci0JCX0KLQl9Ci0jZW5kaWYKLQkKKwogCS8qIERlLWFzc2VydCByZXNldCAobGV0IHRoZSBDUFUgcnVuKSAqLwogCWVyciA9IGVtaTYyX3NldF9yZXNldChkZXYsMCk7CiAJaWYgKGVyciA8IDApIHsKQEAgLTIzNiw2ICsyNDEsMTAgQEAKIAl9CiAJbXNsZWVwKDI1MCk7CS8qIGxldCBkZXZpY2Ugc2V0dGxlICovCiAKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShiaXRzdHJlYW1fZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCiAJa2ZyZWUoYnVmKTsKIAogCS8qIHJldHVybiAxIHRvIGZhaWwgdGhlIGRyaXZlciBpbmlhbGl6YXRpb24KQEAgLTI0Myw2ICsyNTIsMTAgQEAKIAlyZXR1cm4gMTsKIAogd3JhcGVycjoKKwlyZWxlYXNlX2Zpcm13YXJlKGxvYWRlcl9mdyk7CisJcmVsZWFzZV9maXJtd2FyZShiaXRzdHJlYW1fZncpOworCXJlbGVhc2VfZmlybXdhcmUoZmlybXdhcmVfZncpOworCiAJa2ZyZWUoYnVmKTsKIAlkZXZfZXJyKCZkZXYtPmRldiwgIkVycm9yXG4iKTsKIAlyZXR1cm4gZXJyOwpAQCAtMzAwLDUgKzMxMyw4IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIkVtYWdpYyBFTUkgNnwybSBmaXJtd2FyZSBsb2FkZXIuIik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgiZW1pNjIvbG9hZGVyLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVtaTYyL2JpdHN0cmVhbS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKEZJUk1XQVJFX0ZXKTsKIC8qIHZpOmFpOnN5bnRheD1jOnN3PTg6dHM9ODp0dz04MAogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X20uaCBiL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfbS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNTY3YzkwMC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9taXNjL2VtaTYyX2Z3X20uaAorKysgL2Rldi9udWxsCkBAIC0xLDg4NTMgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgZnJvbSB0aHJlZSBkaWZmZXJlbnQgZmlsZXMsIHByb3ZpZGVkIGJ5IEVtYWdpYy4KLSAqLwotLyogZ2VuZXJhdGVkIFR1ZSBKdW4gMyAyMTozNjoxMSBFRVNUIDIwMDMgKi8KLQotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19lbWk2MmJzW109ewotICAxNiwgMHg4MDEwLCAwLCB7MHhmZiwweGZmLDB4ZmYsMHhmZiwweGFhLDB4OTksMHg1NSwweDY2LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwNyB9LAotICAxNiwgMHg4MDIwLCAwLCB7MHgzMCwweDAxLDB4NjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDBkLDB4MzAsMHgwMSwweDIwLDB4MDEsMHgwMCwweDgwLDB4M2YsMHgyZCB9LAotICAxNiwgMHg4MDMwLCAwLCB7MHgzMCwweDAwLDB4YzAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSB9LAotICAxNiwgMHg4MDQwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMSB9LAotICAxNiwgMHg4MDUwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwMCwweDUwLDB4MDAsMHg1OCwweDFhLDB4ODAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQwLDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MDkwLCAwLCB7MHgwMCwweDEyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0OCB9LAotICAxNiwgMHg4MGMwLCAwLCB7MHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTAwLCAwLCB7MHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTMwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTcwLCAwLCB7MHg4MCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWUwLCAwLCB7MHg3ZiwweDEwLDB4MDAsMHgzNCwweDAwLDB4MGQsMHgwMCwweDAzLDB4NDAsMHgwMCwweGQwLDB4MDAsMHgzNCwweDAwLDB4MDUsMHgwMCB9LAotICAxNiwgMHg4MWYwLCAwLCB7MHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4NzQsMHgwMCwweDFkLDB4MDAsMHgwNywweDQwLDB4MDEsMHhkMCwweDAwLDB4NzQsMHgwMCB9LAotICAxNiwgMHg4MjAwLCAwLCB7MHgxZCwweDgwLDB4MDcsMHhlMCwweDAxLDB4YjgsMHgwMCwweDZlLDB4MDAsMHgxYiwweDgwLDB4MDYsMHhlMCwweDAxLDB4MzgsMHgzNyB9LAotICAxNiwgMHg4MjEwLCAwLCB7MHhjNCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4ODAsMHhmYiwweDMwLDB4MzYsMHhjOCB9LAotICAxNiwgMHg4MjIwLCAwLCB7MHg0ZSwweDA5LDB4MDMsMHhmYywweDg0LDB4ZmYsMHgxMCwweDNiLDB4YzAsMHgwZSwweGM4LDB4MDcsMHgyMiwweDgwLDB4ZmYsMHgyMiB9LAotICAxNiwgMHg4MjMwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhjOCwweDMzLDB4NmUsMHgwMCwweGZiLDB4ODAsMHgzZiwweDIwLDB4MGQsMHhjMiwweDUzLDB4ZDQsMHg4MCB9LAotICAxNiwgMHg4MjQwLCAwLCB7MHhjYywweDNhLDB4M2YsMHgwMCwweDBjLDB4ZjEsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MjUwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHg2MCwweGJmLDB4NjAsMHgyMywweGYwLDB4MGQsMHg4MiwweDEyLDB4M2MsMHg2MCwweDhmLDB4NzAsMHgyMyB9LAotICAxNiwgMHg4MjYwLCAwLCB7MHhmMCwweDA4LDB4ODgsMHgwMiwweGE1LDB4NDAsMHhiZiwweGQwLDB4NjMsMHhkNiwweDBiLDB4ODgsMHgwMiwweDJlLDB4MGMsMHhiYiB9LAotICAxNiwgMHg4MjcwLCAwLCB7MHg4MCwweDJlLDB4MjAsMHg4OCwweDhkLDB4MDIsMHhlNiwweDQwLDB4ODAsMHg2MCwweDJlLDB4MzAsMHgwYSwweGIxLDB4MTIsMHgyMCB9LAotICAxNiwgMHg4MjgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4ODAsMHhhMywweDQwLDB4MmMsMHhjNCB9LAotICAxNiwgMHg4MjkwLCAwLCB7MHg0YSwweDAwLDB4MTIsMHg4YywweDg4LDB4YTMsMHgyMiwweDIwLDB4YzQsMHgwYSwweDkwLDB4NDIsMHgwNCwweGE5LDB4YTMsMHgwMCB9LAotICAxNiwgMHg4MmEwLCAwLCB7MHgyNCwweGM4LDB4OGIsMHg4MCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyZSwweDAxLDB4MDksMHgwOCwweDAyLDB4ODQsMHgwMCB9LAotICAxNiwgMHg4MmIwLCAwLCB7MHg4MCwweDIwLDB4MmMsMHgxMCwweDBhLDB4MzIsMHg0MiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MmMwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwNCwweGIzLDB4MDAsMHgyYSwweGMwLDB4MDgsMHgwOCwweGEyLDB4OGMsMHgwMCwweDhiLDB4MDAsMHhhMiB9LAotICAxNiwgMHg4MmQwLCAwLCB7MHhjMSwweDEwLDB4OTgsMHg0MiwweGE3LDB4MDAsMHhiYiwweDAxLDB4NjYsMHhjMSwweDBiLDB4ODAsMHgwMiwweGFjLDB4MDQsMHhiYiB9LAotICAxNiwgMHg4MmUwLCAwLCB7MHgwMCwweDJlLDB4MDAsMHgwYiwweGI4LDB4MTIsMHhlNCwweDAyLDB4ODksMHgwOCwweDBlLDB4NDAsMHgwYSwweGIwLDB4MDIsMHgzMCB9LAotICAxNiwgMHg4MmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCB9LAotICAxNiwgMHg4MzAwLCAwLCB7MHg0YSwweGI4LDB4MjMsMHhlYywweDE4LDB4ZWIsMHgwMCwweDMyLDB4YzAsMHgwZSwweDJjLDB4MTIsMHgyMiwweDEwLDB4ZWIsMHgwMCB9LAotICAxNiwgMHg4MzEwLCAwLCB7MHgyNiwweGMwLDB4NGYsMHgwMCwweDQzLDB4ZWQsMHgwMCwweGZiLDB4MDAsMHgyZSwweDI0LDB4MGQsMHg4MCwweDEzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHg4MzIwLCAwLCB7MHhjOCwweGQwLDB4N2MsMHgxMiwweDBlLDB4YjAsMHgwMywweDQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MzMwLCAwLCB7MHhlMSwweDAwLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzNSwweGMwLDB4NGYsMHhlMCwweDAzLDB4N2MsMHgwOCwweGZmLDB4MDEsMHgxNyB9LAotICAxNiwgMHg4MzQwLCAwLCB7MHhjMiwweDRkLDB4YzAsMHgwMywweGY0LDB4MDgsMHhmNywweDAwLDB4M2IsMHhjMCwweDA3LDB4YzAsMHgwMywweDdjLDB4ODAsMHhmZiB9LAotICAxNiwgMHg4MzUwLCAwLCB7MHgyNCwweDNmLDB4NDAsMHgwYywweGYwLDB4MDEsMHhmNCwweDA0LDB4YmMsMHgwOCwweDNmLDB4MjgsMHgwZiwweGYwLDB4MDMsMHg3OCB9LAotICAxNiwgMHg4MzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDgsMHhmYiwweDA0LDB4M2EsMHhjOCB9LAotICAxNiwgMHg4MzcwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhlYywweDEwLDB4ZjMsMHgwMCwweDM0LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg2MSwweDA0LDB4ZmIsMHgwMCB9LAotICAxNiwgMHg4MzgwLCAwLCB7MHgzNiwweGMwLDB4MGUsMHhhMywweDAzLDB4MmMsMHg4MCwweGZiLDB4NzIsMHgzZSwweDAyLDB4MGYsMHg4YSwweDAzLDB4ZTQsMHgwMiB9LAotICAxNiwgMHg4MzkwLCAwLCB7MHhjOSwweDgwLDB4MmEsMHg1MCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4M2EwLCAwLCB7MHhjYSwweDQ0LDB4M2MsMHgwMCwweGJmLDB4MDAsMHgwMywweGMwLDB4MDgsMHg4MCwweDAzLDB4N2MsMHgwMCwweGJmLDB4MDAsMHgzZiB9LAotICAxNiwgMHg4M2IwLCAwLCB7MHhlMiwweDA4LDB4OTAsMHg0MywweDYwLDB4MDAsMHhiZiwweDAwLDB4MzcsMHhjMCwweDA4LDB4OTAsMHgwMSwweDZkLDB4MDAsMHhiYiB9LAotICAxNiwgMHg4M2MwLCAwLCB7MHg0MCwweDJjLDB4MTAsMHgwYiwweGIwLDB4NDIsMHhkNywweGMwLDB4ODksMHgwMCwweDJhLDB4N2MsMHgwYiwweGYwLDB4MDIsMHhmMiB9LAotICAxNiwgMHg4M2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTIsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkNSB9LAotICAxNiwgMHg4M2UwLCAwLCB7MHg0YSwweDAwLDB4MDAsMHgwYywweDA0LDB4OTMsMHgwMCwweDBjLDB4ZjAsMHgwYiwweDA5LDB4MDIsMHgwOCwweDAxLDB4YjMsMHgyMCB9LAotICAxNiwgMHg4M2YwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgwYywweDBhLDB4MGUsMHgwMCwweGIzLDB4MDAsMHgyNCwweDMwLDB4MDksMHgwMCwweDAyLDB4YzYsMHgxMCB9LAotICAxNiwgMHg4NDAwLCAwLCB7MHg4MCwweDQyLDB4MjAsMHgwMCwweDhiLDB4YjAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NDEwLCAwLCB7MHgyMiwweDAxLDB4MWUsMHgwMCwweGI3LDB4OTQsMHgyMSwweGU0LDB4NDgsMHhkOSwweDEyLDB4NWUsMHg0MCwweGI3LDB4OTAsMHgyOSB9LAotICAxNiwgMHg4NDIwLCAwLCB7MHhlMCwweDhiLDB4NjksMHgxMiwweGQ2LDB4ODAsMHgzNywweDgyLDB4MmMsMHhlOCwweDA4LDB4NGEsMHgwMiwweDVlLDB4MDAsMHhiNyB9LAotICAxNiwgMHg4NDMwLCAwLCB7MHhhNCwweDJkLDB4MjAsMHgwYiwweDc5LDB4MDIsMHhkNiwweDA4LDB4ODYsMHg5MCwweDI5LDB4YTAsMHgwYiwweDc5LDB4MDIsMHhkOCB9LAotICAxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDBjLDB4MDAsMHhmYiwweGEwLDB4MjgsMHhlOCB9LAotICAxNiwgMHg4NDUwLCAwLCB7MHgwZSwweDJhLDB4MDIsMHg4YywweDAwLDB4ZDMsMHgwMCwweDY0LDB4YzAsMHgwZiwweDAwLDB4NDMsMHgwZSwweGM0LDB4ZjMsMHgwMCB9LAotICAxNiwgMHg4NDYwLCAwLCB7MHg3OCwweGVjLDB4MGUsMHgwYSwweDQzLDB4MGUsMHgyMCwweDczLDB4ZTAsMHgzYywweDAyLDB4NGYsMHgwMCwweDAzLDB4YzQsMHg0MCB9LAotICAxNiwgMHg4NDcwLCAwLCB7MHhjMywweDAwLDB4MzgsMHhjMCwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NDgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHhiYywweGNjLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGZiLDB4MDAsMHgzYyB9LAotICAxNiwgMHg4NDkwLCAwLCB7MHhjMiwweDBjLDB4MjAsMHgwMywweDZjLDB4NTAsMHhmMywweDAwLDB4MzYsMHhjNCwweDBmLDB4NDAsMHgwMywweGZjLDB4MDgsMHhmZiB9LAotICAxNiwgMHg4NGEwLCAwLCB7MHgxYSwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDEsMHhlNCwweDMwLDB4ZmYsMHgwMiwweDNmLDB4YzAsMHgwZiwweGYwLDB4NjMsMHhkMCB9LAotICAxNiwgMHg4NGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4NDAsMHhmYiwweDAwLDB4YjIsMHhkOCB9LAotICAxNiwgMHg4NGMwLCAwLCB7MHgwYywweGIwLDB4MDEsMHgyZCwweDIwLDB4ZGIsMHgwMSwweDNhLDB4YzgsMHg4YywweDM4LDB4MDMsMHhhOCwweDAwLDB4ZmIsMHg0OCB9LAotICAxNiwgMHg4NGQwLCAwLCB7MHgzZSwweGM5LDB4MGYsMHg4MCwweDAzLDB4ZWMsMHg0MCwweGZiLDB4MDEsMHgzZSwweDAwLDB4MGYsMHgwOCwweDAzLDB4YTQsMHgwOCB9LAotICAxNiwgMHg4NGUwLCAwLCB7MHhmYSwweDgwLDB4YjIsMHg4MCwweDBmLDB4YjEsMHgwMiwweDZhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NGYwLCAwLCB7MHg0OCwweDE5LDB4MWMsMHg4MCwweGJmLDB4MzAsMHgyMSwweGNhLDB4MDgsMHhmMCwweDBhLDB4MGMsMHg4MCwweDhmLDB4NTAsMHgyMSB9LAotICAxNiwgMHg4NTAwLCAwLCB7MHhjMiwweDA4LDB4NzAsMHg1MCwweDljLDB4MDAsMHhiNywweDAwLDB4MzksMHhjNCwweDBiLDB4NDAsMHgwMiwweDljLDB4MDQsMHhiNyB9LAotICAxNiwgMHg4NTEwLCAwLCB7MHgyMCwweDI1LDB4NDAsMHgwYiwweDcwLDB4MDIsMHgxNCwweDgwLDB4YjYsMHgwMCwweDIxLDB4ODAsMHgwYiwweGY4LDB4MDIsMHgxMiB9LAotICAxNiwgMHg4NTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiNywweGIwLDB4MjEsMHhlYyB9LAotICAxNiwgMHg4NTMwLCAwLCB7MHgwYiwweDc4LDB4MTIsMHhkZSwweDg0LDB4OTcsMHg4MCwweDBkLDB4ZTAsMHgyOCwweGY4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg5MCB9LAotICAxNiwgMHg4NTQwLCAwLCB7MHgyZCwweGU0LDB4MGIsMHg2OCwweDgyLDB4NWUsMHg4MCwweGI3LDB4YTAsMHgyOSwweDIwLDB4MGIsMHg0OCwweDAyLDB4OTYsMHgwMCB9LAotICAxNiwgMHg4NTUwLCAwLCB7MHhiNywweDgwLDB4MjEsMHhlMSwweDBiLDB4N2EsMHgwMiwweDcwLDB4NDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NTYwLCAwLCB7MHg0OCwweDA0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzOCwweDAyLDB4OGMsMHgwNCwweDgzLDB4MDAsMHgyOCB9LAotICAxNiwgMHg4NTcwLCAwLCB7MHhjMCwweDg4LDB4MzksMHgwMiwweDRjLDB4NDAsMHhiMywweDA0LDB4MjgsMHhjMCwweDFiLDB4MTAsMHgwMiwweDhjLDB4MDEsMHhiMyB9LAotICAxNiwgMHg4NTgwLCAwLCB7MHgwNCwweDI0LDB4ODgsMHg0YiwweDMxLDB4MDIsMHgwNCwweDAwLDB4YjMsMHg4MCwweDIwLDB4ZjIsMHgwYiwweDMwLDB4MDIsMHgwMiB9LAotICAxNiwgMHg4NTkwLCAwLCB7MHgyNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCB9LAotICAxNiwgMHg4NWEwLCAwLCB7MHgwZiwweGU4LDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMSwweDNhLDB4ODAsMHg4YywweGVkLDB4MDMsMHhmYiwweDA0LDB4ZmEsMHgwMCB9LAotICAxNiwgMHg4NWIwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHg2YywweDAzLDB4ZmIsMHhjOCwweGJlLDB4YzIsMHgxZiwweDgwLDB4MGYsMHhlNSwweDAzLDB4YTgsMHgwMCB9LAotICAxNiwgMHg4NWMwLCAwLCB7MHhmZSwweDQ4LDB4MzMsMHg4MCwweDRmLDB4YTAsMHgwMywweDdhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzYywweDAwLDB4MGMsMHg4MSwweDkzLDB4NjAsMHgwMCwweGY4LDB4MDEsMHgzNiB9LAotICAxNiwgMHg4NWUwLCAwLCB7MHgxMCwweDBmLDB4ODAsMHgwMywweGEwLDB4MjAsMHhmOCwweDAwLDB4MmEsMHgwMSwweDhmLDB4ODQsMHgxMywweGUxLDB4MDAsMHhmOCB9LAotICAxNiwgMHg4NWYwLCAwLCB7MHgxOCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MTQsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg4NjAwLCAwLCB7MHg4MCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU0LDB4MDAsMHhmMSwweDAwLDB4YWEsMHg0MCB9LAotICAxNiwgMHg4NjEwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZTEsMHgwMCwweDM4LDB4NDAsMHgxYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHhhMCB9LAotICAxNiwgMHg4NjIwLCAwLCB7MHgzYSwweDQwLDB4NDcsMHg5YSwweDkzLDB4YTIsMHg4MCwweGY4LDB4MTAsMHgzZSwweDQwLDB4MGIsMHg5NCwweDAzLDB4ZTYsMHg0MCB9LAotICAxNiwgMHg4NjMwLCAwLCB7MHhmOSwweGMwLDB4M2UsMHg2OCwweDBiLDB4MTAsMHgwMywweDAyLDB4ODQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NjQwLCAwLCB7MHg4MCwweDA0LDB4ZTQsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwNCwweDg5LDB4MDAsMHgzNiB9LAotICAxNiwgMHg4NjUwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiOSwweDgwLDB4MmUsMHg0MCwweDRmLDB4OTQsMHgwMywweDYxLDB4MTAsMHhlOCB9LAotICAxNiwgMHg4NjYwLCAwLCB7MHg0MCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHhlNiwweDA0LDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyMCB9LAotICAxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNCwweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCB9LAotICAxNiwgMHg4NjgwLCAwLCB7MHgwYSwweDEwLDB4NTIsMHgwNCwweDA0LDB4YTksMHgwNCwweDJhLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMCB9LAotICAxNiwgMHg4NjkwLCAwLCB7MHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTgsMHgwZCwweGI4LDB4NDAsMHgyZSwweDQwLDB4MDksMHg5NCwweDAyLDB4ZTUsMHgwMCB9LAotICAxNiwgMHg4NmEwLCAwLCB7MHhiOSwweDA0LDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NmIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MjAsMHgyMCwweGM4LDB4MGEsMHgxMCwweDQyLDB4MDQsMHg5MCwweDgxLDB4MjAsMHgwNCB9LAotICAxNiwgMHg4NmMwLCAwLCB7MHhjOCwweDA4LDB4MzAsMHgyNiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MmMsMHg0OCwweDBiLDB4OTAsMHgwMiwweDQ1LDB4MDEsMHhiMSB9LAotICAxNiwgMHg4NmQwLCAwLCB7MHg0MCwweDJjLDB4NDAsMHgwYiwweDEyLDB4ODIsMHhjNCwweDAwLDB4YjEsMHgyYiwweDJjLDB4NGEsMHgwYiwweDEyLDB4ODIsMHgwMiB9LAotICAxNiwgMHg4NmUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwOCwweDIxLDB4NDgsMHhmOCwweDUwLDB4MzIsMHgwMCB9LAotICAxNiwgMHg4NmYwLCAwLCB7MHg0ZSwweDg1LDB4MGIsMHgyMSwweDQwLDB4YTgsMHg1MiwweDJhLDB4MDAsMHgwOCwweDgwLDB4MjMsMHhlMSwweDQwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHg4NzAwLCAwLCB7MHgzYSwweDE0LDB4MGYsMHhhMCwweDQzLDB4YTgsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MiwweDAzLDB4ZTAsMHgwMCB9LAotICAxNiwgMHg4NzEwLCAwLCB7MHhmMCwweDIwLDB4M2UsMHg4OCwweDRmLDB4ODIsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NzIwLCAwLCB7MHg5OCwweDE5LDB4ZTQsMHg0MCwweGY5LDB4MTEsMHgzNCwweDQ0LDB4MmQsMHhkMCwweDAzLDB4ZTQsMHg1MCwweDc5LDB4MTAsMHgzOCB9LAotICAxNiwgMHg4NzMwLCAwLCB7MHg0NCwweDJmLDB4ZDAsMHgwMywweGY1LDB4MTAsMHhmOSwweDEwLDB4M2UsMHg0NSwweDA2LDB4NTAsMHgwMywweGU1LDB4MDAsMHhlOSB9LAotICAxNiwgMHg4NzQwLCAwLCB7MHg0MCwweDNmLDB4NDAsMHgwZiwweGQwLDB4NDMsMHhmNSwweDAwLDB4ZmQsMHgyOCwweDNmLDB4NDAsMHgwZiwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHg4NzUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMSwweGU2LDB4MDAsMHhkOSwweDkwLDB4MzcsMHg2OSB9LAotICAxNiwgMHg4NzYwLCAwLCB7MHg0ZCwweDkwLDB4MjMsMHg2NywweDgwLDB4ZDksMHhlMCwweDM3LDB4NjgsMHgwZSwweGQwLDB4MDcsMHhhNCwweDAwLDB4MDUsMHg4NiB9LAotICAxNiwgMHg4NzcwLCAwLCB7MHgzZSwweDY2LDB4MGQsMHg1MCwweDIzLDB4MjYsMHgwMCwweGM5LDB4ODIsMHgzZCwweDQwLDB4MGQsMHhkOCwweDA3LDB4MzYsMHgwMiB9LAotICAxNiwgMHg4NzgwLCAwLCB7MHhjZCwweGMwLDB4MzMsMHg2MCwweDBjLDB4OWMsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NzkwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4YTIsMHgyMiwweDEwLDB4MjgsMHg4YSwweDgyLDB4MjMsMHg4NCwweDg4LDB4YTAsMHgyMiB9LAotICAxNiwgMHg4N2EwLCAwLCB7MHgxNCwweDQ4LDB4ODAsMHg0MiwweDgyLDB4MDAsMHg4OCwweDQwLDB4MmUsMHgzMCwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHhkOCB9LAotICAxNiwgMHg4N2IwLCAwLCB7MHg5MCwweDI2LDB4MDAsMHgwOCwweDg0LDB4MGEsMHgyMSwweDAwLDB4YzgsMHhhMCwweGEyLDB4MTQsMHgyOCwweDhjLDB4MDIsMHgwZSB9LAotICAxNiwgMHg4N2MwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MjAsMHg5MSwweDQwLDB4MmMsMHg0NCB9LAotICAxNiwgMHg4N2QwLCAwLCB7MHgxOCwweDEwLDB4MDIsMHg4NSwweDA0LDB4YjEsMHg0MCwweDBjLDB4NDAsMHgwYSwweDEwLDB4MDYsMHg4NCwweDMwLDB4ODEsMHg0MCB9LAotICAxNiwgMHg4N2UwLCAwLCB7MHgyYywweDQ4LDB4NTksMHgxMCwweDFhLDB4MDQsMHg2MCwweDgxLDB4MDksMHgyZSwweDQwLDB4MWIsMHgxNCwweDAyLDB4MjUsMHgwMCB9LAotICAxNiwgMHg4N2YwLCAwLCB7MHg5MSwweGUwLDB4MjAsMHg2MCwweDA4LDB4MTYsMHgwMiwweDAwLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ODAwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDgxLDB4MDAsMHgyYSwweDQxLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGExLDB4MDAsMHgyYSB9LAotICAxNiwgMHg4ODEwLCAwLCB7MHg0MSwweDA4LDB4YjAsMHg4MiwweDI0LDB4MTEsMHg4YiwweDAwLDB4MmUsMHg0MCwweDE4LDB4OTEsMHgwMiwweGEwLDB4MDQsMHg5OCB9LAotICAxNiwgMHg4ODIwLCAwLCB7MHgyMCwweDJlLDB4NTQsMHgxYiwweDkwLDB4ODIsMHgyYywweDAwLDB4ODksMHgxMCwweDIyLDB4NDQsMHg4OCwweDkwLDB4MDIsMHgwNiB9LAotICAxNiwgMHg4ODMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHg4ODQwLCAwLCB7MHg0YywweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg4ZSwweDEwLDB4MDIsMHhhNCwweGMyLDB4YzksMHgwMCB9LAotICAxNiwgMHg4ODUwLCAwLCB7MHgzZSwweDQwLDB4MGQsMHgxNiwweDEzLDB4MDEsMHg4NCwweGM4LDB4MjAsMHgzYywweDYwLDB4MGYsMHg5MCwweDEyLDB4MDQsMHgwMCB9LAotICAxNiwgMHg4ODYwLCAwLCB7MHhkOSwweDQwLDB4MzIsMHg1MCwweDBjLDB4OTAsMHgwMywweDI4LDB4ODQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ODcwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4NGYsMHg5OSwweDRhLDB4NDQsMHgwMCwweDk5LDB4MDAsMHhiNCB9LAotICAxNiwgMHg4ODgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgxMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBmLDB4OTAsMHgwMywweGUzLDB4MDAsMHhmOCB9LAotICAxNiwgMHg4ODkwLCAwLCB7MHgwMSwweDM2LDB4NDAsMHgwYywweDk5LDB4MDMsMHhlNCwweDAyLDB4ZjksMHg4MCwweDNlLDB4NjAsMHg0ZiwweDkwLDB4MGIsMHhjYSB9LAotICAxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDAwLDB4M2MsMHgwMCB9LAotICAxNiwgMHg4OGIwLCAwLCB7MHgxZCwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZTgsMHgwMCwweDMyLDB4MDAsMHgwYywweDg0LDB4ODMsMHhlMCwweDEwLDB4ZTgsMHgyMCB9LAotICAxNiwgMHg4OGMwLCAwLCB7MHgzMiwweDAwLDB4OGUsMHg4NCwweDAzLDB4MjEsMHg4MCwweGM4LDB4MDAsMHgzYSwweDE5LDB4MGYsMHgwNCwweDAzLDB4ZTAsMHgyNCB9LAotICAxNiwgMHg4OGQwLCAwLCB7MHhmMCwweDAyLDB4M2MsMHgwMCwweDBmLDB4ODAsMHgxMywweDhhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OGUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMiwweDhhLDB4MDEsMHgwZiwweGEyLDB4NjgsMHhhMCwweDAwLDB4MjgsMHgwMCwweDhhLDB4MDAsMHg3NyB9LAotICAxNiwgMHg4OGYwLCAwLCB7MHg4MCwweDY4LDB4ZTAsMHgxMiwweGU4LDB4MDAsMHhkZSwweDAwLDB4MzYsMHg4MSwweDA4LDB4ZTAsMHgwMywweDdhLDB4MDgsMHhhZSB9LAotICAxNiwgMHg4OTAwLCAwLCB7MHhjNCwweDJmLDB4ODAsMHgwOCwweGVkLDB4MDIsMHhmYSwweDAwLDB4YmUsMHhhMCwweDNiLDB4ODAsMHgwYiwweGEwLDB4NDIsMHgwYSB9LAotICAxNiwgMHg4OTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHg4NSwweDRjLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCB9LAotICAxNiwgMHg4OTIwLCAwLCB7MHg4OCwweGIwLDB4MDIsMHgwYywweDE0LDB4YTMsMHgwNCwweDIwLDB4YzQsMHgxOCwweDM4LDB4MDIsMHhlYywweDEwLDB4OTMsMHg1NCB9LAotICAxNiwgMHg4OTMwLCAwLCB7MHgyOCwweGMwLDB4MGEsMHgwMCwweDAyLDB4NGUsMHgwMCwweDgzLDB4NDksMHg2OCwweGMwLDB4MDIsMHgzOSwweDQyLDB4Y2UsMHg0MCB9LAotICAxNiwgMHg4OTQwLCAwLCB7MHhiMywweDAwLDB4MmMsMHhlNiwweDBiLDB4YjAsMHgwMiwweDhiLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OTUwLCAwLCB7MHgyMCwweDAxLDB4MWMsMHgwOCwweDg3LDB4MjAsMHgyYywweDgwLDB4MTgsMHhmMiwweDIyLDB4MWMsMHgwMCwweDg3LDB4MTAsMHgyMSB9LAotICAxNiwgMHg4OTYwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHg4MiwweGRjLDB4ODAsMHg5NiwweDgwLDB4MmQsMHhjMCwweDBhLDB4NDAsMHgwMiwweDdkLDB4NDAsMHgyNyB9LAotICAxNiwgMHg4OTcwLCAwLCB7MHg2NCwweDZkLDB4ZDAsMHg0OCwweDYwLDB4NDIsMHhkOCwweDA1LDB4YjYsMHgwNCwweDI5LDB4YzAsMHg0YiwweDcyLDB4MDIsMHgyOCB9LAotICAxNiwgMHg4OTgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDNlLDB4ODgsMHhkNywweGUwLDB4M2QsMHhlMCB9LAotICAxNiwgMHg4OTkwLCAwLCB7MHgwOCwweDdjLDB4NDIsMHgzZSwweDAwLDB4ZTMsMHg4MiwweDIwLDB4ZTAsMHgwYywweDY4LDB4MDMsMHhkZiwweDA0LDB4ZDcsMHg4MCB9LAotICAxNiwgMHg4OWEwLCAwLCB7MHgzYiwweGUwLDB4NGUsMHg0OCwweDBhLDB4NWUsMHg4MCwweGM3LDB4YzIsMHgxOSwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZDYsMHgwOCB9LAotICAxNiwgMHg4OWIwLCAwLCB7MHhmNywweDgwLDB4M2QsMHhlMCwweDBmLDB4ZjgsMHgwMywweGFhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OWMwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg0MCwweGZiLDB4NDAsMHg3ZSwweDgwLDB4MGUsMHgzNiwweDgzLDB4ZWQsMHg0MCwweGRiLDB4NjAsMHgzZSB9LAotICAxNiwgMHg4OWQwLCAwLCB7MHg4MCwweDBmLDB4YTAsMHgwMywweGVkLDB4MjgsMHhkYSwweDAwLDB4MzIsMHhjNCwweDBjLDB4YjAsMHgwYiwweGNjLDB4MDAsMHhmYiB9LAotICAxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZSwweDgwLDB4MTMsMHhlMCwweDEwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIxLDB4NTMsMHhjMiB9LAotICAxNiwgMHg4OWYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZiwweGMwLDB4MzMsMHhlMCB9LAotICAxNiwgMHg4YTAwLCAwLCB7MHgwYywweGY5LDB4MDMsMHg3ZiwweDA0LDB4Y2YsMHhkMCwweDNmLDB4ZTQsMHgwZiwweGI4LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg5NCB9LAotICAxNiwgMHg4YTEwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhjOCwweDAzLDB4N2UsMHgxMCwweGYzLDB4ODAsMHgzYiwweGUwLDB4MGYsMHhmOCwweDAzLDB4ZmUsMHg0OCB9LAotICAxNiwgMHg4YTIwLCAwLCB7MHhlZCwweDgwLDB4MzMsMHgyNCwweDA0LDB4ZjgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YTMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg4MCwweGJmLDB4MDQsMHgyMSwweDI4LDB4MDgsMHhmOCwweDAyLDB4MWUsMHhjMCwweGNmLDB4OTAsMHgyMSB9LAotICAxNiwgMHg4YTQwLCAwLCB7MHg0YywweDBiLDB4NWEsMHg0MiwweGRlLDB4MDAsMHhiNywweDgwLDB4MmMsMHhlOCwweDBiLDB4MDQsMHgwMiwweDFjLDB4MDAsMHhiNyB9LAotICAxNiwgMHg4YTUwLCAwLCB7MHhhMCwweDM1LDB4MTAsMHg4ZiwweDcxLDB4MTMsMHhkZSwweGMwLDB4ODQsMHgxMCwweDIxLDB4ODAsMHgwZCwweDcxLDB4MDIsMHgyYSB9LAotICAxNiwgMHg4YTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHg0MCwweDljLDB4MDgsMHhiNywweDAwLDB4MjUsMHhjOCB9LAotICAxNiwgMHg4YTcwLCAwLCB7MHgwOCwweDcxLDB4MDIsMHhjYywweDgwLDB4OTcsMHgwMCwweDI5LDB4YzAsMHg4YiwweDcyLDB4MDYsMHhkYywweDA4LDB4YjUsMHgwMCB9LAotICAxNiwgMHg4YTgwLCAwLCB7MHgyZCwweGM4LDB4MGIsMHg0MCwweDAyLDB4MWMsMHg0MCwweGJmLDB4MTAsMHgyMSwweGMwLDB4MGIsMHg3NCwweDAyLDB4ZDQsMHg4MCB9LAotICAxNiwgMHg4YTkwLCAwLCB7MHhhNywweDQwLDB4MjEsMHg0MSwweDA4LDB4NzAsMHgwMiwweDA0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YWEwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyNCwweDAwLDB4MDgsMHgzNCwweDgyLDB4YWMsMHgxMSwweDgzLDB4MDAsMHgyMCB9LAotICAxNiwgMHg4YWIwLCAwLCB7MHgwMCwweDRiLDB4MTgsMHgyNiwweGNmLDB4MjAsMHhiMSwweDA2LDB4MmMsMHhjMSwweDBiLDB4MzIsMHgwMiwweDBlLDB4MDgsMHhiMyB9LAotICAxNiwgMHg4YWMwLCAwLCB7MHg4OCwweDI0LDB4MzIsMHgwYSwweDMwLDB4MTIsMHg4NCwweDA4LDB4ODAsMHgwMCwweGEwLDB4MzQsMHgyOCwweDMwLDB4MDIsMHgxOCB9LAotICAxNiwgMHg4YWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4YjYsMHg0MCB9LAotICAxNiwgMHg4YWUwLCAwLCB7MHgyYywweGY0LDB4NDMsMHhmYywweDAxLDB4ZGYsMHgwMCwweDNhLDB4MDAsMHgwMywweDkyLDB4MDMsMHhmZiwweDg4LDB4ZjksMHgwMCB9LAotICAxNiwgMHg4YWYwLCAwLCB7MHgyZiwweGMwLDB4MWIsMHgwZSwweDRiLDB4MmUsMHg5MCwweGZiLDB4ZTAsMHgzMCwweDMyLDB4MGIsMHg5OCwweDAyLDB4ZWMsMHgwOCB9LAotICAxNiwgMHg4YjAwLCAwLCB7MHg2YiwweGMwLDB4MzIsMHhjMCwweDA4LDB4ZjAsMHgwOSwweDNlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YjEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAxLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzYSB9LAotICAxNiwgMHg4YjIwLCAwLCB7MHgxMCwweDBmLDB4YjQsMHgwMywweGVjLDB4MDAsMHhmMCwweDAwLDB4M2MsMHhjMCwweDBmLDB4ODAsMHgwYiwweGFkLDB4MjAsMHhmYiB9LAotICAxNiwgMHg4YjMwLCAwLCB7MHg0MCwweDNlLDB4MTAsMHgwNywweGE4LDB4NjMsMHhlMCwweDAwLDB4ZmIsMHg4MCwweDNlLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHhlMCB9LAotICAxNiwgMHg4YjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDAwLDB4NzIsMHgwMCB9LAotICAxNiwgMHg4YjUwLCAwLCB7MHgwZiwweGYwLDB4MjMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGMwLDB4MDMsMHhkYywweDAwLDB4OGYsMHgwMCB9LAotICAxNiwgMHg4YjYwLCAwLCB7MHgzMywweGMxLDB4MGMsMHhjMCwweDAzLDB4YmUsMHgwMCwweGZmLDB4OTAsMHgzYiwweDI4LDB4MGUsMHg1OSwweDAzLDB4MmUsMHgwMCB9LAotICAxNiwgMHg4YjcwLCAwLCB7MHg3YiwweDAwLDB4MzIsMHhjNCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YjgwLCAwLCB7MHhjMSwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHg2MiwweGEwLDB4MGYsMHhiMCwweDAyLDB4ZWMsMHgwOSwweDhiLDB4MDAsMHgyZSB9LAotICAxNiwgMHg4YjkwLCAwLCB7MHgzMCwweDBiLDB4YTgsMHgwMywweGFjLDB4MDAsMHhmYSwweGMxLDB4MjIsMHhjMSwweDA4LDB4OGMsMHgwMiwweDJjLDB4MDAsMHhiMyB9LAotICAxNiwgMHg4YmEwLCAwLCB7MHg4MSwweDJhLDB4MDAsMHgwZCwweDg4LDB4YjIsMHgyMiwweDAwLDB4YjMsMHhjMCwweDIyLDB4YzgsMHgwYiwweGIwLDB4NDIsMHg2MSB9LAotICAxNiwgMHg4YmIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDZjLDB4MDAsMHhiYiwweDAxLDB4MjIsMHg2MiB9LAotICAxNiwgMHg4YmMwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHhlYywweDA0LDB4OGIsMHgwMCwweDJlLDB4YTIsMHg0OSwweDg4LDB4MjYsMHhlYywweDAwLDB4YTgsMHg4MCB9LAotICAxNiwgMHg4YmQwLCAwLCB7MHgyMiwweGMwLDB4MjgsMHg4MiwweDBhLDB4YWMsMHhhMCwweGJiLDB4MDgsMHgyMiwweGMwLDB4MDgsMHg4MCwweDBhLDB4MjgsMHg4NCB9LAotICAxNiwgMHg4YmUwLCAwLCB7MHhiOSwweGMwLDB4YTIsMHgwMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YmYwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MTAsMHgyMCwweDQ4LDB4MGEsMHgzMiwweDAyLDB4Y2MsMHg4MCwweDgzLDB4MDEsMHgyNCB9LAotICAxNiwgMHg4YzAwLCAwLCB7MHgwMCwweDBiLDB4MDIsMHgwNiwweDhjLDB4NjAsMHhhMCwweDIwLDB4MjAsMHhjOCwweDA4LDB4MDEsMHgwMiwweDBjLDB4MDAsMHhiMyB9LAotICAxNiwgMHg4YzEwLCAwLCB7MHgwMCwweDI4LDB4MDAsMHgwOSwweDIwLDB4MDIsMHgwOCwweDgwLDB4YjEsMHgwMCwweGEwLDB4ODAsMHgwYiwweDMwLDB4MDIsMHg0MiB9LAotICAxNiwgMHg4YzIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDZjLDB4MDAsMHhmZiwweDAwLDB4YTIsMHgwZSB9LAotICAxNiwgMHg4YzMwLCAwLCB7MHgwYiwweGYxLDB4MDMsMHhmYywweDA4LDB4Y2YsMHgyMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhmYywweDg0LDB4YTgsMHgyMCB9LAotICAxNiwgMHg4YzQwLCAwLCB7MHhiMiwweGM4LDB4OGMsMHg4MCwweDAzLDB4YWMsMHg0NCwweGZiLDB4NzAsMHgzYSwweGMwLDB4MGUsMHg5MCwweDAzLDB4MmMsMHhhNCB9LAotICAxNiwgMHg4YzUwLCAwLCB7MHhmYiwweDAwLDB4YjIsMHg0MCwweDBmLDB4YjAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YzYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MjYsMHgzZSwweDAwLDB4MGYsMHhiNiwweDEzLDB4ZWQsMHgwMCwweGZiLDB4MTAsMHgzZiB9LAotICAxNiwgMHg4YzcwLCAwLCB7MHgwMCwweDBmLDB4YzEsMHgxMywweGFjLDB4ODAsMHhmOCwweDEyLDB4M2UsMHhjNiwweDRmLDB4NDIsMHg0MywweGZjLDB4MDQsMHhmZiB9LAotICAxNiwgMHg4YzgwLCAwLCB7MHgzMSwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweGJmLDB4YzAsMHg4ZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHg4YzkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4NDAsMHhmYywweDgwLDB4MzYsMHhjOCB9LAotICAxNiwgMHg4Y2EwLCAwLCB7MHgwZiwweDA5LDB4MDMsMHhjMiwweDAwLDB4ZjgsMHhjMCwweDMzLDB4Y2MsMHgyYywweDRjLDB4MDMsMHg2MywweDkwLDB4ZTAsMHg5MCB9LAotICAxNiwgMHg4Y2IwLCAwLCB7MHgzYSwweGMwLDB4MGQsMHg1MCwweDBiLDB4M2MsMHgwNCwweGRmLDB4NjQsMHgzZiwweGM4LDB4OGQsMHhmMSwweDQzLDB4MmMsMHgwMCB9LAotICAxNiwgMHg4Y2MwLCAwLCB7MHhkNSwweDAwLDB4MzMsMHhjMCwweDQ1LDB4ZjIsMHgyMywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4Y2QwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHg4MCwweGJhLDB4MDIsMHgyMSwweGRlLDB4OGIsMHg4MiwweDIyLDB4ZTAsMHgyMCwweGIwLDB4MDAsMHgyYiB9LAotICAxNiwgMHg4Y2UwLCAwLCB7MHhlYywweDA5LDB4ODAsMHgwMiwweGUzLDB4NDAsMHhiYSwweDIwLDB4MmYsMHhkYywweDA4LDB4OTgsMHgxMiwweDJjLDB4MDAsMHg4YiB9LAotICAxNiwgMHg4Y2YwLCAwLCB7MHg1MSwweDJhLDB4ZDAsMHgwOCwweDcyLDB4MjIsMHgyZSwweDAwLDB4OGQsMHg4MCwweDIxLDB4ZDAsMHgwOCwweGI2LDB4ODIsMHgyMCB9LAotICAxNiwgMHg4ZDAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhiOSwweDI4LDB4MjQsMHhjMCB9LAotICAxNiwgMHg4ZDEwLCAwLCB7MHg0YSwweDEyLDB4MTIsMHg4OCwweDg1LDB4YTgsMHgyMCwweDIwLDB4YzAsMHgwYiwweDIyLDB4MDIsMHhjMCwweDkxLDB4YTEsMHgwMCB9LAotICAxNiwgMHg4ZDIwLCAwLCB7MHgyOCwweGMyLDB4MGIsMHgwMCwweDEyLDB4OGMsMHg0MCwweGEzLDB4MjAsMHgyMCwweGM0LDB4MGIsMHgzMCwweDBhLDB4MGMsMHgxMSB9LAotICAxNiwgMHg4ZDMwLCAwLCB7MHg5OSwweDAwLDB4MjAsMHhjNSwweDA5LDB4MDEsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZDQwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgwMCwweGI4LDB4ODAsMHgyMiwweGMwLDB4MGIsMHg4OCwweDAyLDB4ZWUsMHgwMSwweGI4LDB4YzEsMHgyYSB9LAotICAxNiwgMHg4ZDUwLCAwLCB7MHhjMCwweDFiLDB4YTgsMHgwNiwweGUyLDB4MDAsMHhiYiwweDgwLDB4MmUsMHhjMCwweDhhLDB4ODAsMHgwMiwweGFjLDB4MDAsMHhhYiB9LAotICAxNiwgMHg4ZDYwLCAwLCB7MHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgyYywweDAwLDB4OTksMHgwMCwweDI0LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgzMCB9LAotICAxNiwgMHg4ZDcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhiMCwweDgwLDB4MzYsMHhjMCB9LAotICAxNiwgMHg4ZDgwLCAwLCB7MHgwZSwweGE4LDB4MTMsMHhlMiwweDg1LDB4ZjMsMHhjMCwweDMyLDB4YzAsMHgwZSwweDljLDB4MjMsMHhlNywweDI0LDB4ZTgsMHg4MiB9LAotICAxNiwgMHg4ZDkwLCAwLCB7MHgzYSwweGMxLDB4MGYsMHg5NCwweDAzLDB4YWMsMHgwMiwweGViLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MmUsMHgxMCB9LAotICAxNiwgMHg4ZGEwLCAwLCB7MHg1MSwweDAwLDB4YjIsMHhjMCwweDBkLDB4YjAsMHgwMywweDUwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZGIwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhkMCwweDAzLDB4ZjAsMHgwNCwweGZkLDB4MDQsMHgzZiB9LAotICAxNiwgMHg4ZGMwLCAwLCB7MHhjMCwweDRjLDB4YzAsMHgwMywweGYwLDB4MTAsMHhmYywweDAwLDB4MWYsMHhjMCwweDBkLDB4ZDEsMHgyMywweDFjLDB4MDAsMHhjNyB9LAotICAxNiwgMHg4ZGQwLCAwLCB7MHgwMCwweDM5LDB4YzAsMHgwZCwweGYwLDB4ODMsMHhmZSwweDQ0LDB4ZWQsMHgwMCwweDNiLDB4YzAsMHgwZiwweDc0LDB4MDMsMHhmOCB9LAotICAxNiwgMHg4ZGUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDAxLDB4YmEsMHhjMSB9LAotICAxNiwgMHg4ZGYwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhhMSwweDA4LDB4ZmEsMHgwMCwweDMwLDB4YzgsMHg4ZiwweDk0LDB4MDMsMHgyNSwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHg4ZTAwLCAwLCB7MHgzYywweGMwLDB4MGYsMHgwNCwweDgzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGUwLDB4MGYsMHg3MSwweDBiLDB4MmMsMHg0MCB9LAotICAxNiwgMHg4ZTEwLCAwLCB7MHhmZCwweDA4LDB4MzcsMHhjMCwweDRlLDB4OTEsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZTIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweGI5LDB4MDAsMHgyMywweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGM4LDB4MDAsMHgzNyB9LAotICAxNiwgMHg4ZTMwLCAwLCB7MHhmMCwweDBiLDB4ODAsMHgwMSwweDY0LDB4MDAsMHg0OSwweDAyLDB4MzMsMHhjMCwweDg0LDB4OWMsMHgwMywweDNjLDB4MDAsMHhiZiB9LAotICAxNiwgMHg4ZTQwLCAwLCB7MHgwMiwweDBmLDB4ZDAsMHgwOCwweGY0LDB4MDIsMHgwZSwweDEwLDB4YmQsMHg4MCwweDMzLDB4ZTAsMHgwOCwweDkwLDB4MGEsMHgzMiB9LAotICAxNiwgMHg4ZTUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMCwweDA2LDB4MjAsMHhjMCB9LAotICAxNiwgMHg4ZTYwLCAwLCB7MHgwOCwweDAwLDB4NDIsMHg4NCwweDAwLDB4YTAsMHgwMCwweDIwLDB4ZjAsMHgwYiwweDAwLDB4MjIsMHhjYywweDAwLDB4OTAsMHgwMCB9LAotICAxNiwgMHg4ZTcwLCAwLCB7MHgyOCwweGMwLDB4MDIsMHgzZCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyYywweGMyLDB4OWEsMHgzOCwweDAyLDB4MDYsMHgwNCB9LAotICAxNiwgMHg4ZTgwLCAwLCB7MHhiMSwweDEyLDB4MjAsMHhlMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZTkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI2LDB4ODAsMHgyMSwweGUwLDB4MjgsMHhlYSwweDAyLDB4MzYsMHg4MCwweDg2LDB4OTAsMHg2NSB9LAotICAxNiwgMHg4ZWEwLCAwLCB7MHhlMCwweDFiLDB4ZGEsMHgwNiwweDVlLDB4MDEsMHg5ZSwweDg0LDB4MjUsMHhlYywweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHhiNyB9LAotICAxNiwgMHg4ZWIwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHgwOCwweDc5LDB4NGEsMHgxNiwweDQwLDB4YmQsMHg4MCwweDI1LDB4ZTAsMHgwOCwweDM4LDB4MDIsMHgwOCB9LAotICAxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmYiwweDAwLDB4MjgsMHhlMCB9LAotICAxNiwgMHg4ZWQwLCAwLCB7MHgwOCwweDE4LDB4MDIsMHg4YSwweDg4LDB4YTEsMHhhMCwweDIwLDB4YzIsMHgxZiwweDJhLDB4MjMsMHhlNiwweGM4LDB4ZjAsMHhjMCB9LAotICAxNiwgMHg4ZWUwLCAwLCB7MHgzYSwweGVkLDB4NGUsMHgzNCwweDAyLDB4OGMsMHgwOCwweGYzLDB4ODEsMHgxZSwweGMwLDB4MGUsMHgzMCwweDAzLDB4MGUsMHhjMCB9LAotICAxNiwgMHg4ZWYwLCAwLCB7MHhmMSwweDAwLDB4YjAsMHhjYSwweDBlLDB4MjEsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZjAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwOCwweGZlLDB4MTAsMHgzZiwweGQyLDB4MGYsMHhlMCwweDAzLDB4ZWMsMHgwNCwweGZmLDB4MTQsMHg3ZSB9LAotICAxNiwgMHg4ZjEwLCAwLCB7MHhjMCwweDBmLDB4YjEsMHgyMywweGZjLDB4MDEsMHhlZSwweDAwLDB4M2EsMHhjNCwweDBkLDB4YjAsMHgxMywweGJjLDB4MDAsMHhmZiB9LAotICAxNiwgMHg4ZjIwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZSwweGYwLDB4ODMsMHhmYywweDBjLDB4ZmQsMHgxMCwweDNiLDB4YzAsMHgyZiwweGUxLDB4MDMsMHhkMCB9LAotICAxNiwgMHg4ZjMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhmMCwweDgwLDB4MzIsMHhkMCB9LAotICAxNiwgMHg4ZjQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHg2YywweDAwLDB4ZjMsMHg4MCwweDMyLDB4ZGEsMHgwZiwweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHg4ZjUwLCAwLCB7MHgzZSwweGNjLDB4NGMsMHg5OCwweDEzLDB4MmMsMHgxMCwweGZiLDB4MDQsMHgzZSwweGM0LDB4MGMsMHhmMiwweDgzLDB4YTYsMHgxMCB9LAotICAxNiwgMHg4ZjYwLCAwLCB7MHhkZCwweDIwLDB4M2YsMHhkMSwweDBjLDB4YjAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZjcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg4MCwweGI3LDB4MDAsMHgyMSwweGM4LDB4MGMsMHg3MCwweDAyLDB4ZGMsMHgwOCwweGI3LDB4MDAsMHgyMSB9LAotICAxNiwgMHg4ZjgwLCAwLCB7MHhjOCwweDBlLDB4NzAsMHgyMiwweGQ4LDB4MDAsMHhiNywweDAwLDB4MmMsMHhjMiwweDBhLDB4NzAsMHgwYSwweDFmLDB4MDgsMHhiNyB9LAotICAxNiwgMHg4ZjkwLCAwLCB7MHgwMCwweDM5LDB4YzgsMHgwYSwweDcwLDB4MDIsMHgxNCwweDAwLDB4YzUsMHg2OSwweDJjLDB4Y2EsMHgyYSwweDcwLDB4MDIsMHhkMiB9LAotICAxNiwgMHg4ZmEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiZiwweDgxLDB4NjQsMHhlMSB9LAotICAxNiwgMHg4ZmIwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHg1YSwweDAxLDB4YmYsMHg4MCwweDIxLDB4ZWMsMHg0YiwweDc4LDB4NDYsMHg5ZiwweDA4LDB4MzcsMHg4MCB9LAotICAxNiwgMHg4ZmMwLCAwLCB7MHgyZCwweGU4LDB4ODgsMHgxOCwweDAyLDB4MWUsMHg4MSwweGI3LDB4YjAsMHgyZCwweGUwLDB4MDksMHg3YSwweDAyLDB4OGUsMHgwMCB9LAotICAxNiwgMHg4ZmQwLCAwLCB7MHg5NSwweGEwLDB4MmQsMHhlNCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZmUwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgwMCwweGIzLDB4NjAsMHgyMCwweGMwLDB4MDgsMHhiNiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDEsMHgyMCB9LAotICAxNiwgMHg4ZmYwLCAwLCB7MHhjMCwweDhhLDB4YjAsMHg4NiwweGNmLDB4MDAsMHhiYiwweDEwLDB4NmMsMHhjMSwweDBhLDB4MzgsMHgwMiwweDBjLDB4MDEsMHhiMyB9LAotICAxNiwgMHg5MDAwLCAwLCB7MHgwMiwweDI4LDB4YzAsMHgwYiwweGIwLDB4MGEsMHgwYywweDAwLDB4ODEsMHgwMCwweDJlLDB4YzAsMHgwYSwweGI0LDB4ODIsMHhkMiB9LAotICAxNiwgMHg5MDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweDQwLDB4YjYsMHg4MCB9LAotICAxNiwgMHg5MDIwLCAwLCB7MHgwYywweGU0LDB4MDMsMHg3OCwweDgwLDB4ZmUsMHg3NCwweDMyLDB4ODAsMHgwYiwweGU2LDB4MDMsMHhmOSwweDAwLDB4ZmUsMHgwMCB9LAotICAxNiwgMHg5MDMwLCAwLCB7MHgzZSwweDgwLDB4MGMsMHhlMCwweDAzLDB4MjgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4NGQsMHhhMCwweDAzLDB4YTgsMHgwMCB9LAotICAxNiwgMHg5MDQwLCAwLCB7MHhkYSwweDA0LDB4M2UsMHg4MCwweDBjLDB4ZTQsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MDUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MmUsMHg4MCwweDIzLDB4ZTAsMHgwMCwweGY4LDB4MDEsMHgzYyB9LAotICAxNiwgMHg5MDYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MjAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDhmLDB4ODksMHgwMywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHg5MDcwLCAwLCB7MHgwMCwweDNhLDB4MTAsMHgwZSwweDgwLDB4MDEsMHhlMCwweDAwLDB4ZTgsMHg0MCwweDdlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg5MDgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAxLDB4N2UsMHg0MCB9LAotICAxNiwgMHg5MDkwLCAwLCB7MHgyYywweDkwLDB4MGIsMHgyNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NjgsMHgwNSwweDkwLDB4MTMsMHhhNCwweDA0LDB4ZDksMHgwMCB9LAotICAxNiwgMHg5MGEwLCAwLCB7MHgzMiwweDQxLDB4MGUsMHg5MSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHg5MGIwLCAwLCB7MHhmMSwweDAwLDB4MzIsMHg0MCwweDY4LDB4OTAsMHg0MywweDgyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MGMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDQyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSB9LAotICAxNiwgMHg5MGQwLCAwLCB7MHg3MCwweDg4LDB4OTAsMHgwMywweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTgsMHgxMiwweGU0LDB4MDAsMHhiOSB9LAotICAxNiwgMHg5MGUwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyNiwweDAwLDB4YjksMHg4MCwweGEyLDB4NDAsMHgwOCwweDkwLDB4MTIsMHgyMCB9LAotICAxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDA0LDB4MmMsMHg0MCB9LAotICAxNiwgMHg5MTAwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDAxLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwYiwweGIwLDB4MDIsMHhhNCwweDAxLDB4YjksMHgwMCB9LAotICAxNiwgMHg5MTEwLCAwLCB7MHhlMCwweDQwLDB4MGEsMHg5MCwweDgyLDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyYywweDQ4LDB4MGEsMHg5OCwweDAyLDB4MjQsMHg4MCB9LAotICAxNiwgMHg5MTIwLCAwLCB7MHgzOSwweDIwLDB4MjIsMHg0MCwweDJhLDB4OTAsMHgwMiwweDg2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MTMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyYywweDQ4LDB4MDgsMHgxMCwweDEyLDB4MDQsMHgxMCwweGIxLDB4MDQsMHgyYyB9LAotICAxNiwgMHg5MTQwLCAwLCB7MHhkOCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4MjAsMHg0OCwweDA4LDB4MTAsMHgwMiwweGM0LDB4ODAsMHhiMSB9LAotICAxNiwgMHg5MTUwLCAwLCB7MHgyMiwweDJjLDB4NTAsMHg4YSwweDMyLDB4ODIsMHgwNSwweGEwLDB4YjEsMHgyYSwweDIwLDB4NGEsMHgwYSwweDEyLDB4ODIsMHgwMiB9LAotICAxNiwgMHg5MTYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NTAsMHhjOCwweDUyLDB4MmUsMHgxNCB9LAotICAxNiwgMHg5MTcwLCAwLCB7MHgwYywweDg1LDB4MDMsMHgyMSwweDQwLDB4ZjgsMHg1MCwweDNhLDB4MDAsMHgxZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCB9LAotICAxNiwgMHg5MTgwLCAwLCB7MHgzMiwweDE0LDB4MGUsMHg4MCwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAsMHgzYywweDgwLDB4MGUsMHgwMiwweDAzLDB4MjAsMHg4MCB9LAotICAxNiwgMHg5MTkwLCAwLCB7MHhmYSwweDIwLDB4MzIsMHgwOCwweDBlLDB4ODIsMHgxMywweGFlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MWEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg1MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZSB9LAotICAxNiwgMHg5MWIwLCAwLCB7MHg0NCwweDhkLDB4ZDAsMHgwMSwweGJkLDB4MDAsMHhmZCwweDAyLDB4M2UsMHg0NCwweDBmLDB4ZDQsMHgwMCwweGU0LDB4NDgsMHg3OSB9LAotICAxNiwgMHg5MWMwLCAwLCB7MHgxNCwweDNlLDB4NTAsMHgwZiwweDkyLDB4YTIsMHhmNCwweDA4LDB4ZmQsMHgwMCwweDNlLDB4NGEsMHgwZCwweGQyLDB4ODMsMHhlNiB9LAotICAxNiwgMHg5MWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU3LDB4MDAsMHhmOSwweDEwLDB4M2EsMHg2ZSB9LAotICAxNiwgMHg5MWUwLCAwLCB7MHgwYywweGIxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHg0NCwweDNiLDB4NjEsMHg4ZSwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZTksMHg0MCB9LAotICAxNiwgMHg5MWYwLCAwLCB7MHgzMiwweDY2LDB4MGYsMHhkYSwweDBiLDB4YTcsMHgyOCwweGM5LDB4ZTAsMHgzZiwweDY4LDB4MGMsMHhkYSwweDgzLDB4YjMsMHgyMCB9LAotICAxNiwgMHg5MjAwLCAwLCB7MHhlZCwweGEwLDB4MzMsMHg3OSwweDA4LDB4ZDgsMHgwMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MjEwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwMCwweGI4LDB4YTAsMHgyZSwweDM4LDB4MDgsMHg4YSwweDAyLDB4ZTIsMHg4OCwweGU4LDB4ODEsMHgyZSB9LAotICAxNiwgMHg5MjIwLCAwLCB7MHgxNCwweDA5LDB4MGEsMHgwMywweGUyLDB4ODAsMHhiOCwweDgwLDB4MzIsMHgzMCwweDBiLDB4ODUsMHgwMiwweDIxLDB4MDEsMHhhOCB9LAotICAxNiwgMHg5MjMwLCAwLCB7MHhmNCwweDM4LDB4MmEsMHgwOCwweDBlLDB4Y2EsMHgyMywweDkwLDB4YzgsMHg1NCwweDM0LDB4MzgsMHgwOCwweDhhLDB4OTIsMHgwZSB9LAotICAxNiwgMHg5MjQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDAwLDB4MjgsMHg0MCB9LAotICAxNiwgMHg5MjUwLCAwLCB7MHgxOSwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyMCwweDI4LDB4NDAsMHgwYiwweDEwLDB4MDYsMHhjNCwweDIwLDB4YTEsMHhhMiB9LAotICAxNiwgMHg5MjYwLCAwLCB7MHg2YywweDQ4LDB4MGIsMHgxMCwweDAyLDB4ODQsMHgwOCwweDgxLDB4MjAsMHgyYywweDUwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwNCB9LAotICAxNiwgMHg5MjcwLCAwLCB7MHhiMSwweDAwLDB4MjQsMHg1OCwweDA4LDB4M2MsMHgwMiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MjgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMSwweGI5LDB4MjAsMHgyYywweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgxMCwweGE5LDB4NDAsMHgyZSB9LAotICAxNiwgMHg5MjkwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDAxLDB4MmEsMHg0MCwweDBiLDB4OTQsMHgwMiwweDI0LDB4MDAsMHhhOSB9LAotICAxNiwgMHg5MmEwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwMSwweDEwLDB4NTIsMHg2NCwweDAwLDB4ODksMHgwMCwweDI2LDB4NDAsMHgwMCwweDk4LDB4MDIsMHg0NiB9LAotICAxNiwgMHg5MmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDYxLDB4M2EsMHg0MCB9LAotICAxNiwgMHg5MmMwLCAwLCB7MHgwZCwweDkwLDB4ODMsMHhlNSwweDIwLDB4ZjksMHgwMSwweDNhLDB4NDAsMHgyZSwweDkwLDB4MDIsMHhlNCwweDQwLDB4ZTksMHgwMSB9LAotICAxNiwgMHg5MmQwLCAwLCB7MHg5ZSwweDQwLDB4MGYsMHg5NCwweDAzLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwLDB4MmQsMHg5MCwweDAyLDB4ZTYsMHgwOCB9LAotICAxNiwgMHg5MmUwLCAwLCB7MHhiOSwweDAxLDB4MzYsMHg0MCwweDJjLDB4OTAsMHgwMSwweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MmYwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MmUsMHg5MCwweDAzLDB4ZTQsMHg4MCwweGY5LDB4MDAsMHgzYyB9LAotICAxNiwgMHg5MzAwLCAwLCB7MHg0MCwweDBjLDB4OWMsMHgyMywweGU0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4MTAsMHg0MywweDg0LDB4MDAsMHhmOSB9LAotICAxNiwgMHg5MzEwLCAwLCB7MHgwMiwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHg4MCwweDgwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgyZiwweDkwLDB4MDMsMHg4YSB9LAotICAxNiwgMHg5MzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDQwLDB4MzYsMHgwMSB9LAotICAxNiwgMHg5MzMwLCAwLCB7MHgwZCwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MDgsMHgwYywweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHg5MzQwLCAwLCB7MHgzMiwweDAwLDB4OGYsMHg4MCwweDAzLDB4YTAsMHgxMCwweGY4LDB4MDAsMHgzMiwweDA0LDB4MGUsMHg4MCwweDgzLDB4NjAsMHgwMCB9LAotICAxNiwgMHg5MzUwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4MDAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4MDEsMHgyMiwweDgwLDB4MDgsMHhhMCwweDI0LDB4ZTgsMHgwMCwweDBhLDB4MDAsMHgyZiB9LAotICAxNiwgMHg5MzcwLCAwLCB7MHg4MCwweDFhLDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiYSwweDAwLDB4MTYsMHg4MCwweDBiLDB4ZTAsMHgwMywweDI4LDB4MDgsMHhlYSB9LAotICAxNiwgMHg5MzgwLCAwLCB7MHgwMCwweDMzLDB4OTAsMHgwOCwweGVjLDB4MWIsMHgyMiwweDgwLDB4YzYsMHgxNCwweDJmLDB4OTEsMHgwOCwweGEwLDB4NDMsMHg0YSB9LAotICAxNiwgMHg5MzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4MjQsMHhjMCB9LAotICAxNiwgMHg5M2EwLCAwLCB7MHgwOSwweDMwLDB4MTIsMHhjYywweDA0LDB4YTMsMHgwNCwweDZjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCB9LAotICAxNiwgMHg5M2IwLCAwLCB7MHgyYywweGMwLDB4MTMsMHgzMCwweDAyLDB4OGMsMHgwMCwweGIzLDB4MDAsMHhlNiwweGI4LDB4MGEsMHgzOCwweDAyLDB4NDQsMHgwOCB9LAotICAxNiwgMHg5M2MwLCAwLCB7MHg4MiwweDUwLDB4MmMsMHhkMiwweDNhLDB4MzAsMHgwMiwweDhhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5M2QwLCAwLCB7MHhhMCwweDAxLDB4MGUsMHg4MCwweDk3LDB4YjQsMHgyMSwweGM0LDB4NDksMHg3MSwweDAyLDB4ZGUsMHg4MSwweDg3LDB4MjEsMHgyZCB9LAotICAxNiwgMHg5M2UwLCAwLCB7MHhkMCwweDBiLDB4N2IsMHgwMiwweDFjLDB4MDEsMHhiZiwweDIwLDB4MjksMHhjNCwweDBiLDB4MzAsMHgwMiwweDVjLDB4MDAsMHhhNyB9LAotICAxNiwgMHg5M2YwLCAwLCB7MHhhMSwweDIxLDB4YzAsMHg0YSwweDcwLDB4OGEsMHgwYywweDgxLDB4ODQsMHgwMCwweDJkLDB4ZDAsMHgwYSwweDUwLDB4MDIsMHhlOCB9LAotICAxNiwgMHg5NDAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4ODIsMHhkZiwweGEwLDB4MzQsMHhlYyB9LAotICAxNiwgMHg5NDEwLCAwLCB7MHgwZCwweDc5LDB4MDIsMHhmZSwweDgwLDB4ZTcsMHhlOCwweDJmLDB4YTAsMHgwOSwweDdhLDB4MDIsMHg5ZSwweDAwLDB4ZjcsMHhhMiB9LAotICAxNiwgMHg5NDIwLCAwLCB7MHgyNSwweGVhLDB4MGIsMHg0OCwweDAzLDB4OWUsMHgwNCwweGZmLDB4YzAsMHg2NSwweGU0LDB4MGUsMHg2OCwweDAzLDB4NWYsMHgwMCB9LAotICAxNiwgMHg5NDMwLCAwLCB7MHhlNCwweDgwLDB4M2QsMHhlMCwweDBlLDB4ZjgsMHgwMywweGFhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NDQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg0OCwweGViLDB4MDUsMHgzZSwweGQ5LDB4MGUsMHhiMiwweDAzLDB4ZWMsMHgwMCwweGZiLDB4NjAsMHgzZSB9LAotICAxNiwgMHg5NDUwLCAwLCB7MHhjMCwweDBlLDB4YjIsMHg4MywweGFjLDB4MDAsMHhmMywweDUwLDB4YTYsMHhjMCwweDRmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmYiB9LAotICAxNiwgMHg5NDYwLCAwLCB7MHg4MCwweDNmLDB4ZDgsMHgwZCwweGEwLDB4MDMsMHhlYywweDBhLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZCwweDkwLDB4MDMsMHg0MiB9LAotICAxNiwgMHg5NDcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhiYiwweDkwLDB4M2UsMHhlMCB9LAotICAxNiwgMHg5NDgwLCAwLCB7MHgwOCwweDM5LDB4MDMsMHg5ZSwweDIwLDB4Y2YsMHg4MiwweDc3LDB4ZTAsMHgxZiwweGY4LDB4MDMsMHhlZSwweDAwLDB4ZmYsMHhjMCB9LAotICAxNiwgMHg5NDkwLCAwLCB7MHgzZiwweGU1LDB4MGQsMHhmOSwweDAzLDB4ZWUsMHgwMCwweGZiLDB4OTAsMHgzNywweGEwLDB4MDgsMHhmOCwweDBmLDB4MWUsMHgwMCB9LAotICAxNiwgMHg5NGEwLCAwLCB7MHhjYywweDk0LDB4MzMsMHg2MCwweDBkLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NGIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI3LDB4OTAsMHgyZiwweGU0LDB4MDgsMHg3YSwweDAyLDB4MWUsMHgwMCwweDhmLDB4MTIsMHgyNSB9LAotICAxNiwgMHg5NGMwLCAwLCB7MHhkOCwweDBiLDB4YmIsMHgwMiwweDFlLDB4MDAsMHhiNywweDAwLDB4MmQsMHhlOCwweDA4LDB4N2QsMHg4MiwweGRlLDB4NDAsMHhiYiB9LAotICAxNiwgMHg5NGQwLCAwLCB7MHhhMCwweDI3LDB4OTAsMHgwYSwweDc2LDB4MDIsMHg1YywweDgwLDB4ODUsMHgwMCwweDM3LDB4YzQsMHg0ZCwweDcxLDB4MDMsMHhlYSB9LAotICAxNiwgMHg5NGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhiNywweDIwLDB4MmQsMHhjMCB9LAotICAxNiwgMHg5NGYwLCAwLCB7MHgyOSwweGYyLDB4MjIsMHhiYywweDgwLDB4OTcsMHgwMCwweDI1LDB4NDEsMHgwYiwweDcwLDB4MTIsMHg5YywweDAwLDB4YjcsMHgwOCB9LAotICAxNiwgMHg5NTAwLCAwLCB7MHgyOSwweGMwLDB4MDgsMHg0MiwweDEyLDB4ZGMsMHg0MCwweGI3LDB4MDAsMHgyOSwweGMwLDB4MDksMHg2MCwweDIyLDB4ZGMsMHgxMCB9LAotICAxNiwgMHg5NTEwLCAwLCB7MHg4MCwweDAwLDB4MjEsMHg0MCwweDA5LDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NTIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4YzAsMHgyZSwweGMwLDB4MDgsMHgzNCwweDgyLDB4MmQsMHgwMCwweDkzLDB4MDAsMHgyNCB9LAotICAxNiwgMHg5NTMwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwMiwweDBmLDB4ODAsMHgxMywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzQsMHhhMiwweGVjLDB4MDAsMHhiMyB9LAotICAxNiwgMHg5NTQwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwYiwweDAwLDB4MDIsMHhjYywweDAwLDB4ODEsMHgwMCwweDIwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4OSB9LAotICAxNiwgMHg5NTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJjLDB4MDAsMHhmZiwweGUwLDB4M2YsMHhjMCB9LAotICAxNiwgMHg5NTYwLCAwLCB7MHgwYywweGY0LDB4ODMsMHhiZCwweDAwLDB4ZGYsMHgwOCwweDM2LDB4NDAsMHgwYiwweDc1LDB4NDIsMHhmYywweDIwLDB4ZmYsMHg4MCB9LAotICAxNiwgMHg5NTcwLCAwLCB7MHgzYiwweGMwLDB4MmMsMHgzYywweDAzLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHhiZSwweGMwLDB4OGQsMHg5MCwweDBiLDB4YWMsMHgwMiB9LAotICAxNiwgMHg5NTgwLCAwLCB7MHhjYSwweDAwLDB4MjIsMHg4MCwweDBkLDB4YjAsMHgwMiwweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDgsMHgxZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGViLDB4MDAsMHgzYSB9LAotICAxNiwgMHg5NWEwLCAwLCB7MHgxMCwweDBmLDB4YjAsMHgyMywweGFjLDB4MDEsMHhmYiwweDAwLDB4M2UsMHhjMCwweDNjLDB4ODQsMHgwMywweGVjLDB4MDAsMHhmYiB9LAotICAxNiwgMHg5NWIwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwZSwweDk0LDB4MGIsMHgyYywweDAwLDB4ZjksMHg0MCwweDNlLDB4OTAsMHgwZSwweDkwLDB4MTMsMHhlMCB9LAotICAxNiwgMHg5NWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDIsMHhjZiwweDAwLDB4M2YsMHhjMCB9LAotICAxNiwgMHg5NWQwLCAwLCB7MHgwZCwweGYwLDB4MGIsMHgzYywweDIwLDB4Y2YsMHgwMCwweDNkLDB4MDAsMHgwZSwweGYwLDB4MDcsMHg5YywweDAxLDB4Y2YsMHgwMiB9LAotICAxNiwgMHg5NWUwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhjNCwweDAzLDB4M2MsMHgwMCwweGNmLDB4MDAsMHgwZiwweGMwLDB4MGUsMHg0NCwweDAzLDB4MWYsMHgwMiB9LAotICAxNiwgMHg5NWYwLCAwLCB7MHhjYywweDAwLDB4M2YsMHg4MCwweDJjLDB4NzAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NjAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4MDIsMHgyZSwweGMwLDB4MGQsMHhiMCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDAsMHgwNiB9LAotICAxNiwgMHg5NjEwLCAwLCB7MHgyMCwweDA4LDB4YjAsMHgwMywweGZjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCwweDBmLDB4ODAsMHgwNiwweGJjLDB4MDAsMHhhYiB9LAotICAxNiwgMHg5NjIwLCAwLCB7MHgwNCwweDNhLDB4ZjAsMHgwYywweDg4LDB4MDIsMHgyYywweDAwLDB4YzksMHg4MCwweDNhLDB4OTIsMHgwOCwweDkwLDB4MGEsMHhhMCB9LAotICAxNiwgMHg5NjMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCB9LAotICAxNiwgMHg5NjQwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4NjAsMHgwYiwweGIwLDB4MDIsMHhhYywweDAwLDB4OGIsMHgwMCB9LAotICAxNiwgMHg5NjUwLCAwLCB7MHg2ZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4MmMsMHgwMCwweDliLDB4MDAsMHg0YywweGUwLDB4MGEsMHg5MCwweDIyLDB4MmMsMHgwMCB9LAotICAxNiwgMHg5NjYwLCAwLCB7MHg4YSwweGMyLDB4MmMsMHg0MCwweDA4LDB4YjAsMHg0MiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NjcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MGQsMHgyYywweGM2LDB4MDksMHgzMSwweDAyLDB4MGQsMHg4MSwweGEzLDB4MTEsMHgyNCB9LAotICAxNiwgMHg5NjgwLCAwLCB7MHgwMCwweDhhLDB4YjEsMHhlMiwweDRjLDB4ODAsMHhhMywweDAwLDB4MmMsMHhjYywweDBiLDB4MDIsMHgwMiwweDhjLDB4ODAsMHhhMyB9LAotICAxNiwgMHg5NjkwLCAwLCB7MHg0OCwweDA4LDB4YzAsMHgwOCwweDAwLDB4MGEsMHgwZCwweDAwLDB4ODEsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg4MiB9LAotICAxNiwgMHg5NmEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYiwweDIwLDB4MmYsMHhjOCB9LAotICAxNiwgMHg5NmIwLCAwLCB7MHg4ZCwweGY2LDB4MTMsMHgyZCwweGIwLDB4OGYsMHgwMCwweDM2LDB4NDAsMHgwZiwweGYwLDB4MDIsMHhhZCwweGE4LDB4OGYsMHgxMCB9LAotICAxNiwgMHg5NmMwLCAwLCB7MHgzZiwweGNhLDB4MGIsMHg4MCwweDkyLDB4MmMsMHgxMCwweGRiLDB4NDAsMHgzZiwweGMwLDB4MGUsMHgwMCwweDAzLDB4MmQsMHgwNCB9LAotICAxNiwgMHg5NmQwLCAwLCB7MHhjOCwweDAyLDB4M2UsMHg0MCwweDBjLDB4YjAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NmUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM4LDB4MGUsMHhmMSwweDAzLDB4ZWMsMHg4NCwweGZmLDB4MjAsMHgzNyB9LAotICAxNiwgMHg5NmYwLCAwLCB7MHgwMCwweDBkLDB4YjIsMHgwMywweGJjLDB4YTAsMHhmZiwweDAwLDB4M2UsMHhjOSwweDBlLDB4ODAsMHgwMywweGZkLDB4MTEsMHhmZiB9LAotICAxNiwgMHg5NzAwLCAwLCB7MHgwMCwweDNiLDB4YzAsMHgwZSwweGMwLDB4MDMsMHhmYywweDgwLDB4ZWQsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4NDMsMHg2OCB9LAotICAxNiwgMHg5NzEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4OTAsMHhjYywweDkyLDB4M2IsMHhjOCB9LAotICAxNiwgMHg5NzIwLCAwLCB7MHgwZCwweGYwLDB4ODMsMHg3MywweDEwLDB4ZmYsMHgyOCwweDM3LDB4Y2EsMHg0ZiwweGIyLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgyMCB9LAotICAxNiwgMHg5NzMwLCAwLCB7MHhiMywweGM0LDB4MGQsMHg2OCwweDQzLDB4ZmUsMHgxNCwweGNiLDB4ODQsMHgzMywweGUwLDB4MGQsMHg3OCwweDAzLDB4YmUsMHgwMCB9LAotICAxNiwgMHg5NzQwLCAwLCB7MHhmZiwweDgwLDB4MzcsMHhhMCwweDBjLDB4ZjMsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NzUwLCAwLCB7MHg4MCwweDAwLDB4ZmMsMHg0OCwweDgyLDB4MjEsMHgwMywweGY0LDB4MGYsMHhmNiwweDQyLDB4MjAsMHgwNCwweDhhLDB4NjAsMHgyYiB9LAotICAxNiwgMHg5NzYwLCAwLCB7MHhkYSwweDBiLDB4ZjksMHgwMiwweDNmLDB4MDQsMHg4ZiwweDUyLDB4MjMsMHhkNSwweDRkLDB4ODgsMHgwMiwweGFlLDB4MDAsMHhkYiB9LAotICAxNiwgMHg5NzcwLCAwLCB7MHg4MCwweDM2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDA0LDB4YjgsMHgwMCwweDIyLDB4NjAsMHgwZCwweDc0LDB4MDMsMHhlMCB9LAotICAxNiwgMHg5NzgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4YTAsMHg4MCwweDAxLDB4MDgsMHhjMCB9LAotICAxNiwgMHg5NzkwLCAwLCB7MHg0YiwweDMwLDB4ODIsMHg0MiwweDkwLDB4YTMsMHgwOCwweDJjLDB4YzgsMHgxYSwweDMwLDB4MjIsMHg4ZCwweDAwLDB4OTMsMHgwMCB9LAotICAxNiwgMHg5N2EwLCAwLCB7MHgyNCwweGM4LDB4MDksMHhhMCwweDEyLDB4MGMsMHgwNCwweGFiLDB4MDAsMHg2MiwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2MsMHgwMCB9LAotICAxNiwgMHg5N2IwLCAwLCB7MHhiMywweDAwLDB4MjgsMHg4MCwweDA4LDB4MzYsMHgwNiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5N2MwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweDg4LDB4MDgsMHgyMiwweGMwLDB4MGEsMHgzMCwweDFhLDB4MDAsMHgxMSwweDgyLDB4MDAsMHgwYSB9LAotICAxNiwgMHg5N2QwLCAwLCB7MHhjMCwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDA5LDB4OTEsMHgwMiwweGVjLDB4MjAsMHhiYiB9LAotICAxNiwgMHg5N2UwLCAwLCB7MHgyOCwweDY2LDB4YzAsMHgwOCwweDgwLDB4MDIsMHg2MCwweDAwLDB4YjgsMHgwMCwweDJhLDB4NDAsMHg4MSwweGIwLDB4MDYsMHhmOCB9LAotICAxNiwgMHg5N2YwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGVjLDB4MDIsMHhjOCwweDA0LDB4M2EsMHhjMCB9LAotICAxNiwgMHg5ODAwLCAwLCB7MHg4OSwweGIwLDB4MDMsMHg2OCwweDAwLDB4ZTksMHhjMSwweDFlLDB4YzEsMHgwZSwweDMwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHgwMCB9LAotICAxNiwgMHg5ODEwLCAwLCB7MHgzNiwweGMxLDB4MGQsMHgwMCwweDIzLDB4MGUsMHgwMCwweGViLDB4ODAsMHgzMiwweGM4LDB4Y2QsMHgzMCwweDMyLDB4ZWMsMHgwOCB9LAotICAxNiwgMHg5ODIwLCAwLCB7MHhmMywweDAwLDB4M2MsMHg4MCwweDBjLDB4YjAsMHgwNiwweDgwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ODMwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweDdjLDB4MDAsMHgzZiwweGMwLDB4MGIsMHhiMCwweDQzLDB4ZmQsMHgwMCwweGJlLDB4YzQsMHgzNyB9LAotICAxNiwgMHg5ODQwLCAwLCB7MHhjMCwweDFmLDB4ZjAsMHgwMywweDVjLDB4MDAsMHhmZiwweDAxLDB4M2IsMHhjMCwweDBlLDB4YzgsMHgwMywweGJmLDB4MjAsMHhkZiB9LAotICAxNiwgMHg5ODUwLCAwLCB7MHgwMCwweDNmLDB4ZDAsMHgwZiwweGMwLDB4MTMsMHhiMCwweDAwLDB4N2MsMHgwMCwweGI3LDB4NDAsMHgwZiwweGYwLDB4MWIsMHhiMCB9LAotICAxNiwgMHg5ODYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MGMsMHhkOCwweDQxLDB4MzIsMHhjMCB9LAotICAxNiwgMHg5ODcwLCAwLCB7MHgwZSwweGIwLDB4MDcsMHhhOCwweDAxLDB4NjksMHg0MCwweGIyLDB4YzAsMHg4ZCwweGIwLDB4YTMsMHhlYywweDA4LDB4ZjMsMHgwMCB9LAotICAxNiwgMHg5ODgwLCAwLCB7MHgzMiwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWQsMHgwMCwweGZiLDB4NDgsMHgzYSwweGMwLDB4MGQsMHhiMCwweDgzLDB4MmMsMHgwMCB9LAotICAxNiwgMHg5ODkwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHg4MCwweDBmLDB4NzAsMHgyMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OGEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMywweGMwLDB4MDgsMHhmMCwweDA2LDB4MmMsMHgxMCwweDg4LDB4NTEsMHgzNyB9LAotICAxNiwgMHg5OGIwLCAwLCB7MHhjMCwweDA4LDB4ZjAsMHgwNywweDdkLDB4NjAsMHg4ZiwweDAyLDB4MzcsMHhjMCwweDBiLDB4OGMsMHgwMCwweDJkLDB4MDAsMHhiMyB9LAotICAxNiwgMHg5OGMwLCAwLCB7MHgwMCwweDM4LDB4YzAsMHgwOCwweDgwLDB4ODIsMHgyMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4NTAsMHgwYiwweGYwLDB4MDAsMHgzMiB9LAotICAxNiwgMHg5OGQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg5OCwweDAwLDB4MjgsMHhjMCB9LAotICAxNiwgMHg5OGUwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHg4NCwweDA0LDB4YTMsMHgwMCwweDAwLDB4YzAsMHg2OCwweDM5LDB4MDYsMHgwYywweDEwLDB4OTMsMHgyMCB9LAotICAxNiwgMHg5OGYwLCAwLCB7MHgyMiwweGMwLDB4OWIsMHgwMSwweGEwLDB4OGYsMHgxNCwweDMzLDB4MTQsMHgyOCwweGMwLDB4MDksMHgzYywweDAyLDB4MGMsMHgwMSB9LAotICAxNiwgMHg5OTAwLCAwLCB7MHg5MywweDQwLDB4MmMsMHg4OCwweDBiLDB4MzAsMHgwMiwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OTEwLCAwLCB7MHg2MCwweDAxLDB4MWUsMHgxMCwweDg3LDB4ODAsMHgyOSwweGUwLDB4MDgsMHg3OCwweDAyLDB4M2UsMHgwMCwweDgzLDB4OTAsMHgyNCB9LAotICAxNiwgMHg5OTIwLCAwLCB7MHhlMCwweDA4LDB4NzgsMHgxMCwweGNlLDB4MDQsMHgwNywweDkxLDB4MjUsMHhlMCwweDgzLDB4YzksMHgwMiwweDFlLDB4MDQsMHhiNyB9LAotICAxNiwgMHg5OTMwLCAwLCB7MHg4NCwweDJiLDB4YTQsMHgwOCwweDQ4LDB4NDIsMHgxMiwweGNjLDB4YjQsMHg4MCwweDJkLDB4NjQsMHgwYiwweDc4LDB4MDIsMHgxOSB9LAotICAxNiwgMHg5OTQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDJjLDB4MDAsMHhkMCwweDEwLDB4MjgsMHhjOCB9LAotICAxNiwgMHg5OTUwLCAwLCB7MHgwZSwweDNiLDB4MDIsMHg4NCwweDAwLDB4ZTMsMHg0MCwweDMwLDB4YzgsMHgwYywweDM4LDB4NjIsMHg4YywweDAwLDB4NTMsMHgwMCB9LAotICAxNiwgMHg5OTYwLCAwLCB7MHgzMCwweGM0LDB4MWYsMHgwMCwweDIzLDB4OGMsMHgzYywweGYzLDB4ODAsMHgxOCwweGMwLDB4MGQsMHgzMCwweDAzLDB4MGUsMHg4MCB9LAotICAxNiwgMHg5OTcwLCAwLCB7MHhkMywweDEwLDB4M2MsMHg4MCwweDBmLDB4MzAsMHgwMywweDkyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OTgwLCAwLCB7MHg0MCwweDFkLDB4YmQsMHgwMCwweGY5LDB4MTIsMHhiNCwweGMwLDB4MDcsMHhiMCwweDAzLDB4Y2MsMHgwMCwweDRhLDB4MDAsMHg3NyB9LAotICAxNiwgMHg5OTkwLCAwLCB7MHhjMCwweDBlLDB4NzEsMHg0MywweDZjLDB4MDAsMHhmMywweDAwLDB4M2YsMHhkMCwweDFmLDB4ZDAsMHg1MywweGFjLDB4NjgsMHhmYiB9LAotICAxNiwgMHg5OWEwLCAwLCB7MHgxOCwweDNkLDB4YzAsMHgwZiwweGMwLDB4MTMsMHhmMCwweDUwLDB4ZmMsMHgwNCwweDNmLDB4NDAsMHgwZiwweGY0LDB4MDMsMHg5MCB9LAotICAxNiwgMHg5OWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4NDAsMHhmOCwweDA0LDB4M2UsMHhkMiB9LAotICAxNiwgMHg5OWMwLCAwLCB7MHgwZiwweGIzLDB4MTMsMHhlMCwweDEwLDB4ZjksMHgwMCwweGIyLDB4Y2MsMHgwZSwweGJhLDB4MDMsMHg2ZCwweDgwLDB4ZGIsMHgwMiB9LAotICAxNiwgMHg5OWQwLCAwLCB7MHgzMiwweGRjLDB4NGYsMHgwMCwweDAzLDB4NmMsMHgwNCwweGYzLDB4MDIsMHgzNiwweDQwLDB4MGUsMHhiMCwweDAzLDB4Y2MsMHgwMCB9LAotICAxNiwgMHg5OWUwLCAwLCB7MHg0YiwweDAwLDB4M2MsMHg4MCwweDBjLDB4ZjEsMHgwMywweDYyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OWYwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI0LDB4MDAsMHgyZCwweGM5LDB4MGIsMHg3MCwweDgyLDB4ZGMsMHgwMCwweGJjLDB4MDQsMHgyMSB9LAotICAxNiwgMHg5YTAwLCAwLCB7MHhjNCwweDRiLDB4MzcsMHgwMiwweDBjLDB4YTAsMHg4ZiwweDc0LDB4MjEsMHhjMCwweDBiLDB4NDAsMHgwMiwweDFjLDB4ODEsMHhiNyB9LAotICAxNiwgMHg5YTEwLCAwLCB7MHgyMCwweDJiLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkMCwweDAyLDB4ODQsMHgwMCwweDJkLDB4NDAsMHgwYSwweGYyLDB4MDIsMHgxMiB9LAotICAxNiwgMHg5YTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNCwweGMwLDB4MmQsMHhlNCB9LAotICAxNiwgMHg5YTMwLCAwLCB7MHgwYiwweDdhLDB4MDIsMHhkMiwweDAwLDB4YjUsMHg4OCwweDIxLDB4ZTgsMHgwYSwweDc4LDB4MDIsMHhkZSwweDQwLDB4OTcsMHgwMCB9LAotICAxNiwgMHg5YTQwLCAwLCB7MHgyMSwweGU4LDB4MGIsMHhjYywweDQ2LDB4NWUsMHgyOCwweGI3LDB4YzQsMHgyMSwweGYwLDB4MGEsMHg3OCwweDAyLDB4ZmUsMHgwOCB9LAotICAxNiwgMHg5YTUwLCAwLCB7MHg5NywweDg0LDB4MmQsMHhhMCwweDA4LDB4NzgsMHgwMiwweDcwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YTYwLCAwLCB7MHgwOCwweDE0LDB4Y2MsMHgwMCwweGIwLDB4YzAsMHgyYywweGMwLDB4OWIsMHhiMCwweDAyLDB4Y2MsMHgyMCwweGIzLDB4NjAsMHgyMiB9LAotICAxNiwgMHg5YTcwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MywweDAxLDB4MjAsMHhjMCwweDFiLDB4MDYsMHgxNiwweDRmLDB4MDAsMHhiMyB9LAotICAxNiwgMHg5YTgwLCAwLCB7MHhhMCwweDJhLDB4ZjAsMHgwOCwweDAwLDB4MDIsMHhlMCwweDAwLDB4OTAsMHgwMCwweDJjLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwMiB9LAotICAxNiwgMHg5YTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MTAsMHhmZSwweGMwLDB4M2UsMHg4MCB9LAotICAxNiwgMHg5YWEwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHhmOSwweDA4LDB4ZmUsMHg0MCwweDIyLDB4ODAsMHgwZSwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZDIsMHgwMCB9LAotICAxNiwgMHg5YWIwLCAwLCB7MHgzMiwweDgwLDB4OGYsMHhlMCwweDAzLDB4NTgsMHgwMCwweGY2LDB4MDAsMHgzMywweGIwLDB4MGUsMHgyMCwweDAyLDB4ZTgsMHgwYyB9LAotICAxNiwgMHg5YWMwLCAwLCB7MHhkMiwweDAyLDB4M2MsMHg4MCwweDBjLDB4YTAsMHgwMywweDdhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGYwLDB4NDAsMHgzZSB9LAotICAxNiwgMHg5YWUwLCAwLCB7MHgwMCwweDU3LDB4ODAsMHgyMywweDAwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MzAsMHgzOCB9LAotICAxNiwgMHg5YWYwLCAwLCB7MHgwMCwweDNhLDB4MDgsMHgwZiwweGM0LDB4MDMsMHhmMCwweDAwLDB4ZWMsMHgwMCwweDNmLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg5YjAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAxLDB4M2MsMHg0OCB9LAotICAxNiwgMHg5YjEwLCAwLCB7MHg0YywweDkwLDB4MGIsMHgyNCwweDAxLDB4YzksMHhjMCwweDMyLDB4NDAsMHhhYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZDksMHg0MCB9LAotICAxNiwgMHg5YjIwLCAwLCB7MHgzMCwweDQwLDB4MGQsMHg5YSwweDAzLDB4MjIsMHg4NCwweGM4LDB4MTQsMHgzMiwweDQwLDB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHg5YjMwLCAwLCB7MHhjOSwweDAwLDB4ODIsMHg2OCwweDJjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YjQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDIsMHg4MiB9LAotICAxNiwgMHg5YjUwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU3LDB4NDAsMHg4OSwweDgwLDB4MzYsMHg0MSwweDhkLDB4MTgsMHgwMiwweGEwLDB4MjQsMHhhOCB9LAotICAxNiwgMHg5YjYwLCAwLCB7MHgwNCwweDYyLDB4NDAsMHgwOCwweDk0LDB4ODMsMHgyNCwweDAwLDB4ODksMHgwMSwweDIyLDB4NzIsMHgwOCwweDkwLDB4MGIsMHgyMCB9LAotICAxNiwgMHg5YjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDAwLDB4MmEsMHg0MCB9LAotICAxNiwgMHg5YjgwLCAwLCB7MHgyOCwweDkwLDB4MTIsMHgwNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDIwLDB4OTksMHgwMCB9LAotICAxNiwgMHg5YjkwLCAwLCB7MHgyMiwweDQwLDB4MTgsMHg5MCwweDA2LDB4MjAsMHgwMSwweDg4LDB4MDgsMHg2MiwweDQwLDB4MGEsMHg5MCwweDAyLDB4MzQsMHgxMCB9LAotICAxNiwgMHg5YmEwLCAwLCB7MHg4ZCwweDgxLDB4MjMsMHg0MSwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YmIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MDQsMHgyYywweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHgwMiwweDgzLDB4MjAsMHgyMCB9LAotICAxNiwgMHg5YmMwLCAwLCB7MHg0OCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODAsMHg4MywweDYwLDB4MjQsMHg0OCwweDE5LDB4MzQsMHg2MiwweGE1LDB4MDQsMHhhMSB9LAotICAxNiwgMHg5YmQwLCAwLCB7MHgwMiwweDYwLDB4NDAsMHgwOCwweGQwLDB4MDIsMHg1NCwweDAwLDB4OGQsMHgwMCwweDI5LDB4NDAsMHgwOCwweDEyLDB4ODIsMHgwMiB9LAotICAxNiwgMHg5YmUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4M2EsMHg4MCB9LAotICAxNiwgMHg5YmYwLCAwLCB7MHgwYywweDg1LDB4MDIsMHgyMSwweDQ0LDB4ODgsMHg1MCwweDMyLDB4MTQsMHg0YywweDgwLDB4NDMsMHhlMCwweDAwLDB4ZDgsMHgwMCB9LAotICAxNiwgMHg5YzAwLCAwLCB7MHgyMiwweDE0LDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDAsMHhhMiwweDAwLDB4MGUsMHg4MCwweDAzLDB4MjAsMHgwMCB9LAotICAxNiwgMHg5YzEwLCAwLCB7MHhjOCwweDAwLDB4MzMsMHgwMCwweDBjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YzIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0NCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgxMCwweGZmLDB4MTAsMHgzZSB9LAotICAxNiwgMHg5YzMwLCAwLCB7MHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBiLDB4ZjAsMHgxMywweGU1LDB4MTAsMHhmOSB9LAotICAxNiwgMHg5YzQwLCAwLCB7MHg0MCwweDNmLDB4NGEsMHgyZiwweDkyLDB4OGEsMHhhNCwweGEyLDB4ZjksMHgyOCwweDM2LDB4NDAsMHgwZiwweDkyLDB4ODMsMHhhNiB9LAotICAxNiwgMHg5YzUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGU2LDB4YzAsMHhjMSwweDAwLDB4M2YsMHg2OSB9LAotICAxNiwgMHg5YzYwLCAwLCB7MHgwYywweDlhLDB4NDMsMHg2YywweDAwLDB4ZmQsMHhhMCwweDNlLDB4NzgsMHgyYywweGQ4LDB4MDcsMHhkNiwweDAyLDB4ZDUsMHg5NiB9LAotICAxNiwgMHg5YzcwLCAwLCB7MHgzMiwweDc4LDB4MGQsMHg5MCwweDAzLDB4MjcsMHgwMCwweGZkLDB4YTAsMHgzNSwweDUwLDB4MDYsMHhkNCwweDAzLDB4ZTUsMHgwMCB9LAotICAxNiwgMHg5YzgwLCAwLCB7MHhmZCwweDQwLDB4YjMsMHg0MCwweDBmLDB4OTgsMHhhMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YzkwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHhjMiwweDg4LDB4ODgsMHgyZSwweDE0LDB4YTgsMHg4YSwweGMyLDB4MjIsMHhhMCwweGI4LDB4YzAsMHgyYyB9LAotICAxNiwgMHg5Y2EwLCAwLCB7MHgyNCwweDQ4LDB4ODQsMHgwMiwweGUxLDB4MDAsMHg5OCwweGM0LDB4MjAsMHgzYywweDA4LDB4OGEsMHg4MiwweDIzLDB4ODAsMHhiOCB9LAotICAxNiwgMHg5Y2IwLCAwLCB7MHgwNCwweDIyLDB4MjAsMHgwOCwweDg4LDB4MDMsMHhhMiwweDAwLDB4YjgsMHhhMCwweDIyLDB4MDAsMHgwYiwweDg4LDB4MDIsMHgwZSB9LAotICAxNiwgMHg5Y2MwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHhhMSwweDIwLDB4NmMsMHg0MCB9LAotICAxNiwgMHg5Y2QwLCAwLCB7MHgwYSwweDE0LDB4MDIsMHg0NCwweDA0LDB4YTEsMHg2OCwweDJjLDB4NDgsMHgwOCwweDE0LDB4MDIsMHhjNSwweDAwLDB4ODEsMHg2MCB9LAotICAxNiwgMHg5Y2UwLCAwLCB7MHgyMCwweDQ4LDB4MTksMHg5MCwweDAyLDB4ODUsMHg4MSwweGIxLDB4NDAsMHgyNCwweDY4LDB4MGEsMHgxMiwweDQyLDB4YzQsMHg4MCB9LAotICAxNiwgMHg5Y2YwLCAwLCB7MHhiOSwweDIwLDB4MjAsMHg0MCwweDhiLDB4MTAsMHg4MiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZDAwLCAwLCB7MHgxOCwweDA1LDB4YTQsMHgxMCwweGE5LDB4MDAsMHg2ZSwweGMwLDB4MGEsMHgxMCwweDAyLDB4MjQsMHgxNCwweGI5LDB4MDAsMHgyZSB9LAotICAxNiwgMHg5ZDEwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgxMiwweGU0LDB4MDAsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4ODAsMHgwNiwweGEwLDB4NjAsMHhiOSB9LAotICAxNiwgMHg5ZDIwLCAwLCB7MHgwOSwweDIyLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjksMHgwMCwweDAyLDB4NDAsMHgwYiwweDEwLDB4MDYsMHgwNiB9LAotICAxNiwgMHg5ZDMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHhlOSwweDgwLDB4M2UsMHg0MSB9LAotICAxNiwgMHg5ZDQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZTksMHhjMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHhlNCwweDAwLDB4YzksMHgwMCB9LAotICAxNiwgMHg5ZDUwLCAwLCB7MHgyMiwweDQxLDB4MGQsMHg4MCwweDAyLDB4YTMsMHgwNCwweGYxLDB4NDAsMHgzNiwweDQwLDB4MGUsMHg5MCwweDAyLDB4ZTQsMHgwMCB9LAotICAxNiwgMHg5ZDYwLCAwLCB7MHhmMSwweDAwLDB4MTIsMHg0MCwweDBmLDB4OTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZDcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGQ5LDB4MjIsMHgzZSwweDQyLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGI5LDB4YzQsMHgzYyB9LAotICAxNiwgMHg5ZDgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAyLDB4YWUsMHg0MCwweDBmLDB4ODAsMHg0YiwweDYyLDB4MTAsMHhmOSB9LAotICAxNiwgMHg5ZDkwLCAwLCB7MHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMiwweDdlLDB4NDEsMHgwZiwweDkwLDB4MTMsMHhjYSB9LAotICAxNiwgMHg5ZGEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweDgwLDB4MDAsMHhjOCwweDAwLDB4MzgsMHgwMCB9LAotICAxNiwgMHg5ZGIwLCAwLCB7MHgwZiwweDgwLDB4MjAsMHhlMCwweDAwLDB4YTgsMHgyMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDcsMHhlMCwweDgwLDB4YzgsMHgwMCB9LAotICAxNiwgMHg5ZGMwLCAwLCB7MHgzOCwweDAwLDB4MGQsMHg4MCwweDgzLDB4MjEsMHgxMCwweGY4LDB4NjAsMHgzMiwweDAwLDB4OGUsMHg4MCwweGIzLDB4MjAsMHgwOCB9LAotICAxNiwgMHg5ZGQwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZGUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweDhhLDB4MDAsMHgzMywweDkwLDB4NDMsMHhhMCwweDIyLDB4MjgsMHgwMCwweDhlLDB4ODAsMHg3NiB9LAotICAxNiwgMHg5ZGYwLCAwLCB7MHg4MCwweDA4LDB4ZTEsMHgwMywweDE5LDB4MDAsMHg4NiwweDgwLDB4MjIsMHg4MCwweDBkLDB4NjAsMHgwMSwweDc4LDB4MDAsMHhiZSB9LAotICAxNiwgMHg5ZTAwLCAwLCB7MHgwMCwweDM2LDB4ODAsMHgwYywweGU0LDB4MDIsMHhhOCwweDEwLDB4YmUsMHhhMCwweDJmLDB4ODAsMHgwZCwweGEwLDB4MDIsMHgwYSB9LAotICAxNiwgMHg5ZTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMSwweDRjLDB4MDQsMHgwMywweDA0LDB4MmMsMHhkNCB9LAotICAxNiwgMHg5ZTIwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHg0YywweDAxLDB4YTMsMHhjNCwweDIwLDB4YzAsMHgyOCwweDM1LDB4MDIsMHg4NiwweDAwLDB4ODMsMHg4MCB9LAotICAxNiwgMHg5ZTMwLCAwLCB7MHgyOCwweGMwLDB4MDgsMHgzOCwweDA2LDB4MGUsMHg5NCwweDMwLDB4YzAsMHhhMiwweGMwLDB4MGIsMHgzYywweDAyLDB4MGMsMHgwMCB9LAotICAxNiwgMHg5ZTQwLCAwLCB7MHhiMywweDgwLDB4MmMsMHg0OCwweDA4LDB4MzAsMHgwMiwweDhhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZTUwLCAwLCB7MHhhMCwweDAxLDB4MGMsMHgwNCwweDhmLDB4ODAsMHgyMSwweGMxLDB4MWIsMHg3MiwweDQyLDB4MWUsMHhjMCwweDgzLDB4ODgsMHgyMSB9LAotICAxNiwgMHg5ZTYwLCAwLCB7MHhjMCwweDE4LDB4MjgsMHgwNiwweDEwLDB4MjEsMHg4NiwweDM4LDB4MjEsMHhjMCwweDE5LDB4ZjcsMHgwMiwweDVkLDB4YzAsMHhiNCB9LAotICAxNiwgMHg5ZTcwLCAwLCB7MHg0MSwweDI3LDB4ZDAsMHgwOCwweDc4LDB4YzYsMHg5YywweDAwLDB4YjcsMHgwMCwweDJmLDB4NjAsMHgwOSwweDcyLDB4MDIsMHgyOCB9LAotICAxNiwgMHg5ZTgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDIsMHhjNywweDgwLDB4MmQsMHhhMCB9LAotICAxNiwgMHg5ZTkwLCAwLCB7MHgwZiwweDNlLDB4MDMsMHhmZSwweDgwLDB4YTcsMHg4MCwweGExLDB4ZTAsMHgwYywweDc4LDB4MDIsMHg5NCwweDAwLDB4ODUsMHhhMCB9LAotICAxNiwgMHg5ZWEwLCAwLCB7MHgzOSwweGU0LDB4MGMsMHg3OCwweDEzLDB4MWUsMHg5MCwweGI1LDB4ODQsMHgzMSwweGUwLDB4MGYsMHhmOCwweDg3LDB4MWUsMHgwNCB9LAotICAxNiwgMHg5ZWIwLCAwLCB7MHhmNywweDgwLDB4M2QsMHg2MCwweDBjLDB4M2IsMHgwMywweGFhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZWMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHhlNCwweGZiLDB4NTQsMHgzZSwweDgwLDB4MGYsMHhiNCwweDIzLDB4ZWMsMHgzMiwweGZiLDB4MDAsMHgzZSB9LAotICAxNiwgMHg5ZWQwLCAwLCB7MHhkOCwweDRmLDB4YTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4MzAsMHgzMywweGVjLDB4MDQsMHhmMiB9LAotICAxNiwgMHg5ZWUwLCAwLCB7MHgwMSwweDNlLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhmZSwweDEwLDB4ZmIsMHg2OCwweDNjLDB4NDEsMHgwZiwweGYwLDB4NDMsMHg4MiB9LAotICAxNiwgMHg5ZWYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhjZiwweGU0LDB4M2YsMHhlNCB9LAotICAxNiwgMHg5ZjAwLCAwLCB7MHgwYywweGZjLDB4MDMsMHg3ZSwweDgwLDB4Y2YsMHg4MSwweDMzLDB4ZmEsMHgwZiwweGY4LDB4MDMsMHhmNiwweDAwLDB4ZmYsMHg4MCB9LAotICAxNiwgMHg5ZjEwLCAwLCB7MHgzZiwweGUyLDB4MGYsMHg3OSwweDAzLDB4M2UsMHg0MCwweGY0LDB4ODAsMHgzMywweDYwLDB4MGMsMHhlOCwweDAzLDB4M2UsMHgwMCB9LAotICAxNiwgMHg5ZjIwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZjgsMHg4MywweDUwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZjMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGQ3LDB4YTAsMHgyZCwweGM0LDB4MDgsMHhiYSwweDAyLDB4M2MsMHhhMCwweDg3LDB4MjAsMHgyMSB9LAotICAxNiwgMHg5ZjQwLCAwLCB7MHhjMCwweDBmLDB4NTIsMHgwMywweGQ0LDB4MDAsMHhiNiwweDEwLDB4MmQsMHhjMCwweDhiLDB4NzMsMHgwMywweDVjLDB4NDAsMHhiNCB9LAotICAxNiwgMHg5ZjUwLCAwLCB7MHhiMCwweDJiLDB4NDgsMHgyOCwweDQxLDB4MDIsMHgwYywweDAwLDB4YmYsMHgxOCwweDM1LDB4NDYsMHgyOCwweDcyLDB4NDIsMHgyYSB9LAotICAxNiwgMHg5ZjYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweDljLDB4MDAsMHg4NywweDQxLDB4MmQsMHg0NCB9LAotICAxNiwgMHg5ZjcwLCAwLCB7MHgwYSwweDczLDB4MDIsMHg5YywweGM0LDB4ODEsMHgwMCwweDZkLDB4YzgsMHg4YiwweDcwLDB4MDIsMHhkNCwweDAwLDB4YjcsMHgwMCB9LAotICAxNiwgMHg5ZjgwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHhmMCwweDQ2LDB4OWMsMHg1NSwweGI0LDB4MjAsMHgyNSwweDQwLDB4MTgsMHg2MCwweDgyLDB4MWMsMHgwMCB9LAotICAxNiwgMHg5ZjkwLCAwLCB7MHhiNywweDAwLDB4MjMsMHg0MCwweDA4LDB4NzAsMHg0NiwweDQ0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZmEwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyYywweDQwLDB4MGIsMHhiMCwweDAyLDB4MGMsMHg4MiwweDgwLDB4YzAsMHgyMCB9LAotICAxNiwgMHg5ZmIwLCAwLCB7MHhjMCwweDBhLDB4MTAsMHgwMiwweDA0LDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDFiLDB4MzAsMHgwMCwweGNkLDB4MDEsMHhiMCB9LAotICAxNiwgMHg5ZmMwLCAwLCB7MHg0MCwweGFjLDB4NzgsMHg4OCwweDhjLDB4MDYsMHgwZCwweDYwLDB4YjMsMHg0YywweDI0LDB4MTIsMHgwOCwweDMwLDB4MGEsMHgxOCB9LAotICAxNiwgMHg5ZmQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgxNSwweGJjLDB4MDAsMHhjNywweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHg5ZmUwLCAwLCB7MHgwZSwweGYwLDB4MmEsMHhiZiwweDAwLDB4YzgsMHhjOCwweGJmLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDA0LDB4YmYsMHgwMCB9LAotICAxNiwgMHg5ZmYwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhiMiwweDBhLDB4YWMsMHgwMCwweGY4LDB4ODAsMHgzNCwweDQ5LDB4MGMsMHhiOSwweDBiLDB4M2YsMHgwMCB9LAotICAxNiwgMHhhMDAwLCAwLCB7MHhmYiwweGMwLDB4MzAsMHhmMCwweDBjLDB4ZjAsMHgwMywweDZlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMDEwLCAwLCB7MHg4MCwweDAwLDB4Y2MsMHgwMCwweGZiLDB4ODAsMHgzZSwweDQxLDB4MmMsMHhiMCwweDEzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSB9LAotICAxNiwgMHhhMDIwLCAwLCB7MHhjMSwweDBmLDB4YTAsMHgwMywweGU4LDB4MDAsMHhmYSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwYiwweDZkLDB4NDAsMHhmOCB9LAotICAxNiwgMHhhMDMwLCAwLCB7MHgxMCwweDNhLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmUsMHg0MCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlMSB9LAotICAxNiwgMHhhMDQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGVjLDB4MGMsMHhkZiwweDAwLDB4M2IsMHg4MCB9LAotICAxNiwgMHhhMDUwLCAwLCB7MHgwZiwweGYwLDB4MGIsMHgzYywweDA4LDB4ZTcsMHgwOCwweDMzLDB4YzAsMHgwYiwweGQwLDB4MjMsMHg3NCwweDAwLDB4NTQsMHgwMCB9LAotICAxNiwgMHhhMDYwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhmMCwweDgzLDB4YmUsMHgyMCwweGZkLDB4MGMsMHgzYiwweDYwLDB4MmMsMHhlMCwweDAzLDB4M2MsMHgwMCB9LAotICAxNiwgMHhhMDcwLCAwLCB7MHhjZiwweDEyLDB4MzMsMHg1MCwweDBjLDB4MzAsMHgwMywweDgwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMDgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwNCwweGFiLDB4MDAsMHgyMiwweGEwLDB4MGIsMHhiMCwweDA2LDB4MGMsMHgwMCwweGFiLDB4NDAsMHgzNiB9LAotICAxNiwgMHhhMDkwLCAwLCB7MHhjMCwweDBiLDB4YTgsMHgwMiwweDY2LDB4MDAsMHhiOCwweDAwLDB4MzYsMHhjMSwweDBiLDB4MzQsMHg0MywweGVlLDB4MDAsMHhiMiB9LAotICAxNiwgMHhhMGEwLCAwLCB7MHgwMCwweDIyLDB4NjAsMHgwOCwweGI0LDB4ODIsMHg4YywweDA0LDB4OGEsMHgyMSwweDIyLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhhMGIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHgyMCB9LAotICAxNiwgMHhhMGMwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4ODgsMHhjNSwweDIyLDB4YzAsMHgwYiwweDg4LDB4ODIsMHhlNiwweDAxLDB4YmIsMHgwOCB9LAotICAxNiwgMHhhMGQwLCAwLCB7MHgyMiwweGMwLDB4MGEsMHhiMiwweDgyLDB4YWMsMHg2MCwweGI4LDB4MDIsMHg0YSwweGM0LDB4MDgsMHhiMSwweDAyLDB4MmMsMHgwMCB9LAotICAxNiwgMHhhMGUwLCAwLCB7MHg4MywweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMGYwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGFiLDB4MjAsMHgyMCwweDAxLDB4MGIsMHgzMiwweDA2LDB4MmMsMHgwMCwweGEwLDB4MDAsMHgyMCB9LAotICAxNiwgMHhhMTAwLCAwLCB7MHhjMCwweDA5LDB4MDQsMHgyMiwweGM0LDB4MDAsMHhiMiwweDAwLDB4MjQsMHhjMSwweDhiLDB4YjAsMHgwMiwweDRjLDB4MDAsMHhiMCB9LAotICAxNiwgMHhhMTEwLCAwLCB7MHgwMCwweDYyLDB4YzAsMHg0OCwweDMwLDB4MDIsMHhhYywweDEwLDB4ODIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwMiB9LAotICAxNiwgMHhhMTIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDgsMHhkZiwweDJhLDB4M2EsMHgwMCB9LAotICAxNiwgMHhhMTMwLCAwLCB7MHgwZiwweGY1LDB4MTIsMHgzYywweDEwLDB4YzksMHgwMCwweGEzLDB4YzAsMHgwZiwweDgwLDB4NTMsMHhlYywweDAxLDB4ZGEsMHgwMCB9LAotICAxNiwgMHhhMTQwLCAwLCB7MHgzMywweGMwLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwNCwweGY4LDB4NzAsMHgzYSwweGMwLDB4MGMsMHg2MCwweDQzLDB4MmMsMHg0MiB9LAotICAxNiwgMHhhMTUwLCAwLCB7MHhjZCwweDAwLDB4YjIsMHg0MCwweDJjLDB4ZjAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMTYwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZiLDB4MDEsMHgzZCwweDAwLDB4MGYsMHhiNCwweDE3LDB4ZmMsMHgwMCwweDNjLDB4MDAsMHgzZiB9LAotICAxNiwgMHhhMTcwLCAwLCB7MHhjMCwweDRmLDB4YzAsMHgwMywweDc0LDB4MDgsMHhmZSwweDAwLDB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDgsMHhmOCB9LAotICAxNiwgMHhhMTgwLCAwLCB7MHgzMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhhMTkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY0LDB4OTAsMHhlZiwweDAwLDB4M2YsMHhkOCB9LAotICAxNiwgMHhhMWEwLCAwLCB7MHgwZSwweGYzLDB4MDMsMHgyYywweDAxLDB4ZDQsMHg4MCwweDM3LDB4Y2MsMHgwZCwweDg5LDB4NDMsMHgxMiwweDUwLDB4ZWMsMHgyYyB9LAotICAxNiwgMHhhMWIwLCAwLCB7MHgzMiwweDA1LDB4MGQsMHhiMCwweDUzLDB4M2MsMHhkNCwweGM1LDB4OTQsMHg3ZiwweGEwLDB4OGYsMHhmMCwweDQzLDB4MzAsMHgwMCB9LAotICAxNiwgMHhhMWMwLCAwLCB7MHhkYywweDAwLDB4MzMsMHgwMCwweDBjLDB4NDgsMHgwNywweGYwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMWQwLCAwLCB7MHg4MCwweDEwLDB4ZTYsMHg0MCwweDhiLDB4NzAsMHgyZiwweGRjLDB4MDgsMHhmNywweDAyLDB4MGMsMHg4MCwweDhhLDB4MjAsMHgwMCB9LAotICAxNiwgMHhhMWUwLCAwLCB7MHhjOCwweDRhLDB4MjIsMHgwMiwweGEwLDB4MDAsMHg4YSwweDQ4LDB4MjIsMHg1OCwweDg4LDB4ZmQsMHgwMiwweGFkLDB4MDIsMHhhOSB9LAotICAxNiwgMHhhMWYwLCAwLCB7MHgyMCwweDFlLDB4YTAsMHgwMywweDgwLDB4MDIsMHgyYywweDA0LDB4OGIsMHgwMCwweDIyLDB4YzAsMHg0YywweDg4LDB4MDcsMHg2MCB9LAotICAxNiwgMHhhMjAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4MDAsMHgyMywweDJjLDB4MmMsMHhjOSB9LAotICAxNiwgMHhhMjEwLCAwLCB7MHgwMiwweDMwLDB4MDIsMHgwYywweDY4LDB4YTAsMHgyOCwweDJjLDB4ZDAsMHgwOSwweDEyLDB4MDIsMHg4NCwweDAwLDB4YTAsMHgyMSB9LAotICAxNiwgMHhhMjIwLCAwLCB7MHgyMCwweDE4LDB4MTksMHgzMCwweDIyLDB4ODAsMHhkMCwweDgzLDB4MDYsMHgwYywweGEwLDB4MGIsMHhiMCwweDA2LDB4MDAsMHgxMiB9LAotICAxNiwgMHhhMjMwLCAwLCB7MHhhMCwweDAwLDB4MjAsMHgwMCwweDI5LDB4MDAsMHgwZSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMjQwLCAwLCB7MHhjMCwweDExLDB4YTgsMHgzMCwweDhiLDB4MDAsMHgyZSwweGMwLDB4NGEsMHgzMCwweDBhLDB4MmMsMHgxNCwweGEwLDB4ODAsMHgwYSB9LAotICAxNiwgMHhhMjUwLCAwLCB7MHhjMSwweDA4LDB4ODgsMHg4NiwweDg3LDB4MDAsMHg4MywweDAwLDB4MjIsMHg0OSwweDA4LDB4YjAsMHgwNiwweGEwLDB4NDAsMHhhYiB9LAotICAxNiwgMHhhMjYwLCAwLCB7MHgyMCwweDIyLDB4MjAsMHgwYiwweDgwLDB4MGEsMHgwYywweDA0LDB4YWIsMHgwMiwweDIyLDB4YzAsMHg4OCwweDgwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhhMjcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVmLDB4NDAsMHhlYiwweDA2LDB4M2UsMHhjMCB9LAotICAxNiwgMHhhMjgwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHgyYywweDAyLDB4ZjksMHhhMCwweDNlLDB4YzAsMHgwZCwweDhjLDB4MDMsMHhhYSwweDEwLDB4ZTksMHg0MCB9LAotICAxNiwgMHhhMjkwLCAwLCB7MHhiMiwweDQ4LDB4MGQsMHhiMCwweDQzLDB4YWQsMHgwMCwweGNiLDB4ODYsMHgyZSwweDIwLDB4MGYsMHgzMCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhMmEwLCAwLCB7MHhmOSwweDgwLDB4MzIsMHhjMCwweDBkLDB4MGMsMHhjMiwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMmIwLCAwLCB7MHhlMCwweDAxLDB4OTQsMHgwMCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgzNyB9LAotICAxNiwgMHhhMmMwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHgwMywweGYwLDB4MDAsMHhmZSwweDIwLDB4M2YsMHg0MCwweDBmLDB4NzAsMHgwMywweGZlLDB4MDAsMHhmZiB9LAotICAxNiwgMHhhMmQwLCAwLCB7MHg4MiwweDdmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmOSwweDA0LDB4ZGUsMHgyMCwweGJkLDB4MDAsMHgwZiwweGQ5LDB4MGIsMHg3YyB9LAotICAxNiwgMHhhMmUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhjYiwweDAwLDB4M2UsMHhjMCB9LAotICAxNiwgMHhhMmYwLCAwLCB7MHgyYywweGIwLDB4MGIsMHgyYywweDAwLDB4ZTgsMHg0MCwweDNlLDB4YzAsMHgwZiwweDk0LDB4MDcsMHgyOSwweDAwLDB4YzksMHg0MCB9LAotICAxNiwgMHhhMzAwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4MDEsMHgwMiwweGNiLDB4MDAsMHgzMiwweDA0LDB4NGYsMHhmMCwweDQzLDB4MzQsMHhjMCB9LAotICAxNiwgMHhhMzEwLCAwLCB7MHhiNSwweDFhLDB4M2YsMHhjMSwweDBmLDB4ODAsMHg5MywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMzIwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwMCwweDhmLDB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAyLDB4M2MsMHgwNCwweGQ4LDB4MDAsMHgyYiB9LAotICAxNiwgMHhhMzMwLCAwLCB7MHhjMCwweDBjLDB4ODAsMHg0NSwweDYwLDB4MDAsMHg3YiwweDU4LDB4MjIsMHhjOCwweDBiLDB4ZmEsMHgwMSwweDYxLDB4NDAsMHg4YiB9LAotICAxNiwgMHhhMzQwLCAwLCB7MHgwMCwweDMyLDB4MDQsMHg0YiwweGNlLDB4MDIsMHgyOCwweDAwLDB4M2EsMHg0MCwweDJlLDB4MDcsMHgwYiwweDkwLDB4MDIsMHgyNiB9LAotICAxNiwgMHhhMzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg4MywweDAxLDB4NGMsMHhjMCB9LAotICAxNiwgMHhhMzYwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHhlYywweDEwLDB4OTAsMHgwMCwweDJhLDB4YzAsMHgwYSwweDgwLDB4MDYsMHhjMCwweDA0LDB4ODMsMHgwNCB9LAotICAxNiwgMHhhMzcwLCAwLCB7MHhhMiwweDg5LDB4MTksMHgzMCwweDA2LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweDkwLDB4MGIsMHgzMCwweGMyLDB4NDgsMHgwMCB9LAotICAxNiwgMHhhMzgwLCAwLCB7MHhiMiwweDQwLDB4MjQsMHgyMCwweDBiLDB4MDksMHgwMCwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMzkwLCAwLCB7MHgyMCwweDAxLDB4MDYsMHgwNCwweDg3LDB4YTQsMHgyZCwweGUwLDB4MDksMHgzOCwweDAyLDB4ZGUsMHgwMCwweDllLDB4ODEsMHgyOSB9LAotICAxNiwgMHhhM2EwLCAwLCB7MHhlMCwweDA4LDB4NzgsMHg1MiwweGZhLDB4YzAsMHg5NiwweDgwLDB4MDEsMHhhMCwweDhiLDB4M2EsMHgyMiwweGNlLDB4NDAsMHg4ZiB9LAotICAxNiwgMHhhM2IwLCAwLCB7MHhiMCwweDI1LDB4YTAsMHgwYiwweDA4LDB4MDIsMHg1NiwweDA4LDB4YjUsMHg5MCwweDJkLDB4ZTQsMHg0YiwweGQ4LDB4MjIsMHgwYyB9LAotICAxNiwgMHhhM2MwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDIsMHg4MywweDgwLDB4MmUsMHhlOCB9LAotICAxNiwgMHhhM2QwLCAwLCB7MHgwYiwweDM4LDB4MTMsMHhjZSwweDQxLDB4ZDMsMHgxMCwweDI4LDB4YzAsMHgwZSwweDNhLDB4MDIsMHhjNiwweDA4LDB4NGIsMHg0MCB9LAotICAxNiwgMHhhM2UwLCAwLCB7MHgzMCwweDYwLDB4MGQsMHgzYiwweDI3LDB4Y2YsMHhjNCwweGMzLDB4YTAsMHgzMCwweDAwLDB4MGYsMHgzMCwweDQzLDB4NDgsMHg0MCB9LAotICAxNiwgMHhhM2YwLCAwLCB7MHhmMiwweDAwLDB4M2MsMHgwNCwweDBmLDB4MDIsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNDAwLCAwLCB7MHg0MCwweDFkLDB4YjgsMHgwMCwweGZmLDB4MDAsMHgzZiwweGM0LDB4MGUsMHhmMSwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDEsMHgzMyB9LAotICAxNiwgMHhhNDEwLCAwLCB7MHhjMCwweDRkLDB4YjEsMHgwNywweDdjLDB4OTAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDAzLDB4ZjEsMHgwMywweDcwLDB4MDAsMHhmYiB9LAotICAxNiwgMHhhNDIwLCAwLCB7MHgxMCwweDNiLDB4MDAsMHgwZiwweGMwLDB4MGIsMHhiNCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzQsMHgwZiwweGQwLDB4MDMsMHg5MCB9LAotICAxNiwgMHhhNDMwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDQsMHhmYiwweDg0LDB4M2EsMHhjMiB9LAotICAxNiwgMHhhNDQwLCAwLCB7MHg0YywweGI0LDB4OTMsMHgyYywweDA0LDB4ZTksMHgwMCwweDNhLDB4YzQsMHg4ZCwweDA4LDB4MDMsMHgyZSwweDAwLDB4Y2IsMHgwMSB9LAotICAxNiwgMHhhNDUwLCAwLCB7MHgzMiwweDgwLDB4OGYsMHhiMiwweDgzLDB4ZWMsMHgwMCwweGNiLDB4ODAsMHgzMiwweDAwLDB4MGYsMHhmOSwweDAzLDB4M2MsMHgxMCB9LAotICAxNiwgMHhhNDYwLCAwLCB7MHhkZiwweDgxLDB4YjMsMHhlMCwweDhjLDB4YTAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNDcwLCAwLCB7MHg0OCwweDExLDB4OTQsMHgwOCwweGI3LDB4MDQsMHgyNCwweGM4LDB4MWEsMHgzMCwweDRhLDB4MWQsMHgwMCwweGI3LDB4MDEsMHgyZCB9LAotICAxNiwgMHhhNDgwLCAwLCB7MHhjMCwweDg4LDB4NzAsMHgwNiwweDFjLDB4MDAsMHg4MiwweDAwLDB4MjEsMHg4MCwweDRiLDB4NzYsMHgxMiwweGRjLDB4MDAsMHg4NyB9LAotICAxNiwgMHhhNDkwLCAwLCB7MHgwMCwweDI5LDB4NDAsMHg4YiwweDQwLDB4MDIsMHgxMCwweDAwLDB4YmMsMHgwMCwweDIwLDB4MDEsMHgyOCwweDcwLDB4MDMsMHhiMiB9LAotICAxNiwgMHhhNGEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MDAsMHhiMywweDkwLDB4MmQsMHhlNCB9LAotICAxNiwgMHhhNGIwLCAwLCB7MHgwOSwweDc5LDB4MDIsMHgxZSwweDgwLDB4YTcsMHg4MCwweDJjLDB4ZTgsMHgxOSwweGY4LDB4MTIsMHg1ZSwweDAxLDB4ODcsMHg4MCB9LAotICAxNiwgMHhhNGMwLCAwLCB7MHgyNSwweGUwLDB4NGIsMHg3OCwweDA2LDB4ZDIsMHgwMCwweDk3LDB4ODAsMHgyMSwweDYyLDB4MGIsMHgzYSwweDAyLDB4MWUsMHgwMCB9LAotICAxNiwgMHhhNGQwLCAwLCB7MHhiNywweDg2LDB4MjksMHhmMCwweDA4LDB4NjgsMHgwNiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNGUwLCAwLCB7MHg0OCwweDE0LDB4Y2YsMHhjMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4OGEsMHgzMCwweDMyLDB4MGMsMHgwMCwweGIzLDB4MDgsMHgyYyB9LAotICAxNiwgMHhhNGYwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgxMiwweDBlLDB4MjAsMHg4MywweDAwLDB4MjQsMHhmMSwweDBiLDB4MzAsMHgwNiwweGNlLDB4MDAsMHg4MyB9LAotICAxNiwgMHhhNTAwLCAwLCB7MHg5MCwweDI4LDB4NjAsMHgwYiwweDAwLDB4MmEsMHgyMSwweDgwLDB4YjAsMHgwOCwweDI4LDB4MDAsMHgwOCwweDM3LDB4MDIsMHg5MiB9LAotICAxNiwgMHhhNTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCB9LAotICAxNiwgMHhhNTIwLCAwLCB7MHg0ZCwweGEwLDB4MDMsMHgyOCwweDAwLDB4ZWUsMHg0MSwweDNlLDB4ODAsMHgwZCwweGUwLDB4MDMsMHg3OCwweDAwLDB4OGUsMHg0MCB9LAotICAxNiwgMHhhNTMwLCAwLCB7MHgyNywweGE4LDB4MGIsMHhhMCwweDAzLDB4ZmIsMHgwMiwweGNhLDB4ODIsMHgzMywweGEwLDB4MGYsMHhhMCwweDEzLDB4MjksMHgwMCB9LAotICAxNiwgMHhhNTQwLCAwLCB7MHhmYSwweDQwLDB4M2EsMHg4MCwweDBjLDB4NmMsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNTUwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMCwweGY4LDB4MDAsMHgzYSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGY4LDB4MDAsMHgzZSB9LAotICAxNiwgMHhhNTYwLCAwLCB7MHgwMCwweDhmLDB4ODAsMHgyMywweGEwLDB4NDIsMHhmOCwweDA5LDB4YmEsMHgxMCwweDRmLDB4ODAsMHgwMywweGUwLDB4NjAsMHhmOCB9LAotICAxNiwgMHhhNTcwLCAwLCB7MHgwMCwweDNlLDB4MjAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDI3LDB4MDAsMHg4ZiwweDgwLDB4MDMsMHg5MiB9LAotICAxNiwgMHhhNTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU1LDB4MDAsMHg4OSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhhNTkwLCAwLCB7MHg2ZSwweDkwLDB4MDMsMHhhNCwweDA4LDB4YzksMHgwMCwweDNjLDB4NDAsMHgwZCwweDkwLDB4MDMsMHgyNCwweDEwLDB4ZjksMHhhMCB9LAotICAxNiwgMHhhNWEwLCAwLCB7MHgzMiwweDQyLDB4MGMsMHg5MCwweDEzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg0MCB9LAotICAxNiwgMHhhNWIwLCAwLCB7MHhjOSwweDIwLDB4M2UsMHg1MiwweGNmLDB4OTAsMHgwOSwweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNWMwLCAwLCB7MHg4MCwweDA0LDB4NjYsMHgwMCwweDg5LDB4MDQsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzYSB9LAotICAxNiwgMHhhNWQwLCAwLCB7MHg0MSwweDA4LDB4OTAsMHgwNSwweGE0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg0MCwweDBkLDB4OTAsMHgwMiwweGU1LDB4NDYsMHg4OSB9LAotICAxNiwgMHhhNWUwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MTIsMHhlNSwweDAwLDB4YTksMHhjOCwweDJlLDB4NjEsMHg4YiwweDk0LDB4NDIsMHgyMCB9LAotICAxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhhOSwweDAwLDB4NmMsMHg0MCB9LAotICAxNiwgMHhhNjAwLCAwLCB7MHg0OCwweDEwLDB4MjIsMHg4NCwweDAzLDB4YTksMHgwMCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDA0LDB4YjEsMHgwOCB9LAotICAxNiwgMHhhNjEwLCAwLCB7MHgyOCwweDQwLDB4MTgsMHg5OCwweDAyLDB4ZTUsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZjQsMHgyMCB9LAotICAxNiwgMHhhNjIwLCAwLCB7MHg4ZCwweDAwLDB4MmYsMHg0MCwweDBiLDB4OTQsMHg0MiwweDg2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNjMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGExLDB4MjQsMHgyYywweDQ4LDB4MTgsMHgxMiwweDAyLDB4MDQsMHg4MCwweGExLDB4MDAsMHgyOCB9LAotICAxNiwgMHhhNjQwLCAwLCB7MHg0OCwweDA4LDB4MTAsMHgwMiwweDg0LDB4MDAsMHg5MSwweDIwLDB4MjAsMHg0OCwweDA5LDB4MTIsMHgwMiwweGM0LDB4OTQsMHg4MSB9LAotICAxNiwgMHhhNjUwLCAwLCB7MHgwMCwweDJjLDB4NjEsMHgwYiwweDVhLDB4ODIsMHhkNCwweGEwLDB4YTUsMHgyOCwweDJkLDB4NGEsMHgwYiwweDkwLDB4MDIsMHg4MiB9LAotICAxNiwgMHhhNjYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDIsMHhlOCwweDUwLDB4MmUsMHgxNCB9LAotICAxNiwgMHhhNjcwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMSwweDQwLDB4YTgsMHg1MCwweDNlLDB4MTQsMHgwZCwweDg1LDB4MDEsMHg4MSwweDQwLDB4ZjgsMHg1MiB9LAotICAxNiwgMHhhNjgwLCAwLCB7MHgzMiwweDk0LDB4MGMsMHg4MCwweDEzLDB4YzEsMHg0MiwweGMwLDB4NTEsMHgzZSwweDAwLDB4OGYsMHg4MiwweDAzLDB4ZTAsMHg4MCB9LAotICAxNiwgMHhhNjkwLCAwLCB7MHhjOCwweDIwLDB4M2YsMHgwOCwweDBmLDB4ODAsMHgwMywweGFlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNmEwLCAwLCB7MHg5OCwweDE5LDB4ZjQsMHg1MCwweGQ5LDB4MTEsMHgzZSwweDQ0LDB4OGYsMHg5MSwweDQzLDB4ZTQsMHg0MCwweGRkLDB4MDAsMHgzYSB9LAotICAxNiwgMHhhNmIwLCAwLCB7MHg0NCwweDRmLDB4ZDAsMHgyNywweGI0LDB4MDAsMHhmZCwweDEyLDB4M2YsMHg0NCwweDRmLDB4OTEsMHg0MywweGY0LDB4NDAsMHhmZCB9LAotICAxNiwgMHhhNmMwLCAwLCB7MHgwMCwweDNmLDB4NDEsMHgwZiwweDkyLDB4ODMsMHhlNCwweGEwLDB4ZjksMHgyOCwweDNlLDB4NGEsMHgwZiwweGQwLDB4MDMsMHg2NiB9LAotICAxNiwgMHhhNmQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxMSwweGY2LDB4ODAsMHhlOSwweGMwLDB4M2UsMHg3OCB9LAotICAxNiwgMHhhNmUwLCAwLCB7MHg4ZiwweDliLDB4MDMsMHhhNywweDgwLDB4YzksMHg0MCwweDM2LDB4NzgsMHgwZiwweDEwLDB4MjMsMHhlNSwweDA0LDB4ZGQsMHhhNCB9LAotICAxNiwgMHhhNmYwLCAwLCB7MHgzMywweDYyLDB4MGYsMHhkYSwweDAzLDB4ZjYsMHg2MCwweGM5LDB4MTAsMHgzMywweDQwLDB4MGUsMHg5OCwweDkzLDB4ZTYsMHgzMCB9LAotICAxNiwgMHhhNzAwLCAwLCB7MHhjOSwweGM5LDB4MzIsMHg3OCwweDhjLDB4ZDAsMHgwYiwweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNzEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweDg4LDB4ZTIsMHgyZSwweDMwLDB4MGIsMHg4OCwweDQyLDB4MjMsMHg0MCwweGEwLDB4YTEsMHgyMiB9LAotICAxNiwgMHhhNzIwLCAwLCB7MHgzOCwweDBiLDB4OGEsMHgwMiwweGUyLDB4ODAsMHhhYSwweGUwLDB4MjIsMHgzMCwweDBiLDB4ODAsMHgyMywweGFiLDB4MDIsMHg4OCB9LAotICAxNiwgMHhhNzMwLCAwLCB7MHhhMCwweDJhLDB4MDAsMHgwYiwweDhjLDB4MDIsMHhlMywweDAwLDB4ODgsMHhlMCwweDIzLDB4MzgsMHgwOCwweDgwLDB4MDIsMHgwZSB9LAotICAxNiwgMHhhNzQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhhMSwweDQ0LDB4MjgsMHg1OCB9LAotICAxNiwgMHhhNzUwLCAwLCB7MHg0MywweDE2LDB4MjIsMHg4NCwweDgxLDB4ODEsMHgyMCwweDJjLDB4NTgsMHg0OSwweDEwLDB4ODAsMHhjNCwweDgxLDB4OTEsMHg0OCB9LAotICAxNiwgMHhhNzYwLCAwLCB7MHg2YywweDRhLDB4MGIsMHgxNCwweDAyLDB4NDQsMHg4NCwweDgxLDB4MDEsMHg2MCwweDQwLDB4MGEsMHg1MiwweDg2LDB4ZDQsMHhhMCB9LAotICAxNiwgMHhhNzcwLCAwLCB7MHg4NSwweDAwLDB4YTEsMHg1MCwweDY4LDB4OTAsMHgwNiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNzgwLCAwLCB7MHgxOCwweDA1LDB4YTYsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweGE5LDB4NjAsMHgyMiB9LAotICAxNiwgMHhhNzkwLCAwLCB7MHg0MCwweDBiLDB4OTUsMHgwMiwweGU0LDB4MTAsMHhiMSwweDAwLDB4NGUsMHg0MCwweDBiLDB4OTAsMHg2NiwweGFjLDB4ODAsMHg4OSB9LAotICAxNiwgMHhhN2EwLCAwLCB7MHgwMCwweDJhLDB4NjAsMHgwYiwweDkwLDB4NTIsMHhmNCwweDAwLDB4ODUsMHgwMCwweDIxLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhjNiB9LAotICAxNiwgMHhhN2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU2LDB4MjAsMHhlOSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhhN2MwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhhNCwweDEwLDB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDk0LDB4MDEsMHhlNSwweDIwLDB4ZDksMHg0MCB9LAotICAxNiwgMHhhN2QwLCAwLCB7MHhiYSwweDY4LDB4OGYsMHg5MCwweDA3LDB4ZTYsMHgwMCwweGM5LDB4MTAsMHgzMiwweDYyLDB4MGUsMHg5MCwweDAyLDB4ZTQsMHgxOCB9LAotICAxNiwgMHhhN2UwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhN2YwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQwLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhhODAwLCAwLCB7MHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAyLDB4NzIsMHg2OCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSB9LAotICAxNiwgMHhhODEwLCAwLCB7MHgwMSwweDNlLDB4NDIsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAyLDB4ZjksMHgwNCwweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHgxYSB9LAotICAxNiwgMHhhODIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweDgwLDB4MDIsMHhjOCwweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhhODMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHg0MCwweDM2LDB4MDAsMHgwZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZDgsMHg1MCB9LAotICAxNiwgMHhhODQwLCAwLCB7MHhiMiwweDEwLDB4OGMsMHg4MSwweDAzLDB4YzEsMHgyMCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhjMCwweDEzLDB4ZjAsMHgwNCB9LAotICAxNiwgMHhhODUwLCAwLCB7MHg0YywweDAwLDB4M2YsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhODYwLCAwLCB7MHgyOCwweDE1LDB4MmEsMHgwMCwweDhhLDB4MDQsMHgyMiwweDgxLDB4MjgsMHhhMCwweDEyLDB4MjgsMHgwMCwweDhhLDB4MDEsMHgzNiB9LAotICAxNiwgMHhhODcwLCAwLCB7MHg4MCwweDBiLDB4YTAsMHgxMCwweDI4LDB4MTAsMHhjZSwweDAxLDB4MjMsMHg4MSwweDBjLDB4YTgsMHgxMiwweGZiLDB4MDAsMHg4YSB9LAotICAxNiwgMHhhODgwLCAwLCB7MHgwMSwweDNiLDB4ODAsMHg4MywweGEwLDB4NDIsMHhlOCwweDEwLDB4OGEsMHgwMCwweDJmLDB4ODAsMHgwYiwweDYwLDB4NDIsMHgwYSB9LAotICAxNiwgMHhhODkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDAwLDB4YTAsMHhjMCB9LAotICAxNiwgMHhhOGEwLCAwLCB7MHgxOCwweGIwLDB4MDAsMHhjYywweDAwLDB4OWIsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDYsMHg2YywweDAwLDB4YTMsMHgwOCB9LAotICAxNiwgMHhhOGIwLCAwLCB7MHgyOCwweGM4LDB4MDksMHgzMCwweDAyLDB4Y2MsMHg0MywweDhiLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMiB9LAotICAxNiwgMHhhOGMwLCAwLCB7MHg4MywweDAxLDB4MmMsMHhjMCwweDRiLDB4MzAsMHgwMCwweDRhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOGQwLCAwLCB7MHhhMCwweDAxLDB4MGMsMHgyNCwweDg3LDB4OTQsMHgyMSwweGU0LDB4MTgsMHgzMSwweDAyLDB4ZGMsMHg4MCwweDk3LDB4MTAsMHgyNSB9LAotICAxNiwgMHhhOGUwLCAwLCB7MHhjZCwweDBiLDB4ZjIsMHgwMiwweDdjLDB4MDAsMHhhMCwweDAwLDB4MjgsMHhlMCwweDE4LDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NyB9LAotICAxNiwgMHhhOGYwLCAwLCB7MHgzNCwweDI5LDB4NDAsMHgwOSwweDQwLDB4MDIsMHhkMCwweDA0LDB4ODQsMHgwNCwweDJkLDB4MDAsMHg0YiwweGQwLDB4MjIsMHg2OCB9LAotICAxNiwgMHhhOTAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDE2LDB4MDAsMHhjZiwweGEwLDB4NzAsMHhlOSB9LAotICAxNiwgMHhhOTEwLCAwLCB7MHgxOCwweDdiLDB4MDMsMHhmZiwweDQwLDB4OTcsMHhhMCwweDM1LDB4ZTgsMHgwZiwweDc0LDB4MDIsMHg1ZSwweDIwLDB4ZTQsMHg4MCB9LAotICAxNiwgMHhhOTIwLCAwLCB7MHgzOSwweGEwLDB4MmQsMHg3OCwweDAzLDB4ZmUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4NWYsMHg2OCwweDQzLDB4YzIsMHgwMCB9LAotICAxNiwgMHhhOTMwLCAwLCB7MHhjNCwweDg0LDB4MWQsMHg2MCwweDBmLDB4NzgsMHgwMywweDZhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOTQwLCAwLCB7MHgwOCwweDBkLDB4YTQsMHgwMCwweDNiLDB4MDAsMHgyZSwweGQ4LDB4MGYsMHhiNCwweDAzLDB4MmQsMHg4YSwweGViLDB4NjIsMHgzYSB9LAotICAxNiwgMHhhOTUwLCAwLCB7MHhkMCwweDBmLDB4YjIsMHg4NywweDBjLDB4ZDAsMHhkOCwweDAwLDB4MzIsMHhjMCwweDRmLDB4OTAsMHg0MywweGVjLDB4MDAsMHhmYiB9LAotICAxNiwgMHhhOTYwLCAwLCB7MHgwOCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNmLDB4ODAsMHgwZiwweDAwLDB4MmIsMHg4MiB9LAotICAxNiwgMHhhOTcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhmZiwweGEwLDB4M2UsMHhmNCB9LAotICAxNiwgMHhhOTgwLCAwLCB7MHgwZSwweGI4LDB4MDMsMHhlZSwweDA4LDB4NGIsMHhmMCwweDdmLDB4ZjQsMHgwYywweGY5LDB4MjMsMHhlZSwweDQ4LDB4NzgsMHg5MCB9LAotICAxNiwgMHhhOTkwLCAwLCB7MHgzMiwweGU0LDB4MGMsMHhmOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzZiwweGU0LDB4MWMsMHg3OSwweDAzLDB4MmUsMHg0MCB9LAotICAxNiwgMHhhOWEwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHhlMCwweDJjLDB4NzgsMHgwNywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOWIwLCAwLCB7MHhhOCwweDExLDB4OTQsMHgwMCwweGIzLDB4MDAsMHgwYywweGU1LDB4MGIsMHgzOCwweDAyLDB4ZmUsMHg4MCwweDhmLDB4ODAsMHg2MSB9LAotICAxNiwgMHhhOWMwLCAwLCB7MHhjNCwweDI4LDB4NzgsMHgwMCwweDRlLDB4MDAsMHhmNCwweDg0LDB4MjUsMHhhOCwweDBjLDB4NzAsMHgwMiwweGNjLDB4MDQsMHhiMyB9LAotICAxNiwgMHhhOWQwLCAwLCB7MHg5MCwweDI1LDB4NDAsMHgwYywweDQxLDB4ODMsMHg1MiwweDQwLDB4YjQsMHgxMCwweGEzLDB4MDAsMHgwYywweDUyLDB4MDMsMHg2YSB9LAotICAxNiwgMHhhOWUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4MDAsMHhiNywweDIxLDB4NmQsMHhjOCB9LAotICAxNiwgMHhhOWYwLCAwLCB7MHg0YiwweDcwLDB4MDIsMHhkYywweDQyLDB4YTcsMHgzMSwweDI5LDB4YzQsMHgwOCwweDcyLDB4MDIsMHhkYywweDAwLDB4YjcsMHgyOCB9LAotICAxNiwgMHhhYTAwLCAwLCB7MHgyNCwweDgwLDB4MDgsMHg3MCwweDA2LDB4ZDQsMHgyMCwweGI3LDB4MDEsMHgyZCwweGMxLDB4MDgsMHg2MCwweDAyLDB4NTAsMHg4MCB9LAotICAxNiwgMHhhYTEwLCAwLCB7MHhiNCwweDA4LDB4MjEsMHg2MiwweDA5LDB4NzQsMHgwNiwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYTIwLCAwLCB7MHgyMCwweDE0LDB4YzcsMHgwNCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDIsMHg2MCB9LAotICAxNiwgMHhhYTMwLCAwLCB7MHhjMCwweDA4LDB4MzgsMHgwMiwweDRlLDB4NDQsMHhhMCwweGMwLDB4MjQsMHg5MSwweDA4LDB4MzAsMHgwMiwweGMwLDB4MDAsMHhiMyB9LAotICAxNiwgMHhhYTQwLCAwLCB7MHgwMCwweDI0LDB4NjAsMHgwOCwweDFjLDB4MDIsMHg0YywweDg4LDB4YjMsMHhjMCwweDIwLDB4YTAsMHgwOCwweDAwLDB4MGEsMHg4OCB9LAotICAxNiwgMHhhYTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmZiwweDAwLDB4MmYsMHhjMCB9LAotICAxNiwgMHhhYTYwLCAwLCB7MHg0ZiwweGYwLDB4MTMsMHhmYywweDA4LDB4ZTcsMHg4YSwweDNmLDB4YzAsMHgwYywweGY1LDB4YzIsMHhmZSwweDEwLDB4YmIsMHhjMCB9LAotICAxNiwgMHhhYTcwLCAwLCB7MHgzMiwweGQ0LDB4MGMsMHgzMCwweDEzLDB4ZTMsMHgwNCwweGJmLDB4MDAsMHgyZSwweDYyLDB4MDgsMHhiOSwweDAyLDB4NmUsMHgwMCB9LAotICAxNiwgMHhhYTgwLCAwLCB7MHhmYiwweDAxLDB4MzIsMHhhNCwweDRkLDB4OTQsMHgwMiwweGFiLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHg2MCwweGZiLDB4MDAsMHgxZSwweGMwLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweDViLDB4MDAsMHgzYSB9LAotICAxNiwgMHhhYWEwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHg0MSwweGVjLDB4MDAsMHg3YiwweDQ1LDB4YmEsMHg0MCwweDJlLDB4YjAsMHgxNSwweGUwLDB4MDEsMHhmYiB9LAotICAxNiwgMHhhYWIwLCAwLCB7MHgwMCwweDNlLDB4NTAsMHgwZSwweGMwLDB4MDMsMHhmMCwweDQwLDB4ZmMsMHgyMCwweDNmLDB4NTAsMHg4ZiwweDkwLDB4MDEsMHg2MCB9LAotICAxNiwgMHhhYWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCB9LAotICAxNiwgMHhhYWQwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHgxYywweDAyLDB4Y2YsMHgwMCwweDM2LDB4YzAsMHgwZCwweGYwLDB4MDMsMHg3YywweDAwLDB4N2YsMHgyYSB9LAotICAxNiwgMHhhYWUwLCAwLCB7MHgzZiwweDgwLDB4MGYsMHhmOCwweDEzLDB4OTAsMHgyMSwweGNmLDB4MDAsMHgzZiwweDYyLDB4MGMsMHhlMCwweDAzLDB4MzAsMHgwMCB9LAotICAxNiwgMHhhYWYwLCAwLCB7MHhmOCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHgwMywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYjAwLCAwLCB7MHg4MSwweDA0LDB4NjQsMHgxMSwweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4MmMsMHgwMCwweGRiLDB4MDQsMHgzMiB9LAotICAxNiwgMHhhYjEwLCAwLCB7MHhjMCwweDBlLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDg0LDB4MmUsMHg0MCwweDBiLDB4YjksMHg0MiwweDIyLDB4NDIsMHg4YiB9LAotICAxNiwgMHhhYjIwLCAwLCB7MHgwMSwweDJjLDB4NzIsMHgwYSwweDkwLDB4NDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzIsMHg4ZiwweDg4LDB4MDYsMHhlMCB9LAotICAxNiwgMHhhYjMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDI0LDB4MDAsMHhiYiwweDAwLDB4NmUsMHhjMCB9LAotICAxNiwgMHhhYjQwLCAwLCB7MHg0OCwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHgwYSwweGIwLDB4MTIsMHhlYywweDAwLDB4YmIsMHg0MCB9LAotICAxNiwgMHhhYjUwLCAwLCB7MHgyZSwweGM4LDB4MGIsMHhiMCwweDEyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQ4LDB4MGEsMHgzMCwweDAyLDB4NmMsMHgwMCB9LAotICAxNiwgMHhhYjYwLCAwLCB7MHhiYiwweDAwLDB4MmUsMHg4MCwweDRiLDB4OTgsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYjcwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHgwMCwweGIzLDB4MDAsMHg2YywweGMyLDB4NGIsMHgzMSwweDAyLDB4MGMsMHg1MCwweDliLDB4MjAsMHgyMCB9LAotICAxNiwgMHhhYjgwLCAwLCB7MHhjMCwweDBhLDB4MzIsMHgxMiwweGNjLDB4ODAsMHhiMywweDAwLDB4NmMsMHgwYywweDBiLDB4MzEsMHgwMiwweDBjLDB4NDIsMHg4MyB9LAotICAxNiwgMHhhYjkwLCAwLCB7MHgwOCwweDJlLDB4NDAsMHgwYSwweDAwLDB4MDIsMHgwMCwweDgwLDB4YjAsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEwLDB4MDIsMHg0MiB9LAotICAxNiwgMHhhYmEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhiYiwweDQwLDB4M2YsMHhjYyB9LAotICAxNiwgMHhhYmIwLCAwLCB7MHgwZSwweGYwLDB4ODMsMHgzZCwweGEwLDB4Y2YsMHgyMCwweDM3LDB4YzAsMHgwYywweGY3LDB4YzMsMHhmZCwweDQ4LDB4ZjMsMHgwMCB9LAotICAxNiwgMHhhYmMwLCAwLCB7MHgzZSwweDg4LDB4MGYsMHhiNCwweDEzLDB4YTUsMHgwMCwweDhmLDB4MzAsMHgzZSwweDQwLDB4MGMsMHhhMCwweDAzLDB4NjAsMHg4MCB9LAotICAxNiwgMHhhYmQwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4OTAsMHgyMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYmUwLCAwLCB7MHhhMCwweDE5LDB4ZjQsMHgwMCwweGZmLDB4MjksMHgzZiwweGM5LDB4MGYsMHhmMCwweDEzLDB4ZmMsMHg5NCwweGVmLDB4MTIsMHgzYiB9LAotICAxNiwgMHhhYmYwLCAwLCB7MHhjMCwweDhlLDB4YjIsMHgwNywweGZkLDB4MDQsMHhmZiwweDEwLDB4M2YsMHgwYywweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmYiB9LAotICAxNiwgMHhhYzAwLCAwLCB7MHgyMCwweDNkLDB4NDAsMHgwZiwweGQwLDB4NDMsMHhmYywweDQwLDB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZSwweGMwLDB4NDMsMHhlOCB9LAotICAxNiwgMHhhYzEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4YTIsMHhjNywweDIwLDB4M2YsMHgyNCB9LAotICAxNiwgMHhhYzIwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzYywweDgwLDB4Y2MsMHgwOSwweDMzLDB4ZDEsMHgwYywweGYxLDB4MjMsMHhmYywweDIwLDB4ZGYsMHgzNiB9LAotICAxNiwgMHhhYzMwLCAwLCB7MHgzZiwweGMwLDB4MGUsMHg0OCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzNywweGU0LDB4MGQsMHg3OCwweDAzLDB4MTEsMHhhMCB9LAotICAxNiwgMHhhYzQwLCAwLCB7MHhjZiwweDAwLDB4MzcsMHhjOCwweDBjLDB4ZjAsMHgwMywweDMwLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYzUwLCAwLCB7MHg4MCwweDEwLDB4ZmYsMHgwMCwweDhmLDB4ZDEsMHgyZSwweDA4LDB4MGQsMHhiNiwweDEyLDB4M2QsMHg0NSwweGY5LDB4NjQsMHgyNyB9LAotICAxNiwgMHhhYzYwLCAwLCB7MHhkMCwweDg4LDB4YmEsMHgxNCwweGNjLDB4MDQsMHg4ZiwweDQwLDB4MjMsMHhmMCwweDBiLDB4ODgsMHgwMiwweDJlLDB4MDQsMHhiYiB9LAotICAxNiwgMHhhYzcwLCAwLCB7MHg4MCwweGFlLDB4YzAsMHgwOCwweGI4LDB4MGEsMHgyMSwweDAwLDB4ODgsMHhkMCwweDIyLDB4MjAsMHgyOCwweGIwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhhYzgwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg5MywweDAwLDB4MmUsMHgwMCB9LAotICAxNiwgMHhhYzkwLCAwLCB7MHgwYSwweDM0LDB4ODIsMHg4YywweGEwLDB4YTAsMHgwOCwweDI0LDB4ZDgsMHgwOSwweDMxLDB4MDIsMHhjYywweDIwLDB4YjMsMHgzMiB9LAotICAxNiwgMHhhY2EwLCAwLCB7MHgyOCwweGQwLDB4NGEsMHg4MCwweDAyLDB4Y2MsMHgwYywweGJiLDB4MDAsMHgyMiwweDQwLDB4ODksMHhiMCwweDAyLDB4NjAsMHg4MCB9LAotICAxNiwgMHhhY2IwLCAwLCB7MHg5MywweDAwLDB4MjQsMHhkMCwweDBiLDB4MzAsMHgwMiwweGEyLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhY2MwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgwMCwweDliLDB4MDAsMHgyZSwweDIwLDB4MDksMHhiMCwweDRhLDB4MmMsMHgwMiwweGEwLDB4MDAsMHgwNiB9LAotICAxNiwgMHhhY2QwLCAwLCB7MHhjMCwweDA5LDB4YjAsMHgwMCwweGVjLDB4MDAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDBiLDB4ODgsMHgwMiwweDZjLDB4MDAsMHhiYiB9LAotICAxNiwgMHhhY2UwLCAwLCB7MHgyMCwweDJhLDB4ZTIsMHg0MSwweGI4LDB4MmEsMHg2MCwweDBhLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgwYiwweGIwLDB4MDIsMHhiOCB9LAotICAxNiwgMHhhY2YwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDgsMHhkYiwweDAyLDB4M2UsMHgyMCB9LAotICAxNiwgMHhhZDAwLCAwLCB7MHg0YywweGIwLDB4MDMsMHgyYywweDAyLDB4OGIsMHgyMCwweDEyLDB4YzAsMHgyOSwweGIwLDB4MTIsMHhlYywweDAwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHhhZDEwLCAwLCB7MHgzYSwweGMwLDB4MGUsMHg4OCwweDAzLDB4ZWQsMHgyMCwweGZiLDB4YzgsMHgzNCwweGYwLDB4MGQsMHhiYSwweDAzLDB4NDcsMHg2MCB9LAotICAxNiwgMHhhZDIwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4YjAsMHgwYiwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZDMwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweGVmLDB4MDAsMHgwZiwweDAwLDB4MGYsMHgzMCwweDAwLDB4ZmMsMHgwMCwweGRmLDB4OTAsMHhiYiB9LAotICAxNiwgMHhhZDQwLCAwLCB7MHhjMCwweGNlLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhjYiwweDAwLDB4MTcsMHhjMCwweDBmLDB4YzAsMHgwMywweGJjLDB4ODQsMHhmZiB9LAotICAxNiwgMHhhZDUwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwZSwweGQwLDB4NjMsMHhiOCwweDAwLDB4ZWEsMHgwMCwweDNhLDB4ODAsMHgwYywweDMwLDB4MDMsMHg3MCB9LAotICAxNiwgMHhhZDYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmYiwweDAyLDB4MzIsMHgwMCB9LAotICAxNiwgMHhhZDcwLCAwLCB7MHgwZiwweGIwLDB4NTMsMHgyYywweDAwLDB4ZmEsMHgwMCwweDMyLDB4YzAsMHg4ZiwweGIwLDB4MDcsMHgyYywweDAwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHhhZDgwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHg4MCwweDA3LDB4YWMsMHg4MCwweGRiLDB4MjQsMHg3ZSwweGQwLDB4MGUsMHhiMCwweDIzLDB4NzQsMHgwNCB9LAotICAxNiwgMHhhZDkwLCAwLCB7MHhkZCwweDA4LDB4YjUsMHg0MCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZGEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweGJmLDB4YzAsMHhhMCwweDAwLDB4MWIsMHhmMCwweDAyLDB4M2YsMHg2MCwweGVhLDB4NTAsMHgyMyB9LAotICAxNiwgMHhhZGIwLCAwLCB7MHhjMCwweDA4LDB4ZmEsMHgwNywweGZjLDB4MDAsMHhkZiwweDAwLDB4NjMsMHhjMCwweDQ4LDB4MTgsMHgwMiwweDJkLDB4MDAsMHhiMyB9LAotICAxNiwgMHhhZGMwLCAwLCB7MHgwMCwweDZlLDB4YzAsMHgwZCwweDNhLDB4MDMsMHgyNCwweDAwLDB4ODIsMHg4MCwweDMyLDB4ODAsMHgwZCwweGYwLDB4MDMsMHgzMiB9LAotICAxNiwgMHhhZGQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTQsMHhiMywweDU5LDB4MjAsMHg4MCB9LAotICAxNiwgMHhhZGUwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgyZSwweDA1LDB4YjAsMHg0NCwweDJlLDB4YzAsMHgwOSwweDM0LDB4ODIsMHhlYywweDAwLDB4YWIsMHgwNCB9LAotICAxNiwgMHhhZGYwLCAwLCB7MHgyMCwweGMwLDB4MDksMHgyMSwweGIyLDB4OGUsMHgwNCwweDkzLDB4YzAsMHgyNCwweGMwLDB4MGEsMHgxOCwweDA2LDB4NGMsMHgwMCB9LAotICAxNiwgMHhhZTAwLCAwLCB7MHg5MiwweDUwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDcwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZTEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHg2MSwweGUwLDB4MGIsMHg3OCwweDBhLDB4NWUsMHgwMSwweGIxLDB4YTAsMHgyZCB9LAotICAxNiwgMHhhZTIwLCAwLCB7MHhlMCwweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHgwNywweDkwLDB4MjEsMHhlMCwweDE4LDB4YzgsMHgwMiwweDFlLDB4MDAsMHhiNyB9LAotICAxNiwgMHhhZTMwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHg4YSwweGQ4LDB4MDIsMHgzZSwweGMwLDB4ODUsMHg4MCwweDIxLDB4MjAsMHgxOSwweDc4LDB4MjIsMHgwMCB9LAotICAxNiwgMHhhZTQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMywweDk0LDB4MjAsMHgxMCB9LAotICAxNiwgMHhhZTUwLCAwLCB7MHg0YiwweDMwLDB4MDcsMHgwYywweDAwLDB4ZjMsMHgwMCwweDNlLDB4YzgsMHgwZiwweDMwLDB4MDMsMHhjYywweDAwLDB4MjMsMHgxMCB9LAotICAxNiwgMHhhZTYwLCAwLCB7MHgwMCwweGNiLDB4MDUsMHgyMCwweDAyLDB4OGMsMHg2MCwweDkzLDB4MGEsMHgyZSwweGM0LDB4MGEsMHgwMSwweDA3LDB4NGMsMHg4MCB9LAotICAxNiwgMHhhZTcwLCAwLCB7MHhkMiwweDAxLDB4MzAsMHhjMCwweDJjLDB4MzAsMHgwYiwweDVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZTgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDEsMHgwZiwweDQwLDB4MGYsMHhmMCwweDEzLDB4YmMsMHgwMCwweGVmLDB4MjYsMHg3MyB9LAotICAxNiwgMHhhZTkwLCAwLCB7MHhjMiwweDBjLDB4YjAsMHg4MywweGJjLDB4NDAsMHhmZiwweDE4LDB4M2QsMHhjMCwweDRhLDB4YzEsMHgwMywweGZjLDB4MDAsMHhmYiB9LAotICAxNiwgMHhhZWEwLCAwLCB7MHgxMiwweDNmLDB4YzQsMHg0ZCwweGMxLDB4MGIsMHhmYywweDgxLDB4ZmQsMHgwMCwweDNmLDB4MjAsMHgwZiwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhhZWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MjAsMHhjYiwweDQ4LDB4M2UsMHgwMCB9LAotICAxNiwgMHhhZWMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgyZCwweDIwLDB4ZTksMHg4MCwweGZhLDB4YzgsMHgwZCwweGIwLDB4MDMsMHhlZSwweDAwLDB4ZGIsMHgyNCB9LAotICAxNiwgMHhhZWQwLCAwLCB7MHg3NiwweGYzLDB4OGUsMHg4MCwweDMzLDB4ZWMsMHg0NCwweGViLDB4MTAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZTgsMHgwNCB9LAotICAxNiwgMHhhZWUwLCAwLCB7MHhkYywweDAwLDB4YjMsMHg2MSwweDBjLDB4YjAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZWYwLCAwLCB7MHg0OCwweDExLDB4OGQsMHgwMCwweDg3LDB4MjAsMHgyZiwweDAxLDB4MjgsMHg3MCwweDAyLDB4MGMsMHg4NCwweDhkLDB4MDQsMHgzMSB9LAotICAxNiwgMHhhZjAwLCAwLCB7MHhjYywweGM5LDB4NzIsMHgwMiwweGRkLDB4MDAsMHgzNywweDMzLDB4MjEsMHhkOCwweDA4LDB4NDAsMHgwMiwweGRjLDB4MDAsMHhiNyB9LAotICAxNiwgMHhhZjEwLCAwLCB7MHgyMCwweDNkLDB4YzAsMHgwOSwweDUwLDB4MjIsMHhmMCwweDAwLDB4OTcsMHgwMCwweDIxLDB4ODAsMHgwYSwweGZjLDB4MDIsMHg5MiB9LAotICAxNiwgMHhhZjIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDFlLDB4ODIsMHg4NywweGIwLDB4MmQsMHgyMCB9LAotICAxNiwgMHhhZjMwLCAwLCB7MHgwOCwweDM5LDB4MDIsMHgxZSwweDQxLDB4YTcsMHg4MCwweDI0LDB4ZTAsMHgwOSwweDdhLDB4MzIsMHg4ZSwweDgyLDB4MDcsMHhhMCB9LAotICAxNiwgMHhhZjQwLCAwLCB7MHgyNSwweGUwLDB4OGIsMHg0OCwweDAyLDB4MWUsMHgwMCwweGE3LDB4ZTEsMHgyZCwweGUwLDB4NGIsMHg1OCwweDAwLDB4ZGEsMHgwMCB9LAotICAxNiwgMHhhZjUwLCAwLCB7MHhhMCwweDgwLDB4MjQsMHg2MCwweDA4LDB4N2EsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZjYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyYywweDAwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDkzLDB4MDAsMHgyMiB9LAotICAxNiwgMHhhZjcwLCAwLCB7MHhjMSwweDA5LDB4MzAsMHg0MiwweGNjLDB4MDAsMHg4MywweDAwLDB4NjAsMHhjMCwweDA4LDB4MWEsMHgwMiwweGNlLDB4MDQsMHhiMyB9LAotICAxNiwgMHhhZjgwLCAwLCB7MHhlMCwweDI4LDB4YTAsMHgwOSwweDFjLDB4ODIsMHg0YiwweDA4LDB4YTMsMHg4MCwweDI0LDB4YTAsMHgyYSwweDMwLDB4MDIsMHg5YSB9LAotICAxNiwgMHhhZjkwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhjYSwweDAwLDB4MmYsMHg4OCB9LAotICAxNiwgMHhhZmEwLCAwLCB7MHgwYywweGEwLDB4MTMsMHgyOCwweDAwLDB4ZWUsMHgwMCwweDJlLDB4ODAsMHgyZCwweGEwLDB4MDMsMHhlOCwweDAwLDB4ZGEsMHgwMCB9LAotICAxNiwgMHhhZmIwLCAwLCB7MHg3NiwweDgwLDB4MGUsMHhlOCwweDAzLDB4YmIsMHg4MCwweGVlLDB4NDAsMHgyZiwweGEyLDB4OGYsMHhlNiwweDAzLDB4ZWIsMHg4NiB9LAotICAxNiwgMHhhZmMwLCAwLCB7MHhmYSwweDgwLDB4MzcsMHg4MiwweDBjLDB4MjAsMHgwNywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZmQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgxZSwweDAwLDB4MGYsMHg4MCwweDBiLDB4NjEsMHgwMCwweGU4LDB4YzAsMHgzYSB9LAotICAxNiwgMHhhZmUwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMywweGUwLDB4MDEsMHhmOCwweDAwLDB4N2UsMHgxMCwweDFlLDB4ODEsMHgwMywweGUwLDB4MDgsMHhmOCB9LAotICAxNiwgMHhhZmYwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHhjMCwweDI4LDB4ZGMsMHg1MCwweDNiLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhiMDAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MiB9LAotICAxNiwgMHhiMDEwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhNiwweDAwLDB4YzksMHgwMSwweDNhLDB4NDAsMHgwZSwweDk0LDB4MDEsMHhlNCwweDEwLDB4ZjEsMHgwNCB9LAotICAxNiwgMHhiMDIwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5YSwweDIzLDB4MjAsMHg2MCwweGY4LDB4MDQsMHgwYSwweDQyLDB4MGUsMHg5MCwweDEzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhiMDMwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMDQwLCAwLCB7MHg4MCwweDA0LDB4NjcsMHgwOCwweGE5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjcsMHg4MiwweDg5LDB4MDAsMHgyNiB9LAotICAxNiwgMHhiMDUwLCAwLCB7MHg0MCwweDA4LDB4OWMsMHgwMywweGE0LDB4MTAsMHhiOSwweDAwLDB4MzYsMHg0MCwweDliLDB4MWMsMHgxYSwweDIzLDB4MDQsMHhiOCB9LAotICAxNiwgMHhiMDYwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgwZSwweDEwLDB4MDIsMHgyNCwweDAyLDB4YzksMHhhMCwweGEyLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyMCB9LAotICAxNiwgMHhiMDcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI1LDB4ODAsMHg4OSwweDA0LDB4MmMsMHg0MCB9LAotICAxNiwgMHhiMDgwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHg4NCwweDgxLDB4OTksMHg0MCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDYsMHhlNCwweDAxLDB4YjksMHgwMCB9LAotICAxNiwgMHhiMDkwLCAwLCB7MHhhNiwweDQxLDB4MWIsMHg5MCwweDgyLDB4MjEsMHgwMCwweGI4LDB4MTAsMHgyZSwweDQwLDB4MGEsMHg5MiwweDBhLDB4YTQsMHgwMSB9LAotICAxNiwgMHhiMGEwLCAwLCB7MHg4ZiwweDIyLDB4MjMsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMGIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGEzLDB4MjAsMHgyYywweDQxLDB4MDksMHgxMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyNCB9LAotICAxNiwgMHhiMGMwLCAwLCB7MHg0OCwweDBhLDB4MzYsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MDQsMHhjOCwweDRiLDB4MTQsMHgwMiwweDA1LDB4MDAsMHhiMSB9LAotICAxNiwgMHhiMGQwLCAwLCB7MHgwNSwweDI4LDB4NTAsMHgwYSwweDkwLDB4MDIsMHgwNSwweDAyLDB4ODUsMHgwMCwweDIxLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwMiB9LAotICAxNiwgMHhiMGUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDAwLDB4NmUsMHgxNCB9LAotICAxNiwgMHhiMGYwLCAwLCB7MHgyYywweDg1LDB4MDIsMHhhMSwweDQwLDB4YzgsMHg1MCwweDNhLDB4MTQsMHgwZSwweDgwLDB4MDIsMHhlMSwweDQwLDB4YjAsMHg1MCB9LAotICAxNiwgMHhiMTAwLCAwLCB7MHgzMiwweDAwLDB4MGIsMHg4MCwweDAzLDB4MjAsMHgwMCwweGZhLDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4YTAsMHgwMiB9LAotICAxNiwgMHhiMTEwLCAwLCB7MHhjOCwweDAwLDB4MTMsMHgwMCwweDBmLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMTIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0OCwweGY5LDB4MTQsMHgzZiwweDQwLDB4MGMsMHg5MSwweDAzLDB4ZTQsMHg0MiwweGZkLDB4MTAsMHgzNiB9LAotICAxNiwgMHhiMTMwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHgyMywweGE0LDB4NDgsMHhmOSwweDExLDB4MzgsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU1LDB4MTQsMHgzOSB9LAotICAxNiwgMHhiMTQwLCAwLCB7MHg0MiwweDdiLDB4NDAsMHg4ZSwweGQwLDB4MDEsMHhmNSwweDAwLDB4YTksMHg0MCwweDNlLDB4NTAsMHgwNywweDk2LDB4ODMsMHhlNiB9LAotICAxNiwgMHhiMTUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4ODAsMHhkZCwweGFlLDB4M2EsMHg1MCB9LAotICAxNiwgMHhiMTYwLCAwLCB7MHgwZCwweDlhLDB4MGIsMHg3NiwweDgwLDB4Y2YsMHg4OCwweDMyLDB4NzAsMHgyZCwweGRhLDB4MDMsMHhhNywweDAxLDB4ZTksMHg5MiB9LAotICAxNiwgMHhiMTcwLCAwLCB7MHgzNywweDY4LDB4MGQsMHg5NCwweDAzLDB4ZTcsMHgwMCwweGVkLDB4YTAsMHgzYSwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTcsMHgwMiB9LAotICAxNiwgMHhiMTgwLCAwLCB7MHhjZCwweDgwLDB4MzMsMHg2OCwweDBjLDB4ZDgsMHg4MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMTkwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4NDAsMHgyMCwweDIwLDB4MGMsMHg4YywweDAyLDB4MjMsMHgwMCwweDg4LDB4ZTAsMHgyMiB9LAotICAxNiwgMHhiMWEwLCAwLCB7MHgzMCwweDA4LDB4ODQsMHgwMiwweGUzLDB4MDAsMHhiOCwweGUwLDB4MjIsMHgxNCwweDhkLDB4ODgsMHgwMiwweGUzLDB4MDAsMHhiOCB9LAotICAxNiwgMHhiMWIwLCAwLCB7MHg1MCwweDJlLDB4YTgsMHg4YiwweDgwLDB4MjIsMHhlMywweDQ4LDB4ODgsMHg1MCwweDIyLDB4MDAsMHgwOCwweDhjLDB4MDIsMHgwZSB9LAotICAxNiwgMHhiMWMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHg5MSwweDAwLDB4MmEsMHg0OCB9LAotICAxNiwgMHhiMWQwLCAwLCB7MHgwOSwweDE0LDB4ODIsMHgwNSwweDIwLDB4ODEsMHgwOCwweDIwLDB4NTgsMHgwOSwweDExLDB4MDIsMHg4NSwweDg4LDB4YjEsMHg0MCB9LAotICAxNiwgMHhiMWUwLCAwLCB7MHhhMCwweDQwLDB4MDgsMHgxMiwweDAyLDB4YzUsMHg4MCwweGExLDB4MDAsMHgyOCwweDQwLDB4MGIsMHgxOCwweDAyLDB4YzQsMHg4NCB9LAotICAxNiwgMHhiMWYwLCAwLCB7MHhhMSwweDAwLDB4MjQsMHg1MCwweDA4LDB4MTAsMHg5MiwweDAzLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMjAwLCAwLCB7MHgxOCwweDE1LDB4YWMsMHgxMCwweDliLDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwNiwweDg5LDB4MDQsMHgyMCB9LAotICAxNiwgMHhiMjEwLCAwLCB7MHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHhiOSwweDAyLDB4MjIsMHg0MSwweDg5LDB4YTAsMHg4MiwweGUwLDB4YTAsMHhiOSB9LAotICAxNiwgMHhiMjIwLCAwLCB7MHgyOCwweDJlLDB4NDQsMHgwYiwweGIwLDB4MDIsMHhlNCwweDAyLDB4YjksMHgwMCwweDI2LDB4NDAsMHgyOCwweDEwLDB4MDIsMHgwNiB9LAotICAxNiwgMHhiMjMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhkOSwweDAwLDB4MzgsMHg0MCB9LAotICAxNiwgMHhiMjQwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHhhMCwweGEyLDB4NDAsMHg4ZCwweDkwLDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHhiMjUwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg4NCwweDEzLDB4ZTIsMHgwMCwweGU5LDB4MDAsMHgzYSwweDUwLDB4MGYsMHg5YywweDAyLDB4ZTYsMHg4NCB9LAotICAxNiwgMHhiMjYwLCAwLCB7MHhlOSwweDAwLDB4YjYsMHg0MCwweDBjLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMjcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGUxLDB4MDAsMHgzZSwweDY4LDB4MGUsMHgxMCwweDAzLDB4YTQsMHgwMCwweGYxLDB4MjgsMHgzYSB9LAotICAxNiwgMHhiMjgwLCAwLCB7MHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MiwweDBmLDB4ODAsMHgyMywweGUyLDB4MDAsMHhmOSB9LAotICAxNiwgMHhiMjkwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZiwweDkxLDB4MjMsMHhlNCwweDQwLDB4YzEsMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhjYSB9LAotICAxNiwgMHhiMmEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhiMmIwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhhMCwweDIwLDB4YzgsMHg0MCwweDNlLDB4MDAsMHgwZSwweDgxLDB4NjMsMHg2MCwweDAwLDB4ZjAsMHgwNCB9LAotICAxNiwgMHhiMmMwLCAwLCB7MHgzYywweDAxLDB4MGMsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4YzEsMHgwMCB9LAotICAxNiwgMHhiMmQwLCAwLCB7MHhkOCwweDEwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgyMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMmUwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHg2MCwweDhlLDB4MDAsMHgyMiwweDgwLDB4MGEsMHhhMCwweDAyLDB4MzgsMHg4MCwweGJlLDB4MDAsMHgzYSB9LAotICAxNiwgMHhiMmYwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg5OCwweDE4LDB4ZWMsMHgwMiwweGY4LDB4MjAsMHhhZSB9LAotICAxNiwgMHhiMzAwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwYiwweGU0LDB4ODIsMHhlOCwweDAyLDB4Y2UsMHg0NCwweDI4LDB4ODAsMHgwZCwweGEwLDB4MGEsMHgwYSB9LAotICAxNiwgMHhiMzEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQwLDB4MDAsMHg4MiwweDA0LDB4YTAsMHhjMCB9LAotICAxNiwgMHhiMzIwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHg4ZSwweDA0LDB4ODMsMHg1MCwweDZjLDB4YzAsMHgwYSwweDMwLDB4ODYsMHgwYywweDAwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhiMzMwLCAwLCB7MHgyOCwweDMwLDB4MGEsMHgzNiwweDEyLDB4Y2MsMHg4MCwweDgxLDB4MDAsMHgyNCwweGMwLDB4MGIsMHgzMiwweDA2LDB4Y2MsMHgwMCB9LAotICAxNiwgMHhiMzQwLCAwLCB7MHg4MCwweDg4LDB4NjQsMHg2MCwweDI4LDB4MTAsMHgwMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMzUwLCAwLCB7MHhhMCwweDAxLDB4MTAsMHgxMiwweDg0LDB4NDAsMHgyMSwweGM4LDB4MGEsMHg3MiwweDAyLDB4MTAsMHgwMCwweGI3LDB4MDAsMHgyZCB9LAotICAxNiwgMHhiMzYwLCAwLCB7MHhjYywweDA4LDB4MzgsMHgxMiwweDFjLDB4MDAsMHhiMywweDMwLDB4MjAsMHgwMCwweDA4LDB4NzEsMHg4MiwweGZlLDB4MDAsMHhhNCB9LAotICAxNiwgMHhiMzcwLCAwLCB7MHg4MCwweDIxLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcsMHgwMCwweDJjLDB4NDIsMHgwOSwweDUxLDB4MDIsMHgyMCB9LAotICAxNiwgMHhiMzgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhjMiwweDgwLDB4MzEsMHhmOCB9LAotICAxNiwgMHhiMzkwLCAwLCB7MHg0YywweGZjLDB4MTMsMHg5MiwweDA5LDB4YzcsMHg4MCwweDNjLDB4ZWQsMHgxZSwweDc4LDB4MjcsMHgxZSwweDAwLDB4ZjcsMHg4YyB9LAotICAxNiwgMHhiM2EwLCAwLCB7MHg3OSwweDIwLDB4MDgsMHg3YSwweDAzLDB4ZGUsMHg4MSwweDg0LDB4ODAsMHgzZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4ZmUsMHgyMCB9LAotICAxNiwgMHhiM2IwLCAwLCB7MHhjNSwweDgxLDB4MzUsMHg2MCwweDJjLDB4NTgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiM2MwLCAwLCB7MHgwOCwweDFkLDB4ODAsMHgwMCwweGY4LDB4MDQsMHgzZSwweGQwLDB4MGYsMHhiMCwweDEzLDB4ZTAsMHgwMCwweGZiLDB4MDIsMHgzYSB9LAotICAxNiwgMHhiM2QwLCAwLCB7MHhkMCwweDBmLDB4YTAsMHgwYiwweGFjLDB4NDAsMHhmYiwweDAwLDB4M2EsMHgwMCwweDJmLDB4YjAsMHgwMywweGNjLDB4MDAsMHhmMCB9LAotICAxNiwgMHhiM2UwLCAwLCB7MHgwMCwweDNhLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhmYywweDQxLDB4ZjMsMHgwMCwweDNhLDB4NDAsMHgwZiwweDUwLDB4OTMsMHhjMiB9LAotICAxNiwgMHhiM2YwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjYywweDgxLDB4M2YsMHhmYyB9LAotICAxNiwgMHhiNDAwLCAwLCB7MHgxYywweGY4LDB4MDMsMHg3NiwweDQwLDB4ZWYsMHg5MiwweDNmLDB4ZTQsMHg4YywweGY4LDB4MDMsMHhiZiwweDEwLDB4ZmYsMHg4MCB9LAotICAxNiwgMHhiNDEwLCAwLCB7MHhiMywweDIwLDB4MGUsMHhmOSwweDEzLDB4ZmUsMHgyNCwweGZkLDB4OTQsMHgzNywweGUwLDB4MWMsMHhmOSwweDAzLDB4ZWUsMHgwMCB9LAotICAxNiwgMHhiNDIwLCAwLCB7MHhjZCwweDgwLDB4YjMsMHhlMCwweDBjLDB4NTgsMHgwMiwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNDMwLCAwLCB7MHhhOCwweDExLDB4OTQsMHg0MCwweDgwLDB4MDAsMHgyZiwweGM0LDB4MDgsMHg3MiwweDAyLDB4ZGQsMHgwOCwweGQ3LDB4MDAsMHgyZCB9LAotICAxNiwgMHhiNDQwLCAwLCB7MHhjYywweDA4LDB4ZGUsMHgwMywweDVjLDB4MDAsMHhiNywweDA0LDB4MjEsMHg4MCwweGM4LDB4NzAsMHg4MywweGRjLDB4MDAsMHhiNCB9LAotICAxNiwgMHhiNDUwLCAwLCB7MHhhMCwweDJmLDB4YzAsMHgwYywweDcwLDB4MDIsMHhkZSwweDgwLDB4ODcsMHgwMCwweDIxLDB4YzIsMHgwYSwweDUxLDB4NDIsMHgyYSB9LAotICAxNiwgMHhiNDYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4NCwweDAwLDB4MmQsMHhjOCB9LAotICAxNiwgMHhiNDcwLCAwLCB7MHg0OCwweDcwLDB4MDIsMHg1NCwweDBjLDB4YTcsMHgwMCwweDJjLDB4YzAsMHg4OSwweDcyLDB4MDIsMHg1YywweDAwLDB4YjMsMHgxMCB9LAotICAxNiwgMHhiNDgwLCAwLCB7MHgyMCwweDAwLDB4MGEsMHg3MCwweDA2LDB4ZGMsMHgwMCwweGI0LDB4MjAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg4MCB9LAotICAxNiwgMHhiNDkwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4NTAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNGEwLCAwLCB7MHgyMCwweDE0LDB4YzAsMHgwMCwweDgwLDB4MDAsMHgyZSwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzQsMHgwOCwweGEyLDB4NDIsMHgyYyB9LAotICAxNiwgMHhiNGIwLCAwLCB7MHhjMSwweDA5LDB4MjAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHg4MCwweDA4LDB4M2MsMHgyMiwweDhjLDB4MjAsMHhiMCB9LAotICAxNiwgMHhiNGMwLCAwLCB7MHgwOCwweDJlLDB4ZTAsMHgwOCwweDM4LDB4MTAsMHhjZiwweDBhLDB4OTMsMHg0MCwweGEwLDB4ZjAsMHgwYSwweDEwLDB4MDIsMHgwOCB9LAotICAxNiwgMHhiNGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGE4LDB4MDAsMHhjMSwweDAwLDB4M2YsMHhjMCB9LAotICAxNiwgMHhiNGUwLCAwLCB7MHgyYywweGYwLDB4MDMsMHg2OCwweDAwLDB4YWEsMHgwMCwweDNmLDB4YzAsMHgyZCwweDgwLDB4MDMsMHg3YywweDAwLDB4ZmYsMHgwMCB9LAotICAxNiwgMHhiNGYwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHhiMCwweDEyLDB4ZWQsMHgyNCwweGZhLDB4MDgsMHgyNywweGM4LDB4MTAsMHhiOCwweGEyLDB4ZmYsMHg2MCB9LAotICAxNiwgMHhiNTAwLCAwLCB7MHg5OCwweGEwLDB4YTIsMHhlMCwweDBjLDB4NTAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNTEwLCAwLCB7MHg4MCwweDAwLDB4YzksMHgwNiwweGY4LDB4NDEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTksMHgxMCwweDVhLDB4MjAsMHgzZSB9LAotICAxNiwgMHhiNTIwLCAwLCB7MHhjMCwweDBlLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmMywweDAwLDB4N2UsMHgwMSwweDBmLDB4YjAsMHg5MywweGVkLDB4MDAsMHhmOCB9LAotICAxNiwgMHhiNTMwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhmYywweDAwLDB4ZTMsMHgwOCwweDNjLDB4YzIsMHgwZiwweGQwLDB4MTMsMHhlMCB9LAotICAxNiwgMHhiNTQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYzLDB4MDIsMHhjYywweDAwLDB4M2IsMHhjMiB9LAotICAxNiwgMHhiNTUwLCAwLCB7MHgwYywweGYwLDB4MjMsMHhhZSwweDQwLDB4ZGYsMHg4MSwweDM5LDB4YzAsMHgwNiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCB9LAotICAxNiwgMHhiNTYwLCAwLCB7MHgzMSwweDQxLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNjLDB4YTAsMHgzNywweGMyLDB4MGMsMHhmMCwweDAzLDB4N2MsMHgwNCB9LAotICAxNiwgMHhiNTcwLCAwLCB7MHhjZCwweDAwLDB4MzMsMHhmMCwweDBjLDB4ZDAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNTgwLCAwLCB7MHg4MSwweDA0LDB4NjAsMHgwMCwweDg4LDB4ODAsMHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZTksMHgwMCwweGFiLDB4NDQsMHgyZSB9LAotICAxNiwgMHhiNTkwLCAwLCB7MHhjMCwweDA4LDB4ODgsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHg3MCwweDBhLDB4YjQsMHgwMiwweGNjLDB4MDAsMHhhMCB9LAotICAxNiwgMHhiNWEwLCAwLCB7MHgyMCwweDIyLDB4YzAsMHgwZiwweGJjLDB4MDIsMHhjYywweDBhLDB4OGIsMHg4MCwweGEyLDB4YzAsMHgwZCwweDkwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhiNWIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIwLDB4MDAsMHg4OSwweDgwLDB4MmEsMHhjMCB9LAotICAxNiwgMHhiNWMwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhjYywweDA2LDB4ODgsMHg2MCwweDJlLDB4YzAsMHgwYSwweDk4LDB4MDYsMHhlYywweDAxLDB4YmIsMHgwMCB9LAotICAxNiwgMHhiNWQwLCAwLCB7MHgyMiwweDMxLDB4MDIsMHhiMiwweDAyLDB4ZWMsMHhhMCwweDhhLDB4MDAsMHgyNiwweGMwLDB4NDgsMHhhOCwweDAyLDB4ZWMsMHgwNCB9LAotICAxNiwgMHhiNWUwLCAwLCB7MHhhOSwweDgwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNWYwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgwLDB4MDEsMHgyYyB9LAotICAxNiwgMHhiNjAwLCAwLCB7MHhjMCwweDFhLDB4MTIsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjAsMHgwMCwweDRhLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMCB9LAotICAxNiwgMHhiNjEwLCAwLCB7MHgwMCwweDA4LDB4YzAsMHgwYiwweDIwLDB4MDYsMHhlYywweGEwLDB4YTMsMHgwMCwweGEwLDB4NDAsMHgyOSwweDEwLDB4MDAsMHgwMiB9LAotICAxNiwgMHhiNjIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhjOCwweDUwLDB4M2IsMHhjMCB9LAotICAxNiwgMHhiNjMwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhhYywweDAwLDB4YzksMHgwMCwweDNiLDB4YzAsMHgwZSwweDkyLDB4ODMsMHhmYywweDAwLDB4YmYsMHgwMCB9LAotICAxNiwgMHhiNjQwLCAwLCB7MHgxMiwweDAwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweDg4LDB4MjYsMHgxNiwweGMwLDB4MGMsMHg4MCwweDE3LDB4NWMsMHg4MCB9LAotICAxNiwgMHhiNjUwLCAwLCB7MHhlOSwweDAxLDB4MzIsMHg0MCwweDJjLDB4ZDAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNjYwLCAwLCB7MHhhMCwweDFkLDB4ZDAsMHgwMCwweGZjLDB4MjAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiB9LAotICAxNiwgMHhiNjcwLCAwLCB7MHhjMCwweDBkLDB4ODAsMHgwMywweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MTAsMHhmOCB9LAotICAxNiwgMHhiNjgwLCAwLCB7MHg0MCwweDM3LDB4YzAsMHgwZSwweGUwLDB4MjEsMHhmYywweDA4LDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhiNjkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4YzAsMHhmZiwweDIxLDB4NzEsMHgyNCB9LAotICAxNiwgMHhiNmEwLCAwLCB7MHgwZiwweGYxLDB4ODMsMHhmMiwweDQwLDB4ZmYsMHgwMCwweDM3LDB4YzQsMHg5ZiwweGYyLDB4NDcsMHgzZCwweDA0LDB4YzcsMHgyMCB9LAotICAxNiwgMHhiNmIwLCAwLCB7MHgzMywweGMwLDB4MGMsMHg3OCwweDIzLDB4ZmUsMHg0MCwweGU4LDB4MTAsMHgyNywweGM0LDB4MGYsMHhmMiwweDEzLDB4M2MsMHg4NCB9LAotICAxNiwgMHhiNmMwLCAwLCB7MHhjNCwweDgxLDB4MzMsMHgyMCwweDRjLDB4ZjAsMHgyMywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNmQwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHg0MCwweGJmLDB4NTQsMHg2MiwweGM4LDB4MGIsMHhmNiwweDAyLDB4ZTAsMHgwMCwweGJiLDB4ZDAsMHgyMiB9LAotICAxNiwgMHhiNmUwLCAwLCB7MHhmMCwweDFmLDB4ZjksMHgxMiwweDNkLDB4ODAsMHg5ZiwweDgxLDB4MmIsMHhlMCwweDBhLDB4YjgsMHgxMiwweGU4LDB4MDAsMHg4ZiB9LAotICAxNiwgMHhiNmYwLCAwLCB7MHgwNCwweDIyLDB4ZDAsMHgwOCwweGIzLDB4OGEsMHhiZiwweDQyLDB4OGIsMHg4MiwweDIyLDB4ZTAsMHgyOCwweDhjLDB4MDIsMHgyMCB9LAotICAxNiwgMHhiNzAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDI4LDB4MjgsMHgwOCB9LAotICAxNiwgMHhiNzEwLCAwLCB7MHgwYiwweDMwLDB4MDYsMHg4MCwweDgwLDB4YjMsMHgwMiwweDI0LDB4ZDEsMHgwYiwweDMwLDB4MDIsMHg4ZCwweDgwLDB4OTMsMHgxMCB9LAotICAxNiwgMHhiNzIwLCAwLCB7MHgyMCwweGNlLDB4OGIsMHgzMCwweDAyLDB4Y2MsMHg4NCwweGExLDB4MjEsMHgyYywweGNjLDB4MGEsMHgzMCwweDBhLDB4NGMsMHgwMCB9LAotICAxNiwgMHhiNzMwLCAwLCB7MHg5MywweDAwLDB4MjgsMHhjMCwweDA4LDB4M2MsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNzQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgxMCwweGJiLDB4MDIsMHg2YSwweGUwLDB4MGIsMHhiMCwweDAyLDB4ZTEsMHgwOCwweGJiLDB4MDQsMHgyYSB9LAotICAxNiwgMHhiNzUwLCAwLCB7MHhjMCwweDBhLDB4YjAsMHgxMiwweDhjLDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDBiLDB4YjEsMHgwNiwweGM4LDB4ODAsMHg4YiB9LAotICAxNiwgMHhiNzYwLCAwLCB7MHg4MiwweDZhLDB4YzEsMHgwYSwweDMwLDB4MDIsMHhhYywweDE4LDB4ODgsMHgxMCwweDJhLDB4NDgsMHgwOCwweDgwLDB4MDIsMHgzMCB9LAotICAxNiwgMHhiNzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4YWEsMHgzMCB9LAotICAxNiwgMHhiNzgwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhhOCwweDAwLDB4ZjMsMHgwMSwweGI2LDB4YzEsMHgwYiwweGIwLDB4MDIsMHhhYywweDA4LDB4NGIsMHgwMCB9LAotICAxNiwgMHhiNzkwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHhiOCwweDAyLDB4ZWMsMHgxMCwweGE5LDB4ODEsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4MGMsMHgwMCB9LAotICAxNiwgMHhiN2EwLCAwLCB7MHhjYiwweGEwLDB4MTgsMHhkMCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiN2IwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwOCwweGY3LDB4MDAsMHgzNywweDAwLDB4MGYsMHhmMCwweDAzLDB4ZmQsMHgwMCwweGZmLDB4MDAsMHgzNyB9LAotICAxNiwgMHhiN2MwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHgwNywweDdjLDB4MDAsMHhlNywweDAwLDB4M2UsMHhjMCwweDBhLDB4ZjAsMHgwMywweGZlLDB4MDAsMHhmNyB9LAotICAxNiwgMHhiN2QwLCAwLCB7MHgwMCwweDM2LDB4YzAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGEwLDB4MDMsMHhiOCB9LAotICAxNiwgMHhiN2UwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHgwMCB9LAotICAxNiwgMHhiN2YwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHg2OSwweDAwLDB4ZGIsMHgwOSwweDNhLDB4YzAsMHgxZiwweDMwLDB4MjMsMHhlYywweDA4LDB4Y2IsMHgyMCB9LAotICAxNiwgMHhiODAwLCAwLCB7MHgzNCwweGMwLDB4MmYsMHhiMCwweDAzLDB4ZWMsMHg0MCwweGViLDB4NDgsMHgzZSwweGM0LDB4NGQsMHhiMCwweDhiLDB4NmMsMHgwMCB9LAotICAxNiwgMHhiODEwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHg5MCwweDBmLDB4MzAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiODIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHgyMiwweDAwLDB4NDgsMHhmMCwweDIyLDB4MmMsMHgwMCwweDhmLDB4MDAsMHgyMyB9LAotICAxNiwgMHhiODMwLCAwLCB7MHhlMCwweDhiLDB4ZjUsMHgxMCwweDNjLDB4MDAsMHg4ZiwweDgwLDB4MjMsMHhmMCwweDgwLDB4OTgsMHgwMywweDJkLDB4NDQsMHhkYiB9LAotICAxNiwgMHhiODQwLCAwLCB7MHgwMCwweDIzLDB4ZDQsMHgwOCwweGY4LDB4MDIsMHgzYywweDAwLDB4ODMsMHgwMCwweDIyLDB4YzAsMHgwYiwweGE0LDB4ODIsMHgzMiB9LAotICAxNiwgMHhiODUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHg5MywweDAwLDB4MjQsMHgwMCB9LAotICAxNiwgMHhiODYwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHg4NCwweDAwLDB4YjMsMHgwMSwweDI4LDB4ZjYsMHgwOSwweDM0LDB4MzIsMHg4YywweDAxLDB4YjMsMHhkMCB9LAotICAxNiwgMHhiODcwLCAwLCB7MHgyNCwweGU4LDB4MGEsMHgzMSwweDBhLDB4ODYsMHgwMCwweDgzLDB4MDAsMHgyYSwweGUwLDB4MDAsMHgzMCwweDAyLDB4OGMsMHgwMCB9LAotICAxNiwgMHhiODgwLCAwLCB7MHg4MywweDAwLDB4MjgsMHhjMCwweDg5LDB4MzgsMHhhMiwweDc4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiODkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweDk3LDB4OTQsMHgyMywweGUwLDB4MDksMHgzOCwweDAyLDB4MzIsMHgwMCwweDk3LDB4YTEsMHgyMSB9LAotICAxNiwgMHhiOGEwLCAwLCB7MHhlNCwweDBiLDB4NzgsMHgwMiwweDFlLDB4NDAsMHhiNywweGEwLDB4MjUsMHhlYywweDA4LDB4ZmMsMHgwMiwweDNhLDB4MDAsMHg5MyB9LAotICAxNiwgMHhiOGIwLCAwLCB7MHhiOCwweDIxLDB4ZTAsMHgwOCwweDc4LDB4ODIsMHg5ZSwweDQwLDB4ODcsMHhjMCwweDI5LDB4YTAsMHgwYiwweDU4LDB4MDIsMHg0OCB9LAotICAxNiwgMHhiOGMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDJjLDB4MDAsMHhkYiwweDAwLDB4MzQsMHgyMCB9LAotICAxNiwgMHhiOGQwLCAwLCB7MHgwZiwweDNhLDB4MDMsMHg4ZSwweDAwLDB4ZjMsMHhiMCwweDI4LDB4YzQsMHgwYiwweDNhLDB4MDMsMHhhZSwweDQwLDB4ZjMsMHhhMCB9LAotICAxNiwgMHhiOGUwLCAwLCB7MHgzNCwweGVlLDB4MGYsMHgzMCwweDIzLDB4ODQsMHgwMCwweGUzLDB4ZjAsMHgzOCwweGMwLDB4MGMsMHhiMCwweDBiLDB4OGUsMHg0MiB9LAotICAxNiwgMHhiOGYwLCAwLCB7MHhjMywweDAwLDB4MzgsMHhjMCwweDBmLDB4MzAsMHg2MywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOTAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGViLDB4NDIsMHgzYSwweGM0LDB4MWUsMHhiMSwweDA3LDB4ODgsMHhkMSwweGUzLDB4MDAsMHgzZiB9LAotICAxNiwgMHhiOTEwLCAwLCB7MHhjNSwweDhmLDB4ZjEsMHg2MywweGFjLDB4MTAsMHhjYiwweDUwLDB4M2IsMHhjMywweDBmLDB4ZDEsMHgwMywweGM4LDB4MDAsMHhiYiB9LAotICAxNiwgMHhiOTIwLCAwLCB7MHgyMCwweDNiLDB4YzAsMHgyZSwweGYxLDB4MDMsMHgxYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHg0ZiwweGQxLDB4MDMsMHg5MCB9LAotICAxNiwgMHhiOTMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhmYiwweDQ0LDB4YjIsMHhjMCB9LAotICAxNiwgMHhiOTQwLCAwLCB7MHg0ZiwweGIzLDB4NDMsMHgyNCwweDAwLDB4ZGIsMHgxMCwweDM2LDB4YzAsMHg0YywweGJlLDB4MjIsMHg2ZCwweDIwLDB4Y2IsMHg1MCB9LAotICAxNiwgMHhiOTUwLCAwLCB7MHgzZSwweGM5LDB4NGMsMHhiMCwweDEzLDB4MjQsMHgwMCwweGNmLDB4MjAsMHgzMywweGMwLDB4M2QsMHhmMCwweDIzLDB4MmMsMHhjMCB9LAotICAxNiwgMHhiOTYwLCAwLCB7MHhkOCwweDAwLDB4M2UsMHg0MCwweDhmLDB4MzAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOTcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwNCwweGI3LDB4NjAsMHgyMSwweGMxLDB4OGIsMHhmMCwweGEyLDB4MTQsMHgxMCwweDg3LDB4MDAsMHgwZiB9LAotICAxNiwgMHhiOTgwLCAwLCB7MHhjOCwweDBkLDB4NzEsMHgwYSwweDFkLDB4MDAsMHg4NywweDAwLDB4MmMsMHhjYywweDQ4LDB4NzAsMHgyYSwweDljLDB4MDAsMHg4NyB9LAotICAxNiwgMHhiOTkwLCAwLCB7MHgwYywweDIxLDB4YzAsMHgwYywweDcyLDB4MDIsMHgwYywweGEyLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhiOWEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhiMywweDgwLDB4MjEsMHhlMCB9LAotICAxNiwgMHhiOWIwLCAwLCB7MHgwYiwweDdhLDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MSwweDA1LDB4ZTQsMHgwOCwweDc5LDB4MDIsMHg1YywweDgwLDB4ODcsMHhhMCB9LAotICAxNiwgMHhiOWMwLCAwLCB7MHgyZCwweGUwLDB4MDgsMHhmOCwweDA2LDB4YjYsMHgwMCwweDg3LDB4ODAsMHgyMCwweGU0LDB4MGEsMHg3YiwweDEyLDB4MWUsMHg5MCB9LAotICAxNiwgMHhiOWQwLCAwLCB7MHg5NywweDg4LDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwZSwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOWUwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQwLDB4MGIsMHhiMCwweDAyLDB4NmUsMHgzNCwweGEzLDB4MDAsMHgyYyB9LAotICAxNiwgMHhiOWYwLCAwLCB7MHhjMSwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDQ4LDB4MTAsMHgwMiwweDhkLDB4ODAsMHg4MyB9LAotICAxNiwgMHhiYTAwLCAwLCB7MHhjMCwweDAwLDB4YzAsMHg4YSwweDMwLDB4MTIsMHgwYywweDAwLDB4ODAsMHgwMCwweDJjLDB4MTYsMHgwYiwweDM4LDB4MDIsMHgxMiB9LAotICAxNiwgMHhiYTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4MzMsMHg4OCB9LAotICAxNiwgMHhiYTIwLCAwLCB7MHgwZiwweGEwLDB4MDMsMHg3OSwweDkwLDB4ZmEsMHgwMSwweDM2LDB4ODAsMHgxYywweGEwLDB4MDMsMHg2OCwweDAwLDB4Y2EsMHgwMCB9LAotICAxNiwgMHhiYTMwLCAwLCB7MHgzZSwweDgxLDB4MmMsMHhhMCwweDBiLDB4YjksMHgwYywweGNlLDB4ZTIsMHhiMiwweDgwLDB4OGUsMHhhMCwweDBiLDB4MjgsMHgwMCB9LAotICAxNiwgMHhiYTQwLCAwLCB7MHhkYSwweDgwLDB4M2MsMHhiMCwweDBmLDB4ZTAsMHg4MywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYTUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgyZSB9LAotICAxNiwgMHhiYTYwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgyMywweGEwLDB4MDAsMHhmMCwweDQwLDB4M2UsMHgxMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDIsMHhmOCB9LAotICAxNiwgMHhiYTcwLCAwLCB7MHg0OCwweDNlLDB4MTAsMHgwYywweDgwLDB4MDMsMHhjMCwweDEwLDB4ZjgsMHg4MCwweDNlLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhiYTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg0MiB9LAotICAxNiwgMHhiYTkwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyNCwweDE4LDB4ZjksMHgxMCwweDNjLDB4NDgsMHg2OCwweDkyLDB4MTMsMHhlNCwweDAwLDB4YTksMHgxMSB9LAotICAxNiwgMHhiYWEwLCAwLCB7MHhiMiwweDYwLDB4MGUsMHg5MSwweDAzLDB4MjYsMHgwMCwweGM5LDB4MDAsMHgzMiwweDYwLDB4MGMsMHgxMCwweDAzLDB4MjQsMHgwOCB9LAotICAxNiwgMHhiYWIwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgyMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYWMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwOCwweDg5LDB4MDAsMHgyZSB9LAotICAxNiwgMHhiYWQwLCAwLCB7MHg0MiwweDQ4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHg4OSwweDgwLDB4MjIsMHg3MCwweDA4LDB4MTQsMHgyMiwweGE0LDB4MDIsMHg4OSB9LAotICAxNiwgMHhiYWUwLCAwLCB7MHg0MiwweDJhLDB4NzAsMHgyOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4YTksMHgwMCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MDIsMHhhMCB9LAotICAxNiwgMHhiYWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg5OSwweDAwLDB4MjYsMHhjMCB9LAotICAxNiwgMHhiYjAwLCAwLCB7MHgwMywweDkwLDB4MDIsMHgyNCwweDAxLDB4YTksMHgwMCwweDBlLDB4NDAsMHgwYSwweDkwLDB4NDYsMHhjNCwweDBhLDB4ODksMHgwMCB9LAotICAxNiwgMHhiYjEwLCAwLCB7MHgyMCwweDQ4LDB4MGEsMHg5MCwweDAyLDB4MDUsMHg4MCwweDgxLDB4NDEsMHhhMCwweDU4LDB4ODgsMHg5MCwweDAyLDB4MjQsMHgwOCB9LAotICAxNiwgMHhiYjIwLCAwLCB7MHg4ZCwweDgwLDB4MmYsMHhjMCwweDA4LDB4OTgsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYjMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQwLDB4MGIsMHgxMiwweDAyLDB4ODQsMHgwMCwweDgxLDB4MjQsMHgyYyB9LAotICAxNiwgMHhiYjQwLCAwLCB7MHg1OCwweDBhLDB4MzIsMHgyMiwweGM1LDB4ODQsMHhhMSwweDAwLDB4MjAsMHg1MCwweDA4LDB4YjAsMHgwMiwweDg1LDB4MDgsMHg4MSB9LAotICAxNiwgMHhiYjUwLCAwLCB7MHg0MCwweDIwLDB4NWEsMHgwOCwweDE2LDB4ODIsMHgwNCwweDAwLDB4YTUsMHgwMCwweDJkLDB4NDAsMHgwOCwweDEyLDB4ODIsMHg4MiB9LAotICAxNiwgMHhiYjYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4MzYsMHgxNCB9LAotICAxNiwgMHhiYjcwLCAwLCB7MHgwZiwweDg1LDB4MjMsMHgwMSwweDQwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4NDMsMHhjMCwweDA4LDB4Y2EsMHgwMCB9LAotICAxNiwgMHhiYjgwLCAwLCB7MHgzMiwweDgwLDB4MGUsMHg4MCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MDAsMHgzMiwweDA4LDB4MmMsMHgwMiwweDAzLDB4MjAsMHgwOCB9LAotICAxNiwgMHhiYjkwLCAwLCB7MHhjOCwweDAwLDB4M2YsMHgwMCwweDBjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYmEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg5MSwweDQzLDB4ZjQsMHgwNCwweGY5LDB4MTAsMHgzZSB9LAotICAxNiwgMHhiYmIwLCAwLCB7MHg0NCwweDBkLDB4MTEsMHgwMywweGU0LDB4NDQsMHg1OSwweDQwLDB4M2UsMHg1MCwweDRmLDB4NTAsMHg0MywweGQ0LDB4MDIsMHhmZCB9LAotICAxNiwgMHhiYmMwLCAwLCB7MHg0MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweGQwLDB4MDMsMHhlNiB9LAotICAxNiwgMHhiYmQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDY2LDB4NjAsMHhjOSwweGUwLDB4MzIsMHg0NCB9LAotICAxNiwgMHhiYmUwLCAwLCB7MHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZGQsMHg4NCwweDNmLDB4NjgsMHg4ZiwweGQ4LDB4NDIsMHhlNiwweGEwLDB4ZGQsMHhhNCB9LAotICAxNiwgMHhiYmYwLCAwLCB7MHgzMywweDY4LDB4MGQsMHg3MCwweDAzLDB4MjUsMHgwMCwweGM5LDB4ZTAsMHhiMiwweDY4LDB4MGMsMHg5YSwweGMzLDB4MjYsMHgwMCB9LAotICAxNiwgMHhiYzAwLCAwLCB7MHg5OSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYzEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHgwMCwweDg4LDB4ODAsMHhhYSwweDIwLDB4OGIsMHg4OCwweDAyLDB4ZTIsMHg4OCwweGI4LDB4MDEsMHgyZSB9LAotICAxNiwgMHhiYzIwLCAwLCB7MHgwMCwweDBiLDB4ODQsMHgwMiwweGUyLDB4YjAsMHg4OCwweDUwLDB4MjIsMHgxNCwweDA4LDB4ODAsMHgwMiwweDgyLDB4ODAsMHg4OCB9LAotICAxNiwgMHhiYzMwLCAwLCB7MHhlMCwweGI2LDB4M2EsMHgwOCwweGNlLDB4YTIsMHgyMSwweDA4LDB4ODgsMHgwMCwweDJlLDB4MDAsMHgwYiwweGM0LDB4MDIsMHgwZSB9LAotICAxNiwgMHhiYzQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDYwLDB4NjgsMHg0OCB9LAotICAxNiwgMHhiYzUwLCAwLCB7MHg1YiwweDE2LDB4MDIsMHhjNCwweDIwLDB4YTEsMHg0MCwweDZjLDB4NTAsMHgwYiwweDE0LDB4MDIsMHhjNCwweDAwLDB4YTEsMHgwMCB9LAotICAxNiwgMHhiYzYwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHg5MCwweDIyLDB4MTQsMHg5MCwweDg1LDB4NDIsMHgyMSwweDUwLDB4NWIsMHg1MCwweDFhLDB4MTUsMHgwMCB9LAotICAxNiwgMHhiYzcwLCAwLCB7MHg5NSwweDAwLDB4MmQsMHg0MCwweDBiLDB4NTEsMHgwYSwweDgyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYzgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMSwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDQ2LDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyZSB9LAotICAxNiwgMHhiYzkwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgyMCwweGU0LDB4MDAsMHhiOSwweDAwLDB4MjYsMHg0MCwweDE4LDB4YjgsMHgwMiwweGE0LDB4MDIsMHg4ZCB9LAotICAxNiwgMHhiY2EwLCAwLCB7MHgwOCwweDJmLDB4NDAsMHg4YiwweGQwLDB4MDIsMHgyNCwweDAwLDB4OGQsMHgyMCwweDJmLDB4NDgsMHgwYiwweGQwLDB4MDIsMHg4NiB9LAotICAxNiwgMHhiY2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg0MCB9LAotICAxNiwgMHhiY2MwLCAwLCB7MHgwZiwweDkwLDB4MDIsMHhlNCwweDEwLDB4NDksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZTksMHgwMSB9LAotICAxNiwgMHhiY2QwLCAwLCB7MHgzNiwweDQwLDB4MGYsMHgxOCwweDEzLDB4MjQsMHgxMCwweGM5LDB4ODIsMHgzMiwweDQwLDB4N2YsMHg5MCwweDIzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhiY2UwLCAwLCB7MHhkOSwweDIwLDB4M2UsMHg3MiwweDBmLDB4OTAsMHgwMywweGE4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiY2YwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMiwweGYxLDB4MDEsMHgxNiwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTUsMHgxMCwweGY5LDB4MDgsMHgyZSB9LAotICAxNiwgMHhiZDAwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDAsMHhjOSwweDAxLDB4M2EsMHg0MCwweDFmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhiZDEwLCAwLCB7MHgyMCwweDM0LDB4NDAsMHg4YywweDkwLDB4MDMsMHhjNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZiwweDEwLDB4MDMsMHg0YSB9LAotICAxNiwgMHhiZDIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhmOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhiZDMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDIsMHg0ZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZDAsMHgwMCB9LAotICAxNiwgMHhiZDQwLCAwLCB7MHgzZSwweDAwLDB4MGUsMHg4MSwweDAzLDB4MzAsMHgwMCwweGNjLDB4NDAsMHgzMywweDAwLDB4MGMsMHhjMCwweDBiLDB4MjAsMHgyMCB9LAotICAxNiwgMHhiZDUwLCAwLCB7MHhlOCwweDAwLDB4M2UsMHgxMCwweDBmLDB4YzAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZDYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweGJhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGJlLDB4YzgsMHg2ZiB9LAotICAxNiwgMHhiZDcwLCAwLCB7MHg4MCwweDBiLDB4ZTEsMHgyMiwweGE4LDB4MDAsMHg4ZSwweDIwLDB4MmYsMHg4MCwweDBiLDB4ZTAsMHgyMywweDY4LDB4MDAsMHg4YSB9LAotICAxNiwgMHhiZDgwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGUwLDB4MDIsMHgyOSwweDAwLDB4OGEsMHgwMCwweDJlLDB4YTgsMHgwYiwweGEwLDB4MDAsMHhjYSB9LAotICAxNiwgMHhiZDkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCB9LAotICAxNiwgMHhiZGEwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHhjMSwweDJjLDB4ZTAsMHgwYiwweDM4LDB4NTYsMHgyYywweDEwLDB4MTMsMHgwMCB9LAotICAxNiwgMHhiZGIwLCAwLCB7MHgyZSwweGMwLDB4MGEsMHgzOCwweDZhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMCwweDAwLDB4MDksMHg4MCwweDIyLDB4NGMsMHg0MiB9LAotICAxNiwgMHhiZGMwLCAwLCB7MHhhMywweDAwLDB4MmMsMHhlMCwweDBiLDB4MjQsMHg4MCwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZGQwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwOCwweGI3LDB4MjQsMHgyZiwweGUwLDB4MDksMHgzOSwweDAyLDB4MWMsMHgwMSwweGI2LDB4MDAsMHgyZCB9LAotICAxNiwgMHhiZGUwLCAwLCB7MHg5MCwweDBiLDB4NjAsMHg5MiwweDhlLDB4MDAsMHg4NiwweDgyLDB4MmQsMHhjMiwweDBiLDB4ZjAsMHgwMiwweDVjLDB4MDYsMHg4NyB9LAotICAxNiwgMHhiZGYwLCAwLCB7MHgwMCwweDYwLDB4YzAsMHgyOSwweDcwLDB4MDIsMHg1YywweDAwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhlOCB9LAotICAxNiwgMHhiZTAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFmLDB4NDAsMHhmMywweGU0LDB4M2QsMHhlOCB9LAotICAxNiwgMHhiZTEwLCAwLCB7MHgwZCwweDc5LDB4MGIsMHgxZSwweGMwLDB4NjcsMHg4MCwweDJkLDB4ZTAsMHgwZiwweDcwLDB4NDMsMHgxZCwweDgwLDB4ZDUsMHgwMCB9LAotICAxNiwgMHhiZTIwLCAwLCB7MHgzZCwweDYwLDB4MGUsMHg3OCwweDAzLDB4MWUsMHgwMCwweGNkLDB4ODAsMHgzMSwweGUwLDB4MGQsMHhjOCwweDAzLDB4NGUsMHgwMCB9LAotICAxNiwgMHhiZTMwLCAwLCB7MHhlNSwweDgwLDB4M2QsMHhlMCwweDBmLDB4NDgsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZTQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg4MCwweGZiLDB4MDAsMHg3MCwweGMwLDB4NmUsMHhiNiwweDEzLDB4YWQsMHg0MCwweGZhLDB4MDAsMHgzZSB9LAotICAxNiwgMHhiZTUwLCAwLCB7MHhjMCwweDBmLDB4MjAsMHg0MywweDJkLDB4MTgsMHg1OSwweDAwLDB4M2UsMHgwMCwweDAzLDB4YjAsMHgwYiwweGUwLDB4MDAsMHhmYSB9LAotICAxNiwgMHhiZTYwLCAwLCB7MHgwMCwweGJlLDB4MDAsMHgwZSwweGIwLDB4MTMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhiZTcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NDAsMHhmZiwweDgwLDB4M2YsMHhlNiB9LAotICAxNiwgMHhiZTgwLCAwLCB7MHgwZiwweGY4LDB4MjMsMHgyZSwweDA0LDB4ZmYsMHg5MCwweDNmLDB4ZTQsMHgwZCwweGJhLDB4MDMsMHhmZiwweDQwLDB4Y2YsMHg4MCB9LAotICAxNiwgMHhiZTkwLCAwLCB7MHgyMiwweGUxLDB4MGMsMHgzOSwweDQzLDB4MzIsMHgxMCwweGVjLDB4OTAsMHgzMywweDIwLDB4OGUsMHhjOCwweDAzLDB4ZjIsMHgwMCB9LAotICAxNiwgMHhiZWEwLCAwLCB7MHhkZiwweDgwLDB4M2YsMHg2MCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZWIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg0MCwweGI3LDB4OTAsMHgzYywweGUwLDB4MGIsMHgzYSwweDAzLDB4NGUsMHg4MCwweGYzLDB4YjEsMHgyZCB9LAotICAxNiwgMHhiZWMwLCAwLCB7MHgwNCwweDRjLDB4MzgsMHgyMywweGFlLDB4MDAsMHg4MCwweDgwLDB4MzQsMHhlOCwweDRkLDB4NzgsMHgwMiwweDNlLDB4ODAsMHg4NyB9LAotICAxNiwgMHhiZWQwLCAwLCB7MHhhMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhjMCwweDgwLDB4ODYsMHgwMiwweDJkLDB4NDEsMHgwYiwweDcwLDB4MDIsMHhlYSB9LAotICAxNiwgMHhiZWUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDgsMHgzNywweDAxLDB4MmQsMHhjOSB9LAotICAxNiwgMHhiZWYwLCAwLCB7MHgwYiwweDcyLDB4MjIsMHgxYywweDg0LDB4YjUsMHgxNiwweDBkLDB4YzQsMHgxOSwweDQwLDB4NDIsMHhkYywweDgwLDB4ODcsMHgwMCB9LAotICAxNiwgMHhiZjAwLCAwLCB7MHgyMCwweGM4LDB4ODgsMHg3MywweDBhLDB4OWMsMHg4MCwweGI1LDB4MDAsMHgyOSwweGMwLDB4MGEsMHg0OCwweDAyLDB4YzAsMHgwMiB9LAotICAxNiwgMHhiZjEwLCAwLCB7MHg5NSwweDAwLDB4MmQsMHg0MiwweDBiLDB4NTgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZjIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYSwweGUwLDB4MGIsMHgzMCwweDAyLDB4NGMsMHgyMCwweGExLDB4MDEsMHgyNCB9LAotICAxNiwgMHhiZjMwLCAwLCB7MHhjMSwweDA4LDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MSwweDAwLDB4MjQsMHg4MCwweDA5LDB4MzgsMHgwYSwweDYwLDB4ODAsMHg5MiB9LAotICAxNiwgMHhiZjQwLCAwLCB7MHg0MCwweDJhLDB4MDAsMHgwYSwweDMwLDB4MDIsMHhjMCwweDAwLDB4ODAsMHhjOCwweDJjLDB4NzIsMHgwYiwweDE0LDB4MDIsMHhjOCB9LAotICAxNiwgMHhiZjUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmZiwweDAwLDB4MmYsMHhmNCB9LAotICAxNiwgMHhiZjYwLCAwLCB7MHg4ZiwweGYwLDB4MDMsMHgzYywweDAwLDB4YjksMHgwMCwweDNlLDB4NDAsMHgwOSwweDkwLDB4MDMsMHhmYywweDAyLDB4YzMsMHgwMSB9LAotICAxNiwgMHhiZjcwLCAwLCB7MHgzMiwweGMwLDB4NDgsMHhiOCwweDEzLDB4YTEsMHgwMCwweGJhLDB4MDAsMHgyYSwweDAwLDB4MGEsMHhhMCwweDA3LDB4ZWMsMHgwMCB9LAotICAxNiwgMHhiZjgwLCAwLCB7MHhkYiwweGM4LDB4M2UsMHg5MCwweDBmLDB4YTIsMHgwMiwweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZjkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzZSwweGM0LDB4MGYsMHhiMCwweDYzLDB4ZWMsMHgwMSwweGY4LDB4NDAsMHgzZSB9LAotICAxNiwgMHhiZmEwLCAwLCB7MHg0MCwweDBiLDB4ODAsMHgwMywweGNjLDB4MDAsMHhmYSwweDQyLDB4M2UsMHhjMCwweDBmLDB4YjUsMHgwMCwweGFjLDB4NTgsMHhlOSB9LAotICAxNiwgMHhiZmIwLCAwLCB7MHg4MiwweDNlLDB4YzAsMHgxZCwweDkwLDB4MDMsMHhlYywweDA0LDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhiZmMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MGMsMHhkZiwweDAwLDB4N2YsMHhjMCB9LAotICAxNiwgMHhiZmQwLCAwLCB7MHgyYywweGYwLDB4MDMsMHg3YywweDAxLDB4YzcsMHgwMCwweDMzLDB4NDAsMHg4ZiwweGQwLDB4MDMsMHhmYywweDAwLDB4ZDgsMHgwMCB9LAotICAxNiwgMHhiZmUwLCAwLCB7MHgxNSwweDQ0LDB4MGMsMHhlMCwweDFiLDB4M2MsMHgwMCwweGNiLDB4MGUsMHgzMywweGMwLDB4NWMsMHg2MiwweDAyLDB4MWMsMHgwMiB9LAotICAxNiwgMHhiZmYwLCAwLCB7MHhjNSwweDAwLDB4MmIsMHg4MCwweDBmLDB4YzAsMHg4NywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMDAwLCAwLCB7MHg4MSwweDQ0LDB4NmMsMHgxMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDUyLDB4MGMsMHgwMSwweGZhLDB4YzQsMHgyMiB9LAotICAxNiwgMHhjMDEwLCAwLCB7MHg2MSwweDBiLDB4ODgsMHgwMywweDZjLDB4MDAsMHg4OCwweDQ3LDB4MmEsMHgwMCwweDBlLDB4MWMsMHgwMiwweDIwLDB4MDIsMHg4OCB9LAotICAxNiwgMHhjMDIwLCAwLCB7MHgwMCwweGFhLDB4MDAsMHgyOCwweDkwLDB4MGEsMHgyYywweDA0LDB4YTgsMHgwMCwweDIyLDB4OTAsMHgwYiwweDgwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhjMDMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHhjMSB9LAotICAxNiwgMHhjMDQwLCAwLCB7MHgwOCwweDMwLDB4MTIsMHg2YywweDAwLDB4ODgsMHg4OCwweDJhLDB4MzAsMHgwYiwweGI4LDB4MDIsMHhlYywweDAwLDB4OWIsMHgwOCB9LAotICAxNiwgMHhjMDUwLCAwLCB7MHgyYSwweDQwLDB4MDgsMHhiOCwweDAyLDB4MjAsMHgwMCwweDgyLDB4MTAsMHgyMiwweDAwLDB4MDgsMHhhMCwweDIyLDB4YTAsMHgwMCB9LAotICAxNiwgMHhjMDYwLCAwLCB7MHg4YiwweDAwLDB4MmEsMHgwMiwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMDcwLCAwLCB7MHgwOCwweDAwLDB4MGMsMHgwMCwweGIzLDB4MjAsMHgyYywweGMyLDB4MDgsMHgzNiwweDAyLDB4MmMsMHhjMCwweGEwLDB4MDgsMHgyMCB9LAotICAxNiwgMHhjMDgwLCAwLCB7MHgwMCwweDBiLDB4MzMsMHg0NiwweGNkLDB4MjgsMHg4MCwweDIwLDB4MjgsMHhjMCwweDBiLDB4MzIsMHgwMiwweDBjLDB4MjAsMHg4MSB9LAotICAxNiwgMHhjMDkwLCAwLCB7MHgzMCwweDI4LDB4YzAsMHgwOCwweDEwLDB4MDIsMHg4MSwweDAwLDB4YWEsMHgwMCwweDI4LDB4MDAsMHgwMywweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhjMGEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDdjLDB4MDAsMHhmYiwweDI4LDB4MmUsMHhjYyB9LAotICAxNiwgMHhjMGIwLCAwLCB7MHgwYywweDcwLDB4NTMsMHg3ZCwweDA5LDB4ODgsMHgwMCwweGJhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhmZCwweDgwLDB4ZGEsMHg2MCB9LAotICAxNiwgMHhjMGMwLCAwLCB7MHgzYSwweDUwLDB4OGMsMHhhMiwweDgzLDB4MmMsMHg4MCwweDRiLDB4MjAsMHgzMCwweGMwLDB4MjgsMHhhMCwweDAzLDB4YTEsMHgwMCB9LAotICAxNiwgMHhjMGQwLCAwLCB7MHhjOSwweDAwLDB4M2EsMHgwMCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMGUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZiLDB4MDAsMHg3ZSwweGM5LDB4MGIsMHhiNiwweDAzLDB4ZmMsMHhjMCwweGY4LDB4MGMsMHgzZiB9LAotICAxNiwgMHhjMGYwLCAwLCB7MHgwMCwweDRmLDB4YzMsMHg0MywweDJjLDB4MDAsMHhiOCwweDM4LDB4M2YsMHg4ZSwweDVlLDB4ZjAsMHg0MywweGUwLDB4MTAsMHhmOCB9LAotICAxNiwgMHhjMTAwLCAwLCB7MHgzMCwweDNmLDB4MDEsMHgwZiwweGQwLDB4MDMsMHg3MCwweDAwLDB4ZmMsMHgwMCwweDM3LDB4MDAsMHgwZCwweGQwLDB4MDcsMHhlOSB9LAotICAxNiwgMHhjMTEwLCAwLCB7MHgwMywweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4ZTAsMHhjYywweDgwLDB4MzMsMHhjMCB9LAotICAxNiwgMHhjMTIwLCAwLCB7MHgwZCwweGYwLDB4ODMsMHhmYywweDgwLDB4ZGMsMHg5NCwweDMzLDB4YzAsMHgxYywweGYxLDB4MDMsMHg3ZCwweDhjLDB4ZmYsMHgzMCB9LAotICAxNiwgMHhjMTMwLCAwLCB7MHgzZiwweDMwLDB4OGYsMHhjOCwweDAzLDB4N2UsMHgxMCwweGNmLDB4OTAsMHgzOSwweGEwLDB4OGQsMHhmOCwweDAzLDB4YWUsMHgwMCB9LAotICAxNiwgMHhjMTQwLCAwLCB7MHhkNSwweDgwLDB4MTMsMHhlMCwweDBjLDB4NTgsMHgwMywweGYwLDB4MDEsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMTUwLCAwLCB7MHg4MCwweDEwLDB4ZGQsMHgwOCwweDg4LDB4MDAsMHgyMywweGM0LDB4MDgsMHhmYywweDAyLDB4ZWMsMHhhOCwweGNiLDB4MjAsMHgyMSB9LAotICAxNiwgMHhjMTYwLCAwLCB7MHhjMiwweDBkLDB4ZjcsMHgxMiwweDFjLDB4NDAsMHhkZiwweDMwLDB4MjIsMHhhMCwweDBiLDB4ODgsMHgwMiwweDJlLDB4MDQsMHhkYiB9LAotICAxNiwgMHhjMTcwLCAwLCB7MHgyMSwweDIyLDB4YzAsMHgwOCwweGI4LDB4MjIsMHgyZSwweDAwLDB4YjksMHg4MCwweDJhLDB4NjAsMHgwYSwweDg4LDB4MDIsMHhlMCB9LAotICAxNiwgMHhjMTgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHg0NSwweGNjLDB4MTAsMHg4MCwweDJjLDB4MjgsMHhjYSB9LAotICAxNiwgMHhjMTkwLCAwLCB7MHg2OCwweDMwLDB4MDIsMHg4ZCwweDAwLDB4OWIsMHgyMCwweDI4LDB4YzQsMHgwOCwweDMyLDB4MDIsMHhjYywweDEwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhjMWEwLCAwLCB7MHgyNCwweDA4LDB4MGIsMHg4MCwweDQyLDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyYSwweGNhLDB4M2EsMHhiMCwweDAyLDB4OGMsMHgwNCB9LAotICAxNiwgMHhjMWIwLCAwLCB7MHhiMCwweDA0LDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweGUzLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMWMwLCAwLCB7MHhjMCwweDE1LDB4OGMsMHgwMiwweDgwLDB4NDAsMHhhYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MjAsMHgyYSB9LAotICAxNiwgMHhjMWQwLCAwLCB7MHhjMCwweDg4LDB4YjAsMHgwMiwweGFjLDB4MDAsMHg5YiwweDAwLDB4MjYsMHhlMCwweDAzLDB4ODAsMHg4MiwweDJjLDB4MjgsMHg5YiB9LAotICAxNiwgMHhjMWUwLCAwLCB7MHgyMCwweDIyLDB4ZTEsMHgwYiwweGIyLDB4MDIsMHhhYywweDgwLDB4YjgsMHg4MCwweDJhLDB4YzEsMHgwYSwweDk4LDB4MDIsMHhmMCB9LAotICAxNiwgMHhjMWYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjOCwweDUwLDB4M2EsMHhjMCB9LAotICAxNiwgMHhjMjAwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZGIsMHg4OCwweGJhLDB4YzAsMHgwOCwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmIsMHgwMCB9LAotICAxNiwgMHhjMjEwLCAwLCB7MHgzNiwweDYwLDB4MGYsMHg4YywweDYzLDB4NmMsMHgwMCwweGNiLDB4YzAsMHgzYSwweDgwLDB4MGUsMHhiZSwweDAzLDB4YWYsMHg4NCB9LAotICAxNiwgMHhjMjIwLCAwLCB7MHg3OSwweDgwLDB4M2EsMHg4OCwweDA0LDB4OTgsMHgwMSwweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMjMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODAsMHgzNSwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZGMsMHgwMCwweGVmLDB4MDAsMHgzNyB9LAotICAxNiwgMHhjMjQwLCAwLCB7MHhjMCwweGFmLDB4ZjAsMHgwMywweDFjLDB4MDEsMHg2ZiwweDAwLDB4MTMsMHgwMCwweDBmLDB4YzEsMHgyMywweGZjLDB4YjgsMHhmZiB9LAotICAxNiwgMHhjMjUwLCAwLCB7MHgwNCwweDM3LDB4YzAsMHgwYywweGY4LDB4NDMsMHg3ZSwweDA0LDB4ZmQsMHgwMCwweDNmLDB4MDQsMHgwZiwweGQwLDB4MDMsMHhmOCB9LAotICAxNiwgMHhjMjYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjOCwweDQwLDB4M2EsMHhjMCB9LAotICAxNiwgMHhjMjcwLCAwLCB7MHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHg0MCwweDM4LDB4YzEsMHgwZSwweGIwLDB4NDMsMHgyYywweDA4LDB4YzMsMHgwMCB9LAotICAxNiwgMHhjMjgwLCAwLCB7MHgzZSwweDQwLDB4MGUsMHg4MiwweDAzLDB4NmQsMHgwMCwweGRiLDB4NDAsMHgzMiwweGMxLDB4NWYsMHhiNCwweGEzLDB4ZWQsMHgyMCB9LAotICAxNiwgMHhjMjkwLCAwLCB7MHhjOSwweDQwLDB4MzIsMHhlMCwweDhmLDB4OTgsMHg0MywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMmEwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMywweGMwLDB4MjgsMHhmNSwweGMyLDB4ZmMsMHgwMCwweGIzLDB4MDQsMHgyMyB9LAotICAxNiwgMHhjMmIwLCAwLCB7MHhjMSwweDQ4LDB4ZjAsMHgyMiwweGJjLDB4MDYsMHhhZiwweDAwLDB4MGUsMHg0MCwweDA4LDB4MDAsMHgwMiwweGNkLDB4MDAsMHhiYiB9LAotICAxNiwgMHhjMmMwLCAwLCB7MHgwMSwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlZSwweDAwLDB4ODEsMHhlMCwweDM0LDB4YTAsMHgwYiwweDkwLDB4MDIsMHgzMiB9LAotICAxNiwgMHhjMmQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDIsMHg4MCwweDAwLDB4MjgsMHhjMCB9LAotICAxNiwgMHhjMmUwLCAwLCB7MHgwOSwweDNjLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMSB9LAotICAxNiwgMHhjMmYwLCAwLCB7MHgyYywweDAwLDB4MGEsMHgwNSwweDAyLDB4Y2QsMHg1OCwweGJiLDB4MDAsMHgyMCwweDAwLDB4MGEsMHgzZCwweDAyLDB4Y2YsMHg0MCB9LAotICAxNiwgMHhjMzAwLCAwLCB7MHgyMSwweDIwLDB4NjAsMHhjMCwweDA5LDB4MTAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMzEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweDg0LDB4ODAsMHgyOCwweGU0LDB4ODgsMHg3OCwweDQyLDB4ZGUsMHgwMCwweGI3LDB4OTAsMHg2NSB9LAotICAxNiwgMHhjMzIwLCAwLCB7MHhlNCwweDg4LDB4N2EsMHg0MiwweDllLDB4NDAsMHhhNywweDkwLDB4MmQsMHhhMCwweDBhLDB4NDgsMHgyMiwweGRlLDB4MDQsMHhiNyB9LAotICAxNiwgMHhjMzMwLCAwLCB7MHg4MCwweDIzLDB4NjAsMHg0OCwweDc4LDB4NDIsMHhmZSwweDgwLDB4YWYsMHg5MCwweDY1LDB4ZTAsMHgwYiwweGU4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhjMzQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhjOCwweDAwLDB4MzgsMHhjMCB9LAotICAxNiwgMHhjMzUwLCAwLCB7MHgwYywweDMwLDB4MDMsMHhjYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZSwweGJhLDB4MDMsMHgwYywweDAwLDB4YzMsMHgwMCB9LAotICAxNiwgMHhjMzYwLCAwLCB7MHgzZSwweDAwLDB4NGUsMHgyMiwweDAyLDB4Y2MsMHhjMCwweGZiLDB4NDAsMHgzMCwweGMwLDB4MGEsMHgzMCwweDAzLDB4Y2UsMHg4MCB9LAotICAxNiwgMHhjMzcwLCAwLCB7MHhlMSwweDQxLDB4MzAsMHhjOSwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMzgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgyMCwweGZjLDB4MDAsMHgzNywweGMyLDB4MGUsMHhmMSwweDIzLDB4ZWMsMHg0MCwweGZmLDB4MDQsMHgzYSB9LAotICAxNiwgMHhjMzkwLCAwLCB7MHhjMCwweDBmLDB4YjAsMHgyMywweGZjLDB4MDAsMHhmZiwweDA0LDB4M2UsMHhjMCwweDBkLDB4YTAsMHgwMywweGZjLDB4NTgsMHhmZiB9LAotICAxNiwgMHhjM2EwLCAwLCB7MHgwMCwweGJmLDB4YzAsMHgwNiwweGYwLDB4ODMsMHhkYywweDYyLDB4ZGYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgxMCB9LAotICAxNiwgMHhjM2IwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4ODAsMHhjOSwweDAxLDB4M2UsMHhjMCB9LAotICAxNiwgMHhjM2MwLCAwLCB7MHg4YywweGIyLDB4MDcsMHhhZSwweDA0LDB4Y2IsMHg4MCwweDNhLDB4YzgsMHg0YywweGIyLDB4MDMsMHgyYywweDg0LDB4Y2IsMHgzMCB9LAotICAxNiwgMHhjM2QwLCAwLCB7MHhiMCwweGUwLDB4MGQsMHg4OCwweDBiLDB4MmMsMHgwMCwweGViLDB4MDAsMHgzMCwweDAwLDB4MGMsMHhiYywweDgzLDB4MmQsMHg4MCB9LAotICAxNiwgMHhjM2UwLCAwLCB7MHhmYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4OTAsMHgwMywweGVhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjM2YwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg0MCwweDg3LDB4MDAsMHgyYywweGNjLDB4MDgsMHg3NiwweDgyLDB4M2MsMHg4MiwweDg3LDB4MDAsMHgyMSB9LAotICAxNiwgMHhjNDAwLCAwLCB7MHhjMiwweDhkLDB4MzIsMHg4MiwweDBkLDB4NGMsMHhhNywweDI4LDB4MjEsMHg4MCwweDA4LDB4NDAsMHgwMiwweDFkLDB4ODAsMHhiZiB9LAotICAxNiwgMHhjNDEwLCAwLCB7MHgyMCwweDM1LDB4NDAsMHgwOSwweDcyLDB4NDMsMHg1YywweGEwLDB4YjcsMHgwMCwweDI5LDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkMiB9LAotICAxNiwgMHhjNDIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NCwweDgwLDB4MmQsMHhlMCB9LAotICAxNiwgMHhjNDMwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHhkZSwweGMwLDB4OGYsMHg4MCwweDI4LDB4ZWMsMHgyOCwweDdiLDB4MGEsMHg5ZSwweDk0LDB4ODMsMHg4NCB9LAotICAxNiwgMHhjNDQwLCAwLCB7MHgyMywweGUwLDB4MDksMHg1OCwweDUwLDB4OWUsMHgxMCwweGE3LDB4YjAsMHgyMywweGUwLDB4MGIsMHg3OCwweDAyLDB4MWUsMHgyMCB9LAotICAxNiwgMHhjNDUwLCAwLCB7MHhiNywweDgwLDB4MjEsMHhlMCwweDA5LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNDYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMiwweDgyLDB4MWMsMHgyYywweGMwLDB4MjgsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4YzAsMHgyMCB9LAotICAxNiwgMHhjNDcwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhhMywweDAwLDB4NjAsMHhkMiwweDA4LDB4MWQsMHgwMiwweDBmLDB4MjAsMHhiYiB9LAotICAxNiwgMHhjNDgwLCAwLCB7MHgyNCwweDI0LDB4YzAsMHgwYiwweDNjLDB4MDIsMHg0ZiwweDAwLDB4YjMsMHg4MCwweDI4LDB4ZDgsMHgwOSwweDMyLDB4MDIsMHhkMiB9LAotICAxNiwgMHhjNDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxMSwweGE4LDB4MDAsMHhjZSwweDg0LDB4M2UsMHg4MCB9LAotICAxNiwgMHhjNGEwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4Y2UsMHhjMCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDMsMHhhOCwweDAwLDB4Y2EsMHgwMCB9LAotICAxNiwgMHhjNGIwLCAwLCB7MHgzMywweDgwLDB4MGQsMHhlYywweDAzLDB4M2IsMHg4MCwweGVlLDB4ODIsMHgzMywweDgwLDB4MGEsMHhjMCwweDg3LDB4MTAsMHg0MCB9LAotICAxNiwgMHhjNGMwLCAwLCB7MHhmNiwweGMwLDB4MzMsMHg5MCwweGFkLDB4NjQsMHgwMywweGZhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNGQwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMiwweGY4LDB4MDAsMHgzYywweDAwLDB4MWYsMHgwNCwweDAzLDB4YTAsMHgwNCwweGY4LDB4MzAsMHgzZSB9LAotICAxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNCwweDBmLDB4ODAsMHg5MywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHhjNGYwLCAwLCB7MHgxMCwweDNlLDB4MDAsMHgyYywweDg0LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgxOCwweDNlLDB4MTAsMHgwZSwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhjNTAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhjNTEwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHhhNCwweDEwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwNCwweDkwLDB4MDMsMHgyNCwweDAwLDB4NDEsMHgwMCB9LAotICAxNiwgMHhjNTIwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MSwweDEzLDB4ZTEsMHgwOCwweGY4LDB4MDAsMHgzMiwweDQwLDB4MDgsMHg4OSwweDgzLDB4YTIsMHgwMCB9LAotICAxNiwgMHhjNTMwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwYiwweDAyLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNTQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGQsMHg5MCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSB9LAotICAxNiwgMHhjNTUwLCAwLCB7MHg0MCwweDQ4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDhiLDB4OTQsMHg0MiwweGUyLDB4MjAsMHhiOCB9LAotICAxNiwgMHhjNTYwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhlNSwweDA0LDB4YTksMHg5MCwweDM0LDB4NjAsMHgwOCwweDkwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhjNTcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MTAsMHg5OSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHhjNTgwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDI0LDB4NDAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YTksMHgwMCB9LAotICAxNiwgMHhjNTkwLCAwLCB7MHgyYSwweDQwLDB4MGIsMHg5MCwweDgyLDB4ZTAsMHgwMSwweGI4LDB4MDAsMHgyMCwweDQwLDB4M2EsMHg5MCwweDAyLDB4YTQsMHg0NCB9LAotICAxNiwgMHhjNWEwLCAwLCB7MHg4OSwweDA0LDB4MjIsMHg2MiwweDA4LDB4OTgsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNWIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4YSwweDgxLDB4MDAsMHgyYywweDQ4LDB4MDksMHgzMiwweDA2LDB4NDQsMHg4MCwweGIxLDB4MDAsMHgyYyB9LAotICAxNiwgMHhjNWMwLCAwLCB7MHg0OCwweDBhLDB4MTIsMHgwMiwweDg0LDB4ODAsMHhhMSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwMiwweGM1LDB4MDAsMHhiMSB9LAotICAxNiwgMHhjNWQwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwYSwweDI0LDB4MDIsMHhjOSwweDAwLDB4YTMsMHgwMCwweDI0LDB4NDAsMHgwOCwweDExLDB4MDIsMHgwMiB9LAotICAxNiwgMHhjNWUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4M2UsMHgxNCB9LAotICAxNiwgMHhjNWYwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMSwweDQwLDB4ZjgsMHg1MSwweDM2LDB4MTQsMHgyZSwweDg1LDB4NDMsMHgyMSwweDQyLDB4ZTgsMHg1MCB9LAotICAxNiwgMHhjNjAwLCAwLCB7MHgzYSwweDAwLDB4MGYsMHg4MCwweDEyLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MWUsMHg4MCwweDQzLDB4YTAsMHgwMCB9LAotICAxNiwgMHhjNjEwLCAwLCB7MHhjOCwweDAxLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNjIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4NGUsMHgxMSwweDAzLDB4YTQsMHg0MCwweGI1LDB4MDAsMHgzZSB9LAotICAxNiwgMHhjNjMwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGU1LDB4MDAsMHhmOSB9LAotICAxNiwgMHhjNjQwLCAwLCB7MHg0MCwweDNmLDB4NDAsMHgwZCwweDQ0LDB4MDMsMHhmMSwweDAwLDB4ZjUsMHgwMiwweDNkLDB4YzAsMHgyZiwweGQyLDB4MDMsMHhlNiB9LAotICAxNiwgMHhjNjUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU3LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg2MCB9LAotICAxNiwgMHhjNjYwLCAwLCB7MHgwZCwweGRhLDB4MDMsMHhlNiwweDQwLDB4ZjksMHg0MCwweDNlLDB4NjgsMHgwYywweDlhLDB4MDMsMHg2NiwweDIwLDB4ODksMHhhMCB9LAotICAxNiwgMHhjNjcwLCAwLCB7MHgzMywweDQwLDB4MGUsMHg5MCwweDA3LDB4YTYsMHgwMCwweGY5LDB4ODAsMHgzZSwweDUwLDB4MGMsMHhjYSwweDAzLDB4ZjMsMHg4MCB9LAotICAxNiwgMHhjNjgwLCAwLCB7MHhjNSwweDAyLDB4MzMsMHg0MCwweDBjLDB4YzAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNjkwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHgwNCwweDg4LDB4YTIsMHgyMCwweDM4LDB4MDgsMHg4MCwweDAyLDB4ZTMsMHg0MCwweGIwLDB4ODAsMHgyZSB9LAotICAxNiwgMHhjNmEwLCAwLCB7MHgyOCwweDA4LDB4OGEsMHg4MiwweDIzLDB4ODAsMHg4OCwweDgwLDB4MjIsMHgwMCwweGRiLDB4ODgsMHgwMiwweDYyLDB4MDQsMHhiOCB9LAotICAxNiwgMHhjNmIwLCAwLCB7MHhiMCwweDJlLDB4YTgsMHg4OCwweDhlLDB4YTIsMHhlYSwweDgwLDB4ODgsMHgwMCwweDJhLDB4MDAsMHgyOCwweDg4LDB4MDMsMHg4ZSB9LAotICAxNiwgMHhjNmMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODIsMHhhOSwweDA4LDB4MmMsMHg1MiB9LAotICAxNiwgMHhjNmQwLCAwLCB7MHgwYiwweDE0LDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMSwweDBjLDB4NTIsMHg4OCwweDE0LDB4MDIsMHg0NCwweDIwLDB4OTEsMHg2OSB9LAotICAxNiwgMHhjNmUwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHgxMCwweDgyLDB4YzYsMHhlMCwweGIxLDB4MGMsMHgyYywweDQ4LDB4MDgsMHgwMSwweDAyLDB4ZTEsMHg5MyB9LAotICAxNiwgMHhjNmYwLCAwLCB7MHhhMSwweDAxLDB4MjQsMHg0MSwweDBhLDB4MTAsMHgwMiwweGMyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNzAwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDQsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAwLDB4ZTQsMHgwMCwweDM5LDB4MDIsMHgwZSB9LAotICAxNiwgMHhjNzEwLCAwLCB7MHg0MCwweDA4LDB4MTAsMHg2MiwweDI0LDB4MDAsMHg5MSwweDAwLDB4NjIsMHg0MCwweDhiLDB4ODAsMHgwMiwweGUwLDB4NTQsMHhiOSB9LAotICAxNiwgMHhjNzIwLCAwLCB7MHgwYywweDJlLDB4NDAsMHgwOSwweGI2LDB4NTIsMHhlYywweDAwLDB4YTksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkyLDB4ODAsMHg4NiB9LAotICAxNiwgMHhjNzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU0LDB4MDAsMHhlMSwweDYwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhjNzQwLCAwLCB7MHgwZCwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgzMCwweDNlLDB4NDAsMHgyYywweDkwLDB4NDMsMHg2NCwweDA2LDB4YzksMHgwMCB9LAotICAxNiwgMHhjNzUwLCAwLCB7MHgzMiwweDQ5LDB4MGUsMHg4ZCwweDkzLDB4ZTAsMHgwMCwweGY5LDB4MDAsMHgyZSwweDQwLDB4MmMsMHg5NCwweDAzLDB4YzcsMHg0MCB9LAotICAxNiwgMHhjNzYwLCAwLCB7MHhlOSwweDIwLDB4MzAsMHg1NSwweDBlLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNzcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgxZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODAsMHgzYyB9LAotICAxNiwgMHhjNzgwLCAwLCB7MHg0MCwweDRmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDA0LDB4YmUsMHg0MCwweDBmLDB4ODgsMHgzMywweDYyLDB4MDAsMHhmOSB9LAotICAxNiwgMHhjNzkwLCAwLCB7MHhjMiwweDNlLDB4NDgsMHgyZSwweDg4LDB4MzMsMHhlMiwweDAwLDB4ZDksMHgwMCwweDNlLDB4NjAsMHgwZCwweDgwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhjN2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhjN2IwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHhhMCwweDA0LDB4ZTgsMHg0MCwweGJhLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDA0LDB4YzgsMHgwMCB9LAotICAxNiwgMHhjN2MwLCAwLCB7MHgzYSwweDAwLDB4MGUsMHg4YywweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDIsMHgzMiwweDAwLDB4MGUsMHg4MCwweDAzLDB4NjEsMHgyMCB9LAotICAxNiwgMHhjN2QwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgxNiwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjN2UwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhlMiwweDAzLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMiB9LAotICAxNiwgMHhjN2YwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDQsMHg4YSwweDAwLDB4MmUsMHhhMiwweDA5LDB4ZTgsMHgwMiwweGZhLDB4MDQsMHhiZSB9LAotICAxNiwgMHhjODAwLCAwLCB7MHgwMCwweGEyLDB4ODAsMHgwOCwweGNkLDB4ODIsMHgzMywweDIwLDB4YjYsMHhjMCwweDM3LDB4YTAsMHg0YiwweGM4LDB4ODIsMHhjYSB9LAotICAxNiwgMHhjODEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZjLDB4MDAsMHg4MywweDAwLDB4MjYsMHhjMCB9LAotICAxNiwgMHhjODIwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCB9LAotICAxNiwgMHhjODMwLCAwLCB7MHgyOCwweGUwLDB4MGIsMHgzMCwweDAyLDB4Y2UsMHg4MSwweGIzLDB4MDAsMHg2MiwweGMwLDB4MDgsMHgzYywweDAyLDB4NGYsMHgwMCB9LAotICAxNiwgMHhjODQwLCAwLCB7MHhiMywweGEwLDB4MjAsMHhiMCwweDAzLDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODUwLCAwLCB7MHhhMCwweDAxLDB4MGMsMHg0MSwweDg3LDB4MzQsMHgyZCwweGMwLDB4MDgsMHg2MCwweDAyLDB4OWUsMHg0MCwweGI3LDB4YTAsMHgyZCB9LAotICAxNiwgMHhjODYwLCAwLCB7MHhjMCwweDA4LDB4NzMsMHgwMiwweGRjLDB4MDAsMHg4NywweDIwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHg4MiwweGRkLDB4ODUsMHhiZiB9LAotICAxNiwgMHhjODcwLCAwLCB7MHg4MSwweDYzLDB4YzgsMHg4OCwweDdiLDB4MDIsMHgxYywweDAwLDB4YjcsMHg0MCwweDY1LDB4MDAsMHgxYiwweDcyLDB4MDIsMHhlOCB9LAotICAxNiwgMHhjODgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDgxLDB4M2QsMHhlMCB9LAotICAxNiwgMHhjODkwLCAwLCB7MHhkZCwweDcwLDB4MDMsMHhmZSwweDgwLDB4ZjcsMHg5MCwweDNmLDB4ZTAsMHgyYywweDc5LDB4MDMsMHhmZSwweDgwLDB4YzcsMHhhMCB9LAotICAxNiwgMHhjOGEwLCAwLCB7MHgzOSwweGUwLDB4MGYsMHg3YSwweDAyLDB4ZGUsMHg4NCwweGY3LDB4YzIsMHgzMSwweGYyLDB4MGMsMHg3OSwweDAzLDB4NWUsMHgwNCB9LAotICAxNiwgMHhjOGIwLCAwLCB7MHhmNywweDg0LDB4MzEsMHg2MCwweDBmLDB4N2UsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOGMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwYSwweGZiLDB4NjAsMHg3ZSwweGQ0LDB4MGYsMHgzMCwweDAzLDB4NmMsMHgwMCwweGNiLDB4MDAsMHgzMiB9LAotICAxNiwgMHhjOGQwLCAwLCB7MHhkZSwweDJmLDB4YjIsMHgwMywweGVkLDB4NDIsMHgxYiwweDYwLDB4M2UsMHhjMSwweDBkLDB4YjEsMHgwMywweGVjLDB4NTAsMHhmNyB9LAotICAxNiwgMHhjOGUwLCAwLCB7MHg4MCwweDNkLDB4ZDgsMHgyZSwweDMyLDB4MDMsMHhlYywweDMwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhjOGYwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHhjYiwweGQwLDB4M2YsMHhmMCB9LAotICAxNiwgMHhjOTAwLCAwLCB7MHg0YywweGY4LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg4OCwweDNmLDB4ZTAsMHgwYywweGY4LDB4NDMsMHgzZiwweDAwLDB4Y2YsMHhjOCB9LAotICAxNiwgMHhjOTEwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzZiwweGUwLDB4MmMsMHhmOCwweDAzLDB4YmUsMHgyMCB9LAotICAxNiwgMHhjOTIwLCAwLCB7MHhjNywweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMSwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOTMwLCAwLCB7MHhhOCwweDAxLDB4YmMsMHg0MCwweDg3LDB4OTAsMHgzZCwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZGMsMHg4MCwweGQ3LDB4MDAsMHgyZCB9LAotICAxNiwgMHhjOTQwLCAwLCB7MHhjMCwweDBjLDB4MzAsMHgwMywweDdjLDB4MDAsMHg4NywweDEwLDB4MjEsMHhjNCwweDFlLDB4NzAsMHgyMCwweGRjLDB4NDQsMHhiNyB9LAotICAxNiwgMHhjOTUwLCAwLCB7MHgwMCwweDM5LDB4YzAsMHgwYywweDcxLDB4MDIsMHgxYywweDQwLDB4ZDcsMHgwMiwweDI5LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhjOTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDMyLDB4MmQsMHhjMCB9LAotICAxNiwgMHhjOTcwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcsMHgwMCwweDJjLDB4YzAsMHgyYiwweDcwLDB4MGEsMHg1YywweDAwLDB4ODMsMHgwMCB9LAotICAxNiwgMHhjOTgwLCAwLCB7MHgyMywweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGQsMHgwMCwweGI3LDB4MDAsMHgyZCwweGM0LDB4MGIsMHhmMCwweDAyLDB4OWMsMHgyMCB9LAotICAxNiwgMHhjOTkwLCAwLCB7MHg4NywweDE4LDB4MjksMHg0MCwweDA4LDB4NzAsMHg4MiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOWEwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDIsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4Y2MsMHgwOCwweDgzLDB4NDAsMHgyZSB9LAotICAxNiwgMHhjOWIwLCAwLCB7MHhjMCwweDJhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjAsMHhmMiwweDBhLDB4MzAsMHgwMiwweGNlLDB4MDAsMHhiMyB9LAotICAxNiwgMHhjOWMwLCAwLCB7MHg4OCwweDJhLDB4ZDAsMHgwYSwweDMwLDB4MDYsMHgwYywweDAwLDB4OTIsMHgwMCwweDI4LDB4NzgsMHgwOCwweDNjLDB4NDIsMHgwOCB9LAotICAxNiwgMHhjOWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDIsMHhjNywweDAwLDB4MmYsMHhjMCB9LAotICAxNiwgMHhjOWUwLCAwLCB7MHgyYywweDkwLDB4MDIsMHhmYywweDAyLDB4OGYsMHhkOCwweDNmLDB4YzAsMHg0YiwweGYwLDB4MDIsMHg3YywweDAyLDB4Y2YsMHgwMCB9LAotICAxNiwgMHhjOWYwLCAwLCB7MHgyMCwweGYyLDB4MDgsMHhiMCwweDEzLDB4ZWUsMHg4MCwweGZmLDB4MDAsMHgzZiwweGQ0LDB4MmUsMHhiZCwweDgzLDB4YWMsMHgwMCB9LAotICAxNiwgMHhjYTAwLCAwLCB7MHhjYiwweDgwLDB4M2EsMHhhMCwweGFjLDB4YjgsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYTEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MTAsMHgzZSwweGMwLDB4MGYsMHg4NCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSB9LAotICAxNiwgMHhjYTIwLCAwLCB7MHhjMCwweDAxLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwLDB4YmUsMHhjMCwweDBlLDB4YjAsMHgyMywweGVjLDB4MDgsMHhmYiB9LAotICAxNiwgMHhjYTMwLCAwLCB7MHgxMCwweDNmLDB4YzAsMHgwZCwweGI0LDB4MDMsMHhlZCwweDA0LDB4ZjksMHgwMCwweDFlLDB4MTQsMHhjZiwweGIwLDB4ODMsMHhlMCB9LAotICAxNiwgMHhjYTQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDAwLDB4MzAsMHhjMCB9LAotICAxNiwgMHhjYTUwLCAwLCB7MHgwYywweDQwLDB4MDMsMHhhYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgyYywweGIwLDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCB9LAotICAxNiwgMHhjYTYwLCAwLCB7MHhiMywweGUwLDB4MGQsMHhmYSwweDAzLDB4N2UsMHg4MCwweGNmLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmYywweDQzLDB4ZmYsMHgyMCB9LAotICAxNiwgMHhjYTcwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHg0MCwweDA4LDB4ZjgsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYTgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgxMCwweGFiLDB4MDAsMHgyYSwweGMwLDB4MGEsMHg4ZSwweDQyLDB4MmMsMHgwNCwweGJiLDB4MDAsMHgyZSB9LAotICAxNiwgMHhjYTkwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiYiwweDAwLDB4M2EsMHhjMCwweDBlLDB4MzAsMHgwMiwweDBkLDB4MDgsMHg4MyB9LAotICAxNiwgMHhjYWEwLCAwLCB7MHgwMiwweDIyLDB4YzAsMHgwYSwweGJjLDB4MDIsMHhlZiwweDAwLDB4YmIsMHhjMCwweDJjLDB4NjgsMHgwYSwweGI5LDB4MDIsMHhlMCB9LAotICAxNiwgMHhjYWIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDBjLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCB9LAotICAxNiwgMHhjYWMwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMiwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCB9LAotICAxNiwgMHhjYWQwLCAwLCB7MHgyNiwweDQ4LDB4MTksMHhiMCwweDAyLDB4NmQsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MGEsMHhiMCwweDAyLDB4ZWMsMHgwNCB9LAotICAxNiwgMHhjYWUwLCAwLCB7MHhiYiwweDFjLDB4MmUsMHgyMCwweDBhLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYWYwLCAwLCB7MHgwOCwweDE0LDB4MGMsMHgwMCwweGFiLDB4MjAsMHgyOCwweGMwLDB4MGEsMHgwMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDQsMHgyYyB9LAotICAxNiwgMHhjYjAwLCAwLCB7MHhjMSwweDA4LDB4MzAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjQsMHg0MSwweDA5LDB4YjgsMHgwMiwweDBjLDB4MDIsMHg4MyB9LAotICAxNiwgMHhjYjEwLCAwLCB7MHgwMSwweGEwLDB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYywweDEwLDB4OTMsMHgwMCwweDJjLDB4MDAsMHgwYSwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhjYjIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDdjLDB4MDAsMHhjZiwweDI4LDB4MzMsMHhjMCB9LAotICAxNiwgMHhjYjMwLCAwLCB7MHgwYywweGEwLDB4NDYsMHhhYywweDExLDB4YmYsMHgwMCwweDNmLDB4YzAsMHg1YywweGYwLDB4NDMsMHhmYywweDAwLDB4ZmYsMHgwNCB9LAotICAxNiwgMHhjYjQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHhiMCwweDAzLDB4NmMsMHgwOCwweGNiLDB4MDQsMHgzMSwweGMwLDB4MGMsMHhiMCwweDMzLDB4ZWQsMHg0MCB9LAotICAxNiwgMHhjYjUwLCAwLCB7MHhmYiwweDA0LDB4M2UsMHg0MCwweDBlLDB4YjAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYjYwLCAwLCB7MHhhMCwweDE1LDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4ZmMsMHgwMSwweGZmLDB4MDAsMHgzZiB9LAotICAxNiwgMHhjYjcwLCAwLCB7MHhjMCwweDRmLDB4ZjAsMHg4NywweDdjLDB4MDAsMHhmZiwweDAwLDB4MzksMHg0MCwweDBlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhjYjgwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhkYywweDgwLDB4ZmYsMHgwMCwweDNkLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhjYjkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4NDAsMHhlYiwweDQ4LDB4M2UsMHhjMiB9LAotICAxNiwgMHhjYmEwLCAwLCB7MHgwZSwweDA5LDB4MDMsMHhiYywweDYwLDB4YzAsMHgyMCwweDM1LDB4MjQsMHgwZSwweGQyLDB4MTMsMHgyYywweDYwLDB4ZmIsMHg2YSB9LAotICAxNiwgMHhjYmIwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhjYSwweDAzLDB4MjIsMHgyMCwweGMwLDB4ODAsMHgzNywweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCB9LAotICAxNiwgMHhjYmMwLCAwLCB7MHhlZiwweDAwLDB4MzMsMHgyNCwweDBmLDB4YzgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYmQwLCAwLCB7MHg4MCwweDEwLDB4ZGQsMHgwMCwweDhmLDB4NjAsMHgyZiwweGQ4LDB4MDgsMHhhMiwweDAyLDB4ZmQsMHg4MCwweGM4LDB4NzAsMHgyMiB9LAotICAxNiwgMHhjYmUwLCAwLCB7MHgwMCwweDJjLDB4ZmQsMHgwNywweGRjLDB4ODQsMHhiZiwweDYwLDB4MjMsMHhkMiwweDBiLDB4YmQsMHgwMiwweDIzLDB4MDAsMHg4OCB9LAotICAxNiwgMHhjYmYwLCAwLCB7MHg4MCwweGEyLDB4MjAsMHg4OCwweGIwLDB4MjIsMHgzNCwweDAwLDB4YmIsMHg1MCwweDIyLDB4YzgsMHgwYiwweGIwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhjYzAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhhMywweDAzLDB4MmMsMHhjMiB9LAotICAxNiwgMHhjYzEwLCAwLCB7MHgwYSwweDAwLDB4NDIsMHg4YywweDgyLDB4YTMsMHgwYSwweDI0LDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDkwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhjYzIwLCAwLCB7MHgyOCwweGQ4LDB4MGIsMHgxMCwweDAyLDB4OGMsMHgwMiwweDkwLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgxMCwweDQyLDB4NGMsMHgwMCB9LAotICAxNiwgMHhjYzMwLCAwLCB7MHhiMywweDA0LDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwZSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYzQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgxMCwweDliLDB4MDQsMHgyYywweGMwLDB4ZjgsMHg5OCwweDA2LDB4ZWMsMHgwMCwweGFiLDB4ODAsMHgyNiB9LAotICAxNiwgMHhjYzUwLCAwLCB7MHgyMCwweDA4LDB4OTAsMHgyYSwweGFjLDB4MTAsMHhiYiwweDAwLDB4MGEsMHhjMCwweDFiLDB4YjAsMHgyMiwweGFkLDB4MDAsMHg5OCB9LAotICAxNiwgMHhjYzYwLCAwLCB7MHg0MCwweDJhLDB4NzAsMHg0YiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjMsMHgwMCwweGE2LDB4ODYsMHgxYiwweGIwLDB4ODIsMHhiMCB9LAotICAxNiwgMHhjYzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCB9LAotICAxNiwgMHhjYzgwLCAwLCB7MHg4ZSwweDk4LDB4MDMsMHhhYywweDA4LDB4ZTgsMHhjMCwweDM2LDB4MzAsMHg0ZiwweGIwLDB4NDIsMHhlYywweDAwLDB4ZjksMHg4MCB9LAotICAxNiwgMHhjYzkwLCAwLCB7MHgzYSwweGMwLDB4OGYsMHg4OCwweDQyLDB4MjAsMHgxMCwweGM4LDB4MTAsMHgzMCwweGYwLDB4MGYsMHgzMCwweDEzLDB4NmMsMHgxMCB9LAotICAxNiwgMHhjY2EwLCAwLCB7MHhlYiwweDAwLDB4MzYsMHhmMCwweDBmLDB4YmQsMHgwMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjY2IwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGVmLDB4MDQsMHg3ZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4ZGMsMHgwMCwweGM0LDB4MDAsMHgzYiB9LAotICAxNiwgMHhjY2MwLCAwLCB7MHg0MCwweDhiLDB4ZGMsMHgwMywweDdjLDB4MTAsMHhmOSwweDkwLDB4MzYsMHhjMiwweDRmLDB4ZjksMHgyMywweDYyLDB4NDEsMHhhYyB9LAotICAxNiwgMHhjY2QwLCAwLCB7MHgwMSwweDEzLDB4NDAsMHgwNCwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGMwLDB4MDMsMHg3OCB9LAotICAxNiwgMHhjY2UwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MTIsMHhjYiwweDAwLDB4ZjIsMHhjMCB9LAotICAxNiwgMHhjY2YwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhYywweDA4LDB4ZDksMHgwMCwweDNhLDB4ODAsMHgwZiwweDEyLDB4MDMsMHhhYywweDAwLDB4ZTEsMHgwMCB9LAotICAxNiwgMHhjZDAwLCAwLCB7MHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4ZWQsMHgwMiwweGM4LDB4NDAsMHgzZSwweGQwLDB4MGYsMHg5MCwweDEzLDB4MmMsMHgwMiB9LAotICAxNiwgMHhjZDEwLCAwLCB7MHhkYiwweDAwLDB4M2UsMHg1MCwweDBjLDB4YjQsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZDIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHgxNywweGMwLDB4MDgsMHg5MCwweDAyLDB4M2MsMHgwOCwweDhkLDB4MDAsMHgyMiB9LAotICAxNiwgMHhjZDMwLCAwLCB7MHg1NCwweDA4LDB4YjQsMHgwMywweDNjLDB4MDAsMHg4OSwweDAwLDB4MjMsMHhjMCwweDQwLDB4MzUsMHgwMiwweGNjLDB4MjQsMHg4MCB9LAotICAxNiwgMHhjZDQwLCAwLCB7MHgwMCwweDIyLDB4NzQsMHg0YywweGIwLDB4MDIsMHgyYywweDAwLDB4OGYsMHgwMCwweDJlLDB4ZDQsMHgwYSwweGIwLDB4MGEsMHgzMiB9LAotICAxNiwgMHhjZDUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDRjLDB4MDIsMHg4MywweDAwLDB4MjQsMHhjMCB9LAotICAxNiwgMHhjZDYwLCAwLCB7MHgwOSwweDAwLDB4MDIsMHg4YywweDAxLDB4OTAsMHgwMCwweDZhLDB4NDEsMHgwYSwweDMwLDB4MjAsMHg0ZSwweDEwLDB4MzEsMHgwMiB9LAotICAxNiwgMHhjZDcwLCAwLCB7MHgyYywweGMwLDB4MDksMHgyMCwweDA2LDB4Y2UsMHgwMCwweDgwLDB4MDAsMHg2MCwweGUwLDB4MGEsMHgzMCwweDgyLDB4MGMsMHgwOCB9LAotICAxNiwgMHhjZDgwLCAwLCB7MHg4MywweDA4LDB4MmMsMHhkMCwweDA5LDB4YjAsMHgwMiwweDc4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZDkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwNCwweDg3LDB4YjAsMHgyMCwweGVjLDB4MDksMHhlOSwweDAyLDB4OGUsMHg1OCwweDlkLDB4YjAsMHgyYiB9LAotICAxNiwgMHhjZGEwLCAwLCB7MHhhNSwweDQwLDB4NWIsMHgwNiwweGRlLDB4NDAsMHg5NSwweDk0LDB4MmQsMHhlNCwweDE5LDB4N2IsMHgwNiwweGRlLDB4MDAsMHg4NCB9LAotICAxNiwgMHhjZGIwLCAwLCB7MHg4MCwweDYwLDB4ZTAsMHgwYSwweDc4LDB4MGEsMHgxNiwweDEwLDB4ODcsMHg4MCwweDJkLDB4NjgsMHgwYiwweDc5LDB4MDIsMHg0OCB9LAotICAxNiwgMHhjZGMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhjYiwweGEwLDB4MjQsMHhlMCB9LAotICAxNiwgMHhjZGQwLCAwLCB7MHgwZiwweDJhLDB4MDMsMHg4ZSwweDAwLDB4ZDIsMHhkMCwweDM4LDB4ZmEsMHgwZiwweDE4LDB4YzMsMHhjZSwweDI0LDB4MzEsMHhiMCB9LAotICAxNiwgMHhjZGUwLCAwLCB7MHgzYywweGU1LDB4MGMsMHgzYiwweDE3LDB4Y2UsMHgwNCwweGMwLDB4ODIsMHgzOCwweGMyLDB4OWUsMHgxMCwweDAzLDB4MGMsMHgwMCB9LAotICAxNiwgMHhjZGYwLCAwLCB7MHhjMywweDAxLDB4M2UsMHhjMCwweDBkLDB4ODEsMHgwMywweDUyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZTAwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGVmLDB4MTAsMHgzZSwweGMyLDB4MGUsMHhiMSwweDIzLDB4MmMsMHhjMSwweGFiLDB4MDEsMHgzNiB9LAotICAxNiwgMHhjZTEwLCAwLCB7MHg4MCwweDBmLDB4YjAsMHgyMywweDJkLDB4OTAsMHhlOSwweDg0LDB4NzIsMHhjOCwweDYyLDB4ZjEsMHgxNywweGZjLDB4MDAsMHhmYyB9LAotICAxNiwgMHhjZTIwLCAwLCB7MHgwMCwweDNiLDB4YzQsMHgxZCwweGYwLDB4MDMsMHhlYywweDAwLDB4ZWYsMHgwOCwweDNmLDB4YzgsMHgwZSwweGYxLDB4MDMsMHg5MCB9LAotICAxNiwgMHhjZTMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4ODAsMHhmYiwweGE0LDB4M2EsMHhjOCB9LAotICAxNiwgMHhjZTQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyYywweDA0LDB4Y2EsMHgwMCwweDMwLDB4NjAsMHgyZCwweDFhLDB4MjcsMHg2YywweDg0LDB4Y2IsMHg2MCB9LAotICAxNiwgMHhjZTUwLCAwLCB7MHgzMiwweGQyLDB4MGMsMHhhMCwweDEzLDB4MmQsMHg4NCwweGNiLDB4MDIsMHgzZSwweGMwLDB4MGQsMHhiOCwweDAzLDB4YWMsMHg4MCB9LAotICAxNiwgMHhjZTYwLCAwLCB7MHhjYiwweDgxLDB4MzIsMHg4MCwweDBjLDB4YjAsMHgwMywweGFhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZTcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHhhNCwweGI3LDB4MjgsMHg3MywweGMyLDB4MDgsMHhmMCwweDAyLDB4M2MsMHhjMCwweDhmLDB4MDAsMHgzMSB9LAotICAxNiwgMHhjZTgwLCAwLCB7MHhjMCwweDA5LDB4NzAsMHg4MiwweDljLDB4ODAsMHg4NywweDBjLDB4MjAsMHhkOCwweDA5LDB4NzAsMHgyMiwweDFjLDB4MzAsMHg4NCB9LAotICAxNiwgMHhjZTkwLCAwLCB7MHgwMCwweDNkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxNCwweDI0LDB4ODcsMHhhMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MTIsMHgxMiB9LAotICAxNiwgMHhjZWEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4NDAsMHhiMywweDk1LDB4MjksMHhlOSB9LAotICAxNiwgMHhjZWIwLCAwLCB7MHgwYSwweDY4LDB4MDIsMHg5ZSwweGQwLDB4ODYsMHhmMCwweGEzLDB4ZTAsMHgwOCwweDc4LDB4MTIsMHg5ZSwweDQ0LDB4YTMsMHg4MiB9LAotICAxNiwgMHhjZWMwLCAwLCB7MHgyMSwweGU4LDB4MGIsMHgzOCwweDAyLDB4MGUsMHgxMCwweDg3LDB4ODAsMHgyZiwweGUwLDB4MGIsMHgxOCwweDAyLDB4OGUsMHgwMiB9LAotICAxNiwgMHhjZWQwLCAwLCB7MHg4NywweDAwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZWUwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4NDgsMHgzMCwweDAyLDB4MGMsMHgwNCwweDgzLDB4ODAsMHgyMCB9LAotICAxNiwgMHhjZWYwLCAwLCB7MHhkMCwweDA5LDB4MTAsMHgwMiwweDhjLDB4MDYsMHhhMywweDgwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MDIsMHg4MCB9LAotICAxNiwgMHhjZjAwLCAwLCB7MHg0MCwweDI4LDB4ZDIsMHgwYSwweDMwLDB4MDIsMHgwYywweDAxLDB4ODMsMHgwMCwweDIyLDB4M2MsMHgwOCwweDg3LDB4MDIsMHgxMiB9LAotICAxNiwgMHhjZjEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MTgsMHhmYSwweDAwLDB4M2EsMHg4MCB9LAotICAxNiwgMHhjZjIwLCAwLCB7MHg4ZSwweGU0LDB4NDIsMHgyOCwweDAyLDB4Y2UsMHg4MCwweDMzLDB4ODAsMHg0ZCwweGEwLDB4ODMsMHhlOCwweDAwLDB4ZWEsMHhhMCB9LAotICAxNiwgMHhjZjMwLCAwLCB7MHhiMiwweDgwLDB4MGEsMHhhMCwweDBhLDB4MjgsMHgwMCwweGNlLDB4MTgsMHgyZiwweDgwLDB4MGYsMHhhMCwweDEzLDB4YTgsMHgwMCB9LAotICAxNiwgMHhjZjQwLCAwLCB7MHhjYSwweDAwLDB4MzIsMHg5MCwweDJjLDB4YWMsMHgwYiwweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZjUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDQsMHgzYSwweDAwLDB4MGYsMHg4MCwweDgzLDB4YzAsMHgwOCwweGU4LDB4MDMsMHgzYSB9LAotICAxNiwgMHhjZjYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgyMiwweGMwLDB4MDAsMHhkMCwweDAwLDB4N2UsMHgxMCwweGE0LDB4ODAsMHgwMywweGMwLDB4MDAsMHhmOCB9LAotICAxNiwgMHhjZjcwLCAwLCB7MHgwMCwweDNlLDB4MTAsMHgwZCwweDg0LDB4MDMsMHhjMCwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAsMHgwZiwweDgwLDB4MDEsMHg1MiB9LAotICAxNiwgMHhjZjgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDIsMHhjOSwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhjZjkwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAyLDB4ODksMHgwNCwweDMyLDB4NDIsMHgwZCwweDkyLDB4MDMsMHhlNiwweDQyLDB4YzksMHgwMCB9LAotICAxNiwgMHhjZmEwLCAwLCB7MHgzMiwweDcwLDB4MGUsMHgxMiwweDBiLDB4MjQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDQ1LDB4MGUsMHg5OSwweDAzLDB4ZTQsMHgwMiB9LAotICAxNiwgMHhjZmIwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHg1MCwweDA0LDB4OTQsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZmMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhjZmQwLCAwLCB7MHg1NCwweDBiLDB4OTAsMHgwMywweGU2LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhjZmUwLCAwLCB7MHgwMCwweDM4LDB4NDgsMHgwOCwweDkwLDB4ODIsMHhlNCwweDA0LDB4ZDksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhjZmYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDAxLDB4MmMsMHg0MCB9LAotICAxNiwgMHhkMDAwLCAwLCB7MHgyOCwweDEwLDB4NDIsMHg2NCwweDAwLDB4YTEsMHgwNCwweDIyLDB4NTAsMHgwMSwweDkwLDB4NDIsMHhlNCwweDAwLDB4ODksMHgwNCB9LAotICAxNiwgMHhkMDEwLCAwLCB7MHgyMCwweDQyLDB4MGEsMHg5MCwweDQyLDB4MzQsMHgwMCwweDg5LDB4MDAsMHg2ZSwweDQwLDB4MGEsMHg5MCwweDAwLDB4ZTQsMHgwMCB9LAotICAxNiwgMHhkMDIwLCAwLCB7MHg4OSwweDAwLDB4MjMsMHg0MCwweDBhLDB4ZDAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMDMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjQsMHgyYywweDQ4LDB4MDgsMHgxMCwweDAyLDB4MDQsMHg4MCwweGExLDB4MjAsMHgyOCB9LAotICAxNiwgMHhkMDQwLCAwLCB7MHg0MCwweDBiLDB4MTAsMHgwMiwweDg1LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDA4LDB4NTAsMHg2MiwweDE0LDB4MDIsMHg4MSB9LAotICAxNiwgMHhkMDUwLCAwLCB7MHgwMywweDJlLDB4NDAsMHg4OCwweDE2LDB4ODIsMHhjNCwweGEwLDB4OTEsMHgyOCwweDIxLDB4NDAsMHgyYSwweDUwLDB4MDIsMHgwMiB9LAotICAxNiwgMHhkMDYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjOCwweDUwLDB4MmUsMHgxNCB9LAotICAxNiwgMHhkMDcwLCAwLCB7MHgwYywweDg1LDB4MDMsMHg2MSwweDQwLDB4ZTgsMHg1MCwweGIyLDB4MTUsMHg0ZCwweDgwLDB4MDIsMHhjMCwweDAwLDB4NDgsMHg1MCB9LAotICAxNiwgMHhkMDgwLCAwLCB7MHhiMiwweDE1LDB4MWEsMHg4MCwweDEzLDB4MzAsMHgwOCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MiwweDAzLDB4ZTAsMHg4MCB9LAotICAxNiwgMHhkMDkwLCAwLCB7MHhjMCwweDIwLDB4MzAsMHgwMCwweDBlLDB4NDAsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMGEwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0OCwweGRkLDB4MTAsMHgzNyB9LAotICAxNiwgMHhkMGIwLCAwLCB7MHg0MCwweDBmLDB4ZDQsMHgwNywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2UsMHg0NSwweDBmLDB4OTQsMHgwMywweGU1LDB4MDgsMHhmZCB9LAotICAxNiwgMHhkMGMwLCAwLCB7MHgwMiwweDM5LDB4ZDAsMHgwZiwweGQwLDB4NDMsMHhmNCwweGEwLDB4ZjksMHgyOCwweDNlLDB4NGIsMHgwZCwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHhkMGQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ODAsMHhjOSwweGE2LDB4MzIsMHg2OCB9LAotICAxNiwgMHhkMGUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNiwweDgxLDB4ZTksMHhlOSwweDNiLDB4NDAsMHgwZSwweDU4LDB4MDMsMHgzNiwweDIwLDB4YzksMHhhMCB9LAotICAxNiwgMHhkMGYwLCAwLCB7MHgzNywweDc4LDB4MGQsMHhkYSwweDAzLDB4MzYsMHgyNiwweGM1LDB4MDAsMHgzNywweDY5LDB4MGUsMHhkZSwweDAzLDB4YTYsMHg4MiB9LAotICAxNiwgMHhkMTAwLCAwLCB7MHhjZCwweGMwLDB4MzMsMHg1MCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMTEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHhhNCwweDg4LDB4YTksMHgyMiwweDNhLDB4MDgsMHgwOCwweDAwLDB4MjIsMHhhMCwweGI4LDB4ZTUsMHgzMCB9LAotICAxNiwgMHhkMTIwLCAwLCB7MHgyMCwweDI4LDB4ODAsMHgyMiwweDQzLDB4YTAsMHgwOCwweGU4LDB4MmEsMHgzZCwweDA4LDB4YTQsMHg2MiwweDIwLDB4MDAsMHg4OCB9LAotICAxNiwgMHhkMTMwLCAwLCB7MHgwMCwweDJlLDB4MTAsMHgwOCwweDhlLDB4MDMsMHgyMywweGEwLDB4ODgsMHhhMCwweDIwLDB4MjgsMHgwYiwweDhhLDB4ODIsMHgwZSB9LAotICAxNiwgMHhkMTQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHg5MSwweDQwLDB4MjAsMHg0NCB9LAotICAxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDkwLDB4YTIsMHg4NSwweDEwLDB4YTEsMHgyMCwweDJjLDB4NDIsMHgwYiwweDE0LDB4MTIsMHg4YywweDAxLDB4OTEsMHgxMCB9LAotICAxNiwgMHhkMTYwLCAwLCB7MHgyYywweDQ4LDB4MDksMHgxMSwweDBhLDB4YzQsMHgwMCwweDgxLDB4MDAsMHgyYywweDUwLDB4MGIsMHgxMSwweDEyLDB4YzUsMHgwMSB9LAotICAxNiwgMHhkMTcwLCAwLCB7MHhiMSwweDQwLDB4MjQsMHg0OCwweDBiLDB4MTgsMHgwZSwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMTgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQxLDB4MDgsMHg5NCwweDQyLDB4MjQsMHgwMCwweGIxLDB4NDAsMHgyMCB9LAotICAxNiwgMHhkMTkwLCAwLCB7MHg0MCwweDQ5LDB4YjIsMHg2MiwweDI0LDB4MDAsMHg5OSwweDAwLDB4MGEsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU1LDB4ODAsMHg4OSB9LAotICAxNiwgMHhkMWEwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgyNCwweDgwLDB4YjksMHgwMCwweDI2LDB4NTAsMHg0YiwweDkwLDB4MDIsMHgwNiB9LAotICAxNiwgMHhkMWIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDIsMHhkOSwweDAwLDB4YjIsMHg0MCB9LAotICAxNiwgMHhkMWMwLCAwLCB7MHgyYywweDk1LDB4MTMsMHhhNCwweDEwLDB4ZTksMHgwMCwweGJlLDB4NjAsMHg4ZiwweDkwLDB4MGIsMHhhNCwweDEwLDB4NTksMHgwMCB9LAotICAxNiwgMHhkMWQwLCAwLCB7MHgxZSwweDQwLDB4OWQsMHg5NCwweDIzLDB4ZTQsMHgwMiwweDg5LDB4MDAsMHgzNCwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwOCB9LAotICAxNiwgMHhkMWUwLCAwLCB7MHg3OSwweDAwLDB4YjYsMHg0MCwweDA3LDB4OTgsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMWYwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgwMCwweGU5LDB4MDIsMHgzYywweDQwLDB4MmYsMHg5OCwweDAyLDB4ZTQsMHgwMCwweGY5LDB4NDIsMHgzYSB9LAotICAxNiwgMHhkMjAwLCAwLCB7MHg2OCwweDBhLDB4MTAsMHgwMywweGU0LDB4MTAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4OTAsMHgwZiwweDI2LDB4MDAsMHhmOSB9LAotICAxNiwgMHhkMjEwLCAwLCB7MHgwNCwweDNlLDB4NDAsMHgwZSwweDFjLDB4MDMsMHhlNiwweDAwLDB4YzEsMHgwMCwweDNhLDB4NTAsMHgwZiwweDk5LDB4ODMsMHhjYSB9LAotICAxNiwgMHhkMjIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDAwLDB4M2EsMHgwMCB9LAotICAxNiwgMHhkMjMwLCAwLCB7MHgwYywweDg0LDB4MDMsMHgyMCwweDAwLDB4ZDgsMHg0MiwweDMyLDB4MDQsMHgwYywweDg4LDB4MTMsMHhlMCwweDAwLDB4YzgsMHgwMCB9LAotICAxNiwgMHhkMjQwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwNCwweDBiLDB4MDAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGUsMHg4MCwweDIzLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMjUwLCAwLCB7MHhjOCwweDgwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMSwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMjYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgxMCwweDhhLDB4MDAsMHgyZSwweDgwLDB4MjgsMHgyMCwweDIyLDB4MjgsMHgwMCwweDhhLDB4MDAsMHgyMyB9LAotICAxNiwgMHhkMjcwLCAwLCB7MHhiMCwweDg4LDB4ZTAsMHgwMiwweDI4LDB4MTAsMHhkYSwweDAwLDB4YTMsMHhiNCwweDA4LDB4ZTgsMHgxMCwweDI4LDB4MDAsMHg4ZSB9LAotICAxNiwgMHhkMjgwLCAwLCB7MHgyMCwweDIzLDB4YTAsMHg0OCwweGVkLDB4MWEsMHgyOCwweDAwLDB4ZGUsMHgwMCwweDIzLDB4OTAsMHgwYSwweGUwLDB4MDIsMHgwYSB9LAotICAxNiwgMHhkMjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhhMywweDAwLDB4MjgsMHhjMCB9LAotICAxNiwgMHhkMmEwLCAwLCB7MHgwOCwweDMwLDB4MGEsMHgwYywweDAwLDB4OTMsMHgwMCwweDIwLDB4YzIsMHgyYSwweDMwLDB4MjIsMHhhNCwweDAwLDB4YmIsMHgwMCB9LAotICAxNiwgMHhkMmIwLCAwLCB7MHgwOCwweGUwLDB4MTgsMHgwOSwweDBhLDB4NGMsMHgwMCwweDkzLDB4MDIsMHgyNCwweGU4LDB4MDIsMHgwOCwweDA2LDB4NGMsMHgwMCB9LAotICAxNiwgMHhkMmMwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhkOCwweDBhLDB4OTAsMHgwMiwweDRhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMmQwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg4MCwweDg3LDB4MDQsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MGUsMHgwMCwweDg3LDB4MTAsMHgyNSB9LAotICAxNiwgMHhkMmUwLCAwLCB7MHgwMCwweDBhLDB4NjAsMHgwMiwweDVlLDB4MDAsMHg5NywweDAwLDB4MjksMHg4MiwweDA4LDB4NTAsMHgxMiwweDU0LDB4MDAsMHg4ZiB9LAotICAxNiwgMHhkMmYwLCAwLCB7MHg4MCwweDYxLDB4ZDAsMHgwOCwweDA0LDB4MDIsMHg1YywweDAxLDB4YjcsMHgwOCwweGE5LDB4YTAsMHgwYSwweDUwLDB4ODIsMHg2OCB9LAotICAxNiwgMHhkMzAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4ODAsMHhlNywweDgwLDB4MzgsMHhlNCB9LAotICAxNiwgMHhkMzEwLCAwLCB7MHgwOCwweDdlLDB4MDMsMHgxZiwweDAwLDB4ZGYsMHg4MCwweGIxLDB4MjEsMHgxZSwweDc4LDB4MDMsMHhkYywweDA0LDB4ZjMsMHg4MCB9LAotICAxNiwgMHhkMzIwLCAwLCB7MHg1YiwweGUxLDB4MDgsMHgyOCwweDAzLDB4NWUsMHgwMCwweGQ3LDB4ODAsMHgzNSwweDYwLDB4MGUsMHg2OCwweDAzLDB4NGUsMHgwMCB9LAotICAxNiwgMHhkMzMwLCAwLCB7MHhkZiwweDgwLDB4MzEsMHhlMCwweDBlLDB4ZjgsMHgwYiwweDZhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMzQwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwMiwweGZiLDB4NzQsMHgzZSwweGQwLDB4NGYsMHhiMiwweDgzLDB4ZWQsMHgwMCwweDdiLDB4NjgsMHgzYSB9LAotICAxNiwgMHhkMzUwLCAwLCB7MHgwMCwweDhkLDB4ODAsMHgwMywweGE0LDB4MjAsMHhkYiwweDAxLDB4MzYsMHg4MCwweDZmLDB4YjAsMHg0MSwweDg0LDB4MDAsMHhlYiB9LAotICAxNiwgMHhkMzYwLCAwLCB7MHgwMCwweDNjLDB4YzAsMHgwZiwweGU2LDB4ODMsMHhiYywweDQwLDB4ZGIsMHgwMCwweGI2LDB4ODAsMHgwZiwweGIwLDB4MDMsMHg4MiB9LAotICAxNiwgMHhkMzcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MjAsMHhkZiwweGMwLDB4M2IsMHhlNiB9LAotICAxNiwgMHhkMzgwLCAwLCB7MHgwZSwweGY4LDB4MTMsMHhmZiwweDQ0LDB4YzcsMHg4MiwweDNiLDB4ZTAsMHgwZiwweGY5LDB4MDMsMHhiZSwweDEwLDB4Y2YsMHhjOCB9LAotICAxNiwgMHhkMzkwLCAwLCB7MHgzMywweDYwLDB4OGQsMHhlYiwweDAzLDB4M2UsMHgwMCwweGRiLDB4ODIsMHgzZiwweGUwLDB4MGMsMHhkOCwweDAzLDB4M2UsMHg0MCB9LAotICAxNiwgMHhkM2EwLCAwLCB7MHhjZSwweDgwLDB4MzMsMHhlNCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkM2IwLCAwLCB7MHhhOCwweDExLDB4YmMsMHg0MCwweDg3LDB4MDAsMHgyMSwweGU0LDB4MGIsMHg3OCwweGEyLDB4Y2UsMHg5MCwweGM3LDB4YjAsMHgyMCB9LAotICAxNiwgMHhkM2MwLCAwLCB7MHhlOCwweDBiLDB4MjgsMHg5MiwweGI2LDB4ODgsMHg4NywweGEwLDB4MjAsMHg2NCwweDBiLDB4MzUsMHgwMywweDE0LDB4MDAsMHg4NyB9LAotICAxNiwgMHhkM2QwLCAwLCB7MHhiMiwweDM5LDB4YzAsMHgyYywweGMwLDB4MDMsMHg1ZSwweDAyLDB4Y2YsMHgwMCwweDMxLDB4Y2UsMHgwYiwweDc2LDB4MTIsMHgyYSB9LAotICAxNiwgMHhkM2UwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhMywweDEwLDB4MjksMHhjOCB9LAotICAxNiwgMHhkM2YwLCAwLCB7MHgwYiwweDc0LDB4MDIsMHhkYywweDgwLDB4OGYsMHgwMCwweDI5LDB4Y2MsMHgwYSwweDMwLDB4MDYsMHgxNCwweDgwLDB4ODcsMHgxMCB9LAotICAxNiwgMHhkNDAwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHg2NiwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MSwweDAyLDB4MWMsMHg4MCB9LAotICAxNiwgMHhkNDEwLCAwLCB7MHg5NiwweDAwLDB4MjEsMHhjMCwweDViLDB4NzQsMHg4MiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwOCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHhiOCwweDAyLDB4Y2MsMHgwMCwweDhiLDB4NDAsMHhhOCB9LAotICAxNiwgMHhkNDMwLCAwLCB7MHhjMCwweDhiLDB4MDgsMHgyMiwweDhjLDB4MDIsMHg4MywweDAwLDB4NjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDA0LDB4MDAsMHg4MyB9LAotICAxNiwgMHhkNDQwLCAwLCB7MHg0MCwweDI4LDB4ZmMsMHg4YSwweDAwLDB4MDIsMHg2ZSwweDAwLDB4ODMsMHgwMCwweGEwLDB4ZDAsMHg4YiwweDM4LDB4MDIsMHgwOCB9LAotICAxNiwgMHhkNDUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJjLDB4MDIsMHhlZiwweDAwLDB4M2IsMHhjMCB9LAotICAxNiwgMHhkNDYwLCAwLCB7MHg0ZiwweGY4LDB4MDIsMHhmYywweDAyLDB4Y2YsMHgwMCwweDM4LDB4MTIsMHgwZSwweDk4LDB4MDIsMHgyYywweDAwLDB4Y2YsMHgwMCB9LAotICAxNiwgMHhkNDcwLCAwLCB7MHgzMiwweGMwLDB4MDksMHg5MCwweDAzLDB4NjQsMHgwMiwweDgxLDB4YzAsMHgzZSwweGQwLDB4MGYsMHg5MCwweDA3LDB4M2MsMHgwMyB9LAotICAxNiwgMHhkNDgwLCAwLCB7MHhkOSwweDAwLDB4MzIsMHg2MCwweDBmLDB4ODgsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDkwLCAwLCB7MHg4MCwweDAwLDB4Y2MsMHgwMCwweGRiLDB4MDAsMHgzZSwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzNiB9LAotICAxNiwgMHhkNGEwLCAwLCB7MHhjMCwweDRmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhmYiwweDAwLDB4YmUsMHg5MCwweDBmLDB4OWMsMHgxMywweGVjLDB4MDAsMHhlOSB9LAotICAxNiwgMHhkNGIwLCAwLCB7MHgxOCwweDNhLDB4ZDAsMHgwNCwweGQ1LDB4MDMsMHhlYywweDQwLDB4ZTksMHgwMCwweDNhLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhkNGMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhjZiwweDAwLDB4M2QsMHhjMSB9LAotICAxNiwgMHhkNGQwLCAwLCB7MHg4YywweGYwLDB4MDMsMHgyYywweDAwLDB4ZWYsMHgwYSwweGIzLDB4MTIsMHgyYywweDcwLDB4MjMsMHgxNCwweDBhLDB4NGYsMHgwMCB9LAotICAxNiwgMHhkNGUwLCAwLCB7MHgzNSwweDYwLDB4MGQsMHhiMCwweDAzLDB4MDQsMHgwMCwweGNkLDB4ODAsMHgwNywweGU4LDB4MGMsMHhjNCwweDAzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhkNGYwLCAwLCB7MHhjZCwweDAwLDB4MzEsMHhlMiwweDJjLDB4ZTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNTAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMiwweGFiLDB4MDIsMHgyZSwweGMwLDB4MGUsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhiLDB4MDAsMHgzMiB9LAotICAxNiwgMHhkNTEwLCAwLCB7MHgzMCwweDAwLDB4OWMsMHgwMywweDZjLDB4MDAsMHg4YiwweDA0LDB4MjIsMHgzNiwweDA4LDB4MzQsMHg0YSwweDJjLDB4MDgsMHg4OSB9LAotICAxNiwgMHhkNTIwLCAwLCB7MHg5MCwweDIwLDB4YjgsMHgwZiwweDg0LDB4MDAsMHhhYywweDAyLDB4ODksMHgwMCwweDM2LDB4YTAsMHgwOCwweGE0LDB4MDIsMHgyMCB9LAotICAxNiwgMHhkNTMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhjMCB9LAotICAxNiwgMHhkNTQwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ZDEsMHgwOCwweDg4LDB4MTIsMHgyNiwweDAwLDB4YTMsMHgwMCB9LAotICAxNiwgMHhkNTUwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHhiMCwweDAyLDB4MjYsMHgwMCwweDhiLDB4MDAsMHgyNiwweGMwLDB4NTgsMHgxMCwweDEyLDB4MmMsMHgwNCB9LAotICAxNiwgMHhkNTYwLCAwLCB7MHg4MiwweDgwLDB4MmEsMHg0OSwweDA4LDB4MzAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNTcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGEzLDB4MTQsMHgyYywweGM4LDB4MWEsMHgzNCwweDhhLDB4MGMsMHg4NCwweDgzLDB4NDAsMHgyMiB9LAotICAxNiwgMHhkNTgwLCAwLCB7MHhjOCwweDA4LDB4MDMsMHg2MiwweDRjLDB4YzAsMHhhMywweDYwLDB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhkNTkwLCAwLCB7MHg0NSwweDA4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHg4YywweGEwLDB4ODMsMHgwMCwweDI2LDB4NDAsMHgwOCwweDMwLDB4MGEsMHgwMiB9LAotICAxNiwgMHhkNWEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhjZiwweDQwLDB4MmYsMHhkMiB9LAotICAxNiwgMHhkNWIwLCAwLCB7MHg4YywweGY2LDB4MDMsMHgzYywweDIyLDB4Y2YsMHg0MCwweDMyLDB4ZDYsMHg0YywweGE2LDB4YzEsMHgzZCwweGEwLDB4ODcsMHg0OCB9LAotICAxNiwgMHhkNWMwLCAwLCB7MHgzNiwweDBkLDB4MGYsMHhiMSwweDAyLDB4MjQsMHg0MiwweGNiLDB4NjAsMHgxNiwweGMwLDB4MGMsMHhkMCwweDAzLDB4MmMsMHg4MCB9LAotICAxNiwgMHhkNWQwLCAwLCB7MHhjYSwweDAwLDB4MzIsMHhjMCwweDBjLDB4MzAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNWUwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MjAsMHgzZSwweGNhLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGRiLDB4MzQsMHgzYSB9LAotICAxNiwgMHhkNWYwLCAwLCB7MHhjOCwweDBmLDB4ODAsMHgwMywweGU0LDB4MTAsMHhkYiwweDIxLDB4M2UsMHgxOCwweDBkLDB4ZjIsMHgwMywweGZjLDB4ODAsMHhmZiB9LAotICAxNiwgMHhkNjAwLCAwLCB7MHgzMCwweDM1LDB4YzAsMHgwZiwweGMwLDB4MTMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhkNjEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMSwweGZjLDB4MDAsMHhmYiwweDBiLDB4MmYsMHhjYSB9LAotICAxNiwgMHhkNjIwLCAwLCB7MHg4ZCwweGYyLDB4MDMsMHhmYSwweDAwLDB4OTYsMHg4MCwweDNiLDB4YzQsMHgwZCwweGYxLDB4MDMsMHg3YywweDgwLDB4ZWMsMHg4MCB9LAotICAxNiwgMHhkNjMwLCAwLCB7MHgzYiwweDA4LDB4MGMsMHhjMiwweDAzLDB4NzQsMHgwMiwweGNjLDB4ODAsMHgzZiwweDQ4LDB4MGUsMHhmMCwweDAzLDB4MzAsMHhhMCB9LAotICAxNiwgMHhkNjQwLCAwLCB7MHhkNSwweDgwLDB4M2YsMHg0MCwweDBjLDB4ZjgsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNjUwLCAwLCB7MHg4MCwweDA4LDB4ZWUsMHg0MCwweGJmLDB4ODAsMHgyZiwweGYwLDB4MGIsMHhmNywweDIyLDB4ZWUsMHgyMCwweDhhLDB4ODAsMHgyMyB9LAotICAxNiwgMHhkNjYwLCAwLCB7MHhmYywweDg4LDB4NzUsMHgxMiwweDNkLDB4MDAsMHg4OCwweDAwLDB4MjIsMHgwMCwweDI4LDB4ODAsMHgwMiwweDI0LDB4MDgsMHg4OCB9LAotICAxNiwgMHhkNjcwLCAwLCB7MHgwMCwweDZmLDB4NTAsMHgwMCwweGY1LDB4MDIsMHgyOSwweDAwLDB4ODksMHgwMCwweDJlLDB4NTQsMHgwZCwweDkwLDB4MTEsMHhhMCB9LAotICAxNiwgMHhkNjgwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMSB9LAotICAxNiwgMHhkNjkwLCAwLCB7MHgwOSwweDMwLDB4ODIsMHhjYywweDgyLDB4YmIsMHgwMCwweDI4LDB4YzAsMHg0OSwweDMyLDB4MDIsMHhjZCwweDAwLDB4YjgsMHgwMCB9LAotICAxNiwgMHhkNmEwLCAwLCB7MHgyYywweDUwLDB4MDksMHgwMSwweDAyLDB4MGMsMHg0MCwweDgwLDB4MDAsMHg2YywweDQ0LDB4MDksMHgzMCwweDAyLDB4MjAsMHgwMCB9LAotICAxNiwgMHhkNmIwLCAwLCB7MHhiMCwweDAwLDB4MmMsMHg0MCwweDE4LDB4MzAsMHgwNiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNmMwLCAwLCB7MHhjMCwweDAxLDB4YWMsMHgwMCwweGJiLDB4MDEsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWUsMHgwMCwweGFhLDB4MDAsMHg0YSB9LAotICAxNiwgMHhkNmQwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHg1MiwweGVjLDB4MDAsMHg5OCwweDAyLDB4MjYsMHg0MCwweDA5LDB4ODAsMHgwMiwweDZjLDB4MDEsMHhhYSB9LAotICAxNiwgMHhkNmUwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgyMiwweDAwLDB4YTksMHg4MCwweDJlLDB4NDEsMHgwOSwweDkwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhkNmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9LAotICAxNiwgMHhkNzAwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhjZSwweDg0LDB4ZmEsMHgwMCwweDFhLDB4YzAsMHg4ZCwweGIwLDB4NDMsMHhlYywweDAwLDB4ZjAsMHgwMiB9LAotICAxNiwgMHhkNzEwLCAwLCB7MHgzZiwweDAwLDB4MGQsMHhkMSwweDAzLDB4MzUsMHgwMCwweGNiLDB4NDgsMHgyZSwweDQwLDB4MmYsMHhiMCwweDA5LDB4MjIsMHg4MCB9LAotICAxNiwgMHhkNzIwLCAwLCB7MHhmOSwweGM4LDB4MWUsMHhlMCwweDA4LDB4YjEsMHhlMiwweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNzMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweDdiLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwMCwweGRlLDB4MDAsMHgyNCB9LAotICAxNiwgMHhkNzQwLCAwLCB7MHhjMCwweDRmLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhlYywweDIwLDB4M2IsMHgwMCwweDBlLDB4OTgsMHgwMywweDk0LDB4MDIsMHhkZCB9LAotICAxNiwgMHhkNzUwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHg0ZSwweGYwLDB4MDEsMHhmOCwweDAwLDB4ZGQsMHgwMCwweDNjLDB4ZTQsMHgwZiwweGQ4LDB4MDMsMHhiOCB9LAotICAxNiwgMHhkNzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGFjLDB4YzAsMHhmYiwweDIwLDB4MzIsMHhjOCB9LAotICAxNiwgMHhkNzcwLCAwLCB7MHg4ZCwweGIwLDB4MDMsMHhlYywweDAwLDB4ZjksMHgwMCwweDNhLDB4YzIsMHgyYywweDMwLDB4MDMsMHg2YywweDA0LDB4ZDgsMHgwMiB9LAotICAxNiwgMHhkNzgwLCAwLCB7MHgzYywweDQ0LDB4OGQsMHgxMCwweDAzLDB4YWQsMHgwMywweGVhLDB4MDAsMHgzYywweDQwLDB4MGMsMHg3MCwweDIzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHhkNzkwLCAwLCB7MHhjOCwweDQwLDB4M2EsMHhjMCwweDBkLDB4YmMsMHgwMywweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkN2EwLCAwLCB7MHhjOCwweDAxLDB4M2QsMHgwMCwweGJmLDB4NDIsMHgyMywweGYwLDB4MGQsMHhmMCwweDAyLDB4ZTUsMHgwMCwweGUyLDB4MDEsMHgzNyB9LAotICAxNiwgMHhkN2IwLCAwLCB7MHhmMSwweDA4LDB4ZjAsMHgwZSwweDNkLDB4YzAsMHhhOCwweDAwLDB4MmUsMHg1NCwweDI4LDB4OTAsMHgwMiwweDJjLDB4MDAsMHg4YSB9LAotICAxNiwgMHhkN2MwLCAwLCB7MHgwNSwweDNiLDB4NDEsMHg0OCwweGY1LDB4MDMsMHg4YywweDAwLDB4ODksMHgwMCwweDIyLDB4ZDQsMHgwZSwweDk1LDB4MDIsMHhmMiB9LAotICAxNiwgMHhkN2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDA0LDB4MjAsMHhjMCB9LAotICAxNiwgMHhkN2UwLCAwLCB7MHg4OSwweDMwLDB4MDIsMHhjYywweDQwLDB4YjIsMHgwMCwweDJjLDB4YzQsMHg0OCwweDMwLDB4MDIsMHgyYywweDAyLDB4YTIsMHgwMCB9LAotICAxNiwgMHhkN2YwLCAwLCB7MHgyYywweDIwLDB4MTksMHgyMCwweDFhLDB4ODAsMHgwOCwweGIwLDB4MDAsMHg2YywweDQwLDB4MDgsMHgzMCwweDAyLDB4YzQsMHgwMCB9LAotICAxNiwgMHhkODAwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4YTAsMHhlMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZGYsMHgwNCwweGFlLDB4ODAsMHgyZCB9LAotICAxNiwgMHhkODIwLCAwLCB7MHhlMCwweDA4LDB4NzksMHgwMiwweDFlLDB4MTAsMHg4NywweDkwLDB4MmMsMHgyOCwweDI5LDB4NjgsMHgwMiwweDgyLDB4ODEsMHhiNCB9LAotICAxNiwgMHhkODMwLCAwLCB7MHg4MCwweDJkLDB4NjAsMHgwOCwweDc4LDB4MTAsMHhiYywweDAwLDB4OGYsMHg4MCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhkODQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDBjLDB4MDUsMHhmMywweDkyLDB4MzAsMHhjYSB9LAotICAxNiwgMHhkODUwLCAwLCB7MHgwZCwweDMwLDB4MDMsMHhjYywweDAwLDB4ZjMsMHgwMCwweDNjLDB4YzAsMHgwYywweDMwLDB4MDIsMHgwYywweDgwLDB4NzAsMHgwMCB9LAotICAxNiwgMHhkODYwLCAwLCB7MHgyYywweDQwLDB4MGQsMHgyMCwweDAzLDB4ODksMHgwMCwweGIxLDB4MDAsMHgzZSwweDQwLDB4MmMsMHgzMCwweDAzLDB4ZWMsMHg1MCB9LAotICAxNiwgMHhkODcwLCAwLCB7MHhjMywweDIwLDB4M2MsMHg0MCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzYywweGMwLDB4MGUsMHhiMCwweDgzLDB4ZWMsMHg0MCwweGVhLDB4MDAsMHgzNiB9LAotICAxNiwgMHhkODkwLCAwLCB7MHhjMiwweDBmLDB4YjAsMHg4MywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHg0OCwweDBlLDB4ZTAsMHgwYiwweDdhLDB4ODAsMHhjZiB9LAotICAxNiwgMHhkOGEwLCAwLCB7MHgwMCwweDNiLDB4NDQsMHgwZiwweGYwLDB4MDMsMHhlYywweGMwLDB4ZmYsMHgwMCwweDAzLDB4NDQsMHgwZSwweGUwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhkOGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDIzLDB4M2UsMHhjOCB9LAotICAxNiwgMHhkOGMwLCAwLCB7MHgxZCwweGIwLDB4MDMsMHhlZSwweDAwLDB4Y2EsMHgwMCwweDNlLDB4YzgsMHgwYywweGIyLDB4MDMsMHgyZCwweDkwLDB4YzgsMHg4NCB9LAotICAxNiwgMHhkOGQwLCAwLCB7MHgzNiwweDAwLDB4MmQsMHhiMCwweDAzLDB4NjAsMHgxOCwweDliLDB4ODAsMHgzMywweDUwLDB4MGMsMHhmMiwweDAzLDB4ZTIsMHgwMCB9LAotICAxNiwgMHhkOGUwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHg0MCwweDBjLDB4YjgsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOGYwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4MjgsMHgwYywweGQyLDB4MjgsMHg3MywweDAyLDB4ZmMsMHgwMCwweDg2LDB4MDQsMHgyYyB9LAotICAxNiwgMHhkOTAwLCAwLCB7MHhjYywweDI4LDB4NzAsMHg4MywweDBjLDB4MjAsMHg5NSwweDAxLDB4MjAsMHgwMCwweDA5LDB4MzAsMHgxMiwweDEwLDB4MDQsMHg4NSB9LAotICAxNiwgMHhkOTEwLCAwLCB7MHgwMCwweDIxLDB4NTIsMHgwOCwweDc1LDB4MDIsMHhkOCwweDAwLDB4ODcsMHgwMCwweDIxLDB4NDAsMHgwOCwweDYwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhkOTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ZDQsMHhiNywweGIxLDB4MDksMHhlMSB9LAotICAxNiwgMHhkOTMwLCAwLCB7MHgwOCwweDc4LDB4MjIsMHhkZSwweDAwLDB4OTUsMHg4MCwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MGEsMHg1ZSwweDQyLDB4OTQsMHhjMCB9LAotICAxNiwgMHhkOTQwLCAwLCB7MHgyMSwweDYwLDB4MDgsMHg3OCwweDAyLDB4NWEsMHgwMCwweDg3LDB4ODAsMHgyZCwweDY4LDB4MDgsMHg3YSwweDAyLDB4ZDcsMHgwMCB9LAotICAxNiwgMHhkOTUwLCAwLCB7MHg5NywweDgwLDB4MjAsMHg2MCwweDA5LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOTYwLCAwLCB7MHg0OCwweDEwLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2QsMHg4MCwweDkyLDB4MDAsMHgyYyB9LAotICAxNiwgMHhkOTcwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweGNjLDB4MDAsMHg5MCwweDgwLDB4YTAsMHg0MCwweDA5LDB4MzYsMHgwMiwweDQ4LDB4MDIsMHg4MyB9LAotICAxNiwgMHhkOTgwLCAwLCB7MHhhMCwweGFjLDB4NDAsMHgyYSwweDMwLDB4MDYsMHhjZSwweDAyLDB4OTMsMHgwNCwweGEwLDB4NDAsMHgwOSwweDIwLDB4MGEsMHgxMiB9LAotICAxNiwgMHhkOTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4M2EsMHg4MCB9LAotICAxNiwgMHhkOWEwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmYiwweDAyLDB4ZGUsMHg4MCwweDNlLDB4ODAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwLDB4Y2UsMHg4MCB9LAotICAxNiwgMHhkOWIwLCAwLCB7MHgzMiwweDgwLDB4MGMsMHhhNCwweDAzLDB4NzgsMHgwMCwweGNlLDB4YTQsMHgzZiwweDgwLDB4MGMsMHhhMCwweDA3LDB4ZjksMHgwMCB9LAotICAxNiwgMHhkOWMwLCAwLCB7MHhkZSwweDAwLDB4MzIsMHg4MCwweDJkLDB4ZTAsMHgwMiwweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOWQwLCAwLCB7MHg0OCwweDAwLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHg3YywweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGU4LDB4MTAsMHgzYyB9LAotICAxNiwgMHhkOWUwLCAwLCB7MHgwMSwweGNmLDB4ODAsMHgwZiwweDIwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBlLDB4MDQsMHgwMywweDkwLDB4MDAsMHhlOCB9LAotICAxNiwgMHhkOWYwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwZCwweDgwLDB4MDcsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDQsMHgwZSwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhkYTAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDEwLDB4N2UsMHg0MSB9LAotICAxNiwgMHhkYTEwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHgwMCwweDM2LDB4NjgsMHgwZSwweDkwLDB4MGYsMHhhNCwweDA4LDB4YzksMHgwMCB9LAotICAxNiwgMHhkYTIwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjQsMHgxMiwweGU5LDB4MDAsMHgzZSwweDQ0LDB4MmMsMHg5MCwweDAzLDB4NjQsMHgyNCB9LAotICAxNiwgMHhkYTMwLCAwLCB7MHhmOSwweDAyLDB4MmUsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYTQwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgxMCwweGI5LDB4ODAsMHgzZSwweDQwLDB4MDgsMHg5MCwweDBhLDB4MjYsMHgwMCwweGIxLDB4MTAsMHgyYSB9LAotICAxNiwgMHhkYTUwLCAwLCB7MHg3MiwweDA4LDB4OTAsMHgwNywweDY0LDB4MDIsMHg4OSwweDQwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgxMiwweDI1LDB4MDAsMHg4OSB9LAotICAxNiwgMHhkYTYwLCAwLCB7MHg0NSwweDNlLDB4NTAsMHgwZCwweDkwLDB4MGEsMHgyNSwweDAwLDB4YjksMHg0MCwweDJlLDB4NDAsMHgyOCwweDk0LDB4MDMsMHhlMCB9LAotICAxNiwgMHhkYTcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHhkYTgwLCAwLCB7MHg0OCwweDkwLDB4NDIsMHgyNiwweDAxLDB4YjksMHg0MCwweDI2LDB4NDAsMHgwYSwweDkwLDB4NDIsMHg4NCwweDAxLDB4OGIsMHgwOCB9LAotICAxNiwgMHhkYTkwLCAwLCB7MHgyYywweDQwLDB4MDksMHhkMCwweDgyLDB4MzQsMHgzMiwweGE5LDB4MDgsMHg2ZSwweDQyLDB4MDgsMHgxMCwweDAyLDB4MjQsMHgyMCB9LAotICAxNiwgMHhkYWEwLCAwLCB7MHhiOSwweDA4LDB4MmMsMHg0MCwweDE4LDB4OTAsMHg4MiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYWIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGIzLDB4MjAsMHgyOCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHgwMSwweGIxLDB4MDAsMHgyOCB9LAotICAxNiwgMHhkYWMwLCAwLCB7MHg1OCwweDA4LDB4MTIsMHgwMiwweDA1LDB4ODksMHg4MSwweDQwLDB4MmMsMHg1OCwweDA4LDB4NTYsMHgwNiwweDE1LDB4ODAsMHg4MSB9LAotICAxNiwgMHhkYWQwLCAwLCB7MHg0MCwweDI4LDB4NTAsMHgwOSwweDE0LDB4MDIsMHgwNSwweDgwLDB4YjEsMHg0MCwweDJjLDB4NWEsMHgwOCwweDE0LDB4MDIsMHhjMiB9LAotICAxNiwgMHhkYWUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY4LDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCB9LAotICAxNiwgMHhkYWYwLCAwLCB7MHgyZSwweDg1LDB4MDMsMHgyMSwweDQ4LDB4ZjgsMHgwMCwweDM2LDB4MDAsMHg4ZSwweDA1LDB4MDIsMHhhMCwweDA4LDB4ODAsMHgwMCB9LAotICAxNiwgMHhkYjAwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDBiLDB4MTAsMHgwNCwweGUwLDB4MDAsMHgyYywweDAwLDB4NGMsMHg4MCwweDAzLDB4NDAsMHgwMCB9LAotICAxNiwgMHhkYjEwLCAwLCB7MHhmMCwweDAwLDB4M2UsMHgwOCwweDBjLDB4MDAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYjIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgwMCwweGZkLDB4MDAsMHgzZSB9LAotICAxNiwgMHhkYjMwLCAwLCB7MHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDAzLDB4M2YsMHg0NCwweDFmLDB4OTEsMHgxYiwweGU0LDB4NDAsMHhmZCB9LAotICAxNiwgMHhkYjQwLCAwLCB7MHgwMSwweDNmLDB4NTAsMHgwZSwweDk0LDB4MDMsMHhmNCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhhNiB9LAotICAxNiwgMHhkYjUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhjZCwweGEwLDB4NzEsMHg2OCB9LAotICAxNiwgMHhkYjYwLCAwLCB7MHg4ZCwweDk4LDB4MDMsMHhkNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NjAsMHgwYywweDk4LDB4OGYsMHgyNywweDIwLDB4YzksMHg0MCB9LAotICAxNiwgMHhkYjcwLCAwLCB7MHgzZSwweDc4LDB4MGMsMHg5ZSwweDhiLDB4MjcsMHgyMCwweGQxLDB4MTEsMHgzMCwweDYwLDB4OGMsMHg5YywweDAzLDB4MjUsMHgwMCB9LAotICAxNiwgMHhkYjgwLCAwLCB7MHhmOSwweDQwLDB4M2UsMHg3OCwweDBmLDB4OTAsMHgwMywweDQ2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYjkwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgxMCwweDg4LDB4MDEsMHgyMiwweDAxLDB4MDgsMHg4YywweDIyLDB4ZTgsMHgwMCwweDg4LDB4MDIsMHgyYSB9LAotICAxNiwgMHhkYmEwLCAwLCB7MHgxNCwweDA4LDB4OGMsMHgwYiwweDIzLDB4OTAsMHg4OCwweGEwLDB4MmUsMHhiMCwweDA4LDB4OGMsMHg0MiwweDIzLDB4MDAsMHg4OCB9LAotICAxNiwgMHhkYmIwLCAwLCB7MHhhMCwweDM2LDB4MmEsMHgxOCwweDhhLDB4MDIsMHgyMiwweDAwLDB4YjgsMHhhMCwweDJlLDB4MzQsMHgwYiwweGNhLDB4ODIsMHgwZSB9LAotICAxNiwgMHhkYmMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHg4MSwweDQwLDB4MjQsMHg1MCB9LAotICAxNiwgMHhkYmQwLCAwLCB7MHgwOSwweDE2LDB4ODIsMHhjNCwweDAwLDB4YTksMHgwMCwweDIwLDB4NDAsMHgwOCwweDEyLDB4OTIsMHg1NCwweDA4LDB4ODUsMHgwMCB9LAotICAxNiwgMHhkYmUwLCAwLCB7MHgyZiwweDRjLDB4MDksMHg1MiwweDEyLDB4MTQsMHg4MCwweDlkLDB4MDAsMHgyMSwweDUwLDB4MDgsMHg1NCwweDIyLDB4MTQsMHg4MCB9LAotICAxNiwgMHhkYmYwLCAwLCB7MHhiNSwweDAwLDB4MmQsMHg0OCwweDBiLDB4ZDAsMHgwMiwweDQyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYzAwLCAwLCB7MHgxOCwweDA1LDB4YTQsMHgwMiwweDg5LDB4MDEsMHhhMiwweDQwLDB4NDgsMHg5MCwweDAyLDB4ZTQsMHgwMiwweGE5LDB4MDAsMHgyYSB9LAotICAxNiwgMHhkYzEwLCAwLCB7MHg0MCwweDY4LDB4OTAsMHgwMiwweDY0LDB4MTAsMHhhZCwweDAwLDB4MmYsMHg0MSwweDI4LDB4NTAsMHgwMiwweDM0LDB4MDAsMHg4ZCB9LAotICAxNiwgMHhkYzIwLCAwLCB7MHg0NCwweDI3LDB4NDAsMHgzOSwweGQwLDB4MDIsMHgzNSwweDAwLDB4YmQsMHgxNCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHg0NiB9LAotICAxNiwgMHhkYzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGM0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhkYzQwLCAwLCB7MHgyZCwweDkwLDB4MDMsMHhlNywweDAwLDB4ZTEsMHhlMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MGIsMHg2NCwweDAyLDB4YzksMHgwOCB9LAotICAxNiwgMHhkYzUwLCAwLCB7MHgzYywweDUwLDB4MGMsMHg5MCwweDAyLDB4MjYsMHgwMiwweGQ5LDB4YzAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDEzLDB4MjcsMHgwMCB9LAotICAxNiwgMHhkYzYwLCAwLCB7MHhmOSwweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYzcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMiwweGY5LDB4MDAsMHgzOCwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHg4MCwweGQ5LDB4YTAsMHgzYyB9LAotICAxNiwgMHhkYzgwLCAwLCB7MHg0MCwweDBmLDB4MTAsMHgwMywweGE0LDB4MDAsMHhkOSwweDEwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGM0LDB4OTIsMHhmOSB9LAotICAxNiwgMHhkYzkwLCAwLCB7MHgyMSwweDNjLDB4NDAsMHgyZSwweDkwLDB4MGYsMHhlNiwweDgwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9LAotICAxNiwgMHhkY2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4NDAsMHhlOCwweDEwLDB4M2UsMHgwNCB9LAotICAxNiwgMHhkY2IwLCAwLCB7MHg0ZSwweDgwLDB4MDMsMHgyMCwweDgwLDB4ZDgsMHg2MCwweDNhLDB4MDIsMHgwYywweDgwLDB4MTMsMHgyMCwweDAwLDB4ZjgsMHg0MCB9LAotICAxNiwgMHhkY2MwLCAwLCB7MHgzNiwweDEwLDB4MmQsMHg4MCwweDAzLDB4YTAsMHgwOCwweGU4LDB4NDAsMHgzMiwweDAwLDB4MGQsMHgwMCwweDAzLDB4MjEsMHgwMiB9LAotICAxNiwgMHhkY2QwLCAwLCB7MHhjOCwweDQwLDB4YjIsMHgwMCwweDBmLDB4YzAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkY2UwLCAwLCB7MHgyOCwweDExLDB4M2IsMHgxMCwweDg2LDB4MDEsMHgyZiwweGEwLDB4MGQsMHhhMCwweDAyLDB4MzgsMHgwMCwweDhlLDB4ZTAsMHgyMyB9LAotICAxNiwgMHhkY2YwLCAwLCB7MHhhMiwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiYSwweDgwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4MiB9LAotICAxNiwgMHhkZDAwLCAwLCB7MHgwMCwweDJhLDB4ODAsMHgyOCwweGEwLDB4MDIsMHgyYSwweDA0LDB4OGEsMHg4MCwweDIyLDB4YTAsMHgwYiwweDYwLDB4MDIsMHhjYSB9LAotICAxNiwgMHhkZDEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQzLDB4ODAsMHhhMiwweDAwLDB4MmMsMHhhMCB9LAotICAxNiwgMHhkZDIwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgyZSwweDAwLDB4OTIsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YjMsMHg4MCB9LAotICAxNiwgMHhkZDMwLCAwLCB7MHgyNCwweGMwLDB4MDksMHgzMCwweDBhLDB4OGMsMHgwMCwweGEzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzMCwweDBhLDB4NGMsMHgwMCB9LAotICAxNiwgMHhkZDQwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhlMCwweDBiLDB4MjAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZDUwLCAwLCB7MHhhMCwweDAxLDB4MTAsMHgwMCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MDksMHgzYSwweDAyLDB4MzUsMHgwMCwweDg2LDB4MDAsMHgyMSB9LAotICAxNiwgMHhkZDYwLCAwLCB7MHhjMCwweDA4LDB4NzMsMHgwMiwweDEwLDB4MDAsMHhiZiwweDg4LDB4MjEsMHgwMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDgsMHg4ZiB9LAotICAxNiwgMHhkZDcwLCAwLCB7MHgwMCwweDJiLDB4YzAsMHgwOCwweDIwLDB4MTIsMHg1ZSwweDIwLDB4ODcsMHg4OCwweDIxLDB4ODMsMHgwYiwweDYwLDB4MDIsMHhlOCB9LAotICAxNiwgMHhkZDgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhlNSwweDgxLDB4M2QsMHhhMCB9LAotICAxNiwgMHhkZDkwLCAwLCB7MHgyYywweDdhLDB4MGIsMHgxZSwweDAwLDB4ZDQsMHg4MCwweDM4LDB4ZTAsMHgwYywweGZhLDB4MGIsMHgxZSwweDAwLDB4ZjYsMHg4MCB9LAotICAxNiwgMHhkZGEwLCAwLCB7MHgzNCwweGUwLDB4MGQsMHgyOCwweDAzLDB4OGEsMHgwMCwweGU2LDB4ODAsMHgzMSwweDIwLDB4MGMsMHg3OCwweDAzLDB4N2EsMHgwNCB9LAotICAxNiwgMHhkZGIwLCAwLCB7MHhjZSwweDg0LDB4MzEsMHhlMCwweDRmLDB4NzgsMHg0MywweGVhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZGMwLCAwLCB7MHgwOCwweDBkLDB4ODAsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiNSwweDIzLDB4ZTQsMHgwMCwweGYwLDB4MDQsMHgzNiB9LAotICAxNiwgMHhkZGQwLCAwLCB7MHg0MCwweDBmLDB4YjYsMHg4NywweGUwLDB4MDAsMHhmMiwweDAwLDB4M2UsMHgwMCwweDFmLDB4YTAsMHgwYiwweGU4LDB4MDAsMHhmYSB9LAotICAxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZSwweGEwLDB4MDMsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhkZGYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjYywweDgwLDB4MzMsMHhhMCB9LAotICAxNiwgMHhkZTAwLCAwLCB7MHgwYywweGZjLDB4MDMsMHgzZSwweDAwLDB4ZmMsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGI5LDB4MjEsMHgzZSwweDAwLDB4ZmQsMHg4MiB9LAotICAxNiwgMHhkZTEwLCAwLCB7MHgzMywweGUwLDB4MmMsMHhmOCwweDAzLDB4N2UsMHgxMCwweGRmLDB4ODQsMHgzZCwweGUwLDB4MGMsMHhmOCwweDAzLDB4ZjYsMHgwMCB9LAotICAxNiwgMHhkZTIwLCAwLCB7MHhmZCwweDgwLDB4M2YsMHg2MCwweDBjLDB4ZTgsMHgyMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTMwLCAwLCB7MHhhOCwweDExLDB4OTgsMHg0MCwweDg0LDB4MTAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MTAsMHg4MCwweGI0LDB4MDAsMHgyMSB9LAotICAxNiwgMHhkZTQwLCAwLCB7MHhjOCwweDBiLDB4N2EsMHgwMiwweDEwLDB4MDAsMHhmZCwweDAwLDB4MjEsMHgwNCwweDA4LDB4NzAsMHgwMiwweDFjLDB4NDIsMHg4NyB9LAotICAxNiwgMHhkZTUwLCAwLCB7MHgwMCwweDJkLDB4YzQsMHg0OCwweDYxLDB4MDIsMHhkNiwweDgwLDB4YjUsMHgwMCwweDJmLDB4MDQsMHgwOCwweDYxLDB4ODIsMHgyYSB9LAotICAxNiwgMHhkZTYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDAsMHg4MSwweDAwLDB4MjEsMHg4MCB9LAotICAxNiwgMHhkZTcwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgxYywweDEwLDB4YmMsMHgwOCwweDI1LDB4ODAsMHg0YiwweDMwLDB4MGUsMHgxYywweDAwLDB4YjQsMHgwMCB9LAotICAxNiwgMHhkZTgwLCAwLCB7MHgyMCwweGMwLDB4MDgsMHgyMCwweDAyLDB4NTgsMHgwMCwweDk2LDB4MDAsMHgyZiwweDAwLDB4MGEsMHg3MCwweDAyLDB4ZDAsMHg4MCB9LAotICAxNiwgMHhkZTkwLCAwLCB7MHhiNCwweDE4LDB4MmQsMHg0MCwweDA5LDB4ZjgsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZWEwLCAwLCB7MHgyMCwweDE0LDB4YzgsMHgwMiwweDgwLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDIyLDB4MGIsMHhjMCwweGIwLDB4YzAsMHgyMiB9LAotICAxNiwgMHhkZWIwLCAwLCB7MHg4MCwweDBiLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhhMCwweDA0LDB4MjIsMHgwMCwweDI4LDB4YTAsMHgwMiwweDJiLDB4MDAsMHg4YSB9LAotICAxNiwgMHhkZWMwLCAwLCB7MHgwMCwweDJjLDB4MDAsMHgwOCwweGEwLDB4MDYsMHhjMCwweDAwLDB4YjAsMHhjMiwweDJjLDB4MDAsMHgwOSwweGJjLDB4MWEsMHgwOCB9LAotICAxNiwgMHhkZWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHhjMCB9LAotICAxNiwgMHhkZWUwLCAwLCB7MHgwYywweGYwLDB4MGIsMHgyNiwweDAwLDB4ZjksMHhjMCwweDM2LDB4MDAsMHgwZiwweGYwLDB4MTMsMHgyYywweDEwLDB4YmIsMHg0MCB9LAotICAxNiwgMHhkZWYwLCAwLCB7MHhmMiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NjcsMHgwMCwweGQ5LDB4ODAsMHgzZSwweGMwLDB4MDgsMHg5MCwweDAyLDB4ZWMsMHgwMCB9LAotICAxNiwgMHhkZjAwLCAwLCB7MHhmYiwweGQwLDB4M2UsMHhjMCwweDI5LDB4OGMsMHgwMCwweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZjEwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDQsMHgzYywweGQwLDB4MmYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MjAsMHgzZSB9LAotICAxNiwgMHhkZjIwLCAwLCB7MHg0MCwweDBmLDB4MzAsMHgwMywweGUwLDB4MDAsMHhmYiwweDA4LDB4M2UsMHgwMCwweDBmLDB4OTAsMHgxMywweGU0LDB4NDIsMHhmOSB9LAotICAxNiwgMHhkZjMwLCAwLCB7MHgxMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODAsMHgwZSwweDgyLDB4MDMsMHhlMCB9LAotICAxNiwgMHhkZjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGUwLDB4MDgsMHhmYywweDgwLDB4MzIsMHhlNCB9LAotICAxNiwgMHhkZjUwLCAwLCB7MHgwZSwweGYwLDB4MDMsMHg3NCwweDAwLDB4ZmMsMHgwMCwweDNmLDB4NDAsMHgwYywweGYwLDB4MGIsMHgzYywweDAwLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhkZjYwLCAwLCB7MHgzZiwweGMwLDB4MGQsMHhjMSwweDAzLDB4MjAsMHgyMCwweGNjLDB4MTAsMHgzMywweDAwLDB4MGMsMHhkMSwweDAzLDB4NTgsMHgwMCB9LAotICAxNiwgMHhkZjcwLCAwLCB7MHhjZSwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZDEsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZjgwLCAwLCB7MHg4MSwweDQ0LDB4NjIsMHgwMCwweGIwLDB4NDAsMHgyYSwweGYxLDB4MDgsMHhiMCwweDEyLDB4MjYsMHgwOCwweGI4LDB4YzgsMHgyZSB9LAotICAxNiwgMHhkZjkwLCAwLCB7MHg3MCwweDBhLDB4YjAsMHgwMiwweDIwLDB4MDAsMHhiYSwweDAwLDB4MmUsMHgwMCwweDI4LDB4ODAsMHgwMywweDIyLDB4NDAsMHg4OCB9LAotICAxNiwgMHhkZmEwLCAwLCB7MHgwMSwweDIwLDB4MDAsMHgwYSwweDgwLDB4MDIsMHgyOCwweDAwLDB4OGEsMHgwMSwweDJlLDB4ODAsMHg4YiwweDkwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhkZmIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI2LDB4MDAsMHhiOCwweDI4LDB4MjIsMHg0MiB9LAotICAxNiwgMHhkZmMwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHg2NiwweDAwLDB4YjgsMHg4MCwweDJlLDB4MzAsMHg4OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMSB9LAotICAxNiwgMHhkZmQwLCAwLCB7MHgyZSwweGMwLDB4ODgsMHg5MCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwYyB9LAotICAxNiwgMHhkZmUwLCAwLCB7MHg4OSwweDAxLDB4MmUsMHg0MCwweDFiLDB4ODAsMHgwMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZmYwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweGIwLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIwLDB4MDAsMHgyYyB9LAotICAxNiwgMHhlMDAwLCAwLCB7MHg0MCwweDBhLDB4MzAsMHgwMiwweDAwLDB4MDAsMHhiMSwweDAwLDB4MmMsMHgwMCwweDA4LDB4MTAsMHgwYSwweDA0LDB4MDAsMHg4MSB9LAotICAxNiwgMHhlMDEwLCAwLCB7MHgwMSwweGEyLDB4YzAsMHgwOCwweDAwLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgwMCwweDJjLDB4MDAsMHgxYiwweDAwLDB4MGEsMHgwMiB9LAotICAxNiwgMHhlMDIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHg0MCB9LAotICAxNiwgMHhlMDMwLCAwLCB7MHgwZSwweGYwLDB4MjMsMHg2NCwweDA4LDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwYywweGYwLDB4MDMsMHgyYywweDAwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHhlMDQwLCAwLCB7MHgzZSwweGMwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMiwweGM4LDB4MDQsMHgzMiwweDAwLDB4MWMsMHg5MCwweDAzLDB4MjAsMHgwMCB9LAotICAxNiwgMHhlMDUwLCAwLCB7MHhjOCwweDAxLDB4M2UsMHg0MSwweDlmLDB4OTAsMHg0MywweDQwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMDYwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MGMsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgxMCwweGY0LDB4MDAsMHgzZiB9LAotICAxNiwgMHhlMDcwLCAwLCB7MHgwMCwweDBmLDB4ZjQsMHgyMywweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDBlLDB4YzAsMHgwMywweGIwLDB4MDAsMHhmYyB9LAotICAxNiwgMHhlMDgwLCAwLCB7MHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlMSwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDEsMHgxZiwweDUwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhlMDkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwZCwweGYwLDB4ZDAsMHhmZiwweDIwLDB4M2UsMHhkMCB9LAotICAxNiwgMHhlMGEwLCAwLCB7MHg4ZSwweGIwLDB4MDMsMHhlYywweGEwLDB4ZGIsMHgyOCwweDNlLDB4Y2MsMHgwYywweGIzLDB4MDMsMHhhZCwweDA4LDB4ZjgsMHgzYyB9LAotICAxNiwgMHhlMGIwLCAwLCB7MHgzMiwweDIzLDB4MGUsMHg0OCwweDIzLDB4N2EsMHgwMCwweGZkLDB4OTQsMHgzZiwweGUwLDB4MGYsMHg3OCwweDMzLDB4ZWUsMHgwOCB9LAotICAxNiwgMHhlMGMwLCAwLCB7MHhiZiwweDgwLDB4M2YsMHhlNCwweDBmLDB4ZjksMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGQwLCAwLCB7MHhhMCwweDAwLDB4ZWMsMHhjOCwweGJmLDB4ZDEsMHgwZiwweGM4LDB4MGMsMHgyNiwweDgyLDB4ZmQsMHgyNCwweDhmLDB4MDAsMHgyZSB9LAotICAxNiwgMHhlMGUwLCAwLCB7MHg5OSwweDBhLDB4ZjIsMHg2MiwweDFkLDB4ZDAsMHg5OSwweDYxLDB4MjIsMHg3MSwweDg4LDB4ODgsMHgwMiwweGFjLDB4MDAsMHhiOCB9LAotICAxNiwgMHhlMGYwLCAwLCB7MHgyMiwweDJlLDB4MjAsMHg0YiwweDg4LDB4MDMsMHhhMCwweDAwLDB4ODAsMHgwMCwweDJlLDB4MDgsMHgwYiwweDgwLDB4MjMsMHg2MCB9LAotICAxNiwgMHhlMTAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDQsMHhiMywweDAzLDB4MGMsMHhjYyB9LAotICAxNiwgMHhlMTEwLCAwLCB7MHgwYSwweDEzLDB4MTIsMHhjYywweDE0LDB4YTMsMHgwZSwweDBjLDB4NTgsMHgwYSwweDMzLDB4MDIsMHg4YywweDEwLDB4YTMsMHgyMCB9LAotICAxNiwgMHhlMTIwLCAwLCB7MHhhMCwweDBhLDB4MTgsMHg5MCwweDAyLDB4NDgsMHhhMCwweGIwLDB4MjAsMHgyNCwweDgwLDB4MGEsMHgyMCwweDAyLDB4Y2MsMHgwOSB9LAotICAxNiwgMHhlMTMwLCAwLCB7MHhhMSwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzIsMHg0MiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTQwLCAwLCB7MHhlMCwweDExLDB4YWMsMHgyMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4NGIsMHg4MCwweGEyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHg0ZSB9LAotICAxNiwgMHhlMTUwLCAwLCB7MHg0NiwweDJhLDB4YjAsMHgwMiwweDJjLDB4MDQsMHg5YiwweDgwLDB4MmEsMHg2MCwweDhhLDB4OWMsMHgwMiwweGFjLDB4MDAsMHhiOSB9LAotICAxNiwgMHhlMTYwLCAwLCB7MHg4MSwweDJlLDB4NDAsMHgwYiwweDk4LDB4MDIsMHhhMywweDAwLDB4OGEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDgwLDB4MDQsMHhmMCB9LAotICAxNiwgMHhlMTcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUxLDB4MDAsMHhmYiwweDA0LDB4M2UsMHhjMCB9LAotICAxNiwgMHhlMTgwLCAwLCB7MHgwZSwweGI0LDB4MDMsMHhlYywweDBhLDB4ZGIsMHgwMiwweDJlLDB4ZDEsMHgwZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHg4MiB9LAotICAxNiwgMHhlMTkwLCAwLCB7MHgzMiwweDI4LDB4MWUsMHgwYywweDAzLDB4NjgsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHhiMCwweDQzLDB4ZWQsMHgwMCB9LAotICAxNiwgMHhlMWEwLCAwLCB7MHhlYSwweDAwLDB4M2UsMHg0MCwweDBmLDB4ODAsMHgwMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWIwLCAwLCB7MHhjMCwweDAxLDB4YjgsMHgxOCwweGZmLDB4MDIsMHgxZiwweGMwLDB4MGMsMHhlMiwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDMsMHgyZiB9LAotICAxNiwgMHhlMWMwLCAwLCB7MHhhMSwweDBmLDB4NzAsMHgwMywweGZjLDB4MDQsMHhhYiwweDA0LDB4MzcsMHg0MiwweDJkLDB4ZDAsMHgwMiwweDdjLDB4MDAsMHhmYyB9LAotICAxNiwgMHhlMWQwLCAwLCB7MHgwMCwweDNmLDB4ODAsMHgwZiwweGMwLDB4MDMsMHhiMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDMsMHg3OCB9LAotICAxNiwgMHhlMWUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE5LDB4MDAsMHhkYiwweDAwLDB4M2MsMHhjMCB9LAotICAxNiwgMHhlMWYwLCAwLCB7MHgyZSwweDk0LDB4MDEsMHg2YywweDExLDB4Y2IsMHgwMCwweGI4LDB4YzAsMHgwYywweGIwLDB4MDMsMHg2YywweDAwLDB4ZWIsMHgwMSB9LAotICAxNiwgMHhlMjAwLCAwLCB7MHgzMiwweDEwLDB4MDcsMHg5MiwweDAzLDB4YTgsMHgwMCwweGY4LDB4MDAsMHgzZSwweDBjLDB4MDcsMHhhMiwweDAzLDB4YWQsMHgwMCB9LAotICAxNiwgMHhlMjEwLCAwLCB7MHhkOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjIwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwOCwweGJmLDB4MDAsMHgyZiwweGMwLDB4ODgsMHg4MCwweDAyLDB4M2MsMHgwOCwweGVmLDB4MDMsMHgyMiB9LAotICAxNiwgMHhlMjMwLCAwLCB7MHgwMCwweDBkLDB4ZjUsMHgwMCwweDNjLDB4MDAsMHg4YiwweDgyLDB4MjIsMHg2MCwweDAzLDB4OWMsMHgwMiwweDJjLDB4MTAsMHhiOSB9LAotICAxNiwgMHhlMjQwLCAwLCB7MHhiMCwweDIyLDB4ZjAsMHgwYiwweDkwLDB4MDIsMHgyMCwweDAwLDB4YmIsMHgwMCwweDIyLDB4ZTIsMHgwZCwweGIwLDB4MDIsMHhmMiB9LAotICAxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQwLDB4MDAsMHhiMywweDAyLDB4MmMsMHhjMCB9LAotICAxNiwgMHhlMjYwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHg2YywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOSwweDM0LDB4MDQsMHhlYywweDAwLDB4YTgsMHgwMCB9LAotICAxNiwgMHhlMjcwLCAwLCB7MHgyMiwweGYwLDB4MGIsMHgwMCwweDAyLDB4ODgsMHgwMCwweGIzLDB4MDAsMHgyOCwweGUwLDB4MGIsMHgxNCwweDAyLDB4YTAsMHgwMCB9LAotICAxNiwgMHhlMjgwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwNCwweGI3LDB4ODAsMHgyZCwweGU4LDB4MDgsMHg3OCwweDAyLDB4MGUsMHhjOCwweGE3LDB4OTAsMHgyMSB9LAotICAxNiwgMHhlMmEwLCAwLCB7MHhhOCwweDE5LDB4MzgsMHg1MiwweDllLDB4YzEsMHg4NywweDgwLDB4MjEsMHhlMiwweDBiLDB4ZDksMHg4MiwweDllLDB4MDAsMHhiNiB9LAotICAxNiwgMHhlMmIwLCAwLCB7MHhhMCwweDJkLDB4MjAsMHgwYiwweDY4LDB4MDIsMHgxZSwweDAwLDB4YjQsMHhjMSwweDIxLDB4MjAsMHgwOSwweDQ4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhlMmMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDBjLDB4ODAsMHhiMywweDEwLDB4M2UsMHhlMCB9LAotICAxNiwgMHhlMmQwLCAwLCB7MHgwZSwweDNhLDB4MDcsMHg0ZSwweDAwLDB4Y2IsMHg5MCwweDNhLDB4NjEsMHgwZCwweDM4LDB4MDMsMHhjZSwweGQxLDB4ZTEsMHg5OCB9LAotICAxNiwgMHhlMmUwLCAwLCB7MHgzMCwweGE0LDB4OGYsMHgxMCwweDAzLDB4ODgsMHgwMCwweGJhLDB4YTEsMHgzYywweDg0LDB4MDcsMHgwMCwweDAzLDB4ODIsMHhkNCB9LAotICAxNiwgMHhlMmYwLCAwLCB7MHhkMSwweDAwLDB4NzIsMHg4MCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzAwLCAwLCB7MHg0MCwweDE1LDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMiwweDIzLDB4ZWMsMHhiMCwweGZmLDB4MDAsMHgzMiB9LAotICAxNiwgMHhlMzEwLCAwLCB7MHgwNCwweDA2LDB4YjQsMHgyMywweDdjLDB4MTAsMHhiZiwweDAwLDB4M2UsMHg4NCwweDBmLDB4YjAsMHgwMywweDdjLDB4NDAsMHhmZiB9LAotICAxNiwgMHhlMzIwLCAwLCB7MHgwMCwweDMzLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwMCwweGJmLDB4NDAsMHgwZiwweGM4LDB4MDMsMHhkMCB9LAotICAxNiwgMHhlMzMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGU0LDB4MDAsMHhjYiwweDMzLDB4M2UsMHhjOCB9LAotICAxNiwgMHhlMzQwLCAwLCB7MHg0YywweGIwLDB4MDMsMHhhYywweDkwLDB4ZGIsMHhhMCwweDM2LDB4YzAsMHgwZSwweGJhLDB4NDMsMHg2YywweDAwLDB4YzksMHgwMCB9LAotICAxNiwgMHhlMzUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHgwMCwweDBmLDB4MjgsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxOCwweDQzLDB4NjAsMHgwMCB9LAotICAxNiwgMHhlMzYwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHg0MCwweDRmLDB4MDgsMHgwYiwweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzcwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgxMCwweDA3LDB4MDgsMHgyYywweGNhLDB4MDgsMHgyMCwweDAyLDB4MWMsMHgyMCwweDg3LDB4MjgsMHgzZiB9LAotICAxNiwgMHhlMzgwLCAwLCB7MHg4MCwweDhhLDB4ZjAsMHgwMiwweDFkLDB4NDAsMHg4NywweDA0LDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhiNiB9LAotICAxNiwgMHhlMzkwLCAwLCB7MHgwMCwweDJkLDB4ODAsMHgwYiwweDYwLDB4MDMsMHgxYywweDAwLDB4YjUsMHgwMCwweDJkLDB4ODAsMHgwYiwweDcwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhlM2EwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NywweGEwLDB4MmQsMHhlNCB9LAotICAxNiwgMHhlM2IwLCAwLCB7MHgwYSwweDU4LDB4MDIsMHgxZSwweDAxLDB4ODMsMHg5MCwweDIxLDB4NzAsMHgwYiwweDc5LDB4MDIsMHg5ZSwweDAxLDB4ODUsMHhjMCB9LAotICAxNiwgMHhlM2MwLCAwLCB7MHgyZCwweGUwLDB4NGIsMHg1OCwweDEyLDB4MWEsMHgwMCwweGI2LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDAyLDB4NTIsMHgwMCB9LAotICAxNiwgMHhlM2QwLCAwLCB7MHhiNCwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2UwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4ODgsMHgzNiwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHg2YyB9LAotICAxNiwgMHhlM2YwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgwYSwweGFjLDB4MDAsMHg5YiwweGUwLDB4NmMsMHhjOCwweDBiLDB4MzIsMHgwMiwweDBjLDB4MDEsMHhiMyB9LAotICAxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDEwLDB4YjMsMHg0MCwweDJjLDB4YzAsMHgwYiwweDNjLDB4ODIsMHgxMiB9LAotICAxNiwgMHhlNDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDIsMHhjYSwweDAwLDB4M2UsMHg4MCB9LAotICAxNiwgMHhlNDIwLCAwLCB7MHgwZSwweGU0LDB4OGIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4OTUsMHgwZiwweGEwLDB4MDcsMHhhOCwweDAyLDB4Y2UsMHg0MCB9LAotICAxNiwgMHhlNDMwLCAwLCB7MHgzZiwweGIwLDB4MGYsMHhlNCwweDgyLDB4MjgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDIzLDB4NjgsMHgwMCB9LAotICAxNiwgMHhlNDQwLCAwLCB7MHhmYSwweDQwLDB4M2UsMHg4MSwweDRmLDB4YTQsMHhlMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHg4MCwweGYwLDB4MDAsMHgzYywweDAwLDB4MmYsMHgwMCwweDAyLDB4NjAsMHgwMCwweGU4LDB4MDAsMHgzYyB9LAotICAxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDBlLDB4ODAsMHgwMSwweDIwLDB4MDAsMHhlOCwweDA0LDB4NWUsMHgwNCwweDBmLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmYyB9LAotICAxNiwgMHhlNDcwLCAwLCB7MHgwMSwweDNmLDB4MTAsMHgwZiwweGM0LDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwOSwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhlNDgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhhOSwweDIwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhlNDkwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHg0NCwweDA0LDB4ZDksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHhlNCwweDA0LDB4YzksMHgwMCB9LAotICAxNiwgMHhlNGEwLCAwLCB7MHgzMiwweDQwLDB4OGYsMHg5MCwweDBiLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MGUsMHg5OCwweDAzLDB4ZTYsMHgwMCB9LAotICAxNiwgMHhlNGIwLCAwLCB7MHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MTgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgyZSB9LAotICAxNiwgMHhlNGQwLCAwLCB7MHg0MCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHhkOSwweDA0LDB4MjIsMHg0MCwweDBiLDB4MWMsMHgwYiwweDY0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhlNGUwLCAwLCB7MHg5NCwweDJjLDB4NTAsMHgwOCwweDljLDB4MDIsMHhlNCwweDE0LDB4YjksMHg5MCwweDBlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjYsMHg0MCB9LAotICAxNiwgMHhlNTAwLCAwLCB7MHg0YSwweDkwLDB4MDIsMHg2NCwweDAwLDB4OTksMHgwNCwweDJlLDB4NDAsMHgwOCwweDk4LDB4ODIsMHhlNCwweDAwLDB4ODksMHgwMCB9LAotICAxNiwgMHhlNTEwLCAwLCB7MHg2YSwweDQwLDB4MGEsMHg5MiwweDgyLDB4ZTQsMHgwMCwweGJkLDB4MDEsMHgyZiwweDUwLDB4MTIsMHhkNiwweDAyLDB4ZjQsMHg0MCB9LAotICAxNiwgMHhlNTIwLCAwLCB7MHhiZCwweDAwLDB4MGYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MjIsMHgyYyB9LAotICAxNiwgMHhlNTQwLCAwLCB7MHg0OCwweGE4LDB4MTIsMHgwNiwweGM0LDB4OTAsMHg5MSwweDIwLDB4MjgsMHg1MCwweDBiLDB4OTAsMHgwMiwweDQ1LDB4MDAsMHhiNSB9LAotICAxNiwgMHhlNTUwLCAwLCB7MHg0MCwweDZkLDB4NDAsMHgwOCwweDUwLDB4MTIsMHhkNCwweDA0LDB4YjUsMHgwMiwweDJkLDB4NDAsMHgwYiwweDUwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhlNTYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjOCwweDAwLDB4MzYsMHgxNCB9LAotICAxNiwgMHhlNTcwLCAwLCB7MHgwYSwweDg1LDB4MDMsMHg0MSwweDQwLDB4ZDgsMHg1MCwweDJlLDB4MTQsMHgwYywweDg1LDB4MDMsMHhjMSwweDQwLDB4YzgsMHg1MCB9LAotICAxNiwgMHhlNTgwLCAwLCB7MHhiYSwweDAwLDB4MGUsMHg4MCwweDIzLDB4ZTAsMHgwMCwweDc4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwNCB9LAotICAxNiwgMHhlNTkwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YzAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWEwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0MCwweGQ5LDB4MTAsMHgzZSwweDQ0LDB4MDcsMHhmMSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiB9LAotICAxNiwgMHhlNWIwLCAwLCB7MHg0NCwweGFmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4MzcsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhlNWMwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweGEwLDB4ZjksMHgyOCwweDNlLDB4NGEsMHgwZiwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHhlNWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ZDQsMHhmZCwweGEyLDB4M2EsMHg3MCB9LAotICAxNiwgMHhlNWUwLCAwLCB7MHg4YywweDllLDB4MDMsMHgyNiwweDgwLDB4YzksMHhhMCwweDMyLDB4NjgsMHgwYywweGRiLDB4NDMsMHgyNywweDgwLDB4OWQsMHhhMiB9LAotICAxNiwgMHhlNWYwLCAwLCB7MHhiNywweDQwLDB4MGYsMHg1MCwweDAzLDB4NjUsMHgwMCwweGZkLDB4MDAsMHgzZiwweGMxLDB4MDcsMHhkMCwweDAzLDB4ZjUsMHgwNCB9LAotICAxNiwgMHhlNjAwLCAwLCB7MHhmZCwweDQwLDB4MmYsMHhjMCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg4OCwweGI4LDB4NTAsMHgyMiwweDM4LDB4MDgsMHg4ZSwweDAwLDB4YTIsMHhhMCwweDg4LDB4ZTgsMHgyMiB9LAotICAxNiwgMHhlNjIwLCAwLCB7MHgzOCwweDQ4LDB4ODgsMHgwMywweDYyLDB4MTAsMHhhOCwweGU4LDB4M2MsMHgwMCwweDBiLDB4ODAsMHgwMywweDYyLDB4ODAsMHhiOCB9LAotICAxNiwgMHhlNjMwLCAwLCB7MHgwMSwweDJlLDB4ODAsMHgwYiwweDgwLDB4MjEsMHhhMiwweDAwLDB4YjAsMHg4NCwweDJlLDB4MmEsMHgyOCwweDhhLDB4ODIsMHhjZSB9LAotICAxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4NDAsMHhiMSwweDAwLDB4MjgsMHg1OCB9LAotICAxNiwgMHhlNjUwLCAwLCB7MHg4MCwweDEzLDB4NDAsMHgwNSwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTIsMHgyOCwweDE2LDB4MDIsMHg4NSwweDgwLDB4OWIsMHhjMiB9LAotICAxNiwgMHhlNjYwLCAwLCB7MHg2NCwweDQxLDB4OGIsMHg5OCwweDAyLDB4MDQsMHgwMCwweGIxLDB4MDksMHgyYywweDQwLDB4MWIsMHgxMCwweDIwLDB4YzQsMHgwMCB9LAotICAxNiwgMHhlNjcwLCAwLCB7MHhiMSwweDAwLDB4MmMsMHg0MCwweDQ4LDB4MTAsMHgwMiwweGMyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjgwLCAwLCB7MHgxOCwweDE1LDB4YTUsMHg4NCwweGI5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDAxLDB4MDAsMHgyMCB9LAotICAxNiwgMHhlNjkwLCAwLCB7MHg1MCwweDA4LDB4OTAsMHg0MiwweDY0LDB4MDAsMHhhOSwweDEwLDB4YWUsMHg1OCwweDAzLDB4OTgsMHgwMiwweDY0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhlNmEwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDYsMHhhNCwweDEwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwOCwweDkwLDB4MDIsMHhjNiB9LAotICAxNiwgMHhlNmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU3LDB4MDAsMHhmOSwweDAwLDB4MmEsMHg0MCB9LAotICAxNiwgMHhlNmMwLCAwLCB7MHgyYywweDk0LDB4MGIsMHgyNCwweDAyLDB4YzksMHgwMCwweGIyLDB4NDQsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0LDB4ZDksMHg4MCB9LAotICAxNiwgMHhlNmQwLCAwLCB7MHhiNiwweDQxLDB4OGYsMHgxOCwweDAzLDB4MjQsMHgwMCwweGY5LDB4NjAsMHgzZSwweDQwLDB4MGYsMHg5NiwweDAzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHhlNmUwLCAwLCB7MHhmOSwweDgwLDB4M2UsMHg0MiwweDhjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmYwLCAwLCB7MHgyOCwweDAxLDB4YTYsMHgwMCwweGYxLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxYywweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhlNzAwLCAwLCB7MHg0MCwweDhmLDB4OTAsMHgyMywweGM0LDB4MTAsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBmLDB4OTAsMHgwYiwweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhlNzEwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwNywweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhlNzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhmOCwweDAwLDB4YmUsMHgwMCB9LAotICAxNiwgMHhlNzMwLCAwLCB7MHgwZSwweDg0LDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDAwLDB4ODMsMHgyMCwweDAwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHhlNzQwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzNiwweDEwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwOCB9LAotICAxNiwgMHhlNzUwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMiwweDgwLDB4NDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGFhLDB4MDAsMHgyYSB9LAotICAxNiwgMHhlNzcwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMywweDY4LDB4MDAsMHg4MiwweDAwLDB4MmYsMHg4MCwweDA4LDB4ZTYsMHgwMiwweDI4LDB4MDQsMHhiZSB9LAotICAxNiwgMHhlNzgwLCAwLCB7MHg0MCwweDIzLDB4ODAsMHgwYiwweGU4LDB4MDIsMHhlYSwweDAwLDB4YmUsMHgwMSwweDIyLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhjYSB9LAotICAxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDEsMHg5MywweDAxLDB4MjAsMHhjMSB9LAotICAxNiwgMHhlN2EwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDIwLDB4YzAsMHg4OCwweDM4LDB4NDIsMHgwYywweDAwLDB4YTMsMHgwMCB9LAotICAxNiwgMHhlN2IwLCAwLCB7MHgyNCwweGMwLDB4MGEsMHgzZSwweDQyLDB4OGMsMHgwMCwweGIyLDB4NGMsMHgyNCwweGUwLDB4NGIsMHgzOCwweDAyLDB4YzQsMHg0MSB9LAotICAxNiwgMHhlN2MwLCAwLCB7MHhiMywweDAwLDB4MjIsMHhjMCwweDBiLDB4MTAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2QwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyMCwweGM5LDB4NDgsMHg3MCwweDAyLDB4ZGMsMHg0MCwweGE3LDB4MTQsMHgyYyB9LAotICAxNiwgMHhlN2UwLCAwLCB7MHhjOCwweDI4LDB4MzAsMHg4MiwweDVjLDB4YzEsMHg4NSwweDAwLDB4MmQsMHhlMCwweDJhLDB4ZjAsMHgxMiwweDFjLDB4ODAsMHhiNyB9LAotICAxNiwgMHhlN2YwLCAwLCB7MHhhMCwweDIxLDB4ODIsMHgwYiwweDcwLDB4ODIsMHhkNCwweDExLDB4YjYsMHg4MCwweDIxLDB4NDAsMHg0YiwweDUwLDB4MDIsMHhlOCB9LAotICAxNiwgMHhlODAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4ODAsMHhkNSwweDgwLDB4MjksMHhlYSB9LAotICAxNiwgMHhlODEwLCAwLCB7MHg0ZSwweDNhLDB4MDcsMHgwZSwweDgwLDB4ZTMsMHhiMCwweDMxLDB4ZmMsMHgwYywweDQ4LDB4MDMsMHgwZSwweDQxLDB4ZTcsMHg4MCB9LAotICAxNiwgMHhlODIwLCAwLCB7MHgzZCwweGUwLDB4MGUsMHg3OCwweDAzLDB4OWUsMHg4MCwweGY0LDB4YzQsMHgzNSwweGUwLDB4MGYsMHg3OCwweDI3LDB4ZGUsMHgwMCB9LAotICAxNiwgMHhlODMwLCAwLCB7MHhmNSwweDgwLDB4YjEsMHhlMCwweDBmLDB4NTgsMHgwMywweGVhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweDMxLDB4MDQsMHgzYSwweGM0LDB4MGYsMHhiNSwweDkzLDB4NmQsMHgwOCwweGZiLDB4NDAsMHgzYSB9LAotICAxNiwgMHhlODUwLCAwLCB7MHhjOCwweDYzLDB4ODAsMHgyMywweGVjLDB4OTgsMHhlOSwweDAwLDB4M2UsMHhjMCwweDBkLDB4YjAsMHg0MywweGVjLDB4MDAsMHhmMyB9LAotICAxNiwgMHhlODYwLCAwLCB7MHg4MCwweDNlLDB4NDAsMHg0ZiwweGEwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHg2OCwweDNlLDB4NDAsMHg4ZiwweDk4LDB4MDMsMHhjMiB9LAotICAxNiwgMHhlODcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NjAsMHhlYiwweDkwLDB4M2UsMHhlNCB9LAotICAxNiwgMHhlODgwLCAwLCB7MHgwZiwweGI4LDB4MDAsMHgzZiwweDQwLDB4Y2IsMHg4MCwweDdmLDB4ZTAsMHgwZSwweGZiLDB4MDMsMHgyZSwweDQwLDB4Y2IsMHg4MCB9LAotICAxNiwgMHhlODkwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHg3OSwweDQzLDB4MmUsMHg2MCwweGNhLDB4ODEsMHgzMywweDY0LDB4OGYsMHhkOSwweDAzLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhlOGEwLCAwLCB7MHhmZiwweDgxLDB4MzMsMHhlMCwweDBmLDB4ZDksMHg4YiwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGIwLCAwLCB7MHhhOCwweDAxLDB4OWMsMHgwMCwweDg3LDB4ODEsMHgxOSwweGU0LDB4MGIsMHhmYSwweDEzLDB4NWUsMHg4MCwweDg3LDB4YjIsMHgyZCB9LAotICAxNiwgMHhlOGMwLCAwLCB7MHhlYywweDBkLDB4NzksMHgwMSwweDllLDB4MDAsMHhkNSwweDkwLDB4MmQsMHhmOCwweDBiLDB4NzgsMHgwMywweDdlLDB4MDgsMHhhYiB9LAotICAxNiwgMHhlOGQwLCAwLCB7MHg5MSwweDI5LDB4ODUsMHgwYiwweDUxLDB4MDIsMHhkYywweDQ4LDB4YjYsMHg0MCwweDIxLDB4NDAsMHgwYiwweDUwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhlOGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDhjLDB4MTQsMHhiNSwweDIwLDB4NmQsMHhjOCB9LAotICAxNiwgMHhlOGYwLCAwLCB7MHgwYiwweDcyLDB4MDIsMHg1YywweDgwLDB4ODcsMHgyMCwweDY5LDB4YzAsMHg4OCwweDUzLDB4MDIsMHhjYywweDgxLDB4OTcsMHg1MCB9LAotICAxNiwgMHhlOTAwLCAwLCB7MHgyZCwweGM4LDB4MGIsMHhmNywweDBhLDB4ZGMsMHhjMCwweDg0LDB4MDEsMHgyMSwweDQ0LDB4MWIsMHg3MCwweDIyLDB4ZGMsMHgwMCB9LAotICAxNiwgMHhlOTEwLCAwLCB7MHhiNSwweDAwLDB4MjEsMHhjNCwweDBiLDB4NTAsMHg4NiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTIwLCAwLCB7MHgyMCwweDE0LDB4Y2YsMHgzMCwweDkxLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzNCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYyB9LAotICAxNiwgMHhlOTMwLCAwLCB7MHhmMiwweDBiLDB4MTAsMHgyMiwweDBjLDB4MDAsMHg5MSwweDAwLDB4MmMsMHhjOCwweDBiLDB4MTgsMHgwYSwweGNkLDB4MDEsMHhhMyB9LAotICAxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDI4LDB4NjAsMHgwYiwweDIxLDB4MDIsMHhjZSwweDIwLDB4YjgsMHg0MCwweGEwLDB4NTQsMHgwYiwweDE4LDB4MDIsMHgwOCB9LAotICAxNiwgMHhlOTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJkLDB4MDAsMHhmOSwweDAwLDB4MmYsMHhjMCB9LAotICAxNiwgMHhlOTYwLCAwLCB7MHgwZiwweGY0LDB4MDIsMHg3YywweDEyLDB4Y2YsMHgwMywweDNmLDB4YzIsMHgwZSwweGIwLDB4MDMsMHhmYywweDA0LDB4OWIsMHgwMiB9LAotICAxNiwgMHhlOTcwLCAwLCB7MHgyZSwweGYyLDB4MGYsMHhhNCwweDBiLDB4ZGMsMHgwMCwweGNlLDB4MDAsMHhiMCwweGM4LDB4OGYsMHhhNCwweDAzLDB4ZWYsMHgwMCB9LAotICAxNiwgMHhlOTgwLCAwLCB7MHhmOCwweDgwLDB4MzIsMHhmNSwweDFmLDB4ZGQsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHg0MCwweGU5LDB4MDAsMHgzYSwweGMwLDB4MGYsMHhiMSwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MDAsMHgzZSB9LAotICAxNiwgMHhlOWEwLCAwLCB7MHhjMCwweDBkLDB4YjQsMHgwOSwweGVjLDB4MTgsMHhmOSwweDEwLDB4M2UsMHgxMCwweDRmLDB4YjEsMHgwYSwweDZjLDB4ODAsMHhmOSB9LAotICAxNiwgMHhlOWIwLCAwLCB7MHg4OSwweDM2LDB4ODIsMHgwYiwweGE2LDB4MDMsMHhlYywweDUwLDB4ZjksMHg1MCwweDNlLDB4YzAsMHgxZiwweDkwLDB4MDMsMHg2MCB9LAotICAxNiwgMHhlOWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZCwweGEwLDB4M2QsMHhjMCB9LAotICAxNiwgMHhlOWQwLCAwLCB7MHgwYywweDcwLDB4ODMsMHgyYywweDAwLDB4ZWYsMHgwMiwweDM1LDB4YzAsMHgwZCwweGUyLDB4MDMsMHhmYywweDA0LDB4ZmYsMHgwMiB9LAotICAxNiwgMHhlOWUwLCAwLCB7MHgyZCwweGUwLDB4OGUsMHhmMCwweDAzLDB4M2MsMHgxMCwweGRjLDB4MDAsMHgzZiwweDgwLDB4MGMsMHhkOCwweDAzLDB4ZmMsMHgwMCB9LAotICAxNiwgMHhlOWYwLCAwLCB7MHhkZSwweDE4LDB4MzMsMHhmMCwweDRmLDB4ZDAsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTAwLCAwLCB7MHg4MSwweDAwLDB4NmMsMHgwMCwweGI5LDB4MDAsMHgyZSwweGMwLDB4NGMsMHhiMCwweDAzLDB4NmMsMHgwMCwweDhiLDB4MDIsMHgzNiB9LAotICAxNiwgMHhlYTEwLCAwLCB7MHhjMCwweDBkLDB4YWMsMHgxMiwweGVjLDB4MDAsMHg3OSwweDAwLDB4MmUsMHgzMCwweDBkLDB4M2QsMHg0MiwweGFjLDB4MDAsMHg4OSB9LAotICAxNiwgMHhlYTIwLCAwLCB7MHg4OCwweDFhLDB4MTAsMHgwZCwweDg2LDB4MDIsMHhlZSwweDA0LDB4YmIsMHg0MCwweDIyLDB4ZTAsMHgwYiwweDkwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhlYTMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDEsMHhiOSwweDAwLDB4MmUsMHhjMCB9LAotICAxNiwgMHhlYTQwLCAwLCB7MHgwOCwweGIwLDB4NDIsMHhhYywweDAwLDB4MGIsMHgwNSwweDI2LDB4YzAsMHgwOSwweDk0LDB4MjAsMHhlYywweDAwLDB4YjksMHg4MCB9LAotICAxNiwgMHhlYTUwLCAwLCB7MHg2ZSwweGM0LDB4ODgsMHhiMCwweDgyLDB4MmMsMHgwMCwweDliLDB4ODIsMHgyZSwweDQyLDB4MDgsMHg4MSwweDAyLDB4ZTQsMHg4MCB9LAotICAxNiwgMHhlYTYwLCAwLCB7MHhiOCwweDAwLDB4MjIsMHhjMSwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgxMCwweGIxLDB4MjUsMHgyYywweGNhLDB4MDgsMHgzNCwweDQ2LDB4Y2MsMHgwOCwweDgzLDB4MDAsMHgyNCB9LAotICAxNiwgMHhlYTgwLCAwLCB7MHhjMiwweDBiLDB4MDIsMHg1MiwweGNjLDB4ODEsMHg4MywweDAwLDB4MmMsMHgwMCwweDE5LDB4YjIsMHg0MiwweGFjLDB4ODAsMHg4MSB9LAotICAxNiwgMHhlYTkwLCAwLCB7MHgwOCwweDI4LDB4ODAsMHgwOSwweDAwLDB4MDIsMHhjNCwweDQwLDB4YjEsMHgwMCwweDIwLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhlYWEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDZjLDB4MDAsMHhiOSwweDAwLDB4M2YsMHhkMCB9LAotICAxNiwgMHhlYWIwLCAwLCB7MHgwOCwweGY2LDB4MDcsMHhiYywweGMyLDB4YWYsMHgzMCwweDc1LDB4ZGMsMHgwZCwweDE2LDB4MDIsMHhmYywweGUwLDB4YjksMHg1MCB9LAotICAxNiwgMHhlYWMwLCAwLCB7MHgzZSwweGNjLDB4MGMsMHhiMCwweDIzLDB4MmMsMHgxMCwweGQ5LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg5MCwweDAzLDB4ZWMsMHgwMCB9LAotICAxNiwgMHhlYWQwLCAwLCB7MHhkZSwweDAxLDB4MzIsMHhjMCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWUwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZkLDB4MTAsMHgzZiwweGNhLDB4MmUsMHhmNiwweDAzLDB4NmQsMHg5NCwweDlmLDB4MzAsMHgzYSB9LAotICAxNiwgMHhlYWYwLCAwLCB7MHhjOSwweDBjLDB4ODMsMHg5MywweGZjLDB4ODAsMHhmZiwweDExLDB4N2UsMHgxOSwweDBiLDB4YjEsMHgwMywweGZjLDB4NDAsMHhmZCB9LAotICAxNiwgMHhlYjAwLCAwLCB7MHgwOCwweDNiLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmYywweDgwLDB4NzcsMHgwMCwweGJmLDB4YzAsMHgwZiwweDUwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhlYjEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGZjLDB4MDAsMHhmNCwweDk0LDB4MzcsMHhjOCB9LAotICAxNiwgMHhlYjIwLCAwLCB7MHgwZCwweDY5LDB4NjMsMHg3YywweDEwLDB4ZmYsMHg2MiwweDM3LDB4YzAsMHgwZCwweGI0LDB4MDMsMHg3YywweDYwLDB4ZDQsMHg4MCB9LAotICAxNiwgMHhlYjMwLCAwLCB7MHgzZiwweDQwLDB4MGYsMHg0OCwweDIzLDB4MzIsMHgwMCwweGNlLDB4MDAsMHhiZiwweDQwLDB4OGYsMHhkMSwweDAzLDB4MzAsMHhlMCB9LAotICAxNiwgMHhlYjQwLCAwLCB7MHhmZiwweDMwLDB4M2IsMHg2MCwweDBmLDB4ZDgsMHgwMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjUwLCAwLCB7MHg4MCwweDEwLDB4ZWQsMHgyMCwweGI4LDB4MjQsMHgyMywweGY0LDB4NDksMHhhMiwweDAyLDB4M2YsMHg0MCwweDhmLDB4NTEsMHgyMyB9LAotICAxNiwgMHhlYjYwLCAwLCB7MHhkYSwweDA4LDB4ZjYsMHgxMiwweDNkLDB4ODAsMHg5YiwweDgwLDB4MmUsMHg0OSwweDRiLDB4ODAsMHgwMywweDQwLDB4MDAsMHhkOSB9LAotICAxNiwgMHhlYjcwLCAwLCB7MHgwMSwweDIyLDB4NzQsMHgwYiwweGQ1LDB4MDIsMHgyMSwweDAwLDB4YmYsMHg0MiwweDJlLDB4NDksMHgwYiwweDljLDB4MDIsMHhlMCB9LAotICAxNiwgMHhlYjgwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNkLDB4ODAsMHhiOCwweDIwLDB4MjgsMHhjMSB9LAotICAxNiwgMHhlYjkwLCAwLCB7MHgxYiwweGEwLDB4MDIsMHg0YywweDAwLDB4OTMsMHgyMCwweDJjLDB4ZDgsMHgwYiwweDM0LDB4MDIsMHhjYywweDAwLDB4OTAsMHgwMSB9LAotICAxNiwgMHhlYmEwLCAwLCB7MHgyYywweGM2LDB4MWEsMHhhMCwweDAyLDB4NjgsMHgwOCwweDgzLDB4MDAsMHhhNCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmIwLCAwLCB7MHhiMywweDEwLDB4MjgsMHg0MiwweDBiLDB4MTQsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmMwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweGI4LDB4NjAsMHgyYSwweGMwLDB4MWIsMHhhMCwweDhlLDB4YWMsMHgwMSwweDliLDB4MDUsMHgyNiB9LAotICAxNiwgMHhlYmQwLCAwLCB7MHhjMCwweDAzLDB4YjAsMHg0MiwweDZjLDB4MDAsMHg5YiwweDgwLDB4MmUsMHhjMCwweDAzLDB4YTAsMHgwNiwweDY5LDB4MDAsMHg5OSB9LAotICAxNiwgMHhlYmUwLCAwLCB7MHg4MCwweGFhLDB4YzAsMHgwYiwweDkwLDB4MDIsMHg2MywweDAwLDB4M2IsMHgwMCwweDJlLDB4NTgsMHg0YiwweDkwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhlYmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGVjLDB4MDQsMHhmOCwweDgwLDB4YmEsMHhjMCB9LAotICAxNiwgMHhlYzAwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg2YywweDEwLDB4ZGIsMHgwMywweDM2LDB4YzAsMHg4ZiwweGIwLDB4MDMsMHhlYywweDA4LDB4ZDgsMHg4MCB9LAotICAxNiwgMHhlYzEwLCAwLCB7MHg3ZSwweGUwLDB4MDYsMHg4OCwweDAzLDB4NDEsMHgwOCwweGNiLDB4YTAsMHgzZSwweDY0LDB4MGYsMHg5MCwweDBiLDB4MmEsMHgwMCB9LAotICAxNiwgMHhlYzIwLCAwLCB7MHg3YiwweDAwLDB4M2EsMHgwMSwweDBmLDB4OTAsMHgwMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZjLDB4ODQsMHgzMiwweGMwLDB4MGMsMHhmOSwweDAzLDB4NWMsMHgxMCwweGVmLDB4MDAsMHgzYiB9LAotICAxNiwgMHhlYzQwLCAwLCB7MHhjMCwweDBjLDB4NzAsMHgwMywweDljLDB4MDAsMHhlYywweDAxLDB4M2YsMHhlNCwweDRmLDB4ZDEsMHgwMywweGYxLDB4MDAsMHhmMyB9LAotICAxNiwgMHhlYzUwLCAwLCB7MHgwNSwweDMzLDB4NjAsMHgwZiwweGQwLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNmLDB4MjEsMHgwZiwweGQwLDB4MDMsMHhmOCB9LAotICAxNiwgMHhlYzYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhjOCwweDQwLDB4M2EsMHhjNiB9LAotICAxNiwgMHhlYzcwLCAwLCB7MHgwZCwweGI0LDB4MDMsMHg2YywweDAwLDB4ZjMsMHgwMCwweDM0LDB4YzAsMHgwZSwweGIwLDB4MDMsMHg2YywweDAwLDB4ZTksMHgxMCB9LAotICAxNiwgMHhlYzgwLCAwLCB7MHgzYSwweGMwLDB4MGYsMHg4NCwweDAzLDB4MmMsMHg2MCwweGNiLDB4MDAsMHgzMiwweDYwLDB4MGMsMHg1MCwweDAzLDB4NjEsMHgwMCB9LAotICAxNiwgMHhlYzkwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg5MCwweDBlLDB4OTAsMHhhMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2EwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMiwweDg4LDB4MDEsMHgwMSwweGYwLDB4MjAsMHhiMCwweDAxLDB4M2UsMHgwMCwweDNmLDB4MDAsMHgzMyB9LAotICAxNiwgMHhlY2IwLCAwLCB7MHhjMCwweDBiLDB4ZjAsMHgzMiwweDNjLDB4MDgsMHg4OSwweDgwLDB4MjIsMHhjMCwweDAxLDB4MTUsMHgxMiwweGFjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhlY2MwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHg0OCwweGRiLDB4MDIsMHgyZiwweDQwLDB4OGYsMHgwMCwweDJlLDB4MDEsMHgwOCwweGQ0LDB4ODAsMHgzMiB9LAotICAxNiwgMHhlY2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHgwOCwweDAwLDB4MDgsMHhmMCB9LAotICAxNiwgMHhlY2UwLCAwLCB7MHgwOCwweDAwLDB4MTIsMHg0YywweDAwLDB4MzMsMHgwMSwweDI0LDB4YzAsMHg0YSwweDMwLDB4MDIsMHg0YywweDAwLDB4YTAsMHgyMCB9LAotICAxNiwgMHhlY2YwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4NDYsMHgwNCwweDgzLDB4MDQsMHgyMCwweGMwLDB4MjksMHgxOCwweDAyLDB4MDQsMHg0MCB9LAotICAxNiwgMHhlZDAwLCAwLCB7MHhiMywweDAwLDB4MmMsMHg0MCwweDBhLDB4MWMsMHg0MiwweGIxLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMSwweDhkLDB4ODAsMHgyMSwweGUwLDB4MTgsMHhjOCwweDAyLDB4MWUsMHgwMCwweGIzLDB4YTAsMHgyMSB9LAotICAxNiwgMHhlZDIwLCAwLCB7MHhlMCwweDFiLDB4MzgsMHgwMiwweDBlLDB4MDEsMHhhNywweDgwLDB4MjEsMHhlMCwweDA5LDB4ZDgsMHg0MCwweGQ2LDB4NDAsMHg4NyB9LAotICAxNiwgMHhlZDMwLCAwLCB7MHg4MCwweDAxLDB4ZTAsMHgwOSwweDU5LDB4MDIsMHgxNiwweDAwLDB4OTcsMHg4NCwweDJkLDB4NjAsMHgwOCwweDU4LDB4NDAsMHgwMCB9LAotICAxNiwgMHhlZDQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDJjLDB4NDAsMHhjMCwweDAwLDB4MzgsMHhjNCB9LAotICAxNiwgMHhlZDUwLCAwLCB7MHgwYywweDMwLDB4MjcsMHg0YywweDIwLDB4ZjMsMHgwMSwweDM0LDB4YzEsMHgwZSwweDNhLDB4MDMsMHg0YywweGM0LDB4ZTAsMHgwMCB9LAotICAxNiwgMHhlZDYwLCAwLCB7MHgxOCwweGM4LDB4MGYsMHgzNCwweDAzLDB4NDQsMHg0MCwweGMzLDB4MDAsMHgzMCwweGMwLDB4MGQsMHg5MCwweDAzLDB4MmUsMHgwMCB9LAotICAxNiwgMHhlZDcwLCAwLCB7MHhmMywweDAwLDB4M2UsMHg0MCwweDBlLDB4MTAsMHgwMSwweDlhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDgwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGY5LDB4MDAsMHgwZSwweGQ0LDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgyMCwweGZiLDB4MjAsMHgzZiB9LAotICAxNiwgMHhlZDkwLCAwLCB7MHhjNCwweDBmLDB4ZjEsMHgwMywweGVjLDB4NjAsMHhkYiwweDEwLDB4M2YsMHhjMCwweDRmLDB4ZjAsMHgwMywweGE0LDB4NDYsMHhmYiB9LAotICAxNiwgMHhlZGEwLCAwLCB7MHgwMCwweGJkLDB4YzAsMHgwZSwweGQwLDB4MGIsMHhiNCwweDAwLDB4ZWYsMHg0OCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhlZGIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmOCwweDAwLDB4MzIsMHhkNCB9LAotICAxNiwgMHhlZGMwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhZCwweDAwLDB4ZWIsMHgwOCwweDIyLDB4ZDIsMHgwYywweGI2LDB4MDMsMHg2YywweDAwLDB4ZjIsMHg4MCB9LAotICAxNiwgMHhlZGQwLCAwLCB7MHgzNiwweGMwLDB4MGUsMHhhMCwweDAzLDB4MjgsMHgxMCwweGNiLDB4MDAsMHhiMiwweGMwLDB4MGYsMHhkNiwweDAzLDB4MjgsMHgxMCB9LAotICAxNiwgMHhlZGUwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHg0MCwweDRmLDB4OTksMHgxMywweDJiLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGYwLCAwLCB7MHg0OCwweDExLDB4OWQsMHgxMCwweGI0LDB4MDEsMHgyMSwweGMxLDB4OGIsMHhjMCwweDAyLDB4MWMsMHhhMCwweGJmLDB4MDQsMHgyNyB9LAotICAxNiwgMHhlZTAwLCAwLCB7MHhjOCwweDA4LDB4NzUsMHgwMiwweDFjLDB4YzAsMHhiNiwweDAwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHg0MiwweDE4LDB4MTAsMHg4ZiB9LAotICAxNiwgMHhlZTEwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwYiwweDU0LDB4YTIsMHgxYywweDAwLDB4YjcsMHgwNCwweDJkLDB4NDEsMHgwYiwweDUyLDB4MDIsMHgxMiB9LAotICAxNiwgMHhlZTIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4ODAsMHhiNiwweDg4LDB4YTUsMHhlMCB9LAotICAxNiwgMHhlZTMwLCAwLCB7MHgwYiwweDc4LDB4MTIsMHg5ZSwweDgxLDB4YTcsMHg5MCwweDI1LDB4ZTQsMHg4OCwweDc4LDB4MDIsMHgxZSwweDgwLDB4YmYsMHg4MCB9LAotICAxNiwgMHhlZTQwLCAwLCB7MHgyNCwweDYwLDB4MGIsMHg2OCwweDAyLDB4MWUsMHgwMCwweDg3LDB4ODQsMHg2MSwweGUwLDB4MGEsMHgxYSwweDBhLDB4MWEsMHgwMCB9LAotICAxNiwgMHhlZTUwLCAwLCB7MHhiNywweGEwLDB4MmQsMHhlMCwweDBiLDB4ZGEsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGJhLDB4YzAsMHhhNCwweGMwLDB4MGIsMHgzNCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNCB9LAotICAxNiwgMHhlZTcwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwZSwweDJjLDB4MDAsMHhiMywweDk4LDB4MjAsMHg2MCwweDA5LDB4MzMsMHgwMiwweDJjLDB4MDAsMHhhMyB9LAotICAxNiwgMHhlZTgwLCAwLCB7MHhjOCwweDIwLDB4YzAsMHgwYiwweDEwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDJjLDB4ZjAsMHgwYiwweDEwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhlZTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweDgwLDB4MzYsMHg4MSB9LAotICAxNiwgMHhlZWEwLCAwLCB7MHgwYiwweGUwLDB4MDMsMHhhOCwweDAwLDB4ZWEsMHgwMCwweGIyLDB4ODAsMHgwOCwweGEwLDB4MDMsMHg2OCwweDAwLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhlZWIwLCAwLCB7MHgzNiwweGEwLDB4MWYsMHhlOCwweDEzLDB4M2IsMHg4MiwweGNlLDB4ZTAsMHgyMiwweDgwLDB4OGUsMHhhMCwweDAzLDB4MzgsMHgwMCB9LAotICAxNiwgMHhlZWMwLCAwLCB7MHhiYSwweDAwLDB4M2YsMHhhMiwweDBmLDB4YTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWQwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MjAsMHgzYSwweDEwLDB4MDcsMHg4MCwweDAzLDB4YzEsMHgwMCwweGY4LDB4MDAsMHgzOCB9LAotICAxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDJmLDB4ODAsMHgwMywweGEwLDB4MDEsMHhmOCwweDQyLDB4M2UsMHgwNSwweDBlLDB4ODAsMHgwYiwweGUwLDB4ODAsMHhkOCB9LAotICAxNiwgMHhlZWYwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MGIsMHhkMiB9LAotICAxNiwgMHhlZjAwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDAwLDB4M2EsMHg1MCB9LAotICAxNiwgMHhlZjEwLCAwLCB7MHg4ZiwweDkwLDB4ODMsMHhhNCwweDAyLDB4ZDEsMHgwMCwweGIyLDB4NDAsMHg0YywweDkwLDB4MjMsMHgyNCwweDA4LDB4YzksMHgwMSB9LAotICAxNiwgMHhlZjIwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHgxNCwweDBhLDB4MjUsMHgyMCB9LAotICAxNiwgMHhlZjMwLCAwLCB7MHhlOSwweDAwLDB4M2UsMHg0MiwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwYSwweDg5LDB4MDAsMHgyMiwweDcwLDB4MGIsMHg5MCwweDEyLDB4MjUsMHg4MCwweGM5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhlZjUwLCAwLCB7MHg0MCwweDBhLDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweDIwLDB4MmMsMHg0MCwweDBhLDB4OTAsMHgwYSwweDI0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhlZjYwLCAwLCB7MHhjMSwweDMyLDB4NDAsMHgwYiwweDk4LDB4MDIsMHgwNiwweDAwLDB4ODksMHg5MCwweDJlLDB4NDAsMHgwYiwweDk0LDB4MTIsMHhlMCB9LAotICAxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDA0LDB4MDAsMHg4OSwweDAwLDB4NmEsMHg0MiB9LAotICAxNiwgMHhlZjgwLCAwLCB7MHgwYSwweDEwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweGEyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwLDB4MDksMHgwMCB9LAotICAxNiwgMHhlZjkwLCAwLCB7MHgyZSwweDQwLDB4NTgsMHgxMCwweDAyLDB4MjQsMHgwMCwweDg5LDB4ODAsMHhhYSwweDYwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwNCB9LAotICAxNiwgMHhlZmEwLCAwLCB7MHhhOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTQsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MDAsMHg2MCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4MDQsMHg4MSwweDgxLDB4MjAsMHg2MCB9LAotICAxNiwgMHhlZmMwLCAwLCB7MHg0OCwweDBhLDB4MTIsMHgwMiwweDQ0LDB4ODgsMHg4MSwweDAwLDB4MGUsMHg1OSwweDBhLDB4MTQsMHgwMiwweDA1LDB4MDAsMHg4MSB9LAotICAxNiwgMHhlZmQwLCAwLCB7MHhjMCwweDI4LDB4NTAsMHg0OSwweDMwLDB4MDIsMHg4YywweDg0LDB4MDEsMHg2MCwweDJjLDB4NTAsMHgwYiwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhlZmUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjMCwweDU0LDB4MmEsMHgwMCB9LAotICAxNiwgMHhlZmYwLCAwLCB7MHgwZSwweDg1LDB4MDMsMHhhMCwweDAwLDB4YzgsMHg1MCwweDMyLDB4MTUsMHgxZSwweDA1LDB4MjIsMHgyMSwweDQyLDB4YzgsMHgwMCB9LAotICAxNiwgMHhmMDAwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4MDAsMHgwNCwweGM4LDB4MDAsMHgzYSwweDAwLDB4NGYsMHg4NSwweDAzLDB4YTEsMHg0MCB9LAotICAxNiwgMHhmMDEwLCAwLCB7MHg2OCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDIwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHg0MCwweGZkLDB4MDMsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0OCwweGU5LDB4MTAsMHgzZSB9LAotICAxNiwgMHhmMDMwLCAwLCB7MHg0NSwweDBmLDB4OTEsMHgxMywweGU0LDB4NDAsMHhmZCwweDAwLDB4M2YsMHg0NCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDIsMHhmZCB9LAotICAxNiwgMHhmMDQwLCAwLCB7MHg0MCwweDMzLDB4NTAsMHgwZiwweGQ0LDB4MjMsMHg3NCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweDU0LDB4MDMsMHhlNiB9LAotICAxNiwgMHhmMDUwLCAwLCB7MHgwMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAxLDB4MzMsMHg2YSB9LAotICAxNiwgMHhmMDYwLCAwLCB7MHgwOSwweDkwLDB4MDMsMHhiNiwweDM0LDB4ZjksMHhjOCwweDMyLDB4NjQsMHgwYywweDlhLDB4MDMsMHhlNiwweGEwLDB4ZGQsMHgwMCB9LAotICAxNiwgMHhmMDcwLCAwLCB7MHgzYywweDcwLDB4MGYsMHg5MCwweDAzLDB4YTUsMHgwMCwweDg5LDB4ODAsMHgzMywweDMyLDB4MGYsMHhkOCwweDEzLDB4M2MsMHgwMCB9LAotICAxNiwgMHhmMDgwLCAwLCB7MHhmZCwweDAwLDB4NzAsMHg1MCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDkwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweGI4LDB4YTgsMHgyMiwweDEwLDB4MDgsMHg4OCwweDAyLDB4MjEsMHgwMCwweGI4LDB4YzAsMHgyMCB9LAotICAxNiwgMHhmMGEwLCAwLCB7MHgzMCwweDBkLDB4OGUsMHg4NywweDgzLDB4ODgsMHg4OCwweDAwLDB4MmUsMHgzNCwweDBiLDB4OGEsMHg4MiwweDIyLDB4ODAsMHhkYyB9LAotICAxNiwgMHhmMGIwLCAwLCB7MHhlMCwweDIyLDB4MzgsMHgwYiwweDgwLDB4MDIsMHgyMCwweDAwLDB4ZjgsMHhhOCwweDJhLDB4MjgsMHgwYiwweDgwLDB4MDIsMHgwZSB9LAotICAxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MjAsMHhiMSwweDAwLDB4MjAsMHg0MCB9LAotICAxNiwgMHhmMGQwLCAwLCB7MHgwYSwweDkyLDB4OTIsMHg4NCwweDExLDB4YjEsMHgyNCwweDY4LDB4NTgsMHgwOSwweDExLDB4MDIsMHhjNCwweDIwLDB4OTEsMHgwMSB9LAotICAxNiwgMHhmMGUwLCAwLCB7MHgyYywweDQ4LDB4MWIsMHg1MCwweDAyLDB4NzQsMHg4NCwweDk1LDB4NDgsMHhhYywweDQ4LDB4MGIsMHg5NCwweDAyLDB4MDQsMHgwNCB9LAotICAxNiwgMHhmMGYwLCAwLCB7MHhiMSwweDAyLDB4MjQsMHg0OCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDUsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTAwLCAwLCB7MHgxOCwweDExLDB4YTQsMHgwMCwweGIxLDB4MjAsMHgyMiwweDQwLDB4MGEsMHg5MCwweDA2LDB4MmMsMHgwMSwweGI5LDB4MDAsMHgyYSB9LAotICAxNiwgMHhmMTEwLCAwLCB7MHg0MCwweDA5LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg5YiwweDA4LDB4MmUsMHg0OCwweDBiLDB4MTIsMHgxYSwweDc0LDB4MDAsMHg5NSB9LAotICAxNiwgMHhmMTIwLCAwLCB7MHg0NSwweDJlLDB4NjAsMHgwMywweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiB9LAotICAxNiwgMHhmMTMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDgwLDB4MzAsMHg0MCB9LAotICAxNiwgMHhmMTQwLCAwLCB7MHgwZSwweDE2LDB4MDMsMHhhNCwweDAwLDB4YjksMHgwNCwweDMyLDB4NDAsMHgwZCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ZDksMHg0MCB9LAotICAxNiwgMHhmMTUwLCAwLCB7MHgyZSwweDQwLDB4MWYsMHg5OCwweDAzLDB4ZTUsMHg4MCwweGQ5LDB4MDAsMHhhZSwweDYwLDB4MDcsMHgxMCwweDBiLDB4MjYsMHgwMSB9LAotICAxNiwgMHhmMTYwLCAwLCB7MHhiOSwweDAwLDB4YTYsMHg0MCwweDBmLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTcwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4YWMsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiNCB9LAotICAxNiwgMHhmMTgwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSB9LAotICAxNiwgMHhmMTkwLCAwLCB7MHgwMCwweDMyLDB4MDAsMHgwZiwweDkwLDB4ODMsMHhlNiwweDg1LDB4ZTEsMHgwMCwweDMyLDB4NDQsMHgwZiwweDEwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhmMWIwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHhlMCwweDk0LDB4ZTAsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCB9LAotICAxNiwgMHhmMWMwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDQzLDB4MjAsMHgwOCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg0MCB9LAotICAxNiwgMHhmMWQwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDRjLDB4ODAsMHgyMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWUwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyMywweDgwLDB4MGIsMHhhMCwweDAyLDB4ZmIsMHgwNCwweDZhLDB4MDAsMHgyMiB9LAotICAxNiwgMHhmMWYwLCAwLCB7MHg4MCwweDBhLDB4YTAsMHgwMywweDY4LDB4MGEsMHg4ZSwweDg4LDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMiwweDA4LDB4MDAsMHhiYSB9LAotICAxNiwgMHhmMjAwLCAwLCB7MHgwMCwweGI3LDB4MjIsMHgwMywweGU0LDB4MDIsMHhmYSwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGU4LDB4MDIsMHhjYSB9LAotICAxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4NjAsMHg0MSB9LAotICAxNiwgMHhmMjIwLCAwLCB7MHgwMywweDMwLDB4MDIsMHhjYywweDQxLDB4YTMsMHgwMCwweDA0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAwLDB4YTMsMHg4MCB9LAotICAxNiwgMHhmMjMwLCAwLCB7MHgyYywweGMwLDB4MDksMHgzOCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHhhMCwweGMwLDB4MGIsMHgzNCwweDAyLDB4Y2MsMHg4MCB9LAotICAxNiwgMHhmMjQwLCAwLCB7MHhhMSwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzgsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjUwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg0MCwweGI3LDB4MDAsMHg2MSwweDAwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgwMCwweGEzLDB4MDAsMHgyNSB9LAotICAxNiwgMHhmMjYwLCAwLCB7MHhjOCwweDE5LDB4MzgsMHgwMiwweDVjLDB4ODAsMHhhNywweDAwLDB4MGYsMHhlOCwweDA5LDB4NjQsMHgyMiwweDEwLDB4MDAsMHhiMyB9LAotICAxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDI1LDB4YzgsMHgwYiwweDYwLDB4MDIsMHhmMiwweDAwLDB4ODUsMHgwMSwweDIzLDB4ZTgsMHgwOCwweDcwLDB4ODIsMHhlOCB9LAotICAxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MjAsMHhmZiwweDgwLDB4YTEsMHhhMCB9LAotICAxNiwgMHhmMjkwLCAwLCB7MHgwZiwweDdhLDB4NDIsMHhkYSwweDAwLDB4ZTcsMHhlOCwweDM1LDB4ZjAsMHgyZiwweDdiLDB4NjIsMHgxZSwweDgyLDB4ZTYsMHg4MCB9LAotICAxNiwgMHhmMmEwLCAwLCB7MHgxZCwweGUwLDB4MGQsMHhmOCwweDBiLDB4MWUsMHgwMCwweGY3LDB4ODAsMHgzMSwweGYwLDB4MGYsMHg3OCwweDAzLDB4ZGUsMHgwYyB9LAotICAxNiwgMHhmMmIwLCAwLCB7MHhlZiwweDgwLDB4MzEsMHhmOCwweDJjLDB4NzgsMHgwMywweGVhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmMwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHg4NCwweGZiLDB4NjgsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZiLDB4MDAsMHhmYSB9LAotICAxNiwgMHhmMmQwLCAwLCB7MHhkOCwweDBlLDB4YjUsMHgwMywweGVkLDB4MDAsMHhkYiwweDAwLDB4M2EsMHhjMCwweDhlLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmYiB9LAotICAxNiwgMHhmMmUwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwYiwweGIwLDB4NDMsMHhjNCwweDA0LDB4ZWYsMHgwMiwweGJmLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhmMmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4NDIsMHhjNywweDM4LDB4MzMsMHg2NCB9LAotICAxNiwgMHhmMzAwLCAwLCB7MHgwZSwweDdjLDB4MDMsMHg1ZSwweDAwLDB4ZGYsMHhhMCwweDM3LDB4ZjAsMHgwZCwweGY4LDB4MDMsMHhmZiwweDIwLDB4Y2YsMHg4MSB9LAotICAxNiwgMHhmMzEwLCAwLCB7MHgzMywweGUyLDB4MGMsMHhkOCwweDAzLDB4YmUsMHgwMCwweDdmLDB4YzAsMHgzMywweGUwLDB4MGMsMHhmOSwweDAzLDB4N2UsMHgwMCB9LAotICAxNiwgMHhmMzIwLCAwLCB7MHhmZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDg3LDB4YTAsMHgyMSwweDE0LDB4MDgsMHg3MSwweDAyLDB4MTQsMHgxMCwweGQ3LDB4MjAsMHgzNSB9LAotICAxNiwgMHhmMzQwLCAwLCB7MHhjMCwweDBjLDB4NzAsMHgwMywweGJjLDB4MDAsMHg4NSwweDA4LDB4MmIsMHhjMCwweDRkLDB4NDYsMHgwMiwweGQxLDB4MDAsMHhiNyB9LAotICAxNiwgMHhmMzUwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHgwOCwweDgwLDB4ZjUsMHgyMCwweDNkLDB4Y2EsMHgwZiwweDU0LDB4MDMsMHhlYSB9LAotICAxNiwgMHhmMzYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MTEsMHg4ZiwweDAxLDB4MjAsMHg4NCB9LAotICAxNiwgMHhmMzcwLCAwLCB7MHgxYSwweGYwLDB4MDIsMHgxOCwweDAwLDB4YTcsMHgzNCwweDY1LDB4YzAsMHgwOSwweDcxLDB4MDIsMHhkYywweDAwLDB4OGUsMHgwMCB9LAotICAxNiwgMHhmMzgwLCAwLCB7MHgyOSwweGMwLDB4MDgsMHg1MCwweDA2LDB4OWMsMHgwMCwweGJmLDB4ODgsMHgyZCwweGM0LDB4MGEsMHg2MCwweDI2LDB4NTgsMHgyNCB9LAotICAxNiwgMHhmMzkwLCAwLCB7MHg5NywweDAwLDB4NmQsMHhjMCwweDliLDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2EwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweDhiLDB4NDAsMHgyMCwweDAwLDB4MTgsMHgzMCwweDAyLDB4MDAsMHgwMCwweGJiLDB4MDIsMHgyNCB9LAotICAxNiwgMHhmM2IwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHgyMCwweGNjLDB4MDAsMHg4MSwweGMwLDB4MjgsMHhjMCwweDBiLDB4MDQsMHg4MiwweGUwLDB4MTAsMHhiYiB9LAotICAxNiwgMHhmM2MwLCAwLCB7MHhhMCwweDJjLDB4ZTAsMHgwYSwweDIwLDB4MDYsMHgwMCwweDAwLDB4YjMsMHgwMCwweDI4LDB4YzAsMHgwYSwweDEwLDB4MDIsMHg4OCB9LAotICAxNiwgMHhmM2QwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjZiwweDEwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhmM2UwLCAwLCB7MHgwZSwweGYwLDB4MGIsMHgyNCwweDAwLDB4ZWYsMHgwMCwweDM3LDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmYywweDA2LDB4YzEsMHg1MCB9LAotICAxNiwgMHhmM2YwLCAwLCB7MHgzYiwweGMwLDB4MGMsMHhiNCwweDAzLDB4YWMsMHgwMCwweGY4LDB4YzAsMHhiZSwweGM4LDB4MmUsMHhiMCwweDAzLDB4NmUsMHgwMSB9LAotICAxNiwgMHhmNDAwLCAwLCB7MHhmYiwweDAwLDB4MmQsMHhjMCwweDRiLDB4OTAsMHgwMiwweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwNCwweGZiLDB4MDAsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4YWQsMHgwMCwweDliLDB4MDAsMHgzZSB9LAotICAxNiwgMHhmNDIwLCAwLCB7MHhjMCwweDBmLDB4MzAsMHgwMywweGFjLDB4MDAsMHhmOCwweDAwLDB4MmUsMHhjMCwweDA1LDB4YjQsMHgwMywweGVkLDB4MDAsMHhmOCB9LAotICAxNiwgMHhmNDMwLCAwLCB7MHg0MCwweDMyLDB4YzAsMHgwOSwweDAwLDB4MDMsMHhlMCwweDkxLDB4ZTMsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MTEsMHhlMCB9LAotICAxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4MDAsMHhlZiwweDAwLDB4MzMsMHgyMCB9LAotICAxNiwgMHhmNDUwLCAwLCB7MHg0ZiwweGYwLDB4MDMsMHhiNCwweDAwLDB4ZWYsMHgwMywweDNhLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZGMsMHgwMCB9LAotICAxNiwgMHhmNDYwLCAwLCB7MHgzMSwweGMwLDB4OGQsMHhmOCwweDAzLDB4ZmUsMHgwNCwweGNmLDB4MDAsMHgzMiwweGM4LDB4MGMsMHhmMCwweDBiLDB4MWMsMHgwMCB9LAotICAxNiwgMHhmNDcwLCAwLCB7MHhjZiwweDkzLDB4MzMsMHhjMCwweDhjLDB4NDAsMHgwMiwweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDgwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDA0LDB4MGIsMHgzMCwweDAyLDB4MGUsMHgwMCwweGFiLDB4MDAsMHgyYSB9LAotICAxNiwgMHhmNDkwLCAwLCB7MHhjMCwweDA5LDB4YjAsMHgwMywweDZjLDB4MDgsMHhhOCwweGMwLDB4MzYsMHhjMCwweDA4LDB4YmMsMHgwMiwweGVmLDB4MDIsMHhhYiB9LAotICAxNiwgMHhmNGEwLCAwLCB7MHhkMCwweDIwLDB4ZTAsMHgwOCwweGI4LDB4MjIsMHgyNiwweDEwLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgyMCwweDljLDB4MDIsMHgyMCB9LAotICAxNiwgMHhmNGIwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MjYsMHgwMCB9LAotICAxNiwgMHhmNGMwLCAwLCB7MHgwYSwweGIwLDB4MDIsMHhhMiwweDA4LDB4YWIsMHgwMCwweDZhLDB4YzAsMHgwYiwweGIwLDB4MGEsMHgwYywweDAwLDB4OGIsMHg4MCB9LAotICAxNiwgMHhmNGQwLCAwLCB7MHgyMiwweGMwLDB4MDksMHhiMSwweDAyLDB4ZWMsMHg0MCwweDg4LDB4MDgsMHgyMiwweGMwLDB4MDgsMHhiOCwweDAyLDB4MjYsMHgwMCB9LAotICAxNiwgMHhmNGUwLCAwLCB7MHg4YiwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTgsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGYwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDAwLDB4MGIsMHhiMCwweDAyLDB4MDAsMHgwMSwweDgzLDB4MDAsMHgyMCB9LAotICAxNiwgMHhmNTAwLCAwLCB7MHhjMCwweDA5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHgwMCwweDA0LDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwNiwweDRjLDB4MDAsMHg4MCB9LAotICAxNiwgMHhmNTEwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDQxLDB4ODMsMHgwMCwweGEyLDB4YzAsMHgwOCwweDEwLDB4MGEsMHg4MiB9LAotICAxNiwgMHhmNTIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhlZiwweDA4LDB4MjYsMHgwMCB9LAotICAxNiwgMHhmNTMwLCAwLCB7MHgwZSwweGYwLDB4MDIsMHhhMCwweDAwLDB4ZTcsMHgwMCwweDNiLDB4YzAsMHgwZiwweGY1LDB4NDMsMHgzYywweDAyLDB4ZGEsMHgwMCB9LAotICAxNiwgMHhmNTQwLCAwLCB7MHgzMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHhiMiwweGMwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgxMCB9LAotICAxNiwgMHhmNTUwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4ODAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTYwLCAwLCB7MHhhMCwweDBkLDB4ZmMsMHgwMCwweGZiLDB4MDAsMHgzYiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZmLDB4MDIsMHgzZiB9LAotICAxNiwgMHhmNTcwLCAwLCB7MHhjMCwweDBkLDB4ZjIsMHgwMywweGJjLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNyB9LAotICAxNiwgMHhmNTgwLCAwLCB7MHgwMCwweDMzLDB4YzAsMHgwZiwweDYwLDB4MDMsMHhmMCwweDg4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg0ZiwweGQwLDB4MDMsMHg2OCB9LAotICAxNiwgMHhmNTkwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4NDAsMHhmYywweDMxLDB4M2IsMHgwOCB9LAotICAxNiwgMHhmNWEwLCAwLCB7MHg0ZiwweGY5LDB4NDMsMHhlZiwweDAwLDB4ZGYsMHgzMCwweDMyLDB4MjEsMHgwZiwweDk0LDB4MDcsMHg3ZCwweDgwLDB4ZWYsMHgzOCB9LAotICAxNiwgMHhmNWIwLCAwLCB7MHgzMiwweDA5LDB4MWMsMHgzOCwweDAzLDB4ZjIsMHgyMSwweGZkLDB4MDAsMHgzMywweGM0LDB4MGMsMHhmMCwweDAyLDB4ZmMsMHgwMCB9LAotICAxNiwgMHhmNWMwLCAwLCB7MHhkZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWQwLCAwLCB7MHg4MCwweDEwLDB4ZWMsMHg4OCwweDhiLDB4NjAsMHgyMiwweGU1LDB4MGUsMHhiMiwweDIyLDB4ZWMsMHg4MCwweGFmLDB4MTEsMHgyYSB9LAotICAxNiwgMHhmNWUwLCAwLCB7MHgyMCwweDBiLDB4YjEsMHgxMywweGFjLDB4NDgsMHg4YiwweDQ1LDB4MzQsMHhjYywweDQ4LDB4YjAsMHgwMiwweDZiLDB4MDAsMHhiYSB9LAotICAxNiwgMHhmNWYwLCAwLCB7MHg4MiwweDM2LDB4MDAsMHgwOCwweDg4LDB4MjIsMHhjMCwweDA0LDB4ODgsMHgwMCwweGEyLDB4MDgsMHg4YiwweDg4LDB4NjIsMHgyMCB9LAotICAxNiwgMHhmNjAwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhhMSwweDMwLDB4MjgsMHgwMCB9LAotICAxNiwgMHhmNjEwLCAwLCB7MHgwYiwweDMyLDB4MDIsMHhjYywweDAwLDB4YTMsMHgyMiwweDJjLDB4MDAsMHg4YiwweDEyLDB4MDYsMHhjOCwweDgwLDB4YTMsMHgwMCB9LAotICAxNiwgMHhmNjIwLCAwLCB7MHgyMCwweDAyLDB4Y2EsMHgzMCwweDA2LDB4YzQsMHgwMSwweGIxLDB4MDAsMHg2OCwweDgwLDB4MDksMHgyMCwweDAyLDB4ODgsMHgwMCB9LAotICAxNiwgMHhmNjMwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMiwweDBiLDB4MDAsMHgwYSwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweDhiLDB4NjEsMHg2MiwweGMwLDB4MGIsMHhiMiwweDAyLDB4ZTgsMHgwMCwweGFiLDB4MDIsMHgyYSB9LAotICAxNiwgMHhmNjUwLCAwLCB7MHg2MSwweDFiLDB4OTAsMHgwMiwweGE4LDB4MDAsMHhhYiwweDAwLDB4MjAsMHhjMCwweDBhLDB4YjAsMHgwMiwweDZjLDB4MDQsMHhiYSB9LAotICAxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHg4OSwweDkwLDB4MDIsMHhlNiwweDA4LDB4OTgsMHgwMCwweDIyLDB4MDAsMHgwYiwweGIwLDB4MDIsMHhiMCB9LAotICAxNiwgMHhmNjcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVlLDB4MDAsMHhmOCwweDAxLDB4M2EsMHgwNCB9LAotICAxNiwgMHhmNjgwLCAwLCB7MHgwZiwweGFjLDB4MDMsMHhlYywweDkwLDB4ZmIsMHgwMiwweDNlLDB4ZTAsMHgwYiwweDkwLDB4NDIsMHg2NywweDgwLDB4YTgsMHhjNCB9LAotICAxNiwgMHhmNjkwLCAwLCB7MHgyMiwweDQ4LDB4MjIsMHg4NiwweDAzLDB4ZTEsMHg0MCwweGI4LDB4MDIsMHgyYSwweDQwLDB4MjksMHg5MCwweDAzLDB4ZWMsMHgwMiB9LAotICAxNiwgMHhmNmEwLCAwLCB7MHhjOSwweDQ4LDB4MzIsMHg0MCwweDBmLDB4YjAsMHgxMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmIwLCAwLCB7MHhlMCwweDAxLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgxZiwweGEyLDB4MGUsMHhmOCwweDgyLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiB9LAotICAxNiwgMHhmNmMwLCAwLCB7MHhjMCwweDBmLDB4ZmEsMHg0MywweDk2LDB4NDQsMHhkNCwweDkxLDB4M2YsMHg0MCwweDBkLDB4YzAsMHgwMywweGZhLDB4MDAsMHhmZiB9LAotICAxNiwgMHhmNmQwLCAwLCB7MHgwOCwweDI1LDB4ODAsMHgwZSwweGUwLDB4MDMsMHhkMCwweDAwLDB4ZWEsMHgwMCwweDNmLDB4ODAsMHgwZiwweGMwLDB4MDMsMHg3OCB9LAotICAxNiwgMHhmNmUwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlMSwweDIwLDB4M2EsMHg1MCB9LAotICAxNiwgMHhmNmYwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyYywweDAwLDB4ZWIsMHgwOCwweDc2LDB4MDUsMHgwZSwweGIwLDB4MjcsMHhlMCwweDEwLDB4ZWEsMHg0MCB9LAotICAxNiwgMHhmNzAwLCAwLCB7MHhiMiwweGMwLDB4MGMsMHhhNCwweDQzLDB4MjUsMHgwMCwweGY4LDB4MDAsMHgzMiwweDA4LDB4MGYsMHg4MCwweDQzLDB4ZTgsMHgwMCB9LAotICAxNiwgMHhmNzEwLCAwLCB7MHhkMSwweDA4LDB4ZWUsMHg0MCwweDBmLDB4MDAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzIwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGQwLDB4MGIsMHg5MCwweDgyLDB4MmMsMHgwMCwweDg3LDB4NDAsMHgyMiB9LAotICAxNiwgMHhmNzMwLCAwLCB7MHg2MCwweDhiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDUwLDB4MjIsMHhkMCwweDBjLDB4YTAsMHgwMywweDZjLDB4MDAsMHhiMyB9LAotICAxNiwgMHhmNzQwLCAwLCB7MHhjOCwweDNlLDB4ZDAsMHgwYiwweGI4LDB4MDIsMHgyNSwweDA4LDB4OGEsMHgyMCwweDJhLDB4ODAsMHg4YiwweGI4LDB4ODIsMHhmMiB9LAotICAxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY0LDB4MDAsMHhhMCwweGMwLDB4MjQsMHhjMCB9LAotICAxNiwgMHhmNzYwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHgyYywweDAwLDB4ODMsMHgwMywweDIwLDB4MDAsMHgxMCwweDMwLDB4MjIsMHhjYywweDAwLDB4ODMsMHgwMCB9LAotICAxNiwgMHhmNzcwLCAwLCB7MHg2MCwweDA4LDB4MGEsMHgzMCwweDgyLDB4NGMsMHgwMCwweGIxLDB4YzAsMHgwMCwweGQxLDB4MGIsMHgzOCwweDAyLDB4ODQsMHg4MCB9LAotICAxNiwgMHhmNzgwLCAwLCB7MHg4MiwweDAxLDB4MjAsMHg4MCwweDAzLDB4MzgsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzkwLCAwLCB7MHgyMCwweDAxLDB4MTYsMHg0MCwweDg0LDB4OTgsMHgyNSwweGUwLDB4MGIsMHg3YSwweDAyLDB4ZmEsMHg0OCwweGEzLDB4MjAsMHg2MSB9LAotICAxNiwgMHhmN2EwLCAwLCB7MHgyNCwweDBiLDB4NzksMHgwMCwweGNlLDB4YzAsMHg5MywweGE0LDB4MjEsMHhhNiwweDBiLDB4NzgsMHgxMiwweGRlLDB4ODAsMHhiNiB9LAotICAxNiwgMHhmN2IwLCAwLCB7MHg4MCwweDJkLDB4MjQsMHgwYiwweDRiLDB4MDIsMHgxYSwweDQwLDB4ODUsMHg4MSwweDIxLDB4NjAsMHgwYiwweDQ4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhlMiwweGEwLDB4YjQsMHhmZSB9LAotICAxNiwgMHhmN2QwLCAwLCB7MHg0YiwweGI4LDB4MGIsMHgwZSwweDAwLDB4YTMsMHhiMCwweDI0LDB4YTgsMHgwZSwweDFiLDB4MDIsMHhjZSwweGMxLDB4YzMsMHhjMCB9LAotICAxNiwgMHhmN2UwLCAwLCB7MHgzMCwweDY4LDB4MmUsMHgzYSwweDQ3LDB4NGUsMHg4MCwweGYxLDB4ODAsMHgzMCwweDgwLDB4MGYsMHgyMiwweDgzLDB4ODAsMHgwMCB9LAotICAxNiwgMHhmN2YwLCAwLCB7MHhjMiwweDEwLDB4MzgsMHg4MCwweDRmLDB4MDAsMHgwNywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODAwLCAwLCB7MHg0MCwweDBkLDB4YmMsMHgxMCwweGZlLDB4MDQsMHgzYiwweGMxLDB4MDcsMHhmMCwweDAzLDB4MWMsMHhjOCwweGRmLDB4MmEsMHgwYiB9LAotICAxNiwgMHhmODEwLCAwLCB7MHhjNCwweDhmLDB4ZDEsMHg0MywweGY4LDB4MDIsMHg3ZiwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjEsMHgwZiwweDNjLDB4MDAsMHhmMiB9LAotICAxNiwgMHhmODIwLCAwLCB7MHgxMSwweDNmLDB4NDEsMHgxZiwweDUyLDB4MDMsMHhiYywweDBlLDB4ZWQsMHgxNCwweDNmLDB4NDAsMHgwZiwweGY4LDB4MDMsMHhkMCB9LAotICAxNiwgMHhmODMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzIsMHg4MCB9LAotICAxNiwgMHhmODQwLCAwLCB7MHgwZSwweGJlLDB4NGIsMHg2ZiwweDAwLDB4Y2IsMHg4MiwweDdhLDB4YzAsMHgyYywweGIwLDB4MDMsMHgyYywweDAwLDB4YzksMHgwMCB9LAotICAxNiwgMHhmODUwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHgxMCwweDAzLDB4MmMsMHgwOCwweGMwLDB4MDAsMHgyNiwweDQwLDB4NmMsMHg5MCwweDEzLDB4MjQsMHgxMiB9LAotICAxNiwgMHhmODYwLCAwLCB7MHhjOCwweDAxLDB4M2UsMHgwMCwweDBmLDB4YjgsMHgwYiwweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODcwLCAwLCB7MHg0OCwweDExLDB4OTQsMHgwMCwweDhkLDB4MDAsMHgyMSwweDgwLDB4MGIsMHg3MCwweDgyLDB4M2MsMHgyMCwweDgzLDB4MzIsMHgyOSB9LAotICAxNiwgMHhmODgwLCAwLCB7MHhjMCwweDA4LDB4ZjAsMHgyMCwweDE0LDB4MDAsMHg4MCwweDAwLDB4MjMsMHgwMCwweDA4LDB4NTAsMHgwNiwweDljLDB4MDQsMHhkNyB9LAotICAxNiwgMHhmODkwLCAwLCB7MHgwMiwweDI4LDB4ODAsMHgwOCwweDYwLDB4MDIsMHgwOCwweDEwLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDQwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhmOGEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhhNywweDgwLDB4MjEsMHhlMCB9LAotICAxNiwgMHhmOGIwLCAwLCB7MHgwYiwweDVjLDB4MTIsMHgxZSwweDA0LDB4ODcsMHg4MiwweDBkLDB4YTAsMHgwOSwweDc4LDB4MTYsMHgwMiwweDAwLDB4YjQsMHg4MCB9LAotICAxNiwgMHhmOGMwLCAwLCB7MHgyNSwweGUwLDB4MGIsMHg3OCwweDAyLDB4OWUsMHgwMCwweDg0LDB4ODAsMHgyMSwweDIyLDB4MDgsMHgwOCwweDAyLDB4MTIsMHgwMSB9LAotICAxNiwgMHhmOGQwLCAwLCB7MHg4NCwweGMwLDB4MmQsMHgyMCwweDBiLDB4MDgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGUwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4NDIsMHhhMCwweGQ4LDB4MGIsMHgzNCwweDgyLDB4MGMsMHgwMCwweGEzLDB4MDIsMHgyMCB9LAotICAxNiwgMHhmOGYwLCAwLCB7MHhlMCwweDA4LDB4YjAsMHgwMiwweDBjLDB4ODgsMHhiMywweDIxLDB4MjQsMHhkOCwweDBiLDB4M2UsMHgwMiwweDhjLDB4MDAsMHg5MyB9LAotICAxNiwgMHhmOTAwLCAwLCB7MHgwOCwweDI4LDB4YzAsMHgwOCwweDM4LDB4MDIsMHgyYywweDA1LDB4OGIsMHgwMSwweDJjLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhmOTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhlZSwweDAwLDB4MzMsMHg5MCB9LAotICAxNiwgMHhmOTIwLCAwLCB7MHgwZiwweGEwLDB4MGIsMHg2OCwweDAwLDB4Y2EsMHgwMSwweDdmLDB4YTgsMHgwYywweGFhLDB4MDMsMHgzYSwweDEyLDB4ZmUsMHhlMiB9LAotICAxNiwgMHhmOTMwLCAwLCB7MHgzNywweGIwLDB4MGYsMHhlZSwweDAyLDB4MTgsMHgwMCwweGNhLDB4NDAsMHgzNiwweGEwLDB4MDgsMHhhMCwweDhiLDB4MjgsMHgwMCB9LAotICAxNiwgMHhmOTQwLCAwLCB7MHhjYSwweDgxLDB4MmUsMHhhMCwweDBmLDB4ZTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDgsMHgzZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4YTIsMHgwMiwweGQ4LDB4NDAsMHgzZSB9LAotICAxNiwgMHhmOTYwLCAwLCB7MHgwOCwweDBmLDB4ODAsMHgxMywweGUwLDB4NDAsMHg0OCwweDQwLDB4YjgsMHgwNCwweDA4LDB4ODQsMHgwMywweDYxLDB4MDAsMHhmYyB9LAotICAxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDNmLDB4MDAsMHg0ZiwweGMwLDB4MDMsMHhmMSwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDQsMHgwZiwweGMwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhmOSwweDAwLDB4MzAsMHg1MCB9LAotICAxNiwgMHhmOTkwLCAwLCB7MHg0YywweGI5LDB4MDMsMHg2YywweDE4LDB4ZjksMHgwMCwweDM2LDB4NDAsMHgwZSwweDljLDB4MjMsMHhhNCwweDAyLDB4NDEsMHgwMCB9LAotICAxNiwgMHhmOWEwLCAwLCB7MHhiMiwweDQ0LDB4MGUsMHg5YSwweDAzLDB4YTYsMHg4MCwweGM5LDB4MDAsMHgzYSwweDYwLDB4MGEsMHg5MCwweDAzLDB4YTQsMHg4MCB9LAotICAxNiwgMHhmOWIwLCAwLCB7MHhjOSwweDAwLDB4MzQsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWMwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDc4LDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgxMCwweGI5LDB4MDAsMHgzYyB9LAotICAxNiwgMHhmOWQwLCAwLCB7MHg2MiwweDE4LDB4OTQsMHg4MiwweGE0LDB4MDAsMHg4OSwweGM4LDB4MjIsMHg3MCwweDQ4LDB4MWUsMHgwMSwweDY3LDB4ODAsMHhkMSB9LAotICAxNiwgMHhmOWUwLCAwLCB7MHgwMCwweGJjLDB4NDIsMHgwOCwweDEwLDB4MDIsMHgyNSwweDIwLDB4ODksMHgwMiwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiMSwweDI4LDB4MjIsMHg0MCB9LAotICAxNiwgMHhmYTAwLCAwLCB7MHgwOCwweGIwLDB4ODIsMHg2NCwweDA0LDB4MzksMHg0MSwweDJlLDB4NDgsMHgwYSwweDkwLDB4MDIsMHgwNCwweDE4LDB4YTksMHgyMCB9LAotICAxNiwgMHhmYTEwLCAwLCB7MHgyMiwweDQyLDB4NGEsMHg5MCwweDAyLDB4MmMsMHgwNCwweDg5LDB4MDQsMHgyYiwweDQ4LDB4MDIsMHhkMCwweDAyLDB4YjQsMHgwYSB9LAotICAxNiwgMHhmYTIwLCAwLCB7MHg4ZCwweDgwLDB4MjMsMHhjMCwweDQ4LDB4ZDAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHhhMCwweDQ4LDB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjQsMHgyYSB9LAotICAxNiwgMHhmYTQwLCAwLCB7MHg0MCwweDA4LDB4MTIsMHg0MiwweDg1LDB4ODAsMHhhMSwweDIwLDB4YTAsMHg0OCwweDA4LDB4OTAsMHgwMiwweDQ0LDB4MDAsMHg5NSB9LAotICAxNiwgMHhmYTUwLCAwLCB7MHgyYywweDJkLDB4NWEsMHgwYSwweDcyLDB4ODIsMHgxNCwweGEwLDB4ODUsMHhhOCwweDIxLDB4NGEsMHgwOCwweDUyLDB4ODIsMHhjMiB9LAotICAxNiwgMHhmYTYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDQxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhmYTcwLCAwLCB7MHg4YywweDA1LDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MSwweDJlLDB4MDAsMHgwYSwweDg1LDB4MDIsMHgyMCwweDAwLDB4ZTgsMHg1MCB9LAotICAxNiwgMHhmYTgwLCAwLCB7MHgzMiwweDE0LDB4MDYsMHg4NSwweDE3LDB4YTAsMHgwMCwweGM4LDB4MjAsMHgzYSwweDA4LDB4MGUsMHg4MiwweDAzLDB4YTAsMHg4MCB9LAotICAxNiwgMHhmYTkwLCAwLCB7MHhjOCwweDIwLDB4MzIsMHgwOCwweDJjLDB4YzIsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWEwLCAwLCB7MHg5OCwweDE5LDB4ZjQsMHg0MCwweGZmLDB4MTAsMHgzZiwweDQ0LDB4MGIsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MTAsMHgzZCB9LAotICAxNiwgMHhmYWIwLCAwLCB7MHg0MCwweDBmLDB4ZDEsMHgwMywweGY0LDB4NTgsMHg5ZCwweDEwLDB4M2YsMHg0NCwweDRmLDB4ZDAsMHgwMywweGQ1LDB4MDAsMHhmOSB9LAotICAxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHg4ZCwweDkwLDB4MDMsMHhlNCwweGI4LDB4ZjksMHgyOCwweGJhLDB4NmEsMHgwZiwweDkwLDB4MDMsMHhlNiB9LAotICAxNiwgMHhmYWQwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGU3LDB4MDAsMHhmZCwweDg4LDB4M2UsMHg2MCB9LAotICAxNiwgMHhmYWUwLCAwLCB7MHg4ZiwweGQwLDB4MDMsMHgyNCwweDAxLDB4ZGQsMHg4MCwweDczLDB4NDAsMHgwZiwweGQ4LDB4MDMsMHhhNiwweDA0LDB4Y2QsMHhhMiB9LAotICAxNiwgMHhmYWYwLCAwLCB7MHgzMywweDc4LDB4MWMsMHhkMCwweDAzLDB4MzQsMHgwMSwweGY1LDB4ODgsMHgzYiwweDY4LDB4MGMsMHhkYSwweDQ3LDB4MzcsMHg4MCB9LAotICAxNiwgMHhmYjAwLCAwLCB7MHhjZCwweDg4LDB4MzIsMHg2MiwweDBjLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjEwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg4MCwweGI4LDB4ODAsMHgyZSwweDE0LDB4MGIsMHgwYSwweDgyLDB4MjIsMHg4MCwweGI4LDB4ZjgsMHhhMiB9LAotICAxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDBiLDB4OGYsMHhhMywweDgzLDB4ZTAsMHg4OCwweGViLDB4MjIsMHhhOSwweDA4LDB4ODgsMHgxMiwweGEwLDB4MDUsMHhiOCB9LAotICAxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDJhLDB4YWEsMHg4OCwweDgwLDB4MTMsMHg2MiwweDgyLDB4ODgsMHg4MCwweDIyLDB4MjgsMHg4OCwweGE0LDB4MDIsMHgwZSB9LAotICAxNiwgMHhmYjQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDBhLDB4MmMsMHg0MSB9LAotICAxNiwgMHhmYjUwLCAwLCB7MHgwYiwweDEwLDB4MDYsMHgwNCwweDIwLDB4YTEsMHgwMCwweDAwLDB4NDAsMHg4YiwweDEwLDB4NDYsMHhjNCwweDAxLDB4OTEsMHgxMSB9LAotICAxNiwgMHhmYjYwLCAwLCB7MHgyNCwweDU4LDB4NjgsMHg5MCwweGMyLDB4MDQsMHgwMCwweGIxLDB4MDAsMHhhOCwweDUwLDB4MDksMHgxNCwweDBhLDB4MDUsMHg5NSB9LAotICAxNiwgMHhmYjcwLCAwLCB7MHhhMSwweDA4LDB4YTAsMHg0MiwweDI4LDB4MTEsMHgwYSwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgxOCwweGI5LDB4MjAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDA2LDB4MjQsMHgwOSwweGI5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhmYjkwLCAwLCB7MHg0MCwweDhiLDB4OTEsMHgwMiwweDg0LDB4MDAsMHg5OSwweDY0LDB4MjQsMHg0MCwweDU4LDB4OTAsMHgwMiwweGE0LDB4MjAsMHhiYiB9LAotICAxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwOSwweGIwLDB4MDIsMHgwNSwweDAxLDB4YTksMHgwMCwweDIyLDB4NDAsMHg4OCwweDkyLDB4MDIsMHgwNiB9LAotICAxNiwgMHhmYmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4MDAsMHhmOSwweDQwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhmYmMwLCAwLCB7MHg0ZiwweDk4LDB4MGIsMHgyNCwweDgwLDB4ZDksMHgwMCwweDIyLDB4NzIsMHgwYiwweDk4LDB4MDMsMHhlNCwweDg0LDB4ZDksMHgwMCB9LAotICAxNiwgMHhmYmQwLCAwLCB7MHhiNiwweDcwLDB4MDgsMHg5OSwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyYSwweDQwLDB4MGQsMHg5NCwweGMyLDB4MjUsMHgwMCB9LAotICAxNiwgMHhmYmUwLCAwLCB7MHhhOSwweDAwLDB4MjIsMHg0MCwweDBjLDB4OTQsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmYwLCAwLCB7MHgyOCwweDAxLDB4YTYsMHg4MCwweGY5LDB4MDgsMHgzZSwweGMwLDB4MGYsMHg5MSwweDQzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhmYzAwLCAwLCB7MHg1MCwweDBmLDB4OTgsMHgwMywweGE1LDB4MDAsMHhlOSwweDAwLDB4M2EsMHg2NCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDNjLDB4NDAsMHg2ZSwweDkwLDB4MDMsMHhlNCwweDIwLDB4ZDksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4ODIsMHhjYSB9LAotICAxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhmYzMwLCAwLCB7MHg0ZiwweDg0LDB4MGIsMHgyMCwweDAwLDB4ZjgsMHgwMCwweDM2LDB4MDEsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg0MCB9LAotICAxNiwgMHhmYzQwLCAwLCB7MHgzMiwweDEwLDB4MmQsMHg4MCwweDAzLDB4ZTAsMHg1NCwweGM4LDB4MDAsMHgzNiwweDEwLDB4MGYsMHgwNCwweDgzLDB4ZTAsMHg1MCB9LAotICAxNiwgMHhmYzUwLCAwLCB7MHhkOCwweDA0LDB4MTIsMHgwMCwweDBjLDB4MDAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4NDIsMHgyZSwweGEyLDB4OGIsMHhlYSwweDAyLDB4MjgsMHgwOCwweGJlLDB4ODksMHgzNyB9LAotICAxNiwgMHhmYzcwLCAwLCB7MHg4NCwweDQ4LDB4ZTAsMHgxMiwweDI4LDB4MDIsMHg4ZSwweGMwLDB4MjMsMHhiMCwweDRkLDB4NjAsMHg2MiwweGY4LDB4MDAsMHg4NiB9LAotICAxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDIzLDB4ODAsMHgwYiwweGUwLDB4MDIsMHhmOCwweDAwLDB4MGUsMHgwMCwweDIyLDB4ODAsMHgwOCwweGU0LDB4MDIsMHgwYSB9LAotICAxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhhMywweDAwLDB4MmMsMHg4MCB9LAotICAxNiwgMHhmY2EwLCAwLCB7MHgxYiwweGIwLDB4OWEsMHg0YywweDEwLDB4OWIsMHg4MCwweDI0LDB4YzAsMHgwYSwweDMwLDB4MDAsMHgwYywweDA0LDB4OWIsMHgyMCB9LAotICAxNiwgMHhmY2IwLCAwLCB7MHgyMCwweGQ2LDB4MDgsMHgzMCwweDAyLDB4OGUsMHgwOCwweGEzLDB4MDQsMHgyNCwweGMwLDB4MTksMHgzNCwweDAyLDB4YzcsMHgwNyB9LAotICAxNiwgMHhmY2MwLCAwLCB7MHhhYSwweGE0LDB4YTAsMHhjMCwweDQ4LDB4MzQsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2QwLCAwLCB7MHhhMCwweDAxLDB4MGUsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4NWMsMHg0MCwweGIzLDB4MTQsMHgyNSB9LAotICAxNiwgMHhmY2UwLCAwLCB7MHhlMCwweDA4LDB4N2EsMHgwMiwweDllLDB4YzAsMHg5MiwweDQwLDB4YTAsMHgwMCwweDQ5LDB4NjAsMHgwMiwweGNlLDB4MDIsMHg4ZSB9LAotICAxNiwgMHhmY2YwLCAwLCB7MHgwMSwweDIxLDB4YzAsMHg4YiwweDU0LDB4MDIsMHhjNCwweDA4LDB4ODYsMHg0MCwweDIxLDB4YzgsMHg4OCwweDEwLDB4MDIsMHgyOCB9LAotICAxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4YzAsMHhlNCwweDgwLDB4M2QsMHhlMiB9LAotICAxNiwgMHhmZDEwLCAwLCB7MHgwZiwweDU4LDB4MDMsMHg1ZSwweDkwLDB4YjYsMHhhMiwweDM1LDB4ZTAsMHgwZSwweDdjLDB4MjMsMHgxYywweDAwLDB4ZDYsMHg4MCB9LAotICAxNiwgMHhmZDIwLCAwLCB7MHgzMSwweGUwLDB4ODQsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGM3LDB4ODAsMHgzNSwweGUwLDB4MGYsMHg2OCwweDAzLDB4ZGUsMHgwMCB9LAotICAxNiwgMHhmZDMwLCAwLCB7MHhlMywweDgwLDB4MzMsMHhlOCwweDJjLDB4NzgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHg5MCwweGZhLDB4MDAsMHg3ZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YWMsMHgwMSwweGZiLDB4MDAsMHgzYyB9LAotICAxNiwgMHhmZDUwLCAwLCB7MHg0MSwweDBmLDB4MzAsMHgwYiwweDJkLDB4MDQsMHhlYiwweDAxLDB4M2UsMHhjMCwweDBlLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSB9LAotICAxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZTksMHg2MCwweDNlLDB4ZTQsMHgwZiwweDkwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhmZDcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MjAsMHhmZiwweDkwLDB4M2UsMHgyMCB9LAotICAxNiwgMHhmZDgwLCAwLCB7MHgwYywweGE5LDB4MDcsMHgyZSwweDQ0LDB4YzksMHg5MSwweDMwLDB4YTAsMHgwYywweGI4LDB4NjMsMHgyZiwweDQ0LDB4Y2IsMHhhMSB9LAotICAxNiwgMHhmZDkwLCAwLCB7MHgzNiwweDIwLDB4OGMsMHhmOCwweDAzLDB4MzYsMHgwMCwweGNmLDB4ODIsMHgzMywweGUwLDB4MGMsMHhmOCwweDIzLDB4MmUsMHgwMCB9LAotICAxNiwgMHhmZGEwLCAwLCB7MHhjZSwweGMwLDB4M2IsMHhlMCwweDBjLDB4NjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZGIwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg4NCwweGIzLDB4NTQsMHgyYywweGY0LDB4MjgsMHhiYSwweDhhLDB4M2UsMHg0MCwweDgxLDB4YTAsMHgyOSB9LAotICAxNiwgMHhmZGMwLCAwLCB7MHhiMCwweDBmLDB4NzgsMHg0MiwweGFlLDB4MDAsMHg4MywweDkwLDB4MzMsMHhlOCwweDBkLDB4ZTEsMHgwMCwweDg1LDB4NDAsMHg4MiB9LAotICAxNiwgMHhmZGQwLCAwLCB7MHgyNCwweDIzLDB4YzYsMHgwZCwweDcxLDB4MDMsMHg1ZSwweGUwLDB4ODcsMHgwMCwweDJiLDB4YzEsMHgwZCwweDQ0LDB4MDIsMHgyYSB9LAotICAxNiwgMHhmZGUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDgsMHgzNSwweDE0LDB4NmQsMHhjMCB9LAotICAxNiwgMHhmZGYwLCAwLCB7MHg4OCwweDcyLDB4MzIsMHg1YywweDgwLDB4ODQsMHgzMCwweDJiLDB4ODgsMHgwYSwweDcwLDB4NDIsMHg1YywweGE4LDB4OTEsMHgwOCB9LAotICAxNiwgMHhmZTAwLCAwLCB7MHgyNSwweGM4LDB4MDksMHg3MCwweDAyLDB4NGMsMHgyMiwweDgzLDB4MGEsMHg2MSwweGMwLDB4MDksMHgyMCwweDAyLDB4MDQsMHgwMCB9LAotICAxNiwgMHhmZTEwLCAwLCB7MHg4NywweDAwLDB4MjEsMHhjMCwweDA4LDB4NjAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZTIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgxMCwweGIzLDB4ODUsMHg2YywweGRjLDB4MDgsMHgzNCwweDAyLDB4NGQsMHgyMSwweDgxLDB4MDAsMHgyOCB9LAotICAxNiwgMHhmZTMwLCAwLCB7MHgwMiwweDRhLDB4MzEsMHgxMiwweGVmLDB4MGMsMHg5MSwweGMyLDB4MjAsMHhmMCwweDA4LDB4MzAsMHg0MiwweDhlLDB4MDAsMHg4MiB9LAotICAxNiwgMHhmZTQwLCAwLCB7MHg0MCwweDIwLDB4YzgsMHgxOSwweDI4LDB4MDIsMHgyMiwweDgxLDB4ODMsMHhjMCwweDI4LDB4ZDQsMHgwOSwweDAwLDB4MGEsMHgwOCB9LAotICAxNiwgMHhmZTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmYiwweGEwLDB4M2UsMHhjMCB9LAotICAxNiwgMHhmZTYwLCAwLCB7MHg4YywweDA0LDB4MTIsMHg3ZCwweDEwLDB4Y2YsMHgwMiwweDNhLDB4NTAsMHgwOCwweGMwLDB4NDIsMHg3ZCwweDUyLDB4NTgsMHgwMSB9LAotICAxNiwgMHhmZTcwLCAwLCB7MHgzNiwweDIyLDB4NjksMHhkMCwweDEzLDB4MmEsMHgwMCwweDg4LDB4ODIsMHgzMiwweGYwLDB4MDksMHhiOCwweDgyLDB4MmYsMHgwMCB9LAotICAxNiwgMHhmZTgwLCAwLCB7MHhjOSwweGM4LDB4MjMsMHhjMCwweDBjLDB4OGEsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZTkwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGI5LDB4NDAsMHgzYywweDUwLDB4NGYsMHg4MCwweDIzLDB4YWMsMHgxMiwweGZiLDB4MDAsMHgyYSB9LAotICAxNiwgMHhmZWEwLCAwLCB7MHhjMCwweDZkLDB4ODAsMHgxMywweGFjLDB4MDAsMHhlOCwweDA0LDB4YmEsMHgxMCwweDBmLDB4ODAsMHgwMywweGU4LDB4MDAsMHhmMyB9LAotICAxNiwgMHhmZWIwLCAwLCB7MHgwOCwweDNjLDB4ODAsMHgwZiwweDkwLDB4ODMsMHhlYywweDA0LDB4ZjksMHg2MCwweDJjLDB4YzIsMHgwZiwweDgwLDB4ODMsMHhlMCB9LAotICAxNiwgMHhmZWMwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhlYywweDJjLDB4M2YsMHhmMCB9LAotICAxNiwgMHhmZWQwLCAwLCB7MHg4YywweGZhLDB4OGIsMHhiYywweDAwLDB4ZmUsMHgwMCwweDNmLDB4MDAsMHgwZiwweDc5LDB4MDMsMHgzYywweDAwLDB4Y2UsMHgwOCB9LAotICAxNiwgMHhmZWUwLCAwLCB7MHgwYiwweGMyLDB4MGMsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZjLDB4MDAsMHgzMywweDQwLDB4OGMsMHg3YSwweDAzLDB4M2EsMHgwMCB9LAotICAxNiwgMHhmZWYwLCAwLCB7MHhjNSwweDAwLDB4MzMsMHhjMCwweDRjLDB4YzgsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZjAwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDg4LDB4YzAsMHgyZSwweGUwLDB4MDgsMHg5NCwweDAyLDB4MmMsMHgwMCwweGJiLDB4ODAsMHg2NiB9LAotICAxNiwgMHhmZjEwLCAwLCB7MHgzMCwweDE2LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhkYSwweDRjLDB4MjIsMHhmMCwweDA4LDB4ZjAsMHgwMywweGVjLDB4MDAsMHhlYiB9LAotICAxNiwgMHhmZjIwLCAwLCB7MHhjMCwweDIyLDB4NjgsMHgwMCwweDk0LDB4MDIsMHgyYywweDAyLDB4YTksMHg4MCwweDIyLDB4YzAsMHgwOCwweDBjLDB4MDIsMHhhMCB9LAotICAxNiwgMHhmZjMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhhYiwweDA0LDB4MmUsMHhjMCB9LAotICAxNiwgMHhmZjQwLCAwLCB7MHgwOCwweGE0LDB4MDYsMHgyYywweDA0LDB4YWIsMHgxMCwweDJlLDB4NjAsMHg0MywweDgwLDB4ODIsMHg2YywweDAxLDB4ODEsMHg4MCB9LAotICAxNiwgMHhmZjUwLCAwLCB7MHgyOCwweDBhLDB4MDgsMHg5MSwweDAwLDB4ZTAsMHgwMCwweGI4LDB4ODAsMHgwMiwweGUwLDB4MDgsMHg4MCwweDAyLDB4MmQsMHg4MCB9LAotICAxNiwgMHhmZjYwLCAwLCB7MHg4OCwweGMwLDB4MjIsMHhjMCwweDA4LDB4ODIsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZjcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweDgwLDB4NDQsMHgyYywweGM4LDB4MjgsMHhhMCwweDIyLDB4MGMsMHgwNCwweGIzLDB4MjYsMHgyYyB9LAotICAxNiwgMHhmZjgwLCAwLCB7MHhjOCwweDg4LDB4MDEsMHgwNiwweDBjLDB4ZTAsMHg5MSwweDIwLDB4MjAsMHgwYywweDM4LDB4MDQsMHgyMiwweGMwLDB4NDgsMHhhMyB9LAotICAxNiwgMHhmZjkwLCAwLCB7MHg0MiwweGEwLDB4ODEsMHgwOCwweDAwLDB4MDIsMHgwYywweDgwLDB4ODEsMHgwMCwweDIwLDB4YzAsMHgyOCwweDAwLDB4MDIsMHg4MiB9LAotICAxNiwgMHhmZmEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhhOSwweDQwLDB4M2UsMHg0NCB9LAotICAxNiwgMHhmZmIwLCAwLCB7MHgwOCwweGIxLDB4MDMsMHgyYywweDQwLDB4ZWEsMHg0OSwweDJlLDB4MGQsMHgwYiwweGI2LDB4MTMsMHg3ZCwweDgwLDB4YzksMHg0MCB9LAotICAxNiwgMHhmZmMwLCAwLCB7MHhiYSwweGQwLDB4MGMsMHhiNCwweDAzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg4MCwweDBiLDB4MjAsMHgwMCB9LAotICAxNiwgMHhmZmQwLCAwLCB7MHhjNSwweDAwLDB4YjIsMHhjMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZmUwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZCwweGM1LDB4MGIsMHhmMSwweDAwLDB4ZmMsMHhkMCwweDc3LDB4MjksMHgzNyB9LAotICAxNiwgMHhmZmYwLCAwLCB7MHgwYywweDhlLDB4NzQsMHgwMywweGZjLDB4MDgsMHhmZCwweDY5LDB4M2YsMHhkOCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhlZiB9LAotICAxNiwgMHg4MDEwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHgwNywweGMwLDB4MDMsMHhmMCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCB9LAotICAxNiwgMHg4MDIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwZCwweGZjLDB4YzAsMHhkYywweDgwLDB4M2YsMHhjOCB9LAotICAxNiwgMHg4MDMwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHg3YywweDIwLDB4ZmYsMHg2OCwweDM3LDB4ZTAsMHgwZSwweGYxLDB4MDMsMHg5YywweDAwLDB4YmYsMHgyMCB9LAotICAxNiwgMHg4MDQwLCAwLCB7MHgzNywweGUwLDB4MGMsMHhjOCwweDEzLDB4M2MsMHg0MCwweGVkLDB4NjAsMHhiYiwweGU0LDB4MmMsMHg0MywweDRiLDB4NzAsMHhhMCB9LAotICAxNiwgMHg4MDUwLCAwLCB7MHhjYywweDJjLDB4M2YsMHgwOSwweDBmLDB4ZDgsMHg0MywweDcwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MDYwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHhjMCwweGI4LDB4ODAsMHgyZiwweGY0LDB4MGYsMHg5OCwweDAyLDB4M2YsMHgwMCwweGJmLDB4NDIsMHgyMiB9LAotICAxNiwgMHg4MDcwLCAwLCB7MHhjYSwweDA4LDB4ZjQsMHgwMiwweDNlLDB4MDAsMHhiZiwweGQwLDB4MjIsMHg2MCwweDI4LDB4ODgsMHgwYSwweDNkLDB4ODAsMHg4ZCB9LAotICAxNiwgMHg4MDgwLCAwLCB7MHg0MCwweDIyLDB4YzgsMHgwOCwweDgxLDB4MDIsMHgyMSwweDgwLDB4ZGIsMHhjMCwweDJlLDB4YTUsMHgwYiwweDk4LDB4NDIsMHgyMCB9LAotICAxNiwgMHg4MDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MTAsMHhiMCwweDAwLDB4MmMsMHhjMCB9LAotICAxNiwgMHg4MGEwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgyMCwweDI2LDB4YzAsMHg4YSwweDM2LDB4MTIsMHg4YywweDQxLDB4YjMsMHgwMCB9LAotICAxNiwgMHg4MGIwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHgwMCwweDAyLDB4MGQsMHg4MSwweGExLDB4MzAsMHgyMiwweGM4LDB4ODksMHhhMiwweDQyLDB4MDgsMHgyMCB9LAotICAxNiwgMHg4MGMwLCAwLCB7MHhiMCwweDAwLDB4MmMsMHg0MCwweDBiLDB4OTAsMHgyNiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweGI4LDB4NTAsMHgyZSwweGMwLDB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDAsMHgyMiB9LAotICAxNiwgMHg4MGUwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHg2MiwweDJjLDB4MTAsMHhiYiwweDA0LDB4MmEsMHhmMCwweDRhLDB4ODgsMHgwMiwweDBjLDB4MDAsMHg4MSB9LAotICAxNiwgMHg4MGYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOSwweGI4LDB4ODAsMHgyNiwweDAwLDB4YjgsMHg4MCwweDJlLDB4MjEsMHgwYiwweDkwLDB4MDIsMHgzMCB9LAotICAxNiwgMHg4MTAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxNSwweGVjLDB4MDAsMHhkOCwweGMwLDB4M2UsMHhjMCB9LAotICAxNiwgMHg4MTEwLCAwLCB7MHgwYiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMCwweDM2LDB4ODAsMHgwZSwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHg4MTIwLCAwLCB7MHgzYywweGUwLDB4MGMsMHgwYywweDAzLDB4MmMsMHgwMCwweGU5LDB4MDAsMHgxMCwweGMwLDB4MGMsMHg4YywweDAzLDB4MDYsMHgwMCB9LAotICAxNiwgMHg4MTMwLCAwLCB7MHhmOCwweGNkLDB4M2UsMHgyMiwweDBmLDB4MTgsMHgwMywweDQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4N2MsMHgwMCwweGY3LDB4MDIsMHgzZiB9LAotICAxNiwgMHg4MTUwLCAwLCB7MHhlNCwweDBmLDB4NzAsMHgwMywweDdjLDB4MDQsMHhiNywweDAwLDB4MzcsMHg0MCwweDBkLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCB9LAotICAxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDM3LDB4ZDAsMHgwZSwweGMwLDB4NDMsMHhmNCwweDAwLDB4ZGYsMHgwMCwweDNmLDB4ODAsMHg4ZiwweGRhLDB4MDMsMHhmOCB9LAotICAxNiwgMHg4MTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOCwweDEwLDB4M2EsMHhjMCB9LAotICAxNiwgMHg4MTgwLCAwLCB7MHg2ZCwweGE2LDB4MTMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDNhLDB4ZDAsMHgwZiwweGIwLDB4MDMsMHgyYywweDEwLDB4ZGIsMHgxMCB9LAotICAxNiwgMHg4MTkwLCAwLCB7MHgzNiwweGQ4LDB4MGQsMHg4NCwweDAzLDB4ZWMsMHgwNiwweGM5LDB4MDgsMHgzYSwweGMwLDB4MGUsMHg4NiwweDAzLDB4YTgsMHg2MCB9LAotICAxNiwgMHg4MWEwLCAwLCB7MHhmOCwweDIwLDB4M2EsMHg0MCwweDBjLDB4OTAsMHgwMywweDU0LDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWIwLCAwLCB7MHg5OCwweDA1LDB4M2MsMHgwMCwweGJiLDB4NDAsMHgyMywweGQwLDB4MDgsMHgzMCwweDAyLDB4M2UsMHgxMCwweGFmLDB4MDAsMHgyMCB9LAotICAxNiwgMHg4MWMwLCAwLCB7MHhjMCwweDBiLDB4ZjAsMHgwMiwweDNjLDB4MDAsMHg4ZiwweDUwLDB4MmUsMHhjOCwweDA2LDB4OGEsMHgwMiwweGZjLDB4MDAsMHg4ZCB9LAotICAxNiwgMHg4MWQwLCAwLCB7MHgyNCwweDgyLDB4ZDYsMHgwOCwweDMyLDB4MDIsMHgyZCwweDA4LDB4M2EsMHg0MCwweDIyLDB4ODAsMHgwZCwweDkwLDB4MDMsMHg2MiB9LAotICAxNiwgMHg4MWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDRjLDB4MDAsMHhiMCwweDIwLDB4MjgsMHhjMiB9LAotICAxNiwgMHg4MWYwLCAwLCB7MHgwOCwweDA0LDB4MDIsMHg4YywweDAwLDB4MTMsMHgwMiwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDMwLDB4OTMsMHg4MCB9LAotICAxNiwgMHg4MjAwLCAwLCB7MHgyNCwweGQwLDB4MDksMHgyMCwweDAyLDB4Y2MsMHgwMCwweDkxLDB4NDAsMHgwOCwweGMwLDB4MmEsMHgxNCwweDAyLDB4ODEsMHgwMCB9LAotICAxNiwgMHg4MjEwLCAwLCB7MHg5MCwweDAwLDB4NjgsMHgwMCwweDA4LDB4MTgsMHgwMiwweDNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MjIwLCAwLCB7MHg3MCwweDAxLDB4MWUsMHgwMCwweGI0LDB4YTAsMHgyMSwweGUwLDB4MDgsMHhjOCwweDEyLDB4OWUsMHgwMCwweGIzLDB4ODIsMHgyMSB9LAotICAxNiwgMHg4MjMwLCAwLCB7MHhlMCwweDBiLDB4N2EsMHgwYSwweDFlLDB4MDAsMHg5NywweDgwLDB4MmQsMHhlMSwweDBhLDB4NDgsMHgwMiwweGNlLDB4NDAsMHg5NSB9LAotICAxNiwgMHg4MjQwLCAwLCB7MHg5MCwweDI5LDB4ZTQsMHgwOCwweDU4LDB4MDIsMHg5YSwweDAwLDB4YjcsMHg4OCwweDIxLDB4ZTAsMHgwOSwweDU4LDB4MDIsMHg1YyB9LAotICAxNiwgMHg4MjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NGEsMHgwMCwweDBjLDB4MDAsMHhmMCwweDgwLDB4MzgsMHhjNCB9LAotICAxNiwgMHg4MjYwLCAwLCB7MHgwYywweDI1LDB4MDMsMHg4YywweDIwLDB4OTMsMHgwMCwweDM4LDB4YzQsMHgwZiwweGIwLDB4MDMsMHgwYywweDgwLDB4ZDMsMHgwMCB9LAotICAxNiwgMHg4MjcwLCAwLCB7MHgzNCwweGMwLDB4MGQsMHgwNCwweDEzLDB4Y2MsMHgwOCwweDk5LDB4MDAsMHgyYSwweGMwLDB4MGUsMHgyMSwweDAzLDB4ODgsMHgwNCB9LAotICAxNiwgMHg4MjgwLCAwLCB7MHhmMywweDAwLDB4MzgsMHhjMCwweDBjLDB4MTEsMHg4MywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MjkwLCAwLCB7MHg0MiwweDE1LDB4YmMsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMzLDB4MGUsMHhjMCwweDAzLDB4MWMsMHgwMCwweGFmLDB4NGEsMHg3ZiB9LAotICAxNiwgMHg4MmEwLCAwLCB7MHhjNCwweDBmLDB4YjIsMHgwMywweGZkLDB4MDEsMHhlZiwweDEwLDB4M2YsMHg4NCwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhlOSB9LAotICAxNiwgMHg4MmIwLCAwLCB7MHgwMCwweDM3LDB4YzIsMHgwZSwweGYxLDB4NDcsMHg3YywweDAwLDB4ZjcsMHgwMCwweDNkLDB4YzAsMHgwZiwweDUwLDB4MDMsMHhkMCB9LAotICAxNiwgMHg4MmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxNSwweGVjLDB4MDgsMHhmOCwweDAwLDB4M2UsMHhjYSB9LAotICAxNiwgMHg4MmQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZiwweDIxLDB4ZmIsMHg4MCwweDdhLDB4NDAsMHg4ZiwweGIyLDB4YTEsMHgyZiwweDAwLDB4Y2IsMHg2MCB9LAotICAxNiwgMHg4MmUwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHhhMCwweGU5LDB4MzAsMHgzMiwweGMwLDB4MmQsMHhiMCwweDAzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHg4MmYwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MzAwLCAwLCB7MHhjOCwweDkxLDB4OWQsMHgwMCwweGI0LDB4MDEsMHgyZCwweGM4LDB4MGIsMHg3MCwweDAyLDB4Y2MsMHg4MCwweDhmLDB4MjAsMHgyMSB9LAotICAxNiwgMHg4MzEwLCAwLCB7MHhjMCwweDhiLDB4NzYsMHgwMywweDVkLDB4MDAsMHg4NywweDBhLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgyMiwweGZkLDB4MDAsMHg4ZCB9LAotICAxNiwgMHg4MzIwLCAwLCB7MHgxMCwweDIzLDB4YzgsMHgwOCwweDUwLDB4MTIsMHhkNCwweDAwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmMiB9LAotICAxNiwgMHg4MzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDllLDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCB9LAotICAxNiwgMHg4MzQwLCAwLCB7MHgwYiwweDdjLDB4MDIsMHhkZSwweDQwLDB4YTcsMHg4MiwweDJkLDB4ZTAsMHgwYiwweDNhLDB4MDIsMHg4ZSwweDAwLDB4ODcsMHg5MCB9LAotICAxNiwgMHg4MzUwLCAwLCB7MHgyZCwweGUwLDB4MGIsMHg1OCwweDAyLDB4NWUsMHgwMCwweGE1LDB4YTIsMHg2NSwweGUwLDB4MDgsMHg2OCwweDgyLDB4ZGEsMHgwMCB9LAotICAxNiwgMHg4MzYwLCAwLCB7MHg5NSwweDgwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MzcwLCAwLCB7MHgwOCwweDg0LDB4Y2MsMHgwMCwweGIwLDB4MDksMHgyYywweGMwLDB4MGIsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyZSB9LAotICAxNiwgMHg4MzgwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHg0MiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhhMCwweDBiLDB4MDQsMHgwMiwweGNjLDB4MDAsMHg4MSB9LAotICAxNiwgMHg4MzkwLCAwLCB7MHgwMCwweGEwLDB4YzAsMHgwOCwweGIwLDB4MDYsMHhjZiwweDgwLDB4YjMsMHgxMCwweDJjLDB4YzQsMHgwYiwweDMxLDB4MDIsMHhjMyB9LAotICAxNiwgMHg4M2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhmZSwweDgwLDB4M2UsMHg4MCB9LAotICAxNiwgMHg4M2IwLCAwLCB7MHgwZiwweGU4LDB4MTMsMHhlOCwweDAwLDB4ZWEsMHgwMCwweDNmLDB4YjAsMHgwZiwweGEwLDB4MDMsMHhhOCwweDAyLDB4YzIsMHgwMCB9LAotICAxNiwgMHg4M2MwLCAwLCB7MHgyZiwweDg4LDB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGVhLDB4MDAsMHgzNiwweDAwLDB4MGMsMHhlMCwweDAzLDB4ZjksMHgyMCB9LAotICAxNiwgMHg4M2QwLCAwLCB7MHhkZSwweDgwLDB4M2YsMHhhMCwweDRmLDB4YTgsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4M2UwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MTAsMHgzYywweDEwLDB4MGYsMHg4MCwweDgzLDB4ZTEsMHgwMCwweGU4LDB4MDAsMHgyMiB9LAotICAxNiwgMHg4M2YwLCAwLCB7MHgwNiwweDBmLDB4MDAsMHgxMywweGUwLDB4MDEsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHg4NDAwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MjMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg4NDEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU0LDB4MDAsMHhmOSwweDEwLDB4M2UsMHg0NCB9LAotICAxNiwgMHg4NDIwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MTIsMHgyNCwweDAwLDB4ZjksMHgxMCB9LAotICAxNiwgMHg4NDMwLCAwLCB7MHgzMiwweDQwLDB4OGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDEwLDB4MGMsMHg5YywweDAxLDB4MjQsMHgwMCB9LAotICAxNiwgMHg4NDQwLCAwLCB7MHhmOSwweDEwLDB4M2UsMHg3MCwweDBmLDB4OTAsMHgwMiwweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NDUwLCAwLCB7MHg4MCwweDE0LDB4NjQsMHgwMCwweGI5LDB4YzAsMHgyZSwweDQ4LDB4MDgsMHg5MSwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSB9LAotICAxNiwgMHg4NDYwLCAwLCB7MHg0MCwweDBkLDB4OTAsMHgwMywweDY3LDB4MDAsMHhiOSwweDgwLDB4MmEsMHg2MCwweDBiLDB4OTksMHgwMiwweGU0LDB4MDAsMHg4MSB9LAotICAxNiwgMHg4NDcwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgyYywweDkwLDB4MTIsMHgyNSwweDIwLDB4YjksMHg0OCwweDJlLDB4NTIsMHgwYiwweDk0LDB4MDIsMHhlMCB9LAotICAxNiwgMHg4NDgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHg4NDkwLCAwLCB7MHg2OCwweDkwLDB4NDYsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4YzAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDYwLDB4YjksMHgwMCB9LAotICAxNiwgMHg4NGEwLCAwLCB7MHgyMiwweDQ4LDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMiwweDg5LDB4MDAsMHhhMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTYsMHgxMCB9LAotICAxNiwgMHg4NGIwLCAwLCB7MHhiOSwweDAwLDB4MGUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NGMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MDAsMHgyYywweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHg4NCwweGIxLDB4MjAsMHgyYyB9LAotICAxNiwgMHg4NGQwLCAwLCB7MHg0MCwweDA5LDB4MTIsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweGM0LDB4ODAsMHg4OSB9LAotICAxNiwgMHg4NGUwLCAwLCB7MHgyMCwweDIwLDB4NDAsMHg0YiwweDEyLDB4MGEsMHg4NCwweDg0LDB4YjEsMHgyMCwweDJjLDB4NDgsMHg4YiwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHg4NGYwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhiYSwweDAwLDB4MmUsMHgwMCB9LAotICAxNiwgMHg4NTAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlOCwweDA4LDB4ZjgsMHg1MCwweDNlLDB4MTQsMHgwYywweDg1LDB4MDMsMHgyMCwweDAwLDB4YjgsMHgwMCB9LAotICAxNiwgMHg4NTEwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHhhMCwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTAsMHgzMiwweDE0LDB4MGMsMHhhNSwweDAzLDB4YTEsMHg0MCB9LAotICAxNiwgMHg4NTIwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YTAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NTMwLCAwLCB7MHg4OCwweDBkLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZSwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGI5LDB4MTEsMHgzZiB9LAotICAxNiwgMHg4NTQwLCAwLCB7MHg0MCwweDBmLDB4OTEsMHgwMywweDY0LDB4NDQsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmZCB9LAotICAxNiwgMHg4NTUwLCAwLCB7MHgxMCwweDNmLDB4MTAsMHg4YywweGQxLDB4MDMsMHg3NCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNiB9LAotICAxNiwgMHg4NTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweDY2LDB4MjAsMHhlZCwweDAwLDB4MzMsMHg2OSB9LAotICAxNiwgMHg4NTcwLCAwLCB7MHg0ZCwweDUwLDB4NDMsMHg1NiwweDAwLDB4ZjksMHhhMCwweDM0LDB4NDAsMHgwZiwweDlhLDB4MGIsMHgzNCwweDAwLDB4ZGQsMHg4MCB9LAotICAxNiwgMHg4NTgwLCAwLCB7MHgzYiwweDQwLDB4MGIsMHg1MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweGUwLDB4MGUsMHhkMCwweDAzLDB4ZjQsMHgwMCB9LAotICAxNiwgMHg4NTkwLCAwLCB7MHhmZCwweDAwLDB4M2YsMHg0MCwweDBjLDB4ZDAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NWEwLCAwLCB7MHg3OCwweDEwLDB4ZTIsMHg4MCwweDg4LDB4MDQsMHgyMiwweDEwLDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwOSwweGI4LDB4ZjAsMHgyMiB9LAotICAxNiwgMHg4NWIwLCAwLCB7MHgwMCwweDBiLDB4OGUsMHgxMiwweGEwLDB4MDAsMHhiOCwweDUyLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDUsMHhiOCB9LAotICAxNiwgMHg4NWMwLCAwLCB7MHhhYSwweDIzLDB4M2UsMHgwZCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweDNhLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhjZSB9LAotICAxNiwgMHg4NWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MjAsMHhhOSwweDAwLDB4YTQsMHg0NCB9LAotICAxNiwgMHg4NWUwLCAwLCB7MHgwOSwweDkwLDB4MDIsMHhjNSwweDAwLDB4YTEsMHgwOCwweDJjLDB4NDAsMHgwYiwweDExLDB4ODIsMHgwNCwweDAwLDB4YjEsMHgwMCB9LAotICAxNiwgMHg4NWYwLCAwLCB7MHgyOCwweDQwLDB4MGEsMHgxMCwweDQyLDB4YzQsMHgwMCwweGI1LDB4MDAsMHhhMSwweDQwLDB4MDgsMHgxMCwweDAyLDB4YzQsMHgwMCB9LAotICAxNiwgMHg4NjAwLCAwLCB7MHhiMSwweDAxLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgyMCwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NjEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDQsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAwLDB4YWMsMHgwMCwweDM5LDB4MDAsMHgyYSB9LAotICAxNiwgMHg4NjIwLCAwLCB7MHg0MCwweDBiLDB4MTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0OCwweDBiLDB4OTAsMHgxMiwweGU0LDB4MDAsMHhiOSB9LAotICAxNiwgMHg4NjMwLCAwLCB7MHgwMCwweDIxLDB4NjAsMHgwOSwweDkyLDB4MjIsMHhlNCwweDI4LDB4YjksMHgwMCwweDBhLDB4NTAsMHgwOCwweDkwLDB4MDYsMHhjNiB9LAotICAxNiwgMHg4NjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHg4NjUwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDgsMHgwZiwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZDksMHgwMCB9LAotICAxNiwgMHg4NjYwLCAwLCB7MHgzYSwweDc4LDB4MGUsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHhiMiwweDQwLDB4MGUsMHg5MiwweDIzLDB4ZTYsMHgwMCB9LAotICAxNiwgMHg4NjcwLCAwLCB7MHhiOSwweDUwLDB4M2UsMHg3MCwweDJjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NjgwLCAwLCB7MHg2OCwweDAxLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4NGYsMHg5YywweDIzLDB4NjQsMHgwMCwweGY5LDB4MDQsMHgzNiB9LAotICAxNiwgMHg4NjkwLCAwLCB7MHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2MCwweDBmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHg4NmEwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4ODMsMHhlNCwweDQ0LDB4ZjksMHgwMCwweDc4LDB4NjQsMHgwZiwweDkwLDB4MDMsMHhkYSB9LAotICAxNiwgMHg4NmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHg4NmMwLCAwLCB7MHgwZiwweDgyLDB4MDMsMHhhMCwweDQwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHgyMCwweGMwLDB4YzgsMHg4MCB9LAotICAxNiwgMHg4NmQwLCAwLCB7MHgzZSwweDEyLDB4MGYsMHg4MCwweDAzLDB4NjAsMHgwMCwweDdjLDB4MDAsMHgzMywweDAwLDB4MGQsMHg4MCwweDEzLDB4ZTAsMHgxMCB9LAotICAxNiwgMHg4NmUwLCAwLCB7MHhjOCwweDY0LDB4M2UsMHgwOCwweDBjLDB4ODIsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NmYwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGI2LDB4ZTAsMHgwZiwweGEwLDB4MGIsMHg2MCwweDgyLDB4MzgsMHgwMCwweGFhLDB4MDAsMHgyZSB9LAotICAxNiwgMHg4NzAwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHg0MiwweGJhLDB4MDAsMHhhZSwweDIwLDB4MmYsMHg4OCwweDBiLDB4ZTUsMHgwMiwweDI4LDB4MDAsMHhiYSB9LAotICAxNiwgMHg4NzEwLCAwLCB7MHhkOCwweDM3LDB4ODAsMHgwOCwweGVjLDB4MDIsMHhmOCwweDA0LDB4OGUsMHgwMCwweDJmLDB4OTAsMHgwZCwweGUwLDB4MDIsMHhjYSB9LAotICAxNiwgMHg4NzIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMCwweDI0LDB4MmMsMHg2MCB9LAotICAxNiwgMHg4NzMwLCAwLCB7MHgwYiwweDM4LDB4MDIsMHg4ZSwweDgwLDB4YWIsMHgwMCwweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwZCwweDA4LDB4MDAsMHg4MCB9LAotICAxNiwgMHg4NzQwLCAwLCB7MHg2YywweGQwLDB4MGIsMHgzNCwweDAyLDB4Y2MsMHgwMCwweGI4LDB4YzAsMHgyMCwweDAwLDB4NDgsMHgzNCwweDEyLDB4Y2MsMHg0MCB9LAotICAxNiwgMHg4NzUwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhlMCwweDBhLDB4MzUsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NzYwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg0MCwweGI3LDB4MDAsMHgyZCwweDAyLDB4OGIsMHg2MCwweDAyLDB4OWUsMHgwMCwweDg3LDB4MjAsMHgyZiB9LAotICAxNiwgMHg4NzcwLCAwLCB7MHhlMCwweDA4LDB4NzIsMHgwMiwweDllLDB4MDAsMHhhNCwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjgsMHgwMiwweDljLDB4YzAsMHhiMyB9LAotICAxNiwgMHg4NzgwLCAwLCB7MHgwMiwweGE1LDB4YzAsMHgwOCwweDUwLDB4ODYsMHhmZSwweDAwLDB4ODcsMHgwMCwweDJmLDB4ZDAsMHgwOSwweDcwLDB4MDIsMHhlOCB9LAotICAxNiwgMHg4NzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNCwweDgwLDB4M2QsMHgyMCB9LAotICAxNiwgMHg4N2EwLCAwLCB7MHgwZiwweDU4LDB4MDMsMHg5ZSwweDAwLDB4NjcsMHg4MCwweDNkLDB4ZjgsMHgwZCwweDM4LDB4MDIsMHgxYSwweDEwLDB4NDQsMHg4MCB9LAotICAxNiwgMHg4N2IwLCAwLCB7MHgzZCwweGUwLDB4MGYsMHg1OCwweDAzLDB4ZGUsMHgyMCwweGI0LDB4ODAsMHgzMywweGEwLDB4MmMsMHg2OCwweDAzLDB4ZDYsMHgwMCB9LAotICAxNiwgMHg4N2MwLCAwLCB7MHhjNywweDgxLDB4M2QsMHhlMCwweDBjLDB4NzgsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4N2QwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwOCwweGY4LDB4MDAsMHgzZSwweDAwLDB4OGYsMHg4MCwweDAzLDB4NmMsMHgwMCwweDNiLDB4MTIsMHgzZSB9LAotICAxNiwgMHg4N2UwLCAwLCB7MHhjYSwweDBmLDB4YjUsMHgwMywweGM4LDB4MDAsMHhmOCwweDA0LDB4N2UsMHhjMCwweDBmLDB4OTAsMHgwMywweDZjLDB4ODAsMHhmYiB9LAotICAxNiwgMHg4N2YwLCAwLCB7MHgwNCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhjOCwweDAwLDB4ZjksMHgwMSwweDNjLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHg4ODAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhhYywweDkwLDB4MzEsMHg0OCB9LAotICAxNiwgMHg4ODEwLCAwLCB7MHgwOCwweGY4LDB4MDMsMHhmYSwweDAwLDB4Y2YsMHg4MCwweDNmLDB4ZTAsMHgwYywweGZjLDB4MTMsMHgzZSwweDA0LDB4ZmMsMHg4MCB9LAotICAxNiwgMHg4ODIwLCAwLCB7MHgzNSwweGEwLDB4MGMsMHg3OCwweDAzLDB4YmUsMHgwMCwweGRmLDB4ODAsMHgzYiwweDIwLDB4MjQsMHhmOCwweDAzLDB4MmUsMHg0MCB9LAotICAxNiwgMHg4ODMwLCAwLCB7MHhjZiwweDgwLDB4MzMsMHhlMCwweDAzLDB4ZjksMHgwMywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ODQwLCAwLCB7MHhhOCwweDExLDB4YmMsMHgwMCwweDgwLDB4MDAsMHgwMSwweDAwLDB4MDgsMHg3MiwweDAyLDB4ZDAsMHgwMCwweDg3LDB4MDAsMHgyZCB9LAotICAxNiwgMHg4ODUwLCAwLCB7MHhjOCwweDBhLDB4ZjAsMHgwMiwweDk4LDB4NDAsMHhmNSwweDAwLDB4NjEsMHg0MSwweDAwLDB4NzQsMHgwMiwweDFjLDB4MDAsMHhiNCB9LAotICAxNiwgMHg4ODYwLCAwLCB7MHgwMCwweDIxLDB4YzgsMHgwOCwweDYwLDB4MDIsMHgzZSwweDIwLDB4ODYsMHgwOCwweDIxLDB4ZDgsMHgwZiwweDUwLDB4MDIsMHhlYSB9LAotICAxNiwgMHg4ODcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMCwweDljLDB4MDAsMHhhNCwweDAwLDB4MjEsMHgwMCB9LAotICAxNiwgMHg4ODgwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHhkOCwweDAwLDB4OTcsMHgwMCwweDJkLDB4YzAsMHg4OCwweDcxLDB4MDIsMHgxNCwweDAwLDB4YjAsMHgwMCB9LAotICAxNiwgMHg4ODkwLCAwLCB7MHgyNSwweDkwLDB4MDgsMHhjMCwweDgyLDB4OWMsMHg0MCwweDkzLDB4MDAsMHgyOSwweGExLDB4ODgsMHg2MCwweDAyLDB4MTQsMHgxMiB9LAotICAxNiwgMHg4OGEwLCAwLCB7MHg4NywweDQwLDB4MjksMHg0MCwweDBiLDB4NjAsMHgwMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OGIwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwMCwweDgwLDB4ZDAsMHhhMCwweDAwLDB4MDgsMHgxYywweDAyLDB4YzAsMHgwMCwweDkzLDB4MDAsMHgyYyB9LAotICAxNiwgMHg4OGMwLCAwLCB7MHhkMCwweDBhLDB4YjAsMHgyNiwweDgwLDB4MDAsMHhiMywweDAwLDB4MjQsMHhlNCwweDA4LDB4MDgsMHgwMiwweDhjLDB4MDAsMHhiMCB9LAotICAxNiwgMHg4OGQwLCAwLCB7MHgwMiwweDAyLDB4NDEsMHgwOCwweDA4LDB4MDIsMHgwMywweDAxLDB4ODEsMHgwMCwweDI4LDB4NDIsMHgxYSwweDAwLDB4NDIsMHhkOCB9LAotICAxNiwgMHg4OGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjgsMHgxNSwweGJjLDB4MDAsMHhlOCwweGMwLDB4MzIsMHg4MCB9LAotICAxNiwgMHg4OGYwLCAwLCB7MHgwYywweGI1LDB4MDMsMHhlNCwweDAwLDB4OWYsMHgwMCwweDNkLDB4ZTAsMHgwYywweGYwLDB4MGIsMHgyNCwweDAwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHg4OTAwLCAwLCB7MHgzNiwweGUwLDB4MGMsMHgyNSwweDAzLDB4YmMsMHgwNSwweGQ4LDB4MDIsMHgyYSwweDAwLDB4MDgsMHhiYSwweDAyLDB4MmEsMHgwMCB9LAotICAxNiwgMHg4OTEwLCAwLCB7MHhjMSwweDAyLDB4M2EsMHg1MCwweDhiLDB4OTAsMHgwMywweGVlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OTIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDgsMHgzZSwweDgwLDB4MGYsMHhhMSwweDAzLDB4ZWMsMHgwNCwweGViLDB4MDIsMHgyZSB9LAotICAxNiwgMHg4OTMwLCAwLCB7MHhjNiwweDBmLDB4YjAsMHgxNywweDQ0LDB4MDAsMHhlOCwweDAwLDB4M2EsMHg0MCwweDBmLDB4ODAsMHgwMiwweDZjLDB4MDAsMHhmYiB9LAotICAxNiwgMHg4OTQwLCAwLCB7MHgwMCwweDNlLDB4ZTAsMHgwZiwweDkwLDB4OTMsMHhlMSwweDAwLDB4ZDksMHgwMCwweDI2LDB4NzAsMHg4ZiwweDkwLDB4MDEsMHhlMSB9LAotICAxNiwgMHg4OTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGZjLDB4MDAsMHhmYywweDAzLDB4MzcsMHgyNCB9LAotICAxNiwgMHg4OTYwLCAwLCB7MHgwZCwweGY4LDB4MDMsMHhlMCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzEsMHg4ZCwweGYwLDB4MGIsMHgzOCwweDAwLDB4Y2MsMHgwMCB9LAotICAxNiwgMHg4OTcwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmYSwweDAzLDB4M2MsMHgwYywweGZjLDB4MDQsMHgzYiwweDgwLDB4MGMsMHhhMCwweDAzLDB4OTQsMHgyMCB9LAotICAxNiwgMHg4OTgwLCAwLCB7MHg4OSwweDA1LDB4M2IsMHgwMCwweDRmLDB4ZDAsMHgyMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OTkwLCAwLCB7MHg4MCwweDA0LDB4NmMsMHgwMCwweGIwLDB4MDYsMHgyMCwweDEzLDB4ODgsMHhhOCwweDAyLDB4ZWIsMHgwMCwweGJiLDB4MDAsMHgyZSB9LAotICAxNiwgMHg4OWEwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweDJhLDB4MDAsMHhhOCwweDgwLDB4MmUsMHhlMCwweDBiLDB4OTQsMHgxYSwweDJjLDB4MDAsMHhiYiB9LAotICAxNiwgMHg4OWIwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgyOSwweDk4LDB4MDIsMHhlMiwweDAwLDB4YTksMHg4NCwweDIyLDB4MjAsMHgwYiwweDk4LDB4MDIsMHhlMCB9LAotICAxNiwgMHg4OWMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOCwweDAwLDB4MjIsMHgwMCB9LAotICAxNiwgMHg4OWQwLCAwLCB7MHgwOSwweDgyLDB4MDIsMHhlNiwweDAwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAwLDB4ODgsMHg4MCB9LAotICAxNiwgMHg4OWUwLCAwLCB7MHgyZSwweGEwLDB4MGIsMHhhMCwweDAyLDB4MmMsMHgwMCwweGIzLDB4MDAsMHgyYSwweDAwLDB4MDksMHg5OCwweDAyLDB4ZWEsMHgyMCB9LAotICAxNiwgMHg4OWYwLCAwLCB7MHhhOSwweDgwLDB4MmEsMHg2MCwweDliLDB4OTgsMHg4MiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YTAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGI4LDB4MDAsMHgyMCwweDAwLDB4MDksMHgwOCwweDAyLDB4YzQsMHgwMCwweGIzLDB4MDAsMHgyNiB9LAotICAxNiwgMHg4YTEwLCAwLCB7MHhjMCwweDAwLDB4MzAsMHgwMiwweDAwLDB4MDAsMHg4MSwweDAwLDB4MmMsMHg0MSwweDBiLDB4MDAsMHgwMiwweDBjLDB4MDAsMHhiMCB9LAotICAxNiwgMHg4YTIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYiwweDAwLDB4MDIsMHhjOCwweDgwLDB4YTgsMHgwMCwweDIwLDB4NDEsMHgwYiwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHg4YTMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MTAsMHhmOCwweDUwLDB4YjIsMHgwMCB9LAotICAxNiwgMHg4YTQwLCAwLCB7MHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZmIsMHgwMCwweDNkLDB4YzAsMHgwZCwweGYwLDB4MTMsMHgyNCwweDAyLDB4YzgsMHgwNiB9LAotICAxNiwgMHg4YTUwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4M2MsMHgwNCwweGZiLDB4MDAsMHg3OCwweDgwLDB4MGMsMHhhMCwweDAzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHg4YTYwLCAwLCB7MHhlOSwweDAwLDB4MWEsMHg0MCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YTcwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGY0LDB4MjAsMHgzZiwweDAwLDB4MGUsMHhjMCwweDAyLDB4ZjAsMHgwMSwweGZmLDB4MDAsMHgzZiB9LAotICAxNiwgMHg4YTgwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgyMywweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmYyB9LAotICAxNiwgMHg4YTkwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHg5YywweGMwLDB4MDMsMHhmMCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4NDMsMHhlOCB9LAotICAxNiwgMHg4YWEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGYwLDB4MDAsMHhlZCwweDIzLDB4YjcsMHg0OCB9LAotICAxNiwgMHg4YWIwLCAwLCB7MHgwYywweGUxLDB4YzMsMHg3YywweGMwLDB4ZGQsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGNiLDB4MDMsMHhmZSwweDA4LDB4ZmMsMHgyOCB9LAotICAxNiwgMHg4YWMwLCAwLCB7MHgzZiwweGYwLDB4MWMsMHhmYiwweDIzLDB4N2MsMHgwMSwweGZmLDB4MTQsMHg3NywweGUyLDB4NGYsMHhlOCwweDIzLDB4N2MsMHgwMCB9LAotICAxNiwgMHg4YWQwLCAwLCB7MHhjNCwweDgwLDB4MzMsMHg0OCwweDJjLDB4ZjgsMHgyMiwweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YWUwLCAwLCB7MHg4MCwweDEwLDB4ZTAsMHhlMCwweGM5LDB4YzAsMHgyMiwweDViLDB4ODgsMHg5NiwweDIyLDB4MmQsMHgwMCwweDg5LDB4MjIsMHgyMiB9LAotICAxNiwgMHg4YWYwLCAwLCB7MHhjYSwweDBiLDB4OWUsMHgyMiwweGUyLDB4YTAsMHhiOSwweDYxLDB4MmMsMHhlMCwweDg4LDB4OWYsMHgwMiwweDNkLDB4ODUsMHhiZiB9LAotICAxNiwgMHg4YjAwLCAwLCB7MHg2MCwweDI2LDB4NTAsMHg0OCwweGEwLDB4MDIsMHgzYywweDAwLDB4ODgsMHgwMCwweDIyLDB4NTAsMHgwOCwweGIwLDB4MDIsMHgyMCB9LAotICAxNiwgMHg4YjEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGMwLDB4ODAsMHhiMSwweDEwLDB4MjAsMHg0NCB9LAotICAxNiwgMHg4YjIwLCAwLCB7MHgwYiwweGIyLDB4MDIsMHhjZSwweGQwLDB4ODEsMHgwOCwweDJjLDB4YzAsMHgwYiwweDAxLDB4MDIsMHg4YywweDA4LDB4YjMsMHgwOCB9LAotICAxNiwgMHg4YjMwLCAwLCB7MHgyYywweGM5LDB4MDgsMHgxMCwweDYyLDB4OGMsMHg2MCwweGIzLDB4MzIsMHgyNCwweDgwLDB4MGEsMHhhMCwweDAyLDB4NmMsMHgwMyB9LAotICAxNiwgMHg4YjQwLCAwLCB7MHg5YSwweDAxLDB4MjYsMHg0NCwweDQ4LDB4YjAsMHg0MiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YjUwLCAwLCB7MHhjMCwweDE1LDB4YTQsMHhhMCwweDhiLDB4MDIsMHgyMiwweGUwLDB4MGIsMHhiMCwweDYyLDB4YWMsMHg5OCwweDk5LDB4MDAsMHgyYSB9LAotICAxNiwgMHg4YjYwLCAwLCB7MHhjMiwweDBiLDB4OTgsMHgwNiwweGU0LDB4MDAsMHhiYiwweDAyLDB4MmUsMHhjMCwweDA4LDB4OTEsMHg0MiwweDJjLDB4MTAsMHhiYiB9LAotICAxNiwgMHg4YjcwLCAwLCB7MHgwMCwweDZlLDB4ODAsMHgwYSwweDgwLDB4MDIsMHg2YywweDAwLDB4MWIsMHgwMCwweDA2LDB4NDAsMHg0OCwweGI4LDB4MGEsMHg3MCB9LAotICAxNiwgMHg4YjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGU3LDB4MDAsMHhhMSwweDAwLDB4NzYsMHg3OCB9LAotICAxNiwgMHg4YjkwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlOCwweDEwLDB4ZDksMHgwMCwweDNlLDB4ZDAsMHg0YiwweDllLDB4MTMsMHhhYywweDA4LDB4YjgsMHhhMCB9LAotICAxNiwgMHg4YmEwLCAwLCB7MHg3ZSwweGM2LDB4MDgsMHhhOCwweDAyLDB4MmMsMHgwMSwweGJiLDB4MDAsMHgyNiwweDMwLDB4NGUsMHgyMCwweDAzLDB4NGMsMHgxOCB9LAotICAxNiwgMHg4YmIwLCAwLCB7MHg5OSwweDgwLDB4YjQsMHg0MCwweDRjLDB4M2EsMHgwMywweDQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YmMwLCAwLCB7MHhlMCwweDAxLDB4YjIsMHgwMCwweGZkLDB4YzUsMHgzYiwweGMwLDB4NGMsMHhkMCwweDAzLDB4NmEsMHgwMiwweGVkLDB4MDYsMHgzMyB9LAotICAxNiwgMHg4YmQwLCAwLCB7MHhjNCwweDBmLDB4ZDAsMHg1MywweGY4LDB4MDAsMHhmYywweDkwLDB4N2YsMHhjMSwweDBmLDB4NzgsMHgwMywweGJjLDB4MDQsMHhmZiB9LAotICAxNiwgMHg4YmUwLCAwLCB7MHgwMCwweDM3LDB4NjQsMHgwYywweGYxLDB4MDMsMHhhNCwweDAwLDB4ZWQsMHhhMSwweDNiLDB4NDAsMHgwYiwweGYwLDB4ODMsMHhiOCB9LAotICAxNiwgMHg4YmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MDAsMHhjYiwweDIwLDB4M2UsMHg3MSB9LAotICAxNiwgMHg4YzAwLCAwLCB7MHgwZiwweGIzLDB4MDMsMHg5OCwweDAyLDB4ZmIsMHgwMiwweDM2LDB4NDgsMHgwZiwweDkwLDB4MDMsMHhlYywweDIwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHg4YzEwLCAwLCB7MHgzZSwweGNjLDB4MDQsMHg4NCwweDAzLDB4MmMsMHgwMCwweGRiLDB4MDQsMHgzYywweDEwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwMCB9LAotICAxNiwgMHg4YzIwLCAwLCB7MHg5YiwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YzMwLCAwLCB7MHg4OCwweDA1LDB4MmMsMHgwMiwweDhiLDB4NDgsMHgyZSwweGUwLDB4MGIsMHgzNCwweDAzLDB4NmIsMHgwMCwweDhiLDB4ZjUsMHgyMiB9LAotICAxNiwgMHg4YzQwLCAwLCB7MHhmMiwweDBiLDB4OWMsMHgwMywweGFmLDB4MDAsMHhiOCwweDUwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDdjLDB4MDAsMHg4ZiB9LAotICAxNiwgMHg4YzUwLCAwLCB7MHgwMCwweDBlLDB4NWQsMHgwYiwweDgwLDB4MDIsMHhmNSwweDQwLDB4ODMsMHg1MCwweDIzLDB4NTQsMHgwOCwweDljLDB4MDIsMHhlNiB9LAotICAxNiwgMHg4YzYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNCwweDRjLDB4MDAsMHg4MSwweDgxLDB4MmUsMHg0MCB9LAotICAxNiwgMHg4YzcwLCAwLCB7MHgwMywweDJjLDB4MDIsMHgwNCwweDMzLDB4OTksMHgwMCwweDIwLDB4ZjAsMHg0YSwweDI4LDB4ODAsMHhjYywweDQwLDB4YjAsMHgwMCB9LAotICAxNiwgMHg4YzgwLCAwLCB7MHgyNiwweDEwLDB4MDgsMHgyMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4MDksMHgyMCwweDAyLDB4Y2MsMHgwMCB9LAotICAxNiwgMHg4YzkwLCAwLCB7MHhhMCwweDAyLDB4MjgsMHg0MCwweDA4LDB4MDgsMHgwMiwweDdhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4Y2EwLCAwLCB7MHgyMCwweDAxLDB4MGEsMHgwMCwweDg1LDB4ODAsMHgyZCwweGY4LDB4MGIsMHhkYSwweDAyLDB4ZDYsMHg0MCwweDg1LDB4YTAsMHgyMSB9LAotICAxNiwgMHg4Y2IwLCAwLCB7MHhlMCwweDBiLDB4NDgsMHgwNiwweDkyLDB4MDQsMHhiNSwweDgwLDB4MmQsMHgyMSwweDA4LDB4MDAsMHgwMiwweDRlLDB4MDAsMHg4NyB9LAotICAxNiwgMHg4Y2MwLCAwLCB7MHhhNCwweDJkLDB4NjAsMHgwYiwweDY4LDB4MDIsMHhkZSwweGMyLDB4YWQsMHg5MCwweDJiLDB4NjAsMHgyOCwweDU4LDB4ODIsMHhkYyB9LAotICAxNiwgMHg4Y2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDRjLDB4NDAsMHhjMywweDEwLDB4MmMsMHg2YyB9LAotICAxNiwgMHg4Y2UwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHg4NiwweGEyLDB4ZjksMHhiMCwweGIwLDB4ZTAsMHgwZiwweDI5LDB4ODMsMHhjZSwweDQ0LDB4ZjMsMHg4MCB9LAotICAxNiwgMHg4Y2YwLCAwLCB7MHgzYywweGFjLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGMzLDB4MDAsMHgzYywweGQ1LDB4MGYsMHgyMCwweDAzLDB4Y2UsMHhjMSB9LAotICAxNiwgMHg4ZDAwLCAwLCB7MHhlMCwweDEwLDB4YjgsMHg0MCwweDBjLDB4MDAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZDEwLCAwLCB7MHhjMCwweDFkLDB4YmMsMHgwMCwweGViLDB4MDAsMHgzZSwweGNjLDB4MGYsMHgzMiwweDAzLDB4NjQsMHgwOCwweGY5LDB4MDAsMHgzYiB9LAotICAxNiwgMHg4ZDIwLCAwLCB7MHg5MCwweDBmLDB4ZjAsMHg0MywweGU0LDB4NDAsMHhmYiwweDM0LDB4M2YsMHg4MSwweDA3LDB4ZDEsMHgwMywweGFkLDB4MjAsMHhlYiB9LAotICAxNiwgMHg4ZDMwLCAwLCB7MHgyMCwweDdmLDB4YzQsMHgwZiwweGUxLDB4MDMsMHhmYywweDUwLDB4Y2QsMHgxMCwweDM1LDB4NDAsMHgwZiwweGQwLDB4MDMsMHhkMCB9LAotICAxNiwgMHg4ZDQwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDQsMHhmZCwweDA0LDB4M2QsMHg0MCB9LAotICAxNiwgMHg4ZDUwLCAwLCB7MHgyZCwweDMwLDB4MDIsMHgzYywweDAwLDB4YzksMHgwMSwweDNlLDB4YzAsMHg0ZiwweGI4LDB4NDMsMHhlYywweDEwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHg4ZDYwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHhhMCwweDIzLDB4ZWMsMHg4MCwweGNiLDB4MzYsMHgzMiwweDgwLDB4NGQsMHhhOCwweDAzLDB4MmMsMHgxMCB9LAotICAxNiwgMHg4ZDcwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDZhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZDgwLCAwLCB7MHhjOCwweDExLDB4OTAsMHgwOCwweGI1LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg1MCwweDAyLDB4YmMsMHgwMiwweDg1LDB4MDQsMHgyZCB9LAotICAxNiwgMHg4ZDkwLCAwLCB7MHhjMCwweDhlLDB4NjAsMHgwNiwweGQ4LDB4MDQsMHhiNywweDA0LDB4MjEsMHg0MCwweDBiLDB4NzAsMHgwMiwweGZjLDB4ODAsMHhhZiB9LAotICAxNiwgMHg4ZGEwLCAwLCB7MHgyOCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHgwNiwweDQwLDB4ODcsMHgwMCwweDIxLDB4NTAsMHgwOCwweDUwLDB4MDIsMHgzMiB9LAotICAxNiwgMHg4ZGIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MjAsMHhiNywweDgwLDB4MmIsMHg3MCB9LAotICAxNiwgMHg4ZGMwLCAwLCB7MHgwOCwweGY4LDB4MDYsMHgxZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDcwLDB4MzIsMHhkZSwweDA0LDB4MzcsMHg4NCB9LAotICAxNiwgMHg4ZGQwLCAwLCB7MHgyNSwweGUwLDB4MGIsMHg2OCwweDA2LDB4ZGUsMHg4MCwweDg3LDB4ODAsMHgyMSwweGExLDB4MWIsMHg2OCwweDAyLDB4MWUsMHg0MCB9LAotICAxNiwgMHg4ZGUwLCAwLCB7MHg5ZiwweDgwLDB4MjAsMHg2MCwweDA4LDB4NTgsMHgwMiwweDIwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZGYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgyMCwweGIzLDB4MDAsMHgyYywweDgwLDB4ODgsMHhiNCwweDIyLDB4OGQsMHgwMCwweDgzLDB4OTAsMHgyYyB9LAotICAxNiwgMHg4ZTAwLCAwLCB7MHhjMCwweDBhLDB4MzgsMHgwMiwweGNlLDB4MDgsMHhiYiwweDIwLDB4MjQsMHhkMCwweDBiLDB4YjMsMHgwMiwweGNjLDB4MDAsMHhhMyB9LAotICAxNiwgMHg4ZTEwLCAwLCB7MHgwMCwweDYwLDB4ZDIsMHgwYiwweDIwLDB4MmEsMHgwNCwweDA4LDB4OTMsMHg1MCwweDIwLDB4NDAsMHgwOCwweDE3LDB4MGEsMHgwMiB9LAotICAxNiwgMHg4ZTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4MDAsMHhiYSwweGEwLDB4M2YsMHg4NCB9LAotICAxNiwgMHg4ZTMwLCAwLCB7MHgxYywweGUwLDB4MGIsMHgzOCwweDQwLDB4OGUsMHgwNiwweDJlLDB4ODAsMHgwYiwweGUzLDB4MDMsMHhmOCwweDgwLDB4ZmUsMHhlNCB9LAotICAxNiwgMHg4ZTQwLCAwLCB7MHhiNywweDkwLDB4MGYsMHhlYywweDAyLDB4ZTgsMHgwMCwweDhhLDB4MDAsMHhhMywweGEwLDB4MDksMHhlNCwweDAzLDB4MmEsMHgwMiB9LAotICAxNiwgMHg4ZTUwLCAwLCB7MHhkZSwweGMwLDB4ZjMsMHg4MCwweDBjLDB4NmMsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZTYwLCAwLCB7MHg0OCwweDAxLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSB9LAotICAxNiwgMHg4ZTcwLCAwLCB7MHgzMCwweDBhLDB4ODQsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4M2EsMHgwMiwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHg4ZTgwLCAwLCB7MHgwMCwweDNlLDB4MDQsMHgwZCwweDgwLDB4ODMsMHhlMCwweDQwLDB4ZTgsMHgyMCwweDNlLDB4MDAsMHgyZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg4ZTkwLCAwLCB7MHgxMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg2NCB9LAotICAxNiwgMHg4ZWEwLCAwLCB7MHg0ZSwweDkwLDB4ODMsMHgyNCwweDgwLDB4YzksMHgwMCwweDMyLDB4ZTAsMHgwZiwweDEwLDB4MDMsMHgyNSwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHg4ZWIwLCAwLCB7MHgzMiwweDQ0LDB4MGYsMHg5MiwweDIzLDB4NjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDEzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHg4ZWMwLCAwLCB7MHhjOSwweDAwLDB4MjIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZWQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MjAsMHgyZSwweDQwLDB4NDgsMHg5NiwweDIyLDB4MjUsMHgwMCwweGQ5LDB4YzAsMHhhMiB9LAotICAxNiwgMHg4ZWUwLCAwLCB7MHg3MCwweDBiLDB4OTgsMHgwMiwweDI0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg3MCwweDRiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhkOSB9LAotICAxNiwgMHg4ZWYwLCAwLCB7MHgwMCwweGEyLDB4NDAsMHgyYywweDk0LDB4MjIsMHhlNCwweDAyLDB4ODksMHgwMCwweGEyLDB4NDAsMHgyOCwweDk0LDB4MTMsMHgyMCB9LAotICAxNiwgMHg4ZjAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHg4ZjEwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODEsMHg4MCwweGEyLDB4NDQsMHgwYiwweDkxLDB4MDIsMHgyNSwweDAwLDB4MTksMHg0MCB9LAotICAxNiwgMHg4ZjIwLCAwLCB7MHg2MiwweDQwLDB4MGIsMHhiNCwweDAyLDB4NDQsMHgwMCwweDg5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDgyLDB4YzQsMHgwMSB9LAotICAxNiwgMHg4ZjMwLCAwLCB7MHg4MywweDAyLDB4MjgsMHg0MCwweDQ4LDB4OTAsMHg4MiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDA0LDB4MDUsMHg4MCwweGIxLDB4MDAsMHg2YywweDUxLDB4MDgsMHgxNCwweDFhLDB4MDUsMHgwMCwweDkzLDB4MDAsMHgyMCB9LAotICAxNiwgMHg4ZjUwLCAwLCB7MHg0MCwweDhiLDB4MTQsMHgwMiwweDA1LDB4MDAsMHhiMSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwNiwweDA0LDB4ODAsMHg5MSB9LAotICAxNiwgMHg4ZjYwLCAwLCB7MHgyMCwweDIwLDB4NDAsMHgwOSwweDEwLDB4MDIsMHhjNCwweGE4LDB4ODEsMHgwMCwweDI4LDB4NGEsMHgwOCwweDkwLDB4NGEsMHg0MiB9LAotICAxNiwgMHg4ZjcwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHg4ZjgwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHgyOCwweDAxLDB4YzgsMHg1MCwweDMyLDB4OTQsMHg4YiwweGEwLDB4MDMsMHgyMCwweDAwLDB4YjAsMHg1MCB9LAotICAxNiwgMHg4ZjkwLCAwLCB7MHgzMiwweDgwLDB4MGYsMHg4MCwweDA3LDB4NjEsMHg1MSwweGM4LDB4NTAsMHgyMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4ZTAsMHg4NCB9LAotICAxNiwgMHg4ZmEwLCAwLCB7MHhjOCwweDA0LDB4M2EsMHgwOCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZmIwLCAwLCB7MHg5OCwweDlkLDB4ZjQsMHg0MCwweGJkLDB4NDEsMHgzZiwweDUwLDB4MGYsMHhmNCwweDAzLDB4ZjUsMHgxMCwweGZkLDB4MDAsMHgzZSB9LAotICAxNiwgMHg4ZmMwLCAwLCB7MHg0MCwweDBmLDB4ZDQsMHgwMywweGY0LDB4MDAsMHhmZiwweDEwLDB4MmYsMHg0MCwweDRmLDB4ZDQsMHg0MCwweGE0LDB4NDgsMHhmOSB9LAotICAxNiwgMHg4ZmQwLCAwLCB7MHgxMiwweDNmLDB4NWEsMHg4ZSwweGQyLDB4ODMsMHhmNCwweGE4LDB4ZjUsMHgyYywweDM3LDB4NGEsMHgwZiwweGQyLDB4ODMsMHhhNiB9LAotICAxNiwgMHg4ZmUwLCAwLCB7MHgxMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4ODAsMHhmZCwweDI4LDB4M2YsMHg0YyB9LAotICAxNiwgMHg4ZmYwLCAwLCB7MHgwZiwweDUwLDB4MDMsMHgzYywweDQ0LDB4Y2QsMHg0MCwweDNmLDB4ZDAsMHgwZCwweGQwLDB4MDIsMHgxNCwweDAxLDB4ZmQsMHhhMCB9LAotICAxNiwgMHg5MDAwLCAwLCB7MHgzMSwweDQwLDB4MDMsMHhkMCwweDAzLDB4ZTcsMHg4OSwweGY5LDB4OTAsMHg3ZSwweDUwLDB4MGMsMHg5NCwweDAzLDB4ZTYsMHhjMCB9LAotICAxNiwgMHg5MDEwLCAwLCB7MHhjOSwweDEwLDB4MzIsMHg2ZCwweDBmLDB4OTEsMHgwMiwweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MDIwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHg4MCwweGI4LDB4MDEsMHgyZSwweDBjLDB4OGIsMHg4NCwweDgyLDB4MjAsMHg0MiwweDg4LDB4YTAsMHg2ZSB9LAotICAxNiwgMHg5MDMwLCAwLCB7MHgyMCwweDA4LDB4ODAsMHgwMywweDYwLDB4MDAsMHg5OCwweGU4LDB4MjIsMHgwMCwweDA5LDB4ODAsMHgwMiwweGUzLDB4YzAsMHhlOCB9LAotICAxNiwgMHg5MDQwLCAwLCB7MHhkMCwweDJlLDB4MjgsMHgwOCwweDhhLDB4MjMsMHhlMiwweDg0LDB4ZDgsMHhhMCwweDIyLDB4M2QsMHgwYiwweGM4LDB4MDIsMHhjZSB9LAotICAxNiwgMHg5MDUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM1LDB4YjAsMHhiMSwweDAwLDB4MmMsMHg0OCB9LAotICAxNiwgMHg5MDYwLCAwLCB7MHgwYiwweDEzLDB4MDIsMHgwNCwweDAyLDB4YjEsMHgyMCwweDJlLDB4NDAsMHg4OCwweDEwLDB4MjIsMHhjNCwweDAwLDB4YjEsMHgxNCB9LAotICAxNiwgMHg5MDcwLCAwLCB7MHgyNCwweDQwLDB4MGIsMHgxMCwweDUyLDB4YzQsMHgwMCwweGIxLDB4MjEsMHgyZCwweDQ4LDB4MGEsMHg1MiwweDAyLDB4ZDUsMHgwMCB9LAotICAxNiwgMHg5MDgwLCAwLCB7MHhiZCwweDAwLDB4YWQsMHg0MCwweDBiLDB4NTIsMHgwMiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MDkwLCAwLCB7MHgxOCwweDU1LDB4YTUsMHgwMCwweGI5LDB4ODIsMHgyZSwweDQ5LDB4OGIsMHhiMCwweDEyLDB4MjQsMHgxMCwweDk5LDB4MDIsMHgyZSB9LAotICAxNiwgMHg5MGEwLCAwLCB7MHg0MCwweDA4LDB4YjIsMHgwMCwweDY1LDB4MDAsMHg5OSwweDgwLDB4MjYsMHg0NCwweDA5LDB4OTEsMHgwMiwweGU0LDB4MDksMHhhOSB9LAotICAxNiwgMHg5MGIwLCAwLCB7MHgwNCwweDJlLDB4NDYsMHgwYSwweGQ0LDB4MDIsMHhiNCwweDAwLDB4YmQsMHg0MCwweDJmLDB4NDAsMHgwYiwweGQwLDB4MDIsMHhjNiB9LAotICAxNiwgMHg5MGMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4NDAsMHhmOSwweDgwLDB4MmUsMHg2MiB9LAotICAxNiwgMHg5MGQwLCAwLCB7MHgwZiwweDljLDB4NDIsMHgyNCwweDAwLDB4OTksMHgwMSwweDJlLDB4NjgsMHgyYywweDkyLDB4MDIsMHg2NCwweDAwLDB4YjksMHg0MCB9LAotICAxNiwgMHg5MGUwLCAwLCB7MHhiNiwweDYwLDB4MGYsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDcwLDB4M2UsMHg5OSwweDA2LDB4ZTQsMHgwMiB9LAotICAxNiwgMHg5MGYwLCAwLCB7MHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTgsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MTAwLCAwLCB7MHg2OCwweDAxLDB4YTYsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MWYsMHgxMiwweGFiLDB4ZTQsMHgwMCwweGU5LDB4OTAsMHgzZSB9LAotICAxNiwgMHg5MTEwLCAwLCB7MHg0OSwweDBlLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2EsMHg0MCwweDBkLDB4OTgsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHg5MTIwLCAwLCB7MHgwMSwweDNlLDB4NjAsMHgwNSwweDkwLDB4MTMsMHhlNCwweDAwLDB4NTksMHgyMCwweDMyLDB4NDAsMHg4ZiwweDkxLDB4MDMsMHhkYSB9LAotICAxNiwgMHg5MTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDA4LDB4M2UsMHgwMSB9LAotICAxNiwgMHg5MTQwLCAwLCB7MHgwZiwweDg0LDB4NjMsMHgwMCwweDIyLDB4ZTgsMHgyMCwweDNlLDB4MTMsMHgwZiwweDg0LDB4MDMsMHhlMSwweGMwLDB4ZDgsMHg0YyB9LAotICAxNiwgMHg5MTUwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4NCwweDQzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyMiwweDEwLDB4MGYsMHg4NCwweDAzLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MTYwLCAwLCB7MHhjOCwweDAwLDB4YjIsMHgwMCwweDBjLDB4YzAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MTcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhlLDB4MDAsMHgyZiwweDg2LDB4NGIsMHhlMCwweDAyLDB4MzksMHgwOCwweDhlLDB4MjAsMHgyZCB9LAotICAxNiwgMHg5MTgwLCAwLCB7MHg5MCwweDBiLDB4ZWQsMHg5MiwweGY4LDB4MDIsMHg4ZSwweGUwLDB4YTMsMHg5OCwweDA4LDB4ZTAsMHgwMiwweGU4LDB4MDgsMHhiYSB9LAotICAxNiwgMHg5MTkwLCAwLCB7MHgwMCwweDYyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4MDIsMHg4MCwweDAyLDB4ODAsMHg0OCwweGUwLDB4MDMsMHg0YSB9LAotICAxNiwgMHg5MWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDEwLDB4MmMsMHhmMCB9LAotICAxNiwgMHg5MWIwLCAwLCB7MHgwYSwweDE0LDB4MmEsMHgwZCwweDFhLDB4YjMsMHgwMSwweDI0LDB4ZDAsMHgwYiwweGJjLDB4MzIsMHhjYywweDA4LDB4MDMsMHgwMCB9LAotICAxNiwgMHg5MWMwLCAwLCB7MHgyMCwweGM4LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDIsMHgyMiwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgxMSB9LAotICAxNiwgMHg5MWQwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDI4LDB4MjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MWUwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMSwweDg1LDB4MDAsMHgyZCwweDAwLDB4MGIsMHg3MCwweDAyLDB4MTgsMHgzMiwweDg2LDB4MDAsMHgyZCB9LAotICAxNiwgMHg5MWYwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgxNiwweGZlLDB4MDQsMHg4NiwweDAwLDB4MjcsMHhhMCwweDhiLDB4NzAsMHg0MiwweGRjLDB4ODAsMHhiNyB9LAotICAxNiwgMHg5MjAwLCAwLCB7MHg4MCwweDIxLDB4MDEsMHgwOCwweGY4LDB4MGEsMHgxOCwweDAwLDB4ODYsMHgwOCwweDIwLDB4YTAsMHgwOCwweGU4LDB4MGEsMHg2OCB9LAotICAxNiwgMHg5MjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDNlLDB4MDIsMHhjNiwweDgwLDB4M2QsMHhlMCB9LAotICAxNiwgMHg5MjIwLCAwLCB7MHgwZiwweDQ4LDB4MDMsMHgwNiwweDA0LDB4ZjUsMHg4MiwweDM1LDB4ZTAsMHgwZiwweDc4LDB4MDMsMHhkYSwweDAwLDB4ZDMsMHg4MCB9LAotICAxNiwgMHg5MjMwLCAwLCB7MHgzMSwweDYwLDB4MDcsMHg3OCwweDAzLDB4ZGUsMHgyMCwweGYzLDB4YjAsMHg4MSwweGUwLDB4NGYsMHg2OCwweDA3LDB4MGUsMHgwMiB9LAotICAxNiwgMHg5MjQwLCAwLCB7MHhjZiwweDgwLDB4MzEsMHhlMCwweDBjLDB4NzgsMHgxMywweDJhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MjUwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHhhMCwweGY5LDB4MDAsMHgzZiwweDAwLDB4MGYsMHhiMCwweDUzLDB4ZjgsMHgxMCwweGE5LDB4MDAsMHgzZSB9LAotICAxNiwgMHg5MjYwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgwMSwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2EsMHhjMCwweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiB9LAotICAxNiwgMHg5MjcwLCAwLCB7MHg3NCwweDNjLDB4MDAsMHgwZiwweDIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweDMwLDB4MDMsMHhjMiB9LAotICAxNiwgMHg5MjgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDIsMHg4ZiwweDgwLDB4MzUsMHhlMCB9LAotICAxNiwgMHg5MjkwLCAwLCB7MHg4ZCwweGQ5LDB4MDMsMHgyZSwweGM0LDB4ZjYsMHg4MCwweDMyLDB4YTQsMHgwYywweGI4LDB4MDMsMHhkZSwweDAwLDB4Y2YsMHg5MCB9LAotICAxNiwgMHg5MmEwLCAwLCB7MHgzYywweGU0LDB4MGMsMHhiOCwweDAzLDB4ZmUsMHg2NSwweGZmLDB4ODAsMHgwZiwweGVjLDB4OGYsMHhmOCwweDAzLDB4ZmUsMHgwMCB9LAotICAxNiwgMHg5MmIwLCAwLCB7MHhjNSwweDgwLDB4MzMsMHhlMCwweDBmLDB4NjgsMHgwMywweDEwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MmMwLCAwLCB7MHhhYSwweDExLDB4OWMsMHg4MCwweDg0LDB4YjAsMHgyMCwweDIwLDB4MjksMHg3MywweDBhLDB4MGUsMHg4MiwweGEyLDB4YTAsMHhhMiB9LAotICAxNiwgMHg5MmQwLCAwLCB7MHhhMCwweDRmLDB4M2IsMHgwMywweDg3LDB4ODQsMHhiMiwweDgwLDB4MmMsMHhhMCwweDBhLDB4N2QsMHgwMiwweGRlLDB4ODAsMHhmNyB9LAotICAxNiwgMHg5MmUwLCAwLCB7MHgyMCwweDI1LDB4MDYsMHgwOCwweDcwLDB4MDIsMHhjOCwweDQwLDB4ODQsMHgwMCwweDM1LDB4ODAsMHgwYiwweDYwLDB4MDMsMHg2YSB9LAotICAxNiwgMHg5MmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MTAsMHg4NiwweDM4LDB4MjcsMHhjMCB9LAotICAxNiwgMHg5MzAwLCAwLCB7MHg0OSwweDU0LDB4MDYsMHg1NCwweDQwLDB4MWQsMHgyMCwweDIxLDB4Y2EsMHgwOSwweDYxLDB4NDAsMHhmOCwweDgwLDB4YjcsMHgyMCB9LAotICAxNiwgMHg5MzEwLCAwLCB7MHgyZiwweDAwLDB4ODksMHg3MCwweDEyLDB4ZGMsMHg4MSwweGI3LDB4MDQsMHgyZCwweGM5LDB4MGEsMHg2MCwweDAyLDB4Y2MsMHgwMCB9LAotICAxNiwgMHg5MzIwLCAwLCB7MHg4ZCwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjgsMHgwMiwweDA0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MzMwLCAwLCB7MHg2MCwweDE0LDB4Y2QsMHgyOCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDksMHhiMCwweDIyLDB4NGMsMHgwMiwweGExLDB4MDEsMHgyMCB9LAotICAxNiwgMHg5MzQwLCAwLCB7MHgzMCwweDFiLDB4MjMsMHgwMiwweGFmLDB4MjAsMHhiMywweDA4LDB4MmMsMHg4MCwweDFiLDB4MzAsMHgwMCwweGNjLDB4MDQsMHhhMyB9LAotICAxNiwgMHg5MzUwLCAwLCB7MHgwMSwweDI2LDB4MzAsMHgwOCwweGFjLDB4MjIsMHhlOCwweDAyLDB4ODAsMHgwOCwweDJlLDB4ODAsMHg0YiwweGI0LDB4MDIsMHg1OCB9LAotICAxNiwgMHg5MzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MTAsMHg4YiwweDgwLDB4MzYsMHhmMCB9LAotICAxNiwgMHg5MzcwLCAwLCB7MHgyZCwweGJjLDB4MGIsMHg2YywweDAxLDB4ZGEsMHgwNCwweDIyLDB4NDAsMHg3ZCwweDk0LDB4MjIsMHhlNCwweDAwLDB4YWIsMHg0NCB9LAotICAxNiwgMHg5MzgwLCAwLCB7MHgyZSwweGMwLDB4MDksMHhiOCwweDAyLDB4ZmMsMHgwMCwweGJmLDB4MDAsMHgzZSwweGYwLDB4Y2EsMHg5MiwweDAyLDB4ZTQsMHgwMiB9LAotICAxNiwgMHg5MzkwLCAwLCB7MHhjYiwweDAwLDB4NmUsMHg0MCwweDBmLDB4ODQsMHgwMSwweDJlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5M2EwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzYSwweGUwLDB4MmUsMHhiYywweDAzLDB4OTgsMHgwOCwweGVhLDB4NDAsMHgzNiB9LAotICAxNiwgMHg5M2IwLCAwLCB7MHg0MywweDhjLDB4OTAsMHgwMywweGE0LDB4NDQsMHgyYSwweDQwLDB4M2UsMHgxMCwweDBlLDB4YjUsMHg4MywweGVjLDB4MTQsMHhmYiB9LAotICAxNiwgMHg5M2MwLCAwLCB7MHgwMCwweDI2LDB4MDAsMHgwZSwweDkyLDB4MDMsMHhlMCwweDQwLDB4ZmEsMHgwMCwweDE2LDB4MDAsMHgwZiwweDgwLDB4MTMsMHhlMCB9LAotICAxNiwgMHg5M2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGVjLDB4MDIsMHhmYSwweDgwLDB4M2YsMHhlMiB9LAotICAxNiwgMHg5M2UwLCAwLCB7MHgwZiwweGIwLDB4MGIsMHgyNCwweDAwLDB4ZWYsMHg5MiwweGJiLDB4ZTAsMHgxYywweGQwLDB4MDMsMHg3NCwweDAwLDB4Y2YsMHgwNSB9LAotICAxNiwgMHg5M2YwLCAwLCB7MHgzYiwweDQwLDB4MGYsMHhjOCwweDAzLDB4NWMsMHgwMCwweGNmLDB4MDAsMHgzMiwweGMyLDB4NGQsMHhjMSwweDIzLDB4MzQsMHg0MCB9LAotICAxNiwgMHg5NDAwLCAwLCB7MHhjZiwweDAwLDB4MTcsMHg0NCwweDBjLDB4ZDEsMHg4MywweDAwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NDEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4ODQsMHgyZSwweDU0LDB4MGIsMHhiYywweDBhLDB4MjksMHg4MCwweDhiLDB4ODAsMHgzMiB9LAotICAxNiwgMHg5NDIwLCAwLCB7MHgwMCwweDA4LDB4OWMsMHgwMywweGE3LDB4MDAsMHhhYiwweDg0LDB4MmUsMHg3YywweDBiLDB4ODAsMHgwMiwweDJjLDB4MTAsMHhkYiB9LAotICAxNiwgMHg5NDMwLCAwLCB7MHgwMSwweDM2LDB4MDAsMHgwOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4ODIsMHgwMCwweDIyLDB4MDAsMHgwOCwweDkwLDB4MDIsMHgyNCB9LAotICAxNiwgMHg5NDQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDBjLDB4MDAsMHg4OSwweDEwLDB4NjYsMHg5MCB9LAotICAxNiwgMHg5NDUwLCAwLCB7MHgwYiwweGI4LDB4MDIsMHg2ZSwweDEyLDB4YTMsMHg0MSwweDIwLDB4MDQsMHgwYSwweDk4LDB4MjIsMHhlMiwweDAwLDB4ODksMHgxOSB9LAotICAxNiwgMHg5NDYwLCAwLCB7MHgyZSwweGMwLDB4NGIsMHgzMSwweDIyLDB4NmMsMHgwOCwweDgzLDB4MDAsMHgyMiwweGMwLDB4MDksMHg5MCwweDAyLDB4MjQsMHgwMCB9LAotICAxNiwgMHg5NDcwLCAwLCB7MHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NDgwLCAwLCB7MHgwOCwweDEwLDB4MGMsMHgwMCwweDgwLDB4MjAsMHgyYywweDBlLDB4MWIsMHgzMCwweDAyLDB4MDQsMHg0MSwweDgwLDB4MjAsMHgyMCB9LAotICAxNiwgMHg5NDkwLCAwLCB7MHgxMiwweDE4LDB4MTYsMHg0MiwweDAwLDB4NTAsMHhhMCwweDQwLDB4MmMsMHg4OCwweDFiLDB4MzAsMHgwMiwweDBjLDB4ODEsMHg5MyB9LAotICAxNiwgMHg5NGEwLCAwLCB7MHgwMCwweDI0LDB4MDAsMHgwOCwweDEwLDB4MmEsMHgwMCwweDBhLDB4ODgsMHgwMCwweDI4LDB4MDAsMHgyOCwweDAwLDB4MGEsMHgwMiB9LAotICAxNiwgMHg5NGIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDdjLDB4MTEsMHhlOCwweDAwLDB4MjYsMHg5OCB9LAotICAxNiwgMHg5NGMwLCAwLCB7MHgwZiwweGIwLDB4MTMsMHgyMSwweDBjLDB4ZWIsMHg2MCwweDNhLDB4ZDgsMHgyOCwweDg0LDB4YTIsMHhlMSwweDgwLDB4YzgsMHgyMCB9LAotICAxNiwgMHg5NGQwLCAwLCB7MHgzZSwweDVlLDB4MWYsMHg4MiwweDAzLDB4N2MsMHgwMCwweGNmLDB4MDAsMHgzMiwweGMwLDB4NGQsMHg4MCwweDA3LDB4MjUsMHgwMCB9LAotICAxNiwgMHg5NGUwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NGYwLCAwLCB7MHhhMSwweDExLDB4ZmMsMHgwMCwweGY4LDB4MTMsMHgxZSwweDAwLDB4MGIsMHhmMCwweDAxLDB4ZjAsMHhkMCwweGY5LDB4MTksMHgxZiB9LAotICAxNiwgMHg5NTAwLCAwLCB7MHgwOCwweDRmLDB4YzAsMHgxMywweGExLDB4MDAsMHhmOCwweDYyLDB4M2YsMHhjMCwweDBiLDB4YzQsMHgwNywweGVkLDB4MDAsMHhmZiB9LAotICAxNiwgMHg5NTEwLCAwLCB7MHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MjMsMHhmMCwweGEwLDB4ZmMsMHgwMCwweDMzLDB4MDAsMHgwZiwweGQwLDB4MDMsMHhlOCB9LAotICAxNiwgMHg5NTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhmZiwweDBjLDB4M2YsMHgyMCB9LAotICAxNiwgMHg5NTMwLCAwLCB7MHgwYywweGM5LDB4MDMsMHgzMiwweDAwLDB4Y2YsMHgzOCwweDNmLDB4ZDAsMHgwZiwweDQ4LDB4MDMsMHhmYywweGEwLDB4Y2UsMHgyMiB9LAotICAxNiwgMHg5NTQwLCAwLCB7MHgzMywweDAwLDB4MGYsMHhjMSwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzZCwweGM0LDB4NGMsMHhjMCwweDIzLDB4OGMsMHhlNCB9LAotICAxNiwgMHg5NTUwLCAwLCB7MHhmZiwweDEwLDB4MzcsMHgyMCwweDA4LDB4ZjEsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NTYwLCAwLCB7MHg4MCwweDEwLDB4ZmUsMHgwMCwweGJmLDB4ODAsMHgyZSwweDc0LDB4MDUsMHgyMiwweDAyLDB4YTIsMHgxMCwweGRmLDB4NjEsMHgyZiB9LAotICAxNiwgMHg5NTcwLCAwLCB7MHhkMCwweDhiLDB4OTAsMHgwMiwweDNkLDB4YTQsMHhhYSwweDkwLDB4MjIsMHhmNCwweDBiLDB4MDcsMHgxMiwweDFkLDB4MjAsMHhiYiB9LAotICAxNiwgMHg5NTgwLCAwLCB7MHhjMCwweDJmLDB4ZDgsMHg4OCwweDk3LDB4ODIsMHhmZCwweDgwLDB4ZWYsMHg3MiwweDIyLDB4MDgsMHgyOCwweGY2LDB4MjMsMHhlMCB9LAotICAxNiwgMHg5NTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4NDAsMHhiMywweDAwLDB4MmMsMHgwMCB9LAotICAxNiwgMHg5NWEwLCAwLCB7MHgwOCwweDgyLDB4MDIsMHgyMiwweDAwLDB4ODMsMHgwMSwweDA4LDB4Y2MsMHg4YiwweDIwLDB4ODIsMHhjYywweDAwLDB4OTAsMHgwMCB9LAotICAxNiwgMHg5NWIwLCAwLCB7MHgyMCwweDAwLDB4NGIsMHgxMiwweDAyLDB4MGQsMHg4MCwweGIzLDB4NDAsMHgyYywweGQ4LDB4MDgsMHgyMCwweDQyLDB4OGMsMHg4MCB9LAotICAxNiwgMHg5NWMwLCAwLCB7MHhiMywweDIwLDB4MjYsMHgwMiwweDE4LDB4MzMsMHgyNiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NWQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwOSwweGJiLDB4MDAsMHgyZSwweDYwLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweDliLDB4MDAsMHgyZSB9LAotICAxNiwgMHg5NWUwLCAwLCB7MHhjMCwweDBiLDB4YWMsMHgwMiwweDJjLDB4MDAsMHhiYSwweDA2LDB4MjIsMHhjMiwweDBiLDB4OTQsMHgwMiwweGFjLDB4MTAsMHhiYiB9LAotICAxNiwgMHg5NWYwLCAwLCB7MHgwMCwweDJlLDB4YzEsMHgwOCwweGE4LDB4MDIsMHhlYywweDAwLDB4YWIsMHgwMCwweDIyLDB4MDAsMHgwOCwweGIwLDB4MDYsMHhmMCB9LAotICAxNiwgMHg5NjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgxNSwweGVjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHg2MCB9LAotICAxNiwgMHg5NjEwLCAwLCB7MHgyOCwweDgyLDB4MTMsMHgwZSwweDA4LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgwZiwweDhjLDB4MDMsMHhlYywweDExLDB4ZGIsMHgyMCB9LAotICAxNiwgMHg5NjIwLCAwLCB7MHhiMiwweDkwLDB4NGIsMHhhOCwweDBiLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyYywweGMwLDB4MGMsMHg4OCwweDEzLDB4YWMsMHgwMCB9LAotICAxNiwgMHg5NjMwLCAwLCB7MHhmMywweDAwLDB4MzYsMHgwNiwweDQ4LDB4YjAsMHgxMiwweGM0LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NjQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZiLDB4MDgsMHgzZCwweDQwLDB4OGYsMHhlYSwweDAxLDB4ZjQsMHgwMCwweGZmLDB4MDEsMHgyZiB9LAotICAxNiwgMHg5NjUwLCAwLCB7MHhjMCwweDBmLDB4ZDAsMHgyMiwweGZjLDB4MDQsMHhhZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTksMHgwMywweDdjLDB4MDAsMHhmZiB9LAotICAxNiwgMHg5NjYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweDkwLDB4NDMsMHhmYywweDIwLDB4ZWYsMHgwMiwweDNmLDB4MDAsMHg4ZiwweGYwLDB4MDMsMHhiOCB9LAotICAxNiwgMHg5NjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgxMCwweGFjLDB4MDgsMHhlYiwweDAwLDB4MTIsMHg0MCB9LAotICAxNiwgMHg5NjgwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHgyOCwweDIwLDB4YWIsMHgwMCwweDNhLDB4YzAsMHg4ZiwweDg1LDB4ODMsMHhhYywweDEwLDB4ZjMsMHg1MCB9LAotICAxNiwgMHg5NjkwLCAwLCB7MHgzMiwweDkwLDB4NGMsMHgzNCwweDEzLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGMsMHg5OCwweDAzLDB4MmMsMHg0MCB9LAotICAxNiwgMHg5NmEwLCAwLCB7MHhlYiwweDgwLDB4MzIsMHgxMiwweDBkLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NmIwLCAwLCB7MHg4OCwweDAxLDB4M2MsMHgxMCwweDBmLDB4MDUsMHhhMiwweDUwLDB4MGMsMHgxMCwweDAyLDB4MjIsMHgxMCwweDhmLDB4MDAsMHgyMyB9LAotICAxNiwgMHg5NmMwLCAwLCB7MHhjMCwweDBiLDB4ODgsMHgxMiwweDNjLDB4MDAsMHg5YiwweDgyLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDNjLDB4MDAsMHg4ZiB9LAotICAxNiwgMHg5NmQwLCAwLCB7MHhhMCwweDJmLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgzYywweDA4LDB4OGYsMHgwMiwweDIwLDB4MDAsMHgwOCwweGYwLDB4MDMsMHgyNiB9LAotICAxNiwgMHg5NmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRkLDB4MjAsMHg5MywweDAwLDB4MjAsMHhiMiB9LAotICAxNiwgMHg5NmYwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwMSwweDAwLDB4YTMsMHgwMCwweDY4LDB4YzAsMHgwYiwweDg0LDB4MDIsMHhhYywweDAwLDB4YjMsMHg4MCB9LAotICAxNiwgMHg5NzAwLCAwLCB7MHgyMCwweDQwLDB4MGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweGEzLDB4MDQsMHgyYywweGMwLDB4MDgsMHgwMCwweDAyLDB4MGQsMHgwMCB9LAotICAxNiwgMHg5NzEwLCAwLCB7MHhhMywweDAwLDB4MjAsMHgyNCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NzIwLCAwLCB7MHg3MCwweDAxLDB4MWMsMHgyMCwweDk3LDB4ODAsMHgyMywweDYwLDB4MDgsMHg3OCwweDEyLDB4M2EsMHgwMCwweDgzLDB4OTEsMHgyOSB9LAotICAxNiwgMHg5NzMwLCAwLCB7MHhlNCwweDBiLDB4NTksMHgwMiwweDFlLDB4MDAsMHg5NywweDkwLDB4MjAsMHhmYywweDBhLDB4NzgsMHgwMiwweDFlLDB4MDAsMHg4NyB9LAotICAxNiwgMHg5NzQwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgxOSwweDU5LDB4MDIsMHgxZSwweDgwLDB4ODMsMHg4MCwweDYxLDB4YTAsMHgwOCwweDc4LDB4MDIsMHgxOCB9LAotICAxNiwgMHg5NzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDAsMHhkMywweDMyLDB4MzAsMHgwNiB9LAotICAxNiwgMHg5NzYwLCAwLCB7MHgwZiwweDMwLDB4MDMsMHgwNCwweDY0LDB4ZTMsMHgwMSwweDM4LDB4YzQsMHgxZiwweDMwLDB4MDcsMHg4YywweDE4LDB4ZjEsMHgwMCB9LAotICAxNiwgMHg5NzcwLCAwLCB7MHgzMCwweDRjLDB4MGUsMHgzMCwweDAzLDB4NGMsMHgwMCwweGUzLDB4MDAsMHgyYywweGMwLDB4MGMsMHgyMCwweDAzLDB4MGUsMHgwMCB9LAotICAxNiwgMHg5NzgwLCAwLCB7MHhlMywweDAwLDB4MzIsMHgwOCwweDBjLDB4YjEsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NzkwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHg4MCwweGVmLDB4MTAsMHgzZCwweDQ0LDB4NGYsMHhmMSwweDA3LDB4Y2MsMHgwMCwweGZmLDB4MDgsMHgzNiB9LAotICAxNiwgMHg5N2EwLCAwLCB7MHhjNiwweGNmLDB4YjAsMHgwMywweGZjLDB4MDAsMHg5NywweDAwLDB4YmUsMHhjYywweDBkLDB4YjEsMHgwMywweGZkLDB4MDQsMHhmZiB9LAotICAxNiwgMHg5N2IwLCAwLCB7MHgwYywweDNmLDB4ZDIsMHg5ZSwweGUwLDB4NGIsMHhmZCwweDIwLDB4ZmYsMHgwMiwweDNmLDB4ODAsMHgwZSwweGYwLDB4MTMsMHhkMCB9LAotICAxNiwgMHg5N2MwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4YzAsMHhjYiwweDI4LDB4M2UsMHhjMCB9LAotICAxNiwgMHg5N2QwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZmIsMHgwMSwweDMyLDB4ZTksMHgwYywweDI4LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHg5N2UwLCAwLCB7MHgzMiwweGMwLDB4MGMsMHhiNCwweDgzLDB4MmMsMHgwMSwweGVmLDB4MDAsMHhiMiwweGM4LDB4MGMsMHgyMCwweDAzLDB4NmQsMHgwMCB9LAotICAxNiwgMHg5N2YwLCAwLCB7MHhjYiwweDEwLDB4M2UsMHgwMCwweDBmLDB4YjIsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ODAwLCAwLCB7MHhjOCwweDkxLDB4OWMsMHhjNCwweDg3LDB4NjAsMHgyZCwweGMwLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MTIsMHgyMCB9LAotICAxNiwgMHg5ODEwLCAwLCB7MHhjYywweDBhLDB4NzAsMHgwMiwweDFjLDB4YzAsMHhiMywweDAwLDB4YTAsMHhjMCwweGM4LDB4NzAsMHgyMiwweDFjLDB4ODAsMHhiNyB9LAotICAxNiwgMHg5ODIwLCAwLCB7MHgyNCwweDIxLDB4YzgsMHg0OCwweDUwLDB4MDIsMHgwYywweDgwLDB4ODcsMHgxMCwweDJkLDB4NDAsMHgwYiwweDcyLDB4ODIsMHhmMiB9LAotICAxNiwgMHg5ODMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODEsMHgwMCwweDhlLDB4MDIsMHg4NywweDgwLDB4MmQsMHhlMCB9LAotICAxNiwgMHg5ODQwLCAwLCB7MHgwYiwweDc4LDB4MTIsMHhkZSwweDAwLDB4YjcsMHhhMCwweDIxLDB4ZTAsMHgwOCwweGY4LDB4OGUsMHgxZSwweDQwLDB4YjcsMHg4OCB9LAotICAxNiwgMHg5ODUwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHgzOCwweDAyLDB4MWUsMHg0MCwweGIzLDB4YTEsMHgyMCwweGU4LDB4NDgsMHhmOCwweDgyLDB4NWUsMHgwMiB9LAotICAxNiwgMHg5ODYwLCAwLCB7MHg4NywweDgwLDB4MmQsMHgyMiwweDBiLDB4NzksMHgwMiwweGUwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ODcwLCAwLCB7MHgwOCwweDA0LDB4Y2MsMHgwNCwweDgzLDB4MDIsMHgyYywweGQ0LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHhhMCB9LAotICAxNiwgMHg5ODgwLCAwLCB7MHhjMCwweDhhLDB4MzgsMHgwNiwweDBjLDB4MDAsMHhiMywweDgwLDB4MjAsMHhlMSwweDQ4LDB4MzksMHgxMiwweDJjLDB4MDAsMHhiMyB9LAotICAxNiwgMHg5ODkwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4ODIsMHg2YywweDAwLDB4ODMsMHgwMCwweDJjLDB4NDgsMHgwYiwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHg5OGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhjYSwweDAwLDB4M2YsMHhhMCB9LAotICAxNiwgMHg5OGIwLCAwLCB7MHgwZiwweGU0LDB4MDMsMHhkOCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGU4LDB4MDMsMHgyOCwweDAwLDB4ZmEsMHg0MCB9LAotICAxNiwgMHg5OGMwLCAwLCB7MHgzMiwweGE4LDB4MmMsMHhhMCwweDA5LDB4MjgsMHgwOCwweGYyLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlNCwweDAzLDB4NjgsMHgwMCB9LAotICAxNiwgMHg5OGQwLCAwLCB7MHhjYSwweDAwLDB4M2YsMHg4MCwweDBmLDB4YTAsMHgwMywweGZiLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OGUwLCAwLCB7MHg0OCwweDAwLDB4YzAsMHgwMCwweGY4LDB4MDEsMHgzZSwweDEyLDB4MGIsMHg4MCwweDAzLDB4ZTAsMHg0MCwweGY4LDB4MDAsMHgzZSB9LAotICAxNiwgMHg5OGYwLCAwLCB7MHgwMCwweDRmLDB4ODQsMHgwMywweGUwLDB4MDQsMHhmMCwweDA4LDB4M2UsMHgwMCwweDRmLDB4MDAsMHgwMywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHg5OTAwLCAwLCB7MHg0MSwweDNlLDB4MDAsMHgyZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg5OTEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU2LDB4MDAsMHhjOSwweDEyLDB4M2UsMHg1MCB9LAotICAxNiwgMHg5OTIwLCAwLCB7MHg4ZiwweDkwLDB4ODMsMHhlNCwweDIwLDB4YzEsMHgwMCwweDNhLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHg5OTMwLCAwLCB7MHgzMCwweDY4LDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5OCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHg5OTQwLCAwLCB7MHhjOSwweDkwLDB4M2UsMHg2OSwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OTUwLCAwLCB7MHg4MCwweDA0LDB4NjcsMHg0YSwweDg5LDB4ODAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHg4MCwweGE5LDB4MDAsMHgyMiB9LAotICAxNiwgMHg5OTYwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MTAsMHg4OSB9LAotICAxNiwgMHg5OTcwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgwOCwweDkzLDB4MDIsMHgyNCwweDIyLDB4ODksMHg0MiwweDJjLDB4NjAsMHg0OCwweDkwLDB4MDIsMHgyMCB9LAotICAxNiwgMHg5OTgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweDI0LDB4MDAsMHg5OSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHg5OTkwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9LAotICAxNiwgMHg5OWEwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhkMCwweDAyLDB4MjQsMHgwMCwweDk5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MCwweDA2LDB4MjQsMHg0MCB9LAotICAxNiwgMHg5OWIwLCAwLCB7MHg4OSwweDQxLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OWMwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHg4MCwweDkxLDB4MjAsMHgyYywweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGExLDB4MjAsMHgyMCB9LAotICAxNiwgMHg5OWQwLCAwLCB7MHg0OCwweDBiLDB4MTAsMHgwMiwweGM0LDB4ODAsMHhiMSwweDIwLDB4YTEsMHg0OSwweDA4LDB4NTIsMHg0YSwweDA0LDB4ODAsMHg4MSB9LAotICAxNiwgMHg5OWUwLCAwLCB7MHgwMCwweDIwLDB4NDgsMHg0OCwweDEyLDB4MGEsMHgwNCwweDgwLDB4ODEsMHgyMCwweDJjLDB4NDAsMHgyOCwweDEyLDB4MDIsMHgwMiB9LAotICAxNiwgMHg5OWYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDgsMHhkOCwweDA0LDB4M2UsMHg4MCB9LAotICAxNiwgMHg5YTAwLCAwLCB7MHgwZiwweDg1LDB4MDMsMHhlMCwweDAwLDB4YzAsMHg1MCwweDNhLDB4MTQsMHgwZiwweGE1LDB4MDMsMHhlMSwweDQwLDB4ZjgsMHgwMiB9LAotICAxNiwgMHg5YTEwLCAwLCB7MHgzMiwweDgwLDB4MmMsMHhjNSwweDAzLDB4MjEsMHg0MCwweGRhLDB4MDAsMHgzYSwweDE0LDB4MGUsMHg4NSwweDQzLDB4MjEsMHg0MCB9LAotICAxNiwgMHg5YTIwLCAwLCB7MHhjOCwweDUyLDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YTMwLCAwLCB7MHg4OCwweDFkLDB4ZTQsMHg0NCwweGU5LDB4MTAsMHgzZiwweDQ0LDB4NGYsMHhkMCwweDAyLDB4ZmMsMHgwMCwweGY5LDB4MTIsMHgzZSB9LAotICAxNiwgMHg5YTQwLCAwLCB7MHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmZCwweDEwLDB4M2UsMHg0NCwweDRmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhlOSB9LAotICAxNiwgMHg5YTUwLCAwLCB7MHg0MCwweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMiwweDNmLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNiB9LAotICAxNiwgMHg5YTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGY2LDB4YTAsMHhmZCwweDgwLDB4YjMsMHg0MCB9LAotICAxNiwgMHg5YTcwLCAwLCB7MHgwYywweDEwLDB4MDMsMHgxNCwweDAwLDB4ZmQsMHhhMCwweDMyLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhlNCwweDAwLDB4ZjUsMHg4NiB9LAotICAxNiwgMHg5YTgwLCAwLCB7MHgzMywweDYwLDB4MmMsMHg5YSwweDgzLDB4MjQsMHgwNCwweGZkLDB4YTgsMHgyMiwweDQwLDB4MGQsMHg1MCwweDQzLDB4ZjQsMHgwMCB9LAotICAxNiwgMHg5YTkwLCAwLCB7MHhmZCwweDAwLDB4MzMsMHg0MCwweDBmLDB4OTAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YWEwLCAwLCB7MHg3OCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4MDAsMHgyMiwweDAwLDB4MjgsMHg4MCwweDAyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHhhMiB9LAotICAxNiwgMHg5YWIwLCAwLCB7MHgwMCwweDBiLDB4OGEsMHgxMiwweGUwLDB4MDAsMHhiOCwweDA0LDB4MjIsMHgxNCwweDA4LDB4ODQsMHgwMiwweDIwLDB4MDAsMHhiOCB9LAotICAxNiwgMHg5YWMwLCAwLCB7MHg0MCwweDIwLDB4MDAsMHg4OCwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweGEyLDB4MDAsMHgwYiwweDgwLDB4MDIsMHgwZSB9LAotICAxNiwgMHg5YWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDQyLDB4MjAsMHg0MCB9LAotICAxNiwgMHg5YWUwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHg0MCwweDIwLDB4NDAsMHgwYiwweDEwLDB4MDYsMHhjNCwweDAwLDB4YjEsMHg0MCB9LAotICAxNiwgMHg5YWYwLCAwLCB7MHgyNCwweDQwLDB4MDgsMHgxMCwweDAyLDB4NDQsMHgwNCwweGIxLDB4MDAsMHg2MCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwMCB9LAotICAxNiwgMHg5YjAwLCAwLCB7MHhiMSwweDAwLDB4MjAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YjEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MDIsMHgyMiwweDYwLDB4MDgsMHg5NCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDEsMHgyMiB9LAotICAxNiwgMHg5YjIwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDAsMHhiOSwweDIwLDB4MjYsMHg0MCwweDA4LDB4OTQsMHgwMiwweDY0LDB4MDgsMHhiOSB9LAotICAxNiwgMHg5YjMwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHgwOCwweDkyLDB4MDIsMHhlYywweDA4LDB4YjksMHgwNCwweDIyLDB4NDEsMHgwYiwweDEwLDB4MDIsMHgwNiB9LAotICAxNiwgMHg5YjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MTAsMHhmMSwweDAwLDB4MzIsMHg2MCB9LAotICAxNiwgMHg5YjUwLCAwLCB7MHgwYywweDk0LDB4MGIsMHgyNSwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHg4ZiwweDk0LDB4ZDMsMHhlNCwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHg5YjYwLCAwLCB7MHgzNiwweDQwLDB4NGMsMHg5MCwweDBiLDB4NjQsMHgwMCwweGYxLDB4MDAsMHgzMiwweDQwLDB4MGQsMHg5MiwweDEyLDB4ZTQsMHgwMCB9LAotICAxNiwgMHg5YjcwLCAwLCB7MHhmOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YjgwLCAwLCB7MHg2OCwweDQxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4OGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHg5YjkwLCAwLCB7MHg0MCwweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YmEsMHg0MCwweDJmLDB4OTAsMHgyMywweGE0LDB4MDAsMHhmOSB9LAotICAxNiwgMHg5YmEwLCAwLCB7MHgwOCwweGJlLDB4NDAsMHhjZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4ZjEsMHgwMSwweDNlLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhkYSB9LAotICAxNiwgMHg5YmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4YzgsMHhmOCwweDAwLDB4M2UsMHgwMyB9LAotICAxNiwgMHg5YmMwLCAwLCB7MHgwYywweDg0LDB4MDMsMHhhMSwweDEwLDB4ZTgsMHgwMCwweDMyLDB4MDAsMHg4YywweDg1LDB4ODMsMHhlMCwweDAwLDB4YzAsMHgwMCB9LAotICAxNiwgMHg5YmQwLCAwLCB7MHgzOCwweDBjLDB4MmMsMHgwMCwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAsMHgzYywweDAwLDB4MGQsMHg4MCwweDAyLDB4MjAsMHgxMCB9LAotICAxNiwgMHg5YmUwLCAwLCB7MHhjOCwweDIwLDB4YjIsMHgwMiwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YmYwLCAwLCB7MHgyOCwweDA1LDB4MzksMHgxMCwweGJlLDB4MDQsMHg2ZiwweGEwLDB4MDgsMHhhMCwweDAyLDB4M2EsMHgwMCwweDgyLDB4MDAsMHhhMiB9LAotICAxNiwgMHg5YzAwLCAwLCB7MHg4MCwweDhkLDB4ZWMsMHgwMywweGE4LDB4MDAsMHg4YSwweDAwLDB4MjMsMHg4MCwweDA4LDB4YTAsMHgyMiwweDI4LDB4MDAsMHg4ZSB9LAotICAxNiwgMHg5YzEwLCAwLCB7MHhjYywweDJmLDB4ODAsMHgwOCwweGU4LDB4YzIsMHhiOCwweDAwLDB4OGUsMHg2MCwweDIzLDB4OTAsMHgwYiwweGEwLDB4MDIsMHhjYSB9LAotICAxNiwgMHg5YzIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRlLDB4MDgsMHhiMCwweDcyLDB4MmMsMHhkMCB9LAotICAxNiwgMHg5YzMwLCAwLCB7MHgyOCwweGIwLDB4MDYsMHg4YywweDAxLDB4YTEsMHgwMiwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCB9LAotICAxNiwgMHg5YzQwLCAwLCB7MHgyMCwweGMwLDB4MjksMHgzMCwweDAyLDB4NGMsMHgwMCwweDgxLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMiwweDAyLDB4MGMsMHg0MCB9LAotICAxNiwgMHg5YzUwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhmNCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YzYwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwMCwweGI0LDB4MDAsMHgyZCwweGQwLDB4NDgsMHhmMiwweDAyLDB4MWUsMHgyMSwweDg1LDB4MjAsMHgyMCB9LAotICAxNiwgMHg5YzcwLCAwLCB7MHhlOCwweDA5LDB4NzIsMHgwMiwweDhlLDB4ODAsMHg4ZiwweDAxLDB4MjAsMHhjMCwweDA5LDB4NzIsMHgwMiwweDBlLDB4ODAsMHg4NyB9LAotICAxNiwgMHg5YzgwLCAwLCB7MHgwMCwweDJkLDB4Y2MsMHgxOCwweDU4LDB4MDIsMHg4ZSwweDAwLDB4ODUsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhlOCB9LAotICAxNiwgMHg5YzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCB9LAotICAxNiwgMHg5Y2EwLCAwLCB7MHgwYywweDc4LDB4ODMsMHg5YSwweDAwLDB4ZWQsMHhkMCwweDMxLDB4ZjQsMHgwYywweDZhLDB4MDMsMHhkZSwweDgyLDB4YzcsMHg4MCB9LAotICAxNiwgMHg5Y2IwLCAwLCB7MHgzOSwweGUwLDB4MGQsMHhmOCwweDgzLDB4NWUsMHhjMiwweGM1LDB4ODAsMHgzZCwweGU4LDB4MGMsMHg2OCwweDAzLDB4MTIsMHgwMCB9LAotICAxNiwgMHg5Y2MwLCAwLCB7MHhjZiwweDgwLDB4MzEsMHhlMCwweDBmLDB4N2UsMHg4MywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5Y2QwLCAwLCB7MHgwOCwweDBkLDB4YWMsMHgwOCwweGY4LDB4MDAsMHgzYywweGMwLDB4MGYsMHhiMywweDAzLDB4ZWMsMHgwMCwweGY5LDB4MDIsMHgzZSB9LAotICAxNiwgMHg5Y2UwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgwMywweGVkLDB4NDAsMHhmYiwweDAwLDB4YmUsMHg4MCwweDBlLDB4YjMsMHgwMywweGVkLDB4YzAsMHhmYiB9LAotICAxNiwgMHg5Y2YwLCAwLCB7MHgwMCwweDNlLDB4ZDIsMHgyZSwweDgwLDB4MDMsMHhlYywweDAyLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHg5ZDAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhmMCwweDkxLDB4MzMsMHhlMCB9LAotICAxNiwgMHg5ZDEwLCAwLCB7MHg4ZiwweGY4LDB4MDMsMHhmZSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwYywweDc4LDB4ODMsMHgzZiwweDAwLDB4Y2YsMHg4MCB9LAotICAxNiwgMHg5ZDIwLCAwLCB7MHgzZiwweGEwLDB4MGMsMHhmOCwweDAzLDB4M2UsMHgwMCwweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDEzLDB4ZmUsMHgxMCB9LAotICAxNiwgMHg5ZDMwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHgyMCwweDBmLDB4ZjksMHg0MywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZDQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI0LDB4YzEsMHgzMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZDQsMHgxMCwweGU1LDB4MjAsMHgyZiB9LAotICAxNiwgMHg5ZDUwLCAwLCB7MHhjOCwweDBmLDB4NDAsMHgwMywweDVjLDB4MDAsMHg4NywweDAwLDB4MmQsMHg4MCwweDA4LDB4NzAsMHgwMiwweDFjLDB4NDAsMHg4NyB9LAotICAxNiwgMHg5ZDYwLCAwLCB7MHgxMCwweDJkLDB4YzAsMHgwYiwweDc2LDB4MDIsMHhkYywweDgwLDB4YjcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhlYSB9LAotICAxNiwgMHg5ZDcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDljLDB4MDAsMHhiNiwweDIyLDB4MjEsMHhkMCB9LAotICAxNiwgMHg5ZDgwLCAwLCB7MHgwYiwweDcwLDB4ODIsMHhkOCwweDQwLDB4YjUsMHgwMiwweDJkLDB4YzAsMHg4OCwweDY1LDB4MDIsMHgwYywweDAwLDB4ODcsMHgxOCB9LAotICAxNiwgMHg5ZDkwLCAwLCB7MHgyYywweDA0LDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMiwweDg1LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDQ2LDB4OTAsMHgxMCB9LAotICAxNiwgMHg5ZGEwLCAwLCB7MHhiNiwweDAwLDB4MmQsMHgwMCwweDBiLDB4NzAsMHgyMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZGIwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwOCwweGIyLDB4MDAsMHhhNCwweGMwLDB4MGIsMHgzMCwweDQyLDB4YzYsMHgxMCwweGExLDB4MDAsMHgyYyB9LAotICAxNiwgMHg5ZGMwLCAwLCB7MHhjMCwweDBhLDB4MDAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHgwOCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MyB9LAotICAxNiwgMHg5ZGQwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDE4LDB4ODIsMHhjNCwweDAwLDB4YjAsMHgwMCwweDJjLDB4NDAsMHgwYiwweDMwLDB4MTIsMHhkOCB9LAotICAxNiwgMHg5ZGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjgsMHgxNSwweGFjLDB4MDAsMHgzOCwweDAwLDB4MzIsMHg1MCB9LAotICAxNiwgMHg5ZGYwLCAwLCB7MHgwZiwweGYwLDB4MDMsMHhlNiwweDIwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwOCwweGQwLDB4MDIsMHgzYywweDAyLDB4Y2IsMHg4MCB9LAotICAxNiwgMHg5ZTAwLCAwLCB7MHgzYywweDUwLDB4MmMsMHhmMCwweDBhLDB4YmMsMHgwMCwweGM5LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhiZSwweDAzLDB4YWMsMHgwMCB9LAotICAxNiwgMHg5ZTEwLCAwLCB7MHhmYSwweDAyLDB4MmUsMHhmNywweDRmLDB4ZjAsMHgwMywweGVlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZTIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGYxLDB4MDAsMHgzYSwweGYwLDB4MGYsMHhiMCwweDAzLDB4ZTksMHgwMCwweGY5LDB4MDEsMHgzZSB9LAotICAxNiwgMHg5ZTMwLCAwLCB7MHhjMCwweDBmLDB4OTAsMHgxMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1NSwweDBmLDB4YjAsMHgwMSwweDZjLDB4MDAsMHhmYiB9LAotICAxNiwgMHg5ZTQwLCAwLCB7MHgwMiwweDNlLDB4YzAsMHgwZiwweDkwLDB4NzMsMHhlMCwweDAwLDB4ZjgsMHg0MSwweDNlLDB4MDAsMHgwZiwweDMwLDB4MDEsMHhlMCB9LAotICAxNiwgMHg5ZTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGZjLDB4MDAsMHhmYywweDAwLDB4MzMsMHhjMCB9LAotICAxNiwgMHg5ZTYwLCAwLCB7MHgxZiwweGYwLDB4MTMsMHhmMCwweDA4LDB4ZmQsMHgwMiwweDNmLDB4YzAsMHg4ZCwweGMwLDB4MDMsMHgzYywweDAwLDB4Y2YsMHhhMCB9LAotICAxNiwgMHg5ZTcwLCAwLCB7MHgzZiwweDgwLDB4MGMsMHg3MCwweDAzLDB4M2MsMHgxMCwweGZjLDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAzLDB4YjAsMHgwMCB9LAotICAxNiwgMHg5ZTgwLCAwLCB7MHhmZSwweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjAsMHgwMywweDA0LDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZTkwLCAwLCB7MHg4NCwweDA0LDB4NmUsMHgwMCwweGI5LDB4YzIsMHhhMiwweGYwLDB4MGIsMHhiMCwweDQyLDB4ZWIsMHgwMCwweGI5LDB4MDAsMHgyZSB9LAotICAxNiwgMHg5ZWEwLCAwLCB7MHhjMCwweDBmLDB4MTgsMHgwMywweDZjLDB4MDAsMHhkOSwweDgxLDB4MmUsMHhiMCwweDBhLDB4YjAsMHg0MiwweDJjLDB4MDAsMHhiYSB9LAotICAxNiwgMHg5ZWIwLCAwLCB7MHhjNiwweDJlLDB4YzAsMHgwYiwweDhjLDB4MDIsMHhlMywweDAwLDB4YjgsMHhjMCwweDNjLDB4YTAsMHgwZCwweGIwLDB4MDIsMHgyMCB9LAotICAxNiwgMHg5ZWMwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJmLDB4MDAsMHhiOCwweDgwLDB4MjIsMHhlMiB9LAotICAxNiwgMHg5ZWQwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHhlNiwweDIwLDB4YjksMHgwMCwweDJjLDB4YzAsMHgwOCwweGI4LDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCB9LAotICAxNiwgMHg5ZWUwLCAwLCB7MHgyZSwweDMwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGI5LDB4YzAsMHgyZSwweGMxLDB4MGIsMHg4OCwweDAyLDB4ZWUsMHgxMCB9LAotICAxNiwgMHg5ZWYwLCAwLCB7MHhiOSwweGMwLDB4MmUsMHgyMCwweDE5LDB4YjAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZjAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIwLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDA2LDB4YzAsMHgwMCwweDkxLDB4MDAsMHgyYyB9LAotICAxNiwgMHg5ZjEwLCAwLCB7MHhjMCwweDQ5LDB4ODAsMHgwMiwweDRjLDB4MDQsMHg5MSwweDAwLDB4MmMsMHgwMCwweDhhLDB4MzAsMHgwYSwweDBjLDB4MDQsMHhiMSB9LAotICAxNiwgMHg5ZjIwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgxYiwweDAwLDB4MTIsMHg0OSwweDEwLDB4YjEsMHgwMCwweDJlLDB4MjAsMHgwOSwweDMwLDB4MDIsMHgwMiB9LAotICAxNiwgMHg5ZjMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhiOCwweDIwLDB4MjIsMHhjMCB9LAotICAxNiwgMHg5ZjQwLCAwLCB7MHg4YiwweGYwLDB4MDMsMHhlMCwweDA4LDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwYywweGEwLDB4MDMsMHgzYywweDAwLDB4Y2IsMHgwMCB9LAotICAxNiwgMHg5ZjUwLCAwLCB7MHgzZSwweDAwLDB4NGMsMHhmMCwweDBhLDB4M2MsMHgwMCwweGI5LDB4MDAsMHgzNywweGMxLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCB9LAotICAxNiwgMHg5ZjYwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHgwMCwweDBkLDB4ZjAsMHgwYiwweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZjcwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMSwweGZjLDB4NDAsMHgzZiwweDgwLDB4NGYsMHhmMCwweDAyLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiB9LAotICAxNiwgMHg5ZjgwLCAwLCB7MHhjMSwweDBmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDRmLDB4ZjAsMHg2MywweGZjLDB4MDAsMHhmZCB9LAotICAxNiwgMHg5ZjkwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZmMsMHgwMCwweDdiLDB4MDAsMHgwZiwweGYwLDB4NDMsMHhlOCB9LAotICAxNiwgMHg5ZmEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY4LDB4MDAsMHhjOCwweDEwLDB4MzMsMHgwNCB9LAotICAxNiwgMHg5ZmIwLCAwLCB7MHgwYywweDQwLDB4MDIsMHgzNCwweDAwLDB4YzgsMHg4NSwweDFmLDB4YzAsMHgyZCwweGQ5LDB4MDMsMHhmYywweGMwLDB4ZGIsMHgyOCB9LAotICAxNiwgMHg5ZmMwLCAwLCB7MHgzNywweDY0LDB4MGYsMHhkYiwweDAzLDB4M2UsMHgwMCwweGZmLDB4MjUsMHgzZiwweGM4LDB4MGUsMHhmMiwweDAzLDB4ZmUsMHgyMCB9LAotICAxNiwgMHg5ZmQwLCAwLCB7MHhmZiwweGE0LDB4MzcsMHhjNCwweDBjLDB4YzgsMHgwMywweDMwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZmUwLCAwLCB7MHg4MCwweDEwLDB4ZTgsMHgwMCwweDg4LDB4MjAsMHgyMiwweDAwLDB4MDgsMHg4OCwweDEyLDB4MjYsMHgwNCwweDg5LDB4ODIsMHgyZSB9LAotICAxNiwgMHg5ZmYwLCAwLCB7MHhmNCwweDQ4LDB4YjgsMHgwMiwweGZjLDB4YzQsMHg5OCwweGMyLDB4MjIsMHg3YywweDRiLDB4OWQsMHg0MiwweDI2LDB4MDgsMHhiZiB9LAotICAxNiwgMHhhMDAwLCAwLCB7MHgxOCwweDc3LDB4ZTQsMHgwOCwweGYxLDB4ODIsMHhlZiwweDAwLDB4YmIsMHhkMCwweDIyLDB4ZDgsMHgwOCwweDkwLDB4ODMsMHg2MCB9LAotICAxNiwgMHhhMDEwLCAwLCB7MHgwMiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHg0NSwweGM4LDB4MDQsMHhhMCwweDAwLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhMDIwLCAwLCB7MHgwYSwweDAwLDB4MDIsMHgwYywweDAwLDB4ODIsMHgwNCwweDJjLDB4ZTAsMHgwOCwweDEwLDB4MDIsMHhjYywweDgwLDB4ODMsMHgwMCB9LAotICAxNiwgMHhhMDMwLCAwLCB7MHgyNCwweDAwLDB4MGIsMHgxMCwweDA2LDB4YzgsMHgwMSwweGIzLDB4MjAsMHgyYywweGMwLDB4MjksMHgzMiwweDAyLDB4YzgsMHgwOCB9LAotICAxNiwgMHhhMDQwLCAwLCB7MHhiMSwweDAwLDB4MjQsMHhkMCwweDA4LDB4ODIsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMDUwLCAwLCB7MHhjMCwweDE1LDB4YTgsMHgwMCwweGE4LDB4MGMsMHgyNiwweDAwLDB4MGEsMHg4MCwweDAyLDB4MmMsMHgxNCwweDhhLDB4MDIsMHg2ZSB9LAotICAxNiwgMHhhMDYwLCAwLCB7MHhlMCwweDA4LDB4YjAsMHgwMiwweDRjLDB4MDgsMHhhOCwweDAwLDB4MjYsMHgyMCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MDAsMHhiYiB9LAotICAxNiwgMHhhMDcwLCAwLCB7MHgwNCwweDIyLDB4YzAsMHgxOSwweGIwLDB4MDIsMHhlOCwweDAxLDB4YmIsMHgxMSwweDAyLDB4YzAsMHg4OCwweDkwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhhMDgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGVjLDB4MDIsMHhlYSwweDQwLDB4YjYsMHg2MCB9LAotICAxNiwgMHhhMDkwLCAwLCB7MHgyZSwweDk4LDB4MGIsMHgyMCwweDAyLDB4YzgsMHgwMiwweDNlLDB4YzAsMHgwZCwweDk4LDB4MDMsMHhlYywweDAyLDB4ZGIsMHg4OCB9LAotICAxNiwgMHhhMGEwLCAwLCB7MHhiNiwweDIxLDB4MGYsMHg4OCwweDAzLDB4YWMsMHgwOCwweGZiLDB4MDAsMHgyYywweGMwLDB4MGUsMHhiMCwweDQzLDB4ZTUsMHg4MCB9LAotICAxNiwgMHhhMGIwLCAwLCB7MHhmMCwweDYwLDB4MzYsMHhjMCwweDBjLDB4MDEsMHg0MywweDQ4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMGMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGQ2LDB4MDEsMHgzYiwweDY0LDB4ODUsMHhkOSwweDAzLDB4ZjAsMHgwYywweGZmLDB4MDAsMHgzZSB9LAotICAxNiwgMHhhMGQwLCAwLCB7MHhjMSwweDBmLDB4ZmMsMHgyMSwweGVjLDB4MDAsMHhkNywweDkwLDB4M2IsMHg0MCwweDBmLDB4NTAsMHgwMywweDNjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhhMGUwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg4ZSwweGYwLDB4MDMsMHhmNCwweDQwLDB4ZmQsMHg4OCwweDNmLDB4YzAsMHgyZiwweGQwLDB4MDIsMHg3OCB9LAotICAxNiwgMHhhMGYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhjLDB4MDAsMHhkYSwweDQwLDB4M2MsMHg0MCB9LAotICAxNiwgMHhhMTAwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHg0OCwweDAwLDB4ZjksMHgyMiwweDNjLDB4YzIsMHgwZSwweDkwLDB4ODMsMHhlYywweDAyLDB4ZGIsMHgwNCB9LAotICAxNiwgMHhhMTEwLCAwLCB7MHgzYSwweDA4LDB4MGYsMHg4NCwweDg3LDB4ZTgsMHgwMCwweGNiLDB4MDAsMHgzZSwweGM0LDB4MGUsMHhiMCwweDAzLDB4ZWQsMHgwMCB9LAotICAxNiwgMHhhMTIwLCAwLCB7MHhlOCwweDQyLDB4M2EsMHhjMCwweDBmLDB4ODAsMHgwYiwweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMTMwLCAwLCB7MHg4OCwweDA1LDB4MmMsMHgwOCwweDhhLDB4MDAsMHgyZSwweDQyLDB4OGIsMHg5MCwweDAyLDB4MjgsMHgxOCwweGJiLDB4NDksMHgyMiB9LAotICAxNiwgMHhhMTQwLCAwLCB7MHhkMCwweDM4LDB4YmMsMHg4MiwweGZjLDB4MDAsMHhlOCwweDAyLDB4MjIsMHg2MiwweGNiLDB4OWMsMHgwMCwweGVmLDB4NjAsMHhkZiB9LAotICAxNiwgMHhhMTUwLCAwLCB7MHgwMCwweDJmLDB4YzAsMHgwYiwweGYwLDB4MDIsMHhlYywweDAwLDB4MDksMHg0MCwweDM3LDB4YzAsMHgwYiwweDkwLDB4MDIsMHgzMiB9LAotICAxNiwgMHhhMTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4MTAsMHgxMSwweDAwLDB4MmMsMHhhMCB9LAotICAxNiwgMHhhMTcwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHg0NCwweDAwLDB4OTAsMHhjMCwweDY0LDB4MzQsMHgyOCwweDM0LDB4MDIsMHhjYywweDAwLDB4OTMsMHg4NCB9LAotICAxNiwgMHhhMTgwLCAwLCB7MHgyOCwweDQwLDB4MGIsMHgwOCwweDAwLDB4Y2UsMHgwMCwweDkzLDB4MDAsMHgyYywweGMyLDB4MGEsMHgzMCwweDAyLDB4YzAsMHgwMCB9LAotICAxNiwgMHhhMTkwLCAwLCB7MHhiMiwweDQwLDB4MjIsMHhjMCwweDBiLDB4MjAsMHgwMiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMWEwLCAwLCB7MHg3MCwweDAxLDB4MWEsMHg0MCwweDg1LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg2OCwweDA2LDB4MTYsMHg4MCwweGJkLDB4OTAsMHgyNSB9LAotICAxNiwgMHhhMWIwLCAwLCB7MHgyNCwweDE4LDB4N2IsMHg0MiwweGRlLDB4NDAsMHhhMCwweDgwLDB4MjEsMHhlMCwweDBiLDB4NjgsMHgwMiwweGQ2LDB4MDAsMHg5NyB9LAotICAxNiwgMHhhMWMwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHhjZSwweDQwLDB4OTIsMHg4MCwweDZkLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHgwOCB9LAotICAxNiwgMHhhMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDI4LDB4MDAsMHhkMSwweDgwLDB4M2MsMHg4OCB9LAotICAxNiwgMHhhMWUwLCAwLCB7MHgwYiwweDIyLDB4MDMsMHg0ZSwweDgwLDB4ZjIsMHhhMSwweDNjLDB4MjQsMHgyYSwweDM5LDB4MDMsMHhjYywweDQwLDB4ZDMsMHhhYyB9LAotICAxNiwgMHhhMWYwLCAwLCB7MHgzOCwweGM1LDB4MGYsMHgzMCwweDgyLDB4YzgsMHgwMCwweGQzLDB4MDAsMHgzYywweGMwLDB4MGUsMHgzMCwweDEzLDB4YzAsMHgwMCB9LAotICAxNiwgMHhhMjAwLCAwLCB7MHhmMSwweDAwLDB4MzgsMHhjMCwweDBmLDB4YTAsMHgwMywweDFhLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMjEwLCAwLCB7MHg0MCwweDFkLDB4YjgsMHgxMCwweGZkLDB4MzQsMHgzZSwweDgwLDB4MGYsMHhlMCwweDAzLDB4ZWUsMHgwMCwweDcyLDB4MDAsMHgzYSB9LAotICAxNiwgMHhhMjIwLCAwLCB7MHgwMCwweDBmLDB4YjAsMHg2MywweGVjLDB4NDAsMHhmOCwweDIyLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweGQ0LDB4NDAsMHhmZiB9LAotICAxNiwgMHhhMjMwLCAwLCB7MHgwMCwweDNmLDB4ZDIsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4Y2YsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhhMjQwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVlLDB4MDAsMHhlYiwweDAwLDB4MzYsMHhlMCB9LAotICAxNiwgMHhhMjUwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHgyMCwweDAwLDB4ZjAsMHg4MCwweDMzLDB4YzAsMHgwOCwweGI4LDB4MDMsMHgyYywweDgwLDB4Y2IsMHgwMCB9LAotICAxNiwgMHhhMjYwLCAwLCB7MHgzMiwweDgwLDB4MGYsMHhhMCwweDEzLDB4NmUsMHgwOCwweGNiLDB4MjgsMHgzMiwweGUwLDB4MGQsMHhiNCwweDgzLDB4ZTIsMHgwMCB9LAotICAxNiwgMHhhMjcwLCAwLCB7MHhjYSwweDAwLDB4M2UsMHhlMCwweDBjLDB4YTgsMHgwMywweDAyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMjgwLCAwLCB7MHhjOCwweDExLDB4OGMsMHgwNCwweDgzLDB4MDAsMHgyMSwweGMwLDB4NDgsMHg3MCwweDAyLDB4MTAsMHgwMCwweGI3LDB4MDIsMHgyMSB9LAotICAxNiwgMHhhMjkwLCAwLCB7MHhjMCwweDRhLDB4NzAsMHgwMiwweDBkLDB4NDgsMHhkNCwweDAwLDB4MzUsMHhjMCwweDBlLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhhNyB9LAotICAxNiwgMHhhMmEwLCAwLCB7MHg0MCwweDI5LDB4YzAsMHgwOSwweDcyLDB4MDIsMHhkNCwweDEwLDB4YTYsMHgwMiwweDJmLDB4YzgsMHgwOCwweDcwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhhMmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHhhNywweDgwLDB4MjAsMHhlMCB9LAotICAxNiwgMHhhMmMwLCAwLCB7MHgwYSwweDM4LDB4MDIsMHgxYSwweDAwLDB4YjUsMHg4MCwweDIxLDB4ZTAsMHgwOCwweGY4LDB4MjIsMHg1YywweDgxLDB4ODMsMHg4MCB9LAotICAxNiwgMHhhMmQwLCAwLCB7MHgyMSwweGExLDB4MGIsMHg3OCwweDgyLDB4NWEsMHgxMCwweDgzLDB4YTAsMHgyMCwweGU4LDB4MGEsMHg3YiwweDAyLDB4ZGEsMHgwMCB9LAotICAxNiwgMHhhMmUwLCAwLCB7MHg5NywweGMwLDB4MmQsMHhlNCwweDA4LDB4ZTgsMHgwMiwweDA4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMmYwLCAwLCB7MHgwOCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MTAsMHgyMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4MDgsMHgwOCwweGIzLDB4NzAsMHgyMCB9LAotICAxNiwgMHhhMzAwLCAwLCB7MHhmOCwweDBhLDB4MzAsMHg0MiwweDRjLDB4MDQsMHg5MywweDE0LDB4MjYsMHhjNCwweDBhLDB4MzgsMHgwMiwweGNjLDB4MDAsMHhhMyB9LAotICAxNiwgMHhhMzEwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHhhYSwweDMwLDB4MDIsMHhjZSwweDQwLDB4YjMsMHg4OCwweDJjLDB4YzAsMHgyOCwweDMwLDB4MGEsMHgxMiB9LAotICAxNiwgMHhhMzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE5LDB4MDAsMHhlYSwweDgwLDB4YjYsMHg5MCB9LAotICAxNiwgMHhhMzMwLCAwLCB7MHgyZiwweDI0LDB4MGIsMHgzOSwweDA0LDB4YmUsMHhjMCwweDMzLDB4OTIsMHgwYywweGEwLDB4MGIsMHg2OCwweDE4LDB4Y2UsMHhjMCB9LAotICAxNiwgMHhhMzQwLCAwLCB7MHgzMywweDgwLDB4MGYsMHhlOSwweDQzLDB4NzgsMHgwMCwweGNhLDB4MDAsMHgzMiwweDgwLDB4MGYsMHhhMCwweDEzLDB4ZjgsMHg0OCB9LAotICAxNiwgMHhhMzUwLCAwLCB7MHhkZSwweDAwLDB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMiwweDNhLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMzYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgyNCwweGY4LDB4MDAsMHgzZSwweDEyLDB4MGQsMHg4MCwweDkzLDB4YjAsMHgyOCwweGY4LDB4MDAsMHhiYyB9LAotICAxNiwgMHhhMzcwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMiwweDBlLDB4ODAsMHgwMCwweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHhhMzgwLCAwLCB7MHgwMSwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhhMzkwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4YjIsMHg3MCB9LAotICAxNiwgMHhhM2EwLCAwLCB7MHgwZiwweDkwLDB4MDEsMHgwNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDk4LDB4MDMsMHhlNCwweDA0LDB4ZTksMHgwOCB9LAotICAxNiwgMHhhM2IwLCAwLCB7MHgzYSwweDQ4LDB4MGMsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGIsMHgxMCwweDBiLDB4MjYsMHg4MCB9LAotICAxNiwgMHhhM2MwLCAwLCB7MHhmMSwweDgwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhM2QwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDYxLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwOCwweDg5LDB4MDAsMHgyZSB9LAotICAxNiwgMHhhM2UwLCAwLCB7MHg0MCwweDBkLDB4OWEsMHgwMiwweGU0LDB4MDgsMHhhOSwweDAwLDB4MjIsMHg3OCwweDBkLDB4OTQsMHgwNiwweGU0LDB4MTAsMHhiOSB9LAotICAxNiwgMHhhM2YwLCAwLCB7MHgwMCwweDIyLDB4NTAsMHgwYiwweDkwLDB4MDIsMHgyNSwweDgwLDB4YjksMHg4MCwweDM2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhhNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiNSwweDAwLDB4MjMsMHg0MiB9LAotICAxNiwgMHhhNDEwLCAwLCB7MHgwYiwweGQwLDB4MGUsMHhiNCwweDAwLDB4ODksMHgwNCwweDJlLDB4NjAsMHgwOCwweDkxLDB4MDIsMHhjNCwweDA0LDB4YjksMHgwNCB9LAotICAxNiwgMHhhNDIwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgxMCwweGIxLDB4MDAsMHgyNiwweDQyLDB4MGEsMHg5MCwweDAyLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhNDMwLCAwLCB7MHhiOSwweDIxLDB4NjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNDQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweGI1LDB4NDAsMHgyMSwweDUwLDB4NGIsMHg1MCwweDA2LDB4OTQsMHgwMiwweDgxLDB4MDAsMHgyYyB9LAotICAxNiwgMHhhNDUwLCAwLCB7MHg2MCwweDI5LDB4MTQsMHgwNiwweGM1LDB4MDAsMHhhMSwweDIyLDB4MjAsMHg1MSwweDg5LDB4MTQsMHgwMiwweGM0LDB4MDAsMHhiMSB9LAotICAxNiwgMHhhNDYwLCAwLCB7MHgyMCwweDIwLDB4NDgsMHgwYiwweDE0LDB4MDIsMHgwNCwweDAxLDB4YjEsMHgwMCwweDA0LDB4NTAsMHgwYiwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhhNDcwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDgsMHhiOCwweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhhNDgwLCAwLCB7MHg4ZiwweDgwLDB4MDMsMHhiMCwweDAwLDB4ODgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHgwNCB9LAotICAxNiwgMHhhNDkwLCAwLCB7MHgzYSwweDAwLDB4MGMsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwNCB9LAotICAxNiwgMHhhNGEwLCAwLCB7MHhmOCwweDAxLDB4MTIsMHgwMCwweDRmLDB4ODAsMHgwNywweGVlLDB4MDcsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNGIwLCAwLCB7MHg5OCwweDFkLDB4ZTUsMHgxMCwweGY5LDB4NDAsMHgzZSwweDUwLDB4MGYsMHg5NCwweDAyLDB4NjUsMHgwMSwweGZkLDB4MDEsMHgzZCB9LAotICAxNiwgMHhhNGMwLCAwLCB7MHg1MCwweDRmLDB4NTAsMHgxMywweGU1LDB4MDAsMHhmZCwweDEwLDB4MWYsMHg1MCwweDA3LDB4ZDQsMHg0MywweGQ0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhhNGQwLCAwLCB7MHgxMCwweDFlLDB4NDQsMHgwZiwweDk0LDB4MDMsMHhkNSwweDAwLDB4ZmQsMHg0MCwweDNlLDB4NTAsMHgwZiwweDUyLDB4ODMsMHhlZSB9LAotICAxNiwgMHhhNGUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGU0LDB4NDAsMHhmOSwweDYwLDB4M2YsMHg0NCB9LAotICAxNiwgMHhhNGYwLCAwLCB7MHgwZiwweGQwLDB4YzMsMHhlNCwweDMwLDB4ZjksMHgwMSwweDNlLDB4NDIsMHgwYywweGQwLDB4MDMsMHhlNywweDgwLDB4ZGQsMHhhMCB9LAotICAxNiwgMHhhNTAwLCAwLCB7MHgzMywweDQwLDB4MGMsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGM5LDB4OTAsMHgzZiwweDY4LDB4MWUsMHg5MSwweDAzLDB4MzQsMHgwMCB9LAotICAxNiwgMHhhNTEwLCAwLCB7MHhmZCwweDAwLDB4M2UsMHg2OCwweDBjLDB4OTQsMHgwMywweDBlLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNTIwLCAwLCB7MHgzOSwweDEwLDB4ZTAsMHgwMCwweGI4LDB4NDIsMHgyZSwweDA5LDB4MGIsMHg4NCwweDAyLDB4ZTEsMHgwNCwweGJlLDB4MDAsMHgyZSB9LAotICAxNiwgMHhhNTMwLCAwLCB7MHgxMCwweDA4LDB4ODAsMHgyMiwweGMyLDB4ODAsMHg4OCwweDQwLDB4MjIsMHgwMCwweDBhLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhhOCB9LAotICAxNiwgMHhhNTQwLCAwLCB7MHhkMCwweDJlLDB4MTAsMHg0YiwweDhhLDB4MDMsMHg2MCwweDAwLDB4YmEsMHgwMCwweDJlLDB4MzAsMHgwOCwweDhhLDB4MDIsMHg4NiB9LAotICAxNiwgMHhhNTUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGM1LDB4ODAsMHhiMSwweDYwLDB4NmMsMHhkMCB9LAotICAxNiwgMHhhNTYwLCAwLCB7MHgwYiwweDEwLDB4MDAsMHhkYywweDBjLDB4YjUsMHgwMCwweDJjLDB4NDEsMHgwOCwweDEwLDB4MDIsMHhjNSwweDgwLDB4OTEsMHgxMCB9LAotICAxNiwgMHhhNTcwLCAwLCB7MHg2OCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZTQsMHgwYywweDgxLDB4MjIsMHgyYywweDUwLDB4MDgsMHgxMCwweDQyLDB4MDQsMHgwMCB9LAotICAxNiwgMHhhNTgwLCAwLCB7MHhhMSwweDAwLDB4MmMsMHg1YSwweDI4LDB4OTAsMHgwMiwweDUyLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNTkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MGIsMHg5MCwweDEyLDB4ZjQsMHg4MCwweGJmLDB4MDAsMHgyZSB9LAotICAxNiwgMHhhNWEwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhhOSwweDYwLDB4NjAsMHg0MiwweDBhLDB4OTQsMHgxMiwweGU1LDB4MDAsMHhhOSB9LAotICAxNiwgMHhhNWIwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg2NCwweDIwLDB4YjksMHgwMCwweDBlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhjNiB9LAotICAxNiwgMHhhNWMwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MSB9LAotICAxNiwgMHhhNWQwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhlNCwweDA0LDB4ZDEsMHhjMCB9LAotICAxNiwgMHhhNWUwLCAwLCB7MHhiYSwweDcwLDB4MGMsMHg5OCwweDAzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4MjUsMHg0MCB9LAotICAxNiwgMHhhNWYwLCAwLCB7MHhlOSwweDQwLDB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweDY4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNjAwLCAwLCB7MHg2OCwweDAxLDB4YTQsMHgxNCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDIzLDB4ZTQsMHgwOCwweGY5LDB4YTAsMHgzYyB9LAotICAxNiwgMHhhNjEwLCAwLCB7MHhjMiwweDJmLDB4OTAsMHgwMywweGM0LDB4MDAsMHhkOSwweDgwLDB4M2UsMHg3MCwweDBmLDB4OTEsMHg0MywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhhNjIwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgxZiwweDkwLDB4MTMsMHhlNiwweDIwLDB4ZjksMHhhMCwweDNjLDB4NDAsMHg0ZSwweDkwLDB4MDMsMHg5YSB9LAotICAxNiwgMHhhNjMwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMiB9LAotICAxNiwgMHhhNjQwLCAwLCB7MHgwZiwweDgwLDB4MTMsMHgyMCwweDBjLDB4ZmMsMHgwMSwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHg1MCB9LAotICAxNiwgMHhhNjUwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDBiLDB4MjAsMHgwOCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg4MCwweDQzLDB4ZTAsMHg0MCB9LAotICAxNiwgMHhhNjYwLCAwLCB7MHhmOCwweDAyLDB4M2EsMHgwMCwweDhmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNjcwLCAwLCB7MHhhOCwweDg1LDB4MjgsMHgwOCwweDNhLDB4MDAsMHgwZiwweDgwLDB4NGIsMHhhMSwweDAyLDB4MjgsMHgwMCwweGJhLDB4ODIsMHgyZSB9LAotICAxNiwgMHhhNjgwLCAwLCB7MHg4OCwweDQ4LDB4ZTQsMHgwMiwweGU4LDB4MDAsMHhhZSwweDkwLDB4YTMsMHg5MCwweDBiLDB4ZTAsMHgwMCwweDM4LDB4MDAsMHhiYSB9LAotICAxNiwgMHhhNjkwLCAwLCB7MHgwMCwweDM3LDB4YTAsMHgwOCwweGEwLDB4MDIsMHhmOCwweDAwLDB4OWUsMHhlMCwweDIyLDB4ODAsMHgwYiwweGEwLDB4MjMsMHg0MiB9LAotICAxNiwgMHhhNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MTAsMHgzMywweDAwLDB4MmMsMHhkMCB9LAotICAxNiwgMHhhNmIwLCAwLCB7MHgwYiwweDE0LDB4MDIsMHgwYywweDAwLDB4YjIsMHg5MSwweDJjLDB4ZDAsMHgwOCwweDNlLDB4MDIsMHg0YywweDAwLDB4ODMsMHg0MCB9LAotICAxNiwgMHhhNmMwLCAwLCB7MHgyNCwweGMyLDB4MGIsMHgzNiwweDAwLDB4OGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDksMHhiMCwweDAyLDB4Y2UsMHgwMCB9LAotICAxNiwgMHhhNmQwLCAwLCB7MHhiMywweGNjLDB4NjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNmUwLCAwLCB7MHhlMCwweDAxLDB4MWMsMHg4OCwweGI3LDB4MjUsMHgyZCwweGMwLDB4OGIsMHg1OCwweDFhLDB4MWMsMHgwOCwweGI2LDB4MDAsMHgyZCB9LAotICAxNiwgMHhhNmYwLCAwLCB7MHhjMCwweDA4LDB4NzQsMHgwMiwweGRjLDB4NDAsMHhhNSwweDAwLDB4MjUsMHhjMCwweDFiLDB4NzgsMHgwMiwweDk0LDB4MDgsMHhiNyB9LAotICAxNiwgMHhhNzAwLCAwLCB7MHg4MCwweDI1LDB4ZTMsMHgwYSwweDcxLDB4MDIsMHhkYywweDAwLDB4OTcsMHg4MywweDIxLDB4YzgsMHg4YiwweGYxLDB4MDIsMHg0OCB9LAotICAxNiwgMHhhNzEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFmLDB4MDAsMHhmNywweGUyLDB4N2QsMHhlMCB9LAotICAxNiwgMHhhNzIwLCAwLCB7MHgwZiwweDU4LDB4NDMsMHgxZSwweDE4LDB4ZjYsMHg4MCwweDdjLDB4ZTAsMHgyYywweDY4LDB4MDIsMHg1ZSwweDkwLDB4YzMsMHg4MCB9LAotICAxNiwgMHhhNzMwLCAwLCB7MHgzNSwweGUwLDB4MGYsMHhmOCwweDAzLDB4OWUsMHgwNCwweGZmLDB4YTEsMHgyMCwweGExLDB4MGQsMHg3OCwweDAzLDB4ZDYsMHgwMCB9LAotICAxNiwgMHhhNzQwLCAwLCB7MHhmNywweDgwLDB4MzksMHhmOCwweDBmLDB4NzgsMHgwMywweDBhLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNzUwLCAwLCB7MHg0OCwweDFkLDB4YWMsMHgwMCwweGZiLDB4NDAsMHg3ZiwweDQxLDB4MGYsMHgxMCwweDAzLDB4ZWMsMHgwNCwweGZhLDB4MDAsMHgzZSB9LAotICAxNiwgMHhhNzYwLCAwLCB7MHhkMCwweDBmLDB4YTAsMHgwMywweGVkLDB4MDAsMHhlOSwweDAwLDB4MmEsMHgwMCwweDBmLDB4YjAsMHgwMywweDY0LDB4MDAsMHhmYiB9LAotICAxNiwgMHhhNzcwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZDMsMHgwMCwweDM2LDB4YzAsMHgwZiwweDM4LDB4MDMsMHhjMiB9LAotICAxNiwgMHhhNzgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4NDgsMHhjZiwweGMwLDB4MzMsMHg2MCB9LAotICAxNiwgMHhhNzkwLCAwLCB7MHg4YywweGM4LDB4NDMsMHhkNiwweDAwLDB4Y2MsMHg5NCwweDNmLDB4YjAsMHgwZCwweGY4LDB4MDMsMHg3ZiwweDAwLDB4ZGYsMHg4MCB9LAotICAxNiwgMHhhN2EwLCAwLCB7MHgzZiwweDYwLDB4MGYsMHhkOCwweDAzLDB4ZGUsMHgwMCwweGNmLDB4Y2EsMHgzZCwweDYwLDB4MGMsMHhmOCwweDEzLDB4M2EsMHg0NCB9LAotICAxNiwgMHhhN2IwLCAwLCB7MHhkZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHg0MywweDE4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhN2MwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDhmLDB4MTEsMHgzMywweGMwLDB4NDgsMHg0MSwweDEyLDB4YzQsMHg0OCwweDg0LDB4MTEsMHgyYyB9LAotICAxNiwgMHhhN2QwLCAwLCB7MHhlYywweDJhLDB4YmEsMHgwMywweDNjLDB4NDAsMHhkNywweDQ4LDB4MmQsMHg0MSwweDBiLDB4NjAsMHgwMiwweGQ0LDB4MDAsMHhkNyB9LAotICAxNiwgMHhhN2UwLCAwLCB7MHgwMSwweDNkLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg1YSwweDAwLDB4ODQsMHgxOCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDMsMHg2YSB9LAotICAxNiwgMHhhN2YwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDhjLDB4MDgsMHg4NywweDAwLDB4MjEsMHg0MCB9LAotICAxNiwgMHhhODAwLCAwLCB7MHgwOSwweDQwLDB4MDIsMHhkNCwweDAwLDB4YTQsMHg5MiwweDJkLDB4YzgsMHgwOSwweDYyLDB4ODIsMHg1YywweDAwLDB4ODcsMHgwMCB9LAotICAxNiwgMHhhODEwLCAwLCB7MHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4ZmMsMHgwMCwweDg3LDB4MDAsMHgyZCwweDA0LDB4MDgsMHg3MCwweDAyLDB4MWMsMHg4MCB9LAotICAxNiwgMHhhODIwLCAwLCB7MHhiNSwweDAwLDB4MmQsMHhjMCwweDBiLDB4ZjAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhODMwLCAwLCB7MHg2MCwweDEwLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweDQwLDB4MDksMHgwMCwweDIyLDB4YzcsMHgwMCwweGEwLDB4NDEsMHgyYyB9LAotICAxNiwgMHhhODQwLCAwLCB7MHhjMSwweDRiLDB4MDgsMHgwMiwweDJjLDB4MDAsMHg5MywweDQwLDB4MmMsMHg3YywweDBiLDB4MzgsMHgwMiwweGM3LDB4MjAsMHg5MyB9LAotICAxNiwgMHhhODUwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg0ZiwweDg0LDB4YjAsMHg4MCwweDJjLDB4YzAsMHgwYiwweDMyLDB4MTAsMHg1MCB9LAotICAxNiwgMHhhODYwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxNSwweGJjLDB4MDIsMHhjZiwweDAwLDB4YjIsMHg0MCB9LAotICAxNiwgMHhhODcwLCAwLCB7MHgwZCwweDEwLDB4MDMsMHhlOCwweDI0LDB4ZWIsMHhjMSwweDNlLDB4YzAsMHgyZCwweDk4LDB4MTMsMHg3YywweDBhLDB4YzIsMHg0MyB9LAotICAxNiwgMHhhODgwLCAwLCB7MHgzZSwweGIwLDB4MGYsMHhhOSwweDAzLDB4ZTksMHgyMCwweGNmLDB4MDAsMHgzZSwweGMwLDB4OGMsMHhmMCwweDAzLDB4MGQsMHgyMCB9LAotICAxNiwgMHhhODkwLCAwLCB7MHhmYSwweGMwLDB4M2YsMHhjMCwweDBmLDB4NzQsMHgwMSwweDJhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOGEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzYSwweDQwLDB4OGUsMHg5MCwweDAzLDB4ZTgsMHgxNCwweDViLDB4NTAsMHgzYyB9LAotICAxNiwgMHhhOGIwLCAwLCB7MHg1MCwweDRlLDB4ODQsMHgwMywweGVjLDB4MDAsMHhmOCwweDQwLDB4M2UsMHg4MCwweDA3LDB4ODEsMHgwMywweGVjLDB4MDgsMHhmMyB9LAotICAxNiwgMHhhOGMwLCAwLCB7MHgwMCwweDNhLDB4YzAsMHg5ZiwweDMwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgyMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MjMsMHhlOCB9LAotICAxNiwgMHhhOGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg5MCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCB9LAotICAxNiwgMHhhOGUwLCAwLCB7MHgwZiwweGQwLDB4MDMsMHgzOCwweDIwLDB4Y2YsMHgwOCwweDMyLDB4YzEsMHgwZSwweGQwLDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwOCB9LAotICAxNiwgMHhhOGYwLCAwLCB7MHgzMSwweGU1LDB4MGUsMHhlNCwweDAzLDB4M2EsMHgwMCwweGZmLDB4MDAsMHgzMywweDgwLDB4MGYsMHhmMCwweDJiLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhOTAwLCAwLCB7MHhjYywweGEwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOTEwLCAwLCB7MHg4MCwweDA0LDB4NmMsMHgwMCwweGJiLDB4MDAsMHgzYSwweDY5LDB4MGIsMHg5MCwweDZlLDB4MDgsMHgwMCwweDgzLDB4NDEsMHgzNiB9LAotICAxNiwgMHhhOTIwLCAwLCB7MHg0MCwweGM4LDB4ODgsMHhjNiwweGVjLDB4MDAsMHg4OCwweDQwLDB4MzYsMHg4MCwweDBkLDB4YTgsMHgwMywweDZlLDB4NTAsMHhiYiB9LAotICAxNiwgMHhhOTMwLCAwLCB7MHgwMCwweDM2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNCwweDAwLDB4ZDksMHgwOCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhhOTQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiYiwweDAwLDB4MmUsMHg2MCB9LAotICAxNiwgMHhhOTUwLCAwLCB7MHgwMywweDgwLDB4MDIsMHgyMCwweDAwLDB4ODksMHgwMSwweDIyLDB4NTgsMHgwOCwweDk4LDB4MjIsMHhlYywweDAxLDB4YWIsMHgwMCB9LAotICAxNiwgMHhhOTYwLCAwLCB7MHgyMiwweDAwLDB4MGEsMHgxMCwweDAyLDB4MjgsMHgwMCwweGJiLDB4MDAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDAyLDB4MjgsMHgwMCB9LAotICAxNiwgMHhhOTcwLCAwLCB7MHg4YSwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweDIwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOTgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyOCwweDQwLDB4OGIsMHgwMCwweDAyLDB4MDIsMHg0MCwweDg5LDB4MDEsMHgyNCB9LAotICAxNiwgMHhhOTkwLCAwLCB7MHhkMiwweDI4LDB4MTAsMHgwMiwweGNjLDB4MDAsMHg4MywweDEwLDB4MjQsMHgyMCwweDA4LDB4MDgsMHgwMiwweDRlLDB4MDAsMHhiMyB9LAotICAxNiwgMHhhOWEwLCAwLCB7MHgwNCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwOCwweDg4LDB4OTIsMHgwMCwweDJjLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhhOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhhOWMwLCAwLCB7MHgwZiwweDgwLDB4MDIsMHgyMCwweDEwLDB4ODksMHg1MCwweDIyLDB4ZDgsMHgyZSwweDk2LDB4MjIsMHhmYywweDAwLDB4ZWIsMHg0MCB9LAotICAxNiwgMHhhOWQwLCAwLCB7MHgzMiwweGMwLDB4MGEsMHg5MCwweDAzLDB4MjgsMHgwMCwweGZmLDB4MDAsMHgyMiwweDAwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHhhMCB9LAotICAxNiwgMHhhOWUwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDAwLDB4MDYsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOWYwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZmLDB4MGMsMHgzYiwweDAwLDB4MGYsMHhjMCwweDAyLDB4NzAsMHg5MCwweGZkLDB4MDAsMHgzZSB9LAotICAxNiwgMHhhYTAwLCAwLCB7MHhjOSwweDBmLDB4OTYsMHhjMywweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDQsMHhmZiB9LAotICAxNiwgMHhhYTEwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhhYTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGRjLDB4ODAsMHhmYiwweDI4LDB4M2YsMHgwMCB9LAotICAxNiwgMHhhYTMwLCAwLCB7MHgwYywweGMxLDB4MGIsMHhmMSwweDAyLDB4ZWQsMHgwMCwweDM3LDB4MzAsMHgyYywweGYxLDB4MDMsMHhiMiwweDQwLDB4ZmYsMHgwMCB9LAotICAxNiwgMHhhYTQwLCAwLCB7MHhiYiwweGMwLDB4MGYsMHg0OCwweDA2LDB4YjIsMHgwMCwweGZjLDB4ODAsMHgzYiwweGNjLDB4MGMsMHhmMCwweDAzLDB4NzAsMHg4MCB9LAotICAxNiwgMHhhYTUwLCAwLCB7MHhkZiwweDI4LDB4MzMsMHgwNCwweDBmLDB4ZjQsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYTYwLCAwLCB7MHg4MCwweDEwLDB4ZmYsMHg0MCwweGJmLDB4NjAsMHgyZSwweDIxLDB4MDgsMHg4MiwweDAyLDB4MjAsMHgwMCwweGE5LDB4MjgsMHgyYSB9LAotICAxNiwgMHhhYTcwLCAwLCB7MHgwMCwweDA5LDB4ZmEsMHgwMiwweDIwLDB4MDAsMHhiZiwweDUxLDB4MjMsMHhkOCwweDA5LDB4OTgsMHgwMiwweGU0LDB4MzAsMHhiMCB9LAotICAxNiwgMHhhYTgwLCAwLCB7MHgwMCwweDIzLDB4ZDAsMHgwOCwweGY1LDB4YTIsMHgyNSwweGE0LDB4OGYsMHg0MiwweDNjLDB4MTAsMHgwYiwweGIwLDB4MGEsMHgyMCB9LAotICAxNiwgMHhhYTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHhiMywweDA4LDB4MmMsMHgwMCB9LAotICAxNiwgMHhhYWEwLCAwLCB7MHgyOCwweDAwLDB4MWEsMHhjMCwweDg0LDB4MjAsMHgwMCwweDI0LDB4YzgsMHg0YiwweDMxLDB4NDIsMHhjMCwweDAwLDB4OTMsMHgwMiB9LAotICAxNiwgMHhhYWIwLCAwLCB7MHgyMCwweGM2LDB4MDgsMHgwMCwweDA2LDB4YzAsMHg4MSwweGIzLDB4MDAsMHgyYywweGQ4LDB4MDksMHgzMiwweDAyLDB4YTAsMHg0MCB9LAotICAxNiwgMHhhYWMwLCAwLCB7MHg5MywweDAxLDB4MjQsMHg0YywweDBiLDB4MzIsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYWQwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgwMCwweGJiLDB4MDIsMHgyZSwweDBhLDB4MDgsMHg4MCwweDgyLDB4NjAsMHgwMCwweGE4LDB4MDAsMHgyZSB9LAotICAxNiwgMHhhYWUwLCAwLCB7MHhlMCwweDFiLDB4YjAsMHgwMiwweDYyLDB4MDEsMHgzYiwweDAwLDB4MjIsMHhjMSwweDA5LDB4OTAsMHgwMiwweGUyLDB4MDAsMHhiYiB9LAotICAxNiwgMHhhYWYwLCAwLCB7MHg2MCwweDI2LDB4YzEsMHgwOCwweGIwLDB4MmEsMHgyNiwweDAwLDB4OWIsMHgwNCwweDJlLDB4MjEsMHgwYiwweGIwLDB4MDIsMHgzMCB9LAotICAxNiwgMHhhYjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHgxMCB9LAotICAxNiwgMHhhYjEwLCAwLCB7MHgwOCwweDg0LDB4MTMsMHhlYywweDAyLDB4YTksMHgwNCwweDM2LDB4MjAsMHgwZiwweGIwLDB4MDMsMHhlZSwweDgwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHhhYjIwLCAwLCB7MHgzYSwweGMwLDB4MGMsMHhhMCwweDAzLDB4YTIsMHg4MCwweDc5LDB4NDAsMHgxZSwweGMwLDB4OGMsMHhiMCwweDYzLDB4NmEsMHgxMCB9LAotICAxNiwgMHhhYjMwLCAwLCB7MHhkMywweDAwLDB4MzYsMHhhMiwweDA3LDB4YjAsMHgwMywweDAwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYjQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZSwweDIwLDB4NGQsMHg0MSwweDAzLDB4OWMsMHgwMCwweGZkLDB4MjAsMHhhYiB9LAotICAxNiwgMHhhYjUwLCAwLCB7MHgwMCwweDBjLDB4ZjAsMHgwMywweGI4LDB4MDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDRkLDB4YzksMHgwMywweGY0LDB4MDAsMHhmZiB9LAotICAxNiwgMHhhYjYwLCAwLCB7MHgwMCwweDNiLDB4YzAsMHgyZSwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZWYsMHgwMCwweDNmLDB4MDAsMHg0YiwweDcwLDB4MDMsMHhmOCB9LAotICAxNiwgMHhhYjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4ODAsMHhlYiwweDAwLDB4N2UsMHgxMCB9LAotICAxNiwgMHhhYjgwLCAwLCB7MHgyZSwweDg0LDB4MDMsMHhlYywweDAwLDB4ZTAsMHgwMCwweDMyLDB4NTAsMHgwZiwweGIwLDB4ODYsMHgyNSwweDAwLDB4ZGIsMHgyMCB9LAotICAxNiwgMHhhYjkwLCAwLCB7MHgzYSwweGMwLDB4MGQsMHhiMCwweDYzLDB4ZTEsMHgxMCwweGZiLDB4NDgsMHgzOCwweGMxLDB4MGYsMHgzMCwweDAzLDB4MmMsMHgwNCB9LAotICAxNiwgMHhhYmEwLCAwLCB7MHhmYiwweDA4LDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwYiwweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYmIwLCAwLCB7MHhjOCwweDA1LDB4M2MsMHgwMCwweDhmLDB4MDAsMHg2NCwweDI5LDB4MjgsMHg4MCwweDAzLDB4ZWMsMHgwMiwweGU4LDB4MDQsMHhhOCB9LAotICAxNiwgMHhhYmMwLCAwLCB7MHg1NiwweDA4LDB4ZmMsMHgwNywweGUwLDB4MDAsMHgwZiwweGEwLDB4YmYsMHhjMCwweDBiLDB4OTUsMHgwMiwweGEwLDB4MDAsMHhiYiB9LAotICAxNiwgMHhhYmQwLCAwLCB7MHgwNSwweDM3LDB4YzAsMHg4OSwweGYwLDB4MGEsMHgwZCwweGM4LDB4YmYsMHgwOCwweDJhLDB4ODAsMHgwOCwweGYwLDB4MDIsMHgzMiB9LAotICAxNiwgMHhhYmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDEsMHhiMywweDAyLDB4MjQsMHhlMCB9LAotICAxNiwgMHhhYmYwLCAwLCB7MHgwYSwweDMwLDB4MTIsMHg4MCwweDAzLDB4YTMsMHgwMCwweGE4LDB4MDAsMHgwMiwweGI4LDB4MjIsMHhjMCwweDAwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhhYzAwLCAwLCB7MHgyOCwweGMxLDB4MGIsMHgwNCwweDAyLDB4MDgsMHgwMCwweGI5LDB4NDAsMHgyOCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDMsMHgwNCB9LAotICAxNiwgMHhhYzEwLCAwLCB7MHhiMywweDQ0LDB4MjAsMHgwMCwweDRhLDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYzIwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgyMCwweDE3LDB4YTAsMHg2NSwweGVjLDB4MDgsMHgzOCwweDAyLDB4YzIsMHg0MSwweGIzLDB4OTIsMHgyYiB9LAotICAxNiwgMHhhYzMwLCAwLCB7MHg2NCwweDBhLDB4MzgsMHgwMiwweDM2LDB4MDEsMHhiNywweDkwLDB4MmQsMHhlMCwweDAzLDB4ZjgsMHgwMCwweDlhLDB4MDAsMHhiNSB9LAotICAxNiwgMHhhYzQwLCAwLCB7MHg4MCwweDJkLDB4ZTAsMHg4OSwweDc4LDB4MTIsMHgxZSwweDAwLDB4YjcsMHg4MCwweDI5LDB4ZTAsMHgwYSwweDc4LDB4MDIsMHgwOCB9LAotICAxNiwgMHhhYzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg3MywweGIwLDB4MjQsMHhjOCB9LAotICAxNiwgMHhhYzYwLCAwLCB7MHg0ZSwweDMwLDB4MGEsMHg4MCwweDAyLDB4ZTIsMHgwMCwweDM4LDB4OTQsMHgwZSwweDMxLDB4YTIsMHhjOCwweDAwLDB4NzMsMHgwMCB9LAotICAxNiwgMHhhYzcwLCAwLCB7MHgxOCwweGM0LDB4MDUsMHgwMCwweDAzLDB4MDAsMHgwMCwweGYzLDB4MDAsMHgzOCwweGMwLDB4MDcsMHhiMSwweDAzLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYzgwLCAwLCB7MHhmMywweDAxLDB4MzAsMHg0MSwweDBlLDB4YjAsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYzkwLCAwLCB7MHg0MCwweDFkLDB4YmQsMHgwMCwweGVmLDB4MTAsMHgyNiwweGM4LDB4MDMsMHhiMSwweDAzLDB4ZTAsMHgwMCwweGVhLDB4ODEsMHg3OCB9LAotICAxNiwgMHhhY2EwLCAwLCB7MHhjNSwweDBjLDB4YjUsMHhlMywweGRjLDB4MDAsMHhjMywweDAwLDB4M2UsMHhjMSwweDBmLDB4ZjAsMHg4MywweGIwLDB4MDAsMHhmZiB9LAotICAxNiwgMHhhY2IwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwZCwweGY0LDB4MDMsMHhlNCwweDAwLDB4ZjcsMHgwMCwweDNmLDB4NDAsMHgwZCwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhhY2MwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVkLDB4MTAsMHhjYiwweDI4LDB4M2UsMHhjMCB9LAotICAxNiwgMHhhY2QwLCAwLCB7MHgwZCwweGIwLDB4MTMsMHhhYywweDEwLDB4ZmIsMHgwMCwweDNhLDB4ODAsMHgwNCwweGI0LDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwNCB9LAotICAxNiwgMHhhY2UwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhhNCwweGIzLDB4ZTAsMHgwMCwweGZiLDB4ODAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCB9LAotICAxNiwgMHhhY2YwLCAwLCB7MHhmYiwweDQ4LDB4YjIsMHg4MCwweDBmLDB4YjAsMHg0MywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZDAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMiwweDg3LDB4NDQsMHgzOCwweGMwLDB4OGQsMHgzMCwweDAyLDB4NGMsMHgwMCwweGZmLDB4MDAsMHgyMSB9LAotICAxNiwgMHhhZDEwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHgwMywweDljLDB4MDAsMHhiMywweDUwLDB4MjEsMHhkNCwweDRlLDB4NjIsMHgwMiwweGQwLDB4MDAsMHhiZiB9LAotICAxNiwgMHhhZDIwLCAwLCB7MHgwMCwweDM1LDB4ZDQsMHgwOSwweDcwLDB4MjIsMHhkOCwweDAwLDB4YmYsMHgyMiwweDIxLDB4YzAsMHgwYiwweDcyLDB4MDIsMHhkMiB9LAotICAxNiwgMHhhZDMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4NDAsMHg4NywweDgwLDB4MmQsMHhlMCB9LAotICAxNiwgMHhhZDQwLCAwLCB7MHgwOSwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjYsMHg4MCwweDI5LDB4YTEsMHgyOCwweDdhLDB4MzIsMHhkZSwweDAwLDB4MzcsMHhhMCB9LAotICAxNiwgMHhhZDUwLCAwLCB7MHgyNSwweGUwLDB4MDksMHg3OCwweDA2LDB4ZDIsMHgwMCwweGI3LDB4ODAsMHgyMSwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZGUsMHgwMCB9LAotICAxNiwgMHhhZDYwLCAwLCB7MHhiNywweDkwLDB4MjEsMHhlMCwweDBiLDB4NzksMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZDcwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwNCwweDgzLDB4MDEsMHgyOCwweGMwLDB4ODksMHhiMCwweDBhLDB4NGYsMHgwMCwweGIyLDB4MDAsMHgyMCB9LAotICAxNiwgMHhhZDgwLCAwLCB7MHhjNCwweDg4LDB4MzAsMHgxNiwweGNmLDB4MDAsMHhiYiwweDA0LDB4MjAsMHhjMSwweDBhLDB4MzIsMHgwNiwweGMyLDB4MDAsMHhiMyB9LAotICAxNiwgMHhhZDkwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4NDIsMHhlZiwweDEwLDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiB9LAotICAxNiwgMHhhZGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHg0YSwweDAwLDB4M2UsMHg4MCB9LAotICAxNiwgMHhhZGIwLCAwLCB7MHgyZCwweGEwLDB4MGIsMHhhYSwweDgwLDB4ZmUsMHgwMCwweDJiLDB4ODAsMHgwYywweGEwLDB4NDMsMHhmYiwweDMwLDB4ZmEsMHgwMCB9LAotICAxNiwgMHhhZGMwLCAwLCB7MHgzZSwweDgwLDB4MGYsMHhhMCwweDgzLDB4ZmEsMHgwNCwweGZlLDB4MTgsMHgyMiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZmEsMHg4NCB9LAotICAxNiwgMHhhZGQwLCAwLCB7MHhmMiwweDAwLDB4MzMsMHhhMiwweDBmLDB4YTAsMHgwMywweGYyLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZGUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4MmYsMHg4MCwweDAzLDB4YTAsMHgyMCwweGZjLDB4MDIsMHgzZSB9LAotICAxNiwgMHhhZGYwLCAwLCB7MHgwMCwweDFmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMSwweGUwLDB4NDAsMHhmOCB9LAotICAxNiwgMHhhZTAwLCAwLCB7MHg0MCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhhZTEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM2LDB4MDAsMHhkOSwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhhZTIwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHgwNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NjgsMHg2YywweDk0LDB4MDMsMHhlNCwweDIwLDB4YjksMHg5MCB9LAotICAxNiwgMHhhZTMwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTQsMHgwMCwweDI5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgyMCB9LAotICAxNiwgMHhhZTQwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZTUwLCAwLCB7MHg4MCwweDA0LDB4NjYsMHg1MCwweDg5LDB4MDAsMHgyMCwweDUwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwOSwweGQ5LDB4MDAsMHgyMCB9LAotICAxNiwgMHhhZTYwLCAwLCB7MHg0OCwweDQ4LDB4OTAsMHgwNiwweGU0LDB4MDQsMHg5OSwweGEwLDB4MjIsMHg0MCwweDBkLDB4YjgsMHgyMiwweDY0LDB4MDAsMHgwOSB9LAotICAxNiwgMHhhZTcwLCAwLCB7MHg1MCwweDMyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgyNywweDkwLDB4ODksMHg0MCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhhZTgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4MDAsMHg5OSwweDAwLDB4NjYsMHg0MiB9LAotICAxNiwgMHhhZTkwLCAwLCB7MHgwYSwweGQwLDB4MTIsMHgzNCwweDAwLDB4ODUsMHgwMCwweDI2LDB4NDAsMHg0YSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMSB9LAotICAxNiwgMHhhZWEwLCAwLCB7MHgyNCwweDQwLDB4NTgsMHg5MCwweDEyLDB4YzQsMHgwMCwweDI5LDB4NDAsMHgyZSwweDQwLDB4MGIsMHgxMCwweDBhLDB4MjQsMHg4MCB9LAotICAxNiwgMHhhZWIwLCAwLCB7MHg4OSwweDA1LDB4MjYsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZWMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHg2MSwweDQ4LDB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MSwweDk1LDB4MjAsMHgyMCB9LAotICAxNiwgMHhhZWQwLCAwLCB7MHg0MCwweDBhLDB4MzYsMHgwMiwweGM0LDB4MDAsMHhiMSwweDIwLDB4MDAsMHg0OCwweDQxLDB4MTAsMHg0MiwweDQ0LDB4MDEsMHhhMSB9LAotICAxNiwgMHhhZWUwLCAwLCB7MHgwMCwweDI0LDB4NDgsMHgwYiwweDEyLDB4MTIsMHgwNCwweDgwLDB4ODEsMHgyMCwweDI4LDB4NDgsMHgwYiwweDEyLDB4MDIsMHhjYSB9LAotICAxNiwgMHhhZWYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhkOCwweDUwLDB4MzYsMHgwMCB9LAotICAxNiwgMHhhZjAwLCAwLCB7MHgwZSwweDg1LDB4MjMsMHgyMSwweDQyLDB4OGMsMHg1NCwweDM0LDB4MTQsMHgwZSwweDgwLDB4MDIsMHhlMSwweDQwLDB4ZjgsMHg1MCB9LAotICAxNiwgMHhhZjEwLCAwLCB7MHgzNiwweDE0LDB4MDQsMHg4MCwweDAzLDB4ZTEsMHg0NCwweGU4LDB4NTAsMHg3ZSwweDE1LDB4MGYsMHg4NSwweDAzLDB4MjEsMHg0MiB9LAotICAxNiwgMHhhZjIwLCAwLCB7MHg0YSwweDAwLDB4MzYsMHgxNCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZjMwLCAwLCB7MHg5OCwweDFkLDB4YzQsMHg0MCwweGY5LDB4MTAsMHgxZSwweDQ0LDB4NGUsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZiB9LAotICAxNiwgMHhhZjQwLCAwLCB7MHhjMCwweDBkLDB4OTEsMHgwMywweGY0LDB4MDAsMHhkOSwweDE0LDB4M2UsMHg0NCwweDBmLDB4OTAsMHgwMywweDc0LDB4MDAsMHhkZCB9LAotICAxNiwgMHhhZjUwLCAwLCB7MHgwMCwweDdhLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDQwLDB4ZjksMHgzOCwweDNmLDB4NDQsMHgwZiwweDkzLDB4ODMsMHhlNyB9LAotICAxNiwgMHhhZjYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGY2LDB4ODAsMHhmOSwweGE0LDB4M2YsMHg2OCB9LAotICAxNiwgMHhhZjcwLCAwLCB7MHgwZSwweDllLDB4NDMsMHg2NywweDgwLDB4ZDksMHhlNCwweDNmLDB4NDEsMHgwZiwweGQ4LDB4NDMsMHgwNCwweDAwLDB4ZWQsMHhjMCB9LAotICAxNiwgMHhhZjgwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ1LDB4NDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZjQsMHgwMCB9LAotICAxNiwgMHhhZjkwLCAwLCB7MHhkZCwweDAwLDB4MzIsMHg0MCwweDJjLDB4OWEsMHgwMywweGM2LDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZmEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweGU4LDB4YzAsMHgyZSwweDE0LDB4NGQsMHg4ZiwweDIyLDB4MjMsMHhjMCwweGY4LDB4ZjAsMHhhYSB9LAotICAxNiwgMHhhZmIwLCAwLCB7MHgwMCwweDBjLDB4ODAsMHgwMywweGEyLDB4YTAsMHhkOCwweDgyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGU4LDB4MDAsMHhkOCB9LAotICAxNiwgMHhhZmMwLCAwLCB7MHg4MCwweDJhLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlOCwweDA4LDB4ODgsMHhhOCwweDM2LDB4MDAsMHg0OCwweDhhLDB4ODIsMHhjZSB9LAotICAxNiwgMHhhZmQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiMSwweDQ4LDB4MmUsMHg0MCB9LAotICAxNiwgMHhhZmUwLCAwLCB7MHgwYSwweDEyLDB4MjIsMHg0NCwweDAwLDB4OTEsMHgwNCwweGE0LDB4NDEsMHgwYSwweDk0LDB4MDYsMHgyNCwweDAwLDB4OTEsMHg0MiB9LAotICAxNiwgMHhhZmYwLCAwLCB7MHgyNCwweDQxLDB4MDksMHgxMCwweDAyLDB4ZTQsMHgwMSwweDkxLDB4MjAsMHgyNCwweDQwLDB4MDksMHgxMCwweDAyLDB4YzQsMHgwMSB9LAotICAxNiwgMHhiMDAwLCAwLCB7MHg5MSwweDAwLDB4MmMsMHg0MCwweDA5LDB4MTQsMHgwMiwweGMyLDB4MDEsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMDEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDQwLDB4NDgsMHgxMCwweDAyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHhhYSB9LAotICAxNiwgMHhiMDIwLCAwLCB7MHg0MCwweDE4LDB4YjAsMHgwMiwweGU0LDB4MDgsMHg5OSwweDAwLDB4MjIsMHg0MCwweDE5LDB4OTAsMHg0NiwweGU0LDB4ODAsMHg5OSB9LAotICAxNiwgMHhiMDMwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4OTksMHgwNCwweDI2LDB4NTAsMHgwOSwweDkwLDB4MDIsMHhjNiB9LAotICAxNiwgMHhiMDQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU0LDB4MDAsMHhmOSwweDA2LDB4M2MsMHg0MCB9LAotICAxNiwgMHhiMDUwLCAwLCB7MHgwYSwweDkwLDB4MDMsMHg2NCwweDAyLDB4ZDksMHgwMCwweGI2LDB4NTAsMHgwZSwweDkwLDB4MjMsMHgyNiwweDAxLDB4ZjksMHgwMCB9LAotICAxNiwgMHhiMDYwLCAwLCB7MHgzNiwweDQwLDB4MjksMHg5NCwweDgzLDB4ZTQsMHgwMCwweGQ5LDB4NDgsMHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4YzcsMHgwMCB9LAotICAxNiwgMHhiMDcwLCAwLCB7MHhkMSwweDA3LDB4M2EsMHg1MCwweGNkLDB4OTAsMHgwMywweGU4LDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMDgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwOCwweGU5LDB4MDAsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4YzQsMHgwOCwweGYxLDB4MDAsMHgzYSB9LAotICAxNiwgMHhiMDkwLCAwLCB7MHg2OCwweDhmLDB4OTAsMHgwMywweGE0LDB4NDEsMHhmOSwweDAwLDB4YmUsMHg0MCwweDBlLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhiMGEwLCAwLCB7MHhjMCwweDM4LDB4NDAsMHgyZSwweDkwLDB4MDMsMHhlNiwweDQwLDB4ZTksMHgwMCwweDNlLDB4NjgsMHgwNiwweDkwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhiMGIwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhkOCwweDA1LDB4M2UsMHgwMCB9LAotICAxNiwgMHhiMGMwLCAwLCB7MHgwNywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZTgsMHg0MCwweDNlLDB4MTAsMHgwZCwweDgyLDB4MDMsMHg2MCwweDAwLDB4YzgsMHgwMCB9LAotICAxNiwgMHhiMGQwLCAwLCB7MHhiMiwweDAwLDB4OGQsMHg4MywweDAzLDB4ZTAsMHgwMCwweGQ4LDB4NTAsMHgzYSwweDAwLDB4MWUsMHg4MCwweDAzLDB4ZTEsMHgyNCB9LAotICAxNiwgMHhiMGUwLCAwLCB7MHhmOCwweDAwLDB4YjIsMHgwMCwweDBmLDB4ODAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMGYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweDhhLDB4MDQsMHgyZiwweDg0LDB4NmEsMHhhMCwweDBiLDB4ZTgsMHgwOCwweDhlLDB4MDAsMHgzZCB9LAotICAxNiwgMHhiMTAwLCAwLCB7MHg4MCwweDg4LDB4ZWMsMHgwMywweDY4LDB4MTAsMHhhNiwweDAxLDB4MzYsMHg4MCwweDA4LDB4YTgsMHgwMCwweGM4LDB4MTAsMHg4ZSB9LAotICAxNiwgMHhiMTEwLCAwLCB7MHgxMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhmYiwweDIwLDB4YmUsMHg1MSwweDJhLDB4ODAsMHgwYiwweGEwLDB4MDIsMHg4MiB9LAotICAxNiwgMHhiMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQxLDB4MjEsMHg5MywweDAwLDB4MmMsMHhmMCB9LAotICAxNiwgMHhiMTMwLCAwLCB7MHgzOSwweDMwLDB4MDYsMHgwYywweDAwLDB4YTMsMHgwMCwweDI4LDB4MDgsMHgyOCwweGJjLDB4MDIsMHgyYywweDAwLDB4ODMsMHg4MCB9LAotICAxNiwgMHhiMTQwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHgzMCwweDAwLDB4Y2MsMHgwMCwweDlhLDB4ODAsMHgyOCwweGMwLDB4MGEsMHgzMCwweDAyLDB4Y2QsMHgwMCB9LAotICAxNiwgMHhiMTUwLCAwLCB7MHhiMywweDA0LDB4NjIsMHhjMSwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMTYwLCAwLCB7MHhhMCwweDAxLDB4MWUsMHgwNCwweDA3LDB4MTEsMHgyYywweGQwLDB4MGEsMHgzMiwweDIyLDB4ZGMsMHhjMSwweDg3LDB4MDAsMHg2ZCB9LAotICAxNiwgMHhiMTcwLCAwLCB7MHhkMCwweDA4LDB4MzQsMHgwMiwweDdjLDB4MDAsMHhhNywweDA4LDB4MjQsMHhjOCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAsMHgwZiB9LAotICAxNiwgMHhiMTgwLCAwLCB7MHgwMCwweDIxLDB4YzQsMHgwOCwweDczLDB4MDYsMHhkYywweDAwLDB4YjIsMHgwMCwweDYxLDB4YzgsMHgwYiwweDNhLDB4MDIsMHg4OCB9LAotICAxNiwgMHhiMTkwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDBhLDB4MDAsMHg1NywweDgxLDB4MmQsMHhhMCB9LAotICAxNiwgMHhiMWEwLCAwLCB7MHgyZCwweDdjLDB4MDIsMHgzZSwweDgyLDB4ZTMsMHhlMCwweDNiLDB4ZTAsMHgwYywweDc4LDB4MDMsMHgxZSwweDIwLDB4YzcsMHg4MCB9LAotICAxNiwgMHhiMWIwLCAwLCB7MHhiOSwweGU4LDB4MmMsMHg3OCwweDAzLDB4ZmYsMHg4MCwweGQ2LDB4ODAsMHgzYiwweGVjLDB4MDIsMHg3YSwweDAzLDB4ZGUsMHgwMCB9LAotICAxNiwgMHhiMWMwLCAwLCB7MHhmNywweDgxLDB4MzEsMHhlYywweDhmLDB4N2MsMHgwMywweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMWQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgxZSwweDgwLDB4MjMsMHhiNiwweDgzLDB4ZWQsMHhhMCwweGRiLDB4NjQsMHgzZSB9LAotICAxNiwgMHhiMWUwLCAwLCB7MHhjMCwweDBlLDB4YjAsMHgwMywweGVkLDB4YzAsMHhmMiwweDAwLDB4M2UsMHhkNCwweDBhLDB4YjAsMHgwMywweGVjLDB4MzAsMHhlZSB9LAotICAxNiwgMHhiMWYwLCAwLCB7MHg2NCwweDNlLDB4YzAsMHgwNywweGIwLDB4YzMsMHhlOCwweDAwLDB4ZmIsMHgwMSwweDNlLDB4YzgsMHgwZiwweGI4LDB4MDMsMHhjMiB9LAotICAxNiwgMHhiMjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhlZiwweDgwLDB4M2IsMHhlMCB9LAotICAxNiwgMHhiMjEwLCAwLCB7MHgwZiwweGY4LDB4NjMsMHg3ZSwweDA0LDB4Y2YsMHhjMCwweGI3LDB4MjAsMHgwZSwweGY4LDB4MDMsMHhmYywweDAwLDB4YzcsMHg4MCB9LAotICAxNiwgMHhiMjIwLCAwLCB7MHgzMywweGYwLDB4MGMsMHhjYywweDAzLDB4ZmUsMHgwOCwweGY3LDB4YzEsMHgzMywweGUwLDB4NGYsMHhmOCwweDAzLDB4YjIsMHg0MCB9LAotICAxNiwgMHhiMjMwLCAwLCB7MHhmZiwweGEwLDB4MzEsMHhlNiwweDBjLDB4ZjgsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMjQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGVmLDB4MDIsMHgyMSwweDQwLDB4MmQsMHg3MCwweDAyLDB4MWMsMHgwMCwweGY3LDB4MTAsMHgyOSB9LAotICAxNiwgMHhiMjUwLCAwLCB7MHg0MCwweDA4LDB4NzAsMHgyMiwweGZjLDB4YzAsMHhhNywweDAwLDB4M2QsMHhjMCwweDA4LDB4NDAsMHgwMiwweGRjLDB4MDAsMHhiNyB9LAotICAxNiwgMHhiMjYwLCAwLCB7MHg0MCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkYSwweDgwLDB4YjcsMHgyNCwweDI5LDB4YzYsMHg0OCwweGYwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhiMjcwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDAwLDB4MjgsMHg4NCB9LAotICAxNiwgMHhiMjgwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwMCwweDI1LDB4ODAsMHgwYSwweDYxLDB4MDIsMHhkYywweDAxLDB4YTcsMHgxMCB9LAotICAxNiwgMHhiMjkwLCAwLCB7MHgyNCwweGMwLDB4MDgsMHg0MCwweDgyLDB4ZGMsMHgwMCwweDlmLDB4MDAsMHgyNSwweGM0LDB4MGIsMHg3MCwweDAyLDB4OTQsMHgyNSB9LAotICAxNiwgMHhiMmEwLCAwLCB7MHhiNywweDMyLDB4MjMsMHhjNCwweDFiLDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMmIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwYywweGEzLDB4MDAsMHgyMCwweDAwLDB4MjksMHgzMCwweDBhLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2YyB9LAotICAxNiwgMHhiMmMwLCAwLCB7MHgwMCwweDA4LDB4MTAsMHg0MiwweGNkLDB4MTAsMHhhYSwweDAwLDB4YWMsMHhjMCwweDAwLDB4MDQsMHgwMiwweGNkLDB4MDAsMHhiYiB9LAotICAxNiwgMHhiMmQwLCAwLCB7MHgxMCwweDI0LDB4YzAsMHgwMywweDMwLDB4NDIsMHhjMywweDA5LDB4YjMsMHgwMCwweDJjLDB4ZDAsMHgwYSwweDMwLDB4MDIsMHgxOCB9LAotICAxNiwgMHhiMmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDgwLDB4MDAsMHhlZiwweDAwLDB4M2EsMHg0MCB9LAotICAxNiwgMHhiMmYwLCAwLCB7MHgwNywweGYwLDB4NDMsMHgzYywweDAwLDB4OWYsMHhjMCwweGI2LDB4MTQsMHgwZSwweDgwLDB4MDYsMHhmYywweDAxLDB4Y2IsMHgwMSB9LAotICAxNiwgMHhiMzAwLCAwLCB7MHgzNywweGMwLDB4YWMsMHhiNCwweDAyLDB4ZmMsMHgwMCwweGQ5LDB4MDEsMHgzNywweGMwLDB4NGIsMHhmMCwweDEzLDB4YWUsMHgwOCB9LAotICAxNiwgMHhiMzEwLCAwLCB7MHhmYiwweDAwLDB4MzMsMHhkMCwweDJlLDB4ZjAsMHgwYiwweDJhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMzIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDUsMHgzZSwweDQwLDB4MGYsMHgzMCwweDAzLDB4YWMsMHgxNCwweGZiLDB4YTAsMHgzYSB9LAotICAxNiwgMHhiMzMwLCAwLCB7MHhjMCwweDBmLDB4ODQsMHg0MywweGVjLDB4MDEsMHhmOSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YTIsMHgwMywweGVjLDB4MjEsMHhmOSB9LAotICAxNiwgMHhiMzQwLCAwLCB7MHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDIwLDB4ZjAsMHgwMCwweGJhLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhiMzUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY4LDB4MDAsMHhkNywweDAxLDB4MzUsMHg2OCB9LAotICAxNiwgMHhiMzYwLCAwLCB7MHg2ZCwweGYwLDB4MDMsMHgzYywweDAxLDB4ZTcsMHgwMCwweDMzLDB4YzAsMHgwZCwweGMwLDB4MDMsMHhmYywweDI0LDB4Y2YsMHgwMiB9LAotICAxNiwgMHhiMzcwLCAwLCB7MHgzNywweGMwLDB4MGQsMHhkMiwweDAyLDB4ZmMsMHgwMCwweGRmLDB4MDEsMHgzMywweGMwLDB4NWUsMHg3MCwweDMzLDB4MWMsMHgxOCB9LAotICAxNiwgMHhiMzgwLCAwLCB7MHhjZiwweDQxLDB4MzEsMHhjMiwweDBjLDB4ZjAsMHgwMywweDQwLDB4NDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMzkwLCAwLCB7MHg4MSwweDAwLDB4NmMsMHgwMCwweDhiLDB4MDAsMHgyMiwweDUyLDB4MmEsMHhiMCwweDAzLDB4NmMsMHgwMCwweGFiLDB4MDAsMHgyOCB9LAotICAxNiwgMHhiM2EwLCAwLCB7MHhjMCwweDBhLDB4OGMsMHgwMiwweGVjLDB4MTAsMHg4YiwweGUwLDB4MjIsMHhjMCwweDBmLDB4ODAsMHgwMiwweGNjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhiM2IwLCAwLCB7MHg4MCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYSwweDEwLDB4ZDksMHg4MCwweDIyLDB4YzAsMHhjOCwweGIwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhiM2MwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDI0LDB4MDEsMHg5YiwweDAwLDB4MjYsMHg4MCB9LAotICAxNiwgMHhiM2QwLCAwLCB7MHgyOSwweGIwLDB4NjIsMHgwYywweDAwLDB4YWIsMHgwMSwweDZhLDB4MDAsMHgwOCwweDk4LDB4MDIsMHhjYywweDAwLDB4OWIsMHg4MyB9LAotICAxNiwgMHhiM2UwLCAwLCB7MHgyZSwweGMwLDB4Y2IsMHhiNCwweDEyLDB4ZWMsMHgwMywweDhiLDB4ODAsMHgyOCwweGMwLDB4MGEsMHhiMCwweDA2LDB4YTIsMHgwMCB9LAotICAxNiwgMHhiM2YwLCAwLCB7MHg4YiwweDAyLDB4NjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNDAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMSwweDgzLDB4MTQsMHgyMCwweDAwLDB4MGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYSB9LAotICAxNiwgMHhiNDEwLCAwLCB7MHg0MCwweDBhLDB4MTAsMHgwMCwweGNjLDB4MDIsMHg5MywweDAwLDB4MjgsMHhjMCwweDBhLDB4MjAsMHgwMiwweGVjLDB4MDAsMHgwMyB9LAotICAxNiwgMHhiNDIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MTYsMHgwMCwweDgwLDB4OTEsMHgwMCwweDYwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhiNDMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHg4MCB9LAotICAxNiwgMHhiNDQwLCAwLCB7MHgyZCwweGYwLDB4MDMsMHgzYywweDAwLDB4YWYsMHgwMCwweDNhLDB4ODAsMHgwZCwweDgwLDB4MDMsMHhmYywweDAwLDB4NWIsMHgwMCB9LAotICAxNiwgMHhiNDUwLCAwLCB7MHgzNywweGMwLDB4MDksMHg5MCwweDAzLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzMywweGMwLDB4MGEsMHhmMCwweDAzLDB4YTQsMHgyMCB9LAotICAxNiwgMHhiNDYwLCAwLCB7MHhjYiwweDAwLDB4YjMsMHhjMCwweDhjLDB4YjAsMHgwMywweDQwLDB4MDIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNDcwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNCwweGZmLDB4MjAsMHgwZiwweDAwLDB4MjcsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgyZCB9LAotICAxNiwgMHhiNDgwLCAwLCB7MHgwMCwweDBiLDB4ZDAsMHgyNywweGZjLDB4MDAsMHhlZiwweDAwLDB4MzcsMHhjMCwweDBmLDB4YzAsMHg0MywweGZjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhiNDkwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MGIsMHhlMCwweDAwLDB4ZjUsMHgwMCwweDNmLDB4YzAsMHgxZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhiNGEwLCAwLCB7MHgwNywweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGY0LDB4YzAsMHhmYywweDIyLDB4N2YsMHhjMCB9LAotICAxNiwgMHhiNGIwLCAwLCB7MHgwYywweGQwLDB4NDMsMHgzNiwweDAwLDB4YzQsMHg4MSwweDM0LDB4YzAsMHgxYywweDg5LDB4MDcsMHhmMiwweDgwLDB4Y2YsMHg4MCB9LAotICAxNiwgMHhiNGMwLCAwLCB7MHgzMywweDYwLDB4MGYsMHg3OSwweDAzLDB4M2MsMHhlMCwweGNmLDB4MDgsMHgzMywweDQ4LDB4MGQsMHhjNCwweDAzLDB4ZjAsMHg1MCB9LAotICAxNiwgMHhiNGQwLCAwLCB7MHhkYywweDkwLDB4MzcsMHhjYywweDBmLDB4ZjgsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNGUwLCAwLCB7MHg4MCwweDEwLDB4ZTksMHg5MCwweGI4LDB4ODAsMHg3ZSwweGU0LDB4ODgsMHg5OSwweDBhLDB4MjYsMHgwOCwweGE5LDB4ODAsMHgyMiB9LAotICAxNiwgMHhiNGYwLCAwLCB7MHhmNCwweDJjLDB4OTksMHgwMywweGE3LDB4MDIsMHg4OSwweDgwLDB4MjIsMHgzNCwweDBiLDB4OWEsMHgwMywweDdkLDB4MDAsMHhkZiB9LAotICAxNiwgMHhiNTAwLCAwLCB7MHg0OCwweDJiLDB4NjAsMHgwOCwweDA1LDB4MDIsMHhlNSwweDAwLDB4ODIsMHgyMCwweDIyLDB4YzQsMHg4YiwweGIwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhiNTEwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM1LDB4MDAsMHhiMCwweDEwLDB4MmMsMHhjMCB9LAotICAxNiwgMHhiNTIwLCAwLCB7MHgyYSwweDAwLDB4MDIsMHhhNCwweDA4LDB4YTgsMHgwNCwweGUwLDB4ODAsMHgwYiwweDAwLDB4MDIsMHhjNCwweDQxLDB4YjIsMHgwNCB9LAotICAxNiwgMHhiNTMwLCAwLCB7MHhhNCwweDBhLDB4MGIsMHhiMCwweDAyLDB4OGMsMHg4MSwweDgzLDB4MjAsMHg2MCwweDUwLDB4OTgsMHgxMiwweDEyLDB4OGIsMHg4MCB9LAotICAxNiwgMHhiNTQwLCAwLCB7MHg4OSwweDAwLDB4MmMsMHhjOCwweDBiLDB4MzAsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNTUwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgyMCwweGJiLDB4MDIsMHgyYSwweGMwLDB4MGEsMHg4OCwweDAyLDB4YTQsMHgwOCwweGE5LDB4ODAsMHhhMiB9LAotICAxNiwgMHhiNTYwLCAwLCB7MHhlMSwweDFiLDB4OWMsMHgyMiwweGU2LDB4MDAsMHhiOCwweDQwLDB4MjYsMHgzMCwweDBiLDB4OTAsMHgwMiwweGNjLDB4MDEsMHg5MyB9LAotICAxNiwgMHhiNTcwLCAwLCB7MHgwNCwweDJhLDB4NDAsMHgzOSwweDk4LDB4ODIsMHhlYywweDE0LDB4OGIsMHg2NSwweDJhLDB4YzAsMHgwYiwweGIyLDB4MDIsMHhmOCB9LAotICAxNiwgMHhiNTgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGU3LDB4MDAsMHhiOCwweDQ4LDB4MmUsMHgwMCB9LAotICAxNiwgMHhiNTkwLCAwLCB7MHgwZSwweDg4LDB4NDMsMHg4NCwweDAwLDB4ZTMsMHhjMSwweDM2LDB4ZTgsMHgwZiwweDljLDB4MTIsMHhlMiwweDgwLDB4ZjMsMHhjMCB9LAotICAxNiwgMHhiNWEwLCAwLCB7MHgzNiwweDcwLDB4NWYsMHhhOCwweDIzLDB4YWMsMHgwMSwweGNiLDB4MDQsMHgyMiwweDQwLDB4NGQsMHg4NCwweDAzLDB4ZTIsMHgwMCB9LAotICAxNiwgMHhiNWIwLCAwLCB7MHhkOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNWMwLCAwLCB7MHhlMCwweDAxLDB4YjMsMHgwOSwweGZlLDB4MTAsMHgzZSwweDgxLDB4MGQsMHhjMCwweDAzLDB4NzQsMHgwYywweGZmLDB4MDAsMHgzZCB9LAotICAxNiwgMHhiNWQwLCAwLCB7MHhjMSwweDhjLDB4ZDAsMHg4MywweDE0LDB4MDAsMHhjZCwweDIwLDB4M2EsMHg0MCwweDBkLDB4Y2EsMHgwMSwweDdjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhiNWUwLCAwLCB7MHgwMCwweDFmLDB4NDAsMHgwZSwweGMwLDB4MjMsMHhmMiwweDQ2LDB4ZmUsMHg4NCwweDM3LDB4YzAsMHgwZiwweGQ4LDB4MDMsMHhmOCB9LAotICAxNiwgMHhiNWYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhkZCwweDAyLDB4M2QsMHg0MCB9LAotICAxNiwgMHhiNjAwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHhhYywweDAwLDB4ZWIsMHg0OCwweDNlLDB4ZDAsMHgwYywweDgwLDB4NjMsMHhhMiwweDA4LDB4Y2EsMHgwMCB9LAotICAxNiwgMHhiNjEwLCAwLCB7MHgzMiwweDA4LDB4MGMsMHhiMCwweDAzLDB4YWMsMHgwOCwweGViLDB4MDAsMHgzZSwweDQwLDB4MGMsMHhkNCwweDgzLDB4NTgsMHgyMCB9LAotICAxNiwgMHhiNjIwLCAwLCB7MHhmOSwweDQyLDB4MzIsMHhjMCwweDBjLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNjMwLCAwLCB7MHhjOCwweDA1LDB4MjgsMHgwMiwweGRiLDB4MDAsMHgyZSwweGUwLDB4MjgsMHgzYSwweDAyLDB4MmUsMHgwMCwweGRiLDB4NjAsMHg3NiB9LAotICAxNiwgMHhiNjQwLCAwLCB7MHhlMCwweDBkLDB4OGMsMHgwMiwweGUwLDB4MDAsMHg4OCwweDAyLDB4MzYsMHg1OCwweDY4LDB4MTUsMHg4MywweDdjLDB4MDgsMHhiZiB9LAotICAxNiwgMHhiNjUwLCAwLCB7MHgwMCwweDJkLDB4NjAsMHgwOCwweDkwLDB4MDIsMHhhOSwweDAwLDB4YjMsMHgwNSwweDIzLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhmMiB9LAotICAxNiwgMHhiNjYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTAsMHg4MCwweDAwLDB4MGMsMHhjMSB9LAotICAxNiwgMHhiNjcwLCAwLCB7MHgwOCwweDFjLDB4ODIsMHgwNiwweDAwLDB4OTMsMHhjMCwweDIwLDB4ZjYsMHgwYSwweDIwLDB4MDIsMHgwOCwweDAwLDB4OTMsMHgwMCB9LAotICAxNiwgMHhiNjgwLCAwLCB7MHgyNCwweDYwLDB4MDksMHgzYywweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyYywweDYwLDB4MDksMHgwMSwweDEyLDB4MDAsMHg0MCB9LAotICAxNiwgMHhiNjkwLCAwLCB7MHhiMCwweDAwLDB4ZTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDcwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNmEwLCAwLCB7MHgyMCwweDQxLDB4MGEsMHg0MCwweDg2LDB4ODEsMHgyZCwweGUwLDB4NTgsMHgxOCwweDBhLDB4MTYsMHhhMCwweDk3LDB4ODAsMHgyNSB9LAotICAxNiwgMHhiNmIwLCAwLCB7MHhlOSwweDE5LDB4NzgsMHg4MiwweGQ2LDB4MDAsMHg5NywweDgwLDB4MjUsMHhhMCwweDE5LDB4ZjgsMHgwMiwweDVlLDB4MDAsMHhiNyB9LAotICAxNiwgMHhiNmMwLCAwLCB7MHg4MCwweDJkLDB4NjAsMHgyOCwweDQ4LDB4MTIsMHg5NiwweDAwLDB4YjQsMHg4MCwweDIxLDB4ZTAsMHgyOCwweDc4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhiNmQwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MSwweDMwLDB4M2MsMHhjMiB9LAotICAxNiwgMHhiNmUwLCAwLCB7MHgwZSwweDAwLDB4MDIsMHg4NCwweDAwLDB4ZTMsMHg0MCwweDI4LDB4ZTgsMHg0YywweDI5LDB4MDMsMHgwYywweDAwLDB4ZDMsMHgwMCB9LAotICAxNiwgMHhiNmYwLCAwLCB7MHgzNCwweGM0LDB4MGQsMHgzMSwweDAzLDB4OGMsMHgwOCwweGUzLDB4MDAsMHgzYywweDQ2LDB4MGMsMHgyMCwweDAzLDB4MDAsMHg4MCB9LAotICAxNiwgMHhiNzAwLCAwLCB7MHhmMiwweDAwLDB4MzIsMHhjMCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNzEwLCAwLCB7MHg0MCwweDE5LDB4YjgsMHgwMCwweGZmLDB4MTAsMHgyZiwweGMwLDB4MGYsMHhjMCwweDIzLDB4YzQsMHg4MCwweDdmLDB4MTAsMHgzZSB9LAotICAxNiwgMHhiNzIwLCAwLCB7MHhjMCwweDBmLDB4YjEsMHgwMywweGRjLDB4MDAsMHhlNywweDAwLDB4M2YsMHg4MCwweDA2LDB4ZjEsMHg0MywweGZjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhiNzMwLCAwLCB7MHgwOCwweDdkLDB4NTAsMHgwZSwweGUxLDB4MjMsMHhiNCwweDA4LDB4ZmUsMHgxMCwweDNmLDB4YzQsMHgwZiwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhiNzQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDIsMHhjYywweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhiNzUwLCAwLCB7MHgyYywweGMwLDB4MDMsMHgwNCwweDAxLDB4Y2IsMHgwMCwweDMzLDB4NjAsMHgyYywweDkwLDB4MTMsMHhlOCwweDAwLDB4NzMsMHgwMCB9LAotICAxNiwgMHhiNzYwLCAwLCB7MHhiMiwweGMxLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHg4MCwweGZiLDB4MjgsMHgzZSwweDU0LDB4MWYsMHhkMCwweDAzLDB4ZmUsMHgwMiB9LAotICAxNiwgMHhiNzcwLCAwLCB7MHhjOSwweDgwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGNhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNzgwLCAwLCB7MHg0OCwweDExLDB4ODAsMHgwMCwweDg2LDB4MDAsMHgyZCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MTQsMHgwOCwweDg3LDB4MDAsMHgyOSB9LAotICAxNiwgMHhiNzkwLCAwLCB7MHg0MCwweDA4LDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMiwweDVjLDB4YTAsMHg5NyB9LAotICAxNiwgMHhiN2EwLCAwLCB7MHgyMCwweDJkLDB4NDgsMHgwYiwweDUwLDB4MDIsMHhkYywweDEwLDB4OGQsMHgwMCwweDIxLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhkMiB9LAotICAxNiwgMHhiN2IwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlmLDB4MDAsMHg4NSwweDgxLDB4MmMsMHg2MCB9LAotICAxNiwgMHhiN2MwLCAwLCB7MHgxOCwweDU4LDB4MDIsMHhkZSwweDIwLDB4YjcsMHg4MiwweDI4LDB4NjAsMHg1YSwweDc4LDB4NTIsMHhkZSwweDEwLDB4YmYsMHg4MCB9LAotICAxNiwgMHhiN2QwLCAwLCB7MHgyMSwweGUwLDB4NGIsMHg3OCwweDA2LDB4ZGUsMHg0MCwweGI3LDB4YTAsMHgyZCwweDY5LDB4OWIsMHg3OCwweDEyLDB4Y2UsMHgwMCB9LAotICAxNiwgMHhiN2UwLCAwLCB7MHg4NywweDgwLDB4ZTEsMHhlNCwweDBiLDB4NzgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiN2YwLCAwLCB7MHg0OCwweDE0LDB4ZWUsMHgwMCwweDgzLDB4MDAsMHgyYywweGMyLDB4MDgsMHgzNiwweDAyLDB4OGMsMHgwOCwweDgzLDB4ZjAsMHg2OCB9LAotICAxNiwgMHhiODAwLCAwLCB7MHg0MCwweDBhLDB4M2UsMHgwMiwweGNkLDB4NDAsMHhiMywweDAwLDB4MjAsMHhlMCwweDBiLDB4MzIsMHgwNiwweDRjLDB4MDAsMHg5YiB9LAotICAxNiwgMHhiODEwLCAwLCB7MHgwMCwweDBjLDB4NDAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDgwLDB4ODMsMHgwOCwweDIwLDB4YzAsMHgwYiwweGIxLDB4MDIsMHhkYSB9LAotICAxNiwgMHhiODIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhjZSwweDA4LDB4M2YsMHhiMCB9LAotICAxNiwgMHhiODMwLCAwLCB7MHgwYywweGU0LDB4MjMsMHhkYSwweDAyLDB4ZGUsMHg0MCwweGJiLDB4YjIsMHgwZSwweGUyLDB4NDMsMHhmYSwweDAwLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhiODQwLCAwLCB7MHgzMywweDkwLDB4MGIsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzZSwweDgxLDB4MGIsMHhlMCwweDEzLDB4ZjksMHgwOCB9LAotICAxNiwgMHhiODUwLCAwLCB7MHhjZSwweDQwLDB4MzIsMHg4MCwweDBmLDB4YTgsMHgwMywweGZhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiODYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgyNCwweDk4LDB4MDgsMHgzYywweDA0LDB4MGYsMHgwMCwweDBiLDB4NjAsMHgwMCwweGY4LDB4NDAsMHgyZSB9LAotICAxNiwgMHhiODcwLCAwLCB7MHgwMywweDBkLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNiwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhkOCB9LAotICAxNiwgMHhiODgwLCAwLCB7MHgwMCwweDNjLDB4MDAsMHgwMywweDhjLDB4MjMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDdlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhiODkwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhiOGEwLCAwLCB7MHg4YywweDkwLDB4MDMsMHgyNSwweDAwLDB4ZTksMHg4MCwweDMyLDB4NDQsMHgwZiwweDk0LDB4MDIsMHhlNCwweDIwLDB4ZjksMHgwMCB9LAotICAxNiwgMHhiOGIwLCAwLCB7MHgzMiwweDcwLDB4MGYsMHg5YSwweDQzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHgxMCwweDMzLDB4MjQsMHgxMCB9LAotICAxNiwgMHhiOGMwLCAwLCB7MHhmOSwweDAxLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOGQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODIsMHgyZSwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHg4MiwweDgxLDB4YzAsMHhhMiB9LAotICAxNiwgMHhiOGUwLCAwLCB7MHg3MCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MDAsMHgzMSwweDQyLDB4YTIsMHg2MCwweDBiLDB4OTQsMHg4MiwweGU0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhiOGYwLCAwLCB7MHgwMCwweDJhLDB4NDAsMHgwOCwweDk0LDB4YTIsMHgyNSwweDAwLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MGEsMHgyMCB9LAotICAxNiwgMHhiOTAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHg4OSwweDY0LDB4MmUsMHg0MCB9LAotICAxNiwgMHhiOTEwLCAwLCB7MHgwOCwweDkwLDB4NDIsMHhhNCwweDAwLDB4ODksMHg2MCwweDIyLDB4NDIsMHgwYiwweDkwLDB4MDIsMHhlNiwweDAwLDB4YjksMHg4MCB9LAotICAxNiwgMHhiOTIwLCAwLCB7MHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YTQsMHgwNCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MjgsMHg5MCwweDAyLDB4MjQsMHgwNCB9LAotICAxNiwgMHhiOTMwLCAwLCB7MHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOTQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHg4MCwweDgxLDB4MDAsMHgyYywweGMxLDB4NDgsMHgxMCwweDAyLDB4YTQsMHgwMiwweDgxLDB4MDAsMHgyMCB9LAotICAxNiwgMHhiOTUwLCAwLCB7MHg0MCwweDgzLDB4MzQsMHgwMiwweGM0LDB4MDAsMHhiYiwweDAwLDB4MjAsMHhkMCwweDBiLDB4MTQsMHgwMiwweGM0LDB4ODAsMHhiMSB9LAotICAxNiwgMHhiOTYwLCAwLCB7MHgyMCwweGEwLDB4NjgsMHgxOCwweDE0LDB4MWEsMHgwZCwweDAwLDB4YjEsMHg0MCwweDJjLDB4NTAsMHgwYiwweDEwLDB4MDIsMHgwYSB9LAotICAxNiwgMHhiOTcwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhiOTgwLCAwLCB7MHg4YywweDgwLDB4MGIsMHhhMCwweDA0LDB4ZTgsMHgwMCwweDMyLDB4MDAsMHgwNywweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHhiOTkwLCAwLCB7MHgzMiwweDAwLDB4MWYsMHg4MCwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCB9LAotICAxNiwgMHhiOWEwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOWIwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0NiwweGZkLDB4NDAsMHgzZiwweDUwLDB4MjMsMHhkNCwweDEzLDB4NzQsMHgwNCwweGY1LDB4MDIsMHgzZiB9LAotICAxNiwgMHhiOWMwLCAwLCB7MHg1MCwweDBmLDB4ZDQsMHgwMywweGZkLDB4MDAsMHhiZCwweDAwLDB4MmYsMHg1MCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhmOSB9LAotICAxNiwgMHhiOWQwLCAwLCB7MHgxMCwweDNmLDB4NDQsMHgwZiwweGQ0LDB4MDMsMHhmNSwweDA4LDB4ZmQsMHgwNiwweDNlLDB4NTAsMHgwZiwweGQyLDB4ODMsMHhlNiB9LAotICAxNiwgMHhiOWUwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGU2LDB4NDAsMHhlZCwweDA0LDB4M2UsMHg0OCB9LAotICAxNiwgMHhiOWYwLCAwLCB7MHgwYywweGIyLDB4ODMsMHhmNCwweDAwLDB4YzEsMHgwMCwweDMyLDB4NDAsMHg4YywweGQwLDB4MDMsMHgzNCwweDAwLDB4ZmQsMHgwMCB9LAotICAxNiwgMHhiYTAwLCAwLCB7MHgzNywweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTYsMHgyMCwweGY5LDB4ODgsMHgzZCwweDYyLDB4MGMsMHhkOCwweDAzLDB4ZmUsMHgyNCB9LAotICAxNiwgMHhiYTEwLCAwLCB7MHhjMSwweDAwLDB4M2UsMHg3OCwweDBmLDB4ZDAsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYTIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweDg4LDB4NDAsMHgyZSwweDEwLDB4MDgsMHhjNCwweDIzLDB4YTAsMHgwOCwweDg4LDB4MDYsMHgyYSB9LAotICAxNiwgMHhiYTMwLCAwLCB7MHgxNCwweDA4LDB4ODAsMHgwMywweDYwLDB4MDQsMHhiOCwweDAwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHgwMiwweGUyLDB4MDAsMHhiOCB9LAotICAxNiwgMHhiYTQwLCAwLCB7MHg4MCwweDJlLDB4MDAsMHgwOCwweDhjLDB4MDIsMHhlMywweDgwLDB4ODgsMHgwMiwweDJlLDB4MzgsMHgwYiwweDg4LDB4MDIsMHgwZSB9LAotICAxNiwgMHhiYTUwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4ODAsMHhhMSwweGMwLDB4MmQsMHg3MCB9LAotICAxNiwgMHhiYTYwLCAwLCB7MHgwOCwweDUwLDB4NDIsMHhjNCwweDAwLDB4YTksMHgwMCwweDIwLDB4ZTAsMHgyYSwweDEwLDB4MGEsMHgwNCwweDEwLDB4YjEsMHgwMCB9LAotICAxNiwgMHhiYTcwLCAwLCB7MHgyNCwweDQwLDB4NGIsMHgxMCwweDA2LDB4YzQsMHgyMCwweGIxLDB4MDgsMHg2ZSwweDQwLDB4MGIsMHgxNiwweDgyLDB4YzQsMHgyMCB9LAotICAxNiwgMHhiYTgwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg1MCwweDBiLDB4OTIsMHg4MiwweDUyLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYTkwLCAwLCB7MHgxOCwweDExLDB4YTQsMHgwMCwweGE5LDB4MDEsMHgyZSwweDQwLDB4MjgsMHhkMCwweDIwLDB4YTQsMHgwNCwweGE5LDB4MDAsMHgyYSB9LAotICAxNiwgMHhiYWEwLCAwLCB7MHg0MCwweDFhLDB4YjAsMHgxMiwweDI0LDB4MDAsMHhiOSwweDBjLDB4MjIsMHg0MiwweDBiLDB4OTQsMHgwMiwweGU0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhiYWIwLCAwLCB7MHgwMCwweDZlLDB4NDAsMHgwYiwweDk2LDB4MDIsMHhlNCwweDExLDB4ODksMHgyMCwweDZlLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg0NiB9LAotICAxNiwgMHhiYWMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4YzAsMHhhOSwweGMwLDB4M2UsMHg1MCB9LAotICAxNiwgMHhiYWQwLCAwLCB7MHgwOCwweDljLDB4ODMsMHhlNCwweDAyLDB4ZTksMHgwMCwweGIyLDB4NDAsMHgyYSwweDkyLDB4MTIsMHgyNiwweDQwLDB4ZjksMHg0MCB9LAotICAxNiwgMHhiYWUwLCAwLCB7MHgzNiwweDcwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwNCwweGY5LDB4MDEsMHgzYywweDQwLDB4MGYsMHg5OCwweDAzLDB4ZTYsMHgwMiB9LAotICAxNiwgMHhiYWYwLCAwLCB7MHhjOSwweDIyLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMiwweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYjAwLCAwLCB7MHgyOCwweDAxLDB4ODYsMHgwNCwweGQ5LDB4NDAsMHgxYywweDQwLDB4MGYsMHg5MiwweDIzLDB4YTQsMHhiMCwweGRiLDB4MDQsMHgzYyB9LAotICAxNiwgMHhiYjEwLCAwLCB7MHhjMCwweDBkLDB4OWEsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhiYjIwLCAwLCB7MHgwMCwweDNlLDB4NDIsMHgyYywweDkwLDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkyLDB4MDMsMHg5MiB9LAotICAxNiwgMHhiYjMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDIwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhiYjQwLCAwLCB7MHg0YywweGMwLDB4OGIsMHgyMCwweDAyLDB4YzgsMHgzMSwweDMyLDB4MjAsMHgyZCwweDg0LDB4MDMsMHhlMSwweDA0LDB4ZjgsMHg0OCB9LAotICAxNiwgMHhiYjUwLCAwLCB7MHhiYSwweDAwLDB4MGYsMHg4OSwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGQsMHg4MSwweDEzLDB4MjAsMHgxMCB9LAotICAxNiwgMHhiYjYwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDBmLDB4ODEsMHgyMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYjcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDBlLDB4NDAsMHgyMiwweDgwLDB4MjgsMHhhNCwweDAyLDB4MTksMHgwMCwweDUyLDB4ODAsMHhhMiB9LAotICAxNiwgMHhiYjgwLCAwLCB7MHg4MCwweDRkLDB4ZWQsMHg4MiwweGU4LDB4MDAsMHhiNiwweDQyLDB4MjMsMHhiZCwweDBiLDB4ZTgsMHgwMiwweGU4LDB4MDQsMHhkYSB9LAotICAxNiwgMHhiYjkwLCAwLCB7MHgwMCwweDM3LDB4ODAsMHgwOCwweGUwLDB4MDIsMHgzYSwweDIwLDB4YmEsMHgwMCwweDIyLDB4ODAsMHgwYiwweGE4LDB4MGEsMHgwYSB9LAotICAxNiwgMHhiYmEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDgwLDB4NjAsMHhjMCB9LAotICAxNiwgMHhiYmIwLCAwLCB7MHgwOCwweDI5LDB4MDIsMHgwZCwweDAwLDB4OTIsMHg0MCwweDI0LDB4YzAsMHgwOCwweGI0LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhiYmMwLCAwLCB7MHg2OCwweGUwLDB4MWIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweDkzLDB4MDEsMHgyNCwweGMwLDB4NjksMHgzOCwweDAyLDB4NmMsMHgwMCB9LAotICAxNiwgMHhiYmQwLCAwLCB7MHhiMywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYmUwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg0MCwweDgzLDB4YzAsMHgyMCwweDQwLDB4MDgsMHgyOCwweDA2LDB4OWMsMHgxOCwweDljLDB4MDIsMHgyNCB9LAotICAxNiwgMHhiYmYwLCAwLCB7MHhjMCwweDA5LDB4NzAsMHgwMiwweGQ0LDB4MDAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGNlLDB4NDAsMHg5NyB9LAotICAxNiwgMHhiYzAwLCAwLCB7MHhiMCwweDI1LDB4NDAsMHgwOCwweDc4LDB4MWEsMHg1OCwweDAwLDB4YmYsMHhhMiwweDY1LDB4YzgsMHgwYiwweDc4LDB4MDIsMHgyMCB9LAotICAxNiwgMHhiYzEwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDBlLDB4MDIsMHg4NywweDgwLDB4YjEsMHhhMCB9LAotICAxNiwgMHhiYzIwLCAwLCB7MHgwYywweDY4LDB4MDMsMHgxYSwweDA4LDB4ZDYsMHg5MiwweDM1LDB4ZTQsMHgyOCwweDc4LDB4NDIsMHhkNiwweDEwLDB4ZjUsMHg4MCB9LAotICAxNiwgMHhiYzMwLCAwLCB7MHgzOSwweGEwLDB4MGYsMHg3OCwweDIzLDB4ZGUsMHgzMCwweGQzLDB4YTIsMHgzNSwweGEwLDB4NGQsMHhlOCwweDAzLDB4NWUsMHgwMCB9LAotICAxNiwgMHhiYzQwLCAwLCB7MHhmNywweGQwLDB4M2QsMHhmOCwweDBmLDB4ZjAsMHgwMywweDIyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYzUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGZiLDB4MDQsMHgzZSwweDAwLDB4MGIsMHhhMCwweDAzLDB4NDgsMHgwNCwweGZhLDB4NDEsMHgzYSB9LAotICAxNiwgMHhiYzYwLCAwLCB7MHg1MCwweDBmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGVkLDB4ODgsMHhmYiB9LAotICAxNiwgMHhiYzcwLCAwLCB7MHg0ZCwweDNlLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhiYywweDA4LDB4ZmIsMHgyMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhiYzgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhkYywweDgwLDB4YjMsMHhlMCB9LAotICAxNiwgMHhiYzkwLCAwLCB7MHgwYywweGQ4LDB4MDMsMHhjZSwweDAwLDB4YzgsMHhhMCwweDMxLDB4YTAsMHg4ZCwweGU5LDB4MDMsMHhiZSwweDAwLDB4YjIsMHg4MCB9LAotICAxNiwgMHhiY2EwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhlOCwweDQzLDB4N2UsMHgwNCwweDBmLDB4ODEsMHgzMSwweGU0LDB4MGMsMHhkOCwweDAzLDB4ZjYsMHgwMCB9LAotICAxNiwgMHhiY2IwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZjgsMHgwMywweDAwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiY2MwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGI0LDB4NDAsMHgzNSwweDQwLDB4MDgsMHg1MCwweDgyLDB4ZGUsMHg4MCwweGQ0LDB4OTAsMHgyMSB9LAotICAxNiwgMHhiY2QwLCAwLCB7MHhlMCwweDBkLDB4NTEsMHgwMiwweGQ0LDB4NDAsMHhiNiwweGIwLDB4MmIsMHg5MCwweDBlLDB4ZTUsMHgwMiwweDljLDB4NDAsMHhkNyB9LAotICAxNiwgMHhiY2UwLCAwLCB7MHgyMiwweDE5LDB4NWMsMHgwZCwweDcwLDB4MDIsMHhkOCwweDAwLDB4YjcsMHgyMCwweDJkLDB4YzAsMHgwYiwweGYwLDB4MDMsMHg2YSB9LAotICAxNiwgMHhiY2YwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg5MywweDEwLDB4MjEsMHg4MCB9LAotICAxNiwgMHhiZDAwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHhkYywweGMwLDB4OTQsMHgwMCwweDIzLDB4ZDAsMHgwOCwweDcwLDB4YTAsMHhkNCwweDIwLDB4YjUsMHgwMiB9LAotICAxNiwgMHhiZDEwLCAwLCB7MHgyOSwweDgwLDB4MDksMHg2MCwweDgyLDB4MGMsMHgwMCwweDg3LDB4MDIsMHgyNSwweGMwLDB4MTksMHg0MCwweDAyLDB4ZDQsMHgwMCB9LAotICAxNiwgMHhiZDIwLCAwLCB7MHhiNywweDAwLDB4NmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZDMwLCAwLCB7MHgyMCwweDE0LDB4ZWMsMHgwMCwweGIzLDB4YzAsMHgyMCwweDAxLDB4NDgsMHgxOCwweDAyLDB4Y2MsMHgwMiwweDgxLDB4NDQsMHhhMCB9LAotICAxNiwgMHhiZDQwLCAwLCB7MHhjMCwweDg5LDB4MzgsMHgwMiwweGM3LDB4ODAsMHhiMSwweDAwLDB4MmMsMHgwOSwweDRhLDB4MDAsMHg2MiwweGFjLDB4MDksMHg5MyB9LAotICAxNiwgMHhiZDUwLCAwLCB7MHgwMSwweDI4LDB4NDAsMHgxOSwweDMwLDB4MDIsMHhjZCwweDEwLDB4YjMsMHg5MCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjOCB9LAotICAxNiwgMHhiZDYwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MjAsMHhkYiwweDYyLDB4MjIsMHhlMCB9LAotICAxNiwgMHhiZDcwLCAwLCB7MHg2YywweGEwLDB4MDMsMHhlNCwweDAwLDB4OTgsMHgwMCwweDMyLDB4YzAsMHhlYywweDk4LDB4MjMsMHhhZSwweDA4LDB4ZmIsMHgwOCB9LAotICAxNiwgMHhiZDgwLCAwLCB7MHgzYSwweDc4LDB4MDksMHg5MCwweDAzLDB4N2MsMHgxMCwweGNmLDB4MDAsMHgyNiwweDQwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCB9LAotICAxNiwgMHhiZDkwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZGEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgyMCwweGZiLDB4NDgsMHgzYywweDYxLDB4MGYsMHhhMCwweDQzLDB4ZWQsMHgwMCwweGY4LDB4MjQsMHgzZSB9LAotICAxNiwgMHhiZGIwLCAwLCB7MHg1MCwweDBmLDB4OTAsMHg4MywweGU0LDB4MDAsMHhmYiwweDAwLDB4M2EsMHg1MCwweDBmLDB4ODAsMHg0MywweGVjLDB4MDgsMHhmYiB9LAotICAxNiwgMHhiZGMwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZiwweDQwLDB4MDMsMHhmMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzEsMHgwZiwweDkwLDB4MDMsMHg2MCB9LAotICAxNiwgMHhiZGQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhkZCwweGEwLDB4MzIsMHg4MCB9LAotICAxNiwgMHhiZGUwLCAwLCB7MHgwYywweGUwLDB4MDEsMHhmYywweDAwLDB4ZGMsMHg5MSwweDM5LDB4YzAsMHgzYywweDQwLDB4MDMsMHgzNCwweDAwLDB4ZmYsMHg4MCB9LAotICAxNiwgMHhiZGYwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhkMCwweDA3LDB4ZmMsMHgwMCwweGNiLDB4MDAsMHgzZCwweDQwLDB4MGMsMHhlMCwweDAzLDB4MzgsMHgyMCB9LAotICAxNiwgMHhiZTAwLCAwLCB7MHhjZiwweDAyLDB4M2QsMHhjMCwweDBjLDB4ZDAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZTEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDAxLDB4NDAsMHgyMiwweDAwLDB4MjgsMHhhMCwweDAyLDB4Y2UsMHg4NiwweDgzLDB4NjQsMHgyMiB9LAotICAxNiwgMHhiZTIwLCAwLCB7MHhmNCwweDA4LDB4OGMsMHgwZiwweDY0LDB4MDAsMHhiYiwweDEwLDB4MmUsMHg2MCwweDBiLDB4OWMsMHgwMywweGFjLDB4MDEsMHhkYiB9LAotICAxNiwgMHhiZTMwLCAwLCB7MHgwMCwweDNlLDB4NjAsMHgwOCwweDhmLDB4MDIsMHgyMywweDQwLDB4OGIsMHgwMCwweDNhLDB4YzAsMHgwZCwweDEwLDB4NDMsMHg2OCB9LAotICAxNiwgMHhiZTQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5OSwweDAwLDB4YTIsMHhjMCB9LAotICAxNiwgMHhiZTUwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhhNiwweDA3LDB4OTgsMHgwMCwweDAyLDB4YzIsMHg0OCwweDg4LDB4MDIsMHgyYywweDAwLDB4YmEsMHgwMiB9LAotICAxNiwgMHhiZTYwLCAwLCB7MHg2ZSwweDYwLDB4MGEsMHg5OCwweDAyLDB4ZWMsMHgwMCwweDhiLDB4MDEsMHgyZSwweDYwLDB4MDgsMHg5MCwweDAyLDB4MDUsMHgwMCB9LAotICAxNiwgMHhiZTcwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjEsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZTgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgxMCwweDgxLDB4MDAsMHgyMCwweDQwLDB4MjgsMHgxMCwweDI2LDB4Y2MsMHg4MCwweDgwLDB4MjAsMHhhMCB9LAotICAxNiwgMHhiZTkwLCAwLCB7MHhjYywweDE4LDB4MTQsMHg0MiwweDA0LDB4MDAsMHhiMiwweDIwLDB4NmMsMHg0MCwweDBiLDB4MDAsMHgwMiwweDhjLDB4MDAsMHg4MyB9LAotICAxNiwgMHhiZWEwLCAwLCB7MHgwMCwweDI4LDB4NDAsMHgyOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOSwweGIwLDB4MDIsMHg0MiB9LAotICAxNiwgMHhiZWIwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhkOSwweDAwLDB4MjIsMHg4MCB9LAotICAxNiwgMHhiZWMwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhYywweDgwLDB4ZGEsMHgyOSwweDJhLDB4ZDIsMHgyOCwweDgwLDB4MDIsMHgyNCwweDAwLDB4ZmIsMHgyMCB9LAotICAxNiwgMHhiZWQwLCAwLCB7MHgzZSwweDAwLDB4MGYsMHg5MCwweDAyLDB4ZmMsMHgwMCwweDhmLDB4MDAsMHgyZSwweDQwLDB4MGMsMHg4MCwweDBiLDB4MjAsMHgwMiB9LAotICAxNiwgMHhiZWUwLCAwLCB7MHhjZiwweDAwLDB4M2UsMHhjMCwweDBjLDB4YjAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZWYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhkMCwweDYzLDB4ZmMsMHg0OSwweGY1LDB4MDAsMHgzZSB9LAotICAxNiwgMHhiZjAwLCAwLCB7MHhjMCwweDBiLDB4YzAsMHgwMSwweGY0LDB4MDAsMHg3ZiwweDQwLDB4M2YsMHg0MCwweDFmLDB4ZDAsMHgwMywweGJjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhiZjEwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhiZjIwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYyLDB4NDAsMHhlYywweGEwLDB4M2YsMHhlMCB9LAotICAxNiwgMHhiZjMwLCAwLCB7MHgwZCwweDQ4LDB4MDMsMHg3ZCwweDgwLDB4ZjQsMHg4MCwweDMzLDB4NmMsMHgwZSwweGM4LDB4MDMsMHgzMiwweDAwLDB4ZGQsMHg5MCB9LAotICAxNiwgMHhiZjQwLCAwLCB7MHgzYiwweGEwLDB4MmQsMHhmMCwweDAzLDB4ZmMsMHhjMCwweGZmLDB4MDAsMHgzYiwweGUwLDB4OGUsMHhmMCwweDAzLDB4M2MsMHgwNCB9LAotICAxNiwgMHhiZjUwLCAwLCB7MHhlYywweDYwLDB4MzEsMHgwMCwweDBjLDB4ZjAsMHgwMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZjYwLCAwLCB7MHg4MCwweDEwLDB4ZWMsMHgwMCwweGQ5LDB4YzEsMHgyZSwweGUxLDB4MGQsMHg4OCwweDAyLDB4M2MsMHg4MCwweGY4LDB4ODAsMHgzNiB9LAotICAxNiwgMHhiZjcwLCAwLCB7MHg3ZCwweDE4LDB4YTAsMHgwMiwweDI4LDB4YjAsMHhlYSwweDIwLDB4MjIsMHgyMCwweDA4LDB4NzcsMHgwMiwweGZkLDB4NTAsMHhiYiB9LAotICAxNiwgMHhiZjgwLCAwLCB7MHg4MCwweDIyLDB4NDAsMHgwYiwweGY0LDB4NDIsMHgzZCwweDgwLDB4ODgsMHgzMSwweDIyLDB4MTIsMHgwOCwweGY2LDB4MDIsMHhlMCB9LAotICAxNiwgMHhiZjkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg4MCwweDExLDB4MmUsMHhjMSB9LAotICAxNiwgMHhiZmEwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHg0ZCwweDgwLDB4YjgsMHgwMCwweDIwLDB4MDAsMHgwYSwweDAyLDB4ODIsMHgwMCwweDAwLDB4OTksMHgyMCB9LAotICAxNiwgMHhiZmIwLCAwLCB7MHgyMiwweGMwLDB4MDksMHgzMCwweDgyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyOCwweGNhLDB4MGIsMHgzNCwweDgyLDB4MGQsMHgyMCB9LAotICAxNiwgMHhiZmMwLCAwLCB7MHg4MCwweDAwLDB4YTAsMHg4YywweDA4LDB4MzQsMHg4MiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZmQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHg0MCwweDk5LDB4ODAsMHgyZSwweGMyLDB4MDksMHg5NCwweDAyLDB4MmMsMHgwMCwweGE5LDB4ODAsMHgyNiB9LAotICAxNiwgMHhiZmUwLCAwLCB7MHg2MCwweDA4LDB4MzgsMHg0MiwweDIyLDB4MjAsMHhiYSwweDQxLDB4NjIsMHg0NiwweDNiLDB4YjAsMHgwMiwweGVjLDB4MDEsMHhiYiB9LAotICAxNiwgMHhiZmYwLCAwLCB7MHg4MCwweDIyLDB4NDAsMHgwYiwweGIwLDB4NDYsMHgwYywweDE4LDB4ODgsMHhjMCwweDIyLDB4MjIsMHgwOCwweGIwLDB4MDYsMHhmMCB9LAotICAxNiwgMHhjMDAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGNjLDB4MDAsMHhjOSwweDgxLDB4M2MsMHhjMSB9LAotICAxNiwgMHhjMDEwLCAwLCB7MHgwYywweGE5LDB4MjMsMHg2YywweDAwLDB4YjIsMHg4MCwweDMyLDB4NzgsMHgwYSwweDhhLDB4MGIsMHgyNiwweDAwLDB4OTksMHgwMSB9LAotICAxNiwgMHhjMDIwLCAwLCB7MHgzMCwweGUwLDB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGI5LDB4MDAsMHgzYSwweGMwLDB4MWUsMHhiMCwweDAzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhjMDMwLCAwLCB7MHhjYiwweDgwLDB4MzIsMHg2MSwweDBjLDB4YjAsMHgxMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMDQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgxMCwweGRkLDB4MDAsMHgzZiwweGMyLDB4MGYsMHhlOCwweDAzLDB4YWMsMHgwMCwweGZlLDB4MDAsMHgzZCB9LAotICAxNiwgMHhjMDUwLCAwLCB7MHg0MCwweDBmLDB4YzAsMHg0MywweGY4LDB4MTAsMHhlZiwweDE0LDB4YjcsMHhlMCwweDBjLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmNSB9LAotICAxNiwgMHhjMDYwLCAwLCB7MHgwMiwweDNmLDB4NDQsMHg0ZiwweGIwLDB4NGIsMHhmYywweDAyLDB4ZDQsMHgwNCwweDNkLDB4NDAsMHgyZiwweGYwLDB4MDMsMHhmOCB9LAotICAxNiwgMHhjMDcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhmOSwweDA4LDB4M2UsMHg2MCB9LAotICAxNiwgMHhjMDgwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhhYywweDAwLDB4ZTgsMHg1MCwweDMyLDB4MDAsMHgwYywweDg0LDB4MDMsMHhhNSwweDAwLDB4ZTksMHgwMCB9LAotICAxNiwgMHhjMDkwLCAwLCB7MHgzYSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4MmMsMHgwMCwweGY5LDB4MDAsMHgzYSwweGMwLDB4MGYsMHgzMCwweDAzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhjMGEwLCAwLCB7MHhjYiwweDQ0LDB4M2UsMHhkNCwweDBlLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMGIwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwOCwweGI5LDB4ODAsMHgyZSwweGMwLDB4MGEsMHgzMCwweDQyLDB4M2MsMHgwMCwweDg5LDB4MDQsMHg3NiB9LAotICAxNiwgMHhjMGMwLCAwLCB7MHg2MCwweDA4LDB4OTAsMHg2MiwweDIwLDB4MDAsMHg4MiwweDA0LDB4MjIsMHhkMCwweDA4LDB4ZjAsMHg0MywweDdjLDB4MDAsMHhiYiB9LAotICAxNiwgMHhjMGQwLCAwLCB7MHg4MiwweDIyLDB4NDAsMHgwYiwweGYwLDB4NDIsMHgzYywweDAwLDB4OGEsMHhjMCwweDJlLDB4YzEsMHgwOCwweGYwLDB4MDIsMHhmMiB9LAotICAxNiwgMHhjMGUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MTAsMHhiMiwweGQwLDB4MmMsMHhjMCB9LAotICAxNiwgMHhjMGYwLCAwLCB7MHgyOSwweDE4LDB4MDIsMHg4YywweDA0LDB4YTEsMHgwMCwweDI0LDB4OWMsMHgwOCwweDEwLDB4MDIsMHg4MCwweDAwLDB4YTEsMHgwMSB9LAotICAxNiwgMHhjMTAwLCAwLCB7MHgwYywweGMxLDB4MmIsMHgzMCwweDUyLDB4OGMsMHgwNCwweGIzLDB4MDEsMHgyOCwweDQwLDB4NGIsMHgzMCwweDAyLDB4NGMsMHgwMCB9LAotICAxNiwgMHhjMTEwLCAwLCB7MHg5MCwweDIwLDB4MmMsMHgyMCwweDBhLDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMTIwLCAwLCB7MHgyMCwweDQxLDB4MWUsMHgwMCwweGI3LDB4YTIsMHgyNSwweGU4LDB4OGEsMHg2OCwweDAyLDB4MWUsMHgwMCwweDg1LDB4ODAsMHgyNSB9LAotICAxNiwgMHhjMTMwLCAwLCB7MHg4MCwweDg4LDB4ZTgsMHgwMiwweDNlLDB4MDAsMHg4NSwweDgwLDB4MmYsMHhlNCwweDI4LDB4NzgsMHgwMiwweGRlLDB4MDAsMHhiNyB9LAotICAxNiwgMHhjMTQwLCAwLCB7MHg4MCwweDYxLDB4ZTAsMHgwMywweDc4LDB4MDIsMHg1ZSwweDgyLDB4YjcsMHg4MiwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhjMTUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBkLDB4MDAsMHhmMCwweDEwLDB4M2MsMHg4MCB9LAotICAxNiwgMHhjMTYwLCAwLCB7MHgwZCwweDEwLDB4ODMsMHg4YywweDAwLDB4ZTIsMHg1MCwweDI2LDB4MDQsMHgwYywweDExLDB4MDMsMHg4OCwweDQwLDB4ZWIsMHgwMCB9LAotICAxNiwgMHhjMTcwLCAwLCB7MHgzYywweGM0LDB4MGYsMHgzMCwweDAzLDB4OGMsMHgwMCwweGYzLDB4MDgsMHgzOCwweDQwLDB4MDcsMHgzMCwweDAzLDB4NmUsMHg0MCB9LAotICAxNiwgMHhjMTgwLCAwLCB7MHhkMCwweDA4LDB4M2MsMHg4OCwweDBlLDB4MzAsMHg0MywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMTkwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZiLDB4MzQsMHgzYywweGM5LDB4NGUsMHhiMCwweDIzLDB4ZWQsMHgyMCwweGZiLDB4MDQsMHgzZiB9LAotICAxNiwgMHhjMWEwLCAwLCB7MHhjOCwweDhmLDB4NzAsMHg1MywweDRjLDB4MDAsMHhlYiwweDEwLDB4MzEsMHhjNSwweDBlLDB4ZjQsMHgwMywweDZkLDB4MDAsMHhmMyB9LAotICAxNiwgMHhjMWIwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4MGIsMHhiYywweDAwLDB4Y2QsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4ODMsMHhkMCB9LAotICAxNiwgMHhjMWMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGNlLDB4MDQsMHhjOSwweDA0LDB4YjAsMHhjMSB9LAotICAxNiwgMHhjMWQwLCAwLCB7MHgwZiwweDk4LDB4MTMsMHg2YywweDkwLDB4Y2IsMHgwMiwweDNlLDB4YzAsMHg0ZiwweGIwLDB4NjMsMHhlNCwweDAwLDB4ZjEsMHg4MCB9LAotICAxNiwgMHhjMWUwLCAwLCB7MHgxMiwweGMwLDB4MGMsMHhiNSwweDAzLDB4ZWMsMHhjMCwweGNmLDB4ODMsMHgzMiwweDQwLDB4MGYsMHhiMywweDIzLDB4MmQsMHhhNCB9LAotICAxNiwgMHhjMWYwLCAwLCB7MHhmYiwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjQsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMjAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGMwLDB4MmQsMHg2MCwweDAyLDB4MWMsMHgwMCwweGQ3LDB4MDAsMHgzOSB9LAotICAxNiwgMHhjMjEwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNSwweDAwLDB4MjEsMHhjMCwweDJhLDB4NzAsMHgxMiwweGNjLDB4ODAsMHg4NyB9LAotICAxNiwgMHhjMjIwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgwYiwweDcyLDB4NTIsMHgxYywweDAwLDB4YjcsMHgwMCwweDJkLDB4NDEsMHgwYiwweDMyLDB4MDIsMHgxMiB9LAotICAxNiwgMHhjMjMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweGJlLDB4MDAsMHg4MSwweGMwLDB4MjMsMHgyMCB9LAotICAxNiwgMHhjMjQwLCAwLCB7MHgwYiwweGQ4LDB4MDIsMHg1ZSwweDAwLDB4MDYsMHhjMCwweDJkLDB4YTAsMHgwYiwweDdjLDB4MTIsMHhkZSwweDA4LDB4YmYsMHg4MCB9LAotICAxNiwgMHhjMjUwLCAwLCB7MHhhMSwweGUyLDB4MmEsMHg3YSwweDAyLDB4ZGUsMHgwMCwweDkzLDB4ODAsMHgyNSwweDYwLDB4MGIsMHg3OCwweDFlLDB4NWUsMHg1MCB9LAotICAxNiwgMHhjMjYwLCAwLCB7MHhiNywweDgwLDB4MmQsMHhhMCwweDBiLDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMjcwLCAwLCB7MHg0OCwweDE0LDB4Y2UsMHgwMCwweDgzLDB4NjAsMHgyMCwweGMwLDB4MDksMHgzMSwweDAyLDB4MmMsMHgwMCwweDkzLDB4MDAsMHgyOCB9LAotICAxNiwgMHhjMjgwLCAwLCB7MHhjMCwweDFiLDB4YjAsMHgwNiwweGNjLDB4ODAsMHhiMywweDQ4LDB4MjAsMHhmMCwweDBhLDB4MzAsMHgwMiwweGVjLDB4MDAsMHg5MyB9LAotICAxNiwgMHhjMjkwLCAwLCB7MHg4MCwweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHg0YywweDEwLDB4YjMsMHhjOCwweDJjLDB4ZDIsMHg4YiwweDMwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhjMmEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJiLDB4MDAsMHhjNiwweGM0LDB4MzEsMHg4MSB9LAotICAxNiwgMHhjMmIwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHg2OCwweDAwLDB4Y2UsMHg4MCwweDNmLDB4YTIsMHgwYiwweGU4LDB4MDMsMHhmOSwweDAwLDB4ZmUsMHg0MCB9LAotICAxNiwgMHhjMmMwLCAwLCB7MHgzMSwweDgwLDB4NmUsMHhhMCwweDA3LDB4ZTgsMHgwMCwweGRhLDB4MDAsMHgyNiwweDgxLDB4MGYsMHhhMCwweDAyLDB4NjgsMHgwMSB9LAotICAxNiwgMHhjMmQwLCAwLCB7MHhmNiwweGUwLDB4M2QsMHg5MiwweDBmLDB4YTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMmUwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHhjMiwweGY4LDB4MDQsMHgzZSwweDE0LDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgxMCwweGY4LDB4MDEsMHgzZSB9LAotICAxNiwgMHhjMmYwLCAwLCB7MHgxMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MDAsMHhiOCwweDAwLDB4M2UsMHgwMCwweDQ3LDB4ODAsMHgwMywweGUwLDB4MDIsMHhlOCB9LAotICAxNiwgMHhjMzAwLCAwLCB7MHgxMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDcsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwZiwweDgwLDB4MGIsMHhkMiB9LAotICAxNiwgMHhjMzEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAxLDB4MzIsMHg0MCB9LAotICAxNiwgMHhjMzIwLCAwLCB7MHg4YywweDkwLDB4MDMsMHhlNCwweDAwLDB4YzksMHgwMCwweDM2LDB4NDIsMHgwZiwweDkwLDB4MDMsMHhhNCwweDAwLDB4YzksMHgwMCB9LAotICAxNiwgMHhjMzMwLCAwLCB7MHgzZSwweDQyLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4NjQsMHgwMCB9LAotICAxNiwgMHhjMzQwLCAwLCB7MHhmOSwweDkwLDB4MzIsMHg0MSwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMzUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4YzgsMHhhMiwweDYwLDB4MGEsMHg5MiwweDAyLDB4ZTQsMHgwMCwweDg5LDB4NDAsMHgyZSB9LAotICAxNiwgMHhjMzYwLCAwLCB7MHg1OCwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MmUsMHg0MiwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDQsMHg4OSB9LAotICAxNiwgMHhjMzcwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4MDYsMHgyNCwweDA0LDB4YjksMHgwOCwweDJhLDB4NDAsMHg0OCwweDkwLDB4MTIsMHgyMCB9LAotICAxNiwgMHhjMzgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDEwLDB4MjIsMHg0NCB9LAotICAxNiwgMHhjMzkwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDUsMHg4YiwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCB9LAotICAxNiwgMHhjM2EwLCAwLCB7MHgyYSwweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgwMCwweDk5LDB4ODAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDI2LDB4MjQsMHgwMCB9LAotICAxNiwgMHhjM2IwLCAwLCB7MHhiOSwweDAxLDB4MjIsMHg3MCwweDA5LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjM2MwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHgwOCwweGIxLDB4MjAsMHgyMCwweDQwLDB4MGEsMHgxMCwweDAyLDB4YzQsMHg4MCwweDgzLDB4MDAsMHgyYyB9LAotICAxNiwgMHhjM2QwLCAwLCB7MHg1MCwweDRiLDB4MTAsMHgwMiwweDI0LDB4MDAsMHg5MSwweDAwLDB4MmUsMHg0MCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODEsMHg4MSB9LAotICAxNiwgMHhjM2UwLCAwLCB7MHhhMiwweDZjLDB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4YjksMHgyMCwweDJhLDB4NDgsMHgyOSwweDEyLDB4MDIsMHgwMiB9LAotICAxNiwgMHhjM2YwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDAwLDB4MzIsMHg4MCB9LAotICAxNiwgMHhjNDAwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHhlMSwweDQyLDB4YzgsMHgwMCwweDMyLDB4MDAsMHgxZiwweDg1LDB4MDMsMHhhMSwweDQwLDB4YzgsMHg1MCB9LAotICAxNiwgMHhjNDEwLCAwLCB7MHgzYSwweDAwLDB4OGQsMHg4NSwweDAzLDB4NjEsMHg0MCwweGQ4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHgwNSwweDAzLDB4MjEsMHg0MCB9LAotICAxNiwgMHhjNDIwLCAwLCB7MHhmOCwweDUwLDB4MzIsMHgxNCwweDBkLDB4ODUsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNDMwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHgwNCwweGZkLDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4YzQsMHg0MCwweGZkLDB4MDAsMHgzZiB9LAotICAxNiwgMHhjNDQwLCAwLCB7MHg1MSwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAxLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmZCB9LAotICAxNiwgMHhjNDUwLCAwLCB7MHgxMCwweDNmLDB4NGEsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNmLDB4NDQsMHgwZSwweDkxLDB4MDMsMHhlNiB9LAotICAxNiwgMHhjNDYwLCAwLCB7MHgwMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGM1LDB4MDAsMHhjZCwweDAwLDB4MzEsMHg0MCB9LAotICAxNiwgMHhjNDcwLCAwLCB7MHgwZCwweGQwLDB4NDMsMHhlNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NDAsMHg0ZiwweDExLDB4MDIsMHhlNCwweDA0LDB4YzEsMHgwMCB9LAotICAxNiwgMHhjNDgwLCAwLCB7MHgzZCwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGVkLDB4YTQsMHgzMiwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHhjNDkwLCAwLCB7MHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4OTAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNGEwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwOCwweGQ4LDB4MDAsMHgzMiwweDAxLDB4MDAsMHg4MCwweDEyLDB4YzAsMHgwMCwweDQ4LDB4MDAsMHgzNiB9LAotICAxNiwgMHhjNGIwLCAwLCB7MHg4MCwweDBiLDB4OGEsMHgwMiwweGUwLDB4MDAsMHhhOCwweDAwLDB4MmUsMHgwMCwweDBmLDB4ODAsMHgwMiwweGUwLDB4MDAsMHg4OCB9LAotICAxNiwgMHhjNGMwLCAwLCB7MHg1MCwweDM0LDB4MjgsMHgwYiwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwYiwweDgwLDB4MDIsMHhjZSB9LAotICAxNiwgMHhjNGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDAwLDB4MjYsMHg0MCB9LAotICAxNiwgMHhjNGUwLCAwLCB7MHgwOSwweDE4LDB4MDIsMHhjNCwweDA4LDB4MjEsMHgwMCwweDI4LDB4NDAsMHg4YiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgwMSB9LAotICAxNiwgMHhjNGYwLCAwLCB7MHgyZSwweDQwLDB4MTgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGExLDB4MDEsMHgyMCwweDQ4LDB4MWIsMHgxMCwweDAyLDB4YzQsMHgwMCB9LAotICAxNiwgMHhjNTAwLCAwLCB7MHhiMSwweDAwLDB4NmMsMHg0MCwweDBiLDB4MTAsMHgxMiwweGMyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNTEwLCAwLCB7MHgxOCwweDExLDB4YTQsMHgwMCwweDk5LDB4ODAsMHhhMiwweDQyLDB4NDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4MmEsMHgyNiB9LAotICAxNiwgMHhjNTIwLCAwLCB7MHg0NCwweDBiLDB4OTAsMHg4MiwweGM0LDB4ODEsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0MiwweGM0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhjNTMwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMSwweDJlLDB4NDEsMHgwYiwweDkwLDB4MDIsMHhjNiB9LAotICAxNiwgMHhjNTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGM1LDB4MjAsMHhjOSwweDg0LDB4MzAsMHg3MCB9LAotICAxNiwgMHhjNTUwLCAwLCB7MHgwZCwweDkwLDB4MTMsMHhlNCwweDAyLDB4ZTksMHgwMCwweDMyLDB4NzAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDAwLDB4ZjksMHg0MCB9LAotICAxNiwgMHhjNTYwLCAwLCB7MHgzYywweDQ4LDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGUxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDAxLDB4ZTQsMHgwMCB9LAotICAxNiwgMHhjNTcwLCAwLCB7MHhmOSwweDkwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgyNiwweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNTgwLCAwLCB7MHgyOCwweDAxLDB4YTUsMHgwMCwweGYxLDB4MDQsMHgzYSwweDQ0LDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGM5LDB4MDQsMHgzZSB9LAotICAxNiwgMHhjNTkwLCAwLCB7MHg2MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhlOSwweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhmOSB9LAotICAxNiwgMHhjNWEwLCAwLCB7MHg5MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MDcsMHhjYSB9LAotICAxNiwgMHhjNWIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGExLDB4MDAsMHhjOCwweDA0LDB4M2EsMHgwMCB9LAotICAxNiwgMHhjNWMwLCAwLCB7MHgxZSwweDgwLDB4MDMsMHg4MCwweDAzLDB4YzgsMHg0MCwweDJhLDB4MDQsMHgxZiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ODgsMHgwMCB9LAotICAxNiwgMHhjNWQwLCAwLCB7MHgzMiwweDMwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCB9LAotICAxNiwgMHhjNWUwLCAwLCB7MHhjOCwweDgwLDB4M2UsMHgyMCwweDBmLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNWYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGFlLDB4ZDAsMHgzNywweDgwLDB4MDgsMHhlYywweDQ2LDB4MzgsMHgwMCwweGQ2LDB4MDQsMHgyMyB9LAotICAxNiwgMHhjNjAwLCAwLCB7MHhhMCwweDBiLDB4YTAsMHg0MSwweDc4LDB4MDQsMHhmYSwweDAwLDB4MzcsMHg4MCwweDBkLDB4YTAsMHgwMiwweGE4LDB4MTAsMHhlZSB9LAotICAxNiwgMHhjNjEwLCAwLCB7MHgyMSwweDJlLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhlOCwweDA4LDB4OGUsMHg4MCwweDJmLDB4YTAsMHg4YiwweGEwLDB4MDIsMHhjYSB9LAotICAxNiwgMHhjNjIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMSwweDRjLDB4MDIsMHg4MywweGMwLDB4YTgsMHhlOCB9LAotICAxNiwgMHhjNjMwLCAwLCB7MHg0YSwweDM2LDB4MDIsMHg4YywweDAwLDB4MTMsMHhhMCwweDI4LDB4YzIsMHgwYiwweDMwLDB4MDYsMHgwYywweDAwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhjNjQwLCAwLCB7MHgyNCwweDg0LDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MjAsMHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4Y2MsMHgwMCB9LAotICAxNiwgMHhjNjUwLCAwLCB7MHg4MywweDgwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNhLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNjYwLCAwLCB7MHhhMCwweDAxLDB4M2MsMHg0NCwweGFmLDB4NDAsMHgyNSwweGMyLDB4NDgsMHhmOCwweDgyLDB4MWMsMHhjOCwweDlmLDB4MDgsMHgyMSB9LAotICAxNiwgMHhjNjcwLCAwLCB7MHhjMCwweDhiLDB4ZjgsMHgwMiwweDVjLDB4MDAsMHhiZiwweGIwLDB4MjcsMHg4MCwweDA5LDB4M2EsMHgwMiwweDljLDB4MDAsMHhhNSB9LAotICAxNiwgMHhjNjgwLCAwLCB7MHgwMiwweDJkLDB4ZTgsMHgwOSwweDcwLDB4MDIsMHhjZSwweDgwLDB4ODUsMHgwOCwweDJkLDB4YzIsMHgwYiwweDczLDB4MDIsMHhlOCB9LAotICAxNiwgMHhjNjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDgyLDB4YTksMHhlMCB9LAotICAxNiwgMHhjNmEwLCAwLCB7MHgwYSwweDc4LDB4MDIsMHg5ZSwweDQwLDB4OTcsMHg4NCwweDM5LDB4YTAsMHgwYiwweDdhLDB4ODMsMHgzZiwweDgwLDB4ZDcsMHg5MSB9LAotICAxNiwgMHhjNmIwLCAwLCB7MHgzNSwweGEwLDB4MGQsMHg3YSwweDA5LDB4MWUsMHg0NCwweGY3LDB4ODAsMHgzZCwweGU4LDB4MmQsMHg3YSwweDAzLDB4ZGUsMHg4MiB9LAotICAxNiwgMHhjNmMwLCAwLCB7MHhjNiwweDgwLDB4M2QsMHgyMCwweDRiLDB4N2IsMHgyMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNmQwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGQzLDB4MDAsMHgzZSwweGMxLDB4MGYsMHgzMCwweDAzLDB4ZWQsMHg4MCwweGUzLDB4MDAsMHgzZSB9LAotICAxNiwgMHhjNmUwLCAwLCB7MHg4MCwweDBmLDB4YjYsMHgyMSwweGVjLDB4MDgsMHhkYiwweDIxLDB4M2UsMHg4MCwweDBmLDB4YjUsMHgwMywweDZjLDB4NDAsMHhmOSB9LAotICAxNiwgMHhjNmYwLCAwLCB7MHgwMCwweDNlLDB4ZGMsMHgwZSwweGIyLDB4MDMsMHhlZCwweDQwLDB4ZjksMHgwMiwweDNlLDB4ODAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhjNzAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhjZiwweDgwLDB4M2QsMHhlMCB9LAotICAxNiwgMHhjNzEwLCAwLCB7MHgwZiwweGM4LDB4NDMsMHhmZSwweDAwLDB4ZmUsMHg4NCwweDNmLDB4ZTAsMHgwZCwweGY4LDB4YzMsMHhmZiwweDEwLDB4YWYsMHg5MCB9LAotICAxNiwgMHhjNzIwLCAwLCB7MHgzNSwweGEwLDB4MGMsMHhmYywweDAzLDB4M2UsMHgxNCwweGVjLDB4ODQsMHgzZiwweGYwLDB4MGUsMHhmYywweGMzLDB4ZmYsMHgwOCB9LAotICAxNiwgMHhjNzMwLCAwLCB7MHg0ZiwweDgwLDB4MzMsMHhlNCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNzQwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweGQ3LDB4YTIsMHgyZCwweGM0LDB4MGMsMHg0MSwweGMyLDB4ZGMsMHgwMCwweDc0LDB4MDAsMHgyNSB9LAotICAxNiwgMHhjNzUwLCAwLCB7MHg4MCwweDBmLDB4NzIsMHg0MiwweGRjLDB4OTAsMHhkNywweDM4LDB4MmQsMHg5OCwweDBhLDB4NzAsMHgwMiwweDFjLDB4MDQsMHg4NiB9LAotICAxNiwgMHhjNzYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweDcwLDB4MDIsMHhjYywweDAwLDB4ODYsMHgwOCwweDM3LDB4YzYsMHgyOCwweDcwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhjNzcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHg4NywweDYwLDB4MmQsMHhjMiB9LAotICAxNiwgMHhjNzgwLCAwLCB7MHgwYSwweDUwLDB4MDIsMHhkYywweDAwLDB4YjYsMHgxMCwweDI1LDB4YzIsMHgwOSwweDcwLDB4ODYsMHhkYywweDMwLDB4OTcsMHgwMCB9LAotICAxNiwgMHhjNzkwLCAwLCB7MHgyNSwweDgwLDB4MDgsMHgzMCwweDAyLDB4NWMsMHgwMCwweDg3LDB4MDgsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4Y2MsMHg0MCB9LAotICAxNiwgMHhjN2EwLCAwLCB7MHg4NiwweDAwLDB4MjEsMHgwMCwweDA5LDB4NzAsMHgwYSwweDAwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjN2IwLCAwLCB7MHgyMCwweDE0LDB4ZWQsMHg4MCwweDkzLDB4MDAsMHgwYywweGUxLDB4MjgsMHgxOCwweDAyLDB4Y2MsMHgwOCwweGEwLDB4MDAsMHgyNCB9LAotICAxNiwgMHhjN2MwLCAwLCB7MHgxMiwweDFhLDB4MzQsMHgwMiwweGNmLDB4MDQsMHg5MywweDQwLDB4MmMsMHg4MCwweDBhLDB4YjAsMHgyMiwweDRjLDB4MDIsMHg4MSB9LAotICAxNiwgMHhjN2QwLCAwLCB7MHg4MCwweDI4LDB4ZTAsMHgyOCwweDMwLDB4MDIsMHhjYywweDAwLDB4ODgsMHg4MiwweDI0LDB4MjAsMHgwOCwweGIwLDB4MDIsMHgwOCB9LAotICAxNiwgMHhjN2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJmLDB4MjAsMHhjOSwweGUwLDB4MmMsMHhmMSB9LAotICAxNiwgMHhjN2YwLCAwLCB7MHgwZSwweGJkLDB4MDMsMHhmYywweDAwLDB4YjksMHg0MCwweDM2LDB4NDAsMHgwOSwweGY1LDB4MDIsMHhmZCwweDQwLDB4ZmYsMHg4MCB9LAotICAxNiwgMHhjODAwLCAwLCB7MHgzNiwweGEyLDB4MDgsMHhmMCwweDBiLDB4N2MsMHgwMCwweGViLDB4ODAsMHgyZiwweGUwLDB4MGEsMHhmMCwweDQzLDB4ZmMsMHgwMiB9LAotICAxNiwgMHhjODEwLCAwLCB7MHg4YiwweGQwLDB4MzIsMHhmMCwweDBkLDB4ZjAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODIwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgxMCwweGZiLDB4MDAsMHgzZSwweGM4LDB4MGYsMHg5NCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4NDAsMHgzNiB9LAotICAxNiwgMHhjODMwLCAwLCB7MHg0MCwweDFmLDB4YjAsMHgwMywweGVjLDB4MTAsMHhmYiwweDAxLDB4M2UsMHhkMCwweDBmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmOSB9LAotICAxNiwgMHhjODQwLCAwLCB7MHgwMCwweDNlLDB4YzQsMHgwZiwweGIwLDB4MDEsMHhlYywweDAwLDB4ZjksMHgwNCwweDNlLDB4NDgsMHgwZiwweGIwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhjODUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHhjMCB9LAotICAxNiwgMHhjODYwLCAwLCB7MHgwYywweGUwLDB4MDcsMHhmYywweDAwLDB4ZmMsMHgwYSwweDI3LDB4MDAsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwOCB9LAotICAxNiwgMHhjODcwLCAwLCB7MHgzMywweDgwLDB4MGMsMHhmMCwweDAwLDB4MmMsMHgwMCwweDVmLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDAxLDB4ZmMsMHgwMCB9LAotICAxNiwgMHhjODgwLCAwLCB7MHhmZSwweDAwLDB4MjMsMHg0MCwweDBmLDB4YjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODkwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4ODYsMHgyZSwweGUwLDB4NDgsMHg4ZiwweDAyLDB4ZWMsMHgwOCwweGI4LDB4YTAsMHgzNiB9LAotICAxNiwgMHhjOGEwLCAwLCB7MHgzMCwweDRiLDB4YjAsMHgwMywweGFjLDB4MGMsMHg5YiwweDAyLDB4M2MsMHhhMCwweDBjLDB4YjAsMHg0MywweDZjLDB4MDAsMHhiMSB9LAotICAxNiwgMHhjOGIwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwZCwweGIwLDB4MTIsMHhlYywweDEwLDB4YjksMHg4MCwweGEyLDB4NjEsMHgwYiwweGIwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhjOGMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg5YiwweDg4LDB4MmUsMHhlMCB9LAotICAxNiwgMHhjOGQwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHhlYywweDAxLDB4YmIsMHg4MCwweDI2LDB4NjIsMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4YjMsMHgwMSB9LAotICAxNiwgMHhjOGUwLCAwLCB7MHgyYSwweDIxLDB4MDgsMHhiMCwweDEyLDB4MmMsMHgwMCwweGI4LDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDEyLDB4ZWMsMHgxNCB9LAotICAxNiwgMHhjOGYwLCAwLCB7MHhiOSwweDg0LDB4MjIsMHhhMiwweDBiLDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOTAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwNCwweDkzLDB4MDAsMHgyYywweGUwLDB4MDgsMHgwMCwweDAyLDB4Y2MsMHgwOSwweDkxLDB4MDAsMHgyMCB9LAotICAxNiwgMHhjOTEwLCAwLCB7MHg0MCwweDBiLDB4MzAsMHgwNiwweDRjLDB4MDQsMHgxMywweDAwLDB4MjYsMHgwMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMiB9LAotICAxNiwgMHhjOTIwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHgwMSwweDMwLDB4MDAsMHhjZCwweDAwLDB4YjAsMHgwMCwweDIwLDB4ODAsMHgwYiwweDMwLDB4MGEsMHgwMiB9LAotICAxNiwgMHhjOTMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhkYiwweDI0LDB4NmUsMHhjMCB9LAotICAxNiwgMHhjOTQwLCAwLCB7MHgyYywweGEwLDB4MDIsMHhmYywweDAwLDB4YmEsMHgwNCwweDI2LDB4NDAsMHg0ZiwweGYwLDB4NTcsMHhmYywweDAwLDB4M2YsMHgwMSB9LAotICAxNiwgMHhjOTUwLCAwLCB7MHgzYSwweDAwLDB4MmMsMHhmMCwweDAxLDB4M2MsMHgwMCwweGRiLDB4MDAsMHgzMywweGMwLDB4ODQsMHhmMCwweDAzLDB4ZmQsMHgwOCB9LAotICAxNiwgMHhjOTYwLCAwLCB7MHhmYSwweDAwLDB4MzIsMHgwMCwweDBmLDB4ZjAsMHgwMywweDAwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOTcwLCAwLCB7MHhhMCwweDE5LDB4ZGMsMHgwMCwweGVhLDB4NDAsMHgzZiwweDAwLDB4MDcsMHhjMCwweDAzLDB4ZmMsMHgwNCwweGZjLDB4MDAsMHgzZiB9LAotICAxNiwgMHhjOTgwLCAwLCB7MHg0MCwweDBmLDB4ZjAsMHgwMywweDljLDB4MDAsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBlLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmZCB9LAotICAxNiwgMHhjOTkwLCAwLCB7MHgwMCwweDNmLDB4YzEsMHgwZiwweGYwLDB4MDMsMHhmYywweDg0LDB4ZjQsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhjOWEwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMSwweGYwLDB4ODAsMHhmZiwweDAwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhjOWIwLCAwLCB7MHgwZiwweGMyLDB4MDMsMHgzZSwweDAwLDB4ZGYsMHhjMCwweDNlLDB4YzAsMHg0ZCwweGRiLDB4MDIsMHhiMCwweGMwLDB4ZGMsMHgzMCB9LAotICAxNiwgMHhjOWMwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhkYiwweDIzLDB4ZjYsMHgyMCwweGZmLDB4MjYsMHgzMywweGUwLDB4MGYsMHg1MiwweDAzLDB4NWUsMHgwMCB9LAotICAxNiwgMHhjOWQwLCAwLCB7MHhmZiwweDgwLDB4MzMsMHhjMCwweDRjLDB4NDksMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOWUwLCAwLCB7MHg4MCwweDEwLDB4ZTEsMHhlMCwweGI3LDB4MDgsMHgyMywweGYwLDB4MGIsMHhhZCwweDBhLDB4MmUsMHgwMCwweDlhLDB4MDQsMHgyZSB9LAotICAxNiwgMHhjOWYwLCAwLCB7MHhiMCwweDA5LDB4OGYsMHgwMywweGEwLDB4NDAsMHhiOSwweDMwLDB4MmUsMHhhMCwweDBiLDB4OWYsMHgwMywweGE3LDB4MDAsMHhiYiB9LAotICAxNiwgMHhjYTAwLCAwLCB7MHg4MCwweDI2LDB4ZTAsMHgwYiwweGRkLDB4MDIsMHgyZSwweDAwLDB4YmIsMHg4MCwweDIyLDB4ZjQsMHgwYSwweDkyLDB4MDIsMHhhMCB9LAotICAxNiwgMHhjYTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4ODAsMHhiMywweDEwLDB4MjQsMHhjMCB9LAotICAxNiwgMHhjYTIwLCAwLCB7MHgwYiwweDgwLDB4MDIsMHhhYywweDAwLDB4YTMsMHgyNCwweDJjLDB4ZDAsMHgwOCwweDEwLDB4MDYsMHhjMCwweDgwLDB4YjIsMHgwMSB9LAotICAxNiwgMHhjYTMwLCAwLCB7MHgyYywweGVhLDB4NGIsMHgwMCwweDEyLDB4YzIsMHgwNCwweGIzLDB4MTAsMHgwOCwweGMwLDB4MGEsMHg5MCwweDAyLDB4MGMsMHgwMCB9LAotICAxNiwgMHhjYTQwLCAwLCB7MHg5MywweDA0LDB4MjQsMHhjMCwweDA5LDB4ODIsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYTUwLCAwLCB7MHhjMCwweDE1LDB4YTUsMHgwMCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MGIsMHg4MCwweDAyLDB4YWMsMHgwOCwweGJiLDB4MTgsMHgyZSB9LAotICAxNiwgMHhjYTYwLCAwLCB7MHhlMCwweDE4LDB4ODgsMHgwMiwweGVjLDB4MDEsMHhiYSwweDAwLDB4MmUsMHg4MCwweDBiLDB4OTgsMHg4NiwweGUyLDB4MDAsMHhiYiB9LAotICAxNiwgMHhjYTcwLCAwLCB7MHgwMCwweDIyLDB4YzQsMHgwYiwweDkwLDB4MDIsMHg2YywweDAwLDB4YmIsMHgwMCwweGE2LDB4YzAsMHgwYiwweDkwLDB4MDAsMHhiMCB9LAotICAxNiwgMHhjYTgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGU3LDB4MDAsMHhmYiwweDAwLDB4YjIsMHhjMCB9LAotICAxNiwgMHhjYTkwLCAwLCB7MHgwZiwweGE4LDB4MDMsMHhhYywweDAyLDB4ZWIsMHgwMCwweDNlLDB4NjAsMHgwZCwweDllLDB4MDMsMHhlYywweDAwLDB4ZDgsMHg0MCB9LAotICAxNiwgMHhjYWEwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg4OCwweDQzLDB4ZTIsMHgwMCwweGZiLDB4MjAsMHgzMiwweGMwLDB4MGYsMHgxMCwweDBiLDB4NmYsMHg5MCB9LAotICAxNiwgMHhjYWIwLCAwLCB7MHg1YiwweDgyLDB4MzYsMHhjMCwweDJkLDB4MDgsMHgwMSwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYWMwLCAwLCB7MHhlMCwweDAxLDB4YjcsMHgwOCwweGY3LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmOSwweDAzLDB4N2MsMHgwOCwweGNmLDB4ODIsMHgzYyB9LAotICAxNiwgMHhjYWQwLCAwLCB7MHgwMCwweGFmLDB4ZDAsMHgyMSwweGJjLDB4MDgsMHhmZCwweDEwLDB4M2YsMHg4MCwweDhmLDB4YzAsMHgwMywweGE0LDB4MDAsMHhmNyB9LAotICAxNiwgMHhjYWUwLCAwLCB7MHgwMSwweGJmLDB4YzAsMHgwNywweGQwLDB4MDMsMHhiZCwweDMwLDB4ZmYsMHhhNCwweDM4LDB4YzAsMHgwZSwweGRhLDB4MDMsMHhmOCB9LAotICAxNiwgMHhjYWYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE4LDB4MDAsMHhmYiwweDAwLDB4YjIsMHhjMSB9LAotICAxNiwgMHhjYjAwLCAwLCB7MHgwZSwweDgxLDB4MDMsMHhlYywweDQwLDB4ZmIsMHg0NCwweDNhLDB4YzEsMHgwZSwweDk1LDB4MDMsMHhlMCwweDAwLDB4Y2IsMHg0MSB9LAotICAxNiwgMHhjYjEwLCAwLCB7MHgzMiwweDRkLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgyMCwweGM5LDB4MDAsMHg3MiwweGU4LDB4NDQsMHg5MSwweDAzLDB4NmQsMHgwMCB9LAotICAxNiwgMHhjYjIwLCAwLCB7MHhjYiwweDAyLDB4M2UsMHhjMCwweDBjLDB4ODAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYjMwLCAwLCB7MHhjOCwweDA1LDB4MjQsMHgwMCwweGJmLDB4MDAsMHgzMywweGM0LDB4MDgsMHgxZCwweDAzLDB4OGMsMHgwMCwweGJiLDB4OTgsMHgzNiB9LAotICAxNiwgMHhjYjQwLCAwLCB7MHg0OCwweDRkLDB4OTgsMHgyMiwweGVkLDB4NDAsMHhkYiwweDAwLDB4MzYsMHhiMCwweDBiLDB4OTgsMHgwMiwweGUzLDB4MDAsMHhkYiB9LAotICAxNiwgMHhjYjUwLCAwLCB7MHgwMCwweDMyLDB4ZTAsMHg4OCwweGQ4LDB4MDIsMHgyYywweDAyLDB4YzMsMHg4MCwweDJmLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg3MiB9LAotICAxNiwgMHhjYjYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwMSwweDQ0LDB4MDAsMHhiMywweDAwLDB4MjAsMHhmMCB9LAotICAxNiwgMHhjYjcwLCAwLCB7MHgxOCwweDA4LDB4MDIsMHg0ZiwweDg0LDB4YjEsMHhjMCwweDI0LDB4YzAsMHg4OSwweDA2LDB4MDIsMHhjNCwweDAwLDB4OTEsMHgwMCB9LAotICAxNiwgMHhjYjgwLCAwLCB7MHgyMCwweGYwLDB4MWIsMHgxOCwweDgyLDB4YzYsMHgwMCwweDkzLDB4MDAsMHgyYywweGQxLDB4MDgsMHgxZSwweDAyLDB4MGUsMHg0NCB9LAotICAxNiwgMHhjYjkwLCAwLCB7MHg5MywweDk0LDB4MmMsMHhjMCwweDA4LDB4MjAsMHgwMiwweGI4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYmEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwNCwweGI3LDB4ODAsMHgyMCwweGUyLDB4MDgsMHg2OCwweDA2LDB4OWUsMHg4MCwweGJmLDB4ODQsMHgyNSB9LAotICAxNiwgMHhjYmIwLCAwLCB7MHhhOCwweDA5LDB4NjgsMHgwMiwweGM2LDB4MDAsMHg5MywweGEwLDB4NjUsMHhlNCwweDBiLDB4NzgsMHgxMiwweGRlLDB4MDAsMHg5MyB9LAotICAxNiwgMHhjYmMwLCAwLCB7MHgwMCwweGExLDB4ZTAsMHgwOCwweGQ4LDB4MDIsMHgxZSwweGQwLDB4YTcsMHg4MCwweDJkLDB4ZTAsMHgwOCwweGY4LDB4MDIsMHg0OCB9LAotICAxNiwgMHhjYmQwLCAwLCB7MHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhiMywweDIwLDB4MzAsMHhjMCB9LAotICAxNiwgMHhjYmUwLCAwLCB7MHgwYSwweDIyLDB4MDIsMHhjZSwweDQwLDB4ZjMsMHhhMCwweDNjLDB4ZTgsMHgwYiwweDMwLDB4MDIsMHhjMSwweDAwLDB4ZDAsMHhjMSB9LAotICAxNiwgMHhjYmYwLCAwLCB7MHgzMCwweGMwLDB4MGIsMHgyMSwweDEzLDB4Y2MsMHgyMSwweGQzLDB4MDAsMHgyYywweGMwLDB4MmMsMHgxMCwweDBiLDB4MGMsMHg4MCB9LAotICAxNiwgMHhjYzAwLCAwLCB7MHhkMywweDYxLDB4M2MsMHhjOCwweDJjLDB4MjAsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYzEwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4NDAsMHgzYiwweGMwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGY3LDB4NTAsMHg3ZiB9LAotICAxNiwgMHhjYzIwLCAwLCB7MHhjNCwweDJlLDB4ZjAsMHgwMywweGZjLDB4NDAsMHhmZSwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHg0NywweGZjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhjYzMwLCAwLCB7MHgwMCwweDdkLDB4YzIsMHgwZiwweGQwLDB4MDEsMHhiYywweDgwLDB4NWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhjYzQwLCAwLCB7MHgwMiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGU0LDB4MDAsMHhmYiwweGMwLDB4MzIsMHhjOCB9LAotICAxNiwgMHhjYzUwLCAwLCB7MHgwZSwweGUwLDB4MDMsMHhhYywweGEwLDB4ZWIsMHgyMCwweDMyLDB4NDAsMHg4YywweGEwLDB4MTMsMHgyYywweDAwLDB4ZDksMHgwMCB9LAotICAxNiwgMHhjYzYwLCAwLCB7MHgzZSwweDYwLDB4MGMsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4ODAsMHgzMCwweGMwLDB4M2MsMHg5MiwweDAzLDB4ZWYsMHg2MCB9LAotICAxNiwgMHhjYzcwLCAwLCB7MHhjMywweDIwLDB4MzEsMHhjNCwweDBjLDB4YTAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYzgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDMzLDB4MjAsMHgyMSwweGRhLDB4MGIsMHg3MCwweDQzLDB4OWMsMHgwMSwweGI1LDB4MDAsMHgyMSB9LAotICAxNiwgMHhjYzkwLCAwLCB7MHgwMCwweDBhLDB4ZTAsMHgwMiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCwweDBkLDB4NzAsMHgwMywweDljLDB4MDAsMHhiNiB9LAotICAxNiwgMHhjY2EwLCAwLCB7MHgwMCwweDMxLDB4YzgsMHgwOCwweDU3LDB4MDIsMHhkYywweDAwLDB4ODcsMHg1MCwweDIxLDB4YzAsMHgwYSwweDcwLDB4NDIsMHg5MiB9LAotICAxNiwgMHhjY2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDlhLDB4MTEsMHhiNywweDkwLDB4MjEsMHhlMCB9LAotICAxNiwgMHhjY2MwLCAwLCB7MHgwYiwweDY4LDB4ODIsMHhkZSwweDA4LDB4YTcsMHg4MCwweDI0LDB4NjAsMHgwOCwweDcwLDB4MTIsMHgxMiwweDA4LDB4OTUsMHg4MCB9LAotICAxNiwgMHhjY2QwLCAwLCB7MHgyZCwweDYwLDB4MDksMHg2YywweDAyLDB4ZGUsMHgwMCwweGIxLDB4ODAsMHgyMywweGUwLDB4MGEsMHg1OCwweDYyLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhjY2UwLCAwLCB7MHg5NywweGEwLDB4MjEsMHhlOCwweDA5LDB4ZTgsMHgwMiwweDMwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjY2YwLCAwLCB7MHg0OCwweDE0LDB4Y2QsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4OGIsMHgzYywweDAyLDB4OGMsMHgwMCwweGJiLDB4MDAsMHgyNCB9LAotICAxNiwgMHhjZDAwLCAwLCB7MHhjNCwweDFhLDB4M2QsMHgwMiwweDJmLDB4ODgsMHhiMywweDQ4LDB4MmMsMHhlMCwweDg5LDB4M2UsMHgwMiwweDhkLDB4ODAsMHg5MyB9LAotICAxNiwgMHhjZDEwLCAwLCB7MHhkOSwweGE0LDB4NDAsMHg4OCwweDEwLDB4MDIsMHhjYywweDA0LDB4OTMsMHhjOCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg5MiB9LAotICAxNiwgMHhjZDIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4NDAsMHhmYSwweDAwLDB4YjIsMHg4MCB9LAotICAxNiwgMHhjZDMwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZWEsMHg4MCwweDM3LDB4YTAsMHgwYywweGU4LDB4MTMsMHgzYiwweDA4LDB4ZGUsMHgwMSB9LAotICAxNiwgMHhjZDQwLCAwLCB7MHgzZiwweDgyLDB4MGMsMHhlMCwweDQzLDB4ZmEsMHg4MCwweGZlLDB4ODAsMHgzMSwweDI4LDB4MGMsMHhhMCwweDAzLDB4ZjAsMHgwMiB9LAotICAxNiwgMHhjZDUwLCAwLCB7MHhjNCwweGMwLDB4YjIsMHg4MCwweDBkLDB4ZTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZDYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDEwLDB4MGIsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4LDB4MzAsMHgzYSB9LAotICAxNiwgMHhjZDcwLCAwLCB7MHgwMCwweDZkLDB4ODAsMHg4MywweGUxLDB4NDQsMHhiOCwweDA0LDB4M2UsMHgxMCwweDBmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHhjZDgwLCAwLCB7MHgwMCwweDNhLDB4MTAsMHg0ZiwweDA0LDB4MDMsMHhlMywweDAwLDB4ZTgsMHgxMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhjZDkwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzgsMHg0MCB9LAotICAxNiwgMHhjZGEwLCAwLCB7MHgwZiwweDFhLDB4MDMsMHgyZSwweDAwLDB4ZmIsMHhhMCwweDM2LDB4NjAsMHgwYywweDk4LDB4MDMsMHhlNiwweDA0LDB4ZDEsMHgwMCB9LAotICAxNiwgMHhjZGIwLCAwLCB7MHgzNiwweDQ4LDB4MGUsMHg5MSwweDAyLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg5OSwweDAzLDB4NjIsMHg0MCB9LAotICAxNiwgMHhjZGMwLCAwLCB7MHhmOCwweDAwLDB4YTAsMHg2OCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZGQwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMiwweDg5LDB4MDQsMHgyZSwweDY0LDB4ODgsMHg5NCwweDAyLDB4YTUsMHgwMCwweGI5LDB4ODAsMHgyMCB9LAotICAxNiwgMHhjZGUwLCAwLCB7MHg2NCwweDBkLDB4OWMsMHgwMiwweGU2LDB4NDIsMHg4OSwweDAwLDB4MjIsMHg2MCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MTAsMHhiOSB9LAotICAxNiwgMHhjZGYwLCAwLCB7MHg0MCwweDNhLDB4NTAsMHgwOCwweDljLDB4MDIsMHgyNywweDIwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDMsMHg2MCB9LAotICAxNiwgMHhjZTAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCB9LAotICAxNiwgMHhjZTEwLCAwLCB7MHgwYSwweDkwLDB4ODIsMHgyNSwweDRjLDB4YjksMHgwMCwweDAyLDB4NDAsMHgwOCwweDk2LDB4MDIsMHhlNCwweDEwLDB4ODksMHgwMCB9LAotICAxNiwgMHhjZTIwLCAwLCB7MHgyNiwweDUwLDB4MTMsMHg5NCwweDAyLDB4ZTQsMHg0MCwweGI5LDB4MDgsMHgyZSwweDQwLDB4MDgsMHg5MCwweDhhLDB4MjQsMHgwMCB9LAotICAxNiwgMHhjZTMwLCAwLCB7MHhiOSwweDAxLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZTQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHg4MCwweDgxLDB4NDAsMHgyYywweGM4LDB4MDgsMHgxMCwweDA2LDB4ODQsMHgwMCwweGIxLDB4MDQsMHgyMCB9LAotICAxNiwgMHhjZTUwLCAwLCB7MHg0OSwweDA5LDB4MTQsMHg0MiwweGNjLDB4ODksMHg4MSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHg0NiwweGM0LDB4MDAsMHhiMSB9LAotICAxNiwgMHhjZTYwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHgyOCwweDE0LDB4MDIsMHgwMSwweDAxLDB4YjAsMHgwNCwweDI4LDB4NDAsMHgzOCwweDk0LDB4MDIsMHg0MiB9LAotICAxNiwgMHhjZTcwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHg4OCwweDAwLDB4M2EsMHgwMCB9LAotICAxNiwgMHhjZTgwLCAwLCB7MHgwZSwweDgwLDB4MjMsMHgyMCwweDAwLDB4ZjgsMHg1MCwweGIyLDB4MDAsMHgwYywweDgwLDB4MTIsMHhlMSwweDQwLDB4ZDgsMHg1MCB9LAotICAxNiwgMHhjZTkwLCAwLCB7MHgzNiwweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHg4MCwweDUzLDB4NjAsMHgwNCB9LAotICAxNiwgMHhjZWEwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZWIwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHg0MCwweGY5LDB4NDQsMHgzZSwweDQ0LDB4MGYsMHhkNCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZiB9LAotICAxNiwgMHhjZWMwLCAwLCB7MHg0NCwweDBmLDB4ZDQsMHg1MywweGY0LDB4NDQsMHhmZCwweDEwLDB4MmYsMHg0MCwweDBmLDB4ZjQsMHgwMywweGZkLDB4MDAsMHhmZCB9LAotICAxNiwgMHhjZWQwLCAwLCB7MHg0MCwweDNiLDB4MTAsMHgwZiwweGQ0LDB4MjMsMHhkMSwweDA0LDB4N2MsMHg0MywweDM2LDB4NTAsMHgwZiwweDUwLDB4MDMsMHhlNiB9LAotICAxNiwgMHhjZWUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGE2LDB4MDAsMHhmOSwweDEwLDB4MmUsMHg2MiB9LAotICAxNiwgMHhjZWYwLCAwLCB7MHgwZiwweGQyLDB4ODMsMHhlNCwweDAwLDB4YmQsMHg0MiwweDNlLDB4NjEsMHgwZiwweGQwLDB4MDMsMHhmNiwweGMwLDB4YzksMHhhMiB9LAotICAxNiwgMHhjZjAwLCAwLCB7MHgyYiwweDQwLDB4MGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGY5LDB4ODEsMHgzZSwweDY4LDB4MDgsMHhjMSwweDQzLDB4ZmEsMHgwMCB9LAotICAxNiwgMHhjZjEwLCAwLCB7MHhmNSwweDgwLDB4M2YsMHg2MiwweDBjLDB4MTQsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZjIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgyMCwweDg4LDB4MTEsMHgyZSwweDEwLDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4ODIsMHgyZSB9LAotICAxNiwgMHhjZjMwLCAwLCB7MHgxMCwweDBiLDB4ODAsMHgwMCwweGUzLDB4YzQsMHg4OCwweGYwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHgwYSwweDIwLDB4MDAsMHhlOCB9LAotICAxNiwgMHhjZjQwLCAwLCB7MHg0MCwweDJmLDB4MTQsMHgwOCwweDg4LDB4MDIsMHhlMiwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwOCwweDg4LDB4MDIsMHg4ZSB9LAotICAxNiwgMHhjZjUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNCwweGM1LDB4MDAsMHhhMSwweDAwLDB4MmMsMHg0MCB9LAotICAxNiwgMHhjZjYwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjNCwweDE4LDB4YjEsMHgyMiwweDZjLDB4ZDEsMHgwYiwweDEwLDB4MjYsMHhjNCwweDAwLDB4ODEsMHgwOCB9LAotICAxNiwgMHhjZjcwLCAwLCB7MHgyYSwweDQwLDB4ODgsMHgxMCwweDAyLDB4MDQsMHgwNCwweGI1LDB4YzAsMHgwZiwweDQwLDB4MGIsMHgwMiwweDAyLDB4NDEsMHhhMCB9LAotICAxNiwgMHhjZjgwLCAwLCB7MHhiMSwweDQwLDB4MmMsMHg0MCwweDA4LDB4MTIsMHgwMiwweDAyLDB4MTEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZjkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDYsMHgyZSwweDQwLDB4MGIsMHg5MCwweDEyLDB4ZTQsMHgwMCwweGI5LDB4NDAsMHgyZSB9LAotICAxNiwgMHhjZmEwLCAwLCB7MHg0MCwweDBiLDB4YjAsMHg4MiwweGM0LDB4MDIsMHg4OSwweDQ0LDB4MjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhhOSB9LAotICAxNiwgMHhjZmIwLCAwLCB7MHgwMCwweDI3LDB4NDgsMHgwOSwweGIwLDB4MTIsMHhlYywweDE4LDB4YjksMHgwMSwweDJlLDB4NDAsMHg0MCwweDkwLDB4MDIsMHg4NiB9LAotICAxNiwgMHhjZmMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4ODQsMHhlOSwweDAxLDB4M2UsMHg0MCB9LAotICAxNiwgMHhjZmQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NzIsMHgwZiwweDkwLDB4MDMsMHhlNywweDYwLDB4ODksMHgxMCB9LAotICAxNiwgMHhjZmUwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGY5LDB4NDQsMHgzYywweDQwLDB4MmQsMHg5MCwweDAzLDB4ZTcsMHg2MCB9LAotICAxNiwgMHhjZmYwLCAwLCB7MHhmOSwweDcxLDB4M2UsMHg0MCwweDI4LDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMDAwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHg0OCwweGE5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHg5YSwweDQzLDB4ZWMsMHgwMCwweGY5LDB4MjAsMHg3ZSB9LAotICAxNiwgMHhkMDEwLCAwLCB7MHhjOCwweDBmLDB4OWEsMHgwNywweDY2LDB4MDAsMHg3OSwweDgwLDB4N2UsMHg0MCwweDBmLDB4MWMsMHgwMywweGU3LDB4MDAsMHhlOSB9LAotICAxNiwgMHhkMDIwLCAwLCB7MHhhMCwweDNlLDB4NDAsMHg0NiwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhkMDMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweDgwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCB9LAotICAxNiwgMHhkMDQwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhhMCwweDA4LDB4ZTgsMHg0MCwweDNhLDB4MTAsMHgwYywweDgzLDB4MDMsMHhhMSwweGMwLDB4ZjAsMHg0MCB9LAotICAxNiwgMHhkMDUwLCAwLCB7MHgzZSwweDA2LDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzYiwweDAwLDB4MGYsMHg4MSwweDAzLDB4MjAsMHgwMCB9LAotICAxNiwgMHhkMDYwLCAwLCB7MHhmOCwweDEwLDB4YjIsMHgwMCwweDRjLDB4ODAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMDcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweGJhLDB4MDAsMHgyZSwweGIwLDB4MGIsMHhlOCwweDAyLDB4ZTksMHgwMCwweDNlLDB4OTAsMHgwMiB9LAotICAxNiwgMHhkMDgwLCAwLCB7MHg4MSwweDA4LDB4ZTQsMHgxMiwweDc4LDB4MDAsMHhiYSwweDAwLDB4MmQsMHhiMCwweDg5LDB4ZTgsMHgyMiwweGY4LDB4MGMsMHhiYSB9LAotICAxNiwgMHhkMDkwLCAwLCB7MHgwMCwweDZlLDB4ODAsMHgwMywweGM1LDB4MDMsMHgzMCwweDAwLDB4YmEsMHgwMCwweDIyLDB4YTgsMHgwOCwweGEwLDB4MjIsMHg4YSB9LAotICAxNiwgMHhkMGEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjgsMHhlOCB9LAotICAxNiwgMHhkMGIwLCAwLCB7MHgxYiwweDMxLDB4MTIsMHg4YywweGM0LDB4YTMsMHg5MiwweDJjLDB4NDAsMHg4OCwweDM0LDB4MDYsMHg4ZSwweDAwLDB4OTMsMHgwMCB9LAotICAxNiwgMHhkMGMwLCAwLCB7MHgyYywweGYwLDB4MTksMHgzMSwweGEyLDB4Y2MsMHgwNCwweGIzLDB4MDAsMHgyOCwweDgwLDB4MDEsMHgzOCwweDAyLDB4NGMsMHgwMCB9LAotICAxNiwgMHhkMGQwLCAwLCB7MHhiMywweDgwLDB4MjAsMHhlMCwweDBhLDB4YjAsMHgxMiwweDAyLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMGUwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwMCwweGI3LDB4MTQsMHgyZCwweDQyLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4ODEsMHgyNyB9LAotICAxNiwgMHhkMGYwLCAwLCB7MHhlMCwweDE4LDB4NjAsMHgwMiwweDU4LDB4MTgsMHhiNywweDIyLDB4MmQsMHg4MCwweDA5LDB4NzAsMHgyMiwweGRjLDB4MDAsMHhiNyB9LAotICAxNiwgMHhkMTAwLCAwLCB7MHgwMCwweDJkLDB4ODAsMHgwYiwweDNiLDB4MDIsMHgxZCwweGQwLDB4YmYsMHg4MCwweDI4LDB4YzAsMHg4YSwweGYyLDB4MDIsMHhhMCB9LAotICAxNiwgMHhkMTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFmLDB4ODAsMHhmNywweGEwLDB4MzksMHhlMiB9LAotICAxNiwgMHhkMTIwLCAwLCB7MHgwZiwweDY4LDB4MDMsMHg5ZSwweDAwLDB4ZWQsMHg4NCwweDNkLDB4ZTIsMHg0NCwweDc4LDB4MDMsMHg5ZSwweDAwLDB4ZjcsMHhiNCB9LAotICAxNiwgMHhkMTMwLCAwLCB7MHgyZCwweGUwLDB4MGQsMHg2OCwweDAzLDB4ZDYsMHgwMCwweGY2LDB4ODAsMHgzOSwweGUwLDB4MGYsMHg3OSwweDAzLDB4NWUsMHg5MCB9LAotICAxNiwgMHhkMTQwLCAwLCB7MHhmNywweDgxLDB4MzEsMHg2MCwweDJlLDB4N2MsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDFkLDB4YWQsMHgwMCwweGZiLDB4NDIsMHgzZSwweGM4LDB4MGYsMHhhMCwweDAzLDB4ZWQsMHhhMCwweGJiLDB4MDAsMHgzOCB9LAotICAxNiwgMHhkMTYwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgwMywweDY4LDB4MDAsMHhmYiwweDExLDB4M2UsMHg0MCwweDA5LDB4YjAsMHg0MSwweGVjLDB4MDAsMHhmYSB9LAotICAxNiwgMHhkMTcwLCAwLCB7MHgwMiwweDNlLDB4YzAsMHgwZiwweGIyLDB4MGIsMHhlZCwweDgwLDB4M2IsMHgwMCwweDM2LDB4NDAsMHgwZCwweGIwLDB4MjMsMHg0MiB9LAotICAxNiwgMHhkMTgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZmLDB4MDAsMHhjZiwweGQwLDB4MzMsMHhlNCB9LAotICAxNiwgMHhkMTkwLCAwLCB7MHg0ZiwweGY5LDB4MDMsMHhkZSwweDQwLDB4ZGMsMHg4MCwweDM2LDB4ZTQsMHgwYywweGI5LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg5MCB9LAotICAxNiwgMHhkMWEwLCAwLCB7MHgzNywweGU1LDB4MGYsMHhmOCwweDQzLDB4ZmUsMHgwMCwweGNmLDB4OTIsMHgzZiwweGE0LDB4MGYsMHg3OCwweDAzLDB4MWYsMHgwMCB9LAotICAxNiwgMHhkMWIwLCAwLCB7MHhjNSwweDgwLDB4MzMsMHg2MCwweDBjLDB4ZjgsMHgyMCwweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMWMwLCAwLCB7MHhhOCwweDExLDB4YmMsMHgwMCwweDBmLDB4MTAsMHgyMSwweDgxLDB4MGIsMHg2MCwweDAzLDB4ODQsMHgwMCwweDhiLDB4MDgsMHgyMSB9LAotICAxNiwgMHhkMWQwLCAwLCB7MHg2MCwweDBhLDB4N2IsMHgwMywweDk4LDB4MDAsMHg4YiwweDEwLDB4MjksMHg4NCwweDBlLDB4NjQsMHgyMiwweGRjLDB4NDAsMHhkNyB9LAotICAxNiwgMHhkMWUwLCAwLCB7MHgwMiwweDJkLDB4ODQsMHgwYiwweDcwLDB4MDIsMHgxYywweDAwLDB4ODUsMHgxOCwweDIxLDB4NDAsMHgwYSwweGYwLDB4MjIsMHhhYSB9LAotICAxNiwgMHhkMWYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4MDAsMHhhNywweDE0LDB4NjksMHhjMCB9LAotICAxNiwgMHhkMjAwLCAwLCB7MHgxYSwweDYwLDB4MTIsMHhmYywweDAxLDB4YTQsMHgxMCwweDJkLDB4YzAsMHgwYSwweDUyLDB4MDIsMHg0NSwweDQwLDB4ODcsMHgwYyB9LAotICAxNiwgMHhkMjEwLCAwLCB7MHgyMSwweDgwLDB4MWIsMHg2MCwweDgyLDB4ZDQsMHgwMCwweDg2LDB4MDMsMHgyNSwweGUwLDB4MWIsMHg3MCwweDAyLDB4NWMsMHg0MCB9LAotICAxNiwgMHhkMjIwLCAwLCB7MHg5ZCwweDAwLDB4MjksMHg0MCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMjMwLCAwLCB7MHgyMCwweDE0LDB4Y2QsMHgwMCwweGEzLDB4MDAsMHgyOCwweGMwLDB4MWIsMHgyMCwweDIyLDB4OGMsMHgxMSwweGEzLDB4MDAsMHg2OCB9LAotICAxNiwgMHhkMjQwLCAwLCB7MHhmNiwweDBhLDB4M2MsMHgwNiwweDgyLDB4MDAsMHg4MywweDgwLDB4MjgsMHg4NCwweDBhLDB4OGMsMHg4MiwweGNjLDB4NDQsMHg5MiB9LAotICAxNiwgMHhkMjUwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg0ZSwweDAwLDB4OTEsMHgwMCwweDI4LDB4NDAsMHgwYSwweDMwLDB4MDIsMHg4OCB9LAotICAxNiwgMHhkMjYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJlLDB4MjIsMHhlZiwweDA0LDB4YmEsMHhjMCB9LAotICAxNiwgMHhkMjcwLCAwLCB7MHgwZiwweDE0LDB4OTMsMHhlYywweDAyLDB4ZjEsMHhjMywweDNlLDB4ZjAsMHgwZSwweDkwLDB4ODMsMHg2NiwweDAwLDB4Y2YsMHhkMiB9LAotICAxNiwgMHhkMjgwLCAwLCB7MHgzMiwweDUwLDB4MGYsMHg5YywweDAzLDB4Y2IsMHgwMCwweGM5LDB4ODAsMHgzZSwweDI4LDB4MGYsMHhiMCwweDAzLDB4NGYsMHgwMCB9LAotICAxNiwgMHhkMjkwLCAwLCB7MHhkMSwweGMwLDB4YWEsMHhjMCwweDBjLDB4NzEsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMmEwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgyMCwweGRiLDB4MDAsMHgyNiwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwOCwweDFiLDB4MDAsMHgzNiB9LAotICAxNiwgMHhkMmIwLCAwLCB7MHhjMCwweDBmLDB4ODYsMHgwMSwweGU1LDB4NDAsMHhmYiwweDAyLDB4M2EsMHg0OCwweDBlLDB4OTQsMHgwMywweGVjLDB4ODAsMHhmMSB9LAotICAxNiwgMHhkMmMwLCAwLCB7MHg4NCwweDNlLDB4MDAsMHg0ZiwweGIwLDB4MDMsMHhhZCwweGMwLDB4ZWIsMHgyMCwweDM2LDB4YzAsMHgwZiwweGIwLDB4MjMsMHhlMCB9LAotICAxNiwgMHhkMmQwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGRjLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg2MCB9LAotICAxNiwgMHhkMmUwLCAwLCB7MHgwYywweGUwLDB4ODMsMHgzZSwweDgwLDB4ZWQsMHgwOCwweDMzLDB4ZDAsMHg4ZiwweDUwLDB4MDMsMHg5ZSwweDAwLDB4ZGYsMHgwMCB9LAotICAxNiwgMHhkMmYwLCAwLCB7MHgzMywweDQwLDB4MGMsMHhjMCwweDAzLDB4MzAsMHgwMCwweGNjLDB4MTAsMHgzMywweDY4LDB4MGMsMHhmMCwweDAzLDB4M2MsMHg4NCB9LAotICAxNiwgMHhkMzAwLCAwLCB7MHg4ZCwweDkwLDB4MzAsMHg0MCwweDBjLDB4ZjAsMHgwMywweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMzEwLCAwLCB7MHg4MSwweDA0LDB4NmMsMHgwMCwweDhiLDB4MDIsMHgyYywweGY0LDB4MDgsMHhhOCwweDYyLDB4MGMsMHg4MCwweDhiLDB4ODAsMHgyYSB9LAotICAxNiwgMHhkMzIwLCAwLCB7MHg2MCwweDBmLDB4OWMsMHgwMiwweDJlLDB4MDAsMHg4YiwweDAwLDB4MjAsMHg2MCwweDBkLDB4OTgsMHgwMiwweDJjLDB4ODAsMHhkOCB9LAotICAxNiwgMHhkMzMwLCAwLCB7MHgwMCwweDE0LDB4NDAsMHgwOCwweDM0LDB4MTIsMHgyZSwweDAwLDB4OGIsMHg4MiwweDMyLDB4NDAsMHgwZCwweGIwLDB4MDMsMHg2MCB9LAotICAxNiwgMHhkMzQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHhkMCB9LAotICAxNiwgMHhkMzUwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHgyYywweDAwLDB4OGEsMHg4NCwweDIyLDB4YzAsMHgwYiwweDg4LDB4MDIsMHhlNCwweGEwLDB4ODMsMHgwMCB9LAotICAxNiwgMHhkMzYwLCAwLCB7MHgyMiwweDYyLDB4MGEsMHg5OCwweDAyLDB4MjgsMHgwMCwweDg5LDB4MDAsMHgyMiwweDAwLDB4MGEsMHhiMSwweDA2LDB4MmMsMHgwMCB9LAotICAxNiwgMHhkMzcwLCAwLCB7MHhhYiwweDAwLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMzgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMiwweGEzLDB4MDAsMHgyYywweGMxLDB4MDgsMHgyMCwweDAyLDB4MGMsMHgwMiwweDhiLDB4MDAsMHgyOCB9LAotICAxNiwgMHhkMzkwLCAwLCB7MHhjMiwweDBhLDB4MDAsMHgwMiwweDQ0LDB4MTAsMHg4MywweDEwLDB4MjIsMHg0MCwweDBiLDB4MTAsMHgwNiwweDBjLDB4MDAsMHg5MSB9LAotICAxNiwgMHhkM2EwLCAwLCB7MHgwNCwweGFhLDB4MDAsMHgyOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YTEsMHgwMSwweDIwLDB4NDAsMHgwOSwweGIwLDB4MDIsMHg0MiB9LAotICAxNiwgMHhkM2IwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHg4ZiwweDAwLDB4M2UsMHhjMCB9LAotICAxNiwgMHhkM2MwLCAwLCB7MHgyYywweGEwLDB4MDMsMHgyOSwweDQwLDB4YTgsMHg0MCwweDMyLDB4Y2MsMHg4YiwweDgwLDB4MDIsMHhlMCwweDAwLDB4Y2YsMHg0MCB9LAotICAxNiwgMHhkM2QwLCAwLCB7MHgzMiwweDAwLDB4MGUsMHg4MCwweDBhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMiwweDQwLDB4MGMsMHhiMCwweDAzLDB4MmMsMHgwNCB9LAotICAxNiwgMHhkM2UwLCAwLCB7MHhlYiwweDAwLDB4YjIsMHg0MCwweDhjLDB4YjAsMHgwMywweDQwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkM2YwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGRmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhlMCwweDAzLDB4ZmMsMHg4MCwweGZmLDB4MjgsMHgzZCB9LAotICAxNiwgMHhkNDAwLCAwLCB7MHhjMCwweDBiLDB4YzEsMHgwMywweGIwLDB4MTQsMHhmZiwweDAwLDB4M2YsMHgwMCwweDBkLDB4ZDAsMHgwMywweGRjLDB4MDAsMHhmYyB9LAotICAxNiwgMHhkNDEwLCAwLCB7MHgwMCwweDM3LDB4NDAsMHgwZiwweGYwLDB4MjEsMHhmYywweDAwLDB4MWQsMHgwMCwweDdiLDB4NDAsMHg4ZiwweGYwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhkNDIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhkZiwweDAwLDB4MzEsMHhhMCB9LAotICAxNiwgMHhkNDMwLCAwLCB7MHg0ZCwweGYwLDB4NDMsMHgzMiwweDAwLDB4Y2UsMHgxNCwweDFiLDB4NjgsMHgwZSwweGRhLDB4MjMsMHhiMiwweGMwLDB4MmYsMHgwMCB9LAotICAxNiwgMHhkNDQwLCAwLCB7MHgzZiwweGMyLDB4MmMsMHhlOCwweDAzLDB4M2MsMHg0MCwweGZkLDB4MDgsMHgzYiwweGM4LDB4NGMsMHhmMCwweDgzLDB4M2MsMHhhMCB9LAotICAxNiwgMHhkNDUwLCAwLCB7MHhjZiwweDAwLDB4MzMsMHhjNCwweDBjLDB4ZjMsMHgwNywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDYwLCAwLCB7MHg4MCwweDEwLDB4ZTIsMHgwMCwweDhmLDB4YzAsMHgyMiwweGEwLDB4MDgsMHhmZCwweDQyLDB4MmYsMHgwMCwweDhiLDB4NzAsMHgyMiB9LAotICAxNiwgMHhkNDcwLCAwLCB7MHgxZSwweDQ4LDB4ODksMHgwMiwweDI3LDB4YzAsMHg4ZiwweDVhLDB4MmUsMHg1MCwweDQ4LDB4MzAsMHgwMiwweGJkLDB4YzAsMHhiZCB9LAotICAxNiwgMHhkNDgwLCAwLCB7MHg0MCwweDIzLDB4YzUsMHg0OCwweGY0LDB4ODIsMHgzZCwweDJjLDB4ODcsMHg3MCwweDIyLDB4YzAsMHgwOCwweGYxLDB4MDMsMHhlMCB9LAotICAxNiwgMHhkNDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGUwLDB4MDAsMHg5MywweDEwLDB4MjYsMHg4MSB9LAotICAxNiwgMHhkNGEwLCAwLCB7MHg0OSwweDMwLDB4MDIsMHg4MCwweDQwLDB4ODMsMHgyMCwweDI4LDB4NDAsMHgwYSwweDEwLDB4MDIsMHg4MCwweDAwLDB4YTMsMHgyNCB9LAotICAxNiwgMHhkNGIwLCAwLCB7MHgyYywweGNhLDB4MDgsMHgzMiwweDgyLDB4MGMsMHgwMCwweDkxLDB4MjgsMHgyMCwweGNhLDB4MWIsMHgzMiwweDAyLDB4MGMsMHg4OCB9LAotICAxNiwgMHhkNGMwLCAwLCB7MHg4MywweDA5LDB4MjAsMHhjOCwweDA5LDB4MzIsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNGQwLCAwLCB7MHhjMCwweDE1LDB4YTMsMHgxNCwweDhiLDB4MDQsMHgyNiwweDg5LDB4MDgsMHhiMCwweDAyLDB4YWMsMHgyMiwweDhiLDB4ODgsMHgyYSB9LAotICAxNiwgMHhkNGUwLCAwLCB7MHgyMCwweDA4LDB4OTgsMHg4MiwweGE2LDB4MTAsMHhhYiwweDAwLDB4MmUsMHhjYSwweDA4LDB4YjAsMHg4MiwweGFjLDB4MDAsMHhiOSB9LAotICAxNiwgMHhkNGYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgyOSwweGIwLDB4MGEsMHgyYywweDAxLDB4OGIsMHgwMCwweDIyLDB4YzAsMHgwOSwweGIwLDB4MjIsMHhmMCB9LAotICAxNiwgMHhkNTAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUzLDB4MDAsMHhkYiwweDAwLDB4MzQsMHhlMiB9LAotICAxNiwgMHhkNTEwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhhMywweDAwLDB4Y2EsMHg4MCwweGJhLDB4NzAsMHgwZSwweDg4LDB4MDMsMHhhNiwweDAwLDB4ZWIsMHgwMCB9LAotICAxNiwgMHhkNTIwLCAwLCB7MHgzZSwweDkwLDB4MGMsMHhiNSwweDAzLDB4MmMsMHgwMCwweGZiLDB4MTAsMHhiYSwweGMwLDB4MGUsMHhiMCwweDAzLDB4MmMsMHgwMiB9LAotICAxNiwgMHhkNTMwLCAwLCB7MHhjYiwweDAyLDB4MzIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNTQwLCAwLCB7MHhlMCwweDAxLDB4YjAsMHgwOCwweGZmLDB4MDAsMHhiYiwweGUwLDB4MGYsMHg3MCwweDAzLDB4NjUsMHgwMCwweGY0LDB4MDAsMHgzNSB9LAotICAxNiwgMHhkNTUwLCAwLCB7MHg0MCwweDBmLDB4NDAsMHgwMywweDU0LDB4MDAsMHhkZiwweDAwLDB4M2UsMHg0MCwweDBmLDB4ZjgsMHgwMywweGVjLDB4MDAsMHhmNyB9LAotICAxNiwgMHhkNTYwLCAwLCB7MHgwMSwweDNkLDB4YzEsMHgwZSwweDMwLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZSwweGYwLDB4MDMsMHhiOCB9LAotICAxNiwgMHhkNTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGEwLDB4NDAsMHhlYiwweDA4LDB4M2UsMHg4MCB9LAotICAxNiwgMHhkNTgwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNhLDB4NTEsMHgwZiwweDgyLDB4MDMsMHg2NCwweDIwLDB4ZGIsMHgwMCB9LAotICAxNiwgMHhkNTkwLCAwLCB7MHgzZCwweDgyLDB4MGMsMHhiYywweDAzLDB4MmMsMHgxMCwweGRiLDB4MDAsMHg3MiwweGMwLDB4MGQsMHhiMSwweDAzLDB4MGMsMHgyMCB9LAotICAxNiwgMHhkNWEwLCAwLCB7MHhkMywweDAwLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNWIwLCAwLCB7MHhjOCwweDA1LDB4MDEsMHgwMCwweDg3LDB4YzAsMHgyZSwweGE4LDB4MDgsMHhmMSwweDEyLDB4YzUsMHg0MCwweDg4LDB4MDAsMHgyMiB9LAotICAxNiwgMHhkNWMwLCAwLCB7MHg0MCwweDBiLDB4ODQsMHgwMiwweDI3LDB4MDAsMHhhZiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YmMsMHgxMiwweDNjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhkNWQwLCAwLCB7MHgwMSwweDIzLDB4YzAsMHgyOCwweGY1LDB4NGEsMHgzZCwweDI4LDB4ZGYsMHgwMCwweDMzLDB4YzAsMHg0YiwweGYwLDB4MDMsMHgzMiB9LAotICAxNiwgMHhkNWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ4LDB4ODAsMHhhMywweDkwLDB4MmMsMHgwMCB9LAotICAxNiwgMHhkNWYwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhjMSwweDAwLDB4OTIsMHgwNCwweDI4LDB4MDAsMHgwYiwweDE0LDB4MTIsMHg0MywweDAwLDB4YjMsMHgwNCB9LAotICAxNiwgMHhkNjAwLCAwLCB7MHgyYywweDMwLDB4MGEsMHhiMCwweDBhLDB4OGMsMHgwMCwweDkzLDB4MDAsMHg2MCwweGMwLDB4MDgsMHgzYywweDA2LDB4MGUsMHgwMSB9LAotICAxNiwgMHhkNjEwLCAwLCB7MHhiMywweDAwLDB4MmUsMHhjMCwweDhiLDB4MzAsMHgwNiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNjIwLCAwLCB7MHgyMCwweDAxLDB4MTIsMHgwMCwweDg3LDB4ODAsMHgyZCwweDI0LDB4MDgsMHg3OCwweDAyLDB4ZDIsMHgwMCwweDk1LDB4ODAsMHgyMSB9LAotICAxNiwgMHhkNjMwLCAwLCB7MHhhMCwweDBiLDB4NjgsMHgwMiwweDVhLDB4MjAsMHg4NywweDgwLDB4MmQsMHg2NiwweDFhLDB4N2MsMHgwMiwweDllLDB4MDAsMHg4NyB9LAotICAxNiwgMHhkNjQwLCAwLCB7MHg4MCwweDIxLDB4ZTEsMHgxOCwweDc5LDB4MDIsMHg5ZSwweDQwLDB4YjcsMHg4MCwweGExLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHg0OCB9LAotICAxNiwgMHhkNjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDAwLDB4MDAsMHhlMywweGEwLDB4M2MsMHg0MCB9LAotICAxNiwgMHhkNjYwLCAwLCB7MHgwYywweDMwLDB4MDMsMHhjNCwweDIyLDB4ZDksMHgwMCwweDM4LDB4ZDQsMHgwZiwweDMwLDB4ODMsMHg2OCwweDQwLDB4ZjMsMHgwMCB9LAotICAxNiwgMHhkNjcwLCAwLCB7MHgzYywweDgwLDB4MGEsMHgzMiwweDAyLDB4OGMsMHgwMCwweGRiLDB4MDAsMHhhMiwweGM0LDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCB9LAotICAxNiwgMHhkNjgwLCAwLCB7MHhmMywweDAwLDB4M2MsMHhjMCwweDBmLDB4YjEsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNjkwLCAwLCB7MHg0MCwweDBkLDB4YjAsMHgwMCwweGZmLDB4MTAsMHgzZiwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGVkLDB4MDAsMHgzZiB9LAotICAxNiwgMHhkNmEwLCAwLCB7MHhjMCwweDBmLDB4MzAsMHgxMywweGJjLDB4NDAsMHg3ZiwweDEwLDB4M2YsMHhjMSwweDJkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmYiB9LAotICAxNiwgMHhkNmIwLCAwLCB7MHg0MCwweDNmLDB4YzIsMHgwZSwweGY0LDB4ODMsMHg3YywweDAwLDB4ZGYsMHgwMCwweDNmLDB4YzIsMHgwZiwweGYwLDB4MDMsMHg5MCB9LAotICAxNiwgMHhkNmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhkYiwweGEwLDB4MzIsMHhjMCB9LAotICAxNiwgMHhkNmQwLCAwLCB7MHgwZCwweGI3LDB4MDMsMHhlMCwweDAwLDB4Y2EsMHgwNCwweDNlLDB4ODAsMHgwZiwweGI4LDB4MDMsMHgyYywweDEwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHhkNmUwLCAwLCB7MHgzMywweDAwLDB4OGQsMHhiMCwweDAzLDB4MmMsMHg4MCwweGU5LDB4NDAsMHgzZSwweGQyLDB4MGYsMHhiNCwweDAzLDB4MmQsMHg4MCB9LAotICAxNiwgMHhkNmYwLCAwLCB7MHhlYiwweDIwLDB4YjIsMHhjMCwweDBmLDB4YjIsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNzAwLCAwLCB7MHg0OCwweDExLDB4OTAsMHgwMCwweGI3LDB4MTAsMHgxMSwweGMwLDB4MDgsMHg3MCwweDgyLDB4ZDgsMHgwYSwweDg3LDB4MDEsMHgyZCB9LAotICAxNiwgMHhkNzEwLCAwLCB7MHg4MCwweDg5LDB4NzAsMHgwMywweGQ4LDB4MDgsMHhiNywweDBhLDB4MjEsMHg0MCwweDJjLDB4NzAsMHgwMiwweDBkLDB4YzAsMHg4NSB9LAotICAxNiwgMHhkNzIwLCAwLCB7MHgwMSwweDc5LDB4YzgsMHgwYiwweDMyLDB4MDIsMHgwZCwweDIwLDB4OGYsMHgyOCwweDIxLDB4YzAsMHgwYiwweDcyLDB4ODIsMHhkMiB9LAotICAxNiwgMHhkNzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHg0MCwweDk2LDB4MTAsMHg5NywweDkwLDB4MjMsMHhlMCB9LAotICAxNiwgMHhkNzQwLCAwLCB7MHgwOSwweDdhLDB4MDIsMHhkNiwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZjAsMHgwYiwweDc4LDB4ODIsMHgxZSwweDAwLDB4YjMsMHhiMCB9LAotICAxNiwgMHhkNzUwLCAwLCB7MHgyMSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MWUsMHgwMCwweGE1LDB4ODAsMHgyZCwweGUwLDB4MGIsMHg3YSwweDAyLDB4MWUsMHg4MCB9LAotICAxNiwgMHhkNzYwLCAwLCB7MHhhNywweGIwLDB4MjEsMHhlOCwweDBiLDB4NzksMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNzcwLCAwLCB7MHg0OCwweDE0LDB4YzAsMHgwMCwweGIzLDB4MDAsMHgyMCwweGUyLDB4MDgsMHgzMCwweDAyLDB4YzYsMHg0MCwweDkzLDB4NzAsMHgyYyB9LAotICAxNiwgMHhkNzgwLCAwLCB7MHhjMCwweDA5LDB4M2MsMHgwMiwweDhlLDB4MDAsMHhiMywweDAwLDB4MjAsMHhkOCwweDA4LDB4MTgsMHgwMiwweDBjLDB4MDAsMHg4MSB9LAotICAxNiwgMHhkNzkwLCAwLCB7MHg5MCwweDJlLDB4YzAsMHgwYiwweDMwLDB4MmEsMHgyYywweDEwLDB4ODMsMHgwMCwweGEwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhkMiB9LAotICAxNiwgMHhkN2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxMSwweGI5LDB4MDAsMHhkYSwweDAyLDB4MzMsMHhiOCB9LAotICAxNiwgMHhkN2IwLCAwLCB7MHgwZCwweGEwLDB4MDMsMHhmOCwweDAwLDB4ZGUsMHhjMCwweDNmLDB4YjAsMHg0ZiwweGVjLDB4MDYsMHgzOCwweDQwLDB4ZmEsMHgwMCB9LAotICAxNiwgMHhkN2MwLCAwLCB7MHhiMywweDkwLDB4MGMsMHg2YywweDBiLDB4MjgsMHgwOCwweGVhLDB4MDEsMHg3ZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4MjgsMHgwMCB9LAotICAxNiwgMHhkN2QwLCAwLCB7MHhlYSwweDAwLDB4MzIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkN2UwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4NDAsMHgzYSwweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGU4LDB4MDIsMHgzZSB9LAotICAxNiwgMHhkN2YwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4NDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHhkODAwLCAwLCB7MHgwMCwweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhkODEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MjAsMHhmOSwweGMwLDB4M2UsMHg3MCB9LAotICAxNiwgMHhkODIwLCAwLCB7MHgwZSwweDkwLDB4MDIsMHhlNCwweDgwLDB4YzksMHgwMCwweDMyLDB4NDIsMHgwYywweDk4LDB4ODMsMHhhNCwweDg0LDB4ZjksMHgwMCB9LAotICAxNiwgMHhkODMwLCAwLCB7MHhiMiwweDYwLDB4MGMsMHg5MCwweDgzLDB4MjQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHgxYSwweDAyLDB4MjQsMHgwMCB9LAotICAxNiwgMHhkODQwLCAwLCB7MHhjMSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgwMSwweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODUwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgwMCwweGI5LDB4ODEsMHgyYywweDYwLDB4MGQsMHg5NCwweGMyLDB4YzcsMHgwOCwweDg5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhkODYwLCAwLCB7MHg0MCwweDA4LDB4OTUsMHhjNywweGE0LDB4MDAsMHhiOSwweDAwLDB4MjgsMHg3MCwweGE4LDB4OTQsMHgwYSwweDI0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhkODcwLCAwLCB7MHgwNCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MmEsMHgyNiwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhkODgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhiOSwweDQwLDB4MmUsMHg0MCB9LAotICAxNiwgMHhkODkwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHhlNSwweDAwLDB4ODEsMHgwMCwweGEwLDB4NDAsMHgwOSwweDkwLDB4NDIsMHhlYywweDAwLDB4YjEsMHgwMCB9LAotICAxNiwgMHhkOGEwLCAwLCB7MHgyMiwweDU4LDB4MDgsMHg5MCwweGEyLDB4MDQsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YTQsMHhhMCB9LAotICAxNiwgMHhkOGIwLCAwLCB7MHg4OSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOGMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyZSwweGMwLDB4ODksMHgxMiwweDAyLDB4YzQsMHg4MCwweDgxLDB4MjAsMHgyMCB9LAotICAxNiwgMHhkOGQwLCAwLCB7MHg0MCwweDYxLDB4MTAsMHg0MiwweGM1LDB4MDAsMHhiMSwweDIwLDB4MjgsMHg0OCwweDE4LDB4OTAsMHg0MiwweDA0LDB4ODAsMHg4MSB9LAotICAxNiwgMHhkOGUwLCAwLCB7MHgyOCwweDJjLDB4NDgsMHgwOCwweDEyLDB4ODIsMHg4NCwweGEwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwYiwweDEyLDB4ODIsMHhjMiB9LAotICAxNiwgMHhkOGYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY4LDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCB9LAotICAxNiwgMHhkOTAwLCAwLCB7MHgwZSwweDgwLDB4MDMsMHhlMCwweDA4LDB4YzgsMHg1MCwweDMyLDB4MTQsMHgwZCwweDgwLDB4MTcsMHhlOCwweDA0LDB4ZjgsMHg1MCB9LAotICAxNiwgMHhkOTEwLCAwLCB7MHgzMiwweDE0LDB4NGMsMHgwNSwweDBiLDB4MjEsMHg0MCwweGM4LDB4MjAsMHgzZSwweDAwLDB4MGMsMHg4NywweDAzLDB4YTEsMHhjMiB9LAotICAxNiwgMHhkOTIwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgxNCwweDhmLDB4ODIsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOTMwLCAwLCB7MHg5OCwweDFkLDB4ZjQsMHgwMCwweGYxLDB4MTAsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAyLDB4ZDQsMHg0MiwweGZkLDB4MTAsMHgzZiB9LAotICAxNiwgMHhkOTQwLCAwLCB7MHg1MSwweDBlLDB4NTQsMHgxMywweGI1LDB4MDAsMHhmOSwweDEwLDB4MzUsMHg0NCwweDJmLDB4ZDAsMHgwMywweGU0LDB4NTAsMHhmZCB9LAotICAxNiwgMHhkOTUwLCAwLCB7MHgyOCwweDNlLDB4NGUsMHgwZiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgzOCwweDNlLDB4NDQsMHgwZiwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHhkOTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgxNSwweGY0LDB4MDAsMHhmZCwweDAwLDB4M2QsMHg0MCB9LAotICAxNiwgMHhkOTcwLCAwLCB7MHgyYywweGQwLDB4MDMsMHhiNiwweDAwLDB4ZjksMHg4MiwweDNlLDB4NDAsMHgwYywweGQwLDB4MDMsMHhmNCwweDAwLDB4ZjksMHg4MCB9LAotICAxNiwgMHhkOTgwLCAwLCB7MHgzMywweDcwLDB4MGMsMHg1MCwweDAzLDB4MzQsMHgwMCwweGM5LDB4YzAsMHgzZSwweDQwLDB4MGMsMHhkYSwweDAzLDB4MTYsMHg4MCB9LAotICAxNiwgMHhkOTkwLCAwLCB7MHhjOSwweDQwLDB4M2UsMHg2MiwweDJjLDB4OTgsMHg4MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOWEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MDgsMHg4MCwweDAyLDB4MjgsMHgwMCwweGI4LDB4NTAsMHgyNiB9LAotICAxNiwgMHhkOWIwLCAwLCB7MHgwMCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiOCwweDAwLDB4MmEsMHgzNCwweDJhLDB4YWEsMHgwYSwweDIwLDB4MDAsMHg4OCB9LAotICAxNiwgMHhkOWMwLCAwLCB7MHhjMCwweDJlLDB4MmEsMHgwOCwweDgwLDB4MjIsMHgyMSwweDAwLDB4YTgsMHg4MCwweDJlLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwZSB9LAotICAxNiwgMHhkOWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDAsMHhiMSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHhkOWUwLCAwLCB7MHg0OCwweDEwLDB4MDYsMHg4ZCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHg0MCB9LAotICAxNiwgMHhkOWYwLCAwLCB7MHgyYywweDQ4LDB4MDgsMHgxMCwweDgyLDB4NDQsMHgwMCwweDgxLDB4NjAsMHgyYywweDQwLDB4MjgsMHgxNCwweDBhLDB4MDQsMHg0MCB9LAotICAxNiwgMHhkYTAwLCAwLCB7MHg4MSwweDIwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYTEwLCAwLCB7MHgxOCwweDA1LDB4YTQsMHg0MCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHhiMCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MjgsMHgyZSB9LAotICAxNiwgMHhkYTIwLCAwLCB7MHg1MCwweDA4LDB4OTAsMHgyMiwweGU0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg2MCwweDBiLDB4MTIsMHg0MiwweDY0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhkYTMwLCAwLCB7MHgwMCwweDJjLDB4NDAsMHgwOSwweDkwLDB4MDIsMHgyNCwweDAwLDB4YTksMHgwMCwweDJjLDB4NDAsMHgwOCwweDEwLDB4MDIsMHg0NiB9LAotICAxNiwgMHhkYTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU2LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MiB9LAotICAxNiwgMHhkYTUwLCAwLCB7MHgwYywweDkwLDB4MDMsMHhhNywweDQwLDB4ZjksMHg0MCwweDNlLDB4NzAsMHgwYywweDk4LDB4MDIsMHhlNSwweDQwLDB4ZjksMHgwMCB9LAotICAxNiwgMHhkYTYwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5OCwweDAzLDB4NjQsMHgwNiwweGM5LDB4MDEsMHgyZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCB9LAotICAxNiwgMHhkYTcwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYTgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDgzLDB4ZTYsMHgxMCwweGY5LDB4MDAsMHgzNiB9LAotICAxNiwgMHhkYTkwLCAwLCB7MHg2OCwweDBmLDB4OWMsMHgwMywweGU2LDB4MDAsMHhmOSwweDAwLDB4M2EsMHg0MCwweDBlLDB4OTgsMHg5MywweGE0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhkYWEwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4ODMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9LAotICAxNiwgMHhkYWIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwMCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwNCB9LAotICAxNiwgMHhkYWMwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMSwweDAyLDB4YzgsMHg0MCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMSwweDAwLDB4ZjAsMHgwMCB9LAotICAxNiwgMHhkYWQwLCAwLCB7MHgzZSwweDAyLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCB9LAotICAxNiwgMHhkYWUwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYWYwLCAwLCB7MHgyOCwweDE1LDB4M2EsMHgwMCwweGJlLDB4MDIsMHgyZiwweGIwLDB4MDgsMHg2OCwweDEyLDB4MzgsMHgwMCwweDhhLDB4MDQsMHgyYSB9LAotICAxNiwgMHhkYjAwLCAwLCB7MHg4MCwweDBiLDB4ZTAsMHg0MiwweGZiLDB4MjAsMHhiYSwweDAwLDB4MmYsMHg5MSwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDAsMHhiYSB9LAotICAxNiwgMHhkYjEwLCAwLCB7MHgwMCwweDI2LDB4ODAsMHgwOCwweGVlLDB4MGEsMHgzOCwweDAwLDB4OGEsMHgwMCwweDIyLDB4ODAsMHgwYiwweGEwLDB4MDIsMHg4YSB9LAotICAxNiwgMHhkYjIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQyLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMiB9LAotICAxNiwgMHhkYjMwLCAwLCB7MHgyOCwweDM4LDB4MGEsMHg0OCwweDAwLDB4ODMsMHgwNCwweDIyLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjZCwweDgwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhkYjQwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHgxYywweDAyLDB4MjQsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzNCwweDEyLDB4MGUsMHg0MCB9LAotICAxNiwgMHhkYjUwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgxMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYjYwLCAwLCB7MHhhMCwweDAxLDB4MTEsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwLDB4MDgsMHg3MCwweGEyLDB4NGUsMHgwMCwweDhmLDB4YjAsMHgyMSB9LAotICAxNiwgMHhkYjcwLCAwLCB7MHhjYywweDBiLDB4NjAsMHgxMiwweGRjLDB4MTAsMHhiNywweDMwLDB4MmQsMHhjMCwweDA4LDB4ZDAsMHg4MiwweDE0LDB4ODAsMHhiNyB9LAotICAxNiwgMHhkYjgwLCAwLCB7MHgxMiwweDI1LDB4YzgsMHgyOCwweDYwLDB4MDIsMHgxNCwweDAwLDB4ODcsMHhiMiwweDIxLDB4Y2MsMHgwYiwweDMxLDB4MDIsMHhhOCB9LAotICAxNiwgMHhkYjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhmNywweDgwLDB4M2QsMHhlMCB9LAotICAxNiwgMHhkYmEwLCAwLCB7MHgwYywweDM4LDB4MDMsMHg1NiwweDAwLDB4YzcsMHg5MCwweGIxLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHhkZSwweDAwLDB4ZjcsMHg5MCB9LAotICAxNiwgMHhkYmIwLCAwLCB7MHgxZiwweDYwLDB4MmMsMHg0OCwweDBiLDB4MTYsMHhhMCwweGY3LDB4ODAsMHgzYywweGY0LDB4MGMsMHgzOCwweDAzLDB4MWUsMHgwMCB9LAotICAxNiwgMHhkYmMwLCAwLCB7MHhjZiwweGEwLDB4YjEsMHhlOCwweDBmLDB4N2IsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYmQwLCAwLCB7MHgwOCwweDBkLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4YWMsMHgwMCwweGYzLDB4MjEsMHgzZSB9LAotICAxNiwgMHhkYmUwLCAwLCB7MHhjOCwweDA3LDB4YjAsMHgwMiwweGU0LDB4MDAsMHhmYiwweDIwLDB4M2YsMHg0MCwweDBmLDB4ODAsMHgwMywweGU0LDB4ODAsMHhmYiB9LAotICAxNiwgMHhkYmYwLCAwLCB7MHgwMCwweDM2LDB4ZDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDA4LDB4ZmIsMHg0MiwweDNlLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhkYzAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGYwLDB4ODAsMHhjZiwweDgwLDB4MzEsMHhlMSB9LAotICAxNiwgMHhkYzEwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhkYSwweDEwLDB4ZWYsMHg4MCwweDNmLDB4ZTQsMHgwZiwweGQ4LDB4MDMsMHhmZSwweDEwLDB4ZmYsMHg4MiB9LAotICAxNiwgMHhkYzIwLCAwLCB7MHgzZiwweGUwLDB4NGMsMHhkOCwweDFiLDB4MTYsMHgyMCwweGNmLDB4ODAsMHgzZiwweGUwLDB4NGMsMHhkOCwweDMwLDB4ZWUsMHg0MCB9LAotICAxNiwgMHhkYzMwLCAwLCB7MHhmZiwweGMwLDB4YjMsMHhmNCwweDBmLDB4ZjgsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYzQwLCAwLCB7MHhhOCwweDAxLDB4OTgsMHgyMCwweDgzLDB4NDAsMHgyMSwweGMwLDB4MDgsMHg3MSwweDAyLDB4ZGMsMHg4NCwweDg3LDB4MjAsMHgyZCB9LAotICAxNiwgMHhkYzUwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGQ5LDB4NjAsMHhmNywweDAwLDB4MmQsMHhjMCwweDA4LDB4ZjAsMHg4MiwweDE0LDB4MDQsMHg4NyB9LAotICAxNiwgMHhkYzYwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwOCwweGYwLDB4MDMsMHgxZSwweDAwLDB4YjcsMHgyMCwweDIxLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhlYSB9LAotICAxNiwgMHhkYzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGIwLDB4MDAsMHg4NywweDAwLDB4MjEsMHg4MCB9LAotICAxNiwgMHhkYzgwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhmNSwweDA0LDB4MjcsMHgwMCwweDJkLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCB9LAotICAxNiwgMHhkYzkwLCAwLCB7MHgyYywweDUwLDB4MDgsMHg0MCwweDAyLDB4MTQsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg1MCwweDAyLDB4NWMsMHgwNCB9LAotICAxNiwgMHhkY2EwLCAwLCB7MHhiNywweDAwLDB4YTEsMHhjMCwweDhiLDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkY2IwLCAwLCB7MHgyMCwweDE0LDB4YzgsMHgwMCwweDgwLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4YzAsMHgyYyB9LAotICAxNiwgMHhkY2MwLCAwLCB7MHhkMCwweDRiLDB4MzAsMHgwMiwweGNlLDB4MDAsMHhhYiwweDAyLDB4MmMsMHg0MCwweDQ4LDB4YmMsMHgwMiwweDA0LDB4MDAsMHg4MyB9LAotICAxNiwgMHhkY2QwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHgwOCwweDEwLDB4MDIsMHgwMCwweDA4LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgwOSwweDMwLDB4MDIsMHhjOCB9LAotICAxNiwgMHhkY2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDgzLDB4NDAsMHhjOCwweDAwLDB4MzAsMHhjMCB9LAotICAxNiwgMHhkY2YwLCAwLCB7MHgyYywweGIwLDB4MDMsMHhlYywweDAwLDB4ZWYsMHg4OCwweDNmLDB4ZTYsMHgwNywweGIxLDB4ODMsMHhlMSwweDAwLDB4YmYsMHgwMCB9LAotICAxNiwgMHhkZDAwLCAwLCB7MHgzZSwweGUwLDB4MGMsMHhiOCwweDAzLDB4MzQsMHgwMCwweGNmLDB4MDAsMHgzZiwweGMwLDB4MmMsMHhiMCwweDAzLDB4NjgsMHgxMCB9LAotICAxNiwgMHhkZDEwLCAwLCB7MHhmZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZDIwLCAwLCB7MHg4MCwweDAwLDB4ZTQsMHgwMCwweGYxLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiNCwweDAzLDB4ZWQsMHg0MCwweGZiLDB4MDgsMHgzZSB9LAotICAxNiwgMHhkZDMwLCAwLCB7MHhjMCwweDBmLDB4YTAsMHgwMywweGU1LDB4MjAsMHhmYiwweDAwLDB4M2UsMHhlMCwweDBkLDB4YjAsMHg4MywweGU0LDB4MDAsMHhmMyB9LAotICAxNiwgMHhkZDQwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhjNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhkZDUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjYSwweDAwLDB4MzMsMHhlMCB9LAotICAxNiwgMHhkZDYwLCAwLCB7MHg0ZSwweGYwLDB4MDMsMHgzNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGU4LDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCB9LAotICAxNiwgMHhkZDcwLCAwLCB7MHhiMSwweDQwLDB4MGMsMHhlMCwweDAzLDB4MzQsMHgwMCwweGVmLDB4MDAsMHhiMywweGMwLDB4MGMsMHhmMCwweDAzLDB4MzgsMHgwMCB9LAotICAxNiwgMHhkZDgwLCAwLCB7MHhjZiwweDAwLDB4M2QsMHhjMCwweDBhLDB4ZjAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZDkwLCAwLCB7MHg4MSwweDA0LDB4NjIsMHgyMiwweDg4LDB4OTAsMHgyMiwweGUwLDB4MDgsMHgzYywweDAyLDB4MmUsMHgwOCwweGJiLDB4MDEsMHgyZSB9LAotICAxNiwgMHhkZGEwLCAwLCB7MHhjMCwweDBiLDB4YTAsMHgwMiwweDY2LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhhMCwweDA4LDB4YTksMHgwMiwweDI0LDB4MDAsMHhiYiB9LAotICAxNiwgMHhkZGIwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgyOCwweDJjLDB4MDIsMHhhMiwweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhhMCB9LAotICAxNiwgMHhkZGMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIyLDB4MDAsMHg5OCwweDAwLDB4MjIsMHhjOCB9LAotICAxNiwgMHhkZGQwLCAwLCB7MHgwYSwweDk4LDB4MDIsMHgyNywweDA0LDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIxLDB4MDIsMHhlMiwweDAwLDB4YmIsMHgwMCB9LAotICAxNiwgMHhkZGUwLCAwLCB7MHgyMiwweGUyLDB4MDgsMHhiMCwweDAyLDB4YTQsMHgwMCwweGFiLDB4MDAsMHgyMCwweGMwLDB4MGEsMHg4OCwweDgyLDB4MjMsMHgwMCB9LAotICAxNiwgMHhkZGYwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTAwLCAwLCB7MHgwOCwweDE0LDB4MDQsMHgwMCwweDkxLDB4NDAsMHgyMiwweGMwLDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyYyB9LAotICAxNiwgMHhkZTEwLCAwLCB7MHhjMCwweDRiLDB4MjgsMHgyMiwweDQwLDB4MDQsMHhiMywweDAwLDB4MjAsMHhjMCwweDI4LDB4MzAsMHgwYSwweDA0LDB4MDQsMHhiMyB9LAotICAxNiwgMHhkZTIwLCAwLCB7MHgwMCwweDYwLDB4YzAsMHgwOCwweDAwLDB4MDIsMHg4NCwweDIwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDMwLDB4MDIsMHg4MiB9LAotICAxNiwgMHhkZTMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDYwLDB4MDAsMHhkYSwweDQwLDB4YjIsMHg4MCB9LAotICAxNiwgMHhkZTQwLCAwLCB7MHgwZSwweDkwLDB4MDMsMHgyNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZiwweGEwLDB4MDMsMHhlMCwweDA5LDB4ZmYsMHgwMCB9LAotICAxNiwgMHhkZTUwLCAwLCB7MHgzMiwweDQwLDB4MDgsMHhhMCwweDBiLDB4MzQsMHgwMCwweGViLDB4MDAsMHgzMSwweGMwLDB4MGMsMHg4MCwweDAzLDB4MjgsMHg4MCB9LAotICAxNiwgMHhkZTYwLCAwLCB7MHhjNywweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTcwLCAwLCB7MHhhMCwweDE1LDB4ZDAsMHgwMCwweGVjLDB4MjAsMHgzZiwweDAwLDB4MGYsMHhjMCwweDBiLDB4ZmMsMHgxMCwweGZmLDB4MDEsMHgzZiB9LAotICAxNiwgMHhkZTgwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHgwMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGY0LDB4MDAsMHhmZiB9LAotICAxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg0ZiwweGMwLDB4MDEsMHhmMCwweDA4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhkZWEwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjYywweDkwLDB4MzcsMHgyMCB9LAotICAxNiwgMHhkZWIwLCAwLCB7MHgwZSwweGYwLDB4MTMsMHhiZCwweDA0LDB4ZDQsMHhjMSwweDMzLDB4MmMsMHg0YywweGQ5LDB4MjMsMHgzMiwweDYwLDB4ZmYsMHgyMCB9LAotICAxNiwgMHhkZWMwLCAwLCB7MHgzZCwweGUwLDB4NGYsMHhjMSwweDAzLDB4YjYsMHg0MCwweGNkLDB4MDAsMHgzNywweGUwLDB4MGMsMHhlMiwweDhiLDB4MTAsMHhjMCB9LAotICAxNiwgMHhkZWQwLCAwLCB7MHhjZCwweDAwLDB4MzMsMHhjNiwweDBmLDB4ZDgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZWUwLCAwLCB7MHg4MCwweDEwLDB4ZWUsMHgwOCwweDhhLDB4MjAsMHgyMiwweDAwLDB4MDgsMHhiNywweDAyLDB4MmQsMHgwMCwweDhhLDB4MDAsMHhiNiB9LAotICAxNiwgMHhkZWYwLCAwLCB7MHgzYywweDA4LDB4OTksMHgwMiwweDI3LDB4ODQsMHhiZiwweDY4LDB4MmUsMHg4MiwweDBiLDB4MDEsMHgwMiwweDI0LDB4NDAsMHhkOSB9LAotICAxNiwgMHhkZjAwLCAwLCB7MHg0MiwweDIwLDB4YzAsMHg4YSwweGFjLDB4MDIsMHgyZCwweGMyLDB4ODIsMHg0OCwweGEyLDB4ZDAsMHgwYiwweDgyLDB4MDIsMHgyMCB9LAotICAxNiwgMHhkZjEwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg4OCwweDA0LDB4MjYsMHg4MCB9LAotICAxNiwgMHhkZjIwLCAwLCB7MHgyYSwweDMwLDB4YzIsMHhhNSwweDgwLDB4YTksMHgyMSwweDI4LDB4MDAsMHg4YSwweDAwLDB4MDIsMHgwMCwweDAwLDB4YTMsMHgxMCB9LAotICAxNiwgMHhkZjMwLCAwLCB7MHgyYywweGM4LDB4MGIsMHgwMCwweDAyLDB4YzQsMHg5MCwweDgzLDB4NDIsMHgyNCwweGMxLDB4MDgsMHgwMCwweDAyLDB4NDAsMHg4OCB9LAotICAxNiwgMHhkZjQwLCAwLCB7MHhhMywweDYwLDB4YTgsMHhjMCwweDBiLDB4MDAsMHhjMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZjUwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwNiwweDhhLDB4MDAsMHgyMiwweGUwLDB4NDgsMHhiMCwweDAyLDB4MmUsMHgwMiwweGFiLDB4ODAsMHgyZSB9LAotICAxNiwgMHhkZjYwLCAwLCB7MHgyMCwweDRhLDB4OGMsMHgwMiwweDI2LDB4MjAsMHhiYiwweDAwLDB4NmUsMHg4MCwweDBiLDB4MzAsMHhjMiwweDQ2LDB4MDQsMHg5YiB9LAotICAxNiwgMHhkZjcwLCAwLCB7MHgwYSwweGEyLDB4YzAsMHgwYSwweDgwLDB4MTIsMHg2YywweDQwLDB4YTgsMHgwMCwweDJhLDB4YzAsMHgwYiwweDhjLDB4MDIsMHgzMCB9LAotICAxNiwgMHhkZjgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjMSwweDA5LDB4MzYsMHg2MSB9LAotICAxNiwgMHhkZjkwLCAwLCB7MHgwZSwweDMyLDB4MDMsMHhhYiwweDIwLDB4ZjgsMHg4NCwweDNhLDB4NzgsMHgyZSwweDk4LDB4MDMsMHgyNiwweDAwLDB4ZWIsMHgwMCB9LAotICAxNiwgMHhkZmEwLCAwLCB7MHgzZSwweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTIsMHgwMCwweGM5LDB4NDAsMHgzNiwweGUwLDB4MGMsMHhiNCwweDAzLDB4NmUsMHgwMCB9LAotICAxNiwgMHhkZmIwLCAwLCB7MHhlYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4ODgsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZmMwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmYSwweDEzLDB4ZjgsMHgxMCwweGRjLDB4MDQsMHgyNyB9LAotICAxNiwgMHhkZmQwLCAwLCB7MHg0MCwweDBkLDB4NTAsMHg0MywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDksMHgwMywweGIwLDB4MDAsMHhmOSB9LAotICAxNiwgMHhkZmUwLCAwLCB7MHgwMSwweDNmLDB4ZjAsMHgwZiwweGYwLDB4MjMsMHhiMiwweDAwLDB4ZDQsMHhhMCwweDM3LDB4YzAsMHgwZiwweGMwLDB4MGIsMHhmOCB9LAotICAxNiwgMHhkZmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MjAsMHhlYiwweDEwLDB4ZjIsMHgwMCB9LAotICAxNiwgMHhlMDAwLCAwLCB7MHgwZSwweGI0LDB4MDMsMHgyMSwweDgwLDB4YzksMHg0MCwweDNhLDB4NDgsMHgwZiwweDkwLDB4MTMsMHhlMSwweDIwLDB4ZmIsMHgwMCB9LAotICAxNiwgMHhlMDEwLCAwLCB7MHgzZSwweGMwLDB4MGMsMHg4NCwweDAzLDB4MjQsMHgwMCwweGZiLDB4MDEsMHgzNiwweGUwLDB4MGMsMHg3NCwweDBiLDB4OWMsMHgwMCB9LAotICAxNiwgMHhlMDIwLCAwLCB7MHhjZiwweDAwLDB4MzIsMHhlMCwweDBmLDB4ODQsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMDMwLCAwLCB7MHhjOCwweDA1LDB4MWUsMHgwMCwweDhiLDB4ODAsMHgyMCwweDQwLDB4MDgsMHhiOCwweDAyLDB4ODMsMHg4MCwweDgxLDB4YTAsMHgyMiB9LAotICAxNiwgMHhlMDQwLCAwLCB7MHg3OCwweDBiLDB4OTEsMHg4MywweGUzLDB4MDAsMHhiZiwweDAwLDB4MGUsMHhjMSwweDBhLDB4YjQsMHgwMywweDY0LDB4MDQsMHhiOSB9LAotICAxNiwgMHhlMDUwLCAwLCB7MHg1MCwweDMyLDB4YzAsMHgwYSwweGIyLDB4MDIsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIzLDB4ZDQsMHgwYiwweDg4LDB4MDIsMHhmMiB9LAotICAxNiwgMHhlMDYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4NDIsMHhhMCwweDgwLDB4MjAsMHgwMCB9LAotICAxNiwgMHhlMDcwLCAwLCB7MHg0OCwweDAwLDB4MDIsMHgwZCwweDA2LDB4ODAsMHg4MCwweDJhLDB4ZDAsMHgwMywweDAwLDB4MDIsMHhjOCwweDAwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhlMDgwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgzNiwweDAyLDB4NDAsMHgwMCwweGI5LDB4MDIsMHgyMiwweGMyLDB4OGIsMHgyNiwweDAyLDB4MGMsMHgxMCB9LAotICAxNiwgMHhlMDkwLCAwLCB7MHgwMSwweDAyLDB4MjQsMHhjMCwweDRiLDB4YTEsMHgwMiwweGY4LDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwOCwweDhlLDB4ODAsMHgyMSwweDIxLDB4MDgsMHgyOCwweGMyLDB4OWUsMHgwMCwweDhlLDB4ODAsMHgyMSB9LAotICAxNiwgMHhlMGIwLCAwLCB7MHg2MCwweDBiLDB4NzgsMHgwMiwweDllLDB4MjAsMHhiNywweDgyLDB4MmYsMHhhMSwweDBhLDB4NzgsMHgwMiwweDVlLDB4MDAsMHhiNSB9LAotICAxNiwgMHhlMGMwLCAwLCB7MHg5MSwweGExLDB4ZTAsMHgwYiwweDI5LDB4MDIsMHgzMiwweDQ0LDB4ODYsMHg4MCwweGE1LDB4ZTAsMHgwYiwweDRjLDB4MDIsMHhjOCB9LAotICAxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhlMSwweDAwLDB4MjIsMHg4MCB9LAotICAxNiwgMHhlMGUwLCAwLCB7MHgwZSwweDAwLDB4MGIsMHgyNCwweDAwLDB4YzAsMHg0NCwweDI4LDB4YWQsMHgwZiwweDIwLDB4MDIsMHhjOCwweDAwLDB4ZjMsMHgwMCB9LAotICAxNiwgMHhlMGYwLCAwLCB7MHgxYywweGMwLDB4MGMsMHgwMSwweDAzLDB4NDgsMHg0YywweGYyLDB4MDQsMHgzMCwweGMwLDB4MGYsMHgxNSwweDAzLDB4ODAsMHg0MCB9LAotICAxNiwgMHhlMTAwLCAwLCB7MHhjMSwweDAwLDB4MTQsMHhjOCwweDBmLDB4MDAsMHgwMywweGRhLDB4MDIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTEwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHg0MCwweGY3LDB4MDAsMHgzZiwweGMwLDB4OGYsMHhjMCwweDAzLDB4ZTQsMHgwMCwweGZhLDB4MDEsMHgzZiB9LAotICAxNiwgMHhlMTIwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDgsMHhmYiwweDAwLDB4M2YsMHg4MCwweDBmLDB4ZjAsMHgwMSwweGZjLDB4MTAsMHhmZiB9LAotICAxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZSwweGQxLDB4MDMsMHhmYywweDQyLDB4ZmUsMHg4MCwweDNiLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhlMTQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4NDAsMHhjOCwweDAwLDB4M2UsMHhjMCB9LAotICAxNiwgMHhlMTUwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlZSwweDA4LDB4Y2IsMHgwMCwweDMyLDB4YzAsMHgwZiwweGEwLDB4MjMsMHhlNiwweDAzLDB4Y2IsMHg0YyB9LAotICAxNiwgMHhlMTYwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHhiMCwweDA3LDB4ZTgsMHgwMCwweGY5LDB4MDAsMHgxNiwweDQwLDB4MGMsMHhhMCwweDBiLDB4NmMsMHgwMCB9LAotICAxNiwgMHhlMTcwLCAwLCB7MHhjZiwweDAyLDB4MzIsMHhjNSwweDBjLDB4ODAsMHgwMywweDAyLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHg4MCwweDg0LDB4MDQsMHgyZCwweGMxLDB4MGIsMHg0MCwweDQwLDB4ZGMsMHgwMCwweDg3LDB4MDQsMHgyMSB9LAotICAxNiwgMHhlMTkwLCAwLCB7MHhjMCwweDRiLDB4NzAsMHgxMiwweGZjLDB4MDEsMHg4ZiwweDYwLDB4MjksMHg0MCwweDBiLDB4NzAsMHgxMywweDljLDB4MDAsMHhiNSB9LAotICAxNiwgMHhlMWEwLCAwLCB7MHgwMCwweGEzLDB4NDAsMHgwYSwweDYwLDB4MDIsMHgwMCwweDAwLDB4ODQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDQwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhlMWIwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg4NywweDgwLDB4MmQsMHhhMiB9LAotICAxNiwgMHhlMWMwLCAwLCB7MHgwYiwweDRjLDB4MTYsMHhkNiwweDA4LDB4OTcsMHg4OCwweDIxLDB4YTAsMHg0YiwweDY4LDB4MDIsMHhkZSwweDA0LDB4YTcsMHg4MCB9LAotICAxNiwgMHhlMWQwLCAwLCB7MHgyMSwweGUwLDB4MGIsMHg0OCwweDAyLDB4ZGEsMHgwNCwweGI2LDB4ODIsMHgyNSwweDYwLDB4MGEsMHhlOCwweDYyLDB4MWUsMHgwMCB9LAotICAxNiwgMHhlMWUwLCAwLCB7MHg4NywweDgwLDB4MjAsMHhlOCwweDA4LDB4NDgsMHgwMiwweDA4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDhiLDB4ODAsMHg2YywweGYwLDB4MGIsMHgzYywweDAyLDB4Y2UsMHg0NiwweDliLDB4YzAsMHgyMCB9LAotICAxNiwgMHhlMjAwLCAwLCB7MHhlNCwweDBiLDB4M2MsMHgwMiwweGNjLDB4MjAsMHhhMywweDAwLDB4MjgsMHhlMCwweDBiLDB4MzAsMHgwMiwweDhkLDB4ODAsMHhiMSB9LAotICAxNiwgMHhlMjEwLCAwLCB7MHg4MCwweDIyLDB4NDQsMHgwYSwweDIxLDB4MGEsMHgwMywweDgyLDB4ODAsMHg4MCwweGEwLDB4YzAsMHgwOCwweDA2LDB4MGEsMHgxMiB9LAotICAxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDIsMHhjZSwweDgwLDB4M2YsMHhhMCB9LAotICAxNiwgMHhlMjMwLCAwLCB7MHgwZiwweGUwLDB4MDMsMHhmYSwweDQwLDB4ZGUsMHhjMCwweGIzLDB4OTAsMHgwZiwweGVhLDB4MTMsMHhmOSwweDA4LDB4ZWEsMHgwNCB9LAotICAxNiwgMHhlMjQwLCAwLCB7MHgzMywweDgyLDB4OGYsMHhlNCwweDAzLDB4ZmIsMHgwOCwweGZlLDB4YTAsMHgzNiwweGEwLDB4MGMsMHhhYywweDBiLDB4NmIsMHg4MiB9LAotICAxNiwgMHhlMjUwLCAwLCB7MHhjNiwweGEwLDB4MzIsMHg4MCwweDJjLDB4ZTQsMHgwMywweDNhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4OTAsMHgzZSwweDAyLDB4MGYsMHg4MCwweDgzLDB4ZTEsMHgwMCwweGU4LDB4MjAsMHgzZSB9LAotICAxNiwgMHhlMjcwLCAwLCB7MHgwMywweDBmLDB4ODIsMHgwMywweGUxLDB4NDAsMHhkOCwweDAwLDB4M2UsMHgyMCwweDBmLDB4MDAsMHg5MywweGEwLDB4NDAsMHhmOCB9LAotICAxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDNlLDB4MTAsMHg4ZiwweDA4LDB4MGIsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhlMjkwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhlMmEwLCAwLCB7MHgwZiwweDk0LDB4MDcsMHhlNiwweDAwLDB4ZjksMHg4MCwweGIwLDB4NDAsMHgwYywweDk0LDB4MDMsMHhlNCwweDQwLDB4ZjksMHgwMCB9LAotICAxNiwgMHhlMmIwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5NCwweDBiLDB4YTQsMHgwMCwweDcxLDB4YzAsMHgzMiwweDQwLDB4MmMsMHg5NCwweDIzLDB4MjQsMHgwMiB9LAotICAxNiwgMHhlMmMwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmQwLCAwLCB7MHg4MCwweDA0LDB4NDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5OCwweDAyLDB4ZTYsMHg2MCwweGI5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhlMmUwLCAwLCB7MHg2MCwweDBhLDB4OWMsMHgwMiwweGU2LDB4MjQsMHhiOSwweDA0LDB4MzYsMHg0MCwweDBiLDB4OTgsMHgwMCwweDI0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhlMmYwLCAwLCB7MHg4MCwweGEyLDB4NTIsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHg0MCwweDIyLDB4NDAsMHg2OCwweDk0LDB4MDIsMHgyMCB9LAotICAxNiwgMHhlMzAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDAsMHhhOSwweDAwLDB4MjYsMHg0MCB9LAotICAxNiwgMHhlMzEwLCAwLCB7MHgwMywweDk0LDB4MDIsMHhlNCwweDAxLDB4YjksMHgxMCwweDIyLDB4NTUsMHgwOCwweDkwLDB4MjIsMHhlNCwweDAwLDB4YjEsMHgwMCB9LAotICAxNiwgMHhlMzIwLCAwLCB7MHgyNiwweDQwLDB4MGIsMHg5MCwweDAwLDB4MmMsMHgwOSwweGI5LDB4MDAsMHgyMiwweDYwLDB4MDgsMHg5MCwweDBhLDB4MWMsMHgwNCB9LAotICAxNiwgMHhlMzMwLCAwLCB7MHg4ZCwweDA4LDB4YTAsMHg0MCwweDA4LDB4MTAsMHg4MiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzQwLCAwLCB7MHgwOCwweDA0LDB4MDYsMHgwMCwweDgxLDB4MDAsMHgyMCwweDUwLDB4MGIsMHgxMiwweDQyLDB4YzQsMHg4MCwweGIxLDB4MDQsMHgyMCB9LAotICAxNiwgMHhlMzUwLCAwLCB7MHg1MCwweDBhLDB4MTQsMHgwMiwweGM1LDB4MDAsMHhiMSwweDIyLDB4MjQsMHg0MCwweDBiLDB4MTIsMHgyMiwweDA0LDB4MDEsMHhiMSB9LAotICAxNiwgMHhlMzYwLCAwLCB7MHg0MCwweDIwLDB4NTAsMHgwOCwweDEwLDB4MGEsMHgxNSwweDAwLDB4ODUsMHg0MCwweDI4LDB4NTAsMHgwOCwweDE0LDB4MGEsMHgwYSB9LAotICAxNiwgMHhlMzcwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhlOCwweDUwLDB4MzYsMHgwMCB9LAotICAxNiwgMHhlMzgwLCAwLCB7MHgwZiwweDg1LDB4MDIsMHhlMSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwYywweGEwLDB4MjMsMHhlMCwweDEwLDB4ZjgsMHg1MCB9LAotICAxNiwgMHhlMzkwLCAwLCB7MHhiMiwweDE0LDB4MGYsMHhhNSwweDAzLDB4YTEsMHg0OCwweGZhLDB4MDAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwNCB9LAotICAxNiwgMHhlM2EwLCAwLCB7MHhjNCwweDAyLDB4MzIsMHgwMCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2IwLCAwLCB7MHg5OCwweDFkLDB4ZTUsMHgwMCwweGZkLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkMSwweDAzLDB4ZDQsMHg0NCwweGY1LDB4MDAsMHgzZiB9LAotICAxNiwgMHhlM2MwLCAwLCB7MHg1MSwweDBmLDB4ZDQsMHgwMywweGY1LDB4MDAsMHhmOSwweDEwLDB4M2IsMHg0MCwweDBmLDB4ZDEsMHgwMCwweGY1LDB4MTAsMHhmNSB9LAotICAxNiwgMHhlM2QwLCAwLCB7MHg0MCwweDdmLDB4NDAsMHgwZiwweDU0LDB4MmIsMHhlNSwweDAwLDB4ZjksMHg0MCwweDM2LDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNiB9LAotICAxNiwgMHhlM2UwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MTAsMHhiZCwweDQwLDB4MzMsMHg0MCB9LAotICAxNiwgMHhlM2YwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgzNywweDgwLDB4Y2QsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhmNCwweDAwLDB4ZTksMHhhMCB9LAotICAxNiwgMHhlNDAwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHhkZSwweDE3LDB4YTQsMHgwOCwweGZkLDB4YzAsMHgzMywweDQxLDB4OGQsMHhkYSwweDEzLDB4MjYsMHhhMCB9LAotICAxNiwgMHhlNDEwLCAwLCB7MHhmOSwweGE4LDB4MzIsMHg3OCwweDBjLDB4YjQsMHgwYiwweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDIwLCAwLCB7MHgzOCwweDEwLDB4ZTEsMHgwMCwweGI4LDB4YTAsMHgzNiwweDIwLDB4MGIsMHg4YSwweDgyLDB4YTIsMHg4MCwweDJhLDB4YTgsMHgyZSB9LAotICAxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDBiLDB4ODAsMHgxMiwweGUwLDB4MDQsMHhiOCwweGExLDB4MmUsMHgyOCwweDRhLDB4OGUsMHgwMiwweDJhLDB4YTAsMHhiYSB9LAotICAxNiwgMHhlNDQwLCAwLCB7MHhjMCwweDIyLDB4MjgsMHgwOCwweDg1LDB4MDIsMHgyMSwweDA4LDB4YjgsMHhlOCwweGEyLDB4M2MsMHgwOCwweGM4LDB4MDIsMHgwZSB9LAotICAxNiwgMHhlNDUwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM1LDB4MDAsMHhiOSwweDAwLDB4MjAsMHg0YSB9LAotICAxNiwgMHhlNDYwLCAwLCB7MHgwYiwweDE0LDB4MDIsMHgwNSwweDgwLDB4MDEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEwLDB4MDIsMHhjNCwweDA0LDB4YTEsMHg0YSB9LAotICAxNiwgMHhlNDcwLCAwLCB7MHgyZSwweDQyLDB4MDgsMHgxNCwweDAyLDB4ODQsMHgxMCwweGIxLDB4NjAsMHhhMCwweDRhLDB4MDksMHgxMCwweDAyLDB4NDQsMHgwMCB9LAotICAxNiwgMHhlNDgwLCAwLCB7MHhiNSwweDAxLDB4MjksMHg0MCwweDE4LDB4ZDIsMHgwMiwweDEyLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MjEsMHgyNiwweDQwLDB4MGIsMHg5NiwweDAyLDB4YTQsMHgxMCwweGE5LDB4MDAsMHgyZSB9LAotICAxNiwgMHhlNGEwLCAwLCB7MHg0MCwweDBiLDB4OTYsMHgxMiwweGU0LDB4MjAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDBhLDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhlNGIwLCAwLCB7MHgwMCwweDIyLDB4NDEsMHgwOCwweDk4LDB4MjIsMHg2NCwweDAwLDB4YjksMHgyMCwweDJiLDB4NDEsMHgyOCwweGQ0LDB4MDIsMHgwNiB9LAotICAxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU0LDB4MDAsMHhmOSwweGUwLDB4MzIsMHg1OCB9LAotICAxNiwgMHhlNGQwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHgyNiwweDQwLDB4YzksMHg0MCwweDNlLDB4NTgsMHgwZiwweDljLDB4MDMsMHhlNCwweDAwLDB4ZTksMHgwMCB9LAotICAxNiwgMHhlNGUwLCAwLCB7MHg2ZSwweDQwLDB4MGMsMHg5YSwweDAyLDB4YTYsMHgwMCwweGY5LDB4NDQsMHgzMiwweDQwLDB4MGQsMHg5YSwweDBiLDB4NjQsMHg4NCB9LAotICAxNiwgMHhlNGYwLCAwLCB7MHhmOSwweDAwLDB4YmEsMHg0MCwweDBjLDB4MTgsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTAwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDQsMHgzZSB9LAotICAxNiwgMHhlNTEwLCAwLCB7MHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4NDAsMHhmOSwweDAwLDB4M2UsMHg2NSwweDBmLDB4OTksMHg4MSwweGU0LDB4NTAsMHhmOSB9LAotICAxNiwgMHhlNTIwLCAwLCB7MHgyMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjksMHgwMCwweDM0LDB4NDAsMHgwZiwweDkyLDB4MDMsMHhkMiB9LAotICAxNiwgMHhlNTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgxMCB9LAotICAxNiwgMHhlNTQwLCAwLCB7MHgwZSwweDg0LDB4MDMsMHg2MCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MDgsMHgwZiwweDgwLDB4ODMsMHhlMCwweDI4LDB4ZTgsMHgwNCB9LAotICAxNiwgMHhlNTUwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4NCwweDAzLDB4MjEsMHgxYywweGYwLDB4NDgsMHgzMiwweDAwLDB4MGIsMHgwMCwweDAzLDB4ZTAsMHgwMiB9LAotICAxNiwgMHhlNTYwLCAwLCB7MHhjMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4YzAsMHgwYiwweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTcwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGIyLDB4ODgsMHgyZSwweDgwLDB4MDgsMHhlMCwweDAzLDB4N2EsMHg4MCwweDhlLDB4MDAsMHgyZiB9LAotICAxNiwgMHhlNTgwLCAwLCB7MHhhMCwweDBiLDB4ZTgsMHgwMiwweGY5LDB4MTAsMHhiYSwweDAwLDB4MmMsMHg4MCwweDI4LDB4ZTQsMHgwMiwweDI4LDB4MDAsMHhiZSB9LAotICAxNiwgMHhlNTkwLCAwLCB7MHg0MCwweDIzLDB4YjgsMHgwOCwweGU4LDB4MDIsMHhlOCwweDA0LDB4Y2EsMHgyMCwweGEyLDB4ODAsMHgwOCwweGU4LDB4MDIsMHgwYSB9LAotICAxNiwgMHhlNWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDEsMHhiMywweDAwLDB4MmMsMHg0MCB9LAotICAxNiwgMHhlNWIwLCAwLCB7MHgwOCwweGI4LDB4NDIsMHg2YywweDAyLDB4ODMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDM4LDB4MDAsMHhjZiwweDQwLDB4YjMsMHgwMCB9LAotICAxNiwgMHhlNWMwLCAwLCB7MHgyYywweGMwLDB4MDgsMHhiNCwweDBhLDB4MGMsMHgwMCwweGIzLDB4NDAsMHhhMiwweDgyLDB4MGEsMHgzOSwweDAyLDB4Y2MsMHgwMCB9LAotICAxNiwgMHhlNWQwLCAwLCB7MHg5MywweDgwLDB4YTAsMHhjMCwweDI5LDB4MjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWUwLCAwLCB7MHhhMCwweDAxLDB4MWQsMHgwMCwweGI3LDB4MDAsMHgyZCwweDY0LDB4MjgsMHg3NCwweDAyLDB4NDAsMHgwMCwweDg3LDB4MDUsMHgyZCB9LAotICAxNiwgMHhlNWYwLCAwLCB7MHg5MCwweDBiLDB4NzQsMHgwMiwweGRjLDB4MTAsMHhiNywweDMwLDB4MmQsMHhjOCwweDA4LDB4MzQsMHgwNiwweDFjLDB4ODAsMHhiNyB9LAotICAxNiwgMHhlNjAwLCAwLCB7MHgwMCwweGExLDB4YzAsMHgwYSwweDcwLDB4MDIsMHhkZSwweDgwLDB4ODMsMHgwMCwweDAxLDB4MDAsMHgwOSwweDYwLDB4ODIsMHgyMCB9LAotICAxNiwgMHhlNjEwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFhLDB4MDAsMHhmNywweDgwLDB4M2QsMHg2MCB9LAotICAxNiwgMHhlNjIwLCAwLCB7MHgwZSwweGQ4LDB4MGIsMHg1ZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDY4LDB4MDMsMHhkZSwweDEwLDB4ZjcsMHhhOSB9LAotICAxNiwgMHhlNjMwLCAwLCB7MHg3ZiwweGU4LDB4NDgsMHg3OCwweDAzLDB4MWYsMHgzMCwweGZmLDB4OTQsMHgzMywweGEwLDB4MGUsMHg3OCwweDAzLDB4Y2YsMHgyNCB9LAotICAxNiwgMHhlNjQwLCAwLCB7MHhkNiwweDgwLDB4YjEsMHhlMCwweDBkLDB4ZjgsMHg0MywweDIyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGJiLDB4MDAsMHgwYywweDQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhlNjYwLCAwLCB7MHgwMCwweDBmLDB4OTAsMHg0MSwweGVjLDB4MDAsMHhmYiwweDYxLDB4N2UsMHhkMCwweDBmLDB4YjAsMHgwMywweGVjLDB4ODAsMHhmYiB9LAotICAxNiwgMHhlNjcwLCAwLCB7MHg0MCwweDNmLDB4OWIsMHgwYywweGIwLDB4MDMsMHhlZCwweDkwLDB4ZmEsMHgwMCwweDNjLDB4MDAsMHgwZSwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhlNjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGRlLDB4MDAsMHhlZiwweDgwLDB4MzMsMHg2MCB9LAotICAxNiwgMHhlNjkwLCAwLCB7MHgwZCwweGQ4LDB4MDMsMHgzNiwweDQwLDB4ZWYsMHg5MCwweDNlLDB4ZTAsMHgwZiwweGY5LDB4MDMsMHhmZSwweDAwLDB4ZmYsMHg4MCB9LAotICAxNiwgMHhlNmEwLCAwLCB7MHgzMywweGZlLDB4MGMsMHhmYSwweDAzLDB4ZmUsMHgwMCwweGNmLDB4ODAsMHhiMywweGUwLDB4MGYsMHhmOCwweDAzLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhlNmIwLCAwLCB7MHhjZCwweDgwLDB4MzMsMHhlMCwweDBmLDB4YzgsMHg0MywweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmMwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwMCwweDg1LDB4MDgsMHgzNSwweDQwLDB4MDgsMHg3MCwweDAzLDB4NTIsMHgyMCwweDg3LDB4MTEsMHgyYyB9LAotICAxNiwgMHhlNmQwLCAwLCB7MHhlYywweDBiLDB4NzEsMHgwMiwweGQwLDB4MDAsMHhlNywweDAwLDB4MzUsMHhjNCwweDA4LDB4NzQsMHgwMiwweGRjLDB4NDAsMHg4NyB9LAotICAxNiwgMHhlNmUwLCAwLCB7MHgxMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmYywweDgwLDB4ODUsMHgwOCwweDIxLDB4MDAsMHgwYiwweDQxLDB4ODIsMHhlYSB9LAotICAxNiwgMHhlNmYwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk4LDB4MDAsMHhhZiwweDAwLDB4MjMsMHg1MCB9LAotICAxNiwgMHhlNzAwLCAwLCB7MHgwOSwweDUwLDB4MDIsMHgxYywweDgwLDB4YTcsMHgwMSwweDI5LDB4YzAsMHgxYiwweDYwLDB4MDYsMHhkYywweDQwLDB4YjcsMHgxMCB9LAotICAxNiwgMHhlNzEwLCAwLCB7MHgyMSwweGM4LDB4NGEsMHg1MiwweDAyLDB4ZGMsMHgwMCwweDgzLDB4MDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGMsMHgxMyB9LAotICAxNiwgMHhlNzIwLCAwLCB7MHg4NCwweDAwLDB4MjUsMHhjMCwweDBiLDB4NTgsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzMwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweDgxLDB4ODAsMHgyNCwweDQwLDB4MDgsMHgzZSwweDAyLDB4NmUsMHgwMCwweDg5LDB4MDAsMHgyYyB9LAotICAxNiwgMHhlNzQwLCAwLCB7MHhjMCwweDBiLDB4YjQsMHgwMiwweGNhLDB4ODAsMHhhMywweDAwLDB4MjQsMHhjMCwweDBhLDB4MDQsMHgwMiwweGVjLDB4NDAsMHg4MiB9LAotICAxNiwgMHhlNzUwLCAwLCB7MHgwYSwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjZCwweDEwLDB4ODAsMHhjMCwweGE0LDB4MDAsMHgwYiwweDFjLDB4MDIsMHhjOCB9LAotICAxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDg0LDB4MDAsMHhlYiwweDgwLDB4MzMsMHg0MCB9LAotICAxNiwgMHhlNzcwLCAwLCB7MHgwZCwweDhjLDB4ODMsMHgyNiwweDAwLDB4ZTksMHhhMCwweDNlLDB4NzgsMHg4ZiwweDkwLDB4ODMsMHhlMSwweDAwLDB4ZmYsMHgwMCB9LAotICAxNiwgMHhlNzgwLCAwLCB7MHgzMSwweGQxLDB4MGUsMHg4NCwweDIzLDB4ZmMsMHgwMCwweGNiLDB4ODIsMHgzMiwweGMwLDB4OGYsMHhiMCwweDAyLDB4ZmQsMHg0MCB9LAotICAxNiwgMHhlNzkwLCAwLCB7MHhjYiwweDgwLDB4YjYsMHhjMCwweDBmLDB4YTQsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2EwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGY5LDB4MDEsMHgzZSB9LAotICAxNiwgMHhlN2IwLCAwLCB7MHg0MiwweDBmLDB4OTAsMHgwMywweGU1LDB4NTQsMHhlMywweDAwLDB4M2UsMHhjOCwweDA1LDB4OTMsMHgwMywweGVjLDB4ODAsMHhmYiB9LAotICAxNiwgMHhlN2MwLCAwLCB7MHhjMSwweDNlLDB4YzAsMHgwZiwweDIwLDB4MDMsMHhjYywweDQ4LDB4ZjMsMHgwOCwweDNhLDB4MDAsMHgwZiwweGEwLDB4NDMsMHhlMCB9LAotICAxNiwgMHhlN2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjZiwweDAwLDB4M2YsMHg0MCB9LAotICAxNiwgMHhlN2UwLCAwLCB7MHgwZiwweDMwLDB4MDEsMHgyYywweDBhLDB4Y2QsMHgxMCwweDMzLDB4MDAsMHgwZiwweGQwLDB4ODMsMHgxNCwweDAwLDB4Y2IsMHgwMiB9LAotICAxNiwgMHhlN2YwLCAwLCB7MHgzMywweGMwLDB4MGMsMHhlMSwweDAzLDB4ZWMsMHgxMCwweGNkLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDMzLDB4M2MsMHgwMCB9LAotICAxNiwgMHhlODAwLCAwLCB7MHhlYSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ZjAsMHg4MywweGM4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODEwLCAwLCB7MHg4MSwweDA0LDB4NmUsMHgwMCwweDhiLDB4MDAsMHgyZSwweDQwLDB4MGIsMHhiYywweDAyLDB4MmUsMHgwMCwweDBiLDB4MDAsMHgyMiB9LAotICAxNiwgMHhlODIwLCAwLCB7MHgzMCwweDBiLDB4OWMsMHgwMiwweDI3LDB4ODAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDA4LDB4YjgsMHgwMiwweGVjLDB4MDAsMHg4OSB9LAotICAxNiwgMHhlODMwLCAwLCB7MHhjMCwweDIwLDB4ZTAsMHgwOCwweGFlLDB4MDIsMHgyYywweDA4LDB4OGEsMHgwMCwweDIyLDB4MDAsMHgwOCwweGIwLDB4NDIsMHhlOCB9LAotICAxNiwgMHhlODQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJlLDB4MDAsMHg4YiwweDA0LDB4MmUsMHg0MCB9LAotICAxNiwgMHhlODUwLCAwLCB7MHg4YiwweDhjLDB4MDIsMHhhZSwweDEwLDB4ODksMHgwMCwweDIyLDB4NzAsMHgwYiwweDhjLDB4MDIsMHhhMiwweDAwLDB4OGIsMHgwMSB9LAotICAxNiwgMHhlODYwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg4MCwweDAyLDB4ZWMsMHgxMCwweDgyLDB4ODgsMHhhMiwweDcwLDB4MDksMHhiOCwweDAyLDB4MmMsMHgwOCB9LAotICAxNiwgMHhlODcwLCAwLCB7MHg4OSwweDAwLDB4MjAsMHhjMCwweDI4LDB4ODAsMHgyMiwweGUwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwNCwweDgxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgyMCwweDAyLDB4ODAsMHgwMCwweDgxLDB4MDQsMHhhMCB9LAotICAxNiwgMHhlODkwLCAwLCB7MHg1MCwweDRiLDB4MDAsMHgwYSwweDgwLDB4MDAsMHhhMywweDAxLDB4MmEsMHhjMSwweDIwLDB4MTAsMHgwMiwweGNjLDB4MTQsMHg4MyB9LAotICAxNiwgMHhlOGEwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweDIwLDB4MDIsMHgwYywweDAwLDB4ODEsMHgwMCwweGUwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhlOGIwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhlOGMwLCAwLCB7MHgwZiwweDkwLDB4MGIsMHhhYywweDgwLDB4YzksMHgwMCwweDMyLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhhNCwweDAwLDB4Y2YsMHgwMiB9LAotICAxNiwgMHhlOGQwLCAwLCB7MHgzMSwweGMwLDB4MGMsMHg4MCwweDEzLDB4ZmMsMHgwMiwweGNkLDB4MDAsMHgzMywweGMwLDB4MmMsMHg5MCwweDAzLDB4M2MsMHgwMiB9LAotICAxNiwgMHhlOGUwLCAwLCB7MHhlOCwweDAwLDB4YjIsMHhjMCwweDBjLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGYwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMiwweGY1LDB4MDAsMHgzZCwweDQwLDB4OGYsMHhmMCwweDIzLDB4NmQsMHgwMCwweGZmLDB4MDAsMHgzZiB9LAotICAxNiwgMHhlOTAwLCAwLCB7MHgwNCwweDBmLDB4YzAsMHgwMywweDcwLDB4MWMsMHhmZiwweDAxLDB4M2YsMHhjMCwweDRmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZCB9LAotICAxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweGUwLDB4MGYsMHhmYywweDE4LDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhlOTIwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZlLDB4MDAsMHhkNywweDAyLDB4MGYsMHgzMCB9LAotICAxNiwgMHhlOTMwLCAwLCB7MHgwYywweGYyLDB4MDEsMHg3ZSwweDA2LDB4NDQsMHgzMCwweDNmLDB4MjAsMHgwZSwweGYwLDB4MDIsMHg3YywweDg0LDB4ZmQsMHgyMCB9LAotICAxNiwgMHhlOTQwLCAwLCB7MHgyNywweDA4LDB4MGMsMHhkMCwweDAxLDB4MzYsMHgwMCwweGZmLDB4NjAsMHgzMywweGNjLDB4MGIsMHhmMSwweDEzLDB4MmMsMHhjNCB9LAotICAxNiwgMHhlOTUwLCAwLCB7MHhmZiwweDMwLDB4MGYsMHhjZCwweDBjLDB4ZjQsMHgwMywweGYwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTYwLCAwLCB7MHg4MCwweDEwLDB4ZWUsMHgwMCwweDhmLDB4YzAsMHgyZSwweDAwLDB4MDgsMHhmYywweDAyLDB4MmUsMHgwMCwweDhhLDB4MzAsMHgyOCB9LAotICAxNiwgMHhlOTcwLCAwLCB7MHg1MiwweDA4LDB4ZjYsMHg4MiwweDNjLDB4NjgsMHhiZCwweDkwLDB4MzIsMHgzNCwweDQ4LDB4OWMsMHgxMiwweDI2LDB4MDAsMHhjZiB9LAotICAxNiwgMHhlOTgwLCAwLCB7MHg0MCwweDIzLDB4Y2MsMHgwYiwweGY2LDB4MDIsMHgzZCwweDAwLDB4YmYsMHgxMCwweDJmLDB4Y2MsMHg4OCwweGY2LDB4MDIsMHhlMCB9LAotICAxNiwgMHhlOTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDAsMHg5MywweDEwLDB4MmMsMHgwOCB9LAotICAxNiwgMHhlOWEwLCAwLCB7MHgwOSwweDMxLDB4MDIsMHg0YywweDAwLDB4OWIsMHgyMCwweDY0LDB4NTgsMHgwMywweDMxLDB4NjIsMHg0YywweDgxLDB4YTEsMHgwMCB9LAotICAxNiwgMHhlOWIwLCAwLCB7MHgyMCwweDAwLDB4NDgsMHgxNCwweDAyLDB4NDQsMHgwMCwweDkzLDB4MzAsMHgyNCwweGMwLDB4MGIsMHgzMywweDAyLDB4OGQsMHg4NCB9LAotICAxNiwgMHhlOWMwLCAwLCB7MHhiMywweDIwLDB4NmMsMHhjMCwweDJhLDB4MzYsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgxMCwweDliLDB4MDIsMHgyZSwweDQxLDB4MGIsMHhiMCwweDAyLDB4YTQsMHgwMCwweDlhLDB4MDAsMHg0YSB9LAotICAxNiwgMHhlOWUwLCAwLCB7MHg2MCwweDg4LDB4YjAsMHg1MiwweDZjLDB4MDEsMHhiOSwweDAwLDB4MjYsMHgwMCwweDA4LDB4OTEsMHgyMiwweGVjLDB4MDgsMHhiYiB9LAotICAxNiwgMHhlOWYwLCAwLCB7MHgwMCwweDI2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhhYywweDAwLDB4YmIsMHgwNSwweDZlLDB4YzEsMHgwYSwweGIwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhlYTAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhkYiwweDAxLDB4M2UsMHgzMCB9LAotICAxNiwgMHhlYTEwLCAwLCB7MHgyZCwweDMwLDB4MDMsMHg0NywweDYwLDB4ZDgsMHhhMCwweDE2LDB4MzgsMHg4ZiwweGIwLDB4MDMsMHg2YywweDAwLDB4NzksMHgwMiB9LAotICAxNiwgMHhlYTIwLCAwLCB7MHgzMSwweDYwLDB4MGMsMHhjOCwweDBhLDB4NjYsMHgwMCwweGJiLDB4MDAsMHhiNiwweGMwLDB4MGYsMHhiMCwweDBiLDB4YWMsMHgwMCB9LAotICAxNiwgMHhlYTMwLCAwLCB7MHhmYiwweDAxLDB4M2UsMHhjMSwweDBlLDB4YjAsMHgwMywweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgxMCwweGVmLDB4MDgsMHgzZiwweDI0LDB4MGMsMHhmMCwweDAzLDB4NzYsMHgyMCwweGVlLDB4OTAsMHgzNSB9LAotICAxNiwgMHhlYTUwLCAwLCB7MHg0MCwweDBlLDB4NzAsMHgwMywweGFjLDB4MDAsMHhmZCwweDAwLDB4YmIsMHg2NCwweDBmLDB4ODgsMHgxMywweDM0LDB4ODAsMHhjYiB9LAotICAxNiwgMHhlYTYwLCAwLCB7MHgwMCwweDNiLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmYsMHgwMCwweDNlLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmOCB9LAotICAxNiwgMHhlYTcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhmYiwweDgwLDB4MzIsMHgxMCB9LAotICAxNiwgMHhlYTgwLCAwLCB7MHgwZSwweGIwLDB4MDMsMHhlZCwweDAwLDB4Y2IsMHg1MCwweDNlLDB4NDAsMHg4YywweGIwLDB4NDMsMHgyYywweDEwLDB4ZjksMHgwMCB9LAotICAxNiwgMHhlYTkwLCAwLCB7MHgzMiwweDYwLDB4MGMsMHg0MCwweDBiLDB4MjYsMHgwMCwweGMzLDB4MDQsMHgzNiwweGMwLDB4MGMsMHgzMCwweDAzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhlYWEwLCAwLCB7MHg5YiwweDAwLDB4YjAsMHhjMCwweDBjLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWIwLCAwLCB7MHhjOCwweDA1LDB4MGUsMHg4MCwweGJmLDB4MDQsMHgyYSwweDQwLDB4MDAsMHhmNSwweDAwLDB4ZTYsMHgwMCwweDgyLDB4ZDIsMHgyMiB9LAotICAxNiwgMHhlYWMwLCAwLCB7MHg0MCwweDBkLDB4ZjAsMHgyMiwweDNjLDB4MDAsMHg5NSwweDAyLDB4MzYsMHg0MCwweDBhLDB4ODAsMHgwMiwweDJlLDB4MDAsMHg4ZiB9LAotICAxNiwgMHhlYWQwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwYSwweGYwLDB4NDIsMHgzYywweDAwLDB4OGYsMHgwMCwweDIzLDB4YzAsMHgyOCwweGYwLDB4MDIsMHhmMiB9LAotICAxNiwgMHhlYWUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRlLDB4MDAsMHhiMywweDAwLDB4MjIsMHgyMCB9LAotICAxNiwgMHhlYWYwLCAwLCB7MHg0YSwweDMwLDB4MDAsMHhjYywweDAwLDB4ODEsMHhjMCwweDI4LDB4MDAsMHgwOCwweDMwLDB4MDIsMHgwYywweDEwLDB4YTEsMHgwMCB9LAotICAxNiwgMHhlYjAwLCAwLCB7MHgyOCwweDgwLDB4MTgsMHgzMCwweDIyLDB4MDQsMHgwNCwweDgzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2MsMHgwOCB9LAotICAxNiwgMHhlYjEwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwNiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjIwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyOSwweGEwLDB4MDgsMHg3OCwweDAyLDB4ZmUsMHgyMCwweDhkLDB4ODAsMHgyOSB9LAotICAxNiwgMHhlYjMwLCAwLCB7MHhlNSwweDViLDB4MzgsMHg0MiwweDFlLDB4NDAsMHhhMSwweDgxLDB4MjUsMHhhOCwweDA4LDB4NzksMHgwMiwweDM3LDB4MDAsMHg4NyB9LAotICAxNiwgMHhlYjQwLCAwLCB7MHg4MCwweDI1LDB4ZTAsMHgwYSwweDc4LDB4MGEsMHhkZSwweDgxLDB4ODcsMHg4MCwweDI1LDB4ZTUsMHg0OCwweDc4LDB4MDIsMHhjOCB9LAotICAxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhiMywweDEwLDB4MzAsMHgxMiB9LAotICAxNiwgMHhlYjYwLCAwLCB7MHgwZSwweDMwLDB4MTIsMHhjYywweGMwLDB4YzMsMHgwMCwweDM4LDB4ODAsMHgwYywweDMxLDB4MDYsMHgwYywweDQwLDB4ZjEsMHgwMCB9LAotICAxNiwgMHhlYjcwLCAwLCB7MHgzOCwweDgwLDB4MGMsMHgzMCwweDQzLDB4MDQsMHg0MiwweGMzLDB4MDAsMHgzNiwweGMwLDB4MGMsMHgzMiwweDAzLDB4Y2UsMHhjMCB9LAotICAxNiwgMHhlYjgwLCAwLCB7MHhkYiwweDAwLDB4MzAsMHhjMCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjkwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZmLDB4MTAsMHgzZCwweDg0LDB4NGYsMHhmMSwweDAzLDB4ZDAsMHg0MCwweGZjLDB4MTAsMHgzMyB9LAotICAxNiwgMHhlYmEwLCAwLCB7MHg4MCwweDVkLDB4YjEsMHg4MywweGZjLDB4NTAsMHhkZCwweDBhLDB4MjUsMHg4OSwweDBmLDB4YjgsMHgwMywweGQ0LDB4MDAsMHhmZiB9LAotICAxNiwgMHhlYmIwLCAwLCB7MHgxMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4MDMsMHgzYywweDQwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhlYmMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhmYiwweDIwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhlYmQwLCAwLCB7MHgwZiwweGI1LDB4MDMsMHgyOSwweDIwLDB4ZjksMHgwMCwweDMyLDB4YTAsMHgwYywweGIwLDB4ODMsMHhlYywweDAwLDB4NDksMHhjOCB9LAotICAxNiwgMHhlYmUwLCAwLCB7MHhiMiwweGMwLDB4OGMsMHhhMCwweDAzLDB4NjQsMHgwMCwweGZiLDB4MDgsMHgxMiwweGVhLDB4MGMsMHhiMCwweDBiLDB4MmMsMHg4MCB9LAotICAxNiwgMHhlYmYwLCAwLCB7MHhmYiwweDIwLDB4MmUsMHhkMiwweDZjLDB4YjYsMHg0MywweGVhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzAwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI3LDB4NDksMHgyZCwweDAwLDB4MGIsMHgzMCwweDgyLDB4MTAsMHgwMSwweGI1LDB4MDIsMHg4MyB9LAotICAxNiwgMHhlYzEwLCAwLCB7MHhjMCwweDFhLDB4NzIsMHgyMiwweGRkLDB4NDEsMHg4NSwweDAwLDB4NjEsMHhjMCwweDE4LDB4MjAsMHgyMCwweDE0LDB4MDAsMHhiZiB9LAotICAxNiwgMHhlYzIwLCAwLCB7MHg0MCwweDM1LDB4ZDAsMHgwZCwweDM0LDB4MDIsMHgxZCwweDIwLDB4YjcsMHgyOCwweDI1LDB4YzEsMHgwOCwweDc0LDB4ODIsMHhkMiB9LAotICAxNiwgMHhlYzMwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDQsMHgzNywweGEwLDB4MmQsMHgyMCB9LAotICAxNiwgMHhlYzQwLCAwLCB7MHgwYiwweDdhLDB4MTIsMHgxNiwweDAxLDB4YjMsMHg4MCwweDIxLDB4ZTIsMHgwOCwweDc4LDB4NDIsMHg5ZSwweDAwLDB4ODUsMHg4MCB9LAotICAxNiwgMHhlYzUwLCAwLCB7MHgyMCwweGUxLDB4MTgsMHg2OCwweDAyLDB4NTYsMHgwMCwweGI3LDB4YTAsMHgyNSwweGUwLDB4MDgsMHg3YSwweDAyLDB4MWUsMHgwMCB9LAotICAxNiwgMHhlYzYwLCAwLCB7MHhiNywweDkwLDB4MmMsMHhlNSwweDg4LDB4N2EsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzcwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHg2YywweDI0LDB4MWIsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIwLDB4MDAsMHgyMCB9LAotICAxNiwgMHhlYzgwLCAwLCB7MHhmOCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4MSwweDAwLDB4MjAsMHhkOCwweDE4LDB4MjAsMHgwMiwweDA0LDB4MDAsMHhiMyB9LAotICAxNiwgMHhlYzkwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHgwMCwweDI2LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhkMiB9LAotICAxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4M2QsMHg4MCB9LAotICAxNiwgMHhlY2IwLCAwLCB7MHgwZiwweDIwLDB4MGIsMHgyOCwweDgwLDB4ZmUsMHgwMCwweDMzLDB4YTAsMHgwYywweGEwLDB4MDMsMHhlOCwweDAyLDB4Y2EsMHgwMiB9LAotICAxNiwgMHhlY2MwLCAwLCB7MHgzMiwweDkwLDB4MmMsMHhlNCwweDAzLDB4NzgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCB9LAotICAxNiwgMHhlY2QwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHg4MCwweDBjLDB4YTAsMHgwMywweGZhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2UwLCAwLCB7MHg0OCwweDAwLDB4ZTEsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAzLDB4ZTAsMHg4MCwweGY4LDB4MDAsMHgzZSB9LAotICAxNiwgMHhlY2YwLCAwLCB7MHgwMCwweDBmLDB4ODAsMHgyMywweGMwLDB4MDAsMHhmOCwweDAyLDB4M2MsMHgwMCwweDBmLDB4YzAsMHg4MywweDYwLDB4MDAsMHhiOCB9LAotICAxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MjMsMHhlMCwweDE4LDB4ZjgsMHgwMSwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhlZDEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU2LDB4MDAsMHhmOSwweDIxLDB4MzIsMHg2MCB9LAotICAxNiwgMHhlZDIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyYywweDQ0LDB4ZjksMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MWIsMHgyNCwweDAwLDB4ZTksMHgwMCB9LAotICAxNiwgMHhlZDMwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHgxMCwweDMzLDB4MjQsMHgxMCB9LAotICAxNiwgMHhlZDQwLCAwLCB7MHhmMSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweGI5LDB4NDAsMHhhMiwweDQxLDB4MDgsMHg5MCwweDAyLDB4MjQsMHg4MCwweGU5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhlZDYwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MSwweDE4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSB9LAotICAxNiwgMHhlZDcwLCAwLCB7MHgwNCwweDJhLDB4NDEsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgwMCwweDJhLDB4NDAsMHgwYSwweDkwLDB4MGEsMHgyMCB9LAotICAxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweDI0LDB4ODAsMHhiOSwweDQyLDB4NjIsMHg0OCB9LAotICAxNiwgMHhlZDkwLCAwLCB7MHgyOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgyNCwweDEwLDB4YjksMHgwMiB9LAotICAxNiwgMHhlZGEwLCAwLCB7MHgyZSwweDQwLDB4MDgsMHhkMCwweDAyLDB4YTQsMHgwMCwweGIxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjQsMHgwNCB9LAotICAxNiwgMHhlZGIwLCAwLCB7MHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGMwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIxLDB4MjAsMHg2MCwweDQwLDB4MDgsMHgxMiwweDAyLDB4MDQsMHgwMCwweGExLDB4MjAsMHgyMCB9LAotICAxNiwgMHhlZGQwLCAwLCB7MHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHg5MSwweDIwLDB4MmQsMHg2OCwweDA4LDB4NTIsMHgxMiwweDA0LDB4MDAsMHhiMSB9LAotICAxNiwgMHhlZGUwLCAwLCB7MHgyOCwweDI4LDB4NGEsMHgwOSwweDEyLDB4ODIsMHg0NCwweGEwLDB4YjEsMHgyYywweDI4LDB4NGEsMHgwYSwweDEyLDB4ODIsMHgwMiB9LAotICAxNiwgMHhlZGYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgxNCB9LAotICAxNiwgMHhlZTAwLCAwLCB7MHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4ZjgsMHg1MCwweDMyLDB4MTQsMHgwZiwweDg1LDB4MDMsMHgwMSwweDQwLDB4ZjgsMHgwMCB9LAotICAxNiwgMHhlZTEwLCAwLCB7MHgyZSwweDAwLDB4MjgsMHhjMCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MjQsMHgzMCwweDA4LDB4MGYsMHg4MiwweDIzLDB4MjAsMHg4MCB9LAotICAxNiwgMHhlZTIwLCAwLCB7MHhmOCwweDIwLDB4MzIsMHgwOCwweDBjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTMwLCAwLCB7MHg5OCwweDFkLDB4ZTQsMHgwOCwweGY5LDB4MTAsMHgzZiwweDQwLDB4OGYsMHg5MSwweDEzLDB4ZTQsMHgwMCwweGVkLDB4MTAsMHgzZiB9LAotICAxNiwgMHhlZTQwLCAwLCB7MHg1MCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhhNSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MDQsMHhmOSB9LAotICAxNiwgMHhlZTUwLCAwLCB7MHgyOCwweDNlLDB4NGIsMHgwYiwweDkyLDB4YTMsMHhlNCwweGEwLDB4ZTksMHgyOCwweDNlLDB4NGEsMHgwZiwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHhlZTYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg0MCB9LAotICAxNiwgMHhlZTcwLCAwLCB7MHg4MCwweGQwLDB4MDEsMHhmNCwweDAwLDB4YTUsMHgwMCwweDI2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHgyNiwweDAwLDB4ZjEsMHg4OCB9LAotICAxNiwgMHhlZTgwLCAwLCB7MHgzZSwweDY4LDB4MGQsMHg5OCwweDgzLDB4NDQsMHgwMCwweGM5LDB4YzAsMHgzYSwweDQwLDB4MGMsMHg5OCwweDAzLDB4MjQsMHgwOCB9LAotICAxNiwgMHhlZTkwLCAwLCB7MHhmOSwweGEwLDB4MzIsMHg3OCwweDBmLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWEwLCAwLCB7MHgzOCwweDEwLDB4ZTAsMHgwMiwweDg4LDB4MDAsMHhhMiwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweDBhLDB4MDAsMHgyMiB9LAotICAxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDQwLDB4MmUsMHgxNCwweDA4LDB4ODAsMHg0MywweDMwLDB4MDAsMHg4OCB9LAotICAxNiwgMHhlZWMwLCAwLCB7MHhhMCwweDIyLDB4MmEsMHgwYSwweDhhLDB4NDIsMHhhMCwweDA1LDB4YjgsMHg0MiwweDMyLDB4MzgsMHgwYiwweDgwLDB4MDIsMHgwZSB9LAotICAxNiwgMHhlZWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4MDMsMHg5MSwweDAwLDB4MjQsMHg0MCB9LAotICAxNiwgMHhlZWUwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjNCwweDExLDB4YjEsMHgwNCwweDIwLDB4NDEsMHgxYiwweDEwLDB4MjIsMHg0NSwweDAwLDB4YjUsMHgwMCB9LAotICAxNiwgMHhlZWYwLCAwLCB7MHgyNSwweDQwLDB4MDksMHg1MCwweDAyLDB4NTQsMHgwMSwweDgxLDB4NDAsMHgyYywweDQwLDB4MDksMHgxNCwweDkyLDB4NDQsMHgwMCB9LAotICAxNiwgMHhlZjAwLCAwLCB7MHhiMSwweDQwLDB4MjQsMHg0YywweDBiLDB4MTQsMHgwYSwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDk5LDB4MDAsMHgyNCwweDQyLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMSwweDk5LDB4MjAsMHgyNiB9LAotICAxNiwgMHhlZjIwLCAwLCB7MHg0MCwweGNiLDB4OTAsMHgwMiwweDY0LDB4MDAsMHhiYiwweDAwLDB4MmYsMHg0MSwweDBhLDB4ZDAsMHgwMiwweDM0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhlZjMwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwYiwweDEwLDB4MDIsMHhlNCwweDAwLDB4MzEsMHgwMCwweDYyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHg0NiB9LAotICAxNiwgMHhlZjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGM0LDB4MDAsMHhkOSwweDAxLDB4MzYsMHg1MCB9LAotICAxNiwgMHhlZjUwLCAwLCB7MHgyZiwweDkwLDB4MDMsMHhlNiwweDYwLDB4ZjksMHg4MCwweDM2LDB4NTIsMHgwYiwweDkwLDB4MGEsMHg2NCwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHhlZjYwLCAwLCB7MHgzNiwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMiwweDA5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMCB9LAotICAxNiwgMHhlZjcwLCAwLCB7MHhiOSwweDAwLDB4YjYsMHg0MCwweDBmLDB4OTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjgwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGUxLDB4MDAsMHgzYSwweDQxLDB4MGMsMHg5MCwweDIzLDB4ZTYsMHgyMCwweGU5LDB4MDAsMHhiYSB9LAotICAxNiwgMHhlZjkwLCAwLCB7MHg3MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4MTAsMHgxMywweGE3LDB4MDAsMHhmOSB9LAotICAxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgwZSwweDkwLDB4NDMsMHhhNCwweDA4LDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9LAotICAxNiwgMHhlZmIwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MjAsMHhmOCwweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhlZmMwLCAwLCB7MHgwZiwweDgwLDB4ODMsMHgyMSwweDAwLDB4ZjAsMHgwMCwweDNhLDB4MTEsMHgwOSwweDgwLDB4MDMsMHhlMCwweDAwLDB4YzgsMHgwMSB9LAotICAxNiwgMHhlZmQwLCAwLCB7MHgzMCwweDAxLDB4MGMsMHg4MCwweDAzLDB4YjAsMHgwMCwweGQwLDB4MDAsMHgzNCwweDAwLDB4MGQsMHg4MCwweDAzLDB4MjAsMHgwMCB9LAotICAxNiwgMHhlZmUwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmYwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwMCwweGJlLDB4MDAsMHgyMiwweDgwLDB4MDMsMHhlOCwweDAyLDB4MWEsMHgwOCwweGJlLDB4NDgsMHgyMiB9LAotICAxNiwgMHhmMDAwLCAwLCB7MHg4MCwweDBhLDB4YTAsMHgwMywweGI4LDB4MDAsMHhjYSwweDA4LDB4MjIsMHg4MCwweDBmLDB4YTQsMHgwMiwweDA4LDB4MDAsMHg4YSB9LAotICAxNiwgMHhmMDEwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHg4ZCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ZGEsMHgwMCwweDJhLDB4ODEsMHgwOCwweGEwLDB4MDIsMHg4YSB9LAotICAxNiwgMHhmMDIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ0LDB4MDAsMHhiMywweDAwLDB4MjAsMHg0MCB9LAotICAxNiwgMHhmMDMwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgwOCwweDAwLDB4YjAsMHg2NCwweDY4LDB4YzEsMHgwOCwweGIwLDB4MjIsMHhjYywweDBjLDB4OTMsMHg4MCB9LAotICAxNiwgMHhmMDQwLCAwLCB7MHgwMCwweGMwLDB4NDgsMHgzNiwweDAyLDB4ODgsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4MDgsMHgzMCwweDA2LDB4MGMsMHgwMSB9LAotICAxNiwgMHhmMDUwLCAwLCB7MHhhMywweDAyLDB4MmMsMHhjMCwweDA4LDB4YjAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDYwLCAwLCB7MHhhMCwweDAxLDB4MTQsMHgwOCwweGI1LDB4MDAsMHgyMSwweDQwLDB4MGIsMHgzOCwweDgyLDB4MWMsMHgyMSwweGI3LDB4MDAsMHgyMyB9LAotICAxNiwgMHhmMDcwLCAwLCB7MHhlOCwweDRhLDB4NzIsMHgyNiwweDllLDB4NDAsMHg4ZiwweDgxLDB4YWIsMHg0MCwweDQyLDB4NzAsMHg1MiwweDM4LDB4MDAsMHhhMyB9LAotICAxNiwgMHhmMDgwLCAwLCB7MHgyMiwweDIwLDB4YzQsMHg0OSwweDMxLDB4MDIsMHgxZSwweDBhLDB4YjcsMHgyMiwweDJkLDB4ZTgsMHgwOCwweDcyLDB4MDIsMHhhOCB9LAotICAxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhmNiwweDgwLDB4MjEsMHhlMCB9LAotICAxNiwgMHhmMGEwLCAwLCB7MHgwYiwweDc4LDB4MGIsMHgxZSwweDAwLDB4YjQsMHg4MiwweDNiLDB4ZTgsMHg0YywweDdjLDB4MTMsMHhmZSwweDAyLDB4OTcsMHg4MCB9LAotICAxNiwgMHhmMGIwLCAwLCB7MHgzMywweGEwLDB4MDgsMHgzOCwweDAzLDB4OWEsMHgwMCwweGY3LDB4ODgsMHgzNSwweGUyLDB4MGMsMHg3OCwweGUzLDB4MGUsMHgwMCB9LAotICAxNiwgMHhmMGMwLCAwLCB7MHhlMywweGU4LDB4MzQsMHhmOCwweDBjLDB4M2MsMHgyMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGQwLCAwLCB7MHgwOCwweDFkLDB4YTgsMHgwNCwweGYxLDB4MDAsMHgzZSwweDQyLDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhiZSB9LAotICAxNiwgMHhmMGUwLCAwLCB7MHhjYywweDFlLDB4YjYsMHgwNywweGVkLDB4ODAsMHhmYiwweDAwLDB4MzYsMHgwMCwweDBmLDB4YjAsMHg0MywweDY4LDB4MDAsMHhjYiB9LAotICAxNiwgMHhmMGYwLCAwLCB7MHgzMCwweDNlLDB4ZDgsMHgwZiwweGI2LDB4MGIsMHhlZCwweDQwLDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgyZiwweGI2LDB4MDMsMHhjMiB9LAotICAxNiwgMHhmMTAwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGYyLDB4NDAsMHhmYiwweDkxLDB4M2QsMHg0YyB9LAotICAxNiwgMHhmMTEwLCAwLCB7MHg4MCwweGY4LDB4MDMsMHhkZSwweDQwLDB4YzYsMHg4MCwweDFiLDB4ZjAsMHg0ZiwweGZkLDB4MDcsMHhmZiwweDAwLDB4Y2QsMHg4MCB9LAotICAxNiwgMHhmMTIwLCAwLCB7MHgzMywweGUwLDB4MGMsMHg2OCwweDAzLDB4YmEsMHgwMCwweGZmLDB4ODAsMHgzMywweGUwLDB4MDcsMHhmOCwweDAzLDB4M2YsMHgxMCB9LAotICAxNiwgMHhmMTMwLCAwLCB7MHhjZiwweDgwLDB4M2YsMHhlMCwweDBjLDB4ZmMsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTQwLCAwLCB7MHhhOCwweDExLDB4OTAsMHgwMCwweGI1LDB4YzAsMHgyZCwweDQwLDB4MDgsMHg2MiwweDAyLDB4ZGMsMHgyMCwweGQ2LDB4MDIsMHgyMSB9LAotICAxNiwgMHhmMTUwLCAwLCB7MHhjOCwweDhmLDB4NzAsMHgwMiwweGRjLDB4ODEsMHhiNSwweDAwLDB4ODEsMHg0NCwweDBkLDB4NjEsMHgyMiwweDE4LDB4MDQsMHhiNyB9LAotICAxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgwYiwweDcwLDB4MDIsMHhiYywweDAwLDB4YTcsMHgwMSwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDMsMHhlYSB9LAotICAxNiwgMHhmMTcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDkwLDB4MDEsMHhiNiwweDAxLDB4MmYsMHhjMCB9LAotICAxNiwgMHhmMTgwLCAwLCB7MHgxOCwweDcwLDB4MDIsMHhkYywweDBhLDB4OTYsMHgxMCwweDI5LDB4YzEsMHg0YiwweDcwLDB4MDYsMHhkYywweDEwLDB4ODUsMHgwMCB9LAotICAxNiwgMHhmMTkwLCAwLCB7MHgyNSwweDgwLDB4MDgsMHg2MCwweDgyLDB4MWEsMHgyMCwweGEzLDB4MDAsMHgyNSwweGMwLDB4MGIsMHgzMSwweDAyLDB4NWMsMHg0MCB9LAotICAxNiwgMHhmMWEwLCAwLCB7MHg4NywweDAwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWIwLCAwLCB7MHgyMCwweDE0LDB4YzgsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4ODgsMHgyMCwweDAyLDB4ZWQsMHgwMCwweDhhLDB4NjAsMHgyMCB9LAotICAxNiwgMHhmMWMwLCAwLCB7MHhjMCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MDQsMHhiMSwweDAwLDB4MjQsMHgwMCwweDI4LDB4MjQsMHgwMiwweDBhLDB4MDAsMHgzMyB9LAotICAxNiwgMHhmMWQwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhjYywweDAwLDB4YTMsMHgwMCwweDJjLDB4YzAsMHg4OCwweDMwLDB4MDIsMHg4OCB9LAotICAxNiwgMHhmMWUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjNiB9LAotICAxNiwgMHhmMWYwLCAwLCB7MHgwYywweDgwLDB4MDMsMHhlNSwweDAwLDB4MDksMHhjOCwweGFiLDB4ZTIsMHgwYiwweGYwLDB4MDIsMHhmYywweDAwLDB4NGEsMHgwMCB9LAotICAxNiwgMHhmMjAwLCAwLCB7MHgzNiwweGMwLDB4MDgsMHg5MCwweDAzLDB4YTYsMHgwMCwweGZmLDB4MDAsMHgzMywweGMwLDB4MGYsMHhmMCwweDAzLDB4N2MsMHgwMCB9LAotICAxNiwgMHhmMjEwLCAwLCB7MHg4ZiwweDAwLDB4MmYsMHhjMCwweDI4LDB4ZjAsMHgwMiwweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjIwLCAwLCB7MHg4MCwweDAwLDB4ZTEsMHgwMCwweGZhLDB4MDEsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGY5LDB4NDAsMHgzZSB9LAotICAxNiwgMHhmMjMwLCAwLCB7MHhjMCwweDA3LDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYSwweDAwLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgyMywweGU1LDB4MDAsMHhmYiB9LAotICAxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIwLDB4MjMsMHhlMCB9LAotICAxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhmYywweDIwLDB4M2YsMHhjMCB9LAotICAxNiwgMHhmMjYwLCAwLCB7MHgwYywweGM4LDB4MDMsMHhmYywweDIwLDB4Y2QsMHg4MSwweGIzLDB4YzIsMHg0ZiwweGYwLDB4MDMsMHhmYywweDAwLDB4Y2EsMHgwMCB9LAotICAxNiwgMHhmMjcwLCAwLCB7MHgzYywweDgwLDB4MGMsMHhkMCwweDgyLDB4MzYsMHgwMSwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwOCB9LAotICAxNiwgMHhmMjgwLCAwLCB7MHhjZiwweDA0LDB4M2EsMHhjMCwweDVjLDB4YjAsMHgwMywweGMwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjkwLCAwLCB7MHg4MSwweDA0LDB4NjIsMHgwNCwweGI4LDB4NDAsMHgyYywweDYwLDB4MDgsMHg4OSwweDAyLDB4ZWUsMHg4MCwweGE5LDB4NjAsMHgyYSB9LAotICAxNiwgMHhmMmEwLCAwLCB7MHhjMCwweDBiLDB4YjAsMHgwMywweDhjLDB4MDAsMHhhYSwweDQwLDB4MmUsMHgwMCwweDA4LDB4MTAsMHgwMiwweDI2LDB4ODEsMHhlYiB9LAotICAxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDI2LDB4YzAsMHg4YiwweGIwLDB4MTMsMHg2YywweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgzZCwweGIwLDB4MDIsMHhlMCB9LAotICAxNiwgMHhmMmMwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDIzLDB4MDAsMHhiYiwweDAzLDB4MmUsMHhjOCB9LAotICAxNiwgMHhmMmQwLCAwLCB7MHgwOSwweGIwLDB4MDIsMHhlZSwweDAwLDB4OGIsMHgxMCwweDI2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4YTgsMHgwMCB9LAotICAxNiwgMHhmMmUwLCAwLCB7MHgyZSwweGMwLDB4MDgsMHg4OCwweDIyLDB4YTQsMHg4MCwweGJiLDB4MDAsMHgyZSwweGMwLDB4NGIsMHhiMCwweDIyLDB4MGMsMHgwMCB9LAotICAxNiwgMHhmMmYwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzAwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweGIyLDB4MDAsMHgyZSwweGMwLDB4MjksMHgyOCwweDAyLDB4ZWMsMHgwMSwweGEwLDB4MDIsMHgyMCB9LAotICAxNiwgMHhmMzEwLCAwLCB7MHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhhMCwweDAwLDB4MmMsMHg0MCwweDA4LDB4MDAsMHg0MiwweDg0LDB4MDAsMHg5MyB9LAotICAxNiwgMHhmMzIwLCAwLCB7MHgwMCwweDZjLDB4YzAsMHgwYiwweDMwLDB4MDYsMHg0ZCwweDAwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhmMzMwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhmOCwweDIwLDB4MmYsMHhjMCB9LAotICAxNiwgMHhmMzQwLCAwLCB7MHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweDMzLDB4YzAsMHgwYiwweGYwLDB4MDMsMHhmYywweDE4LDB4ZTgsMHgwMCB9LAotICAxNiwgMHhmMzUwLCAwLCB7MHgyZSwweDgwLDB4MDgsMHg4MCwweDAzLDB4YTQsMHgwMCwweGJmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQzLDB4M2QsMHgxMSB9LAotICAxNiwgMHhmMzYwLCAwLCB7MHhjZiwweDAzLDB4M2UsMHhjMSwweDVkLDB4ZjAsMHgyMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzcwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MTAsMHgzZiwweDQwLDB4MGUsMHhlMCwweDAzLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiB9LAotICAxNiwgMHhmMzgwLCAwLCB7MHhjMCwweDBmLDB4ZjAsMHgwMywweGJjLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDJmLDB4YzAsMHgwMywweDc0LDB4MDAsMHhlZiB9LAotICAxNiwgMHhmMzkwLCAwLCB7MHgwMCwweDI3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDE4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhmM2EwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxNSwweGZjLDB4ODgsMHg5YywweDI5LDB4M2YsMHgwOCB9LAotICAxNiwgMHhmM2IwLCAwLCB7MHgwZiwweGQyLDB4ODMsMHhlYywweDAwLDB4ZmYsMHgwOCwweDNmLDB4MjgsMHgwZiwweGNhLDB4MDMsMHgzYywweDQxLDB4Y2YsMHgyMCB9LAotICAxNiwgMHhmM2MwLCAwLCB7MHg3MywweDJjLDB4MGMsMHhjMCwweDAzLDB4MzAsMHgyMCwweGNmLDB4NjAsMHgzMywweGQ4LDB4MGYsMHg3OCwweDAzLDB4M2YsMHg4MCB9LAotICAxNiwgMHhmM2QwLCAwLCB7MHhkZCwweDkyLDB4MzMsMHhjOCwweDBmLDB4NTAsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2UwLCAwLCB7MHg4MCwweDEwLDB4ZTUsMHg0MCwweDg4LDB4NDAsMHgyZSwweDA0LDB4OGIsMHg5NCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgwZSB9LAotICAxNiwgMHhmM2YwLCAwLCB7MHg3ZiwweDhmLDB4OWUsMHg4MywweDY1LDB4ODIsMHhjZiwweDY4LDB4M2UsMHg1MCwweDhkLDB4MDQsMHg5MiwweDJmLDB4MDQsMHhkMyB9LAotICAxNiwgMHhmNDAwLCAwLCB7MHg0MCwweDc0LDB4ZGMsMHgwZCwweGEyLDB4MDIsMHgyMCwweDQwLDB4ODksMHgwMCwweDIyLDB4ZjAsMHgwYiwweDk4LDB4MDIsMHgyMCB9LAotICAxNiwgMHhmNDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM4LDB4MDksMHhhMCwweDg1LDB4MmMsMHgwMSB9LAotICAxNiwgMHhmNDIwLCAwLCB7MHgwYiwweDAwLDB4MTAsMHhjYywweDQwLDB4YTIsMHgwOCwweDJjLDB4MDAsMHhkYiwweDExLDB4MDIsMHg4OSwweDAwLDB4OTMsMHgzMCB9LAotICAxNiwgMHhmNDMwLCAwLCB7MHgyMCwweDA1LDB4MDgsMHgxMywweDAyLDB4ODAsMHgwOCwweGEzLDB4NjAsMHg2MCwweGMwLDB4MGEsMHhiMCwweDgyLDB4MDgsMHg4NCB9LAotICAxNiwgMHhmNDQwLCAwLCB7MHg4MSwweDIwLDB4MjAsMHhkMCwweDBiLDB4MTAsMHgwMiwweGEyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDUwLCAwLCB7MHhjMCwweDE1LDB4YTQsMHgxMiwweDg4LDB4ODAsMHg2ZSwweDIwLDB4MGIsMHg4OCwweDgyLDB4ZWUsMHgwMCwweGJhLDB4ODEsMHgyZSB9LAotICAxNiwgMHhmNDYwLCAwLCB7MHg2MCwweDVhLDB4OTgsMHgwMiwweGEyLDB4MDAsMHg4YiwweDAwLDB4MmEsMHg2MCwweDA4LDB4MTEsMHgxYSwweDJjLDB4MDAsMHhiYiB9LAotICAxNiwgMHhmNDcwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGI4LDB4MGEsMHgyOCwweDAwLDB4ODEsMHgyMCwweDAyLDB4YzAsMHgwYiwweDkwLDB4MDIsMHhiMCB9LAotICAxNiwgMHhmNDgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGVkLDB4MDAsMHhkOSwweDgwLDB4M2UsMHgyMCB9LAotICAxNiwgMHhmNDkwLCAwLCB7MHg0ZiwweDk4LDB4MDAsMHhlYiwweDIwLDB4ZmIsMHhlMCwweDJlLDB4NjAsMHgwYiwweDhjLDB4NjIsMHhhZSwweDIwLDB4OGIsMHgwMCB9LAotICAxNiwgMHhmNGEwLCAwLCB7MHgyMiwweDYwLDB4MDgsMHhiYywweDAzLDB4YTAsMHgyMCwweGViLDB4MDAsMHgyMiwweGMxLDB4MGEsMHgxOCwweDBiLDB4MjUsMHgwMCB9LAotICAxNiwgMHhmNGIwLCAwLCB7MHhkOSwweDAwLDB4YjIsMHhjMCwweDBmLDB4OTAsMHgwYiwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGMwLCAwLCB7MHhlMCwweDAxLDB4OTQsMHg4OCwweGZmLDB4MDAsMHgzZiwweDAxLDB4MGYsMHhkMCwweDAxLDB4ZjAsMHgwOCwweGRkLDB4MDEsMHgzZiB9LAotICAxNiwgMHhmNGQwLCAwLCB7MHg0MiwweDA3LDB4NDAsMHgwMywweDVjLDB4MDAsMHhhZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZjgsMHgwMCwweGYwLDB4MDAsMHhkZiB9LAotICAxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhmNCwweDUwLDB4ZmQsMHg4MCwweDNmLDB4YzAsMHgwZiwweGQwLDB4MDMsMHg3OCB9LAotICAxNiwgMHhmNGYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweGFjLDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhmNTAwLCAwLCB7MHgwZiwweDk0LDB4MDMsMHhhOCwweDIwLDB4Y2EsMHg0MCwweDNhLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlYSwweDA4LDB4ZmIsMHgwMCB9LAotICAxNiwgMHhmNTEwLCAwLCB7MHgzYSwweDAwLDB4NGMsMHhmNiwweDIzLDB4MmMsMHgzMCwweGNiLDB4MDAsMHgzNiwweGMwLDB4MGQsMHg5MCwweDAzLDB4YTEsMHgwMiB9LAotICAxNiwgMHhmNTIwLCAwLCB7MHhkOSwweDAwLDB4YmEsMHhjMCwweDBmLDB4OTgsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTMwLCAwLCB7MHhjOCwweDA1LDB4MjQsMHgwMCwweDhhLDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NSwweDAyLDB4ZTAsMHgwOCwweDg4LDB4ODAsMHgyMiB9LAotICAxNiwgMHhmNTQwLCAwLCB7MHg3MCwweDhmLDB4OGMsMHgwMiwweGUwLDB4MDAsMHhiZiwweDAyLDB4MjAsMHgwMCwweDA4LDB4YjgsMHgwMiwweDBlLDB4MDAsMHhkZiB9LAotICAxNiwgMHhmNTUwLCAwLCB7MHgwMCwweDIzLDB4ZGQsMHgwOCwweDk4LDB4ODIsMHgyYSwweDAwLDB4ODksMHg4MCwweDIzLDB4YzAsMHgwYiwweDUwLDB4MWEsMHgzMiB9LAotICAxNiwgMHhmNTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ0LDB4MDAsMHg4MywweDA1LDB4MjQsMHg0MSB9LAotICAxNiwgMHhmNTcwLCAwLCB7MHgwOSwweDEwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHg5MCwweDJjLDB4ODAsMHgxYiwweDI0LDB4ODIsMHhjYywweDAwLDB4YmIsMHgwMCB9LAotICAxNiwgMHhmNTgwLCAwLCB7MHgyYywweDgwLDB4MDgsMHgwNCwweDA4LDB4MDQsMHgwMSwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjgsMHgxMiwweDAyLDB4NmMsMHg4MCB9LAotICAxNiwgMHhmNTkwLCAwLCB7MHg4MSwweDQ4LDB4MjQsMHhjNCwweDBiLDB4MTAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWEwLCAwLCB7MHgyMCwweDAxLDB4M2UsMHg0MiwweDg2LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4ZjYsMHg5MCwweDhkLDB4ODAsMHgyMSB9LAotICAxNiwgMHhmNWIwLCAwLCB7MHgyMiwweDBiLDB4NTgsMHgwMiwweGQ3LDB4NDAsMHhiNywweDkwLDB4MjEsMHhlMCwweDA4LDB4NDksMHg5MiwweDFlLDB4NTMsMHg5NyB9LAotICAxNiwgMHhmNWMwLCAwLCB7MHg4MSwweDIxLDB4ZTAsMHg0OCwweGM4LDB4MGEsMHg1MiwweDIyLDB4ODUsMHg4OCwweDI1LDB4ZTAsMHgwYiwweDU4LDB4MDIsMHgwOCB9LAotICAxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MywweDAwLDB4MzQsMHhjMCB9LAotICAxNiwgMHhmNWUwLCAwLCB7MHgwZiwweDAwLDB4MDMsMHhjZSwweDIwLDB4YzMsMHgzMCwweDdjLDB4OTQsMHgwYiwweDM0LDB4ODMsMHhjYywweDE0LDB4ZjMsMHgwMiB9LAotICAxNiwgMHhmNWYwLCAwLCB7MHgzYywweDgwLDB4MGMsMHgwNCwweDAzLDB4MDQsMHg2MCwweGMzLDB4MDAsMHhiMCwweGMwLDB4MGMsMHgxMCwweDAzLDB4ZWMsMHgwMCB9LAotICAxNiwgMHhmNjAwLCAwLCB7MHhjOSwweDAwLDB4M2MsMHhjNCwweDBmLDB4MTEsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjEwLCAwLCB7MHg0MCwweDFkLDB4OWMsMHgwMCwweGVlLDB4MDEsMHgzZiwweGMwLDB4NGYsMHhlMSwweDAzLDB4ZDQsMHg0MCwweGY1LDB4MTYsMHg3YSB9LAotICAxNiwgMHhmNjIwLCAwLCB7MHhjMCwweDRlLDB4ZjAsMHgwMywweGY0LDB4MTAsMHgzNywweDA1LDB4M2QsMHhjMCwweDBmLDB4YzAsMHgwYiwweGRjLDB4NDAsMHhmZiB9LAotICAxNiwgMHhmNjMwLCAwLCB7MHgwMCwweDNiLDB4YzIsMHgwZSwweGQwLDB4MDcsMHhiYywweDAyLDB4ZWYsMHgwMCwweDNiLDB4YzYsMHgwZiwweGQwLDB4MDMsMHhkMCB9LAotICAxNiwgMHhmNjQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGY0LDB4MDAsMHhkZCwweDg0LDB4MzMsMHg4MCB9LAotICAxNiwgMHhmNjUwLCAwLCB7MHgwNCwweGYwLDB4MDMsMHg2YywweDAyLDB4Y2IsMHgwMiwweDdlLDB4YzAsMHgxZiwweGEwLDB4NTMsMHhlYywweDAwLDB4Y2IsMHgyMCB9LAotICAxNiwgMHhmNjYwLCAwLCB7MHgzNCwweDQwLDB4MGMsMHhkMCwweDBiLDB4MjAsMHgxMCwweGViLDB4MDAsMHgxZSwweGUwLDB4MGYsMHgzMCwweDBiLDB4MmMsMHgwMCB9LAotICAxNiwgMHhmNjcwLCAwLCB7MHhjMSwweDAwLDB4MzIsMHhjMCwweDBmLDB4OTEsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjgwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDg3LDB4MDAsMHgyMSwweDgwLDB4MDgsMHg2MCwweDAwLDB4MTQsMHgwMCwweDg1LDB4MDAsMHgyZCB9LAotICAxNiwgMHhmNjkwLCAwLCB7MHg4MCwweDBiLDB4NzAsMHg1MiwweGQ0LDB4MDQsMHg4MywweDI4LDB4MjksMHhjMCwweDI4LDB4NTAsMHgwMywweDUwLDB4MDAsMHg4NyB9LAotICAxNiwgMHhmNmEwLCAwLCB7MHg0MCwweDI1LDB4YzgsMHgwZiwweDYwLDB4MDIsMHgwNCwweDAwLDB4YTcsMHgwMCwweDNkLDB4YzgsMHgwYiwweDUyLDB4MDIsMHhkMiB9LAotICAxNiwgMHhmNmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDhlLDB4MDAsMHg5NSwweDgwLDB4MjEsMHhlMCB9LAotICAxNiwgMHhmNmMwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHgxZSwweDExLDB4YTcsMHg4MCwweDJkLDB4ZjAsMHgwYiwweDc4LDB4NTIsMHhjZSwweDBhLDB4OTcsMHg5NSB9LAotICAxNiwgMHhmNmQwLCAwLCB7MHgyMSwweGUwLDB4MTksMHg1YywweDAyLDB4MGUsMHgwMCwweGE3LDB4ODAsMHgyOSwweGM4LDB4MGIsMHhmOCwweDAyLDB4MWUsMHgyMCB9LAotICAxNiwgMHhmNmUwLCAwLCB7MHg4ZCwweDgwLDB4MjEsMHhlMCwweDBiLDB4NTgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDgyLDB4ZTAsMHhhMCwweGU4LDB4MjksMHgzMCwweDA2LDB4MGUsMHg1MCwweGFiLDB4ODAsMHgyYyB9LAotICAxNiwgMHhmNzAwLCAwLCB7MHhmMCwweDBiLDB4MzEsMHg0MiwweGNjLDB4MDAsMHg5MywweDAwLDB4MjgsMHhjNCwweDA5LDB4OTgsMHgwMiwweDRjLDB4MjgsMHg4MyB9LAotICAxNiwgMHhmNzEwLCAwLCB7MHgwMCwweDI0LDB4YzAsMHgwYSwweGIwLDB4MDIsMHgwZCwweDAwLDB4YTIsMHg1OCwweDI4LDB4YzAsMHgwYiwweDEwLDB4MDIsMHhkMiB9LAotICAxNiwgMHhmNzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4MDAsMHhkZSwweDgwLDB4MzEsMHhhMCB9LAotICAxNiwgMHhmNzMwLCAwLCB7MHgwOSwweGUyLDB4MGIsMHg3OCwweDA0LDB4ZWUsMHhhNCwweDJmLDB4YTQsMHg4YiwweGVjLDB4MDIsMHhkOCwweDAwLDB4ZGEsMHgwMCB9LAotICAxNiwgMHhmNzQwLCAwLCB7MHgyNywweDgxLDB4MGQsMHhlYywweDA2LDB4MWIsMHgwMCwweGVhLDB4MDQsMHgzZSwweDgwLDB4MGIsMHhlMCwweDAzLDB4M2IsMHgwMCB9LAotICAxNiwgMHhmNzUwLCAwLCB7MHhjZSwweGMwLDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHg4MCwweGY4LDB4MTAsMHgzZSwweDA1LDB4MGUsMHg4OCwweDAzLDB4ZTAsMHgwOCwweDk4LDB4NDAsMHgzZSB9LAotICAxNiwgMHhmNzcwLCAwLCB7MHgwMCwweDBmLDB4ODQsMHg4MywweGUxLDB4NDAsMHhlOCwweDAwLDB4M2EsMHgwMiwweDBlLDB4ODAsMHg0MywweGUxLDB4NDAsMHhmOCB9LAotICAxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGM0LDB4MDAsMHhlOSwweDAwLDB4M2UsMHg0MCB9LAotICAxNiwgMHhmN2EwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgwNCwweDIwLDB4ZTksMHg5MCwweDMyLDB4NjgsMHgwZSwweDk4LDB4MDMsMHhhNCwweDAwLDB4YzEsMHgwMCB9LAotICAxNiwgMHhmN2IwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHg5NCwweDgzLDB4MjQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YTQsMHgwMCB9LAotICAxNiwgMHhmN2MwLCAwLCB7MHhjOSwweDAwLDB4MzAsMHg1MCwweDBjLDB4MWEsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2QwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4NDAsMHgyZSwweDUwLDB4MjgsMHg5MCwweDBhLDB4MjQsMHgwOCwweDg5LDB4MDYsMHgxNiB9LAotICAxNiwgMHhmN2UwLCAwLCB7MHg2MSwweDBiLDB4OWMsMHgwMiwweGU0LDB4MjAsMHhhOSwweDAwLDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMiwweDI3LDB4NjAsMHhhOSB9LAotICAxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgyOCwweDkwLDB4MWEsMHgyNCwweDAwLDB4ODksMHgwMCwweDM2LDB4NDAsMHgyOCwweDk4LDB4MDIsMHgyMCB9LAotICAxNiwgMHhmODAwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDJjLDB4MDAsMHhhOSwweDA4LDB4MmUsMHhjMiB9LAotICAxNiwgMHhmODEwLCAwLCB7MHgwOSwweDEwLDB4MDAsMHgyNCwweDAwLDB4YTksMHgwMCwweDA2LDB4NDAsMHg4OSwweDk2LDB4MDYsMHhlNiwweDAwLDB4ODksMHgwMCB9LAotICAxNiwgMHhmODIwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyNCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MGMsMHgwNiB9LAotICAxNiwgMHhmODMwLCAwLCB7MHg4MywweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweDgxLDB4NDQsMHgyYywweDUwLDB4MDgsMHgxNCwweDAyLDB4MDUsMHg4MCwweDgxLDB4MjAsMHg2NCB9LAotICAxNiwgMHhmODUwLCAwLCB7MHg3MCwweDFiLDB4MTQsMHgwMiwweGU0LDB4ODAsMHhhMSwweDIwLDB4NjQsMHg0MCwweDE5LDB4MTIsMHgwYSwweDA0LDB4ODAsMHhhMSB9LAotICAxNiwgMHhmODYwLCAwLCB7MHgwMCwweDJjLDB4NTAsMHgxOCwweDE0LDB4MDIsMHg4NSwweDAwLDB4ODEsMHg0MCwweDI0LDB4NDAsMHg0MCwweDEwLDB4MDIsMHgwMiB9LAotICAxNiwgMHhmODcwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhlMCwweDAwLDB4M2MsMHgwMCB9LAotICAxNiwgMHhmODgwLCAwLCB7MHgwZCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YWEsMHg1MCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MiB9LAotICAxNiwgMHhmODkwLCAwLCB7MHg3MiwweDE0LDB4MGMsMHgwNSwweDE2LDB4MjAsMHgwOCwweGM4LDB4NTAsMHgzZSwweDAxLDB4MGMsMHg4MCwweDAzLDB4YTAsMHgwNCB9LAotICAxNiwgMHhmOGEwLCAwLCB7MHhjOCwweDAwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGIwLCAwLCB7MHg5OCwweDE5LDB4ZjUsMHgwMiwweGZkLDB4NDAsMHgzZiwweGQwLDB4MGYsMHhkNCwweDIzLDB4ZjQsMHg0NCwweGZkLDB4MTQsMHg3ZiB9LAotICAxNiwgMHhmOGMwLCAwLCB7MHg1MCwweDBmLDB4ZDQsMHgwNywweGY0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg1MCwweDA3LDB4ZDEsMHgyMywweGY0LDB4NDAsMHhmOSB9LAotICAxNiwgMHhmOGQwLCAwLCB7MHg0MCwweDFlLDB4NTAsMHgwNywweGQwLDB4MGIsMHg3NSwweDAwLDB4ZmQsMHgwMiwweDNlLDB4NTAsMHgwZiwweGQ0LDB4MDMsMHhlNiB9LAotICAxNiwgMHhmOGUwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4MDAsMHhjOSwweGE4LDB4M2UsMHg3MiB9LAotICAxNiwgMHhmOGYwLCAwLCB7MHgwZiwweDk4LDB4MDMsMHhlNiwweGMwLDB4ZmQsMHhhMCwweGIzLDB4NDAsMHgwZiwweGQwLDB4MDMsMHg3NywweDgwLDB4Y2QsMHg5MCB9LAotICAxNiwgMHhmOTAwLCAwLCB7MHg3ZiwweDQwLDB4MGYsMHhkYSwweGEzLDB4MTYsMHg5MCwweGE5LDB4YzAsMHgzMiwweDYwLDB4NGMsMHhiMSwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhmOTEwLCAwLCB7MHhjMSwweDAwLDB4MzMsMHg2YSwweDBiLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTIwLCAwLCB7MHgzOCwweDEwLDB4ZTMsMHg0MCwweDg4LDB4ZTAsMHgyZSwweDMwLDB4MGIsMHg4ZCwweDAyLDB4ZjMsMHg0MCwweGI4LDB4ZTgsMHg3NiB9LAotICAxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDRmLDB4ODAsMHgwYSwweDIyLDB4ODAsMHg4OCwweDkwLDB4NmUsMHgyOCwweDhmLDB4OGEsMHgwMywweDYxLDB4NDQsMHhmOCB9LAotICAxNiwgMHhmOTQwLCAwLCB7MHhlMSwweDNlLDB4MmEsMHgwOCwweDg4LDB4MDMsMHg0MiwweGEwLDB4ZGMsMHhhMCwweDNlLDB4MTAsMHgwYiwweDg1LDB4MGEsMHgwZSB9LAotICAxNiwgMHhmOTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4YTAsMHg4NSwweDA4LDB4MmQsMHg0OCB9LAotICAxNiwgMHhmOTYwLCAwLCB7MHgxYiwweDUyLDB4ODIsMHhkNCwweDgwLDB4YjEsMHgxNCwweDIwLDB4NDAsMHgwYiwweDE4LDB4MDIsMHgwNSwweDgyLDB4ODEsMHgwMCB9LAotICAxNiwgMHhmOTcwLCAwLCB7MHg2YywweDQyLDB4MGIsMHgxMiwweDgyLDB4MDQsMHgwMCwweGExLDB4NjAsMHgyMSwweDUwLDB4MGIsMHg1MCwweDAyLDB4MTQsMHg5MCB9LAotICAxNiwgMHhmOTgwLCAwLCB7MHg5NSwweDJjLDB4MjgsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMSwweDhkLDB4NDQsMHgyZiwweDQwLDB4MGIsMHhkNCwweDAyLDB4ZjQsMHgwNCwweGI5LDB4MDgsMHgyMiB9LAotICAxNiwgMHhmOWEwLCAwLCB7MHg0MCwweDBhLDB4OTIsMHgwMiwweDJjLDB4ODQsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBhLDB4MTQsMHgwMiwweDZjLDB4ODAsMHhhOSB9LAotICAxNiwgMHhmOWIwLCAwLCB7MHgwMSwweDJhLDB4NDAsMHgwOSwweDUwLDB4MGEsMHg1YywweDAyLDB4OGQsMHg2MCwweDJhLDB4NDAsMHgwYiwweDkwLDB4NDIsMHgwNiB9LAotICAxNiwgMHhmOWMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4NjIsMHhjOSwweDAyLDB4M2UsMHg1NCB9LAotICAxNiwgMHhmOWQwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg0MCwweDIyLDB4NDYsMHgwYiwweDk4LDB4MDMsMHg2NywweDIwLDB4YzksMHgwMSB9LAotICAxNiwgMHhmOWUwLCAwLCB7MHgyZSwweDY5LDB4MGIsMHg5NCwweDBiLDB4MjUsMHgyMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MmQsMHg5MiwweDBhLDB4MjYsMHgyMiB9LAotICAxNiwgMHhmOWYwLCAwLCB7MHg5OSwweDAwLDB4MmEsMHg0MCwweDhmLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTAwLCAwLCB7MHgyOCwweDAxLDB4ODYsMHgwMiwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHg4MCwweGYxLDB4YTAsMHgzZSB9LAotICAxNiwgMHhmYTEwLCAwLCB7MHg2MiwweDBmLDB4OTgsMHg4MywweGM2LDB4MjAsMHhmOSwweDAwLDB4M2UsMHg0OSwweDBmLDB4OTAsMHg4MywweGU0LDB4MDAsMHg3MSB9LAotICAxNiwgMHhmYTIwLCAwLCB7MHgwMiwweDNlLDB4NDAsMHgwZSwweDkwLDB4MGIsMHhlNiwweDgwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MTAsMHhjOCwweDAwLDB4M2UsMHgwMCB9LAotICAxNiwgMHhmYTQwLCAwLCB7MHg0ZiwweDgwLDB4NDMsMHhiMCwweDAwLDB4YzgsMHg0MSwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMSwweDAyLDB4YzgsMHgwMiB9LAotICAxNiwgMHhmYTUwLCAwLCB7MHgzZSwweDEwLDB4NGMsMHg4MCwweDAzLDB4MDEsMHgyMCwweGM4LDB4MDAsMHgzYiwweDAwLDB4MGMsMHhjMCwweDAzLDB4YjAsMHgwMCB9LAotICAxNiwgMHhmYTYwLCAwLCB7MHhjYywweDA0LDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTcwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwMCwweDhhLDB4ODAsMHgyZSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ZjgsMHgwNCwweDhlLDB4MDAsMHgyMyB9LAotICAxNiwgMHhmYTgwLCAwLCB7MHhiMiwweDBlLDB4ZTAsMHg4MiwweGY5LDB4MDQsMHg4YSwweDAwLDB4MmUsMHg4MSwweDBjLDB4ZTAsMHgwYSwweDNhLDB4ODAsMHhkYSB9LAotICAxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDIyLDB4YjYsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4OGUsMHgwMCwweDJhLDB4ODAsMHgwYiwweDYwLDB4MGIsMHgwYSB9LAotICAxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDQ0LDB4MDIsMHg5MywweDgxLDB4MmMsMHhjMCB9LAotICAxNiwgMHhmYWIwLCAwLCB7MHg0YiwweDMwLDB4MDIsMHhjOCwweDAwLDB4ODMsMHhjYSwweDIwLDB4ZTAsMHgxOSwweGIwLDB4MDYsMHg4YywweDAwLDB4ODEsMHgwNCB9LAotICAxNiwgMHhmYWMwLCAwLCB7MHg0NCwweDQwLDB4MDgsMHgzNCwweDAyLDB4MGQsMHgwMCwweDgzLDB4MDAsMHgyYSwweDAwLDB4MDgsMHgwMCwweDBhLDB4ODAsMHg0MCB9LAotICAxNiwgMHhmYWQwLCAwLCB7MHg4OCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRiLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWUwLCAwLCB7MHhhMCwweDAxLDB4MDQsMHgwMiwweDk3LDB4MDgsMHgyZCwweGMwLDB4MGIsMHg2MCwweDA2LDB4Y2EsMHgwMCwweDgzLDB4MDksMHgyMSB9LAotICAxNiwgMHhmYWYwLCAwLCB7MHhjMCwweDBhLDB4NzAsMHgwMiwweGRjLDB4MDAsMHg4NSwweDMxLDB4MmQsMHg2OCwweDA5LDB4MzAsMHgwMiwweDFjLDB4MTQsMHg5MyB9LAotICAxNiwgMHhmYjAwLCAwLCB7MHgyMCwweDIwLDB4YzAsMHgwOCwweGYwLDB4NDIsMHg5YywweDAyLDB4OGYsMHgwMCwweDI5LDB4NDAsMHgwMywweDcwLDB4MTIsMHgyOCB9LAotICAxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDE2LDB4MDAsMHg5NiwweDg0LDB4M2QsMHhhMCB9LAotICAxNiwgMHhmYjIwLCAwLCB7MHgwZiwweDc4LDB4MDMsMHg5YSwweDAyLDB4ODcsMHg4MCwweGIxLDB4ZTAsMHgwYiwweDc4LDB4MDMsMHhiNiwweDAwLDB4YzUsMHhhMCB9LAotICAxNiwgMHhmYjMwLCAwLCB7MHgzNSwweDYxLDB4MGMsMHg3OCwweDEzLDB4MWUsMHgwMiwweGM3LDB4ODAsMHgyOSwweDAwLDB4MGMsMHg0OCwweDAzLDB4OTAsMHgwMCB9LAotICAxNiwgMHhmYjQwLCAwLCB7MHhjNCwweDgwLDB4MzEsMHg2MCwweDBmLDB4NTgsMHgwMywweDZhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjUwLCAwLCB7MHgwOCwweDFkLDB4YTQsMHgwMCwweGVhLDB4MDAsMHgzZSwweDgwLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwOCwweGZiLDB4MDAsMHgzZSB9LAotICAxNiwgMHhmYjYwLCAwLCB7MHg4MCwweDBmLDB4OTAsMHgxMywweGU0LDB4MDgsMHhmOSwweDAwLDB4M2MsMHg1MCwweDJlLDB4ZjAsMHgwMywweGU4LDB4MDgsMHhmYiB9LAotICAxNiwgMHhmYjcwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwYiwweDMwLDB4MTMsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweDMwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhmYjgwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGQ2LDB4MDAsMHhjZCwweDgwLDB4MzMsMHhlMCB9LAotICAxNiwgMHhmYjkwLCAwLCB7MHgwYywweGY4LDB4MDMsMHhmYSwweDAwLDB4ZmQsMHg4MCwweDNmLDB4YTAsMHgwZCwweGY4LDB4MDMsMHhmYSwweDQwLDB4Y2QsMHhkMCB9LAotICAxNiwgMHhmYmEwLCAwLCB7MHg3NywweDdlLDB4MGMsMHhlOCwweDQzLDB4MWUsMHgwMCwweGNmLDB4ZDgsMHgzZiwweGUwLDB4MGMsMHhjOCwweDAzLDB4M2EsMHhjNCB9LAotICAxNiwgMHhmYmIwLCAwLCB7MHhjYywweDgwLDB4MzMsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmMwLCAwLCB7MHhhOCwweDExLDB4OTQsMHgwMiwweDhkLDB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAzLDB4ZDgsMHgxMCwweDM1LDB4MjAsMHg4YiB9LAotICAxNiwgMHhmYmQwLCAwLCB7MHhkNCwweDBkLDB4NjQsMHgwMywweGQ4LDB4YzAsMHg4NSwweDAwLDB4MmYsMHg0ZSwweDA3LDB4NjQsMHgwMiwweDljLDB4MDIsMHhkNyB9LAotICAxNiwgMHhmYmUwLCAwLCB7MHgzMCwweDJmLDB4MDQsMHgwZCwweGYxLDB4MGIsMHg1NCwweDQwLDB4YWYsMHgwMCwweDM1LDB4NDAsMHgwOCwweDcwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk0LDB4NDAsMHg4NCwweDE4LDB4MjEsMHg4MCB9LAotICAxNiwgMHhmYzAwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhkYSwweDIwLDB4YjUsMHgwMCwweDA5LDB4MDAsMHgwOCwweDcwLDB4MDIsMHhkNCwweDA0LDB4ODUsMHgwMCB9LAotICAxNiwgMHhmYzEwLCAwLCB7MHg2ZCwweDRjLDB4ODksMHg2MCwweDAyLDB4NWMsMHg0MCwweDk3LDB4MDAsMHg2ZCwweGMwLDB4MDksMHg0MCwweDAyLDB4NTgsMHg4MCB9LAotICAxNiwgMHhmYzIwLCAwLCB7MHg4NCwweDg4LDB4MjUsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzMwLCAwLCB7MHgyMCwweDE0LDB4YzYsMHg0OCwweDgwLDB4MDAsMHgyMCwweDgwLDB4MDgsMHhhYywweDAyLDB4YTgsMHgwMCwweGIxLDB4MDAsMHhhOCB9LAotICAxNiwgMHhmYzQwLCAwLCB7MHg4OCwweDA5LDB4MjIsMHgwMiwweDg2LDB4NDIsMHg4MSwweDAwLDB4NmMsMHg1MiwweDBiLDB4MjAsMHgwMiwweGM3LDB4NTIsMHg4MyB9LAotICAxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDJjLDB4MDAsMHgwOCwweDM0LDB4ODIsMHg2NywweDAwLDB4YTMsMHg4MCwweDIwLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgwOCB9LAotICAxNiwgMHhmYzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEzLDB4MDAsMHhjYiwweGMwLDB4YjIsMHg0MCB9LAotICAxNiwgMHhmYzcwLCAwLCB7MHgyYywweDkwLDB4ODIsMHhlNiwweDAwLDB4YmIsMHg4MCwweGJlLDB4NzgsMHgwOCwweDhlLDB4MDIsMHhlZSwweDAwLDB4OGQsMHgwMCB9LAotICAxNiwgMHhmYzgwLCAwLCB7MHgyNywweDYwLDB4MGQsMHg5MCwweDBhLDB4NmYsMHgwMCwweDlmLDB4MDIsMHgyZSwweDAwLDB4MDksMHhiNCwweDAzLDB4NjcsMHg4MCB9LAotICAxNiwgMHhmYzkwLCAwLCB7MHhjYSwweDQwLDB4ZTQsMHhjMCwweDBjLDB4MzAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2EwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHg4MCwweGZiLDB4MjIsMHgzZSwweDQwLDB4MGYsMHg4MCwweDEzLDB4ZTQsMHgwMCwweGZiLDB4ODAsMHgzZSB9LAotICAxNiwgMHhmY2IwLCAwLCB7MHg0MCwweDBmLDB4OTAsMHgwMywweGU1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBlLDB4NzAsMHgyMywweGFjLDB4MjAsMHhmYiB9LAotICAxNiwgMHhmY2MwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHg4ZiwweDgwLDB4MDMsMHhlOSwweDIwLDB4ZjksMHgwOCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhlMCB9LAotICAxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MDAsMHhjNiwweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHhmY2UwLCAwLCB7MHgwZiwweGQxLDB4ODMsMHgzNCwweDQwLDB4Y2YsMHgwMCwweDNkLDB4NDAsMHgwYywweGQwLDB4MDMsMHhkZSwweDUwLDB4MGQsMHgwMCB9LAotICAxNiwgMHhmY2YwLCAwLCB7MHg3MywweDQwLDB4MGMsMHhkMSwweDAzLDB4N2MsMHg0MCwweDg3LDB4MDIsMHhiMywweDAwLDB4MGQsMHhmNCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhmZDAwLCAwLCB7MHhjZSwweDIwLDB4MzIsMHg0MCwweDBjLDB4ZDAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDEwLCAwLCB7MHg4MSwweDA0LDB4NjEsMHgyMiwweDhhLDB4MDAsMHgyMiwweDAwLDB4MGIsMHg4MCwweDQwLDB4MjUsMHgwMCwweDg5LDB4YzMsMHgyZSB9LAotICAxNiwgMHhmZDIwLCAwLCB7MHgyMCwweDBhLDB4OTgsMHgwMywweGExLDB4MDAsMHg4OSwweDAwLDB4MzYsMHg0MCwweDg4LDB4OTQsMHgwMiwweDBmLDB4MDEsMHhhYiB9LAotICAxNiwgMHhmZDMwLCAwLCB7MHgwMCwweDMyLDB4YzAsMHgwOCwweDA0LDB4MGEsMHgyOSwweDAwLDB4YTksMHgwMiwweGEyLDB4NDAsMHgwZCwweGIwLDB4MGEsMHgyMCB9LAotICAxNiwgMHhmZDQwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDAwLDB4MDAsMHg4OSwweDAwLDB4MjIsMHg2MSB9LAotICAxNiwgMHhmZDUwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNSwweDAxLDB4OWIsMHg4OCwweDJlLDB4NjAsMHgwOCwweDg4LDB4MDIsMHhlOCwweDAwLDB4YjEsMHgwMiB9LAotICAxNiwgMHhmZDYwLCAwLCB7MHgyNCwweDQwLDB4MTgsMHg5MCwweDAyLDB4MmMsMHgwMCwweGFiLDB4MDEsMHgyMCwweGMxLDB4MDgsMHhiNCwweDQyLDB4MmMsMHgwMCB9LAotICAxNiwgMHhmZDcwLCAwLCB7MHg4MiwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDgwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweDAxLDB4MDAsMHgyMCwweDQwLDB4MGIsMHgwMCwweDBhLDB4MDQsMHg0NiwweDgzLDB4MDEsMHgyYyB9LAotICAxNiwgMHhmZDkwLCAwLCB7MHg0MCwweDFhLDB4MDAsMHgwNiwweDgwLDB4MDAsMHg4MSwweDAwLDB4MjQsMHg0MCwweDA4LDB4MjAsMHgwYSwweDBjLDB4MDEsMHhhMyB9LAotICAxNiwgMHhmZGEwLCAwLCB7MHgwMCwweDI0LDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YTEsMHgwMCwweDIwLDB4NDAsMHgwOSwweDMwLDB4MDIsMHgwMiB9LAotICAxNiwgMHhmZGIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDIsMHhjOCwweDAwLDB4MjIsMHgwMCB9LAotICAxNiwgMHhmZGMwLCAwLCB7MHgwZiwweDkwLDB4MDIsMHgyNSwweDAwLDB4ZGEsMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MDIsMHhjYywweDAwLDB4ZmQsMHgwMCB9LAotICAxNiwgMHhmZGQwLCAwLCB7MHgzNywweDQwLDB4MGMsMHgxMCwweDEzLDB4MmMsMHgwMiwweGFmLDB4MDAsMHgzMiwweGMwLDB4MGQsMHhiMCwweDAzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhmZGUwLCAwLCB7MHhjYSwweDAwLDB4MzIsMHg0MCwweDRjLDB4OTAsMHgwYiwweDAwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZGYwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MDcsMHhjMCwweDAzLDB4ZjQsMHgxYywweGY0LDB4MDAsMHgzZiB9LAotICAxNiwgMHhmZTAwLCAwLCB7MHgwMCwweDFmLDB4YzAsMHgyMywweGIwLDB4MDIsMHg5ZCwweDAxLDB4M2YsMHg0MCwweDhmLDB4YzAsMHgwNywweGZjLDB4MDIsMHhmZiB9LAotICAxNiwgMHhmZTEwLCAwLCB7MHgwMCwweDdiLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhmZTIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZhLDB4MDAsMHhjYiwweDgwLDB4M2YsMHgyNCB9LAotICAxNiwgMHhmZTMwLCAwLCB7MHgwYSwweGMxLDB4MDMsMHhmYywweDI0LDB4Y2QsMHgyMCwweDM3LDB4MGEsMHgwYywweGMyLDB4ODMsMHgzMCwweDgwLDB4ZGMsMHgwMiB9LAotICAxNiwgMHhmZTQwLCAwLCB7MHgzZiwweGNjLDB4MGQsMHhkOSwweDAzLDB4M2MsMHg1OCwweGRmLDB4MzAsMHgzMywweGM4LDB4MGQsMHhmNCwweDIzLDB4M2MsMHg0MCB9LAotICAxNiwgMHhmZTUwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHhjNSwweDRmLDB4ZjAsMHgyMywweGIwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZTYwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMiwweDBiLDB4ODIsMHgyZSwweDA4LDB4MGQsMHhiNywweDAyLDB4ZmQsMHgwMCwweDgzLDB4MTgsMHgwYSB9LAotICAxNiwgMHhmZTcwLCAwLCB7MHg1OCwweDBhLDB4ODQsMHhhMiwweGE1LDB4YTAsMHg4OSwweDMwLDB4MjIsMHg1NSwweDA4LDB4MTIsMHg2MiwweGJkLDB4OTAsMHg4ZiB9LAotICAxNiwgMHhmZTgwLCAwLCB7MHg2MiwweDIxLDB4ZDYsMHg0OCwweGYzLDB4MDIsMHgzYywweGM1LDB4YmYsMHg0OCwweDJmLDB4ZDgsMHg0YiwweGI3LDB4MDIsMHhlMCB9LAotICAxNiwgMHhmZTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGVjLDB4MDAsMHg4MywweDAwLDB4MmUsMHg4OSB9LAotICAxNiwgMHhmZWEwLCAwLCB7MHgyOCwweDAwLDB4MDIsMHhlYywweGEwLDB4ODksMHgyMiwweDI4LDB4ODIsMHgwOCwweDEyLDB4MDIsMHgyOCwweDQwLDB4OWEsMHgwOCB9LAotICAxNiwgMHhmZWIwLCAwLCB7MHgyOCwweGM4LDB4ODgsMHhiMiwweDBhLDB4MGQsMHgxMCwweDkzLDB4MTAsMHhhMCwweGM4LDB4MjgsMHgzMCwweDAyLDB4NGMsMHgwMCB9LAotICAxNiwgMHhmZWMwLCAwLCB7MHhiMywweDYwLDB4MmMsMHhjNCwweDBiLDB4MzAsMHhjMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZWQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHg0MCwweDhiLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhiMSwweDAyLDB4ZWMsMHgwMiwweDhiLDB4MDAsMHgyMCB9LAotICAxNiwgMHhmZWUwLCAwLCB7MHhkMCwweDBhLDB4OTAsMHgwMiwweGFjLDB4MDAsMHgwYiwweDAxLDB4MjYsMHg0MCwweDA4LDB4OTQsMHgwMiwweDhjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhmZWYwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwOCwweGIwLDB4MDIsMHgyYywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhmZjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNCwweDhjLDB4MjAsMHhjYiwweDAyLDB4M2UsMHgyZCB9LAotICAxNiwgMHhmZjEwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHhlYywweDA4LDB4YzksMHg4MCwweDFlLDB4MDQsMHgwYywweGIwLDB4MDMsMHgwMSwweDA4LDB4NTAsMHgxOCB9LAotICAxNiwgMHhmZjIwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHgwNCwweDAzLDB4MmMsMHgwMCwweGRiLDB4MDEsMHgzMiwweGMwLDB4MGMsMHhiMCwweDBiLDB4MmMsMHgwOCB9LAotICAxNiwgMHhmZjMwLCAwLCB7MHhiYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDgwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZjQwLCAwLCB7MHhlMSwweDAwLDB4YmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDYwLDB4MGYsMHhjMCwweDIzLDB4ZWMsMHgwMCwweGZmLDB4YzAsMHhiZSB9LAotICAxNiwgMHhmZjUwLCAwLCB7MHg2MCwweDhmLDB4YzksMHgyMywweGY2LDB4NTAsMHhlZCwweDgwLDB4YjgsMHg1MCwweGFmLDB4YzAsMHgwMywweGZjLDB4MDAsMHhmZiB9LAotICAxNiwgMHhmZjYwLCAwLCB7MHgwMCwweDNmLDB4YzEsMHgwZSwweGIwLDB4MDMsMHhmYywweDA0LDB4ZmYsMHgwMiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCB9LAotICAxNiwgMHhmZjcwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4MzIsMHg4MCB9LAotICAxNiwgMHhmZjgwLCAwLCB7MHgwZCwweDkwLDB4MDMsMHgyYywweDAwLDB4ODksMHgwMCwweDNlLDB4OTgsMHg4YywweDMwLDB4MDMsMHg2MSwweDgwLDB4ZmEsMHg0MCB9LAotICAxNiwgMHhmZjkwLCAwLCB7MHgzZSwweDQwLDB4MmMsMHhhNSwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDEsMHgzYywweGMwLDB4MmMsMHgzMCwweDAzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhmZmEwLCAwLCB7MHhkYiwweDAyLDB4MzIsMHhjMCwweDBmLDB4YjAsMHgwMywweGQwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZmIwLCAwLCB7MHhjYSwweDAwLDB4MmUsMHg4MCwweDhiLDB4ODIsMHhhMCwweGMwLDB4OGMsMHg5MCwweDAyLDB4M2MsMHgwMCwweDhiLDB4ZjAsMHgyMiB9LAotICAxNiwgMHhmZmMwLCAwLCB7MHhjMiwweDBkLDB4ODAsMHgwMiwweDI3LDB4MDAsMHg4YiwweDEwLDB4MjIsMHg0MCwweDA4LDB4ODAsMHgyMiwweDNjLDB4MDAsMHhiZiB9LAotICAxNiwgMHhmZmQwLCAwLCB7MHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgzYywweDAwLDB4YmYsMHgwMSwweGEzLDB4YzAsMHgwYiwweGYwLDB4MTIsMHhmMiB9LAotICAxNiwgMHhmZmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRjLDB4MDAsMHhiMywweDFjLDB4MjAsMHg0MCB9LAotICAxNiwgMHhmZmYwLCAwLCB7MHgwOCwweDAwLDB4MDYsMHgyYywweDAwLDB4OWIsMHgwMCwweDIwLDB4ZDAsMHgwOCwweDIwLDB4MDIsMHg0YywweDAwLDB4YTMsMHgwMCB9LAotICAxNiwgMHg4MDEwLCAwLCB7MHgyYywweGMwLDB4MDgsMHgxMCwweDBhLDB4MGMsMHgwMCwweGJiLDB4MDAsMHgyOCwweGMwLDB4MDksMHgzMCwweDAyLDB4MGMsMHgwMCB9LAotICAxNiwgMHg4MDIwLCAwLCB7MHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGY4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MDMwLCAwLCB7MHgyMiwweDExLDB4MWUsMHgwMCwweDk3LDB4YTAsMHgyMSwweGEwLDB4MDgsMHg3OSwweDAyLDB4MWUsMHgwMCwweDk3LDB4OTAsMHgyMSB9LAotICAxNiwgMHg4MDQwLCAwLCB7MHg2MCwweDA5LDB4ZTgsMHgyMiwweDNlLDB4MDAsMHhhZiwweDg0LDB4MjEsMHhlNCwweDQ4LDB4NWMsMHgwMiwweDFlLDB4MDAsMHhiNyB9LAotICAxNiwgMHg4MDUwLCAwLCB7MHg5MCwweDJkLDB4ZTAsMHgwOSwweDc4LDB4MDAsMHgxZSwweDA5LDB4YjMsMHg5MCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4MDIsMHhkOCB9LAotICAxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxOCwweDJjLDB4NDAsMHhiMywweGIwLDB4MzIsMHg0MCB9LAotICAxNiwgMHg4MDcwLCAwLCB7MHgyYywweDgxLDB4MTMsMHgwYywweDQyLDB4ZDEsMHgwMCwweGIwLDB4YzAsMHg4YywweDMwLDB4MDMsMHg0OCwweDIwLDB4ZTMsMHgwMSB9LAotICAxNiwgMHg4MDgwLCAwLCB7MHgzYywweGMwLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGYzLDB4MTAsMHgzYywweGMwLDB4Y2QsMHgzMiwweDBiLDB4MGMsMHg0MCB9LAotICAxNiwgMHg4MDkwLCAwLCB7MHhkMywweDAwLDB4MzAsMHhjMCwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MGEwLCAwLCB7MHg0MCwweDE1LDB4YmMsMHgwMCwweGU3LDB4MDAsMHgzZiwweDgwLDB4MGIsMHhmMSwweDAzLDB4ZmQsMHgwMCwweDZkLDB4MDAsMHgzMiB9LAotICAxNiwgMHg4MGIwLCAwLCB7MHg0MCwweDFmLDB4NzAsMHgwNywweGQ4LDB4NDEsMHhjMywweDEwLDB4M2IsMHhjMCwweDBmLDB4ZDEsMHgwMywweGZkLDB4MDAsMHhmZiB9LAotICAxNiwgMHg4MGMwLCAwLCB7MHgxMCwweDNmLDB4YzAsMHgwZSwweGYwLDB4MDMsMHhlYywweDEwLDB4ZmYsMHgwOCwweDNmLDB4YzMsMHgwZiwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHg4MGQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGVjLDB4MDQsMHhmYiwweDAyLDB4M2UsMHg0MCB9LAotICAxNiwgMHg4MGUwLCAwLCB7MHgwYiwweGEwLDB4MDMsMHhhYywweDAwLDB4ZGIsMHgwMCwweDM2LDB4ODAsMHgwZCwweGIwLDB4MDMsMHhhYywweDAwLDB4ZTgsMHgwMCB9LAotICAxNiwgMHg4MGYwLCAwLCB7MHgzNiwweGMxLDB4MmUsMHg5MCwweDAzLDB4MmMsMHgwMCwweGNiLDB4YTAsMHgzNiwweGRjLDB4MGYsMHhiMCwweDAzLDB4MmQsMHg2OCB9LAotICAxNiwgMHg4MTAwLCAwLCB7MHhmYiwweGEwLDB4OTIsMHhjMiwweDBjLDB4YjEsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTEwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwOCwweDM3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhlMCwweDAyLDB4MWQsMHg4MCwweGI3LDB4MDQsMHgyMyB9LAotICAxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDBhLDB4NDAsMHgwMiwweDFjLDB4MTgsMHg4NCwweDAwLDB4MjUsMHhjMCwweDE4LDB4NTAsMHgzMiwweDBkLDB4ODAsMHhhMyB9LAotICAxNiwgMHg4MTMwLCAwLCB7MHgzMCwweDIxLDB4Y2MsMHgwYiwweDM0LDB4ODIsMHgxYywweDEwLDB4YjcsMHgzMCwweDIxLDB4YzgsMHgwOCwweDcwLDB4MDIsMHhkMiB9LAotICAxNiwgMHg4MTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MjAsMHhiNywweDgwLDB4MmQsMHg2MCB9LAotICAxNiwgMHg4MTUwLCAwLCB7MHgwYiwweGZjLDB4MjIsMHg5ZSwweDAwLDB4OGQsMHg4MCwweDI1LDB4YTAsMHgwOCwweGY4LDB4MjIsMHg5MiwweDAwLDB4YjQsMHg4MCB9LAotICAxNiwgMHg4MTYwLCAwLCB7MHgyNSwweGUwLDB4MDgsMHhmOCwweDAyLDB4MWUsMHgwMCwweDg3LDB4YjAsMHgyMSwweGUwLDB4MDksMHg3YSwweDAyLDB4MWUsMHgxOCB9LAotICAxNiwgMHg4MTcwLCAwLCB7MHhiMywweDgwLDB4MjEsMHhlMCwweDA4LDB4NzgsMHgwMiwweGYwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MTgwLCAwLCB7MHg0OCwweDA0LDB4YzUsMHgyMCwweGIzLDB4MDEsMHgyYywweGQ4LDB4MGIsMHgzYywweDAyLDB4MmMsMHgwOCwweGI5LDB4MDAsMHgyMCB9LAotICAxNiwgMHg4MTkwLCAwLCB7MHgwMywweDBhLDB4MDAsMHg4MiwweDIyLDB4MDgsMHg5MCwweDBkLDB4MjYsMHhlNCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhhMyB9LAotICAxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDIyLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg2YywweDAwLDB4YjMsMHgwMCwweDIyLDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHg4MWIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDk5LDB4MDAsMHhmYSwweDAyLDB4M2YsMHg5MCB9LAotICAxNiwgMHg4MWMwLCAwLCB7MHgwZiwweGVjLDB4MjMsMHhhOCwweDAwLDB4ZGEsMHgwMCwweDM1LDB4ODAsMHgwZCwweGUwLDB4MDIsMHhiYSwweDAyLDB4ZmUsMHhjMiB9LAotICAxNiwgMHg4MWQwLCAwLCB7MHhiNiwweGEwLDB4MGUsMHhlNCwweDBiLDB4MjgsMHgwMCwweGNhLDB4MDAsMHhiMiwweDgwLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMCB9LAotICAxNiwgMHg4MWUwLCAwLCB7MHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MWYwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MiwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSB9LAotICAxNiwgMHg4MjAwLCAwLCB7MHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4NDAsMHhlOCwweDEwLDB4M2EsMHgwMCwweDRmLDB4ODQsMHg4MywweGUwLDB4MDAsMHhmOCB9LAotICAxNiwgMHg4MjEwLCAwLCB7MHgwMCwweDNhLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg4MjIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweGU1LDB4MDAsMHhjOSwweDAyLDB4M2UsMHg0MCB9LAotICAxNiwgMHg4MjMwLCAwLCB7MHgwZiwweDkwLDB4MjMsMHgyNCwweDAwLDB4YzksMHgwMCwweDMyLDB4NjgsMHgyZiwweDEwLDB4MDMsMHgyNCwweDAwLDB4ZTksMHgxNCB9LAotICAxNiwgMHg4MjQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHg5MCwweDBiLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgxZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHg4MjUwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBjLDB4OTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MjYwLCAwLCB7MHg4MCwweDE0LDB4NjQsMHgwMCwweDg5LDB4MDEsMHgyZSwweDQwLDB4NGIsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4YzIsMHhhMiB9LAotICAxNiwgMHg4MjcwLCAwLCB7MHg2MCwweDg4LDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweGMxLDB4YTIsMHg0MCwweDQ4LDB4MTYsMHgwMywweDY0LDB4MDIsMHg4OSB9LAotICAxNiwgMHg4MjgwLCAwLCB7MHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAsMHgyOCwweDkwLDB4MGEsMHgyMCB9LAotICAxNiwgMHg4MjkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNCwweDI0LDB4MDAsMHg4OSwweDAyLDB4MmUsMHg0MCB9LAotICAxNiwgMHg4MmEwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgxMCwweDIyLDB4NDAsMHg4OSwweDkwLDB4MDIsMHhhYywweDAwLDB4YTEsMHgwOCB9LAotICAxNiwgMHg4MmIwLCAwLCB7MHgyMiwweDQwLDB4MDksMHg5OCwweDAyLDB4YTQsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCB9LAotICAxNiwgMHg4MmMwLCAwLCB7MHg4OSwweDAwLDB4MjYsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MmQwLCAwLCB7MHgwOCwweDAwLDB4MjQsMHgwMCwweDgxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MSwweDgxLDB4MjAsMHgyMiB9LAotICAxNiwgMHg4MmUwLCAwLCB7MHg0OCwweDA4LDB4MTIsMHgwMiwweGM0LDB4ODEsMHg4MSwweDI0LDB4MDIsMHg0OCwweDBhLDB4OTAsMHgwMiwweDg0LDB4YTAsMHg4MSB9LAotICAxNiwgMHg4MmYwLCAwLCB7MHgyOCwweDZjLDB4NGEsMHgwOCwweDEyLDB4ZDIsMHgwNCwweGExLDB4ODEsMHgyOCwweDJjLDB4NGEsMHgwOCwweDEyLDB4ODIsMHgwMiB9LAotICAxNiwgMHg4MzAwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwOCwweDYxLDB4NDAsMHhjOCwweDAwLDB4MmUsMHgxNCB9LAotICAxNiwgMHg4MzEwLCAwLCB7MHgwZiwweDg1LDB4MGIsMHgyMSwweDQyLDB4Y2EsMHg1MCwweDIyLDB4MTQsMHgwZCwweDg1LDB4NDMsMHhhMSwweDQwLDB4ZTgsMHg1MCB9LAotICAxNiwgMHg4MzIwLCAwLCB7MHgzMCwweDAwLDB4MGQsMHg4NSwweDAyLDB4YTEsMHhjMCwweGQ4LDB4MjAsMHgzYSwweDA4LDB4MmMsMHg4MiwweDBiLDB4MjAsMHg4MiB9LAotICAxNiwgMHg4MzMwLCAwLCB7MHhjOCwweDIwLDB4MzQsMHgwOSwweDhjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4MzQwLCAwLCB7MHg5OCwweDBkLDB4ZmMsMHgwMiwweGY5LDB4MDAsMHgzZiwweDQwLDB4NGYsMHhkMSwweDAzLDB4ZTQsMHg0MCwweGY1LDB4MTQsMHhiZiB9LAotICAxNiwgMHg4MzUwLCAwLCB7MHg0NCwweDBkLDB4NTEsMHgyMywweDVjLDB4NDAsMHhmNSwweDEwLDB4MWYsMHg0ZSwweDRkLDB4NTAsMHgwMywweDY0LDB4MDgsMHhmOSB9LAotICAxNiwgMHg4MzYwLCAwLCB7MHgyOCwweDNlLDB4NGEsMHg4ZiwweDkyLDB4ODMsMHhlNCwweGEwLDB4ZjksMHgyOCwweDNhLDB4NGIsMHgwZiwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHg4MzcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGY0LDB4NDAsMHhmZCwweDAwLDB4MzAsMHg0MCB9LAotICAxNiwgMHg4MzgwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZGQsMHgwMCwweDNiLDB4NDAsMHgwZSwweDkwLDB4MDMsMHg3NCwweDAwLDB4NWQsMHgwMCB9LAotICAxNiwgMHg4MzkwLCAwLCB7MHgzNiwweDY0LDB4MGQsMHhkMCwweDAwLDB4YTYsMHgwMCwweGY5LDB4NDAsMHgzMiwweDc4LDB4MGMsMHg5OSwweDAzLDB4MjQsMHg0MCB9LAotICAxNiwgMHg4M2EwLCAwLCB7MHhjOSwweDkwLDB4MzIsMHg1MCwweDBmLDB4OWIsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4M2IwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHg4MCwweGI4LDB4MDAsMHgyMiwweDAxLDB4MDgsMHg4MCwweDBhLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyYSB9LAotICAxNiwgMHg4M2MwLCAwLCB7MHgwMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjIsMHgyMCwweDA4LDB4OGEsMHg4YiwweGUxLDB4MDAsMHhiOCB9LAotICAxNiwgMHg4M2QwLCAwLCB7MHg4MCwweDIyLDB4MzAsMHgyOCwweDBkLDB4MDIsMHgyMiwweDAwLDB4ZDgsMHhlNCwweDIyLDB4MjgsMHgwYiwweDhmLDB4MGEsMHgwZSB9LAotICAxNiwgMHg4M2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4ODAsMHhiMSwweDAwLDB4YTAsMHg0MCB9LAotICAxNiwgMHg4M2YwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgwNCwweDAwLDB4ODksMHgwMCwweDA4LDB4NDAsMHgwYSwweDkwLDB4NDIsMHg0NCwweDAwLDB4OTEsMHgwMCB9LAotICAxNiwgMHg4NDAwLCAwLCB7MHgyMCwweDU4LDB4MjgsMHg5MCwweDAyLDB4ODUsMHgwMCwweDgxLDB4MjAsMHhhMCwweDRjLDB4MDksMHgxMiwweDBhLDB4MDQsMHg4MCB9LAotICAxNiwgMHg4NDEwLCAwLCB7MHg5MSwweDQwLDB4YTAsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NDIwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MDIsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDg5LDB4MDEsMHgyMiB9LAotICAxNiwgMHg4NDMwLCAwLCB7MHg0MCwweDI4LDB4OTAsMHgyMiwweDA0LDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiMSB9LAotICAxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHg4MSwweDkwLDB4MDIsMHgwNCwweDAwLDB4OTEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHgwNiB9LAotICAxNiwgMHg4NDUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU1LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg2MCB9LAotICAxNiwgMHg4NDYwLCAwLCB7MHgyYywweDkyLDB4MTMsMHgyNCwweDAyLDB4ZDEsMHgxMCwweDNhLDB4NDAsMHgwZSwweDEyLDB4MDMsMHg2NiwweDA0LDB4ZDksMHgwMCB9LAotICAxNiwgMHg4NDcwLCAwLCB7MHhiNiwweDQwLDB4MGQsMHgxOSwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MDksMHg5MCwweDAxLDB4MjQsMHgwMCB9LAotICAxNiwgMHg4NDgwLCAwLCB7MHhkOSwweDAyLDB4MjIsMHg0MCwweDBmLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NDkwLCAwLCB7MHgyYSwweDAxLDB4YTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDY0LDB4MGYsMHgxMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4ODEsMHgzZSB9LAotICAxNiwgMHg4NGEwLCAwLCB7MHg2NiwweDhmLDB4OTAsMHgyMywweGU0LDB4ODAsMHhmOSwweDA0LDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGU0LDB4MDQsMHhmOSB9LAotICAxNiwgMHg4NGIwLCAwLCB7MHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHhjYSB9LAotICAxNiwgMHg4NGMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmEsMHgxMCwweGEwLDB4MDAsMHhmOCwweDI0LDB4M2UsMHgwMCB9LAotICAxNiwgMHg4NGQwLCAwLCB7MHgyYywweDg0LDB4MDMsMHgyMCwweDAwLDB4YjgsMHgyMCwweDNlLDB4MDAsMHg4YywweDgwLDB4MDMsMHhhMCwweDAwLDB4NzAsMHg4MiB9LAotICAxNiwgMHg4NGUwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwOCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MjAsMHgwOCB9LAotICAxNiwgMHg4NGYwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NTAwLCAwLCB7MHgyOCwweDA1LDB4MjgsMHgwNCwweGJlLDB4ODAsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwNCwweDhlLDB4MDAsMHg2ZCB9LAotICAxNiwgMHg4NTEwLCAwLCB7MHg5MCwweDBkLDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4ZSwweDgwLDB4YTIsMHg4MCwweDBlLDB4ZTAsMHgwYiwweDY4LDB4MDAsMHhiYSB9LAotICAxNiwgMHg4NTIwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ZGEsMHgwMCwweDJlLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSB9LAotICAxNiwgMHg4NTMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHg4MSwweDRjLDB4MDAsMHhiMSwweDAwLDB4MmMsMHhjMCB9LAotICAxNiwgMHg4NTQwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgwYywweDE4LDB4YTMsMHgwMiwweDJjLDB4MTAsMHg4OCwweDMwLDB4MDYsMHg4MiwweDgxLDB4YTAsMHgwMCB9LAotICAxNiwgMHg4NTUwLCAwLCB7MHgyYSwweGMwLDB4MGIsMHgzMCwweDBhLDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MWEsMHhiMCwweDAyLDB4OGMsMHgwMSB9LAotICAxNiwgMHg4NTYwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NTcwLCAwLCB7MHgyMCwweDAxLDB4MWMsMHgxMCwweGI0LDB4MGEsMHgyYiwweGM4LDB4MDgsMHgzMSwweDI2LDB4MWMsMHgwMCwweDg2LDB4MDAsMHgyZCB9LAotICAxNiwgMHg4NTgwLCAwLCB7MHhjMCwweDA5LDB4NzIsMHgwMiwweDFkLDB4MDAsMHhhNSwweDQwLDB4MjksMHhjMCwweDBhLDB4NjAsMHgwMiwweDVjLDB4ODgsMHhiMyB9LAotICAxNiwgMHg4NTkwLCAwLCB7MHgyMCwweDI1LDB4YzgsMHgwYSwweDcyLDB4MDIsMHg5YywweDgwLDB4OTcsMHgyMCwweDJjLDB4ZTgsMHg4MCwweDcyLDB4MDIsMHhlOCB9LAotICAxNiwgMHg4NWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDE2LDB4MDAsMHhiNSwweDgwLDB4M2QsMHhlMiB9LAotICAxNiwgMHg4NWIwLCAwLCB7MHgwYywweDdhLDB4OGIsMHgwZSwweGMwLDB4YTcsMHg4MSwweDJjLDB4MjAsMHgwYywweGZjLDB4MDMsMHg5MiwweDAyLDB4ZWYsMHg4MCB9LAotICAxNiwgMHg4NWMwLCAwLCB7MHgzOSwweGU0LDB4MGIsMHhkOCwweDAxLDB4MWYsMHgwMCwweGY3LDB4ODAsMHhiMywweGY0LDB4OGUsMHg3OSwweDAzLDB4OGUsMHgwMCB9LAotICAxNiwgMHg4NWQwLCAwLCB7MHhjNywweGM0LDB4M2QsMHhlOCwweDJjLDB4N2IsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NWUwLCAwLCB7MHgwOCwweDFkLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweGRkLDB4ODcsMHhiNiwweDAzLDB4ZWQsMHhjYywweGU5LDB4MDAsMHgzZSB9LAotICAxNiwgMHg4NWYwLCAwLCB7MHg0MCwweDBmLDB4YjAsMHgwNywweGNjLDB4MTAsMHgwYiwweDAwLDB4MzYsMHhkOCwweDBmLDB4ODAsMHg0MywweGFkLDB4ODAsMHhmYiB9LAotICAxNiwgMHg4NjAwLCAwLCB7MHgyOCwweDNhLDB4YzAsMHgwZCwweGI0LDB4MDMsMHg2YywweGUyLDB4ZWIsMHg2MCwweDNlLDB4ZDQsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHg4NjEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGZlLDB4MDAsMHhmZSwweDkwLDB4M2YsMHhlNSB9LAotICAxNiwgMHg4NjIwLCAwLCB7MHgwZSwweGY4LDB4MDMsMHgzZSwweDEwLDB4ZmYsMHg5MCwweDE3LDB4NjAsMHgwZiwweGZjLDB4MDMsMHg3YSwweDAwLDB4ZWUsMHg4MCB9LAotICAxNiwgMHg4NjMwLCAwLCB7MHgzNywweGUyLDB4MGUsMHg3OCwweDBmLDB4ZmYsMHg0MCwweGVmLDB4ODgsMHgxZiwweGUwLDB4MGMsMHhmOCwweDgzLDB4ZmUsMHg4MCB9LAotICAxNiwgMHg4NjQwLCAwLCB7MHhjZiwweGQwLDB4YjMsMHhmMCwweDBjLDB4ZjgsMHhjMywweDEwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NjUwLCAwLCB7MHhhOCwweDExLDB4OWMsMHg0MCwweGI0LDB4MTAsMHgwZiwweGNjLDB4MDAsMHg3MiwweDAyLDB4MWMsMHgwMCwweGI2LDB4MDIsMHgwOSB9LAotICAxNiwgMHg4NjYwLCAwLCB7MHhjMCwweDI4LDB4ZjAsMHgwMiwweDk4LDB4MDAsMHhhNiwweDAwLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMywweGZjLDB4MDIsMHg4NyB9LAotICAxNiwgMHg4NjcwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwOCwweDcwLDB4MDIsMHhkZSwweDAwLDB4OGYsMHgxMCwweDIxLDB4YzAsMHgwOCwweGYwLDB4MDMsMHg2YSB9LAotICAxNiwgMHg4NjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDk0LDB4MDAsMHhiNiwweDAyLDB4MmYsMHhjMiB9LAotICAxNiwgMHg4NjkwLCAwLCB7MHgxYSwweDMwLDB4ODAsMHgxYywweDAwLDB4YjYsMHgwOCwweDAxLDB4NDAsMHgwYSwweGYwLDB4MDIsMHgxOCwweDAwLDB4ODcsMHgwMCB9LAotICAxNiwgMHg4NmEwLCAwLCB7MHgyMSwweGMwLDB4MGIsMHhkMCwweDAyLDB4OWMsMHgxMCwweDg3LDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHg0NCB9LAotICAxNiwgMHg4NmIwLCAwLCB7MHg4NywweDEwLDB4NjQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDA2LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NmMwLCAwLCB7MHg2MCwweDE0LDB4Y2UsMHg2MCwweGIwLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzNCwweDBhLDB4MGMsMHgwOCwweGIwLDB4MDQsMHgwMCB9LAotICAxNiwgMHg4NmQwLCAwLCB7MHg0MCwweDA4LDB4MzAsMHhhMiwweDg5LDB4ODAsMHhhMiwweDYyLDB4MjAsMHhlMCwweDBiLDB4MDAsMHgwYSwweGNjLDB4MDgsMHg4MyB9LAotICAxNiwgMHg4NmUwLCAwLCB7MHgwMCwweDZjLDB4YzAsMHgwOCwweDMwLDB4NTIsMHhjYywweDAwLDB4ODMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg1OCB9LAotICAxNiwgMHg4NmYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFlLDB4MDAsMHhmOCwweDAwLDB4M2YsMHhkMCB9LAotICAxNiwgMHg4NzAwLCAwLCB7MHgwZSwweGZjLDB4MDMsMHgzYywweDAwLDB4ZjksMHgwMCwweDkyLDB4ODQsMHgwZiwweGZjLDB4MDMsMHg2NCwweDAwLDB4ODAsMHgwMCB9LAotICAxNiwgMHg4NzEwLCAwLCB7MHhiNywweGMzLDB4MGYsMHhiOCwweDgzLDB4YmMsMHgwNCwweGVmLDB4MDAsMHgzZiwweGMwLDB4M2MsMHhmMCwweDAzLDB4ZmMsMHgwMiB9LAotICAxNiwgMHg4NzIwLCAwLCB7MHhjZiwweDAwLDB4MzcsMHhjMCwweDI4LDB4ZjAsMHgxMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4NzMwLCAwLCB7MHg4MCwweDAwLDB4ZWMsMHgwMCwweGY4LDB4NDEsMHgzZSwweGM4LDB4MGYsMHgzMiwweDAzLDB4ZWMsMHgwMCwweGY4LDB4MDAsMHgzYSB9LAotICAxNiwgMHg4NzQwLCAwLCB7MHhjNCwweDBmLDB4YjEsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHhjMCwweDBmLDB4ZTQsMHgwYiwweGVjLDB4MDQsMHhmYiB9LAotICAxNiwgMHg4NzUwLCAwLCB7MHgwMCwweDNlLDB4YzEsMHgwZiwweGIwLDB4NDMsMHhlYywweDA0LDB4ZmIsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNCB9LAotICAxNiwgMHg4NzYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGY0LDB4MDAsMHhmYywweDgwLDB4M2YsMHhjMCB9LAotICAxNiwgMHg4NzcwLCAwLCB7MHgxZiwweGYwLDB4MDMsMHgzYywweDA4LDB4ZmIsMHgwMCwweDMzLDB4ODAsMHgyZSwweGYwLDB4MTMsMHhhNCwweDA0LDB4Y2IsMHgwMCB9LAotICAxNiwgMHg4NzgwLCAwLCB7MHhiOSwweGMwLDB4MmMsMHhkOCwweDBiLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MDksMHg3MCwweDAwLDB4MmMsMHgwNCB9LAotICAxNiwgMHg4NzkwLCAwLCB7MHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4N2EwLCAwLCB7MHhjMSwweDAwLDB4NmMsMHgwMCwweGI4LDB4ODAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4NmMsMHgwMCwweGI5LDB4MTYsMHgyOCB9LAotICAxNiwgMHg4N2IwLCAwLCB7MHg3MiwweDA4LDB4YjAsMHgyMiwweDI3LDB4NDAsMHhkYiwweDAwLDB4MjIsMHhjMCwweDA4LDB4YmQsMHg4MiwweDJjLDB4MDgsMHhiYiB9LAotICAxNiwgMHg4N2MwLCAwLCB7MHgwMCwweDJlLDB4YzAsMHg0OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJlLDB4YzEsMHgwYiwweGIwLDB4MDIsMHhlMCB9LAotICAxNiwgMHg4N2QwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHhiOCwweDYwLDB4MmUsMHhjMCB9LAotICAxNiwgMHg4N2UwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjEsMHgwMCwweDJhLDB4ODQsMHg0YSwweDMwLDB4MjIsMHhhYywweDIwLDB4OTgsMHg4MCB9LAotICAxNiwgMHg4N2YwLCAwLCB7MHgyYSwweGMwLDB4MDgsMHgzMCwweDAyLDB4YWMsMHgwMCwweDNiLDB4MDAsMHgyYywweGMwLDB4MGEsMHhiMCwweDAyLDB4YWMsMHgwOCB9LAotICAxNiwgMHg4ODAwLCAwLCB7MHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ODEwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMSwweGIwLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGMsMHgwNCwweGIwLDB4MDAsMHgyYSB9LAotICAxNiwgMHg4ODIwLCAwLCB7MHg4MCwweDA4LDB4MzAsMHgwMiwweDAwLDB4MDAsMHgxMCwweDA0LDB4MjgsMHhjMCwweDA4LDB4MjAsMHg0MiwweDhjLDB4MDAsMHhiMyB9LAotICAxNiwgMHg4ODMwLCAwLCB7MHgwMCwweDJjLDB4YzAsMHg0MiwweDMwLDB4MGEsMHg4YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHg4YiwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHg4ODQwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhmOCwweDUwLDB4M2YsMHhjMCB9LAotICAxNiwgMHg4ODUwLCAwLCB7MHgwYiwweGYwLDB4MDMsMHgzYywweDAwLDB4ZmEsMHgwNCwweDMyLDB4ODAsMHgwZSwweGYwLDB4MjMsMHhhYywweDAwLDB4ZDksMHgwMCB9LAotICAxNiwgMHg4ODYwLCAwLCB7MHgzYiwweGMwLDB4MGMsMHg5MCwweDAzLDB4YmMsMHgwNCwweGZmLDB4MDAsMHgzZCwweGMwLDB4MmUsMHhmMCwweDBiLDB4M2MsMHgwMCB9LAotICAxNiwgMHg4ODcwLCAwLCB7MHhmZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ODgwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwMCwweGZjLDB4MDAsMHgzZiwweGMwLDB4MDcsMHhmMCwweDAzLDB4ZmMsMHgwNCwweDdjLDB4MDIsMHhiNSB9LAotICAxNiwgMHg4ODkwLCAwLCB7MHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmYywweDAwLDB4MzcsMHhjMCwweDBmLDB4ZjAsMHgxMywweDdjLDB4MDAsMHhmZiB9LAotICAxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg2ZCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgxZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHg4OGIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhkNSwweDgwLDB4MzMsMHgwYSB9LAotICAxNiwgMHg4OGMwLCAwLCB7MHg0YywweGY4LDB4MDMsMHhmMiwweDAwLDB4ZmMsMHgwMCwweDM3LDB4MjYsMHgxZiwweGNhLDB4MDMsMHhiYywweGM0LDB4Y2YsMHgyMCB9LAotICAxNiwgMHg4OGQwLCAwLCB7MHgzMywweGU0LDB4MGYsMHg3OCwweDAzLDB4M2UsMHg0NCwweGNmLDB4MDAsMHgzYiwweGNlLDB4OWYsMHg2OCwweDEzLDB4ZDAsMHgwMCB9LAotICAxNiwgMHg4OGUwLCAwLCB7MHhjZCwweDgwLDB4YjMsMHg2MCwweDBmLDB4ZmEsMHg4MywweGYwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OGYwLCAwLCB7MHg4MCwweDEwLDB4ZTAsMHg4MCwweGM5LDB4MjgsMHgyMiwweDMwLDB4MDgsMHhiMiwweDIyLDB4ZWEsMHgwMSwweGI4LDB4ODIsMHgyMCB9LAotICAxNiwgMHg4OTAwLCAwLCB7MHg1MCwweDRmLDB4OWMsMHgwMCwweGE4LDB4ZDEsMHhkYiwweDEwLDB4YTYsMHhlMCwweDE3LDB4YjgsMHgwMywweGVjLDB4ODAsMHhkYiB9LAotICAxNiwgMHg4OTEwLCAwLCB7MHgwOCwweDFmLDB4ZDAsMHgwYiwweGI4LDB4MDIsMHhmNiwweDAwLDB4ZmIsMHg4MCwweDIyLDB4NDAsMHgwYiwweGIwLDB4MDIsMHg2MCB9LAotICAxNiwgMHg4OTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MjAsMHg4MSwweDgwLDB4MjAsMHgwMCB9LAotICAxNiwgMHg4OTMwLCAwLCB7MHg4YiwweDMwLDB4ODIsMHhjMCwweDAwLDB4YjAsMHgxMCwweDI4LDB4MDgsMHg4YiwweDExLDB4MzAsMHhjNCwweDg0LDB4OTAsMHgyOCB9LAotICAxNiwgMHg4OTQwLCAwLCB7MHgyNCwweGM4LDB4MGIsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MTAsMHgwNCwweGM4LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCB9LAotICAxNiwgMHg4OTUwLCAwLCB7MHhiMywweDAwLDB4MjQsMHg0MCwweDBiLDB4MzAsMHgwMiwweGUyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OTYwLCAwLCB7MHhjMCwweDE1LDB4YTYsMHgwMCwweDgxLDB4MDAsMHgyMiwweDEwLDB4MGIsMHhiMCwweDEyLDB4ZWEsMHgyMCwweGJiLDB4MDAsMHgyYSB9LAotICAxNiwgMHg4OTcwLCAwLCB7MHg3MCwweDBhLDB4OWMsMHgwMiwweDYyLDB4MDAsMHg5OCwweDg4LDB4MjYsMHhjOCwweDAyLDB4YjIsMHgwMiwweDhlLDB4MDgsMHg4YiB9LAotICAxNiwgMHg4OTgwLCAwLCB7MHgxOCwweDIyLDB4YzAsMHgwYiwweGEwLDB4MDIsMHhlZSwweDIwLDB4M2IsMHgwMCwweDI2LDB4NDAsMHgwYiwweGIwLDB4MDIsMHg3MCB9LAotICAxNiwgMHg4OTkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUwLDB4MDAsMHhjYiwweDAwLDB4MzIsMHg4MCB9LAotICAxNiwgMHg4OWEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlNywweDAwLDB4YjgsMHg1MiwweDNlLDB4MjAsMHg0YiwweDBjLDB4NDMsMHhlZiwweDgyLDB4OWIsMHhjMCB9LAotICAxNiwgMHg4OWIwLCAwLCB7MHgzMiwweGMwLDB4MGIsMHhiMCwweDAyLDB4NmMsMHgwMSwweDhiLDB4ODAsMHgyZSwweGMwLDB4MGIsMHhhMCwweDgzLDB4ZTYsMHgwMCB9LAotICAxNiwgMHg4OWMwLCAwLCB7MHhmYiwweDAwLDB4MzYsMHg0MCwweDBmLDB4ZjAsMHgwMywweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4OWQwLCAwLCB7MHhlMCwweDAxLDB4YjAsMHgwMiwweGZmLDB4MDQsMHgzZiwweDkwLDB4MGMsMHhmMSwweDAxLDB4ZjQsMHgwOCwweDdkLDB4ODAsMHgzNyB9LAotICAxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDBmLDB4YzAsMHgyMywweDk4LDB4MDAsMHhmNywweDAwLDB4MmIsMHhlMCwweDBmLDB4ZjgsMHgyMywweGZjLDB4MDYsMHhmYiB9LAotICAxNiwgMHg4OWYwLCAwLCB7MHg4MywweGJmLDB4YzAsMHg4NywweGQwLDB4MDMsMHhkYywweDAwLDB4ZWYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGIwLDB4MDEsMHhmOCB9LAotICAxNiwgMHg4YTAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGE2LDB4MDAsMHhjYiwweDAwLDB4MzMsMHg4MCB9LAotICAxNiwgMHg4YTEwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHhlMSwweDEwLDB4ZjIsMHg0MCwweGIyLDB4MDAsMHgzZCwweDk0LDB4MTcsMHgyZCwweDQ0LDB4ZmEsMHg0MSB9LAotICAxNiwgMHg4YTIwLCAwLCB7MHgzMiwweGMwLDB4OWYsMHhiMCwweDIzLDB4MmMsMHgwMiwweGNiLDB4NDAsMHgzMiwweGMwLDB4NGYsMHg5MCwweDAzLDB4M2QsMHgwMCB9LAotICAxNiwgMHg4YTMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YTQwLCAwLCB7MHg4OCwweDA1LDB4MjYsMHgwMCwweDhiLDB4NzEsMHgyMCwweGQ1LDB4MDMsMHg5OSwweDAyLDB4ZTAsMHgwMCwweGJiLDB4ODAsMHgyMiB9LAotICAxNiwgMHg4YTUwLCAwLCB7MHg2MCwweDFjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhiOCwweDAyLDB4MjIsMHhjMiwweDBiLDB4MzIsMHgwMiwweDJjLDB4MDEsMHg4ZiB9LAotICAxNiwgMHg4YTYwLCAwLCB7MHgwMiwweGQ3LDB4YzAsMHgwYiwweGEwLDB4MDMsMHg2ZCwweDQwLDB4NTMsMHg4MCwweDJlLDB4YzAsMHgwZSwweGYwLDB4NDMsMHg3MiB9LAotICAxNiwgMHg4YTcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDY4LDB4MDIsMHg4MCwweDAwLDB4MjQsMHgwMCB9LAotICAxNiwgMHg4YTgwLCAwLCB7MHgwYiwweDM1LDB4MjYsMHhjMiwweDAwLDB4YjAsMHg5MCwweDIwLDB4YzAsMHg4OCwweDAwLDB4MDIsMHg0ZiwweDIwLDB4YjMsMHgwMiB9LAotICAxNiwgMHg4YTkwLCAwLCB7MHg2MCwweGUyLDB4MWIsMHgzOCwweDAyLDB4MGMsMHgwMCwweDg4LDB4MDAsMHg2MCwweGMwLDB4MGIsMHgzNCwweDgyLDB4NGMsMHgwMiB9LAotICAxNiwgMHg4YWEwLCAwLCB7MHhhMSwweDkwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDMwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YWIwLCAwLCB7MHgyMCwweDAxLDB4M2EsMHgwOCwweDhjLDB4YTAsMHgyZCwweDIwLDB4NGIsMHg3OCwweDAyLDB4ZGEsMHgwMCwweGIyLDB4OTAsMHgyMSB9LAotICAxNiwgMHg4YWMwLCAwLCB7MHg2NiwweDQ4LDB4NzksMHgwMiwweGRlLDB4NDAsMHhiNywweDkxLDB4YTEsMHhlMCwweGRiLDB4ZjgsMHgwMiwweDFlLDB4NDAsMHg4NCB9LAotICAxNiwgMHg4YWQwLCAwLCB7MHg5MCwweDAxLDB4ZTAsMHg4YiwweGY5LDB4MDIsMHg1ZSwweDAxLDB4OTcsMHg4MCwweDJkLDB4NjAsMHgwYSwweDc4LDB4MDAsMHg0OCB9LAotICAxNiwgMHg4YWUwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwNCB9LAotICAxNiwgMHg4YWYwLCAwLCB7MHgwZiwweDMyLDB4MDMsMHhjNCwweGEwLDB4ZjEsMHg0MiwweDMwLDB4YzQsMHgyYywweDMxLDB4MDIsMHg0NCwweDAwLDB4ZjEsMHgxMSB9LAotICAxNiwgMHg4YjAwLCAwLCB7MHhhMCwweGMwLDB4MGIsMHgzMCwweDBiLDB4MGMsMHg0MiwweDgzLDB4MDAsMHgwMCwweGMwLDB4MGYsMHgzMCwweDAzLDB4NGMsMHgwMiB9LAotICAxNiwgMHg4YjEwLCAwLCB7MHhlMywweDAwLDB4M2MsMHg0MCwweDBiLDB4MzAsMHgwMSwweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YjIwLCAwLCB7MHhjMCwweDFkLDB4YmMsMHgwMCwweGZjLDB4YTUsMHgzMywweGMwLDB4MGYsMHhkMCwweDAzLDB4ZmMsMHgwMSwweGJmLDB4MDAsMHgzZiB9LAotICAxNiwgMHg4YjMwLCAwLCB7MHhjNCwweDBlLDB4NzEsMHgwMywweDc0LDB4MDAsMHg3NSwweDEwLDB4M2YsMHhjMCwweDA1LDB4ZjAsMHgwMywweGRjLDB4NDAsMHhmZiB9LAotICAxNiwgMHg4YjQwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhmYywweDAwLDB4N2YsMHgwMCwweDNmLDB4NDAsMHgwZSwweGYwLDB4MDMsMHhkMCB9LAotICAxNiwgMHg4YjUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNCwweGU4LDB4MDAsMHhmMiwweDA0LDB4YjMsMHg4MCB9LAotICAxNiwgMHg4YjYwLCAwLCB7MHgwZiwweGI4LDB4MGIsMHgyYywweDAwLDB4ZWIsMHg4MCwweDMyLDB4YzAsMHgwYywweDIwLDB4MTMsMHgyZSwweDA4LDB4Y2IsMHgwMSB9LAotICAxNiwgMHg4YjcwLCAwLCB7MHgzMiwweGM1LDB4MGYsMHhiMSwweDAzLDB4ZWMsMHg0OCwweGM4LDB4MTAsMHgzMiwweGZhLDB4OGMsMHgzOCwweDAzLDB4M2MsMHg5MCB9LAotICAxNiwgMHg4YjgwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YjAsMHgxMywweGMyLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YjkwLCAwLCB7MHhjOCwweDEwLDB4OTgsMHgwMCwweGY2LDB4MDAsMHg2MSwweDgxLDB4MGIsMHhmMCwweDAyLDB4MWMsMHgwMCwweGQ3LDB4MDAsMHhiNyB9LAotICAxNiwgMHg4YmEwLCAwLCB7MHg4MCwweDBjLDB4NzAsMHgwMiwweGJjLDB4MTAsMHg4ZiwweDAwLDB4MjEsMHhjOCwweDhiLDB4NzIsMHg0MywweGZjLDB4ODgsMHhkYyB9LAotICAxNiwgMHg4YmIwLCAwLCB7MHgwMCwweDM3LDB4YzgsMHgwZCwweDUwLDB4MDIsMHgxYywweDIyLDB4ODcsMHgwMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkMyB9LAotICAxNiwgMHg4YmMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMCwweDllLDB4MDAsMHhiNiwweDgwLDB4YTksMHhhMCB9LAotICAxNiwgMHg4YmQwLCAwLCB7MHg0YiwweDdjLDB4MDIsMHg1ZSwweDMwLDB4YTMsMHg4OCwweDIxLDB4ZjAsMHgwOCwweDc4LDB4MDIsMHgxNiwweDAwLDB4ODUsMHg4MCB9LAotICAxNiwgMHg4YmUwLCAwLCB7MHgyMSwweGUwLDB4MGIsMHg3OCwweDAyLDB4ZGUsMHgwMCwweDg3LDB4ODAsMHhhMSwweGU0LDB4MDgsMHhkOCwweDAyLDB4NGUsMHgwMCB9LAotICAxNiwgMHg4YmYwLCAwLCB7MHg5NywweDgwLDB4MmQsMHg3MCwweDBiLDB4NzgsMHgwMiwweGM4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YzAwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgwMCwweGIyLDB4MDAsMHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4NGUsMHg5MCwweDkzLDB4MDIsMHgyMiB9LAotICAxNiwgMHg4YzEwLCAwLCB7MHhmMCwweDA4LDB4MzgsMHg0MiwweDhjLDB4NDIsMHg4MywweDA0LDB4MjIsMHhlNCwweDRiLDB4MzgsMHgwMiwweDhlLDB4NDAsMHg4MyB9LAotICAxNiwgMHg4YzIwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwOSwweDM4LDB4MjIsMHg0ZSwweDIxLDB4OTMsMHgwMCwweDJlLDB4ZTAsMHgwYiwweDMwLDB4MDIsMHhkYiB9LAotICAxNiwgMHg4YzMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDEsMHhmYSwweDAwLDB4M2IsMHg4OSB9LAotICAxNiwgMHg4YzQwLCAwLCB7MHgwZiwweGEwLDB4MDIsMHg3OCwweDA4LDB4YWUsMHg0MCwweDIzLDB4ODAsMHgyYywweDZjLDB4MGIsMHgzYSwweDAwLDB4OGUsMHg4YyB9LAotICAxNiwgMHg4YzUwLCAwLCB7MHhiMiwweDAwLDB4MGIsMHg4MCwweDgyLDB4ZTAsMHgwMiwweDhlLDB4MDAsMHgyMiwweDgwLDB4MGMsMHhlOCwweDAyLDB4N2IsMHg4MCB9LAotICAxNiwgMHg4YzYwLCAwLCB7MHg5YSwweDgwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4YzcwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwOSwweGVjLDB4MDAsMHgzNiwweDIxLDB4MGIsMHg4MCwweDEzLDB4YTEsMHgwMCwweGY4LDB4NjAsMHgzZSB9LAotICAxNiwgMHg4YzgwLCAwLCB7MHgwMCwweDBmLDB4ODEsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHg0MywweGUwLDB4MTAsMHhmOCB9LAotICAxNiwgMHg4YzkwLCAwLCB7MHgwMCwweGJlLDB4MDAsMHgwZiwweDg1LDB4MGIsMHg4MCwweDAwLDB4ZTgsMHgxMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg4Y2EwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAyLDB4MzAsMHg0OCB9LAotICAxNiwgMHg4Y2IwLCAwLCB7MHgwYywweDk5LDB4MTMsMHhhNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDIsMHgwYywweDkwLDB4OGYsMHgyNCwweDAwLDB4ZjksMHgwMCB9LAotICAxNiwgMHg4Y2MwLCAwLCB7MHgzMiwweDI4LDB4MGMsMHg4OCwweDAzLDB4ZTAsMHgwMCwweGM5LDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTcsMHgwMCB9LAotICAxNiwgMHg4Y2QwLCAwLCB7MHhjOSwweDEwLDB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4Y2UwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMSwweDg5LDB4ODAsMHhhMiwweDQ4LDB4MjgsMHg5MiwweDQyLDB4YzUsMHgwMCwweDg5LDB4NDAsMHgyZSB9LAotICAxNiwgMHg4Y2YwLCAwLCB7MHg0MCwweDJjLDB4OTAsMHgwNiwweDI1LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg1MCwweDA4LDB4OTgsMHgwMiwweGM0LDB4MDAsMHg4OSB9LAotICAxNiwgMHg4ZDAwLCAwLCB7MHgwMSwweDc2LDB4NDAsMHg0YiwweDkyLDB4MDIsMHhlNSwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2MCB9LAotICAxNiwgMHg4ZDEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MGMsMHg4NSwweDIwLDB4YTIsMHg0MCB9LAotICAxNiwgMHg4ZDIwLCAwLCB7MHgwOCwweDkwLDB4MDYsMHhlNSwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwOSwweDkwLDB4NDIsMHhhNCwweGEwLDB4MzEsMHgwMCB9LAotICAxNiwgMHg4ZDMwLCAwLCB7MHgyMiwweDUwLDB4MTgsMHg5MSwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDA2LDB4ZTQsMHgwMCB9LAotICAxNiwgMHg4ZDQwLCAwLCB7MHg4OSwweDAwLDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweDBlLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZDUwLCAwLCB7MHgwMCwweDA0LDB4MTUsMHgwMCwweDg1LDB4NDAsMHgyMCwweDQwLDB4MDgsMHgxNCwweDI2LDB4ZTQsMHgwMCwweDgxLDB4MDAsMHgyYyB9LAotICAxNiwgMHg4ZDYwLCAwLCB7MHg0MCwweDE4LDB4MTAsMHgwMiwweDg0LDB4ODAsMHhiMSwweDIwLDB4YTAsMHg1MCwweDA4LDB4MTQsMHgwMiwweGU1LDB4MDIsMHg4MSB9LAotICAxNiwgMHg4ZDcwLCAwLCB7MHg0MCwweDIwLDB4NDgsMHgwYiwweDEwLDB4MDYsMHhjYywweDAwLDB4ODEsMHgwMSwweDJjLDB4NTAsMHgwOSwweDE0LDB4MDIsMHg0YSB9LAotICAxNiwgMHg4ZDgwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHg4YywweDAwLDB4MzIsMHgwMCB9LAotICAxNiwgMHg4ZDkwLCAwLCB7MHgwYywweDgwLDB4MjMsMHhlMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MTQsMHgwZCwweDgwLDB4MTIsMHhhMSwweDQ0LDB4ZjgsMHg1MSB9LAotICAxNiwgMHg4ZGEwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweDg4LDB4MDQsMHgyMiwweDE0LDB4MGYsMHg4MCwweDA3LDB4ZTAsMHgwMCB9LAotICAxNiwgMHg4ZGIwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZGMwLCAwLCB7MHg5OCwweDlkLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZGMsMHgwMSwweGJkLDB4NDIsMHgzZiB9LAotICAxNiwgMHg4ZGQwLCAwLCB7MHg1MCwweDRmLDB4ZDQsMHg0MywweDc0LDB4NDEsMHhmZCwweDEwLDB4M2YsMHgxMCwweDFmLDB4YzQsMHgxMywweGYxLDB4MDAsMHhmZCB9LAotICAxNiwgMHg4ZGUwLCAwLCB7MHg0MCwweDdlLDB4NDQsMHgwZiwweGQwLDB4NDMsMHhmNSwweDAxLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiB9LAotICAxNiwgMHg4ZGYwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY0LDB4MDAsMHhkZiwweDA1LDB4MzMsMHg2MSB9LAotICAxNiwgMHg4ZTAwLCAwLCB7MHgwZiwweDUwLDB4NTMsMHgzNCwweDEwLDB4ZmQsMHgwNCwweDMzLDB4NDQsMHg0ZiwweDUwLDB4MDMsMHg3NiwweGMxLDB4Y2QsMHhlMCB9LAotICAxNiwgMHg4ZTEwLCAwLCB7MHgzMywweDYwLDB4MGMsMHhjZSwweDAzLDB4ZjYsMHhjMCwweGUxLDB4YzAsMHhiNiwweDY0LDB4OGYsMHg1MCwweDBiLDB4MzYsMHg4MiB9LAotICAxNiwgMHg4ZTIwLCAwLCB7MHhjZCwweDAwLDB4M2UsMHg0NCwweDRjLDB4OWUsMHhjMywweGM2LDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZTMwLCAwLCB7MHgzOCwweDEwLDB4ZWEsMHgyOCwweDgwLDB4YTAsMHhiMiwweDA0LDB4MGIsMHg4YSwweDgzLDB4NjAsMHgwMCwweGZhLDB4MDAsMHgzNiB9LAotICAxNiwgMHg4ZTQwLCAwLCB7MHgyOCwweDhiLDB4ODAsMHgwMywweGUzLDB4YzgsMHhjOCwweDg0LDB4MjIsMHgxNCwweDA4LDB4OGEsMHgwMiwweGUyLDB4ODAsMHhkOCB9LAotICAxNiwgMHg4ZTUwLCAwLCB7MHg4MiwweDM0LDB4MzQsMHgxYiwweDgwLDB4MDMsMHg2MCwweDA0LDB4ODgsMHgwMCwweDJlLDB4MjAsMHgwYSwweDhlLDB4NDIsMHhjZSB9LAotICAxNiwgMHg4ZTYwLCAwLCB7MHgwNiwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwNSwweGM0LDB4ODAsMHg4MSwweDA4LDB4MDQsMHg0MSB9LAotICAxNiwgMHg4ZTcwLCAwLCB7MHgwYiwweDkyLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDE4LDB4MDIsMHgyNCwweDAwLDB4YjEsMHg2MCB9LAotICAxNiwgMHg4ZTgwLCAwLCB7MHgyNiwweDQwLDB4MGEsMHgxNiwweDAyLDB4YzUsMHgwMCwweGExLDB4YzAsMHgyMCwweDQ4LDB4MGIsMHg5MCwweDAyLDB4NDcsMHgwMCB9LAotICAxNiwgMHg4ZTkwLCAwLCB7MHg5MSwweDAxLDB4MmMsMHg0OCwweDE4LDB4MTIsMHgwMiwweGQyLDB4MDEsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZWEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwYywweDhiLDB4MDQsMHhhMiwweDUwLDB4MGIsMHg5MSwweDAyLDB4MjQsMHgwNCwweGE5LDB4MDEsMHgyZSB9LAotICAxNiwgMHg4ZWIwLCAwLCB7MHg0MiwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDAsMHhhOSwweDAwLDB4MjYsMHg2MCwweDBhLDB4OTAsMHgwMiwweGU2LDB4MDAsMHg4MSB9LAotICAxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDIyLDB4NDAsMHg4YiwweGIwLDB4MDIsMHgyNCwweDA4LDB4OTksMHgxMCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDIsMHhjNiB9LAotICAxNiwgMHg4ZWQwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU1LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHg4ZWUwLCAwLCB7MHgwZiwweDEwLDB4MDIsMHgyNSwweDAwLDB4YjEsMHgwMCwweDJlLDB4NjAsMHgwZiwweDEwLDB4MTIsMHgyNCwweDAyLDB4YjksMHhhMCB9LAotICAxNiwgMHg4ZWYwLCAwLCB7MHhhNCwweDQwLDB4MmUsMHg5MSwweDAzLDB4ZTYsMHgwMCwweGE5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHgxOSwweDgwLDB4NjQsMHgwNCB9LAotICAxNiwgMHg4ZjAwLCAwLCB7MHhkOSwweDgxLDB4MmUsMHg0MCwweDRjLDB4OTAsMHgwMywweGU4LDB4MTQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZjEwLCAwLCB7MHg2OCwweDAxLDB4YTQsMHgwYSwweGU5LDB4MDAsMHhiZSwweDQ4LDB4MGYsMHg5OCwweDBiLDB4ZTQsMHgwMCwweGY5LDB4YzQsMHgzNiB9LAotICAxNiwgMHg4ZjIwLCAwLCB7MHg3MCwweDFmLDB4OTIsMHgwMywweGU2LDB4OTAsMHhjMSwweDkwLDB4M2EsMHg0MCwweDhkLDB4ODgsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHg4ZjMwLCAwLCB7MHg5MCwweDNlLDB4NDAsMHgwYiwweDk4LDB4MDMsMHhlNiwweDQwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgxMCwweGExLDB4MDIsMHhkOCwweDIwLDB4YjIsMHgxMCB9LAotICAxNiwgMHg4ZjUwLCAwLCB7MHgwYywweDgwLDB4ODMsMHgyMSwweDQwLDB4YzgsMHg1OCwweGIyLDB4MTAsMHg0YywweDgwLDB4MGIsMHgyMCwweDAwLDB4ZjgsMHg0MiB9LAotICAxNiwgMHg4ZjYwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGQ4LDB4MDAsMHg3MiwweDAwLDB4MWMsMHg4MCwweDAwLDB4MjAsMHgwMCB9LAotICAxNiwgMHg4ZjcwLCAwLCB7MHhmOCwweDA0LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDAyLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZjgwLCAwLCB7MHgyOCwweDA1LDB4MzgsMHgwNCwweGNlLDB4NDEsMHgyMywweDgwLDB4MDgsMHhlMCwweDAyLDB4MzksMHgxMCwweGFlLDB4NDAsMHgyMiB9LAotICAxNiwgMHg4ZjkwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMiwweDFhLDB4MDAsMHhiYSwweDAwLDB4MmIsMHhhZCwweDAzLDB4ODAsMHgwMiwweGU4LDB4MDAsMHhjYSB9LAotICAxNiwgMHg4ZmEwLCAwLCB7MHgwMCwweDJhLDB4ODAsMHgwYSwweGUwLDB4MDIsMHgxOCwweDAwLDB4YmEsMHgwMCwweDFhLDB4ODAsMHgwYiwweGEwLDB4MDMsMHg0YSB9LAotICAxNiwgMHg4ZmIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NjgsMHgwNSwweDZjLDB4MTIsMHg4OSwweDAwLDB4YTAsMHhlMCB9LAotICAxNiwgMHg4ZmMwLCAwLCB7MHgwOCwweDM4LDB4MDIsMHgwZCwweDg4LDB4ODMsMHgwMCwweDA0LDB4ZTAsMHgwOCwweDM4LDB4MzIsMHgwZSwweDI1LDB4MzEsMHgwMSB9LAotICAxNiwgMHg4ZmQwLCAwLCB7MHgyNCwweGUwLDB4OGIsMHgzOCwweDAyLDB4ZTQsMHgwMSwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCB9LAotICAxNiwgMHg4ZmUwLCAwLCB7MHhiMywweDAwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg4ZmYwLCAwLCB7MHhhMCwweDAxLDB4MTQsMHgyMCwweDg2LDB4MjAsMHgyOSwweGIwLDB4MDgsMHhmMCwweDgyLDB4M2UsMHgwNCwweGE3LDB4MDAsMHgyMSB9LAotICAxNiwgMHg5MDAwLCAwLCB7MHg3MCwweDg4LDB4NzAsMHg5MiwweDFjLDB4MjAsMHhiZCwweDAwLDB4NjksMHhjMCwweDBiLDB4NzYsMHgwMiwweGQ0LDB4ODAsMHg4ZiB9LAotICAxNiwgMHg5MDEwLCAwLCB7MHgyMSwweDI5LDB4ZTAsMHgwYSwweDYwLDB4ODYsMHg5OCwweDAxLDB4YjcsMHgwMCwweDJkLDB4YzgsMHgwYiwweDNiLDB4MDIsMHg2MCB9LAotICAxNiwgMHg5MDIwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MDAsMHhjNywweGEwLDB4YjAsMHhlMCB9LAotICAxNiwgMHg5MDMwLCAwLCB7MHgyYywweDc4LDB4MGIsMHgxYSwweDAwLDB4YzMsMHg4MCwweDM3LDB4ZTAsMHgyOCwweDc4LDB4MDMsMHgxYSwweDA4LDB4ZjUsMHg5MCB9LAotICAxNiwgMHg5MDQwLCAwLCB7MHgzNSwweGUwLDB4MGYsMHg3YywweDEyLDB4ZDYsMHg4MiwweGM3LDB4OTAsMHgyMSwweGU0LDB4MDgsMHg3OCwweDAzLDB4OWUsMHgwMCB9LAotICAxNiwgMHg5MDUwLCAwLCB7MHhmNSwweDgwLDB4M2QsMHhmMSwweDBmLDB4NzgsMHgwMywweDIyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MDYwLCAwLCB7MHgwOCwweDE5LDB4YTQsMHgwMCwweGVlLDB4ODAsMHgzNiwweGMxLDB4NGYsMHhkMCwweDAzLDB4YzgsMHgwMCwweGZiLDB4MDAsMHgzZSB9LAotICAxNiwgMHg5MDcwLCAwLCB7MHg1MSwweDBmLDB4YjAsMHgwMywweGU0LDB4MDgsMHhmMSwweDYwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGM1LDB4MDAsMHhlYiB9LAotICAxNiwgMHg5MDgwLCAwLCB7MHgxMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDksMHg2YywweDAwLDB4ZmIsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9LAotICAxNiwgMHg5MDkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweGZlLDB4MDAsMHhmZCwweDg4LDB4MzMsMHg2MCB9LAotICAxNiwgMHg5MGEwLCAwLCB7MHgwZiwweGY5LDB4MDMsMHhjZSwweDQwLDB4ZDcsMHg4NCwweDM3LDB4NzAsMHgwYywweGQ4LDB4MjMsMHgzNiwweDAwLDB4YzUsMHg4OCB9LAotICAxNiwgMHg5MGIwLCAwLCB7MHgzMywweGUwLDB4NGYsMHhmOCwweDEzLDB4ZjcsMHgyOCwweGRmLDB4ODAsMHgzNywweGUyLDB4MGMsMHg1OCwweDAzLDB4M2UsMHgwMCB9LAotICAxNiwgMHg5MGMwLCAwLCB7MHhmZiwweDkwLDB4M2YsMHhlMCwweDBjLDB4ZjgsMHgwMywweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MGQwLCAwLCB7MHhhOSwweDExLDB4OWMsMHgwOCwweGY2LDB4MDAsMHhhMSwweDAwLDB4MGIsMHg2MywweDAyLDB4ZDYsMHgzMCwweDg1LDB4NDEsMHgzMSB9LAotICAxNiwgMHg5MGUwLCAwLCB7MHhjOCwweDA4LDB4NTAsMHgyMywweDFjLDB4MDAsMHhkNSwweDIwLDB4YjEsMHg4MCwweDBmLDB4NzAsMHgwMywweGI0LDB4MDAsMHhjNyB9LAotICAxNiwgMHg5MGYwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwZiwweDQwLDB4YTMsMHg1OCwweDQwLDB4YjcsMHgwMCwweDNmLDB4YzQsMHgwYSwweGYwLDB4MDIsMHgyYSB9LAotICAxNiwgMHg5MTAwLCAwLCB7MHgwNiwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDljLDB4NDAsMHhiNywweDEwLDB4MjEsMHhkMiB9LAotICAxNiwgMHg5MTEwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhkYywweDQyLDB4ODYsMHgwMCwweDI1LDB4NjEsMHgwOCwweDUxLDB4MDIsMHg1MCwweDAwLDB4OTUsMHgwMCB9LAotICAxNiwgMHg5MTIwLCAwLCB7MHgyNSwweGMwLDB4MDksMHg3MCwweDgyLDB4ZDQsMHgwMCwweDg3LDB4MDAsMHgyNCwweGMwLDB4MDgsMHg1MCwweDAyLDB4NWMsMHgwMCB9LAotICAxNiwgMHg5MTMwLCAwLCB7MHg5NSwweDA0LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MTQwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwOCwweGIyLDB4ZDAsMHgyMCwweGUwLDB4NGIsMHgwOCwweDAyLDB4YzQsMHgwMCwweDgwLDB4ODAsMHgyMCB9LAotICAxNiwgMHg5MTUwLCAwLCB7MHhmMCwweDA4LDB4MWEsMHgwMiwweDg1LDB4NDgsMHg4MSwweDEwLDB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweGM2LDB4MTAsMHg5MyB9LAotICAxNiwgMHg5MTYwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYSwweDFjLDB4MDIsMHgwZCwweDQwLDB4YjMsMHgwMCwweDY4LDB4YzQsMHgwYSwweGIwLDB4MDIsMHgwOSB9LAotICAxNiwgMHg5MTcwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDEsMHhmZSwweDAwLDB4MzIsMHhmMCB9LAotICAxNiwgMHg5MTgwLCAwLCB7MHgwZiwweDg4LDB4MDMsMHhlNiwweDAwLDB4YzgsMHhjOCwweDM2LDB4ZjYsMHgyOCwweGE2LDB4MGEsMHg2ZCwweDAwLDB4OWQsMHgwMCB9LAotICAxNiwgMHg5MTkwLCAwLCB7MHgzMiwweDAwLDB4MGIsMHhiMCwweDAzLDB4ZjYsMHgwMywweGM3LDB4MDAsMHgzNywweGMwLDB4MDgsMHg5YywweDBhLDB4NmUsMHgwMCB9LAotICAxNiwgMHg5MWEwLCAwLCB7MHhiYiwweDAwLDB4MmYsMHhjMCwweDBjLDB4ZjAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MWIwLCAwLCB7MHg4MCwweDAwLDB4ZTQsMHgwMSwweGViLDB4NDAsMHgzZSwweDgwLDB4NGYsMHhjMSwweDAzLDB4ZTQsMHgwMCwweGI4LDB4MDgsMHgzYSB9LAotICAxNiwgMHg5MWMwLCAwLCB7MHg0MCwweDhmLDB4YTQsMHgxMywweDZjLDB4MjAsMHhmOSwweDAwLDB4M2UsMHg3MCwweDBmLDB4YjAsMHgwMywweGE0LDB4NDAsMHhlYiB9LAotICAxNiwgMHg5MWQwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZiwweDkyLDB4MjMsMHhlOCwweDAwLDB4ZjksMHg4MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4NjMsMHhlMCB9LAotICAxNiwgMHg5MWUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDgsMHhjZSwweDA4LDB4MzMsMHhjMCB9LAotICAxNiwgMHg5MWYwLCAwLCB7MHgwZiwweGRhLDB4MDMsMHgzMCwweDAwLDB4ZTQsMHgwNCwweDM1LDB4YzAsMHgwZCwweGEwLDB4MDMsMHgyOCwweDAwLDB4YzUsMHgwMCB9LAotICAxNiwgMHg5MjAwLCAwLCB7MHgzMywweDAwLDB4MGIsMHhmYSwweDAzLDB4ZjQsMHgwMywweGNiLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhkNCwweDAzLDB4MTQsMHgyMCB9LAotICAxNiwgMHg5MjEwLCAwLCB7MHhjZCwweDgwLDB4MjMsMHhjMSwweDBjLDB4ZjAsMHgwMiwweDA4LDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MjIwLCAwLCB7MHg4MSwweDA0LDB4NDQsMHgxMCwweGNiLDB4ZDAsMHgyMiwweGMwLDB4MGIsMHg5NCwweDAyLDB4MjIsMHg4NCwweGI4LDB4YzYsMHgwMiB9LAotICAxNiwgMHg5MjMwLCAwLCB7MHg0MCwweDA4LDB4MjgsMHgwMiwweGE1LDB4ODAsMHg4OSwweDAwLDB4MjIsMHg2MCwweDBiLDB4YjgsMHgwMiwweDY0LDB4MDAsMHg4YiB9LAotICAxNiwgMHg5MjQwLCAwLCB7MHgwMCwweDJhLDB4YzAsMHhjOCwweDAwLDB4MDMsMHg2NiwweDAwLDB4ODEsMHgwMCwweDAwLDB4YzAsMHgwZCwweGIwLDB4MGEsMHhhOCB9LAotICAxNiwgMHg5MjUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJjLDB4MDAsMHgxMywweDAwLDB4MjIsMHg0MCB9LAotICAxNiwgMHg5MjYwLCAwLCB7MHg4YiwweDI0LDB4MDIsMHgyYSwweDAwLDB4YmIsMHg4MiwweDIyLDB4NDAsMHgwMCwweGFjLDB4MDIsMHg4NCwweDAwLDB4ODksMHgwMCB9LAotICAxNiwgMHg5MjcwLCAwLCB7MHgyMiwweDIyLDB4MGIsMHhiMCwweDAyLDB4YzQsMHgwMCwweDliLDB4MDAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmUsMHgwMCB9LAotICAxNiwgMHg5MjgwLCAwLCB7MHg4YiwweDEwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweGEwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MjkwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweDAxLDB4MGIsMHgyMCwweDAyLDB4MDAsMHg4MCwweGIxLDB4MDAsMHgyMCB9LAotICAxNiwgMHg5MmEwLCAwLCB7MHhjMSwweDA4LDB4MjAsMHgwMiwweDg4LDB4MDEsMHg4MSwweDAwLDB4YTAsMHgwMCwweDBiLDB4MzAsMHgwMiwweDQ0LDB4MDEsMHg5YiB9LAotICAxNiwgMHg5MmIwLCAwLCB7MHgwMCwweDI4LDB4YzAsMHgwOCwweGIwLDB4MDIsMHg0OCwweDA2LDB4ODksMHgwMCwweDJhLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4MiB9LAotICAxNiwgMHg5MmMwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4ZCwweDZjLDB4MDAsMHhjMywweDAwLDB4YjIsMHhjMCB9LAotICAxNiwgMHg5MmQwLCAwLCB7MHgwZiwweGIwLDB4MDMsMHgyOCwweDIwLDB4ZmEsMHgwMCwweGIxLDB4NDAsMHgwZCwweGEwLDB4MDcsMHhhMCwweDAwLDB4Y2QsMHgwMCB9LAotICAxNiwgMHg5MmUwLCAwLCB7MHgyMiwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZjQsMHgwMCwweDlmLDB4MDAsMHgzYiwweGMwLDB4MmMsMHhiMCwweDBiLDB4MjQsMHgwMCB9LAotICAxNiwgMHg5MmYwLCAwLCB7MHhjOSwweDAwLDB4YmEsMHhjMCwweDBjLDB4YjAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MzAwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgwNiwweGZmLDB4MDIsMHhhZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZjAsMHgxMCwweGZjLDB4MDAsMHgzZiB9LAotICAxNiwgMHg5MzEwLCAwLCB7MHhjMCwweDlmLDB4ZTAsMHgxMywweGYwLDB4MDAsMHhmZCwweDA0LDB4M2YsMHg0MCwweDRmLDB4ZjAsMHgwMywweDc0LDB4MDAsMHhlZiB9LAotICAxNiwgMHg5MzIwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg4ZiwweGUwLDB4MDIsMHhiNCwweDAxLDB4ZmQsMHgwNCwweDM3LDB4YzAsMHgwZiwweGYwLDB4NDMsMHg2OCB9LAotICAxNiwgMHg5MzMwLCAwLCB7MHgwNCwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4MDAsMHhjNywweDIwLDB4YjMsMHhjOCB9LAotICAxNiwgMHg5MzQwLCAwLCB7MHgxYywweGYxLDB4MDMsMHg3YywweDIwLDB4Y2YsMHgwYSwweDNmLDB4ZDAsMHgwZCwweGYwLDB4MDMsMHg3YywweDgwLDB4OGYsMHgzMiB9LAotICAxNiwgMHg5MzUwLCAwLCB7MHgzMywweGM0LDB4MGYsMHhmMSwweDgzLDB4M2MsMHhlMCwweGNmLDB4MTAsMHgzMywweGM0LDB4MGQsMHhmMiwweDgzLDB4M2MsMHhlMiB9LAotICAxNiwgMHg5MzYwLCAwLCB7MHhjNywweDgwLDB4MTcsMHhjYywweDRjLDB4ZjMsMHg4MywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5MzcwLCAwLCB7MHg4MCwweDEwLDB4ZTMsMHg0MCwweDg4LDB4NjgsMHgyMiwweDMwLDB4MDgsMHgwNiwweDAyLDB4MDEsMHhhMSwweDg4LDB4YzQsMHgwZSB9LAotICAxNiwgMHg5MzgwLCAwLCB7MHgxNCwweDA4LDB4ODcsMHg4MCwweDAxLDB4YzAsMHgyOCwweDUwLDB4MDIsMHgwNCwweDhiLDB4ODYsMHgwMiwweGExLDB4OTgsMHg4OCB9LAotICAxNiwgMHg5MzkwLCAwLCB7MHg0MSwweDJhLDB4MDQsMHgwYSwweDg0LDB4ODIsMHhiZCwweDgwLDB4OGIsMHgwOCwweDJiLDB4YzQsMHg4OCwweGY0LDB4MDMsMHg2MCB9LAotICAxNiwgMHg5M2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNjLDB4MDgsMHg4MiwweDQwLDB4MjAsMHgxMCB9LAotICAxNiwgMHg5M2IwLCAwLCB7MHgwOCwweDIxLDB4MTIsMHg0NCwweDA0LDB4ODIsMHgwNCwweDJjLDB4MDgsMHg4OSwweDkwLDB4MDIsMHg0NCwweDIxLDB4OGIsMHgwMCB9LAotICAxNiwgMHg5M2MwLCAwLCB7MHgyNCwweDg4LDB4OGIsMHhhMCwweDAwLDB4NDAsMHg4NCwweDg5LDB4MzAsMHgyMiwweDQ4LDB4ODgsMHhiMCwweDAyLDB4Y2MsMHgwOCB9LAotICAxNiwgMHg5M2QwLCAwLCB7MHg4OCwweDIwLDB4YTQsMHhjOCwweDAwLDB4MzIsMHgwYSwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5M2UwLCAwLCB7MHhjMCwweDE1LDB4YTAsMHgwMCwweDg5LDB4MDAsMHgyMiwweGMxLDB4ODgsMHg5MCwweDYyLDB4MjgsMHgwOCwweDg5LDB4MDgsMHgyZSB9LAotICAxNiwgMHg5M2YwLCAwLCB7MHhjMCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDgsMHhhOCwweDAwLDB4MjYsMHg0MiwweDBiLDB4OTAsMHgwMiwweGNjLDB4NTAsMHg4YSB9LAotICAxNiwgMHg5NDAwLCAwLCB7MHgyMiwweDJhLDB4ODYsMHgwYSwweDgwLDB4MDIsMHhlYywweDAwLDB4ODgsMHg4NCwweDJhLDB4YzEsMHgwOCwweGIwLDB4MjYsMHgzMCB9LAotICAxNiwgMHg5NDEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGYwLDB4MDIsMHhjZiwweDAwLDB4MzMsMHhjMCB9LAotICAxNiwgMHg5NDIwLCAwLCB7MHg0OCwweGY4LDB4NDMsMHg3OSwweDAwLDB4OGQsMHhjMCwweDNmLDB4MzAsMHg4ZCwweDYwLDB4ODMsMHg3OCwweDYwLDB4YzQsMHg1OCB9LAotICAxNiwgMHg5NDMwLCAwLCB7MHgzNywweDIwLDB4MGYsMHg1OCwweDEzLDB4N2IsMHgwMiwweGNjLDB4YzQsMHgzMSwweDIwLDB4MGMsMHg0NCwweDAzLDB4ZWMsMHgwMiB9LAotICAxNiwgMHg5NDQwLCAwLCB7MHg4YiwweDgwLDB4MzYsMHhjMCwweDI0LDB4YjAsMHgxMiwweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NDUwLCAwLCB7MHhlMCwweDAxLDB4OWMsMHgwMCwweGY0LDB4MTAsMHgzZCwweDAwLDB4NmYsMHhjOSwweDEzLDB4ZDQsMHgxMiwweGZlLDB4OTAsMHgzZiB9LAotICAxNiwgMHg5NDYwLCAwLCB7MHhmMCwweDBmLDB4ZGEsMHgyMywweGY0LDB4MTQsMHhmZiwweDAyLDB4M2IsMHhmMCwweDBmLDB4ZWEsMHgyMywweGI2LDB4MDAsMHhmZiB9LAotICAxNiwgMHg5NDcwLCAwLCB7MHg4MiwweDNmLDB4ZTEsMHg4ZiwweGY0LDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHhhZiwweDcwLDB4MDMsMHhmOCB9LAotICAxNiwgMHg5NDgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGEwLDB4MDAsMHhjYSwweDAwLDB4MzIsMHgwOCB9LAotICAxNiwgMHg5NDkwLCAwLCB7MHgxYywweGEwLDB4MDMsMHhhNSwweDIwLDB4Y2IsMHg0MCwweGJhLDB4MTAsMHgxZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZWIsMHgwMCB9LAotICAxNiwgMHg5NGEwLCAwLCB7MHg3MiwweDkwLDB4MGMsMHhiNCwweDAzLDB4MjksMHgwNCwweGM5LDB4NTIsMHgzMiwweDUwLDB4MGMsMHhiNCwweDAzLDB4MGMsMHgwMCB9LAotICAxNiwgMHg5NGIwLCAwLCB7MHhmOCwweDQwLDB4MzIsMHhjMSwweDBlLDB4YjAsMHgwYiwweDUwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NGMwLCAwLCB7MHhjOCwweDA1LDB4MmQsMHg4MCwweDg5LDB4ODAsMHgyMiwweGQ5LDB4MDgsMHg5MCwweDIyLDB4MmEsMHgwMCwweDg4LDB4NTQsMHgyMiB9LAotICAxNiwgMHg5NGQwLCAwLCB7MHhjMCwweDhiLDB4ODAsMHgyMiwweDIwLDB4MTksMHhjOCwweDAwLDB4MjIsMHg0MCwweDhkLDB4ODAsMHgxYSwweDI0LDB4MTAsMHhkMiB9LAotICAxNiwgMHg5NGUwLCAwLCB7MHg0NCwweDIyLDB4ODEsMHgwZCwweDgwLDB4MDMsMHg3YywweDAwLDB4YjAsMHgwMCwweDM3LDB4YzAsMHg4OCwweGYwLDB4MDIsMHgzMiB9LAotICAxNiwgMHg5NGYwLCAwLCB7MHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDRlLDB4MDAsMHg4MSwweDAwLDB4YTAsMHhmMCB9LAotICAxNiwgMHg5NTAwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHg4OSwweDAyLDB4ODAsMHgwMCwweDIyLDB4YzAsMHgwYiwweDAwLDB4MjIsMHhhMCwweDAwLDB4YjAsMHgwMCB9LAotICAxNiwgMHg5NTEwLCAwLCB7MHgyMCwweDQwLDB4MDgsMHgwMCwweDAyLDB4MDQsMHgwMCwweDgyLDB4NjAsMHgyMCwweDgwLDB4MDgsMHgwMCwweDAyLDB4MGMsMHgwOCB9LAotICAxNiwgMHg5NTIwLCAwLCB7MHhiMiwweDAwLDB4MjIsMHhjMCwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NTMwLCAwLCB7MHgyMCwweDAxLDB4MDMsMHgxMCwweDhlLDB4OTAsMHgyMywweDI0LDB4MDgsMHg2YiwweDAyLDB4MTYsMHg2MCwweDhmLDB4ODAsMHgyMSB9LAotICAxNiwgMHg5NTQwLCAwLCB7MHgyOCwweDBiLDB4ZjksMHgwNiwweDFlLDB4NDAsMHg4ZiwweDgwLDB4MjMsMHhhNCwweDQ5LDB4NzksMHgwMiwweDNhLDB4NDAsMHg5ZCB9LAotICAxNiwgMHg5NTUwLCAwLCB7MHg5MCwweDIzLDB4NjQsMHgwOSwweGY4LDB4MDIsMHg1ZSwweDQwLDB4YmUsMHg5MCwweDI0LDB4ZTQsMHgyOCwweDc5LDB4MDIsMHgwOCB9LAotICAxNiwgMHg5NTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDIsMHhjMCwweDA5LDB4MzAsMHgwMCB9LAotICAxNiwgMHg5NTcwLCAwLCB7MHgyOCwweDAyLDB4MDMsMHg4NCwweDAwLDB4OGEsMHgyMCwweDMwLDB4YzQsMHg4YiwweDExLDB4MDMsMHg4NCwweDUwLDB4YjMsMHgwMCB9LAotICAxNiwgMHg5NTgwLCAwLCB7MHgyMCwweGMwLDB4MGMsMHhhNCwweDIyLDB4MDQsMHgwMCwweGNiLDB4NDAsMHgzMCwweGM1LDB4MGMsMHgzMCwweDAzLDB4MGUsMHg0MCB9LAotICAxNiwgMHg5NTkwLCAwLCB7MHhmMywweDEwLDB4MzAsMHhjNCwweDBjLDB4YjAsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NWEwLCAwLCB7MHg0MCwweDFkLDB4YjAsMHgwNCwweGZiLDB4MDQsMHgzZCwweGMwLDB4MGYsMHhmMiwweDQzLDB4ZjgsMHgwNCwweGZkLDB4MDEsMHgzZiB9LAotICAxNiwgMHg5NWIwLCAwLCB7MHgwYywweDBmLDB4NjEsMHgwMywweGY4LDB4NDgsMHhmNCwweDAwLDB4M2QsMHgwMSwweDBmLDB4ZDAsMHgwMywweGM4LDB4MDAsMHhmYyB9LAotICAxNiwgMHg5NWMwLCAwLCB7MHgwNCwweGJkLDB4MDQsMHgwYiwweDQ4LDB4MDMsMHhmYywweDE4LDB4ZmYsMHgxNCwweDNmLDB4ZDUsMHgwZCwweGYwLDB4MDMsMHg5MCB9LAotICAxNiwgMHg5NWQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGUwLDB4MDAsMHhmOSwweDAxLDB4MzIsMHhjMCB9LAotICAxNiwgMHg5NWUwLCAwLCB7MHg4ZSwweDkwLDB4MDMsMHgyOCwweDAyLDB4ZDEsMHgwMCwweDMyLDB4YzAsMHgwZCwweGE4LDB4MGIsMHgwOCwweDAwLDB4ZTgsMHgwMCB9LAotICAxNiwgMHg5NWYwLCAwLCB7MHgyZSwweDQwLDB4MGMsMHg5OCwweDBiLDB4MmUsMHgwMiwweGNhLDB4MDAsMHhiMiwweGEwLDB4NmMsMHg4MCwweDIzLDB4MmQsMHg4MCB9LAotICAxNiwgMHg5NjAwLCAwLCB7MHhjYSwweDgwLDB4MzIsMHhkMCwweDBjLDB4YmEsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NjEwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweGI2LDB4MDAsMHhhMywweDAwLDB4MDgsMHg2MCwweDAyLDB4MDQsMHgwMCwweDg2LDB4MDQsMHgyOSB9LAotICAxNiwgMHg5NjIwLCAwLCB7MHgwMCwweDA4LDB4NTAsMHg0MiwweDE0LDB4MDQsMHhhNywweDAwLDB4MGQsMHg4MCwweDRhLDB4NjAsMHgwMiwweDAwLDB4MDAsMHg4MSB9LAotICAxNiwgMHg5NjMwLCAwLCB7MHgwMCwweDIxLDB4NDAsMHgwOCwweDcwLDB4MDIsMHg5ZCwweDQyLDB4ODYsMHgwMSwweDIwLDB4YzAsMHgwOCwweDMyLDB4ODIsMHgxMiB9LAotICAxNiwgMHg5NjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDkyLDB4MDAsMHhiYywweDgwLDB4NjMsMHgyMCB9LAotICAxNiwgMHg5NjUwLCAwLCB7MHg4MiwweDA4LDB4MDIsMHg1MiwweDAwLDB4ODQsMHhjMiwweDIzLDB4MjAsMHg4OCwweDBjLDB4MDIsMHgzMywweDAwLDB4ODQsMHg4MCB9LAotICAxNiwgMHg5NjYwLCAwLCB7MHgyZiwweDIxLDB4ODksMHg0YywweDAyLDB4MTIsMHgxNCwweDk0LDB4YzUsMHg2NCwweDIxLDB4MDgsMHg0YywweDAyLDB4MGUsMHg4MCB9LAotICAxNiwgMHg5NjcwLCAwLCB7MHg5NywweDgyLDB4YTEsMHhlYywweDA4LDB4NzksMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NjgwLCAwLCB7MHg0OCwweDE0LDB4Y2QsMHg0NCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NGQsMHg4MCwweDAzLDB4ODgsMHgyOCB9LAotICAxNiwgMHg5NjkwLCAwLCB7MHhjMCwweDA4LDB4M2MsMHgwNiwweDBmLDB4MDAsMHhhMywweDQzLDB4MmMsMHhjMiwweDFiLDB4MzgsMHgwMiwweDBmLDB4MDAsMHg5YiB9LAotICAxNiwgMHg5NmEwLCAwLCB7MHg4OCwweDY0LDB4ZDAsMHgwOCwweGI4LDB4MDIsMHg4YywweDEwLDB4OTMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MGEsMHgxMiB9LAotICAxNiwgMHg5NmIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGFhLDB4MDAsMHhmYSwweDA1LDB4MzIsMHg4MCB9LAotICAxNiwgMHg5NmMwLCAwLCB7MHg4ZSwweGEwLDB4MGIsMHg2OSwweDAwLDB4Y2EsMHg0MCwweDMyLDB4YTAsMHgzYywweGE4LDB4MDMsMHgyYSwweDAwLDB4ZWEsMHgyNiB9LAotICAxNiwgMHg5NmQwLCAwLCB7MHgzZSwweGIwLDB4MGQsMHhhMSwweDYzLDB4MjgsMHgyMCwweGNhLDB4NDAsMHgzNiwweGEwLDB4MGMsMHhlMCwweDEzLDB4MjgsMHgwOSB9LAotICAxNiwgMHg5NmUwLCAwLCB7MHhkZSwweDAwLDB4MzIsMHg4MCwweDJjLDB4YTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NmYwLCAwLCB7MHg0OCwweDAwLDB4ZjAsMHgyMCwweGY0LDB4MDAsMHgzZiwweDAwLDB4MGYsMHg0MCwweDIzLDB4YjAsMHgwMCwweGVjLDB4MDAsMHgzZiB9LAotICAxNiwgMHg5NzAwLCAwLCB7MHgwNiwweDFlLDB4YzIsMHgxMywweGYwLDB4ODgsMHhmYywweDIwLDB4M2YsMHgwNCwweDhlLDB4YzAsMHgwMywweGYwLDB4ODAsMHhlYyB9LAotICAxNiwgMHg5NzEwLCAwLCB7MHg0MCwweDNiLDB4MGMsMHgwZiwweGMwLDB4YTMsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhkMiB9LAotICAxNiwgMHg5NzIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDAsMHhmOSwweDAwLDB4MzIsMHg0MCB9LAotICAxNiwgMHg5NzMwLCAwLCB7MHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4YzksMHg4MCwweDMyLDB4NDAsMHgwZiwweDkwLDB4NTMsMHhlNCwweDEwLDB4YzksMHgwMCB9LAotICAxNiwgMHg5NzQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4OGYsMHg5MCwweDAzLDB4MjQsMHgxMCB9LAotICAxNiwgMHg5NzUwLCAwLCB7MHhjOSwweDAxLDB4M2MsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5NzYwLCAwLCB7MHg4MCwweDA0LDB4NDcsMHg0NCwweDg5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjUsMHgwYSwweDgxLDB4MTAsMHgyMiB9LAotICAxNiwgMHg5NzcwLCAwLCB7MHg0MCwweDQ4LDB4OTAsMHgwMywweGM0LDB4MDAsMHg4OSwweDAwLDB4NzYsMHg0MCwweDI4LDB4OTAsMHgwMiwweGU0LDB4MTAsMHhiOSB9LAotICAxNiwgMHg5NzgwLCAwLCB7MHg0MCwweGIyLDB4NDAsMHgwYiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDEsMHgwOCwweDkwLDB4NDIsMHhlMCB9LAotICAxNiwgMHg5NzkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI0LDB4MDIsMHhiZCwweDAwLDB4MjMsMHg0OCB9LAotICAxNiwgMHg5N2EwLCAwLCB7MHgwOCwweGQwLDB4MDYsMHgxZCwweDA0LDB4OGQsMHgwMCwweDI5LDB4YzAsMHg0YSwweGQwLDB4MjIsMHhmNCwweDAwLDB4ODUsMHgwMCB9LAotICAxNiwgMHg5N2IwLCAwLCB7MHg2MSwweDQwLDB4MTgsMHhkMCwweDEyLDB4ZmMsMHgwMCwweGJkLDB4NDAsMHhhMywweDQwLDB4NGIsMHhmMCwweDAyLDB4MDQsMHgwMSB9LAotICAxNiwgMHg5N2MwLCAwLCB7MHg4YiwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5N2QwLCAwLCB7MHgwOCwweDA0LDB4MzYsMHg4MCwweDg1LDB4MjAsMHhhMywweDQ4LDB4MDgsMHg1MiwweDBhLDB4MTQsMHg4MSwweDg1LDB4MjAsMHgyOSB9LAotICAxNiwgMHg5N2UwLCAwLCB7MHg0OCwweDA4LDB4NTIsMHgwMiwweGI0LDB4ODAsMHg4NSwweDIwLDB4MjUsMHg0OCwweDg4LDB4NTIsMHgwMiwweGQ0LDB4ODAsMHhiNSB9LAotICAxNiwgMHg5N2YwLCAwLCB7MHgyMCwweDIxLDB4NDgsMHgwYiwweDUyLDB4MDIsMHg0NCwweGEyLDB4ODEsMHgwMCwweDJjLDB4NGEsMHgwOCwweDEyLDB4ODIsMHhjMiB9LAotICAxNiwgMHg5ODAwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDUxLDB4MjIsMHgwMCB9LAotICAxNiwgMHg5ODEwLCAwLCB7MHgyYywweDg1LDB4MDIsMHgyMSwweDQ4LDB4YzgsMHgwMCwweGJhLDB4MTQsMHgwZiwweDg1LDB4MTIsMHhlMSwweDQyLDB4YzgsMHg1MCB9LAotICAxNiwgMHg5ODIwLCAwLCB7MHgyMiwweDAwLDB4MGMsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MDcsMHg0NSwweDAzLDB4MjAsMHg4MCB9LAotICAxNiwgMHg5ODMwLCAwLCB7MHhjMCwweDAxLDB4M2UsMHgwOCwweDJjLDB4ODIsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ODQwLCAwLCB7MHg5OCwweDBkLDB4ZTQsMHg0MCwweGYxLDB4MTAsMHgzZSwweDQ0LDB4MDcsMHg5MSwweDQzLDB4ZTQsMHg1OCwweGY5LDB4MTEsMHgzNCB9LAotICAxNiwgMHg5ODUwLCAwLCB7MHg0NCwweDRmLDB4OTEsMHgwMiwweGU0LDB4NTAsMHhmOSwweDEwLDB4M2MsMHg0ZiwweDBmLDB4OTMsMHg4MywweGU0LDB4ZjAsMHhmOSB9LAotICAxNiwgMHg5ODYwLCAwLCB7MHgxMSwweDNhLDB4NGYsMHgwZiwweDkxLDB4MDMsMHhlNCwweGEwLDB4ZmQsMHgyOCwweDNlLDB4NGEsMHgwZiwweDkyLDB4ODMsMHhlNiB9LAotICAxNiwgMHg5ODcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4YTAsMHhjZCwweGEwLDB4YjMsMHg2OCB9LAotICAxNiwgMHg5ODgwLCAwLCB7MHg4YywweDlhLDB4MDMsMHgzNiwweDgwLDB4YzUsMHhhMCwweDIyLDB4NjAsMHgwYywweDlhLDB4MjMsMHgyNiwweDA0LDB4ZjksMHhhMCB9LAotICAxNiwgMHg5ODkwLCAwLCB7MHgzMiwweDY2LDB4MGMsMHg5YSwweDgzLDB4MDYsMHgyMCwweGM1LDB4YTAsMHgyMiwweDYwLDB4MGMsMHg5YiwweDAzLDB4MjYsMHg0OCB9LAotICAxNiwgMHg5OGEwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg3OCwweDBjLDB4OWEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OGIwLCAwLCB7MHgzOCwweDAwLDB4ZTEsMHgwMCwweDg4LDB4NDQsMHgyMiwweDk1LDB4MDgsMHg4NSwweDEyLDB4YTEsMHg0MiwweDg4LDB4NDAsMHgwMiB9LAotICAxNiwgMHg5OGMwLCAwLCB7MHg5MCwweDA4LDB4ODQsMHgwMiwweDIzLDB4YTAsMHhiYSwweDQwLDB4MjIsMHhhMCwweDA4LDB4OGUsMHg5MiwweGEzLDB4YTAsMHhhOCB9LAotICAxNiwgMHg5OGQwLCAwLCB7MHg0MCwweDJhLDB4MTAsMHgwOCwweGFlLDB4MDIsMHgyMywweDQwLDB4ODgsMHgwMCwweDJlLDB4MzgsMHgwOCwweDg0LDB4MTIsMHgwZSB9LAotICAxNiwgMHg5OGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxNSwweGM0LDB4MDAsMHg4YiwweDEyLDB4MjIsMHg0MCB9LAotICAxNiwgMHg5OGYwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHg0NCwweDAwLDB4ODEsMHg0MCwweGEwLDB4NTAsMHgwOCwweDExLDB4MGEsMHgwNSwweDAwLDB4YjEsMHgxMCB9LAotICAxNiwgMHg5OTAwLCAwLCB7MHhhMCwweDQ4LDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDgxLDB4NDAsMHgyMCwweDUwLDB4MjgsMHgxMSwweDAyLDB4NDQsMHg4MiB9LAotICAxNiwgMHg5OTEwLCAwLCB7MHg4MSwweDAwLDB4MmMsMHg1MCwweDA4LDB4MTEsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OTIwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMiwweDg5LDB4NDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDEyLDB4YTUsMHgwMCwweDg5LDB4MjgsMHgyMiB9LAotICAxNiwgMHg5OTMwLCAwLCB7MHg0OSwweDA4LDB4OTQsMHgwMiwweDI0LDB4NDgsMHhiOSwweDE0LDB4MjIsMHg0MCwweDA4LDB4OTQsMHgwMiwweGE0LDB4NDAsMHhhMSB9LAotICAxNiwgMHg5OTQwLCAwLCB7MHg1MCwweDJhLDB4NTAsMHgwOCwweDkxLDB4NDIsMHg2NCwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNiB9LAotICAxNiwgMHg5OTUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzAsMHg3MCB9LAotICAxNiwgMHg5OTYwLCAwLCB7MHgyYywweDEwLDB4MGIsMHg2NiwweDAwLDB4YzksMHg0MCwweDMyLDB4NTAsMHgwYywweDkwLDB4MDMsMHgyNiwweDIwLDB4ZjksMHhjMCB9LAotICAxNiwgMHg5OTcwLCAwLCB7MHgzMiwweDcwLDB4MGMsMHg5MCwweDAzLDB4MjYsMHgyMCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5YywweDAzLDB4NjQsMHgwMCB9LAotICAxNiwgMHg5OTgwLCAwLCB7MHhjOSwweDQxLDB4M2UsMHg0MCwweDJjLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5OTkwLCAwLCB7MHgyOCwweDAxLDB4YTQsMHgwMCwweGY5LDB4MDQsMHgzZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg4OCwweGY5LDB4MDAsMHgzNCB9LAotICAxNiwgMHg5OWEwLCAwLCB7MHg0MSwweDJmLDB4OWMsMHgwMywweGU0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0NCwweDJmLDB4OTksMHgwMywweGU0LDB4MTAsMHhmOSB9LAotICAxNiwgMHg5OWIwLCAwLCB7MHgwMCwweDNlLDB4NTAsMHgwZiwweDEwLDB4NGIsMHhhNCwweDEwLDB4ZjksMHgyMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg0YSB9LAotICAxNiwgMHg5OWMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgxMCB9LAotICAxNiwgMHg5OWQwLCAwLCB7MHgyYywweDgwLDB4MDMsMHgyMCwweDAyLDB4YzAsMHg0MCwweDMyLDB4MDAsMHgxYywweDA0LDB4MGYsMHgyMSwweDAwLDB4YzAsMHgwNCB9LAotICAxNiwgMHg5OWUwLCAwLCB7MHgzOCwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwOCwweGM4LDB4NjAsMHgzMCwweDEwLDB4MGYsMHg4MCwweDAyLDB4MjAsMHgwMCB9LAotICAxNiwgMHg5OWYwLCAwLCB7MHhmOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweGNhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YTAwLCAwLCB7MHgyOCwweDA1LDB4MWEsMHgyMCwweDgyLDB4MDQsMHgyZiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MzgsMHgwMCwweDhlLDB4ODAsMHgyMiB9LAotICAxNiwgMHg5YTEwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MSwweDBiLDB4MjAsMHgwMiwweDI4LDB4MDAsMHhkZSB9LAotICAxNiwgMHg5YTIwLCAwLCB7MHhlNCwweDM2LDB4ODAsMHgwYiwweGEwLDB4NDIsMHgyOCwweDAwLDB4YmEsMHgwNCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHhjYSB9LAotICAxNiwgMHg5YTMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDAxLDB4MmMsMHg4MCB9LAotICAxNiwgMHg5YTQwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgyZSwweDYwLDB4ODIsMHg5MCwweGEwLDB4YzAsMHg0OCwweDMwLDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCB9LAotICAxNiwgMHg5YTUwLCAwLCB7MHgyOCwweGMwLDB4MGIsMHgzMCwweDBhLDB4MmMsMHgwMCwweDgzLDB4YzIsMHgyMCwweGMwLDB4MGIsMHgzMCwweDJhLDB4MmMsMHgwMCB9LAotICAxNiwgMHg5YTYwLCAwLCB7MHhiMywweDAwLDB4YTAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YTcwLCAwLCB7MHhhMCwweDAxLDB4M2MsMHgwMCwweDg3LDB4MDEsMHgyZCwweGMyLDB4MDgsMHhmMywweDEyLDB4M2MsMHgwMCwweDhmLDB4MDEsMHgyMSB9LAotICAxNiwgMHg5YTgwLCAwLCB7MHhjOCwweDY4LDB4NzIsMHgyMiwweDFlLDB4MDQsMHg4NywweDIwLDB4MjEsMHhjNCwweDBiLDB4NzAsMHgwMiwweDNjLDB4ODQsMHg5ZiB9LAotICAxNiwgMHg5YTkwLCAwLCB7MHgwMCwweDI1LDB4YzQsMHg0YiwweDcwLDB4MDIsMHgxYywweDA0LDB4YjcsMHg4MSwweDIxLDB4YzgsMHgwOCwweDcyLDB4MDIsMHhlOCB9LAotICAxNiwgMHg5YWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwMCwweDFlLDB4MDAsMHhjNywweDgxLDB4M2MsMHhhMCB9LAotICAxNiwgMHg5YWIwLCAwLCB7MHg0YywweDdhLDB4MGIsMHgxYSwweDAwLDB4YzYsMHg4MCwweDMwLDB4ZTAsMHgwOCwweGY4LDB4ODIsMHgwZSwweDQwLDB4Y2YsMHhmMCB9LAotICAxNiwgMHg5YWMwLCAwLCB7MHgzOSwweGU4LDB4MGYsMHgzYSwweDAzLDB4MWUsMHgyMCwweGM3LDB4ODAsMHgzMSwweGUzLDB4MGYsMHgzOCwweDIzLDB4MWYsMHgwOCB9LAotICAxNiwgMHg5YWQwLCAwLCB7MHhmZiwweGMwLDB4MzMsMHhmMiwweDBjLDB4N2UsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YWUwLCAwLCB7MHgwOCwweDE1LDB4ODgsMHgwYSwweDdiLDB4MDAsMHgzZSwweGMxLDB4MGIsMHgzNCwweDIzLDB4YzgsMHgxMCwweGZiLDB4MDIsMHgzZSB9LAotICAxNiwgMHg5YWYwLCAwLCB7MHhjYSwweDBmLDB4YjcsMHg0MywweGVjLDB4ODAsMHhmYiwweDAwLDB4MmUsMHhjMiwweDBiLDB4YjQsMHg4MywweGVkLDB4ZDAsMHhmYSB9LAotICAxNiwgMHg5YjAwLCAwLCB7MHgwMCwweDNlLDB4ZDksMHgwZiwweGIzLDB4ODMsMHhlYywweDgwLDB4YmIsMHgyMCwweDNlLDB4ZDgsMHgyZiwweGI0LDB4MDMsMHhjMiB9LAotICAxNiwgMHg5YjEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGZlLDB4MDAsMHhmNSwweDkxLDB4MzEsMHhhMCB9LAotICAxNiwgMHg5YjIwLCAwLCB7MHgwYywweGZjLDB4MDMsMHhmZSwweDAwLDB4YzQsMHg4MSwweDMxLDB4ZWUsMHg4ZCwweGY4LDB4MGEsMHgzZSwweDMwLDB4Y2YsMHg4NCB9LAotICAxNiwgMHg5YjMwLCAwLCB7MHgzMywweGUwLDB4MmMsMHhmOCwweDgzLDB4ZmUsMHgxMCwweGZlLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOSwweDE5LDB4M2YsMHg0OCB9LAotICAxNiwgMHg5YjQwLCAwLCB7MHhjZiwweGMwLDB4MzMsMHhlMCwweDA0LDB4ZmMsMHgwMywweGMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YjUwLCAwLCB7MHhhOCwweDExLDB4OWMsMHgwOCwweGI3LDB4YTEsMHgyMSwweGM4LDB4MDgsMHg3MSwweDAyLDB4ZjAsMHhhMCwweDg1LDB4MjAsMHgyMSB9LAotICAxNiwgMHg5YjYwLCAwLCB7MHhjZSwweDA4LDB4NzAsMHgwMiwweDNjLDB4ODAsMHg4ZiwweDAwLDB4MmIsMHhjNSwweDA4LDB4NzEsMHgwMiwweGRjLDB4MTAsMHhiNCB9LAotICAxNiwgMHg5YjcwLCAwLCB7MHgwMCwweDIxLDB4YzEsMHgwYSwweGYzLDB4ODIsMHgwYywweDAwLDB4ODcsMHgwMSwweDI5LDB4YzAsMHgwOCwweDcxLDB4MDIsMHg2YSB9LAotICAxNiwgMHg5YjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDlkLDB4MDAsMHhiZCwweDIxLDB4MjcsMHg4MiB9LAotICAxNiwgMHg5YjkwLCAwLCB7MHgwMCwweDcwLDB4MDIsMHhmYywweDA0LDB4OGMsMHgwMCwweGE3LDB4Y2MsMHhhOCwweDcwLDB4MDIsMHgzYywweDA4LDB4YWYsMHgwMCB9LAotICAxNiwgMHg5YmEwLCAwLCB7MHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4MDAsMHgyMSwweGM0LDB4MDgsMHg3MCwweDE2LDB4MWMsMHgwYSB9LAotICAxNiwgMHg5YmIwLCAwLCB7MHg4ZiwweDAwLDB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YmMwLCAwLCB7MHgyMCwweDEwLDB4YzgsMHgwMCwweGJiLDB4NDQsMHgyNCwweGUyLDB4MDgsMHhiMSwweDAyLDB4YzIsMHg4MCwweDAxLDB4ODAsMHgyNCB9LAotICAxNiwgMHg5YmQwLCAwLCB7MHhkMCwweDg4LDB4MzAsMHgwMiwweDBmLDB4NTIsMHg4MywweDkxLDB4MjgsMHhlNCwweDg4LDB4M2QsMHgwMiwweGNlLDB4ZDAsMHhiMCB9LAotICAxNiwgMHg5YmUwLCAwLCB7MHhiMiwweGEyLDB4YzAsMHgwYSwweDM0LDB4MTIsMHgwYywweDAyLDB4ODMsMHgwMCwweDI4LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg0OCB9LAotICAxNiwgMHg5YmYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmYiwweDAxLDB4ZTQsMHg0MCB9LAotICAxNiwgMHg5YzAwLCAwLCB7MHgyYywweGYwLDB4NDMsMHhlNSwweDAwLDB4OGEsMHg4OCwweDM3LDB4ZTAsMHgwMCwweGZhLDB4MDIsMHgzZCwweDAwLDB4ZWYsMHgwMCB9LAotICAxNiwgMHg5YzEwLCAwLCB7MHgzMywweGQxLDB4MGMsMHhmNCwweDAzLDB4ZmQsMHgwMCwweGY5LDB4NDAsMHgzMywweGU4LDB4MGMsMHhmYywweDAxLDB4M2MsMHgwNCB9LAotICAxNiwgMHg5YzIwLCAwLCB7MHhjZiwweDAyLDB4MzMsMHhjMCwweDJjLDB4ZjAsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5YzMwLCAwLCB7MHg4MCwweDAwLDB4ZWUsMHgwOCwweGY5LDB4MTAsMHgzYSwweGQwLDB4MGYsMHhiMCwweDkzLDB4ZWMsMHgwMCwweGZiLDB4MGIsMHgzYSB9LAotICAxNiwgMHg5YzQwLCAwLCB7MHhjMCwweDhlLDB4YjAsMHg4MywweGVjLDB4ODAsMHhmYiwweDA5LDB4N2UsMHhjOCwweDBmLDB4YjIsMHgxMywweGVjLDB4MDAsMHhmOSB9LAotICAxNiwgMHg5YzUwLCAwLCB7MHgwMCwweDNlLDB4YzIsMHg4ZiwweGIyLDB4NGIsMHhjYywweDA0LDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg2MCB9LAotICAxNiwgMHg5YzYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHhmZiwweDA4LDB4MzMsMHhjMCB9LAotICAxNiwgMHg5YzcwLCAwLCB7MHgxYywweGYwLDB4MDMsMHg3MCwweDQwLDB4YzQsMHhjMCwweDMzLDB4YzIsMHgwZiwweGYwLDB4MDMsMHgxYywweDEwLDB4YzcsMHgwMCB9LAotICAxNiwgMHg5YzgwLCAwLCB7MHgzMSwweGMwLDB4MGMsMHg3MCwweDAzLDB4MWMsMHgwMCwweGM1LDB4NDEsMHgzMywweGMwLDB4MGMsMHhmMCwweDIzLDB4MmMsMHgwMCB9LAotICAxNiwgMHg5YzkwLCAwLCB7MHhjZiwweDAwLDB4YjMsMHhjMCwweDZjLDB4ZjAsMHgwMywweDgwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5Y2EwLCAwLCB7MHg4MSwweDA0LDB4NmEsMHgwMCwweGI5LDB4OTAsMHgzMiwweGYxLDB4MDgsMHhiMCwweDAyLDB4MGEsMHgxMCwweGQ5LDB4MDAsMHgyMiB9LAotICAxNiwgMHg5Y2IwLCAwLCB7MHhjMSwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhjYiwweDA2LDB4MjIsMHhjMCwweDg4LDB4YjAsMHgxMiwweDJjLDB4MDAsMHg4OCB9LAotICAxNiwgMHg5Y2MwLCAwLCB7MHg4MCwweDIyLDB4YzEsMHgwZCwweGIwLDB4MDIsMHgyYywweDAwLDB4ODMsMHgwMCwweDIyLDB4YzEsMHgwOCwweGIwLDB4NDYsMHhlMCB9LAotICAxNiwgMHg5Y2QwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwMSwweDJlLDB4MDAsMHhiOSwweDAwLDB4MjIsMHhmMCB9LAotICAxNiwgMHg5Y2UwLCAwLCB7MHgwOCwweGIwLDB4MTIsMHg2NCwweDAwLDB4OGEsMHgwMCwweDIyLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCB9LAotICAxNiwgMHg5Y2YwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhhLDB4MDAsMHgyMiwweGMwLDB4ODgsMHgzMCwweDBhLDB4MmMsMHgwMCB9LAotICAxNiwgMHg5ZDAwLCAwLCB7MHg4YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZDEwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwNCwweGIxLDB4MDIsMHhlNCwweGMxLDB4MDgsMHhiMCwweDIyLDB4MjAsMHgwMiwweDkzLDB4MDAsMHgyMCB9LAotICAxNiwgMHg5ZDIwLCAwLCB7MHhjMCwweDBiLDB4MzAsMHgxMiwweDBjLDB4MDIsMHg4MywweDAyLDB4YTAsMHhjMCwweDI4LDB4MzAsMHgwZSwweDBjLDB4MDIsMHg4MCB9LAotICAxNiwgMHg5ZDMwLCAwLCB7MHgwMCwweGEwLDB4YzAsMHg0OSwweDMwLDB4MGEsMHgwYywweDAyLDB4OGIsMHgwMCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHg5ZDQwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmOSwweDI0LDB4MzIsMHhjMCB9LAotICAxNiwgMHg5ZDUwLCAwLCB7MHgwOCwweGYwLDB4MDMsMHg2NCwweDAwLDB4YzgsMHgwMCwweGIzLDB4YzAsMHgxZiwweGYwLDB4MGIsMHgzYywweDAwLDB4OGYsMHgwMCB9LAotICAxNiwgMHg5ZDYwLCAwLCB7MHgzMywweGMwLDB4NGMsMHhmMCwweDQzLDB4M2MsMHgwOCwweGMzLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhmMCwweDAzLDB4M2QsMHg0OCB9LAotICAxNiwgMHg5ZDcwLCAwLCB7MHhjZiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ZjAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZDgwLCAwLCB7MHhhMCwweDFkLDB4ZjAsMHgwNCwweGY5LDB4NDEsMHgzYiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZjAsMHgxMSwweGZkLDB4MDAsMHgzZiB9LAotICAxNiwgMHg5ZDkwLCAwLCB7MHhjMCwweDg3LDB4NzAsMHgyNywweGZjLDB4MDAsMHhlZiwweDA2LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMiwweGZjLDB4MDgsMHhmYyB9LAotICAxNiwgMHg5ZGEwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg0NywweGYwLDB4NDMsMHhmYywweDAwLDB4NzcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHg5ZGIwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGQyLDB4MDAsMHhjNywweDAxLDB4MzcsMHgwYyB9LAotICAxNiwgMHg5ZGMwLCAwLCB7MHgwZiwweGU4LDB4MjMsMHgxMCwweDRhLDB4YzQsMHhjMCwweDMxLDB4MzAsMHgwYywweGM5LDB4MDMsMHgzNCwweDQ2LDB4Y2YsMHgxMCB9LAotICAxNiwgMHg5ZGQwLCAwLCB7MHgzMywweGQwLDB4MGMsMHhmNCwweDAzLDB4M2MsMHg1OCwweGNmLDB4MDAsMHgzMywweGMwLDB4MmQsMHhmMSwweDAzLDB4M2UsMHgwMiB9LAotICAxNiwgMHg5ZGUwLCAwLCB7MHhjZiwweDIxLDB4M2YsMHhlNCwweDBmLDB4ZjIsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZGYwLCAwLCB7MHg4MCwweDEwLDB4ZTQsMHg4NCwweDBiLDB4NDAsMHgyMiwweDRjLDB4MGIsMHhhOCwweDAyLDB4MmMsMHhjMCwweDhiLDB4MjAsMHgyMiB9LAotICAxNiwgMHg5ZTAwLCAwLCB7MHhjOCwweDRhLDB4MzIsMHgwMiwweDI0LDB4ODAsMHg4MywweDIwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDIwLDB4MDAsMHg4YiB9LAotICAxNiwgMHg5ZTEwLCAwLCB7MHgyMSwweDMyLDB4Y2EsMHg0OCwweDMyLDB4MDIsMHgyYywweDMwLDB4OGYsMHg5MCwweDJlLDB4ODgsMHgwYiwweGJkLDB4MTIsMHgyMCB9LAotICAxNiwgMHg5ZTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNlLDB4MjAsMHhhMywweDQwLDB4ZTAsMHg0OCB9LAotICAxNiwgMHg5ZTMwLCAwLCB7MHg0YiwweDIwLDB4MjIsMHgwYywweDAyLDB4ODIsMHgwMCwweDJhLDB4MDAsMHgwOCwweDIwLDB4MDIsMHgwNCwweDgwLDB4ODAsMHgyMCB9LAotICAxNiwgMHg5ZTQwLCAwLCB7MHgyMCwweGM4LDB4MDgsMHgwMiwweDAyLDB4MGMsMHgwMCwweDgwLDB4MGMsMHg2MCwweDAwLDB4MDgsMHgyMCwweDEyLDB4MmMsMHg4OCB9LAotICAxNiwgMHg5ZTUwLCAwLCB7MHg4MywweDAwLDB4MmMsMHhlOCwweDBiLDB4MzAsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZTYwLCAwLCB7MHhjMCwweDE1LDB4YWUsMHgwMCwweGFiLDB4MDEsMHhhMiwweDYwLDB4MGIsMHhhMCwweDAyLDB4MjAsMHgwMSwweDgxLDB4MDAsMHgyMiB9LAotICAxNiwgMHg5ZTcwLCAwLCB7MHhjMCwweDBhLDB4OTAsMHgxMiwweDA0LDB4MjAsMHg4YSwweDA4LDB4MjIsMHhjMSwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4OCB9LAotICAxNiwgMHg5ZTgwLCAwLCB7MHgwMCwweDI0LDB4NDQsMHgwOCwweGEyLDB4MDIsMHhhYywweDAwLDB4OGIsMHgwNCwweDJlLDB4ODgsMHgwMywweGIwLDB4MDIsMHg3MCB9LAotICAxNiwgMHg5ZTkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhlYSwweDkwLDB4MzIsMHgyOCB9LAotICAxNiwgMHg5ZWEwLCAwLCB7MHgwZiwweGI2LDB4MDMsMHgyMCwweDA4LDB4YzksMHgwNCwweDNhLDB4YzAsMHg0YywweDkwLDB4MjIsMHgyNCwweDAwLDB4Y2IsMHg0MCB9LAotICAxNiwgMHg5ZWIwLCAwLCB7MHgzMiwweGE4LDB4MGMsMHhiMiwweDAzLDB4MmMsMHgwMCwweGNiLDB4ODAsMHhiMiwweGUwLDB4MGMsMHhiMCwweDBiLDB4MDQsMHgwMCB9LAotICAxNiwgMHg5ZWMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgwYiwweDUwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZWQwLCAwLCB7MHhlMCwweDAxLDB4YmMsMHgwMCwweGRmLDB4ODAsMHgzYiwweDgxLDB4MGYsMHhmMCwweGMzLDB4ZmMsMHgwMCwweGJlLDB4MDEsMHgxZiB9LAotICAxNiwgMHg5ZWUwLCAwLCB7MHgwMCwweDBmLDB4ZTAsMHgyMywweGY0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhiMCwweDRmLDB4ZjAsMHg0MywweGQ0LDB4MDIsMHhmZiB9LAotICAxNiwgMHg5ZWYwLCAwLCB7MHg5MSwweDNhLDB4ZTAsMHg0ZSwweGYwLDB4MDMsMHg3YywweDBjLDB4ZmYsMHgwMCwweDJmLDB4ODAsMHgwZiwweDMwLDB4MDMsMHhiOCB9LAotICAxNiwgMHg5ZjAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGFjLDB4MDEsMHhjYSwweDAwLDB4NzIsMHg1MCB9LAotICAxNiwgMHg5ZjEwLCAwLCB7MHgwNCwweGI0LDB4MDMsMHgyYywweDgyLDB4Y2IsMHgwMCwweDMyLDB4ZTAsMHgwYywweGI4LDB4MDMsMHgyNywweDA0LDB4YzgsMHhjOCB9LAotICAxNiwgMHg5ZjIwLCAwLCB7MHhiMiwweGEyLDB4MGMsMHg4OCwweDAzLDB4MmMsMHgwMCwweGMxLDB4MDAsMHgzZSwweDAwLDB4MmMsMHgzMCwweDFiLDB4MmMsMHgwNCB9LAotICAxNiwgMHg5ZjMwLCAwLCB7MHhmYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZjQwLCAwLCB7MHhjOCwweDA1LDB4MmMsMHgwNCwweDAzLDB4NTAsMHhhMiwweGUwLDB4MDgsMHgzNCwweDQyLDB4MzMsMHgwMCwweDg4LDB4MDAsMHgyMCB9LAotICAxNiwgMHg5ZjUwLCAwLCB7MHgxMCwweDBkLDB4ODQsMHgwMywweDI1LDB4MDAsMHg4YSwweDQwLDB4MjIsMHg5MCwweDA4LDB4YTUsMHgwMiwweDJjLDB4MDAsMHg4OSB9LAotICAxNiwgMHg5ZjYwLCAwLCB7MHhhNCwweDNhLDB4NDAsMHgwOCwweGIwLDB4MDIsMHgyYywweDAwLDB4YmYsMHg4NCwweDJlLDB4ODAsMHgwYiwweGYwLDB4NTIsMHgzMiB9LAotICAxNiwgMHg5ZjcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDZjLDB4ODAsMHg4MSwweDgwLDB4MjQsMHg4OCB9LAotICAxNiwgMHg5ZjgwLCAwLCB7MHg4OSwweDNjLDB4MjYsMHgyMSwweDAwLDB4OTAsMHgwMCwweDIwLDB4MDIsMHgwOCwweDgwLDB4ODIsMHgwMCwweDIwLDB4OWIsMHgwMCB9LAotICAxNiwgMHg5ZjkwLCAwLCB7MHgyMiwweDQwLDB4ODgsMHhiMCwweDEyLDB4MGMsMHgwOCwweDgzLDB4ODAsMHgyYywweGMwLDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCB9LAotICAxNiwgMHg5ZmEwLCAwLCB7MHhiMywweDgwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHg5ZmIwLCAwLCB7MHgyMCwweDAxLDB4M2UsMHgwYSwweDg1LDB4YTAsMHhhNSwweDYwLDB4MDgsMHhmYiwweDgyLDB4M2UsMHg4NCwweDlmLDB4ODEsMHg2MyB9LAotICAxNiwgMHg5ZmMwLCAwLCB7MHhlMCwweDg5LDB4NzksMHgxMiwweDUyLDB4ODAsMHg5NywweDgyLDB4MjEsMHg2YywweDE4LDB4NzgsMHgwMiwweDEyLDB4MDAsMHg4NyB9LAotICAxNiwgMHg5ZmQwLCAwLCB7MHhhMSwweDI5LDB4ZTAsMHgwOCwweDViLDB4MDIsMHgxZSwweDAwLDB4YjcsMHhjMCwweDJkLDB4NjAsMHgwYiwweDc4LDB4MDIsMHgwOCB9LAotICAxNiwgMHg5ZmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MSwweDA4LDB4MjYsMHhjMiB9LAotICAxNiwgMHg5ZmYwLCAwLCB7MHgyYywweDMyLDB4MTMsMHgwZSwweGE0LDB4ZDIsMHgwMCwweGIwLDB4MDAsMHgxYywweDIxLDB4MTIsMHgyNCwweDAyLDB4ZDEsMHgyMCB9LAotICAxNiwgMHhhMDAwLCAwLCB7MHgzMCwweGM4LDB4MGMsMHgxMCwweDAzLDB4MGMsMHgwMCwweGMyLDB4MTAsMHgzYywweDgwLDB4MGMsMHgyMywweDAzLDB4MGMsMHg0MCB9LAotICAxNiwgMHhhMDEwLCAwLCB7MHhmMywweDAwLDB4M2MsMHg0OCwweDBmLDB4MzAsMHgwYiwweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMDIwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGZkLDB4MjAsMHhiYiwweDQwLDB4MDcsMHg3MiwweDAyLDB4ZjAsMHgxMCwweGVkLDB4MTAsMHgzZiB9LAotICAxNiwgMHhhMDMwLCAwLCB7MHhjNCwweDBmLDB4ZDEsMHg2MywweGI0LDB4ODAsMHhlZiwweDAwLDB4M2YsMHhjOCwweDBmLDB4ZjAsMHgwMywweGQ4LDB4MDAsMHhmZSB9LAotICAxNiwgMHhhMDQwLCAwLCB7MHgzNCwweDNmLDB4YzQsMHgwZiwweGViLDB4NDMsMHhmYywweDAwLDB4ZmYsMHgwOCwweDdmLDB4NDAsMHgwZiwweGYxLDB4ODMsMHhkMCB9LAotICAxNiwgMHhhMDUwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGVjLDB4MDAsMHhjOCwweDAwLDB4MzMsMHg4MCB9LAotICAxNiwgMHhhMDYwLCAwLCB7MHg4ZiwweDI4LDB4MDMsMHgyMCwweDAwLDB4NDksMHgwMiwweDMyLDB4YzAsMHgwZiwweDkwLDB4MDMsMHgyMCwweDAwLDB4Y2IsMHgwMCB9LAotICAxNiwgMHhhMDcwLCAwLCB7MHgzMiwweDQwLDB4NGMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGNiLDB4ODAsMHgzMiwweGMwLDB4MGUsMHg5ZSwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhMDgwLCAwLCB7MHhmYiwweDIwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMDkwLCAwLCB7MHg0OCwweDExLDB4OWMsMHgwMCwweDhkLDB4MDEsMHgyMSwweGMwLDB4MGIsMHg2MCwweDAyLDB4MWQsMHgwMCwweGQ2LDB4MDAsMHgyMSB9LAotICAxNiwgMHhhMGEwLCAwLCB7MHgwMCwweDBiLDB4ZTAsMHgwMiwweDAwLDB4MDAsMHg4MywweDA0LDB4MjAsMHg0MCwweDA4LDB4NzAsMHg0MiwweDM0LDB4MDIsMHg4NyB9LAotICAxNiwgMHhhMGIwLCAwLCB7MHgwMSwweDIzLDB4YzAsMHgyOCwweDUxLDB4MGEsMHgxYywweDA0LDB4YjcsMHgzMCwweDJkLDB4YzAsMHgwYiwweDcyLDB4MDMsMHg5MiB9LAotICAxNiwgMHhhMGMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDllLDB4MDAsMHhhNiwweDQwLDB4MjEsMHhhMCB9LAotICAxNiwgMHhhMGQwLCAwLCB7MHgwYiwweDY4LDB4MDIsMHgwZSwweDAwLDB4OGYsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgxNiwweDEwLDB4YTUsMHg4MCB9LAotICAxNiwgMHhhMGUwLCAwLCB7MHgyMSwweGUwLDB4MDgsMHgxOCwweDAyLDB4MWUsMHgwMCwweDgzLDB4ODAsMHgyMSwweGEwLDB4MDgsMHg3OCwweDAyLDB4MWYsMHgwMCB9LAotICAxNiwgMHhhMGYwLCAwLCB7MHhiNywweDgwLDB4MmQsMHhlMCwweDBiLDB4MzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMTAwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgxMiwweGExLDB4NjQsMHgyMCwweGU2LDB4MGIsMHgyMCwweDAyLDB4MDAsMHgxMCwweDkwLDB4NGEsMHgyMCB9LAotICAxNiwgMHhhMTEwLCAwLCB7MHgyMCwweDRiLDB4MDAsMHg0MiwweDA0LDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMiwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHg4MyB9LAotICAxNiwgMHhhMTIwLCAwLCB7MHgwNCwweDIwLDB4YzAsMHgwOCwweDMwLDB4MDIsMHgwZSwweDAwLDB4YjMsMHgwMCwweDJjLDB4ZTAsMHg0YiwweDMwLDB4MDIsMHg5MiB9LAotICAxNiwgMHhhMTMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhlZSwweGMwLDB4MzMsMHg5MCB9LAotICAxNiwgMHhhMTQwLCAwLCB7MHgwZiwweGEwLDB4MWIsMHgwOCwweDAwLDB4Y2EsMHg0MCwweGIyLDB4ODIsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAyLDB4Y2EsMHgwMCB9LAotICAxNiwgMHhhMTUwLCAwLCB7MHhiMiwweDkwLDB4YWMsMHhhMCwweDAzLDB4MjksMHgwMCwweGNhLDB4NDAsMHhiMiwweDgwLDB4OGUsMHhhNCwweDAzLDB4MmEsMHgwMCB9LAotICAxNiwgMHhhMTYwLCAwLCB7MHhmYSwweDAwLDB4M2YsMHhhOCwweDBmLDB4YTAsMHgwYiwweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMTcwLCAwLCB7MHg0OCwweDAwLDB4ZTIsMHgwMiwweDkwLDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4OCwweDAzLDB4ZjEsMHgwMCwweGZjLDB4MDIsMHgzZiB9LAotICAxNiwgMHhhMTgwLCAwLCB7MHgyMCwweDBmLDB4YzgsMHgwMywweGMxLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDhmLDB4MDAsMHgwMSwweDYwLDB4MDIsMHhmOCB9LAotICAxNiwgMHhhMTkwLCAwLCB7MHgwOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHg4ZiwweDgwLDB4MTMsMHg5MiB9LAotICAxNiwgMHhhMWEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4MDIsMHhjOSwweDAwLDB4YjIsMHg2NCB9LAotICAxNiwgMHhhMWIwLCAwLCB7MHgwZiwweDkxLDB4MDMsMHhlNCwweDA0LDB4YzksMHgwMCwweDMyLDB4NDAsMHg2YywweDkwLDB4MDMsMHgyNSwweDAyLDB4YzksMHg5MCB9LAotICAxNiwgMHhhMWMwLCAwLCB7MHhiMCwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgyMCwweGM5LDB4YTAsMHgzZSwweDQwLDB4NGMsMHg5MCwweDIzLDB4ZTQsMHgwMCB9LAotICAxNiwgMHhhMWQwLCAwLCB7MHhmMSwweDAwLDB4OTIsMHg0MCwweDBjLDB4MTAsMHgwMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMWUwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4ODAsMHhhMiwweDQwLDB4MGIsMHg5NiwweDQyLDB4ZTUsMHgwNCwweDg5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhhMWYwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHgwOSwweDQxLDB4MjIsMHg0MCwweDQ4LDB4OTAsMHg0MiwweDI0LDB4MDQsMHg4OSB9LAotICAxNiwgMHhhMjAwLCAwLCB7MHg4MCwweDI2LDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHgyMCB9LAotICAxNiwgMHhhMjEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDI1LDB4MDAsMHg4OSwweDIwLDB4MjIsMHg0MCB9LAotICAxNiwgMHhhMjIwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhmNCwweDg0LDB4ODUsMHgwMCwweDIxLDB4NDAsMHg0OCwweDUwLDB4MDIsMHgyNCwweDIwLDB4OGQsMHgwOCB9LAotICAxNiwgMHhhMjMwLCAwLCB7MHgyMywweDQwLDB4MDgsMHhkMCwweDAyLDB4OTQsMHgwMCwweDhkLDB4MDAsMHgyOSwweDQwLDB4MGEsMHhkMCwweDAyLDB4YTQsMHgwOCB9LAotICAxNiwgMHhhMjQwLCAwLCB7MHhiOSwweDAwLDB4MjgsMHg0MCwweDE4LDB4OTAsMHhjMiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMjUwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweDgxLDB4MDAsMHgyMCwweDUxLDB4MGIsMHgxMCwweDAyLDB4ZjUsMHg4MCwweDg1LDB4YzEsMHhhMSB9LAotICAxNiwgMHhhMjYwLCAwLCB7MHg1MCwweDA4LDB4NTQsMHgwYSwweDA1LDB4MDYsMHg4NSwweDQwLDB4MjEsMHg1MCwweDg4LDB4NTQsMHgwMiwweDk1LDB4MDAsMHg4NSB9LAotICAxNiwgMHhhMjcwLCAwLCB7MHg0NCwweDJkLDB4NTAsMHgyYSwweDU0LDB4MTIsMHhjNSwweDAxLDB4YjEsMHgwMCwweDA4LDB4NTAsMHgwOCwweDEwLDB4MDIsMHgwMiB9LAotICAxNiwgMHhhMjgwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjYSwweDUwLDB4MzIsMHg4MCB9LAotICAxNiwgMHhhMjkwLCAwLCB7MHgwZiwweDgwLDB4MDMsMHhlOCwweDAyLDB4YzgsMHgwMSwweDMyLDB4MDAsMHgyYywweGMwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMiB9LAotICAxNiwgMHhhMmEwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4YTAsMHgwMCwweGM4LDB4MDAsMHgzYSwweDAwLDB4NGUsMHg0MCwweDIzLDB4YTAsMHgwOCB9LAotICAxNiwgMHhhMmIwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDJjLDB4ODAsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMmMwLCAwLCB7MHg5OCwweDFkLDB4ZGMsMHgwNCwweGZkLDB4NDAsMHgzZiwweDUwLDB4NGYsMHg5MCwweDYzLDB4ZTQsMHg0MCwweGYxLDB4MDIsMHgzZSB9LAotICAxNiwgMHhhMmQwLCAwLCB7MHg0MSwweDBmLDB4OTAsMHgxMywweGY1LDB4MDQsMHhmOSwweDQxLDB4M2UsMHg1MCwweDBmLDB4OTQsMHg0MywweDY1LDB4MDIsMHhmOSB9LAotICAxNiwgMHhhMmUwLCAwLCB7MHg0MSwweDM2LDB4NTAsMHg0ZCwweDk0LDB4MDMsMHhmNCwweDAwLDB4ZjksMHg0MSwweDM3LDB4NDAsMHg0ZiwweDk0LDB4MDMsMHhlNiB9LAotICAxNiwgMHhhMmYwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwMSwweGZjLDB4MDAsMHhjZCwweGE4LDB4MzMsMHg3MCB9LAotICAxNiwgMHhhMzAwLCAwLCB7MHgwZiwweGQwLDB4MTMsMHhmNiwweDg4LDB4Y2QsMHgwMCwweDMyLDB4NTAsMHg0ZiwweDE0LDB4MjMsMHgwNywweGEwLDB4YzksMHhjMCB9LAotICAxNiwgMHhhMzEwLCAwLCB7MHgzMiwweDc4LDB4MGMsMHg5ZSwweDAzLDB4MzcsMHgwMiwweGNkLDB4YzAsMHgzMiwweDY0LDB4MGYsMHg5OCwweDAzLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhMzIwLCAwLCB7MHhjZCwweDAwLDB4MzIsMHg0MCwweDJjLDB4ZGEsMHgwMywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhMzMwLCAwLCB7MHgzOCwweDEwLDB4ZTIsMHgwOCwweDg4LDB4ZWIsMHgyMiwweDMwLDB4MGIsMHg4MCwweDEyLDB4ZTgsMHgwNCwweGEwLDB4YTAsMHgyYSB9LAotICAxNiwgMHhhMzQwLCAwLCB7MHgyMCwweDBiLDB4OGEsMHgwYSwweDIzLDB4MDAsMHg4OCwweDgwLDB4MjIsMHgyOCwweDAwLDB4YzgsMHg0MiwweDIzLDB4ODAsMHg4MCB9LAotICAxNiwgMHhhMzUwLCAwLCB7MHhkNCwweDIwLDB4MjgsMHgwOSwweDgwLDB4MDIsMHgyMiwweDk0LDB4YTgsMHgwMCwweDJhLDB4MDAsMHg4OCwweDg1LDB4MDIsMHgwZSB9LAotICAxNiwgMHhhMzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGM0LDB4YTAsMHg4MywweDAwLDB4MjQsMHhkOCB9LAotICAxNiwgMHhhMzcwLCAwLCB7MHg4YiwweDEwLDB4MDIsMHhlNSwweDE0LDB4ODksMHgwYSwweDIxLDB4NDgsMHgwYiwweDUyLDB4MDIsMHg1NCwweDgwLDB4ODUsMHg0MCB9LAotICAxNiwgMHhhMzgwLCAwLCB7MHgyNSwweDU4LDB4MDksMHg1NiwweDAyLDB4NDUsMHgwMiwweDgxLDB4MjAsMHgyMCwweDUwLDB4MGIsMHgxNCwweDAyLDB4MDQsMHgzMCB9LAotICAxNiwgMHhhMzkwLCAwLCB7MHg4MSwweDAwLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhM2EwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgxMiwweDg5LDB4MDAsMHhhNiwweDQwLDB4MGIsMHg5MCwweDQyLDB4ZTQsMHg5OCwweGE5LDB4ODAsMHgyYiB9LAotICAxNiwgMHhhM2IwLCAwLCB7MHg0MCwweDBiLDB4NTEsMHgwMiwweDU1LDB4MDAsMHg5ZCwweDA4LDB4MjcsMHg0OCwweDA5LDB4ZjYsMHgwMiwweDQ0LDB4MDAsMHg4MSB9LAotICAxNiwgMHhhM2MwLCAwLCB7MHgwNCwweDIyLDB4NDAsMHgxOSwweDkxLDB4OGEsMHgyNCwweDgwLDB4YTksMHgwMCwweDJhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHg0NiB9LAotICAxNiwgMHhhM2QwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4MDIsMHhjOSwweDA0LDB4MzYsMHg1OCB9LAotICAxNiwgMHhhM2UwLCAwLCB7MHgwZiwweDkwLDB4MDMsMHhjNSwweDAwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MTMsMHg2NCwweDAyLDB4YzksMHgwMCB9LAotICAxNiwgMHhhM2YwLCAwLCB7MHgzNiwweDQwLDB4MmQsMHg5MCwweDBiLDB4NjYsMHgwNCwweGM5LDB4ZTAsMHhiMiwweDQ4LDB4OGYsMHg5OCwweDQ3LDB4MjQsMHgwMCB9LAotICAxNiwgMHhhNDAwLCAwLCB7MHhjOSwweDAwLDB4NzIsMHg0MCwweDBjLDB4MTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNDEwLCAwLCB7MHgyOCwweDAxLDB4YTUsMHgwOCwweGY5LDB4MjEsMHgzYSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwNCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhhNDIwLCAwLCB7MHg0MCwweDRmLDB4OTgsMHg4MywweGE0LDB4MDAsMHhlOSwweDQwLDB4YmEsMHg2MCwweDBlLDB4OTAsMHgwMywweGE0LDB4ODAsMHhmOSB9LAotICAxNiwgMHhhNDMwLCAwLCB7MHhhMywweDNlLDB4NDgsMHgwZiwweDk4LDB4MGIsMHhlNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9LAotICAxNiwgMHhhNDQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEyLDB4NDgsMHhjOCwweDIwLDB4MzIsMHgwOCB9LAotICAxNiwgMHhhNDUwLCAwLCB7MHgxZiwweDgwLDB4ODMsMHhlMSwweDIyLDB4YzgsMHgwMSwweDMzLDB4MDAsMHgyYywweGMwLDB4MDMsMHgzMCwweDA0LDB4Y2MsMHg0MCB9LAotICAxNiwgMHhhNDYwLCAwLCB7MHhiMSwweDAwLDB4MGMsMHg0NCwweDAzLDB4MjAsMHgxMiwweGM4LDB4NDEsMHgzMiwweDAwLDB4MmQsMHg4NCwweDBiLDB4NjAsMHgwMCB9LAotICAxNiwgMHhhNDcwLCAwLCB7MHhmOCwweDAwLDB4YjIsMHgwMCwweDRjLDB4ODAsMHgwYiwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNDgwLCAwLCB7MHgyOCwweDA1LDB4M2EsMHgwMCwweGE2LDB4MDAsMHgyMywweDkwLDB4MDMsMHhlNCwweDkyLDB4ZjgsMHgwMCwweDgyLDB4MDAsMHgzNiB9LAotICAxNiwgMHhhNDkwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhjYSwweDAwLDB4MjIsMHg4MywweDA4LDB4YTAsMHgwMiwweDI4LDB4MDMsMHg4YSB9LAotICAxNiwgMHhhNGEwLCAwLCB7MHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YjYsMHg4MCwweDIyLDB4ODAsMHgwZCwweGU4LDB4MDIsMHgwYSB9LAotICAxNiwgMHhhNGIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZlLDB4MDAsMHg4MiwweDQyLDB4MjAsMHhjMCB9LAotICAxNiwgMHhhNGMwLCAwLCB7MHgwYiwweDM0LDB4MDIsMHhjZCwweDA5LDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAyLDB4OTgsMHgwMCB9LAotICAxNiwgMHhhNGQwLCAwLCB7MHgyMCwweDIwLDB4MjgsMHgwMCwweDBhLDB4MDQsMHgxMCwweDgxLDB4ODAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCB9LAotICAxNiwgMHhhNGUwLCAwLCB7MHhiMywweDAwLDB4MjIsMHhjMCwweDE4LDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNGYwLCAwLCB7MHhhMCwweDAxLDB4MzgsMHgwMiwweGEzLDB4MDAsMHgyMSwweDQwLDB4MWIsMHg3MCwweDAyLDB4ZGMsMHgyMCwweDg0LDB4MDUsMHg2NSB9LAotICAxNiwgMHhhNTAwLCAwLCB7MHhlMCwweDA4LDB4ZjAsMHgwMiwweDdjLDB4MTAsMHg5NywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweDU0LDB4ODgsMHg4NyB9LAotICAxNiwgMHhhNTEwLCAwLCB7MHgwOSwweDIxLDB4ZTgsMHgwOSwweDMzLDB4MDIsMHgxYywweDgwLDB4YjYsMHgwOCwweDYzLDB4YzgsMHgwOSwweDM4LDB4MTIsMHgyOCB9LAotICAxNiwgMHhhNTIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweGEwLDB4YTEsMHhlMCB9LAotICAxNiwgMHhhNTMwLCAwLCB7MHgwYiwweDc4LDB4MDMsMHhmZSwweDAwLDB4YzUsMHg4MiwweDMzLDB4MjAsMHgwYywweDQ4LDB4MDMsMHgxZSwweDAxLDB4ZGYsMHg4MCB9LAotICAxNiwgMHhhNTQwLCAwLCB7MHgzMSwweDIwLDB4MGMsMHg0OCwweDAzLDB4MDYsMHg0MCwweDg3LDB4ODIsMHgzMSwweGY4LDB4MGQsMHg3YiwweDAzLDB4NWYsMHgwMCB9LAotICAxNiwgMHhhNTUwLCAwLCB7MHhmMywweDgwLDB4MzEsMHhmMiwweDBjLDB4NjAsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNTYwLCAwLCB7MHgwOCwweDFkLDB4OWMsMHgwMCwweGZiLDB4MDEsMHgyZiwweDQwLDB4MDcsMHhiMCwweDAzLDB4ZTgsMHgwNCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhhNTcwLCAwLCB7MHhjMSwweDBmLDB4YjAsMHgwMywweGUwLDB4MDYsMHhlOCwweDAyLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMSwweGE0LDB4MTAsMHhmOSB9LAotICAxNiwgMHhhNTgwLCAwLCB7MHg0MCwweGJlLDB4ZDAsMHgwNiwweGIwLDB4MDMsMHhlZSwweDAwLDB4ZmEsMHgwMCwweDNjLDB4ZDgsMHgwZiwweGEwLDB4MDMsMHhjMiB9LAotICAxNiwgMHhhNTkwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGY2LDB4MDAsMHhjZiwweDg4LDB4MzMsMHg2NCB9LAotICAxNiwgMHhhNWEwLCAwLCB7MHgyYywweGY4LDB4MDMsMHhmZSwweDAyLDB4YzQsMHhiMCwweDMzLDB4MjAsMHg4YywweGQ4LDB4MDMsMHgzMiwweDAwLDB4Y2MsMHhiNCB9LAotICAxNiwgMHhhNWIwLCAwLCB7MHgzMywweGEwLDB4MGMsMHhjOCwweDAzLDB4MTYsMHgyMCwweGNmLDB4YzAsMHgzMywweGYwLDB4MGMsMHhmOCwweDAzLDB4ZmUsMHgwMCB9LAotICAxNiwgMHhhNWMwLCAwLCB7MHhjZCwweDgwLDB4M2YsMHhlMCwweDBmLDB4ZDgsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNWQwLCAwLCB7MHhhOCwweDExLDB4YjUsMHgwNCwweDg3LDB4MTIsMHhhMSwweDUwLDB4MGEsMHg3NCwweDEyLDB4YzQsMHg0MCwweDg0LDB4MTEsMHgyMyB9LAotICAxNiwgMHhhNWUwLCAwLCB7MHhjMCwweDI4LDB4ZTAsMHgwMiwweDFjLDB4MDIsMHhhNywweDExLDB4MjEsMHg1OCwweDQ4LDB4NzAsMHgwYSwweDE0LDB4MDAsMHg4ZCB9LAotICAxNiwgMHhhNWYwLCAwLCB7MHgwMCwweDIzLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhmYywweDQwLDB4ODYsMHgwMCwweDJkLDB4YzAsMHgwYiwweDUwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhhNjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDk1LDB4MDAsMHg4NywweDQwLDB4MjEsMHgwMCB9LAotICAxNiwgMHhhNjEwLCAwLCB7MHgxOCwweDcxLDB4MDIsMHhkYywweDAwLDB4OTUsMHgyOCwweGUxLDB4MDIsMHgwOCwweDUwLDB4MDIsMHgzYywweDQyLDB4YTcsMHgyMiB9LAotICAxNiwgMHhhNjIwLCAwLCB7MHgyMSwweDgwLDB4ODgsMHg0MSwweDAyLDB4MTQsMHgwMCwweDg1LDB4MDAsMHhhMSwweGMwLDB4MDksMHg3MSwweDAyLDB4ZGMsMHgwMCB9LAotICAxNiwgMHhhNjMwLCAwLCB7MHhiNSwweDEwLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgwMiwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNjQwLCAwLCB7MHgyMCwweDE0LDB4YzQsMHgxMCwweDgzLDB4ODQsMHgyMCwweDExLDB4MDgsMHgzMCwweDAyLDB4YzMsMHgxMCwweDkxLDB4MjAsMHgyMCB9LAotICAxNiwgMHhhNjUwLCAwLCB7MHhjMCwweDA4LDB4MjgsMHgxMiwweDAwLDB4MDAsMHhhMCwweDg0LDB4MjAsMHg0MCwweDA4LDB4MzAsMHgwMiwweDA0LDB4MjYsMHg4MyB9LAotICAxNiwgMHhhNjYwLCAwLCB7MHgwMCwweDIwLDB4ZDAsMHgwYiwweDMwLDB4MDIsMHhjYywweDAwLDB4YjIsMHgwMCwweDJjLDB4YzAsMHgwYiwweDAwLDB4MDIsMHgwOCB9LAotICAxNiwgMHhhNjcwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFkLDB4MDAsMHhjZiwweDg4LDB4YjIsMHhlOCB9LAotICAxNiwgMHhhNjgwLCAwLCB7MHgwYywweDMwLDB4MTMsMHhjZSwweGMyLDB4ZDAsMHg4MiwweDMyLDB4MDAsMHgwYywweDBlLDB4MGIsMHgyMCwweDAwLDB4YzgsMHg4OCB9LAotICAxNiwgMHhhNjkwLCAwLCB7MHhiMiwweDQwLDB4MmMsMHhiYSwweDQzLDB4MzcsMHgwMiwweGNiLDB4MDAsMHhiMywweGMwLDB4MmMsMHhmMCwweDAzLDB4ZmMsMHgxMiB9LAotICAxNiwgMHhhNmEwLCAwLCB7MHhmYiwweDAwLDB4N2YsMHhkMSwweDBmLDB4MzAsMHgwYiwweDJiLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNmIwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHgwMiwweGYxLDB4NDAsMHgzZSwweDQxLDB4MGYsMHhiMCwweDIzLDB4ZWQsMHgwMCwweGU4LDB4MDEsMHgzZSB9LAotICAxNiwgMHhhNmMwLCAwLCB7MHhjOCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDQsMHhkYiwweDAwLDB4M2MsMHg4MCwweDBmLDB4MDQsMHgwMywweGU0LDB4NDAsMHhmOSB9LAotICAxNiwgMHhhNmQwLCAwLCB7MHgwMCwweDNjLDB4YzIsMHgwZSwweGIwLDB4MDMsMHhlZSwweDAwLDB4NGIsMHg0MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhhNmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGZjLDB4MDAsMHg0YiwweDAwLDB4MzIsMHg0MiB9LAotICAxNiwgMHhhNmYwLCAwLCB7MHgwYywweGYwLDB4MDMsMHgzNiwweDgwLDB4Y2QsMHgwMCwweDMzLDB4MDAsMHg0YywweGMwLDB4ODMsMHgzYywweDA0LDB4ZjcsMHgwMCB9LAotICAxNiwgMHhhNzAwLCAwLCB7MHgzMiwweDQwLDB4MGMsMHhiMSwweDQzLDB4MTQsMHgwMCwweGNkLDB4ODAsMHgzMywweGMwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCB9LAotICAxNiwgMHhhNzEwLCAwLCB7MHhmZiwweDAwLDB4YjMsMHhjMiwweDBjLDB4YTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNzIwLCAwLCB7MHg4MSwweDA0LDB4NGYsMHgwMiwweDhiLDB4ODAsMHgyMCwweDMwLDB4MDgsMHhiYywweDAyLDB4MjAsMHgxMCwweDg5LDB4MDAsMHgyMiB9LAotICAxNiwgMHhhNzMwLCAwLCB7MHhjMCwweDAwLDB4YjAsMHgwMywweDYwLDB4MDQsMHhiOCwweDAwLDB4YTIsMHg5MCwweDI4LDB4OGMsMHgxYSwweDI0LDB4MDIsMHg4YiB9LAotICAxNiwgMHhhNzQwLCAwLCB7MHg4MywweDIyLDB4YzEsMHgwOCwweGIwLDB4MDIsMHhmYywweDAwLDB4YjMsMHg2MCwweDIwLDB4YzAsMHgwZCwweGEwLDB4MDMsMHhlMCB9LAotICAxNiwgMHhhNzUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDJlLDB4MDAsMHhhYiwweGMwLDB4MjIsMHg2MCB9LAotICAxNiwgMHhhNzYwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHgyOSwweDAwLDB4ODgsMHgwMSwweDIwLDB4MDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCB9LAotICAxNiwgMHhhNzcwLCAwLCB7MHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTQsMHgwMCwweDgxLDB4MjQsMHhhMiwweGMwLDB4MDksMHhiMCwweDQ2LDB4ZWMsMHgwMCB9LAotICAxNiwgMHhhNzgwLCAwLCB7MHhiOSwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDIwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhNzkwLCAwLCB7MHgwOCwweDA0LDB4MmMsMHgwMCwweGExLDB4MDAsMHhhMCwweDQxLDB4MDgsMHhiMCwweDBhLDB4MjAsMHg1MywweDg4LDB4MDAsMHgyMCB9LAotICAxNiwgMHhhN2EwLCAwLCB7MHhjMCwweDI4LDB4YTAsMHgwMiwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgwMiwweDg0LDB4MDAsMHg4MyB9LAotICAxNiwgMHhhN2IwLCAwLCB7MHgwNCwweDIwLDB4YzAsMHgyOCwweDMwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMiwweDYyLDB4YzAsMHgwOSwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhhN2MwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhlOSwweDAwLDB4MjIsMHgwMCB9LAotICAxNiwgMHhhN2QwLCAwLCB7MHgwYywweGIwLDB4MDMsMHgwMCwweDA0LDB4YzksMHgwMCwweGIyLDB4MDAsMHgwYywweDkwLDB4MDMsMHgyYywweDAwLDB4ZjMsMHgwMCB9LAotICAxNiwgMHhhN2UwLCAwLCB7MHhiMiwweGMwLDB4OGMsMHhiMCwweDAzLDB4YjQsMHgwMiwweDhmLDB4MDAsMHgyMywweGMwLDB4MDQsMHhmMCwweDAzLDB4ZWMsMHgwOCB9LAotICAxNiwgMHhhN2YwLCAwLCB7MHhmOSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhODAwLCAwLCB7MHhhMCwweDFkLDB4ZmMsMHgxMCwweGRkLDB4MDQsMHgzZiwweDAwLDB4MGYsMHhjMCwweDIzLDB4ZjAsMHg5MCwweGZkLDB4MDAsMHgyZiB9LAotICAxNiwgMHhhODEwLCAwLCB7MHhjMCwweDBmLDB4ZTAsMHg0MywweGQwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDhmLDB4YzAsMHgyMiwweDc0LDB4MDAsMHhmZCB9LAotICAxNiwgMHhhODIwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNiwweDNmLDB4YzAsMHgwZiwweGMwLDB4NDMsMHhlOCB9LAotICAxNiwgMHhhODMwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGZjLDB4ODAsMHhlZiwweDIwLDB4MTEsMHhjMCB9LAotICAxNiwgMHhhODQwLCAwLCB7MHgwZSwweDcyLDB4MDMsMHhiZCwweGIwLDB4Y2YsMHgzMSwweGJmLDB4Y2MsMHgwMiwweGYwLDB4MDMsMHhmYywweGM2LDB4Y2YsMHgwMSB9LAotICAxNiwgMHhhODUwLCAwLCB7MHgwYiwweGM1LDB4MGYsMHhmMSwweDAzLDB4M2MsMHgwNCwweGVmLDB4NjEsMHgzMywweGQ4LDB4MDcsMHhmMCwweDAzLDB4MzQsMHg4MCB9LAotICAxNiwgMHhhODYwLCAwLCB7MHhjZCwweDMwLDB4NzMsMHhjYywweDBmLDB4ZTgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhODcwLCAwLCB7MHg4MCwweDE4LDB4ZTksMHgwMCwweDg4LDB4NjksMHgyMiwweDEwLDB4MDgsMHg4YywweDAwLDB4MjEsMHg4NCwweDg4LDB4NDEsMHgyMiB9LAotICAxNiwgMHhhODgwLCAwLCB7MHgxMCwweDg4LDB4ODYsMHg5MiwweDAxLDB4MDAsMHg4OCwweDYyLDB4MjIsMHgxMCwweDRiLDB4ODcsMHgwMiwweDIxLDB4YTAsMHg4OCB9LAotICAxNiwgMHhhODkwLCAwLCB7MHg2MCwweDIwLDB4MTAsMHgwYiwweDg2LDB4YTIsMHgzNSwweGEwLDB4YWIsMHg2MCwweGExLDB4YzQsMHgwYiwweGI4LDB4MDIsMHgyMCB9LAotICAxNiwgMHhhOGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGNkLDB4YTgsMHgzMywweDQxLDB4MjAsMHhjNiB9LAotICAxNiwgMHhhOGIwLCAwLCB7MHg0YSwweDMxLDB4MDAsMHg4YywweDEwLDB4OTMsMHgzMywweDI4LDB4Y2MsMHgyOSwweDM0LDB4MTIsMHg4YywweDUwLDB4OTMsMHgxYyB9LAotICAxNiwgMHhhOGMwLCAwLCB7MHgyOCwweDg0LDB4MDEsMHgyMCwweDRhLDB4NGMsMHg0MSwweDgzLDB4MTAsMHgyNCwweGNjLDB4NGIsMHgzMSwweDQyLDB4NGMsMHg0MCB9LAotICAxNiwgMHhhOGQwLCAwLCB7MHg5MSwweDEwLDB4MjQsMHhjMCwweDBiLDB4ODAsMHgwMiwweDIyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOGUwLCAwLCB7MHhjMCwweDA1LDB4YTgsMHgyMCwweDkwLDB4MDIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAwLDB4MjAsMHgzMCwweGI4LDB4MDgsMHgyNiB9LAotICAxNiwgMHhhOGYwLCAwLCB7MHgwMCwweDAxLDB4ODAsMHg4MiwweDIwLDB4MjAsMHgxOCwweDA4LDB4NDIsMHg0MCwweDAzLDB4OTEsMHgwMiwweDYwLDB4MDAsMHgwOCB9LAotICAxNiwgMHhhOTAwLCAwLCB7MHgwMSwweGE2LDB4MDAsMHgwYiwweDgwLDB4MDAsMHg2YywweDEwLDB4YmIsMHgwMSwweDI2LDB4YzAsMHg0YiwweDkwLDB4MGEsMHgzMCB9LAotICAxNiwgMHhhOTEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGZkLDB4MDAsMHhmZCwweDQxLDB4MzMsMHhhMSB9LAotICAxNiwgMHhhOTIwLCAwLCB7MHgwZSwweGQyLDB4MDMsMHhiNSwweDAyLDB4ZGYsMHg0MiwweDNiLDB4MDEsMHgwZiwweGQ0LDB4NDMsMHhiNSwweDAwLDB4Y2QsMHg0MCB9LAotICAxNiwgMHhhOTMwLCAwLCB7MHgxYiwweGM0LDB4MGQsMHg3OCwweDAzLDB4NzAsMHgwMiwweGVjLDB4MDAsMHgxNywweGExLDB4MGYsMHhlOCwweDBiLDB4MmMsMHgwMiB9LAotICAxNiwgMHhhOTQwLCAwLCB7MHhkOSwweDkwLDB4MjYsMHhjMCwweDBmLDB4YWMsMHgwMywweDAwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOTUwLCAwLCB7MHhlMCwweDAxLDB4YjgsMHgwMCwweGVlLDB4MDAsMHgxZiwweDY0LDB4NGYsMHhlMCwweDAzLDB4ZDgsMHgxMCwweGM0LDB4MTgsMHgzMyB9LAotICAxNiwgMHhhOTYwLCAwLCB7MHhjMCwweDBjLDB4YTAsMHhhMSwweGI4LDB4MDksMHhlNiwweDA5LDB4MzYsMHgyMiwweDBmLDB4ODgsMHgyMywweGJjLDB4MDAsMHhmYiB9LAotICAxNiwgMHhhOTcwLCAwLCB7MHgwMCwweDNiLDB4NjQsMHgwZiwweGQ5LDB4MDMsMHg5YywweDAwLDB4ZTMsMHgwNCwweDNiLDB4YzAsMHgwZiwweGY0LDB4MDMsMHhmOCB9LAotICAxNiwgMHhhOTgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweDhkLDB4MDAsMHhjOSwweDQwLDB4YjYsMHg4MCB9LAotICAxNiwgMHhhOTkwLCAwLCB7MHgwZiwweDEwLDB4MDMsMHhhNywweDIwLDB4ZmIsMHg1MCwweGI2LDB4MDgsMHg0YywweDE0LDB4MDMsMHg2NSwweDIyLDB4ZDksMHg0MCB9LAotICAxNiwgMHhhOWEwLCAwLCB7MHhiNiwweDgwLDB4MGUsMHhhMCwweDBiLDB4MDAsMHgwMCwweGQ4LDB4MDAsMHg3NiwweDgyLDB4MjgsMHhhMCwweDIzLDB4NjQsMHgwMCB9LAotICAxNiwgMHhhOWIwLCAwLCB7MHhjOSwweDA0LDB4MTIsMHhjMCwweDhlLDB4ODAsMHgwMywweDkwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhOWMwLCAwLCB7MHhjOCwweDA1LDB4MmIsMHg2MCwweDhhLDB4MDksMHgyMCwweDUwLDB4MDgsMHhhMCwweDIzLDB4ZTksMHgwMCwweGI4LDB4YzAsMHgyMiB9LAotICAxNiwgMHhhOWQwLCAwLCB7MHhmMCwweDA4LDB4YWMsMHgwMiwweDI4LDB4MDQsMHg4YSwweGMyLDB4MjIsMHg1MCwweDA4LDB4OTAsMHgwNiwweDJjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhhOWUwLCAwLCB7MHgwNCwweDIyLDB4NTEsMHgwOCwweDk0LDB4MDIsMHhlNCwweDA0LDB4OGIsMHgwNCwweDM3LDB4YzAsMHgwOCwweDE4LDB4NDIsMHgyNiB9LAotICAxNiwgMHhhOWYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNCwweDRiLDB4MDAsMHg4MiwweGM4LDB4MjQsMHg0MyB9LAotICAxNiwgMHhhYTAwLCAwLCB7MHgwYiwweDI2LDB4MGEsMHg4OCwweDAwLDB4YjAsMHg4MCwweDIyLDB4ZTQsMHgwYiwweDIwLDB4NDIsMHg2OSwweDAwLDB4YTIsMHg5MCB9LAotICAxNiwgMHhhYTEwLCAwLCB7MHgyOCwweDQwLDB4ZTgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGJiLDB4MDAsMHgyOCwweDUwLDB4ODgsMHg5MCwweDgyLDB4YzQsMHgwMSB9LAotICAxNiwgMHhhYTIwLCAwLCB7MHg4MywweDAwLDB4MjAsMHhjMCwweDBhLDB4MTAsMHgwMiwweGJhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYTMwLCAwLCB7MHgyMCwweDEwLDB4NGUsMHg4MCwweDgxLDB4MDAsMHgyMSwweGE4LDB4MDgsMHg1OCwweDAyLDB4ZDYsMHgwMSwweGI3LDB4OTAsMHg2OCB9LAotICAxNiwgMHhhYTQwLCAwLCB7MHgyMCwweDAzLDB4NTksMHg4MiwweDU2LDB4MDAsMHhhNSwweDg0LDB4MmQsMHhhMiwweDE4LDB4NjksMHgyMiwweDAyLDB4MDAsMHgzNCB9LAotICAxNiwgMHhhYTUwLCAwLCB7MHg4MCwweDI5LDB4YTgsMHgwOCwweDY4LDB4MDYsMHhjNiwweDE0LDB4ODUsMHg4MiwweDI1LDB4ZTAsMHgwOCwweDU4LDB4ODIsMHgxYyB9LAotICAxNiwgMHhhYTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDQ4LDB4MDAsMHhjMiwweGYwLDB4MzQsMHg0MCB9LAotICAxNiwgMHhhYTcwLCAwLCB7MHgwZiwweDIwLDB4MDMsMHg4OCwweDgwLDB4ZjgsMHgxMCwweDMwLDB4YzAsMHgyNywweDIxLDB4MGIsMHg0OCwweDgwLDB4ZWEsMHgyMCB9LAotICAxNiwgMHhhYTgwLCAwLCB7MHgzOCwweDAwLDB4MGMsMHgwMCwweDEyLDB4MGMsMHgwOCwweDczLDB4MDAsMHhiOCwweDQwLDB4MGMsMHgxMiwweDIzLDB4NGMsMHgwMiB9LAotICAxNiwgMHhhYTkwLCAwLCB7MHg0MywweDM0LDB4MzAsMHhjMCwweDBlLDB4MTEsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYWEwLCAwLCB7MHg0MCwweDE1LDB4YWMsMHg5MCwweGY5LDB4MDEsMHgyZSwweDg4LDB4NGIsMHg5MCwweDExLDB4NjQsMHgwMCwweGZiLDB4MTAsMHgzMiB9LAotICAxNiwgMHhhYWIwLCAwLCB7MHgwMCwweDAwLDB4OTEsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHhjNCwweDRkLDB4YjAsMHg0MywweGUwLDB4MDQsMHhjOCB9LAotICAxNiwgMHhhYWMwLCAwLCB7MHgwMCwweDM2LDB4ODksMHgwZiwweGE4LDB4MDMsMHhlZCwweDAwLDB4ZjksMHgxNCwweDNlLDB4YzAsMHgwZiwweDEwLDB4NDMsMHhkMCB9LAotICAxNiwgMHhhYWQwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwNSwweGU4LDB4MDAsMHhjOCwweDAwLDB4M2EsMHgwMCB9LAotICAxNiwgMHhhYWUwLCAwLCB7MHgwYywweDAwLDB4NTMsMHhhMCwweDAwLDB4ZTgsMHgwMSwweDMyLDB4MDEsMHgwZSwweDgwLDB4NTMsMHgyMCwweDEwLDB4YzgsMHgwMCB9LAotICAxNiwgMHhhYWYwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjAsMHgxMCwweGU4LDB4MDQsMHhiNiwweDAwLDB4ODQsMHg4MCwweDAzLDB4MmQsMHgxMiB9LAotICAxNiwgMHhhYjAwLCAwLCB7MHhjYiwweDAwLDB4MmUsMHhjYSwweDA0LDB4OTAsMHgwMywweGVhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYjEwLCAwLCB7MHg0YywweDE5LDB4OGMsMHgwMCwweDg3LDB4MDIsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MGMsMHgwMCwweDgzLDB4MDAsMHgyMSB9LAotICAxNiwgMHhhYjIwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHg2MiwweDRjLDB4MDQsMHg4MywweDAwLDB4MjEsMHg4MCwweDQ4LDB4ZTAsMHgxMiwweDNjLDB4MDAsMHg4NyB9LAotICAxNiwgMHhhYjMwLCAwLCB7MHgwMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxYywweDAwLDB4ODUsMHgwMSwweDI0LDB4ZDAsMHgwYSwweDUwLDB4MDIsMHhmMiB9LAotICAxNiwgMHhhYjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDlhLDB4MDAsMHg4MCwweDgwLDB4MjgsMHgyMCB9LAotICAxNiwgMHhhYjUwLCAwLCB7MHgwOCwweDRjLDB4MjIsMHhkMiwweDAwLDB4YTQsMHg4MCwweDI0LDB4MzAsMHgwYiwweDQ4LDB4MDIsMHg1MiwweDAwLDB4ODQsMHhjMCB9LAotICAxNiwgMHhhYjYwLCAwLCB7MHgyMSwweDIwLDB4MDksMHg0OCwweDY4LDB4MTMsMHgwMCwweGE0LDB4ODAsMHg2MCwweDIwLDB4MDksMHgwOCwweDAyLDB4NTYsMHgwMCB9LAotICAxNiwgMHhhYjcwLCAwLCB7MHg5NywweDgwLDB4MmQsMHhlMCwweDg4LDB4NTgsMHgwMiwweGUwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYjgwLCAwLCB7MHg2YywweDA0LDB4Y2MsMHgwMCwweDgzLDB4ODAsMHgyMCwweGQ4LDB4MDgsMHgzMCwweDAyLDB4NGMsMHg0MCwweDgzLDB4MDAsMHgyNCB9LAotICAxNiwgMHhhYjkwLCAwLCB7MHhkMSwweDA5LDB4YjksMHg0MiwweDRlLDB4MDAsMHg4MywweDAwLDB4MjAsMHhjMSwweDg5LDB4MzAsMHg0MiwweDBjLDB4MDAsMHg4MyB9LAotICAxNiwgMHhhYmEwLCAwLCB7MHhmMCwweGEwLDB4ZDksMHgxOSwweDM2LDB4MjIsMHg2NiwweDA2LDB4OTEsMHgwMCwweDBjLDB4YzEsMHgwYSwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhhYmIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGU4LDB4MDIsMHhjYSwweGE1LDB4MmEsMHg5MSB9LAotICAxNiwgMHhhYmMwLCAwLCB7MHgyOCwweGE4LDB4MDMsMHhlYSwweDAyLDB4YWEsMHgwMCwweGI2LDB4YTAsMHgwZiwweGEwLDB4MGEsMHgyYSwweDkyLDB4Y2EsMHg4MyB9LAotICAxNiwgMHhhYmQwLCAwLCB7MHhiYSwweDgwLDB4MjksMHhhMCwweDAzLDB4MmIsMHgwMCwweGVhLDB4NDAsMHg2NiwweDkwLDB4MmQsMHhlNCwweDBiLDB4NmEsMHg4MCB9LAotICAxNiwgMHhhYmUwLCAwLCB7MHhkYSwweDAwLDB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYmYwLCAwLCB7MHg0OCwweDAxLDB4ODAsMHgwMCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGYsMHhjMCwweDAzLDB4YjAsMHgxNCwweGZjLDB4MDAsMHgzYiB9LAotICAxNiwgMHhhYzAwLCAwLCB7MHgxMiwweDBlLDB4YzAsMHg0MywweGIxLDB4MTQsMHhmYywweDAwLDB4M2QsMHgwMCwweDBlLDB4YzAsMHgwMywweGYwLDB4MjAsMHhmNCB9LAotICAxNiwgMHhhYzEwLCAwLCB7MHgwMCwweDMxLDB4MDAsMHgwZSwweDQ0LDB4MTMsMHhhMCwweDAwLDB4ZTgsMHgwNiwweDM2LDB4MDAsMHg0ZiwweDgwLDB4MTMsMHhkMiB9LAotICAxNiwgMHhhYzIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGE0LDB4MDAsMHhkMSwweDAwLDB4MzYsMHg2MCB9LAotICAxNiwgMHhhYzMwLCAwLCB7MHgxYywweDE4LDB4MGIsMHg0NiwweDAwLDB4ZDksMHg4MCwweDMwLDB4NDAsMHgyYywweDk4LDB4MDUsMHg4NiwweDAwLDB4YzEsMHg4MCB9LAotICAxNiwgMHhhYzQwLCAwLCB7MHg5MiwweDQwLDB4MGQsMHgxMCwweDAzLDB4NDQsMHgwMiwweDg5LDB4MDAsMHgzMiwweDcwLDB4MGMsMHg5OCwweDAxLDB4MjQsMHgwMCB9LAotICAxNiwgMHhhYzUwLCAwLCB7MHhjOSwweDA0LDB4MzAsMHg0MCwweDBjLDB4OTAsMHgwMywweGMyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhYzYwLCAwLCB7MHg4MCwweDA0LDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4MjQsMHg4MCwweDg5LDB4MDEsMHgyMiB9LAotICAxNiwgMHhhYzcwLCAwLCB7MHg0MCwweDQ4LDB4OTEsMHgwMiwweDI0LDB4MDAsMHhkOSwweDkwLDB4MjIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MTAsMHg4OSB9LAotICAxNiwgMHhhYzgwLCAwLCB7MHgwMCwweDMyLDB4NDAsMHgwOCwweDk1LDB4MTIsMHgyNCwweDAyLDB4ODEsMHgwMCwweGEyLDB4NDEsMHgwZCwweDkwLDB4NDIsMHhlMCB9LAotICAxNiwgMHhhYzkwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwNSwweDI0LDB4MDIsMHg5ZCwweDAwLDB4MjMsMHg0NCB9LAotICAxNiwgMHhhY2EwLCAwLCB7MHgwOCwweGQyLDB4MDYsMHg3NCwweDgwLDB4YjUsMHgyMCwweDIzLDB4NDAsMHgxYSwweGQwLDB4MDYsMHgzNSwweDkwLDB4OGQsMHgwMiB9LAotICAxNiwgMHhhY2IwLCAwLCB7MHgyZiwweDQ0LDB4MTksMHhkMCwweDAyLDB4NzQsMHgwMCwweDhkLDB4MDAsMHg2MywweDQwLDB4MTgsMHhkNCwweDAyLDB4YTQsMHgxMSB9LAotICAxNiwgMHhhY2MwLCAwLCB7MHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4YjAsMHgwMiwweGM2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhY2QwLCAwLCB7MHgyOCwweDE0LDB4MDQsMHg4MCwweDg1LDB4MjAsMHgyMSwweDY4LDB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MCwweGE1LDB4MjAsMHhhMSB9LAotICAxNiwgMHhhY2UwLCAwLCB7MHg0OCwweDBhLDB4NzIsMHgzOCwweDE0LDB4ODAsMHg5NSwweDI0LDB4MmQsMHg0OCwweDI4LDB4NTIsMHgwMiwweDE0LDB4ODAsMHg4NSB9LAotICAxNiwgMHhhY2YwLCAwLCB7MHgyMCwweDIxLDB4NDgsMHgwOCwweDUyLDB4MDYsMHg4NCwweDgwLDB4ODEsMHgyMCwweDIwLDB4NGEsMHgwOSwweDEwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhhZDAwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4YjIsMHgxNCB9LAotICAxNiwgMHhhZDEwLCAwLCB7MHgyOCwweGEwLDB4MDMsMHg2MSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4OTQsMHg0ZSwweDg1LDB4MDQsMHgyMSwweDQyLDB4YzgsMHg1MCB9LAotICAxNiwgMHhhZDIwLCAwLCB7MHgzYywweDE0LDB4MGQsMHg4MCwweDAzLDB4NjEsMHg0MCwweDg4LDB4NTAsMHhiMiwweDE0LDB4MmMsMHhjNSwweDA5LDB4YTEsMHg0MCB9LAotICAxNiwgMHhhZDMwLCAwLCB7MHhjOCwweDUwLDB4MzIsMHgxYywweDBjLDB4ODAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZDQwLCAwLCB7MHg5OCwweDE1LDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzYSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTQsMHgzZSB9LAotICAxNiwgMHhhZDUwLCAwLCB7MHg0NCwweDBkLDB4OTEsMHg0MywweDY0LDB4NDAsMHhlOSwweDEwLDB4MzIsMHg0NCwweDA3LDB4OTMsMHhjMywweGU0LDB4NTAsMHhkMSB9LAotICAxNiwgMHhhZDYwLCAwLCB7MHgxMCwweDdlLDB4NDQsMHgwMywweDkxLDB4MDEsMHg1NCwweDQ0LDB4ZmQsMHgxNCwweDNlLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNiB9LAotICAxNiwgMHhhZDcwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4ODAsMHhkZCwweGEwLDB4MzMsMHg2OCB9LAotICAxNiwgMHhhZDgwLCAwLCB7MHgxZSwweGRhLDB4MDMsMHgzNiwweDkwLDB4Y2QsMHhhMCwweDNiLDB4NjgsMHgwYSwweGQ4LDB4MjMsMHg3NiwweDBjLDB4ZWQsMHg4MCB9LAotICAxNiwgMHhhZDkwLCAwLCB7MHgyYiwweDYyLDB4MGIsMHg5OSwweDAyLDB4YTcsMHg4MCwweGY5LDB4ZTEsMHgzNywweDY4LDB4MGMsMHhkYSwweDAzLDB4MjcsMHg4MCB9LAotICAxNiwgMHhhZGEwLCAwLCB7MHhjOSwweGEyLDB4MjIsMHg2OCwweDRjLDB4NTAsMHgwMywweGM2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZGIwLCAwLCB7MHgzOCwweDE4LDB4ZTEsMHg0MCwweDg4LDB4NTAsMHgyMiwweDE0LDB4MDgsMHg4MCwweDIyLDB4NjAsMHgwMCwweDg4LDB4MDQsMHgyMiB9LAotICAxNiwgMHhhZGMwLCAwLCB7MHgwMCwweDA4LDB4MDQsMHgyNiwweDAxLDB4MDAsMHg4OCwweDUwLDB4MjIsMHgxMCwweDA4LDB4YWYsMHgwMiwweDIzLDB4MDAsMHg4OCB9LAotICAxNiwgMHhhZGQwLCAwLCB7MHhjMCwweGEwLDB4MTAsMHg4OCwweDg0LDB4MDIsMHgyMywweDgwLDB4YTAsMHg0MCwweDJhLDB4MTAsMHgwOCwweDgwLDB4MTIsMHg0ZSB9LAotICAxNiwgMHhhZGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDg0LDB4MDAsMHg4MSwweDAxLDB4MjAsMHg0MCB9LAotICAxNiwgMHhhZGYwLCAwLCB7MHgwYSwweDE0LDB4MDIsMHg0NSwweDAwLDB4ODEsMHg0MSwweDJjLDB4NTAsMHgwYiwweDE0LDB4MDIsMHgwNSwweDA0LDB4YTEsMHgwMCB9LAotICAxNiwgMHhhZTAwLCAwLCB7MHgyOCwweDQwLDB4ODIsMHgxMCwweDAyLDB4ODQsMHg0MCwweGExLDB4MzIsMHg4MCwweDUwLDB4MDksMHgxNCwweDAyLDB4MDQsMHhjNCB9LAotICAxNiwgMHhhZTEwLCAwLCB7MHg5MSwweDEwLDB4NjQsMHg0NCwweDI4LDB4MTAsMHgwMiwweGQyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZTIwLCAwLCB7MHgxOCwweDA0LDB4YWMsMHgwMiwweDgxLDB4MDAsMHgyMiwweGMxLDB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMiwweDg5LDB4MDIsMHgyNiB9LAotICAxNiwgMHhhZTMwLCAwLCB7MHg0MSwweDA5LDB4OTAsMHgwYSwweDI0LDB4MGMsMHg4OSwweDA0LDB4MjIsMHg1MCwweDA4LDB4OTAsMHgyNiwweDI0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhhZTQwLCAwLCB7MHgwMCwweDIyLDB4NDEsMHgwOSwweDEwLDB4MjIsMHgyNCwweDQwLDB4YjksMHgwMSwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHg0NiB9LAotICAxNiwgMHhhZTUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MTAsMHg4OSwweDAwLDB4MzIsMHg0MCB9LAotICAxNiwgMHhhZTYwLCAwLCB7MHgwYSwweDkwLDB4MGIsMHgyNCwweDEwLDB4ODksMHgwMCwweDFlLDB4NDAsMHg5YiwweDkwLDB4MDIsMHgyNCwweDEwLDB4MjksMHgwMCB9LAotICAxNiwgMHhhZTcwLCAwLCB7MHgxYSwweDQwLDB4MGUsMHg5NCwweDQxLDB4YTQsMHgwMCwweDI5LDB4MDAsMHgxMiwweDQwLDB4MDUsMHg5MCwweDQxLDB4MjYsMHgwMCB9LAotICAxNiwgMHhhZTgwLCAwLCB7MHhkOSwweDAwLDB4MjQsMHg0MCwweDBjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZTkwLCAwLCB7MHg0OCwweDAxLDB4YTQsMHgwMiwweGE5LDB4MDAsMHhiYywweDQwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwNCwweGY5LDB4MDAsMHgzYSB9LAotICAxNiwgMHhhZWEwLCAwLCB7MHg0MSwweDBlLDB4OTAsMHg4MywweDg0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDBlLDB4OTAsMHgwMiwweGM0LDB4MDgsMHhlOSB9LAotICAxNiwgMHhhZWIwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgyZSwweDkwLDB4MGIsMHhlNiwweDAwLDB4ZTEsMHgwNCwweDNhLDB4NDAsMHgwZiwweDkyLDB4MDMsMHg1YSB9LAotICAxNiwgMHhhZWMwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGEwLDB4MjAsMHhkOCwweDAwLDB4MzYsMHgwMiB9LAotICAxNiwgMHhhZWQwLCAwLCB7MHgwZSwweDAwLDB4YTMsMHhlMCwweDE4LDB4YzAsMHgwMCwweDMwLDB4MDMsMHgwZiwweDgwLDB4MzMsMHgyMCwweDAwLDB4NDAsMHgwMCB9LAotICAxNiwgMHhhZWUwLCAwLCB7MHgzMiwweDBkLDB4MGYsMHgwNCwweDBiLDB4YTAsMHgwMiwweGM4LDB4MDIsMHgzMiwweDAyLDB4OGMsMHg4MiwweDAzLDB4MjAsMHgwMiB9LAotICAxNiwgMHhhZWYwLCAwLCB7MHhjOCwweDA0LDB4MTYsMHgwMCwweDRlLDB4ODAsMHgwMSwweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZjAwLCAwLCB7MHgyOCwweDA1LDB4M2IsMHgwMCwweDhlLDB4ZDgsMHgyMywweDgwLDB4MDgsMHhlMCwweDAyLDB4ZjgsMHg4MCwweDhlLDB4MTAsMHgyMyB9LAotICAxNiwgMHhhZjEwLCAwLCB7MHhhMiwweDBiLDB4ZTAsMHg4MiwweDdhLDB4MjAsMHg4ZSwweDMwLDB4MjMsMHhhMSwweDBiLDB4ZTAsMHgwMiwweDI4LDB4MDAsMHg4ZSB9LAotICAxNiwgMHhhZjIwLCAwLCB7MHgwMCwweDJiLDB4ODgsMHgwOCwweGU0LDB4NDIsMHgzOCwweDAwLDB4OGUsMHgwNCwweDIzLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgwYSB9LAotICAxNiwgMHhhZjMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDZmLDB4NDAsMHg5MywweGM2LDB4MjQsMHg0MCB9LAotICAxNiwgMHhhZjQwLCAwLCB7MHgwYSwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMSwweGFjLDB4ZjAsMHgwYiwweGI0LDB4MDIsMHg0YywweDA0LDB4YTMsMHg4MCB9LAotICAxNiwgMHhhZjUwLCAwLCB7MHgyOCwweGQwLDB4NGIsMHgzMCwweDAyLDB4NGMsMHgwMCwweGFiLDB4MDQsMHgyYSwweGMwLDB4MmEsMHgzMCwweDBhLDB4YWMsMHgxMCB9LAotICAxNiwgMHhhZjYwLCAwLCB7MHg5MywweDAwLDB4MjAsMHhjMSwweDBhLDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZjcwLCAwLCB7MHg4MCwweDExLDB4MWMsMHgwMCwweDgyLDB4MDAsMHgyMSwweDQyLDB4ODgsMHg3NCwweDA2LDB4ZGMsMHgwYiwweDg2LDB4MDIsMHgyZCB9LAotICAxNiwgMHhhZjgwLCAwLCB7MHg4MCwweDBiLDB4NzAsMHgyYSwweDU4LDB4MDAsMHhhNiwweDAwLDB4YTksMHhjMCwweDBiLDB4NzAsMHgwMiwweDVjLDB4ODgsMHhhNyB9LAotICAxNiwgMHhhZjkwLCAwLCB7MHgyMCwweDI5LDB4YzAsMHgwYSwweDcwLDB4MDIsMHg5YywweDEwLDB4OTcsMHgyMCwweGExLDB4YzgsMHgwOCwweGQ4LDB4MDIsMHgyOCB9LAotICAxNiwgMHhhZmEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwOCwweDBlLDB4MDAsMHhkNywweDgwLDB4MzcsMHg2MCB9LAotICAxNiwgMHhhZmIwLCAwLCB7MHgwZSwweDY4LDB4MTMsMHhmZSwweDAwLDB4Y2YsMHg4MCwweDNkLDB4ZTAsMHgwZiwweDc4LDB4MjMsMHgxZSwweDAwLDB4ZWYsMHg4MiB9LAotICAxNiwgMHhhZmMwLCAwLCB7MHgzMSwweGUwLDB4MGYsMHgzYywweGMzLDB4N2UsMHgwNCwweGVmLDB4ODAsMHhiMSwweGUwLDB4MGUsMHhlOCwweDAzLDB4YmUsMHg4MCB9LAotICAxNiwgMHhhZmQwLCAwLCB7MHhkNywweGUwLDB4MzMsMHhlYSwweDBlLDB4NzgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhhZmUwLCAwLCB7MHgwOCwweDE1LDB4YWMsMHgwMCwweGZhLDB4MDEsMHgzZSwweDAwLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzMiB9LAotICAxNiwgMHhhZmYwLCAwLCB7MHg4MCwweDBmLDB4ODAsMHg0MywweGFjLDB4MGEsMHhkOCwweDAwLDB4MzYsMHg0MCwweDBmLDB4YjAsMHgwMywweDJjLDB4MGMsMHhkYiB9LAotICAxNiwgMHhiMDAwLCAwLCB7MHgwMCwweDI2LDB4YzEsMHgwOSwweGEwLDB4MTMsMHg2YywweDQwLDB4ZWIsMHg0MCwweDNhLDB4ZGMsMHgwZiwweDkwLDB4MGIsMHhjMiB9LAotICAxNiwgMHhiMDEwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweGJlLDB4MDAsMHhjZiwweDgxLDB4MzMsMHhlOSB9LAotICAxNiwgMHhiMDIwLCAwLCB7MHgxZiwweGY5LDB4MTMsMHhiNiwweDUwLDB4ZWYsMHg4MCwweDFmLDB4ZTQsMHgwNCwweGM4LDB4MDMsMHg3ZSwweDAwLDB4NmQsMHg4MSB9LAotICAxNiwgMHhiMDMwLCAwLCB7MHgzMywweDY0LDB4MGMsMHhmOCwweDFiLDB4M2UsMHgyMCwweDJmLDB4ODgsMHg5MywweGU4LDB4MGYsMHhmYiwweDAzLDB4MmUsMHg4MCB9LAotICAxNiwgMHhiMDQwLCAwLCB7MHhjZiwweGMwLDB4NzMsMHhlMCwweDJjLDB4ZDksMHgwMywweGQwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMDUwLCAwLCB7MHhhOCwweDE4LDB4OTAsMHg0MiwweDg5LDB4MTgsMHgyMSwweGMwLDB4MWYsMHg3MSwweDAyLDB4MTQsMHhjMCwweGY3LDB4MjAsMHgyNyB9LAotICAxNiwgMHhiMDYwLCAwLCB7MHg0MCwweDQwLDB4NzEsMHgxMiwweDE4LDB4MDAsMHg4NywweDIwLDB4MjEsMHg4MCwweDQ4LDB4NzEsMHgwMiwweDNjLDB4MDgsMHg4NyB9LAotICAxNiwgMHhiMDcwLCAwLCB7MHgyMCwweDIxLDB4ODIsMHgwYiwweDYxLDB4YTIsMHgxZSwweDQ0LDB4ZGYsMHgwMSwweDMxLDB4YzgsMHgwOCwweDczLDB4MDIsMHhlYSB9LAotICAxNiwgMHhiMDgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMCwweDhjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjOCB9LAotICAxNiwgMHhiMDkwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHg5YywweDA5LDB4ODcsMHgwMiwweDJkLDB4ODIsMHg5OSwweDQwLDB4MDIsMHgwNCwweDAwLDB4YTUsMHgwOSB9LAotICAxNiwgMHhiMGEwLCAwLCB7MHgyMSwweDQwLDB4MTksMHg3MCwweDAyLDB4MWMsMHgwMCwweDg3LDB4MDUsMHgyNSwweDQ4LDB4NGIsMHg3MiwweDAyLDB4MGMsMHg0MCB9LAotICAxNiwgMHhiMGIwLCAwLCB7MHg4NywweDAwLDB4YTEsMHhjMCwweDQ4LDB4NTAsMHgwMiwweGM0LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMGMwLCAwLCB7MHg2OCwweDA0LDB4YzEsMHgyMCwweDg5LDB4NGMsMHhhMCwweGI0LDB4MGEsMHgzOCwweDAyLDB4MjIsMHgwMCwweGExLDB4ZDAsMHgyNCB9LAotICAxNiwgMHhiMGQwLCAwLCB7MHgzMCwweDA5LDB4ODAsMHgwMiwweDI3LDB4NDQsMHg4MSwweGM2LDB4MjIsMHgxNCwweDA5LDB4M2QsMHgyYSwweDBmLDB4MDIsMHg4YiB9LAotICAxNiwgMHhiMGUwLCAwLCB7MHhjMCwweGE2LDB4MjAsMHgwYiwweDI0LDB4MDAsMHgwYywweDEwLDB4OTMsMHg4MSwweDIwLDB4YzAsMHg0OCwweDMwLDB4MDYsMHhkOCB9LAotICAxNiwgMHhiMGYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgxNSwweGExLDB4MDAsMHg4OSwweGMxLDB4MzIsMHhkMSB9LAotICAxNiwgMHhiMTAwLCAwLCB7MHgwMywweGJjLDB4MDMsMHhhOSwweDIwLDB4ODksMHg0MSwweDNlLDB4NjAsMHg4NSwweGJjLDB4OGIsMHgyNSwweDQwLDB4ZWIsMHg0MSB9LAotICAxNiwgMHhiMTEwLCAwLCB7MHhhMiwweGEwLDB4MGQsMHhmMCwweDEzLDB4M2UsMHgyMCwweGNmLDB4OTAsMHgzNiwweDMwLDB4NGYsMHhiYywweDBiLDB4M2MsMHgwMCB9LAotICAxNiwgMHhiMTIwLCAwLCB7MHhjZiwweDgwLDB4MzMsMHhjMSwweDBjLDB4YjEsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMTMwLCAwLCB7MHg4MCwweDAwLDB4ZWQsMHgwMCwweGY4LDB4MDEsMHgzYywweGQwLDB4MGYsMHhiMywweDAzLDB4ZTgsMHg4MiwweGQ4LDB4MjAsMHgzNiB9LAotICAxNiwgMHhiMTQwLCAwLCB7MHg4MCwweDJlLDB4YjIsMHgxMywweGUxLDB4MDAsMHhmYSwweDAwLDB4N2UsMHhjOCwweDJlLDB4YjAsMHgwMywweGVjLDB4ODAsMHhkYiB9LAotICAxNiwgMHhiMTUwLCAwLCB7MHgxMCwweDNhLDB4MDgsMHg0ZiwweGIyLDB4MjMsMHhjYywweDAyLDB4ZmIsMHgxMCwweDNhLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlNCB9LAotICAxNiwgMHhiMTYwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMCwweGYwLDB4MDAsMHhjZCwweDEwLDB4MzMsMHg0MiB9LAotICAxNiwgMHhiMTcwLCAwLCB7MHgwYywweGNhLDB4MjMsMHg3YywweDAwLDB4Y2YsMHgwMCwweDMzLDB4NjIsMHgwNiwweGYwLDB4MDEsMHgzYSwweDAwLDB4Y2YsMHgwOCB9LAotICAxNiwgMHhiMTgwLCAwLCB7MHgzMywweDgwLDB4MWMsMHhmMCwweDgxLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzMywweGEwLDB4MGMsMHhjYSwweDAxLDB4ZmMsMHgwNCB9LAotICAxNiwgMHhiMTkwLCAwLCB7MHhjZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMWEwLCAwLCB7MHhhMSwweDA0LDB4NmQsMHg0MCwweDg4LDB4NDgsMHhhMiwweDMxLDB4MDgsMHgxMCwweDAyLDB4MjAsMHgxMCwweDg4LDB4YjQsMHgyMiB9LAotICAxNiwgMHhiMWIwLCAwLCB7MHhhMCwweDA4LDB4ODAsMHgwMCwweDZhLDB4ODQsMHg4OCwweDIwLDB4MjIsMHg1MiwweDA4LDB4YjAsMHgwYSwweDJjLDB4MTAsMHhiYiB9LAotICAxNiwgMHhiMWMwLCAwLCB7MHgwMCwweDMyLDB4YjMsMHg4OCwweDgwLDB4MDIsMHhlYywweDAwLDB4ZGIsMHgwMCwweDJlLDB4YzAsMHgwYiwweDkwLDB4MTIsMHhlMSB9LAotICAxNiwgMHhiMWQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDAwLDB4MTAsMHg4YSwweDAxLDB4MjIsMHhhMCB9LAotICAxNiwgMHhiMWUwLCAwLCB7MHgwOCwweGIwLDB4NDIsMHg2MCwweDIwLDB4ODAsMHgwMCwweDIwLDB4NDQsMHgxYSwweDgwLDB4MWEsMHhlNCwweDQyLDB4YTAsMHgwNiB9LAotICAxNiwgMHhiMWYwLCAwLCB7MHgyMiwweDAwLDB4NzgsMHgzMCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDAsMHhhMiwweDQ0LDB4MDgsMHhiMCwweDEyLDB4ZWMsMHgwMCB9LAotICAxNiwgMHhiMjAwLCAwLCB7MHg4YiwweDAwLDB4MGUsMHhjMCwweDBiLDB4OTAsMHgwMiwweGUwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMjEwLCAwLCB7MHgwOCwweDE0LDB4MDAsMHgwOCwweDgwLDB4MDAsMHgyMCwweDgxLDB4MDgsMHgzMCwweDAyLDB4NDAsMHgxMiwweDgwLDB4MDAsMHhhMCB9LAotICAxNiwgMHhiMjIwLCAwLCB7MHg0MCwweDA4LDB4YjAsMHgwMiwweGMwLDB4MDAsMHg4MiwweDAwLDB4MDAsMHg4MCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiYiB9LAotICAxNiwgMHhiMjMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwOCwweDIwLDB4MDIsMHhjYywweDgwLDB4OTMsMHgwMCwweDJjLDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjMiB9LAotICAxNiwgMHhiMjQwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhjYSwweDE0LDB4MzIsMHgwMCB9LAotICAxNiwgMHhiMjUwLCAwLCB7MHgwYywweGIwLDB4MDMsMHg0YywweDAwLDB4Y2EsMHgwMCwweDMyLDB4MDAsMHgwZSwweDAwLDB4MTIsMHhhMCwweDAwLDB4YzAsMHgwMCB9LAotICAxNiwgMHhiMjYwLCAwLCB7MHg3MCwweDAwLDB4MjgsMHhmMCwweDEzLDB4YWMsMHgwMCwweGZiLDB4MDAsMHgzMiwweDQwLDB4MmMsMHgxMCwweDQzLDB4ZWMsMHgwMCB9LAotICAxNiwgMHhiMjcwLCAwLCB7MHhjZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMjgwLCAwLCB7MHgyMCwweDE1LDB4ZjAsMHgwMiwweGZjLDB4MDAsMHgxZiwweDAwLDB4NjcsMHg3MCwweDAzLDB4YjAsMHgwMCwweGZjLDB4MDAsMHgzZiB9LAotICAxNiwgMHhiMjkwLCAwLCB7MHgwMCwweDJkLDB4YzAsMHgwMywweDMwLDB4MTAsMHhmYywweDAxLDB4YmYsMHgwMCwweDBmLDB4NzAsMHgwMywweDdjLDB4MDAsMHhmNyB9LAotICAxNiwgMHhiMmEwLCAwLCB7MHgwNCwweDNiLDB4MDAsMHgwZiwweGMwLDB4MTMsMHhmZCwweDEwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9LAotICAxNiwgMHhiMmIwLCAwLCB7MHgxMiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwNSwweGY0LDB4YzAsMHhjZiwweDgwLDB4MzMsMHg2MCB9LAotICAxNiwgMHhiMmMwLCAwLCB7MHgwZSwweGM5LDB4MTMsMHgzNiwweDUwLDB4Y2UsMHg4NiwweDNmLDB4MDgsMHgwYywweGMwLDB4MDMsMHgzZSwweDAyLDB4ZDcsMHg4MCB9LAotICAxNiwgMHhiMmQwLCAwLCB7MHgzOSwweGUwLDB4MGYsMHhmOCwweDEzLDB4M2UsMHg0MCwweGM3LDB4MzAsMHgzYiwweGNlLDB4MGQsMHhmNiwweDAzLDB4M2QsMHg4OCB9LAotICAxNiwgMHhiMmUwLCAwLCB7MHhjZiwweDMxLDB4MzMsMHhlNCwweDBmLDB4NzgsMHgwMywweDMwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMmYwLCAwLCB7MHg4MCwweDEwLDB4ZTUsMHhkMCwweGRiLDB4ODAsMHg3MiwweDYwLDB4ODgsMHg5MiwweDAyLDB4ZTQsMHgxMCwweDhhLDB4ODAsMHgyZSB9LAotICAxNiwgMHhiMzAwLCAwLCB7MHgzNCwweDRhLDB4OGMsMHgwMywweDJlLDB4MDAsMHhhYiwweDgwLDB4MDIsMHhlMCwweDBiLDB4YjgsMHgwMiwweDJjLDB4ODAsMHg4ZiB9LAotICAxNiwgMHhiMzEwLCAwLCB7MHg2MCwweDEzLDB4ZDgsMHg0YSwweDc2LDB4MDIsMHg5ZCwweDg0LDB4YWYsMHgzMCwweDIyLDB4NDgsMHgwYiwweDg4LDB4MTIsMHhhMCB9LAotICAxNiwgMHhiMzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwNSwweGM0LDB4MDAsMHg4YiwweDAwLDB4MjQsMHgwMCB9LAotICAxNiwgMHhiMzMwLCAwLCB7MHg0YSwweDAwLDB4MDIsMHhhYywweDgwLDB4ODMsMHgwMCwweDJjLDB4MDEsMHgyOCwweDA0LDB4MDIsMHhhYywweDAwLDB4OGIsMHgwMSB9LAotICAxNiwgMHhiMzQwLCAwLCB7MHgyMCwweGMwLDB4MDMsMHhiMCwweDAyLDB4MGMsMHg4MCwweDgzLDB4NDAsMHgyMCwweGMxLDB4YTgsMHgzNCwweDIyLDB4OGQsMHgxMyB9LAotICAxNiwgMHhiMzUwLCAwLCB7MHg4MywweDIwLDB4YWMsMHhjOCwweDBiLDB4YjAsMHgwMiwweDYyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiMzYwLCAwLCB7MHhjMCwweDE1LDB4ODYsMHgwMCwweDliLDB4MDQsMHhhZSwweDAwLDB4MGEsMHg5MCwweDAyLDB4ZWMsMHgwMCwweDBiLDB4MTQsMHgyZSB9LAotICAxNiwgMHhiMzcwLCAwLCB7MHhjNiwweDAyLDB4YjEsMHgxMiwweDZjLDB4MDAsMHhhYiwweDIwLDB4MmEsMHhjMSwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg4YiB9LAotICAxNiwgMHhiMzgwLCAwLCB7MHgwMiwweDI2LDB4YzEsMHgwYSwweGIwLDB4MDIsMHhhYywweDAwLDB4YWIsMHgwNCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhmMCB9LAotICAxNiwgMHhiMzkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGU3LDB4MDAsMHhjMywweDAxLDB4MzYsMHg0MCB9LAotICAxNiwgMHhiM2EwLCAwLCB7MHgwZSwweDg4LDB4MTMsMHgyNCwweDAyLDB4Y2EsMHgwMCwweDFlLDB4MjAsMHgyYywweDhlLDB4MGIsMHgyYywweDAwLDB4Y2IsMHgwMCB9LAotICAxNiwgMHhiM2IwLCAwLCB7MHgyYSwweGMwLDB4MGYsMHhiOCwweDAzLDB4MmUsMHgwNiwweGNiLDB4MDAsMHgzYSwweGMwLDB4NGMsMHhiMCwweDEzLDB4YWMsMHgwYyB9LAotICAxNiwgMHhiM2MwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhjOCwweDBmLDB4YjAsMHg0MywweDUwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiM2QwLCAwLCB7MHhlMCwweDAxLDB4YjQsMHgwOCwweGZmLDB4OTEsMHgzMywweDQwLDB4MDksMHhkYywweDAxLDB4ZjQsMHgyMCwweDdlLDB4MDIsMHgyZSB9LAotICAxNiwgMHhiM2UwLCAwLCB7MHg0MCwweDBkLDB4OTgsMHgwMSwweGJjLDB4ODAsMHhlZiwweDgwLDB4YjcsMHhlNCwweDhmLDB4ZjQsMHgwYiwweGZlLDB4NDAsMHg3ZiB9LAotICAxNiwgMHhiM2YwLCAwLCB7MHgwMCwweGI5LDB4YzAsMHg0ZSwweGYwLDB4MDMsMHhmYywweDA4LDB4ZjcsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDIsMHhiOCB9LAotICAxNiwgMHhiNDAwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMCwweGExLDB4NDQsMHhjYiwweDAyLDB4MzIsMHgwMCB9LAotICAxNiwgMHhiNDEwLCAwLCB7MHgwZCwweDgwLDB4MGEsMHg2ZCwweDAwLDB4ZWIsMHgwNCwweDEwLDB4OTAsMHgyOCwweDIyLDB4MGIsMHgyYywweGMyLDB4Y2IsMHgyMCB9LAotICAxNiwgMHhiNDIwLCAwLCB7MHg3NiwweGMwLDB4MGUsMHhiMSwweDAzLDB4ZWMsMHgwMSwweGNiLDB4MDYsMHgzMiwweGMxLDB4MGMsMHgzMCwweDAzLDB4MmMsMHgwMiB9LAotICAxNiwgMHhiNDMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhkMCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNDQwLCAwLCB7MHhjOCwweDA1LDB4MjEsMHg0OCwweGFiLDB4MDAsMHgyMCwweDAwLDB4MDAsMHg5NSwweDIzLDB4NGMsMHgwOCwweGJiLDB4MDEsMHgyMiB9LAotICAxNiwgMHhiNDUwLCAwLCB7MHhjMCwweDA4LDB4YjIsMHgwMiwweDBjLDB4MDgsMHg4MywweDg4LDB4OTIsMHhkNSwweDI4LDB4MzQsMHgwMiwweGVjLDB4MDIsMHg4ZiB9LAotICAxNiwgMHhiNDYwLCAwLCB7MHgyMCwweDIzLDB4YzAsMHg0ZCwweGYwLDB4MDEsMHg3YywweDAwLDB4ZGYsMHgwMCwweDJlLDB4YzAsMHgwZCwweDMwLDB4MDMsMHg3MiB9LAotICAxNiwgMHhiNDcwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTAsMHgwNSwweDQ0LDB4MDAsMHg4MywweDEwLDB4MjAsMHg2MCB9LAotICAxNiwgMHhiNDgwLCAwLCB7MHgwOSwweDI1LDB4MDIsMHgwMCwweDA4LDB4YTAsMHgwMCwweDRjLDB4MDAsMHgwYiwweDBjLDB4MjIsMHg0ZiwweDEyLDB4OTMsMHg0MCB9LAotICAxNiwgMHhiNDkwLCAwLCB7MHgwMCwweGMwLDB4MDksMHgzZSwweDAyLDB4ZWMsMHgwMCwweGFiLDB4ODAsMHhhNCwweGMwLDB4MDksMHgzMCwweDIyLDB4MmMsMHgwOCB9LAotICAxNiwgMHhiNGEwLCAwLCB7MHhiMywweDAxLDB4MGMsMHg4MSwweDA4LDB4MzAsMHgwMiwweDM4LDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNGIwLCAwLCB7MHg2MCwweDAxLDB4MTYsMHgwOSwweGI3LDB4ODAsMHgyMSwweDY0LDB4MDgsMHg3OCwweDA2LDB4MTIsMHgwMCwweGI0LDB4ODIsMHgyZCB9LAotICAxNiwgMHhiNGMwLCAwLCB7MHhhNCwweDFiLDB4NjksMHgwNiwweDdlLDB4MDQsMHgxNywweDkyLDB4MjUsMHhlNiwweDA5LDB4NzgsMHgwNiwweGRlLDB4ODAsMHhhNyB9LAotICAxNiwgMHhiNGQwLCAwLCB7MHg5MCwweDI1LDB4ZTAsMHgwOSwweDc5LDB4NTAsMHg1ZSwweDA0LDB4YjcsMHg5MiwweDJmLDB4NjEsMHgwOSwweGM4LDB4MDIsMHg0OCB9LAotICAxNiwgMHhiNGUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDI1LDB4MDAsMHhjMywweDAwLDB4YjAsMHgwMyB9LAotICAxNiwgMHhiNGYwLCAwLCB7MHgwZCwweGEzLDB4NDIsMHgwOSwweDQwLDB4ZTEsMHgwMCwweGJjLDB4NDAsMHgwZiwweDExLDB4MDMsMHg0YywweDAwLDB4MTMsMHgwMCB9LAotICAxNiwgMHhiNTAwLCAwLCB7MHgyMCwweGMwLDB4MDksMHgzMiwweDAzLDB4Y2MsMHgxMCwweGEzLDB4MDAsMHgyNiwweGM0LDB4OGQsMHgzMCwweDJiLDB4MGMsMHg4MCB9LAotICAxNiwgMHhiNTEwLCAwLCB7MHhmMywweDAwLDB4N2MsMHg4MCwweDBjLDB4MzAsMHgwMSwweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNTIwLCAwLCB7MHg0MCwweDFkLDB4YmMsMHgwMCwweGU3LDB4MTAsMHgzZCwweDAxLDB4MmYsMHhmMSwweDQyLDB4ZTgsMHgwMCwweGY1LDB4OTAsMHgwMyB9LAotICAxNiwgMHhiNTMwLCAwLCB7MHhjMSwweDBjLDB4ZjEsMHg0MywweDljLDB4MDQsMHhlZiwweDA4LDB4M2IsMHhjMiwweDBjLDB4ZjAsMHg4MSwweGRjLDB4YTAsMHhkZiB9LAotICAxNiwgMHhiNTQwLCAwLCB7MHgwMCwweDNiLDB4YzMsMHgzZiwweGYwLDB4ODMsMHhmYywweDA1LDB4ZGYsMHgwYywweDNkLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhkMCB9LAotICAxNiwgMHhiNTUwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwNSwweGY0LDB4MDAsMHhjYiwweDgwLDB4MzAsMHg0MCB9LAotICAxNiwgMHhiNTYwLCAwLCB7MHgyYywweGEwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg4MCwweDMyLDB4YzAsMHgyZSwweGI4LDB4MGIsMHgyYywweDQ2LDB4ZDMsMHgwMCB9LAotICAxNiwgMHhiNTcwLCAwLCB7MHgzMCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGRiLDB4NDgsMHgzMiwweGMwLDB4MWYsMHhiNCwweDAzLDB4MmMsMHg4OCB9LAotICAxNiwgMHhiNTgwLCAwLCB7MHhjYiwweDQ4LDB4MzIsMHg4MCwweDBjLDB4MzAsMHgxMywweDJhLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNTkwLCAwLCB7MHg0OCwweDExLDB4YjQsMHgwMCwweDg3LDB4MDEsMHgyMSwweDQwLDB4MDgsMHg3MCwweDQyLDB4ZDAsMHgwOCwweGI0LDB4MDAsMHgyOSB9LAotICAxNiwgMHhiNWEwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjOCwweDBjLDB4NzIsMHgwYSwweDFjLDB4ODQsMHg4ZiB9LAotICAxNiwgMHhiNWIwLCAwLCB7MHg0MCwweDA5LDB4YzQsMHg4ZiwweDczLDB4MTIsMHg5YywweDQwLDB4ODMsMHgyMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDIsMHg5MiB9LAotICAxNiwgMHhiNWMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDk2LDB4MDEsMHhhZiwweDgwLDB4MjEsMHgyMCB9LAotICAxNiwgMHhiNWQwLCAwLCB7MHgwOCwweDY4LDB4MDIsMHhkYSwweDAwLDB4YmQsMHg4MCwweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHgxZSwweDAwLDB4OGYsMHg4OCB9LAotICAxNiwgMHhiNWUwLCAwLCB7MHg4MywweGUyLDB4MjksMHhmOCwweDgyLDB4NWYsMHg4MCwweDg3LDB4YTAsMHgyNSwweGUwLDB4MGIsMHgzYSwweDEyLDB4MGUsMHg1MCB9LAotICAxNiwgMHhiNWYwLCAwLCB7MHg5NywweGE0LDB4MjEsMHhhMCwweDI5LDB4NzgsMHgwMiwweDMwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNjAwLCAwLCB7MHgwOCwweDE0LDB4Y2MsMHgwMiwweGExLDB4ODEsMHgwMCwweDAwLDB4NDgsMHg3MCwweDAyLDB4YzgsMHgwMCwweGIxLDB4MDAsMHgyYyB9LAotICAxNiwgMHhiNjEwLCAwLCB7MHhmOCwweDA5LDB4MzEsMHg0MiwweDBjLDB4MTAsMHg4MywweDAwLDB4MjAsMHhlMCwweDA4LDB4MzgsMHgxMiwweDRlLDB4MDAsMHg4MyB9LAotICAxNiwgMHhiNjIwLCAwLCB7MHgwMCwweDZhLDB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDA0LDB4OTMsMHgwMCwweDIwLDB4ZTAsMHgwOSwweDM4LDB4MDIsMHg5MiB9LAotICAxNiwgMHhiNjMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4NDAsMHhlZSwweDIwLDB4MzAsMHg4MCB9LAotICAxNiwgMHhiNjQwLCAwLCB7MHgwYywweGEwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDMzLDB4YjAsMHgwZCwweGU0LDB4MDMsMHgzMiwweDg4LDB4Y2MsMHg4MCB9LAotICAxNiwgMHhiNjUwLCAwLCB7MHgyMywweDAwLDB4MGQsMHhjMCwweDAzLDB4NjIsMHgwMiwweGNhLDB4MDAsMHgzNiwweDgwLDB4MGYsMHhhMCwweDQzLDB4MjgsMHgwNiB9LAotICAxNiwgMHhiNjYwLCAwLCB7MHhkYSwweDAwLDB4MzMsMHhhMCwweDBkLDB4NmEsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNjcwLCAwLCB7MHg0OCwweDAwLDB4ZTAsMHgwMCwweDk4LDB4MDEsMHhiZSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZjAsMHgwMCwweGJjLDB4MDAsMHgzOCB9LAotICAxNiwgMHhiNjgwLCAwLCB7MHgwNCwweDA4LDB4ODAsMHhhMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgxMywweGEwLDB4MDAsMHhlMCB9LAotICAxNiwgMHhiNjkwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZSwweDAwLDB4MDMsMHhjMCwweDAwLDB4ZTgsMHgwMCwweGJlLDB4MDQsMHg0ZSwweDgwLDB4MDcsMHhkMiB9LAotICAxNiwgMHhiNmEwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweGU0LDB4ODAsMHhjOSwweDAwLDB4M2UsMHg2OCB9LAotICAxNiwgMHhiNmIwLCAwLCB7MHgwYywweDkwLDB4MDMsMHg2NCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4NDMsMHhlMCwweDAwLDB4YzgsMHgwMCB9LAotICAxNiwgMHhiNmMwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCB9LAotICAxNiwgMHhiNmQwLCAwLCB7MHg4MSwweDAwLDB4MzIsMHg0MCwweDA0LDB4OTAsMHgxMywweDAyLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNmUwLCAwLCB7MHg4MCwweDA0LDB4NjUsMHgwNiwweDg5LDB4NDAsMHgyZSwweDYwLDB4MWEsMHgxNCwweDJhLDB4MDUsMHgyMCwweDg5LDB4MDAsMHgyZSB9LAotICAxNiwgMHhiNmYwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGM0LDB4MDgsMHhjMSwweDAyLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgxYSwweDI0LDB4MDAsMHg4OSB9LAotICAxNiwgMHhiNzAwLCAwLCB7MHgxMCwweDMyLDB4NDEsMHgwOCwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHgwNCwweDM2LDB4NDAsMHg4OCwweDk0LDB4MGEsMHgyMCB9LAotICAxNiwgMHhiNzEwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweDA0LDB4MjAsMHg4OSwweDU1LDB4MmUsMHg0MCB9LAotICAxNiwgMHhiNzIwLCAwLCB7MHgwOCwweGQ1LDB4MDIsMHgzNCwweDAwLDB4OGQsMHgwMCwweDJlLDB4NDAsMHgxOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHgwMCB9LAotICAxNiwgMHhiNzMwLCAwLCB7MHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwYSwweDg5LDB4MDAsMHgyNiwweDQwLDB4MzgsMHg5MCwweDBhLDB4MjQsMHgwMCB9LAotICAxNiwgMHhiNzQwLCAwLCB7MHhhOSwweDAwLDB4MjAsMHg0MCwweDBhLDB4OTAsMHg4MiwweDA2LDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiNzUwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweDgxLDB4MDAsMHgyZiwweDQwLDB4MGEsMHhkNCwweDAyLDB4MzQsMHgwMCwweDg1LDB4MDEsMHgyYyB9LAotICAxNiwgMHhiNzYwLCAwLCB7MHg0MCwweDA4LDB4MTAsMHg0MiwweGU0LDB4MDYsMHg5OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA1LDB4MDAsMHg4MSB9LAotICAxNiwgMHhiNzcwLCAwLCB7MHg0MCwweDI4LDB4NTAsMHgwOCwweDE0LDB4MTIsMHgwNSwweDAwLDB4YTEsMHg0MCwweDI0LDB4NTAsMHg1YSwweDEwLDB4MDIsMHgwMiB9LAotICAxNiwgMHhiNzgwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDA0LDB4M2UsMHgwMCB9LAotICAxNiwgMHhiNzkwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHgyMSwweDQyLDB4Y2MsMHgwMCwweDNlLDB4MDAsMHgyYywweDgwLDB4MDIsMHhlMCwweDAwLDB4ZDgsMHgwMCB9LAotICAxNiwgMHhiN2EwLCAwLCB7MHhiNiwweDAwLDB4MmMsMHg4MCwweDAyLDB4MjAsMHgwMiwweGM4LDB4MDAsMHgzNiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NjAsMHgwMiB9LAotICAxNiwgMHhiN2IwLCAwLCB7MHhlOCwweDAwLDB4MzIsMHgwMCwweDhlLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiN2MwLCAwLCB7MHg5OCwweDFkLDB4ZjUsMHgwMCwweGY1LDB4MDAsMHgzZSwweDQwLDB4ODcsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZCB9LAotICAxNiwgMHhiN2QwLCAwLCB7MHg1MCwweDBmLDB4NTQsMHgwMywweGQxLDB4MDAsMHhlYywweDQwLDB4M2YsMHgxMCwweDBiLDB4YzQsMHg0MywweGYxLDB4MDAsMHhmOSB9LAotICAxNiwgMHhiN2UwLCAwLCB7MHg0MCwweDM2LDB4NTAsMHgwZiwweDk0LDB4MTMsMHhlNSwweDEwLDB4ZDksMHg0NCwweDNkLDB4NDAsMHgyZCwweGQwLDB4MDMsMHhlNiB9LAotICAxNiwgMHhiN2YwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTgsMHgwNSwweGY2LDB4NjAsMHhjZCwweDAyLDB4M2IsMHg0MCB9LAotICAxNiwgMHhiODAwLCAwLCB7MHgwYywweGQwLDB4MDMsMHhiNCwweDQwLDB4ZmQsMHgwNiwweDNlLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2NiwweDA0LDB4YzksMHg4MiB9LAotICAxNiwgMHhiODEwLCAwLCB7MHhiNiwweDYyLDB4MGYsMHgxOCwweDBiLDB4MzYsMHgwMCwweGNkLDB4NDAsMHgzMiwweDYxLDB4MGMsMHg5MCwweDIzLDB4MjQsMHgwYSB9LAotICAxNiwgMHhiODIwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDRjLDB4ZDAsMHg0MywweDA2LDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiODMwLCAwLCB7MHgzOSwweDEwLDB4ZTMsMHg4MCwweGQ4LDB4MDAsMHgyMiwweDAwLDB4MGQsMHg4MCwweDAyLDB4MjIsMHg5NCwweGI4LDB4MDAsMHgyZSB9LAotICAxNiwgMHhiODQwLCAwLCB7MHgwMCwweDBkLDB4ODAsMHgwMywweDIxLDB4MDAsMHg4OCwweDQwLDB4MjIsMHgwMCwweDBiLDB4YzQsMHgyMiwweDIxLDB4NTAsMHg4OCB9LAotICAxNiwgMHhiODUwLCAwLCB7MHg4MCwweDIyLDB4MjIsMHgwOCwweDgwLDB4MDIsMHgyMCwweDEwLDB4ODAsMHgwMSwweDJhLDB4MDAsMHgwYSwweDgwLDB4MDMsMHg0ZSB9LAotICAxNiwgMHhiODYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweGM2LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCB9LAotICAxNiwgMHhiODcwLCAwLCB7MHg4OCwweDEwLDB4MGEsMHg4NCwweDA4LDB4YjEsMHgwMCwweDI5LDB4NDAsMHgwYSwweDcwLDB4MGEsMHhiNSwweDAwLDB4OGYsMHg0MCB9LAotICAxNiwgMHhiODgwLCAwLCB7MHgyOSwweGMwLDB4MGIsMHhmNCwweDAyLDB4MjQsMHgwMCwweDgxLDB4MjAsMHgyOCwweDQ0LDB4ODksMHgxMCwweDAyLDB4MDQsMHgwNCB9LAotICAxNiwgMHhiODkwLCAwLCB7MHg4MSwweDAyLDB4MmEsMHg0MCwweDA4LDB4MTAsMHgwMiwweDAyLDB4MDEsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOGEwLCAwLCB7MHgxOCwweDE1LDB4YTYsMHgwMCwweDk5LDB4MjAsMHgyMiwweDQwLDB4MDksMHg5MCwweDEyLDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyZiB9LAotICAxNiwgMHhiOGIwLCAwLCB7MHg0NCwweDAzLDB4ZDAsMHgwMiwweGY0LDB4MDAsMHg4ZCwweDAwLDB4MmIsMHg0MSwweDBiLDB4ZDAsMHgwMiwweDI2LDB4MTAsMHg4OSB9LAotICAxNiwgMHhiOGMwLCAwLCB7MHgwNCwweDJhLDB4NDAsMHgwOSwweDkwLDB4NmUsMHgyNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYSwweDk0LDB4MDIsMHg0NiB9LAotICAxNiwgMHhiOGQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTIsMHgxNSwweGU2LDB4MDAsMHhjOSwweDAwLDB4MzgsMHg0MiB9LAotICAxNiwgMHhiOGUwLCAwLCB7MHgwYywweDEwLDB4MTMsMHhhNiwweDA0LDB4NzksMHgwOCwweDNhLDB4NzgsMHgwNiwweDkyLDB4MDMsMHhhNCwweDA4LDB4YzksMHgwMCB9LAotICAxNiwgMHhiOGYwLCAwLCB7MHgzYSwweDYwLDB4OGYsMHg5OCwweDIzLDB4MDYsMHgwMiwweGM5LDB4MDIsMHgzYSwweDQwLDB4MGQsMHg5MCwweDAzLDB4MDQsMHgwMCB9LAotICAxNiwgMHhiOTAwLCAwLCB7MHhjOSwweDAwLDB4MzgsMHg0MCwweDBjLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOTEwLCAwLCB7MHgyOCwweDAxLDB4ODQsMHgxMCwweGY5LDB4ODAsMHhiZSwweDQwLDB4NGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzYyB9LAotICAxNiwgMHhiOTIwLCAwLCB7MHg2MCwweDhkLDB4OTIsMHgwMywweDI0LDB4NDIsMHhlOSwweDEwLDB4MzIsMHg1MCwweDBmLDB4OTQsMHgwMywweGU0LDB4MDAsMHhmOSB9LAotICAxNiwgMHhiOTMwLCAwLCB7MHgwMCwweGI2LDB4NDEsMHgyZSwweDEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDJlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSB9LAotICAxNiwgMHhiOTQwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgxMCwweGEwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgxMCB9LAotICAxNiwgMHhiOTUwLCAwLCB7MHgwZiwweDg4LDB4MDMsMHgyMCwweDA4LDB4ZjgsMHhjMCwweDFlLDB4MTAsMHgyYywweDQwLDB4MDMsMHhmMiwweDAwLDB4Y2MsMHgwMCB9LAotICAxNiwgMHhiOTYwLCAwLCB7MHgzZiwweDAwLDB4MGMsMHhjMCwweDEzLDB4MjAsMHgwMiwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDJiLDB4MjAsMHgxMCB9LAotICAxNiwgMHhiOTcwLCAwLCB7MHhjMCwweDA0LDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDBhLDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOTgwLCAwLCB7MHhhOCwweDA1LDB4M2EsMHg4MCwweDg2LDB4ZTAsMHgyZiwweGEwLDB4MWIsMHhlMCwweDAyLDB4M2EsMHg4MCwweGJhLDB4MDQsMHgyZSB9LAotICAxNiwgMHhiOTkwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHgwMywweDg4LDB4MDgsMHhjMiwweDAwLDB4MmUsMHg4MSwweDA4LDB4NjAsMHgwMiwweDI4LDB4MTAsMHg4ZSB9LAotICAxNiwgMHhiOWEwLCAwLCB7MHg4MSwweDAzLDB4ODAsMHgwOCwweGUwLDB4MDEsMHg3OCwweDAwLDB4OGUsMHgwNCwweDAzLDB4ODAsMHgwOSwweDY4LDB4MDMsMHhjYSB9LAotICAxNiwgMHhiOWIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwNSwweDRjLDB4MDAsMHg4MywweDYwLDB4MmMsMHg0NCB9LAotICAxNiwgMHhiOWMwLCAwLCB7MHgwYiwweDM4LDB4MDIsMHgwZiwweDgwLDB4YjEsMHgwMCwweDJjLDB4ZTUsMHgwMywweDMwLDB4MTAsMHhjYywweDEwLDB4ODMsMHgwMCB9LAotICAxNiwgMHhiOWQwLCAwLCB7MHgwYywweGMwLDB4MjksMHgzMCwweDIyLDB4MDQsMHgwOSwweDkxLDB4MTAsMHgyNCwweGMwLDB4YzgsMHgzMCwweDAwLDB4NGMsMHgwNCB9LAotICAxNiwgMHhiOWUwLCAwLCB7MHg5MywweDAyLDB4MjQsMHhjMCwweDBiLDB4MzEsMHgwMiwweDBhLDB4MDAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiOWYwLCAwLCB7MHhlMCwweDAxLDB4MTgsMHg4MCwweDg3LDB4MDAsMHgyZCwweDQwLDB4MGIsMHg3NCwweDQyLDB4MWMsMHgwMSwweGI1LDB4MDEsMHgyYyB9LAotICAxNiwgMHhiYTAwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGIwLDB4MDAsMHg5NCwweDA0LDB4MmYsMHgyMCwweDA5LDB4YzAsMHgwMiwweDE0LDB4OTAsMHg5NyB9LAotICAxNiwgMHhiYTEwLCAwLCB7MHgwMCwweDI1LDB4YzgsMHgwOCwweDcwLDB4MDIsMHg0YywweDgwLDB4OTcsMHgyMCwweDI1LDB4YzAsMHgwOSwweDcwLDB4MDIsMHhlOCB9LAotICAxNiwgMHhiYTIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNhLDB4ODIsMHhjNiwweDgwLDB4MmQsMHg2MCB9LAotICAxNiwgMHhiYTMwLCAwLCB7MHgwYiwweGY4LDB4MGIsMHgxYSwweDAwLDB4ZjUsMHg4MCwweDNkLDB4ZTAsMHg4ZiwweDc4LDB4MDMsMHhkZSwweDAyLDB4YzcsMHg4MCB9LAotICAxNiwgMHhiYTQwLCAwLCB7MHgyZCwweGUwLDB4MGQsMHg3OCwweDBiLDB4MTcsMHgwMiwweGRmLDB4ODAsMHgyNCwweGY4LDB4MmMsMHhmZCwweDAzLDB4NWUsMHgwYyB9LAotICAxNiwgMHhiYTUwLCAwLCB7MHhkNywweGUwLDB4MzUsMHhlMCwweDBmLDB4NjgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYTYwLCAwLCB7MHg0OCwweDFkLDB4YWUsMHg0MCwweGZhLDB4MDQsMHgzZSwweDQwLDB4MGYsMHg4MCwweDEzLDB4ZWMsMHgwNCwweGY5LDB4MDAsMHgzZSB9LAotICAxNiwgMHhiYTcwLCAwLCB7MHhjMSwweDBjLDB4YTAsMHgxMywweGMwLDB4MTAsMHhlOCwweDAwLDB4M2MsMHgwMCwweDRlLDB4ODAsMHg0MywweGM0LDB4MjAsMHg4OSB9LAotICAxNiwgMHhiYTgwLCAwLCB7MHgwMCwweGJhLDB4YzAsMHgwNywweGI2LDB4MjEsMHhlZCwweDA2LDB4ZWIsMHg2OCwweGJhLDB4Y2MsMHgwZiwweDIwLDB4MTMsMHhjMiB9LAotICAxNiwgMHhiYTkwLCAwLCB7MHgwNiwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGJlLDB4MDAsMHhjNiwweDgwLDB4MzEsMHg2MCB9LAotICAxNiwgMHhiYWEwLCAwLCB7MHgyZCwweDc4LDB4MGIsMHgzZSwweDQ4LDB4ZWMsMHg5MiwweDNkLDB4NjAsMHgwYywweDU4LDB4MDMsMHg1YSwweDQwLDB4ZDUsMHg4MCB9LAotICAxNiwgMHhiYWIwLCAwLCB7MHgzMSwweDYxLDB4MGMsMHg1OCwweDIzLDB4MzYsMHgwMCwweGNmLDB4ODIsMHgzZiwweGUwLDB4MGMsMHhmOCwweDAzLDB4ZmYsMHg2MCB9LAotICAxNiwgMHhiYWMwLCAwLCB7MHhjZiwweDkwLDB4MzMsMHhmMCwweDBjLDB4NTIsMHgwMywweDAwLDB4MDAsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYWQwLCAwLCB7MHhhOCwweDExLDB4YjgsMHg4NCwweDg2LDB4MTQsMHhiNSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MWUsMHhjMCwweGM0LDB4MDAsMHgyZCB9LAotICAxNiwgMHhiYWUwLCAwLCB7MHg0MCwweDA4LDB4NDAsMHgwMiwweDE0LDB4ZDAsMHg4NiwweDEwLDB4MjEsMHg4MCwweDRjLDB4NjIsMHg0MiwweDM0LDB4NDAsMHhhNSB9LAotICAxNiwgMHhiYWYwLCAwLCB7MHgwMCwweDM1LDB4YzAsMHgyOCwweDcwLDB4NDIsMHhkYywweGMyLDB4OGYsMHgzMCwweDIzLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgyYSB9LAotICAxNiwgMHhiYjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDk4LDB4MjgsMHg4ZSwweDAwLDB4YTUsMHg0MCB9LAotICAxNiwgMHhiYjEwLCAwLCB7MHgwOCwweGYxLDB4MDIsMHgxOCwweDY0LDB4YjQsMHgwMCwweDZkLDB4NDIsMHgwOCwweDUwLDB4MDIsMHgxOCwweDAxLDB4ODUsMHgwOCB9LAotICAxNiwgMHhiYjIwLCAwLCB7MHgyMSwweDQwLDB4MDksMHg1OCwweDIyLDB4NTQsMHgwMCwweDg1LDB4MTAsMHgyZCwweGM0LDB4MDksMHg3MCwweDAyLDB4ZGMsMHgwNCB9LAotICAxNiwgMHhiYjMwLCAwLCB7MHg5NywweDAwLDB4MjUsMHhjMCwweDA4LDB4NDQsMHgwMiwweDAwLDB4MTAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYjQwLCAwLCB7MHg2MCwweDE0LDB4OGMsMHgwMCwweDgyLDB4ODAsMHgyNCwweGMwLDB4MDgsMHg4MCwweDAyLDB4MmQsMHgwMCwweDgwLDB4NGEsMHgyYyB9LAotICAxNiwgMHhiYjUwLCAwLCB7MHg0MiwweDA4LDB4MGEsMHg0MiwweDA2LDB4MDAsMHg5MiwweDg0LDB4MjAsMHhhMCwweDg4LDB4MjgsMHg0MiwweDQ0LDB4MDAsMHhhMyB9LAotICAxNiwgMHhiYjYwLCAwLCB7MHgwNiwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHhjYywweDEwLDB4OTMsMHgwNCwweDI0LDB4YzEsMHgwOSwweDAwLDB4MDIsMHgwOCB9LAotICAxNiwgMHhiYjcwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjYiwweDAwLDB4MzYsMHg0MCB9LAotICAxNiwgMHhiYjgwLCAwLCB7MHgwYywweGI0LDB4MTMsMHgyYywweDAwLDB4ZjksMHgwMCwweDNlLDB4YTAsMHgwYywweGEyLDB4MDMsMHgwNCwweDA4LDB4YzIsMHg4MCB9LAotICAxNiwgMHhiYjkwLCAwLCB7MHgzMCwweGE4LDB4MGQsMHgyYSwweDAzLDB4NTQsMHgwMCwweGNiLDB4MDAsMHgzZiwweGMwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwOCB9LAotICAxNiwgMHhiYmEwLCAwLCB7MHhkZiwweDAwLDB4MzcsMHhkMCwweDBjLDB4YjAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYmIwLCAwLCB7MHg4MCwweDAwLDB4ZTAsMHgwMCwweGZiLDB4MTAsMHgzYSwweDQwLDB4MGUsMHhiMCwweDAzLDB4ZWQsMHg5MCwweGY5LDB4MTEsMHg3ZSB9LAotICAxNiwgMHhiYmMwLCAwLCB7MHg4MCwweDRmLDB4YjAsMHg1MywweGU4LDB4NDAsMHhlOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGE2LDB4MDgsMHhmOSB9LAotICAxNiwgMHhiYmQwLCAwLCB7MHgwMSwweDNhLDB4YzAsMHgwYywweGIwLDB4MTMsMHhjYywweDAwLDB4ZWIsMHgwMiwweDNhLDB4YzYsMHg4ZSwweGI4LDB4MDMsMHhlMCB9LAotICAxNiwgMHhiYmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHgxMCwweGYwLDB4MGMsMHhjZSwweDAwLDB4M2YsMHhlMCB9LAotICAxNiwgMHhiYmYwLCAwLCB7MHgyYywweGYwLDB4ODMsMHgzYSwweDQ4LDB4Y2QsMHgwMSwweDM1LDB4ODAsMHgwYywweDYwLDB4MTIsMHgzNCwweDBhLDB4Y2UsMHgwMCB9LAotICAxNiwgMHhiYzAwLCAwLCB7MHhiMywweDgwLDB4MmMsMHhlMCwweDBiLDB4NzQsMHgwMCwweGM5LDB4MTAsMHhiMywweGMxLDB4MGYsMHhmMCwweDFiLDB4M2MsMHgwMCB9LAotICAxNiwgMHhiYzEwLCAwLCB7MHhjZiwweDAwLDB4YjcsMHhjMCwweDJjLDB4ZTAsMHgwMywweDAwLDB4NDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYzIwLCAwLCB7MHg4MSwweDA0LDB4NmUsMHgxMCwweDg4LDB4ODAsMHgyYywweGMwLDB4MTgsMHg5OCwweDAyLDB4MmQsMHg4MCwweDgxLDB4MDAsMHgzNiB9LAotICAxNiwgMHhiYzMwLCAwLCB7MHg5MSwweDA4LDB4YjAsMHgwMywweDY4LDB4MDAsMHhjOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4MyB9LAotICAxNiwgMHhiYzQwLCAwLCB7MHg4MCwweDM2LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAyLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOCwweDIwLDB4MDMsMHg2MCB9LAotICAxNiwgMHhiYzUwLCAwLCB7MHg0MCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgwNSwweDA2LDB4MDAsMHg4YSwweDgwLDB4MmUsMHg0NSB9LAotICAxNiwgMHhiYzYwLCAwLCB7MHgyOCwweDg4LDB4MDIsMHgyNCwweDAyLDB4ODgsMHgwMiwweDAyLDB4MDIsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4OTgsMHgwMCB9LAotICAxNiwgMHhiYzcwLCAwLCB7MHgyMiwweDAwLDB4MDgsMHg4MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyMiwweGMxLDB4MGEsMHhiMCwweDAyLDB4NmMsMHgwMCB9LAotICAxNiwgMHhiYzgwLCAwLCB7MHhhYiwweDAwLDB4MjIsMHhjMSwweDA4LDB4OTAsMHgxMiwweDYwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiYzkwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyYywweGMwLDB4NDgsMHgwOCwweDEyLDB4MDAsMHg4MCwweDgwLDB4MDIsMHgyNCB9LAotICAxNiwgMHhiY2EwLCAwLCB7MHgwMCwweDA4LDB4MTgsMHg0MiwweGFjLDB4MDIsMHg4YiwweDgwLDB4MjIsMHhlMCwweDA4LDB4YjgsMHgxMiwweDA0LDB4MDIsMHg4MyB9LAotICAxNiwgMHhiY2IwLCAwLCB7MHgwMCwweDIwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgwYywweDAwLDB4YTMsMHgwMSwweDYwLDB4YzAsMHg0OCwweDEwLDB4MDIsMHg0MiB9LAotICAxNiwgMHhiY2MwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY4LDB4MDgsMHhjYSwweDAwLDB4MmUsMHg0MCB9LAotICAxNiwgMHhiY2QwLCAwLCB7MHgwOCwweDgwLDB4MDMsMHgwMCwweDAwLDB4YzgsMHgwNiwweDMyLDB4MDAsMHgwYywweDgwLDB4MDIsMHhhMCwweDAwLDB4ZDgsMHgwMCB9LAotICAxNiwgMHhiY2UwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDAzLDB4NzQsMHgwMCwweGNiLDB4MDAsMHgyMiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwMCB9LAotICAxNiwgMHhiY2YwLCAwLCB7MHhlZiwweDAwLDB4MzcsMHhjMCwweDBjLDB4ODAsMHgwMSwweDQwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZDAwLCAwLCB7MHhhMCwweDE5LDB4ZmMsMHgwMCwweGZjLDB4MDQsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZTEsMHgwMCwweGZjLDB4MDAsMHgzYiB9LAotICAxNiwgMHhiZDEwLCAwLCB7MHgwMCwweDBmLDB4ZDAsMHgwMywweDdjLDB4MDAsMHhlZiwweDAwLDB4MmYsMHhjMCwweDBmLDB4ZjAsMHgxMSwweGY0LDB4MTAsMHhmZCB9LAotICAxNiwgMHhiZDIwLCAwLCB7MHgwMiwweDNkLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhkYywweDAwLDB4ZGYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4NDMsMHhlOSB9LAotICAxNiwgMHhiZDMwLCAwLCB7MHgwNiwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQxLDB4MDIsMHg3MCwweDIwLDB4ZGMsMHgxMCB9LAotICAxNiwgMHhiZDQwLCAwLCB7MHg2NywweDA0LDB4MGQsMHhjMSwweDAyLDB4NzAsMHgyMCwweDljLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMSwweDA2LDB4NzAsMHg0MCB9LAotICAxNiwgMHhiZDUwLCAwLCB7MHg0YywweDEwLDB4MzcsMHgxNCwweDE1LDB4YzEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwLDB4MTMsMHgwNCwweDBkLDB4YzEsMHgwNyB9LAotICAxNiwgMHhiZDYwLCAwLCB7MHg3MCwweDQwLDB4ZGMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZDcwLCAwLCB7MHgwMCwweGM1LDB4NDQsMHgwNSwweDcxLDB4MjEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDUsMHg1YyB9LAotICAxNiwgMHhiZDgwLCAwLCB7MHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDYsMHg3MSwweDAxLDB4NGMsMHg0MCwweDU3LDB4MTAsMHgwZCwweGM0LDB4MDUsMHg3MSB9LAotICAxNiwgMHhiZDkwLCAwLCB7MHgwNSwweDVjLDB4NDAsMHg1MywweDEwLDB4MTUsMHhjNCwweDA3LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjMCB9LAotICAxNiwgMHhiZGEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9LAotICAxNiwgMHhiZGIwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9LAotICAxNiwgMHhiZGMwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSB9LAotICAxNiwgMHhiZGQwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZGUwLCAwLCB7MHgwMCwweDg0LDB4MDAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDQsMHg1OCB9LAotICAxNiwgMHhiZGYwLCAwLCB7MHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHgyMCwweDAxLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCB9LAotICAxNiwgMHhiZTAwLCAwLCB7MHgwMCwweDU4LDB4MDAsMHg1NiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAsMHgwMCwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDEsMHg4MCB9LAotICAxNiwgMHhiZTEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDUsMHg3MiwweDExLDB4NWMsMHg4MCB9LAotICAxNiwgMHhiZTIwLCAwLCB7MHgxNywweDIwLDB4MTUsMHhkOCwweDA1LDB4MzIsMHgxMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTQsMHg4OCwweDAwLDB4NzIsMHgwMSB9LAotICAxNiwgMHhiZTMwLCAwLCB7MHgxYywweDgwLDB4NTcsMHgyMCwweDA1LDB4YzgsMHgwNCwweDcyLDB4MDEsMHg1YywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwMSB9LAotICAxNiwgMHhiZTQwLCAwLCB7MHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjQsMHgxNSwweGMwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZTUwLCAwLCB7MHgwMCwweGMxLDB4NDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHg0MCwweDIwLDB4MDAsMHgxOCB9LAotICAxNiwgMHhiZTYwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDkwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MDAsMHg2MCB9LAotICAxNiwgMHhiZTcwLCAwLCB7MHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MTAsMHgwNiwweDAwLDB4MDEsMHg4MCB9LAotICAxNiwgMHhiZTgwLCAwLCB7MHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9LAotICAxNiwgMHhiZTkwLCAwLCB7MHgwMiwweDIwLDB4MTAsMHg4OCwweDA0LDB4NjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg4OCwweDAwLDB4MjAsMHgwMSB9LAotICAxNiwgMHhiZWEwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHgyMCwweDAwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwMCB9LAotICAxNiwgMHhiZWIwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MzAsMHgxMCwweDgwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZWMwLCAwLCB7MHgwMCwweGM1LDB4NGEsMHgwNSwweDQyLDB4ODEsMHg1MCwweGEwLDB4MDQsMHgyOCwweDE1LDB4MGEsMHgwNSwweDUyLDB4ODEsMHgxMCB9LAotICAxNiwgMHhiZWQwLCAwLCB7MHhhMCwweDQ0LDB4MjgsMHgxMSwweDFhLDB4MDAsMHg0MCwweDgwLDB4MTAsMHhhMCwweDU0LDB4MjgsMHgwNSwweDBhLDB4MDUsMHg0MiB9LAotICAxNiwgMHhiZWUwLCAwLCB7MHg4MSwweDUxLDB4MjAsMHgxNCwweDI4LDB4MTUsMHgwYSwweDAxLDB4NDIsMHg4MSwweDUwLDB4YTAsMHg1NCwweDI4LDB4MTUsMHgwMCB9LAotICAxNiwgMHhiZWYwLCAwLCB7MHgzMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDBjLDB4MDEsMHg1MywweDQwLDB4NTQsMHhjMCB9LAotICAxNiwgMHhiZjAwLCAwLCB7MHgxNSwweDMwLDB4MDUsMHg1YywweDAxLDB4NTcsMHg0MCwweDU0LDB4YzAsMHgxNSwweDMwLDB4MDUsMHg1YywweDAxLDB4NTMsMHgwMCB9LAotICAxNiwgMHhiZjEwLCAwLCB7MHg1NSwweGMwLDB4MTUsMHg3NCwweDA1LDB4NGMsMHgwMSwweDUzLDB4MDAsMHg1NSwweGMwLDB4MTUsMHg3NCwweDA1LDB4NGMsMHgwMSB9LAotICAxNiwgMHhiZjIwLCAwLCB7MHg1MywweDAwLDB4NTQsMHhjMCwweDExLDB4MzAsMHgwMSwweDQwLDB4MjEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZjMwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCB9LAotICAxNiwgMHhiZjQwLCAwLCB7MHgwMCwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgxMSwweDAwLDB4MDAsMHg0MCB9LAotICAxNiwgMHhiZjUwLCAwLCB7MHgwMCwweDEwLDB4YzEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDAsMHgwMCwweDEwLDB4MDAsMHgwMSwweDEwLDB4MDEsMHgwMSB9LAotICAxNiwgMHhiZjYwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDYwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCB9LAotICAxNiwgMHhiZjcwLCAwLCB7MHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCB9LAotICAxNiwgMHhiZjgwLCAwLCB7MHg4MiwweDAwLDB4MjAsMHg4NCwweDAwLDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4NCwweDA4LDB4MjAsMHgwMiB9LAotICAxNiwgMHhiZjkwLCAwLCB7MHgwOCwweDAwLDB4ODIsMHgwMCwweDIxLDB4ODAsMHgwOCwweDAxLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhiZmEwLCAwLCB7MHgwMCwweGM1LDB4NDAsMHgwNSwweDYwLDB4MDEsMHg1OCwweDAwLDB4OTYsMHgwMCwweDE1LDB4OTAsMHgwNSwweDY0LDB4MDIsMHg1OCB9LAotICAxNiwgMHhiZmIwLCAwLCB7MHgwMCwweDU2LDB4MDAsMHg1NSwweDkwLDB4MDUsMHg2MCwweDAxLDB4ZDksMHgwMCwweDE2LDB4NDAsMHgxNSwweDgwLDB4MDUsMHg2MCB9LAotICAxNiwgMHhiZmMwLCAwLCB7MHgwMSwweDU5LDB4MDAsMHg3NiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCB9LAotICAxNiwgMHhiZmQwLCAwLCB7MHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNCwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9LAotICAxNiwgMHhiZmUwLCAwLCB7MHgzNiwweDAwLDB4NGQsMHg4MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjIsMHgwMCB9LAotICAxNiwgMHhiZmYwLCAwLCB7MHg1OCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYwLDB4MDAsMHhkOCwweDgwLDB4MTYsMHgwMCwweDBkLDB4ODAsMHgwMyB9LAotICAxNiwgMHhjMDAwLCAwLCB7MHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgxZCwweDgwLDB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMDEwLCAwLCB7MHgwMCwweGM1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYyB9LAotICAxNiwgMHhjMDIwLCAwLCB7MHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweGMxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDYsMHgzMCB9LAotICAxNiwgMHhjMDMwLCAwLCB7MHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTgsMHhjMCB9LAotICAxNiwgMHhjMDQwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9LAotICAxNiwgMHhjMDUwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDQwLDB4MzAsMHgwMCB9LAotICAxNiwgMHhjMDYwLCAwLCB7MHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCB9LAotICAxNiwgMHhjMDcwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMDgwLCAwLCB7MHgwMCwweDgwLDB4MDIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YyB9LAotICAxNiwgMHhjMDkwLCAwLCB7MHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MjUsMHgzMCwweDgxLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCB9LAotICAxNiwgMHhjMGEwLCAwLCB7MHg4MCwweDRjLDB4MzIsMHg1MywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAsMHg4MCwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMCB9LAotICAxNiwgMHhjMGIwLCAwLCB7MHgyMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDUsMHg2MiwweDgxLDB4NTgsMHgyMCB9LAotICAxNiwgMHhjMGMwLCAwLCB7MHg1NiwweDA4LDB4MTUsMHg4MiwweDA0LDB4NjAsMHg4MSwweDU4LDB4MjAsMHg0NiwweDA4LDB4MTUsMHg4MiwweDAxLDB4NjAsMHhjMSB9LAotICAxNiwgMHhjMGQwLCAwLCB7MHg1OCwweDIwLDB4NDYsMHgwOCwweDE1LDB4ODIsMHgwMSwweDYwLDB4ODEsMHg1OCwweDMwLDB4NTYsMHgwOCwweDE1LDB4ODIsMHgwNSB9LAotICAxNiwgMHhjMGUwLCAwLCB7MHg2MCwweDgxLDB4NTgsMHgyMCwweDU2LDB4MDgsMHgwNSwweDgwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMGYwLCAwLCB7MHgwMCwweGM1LDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCB9LAotICAxNiwgMHhjMTAwLCAwLCB7MHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGMsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCB9LAotICAxNiwgMHhjMTEwLCAwLCB7MHg4MCwweDA4LDB4MjAsMHgwMywweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MCB9LAotICAxNiwgMHhjMTIwLCAwLCB7MHgyMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDQsMHg2NiwweDgxLDB4MTgsMHgyMCB9LAotICAxNiwgMHhjMTMwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjQsMHg4MSwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSB9LAotICAxNiwgMHhjMTQwLCAwLCB7MHgwYywweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEsMHgxOSwweDIwLDB4NDMsMHgwOCwweDExLDB4ODIsMHgwNCB9LAotICAxNiwgMHhjMTUwLCAwLCB7MHg2MCwweDgxLDB4MTksMHgyMCwweDQ2LDB4NDgsMHgwMSwweDgwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMTYwLCAwLCB7MHgwMCwweGM1LDB4NjAsMHgwNSwweDU4LDB4MDEsMHg1NiwweDAwLDB4NTUsMHg4MCwweDE1LDB4NjAsMHgwNCwweDU4LDB4MDEsMHg1NiB9LAotICAxNiwgMHhjMTcwLCAwLCB7MHgwMCwweDQ1LDB4ODAsMHgxMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MDYsMHgwMCwweDQ1LDB4ODAsMHgxNSwweDYwLDB4MDEsMHg1OCB9LAotICAxNiwgMHhjMTgwLCAwLCB7MHgwMSwweDE2LDB4MDAsMHgwMSwweDgwLDB4MTUsMHg2MCwweDA1LDB4NTgsMHgwMSwweDU2LDB4MDAsMHg1NSwweDgwLDB4MDUsMHg0MCB9LAotICAxNiwgMHhjMTkwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA2LDB4MDEsMHg0OSwweDgwLDB4MTAsMHg2MCB9LAotICAxNiwgMHhjMWEwLCAwLCB7MHgxNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NzksMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDEsMHgwNiwweDAxLDB4NDEsMHg4MCB9LAotICAxNiwgMHhjMWIwLCAwLCB7MHg1MCwweDYwLDB4MDQsMHgxOCwweDA1LDB4MDYsMHgwMSwweDQxLDB4ODAsMHgxMCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDYsMHgwMSB9LAotICAxNiwgMHhjMWMwLCAwLCB7MHg0MSwweDgwLDB4NTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMWQwLCAwLCB7MHgwMCwweDgwLDB4MDIsMHgwMSwweDA0LDB4ODAsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMCwweDA0LDB4MDQsMHg0MCB9LAotICAxNiwgMHhjMWUwLCAwLCB7MHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCB9LAotICAxNiwgMHhjMWYwLCAwLCB7MHg4MCwweDQxLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDExLDB4MDAsMHg4MCwweDQxLDB4MjAsMHgxMCwweDQ4LDB4MDQsMHgwMCB9LAotICAxNiwgMHhjMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCB9LAotICAxNiwgMHhjMjEwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAyLDB4MTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4MTEsMHg4MCB9LAotICAxNiwgMHhjMjIwLCAwLCB7MHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMyB9LAotICAxNiwgMHhjMjMwLCAwLCB7MHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQwLDB4MzEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMjQwLCAwLCB7MHgwMCwweGM1LDB4NDYsMHgwNSwweDcwLDB4ODEsMHg1YywweDYwLDB4MDcsMHgxOCwweDE1LDB4YzYsMHgwNCwweDcxLDB4ODEsMHgxYyB9LAotICAxNiwgMHhjMjUwLCAwLCB7MHg2MCwweDE3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHgzMSwweDgxLDB4ZGMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSB9LAotICAxNiwgMHhjMjYwLCAwLCB7MHg4MCwweDFjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjZSwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjMCB9LAotICAxNiwgMHhjMjcwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MSB9LAotICAxNiwgMHhjMjgwLCAwLCB7MHg3NywweDE4LDB4MGQsMHhjNiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjMiwweDAzLDB4MzEsMHg4MCB9LAotICAxNiwgMHhjMjkwLCAwLCB7MHg1YywweDYwLDB4MjcsMHgxOCwweDBkLDB4YzYsMHgwMywweDcxLDB4ODAsMHg5YywweDYwLDB4MTcsMHgxOCwweDBkLDB4Y2UsMHgwMyB9LAotICAxNiwgMHhjMmEwLCAwLCB7MHg3MSwweDgwLDB4ZGMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGMwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMmIwLCAwLCB7MHgwMCwweDQ1LDB4NDYsMHgwNSwweDc1LDB4ODEsMHg1YywweDYwLDB4NzcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDc1LDB4ODEsMHg1YyB9LAotICAxNiwgMHhjMmMwLCAwLCB7MHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHgzMSwweDgxLDB4MGMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSB9LAotICAxNiwgMHhjMmQwLCAwLCB7MHg4MSwweDVjLDB4NjAsMHg0MywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjMCB9LAotICAxNiwgMHhjMmUwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9LAotICAxNiwgMHhjMmYwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9LAotICAxNiwgMHhjMzAwLCAwLCB7MHg1YywweDIwLDB4MTIsMHgwOCwweDA0LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDAwLDB4MTcsMHgwOCwweDA0LDB4ODIsMHgwMSB9LAotICAxNiwgMHhjMzEwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMzIwLCAwLCB7MHgwMCwweDAwLDB4MDYsMHgwMSwweDYzLDB4ODAsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODAsMHg1OCB9LAotICAxNiwgMHhjMzMwLCAwLCB7MHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgxLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSB9LAotICAxNiwgMHhjMzQwLCAwLCB7MHg4MCwweDU4LDB4NjAsMHg1NiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MCwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4MCB9LAotICAxNiwgMHhjMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCB9LAotICAxNiwgMHhjMzYwLCAwLCB7MHgxNywweDAwLDB4MTUsMHhjMCwweDg1LDB4NzQsMHgwMSwweDFjLDB4MDAsMHg0NywweDAwLDB4MTEsMHhjMCwweDA1LDB4NzAsMHgwMSB9LAotICAxNiwgMHhjMzcwLCAwLCB7MHg1YywweDAwLDB4NTMsMHgwMCwweDEwLDB4YzAsMHgwNSwweDcwLDB4MDEsMHg1YywweDAwLDB4NTcsMHgwMCwweDE0LDB4YzksMHgwNCB9LAotICAxNiwgMHhjMzgwLCAwLCB7MHg3MCwweDAxLDB4MWMsMHgwMCwweDU3LDB4MDAsMHgxNSwweGMwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjMzkwLCAwLCB7MHgwMCwweDQ1LDB4NDIsMHgwMCwweDYwLDB4YzAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCB9LAotICAxNiwgMHhjM2EwLCAwLCB7MHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHgyMCwweDgwLDB4MTgsMHgzMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MTAsMHg2MCB9LAotICAxNiwgMHhjM2IwLCAwLCB7MHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDAsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MCB9LAotICAxNiwgMHhjM2MwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NCwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9LAotICAxNiwgMHhjM2QwLCAwLCB7MHgwMiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9LAotICAxNiwgMHhjM2UwLCAwLCB7MHgwOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCB9LAotICAxNiwgMHhjM2YwLCAwLCB7MHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNDAwLCAwLCB7MHgwMCwweDQ1LDB4NDIsMHgwNSwweDQwLDB4YzUsMHg1MCwweDIwLDB4MTQsMHgwOCwweDE1LDB4MDAsMHgwNCwweDQwLDB4ODEsMHg1MCB9LAotICAxNiwgMHhjNDEwLCAwLCB7MHgyMCwweDU0LDB4MDgsMHgxMSwweDAyLDB4MDUsMHgwMCwweDgwLDB4MTAsMHgyMCwweDQ1LDB4MGMsMHgxMSwweDQyLDB4MDQsMHg0MCB9LAotICAxNiwgMHhjNDIwLCAwLCB7MHg4MSwweDUwLDB4MjAsMHgxNCwweDBjLDB4MTUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg1NCwweDA4LDB4MTUsMHgwMCB9LAotICAxNiwgMHhjNDMwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAzLDB4MDEsMHg1MCwweGMwLDB4NDQsMHgzMCB9LAotICAxNiwgMHhjNDQwLCAwLCB7MHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCwweDRjLDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDIxLDB4NTAsMHhjMCB9LAotICAxNiwgMHhjNDUwLCAwLCB7MHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSwweDUwLDB4YzAsMHg1NCwweDMwLDB4MTUsMHgwYywweDA1LDB4NDMsMHgwMSB9LAotICAxNiwgMHhjNDYwLCAwLCB7MHg1MCwweGMwLDB4NTQsMHgyMCwweDE1LDB4MGMsMHgwNSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNDcwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgwNCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgwNCB9LAotICAxNiwgMHhjNDgwLCAwLCB7MHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHgwMiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiB9LAotICAxNiwgMHhjNDkwLCAwLCB7MHgwMCwweDEwLDB4ODAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MDEsMHgwMCB9LAotICAxNiwgMHhjNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODQsMHgyMCB9LAotICAxNiwgMHhjNGIwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDg0LDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCB9LAotICAxNiwgMHhjNGMwLCAwLCB7MHg4MCwweGEwLDB4MjAsMHgyOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDIwLDB4MjAsMHgyOCwweDA4LDB4MDIsMHgwMiB9LAotICAxNiwgMHhjNGQwLCAwLCB7MHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNGUwLCAwLCB7MHgwMCwweDQ1LDB4NDAsMHgwNSwweDYwLDB4NDEsMHg1OCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwLDB4MDEsMHg1OCB9LAotICAxNiwgMHhjNGYwLCAwLCB7MHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHgyMCwweDAxLDB4ZDgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCB9LAotICAxNiwgMHhjNTAwLCAwLCB7MHgwMSwweDU4LDB4MDAsMHg3NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCB9LAotICAxNiwgMHhjNTEwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCB9LAotICAxNiwgMHhjNTIwLCAwLCB7MHgyNiwweDAwLDB4MGQsMHg4MCwweDAyLDB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDA3LDB4NjAsMHgwMSB9LAotICAxNiwgMHhjNTMwLCAwLCB7MHg1YywweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4NTcsMHgwMCwweDBkLDB4ODAsMHgwMiB9LAotICAxNiwgMHhjNTQwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwNCwweDMwLDB4MjEsMHgwYywweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgwYyB9LAotICAxNiwgMHhjNTYwLCAwLCB7MHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MTgsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCB9LAotICAxNiwgMHhjNTcwLCAwLCB7MHgwMSwweDBjLDB4MDAsMHg0NiwweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDBjLDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCB9LAotICAxNiwgMHhjNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9LAotICAxNiwgMHhjNTkwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzUsMHgwOCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjNiwweDAwLDB4MTQsMHgwMCB9LAotICAxNiwgMHhjNWEwLCAwLCB7MHgwOCwweDAwLDB4MDMsMHg0MCwweDAwLDB4YzAsMHgwMCwweDMwLDB4MDAsMHgwZCwweDQwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9LAotICAxNiwgMHhjNWIwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNWMwLCAwLCB7MHgwMCwweDAwLDB4MDUsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4YzAsMHg0YyB9LAotICAxNiwgMHhjNWQwLCAwLCB7MHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDUsMHgzMSwweDQxLDB4NGMsMHg1MCwweDEzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSB9LAotICAxNiwgMHhjNWUwLCAwLCB7MHg0MCwweDRjLDB4NzAsMHg1MywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEsMHg0MCwweDRjLDB4NDAsMHgxMywweDE0LDB4MDQsMHhjMCB9LAotICAxNiwgMHhjNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDUsMHg2OCwweGMxLDB4NWEsMHgzMCB9LAotICAxNiwgMHhjNjAwLCAwLCB7MHg1NiwweDhjLDB4MTUsMHhhMywweDA1LDB4NjksMHhjMSwweDVhLDB4MzAsMHg0NiwweDhjLDB4MTEsMHhhNywweDAxLDB4NjgsMHhjMCB9LAotICAxNiwgMHhjNjEwLCAwLCB7MHgxYSwweDMwLDB4NTYsMHg4YywweDExLDB4YTMsMHgwNCwweDY4LDB4YzEsMHgxYSwweDMwLDB4MTYsMHg4YywweDE1LDB4YTMsMHgwNCB9LAotICAxNiwgMHhjNjIwLCAwLCB7MHg2OCwweGMxLDB4NWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOCB9LAotICAxNiwgMHhjNjQwLCAwLCB7MHgwMSwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDgsMHg4MCwweDAyLDB4NjAsMHgwMCwweDgwLDB4MDAsMHgyMCB9LAotICAxNiwgMHhjNjUwLCAwLCB7MHgwMCwweDA5LDB4NDAsMHgwMiwweDIwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCB9LAotICAxNiwgMHhjNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCB9LAotICAxNiwgMHhjNjcwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjIsMHgwOSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4OCwweDYwLDB4NjIsMHgxMCB9LAotICAxNiwgMHhjNjgwLCAwLCB7MHgxOCwweDA0LDB4NDYsMHgwMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDgwLDB4MDYsMHgwMSwweDExLDB4ODgsMHg0NCB9LAotICAxNiwgMHhjNjkwLCAwLCB7MHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0NSwweDUwLDB4MTEsMHg1NCwweDA0LDB4NTUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHg1NCB9LAotICAxNiwgMHhjNmIwLCAwLCB7MHgwNCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDAsMHg1MCwweDEwLDB4NTQsMHgwNCwweDQ1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCB9LAotICAxNiwgMHhjNmMwLCAwLCB7MHgxMSwweDE0LDB4MDAsMHgxNSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDU0LDB4MDQsMHg1NSwweDAwLDB4MTEsMHg0MCB9LAotICAxNiwgMHhjNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiB9LAotICAxNiwgMHhjNmUwLCAwLCB7MHgxNCwweDIwLDB4ODUsMHgwOCwweDIxLDB4NDIsMHgwMCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwOCwweDIwLDB4NDIsMHgwOCB9LAotICAxNiwgMHhjNmYwLCAwLCB7MHg1MCwweDgyLDB4MTUsMHgyMCwweDA1LDB4NDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDgxLDB4NDAsMHgyMSB9LAotICAxNiwgMHhjNzAwLCAwLCB7MHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4NSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNzEwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODQsMHg0MCB9LAotICAxNiwgMHhjNzIwLCAwLCB7MHhhMSwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDAwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiB9LAotICAxNiwgMHhjNzMwLCAwLCB7MHg4MCwweDQwLDB4YjAsMHgxMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgxMCwweDI4LDB4MDQsMHgwMCB9LAotICAxNiwgMHhjNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCB9LAotICAxNiwgMHhjNzUwLCAwLCB7MHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MGQsMHg0YywweDAzLDB4NTMsMHgwMCB9LAotICAxNiwgMHhjNzYwLCAwLCB7MHhkNCwweGMwLDB4MjEsMHgzMCwweDA4LDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDA4LDB4NGMsMHgwMyB9LAotICAxNiwgMHhjNzcwLCAwLCB7MHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjNzgwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHgwNCwweDcwLDB4MDEsMHg1YywweDgwLDB4MDcsMHgyMCwweDI1LDB4YzksMHgwNCwweDcyLDB4MDEsMHg1YyB9LAotICAxNiwgMHhjNzkwLCAwLCB7MHg4MCwweDQ3LDB4MjAsMHgxNSwweGM4LDB4MDAsMHg3MiwweDA1LDB4ZGMsMHg4MCwweDU3LDB4MjAsMHgxNSwweGM4LDB4MDUsMHg3MiB9LAotICAxNiwgMHhjN2EwLCAwLCB7MHgwMSwweDFjLDB4OTAsMHg2NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjMCB9LAotICAxNiwgMHhjN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MTgsMHg0OCwweGMyLDB4MTIsMHgzMSB9LAotICAxNiwgMHhjN2MwLCAwLCB7MHg4NCwweDhjLDB4NjEsMHgwMywweDE4LDB4NDAsMHhjOCwweDEyLDB4MzEsMHg4NCwweDhjLDB4NjEsMHgwMywweDE4LDB4NDgsMHhjNCB9LAotICAxNiwgMHhjN2QwLCAwLCB7MHgxMCwweDMxLDB4ODQsMHgwYywweDQxLDB4MjMsMHgxOCwweDQ4LDB4YzYsMHgxMCwweDMwLDB4MDQsMHgwYywweDYxLDB4MjMsMHgxOCB9LAotICAxNiwgMHhjN2UwLCAwLCB7MHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4OGMsMHgyMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjN2YwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMyB9LAotICAxNiwgMHhjODAwLCAwLCB7MHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiB9LAotICAxNiwgMHhjODEwLCAwLCB7MHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4YmQsMHgwMCB9LAotICAxNiwgMHhjODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjODYwLCAwLCB7MHgwMCwweDAwLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDA5LDB4MzYsMHhjMiB9LAotICAxNiwgMHhjODcwLCAwLCB7MHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiB9LAotICAxNiwgMHhjODgwLCAwLCB7MHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4MmMsMHgwMCB9LAotICAxNiwgMHhjODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4M2MsMHg0YywweGNmLDB4MTMsMHgzMyB9LAotICAxNiwgMHhjOGEwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNjLDB4NGQsMHg0ZSwweDkzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgyYiwweDNjLDB4NGMsMHhjZiB9LAotICAxNiwgMHhjOGIwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjYywweGU5LDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMiwweGI1LDB4YzQsMHhjYywweGYxLDB4MzMsMHgzYyB9LAotICAxNiwgMHhjOGMwLCAwLCB7MHg0YywweGNmLDB4MTMsMHgzMywweGM0LDB4Y2QsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOGQwLCAwLCB7MHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4YzcsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4MjMsMHg3ZSwweDRlLDB4NDcsMHg5MyB9LAotICAxNiwgMHhjOGUwLCAwLCB7MHhiNywweGU0LDB4ZWQsMHhmOSwweDNmLDB4N2UsMHg0ZSwweGRlLDB4MTIsMHgzNywweGU0LDB4OGQsMHhmOSwweDNiLDB4N2UsMHg0ZSB9LAotICAxNiwgMHhjOGYwLCAwLCB7MHhkZiwweDkzLDB4ZjcsMHg4NCwweDhkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjEsMHhlNCwweGVkLDB4YjksMHgwMCB9LAotICAxNiwgMHhjOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMSB9LAotICAxNiwgMHhjOTEwLCAwLCB7MHg2NywweDA0LDB4MTksMHhjMywweDAyLDB4NzAsMHg0MCwweDljLDB4MTAsMHgyNywweDA0LDB4MDksMHhjMSwweDAyLDB4NzAsMHg0MCB9LAotICAxNiwgMHhjOTIwLCAwLCB7MHgxYywweDEwLDB4MjcsMHgxNCwweDAxLDB4YzEsMHgwMiwweDcwLDB4NDAsMHg5YywweDUwLDB4MDcsMHgwNCwweDA5LDB4YzEsMHgwMiB9LAotICAxNiwgMHhjOTMwLCAwLCB7MHg3MCwweDQwLDB4OWMsMHgxMCwweDY3LDB4MTQsMHgxMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOTQwLCAwLCB7MHgwMCwweDAwLDB4MDQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzQsMHgwNSwweDcxLDB4MDEsMHg1YyB9LAotICAxNiwgMHhjOTUwLCAwLCB7MHg0MCwweDU3LDB4MTAsMHgxNSwweGM2LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxMCwweGM0LDB4MDUsMHg3MSB9LAotICAxNiwgMHhjOTYwLCAwLCB7MHgwMSwweDVjLDB4NjQsMHgwMywweDEwLDB4NTUsMHhjNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjMCB9LAotICAxNiwgMHhjOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCB9LAotICAxNiwgMHhjOTgwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjEsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAxLDB4MjAsMHg4MCB9LAotICAxNiwgMHhjOTkwLCAwLCB7MHg0OCwweDIwLDB4MTIsMHgwOCwweDA1LDB4YzIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDI0LDB4MTcsMHgwOCwweDA0LDB4ODIsMHgwMSB9LAotICAxNiwgMHhjOWEwLCAwLCB7MHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODQsMHgwMCwweDYwLDB4MDAsMHgxOCB9LAotICAxNiwgMHhjOWMwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAxLDB4MTgsMHgwMCwweDA2LDB4MTAsMHg5MSwweDgwLDB4MDAsMHg2MCB9LAotICAxNiwgMHhjOWQwLCAwLCB7MHgwMCwweDE4LDB4NDYsMHg0NiwweDE4LDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDEwLDB4MDEsMHg4MCB9LAotICAxNiwgMHhjOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MywweDAxLDB4MWMsMHg4MCB9LAotICAxNiwgMHhjOWYwLCAwLCB7MHgwNywweDIwLDB4MDEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg0NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSB9LAotICAxNiwgMHhjYTAwLCAwLCB7MHgxYywweDgwLDB4NDcsMHgyMiwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4MDcsMHgyMCwweDExLDB4YzgsMHgwNCB9LAotICAxNiwgMHhjYTEwLCAwLCB7MHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjgsMHgxMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCB9LAotICAxNiwgMHhjYTMwLCAwLCB7MHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCB9LAotICAxNiwgMHhjYTQwLCAwLCB7MHgwMCwweDE4LDB4MDAsMHg0NiwweDA0LDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCB9LAotICAxNiwgMHhjYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBkLDB4MDQsMHgyMiwweDAxLDB4MDgsMHg4MCB9LAotICAxNiwgMHhjYTYwLCAwLCB7MHgwMiwweDIwLDB4MDAsMHg5MCwweDA0LDB4MjcsMHg4MSwweDA4LDB4ODAsMHg0MiwweDIwLDB4MTAsMHg5OCwweDA0LDB4MjQsMHgwMSB9LAotICAxNiwgMHhjYTcwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHg0OCwweDEwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOSwweDQwLDB4NDIsMHg2MCwweDEwLDB4ODgsMHgwNCB9LAotICAxNiwgMHhjYTgwLCAwLCB7MHgyMiwweDAxLDB4MDgsMHhjMCwweDAyLDB4NDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYTkwLCAwLCB7MHgwMCwweDAwLDB4MmEsMHgwNCwweDRiLDB4ODEsMHgxMiwweGEwLDB4MDQsMHhhOCwweDAxLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiB9LAotICAxNiwgMHhjYWEwLCAwLCB7MHhhMCwweDQ0LDB4YTgsMHgxMSwweDJhLDB4MDQsMHg0OCwweDgwLDB4MTIsMHhhMCwweDQ0LDB4ODgsMHgwMSwweDJhLDB4MDQsMHg0YSB9LAotICAxNiwgMHhjYWIwLCAwLCB7MHg4MSwweDEyLDB4MjAsMHgwNCwweGFjLDB4MTEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyLDB4YjAsMHg0NCwweDljLDB4MTEsMHgwMCB9LAotICAxNiwgMHhjYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDBjLDB4MDAsMHg1MywweDAwLDB4MTQsMHhjMCB9LAotICAxNiwgMHhjYWQwLCAwLCB7MHgwNSwweDMwLDB4MDEsMHg0NCwweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAsMHgwNSwweDMwLDB4MDQsMHgwYywweDAwLDB4NTMsMHgwMCB9LAotICAxNiwgMHhjYWUwLCAwLCB7MHgxNCwweGMwLDB4MDUsMHhiMCwweDAxLDB4NGMsMHgwMCwweDUzLDB4MDAsMHgxNiwweGMwLDB4MDEsMHgzMCwweDAxLDB4NGMsMHgwMCB9LAotICAxNiwgMHhjYWYwLCAwLCB7MHg1MywweDAwLDB4MTQsMHhjMCwweDAxLDB4MzgsMHgwMCwweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYjAwLCAwLCB7MHgwOCwweGMwLDB4MDAsMHgxMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MTAsMHgwMCwweDQ0LDB4ODAsMHgxMCB9LAotICAxNiwgMHhjYjEwLCAwLCB7MHgwMCwweDA0LDB4MDAsMHgwMSwweDEwLDB4MDAsMHg0NiwweDAwLDB4MDAsMHgwMCwweDA0LDB4NjAsMHgwMSwweDAwLDB4MDAsMHg0MCB9LAotICAxNiwgMHhjYjIwLCAwLCB7MHgwMCwweDExLDB4NjAsMHgwMiwweDQwLDB4MDEsMHgwMCwweDEwLDB4NDAsMHgwMCwweDEwLDB4NjAsMHgwMSwweDUwLDB4MTAsMHg0MCB9LAotICAxNiwgMHhjYjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9LAotICAxNiwgMHhjYjQwLCAwLCB7MHgyMCwweDAwLDB4MDgsMHgwOCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYjUwLCAwLCB7MHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwMiB9LAotICAxNiwgMHhjYjYwLCAwLCB7MHgwMCwweDAwLDB4ODAsMHgwMCwweDIxLDB4MDAsMHgwOCwweDQwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYjcwLCAwLCB7MHgwOCwweGMwLDB4NDAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHgxOCB9LAotICAxNiwgMHhjYjgwLCAwLCB7MHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4YzgsMHgwMCwweDQ2LDB4MDAsMHgxOSwweDgwLDB4MDAsMHg2MCB9LAotICAxNiwgMHhjYjkwLCAwLCB7MHgwMCwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHgwNiwweDAwLDB4MTEsMHg4MCB9LAotICAxNiwgMHhjYmEwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHgwMSwweDAwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCB9LAotICAxNiwgMHhjYmIwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MSwweDAyLDB4NjAsMHgwMSwweDk4LDB4MDAsMHgyNiwweDAwLDB4MDksMHg4MCwweDA2LDB4NjIsMHgwMCB9LAotICAxNiwgMHhjYmMwLCAwLCB7MHg0OCwweDAwLDB4MjYsMHgyMCwweDAxLDB4YzAsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MDcsMHgwMCwweDA5LDB4ODAsMHgwMiB9LAotICAxNiwgMHhjYmQwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgxMSwweDgyLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYmUwLCAwLCB7MHg0MCwweDQ1LDB4NDIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODUsMHg4YyB9LAotICAxNiwgMHhjYmYwLCAwLCB7MHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4NDgsMHgxMSwweDgyLDB4MDQsMHgzMCB9LAotICAxNiwgMHhjYzAwLCAwLCB7MHg4MSwweDhkLDB4MjAsMHg0NiwweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDBjLDB4MTAsMHhjMCB9LAotICAxNiwgMHhjYzEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCB9LAotICAxNiwgMHhjYzIwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MTAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCB9LAotICAxNiwgMHhjYzMwLCAwLCB7MHgwOCwweDAwLDB4MDMsMHgwMCwweDAwLDB4ODAsMHgwMCwweDMwLDB4MDAsMHgwYywweDgwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCB9LAotICAxNiwgMHhjYzQwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCwweGMwLDB4MTAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjYzUwLCAwLCB7MHg0MCwweDAwLDB4MDIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIxLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYyB9LAotICAxNiwgMHhjYzYwLCAwLCB7MHgyMCwweDAzLDB4MDgsMHgwMCwweGMyLDB4MDQsMHgzMCwweGMxLDB4MGMsMHgyMCwweDAzLDB4MGMsMHgxMCwweGMyLDB4MDAsMHgzMCB9LAotICAxNiwgMHhjYzcwLCAwLCB7MHg4MCwweDBjLDB4YjAsMHg0MywweDA4LDB4MDAsMHhjMiwweDAwLDB4MzAsMHg4MCwweDBjLDB4MjAsMHgwMywweDI4LDB4MTAsMHhjMCB9LAotICAxNiwgMHhjYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9LAotICAxNiwgMHhjYzkwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHg4MSB9LAotICAxNiwgMHhjY2EwLCAwLCB7MHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDExLDB4ODIsMHgwNCB9LAotICAxNiwgMHhjY2IwLCAwLCB7MHg2MCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MGMsMHgxMSwweGMwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjY2MwLCAwLCB7MHg0MCwweDAxLDB4NDIsMHgwMCwweDIwLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwOCB9LAotICAxNiwgMHhjY2QwLCAwLCB7MHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MGMsMHgyMCwweDAyLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgyMCB9LAotICAxNiwgMHhjY2UwLCAwLCB7MHg4MCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDEsMHg4MCB9LAotICAxNiwgMHhjY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwMSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9LAotICAxNiwgMHhjZDAwLCAwLCB7MHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDAwLDB4NjAsMHhjMSB9LAotICAxNiwgMHhjZDEwLCAwLCB7MHgwYywweDIwLDB4NDYsMHgwYywweDEwLDB4YzIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDMwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCB9LAotICAxNiwgMHhjZDIwLCAwLCB7MHg2MCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMCwweDgwLDB4MDAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZDMwLCAwLCB7MHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwLDB4NDUsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDAsMHgxNCB9LAotICAxNiwgMHhjZDQwLCAwLCB7MHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDAsMHg1MCwweDAwLDB4MDQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQwLDB4MDQsMHg1MCB9LAotICAxNiwgMHhjZDUwLCAwLCB7MHgwMCwweDE0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAsMHg0NSwweDAwLDB4MDAsMHg0MiB9LAotICAxNiwgMHhjZDYwLCAwLCB7MHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCB9LAotICAxNiwgMHhjZDcwLCAwLCB7MHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCB9LAotICAxNiwgMHhjZDgwLCAwLCB7MHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDYsMHgwMCB9LAotICAxNiwgMHhjZDkwLCAwLCB7MHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZGEwLCAwLCB7MHg0OCwweDAwLDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIxLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCB9LAotICAxNiwgMHhjZGIwLCAwLCB7MHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCwweDgwLDB4NDAsMHgyMSwweDEwLDB4MDgsMHgwNCwweDAyLDB4MDEsMHgwMCB9LAotICAxNiwgMHhjZGMwLCAwLCB7MHg4MCwweDQwLDB4MzAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDExLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MTQsMHgwMCB9LAotICAxNiwgMHhjZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCB9LAotICAxNiwgMHhjZGUwLCAwLCB7MHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCB9LAotICAxNiwgMHhjZGYwLCAwLCB7MHhkNCwweDYwLDB4MzUsMHgxMCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDQwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMyB9LAotICAxNiwgMHhjZTAwLCAwLCB7MHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZTEwLCAwLCB7MHgwMCwweDAxLDB4NDYsMHgwNCwweDcxLDB4ODEsMHgxYywweDYwLDB4MDcsMHgxOCwweDExLDB4Y2UsMHgwNCwweDcxLDB4ODEsMHgxYyB9LAotICAxNiwgMHhjZTIwLCAwLCB7MHg2MCwweDQ3LDB4MTgsMHgwMSwweGM2LDB4MDQsMHg3MSwweDgxLDB4OWMsMHg2MCwweDQ3LDB4MTgsMHgxOSwweGM2LDB4MDQsMHg3MSB9LAotICAxNiwgMHhjZTMwLCAwLCB7MHg4MCwweDFjLDB4NjAsMHg2NywweDE4LDB4MTEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHg0NywweDE4LDB4MTEsMHhjMCB9LAotICAxNiwgMHhjZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDQ2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCB9LAotICAxNiwgMHhjZTUwLCAwLCB7MHgyNywweDE4LDB4MDksMHhjNiwweDA2LDB4NzEsMHg4MCwweDFjLDB4NjAsMHgyNywweDE4LDB4MDksMHhjNiwweDAxLDB4MzEsMHg4MCB9LAotICAxNiwgMHhjZTYwLCAwLCB7MHgxYywweDYwLDB4MDcsMHgxOCwweDA5LDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MDcsMHgxOCwweDA5LDB4YzYsMHgxMiB9LAotICAxNiwgMHhjZTcwLCAwLCB7MHg3MSwweDgwLDB4OWMsMHg2MCwweDMzLDB4MTgsMHgwMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZTgwLCAwLCB7MHg1MCwweDQ1LDB4NDYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODAsMHg1YyB9LAotICAxNiwgMHhjZTkwLCAwLCB7MHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDEsMHgzMSwweDgxLDB4MGMsMHg2MCwweDE3LDB4MTgsMHgxMCwweGM2LDB4MDUsMHg3MSB9LAotICAxNiwgMHhjZWEwLCAwLCB7MHg4MSwweDVjLDB4NjAsMHgwMywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1MywweDE4LDB4MTgsMHg4MiB9LAotICAxNiwgMHhjZWIwLCAwLCB7MHgxMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0MCwweDEyLDB4MDEsMHgyNCwweDgwLDB4NDgsMHgyMCB9LAotICAxNiwgMHhjZWMwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjQsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9LAotICAxNiwgMHhjZWQwLCAwLCB7MHg1OCwweDIwLDB4NTIsMHgwYywweDA1LDB4ODIsMHgwMSwweDIwLDB4ODAsMHg0OSwweDIwLDB4MDIsMHgwOCwweDA0LDB4ODIsMHgwMSB9LAotICAxNiwgMHhjZWUwLCAwLCB7MHgyMCwweDgwLDB4NDksMHgyMCwweDEyLDB4NDgsMHgwNCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZWYwLCAwLCB7MHg0MCwweDA0LDB4MDYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwNCwweDYxLDB4ODAsMHgxOCB9LAotICAxNiwgMHhjZjAwLCAwLCB7MHg2MCwweDA2LDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgxLDB4NDgsMHg2MCwweDA2LDB4MTgsMHgxNCwweDg2LDB4MDAsMHg2MSB9LAotICAxNiwgMHhjZjEwLCAwLCB7MHg4MCwweDE4LDB4NjAsMHg0MiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MCwweDE4LDB4NjAsMHgwNiwweDE4LDB4MDAsMHg4MCB9LAotICAxNiwgMHhjZjIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDYwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCB9LAotICAxNiwgMHhjZjMwLCAwLCB7MHg0NywweDgwLDB4MTEsMHhlOCwweDAwLDB4NzgsMHgwMSwweDFlLDB4MDAsMHg0NywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSB9LAotICAxNiwgMHhjZjQwLCAwLCB7MHgxZSwweDAwLDB4NDMsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEsMHgxZSwweDAwLDB4MDMsMHg4MCwweDE1LDB4ZTAsMHgwNCB9LAotICAxNiwgMHhjZjUwLCAwLCB7MHg3OCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGMwLDB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZjYwLCAwLCB7MHg0MCwweDAxLDB4MTIsMHgwMCwweDY0LDB4ODAsMHgxOCwweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDY0LDB4ODAsMHgxOCB9LAotICAxNiwgMHhjZjcwLCAwLCB7MHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTgsMHgzMCwweDAyLDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCB9LAotICAxNiwgMHhjZjgwLCAwLCB7MHg4MCwweDE5LDB4MzAsMHg0MiwweDA4LDB4MDAsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE5LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg4MCB9LAotICAxNiwgMHhjZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCB9LAotICAxNiwgMHhjZmEwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDAwLDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjAsMHg4MSB9LAotICAxNiwgMHhjZmIwLCAwLCB7MHgwOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCB9LAotICAxNiwgMHhjZmMwLCAwLCB7MHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhjZmQwLCAwLCB7MHg0MCwweDQ1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NDQsMHgwOCwweDExLDB4MDIsMHgwMCwweDQwLDB4ODEsMHgxMCB9LAotICAxNiwgMHhjZmUwLCAwLCB7MHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgwLDB4MTAsMHgyMCwweDQ1LDB4MDgsMHgwMSwweDAyLDB4MDQsMHg0MCB9LAotICAxNiwgMHhjZmYwLCAwLCB7MHg4MSwweDEwLDB4MjEsMHgwMCwweDBjLDB4MTEsMHgwMiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg0NCwweDA4LDB4MDEsMHgwMCB9LAotICAxNiwgMHhkMDAwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDAzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCB9LAotICAxNiwgMHhkMDEwLCAwLCB7MHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCB9LAotICAxNiwgMHhkMDIwLCAwLCB7MHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDMsMHgwMCB9LAotICAxNiwgMHhkMDMwLCAwLCB7MHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMDQwLCAwLCB7MHg0MCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDQsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDksMHgwMCwweDQyLDB4MDEsMHgxMCB9LAotICAxNiwgMHhkMDUwLCAwLCB7MHg4MCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHgwMCwweDA0LDB4MjAsMHgwMSwweDA4LDB4MDAsMHg0MiB9LAotICAxNiwgMHhkMDYwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODAsMHgwNCwweDIwLDB4MTEsMHgwMCB9LAotICAxNiwgMHhkMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCB9LAotICAxNiwgMHhkMDgwLCAwLCB7MHgyMCwweDA4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgyMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCB9LAotICAxNiwgMHhkMDkwLCAwLCB7MHg4MCwweGEwLDB4MDAsMHgwYSwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4MCwweDM0LDB4NjIsMHgyOCwweDA4LDB4MDIsMHgwMiB9LAotICAxNiwgMHhkMGEwLCAwLCB7MHgwMCwweDgwLDB4ODAsMHgzMCwweDIwLDB4MGMsMHgwOCwweDAwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMGIwLCAwLCB7MHg0MCwweDAxLDB4NDAsMHgwNCwweDYwLDB4MDEsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDMsMHgxOCB9LAotICAxNiwgMHhkMGMwLCAwLCB7MHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDYsMHg2MCwweDAxLDB4OTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCB9LAotICAxNiwgMHhkMGQwLCAwLCB7MHgwMSwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCB9LAotICAxNiwgMHhkMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDAwLDB4MDIsMHg2MCwweDAwLDB4OTgsMHgwMCB9LAotICAxNiwgMHhkMGYwLCAwLCB7MHgyNiwweDAwLDB4MDksMHg4MCwweDAyLDB4NjQsMHgwMCwweDk4LDB4MDAsMHgyNiwweDAwLDB4MTksMHg5MCwweDAyLDB4NjAsMHgwMCB9LAotICAxNiwgMHhkMTAwLCAwLCB7MHgxZCwweDAwLDB4MjYsMHgwMCwweDAxLDB4YzAsMHgwMiwweDYwLDB4MDAsMHg5OSwweDAwLDB4MDYsMHg0MCwweDE5LDB4ODAsMHgwMiB9LAotICAxNiwgMHhkMTEwLCAwLCB7MHg2MCwweDAwLDB4OTgsMHgwMCwweDY2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMTIwLCAwLCB7MHg0MCwweDQ1LDB4NjAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDEwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgwZSB9LAotICAxNiwgMHhkMTMwLCAwLCB7MHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MWEsMHgwMCwweDQzLDB4ODAsMHgxMSwweGEwLDB4MDQsMHgzOCB9LAotICAxNiwgMHhkMTQwLCAwLCB7MHgwMSwweDBlLDB4MDAsMHgwMiwweDgwLDB4NDAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTgsMHg4MCB9LAotICAxNiwgMHhkMTUwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NTAsMHgwNCwweDAxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHgxMCB9LAotICAxNiwgMHhkMTYwLCAwLCB7MHgwMywweDA0LDB4MDAsMHhjOSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHhjMSwweDAwLDB4MzAsMHg0MCB9LAotICAxNiwgMHhkMTcwLCAwLCB7MHgwOCwweDEwLDB4MDMsMHgwNCwweDAwLDB4ODEsMHgwMCwweDMwLDB4NDAsMHgwYywweDc4LDB4MDIsMHgxNCwweDAwLDB4YzEsMHgwMCB9LAotICAxNiwgMHhkMTgwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHgxMCwweDAzLDB4MDQsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMTkwLCAwLCB7MHg0MCwweDAwLDB4MDUsMHgwMCwweDMxLDB4NDAsMHgwYywweDUwLDB4MDMsMHgxNCwweDAwLDB4YzUsMHgwMCwweDM1LDB4NDAsMHgwYyB9LAotICAxNiwgMHhkMWEwLCAwLCB7MHg1MCwweDAzLDB4MTQsMHgxMCwweGQ1LDB4MDAsMHgzMSwweDQxLDB4MGQsMHg1MCwweDAzLDB4MTQsMHgxMCwweGM1LDB4MDAsMHgzMSB9LAotICAxNiwgMHhkMWIwLCAwLCB7MHg0MCwweDBkLDB4NDgsMHg0MywweDU0LDB4MTAsMHhjNSwweDAwLDB4MzEsMHg0MCwweDBjLDB4NDAsMHg0MywweDEwLDB4MDAsMHhjMiB9LAotICAxNiwgMHhkMWMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQzLDB4MDQsMHg2MCwweGMxLDB4MTgsMHgzMCB9LAotICAxNiwgMHhkMWQwLCAwLCB7MHg0NiwweDBjLDB4MTEsMHg4MywweDA0LDB4NjEsMHhjMSwweDE4LDB4MzAsMHg0NiwweDBjLDB4MDEsMHg4NywweDA0LDB4NjAsMHhjMSB9LAotICAxNiwgMHhkMWUwLCAwLCB7MHgxOCwweDMwLDB4NDYsMHgwOCwweDExLDB4ODMsMHgwNCwweDYwLDB4YzEsMHgxOCwweDIwLDB4MDYsMHgwYywweDAxLDB4ODMsMHgwNCB9LAotICAxNiwgMHhkMWYwLCAwLCB7MHg2MCwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgxMSwweDgwLDB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMjAwLCAwLCB7MHg0MCwweDAxLDB4NDAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCB9LAotICAxNiwgMHhkMjEwLCAwLCB7MHgwMCwweDAyLDB4MDAsMHgwMCwweDgxLDB4MDAsMHgyMCwweDAwLDB4MDgsMHg4MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgyMCB9LAotICAxNiwgMHhkMjIwLCAwLCB7MHgwMCwweDA4LDB4NDAsMHg0MywweDMwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCB9LAotICAxNiwgMHhkMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMSwweDQ4LDB4NDQsMHg2MiwweDExLDB4MTgsMHg4NCB9LAotICAxNiwgMHhkMjQwLCAwLCB7MHg0NiwweDIxLDB4MTEsMHg4OCwweDQ0LDB4NjMsMHgwMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MDEsMHg4OCwweDA0LDB4NjIsMHgxMSB9LAotICAxNiwgMHhkMjUwLCAwLCB7MHgxOCwweDA0LDB4NDYsMHgyMSwweDEwLDB4YzgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDA1LDB4NDMsMHgwMSwweDgxLDB4ODgsMHg0NCB9LAotICAxNiwgMHhkMjYwLCAwLCB7MHg2MiwweDExLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMjcwLCAwLCB7MHg0MCwweDQ1LDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDA0LDB4NDUsMHgwMSwweDExLDB4NDAsMHg0NCwweDUwLDB4MDEsMHgxNCB9LAotICAxNiwgMHhkMjgwLCAwLCB7MHgwNCwweDQ1LDB4MDEsMHgwMSwweDQwLDB4NDUsMHgwMCwweDEwLDB4MTQsMHgwNCwweDQ1LDB4MDMsMHgwMCwweDQwLDB4NDQsMHg1MCB9LAotICAxNiwgMHhkMjkwLCAwLCB7MHgxMSwweDE0LDB4MDQsMHgwMSwweDA1LDB4NDEsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDE0LDB4MDQsMHgwNSwweDAxLDB4MDEsMHg0MCB9LAotICAxNiwgMHhkMmEwLCAwLCB7MHgxMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwMCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MiB9LAotICAxNiwgMHhkMmIwLCAwLCB7MHgwNCwweDIwLDB4ODEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDAwLDB4NDIsMHgwOCB9LAotICAxNiwgMHhkMmMwLCAwLCB7MHgxMCwweDgyLDB4MDUsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDhhLDB4MDUsMHgyMCwweDA1LDB4MDgsMHgyMCB9LAotICAxNiwgMHhkMmQwLCAwLCB7MHg0MiwweDA4LDB4MTAsMHg4MiwweDA0LDB4MjIsMHg4MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMmUwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDIsMHgwMSwweDAyLDB4ODAsMHg0MCB9LAotICAxNiwgMHhkMmYwLCAwLCB7MHhhMCwweDEwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDAwLDB4MjksMHgwNCwweDBhLDB4MDEsMHgwMiB9LAotICAxNiwgMHhkMzAwLCAwLCB7MHg4MCwweDQwLDB4YTQsMHgwMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTgsMHgxMCwweDJiLDB4MTQsMHgwMCB9LAotICAxNiwgMHhkMzEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCB9LAotICAxNiwgMHhkMzIwLCAwLCB7MHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDAsMHgzNSwweDM0LDB4MGQsMHg0ZCwweDAzLDB4NTMsMHg0MCB9LAotICAxNiwgMHhkMzMwLCAwLCB7MHhkNCwweGQwLDB4MjEsMHgzNCwweDRkLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQ5LDB4NjEsMHgzNCwweDA0LDB4MGQsMHgwMyB9LAotICAxNiwgMHhkMzQwLCAwLCB7MHg1MywweDQwLDB4YzAsMHhkOCwweDM1LDB4MzcsMHgwZCwweDQwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkMzUwLCAwLCB7MHg0MCwweDAxLDB4NDgsMHgwNCwweDcyLDB4MDAsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYyB9LAotICAxNiwgMHhkMzYwLCAwLCB7MHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAwLDB4OWMsMHg4MCwweDQ3LDB4MjAsMHgxOSwweGM4LDB4MDAsMHg3MiB9LAotICAxNiwgMHhkMzcwLCAwLCB7MHgwMSwweDFjLDB4ODgsMHg2NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODIsMHg0NywweDIyLDB4MTEsMHhjMCB9LAotICAxNiwgMHhkMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDgsMHg0OCwweGMyLDB4MTIsMHgzMSB9LAotICAxNiwgMHhkMzkwLCAwLCB7MHg4NCwweDhjLDB4NjEsMHgyMywweDEwLDB4NDAsMHhjMCwweDEyLDB4MzEsMHg4NCwweDhjLDB4NjEsMHgwMywweDEwLDB4NDgsMHhjNCB9LAotICAxNiwgMHhkM2EwLCAwLCB7MHgxMCwweDMxLDB4ODQsMHg4YywweDQxLDB4MjMsMHgxOCwweDQ4LDB4YzYsMHgxMCwweDMwLDB4MDQsMHgwYywweDQxLDB4MjMsMHgxOCB9LAotICAxNiwgMHhkM2IwLCAwLCB7MHg0OCwweGM2LDB4MTIsMHgzMCwweDg0LDB4OGMsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkM2MwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMyB9LAotICAxNiwgMHhkM2QwLCAwLCB7MHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiB9LAotICAxNiwgMHhkM2UwLCAwLCB7MHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZGQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgwMCB9LAotICAxNiwgMHhkM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNDMwLCAwLCB7MHgwMCwweDAwLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiB9LAotICAxNiwgMHhkNDQwLCAwLCB7MHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiB9LAotICAxNiwgMHhkNDUwLCAwLCB7MHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NGMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgwMCB9LAotICAxNiwgMHhkNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4NWMsMHg0YywweGQ3LDB4MTMsMHgzMyB9LAotICAxNiwgMHhkNDcwLCAwLCB7MHhjNCwweGNjLDB4ZjEsMHgzMywweDNhLDB4NGEsMHhkNiwweDkzLDB4MzMsMHhjNCwweGNjLDB4ZjEsMHgyYiwweDNhLDB4NGMsMHhjZiB9LAotICAxNiwgMHhkNDgwLCAwLCB7MHgxMywweDMzLDB4YzQsMHhjYywweGU5LDB4MzMsMHgzYywweDRjLDB4Y2YsMHgxMiwweGI1LDB4YTQsMHhhYywweGM5LDB4MzMsMHgzYyB9LAotICAxNiwgMHhkNDkwLCAwLCB7MHg0YywweGNmLDB4MTMsMHgzNSwweGM0LDB4Y2QsMHg2OSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNGEwLCAwLCB7MHgwMCwweDAwLDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MywweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGYsMHg5MyB9LAotICAxNiwgMHhkNGIwLCAwLCB7MHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRlLDB4MTIsMHgzNywweGU0LDB4ZWQsMHhlMSwweDNiLDB4N2UsMHg0ZSB9LAotICAxNiwgMHhkNGMwLCAwLCB7MHhkZiwweDkyLDB4MzEsMHg4NCwweDhkLDB4ZDksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjEsMHhlNCwweGVjLDB4NjEsMHgwMCB9LAotICAxNiwgMHhkNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODQsMHgwNCwweGExLDB4ODMsMHgyYyB9LAotICAxNiwgMHhkNGUwLCAwLCB7MHgwMywweDBhLDB4MTAsMHg4MiwweGMxLDB4MzQsMHgxMCwweDhmLDB4MDAsMHg0MCwweDA5LDB4MTQsMHgwMiwweDAzLDB4MTQsMHg5MSB9LAotICAxNiwgMHhkNGYwLCAwLCB7MHgwMCwweDA4LDB4NDIsMHgwYiwweDE4LDB4ODIsMHhjNCwweDAwLDB4MzEsMHhjYSwweDBjLDB4NTIsMHgwMiwweDEwLDB4ODAsMHg4NSB9LAotICAxNiwgMHhkNTAwLCAwLCB7MHgwMCwweDIxLDB4ODIsMHgyOCwweDQwLDB4MGEsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNTEwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwNCwweDAyLDB4MDEsMHg0MCwweDgwLDB4NzMsMHgyOCwweDEwLDB4NDgsMHgwNywweDA2LDB4MDEsMHgwNCB9LAotICAxNiwgMHhkNTIwLCAwLCB7MHhhNCwweDQxLDB4MjEsMHgxNCwweDA4LDB4NDQsMHgwNiwweDExLDB4NDAsMHg4MCwweDcwLDB4MjAsMHgxNCwweDBhLDB4MDQsMHgwMiB9LAotICAxNiwgMHhkNTMwLCAwLCB7MHgwMCwweGM4LDB4ODQsMHg0MSwweDIxLDB4MWMsMHgwOCwweDA2LDB4MTIsMHgwMSwweGMwLDB4ODAsMHg2MCwweDIwLDB4MTQsMHgwMCB9LAotICAxNiwgMHhkNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4ODQsMHgwNCwweDIxLDB4ODIsMHgwOCB9LAotICAxNiwgMHhkNTUwLCAwLCB7MHg1MywweDAyLDB4MTAsMHg4MCwweGM1LDB4MDAsMHg4MSwweDRhLDB4MDQsMHg0MiwweDAyLDB4MTQsMHgwMCwweDA0LDB4MjAsMHgyMSB9LAotICAxNiwgMHhkNTYwLCAwLCB7MHg4MCwweGE4LDB4NzIsMHgyMiwweDFjLDB4ODgsMHhjNCwweDA2LDB4YTEsMHg0MiwweDhjLDB4NTIsMHgyMiwweDFjLDB4ODgsMHg4NSB9LAotICAxNiwgMHhkNTcwLCAwLCB7MHgyNiwweDIxLDB4YzAsMHg4OCwweDUwLDB4MjIsMHgxOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNTgwLCAwLCB7MHgwMCwweDAwLDB4MDIsMHg0NCwweDAwLDB4MDEsMHgwMSwweDAwLDB4NjIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMSB9LAotICAxNiwgMHhkNTkwLCAwLCB7MHgyMCwweDQwLDB4MDAsMHgxYywweDAwLDB4NDQsMHgwNCwweDAxLDB4MDIsMHgyMCwweDYyLDB4MDAsMHgxYywweDgwLDB4MDQsMHgwNCB9LAotICAxNiwgMHhkNWEwLCAwLCB7MHg4MCwweDg5LDB4MjAsMHg1MCwweDA4LDB4MTQsMHg4MCwweDA0LDB4MjQsMHgwMSwweGMxLDB4MDAsMHg1MCwweDAwLDB4MTgsMHgwMCB9LAotICAxNiwgMHhkNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4ODAsMHgzOCwweDIwLDB4MDQsMHgwYyB9LAotICAxNiwgMHhkNWMwLCAwLCB7MHgzMSwweDBhLDB4MDAsMHgwMCwweDAyLDB4MTgsMHgyMCwweDhjLDB4YTgsMHgxMCwweDI4LDB4MDgsMHg4OCwweGMxLDB4MTQsMHgxMCB9LAotICAxNiwgMHhkNWQwLCAwLCB7MHhjNiwweDAwLDB4MjIsMHgwMywweDA4LDB4MDIsMHgwMSwweDA4LDB4YjAsMHgwMCwweDBjLDB4MjEsMHgwMiwweDAwLDB4ODIsMHg4MCB9LAotICAxNiwgMHhkNWUwLCAwLCB7MHgwOCwweDAwLDB4NDksMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4ODAsMHgwOCwweDIwLDB4MDMsMHgwMCwweDA0LDB4MDIsMHg0MywweDIwLDB4MDAsMHg0MCB9LAotICAxNiwgMHhkNjAwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwNCwweDQyLDB4MDEsMHgxMCwweDgwLDB4ODQsMHgyMCwweDExLDB4MDgsMHgwNCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNjEwLCAwLCB7MHgwMCwweDQ0LDB4MjQsMHgyMCwweDA5LDB4MDgsMHg0MCwweDAzLDB4MDAsMHg5MCwweGM0LDB4MjAsMHgyMCwweDA4LDB4MGMsMHgwMiB9LAotICAxNiwgMHhkNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODEsMHgwOCwweDIwLDB4MDQsMHg4OCB9LAotICAxNiwgMHhkNjMwLCAwLCB7MHgwMiwweDIyLDB4MDgsMHgwOCwweGMzLDB4MmEsMHg5MCwweDQwLDB4ODQsMHgxMCwweDIwLDB4MDQsMHg4MCwweGMyLDB4MjYsMHgyMCB9LAotICAxNiwgMHhkNjQwLCAwLCB7MHg0OSwweDg4LDB4MjIsMHgyMiwweDBjLDB4MDgsMHhjMSwweDI2LDB4YTAsMHhjOSwweDhjLDB4MTIsMHgyYSwweDA0LDB4ODgsMHg0MyB9LAotICAxNiwgMHhkNjUwLCAwLCB7MHgwZSwweGEwLDB4Y2IsMHg4OCwweDEwLDB4MjIsMHgwYywweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNjYwLCAwLCB7MHgwOCwweDAwLDB4MGEsMHg0MCwweDMyLDB4MDAsMHgwMSwweDgwLDB4MzEsMHgyOCwweDAwLDB4MDAsMHgwMSwweDEyLDB4ODAsMHg4ZCB9LAotICAxNiwgMHhkNjcwLCAwLCB7MHg4NCwweDAwLDB4MjgsMHgwYywweDA4LDB4MDEsMHgzMiwweDAwLDB4OGMsMHg4MCwweDAyLDB4MjAsMHgwYywweDA4LDB4MDEsMHgyZSB9LAotICAxNiwgMHhkNjgwLCAwLCB7MHgwMCwweGMzLDB4ODAsMHgwMiwweDIwLDB4MDQsMHgwOCwweDQzLDB4MDIsMHgwMCwweDQwLDB4ODAsMHgxMCwweDIwLDB4MDQsMHgwMiB9LAotICAxNiwgMHhkNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4ODcsMHgwYSwweDIxLDB4MDQsMHg4OCB9LAotICAxNiwgMHhkNmEwLCAwLCB7MHgxMSwweDJhLDB4MWMsMHgwYSwweDA2LDB4MjIsMHgyMSwweDQwLDB4YTAsMHg0MiwweDJhLDB4MTAsMHg4OCwweDg1LDB4MGEsMHhhMSB9LAotICAxNiwgMHhkNmIwLCAwLCB7MHgwNiwweGE0LDB4NjIsMHgyMiwweDFjLDB4MGEsMHhjNCwweDAyLDB4MjEsMHg4MCwweDhjLDB4NTIsMHgyMiwweDE0LDB4NDgsMHg4NiB9LAotICAxNiwgMHhkNmMwLCAwLCB7MHgyMiwweDIwLDB4MDgsMHhhOCwweDYwLDB4MmEsMHgxNCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNmQwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHg0NSwweDA2LDB4MDEsMHg4OSwweDgwLDB4NjMsMHgyMCwweDFjLDB4ODgsMHg0MCwweDM0LDB4MTEsMHgwMSB9LAotICAxNiwgMHhkNmUwLCAwLCB7MHhhNCwweDUwLDB4MjgsMHgxOCwweDQ4LDB4MDQsMHgwZSwweDAxLDB4NGIsMHg4MCwweDczLDB4MjgsMHgxYywweDhhLDB4MDQsMHgwNiB9LAotICAxNiwgMHhkNmYwLCAwLCB7MHg5MSwweDQ5LDB4MDQsMHg2MywweDIwLDB4MWMsMHg4YSwweDA2LDB4MjYsMHgwMSwweDg1LDB4ODAsMHg3MCwweDIwLDB4MTgsMHgwMiB9LAotICAxNiwgMHhkNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4ODUsMHgwMCwweGIxLDB4NDUsMHgyYyB9LAotICAxNiwgMHhkNzEwLCAwLCB7MHg3MCwweDAyLDB4MTQsMHhjMCwweDA3LDB4MDgsMHgyMSwweDQ5LDB4MDAsMHg0MiwweDAxLDB4MTQsMHg4MiwweDA1LDB4MDAsMHgxMSB9LAotICAxNiwgMHhkNzIwLCAwLCB7MHg4NCwweDAwLDB4NTIsMHgwMiwweDFjLDB4MDAsMHhjNCwweDAwLDB4MjEsMHhjNCwweDJjLDB4NTMsMHgwMiwweDFjLDB4MDIsMHg4MSB9LAotICAxNiwgMHhkNzMwLCAwLCB7MHgwNCwweGExLDB4Y2QsMHgwOCwweDUwLDB4MDIsMHgxNCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkNzQwLCAwLCB7MHgwOCwweDEwLDB4MTIsMHgwNCwweDM0LDB4MDEsMHhjYywweDAwLDB4NzMsMHg0MCwweDFjLDB4OTAsMHg0NSwweDA0LDB4MDEsMHg0OCB9LAotICAxNiwgMHhkNzUwLCAwLCB7MHgwNCwweDYwLDB4NDEsMHgxOCwweGMwLDB4NDQsMHgwNCwweDAxLDB4MDUsMHgwNCwweDczLDB4NDgsMHgxNCwweDUwLDB4NDcsMHgzNCB9LAotICAxNiwgMHhkNzYwLCAwLCB7MHgwMSwweDQ1LDB4MjAsMHg2MiwweDA4LDB4MWMsMHhjMiwweDA0LDB4MGMsMHg4MSwweGM3LDB4MDAsMHg3MywweDgwLDB4MTgsMHhjMiB9LAotICAxNiwgMHhkNzcwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDEwLDB4ODQsMHgxMCwweDIxLDB4Y2MsMHgyOCB9LAotICAxNiwgMHhkNzgwLCAwLCB7MHg0MiwweDAyLDB4MTQsMHgxMiwweGM1LDB4MTAsMHgyMSwweDg0LDB4MDQsMHg0MCwweDAwLDB4MWMsMHg4MCwweDg0LDB4MDAsMHg5MSB9LAotICAxNiwgMHhkNzkwLCAwLCB7MHgwMCwweDA4LDB4NzMsMHg4MiwweDFjLDB4OTAsMHgwNSwweDBjLDB4MDEsMHhjZiwweDBjLDB4NDAsMHgwMiwweDE0LDB4MzAsMHg0NSB9LAotICAxNiwgMHhkN2EwLCAwLCB7MHgyMCwweGExLDB4YzAsMHgwOCwweDUwLDB4MDIsMHgxMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg0NSwweDBjLDB4ODEsMHgwMCwweDAwLDB4MDEsMHgwOCwweDA4LDB4MDAsMHgwNSwweDE4LDB4OTEsMHgwNSB9LAotICAxNiwgMHhkN2MwLCAwLCB7MHgwNCwweDAwLDB4MDEsMHgwNCwweDQwLDB4MDYsMHgxOCwweDAwLDB4MDIsMHgyNCwweDcwLDB4NDAsMHgwNCwweDAwLDB4NDAsMHgwMCB9LAotICAxNiwgMHhkN2QwLCAwLCB7MHgwMSwweGM0LDB4MjQsMHgwMCwweDg4LDB4MDQsMHgwMCwweDQzLDB4MTAsMHgwMCwweDQwLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgwMCB9LAotICAxNiwgMHhkN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4ODUsMHgyNCwweDMxLDB4MDIsMHgwYyB9LAotICAxNiwgMHhkN2YwLCAwLCB7MHgwMiwweGMyLDB4MDQsMHgxMCwweGM0LDB4MjgsMHgyMSwweDQ5LDB4MGMsMHgwMiwweGMwLDB4MDQsMHhiMiwweDA2LDB4MWMsMHgyMCB9LAotICAxNiwgMHhkODAwLCAwLCB7MHgwMywweDA4LDB4NTAsMHg0MiwweDBjLDB4ODAsMHgwMSwweDA0LDB4YTEsMHg0OSwweDBjLDB4MDAsMHhjMiwweDBjLDB4MTAsMHg0MyB9LAotICAxNiwgMHhkODEwLCAwLCB7MHgyNCwweGEwLDB4YzEsMHgwOCwweDEwLDB4NDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODIwLCAwLCB7MHgwMCwweDEwLDB4YTIsMHgwMCwweDIwLDB4MDAsMHhjZCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MjAsMHgwMSwweDEwLDB4MDAsMHgwOSB9LAotICAxNiwgMHhkODMwLCAwLCB7MHgwNCwweDAyLDB4NDksMHgwYywweDkyLDB4MDcsMHgzMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4MDgsMHgwYywweDkyLDB4NDEsMHgwMCB9LAotICAxNiwgMHhkODQwLCAwLCB7MHg4MCwweGNjLDB4MDAsMHgwMCwweDAwLDB4MGMsMHgwMCwweDQzLDB4MjgsMHg4MCwweGMyLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODUwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MTAsMHg1MCwweDgwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODYwLCAwLCB7MHgxMCwweDAwLDB4MDAsMHhmMCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDAsMHhkMCwweDgwLDB4ODAsMHgwMCB9LAotICAxNiwgMHhkODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDEwLDB4OTAsMHg4MCB9LAotICAxNiwgMHhkODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkODkwLCAwLCB7MHgzYywweDNjLDB4MTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHhhMCwweDgwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOGEwLCAwLCB7MHgwMCwweDAwLDB4NDAsMHgxMCwweDkwLDB4ODAsMHhhMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweDkwLDB4ODAsMHhhMCB9LAotICAxNiwgMHhkOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MTAsMHg5MCwweGEwLDB4YTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg4ZiB9LAotICAxNiwgMHhkOGMwLCAwLCB7MHgwZiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJjLDB4YzIsMHhlNCwweDgxLDB4ODAsMHgzZiB9LAotICAxNiwgMHhkOGQwLCAwLCB7MHhkOSwweGJmLDB4ZDksMHg5OCwweDcxLDB4OWQsMHg0MiwweDgwLDB4MDAsMHgyNiwweDdmLDB4ZTYsMHg3MiwweGFiLDB4N2MsMHgzYSB9LAotICAxNiwgMHhkOGUwLCAwLCB7MHg0MCwweDAwLDB4MTksMHg4MCwweDI2LDB4NDgsMHhkZCwweDNjLDB4OTEsMHhjMCwweDI2LDB4NDAsMHgyNiwweDQwLDB4MzgsMHgzMSB9LAotICAxNiwgMHhkOGYwLCAwLCB7MHhkYiwweDYxLDB4YzAsMHgxOSwweDk5LDB4YmYsMHhjOSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOTAwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg4MCwweDEwLDB4MTQsMHg4MCwweDA2LDB4ODQsMHg5NywweDk2LDB4ODYsMHg5NiwweDA2LDB4OTAsMHgwMCB9LAotICAxNiwgMHhkOTEwLCAwLCB7MHgzZiwweGExLDB4MjgsMHgwMSwweDAyLDB4OTAsMHgxMiwweDAwLDB4ODAsMHgxNywweDg4LDB4MTYsMHg5ZSwweDkwLDB4OTAsMHgwNCB9LAotICAxNiwgMHhkOTIwLCAwLCB7MHgxMCwweDAwLDB4MzYsMHhiZSwweGJlLDB4OWUsMHg4NiwweDE2LDB4MTIsMHg4NCwweDgwLDB4MTMsMHhiZSwweDk3LDB4YWUsMHg4MCB9LAotICAxNiwgMHhkOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4MiB9LAotICAxNiwgMHhkOTQwLCAwLCB7MHg4MSwweDg0LDB4MjEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTEsMHgzOCwweDAxLDB4NzgsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOTUwLCAwLCB7MHgwOCwweGI4LDB4MjEsMHg3MiwweDY4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDk4LDB4NDQsMHg4OCwweDY4LDB4ODAsMHgwMCB9LAotICAxNiwgMHhkOTYwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHhiOCwweDAxLDB4NzgsMHgwMSwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOTcwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNywweGFmLDB4ZmYsMHhjMCB9LAotICAxNiwgMHhkOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9LAotICAxNiwgMHhkOTkwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9LAotICAxNiwgMHhkOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9LAotICAxNiwgMHhkOWMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9LAotICAxNiwgMHhkOWQwLCAwLCB7MHgyZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkOWUwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHhjMCB9LAotICAxNiwgMHhkOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9LAotICAxNiwgMHhkYTAwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9LAotICAxNiwgMHhkYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4YmYsMHhiZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGRmLDB4YmYsMHhkZiB9LAotICAxNiwgMHhkYTMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlZiwweGZmLDB4ZmYsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiB9LAotICAxNiwgMHhkYTQwLCAwLCB7MHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYTUwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHgzZSwweGFmLDB4ZmYsMHhjMCB9LAotICAxNiwgMHhkYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZTcsMHhmZSB9LAotICAxNiwgMHhkYTcwLCAwLCB7MHhlZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhkZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9LAotICAxNiwgMHhkYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGY3LDB4ZmYsMHhmZiB9LAotICAxNiwgMHhkYWEwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MmYsMHhmZiwweGZmLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNyB9LAotICAxNiwgMHhkYWIwLCAwLCB7MHhkZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYWMwLCAwLCB7MHgwMCwweDAwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHhjMywweDJjLDB4NTAsMHgwOSwweDE0LDB4ODIsMHhjNCwweDMwLDB4OTEsMHhjNyB9LAotICAxNiwgMHhkYWQwLCAwLCB7MHgyNCwweDYwLDB4MDgsMHgxYywweDgyLDB4MDcsMHgzNCwweDkxLDB4NGMsMHgwNCwweDQzLDB4MGEsMHgxMCwweGMyLDB4ODQsMHgwNCB9LAotICAxNiwgMHhkYWUwLCAwLCB7MHg5MSwweDg0LDB4MjQsMHg1MiwweDBiLDB4MTgsMHgwMiwweGM0LDB4MjQsMHhiMSwweGMzLDB4MmMsMHg0MCwweDBhLDB4MTAsMHg4MCB9LAotICAxNiwgMHhkYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHgwMiwweDAxLDB4YzQsMHg4MCB9LAotICAxNiwgMHhkYjAwLCAwLCB7MHg2MCwweDIwLDB4MWMsMHgwOCwweDQ0LDB4MjIsMHgwMSwweGMwLDB4ODQsMHg1MCwweDAxLDB4OWMsMHgwOCwweDA3LDB4MGEsMHgwMSB9LAotICAxNiwgMHhkYjEwLCAwLCB7MHhjMCwweDg0LDB4NzIsMHgyMCwweDFjLDB4YzgsMHgwNCwweDEyLDB4MTEsMHg0NCwweDgwLDB4NDEsMHgwMSwweDFjLDB4ODAsMHgwNyB9LAotICAxNiwgMHhkYjIwLCAwLCB7MHgwOCwweDExLDB4YzQsMHgwMCwweDcwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHg4NiwweDJjLDB4MjEsMHg0YSwweDBjLDB4NTIsMHgwMiwweDFjLDB4ODAsMHgwNCwweDIwLDB4MjEsMHhjYSB9LAotICAxNiwgMHhkYjQwLCAwLCB7MHgxMCwweDYyLDB4MDIsMHgxYywweDgxLDB4NDcsMHgwNCwweDIxLDB4YzMsMHgyMCwweDUxLDB4MDEsMHgxYywweDgwLDB4MDQsMHgyYyB9LAotICAxNiwgMHhkYjUwLCAwLCB7MHgwMSwweGNiLDB4MDQsMHg1MiwweDAzLDB4MTQsMHg0MCwweGM3LDB4MjAsMHgzMSwweGM4LDB4MGMsMHg1MCwweDIyLDB4MTAsMHg4MCB9LAotICAxNiwgMHhkYjYwLCAwLCB7MHgwMSwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgyMCwweDAxLDB4ODksMHgwMCB9LAotICAxNiwgMHhkYjcwLCAwLCB7MHg1MiwweDAwLDB4MTQsMHg4MCwweDA0LDB4MjgsMHgwMSwweDQ1LDB4MDQsMHg2MiwweDAwLDB4MTAsMHg4MCwweDQ2LDB4MzAsMHgxMSB9LAotICAxNiwgMHhkYjgwLCAwLCB7MHgwZCwweDAwLDB4NDIsMHgwMSwweDE0LDB4YzAsMHg0NCwweDAwLDB4MTEsMHgwNSwweDAwLDB4NTAsMHgwMCwweDFjLDB4MDAsMHg0NCB9LAotICAxNiwgMHhkYjkwLCAwLCB7MHgyOCwweDAxLDB4NDksMHgwMCwweDcwLDB4MDAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYmEwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHhjMCwweDAyLDB4MzAsMHgwYywweDhjLDB4MzAsMHgyMiwweDA4LDB4ODgsMHhjMiwweDI2LDB4MDAsMHgwOCB9LAotICAxNiwgMHhkYmIwLCAwLCB7MHg4MCwweDIwLDB4MjIsMHgwYywweDg4LDB4ODEsMHgwMiwweDEwLDB4YzQsMHg4MCwweDEwLDB4MjIsMHgwYywweDA4LDB4NDAsMHgwMiB9LAotICAxNiwgMHhkYmMwLCAwLCB7MHgxMCwweDQ4LDB4ODgsMHgwMSwweDIzLDB4MDQsMHhjOCwweDQyLDB4MDIsMHgxMCwweDQ2LDB4OGMsMHgxMiwweDIyLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYmQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4YzgsMHgyMCB9LAotICAxNiwgMHhkYmUwLCAwLCB7MHgxMSwweDA5LDB4MDAsMHg4MCwweDQxLDB4MTAsMHg5MCwweDA4LDB4MjQsMHgzMCwweDA4LDB4MDQsMHg0MiwweDQxLDB4MDAsMHg5MCB9LAotICAxNiwgMHhkYmYwLCAwLCB7MHhjNCwweDIwLDB4MDAsMHgwOCwweDA0LDB4NDIsMHgwMCwweDEwLDB4ODAsMHg0YywweDIwLDB4MjMsMHgwOSwweDA0LDB4YzIsMHg0MyB9LAotICAxNiwgMHhkYzAwLCAwLCB7MHgzMCwweDgwLDB4NDAsMHgyMCwweDExLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYzEwLCAwLCB7MHgwOCwweDAwLDB4MDgsMHg4MSwweDAyLDB4MjAsMHhjOSwweDhjLDB4MTIsMHgyMCwweDA0LDB4NDgsMHg0MSwweDIyLDB4MDAsMHgwOSB9LAotICAxNiwgMHhkYzIwLCAwLCB7MHg4OCwweDMwLDB4MjAsMHgwYywweDg4LDB4MDMsMHgwZSwweDAwLDB4NDksMHg4YywweDEwLDB4MjIsMHgwYywweDg4LDB4NDAsMHgyZSB9LAotICAxNiwgMHhkYzMwLCAwLCB7MHgwMCwweGM5LDB4ODQsMHgxMywweDIxLDB4MDQsMHhjOCwweGMzLDB4MjIsMHgwMCwweGNiLDB4OGMsMHgzMiwweDIyLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYzQwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDEsMHgwMiwweDAwLDB4NGIsMHg4MCB9LAotICAxNiwgMHhkYzUwLCAwLCB7MHgzMiwweDIxLDB4MDgsMHg4OCwweDQxLDB4MDIsMHgxMCwweDBmLDB4ODAsMHgxMCwweDIxLDB4OGMsMHgwOCwweDQxLDB4MDIsMHgwMCB9LAotICAxNiwgMHhkYzYwLCAwLCB7MHg4NywweDg0LDB4MTAsMHgyMCwweDA0LDB4ODgsMHgwMCwweDAyLDB4MDAsMHg0NywweDgwLDB4MTAsMHgyMSwweDBjLDB4ODgsMHg0MSB9LAotICAxNiwgMHhkYzcwLCAwLCB7MHgxNiwweDEwLDB4NDYsMHg4MCwweDMwLDB4MjAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkYzgwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHhjNCwweDIyLDB4YTEsMHgwOCwweGE0LDB4NzIsMHgyYSwweDE0LDB4MGEsMHg4NSwweDAyLDB4ODEsMHg4NCB9LAotICAxNiwgMHhkYzkwLCAwLCB7MHhhMCwweDQyLDB4MjgsMHgxYywweDBhLDB4YzUsMHgwMiwweDkxLDB4NDAsMHhiOCwweDczLDB4MjksMHgxMCwweGNhLDB4YzQsMHgwMiB9LAotICAxNiwgMHhkY2EwLCAwLCB7MHhhMSwweDgwLDB4YTQsMHg0MiwweDJhLDB4MTQsMHhjYSwweDg1LDB4MjIsMHg5MSwweDgwLDB4YTgsMHg3MCwweDJhLDB4MTgsMHgwMiB9LAotICAxNiwgMHhkY2IwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDQsMHgxZSwweDAxLDB4YzgsMHg4MCB9LAotICAxNiwgMHhkY2MwLCAwLCB7MHg0MywweDIwLDB4MTgsMHgwOCwweDQ1LDB4M2UsMHgwMSwweDBjLDB4ODAsMHg2MSwweDIwLDB4OWMsMHg0OCwweDA2LDB4MTIsMHg4MSB9LAotICAxNiwgMHhkY2QwLCAwLCB7MHhjMCwweDgwLDB4NzMsMHgwMCwweDEwLDB4ODgsMHgwNiwweDAyLDB4MDEsMHhjOCwweDAwLDB4NDIsMHgyMCwweDEwLDB4YzgsMHgwNyB9LAotICAxNiwgMHhkY2UwLCAwLCB7MHgwMiwweDExLDB4Y2QsMHg4MCwweDUxLDB4MjAsMHgxNCwweDgyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkY2YwLCAwLCB7MHgwOCwweDAwLDB4MDAsMHhjNCwweDI0LDB4MjEsMHhjOCwweDBjLDB4NDIsMHgwMSwweDE0LDB4MDAsMHgwMCwweDI4LDB4MTAsMHg0YyB9LAotICAxNiwgMHhkZDAwLCAwLCB7MHgwOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4NDUsMHgyNCwweDI5LDB4NDAsMHgwNCwweDcyLDB4MDAsMHgxMCwweGMwLDB4MDUsMHgyNCB9LAotICAxNiwgMHhkZDEwLCAwLCB7MHgxMSwweDQ0LDB4MDgsMHg0MywweDAxLDB4MTQsMHhjMCwweDQ3LDB4MjQsMHgyMCwweDQ4LDB4MDgsMHg3MiwweDAyLDB4MTAsMHgwMCB9LAotICAxNiwgMHhkZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgxMCwweDAwLDB4MDcsMHgxMCwweDExLDB4MDYsMHgwMCB9LAotICAxNiwgMHhkZDMwLCAwLCB7MHg3MiwweDAwLDB4MTgsMHhkMCwweDQ2LDB4MjAsMHgwMSwweDRkLDB4MDAsMHg3MSwweDQwLDB4MTAsMHg1MCwweDA3LDB4MzAsMHgxMSB9LAotICAxNiwgMHhkZDQwLCAwLCB7MHhjMywweDAwLDB4NzEsMHg0MSwweDEwLDB4YjAsMHgwNSwweDJjLDB4MDEsMHg0OSwweDAwLDB4NDMsMHgwMCwweDFjLDB4NTAsMHg0NSB9LAotICAxNiwgMHhkZDUwLCAwLCB7MHgzMCwweDAxLDB4OGMsMHgwMCwweDYxLDB4NDAsMHgxOCwweDQyLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZDYwLCAwLCB7MHgwMCwweDAwLDB4MzAsMHhjNSwweDAwLDB4MjEsMHhjMCwweDBjLDB4NDAsMHgwMSwweDE0LDB4MTIsMHg0NCwweDA0LDB4MzEsMHg4NCB9LAotICAxNiwgMHhkZDcwLCAwLCB7MHgyNCwweDQwLDB4ODAsMHgxNCwweGExLDB4YzcsMHgwMCwweDAxLDB4NDAsMHgwOCwweDQwLDB4MDEsMHgxNCwweDIwLDB4MDUsMHgyMCB9LAotICAxNiwgMHhkZDgwLCAwLCB7MHgxMSwweGMwLDB4MDIsMHg2MCwweDgyLDB4MTgsMHgwMCwweDg3LDB4MjQsMHgxMSwweDQwLDB4MDgsMHg0MCwweDQyLDB4MTAsMHgwMiB9LAotICAxNiwgMHhkZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwYywweDgwLDB4YzQsMHgyNCB9LAotICAxNiwgMHhkZGEwLCAwLCB7MHgzMSwweDQ4LDB4MGMsMHgwMCwweDAxLDB4MDgsMHhjMSwweDQxLDB4MDAsMHgwMCwweDQ5LDB4MDAsMHg0MiwweDAzLDB4MDgsMHgxMCB9LAotICAxNiwgMHhkZGIwLCAwLCB7MHg4MCwweDIwLDB4MjEsMHgwOSwweDBjLDB4MDIsMHgwMiwweDE4LDB4ODAsMHhjMSwweDI0LDB4MzAsMHgwOCwweDBjLDB4NDIsMHgwMSB9LAotICAxNiwgMHhkZGMwLCAwLCB7MHgxMCwweDgwLDB4ODMsMHgyMCwweDExLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZGQwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHhjMSwweDA0LDB4MjAsMHg0OCwweDBjLDB4MTIsMHg0MiwweDA0LDB4MDAsMHg4MywweDAwLDB4MzEsMHg0OCB9LAotICAxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDAyLDB4NDEsMHgwNCwweGEwLDB4MDcsMHgwYywweDIwLDB4NDAsMHgwMCwweDEyLDB4YzIsMHgwYywweDgwLDB4YzEsMHgyMCB9LAotICAxNiwgMHhkZGYwLCAwLCB7MHgyMCwweGM4LDB4MDAsMHgxMiwweGMxLDB4MGMsMHhiMCwweDQxLDB4MjAsMHgwMCwweDQ5LDB4MDgsMHgwMiwweDQyLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDgwLDB4MDEsMHgwMCwweDEwLDB4ODEsMHgwMCB9LAotICAxNiwgMHhkZTEwLCAwLCB7MHgzMCwweDQwLDB4MDgsMHgyMCwweDAzLDB4MDAsMHgxMCwweGMxLDB4MjAsMHgwMiwweDAwLDB4MDQsMHg4MCwweDQwLDB4MzAsMHg5MCB9LAotICAxNiwgMHhkZTIwLCAwLCB7MHgwMSwweDE0LDB4MDIsMHg0MCwweDA0LDB4ODAsMHg0MCwweDIwLDB4MDAsMHgwOSwweDA0LDB4MzIsMHgwMSwweDA4LDB4YTAsMHgwMyB9LAotICAxNiwgMHhkZTMwLCAwLCB7MHgwNCwweDEwLDB4MDgsMHgwMCwweDIyLDB4NDAsMHgwMCwweDAwLDB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTQwLCAwLCB7MHgwMCwweDAwLDB4MzAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4ZjAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTUwLCAwLCB7MHgwMCwweDEwLDB4ODAsMHgwMCwweGYwLDB4MDAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweGYwLDB4MTAsMHhhMCB9LAotICAxNiwgMHhkZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDAsMHhmMCwweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MDAsMHhjYyB9LAotICAxNiwgMHhkZTcwLCAwLCB7MHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2MsMHgzYywweDEwLDB4YTAsMHg4MCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZTgwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4YzAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCB9LAotICAxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OTAsMHg4MCB9LAotICAxNiwgMHhkZWEwLCAwLCB7MHhlMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDhjLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZWIwLCAwLCB7MHgwMCwweDAwLDB4MDksMHg0ZCwweGIxLDB4ZTksMHgwMCwweDI2LDB4NDAsMHgyYSwweDdmLDB4ZTMsMHhmMiwweDU0LDB4OTgsMHhjMCB9LAotICAxNiwgMHhkZWMwLCAwLCB7MHgzZiwweGU2LDB4NDAsMHgwMCwweDAxLDB4NDIsMHg5MSwweGQwLDB4YzAsMHgxMywweGU1LDB4ODcsMHg2MywweDgzLDB4YjgsMHhjZCB9LAotICAxNiwgMHhkZWQwLCAwLCB7MHhmOSwweDAwLDB4MjYsMHg3ZiwweDAwLDB4MDAsMHgzNSwweDJlLDB4ZDUsMHgwMywweDQwLDB4M2YsMHhkOSwweGJmLDB4YjEsMHg4MCB9LAotICAxNiwgMHhkZWUwLCAwLCB7MHgwMSwweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDIsMHgxNiwweDE0LDB4MDAsMHgxYyB9LAotICAxNiwgMHhkZWYwLCAwLCB7MHhhOCwweDNmLDB4ODgsMHgxNiwweDAwLDB4ODAsMHg4NCwweDgwLDB4MzcsMHg5ZSwweGJhLDB4YTAsMHg1MCwweDEwLDB4MDIsMHgxMiB9LAotICAxNiwgMHhkZjAwLCAwLCB7MHgwMCwweDE3LDB4OTYsMHg5NywweDI2LDB4NTAsMHgxMCwweDEwLDB4ODIsMHg4MCwweDFlLDB4ODAsMHhkZSwweGJlLDB4OTQsMHgxNCB9LAotICAxNiwgMHhkZjEwLCAwLCB7MHgwMiwweDEwLDB4ODAsMHgxNywweGJlLDB4ODEsMHg5NCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGE4LDB4NDQsMHg5NCwweDI4LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwOCB9LAotICAxNiwgMHhkZjMwLCAwLCB7MHg5NCwweDIxLDB4NDQsMHg1MSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg4NCwweDQyLDB4NDEsMHgwMSwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZjQwLCAwLCB7MHgwMCwweDA4LDB4YTEsMHg3MiwweDIzLDB4NDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YjgsMHgwMSwweDc4LDB4MzIsMHg0MCB9LAotICAxNiwgMHhkZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9LAotICAxNiwgMHhkZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGY3LDB4ZmUsMHhkNywweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZDcsMHhkZiB9LAotICAxNiwgMHhkZjcwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzcsMHg3ZiB9LAotICAxNiwgMHhkZjgwLCAwLCB7MHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZjkwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MWUsMHhmZiwweGRlLDB4NzcsMHhjMCB9LAotICAxNiwgMHhkZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZWYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9LAotICAxNiwgMHhkZmIwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhkZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9LAotICAxNiwgMHhkZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgxZiwweGNmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhiZiB9LAotICAxNiwgMHhkZmUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9LAotICAxNiwgMHhkZmYwLCAwLCB7MHhmZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMDAwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCB9LAotICAxNiwgMHhlMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHgxZiB9LAotICAxNiwgMHhlMDIwLCAwLCB7MHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGRmLDB4ZmYsMHhjZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9LAotICAxNiwgMHhlMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGJmLDB4YWYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiB9LAotICAxNiwgMHhlMDUwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2UsMHhkZSwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiB9LAotICAxNiwgMHhlMDYwLCAwLCB7MHhmZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMDcwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHg3ZiwweGZmLDB4ZmYsMHhjMCB9LAotICAxNiwgMHhlMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmUsMHhiZSB9LAotICAxNiwgMHhlMDkwLCAwLCB7MHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGZmLDB4ZDcsMHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGUwLCAwLCB7MHgzMCwweDAwLDB4MjAsMHgwMSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDQzLDB4OGUsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlMzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMiwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHg4MCB9LAotICAxNiwgMHhlZjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhlZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmMzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmNzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmN2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMSwweDAwLDB4MDAsMHg1ZiwweGE3LDB4MzAsMHgwMCwweDgwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMyB9LAotICAxNiwgMHhmZDQwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwZSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICAxNiwgMHhmZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSB9LAotICAxNiwgMHhmZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwNSwweDMwLDB4MDAsMHhhMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMSB9LAotICAxNiwgMHhmZDkwLCAwLCB7MHgwMCwweDAwLDB4NmIsMHg5NywweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9LAotICA0LCAweGZkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwIH0sCi0gIDAgLCAweDAwMDAsIDEsIHswfQotfTsKLS8vIFZFUlNJT049IDEuMC4wLjE5MQotLy8gREFURT0gMjAwMm9jdDI4Ci1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX0hleE1pZGlGdzYyW10gPSB7Ci0gICAzLDB4MDAwMCwwLHsweDAyLDB4NDYsMHhiOX0sCi0gICAzLDB4MDAwMywwLHsweDAyLDB4MGYsMHhmZH0sCi0gICAzLDB4MDAwYiwwLHsweDAyLDB4NGUsMHgwZn0sCi0gICAzLDB4MDAxMywwLHsweDAyLDB4MTcsMHhmZH0sCi0gICAzLDB4MDAxYiwwLHsweDAyLDB4NGUsMHgxMn0sCi0gICAzLDB4MDAyMywwLHsweDAyLDB4NGQsMHhlZn0sCi0gICAzLDB4MDAyYiwwLHsweDAyLDB4NDgsMHgwMH0sCi0gICAzLDB4MDAzMywwLHsweDAyLDB4NGQsMHhlNn0sCi0gICAzLDB4MDAzYiwwLHsweDAyLDB4NGQsMHhmNn0sCi0gICAzLDB4MDA0MywwLHsweDAyLDB4NDksMHgwMH0sCi0gICAzLDB4MDA0YiwwLHsweDAyLDB4NGUsMHgwM30sCi0gICAzLDB4MDA1MywwLHsweDAyLDB4NDgsMHhmYX0sCi0gICAzLDB4MDA1YiwwLHsweDAyLDB4NGQsMHhmZH0sCi0gICAzLDB4MDA2MywwLHsweDAyLDB4NGUsMHgwN30sCi0gIDE2LDB4MDUwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MTEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfSwKLSAgMTYsMHgwNTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHgwOCwweDAyLDB4MDUsMHgwMSwweDAwLDB4ODAsMHgzMiwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDA1MjAsMCx7MHgwMSwweDAxLDB4MDAsMHgwMCwweDBhLDB4MjQsMHgwMSwweDAwLDB4MDEsMHg1NiwweDAwLDB4MDIsMHgwMSwweDAyLDB4MGMsMHgyNH0sCi0gIDE2LDB4MDUzMCwwLHsweDAyLDB4MDEsMHgwMSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MGQsMHgyNCwweDA2LDB4MDUsMHgwMSwweDAyfSwKLSAgMTYsMHgwNTQwLDAsezB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMiwweDA0LDB4MDMsMHgwMCwweDA1LDB4MDB9LAotICAxNiwweDA1NTAsMCx7MHgwYywweDI0LDB4MDIsMHgwMywweDA1LDB4MDIsMHgwMCwweDA2LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweDI0LDB4MDYsMHgwNn0sCi0gIDE2LDB4MDU2MCwwLHsweDAzLDB4MDIsMHgwMCwweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwfSwKLSAgMTYsMHgwNTcwLDAsezB4MDAsMHgwOSwweDI0LDB4MDMsMHgwNCwweDAxLDB4MDEsMHgwMCwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMCwweDAwLDB4MDF9LAotICAxNiwweDA1ODAsMCx7MHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMSwweDAyLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMX0sCi0gIDE2LDB4MDU5MCwwLHsweDAwLDB4MDEsMHgwMCwweDExLDB4MjQsMHgwMiwweDAxLDB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJifSwKLSAgMTYsMHgwNWEwLDAsezB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4MGEsMHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDF9LAotICAxNiwweDA1YjAsMCx7MHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDUsMHg4ZiwweDAxLDB4MDMsMHgwMCwweDAxLDB4MDUsMHgwMCwweDA5LDB4MDQsMHgwMX0sCi0gIDE2LDB4MDVjMCwwLHsweDAyLDB4MDIsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDAxLDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyfSwKLSAgMTYsMHgwNWQwLDAsezB4MDEsMHgwMiwweDAzLDB4MTgsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDV9LAotICAxNiwweDA1ZTAsMCx7MHgwYSwweDA1LDB4NDYsMHgwMiwweDAxLDB4MDAsMHg4ZiwweDA3LDB4MjUsMHgwMSwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDksMHgwNX0sCi0gIDE2LDB4MDVmMCwwLHsweDhmLDB4MDEsMHgwMywweDAwLDB4MDEsMHgwNSwweDAwLDB4MDksMHgwNCwweDAyLDB4MDAsMHgwMCwweDAxLDB4MDIsMHgwMCwweDAwfSwKLSAgMTYsMHgwNjAwLDAsezB4MDksMHgwNCwweDAyLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDB9LAotICAxNiwweDA2MTAsMCx7MHgwZSwweDI0LDB4MDIsMHgwMSwweDA2LDB4MDIsMHgxMCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNX0sCi0gIDE2LDB4MDYyMCwwLHsweDhjLDB4MDUsMHg0YywweDAyLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0fSwKLSAgMTYsMHgwNjMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDBlLDB4MjR9LAotICAxNiwweDA2NDAsMCx7MHgwMiwweDAxLDB4MDYsMHgwMywweDE4LDB4MDIsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwOSwweDA1LDB4OGMsMHgwNX0sCi0gIDE2LDB4MDY1MCwwLHsweDcyLDB4MDMsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDQsMHgwMiwweDAzfSwKLSAgMTYsMHgwNjYwLDAsezB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDF9LAotICAxNiwweDA2NzAsMCx7MHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDUsMHg4Y30sCi0gIDE2LDB4MDY4MCwwLHsweDA1LDB4ODQsMHgwMSwweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyfSwKLSAgMTYsMHgwNjkwLDAsezB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDJ9LAotICAxNiwweDA2YTAsMCx7MHgwMSwweDAyLDB4MDMsMHgxOCwweDAzLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDAsMHg3NywweDAxLDB4MDksMHgwNX0sCi0gIDE2LDB4MDZiMCwwLHsweDhjLDB4MDUsMHg0NiwweDAyLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0fSwKLSAgMTYsMHgwNmMwLDAsezB4MDMsMHgwMCwweDAwLDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwOSwweDI0LDB4MDEsMHgwMCwweDAxLDB4MDksMHgwMCwweDAxLDB4MDR9LAotICAxNiwweDA2ZDAsMCx7MHgwOSwweDA0LDB4MDQsMHgwMCwweDAyLDB4MDEsMHgwMywweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwMCwweDAxLDB4MjQsMHgwMH0sCi0gIDE2LDB4MDZlMCwwLHsweDA2LDB4MjQsMHgwMiwweDAxLDB4MDcsMHgwMCwweDA5LDB4MjQsMHgwMywweDAyLDB4MDgsMHgwMSwweDA3LDB4MDEsMHgwMCwweDA2fSwKLSAgMTYsMHgwNmYwLDAsezB4MjQsMHgwMiwweDAyLDB4MDksMHgwMCwweDA5LDB4MjQsMHgwMywweDAxLDB4MGEsMHgwMSwweDA5LDB4MDEsMHgwMCwweDA5LDB4MDV9LAotICAxNiwweDA3MDAsMCx7MHgwMSwweDAyLDB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MjUsMHgwMSwweDAxLDB4MDcsMHgwOSwweDA1LDB4ODEsMHgwMn0sCi0gIDE2LDB4MDcxMCwwLHsweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDI1LDB4MDEsMHgwMSwweDBhLDB4MDQsMHgwMywweDA5LDB4MDQsMHgxOCwweDAzfSwKLSAgMTYsMHgwNzIwLDAsezB4NDUsMHgwMCwweDZkLDB4MDAsMHg2MSwweDAwLDB4NjcsMHgwMCwweDY5LDB4MDAsMHg2MywweDAwLDB4MjAsMHgwMCwweDQ3LDB4MDB9LAotICAxNiwweDA3MzAsMCx7MHg2ZCwweDAwLDB4NjIsMHgwMCwweDQ4LDB4MDAsMHgyMiwweDAzLDB4NDUsMHgwMCwweDZkLDB4MDAsMHg2MSwweDAwLDB4NjcsMHgwMH0sCi0gIDE2LDB4MDc0MCwwLHsweDY5LDB4MDAsMHg2MywweDAwLDB4MjAsMHgwMCwweDQ1LDB4MDAsMHg0ZCwweDAwLDB4NDksMHgwMCwweDIwLDB4MDAsMHgzNiwweDAwfSwKLSAgMTYsMHgwNzUwLDAsezB4N2MsMHgwMCwweDMyLDB4MDAsMHgyMCwweDAwLDB4NmQsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwLDB4NmYsMHgwMCwweDZlLDB4MDB9LAotICAxNiwweDA3NjAsMCx7MHg2NiwweDAwLDB4NjksMHgwMCwweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjksMHgwMH0sCi0gIDE2LDB4MDc3MCwwLHsweDZmLDB4MDAsMHg2ZSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwfSwKLSAgMTYsMHgwNzgwLDAsezB4NjcsMHgwMCwweDIyLDB4MDMsMHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwLDB4NzIsMHgwMCwweDY2LDB4MDB9LAotICAxNiwweDA3OTAsMCx7MHg2MSwweDAwLDB4NjMsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMH0sCi0gICA2LDB4MDdhMCwwLHsweDZlLDB4MDAsMHg2NywweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MDdhNiwwLHsweGU0LDB4OTAsMHg3NiwweDY2LDB4ZjAsMHgxMiwweDQ0LDB4YWQsMHgyMCwweDI2LDB4MTMsMHg5MCwweDc2LDB4NjYsMHhlMCwweGMzfSwKLSAgMTYsMHgwN2I2LDAsezB4OTQsMHgwMiwweDUwLDB4MGEsMHhlMCwweDA0LDB4ZjAsMHhkMiwweDQyLDB4MTIsMHg0YiwweDdmLDB4ODAsMHhlYSwweDMwLDB4MjZ9LAotICAxNiwweDA3YzYsMCx7MHgwNSwweDEyLDB4MjgsMHgwMSwweGMyLDB4MjYsMHgzMCwweDI1LDB4MmIsMHg5MCwweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmMsMHhmMH0sCi0gIDE2LDB4MDdkNiwwLHsweDkwLDB4ODAsMHgwMywweGYwLDB4MTIsMHgxNCwweDk2LDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg5MCwweDgwfSwKLSAgMTYsMHgwN2U2LDAsezB4MDMsMHhmMCwweGU0LDB4OTAsMHg3NiwweDY3LDB4ZjAsMHg5MCwweDc2LDB4NjcsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGI0LDB4NGJ9LAotICAxMCwweDA3ZjYsMCx7MHhmNiwweDEyLDB4NDcsMHhmYSwweDEyLDB4NDEsMHgxYiwweDgwLDB4YzUsMHgyMn0sCi0gIDE2LDB4MDgwMCwwLHsweGU0LDB4OTAsMHg3NiwweDMxLDB4ZjAsMHg5MCwweDc2LDB4MzEsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfSwKLSAgMTYsMHgwODEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDA4MjAsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGIsMHg1MCwweDA4LDB4OTAsMHg3NiwweDMxLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4MDgzMCwwLHsweGVmLDB4YjQsMHgwYiwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHgwODQwLDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgzMywweGYwLDB4MjR9LAotICAxNiwweDA4NTAsMCx7MHhmMCwweDYwLDB4MGEsMHgyNCwweDBlLDB4NjAsMHgwMiwweDgxLDB4ODcsMHgxMiwweDRiLDB4YzcsMHgyMiwweDkwLDB4N2YsMHhlZH0sCi0gIDE2LDB4MDg2MCwwLHsweGUwLDB4NjQsMHgwNSwweDcwLDB4NTEsMHg5MCwweDc2LDB4MTgsMHg3NCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4MzcsMHg3NCwweDAxfSwKLSAgMTYsMHgwODcwLDAsezB4ZjAsMHg5MCwweDc2LDB4MzksMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDIwLDB4ZjB9LAotICAxNiwweDA4ODAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjAsMHgyZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH0sCi0gIDE2LDB4MDg5MCwwLHsweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkfSwKLSAgMTYsMHgwOGEwLDAsezB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2LDB4MjEsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzZ9LAotICAxNiwweDA4YjAsMCx7MHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDEsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDY0LDB4MDYsMHg3MCwweDUyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MDhjMCwwLHsweDE4LDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDM3LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM5LDB4NzQsMHgwYSwweGYwfSwKLSAgMTYsMHgwOGQwLDAsezB4OTAsMHg3NiwweDIxLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjB9LAotICAxNiwweDA4ZTAsMCx7MHgyZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MDhmMCwwLHsweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZkLDB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2fSwKLSAgMTYsMHgwOTAwLDAsezB4MjEsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDF9LAotICAxNiwweDA5MTAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4MDkyMCwwLHsweGY1LDB4ODMsMHhlMCwweDkwLDB4NzIsMHgyOSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4M2IsMHhmMCwweDkwLDB4NzYsMHgyMSwweGUwfSwKLSAgMTYsMHgwOTMwLDAsezB4ZmUsMHhlZiwweDZlLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWJ9LAotICAxNiwweDA5NDAsMCx7MHhlMCwweDE0LDB4NjAsMHgxMywweDE0LDB4NzAsMHgwMiwweDIxLDB4ZTIsMHgyNCwweDAyLDB4NjAsMHgwMiwweDgxLDB4N2YsMHg5MH0sCi0gIDE2LDB4MDk1MCwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgxNCwweDcwLDB4N2MsMHg5MCwweDdmfSwKLSAgMTYsMHgwOTYwLDAsezB4ZWEsMHhlMCwweGY0LDB4NzAsMHg0OCwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4Mzl9LAotICAxNiwweDA5NzAsMCx7MHhlMCwweGZlLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZCwweGMzLDB4OWUsMHg1MCwweDJiLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MDk4MCwwLHsweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmUsMHhlZCwweDc1fSwKLSAgMTYsMHgwOTkwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDA5YTAsMCx7MHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YzcsMHg5MCwweDc2LDB4M2YsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2UsMHhjMH0sCi0gIDE2LDB4MDliMCwwLHsweGUwLDB4ZmUsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgwOWMwLDAsezB4ZWUsMHhmMCwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDNlLDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNSwweGU0LDB4OTB9LAotICAxNiwweDA5ZDAsMCx7MHg3NiwweDNlLDB4ZjAsMHg5MCwweDc2LDB4M2YsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4MDllMCwwLHsweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmUsMHg3MCwweDAyLDB4NDEsMHhhMywweDE0LDB4NzAsMHgwMiwweDYxfSwKLSAgMTYsMHgwOWYwLDAsezB4M2YsMHgxNCwweDcwLDB4MDIsMHg2MSwweGRiLDB4MjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDc3LDB4OTAsMHg3ZiwweGVhLDB4ZTB9LAotICAxNiwweDBhMDAsMCx7MHhmNCwweDcwLDB4NmIsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzYsMHgyMCwweGYwLDB4OTAsMHg3NiwweDM5LDB4ZTAsMHhmZn0sCi0gIDE2LDB4MGExMCwwLHsweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NTAsMHg0ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwfSwKLSAgMTYsMHgwYTIwLDAsezB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGF9LAotICAxNiwweDBhMzAsMCx7MHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMH0sCi0gIDE2LDB4MGE0MCwwLHsweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlfSwKLSAgMTYsMHgwYTUwLDAsezB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTB9LAotICAxNiwweDBhNjAsMCx7MHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHg0MCwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZX0sCi0gIDE2LDB4MGE3MCwwLHsweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyfSwKLSAgMTYsMHgwYTgwLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGF9LAotICAxNiwweDBhOTAsMCx7MHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4NDEsMHg3NH0sCi0gIDE2LDB4MGFhMCwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2fSwKLSAgMTYsMHgwYWIwLDAsezB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDJ9LAotICAxNiwweDBhYzAsMCx7MHg4MSwweDhlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MGFkMCwwLHsweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0fSwKLSAgMTYsMHgwYWUwLDAsezB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjV9LAotICAxNiwweDBhZjAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNX0sCi0gIDE2LDB4MGIwMCwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyfSwKLSAgMTYsMHgwYjEwLDAsezB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWV9LAotICAxNiwweDBiMjAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NX0sCi0gIDE2LDB4MGIzMCwwLHsweGYwLDB4MGEsMHhhNCwweDI0LDB4YWYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwfSwKLSAgMTYsMHgwYjQwLDAsezB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDBiNTAsMCx7MHgzOSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg4MSwweDhlLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MGI2MCwwLHsweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwfSwKLSAgMTYsMHgwYjcwLDAsezB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9LAotICAxNiwweDBiODAsMCx7MHhmMCwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZX0sCi0gIDE2LDB4MGI5MCwwLHsweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgwYmEwLDAsezB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyLDB4OTAsMHg3ZSwweGMwLDB4ZTB9LAotICAxNiwweDBiYjAsMCx7MHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MGJjMCwwLHsweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0fSwKLSAgMTYsMHgwYmQwLDAsezB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjR9LAotICAxNiwweDBiZTAsMCx7MHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmYsMHg5MH0sCi0gIDE2LDB4MGJmMCwwLHsweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDIsMHg4MSwweDhlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0fSwKLSAgMTYsMHgwYzAwLDAsezB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjB9LAotICAxNiwweDBjMTAsMCx7MHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYn0sCi0gIDE2LDB4MGMyMCwwLHsweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmfSwKLSAgMTYsMHgwYzMwLDAsezB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjB9LAotICAxNiwweDBjNDAsMCx7MHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMH0sCi0gIDE2LDB4MGM1MCwwLHsweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgwYzYwLDAsezB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDBjNzAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH0sCi0gIDE1LDB4MGM4MCwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MGM4ZiwwLHsweDQxLDB4NzYsMHg2OCwweDAxLDB4NDEsMHg3NiwweDZhLDB4MDIsMHg0MSwweDc2LDB4NmIsMHgwYSwweGMxLDB4MjAsMHhjMSwweDIxfSwKLSAgIDIsMHgwYzlmLDAsezB4YzEsMHgyZn0sCi0gICA0LDB4MGNhMSwwLHsweDQxLDB4NzYsMHgyMywweDAwfSwKLSAgMTYsMHgwY2E1LDAsezB4NDEsMHg3MiwweDAxLDB4MDEsMHg0NSwweDcyLDB4MDUsMHgwMCwweDAyLDB4YzksMHgwMCwweDAwLDB4NDUsMHg3MiwweDBhLDB4MDB9LAotICAxNiwweDBjYjUsMCx7MHgwMSwweDAyLDB4MDMsMHgwNCwweDRkLDB4NzIsMHgwZiwweGQxLDB4MDAsMHhkMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGNjNSwwLHsweDI4LDB4MjgsMHgwOSwweDAwLDB4NGQsMHg3MiwweDFjLDB4MDEsMHgwMCwweDAxLDB4MDIsMHgwMywweDA0LDB4MDUsMHgwNiwweDA3fSwKLSAgMTYsMHgwY2Q1LDAsezB4MDgsMHgwOSwweDBhLDB4MGIsMHg0MSwweDcyLDB4MmUsMHgyMiwweDQxLDB4NzIsMHgyZiwweDIzLDB4NDEsMHg3MiwweDMwLDB4MjB9LAotICAxNiwweDBjZTUsMCx7MHg0MSwweDcyLDB4MzEsMHgyMSwweDYyLDB4ZDIsMHg3MiwweDNhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGNmNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDA1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkMTUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQyNSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDM1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkNDUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MGQ1NSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgwZDY1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDBkNzUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX0sCi0gIDE2LDB4MGQ4NSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxfSwKLSAgMTYsMHgwZDk1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9LAotICAxNiwweDBkYTUsMCx7MHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMX0sCi0gIDE2LDB4MGRiNSwwLHsweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfSwKLSAgMTYsMHgwZGM1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9LAotICAxNiwweDBkZDUsMCx7MHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMn0sCi0gIDE2LDB4MGRlNSwwLHsweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyfSwKLSAgMTYsMHgwZGY1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9LAotICAxNiwweDBlMDUsMCx7MHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwM30sCi0gIDE2LDB4MGUxNSwwLHsweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzfSwKLSAgMTYsMHgwZTI1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9LAotICAxNiwweDBlMzUsMCx7MHgwMywweDAzLDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH0sCi0gIDE2LDB4MGU0NSwwLHsweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0fSwKLSAgMTYsMHgwZTU1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9LAotICAxNiwweDBlNjUsMCx7MHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNH0sCi0gIDE2LDB4MGU3NSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1fSwKLSAgMTYsMHgwZTg1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9LAotICAxNiwweDBlOTUsMCx7MHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNX0sCi0gIDE2LDB4MGVhNSwwLHsweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNiwweDA2fSwKLSAgMTYsMHgwZWI1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9LAotICAxNiwweDBlYzUsMCx7MHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNn0sCi0gIDE2LDB4MGVkNSwwLHsweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2fSwKLSAgMTYsMHgwZWU1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA3LDB4MDcsMHgwNywweDA4LDB4MDh9LAotICAxNiwweDBlZjUsMCx7MHgwOCwweDA5LDB4MDksMHgwOSwweDBhLDB4MGEsMHgwYSwweDBiLDB4MGIsMHgwYiwweDBjLDB4MGMsMHgwYywweDBkLDB4MGQsMHgwZH0sCi0gIDE2LDB4MGYwNSwwLHsweDBlLDB4MGUsMHgwZSwweDBmLDB4MGYsMHgwZiwweDEwLDB4MTAsMHgxMCwweDExLDB4MTEsMHgxMSwweDEyLDB4MTIsMHgxMiwweDEzfSwKLSAgMTYsMHgwZjE1LDAsezB4MTMsMHgxMywweDE0LDB4MTQsMHgxNCwweDE1LDB4MTUsMHgxNSwweDE2LDB4MTYsMHgxNiwweDE3LDB4MTcsMHgxNywweDE4LDB4MTh9LAotICAxNiwweDBmMjUsMCx7MHgxOCwweDE5LDB4MTksMHgxOSwweDE5LDB4MWEsMHgxYSwweDFhLDB4MWEsMHgxYiwweDFiLDB4MWIsMHgxYiwweDFjLDB4MWMsMHgxY30sCi0gIDE2LDB4MGYzNSwwLHsweDFjLDB4MWQsMHgxZCwweDFkLDB4MWQsMHgxZSwweDFlLDB4MWUsMHgxZSwweDFmLDB4MWYsMHgxZiwweDFmLDB4MjAsMHgyMCwweDIwfSwKLSAgMTYsMHgwZjQ1LDAsezB4MjEsMHgyMSwweDIxLDB4MjIsMHgyMiwweDIyLDB4MjMsMHgyMywweDI0LDB4MjQsMHgyNSwweDI1LDB4MjYsMHgyNiwweDI3LDB4Mjd9LAotICAxNiwweDBmNTUsMCx7MHgyOCwweDI4LDB4MjksMHgyOSwweDJhLDB4MmEsMHgyYiwweDJiLDB4MmMsMHgyYywweDJkLDB4MmQsMHgyZSwweDJlLDB4MmYsMHgyZn0sCi0gIDE2LDB4MGY2NSwwLHsweDMwLDB4MzAsMHgzMSwweDMxLDB4MzIsMHgzMiwweDMzLDB4MzMsMHgzNCwweDM0LDB4MzUsMHgzNSwweDM2LDB4MzYsMHgzNywweDM3fSwKLSAgMTYsMHgwZjc1LDAsezB4MzgsMHgzOCwweDM5LDB4MzksMHgzYSwweDNhLDB4M2IsMHgzYywweDNkLDB4M2UsMHgzZiwweDQwLDB4NDEsMHg0MiwweDQzLDB4NDR9LAotICAxNiwweDBmODUsMCx7MHg0NSwweDQ2LDB4NDcsMHg0OCwweDQ5LDB4NDksMHg0YSwweDRiLDB4NGIsMHg0YywweDRkLDB4NGUsMHg0ZiwweDUwLDB4NTEsMHg1Mn0sCi0gIDE2LDB4MGY5NSwwLHsweDUzLDB4NTQsMHg1NSwweDU1LDB4NTYsMHg1NiwweDU3LDB4NTcsMHg1OCwweDVhLDB4NWIsMHg1ZCwweDVlLDB4NWYsMHg2MSwweDYyfSwKLSAgMTYsMHgwZmE1LDAsezB4NjMsMHg2NCwweDY1LDB4NjYsMHg2NywweDY4LDB4NjksMHg2YSwweDZiLDB4NmMsMHg2ZCwweDZmLDB4NzEsMHg3MiwweDczLDB4NzR9LAotICAxNiwweDBmYjUsMCx7MHg3NSwweDc2LDB4NzcsMHg3OCwweDc5LDB4N2EsMHg3YiwweDdjLDB4N2UsMHg4MCwweDAxLDB4MzcsMHgwMSwweDAxLDB4MzgsMHgwMH0sCi0gICAxLDB4MGZjNSwwLHsweDAwfSwKLSAgMTYsMHgwZmM2LDAsezB4ZTQsMHhmZiwweDc0LDB4NDYsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MjB9LAotICAxNiwweDBmZDYsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4NGUsMHgyZiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MGZlNiwwLHsweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzfSwKLSAgIDYsMHgwZmY2LDAsezB4ZWUsMHhmMCwweDBmLDB4YmYsMHgwOCwweGNjfSwKLSAgIDEsMHgwZmZjLDAsezB4MjJ9LAotICAgMywweDBmZmQsMCx7MHhjMiwweDg5LDB4MzJ9LAotICAxNiwweDEwMDAsMCx7MHhlNCwweDkwLDB4NzYsMHgyYywweGYwLDB4OTAsMHg3NiwweDJjLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn0sCi0gIDE2LDB4MTAxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlZCwweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHgxMDIwLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyYywweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDEwMzAsMCx7MHhlZiwweGI0LDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4MTA0MCwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MmUsMHhmMCwweDI0fSwKLSAgMTYsMHgxMDUwLDAsezB4ZjAsMHg2MCwweDBhLDB4MjQsMHgwZiwweDYwLDB4MDIsMHg4MSwweDdkLDB4MTIsMHg0YiwweGE0LDB4MjIsMHg5MCwweDdmLDB4ZWR9LAotICAxNiwweDEwNjAsMCx7MHhlMCwweDY0LDB4MDUsMHg3MCwweDUxLDB4OTAsMHg3NiwweDE4LDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3NiwweDM4LDB4NzQsMHgwMX0sCi0gIDE2LDB4MTA3MCwwLHsweGYwLDB4OTAsMHg3NiwweDNhLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDFjLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgxYiwweGYwfSwKLSAgMTYsMHgxMDgwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwLDB4MmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9LAotICAxNiwweDEwOTAsMCx7MHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZH0sCi0gIDE2LDB4MTBhMCwwLHsweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3NiwweDFjLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2fSwKLSAgMTYsMHgxMGIwLDAsezB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2NCwweDA2LDB4NzAsMHg1MiwweDkwLDB4NzZ9LAotICAxNiwweDEwYzAsMCx7MHgxOCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHgzOCwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzYSwweDc0LDB4MGEsMHhmMH0sCi0gIDE2LDB4MTBkMCwwLHsweDkwLDB4NzYsMHgxYywweGYwLDB4OTAsMHg3NiwweDFiLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwfSwKLSAgMTYsMHgxMGUwLDAsezB4MmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDEwZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZCwweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTEwMCwwLHsweDFjLDB4ZTAsMHhmZSwweGVmLDB4YzMsMHg5ZSwweDUwLDB4MDgsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxfSwKLSAgMTYsMHgxMTEwLDAsezB4ZTQsMHg5MCwweDc2LDB4MWUsMHhmMCwweDkwLDB4NzYsMHgxYywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMCwweGZlLDB4NmZ9LAotICAxNiwweDExMjAsMCx7MHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg2MH0sCi0gIDE2LDB4MTEzMCwwLHsweDEzLDB4MTQsMHg3MCwweDAyLDB4MjEsMHhiZiwweDI0LDB4MDIsMHg2MCwweDAyLDB4ODEsMHg3NSwweDkwLDB4N2YsMHhiNCwweGUwfSwKLSAgMTYsMHgxMTQwLDAsezB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDZiLDB4OTAsMHg3ZiwweGVhLDB4ZTB9LAotICAxNiwweDExNTAsMCx7MHhmNCwweDcwLDB4NGEsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZn0sCi0gIDE2LDB4MTE2MCwwLHsweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmQsMHhjMywweDlmLDB4NTAsMHgyYiwweGVkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFifSwKLSAgMTYsMHgxMTcwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjB9LAotICAxNiwweDExODAsMCx7MHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMH0sCi0gIDE2LDB4MTE5MCwwLHsweDA0LDB4ZjAsMHg4MCwweGM3LDB4OTAsMHg3NiwweDFlLDB4ZTAsMHg5MCwweDdmLDB4YjUsMHhmMCwweDIyLDB4ZWUsMHg3NSwweGYwfSwKLSAgMTYsMHgxMWEwLDAsezB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjB9LAotICAxNiwweDExYjAsMCx7MHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH0sCi0gIDE2LDB4MTFjMCwwLHsweDdmLDB4ZTksMHhlMCwweDI0LDB4N2UsMHg3MCwweDAyLDB4NDEsMHg3ZSwweDE0LDB4NzAsMHgwMiwweDYxLDB4MjMsMHgxNCwweDcwfSwKLSAgMTYsMHgxMWQwLDAsezB4MDIsMHg2MSwweGM4LDB4MjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDZkLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmR9LAotICAxNiwweDExZTAsMCx7MHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYn0sCi0gIDE2LDB4MTFmMCwwLHsweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgxMjAwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmR9LAotICAxNiwweDEyMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZH0sCi0gIDE2LDB4MTIyMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwfSwKLSAgMTYsMHgxMjMwLDAsezB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTB9LAotICAxNiwweDEyNDAsMCx7MHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYn0sCi0gIDE2LDB4MTI1MCwwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwfSwKLSAgMTYsMHgxMjYwLDAsezB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDEyNzAsMCx7MHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MTI4MCwwLHsweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhfSwKLSAgMTYsMHgxMjkwLDAsezB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9LAotICAxNiwweDEyYTAsMCx7MHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZH0sCi0gIDE2LDB4MTJiMCwwLHsweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHgxMmMwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzZ9LAotICAxNiwweDEyZDAsMCx7MHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4MTJlMCwwLHsweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1fSwKLSAgMTYsMHgxMmYwLDAsezB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDEzMDAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZn0sCi0gIDE2LDB4MTMxMCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fSwKLSAgMTYsMHgxMzIwLDAsezB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzZ9LAotICAxNiwweDEzMzAsMCx7MHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMH0sCi0gIDE2LDB4MTM0MCwwLHsweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlfSwKLSAgMTYsMHgxMzUwLDAsezB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjV9LAotICAxNiwweDEzNjAsMCx7MHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MTM3MCwwLHsweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgxMzgwLDAsezB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzZ9LAotICAxNiwweDEzOTAsMCx7MHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH0sCi0gIDE2LDB4MTNhMCwwLHsweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHgxM2IwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDF9LAotICAxNiwweDEzYzAsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MH0sCi0gIDE2LDB4MTNkMCwwLHsweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwfSwKLSAgMTYsMHgxM2UwLDAsezB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDEzZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNX0sCi0gIDE2LDB4MTQwMCwwLHsweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1fSwKLSAgMTYsMHgxNDEwLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzR9LAotICAxNiwweDE0MjAsMCx7MHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNH0sCi0gIDE2LDB4MTQzMCwwLHsweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwfSwKLSAgMTYsMHgxNDQwLDAsezB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTB9LAotICAxNiwweDE0NTAsMCx7MHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MTQ2MCwwLHsweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0fSwKLSAgMTYsMHgxNDcwLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjR9LAotICAgNSwweDE0ODAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgxNDg1LDAsezB4NzQsMHgwMCwweGY1LDB4ODYsMHg5MCwweGZkLDB4YTUsMHg3YywweDA1LDB4YTMsMHhlNSwweDgyLDB4NDUsMHg4MywweDcwLDB4Zjl9LAotICAgMSwweDE0OTUsMCx7MHgyMn0sCi0gIDE2LDB4MTQ5NiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg4NywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfSwKLSAgMTYsMHgxNGE2LDAsezB4YzAsMHhkMCwweGMwLDB4ZTAsMHg4ZiwweGUwLDB4YzAsMHhlMCwweDhlLDB4ZTAsMHhjMCwweGUwLDB4OGQsMHhlMCwweGMwLDB4ZTB9LAotICAxNiwweDE0YjYsMCx7MHg4YywweGUwLDB4YzAsMHhlMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4MDUsMHg4NiwweGMwLDB4ODQsMHhjMCwweDg1LDB4N2QsMHgwMH0sCi0gIDE2LDB4MTRjNiwwLHsweDkwLDB4N2YsMHhlMywweDc0LDB4N2IsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4N2MsMHgxMSwweDkwLDB4N2YsMHg5OSwweGUwfSwKLSAgMTYsMHgxNGQ2LDAsezB4NTQsMHg0MCwweGRjLDB4MDMsMHgwMiwweDE0LDB4ZjMsMHhiNCwweDAwLDB4MTMsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDQwLDB4ZjB9LAotICAxNiwweDE0ZTYsMCx7MHg5MCwweDdmLDB4ZTUsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDAyLDB4MTQsMHhkMiwweDkwLDB4NzYsMHg5MH0sCi0gIDE2LDB4MTRmNiwwLHsweGUwLDB4YjQsMHgwMSwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwfSwKLSAgMTYsMHgxNTA2LDAsezB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweDU3LDB4YjQsMHgwMiwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTB9LAotICAxNiwweDE1MTYsMCx7MHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweDk2LDB4YjQsMHgwMywweDEyLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTUyNiwwLHsweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweGUxfSwKLSAgMTYsMHgxNTM2LDAsezB4YjQsMHgwNCwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTB9LAotICAxNiwweDE1NDYsMCx7MHg3ZiwweDZjLDB4MDIsMHgxNiwweDEwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNn0sCi0gIDE2LDB4MTU1NiwwLHsweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmMiwweDdkfSwKLSAgMTYsMHgxNTY2LDAsezB4MDIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjR9LAotICAxNiwweDE1NzYsMCx7MHgwMCwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMH0sCi0gIDE2LDB4MTU4NiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGQ0LDB4MDIsMHgxNiwweDQwfSwKLSAgMTYsMHgxNTk2LDAsezB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9LAotICAxNiwweDE1YTYsMCx7MHhmMCwweGYwLDB4ZGQsMHhlYywweDdkLDB4MDIsMHgwNSwweDg2LDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MTViNiwwLHsweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0fSwKLSAgMTYsMHgxNWM2LDAsezB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9LAotICAgNiwweDE1ZDYsMCx7MHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjB9LAotICAxNiwweDE1ZGMsMCx7MHhkZCwweGNlLDB4MDIsMHgxNiwweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGZhLDB4N2QsMHgwMiwweDA1LDB4ODYsMHg5MH0sCi0gIDE2LDB4MTVlYywwLHsweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNSwweDg2fSwKLSAgMTYsMHgxNWZjLDAsezB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGR9LAotICAxNiwweDE2MGMsMCx7MHhkYywweDAyLDB4MTYsMHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZjgsMHg3ZCwweDAyLDB4MDUsMHg4Nn0sCi0gIDE2LDB4MTYxYywwLHsweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0LDB4MDAsMHgwNSwweDA1fSwKLSAgMTYsMHgxNjJjLDAsezB4ODYsMHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjB9LAotICAxNiwweDE2M2MsMCx7MHhmMCwweGYwLDB4ZGQsMHhkYSwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4Nn0sCi0gIDE2LDB4MTY0YywwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGZjLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZmfSwKLSAgIDUsMHgxNjVjLDAsezB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn0sCi0gIDE2LDB4MTY2MSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHg5MCwweDc2LDB4N2MsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwfSwKLSAgMTYsMHgxNjcxLDAsezB4OTAsMHg3NiwweDdkLDB4ZTAsMHg5MCwweDdmLDB4NmYsMHhmMCwweDkwLDB4NzYsMHg3ZSwweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjB9LAotICAgOSwweDE2ODEsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9LAotICAxNiwweDE2OGEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4M30sCi0gIDE2LDB4MTY5YSwwLHsweDA1LDB4ODYsMHhjMCwweDg0LDB4YzAsMHg4NSwweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhiZiwweDAwLDB4MDMsMHgwMiwweDE3fSwKLSAgMTYsMHgxNmFhLDAsezB4MDEsMHg5MCwweDdmLDB4OTYsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDE2YmEsMCx7MHg2MiwweGUwLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NTQsMHg3Zn0sCi0gIDE2LDB4MTZjYSwwLHsweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3NiwweDhlLDB4ZTAsMHhiNCwweDAxLDB4MDUsMHgwNSwweDg2fSwKLSAgMTYsMHgxNmRhLDAsezB4MDIsMHgxNiwweGY2LDB4YjQsMHgwMiwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHhlYiwweDA1LDB4ODYsMHgwMiwweDE2LDB4ZmJ9LAotICAxNiwweDE2ZWEsMCx7MHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhkZiwweGY4LDB4MDIsMHgxNiwweGZiLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhkZn0sCi0gIDE2LDB4MTZmYSwwLHsweGZhLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4ZDAsMHg4NSwweGQwLDB4ODQsMHgwNSwweDg2LDB4ZDAsMHg4MywweGQwfSwKLSAgMTIsMHgxNzBhLDAsezB4ODIsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfSwKLSAgMTYsMHgxNzE2LDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHhkMSwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9LAotICAxMCwweDE3MjYsMCx7MHhkMCwweGUwLDB4ZjgsMHhkMCwweGUwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgyMn0sCi0gIDE2LDB4MTczMCwwLHsweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHhlMCwweGU4LDB4YzAsMHhlMCwweDc4LDB4NzgsMHhlOCwweDE0LDB4ZjgsMHg3MCwweGZifSwKLSAgMTAsMHgxNzQwLDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9LAotICAgNywweDE3NGEsMCx7MHg5MCwweDdmLDB4YzUsMHg3NCwweDAyLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MTc1MSwwLHsweDkwLDB4N2UsMHhjMCwweGUwLDB4OTAsMHg3NiwweDQ1LDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweDkwLDB4NzYsMHg0NCwweGYwfSwKLSAgMTYsMHgxNzYxLDAsezB4OTAsMHg3ZSwweGMyLDB4ZTAsMHg5MCwweDc2LDB4NDMsMHhmMCwweGI0LDB4MDAsMHgwMywweDAyLDB4MTcsMHg3OCwweDkwLDB4NzZ9LAotICAxNiwweDE3NzEsMCx7MHgxOSwweDc0LDB4MDMsMHhmMCwweDAyLDB4MTcsMHg4ZSwweDkwLDB4NzYsMHg0NCwweGUwLDB4YjQsMHhiYiwweDA5LDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTc4MSwwLHsweDE5LDB4NzQsMHgwMiwweGYwLDB4MDIsMHgxNywweDhlLDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDQyfSwKLSAgIDMsMHgxNzkxLDAsezB4ZTQsMHhmMCwweDIyfSwKLSAgIDQsMHgxNzk0LDAsezB4OGQsMHgyOSwweDhiLDB4MmF9LAotICAxNiwweDE3OTgsMCx7MHgxMiwweDRhLDB4NTUsMHhlYSwweDQ5LDB4NjAsMHg1NywweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYX0sCi0gIDE2LDB4MTdhOCwwLHsweGM5LDB4ZWYsMHhjOSwweDc1LDB4MmIsMHhmZiwweGY1LDB4MmMsMHg4OSwweDJkLDB4YWIsMHgyYiwweGFhLDB4MmMsMHhhOSwweDJkfSwKLSAgMTYsMHgxN2I4LDAsezB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4ZmYsMHg2NCwweDA0LDB4NjAsMHgwNSwweGVmLDB4NjQsMHgwNSwweDcwLDB4MmV9LAotICAxNiwweDE3YzgsMCx7MHhlZiwweGI0LDB4MDQsMHgxNSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MzYsMHhhYiwweDY1LDB4MjksMHg3MCwweDBiLDB4OTAsMHgwMH0sCi0gIDE2LDB4MTdkOCwwLHsweDAzLDB4MTIsMHgzNiwweGFiLDB4NjUsMHgyYSwweDcwLDB4MDEsMHgyMiwweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmfSwKLSAgMTYsMHgxN2U4LDAsezB4ZWUsMHgzYSwweGM5LDB4ZWYsMHhjOSwweDc1LDB4MmIsMHhmZiwweGY1LDB4MmMsMHg4OSwweDJkLDB4ODAsMHhiYywweDdiLDB4MDB9LAotICAgNCwweDE3ZjgsMCx7MHg3YSwweDAwLDB4NzksMHgwMH0sCi0gICAxLDB4MTdmYywwLHsweDIyfSwKLSAgIDMsMHgxN2ZkLDAsezB4YzIsMHg4YiwweDMyfSwKLSAgMTYsMHgxODAwLDAsezB4OTAsMHg3NiwweDkwLDB4ZTAsMHgxNCwweDYwLDB4MzcsMHgxNCwweDcwLDB4MDIsMHgwMSwweGQ4LDB4MTQsMHg3MCwweDAyLDB4MjF9LAotICAxNiwweDE4MTAsMCx7MHg3MiwweDE0LDB4NzAsMHgwMiwweDQxLDB4M2IsMHgyNCwweDA0LDB4NjAsMHgwMiwweDYxLDB4MDMsMHg5MCwweDdmLDB4ZmMsMHg3NH0sCi0gIDE2LDB4MTgyMCwwLHsweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDU0fSwKLSAgMTYsMHgxODMwLDAsezB4MDUsMHhmMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDc2LDB4MWEsMHhmMCwweGMyLDB4MmUsMHgyMiwweDkwLDB4NzZ9LAotICAxNiwweDE4NDAsMCx7MHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MH0sCi0gIDE2LDB4MTg1MCwwLHsweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4MWEsMHhlMCwweGI0LDB4MDEsMHgwOCwweDkwfSwKLSAgMTYsMHgxODYwLDAsezB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDIyLDB4OTB9LAotICAxNiwweDE4NzAsMCx7MHg3ZiwweGZjLDB4NzQsMHg3NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYn0sCi0gIDE2LDB4MTg4MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwfSwKLSAgMTYsMHgxODkwLDAsezB4ZjAsMHhlZiwweGI0LDB4MDIsMHgyMiwweDkwLDB4N2YsMHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmN9LAotICAxNiwweDE4YTAsMCx7MHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MH0sCi0gIDE2LDB4MThiMCwwLHsweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4MzAsMHgzZiwweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlfSwKLSAgMTYsMHgxOGMwLDAsezB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmJ9LAotICAxNiwweDE4ZDAsMCx7MHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDIsMHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg0NH0sCi0gIDE2LDB4MThlMCwwLHsweDAyLDB4ZjAsMHgzMCwweDNlLDB4MDYsMHhlMCwweDQ0LDB4MDQsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fSwKLSAgMTYsMHgxOGYwLDAsezB4ZmIsMHhmMCwweDkwLDB4NzYsMHgxYSwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDF9LAotICAxNiwweDE5MDAsMCx7MHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDMwLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MTkxMCwwLHsweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJiLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0fSwKLSAgMTYsMHgxOTIwLDAsezB4ZmQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDIyLDB4OTB9LAotICAxNiwweDE5MzAsMCx7MHg3ZiwweGZjLDB4NzQsMHgxYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZn0sCi0gIDE2LDB4MTk0MCwwLHsweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwfSwKLSAgMTYsMHgxOTUwLDAsezB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTd9LAotICAxNiwweDE5NjAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMn0sCi0gIDE2LDB4MTk3MCwwLHsweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDQ0LDB4MDgsMHhmMCwweDMwfSwKLSAgMTYsMHgxOTgwLDAsezB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTB9LAotICAxNiwweDE5OTAsMCx7MHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3Nn0sCi0gIDE2LDB4MTlhMCwwLHsweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4Y2MsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0fSwKLSAgMTYsMHgxOWIwLDAsezB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmIsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTR9LAotICAxNiwweDE5YzAsMCx7MHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjUsMHg5MH0sCi0gIDE2LDB4MTlkMCwwLHsweDdmLDB4ZmMsMHg3NCwweGM4LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmfSwKLSAgMTYsMHgxOWUwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjB9LAotICAxNiwweDE5ZjAsMCx7MHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMywweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg5OCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MWEwMCwwLHsweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHg1ZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkfSwKLSAgMTYsMHgxYTEwLDAsezB4ZjAsMHg0NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDl9LAotICAxNiwweDFhMjAsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE2LDB4MWEzMCwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMiwweDJlLDB4MjIsMHg5MCwweDc2LDB4OTUsMHhlMCwweDU0fSwKLSAgMTYsMHgxYTQwLDAsezB4ZmUsMHhmMCwweDQ0LDB4MDIsMHhmMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4M2UsMHgwNiwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODB9LAotICAxNiwweDFhNTAsMCx7MHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MH0sCi0gIDE2LDB4MWE2MCwwLHsweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgyNSwweDkwfSwKLSAgMTYsMHgxYTcwLDAsezB4N2YsMHhmYywweDc0LDB4YjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmJ9LAotICAxNiwweDFhODAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMH0sCi0gIDE2LDB4MWE5MCwwLHsweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGIwLDB4ZjAsMHg5MCwweDdmfSwKLSAgMTYsMHgxYWEwLDAsezB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OGYsMHg3NCwweDJmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDJ9LAotICAxNiwweDFhYjAsMCx7MHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwM30sCi0gIDE2LDB4MWFjMCwwLHsweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmfSwKLSAgMTYsMHgxYWQwLDAsezB4NzQsMHg1ZiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg0NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4NzZ9LAotICAxNiwweDFhZTAsMCx7MHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMH0sCi0gIDE2LDB4MWFmMCwwLHsweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyfSwKLSAgIDQsMHgxYjAwLDAsezB4ZjAsMHhkMiwweDJlLDB4MjJ9LAotICAxNiwweDFiMDQsMCx7MHgzMCwweDJjLDB4MzgsMHhjMiwweDJjLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3Y30sCi0gIDE2LDB4MWIxNCwwLHsweDc0LDB4YzAsMHhmMCwweGEzLDB4NzQsMHgxNCwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZCwweGU0fSwKLSAgMTYsMHgxYjI0LDAsezB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4MTAsMHhmMCwweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGJ9LAotICAxMiwweDFiMzQsMCx7MHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweDE4LDB4ZjAsMHhhMywweGYwLDB4MjJ9LAotICAxNiwweDFiNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFiZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxYzgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2IwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWNkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxY2UwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFjZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWQ5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFkZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWRmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWUyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWU4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE0LDB4MWViMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFlZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWVmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmMWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWYyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgIDIsMHgxZjNlLDAsezB4MDAsMHgwMH0sCi0gIDE2LDB4MWY0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWY3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MWZkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgxZmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDFmZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjAwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjAzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwODAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjA5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwYjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIwZTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjBmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxMTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjEyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxNDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxNzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjE4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxYTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIxZDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjFlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMWYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyMDAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjIxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyMzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyNjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyOTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyYzAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIyZjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzMjAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzNTAsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTQsMHgyMzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjM3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyMzhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzOWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2JlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjNkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyM2VlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDIzZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQwZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0MmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQzZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0NWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ2ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNDdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0OGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjQ5ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0YmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRjZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNGRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI0ZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjRmZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1MWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjUyZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1NGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU1ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1N2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjU4ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNTllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1YWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjViZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI1ZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjVlZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2MGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjYxZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2M2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY0ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2NmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjY3ZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNjhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2OWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZhZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNmJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI2Y2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZkZSwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTQsMHgyNmVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjZmYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzBjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3MWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjcyYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzNjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3NGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc1YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3N2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4Mjc4YywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyNzljLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3YWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdiYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgMTYsMHgyN2NjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9LAotICAxNiwweDI3ZGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH0sCi0gIDE2LDB4MjdlYywwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfSwKLSAgIDUsMHgyN2ZjLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMn0sCi0gIDE2LDB4MjgwMSwwLHsweGMyLDB4MjAsMHhjMiwweDIxLDB4YzIsMHgyYSwweDkwLDB4N2YsMHhlOCwweGUwLDB4MTIsMHgzNywweGY5LDB4MjgsMHgzMCwweDAwfSwKLSAgMTYsMHgyODExLDAsezB4MjgsMHg4YywweDAxLDB4MjgsMHhhMiwweDAyLDB4MmEsMHgxZiwweDIxLDB4MmEsMHg2YSwweDIyLDB4MjksMHgzZCwweDgwLDB4Mjl9LAotICAxNiwweDI4MjEsMCx7MHg3ZCwweDgxLDB4MjksMHhkMSwweDgyLDB4MmEsMHg4NCwweGExLDB4MmEsMHhiYSwweGEyLDB4MDAsMHgwMCwweDJhLDB4YmYsMHg5MH0sCi0gIDE2LDB4MjgzMSwwLHsweDdmLDB4ZTksMHhlMCwweDE0LDB4NjAsMHgxMSwweDI0LDB4ZmUsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4M2IsMHgyNCwweGZjfSwKLSAgMTYsMHgyODQxLDAsezB4NzAsMHg0MCwweDEyLDB4M2YsMHhlNSwweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWQsMHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2Z9LAotICAxNiwweDI4NTEsMCx7MHhlYSwweGUwLDB4YjQsMHgwMSwweDA0LDB4YzIsMHgyMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMH0sCi0gIDE2LDB4Mjg2MSwwLHsweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWYsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGQyLDB4MjIsMHg0MSwweGNifSwKLSAgMTYsMHgyODcxLDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9LAotICAxNiwweDI4ODEsMCx7MHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNH0sCi0gIDE2LDB4Mjg5MSwwLHsweGY1LDB4NzAsMHgwNSwweDEyLDB4NDgsMHg2MywweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxfSwKLSAgMTYsMHgyOGExLDAsezB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZmQsMHg2MCwweDU0LDB4MjQsMHgwMiwweDYwLDB4MDIsMHgyMSwweDM0LDB4MTJ9LAotICAxNiwweDI4YjEsMCx7MHg0ZSwweDFkLDB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MzgsMHg5MCwweDdmLDB4ZWMsMHhlMH0sCi0gIDE2LDB4MjhjMSwwLHsweGY0LDB4NTQsMHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0fSwKLSAgMTYsMHgyOGQxLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg1NCwweDgwLDB4ZmZ9LAotICAxNiwweDI4ZTEsMCx7MHgxMywweDEzLDB4MTMsMHg1NCwweDFmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDkwLDB4N2YsMHhkNywweGYwLDB4ZTAsMHg0NH0sCi0gIDE2LDB4MjhmMSwwLHsweDIwLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4MTIsMHg0ZSwweDFmfSwKLSAgMTYsMHgyOTAxLDAsezB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDcwLDB4MjAsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTR9LAotICAxNiwweDI5MTEsMCx7MHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4Mn0sCi0gIDE2LDB4MjkyMSwwLHsweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHgyOTMxLDAsezB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTB9LAotICAxNiwweDI5NDEsMCx7MHg2MCwweDEyLDB4MjQsMHhmOCwweDYwLDB4MDksMHgyNCwweDAyLDB4NzAsMHgyOSwweDEyLDB4NDMsMHhlNywweDQxLDB4Y2IsMHgxMn0sCi0gIDE2LDB4Mjk1MSwwLHsweDRkLDB4Y2EsMHg0MSwweGNiLDB4MTIsMHg0ZSwweDFiLDB4YTIsMHgyMiwweGU0LDB4MzMsMHhmZiwweDI1LDB4ZTAsMHhmZiwweGEyfSwKLSAgMTYsMHgyOTYxLDAsezB4MjMsMHhlNCwweDMzLDB4NGYsMHg5MCwweDdmLDB4MDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDJ9LAotICAxNiwweDI5NzEsMCx7MHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMH0sCi0gIDE2LDB4Mjk4MSwwLHsweDYwLDB4MzMsMHgyNCwweGY2LDB4NjAsMHgyYSwweDI0LDB4MDQsMHg3MCwweDNkLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGRlfSwKLSAgMTYsMHgyOTkxLDAsezB4NjAsMHgwYywweDA0LDB4NzAsMHgxMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2Z9LAotICAxNiwweDI5YTEsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYn0sCi0gIDE2LDB4MjliMSwwLHsweDEyLDB4NDcsMHg0NSwweDQxLDB4Y2IsMHgxMiwweDRlLDB4MWIsMHhlNCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHhmMCwweDkwfSwKLSAgMTYsMHgyOWMxLDAsezB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2J9LAotICAxNiwweDI5ZDEsMCx7MHg5MCwweDdmLDB4ZTksMHhlMCwweDI0LDB4ZjQsMHg2MCwweDM0LDB4MjQsMHgwYywweDcwLDB4MzksMHgxMiwweDRlLDB4MWIsMHg5MH0sCi0gIDE2LDB4MjllMSwwLHsweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTQsMHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1fSwKLSAgMTYsMHgyOWYxLDAsezB4ZTAsMHgyNCwweGI0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZmQsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDJhMDEsMCx7MHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMH0sCi0gIDE2LDB4MmExMSwwLHsweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmfSwKLSAgMTYsMHgyYTIxLDAsezB4ZTksMHhlMCwweDI0LDB4ZjYsMHg2MCwweDEyLDB4MTQsMHg2MCwweDFhLDB4MjQsMHgwMiwweDcwLDB4MWQsMHhkMiwweDIwLDB4OTB9LAotICAxNiwweDJhMzEsMCx7MHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDIsMHgyMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMX0sCi0gIDE2LDB4MmE0MSwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyMCwweDE4LDB4OTAsMHg3ZiwweGVlfSwKLSAgMTYsMHgyYTUxLDAsezB4ZTAsMHg3MCwweDA0LDB4YTMsMHhlMCwweDYwLDB4MGIsMHhkMiwweDI5LDB4ZDIsMHgyNywweDEyLDB4MTcsMHg0YSwweGQyLDB4MmF9LAotICAxNiwweDJhNjEsMCx7MHg4MCwweDAzLDB4MTIsMHgwOCwweDAwLDB4YzIsMHgyMCwweDgwLDB4NjEsMHg5MCwweDdmLDB4ZWUsMHhlMCwweDcwLDB4MDQsMHhhM30sCi0gIDE2LDB4MmE3MSwwLHsweGUwLDB4NjAsMHgwYiwweGQyLDB4MjksMHhkMiwweDI4LDB4MTIsMHgxNywweDRhLDB4ZDIsMHgyYSwweDgwLDB4NGMsMHgxMiwweDM4fSwKLSAgMTYsMHgyYTgxLDAsezB4NzQsMHg4MCwweDQ3LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYSwweDI0LDB4MDJ9LAotICAxNiwweDJhOTEsMCx7MHg3MCwweDFkLDB4ZDIsMHgyMSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsMHgxMiwweGQyLDB4MjEsMHg5MH0sCi0gIDE2LDB4MmFhMSwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwfSwKLSAgMTYsMHgyYWIxLDAsezB4MjEsMHgwMywweDEyLDB4MTAsMHgwMCwweGMyLDB4MjEsMHg4MCwweDExLDB4MTIsMHgyYSwweGQ2LDB4ODAsMHgwYywweDEyLDB4NGV9LAotICAxNiwweDJhYzEsMCx7MHgyMSwweDUwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwLDB4MmEsMHgwNywweDkwLDB4N2YsMHhiNH0sCi0gICA1LDB4MmFkMSwwLHsweGUwLDB4NDQsMHgwMiwweGYwLDB4MjJ9LAotICAxNiwweDJhZDYsMCx7MHhlNCwweDkwLDB4NzYsMHgyNywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn0sCi0gIDE2LDB4MmFlNiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHgyYWY2LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNywweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDJiMDYsMCx7MHhlZiwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwZn0sCi0gIDE2LDB4MmIxNiwwLHsweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MjgsMHhmMCwweDI0fSwKLSAgMTYsMHgyYjI2LDAsezB4OWYsMHg3MCwweDAyLDB4YTEsMHg3NCwweDI0LDB4MjEsMHg2MCwweDAyLDB4YTEsMHhhMSwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9LAotICAxNiwweDJiMzYsMCx7MHg3ZSwweDcwLDB4MDIsMHg2MSwweGZjLDB4MTQsMHg3MCwweDAyLDB4ODEsMHhiNSwweDI0LDB4MDIsMHg2MCwweDAyLDB4YTEsMHg2Y30sCi0gIDE2LDB4MmI0NiwwLHsweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjfSwKLSAgMTYsMHgyYjU2LDAsezB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4Nzh9LAotICAxNiwweDJiNjYsMCx7MHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMCwweDc0LDB4NDQsMHhmMCwweGEzLDB4NzQsMHhhY30sCi0gIDE2LDB4MmI3NiwwLHsweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwfSwKLSAgMTYsMHgyYjg2LDAsezB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmR9LAotICAxNiwweDJiOTYsMCx7MHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDgwLDB4N2EsMHhiYiwweDc5LDB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMn0sCi0gIDE2LDB4MmJhNiwwLHsweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzfSwKLSAgMTYsMHgyYmI2LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjR9LAotICAxNiwweDJiYzYsMCx7MHg0MywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MmJkNiwwLHsweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDYwfSwKLSAgMTYsMHgyYmU2LDAsezB4MDIsMHhhMSwweGE4LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTB9LAotICAxNiwweDJiZjYsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4MjIsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0N30sCi0gIDE2LDB4MmMwNiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzfSwKLSAgMTYsMHgyYzE2LDAsezB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTN9LAotICAxNiwweDJjMjYsMCx7MHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWMsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNX0sCi0gIDE2LDB4MmMzNiwwLHsweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgyYzQ2LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2J9LAotICAxNiwweDJjNTYsMCx7MHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NzAsMHgxMywweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4MmM2NiwwLHsweDc0LDB4ODAsMHhmMCwweGEzLDB4NzQsMHhiYiwweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwfSwKLSAgMTYsMHgyYzc2LDAsezB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDJjODYsMCx7MHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDAwLDB4N2EsMHg3N30sCi0gIDE2LDB4MmM5NiwwLHsweDc5LDB4MDEsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg2MCwweDAyLDB4YTEsMHhhOCwweDkwLDB4N2YsMHgwMCwweGYwfSwKLSAgMTYsMHgyY2E2LDAsezB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTB9LAotICAxNiwweDJjYjYsMCx7MHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MmNjNiwwLHsweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmUsMHhhMywweGUwLDB4ZmYsMHg3YiwweDQ0LDB4N2EsMHhhYywweDc5fSwKLSAgMTYsMHgyY2Q2LDAsezB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTN9LAotICAxNiwweDJjZTYsMCx7MHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMH0sCi0gIDE2LDB4MmNmNiwwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmYywweGEzfSwKLSAgMTYsMHgyZDA2LDAsezB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDB9LAotICAxNiwweDJkMTYsMCx7MHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMH0sCi0gIDE2LDB4MmQyNiwwLHsweGU0LDB4YTMsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmfSwKLSAgMTYsMHgyZDM2LDAsezB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTN9LAotICAxNiwweDJkNDYsMCx7MHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzN30sCi0gIDE2LDB4MmQ1NiwwLHsweGFiLDB4NzAsMHg0ZiwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwfSwKLSAgMTYsMHgyZDY2LDAsezB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAxNiwweDJkNzYsMCx7MHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MWUsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Zn0sCi0gIDE2LDB4MmQ4NiwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0fSwKLSAgMTYsMHgyZDk2LDAsezB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9LAotICAgMywweDJkYTYsMCx7MHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDJkYTksMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4MmRiOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyfSwKLSAgMTYsMHgyZGM5LDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjV9LAotICAxNiwweDJkZDksMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZn0sCi0gIDE2LDB4MmRlOSwwLHsweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxMCwweGYwfSwKLSAgMTYsMHgyZGY5LDAsezB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDV9LAotICAxNiwweDJlMDksMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNH0sCi0gIDE2LDB4MmUxOSwwLHsweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1fSwKLSAgMTYsMHgyZTI5LDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9LAotICAxNiwweDJlMzksMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNH0sCi0gIDE2LDB4MmU0OSwwLHsweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwfSwKLSAgMTYsMHgyZTU5LDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9LAotICAxNiwweDJlNjksMCx7MHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gIDE2LDB4MmU3OSwwLHsweDc0LDB4MDMsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgyZTg5LDAsezB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9LAotICAxNiwweDJlOTksMCx7MHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxMCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNH0sCi0gIDE2LDB4MmVhOSwwLHsweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDYsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHgyZWI5LDAsezB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTB9LAotICAxNiwweDJlYzksMCx7MHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4MmVkOSwwLHsweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgyZWU5LDAsezB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzR9LAotICAxNiwweDJlZjksMCx7MHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwM30sCi0gIDE2LDB4MmYwOSwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwfSwKLSAgMTYsMHgyZjE5LDAsezB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDgsMHhmMCwweGVmLDB4NzV9LAotICAxNiwweDJmMjksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHg5MH0sCi0gIDE2LDB4MmYzOSwwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgyZjQ5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODJ9LAotICAxNiwweDJmNTksMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwYSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNX0sCi0gIDE2LDB4MmY2OSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwfSwKLSAgMTYsMHgyZjc5LDAsezB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDJ9LAotICAxNiwweDJmODksMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH0sCi0gIDE2LDB4MmY5OSwwLHsweDA5LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgyZmE5LDAsezB4NzQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjR9LAotICAxNiwweDJmYjksMCx7MHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNH0sCi0gIDE2LDB4MmZjOSwwLHsweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDcsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTQsMHgyZmQ5LDAsezB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHgyMn0sCi0gIDE2LDB4MmZlNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjYsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfSwKLSAgIDgsMHgyZmY3LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gICAxLDB4MmZmZiwwLHsweDMyfSwKLSAgMTYsMHgzMDAwLDAsezB4OTAsMHg3ZiwweGI2LDB4ZTAsMHgyMCwweGUxLDB4MDIsMHhjMiwweDNkLDB4ZDIsMHgzNiwweDIwLDB4MzYsMHgwMiwweDQxLDB4NmV9LAotICAxNiwweDMwMTAsMCx7MHgzMCwweDNkLDB4MDIsMHg0MSwweDZlLDB4OTAsMHg4MCwweDA3LDB4ZTAsMHg2MCwweDA0LDB4ZDIsMHgzNiwweDgwLDB4MDIsMHhjMn0sCi0gIDE2LDB4MzAyMCwwLHsweDM2LDB4MjAsMHgzNiwweDAyLDB4NDEsMHgyZSwweGQyLDB4MzUsMHhlNCwweGY1LDB4MWEsMHg5MCwweDgwLDB4MDQsMHhlMCwweGY1fSwKLSAgMTYsMHgzMDMwLDAsezB4MTksMHg3NCwweDA4LDB4MjUsMHgwZSwweGY4LDB4YTYsMHgxOSwweDg1LDB4MTksMHgxOCwweGU1LDB4MTgsMHgyMCwweGU3LDB4MDR9LAotICAxNiwweDMwNDAsMCx7MHhkMiwweDM4LDB4ODAsMHgwMiwweGMyLDB4MzgsMHgzMCwweDM4LDB4MDIsMHgyMSwweGQ0LDB4ZTQsMHhmNSwweDE2LDB4ZTUsMHgxOX0sCi0gIDE2LDB4MzA1MCwwLHsweGI0LDB4ZjAsMHgwYywweGQyLDB4MzksMHg3NSwweDA4LDB4MDQsMHg3NSwweDA5LDB4ZjAsMHgwNSwweDBlLDB4ODAsMHgwMiwweDA1fSwKLSAgMTYsMHgzMDYwLDAsezB4MTYsMHhlNSwweDE5LDB4NjQsMHhmNywweDcwLDB4M2QsMHhjMiwweDM5LDB4ZTUsMHgwZSwweDI0LDB4ZmUsMHg2MCwweDE3LDB4MTR9LAotICAxNiwweDMwNzAsMCx7MHg2MCwweDIyLDB4MjQsMHgwMywweDcwLDB4MjksMHg3NSwweDA4LDB4MDUsMHg3NSwweDA5LDB4ZjcsMHhlNCwweGY1LDB4MGEsMHhmNX0sCi0gIDE2LDB4MzA4MCwwLHsweDBiLDB4NzUsMHgwZSwweDA0LDB4ODAsMHgyMCwweDc1LDB4MDgsMHgwNiwweDc1LDB4MGEsMHhmNywweGU0LDB4ZjUsMHgwYiwweDc1fSwKLSAgMTYsMHgzMDkwLDAsezB4MGUsMHgwNCwweDgwLDB4MTIsMHg3NSwweDA4LDB4MDcsMHg3NSwweDBiLDB4ZjcsMHg3NSwweDBlLDB4MDQsMHg4MCwweDA3LDB4MTJ9LAotICAxNiwweDMwYTAsMCx7MHg0ZCwweGRhLDB4ODAsMHgwMiwweDA1LDB4MTYsMHhlNSwweDE5LDB4NTQsMHhmOCwweDY0LDB4ZjgsMHg3MCwweDNiLDB4YzIsMHgzNX0sCi0gIDE2LDB4MzBiMCwwLHsweGU1LDB4MTksMHgyNCwweDA3LDB4NjAsMHgwYywweDI0LDB4ZmMsMHg2MCwweDA4LDB4MjQsMHgwNSwweDI0LDB4ZjgsMHg1MCwweDA2fSwKLSAgMTYsMHgzMGMwLDAsezB4ODAsMHgwOCwweGQyLDB4M2EsMHg4MCwweDA2LDB4YzIsMHgzYSwweDgwLDB4MDIsMHhkMiwweDNhLDB4NzUsMHgxYSwweDAxLDB4MjB9LAotICAxNiwweDMwZDAsMCx7MHgzYSwweDE5LDB4OTAsMHg3ZSwweDgwLDB4NzQsMHgwZiwweGYwLDB4YTMsMHhlNSwweDE5LDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhM30sCi0gIDE2LDB4MzBlMCwwLHsweGYwLDB4OTAsMHg3ZiwweGI3LDB4NzQsMHgwNCwweGYwLDB4ODAsMHgwMiwweDA1LDB4MTYsMHgyMCwweDM5LDB4NmQsMHhlNSwweDE5fSwKLSAgMTYsMHgzMGYwLDAsezB4NjQsMHhmNywweDYwLDB4NjcsMHhlNSwweDFhLDB4NzAsMHg2MywweGU1LDB4MTgsMHg1NCwweGYwLDB4NjQsMHhmMCwweDcwLDB4NTl9LAotICAxNiwweDMxMDAsMCx7MHg4NSwweDE4LDB4MTksMHhmNSwweDBlLDB4ZTUsMHgxOSwweDI0LDB4MGYsMHg2MCwweDFiLDB4MjQsMHhmZSwweDYwLDB4MTcsMHgyNH0sCi0gIDE2LDB4MzExMCwwLHsweGZkLDB4NjAsMHgyMiwweDE0LDB4NjAsMHgxZiwweDI0LDB4MDUsMHg3MCwweDJmLDB4NzUsMHgwOCwweDAzLDB4MDUsMHgwZSwweDg1fSwKLSAgMTYsMHgzMTIwLDAsezB4MTgsMHgwOSwweGQyLDB4MzcsMHg4MCwweDI4LDB4NzUsMHgwOCwweDAyLDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweDc1LDB4MTR9LAotICAxNiwweDMxMzAsMCx7MHgwMSwweGQyLDB4MzcsMHg4MCwweDE5LDB4NzUsMHgwOCwweDA1LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweGU0LDB4ZjUsMHgwYX0sCi0gIDE2LDB4MzE0MCwwLHsweGY1LDB4MGIsMHg3NSwweDBlLDB4MDMsMHhkMiwweDM3LDB4ODAsMHgwNSwweDEyLDB4NGQsMHhkYSwweGMyLDB4MzUsMHgzMCwweDM1fSwKLSAgMTYsMHgzMTUwLDAsezB4MGEsMHg4NSwweDA4LDB4MTMsMHg4NSwweDE4LDB4MTIsMHg4MCwweDAyLDB4MDUsMHgxNiwweDg1LDB4MTgsMHgxOSwweGU1LDB4MTZ9LAotICAxNiwweDMxNjAsMCx7MHg2NCwweDA0LDB4NzAsMHg2MiwweGY1LDB4MGUsMHhlNSwweDE5LDB4NTQsMHhmMCwweGY1LDB4MTksMHhmNSwweDE1LDB4ODUsMHgxOH0sCi0gIDE2LDB4MzE3MCwwLHsweDE5LDB4ZTUsMHgxNSwweDI0LDB4NzAsMHg2MCwweDE4LDB4MjQsMHhmMCwweDYwLDB4MTQsMHgyNCwweGYwLDB4NjAsMHgxMCwweDI0fSwKLSAgMTYsMHgzMTgwLDAsezB4ZjAsMHg2MCwweDFlLDB4MjQsMHhmMCwweDYwLDB4MWEsMHgyNCwweGYwLDB4NjAsMHgwNCwweDI0LDB4NjAsMHg3MCwweDI3LDB4ZTV9LAotICAxNiwweDMxOTAsMCx7MHgxNSwweGM0LDB4NTQsMHgwZiwweGY1LDB4MTksMHhmNSwweDA4LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweGQyLDB4MzcsMHg4MH0sCi0gIDE2LDB4MzFhMCwwLHsweDFhLDB4ZTUsMHgxNSwweGM0LDB4NTQsMHgwZiwweGY1LDB4MTksMHhmNSwweDA4LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweDc1fSwKLSAgMTYsMHgzMWIwLDAsezB4MTQsMHgwMSwweGQyLDB4MzcsMHg4MCwweDA1LDB4MTIsMHg0ZCwweGRhLDB4YzIsMHgzNSwweDMwLDB4MzUsMHgwYSwweDg1LDB4MTl9LAotICAxNiwweDMxYzAsMCx7MHgxMywweDg1LDB4MTgsMHgxMiwweDgwLDB4MDIsMHgwNSwweDE2LDB4ZTUsMHgxNiwweGQzLDB4OTQsMHgwNSwweDQwLDB4NTcsMHgxMn0sCi0gIDE2LDB4MzFkMCwwLHsweDRkLDB4ZGEsMHg4MCwweDUyLDB4MzAsMHgzOSwweDE3LDB4ZTUsMHgwZSwweDcwLDB4MGEsMHg4NSwweDA4LDB4MDksMHg3NSwweDA4fSwKLSAgMTYsMHgzMWUwLDAsezB4MDQsMHgwNSwweDBlLDB4ODAsMHg0MSwweDc0LDB4MDgsMHgyNSwweDBlLDB4ZjgsMHhhNiwweDE5LDB4ODAsMHgzOCwweDIwLDB4Mzd9LAotICAxNiwweDMxZjAsMCx7MHgyYSwweGU1LDB4MGUsMHhiNCwweDAxLDB4MGYsMHg4NSwweDA4LDB4MGEsMHg4NSwweDA5LDB4MGIsMHg4NSwweDEzLDB4MDgsMHg4NX0sCi0gIDE2LDB4MzIwMCwwLHsweDEyLDB4MDksMHg3NSwweDBlLDB4MDQsMHhlNSwweDE0LDB4YjQsMHgwMSwweDFjLDB4ODUsMHgwOCwweDBhLDB4ZTQsMHhmNSwweDBifSwKLSAgMTYsMHgzMjEwLDAsezB4ODUsMHgxMywweDA4LDB4ODUsMHgxMiwweDA5LDB4NzUsMHgwZSwweDA0LDB4ODAsMHgwYiwweGU1LDB4MTQsMHhiNCwweDAxLDB4MDZ9LAotICAxNiwweDMyMjAsMCx7MHhlNCwweGY1LDB4MGIsMHg3NSwweDBlLDB4MDQsMHhlNCwweGY1LDB4MWEsMHgzMCwweDM1LDB4MDIsMHgwNSwweDBlLDB4ZTUsMHgwZX0sCi0gIDE2LDB4MzIzMCwwLHsweGQzLDB4OTQsMHgwMywweDUwLDB4MDIsMHgwMSwweDBiLDB4YzIsMHgzNywweGU0LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhjMiwweDM2fSwKLSAgMTYsMHgzMjQwLDAsezB4ZDIsMHgzZCwweGY1LDB4MTQsMHg3NCwweDA4LDB4MjUsMHgxMCwweGY4LDB4ZTYsMHhmZiwweDc0LDB4ODAsMHgyNSwweDEwLDB4ZjV9LAotICAxNiwweDMyNTAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlZiwweGYwLDB4NzQsMHgwOCwweDI1LDB4MTAsMHhmOCwweGU0LDB4ZjYsMHgwNX0sCi0gIDE1LDB4MzI2MCwwLHsweDEwLDB4ZTUsMHgxMCwweGI0LDB4MDQsMHhkZSwweDkwLDB4N2YsMHhiNywweDc0LDB4MDQsMHhmMCwweDAxLDB4MGIsMHgyMn0sCi0gIDE2LDB4MzI2ZiwwLHsweDkwLDB4NzYsMHgxOCwweGUwLDB4ZmYsMHg2NCwweDA1LDB4NzAsMHg0MiwweDkwLDB4NzUsMHhhYiwweGUwLDB4YjQsMHgwMSwweDE5fSwKLSAgMTYsMHgzMjdmLDAsezB4OTAsMHg3MiwweDM3LDB4NzQsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwLDB4ODAsMHgzMSwweGYwLDB4OTB9LAotICAxNiwweDMyOGYsMCx7MHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweDgwLDB4MjIsMHhlNCwweDkwLDB4NzIsMHgzNywweGYwLDB4OTAsMHg3NX0sCi0gIDE2LDB4MzI5ZiwwLHsweGFkLDB4ZTAsMHg5MCwweDcyLDB4MmIsMHhmMCwweGUwLDB4MjQsMHg4MCwweGYwLDB4ZTAsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwfSwKLSAgMTYsMHgzMmFmLDAsezB4ODAsMHgzMSwweGYwLDB4OTAsMHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweGVmLDB4NjQsMHgwNiwweDYwLDB4MDJ9LAotICAxNiwweDMyYmYsMCx7MHg4MSwweDk5LDB4OTAsMHg3MiwweDM5LDB4NzQsMHgwNCwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHhmZiwweDI0LDB4ZmUsMHg5MH0sCi0gIDE2LDB4MzJjZiwwLHsweDcyLDB4MDQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzMmRmLDAsezB4ODMsMHhlMCwweDY0LDB4MDEsMHg3MCwweDU0LDB4OTAsMHg3MiwweDM2LDB4MDQsMHhmMCwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmZ9LAotICAxNiwweDMyZWYsMCx7MHgyNCwweGZkLDB4NjAsMHgyOCwweDI0LDB4ZmUsMHg2MCwweDI0LDB4MjQsMHgwMywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgxY30sCi0gIDE2LDB4MzJmZiwwLHsweDgxLDB4OGMsMHg3NCwweDIwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3NCwweDI4fSwKLSAgMTYsMHgzMzBmLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg4MSwweDhjLDB4OTAsMHg3MiwweDA0LDB4ZTB9LAotICAxNiwweDMzMWYsMCx7MHhmZiwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg3NCwweDM4LDB4MmYsMHhmNX0sCi0gIDE2LDB4MzMyZiwwLHsweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg4MSwweDhjLDB4ZTQsMHg5MCwweDcyLDB4MzYsMHhmMCwweDkwfSwKLSAgMTYsMHgzMzNmLDAsezB4NzIsMHgzOSwweGUwLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9LAotICAxNiwweDMzNGYsMCx7MHhlMCwweGZmLDB4N2UsMHgwMCwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg3MCwweDA2LDB4OTAsMHg3Mn0sCi0gIDE2LDB4MzM1ZiwwLHsweDAyLDB4NzQsMHgzYiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDY0LDB4ODAsMHg0ZSwweDcwfSwKLSAgMTYsMHgzMzZmLDAsezB4MDQsMHg5MCwweDcyLDB4MDIsMHhmMCwweGVmLDB4NGUsMHg3MCwweDAyLDB4ODEsMHgzNSwweGVmLDB4NjQsMHg4MCwweDRlLDB4NzB9LAotICAxNiwweDMzN2YsMCx7MHgwMiwweDgxLDB4MzUsMHhlZiwweGY4LDB4ZTQsMHg5MCwweDc1LDB4MGQsMHhmMCwweGU4LDB4OTAsMHg3NSwweDBjLDB4ZjAsMHg5MH0sCi0gIDE2LDB4MzM4ZiwwLHsweDcyLDB4MzQsMHhlMCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgzMzlmLDAsezB4ZTAsMHhmZiwweDkwLDB4NzIsMHgwMiwweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyZiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTB9LAotICAxNiwweDMzYWYsMCx7MHgzNCwweDAwLDB4ZjAsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4N2IsMHhkNiwweDdhLDB4YTUsMHhmOX0sCi0gIDE2LDB4MzNiZiwwLHsweGY4LDB4ZDMsMHgxMiwweDM3LDB4OTUsMHg0MCwweDBhLDB4OTAsMHg3NSwweDBjLDB4NzQsMHhhNSwweGYwLDB4YTMsMHg3NCwweGQ2fSwKLSAgMTYsMHgzM2NmLDAsezB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDI0LDB4MmEsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHg1YSwweGYwLDB4ZTB9LAotICAxNiwweDMzZGYsMCx7MHhmZSwweGEzLDB4ZTAsMHg3OCwweDA1LDB4Y2UsMHhhMiwweGU3LDB4MTMsMHhjZSwweDEzLDB4ZDgsMHhmOCwweGZmLDB4OTAsMHg3NX0sCi0gIDE2LDB4MzNlZiwwLHsweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDkwLDB4NzIsMHgyYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHhkMywweDk0fSwKLSAgMTYsMHgzM2ZmLDAsezB4ZDIsMHhlZSwweDY0LDB4ODAsMHg5NCwweDgyLDB4NDAsMHgwYSwweDkwLDB4NzIsMHgyYywweDc0LDB4MDIsMHhmMCwweGEzLDB4NzR9LAotICAxNiwweDM0MGYsMCx7MHhkMiwweGYwLDB4YzMsMHg5MCwweDcyLDB4MmMsMHhlMCwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwNCwweGU0LDB4ZjAsMHhhM30sCi0gIDE2LDB4MzQxZiwwLHsweGYwLDB4OTAsMHg3MiwweDJjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHgyNCwweDNhLDB4ZjUsMHg4MiwweGVlLDB4MzQsMHg3MiwweGY1fSwKLSAgMTYsMHgzNDJmLDAsezB4ODMsMHhlMCwweDkwLDB4NzIsMHgwMiwweGYwLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZiwweDI0LDB4ZmQsMHg2MCwweDJkLDB4MjR9LAotICAxNiwweDM0M2YsMCx7MHhmZSwweDYwLDB4MjksMHgyNCwweDAzLDB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDIxLDB4ODAsMHg0MCwweDkwLDB4NzIsMHgwMn0sCi0gIDE2LDB4MzQ0ZiwwLHsweGUwLDB4ZmUsMHg3NCwweDIwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDI4fSwKLSAgMTYsMHgzNDVmLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4MCwweDIxLDB4OTAsMHg3MiwweDAyLDB4ZTB9LAotICAxNiwweDM0NmYsMCx7MHhmZiwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmUsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZn0sCi0gIDE2LDB4MzQ3ZiwwLHsweGYwLDB4NzQsMHgzOCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3MiwweDM5fSwKLSAgMTEsMHgzNDhmLDAsezB4ZTAsMHgwNCwweGYwLDB4ZTAsMHg2NCwweDBhLDB4NjAsMHgwMiwweDQxLDB4YzcsMHgyMn0sCi0gIDE2LDB4MzQ5YSwwLHsweDkwLDB4NzYsMHgxOCwweGUwLDB4ZmYsMHhiNCwweDA1LDB4MjMsMHg5MCwweDcyLDB4MzcsMHhlMCwweDcwLDB4MWQsMHg5MCwweDc1fSwKLSAgMTYsMHgzNGFhLDAsezB4YWQsMHhlMCwweDkwLDB4NzIsMHgyYiwweGYwLDB4ZTAsMHgyNCwweDgwLDB4ZjAsMHhlMCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTB9LAotICAxNiwweDM0YmEsMCx7MHg4MCwweDMxLDB4ZjAsMHg5MCwweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ZWYsMHg2NCwweDA2LDB4NjAsMHgwMn0sCi0gIDE2LDB4MzRjYSwwLHsweGMxLDB4OTEsMHg5MCwweDcyLDB4MzYsMHhlMCwweDYwLDB4MDIsMHhjMSwweDkxLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDMxfSwKLSAgMTYsMHgzNGRhLDAsezB4OTAsMHg3MiwweDAzLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3MiwweDAzLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjR9LAotICAxNiwweDM0ZWEsMCx7MHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzIsMHgyOSwweGUwLDB4ZmQsMHhlZX0sCi0gIDE2LDB4MzRmYSwwLHsweDZkLDB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBhLDB4NTAsMHgwOCwweDkwLDB4NzIsMHgwMywweGUwLDB4MDQsMHhmMCwweDgwfSwKLSAgMTYsMHgzNTBhLDAsezB4ZDUsMHg5MCwweDcyLDB4MzksMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhlMCwweDcwLDB4MDgsMHg5MCwweDcyLDB4MDN9LAotICAxNiwweDM1MWEsMCx7MHhlMCwweDkwLDB4NzIsMHgzOSwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHhmZCwweDI0LDB4ZmUsMHg5MCwweDcyLDB4MmEsMHhmMH0sCi0gIDE2LDB4MzUyYSwwLHsweGVkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmfSwKLSAgMTYsMHgzNTNhLDAsezB4N2UsMHgwMCwweDkwLDB4NzUsMHgwYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHg3MCwweDA2LDB4OTAsMHg3MiwweDAyLDB4NzR9LAotICAxNiwweDM1NGEsMCx7MHg4MCwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDY0LDB4ODAsMHg0ZSwweDcwLDB4MDQsMHg5MH0sCi0gIDE2LDB4MzU1YSwwLHsweDcyLDB4MDIsMHhmMCwweGVmLDB4NGUsMHg3MCwweDAyLDB4YzEsMHgxYiwweGVmLDB4NjQsMHg4MCwweDRlLDB4NzAsMHgwMiwweGMxfSwKLSAgMTYsMHgzNTZhLDAsezB4MWIsMHhlZiwweGY4LDB4ZTQsMHg5MCwweDc1LDB4MGQsMHhmMCwweGU4LDB4OTAsMHg3NSwweDBjLDB4ZjAsMHhlZCwweDc1LDB4ZjB9LAotICAxNiwweDM1N2EsMCx7MHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzIsMHgwMn0sCi0gIDE2LDB4MzU4YSwwLHsweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyZiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHgzNCwweDAwLDB4ZjAsMHhlMCwweGZlfSwKLSAgMTYsMHgzNTlhLDAsezB4YTMsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4N2IsMHhkNiwweDdhLDB4YTUsMHhmOSwweGY4LDB4ZDMsMHgxMiwweDM3LDB4OTV9LAotICAxNiwweDM1YWEsMCx7MHg0MCwweDBhLDB4OTAsMHg3NSwweDBjLDB4NzQsMHhhNSwweGYwLDB4YTMsMHg3NCwweGQ2LDB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMH0sCi0gIDE2LDB4MzViYSwwLHsweDI0LDB4MmEsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHg1YSwweGYwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHg3OCwweDA1fSwKLSAgMTYsMHgzNWNhLDAsezB4Y2UsMHhhMiwweGU3LDB4MTMsMHhjZSwweDEzLDB4ZDgsMHhmOCwweGZmLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWZ9LAotICAxNiwweDM1ZGEsMCx7MHhmMCwweDkwLDB4NzIsMHgyYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHhkMywweDk0LDB4ZDIsMHhlZSwweDY0LDB4ODAsMHg5NH0sCi0gIDE2LDB4MzVlYSwwLHsweDgyLDB4NDAsMHgwYSwweDkwLDB4NzIsMHgyYywweDc0LDB4MDIsMHhmMCwweGEzLDB4NzQsMHhkMiwweGYwLDB4YzMsMHg5MCwweDcyfSwKLSAgMTYsMHgzNWZhLDAsezB4MmMsMHhlMCwweDY0LDB4ODAsMHg5NCwweDgwLDB4NTAsMHgwNCwweGU0LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3MiwweDJjLDB4ZTB9LAotICAxNiwweDM2MGEsMCx7MHhmZSwweGEzLDB4ZTAsMHgyNCwweDNhLDB4ZjUsMHg4MiwweGVlLDB4MzQsMHg3MiwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzIsMHgwMn0sCi0gIDE2LDB4MzYxYSwwLHsweGYwLDB4OTAsMHg3MiwweDJhLDB4ZTAsMHhmZiwweDI0LDB4ZmQsMHg2MCwweDJkLDB4MjQsMHhmZSwweDYwLDB4MjksMHgyNCwweDAzfSwKLSAgMTYsMHgzNjJhLDAsezB4MjQsMHhmYiwweDUwLDB4MDQsMHg2MCwweDIxLDB4ODAsMHg0MCwweDkwLDB4NzIsMHgwMiwweGUwLDB4ZmUsMHg3NCwweDIwLDB4MmZ9LAotICAxNiwweDM2M2EsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDI4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4MzY0YSwwLHsweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4MCwweDIxLDB4OTAsMHg3MiwweDAyLDB4ZTAsMHhmZiwweDkwLDB4NzIsMHgyYSwweGUwfSwKLSAgMTYsMHgzNjVhLDAsezB4ZmUsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4NzQsMHgzOCwweDJlLDB4ZjV9LAotICAxNiwweDM2NmEsMCx7MHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDA2LDB4OTAsMHg3Mn0sCi0gIDE2LDB4MzY3YSwwLHsweDM5LDB4NzQsMHgwYSwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhjMywweDk0LDB4MGEsMHg1MCwweDAyfSwKLSAgIDgsMHgzNjhhLDAsezB4YTEsMHgxMSwweGU0LDB4OTAsMHg3NiwweDQwLDB4ZjAsMHgyMn0sCi0gIDE2LDB4MzY5MiwwLHsweGJiLDB4MDEsMHgwNiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTAsMHgyMiwweDUwLDB4MDIsMHhlNywweDIyLDB4YmIsMHhmZSwweDAyfSwKLSAgIDksMHgzNmEyLDAsezB4ZTMsMHgyMiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTQsMHg5MywweDIyfSwKLSAgMTYsMHgzNmFiLDAsezB4YmIsMHgwMSwweDBjLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweDIyLDB4NTB9LAotICAxNiwweDM2YmIsMCx7MHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTYsMHgyMiwweGJiLDB4ZmUsMHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHgyMn0sCi0gIDEzLDB4MzZjYiwwLHsweGU1LDB4ODIsMHgyOSwweGY1LDB4ODIsMHhlNSwweDgzLDB4M2EsMHhmNSwweDgzLDB4ZTQsMHg5MywweDIyfSwKLSAgMTYsMHgzNmQ4LDAsezB4YzIsMHhkNSwweGVjLDB4MzAsMHhlNywweDA5LDB4YjIsMHhkNSwweGU0LDB4YzMsMHg5ZCwweGZkLDB4ZTQsMHg5YywweGZjLDB4ZWV9LAotICAxNiwweDM2ZTgsMCx7MHgzMCwweGU3LDB4MTUsMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgxMiwweDM4LDB4MWYsMHhjM30sCi0gIDE2LDB4MzZmOCwwLHsweGU0LDB4OWQsMHhmZCwweGU0LDB4OWMsMHhmYywweDgwLDB4MDMsMHgxMiwweDM4LDB4MWYsMHgzMCwweGQ1LDB4MDcsMHhjMywweGU0fSwKLSAgIDYsMHgzNzA4LDAsezB4OWYsMHhmZiwweGU0LDB4OWUsMHhmZSwweDIyfSwKLSAgMTYsMHgzNzBlLDAsezB4YmIsMHgwMSwweDEwLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweGY1LDB4ZjB9LAotICAxNiwweDM3MWUsMCx7MHhhMywweGUwLDB4MjIsMHg1MCwweDA5LDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg4NiwweGYwLDB4MDgsMHhlNiwweDIyLDB4YmIsMHhmZX0sCi0gIDE2LDB4MzcyZSwwLHsweDBhLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHhlMiwweGY1LDB4ZjAsMHgwOCwweGUyLDB4MjIsMHhlNSwweDgzLDB4MmEsMHhmNSwweDgzfSwKLSAgIDgsMHgzNzNlLDAsezB4ZTksMHg5MywweGY1LDB4ZjAsMHhhMywweGU5LDB4OTMsMHgyMn0sCi0gIDE2LDB4Mzc0NiwwLHsweGU4LDB4OGYsMHhmMCwweGE0LDB4Y2MsMHg4YiwweGYwLDB4YTQsMHgyYywweGZjLDB4ZTksMHg4ZSwweGYwLDB4YTQsMHgyYywweGZjfSwKLSAgMTYsMHgzNzU2LDAsezB4OGEsMHhmMCwweGVkLDB4YTQsMHgyYywweGZjLDB4ZWEsMHg4ZSwweGYwLDB4YTQsMHhjZCwweGE4LDB4ZjAsMHg4YiwweGYwLDB4YTR9LAotICAxNiwweDM3NjYsMCx7MHgyZCwweGNjLDB4MzgsMHgyNSwweGYwLDB4ZmQsMHhlOSwweDhmLDB4ZjAsMHhhNCwweDJjLDB4Y2QsMHgzNSwweGYwLDB4ZmMsMHhlYn0sCi0gIDE2LDB4Mzc3NiwwLHsweDhlLDB4ZjAsMHhhNCwweGZlLDB4YTksMHhmMCwweGViLDB4OGYsMHhmMCwweGE0LDB4Y2YsMHhjNSwweGYwLDB4MmUsMHhjZCwweDM5fSwKLSAgMTUsMHgzNzg2LDAsezB4ZmUsMHhlNCwweDNjLDB4ZmMsMHhlYSwweGE0LDB4MmQsMHhjZSwweDM1LDB4ZjAsMHhmZCwweGU0LDB4M2MsMHhmYywweDIyfSwKLSAgMTYsMHgzNzk1LDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZWMsMHg2NCwweDgwLDB4Yzh9LAotICAgNiwweDM3YTUsMCx7MHg2NCwweDgwLDB4OTgsMHg0NSwweGYwLDB4MjJ9LAotICAxNiwweDM3YWIsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH0sCi0gICAxLDB4MzdiYiwwLHsweDIyfSwKLSAgMTIsMHgzN2JjLDAsezB4ZWMsMHhmMCwweGEzLDB4ZWQsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDIyfSwKLSAgMTYsMHgzN2M4LDAsezB4YTgsMHg4MiwweDg1LDB4ODMsMHhmMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MTIsMHgzNywweGRmLDB4MTIsMHgzNywweGRmLDB4MTJ9LAotICAxNiwweDM3ZDgsMCx7MHgzNywweGRmLDB4MTIsMHgzNywweGRmLDB4ZTQsMHg3MywweGU0LDB4OTMsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4M30sCi0gIDE2LDB4MzdlOCwwLHsweGM4LDB4YzUsMHg4MiwweGM4LDB4ZjAsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4MywweGM4LDB4YzUsMHg4MiwweGM4fSwKLSAgIDEsMHgzN2Y4LDAsezB4MjJ9LAotICAxNiwweDM3ZjksMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGY4LDB4ZTQsMHg5MywweDcwLDB4MTIsMHg3NCwweDAxLDB4OTMsMHg3MCwweDBkLDB4YTMsMHhhM30sCi0gIDE2LDB4MzgwOSwwLHsweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsMHhmNSwweDgyLDB4ODgsMHg4MywweGU0LDB4NzMsMHg3NCwweDAyLDB4OTMsMHg2OCwweDYwfSwKLSAgIDYsMHgzODE5LDAsezB4ZWYsMHhhMywweGEzLDB4YTMsMHg4MCwweGRmfSwKLSAgMTYsMHgzODFmLDAsezB4YmMsMHgwMCwweDBiLDB4YmUsMHgwMCwweDI5LDB4ZWYsMHg4ZCwweGYwLDB4ODQsMHhmZiwweGFkLDB4ZjAsMHgyMiwweGU0LDB4Y2N9LAotICAxNiwweDM4MmYsMCx7MHhmOCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmYsMHhmZiwweGVlLDB4MzMsMHhmZSwweGVjLDB4MzMsMHhmYywweGVlLDB4OWQsMHhlY30sCi0gIDE2LDB4MzgzZiwwLHsweDk4LDB4NDAsMHgwNSwweGZjLDB4ZWUsMHg5ZCwweGZlLDB4MGYsMHhkNSwweGYwLDB4ZTksMHhlNCwweGNlLDB4ZmQsMHgyMiwweGVkfSwKLSAgMTYsMHgzODRmLDAsezB4ZjgsMHhmNSwweGYwLDB4ZWUsMHg4NCwweDIwLDB4ZDIsMHgxYywweGZlLDB4YWQsMHhmMCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmZ9LAotICAxNiwweDM4NWYsMCx7MHhmZiwweGVkLDB4MzMsMHhmZCwweDQwLDB4MDcsMHg5OCwweDUwLDB4MDYsMHhkNSwweGYwLDB4ZjIsMHgyMiwweGMzLDB4OTgsMHhmZH0sCi0gICA1LDB4Mzg2ZiwwLHsweDBmLDB4ZDUsMHhmMCwweGVhLDB4MjJ9LAotICAxNiwweDM4NzQsMCx7MHhlNCwweDkwLDB4NzYsMHgyOSwweGYwLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn0sCi0gIDE2LDB4Mzg4NCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfSwKLSAgMTYsMHgzODk0LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyOSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9LAotICAxNiwweDM4YTQsMCx7MHhlZiwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwZn0sCi0gIDE2LDB4MzhiNCwwLHsweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDc2LDB4MmEsMHhmMCwweDI0fSwKLSAgMTYsMHgzOGM0LDAsezB4YmYsMHg3MCwweDAyLDB4NDEsMHg0MSwweDI0LDB4ZTAsMHg3MCwweDAyLDB4NDEsMHgxMiwweDI0LDB4MjEsMHg2MCwweDAyLDB4NDF9LAotICAxNiwweDM4ZDQsMCx7MHgzYSwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4N2QsMHgxNCwweDcwLDB4MDIsMHgyMSwweGIyLDB4MjQsMHgwMn0sCi0gIDE2LDB4MzhlNCwwLHsweDYwLDB4MDIsMHg0MSwweDBhLDB4MTIsMHgxNywweDUxLDB4OTAsMHg3NiwweDQyLDB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzfSwKLSAgMTYsMHgzOGY0LDAsezB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjV9LAotICAxNiwweDM5MDQsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMX0sCi0gIDE2LDB4MzkxNCwwLHsweDEyLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4OTAsMHg3NiwweDdkLDB4NzQsMHgwNiwweGYwLDB4OTAsMHg3NiwweDdlfSwKLSAgMTYsMHgzOTI0LDAsezB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGYsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4OTAsMHg3NiwweDdkLDB4ZjB9LAotICAxNiwweDM5MzQsMCx7MHg5MCwweDc2LDB4N2UsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwZiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHg5MH0sCi0gIDE2LDB4Mzk0NCwwLHsweDc2LDB4N2QsMHhmMCwweDkwLDB4NzYsMHg3ZSwweDc0LDB4MTgsMHhmMCwweDkwLDB4NzYsMHgxYSwweDc0LDB4MDEsMHhmMCwweDEyfSwKLSAgMTYsMHgzOTU0LDAsezB4M2UsMHg5ZiwweDEyLDB4MTgsMHgwMCwweDIyLDB4OTAsMHg3ZSwweGMyLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweGZlLDB4ZmJ9LAotICAxNiwweDM5NjQsMCx7MHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MzcsMHg0NiwweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYX0sCi0gIDE2LDB4Mzk3NCwwLHsweGNiLDB4ZWYsMHhjYiwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmUsMHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhfSwKLSAgMTYsMHgzOTg0LDAsezB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweGU0LDB4ZmUsMHhlYiwweDJmLDB4ZmZ9LAotICAxNiwweDM5OTQsMCx7MHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4LDB4ZmMsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZn0sCi0gIDE2LDB4MzlhNCwwLHsweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4MjIsMHg5MCwweDdlfSwKLSAgMTYsMHgzOWI0LDAsezB4YzIsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYiwweGZhLDB4NzksMHgwMSwweGY4LDB4MTIsMHgzNywweDQ2LDB4Yzh9LAotICAxNiwweDM5YzQsMCx7MHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZX0sCi0gIDE2LDB4MzlkNCwwLHsweGU0LDB4ZmMsMHhmZCwweDJiLDB4ZmIsMHhlYSwweDNlLDB4ZmEsMHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDdlfSwKLSAgMTYsMHgzOWU0LDAsezB4YzAsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZiwweGVlLDB4M2EsMHhmZSwweGVkLDB4MzksMHhmZCwweGVjLDB4Mzh9LAotICAxNiwweDM5ZjQsMCx7MHhmYywweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2EwNCwwLHsweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTYsMHgzYTE0LDAsezB4ZTksMHhlMCwweDE0LDB4NzAsMHgxOSwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjB9LAotICAxNiwweDNhMjQsMCx7MHgwZiwweGE0LDB4MjQsMHg0ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3Zn0sCi0gIDE0LDB4M2EzNCwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDNhNDIsMCx7MHhlNCwweDkwLDB4NzYsMHgzNSwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgwMywweDQwLDB4MDIsMHg0MX0sCi0gIDE2LDB4M2E1MiwwLHsweGZmLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfSwKLSAgMTYsMHgzYTYyLDAsezB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTR9LAotICAxNiwweDNhNzIsMCx7MHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NH0sCi0gIDE2LDB4M2E4MiwwLHsweGYwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgzYTkyLDAsezB4NzQsMHhmZiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNhYTIsMCx7MHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2FiMiwwLHsweDgzLDB4NzQsMHg4MCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYWMyLDAsezB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNhZDIsMCx7MHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX0sCi0gIDE2LDB4M2FlMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fSwKLSAgMTYsMHgzYWYyLDAsezB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgzNSwweGUwLDB4MDQsMHhmMCwweDQxLDB4NDcsMHg5MCwweDc2LDB4M2N9LAotICAxNiwweDNiMDIsMCx7MHg3NCwweDBhLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4MzUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4M2MsMHhlMH0sCi0gIDE2LDB4M2IxMiwwLHsweGZmLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4NjEsMHhkMiwweDkwLDB4NzYsMHgzZCwweGUwfSwKLSAgMTYsMHgzYjIyLDAsezB4ZmYsMHgwNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9LAotICAxNiwweDNiMzIsMCx7MHg4MywweGVmLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX0sCi0gIDE2LDB4M2I0MiwwLHsweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fSwKLSAgMTYsMHgzYjUyLDAsezB4ODMsMHg3NCwweDVlLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9LAotICAxNiwweDNiNjIsMCx7MHhmNSwweDgzLDB4NzQsMHhiYSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWUsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4M2I3MiwwLHsweDc1LDB4ZjUsMHg4MywweDc0LDB4MDUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHgzYjgyLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDgwLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODJ9LAotICAxNiwweDNiOTIsMCx7MHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2JhMiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyfSwKLSAgMTYsMHgzYmIyLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MTUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIzLDB4ZjV9LAotICAxNiwweDNiYzIsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHgwNCwweGYwLDB4NjEsMHgwZX0sCi0gICAxLDB4M2JkMiwwLHsweDIyfSwKLSAgMTYsMHgzYmQzLDAsezB4ZTQsMHg5MCwweDc2LDB4MzYsMHhmMCwweGUwLDB4ZmIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDNiZTMsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4Mn0sCi0gIDE2LDB4M2JmMywwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDBhLDB4ZjAsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1fSwKLSAgMTYsMHgzYzAzLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjB9LAotICAxNiwweDNjMTMsMCx7MHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4MTIsMHgzNywweGM4LDB4MDAsMHgwMH0sCi0gIDE2LDB4M2MyMywwLHsweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfSwKLSAgMTYsMHgzYzMzLDAsezB4MTIsMHgzNywweGM4LDB4MDAsMHgwMSwweDc3LDB4MDAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZiLDB4NzV9LAotICAxNiwweDNjNDMsMCx7MHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDQwLDB4ZjAsMHhlYn0sCi0gIDE2LDB4M2M1MywwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4YywweGYwfSwKLSAgMTYsMHgzYzYzLDAsezB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4Mzd9LAotICAxNiwweDNjNzMsMCx7MHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNH0sCi0gIDE2LDB4M2M4MywwLHsweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0fSwKLSAgMTYsMHgzYzkzLDAsezB4NGIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDEsMHg3NywweDAwLDB4OTB9LAotICAxNiwweDNjYTMsMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4M2NiMywwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyfSwKLSAgMTYsMHgzY2MzLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4OGYsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmZ9LAotICAxNiwweDNjZDMsMCx7MHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDEsMHhmMH0sCi0gIDE2LDB4M2NlMywwLHsweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDg0fSwKLSAgMTYsMHgzY2YzLDAsezB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjV9LAotICAxNiwweDNkMDMsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDYxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn0sCi0gIDE2LDB4M2QxMywwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4MSwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwfSwKLSAgMTYsMHgzZDIzLDAsezB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzR9LAotICAxNiwweDNkMzMsMCx7MHg2MSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4M30sCi0gICA0LDB4M2Q0MywwLHsweDc0LDB4MDEsMHhmMCwweDIyfSwKLSAgMTYsMHgzZDQ3LDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9LAotICAxNiwweDNkNTcsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0sCi0gIDE2LDB4M2Q2NywwLHsweGMwLDB4ZTAsMHg5MCwweDdmLDB4YTIsMHhlMCwweDkwLDB4NzYsMHg3ZiwweGYwLDB4OTAsMHg3ZiwweDc0LDB4ZTAsMHg5MCwweDc2fSwKLSAgMTYsMHgzZDc3LDAsezB4ODcsMHhmMCwweDkwLDB4N2YsMHg3NSwweGUwLDB4OTAsMHg3NiwweDg4LDB4ZjAsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4MDJ9LAotICAxNiwweDNkODcsMCx7MHhmMCwweDkwLDB4NzYsMHg5NiwweGUwLDB4ZmYsMHgyMCwweGUxLDB4MGMsMHg0NCwweDAyLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMH0sCi0gIDE2LDB4M2Q5NywwLHsweGQyLDB4MzIsMHgxMiwweDRiLDB4MjgsMHg5MCwweDc2LDB4N2YsMHhlMCwweDIwLDB4ZTIsMHg1MCwweDkwLDB4NzYsMHg4NywweGUwfSwKLSAgMTYsMHgzZGE3LDAsezB4ZmUsMHhhMywweGUwLDB4N2MsMHgwMCwweDI0LDB4MDAsMHhmNSwweDM0LDB4ZWMsMHgzZSwweGY1LDB4MzMsMHg5MCwweDc2LDB4OTh9LAotICAxNiwweDNkYjcsMCx7MHhlMCwweGZkLDB4YWUsMHgzMywweGFmLDB4MzQsMHgxMiwweDM2LDB4ZDgsMHg5MCwweDc2LDB4ODcsMHhlZiwweGYwLDB4ZDIsMHgyZn0sCi0gIDE2LDB4M2RjNywwLHsweDMwLDB4MzEsMHgyOSwweDIwLDB4M2YsMHgyNiwweGMyLDB4MzEsMHg5MCwweDdmLDB4OTQsMHhlMCwweDU0LDB4Y2YsMHhmMCwweDkwfSwKLSAgMTYsMHgzZGQ3LDAsezB4N2YsMHg5YSwweGUwLDB4MzAsMHhlNCwweDA0LDB4ZDIsMHgyZCwweGMyLDB4MmMsMHg5MCwweDdmLDB4OWEsMHhlMCwweDIwLDB4ZTV9LAotICAxNiwweDNkZTcsMCx7MHgwNCwweGMyLDB4MmQsMHhkMiwweDJjLDB4OTAsMHg3ZiwweDk0LDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHgxMiwweDQ4LDB4YmQsMHgxMn0sCi0gIDE2LDB4M2RmNywwLHsweDFiLDB4MDQsMHgzMCwweDJmLDB4MTIsMHgxMiwweDQyLDB4MWYsMHhjMiwweDJmLDB4NzUsMHhlOCwweDAxLDB4MTIsMHgxNiwweDhhfSwKLSAgMTYsMHgzZTA3LDAsezB4NzUsMHhlOCwweDBkLDB4ZDIsMHgyYiwweDgwLDB4MDUsMHg3NSwweGU4LDB4MDEsMHhjMiwweDJiLDB4MjAsMHgyYiwweDM0LDB4OTB9LAotICAxNiwweDNlMTcsMCx7MHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweGEzLDB4NzQsMHgwNn0sCi0gIDE2LDB4M2UyNywwLHsweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwYiwweDkwLDB4NzYsMHg3YywweGU0LDB4ZjAsMHhhMywweGYwfSwKLSAgMTYsMHgzZTM3LDAsezB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYiwweDkwLDB4NzYsMHg3YywweGU0LDB4ZjAsMHhhMywweGYwLDB4YTN9LAotICAxNiwweDNlNDcsMCx7MHg3NCwweDE4LDB4ZjAsMHg3NSwweGNhLDB4ZDMsMHg3NSwweGNiLDB4ZmUsMHhkMiwweGNhLDB4MzAsMHgzNCwweDA0LDB4YzIsMHgzNH0sCi0gIDE2LDB4M2U1NywwLHsweDgwLDB4MDIsMHhkMiwweDM0LDB4MzAsMHgzNCwweDBkLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHhjMywweDk0LDB4MDMsMHg0MCwweDA0fSwKLSAgMTYsMHgzZTY3LDAsezB4ZTAsMHgyNCwweGZkLDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAyLDB4ZjAsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDNlNzcsMCx7MHg5OCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ZDAsMHhlMCwweGZmLDB4ZDAsMHhlMCwweGZlLDB4ZDAsMHhlMCwweGZkLDB4ZDAsMHhlMH0sCi0gIDE2LDB4M2U4NywwLHsweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwfSwKLSAgIDgsMHgzZTk3LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4M2U5ZiwwLHsweDkwLDB4NzYsMHg5MiwweGUwLDB4MTQsMHg2MCwweDFkLDB4MTQsMHg3MCwweDAyLDB4ZTEsMHg1NCwweDI0LDB4MDIsMHg2MCwweDAyfSwKLSAgMTYsMHgzZWFmLDAsezB4ZTEsMHhlNCwweDkwLDB4NzYsMHg5NCwweDc0LDB4MDEsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OGV9LAotICAxNiwweDNlYmYsMCx7MHhmMCwweGQyLDB4MzEsMHgyMiwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MWIsMHhlNCwweDkwLDB4N2YsMHhmMn0sCi0gIDE2LDB4M2VjZiwwLHsweGYwLDB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzMCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHgzZWRmLDAsezB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjB9LAotICAxNiwweDNlZWYsMCx7MHg5MCwweDdmLDB4ZjMsMHg3NCwweDM0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMH0sCi0gIDE2LDB4M2VmZiwwLHsweDQ0LDB4MDIsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMywweDE4LDB4ZTQsMHg5MCwweDdmLDB4ZjIsMHhmMCwweDkwfSwKLSAgMTYsMHgzZjBmLDAsezB4N2YsMHhmMywweDc0LDB4NjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDR9LAotICAxNiwweDNmMWYsMCx7MHgwNCwweGYwLDB4OTAsMHg3NiwweDk0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweDMwLDB4M2YsMHgwOX0sCi0gIDE2LDB4M2YyZiwwLHsweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTYsMHgzZjNmLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5OCwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzZ9LAotICAxNiwweDNmNGYsMCx7MHg4ZSwweDc0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgxYiwweGU0LDB4OTAsMHg3Zn0sCi0gIDE2LDB4M2Y1ZiwwLHsweGYyLDB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDQ0LDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHgzZjZmLDAsezB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjJ9LAotICAxNiwweDNmN2YsMCx7MHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NGMsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4M2Y4ZiwwLHsweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MTgsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwfSwKLSAgMTYsMHgzZjlmLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHg5NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTB9LAotICAxNiwweDNmYWYsMCx7MHg0NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4OTQsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4MzAsMHgzZn0sCi0gIDE2LDB4M2ZiZiwwLHsweDA5LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHgzZmNmLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk4LDB4NzQsMHgwNiwweGYwLDB4OTB9LAotICAgNiwweDNmZGYsMCx7MHg3NiwweDhlLDB4NzQsMHgwMiwweGYwLDB4MjJ9LAotICAxNiwweDNmZTUsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg4MiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OTEsMHhmMCwweDkwLDB4NzYsMHg5Mn0sCi0gIDExLDB4M2ZmNSwwLHsweGYwLDB4OTAsMHg3NiwweDkwLDB4ZjAsMHg5MCwweDc2LDB4OTMsMHhmMCwweGQzLDB4MjJ9LAotICAxNiwweDQwMDAsMCx7MHhlNSwweDExLDB4ZDMsMHg5NCwweDAwLDB4NTAsMHgwMiwweDIxLDB4MDYsMHg5MCwweDc2LDB4ODksMHhlMCwweGMzLDB4OTQsMHgwOH0sCi0gIDE2LDB4NDAxMCwwLHsweDQwLDB4MDIsMHgyMSwweDA2LDB4NzQsMHg0MCwweDI1LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwfSwKLSAgMTYsMHg0MDIwLDAsezB4ZjUsMHgxNywweGU1LDB4MGQsMHg2MCwweDBlLDB4OTAsMHg4MCwweDA1LDB4ZTUsMHgxNywweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTB9LAotICAxNiwweDQwMzAsMCx7MHgwNCwweGYwLDB4MDEsMHhkYSwweGU1LDB4MTcsMHgxMiwweDM3LDB4ZjksMHg0MCwweGMxLDB4MDIsMHg0MCwweDY3LDB4MDUsMHg0MH0sCi0gIDE2LDB4NDA0MCwwLHsweDdhLDB4MDYsMHg0MCwweDk4LDB4MDcsMHg0MCwweGMxLDB4MGMsMHg0MCwweGMxLDB4MGQsMHg0MCwweGM3LDB4MGYsMHg0MCwweGNifSwKLSAgMTYsMHg0MDUwLDAsezB4ZjYsMHg0MCwweGNiLDB4ZjgsMHg0MCwweGNiLDB4ZmEsMHg0MCwweGNiLDB4ZmIsMHg0MCwweGNiLDB4ZmMsMHg0MCwweGNiLDB4ZmV9LAotICAxNiwweDQwNjAsMCx7MHg0MCwweGNiLDB4ZmYsMHgwMCwweDAwLDB4NDAsMHhkYSwweDkwLDB4N2UsMHg0MSwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDA3MCwwLHsweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MCwweDYwLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwfSwKLSAgMTYsMHg0MDgwLDAsezB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MiwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDc2LDB4ODksMHhlMCwweDA0LDB4ZjB9LAotICAxNiwweDQwOTAsMCx7MHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MCwweDQyLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMH0sCi0gIDE2LDB4NDBhMCwwLHsweDkwLDB4N2UsMHg0MiwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDMsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwfSwKLSAgMTYsMHg0MGIwLDAsezB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4ODB9LAotICAxNiwweDQwYzAsMCx7MHgxOSwweGQyLDB4M2IsMHhkMiwweDNjLDB4ODAsMHgxMywweGQyLDB4M2IsMHg4MCwweDBmLDB4OTAsMHg4MCwweDA1LDB4ZTUsMHgxN30sCi0gIDE2LDB4NDBkMCwwLHsweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4MjAsMHgzYiwweDA0LDB4MDUsMHgwZCwweDgwfSwKLSAgMTYsMHg0MGUwLDAsezB4MWYsMHgzMCwweDNjLDB4MWMsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3ZSwweDQyLDB4ZTB9LAotICAxNiwweDQwZjAsMCx7MHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMX0sCi0gIDE2LDB4NDEwMCwwLHsweDA1LDB4MGYsMHgxNSwweDExLDB4MDEsMHgwMCwweGU1LDB4MTEsMHg3MCwweDEwLDB4YzIsMHgzMywweGY1LDB4MGQsMHhmNSwweDBmfSwKLSAgMTEsMHg0MTEwLDAsezB4OTAsMHg3ZiwweGM3LDB4NzQsMHgwNCwweGYwLDB4YzIsMHgzYiwweGMyLDB4M2MsMHgyMn0sCi0gIDE2LDB4NDExYiwwLHsweDkwLDB4NzYsMHg4ZCwweGUwLDB4NjQsMHgwMSwweDcwLDB4MjcsMHgzMCwweDI3LDB4MDgsMHhjMiwweDI3LDB4MTIsMHgwOCwweDAwfSwKLSAgMTYsMHg0MTJiLDAsezB4MTIsMHgxNywweDRhLDB4MzAsMHgyOCwweDA4LDB4YzIsMHgyOCwweDEyLDB4MzgsMHg3NCwweDEyLDB4MTcsMHg0YSwweDMwLDB4MmF9LAotICAxNiwweDQxM2IsMCx7MHgwZSwweGU0LDB4OTAsMHg3NiwweDhkLDB4ZjAsMHhjMiwweDJhLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDE0YiwwLHsweDc2LDB4M2YsMHhlMCwweGI0LDB4MDEsMHgwNSwweGU0LDB4ZjAsMHgxMiwweDMyLDB4NmYsMHg5MCwweDc2LDB4NDEsMHhlMCwweGI0fSwKLSAgMTYsMHg0MTViLDAsezB4MDEsMHgwNSwweGU0LDB4ZjAsMHgxMiwweDM0LDB4OWEsMHg5MCwweDc2LDB4NDAsMHhlMCwweGI0LDB4MDEsMHgwMywweDEyLDB4MzR9LAotICAxNiwweDQxNmIsMCx7MHg5YSwweDEyLDB4MzAsMHgwMCwweDMwLDB4MzMsMHgwMywweDEyLDB4NDAsMHgwMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4MjAsMHhlNH0sCi0gIDE2LDB4NDE3YiwwLHsweDAyLDB4YzIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4MzAsMHhlNCwweDAyLDB4ZDIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwfSwKLSAgMTYsMHg0MThiLDAsezB4MjAsMHhlNSwweDAyLDB4YzIsMHgzZSwweDkwLDB4N2YsMHg5YiwweGUwLDB4MzAsMHhlNSwweDAyLDB4ZDIsMHgzZSwweGEyLDB4NDF9LAotICAxNiwweDQxOWIsMCx7MHgzMCwweDNmLDB4MDEsMHhiMywweDUwLDB4MWYsMHhhMiwweDNmLDB4OTIsMHg0MSwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5N30sCi0gIDE2LDB4NDFhYiwwLHsweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3fSwKLSAgMTYsMHg0MWJiLDAsezB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDMwLDB4M2YsMHgzNCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGV9LAotICAxNiwweDQxY2IsMCx7MHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHhhMywweDc0LDB4MDYsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNH0sCi0gIDE2LDB4NDFkYiwwLHsweDAyLDB4MGIsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzfSwKLSAgMTYsMHg0MWViLDAsezB4MGIsMHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHgxOCwweGYwLDB4YTIsMHg0MCwweDMwLDB4M2V9LAotICAxNiwweDQxZmIsMCx7MHgwMSwweGIzLDB4NTAsMHgxZiwweGEyLDB4M2UsMHg5MiwweDQwLDB4MzAsMHgzZSwweDA5LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NH0sCi0gIDE2LDB4NDIwYiwwLHsweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwfSwKLSAgIDQsMHg0MjFiLDAsezB4ODAsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDQyMWYsMCx7MHg5MCwweDc2LDB4MTksMHhlMCwweDY0LDB4MDEsMHg3MCwweDM1LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGQzLDB4OTQsMHgyZH0sCi0gIDE2LDB4NDIyZiwwLHsweDQwLDB4MmIsMHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzfSwKLSAgMTYsMHg0MjNmLDAsezB4OTQsMHgwZiwweDQwLDB4MTksMHhlNCwweGYwLDB4ZWYsMHhkMywweDk0LDB4MzEsMHg0MCwweDA4LDB4OTAsMHg3NiwweDE5LDB4NzR9LAotICAxNiwweDQyNGYsMCx7MHgwMywweGYwLDB4ODAsMHgwNiwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDIsMHhmMCwweDEyLDB4M2UsMHg5ZiwweDkwLDB4NzYsMHgxOX0sCi0gIDE2LDB4NDI1ZiwwLHsweGUwLDB4YjQsMHgwMiwweDJjLDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MjIsMHhlZiwweGQzfSwKLSAgMTYsMHg0MjZmLDAsezB4OTQsMHgyYSwweDQwLDB4MWMsMHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjB9LAotICAxNiwweDQyN2YsMCx7MHhlMCwweGQzLDB4OTQsMHgwZiwweDQwLDB4MGEsMHhlNCwweGYwLDB4OTAsMHg3NiwweDE5LDB4MDQsMHhmMCwweDEyLDB4M2UsMHg5Zn0sCi0gIDE2LDB4NDI4ZiwwLHsweDkwLDB4NzYsMHgxOSwweGUwLDB4YjQsMHgwMiwweDI2LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhkMywweDk0LDB4MzEsMHg0MCwweDFkfSwKLSAgMTYsMHg0MjlmLDAsezB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGZ9LAotICAxNiwweDQyYWYsMCx7MHg0MCwweDBiLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDMsMHhmMCwweDEyLDB4M2UsMHg5ZiwweDkwLDB4NzYsMHgxOX0sCi0gIDE2LDB4NDJiZiwwLHsweGUwLDB4NjQsMHgwMywweDcwLDB4M2YsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YzMsMHg5NCwweDVmLDB4NTAsMHgzNSwweDkwfSwKLSAgMTYsMHg0MmNmLDAsezB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZDMsMHg5NCwweDBmLDB4NDB9LAotICAxNiwweDQyZGYsMCx7MHgyMywweGU0LDB4ZjAsMHhlZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MGMsMHhlZiwweGQzLDB4OTQsMHgyYSwweDQwLDB4MDYsMHg5MH0sCi0gIDE2LDB4NDJlZiwwLHsweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgyZiwweDQwLDB4MDYsMHg5MCwweDc2LDB4MTksMHg3NCwweDAyfSwKLSAgMTYsMHg0MmZmLDAsezB4ZjAsMHgxMiwweDNlLDB4OWYsMHg5MCwweDc2LDB4ODYsMHhlMCwweDcwLDB4MDUsMHg5MCwweDc2LDB4ODUsMHhmMCwweDIyLDB4ZTR9LAotICAgNSwweDQzMGYsMCx7MHg5MCwweDc2LDB4ODYsMHhmMCwweDIyfSwKLSAgMTYsMHg0MzE0LDAsezB4ZTQsMHg5MCwweDc2LDB4OTYsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4OTAsMHg3ZiwweGUwLDB4NzQsMHg5MCwweGYwLDB4OTB9LAotICAxNiwweDQzMjQsMCx7MHg3ZiwweGUxLDB4NzQsMHgwNCwweGYwLDB4ZTQsMHg5MCwweDdmLDB4ZGQsMHhmMCwweDkwLDB4N2YsMHhhMSwweGYwLDB4NTMsMHg4ZX0sCi0gIDE2LDB4NDMzNCwwLHsweGY4LDB4NzUsMHg4OCwweDA1LDB4NzUsMHhiOCwweDIwLDB4NzUsMHhmOCwweDAxLDB4NDMsMHg4ZSwweDMwLDB4ZjUsMHhjOCwweDc1fSwKLSAgMTYsMHg0MzQ0LDAsezB4Y2EsMHg3ZiwweDc1LDB4Y2IsMHhmOCwweDQzLDB4YTgsMHgyMCwweDEyLDB4NDUsMHg2NSwweGMyLDB4MmMsMHhjMiwweDJkLDB4YzJ9LAotICAxNiwweDQzNTQsMCx7MHgyYiwweGMyLDB4MmYsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGRkLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZmLDB4ZjAsMHg5MH0sCi0gIDE2LDB4NDM2NCwwLHsweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDg1fSwKLSAgMTYsMHg0Mzc0LDAsezB4ZjAsMHhhMywweGYwLDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDEyLDB4NDksMHhhZSwweDEyLDB4MGZ9LAotICAxNiwweDQzODQsMCx7MHhjNiwweDEyLDB4NGEsMHhmMSwweDkwLDB4N2YsMHg5NywweGUwLDB4NDQsMHgwOCwweGYwLDB4ZTAsMHg1NCwweGI5LDB4ZjAsMHhkMn0sCi0gIDE2LDB4NDM5NCwwLHsweDMwLDB4MjAsMHgzMCwweDE4LDB4MTIsMHg0YSwweGE2LDB4MTIsMHgzMCwweDAwLDB4MTIsMHg0MCwweDAwLDB4MTIsMHg0MiwweDFmfSwKLSAgMTYsMHg0M2E0LDAsezB4MTIsMHg0OCwweGJkLDB4MTIsMHgxYiwweDA0LDB4MTIsMHgxNiwweDYxLDB4MTIsMHg0MiwweDFmLDB4MTIsMHg0YSwweGE2LDB4YzJ9LAotICAxNiwweDQzYjQsMCx7MHgyZiwweGMyLDB4MzEsMHhjMiwweDMyLDB4YzIsMHgzNCwweGMyLDB4MzMsMHhjMiwweDI5LDB4YzIsMHgyNywweGMyLDB4MjgsMHhlNH0sCi0gIDE2LDB4NDNjNCwwLHsweGY1LDB4MTEsMHg5MCwweDc2LDB4ODksMHhmMCwweDkwLDB4NzYsMHgzZiwweGYwLDB4OTAsMHg3NiwweDQxLDB4ZjAsMHg5MCwweDc2fSwKLSAgMTYsMHg0M2Q0LDAsezB4NDAsMHhmMCwweDkwLDB4NzYsMHg4YSwweGYwLDB4YTMsMHhmMCwweGEzLDB4MDQsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4NzZ9LAotICAgMywweDQzZTQsMCx7MHg5OSwweGYwLDB4MjJ9LAotICAxNiwweDQzZTcsMCx7MHgxMiwweDRlLDB4MTksMHg0MCwweDAyLDB4ODEsMHhhYywweDkwLDB4N2YsMHhlYiwweGUwLDB4MjQsMHhmZSwweDYwLDB4MWUsMHgxNH0sCi0gIDE2LDB4NDNmNywwLHsweDYwLDB4NDYsMHgxNCwweDYwLDB4NmUsMHgxNCwweDcwLDB4MDIsMHg4MSwweDlkLDB4MjQsMHgwNCwweDYwLDB4MDIsMHg4MSwweGE1fSwKLSAgMTYsMHg0NDA3LDAsezB4NzQsMHgwNSwweDkwLDB4N2YsMHhkNCwweGYwLDB4NzQsMHgwMCwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWF9LAotICAxNiwweDQ0MTcsMCx7MHhlMCwweGZmLDB4MTIsMHg0YSwweDU1LDB4OGIsMHgyMCwweDhhLDB4MjEsMHg4OSwweDIyLDB4ZWEsMHg0OSwweDYwLDB4MTEsMHhjZX0sCi0gIDE2LDB4NDQyNywwLHsweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyfSwKLSAgMTYsMHg0NDM3LDAsezB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHgxMiwweDQ3LDB4Yjd9LAotICAxNiwweDQ0NDcsMCx7MHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZSwweGVlLDB4OTAsMHg3Zn0sCi0gIDE2LDB4NDQ1NywwLHsweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fSwKLSAgMTYsMHg0NDY3LDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmJ9LAotICAxNiwweDQ0NzcsMCx7MHgxMiwweDE3LDB4OTQsMHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlLDB4ZWEsMHhjZX0sCi0gIDE2LDB4NDQ4NywwLHsweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmfSwKLSAgMTYsMHg0NDk3LDAsezB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9LAotICAgNSwweDQ0YTcsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgIDEsMHg0NGFjLDAsezB4MjJ9LAotICAxNiwweDQ0YWQsMCx7MHhjMiwweGFmLDB4ZDIsMHgyNCwweDkwLDB4N2YsMHg5MywweDc0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4YmIsMHhmMH0sCi0gIDE2LDB4NDRiZCwwLHsweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHgzMCwweGYwLDB4ZTAsMHg1NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OTQsMHg3NCwweDMwfSwKLSAgMTYsMHg0NGNkLDAsezB4ZjAsMHg5MCwweDdmLDB4OWQsMHg3NCwweGNmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTV9LAotICAxNiwweDQ0ZGQsMCx7MHg3NCwweGMwLDB4ZjAsMHg5MCwweDdmLDB4OWUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4OTksMHhlMCwweDMwLDB4ZTIsMHgwOX0sCi0gIDE2LDB4NDRlZCwwLHsweDkwLDB4MDUsMHgxOSwweDc0LDB4YTAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGMyLDB4MjUsMHhjMiwweDIyLDB4YzIsMHgyMywweGMyfSwKLSAgMTYsMHg0NGZkLDAsezB4MjYsMHgxMiwweDRiLDB4MjgsMHgxMiwweDJkLDB4YTksMHgxMiwweDNiLDB4ZDMsMHgxMiwweDQ2LDB4MTksMHgxMiwweDNhLDB4NDJ9LAotICAxNiwweDQ1MGQsMCx7MHg5MCwweDc2LDB4NjgsMHg3NCwweDAxLDB4ZjAsMHg3MCwweDBmLDB4MTIsMHg0YywweDI5LDB4MTIsMHg0ZSwweDE1LDB4MTIsMHg0ZX0sCi0gIDE2LDB4NDUxZCwwLHsweDE3LDB4MTIsMHgxYiwweDQwLDB4MTIsMHgxNCwweDk2LDB4MTIsMHg0MywweDE0LDB4OTAsMHg3ZiwweGFmLDB4ZTAsMHg0NCwweDAxfSwKLSAgMTYsMHg0NTJkLDAsezB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MWYsMHhmMCwweDkwLDB4N2YsMHhhYywweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2Z9LAotICAxNiwweDQ1M2QsMCx7MHhhZCwweGYwLDB4OTAsMHg3ZiwweGRlLDB4ZjAsMHg5MCwweDdmLDB4ZGYsMHhmMCwweDkwLDB4N2YsMHhhYiwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4NDU0ZCwwLHsweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDQzLDB4ZDgsMHgyMCwweGQyLDB4ZTgsMHg0MywweGQ4fSwKLSAgIDgsMHg0NTVkLDAsezB4MjAsMHg1MywweGE4LDB4YTAsMHg0MywweGE4LDB4ODAsMHgyMn0sCi0gIDE2LDB4NDU2NSwwLHsweDkwLDB4NzYsMHg5YSwweDc0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDkxLDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3NiwweDkwfSwKLSAgMTYsMHg0NTc1LDAsezB4ZjAsMHg5MCwweDc2LDB4OTMsMHhmMCwweDkwLDB4NzYsMHg5NiwweDc0LDB4MDMsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZTR9LAotICAxNiwweDQ1ODUsMCx7MHg5MCwweDc2LDB4OTcsMHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk0LDB4MDQsMHhmMCwweDkwLDB4ODAsMHgwMH0sCi0gIDE2LDB4NDU5NSwwLHsweGYwLDB4ZTQsMHg5MCwweDc2LDB4OGUsMHhmMCwweDkwLDB4NzYsMHgxYSwweGYwLDB4OTAsMHg3NiwweDk1LDB4MDQsMHhmMCwweGMyfSwKLSAgMTYsMHg0NWE1LDAsezB4MmUsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmLDB4NTQsMHgxMCwweGZmLDB4NzAsMHgwMiwweGMyLDB4M2YsMHg5MCwweDdmLDB4OWJ9LAotICAxNiwweDQ1YjUsMCx7MHhlMCwweGZmLDB4NTQsMHgxMCwweGZlLDB4ZmYsMHhiZSwweDEwLDB4MDIsMHhkMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZn0sCi0gIDE2LDB4NDVjNSwwLHsweDU0LDB4MjAsMHhmZiwweDcwLDB4MDIsMHhjMiwweDNlLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHhmZiwweDU0LDB4MjAsMHhmZSwweGZmfSwKLSAgMTYsMHg0NWQ1LDAsezB4YmUsMHgyMCwweDAyLDB4ZDIsMHgzZSwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODB9LAotICAxNiwweDQ1ZTUsMCx7MHgwNywweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMH0sCi0gIDE2LDB4NDVmNSwwLHsweDMwLDB4M2UsMHgwOSwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwfSwKLSAgMTYsMHg0NjA1LDAsezB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweGEyLDB4M2UsMHg5MiwweDQwLDB4YTJ9LAotICAgMywweDQ2MTUsMCx7MHgzZiwweDkyLDB4NDF9LAotICAgMSwweDQ2MTgsMCx7MHgyMn0sCi0gIDE2LDB4NDYxOSwwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0NjI5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTR9LAotICAxNiwweDQ2MzksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NX0sCi0gIDE2LDB4NDY0OSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1fSwKLSAgMTYsMHg0NjU5LDAsezB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4OTB9LAotICAxNiwweDQ2NjksMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NDY3OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0fSwKLSAgMTYsMHg0Njg5LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzV9LAotICAxNiwweDQ2OTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NX0sCi0gIDE2LDB4NDZhOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MzMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDIyfSwKLSAgMTIsMHg0NmI5LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDM4LDB4MDIsMHg0NywweDAwfSwKLSAgMTYsMHg0NmM1LDAsezB4MDIsMHgwNywweGE2LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9LAotICAxNiwweDQ2ZDUsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM30sCi0gIDE2LDB4NDZlNSwwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfSwKLSAgMTYsMHg0NmY1LDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MGMsMHg4ZiwweGU0LDB4N2V9LAotICAxNiwweDQ3MDUsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M30sCi0gIDE2LDB4NDcxNSwwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfSwKLSAgMTYsMHg0NzI1LDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9LAotICAxNiwweDQ3MzUsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX0sCi0gIDE2LDB4NDc0NSwwLHsweDkwLDB4N2YsMHhlYywweGUwLDB4OTAsMHg3NiwweDgzLDB4ZjAsMHhlMCwweDE0LDB4NjAsMHgxZCwweDE0LDB4NjAsMHgyYSwweDE0fSwKLSAgMTYsMHg0NzU1LDAsezB4NjAsMHgzNywweDE0LDB4NjAsMHg0NCwweDI0LDB4MDQsMHg3MCwweDUwLDB4OTAsMHg3NiwweDkxLDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3NjUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4NDcsMHg5MCwweDc2LDB4OTIsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDc3NSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgzNywweDkwLDB4NzYsMHg5MCwweGUwLDB4OTAsMHg3ZiwweDAwfSwKLSAgMTYsMHg0Nzg1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDI3LDB4OTAsMHg3NiwweDg0LDB4ZTAsMHg5MCwweDdmLDB4MDB9LAotICAxNiwweDQ3OTUsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweDgwLDB4MTcsMHg5MCwweDc2LDB4OTMsMHhlMCwweDkwLDB4N2YsMHgwMH0sCi0gIDE2LDB4NDdhNSwwLHsweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgIDIsMHg0N2I1LDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NDdiNywwLHsweDhmLDB4MmV9LAotICAxNiwweDQ3YjksMCx7MHhlNCwweGY1LDB4MmYsMHg3NSwweDMwLDB4ZmYsMHg3NSwweDMxLDB4MDcsMHg3NSwweDMyLDB4MWEsMHhhYiwweDMwLDB4YWEsMHgzMX0sCi0gIDE2LDB4NDdjOSwwLHsweGE5LDB4MzIsMHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHhiNCwweDAzLDB4MWYsMHhhZiwweDJmLDB4MDUsMHgyZiwweGVmfSwKLSAgMTYsMHg0N2Q5LDAsezB4NjUsMHgyZSwweDcwLDB4MDEsMHgyMiwweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmLDB4ZWUsMHgzYSwweGM5LDB4ZWZ9LAotICAxNiwweDQ3ZTksMCx7MHhjOSwweDc1LDB4MzAsMHhmZiwweGY1LDB4MzEsMHg4OSwweDMyLDB4ODAsMHhkMiwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH0sCi0gICAxLDB4NDdmOSwwLHsweDIyfSwKLSAgIDYsMHg0N2ZhLDAsezB4MTIsMHg0YiwweDI4LDB4YzIsMHgzMSwweDIyfSwKLSAgMTYsMHg0ODAwLDAsezB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTB9LAotICAxNiwweDQ4MTAsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn0sCi0gIDE2LDB4NDgyMCwwLHsweGMwLDB4ZTAsMHhjMiwweGNhLDB4YzIsMHhjZiwweDkwLDB4N2YsMHg5OCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MzAsMHgyZSwweDAzfSwKLSAgMTYsMHg0ODMwLDAsezB4MTIsMHgxNCwweGE2LDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg1MywweGE4LDB4ZmEsMHgxMiwweDE2LDB4NjF9LAotICAxNiwweDQ4NDAsMCx7MHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMH0sCi0gIDE2LDB4NDg1MCwwLHsweGUwLDB4ZmEsMHhkMCwweGUwLDB4ZjksMHhkMCwweGUwLDB4ZjgsMHhkMCwweGQwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGYwfSwKLSAgIDMsMHg0ODYwLDAsezB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ODYzLDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg5MCwweDc2LDB4ODMsMHhmMCwweGUwLDB4MTQsMHg2MCwweDE3LDB4MTQsMHg2MCwweDIxLDB4MTR9LAotICAxNiwweDQ4NzMsMCx7MHg2MCwweDJiLDB4MTQsMHg2MCwweDMyLDB4MjQsMHgwNCwweDcwLDB4MzgsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MX0sCi0gIDE2LDB4NDg4MywwLHsweGYwLDB4ODAsMHgzNSwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkyLDB4ZjAsMHgxMiwweDNlLDB4OWYsMHg4MCwweDI4fSwKLSAgMTYsMHg0ODkzLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4OTAsMHhmMCwweDEyLDB4MTgsMHgwMCwweDgwLDB4MWIsMHg5MCwweDdmLDB4ZWF9LAotICAxNiwweDQ4YTMsMCx7MHhlMCwweDkwLDB4NzYsMHg4NCwweGYwLDB4ODAsMHgxMSwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHg4MH0sCi0gIDEwLDB4NDhiMywwLHsweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHhkMywweDIyfSwKLSAgMTYsMHg0OGJkLDAsezB4MzAsMHgyZCwweDM5LDB4YzIsMHgyZCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGQsMHhlNCwweDkwLDB4NzZ9LAotICAxNiwweDQ4Y2QsMCx7MHg3YywweGYwLDB4YTMsMHg3NCwweGY4LDB4ZjAsMHhhMywweDc0LDB4MGEsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBkLDB4ZTQsMHg5MH0sCi0gIDE2LDB4NDhkZCwwLHsweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHhmMCwweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwZCwweGU0fSwKLSAgMTMsMHg0OGVkLDAsezB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjgsMHhmMCwweGEzLDB4NzQsMHgxNywweGYwLDB4MjJ9LAotICAgNiwweDQ4ZmEsMCx7MHg1MywweDkxLDB4YmYsMHhkMiwweDJkLDB4MzJ9LAotICAxNiwweDQ5MDAsMCx7MHgwMiwweDJmLDB4ZTcsMHgwMCwweDAyLDB4M2QsMHg0NywweDAwLDB4MDIsMHg0ZCwweGI0LDB4MDAsMHgwMiwweDRjLDB4NDMsMHgwMH0sCi0gIDE2LDB4NDkxMCwwLHsweDAyLDB4NGIsMHhlOSwweDAwLDB4MDIsMHgyZiwweGZmLDB4MDAsMHgwMiwweDRjLDB4NWIsMHgwMCwweDAyLDB4NGMsMHgwYSwweDAwfSwKLSAgMTYsMHg0OTIwLDAsezB4MDIsMHg0YywweDcyLDB4MDAsMHgwMiwweDRiLDB4NWEsMHgwMCwweDAyLDB4NGMsMHg4OSwweDAwLDB4MDIsMHg0YywweGEwLDB4MDB9LAotICAxNiwweDQ5MzAsMCx7MHgwMiwweDRjLDB4YjcsMHgwMCwweDAyLDB4NGMsMHhjZSwweDAwLDB4MDIsMHg0YywweGU1LDB4MDAsMHgwMiwweDRjLDB4ZmMsMHgwMH0sCi0gIDE2LDB4NDk0MCwwLHsweDAyLDB4NGQsMHgxMywweDAwLDB4MDIsMHg0ZCwweDJhLDB4MDAsMHgwMiwweDRkLDB4NDEsMHgwMCwweDAyLDB4NGQsMHg1OCwweDAwfSwKLSAgIDgsMHg0OTUwLDAsezB4MDIsMHg0ZCwweDZmLDB4MDAsMHgwMiwweDRkLDB4ODYsMHgwMH0sCi0gIDE2LDB4NDk1OCwwLHsweGU0LDB4OTAsMHg3NiwweDI2LDB4ZjAsMHg5MCwweDc2LDB4MjYsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDM0fSwKLSAgMTYsMHg0OTY4LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDQ5NzgsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI2LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4NDk4OCwwLHsweGVmLDB4YjQsMHgwNCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweGVmLDB4NzUsMHhmMCwweDAzfSwKLSAgMTYsMHg0OTk4LDAsezB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTB9LAotICAgNiwweDQ5YTgsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDQ5YWUsMCx7MHg5MCwweDc2LDB4NDYsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhM30sCi0gIDE2LDB4NDliZSwwLHsweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwfSwKLSAgMTYsMHg0OWNlLDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTN9LAotICAxNiwweDQ5ZGUsMCx7MHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMH0sCi0gIDE2LDB4NDllZSwwLHsweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwfSwKLSAgIDUsMHg0OWZlLDAsezB4YTMsMHhmMCwweGEzLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NGEwMywwLHsweGU0LDB4OTAsMHg3NiwweDI1LDB4ZjAsMHg5MCwweDc2LDB4MjUsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDM0fSwKLSAgMTYsMHg0YTEzLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9LAotICAxNiwweDRhMjMsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI1LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX0sCi0gIDE2LDB4NGEzMywwLHsweGVmLDB4YjQsMHgwNCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2UsMHhjMCwweGUwfSwKLSAgMTYsMHg0YTQzLDAsezB4ZmUsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWV9LAotICAgMiwweDRhNTMsMCx7MHhmMCwweDIyfSwKLSAgMTYsMHg0YTU1LDAsezB4ZTQsMHhmZSwweDc1LDB4MWQsMHhmZiwweDc1LDB4MWUsMHgwNSwweDc1LDB4MWYsMHgxMiwweGFiLDB4MWQsMHhhYSwweDFlLDB4YTl9LAotICAxNiwweDRhNjUsMCx7MHgxZiwweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweDY0LDB4MDIsMHg3MCwweDJmLDB4Y2QsMHhlZSwweGNkLDB4MGUsMHhlZH0sCi0gIDE2LDB4NGE3NSwwLHsweDZmLDB4NzAsMHgwMSwweDIyLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgzNywweDBlLDB4ODUsMHhmMCwweDFiLDB4ZjUsMHgxYywweDYyfSwKLSAgMTYsMHg0YTg1LDAsezB4MWIsMHhlNSwweDFiLDB4NjIsMHgxYywweGU1LDB4MWMsMHg2MiwweDFiLDB4MjksMHhmZCwweGU1LDB4MWIsMHgzYSwweGM5LDB4ZWR9LAotICAxNiwweDRhOTUsMCx7MHhjOSwweDc1LDB4MWQsMHhmZiwweGY1LDB4MWUsMHg4OSwweDFmLDB4ODAsMHhjMSwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH0sCi0gICAxLDB4NGFhNSwwLHsweDIyfSwKLSAgMTYsMHg0YWE2LDAsezB4ZTQsMHg5MCwweDc2LDB4OWIsMHhmMCwweDkwLDB4NzYsMHg5YiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4ZWYsMHg2MCwweDA4LDB4ZTB9LAotICAxNiwweDRhYjYsMCx7MHgyNCwweDA4LDB4ZjgsMHhlNCwweGY2LDB4ODAsMHhlZSwweDkwLDB4NzYsMHg5NiwweGUwLDB4NDQsMHgwNCwweGYwLDB4NDQsMHgwOH0sCi0gIDE2LDB4NGFjNiwwLHsweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhlNCwweGY1LDB4MTgsMHhkMiwweDM1LDB4ZjUsMHgwZSwweGY1LDB4MTAsMHhkMiwweDM2fSwKLSAgMTYsMHg0YWQ2LDAsezB4NzUsMHgxMiwweDExLDB4NzUsMHgxMywweDIyLDB4YzIsMHgzNywweGMyLDB4MzksMHhjMiwweDM4LDB4ZjUsMHgxNiwweGY1LDB4MTR9LAotICAxMSwweDRhZTYsMCx7MHhmNSwweDFhLDB4ZjUsMHgwZCwweGMyLDB4M2IsMHhjMiwweDNjLDB4YzIsMHgzZCwweDIyfSwKLSAgMTYsMHg0YWYxLDAsezB4ZTQsMHhmZiwweDc0LDB4NTYsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4Mjh9LAotICAxNiwweDRiMDEsMCx7MHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4NWUsMHgyZiwweGY1LDB4ODIsMHhlNH0sCi0gIDE2LDB4NGIxMSwwLHsweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MzgsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzfSwKLSAgIDYsMHg0YjIxLDAsezB4ZWUsMHhmMCwweDBmLDB4YmYsMHgwOCwweGNjfSwKLSAgIDEsMHg0YjI3LDAsezB4MjJ9LAotICAxNiwweDRiMjgsMCx7MHhlNCwweDkwLDB4NzIsMHgzNiwweGYwLDB4YTMsMHhmMCwweDkwLDB4N2YsMHg5NywweGUwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MH0sCi0gIDE2LDB4NGIzOCwwLHsweDcyLDB4MzMsMHhmMCwweDkwLDB4NzIsMHgzMiwweGYwLDB4OTAsMHg3MiwweDAxLDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3MiwweDMzfSwKLSAgMTYsMHg0YjQ4LDAsezB4ZjAsMHg5MCwweDcyLDB4MzIsMHhmMCwweDkwLDB4NzIsMHgwMSwweDA0LDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDR9LAotICAgMiwweDRiNTgsMCx7MHhmMCwweDIyfSwKLSAgMTYsMHg0YjVhLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDAyLDB4ZjB9LAotICAxNiwweDRiNmEsMCx7MHg5MCwweDdmLDB4YzcsMHhlMCwweGY1LDB4MTEsMHg3NSwweDBmLDB4MDAsMHg3NSwweDBkLDB4MDAsMHhkMiwweDMzLDB4ZDAsMHg4Mn0sCi0gICA1LDB4NGI3YSwwLHsweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRiN2YsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDU0LDB4ZmIsMHhmMCwweGUwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHg0MiwweDA0LDB4ZTAsMHg0NH0sCi0gIDE2LDB4NGI4ZiwwLHsweDAyLDB4ZjAsMHg3ZiwweGRjLDB4N2UsMHgwNSwweDEyLDB4NGQsMHg5ZCwweDkwLDB4N2YsMHhkNiwweGUwLDB4NTQsMHhmNywweGYwfSwKLSAgIDUsMHg0YjlmLDAsezB4ZTAsMHg0NCwweDA0LDB4ZjAsMHgyMn0sCi0gIDE2LDB4NGJhNCwwLHsweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg3MCwweDE0LDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdmLDB4NzAsMHgwNCwweDEyfSwKLSAgMTYsMHg0YmI0LDAsezB4NDksMHg1OCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9LAotICAgMywweDRiYzQsMCx7MHgwMSwweGYwLDB4MjJ9LAotICAxNiwweDRiYzcsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxMywweDkwLDB4N2YsMHhlOSwweGUwLDB4MTQsMHg3MCwweDA0LDB4MTIsMHg0YX0sCi0gIDE2LDB4NGJkNywwLHsweDAzLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfSwKLSAgIDIsMHg0YmU3LDAsezB4ZjAsMHgyMn0sCi0gIDE2LDB4NGJlOSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweDkwfSwKLSAgMTYsMHg0YmY5LDAsezB4NzYsMHg5NiwweGUwLDB4NTQsMHhmZCwweGYwLDB4OTAsMHg4MCwweDAzLDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTB9LAotICAgMSwweDRjMDksMCx7MHgzMn0sCi0gIDE2LDB4NGMwYSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgMTUsMHg0YzFhLDAsezB4YzIsMHgyOSwweDkwLDB4NzYsMHg4ZCwweDc0LDB4MDEsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0YzI5LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHgzMCwweGU3LDB4MTIsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDdmLDB4MTQsMHg3ZSwweDAwLDB4MTJ9LAotICAxMCwweDRjMzksMCx7MHg0ZCwweDlkLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHgyMn0sCi0gIDE2LDB4NGM0MywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjUsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDA4fSwKLSAgIDgsMHg0YzUzLDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGM1YiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMSwweGYwfSwKLSAgIDcsMHg0YzZiLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjNzIsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDIsMHhmMH0sCi0gICA3LDB4NGM4MiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Yzg5LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDA0LDB4ZjB9LAotICAgNywweDRjOTksMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNhMCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwNCwweGYwfSwKLSAgIDcsMHg0Y2IwLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjYjcsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4MDgsMHhmMH0sCi0gICA3LDB4NGNjNywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0Y2NlLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDA4LDB4ZjB9LAotICAgNywweDRjZGUsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGNlNSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgxMCwweGYwfSwKLSAgIDcsMHg0Y2Y1LDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRjZmMsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MTAsMHhmMH0sCi0gICA3LDB4NGQwYywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDEzLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGE5LDB4ZTAsMHg0NCwweDIwLDB4ZjB9LAotICAgNywweDRkMjMsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQyYSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgyMCwweGYwfSwKLSAgIDcsMHg0ZDNhLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkNDEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YTksMHhlMCwweDQ0LDB4NDAsMHhmMH0sCi0gICA3LDB4NGQ1MSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFhLDB4ZTAsMHg0NCwweDQwLDB4ZjB9LAotICAgNywweDRkNjgsMCx7MHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4NGQ2ZiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg4MCwweGYwfSwKLSAgIDcsMHg0ZDdmLDAsezB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDRkODYsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4ODAsMHhmMH0sCi0gICA3LDB4NGQ5NiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZDlkLDAsezB4OGUsMHgzNSwweDhmLDB4MzYsMHhlNSwweDM2LDB4MTUsMHgzNiwweGFlLDB4MzUsMHg3MCwweDAyLDB4MTUsMHgzNSwweDRlLDB4NjB9LAotICAgNywweDRkYWQsMCx7MHgwNSwweDEyLDB4MTQsMHg4NSwweDgwLDB4ZWUsMHgyMn0sCi0gIDE2LDB4NGRiNCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDQsMHhmMCwweGQwfSwKLSAgIDYsMHg0ZGM0LDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHg0ZGNhLDAsezB4OTAsMHg3NiwweDgyLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDEsMHhmMCwweGQzLDB4MjJ9LAotICAxMiwweDRkZGEsMCx7MHhjMiwweDM3LDB4ZTQsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGMyLDB4MzYsMHhmNSwweDE0LDB4MjJ9LAotICAgOSwweDRkZTYsMCx7MHhjMiwweDI1LDB4NTMsMHhkOCwweGVmLDB4NDMsMHhkOCwweDIwLDB4MzJ9LAotICAgNywweDRkZWYsMCx7MHg1MywweDk4LDB4ZmUsMHg1MywweDk4LDB4ZmQsMHgzMn0sCi0gICA3LDB4NGRmNiwwLHsweDUzLDB4YzAsMHhmZSwweDUzLDB4YzAsMHhmZCwweDMyfSwKLSAgIDYsMHg0ZGZkLDAsezB4NTMsMHg5MSwweDdmLDB4ZDIsMHgyYywweDMyfSwKLSAgIDQsMHg0ZTAzLDAsezB4NTMsMHg5MSwweGRmLDB4MzJ9LAotICAgNCwweDRlMDcsMCx7MHg1MywweGQ4LDB4ZjcsMHgzMn0sCi0gICA0LDB4NGUwYiwwLHsweDEyLDB4MTcsMHgzMCwweDIyfSwKLSAgIDMsMHg0ZTBmLDAsezB4YzIsMHg4ZCwweDMyfSwKLSAgIDMsMHg0ZTEyLDAsezB4YzIsMHg4ZiwweDMyfSwKLSAgIDIsMHg0ZTE1LDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxNywwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMTksMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTFiLDAsezB4ZDMsMHgyMn0sCi0gICAyLDB4NGUxZCwwLHsweGQzLDB4MjJ9LAotICAgMiwweDRlMWYsMCx7MHhkMywweDIyfSwKLSAgIDIsMHg0ZTIxLDAsezB4YzMsMHgyMn0sCi0gICAwLDB4MDAwMCwxLHswfQotfTsKLS8qIFNvdXJjZTogRU1JNjJNRlcuSEVYIAotOjEwMEM4RjAwNDE3NjY4MDE0MTc2NkEwMjQxNzY2QjBBQzEyMEMxMjEyMwotOjEwNDRBRDAwQzJBRkQyMjQ5MDdGOTM3NDMwRjA5MDdGOUM3NEJCRjA5OAotOjEwNDRCRDAwOTA3Rjk2RTA0NDMwRjBFMDU0MzBGMDkwN0Y5NDc0MzA2QgotOjEwNDRDRDAwRjA5MDdGOUQ3NENGRjA5MDdGOTc3NEEwRjA5MDdGOTVDMgotOjEwNDRERDAwNzRDMEYwOTA3RjlFNzQwM0YwOTA3Rjk5RTAzMEUyMDlGNAotOjEwNDRFRDAwOTAwNTE5NzRBMEYwRTRBM0YwQzIyNUMyMjJDMjIzQzIyNAotOjEwNDRGRDAwMjYxMjRCMjgxMjJEQTkxMjNCRDMxMjQ2MTkxMjNBNDJGRAotOjEwNDUwRDAwOTA3NjY4NzQwMUYwNzAwRjEyNEMyOTEyNEUxNTEyNEVGMAotOjEwNDUxRDAwMTcxMjFCNDAxMjE0OTYxMjQzMTQ5MDdGQUZFMDQ0MDEwMgotOjEwNDUyRDAwRjA5MDdGQUVFMDQ0MUZGMDkwN0ZBQzc0RkZGMDkwN0Y3MQotOjEwNDUzRDAwQURGMDkwN0ZERUYwOTA3RkRGRjA5MDdGQUJGMDkwN0Y1RAotOjEwNDU0RDAwQTlGMDkwN0ZBQUYwNTM5MUVGNDNEODIwRDJFODQzRDgzOQotOjA4NDU1RDAwMjA1M0E4QTA0M0E4ODAyMjBFCi06MTAwN0E2MDBFNDkwNzY2NkYwMTI0NEFEMjAyNjEzOTA3NjY2RTBDMzk4Ci06MTAwN0I2MDA5NDAyNTAwQUUwMDRGMEQyNDIxMjRCN0Y4MEVBMzAyNkJGCi06MTAwN0M2MDAwNTEyMjgwMUMyMjYzMDI1MkI5MDc2OTZFMDU0RkNGMEJGCi06MTAwN0Q2MDA5MDgwMDNGMDEyMTQ5NjkwNzY5NkUwNDQwM0YwOTA4MDkxCi06MTAwN0U2MDAwM0YwRTQ5MDc2NjdGMDkwNzY2N0UwMDRGMEUwQjQ0QkFGCi06MEEwN0Y2MDBGNjEyNDdGQTEyNDExQjgwQzUyMkRCCi06MTAyODAxMDBDMjIwQzIyMUMyMkE5MDdGRThFMDEyMzdGOTI4MzAwMEE1Ci06MTAyODExMDAyODhDMDEyOEEyMDIyQTFGMjEyQTZBMjIyOTNEODAyOTA3Ci06MTAyODIxMDA3RDgxMjlEMTgyMkE4NEExMkFCQUEyMDAwMDJBQkY5MERGCi06MTAyODMxMDA3RkU5RTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzQzCi06MTAyODQxMDA3MDQwMTIzRkU1NDFDQjEyNEUxRDQwMDI0MUNCOTA3RkJCCi06MTAyODUxMDBFQUUwQjQwMTA0QzIyMjQxQ0I5MDdGQjRFMDQ0MDFGMDJDCi06MTAyODYxMDA0MUNCMTI0RTFGOTA3RkVBRTBCNDAxMDREMjIyNDFDQjRBCi06MTAyODcxMDA5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDlCCi06MTAyODgxMDA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTAyNDVCCi06MTAyODkxMDBGNTcwMDUxMjQ4NjM0MUNCOTA3RkI0RTA0NDAxRjA0MUVCCi06MTAyOEExMDBDQjkwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMjIxMzQxMkMwCi06MTAyOEIxMDA0RTFENDAwMjQxQ0I5MDdGRUFFMDcwMzg5MDdGRUNFMDAyCi06MTAyOEMxMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEQzCi06MTAyOEQxMDBGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkVGCi06MTAyOEUxMDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NEQ4Ci06MTAyOEYxMDAyMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjEyNEUxRjU4Ci06MTAyOTAxMDA0MDAyNDFDQjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NEVDCi06MTAyOTExMDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjUzCi06MTAyOTIxMDBFNDM0N0ZGNTgzNzQwMUYwNDFDQjkwN0ZCNEUwNDQwMTNFCi06MTAyOTMxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMERFCi06MTAyOTQxMDA2MDEyMjRGODYwMDkyNDAyNzAyOTEyNDNFNzQxQ0IxMjc2Ci06MTAyOTUxMDA0RENBNDFDQjEyNEUxQkEyMjJFNDMzRkYyNUUwRkZBMjU4Ci06MTAyOTYxMDAyM0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjJECi06MTAyOTcxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDlFCi06MTAyOTgxMDA2MDMzMjRGNjYwMkEyNDA0NzAzRDkwN0ZFQkUwMjRERTVFCi06MTAyOTkxMDA2MDBDMDQ3MDEyOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjUxCi06MTAyOUExMDBCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjZECi06MTAyOUIxMDAxMjQ3NDU0MUNCMTI0RTFCRTQ5MDdGMDBGMEEzRjA5MEVCCi06MTAyOUMxMDA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjdDCi06MTAyOUQxMDA5MDdGRTlFMDI0RjQ2MDM0MjQwQzcwMzkxMjRFMUI5MDhFCi06MTAyOUUxMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTFGCi06MTAyOUYxMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMDU4Ci06MTAyQTAxMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDg1Ci06MTAyQTExMDA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjgxCi06MTAyQTIxMDBFOUUwMjRGNjYwMTIxNDYwMUEyNDAyNzAxREQyMjA5MDhECi06MTAyQTMxMDA3RkI0RTA0NDAxRjA4MDEyRDIyMDkwN0ZCNEUwNDQwMUUxCi06MTAyQTQxMDBGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwMjAxODkwN0ZFRUUxCi06MTAyQTUxMDBFMDcwMDRBM0UwNjAwQkQyMjlEMjI3MTIxNzRBRDIyQUQwCi06MTAyQTYxMDA4MDAzMTIwODAwQzIyMDgwNjE5MDdGRUVFMDcwMDRBMzExCi06MTAyQTcxMDBFMDYwMEJEMjI5RDIyODEyMTc0QUQyMkE4MDRDMTIzODkwCi06MTAyQTgxMDA3NDgwNDc5MDdGRTlFMDI0RkU2MDEyMTQ2MDFBMjQwMkVBCi06MTAyQTkxMDA3MDFERDIyMTkwN0ZCNEUwNDQwMUYwODAxMkQyMjE5MEM4Ci06MTAyQUExMDA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDVFCi06MTAyQUIxMDAyMTAzMTIxMDAwQzIyMTgwMTExMjJBRDY4MDBDMTI0RTVECi06MTAyQUMxMDAyMTUwMDc5MDdGQjRFMDQ0MDFGMDIwMkEwNzkwN0ZCNEExCi06MDUyQUQxMDBFMDQ0MDJGMDIyQzgKLToxMDQzRTcwMDEyNEUxOTQwMDI4MUFDOTA3RkVCRTAyNEZFNjAxRTE0NTAKLToxMDQzRjcwMDYwNDYxNDYwNkUxNDcwMDI4MTlEMjQwNDYwMDI4MUE1REEKLToxMDQ0MDcwMDc0MDU5MDdGRDRGMDc0MDA5MDdGRDVGMDIyOTA3RkVBRjYKLToxMDQ0MTcwMEUwRkYxMjRBNTU4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFOTIKLToxMDQ0MjcwMEVBQ0VFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyQTAKLToxMDQ0MzcwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRUFFMEZGMTI0N0I3OTMKLToxMDQ0NDcwMDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFRUU5MDdGM0QKLToxMDQ0NTcwMEQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGQjRFMDQ0M0UKLToxMDQ0NjcwMDAxRjAyMjkwN0ZFQUUwRkY5MDdFQzBFMEZEQTNFMEZCMzEKLToxMDQ0NzcwMDEyMTc5NDhCMjA4QTIxODkyMkVBNDk2MDExQ0VFQUNFNEQKLToxMDQ0ODcwMEVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5MDdGRTkKLToxMDQ0OTcwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMjEKLTowNTQ0QTcwMEI0RTA0NDAxRjA0NwotOjAxNDRBQzAwMjJFRAotOjAzMDAzMzAwMDI0REU2OTUKLTowOTRERTYwMEMyMjU1M0Q4RUY0M0Q4MjAzMjU2Ci06MDIwQzlGMDBDMTJGNjMKLTowNjQ3RkEwMDEyNEIyOEMyMzEyMjFGCi06MTA0MzE0MDBFNDkwNzY5NkYwOTA4MDAzRjA5MDdGRTA3NDkwRjA5MEIzCi06MTA0MzI0MDA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwN0ZBMUYwNTM4RTgwCi06MTA0MzM0MDBGODc1ODgwNTc1QjgyMDc1RjgwMTQzOEUzMEY1Qzg3NTkxCi06MTA0MzQ0MDBDQTdGNzVDQkY4NDNBODIwMTI0NTY1QzIyQ0MyMkRDMjgyCi06MTA0MzU0MDAyQkMyMkY5MDdGRkM3NERERjA5MDdGRkY3NEZGRjA5MEYwCi06MTA0MzY0MDA3Rjk3RTA0NDAxRjA5MDc2MTk3NDAxRjBFNDkwNzY4NTJCCi06MTA0Mzc0MDBGMEEzRjA5MDc2ODFGMDkwNzY4MEYwMTI0OUFFMTIwRjlGCi06MTA0Mzg0MDBDNjEyNEFGMTkwN0Y5N0UwNDQwOEYwRTA1NEI5RjBEMkE1Ci06MTA0Mzk0MDAzMDIwMzAxODEyNEFBNjEyMzAwMDEyNDAwMDEyNDIxRjc4Ci06MTA0M0E0MDAxMjQ4QkQxMjFCMDQxMjE2NjExMjQyMUYxMjRBQTZDMjAxCi06MTA0M0I0MDAyRkMyMzFDMjMyQzIzNEMyMzNDMjI5QzIyN0MyMjhFNDU2Ci06MTA0M0M0MDBGNTExOTA3Njg5RjA5MDc2M0ZGMDkwNzY0MUYwOTA3NkYyCi06MTA0M0Q0MDA0MEYwOTA3NjhBRjBBM0YwQTMwNEYwRTRBM0YwOTA3NjgyCi06MDM0M0U0MDA5OUYwMjIyQgotOjEwNDhCRDAwMzAyRDM5QzIyRDkwNzYxOUUwRkZCNDAxMERFNDkwNzZCQwotOjEwNDhDRDAwN0NGMEEzNzRGOEYwQTM3NDBBRjBFRkI0MDIwREU0OTAzOQotOjEwNDhERDAwNzY3Q0YwQTM3NEYwRjBBMzc0MEJGMEVGQjQwMzBERTQ0OQotOjBENDhFRDAwOTA3NjdDRjBBMzc0RjhGMEEzNzQxN0YwMjIwRAotOjEwMUIwNDAwMzAyQzM4QzIyQzkwNzYxOUUwRkZCNDAxMEU5MDc2N0MwQwotOjEwMUIxNDAwNzRDMEYwQTM3NDE0RjBBMzc0MEJGMEVGQjQwMjBERTREQQotOjEwMUIyNDAwOTA3NjdDRjBBMzc0MTBGMEEzNzQwQ0YwRUZCNDAzMEI2NAotOjBDMUIzNDAwRTQ5MDc2N0NGMEEzNzQxOEYwQTNGMDIyN0IKLToxMDQxMUIwMDkwNzY4REUwNjQwMTcwMjczMDI3MDhDMjI3MTIwODAwQzMKLToxMDQxMkIwMDEyMTc0QTMwMjgwOEMyMjgxMjM4NzQxMjE3NEEzMDJBM0MKLToxMDQxM0IwMDBFRTQ5MDc2OERGMEMyMkE5MDdGQjRFMDQ0MDJGMDkwQUEKLToxMDQxNEIwMDc2M0ZFMEI0MDEwNUU0RjAxMjMyNkY5MDc2NDFFMEI0QjMKLToxMDQxNUIwMDAxMDVFNEYwMTIzNDlBOTA3NjQwRTBCNDAxMDMxMjM0NzYKLToxMDQxNkIwMDlBMTIzMDAwMzAzMzAzMTI0MDAwOTA3RjlCRTAyMEU0MjIKLToxMDQxN0IwMDAyQzIzRjkwN0Y5QkUwMzBFNDAyRDIzRjkwN0Y5QkUwRjYKLToxMDQxOEIwMDIwRTUwMkMyM0U5MDdGOUJFMDMwRTUwMkQyM0VBMjQxODkKLToxMDQxOUIwMDMwM0YwMUIzNTAxRkEyM0Y5MjQxMzAzRjA5OTA3Njk3QjkKLToxMDQxQUIwMEUwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3MEMKLToxMDQxQkIwMEUwOTA4MDAyRjAzMDNGMzQ5MDc2MTlFMEZGQjQwMTBFQUUKLToxMDQxQ0IwMDkwNzY3Qzc0NjdGMEEzNzQwNkYwQTM3NDBCRjBFRkI0RDUKLToxMDQxREIwMDAyMEJFNDkwNzY3Q0YwQTNGMEEzNzQwQ0YwRUZCNDAzMjUKLToxMDQxRUIwMDBCRTQ5MDc2N0NGMEEzRjBBMzc0MThGMEEyNDAzMDNFNjEKLToxMDQxRkIwMDAxQjM1MDFGQTIzRTkyNDAzMDNFMDk5MDc2OTVFMDQ0QTkKLToxMDQyMEIwMDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDc2OTVFMDkwNjMKLTowNDQyMUIwMDgwMDFGMDIyMEMKLTowMjRFMTUwMEQzMjJBNgotOjAyNEUxNzAwRDMyMkE0Ci06MDI0RTE5MDBEMzIyQTIKLToxMDNGRTUwMDkwN0ZFQUUwOTA3NjgyRjBFNDkwNzY5MUYwOTA3NjkyNzgKLTowQjNGRjUwMEYwOTA3NjkwRjA5MDc2OTNGMEQzMjJDRAotOjEwNERDQTAwOTA3NjgyRTA5MDdGMDBGMDkwN0ZCNTc0MDFGMEQzMjI1NAotOjEwNDg2MzAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDE3MTQ2MDIxMTRERAotOjEwNDg3MzAwNjAyQjE0NjAzMjI0MDQ3MDM4OTA3RkVBRTA5MDc2OTFDNAotOjEwNDg4MzAwRjA4MDM1OTA3RkVBRTA5MDc2OTJGMDEyM0U5RjgwMjg4OAotOjEwNDg5MzAwOTA3RkVBRTA5MDc2OTBGMDEyMTgwMDgwMUI5MDdGRUFGOAotOjEwNDhBMzAwRTA5MDc2ODRGMDgwMTE5MDdGRUFFMDkwNzY5M0YwODAzOAotOjBBNDhCMzAwMDc5MDdGQjRFMDQ0MDFGMEQzMjIyNwotOjEwNDc0NTAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDFEMTQ2MDJBMTRFRAotOjEwNDc1NTAwNjAzNzE0NjA0NDI0MDQ3MDUwOTA3NjkxRTA5MDdGMDA5NwotOjEwNDc2NTAwRjA5MDdGQjU3NDAxRjA4MDQ3OTA3NjkyRTA5MDdGMDBERAotOjEwNDc3NTAwRjA5MDdGQjU3NDAxRjA4MDM3OTA3NjkwRTA5MDdGMDBERgotOjEwNDc4NTAwRjA5MDdGQjU3NDAxRjA4MDI3OTA3Njg0RTA5MDdGMDBFQgotOjEwNDc5NTAwRjA5MDdGQjU3NDAxRjA4MDE3OTA3NjkzRTA5MDdGMDBEQwotOjEwNDdBNTAwRjA5MDdGQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA4QwotOjAyNDdCNTAwRDMyMjBECi06MDI0RTFCMDBEMzIyQTAKLTowMjRFMUQwMEQzMjI5RQotOjAyNEUxRjAwRDMyMjlDCi06MDI0RTIxMDBDMzIyQUEKLToxMDJGRTcwMEMwRTBDMDgzQzA4MkQyMjY1MzkxRUY5MDdGQUI3NDAxQkIKLTowODJGRjcwMEYwRDA4MkQwODNEMEUwMzI1QgotOjEwNERCNDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwNEYwRDAwNQotOjA2NERDNDAwODJEMDgzRDBFMDMyMzIKLToxMDNENDcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRjYKLToxMDNENTcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQjEKLToxMDNENjcwMEMwRTA5MDdGQTJFMDkwNzY3RkYwOTA3Rjc0RTA5MDc2M0QKLToxMDNENzcwMDg3RjA5MDdGNzVFMDkwNzY4OEYwOTA3Rjk4RTA0NDAyMTYKLToxMDNEODcwMEYwOTA3Njk2RTBGRjIwRTEwQzQ0MDJGMDkwODAwM0YwN0IKLToxMDNEOTcwMEQyMzIxMjRCMjg5MDc2N0ZFMDIwRTI1MDkwNzY4N0UwNkYKLToxMDNEQTcwMEZFQTNFMDdDMDAyNDAwRjUzNEVDM0VGNTMzOTA3Njk4RDIKLToxMDNEQjcwMEUwRkRBRTMzQUYzNDEyMzZEODkwNzY4N0VGRjBEMjJGQ0UKLToxMDNEQzcwMDMwMzEyOTIwM0YyNkMyMzE5MDdGOTRFMDU0Q0ZGMDkwQzQKLToxMDNERDcwMDdGOUFFMDMwRTQwNEQyMkRDMjJDOTA3RjlBRTAyMEU1NTAKLToxMDNERTcwMDA0QzIyREQyMkM5MDdGOTRFMDQ0MzBGMDEyNDhCRDEyQ0IKLToxMDNERjcwMDFCMDQzMDJGMTIxMjQyMUZDMjJGNzVFODAxMTIxNjhBQjgKLToxMDNFMDcwMDc1RTgwREQyMkI4MDA1NzVFODAxQzIyQjIwMkIzNDkwNjUKLToxMDNFMTcwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2MDAKLToxMDNFMjcwMEYwQTM3NDBCRjBFRkI0MDIwQjkwNzY3Q0U0RjBBM0YwRjAKLToxMDNFMzcwMEEzNzQwQ0YwRUZCNDAzMEI5MDc2N0NFNEYwQTNGMEEzMkIKLToxMDNFNDcwMDc0MThGMDc1Q0FEMzc1Q0JGRUQyQ0EzMDM0MDRDMjM0QTUKLToxMDNFNTcwMDgwMDJEMjM0MzAzNDBEOTA3Njg5RTBDMzk0MDM0MDA0NTUKLToxMDNFNjcwMEUwMjRGREYwNTM5MUVGOTA3RkFCNzQwMkYwRjA5MDdGNjgKLToxMDNFNzcwMDk4RTA1NEZERjBEMEUwRkZEMEUwRkVEMEUwRkREMEUwQzgKLToxMDNFODcwMEZDRDBFMEZCRDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwMTkKLTowODNFOTcwMDgyRDA4M0QwRjBEMEUwMzJBQwotOjEwNEJFOTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwOTAwNgotOjEwNEJGOTAwNzY5NkUwNTRGREYwOTA4MDAzRjBEMDgyRDA4M0QwRTAyNwotOjAxNEMwOTAwMzI3OAotOjAxMkZGRjAwMzI5RgotOjEwNEM0MzAwQzBFMEMwODNDMDgyRDIyNTUzOTFFRjkwN0ZBQjc0MDgzQwotOjA4NEM1MzAwRjBEMDgyRDA4M0QwRTAzMkUyCi06MTA0QzVCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMDg0Ci06MDc0QzZCMDBEMDgyRDA4M0QwRTAzMkJCCi06MTA0QzBBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDFGMEQ0Ci06MEY0QzFBMDBDMjI5OTA3NjhENzQwMUYwRDA4MkQwODNEMEUwMzIyMQotOjEwNEM3MjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAyRjA2QwotOjA3NEM4MjAwRDA4MkQwODNEMEUwMzJBNAotOjEwNEI1QTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjA4NAotOjEwNEI2QTAwOTA3RkM3RTBGNTExNzUwRjAwNzUwRDAwRDIzM0QwODIyMgotOjA1NEI3QTAwRDA4M0QwRTAzMjAxCi06MTA0Qzg5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMDUzCi06MDc0Qzk5MDBEMDgyRDA4M0QwRTAzMjhECi06MTA0Q0EwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMDNCCi06MDc0Q0IwMDBEMDgyRDA4M0QwRTAzMjc2Ci06MTA0Q0I3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDIxCi06MDc0Q0M3MDBEMDgyRDA4M0QwRTAzMjVGCi06MTA0Q0NFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDA5Ci06MDc0Q0RFMDBEMDgyRDA4M0QwRTAzMjQ4Ci06MTA0Q0U1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMEVCCi06MDc0Q0Y1MDBEMDgyRDA4M0QwRTAzMjMxCi06MTA0Q0ZDMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMEQzCi06MDc0RDBDMDBEMDgyRDA4M0QwRTAzMjE5Ci06MTA0RDEzMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMEFDCi06MDc0RDIzMDBEMDgyRDA4M0QwRTAzMjAyCi06MTA0RDJBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMDk0Ci06MDc0RDNBMDBEMDgyRDA4M0QwRTAzMkVCCi06MTA0RDQxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMDVFCi06MDc0RDUxMDBEMDgyRDA4M0QwRTAzMkQ0Ci06MTA0RDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMDQ2Ci06MDc0RDY4MDBEMDgyRDA4M0QwRTAzMkJECi06MTA0RDZGMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMEYwCi06MDc0RDdGMDBEMDgyRDA4M0QwRTAzMkE2Ci06MTA0RDg2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMEQ4Ci06MDc0RDk2MDBEMDgyRDA4M0QwRTAzMjhGCi06MTA0MjFGMDA5MDc2MTlFMDY0MDE3MDM1OTA3Njg3RTBGRkQzOTQyRDg2Ci06MTA0MjJGMDA0MDJCOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzExCi06MTA0MjNGMDA5NDBGNDAxOUU0RjBFRkQzOTQzMTQwMDg5MDc2MTk3NDNECi06MTA0MjRGMDAwM0YwODAwNjkwNzYxOTc0MDJGMDEyM0U5RjkwNzYxOTUzCi06MTA0MjVGMDBFMEI0MDIyQzkwNzY4N0UwRkZDMzk0MkY1MDIyRUZEMzY3Ci06MTA0MjZGMDA5NDJBNDAxQzkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEQ1Ci06MTA0MjdGMDBFMEQzOTQwRjQwMEFFNEYwOTA3NjE5MDRGMDEyM0U5RkI5Ci06MTA0MjhGMDA5MDc2MTlFMEI0MDIyNjkwNzY4N0UwRDM5NDMxNDAxREUyCi06MTA0MjlGMDA5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjY5Ci06MTA0MkFGMDA0MDBCRTRGMDkwNzYxOTc0MDNGMDEyM0U5RjkwNzYxOTRDCi06MTA0MkJGMDBFMDY0MDM3MDNGOTA3Njg3RTBGRkMzOTQ1RjUwMzU5MEMyCi06MTA0MkNGMDA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY0MDg5Ci06MTA0MkRGMDAyM0U0RjBFRkMzOTQyRjUwMENFRkQzOTQyQTQwMDY5MEIxCi06MTA0MkVGMDA3NjE5NzQwMUYwRUZEMzk0MkY0MDA2OTA3NjE5NzQwMjZCCi06MTA0MkZGMDBGMDEyM0U5RjkwNzY4NkUwNzAwNTkwNzY4NUYwMjJFNDZFCi06MDU0MzBGMDA5MDc2ODZGMDIyMEIKLToxMDQ1NjUwMDkwNzY5QTc0MDJGMEU0OTA3NjkxRjBBM0YwOTA3NjkwQUMKLToxMDQ1NzUwMEYwOTA3NjkzRjA5MDc2OTY3NDAzRjA5MDgwMDNGMEU0RDMKLToxMDQ1ODUwMDkwNzY5N0YwOTA4MDAyRjA5MDc2OTQwNEYwOTA4MDAwRjkKLToxMDQ1OTUwMEYwRTQ5MDc2OEVGMDkwNzYxQUYwOTA3Njk1MDRGMEMyNUQKLToxMDQ1QTUwMDJFOTA3RjlCRTBGRjU0MTBGRjcwMDJDMjNGOTA3RjlCQ0YKLToxMDQ1QjUwMEUwRkY1NDEwRkVGRkJFMTAwMkQyM0Y5MDdGOUJFMEZGNEMKLToxMDQ1QzUwMDU0MjBGRjcwMDJDMjNFOTA3RjlCRTBGRjU0MjBGRUZGMDcKLToxMDQ1RDUwMEJFMjAwMkQyM0UzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMkYKLToxMDQ1RTUwMDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwOEUKLToxMDQ1RjUwMDMwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwOEEKLToxMDQ2MDUwMDU0RkJGMDkwNzY5NUUwOTA4MDAxRjBBMjNFOTI0MEEyOTYKLTowMzQ2MTUwMDNGOTI0MTkwCi06MDE0NjE4MDAyMjdGCi06MTAzRTlGMDA5MDc2OTJFMDE0NjAxRDE0NzAwMkUxNTQyNDAyNjAwMkM3Ci06MTAzRUFGMDBFMUU0OTA3Njk0NzQwMUYwOTA4MDAwRjBFNDkwNzY4RUM3Ci06MTAzRUJGMDBGMEQyMzEyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0ZGMjJCCi06MTAzRUNGMDBGMDkwN0ZGMzc0MzBGMDkwN0ZGRjc0RkNGMDkwNzY5NzUyCi06MTAzRURGMDBFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJGMERFCi06MTAzRUVGMDA5MDdGRjM3NDM0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDNFCi06MTAzRUZGMDA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA5MDFCCi06MTAzRjBGMDA3RkYzNzQ2NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0NDM5Ci06MTAzRjFGMDAwNEYwOTA3Njk0RTA0NDAxRjA5MDgwMDBGMDMwM0YwOTc3Ci06MTAzRjJGMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDhBCi06MTAzRjNGMDA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNEYwOTA3NkU3Ci06MTAzRjRGMDA4RTc0MDFGMDIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RjhDCi06MTAzRjVGMDBGMkYwOTA3RkYzNzQ0NEYwOTA3RkZGNzRGQ0YwOTA3NjUyCi06MTAzRjZGMDA5N0UwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkE2Ci06MTAzRjdGMDBGMDkwN0ZGMzc0NENGMDkwN0ZGRjc0RkNGMDkwNzY5Nzg1Ci06MTAzRjhGMDBFMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDNBCi06MTAzRjlGMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDJECi06MTAzRkFGMDA0NDA0RjA5MDc2OTRFMDU0RkVGMDkwODAwMEYwMzAzRjlGCi06MTAzRkJGMDAwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUUxCi06MTAzRkNGMDBGMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA2RjA5MERCCi06MDYzRkRGMDA3NjhFNzQwMkYwMjI1MAotOjEwMTgwMDAwOTA3NjkwRTAxNDYwMzcxNDcwMDIwMUQ4MTQ3MDAyMjFCMQotOjEwMTgxMDAwNzIxNDcwMDI0MTNCMjQwNDYwMDI2MTAzOTA3RkZDNzRFNwotOjEwMTgyMDAwQ0NGMDkwN0ZGRjc0RkNGMDkwNzY5NUUwNDQwMUYwNTQ4QQotOjEwMTgzMDAwMDVGMDkwODAwMUYwRTQ5MDc2MUFGMEMyMkUyMjkwNzZBNgotOjEwMTg0MDAwOTVFMDQ0MDFGMDQ0MDJGMDMwM0UwNkUwNDQwNEYwODBBQwotOjEwMTg1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3QQotOjEwMTg2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTIyOTAyNwotOjEwMTg3MDAwN0ZGQzc0NzRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkI3MwotOjEwMTg4MDAwRjA5MDc2OTdFMDU0RkRGMEU0OTA3NjgxRjA5MDc2ODBDOQotOjEwMTg5MDAwRjBFRkI0MDIyMjkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkMzQwotOjEwMThBMDAwRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJGMEU0OTBGOQotOjEwMThCMDAwNzY4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkU4NAotOjEwMThDMDAwRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDU0RkIyMwotOjEwMThEMDAwRjA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTRGRUYwNDRGMwotOjEwMThFMDAwMDJGMDMwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTQyNAotOjEwMThGMDAwRkJGMDkwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFCNAotOjEwMTkwMDAwRjA5MDc2MTlFMEZGQjQwMTIyOTA3RkZDNzQzMEYwOTBFMwotOjEwMTkxMDAwN0ZGRjc0RkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGNAotOjEwMTkyMDAwRkRGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjIyOTBBMgotOjEwMTkzMDAwN0ZGQzc0MUNGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkYwNgotOjEwMTk0MDAwRjA5MDc2OTdFMDQ0MDJGMEU0OTA3NjgxRjA5MDc2ODAxMwotOjEwMTk1MDAwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTczQwotOjEwMTk2MDAwRTA0NDAxRjA5MDc2OTdFMDU0RkJGMDkwODAwMkYwRDJEMgotOjEwMTk3MDAwMkUyMjkwNzY5NUUwNDQwMUYwNDQwMkYwNDQwOEYwMzBDNQotOjEwMTk4MDAwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTAyQQotOjEwMTk5MDAwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFGMDkwNzY5OAotOjEwMTlBMDAwMTlFMEZGQjQwMTI1OTA3RkZDNzRDQ0YwOTA3RkZGNzRBOAotOjEwMTlCMDAwRkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGREYwNTQwNQotOjEwMTlDMDAwRkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjI1OTAwMQotOjEwMTlEMDAwN0ZGQzc0QzhGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkZCQQotOjEwMTlFMDAwRjA5MDc2OTdFMDQ0MDJGMDU0RkJGMEU0OTA3NjgxRjBCQQotOjEwMTlGMDAwOTA3NjgwRjBFRkI0MDMyNTkwN0ZGQzc0OThGMDkwN0Y5MAotOjEwMUEwMDAwRkY3NEZDRjA5MDc2OEY3NDVGRjA5MDc2OTdFMDU0RkQ1MQotOjEwMUExMDAwRjA0NDA0RjBFNDkwNzY4MUYwOTA3NjgwRjAzMDNGMDk1NQotOjEwMUEyMDAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjBCRQotOjEwMUEzMDAwOTA3Njk3RTA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTQzNgotOjEwMUE0MDAwRkVGMDQ0MDJGMDQ0MDhGMDMwM0UwNkUwNDQwNEYwODAyQQotOjEwMUE1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3OAotOjEwMUE2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTI1OTAyMgotOjEwMUE3MDAwN0ZGQzc0QjRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkIzMQotOjEwMUE4MDAwRjA5MDc2OTdFMDU0RkRGMDU0RkJGMEU0OTA3NjgxRjAwRQotOjEwMUE5MDAwOTA3NjgwRjBFRkI0MDIyNTkwN0ZGQzc0QjBGMDkwN0ZEOAotOjEwMUFBMDAwRkY3NEZDRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJFQwotOjEwMUFCMDAwRjA1NEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDM4MAotOjEwMUFDMDAwMjU5MDdGRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc2OEYxNwotOjEwMUFEMDAwNzQ1RkYwOTA3Njk3RTA1NEZERjA0NDA0RjBFNDkwNzY2MwotOjEwMUFFMDAwODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFRjBEOAotOjEwMUFGMDAwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDIxRQotOjA0MUIwMDAwRjBEMjJFMjJDRgotOjA0MENBMTAwNDE3NjIzMDA3NQotOjEwMkRBOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MgotOjEwMkRCOTAwMzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJERgotOjEwMkRDOTAwRTQzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDEwRjU2QwotOjEwMkREOTAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkZBMAotOjEwMkRFOTAwNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBBQwotOjEwMkRGOTAwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDVBNwotOjEwMkUwOTAwRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzRTQzQQotOjEwMkUxOTAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU5NwotOjEwMkUyOTAwODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEY3RQotOjEwMkUzOTAwRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQ4OAotOjEwMkU0OTAwMTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjAwOQotOjEwMkU1OTAwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQ1QwotOjEwMkU2OTAwMDFGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODNCRQotOjEwMkU3OTAwNzQwM0YwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjVCQQotOjEwMkU4OTAwODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjRDMwotOjEwMkU5OTAwMEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEVGNzVGMDAzQTQzMAotOjEwMkVBOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwNkYwRUY3NUYwMDNBOQotOjEwMkVCOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTBDNQotOjEwMkVDOTAwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjVFRgotOjEwMkVEOTAwODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVDRQotOjEwMkVFOTAwRjU4Mzc0MDRGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQzQgotOjEwMkVGOTAwNzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNCMQotOjEwMkYwOTAwQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjBBQwotOjEwMkYxOTAwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDhGMEVGNzU4MgotOjEwMkYyOTAwRjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwOTA1OQotOjEwMkYzOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MAotOjEwMkY0OTAwMzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODI0QwotOjEwMkY1OTAwRTQzNDc1RjU4Mzc0MEFGMEVGNzVGMDAzQTQyNDEwRjVEMQotOjEwMkY2OTAwODJFNDM0NzVGNTgzNzQwNEYwOTA3NjM2RTAwNEYwRTA3OQotOjEwMkY3OTAwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDIxOQotOjEwMkY4OTAwRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQyQQotOjEwMkY5OTAwMDlGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM4NAotOjEwMkZBOTAwNzQwNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQ5MQotOjEwMkZCOTAwMEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQxRAotOjEwMkZDOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwN0YwRUY3NUYwMDM4NwotOjBFMkZEOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBDCi06MTAzQkQzMDBFNDkwNzYzNkYwRTBGQjc1RjAwRkE0MjQ0MUY1ODJFNDFGCi06MTAzQkUzMDAzNDc1RjU4Mzc0NDBGMEVCNzVGMDBGQTQyNDQyRjU4MjJECi06MTAzQkYzMDBFNDM0NzVGNTgzNzQwQUYwRUI3NUYwMEZBNDI0NDNGNUYwCi06MTAzQzAzMDA4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMEQ5Ci06MTAzQzEzMDAwRkE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMEY2Ci06MTAzQzIzMDBBQzQ0RUI3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0IzCi06MTAzQzMzMDAxMjM3QzgwMDAxNzcwMDkwNzYzNkUwMDRGMEUwRkI3NTk4Ci06MTAzQzQzMDBGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQwRjBFQjVFCi06MTAzQzUzMDA3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0OENGMDc3Ci06MTAzQzYzMDBFQjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzMTIzNzIyCi06MTAzQzczMDBDODAwMDBBQzQ0RUI3NUYwMEZBNDI0NDdGNTgyRTQzNDhDCi06MTAzQzgzMDA3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMDBGQTQyNDFDCi06MTAzQzkzMDA0QkY1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMTc3MDA5MDQxCi06MTAzQ0EzMDA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNERBCi06MTAzQ0IzMDAzNDc1RjU4Mzc0NDBGMEVGNzVGMDBGQTQyNDQyRjU4MjU4Ci06MTAzQ0MzMDBFNDM0NzVGNTgzNzQ4RkYwOTA3NjM2RTAwNEYwRTBGRjBBCi06MTAzQ0QzMDA3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDFGMDQzCi06MTAzQ0UzMDBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4NEYwCi06MTAzQ0YzMDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTcwCi06MTAzRDAzMDA4MkU0MzQ3NUY1ODM3NDYxRjBFRjc1RjAwRkE0MjQ0MkY3Ci06MTAzRDEzMDBGNTgyRTQzNDc1RjU4Mzc0ODFGMDkwNzYzNkUwMDRGMDJGCi06MTAzRDIzMDBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQ0Ci06MTAzRDMzMDA2MUYwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4MzQ2Ci06MDQzRDQzMDA3NDAxRjAyMkY1Ci06MTA0NjE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEU1Ci06MTA0NjI5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNERGCi06MTA0NjM5MDAzNDc1RjU4Mzc0MDFGMDkwNzYzNkUwMDRGMEUwRkY3NTg3Ci06MTA0NjQ5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NUMwCi06MTA0NjU5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDAyRjA5MEYxCi06MTA0NjY5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNDI1Ci06MTA0Njc5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNDhGCi06MTA0Njg5MDAzNDc1RjU4Mzc0MDNGMDkwNzYzNkUwMDRGMEUwRkY3NTM1Ci06MTA0Njk5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTcwCi06MTA0NkE5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBECi06MTAzQTQyMDBFNDkwNzYzNUYwOTA3NjM1RTBGRkMzOTQwMzQwMDI0MTZFCi06MTAzQTUyMDBGRkVGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1ODNFRjJBCi06MTAzQTYyMDBGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFNDMzCi06MTAzQTcyMDBGMEVGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM3NDkyCi06MTAzQTgyMDBGMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzA1Ci06MTAzQTkyMDA3NEZGRjBFRjc1RjAwQUE0MjRBRUY1ODJFNDM0NzVGNUY0Ci06MTAzQUEyMDA4M0U0RjBFRjc1RjAwQUE0MjRBRkY1ODJFNDM0NzVGNUVGCi06MTAzQUIyMDA4Mzc0ODBGMEVGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUMzCi06MTAzQUMyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUNECi06MTAzQUQyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUJDCi06MTAzQUUyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUFCCi06MTAzQUYyMDBGNTgzNzQwMUYwOTA3NjM1RTAwNEYwNDE0NzkwNzYzQzBFCi06MTAzQjAyMDA3NDBBRjBFNEEzRjA5MDc2MzU3NDAzRjA5MDc2M0NFMDBBCi06MTAzQjEyMDBGRjkwNzYzNUUwRkVDMzlGNDAwMjYxRDI5MDc2M0RFMDkxCi06MTAzQjIyMDBGRjA0RjBFRTc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNUQ4Ci06MTAzQjMyMDA4M0VGRjBFRTc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTU4Ci06MTAzQjQyMDA4M0U0RjBFRTc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTUyCi06MTAzQjUyMDA4Mzc0NUVGMEVFNzVGMDBBQTQyNEFERjU4MkU0MzQ3NTQ4Ci06MTAzQjYyMDBGNTgzNzRCQUYwRUU3NUYwMEFBNDI0QUVGNTgyRTQzNDVCCi06MTAzQjcyMDA3NUY1ODM3NDA1RjBFRTc1RjAwQUE0MjRBRkY1ODJFNEJFCi06MTAzQjgyMDAzNDc1RjU4Mzc0ODBGMEVFNzVGMDBBQTQyNEIwRjU4MkUyCi06MTAzQjkyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIxRjU4MkZECi06MTAzQkEyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIyRjU4MkVDCi06MTAzQkIyMDBFNDM0NzVGNTgzNzQxNUYwRUU3NUYwMEFBNDI0QjNGNUI4Ci06MTAzQkMyMDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM1RTAwNEYwNjEwRTFBCi06MDEzQkQyMDAyMkQwCi06MTAwODAwMDBFNDkwNzYzMUYwOTA3NjMxRTBGRjc1RjAwM0E0MjQwRjg4Ci06MTAwODEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDRBCi06MTAwODIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjMxRTAwNEYwODBENTUxCi06MTAwODMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0IxCi06MTAwODQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjMzRjAyNDI5Ci06MTAwODUwMDBGMDYwMEEyNDBFNjAwMjgxODcxMjRCQzcyMjkwN0ZFRDYwCi06MTAwODYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM3NzQwMTQ1Ci06MTAwODcwMDBGMDkwNzYzOTc0MDNGMDkwNzYyMUYwRTQ5MDc2MjBGMEQxCi06MTAwODgwMDA5MDdGRUFFMEY0NjAyRjkwNzYyMEUwRkY3NUYwMEFBNEY0Ci06MTAwODkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDVBCi06MTAwOEEwMDBFRTZENjAxMjkwNzYyMUUwRkVFRkMzOUU1MDA4OTA3NkM4Ci06MTAwOEIwMDAyMEUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkU1Ci06MTAwOEMwMDAxODc0MDZGMDkwNzYzNzc0MDRGMDkwNzYzOTc0MEFGMDU0Ci06MTAwOEQwMDA5MDc2MjFGMDkwNzYyMDc0MDNGMDkwN0ZFQUUwRjQ2MDQ3Ci06MTAwOEUwMDAyRjkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDY0Ci06MTAwOEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3Njg0Ci06MTAwOTAwMDAyMUUwRkVFRkMzOUU1MDA4OTA3NjIwRTAwNEYwODBEMUY1Ci06MTAwOTEwMDA5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUVECi06MTAwOTIwMDBGNTgzRTA5MDcyMjlGMEU0OTA3NjNCRjA5MDc2MjFFMDM4Ci06MTAwOTMwMDBGRUVGNkU3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkYwCi06MTAwOTQwMDBFMDE0NjAxMzE0NzAwMjIxRTIyNDAyNjAwMjgxN0Y5MDlGCi06MTAwOTUwMDA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMTQ3MDdDOTA3RjQ2Ci06MTAwOTYwMDBFQUUwRjQ3MDQ4OTA3NjM3RTA5MDc2MjBGMDkwNzYzOTlGCi06MTAwOTcwMDBFMEZFOTA3NjIwRTBGREMzOUU1MDJCOTA3NjNCRTBGRTlCCi06MTAwOTgwMDAwNEYwNzRDMDJFRjU4MkU0MzQ3RUY1ODNFMEZFRUQ3NTRDCi06MTAwOTkwMDBGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFRUYwOTA3NjhBCi06MTAwOUEwMDAyMEUwMDRGMDgwQzc5MDc2M0Y3NDAxRjAyMjkwN0VDMDcyCi06MTAwOUIwMDBFMEZFRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4MzBDCi06MTAwOUMwMDBFRUYwRTBCNDAxMDg5MDc2M0U3NDAxRjA4MDA1RTQ5MDBBCi06MTAwOUQwMDA3NjNFRjA5MDc2M0Y3NDAxRjAyMjkwN0ZCNEUwNDQwMUJGCi06MTAwOUUwMDBGMDIyOTA3RkU5RTAyNEZFNzAwMjQxQTMxNDcwMDI2MUJFCi06MTAwOUYwMDAzRjE0NzAwMjYxREIyNDAzNjAwMjgxNzc5MDdGRUFFMDlDCi06MTAwQTAwMDBGNDcwNkI5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRkM2Ci06MTAwQTEwMDA5MDc2MjBFMEZFQzM5RjUwNEU5MDc2M0JFMEZGMDRGMEJFCi06MTAwQTIwMDA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUEyCi06MTAwQTMwMDBBNDI0QUNGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JFMEM2Ci06MTAwQTQwMDBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRUZFCi06MTAwQTUwMDA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MEM3Ci06MTAwQTYwMDA3NjIwRTAwNEYwODBBNDkwNzY0MDc0MDFGMDIyOTA3RTFECi06MTAwQTcwMDBDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFDRjU4Mjc5Ci06MTAwQTgwMDBFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQTc3Ci06MTAwQTkwMDBBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MDc2NDE3NENCCi06MTAwQUEwMDAwMUYwMjI5MDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjZECi06MTAwQUIwMDAyMEYwOTA3NjM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjYwCi06MTAwQUMwMDA4MThFOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDExCi06MTAwQUQwMDA3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUVGNTgyRTQzNERGCi06MTAwQUUwMDA3NUY1ODNFRkYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNUNFCi06MTAwQUYwMDA4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUZGNUJFCi06MTAwQjAwMDA4MkU0MzQ3NUY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjYzCi06MTAwQjEwMDA5MDdFQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBRTNGCi06MTAwQjIwMDBGNTgyRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NTU5Ci06MTAwQjMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDM3Ci06MTAwQjQwMDA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjU5Ci06MTAwQjUwMDAzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NkMwCi06MTAwQjYwMDAzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEFGCi06MTAwQjcwMDBGRkVFNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFRjM2Ci06MTAwQjgwMDBGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUYxCi06MTAwQjkwMDBGNTgzRTBGRkVFNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NTI0Ci06MTAwQkEwMDBGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMDI0Ci06MTAwQkIwMDBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QjBGNTgyRTQzNEJDCi06MTAwQkMwMDA3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNDg2Ci06MTAwQkQwMDBCMUY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkVBRTBGNDFBCi06MTAwQkUwMDA3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkY5MDRFCi06MTAwQkYwMDA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzYzQkUwRkYwNEFBCi06MTAwQzAwMDBGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMERBCi06MTAwQzEwMDAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkI0Ci06MTAwQzIwMDBFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRjJBCi06MTAwQzMwMDBFRTc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTgzRUZGMDgxCi06MTAwQzQwMDA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTBGRjkwNzYyMEI1Ci06MTAwQzUwMDBFMEZFNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRjYyCi06MTAwQzYwMDBGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjRCM0Y1ODJFNEIzCi06MTAwQzcwMDAzNDc1RjU4M0VGRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MEM4Ci06MEYwQzgwMDA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjIwMQotOjEwMTAwMDAwRTQ5MDc2MkNGMDkwNzYyQ0UwRkY3NUYwMDNBNDI0MEY4QQotOjEwMTAxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0MgotOjEwMTAyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYyQ0UwMDRGMDgwRDU0RQotOjEwMTAzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNBOQotOjEwMTA0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYyRUYwMjQyNgotOjEwMTA1MDAwRjA2MDBBMjQwRjYwMDI4MTdEMTI0QkE0MjI5MDdGRUQ4NAotOjEwMTA2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzODc0MDEzQwotOjEwMTA3MDAwRjA5MDc2M0E3NDAzRjA5MDc2MUNGMEU0OTA3NjFCRjBEMgotOjEwMTA4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MUJFMEZGNzVGMDBBQTRGMQotOjEwMTA5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1MgotOjEwMTBBMDAwRUU2RDYwMTI5MDc2MUNFMEZFRUZDMzlFNTAwODkwNzZDNQotOjEwMTBCMDAwMUJFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFMgotOjEwMTBDMDAwMTg3NDA2RjA5MDc2Mzg3NDA0RjA5MDc2M0E3NDBBRjA0QQotOjEwMTBEMDAwOTA3NjFDRjA5MDc2MUI3NDAzRjA5MDdGRUFFMEY0NjA0OQotOjEwMTBFMDAwMkY5MDc2MUJFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2MQotOjEwMTBGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY3QwotOjEwMTEwMDAwMUNFMEZFRUZDMzlFNTAwODkwNzYxQkUwMDRGMDgwRDFGNwotOjEwMTExMDAwRTQ5MDc2MUVGMDkwNzYxQ0UwRkY5MDc2MUJFMEZFNkY2OAotOjEwMTEyMDAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJFMDE0NjBGRgotOjEwMTEzMDAwMTMxNDcwMDIyMUJGMjQwMjYwMDI4MTc1OTA3RkI0RTAxNQotOjEwMTE0MDAwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDZCOTA3RkVBRTAxOQotOjEwMTE1MDAwRjQ3MDRBOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MwotOjEwMTE2MDAwOTA3NjFCRTBGREMzOUY1MDJCRUQ3NUYwMEFBNDI0QUJENQotOjEwMTE3MDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRDA0RjAxRgotOjEwMTE4MDAwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTA1OAotOjEwMTE5MDAwMDRGMDgwQzc5MDc2MUVFMDkwN0ZCNUYwMjJFRTc1RjBFNwotOjEwMTFBMDAwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA2NwotOjEwMTFCMDAwOTA3RkI1NzQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA1QQotOjEwMTFDMDAwN0ZFOUUwMjQ3RTcwMDI0MTdFMTQ3MDAyNjEyMzE0NzA3NgotOjEwMTFEMDAwMDI2MUM4MjQwMzYwMDI4MTZEOTA3RkVBRTBGNDcwNkRDMwotOjEwMTFFMDAwOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUI5MAotOjEwMTFGMDAwRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QUNGNTgyRTRGMQotOjEwMTIwMDAwMzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkQ0OQotOjEwMTIxMDAwRjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QUQ5NwotOjEwMTIyMDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA2RAotOjEwMTIzMDAwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTBBNgotOjEwMTI0MDAwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUI4QgotOjEwMTI1MDAwRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTA3MAotOjEwMTI2MDAwOTA3RjAwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVBOAotOjEwMTI3MDAwRjU4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCQgotOjEwMTI4MDAwRUFFMEY0NzA2RDkwNzYzOEUwOTA3NjFCRjA5MDc2M0E1NAotOjEwMTI5MDAwRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEZGNzVGMDBBQTQ3QgotOjEwMTJBMDAwMjRBRUY1ODJFNDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQxMQotOjEwMTJCMDAwMDRGMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVEMQotOjEwMTJDMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRTBGRjkwNzY0QwotOjEwMTJEMDAwMUVFMEZFMDRGMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUYwNwotOjEwMTJFMDAwRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjUyRAotOjEwMTJGMDAwRjAyMjkwNzYxQkUwRkY3NUYwMEFBNDI0QUVGNTgyRTQ5QwotOjEwMTMwMDAwMzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUYwMEFBNDI0QUYwOAotOjEwMTMxMDAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMUYwOTA3RkI1NzQzOQotOjEwMTMyMDAwMDJGMDIyOTA3RkVBRTBGNDcwNkQ5MDc2MzhFMDkwNzZEQgotOjEwMTMzMDAwMUJGMDkwNzYzQUUwRkY5MDc2MUJFMEMzOUY1MDRGRTBBMQotOjEwMTM0MDAwRkY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0UwRkU1RAotOjEwMTM1MDAwOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTgyRTQzNDdGRjVGNAotOjEwMTM2MDAwODNFRUYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1RjU0QwotOjEwMTM3MDAwODNFMEZGOTA3NjFFRTBGRTA0RjA3NDAwMkVGNTgyRTQxOAotOjEwMTM4MDAwMzQ3RkY1ODNFRkYwOTA3NjFCRTAwNEYwODBBNDkwNzYzNAotOjEwMTM5MDAwMUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEZGNzVGMDBBQTQ2NgotOjEwMTNBMDAwMjRCMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVBQQotOjEwMTNCMDAwRjAwQUE0MjRCMUY1ODJFNDM0NzVGNTgzRTA5MDdGMDE0RQotOjEwMTNDMDAwRjA5MDdGQjU3NDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTBBNwotOjEwMTNEMDAwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCRTA0RQotOjEwMTNFMDAwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzRBNQotOjEwMTNGMDAwNzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJERjU5NwotOjEwMTQwMDAwODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEIzRjU5RgotOjEwMTQxMDAwODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNzRGQwotOjEwMTQyMDAwMDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDQyNAotOjEwMTQzMDAwRjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCRTBCRAotOjEwMTQ0MDAwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0UwOTBDOAotOjEwMTQ1MDAwN0YwMEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU0QgotOjEwMTQ2MDAwODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQjQwQQotOjEwMTQ3MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjQ3OAotOjA1MTQ4MDAwRTA0NDAxRjAyMjMwCi06MTAzODc0MDBFNDkwNzYyOUYwOTA3NjI5RTBGRjc1RjAwRkE0MjQ0MkI1Ci06MTAzODg0MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REE3Ci06MTAzODk0MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI5RTAwNEYwODBENUJBCi06MTAzOEE0MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRjA2Ci06MTAzOEI0MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjJBRjAyNDVCCi06MTAzOEM0MDBCRjcwMDI0MTQxMjRFMDcwMDI0MTEyMjQyMTYwMDI0MTkwCi06MTAzOEQ0MDAzQTkwN0ZFOUUwMjRGRTYwN0QxNDcwMDIyMUIyMjQwMjU0Ci06MTAzOEU0MDA2MDAyNDEwQTEyMTc1MTkwNzY0MkUwRkNBM0UwRkRBMzY2Ci06MTAzOEY0MDBFMEZFQTNFMEZGOTA3NjI5RTA3NUYwMEZBNDI0NDNGNUUxCi06MTAzOTA0MDA4MkU0MzQ3NUY1ODMxMjM3QkM5MDc2MTlFMEZGQjQwMTc0Ci06MTAzOTE0MDAxMjkwNzY3Qzc0NjdGMDkwNzY3RDc0MDZGMDkwNzY3RUQzCi06MTAzOTI0MDA3NDBCRjBFRkI0MDIwRkU0OTA3NjdDRjA5MDc2N0RGMEE3Ci06MTAzOTM0MDA5MDc2N0U3NDBDRjBFRkI0MDMwRkU0OTA3NjdDRjA5MEY0Ci06MTAzOTQ0MDA3NjdERjA5MDc2N0U3NDE4RjA5MDc2MUE3NDAxRjAxMkY5Ci06MTAzOTU0MDAzRTlGMTIxODAwMjI5MDdFQzJFMEZGRTRGQ0ZERkVGQkI1Ci06MTAzOTY0MDBGQTc5MDFGODEyMzc0NkM4RUNDOEM5RURDOUNBRUVDQURCCi06MTAzOTc0MDBDQkVGQ0I5MDdFQzFFMEZFRTRGQ0ZEMkJGQkVBM0VGQUVDCi06MTAzOTg0MDBFRDM5RjlFQzM4Rjg5MDdFQzBFMEZGRTRGRUVCMkZGRjUwCi06MTAzOTk0MDBFRTNBRkVFRDM5RkRFQzM4RkM5MDc2MjlFMDc1RjAwRjM3Ci06MTAzOUE0MDBBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdCQzIyOTA3RTUzCi06MTAzOUI0MDBDMkUwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjM3NDZDOEM5Ci06MTAzOUM0MDBFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3RUMxRTBGRTBDCi06MTAzOUQ0MDBFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3RTc1Ci06MTAzOUU0MDBDMEUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOENDCi06MTAzOUY0MDBGQzkwNzYyOUUwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NTJECi06MTAzQTA0MDBGNTgzMTIzN0JDMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjBBCi06MTAzQTE0MDBFOUUwMTQ3MDE5OTA3RUMwRTBGRjkwNzYyOUUwNzVGMDFCCi06MTAzQTI0MDAwRkE0MjQ0RkY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkUwCi06MEUzQTM0MDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOUYKLToxMDJBRDYwMEU0OTA3NjI3RjA5MDc2MjdFMEZGNzVGMDBGQTQyNDQyNjUKLToxMDJBRTYwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENTMKLToxMDJBRjYwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjdFMDA0RjA4MEQ1NjgKLToxMDJCMDYwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGQjEKLToxMDJCMTYwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MjhGMDI0MDgKLToxMDJCMjYwMDlGNzAwMkExNzQyNDIxNjAwMkExQTE5MDdGRTlFMDI0OTQKLToxMDJCMzYwMDdFNzAwMjYxRkMxNDcwMDI4MUI1MjQwMjYwMDJBMTZDRjEKLToxMDJCNDYwMEVGNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQjkKLToxMDJCNTYwMEEzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzkwMDc4MTYKLToxMDJCNjYwMDAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDQUIKLToxMDJCNzYwMEYwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwNEIKLToxMDJCODYwMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZENEQKLToxMDJCOTYwMEEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBDMzEyMzYKLToxMDJCQTYwMDM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBFNEEzN0UKLToxMDJCQjYwMEYwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0QUIKLToxMDJCQzYwMDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFNjMKLToxMDJCRDYwMEEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdBQjYwRjgKLToxMDJCRTYwMDAyQTFBODkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0YKLToxMDJCRjYwMDdGQjU3NDAzRjAyMjkwNzYyN0UwNzVGMDBGQTQyNDQ3ODIKLToxMDJDMDYwMEY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzQzIKLToxMDJDMTYwMEUwRkY3QjQ0N0FBQzc5MDA3ODAwQzMxMjM3QUI3MDEzQkYKLToxMDJDMjYwMDkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1RjkKLToxMDJDMzYwMDc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0M0MKLToxMDJDNDYwMDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCODMKLToxMDJDNTYwMDgwN0FCQjc5MDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwN0YKLToxMDJDNjYwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwM0YwMTYKLToxMDJDNzYwMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1QzUKLToxMDJDODYwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCMDA3QTc3RjAKLToxMDJDOTYwMDc5MDE3ODAwQzMxMjM3QUI2MDAyQTFBODkwN0YwMEYwREIKLToxMDJDQTYwMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwQkIKLToxMDJDQjYwMDc2MjdFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzOEUKLToxMDJDQzYwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5NDEKLToxMDJDRDYwMDAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzRTIKLToxMDJDRTYwMDc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwMUYKLToxMDJDRjYwMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzNEMKLToxMDJEMDYwMEUwRkRBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQkMKLToxMDJEMTYwMEMzMTIzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwQkUKLToxMDJEMjYwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGN0EKLToxMDJEMzYwMEE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRkYKLToxMDJENDYwMEUwRkVBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QjMKLToxMDJENTYwMEFCNzA0RjkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwRUUKLToxMDJENjYwMDdGQjU3NDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGOTcKLToxMDJENzYwMEU5RTAyNDdGNzAxRTkwNzYyN0UwNzVGMDBGQTQyNDRGQkIKLToxMDJEODYwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwN0ZCNTc0QUEKLToxMDJEOTYwMDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0RjYKLTowMzJEQTYwMDAxRjAyMjE3Ci06MTA0QkE0MDA5MDdGRUJFMDE0NzAxNDkwN0ZFOUUwMjQ3RjcwMDQxMjhFCi06MTA0QkI0MDA0OTU4MjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDRECi06MDM0QkM0MDAwMUYwMjJEQgotOjEwNEJDNzAwOTA3RkVCRTAxNDcwMTM5MDdGRTlFMDE0NzAwNDEyNEFCMQotOjEwNEJENzAwMDMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFDNwotOjAyNEJFNzAwRjAyMkJBCi06MTA0OTU4MDBFNDkwNzYyNkYwOTA3NjI2RTBGRjc1RjAwM0E0MjQzNEUwCi06MTA0OTY4MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2REIyCi06MTA0OTc4MDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI2RTAwNEYwODBENUNBCi06MTA0OTg4MDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwMzFGCi06MTA0OTk4MDBBNDI0MzJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDJBCi06MDY0OUE4MDA3RkI1NzQwMUYwMjI0RQotOjEwNEEwMzAwRTQ5MDc2MjVGMDkwNzYyNUUwRkY3NUYwMDNBNDI0MzQzNgotOjEwNEExMzAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQwNgotOjEwNEEyMzAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNUUwMDRGMDgwRDUxRgotOjEwNEEzMzAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyOTA3RUMwRTAxQwotOjEwNEE0MzAwRkVFRjc1RjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRUVBQQotOjAyNEE1MzAwRjAyMjRGCi06MDMwMDAzMDAwMjBGRkRFQwotOjAzMEZGRDAwQzI4OTMyNzQKLTowMzAwMTMwMDAyMTdGREQ0Ci06MDMxN0ZEMDBDMjhCMzI2QQotOjAzMDA0QjAwMDI0RTAzNUYKLTowNDRFMDMwMDUzOTFERjMyQjYKLTowMzAwNTMwMDAyNDhGQTY2Ci06MDY0OEZBMDA1MzkxQkZEMjJEMzJFNAotOjAzMDA1QjAwMDI0REZENTYKLTowNjRERkQwMDUzOTE3RkQyMkMzMjFECi06MDMwMDYzMDAwMjRFMDc0MwotOjA0NEUwNzAwNTNEOEY3MzI1MwotOjAzMDAwQjAwMDI0RTBGOTMKLTowMzRFMEYwMEMyOEQzMjFGCi06MDMwMDFCMDAwMjRFMTI4MAotOjAzNEUxMjAwQzI4RjMyMUEKLTowMzAwMjMwMDAyNERFRjlDCi06MDc0REVGMDA1Mzk4RkU1Mzk4RkQzMkJBCi06MDMwMDNCMDAwMjRERjY3RAotOjA3NERGNjAwNTNDMEZFNTNDMEZEMzI2MwotOjAzMDAyQjAwMDI0ODAwODgKLToxMDQ4MDAwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwMzIKLToxMDQ4MTAwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGRUQKLToxMDQ4MjAwMEMwRTBDMkNBQzJDRjkwN0Y5OEUwNDQwMUYwMzAyRTAzQUUKLToxMDQ4MzAwMDEyMTRBNjkwN0Y5OEUwNTRGRUYwNTNBOEZBMTIxNjYxNjUKLToxMDQ4NDAwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwMzcKLToxMDQ4NTAwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMjgKLTowMzQ4NjAwMEQwRTAzMjczCi06MTA0QUE2MDBFNDkwNzY5QkYwOTA3NjlCRTBGRjA0RjBFRjYwMDhFMEUwCi06MTA0QUI2MDAyNDA4RjhFNEY2ODBFRTkwNzY5NkUwNDQwNEYwNDQwODg0Ci06MTA0QUM2MDBGMDkwODAwM0YwRTRGNTE4RDIzNUY1MEVGNTEwRDIzNkU1Ci06MTA0QUQ2MDA3NTEyMTE3NTEzMjJDMjM3QzIzOUMyMzhGNTE2RjUxNDhDCi06MEI0QUU2MDBGNTFBRjUwREMyM0JDMjNDQzIzRDIyOTgKLToxMDMwMDAwMDkwN0ZCNkUwMjBFMTAyQzIzREQyMzYyMDM2MDI0MTZFMEEKLToxMDMwMTAwMDMwM0QwMjQxNkU5MDgwMDdFMDYwMDREMjM2ODAwMkMyRUIKLToxMDMwMjAwMDM2MjAzNjAyNDEyRUQyMzVFNEY1MUE5MDgwMDRFMEY1QzAKLToxMDMwMzAwMDE5NzQwODI1MEVGOEE2MTk4NTE5MThFNTE4MjBFNzA0NTMKLToxMDMwNDAwMEQyMzg4MDAyQzIzODMwMzgwMjIxRDRFNEY1MTZFNTE5QUUKLToxMDMwNTAwMEI0RjAwQ0QyMzk3NTA4MDQ3NTA5RjAwNTBFODAwMjA1MkMKLToxMDMwNjAwMDE2RTUxOTY0Rjc3MDNEQzIzOUU1MEUyNEZFNjAxNzE0QTkKLToxMDMwNzAwMDYwMjIyNDAzNzAyOTc1MDgwNTc1MDlGN0U0RjUwQUY1M0YKLToxMDMwODAwMDBCNzUwRTA0ODAyMDc1MDgwNjc1MEFGN0U0RjUwQjc1QkMKLToxMDMwOTAwMDBFMDQ4MDEyNzUwODA3NzUwQkY3NzUwRTA0ODAwNzEyNzEKLToxMDMwQTAwMDREREE4MDAyMDUxNkU1MTk1NEY4NjRGODcwM0JDMjM1MTQKLToxMDMwQjAwMEU1MTkyNDA3NjAwQzI0RkM2MDA4MjQwNTI0Rjg1MDA2NTgKLToxMDMwQzAwMDgwMDhEMjNBODAwNkMyM0E4MDAyRDIzQTc1MUEwMTIwQUMKLToxMDMwRDAwMDNBMTk5MDdFODA3NDBGRjBBM0U1MTlGMEU0QTNGMEEzRjEKLToxMDMwRTAwMEYwOTA3RkI3NzQwNEYwODAwMjA1MTYyMDM5NkRFNTE5NjEKLToxMDMwRjAwMDY0Rjc2MDY3RTUxQTcwNjNFNTE4NTRGMDY0RjA3MDU5N0UKLToxMDMxMDAwMDg1MTgxOUY1MEVFNTE5MjQwRjYwMUIyNEZFNjAxNzI0OUQKLToxMDMxMTAwMEZENjAyMjE0NjAxRjI0MDU3MDJGNzUwODAzMDUwRTg1QkQKLToxMDMxMjAwMDE4MDlEMjM3ODAyODc1MDgwMjA1MEU4NTE4MDk3NTE0MEMKLToxMDMxMzAwMDAxRDIzNzgwMTk3NTA4MDUwNTBFODUxODA5RTRGNTBBQ0UKLToxMDMxNDAwMEY1MEI3NTBFMDNEMjM3ODAwNTEyNEREQUMyMzUzMDM1RDYKLToxMDMxNTAwMDBBODUwODEzODUxODEyODAwMjA1MTY4NTE4MTlFNTE2QzgKLToxMDMxNjAwMDY0MDQ3MDYyRjUwRUU1MTk1NEYwRjUxOUY1MTU4NTE4MkIKLToxMDMxNzAwMDE5RTUxNTI0NzA2MDE4MjRGMDYwMTQyNEYwNjAxMDI0MDAKLToxMDMxODAwMEYwNjAxRTI0RjA2MDFBMjRGMDYwMDQyNDYwNzAyN0U1Q0IKLToxMDMxOTAwMDE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5RDIzNzgwQTYKLToxMDMxQTAwMDFBRTUxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOTc1QUIKLToxMDMxQjAwMDE0MDFEMjM3ODAwNTEyNEREQUMyMzUzMDM1MEE4NTE5MkYKLToxMDMxQzAwMDEzODUxODEyODAwMjA1MTZFNTE2RDM5NDA1NDA1NzEyOTAKLToxMDMxRDAwMDREREE4MDUyMzAzOTE3RTUwRTcwMEE4NTA4MDk3NTA4RjYKLToxMDMxRTAwMDA0MDUwRTgwNDE3NDA4MjUwRUY4QTYxOTgwMzgyMDM3OTIKLToxMDMxRjAwMDJBRTUwRUI0MDEwRjg1MDgwQTg1MDkwQjg1MTMwODg1OTkKLToxMDMyMDAwMDEyMDk3NTBFMDRFNTE0QjQwMTFDODUwODBBRTRGNTBCRDcKLToxMDMyMTAwMDg1MTMwODg1MTIwOTc1MEUwNDgwMEJFNTE0QjQwMTA2QTgKLToxMDMyMjAwMEU0RjUwQjc1MEUwNEU0RjUxQTMwMzUwMjA1MEVFNTBFRDMKLToxMDMyMzAwMEQzOTQwMzUwMDIwMTBCQzIzN0U0RjUwRUY1MTBDMjM2RTkKLToxMDMyNDAwMEQyM0RGNTE0NzQwODI1MTBGOEU2RkY3NDgwMjUxMEY1QkEKLToxMDMyNTAwMDgyRTQzNDdFRjU4M0VGRjA3NDA4MjUxMEY4RTRGNjA1NzcKLTowRjMyNjAwMDEwRTUxMEI0MDRERTkwN0ZCNzc0MDRGMDAxMEIyMjY4Ci06MEM0RERBMDBDMjM3RTRGNTBFRjUxMEMyMzZGNTE0MjJDNQotOjEwNDAwMDAwRTUxMUQzOTQwMDUwMDIyMTA2OTA3Njg5RTBDMzk0MDgwQwotOjEwNDAxMDAwNDAwMjIxMDY3NDQwMjUwRkY1ODJFNDM0N0VGNTgzRTBFQQotOjEwNDAyMDAwRjUxN0U1MEQ2MDBFOTA4MDA1RTUxN0YwOTA3Njg5RTBCNAotOjEwNDAzMDAwMDRGMDAxREFFNTE3MTIzN0Y5NDBDMTAyNDA2NzA1NDA4NAotOjEwNDA0MDAwN0EwNjQwOTgwNzQwQzEwQzQwQzEwRDQwQzcwRjQwQ0JENQotOjEwNDA1MDAwRjY0MENCRjg0MENCRkE0MENCRkI0MENCRkM0MENCRkU0QwotOjEwNDA2MDAwNDBDQkZGMDAwMDQwREE5MDdFNDFFMDkwODAwNUYwOTA2OAotOjEwNDA3MDAwNzY4OUUwMDRGMDc1MTEwMTgwNjA5MDdFNDFFMDkwODBDNwotOjEwNDA4MDAwMDVGMDkwN0U0MkUwOTA4MDA1RjA5MDc2ODlFMDA0RjBBMwotOjEwNDA5MDAwRTAwNEYwNzUxMTAxODA0MjkwN0U0MUUwOTA4MDA1RjBDRgotOjEwNDBBMDAwOTA3RTQyRTA5MDgwMDVGMDkwN0U0M0UwOTA4MDA1RjBBNQotOjEwNDBCMDAwOTA3Njg5RTAwNEYwRTAwNEYwRTAwNEYwNzUxMTAxODBFRQotOjEwNDBDMDAwMTlEMjNCRDIzQzgwMTNEMjNCODAwRjkwODAwNUU1MTc3QwotOjEwNDBEMDAwRjA5MDc2ODlFMDA0RjA3NTExMDEyMDNCMDQwNTBEODAxNQotOjEwNDBFMDAwMUYzMDNDMUM5MDdFNDFFMDkwODAwNUYwOTA3RTQyRTBDNQotOjEwNDBGMDAwOTA4MDA1RjA5MDc2ODlFMDA0RjBFMDA0RjA3NTExMDFGRAotOjEwNDEwMDAwMDUwRjE1MTEwMTAwRTUxMTcwMTBDMjMzRjUwREY1MEYwMwotOjBCNDExMDAwOTA3RkM3NzQwNEYwQzIzQkMyM0MyMjQ5Ci06MTA0QzI5MDA5MDdGRDZFMDMwRTcxMkUwNDQwMUYwN0YxNDdFMDAxMjU1Ci06MEE0QzM5MDA0RDlEOTA3RkQ2RTA1NEZFRjAyMjVFCi06MTA0QjdGMDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzA0MjA0RTA0NDZDCi06MTA0QjhGMDAwMkYwN0ZEQzdFMDUxMjREOUQ5MDdGRDZFMDU0RjdGMDRBCi06MDU0QjlGMDBFMDQ0MDRGMDIyRDcKLToxMDREOUQwMDhFMzU4RjM2RTUzNjE1MzZBRTM1NzAwMjE1MzU0RTYwQ0IKLTowNzREQUQwMDA1MTIxNDg1ODBFRTIyQkYKLToxMDRBNTUwMEU0RkU3NTFERkY3NTFFMDU3NTFGMTJBQjFEQUExRUE5NjcKLToxMDRBNjUwMDFGOTAwMDAxMTIzNkFCNjQwMjcwMkZDREVFQ0QwRUVEMTYKLToxMDRBNzUwMDZGNzAwMTIyOTAwMDAyMTIzNzBFODVGMDFCRjUxQzYyNDMKLToxMDRBODUwMDFCRTUxQjYyMUNFNTFDNjIxQjI5RkRFNTFCM0FDOUVERjQKLToxMDRBOTUwMEM5NzUxREZGRjUxRTg5MUY4MEMxN0IwMDdBMDA3OTAwNEQKLTowMTRBQTUwMDIyRUUKLTowNDE3OTQwMDhEMjk4QjJBRTYKLToxMDE3OTgwMDEyNEE1NUVBNDk2MDU3MTIzNjkyN0UwMDI5RkZFRTNBRkUKLToxMDE3QTgwMEM5RUZDOTc1MkJGRkY1MkM4OTJEQUIyQkFBMkNBOTJEQjgKLToxMDE3QjgwMDkwMDAwMTEyMzZBQkZGNjQwNDYwMDVFRjY0MDU3MDJFREIKLToxMDE3QzgwMEVGQjQwNDE1OTAwMDAyMTIzNkFCNjUyOTcwMEI5MDAwMzcKLToxMDE3RDgwMDAzMTIzNkFCNjUyQTcwMDEyMjEyMzY5MjdFMDAyOUZGNjkKLToxMDE3RTgwMEVFM0FDOUVGQzk3NTJCRkZGNTJDODkyRDgwQkM3QjAwMUIKLTowNDE3RjgwMDdBMDA3OTAwRkEKLTowMTE3RkMwMDIyQ0EKLTowMjQ3QjcwMDhGMkU0MwotOjEwNDdCOTAwRTRGNTJGNzUzMEZGNzUzMTA3NzUzMjFBQUIzMEFBMzEyMAotOjEwNDdDOTAwQTkzMjkwMDAwMTEyMzZBQkI0MDMxRkFGMkYwNTJGRUZBQQotOjEwNDdEOTAwNjUyRTcwMDEyMjEyMzY5MjdFMDAyOUZGRUUzQUM5RUY0QQotOjEwNDdFOTAwQzk3NTMwRkZGNTMxODkzMjgwRDI3QjAwN0EwMDc5MDBCMgotOjAxNDdGOTAwMjI5RAotOjEwMDUwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgxMTAxMDAwMTAxMDJGRgotOjEwMDUxMDAwMDAwMTA5MDIwODAyMDUwMTAwODAzMjA5MDQwMDAwMDAwMAotOjEwMDUyMDAwMDEwMTAwMDAwQTI0MDEwMDAxNTYwMDAyMDEwMjBDMjQwRQotOjEwMDUzMDAwMDIwMTAxMDEwMDAyMDAwMDAwMDAwRDI0MDYwNTAxMDI3NQotOjEwMDU0MDAwMDMwMDAwMDAwMDAwMDAwOTI0MDMwMjA0MDMwMDA1MDA2QQotOjEwMDU1MDAwMEMyNDAyMDMwNTAyMDAwNjAwMDAwMDAwMTUyNDA2MDYxNAotOjEwMDU2MDAwMDMwMjAwMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDA3NAotOjEwMDU3MDAwMDAwOTI0MDMwNDAxMDEwMDA2MDAwOTA0MDEwMDAwMDEzMAotOjEwMDU4MDAwMDIwMDAwMDkwNDAxMDEwMjAxMDIwMDAwMDcyNDAxMDEyOAotOjEwMDU5MDAwMDAwMTAwMTEyNDAyMDEwMjAyMTAwMzQ0QUMwMDgwQkJFMAotOjEwMDVBMDAwMDAwMDc3MDEwOTA1MEEwNTg0MDEwMTAwOEYwNzI1MDE3NAotOjEwMDVCMDAwMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA1MDAwOTA0MDE4NQotOjEwMDVDMDAwMDIwMjAxMDIwMDAwMDcyNDAxMDEwMDAxMDAxMTI0MDJCRgotOjEwMDVEMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU0OQotOjEwMDVFMDAwMEEwNTQ2MDIwMTAwOEYwNzI1MDEwMTAwMDAwMDA5MDVFOAotOjEwMDVGMDAwOEYwMTAzMDAwMTA1MDAwOTA0MDIwMDAwMDEwMjAwMDA1MAotOjEwMDYwMDAwMDkwNDAyMDEwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDBBNQotOjEwMDYxMDAwMEUyNDAyMDEwNjAyMTAwMjQ0QUMwMDgwQkIwMDA5MDU1MgotOjEwMDYyMDAwOEMwNTRDMDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDRBRQotOjEwMDYzMDAwMDIwMjAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDBFMjQ0RgotOjEwMDY0MDAwMDIwMTA2MDMxODAyNDRBQzAwODBCQjAwMDkwNThDMDVCQQotOjEwMDY1MDAwNzIwMzAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyMDNFMwotOjEwMDY2MDAwMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDExRAotOjEwMDY3MDAwMDIwMjEwMDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMyNgotOjEwMDY4MDAwMDU4NDAxMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDJBMQotOjEwMDY5MDAwMDQwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDJFQQotOjEwMDZBMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU3OAotOjEwMDZCMDAwOEMwNTQ2MDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQyNAotOjEwMDZDMDAwMDMwMDAwMDEwMTAwMDAwOTI0MDEwMDAxMDkwMDAxMDRFOAotOjEwMDZEMDAwMDkwNDA0MDAwMjAxMDMwMDAwMDcyNDAxMDAwMTI0MDBCMgotOjEwMDZFMDAwMDYyNDAyMDEwNzAwMDkyNDAzMDIwODAxMDcwMTAwMDY4RAotOjEwMDZGMDAwMjQwMjAyMDkwMDA5MjQwMzAxMEEwMTA5MDEwMDA5MDU3NQotOjEwMDcwMDAwMDEwMjA0MDAwMDAwMDAwNTI1MDEwMTA3MDkwNTgxMDIxRQotOjEwMDcxMDAwMDQwMDAwMDAwMDA1MjUwMTAxMEEwNDAzMDkwNDE4MDM3MAotOjEwMDcyMDAwNDUwMDZEMDA2MTAwNjcwMDY5MDA2MzAwMjAwMDQ3MDAxQwotOjEwMDczMDAwNkQwMDYyMDA0ODAwMjIwMzQ1MDA2RDAwNjEwMDY3MDAwMwotOjEwMDc0MDAwNjkwMDYzMDAyMDAwNDUwMDREMDA0OTAwMjAwMDM2MDA4QwotOjEwMDc1MDAwN0MwMDMyMDAyMDAwNkQwMDJBMDM0MzAwNkYwMDZFMDAxMQotOjEwMDc2MDAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDAyRQotOjEwMDc3MDAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2QwotOjEwMDc4MDAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA3NQotOjEwMDc5MDAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RQotOjA2MDdBMDAwNkUwMDY3MDAwMDAwN0UKLToxMDE0ODUwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5N0EKLTowMTE0OTUwMDIyMzQKLToxMDE0OTYwMDkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRTAKLToxMDE0QTYwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMDhERTBDMEUwREMKLToxMDE0QjYwMDhDRTBDMEUwQzA4MkMwODMwNTg2QzA4NEMwODU3RDAwMDQKLToxMDE0QzYwMDkwN0ZFMzc0N0JGMEEzNzQ4MEYwN0MxMTkwN0Y5OUUwQTkKLToxMDE0RDYwMDU0NDBEQzAzMDIxNEYzQjQwMDEzOTA3RkUyNzQ0MEYwMkUKLToxMDE0RTYwMDkwN0ZFNUYwOTA3RkUyNzQwMEYwMDIxNEQyOTA3NjkwM0YKLToxMDE0RjYwMEUwQjQwMTEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwQ0IKLToxMDE1MDYwMDkwN0Y2QzAyMTU1N0I0MDIxMjkwNzY4RkUwMkRGRDkwRjUKLToxMDE1MTYwMDdGRTI3NDgwRjA5MDdGNkMwMjE1OTZCNDAzMTI5MDc2ODkKLToxMDE1MjYwMDhGRTAyREZEOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNUUxRDQKLToxMDE1MzYwMEI0MDQxMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwRDcKLToxMDE1NDYwMDdGNkMwMjE2MTA5MDdGRTI3NDgwRjA5MDdGNkMwMjE2MUEKLToxMDE1NTYwMDQwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERGMjdEQjkKLToxMDE1NjYwMDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0RkQKLToxMDE1NzYwMDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwMkQKLToxMDE1ODYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREQ0MDIxNjQwRkMKLToxMDE1OTYwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwNDUKLToxMDE1QTYwMEYwRjBEREVDN0QwMjA1ODY5MDdGRTI3NDAwRjA5MDdGMUUKLToxMDE1QjYwMDlCRTA1NDA0QjQwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0NTEKLToxMDE1QzYwMDgwRjAwNTg2RjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwREEKLTowNjE1RDYwMEYwRjBGMEYwRjBGMDZGCi06MTAxNURDMDBERENFMDIxNjQwRjBGMEYwRjBEREZBN0QwMjA1ODY5MENCCi06MTAxNUVDMDA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDU4NjA0Ci06MTAxNUZDMDAwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBERDhBCi06MTAxNjBDMDBEQzAyMTY0MEYwRjBGMEYwRjBGMERERjg3RDAyMDU4NjFCCi06MTAxNjFDMDA5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNUM5Ci06MTAxNjJDMDA4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEIwCi06MTAxNjNDMDBGMEYwREREQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NjdFCi06MTAxNjRDMDBEMDgzRDA4MkQwRTBGQ0QwRTBGREQwRTBGRUQwRTBGRjMzCi06MDUxNjVDMDBEMEUwRDBEMDIyMTcKLToxMDE2NjEwMEMwRDBDMEUwQzA4MkMwODM5MDc2N0NFMDkwN0Y2RkYwRjQKLToxMDE2NzEwMDkwNzY3REUwOTA3RjZGRjA5MDc2N0VFMDkwN0Y2RkYwQzYKLTowOTE2ODEwMEQwODNEMDgyRDBFMEQwRDAyMjQ5Ci06MTAxNjhBMDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTBDMDgyQzA4MzdFCi06MTAxNjlBMDAwNTg2QzA4NEMwODU5MDc2ODdFMEZGQkYwMDAzMDIxN0U1Ci06MTAxNkFBMDAwMTkwN0Y5NkUwNDQ4MEYwOTA3RkUyNzQ4MEYwOTA3RjEyCi06MTAxNkJBMDA2MkUwMDU4NjkwN0ZFMjc0MDBGMDkwN0Y5NkUwNTQ3RkE2Ci06MTAxNkNBMDBGMDkwN0ZFMjc0ODBGMDkwNzY4RUUwQjQwMTA1MDU4NjkyCi06MTAxNkRBMDAwMjE2RjZCNDAyMDUwNTg2MDIxNkVCMDU4NjAyMTZGQjBCCi06MTAxNkVBMDBFMEUwRTBFMEUwRTBERkY4MDIxNkZCRTBFMEUwRTBERjY3Ci06MTAxNkZBMDBGQTkwN0ZFMjc0MDBGMEQwODVEMDg0MDU4NkQwODNEMDNBCi06MEMxNzBBMDA4MkQwRTBGRUQwRTBGRkQwRTBEMEQwMjI4MgotOjEwMTcxNjAwQzA4MkMwODNDMEUwRThDMEUwNzhEMUU4MTRGODcwRkI2RQotOjBBMTcyNjAwRDBFMEY4RDBFMEQwODNEMDgyMjI5QQotOjEwMENBNTAwNDE3MjAxMDE0NTcyMDUwMDAyQzkwMDAwNDU3MjBBMDA0MgotOjEwMENCNTAwMDEwMjAzMDQ0RDcyMEZEMTAwRDEwMDAwMDAwMDAwMDBCNQotOjEwMENDNTAwMjgyODA5MDA0RDcyMUMwMTAwMDEwMjAzMDQwNTA2MDdDRQotOjEwMENENTAwMDgwOTBBMEI0MTcyMkUyMjQxNzIyRjIzNDE3MjMwMjBERQotOjEwMENFNTAwNDE3MjMxMjE2MkQyNzIzQTAwMDAwMDAwMDAwMDAwMDAxQQotOjEwMENGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMEQwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMEQxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMEQyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMEQzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMEQ0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMEQ1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMEQ2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMEQ3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAxMDEwMTAxMDE2OAotOjEwMEQ4NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE0RQotOjEwMEQ5NTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEzRQotOjEwMERBNTAwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEyRQotOjEwMERCNTAwMDEwMTAxMDEwMTAxMDEwMTAyMDIwMjAyMDIwMjAyMDIxNgotOjEwMERDNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJGRQotOjEwMERENTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJFRQotOjEwMERFNTAwMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJERQotOjEwMERGNTAwMDIwMjAyMDIwMjAzMDMwMzAzMDMwMzAzMDMwMzAzMDNDMwotOjEwMEUwNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDNBRAotOjEwMEUxNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM5RAotOjEwMEUyNTAwMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDM4RAotOjEwMEUzNTAwMDMwMzA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ2RgotOjEwMEU0NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ1RAotOjEwMEU1NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQ0RAotOjEwMEU2NTAwMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQzRAotOjEwMEU3NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUxRAotOjEwMEU4NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwRAotOjEwMEU5NTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDVGRAotOjEwMEVBNTAwMDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA2MDZFQgotOjEwMEVCNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZDRAotOjEwMEVDNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZCRAotOjEwMEVENTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDZBRAotOjEwMEVFNTAwMDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA3MDcwNzA4MDg5NgotOjEwMEVGNTAwMDgwOTA5MDkwQTBBMEEwQjBCMEIwQzBDMEMwRDBEMEQ0MAotOjEwMEYwNTAwMEUwRTBFMEYwRjBGMTAxMDEwMTExMTExMTIxMjEyMTNEOQotOjEwMEYxNTAwMTMxMzE0MTQxNDE1MTUxNTE2MTYxNjE3MTcxNzE4MTg3NAotOjEwMEYyNTAwMTgxOTE5MTkxOTFBMUExQTFBMUIxQjFCMUIxQzFDMUMxOAotOjEwMEYzNTAwMUMxRDFEMUQxRDFFMUUxRTFFMUYxRjFGMUYyMDIwMjBDOAotOjEwMEY0NTAwMjEyMTIxMjIyMjIyMjMyMzI0MjQyNTI1MjYyNjI3Mjc2MQotOjEwMEY1NTAwMjgyODI5MjkyQTJBMkIyQjJDMkMyRDJEMkUyRTJGMkZENAotOjEwMEY2NTAwMzAzMDMxMzEzMjMyMzMzMzM0MzQzNTM1MzYzNjM3Mzc0NAotOjEwMEY3NTAwMzgzODM5MzkzQTNBM0IzQzNEM0UzRjQwNDE0MjQzNDQ5QgotOjEwMEY4NTAwNDU0NjQ3NDg0OTQ5NEE0QjRCNEM0RDRFNEY1MDUxNTJBNwotOjEwMEY5NTAwNTM1NDU1NTU1NjU2NTc1NzU4NUE1QjVENUU1RjYxNjJCNwotOjEwMEZBNTAwNjM2NDY1NjY2NzY4Njk2QTZCNkM2RDZGNzE3MjczNzQ4QgotOjEwMEZCNTAwNzU3Njc3Nzg3OTdBN0I3QzdFODAwMTM3MDEwMTM4MDBGOAotOjEwNEIyODAwRTQ5MDcyMzZGMEEzRjA5MDdGOTdFMDU0RkJGMEU0OTBBNQotOjEwNEIzODAwNzIzM0YwOTA3MjMyRjA5MDcyMDEwNEYwRTQ5MDcyMzNBNAotOjEwNEI0ODAwRjA5MDcyMzJGMDkwNzIwMTA0RjA5MDdGOTdFMDQ0MDQ4NAotOjAyNEI1ODAwRjAyMjQ5Ci06MTAzMjZGMDA5MDc2MThFMEZGNjQwNTcwNDI5MDc1QUJFMEI0MDExOUQ5Ci06MTAzMjdGMDA5MDcyMzc3NDAxRjBFNDkwODAyMEYwOTA4MDMxRjA5MERDCi06MTAzMjhGMDA4MDI4RjA5MDgwMzlGMDgwMjJFNDkwNzIzN0YwOTA3NUFBCi06MTAzMjlGMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDcxCi06MTAzMkFGMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjUyCi06MTAzMkJGMDA4MTk5OTA3MjM5NzQwNEYwOTA3MjM5RTBGRjI0RkU5MDc2Ci06MTAzMkNGMDA3MjA0RjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNUJGCi06MTAzMkRGMDA4M0UwNjQwMTcwNTQ5MDcyMzYwNEYwOTA3MjA0RTBGRjQyCi06MTAzMkVGMDAyNEZENjAyODI0RkU2MDI0MjQwMzI0RkI1MDA0NjAxQzZBCi06MTAzMkZGMDA4MThDNzQyMDJGRjU4MkU0MzQ4MEY1ODNFNEYwNzQyOEY4Ci06MTAzMzBGMDAyRkY1ODJFNDM0ODBGNTgzRTRGMDgxOEM5MDcyMDRFMDMxCi06MTAzMzFGMDBGRjI0MzBGNTgyRTQzNDgwRjU4M0U0RjA3NDM4MkZGNTIwCi06MTAzMzJGMDA4MkU0MzQ4MEY1ODNFNEYwODE4Q0U0OTA3MjM2RjA5MDdGCi06MTAzMzNGMDA3MjM5RTA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzkzCi06MTAzMzRGMDBFMEZGN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjI4Ci06MTAzMzVGMDAwMjc0M0JGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MEFBCi06MTAzMzZGMDAwNDkwNzIwMkYwRUY0RTcwMDI4MTM1RUY2NDgwNEU3MDYwCi06MTAzMzdGMDAwMjgxMzVFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjA5MDQwCi06MTAzMzhGMDA3MjM0RTA3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4MzQ5Ci06MTAzMzlGMDBFMEZGOTA3MjAyRjA5MDc1MERFMDJGRjA5MDc1MENFMDQ5Ci06MTAzM0FGMDAzNDAwRjBFMEZFQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOTQ0Ci06MTAzM0JGMDBGOEQzMTIzNzk1NDAwQTkwNzUwQzc0QTVGMEEzNzRENjA0Ci06MTAzM0NGMDBGMDkwNzUwREUwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMDdGCi06MTAzM0RGMDBGRUEzRTA3ODA1Q0VBMkU3MTNDRTEzRDhGOEZGOTA3NUMxCi06MTAzM0VGMDAwQ0VFRjBBM0VGRjA5MDcyMkNFRUYwQTNFRkYwRDM5NDZECi06MTAzM0ZGMDBEMkVFNjQ4MDk0ODI0MDBBOTA3MjJDNzQwMkYwQTM3NDBGCi06MTAzNDBGMDBEMkYwQzM5MDcyMkNFMDY0ODA5NDgwNTAwNEU0RjBBMzU3Ci06MTAzNDFGMDBGMDkwNzIyQ0UwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNUMwCi06MTAzNDJGMDA4M0UwOTA3MjAyRjA5MDcyMDRFMEZGMjRGRDYwMkQyNDdGCi06MTAzNDNGMDBGRTYwMjkyNDAzMjRGQjUwMDQ2MDIxODA0MDkwNzIwMjE3Ci06MTAzNDRGMDBFMEZFNzQyMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQyOENCCi06MTAzNDVGMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDgwMjE5MDcyMDJFMDQ0Ci06MTAzNDZGMDBGRjkwNzIwNEUwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkEwCi06MTAzNDdGMDBGMDc0MzgyRUY1ODJFNDM0ODBGNTgzRUZGMDkwNzIzOUQyCi06MEIzNDhGMDBFMDA0RjBFMDY0MEE2MDAyNDFDNzIyODQKLToxMDM0OUEwMDkwNzYxOEUwRkZCNDA1MjM5MDcyMzdFMDcwMUQ5MDc1OUUKLToxMDM0QUEwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNjQKLToxMDM0QkEwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNDUKLToxMDM0Q0EwMEMxOTE5MDcyMzZFMDYwMDJDMTkxOTA3NjQwRTA3MDMxMEQKLToxMDM0REEwMDkwNzIwMzc0MDNGMDkwNzIwM0UwRkY3NUYwMEFBNDI0NUIKLToxMDM0RUEwMEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3MjI5RTBGREVFRDgKLToxMDM0RkEwMDZENjAwRUVGQzM5NDBBNTAwODkwNzIwM0UwMDRGMDgwRTYKLToxMDM1MEEwMEQ1OTA3MjM5NzQwNEYwOTA3NjQwRTA3MDA4OTA3MjAzOTYKLToxMDM1MUEwMEUwOTA3MjM5RjA5MDcyMzlFMEZEMjRGRTkwNzIyQUYwNDAKLToxMDM1MkEwMEVENzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFMEZGNjUKLToxMDM1M0EwMDdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIwMjc0QTQKLToxMDM1NEEwMDgwRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzAwNDkwNUEKLToxMDM1NUEwMDcyMDJGMEVGNEU3MDAyQzExQkVGNjQ4MDRFNzAwMkMxMUUKLToxMDM1NkEwMDFCRUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwRUQ3NUYwMkUKLToxMDM1N0EwMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMEZGOTA3MjAyNjQKLToxMDM1OEEwMEYwOTA3NTBERTAyRkYwOTA3NTBDRTAzNDAwRjBFMEZFM0QKLToxMDM1OUEwMEEzRTBGRkU0RkNGRDdCRDY3QUE1RjlGOEQzMTIzNzk1QjAKLToxMDM1QUEwMDQwMEE5MDc1MEM3NEE1RjBBMzc0RDZGMDkwNzUwREUwREUKLToxMDM1QkEwMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTBGRUEzRTA3ODA1NzYKLToxMDM1Q0EwMENFQTJFNzEzQ0UxM0Q4RjhGRjkwNzUwQ0VFRjBBM0VGNTYKLToxMDM1REEwMEYwOTA3MjJDRUVGMEEzRUZGMEQzOTREMkVFNjQ4MDk0QzQKLToxMDM1RUEwMDgyNDAwQTkwNzIyQzc0MDJGMEEzNzREMkYwQzM5MDcyRDMKLToxMDM1RkEwMDJDRTA2NDgwOTQ4MDUwMDRFNEYwQTNGMDkwNzIyQ0UwRjQKLToxMDM2MEEwMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjU4M0UwOTA3MjAyNkEKLToxMDM2MUEwMEYwOTA3MjJBRTBGRjI0RkQ2MDJEMjRGRTYwMjkyNDAzMjUKLToxMDM2MkEwMDI0RkI1MDA0NjAyMTgwNDA5MDcyMDJFMEZFNzQyMDJGMzcKLToxMDM2M0EwMEY1ODJFNDM0ODBGNTgzRUVGMDc0MjgyRkY1ODJFNDM0QzEKLToxMDM2NEEwMDgwRjU4M0VFRjA4MDIxOTA3MjAyRTBGRjkwNzIyQUUwMEEKLToxMDM2NUEwMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZGMDc0MzgyRUY1RDkKLToxMDM2NkEwMDgyRTQzNDgwRjU4M0VGRjA5MDc2NDBFMDcwMDY5MDcyNDEKLToxMDM2N0EwMDM5NzQwQUYwOTA3MjM5RTAwNEYwRTBDMzk0MEE1MDAyRjcKLTowODM2OEEwMEExMTFFNDkwNzY0MEYwMjI0QQotOjA0NEUwQjAwMTIxNzMwMjIyOAotOjEwNDlBRTAwOTA3NjQ2NzQ4MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGNgotOjEwNDlCRTAwRjBBM0YwQTNGMEEzRjBBMzc0ODBGMEU0QTNGMEEzRjBBRgotOjEwNDlDRTAwQTNGMEEzRjBBM0YwQTNGMEEzNzQ0MEYwRTRBM0YwQTMyQwotOjEwNDlERTAwNzQ0MEYwRTRBM0YwQTNGMEEzRjBBM0YwQTNGMEEzRjBDRgotOjEwNDlFRTAwQTM3NDQwRjBFNEEzRjBBMzc0NDBGMEU0QTNGMEEzRjBBQQotOjA1NDlGRTAwQTNGMEEzRjAyMjZDCi06MTAwRkM2MDBFNEZGNzQ0NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyMDYwCi06MTAwRkQ2MDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NEUyRkY1ODJFNDJCCi06MTAwRkU2MDAzNDc2RjU4M0UwRkU3NDMwMkZGNTgyRTQzNDgwRjU4M0ExCi06MDYwRkY2MDBFRUYwMEZCRjA4Q0M3NQotOjAxMEZGQzAwMjJEMgotOjEwNEFGMTAwRTRGRjc0NTYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjhFMgotOjEwNEIwMTAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDVFMkZGNTgyRTRCNAotOjEwNEIxMTAwMzQ3NkY1ODNFMEZFNzQzODJGRjU4MkU0MzQ4MEY1ODMzMgotOjA2NEIyMTAwRUVGMDBGQkYwOENDMEUKLTowMTRCMjcwMDIyNkIKLToxMDE3MzAwMEMwODJDMDgzQzBFMEU4QzBFMDc4NzhFODE0Rjg3MEZCQUQKLTowQTE3NDAwMEQwRTBGOEQwRTBEMDgzRDA4MjIyODAKLTowMzAwNDMwMDAyNDkwMDZGCi06MTA0OTAwMDAwMjJGRTcwMDAyM0Q0NzAwMDI0REI0MDAwMjRDNDMwMDc1Ci06MTA0OTEwMDAwMjRCRTkwMDAyMkZGRjAwMDI0QzVCMDAwMjRDMEEwMDMwCi06MTA0OTIwMDAwMjRDNzIwMDAyNEI1QTAwMDI0Qzg5MDAwMjRDQTAwMDVCCi06MTA0OTMwMDAwMjRDQjcwMDAyNENDRTAwMDI0Q0U1MDAwMjRDRkMwMEQ5Ci06MTA0OTQwMDAwMjREMTMwMDAyNEQyQTAwMDI0RDQxMDAwMjRENTgwMDU1Ci06MDg0OTUwMDAwMjRENkYwMDAyNEQ4NjAwQ0MKLToxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKLToxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKLToxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKLToxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKLToxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKLToxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKLToxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKLToxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKLToxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKLToxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKLToxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKLToxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKLToxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKLToxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKLToxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKLToxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKLToxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKLToxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKLToxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKLToxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKLToxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKLToxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKLToxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKLToxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKLToxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKLToxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLToxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKLToxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKLToxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKLToxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKLToxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKLToxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKLToxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKLToxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKLToxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKLToxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKLToxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKLToxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKLToxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKLToxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKLToxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKLToxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKLToxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKLToxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKLToxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKLToxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKLToxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKLToxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKLToxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKLToxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKLToxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKLToxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKLToxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKLToxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKLToxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKLTowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAotOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAotOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAotOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAotOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAotOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAotOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMwotOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMwotOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMwotOjAyMUYzRTAwMDAwMEExCi06MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCi06MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCi06MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCi06MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCi06MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCi06MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCi06MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCi06MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCi06MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCi06MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCi06MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCi06MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCi06MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCi06MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCi06MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCi06MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCi06MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCi06MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCi06MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCi06MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCi06MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCi06MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCi06MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCi06MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCi06MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCi06MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi06MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCi06MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCi06MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCi06MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCi06MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCi06MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCi06MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCi06MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCi06MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCi06MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCi06MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCi06MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCi06MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCi06MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCi06MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCi06MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCi06MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCi06MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCi06MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCi06MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCi06MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCi06MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCi06MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCi06MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCi06MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCi06MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCi06MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECi06MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKLToxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKLToxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKLToxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKLToxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKLToxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKLToxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKLToxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKLToxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKLToxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKLToxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKLToxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKLToxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKLToxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKLToxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKLToxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKLToxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKLToxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKLToxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLToxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKLToxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKLToxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKLToxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKLToxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKLToxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKLToxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKLToxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKLToxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKLToxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKLToxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKLToxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKLToxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKLToxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKLToxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKLToxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKLToxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKLToxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKLToxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKLToxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKLToxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKLToxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKLToxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKLToxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKLTowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAotOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAotOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAotOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAotOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAotOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAotOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAotOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAotOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAotOjA1MjdGQzAwMDAwMDAwMDAyMkI2Ci06MDcxNzRBMDA5MDdGQzU3NDAyRjAyMjNDCi06MTAxNzUxMDA5MDdFQzBFMDkwNzY0NUYwOTA3RUMxRTA5MDc2NDRGMEI2Ci06MTAxNzYxMDA5MDdFQzJFMDkwNzY0M0YwQjQwMDAzMDIxNzc4OTA3NjQxCi06MTAxNzcxMDAxOTc0MDNGMDAyMTc4RTkwNzY0NEUwQjRCQjA5OTA3Njk5Ci06MTAxNzgxMDAxOTc0MDJGMDAyMTc4RTkwNzYxOTc0MDFGMDkwNzY0MjY2Ci06MDMxNzkxMDBFNEYwMjI1RgotOjAzMDAwMDAwMDI0NkI5RkMKLTowQzQ2QjkwMDc4N0ZFNEY2RDhGRDc1ODEzODAyNDcwMEQ4Ci06MTAzNjkyMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjM2Ci06MDkzNkEyMDBFMzIyODk4MjhBODNFNDkzMjI2OQotOjEwMzZBQjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBENAotOjEwMzZCQjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIxRQotOjBEMzZDQjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIzOAotOjEwMzZEODAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUUwRAotOjEwMzZFODAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIzODFGQzMyRQotOjEwMzZGODAwRTQ5REZERTQ5Q0ZDODAwMzEyMzgxRjMwRDUwN0MzRTQyOQotOjA2MzcwODAwOUZGRkU0OUVGRTIyN0IKLToxMDM3MEUwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRjkKLToxMDM3MUUwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFRDYKLToxMDM3MkUwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMUMKLTowODM3M0UwMEU5OTNGNUYwQTNFOTkzMjJFMQotOjEwMzc0NjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkMyMgotOjEwMzc1NjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRBMAotOjEwMzc2NjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUJGRgotOjEwMzc3NjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlDNAotOjBGMzc4NjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyMzEKLToxMDM3OTUwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEVDNjQ4MEM4QUIKLTowNjM3QTUwMDY0ODA5ODQ1RjAyMjRCCi06MTAzN0FCMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDc0Ci06MDEzN0JCMDAyMkVCCi06MEMzN0JDMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI4MAotOjEwMzdDODAwQTg4Mjg1ODNGMEQwODNEMDgyMTIzN0RGMTIzN0RGMTJDOAotOjEwMzdEODAwMzdERjEyMzdERkU0NzNFNDkzQTNDNTgzQzVGMEM1ODNFRAotOjEwMzdFODAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzg0QgotOjAxMzdGODAwMjJBRQotOjEwMzdGOTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM1RgotOjEwMzgwOTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3MgotOjA2MzgxOTAwRUZBM0EzQTM4MERGNzIKLToxMDQ2QzUwMDAyMDdBNkU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyNUUKLToxMDQ2RDUwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzRjYKLToxMDQ2RTUwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGQzUKLToxMDQ2RjUwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDOEZFNDdFQkEKLToxMDQ3MDUwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQjkKLToxMDQ3MTUwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzODAKLToxMDQ3MjUwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBQUIKLToxMDQ3MzUwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFNjMKLTowMTBGQzUwMDAwMkIKLToxMDM4MUYwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOEQKLToxMDM4MkYwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNTYKLToxMDM4M0YwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEOUMKLToxMDM4NEYwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRTYKLToxMDM4NUYwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERDcKLTowNTM4NkYwMDBGRDVGMEVBMjI3NAotOjAwMDAwMDAxRkYKLS8qCi1WRVJTSU9OPTEuMDQuMDYyCi1EQVRFPTE2LjEwLjIwMDIgIAotKi8KLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfZW1pNjJfbG9hZGVyW10gPSB7Ci0gICAzLDB4MDAwMCwwLHsweDAyLDB4MDIsMHg4N30sCi0gICAzLDB4MDA0MywwLHsweDAyLDB4MDQsMHgwMH0sCi0gIDE2LDB4MDEwMCwwLHsweGU0LDB4ZmYsMHhmZSwweGMyLDB4MjAsMHhkMiwweGU4LDB4NDMsMHhkOCwweDIwLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHhmZiwweGYwfSwKLSAgMTYsMHgwMTEwLDAsezB4OTAsMHg3ZiwweGE5LDB4ZjAsMHg5MCwweDdmLDB4YWEsMHhmMCwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHg5NSwweDc0LDB4YzB9LAotICAxNiwweDAxMjAsMCx7MHhmMCwweDkwLDB4N2YsMHg5ZSwweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZjAsMHhlNCwweDkwLDB4N2YsMHg5NCwweGYwLDB4OTAsMHg3Zn0sCi0gIDE2LDB4MDEzMCwwLHsweDlkLDB4NzQsMHhmZiwweGYwLDB4OTAsMHg3ZiwweDk3LDB4NzQsMHhhMCwweGYwLDB4OTAsMHg3ZiwweDkzLDB4ZTAsMHg1NCwweGZjfSwKLSAgMTYsMHgwMTQwLDAsezB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweDAzLDB4ZjAsMHhlNCwweDkwLDB4N2YsMHg5NiwweGYwLDB4OTAsMHg3ZiwweGFmLDB4ZTB9LAotICAxNiwweDAxNTAsMCx7MHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MGQsMHhmMCwweGQyLDB4YWYsMHgwZiwweGJmLDB4MDAsMHgwMX0sCi0gIDE2LDB4MDE2MCwwLHsweDBlLDB4YmUsMHgwNywweGY4LDB4YmYsMHgwOCwweGY1LDB4MjAsMHgyMCwweDQyLDB4NzUsMHgxNCwweDAwLDB4NzUsMHgxMywweDAwfSwKLSAgMTYsMHgwMTcwLDAsezB4NzUsMHgxMiwweDAwLDB4NzUsMHgxMSwweDAwLDB4N2YsMHg0OCwweDdlLDB4OTIsMHg3ZCwweDAwLDB4N2MsMHgwMCwweGFiLDB4MTR9LAotICAxNiwweDAxODAsMCx7MHhhYSwweDEzLDB4YTksMHgxMiwweGE4LDB4MTEsMHhjMywweDEyLDB4MDMsMHhlZCwweDUwLDB4ZGIsMHgyMCwweDIwLDB4ZDgsMHg3YX0sCi0gIDE2LDB4MDE5MCwwLHsweDAwLDB4NzksMHgwMCwweDc4LDB4MDAsMHhlNSwweDE0LDB4MjQsMHgwMSwweGY1LDB4MTQsMHhlYSwweDM1LDB4MTMsMHhmNSwweDEzfSwKLSAgMTYsMHgwMWEwLDAsezB4ZTksMHgzNSwweDEyLDB4ZjUsMHgxMiwweGU4LDB4MzUsMHgxMSwweGY1LDB4MTEsMHg4MCwweGNhLDB4MzAsMHgyMCwweGZkLDB4MTJ9LAotICAxNiwweDAxYjAsMCx7MHgwMSwweGM3LDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH0sCi0gICA2LDB4MDFjMCwwLHsweDAyLDB4ZjAsMHhjMiwweDIwLDB4ODAsMHhlNn0sCi0gICAxLDB4MDFjNiwwLHsweDIyfSwKLSAgMTYsMHgwMWM3LDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDViLDB4NjAsMHg2MCwweDI0LDB4MDIsMHg2MCwweDAzLDB4MDIsMHgwMiwweDg1LDB4OTB9LAotICAxNiwweDAxZDcsMCx7MHg3ZiwweGVhLDB4ZTAsMHg3NSwweDBhLDB4MDAsMHhmNSwweDBiLDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MGEsMHg5MH0sCi0gIDE2LDB4MDFlNywwLHsweDdmLDB4ZWUsMHhlMCwweDc1LDB4MTUsMHgwMCwweGY1LDB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1fSwKLSAgMTYsMHgwMWY3LDAsezB4MTYsMHg0NSwweDE1LDB4NzAsMHgwMywweDAyLDB4MDIsMHg4NSwweGU0LDB4OTAsMHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjR9LAotICAxNiwweDAyMDcsMCx7MHhlMCwweDIwLDB4ZTMsMHhmOSwweDkwLDB4N2YsMHhjNSwweGUwLDB4ZjUsMHgwYywweDEyLDB4MDMsMHgxMywweGFmLDB4MGMsMHg3ZX0sCi0gIDE2LDB4MDIxNywwLHsweDAwLDB4ZWYsMHgyNSwweDBiLDB4ZjUsMHgwYiwweGVlLDB4MzUsMHgwYSwweGY1LDB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1fSwKLSAgMTYsMHgwMjI3LDAsezB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjNywweDkwLDB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjV9LAotICAxNiwweDAyMzcsMCx7MHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTAsMHg3ZiwweGVlLDB4ZTAsMHg3NSwweDE1LDB4MDAsMHhmNX0sCi0gIDE2LDB4MDI0NywwLHsweDE2LDB4YTMsMHhlMCwweGZlLDB4ZTQsMHhlZSwweDQyLDB4MTUsMHhlNSwweDE2LDB4NDUsMHgxNSwweDYwLDB4MzAsMHhlNCwweDkwfSwKLSAgMTYsMHgwMjU3LDAsezB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGN9LAotICAxNiwweDAyNjcsMCx7MHgxMiwweDAzLDB4MmIsMHhhZiwweDBjLDB4N2UsMHgwMCwweGVmLDB4MjUsMHgwYiwweGY1LDB4MGIsMHhlZSwweDM1LDB4MGEsMHhmNX0sCi0gIDE1LDB4MDI3NywwLHsweDBhLDB4YzMsMHhlNSwweDE2LDB4OWYsMHhmNSwweDE2LDB4ZTUsMHgxNSwweDllLDB4ZjUsMHgxNSwweDgwLDB4Y2EsMHhjM30sCi0gICAxLDB4MDI4NiwwLHsweDIyfSwKLSAgMTIsMHgwMjg3LDAsezB4NzgsMHg3ZiwweGU0LDB4ZjYsMHhkOCwweGZkLDB4NzUsMHg4MSwweDI5LDB4MDIsMHgwMiwweGNlfSwKLSAgMTYsMHgwMjkzLDAsezB4MDIsMHgwMSwweDAwLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9LAotICAxNiwweDAyYTMsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM30sCi0gIDE2LDB4MDJiMywwLHsweGM0LDB4NTQsMHgwZiwweDQ0LDB4MjAsMHhjOCwweDgzLDB4NDAsMHgwNCwweGY0LDB4NTYsMHg4MCwweDAxLDB4NDYsMHhmNiwweGRmfSwKLSAgMTYsMHgwMmMzLDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MDQsMHg2ZSwweGU0LDB4N2V9LAotICAxNiwweDAyZDMsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M30sCi0gIDE2LDB4MDJlMywwLHsweGEzLDB4NjAsMHgwMSwweDBlLDB4Y2YsMHg1NCwweGMwLDB4MjUsMHhlMCwweDYwLDB4YTgsMHg0MCwweGI4LDB4ZTQsMHg5MywweGEzfSwKLSAgMTYsMHgwMmYzLDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9LAotICAxNiwweDAzMDMsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX0sCi0gIDE2LDB4MDMxMywwLHsweGU1LDB4MGMsMHhmZiwweGU1LDB4MGIsMHhmNSwweDgyLDB4ZTUsMHgwYSwweGY1LDB4ODMsMHg3NSwweDkyLDB4N2UsMHg3NCwweGMwfSwKLSAgIDgsMHgwMzIzLDAsezB4ZjgsMHhlMiwweDA4LDB4ZjAsMHhhMywweGRmLDB4ZmEsMHgyMn0sCi0gIDE2LDB4MDMyYiwwLHsweDkwLDB4N2YsMHg5NiwweDg1LDB4ODMsMHg5MiwweGE4LDB4ODIsMHg3OSwweDAyLDB4OTAsMHgwMCwweDAwLDB4ZTAsMHhiNCwweDAwfSwKLSAgMTYsMHgwMzNiLDAsezB4MGQsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHhlMCwweDU0LDB4N2YsMHhmMCwweDQ0LDB4ODAsMHhmMCwweGU1LDB4MGN9LAotICAxNiwweDAzNGIsMCx7MHhmZiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZjUsMHgyOCwweGU0LDB4YTIsMHg0NywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMn0sCi0gIDE2LDB4MDM1YiwwLHsweDQ2LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDUsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NCwweDMzfSwKLSAgMTYsMHgwMzZiLDAsezB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQzLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDIsMHgzMywweGYyLDB4Njl9LAotICAxNiwweDAzN2IsMCx7MHhmMiwweGU0LDB4YTIsMHg0MSwweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQwLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhhM30sCi0gICAzLDB4MDM4YiwwLHsweGRmLDB4YzIsMHgyMn0sCi0gIDE2LDB4MDM4ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDkwLDB4N2YsMHhjNCwweGU0LDB4ZjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmfSwKLSAgMTEsMHgwMzllLDAsezB4YWIsMHg3NCwweDA0LDB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDNhOSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfSwKLSAgIDgsMHgwM2I5LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn0sCi0gIDE2LDB4MDNjMSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDIsMHhmMCwweGQwfSwKLSAgIDYsMHgwM2QxLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfSwKLSAgMTYsMHgwM2Q3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgxMCwweGYwLDB4ZDB9LAotICAgNiwweDAzZTcsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDAzZWQsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH0sCi0gICAxLDB4MDNmZCwwLHsweDIyfSwKLSAgIDEsMHgwM2ZlLDAsezB4MzJ9LAotICAgMSwweDAzZmYsMCx7MHgzMn0sCi0gIDE2LDB4MDQwMCwwLHsweDAyLDB4MDMsMHhhOSwweDAwLDB4MDIsMHgwMywweGMxLDB4MDAsMHgwMiwweDAzLDB4OGUsMHgwMCwweDAyLDB4MDQsMHg1OCwweDAwfSwKLSAgMTYsMHgwNDEwLDAsezB4MDIsMHgwMywweGQ3LDB4MDAsMHgwMiwweDAzLDB4ZmUsMHgwMCwweDAyLDB4MDMsMHhmZiwweDAwLDB4MDIsMHgwNCwweDg0LDB4MDB9LAotICAxNiwweDA0MjAsMCx7MHgwMiwweDA0LDB4ODUsMHgwMCwweDAyLDB4MDQsMHg4NiwweDAwLDB4MDIsMHgwNCwweDg3LDB4MDAsMHgwMiwweDA0LDB4ODgsMHgwMH0sCi0gIDE2LDB4MDQzMCwwLHsweDAyLDB4MDQsMHg4OSwweDAwLDB4MDIsMHgwNCwweDhhLDB4MDAsMHgwMiwweDA0LDB4OGIsMHgwMCwweDAyLDB4MDQsMHg4YywweDAwfSwKLSAgMTYsMHgwNDQwLDAsezB4MDIsMHgwNCwweDhkLDB4MDAsMHgwMiwweDA0LDB4OGUsMHgwMCwweDAyLDB4MDQsMHg4ZiwweDAwLDB4MDIsMHgwNCwweDkwLDB4MDB9LAotICAgOCwweDA0NTAsMCx7MHgwMiwweDA0LDB4OTEsMHgwMCwweDAyLDB4MDQsMHg5MiwweDAwfSwKLSAgMTYsMHgwNDU4LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOCwweGYwLDB4ZDB9LAotICAgNiwweDA0NjgsMCx7MHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9LAotICAxNiwweDA0NmUsMCx7MHgwMiwweDBhLDB4MDAsMHgwZiwweDAxLDB4MGMsMHgxMSwweDA0LDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4MDAsMHgwMH0sCi0gICAxLDB4MDQ3ZSwwLHsweDAwfSwKLSAgIDQsMHgwNDdmLDAsezB4MDIsMHgxNywweDAwLDB4MDB9LAotICAgMSwweDA0ODMsMCx7MHgwMH0sCi0gICAxLDB4MDQ4NCwwLHsweDMyfSwKLSAgIDEsMHgwNDg1LDAsezB4MzJ9LAotICAgMSwweDA0ODYsMCx7MHgzMn0sCi0gICAxLDB4MDQ4NywwLHsweDMyfSwKLSAgIDEsMHgwNDg4LDAsezB4MzJ9LAotICAgMSwweDA0ODksMCx7MHgzMn0sCi0gICAxLDB4MDQ4YSwwLHsweDMyfSwKLSAgIDEsMHgwNDhiLDAsezB4MzJ9LAotICAgMSwweDA0OGMsMCx7MHgzMn0sCi0gICAxLDB4MDQ4ZCwwLHsweDMyfSwKLSAgIDEsMHgwNDhlLDAsezB4MzJ9LAotICAgMSwweDA0OGYsMCx7MHgzMn0sCi0gICAxLDB4MDQ5MCwwLHsweDMyfSwKLSAgIDEsMHgwNDkxLDAsezB4MzJ9LAotICAgMSwweDA0OTIsMCx7MHgzMn0sCi0gIDE2LDB4MTEwMCwwLHsweDEyLDB4MDEsMHgxMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg2YSwweDA4LDB4MDEsMHgwMSwweDAwLDB4MDEsMHgwMSwweDAyfSwKLSAgMTYsMHgxMTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHgyMCwweDAwLDB4MDEsMHgwMSwweDAzLDB4YTAsMHgwMCwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDJ9LAotICAxNiwweDExMjAsMCx7MHhmZiwweDAwLDB4MDAsMHgwNCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MH0sCi0gIDE2LDB4MTEzMCwwLHsweDAwLDB4MDAsMHgwNCwweDAzLDB4MDksMHgwNCwweDI2LDB4MDMsMHg0MSwweDAwLDB4NmUsMHgwMCwweDYzLDB4MDAsMHg2OCwweDAwfSwKLSAgMTYsMHgxMTQwLDAsezB4NmYsMHgwMCwweDcyLDB4MDAsMHgyMCwweDAwLDB4NDMsMHgwMCwweDY4LDB4MDAsMHg2OSwweDAwLDB4NzAsMHgwMCwweDczLDB4MDB9LAotICAxNiwweDExNTAsMCx7MHgyYywweDAwLDB4MjAsMHgwMCwweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDJlLDB4MDAsMHgyOCwweDAzLDB4NDYsMHgwMH0sCi0gIDE2LDB4MTE2MCwwLHsweDY5LDB4MDAsMHg3MiwweDAwLDB4NmQsMHgwMCwweDc3LDB4MDAsMHg2MSwweDAwLDB4NzIsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwfSwKLSAgMTYsMHgxMTcwLDAsezB4NDYsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NmQsMHgwMCwweDY1LDB4MDAsMHg1NywweDAwLDB4NmYsMHgwMCwweDcyLDB4MDB9LAotICAxNiwweDExODAsMCx7MHg2YiwweDAwLDB4NzMsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHg2NiwweDAwLDB4NjksMHgwMH0sCi0gIDE2LDB4MTE5MCwwLHsweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg3NCwweDAwLDB4NjksMHgwMCwweDZmLDB4MDAsMHg2ZSwweDAwfSwKLSAgMTYsMHgxMWEwLDAsezB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDIyLDB4MDN9LAotICAxNiwweDExYjAsMCx7MHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwLDB4NzIsMHgwMCwweDY2LDB4MDAsMHg2MSwweDAwLDB4NjMsMHgwMH0sCi0gIDE2LDB4MTFjMCwwLHsweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwfSwKLSAgIDIsMHgxMWQwLDAsezB4MDAsMHgwMH0sCi0gICAwLDB4MDAwMCwxLHswfQotfTsKLS8qIFNvdXJjZTogRU1JTE9BRC5IRVggCi06MTAwNDZFMDAwMjBBMDAwRjAxMEMxMTA0MEQwMDAwMDAwMDQxMDAwMEYzCi06MDEwNDdFMDAwMDdECi06MTAwMUM3MDA5MDdGRTlFMDI0NUI2MDYwMjQwMjYwMDMwMjAyODU5MDZGCi06MTAwMUQ3MDA3RkVBRTA3NTBBMDBGNTBCQTNFMEZFRTRFRTQyMEE5MDIxCi06MTAwMUU3MDA3RkVFRTA3NTE1MDBGNTE2QTNFMEZFRTRFRTQyMTVFNTk3Ci06MTAwMUY3MDAxNjQ1MTU3MDAzMDIwMjg1RTQ5MDdGQzVGMDkwN0ZCNDIxCi06MTAwMjA3MDBFMDIwRTNGOTkwN0ZDNUUwRjUwQzEyMDMxM0FGMEM3RUY1Ci06MTAwMjE3MDAwMEVGMjUwQkY1MEJFRTM1MEFGNTBBQzNFNTE2OUZGNTNBCi06MTAwMjI3MDAxNkU1MTU5RUY1MTU4MEM3OTA3RkVBRTA3NTBBMDBGNTdCCi06MTAwMjM3MDAwQkEzRTBGRUU0RUU0MjBBOTA3RkVFRTA3NTE1MDBGNUIxCi06MTAwMjQ3MDAxNkEzRTBGRUU0RUU0MjE1RTUxNjQ1MTU2MDMwRTQ5MDhFCi06MTAwMjU3MDA3RkM1RjA5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwRjUwQzBGCi06MTAwMjY3MDAxMjAzMkJBRjBDN0UwMEVGMjUwQkY1MEJFRTM1MEFGNUNECi06MEYwMjc3MDAwQUMzRTUxNjlGRjUxNkU1MTU5RUY1MTU4MENBQzM1NwotOjAxMDI4NjAwMjI1NQotOjEwMDNBOTAwQzBFMEMwODNDMDgyRDIyMDUzOTFFRjkwN0ZBQjc0MDEyQgotOjA4MDNCOTAwRjBEMDgyRDA4M0QwRTAzMkM1Ci06MTAwMzhFMDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RkIxCi06MEIwMzlFMDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyQkEKLToxMDAzQzEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDJGMEQwNDQKLTowNjAzRDEwMDgyRDA4M0QwRTAzMjZGCi06MTAwM0Q3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjBEMDIwCi06MDYwM0U3MDA4MkQwODNEMEUwMzI1OQotOjAxMDNGRTAwMzJDQwotOjEwMDQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwOEYwRDBBNgotOjA2MDQ2ODAwODJEMDgzRDBFMDMyRDcKLTowMTAzRkYwMDMyQ0IKLTowMTA0ODQwMDMyNDUKLTowMTA0ODUwMDMyNDQKLTowMTA0ODYwMDMyNDMKLTowMTA0ODcwMDMyNDIKLTowMTA0ODgwMDMyNDEKLTowMTA0ODkwMDMyNDAKLTowMTA0OEEwMDMyM0YKLTowMTA0OEIwMDMyM0UKLTowMTA0OEMwMDMyM0QKLTowMTA0OEQwMDMyM0MKLTowMTA0OEUwMDMyM0IKLTowMTA0OEYwMDMyM0EKLTowMTA0OTAwMDMyMzkKLTowMTA0OTEwMDMyMzgKLTowMTA0OTIwMDMyMzcKLTowNDA0N0YwMDAyMTcwMDAwNjAKLToxMDAxMDAwMEU0RkZGRUMyMjBEMkU4NDNEODIwOTA3RkFCNzRGRkYwMUEKLToxMDAxMTAwMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGOTU3NEMwRTMKLToxMDAxMjAwMEYwOTA3RjlFRjA5MDdGOThGMEU0OTA3Rjk0RjA5MDdGMjUKLToxMDAxMzAwMDlENzRGRkYwOTA3Rjk3NzRBMEYwOTA3RjkzRTA1NEZDNDMKLToxMDAxNDAwMEYwOTA3RjlDNzQwM0YwRTQ5MDdGOTZGMDkwN0ZBRkUwOTYKLToxMDAxNTAwMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRjBGQkYwMDAxM0MKLToxMDAxNjAwMDBFQkUwN0Y4QkYwOEY1MjAyMDQyNzUxNDAwNzUxMzAwNzUKLToxMDAxNzAwMDc1MTIwMDc1MTEwMDdGNDg3RTkyN0QwMDdDMDBBQjE0RTMKLToxMDAxODAwMEFBMTNBOTEyQTgxMUMzMTIwM0VENTBEQjIwMjBEODdBQkMKLToxMDAxOTAwMDAwNzkwMDc4MDBFNTE0MjQwMUY1MTRFQTM1MTNGNTEzMEQKLToxMDAxQTAwMEU5MzUxMkY1MTJFODM1MTFGNTExODBDQTMwMjBGRDEyM0IKLToxMDAxQjAwMDAxQzc1MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0NjEKLTowNjAxQzAwMDAyRjBDMjIwODBFNkZGCi06MDEwMUM2MDAyMjE2Ci06MTAxMTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODAxMDEwMDAxMDEwMjAzCi06MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCi06MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCi06MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Ci06MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Ci06MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCi06MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Ci06MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCi06MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Ci06MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Ci06MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCi06MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCi06MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCi06MDIxMUQwMDAwMDAwMUQKLToxMDAzMTMwMEU1MENGRkU1MEJGNTgyRTUwQUY1ODM3NTkyN0U3NEMwNjMKLTowODAzMjMwMEY4RTIwOEYwQTNERkZBMjI2MgotOjEwMDMyQjAwOTA3Rjk2ODU4MzkyQTg4Mjc5MDI5MDAwMDBFMEI0MDBCQQotOjEwMDMzQjAwMEQ3NDAxRjA5MDdGOTdFMDU0N0ZGMDQ0ODBGMEU1MEM1MgotOjEwMDM0QjAwRkY5MDdFQzBFMEY1MjhFNEEyNDczM0YyNjlGMkU0QTIwNQotOjEwMDM1QjAwNDYzM0YyNjlGMkU0QTI0NTMzRjI2OUYyRTRBMjQ0MzM4NAotOjEwMDM2QjAwRjI2OUYyRTRBMjQzMzNGMjY5RjJFNEEyNDIzM0YyNjk5NgotOjEwMDM3QjAwRjJFNEEyNDEzM0YyNjlGMkU0QTI0MDMzRjI2OUYyQTM1MAotOjAzMDM4QjAwREZDMjIyQUMKLTowMzAwNDMwMDAyMDQwMEI0Ci06MTAwNDAwMDAwMjAzQTkwMDAyMDNDMTAwMDIwMzhFMDAwMjA0NTgwMDg3Ci06MTAwNDEwMDAwMjAzRDcwMDAyMDNGRTAwMDIwM0ZGMDAwMjA0ODQwMDZGCi06MTAwNDIwMDAwMjA0ODUwMDAyMDQ4NjAwMDIwNDg3MDAwMjA0ODgwMDlBCi06MTAwNDMwMDAwMjA0ODkwMDAyMDQ4QTAwMDIwNDhCMDAwMjA0OEMwMDdBCi06MTAwNDQwMDAwMjA0OEQwMDAyMDQ4RTAwMDIwNDhGMDAwMjA0OTAwMDVBCi06MDgwNDUwMDAwMjA0OTEwMDAyMDQ5MjAwNzUKLTowMzAwMDAwMDAyMDI4NzcyCi06MEMwMjg3MDA3ODdGRTRGNkQ4RkQ3NTgxMjkwMjAyQ0VENAotOjEwMDNFRDAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA2NgotOjAxMDNGRDAwMjJERAotOjEwMDI5MzAwMDIwMTAwRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI4MAotOjEwMDJBMzAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzM2QwotOjEwMDJCMzAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REYzQgotOjEwMDJDMzAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMDQ2RUU0N0U1OQotOjEwMDJEMzAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTMzMAotOjEwMDJFMzAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGNwotOjEwMDJGMzAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0EyMgotOjEwMDMwMzAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkVEOQotOjAxMDQ4MzAwMDA3OAotOjAwMDAwMDAxRkYKLS8qCi1WRVJTSU9OPTEuMC4yLjAwMgotREFURT0xMC4wMS4yMDAyCi1FTUkyNl82MgotKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvZW1pNjJfZndfcy5oIGIvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19zLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlZjA1ZTguLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9lbWk2Ml9md19zLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ODM3ICswLDAgQEAKLS8qCi0gKiBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20gdGhyZWUgZGlmZmVyZW50IGZpbGVzLCBwcm92aWRlZCBieSBFbWFnaWMuCi0gKi8KLS8qIGdlbmVyYXRlZCBUdWUgQXByIDE1IDIxOjU5OjQyIEVFU1QgMjAwMyAqLwotCi1zdGF0aWMgSU5URUxfSEVYX1JFQ09SRCBnX2VtaTYyYnNbXT17Ci0gezE2LCAweDgwMTAsIDAsIHsweGZmLDB4ZmYsMHhmZiwweGZmLDB4YWEsMHg5OSwweDU1LDB4NjYsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA3IH19LAotIHsxNiwgMHg4MDIwLCAwLCB7MHgzMCwweDAxLDB4NjAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDBkLDB4MzAsMHgwMSwweDIwLDB4MDEsMHgwMCwweDgwLDB4M2YsMHgyZCB9fSwKLSB7MTYsIDB4ODAzMCwgMCwgezB4MzAsMHgwMCwweGMwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg4MCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDkgfX0sCi0gezE2LCAweDgwNDAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAxIH19LAotIHsxNiwgMHg4MDUwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwMCwweDUwLDB4MDAsMHg1OCwweDFhLDB4ODAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDQwLDB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODA5MCwgMCwgezB4MDAsMHgxMiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHg0OCB9fSwKLSB7MTYsIDB4ODBjMCwgMCwgezB4MDQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMDAsIDAsIHsweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMzAsIDAsIHsweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTcwLCAwLCB7MHg4MCwweDEyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWEwLCAwLCB7MHgwMCwweDkwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFlMCwgMCwgezB4N2YsMHgxMCwweDAwLDB4MzQsMHgwMCwweDBkLDB4MDAsMHgwMywweDQwLDB4MDAsMHhkMCwweDAwLDB4MzQsMHgwMCwweDA1LDB4MDAgfX0sCi0gezE2LCAweDgxZjAsIDAsIHsweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg3NCwweDAwLDB4MWQsMHgwMCwweDA3LDB4NDAsMHgwMSwweGQwLDB4MDAsMHg3NCwweDAwIH19LAotIHsxNiwgMHg4MjAwLCAwLCB7MHgxZCwweDgwLDB4MDcsMHhlMCwweDAxLDB4YjgsMHgwMCwweDZlLDB4MDAsMHgxYiwweDgwLDB4MDYsMHhlMCwweDAxLDB4MzgsMHgzNyB9fSwKLSB7MTYsIDB4ODIxMCwgMCwgezB4YzQsMHg5MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDgwLDB4ZmIsMHgzMCwweDM2LDB4YzggfX0sCi0gezE2LCAweDgyMjAsIDAsIHsweDRlLDB4MDksMHgwMywweGZjLDB4ODQsMHhmZiwweDEwLDB4M2IsMHhjMCwweDBlLDB4YzgsMHgwNywweDIyLDB4ODAsMHhmZiwweDIyIH19LAotIHsxNiwgMHg4MjMwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhjOCwweDMzLDB4NmUsMHgwMCwweGZiLDB4ODAsMHgzZiwweDIwLDB4MGQsMHhjMiwweDUzLDB4ZDQsMHg4MCB9fSwKLSB7MTYsIDB4ODI0MCwgMCwgezB4Y2MsMHgzYSwweDNmLDB4MDAsMHgwYywweGYxLDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyNTAsIDAsIHsweDgwLDB4MDAsMHhlZCwweDYwLDB4YmYsMHg2MCwweDIzLDB4ZjAsMHgwZCwweDgyLDB4MTIsMHgzYywweDYwLDB4OGYsMHg3MCwweDIzIH19LAotIHsxNiwgMHg4MjYwLCAwLCB7MHhmMCwweDA4LDB4ODgsMHgwMiwweGE1LDB4NDAsMHhiZiwweGQwLDB4NjMsMHhkNiwweDBiLDB4ODgsMHgwMiwweDJlLDB4MGMsMHhiYiB9fSwKLSB7MTYsIDB4ODI3MCwgMCwgezB4ODAsMHgyZSwweDIwLDB4ODgsMHg4ZCwweDAyLDB4ZTYsMHg0MCwweDgwLDB4NjAsMHgyZSwweDMwLDB4MGEsMHhiMSwweDEyLDB4MjAgfX0sCi0gezE2LCAweDgyODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg4MCwweGEzLDB4NDAsMHgyYywweGM0IH19LAotIHsxNiwgMHg4MjkwLCAwLCB7MHg0YSwweDAwLDB4MTIsMHg4YywweDg4LDB4YTMsMHgyMiwweDIwLDB4YzQsMHgwYSwweDkwLDB4NDIsMHgwNCwweGE5LDB4YTMsMHgwMCB9fSwKLSB7MTYsIDB4ODJhMCwgMCwgezB4MjQsMHhjOCwweDhiLDB4ODAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAwLDB4MmUsMHgwMSwweDA5LDB4MDgsMHgwMiwweDg0LDB4MDAgfX0sCi0gezE2LCAweDgyYjAsIDAsIHsweDgwLDB4MjAsMHgyYywweDEwLDB4MGEsMHgzMiwweDQyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MmMwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwNCwweGIzLDB4MDAsMHgyYSwweGMwLDB4MDgsMHgwOCwweGEyLDB4OGMsMHgwMCwweDhiLDB4MDAsMHhhMiB9fSwKLSB7MTYsIDB4ODJkMCwgMCwgezB4YzEsMHgxMCwweDk4LDB4NDIsMHhhNywweDAwLDB4YmIsMHgwMSwweDY2LDB4YzEsMHgwYiwweDgwLDB4MDIsMHhhYywweDA0LDB4YmIgfX0sCi0gezE2LCAweDgyZTAsIDAsIHsweDAwLDB4MmUsMHgwMCwweDBiLDB4YjgsMHgxMiwweGU0LDB4MDIsMHg4OSwweDA4LDB4MGUsMHg0MCwweDBhLDB4YjAsMHgwMiwweDMwIH19LAotIHsxNiwgMHg4MmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweGFjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ODMwMCwgMCwgezB4NGEsMHhiOCwweDIzLDB4ZWMsMHgxOCwweGViLDB4MDAsMHgzMiwweGMwLDB4MGUsMHgyYywweDEyLDB4MjIsMHgxMCwweGViLDB4MDAgfX0sCi0gezE2LCAweDgzMTAsIDAsIHsweDI2LDB4YzAsMHg0ZiwweDAwLDB4NDMsMHhlZCwweDAwLDB4ZmIsMHgwMCwweDJlLDB4MjQsMHgwZCwweDgwLDB4MTMsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4MzIwLCAwLCB7MHhjOCwweGQwLDB4N2MsMHgxMiwweDBlLDB4YjAsMHgwMywweDQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODMzMCwgMCwgezB4ZTEsMHgwMCwweGJjLDB4MDAsMHhmZiwweDAwLDB4MzUsMHhjMCwweDRmLDB4ZTAsMHgwMywweDdjLDB4MDgsMHhmZiwweDAxLDB4MTcgfX0sCi0gezE2LCAweDgzNDAsIDAsIHsweGMyLDB4NGQsMHhjMCwweDAzLDB4ZjQsMHgwOCwweGY3LDB4MDAsMHgzYiwweGMwLDB4MDcsMHhjMCwweDAzLDB4N2MsMHg4MCwweGZmIH19LAotIHsxNiwgMHg4MzUwLCAwLCB7MHgyNCwweDNmLDB4NDAsMHgwYywweGYwLDB4MDEsMHhmNCwweDA0LDB4YmMsMHgwOCwweDNmLDB4MjgsMHgwZiwweGYwLDB4MDMsMHg3OCB9fSwKLSB7MTYsIDB4ODM2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDA4LDB4ZmIsMHgwNCwweDNhLDB4YzggfX0sCi0gezE2LCAweDgzNzAsIDAsIHsweDBmLDB4OTQsMHgwMywweGVjLDB4MTAsMHhmMywweDAwLDB4MzQsMHhjMCwweDBlLDB4YjAsMHgwMywweDYxLDB4MDQsMHhmYiwweDAwIH19LAotIHsxNiwgMHg4MzgwLCAwLCB7MHgzNiwweGMwLDB4MGUsMHhhMywweDAzLDB4MmMsMHg4MCwweGZiLDB4NzIsMHgzZSwweDAyLDB4MGYsMHg4YSwweDAzLDB4ZTQsMHgwMiB9fSwKLSB7MTYsIDB4ODM5MCwgMCwgezB4YzksMHg4MCwweDJhLDB4NTAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzYTAsIDAsIHsweGNhLDB4NDQsMHgzYywweDAwLDB4YmYsMHgwMCwweDAzLDB4YzAsMHgwOCwweDgwLDB4MDMsMHg3YywweDAwLDB4YmYsMHgwMCwweDNmIH19LAotIHsxNiwgMHg4M2IwLCAwLCB7MHhlMiwweDA4LDB4OTAsMHg0MywweDYwLDB4MDAsMHhiZiwweDAwLDB4MzcsMHhjMCwweDA4LDB4OTAsMHgwMSwweDZkLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4ODNjMCwgMCwgezB4NDAsMHgyYywweDEwLDB4MGIsMHhiMCwweDQyLDB4ZDcsMHhjMCwweDg5LDB4MDAsMHgyYSwweDdjLDB4MGIsMHhmMCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweDgzZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMiwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQ1IH19LAotIHsxNiwgMHg4M2UwLCAwLCB7MHg0YSwweDAwLDB4MDAsMHgwYywweDA0LDB4OTMsMHgwMCwweDBjLDB4ZjAsMHgwYiwweDA5LDB4MDIsMHgwOCwweDAxLDB4YjMsMHgyMCB9fSwKLSB7MTYsIDB4ODNmMCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MGMsMHgwYSwweDBlLDB4MDAsMHhiMywweDAwLDB4MjQsMHgzMCwweDA5LDB4MDAsMHgwMiwweGM2LDB4MTAgfX0sCi0gezE2LCAweDg0MDAsIDAsIHsweDgwLDB4NDIsMHgyMCwweDAwLDB4OGIsMHhiMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDEwLCAwLCB7MHgyMiwweDAxLDB4MWUsMHgwMCwweGI3LDB4OTQsMHgyMSwweGU0LDB4NDgsMHhkOSwweDEyLDB4NWUsMHg0MCwweGI3LDB4OTAsMHgyOSB9fSwKLSB7MTYsIDB4ODQyMCwgMCwgezB4ZTAsMHg4YiwweDY5LDB4MTIsMHhkNiwweDgwLDB4MzcsMHg4MiwweDJjLDB4ZTgsMHgwOCwweDRhLDB4MDIsMHg1ZSwweDAwLDB4YjcgfX0sCi0gezE2LCAweDg0MzAsIDAsIHsweGE0LDB4MmQsMHgyMCwweDBiLDB4NzksMHgwMiwweGQ2LDB4MDgsMHg4NiwweDkwLDB4MjksMHhhMCwweDBiLDB4NzksMHgwMiwweGQ4IH19LAotIHsxNiwgMHg4NDQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDBjLDB4MDAsMHhmYiwweGEwLDB4MjgsMHhlOCB9fSwKLSB7MTYsIDB4ODQ1MCwgMCwgezB4MGUsMHgyYSwweDAyLDB4OGMsMHgwMCwweGQzLDB4MDAsMHg2NCwweGMwLDB4MGYsMHgwMCwweDQzLDB4MGUsMHhjNCwweGYzLDB4MDAgfX0sCi0gezE2LCAweDg0NjAsIDAsIHsweDc4LDB4ZWMsMHgwZSwweDBhLDB4NDMsMHgwZSwweDIwLDB4NzMsMHhlMCwweDNjLDB4MDIsMHg0ZiwweDAwLDB4MDMsMHhjNCwweDQwIH19LAotIHsxNiwgMHg4NDcwLCAwLCB7MHhjMywweDAwLDB4MzgsMHhjMCwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQ4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4YmMsMHhjYywweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhmYiwweDAwLDB4M2MgfX0sCi0gezE2LCAweDg0OTAsIDAsIHsweGMyLDB4MGMsMHgyMCwweDAzLDB4NmMsMHg1MCwweGYzLDB4MDAsMHgzNiwweGM0LDB4MGYsMHg0MCwweDAzLDB4ZmMsMHgwOCwweGZmIH19LAotIHsxNiwgMHg4NGEwLCAwLCB7MHgxYSwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDEsMHhlNCwweDMwLDB4ZmYsMHgwMiwweDNmLDB4YzAsMHgwZiwweGYwLDB4NjMsMHhkMCB9fSwKLSB7MTYsIDB4ODRiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweDQwLDB4ZmIsMHgwMCwweGIyLDB4ZDggfX0sCi0gezE2LCAweDg0YzAsIDAsIHsweDBjLDB4YjAsMHgwMSwweDJkLDB4MjAsMHhkYiwweDAxLDB4M2EsMHhjOCwweDhjLDB4MzgsMHgwMywweGE4LDB4MDAsMHhmYiwweDQ4IH19LAotIHsxNiwgMHg4NGQwLCAwLCB7MHgzZSwweGM5LDB4MGYsMHg4MCwweDAzLDB4ZWMsMHg0MCwweGZiLDB4MDEsMHgzZSwweDAwLDB4MGYsMHgwOCwweDAzLDB4YTQsMHgwOCB9fSwKLSB7MTYsIDB4ODRlMCwgMCwgezB4ZmEsMHg4MCwweGIyLDB4ODAsMHgwZiwweGIxLDB4MDIsMHg2YSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0ZjAsIDAsIHsweDQ4LDB4MTksMHgxYywweDgwLDB4YmYsMHgzMCwweDIxLDB4Y2EsMHgwOCwweGYwLDB4MGEsMHgwYywweDgwLDB4OGYsMHg1MCwweDIxIH19LAotIHsxNiwgMHg4NTAwLCAwLCB7MHhjMiwweDA4LDB4NzAsMHg1MCwweDljLDB4MDAsMHhiNywweDAwLDB4MzksMHhjNCwweDBiLDB4NDAsMHgwMiwweDljLDB4MDQsMHhiNyB9fSwKLSB7MTYsIDB4ODUxMCwgMCwgezB4MjAsMHgyNSwweDQwLDB4MGIsMHg3MCwweDAyLDB4MTQsMHg4MCwweGI2LDB4MDAsMHgyMSwweDgwLDB4MGIsMHhmOCwweDAyLDB4MTIgfX0sCi0gezE2LCAweDg1MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGI3LDB4YjAsMHgyMSwweGVjIH19LAotIHsxNiwgMHg4NTMwLCAwLCB7MHgwYiwweDc4LDB4MTIsMHhkZSwweDg0LDB4OTcsMHg4MCwweDBkLDB4ZTAsMHgyOCwweGY4LDB4MDIsMHhkZSwweDAwLDB4YjcsMHg5MCB9fSwKLSB7MTYsIDB4ODU0MCwgMCwgezB4MmQsMHhlNCwweDBiLDB4NjgsMHg4MiwweDVlLDB4ODAsMHhiNywweGEwLDB4MjksMHgyMCwweDBiLDB4NDgsMHgwMiwweDk2LDB4MDAgfX0sCi0gezE2LCAweDg1NTAsIDAsIHsweGI3LDB4ODAsMHgyMSwweGUxLDB4MGIsMHg3YSwweDAyLDB4NzAsMHg0MCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NTYwLCAwLCB7MHg0OCwweDA0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzOCwweDAyLDB4OGMsMHgwNCwweDgzLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4ODU3MCwgMCwgezB4YzAsMHg4OCwweDM5LDB4MDIsMHg0YywweDQwLDB4YjMsMHgwNCwweDI4LDB4YzAsMHgxYiwweDEwLDB4MDIsMHg4YywweDAxLDB4YjMgfX0sCi0gezE2LCAweDg1ODAsIDAsIHsweDA0LDB4MjQsMHg4OCwweDRiLDB4MzEsMHgwMiwweDA0LDB4MDAsMHhiMywweDgwLDB4MjAsMHhmMiwweDBiLDB4MzAsMHgwMiwweDAyIH19LAotIHsxNiwgMHg4NTkwLCAwLCB7MHgyNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4ODVhMCwgMCwgezB4MGYsMHhlOCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDEsMHgzYSwweDgwLDB4OGMsMHhlZCwweDAzLDB4ZmIsMHgwNCwweGZhLDB4MDAgfX0sCi0gezE2LCAweDg1YjAsIDAsIHsweDNlLDB4ODAsMHgwZiwweDZjLDB4MDMsMHhmYiwweGM4LDB4YmUsMHhjMiwweDFmLDB4ODAsMHgwZiwweGU1LDB4MDMsMHhhOCwweDAwIH19LAotIHsxNiwgMHg4NWMwLCAwLCB7MHhmZSwweDQ4LDB4MzMsMHg4MCwweDRmLDB4YTAsMHgwMywweDdhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODVkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2MsMHgwMCwweDBjLDB4ODEsMHg5MywweDYwLDB4MDAsMHhmOCwweDAxLDB4MzYgfX0sCi0gezE2LCAweDg1ZTAsIDAsIHsweDEwLDB4MGYsMHg4MCwweDAzLDB4YTAsMHgyMCwweGY4LDB4MDAsMHgyYSwweDAxLDB4OGYsMHg4NCwweDEzLDB4ZTEsMHgwMCwweGY4IH19LAotIHsxNiwgMHg4NWYwLCAwLCB7MHgxOCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgyMCwweDNlLDB4MTQsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ODYwMCwgMCwgezB4ODAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNCwweDAwLDB4ZjEsMHgwMCwweGFhLDB4NDAgfX0sCi0gezE2LCAweDg2MTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhlMSwweDAwLDB4MzgsMHg0MCwweDFjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweGEwIH19LAotIHsxNiwgMHg4NjIwLCAwLCB7MHgzYSwweDQwLDB4NDcsMHg5YSwweDkzLDB4YTIsMHg4MCwweGY4LDB4MTAsMHgzZSwweDQwLDB4MGIsMHg5NCwweDAzLDB4ZTYsMHg0MCB9fSwKLSB7MTYsIDB4ODYzMCwgMCwgezB4ZjksMHhjMCwweDNlLDB4NjgsMHgwYiwweDEwLDB4MDMsMHgwMiwweDg0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2NDAsIDAsIHsweDgwLDB4MDQsMHhlNCwweDA0LDB4YjksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA0LDB4ODksMHgwMCwweDM2IH19LAotIHsxNiwgMHg4NjUwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDQsMHhiOSwweDgwLDB4MmUsMHg0MCwweDRmLDB4OTQsMHgwMywweDYxLDB4MTAsMHhlOCB9fSwKLSB7MTYsIDB4ODY2MCwgMCwgezB4NDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDQyLDB4ZTYsMHgwNCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjAgfX0sCi0gezE2LCAweDg2NzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA0LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwIH19LAotIHsxNiwgMHg4NjgwLCAwLCB7MHgwYSwweDEwLDB4NTIsMHgwNCwweDA0LDB4YTksMHgwNCwweDJhLDB4NDAsMHgwOCwweGIwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMCB9fSwKLSB7MTYsIDB4ODY5MCwgMCwgezB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE4LDB4MGQsMHhiOCwweDQwLDB4MmUsMHg0MCwweDA5LDB4OTQsMHgwMiwweGU1LDB4MDAgfX0sCi0gezE2LCAweDg2YTAsIDAsIHsweGI5LDB4MDQsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NmIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MjAsMHgyMCwweGM4LDB4MGEsMHgxMCwweDQyLDB4MDQsMHg5MCwweDgxLDB4MjAsMHgwNCB9fSwKLSB7MTYsIDB4ODZjMCwgMCwgezB4YzgsMHgwOCwweDMwLDB4MjYsMHhjNCwweDAwLDB4YjEsMHgyMCwweDJjLDB4NDgsMHgwYiwweDkwLDB4MDIsMHg0NSwweDAxLDB4YjEgfX0sCi0gezE2LCAweDg2ZDAsIDAsIHsweDQwLDB4MmMsMHg0MCwweDBiLDB4MTIsMHg4MiwweGM0LDB4MDAsMHhiMSwweDJiLDB4MmMsMHg0YSwweDBiLDB4MTIsMHg4MiwweDAyIH19LAotIHsxNiwgMHg4NmUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwOCwweDIxLDB4NDgsMHhmOCwweDUwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ODZmMCwgMCwgezB4NGUsMHg4NSwweDBiLDB4MjEsMHg0MCwweGE4LDB4NTIsMHgyYSwweDAwLDB4MDgsMHg4MCwweDIzLDB4ZTEsMHg0MCwweGY4LDB4MDAgfX0sCi0gezE2LCAweDg3MDAsIDAsIHsweDNhLDB4MTQsMHgwZiwweGEwLDB4NDMsMHhhOCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgyLDB4MDMsMHhlMCwweDAwIH19LAotIHsxNiwgMHg4NzEwLCAwLCB7MHhmMCwweDIwLDB4M2UsMHg4OCwweDRmLDB4ODIsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODcyMCwgMCwgezB4OTgsMHgxOSwweGU0LDB4NDAsMHhmOSwweDExLDB4MzQsMHg0NCwweDJkLDB4ZDAsMHgwMywweGU0LDB4NTAsMHg3OSwweDEwLDB4MzggfX0sCi0gezE2LCAweDg3MzAsIDAsIHsweDQ0LDB4MmYsMHhkMCwweDAzLDB4ZjUsMHgxMCwweGY5LDB4MTAsMHgzZSwweDQ1LDB4MDYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGU5IH19LAotIHsxNiwgMHg4NzQwLCAwLCB7MHg0MCwweDNmLDB4NDAsMHgwZiwweGQwLDB4NDMsMHhmNSwweDAwLDB4ZmQsMHgyOCwweDNmLDB4NDAsMHgwZiwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4ODc1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDEsMHhlNiwweDAwLDB4ZDksMHg5MCwweDM3LDB4NjkgfX0sCi0gezE2LCAweDg3NjAsIDAsIHsweDRkLDB4OTAsMHgyMywweDY3LDB4ODAsMHhkOSwweGUwLDB4MzcsMHg2OCwweDBlLDB4ZDAsMHgwNywweGE0LDB4MDAsMHgwNSwweDg2IH19LAotIHsxNiwgMHg4NzcwLCAwLCB7MHgzZSwweDY2LDB4MGQsMHg1MCwweDIzLDB4MjYsMHgwMCwweGM5LDB4ODIsMHgzZCwweDQwLDB4MGQsMHhkOCwweDA3LDB4MzYsMHgwMiB9fSwKLSB7MTYsIDB4ODc4MCwgMCwgezB4Y2QsMHhjMCwweDMzLDB4NjAsMHgwYywweDljLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3OTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHhhMiwweDIyLDB4MTAsMHgyOCwweDhhLDB4ODIsMHgyMywweDg0LDB4ODgsMHhhMCwweDIyIH19LAotIHsxNiwgMHg4N2EwLCAwLCB7MHgxNCwweDQ4LDB4ODAsMHg0MiwweDgyLDB4MDAsMHg4OCwweDQwLDB4MmUsMHgzMCwweDA4LDB4ODAsMHgwMiwweGEyLDB4MDAsMHhkOCB9fSwKLSB7MTYsIDB4ODdiMCwgMCwgezB4OTAsMHgyNiwweDAwLDB4MDgsMHg4NCwweDBhLDB4MjEsMHgwMCwweGM4LDB4YTAsMHhhMiwweDE0LDB4MjgsMHg4YywweDAyLDB4MGUgfX0sCi0gezE2LCAweDg3YzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgyMCwweDkxLDB4NDAsMHgyYywweDQ0IH19LAotIHsxNiwgMHg4N2QwLCAwLCB7MHgxOCwweDEwLDB4MDIsMHg4NSwweDA0LDB4YjEsMHg0MCwweDBjLDB4NDAsMHgwYSwweDEwLDB4MDYsMHg4NCwweDMwLDB4ODEsMHg0MCB9fSwKLSB7MTYsIDB4ODdlMCwgMCwgezB4MmMsMHg0OCwweDU5LDB4MTAsMHgxYSwweDA0LDB4NjAsMHg4MSwweDA5LDB4MmUsMHg0MCwweDFiLDB4MTQsMHgwMiwweDI1LDB4MDAgfX0sCi0gezE2LCAweDg3ZjAsIDAsIHsweDkxLDB4ZTAsMHgyMCwweDYwLDB4MDgsMHgxNiwweDAyLDB4MDAsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODAwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDgxLDB4MDAsMHgyYSwweDQxLDB4MDgsMHg5MCwweDAyLDB4YTQsMHgwMCwweGExLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ODgxMCwgMCwgezB4NDEsMHgwOCwweGIwLDB4ODIsMHgyNCwweDExLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgxOCwweDkxLDB4MDIsMHhhMCwweDA0LDB4OTggfX0sCi0gezE2LCAweDg4MjAsIDAsIHsweDIwLDB4MmUsMHg1NCwweDFiLDB4OTAsMHg4MiwweDJjLDB4MDAsMHg4OSwweDEwLDB4MjIsMHg0NCwweDg4LDB4OTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHg4ODMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhkOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ODg0MCwgMCwgezB4NGMsMHg5MCwweDAzLDB4YTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4OGUsMHgxMCwweDAyLDB4YTQsMHhjMiwweGM5LDB4MDAgfX0sCi0gezE2LCAweDg4NTAsIDAsIHsweDNlLDB4NDAsMHgwZCwweDE2LDB4MTMsMHgwMSwweDg0LDB4YzgsMHgyMCwweDNjLDB4NjAsMHgwZiwweDkwLDB4MTIsMHgwNCwweDAwIH19LAotIHsxNiwgMHg4ODYwLCAwLCB7MHhkOSwweDQwLDB4MzIsMHg1MCwweDBjLDB4OTAsMHgwMywweDI4LDB4ODQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODg3MCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg0MCwweDRmLDB4OTksMHg0YSwweDQ0LDB4MDAsMHg5OSwweDAwLDB4YjQgfX0sCi0gezE2LCAweDg4ODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTMsMHgwMCwweGY4IH19LAotIHsxNiwgMHg4ODkwLCAwLCB7MHgwMSwweDM2LDB4NDAsMHgwYywweDk5LDB4MDMsMHhlNCwweDAyLDB4ZjksMHg4MCwweDNlLDB4NjAsMHg0ZiwweDkwLDB4MGIsMHhjYSB9fSwKLSB7MTYsIDB4ODhhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwMCwweDNjLDB4MDAgfX0sCi0gezE2LCAweDg4YjAsIDAsIHsweDFkLDB4ODAsMHgwMywweDIwLDB4MDAsMHhlOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODQsMHg4MywweGUwLDB4MTAsMHhlOCwweDIwIH19LAotIHsxNiwgMHg4OGMwLCAwLCB7MHgzMiwweDAwLDB4OGUsMHg4NCwweDAzLDB4MjEsMHg4MCwweGM4LDB4MDAsMHgzYSwweDE5LDB4MGYsMHgwNCwweDAzLDB4ZTAsMHgyNCB9fSwKLSB7MTYsIDB4ODhkMCwgMCwgezB4ZjAsMHgwMiwweDNjLDB4MDAsMHgwZiwweDgwLDB4MTMsMHg4YSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4ZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAyLDB4OGEsMHgwMSwweDBmLDB4YTIsMHg2OCwweGEwLDB4MDAsMHgyOCwweDAwLDB4OGEsMHgwMCwweDc3IH19LAotIHsxNiwgMHg4OGYwLCAwLCB7MHg4MCwweDY4LDB4ZTAsMHgxMiwweGU4LDB4MDAsMHhkZSwweDAwLDB4MzYsMHg4MSwweDA4LDB4ZTAsMHgwMywweDdhLDB4MDgsMHhhZSB9fSwKLSB7MTYsIDB4ODkwMCwgMCwgezB4YzQsMHgyZiwweDgwLDB4MDgsMHhlZCwweDAyLDB4ZmEsMHgwMCwweGJlLDB4YTAsMHgzYiwweDgwLDB4MGIsMHhhMCwweDQyLDB4MGEgfX0sCi0gezE2LCAweDg5MTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDg1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyYywweGMwIH19LAotIHsxNiwgMHg4OTIwLCAwLCB7MHg4OCwweGIwLDB4MDIsMHgwYywweDE0LDB4YTMsMHgwNCwweDIwLDB4YzQsMHgxOCwweDM4LDB4MDIsMHhlYywweDEwLDB4OTMsMHg1NCB9fSwKLSB7MTYsIDB4ODkzMCwgMCwgezB4MjgsMHhjMCwweDBhLDB4MDAsMHgwMiwweDRlLDB4MDAsMHg4MywweDQ5LDB4NjgsMHhjMCwweDAyLDB4MzksMHg0MiwweGNlLDB4NDAgfX0sCi0gezE2LCAweDg5NDAsIDAsIHsweGIzLDB4MDAsMHgyYywweGU2LDB4MGIsMHhiMCwweDAyLDB4OGIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OTUwLCAwLCB7MHgyMCwweDAxLDB4MWMsMHgwOCwweDg3LDB4MjAsMHgyYywweDgwLDB4MTgsMHhmMiwweDIyLDB4MWMsMHgwMCwweDg3LDB4MTAsMHgyMSB9fSwKLSB7MTYsIDB4ODk2MCwgMCwgezB4YzAsMHgwOCwweDcwLDB4ODIsMHhkYywweDgwLDB4OTYsMHg4MCwweDJkLDB4YzAsMHgwYSwweDQwLDB4MDIsMHg3ZCwweDQwLDB4MjcgfX0sCi0gezE2LCAweDg5NzAsIDAsIHsweDY0LDB4NmQsMHhkMCwweDQ4LDB4NjAsMHg0MiwweGQ4LDB4MDUsMHhiNiwweDA0LDB4MjksMHhjMCwweDRiLDB4NzIsMHgwMiwweDI4IH19LAotIHsxNiwgMHg4OTgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDNlLDB4ODgsMHhkNywweGUwLDB4M2QsMHhlMCB9fSwKLSB7MTYsIDB4ODk5MCwgMCwgezB4MDgsMHg3YywweDQyLDB4M2UsMHgwMCwweGUzLDB4ODIsMHgyMCwweGUwLDB4MGMsMHg2OCwweDAzLDB4ZGYsMHgwNCwweGQ3LDB4ODAgfX0sCi0gezE2LCAweDg5YTAsIDAsIHsweDNiLDB4ZTAsMHg0ZSwweDQ4LDB4MGEsMHg1ZSwweDgwLDB4YzcsMHhjMiwweDE5LDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhkNiwweDA4IH19LAotIHsxNiwgMHg4OWIwLCAwLCB7MHhmNywweDgwLDB4M2QsMHhlMCwweDBmLDB4ZjgsMHgwMywweGFhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODljMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4NDAsMHhmYiwweDQwLDB4N2UsMHg4MCwweDBlLDB4MzYsMHg4MywweGVkLDB4NDAsMHhkYiwweDYwLDB4M2UgfX0sCi0gezE2LCAweDg5ZDAsIDAsIHsweDgwLDB4MGYsMHhhMCwweDAzLDB4ZWQsMHgyOCwweGRhLDB4MDAsMHgzMiwweGM0LDB4MGMsMHhiMCwweDBiLDB4Y2MsMHgwMCwweGZiIH19LAotIHsxNiwgMHg4OWUwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZSwweDgwLDB4MTMsMHhlMCwweDEwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIxLDB4NTMsMHhjMiB9fSwKLSB7MTYsIDB4ODlmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmYsMHhjMCwweDMzLDB4ZTAgfX0sCi0gezE2LCAweDhhMDAsIDAsIHsweDBjLDB4ZjksMHgwMywweDdmLDB4MDQsMHhjZiwweGQwLDB4M2YsMHhlNCwweDBmLDB4YjgsMHgwMywweGZlLDB4MDAsMHhmZiwweDk0IH19LAotIHsxNiwgMHg4YTEwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhjOCwweDAzLDB4N2UsMHgxMCwweGYzLDB4ODAsMHgzYiwweGUwLDB4MGYsMHhmOCwweDAzLDB4ZmUsMHg0OCB9fSwKLSB7MTYsIDB4OGEyMCwgMCwgezB4ZWQsMHg4MCwweDMzLDB4MjQsMHgwNCwweGY4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDgwLDB4YmYsMHgwNCwweDIxLDB4MjgsMHgwOCwweGY4LDB4MDIsMHgxZSwweGMwLDB4Y2YsMHg5MCwweDIxIH19LAotIHsxNiwgMHg4YTQwLCAwLCB7MHg0YywweDBiLDB4NWEsMHg0MiwweGRlLDB4MDAsMHhiNywweDgwLDB4MmMsMHhlOCwweDBiLDB4MDQsMHgwMiwweDFjLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4OGE1MCwgMCwgezB4YTAsMHgzNSwweDEwLDB4OGYsMHg3MSwweDEzLDB4ZGUsMHhjMCwweDg0LDB4MTAsMHgyMSwweDgwLDB4MGQsMHg3MSwweDAyLDB4MmEgfX0sCi0gezE2LCAweDhhNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDQwLDB4OWMsMHgwOCwweGI3LDB4MDAsMHgyNSwweGM4IH19LAotIHsxNiwgMHg4YTcwLCAwLCB7MHgwOCwweDcxLDB4MDIsMHhjYywweDgwLDB4OTcsMHgwMCwweDI5LDB4YzAsMHg4YiwweDcyLDB4MDYsMHhkYywweDA4LDB4YjUsMHgwMCB9fSwKLSB7MTYsIDB4OGE4MCwgMCwgezB4MmQsMHhjOCwweDBiLDB4NDAsMHgwMiwweDFjLDB4NDAsMHhiZiwweDEwLDB4MjEsMHhjMCwweDBiLDB4NzQsMHgwMiwweGQ0LDB4ODAgfX0sCi0gezE2LCAweDhhOTAsIDAsIHsweGE3LDB4NDAsMHgyMSwweDQxLDB4MDgsMHg3MCwweDAyLDB4MDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YWEwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyNCwweDAwLDB4MDgsMHgzNCwweDgyLDB4YWMsMHgxMSwweDgzLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4OGFiMCwgMCwgezB4MDAsMHg0YiwweDE4LDB4MjYsMHhjZiwweDIwLDB4YjEsMHgwNiwweDJjLDB4YzEsMHgwYiwweDMyLDB4MDIsMHgwZSwweDA4LDB4YjMgfX0sCi0gezE2LCAweDhhYzAsIDAsIHsweDg4LDB4MjQsMHgzMiwweDBhLDB4MzAsMHgxMiwweDg0LDB4MDgsMHg4MCwweDAwLDB4YTAsMHgzNCwweDI4LDB4MzAsMHgwMiwweDE4IH19LAotIHsxNiwgMHg4YWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4YjYsMHg0MCB9fSwKLSB7MTYsIDB4OGFlMCwgMCwgezB4MmMsMHhmNCwweDQzLDB4ZmMsMHgwMSwweGRmLDB4MDAsMHgzYSwweDAwLDB4MDMsMHg5MiwweDAzLDB4ZmYsMHg4OCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDhhZjAsIDAsIHsweDJmLDB4YzAsMHgxYiwweDBlLDB4NGIsMHgyZSwweDkwLDB4ZmIsMHhlMCwweDMwLDB4MzIsMHgwYiwweDk4LDB4MDIsMHhlYywweDA4IH19LAotIHsxNiwgMHg4YjAwLCAwLCB7MHg2YiwweGMwLDB4MzIsMHhjMCwweDA4LDB4ZjAsMHgwOSwweDNlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGIxMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmMywweDAwLDB4M2EsMHhjMCwweDBmLDB4YjAsMHgwMSwweDZjLDB4MDAsMHhmYiwweDAwLDB4M2EgfX0sCi0gezE2LCAweDhiMjAsIDAsIHsweDEwLDB4MGYsMHhiNCwweDAzLDB4ZWMsMHgwMCwweGYwLDB4MDAsMHgzYywweGMwLDB4MGYsMHg4MCwweDBiLDB4YWQsMHgyMCwweGZiIH19LAotIHsxNiwgMHg4YjMwLCAwLCB7MHg0MCwweDNlLDB4MTAsMHgwNywweGE4LDB4NjMsMHhlMCwweDAwLDB4ZmIsMHg4MCwweDNlLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4OGI0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDcyLDB4MDAgfX0sCi0gezE2LCAweDhiNTAsIDAsIHsweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4YzAsMHgwMywweGRjLDB4MDAsMHg4ZiwweDAwIH19LAotIHsxNiwgMHg4YjYwLCAwLCB7MHgzMywweGMxLDB4MGMsMHhjMCwweDAzLDB4YmUsMHgwMCwweGZmLDB4OTAsMHgzYiwweDI4LDB4MGUsMHg1OSwweDAzLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4OGI3MCwgMCwgezB4N2IsMHgwMCwweDMyLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiODAsIDAsIHsweGMxLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweDYyLDB4YTAsMHgwZiwweGIwLDB4MDIsMHhlYywweDA5LDB4OGIsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4YjkwLCAwLCB7MHgzMCwweDBiLDB4YTgsMHgwMywweGFjLDB4MDAsMHhmYSwweGMxLDB4MjIsMHhjMSwweDA4LDB4OGMsMHgwMiwweDJjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OGJhMCwgMCwgezB4ODEsMHgyYSwweDAwLDB4MGQsMHg4OCwweGIyLDB4MjIsMHgwMCwweGIzLDB4YzAsMHgyMiwweGM4LDB4MGIsMHhiMCwweDQyLDB4NjEgfX0sCi0gezE2LCAweDhiYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4NmMsMHgwMCwweGJiLDB4MDEsMHgyMiwweDYyIH19LAotIHsxNiwgMHg4YmMwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHhlYywweDA0LDB4OGIsMHgwMCwweDJlLDB4YTIsMHg0OSwweDg4LDB4MjYsMHhlYywweDAwLDB4YTgsMHg4MCB9fSwKLSB7MTYsIDB4OGJkMCwgMCwgezB4MjIsMHhjMCwweDI4LDB4ODIsMHgwYSwweGFjLDB4YTAsMHhiYiwweDA4LDB4MjIsMHhjMCwweDA4LDB4ODAsMHgwYSwweDI4LDB4ODQgfX0sCi0gezE2LCAweDhiZTAsIDAsIHsweGI5LDB4YzAsMHhhMiwweDAwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YmYwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MTAsMHgyMCwweDQ4LDB4MGEsMHgzMiwweDAyLDB4Y2MsMHg4MCwweDgzLDB4MDEsMHgyNCB9fSwKLSB7MTYsIDB4OGMwMCwgMCwgezB4MDAsMHgwYiwweDAyLDB4MDYsMHg4YywweDYwLDB4YTAsMHgyMCwweDIwLDB4YzgsMHgwOCwweDAxLDB4MDIsMHgwYywweDAwLDB4YjMgfX0sCi0gezE2LCAweDhjMTAsIDAsIHsweDAwLDB4MjgsMHgwMCwweDA5LDB4MjAsMHgwMiwweDA4LDB4ODAsMHhiMSwweDAwLDB4YTAsMHg4MCwweDBiLDB4MzAsMHgwMiwweDQyIH19LAotIHsxNiwgMHg4YzIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDZjLDB4MDAsMHhmZiwweDAwLDB4YTIsMHgwZSB9fSwKLSB7MTYsIDB4OGMzMCwgMCwgezB4MGIsMHhmMSwweDAzLDB4ZmMsMHgwOCwweGNmLDB4MjAsMHgzZSwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZmMsMHg4NCwweGE4LDB4MjAgfX0sCi0gezE2LCAweDhjNDAsIDAsIHsweGIyLDB4YzgsMHg4YywweDgwLDB4MDMsMHhhYywweDQ0LDB4ZmIsMHg3MCwweDNhLDB4YzAsMHgwZSwweDkwLDB4MDMsMHgyYywweGE0IH19LAotIHsxNiwgMHg4YzUwLCAwLCB7MHhmYiwweDAwLDB4YjIsMHg0MCwweDBmLDB4YjAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGM2MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDI2LDB4M2UsMHgwMCwweDBmLDB4YjYsMHgxMywweGVkLDB4MDAsMHhmYiwweDEwLDB4M2YgfX0sCi0gezE2LCAweDhjNzAsIDAsIHsweDAwLDB4MGYsMHhjMSwweDEzLDB4YWMsMHg4MCwweGY4LDB4MTIsMHgzZSwweGM2LDB4NGYsMHg0MiwweDQzLDB4ZmMsMHgwNCwweGZmIH19LAotIHsxNiwgMHg4YzgwLCAwLCB7MHgzMSwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweGJmLDB4YzAsMHg4ZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4OGM5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDQwLDB4ZmMsMHg4MCwweDM2LDB4YzggfX0sCi0gezE2LCAweDhjYTAsIDAsIHsweDBmLDB4MDksMHgwMywweGMyLDB4MDAsMHhmOCwweGMwLDB4MzMsMHhjYywweDJjLDB4NGMsMHgwMywweDYzLDB4OTAsMHhlMCwweDkwIH19LAotIHsxNiwgMHg4Y2IwLCAwLCB7MHgzYSwweGMwLDB4MGQsMHg1MCwweDBiLDB4M2MsMHgwNCwweGRmLDB4NjQsMHgzZiwweGM4LDB4OGQsMHhmMSwweDQzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OGNjMCwgMCwgezB4ZDUsMHgwMCwweDMzLDB4YzAsMHg0NSwweGYyLDB4MjMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjZDAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDgwLDB4YmEsMHgwMiwweDIxLDB4ZGUsMHg4YiwweDgyLDB4MjIsMHhlMCwweDIwLDB4YjAsMHgwMCwweDJiIH19LAotIHsxNiwgMHg4Y2UwLCAwLCB7MHhlYywweDA5LDB4ODAsMHgwMiwweGUzLDB4NDAsMHhiYSwweDIwLDB4MmYsMHhkYywweDA4LDB4OTgsMHgxMiwweDJjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4OGNmMCwgMCwgezB4NTEsMHgyYSwweGQwLDB4MDgsMHg3MiwweDIyLDB4MmUsMHgwMCwweDhkLDB4ODAsMHgyMSwweGQwLDB4MDgsMHhiNiwweDgyLDB4MjAgfX0sCi0gezE2LCAweDhkMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGI5LDB4MjgsMHgyNCwweGMwIH19LAotIHsxNiwgMHg4ZDEwLCAwLCB7MHg0YSwweDEyLDB4MTIsMHg4OCwweDg1LDB4YTgsMHgyMCwweDIwLDB4YzAsMHgwYiwweDIyLDB4MDIsMHhjMCwweDkxLDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4OGQyMCwgMCwgezB4MjgsMHhjMiwweDBiLDB4MDAsMHgxMiwweDhjLDB4NDAsMHhhMywweDIwLDB4MjAsMHhjNCwweDBiLDB4MzAsMHgwYSwweDBjLDB4MTEgfX0sCi0gezE2LCAweDhkMzAsIDAsIHsweDk5LDB4MDAsMHgyMCwweGM1LDB4MDksMHgwMSwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZDQwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgwMCwweGI4LDB4ODAsMHgyMiwweGMwLDB4MGIsMHg4OCwweDAyLDB4ZWUsMHgwMSwweGI4LDB4YzEsMHgyYSB9fSwKLSB7MTYsIDB4OGQ1MCwgMCwgezB4YzAsMHgxYiwweGE4LDB4MDYsMHhlMiwweDAwLDB4YmIsMHg4MCwweDJlLDB4YzAsMHg4YSwweDgwLDB4MDIsMHhhYywweDAwLDB4YWIgfX0sCi0gezE2LCAweDhkNjAsIDAsIHsweDAwLDB4MmUsMHhjMCwweDBhLDB4YjAsMHgwMiwweDJjLDB4MDAsMHg5OSwweDAwLDB4MjQsMHhjMCwweDA4LDB4ODAsMHgwMiwweDMwIH19LAotIHsxNiwgMHg4ZDcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhiMCwweDgwLDB4MzYsMHhjMCB9fSwKLSB7MTYsIDB4OGQ4MCwgMCwgezB4MGUsMHhhOCwweDEzLDB4ZTIsMHg4NSwweGYzLDB4YzAsMHgzMiwweGMwLDB4MGUsMHg5YywweDIzLDB4ZTcsMHgyNCwweGU4LDB4ODIgfX0sCi0gezE2LCAweDhkOTAsIDAsIHsweDNhLDB4YzEsMHgwZiwweDk0LDB4MDMsMHhhYywweDAyLDB4ZWIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyZSwweDEwIH19LAotIHsxNiwgMHg4ZGEwLCAwLCB7MHg1MSwweDAwLDB4YjIsMHhjMCwweDBkLDB4YjAsMHgwMywweDUwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGRiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZDAsMHgwMywweGYwLDB4MDQsMHhmZCwweDA0LDB4M2YgfX0sCi0gezE2LCAweDhkYzAsIDAsIHsweGMwLDB4NGMsMHhjMCwweDAzLDB4ZjAsMHgxMCwweGZjLDB4MDAsMHgxZiwweGMwLDB4MGQsMHhkMSwweDIzLDB4MWMsMHgwMCwweGM3IH19LAotIHsxNiwgMHg4ZGQwLCAwLCB7MHgwMCwweDM5LDB4YzAsMHgwZCwweGYwLDB4ODMsMHhmZSwweDQ0LDB4ZWQsMHgwMCwweDNiLDB4YzAsMHgwZiwweDc0LDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4OGRlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjksMHgwMSwweGJhLDB4YzEgfX0sCi0gezE2LCAweDhkZjAsIDAsIHsweDBjLDB4YjAsMHgwMywweGExLDB4MDgsMHhmYSwweDAwLDB4MzAsMHhjOCwweDhmLDB4OTQsMHgwMywweDI1LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHg4ZTAwLCAwLCB7MHgzYywweGMwLDB4MGYsMHgwNCwweDgzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGUwLDB4MGYsMHg3MSwweDBiLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4OGUxMCwgMCwgezB4ZmQsMHgwOCwweDM3LDB4YzAsMHg0ZSwweDkxLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlMjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4YjksMHgwMCwweDIzLDB4YzAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YzgsMHgwMCwweDM3IH19LAotIHsxNiwgMHg4ZTMwLCAwLCB7MHhmMCwweDBiLDB4ODAsMHgwMSwweDY0LDB4MDAsMHg0OSwweDAyLDB4MzMsMHhjMCwweDg0LDB4OWMsMHgwMywweDNjLDB4MDAsMHhiZiB9fSwKLSB7MTYsIDB4OGU0MCwgMCwgezB4MDIsMHgwZiwweGQwLDB4MDgsMHhmNCwweDAyLDB4MGUsMHgxMCwweGJkLDB4ODAsMHgzMywweGUwLDB4MDgsMHg5MCwweDBhLDB4MzIgfX0sCi0gezE2LCAweDhlNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MDYsMHgyMCwweGMwIH19LAotIHsxNiwgMHg4ZTYwLCAwLCB7MHgwOCwweDAwLDB4NDIsMHg4NCwweDAwLDB4YTAsMHgwMCwweDIwLDB4ZjAsMHgwYiwweDAwLDB4MjIsMHhjYywweDAwLDB4OTAsMHgwMCB9fSwKLSB7MTYsIDB4OGU3MCwgMCwgezB4MjgsMHhjMCwweDAyLDB4M2QsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMiwweDlhLDB4MzgsMHgwMiwweDA2LDB4MDQgfX0sCi0gezE2LCAweDhlODAsIDAsIHsweGIxLDB4MTIsMHgyMCwweGUwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZTkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI2LDB4ODAsMHgyMSwweGUwLDB4MjgsMHhlYSwweDAyLDB4MzYsMHg4MCwweDg2LDB4OTAsMHg2NSB9fSwKLSB7MTYsIDB4OGVhMCwgMCwgezB4ZTAsMHgxYiwweGRhLDB4MDYsMHg1ZSwweDAxLDB4OWUsMHg4NCwweDI1LDB4ZWMsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4YjcgfX0sCi0gezE2LCAweDhlYjAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDA4LDB4NzksMHg0YSwweDE2LDB4NDAsMHhiZCwweDgwLDB4MjUsMHhlMCwweDA4LDB4MzgsMHgwMiwweDA4IH19LAotIHsxNiwgMHg4ZWMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmYiwweDAwLDB4MjgsMHhlMCB9fSwKLSB7MTYsIDB4OGVkMCwgMCwgezB4MDgsMHgxOCwweDAyLDB4OGEsMHg4OCwweGExLDB4YTAsMHgyMCwweGMyLDB4MWYsMHgyYSwweDIzLDB4ZTYsMHhjOCwweGYwLDB4YzAgfX0sCi0gezE2LCAweDhlZTAsIDAsIHsweDNhLDB4ZWQsMHg0ZSwweDM0LDB4MDIsMHg4YywweDA4LDB4ZjMsMHg4MSwweDFlLDB4YzAsMHgwZSwweDMwLDB4MDMsMHgwZSwweGMwIH19LAotIHsxNiwgMHg4ZWYwLCAwLCB7MHhmMSwweDAwLDB4YjAsMHhjYSwweDBlLDB4MjEsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGYwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDgsMHhmZSwweDEwLDB4M2YsMHhkMiwweDBmLDB4ZTAsMHgwMywweGVjLDB4MDQsMHhmZiwweDE0LDB4N2UgfX0sCi0gezE2LCAweDhmMTAsIDAsIHsweGMwLDB4MGYsMHhiMSwweDIzLDB4ZmMsMHgwMSwweGVlLDB4MDAsMHgzYSwweGM0LDB4MGQsMHhiMCwweDEzLDB4YmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHg4ZjIwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZSwweGYwLDB4ODMsMHhmYywweDBjLDB4ZmQsMHgxMCwweDNiLDB4YzAsMHgyZiwweGUxLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4OGYzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4ZjAsMHg4MCwweDMyLDB4ZDAgfX0sCi0gezE2LCAweDhmNDAsIDAsIHsweDBjLDB4YTAsMHgwMywweDZjLDB4MDAsMHhmMywweDgwLDB4MzIsMHhkYSwweDBmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHg4ZjUwLCAwLCB7MHgzZSwweGNjLDB4NGMsMHg5OCwweDEzLDB4MmMsMHgxMCwweGZiLDB4MDQsMHgzZSwweGM0LDB4MGMsMHhmMiwweDgzLDB4YTYsMHgxMCB9fSwKLSB7MTYsIDB4OGY2MCwgMCwgezB4ZGQsMHgyMCwweDNmLDB4ZDEsMHgwYywweGIwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDgwLDB4YjcsMHgwMCwweDIxLDB4YzgsMHgwYywweDcwLDB4MDIsMHhkYywweDA4LDB4YjcsMHgwMCwweDIxIH19LAotIHsxNiwgMHg4ZjgwLCAwLCB7MHhjOCwweDBlLDB4NzAsMHgyMiwweGQ4LDB4MDAsMHhiNywweDAwLDB4MmMsMHhjMiwweDBhLDB4NzAsMHgwYSwweDFmLDB4MDgsMHhiNyB9fSwKLSB7MTYsIDB4OGY5MCwgMCwgezB4MDAsMHgzOSwweGM4LDB4MGEsMHg3MCwweDAyLDB4MTQsMHgwMCwweGM1LDB4NjksMHgyYywweGNhLDB4MmEsMHg3MCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweDhmYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGJmLDB4ODEsMHg2NCwweGUxIH19LAotIHsxNiwgMHg4ZmIwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHg1YSwweDAxLDB4YmYsMHg4MCwweDIxLDB4ZWMsMHg0YiwweDc4LDB4NDYsMHg5ZiwweDA4LDB4MzcsMHg4MCB9fSwKLSB7MTYsIDB4OGZjMCwgMCwgezB4MmQsMHhlOCwweDg4LDB4MTgsMHgwMiwweDFlLDB4ODEsMHhiNywweGIwLDB4MmQsMHhlMCwweDA5LDB4N2EsMHgwMiwweDhlLDB4MDAgfX0sCi0gezE2LCAweDhmZDAsIDAsIHsweDk1LDB4YTAsMHgyZCwweGU0LDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZmUwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgwMCwweGIzLDB4NjAsMHgyMCwweGMwLDB4MDgsMHhiNiwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDEsMHgyMCB9fSwKLSB7MTYsIDB4OGZmMCwgMCwgezB4YzAsMHg4YSwweGIwLDB4ODYsMHhjZiwweDAwLDB4YmIsMHgxMCwweDZjLDB4YzEsMHgwYSwweDM4LDB4MDIsMHgwYywweDAxLDB4YjMgfX0sCi0gezE2LCAweDkwMDAsIDAsIHsweDAyLDB4MjgsMHhjMCwweDBiLDB4YjAsMHgwYSwweDBjLDB4MDAsMHg4MSwweDAwLDB4MmUsMHhjMCwweDBhLDB4YjQsMHg4MiwweGQyIH19LAotIHsxNiwgMHg5MDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweDQwLDB4YjYsMHg4MCB9fSwKLSB7MTYsIDB4OTAyMCwgMCwgezB4MGMsMHhlNCwweDAzLDB4NzgsMHg4MCwweGZlLDB4NzQsMHgzMiwweDgwLDB4MGIsMHhlNiwweDAzLDB4ZjksMHgwMCwweGZlLDB4MDAgfX0sCi0gezE2LCAweDkwMzAsIDAsIHsweDNlLDB4ODAsMHgwYywweGUwLDB4MDMsMHgyOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHg0ZCwweGEwLDB4MDMsMHhhOCwweDAwIH19LAotIHsxNiwgMHg5MDQwLCAwLCB7MHhkYSwweDA0LDB4M2UsMHg4MCwweDBjLDB4ZTQsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTA1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDJlLDB4ODAsMHgyMywweGUwLDB4MDAsMHhmOCwweDAxLDB4M2MgfX0sCi0gezE2LCAweDkwNjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgyMCwweGY4LDB4MjAsMHgzZSwweDAxLDB4OGYsMHg4OSwweDAzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHg5MDcwLCAwLCB7MHgwMCwweDNhLDB4MTAsMHgwZSwweDgwLDB4MDEsMHhlMCwweDAwLDB4ZTgsMHg0MCwweDdlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OTA4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMSwweDdlLDB4NDAgfX0sCi0gezE2LCAweDkwOTAsIDAsIHsweDJjLDB4OTAsMHgwYiwweDI0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2OCwweDA1LDB4OTAsMHgxMywweGE0LDB4MDQsMHhkOSwweDAwIH19LAotIHsxNiwgMHg5MGEwLCAwLCB7MHgzMiwweDQxLDB4MGUsMHg5MSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OTBiMCwgMCwgezB4ZjEsMHgwMCwweDMyLDB4NDAsMHg2OCwweDkwLDB4NDMsMHg4MiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlIH19LAotIHsxNiwgMHg5MGQwLCAwLCB7MHg3MCwweDg4LDB4OTAsMHgwMywweDI0LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTgsMHgxMiwweGU0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4OTBlMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjYsMHgwMCwweGI5LDB4ODAsMHhhMiwweDQwLDB4MDgsMHg5MCwweDEyLDB4MjAgfX0sCi0gezE2LCAweDkwZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDQsMHgyYywweDQwIH19LAotIHsxNiwgMHg5MTAwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHgyNCwweDAxLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwYiwweGIwLDB4MDIsMHhhNCwweDAxLDB4YjksMHgwMCB9fSwKLSB7MTYsIDB4OTExMCwgMCwgezB4ZTAsMHg0MCwweDBhLDB4OTAsMHg4MiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MmMsMHg0OCwweDBhLDB4OTgsMHgwMiwweDI0LDB4ODAgfX0sCi0gezE2LCAweDkxMjAsIDAsIHsweDM5LDB4MjAsMHgyMiwweDQwLDB4MmEsMHg5MCwweDAyLDB4ODYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MDAsMHgyYywweDQ4LDB4MDgsMHgxMCwweDEyLDB4MDQsMHgxMCwweGIxLDB4MDQsMHgyYyB9fSwKLSB7MTYsIDB4OTE0MCwgMCwgezB4ZDgsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDIwLDB4NDgsMHgwOCwweDEwLDB4MDIsMHhjNCwweDgwLDB4YjEgfX0sCi0gezE2LCAweDkxNTAsIDAsIHsweDIyLDB4MmMsMHg1MCwweDhhLDB4MzIsMHg4MiwweDA1LDB4YTAsMHhiMSwweDJhLDB4MjAsMHg0YSwweDBhLDB4MTIsMHg4MiwweDAyIH19LAotIHsxNiwgMHg5MTYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NTAsMHhjOCwweDUyLDB4MmUsMHgxNCB9fSwKLSB7MTYsIDB4OTE3MCwgMCwgezB4MGMsMHg4NSwweDAzLDB4MjEsMHg0MCwweGY4LDB4NTAsMHgzYSwweDAwLDB4MWYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGY4LDB4NTAgfX0sCi0gezE2LCAweDkxODAsIDAsIHsweDMyLDB4MTQsMHgwZSwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCwweDNjLDB4ODAsMHgwZSwweDAyLDB4MDMsMHgyMCwweDgwIH19LAotIHsxNiwgMHg5MTkwLCAwLCB7MHhmYSwweDIwLDB4MzIsMHgwOCwweDBlLDB4ODIsMHgxMywweGFlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTFhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NTAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwLDB4M2UgfX0sCi0gezE2LCAweDkxYjAsIDAsIHsweDQ0LDB4OGQsMHhkMCwweDAxLDB4YmQsMHgwMCwweGZkLDB4MDIsMHgzZSwweDQ0LDB4MGYsMHhkNCwweDAwLDB4ZTQsMHg0OCwweDc5IH19LAotIHsxNiwgMHg5MWMwLCAwLCB7MHgxNCwweDNlLDB4NTAsMHgwZiwweDkyLDB4YTIsMHhmNCwweDA4LDB4ZmQsMHgwMCwweDNlLDB4NGEsMHgwZCwweGQyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4OTFkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNywweDAwLDB4ZjksMHgxMCwweDNhLDB4NmUgfX0sCi0gezE2LCAweDkxZTAsIDAsIHsweDBjLDB4YjEsMHgwMywweGU0LDB4NDAsMHhmOSwweDQ0LDB4M2IsMHg2MSwweDhlLDB4OTQsMHgwMywweGU0LDB4MDAsMHhlOSwweDQwIH19LAotIHsxNiwgMHg5MWYwLCAwLCB7MHgzMiwweDY2LDB4MGYsMHhkYSwweDBiLDB4YTcsMHgyOCwweGM5LDB4ZTAsMHgzZiwweDY4LDB4MGMsMHhkYSwweDgzLDB4YjMsMHgyMCB9fSwKLSB7MTYsIDB4OTIwMCwgMCwgezB4ZWQsMHhhMCwweDMzLDB4NzksMHgwOCwweGQ4LDB4MDMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyMTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDAwLDB4YjgsMHhhMCwweDJlLDB4MzgsMHgwOCwweDhhLDB4MDIsMHhlMiwweDg4LDB4ZTgsMHg4MSwweDJlIH19LAotIHsxNiwgMHg5MjIwLCAwLCB7MHgxNCwweDA5LDB4MGEsMHgwMywweGUyLDB4ODAsMHhiOCwweDgwLDB4MzIsMHgzMCwweDBiLDB4ODUsMHgwMiwweDIxLDB4MDEsMHhhOCB9fSwKLSB7MTYsIDB4OTIzMCwgMCwgezB4ZjQsMHgzOCwweDJhLDB4MDgsMHgwZSwweGNhLDB4MjMsMHg5MCwweGM4LDB4NTQsMHgzNCwweDM4LDB4MDgsMHg4YSwweDkyLDB4MGUgfX0sCi0gezE2LCAweDkyNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4MDAsMHgyOCwweDQwIH19LAotIHsxNiwgMHg5MjUwLCAwLCB7MHgxOSwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyMCwweDI4LDB4NDAsMHgwYiwweDEwLDB4MDYsMHhjNCwweDIwLDB4YTEsMHhhMiB9fSwKLSB7MTYsIDB4OTI2MCwgMCwgezB4NmMsMHg0OCwweDBiLDB4MTAsMHgwMiwweDg0LDB4MDgsMHg4MSwweDIwLDB4MmMsMHg1MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDQgfX0sCi0gezE2LCAweDkyNzAsIDAsIHsweGIxLDB4MDAsMHgyNCwweDU4LDB4MDgsMHgzYywweDAyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMSwweGI5LDB4MjAsMHgyYywweDQwLDB4MDksMHg5MCwweDAyLDB4ZTQsMHgxMCwweGE5LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4OTI5MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDAwLDB4YjEsMHgwMSwweDJhLDB4NDAsMHgwYiwweDk0LDB4MDIsMHgyNCwweDAwLDB4YTkgfX0sCi0gezE2LCAweDkyYTAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDAxLDB4MTAsMHg1MiwweDY0LDB4MDAsMHg4OSwweDAwLDB4MjYsMHg0MCwweDAwLDB4OTgsMHgwMiwweDQ2IH19LAotIHsxNiwgMHg5MmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDYxLDB4M2EsMHg0MCB9fSwKLSB7MTYsIDB4OTJjMCwgMCwgezB4MGQsMHg5MCwweDgzLDB4ZTUsMHgyMCwweGY5LDB4MDEsMHgzYSwweDQwLDB4MmUsMHg5MCwweDAyLDB4ZTQsMHg0MCwweGU5LDB4MDEgfX0sCi0gezE2LCAweDkyZDAsIDAsIHsweDllLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhhNCwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAsMHgyZCwweDkwLDB4MDIsMHhlNiwweDA4IH19LAotIHsxNiwgMHg5MmUwLCAwLCB7MHhiOSwweDAxLDB4MzYsMHg0MCwweDJjLDB4OTAsMHgwMSwweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTJmMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDJlLDB4OTAsMHgwMywweGU0LDB4ODAsMHhmOSwweDAwLDB4M2MgfX0sCi0gezE2LCAweDkzMDAsIDAsIHsweDQwLDB4MGMsMHg5YywweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHgxMCwweDQzLDB4ODQsMHgwMCwweGY5IH19LAotIHsxNiwgMHg5MzEwLCAwLCB7MHgwMiwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHg4MCwweDgwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgyZiwweDkwLDB4MDMsMHg4YSB9fSwKLSB7MTYsIDB4OTMyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHg0MCwweDM2LDB4MDEgfX0sCi0gezE2LCAweDkzMzAsIDAsIHsweDBkLDB4ODQsMHgwMywweGUxLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgwOCwweDBjLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHg5MzQwLCAwLCB7MHgzMiwweDAwLDB4OGYsMHg4MCwweDAzLDB4YTAsMHgxMCwweGY4LDB4MDAsMHgzMiwweDA0LDB4MGUsMHg4MCwweDgzLDB4NjAsMHgwMCB9fSwKLSB7MTYsIDB4OTM1MCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHgwMSwweDIyLDB4ODAsMHgwOCwweGEwLDB4MjQsMHhlOCwweDAwLDB4MGEsMHgwMCwweDJmIH19LAotIHsxNiwgMHg5MzcwLCAwLCB7MHg4MCwweDFhLDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiYSwweDAwLDB4MTYsMHg4MCwweDBiLDB4ZTAsMHgwMywweDI4LDB4MDgsMHhlYSB9fSwKLSB7MTYsIDB4OTM4MCwgMCwgezB4MDAsMHgzMywweDkwLDB4MDgsMHhlYywweDFiLDB4MjIsMHg4MCwweGM2LDB4MTQsMHgyZiwweDkxLDB4MDgsMHhhMCwweDQzLDB4NGEgfX0sCi0gezE2LCAweDkzOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyNCwweGMwIH19LAotIHsxNiwgMHg5M2EwLCAwLCB7MHgwOSwweDMwLDB4MTIsMHhjYywweDA0LDB4YTMsMHgwNCwweDZjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHg4YywweDAwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4OTNiMCwgMCwgezB4MmMsMHhjMCwweDEzLDB4MzAsMHgwMiwweDhjLDB4MDAsMHhiMywweDAwLDB4ZTYsMHhiOCwweDBhLDB4MzgsMHgwMiwweDQ0LDB4MDggfX0sCi0gezE2LCAweDkzYzAsIDAsIHsweDgyLDB4NTAsMHgyYywweGQyLDB4M2EsMHgzMCwweDAyLDB4OGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5M2QwLCAwLCB7MHhhMCwweDAxLDB4MGUsMHg4MCwweDk3LDB4YjQsMHgyMSwweGM0LDB4NDksMHg3MSwweDAyLDB4ZGUsMHg4MSwweDg3LDB4MjEsMHgyZCB9fSwKLSB7MTYsIDB4OTNlMCwgMCwgezB4ZDAsMHgwYiwweDdiLDB4MDIsMHgxYywweDAxLDB4YmYsMHgyMCwweDI5LDB4YzQsMHgwYiwweDMwLDB4MDIsMHg1YywweDAwLDB4YTcgfX0sCi0gezE2LCAweDkzZjAsIDAsIHsweGExLDB4MjEsMHhjMCwweDRhLDB4NzAsMHg4YSwweDBjLDB4ODEsMHg4NCwweDAwLDB4MmQsMHhkMCwweDBhLDB4NTAsMHgwMiwweGU4IH19LAotIHsxNiwgMHg5NDAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4ODIsMHhkZiwweGEwLDB4MzQsMHhlYyB9fSwKLSB7MTYsIDB4OTQxMCwgMCwgezB4MGQsMHg3OSwweDAyLDB4ZmUsMHg4MCwweGU3LDB4ZTgsMHgyZiwweGEwLDB4MDksMHg3YSwweDAyLDB4OWUsMHgwMCwweGY3LDB4YTIgfX0sCi0gezE2LCAweDk0MjAsIDAsIHsweDI1LDB4ZWEsMHgwYiwweDQ4LDB4MDMsMHg5ZSwweDA0LDB4ZmYsMHhjMCwweDY1LDB4ZTQsMHgwZSwweDY4LDB4MDMsMHg1ZiwweDAwIH19LAotIHsxNiwgMHg5NDMwLCAwLCB7MHhlNCwweDgwLDB4M2QsMHhlMCwweDBlLDB4ZjgsMHgwMywweGFhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTQ0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4NDgsMHhlYiwweDA1LDB4M2UsMHhkOSwweDBlLDB4YjIsMHgwMywweGVjLDB4MDAsMHhmYiwweDYwLDB4M2UgfX0sCi0gezE2LCAweDk0NTAsIDAsIHsweGMwLDB4MGUsMHhiMiwweDgzLDB4YWMsMHgwMCwweGYzLDB4NTAsMHhhNiwweGMwLDB4NGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiIH19LAotIHsxNiwgMHg5NDYwLCAwLCB7MHg4MCwweDNmLDB4ZDgsMHgwZCwweGEwLDB4MDMsMHhlYywweDBhLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZCwweDkwLDB4MDMsMHg0MiB9fSwKLSB7MTYsIDB4OTQ3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4YmIsMHg5MCwweDNlLDB4ZTAgfX0sCi0gezE2LCAweDk0ODAsIDAsIHsweDA4LDB4MzksMHgwMywweDllLDB4MjAsMHhjZiwweDgyLDB4NzcsMHhlMCwweDFmLDB4ZjgsMHgwMywweGVlLDB4MDAsMHhmZiwweGMwIH19LAotIHsxNiwgMHg5NDkwLCAwLCB7MHgzZiwweGU1LDB4MGQsMHhmOSwweDAzLDB4ZWUsMHgwMCwweGZiLDB4OTAsMHgzNywweGEwLDB4MDgsMHhmOCwweDBmLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4OTRhMCwgMCwgezB4Y2MsMHg5NCwweDMzLDB4NjAsMHgwZCwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0YjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjcsMHg5MCwweDJmLDB4ZTQsMHgwOCwweDdhLDB4MDIsMHgxZSwweDAwLDB4OGYsMHgxMiwweDI1IH19LAotIHsxNiwgMHg5NGMwLCAwLCB7MHhkOCwweDBiLDB4YmIsMHgwMiwweDFlLDB4MDAsMHhiNywweDAwLDB4MmQsMHhlOCwweDA4LDB4N2QsMHg4MiwweGRlLDB4NDAsMHhiYiB9fSwKLSB7MTYsIDB4OTRkMCwgMCwgezB4YTAsMHgyNywweDkwLDB4MGEsMHg3NiwweDAyLDB4NWMsMHg4MCwweDg1LDB4MDAsMHgzNywweGM0LDB4NGQsMHg3MSwweDAzLDB4ZWEgfX0sCi0gezE2LCAweDk0ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGI3LDB4MjAsMHgyZCwweGMwIH19LAotIHsxNiwgMHg5NGYwLCAwLCB7MHgyOSwweGYyLDB4MjIsMHhiYywweDgwLDB4OTcsMHgwMCwweDI1LDB4NDEsMHgwYiwweDcwLDB4MTIsMHg5YywweDAwLDB4YjcsMHgwOCB9fSwKLSB7MTYsIDB4OTUwMCwgMCwgezB4MjksMHhjMCwweDA4LDB4NDIsMHgxMiwweGRjLDB4NDAsMHhiNywweDAwLDB4MjksMHhjMCwweDA5LDB4NjAsMHgyMiwweGRjLDB4MTAgfX0sCi0gezE2LCAweDk1MTAsIDAsIHsweDgwLDB4MDAsMHgyMSwweDQwLDB4MDksMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NTIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4YzAsMHgyZSwweGMwLDB4MDgsMHgzNCwweDgyLDB4MmQsMHgwMCwweDkzLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4OTUzMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MDIsMHgwZiwweDgwLDB4MTMsMHgwMCwweDJjLDB4YzAsMHgwYSwweDM0LDB4YTIsMHhlYywweDAwLDB4YjMgfX0sCi0gezE2LCAweDk1NDAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDBiLDB4MDAsMHgwMiwweGNjLDB4MDAsMHg4MSwweDAwLDB4MjAsMHhjMCwweDA5LDB4MzAsMHgwMiwweDg5IH19LAotIHsxNiwgMHg5NTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJjLDB4MDAsMHhmZiwweGUwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4OTU2MCwgMCwgezB4MGMsMHhmNCwweDgzLDB4YmQsMHgwMCwweGRmLDB4MDgsMHgzNiwweDQwLDB4MGIsMHg3NSwweDQyLDB4ZmMsMHgyMCwweGZmLDB4ODAgfX0sCi0gezE2LCAweDk1NzAsIDAsIHsweDNiLDB4YzAsMHgyYywweDNjLDB4MDMsMHhmYywweDAwLDB4YmYsMHgwMCwweGJlLDB4YzAsMHg4ZCwweDkwLDB4MGIsMHhhYywweDAyIH19LAotIHsxNiwgMHg5NTgwLCAwLCB7MHhjYSwweDAwLDB4MjIsMHg4MCwweDBkLDB4YjAsMHgwMiwweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTU5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA4LDB4MWUsMHhjMCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhlYiwweDAwLDB4M2EgfX0sCi0gezE2LCAweDk1YTAsIDAsIHsweDEwLDB4MGYsMHhiMCwweDIzLDB4YWMsMHgwMSwweGZiLDB4MDAsMHgzZSwweGMwLDB4M2MsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGZiIH19LAotIHsxNiwgMHg5NWIwLCAwLCB7MHgwMCwweDI2LDB4NDAsMHgwZSwweDk0LDB4MGIsMHgyYywweDAwLDB4ZjksMHg0MCwweDNlLDB4OTAsMHgwZSwweDkwLDB4MTMsMHhlMCB9fSwKLSB7MTYsIDB4OTVjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAyLDB4Y2YsMHgwMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweDk1ZDAsIDAsIHsweDBkLDB4ZjAsMHgwYiwweDNjLDB4MjAsMHhjZiwweDAwLDB4M2QsMHgwMCwweDBlLDB4ZjAsMHgwNywweDljLDB4MDEsMHhjZiwweDAyIH19LAotIHsxNiwgMHg5NWUwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhjNCwweDAzLDB4M2MsMHgwMCwweGNmLDB4MDAsMHgwZiwweGMwLDB4MGUsMHg0NCwweDAzLDB4MWYsMHgwMiB9fSwKLSB7MTYsIDB4OTVmMCwgMCwgezB4Y2MsMHgwMCwweDNmLDB4ODAsMHgyYywweDcwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2MDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHgwMiwweDJlLDB4YzAsMHgwZCwweGIwLDB4MDIsMHgyYywweDAwLDB4YWIsMHgwMCwweDA2IH19LAotIHsxNiwgMHg5NjEwLCAwLCB7MHgyMCwweDA4LDB4YjAsMHgwMywweGZjLDB4MDAsMHhhYiwweDAwLDB4MmUsMHhjMCwweDBmLDB4ODAsMHgwNiwweGJjLDB4MDAsMHhhYiB9fSwKLSB7MTYsIDB4OTYyMCwgMCwgezB4MDQsMHgzYSwweGYwLDB4MGMsMHg4OCwweDAyLDB4MmMsMHgwMCwweGM5LDB4ODAsMHgzYSwweDkyLDB4MDgsMHg5MCwweDBhLDB4YTAgfX0sCi0gezE2LCAweDk2MzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGFiLDB4MDAsMHgyZSwweGMwIH19LAotIHsxNiwgMHg5NjQwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4NjAsMHgwYiwweGIwLDB4MDIsMHhhYywweDAwLDB4OGIsMHgwMCB9fSwKLSB7MTYsIDB4OTY1MCwgMCwgezB4NmUsMHhjMCwweDBiLDB4YjAsMHg0MiwweDJjLDB4MDAsMHg5YiwweDAwLDB4NGMsMHhlMCwweDBhLDB4OTAsMHgyMiwweDJjLDB4MDAgfX0sCi0gezE2LCAweDk2NjAsIDAsIHsweDhhLDB4YzIsMHgyYywweDQwLDB4MDgsMHhiMCwweDQyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweDgzLDB4MGQsMHgyYywweGM2LDB4MDksMHgzMSwweDAyLDB4MGQsMHg4MSwweGEzLDB4MTEsMHgyNCB9fSwKLSB7MTYsIDB4OTY4MCwgMCwgezB4MDAsMHg4YSwweGIxLDB4ZTIsMHg0YywweDgwLDB4YTMsMHgwMCwweDJjLDB4Y2MsMHgwYiwweDAyLDB4MDIsMHg4YywweDgwLDB4YTMgfX0sCi0gezE2LCAweDk2OTAsIDAsIHsweDQ4LDB4MDgsMHhjMCwweDA4LDB4MDAsMHgwYSwweDBkLDB4MDAsMHg4MSwweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDgyIH19LAotIHsxNiwgMHg5NmEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhjYiwweDIwLDB4MmYsMHhjOCB9fSwKLSB7MTYsIDB4OTZiMCwgMCwgezB4OGQsMHhmNiwweDEzLDB4MmQsMHhiMCwweDhmLDB4MDAsMHgzNiwweDQwLDB4MGYsMHhmMCwweDAyLDB4YWQsMHhhOCwweDhmLDB4MTAgfX0sCi0gezE2LCAweDk2YzAsIDAsIHsweDNmLDB4Y2EsMHgwYiwweDgwLDB4OTIsMHgyYywweDEwLDB4ZGIsMHg0MCwweDNmLDB4YzAsMHgwZSwweDAwLDB4MDMsMHgyZCwweDA0IH19LAotIHsxNiwgMHg5NmQwLCAwLCB7MHhjOCwweDAyLDB4M2UsMHg0MCwweDBjLDB4YjAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTZlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjOCwweDBlLDB4ZjEsMHgwMywweGVjLDB4ODQsMHhmZiwweDIwLDB4MzcgfX0sCi0gezE2LCAweDk2ZjAsIDAsIHsweDAwLDB4MGQsMHhiMiwweDAzLDB4YmMsMHhhMCwweGZmLDB4MDAsMHgzZSwweGM5LDB4MGUsMHg4MCwweDAzLDB4ZmQsMHgxMSwweGZmIH19LAotIHsxNiwgMHg5NzAwLCAwLCB7MHgwMCwweDNiLDB4YzAsMHgwZSwweGMwLDB4MDMsMHhmYywweDgwLDB4ZWQsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4NDMsMHg2OCB9fSwKLSB7MTYsIDB4OTcxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDkwLDB4Y2MsMHg5MiwweDNiLDB4YzggfX0sCi0gezE2LCAweDk3MjAsIDAsIHsweDBkLDB4ZjAsMHg4MywweDczLDB4MTAsMHhmZiwweDI4LDB4MzcsMHhjYSwweDRmLDB4YjIsMHgwMywweGZjLDB4MDAsMHhkZiwweDIwIH19LAotIHsxNiwgMHg5NzMwLCAwLCB7MHhiMywweGM0LDB4MGQsMHg2OCwweDQzLDB4ZmUsMHgxNCwweGNiLDB4ODQsMHgzMywweGUwLDB4MGQsMHg3OCwweDAzLDB4YmUsMHgwMCB9fSwKLSB7MTYsIDB4OTc0MCwgMCwgezB4ZmYsMHg4MCwweDM3LDB4YTAsMHgwYywweGYzLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3NTAsIDAsIHsweDgwLDB4MDAsMHhmYywweDQ4LDB4ODIsMHgyMSwweDAzLDB4ZjQsMHgwZiwweGY2LDB4NDIsMHgyMCwweDA0LDB4OGEsMHg2MCwweDJiIH19LAotIHsxNiwgMHg5NzYwLCAwLCB7MHhkYSwweDBiLDB4ZjksMHgwMiwweDNmLDB4MDQsMHg4ZiwweDUyLDB4MjMsMHhkNSwweDRkLDB4ODgsMHgwMiwweGFlLDB4MDAsMHhkYiB9fSwKLSB7MTYsIDB4OTc3MCwgMCwgezB4ODAsMHgzNiwweGMwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwNCwweGI4LDB4MDAsMHgyMiwweDYwLDB4MGQsMHg3NCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweDk3ODAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHhhMCwweDgwLDB4MDEsMHgwOCwweGMwIH19LAotIHsxNiwgMHg5NzkwLCAwLCB7MHg0YiwweDMwLDB4ODIsMHg0MiwweDkwLDB4YTMsMHgwOCwweDJjLDB4YzgsMHgxYSwweDMwLDB4MjIsMHg4ZCwweDAwLDB4OTMsMHgwMCB9fSwKLSB7MTYsIDB4OTdhMCwgMCwgezB4MjQsMHhjOCwweDA5LDB4YTAsMHgxMiwweDBjLDB4MDQsMHhhYiwweDAwLDB4NjIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNjLDB4MDAgfX0sCi0gezE2LCAweDk3YjAsIDAsIHsweGIzLDB4MDAsMHgyOCwweDgwLDB4MDgsMHgzNiwweDA2LDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5N2MwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweDg4LDB4MDgsMHgyMiwweGMwLDB4MGEsMHgzMCwweDFhLDB4MDAsMHgxMSwweDgyLDB4MDAsMHgwYSB9fSwKLSB7MTYsIDB4OTdkMCwgMCwgezB4YzAsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHgwOSwweDkxLDB4MDIsMHhlYywweDIwLDB4YmIgfX0sCi0gezE2LCAweDk3ZTAsIDAsIHsweDI4LDB4NjYsMHhjMCwweDA4LDB4ODAsMHgwMiwweDYwLDB4MDAsMHhiOCwweDAwLDB4MmEsMHg0MCwweDgxLDB4YjAsMHgwNiwweGY4IH19LAotIHsxNiwgMHg5N2YwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGVjLDB4MDIsMHhjOCwweDA0LDB4M2EsMHhjMCB9fSwKLSB7MTYsIDB4OTgwMCwgMCwgezB4ODksMHhiMCwweDAzLDB4NjgsMHgwMCwweGU5LDB4YzEsMHgxZSwweGMxLDB4MGUsMHgzMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4MDAgfX0sCi0gezE2LCAweDk4MTAsIDAsIHsweDM2LDB4YzEsMHgwZCwweDAwLDB4MjMsMHgwZSwweDAwLDB4ZWIsMHg4MCwweDMyLDB4YzgsMHhjZCwweDMwLDB4MzIsMHhlYywweDA4IH19LAotIHsxNiwgMHg5ODIwLCAwLCB7MHhmMywweDAwLDB4M2MsMHg4MCwweDBjLDB4YjAsMHgwNiwweDgwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTgzMCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHg3YywweDAwLDB4M2YsMHhjMCwweDBiLDB4YjAsMHg0MywweGZkLDB4MDAsMHhiZSwweGM0LDB4MzcgfX0sCi0gezE2LCAweDk4NDAsIDAsIHsweGMwLDB4MWYsMHhmMCwweDAzLDB4NWMsMHgwMCwweGZmLDB4MDEsMHgzYiwweGMwLDB4MGUsMHhjOCwweDAzLDB4YmYsMHgyMCwweGRmIH19LAotIHsxNiwgMHg5ODUwLCAwLCB7MHgwMCwweDNmLDB4ZDAsMHgwZiwweGMwLDB4MTMsMHhiMCwweDAwLDB4N2MsMHgwMCwweGI3LDB4NDAsMHgwZiwweGYwLDB4MWIsMHhiMCB9fSwKLSB7MTYsIDB4OTg2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDBjLDB4ZDgsMHg0MSwweDMyLDB4YzAgfX0sCi0gezE2LCAweDk4NzAsIDAsIHsweDBlLDB4YjAsMHgwNywweGE4LDB4MDEsMHg2OSwweDQwLDB4YjIsMHhjMCwweDhkLDB4YjAsMHhhMywweGVjLDB4MDgsMHhmMywweDAwIH19LAotIHsxNiwgMHg5ODgwLCAwLCB7MHgzMiwweGMwLDB4MGYsMHg4MCwweDAzLDB4ZWQsMHgwMCwweGZiLDB4NDgsMHgzYSwweGMwLDB4MGQsMHhiMCwweDgzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OTg5MCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4ODAsMHgwZiwweDcwLDB4MjMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4YTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4ODgsMHgwMCwweDIzLDB4YzAsMHgwOCwweGYwLDB4MDYsMHgyYywweDEwLDB4ODgsMHg1MSwweDM3IH19LAotIHsxNiwgMHg5OGIwLCAwLCB7MHhjMCwweDA4LDB4ZjAsMHgwNywweDdkLDB4NjAsMHg4ZiwweDAyLDB4MzcsMHhjMCwweDBiLDB4OGMsMHgwMCwweDJkLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4OThjMCwgMCwgezB4MDAsMHgzOCwweGMwLDB4MDgsMHg4MCwweDgyLDB4MjAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDUwLDB4MGIsMHhmMCwweDAwLDB4MzIgfX0sCi0gezE2LCAweDk4ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDk4LDB4MDAsMHgyOCwweGMwIH19LAotIHsxNiwgMHg5OGUwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHg4NCwweDA0LDB4YTMsMHgwMCwweDAwLDB4YzAsMHg2OCwweDM5LDB4MDYsMHgwYywweDEwLDB4OTMsMHgyMCB9fSwKLSB7MTYsIDB4OThmMCwgMCwgezB4MjIsMHhjMCwweDliLDB4MDEsMHhhMCwweDhmLDB4MTQsMHgzMywweDE0LDB4MjgsMHhjMCwweDA5LDB4M2MsMHgwMiwweDBjLDB4MDEgfX0sCi0gezE2LCAweDk5MDAsIDAsIHsweDkzLDB4NDAsMHgyYywweDg4LDB4MGIsMHgzMCwweDAyLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTEwLCAwLCB7MHg2MCwweDAxLDB4MWUsMHgxMCwweDg3LDB4ODAsMHgyOSwweGUwLDB4MDgsMHg3OCwweDAyLDB4M2UsMHgwMCwweDgzLDB4OTAsMHgyNCB9fSwKLSB7MTYsIDB4OTkyMCwgMCwgezB4ZTAsMHgwOCwweDc4LDB4MTAsMHhjZSwweDA0LDB4MDcsMHg5MSwweDI1LDB4ZTAsMHg4MywweGM5LDB4MDIsMHgxZSwweDA0LDB4YjcgfX0sCi0gezE2LCAweDk5MzAsIDAsIHsweDg0LDB4MmIsMHhhNCwweDA4LDB4NDgsMHg0MiwweDEyLDB4Y2MsMHhiNCwweDgwLDB4MmQsMHg2NCwweDBiLDB4NzgsMHgwMiwweDE5IH19LAotIHsxNiwgMHg5OTQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDJjLDB4MDAsMHhkMCwweDEwLDB4MjgsMHhjOCB9fSwKLSB7MTYsIDB4OTk1MCwgMCwgezB4MGUsMHgzYiwweDAyLDB4ODQsMHgwMCwweGUzLDB4NDAsMHgzMCwweGM4LDB4MGMsMHgzOCwweDYyLDB4OGMsMHgwMCwweDUzLDB4MDAgfX0sCi0gezE2LCAweDk5NjAsIDAsIHsweDMwLDB4YzQsMHgxZiwweDAwLDB4MjMsMHg4YywweDNjLDB4ZjMsMHg4MCwweDE4LDB4YzAsMHgwZCwweDMwLDB4MDMsMHgwZSwweDgwIH19LAotIHsxNiwgMHg5OTcwLCAwLCB7MHhkMywweDEwLDB4M2MsMHg4MCwweDBmLDB4MzAsMHgwMywweDkyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTk4MCwgMCwgezB4NDAsMHgxZCwweGJkLDB4MDAsMHhmOSwweDEyLDB4YjQsMHhjMCwweDA3LDB4YjAsMHgwMywweGNjLDB4MDAsMHg0YSwweDAwLDB4NzcgfX0sCi0gezE2LCAweDk5OTAsIDAsIHsweGMwLDB4MGUsMHg3MSwweDQzLDB4NmMsMHgwMCwweGYzLDB4MDAsMHgzZiwweGQwLDB4MWYsMHhkMCwweDUzLDB4YWMsMHg2OCwweGZiIH19LAotIHsxNiwgMHg5OWEwLCAwLCB7MHgxOCwweDNkLDB4YzAsMHgwZiwweGMwLDB4MTMsMHhmMCwweDUwLDB4ZmMsMHgwNCwweDNmLDB4NDAsMHgwZiwweGY0LDB4MDMsMHg5MCB9fSwKLSB7MTYsIDB4OTliMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDQwLDB4ZjgsMHgwNCwweDNlLDB4ZDIgfX0sCi0gezE2LCAweDk5YzAsIDAsIHsweDBmLDB4YjMsMHgxMywweGUwLDB4MTAsMHhmOSwweDAwLDB4YjIsMHhjYywweDBlLDB4YmEsMHgwMywweDZkLDB4ODAsMHhkYiwweDAyIH19LAotIHsxNiwgMHg5OWQwLCAwLCB7MHgzMiwweGRjLDB4NGYsMHgwMCwweDAzLDB4NmMsMHgwNCwweGYzLDB4MDIsMHgzNiwweDQwLDB4MGUsMHhiMCwweDAzLDB4Y2MsMHgwMCB9fSwKLSB7MTYsIDB4OTllMCwgMCwgezB4NGIsMHgwMCwweDNjLDB4ODAsMHgwYywweGYxLDB4MDMsMHg2MiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5ZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjQsMHgwMCwweDJkLDB4YzksMHgwYiwweDcwLDB4ODIsMHhkYywweDAwLDB4YmMsMHgwNCwweDIxIH19LAotIHsxNiwgMHg5YTAwLCAwLCB7MHhjNCwweDRiLDB4MzcsMHgwMiwweDBjLDB4YTAsMHg4ZiwweDc0LDB4MjEsMHhjMCwweDBiLDB4NDAsMHgwMiwweDFjLDB4ODEsMHhiNyB9fSwKLSB7MTYsIDB4OWExMCwgMCwgezB4MjAsMHgyYiwweGMwLDB4MDgsMHg0MCwweDAyLDB4ZDAsMHgwMiwweDg0LDB4MDAsMHgyZCwweDQwLDB4MGEsMHhmMiwweDAyLDB4MTIgfX0sCi0gezE2LCAweDlhMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI0LDB4YzAsMHgyZCwweGU0IH19LAotIHsxNiwgMHg5YTMwLCAwLCB7MHgwYiwweDdhLDB4MDIsMHhkMiwweDAwLDB4YjUsMHg4OCwweDIxLDB4ZTgsMHgwYSwweDc4LDB4MDIsMHhkZSwweDQwLDB4OTcsMHgwMCB9fSwKLSB7MTYsIDB4OWE0MCwgMCwgezB4MjEsMHhlOCwweDBiLDB4Y2MsMHg0NiwweDVlLDB4MjgsMHhiNywweGM0LDB4MjEsMHhmMCwweDBhLDB4NzgsMHgwMiwweGZlLDB4MDggfX0sCi0gezE2LCAweDlhNTAsIDAsIHsweDk3LDB4ODQsMHgyZCwweGEwLDB4MDgsMHg3OCwweDAyLDB4NzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YTYwLCAwLCB7MHgwOCwweDE0LDB4Y2MsMHgwMCwweGIwLDB4YzAsMHgyYywweGMwLDB4OWIsMHhiMCwweDAyLDB4Y2MsMHgyMCwweGIzLDB4NjAsMHgyMiB9fSwKLSB7MTYsIDB4OWE3MCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMsMHgwMSwweDIwLDB4YzAsMHgxYiwweDA2LDB4MTYsMHg0ZiwweDAwLDB4YjMgfX0sCi0gezE2LCAweDlhODAsIDAsIHsweGEwLDB4MmEsMHhmMCwweDA4LDB4MDAsMHgwMiwweGUwLDB4MDAsMHg5MCwweDAwLDB4MmMsMHg0MCwweDBhLDB4MzAsMHgwMiwweDAyIH19LAotIHsxNiwgMHg5YTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MTAsMHhmZSwweGMwLDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4OWFhMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4ZjksMHgwOCwweGZlLDB4NDAsMHgyMiwweDgwLDB4MGUsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGQyLDB4MDAgfX0sCi0gezE2LCAweDlhYjAsIDAsIHsweDMyLDB4ODAsMHg4ZiwweGUwLDB4MDMsMHg1OCwweDAwLDB4ZjYsMHgwMCwweDMzLDB4YjAsMHgwZSwweDIwLDB4MDIsMHhlOCwweDBjIH19LAotIHsxNiwgMHg5YWMwLCAwLCB7MHhkMiwweDAyLDB4M2MsMHg4MCwweDBjLDB4YTAsMHgwMywweDdhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWFkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDIwLDB4M2UsMHgwMSwweDBiLDB4ODAsMHgwMywweGUwLDB4MDAsMHhmMCwweDQwLDB4M2UgfX0sCi0gezE2LCAweDlhZTAsIDAsIHsweDAwLDB4NTcsMHg4MCwweDIzLDB4MDAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgzMCwweDM4IH19LAotIHsxNiwgMHg5YWYwLCAwLCB7MHgwMCwweDNhLDB4MDgsMHgwZiwweGM0LDB4MDMsMHhmMCwweDAwLDB4ZWMsMHgwMCwweDNmLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OWIwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMSwweDNjLDB4NDggfX0sCi0gezE2LCAweDliMTAsIDAsIHsweDRjLDB4OTAsMHgwYiwweDI0LDB4MDEsMHhjOSwweGMwLDB4MzIsMHg0MCwweGFjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhkOSwweDQwIH19LAotIHsxNiwgMHg5YjIwLCAwLCB7MHgzMCwweDQwLDB4MGQsMHg5YSwweDAzLDB4MjIsMHg4NCwweGM4LDB4MTQsMHgzMiwweDQwLDB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OWIzMCwgMCwgezB4YzksMHgwMCwweDgyLDB4NjgsMHgyYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliNDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MjIsMHgyNCwweDAwLDB4ODksMHgwMiwweDgyIH19LAotIHsxNiwgMHg5YjUwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGU3LDB4NDAsMHg4OSwweDgwLDB4MzYsMHg0MSwweDhkLDB4MTgsMHgwMiwweGEwLDB4MjQsMHhhOCB9fSwKLSB7MTYsIDB4OWI2MCwgMCwgezB4MDQsMHg2MiwweDQwLDB4MDgsMHg5NCwweDgzLDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyMiwweDcyLDB4MDgsMHg5MCwweDBiLDB4MjAgfX0sCi0gezE2LCAweDliNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDAsMHgyYSwweDQwIH19LAotIHsxNiwgMHg5YjgwLCAwLCB7MHgyOCwweDkwLDB4MTIsMHgwNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDIwLDB4OTksMHgwMCB9fSwKLSB7MTYsIDB4OWI5MCwgMCwgezB4MjIsMHg0MCwweDE4LDB4OTAsMHgwNiwweDIwLDB4MDEsMHg4OCwweDA4LDB4NjIsMHg0MCwweDBhLDB4OTAsMHgwMiwweDM0LDB4MTAgfX0sCi0gezE2LCAweDliYTAsIDAsIHsweDhkLDB4ODEsMHgyMywweDQxLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YmIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MDQsMHgyYywweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHgwMiwweDgzLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4OWJjMCwgMCwgezB4NDgsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgwLDB4ODMsMHg2MCwweDI0LDB4NDgsMHgxOSwweDM0LDB4NjIsMHhhNSwweDA0LDB4YTEgfX0sCi0gezE2LCAweDliZDAsIDAsIHsweDAyLDB4NjAsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDU0LDB4MDAsMHg4ZCwweDAwLDB4MjksMHg0MCwweDA4LDB4MTIsMHg4MiwweDAyIH19LAotIHsxNiwgMHg5YmUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4M2EsMHg4MCB9fSwKLSB7MTYsIDB4OWJmMCwgMCwgezB4MGMsMHg4NSwweDAyLDB4MjEsMHg0NCwweDg4LDB4NTAsMHgzMiwweDE0LDB4NGMsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweDljMDAsIDAsIHsweDIyLDB4MTQsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwLDB4YzgsMHgwMCwweGEyLDB4MDAsMHgwZSwweDgwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHg5YzEwLCAwLCB7MHhjOCwweDAwLDB4MzMsMHgwMCwweDBjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWMyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDQsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MTAsMHhmZiwweDEwLDB4M2UgfX0sCi0gezE2LCAweDljMzAsIDAsIHsweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MTAsMHgzZSwweDQ0LDB4MGIsMHhmMCwweDEzLDB4ZTUsMHgxMCwweGY5IH19LAotIHsxNiwgMHg5YzQwLCAwLCB7MHg0MCwweDNmLDB4NGEsMHgyZiwweDkyLDB4OGEsMHhhNCwweGEyLDB4ZjksMHgyOCwweDM2LDB4NDAsMHgwZiwweDkyLDB4ODMsMHhhNiB9fSwKLSB7MTYsIDB4OWM1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhlNiwweGMwLDB4YzEsMHgwMCwweDNmLDB4NjkgfX0sCi0gezE2LCAweDljNjAsIDAsIHsweDBjLDB4OWEsMHg0MywweDZjLDB4MDAsMHhmZCwweGEwLDB4M2UsMHg3OCwweDJjLDB4ZDgsMHgwNywweGQ2LDB4MDIsMHhkNSwweDk2IH19LAotIHsxNiwgMHg5YzcwLCAwLCB7MHgzMiwweDc4LDB4MGQsMHg5MCwweDAzLDB4MjcsMHgwMCwweGZkLDB4YTAsMHgzNSwweDUwLDB4MDYsMHhkNCwweDAzLDB4ZTUsMHgwMCB9fSwKLSB7MTYsIDB4OWM4MCwgMCwgezB4ZmQsMHg0MCwweGIzLDB4NDAsMHgwZiwweDk4LDB4YTMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljOTAsIDAsIHsweDM4LDB4MTAsMHhlMywweGMyLDB4ODgsMHg4OCwweDJlLDB4MTQsMHhhOCwweDhhLDB4YzIsMHgyMiwweGEwLDB4YjgsMHhjMCwweDJjIH19LAotIHsxNiwgMHg5Y2EwLCAwLCB7MHgyNCwweDQ4LDB4ODQsMHgwMiwweGUxLDB4MDAsMHg5OCwweGM0LDB4MjAsMHgzYywweDA4LDB4OGEsMHg4MiwweDIzLDB4ODAsMHhiOCB9fSwKLSB7MTYsIDB4OWNiMCwgMCwgezB4MDQsMHgyMiwweDIwLDB4MDgsMHg4OCwweDAzLDB4YTIsMHgwMCwweGI4LDB4YTAsMHgyMiwweDAwLDB4MGIsMHg4OCwweDAyLDB4MGUgfX0sCi0gezE2LCAweDljYzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweGExLDB4MjAsMHg2YywweDQwIH19LAotIHsxNiwgMHg5Y2QwLCAwLCB7MHgwYSwweDE0LDB4MDIsMHg0NCwweDA0LDB4YTEsMHg2OCwweDJjLDB4NDgsMHgwOCwweDE0LDB4MDIsMHhjNSwweDAwLDB4ODEsMHg2MCB9fSwKLSB7MTYsIDB4OWNlMCwgMCwgezB4MjAsMHg0OCwweDE5LDB4OTAsMHgwMiwweDg1LDB4ODEsMHhiMSwweDQwLDB4MjQsMHg2OCwweDBhLDB4MTIsMHg0MiwweGM0LDB4ODAgfX0sCi0gezE2LCAweDljZjAsIDAsIHsweGI5LDB4MjAsMHgyMCwweDQwLDB4OGIsMHgxMCwweDgyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDAwLCAwLCB7MHgxOCwweDA1LDB4YTQsMHgxMCwweGE5LDB4MDAsMHg2ZSwweGMwLDB4MGEsMHgxMCwweDAyLDB4MjQsMHgxNCwweGI5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OWQxMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MTIsMHhlNCwweDAwLDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDgwLDB4MDYsMHhhMCwweDYwLDB4YjkgfX0sCi0gezE2LCAweDlkMjAsIDAsIHsweDA5LDB4MjIsMHg2MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHhiOSwweDAwLDB4MDIsMHg0MCwweDBiLDB4MTAsMHgwNiwweDA2IH19LAotIHsxNiwgMHg5ZDMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHhlOSwweDgwLDB4M2UsMHg0MSB9fSwKLSB7MTYsIDB4OWQ0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4NjQsMHgwMCwweGU5LDB4YzAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGM5LDB4MDAgfX0sCi0gezE2LCAweDlkNTAsIDAsIHsweDIyLDB4NDEsMHgwZCwweDgwLDB4MDIsMHhhMywweDA0LDB4ZjEsMHg0MCwweDM2LDB4NDAsMHgwZSwweDkwLDB4MDIsMHhlNCwweDAwIH19LAotIHsxNiwgMHg5ZDYwLCAwLCB7MHhmMSwweDAwLDB4MTIsMHg0MCwweDBmLDB4OTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQ3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhkOSwweDIyLDB4M2UsMHg0MiwweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhiOSwweGM0LDB4M2MgfX0sCi0gezE2LCAweDlkODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDIsMHhhZSwweDQwLDB4MGYsMHg4MCwweDRiLDB4NjIsMHgxMCwweGY5IH19LAotIHsxNiwgMHg5ZDkwLCAwLCB7MHgyMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMiwweDdlLDB4NDEsMHgwZiwweDkwLDB4MTMsMHhjYSB9fSwKLSB7MTYsIDB4OWRhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHg4MCwweDAwLDB4YzgsMHgwMCwweDM4LDB4MDAgfX0sCi0gezE2LCAweDlkYjAsIDAsIHsweDBmLDB4ODAsMHgyMCwweGUwLDB4MDAsMHhhOCwweDIwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwNywweGUwLDB4ODAsMHhjOCwweDAwIH19LAotIHsxNiwgMHg5ZGMwLCAwLCB7MHgzOCwweDAwLDB4MGQsMHg4MCwweDgzLDB4MjEsMHgxMCwweGY4LDB4NjAsMHgzMiwweDAwLDB4OGUsMHg4MCwweGIzLDB4MjAsMHgwOCB9fSwKLSB7MTYsIDB4OWRkMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4OGEsMHgwMCwweDMzLDB4OTAsMHg0MywweGEwLDB4MjIsMHgyOCwweDAwLDB4OGUsMHg4MCwweDc2IH19LAotIHsxNiwgMHg5ZGYwLCAwLCB7MHg4MCwweDA4LDB4ZTEsMHgwMywweDE5LDB4MDAsMHg4NiwweDgwLDB4MjIsMHg4MCwweDBkLDB4NjAsMHgwMSwweDc4LDB4MDAsMHhiZSB9fSwKLSB7MTYsIDB4OWUwMCwgMCwgezB4MDAsMHgzNiwweDgwLDB4MGMsMHhlNCwweDAyLDB4YTgsMHgxMCwweGJlLDB4YTAsMHgyZiwweDgwLDB4MGQsMHhhMCwweDAyLDB4MGEgfX0sCi0gezE2LCAweDllMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDExLDB4NGMsMHgwNCwweDAzLDB4MDQsMHgyYywweGQ0IH19LAotIHsxNiwgMHg5ZTIwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHg0YywweDAxLDB4YTMsMHhjNCwweDIwLDB4YzAsMHgyOCwweDM1LDB4MDIsMHg4NiwweDAwLDB4ODMsMHg4MCB9fSwKLSB7MTYsIDB4OWUzMCwgMCwgezB4MjgsMHhjMCwweDA4LDB4MzgsMHgwNiwweDBlLDB4OTQsMHgzMCwweGMwLDB4YTIsMHhjMCwweDBiLDB4M2MsMHgwMiwweDBjLDB4MDAgfX0sCi0gezE2LCAweDllNDAsIDAsIHsweGIzLDB4ODAsMHgyYywweDQ4LDB4MDgsMHgzMCwweDAyLDB4OGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZTUwLCAwLCB7MHhhMCwweDAxLDB4MGMsMHgwNCwweDhmLDB4ODAsMHgyMSwweGMxLDB4MWIsMHg3MiwweDQyLDB4MWUsMHhjMCwweDgzLDB4ODgsMHgyMSB9fSwKLSB7MTYsIDB4OWU2MCwgMCwgezB4YzAsMHgxOCwweDI4LDB4MDYsMHgxMCwweDIxLDB4ODYsMHgzOCwweDIxLDB4YzAsMHgxOSwweGY3LDB4MDIsMHg1ZCwweGMwLDB4YjQgfX0sCi0gezE2LCAweDllNzAsIDAsIHsweDQxLDB4MjcsMHhkMCwweDA4LDB4NzgsMHhjNiwweDljLDB4MDAsMHhiNywweDAwLDB4MmYsMHg2MCwweDA5LDB4NzIsMHgwMiwweDI4IH19LAotIHsxNiwgMHg5ZTgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDIsMHhjNywweDgwLDB4MmQsMHhhMCB9fSwKLSB7MTYsIDB4OWU5MCwgMCwgezB4MGYsMHgzZSwweDAzLDB4ZmUsMHg4MCwweGE3LDB4ODAsMHhhMSwweGUwLDB4MGMsMHg3OCwweDAyLDB4OTQsMHgwMCwweDg1LDB4YTAgfX0sCi0gezE2LCAweDllYTAsIDAsIHsweDM5LDB4ZTQsMHgwYywweDc4LDB4MTMsMHgxZSwweDkwLDB4YjUsMHg4NCwweDMxLDB4ZTAsMHgwZiwweGY4LDB4ODcsMHgxZSwweDA0IH19LAotIHsxNiwgMHg5ZWIwLCAwLCB7MHhmNywweDgwLDB4M2QsMHg2MCwweDBjLDB4M2IsMHgwMywweGFhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWVjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4ZTQsMHhmYiwweDU0LDB4M2UsMHg4MCwweDBmLDB4YjQsMHgyMywweGVjLDB4MzIsMHhmYiwweDAwLDB4M2UgfX0sCi0gezE2LCAweDllZDAsIDAsIHsweGQ4LDB4NGYsMHhhMCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweGMwLDB4MGYsMHgzMCwweDMzLDB4ZWMsMHgwNCwweGYyIH19LAotIHsxNiwgMHg5ZWUwLCAwLCB7MHgwMSwweDNlLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhmZSwweDEwLDB4ZmIsMHg2OCwweDNjLDB4NDEsMHgwZiwweGYwLDB4NDMsMHg4MiB9fSwKLSB7MTYsIDB4OWVmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4Y2YsMHhlNCwweDNmLDB4ZTQgfX0sCi0gezE2LCAweDlmMDAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDdlLDB4ODAsMHhjZiwweDgxLDB4MzMsMHhmYSwweDBmLDB4ZjgsMHgwMywweGY2LDB4MDAsMHhmZiwweDgwIH19LAotIHsxNiwgMHg5ZjEwLCAwLCB7MHgzZiwweGUyLDB4MGYsMHg3OSwweDAzLDB4M2UsMHg0MCwweGY0LDB4ODAsMHgzMywweDYwLDB4MGMsMHhlOCwweDAzLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4OWYyMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4NjAsMHgwYywweGY4LDB4ODMsMHg1MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZDcsMHhhMCwweDJkLDB4YzQsMHgwOCwweGJhLDB4MDIsMHgzYywweGEwLDB4ODcsMHgyMCwweDIxIH19LAotIHsxNiwgMHg5ZjQwLCAwLCB7MHhjMCwweDBmLDB4NTIsMHgwMywweGQ0LDB4MDAsMHhiNiwweDEwLDB4MmQsMHhjMCwweDhiLDB4NzMsMHgwMywweDVjLDB4NDAsMHhiNCB9fSwKLSB7MTYsIDB4OWY1MCwgMCwgezB4YjAsMHgyYiwweDQ4LDB4MjgsMHg0MSwweDAyLDB4MGMsMHgwMCwweGJmLDB4MTgsMHgzNSwweDQ2LDB4MjgsMHg3MiwweDQyLDB4MmEgfX0sCi0gezE2LCAweDlmNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4OWMsMHgwMCwweDg3LDB4NDEsMHgyZCwweDQ0IH19LAotIHsxNiwgMHg5ZjcwLCAwLCB7MHgwYSwweDczLDB4MDIsMHg5YywweGM0LDB4ODEsMHgwMCwweDZkLDB4YzgsMHg4YiwweDcwLDB4MDIsMHhkNCwweDAwLDB4YjcsMHgwMCB9fSwKLSB7MTYsIDB4OWY4MCwgMCwgezB4MmQsMHhjMCwweDBiLDB4ZjAsMHg0NiwweDljLDB4NTUsMHhiNCwweDIwLDB4MjUsMHg0MCwweDE4LDB4NjAsMHg4MiwweDFjLDB4MDAgfX0sCi0gezE2LCAweDlmOTAsIDAsIHsweGI3LDB4MDAsMHgyMywweDQwLDB4MDgsMHg3MCwweDQ2LDB4NDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZmEwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyYywweDQwLDB4MGIsMHhiMCwweDAyLDB4MGMsMHg4MiwweDgwLDB4YzAsMHgyMCB9fSwKLSB7MTYsIDB4OWZiMCwgMCwgezB4YzAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgxYiwweDMwLDB4MDAsMHhjZCwweDAxLDB4YjAgfX0sCi0gezE2LCAweDlmYzAsIDAsIHsweDQwLDB4YWMsMHg3OCwweDg4LDB4OGMsMHgwNiwweDBkLDB4NjAsMHhiMywweDRjLDB4MjQsMHgxMiwweDA4LDB4MzAsMHgwYSwweDE4IH19LAotIHsxNiwgMHg5ZmQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgxNSwweGJjLDB4MDAsMHhjNywweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4OWZlMCwgMCwgezB4MGUsMHhmMCwweDJhLDB4YmYsMHgwMCwweGM4LDB4YzgsMHhiZiwweGMwLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwNCwweGJmLDB4MDAgfX0sCi0gezE2LCAweDlmZjAsIDAsIHsweDNmLDB4YzAsMHgwZiwweGIyLDB4MGEsMHhhYywweDAwLDB4ZjgsMHg4MCwweDM0LDB4NDksMHgwYywweGI5LDB4MGIsMHgzZiwweDAwIH19LAotIHsxNiwgMHhhMDAwLCAwLCB7MHhmYiwweGMwLDB4MzAsMHhmMCwweDBjLDB4ZjAsMHgwMywweDZlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTAxMCwgMCwgezB4ODAsMHgwMCwweGNjLDB4MDAsMHhmYiwweDgwLDB4M2UsMHg0MSwweDJjLDB4YjAsMHgxMywweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UgfX0sCi0gezE2LCAweGEwMjAsIDAsIHsweGMxLDB4MGYsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4NDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDBiLDB4NmQsMHg0MCwweGY4IH19LAotIHsxNiwgMHhhMDMwLCAwLCB7MHgxMCwweDNhLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhlYywweDEwLDB4ZmUsMHg0MCwweDNlLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlMSB9fSwKLSB7MTYsIDB4YTA0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhlYywweDBjLDB4ZGYsMHgwMCwweDNiLDB4ODAgfX0sCi0gezE2LCAweGEwNTAsIDAsIHsweDBmLDB4ZjAsMHgwYiwweDNjLDB4MDgsMHhlNywweDA4LDB4MzMsMHhjMCwweDBiLDB4ZDAsMHgyMywweDc0LDB4MDAsMHg1NCwweDAwIH19LAotIHsxNiwgMHhhMDYwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhmMCwweDgzLDB4YmUsMHgyMCwweGZkLDB4MGMsMHgzYiwweDYwLDB4MmMsMHhlMCwweDAzLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4YTA3MCwgMCwgezB4Y2YsMHgxMiwweDMzLDB4NTAsMHgwYywweDMwLDB4MDMsMHg4MCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDA0LDB4YWIsMHgwMCwweDIyLDB4YTAsMHgwYiwweGIwLDB4MDYsMHgwYywweDAwLDB4YWIsMHg0MCwweDM2IH19LAotIHsxNiwgMHhhMDkwLCAwLCB7MHhjMCwweDBiLDB4YTgsMHgwMiwweDY2LDB4MDAsMHhiOCwweDAwLDB4MzYsMHhjMSwweDBiLDB4MzQsMHg0MywweGVlLDB4MDAsMHhiMiB9fSwKLSB7MTYsIDB4YTBhMCwgMCwgezB4MDAsMHgyMiwweDYwLDB4MDgsMHhiNCwweDgyLDB4OGMsMHgwNCwweDhhLDB4MjEsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGEwYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4MDAsMHgyYSwweDIwIH19LAotIHsxNiwgMHhhMGMwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4ODgsMHhjNSwweDIyLDB4YzAsMHgwYiwweDg4LDB4ODIsMHhlNiwweDAxLDB4YmIsMHgwOCB9fSwKLSB7MTYsIDB4YTBkMCwgMCwgezB4MjIsMHhjMCwweDBhLDB4YjIsMHg4MiwweGFjLDB4NjAsMHhiOCwweDAyLDB4NGEsMHhjNCwweDA4LDB4YjEsMHgwMiwweDJjLDB4MDAgfX0sCi0gezE2LCAweGEwZTAsIDAsIHsweDgzLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMGYwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGFiLDB4MjAsMHgyMCwweDAxLDB4MGIsMHgzMiwweDA2LDB4MmMsMHgwMCwweGEwLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YTEwMCwgMCwgezB4YzAsMHgwOSwweDA0LDB4MjIsMHhjNCwweDAwLDB4YjIsMHgwMCwweDI0LDB4YzEsMHg4YiwweGIwLDB4MDIsMHg0YywweDAwLDB4YjAgfX0sCi0gezE2LCAweGExMTAsIDAsIHsweDAwLDB4NjIsMHhjMCwweDQ4LDB4MzAsMHgwMiwweGFjLDB4MTAsMHg4MiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDAyIH19LAotIHsxNiwgMHhhMTIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDgsMHhkZiwweDJhLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4YTEzMCwgMCwgezB4MGYsMHhmNSwweDEyLDB4M2MsMHgxMCwweGM5LDB4MDAsMHhhMywweGMwLDB4MGYsMHg4MCwweDUzLDB4ZWMsMHgwMSwweGRhLDB4MDAgfX0sCi0gezE2LCAweGExNDAsIDAsIHsweDMzLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhhYywweDA0LDB4ZjgsMHg3MCwweDNhLDB4YzAsMHgwYywweDYwLDB4NDMsMHgyYywweDQyIH19LAotIHsxNiwgMHhhMTUwLCAwLCB7MHhjZCwweDAwLDB4YjIsMHg0MCwweDJjLDB4ZjAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTE2MCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmYiwweDAxLDB4M2QsMHgwMCwweDBmLDB4YjQsMHgxNywweGZjLDB4MDAsMHgzYywweDAwLDB4M2YgfX0sCi0gezE2LCAweGExNzAsIDAsIHsweGMwLDB4NGYsMHhjMCwweDAzLDB4NzQsMHgwOCwweGZlLDB4MDAsMHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4ZmMsMHgwOCwweGY4IH19LAotIHsxNiwgMHhhMTgwLCAwLCB7MHgzMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDA0LDB4ZmMsMHgwMCwweDNkLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4YTE5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNCwweDkwLDB4ZWYsMHgwMCwweDNmLDB4ZDggfX0sCi0gezE2LCAweGExYTAsIDAsIHsweDBlLDB4ZjMsMHgwMywweDJjLDB4MDEsMHhkNCwweDgwLDB4MzcsMHhjYywweDBkLDB4ODksMHg0MywweDEyLDB4NTAsMHhlYywweDJjIH19LAotIHsxNiwgMHhhMWIwLCAwLCB7MHgzMiwweDA1LDB4MGQsMHhiMCwweDUzLDB4M2MsMHhkNCwweGM1LDB4OTQsMHg3ZiwweGEwLDB4OGYsMHhmMCwweDQzLDB4MzAsMHgwMCB9fSwKLSB7MTYsIDB4YTFjMCwgMCwgezB4ZGMsMHgwMCwweDMzLDB4MDAsMHgwYywweDQ4LDB4MDcsMHhmMCwweDAwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExZDAsIDAsIHsweDgwLDB4MTAsMHhlNiwweDQwLDB4OGIsMHg3MCwweDJmLDB4ZGMsMHgwOCwweGY3LDB4MDIsMHgwYywweDgwLDB4OGEsMHgyMCwweDAwIH19LAotIHsxNiwgMHhhMWUwLCAwLCB7MHhjOCwweDRhLDB4MjIsMHgwMiwweGEwLDB4MDAsMHg4YSwweDQ4LDB4MjIsMHg1OCwweDg4LDB4ZmQsMHgwMiwweGFkLDB4MDIsMHhhOSB9fSwKLSB7MTYsIDB4YTFmMCwgMCwgezB4MjAsMHgxZSwweGEwLDB4MDMsMHg4MCwweDAyLDB4MmMsMHgwNCwweDhiLDB4MDAsMHgyMiwweGMwLDB4NGMsMHg4OCwweDA3LDB4NjAgfX0sCi0gezE2LCAweGEyMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHgwMCwweDIzLDB4MmMsMHgyYywweGM5IH19LAotIHsxNiwgMHhhMjEwLCAwLCB7MHgwMiwweDMwLDB4MDIsMHgwYywweDY4LDB4YTAsMHgyOCwweDJjLDB4ZDAsMHgwOSwweDEyLDB4MDIsMHg4NCwweDAwLDB4YTAsMHgyMSB9fSwKLSB7MTYsIDB4YTIyMCwgMCwgezB4MjAsMHgxOCwweDE5LDB4MzAsMHgyMiwweDgwLDB4ZDAsMHg4MywweDA2LDB4MGMsMHhhMCwweDBiLDB4YjAsMHgwNiwweDAwLDB4MTIgfX0sCi0gezE2LCAweGEyMzAsIDAsIHsweGEwLDB4MDAsMHgyMCwweDAwLDB4MjksMHgwMCwweDBlLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMjQwLCAwLCB7MHhjMCwweDExLDB4YTgsMHgzMCwweDhiLDB4MDAsMHgyZSwweGMwLDB4NGEsMHgzMCwweDBhLDB4MmMsMHgxNCwweGEwLDB4ODAsMHgwYSB9fSwKLSB7MTYsIDB4YTI1MCwgMCwgezB4YzEsMHgwOCwweDg4LDB4ODYsMHg4NywweDAwLDB4ODMsMHgwMCwweDIyLDB4NDksMHgwOCwweGIwLDB4MDYsMHhhMCwweDQwLDB4YWIgfX0sCi0gezE2LCAweGEyNjAsIDAsIHsweDIwLDB4MjIsMHgyMCwweDBiLDB4ODAsMHgwYSwweDBjLDB4MDQsMHhhYiwweDAyLDB4MjIsMHhjMCwweDg4LDB4ODAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhhMjcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVmLDB4NDAsMHhlYiwweDA2LDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4YTI4MCwgMCwgezB4MGUsMHhiMCwweDAzLDB4MmMsMHgwMiwweGY5LDB4YTAsMHgzZSwweGMwLDB4MGQsMHg4YywweDAzLDB4YWEsMHgxMCwweGU5LDB4NDAgfX0sCi0gezE2LCAweGEyOTAsIDAsIHsweGIyLDB4NDgsMHgwZCwweGIwLDB4NDMsMHhhZCwweDAwLDB4Y2IsMHg4NiwweDJlLDB4MjAsMHgwZiwweDMwLDB4MDMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhMmEwLCAwLCB7MHhmOSwweDgwLDB4MzIsMHhjMCwweDBkLDB4MGMsMHhjMiwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTJiMCwgMCwgezB4ZTAsMHgwMSwweDk0LDB4MDAsMHhmZiwweDAwLDB4M2QsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhkZiwweDAwLDB4MzcgfX0sCi0gezE2LCAweGEyYzAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDAzLDB4ZjAsMHgwMCwweGZlLDB4MjAsMHgzZiwweDQwLDB4MGYsMHg3MCwweDAzLDB4ZmUsMHgwMCwweGZmIH19LAotIHsxNiwgMHhhMmQwLCAwLCB7MHg4MiwweDdmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmOSwweDA0LDB4ZGUsMHgyMCwweGJkLDB4MDAsMHgwZiwweGQ5LDB4MGIsMHg3YyB9fSwKLSB7MTYsIDB4YTJlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4Y2IsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGEyZjAsIDAsIHsweDJjLDB4YjAsMHgwYiwweDJjLDB4MDAsMHhlOCwweDQwLDB4M2UsMHhjMCwweDBmLDB4OTQsMHgwNywweDI5LDB4MDAsMHhjOSwweDQwIH19LAotIHsxNiwgMHhhMzAwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4MDEsMHgwMiwweGNiLDB4MDAsMHgzMiwweDA0LDB4NGYsMHhmMCwweDQzLDB4MzQsMHhjMCB9fSwKLSB7MTYsIDB4YTMxMCwgMCwgezB4YjUsMHgxYSwweDNmLDB4YzEsMHgwZiwweDgwLDB4OTMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzMjAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDAwLDB4OGYsMHgwMCwweDJmLDB4YzAsMHgwOCwweGYwLDB4MDIsMHgzYywweDA0LDB4ZDgsMHgwMCwweDJiIH19LAotIHsxNiwgMHhhMzMwLCAwLCB7MHhjMCwweDBjLDB4ODAsMHg0NSwweDYwLDB4MDAsMHg3YiwweDU4LDB4MjIsMHhjOCwweDBiLDB4ZmEsMHgwMSwweDYxLDB4NDAsMHg4YiB9fSwKLSB7MTYsIDB4YTM0MCwgMCwgezB4MDAsMHgzMiwweDA0LDB4NGIsMHhjZSwweDAyLDB4MjgsMHgwMCwweDNhLDB4NDAsMHgyZSwweDA3LDB4MGIsMHg5MCwweDAyLDB4MjYgfX0sCi0gezE2LCAweGEzNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDEsMHg0YywweGMwIH19LAotIHsxNiwgMHhhMzYwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHhlYywweDEwLDB4OTAsMHgwMCwweDJhLDB4YzAsMHgwYSwweDgwLDB4MDYsMHhjMCwweDA0LDB4ODMsMHgwNCB9fSwKLSB7MTYsIDB4YTM3MCwgMCwgezB4YTIsMHg4OSwweDE5LDB4MzAsMHgwNiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjAsMHg5MCwweDBiLDB4MzAsMHhjMiwweDQ4LDB4MDAgfX0sCi0gezE2LCAweGEzODAsIDAsIHsweGIyLDB4NDAsMHgyNCwweDIwLDB4MGIsMHgwOSwweDAwLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMzkwLCAwLCB7MHgyMCwweDAxLDB4MDYsMHgwNCwweDg3LDB4YTQsMHgyZCwweGUwLDB4MDksMHgzOCwweDAyLDB4ZGUsMHgwMCwweDllLDB4ODEsMHgyOSB9fSwKLSB7MTYsIDB4YTNhMCwgMCwgezB4ZTAsMHgwOCwweDc4LDB4NTIsMHhmYSwweGMwLDB4OTYsMHg4MCwweDAxLDB4YTAsMHg4YiwweDNhLDB4MjIsMHhjZSwweDQwLDB4OGYgfX0sCi0gezE2LCAweGEzYjAsIDAsIHsweGIwLDB4MjUsMHhhMCwweDBiLDB4MDgsMHgwMiwweDU2LDB4MDgsMHhiNSwweDkwLDB4MmQsMHhlNCwweDRiLDB4ZDgsMHgyMiwweDBjIH19LAotIHsxNiwgMHhhM2MwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDIsMHg4MywweDgwLDB4MmUsMHhlOCB9fSwKLSB7MTYsIDB4YTNkMCwgMCwgezB4MGIsMHgzOCwweDEzLDB4Y2UsMHg0MSwweGQzLDB4MTAsMHgyOCwweGMwLDB4MGUsMHgzYSwweDAyLDB4YzYsMHgwOCwweDRiLDB4NDAgfX0sCi0gezE2LCAweGEzZTAsIDAsIHsweDMwLDB4NjAsMHgwZCwweDNiLDB4MjcsMHhjZiwweGM0LDB4YzMsMHhhMCwweDMwLDB4MDAsMHgwZiwweDMwLDB4NDMsMHg0OCwweDQwIH19LAotIHsxNiwgMHhhM2YwLCAwLCB7MHhmMiwweDAwLDB4M2MsMHgwNCwweDBmLDB4MDIsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQwMCwgMCwgezB4NDAsMHgxZCwweGI4LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjNCwweDBlLDB4ZjEsMHgwMywweDNjLDB4MDAsMHhmZiwweDAxLDB4MzMgfX0sCi0gezE2LCAweGE0MTAsIDAsIHsweGMwLDB4NGQsMHhiMSwweDA3LDB4N2MsMHg5MCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MDMsMHhmMSwweDAzLDB4NzAsMHgwMCwweGZiIH19LAotIHsxNiwgMHhhNDIwLCAwLCB7MHgxMCwweDNiLDB4MDAsMHgwZiwweGMwLDB4MGIsMHhiNCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4YzQsMHgwZiwweGQwLDB4MDMsMHg5MCB9fSwKLSB7MTYsIDB4YTQzMCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDA0LDB4ZmIsMHg4NCwweDNhLDB4YzIgfX0sCi0gezE2LCAweGE0NDAsIDAsIHsweDRjLDB4YjQsMHg5MywweDJjLDB4MDQsMHhlOSwweDAwLDB4M2EsMHhjNCwweDhkLDB4MDgsMHgwMywweDJlLDB4MDAsMHhjYiwweDAxIH19LAotIHsxNiwgMHhhNDUwLCAwLCB7MHgzMiwweDgwLDB4OGYsMHhiMiwweDgzLDB4ZWMsMHgwMCwweGNiLDB4ODAsMHgzMiwweDAwLDB4MGYsMHhmOSwweDAzLDB4M2MsMHgxMCB9fSwKLSB7MTYsIDB4YTQ2MCwgMCwgezB4ZGYsMHg4MSwweGIzLDB4ZTAsMHg4YywweGEwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0NzAsIDAsIHsweDQ4LDB4MTEsMHg5NCwweDA4LDB4YjcsMHgwNCwweDI0LDB4YzgsMHgxYSwweDMwLDB4NGEsMHgxZCwweDAwLDB4YjcsMHgwMSwweDJkIH19LAotIHsxNiwgMHhhNDgwLCAwLCB7MHhjMCwweDg4LDB4NzAsMHgwNiwweDFjLDB4MDAsMHg4MiwweDAwLDB4MjEsMHg4MCwweDRiLDB4NzYsMHgxMiwweGRjLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4YTQ5MCwgMCwgezB4MDAsMHgyOSwweDQwLDB4OGIsMHg0MCwweDAyLDB4MTAsMHgwMCwweGJjLDB4MDAsMHgyMCwweDAxLDB4MjgsMHg3MCwweDAzLDB4YjIgfX0sCi0gezE2LCAweGE0YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgwMCwweGIzLDB4OTAsMHgyZCwweGU0IH19LAotIHsxNiwgMHhhNGIwLCAwLCB7MHgwOSwweDc5LDB4MDIsMHgxZSwweDgwLDB4YTcsMHg4MCwweDJjLDB4ZTgsMHgxOSwweGY4LDB4MTIsMHg1ZSwweDAxLDB4ODcsMHg4MCB9fSwKLSB7MTYsIDB4YTRjMCwgMCwgezB4MjUsMHhlMCwweDRiLDB4NzgsMHgwNiwweGQyLDB4MDAsMHg5NywweDgwLDB4MjEsMHg2MiwweDBiLDB4M2EsMHgwMiwweDFlLDB4MDAgfX0sCi0gezE2LCAweGE0ZDAsIDAsIHsweGI3LDB4ODYsMHgyOSwweGYwLDB4MDgsMHg2OCwweDA2LDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNGUwLCAwLCB7MHg0OCwweDE0LDB4Y2YsMHhjMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4OGEsMHgzMCwweDMyLDB4MGMsMHgwMCwweGIzLDB4MDgsMHgyYyB9fSwKLSB7MTYsIDB4YTRmMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MTIsMHgwZSwweDIwLDB4ODMsMHgwMCwweDI0LDB4ZjEsMHgwYiwweDMwLDB4MDYsMHhjZSwweDAwLDB4ODMgfX0sCi0gezE2LCAweGE1MDAsIDAsIHsweDkwLDB4MjgsMHg2MCwweDBiLDB4MDAsMHgyYSwweDIxLDB4ODAsMHhiMCwweDA4LDB4MjgsMHgwMCwweDA4LDB4MzcsMHgwMiwweDkyIH19LAotIHsxNiwgMHhhNTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4MDAsMHhmYSwweDAwLDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4YTUyMCwgMCwgezB4NGQsMHhhMCwweDAzLDB4MjgsMHgwMCwweGVlLDB4NDEsMHgzZSwweDgwLDB4MGQsMHhlMCwweDAzLDB4NzgsMHgwMCwweDhlLDB4NDAgfX0sCi0gezE2LCAweGE1MzAsIDAsIHsweDI3LDB4YTgsMHgwYiwweGEwLDB4MDMsMHhmYiwweDAyLDB4Y2EsMHg4MiwweDMzLDB4YTAsMHgwZiwweGEwLDB4MTMsMHgyOSwweDAwIH19LAotIHsxNiwgMHhhNTQwLCAwLCB7MHhmYSwweDQwLDB4M2EsMHg4MCwweDBjLDB4NmMsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTU1MCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDAsMHhmOCwweDAwLDB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDgsMHhmOCwweDAwLDB4M2UgfX0sCi0gezE2LCAweGE1NjAsIDAsIHsweDAwLDB4OGYsMHg4MCwweDIzLDB4YTAsMHg0MiwweGY4LDB4MDksMHhiYSwweDEwLDB4NGYsMHg4MCwweDAzLDB4ZTAsMHg2MCwweGY4IH19LAotIHsxNiwgMHhhNTcwLCAwLCB7MHgwMCwweDNlLDB4MjAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDI3LDB4MDAsMHg4ZiwweDgwLDB4MDMsMHg5MiB9fSwKLSB7MTYsIDB4YTU4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNSwweDAwLDB4ODksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGE1OTAsIDAsIHsweDZlLDB4OTAsMHgwMywweGE0LDB4MDgsMHhjOSwweDAwLDB4M2MsMHg0MCwweDBkLDB4OTAsMHgwMywweDI0LDB4MTAsMHhmOSwweGEwIH19LAotIHsxNiwgMHhhNWEwLCAwLCB7MHgzMiwweDQyLDB4MGMsMHg5MCwweDEzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg0MCB9fSwKLSB7MTYsIDB4YTViMCwgMCwgezB4YzksMHgyMCwweDNlLDB4NTIsMHhjZiwweDkwLDB4MDksMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1YzAsIDAsIHsweDgwLDB4MDQsMHg2NiwweDAwLDB4ODksMHgwNCwweDJlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ZDksMHgwMCwweDNhIH19LAotIHsxNiwgMHhhNWQwLCAwLCB7MHg0MSwweDA4LDB4OTAsMHgwNSwweGE0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg0MCwweDBkLDB4OTAsMHgwMiwweGU1LDB4NDYsMHg4OSB9fSwKLSB7MTYsIDB4YTVlMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDEyLDB4ZTUsMHgwMCwweGE5LDB4YzgsMHgyZSwweDYxLDB4OGIsMHg5NCwweDQyLDB4MjAgfX0sCi0gezE2LCAweGE1ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGE5LDB4MDAsMHg2YywweDQwIH19LAotIHsxNiwgMHhhNjAwLCAwLCB7MHg0OCwweDEwLDB4MjIsMHg4NCwweDAzLDB4YTksMHgwMCwweDJlLDB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDA0LDB4YjEsMHgwOCB9fSwKLSB7MTYsIDB4YTYxMCwgMCwgezB4MjgsMHg0MCwweDE4LDB4OTgsMHgwMiwweGU1LDB4MDAsMHg4OSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweGY0LDB4MjAgfX0sCi0gezE2LCAweGE2MjAsIDAsIHsweDhkLDB4MDAsMHgyZiwweDQwLDB4MGIsMHg5NCwweDQyLDB4ODYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNjMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGExLDB4MjQsMHgyYywweDQ4LDB4MTgsMHgxMiwweDAyLDB4MDQsMHg4MCwweGExLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4YTY0MCwgMCwgezB4NDgsMHgwOCwweDEwLDB4MDIsMHg4NCwweDAwLDB4OTEsMHgyMCwweDIwLDB4NDgsMHgwOSwweDEyLDB4MDIsMHhjNCwweDk0LDB4ODEgfX0sCi0gezE2LCAweGE2NTAsIDAsIHsweDAwLDB4MmMsMHg2MSwweDBiLDB4NWEsMHg4MiwweGQ0LDB4YTAsMHhhNSwweDI4LDB4MmQsMHg0YSwweDBiLDB4OTAsMHgwMiwweDgyIH19LAotIHsxNiwgMHhhNjYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDIsMHhlOCwweDUwLDB4MmUsMHgxNCB9fSwKLSB7MTYsIDB4YTY3MCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTEsMHg0MCwweGE4LDB4NTAsMHgzZSwweDE0LDB4MGQsMHg4NSwweDAxLDB4ODEsMHg0MCwweGY4LDB4NTIgfX0sCi0gezE2LCAweGE2ODAsIDAsIHsweDMyLDB4OTQsMHgwYywweDgwLDB4MTMsMHhjMSwweDQyLDB4YzAsMHg1MSwweDNlLDB4MDAsMHg4ZiwweDgyLDB4MDMsMHhlMCwweDgwIH19LAotIHsxNiwgMHhhNjkwLCAwLCB7MHhjOCwweDIwLDB4M2YsMHgwOCwweDBmLDB4ODAsMHgwMywweGFlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTZhMCwgMCwgezB4OTgsMHgxOSwweGY0LDB4NTAsMHhkOSwweDExLDB4M2UsMHg0NCwweDhmLDB4OTEsMHg0MywweGU0LDB4NDAsMHhkZCwweDAwLDB4M2EgfX0sCi0gezE2LCAweGE2YjAsIDAsIHsweDQ0LDB4NGYsMHhkMCwweDI3LDB4YjQsMHgwMCwweGZkLDB4MTIsMHgzZiwweDQ0LDB4NGYsMHg5MSwweDQzLDB4ZjQsMHg0MCwweGZkIH19LAotIHsxNiwgMHhhNmMwLCAwLCB7MHgwMCwweDNmLDB4NDEsMHgwZiwweDkyLDB4ODMsMHhlNCwweGEwLDB4ZjksMHgyOCwweDNlLDB4NGEsMHgwZiwweGQwLDB4MDMsMHg2NiB9fSwKLSB7MTYsIDB4YTZkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTEsMHhmNiwweDgwLDB4ZTksMHhjMCwweDNlLDB4NzggfX0sCi0gezE2LCAweGE2ZTAsIDAsIHsweDhmLDB4OWIsMHgwMywweGE3LDB4ODAsMHhjOSwweDQwLDB4MzYsMHg3OCwweDBmLDB4MTAsMHgyMywweGU1LDB4MDQsMHhkZCwweGE0IH19LAotIHsxNiwgMHhhNmYwLCAwLCB7MHgzMywweDYyLDB4MGYsMHhkYSwweDAzLDB4ZjYsMHg2MCwweGM5LDB4MTAsMHgzMywweDQwLDB4MGUsMHg5OCwweDkzLDB4ZTYsMHgzMCB9fSwKLSB7MTYsIDB4YTcwMCwgMCwgezB4YzksMHhjOSwweDMyLDB4NzgsMHg4YywweGQwLDB4MGIsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3MTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4ODgsMHhlMiwweDJlLDB4MzAsMHgwYiwweDg4LDB4NDIsMHgyMywweDQwLDB4YTAsMHhhMSwweDIyIH19LAotIHsxNiwgMHhhNzIwLCAwLCB7MHgzOCwweDBiLDB4OGEsMHgwMiwweGUyLDB4ODAsMHhhYSwweGUwLDB4MjIsMHgzMCwweDBiLDB4ODAsMHgyMywweGFiLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4YTczMCwgMCwgezB4YTAsMHgyYSwweDAwLDB4MGIsMHg4YywweDAyLDB4ZTMsMHgwMCwweDg4LDB4ZTAsMHgyMywweDM4LDB4MDgsMHg4MCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGE3NDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGExLDB4NDQsMHgyOCwweDU4IH19LAotIHsxNiwgMHhhNzUwLCAwLCB7MHg0MywweDE2LDB4MjIsMHg4NCwweDgxLDB4ODEsMHgyMCwweDJjLDB4NTgsMHg0OSwweDEwLDB4ODAsMHhjNCwweDgxLDB4OTEsMHg0OCB9fSwKLSB7MTYsIDB4YTc2MCwgMCwgezB4NmMsMHg0YSwweDBiLDB4MTQsMHgwMiwweDQ0LDB4ODQsMHg4MSwweDAxLDB4NjAsMHg0MCwweDBhLDB4NTIsMHg4NiwweGQ0LDB4YTAgfX0sCi0gezE2LCAweGE3NzAsIDAsIHsweDg1LDB4MDAsMHhhMSwweDUwLDB4NjgsMHg5MCwweDA2LDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzgwLCAwLCB7MHgxOCwweDA1LDB4YTYsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MDQsMHgwMCwweGE5LDB4NjAsMHgyMiB9fSwKLSB7MTYsIDB4YTc5MCwgMCwgezB4NDAsMHgwYiwweDk1LDB4MDIsMHhlNCwweDEwLDB4YjEsMHgwMCwweDRlLDB4NDAsMHgwYiwweDkwLDB4NjYsMHhhYywweDgwLDB4ODkgfX0sCi0gezE2LCAweGE3YTAsIDAsIHsweDAwLDB4MmEsMHg2MCwweDBiLDB4OTAsMHg1MiwweGY0LDB4MDAsMHg4NSwweDAwLDB4MjEsMHg0MCwweDA4LDB4OTAsMHgwMiwweGM2IH19LAotIHsxNiwgMHhhN2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU2LDB4MjAsMHhlOSwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4YTdjMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YTQsMHgxMCwweGM5LDB4MDAsMHgzNiwweDQwLDB4MGYsMHg5NCwweDAxLDB4ZTUsMHgyMCwweGQ5LDB4NDAgfX0sCi0gezE2LCAweGE3ZDAsIDAsIHsweGJhLDB4NjgsMHg4ZiwweDkwLDB4MDcsMHhlNiwweDAwLDB4YzksMHgxMCwweDMyLDB4NjIsMHgwZSwweDkwLDB4MDIsMHhlNCwweDE4IH19LAotIHsxNiwgMHhhN2UwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTdmMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0MCwweDBiLDB4OTAsMHgwMywweDY0LDB4MDAsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGE4MDAsIDAsIHsweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDIsMHg3MiwweDY4LDB4MGYsMHg5MCwweDAzLDB4ZTYsMHgwMCwweGY5IH19LAotIHsxNiwgMHhhODEwLCAwLCB7MHgwMSwweDNlLDB4NDIsMHgwZiwweDkwLDB4MDMsMHhjNCwweDAyLDB4ZjksMHgwNCwweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHgxYSB9fSwKLSB7MTYsIDB4YTgyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHg4MCwweDAyLDB4YzgsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGE4MzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhjOCwweDQwLDB4MzYsMHgwMCwweDBmLDB4ODQsMHgwMywweGEwLDB4MDAsMHhkOCwweDUwIH19LAotIHsxNiwgMHhhODQwLCAwLCB7MHhiMiwweDEwLDB4OGMsMHg4MSwweDAzLDB4YzEsMHgyMCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHhjMCwweDEzLDB4ZjAsMHgwNCB9fSwKLSB7MTYsIDB4YTg1MCwgMCwgezB4NGMsMHgwMCwweDNmLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4NjAsIDAsIHsweDI4LDB4MTUsMHgyYSwweDAwLDB4OGEsMHgwNCwweDIyLDB4ODEsMHgyOCwweGEwLDB4MTIsMHgyOCwweDAwLDB4OGEsMHgwMSwweDM2IH19LAotIHsxNiwgMHhhODcwLCAwLCB7MHg4MCwweDBiLDB4YTAsMHgxMCwweDI4LDB4MTAsMHhjZSwweDAxLDB4MjMsMHg4MSwweDBjLDB4YTgsMHgxMiwweGZiLDB4MDAsMHg4YSB9fSwKLSB7MTYsIDB4YTg4MCwgMCwgezB4MDEsMHgzYiwweDgwLDB4ODMsMHhhMCwweDQyLDB4ZTgsMHgxMCwweDhhLDB4MDAsMHgyZiwweDgwLDB4MGIsMHg2MCwweDQyLDB4MGEgfX0sCi0gezE2LCAweGE4OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDAsMHhhMCwweGMwIH19LAotIHsxNiwgMHhhOGEwLCAwLCB7MHgxOCwweGIwLDB4MDAsMHhjYywweDAwLDB4OWIsMHgwMCwweDI0LDB4YzAsMHgwYiwweDMwLDB4MDYsMHg2YywweDAwLDB4YTMsMHgwOCB9fSwKLSB7MTYsIDB4YThiMCwgMCwgezB4MjgsMHhjOCwweDA5LDB4MzAsMHgwMiwweGNjLDB4NDMsMHg4YiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDIgfX0sCi0gezE2LCAweGE4YzAsIDAsIHsweDgzLDB4MDEsMHgyYywweGMwLDB4NGIsMHgzMCwweDAwLDB4NGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOGQwLCAwLCB7MHhhMCwweDAxLDB4MGMsMHgyNCwweDg3LDB4OTQsMHgyMSwweGU0LDB4MTgsMHgzMSwweDAyLDB4ZGMsMHg4MCwweDk3LDB4MTAsMHgyNSB9fSwKLSB7MTYsIDB4YThlMCwgMCwgezB4Y2QsMHgwYiwweGYyLDB4MDIsMHg3YywweDAwLDB4YTAsMHgwMCwweDI4LDB4ZTAsMHgxOCwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcgfX0sCi0gezE2LCAweGE4ZjAsIDAsIHsweDM0LDB4MjksMHg0MCwweDA5LDB4NDAsMHgwMiwweGQwLDB4MDQsMHg4NCwweDA0LDB4MmQsMHgwMCwweDRiLDB4ZDAsMHgyMiwweDY4IH19LAotIHsxNiwgMHhhOTAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDE2LDB4MDAsMHhjZiwweGEwLDB4NzAsMHhlOSB9fSwKLSB7MTYsIDB4YTkxMCwgMCwgezB4MTgsMHg3YiwweDAzLDB4ZmYsMHg0MCwweDk3LDB4YTAsMHgzNSwweGU4LDB4MGYsMHg3NCwweDAyLDB4NWUsMHgyMCwweGU0LDB4ODAgfX0sCi0gezE2LCAweGE5MjAsIDAsIHsweDM5LDB4YTAsMHgyZCwweDc4LDB4MDMsMHhmZSwweDAwLDB4YzcsMHg4MCwweDNkLDB4ZTAsMHg1ZiwweDY4LDB4NDMsMHhjMiwweDAwIH19LAotIHsxNiwgMHhhOTMwLCAwLCB7MHhjNCwweDg0LDB4MWQsMHg2MCwweDBmLDB4NzgsMHgwMywweDZhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTk0MCwgMCwgezB4MDgsMHgwZCwweGE0LDB4MDAsMHgzYiwweDAwLDB4MmUsMHhkOCwweDBmLDB4YjQsMHgwMywweDJkLDB4OGEsMHhlYiwweDYyLDB4M2EgfX0sCi0gezE2LCAweGE5NTAsIDAsIHsweGQwLDB4MGYsMHhiMiwweDg3LDB4MGMsMHhkMCwweGQ4LDB4MDAsMHgzMiwweGMwLDB4NGYsMHg5MCwweDQzLDB4ZWMsMHgwMCwweGZiIH19LAotIHsxNiwgMHhhOTYwLCAwLCB7MHgwOCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNCwweDNmLDB4ODAsMHgwZiwweDAwLDB4MmIsMHg4MiB9fSwKLSB7MTYsIDB4YTk3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZmYsMHhhMCwweDNlLDB4ZjQgfX0sCi0gezE2LCAweGE5ODAsIDAsIHsweDBlLDB4YjgsMHgwMywweGVlLDB4MDgsMHg0YiwweGYwLDB4N2YsMHhmNCwweDBjLDB4ZjksMHgyMywweGVlLDB4NDgsMHg3OCwweDkwIH19LAotIHsxNiwgMHhhOTkwLCAwLCB7MHgzMiwweGU0LDB4MGMsMHhmOSwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzZiwweGU0LDB4MWMsMHg3OSwweDAzLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YTlhMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4ZTAsMHgyYywweDc4LDB4MDcsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5YjAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDAwLDB4YjMsMHgwMCwweDBjLDB4ZTUsMHgwYiwweDM4LDB4MDIsMHhmZSwweDgwLDB4OGYsMHg4MCwweDYxIH19LAotIHsxNiwgMHhhOWMwLCAwLCB7MHhjNCwweDI4LDB4NzgsMHgwMCwweDRlLDB4MDAsMHhmNCwweDg0LDB4MjUsMHhhOCwweDBjLDB4NzAsMHgwMiwweGNjLDB4MDQsMHhiMyB9fSwKLSB7MTYsIDB4YTlkMCwgMCwgezB4OTAsMHgyNSwweDQwLDB4MGMsMHg0MSwweDgzLDB4NTIsMHg0MCwweGI0LDB4MTAsMHhhMywweDAwLDB4MGMsMHg1MiwweDAzLDB4NmEgfX0sCi0gezE2LCAweGE5ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHgwMCwweGI3LDB4MjEsMHg2ZCwweGM4IH19LAotIHsxNiwgMHhhOWYwLCAwLCB7MHg0YiwweDcwLDB4MDIsMHhkYywweDQyLDB4YTcsMHgzMSwweDI5LDB4YzQsMHgwOCwweDcyLDB4MDIsMHhkYywweDAwLDB4YjcsMHgyOCB9fSwKLSB7MTYsIDB4YWEwMCwgMCwgezB4MjQsMHg4MCwweDA4LDB4NzAsMHgwNiwweGQ0LDB4MjAsMHhiNywweDAxLDB4MmQsMHhjMSwweDA4LDB4NjAsMHgwMiwweDUwLDB4ODAgfX0sCi0gezE2LCAweGFhMTAsIDAsIHsweGI0LDB4MDgsMHgyMSwweDYyLDB4MDksMHg3NCwweDA2LDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYTIwLCAwLCB7MHgyMCwweDE0LDB4YzcsMHgwNCwweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHhiMCwweDAyLDB4Y2MsMHgwMCwweGEzLDB4MDIsMHg2MCB9fSwKLSB7MTYsIDB4YWEzMCwgMCwgezB4YzAsMHgwOCwweDM4LDB4MDIsMHg0ZSwweDQ0LDB4YTAsMHhjMCwweDI0LDB4OTEsMHgwOCwweDMwLDB4MDIsMHhjMCwweDAwLDB4YjMgfX0sCi0gezE2LCAweGFhNDAsIDAsIHsweDAwLDB4MjQsMHg2MCwweDA4LDB4MWMsMHgwMiwweDRjLDB4ODgsMHhiMywweGMwLDB4MjAsMHhhMCwweDA4LDB4MDAsMHgwYSwweDg4IH19LAotIHsxNiwgMHhhYTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmZiwweDAwLDB4MmYsMHhjMCB9fSwKLSB7MTYsIDB4YWE2MCwgMCwgezB4NGYsMHhmMCwweDEzLDB4ZmMsMHgwOCwweGU3LDB4OGEsMHgzZiwweGMwLDB4MGMsMHhmNSwweGMyLDB4ZmUsMHgxMCwweGJiLDB4YzAgfX0sCi0gezE2LCAweGFhNzAsIDAsIHsweDMyLDB4ZDQsMHgwYywweDMwLDB4MTMsMHhlMywweDA0LDB4YmYsMHgwMCwweDJlLDB4NjIsMHgwOCwweGI5LDB4MDIsMHg2ZSwweDAwIH19LAotIHsxNiwgMHhhYTgwLCAwLCB7MHhmYiwweDAxLDB4MzIsMHhhNCwweDRkLDB4OTQsMHgwMiwweGFiLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWE5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4NjAsMHhmYiwweDAwLDB4MWUsMHhjMCwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHg1YiwweDAwLDB4M2EgfX0sCi0gezE2LCAweGFhYTAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDQxLDB4ZWMsMHgwMCwweDdiLDB4NDUsMHhiYSwweDQwLDB4MmUsMHhiMCwweDE1LDB4ZTAsMHgwMSwweGZiIH19LAotIHsxNiwgMHhhYWIwLCAwLCB7MHgwMCwweDNlLDB4NTAsMHgwZSwweGMwLDB4MDMsMHhmMCwweDQwLDB4ZmMsMHgyMCwweDNmLDB4NTAsMHg4ZiwweDkwLDB4MDEsMHg2MCB9fSwKLSB7MTYsIDB4YWFjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweGFhZDAsIDAsIHsweDhmLDB4ZjAsMHgwMywweDFjLDB4MDIsMHhjZiwweDAwLDB4MzYsMHhjMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4MDAsMHg3ZiwweDJhIH19LAotIHsxNiwgMHhhYWUwLCAwLCB7MHgzZiwweDgwLDB4MGYsMHhmOCwweDEzLDB4OTAsMHgyMSwweGNmLDB4MDAsMHgzZiwweDYyLDB4MGMsMHhlMCwweDAzLDB4MzAsMHgwMCB9fSwKLSB7MTYsIDB4YWFmMCwgMCwgezB4ZjgsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiMDAsIDAsIHsweDgxLDB4MDQsMHg2NCwweDExLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4ZGIsMHgwNCwweDMyIH19LAotIHsxNiwgMHhhYjEwLCAwLCB7MHhjMCwweDBlLDB4YjAsMHgwMiwweGVjLDB4MDAsMHhiYiwweDg0LDB4MmUsMHg0MCwweDBiLDB4YjksMHg0MiwweDIyLDB4NDIsMHg4YiB9fSwKLSB7MTYsIDB4YWIyMCwgMCwgezB4MDEsMHgyYywweDcyLDB4MGEsMHg5MCwweDQyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMyLDB4OGYsMHg4OCwweDA2LDB4ZTAgfX0sCi0gezE2LCAweGFiMzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MjQsMHgwMCwweGJiLDB4MDAsMHg2ZSwweGMwIH19LAotIHsxNiwgMHhhYjQwLCAwLCB7MHg0OCwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDI2LDB4YzAsMHgwYSwweGIwLDB4MTIsMHhlYywweDAwLDB4YmIsMHg0MCB9fSwKLSB7MTYsIDB4YWI1MCwgMCwgezB4MmUsMHhjOCwweDBiLDB4YjAsMHgxMiwweDJjLDB4MDAsMHg4YiwweDAwLDB4MmUsMHg0OCwweDBhLDB4MzAsMHgwMiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGFiNjAsIDAsIHsweGJiLDB4MDAsMHgyZSwweDgwLDB4NGIsMHg5OCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjcwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHgwMCwweGIzLDB4MDAsMHg2YywweGMyLDB4NGIsMHgzMSwweDAyLDB4MGMsMHg1MCwweDliLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4YWI4MCwgMCwgezB4YzAsMHgwYSwweDMyLDB4MTIsMHhjYywweDgwLDB4YjMsMHgwMCwweDZjLDB4MGMsMHgwYiwweDMxLDB4MDIsMHgwYywweDQyLDB4ODMgfX0sCi0gezE2LCAweGFiOTAsIDAsIHsweDA4LDB4MmUsMHg0MCwweDBhLDB4MDAsMHgwMiwweDAwLDB4ODAsMHhiMCwweDAwLDB4MmMsMHg0MSwweDBiLDB4MTAsMHgwMiwweDQyIH19LAotIHsxNiwgMHhhYmEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhiYiwweDQwLDB4M2YsMHhjYyB9fSwKLSB7MTYsIDB4YWJiMCwgMCwgezB4MGUsMHhmMCwweDgzLDB4M2QsMHhhMCwweGNmLDB4MjAsMHgzNywweGMwLDB4MGMsMHhmNywweGMzLDB4ZmQsMHg0OCwweGYzLDB4MDAgfX0sCi0gezE2LCAweGFiYzAsIDAsIHsweDNlLDB4ODgsMHgwZiwweGI0LDB4MTMsMHhhNSwweDAwLDB4OGYsMHgzMCwweDNlLDB4NDAsMHgwYywweGEwLDB4MDMsMHg2MCwweDgwIH19LAotIHsxNiwgMHhhYmQwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4OTAsMHgyMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWJlMCwgMCwgezB4YTAsMHgxOSwweGY0LDB4MDAsMHhmZiwweDI5LDB4M2YsMHhjOSwweDBmLDB4ZjAsMHgxMywweGZjLDB4OTQsMHhlZiwweDEyLDB4M2IgfX0sCi0gezE2LCAweGFiZjAsIDAsIHsweGMwLDB4OGUsMHhiMiwweDA3LDB4ZmQsMHgwNCwweGZmLDB4MTAsMHgzZiwweDBjLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZiIH19LAotIHsxNiwgMHhhYzAwLCAwLCB7MHgyMCwweDNkLDB4NDAsMHgwZiwweGQwLDB4NDMsMHhmYywweDQwLDB4ZmYsMHgwNCwweDNmLDB4YzAsMHgwZSwweGMwLDB4NDMsMHhlOCB9fSwKLSB7MTYsIDB4YWMxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGEyLDB4YzcsMHgyMCwweDNmLDB4MjQgfX0sCi0gezE2LCAweGFjMjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDNjLDB4ODAsMHhjYywweDA5LDB4MzMsMHhkMSwweDBjLDB4ZjEsMHgyMywweGZjLDB4MjAsMHhkZiwweDM2IH19LAotIHsxNiwgMHhhYzMwLCAwLCB7MHgzZiwweGMwLDB4MGUsMHg0OCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzNywweGU0LDB4MGQsMHg3OCwweDAzLDB4MTEsMHhhMCB9fSwKLSB7MTYsIDB4YWM0MCwgMCwgezB4Y2YsMHgwMCwweDM3LDB4YzgsMHgwYywweGYwLDB4MDMsMHgzMCwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjNTAsIDAsIHsweDgwLDB4MTAsMHhmZiwweDAwLDB4OGYsMHhkMSwweDJlLDB4MDgsMHgwZCwweGI2LDB4MTIsMHgzZCwweDQ1LDB4ZjksMHg2NCwweDI3IH19LAotIHsxNiwgMHhhYzYwLCAwLCB7MHhkMCwweDg4LDB4YmEsMHgxNCwweGNjLDB4MDQsMHg4ZiwweDQwLDB4MjMsMHhmMCwweDBiLDB4ODgsMHgwMiwweDJlLDB4MDQsMHhiYiB9fSwKLSB7MTYsIDB4YWM3MCwgMCwgezB4ODAsMHhhZSwweGMwLDB4MDgsMHhiOCwweDBhLDB4MjEsMHgwMCwweDg4LDB4ZDAsMHgyMiwweDIwLDB4MjgsMHhiMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGFjODAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDkzLDB4MDAsMHgyZSwweDAwIH19LAotIHsxNiwgMHhhYzkwLCAwLCB7MHgwYSwweDM0LDB4ODIsMHg4YywweGEwLDB4YTAsMHgwOCwweDI0LDB4ZDgsMHgwOSwweDMxLDB4MDIsMHhjYywweDIwLDB4YjMsMHgzMiB9fSwKLSB7MTYsIDB4YWNhMCwgMCwgezB4MjgsMHhkMCwweDRhLDB4ODAsMHgwMiwweGNjLDB4MGMsMHhiYiwweDAwLDB4MjIsMHg0MCwweDg5LDB4YjAsMHgwMiwweDYwLDB4ODAgfX0sCi0gezE2LCAweGFjYjAsIDAsIHsweDkzLDB4MDAsMHgyNCwweGQwLDB4MGIsMHgzMCwweDAyLDB4YTIsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhY2MwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgwMCwweDliLDB4MDAsMHgyZSwweDIwLDB4MDksMHhiMCwweDRhLDB4MmMsMHgwMiwweGEwLDB4MDAsMHgwNiB9fSwKLSB7MTYsIDB4YWNkMCwgMCwgezB4YzAsMHgwOSwweGIwLDB4MDAsMHhlYywweDAwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweDg4LDB4MDIsMHg2YywweDAwLDB4YmIgfX0sCi0gezE2LCAweGFjZTAsIDAsIHsweDIwLDB4MmEsMHhlMiwweDQxLDB4YjgsMHgyYSwweDYwLDB4MGEsMHg5OCwweDAwLDB4MjYsMHgwMCwweDBiLDB4YjAsMHgwMiwweGI4IH19LAotIHsxNiwgMHhhY2YwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDgsMHhkYiwweDAyLDB4M2UsMHgyMCB9fSwKLSB7MTYsIDB4YWQwMCwgMCwgezB4NGMsMHhiMCwweDAzLDB4MmMsMHgwMiwweDhiLDB4MjAsMHgxMiwweGMwLDB4MjksMHhiMCwweDEyLDB4ZWMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGFkMTAsIDAsIHsweDNhLDB4YzAsMHgwZSwweDg4LDB4MDMsMHhlZCwweDIwLDB4ZmIsMHhjOCwweDM0LDB4ZjAsMHgwZCwweGJhLDB4MDMsMHg0NywweDYwIH19LAotIHsxNiwgMHhhZDIwLCAwLCB7MHhjOSwweDAwLDB4MzYsMHg0MCwweDBmLDB4YjAsMHgwYiwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWQzMCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHhlZiwweDAwLDB4MGYsMHgwMCwweDBmLDB4MzAsMHgwMCwweGZjLDB4MDAsMHhkZiwweDkwLDB4YmIgfX0sCi0gezE2LCAweGFkNDAsIDAsIHsweGMwLDB4Y2UsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGNiLDB4MDAsMHgxNywweGMwLDB4MGYsMHhjMCwweDAzLDB4YmMsMHg4NCwweGZmIH19LAotIHsxNiwgMHhhZDUwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwZSwweGQwLDB4NjMsMHhiOCwweDAwLDB4ZWEsMHgwMCwweDNhLDB4ODAsMHgwYywweDMwLDB4MDMsMHg3MCB9fSwKLSB7MTYsIDB4YWQ2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZmIsMHgwMiwweDMyLDB4MDAgfX0sCi0gezE2LCAweGFkNzAsIDAsIHsweDBmLDB4YjAsMHg1MywweDJjLDB4MDAsMHhmYSwweDAwLDB4MzIsMHhjMCwweDhmLDB4YjAsMHgwNywweDJjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhhZDgwLCAwLCB7MHhiMiwweGMwLDB4MGYsMHg4MCwweDA3LDB4YWMsMHg4MCwweGRiLDB4MjQsMHg3ZSwweGQwLDB4MGUsMHhiMCwweDIzLDB4NzQsMHgwNCB9fSwKLSB7MTYsIDB4YWQ5MCwgMCwgezB4ZGQsMHgwOCwweGI1LDB4NDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4YmYsMHhjMCwweGEwLDB4MDAsMHgxYiwweGYwLDB4MDIsMHgzZiwweDYwLDB4ZWEsMHg1MCwweDIzIH19LAotIHsxNiwgMHhhZGIwLCAwLCB7MHhjMCwweDA4LDB4ZmEsMHgwNywweGZjLDB4MDAsMHhkZiwweDAwLDB4NjMsMHhjMCwweDQ4LDB4MTgsMHgwMiwweDJkLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4YWRjMCwgMCwgezB4MDAsMHg2ZSwweGMwLDB4MGQsMHgzYSwweDAzLDB4MjQsMHgwMCwweDgyLDB4ODAsMHgzMiwweDgwLDB4MGQsMHhmMCwweDAzLDB4MzIgfX0sCi0gezE2LCAweGFkZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxNCwweGIzLDB4NTksMHgyMCwweDgwIH19LAotIHsxNiwgMHhhZGUwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgyZSwweDA1LDB4YjAsMHg0NCwweDJlLDB4YzAsMHgwOSwweDM0LDB4ODIsMHhlYywweDAwLDB4YWIsMHgwNCB9fSwKLSB7MTYsIDB4YWRmMCwgMCwgezB4MjAsMHhjMCwweDA5LDB4MjEsMHhiMiwweDhlLDB4MDQsMHg5MywweGMwLDB4MjQsMHhjMCwweDBhLDB4MTgsMHgwNiwweDRjLDB4MDAgfX0sCi0gezE2LCAweGFlMDAsIDAsIHsweDkyLDB4NTAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NzAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHg2MSwweGUwLDB4MGIsMHg3OCwweDBhLDB4NWUsMHgwMSwweGIxLDB4YTAsMHgyZCB9fSwKLSB7MTYsIDB4YWUyMCwgMCwgezB4ZTAsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4MDcsMHg5MCwweDIxLDB4ZTAsMHgxOCwweGM4LDB4MDIsMHgxZSwweDAwLDB4YjcgfX0sCi0gezE2LCAweGFlMzAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDhhLDB4ZDgsMHgwMiwweDNlLDB4YzAsMHg4NSwweDgwLDB4MjEsMHgyMCwweDE5LDB4NzgsMHgyMiwweDAwIH19LAotIHsxNiwgMHhhZTQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhmMywweDk0LDB4MjAsMHgxMCB9fSwKLSB7MTYsIDB4YWU1MCwgMCwgezB4NGIsMHgzMCwweDA3LDB4MGMsMHgwMCwweGYzLDB4MDAsMHgzZSwweGM4LDB4MGYsMHgzMCwweDAzLDB4Y2MsMHgwMCwweDIzLDB4MTAgfX0sCi0gezE2LCAweGFlNjAsIDAsIHsweDAwLDB4Y2IsMHgwNSwweDIwLDB4MDIsMHg4YywweDYwLDB4OTMsMHgwYSwweDJlLDB4YzQsMHgwYSwweDAxLDB4MDcsMHg0YywweDgwIH19LAotIHsxNiwgMHhhZTcwLCAwLCB7MHhkMiwweDAxLDB4MzAsMHhjMCwweDJjLDB4MzAsMHgwYiwweDVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWU4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAxLDB4MGYsMHg0MCwweDBmLDB4ZjAsMHgxMywweGJjLDB4MDAsMHhlZiwweDI2LDB4NzMgfX0sCi0gezE2LCAweGFlOTAsIDAsIHsweGMyLDB4MGMsMHhiMCwweDgzLDB4YmMsMHg0MCwweGZmLDB4MTgsMHgzZCwweGMwLDB4NGEsMHhjMSwweDAzLDB4ZmMsMHgwMCwweGZiIH19LAotIHsxNiwgMHhhZWEwLCAwLCB7MHgxMiwweDNmLDB4YzQsMHg0ZCwweGMxLDB4MGIsMHhmYywweDgxLDB4ZmQsMHgwMCwweDNmLDB4MjAsMHgwZiwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4YWViMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDIwLDB4Y2IsMHg0OCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGFlYzAsIDAsIHsweDBjLDB4YjAsMHgwMywweDJkLDB4MjAsMHhlOSwweDgwLDB4ZmEsMHhjOCwweDBkLDB4YjAsMHgwMywweGVlLDB4MDAsMHhkYiwweDI0IH19LAotIHsxNiwgMHhhZWQwLCAwLCB7MHg3NiwweGYzLDB4OGUsMHg4MCwweDMzLDB4ZWMsMHg0NCwweGViLDB4MTAsMHgzZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4ZTgsMHgwNCB9fSwKLSB7MTYsIDB4YWVlMCwgMCwgezB4ZGMsMHgwMCwweGIzLDB4NjEsMHgwYywweGIwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlZjAsIDAsIHsweDQ4LDB4MTEsMHg4ZCwweDAwLDB4ODcsMHgyMCwweDJmLDB4MDEsMHgyOCwweDcwLDB4MDIsMHgwYywweDg0LDB4OGQsMHgwNCwweDMxIH19LAotIHsxNiwgMHhhZjAwLCAwLCB7MHhjYywweGM5LDB4NzIsMHgwMiwweGRkLDB4MDAsMHgzNywweDMzLDB4MjEsMHhkOCwweDA4LDB4NDAsMHgwMiwweGRjLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YWYxMCwgMCwgezB4MjAsMHgzZCwweGMwLDB4MDksMHg1MCwweDIyLDB4ZjAsMHgwMCwweDk3LDB4MDAsMHgyMSwweDgwLDB4MGEsMHhmYywweDAyLDB4OTIgfX0sCi0gezE2LCAweGFmMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MWUsMHg4MiwweDg3LDB4YjAsMHgyZCwweDIwIH19LAotIHsxNiwgMHhhZjMwLCAwLCB7MHgwOCwweDM5LDB4MDIsMHgxZSwweDQxLDB4YTcsMHg4MCwweDI0LDB4ZTAsMHgwOSwweDdhLDB4MzIsMHg4ZSwweDgyLDB4MDcsMHhhMCB9fSwKLSB7MTYsIDB4YWY0MCwgMCwgezB4MjUsMHhlMCwweDhiLDB4NDgsMHgwMiwweDFlLDB4MDAsMHhhNywweGUxLDB4MmQsMHhlMCwweDRiLDB4NTgsMHgwMCwweGRhLDB4MDAgfX0sCi0gezE2LCAweGFmNTAsIDAsIHsweGEwLDB4ODAsMHgyNCwweDYwLDB4MDgsMHg3YSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZjYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyYywweDAwLDB4MDgsMHgzMCwweDAyLDB4OGMsMHgwMCwweDkzLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4YWY3MCwgMCwgezB4YzEsMHgwOSwweDMwLDB4NDIsMHhjYywweDAwLDB4ODMsMHgwMCwweDYwLDB4YzAsMHgwOCwweDFhLDB4MDIsMHhjZSwweDA0LDB4YjMgfX0sCi0gezE2LCAweGFmODAsIDAsIHsweGUwLDB4MjgsMHhhMCwweDA5LDB4MWMsMHg4MiwweDRiLDB4MDgsMHhhMywweDgwLDB4MjQsMHhhMCwweDJhLDB4MzAsMHgwMiwweDlhIH19LAotIHsxNiwgMHhhZjkwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhjYSwweDAwLDB4MmYsMHg4OCB9fSwKLSB7MTYsIDB4YWZhMCwgMCwgezB4MGMsMHhhMCwweDEzLDB4MjgsMHgwMCwweGVlLDB4MDAsMHgyZSwweDgwLDB4MmQsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGRhLDB4MDAgfX0sCi0gezE2LCAweGFmYjAsIDAsIHsweDc2LDB4ODAsMHgwZSwweGU4LDB4MDMsMHhiYiwweDgwLDB4ZWUsMHg0MCwweDJmLDB4YTIsMHg4ZiwweGU2LDB4MDMsMHhlYiwweDg2IH19LAotIHsxNiwgMHhhZmMwLCAwLCB7MHhmYSwweDgwLDB4MzcsMHg4MiwweDBjLDB4MjAsMHgwNywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWZkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQwLDB4MWUsMHgwMCwweDBmLDB4ODAsMHgwYiwweDYxLDB4MDAsMHhlOCwweGMwLDB4M2EgfX0sCi0gezE2LCAweGFmZTAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwMSwweGY4LDB4MDAsMHg3ZSwweDEwLDB4MWUsMHg4MSwweDAzLDB4ZTAsMHgwOCwweGY4IH19LAotIHsxNiwgMHhhZmYwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHhjMCwweDI4LDB4ZGMsMHg1MCwweDNiLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4YjAwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDIgfX0sCi0gezE2LCAweGIwMTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGE2LDB4MDAsMHhjOSwweDAxLDB4M2EsMHg0MCwweDBlLDB4OTQsMHgwMSwweGU0LDB4MTAsMHhmMSwweDA0IH19LAotIHsxNiwgMHhiMDIwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5YSwweDIzLDB4MjAsMHg2MCwweGY4LDB4MDQsMHgwYSwweDQyLDB4MGUsMHg5MCwweDEzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YjAzMCwgMCwgezB4YzEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwNDAsIDAsIHsweDgwLDB4MDQsMHg2NywweDA4LDB4YTksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNywweDgyLDB4ODksMHgwMCwweDI2IH19LAotIHsxNiwgMHhiMDUwLCAwLCB7MHg0MCwweDA4LDB4OWMsMHgwMywweGE0LDB4MTAsMHhiOSwweDAwLDB4MzYsMHg0MCwweDliLDB4MWMsMHgxYSwweDIzLDB4MDQsMHhiOCB9fSwKLSB7MTYsIDB4YjA2MCwgMCwgezB4MDAsMHgzYSwweDQwLDB4MGUsMHgxMCwweDAyLDB4MjQsMHgwMiwweGM5LDB4YTAsMHhhMiwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjAgfX0sCi0gezE2LCAweGIwNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjUsMHg4MCwweDg5LDB4MDQsMHgyYywweDQwIH19LAotIHsxNiwgMHhiMDgwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHg4NCwweDgxLDB4OTksMHg0MCwweDJlLDB4NDAsMHgxYSwweDkwLDB4MDYsMHhlNCwweDAxLDB4YjksMHgwMCB9fSwKLSB7MTYsIDB4YjA5MCwgMCwgezB4YTYsMHg0MSwweDFiLDB4OTAsMHg4MiwweDIxLDB4MDAsMHhiOCwweDEwLDB4MmUsMHg0MCwweDBhLDB4OTIsMHgwYSwweGE0LDB4MDEgfX0sCi0gezE2LCAweGIwYTAsIDAsIHsweDhmLDB4MjIsMHgyMywweDQwLDB4MGIsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMGIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGEzLDB4MjAsMHgyYywweDQxLDB4MDksMHgxMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyNCB9fSwKLSB7MTYsIDB4YjBjMCwgMCwgezB4NDgsMHgwYSwweDM2LDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDA0LDB4YzgsMHg0YiwweDE0LDB4MDIsMHgwNSwweDAwLDB4YjEgfX0sCi0gezE2LCAweGIwZDAsIDAsIHsweDA1LDB4MjgsMHg1MCwweDBhLDB4OTAsMHgwMiwweDA1LDB4MDIsMHg4NSwweDAwLDB4MjEsMHg0MCwweDBiLDB4MTIsMHgwMiwweDAyIH19LAotIHsxNiwgMHhiMGUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDAwLDB4NmUsMHgxNCB9fSwKLSB7MTYsIDB4YjBmMCwgMCwgezB4MmMsMHg4NSwweDAyLDB4YTEsMHg0MCwweGM4LDB4NTAsMHgzYSwweDE0LDB4MGUsMHg4MCwweDAyLDB4ZTEsMHg0MCwweGIwLDB4NTAgfX0sCi0gezE2LCAweGIxMDAsIDAsIHsweDMyLDB4MDAsMHgwYiwweDgwLDB4MDMsMHgyMCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhhMCwweDAyIH19LAotIHsxNiwgMHhiMTEwLCAwLCB7MHhjOCwweDAwLDB4MTMsMHgwMCwweDBmLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjEyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDgsMHhmOSwweDE0LDB4M2YsMHg0MCwweDBjLDB4OTEsMHgwMywweGU0LDB4NDIsMHhmZCwweDEwLDB4MzYgfX0sCi0gezE2LCAweGIxMzAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDIzLDB4YTQsMHg0OCwweGY5LDB4MTEsMHgzOCwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTUsMHgxNCwweDM5IH19LAotIHsxNiwgMHhiMTQwLCAwLCB7MHg0MiwweDdiLDB4NDAsMHg4ZSwweGQwLDB4MDEsMHhmNSwweDAwLDB4YTksMHg0MCwweDNlLDB4NTAsMHgwNywweDk2LDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4YjE1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweDgwLDB4ZGQsMHhhZSwweDNhLDB4NTAgfX0sCi0gezE2LCAweGIxNjAsIDAsIHsweDBkLDB4OWEsMHgwYiwweDc2LDB4ODAsMHhjZiwweDg4LDB4MzIsMHg3MCwweDJkLDB4ZGEsMHgwMywweGE3LDB4MDEsMHhlOSwweDkyIH19LAotIHsxNiwgMHhiMTcwLCAwLCB7MHgzNywweDY4LDB4MGQsMHg5NCwweDAzLDB4ZTcsMHgwMCwweGVkLDB4YTAsMHgzYSwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTcsMHgwMiB9fSwKLSB7MTYsIDB4YjE4MCwgMCwgezB4Y2QsMHg4MCwweDMzLDB4NjgsMHgwYywweGQ4LDB4ODMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxOTAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHg0MCwweDIwLDB4MjAsMHgwYywweDhjLDB4MDIsMHgyMywweDAwLDB4ODgsMHhlMCwweDIyIH19LAotIHsxNiwgMHhiMWEwLCAwLCB7MHgzMCwweDA4LDB4ODQsMHgwMiwweGUzLDB4MDAsMHhiOCwweGUwLDB4MjIsMHgxNCwweDhkLDB4ODgsMHgwMiwweGUzLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4YjFiMCwgMCwgezB4NTAsMHgyZSwweGE4LDB4OGIsMHg4MCwweDIyLDB4ZTMsMHg0OCwweDg4LDB4NTAsMHgyMiwweDAwLDB4MDgsMHg4YywweDAyLDB4MGUgfX0sCi0gezE2LCAweGIxYzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweDkxLDB4MDAsMHgyYSwweDQ4IH19LAotIHsxNiwgMHhiMWQwLCAwLCB7MHgwOSwweDE0LDB4ODIsMHgwNSwweDIwLDB4ODEsMHgwOCwweDIwLDB4NTgsMHgwOSwweDExLDB4MDIsMHg4NSwweDg4LDB4YjEsMHg0MCB9fSwKLSB7MTYsIDB4YjFlMCwgMCwgezB4YTAsMHg0MCwweDA4LDB4MTIsMHgwMiwweGM1LDB4ODAsMHhhMSwweDAwLDB4MjgsMHg0MCwweDBiLDB4MTgsMHgwMiwweGM0LDB4ODQgfX0sCi0gezE2LCAweGIxZjAsIDAsIHsweGExLDB4MDAsMHgyNCwweDUwLDB4MDgsMHgxMCwweDkyLDB4MDMsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjAwLCAwLCB7MHgxOCwweDE1LDB4YWMsMHgxMCwweDliLDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwNiwweDg5LDB4MDQsMHgyMCB9fSwKLSB7MTYsIDB4YjIxMCwgMCwgezB4NDAsMHgwOSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMiwweDIyLDB4NDEsMHg4OSwweGEwLDB4ODIsMHhlMCwweGEwLDB4YjkgfX0sCi0gezE2LCAweGIyMjAsIDAsIHsweDI4LDB4MmUsMHg0NCwweDBiLDB4YjAsMHgwMiwweGU0LDB4MDIsMHhiOSwweDAwLDB4MjYsMHg0MCwweDI4LDB4MTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHhiMjMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhkOSwweDAwLDB4MzgsMHg0MCB9fSwKLSB7MTYsIDB4YjI0MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4MjQsMHgwMCwweGM5LDB4YTAsMHhhMiwweDQwLDB4OGQsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGIyNTAsIDAsIHsweDM2LDB4NDAsMHgwYywweDg0LDB4MTMsMHhlMiwweDAwLDB4ZTksMHgwMCwweDNhLDB4NTAsMHgwZiwweDljLDB4MDIsMHhlNiwweDg0IH19LAotIHsxNiwgMHhiMjYwLCAwLCB7MHhlOSwweDAwLDB4YjYsMHg0MCwweDBjLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjI3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhlMSwweDAwLDB4M2UsMHg2OCwweDBlLDB4MTAsMHgwMywweGE0LDB4MDAsMHhmMSwweDI4LDB4M2EgfX0sCi0gezE2LCAweGIyODAsIDAsIHsweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQyLDB4MGYsMHg4MCwweDIzLDB4ZTIsMHgwMCwweGY5IH19LAotIHsxNiwgMHhiMjkwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZiwweDkxLDB4MjMsMHhlNCwweDQwLDB4YzEsMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhjYSB9fSwKLSB7MTYsIDB4YjJhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDAwLDB4YzgsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGIyYjAsIDAsIHsweDBjLDB4ODAsMHgwMywweGEwLDB4MjAsMHhjOCwweDQwLDB4M2UsMHgwMCwweDBlLDB4ODEsMHg2MywweDYwLDB4MDAsMHhmMCwweDA0IH19LAotIHsxNiwgMHhiMmMwLCAwLCB7MHgzYywweDAxLDB4MGMsMHg4NCwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDAzLDB4YzEsMHgwMCB9fSwKLSB7MTYsIDB4YjJkMCwgMCwgezB4ZDgsMHgxMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MjMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyZTAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDYwLDB4OGUsMHgwMCwweDIyLDB4ODAsMHgwYSwweGEwLDB4MDIsMHgzOCwweDgwLDB4YmUsMHgwMCwweDNhIH19LAotIHsxNiwgMHhiMmYwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDAsMHhiYSwweDAwLDB4MjMsMHg5OCwweDE4LDB4ZWMsMHgwMiwweGY4LDB4MjAsMHhhZSB9fSwKLSB7MTYsIDB4YjMwMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MGIsMHhlNCwweDgyLDB4ZTgsMHgwMiwweGNlLDB4NDQsMHgyOCwweDgwLDB4MGQsMHhhMCwweDBhLDB4MGEgfX0sCi0gezE2LCAweGIzMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDAsMHgwMCwweDgyLDB4MDQsMHhhMCwweGMwIH19LAotIHsxNiwgMHhiMzIwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHg4ZSwweDA0LDB4ODMsMHg1MCwweDZjLDB4YzAsMHgwYSwweDMwLDB4ODYsMHgwYywweDAwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4YjMzMCwgMCwgezB4MjgsMHgzMCwweDBhLDB4MzYsMHgxMiwweGNjLDB4ODAsMHg4MSwweDAwLDB4MjQsMHhjMCwweDBiLDB4MzIsMHgwNiwweGNjLDB4MDAgfX0sCi0gezE2LCAweGIzNDAsIDAsIHsweDgwLDB4ODgsMHg2NCwweDYwLDB4MjgsMHgxMCwweDAyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMzUwLCAwLCB7MHhhMCwweDAxLDB4MTAsMHgxMiwweDg0LDB4NDAsMHgyMSwweGM4LDB4MGEsMHg3MiwweDAyLDB4MTAsMHgwMCwweGI3LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YjM2MCwgMCwgezB4Y2MsMHgwOCwweDM4LDB4MTIsMHgxYywweDAwLDB4YjMsMHgzMCwweDIwLDB4MDAsMHgwOCwweDcxLDB4ODIsMHhmZSwweDAwLDB4YTQgfX0sCi0gezE2LCAweGIzNzAsIDAsIHsweDgwLDB4MjEsMHhjOCwweDBiLDB4NzAsMHgwMiwweGRjLDB4MDEsMHg4NywweDAwLDB4MmMsMHg0MiwweDA5LDB4NTEsMHgwMiwweDIwIH19LAotIHsxNiwgMHhiMzgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhjMiwweDgwLDB4MzEsMHhmOCB9fSwKLSB7MTYsIDB4YjM5MCwgMCwgezB4NGMsMHhmYywweDEzLDB4OTIsMHgwOSwweGM3LDB4ODAsMHgzYywweGVkLDB4MWUsMHg3OCwweDI3LDB4MWUsMHgwMCwweGY3LDB4OGMgfX0sCi0gezE2LCAweGIzYTAsIDAsIHsweDc5LDB4MjAsMHgwOCwweDdhLDB4MDMsMHhkZSwweDgxLDB4ODQsMHg4MCwweDNkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHhmZSwweDIwIH19LAotIHsxNiwgMHhiM2IwLCAwLCB7MHhjNSwweDgxLDB4MzUsMHg2MCwweDJjLDB4NTgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjNjMCwgMCwgezB4MDgsMHgxZCwweDgwLDB4MDAsMHhmOCwweDA0LDB4M2UsMHhkMCwweDBmLDB4YjAsMHgxMywweGUwLDB4MDAsMHhmYiwweDAyLDB4M2EgfX0sCi0gezE2LCAweGIzZDAsIDAsIHsweGQwLDB4MGYsMHhhMCwweDBiLDB4YWMsMHg0MCwweGZiLDB4MDAsMHgzYSwweDAwLDB4MmYsMHhiMCwweDAzLDB4Y2MsMHgwMCwweGYwIH19LAotIHsxNiwgMHhiM2UwLCAwLCB7MHgwMCwweDNhLDB4YzQsMHgwZiwweGIwLDB4MDMsMHhmYywweDQxLDB4ZjMsMHgwMCwweDNhLDB4NDAsMHgwZiwweDUwLDB4OTMsMHhjMiB9fSwKLSB7MTYsIDB4YjNmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2MsMHg4MSwweDNmLDB4ZmMgfX0sCi0gezE2LCAweGI0MDAsIDAsIHsweDFjLDB4ZjgsMHgwMywweDc2LDB4NDAsMHhlZiwweDkyLDB4M2YsMHhlNCwweDhjLDB4ZjgsMHgwMywweGJmLDB4MTAsMHhmZiwweDgwIH19LAotIHsxNiwgMHhiNDEwLCAwLCB7MHhiMywweDIwLDB4MGUsMHhmOSwweDEzLDB4ZmUsMHgyNCwweGZkLDB4OTQsMHgzNywweGUwLDB4MWMsMHhmOSwweDAzLDB4ZWUsMHgwMCB9fSwKLSB7MTYsIDB4YjQyMCwgMCwgezB4Y2QsMHg4MCwweGIzLDB4ZTAsMHgwYywweDU4LDB4MDIsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0MzAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDQwLDB4ODAsMHgwMCwweDJmLDB4YzQsMHgwOCwweDcyLDB4MDIsMHhkZCwweDA4LDB4ZDcsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiNDQwLCAwLCB7MHhjYywweDA4LDB4ZGUsMHgwMywweDVjLDB4MDAsMHhiNywweDA0LDB4MjEsMHg4MCwweGM4LDB4NzAsMHg4MywweGRjLDB4MDAsMHhiNCB9fSwKLSB7MTYsIDB4YjQ1MCwgMCwgezB4YTAsMHgyZiwweGMwLDB4MGMsMHg3MCwweDAyLDB4ZGUsMHg4MCwweDg3LDB4MDAsMHgyMSwweGMyLDB4MGEsMHg1MSwweDQyLDB4MmEgfX0sCi0gezE2LCAweGI0NjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDg0LDB4MDAsMHgyZCwweGM4IH19LAotIHsxNiwgMHhiNDcwLCAwLCB7MHg0OCwweDcwLDB4MDIsMHg1NCwweDBjLDB4YTcsMHgwMCwweDJjLDB4YzAsMHg4OSwweDcyLDB4MDIsMHg1YywweDAwLDB4YjMsMHgxMCB9fSwKLSB7MTYsIDB4YjQ4MCwgMCwgezB4MjAsMHgwMCwweDBhLDB4NzAsMHgwNiwweGRjLDB4MDAsMHhiNCwweDIwLDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4ODAgfX0sCi0gezE2LCAweGI0OTAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHg1MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNGEwLCAwLCB7MHgyMCwweDE0LDB4YzAsMHgwMCwweDgwLDB4MDAsMHgyZSwweGMwLDB4MDgsMHgzMCwweDAyLDB4YzQsMHgwOCwweGEyLDB4NDIsMHgyYyB9fSwKLSB7MTYsIDB4YjRiMCwgMCwgezB4YzEsMHgwOSwweDIwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4ODAsMHgwOCwweDNjLDB4MjIsMHg4YywweDIwLDB4YjAgfX0sCi0gezE2LCAweGI0YzAsIDAsIHsweDA4LDB4MmUsMHhlMCwweDA4LDB4MzgsMHgxMCwweGNmLDB4MGEsMHg5MywweDQwLDB4YTAsMHhmMCwweDBhLDB4MTAsMHgwMiwweDA4IH19LAotIHsxNiwgMHhiNGQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGE4LDB4MDAsMHhjMSwweDAwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4YjRlMCwgMCwgezB4MmMsMHhmMCwweDAzLDB4NjgsMHgwMCwweGFhLDB4MDAsMHgzZiwweGMwLDB4MmQsMHg4MCwweDAzLDB4N2MsMHgwMCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGI0ZjAsIDAsIHsweDMyLDB4MDAsMHgwZSwweGIwLDB4MTIsMHhlZCwweDI0LDB4ZmEsMHgwOCwweDI3LDB4YzgsMHgxMCwweGI4LDB4YTIsMHhmZiwweDYwIH19LAotIHsxNiwgMHhiNTAwLCAwLCB7MHg5OCwweGEwLDB4YTIsMHhlMCwweDBjLDB4NTAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjUxMCwgMCwgezB4ODAsMHgwMCwweGM5LDB4MDYsMHhmOCwweDQxLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweGU5LDB4MTAsMHg1YSwweDIwLDB4M2UgfX0sCi0gezE2LCAweGI1MjAsIDAsIHsweGMwLDB4MGUsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGYzLDB4MDAsMHg3ZSwweDAxLDB4MGYsMHhiMCwweDkzLDB4ZWQsMHgwMCwweGY4IH19LAotIHsxNiwgMHhiNTMwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwZSwweGIwLDB4MDMsMHhmYywweDAwLDB4ZTMsMHgwOCwweDNjLDB4YzIsMHgwZiwweGQwLDB4MTMsMHhlMCB9fSwKLSB7MTYsIDB4YjU0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMywweDAyLDB4Y2MsMHgwMCwweDNiLDB4YzIgfX0sCi0gezE2LCAweGI1NTAsIDAsIHsweDBjLDB4ZjAsMHgyMywweGFlLDB4NDAsMHhkZiwweDgxLDB4MzksMHhjMCwweDA2LDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA0IH19LAotIHsxNiwgMHhiNTYwLCAwLCB7MHgzMSwweDQxLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGNjLDB4YTAsMHgzNywweGMyLDB4MGMsMHhmMCwweDAzLDB4N2MsMHgwNCB9fSwKLSB7MTYsIDB4YjU3MCwgMCwgezB4Y2QsMHgwMCwweDMzLDB4ZjAsMHgwYywweGQwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1ODAsIDAsIHsweDgxLDB4MDQsMHg2MCwweDAwLDB4ODgsMHg4MCwweDIyLDB4YzAsMHgwYSwweGIwLDB4MDIsMHhlOSwweDAwLDB4YWIsMHg0NCwweDJlIH19LAotIHsxNiwgMHhiNTkwLCAwLCB7MHhjMCwweDA4LDB4ODgsMHgwMiwweGVjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHg3MCwweDBhLDB4YjQsMHgwMiwweGNjLDB4MDAsMHhhMCB9fSwKLSB7MTYsIDB4YjVhMCwgMCwgezB4MjAsMHgyMiwweGMwLDB4MGYsMHhiYywweDAyLDB4Y2MsMHgwYSwweDhiLDB4ODAsMHhhMiwweGMwLDB4MGQsMHg5MCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGI1YjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjAsMHgwMCwweDg5LDB4ODAsMHgyYSwweGMwIH19LAotIHsxNiwgMHhiNWMwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHhjYywweDA2LDB4ODgsMHg2MCwweDJlLDB4YzAsMHgwYSwweDk4LDB4MDYsMHhlYywweDAxLDB4YmIsMHgwMCB9fSwKLSB7MTYsIDB4YjVkMCwgMCwgezB4MjIsMHgzMSwweDAyLDB4YjIsMHgwMiwweGVjLDB4YTAsMHg4YSwweDAwLDB4MjYsMHhjMCwweDQ4LDB4YTgsMHgwMiwweGVjLDB4MDQgfX0sCi0gezE2LCAweGI1ZTAsIDAsIHsweGE5LDB4ODAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNWYwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgzMCwweDQyLDB4Y2MsMHgwMCwweDgwLDB4MDEsMHgyYyB9fSwKLSB7MTYsIDB4YjYwMCwgMCwgezB4YzAsMHgxYSwweDEyLDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCwweDIwLDB4MDAsMHg0YSwweDMwLDB4MDIsMHhjYywweDAwLDB4YTAgfX0sCi0gezE2LCAweGI2MTAsIDAsIHsweDAwLDB4MDgsMHhjMCwweDBiLDB4MjAsMHgwNiwweGVjLDB4YTAsMHhhMywweDAwLDB4YTAsMHg0MCwweDI5LDB4MTAsMHgwMCwweDAyIH19LAotIHsxNiwgMHhiNjIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhjOCwweDUwLDB4M2IsMHhjMCB9fSwKLSB7MTYsIDB4YjYzMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4YWMsMHgwMCwweGM5LDB4MDAsMHgzYiwweGMwLDB4MGUsMHg5MiwweDgzLDB4ZmMsMHgwMCwweGJmLDB4MDAgfX0sCi0gezE2LCAweGI2NDAsIDAsIHsweDEyLDB4MDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwLDB4ODgsMHgyNiwweDE2LDB4YzAsMHgwYywweDgwLDB4MTcsMHg1YywweDgwIH19LAotIHsxNiwgMHhiNjUwLCAwLCB7MHhlOSwweDAxLDB4MzIsMHg0MCwweDJjLDB4ZDAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjY2MCwgMCwgezB4YTAsMHgxZCwweGQwLDB4MDAsMHhmYywweDIwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmYywweDAwLDB4M2YgfX0sCi0gezE2LCAweGI2NzAsIDAsIHsweGMwLDB4MGQsMHg4MCwweDAzLDB4ZmMsMHgwOCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgxMCwweGY4IH19LAotIHsxNiwgMHhiNjgwLCAwLCB7MHg0MCwweDM3LDB4YzAsMHgwZSwweGUwLDB4MjEsMHhmYywweDA4LDB4ZGYsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YjY5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGMwLDB4ZmYsMHgyMSwweDcxLDB4MjQgfX0sCi0gezE2LCAweGI2YTAsIDAsIHsweDBmLDB4ZjEsMHg4MywweGYyLDB4NDAsMHhmZiwweDAwLDB4MzcsMHhjNCwweDlmLDB4ZjIsMHg0NywweDNkLDB4MDQsMHhjNywweDIwIH19LAotIHsxNiwgMHhiNmIwLCAwLCB7MHgzMywweGMwLDB4MGMsMHg3OCwweDIzLDB4ZmUsMHg0MCwweGU4LDB4MTAsMHgyNywweGM0LDB4MGYsMHhmMiwweDEzLDB4M2MsMHg4NCB9fSwKLSB7MTYsIDB4YjZjMCwgMCwgezB4YzQsMHg4MSwweDMzLDB4MjAsMHg0YywweGYwLDB4MjMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2ZDAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDQwLDB4YmYsMHg1NCwweDYyLDB4YzgsMHgwYiwweGY2LDB4MDIsMHhlMCwweDAwLDB4YmIsMHhkMCwweDIyIH19LAotIHsxNiwgMHhiNmUwLCAwLCB7MHhmMCwweDFmLDB4ZjksMHgxMiwweDNkLDB4ODAsMHg5ZiwweDgxLDB4MmIsMHhlMCwweDBhLDB4YjgsMHgxMiwweGU4LDB4MDAsMHg4ZiB9fSwKLSB7MTYsIDB4YjZmMCwgMCwgezB4MDQsMHgyMiwweGQwLDB4MDgsMHhiMywweDhhLDB4YmYsMHg0MiwweDhiLDB4ODIsMHgyMiwweGUwLDB4MjgsMHg4YywweDAyLDB4MjAgfX0sCi0gezE2LCAweGI3MDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MjgsMHgyOCwweDA4IH19LAotIHsxNiwgMHhiNzEwLCAwLCB7MHgwYiwweDMwLDB4MDYsMHg4MCwweDgwLDB4YjMsMHgwMiwweDI0LDB4ZDEsMHgwYiwweDMwLDB4MDIsMHg4ZCwweDgwLDB4OTMsMHgxMCB9fSwKLSB7MTYsIDB4YjcyMCwgMCwgezB4MjAsMHhjZSwweDhiLDB4MzAsMHgwMiwweGNjLDB4ODQsMHhhMSwweDIxLDB4MmMsMHhjYywweDBhLDB4MzAsMHgwYSwweDRjLDB4MDAgfX0sCi0gezE2LCAweGI3MzAsIDAsIHsweDkzLDB4MDAsMHgyOCwweGMwLDB4MDgsMHgzYywweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNzQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgxMCwweGJiLDB4MDIsMHg2YSwweGUwLDB4MGIsMHhiMCwweDAyLDB4ZTEsMHgwOCwweGJiLDB4MDQsMHgyYSB9fSwKLSB7MTYsIDB4Yjc1MCwgMCwgezB4YzAsMHgwYSwweGIwLDB4MTIsMHg4YywweDAwLDB4OWIsMHgwMCwweDJhLDB4YzAsMHgwYiwweGIxLDB4MDYsMHhjOCwweDgwLDB4OGIgfX0sCi0gezE2LCAweGI3NjAsIDAsIHsweDgyLDB4NmEsMHhjMSwweDBhLDB4MzAsMHgwMiwweGFjLDB4MTgsMHg4OCwweDEwLDB4MmEsMHg0OCwweDA4LDB4ODAsMHgwMiwweDMwIH19LAotIHsxNiwgMHhiNzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4YWEsMHgzMCB9fSwKLSB7MTYsIDB4Yjc4MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4YTgsMHgwMCwweGYzLDB4MDEsMHhiNiwweGMxLDB4MGIsMHhiMCwweDAyLDB4YWMsMHgwOCwweDRiLDB4MDAgfX0sCi0gezE2LCAweGI3OTAsIDAsIHsweGIyLDB4YzAsMHgwZiwweGI4LDB4MDIsMHhlYywweDEwLDB4YTksMHg4MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgwYywweDAwIH19LAotIHsxNiwgMHhiN2EwLCAwLCB7MHhjYiwweGEwLDB4MTgsMHhkMCwweDBjLDB4YjAsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjdiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDgsMHhmNywweDAwLDB4MzcsMHgwMCwweDBmLDB4ZjAsMHgwMywweGZkLDB4MDAsMHhmZiwweDAwLDB4MzcgfX0sCi0gezE2LCAweGI3YzAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDA3LDB4N2MsMHgwMCwweGU3LDB4MDAsMHgzZSwweGMwLDB4MGEsMHhmMCwweDAzLDB4ZmUsMHgwMCwweGY3IH19LAotIHsxNiwgMHhiN2QwLCAwLCB7MHgwMCwweDM2LDB4YzAsMHgwYywweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHg4MCwweDM3LDB4ZTAsMHgwZiwweGEwLDB4MDMsMHhiOCB9fSwKLSB7MTYsIDB4YjdlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZGIsMHgwMCwweDM2LDB4MDAgfX0sCi0gezE2LCAweGI3ZjAsIDAsIHsweDBlLDB4YjAsMHgwMywweDY5LDB4MDAsMHhkYiwweDA5LDB4M2EsMHhjMCwweDFmLDB4MzAsMHgyMywweGVjLDB4MDgsMHhjYiwweDIwIH19LAotIHsxNiwgMHhiODAwLCAwLCB7MHgzNCwweGMwLDB4MmYsMHhiMCwweDAzLDB4ZWMsMHg0MCwweGViLDB4NDgsMHgzZSwweGM0LDB4NGQsMHhiMCwweDhiLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4YjgxMCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4OTAsMHgwZiwweDMwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4MjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDIyLDB4MDAsMHg0OCwweGYwLDB4MjIsMHgyYywweDAwLDB4OGYsMHgwMCwweDIzIH19LAotIHsxNiwgMHhiODMwLCAwLCB7MHhlMCwweDhiLDB4ZjUsMHgxMCwweDNjLDB4MDAsMHg4ZiwweDgwLDB4MjMsMHhmMCwweDgwLDB4OTgsMHgwMywweDJkLDB4NDQsMHhkYiB9fSwKLSB7MTYsIDB4Yjg0MCwgMCwgezB4MDAsMHgyMywweGQ0LDB4MDgsMHhmOCwweDAyLDB4M2MsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMwLDB4MGIsMHhhNCwweDgyLDB4MzIgfX0sCi0gezE2LCAweGI4NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDkzLDB4MDAsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiODYwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHg4NCwweDAwLDB4YjMsMHgwMSwweDI4LDB4ZjYsMHgwOSwweDM0LDB4MzIsMHg4YywweDAxLDB4YjMsMHhkMCB9fSwKLSB7MTYsIDB4Yjg3MCwgMCwgezB4MjQsMHhlOCwweDBhLDB4MzEsMHgwYSwweDg2LDB4MDAsMHg4MywweDAwLDB4MmEsMHhlMCwweDAwLDB4MzAsMHgwMiwweDhjLDB4MDAgfX0sCi0gezE2LCAweGI4ODAsIDAsIHsweDgzLDB4MDAsMHgyOCwweGMwLDB4ODksMHgzOCwweGEyLDB4NzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiODkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweDk3LDB4OTQsMHgyMywweGUwLDB4MDksMHgzOCwweDAyLDB4MzIsMHgwMCwweDk3LDB4YTEsMHgyMSB9fSwKLSB7MTYsIDB4YjhhMCwgMCwgezB4ZTQsMHgwYiwweDc4LDB4MDIsMHgxZSwweDQwLDB4YjcsMHhhMCwweDI1LDB4ZWMsMHgwOCwweGZjLDB4MDIsMHgzYSwweDAwLDB4OTMgfX0sCi0gezE2LCAweGI4YjAsIDAsIHsweGI4LDB4MjEsMHhlMCwweDA4LDB4NzgsMHg4MiwweDllLDB4NDAsMHg4NywweGMwLDB4MjksMHhhMCwweDBiLDB4NTgsMHgwMiwweDQ4IH19LAotIHsxNiwgMHhiOGMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDJjLDB4MDAsMHhkYiwweDAwLDB4MzQsMHgyMCB9fSwKLSB7MTYsIDB4YjhkMCwgMCwgezB4MGYsMHgzYSwweDAzLDB4OGUsMHgwMCwweGYzLDB4YjAsMHgyOCwweGM0LDB4MGIsMHgzYSwweDAzLDB4YWUsMHg0MCwweGYzLDB4YTAgfX0sCi0gezE2LCAweGI4ZTAsIDAsIHsweDM0LDB4ZWUsMHgwZiwweDMwLDB4MjMsMHg4NCwweDAwLDB4ZTMsMHhmMCwweDM4LDB4YzAsMHgwYywweGIwLDB4MGIsMHg4ZSwweDQyIH19LAotIHsxNiwgMHhiOGYwLCAwLCB7MHhjMywweDAwLDB4MzgsMHhjMCwweDBmLDB4MzAsMHg2MywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjkwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlYiwweDQyLDB4M2EsMHhjNCwweDFlLDB4YjEsMHgwNywweDg4LDB4ZDEsMHhlMywweDAwLDB4M2YgfX0sCi0gezE2LCAweGI5MTAsIDAsIHsweGM1LDB4OGYsMHhmMSwweDYzLDB4YWMsMHgxMCwweGNiLDB4NTAsMHgzYiwweGMzLDB4MGYsMHhkMSwweDAzLDB4YzgsMHgwMCwweGJiIH19LAotIHsxNiwgMHhiOTIwLCAwLCB7MHgyMCwweDNiLDB4YzAsMHgyZSwweGYxLDB4MDMsMHgxYywweDAwLDB4ZmYsMHgwMCwweDM3LDB4YzAsMHg0ZiwweGQxLDB4MDMsMHg5MCB9fSwKLSB7MTYsIDB4YjkzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4ZmIsMHg0NCwweGIyLDB4YzAgfX0sCi0gezE2LCAweGI5NDAsIDAsIHsweDRmLDB4YjMsMHg0MywweDI0LDB4MDAsMHhkYiwweDEwLDB4MzYsMHhjMCwweDRjLDB4YmUsMHgyMiwweDZkLDB4MjAsMHhjYiwweDUwIH19LAotIHsxNiwgMHhiOTUwLCAwLCB7MHgzZSwweGM5LDB4NGMsMHhiMCwweDEzLDB4MjQsMHgwMCwweGNmLDB4MjAsMHgzMywweGMwLDB4M2QsMHhmMCwweDIzLDB4MmMsMHhjMCB9fSwKLSB7MTYsIDB4Yjk2MCwgMCwgezB4ZDgsMHgwMCwweDNlLDB4NDAsMHg4ZiwweDMwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5NzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDA0LDB4YjcsMHg2MCwweDIxLDB4YzEsMHg4YiwweGYwLDB4YTIsMHgxNCwweDEwLDB4ODcsMHgwMCwweDBmIH19LAotIHsxNiwgMHhiOTgwLCAwLCB7MHhjOCwweDBkLDB4NzEsMHgwYSwweDFkLDB4MDAsMHg4NywweDAwLDB4MmMsMHhjYywweDQ4LDB4NzAsMHgyYSwweDljLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4Yjk5MCwgMCwgezB4MGMsMHgyMSwweGMwLDB4MGMsMHg3MiwweDAyLDB4MGMsMHhhMiwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGI5YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGIzLDB4ODAsMHgyMSwweGUwIH19LAotIHsxNiwgMHhiOWIwLCAwLCB7MHgwYiwweDdhLDB4MDIsMHhkZSwweDAwLDB4YjcsMHg4MSwweDA1LDB4ZTQsMHgwOCwweDc5LDB4MDIsMHg1YywweDgwLDB4ODcsMHhhMCB9fSwKLSB7MTYsIDB4YjljMCwgMCwgezB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwNiwweGI2LDB4MDAsMHg4NywweDgwLDB4MjAsMHhlNCwweDBhLDB4N2IsMHgxMiwweDFlLDB4OTAgfX0sCi0gezE2LCAweGI5ZDAsIDAsIHsweDk3LDB4ODgsMHgyZCwweGUwLDB4MGIsMHg3OCwweDBlLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOWUwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyMCwweGQwLDB4MGIsMHhiMCwweDAyLDB4NmUsMHgzNCwweGEzLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4YjlmMCwgMCwgezB4YzEsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YzAsMHg0OCwweDEwLDB4MDIsMHg4ZCwweDgwLDB4ODMgfX0sCi0gezE2LCAweGJhMDAsIDAsIHsweGMwLDB4MDAsMHhjMCwweDhhLDB4MzAsMHgxMiwweDBjLDB4MDAsMHg4MCwweDAwLDB4MmMsMHgxNiwweDBiLDB4MzgsMHgwMiwweDEyIH19LAotIHsxNiwgMHhiYTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4MzMsMHg4OCB9fSwKLSB7MTYsIDB4YmEyMCwgMCwgezB4MGYsMHhhMCwweDAzLDB4NzksMHg5MCwweGZhLDB4MDEsMHgzNiwweDgwLDB4MWMsMHhhMCwweDAzLDB4NjgsMHgwMCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGJhMzAsIDAsIHsweDNlLDB4ODEsMHgyYywweGEwLDB4MGIsMHhiOSwweDBjLDB4Y2UsMHhlMiwweGIyLDB4ODAsMHg4ZSwweGEwLDB4MGIsMHgyOCwweDAwIH19LAotIHsxNiwgMHhiYTQwLCAwLCB7MHhkYSwweDgwLDB4M2MsMHhiMCwweDBmLDB4ZTAsMHg4MywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmE1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEwLDB4MDAsMHhjOCwweDAwLDB4MmUgfX0sCi0gezE2LCAweGJhNjAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDIzLDB4YTAsMHgwMCwweGYwLDB4NDAsMHgzZSwweDEwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMiwweGY4IH19LAotIHsxNiwgMHhiYTcwLCAwLCB7MHg0OCwweDNlLDB4MTAsMHgwYywweDgwLDB4MDMsMHhjMCwweDEwLDB4ZjgsMHg4MCwweDNlLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4YmE4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDM2LDB4NDIgfX0sCi0gezE2LCAweGJhOTAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI0LDB4MTgsMHhmOSwweDEwLDB4M2MsMHg0OCwweDY4LDB4OTIsMHgxMywweGU0LDB4MDAsMHhhOSwweDExIH19LAotIHsxNiwgMHhiYWEwLCAwLCB7MHhiMiwweDYwLDB4MGUsMHg5MSwweDAzLDB4MjYsMHgwMCwweGM5LDB4MDAsMHgzMiwweDYwLDB4MGMsMHgxMCwweDAzLDB4MjQsMHgwOCB9fSwKLSB7MTYsIDB4YmFiMCwgMCwgezB4YzksMHgwMCwweDNlLDB4NDAsMHgwYywweDkwLDB4MjMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhhNCwweDA4LDB4ODksMHgwMCwweDJlIH19LAotIHsxNiwgMHhiYWQwLCAwLCB7MHg0MiwweDQ4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHg4OSwweDgwLDB4MjIsMHg3MCwweDA4LDB4MTQsMHgyMiwweGE0LDB4MDIsMHg4OSB9fSwKLSB7MTYsIDB4YmFlMCwgMCwgezB4NDIsMHgyYSwweDcwLDB4MjgsMHg5MCwweDBhLDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDAyLDB4YTAgfX0sCi0gezE2LCAweGJhZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDk5LDB4MDAsMHgyNiwweGMwIH19LAotIHsxNiwgMHhiYjAwLCAwLCB7MHgwMywweDkwLDB4MDIsMHgyNCwweDAxLDB4YTksMHgwMCwweDBlLDB4NDAsMHgwYSwweDkwLDB4NDYsMHhjNCwweDBhLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4YmIxMCwgMCwgezB4MjAsMHg0OCwweDBhLDB4OTAsMHgwMiwweDA1LDB4ODAsMHg4MSwweDQxLDB4YTAsMHg1OCwweDg4LDB4OTAsMHgwMiwweDI0LDB4MDggfX0sCi0gezE2LCAweGJiMjAsIDAsIHsweDhkLDB4ODAsMHgyZiwweGMwLDB4MDgsMHg5OCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYjMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQwLDB4MGIsMHgxMiwweDAyLDB4ODQsMHgwMCwweDgxLDB4MjQsMHgyYyB9fSwKLSB7MTYsIDB4YmI0MCwgMCwgezB4NTgsMHgwYSwweDMyLDB4MjIsMHhjNSwweDg0LDB4YTEsMHgwMCwweDIwLDB4NTAsMHgwOCwweGIwLDB4MDIsMHg4NSwweDA4LDB4ODEgfX0sCi0gezE2LCAweGJiNTAsIDAsIHsweDQwLDB4MjAsMHg1YSwweDA4LDB4MTYsMHg4MiwweDA0LDB4MDAsMHhhNSwweDAwLDB4MmQsMHg0MCwweDA4LDB4MTIsMHg4MiwweDgyIH19LAotIHsxNiwgMHhiYjYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4MzYsMHgxNCB9fSwKLSB7MTYsIDB4YmI3MCwgMCwgezB4MGYsMHg4NSwweDIzLDB4MDEsMHg0MCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHg4MCwweDQzLDB4YzAsMHgwOCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGJiODAsIDAsIHsweDMyLDB4ODAsMHgwZSwweDgwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgwMCwweDMyLDB4MDgsMHgyYywweDAyLDB4MDMsMHgyMCwweDA4IH19LAotIHsxNiwgMHhiYjkwLCAwLCB7MHhjOCwweDAwLDB4M2YsMHgwMCwweDBjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmJhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YsMHg0MCwweDBmLDB4OTEsMHg0MywweGY0LDB4MDQsMHhmOSwweDEwLDB4M2UgfX0sCi0gezE2LCAweGJiYjAsIDAsIHsweDQ0LDB4MGQsMHgxMSwweDAzLDB4ZTQsMHg0NCwweDU5LDB4NDAsMHgzZSwweDUwLDB4NGYsMHg1MCwweDQzLDB4ZDQsMHgwMiwweGZkIH19LAotIHsxNiwgMHhiYmMwLCAwLCB7MHg0MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MGIsMHhlNSwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweGQwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4YmJkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHg2NiwweDYwLDB4YzksMHhlMCwweDMyLDB4NDQgfX0sCi0gezE2LCAweGJiZTAsIDAsIHsweDBmLDB4OWMsMHgwMywweGU0LDB4MDAsMHhkZCwweDg0LDB4M2YsMHg2OCwweDhmLDB4ZDgsMHg0MiwweGU2LDB4YTAsMHhkZCwweGE0IH19LAotIHsxNiwgMHhiYmYwLCAwLCB7MHgzMywweDY4LDB4MGQsMHg3MCwweDAzLDB4MjUsMHgwMCwweGM5LDB4ZTAsMHhiMiwweDY4LDB4MGMsMHg5YSwweGMzLDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4YmMwMCwgMCwgezB4OTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDAwLDB4ODgsMHg4MCwweGFhLDB4MjAsMHg4YiwweDg4LDB4MDIsMHhlMiwweDg4LDB4YjgsMHgwMSwweDJlIH19LAotIHsxNiwgMHhiYzIwLCAwLCB7MHgwMCwweDBiLDB4ODQsMHgwMiwweGUyLDB4YjAsMHg4OCwweDUwLDB4MjIsMHgxNCwweDA4LDB4ODAsMHgwMiwweDgyLDB4ODAsMHg4OCB9fSwKLSB7MTYsIDB4YmMzMCwgMCwgezB4ZTAsMHhiNiwweDNhLDB4MDgsMHhjZSwweGEyLDB4MjEsMHgwOCwweDg4LDB4MDAsMHgyZSwweDAwLDB4MGIsMHhjNCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGJjNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4NjAsMHg2OCwweDQ4IH19LAotIHsxNiwgMHhiYzUwLCAwLCB7MHg1YiwweDE2LDB4MDIsMHhjNCwweDIwLDB4YTEsMHg0MCwweDZjLDB4NTAsMHgwYiwweDE0LDB4MDIsMHhjNCwweDAwLDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4YmM2MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4OTAsMHgyMiwweDE0LDB4OTAsMHg4NSwweDQyLDB4MjEsMHg1MCwweDViLDB4NTAsMHgxYSwweDE1LDB4MDAgfX0sCi0gezE2LCAweGJjNzAsIDAsIHsweDk1LDB4MDAsMHgyZCwweDQwLDB4MGIsMHg1MSwweDBhLDB4ODIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMSwweDg5LDB4MDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDQ2LDB4ZTQsMHgwMCwweGI5LDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4YmM5MCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MjAsMHhlNCwweDAwLDB4YjksMHgwMCwweDI2LDB4NDAsMHgxOCwweGI4LDB4MDIsMHhhNCwweDAyLDB4OGQgfX0sCi0gezE2LCAweGJjYTAsIDAsIHsweDA4LDB4MmYsMHg0MCwweDhiLDB4ZDAsMHgwMiwweDI0LDB4MDAsMHg4ZCwweDIwLDB4MmYsMHg0OCwweDBiLDB4ZDAsMHgwMiwweDg2IH19LAotIHsxNiwgMHhiY2IwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4YmNjMCwgMCwgezB4MGYsMHg5MCwweDAyLDB4ZTQsMHgxMCwweDQ5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGU5LDB4MDEgfX0sCi0gezE2LCAweGJjZDAsIDAsIHsweDM2LDB4NDAsMHgwZiwweDE4LDB4MTMsMHgyNCwweDEwLDB4YzksMHg4MiwweDMyLDB4NDAsMHg3ZiwweDkwLDB4MjMsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiY2UwLCAwLCB7MHhkOSwweDIwLDB4M2UsMHg3MiwweDBmLDB4OTAsMHgwMywweGE4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmNmMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDIsMHhmMSwweDAxLDB4MTYsMHg0MCwweDRmLDB4OTAsMHgwMywweGU1LDB4MTAsMHhmOSwweDA4LDB4MmUgfX0sCi0gezE2LCAweGJkMDAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwMCwweGM5LDB4MDEsMHgzYSwweDQwLDB4MWYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhiZDEwLCAwLCB7MHgyMCwweDM0LDB4NDAsMHg4YywweDkwLDB4MDMsMHhjNCwweDA4LDB4ZjksMHgwMCwweDNlLDB4NjAsMHgwZiwweDEwLDB4MDMsMHg0YSB9fSwKLSB7MTYsIDB4YmQyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4ZjgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGJkMzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhlOCwweDAwLDB4M2UsMHgwMiwweDRmLDB4ODAsMHgxMywweGUwLDB4MDAsMHhkMCwweDAwIH19LAotIHsxNiwgMHhiZDQwLCAwLCB7MHgzZSwweDAwLDB4MGUsMHg4MSwweDAzLDB4MzAsMHgwMCwweGNjLDB4NDAsMHgzMywweDAwLDB4MGMsMHhjMCwweDBiLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4YmQ1MCwgMCwgezB4ZTgsMHgwMCwweDNlLDB4MTAsMHgwZiwweGMwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4YmEsMHgwMCwweDIyLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4YmUsMHhjOCwweDZmIH19LAotIHsxNiwgMHhiZDcwLCAwLCB7MHg4MCwweDBiLDB4ZTEsMHgyMiwweGE4LDB4MDAsMHg4ZSwweDIwLDB4MmYsMHg4MCwweDBiLDB4ZTAsMHgyMywweDY4LDB4MDAsMHg4YSB9fSwKLSB7MTYsIDB4YmQ4MCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhlMCwweDAyLDB4MjksMHgwMCwweDhhLDB4MDAsMHgyZSwweGE4LDB4MGIsMHhhMCwweDAwLDB4Y2EgfX0sCi0gezE2LCAweGJkOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwIH19LAotIHsxNiwgMHhiZGEwLCAwLCB7MHgwOSwweDMwLDB4MDIsMHgwYywweDAwLDB4YjMsMHhjMSwweDJjLDB4ZTAsMHgwYiwweDM4LDB4NTYsMHgyYywweDEwLDB4MTMsMHgwMCB9fSwKLSB7MTYsIDB4YmRiMCwgMCwgezB4MmUsMHhjMCwweDBhLDB4MzgsMHg2YSwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjAsMHgwMCwweDA5LDB4ODAsMHgyMiwweDRjLDB4NDIgfX0sCi0gezE2LCAweGJkYzAsIDAsIHsweGEzLDB4MDAsMHgyYywweGUwLDB4MGIsMHgyNCwweDgwLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZGQwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwOCwweGI3LDB4MjQsMHgyZiwweGUwLDB4MDksMHgzOSwweDAyLDB4MWMsMHgwMSwweGI2LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YmRlMCwgMCwgezB4OTAsMHgwYiwweDYwLDB4OTIsMHg4ZSwweDAwLDB4ODYsMHg4MiwweDJkLDB4YzIsMHgwYiwweGYwLDB4MDIsMHg1YywweDA2LDB4ODcgfX0sCi0gezE2LCAweGJkZjAsIDAsIHsweDAwLDB4NjAsMHhjMCwweDI5LDB4NzAsMHgwMiwweDVjLDB4MDAsMHg4NiwweDAwLDB4MmQsMHhjMCwweDBiLDB4NjAsMHgwMiwweGU4IH19LAotIHsxNiwgMHhiZTAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFmLDB4NDAsMHhmMywweGU0LDB4M2QsMHhlOCB9fSwKLSB7MTYsIDB4YmUxMCwgMCwgezB4MGQsMHg3OSwweDBiLDB4MWUsMHhjMCwweDY3LDB4ODAsMHgyZCwweGUwLDB4MGYsMHg3MCwweDQzLDB4MWQsMHg4MCwweGQ1LDB4MDAgfX0sCi0gezE2LCAweGJlMjAsIDAsIHsweDNkLDB4NjAsMHgwZSwweDc4LDB4MDMsMHgxZSwweDAwLDB4Y2QsMHg4MCwweDMxLDB4ZTAsMHgwZCwweGM4LDB4MDMsMHg0ZSwweDAwIH19LAotIHsxNiwgMHhiZTMwLCAwLCB7MHhlNSwweDgwLDB4M2QsMHhlMCwweDBmLDB4NDgsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmU0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4ODAsMHhmYiwweDAwLDB4NzAsMHhjMCwweDZlLDB4YjYsMHgxMywweGFkLDB4NDAsMHhmYSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGJlNTAsIDAsIHsweGMwLDB4MGYsMHgyMCwweDQzLDB4MmQsMHgxOCwweDU5LDB4MDAsMHgzZSwweDAwLDB4MDMsMHhiMCwweDBiLDB4ZTAsMHgwMCwweGZhIH19LAotIHsxNiwgMHhiZTYwLCAwLCB7MHgwMCwweGJlLDB4MDAsMHgwZSwweGIwLDB4MTMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YmU3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDQwLDB4ZmYsMHg4MCwweDNmLDB4ZTYgfX0sCi0gezE2LCAweGJlODAsIDAsIHsweDBmLDB4ZjgsMHgyMywweDJlLDB4MDQsMHhmZiwweDkwLDB4M2YsMHhlNCwweDBkLDB4YmEsMHgwMywweGZmLDB4NDAsMHhjZiwweDgwIH19LAotIHsxNiwgMHhiZTkwLCAwLCB7MHgyMiwweGUxLDB4MGMsMHgzOSwweDQzLDB4MzIsMHgxMCwweGVjLDB4OTAsMHgzMywweDIwLDB4OGUsMHhjOCwweDAzLDB4ZjIsMHgwMCB9fSwKLSB7MTYsIDB4YmVhMCwgMCwgezB4ZGYsMHg4MCwweDNmLDB4NjAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlYjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDQwLDB4YjcsMHg5MCwweDNjLDB4ZTAsMHgwYiwweDNhLDB4MDMsMHg0ZSwweDgwLDB4ZjMsMHhiMSwweDJkIH19LAotIHsxNiwgMHhiZWMwLCAwLCB7MHgwNCwweDRjLDB4MzgsMHgyMywweGFlLDB4MDAsMHg4MCwweDgwLDB4MzQsMHhlOCwweDRkLDB4NzgsMHgwMiwweDNlLDB4ODAsMHg4NyB9fSwKLSB7MTYsIDB4YmVkMCwgMCwgezB4YTAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4YzAsMHg4MCwweDg2LDB4MDIsMHgyZCwweDQxLDB4MGIsMHg3MCwweDAyLDB4ZWEgfX0sCi0gezE2LCAweGJlZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0OCwweDM3LDB4MDEsMHgyZCwweGM5IH19LAotIHsxNiwgMHhiZWYwLCAwLCB7MHgwYiwweDcyLDB4MjIsMHgxYywweDg0LDB4YjUsMHgxNiwweDBkLDB4YzQsMHgxOSwweDQwLDB4NDIsMHhkYywweDgwLDB4ODcsMHgwMCB9fSwKLSB7MTYsIDB4YmYwMCwgMCwgezB4MjAsMHhjOCwweDg4LDB4NzMsMHgwYSwweDljLDB4ODAsMHhiNSwweDAwLDB4MjksMHhjMCwweDBhLDB4NDgsMHgwMiwweGMwLDB4MDIgfX0sCi0gezE2LCAweGJmMTAsIDAsIHsweDk1LDB4MDAsMHgyZCwweDQyLDB4MGIsMHg1OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZjIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYSwweGUwLDB4MGIsMHgzMCwweDAyLDB4NGMsMHgyMCwweGExLDB4MDEsMHgyNCB9fSwKLSB7MTYsIDB4YmYzMCwgMCwgezB4YzEsMHgwOCwweDAwLDB4MDIsMHg4YywweDAwLDB4ODEsMHgwMCwweDI0LDB4ODAsMHgwOSwweDM4LDB4MGEsMHg2MCwweDgwLDB4OTIgfX0sCi0gezE2LCAweGJmNDAsIDAsIHsweDQwLDB4MmEsMHgwMCwweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAsMHg4MCwweGM4LDB4MmMsMHg3MiwweDBiLDB4MTQsMHgwMiwweGM4IH19LAotIHsxNiwgMHhiZjUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmZiwweDAwLDB4MmYsMHhmNCB9fSwKLSB7MTYsIDB4YmY2MCwgMCwgezB4OGYsMHhmMCwweDAzLDB4M2MsMHgwMCwweGI5LDB4MDAsMHgzZSwweDQwLDB4MDksMHg5MCwweDAzLDB4ZmMsMHgwMiwweGMzLDB4MDEgfX0sCi0gezE2LCAweGJmNzAsIDAsIHsweDMyLDB4YzAsMHg0OCwweGI4LDB4MTMsMHhhMSwweDAwLDB4YmEsMHgwMCwweDJhLDB4MDAsMHgwYSwweGEwLDB4MDcsMHhlYywweDAwIH19LAotIHsxNiwgMHhiZjgwLCAwLCB7MHhkYiwweGM4LDB4M2UsMHg5MCwweDBmLDB4YTIsMHgwMiwweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmY5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2UsMHhjNCwweDBmLDB4YjAsMHg2MywweGVjLDB4MDEsMHhmOCwweDQwLDB4M2UgfX0sCi0gezE2LCAweGJmYTAsIDAsIHsweDQwLDB4MGIsMHg4MCwweDAzLDB4Y2MsMHgwMCwweGZhLDB4NDIsMHgzZSwweGMwLDB4MGYsMHhiNSwweDAwLDB4YWMsMHg1OCwweGU5IH19LAotIHsxNiwgMHhiZmIwLCAwLCB7MHg4MiwweDNlLDB4YzAsMHgxZCwweDkwLDB4MDMsMHhlYywweDA0LDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YmZjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDBjLDB4ZGYsMHgwMCwweDdmLDB4YzAgfX0sCi0gezE2LCAweGJmZDAsIDAsIHsweDJjLDB4ZjAsMHgwMywweDdjLDB4MDEsMHhjNywweDAwLDB4MzMsMHg0MCwweDhmLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhkOCwweDAwIH19LAotIHsxNiwgMHhiZmUwLCAwLCB7MHgxNSwweDQ0LDB4MGMsMHhlMCwweDFiLDB4M2MsMHgwMCwweGNiLDB4MGUsMHgzMywweGMwLDB4NWMsMHg2MiwweDAyLDB4MWMsMHgwMiB9fSwKLSB7MTYsIDB4YmZmMCwgMCwgezB4YzUsMHgwMCwweDJiLDB4ODAsMHgwZiwweGMwLDB4ODcsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwMDAsIDAsIHsweDgxLDB4NDQsMHg2YywweDEwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwOCwweGIwLDB4NTIsMHgwYywweDAxLDB4ZmEsMHhjNCwweDIyIH19LAotIHsxNiwgMHhjMDEwLCAwLCB7MHg2MSwweDBiLDB4ODgsMHgwMywweDZjLDB4MDAsMHg4OCwweDQ3LDB4MmEsMHgwMCwweDBlLDB4MWMsMHgwMiwweDIwLDB4MDIsMHg4OCB9fSwKLSB7MTYsIDB4YzAyMCwgMCwgezB4MDAsMHhhYSwweDAwLDB4MjgsMHg5MCwweDBhLDB4MmMsMHgwNCwweGE4LDB4MDAsMHgyMiwweDkwLDB4MGIsMHg4MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGMwMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxIH19LAotIHsxNiwgMHhjMDQwLCAwLCB7MHgwOCwweDMwLDB4MTIsMHg2YywweDAwLDB4ODgsMHg4OCwweDJhLDB4MzAsMHgwYiwweGI4LDB4MDIsMHhlYywweDAwLDB4OWIsMHgwOCB9fSwKLSB7MTYsIDB4YzA1MCwgMCwgezB4MmEsMHg0MCwweDA4LDB4YjgsMHgwMiwweDIwLDB4MDAsMHg4MiwweDEwLDB4MjIsMHgwMCwweDA4LDB4YTAsMHgyMiwweGEwLDB4MDAgfX0sCi0gezE2LCAweGMwNjAsIDAsIHsweDhiLDB4MDAsMHgyYSwweDAyLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDcwLCAwLCB7MHgwOCwweDAwLDB4MGMsMHgwMCwweGIzLDB4MjAsMHgyYywweGMyLDB4MDgsMHgzNiwweDAyLDB4MmMsMHhjMCwweGEwLDB4MDgsMHgyMCB9fSwKLSB7MTYsIDB4YzA4MCwgMCwgezB4MDAsMHgwYiwweDMzLDB4NDYsMHhjZCwweDI4LDB4ODAsMHgyMCwweDI4LDB4YzAsMHgwYiwweDMyLDB4MDIsMHgwYywweDIwLDB4ODEgfX0sCi0gezE2LCAweGMwOTAsIDAsIHsweDMwLDB4MjgsMHhjMCwweDA4LDB4MTAsMHgwMiwweDgxLDB4MDAsMHhhYSwweDAwLDB4MjgsMHgwMCwweDAzLDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhjMGEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDdjLDB4MDAsMHhmYiwweDI4LDB4MmUsMHhjYyB9fSwKLSB7MTYsIDB4YzBiMCwgMCwgezB4MGMsMHg3MCwweDUzLDB4N2QsMHgwOSwweDg4LDB4MDAsMHhiYSwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZmQsMHg4MCwweGRhLDB4NjAgfX0sCi0gezE2LCAweGMwYzAsIDAsIHsweDNhLDB4NTAsMHg4YywweGEyLDB4ODMsMHgyYywweDgwLDB4NGIsMHgyMCwweDMwLDB4YzAsMHgyOCwweGEwLDB4MDMsMHhhMSwweDAwIH19LAotIHsxNiwgMHhjMGQwLCAwLCB7MHhjOSwweDAwLDB4M2EsMHgwMCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzBlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmYiwweDAwLDB4N2UsMHhjOSwweDBiLDB4YjYsMHgwMywweGZjLDB4YzAsMHhmOCwweDBjLDB4M2YgfX0sCi0gezE2LCAweGMwZjAsIDAsIHsweDAwLDB4NGYsMHhjMywweDQzLDB4MmMsMHgwMCwweGI4LDB4MzgsMHgzZiwweDhlLDB4NWUsMHhmMCwweDQzLDB4ZTAsMHgxMCwweGY4IH19LAotIHsxNiwgMHhjMTAwLCAwLCB7MHgzMCwweDNmLDB4MDEsMHgwZiwweGQwLDB4MDMsMHg3MCwweDAwLDB4ZmMsMHgwMCwweDM3LDB4MDAsMHgwZCwweGQwLDB4MDcsMHhlOSB9fSwKLSB7MTYsIDB4YzExMCwgMCwgezB4MDMsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweGUwLDB4Y2MsMHg4MCwweDMzLDB4YzAgfX0sCi0gezE2LCAweGMxMjAsIDAsIHsweDBkLDB4ZjAsMHg4MywweGZjLDB4ODAsMHhkYywweDk0LDB4MzMsMHhjMCwweDFjLDB4ZjEsMHgwMywweDdkLDB4OGMsMHhmZiwweDMwIH19LAotIHsxNiwgMHhjMTMwLCAwLCB7MHgzZiwweDMwLDB4OGYsMHhjOCwweDAzLDB4N2UsMHgxMCwweGNmLDB4OTAsMHgzOSwweGEwLDB4OGQsMHhmOCwweDAzLDB4YWUsMHgwMCB9fSwKLSB7MTYsIDB4YzE0MCwgMCwgezB4ZDUsMHg4MCwweDEzLDB4ZTAsMHgwYywweDU4LDB4MDMsMHhmMCwweDAxLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxNTAsIDAsIHsweDgwLDB4MTAsMHhkZCwweDA4LDB4ODgsMHgwMCwweDIzLDB4YzQsMHgwOCwweGZjLDB4MDIsMHhlYywweGE4LDB4Y2IsMHgyMCwweDIxIH19LAotIHsxNiwgMHhjMTYwLCAwLCB7MHhjMiwweDBkLDB4ZjcsMHgxMiwweDFjLDB4NDAsMHhkZiwweDMwLDB4MjIsMHhhMCwweDBiLDB4ODgsMHgwMiwweDJlLDB4MDQsMHhkYiB9fSwKLSB7MTYsIDB4YzE3MCwgMCwgezB4MjEsMHgyMiwweGMwLDB4MDgsMHhiOCwweDIyLDB4MmUsMHgwMCwweGI5LDB4ODAsMHgyYSwweDYwLDB4MGEsMHg4OCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGMxODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDQ1LDB4Y2MsMHgxMCwweDgwLDB4MmMsMHgyOCwweGNhIH19LAotIHsxNiwgMHhjMTkwLCAwLCB7MHg2OCwweDMwLDB4MDIsMHg4ZCwweDAwLDB4OWIsMHgyMCwweDI4LDB4YzQsMHgwOCwweDMyLDB4MDIsMHhjYywweDEwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4YzFhMCwgMCwgezB4MjQsMHgwOCwweDBiLDB4ODAsMHg0MiwweDZjLDB4MDAsMHg4MywweDAwLDB4MmEsMHhjYSwweDNhLDB4YjAsMHgwMiwweDhjLDB4MDQgfX0sCi0gezE2LCAweGMxYjAsIDAsIHsweGIwLDB4MDQsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4ZTMsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMWMwLCAwLCB7MHhjMCwweDE1LDB4OGMsMHgwMiwweDgwLDB4NDAsMHhhYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZWMsMHgwMCwweDliLDB4MjAsMHgyYSB9fSwKLSB7MTYsIDB4YzFkMCwgMCwgezB4YzAsMHg4OCwweGIwLDB4MDIsMHhhYywweDAwLDB4OWIsMHgwMCwweDI2LDB4ZTAsMHgwMywweDgwLDB4ODIsMHgyYywweDI4LDB4OWIgfX0sCi0gezE2LCAweGMxZTAsIDAsIHsweDIwLDB4MjIsMHhlMSwweDBiLDB4YjIsMHgwMiwweGFjLDB4ODAsMHhiOCwweDgwLDB4MmEsMHhjMSwweDBhLDB4OTgsMHgwMiwweGYwIH19LAotIHsxNiwgMHhjMWYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjOCwweDUwLDB4M2EsMHhjMCB9fSwKLSB7MTYsIDB4YzIwMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGRiLDB4ODgsMHhiYSwweGMwLDB4MDgsMHhiMCwweDAzLDB4NmMsMHgwOCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGMyMTAsIDAsIHsweDM2LDB4NjAsMHgwZiwweDhjLDB4NjMsMHg2YywweDAwLDB4Y2IsMHhjMCwweDNhLDB4ODAsMHgwZSwweGJlLDB4MDMsMHhhZiwweDg0IH19LAotIHsxNiwgMHhjMjIwLCAwLCB7MHg3OSwweDgwLDB4M2EsMHg4OCwweDA0LDB4OTgsMHgwMSwweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzIzMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDgwLDB4MzUsMHhjMCwweDRmLDB4ZjAsMHgwMywweGRjLDB4MDAsMHhlZiwweDAwLDB4MzcgfX0sCi0gezE2LCAweGMyNDAsIDAsIHsweGMwLDB4YWYsMHhmMCwweDAzLDB4MWMsMHgwMSwweDZmLDB4MDAsMHgxMywweDAwLDB4MGYsMHhjMSwweDIzLDB4ZmMsMHhiOCwweGZmIH19LAotIHsxNiwgMHhjMjUwLCAwLCB7MHgwNCwweDM3LDB4YzAsMHgwYywweGY4LDB4NDMsMHg3ZSwweDA0LDB4ZmQsMHgwMCwweDNmLDB4MDQsMHgwZiwweGQwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4YzI2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4YzgsMHg0MCwweDNhLDB4YzAgfX0sCi0gezE2LCAweGMyNzAsIDAsIHsweDBjLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDQwLDB4MzgsMHhjMSwweDBlLDB4YjAsMHg0MywweDJjLDB4MDgsMHhjMywweDAwIH19LAotIHsxNiwgMHhjMjgwLCAwLCB7MHgzZSwweDQwLDB4MGUsMHg4MiwweDAzLDB4NmQsMHgwMCwweGRiLDB4NDAsMHgzMiwweGMxLDB4NWYsMHhiNCwweGEzLDB4ZWQsMHgyMCB9fSwKLSB7MTYsIDB4YzI5MCwgMCwgezB4YzksMHg0MCwweDMyLDB4ZTAsMHg4ZiwweDk4LDB4NDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4ODgsMHgwMCwweDIzLDB4YzAsMHgyOCwweGY1LDB4YzIsMHhmYywweDAwLDB4YjMsMHgwNCwweDIzIH19LAotIHsxNiwgMHhjMmIwLCAwLCB7MHhjMSwweDQ4LDB4ZjAsMHgyMiwweGJjLDB4MDYsMHhhZiwweDAwLDB4MGUsMHg0MCwweDA4LDB4MDAsMHgwMiwweGNkLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YzJjMCwgMCwgezB4MDEsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4ZWUsMHgwMCwweDgxLDB4ZTAsMHgzNCwweGEwLDB4MGIsMHg5MCwweDAyLDB4MzIgfX0sCi0gezE2LCAweGMyZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMiwweDgwLDB4MDAsMHgyOCwweGMwIH19LAotIHsxNiwgMHhjMmUwLCAwLCB7MHgwOSwweDNjLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDJjLDB4YzAsMHgwYSwweGIwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMSB9fSwKLSB7MTYsIDB4YzJmMCwgMCwgezB4MmMsMHgwMCwweDBhLDB4MDUsMHgwMiwweGNkLDB4NTgsMHhiYiwweDAwLDB4MjAsMHgwMCwweDBhLDB4M2QsMHgwMiwweGNmLDB4NDAgfX0sCi0gezE2LCAweGMzMDAsIDAsIHsweDIxLDB4MjAsMHg2MCwweGMwLDB4MDksMHgxMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweDg0LDB4ODAsMHgyOCwweGU0LDB4ODgsMHg3OCwweDQyLDB4ZGUsMHgwMCwweGI3LDB4OTAsMHg2NSB9fSwKLSB7MTYsIDB4YzMyMCwgMCwgezB4ZTQsMHg4OCwweDdhLDB4NDIsMHg5ZSwweDQwLDB4YTcsMHg5MCwweDJkLDB4YTAsMHgwYSwweDQ4LDB4MjIsMHhkZSwweDA0LDB4YjcgfX0sCi0gezE2LCAweGMzMzAsIDAsIHsweDgwLDB4MjMsMHg2MCwweDQ4LDB4NzgsMHg0MiwweGZlLDB4ODAsMHhhZiwweDkwLDB4NjUsMHhlMCwweDBiLDB4ZTgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhjMzQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhjOCwweDAwLDB4MzgsMHhjMCB9fSwKLSB7MTYsIDB4YzM1MCwgMCwgezB4MGMsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGZiLDB4MDAsMHgzYywweGMwLDB4MGUsMHhiYSwweDAzLDB4MGMsMHgwMCwweGMzLDB4MDAgfX0sCi0gezE2LCAweGMzNjAsIDAsIHsweDNlLDB4MDAsMHg0ZSwweDIyLDB4MDIsMHhjYywweGMwLDB4ZmIsMHg0MCwweDMwLDB4YzAsMHgwYSwweDMwLDB4MDMsMHhjZSwweDgwIH19LAotIHsxNiwgMHhjMzcwLCAwLCB7MHhlMSwweDQxLDB4MzAsMHhjOSwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzM4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MjAsMHhmYywweDAwLDB4MzcsMHhjMiwweDBlLDB4ZjEsMHgyMywweGVjLDB4NDAsMHhmZiwweDA0LDB4M2EgfX0sCi0gezE2LCAweGMzOTAsIDAsIHsweGMwLDB4MGYsMHhiMCwweDIzLDB4ZmMsMHgwMCwweGZmLDB4MDQsMHgzZSwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZmMsMHg1OCwweGZmIH19LAotIHsxNiwgMHhjM2EwLCAwLCB7MHgwMCwweGJmLDB4YzAsMHgwNiwweGYwLDB4ODMsMHhkYywweDYyLDB4ZGYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgxMCB9fSwKLSB7MTYsIDB4YzNiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDgwLDB4YzksMHgwMSwweDNlLDB4YzAgfX0sCi0gezE2LCAweGMzYzAsIDAsIHsweDhjLDB4YjIsMHgwNywweGFlLDB4MDQsMHhjYiwweDgwLDB4M2EsMHhjOCwweDRjLDB4YjIsMHgwMywweDJjLDB4ODQsMHhjYiwweDMwIH19LAotIHsxNiwgMHhjM2QwLCAwLCB7MHhiMCwweGUwLDB4MGQsMHg4OCwweDBiLDB4MmMsMHgwMCwweGViLDB4MDAsMHgzMCwweDAwLDB4MGMsMHhiYywweDgzLDB4MmQsMHg4MCB9fSwKLSB7MTYsIDB4YzNlMCwgMCwgezB4ZmIsMHgwMCwweDMyLDB4YzAsMHgwYywweDkwLDB4MDMsMHhlYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDQwLDB4ODcsMHgwMCwweDJjLDB4Y2MsMHgwOCwweDc2LDB4ODIsMHgzYywweDgyLDB4ODcsMHgwMCwweDIxIH19LAotIHsxNiwgMHhjNDAwLCAwLCB7MHhjMiwweDhkLDB4MzIsMHg4MiwweDBkLDB4NGMsMHhhNywweDI4LDB4MjEsMHg4MCwweDA4LDB4NDAsMHgwMiwweDFkLDB4ODAsMHhiZiB9fSwKLSB7MTYsIDB4YzQxMCwgMCwgezB4MjAsMHgzNSwweDQwLDB4MDksMHg3MiwweDQzLDB4NWMsMHhhMCwweGI3LDB4MDAsMHgyOSwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGM0MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg0LDB4ODAsMHgyZCwweGUwIH19LAotIHsxNiwgMHhjNDMwLCAwLCB7MHgwOCwweDc4LDB4MDIsMHhkZSwweGMwLDB4OGYsMHg4MCwweDI4LDB4ZWMsMHgyOCwweDdiLDB4MGEsMHg5ZSwweDk0LDB4ODMsMHg4NCB9fSwKLSB7MTYsIDB4YzQ0MCwgMCwgezB4MjMsMHhlMCwweDA5LDB4NTgsMHg1MCwweDllLDB4MTAsMHhhNywweGIwLDB4MjMsMHhlMCwweDBiLDB4NzgsMHgwMiwweDFlLDB4MjAgfX0sCi0gezE2LCAweGM0NTAsIDAsIHsweGI3LDB4ODAsMHgyMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNDYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMiwweDgyLDB4MWMsMHgyYywweGMwLDB4MjgsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4YzAsMHgyMCB9fSwKLSB7MTYsIDB4YzQ3MCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDYwLDB4ZDIsMHgwOCwweDFkLDB4MDIsMHgwZiwweDIwLDB4YmIgfX0sCi0gezE2LCAweGM0ODAsIDAsIHsweDI0LDB4MjQsMHhjMCwweDBiLDB4M2MsMHgwMiwweDRmLDB4MDAsMHhiMywweDgwLDB4MjgsMHhkOCwweDA5LDB4MzIsMHgwMiwweGQyIH19LAotIHsxNiwgMHhjNDkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxMSwweGE4LDB4MDAsMHhjZSwweDg0LDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4YzRhMCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGNlLDB4YzAsMHgzYSwweDgwLDB4MDgsMHhhMCwweDAzLDB4YTgsMHgwMCwweGNhLDB4MDAgfX0sCi0gezE2LCAweGM0YjAsIDAsIHsweDMzLDB4ODAsMHgwZCwweGVjLDB4MDMsMHgzYiwweDgwLDB4ZWUsMHg4MiwweDMzLDB4ODAsMHgwYSwweGMwLDB4ODcsMHgxMCwweDQwIH19LAotIHsxNiwgMHhjNGMwLCAwLCB7MHhmNiwweGMwLDB4MzMsMHg5MCwweGFkLDB4NjQsMHgwMywweGZhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzRkMCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDIsMHhmOCwweDAwLDB4M2MsMHgwMCwweDFmLDB4MDQsMHgwMywweGEwLDB4MDQsMHhmOCwweDMwLDB4M2UgfX0sCi0gezE2LCAweGM0ZTAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA0LDB4MGYsMHg4MCwweDkzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHhjNGYwLCAwLCB7MHgxMCwweDNlLDB4MDAsMHgyYywweDg0LDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgxOCwweDNlLDB4MTAsMHgwZSwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4YzUwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGM1MTAsIDAsIHsweDBlLDB4OTAsMHgwMywweGE0LDB4MTAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDA0LDB4OTAsMHgwMywweDI0LDB4MDAsMHg0MSwweDAwIH19LAotIHsxNiwgMHhjNTIwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHg5MSwweDEzLDB4ZTEsMHgwOCwweGY4LDB4MDAsMHgzMiwweDQwLDB4MDgsMHg4OSwweDgzLDB4YTIsMHgwMCB9fSwKLSB7MTYsIDB4YzUzMCwgMCwgezB4YzksMHg4MCwweDMyLDB4NDAsMHgwYywweDkwLDB4MGIsMHgwMiwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1NDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAyLDB4ODksMHgwMCwweDJlLDB4NDAsMHgwZCwweDkwLDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJlIH19LAotIHsxNiwgMHhjNTUwLCAwLCB7MHg0MCwweDQ4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDhiLDB4OTQsMHg0MiwweGUyLDB4MjAsMHhiOCB9fSwKLSB7MTYsIDB4YzU2MCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4ZTUsMHgwNCwweGE5LDB4OTAsMHgzNCwweDYwLDB4MDgsMHg5MCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGM1NzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgxMCwweDk5LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHhjNTgwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDI0LDB4NDAsMHgwYSwweDEwLDB4MDIsMHgwNCwweDAwLDB4YTksMHgwMCB9fSwKLSB7MTYsIDB4YzU5MCwgMCwgezB4MmEsMHg0MCwweDBiLDB4OTAsMHg4MiwweGUwLDB4MDEsMHhiOCwweDAwLDB4MjAsMHg0MCwweDNhLDB4OTAsMHgwMiwweGE0LDB4NDQgfX0sCi0gezE2LCAweGM1YTAsIDAsIHsweDg5LDB4MDQsMHgyMiwweDYyLDB4MDgsMHg5OCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNWIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4YSwweDgxLDB4MDAsMHgyYywweDQ4LDB4MDksMHgzMiwweDA2LDB4NDQsMHg4MCwweGIxLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4YzVjMCwgMCwgezB4NDgsMHgwYSwweDEyLDB4MDIsMHg4NCwweDgwLDB4YTEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDIsMHhjNSwweDAwLDB4YjEgfX0sCi0gezE2LCAweGM1ZDAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDBhLDB4MjQsMHgwMiwweGM5LDB4MDAsMHhhMywweDAwLDB4MjQsMHg0MCwweDA4LDB4MTEsMHgwMiwweDAyIH19LAotIHsxNiwgMHhjNWUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4M2UsMHgxNCB9fSwKLSB7MTYsIDB4YzVmMCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTEsMHg0MCwweGY4LDB4NTEsMHgzNiwweDE0LDB4MmUsMHg4NSwweDQzLDB4MjEsMHg0MiwweGU4LDB4NTAgfX0sCi0gezE2LCAweGM2MDAsIDAsIHsweDNhLDB4MDAsMHgwZiwweDgwLDB4MTIsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAsMHgxZSwweDgwLDB4NDMsMHhhMCwweDAwIH19LAotIHsxNiwgMHhjNjEwLCAwLCB7MHhjOCwweDAxLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzYyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDRlLDB4MTEsMHgwMywweGE0LDB4NDAsMHhiNSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGM2MzAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGQ5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHg1MCwweDAzLDB4ZTUsMHgwMCwweGY5IH19LAotIHsxNiwgMHhjNjQwLCAwLCB7MHg0MCwweDNmLDB4NDAsMHgwZCwweDQ0LDB4MDMsMHhmMSwweDAwLDB4ZjUsMHgwMiwweDNkLDB4YzAsMHgyZiwweGQyLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4YzY1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNywweDAwLDB4ZTksMHgwMCwweDM2LDB4NjAgfX0sCi0gezE2LCAweGM2NjAsIDAsIHsweDBkLDB4ZGEsMHgwMywweGU2LDB4NDAsMHhmOSwweDQwLDB4M2UsMHg2OCwweDBjLDB4OWEsMHgwMywweDY2LDB4MjAsMHg4OSwweGEwIH19LAotIHsxNiwgMHhjNjcwLCAwLCB7MHgzMywweDQwLDB4MGUsMHg5MCwweDA3LDB4YTYsMHgwMCwweGY5LDB4ODAsMHgzZSwweDUwLDB4MGMsMHhjYSwweDAzLDB4ZjMsMHg4MCB9fSwKLSB7MTYsIDB4YzY4MCwgMCwgezB4YzUsMHgwMiwweDMzLDB4NDAsMHgwYywweGMwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2OTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDA0LDB4ODgsMHhhMiwweDIwLDB4MzgsMHgwOCwweDgwLDB4MDIsMHhlMywweDQwLDB4YjAsMHg4MCwweDJlIH19LAotIHsxNiwgMHhjNmEwLCAwLCB7MHgyOCwweDA4LDB4OGEsMHg4MiwweDIzLDB4ODAsMHg4OCwweDgwLDB4MjIsMHgwMCwweGRiLDB4ODgsMHgwMiwweDYyLDB4MDQsMHhiOCB9fSwKLSB7MTYsIDB4YzZiMCwgMCwgezB4YjAsMHgyZSwweGE4LDB4ODgsMHg4ZSwweGEyLDB4ZWEsMHg4MCwweDg4LDB4MDAsMHgyYSwweDAwLDB4MjgsMHg4OCwweDAzLDB4OGUgfX0sCi0gezE2LCAweGM2YzAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MiwweGE5LDB4MDgsMHgyYywweDUyIH19LAotIHsxNiwgMHhjNmQwLCAwLCB7MHgwYiwweDE0LDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMSwweDBjLDB4NTIsMHg4OCwweDE0LDB4MDIsMHg0NCwweDIwLDB4OTEsMHg2OSB9fSwKLSB7MTYsIDB4YzZlMCwgMCwgezB4MjAsMHg0MCwweDBhLDB4MTAsMHg4MiwweGM2LDB4ZTAsMHhiMSwweDBjLDB4MmMsMHg0OCwweDA4LDB4MDEsMHgwMiwweGUxLDB4OTMgfX0sCi0gezE2LCAweGM2ZjAsIDAsIHsweGExLDB4MDEsMHgyNCwweDQxLDB4MGEsMHgxMCwweDAyLDB4YzIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzAwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDQsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAwLDB4ZTQsMHgwMCwweDM5LDB4MDIsMHgwZSB9fSwKLSB7MTYsIDB4YzcxMCwgMCwgezB4NDAsMHgwOCwweDEwLDB4NjIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDYyLDB4NDAsMHg4YiwweDgwLDB4MDIsMHhlMCwweDU0LDB4YjkgfX0sCi0gezE2LCAweGM3MjAsIDAsIHsweDBjLDB4MmUsMHg0MCwweDA5LDB4YjYsMHg1MiwweGVjLDB4MDAsMHhhOSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTIsMHg4MCwweDg2IH19LAotIHsxNiwgMHhjNzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU0LDB4MDAsMHhlMSwweDYwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4Yzc0MCwgMCwgezB4MGQsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MzAsMHgzZSwweDQwLDB4MmMsMHg5MCwweDQzLDB4NjQsMHgwNiwweGM5LDB4MDAgfX0sCi0gezE2LCAweGM3NTAsIDAsIHsweDMyLDB4NDksMHgwZSwweDhkLDB4OTMsMHhlMCwweDAwLDB4ZjksMHgwMCwweDJlLDB4NDAsMHgyYywweDk0LDB4MDMsMHhjNywweDQwIH19LAotIHsxNiwgMHhjNzYwLCAwLCB7MHhlOSwweDIwLDB4MzAsMHg1NSwweDBlLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzc3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4MWUsMHg0MCwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgwLDB4M2MgfX0sCi0gezE2LCAweGM3ODAsIDAsIHsweDQwLDB4NGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDQsMHhiZSwweDQwLDB4MGYsMHg4OCwweDMzLDB4NjIsMHgwMCwweGY5IH19LAotIHsxNiwgMHhjNzkwLCAwLCB7MHhjMiwweDNlLDB4NDgsMHgyZSwweDg4LDB4MzMsMHhlMiwweDAwLDB4ZDksMHgwMCwweDNlLDB4NjAsMHgwZCwweDgwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4YzdhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGM3YjAsIDAsIHsweDBkLDB4ODAsMHgwMywweGEwLDB4MDQsMHhlOCwweDQwLDB4YmEsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDQsMHhjOCwweDAwIH19LAotIHsxNiwgMHhjN2MwLCAwLCB7MHgzYSwweDAwLDB4MGUsMHg4YywweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDIsMHgzMiwweDAwLDB4MGUsMHg4MCwweDAzLDB4NjEsMHgyMCB9fSwKLSB7MTYsIDB4YzdkMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MTYsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3ZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgwOCwweGUyLDB4MDMsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIyIH19LAotIHsxNiwgMHhjN2YwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDQsMHg4YSwweDAwLDB4MmUsMHhhMiwweDA5LDB4ZTgsMHgwMiwweGZhLDB4MDQsMHhiZSB9fSwKLSB7MTYsIDB4YzgwMCwgMCwgezB4MDAsMHhhMiwweDgwLDB4MDgsMHhjZCwweDgyLDB4MzMsMHgyMCwweGI2LDB4YzAsMHgzNywweGEwLDB4NGIsMHhjOCwweDgyLDB4Y2EgfX0sCi0gezE2LCAweGM4MTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmMsMHgwMCwweDgzLDB4MDAsMHgyNiwweGMwIH19LAotIHsxNiwgMHhjODIwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHhlYywweDAwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4YzgzMCwgMCwgezB4MjgsMHhlMCwweDBiLDB4MzAsMHgwMiwweGNlLDB4ODEsMHhiMywweDAwLDB4NjIsMHhjMCwweDA4LDB4M2MsMHgwMiwweDRmLDB4MDAgfX0sCi0gezE2LCAweGM4NDAsIDAsIHsweGIzLDB4YTAsMHgyMCwweGIwLDB4MDMsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODUwLCAwLCB7MHhhMCwweDAxLDB4MGMsMHg0MSwweDg3LDB4MzQsMHgyZCwweGMwLDB4MDgsMHg2MCwweDAyLDB4OWUsMHg0MCwweGI3LDB4YTAsMHgyZCB9fSwKLSB7MTYsIDB4Yzg2MCwgMCwgezB4YzAsMHgwOCwweDczLDB4MDIsMHhkYywweDAwLDB4ODcsMHgyMCwweDJkLDB4YzAsMHgwYiwweDcwLDB4ODIsMHhkZCwweDg1LDB4YmYgfX0sCi0gezE2LCAweGM4NzAsIDAsIHsweDgxLDB4NjMsMHhjOCwweDg4LDB4N2IsMHgwMiwweDFjLDB4MDAsMHhiNywweDQwLDB4NjUsMHgwMCwweDFiLDB4NzIsMHgwMiwweGU4IH19LAotIHsxNiwgMHhjODgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDgxLDB4M2QsMHhlMCB9fSwKLSB7MTYsIDB4Yzg5MCwgMCwgezB4ZGQsMHg3MCwweDAzLDB4ZmUsMHg4MCwweGY3LDB4OTAsMHgzZiwweGUwLDB4MmMsMHg3OSwweDAzLDB4ZmUsMHg4MCwweGM3LDB4YTAgfX0sCi0gezE2LCAweGM4YTAsIDAsIHsweDM5LDB4ZTAsMHgwZiwweDdhLDB4MDIsMHhkZSwweDg0LDB4ZjcsMHhjMiwweDMxLDB4ZjIsMHgwYywweDc5LDB4MDMsMHg1ZSwweDA0IH19LAotIHsxNiwgMHhjOGIwLCAwLCB7MHhmNywweDg0LDB4MzEsMHg2MCwweDBmLDB4N2UsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzhjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MGEsMHhmYiwweDYwLDB4N2UsMHhkNCwweDBmLDB4MzAsMHgwMywweDZjLDB4MDAsMHhjYiwweDAwLDB4MzIgfX0sCi0gezE2LCAweGM4ZDAsIDAsIHsweGRlLDB4MmYsMHhiMiwweDAzLDB4ZWQsMHg0MiwweDFiLDB4NjAsMHgzZSwweGMxLDB4MGQsMHhiMSwweDAzLDB4ZWMsMHg1MCwweGY3IH19LAotIHsxNiwgMHhjOGUwLCAwLCB7MHg4MCwweDNkLDB4ZDgsMHgyZSwweDMyLDB4MDMsMHhlYywweDMwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YzhmMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4Y2IsMHhkMCwweDNmLDB4ZjAgfX0sCi0gezE2LCAweGM5MDAsIDAsIHsweDRjLDB4ZjgsMHgxMywweGZlLDB4MDAsMHhjZiwweDg4LDB4M2YsMHhlMCwweDBjLDB4ZjgsMHg0MywweDNmLDB4MDAsMHhjZiwweGM4IH19LAotIHsxNiwgMHhjOTEwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhmOCwweDAzLDB4ZmUsMHgwMCwweGZmLDB4ODAsMHgzZiwweGUwLDB4MmMsMHhmOCwweDAzLDB4YmUsMHgyMCB9fSwKLSB7MTYsIDB4YzkyMCwgMCwgezB4YzcsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDEsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5MzAsIDAsIHsweGE4LDB4MDEsMHhiYywweDQwLDB4ODcsMHg5MCwweDNkLDB4YzAsMHgwOCwweDQwLDB4MDIsMHhkYywweDgwLDB4ZDcsMHgwMCwweDJkIH19LAotIHsxNiwgMHhjOTQwLCAwLCB7MHhjMCwweDBjLDB4MzAsMHgwMywweDdjLDB4MDAsMHg4NywweDEwLDB4MjEsMHhjNCwweDFlLDB4NzAsMHgyMCwweGRjLDB4NDQsMHhiNyB9fSwKLSB7MTYsIDB4Yzk1MCwgMCwgezB4MDAsMHgzOSwweGMwLDB4MGMsMHg3MSwweDAyLDB4MWMsMHg0MCwweGQ3LDB4MDIsMHgyOSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGM5NjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4MzIsMHgyZCwweGMwIH19LAotIHsxNiwgMHhjOTcwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhkYywweDAxLDB4ODcsMHgwMCwweDJjLDB4YzAsMHgyYiwweDcwLDB4MGEsMHg1YywweDAwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4Yzk4MCwgMCwgezB4MjMsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRkLDB4MDAsMHhiNywweDAwLDB4MmQsMHhjNCwweDBiLDB4ZjAsMHgwMiwweDljLDB4MjAgfX0sCi0gezE2LCAweGM5OTAsIDAsIHsweDg3LDB4MTgsMHgyOSwweDQwLDB4MDgsMHg3MCwweDgyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOWEwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MDIsMHgyOCwweGMwLDB4MDgsMHgxMCwweDAyLDB4Y2MsMHgwOCwweDgzLDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4YzliMCwgMCwgezB4YzAsMHgyYSwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweDIwLDB4ZjIsMHgwYSwweDMwLDB4MDIsMHhjZSwweDAwLDB4YjMgfX0sCi0gezE2LCAweGM5YzAsIDAsIHsweDg4LDB4MmEsMHhkMCwweDBhLDB4MzAsMHgwNiwweDBjLDB4MDAsMHg5MiwweDAwLDB4MjgsMHg3OCwweDA4LDB4M2MsMHg0MiwweDA4IH19LAotIHsxNiwgMHhjOWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDIsMHhjNywweDAwLDB4MmYsMHhjMCB9fSwKLSB7MTYsIDB4YzllMCwgMCwgezB4MmMsMHg5MCwweDAyLDB4ZmMsMHgwMiwweDhmLDB4ZDgsMHgzZiwweGMwLDB4NGIsMHhmMCwweDAyLDB4N2MsMHgwMiwweGNmLDB4MDAgfX0sCi0gezE2LCAweGM5ZjAsIDAsIHsweDIwLDB4ZjIsMHgwOCwweGIwLDB4MTMsMHhlZSwweDgwLDB4ZmYsMHgwMCwweDNmLDB4ZDQsMHgyZSwweGJkLDB4ODMsMHhhYywweDAwIH19LAotIHsxNiwgMHhjYTAwLCAwLCB7MHhjYiwweDgwLDB4M2EsMHhhMCwweGFjLDB4YjgsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2ExMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDEwLDB4M2UsMHhjMCwweDBmLDB4ODQsMHgwMywweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UgfX0sCi0gezE2LCAweGNhMjAsIDAsIHsweGMwLDB4MDEsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHhiZSwweGMwLDB4MGUsMHhiMCwweDIzLDB4ZWMsMHgwOCwweGZiIH19LAotIHsxNiwgMHhjYTMwLCAwLCB7MHgxMCwweDNmLDB4YzAsMHgwZCwweGI0LDB4MDMsMHhlZCwweDA0LDB4ZjksMHgwMCwweDFlLDB4MTQsMHhjZiwweGIwLDB4ODMsMHhlMCB9fSwKLSB7MTYsIDB4Y2E0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHgwMCwweDMwLDB4YzAgfX0sCi0gezE2LCAweGNhNTAsIDAsIHsweDBjLDB4NDAsMHgwMywweGFjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDJjLDB4YjAsMHgwMywweGJjLDB4MDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhjYTYwLCAwLCB7MHhiMywweGUwLDB4MGQsMHhmYSwweDAzLDB4N2UsMHg4MCwweGNmLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmYywweDQzLDB4ZmYsMHgyMCB9fSwKLSB7MTYsIDB4Y2E3MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4NDAsMHgwOCwweGY4LDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDEwLDB4YWIsMHgwMCwweDJhLDB4YzAsMHgwYSwweDhlLDB4NDIsMHgyYywweDA0LDB4YmIsMHgwMCwweDJlIH19LAotIHsxNiwgMHhjYTkwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweDZjLDB4MDAsMHhiYiwweDAwLDB4M2EsMHhjMCwweDBlLDB4MzAsMHgwMiwweDBkLDB4MDgsMHg4MyB9fSwKLSB7MTYsIDB4Y2FhMCwgMCwgezB4MDIsMHgyMiwweGMwLDB4MGEsMHhiYywweDAyLDB4ZWYsMHgwMCwweGJiLDB4YzAsMHgyYywweDY4LDB4MGEsMHhiOSwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGNhYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MGMsMHgwMCwweDhiLDB4MDAsMHgyMiwweGMwIH19LAotIHsxNiwgMHhjYWMwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHhhYywweDAwLDB4YmIsMHgwMiwweDJlLDB4YzAsMHgwOCwweGIwLDB4MDIsMHhlYywweDAwLDB4YmIsMHgwMCB9fSwKLSB7MTYsIDB4Y2FkMCwgMCwgezB4MjYsMHg0OCwweDE5LDB4YjAsMHgwMiwweDZkLDB4MDAsMHg4YiwweDAwLDB4MjIsMHhjMCwweDBhLDB4YjAsMHgwMiwweGVjLDB4MDQgfX0sCi0gezE2LCAweGNhZTAsIDAsIHsweGJiLDB4MWMsMHgyZSwweDIwLDB4MGEsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYWYwLCAwLCB7MHgwOCwweDE0LDB4MGMsMHgwMCwweGFiLDB4MjAsMHgyOCwweGMwLDB4MGEsMHgwMCwweDAyLDB4MGMsMHgwMCwweDkzLDB4MDQsMHgyYyB9fSwKLSB7MTYsIDB4Y2IwMCwgMCwgezB4YzEsMHgwOCwweDMwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDI0LDB4NDEsMHgwOSwweGI4LDB4MDIsMHgwYywweDAyLDB4ODMgfX0sCi0gezE2LCAweGNiMTAsIDAsIHsweDAxLDB4YTAsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNjLDB4MTAsMHg5MywweDAwLDB4MmMsMHgwMCwweDBhLDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhjYjIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDdjLDB4MDAsMHhjZiwweDI4LDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4Y2IzMCwgMCwgezB4MGMsMHhhMCwweDQ2LDB4YWMsMHgxMSwweGJmLDB4MDAsMHgzZiwweGMwLDB4NWMsMHhmMCwweDQzLDB4ZmMsMHgwMCwweGZmLDB4MDQgfX0sCi0gezE2LCAweGNiNDAsIDAsIHsweDMyLDB4NDAsMHgwZCwweGIwLDB4MDMsMHg2YywweDA4LDB4Y2IsMHgwNCwweDMxLDB4YzAsMHgwYywweGIwLDB4MzMsMHhlZCwweDQwIH19LAotIHsxNiwgMHhjYjUwLCAwLCB7MHhmYiwweDA0LDB4M2UsMHg0MCwweDBlLDB4YjAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2I2MCwgMCwgezB4YTAsMHgxNSwweGZjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzAsMHgyMywweGZjLDB4MDEsMHhmZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweGNiNzAsIDAsIHsweGMwLDB4NGYsMHhmMCwweDg3LDB4N2MsMHgwMCwweGZmLDB4MDAsMHgzOSwweDQwLDB4MGUsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHhjYjgwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhkYywweDgwLDB4ZmYsMHgwMCwweDNkLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4Y2I5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDQwLDB4ZWIsMHg0OCwweDNlLDB4YzIgfX0sCi0gezE2LCAweGNiYTAsIDAsIHsweDBlLDB4MDksMHgwMywweGJjLDB4NjAsMHhjMCwweDIwLDB4MzUsMHgyNCwweDBlLDB4ZDIsMHgxMywweDJjLDB4NjAsMHhmYiwweDZhIH19LAotIHsxNiwgMHhjYmIwLCAwLCB7MHgzMywweGMwLDB4MGYsMHhjYSwweDAzLDB4MjIsMHgyMCwweGMwLDB4ODAsMHgzNywweGMwLDB4MGQsMHhmMCwweDAzLDB4N2MsMHgwMCB9fSwKLSB7MTYsIDB4Y2JjMCwgMCwgezB4ZWYsMHgwMCwweDMzLDB4MjQsMHgwZiwweGM4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiZDAsIDAsIHsweDgwLDB4MTAsMHhkZCwweDAwLDB4OGYsMHg2MCwweDJmLDB4ZDgsMHgwOCwweGEyLDB4MDIsMHhmZCwweDgwLDB4YzgsMHg3MCwweDIyIH19LAotIHsxNiwgMHhjYmUwLCAwLCB7MHgwMCwweDJjLDB4ZmQsMHgwNywweGRjLDB4ODQsMHhiZiwweDYwLDB4MjMsMHhkMiwweDBiLDB4YmQsMHgwMiwweDIzLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4Y2JmMCwgMCwgezB4ODAsMHhhMiwweDIwLDB4ODgsMHhiMCwweDIyLDB4MzQsMHgwMCwweGJiLDB4NTAsMHgyMiwweGM4LDB4MGIsMHhiMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGNjMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGEzLDB4MDMsMHgyYywweGMyIH19LAotIHsxNiwgMHhjYzEwLCAwLCB7MHgwYSwweDAwLDB4NDIsMHg4YywweDgyLDB4YTMsMHgwYSwweDI0LDB4ODAsMHgwYiwweDMwLDB4MDIsMHhjYywweDkwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4Y2MyMCwgMCwgezB4MjgsMHhkOCwweDBiLDB4MTAsMHgwMiwweDhjLDB4MDIsMHg5MCwweDAwLDB4MjAsMHhjMCwweDBiLDB4MTAsMHg0MiwweDRjLDB4MDAgfX0sCi0gezE2LCAweGNjMzAsIDAsIHsweGIzLDB4MDQsMHgyNCwweGMwLDB4MGIsMHgzMCwweDBlLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYzQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgxMCwweDliLDB4MDQsMHgyYywweGMwLDB4ZjgsMHg5OCwweDA2LDB4ZWMsMHgwMCwweGFiLDB4ODAsMHgyNiB9fSwKLSB7MTYsIDB4Y2M1MCwgMCwgezB4MjAsMHgwOCwweDkwLDB4MmEsMHhhYywweDEwLDB4YmIsMHgwMCwweDBhLDB4YzAsMHgxYiwweGIwLDB4MjIsMHhhZCwweDAwLDB4OTggfX0sCi0gezE2LCAweGNjNjAsIDAsIHsweDQwLDB4MmEsMHg3MCwweDRiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4YTYsMHg4NiwweDFiLDB4YjAsMHg4MiwweGIwIH19LAotIHsxNiwgMHhjYzcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4Y2M4MCwgMCwgezB4OGUsMHg5OCwweDAzLDB4YWMsMHgwOCwweGU4LDB4YzAsMHgzNiwweDMwLDB4NGYsMHhiMCwweDQyLDB4ZWMsMHgwMCwweGY5LDB4ODAgfX0sCi0gezE2LCAweGNjOTAsIDAsIHsweDNhLDB4YzAsMHg4ZiwweDg4LDB4NDIsMHgyMCwweDEwLDB4YzgsMHgxMCwweDMwLDB4ZjAsMHgwZiwweDMwLDB4MTMsMHg2YywweDEwIH19LAotIHsxNiwgMHhjY2EwLCAwLCB7MHhlYiwweDAwLDB4MzYsMHhmMCwweDBmLDB4YmQsMHgwMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2NiMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhlZiwweDA0LDB4N2YsMHhjMCwweDBmLDB4ZjAsMHg0MywweGRjLDB4MDAsMHhjNCwweDAwLDB4M2IgfX0sCi0gezE2LCAweGNjYzAsIDAsIHsweDQwLDB4OGIsMHhkYywweDAzLDB4N2MsMHgxMCwweGY5LDB4OTAsMHgzNiwweGMyLDB4NGYsMHhmOSwweDIzLDB4NjIsMHg0MSwweGFjIH19LAotIHsxNiwgMHhjY2QwLCAwLCB7MHgwMSwweDEzLDB4NDAsMHgwNCwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGMwLDB4MDMsMHg3OCB9fSwKLSB7MTYsIDB4Y2NlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDEyLDB4Y2IsMHgwMCwweGYyLDB4YzAgfX0sCi0gezE2LCAweGNjZjAsIDAsIHsweDBmLDB4ODAsMHgwMywweGFjLDB4MDgsMHhkOSwweDAwLDB4M2EsMHg4MCwweDBmLDB4MTIsMHgwMywweGFjLDB4MDAsMHhlMSwweDAwIH19LAotIHsxNiwgMHhjZDAwLCAwLCB7MHgzMiwweGMwLDB4MGMsMHg5MCwweDAzLDB4ZWQsMHgwMiwweGM4LDB4NDAsMHgzZSwweGQwLDB4MGYsMHg5MCwweDEzLDB4MmMsMHgwMiB9fSwKLSB7MTYsIDB4Y2QxMCwgMCwgezB4ZGIsMHgwMCwweDNlLDB4NTAsMHgwYywweGI0LDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkMjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDE3LDB4YzAsMHgwOCwweDkwLDB4MDIsMHgzYywweDA4LDB4OGQsMHgwMCwweDIyIH19LAotIHsxNiwgMHhjZDMwLCAwLCB7MHg1NCwweDA4LDB4YjQsMHgwMywweDNjLDB4MDAsMHg4OSwweDAwLDB4MjMsMHhjMCwweDQwLDB4MzUsMHgwMiwweGNjLDB4MjQsMHg4MCB9fSwKLSB7MTYsIDB4Y2Q0MCwgMCwgezB4MDAsMHgyMiwweDc0LDB4NGMsMHhiMCwweDAyLDB4MmMsMHgwMCwweDhmLDB4MDAsMHgyZSwweGQ0LDB4MGEsMHhiMCwweDBhLDB4MzIgfX0sCi0gezE2LCAweGNkNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NGMsMHgwMiwweDgzLDB4MDAsMHgyNCwweGMwIH19LAotIHsxNiwgMHhjZDYwLCAwLCB7MHgwOSwweDAwLDB4MDIsMHg4YywweDAxLDB4OTAsMHgwMCwweDZhLDB4NDEsMHgwYSwweDMwLDB4MjAsMHg0ZSwweDEwLDB4MzEsMHgwMiB9fSwKLSB7MTYsIDB4Y2Q3MCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MjAsMHgwNiwweGNlLDB4MDAsMHg4MCwweDAwLDB4NjAsMHhlMCwweDBhLDB4MzAsMHg4MiwweDBjLDB4MDggfX0sCi0gezE2LCAweGNkODAsIDAsIHsweDgzLDB4MDgsMHgyYywweGQwLDB4MDksMHhiMCwweDAyLDB4NzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZDkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwNCwweDg3LDB4YjAsMHgyMCwweGVjLDB4MDksMHhlOSwweDAyLDB4OGUsMHg1OCwweDlkLDB4YjAsMHgyYiB9fSwKLSB7MTYsIDB4Y2RhMCwgMCwgezB4YTUsMHg0MCwweDViLDB4MDYsMHhkZSwweDQwLDB4OTUsMHg5NCwweDJkLDB4ZTQsMHgxOSwweDdiLDB4MDYsMHhkZSwweDAwLDB4ODQgfX0sCi0gezE2LCAweGNkYjAsIDAsIHsweDgwLDB4NjAsMHhlMCwweDBhLDB4NzgsMHgwYSwweDE2LDB4MTAsMHg4NywweDgwLDB4MmQsMHg2OCwweDBiLDB4NzksMHgwMiwweDQ4IH19LAotIHsxNiwgMHhjZGMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhjYiwweGEwLDB4MjQsMHhlMCB9fSwKLSB7MTYsIDB4Y2RkMCwgMCwgezB4MGYsMHgyYSwweDAzLDB4OGUsMHgwMCwweGQyLDB4ZDAsMHgzOCwweGZhLDB4MGYsMHgxOCwweGMzLDB4Y2UsMHgyNCwweDMxLDB4YjAgfX0sCi0gezE2LCAweGNkZTAsIDAsIHsweDNjLDB4ZTUsMHgwYywweDNiLDB4MTcsMHhjZSwweDA0LDB4YzAsMHg4MiwweDM4LDB4YzIsMHg5ZSwweDEwLDB4MDMsMHgwYywweDAwIH19LAotIHsxNiwgMHhjZGYwLCAwLCB7MHhjMywweDAxLDB4M2UsMHhjMCwweDBkLDB4ODEsMHgwMywweDUyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2UwMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlZiwweDEwLDB4M2UsMHhjMiwweDBlLDB4YjEsMHgyMywweDJjLDB4YzEsMHhhYiwweDAxLDB4MzYgfX0sCi0gezE2LCAweGNlMTAsIDAsIHsweDgwLDB4MGYsMHhiMCwweDIzLDB4MmQsMHg5MCwweGU5LDB4ODQsMHg3MiwweGM4LDB4NjIsMHhmMSwweDE3LDB4ZmMsMHgwMCwweGZjIH19LAotIHsxNiwgMHhjZTIwLCAwLCB7MHgwMCwweDNiLDB4YzQsMHgxZCwweGYwLDB4MDMsMHhlYywweDAwLDB4ZWYsMHgwOCwweDNmLDB4YzgsMHgwZSwweGYxLDB4MDMsMHg5MCB9fSwKLSB7MTYsIDB4Y2UzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDgwLDB4ZmIsMHhhNCwweDNhLDB4YzggfX0sCi0gezE2LCAweGNlNDAsIDAsIHsweDBlLDB4OTAsMHgwMywweDJjLDB4MDQsMHhjYSwweDAwLDB4MzAsMHg2MCwweDJkLDB4MWEsMHgyNywweDZjLDB4ODQsMHhjYiwweDYwIH19LAotIHsxNiwgMHhjZTUwLCAwLCB7MHgzMiwweGQyLDB4MGMsMHhhMCwweDEzLDB4MmQsMHg4NCwweGNiLDB4MDIsMHgzZSwweGMwLDB4MGQsMHhiOCwweDAzLDB4YWMsMHg4MCB9fSwKLSB7MTYsIDB4Y2U2MCwgMCwgezB4Y2IsMHg4MSwweDMyLDB4ODAsMHgwYywweGIwLDB4MDMsMHhhYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweGE0LDB4YjcsMHgyOCwweDczLDB4YzIsMHgwOCwweGYwLDB4MDIsMHgzYywweGMwLDB4OGYsMHgwMCwweDMxIH19LAotIHsxNiwgMHhjZTgwLCAwLCB7MHhjMCwweDA5LDB4NzAsMHg4MiwweDljLDB4ODAsMHg4NywweDBjLDB4MjAsMHhkOCwweDA5LDB4NzAsMHgyMiwweDFjLDB4MzAsMHg4NCB9fSwKLSB7MTYsIDB4Y2U5MCwgMCwgezB4MDAsMHgzZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MTQsMHgyNCwweDg3LDB4YTAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDEyLDB4MTIgfX0sCi0gezE2LCAweGNlYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg0MCwweGIzLDB4OTUsMHgyOSwweGU5IH19LAotIHsxNiwgMHhjZWIwLCAwLCB7MHgwYSwweDY4LDB4MDIsMHg5ZSwweGQwLDB4ODYsMHhmMCwweGEzLDB4ZTAsMHgwOCwweDc4LDB4MTIsMHg5ZSwweDQ0LDB4YTMsMHg4MiB9fSwKLSB7MTYsIDB4Y2VjMCwgMCwgezB4MjEsMHhlOCwweDBiLDB4MzgsMHgwMiwweDBlLDB4MTAsMHg4NywweDgwLDB4MmYsMHhlMCwweDBiLDB4MTgsMHgwMiwweDhlLDB4MDIgfX0sCi0gezE2LCAweGNlZDAsIDAsIHsweDg3LDB4MDAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZWUwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyNCwweGMwLDB4NDgsMHgzMCwweDAyLDB4MGMsMHgwNCwweDgzLDB4ODAsMHgyMCB9fSwKLSB7MTYsIDB4Y2VmMCwgMCwgezB4ZDAsMHgwOSwweDEwLDB4MDIsMHg4YywweDA2LDB4YTMsMHg4MCwweDIwLDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDAyLDB4ODAgfX0sCi0gezE2LCAweGNmMDAsIDAsIHsweDQwLDB4MjgsMHhkMiwweDBhLDB4MzAsMHgwMiwweDBjLDB4MDEsMHg4MywweDAwLDB4MjIsMHgzYywweDA4LDB4ODcsMHgwMiwweDEyIH19LAotIHsxNiwgMHhjZjEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MTgsMHhmYSwweDAwLDB4M2EsMHg4MCB9fSwKLSB7MTYsIDB4Y2YyMCwgMCwgezB4OGUsMHhlNCwweDQyLDB4MjgsMHgwMiwweGNlLDB4ODAsMHgzMywweDgwLDB4NGQsMHhhMCwweDgzLDB4ZTgsMHgwMCwweGVhLDB4YTAgfX0sCi0gezE2LCAweGNmMzAsIDAsIHsweGIyLDB4ODAsMHgwYSwweGEwLDB4MGEsMHgyOCwweDAwLDB4Y2UsMHgxOCwweDJmLDB4ODAsMHgwZiwweGEwLDB4MTMsMHhhOCwweDAwIH19LAotIHsxNiwgMHhjZjQwLCAwLCB7MHhjYSwweDAwLDB4MzIsMHg5MCwweDJjLDB4YWMsMHgwYiwweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Y1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA0LDB4M2EsMHgwMCwweDBmLDB4ODAsMHg4MywweGMwLDB4MDgsMHhlOCwweDAzLDB4M2EgfX0sCi0gezE2LCAweGNmNjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDIyLDB4YzAsMHgwMCwweGQwLDB4MDAsMHg3ZSwweDEwLDB4YTQsMHg4MCwweDAzLDB4YzAsMHgwMCwweGY4IH19LAotIHsxNiwgMHhjZjcwLCAwLCB7MHgwMCwweDNlLDB4MTAsMHgwZCwweDg0LDB4MDMsMHhjMCwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAsMHgwZiwweDgwLDB4MDEsMHg1MiB9fSwKLSB7MTYsIDB4Y2Y4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAyLDB4YzksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGNmOTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDIsMHg4OSwweDA0LDB4MzIsMHg0MiwweDBkLDB4OTIsMHgwMywweGU2LDB4NDIsMHhjOSwweDAwIH19LAotIHsxNiwgMHhjZmEwLCAwLCB7MHgzMiwweDcwLDB4MGUsMHgxMiwweDBiLDB4MjQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDQ1LDB4MGUsMHg5OSwweDAzLDB4ZTQsMHgwMiB9fSwKLSB7MTYsIDB4Y2ZiMCwgMCwgezB4YzEsMHgwMCwweDMyLDB4NTAsMHgwNCwweDk0LDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmYzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDZlLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDIyIH19LAotIHsxNiwgMHhjZmQwLCAwLCB7MHg1NCwweDBiLDB4OTAsMHgwMywweGU2LDB4MDAsMHg4OSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwYSwweDI0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4Y2ZlMCwgMCwgezB4MDAsMHgzOCwweDQ4LDB4MDgsMHg5MCwweDgyLDB4ZTQsMHgwNCwweGQ5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGNmZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4MDEsMHgyYywweDQwIH19LAotIHsxNiwgMHhkMDAwLCAwLCB7MHgyOCwweDEwLDB4NDIsMHg2NCwweDAwLDB4YTEsMHgwNCwweDIyLDB4NTAsMHgwMSwweDkwLDB4NDIsMHhlNCwweDAwLDB4ODksMHgwNCB9fSwKLSB7MTYsIDB4ZDAxMCwgMCwgezB4MjAsMHg0MiwweDBhLDB4OTAsMHg0MiwweDM0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MCwweDBhLDB4OTAsMHgwMCwweGU0LDB4MDAgfX0sCi0gezE2LCAweGQwMjAsIDAsIHsweDg5LDB4MDAsMHgyMywweDQwLDB4MGEsMHhkMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMDMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjQsMHgyYywweDQ4LDB4MDgsMHgxMCwweDAyLDB4MDQsMHg4MCwweGExLDB4MjAsMHgyOCB9fSwKLSB7MTYsIDB4ZDA0MCwgMCwgezB4NDAsMHgwYiwweDEwLDB4MDIsMHg4NSwweDgwLDB4ODEsMHgyMCwweDIwLDB4NDgsMHgwOCwweDUwLDB4NjIsMHgxNCwweDAyLDB4ODEgfX0sCi0gezE2LCAweGQwNTAsIDAsIHsweDAzLDB4MmUsMHg0MCwweDg4LDB4MTYsMHg4MiwweGM0LDB4YTAsMHg5MSwweDI4LDB4MjEsMHg0MCwweDJhLDB4NTAsMHgwMiwweDAyIH19LAotIHsxNiwgMHhkMDYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjOCwweDUwLDB4MmUsMHgxNCB9fSwKLSB7MTYsIDB4ZDA3MCwgMCwgezB4MGMsMHg4NSwweDAzLDB4NjEsMHg0MCwweGU4LDB4NTAsMHhiMiwweDE1LDB4NGQsMHg4MCwweDAyLDB4YzAsMHgwMCwweDQ4LDB4NTAgfX0sCi0gezE2LCAweGQwODAsIDAsIHsweGIyLDB4MTUsMHgxYSwweDgwLDB4MTMsMHgzMCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgyLDB4MDMsMHhlMCwweDgwIH19LAotIHsxNiwgMHhkMDkwLCAwLCB7MHhjMCwweDIwLDB4MzAsMHgwMCwweDBlLDB4NDAsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDBhMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDgsMHhkZCwweDEwLDB4MzcgfX0sCi0gezE2LCAweGQwYjAsIDAsIHsweDQwLDB4MGYsMHhkNCwweDA3LDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZSwweDQ1LDB4MGYsMHg5NCwweDAzLDB4ZTUsMHgwOCwweGZkIH19LAotIHsxNiwgMHhkMGMwLCAwLCB7MHgwMiwweDM5LDB4ZDAsMHgwZiwweGQwLDB4NDMsMHhmNCwweGEwLDB4ZjksMHgyOCwweDNlLDB4NGIsMHgwZCwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4ZDBkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDgwLDB4YzksMHhhNiwweDMyLDB4NjggfX0sCi0gezE2LCAweGQwZTAsIDAsIHsweDBjLDB4OTAsMHgwMywweGE2LDB4ODEsMHhlOSwweGU5LDB4M2IsMHg0MCwweDBlLDB4NTgsMHgwMywweDM2LDB4MjAsMHhjOSwweGEwIH19LAotIHsxNiwgMHhkMGYwLCAwLCB7MHgzNywweDc4LDB4MGQsMHhkYSwweDAzLDB4MzYsMHgyNiwweGM1LDB4MDAsMHgzNywweDY5LDB4MGUsMHhkZSwweDAzLDB4YTYsMHg4MiB9fSwKLSB7MTYsIDB4ZDEwMCwgMCwgezB4Y2QsMHhjMCwweDMzLDB4NTAsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweGE0LDB4ODgsMHhhOSwweDIyLDB4M2EsMHgwOCwweDA4LDB4MDAsMHgyMiwweGEwLDB4YjgsMHhlNSwweDMwIH19LAotIHsxNiwgMHhkMTIwLCAwLCB7MHgyMCwweDI4LDB4ODAsMHgyMiwweDQzLDB4YTAsMHgwOCwweGU4LDB4MmEsMHgzZCwweDA4LDB4YTQsMHg2MiwweDIwLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4ZDEzMCwgMCwgezB4MDAsMHgyZSwweDEwLDB4MDgsMHg4ZSwweDAzLDB4MjMsMHhhMCwweDg4LDB4YTAsMHgyMCwweDI4LDB4MGIsMHg4YSwweDgyLDB4MGUgfX0sCi0gezE2LCAweGQxNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweDkxLDB4NDAsMHgyMCwweDQ0IH19LAotIHsxNiwgMHhkMTUwLCAwLCB7MHgwOCwweDkwLDB4YTIsMHg4NSwweDEwLDB4YTEsMHgyMCwweDJjLDB4NDIsMHgwYiwweDE0LDB4MTIsMHg4YywweDAxLDB4OTEsMHgxMCB9fSwKLSB7MTYsIDB4ZDE2MCwgMCwgezB4MmMsMHg0OCwweDA5LDB4MTEsMHgwYSwweGM0LDB4MDAsMHg4MSwweDAwLDB4MmMsMHg1MCwweDBiLDB4MTEsMHgxMiwweGM1LDB4MDEgfX0sCi0gezE2LCAweGQxNzAsIDAsIHsweGIxLDB4NDAsMHgyNCwweDQ4LDB4MGIsMHgxOCwweDBlLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDkxLDB4MDAsMHgyMiwweDQxLDB4MDgsMHg5NCwweDQyLDB4MjQsMHgwMCwweGIxLDB4NDAsMHgyMCB9fSwKLSB7MTYsIDB4ZDE5MCwgMCwgezB4NDAsMHg0OSwweGIyLDB4NjIsMHgyNCwweDAwLDB4OTksMHgwMCwweDBhLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNSwweDgwLDB4ODkgfX0sCi0gezE2LCAweGQxYTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDA5LDB4YjAsMHgwMiwweDI0LDB4ODAsMHhiOSwweDAwLDB4MjYsMHg1MCwweDRiLDB4OTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHhkMWIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDIsMHhkOSwweDAwLDB4YjIsMHg0MCB9fSwKLSB7MTYsIDB4ZDFjMCwgMCwgezB4MmMsMHg5NSwweDEzLDB4YTQsMHgxMCwweGU5LDB4MDAsMHhiZSwweDYwLDB4OGYsMHg5MCwweDBiLDB4YTQsMHgxMCwweDU5LDB4MDAgfX0sCi0gezE2LCAweGQxZDAsIDAsIHsweDFlLDB4NDAsMHg5ZCwweDk0LDB4MjMsMHhlNCwweDAyLDB4ODksMHgwMCwweDM0LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNiwweDA4IH19LAotIHsxNiwgMHhkMWUwLCAwLCB7MHg3OSwweDAwLDB4YjYsMHg0MCwweDA3LDB4OTgsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDFmMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MDAsMHhlOSwweDAyLDB4M2MsMHg0MCwweDJmLDB4OTgsMHgwMiwweGU0LDB4MDAsMHhmOSwweDQyLDB4M2EgfX0sCi0gezE2LCAweGQyMDAsIDAsIHsweDY4LDB4MGEsMHgxMCwweDAzLDB4ZTQsMHgxMCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg5MCwweDBmLDB4MjYsMHgwMCwweGY5IH19LAotIHsxNiwgMHhkMjEwLCAwLCB7MHgwNCwweDNlLDB4NDAsMHgwZSwweDFjLDB4MDMsMHhlNiwweDAwLDB4YzEsMHgwMCwweDNhLDB4NTAsMHgwZiwweDk5LDB4ODMsMHhjYSB9fSwKLSB7MTYsIDB4ZDIyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNhLDB4MDAgfX0sCi0gezE2LCAweGQyMzAsIDAsIHsweDBjLDB4ODQsMHgwMywweDIwLDB4MDAsMHhkOCwweDQyLDB4MzIsMHgwNCwweDBjLDB4ODgsMHgxMywweGUwLDB4MDAsMHhjOCwweDAwIH19LAotIHsxNiwgMHhkMjQwLCAwLCB7MHgzMCwweDAwLDB4MGMsMHgwNCwweDBiLDB4MDAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MGUsMHg4MCwweDIzLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDI1MCwgMCwgezB4YzgsMHg4MCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDEsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDEwLDB4OGEsMHgwMCwweDJlLDB4ODAsMHgyOCwweDIwLDB4MjIsMHgyOCwweDAwLDB4OGEsMHgwMCwweDIzIH19LAotIHsxNiwgMHhkMjcwLCAwLCB7MHhiMCwweDg4LDB4ZTAsMHgwMiwweDI4LDB4MTAsMHhkYSwweDAwLDB4YTMsMHhiNCwweDA4LDB4ZTgsMHgxMCwweDI4LDB4MDAsMHg4ZSB9fSwKLSB7MTYsIDB4ZDI4MCwgMCwgezB4MjAsMHgyMywweGEwLDB4NDgsMHhlZCwweDFhLDB4MjgsMHgwMCwweGRlLDB4MDAsMHgyMywweDkwLDB4MGEsMHhlMCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGQyOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGEzLDB4MDAsMHgyOCwweGMwIH19LAotIHsxNiwgMHhkMmEwLCAwLCB7MHgwOCwweDMwLDB4MGEsMHgwYywweDAwLDB4OTMsMHgwMCwweDIwLDB4YzIsMHgyYSwweDMwLDB4MjIsMHhhNCwweDAwLDB4YmIsMHgwMCB9fSwKLSB7MTYsIDB4ZDJiMCwgMCwgezB4MDgsMHhlMCwweDE4LDB4MDksMHgwYSwweDRjLDB4MDAsMHg5MywweDAyLDB4MjQsMHhlOCwweDAyLDB4MDgsMHgwNiwweDRjLDB4MDAgfX0sCi0gezE2LCAweGQyYzAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGQ4LDB4MGEsMHg5MCwweDAyLDB4NGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMmQwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg4MCwweDg3LDB4MDQsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MGUsMHgwMCwweDg3LDB4MTAsMHgyNSB9fSwKLSB7MTYsIDB4ZDJlMCwgMCwgezB4MDAsMHgwYSwweDYwLDB4MDIsMHg1ZSwweDAwLDB4OTcsMHgwMCwweDI5LDB4ODIsMHgwOCwweDUwLDB4MTIsMHg1NCwweDAwLDB4OGYgfX0sCi0gezE2LCAweGQyZjAsIDAsIHsweDgwLDB4NjEsMHhkMCwweDA4LDB4MDQsMHgwMiwweDVjLDB4MDEsMHhiNywweDA4LDB4YTksMHhhMCwweDBhLDB4NTAsMHg4MiwweDY4IH19LAotIHsxNiwgMHhkMzAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4ODAsMHhlNywweDgwLDB4MzgsMHhlNCB9fSwKLSB7MTYsIDB4ZDMxMCwgMCwgezB4MDgsMHg3ZSwweDAzLDB4MWYsMHgwMCwweGRmLDB4ODAsMHhiMSwweDIxLDB4MWUsMHg3OCwweDAzLDB4ZGMsMHgwNCwweGYzLDB4ODAgfX0sCi0gezE2LCAweGQzMjAsIDAsIHsweDViLDB4ZTEsMHgwOCwweDI4LDB4MDMsMHg1ZSwweDAwLDB4ZDcsMHg4MCwweDM1LDB4NjAsMHgwZSwweDY4LDB4MDMsMHg0ZSwweDAwIH19LAotIHsxNiwgMHhkMzMwLCAwLCB7MHhkZiwweDgwLDB4MzEsMHhlMCwweDBlLDB4ZjgsMHgwYiwweDZhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDM0MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MDIsMHhmYiwweDc0LDB4M2UsMHhkMCwweDRmLDB4YjIsMHg4MywweGVkLDB4MDAsMHg3YiwweDY4LDB4M2EgfX0sCi0gezE2LCAweGQzNTAsIDAsIHsweDAwLDB4OGQsMHg4MCwweDAzLDB4YTQsMHgyMCwweGRiLDB4MDEsMHgzNiwweDgwLDB4NmYsMHhiMCwweDQxLDB4ODQsMHgwMCwweGViIH19LAotIHsxNiwgMHhkMzYwLCAwLCB7MHgwMCwweDNjLDB4YzAsMHgwZiwweGU2LDB4ODMsMHhiYywweDQwLDB4ZGIsMHgwMCwweGI2LDB4ODAsMHgwZiwweGIwLDB4MDMsMHg4MiB9fSwKLSB7MTYsIDB4ZDM3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDIwLDB4ZGYsMHhjMCwweDNiLDB4ZTYgfX0sCi0gezE2LCAweGQzODAsIDAsIHsweDBlLDB4ZjgsMHgxMywweGZmLDB4NDQsMHhjNywweDgyLDB4M2IsMHhlMCwweDBmLDB4ZjksMHgwMywweGJlLDB4MTAsMHhjZiwweGM4IH19LAotIHsxNiwgMHhkMzkwLCAwLCB7MHgzMywweDYwLDB4OGQsMHhlYiwweDAzLDB4M2UsMHgwMCwweGRiLDB4ODIsMHgzZiwweGUwLDB4MGMsMHhkOCwweDAzLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZDNhMCwgMCwgezB4Y2UsMHg4MCwweDMzLDB4ZTQsMHgwZiwweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzYjAsIDAsIHsweGE4LDB4MTEsMHhiYywweDQwLDB4ODcsMHgwMCwweDIxLDB4ZTQsMHgwYiwweDc4LDB4YTIsMHhjZSwweDkwLDB4YzcsMHhiMCwweDIwIH19LAotIHsxNiwgMHhkM2MwLCAwLCB7MHhlOCwweDBiLDB4MjgsMHg5MiwweGI2LDB4ODgsMHg4NywweGEwLDB4MjAsMHg2NCwweDBiLDB4MzUsMHgwMywweDE0LDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4ZDNkMCwgMCwgezB4YjIsMHgzOSwweGMwLDB4MmMsMHhjMCwweDAzLDB4NWUsMHgwMiwweGNmLDB4MDAsMHgzMSwweGNlLDB4MGIsMHg3NiwweDEyLDB4MmEgfX0sCi0gezE2LCAweGQzZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGEzLDB4MTAsMHgyOSwweGM4IH19LAotIHsxNiwgMHhkM2YwLCAwLCB7MHgwYiwweDc0LDB4MDIsMHhkYywweDgwLDB4OGYsMHgwMCwweDI5LDB4Y2MsMHgwYSwweDMwLDB4MDYsMHgxNCwweDgwLDB4ODcsMHgxMCB9fSwKLSB7MTYsIDB4ZDQwMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4NjYsMHgwMiwweDVjLDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDBiLDB4NTEsMHgwMiwweDFjLDB4ODAgfX0sCi0gezE2LCAweGQ0MTAsIDAsIHsweDk2LDB4MDAsMHgyMSwweGMwLDB4NWIsMHg3NCwweDgyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwOCwweGEzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHhiOCwweDAyLDB4Y2MsMHgwMCwweDhiLDB4NDAsMHhhOCB9fSwKLSB7MTYsIDB4ZDQzMCwgMCwgezB4YzAsMHg4YiwweDA4LDB4MjIsMHg4YywweDAyLDB4ODMsMHgwMCwweDYwLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgwNCwweDAwLDB4ODMgfX0sCi0gezE2LCAweGQ0NDAsIDAsIHsweDQwLDB4MjgsMHhmYywweDhhLDB4MDAsMHgwMiwweDZlLDB4MDAsMHg4MywweDAwLDB4YTAsMHhkMCwweDhiLDB4MzgsMHgwMiwweDA4IH19LAotIHsxNiwgMHhkNDUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJjLDB4MDIsMHhlZiwweDAwLDB4M2IsMHhjMCB9fSwKLSB7MTYsIDB4ZDQ2MCwgMCwgezB4NGYsMHhmOCwweDAyLDB4ZmMsMHgwMiwweGNmLDB4MDAsMHgzOCwweDEyLDB4MGUsMHg5OCwweDAyLDB4MmMsMHgwMCwweGNmLDB4MDAgfX0sCi0gezE2LCAweGQ0NzAsIDAsIHsweDMyLDB4YzAsMHgwOSwweDkwLDB4MDMsMHg2NCwweDAyLDB4ODEsMHhjMCwweDNlLDB4ZDAsMHgwZiwweDkwLDB4MDcsMHgzYywweDAzIH19LAotIHsxNiwgMHhkNDgwLCAwLCB7MHhkOSwweDAwLDB4MzIsMHg2MCwweDBmLDB4ODgsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQ5MCwgMCwgezB4ODAsMHgwMCwweGNjLDB4MDAsMHhkYiwweDAwLDB4M2UsMHhjMCwweDhmLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAyLDB4MzYgfX0sCi0gezE2LCAweGQ0YTAsIDAsIHsweGMwLDB4NGYsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHhiZSwweDkwLDB4MGYsMHg5YywweDEzLDB4ZWMsMHgwMCwweGU5IH19LAotIHsxNiwgMHhkNGIwLCAwLCB7MHgxOCwweDNhLDB4ZDAsMHgwNCwweGQ1LDB4MDMsMHhlYywweDQwLDB4ZTksMHgwMCwweDNhLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZDRjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4Y2YsMHgwMCwweDNkLDB4YzEgfX0sCi0gezE2LCAweGQ0ZDAsIDAsIHsweDhjLDB4ZjAsMHgwMywweDJjLDB4MDAsMHhlZiwweDBhLDB4YjMsMHgxMiwweDJjLDB4NzAsMHgyMywweDE0LDB4MGEsMHg0ZiwweDAwIH19LAotIHsxNiwgMHhkNGUwLCAwLCB7MHgzNSwweDYwLDB4MGQsMHhiMCwweDAzLDB4MDQsMHgwMCwweGNkLDB4ODAsMHgwNywweGU4LDB4MGMsMHhjNCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZDRmMCwgMCwgezB4Y2QsMHgwMCwweDMxLDB4ZTIsMHgyYywweGUwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1MDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAyLDB4YWIsMHgwMiwweDJlLDB4YzAsMHgwZSwweGIwLDB4MDIsMHgyYywweDAwLDB4OGIsMHgwMCwweDMyIH19LAotIHsxNiwgMHhkNTEwLCAwLCB7MHgzMCwweDAwLDB4OWMsMHgwMywweDZjLDB4MDAsMHg4YiwweDA0LDB4MjIsMHgzNiwweDA4LDB4MzQsMHg0YSwweDJjLDB4MDgsMHg4OSB9fSwKLSB7MTYsIDB4ZDUyMCwgMCwgezB4OTAsMHgyMCwweGI4LDB4MGYsMHg4NCwweDAwLDB4YWMsMHgwMiwweDg5LDB4MDAsMHgzNiwweGEwLDB4MDgsMHhhNCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGQ1MzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGMwIH19LAotIHsxNiwgMHhkNTQwLCAwLCB7MHgwOCwweGIwLDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ZDEsMHgwOCwweDg4LDB4MTIsMHgyNiwweDAwLDB4YTMsMHgwMCB9fSwKLSB7MTYsIDB4ZDU1MCwgMCwgezB4MjYsMHg0MCwweDBiLDB4YjAsMHgwMiwweDI2LDB4MDAsMHg4YiwweDAwLDB4MjYsMHhjMCwweDU4LDB4MTAsMHgxMiwweDJjLDB4MDQgfX0sCi0gezE2LCAweGQ1NjAsIDAsIHsweDgyLDB4ODAsMHgyYSwweDQ5LDB4MDgsMHgzMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGEzLDB4MTQsMHgyYywweGM4LDB4MWEsMHgzNCwweDhhLDB4MGMsMHg4NCwweDgzLDB4NDAsMHgyMiB9fSwKLSB7MTYsIDB4ZDU4MCwgMCwgezB4YzgsMHgwOCwweDAzLDB4NjIsMHg0YywweGMwLDB4YTMsMHg2MCwweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGQ1OTAsIDAsIHsweDQ1LDB4MDgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDhjLDB4YTAsMHg4MywweDAwLDB4MjYsMHg0MCwweDA4LDB4MzAsMHgwYSwweDAyIH19LAotIHsxNiwgMHhkNWEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhjZiwweDQwLDB4MmYsMHhkMiB9fSwKLSB7MTYsIDB4ZDViMCwgMCwgezB4OGMsMHhmNiwweDAzLDB4M2MsMHgyMiwweGNmLDB4NDAsMHgzMiwweGQ2LDB4NGMsMHhhNiwweGMxLDB4M2QsMHhhMCwweDg3LDB4NDggfX0sCi0gezE2LCAweGQ1YzAsIDAsIHsweDM2LDB4MGQsMHgwZiwweGIxLDB4MDIsMHgyNCwweDQyLDB4Y2IsMHg2MCwweDE2LDB4YzAsMHgwYywweGQwLDB4MDMsMHgyYywweDgwIH19LAotIHsxNiwgMHhkNWQwLCAwLCB7MHhjYSwweDAwLDB4MzIsMHhjMCwweDBjLDB4MzAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDVlMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDIwLDB4M2UsMHhjYSwweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhkYiwweDM0LDB4M2EgfX0sCi0gezE2LCAweGQ1ZjAsIDAsIHsweGM4LDB4MGYsMHg4MCwweDAzLDB4ZTQsMHgxMCwweGRiLDB4MjEsMHgzZSwweDE4LDB4MGQsMHhmMiwweDAzLDB4ZmMsMHg4MCwweGZmIH19LAotIHsxNiwgMHhkNjAwLCAwLCB7MHgzMCwweDM1LDB4YzAsMHgwZiwweGMwLDB4MTMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZDYxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTEsMHhmYywweDAwLDB4ZmIsMHgwYiwweDJmLDB4Y2EgfX0sCi0gezE2LCAweGQ2MjAsIDAsIHsweDhkLDB4ZjIsMHgwMywweGZhLDB4MDAsMHg5NiwweDgwLDB4M2IsMHhjNCwweDBkLDB4ZjEsMHgwMywweDdjLDB4ODAsMHhlYywweDgwIH19LAotIHsxNiwgMHhkNjMwLCAwLCB7MHgzYiwweDA4LDB4MGMsMHhjMiwweDAzLDB4NzQsMHgwMiwweGNjLDB4ODAsMHgzZiwweDQ4LDB4MGUsMHhmMCwweDAzLDB4MzAsMHhhMCB9fSwKLSB7MTYsIDB4ZDY0MCwgMCwgezB4ZDUsMHg4MCwweDNmLDB4NDAsMHgwYywweGY4LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2NTAsIDAsIHsweDgwLDB4MDgsMHhlZSwweDQwLDB4YmYsMHg4MCwweDJmLDB4ZjAsMHgwYiwweGY3LDB4MjIsMHhlZSwweDIwLDB4OGEsMHg4MCwweDIzIH19LAotIHsxNiwgMHhkNjYwLCAwLCB7MHhmYywweDg4LDB4NzUsMHgxMiwweDNkLDB4MDAsMHg4OCwweDAwLDB4MjIsMHgwMCwweDI4LDB4ODAsMHgwMiwweDI0LDB4MDgsMHg4OCB9fSwKLSB7MTYsIDB4ZDY3MCwgMCwgezB4MDAsMHg2ZiwweDUwLDB4MDAsMHhmNSwweDAyLDB4MjksMHgwMCwweDg5LDB4MDAsMHgyZSwweDU0LDB4MGQsMHg5MCwweDExLDB4YTAgfX0sCi0gezE2LCAweGQ2ODAsIDAsIHsweDA0LDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMxIH19LAotIHsxNiwgMHhkNjkwLCAwLCB7MHgwOSwweDMwLDB4ODIsMHhjYywweDgyLDB4YmIsMHgwMCwweDI4LDB4YzAsMHg0OSwweDMyLDB4MDIsMHhjZCwweDAwLDB4YjgsMHgwMCB9fSwKLSB7MTYsIDB4ZDZhMCwgMCwgezB4MmMsMHg1MCwweDA5LDB4MDEsMHgwMiwweDBjLDB4NDAsMHg4MCwweDAwLDB4NmMsMHg0NCwweDA5LDB4MzAsMHgwMiwweDIwLDB4MDAgfX0sCi0gezE2LCAweGQ2YjAsIDAsIHsweGIwLDB4MDAsMHgyYywweDQwLDB4MTgsMHgzMCwweDA2LDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNmMwLCAwLCB7MHhjMCwweDAxLDB4YWMsMHgwMCwweGJiLDB4MDEsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZWUsMHgwMCwweGFhLDB4MDAsMHg0YSB9fSwKLSB7MTYsIDB4ZDZkMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4NTIsMHhlYywweDAwLDB4OTgsMHgwMiwweDI2LDB4NDAsMHgwOSwweDgwLDB4MDIsMHg2YywweDAxLDB4YWEgfX0sCi0gezE2LCAweGQ2ZTAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDA5LDB4YjAsMHgwMiwweDIyLDB4MDAsMHhhOSwweDgwLDB4MmUsMHg0MSwweDA5LDB4OTAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhkNmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ZDcwMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4Y2UsMHg4NCwweGZhLDB4MDAsMHgxYSwweGMwLDB4OGQsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGYwLDB4MDIgfX0sCi0gezE2LCAweGQ3MTAsIDAsIHsweDNmLDB4MDAsMHgwZCwweGQxLDB4MDMsMHgzNSwweDAwLDB4Y2IsMHg0OCwweDJlLDB4NDAsMHgyZiwweGIwLDB4MDksMHgyMiwweDgwIH19LAotIHsxNiwgMHhkNzIwLCAwLCB7MHhmOSwweGM4LDB4MWUsMHhlMCwweDA4LDB4YjEsMHhlMiwweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDczMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHg3YiwweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgyMywweGZjLDB4MDAsMHhkZSwweDAwLDB4MjQgfX0sCi0gezE2LCAweGQ3NDAsIDAsIHsweGMwLDB4NGYsMHhmMCwweDAzLDB4MmMsMHgwMCwweGVjLDB4MjAsMHgzYiwweDAwLDB4MGUsMHg5OCwweDAzLDB4OTQsMHgwMiwweGRkIH19LAotIHsxNiwgMHhkNzUwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHg0ZSwweGYwLDB4MDEsMHhmOCwweDAwLDB4ZGQsMHgwMCwweDNjLDB4ZTQsMHgwZiwweGQ4LDB4MDMsMHhiOCB9fSwKLSB7MTYsIDB4ZDc2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhhYywweGMwLDB4ZmIsMHgyMCwweDMyLDB4YzggfX0sCi0gezE2LCAweGQ3NzAsIDAsIHsweDhkLDB4YjAsMHgwMywweGVjLDB4MDAsMHhmOSwweDAwLDB4M2EsMHhjMiwweDJjLDB4MzAsMHgwMywweDZjLDB4MDQsMHhkOCwweDAyIH19LAotIHsxNiwgMHhkNzgwLCAwLCB7MHgzYywweDQ0LDB4OGQsMHgxMCwweDAzLDB4YWQsMHgwMywweGVhLDB4MDAsMHgzYywweDQwLDB4MGMsMHg3MCwweDIzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ZDc5MCwgMCwgezB4YzgsMHg0MCwweDNhLDB4YzAsMHgwZCwweGJjLDB4MDMsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3YTAsIDAsIHsweGM4LDB4MDEsMHgzZCwweDAwLDB4YmYsMHg0MiwweDIzLDB4ZjAsMHgwZCwweGYwLDB4MDIsMHhlNSwweDAwLDB4ZTIsMHgwMSwweDM3IH19LAotIHsxNiwgMHhkN2IwLCAwLCB7MHhmMSwweDA4LDB4ZjAsMHgwZSwweDNkLDB4YzAsMHhhOCwweDAwLDB4MmUsMHg1NCwweDI4LDB4OTAsMHgwMiwweDJjLDB4MDAsMHg4YSB9fSwKLSB7MTYsIDB4ZDdjMCwgMCwgezB4MDUsMHgzYiwweDQxLDB4NDgsMHhmNSwweDAzLDB4OGMsMHgwMCwweDg5LDB4MDAsMHgyMiwweGQ0LDB4MGUsMHg5NSwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGQ3ZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDQsMHgyMCwweGMwIH19LAotIHsxNiwgMHhkN2UwLCAwLCB7MHg4OSwweDMwLDB4MDIsMHhjYywweDQwLDB4YjIsMHgwMCwweDJjLDB4YzQsMHg0OCwweDMwLDB4MDIsMHgyYywweDAyLDB4YTIsMHgwMCB9fSwKLSB7MTYsIDB4ZDdmMCwgMCwgezB4MmMsMHgyMCwweDE5LDB4MjAsMHgxYSwweDgwLDB4MDgsMHhiMCwweDAwLDB4NmMsMHg0MCwweDA4LDB4MzAsMHgwMiwweGM0LDB4MDAgfX0sCi0gezE2LCAweGQ4MDAsIDAsIHsweDgxLDB4MDAsMHgyYywweDQwLDB4MDgsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4YTAsMHhlMSwweGUwLDB4MDksMHg3OCwweDAyLDB4ZGYsMHgwNCwweGFlLDB4ODAsMHgyZCB9fSwKLSB7MTYsIDB4ZDgyMCwgMCwgezB4ZTAsMHgwOCwweDc5LDB4MDIsMHgxZSwweDEwLDB4ODcsMHg5MCwweDJjLDB4MjgsMHgyOSwweDY4LDB4MDIsMHg4MiwweDgxLDB4YjQgfX0sCi0gezE2LCAweGQ4MzAsIDAsIHsweDgwLDB4MmQsMHg2MCwweDA4LDB4NzgsMHgxMCwweGJjLDB4MDAsMHg4ZiwweDgwLDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhkODQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDBjLDB4MDUsMHhmMywweDkyLDB4MzAsMHhjYSB9fSwKLSB7MTYsIDB4ZDg1MCwgMCwgezB4MGQsMHgzMCwweDAzLDB4Y2MsMHgwMCwweGYzLDB4MDAsMHgzYywweGMwLDB4MGMsMHgzMCwweDAyLDB4MGMsMHg4MCwweDcwLDB4MDAgfX0sCi0gezE2LCAweGQ4NjAsIDAsIHsweDJjLDB4NDAsMHgwZCwweDIwLDB4MDMsMHg4OSwweDAwLDB4YjEsMHgwMCwweDNlLDB4NDAsMHgyYywweDMwLDB4MDMsMHhlYywweDUwIH19LAotIHsxNiwgMHhkODcwLCAwLCB7MHhjMywweDIwLDB4M2MsMHg0MCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2MsMHhjMCwweDBlLDB4YjAsMHg4MywweGVjLDB4NDAsMHhlYSwweDAwLDB4MzYgfX0sCi0gezE2LCAweGQ4OTAsIDAsIHsweGMyLDB4MGYsMHhiMCwweDgzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgzZSwweDQ4LDB4MGUsMHhlMCwweDBiLDB4N2EsMHg4MCwweGNmIH19LAotIHsxNiwgMHhkOGEwLCAwLCB7MHgwMCwweDNiLDB4NDQsMHgwZiwweGYwLDB4MDMsMHhlYywweGMwLDB4ZmYsMHgwMCwweDAzLDB4NDQsMHgwZSwweGUwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZDhiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgyMywweDNlLDB4YzggfX0sCi0gezE2LCAweGQ4YzAsIDAsIHsweDFkLDB4YjAsMHgwMywweGVlLDB4MDAsMHhjYSwweDAwLDB4M2UsMHhjOCwweDBjLDB4YjIsMHgwMywweDJkLDB4OTAsMHhjOCwweDg0IH19LAotIHsxNiwgMHhkOGQwLCAwLCB7MHgzNiwweDAwLDB4MmQsMHhiMCwweDAzLDB4NjAsMHgxOCwweDliLDB4ODAsMHgzMywweDUwLDB4MGMsMHhmMiwweDAzLDB4ZTIsMHgwMCB9fSwKLSB7MTYsIDB4ZDhlMCwgMCwgezB4YzksMHg4MCwweDMyLDB4NDAsMHgwYywweGI4LDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4ZjAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHgyOCwweDBjLDB4ZDIsMHgyOCwweDczLDB4MDIsMHhmYywweDAwLDB4ODYsMHgwNCwweDJjIH19LAotIHsxNiwgMHhkOTAwLCAwLCB7MHhjYywweDI4LDB4NzAsMHg4MywweDBjLDB4MjAsMHg5NSwweDAxLDB4MjAsMHgwMCwweDA5LDB4MzAsMHgxMiwweDEwLDB4MDQsMHg4NSB9fSwKLSB7MTYsIDB4ZDkxMCwgMCwgezB4MDAsMHgyMSwweDUyLDB4MDgsMHg3NSwweDAyLDB4ZDgsMHgwMCwweDg3LDB4MDAsMHgyMSwweDQwLDB4MDgsMHg2MCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGQ5MjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHhkNCwweGI3LDB4YjEsMHgwOSwweGUxIH19LAotIHsxNiwgMHhkOTMwLCAwLCB7MHgwOCwweDc4LDB4MjIsMHhkZSwweDAwLDB4OTUsMHg4MCwweDJkLDB4ZTAsMHgwOCwweDc4LDB4MGEsMHg1ZSwweDQyLDB4OTQsMHhjMCB9fSwKLSB7MTYsIDB4ZDk0MCwgMCwgezB4MjEsMHg2MCwweDA4LDB4NzgsMHgwMiwweDVhLDB4MDAsMHg4NywweDgwLDB4MmQsMHg2OCwweDA4LDB4N2EsMHgwMiwweGQ3LDB4MDAgfX0sCi0gezE2LCAweGQ5NTAsIDAsIHsweDk3LDB4ODAsMHgyMCwweDYwLDB4MDksMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTYwLCAwLCB7MHg0OCwweDEwLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHgyYywweGMwLDB4MDgsMHhiMCwweDAyLDB4Y2QsMHg4MCwweDkyLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4ZDk3MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MDIsMHhjYywweDAwLDB4OTAsMHg4MCwweGEwLDB4NDAsMHgwOSwweDM2LDB4MDIsMHg0OCwweDAyLDB4ODMgfX0sCi0gezE2LCAweGQ5ODAsIDAsIHsweGEwLDB4YWMsMHg0MCwweDJhLDB4MzAsMHgwNiwweGNlLDB4MDIsMHg5MywweDA0LDB4YTAsMHg0MCwweDA5LDB4MjAsMHgwYSwweDEyIH19LAotIHsxNiwgMHhkOTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4M2EsMHg4MCB9fSwKLSB7MTYsIDB4ZDlhMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZmIsMHgwMiwweGRlLDB4ODAsMHgzZSwweDgwLDB4MGMsMHhhMCwweDAzLDB4MjgsMHgwMCwweGNlLDB4ODAgfX0sCi0gezE2LCAweGQ5YjAsIDAsIHsweDMyLDB4ODAsMHgwYywweGE0LDB4MDMsMHg3OCwweDAwLDB4Y2UsMHhhNCwweDNmLDB4ODAsMHgwYywweGEwLDB4MDcsMHhmOSwweDAwIH19LAotIHsxNiwgMHhkOWMwLCAwLCB7MHhkZSwweDAwLDB4MzIsMHg4MCwweDJkLDB4ZTAsMHgwMiwweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDlkMCwgMCwgezB4NDgsMHgwMCwweGUxLDB4MDAsMHhmOCwweDAwLDB4N2MsMHgwMCwweDBmLDB4ODAsMHgwMywweGUwLDB4NDAsMHhlOCwweDEwLDB4M2MgfX0sCi0gezE2LCAweGQ5ZTAsIDAsIHsweDAxLDB4Y2YsMHg4MCwweDBmLDB4MjAsMHgwMCwweGU4LDB4MDAsMHgzZSwweDAwLDB4MGUsMHgwNCwweDAzLDB4OTAsMHgwMCwweGU4IH19LAotIHsxNiwgMHhkOWYwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwZCwweDgwLDB4MDcsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDQsMHgwZSwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ZGEwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgxMCwweDdlLDB4NDEgfX0sCi0gezE2LCAweGRhMTAsIDAsIHsweDBlLDB4OTAsMHgwMywweDI0LDB4MDAsMHhmOSwweDAwLDB4MzYsMHg2OCwweDBlLDB4OTAsMHgwZiwweGE0LDB4MDgsMHhjOSwweDAwIH19LAotIHsxNiwgMHhkYTIwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDBiLDB4MjQsMHgxMiwweGU5LDB4MDAsMHgzZSwweDQ0LDB4MmMsMHg5MCwweDAzLDB4NjQsMHgyNCB9fSwKLSB7MTYsIDB4ZGEzMCwgMCwgezB4ZjksMHgwMiwweDJlLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhNDAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDEwLDB4YjksMHg4MCwweDNlLDB4NDAsMHgwOCwweDkwLDB4MGEsMHgyNiwweDAwLDB4YjEsMHgxMCwweDJhIH19LAotIHsxNiwgMHhkYTUwLCAwLCB7MHg3MiwweDA4LDB4OTAsMHgwNywweDY0LDB4MDIsMHg4OSwweDQwLDB4MmUsMHg0MCwweDI4LDB4OTAsMHgxMiwweDI1LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZGE2MCwgMCwgezB4NDUsMHgzZSwweDUwLDB4MGQsMHg5MCwweDBhLDB4MjUsMHgwMCwweGI5LDB4NDAsMHgyZSwweDQwLDB4MjgsMHg5NCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGRhNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHhkYTgwLCAwLCB7MHg0OCwweDkwLDB4NDIsMHgyNiwweDAxLDB4YjksMHg0MCwweDI2LDB4NDAsMHgwYSwweDkwLDB4NDIsMHg4NCwweDAxLDB4OGIsMHgwOCB9fSwKLSB7MTYsIDB4ZGE5MCwgMCwgezB4MmMsMHg0MCwweDA5LDB4ZDAsMHg4MiwweDM0LDB4MzIsMHhhOSwweDA4LDB4NmUsMHg0MiwweDA4LDB4MTAsMHgwMiwweDI0LDB4MjAgfX0sCi0gezE2LCAweGRhYTAsIDAsIHsweGI5LDB4MDgsMHgyYywweDQwLDB4MTgsMHg5MCwweDgyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYWIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGIzLDB4MjAsMHgyOCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHgwMSwweGIxLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4ZGFjMCwgMCwgezB4NTgsMHgwOCwweDEyLDB4MDIsMHgwNSwweDg5LDB4ODEsMHg0MCwweDJjLDB4NTgsMHgwOCwweDU2LDB4MDYsMHgxNSwweDgwLDB4ODEgfX0sCi0gezE2LCAweGRhZDAsIDAsIHsweDQwLDB4MjgsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA1LDB4ODAsMHhiMSwweDQwLDB4MmMsMHg1YSwweDA4LDB4MTQsMHgwMiwweGMyIH19LAotIHsxNiwgMHhkYWUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY4LDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4ZGFmMCwgMCwgezB4MmUsMHg4NSwweDAzLDB4MjEsMHg0OCwweGY4LDB4MDAsMHgzNiwweDAwLDB4OGUsMHgwNSwweDAyLDB4YTAsMHgwOCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGRiMDAsIDAsIHsweDNlLDB4MDAsMHgwZCwweDgwLDB4MGIsMHgxMCwweDA0LDB4ZTAsMHgwMCwweDJjLDB4MDAsMHg0YywweDgwLDB4MDMsMHg0MCwweDAwIH19LAotIHsxNiwgMHhkYjEwLCAwLCB7MHhmMCwweDAwLDB4M2UsMHgwOCwweDBjLDB4MDAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGIyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2UsMHg0NCwweDBmLDB4OTEsMHgwMywweGY0LDB4MDAsMHhmZCwweDAwLDB4M2UgfX0sCi0gezE2LCAweGRiMzAsIDAsIHsweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MDMsMHgzZiwweDQ0LDB4MWYsMHg5MSwweDFiLDB4ZTQsMHg0MCwweGZkIH19LAotIHsxNiwgMHhkYjQwLCAwLCB7MHgwMSwweDNmLDB4NTAsMHgwZSwweDk0LDB4MDMsMHhmNCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhhNiB9fSwKLSB7MTYsIDB4ZGI1MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4Y2QsMHhhMCwweDcxLDB4NjggfX0sCi0gezE2LCAweGRiNjAsIDAsIHsweDhkLDB4OTgsMHgwMywweGQ0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg2MCwweDBjLDB4OTgsMHg4ZiwweDI3LDB4MjAsMHhjOSwweDQwIH19LAotIHsxNiwgMHhkYjcwLCAwLCB7MHgzZSwweDc4LDB4MGMsMHg5ZSwweDhiLDB4MjcsMHgyMCwweGQxLDB4MTEsMHgzMCwweDYwLDB4OGMsMHg5YywweDAzLDB4MjUsMHgwMCB9fSwKLSB7MTYsIDB4ZGI4MCwgMCwgezB4ZjksMHg0MCwweDNlLDB4NzgsMHgwZiwweDkwLDB4MDMsMHg0NiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiOTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDEwLDB4ODgsMHgwMSwweDIyLDB4MDEsMHgwOCwweDhjLDB4MjIsMHhlOCwweDAwLDB4ODgsMHgwMiwweDJhIH19LAotIHsxNiwgMHhkYmEwLCAwLCB7MHgxNCwweDA4LDB4OGMsMHgwYiwweDIzLDB4OTAsMHg4OCwweGEwLDB4MmUsMHhiMCwweDA4LDB4OGMsMHg0MiwweDIzLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4ZGJiMCwgMCwgezB4YTAsMHgzNiwweDJhLDB4MTgsMHg4YSwweDAyLDB4MjIsMHgwMCwweGI4LDB4YTAsMHgyZSwweDM0LDB4MGIsMHhjYSwweDgyLDB4MGUgfX0sCi0gezE2LCAweGRiYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweDgxLDB4NDAsMHgyNCwweDUwIH19LAotIHsxNiwgMHhkYmQwLCAwLCB7MHgwOSwweDE2LDB4ODIsMHhjNCwweDAwLDB4YTksMHgwMCwweDIwLDB4NDAsMHgwOCwweDEyLDB4OTIsMHg1NCwweDA4LDB4ODUsMHgwMCB9fSwKLSB7MTYsIDB4ZGJlMCwgMCwgezB4MmYsMHg0YywweDA5LDB4NTIsMHgxMiwweDE0LDB4ODAsMHg5ZCwweDAwLDB4MjEsMHg1MCwweDA4LDB4NTQsMHgyMiwweDE0LDB4ODAgfX0sCi0gezE2LCAweGRiZjAsIDAsIHsweGI1LDB4MDAsMHgyZCwweDQ4LDB4MGIsMHhkMCwweDAyLDB4NDIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzAwLCAwLCB7MHgxOCwweDA1LDB4YTQsMHgwMiwweDg5LDB4MDEsMHhhMiwweDQwLDB4NDgsMHg5MCwweDAyLDB4ZTQsMHgwMiwweGE5LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZGMxMCwgMCwgezB4NDAsMHg2OCwweDkwLDB4MDIsMHg2NCwweDEwLDB4YWQsMHgwMCwweDJmLDB4NDEsMHgyOCwweDUwLDB4MDIsMHgzNCwweDAwLDB4OGQgfX0sCi0gezE2LCAweGRjMjAsIDAsIHsweDQ0LDB4MjcsMHg0MCwweDM5LDB4ZDAsMHgwMiwweDM1LDB4MDAsMHhiZCwweDE0LDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhkYzMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGM0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4ZGM0MCwgMCwgezB4MmQsMHg5MCwweDAzLDB4ZTcsMHgwMCwweGUxLDB4ZTAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDBiLDB4NjQsMHgwMiwweGM5LDB4MDggfX0sCi0gezE2LCAweGRjNTAsIDAsIHsweDNjLDB4NTAsMHgwYywweDkwLDB4MDIsMHgyNiwweDAyLDB4ZDksMHhjMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MTMsMHgyNywweDAwIH19LAotIHsxNiwgMHhkYzYwLCAwLCB7MHhmOSwweDIwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGM3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDIsMHhmOSwweDAwLDB4MzgsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4ODAsMHhkOSwweGEwLDB4M2MgfX0sCi0gezE2LCAweGRjODAsIDAsIHsweDQwLDB4MGYsMHgxMCwweDAzLDB4YTQsMHgwMCwweGQ5LDB4MTAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YzQsMHg5MiwweGY5IH19LAotIHsxNiwgMHhkYzkwLCAwLCB7MHgyMSwweDNjLDB4NDAsMHgyZSwweDkwLDB4MGYsMHhlNiwweDgwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9fSwKLSB7MTYsIDB4ZGNhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDQwLDB4ZTgsMHgxMCwweDNlLDB4MDQgfX0sCi0gezE2LCAweGRjYjAsIDAsIHsweDRlLDB4ODAsMHgwMywweDIwLDB4ODAsMHhkOCwweDYwLDB4M2EsMHgwMiwweDBjLDB4ODAsMHgxMywweDIwLDB4MDAsMHhmOCwweDQwIH19LAotIHsxNiwgMHhkY2MwLCAwLCB7MHgzNiwweDEwLDB4MmQsMHg4MCwweDAzLDB4YTAsMHgwOCwweGU4LDB4NDAsMHgzMiwweDAwLDB4MGQsMHgwMCwweDAzLDB4MjEsMHgwMiB9fSwKLSB7MTYsIDB4ZGNkMCwgMCwgezB4YzgsMHg0MCwweGIyLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjZTAsIDAsIHsweDI4LDB4MTEsMHgzYiwweDEwLDB4ODYsMHgwMSwweDJmLDB4YTAsMHgwZCwweGEwLDB4MDIsMHgzOCwweDAwLDB4OGUsMHhlMCwweDIzIH19LAotIHsxNiwgMHhkY2YwLCAwLCB7MHhhMiwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHhiYSwweDgwLDB4MjIsMHg4MCwweDA4LDB4YTAsMHgwMiwweDI4LDB4MDAsMHg4MiB9fSwKLSB7MTYsIDB4ZGQwMCwgMCwgezB4MDAsMHgyYSwweDgwLDB4MjgsMHhhMCwweDAyLDB4MmEsMHgwNCwweDhhLDB4ODAsMHgyMiwweGEwLDB4MGIsMHg2MCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweGRkMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDMsMHg4MCwweGEyLDB4MDAsMHgyYywweGEwIH19LAotIHsxNiwgMHhkZDIwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgyZSwweDAwLDB4OTIsMHgwMCwweDI4LDB4YzAsMHgyOCwweDMwLDB4MDIsMHgyYywweDAwLDB4YjMsMHg4MCB9fSwKLSB7MTYsIDB4ZGQzMCwgMCwgezB4MjQsMHhjMCwweDA5LDB4MzAsMHgwYSwweDhjLDB4MDAsMHhhMywweDAwLDB4NjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDRjLDB4MDAgfX0sCi0gezE2LCAweGRkNDAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGUwLDB4MGIsMHgyMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZDUwLCAwLCB7MHhhMCwweDAxLDB4MTAsMHgwMCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MDksMHgzYSwweDAyLDB4MzUsMHgwMCwweDg2LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4ZGQ2MCwgMCwgezB4YzAsMHgwOCwweDczLDB4MDIsMHgxMCwweDAwLDB4YmYsMHg4OCwweDIxLDB4MDAsMHgwOCwweDcwLDB4MDIsMHgxYywweDA4LDB4OGYgfX0sCi0gezE2LCAweGRkNzAsIDAsIHsweDAwLDB4MmIsMHhjMCwweDA4LDB4MjAsMHgxMiwweDVlLDB4MjAsMHg4NywweDg4LDB4MjEsMHg4MywweDBiLDB4NjAsMHgwMiwweGU4IH19LAotIHsxNiwgMHhkZDgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhlNSwweDgxLDB4M2QsMHhhMCB9fSwKLSB7MTYsIDB4ZGQ5MCwgMCwgezB4MmMsMHg3YSwweDBiLDB4MWUsMHgwMCwweGQ0LDB4ODAsMHgzOCwweGUwLDB4MGMsMHhmYSwweDBiLDB4MWUsMHgwMCwweGY2LDB4ODAgfX0sCi0gezE2LCAweGRkYTAsIDAsIHsweDM0LDB4ZTAsMHgwZCwweDI4LDB4MDMsMHg4YSwweDAwLDB4ZTYsMHg4MCwweDMxLDB4MjAsMHgwYywweDc4LDB4MDMsMHg3YSwweDA0IH19LAotIHsxNiwgMHhkZGIwLCAwLCB7MHhjZSwweDg0LDB4MzEsMHhlMCwweDRmLDB4NzgsMHg0MywweGVhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGRjMCwgMCwgezB4MDgsMHgwZCwweDgwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjUsMHgyMywweGU0LDB4MDAsMHhmMCwweDA0LDB4MzYgfX0sCi0gezE2LCAweGRkZDAsIDAsIHsweDQwLDB4MGYsMHhiNiwweDg3LDB4ZTAsMHgwMCwweGYyLDB4MDAsMHgzZSwweDAwLDB4MWYsMHhhMCwweDBiLDB4ZTgsMHgwMCwweGZhIH19LAotIHsxNiwgMHhkZGUwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZSwweGEwLDB4MDMsMHhhOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZGRmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2MsMHg4MCwweDMzLDB4YTAgfX0sCi0gezE2LCAweGRlMDAsIDAsIHsweDBjLDB4ZmMsMHgwMywweDNlLDB4MDAsMHhmYywweDgwLDB4MzcsMHhlMCwweDBmLDB4YjksMHgyMSwweDNlLDB4MDAsMHhmZCwweDgyIH19LAotIHsxNiwgMHhkZTEwLCAwLCB7MHgzMywweGUwLDB4MmMsMHhmOCwweDAzLDB4N2UsMHgxMCwweGRmLDB4ODQsMHgzZCwweGUwLDB4MGMsMHhmOCwweDAzLDB4ZjYsMHgwMCB9fSwKLSB7MTYsIDB4ZGUyMCwgMCwgezB4ZmQsMHg4MCwweDNmLDB4NjAsMHgwYywweGU4LDB4MjMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlMzAsIDAsIHsweGE4LDB4MTEsMHg5OCwweDQwLDB4ODQsMHgxMCwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxMCwweDgwLDB4YjQsMHgwMCwweDIxIH19LAotIHsxNiwgMHhkZTQwLCAwLCB7MHhjOCwweDBiLDB4N2EsMHgwMiwweDEwLDB4MDAsMHhmZCwweDAwLDB4MjEsMHgwNCwweDA4LDB4NzAsMHgwMiwweDFjLDB4NDIsMHg4NyB9fSwKLSB7MTYsIDB4ZGU1MCwgMCwgezB4MDAsMHgyZCwweGM0LDB4NDgsMHg2MSwweDAyLDB4ZDYsMHg4MCwweGI1LDB4MDAsMHgyZiwweDA0LDB4MDgsMHg2MSwweDgyLDB4MmEgfX0sCi0gezE2LCAweGRlNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMCwweDgxLDB4MDAsMHgyMSwweDgwIH19LAotIHsxNiwgMHhkZTcwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgxYywweDEwLDB4YmMsMHgwOCwweDI1LDB4ODAsMHg0YiwweDMwLDB4MGUsMHgxYywweDAwLDB4YjQsMHgwMCB9fSwKLSB7MTYsIDB4ZGU4MCwgMCwgezB4MjAsMHhjMCwweDA4LDB4MjAsMHgwMiwweDU4LDB4MDAsMHg5NiwweDAwLDB4MmYsMHgwMCwweDBhLDB4NzAsMHgwMiwweGQwLDB4ODAgfX0sCi0gezE2LCAweGRlOTAsIDAsIHsweGI0LDB4MTgsMHgyZCwweDQwLDB4MDksMHhmOCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZWEwLCAwLCB7MHgyMCwweDE0LDB4YzgsMHgwMiwweDgwLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDIyLDB4MGIsMHhjMCwweGIwLDB4YzAsMHgyMiB9fSwKLSB7MTYsIDB4ZGViMCwgMCwgezB4ODAsMHgwYiwweDMwLDB4MDIsMHgwMCwweDAwLDB4YTAsMHgwNCwweDIyLDB4MDAsMHgyOCwweGEwLDB4MDIsMHgyYiwweDAwLDB4OGEgfX0sCi0gezE2LCAweGRlYzAsIDAsIHsweDAwLDB4MmMsMHgwMCwweDA4LDB4YTAsMHgwNiwweGMwLDB4MDAsMHhiMCwweGMyLDB4MmMsMHgwMCwweDA5LDB4YmMsMHgxYSwweDA4IH19LAotIHsxNiwgMHhkZWQwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4ZGVlMCwgMCwgezB4MGMsMHhmMCwweDBiLDB4MjYsMHgwMCwweGY5LDB4YzAsMHgzNiwweDAwLDB4MGYsMHhmMCwweDEzLDB4MmMsMHgxMCwweGJiLDB4NDAgfX0sCi0gezE2LCAweGRlZjAsIDAsIHsweGYyLDB4YzAsMHgwOCwweDkwLDB4MDMsMHg2NywweDAwLDB4ZDksMHg4MCwweDNlLDB4YzAsMHgwOCwweDkwLDB4MDIsMHhlYywweDAwIH19LAotIHsxNiwgMHhkZjAwLCAwLCB7MHhmYiwweGQwLDB4M2UsMHhjMCwweDI5LDB4OGMsMHgwMCwweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGYxMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQ0LDB4M2MsMHhkMCwweDJmLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmOSwweDIwLDB4M2UgfX0sCi0gezE2LCAweGRmMjAsIDAsIHsweDQwLDB4MGYsMHgzMCwweDAzLDB4ZTAsMHgwMCwweGZiLDB4MDgsMHgzZSwweDAwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHg0MiwweGY5IH19LAotIHsxNiwgMHhkZjMwLCAwLCB7MHgxMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlZSwweDAwLDB4ZmIsMHgwMCwweDNlLDB4ODAsMHgwZSwweDgyLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZGY0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlMCwweDA4LDB4ZmMsMHg4MCwweDMyLDB4ZTQgfX0sCi0gezE2LCAweGRmNTAsIDAsIHsweDBlLDB4ZjAsMHgwMywweDc0LDB4MDAsMHhmYywweDAwLDB4M2YsMHg0MCwweDBjLDB4ZjAsMHgwYiwweDNjLDB4MDAsMHhmZSwweDAwIH19LAotIHsxNiwgMHhkZjYwLCAwLCB7MHgzZiwweGMwLDB4MGQsMHhjMSwweDAzLDB4MjAsMHgyMCwweGNjLDB4MTAsMHgzMywweDAwLDB4MGMsMHhkMSwweDAzLDB4NTgsMHgwMCB9fSwKLSB7MTYsIDB4ZGY3MCwgMCwgezB4Y2UsMHgwMCwweDJmLDB4YzAsMHgwZiwweGQxLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmODAsIDAsIHsweDgxLDB4NDQsMHg2MiwweDAwLDB4YjAsMHg0MCwweDJhLDB4ZjEsMHgwOCwweGIwLDB4MTIsMHgyNiwweDA4LDB4YjgsMHhjOCwweDJlIH19LAotIHsxNiwgMHhkZjkwLCAwLCB7MHg3MCwweDBhLDB4YjAsMHgwMiwweDIwLDB4MDAsMHhiYSwweDAwLDB4MmUsMHgwMCwweDI4LDB4ODAsMHgwMywweDIyLDB4NDAsMHg4OCB9fSwKLSB7MTYsIDB4ZGZhMCwgMCwgezB4MDEsMHgyMCwweDAwLDB4MGEsMHg4MCwweDAyLDB4MjgsMHgwMCwweDhhLDB4MDEsMHgyZSwweDgwLDB4OGIsMHg5MCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGRmYjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjYsMHgwMCwweGI4LDB4MjgsMHgyMiwweDQyIH19LAotIHsxNiwgMHhkZmMwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHg2NiwweDAwLDB4YjgsMHg4MCwweDJlLDB4MzAsMHg4OCwweGIwLDB4MDIsMHgyYywweDAwLDB4YjksMHgwMSB9fSwKLSB7MTYsIDB4ZGZkMCwgMCwgezB4MmUsMHhjMCwweDg4LDB4OTAsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MGMgfX0sCi0gezE2LCAweGRmZTAsIDAsIHsweDg5LDB4MDEsMHgyZSwweDQwLDB4MWIsMHg4MCwweDAyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZmYwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweGIwLDB4MDAsMHgyOCwweGMwLDB4MjgsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIwLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4ZTAwMCwgMCwgezB4NDAsMHgwYSwweDMwLDB4MDIsMHgwMCwweDAwLDB4YjEsMHgwMCwweDJjLDB4MDAsMHgwOCwweDEwLDB4MGEsMHgwNCwweDAwLDB4ODEgfX0sCi0gezE2LCAweGUwMTAsIDAsIHsweDAxLDB4YTIsMHhjMCwweDA4LDB4MDAsMHgwYSwweDA0LDB4ODAsMHg4MSwweDAwLDB4MmMsMHgwMCwweDFiLDB4MDAsMHgwYSwweDAyIH19LAotIHsxNiwgMHhlMDIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4ZTAzMCwgMCwgezB4MGUsMHhmMCwweDIzLDB4NjQsMHgwOCwweGY4LDB4MDAsMHgyZSwweDAwLDB4MGMsMHhmMCwweDAzLDB4MmMsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweGUwNDAsIDAsIHsweDNlLDB4YzAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAyLDB4YzgsMHgwNCwweDMyLDB4MDAsMHgxYywweDkwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhlMDUwLCAwLCB7MHhjOCwweDAxLDB4M2UsMHg0MSwweDlmLDB4OTAsMHg0MywweDQwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA2MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDBjLDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MTAsMHhmNCwweDAwLDB4M2YgfX0sCi0gezE2LCAweGUwNzAsIDAsIHsweDAwLDB4MGYsMHhmNCwweDIzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MGUsMHhjMCwweDAzLDB4YjAsMHgwMCwweGZjIH19LAotIHsxNiwgMHhlMDgwLCAwLCB7MHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhlMSwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDEsMHgxZiwweDUwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZTA5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhmMCwweGQwLDB4ZmYsMHgyMCwweDNlLDB4ZDAgfX0sCi0gezE2LCAweGUwYTAsIDAsIHsweDhlLDB4YjAsMHgwMywweGVjLDB4YTAsMHhkYiwweDI4LDB4M2UsMHhjYywweDBjLDB4YjMsMHgwMywweGFkLDB4MDgsMHhmOCwweDNjIH19LAotIHsxNiwgMHhlMGIwLCAwLCB7MHgzMiwweDIzLDB4MGUsMHg0OCwweDIzLDB4N2EsMHgwMCwweGZkLDB4OTQsMHgzZiwweGUwLDB4MGYsMHg3OCwweDMzLDB4ZWUsMHgwOCB9fSwKLSB7MTYsIDB4ZTBjMCwgMCwgezB4YmYsMHg4MCwweDNmLDB4ZTQsMHgwZiwweGY5LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwZDAsIDAsIHsweGEwLDB4MDAsMHhlYywweGM4LDB4YmYsMHhkMSwweDBmLDB4YzgsMHgwYywweDI2LDB4ODIsMHhmZCwweDI0LDB4OGYsMHgwMCwweDJlIH19LAotIHsxNiwgMHhlMGUwLCAwLCB7MHg5OSwweDBhLDB4ZjIsMHg2MiwweDFkLDB4ZDAsMHg5OSwweDYxLDB4MjIsMHg3MSwweDg4LDB4ODgsMHgwMiwweGFjLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4ZTBmMCwgMCwgezB4MjIsMHgyZSwweDIwLDB4NGIsMHg4OCwweDAzLDB4YTAsMHgwMCwweDgwLDB4MDAsMHgyZSwweDA4LDB4MGIsMHg4MCwweDIzLDB4NjAgfX0sCi0gezE2LCAweGUxMDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwNCwweGIzLDB4MDMsMHgwYywweGNjIH19LAotIHsxNiwgMHhlMTEwLCAwLCB7MHgwYSwweDEzLDB4MTIsMHhjYywweDE0LDB4YTMsMHgwZSwweDBjLDB4NTgsMHgwYSwweDMzLDB4MDIsMHg4YywweDEwLDB4YTMsMHgyMCB9fSwKLSB7MTYsIDB4ZTEyMCwgMCwgezB4YTAsMHgwYSwweDE4LDB4OTAsMHgwMiwweDQ4LDB4YTAsMHhiMCwweDIwLDB4MjQsMHg4MCwweDBhLDB4MjAsMHgwMiwweGNjLDB4MDkgfX0sCi0gezE2LCAweGUxMzAsIDAsIHsweGExLDB4MDAsMHgyYywweDgwLDB4MGIsMHgzMiwweDQyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTQwLCAwLCB7MHhlMCwweDExLDB4YWMsMHgyMCwweGJiLDB4MDAsMHgyZSwweGMwLDB4NGIsMHg4MCwweGEyLDB4ZWMsMHgwMCwweGFiLDB4MDAsMHg0ZSB9fSwKLSB7MTYsIDB4ZTE1MCwgMCwgezB4NDYsMHgyYSwweGIwLDB4MDIsMHgyYywweDA0LDB4OWIsMHg4MCwweDJhLDB4NjAsMHg4YSwweDljLDB4MDIsMHhhYywweDAwLDB4YjkgfX0sCi0gezE2LCAweGUxNjAsIDAsIHsweDgxLDB4MmUsMHg0MCwweDBiLDB4OTgsMHgwMiwweGEzLDB4MDAsMHg4YSwweDAwLDB4MmUsMHg0MCwweDBiLDB4ODAsMHgwNCwweGYwIH19LAotIHsxNiwgMHhlMTcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUxLDB4MDAsMHhmYiwweDA0LDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ZTE4MCwgMCwgezB4MGUsMHhiNCwweDAzLDB4ZWMsMHgwYSwweGRiLDB4MDIsMHgyZSwweGQxLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4ODIgfX0sCi0gezE2LCAweGUxOTAsIDAsIHsweDMyLDB4MjgsMHgxZSwweDBjLDB4MDMsMHg2OCwweDAwLDB4YjksMHgwMCwweDNlLDB4NDAsMHg0ZiwweGIwLDB4NDMsMHhlZCwweDAwIH19LAotIHsxNiwgMHhlMWEwLCAwLCB7MHhlYSwweDAwLDB4M2UsMHg0MCwweDBmLDB4ODAsMHgwMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFiMCwgMCwgezB4YzAsMHgwMSwweGI4LDB4MTgsMHhmZiwweDAyLDB4MWYsMHhjMCwweDBjLDB4ZTIsMHgwMywweGZjLDB4MDAsMHhkZiwweDAzLDB4MmYgfX0sCi0gezE2LCAweGUxYzAsIDAsIHsweGExLDB4MGYsMHg3MCwweDAzLDB4ZmMsMHgwNCwweGFiLDB4MDQsMHgzNywweDQyLDB4MmQsMHhkMCwweDAyLDB4N2MsMHgwMCwweGZjIH19LAotIHsxNiwgMHhlMWQwLCAwLCB7MHgwMCwweDNmLDB4ODAsMHgwZiwweGMwLDB4MDMsMHhiMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4ODAsMHgwZiwweGYwLDB4MDMsMHg3OCB9fSwKLSB7MTYsIDB4ZTFlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOSwweDAwLDB4ZGIsMHgwMCwweDNjLDB4YzAgfX0sCi0gezE2LCAweGUxZjAsIDAsIHsweDJlLDB4OTQsMHgwMSwweDZjLDB4MTEsMHhjYiwweDAwLDB4YjgsMHhjMCwweDBjLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlYiwweDAxIH19LAotIHsxNiwgMHhlMjAwLCAwLCB7MHgzMiwweDEwLDB4MDcsMHg5MiwweDAzLDB4YTgsMHgwMCwweGY4LDB4MDAsMHgzZSwweDBjLDB4MDcsMHhhMiwweDAzLDB4YWQsMHgwMCB9fSwKLSB7MTYsIDB4ZTIxMCwgMCwgezB4ZDgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMjAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDA4LDB4YmYsMHgwMCwweDJmLDB4YzAsMHg4OCwweDgwLDB4MDIsMHgzYywweDA4LDB4ZWYsMHgwMywweDIyIH19LAotIHsxNiwgMHhlMjMwLCAwLCB7MHgwMCwweDBkLDB4ZjUsMHgwMCwweDNjLDB4MDAsMHg4YiwweDgyLDB4MjIsMHg2MCwweDAzLDB4OWMsMHgwMiwweDJjLDB4MTAsMHhiOSB9fSwKLSB7MTYsIDB4ZTI0MCwgMCwgezB4YjAsMHgyMiwweGYwLDB4MGIsMHg5MCwweDAyLDB4MjAsMHgwMCwweGJiLDB4MDAsMHgyMiwweGUyLDB4MGQsMHhiMCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGUyNTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDAsMHgwMCwweGIzLDB4MDIsMHgyYywweGMwIH19LAotIHsxNiwgMHhlMjYwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHg2YywweDAwLDB4ODMsMHgwMCwweDIwLDB4YzAsMHgwOSwweDM0LDB4MDQsMHhlYywweDAwLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4ZTI3MCwgMCwgezB4MjIsMHhmMCwweDBiLDB4MDAsMHgwMiwweDg4LDB4MDAsMHhiMywweDAwLDB4MjgsMHhlMCwweDBiLDB4MTQsMHgwMiwweGEwLDB4MDAgfX0sCi0gezE2LCAweGUyODAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjkwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwNCwweGI3LDB4ODAsMHgyZCwweGU4LDB4MDgsMHg3OCwweDAyLDB4MGUsMHhjOCwweGE3LDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4ZTJhMCwgMCwgezB4YTgsMHgxOSwweDM4LDB4NTIsMHg5ZSwweGMxLDB4ODcsMHg4MCwweDIxLDB4ZTIsMHgwYiwweGQ5LDB4ODIsMHg5ZSwweDAwLDB4YjYgfX0sCi0gezE2LCAweGUyYjAsIDAsIHsweGEwLDB4MmQsMHgyMCwweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHhiNCwweGMxLDB4MjEsMHgyMCwweDA5LDB4NDgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhlMmMwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwMCwweDBjLDB4ODAsMHhiMywweDEwLDB4M2UsMHhlMCB9fSwKLSB7MTYsIDB4ZTJkMCwgMCwgezB4MGUsMHgzYSwweDA3LDB4NGUsMHgwMCwweGNiLDB4OTAsMHgzYSwweDYxLDB4MGQsMHgzOCwweDAzLDB4Y2UsMHhkMSwweGUxLDB4OTggfX0sCi0gezE2LCAweGUyZTAsIDAsIHsweDMwLDB4YTQsMHg4ZiwweDEwLDB4MDMsMHg4OCwweDAwLDB4YmEsMHhhMSwweDNjLDB4ODQsMHgwNywweDAwLDB4MDMsMHg4MiwweGQ0IH19LAotIHsxNiwgMHhlMmYwLCAwLCB7MHhkMSwweDAwLDB4NzIsMHg4MCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMwMCwgMCwgezB4NDAsMHgxNSwweGJjLDB4MDQsMHhmZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4YzIsMHgyMywweGVjLDB4YjAsMHhmZiwweDAwLDB4MzIgfX0sCi0gezE2LCAweGUzMTAsIDAsIHsweDA0LDB4MDYsMHhiNCwweDIzLDB4N2MsMHgxMCwweGJmLDB4MDAsMHgzZSwweDg0LDB4MGYsMHhiMCwweDAzLDB4N2MsMHg0MCwweGZmIH19LAotIHsxNiwgMHhlMzIwLCAwLCB7MHgwMCwweDMzLDB4NDAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmUsMHgwMCwweGJmLDB4NDAsMHgwZiwweGM4LDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZTMzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg4LDB4MDUsMHhlNCwweDAwLDB4Y2IsMHgzMywweDNlLDB4YzggfX0sCi0gezE2LCAweGUzNDAsIDAsIHsweDRjLDB4YjAsMHgwMywweGFjLDB4OTAsMHhkYiwweGEwLDB4MzYsMHhjMCwweDBlLDB4YmEsMHg0MywweDZjLDB4MDAsMHhjOSwweDAwIH19LAotIHsxNiwgMHhlMzUwLCAwLCB7MHgzZSwweDQwLDB4MGYsMHgwMCwweDBmLDB4MjgsMHgwMCwweGZiLDB4MDAsMHgzZSwweDQwLDB4MGYsMHgxOCwweDQzLDB4NjAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM2MCwgMCwgezB4ZmEsMHgwMCwweDNlLDB4NDAsMHg0ZiwweDA4LDB4MGIsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNzAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDEwLDB4MDcsMHgwOCwweDJjLDB4Y2EsMHgwOCwweDIwLDB4MDIsMHgxYywweDIwLDB4ODcsMHgyOCwweDNmIH19LAotIHsxNiwgMHhlMzgwLCAwLCB7MHg4MCwweDhhLDB4ZjAsMHgwMiwweDFkLDB4NDAsMHg4NywweDA0LDB4MmQsMHhjMCwweDBiLDB4NzAsMHgwMiwweDFjLDB4MDAsMHhiNiB9fSwKLSB7MTYsIDB4ZTM5MCwgMCwgezB4MDAsMHgyZCwweDgwLDB4MGIsMHg2MCwweDAzLDB4MWMsMHgwMCwweGI1LDB4MDAsMHgyZCwweDgwLDB4MGIsMHg3MCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGUzYTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg3LDB4YTAsMHgyZCwweGU0IH19LAotIHsxNiwgMHhlM2IwLCAwLCB7MHgwYSwweDU4LDB4MDIsMHgxZSwweDAxLDB4ODMsMHg5MCwweDIxLDB4NzAsMHgwYiwweDc5LDB4MDIsMHg5ZSwweDAxLDB4ODUsMHhjMCB9fSwKLSB7MTYsIDB4ZTNjMCwgMCwgezB4MmQsMHhlMCwweDRiLDB4NTgsMHgxMiwweDFhLDB4MDAsMHhiNiwweDgwLDB4MmQsMHgyMCwweDBiLDB4NDgsMHgwMiwweDUyLDB4MDAgfX0sCi0gezE2LCAweGUzZDAsIDAsIHsweGI0LDB4ODAsMHgyZCwweDIwLDB4MGIsMHg0OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2UwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgwMCwweDgzLDB4MDAsMHgyYywweGMwLDB4ODgsMHgzNiwweDAyLDB4MGMsMHgwMiwweDgzLDB4MDAsMHg2YyB9fSwKLSB7MTYsIDB4ZTNmMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MGEsMHhhYywweDAwLDB4OWIsMHhlMCwweDZjLDB4YzgsMHgwYiwweDMyLDB4MDIsMHgwYywweDAxLDB4YjMgfX0sCi0gezE2LCAweGU0MDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDBjLDB4MTAsMHhiMywweDQwLDB4MmMsMHhjMCwweDBiLDB4M2MsMHg4MiwweDEyIH19LAotIHsxNiwgMHhlNDEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDIsMHhjYSwweDAwLDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4ZTQyMCwgMCwgezB4MGUsMHhlNCwweDhiLDB4MjgsMHgwMCwweGNhLDB4MDAsMHgzMywweDk1LDB4MGYsMHhhMCwweDA3LDB4YTgsMHgwMiwweGNlLDB4NDAgfX0sCi0gezE2LCAweGU0MzAsIDAsIHsweDNmLDB4YjAsMHgwZiwweGU0LDB4ODIsMHgyOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweGEwLDB4MjMsMHg2OCwweDAwIH19LAotIHsxNiwgMHhlNDQwLCAwLCB7MHhmYSwweDQwLDB4M2UsMHg4MSwweDRmLDB4YTQsMHhlMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4ODAsMHhmMCwweDAwLDB4M2MsMHgwMCwweDJmLDB4MDAsMHgwMiwweDYwLDB4MDAsMHhlOCwweDAwLDB4M2MgfX0sCi0gezE2LCAweGU0NjAsIDAsIHsweDAwLDB4MGUsMHg4MCwweDAxLDB4MjAsMHgwMCwweGU4LDB4MDQsMHg1ZSwweDA0LDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGZjIH19LAotIHsxNiwgMHhlNDcwLCAwLCB7MHgwMSwweDNmLDB4MTAsMHgwZiwweGM0LDB4MDMsMHhiMCwweDAwLDB4ZmMsMHgwOSwweDNmLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ZTQ4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YTksMHgyMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGU0OTAsIDAsIHsweDBlLDB4OTAsMHgwMywweDQ0LDB4MDQsMHhkOSwweDAwLDB4M2UsMHg0MCwweDBkLDB4OTAsMHgwMywweGU0LDB4MDQsMHhjOSwweDAwIH19LAotIHsxNiwgMHhlNGEwLCAwLCB7MHgzMiwweDQwLDB4OGYsMHg5MCwweDBiLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MGUsMHg5OCwweDAzLDB4ZTYsMHgwMCB9fSwKLSB7MTYsIDB4ZTRiMCwgMCwgezB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0YzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgxOCwweDkwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgwMCwweDJlIH19LAotIHsxNiwgMHhlNGQwLCAwLCB7MHg0MCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MDAsMHhkOSwweDA0LDB4MjIsMHg0MCwweDBiLDB4MWMsMHgwYiwweDY0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTRlMCwgMCwgezB4OTQsMHgyYywweDUwLDB4MDgsMHg5YywweDAyLDB4ZTQsMHgxNCwweGI5LDB4OTAsMHgwZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGU0ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweDg5LDB4MDAsMHgyNiwweDQwIH19LAotIHsxNiwgMHhlNTAwLCAwLCB7MHg0YSwweDkwLDB4MDIsMHg2NCwweDAwLDB4OTksMHgwNCwweDJlLDB4NDAsMHgwOCwweDk4LDB4ODIsMHhlNCwweDAwLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4ZTUxMCwgMCwgezB4NmEsMHg0MCwweDBhLDB4OTIsMHg4MiwweGU0LDB4MDAsMHhiZCwweDAxLDB4MmYsMHg1MCwweDEyLDB4ZDYsMHgwMiwweGY0LDB4NDAgfX0sCi0gezE2LCAweGU1MjAsIDAsIHsweGJkLDB4MDAsMHgwZiwweDQwLDB4MGIsMHhkMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHgyMCwweDQ4LDB4MDgsMHgxMiwweDAyLDB4MDQsMHg4MCwweDgxLDB4MjIsMHgyYyB9fSwKLSB7MTYsIDB4ZTU0MCwgMCwgezB4NDgsMHhhOCwweDEyLDB4MDYsMHhjNCwweDkwLDB4OTEsMHgyMCwweDI4LDB4NTAsMHgwYiwweDkwLDB4MDIsMHg0NSwweDAwLDB4YjUgfX0sCi0gezE2LCAweGU1NTAsIDAsIHsweDQwLDB4NmQsMHg0MCwweDA4LDB4NTAsMHgxMiwweGQ0LDB4MDQsMHhiNSwweDAyLDB4MmQsMHg0MCwweDBiLDB4NTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhlNTYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjOCwweDAwLDB4MzYsMHgxNCB9fSwKLSB7MTYsIDB4ZTU3MCwgMCwgezB4MGEsMHg4NSwweDAzLDB4NDEsMHg0MCwweGQ4LDB4NTAsMHgyZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4YzEsMHg0MCwweGM4LDB4NTAgfX0sCi0gezE2LCAweGU1ODAsIDAsIHsweGJhLDB4MDAsMHgwZSwweDgwLDB4MjMsMHhlMCwweDAwLDB4NzgsMHgwMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDA0IH19LAotIHsxNiwgMHhlNTkwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YzAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVhMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDAsMHhkOSwweDEwLDB4M2UsMHg0NCwweDA3LDB4ZjEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YgfX0sCi0gezE2LCAweGU1YjAsIDAsIHsweDQ0LDB4YWYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzNywweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhlNWMwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweGEwLDB4ZjksMHgyOCwweDNlLDB4NGEsMHgwZiwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4ZTVkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweGQ0LDB4ZmQsMHhhMiwweDNhLDB4NzAgfX0sCi0gezE2LCAweGU1ZTAsIDAsIHsweDhjLDB4OWUsMHgwMywweDI2LDB4ODAsMHhjOSwweGEwLDB4MzIsMHg2OCwweDBjLDB4ZGIsMHg0MywweDI3LDB4ODAsMHg5ZCwweGEyIH19LAotIHsxNiwgMHhlNWYwLCAwLCB7MHhiNywweDQwLDB4MGYsMHg1MCwweDAzLDB4NjUsMHgwMCwweGZkLDB4MDAsMHgzZiwweGMxLDB4MDcsMHhkMCwweDAzLDB4ZjUsMHgwNCB9fSwKLSB7MTYsIDB4ZTYwMCwgMCwgezB4ZmQsMHg0MCwweDJmLDB4YzAsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDg4LDB4YjgsMHg1MCwweDIyLDB4MzgsMHgwOCwweDhlLDB4MDAsMHhhMiwweGEwLDB4ODgsMHhlOCwweDIyIH19LAotIHsxNiwgMHhlNjIwLCAwLCB7MHgzOCwweDQ4LDB4ODgsMHgwMywweDYyLDB4MTAsMHhhOCwweGU4LDB4M2MsMHgwMCwweDBiLDB4ODAsMHgwMywweDYyLDB4ODAsMHhiOCB9fSwKLSB7MTYsIDB4ZTYzMCwgMCwgezB4MDEsMHgyZSwweDgwLDB4MGIsMHg4MCwweDIxLDB4YTIsMHgwMCwweGIwLDB4ODQsMHgyZSwweDJhLDB4MjgsMHg4YSwweDgyLDB4Y2UgfX0sCi0gezE2LCAweGU2NDAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg0MCwweGIxLDB4MDAsMHgyOCwweDU4IH19LAotIHsxNiwgMHhlNjUwLCAwLCB7MHg4MCwweDEzLDB4NDAsMHgwNSwweDAwLDB4ODEsMHg0MCwweDIwLDB4NTIsMHgyOCwweDE2LDB4MDIsMHg4NSwweDgwLDB4OWIsMHhjMiB9fSwKLSB7MTYsIDB4ZTY2MCwgMCwgezB4NjQsMHg0MSwweDhiLDB4OTgsMHgwMiwweDA0LDB4MDAsMHhiMSwweDA5LDB4MmMsMHg0MCwweDFiLDB4MTAsMHgyMCwweGM0LDB4MDAgfX0sCi0gezE2LCAweGU2NzAsIDAsIHsweGIxLDB4MDAsMHgyYywweDQwLDB4NDgsMHgxMCwweDAyLDB4YzIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjgwLCAwLCB7MHgxOCwweDE1LDB4YTUsMHg4NCwweGI5LDB4MDAsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDAxLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ZTY5MCwgMCwgezB4NTAsMHgwOCwweDkwLDB4NDIsMHg2NCwweDAwLDB4YTksMHgxMCwweGFlLDB4NTgsMHgwMywweDk4LDB4MDIsMHg2NCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGU2YTAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHg0NiwweGE0LDB4MTAsMHhiOSwweDAwLDB4MmUsMHg0MSwweDA4LDB4OTAsMHgwMiwweGM2IH19LAotIHsxNiwgMHhlNmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU3LDB4MDAsMHhmOSwweDAwLDB4MmEsMHg0MCB9fSwKLSB7MTYsIDB4ZTZjMCwgMCwgezB4MmMsMHg5NCwweDBiLDB4MjQsMHgwMiwweGM5LDB4MDAsMHhiMiwweDQ0LDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwNCwweGQ5LDB4ODAgfX0sCi0gezE2LCAweGU2ZDAsIDAsIHsweGI2LDB4NDEsMHg4ZiwweDE4LDB4MDMsMHgyNCwweDAwLDB4ZjksMHg2MCwweDNlLDB4NDAsMHgwZiwweDk2LDB4MDMsMHhlNCwweDAwIH19LAotIHsxNiwgMHhlNmUwLCAwLCB7MHhmOSwweDgwLDB4M2UsMHg0MiwweDhjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZmMCwgMCwgezB4MjgsMHgwMSwweGE2LDB4MDAsMHhmMSwweDAwLDB4M2UsMHg0MCwweDBmLDB4MWMsMHgwMywweGM0LDB4MDAsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGU3MDAsIDAsIHsweDQwLDB4OGYsMHg5MCwweDIzLDB4YzQsMHgxMCwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhlNzEwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwNywweDkwLDB4MjMsMHhlNCwweDAwLDB4ZjksMHgyMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4ZTcyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4ZjgsMHgwMCwweGJlLDB4MDAgfX0sCi0gezE2LCAweGU3MzAsIDAsIHsweDBlLDB4ODQsMHgwMywweDIwLDB4MDAsMHhjOCwweDAwLDB4MzIsMHgwMCwweDBjLDB4MDAsMHg4MywweDIwLDB4MDAsMHhmOCwweDAwIH19LAotIHsxNiwgMHhlNzQwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4YTAsMHgwMCwweGY4LDB4MDAsMHgzNiwweDEwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwOCB9fSwKLSB7MTYsIDB4ZTc1MCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIyLDB4ODAsMHg0OCwweGEwLDB4MDMsMHg2OCwweDAwLDB4YWEsMHgwMCwweDJhIH19LAotIHsxNiwgMHhlNzcwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMywweDY4LDB4MDAsMHg4MiwweDAwLDB4MmYsMHg4MCwweDA4LDB4ZTYsMHgwMiwweDI4LDB4MDQsMHhiZSB9fSwKLSB7MTYsIDB4ZTc4MCwgMCwgezB4NDAsMHgyMywweDgwLDB4MGIsMHhlOCwweDAyLDB4ZWEsMHgwMCwweGJlLDB4MDEsMHgyMiwweDgwLDB4MGIsMHhlMCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweGU3OTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMSwweDkzLDB4MDEsMHgyMCwweGMxIH19LAotIHsxNiwgMHhlN2EwLCAwLCB7MHgwYSwweDMwLDB4MDIsMHgwYywweDAwLDB4YTMsMHgwMCwweDIwLDB4YzAsMHg4OCwweDM4LDB4NDIsMHgwYywweDAwLDB4YTMsMHgwMCB9fSwKLSB7MTYsIDB4ZTdiMCwgMCwgezB4MjQsMHhjMCwweDBhLDB4M2UsMHg0MiwweDhjLDB4MDAsMHhiMiwweDRjLDB4MjQsMHhlMCwweDRiLDB4MzgsMHgwMiwweGM0LDB4NDEgfX0sCi0gezE2LCAweGU3YzAsIDAsIHsweGIzLDB4MDAsMHgyMiwweGMwLDB4MGIsMHgxMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2QwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyMCwweGM5LDB4NDgsMHg3MCwweDAyLDB4ZGMsMHg0MCwweGE3LDB4MTQsMHgyYyB9fSwKLSB7MTYsIDB4ZTdlMCwgMCwgezB4YzgsMHgyOCwweDMwLDB4ODIsMHg1YywweGMxLDB4ODUsMHgwMCwweDJkLDB4ZTAsMHgyYSwweGYwLDB4MTIsMHgxYywweDgwLDB4YjcgfX0sCi0gezE2LCAweGU3ZjAsIDAsIHsweGEwLDB4MjEsMHg4MiwweDBiLDB4NzAsMHg4MiwweGQ0LDB4MTEsMHhiNiwweDgwLDB4MjEsMHg0MCwweDRiLDB4NTAsMHgwMiwweGU4IH19LAotIHsxNiwgMHhlODAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4ODAsMHhkNSwweDgwLDB4MjksMHhlYSB9fSwKLSB7MTYsIDB4ZTgxMCwgMCwgezB4NGUsMHgzYSwweDA3LDB4MGUsMHg4MCwweGUzLDB4YjAsMHgzMSwweGZjLDB4MGMsMHg0OCwweDAzLDB4MGUsMHg0MSwweGU3LDB4ODAgfX0sCi0gezE2LCAweGU4MjAsIDAsIHsweDNkLDB4ZTAsMHgwZSwweDc4LDB4MDMsMHg5ZSwweDgwLDB4ZjQsMHhjNCwweDM1LDB4ZTAsMHgwZiwweDc4LDB4MjcsMHhkZSwweDAwIH19LAotIHsxNiwgMHhlODMwLCAwLCB7MHhmNSwweDgwLDB4YjEsMHhlMCwweDBmLDB4NTgsMHgwMywweGVhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHgzMSwweDA0LDB4M2EsMHhjNCwweDBmLDB4YjUsMHg5MywweDZkLDB4MDgsMHhmYiwweDQwLDB4M2EgfX0sCi0gezE2LCAweGU4NTAsIDAsIHsweGM4LDB4NjMsMHg4MCwweDIzLDB4ZWMsMHg5OCwweGU5LDB4MDAsMHgzZSwweGMwLDB4MGQsMHhiMCwweDQzLDB4ZWMsMHgwMCwweGYzIH19LAotIHsxNiwgMHhlODYwLCAwLCB7MHg4MCwweDNlLDB4NDAsMHg0ZiwweGEwLDB4MDMsMHhlYywweDAwLDB4ZjgsMHg2OCwweDNlLDB4NDAsMHg4ZiwweDk4LDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZTg3MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDYwLDB4ZWIsMHg5MCwweDNlLDB4ZTQgfX0sCi0gezE2LCAweGU4ODAsIDAsIHsweDBmLDB4YjgsMHgwMCwweDNmLDB4NDAsMHhjYiwweDgwLDB4N2YsMHhlMCwweDBlLDB4ZmIsMHgwMywweDJlLDB4NDAsMHhjYiwweDgwIH19LAotIHsxNiwgMHhlODkwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHg3OSwweDQzLDB4MmUsMHg2MCwweGNhLDB4ODEsMHgzMywweDY0LDB4OGYsMHhkOSwweDAzLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4ZThhMCwgMCwgezB4ZmYsMHg4MSwweDMzLDB4ZTAsMHgwZiwweGQ5LDB4OGIsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4YjAsIDAsIHsweGE4LDB4MDEsMHg5YywweDAwLDB4ODcsMHg4MSwweDE5LDB4ZTQsMHgwYiwweGZhLDB4MTMsMHg1ZSwweDgwLDB4ODcsMHhiMiwweDJkIH19LAotIHsxNiwgMHhlOGMwLCAwLCB7MHhlYywweDBkLDB4NzksMHgwMSwweDllLDB4MDAsMHhkNSwweDkwLDB4MmQsMHhmOCwweDBiLDB4NzgsMHgwMywweDdlLDB4MDgsMHhhYiB9fSwKLSB7MTYsIDB4ZThkMCwgMCwgezB4OTEsMHgyOSwweDg1LDB4MGIsMHg1MSwweDAyLDB4ZGMsMHg0OCwweGI2LDB4NDAsMHgyMSwweDQwLDB4MGIsMHg1MCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGU4ZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OGMsMHgxNCwweGI1LDB4MjAsMHg2ZCwweGM4IH19LAotIHsxNiwgMHhlOGYwLCAwLCB7MHgwYiwweDcyLDB4MDIsMHg1YywweDgwLDB4ODcsMHgyMCwweDY5LDB4YzAsMHg4OCwweDUzLDB4MDIsMHhjYywweDgxLDB4OTcsMHg1MCB9fSwKLSB7MTYsIDB4ZTkwMCwgMCwgezB4MmQsMHhjOCwweDBiLDB4ZjcsMHgwYSwweGRjLDB4YzAsMHg4NCwweDAxLDB4MjEsMHg0NCwweDFiLDB4NzAsMHgyMiwweGRjLDB4MDAgfX0sCi0gezE2LCAweGU5MTAsIDAsIHsweGI1LDB4MDAsMHgyMSwweGM0LDB4MGIsMHg1MCwweDg2LDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTIwLCAwLCB7MHgyMCwweDE0LDB4Y2YsMHgzMCwweDkxLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzNCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4ZTkzMCwgMCwgezB4ZjIsMHgwYiwweDEwLDB4MjIsMHgwYywweDAwLDB4OTEsMHgwMCwweDJjLDB4YzgsMHgwYiwweDE4LDB4MGEsMHhjZCwweDAxLDB4YTMgfX0sCi0gezE2LCAweGU5NDAsIDAsIHsweDAwLDB4MjgsMHg2MCwweDBiLDB4MjEsMHgwMiwweGNlLDB4MjAsMHhiOCwweDQwLDB4YTAsMHg1NCwweDBiLDB4MTgsMHgwMiwweDA4IH19LAotIHsxNiwgMHhlOTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxMSwweGJkLDB4MDAsMHhmOSwweDAwLDB4MmYsMHhjMCB9fSwKLSB7MTYsIDB4ZTk2MCwgMCwgezB4MGYsMHhmNCwweDAyLDB4N2MsMHgxMiwweGNmLDB4MDMsMHgzZiwweGMyLDB4MGUsMHhiMCwweDAzLDB4ZmMsMHgwNCwweDliLDB4MDIgfX0sCi0gezE2LCAweGU5NzAsIDAsIHsweDJlLDB4ZjIsMHgwZiwweGE0LDB4MGIsMHhkYywweDAwLDB4Y2UsMHgwMCwweGIwLDB4YzgsMHg4ZiwweGE0LDB4MDMsMHhlZiwweDAwIH19LAotIHsxNiwgMHhlOTgwLCAwLCB7MHhmOCwweDgwLDB4MzIsMHhmNSwweDFmLDB4ZGQsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4NDAsMHhlOSwweDAwLDB4M2EsMHhjMCwweDBmLDB4YjEsMHgwMywweGNjLDB4MDAsMHhmMywweDAwLDB4M2UgfX0sCi0gezE2LCAweGU5YTAsIDAsIHsweGMwLDB4MGQsMHhiNCwweDA5LDB4ZWMsMHgxOCwweGY5LDB4MTAsMHgzZSwweDEwLDB4NGYsMHhiMSwweDBhLDB4NmMsMHg4MCwweGY5IH19LAotIHsxNiwgMHhlOWIwLCAwLCB7MHg4OSwweDM2LDB4ODIsMHgwYiwweGE2LDB4MDMsMHhlYywweDUwLDB4ZjksMHg1MCwweDNlLDB4YzAsMHgxZiwweDkwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4ZTljMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmQsMHhhMCwweDNkLDB4YzAgfX0sCi0gezE2LCAweGU5ZDAsIDAsIHsweDBjLDB4NzAsMHg4MywweDJjLDB4MDAsMHhlZiwweDAyLDB4MzUsMHhjMCwweDBkLDB4ZTIsMHgwMywweGZjLDB4MDQsMHhmZiwweDAyIH19LAotIHsxNiwgMHhlOWUwLCAwLCB7MHgyZCwweGUwLDB4OGUsMHhmMCwweDAzLDB4M2MsMHgxMCwweGRjLDB4MDAsMHgzZiwweDgwLDB4MGMsMHhkOCwweDAzLDB4ZmMsMHgwMCB9fSwKLSB7MTYsIDB4ZTlmMCwgMCwgezB4ZGUsMHgxOCwweDMzLDB4ZjAsMHg0ZiwweGQwLDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMDAsIDAsIHsweDgxLDB4MDAsMHg2YywweDAwLDB4YjksMHgwMCwweDJlLDB4YzAsMHg0YywweGIwLDB4MDMsMHg2YywweDAwLDB4OGIsMHgwMiwweDM2IH19LAotIHsxNiwgMHhlYTEwLCAwLCB7MHhjMCwweDBkLDB4YWMsMHgxMiwweGVjLDB4MDAsMHg3OSwweDAwLDB4MmUsMHgzMCwweDBkLDB4M2QsMHg0MiwweGFjLDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZWEyMCwgMCwgezB4ODgsMHgxYSwweDEwLDB4MGQsMHg4NiwweDAyLDB4ZWUsMHgwNCwweGJiLDB4NDAsMHgyMiwweGUwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGVhMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMSwweGI5LDB4MDAsMHgyZSwweGMwIH19LAotIHsxNiwgMHhlYTQwLCAwLCB7MHgwOCwweGIwLDB4NDIsMHhhYywweDAwLDB4MGIsMHgwNSwweDI2LDB4YzAsMHgwOSwweDk0LDB4MjAsMHhlYywweDAwLDB4YjksMHg4MCB9fSwKLSB7MTYsIDB4ZWE1MCwgMCwgezB4NmUsMHhjNCwweDg4LDB4YjAsMHg4MiwweDJjLDB4MDAsMHg5YiwweDgyLDB4MmUsMHg0MiwweDA4LDB4ODEsMHgwMiwweGU0LDB4ODAgfX0sCi0gezE2LCAweGVhNjAsIDAsIHsweGI4LDB4MDAsMHgyMiwweGMxLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgxMCwweGIxLDB4MjUsMHgyYywweGNhLDB4MDgsMHgzNCwweDQ2LDB4Y2MsMHgwOCwweDgzLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4ZWE4MCwgMCwgezB4YzIsMHgwYiwweDAyLDB4NTIsMHhjYywweDgxLDB4ODMsMHgwMCwweDJjLDB4MDAsMHgxOSwweGIyLDB4NDIsMHhhYywweDgwLDB4ODEgfX0sCi0gezE2LCAweGVhOTAsIDAsIHsweDA4LDB4MjgsMHg4MCwweDA5LDB4MDAsMHgwMiwweGM0LDB4NDAsMHhiMSwweDAwLDB4MjAsMHhjMCwweDBiLDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhlYWEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDZjLDB4MDAsMHhiOSwweDAwLDB4M2YsMHhkMCB9fSwKLSB7MTYsIDB4ZWFiMCwgMCwgezB4MDgsMHhmNiwweDA3LDB4YmMsMHhjMiwweGFmLDB4MzAsMHg3NSwweGRjLDB4MGQsMHgxNiwweDAyLDB4ZmMsMHhlMCwweGI5LDB4NTAgfX0sCi0gezE2LCAweGVhYzAsIDAsIHsweDNlLDB4Y2MsMHgwYywweGIwLDB4MjMsMHgyYywweDEwLDB4ZDksMHgwMCwweDNlLDB4MDAsMHgwYywweDkwLDB4MDMsMHhlYywweDAwIH19LAotIHsxNiwgMHhlYWQwLCAwLCB7MHhkZSwweDAxLDB4MzIsMHhjMCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFlMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZCwweDEwLDB4M2YsMHhjYSwweDJlLDB4ZjYsMHgwMywweDZkLDB4OTQsMHg5ZiwweDMwLDB4M2EgfX0sCi0gezE2LCAweGVhZjAsIDAsIHsweGM5LDB4MGMsMHg4MywweDkzLDB4ZmMsMHg4MCwweGZmLDB4MTEsMHg3ZSwweDE5LDB4MGIsMHhiMSwweDAzLDB4ZmMsMHg0MCwweGZkIH19LAotIHsxNiwgMHhlYjAwLCAwLCB7MHgwOCwweDNiLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmYywweDgwLDB4NzcsMHgwMCwweGJmLDB4YzAsMHgwZiwweDUwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZWIxMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmYywweDAwLDB4ZjQsMHg5NCwweDM3LDB4YzggfX0sCi0gezE2LCAweGViMjAsIDAsIHsweDBkLDB4NjksMHg2MywweDdjLDB4MTAsMHhmZiwweDYyLDB4MzcsMHhjMCwweDBkLDB4YjQsMHgwMywweDdjLDB4NjAsMHhkNCwweDgwIH19LAotIHsxNiwgMHhlYjMwLCAwLCB7MHgzZiwweDQwLDB4MGYsMHg0OCwweDIzLDB4MzIsMHgwMCwweGNlLDB4MDAsMHhiZiwweDQwLDB4OGYsMHhkMSwweDAzLDB4MzAsMHhlMCB9fSwKLSB7MTYsIDB4ZWI0MCwgMCwgezB4ZmYsMHgzMCwweDNiLDB4NjAsMHgwZiwweGQ4LDB4MDMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNTAsIDAsIHsweDgwLDB4MTAsMHhlZCwweDIwLDB4YjgsMHgyNCwweDIzLDB4ZjQsMHg0OSwweGEyLDB4MDIsMHgzZiwweDQwLDB4OGYsMHg1MSwweDIzIH19LAotIHsxNiwgMHhlYjYwLCAwLCB7MHhkYSwweDA4LDB4ZjYsMHgxMiwweDNkLDB4ODAsMHg5YiwweDgwLDB4MmUsMHg0OSwweDRiLDB4ODAsMHgwMywweDQwLDB4MDAsMHhkOSB9fSwKLSB7MTYsIDB4ZWI3MCwgMCwgezB4MDEsMHgyMiwweDc0LDB4MGIsMHhkNSwweDAyLDB4MjEsMHgwMCwweGJmLDB4NDIsMHgyZSwweDQ5LDB4MGIsMHg5YywweDAyLDB4ZTAgfX0sCi0gezE2LCAweGViODAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2QsMHg4MCwweGI4LDB4MjAsMHgyOCwweGMxIH19LAotIHsxNiwgMHhlYjkwLCAwLCB7MHgxYiwweGEwLDB4MDIsMHg0YywweDAwLDB4OTMsMHgyMCwweDJjLDB4ZDgsMHgwYiwweDM0LDB4MDIsMHhjYywweDAwLDB4OTAsMHgwMSB9fSwKLSB7MTYsIDB4ZWJhMCwgMCwgezB4MmMsMHhjNiwweDFhLDB4YTAsMHgwMiwweDY4LDB4MDgsMHg4MywweDAwLDB4YTQsMHg0MCwweDBiLDB4MTAsMHgwMiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYjAsIDAsIHsweGIzLDB4MTAsMHgyOCwweDQyLDB4MGIsMHgxNCwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmMwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweGI4LDB4NjAsMHgyYSwweGMwLDB4MWIsMHhhMCwweDhlLDB4YWMsMHgwMSwweDliLDB4MDUsMHgyNiB9fSwKLSB7MTYsIDB4ZWJkMCwgMCwgezB4YzAsMHgwMywweGIwLDB4NDIsMHg2YywweDAwLDB4OWIsMHg4MCwweDJlLDB4YzAsMHgwMywweGEwLDB4MDYsMHg2OSwweDAwLDB4OTkgfX0sCi0gezE2LCAweGViZTAsIDAsIHsweDgwLDB4YWEsMHhjMCwweDBiLDB4OTAsMHgwMiwweDYzLDB4MDAsMHgzYiwweDAwLDB4MmUsMHg1OCwweDRiLDB4OTAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhlYmYwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGVjLDB4MDQsMHhmOCwweDgwLDB4YmEsMHhjMCB9fSwKLSB7MTYsIDB4ZWMwMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4NmMsMHgxMCwweGRiLDB4MDMsMHgzNiwweGMwLDB4OGYsMHhiMCwweDAzLDB4ZWMsMHgwOCwweGQ4LDB4ODAgfX0sCi0gezE2LCAweGVjMTAsIDAsIHsweDdlLDB4ZTAsMHgwNiwweDg4LDB4MDMsMHg0MSwweDA4LDB4Y2IsMHhhMCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MGIsMHgyYSwweDAwIH19LAotIHsxNiwgMHhlYzIwLCAwLCB7MHg3YiwweDAwLDB4M2EsMHgwMSwweDBmLDB4OTAsMHgwMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMzMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYywweDg0LDB4MzIsMHhjMCwweDBjLDB4ZjksMHgwMywweDVjLDB4MTAsMHhlZiwweDAwLDB4M2IgfX0sCi0gezE2LCAweGVjNDAsIDAsIHsweGMwLDB4MGMsMHg3MCwweDAzLDB4OWMsMHgwMCwweGVjLDB4MDEsMHgzZiwweGU0LDB4NGYsMHhkMSwweDAzLDB4ZjEsMHgwMCwweGYzIH19LAotIHsxNiwgMHhlYzUwLCAwLCB7MHgwNSwweDMzLDB4NjAsMHgwZiwweGQwLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNmLDB4MjEsMHgwZiwweGQwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4ZWM2MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4YzgsMHg0MCwweDNhLDB4YzYgfX0sCi0gezE2LCAweGVjNzAsIDAsIHsweDBkLDB4YjQsMHgwMywweDZjLDB4MDAsMHhmMywweDAwLDB4MzQsMHhjMCwweDBlLDB4YjAsMHgwMywweDZjLDB4MDAsMHhlOSwweDEwIH19LAotIHsxNiwgMHhlYzgwLCAwLCB7MHgzYSwweGMwLDB4MGYsMHg4NCwweDAzLDB4MmMsMHg2MCwweGNiLDB4MDAsMHgzMiwweDYwLDB4MGMsMHg1MCwweDAzLDB4NjEsMHgwMCB9fSwKLSB7MTYsIDB4ZWM5MCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4OTAsMHgwZSwweDkwLDB4YTMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjYTAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAyLDB4ODgsMHgwMSwweDAxLDB4ZjAsMHgyMCwweGIwLDB4MDEsMHgzZSwweDAwLDB4M2YsMHgwMCwweDMzIH19LAotIHsxNiwgMHhlY2IwLCAwLCB7MHhjMCwweDBiLDB4ZjAsMHgzMiwweDNjLDB4MDgsMHg4OSwweDgwLDB4MjIsMHhjMCwweDAxLDB4MTUsMHgxMiwweGFjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4ZWNjMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4NDgsMHhkYiwweDAyLDB4MmYsMHg0MCwweDhmLDB4MDAsMHgyZSwweDAxLDB4MDgsMHhkNCwweDgwLDB4MzIgfX0sCi0gezE2LCAweGVjZDAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweDA4LDB4MDAsMHgwOCwweGYwIH19LAotIHsxNiwgMHhlY2UwLCAwLCB7MHgwOCwweDAwLDB4MTIsMHg0YywweDAwLDB4MzMsMHgwMSwweDI0LDB4YzAsMHg0YSwweDMwLDB4MDIsMHg0YywweDAwLDB4YTAsMHgyMCB9fSwKLSB7MTYsIDB4ZWNmMCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweDQ2LDB4MDQsMHg4MywweDA0LDB4MjAsMHhjMCwweDI5LDB4MTgsMHgwMiwweDA0LDB4NDAgfX0sCi0gezE2LCAweGVkMDAsIDAsIHsweGIzLDB4MDAsMHgyYywweDQwLDB4MGEsMHgxYywweDQyLDB4YjEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMSwweDhkLDB4ODAsMHgyMSwweGUwLDB4MTgsMHhjOCwweDAyLDB4MWUsMHgwMCwweGIzLDB4YTAsMHgyMSB9fSwKLSB7MTYsIDB4ZWQyMCwgMCwgezB4ZTAsMHgxYiwweDM4LDB4MDIsMHgwZSwweDAxLDB4YTcsMHg4MCwweDIxLDB4ZTAsMHgwOSwweGQ4LDB4NDAsMHhkNiwweDQwLDB4ODcgfX0sCi0gezE2LCAweGVkMzAsIDAsIHsweDgwLDB4MDEsMHhlMCwweDA5LDB4NTksMHgwMiwweDE2LDB4MDAsMHg5NywweDg0LDB4MmQsMHg2MCwweDA4LDB4NTgsMHg0MCwweDAwIH19LAotIHsxNiwgMHhlZDQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDJjLDB4NDAsMHhjMCwweDAwLDB4MzgsMHhjNCB9fSwKLSB7MTYsIDB4ZWQ1MCwgMCwgezB4MGMsMHgzMCwweDI3LDB4NGMsMHgyMCwweGYzLDB4MDEsMHgzNCwweGMxLDB4MGUsMHgzYSwweDAzLDB4NGMsMHhjNCwweGUwLDB4MDAgfX0sCi0gezE2LCAweGVkNjAsIDAsIHsweDE4LDB4YzgsMHgwZiwweDM0LDB4MDMsMHg0NCwweDQwLDB4YzMsMHgwMCwweDMwLDB4YzAsMHgwZCwweDkwLDB4MDMsMHgyZSwweDAwIH19LAotIHsxNiwgMHhlZDcwLCAwLCB7MHhmMywweDAwLDB4M2UsMHg0MCwweDBlLDB4MTAsMHgwMSwweDlhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ4MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmOSwweDAwLDB4MGUsMHhkNCwweDBlLDB4YjAsMHgwMywweGVjLDB4MjAsMHhmYiwweDIwLDB4M2YgfX0sCi0gezE2LCAweGVkOTAsIDAsIHsweGM0LDB4MGYsMHhmMSwweDAzLDB4ZWMsMHg2MCwweGRiLDB4MTAsMHgzZiwweGMwLDB4NGYsMHhmMCwweDAzLDB4YTQsMHg0NiwweGZiIH19LAotIHsxNiwgMHhlZGEwLCAwLCB7MHgwMCwweGJkLDB4YzAsMHgwZSwweGQwLDB4MGIsMHhiNCwweDAwLDB4ZWYsMHg0OCwweDNmLDB4NDAsMHgwZiwweDUwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZWRiMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZjgsMHgwMCwweDMyLDB4ZDQgfX0sCi0gezE2LCAweGVkYzAsIDAsIHsweDBmLDB4ODAsMHgwMywweGFkLDB4MDAsMHhlYiwweDA4LDB4MjIsMHhkMiwweDBjLDB4YjYsMHgwMywweDZjLDB4MDAsMHhmMiwweDgwIH19LAotIHsxNiwgMHhlZGQwLCAwLCB7MHgzNiwweGMwLDB4MGUsMHhhMCwweDAzLDB4MjgsMHgxMCwweGNiLDB4MDAsMHhiMiwweGMwLDB4MGYsMHhkNiwweDAzLDB4MjgsMHgxMCB9fSwKLSB7MTYsIDB4ZWRlMCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4NDAsMHg0ZiwweDk5LDB4MTMsMHgyYiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkZjAsIDAsIHsweDQ4LDB4MTEsMHg5ZCwweDEwLDB4YjQsMHgwMSwweDIxLDB4YzEsMHg4YiwweGMwLDB4MDIsMHgxYywweGEwLDB4YmYsMHgwNCwweDI3IH19LAotIHsxNiwgMHhlZTAwLCAwLCB7MHhjOCwweDA4LDB4NzUsMHgwMiwweDFjLDB4YzAsMHhiNiwweDAwLDB4MjEsMHhjMCwweDA4LDB4ZjAsMHg0MiwweDE4LDB4MTAsMHg4ZiB9fSwKLSB7MTYsIDB4ZWUxMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MGIsMHg1NCwweGEyLDB4MWMsMHgwMCwweGI3LDB4MDQsMHgyZCwweDQxLDB4MGIsMHg1MiwweDAyLDB4MTIgfX0sCi0gezE2LCAweGVlMjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg4MCwweGI2LDB4ODgsMHhhNSwweGUwIH19LAotIHsxNiwgMHhlZTMwLCAwLCB7MHgwYiwweDc4LDB4MTIsMHg5ZSwweDgxLDB4YTcsMHg5MCwweDI1LDB4ZTQsMHg4OCwweDc4LDB4MDIsMHgxZSwweDgwLDB4YmYsMHg4MCB9fSwKLSB7MTYsIDB4ZWU0MCwgMCwgezB4MjQsMHg2MCwweDBiLDB4NjgsMHgwMiwweDFlLDB4MDAsMHg4NywweDg0LDB4NjEsMHhlMCwweDBhLDB4MWEsMHgwYSwweDFhLDB4MDAgfX0sCi0gezE2LCAweGVlNTAsIDAsIHsweGI3LDB4YTAsMHgyZCwweGUwLDB4MGIsMHhkYSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGJhLDB4YzAsMHhhNCwweGMwLDB4MGIsMHgzNCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4ZWU3MCwgMCwgezB4YzAsMHgwOCwweGIwLDB4MGUsMHgyYywweDAwLDB4YjMsMHg5OCwweDIwLDB4NjAsMHgwOSwweDMzLDB4MDIsMHgyYywweDAwLDB4YTMgfX0sCi0gezE2LCAweGVlODAsIDAsIHsweGM4LDB4MjAsMHhjMCwweDBiLDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhmMCwweDBiLDB4MTAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhlZTkwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmZSwweDgwLDB4MzYsMHg4MSB9fSwKLSB7MTYsIDB4ZWVhMCwgMCwgezB4MGIsMHhlMCwweDAzLDB4YTgsMHgwMCwweGVhLDB4MDAsMHhiMiwweDgwLDB4MDgsMHhhMCwweDAzLDB4NjgsMHgwMCwweGZlLDB4MDAgfX0sCi0gezE2LCAweGVlYjAsIDAsIHsweDM2LDB4YTAsMHgxZiwweGU4LDB4MTMsMHgzYiwweDgyLDB4Y2UsMHhlMCwweDIyLDB4ODAsMHg4ZSwweGEwLDB4MDMsMHgzOCwweDAwIH19LAotIHsxNiwgMHhlZWMwLCAwLCB7MHhiYSwweDAwLDB4M2YsMHhhMiwweDBmLDB4YTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVkMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDIwLDB4M2EsMHgxMCwweDA3LDB4ODAsMHgwMywweGMxLDB4MDAsMHhmOCwweDAwLDB4MzggfX0sCi0gezE2LCAweGVlZTAsIDAsIHsweDAwLDB4MmYsMHg4MCwweDAzLDB4YTAsMHgwMSwweGY4LDB4NDIsMHgzZSwweDA1LDB4MGUsMHg4MCwweDBiLDB4ZTAsMHg4MCwweGQ4IH19LAotIHsxNiwgMHhlZWYwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MDMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MGIsMHhkMiB9fSwKLSB7MTYsIDB4ZWYwMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHgwMCwweDNhLDB4NTAgfX0sCi0gezE2LCAweGVmMTAsIDAsIHsweDhmLDB4OTAsMHg4MywweGE0LDB4MDIsMHhkMSwweDAwLDB4YjIsMHg0MCwweDRjLDB4OTAsMHgyMywweDI0LDB4MDgsMHhjOSwweDAxIH19LAotIHsxNiwgMHhlZjIwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4MGYsMHgxNCwweDBhLDB4MjUsMHgyMCB9fSwKLSB7MTYsIDB4ZWYzMCwgMCwgezB4ZTksMHgwMCwweDNlLDB4NDIsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDBhLDB4ODksMHgwMCwweDIyLDB4NzAsMHgwYiwweDkwLDB4MTIsMHgyNSwweDgwLDB4YzksMHgwMCwweDIyIH19LAotIHsxNiwgMHhlZjUwLCAwLCB7MHg0MCwweDBhLDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweDIwLDB4MmMsMHg0MCwweDBhLDB4OTAsMHgwYSwweDI0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZWY2MCwgMCwgezB4YzEsMHgzMiwweDQwLDB4MGIsMHg5OCwweDAyLDB4MDYsMHgwMCwweDg5LDB4OTAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDEyLDB4ZTAgfX0sCi0gezE2LCAweGVmNzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MDQsMHgwMCwweDg5LDB4MDAsMHg2YSwweDQyIH19LAotIHsxNiwgMHhlZjgwLCAwLCB7MHgwYSwweDEwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCwweGEyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwLDB4MDksMHgwMCB9fSwKLSB7MTYsIDB4ZWY5MCwgMCwgezB4MmUsMHg0MCwweDU4LDB4MTAsMHgwMiwweDI0LDB4MDAsMHg4OSwweDgwLDB4YWEsMHg2MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDQgfX0sCi0gezE2LCAweGVmYTAsIDAsIHsweGE5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5NCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmIwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MDAsMHg2MCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4MDQsMHg4MSwweDgxLDB4MjAsMHg2MCB9fSwKLSB7MTYsIDB4ZWZjMCwgMCwgezB4NDgsMHgwYSwweDEyLDB4MDIsMHg0NCwweDg4LDB4ODEsMHgwMCwweDBlLDB4NTksMHgwYSwweDE0LDB4MDIsMHgwNSwweDAwLDB4ODEgfX0sCi0gezE2LCAweGVmZDAsIDAsIHsweGMwLDB4MjgsMHg1MCwweDQ5LDB4MzAsMHgwMiwweDhjLDB4ODQsMHgwMSwweDYwLDB4MmMsMHg1MCwweDBiLDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhlZmUwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhjMCwweDU0LDB4MmEsMHgwMCB9fSwKLSB7MTYsIDB4ZWZmMCwgMCwgezB4MGUsMHg4NSwweDAzLDB4YTAsMHgwMCwweGM4LDB4NTAsMHgzMiwweDE1LDB4MWUsMHgwNSwweDIyLDB4MjEsMHg0MiwweGM4LDB4MDAgfX0sCi0gezE2LCAweGYwMDAsIDAsIHsweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHgwMCwweDA0LDB4YzgsMHgwMCwweDNhLDB4MDAsMHg0ZiwweDg1LDB4MDMsMHhhMSwweDQwIH19LAotIHsxNiwgMHhmMDEwLCAwLCB7MHg2OCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAyMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4NDAsMHhmZCwweDAzLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDgsMHhlOSwweDEwLDB4M2UgfX0sCi0gezE2LCAweGYwMzAsIDAsIHsweDQ1LDB4MGYsMHg5MSwweDEzLDB4ZTQsMHg0MCwweGZkLDB4MDAsMHgzZiwweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMiwweGZkIH19LAotIHsxNiwgMHhmMDQwLCAwLCB7MHg0MCwweDMzLDB4NTAsMHgwZiwweGQ0LDB4MjMsMHg3NCwweDQwLDB4ZjksMHgxMCwweDNmLDB4NDAsMHgwZiwweDU0LDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4ZjA1MCwgMCwgezB4MDIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNCwweDAwLDB4ZjksMHgwMSwweDMzLDB4NmEgfX0sCi0gezE2LCAweGYwNjAsIDAsIHsweDA5LDB4OTAsMHgwMywweGI2LDB4MzQsMHhmOSwweGM4LDB4MzIsMHg2NCwweDBjLDB4OWEsMHgwMywweGU2LDB4YTAsMHhkZCwweDAwIH19LAotIHsxNiwgMHhmMDcwLCAwLCB7MHgzYywweDcwLDB4MGYsMHg5MCwweDAzLDB4YTUsMHgwMCwweDg5LDB4ODAsMHgzMywweDMyLDB4MGYsMHhkOCwweDEzLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4ZjA4MCwgMCwgezB4ZmQsMHgwMCwweDcwLDB4NTAsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwOTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4YjgsMHhhOCwweDIyLDB4MTAsMHgwOCwweDg4LDB4MDIsMHgyMSwweDAwLDB4YjgsMHhjMCwweDIwIH19LAotIHsxNiwgMHhmMGEwLCAwLCB7MHgzMCwweDBkLDB4OGUsMHg4NywweDgzLDB4ODgsMHg4OCwweDAwLDB4MmUsMHgzNCwweDBiLDB4OGEsMHg4MiwweDIyLDB4ODAsMHhkYyB9fSwKLSB7MTYsIDB4ZjBiMCwgMCwgezB4ZTAsMHgyMiwweDM4LDB4MGIsMHg4MCwweDAyLDB4MjAsMHgwMCwweGY4LDB4YTgsMHgyYSwweDI4LDB4MGIsMHg4MCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGYwYzAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgyMCwweGIxLDB4MDAsMHgyMCwweDQwIH19LAotIHsxNiwgMHhmMGQwLCAwLCB7MHgwYSwweDkyLDB4OTIsMHg4NCwweDExLDB4YjEsMHgyNCwweDY4LDB4NTgsMHgwOSwweDExLDB4MDIsMHhjNCwweDIwLDB4OTEsMHgwMSB9fSwKLSB7MTYsIDB4ZjBlMCwgMCwgezB4MmMsMHg0OCwweDFiLDB4NTAsMHgwMiwweDc0LDB4ODQsMHg5NSwweDQ4LDB4YWMsMHg0OCwweDBiLDB4OTQsMHgwMiwweDA0LDB4MDQgfX0sCi0gezE2LCAweGYwZjAsIDAsIHsweGIxLDB4MDIsMHgyNCwweDQ4LDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwNSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTAwLCAwLCB7MHgxOCwweDExLDB4YTQsMHgwMCwweGIxLDB4MjAsMHgyMiwweDQwLDB4MGEsMHg5MCwweDA2LDB4MmMsMHgwMSwweGI5LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ZjExMCwgMCwgezB4NDAsMHgwOSwweDkwLDB4MDIsMHhhNCwweDAwLDB4OWIsMHgwOCwweDJlLDB4NDgsMHgwYiwweDEyLDB4MWEsMHg3NCwweDAwLDB4OTUgfX0sCi0gezE2LCAweGYxMjAsIDAsIHsweDQ1LDB4MmUsMHg2MCwweDAzLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhiOSwweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHhmMTMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhmOSwweDgwLDB4MzAsMHg0MCB9fSwKLSB7MTYsIDB4ZjE0MCwgMCwgezB4MGUsMHgxNiwweDAzLDB4YTQsMHgwMCwweGI5LDB4MDQsMHgzMiwweDQwLDB4MGQsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGQ5LDB4NDAgfX0sCi0gezE2LCAweGYxNTAsIDAsIHsweDJlLDB4NDAsMHgxZiwweDk4LDB4MDMsMHhlNSwweDgwLDB4ZDksMHgwMCwweGFlLDB4NjAsMHgwNywweDEwLDB4MGIsMHgyNiwweDAxIH19LAotIHsxNiwgMHhmMTYwLCAwLCB7MHhiOSwweDAwLDB4YTYsMHg0MCwweDBmLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE3MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4YmUsMHg0MCwweGFjLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4YjQgfX0sCi0gezE2LCAweGYxODAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5IH19LAotIHsxNiwgMHhmMTkwLCAwLCB7MHgwMCwweDMyLDB4MDAsMHgwZiwweDkwLDB4ODMsMHhlNiwweDg1LDB4ZTEsMHgwMCwweDMyLDB4NDQsMHgwZiwweDEwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4ZjFhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGYxYjAsIDAsIHsweDBmLDB4ODAsMHgxMywweGUwLDB4OTQsMHhlMCwweDAwLDB4MzIsMHgwMCwweDBjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwIH19LAotIHsxNiwgMHhmMWMwLCAwLCB7MHgzZSwweDAwLDB4MGQsMHg4MCwweDQzLDB4MjAsMHgwOCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHg0MCB9fSwKLSB7MTYsIDB4ZjFkMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHg0YywweDgwLDB4MjMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxZTAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDIzLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmYiwweDA0LDB4NmEsMHgwMCwweDIyIH19LAotIHsxNiwgMHhmMWYwLCAwLCB7MHg4MCwweDBhLDB4YTAsMHgwMywweDY4LDB4MGEsMHg4ZSwweDg4LDB4M2EsMHg4MCwweDA4LDB4YTAsMHgwMiwweDA4LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ZjIwMCwgMCwgezB4MDAsMHhiNywweDIyLDB4MDMsMHhlNCwweDAyLDB4ZmEsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhlOCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweGYyMTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHg2MCwweDQxIH19LAotIHsxNiwgMHhmMjIwLCAwLCB7MHgwMywweDMwLDB4MDIsMHhjYywweDQxLDB4YTMsMHgwMCwweDA0LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgyYywweDAwLDB4YTMsMHg4MCB9fSwKLSB7MTYsIDB4ZjIzMCwgMCwgezB4MmMsMHhjMCwweDA5LDB4MzgsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzQsMHgwMiwweGNjLDB4ODAgfX0sCi0gezE2LCAweGYyNDAsIDAsIHsweGExLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzOCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjUwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg0MCwweGI3LDB4MDAsMHg2MSwweDAwLDB4MGIsMHg3MSwweDAyLDB4ZGMsMHgwMCwweGEzLDB4MDAsMHgyNSB9fSwKLSB7MTYsIDB4ZjI2MCwgMCwgezB4YzgsMHgxOSwweDM4LDB4MDIsMHg1YywweDgwLDB4YTcsMHgwMCwweDBmLDB4ZTgsMHgwOSwweDY0LDB4MjIsMHgxMCwweDAwLDB4YjMgfX0sCi0gezE2LCAweGYyNzAsIDAsIHsweDAwLDB4MjUsMHhjOCwweDBiLDB4NjAsMHgwMiwweGYyLDB4MDAsMHg4NSwweDAxLDB4MjMsMHhlOCwweDA4LDB4NzAsMHg4MiwweGU4IH19LAotIHsxNiwgMHhmMjgwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MjAsMHhmZiwweDgwLDB4YTEsMHhhMCB9fSwKLSB7MTYsIDB4ZjI5MCwgMCwgezB4MGYsMHg3YSwweDQyLDB4ZGEsMHgwMCwweGU3LDB4ZTgsMHgzNSwweGYwLDB4MmYsMHg3YiwweDYyLDB4MWUsMHg4MiwweGU2LDB4ODAgfX0sCi0gezE2LCAweGYyYTAsIDAsIHsweDFkLDB4ZTAsMHgwZCwweGY4LDB4MGIsMHgxZSwweDAwLDB4ZjcsMHg4MCwweDMxLDB4ZjAsMHgwZiwweDc4LDB4MDMsMHhkZSwweDBjIH19LAotIHsxNiwgMHhmMmIwLCAwLCB7MHhlZiwweDgwLDB4MzEsMHhmOCwweDJjLDB4NzgsMHgwMywweGVhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJjMCwgMCwgezB4MDgsMHgxZCwweGFkLDB4ODQsMHhmYiwweDY4LDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGU4LDB4MDAsMHhmYiwweDAwLDB4ZmEgfX0sCi0gezE2LCAweGYyZDAsIDAsIHsweGQ4LDB4MGUsMHhiNSwweDAzLDB4ZWQsMHgwMCwweGRiLDB4MDAsMHgzYSwweGMwLDB4OGUsMHhhMCwweDAzLDB4ZTAsMHgwMCwweGZiIH19LAotIHsxNiwgMHhmMmUwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwYiwweGIwLDB4NDMsMHhjNCwweDA0LDB4ZWYsMHgwMiwweGJmLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZjJmMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDQyLDB4YzcsMHgzOCwweDMzLDB4NjQgfX0sCi0gezE2LCAweGYzMDAsIDAsIHsweDBlLDB4N2MsMHgwMywweDVlLDB4MDAsMHhkZiwweGEwLDB4MzcsMHhmMCwweDBkLDB4ZjgsMHgwMywweGZmLDB4MjAsMHhjZiwweDgxIH19LAotIHsxNiwgMHhmMzEwLCAwLCB7MHgzMywweGUyLDB4MGMsMHhkOCwweDAzLDB4YmUsMHgwMCwweDdmLDB4YzAsMHgzMywweGUwLDB4MGMsMHhmOSwweDAzLDB4N2UsMHgwMCB9fSwKLSB7MTYsIDB4ZjMyMCwgMCwgezB4ZmQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ODcsMHhhMCwweDIxLDB4MTQsMHgwOCwweDcxLDB4MDIsMHgxNCwweDEwLDB4ZDcsMHgyMCwweDM1IH19LAotIHsxNiwgMHhmMzQwLCAwLCB7MHhjMCwweDBjLDB4NzAsMHgwMywweGJjLDB4MDAsMHg4NSwweDA4LDB4MmIsMHhjMCwweDRkLDB4NDYsMHgwMiwweGQxLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4ZjM1MCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4MDgsMHg4MCwweGY1LDB4MjAsMHgzZCwweGNhLDB4MGYsMHg1NCwweDAzLDB4ZWEgfX0sCi0gezE2LCAweGYzNjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgxMSwweDhmLDB4MDEsMHgyMCwweDg0IH19LAotIHsxNiwgMHhmMzcwLCAwLCB7MHgxYSwweGYwLDB4MDIsMHgxOCwweDAwLDB4YTcsMHgzNCwweDY1LDB4YzAsMHgwOSwweDcxLDB4MDIsMHhkYywweDAwLDB4OGUsMHgwMCB9fSwKLSB7MTYsIDB4ZjM4MCwgMCwgezB4MjksMHhjMCwweDA4LDB4NTAsMHgwNiwweDljLDB4MDAsMHhiZiwweDg4LDB4MmQsMHhjNCwweDBhLDB4NjAsMHgyNiwweDU4LDB4MjQgfX0sCi0gezE2LCAweGYzOTAsIDAsIHsweDk3LDB4MDAsMHg2ZCwweGMwLDB4OWIsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2EwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweDhiLDB4NDAsMHgyMCwweDAwLDB4MTgsMHgzMCwweDAyLDB4MDAsMHgwMCwweGJiLDB4MDIsMHgyNCB9fSwKLSB7MTYsIDB4ZjNiMCwgMCwgezB4YzAsMHgwOCwweDMwLDB4MjAsMHhjYywweDAwLDB4ODEsMHhjMCwweDI4LDB4YzAsMHgwYiwweDA0LDB4ODIsMHhlMCwweDEwLDB4YmIgfX0sCi0gezE2LCAweGYzYzAsIDAsIHsweGEwLDB4MmMsMHhlMCwweDBhLDB4MjAsMHgwNiwweDAwLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjMCwweDBhLDB4MTAsMHgwMiwweDg4IH19LAotIHsxNiwgMHhmM2QwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjZiwweDEwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZjNlMCwgMCwgezB4MGUsMHhmMCwweDBiLDB4MjQsMHgwMCwweGVmLDB4MDAsMHgzNywweGMwLDB4MGQsMHhmMCwweDAzLDB4ZmMsMHgwNiwweGMxLDB4NTAgfX0sCi0gezE2LCAweGYzZjAsIDAsIHsweDNiLDB4YzAsMHgwYywweGI0LDB4MDMsMHhhYywweDAwLDB4ZjgsMHhjMCwweGJlLDB4YzgsMHgyZSwweGIwLDB4MDMsMHg2ZSwweDAxIH19LAotIHsxNiwgMHhmNDAwLCAwLCB7MHhmYiwweDAwLDB4MmQsMHhjMCwweDRiLDB4OTAsMHgwMiwweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQxMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDQsMHhmYiwweDAwLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGFkLDB4MDAsMHg5YiwweDAwLDB4M2UgfX0sCi0gezE2LCAweGY0MjAsIDAsIHsweGMwLDB4MGYsMHgzMCwweDAzLDB4YWMsMHgwMCwweGY4LDB4MDAsMHgyZSwweGMwLDB4MDUsMHhiNCwweDAzLDB4ZWQsMHgwMCwweGY4IH19LAotIHsxNiwgMHhmNDMwLCAwLCB7MHg0MCwweDMyLDB4YzAsMHgwOSwweDAwLDB4MDMsMHhlMCwweDkxLDB4ZTMsMHgwMCwweDNlLDB4YzAsMHgwZiwweDkwLDB4MTEsMHhlMCB9fSwKLSB7MTYsIDB4ZjQ0MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDAwLDB4ZWYsMHgwMCwweDMzLDB4MjAgfX0sCi0gezE2LCAweGY0NTAsIDAsIHsweDRmLDB4ZjAsMHgwMywweGI0LDB4MDAsMHhlZiwweDAzLDB4M2EsMHhjMCwweDBmLDB4ZjAsMHgwMywweDNjLDB4MDAsMHhkYywweDAwIH19LAotIHsxNiwgMHhmNDYwLCAwLCB7MHgzMSwweGMwLDB4OGQsMHhmOCwweDAzLDB4ZmUsMHgwNCwweGNmLDB4MDAsMHgzMiwweGM4LDB4MGMsMHhmMCwweDBiLDB4MWMsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ3MCwgMCwgezB4Y2YsMHg5MywweDMzLDB4YzAsMHg4YywweDQwLDB4MDIsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ODAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweGEyLDB4MDQsMHgwYiwweDMwLDB4MDIsMHgwZSwweDAwLDB4YWIsMHgwMCwweDJhIH19LAotIHsxNiwgMHhmNDkwLCAwLCB7MHhjMCwweDA5LDB4YjAsMHgwMywweDZjLDB4MDgsMHhhOCwweGMwLDB4MzYsMHhjMCwweDA4LDB4YmMsMHgwMiwweGVmLDB4MDIsMHhhYiB9fSwKLSB7MTYsIDB4ZjRhMCwgMCwgezB4ZDAsMHgyMCwweGUwLDB4MDgsMHhiOCwweDIyLDB4MjYsMHgxMCwweDhiLDB4MDAsMHgyMiwweGMwLDB4MjAsMHg5YywweDAyLDB4MjAgfX0sCi0gezE2LCAweGY0YjAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyNiwweDAwIH19LAotIHsxNiwgMHhmNGMwLCAwLCB7MHgwYSwweGIwLDB4MDIsMHhhMiwweDA4LDB4YWIsMHgwMCwweDZhLDB4YzAsMHgwYiwweGIwLDB4MGEsMHgwYywweDAwLDB4OGIsMHg4MCB9fSwKLSB7MTYsIDB4ZjRkMCwgMCwgezB4MjIsMHhjMCwweDA5LDB4YjEsMHgwMiwweGVjLDB4NDAsMHg4OCwweDA4LDB4MjIsMHhjMCwweDA4LDB4YjgsMHgwMiwweDI2LDB4MDAgfX0sCi0gezE2LCAweGY0ZTAsIDAsIHsweDhiLDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5OCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGYwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyNCwweDAwLDB4MGIsMHhiMCwweDAyLDB4MDAsMHgwMSwweDgzLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ZjUwMCwgMCwgezB4YzAsMHgwOSwweDMwLDB4MDIsMHg0YywweDAwLDB4MDAsMHgwNCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDYsMHg0YywweDAwLDB4ODAgfX0sCi0gezE2LCAweGY1MTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4NDEsMHg4MywweDAwLDB4YTIsMHhjMCwweDA4LDB4MTAsMHgwYSwweDgyIH19LAotIHsxNiwgMHhmNTIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhlZiwweDA4LDB4MjYsMHgwMCB9fSwKLSB7MTYsIDB4ZjUzMCwgMCwgezB4MGUsMHhmMCwweDAyLDB4YTAsMHgwMCwweGU3LDB4MDAsMHgzYiwweGMwLDB4MGYsMHhmNSwweDQzLDB4M2MsMHgwMiwweGRhLDB4MDAgfX0sCi0gezE2LCAweGY1NDAsIDAsIHsweDMyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgwMCwweGIyLDB4YzAsMHgwYywweGEwLDB4MDMsMHgyOCwweDEwIH19LAotIHsxNiwgMHhmNTUwLCAwLCB7MHhjYiwweDAwLDB4MzIsMHhjMCwweDBjLDB4ODAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU2MCwgMCwgezB4YTAsMHgwZCwweGZjLDB4MDAsMHhmYiwweDAwLDB4M2IsMHgwMCwweDBmLDB4ZjAsMHgwMywweGYwLDB4MDAsMHhmZiwweDAyLDB4M2YgfX0sCi0gezE2LCAweGY1NzAsIDAsIHsweGMwLDB4MGQsMHhmMiwweDAzLDB4YmMsMHgwMCwweGY0LDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY3IH19LAotIHsxNiwgMHhmNTgwLCAwLCB7MHgwMCwweDMzLDB4YzAsMHgwZiwweDYwLDB4MDMsMHhmMCwweDg4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg0ZiwweGQwLDB4MDMsMHg2OCB9fSwKLSB7MTYsIDB4ZjU5MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDQwLDB4ZmMsMHgzMSwweDNiLDB4MDggfX0sCi0gezE2LCAweGY1YTAsIDAsIHsweDRmLDB4ZjksMHg0MywweGVmLDB4MDAsMHhkZiwweDMwLDB4MzIsMHgyMSwweDBmLDB4OTQsMHgwNywweDdkLDB4ODAsMHhlZiwweDM4IH19LAotIHsxNiwgMHhmNWIwLCAwLCB7MHgzMiwweDA5LDB4MWMsMHgzOCwweDAzLDB4ZjIsMHgyMSwweGZkLDB4MDAsMHgzMywweGM0LDB4MGMsMHhmMCwweDAyLDB4ZmMsMHgwMCB9fSwKLSB7MTYsIDB4ZjVjMCwgMCwgezB4ZGYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ZDAsIDAsIHsweDgwLDB4MTAsMHhlYywweDg4LDB4OGIsMHg2MCwweDIyLDB4ZTUsMHgwZSwweGIyLDB4MjIsMHhlYywweDgwLDB4YWYsMHgxMSwweDJhIH19LAotIHsxNiwgMHhmNWUwLCAwLCB7MHgyMCwweDBiLDB4YjEsMHgxMywweGFjLDB4NDgsMHg4YiwweDQ1LDB4MzQsMHhjYywweDQ4LDB4YjAsMHgwMiwweDZiLDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ZjVmMCwgMCwgezB4ODIsMHgzNiwweDAwLDB4MDgsMHg4OCwweDIyLDB4YzAsMHgwNCwweDg4LDB4MDAsMHhhMiwweDA4LDB4OGIsMHg4OCwweDYyLDB4MjAgfX0sCi0gezE2LCAweGY2MDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGExLDB4MzAsMHgyOCwweDAwIH19LAotIHsxNiwgMHhmNjEwLCAwLCB7MHgwYiwweDMyLDB4MDIsMHhjYywweDAwLDB4YTMsMHgyMiwweDJjLDB4MDAsMHg4YiwweDEyLDB4MDYsMHhjOCwweDgwLDB4YTMsMHgwMCB9fSwKLSB7MTYsIDB4ZjYyMCwgMCwgezB4MjAsMHgwMiwweGNhLDB4MzAsMHgwNiwweGM0LDB4MDEsMHhiMSwweDAwLDB4NjgsMHg4MCwweDA5LDB4MjAsMHgwMiwweDg4LDB4MDAgfX0sCi0gezE2LCAweGY2MzAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMyLDB4MGIsMHgwMCwweDBhLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweDhiLDB4NjEsMHg2MiwweGMwLDB4MGIsMHhiMiwweDAyLDB4ZTgsMHgwMCwweGFiLDB4MDIsMHgyYSB9fSwKLSB7MTYsIDB4ZjY1MCwgMCwgezB4NjEsMHgxYiwweDkwLDB4MDIsMHhhOCwweDAwLDB4YWIsMHgwMCwweDIwLDB4YzAsMHgwYSwweGIwLDB4MDIsMHg2YywweDA0LDB4YmEgfX0sCi0gezE2LCAweGY2NjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDg5LDB4OTAsMHgwMiwweGU2LDB4MDgsMHg5OCwweDAwLDB4MjIsMHgwMCwweDBiLDB4YjAsMHgwMiwweGIwIH19LAotIHsxNiwgMHhmNjcwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVlLDB4MDAsMHhmOCwweDAxLDB4M2EsMHgwNCB9fSwKLSB7MTYsIDB4ZjY4MCwgMCwgezB4MGYsMHhhYywweDAzLDB4ZWMsMHg5MCwweGZiLDB4MDIsMHgzZSwweGUwLDB4MGIsMHg5MCwweDQyLDB4NjcsMHg4MCwweGE4LDB4YzQgfX0sCi0gezE2LCAweGY2OTAsIDAsIHsweDIyLDB4NDgsMHgyMiwweDg2LDB4MDMsMHhlMSwweDQwLDB4YjgsMHgwMiwweDJhLDB4NDAsMHgyOSwweDkwLDB4MDMsMHhlYywweDAyIH19LAotIHsxNiwgMHhmNmEwLCAwLCB7MHhjOSwweDQ4LDB4MzIsMHg0MCwweDBmLDB4YjAsMHgxMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZiMCwgMCwgezB4ZTAsMHgwMSwweGFjLDB4NDAsMHhmYiwweDAwLDB4MWYsMHhhMiwweDBlLDB4ZjgsMHg4MiwweGZjLDB4MDgsMHhmZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweGY2YzAsIDAsIHsweGMwLDB4MGYsMHhmYSwweDQzLDB4OTYsMHg0NCwweGQ0LDB4OTEsMHgzZiwweDQwLDB4MGQsMHhjMCwweDAzLDB4ZmEsMHgwMCwweGZmIH19LAotIHsxNiwgMHhmNmQwLCAwLCB7MHgwOCwweDI1LDB4ODAsMHgwZSwweGUwLDB4MDMsMHhkMCwweDAwLDB4ZWEsMHgwMCwweDNmLDB4ODAsMHgwZiwweGMwLDB4MDMsMHg3OCB9fSwKLSB7MTYsIDB4ZjZlMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZTEsMHgyMCwweDNhLDB4NTAgfX0sCi0gezE2LCAweGY2ZjAsIDAsIHsweDBmLDB4OTAsMHgwMywweDJjLDB4MDAsMHhlYiwweDA4LDB4NzYsMHgwNSwweDBlLDB4YjAsMHgyNywweGUwLDB4MTAsMHhlYSwweDQwIH19LAotIHsxNiwgMHhmNzAwLCAwLCB7MHhiMiwweGMwLDB4MGMsMHhhNCwweDQzLDB4MjUsMHgwMCwweGY4LDB4MDAsMHgzMiwweDA4LDB4MGYsMHg4MCwweDQzLDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4ZjcxMCwgMCwgezB4ZDEsMHgwOCwweGVlLDB4NDAsMHgwZiwweDAwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MjAsIDAsIHsweGM4LDB4MDUsMHgyYywweDAwLDB4OGIsMHgwMCwweDIyLDB4ZDAsMHgwYiwweDkwLDB4ODIsMHgyYywweDAwLDB4ODcsMHg0MCwweDIyIH19LAotIHsxNiwgMHhmNzMwLCAwLCB7MHg2MCwweDhiLDB4YjAsMHgwMiwweGUwLDB4MDAsMHhkOCwweDUwLDB4MjIsMHhkMCwweDBjLDB4YTAsMHgwMywweDZjLDB4MDAsMHhiMyB9fSwKLSB7MTYsIDB4Zjc0MCwgMCwgezB4YzgsMHgzZSwweGQwLDB4MGIsMHhiOCwweDAyLDB4MjUsMHgwOCwweDhhLDB4MjAsMHgyYSwweDgwLDB4OGIsMHhiOCwweDgyLDB4ZjIgfX0sCi0gezE2LCAweGY3NTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjQsMHgwMCwweGEwLDB4YzAsMHgyNCwweGMwIH19LAotIHsxNiwgMHhmNzYwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHgyYywweDAwLDB4ODMsMHgwMywweDIwLDB4MDAsMHgxMCwweDMwLDB4MjIsMHhjYywweDAwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4Zjc3MCwgMCwgezB4NjAsMHgwOCwweDBhLDB4MzAsMHg4MiwweDRjLDB4MDAsMHhiMSwweGMwLDB4MDAsMHhkMSwweDBiLDB4MzgsMHgwMiwweDg0LDB4ODAgfX0sCi0gezE2LCAweGY3ODAsIDAsIHsweDgyLDB4MDEsMHgyMCwweDgwLDB4MDMsMHgzOCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzkwLCAwLCB7MHgyMCwweDAxLDB4MTYsMHg0MCwweDg0LDB4OTgsMHgyNSwweGUwLDB4MGIsMHg3YSwweDAyLDB4ZmEsMHg0OCwweGEzLDB4MjAsMHg2MSB9fSwKLSB7MTYsIDB4ZjdhMCwgMCwgezB4MjQsMHgwYiwweDc5LDB4MDAsMHhjZSwweGMwLDB4OTMsMHhhNCwweDIxLDB4YTYsMHgwYiwweDc4LDB4MTIsMHhkZSwweDgwLDB4YjYgfX0sCi0gezE2LCAweGY3YjAsIDAsIHsweDgwLDB4MmQsMHgyNCwweDBiLDB4NGIsMHgwMiwweDFhLDB4NDAsMHg4NSwweDgxLDB4MjEsMHg2MCwweDBiLDB4NDgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhmN2MwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhlMiwweGEwLDB4YjQsMHhmZSB9fSwKLSB7MTYsIDB4ZjdkMCwgMCwgezB4NGIsMHhiOCwweDBiLDB4MGUsMHgwMCwweGEzLDB4YjAsMHgyNCwweGE4LDB4MGUsMHgxYiwweDAyLDB4Y2UsMHhjMSwweGMzLDB4YzAgfX0sCi0gezE2LCAweGY3ZTAsIDAsIHsweDMwLDB4NjgsMHgyZSwweDNhLDB4NDcsMHg0ZSwweDgwLDB4ZjEsMHg4MCwweDMwLDB4ODAsMHgwZiwweDIyLDB4ODMsMHg4MCwweDAwIH19LAotIHsxNiwgMHhmN2YwLCAwLCB7MHhjMiwweDEwLDB4MzgsMHg4MCwweDRmLDB4MDAsMHgwNywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgwMCwgMCwgezB4NDAsMHgwZCwweGJjLDB4MTAsMHhmZSwweDA0LDB4M2IsMHhjMSwweDA3LDB4ZjAsMHgwMywweDFjLDB4YzgsMHhkZiwweDJhLDB4MGIgfX0sCi0gezE2LCAweGY4MTAsIDAsIHsweGM0LDB4OGYsMHhkMSwweDQzLDB4ZjgsMHgwMiwweDdmLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhmMSwweDBmLDB4M2MsMHgwMCwweGYyIH19LAotIHsxNiwgMHhmODIwLCAwLCB7MHgxMSwweDNmLDB4NDEsMHgxZiwweDUyLDB4MDMsMHhiYywweDBlLDB4ZWQsMHgxNCwweDNmLDB4NDAsMHgwZiwweGY4LDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZjgzMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZTksMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGY4NDAsIDAsIHsweDBlLDB4YmUsMHg0YiwweDZmLDB4MDAsMHhjYiwweDgyLDB4N2EsMHhjMCwweDJjLDB4YjAsMHgwMywweDJjLDB4MDAsMHhjOSwweDAwIH19LAotIHsxNiwgMHhmODUwLCAwLCB7MHgzMiwweDAwLDB4MmMsMHgxMCwweDAzLDB4MmMsMHgwOCwweGMwLDB4MDAsMHgyNiwweDQwLDB4NmMsMHg5MCwweDEzLDB4MjQsMHgxMiB9fSwKLSB7MTYsIDB4Zjg2MCwgMCwgezB4YzgsMHgwMSwweDNlLDB4MDAsMHgwZiwweGI4LDB4MGIsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NzAsIDAsIHsweDQ4LDB4MTEsMHg5NCwweDAwLDB4OGQsMHgwMCwweDIxLDB4ODAsMHgwYiwweDcwLDB4ODIsMHgzYywweDIwLDB4ODMsMHgzMiwweDI5IH19LAotIHsxNiwgMHhmODgwLCAwLCB7MHhjMCwweDA4LDB4ZjAsMHgyMCwweDE0LDB4MDAsMHg4MCwweDAwLDB4MjMsMHgwMCwweDA4LDB4NTAsMHgwNiwweDljLDB4MDQsMHhkNyB9fSwKLSB7MTYsIDB4Zjg5MCwgMCwgezB4MDIsMHgyOCwweDgwLDB4MDgsMHg2MCwweDAyLDB4MDgsMHgxMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGY4YTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGE3LDB4ODAsMHgyMSwweGUwIH19LAotIHsxNiwgMHhmOGIwLCAwLCB7MHgwYiwweDVjLDB4MTIsMHgxZSwweDA0LDB4ODcsMHg4MiwweDBkLDB4YTAsMHgwOSwweDc4LDB4MTYsMHgwMiwweDAwLDB4YjQsMHg4MCB9fSwKLSB7MTYsIDB4ZjhjMCwgMCwgezB4MjUsMHhlMCwweDBiLDB4NzgsMHgwMiwweDllLDB4MDAsMHg4NCwweDgwLDB4MjEsMHgyMiwweDA4LDB4MDgsMHgwMiwweDEyLDB4MDEgfX0sCi0gezE2LCAweGY4ZDAsIDAsIHsweDg0LDB4YzAsMHgyZCwweDIwLDB4MGIsMHgwOCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGUwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4NDIsMHhhMCwweGQ4LDB4MGIsMHgzNCwweDgyLDB4MGMsMHgwMCwweGEzLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjhmMCwgMCwgezB4ZTAsMHgwOCwweGIwLDB4MDIsMHgwYywweDg4LDB4YjMsMHgyMSwweDI0LDB4ZDgsMHgwYiwweDNlLDB4MDIsMHg4YywweDAwLDB4OTMgfX0sCi0gezE2LCAweGY5MDAsIDAsIHsweDA4LDB4MjgsMHhjMCwweDA4LDB4MzgsMHgwMiwweDJjLDB4MDUsMHg4YiwweDAxLDB4MmMsMHhlMCwweDBiLDB4MzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhmOTEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhlZSwweDAwLDB4MzMsMHg5MCB9fSwKLSB7MTYsIDB4ZjkyMCwgMCwgezB4MGYsMHhhMCwweDBiLDB4NjgsMHgwMCwweGNhLDB4MDEsMHg3ZiwweGE4LDB4MGMsMHhhYSwweDAzLDB4M2EsMHgxMiwweGZlLDB4ZTIgfX0sCi0gezE2LCAweGY5MzAsIDAsIHsweDM3LDB4YjAsMHgwZiwweGVlLDB4MDIsMHgxOCwweDAwLDB4Y2EsMHg0MCwweDM2LDB4YTAsMHgwOCwweGEwLDB4OGIsMHgyOCwweDAwIH19LAotIHsxNiwgMHhmOTQwLCAwLCB7MHhjYSwweDgxLDB4MmUsMHhhMCwweDBmLDB4ZTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk1MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDA4LDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweGEyLDB4MDIsMHhkOCwweDQwLDB4M2UgfX0sCi0gezE2LCAweGY5NjAsIDAsIHsweDA4LDB4MGYsMHg4MCwweDEzLDB4ZTAsMHg0MCwweDQ4LDB4NDAsMHhiOCwweDA0LDB4MDgsMHg4NCwweDAzLDB4NjEsMHgwMCwweGZjIH19LAotIHsxNiwgMHhmOTcwLCAwLCB7MHgwMCwweDNmLDB4MDAsMHg0ZiwweGMwLDB4MDMsMHhmMSwweDAwLDB4ZmMsMHgwMCwweDNmLDB4MDQsMHgwZiwweGMwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4Zjk4MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZjksMHgwMCwweDMwLDB4NTAgfX0sCi0gezE2LCAweGY5OTAsIDAsIHsweDRjLDB4YjksMHgwMywweDZjLDB4MTgsMHhmOSwweDAwLDB4MzYsMHg0MCwweDBlLDB4OWMsMHgyMywweGE0LDB4MDIsMHg0MSwweDAwIH19LAotIHsxNiwgMHhmOWEwLCAwLCB7MHhiMiwweDQ0LDB4MGUsMHg5YSwweDAzLDB4YTYsMHg4MCwweGM5LDB4MDAsMHgzYSwweDYwLDB4MGEsMHg5MCwweDAzLDB4YTQsMHg4MCB9fSwKLSB7MTYsIDB4ZjliMCwgMCwgezB4YzksMHgwMCwweDM0LDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5YzAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg0MCwweDIyLDB4NzgsMHgwOCwweDk0LDB4MDIsMHhlNCwweDEwLDB4YjksMHgwMCwweDNjIH19LAotIHsxNiwgMHhmOWQwLCAwLCB7MHg2MiwweDE4LDB4OTQsMHg4MiwweGE0LDB4MDAsMHg4OSwweGM4LDB4MjIsMHg3MCwweDQ4LDB4MWUsMHgwMSwweDY3LDB4ODAsMHhkMSB9fSwKLSB7MTYsIDB4ZjllMCwgMCwgezB4MDAsMHhiYywweDQyLDB4MDgsMHgxMCwweDAyLDB4MjUsMHgyMCwweDg5LDB4MDIsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGY5ZjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGIxLDB4MjgsMHgyMiwweDQwIH19LAotIHsxNiwgMHhmYTAwLCAwLCB7MHgwOCwweGIwLDB4ODIsMHg2NCwweDA0LDB4MzksMHg0MSwweDJlLDB4NDgsMHgwYSwweDkwLDB4MDIsMHgwNCwweDE4LDB4YTksMHgyMCB9fSwKLSB7MTYsIDB4ZmExMCwgMCwgezB4MjIsMHg0MiwweDRhLDB4OTAsMHgwMiwweDJjLDB4MDQsMHg4OSwweDA0LDB4MmIsMHg0OCwweDAyLDB4ZDAsMHgwMiwweGI0LDB4MGEgfX0sCi0gezE2LCAweGZhMjAsIDAsIHsweDhkLDB4ODAsMHgyMywweGMwLDB4NDgsMHhkMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHhhMCwweDQ4LDB4MjgsMHgxMCwweDAyLDB4YzQsMHgwMCwweGIxLDB4MjQsMHgyYSB9fSwKLSB7MTYsIDB4ZmE0MCwgMCwgezB4NDAsMHgwOCwweDEyLDB4NDIsMHg4NSwweDgwLDB4YTEsMHgyMCwweGEwLDB4NDgsMHgwOCwweDkwLDB4MDIsMHg0NCwweDAwLDB4OTUgfX0sCi0gezE2LCAweGZhNTAsIDAsIHsweDJjLDB4MmQsMHg1YSwweDBhLDB4NzIsMHg4MiwweDE0LDB4YTAsMHg4NSwweGE4LDB4MjEsMHg0YSwweDA4LDB4NTIsMHg4MiwweGMyIH19LAotIHsxNiwgMHhmYTYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDQxLDB4NDAsMHhmOCwweDUwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4ZmE3MCwgMCwgezB4OGMsMHgwNSwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTEsMHgyZSwweDAwLDB4MGEsMHg4NSwweDAyLDB4MjAsMHgwMCwweGU4LDB4NTAgfX0sCi0gezE2LCAweGZhODAsIDAsIHsweDMyLDB4MTQsMHgwNiwweDg1LDB4MTcsMHhhMCwweDAwLDB4YzgsMHgyMCwweDNhLDB4MDgsMHgwZSwweDgyLDB4MDMsMHhhMCwweDgwIH19LAotIHsxNiwgMHhmYTkwLCAwLCB7MHhjOCwweDIwLDB4MzIsMHgwOCwweDJjLDB4YzIsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFhMCwgMCwgezB4OTgsMHgxOSwweGY0LDB4NDAsMHhmZiwweDEwLDB4M2YsMHg0NCwweDBiLDB4YjAsMHgwMywweGU0LDB4MDAsMHhmOSwweDEwLDB4M2QgfX0sCi0gezE2LCAweGZhYjAsIDAsIHsweDQwLDB4MGYsMHhkMSwweDAzLDB4ZjQsMHg1OCwweDlkLDB4MTAsMHgzZiwweDQ0LDB4NGYsMHhkMCwweDAzLDB4ZDUsMHgwMCwweGY5IH19LAotIHsxNiwgMHhmYWMwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHg4ZCwweDkwLDB4MDMsMHhlNCwweGI4LDB4ZjksMHgyOCwweGJhLDB4NmEsMHgwZiwweDkwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4ZmFkMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhlNywweDAwLDB4ZmQsMHg4OCwweDNlLDB4NjAgfX0sCi0gezE2LCAweGZhZTAsIDAsIHsweDhmLDB4ZDAsMHgwMywweDI0LDB4MDEsMHhkZCwweDgwLDB4NzMsMHg0MCwweDBmLDB4ZDgsMHgwMywweGE2LDB4MDQsMHhjZCwweGEyIH19LAotIHsxNiwgMHhmYWYwLCAwLCB7MHgzMywweDc4LDB4MWMsMHhkMCwweDAzLDB4MzQsMHgwMSwweGY1LDB4ODgsMHgzYiwweDY4LDB4MGMsMHhkYSwweDQ3LDB4MzcsMHg4MCB9fSwKLSB7MTYsIDB4ZmIwMCwgMCwgezB4Y2QsMHg4OCwweDMyLDB4NjIsMHgwYywweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMTAsIDAsIHsweDM4LDB4MTAsMHhlMywweDgwLDB4YjgsMHg4MCwweDJlLDB4MTQsMHgwYiwweDBhLDB4ODIsMHgyMiwweDgwLDB4YjgsMHhmOCwweGEyIH19LAotIHsxNiwgMHhmYjIwLCAwLCB7MHgwMCwweDBiLDB4OGYsMHhhMywweDgzLDB4ZTAsMHg4OCwweGViLDB4MjIsMHhhOSwweDA4LDB4ODgsMHgxMiwweGEwLDB4MDUsMHhiOCB9fSwKLSB7MTYsIDB4ZmIzMCwgMCwgezB4MDAsMHgyYSwweGFhLDB4ODgsMHg4MCwweDEzLDB4NjIsMHg4MiwweDg4LDB4ODAsMHgyMiwweDI4LDB4ODgsMHhhNCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGZiNDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4MGEsMHgyYywweDQxIH19LAotIHsxNiwgMHhmYjUwLCAwLCB7MHgwYiwweDEwLDB4MDYsMHgwNCwweDIwLDB4YTEsMHgwMCwweDAwLDB4NDAsMHg4YiwweDEwLDB4NDYsMHhjNCwweDAxLDB4OTEsMHgxMSB9fSwKLSB7MTYsIDB4ZmI2MCwgMCwgezB4MjQsMHg1OCwweDY4LDB4OTAsMHhjMiwweDA0LDB4MDAsMHhiMSwweDAwLDB4YTgsMHg1MCwweDA5LDB4MTQsMHgwYSwweDA1LDB4OTUgfX0sCi0gezE2LCAweGZiNzAsIDAsIHsweGExLDB4MDgsMHhhMCwweDQyLDB4MjgsMHgxMSwweDBhLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjgwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgxOCwweGI5LDB4MjAsMHgyZSwweDUwLDB4MGIsMHg5MCwweDA2LDB4MjQsMHgwOSwweGI5LDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ZmI5MCwgMCwgezB4NDAsMHg4YiwweDkxLDB4MDIsMHg4NCwweDAwLDB4OTksMHg2NCwweDI0LDB4NDAsMHg1OCwweDkwLDB4MDIsMHhhNCwweDIwLDB4YmIgfX0sCi0gezE2LCAweGZiYTAsIDAsIHsweDAwLDB4MmEsMHg0MCwweDA5LDB4YjAsMHgwMiwweDA1LDB4MDEsMHhhOSwweDAwLDB4MjIsMHg0MCwweDg4LDB4OTIsMHgwMiwweDA2IH19LAotIHsxNiwgMHhmYmIwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4MDAsMHhmOSwweDQwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZmJjMCwgMCwgezB4NGYsMHg5OCwweDBiLDB4MjQsMHg4MCwweGQ5LDB4MDAsMHgyMiwweDcyLDB4MGIsMHg5OCwweDAzLDB4ZTQsMHg4NCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweGZiZDAsIDAsIHsweGI2LDB4NzAsMHgwOCwweDk5LDB4MDIsMHgyNCwweDAwLDB4YjksMHgwMCwweDJhLDB4NDAsMHgwZCwweDk0LDB4YzIsMHgyNSwweDAwIH19LAotIHsxNiwgMHhmYmUwLCAwLCB7MHhhOSwweDAwLDB4MjIsMHg0MCwweDBjLDB4OTQsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJmMCwgMCwgezB4MjgsMHgwMSwweGE2LDB4ODAsMHhmOSwweDA4LDB4M2UsMHhjMCwweDBmLDB4OTEsMHg0MywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGZjMDAsIDAsIHsweDUwLDB4MGYsMHg5OCwweDAzLDB4YTUsMHgwMCwweGU5LDB4MDAsMHgzYSwweDY0LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhmYzEwLCAwLCB7MHgwMCwweDNjLDB4NDAsMHg2ZSwweDkwLDB4MDMsMHhlNCwweDIwLDB4ZDksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4ODIsMHhjYSB9fSwKLSB7MTYsIDB4ZmMyMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGZjMzAsIDAsIHsweDRmLDB4ODQsMHgwYiwweDIwLDB4MDAsMHhmOCwweDAwLDB4MzYsMHgwMSwweDBlLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDQwIH19LAotIHsxNiwgMHhmYzQwLCAwLCB7MHgzMiwweDEwLDB4MmQsMHg4MCwweDAzLDB4ZTAsMHg1NCwweGM4LDB4MDAsMHgzNiwweDEwLDB4MGYsMHgwNCwweDgzLDB4ZTAsMHg1MCB9fSwKLSB7MTYsIDB4ZmM1MCwgMCwgezB4ZDgsMHgwNCwweDEyLDB4MDAsMHgwYywweDAwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHg0MiwweDJlLDB4YTIsMHg4YiwweGVhLDB4MDIsMHgyOCwweDA4LDB4YmUsMHg4OSwweDM3IH19LAotIHsxNiwgMHhmYzcwLCAwLCB7MHg4NCwweDQ4LDB4ZTAsMHgxMiwweDI4LDB4MDIsMHg4ZSwweGMwLDB4MjMsMHhiMCwweDRkLDB4NjAsMHg2MiwweGY4LDB4MDAsMHg4NiB9fSwKLSB7MTYsIDB4ZmM4MCwgMCwgezB4MDAsMHgyMywweDgwLDB4MGIsMHhlMCwweDAyLDB4ZjgsMHgwMCwweDBlLDB4MDAsMHgyMiwweDgwLDB4MDgsMHhlNCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGZjOTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGEzLDB4MDAsMHgyYywweDgwIH19LAotIHsxNiwgMHhmY2EwLCAwLCB7MHgxYiwweGIwLDB4OWEsMHg0YywweDEwLDB4OWIsMHg4MCwweDI0LDB4YzAsMHgwYSwweDMwLDB4MDAsMHgwYywweDA0LDB4OWIsMHgyMCB9fSwKLSB7MTYsIDB4ZmNiMCwgMCwgezB4MjAsMHhkNiwweDA4LDB4MzAsMHgwMiwweDhlLDB4MDgsMHhhMywweDA0LDB4MjQsMHhjMCwweDE5LDB4MzQsMHgwMiwweGM3LDB4MDcgfX0sCi0gezE2LCAweGZjYzAsIDAsIHsweGFhLDB4YTQsMHhhMCwweGMwLDB4NDgsMHgzNCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2QwLCAwLCB7MHhhMCwweDAxLDB4MGUsMHgwMCwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4NWMsMHg0MCwweGIzLDB4MTQsMHgyNSB9fSwKLSB7MTYsIDB4ZmNlMCwgMCwgezB4ZTAsMHgwOCwweDdhLDB4MDIsMHg5ZSwweGMwLDB4OTIsMHg0MCwweGEwLDB4MDAsMHg0OSwweDYwLDB4MDIsMHhjZSwweDAyLDB4OGUgfX0sCi0gezE2LCAweGZjZjAsIDAsIHsweDAxLDB4MjEsMHhjMCwweDhiLDB4NTQsMHgwMiwweGM0LDB4MDgsMHg4NiwweDQwLDB4MjEsMHhjOCwweDg4LDB4MTAsMHgwMiwweDI4IH19LAotIHsxNiwgMHhmZDAwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4YzAsMHhlNCwweDgwLDB4M2QsMHhlMiB9fSwKLSB7MTYsIDB4ZmQxMCwgMCwgezB4MGYsMHg1OCwweDAzLDB4NWUsMHg5MCwweGI2LDB4YTIsMHgzNSwweGUwLDB4MGUsMHg3YywweDIzLDB4MWMsMHgwMCwweGQ2LDB4ODAgfX0sCi0gezE2LCAweGZkMjAsIDAsIHsweDMxLDB4ZTAsMHg4NCwweDc4LDB4MDMsMHhkZSwweDAwLDB4YzcsMHg4MCwweDM1LDB4ZTAsMHgwZiwweDY4LDB4MDMsMHhkZSwweDAwIH19LAotIHsxNiwgMHhmZDMwLCAwLCB7MHhlMywweDgwLDB4MzMsMHhlOCwweDJjLDB4NzgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ0MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4OTAsMHhmYSwweDAwLDB4N2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGFjLDB4MDEsMHhmYiwweDAwLDB4M2MgfX0sCi0gezE2LCAweGZkNTAsIDAsIHsweDQxLDB4MGYsMHgzMCwweDBiLDB4MmQsMHgwNCwweGViLDB4MDEsMHgzZSwweGMwLDB4MGUsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhIH19LAotIHsxNiwgMHhmZDYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhlYywweDAwLDB4ZTksMHg2MCwweDNlLDB4ZTQsMHgwZiwweDkwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZmQ3MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDIwLDB4ZmYsMHg5MCwweDNlLDB4MjAgfX0sCi0gezE2LCAweGZkODAsIDAsIHsweDBjLDB4YTksMHgwNywweDJlLDB4NDQsMHhjOSwweDkxLDB4MzAsMHhhMCwweDBjLDB4YjgsMHg2MywweDJmLDB4NDQsMHhjYiwweGExIH19LAotIHsxNiwgMHhmZDkwLCAwLCB7MHgzNiwweDIwLDB4OGMsMHhmOCwweDAzLDB4MzYsMHgwMCwweGNmLDB4ODIsMHgzMywweGUwLDB4MGMsMHhmOCwweDIzLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4ZmRhMCwgMCwgezB4Y2UsMHhjMCwweDNiLDB4ZTAsMHgwYywweDY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkYjAsIDAsIHsweGE4LDB4MTEsMHg5YywweDg0LDB4YjMsMHg1NCwweDJjLDB4ZjQsMHgyOCwweGJhLDB4OGEsMHgzZSwweDQwLDB4ODEsMHhhMCwweDI5IH19LAotIHsxNiwgMHhmZGMwLCAwLCB7MHhiMCwweDBmLDB4NzgsMHg0MiwweGFlLDB4MDAsMHg4MywweDkwLDB4MzMsMHhlOCwweDBkLDB4ZTEsMHgwMCwweDg1LDB4NDAsMHg4MiB9fSwKLSB7MTYsIDB4ZmRkMCwgMCwgezB4MjQsMHgyMywweGM2LDB4MGQsMHg3MSwweDAzLDB4NWUsMHhlMCwweDg3LDB4MDAsMHgyYiwweGMxLDB4MGQsMHg0NCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGZkZTAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwOCwweDM1LDB4MTQsMHg2ZCwweGMwIH19LAotIHsxNiwgMHhmZGYwLCAwLCB7MHg4OCwweDcyLDB4MzIsMHg1YywweDgwLDB4ODQsMHgzMCwweDJiLDB4ODgsMHgwYSwweDcwLDB4NDIsMHg1YywweGE4LDB4OTEsMHgwOCB9fSwKLSB7MTYsIDB4ZmUwMCwgMCwgezB4MjUsMHhjOCwweDA5LDB4NzAsMHgwMiwweDRjLDB4MjIsMHg4MywweDBhLDB4NjEsMHhjMCwweDA5LDB4MjAsMHgwMiwweDA0LDB4MDAgfX0sCi0gezE2LCAweGZlMTAsIDAsIHsweDg3LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZTIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgxMCwweGIzLDB4ODUsMHg2YywweGRjLDB4MDgsMHgzNCwweDAyLDB4NGQsMHgyMSwweDgxLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4ZmUzMCwgMCwgezB4MDIsMHg0YSwweDMxLDB4MTIsMHhlZiwweDBjLDB4OTEsMHhjMiwweDIwLDB4ZjAsMHgwOCwweDMwLDB4NDIsMHg4ZSwweDAwLDB4ODIgfX0sCi0gezE2LCAweGZlNDAsIDAsIHsweDQwLDB4MjAsMHhjOCwweDE5LDB4MjgsMHgwMiwweDIyLDB4ODEsMHg4MywweGMwLDB4MjgsMHhkNCwweDA5LDB4MDAsMHgwYSwweDA4IH19LAotIHsxNiwgMHhmZTUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhmYiwweGEwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ZmU2MCwgMCwgezB4OGMsMHgwNCwweDEyLDB4N2QsMHgxMCwweGNmLDB4MDIsMHgzYSwweDUwLDB4MDgsMHhjMCwweDQyLDB4N2QsMHg1MiwweDU4LDB4MDEgfX0sCi0gezE2LCAweGZlNzAsIDAsIHsweDM2LDB4MjIsMHg2OSwweGQwLDB4MTMsMHgyYSwweDAwLDB4ODgsMHg4MiwweDMyLDB4ZjAsMHgwOSwweGI4LDB4ODIsMHgyZiwweDAwIH19LAotIHsxNiwgMHhmZTgwLCAwLCB7MHhjOSwweGM4LDB4MjMsMHhjMCwweDBjLDB4OGEsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmU5MCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhiOSwweDQwLDB4M2MsMHg1MCwweDRmLDB4ODAsMHgyMywweGFjLDB4MTIsMHhmYiwweDAwLDB4MmEgfX0sCi0gezE2LCAweGZlYTAsIDAsIHsweGMwLDB4NmQsMHg4MCwweDEzLDB4YWMsMHgwMCwweGU4LDB4MDQsMHhiYSwweDEwLDB4MGYsMHg4MCwweDAzLDB4ZTgsMHgwMCwweGYzIH19LAotIHsxNiwgMHhmZWIwLCAwLCB7MHgwOCwweDNjLDB4ODAsMHgwZiwweDkwLDB4ODMsMHhlYywweDA0LDB4ZjksMHg2MCwweDJjLDB4YzIsMHgwZiwweDgwLDB4ODMsMHhlMCB9fSwKLSB7MTYsIDB4ZmVjMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4ZWMsMHgyYywweDNmLDB4ZjAgfX0sCi0gezE2LCAweGZlZDAsIDAsIHsweDhjLDB4ZmEsMHg4YiwweGJjLDB4MDAsMHhmZSwweDAwLDB4M2YsMHgwMCwweDBmLDB4NzksMHgwMywweDNjLDB4MDAsMHhjZSwweDA4IH19LAotIHsxNiwgMHhmZWUwLCAwLCB7MHgwYiwweGMyLDB4MGMsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZjLDB4MDAsMHgzMywweDQwLDB4OGMsMHg3YSwweDAzLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4ZmVmMCwgMCwgezB4YzUsMHgwMCwweDMzLDB4YzAsMHg0YywweGM4LDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmMDAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4ODgsMHhjMCwweDJlLDB4ZTAsMHgwOCwweDk0LDB4MDIsMHgyYywweDAwLDB4YmIsMHg4MCwweDY2IH19LAotIHsxNiwgMHhmZjEwLCAwLCB7MHgzMCwweDE2LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhkYSwweDRjLDB4MjIsMHhmMCwweDA4LDB4ZjAsMHgwMywweGVjLDB4MDAsMHhlYiB9fSwKLSB7MTYsIDB4ZmYyMCwgMCwgezB4YzAsMHgyMiwweDY4LDB4MDAsMHg5NCwweDAyLDB4MmMsMHgwMiwweGE5LDB4ODAsMHgyMiwweGMwLDB4MDgsMHgwYywweDAyLDB4YTAgfX0sCi0gezE2LCAweGZmMzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGFiLDB4MDQsMHgyZSwweGMwIH19LAotIHsxNiwgMHhmZjQwLCAwLCB7MHgwOCwweGE0LDB4MDYsMHgyYywweDA0LDB4YWIsMHgxMCwweDJlLDB4NjAsMHg0MywweDgwLDB4ODIsMHg2YywweDAxLDB4ODEsMHg4MCB9fSwKLSB7MTYsIDB4ZmY1MCwgMCwgezB4MjgsMHgwYSwweDA4LDB4OTEsMHgwMCwweGUwLDB4MDAsMHhiOCwweDgwLDB4MDIsMHhlMCwweDA4LDB4ODAsMHgwMiwweDJkLDB4ODAgfX0sCi0gezE2LCAweGZmNjAsIDAsIHsweDg4LDB4YzAsMHgyMiwweGMwLDB4MDgsMHg4MiwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZjcwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweDgwLDB4NDQsMHgyYywweGM4LDB4MjgsMHhhMCwweDIyLDB4MGMsMHgwNCwweGIzLDB4MjYsMHgyYyB9fSwKLSB7MTYsIDB4ZmY4MCwgMCwgezB4YzgsMHg4OCwweDAxLDB4MDYsMHgwYywweGUwLDB4OTEsMHgyMCwweDIwLDB4MGMsMHgzOCwweDA0LDB4MjIsMHhjMCwweDQ4LDB4YTMgfX0sCi0gezE2LCAweGZmOTAsIDAsIHsweDQyLDB4YTAsMHg4MSwweDA4LDB4MDAsMHgwMiwweDBjLDB4ODAsMHg4MSwweDAwLDB4MjAsMHhjMCwweDI4LDB4MDAsMHgwMiwweDgyIH19LAotIHsxNiwgMHhmZmEwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHhhOSwweDQwLDB4M2UsMHg0NCB9fSwKLSB7MTYsIDB4ZmZiMCwgMCwgezB4MDgsMHhiMSwweDAzLDB4MmMsMHg0MCwweGVhLDB4NDksMHgyZSwweDBkLDB4MGIsMHhiNiwweDEzLDB4N2QsMHg4MCwweGM5LDB4NDAgfX0sCi0gezE2LCAweGZmYzAsIDAsIHsweGJhLDB4ZDAsMHgwYywweGI0LDB4MDMsMHhhYywweDAwLDB4ZjgsMHgwMCwweDMyLDB4NDAsMHgwYywweDgwLDB4MGIsMHgyMCwweDAwIH19LAotIHsxNiwgMHhmZmQwLCAwLCB7MHhjNSwweDAwLDB4YjIsMHhjMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmZlMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmYywweDAwLDB4M2QsMHhjNSwweDBiLDB4ZjEsMHgwMCwweGZjLDB4ZDAsMHg3NywweDI5LDB4MzcgfX0sCi0gezE2LCAweGZmZjAsIDAsIHsweDBjLDB4OGUsMHg3NCwweDAzLDB4ZmMsMHgwOCwweGZkLDB4NjksMHgzZiwweGQ4LDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwMCwweGVmIH19LAotIHsxNiwgMHg4MDEwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHgwNywweGMwLDB4MDMsMHhmMCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ODAyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhmYywweGMwLDB4ZGMsMHg4MCwweDNmLDB4YzggfX0sCi0gezE2LCAweDgwMzAsIDAsIHsweDBmLDB4NDgsMHgwMywweDdjLDB4MjAsMHhmZiwweDY4LDB4MzcsMHhlMCwweDBlLDB4ZjEsMHgwMywweDljLDB4MDAsMHhiZiwweDIwIH19LAotIHsxNiwgMHg4MDQwLCAwLCB7MHgzNywweGUwLDB4MGMsMHhjOCwweDEzLDB4M2MsMHg0MCwweGVkLDB4NjAsMHhiYiwweGU0LDB4MmMsMHg0MywweDRiLDB4NzAsMHhhMCB9fSwKLSB7MTYsIDB4ODA1MCwgMCwgezB4Y2MsMHgyYywweDNmLDB4MDksMHgwZiwweGQ4LDB4NDMsMHg3MCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgwNjAsIDAsIHsweDgwLDB4MDAsMHhlZCwweGMwLDB4YjgsMHg4MCwweDJmLDB4ZjQsMHgwZiwweDk4LDB4MDIsMHgzZiwweDAwLDB4YmYsMHg0MiwweDIyIH19LAotIHsxNiwgMHg4MDcwLCAwLCB7MHhjYSwweDA4LDB4ZjQsMHgwMiwweDNlLDB4MDAsMHhiZiwweGQwLDB4MjIsMHg2MCwweDI4LDB4ODgsMHgwYSwweDNkLDB4ODAsMHg4ZCB9fSwKLSB7MTYsIDB4ODA4MCwgMCwgezB4NDAsMHgyMiwweGM4LDB4MDgsMHg4MSwweDAyLDB4MjEsMHg4MCwweGRiLDB4YzAsMHgyZSwweGE1LDB4MGIsMHg5OCwweDQyLDB4MjAgfX0sCi0gezE2LCAweDgwOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgxMCwweGIwLDB4MDAsMHgyYywweGMwIH19LAotIHsxNiwgMHg4MGEwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHhjYywweDAwLDB4YjMsMHgyMCwweDI2LDB4YzAsMHg4YSwweDM2LDB4MTIsMHg4YywweDQxLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4ODBiMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4MDAsMHgwMiwweDBkLDB4ODEsMHhhMSwweDMwLDB4MjIsMHhjOCwweDg5LDB4YTIsMHg0MiwweDA4LDB4MjAgfX0sCi0gezE2LCAweDgwYzAsIDAsIHsweGIwLDB4MDAsMHgyYywweDQwLDB4MGIsMHg5MCwweDI2LDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MGQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwMCwweGI4LDB4NTAsMHgyZSwweGMwLDB4MGEsMHg5MCwweDAyLDB4YWMsMHgwMCwweGJiLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4ODBlMCwgMCwgezB4YzAsMHgwOCwweGIwLDB4NjIsMHgyYywweDEwLDB4YmIsMHgwNCwweDJhLDB4ZjAsMHg0YSwweDg4LDB4MDIsMHgwYywweDAwLDB4ODEgfX0sCi0gezE2LCAweDgwZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA5LDB4YjgsMHg4MCwweDI2LDB4MDAsMHhiOCwweDgwLDB4MmUsMHgyMSwweDBiLDB4OTAsMHgwMiwweDMwIH19LAotIHsxNiwgMHg4MTAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODAsMHgxNSwweGVjLDB4MDAsMHhkOCwweGMwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ODExMCwgMCwgezB4MGIsMHg4MCwweDAzLDB4ZWMsMHgwMCwweGZiLDB4MDAsMHgzNiwweDgwLDB4MGUsMHhiMCwweDAzLDB4YWMsMHgwMCwweGZiLDB4MDAgfX0sCi0gezE2LCAweDgxMjAsIDAsIHsweDNjLDB4ZTAsMHgwYywweDBjLDB4MDMsMHgyYywweDAwLDB4ZTksMHgwMCwweDEwLDB4YzAsMHgwYywweDhjLDB4MDMsMHgwNiwweDAwIH19LAotIHsxNiwgMHg4MTMwLCAwLCB7MHhmOCwweGNkLDB4M2UsMHgyMiwweDBmLDB4MTgsMHgwMywweDQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODE0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHhjMCwweDBmLDB4ZjAsMHgwMywweDdjLDB4MDAsMHhmNywweDAyLDB4M2YgfX0sCi0gezE2LCAweDgxNTAsIDAsIHsweGU0LDB4MGYsMHg3MCwweDAzLDB4N2MsMHgwNCwweGI3LDB4MDAsMHgzNywweDQwLDB4MGQsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkIH19LAotIHsxNiwgMHg4MTYwLCAwLCB7MHgwMCwweDM3LDB4ZDAsMHgwZSwweGMwLDB4NDMsMHhmNCwweDAwLDB4ZGYsMHgwMCwweDNmLDB4ODAsMHg4ZiwweGRhLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4ODE3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjgsMHgxMCwweDNhLDB4YzAgfX0sCi0gezE2LCAweDgxODAsIDAsIHsweDZkLDB4YTYsMHgxMywweGVjLDB4MDAsMHhjYiwweDAwLDB4M2EsMHhkMCwweDBmLDB4YjAsMHgwMywweDJjLDB4MTAsMHhkYiwweDEwIH19LAotIHsxNiwgMHg4MTkwLCAwLCB7MHgzNiwweGQ4LDB4MGQsMHg4NCwweDAzLDB4ZWMsMHgwNiwweGM5LDB4MDgsMHgzYSwweGMwLDB4MGUsMHg4NiwweDAzLDB4YTgsMHg2MCB9fSwKLSB7MTYsIDB4ODFhMCwgMCwgezB4ZjgsMHgyMCwweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHg1NCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxYjAsIDAsIHsweDk4LDB4MDUsMHgzYywweDAwLDB4YmIsMHg0MCwweDIzLDB4ZDAsMHgwOCwweDMwLDB4MDIsMHgzZSwweDEwLDB4YWYsMHgwMCwweDIwIH19LAotIHsxNiwgMHg4MWMwLCAwLCB7MHhjMCwweDBiLDB4ZjAsMHgwMiwweDNjLDB4MDAsMHg4ZiwweDUwLDB4MmUsMHhjOCwweDA2LDB4OGEsMHgwMiwweGZjLDB4MDAsMHg4ZCB9fSwKLSB7MTYsIDB4ODFkMCwgMCwgezB4MjQsMHg4MiwweGQ2LDB4MDgsMHgzMiwweDAyLDB4MmQsMHgwOCwweDNhLDB4NDAsMHgyMiwweDgwLDB4MGQsMHg5MCwweDAzLDB4NjIgfX0sCi0gezE2LCAweDgxZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlOCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MjAsMHgyOCwweGMyIH19LAotIHsxNiwgMHg4MWYwLCAwLCB7MHgwOCwweDA0LDB4MDIsMHg4YywweDAwLDB4MTMsMHgwMiwweDI4LDB4YzAsMHgwYiwweDMwLDB4MDIsMHgwYywweDMwLDB4OTMsMHg4MCB9fSwKLSB7MTYsIDB4ODIwMCwgMCwgezB4MjQsMHhkMCwweDA5LDB4MjAsMHgwMiwweGNjLDB4MDAsMHg5MSwweDQwLDB4MDgsMHhjMCwweDJhLDB4MTQsMHgwMiwweDgxLDB4MDAgfX0sCi0gezE2LCAweDgyMTAsIDAsIHsweDkwLDB4MDAsMHg2OCwweDAwLDB4MDgsMHgxOCwweDAyLDB4M2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MjIwLCAwLCB7MHg3MCwweDAxLDB4MWUsMHgwMCwweGI0LDB4YTAsMHgyMSwweGUwLDB4MDgsMHhjOCwweDEyLDB4OWUsMHgwMCwweGIzLDB4ODIsMHgyMSB9fSwKLSB7MTYsIDB4ODIzMCwgMCwgezB4ZTAsMHgwYiwweDdhLDB4MGEsMHgxZSwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZTEsMHgwYSwweDQ4LDB4MDIsMHhjZSwweDQwLDB4OTUgfX0sCi0gezE2LCAweDgyNDAsIDAsIHsweDkwLDB4MjksMHhlNCwweDA4LDB4NTgsMHgwMiwweDlhLDB4MDAsMHhiNywweDg4LDB4MjEsMHhlMCwweDA5LDB4NTgsMHgwMiwweDVjIH19LAotIHsxNiwgMHg4MjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NGEsMHgwMCwweDBjLDB4MDAsMHhmMCwweDgwLDB4MzgsMHhjNCB9fSwKLSB7MTYsIDB4ODI2MCwgMCwgezB4MGMsMHgyNSwweDAzLDB4OGMsMHgyMCwweDkzLDB4MDAsMHgzOCwweGM0LDB4MGYsMHhiMCwweDAzLDB4MGMsMHg4MCwweGQzLDB4MDAgfX0sCi0gezE2LCAweDgyNzAsIDAsIHsweDM0LDB4YzAsMHgwZCwweDA0LDB4MTMsMHhjYywweDA4LDB4OTksMHgwMCwweDJhLDB4YzAsMHgwZSwweDIxLDB4MDMsMHg4OCwweDA0IH19LAotIHsxNiwgMHg4MjgwLCAwLCB7MHhmMywweDAwLDB4MzgsMHhjMCwweDBjLDB4MTEsMHg4MywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODI5MCwgMCwgezB4NDIsMHgxNSwweGJjLDB4MDAsMHhmNCwweDAwLDB4M2YsMHhjMywweDBlLDB4YzAsMHgwMywweDFjLDB4MDAsMHhhZiwweDRhLDB4N2YgfX0sCi0gezE2LCAweDgyYTAsIDAsIHsweGM0LDB4MGYsMHhiMiwweDAzLDB4ZmQsMHgwMSwweGVmLDB4MTAsMHgzZiwweDg0LDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGU5IH19LAotIHsxNiwgMHg4MmIwLCAwLCB7MHgwMCwweDM3LDB4YzIsMHgwZSwweGYxLDB4NDcsMHg3YywweDAwLDB4ZjcsMHgwMCwweDNkLDB4YzAsMHgwZiwweDUwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ODJjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGFhLDB4MTUsMHhlYywweDA4LDB4ZjgsMHgwMCwweDNlLDB4Y2EgfX0sCi0gezE2LCAweDgyZDAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVmLDB4MjEsMHhmYiwweDgwLDB4N2EsMHg0MCwweDhmLDB4YjIsMHhhMSwweDJmLDB4MDAsMHhjYiwweDYwIH19LAotIHsxNiwgMHg4MmUwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHhhMCwweGU5LDB4MzAsMHgzMiwweGMwLDB4MmQsMHhiMCwweDAzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4ODJmMCwgMCwgezB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzMDAsIDAsIHsweGM4LDB4OTEsMHg5ZCwweDAwLDB4YjQsMHgwMSwweDJkLDB4YzgsMHgwYiwweDcwLDB4MDIsMHhjYywweDgwLDB4OGYsMHgyMCwweDIxIH19LAotIHsxNiwgMHg4MzEwLCAwLCB7MHhjMCwweDhiLDB4NzYsMHgwMywweDVkLDB4MDAsMHg4NywweDBhLDB4MmQsMHhjMCwweDBiLDB4NDAsMHgyMiwweGZkLDB4MDAsMHg4ZCB9fSwKLSB7MTYsIDB4ODMyMCwgMCwgezB4MTAsMHgyMywweGM4LDB4MDgsMHg1MCwweDEyLDB4ZDQsMHgwMCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweDgzMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4OWUsMHgwMCwweGI0LDB4ODAsMHgyZCwweGUwIH19LAotIHsxNiwgMHg4MzQwLCAwLCB7MHgwYiwweDdjLDB4MDIsMHhkZSwweDQwLDB4YTcsMHg4MiwweDJkLDB4ZTAsMHgwYiwweDNhLDB4MDIsMHg4ZSwweDAwLDB4ODcsMHg5MCB9fSwKLSB7MTYsIDB4ODM1MCwgMCwgezB4MmQsMHhlMCwweDBiLDB4NTgsMHgwMiwweDVlLDB4MDAsMHhhNSwweGEyLDB4NjUsMHhlMCwweDA4LDB4NjgsMHg4MiwweGRhLDB4MDAgfX0sCi0gezE2LCAweDgzNjAsIDAsIHsweDk1LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg3OCwweDAyLDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MzcwLCAwLCB7MHgwOCwweDg0LDB4Y2MsMHgwMCwweGIwLDB4MDksMHgyYywweGMwLDB4MGIsMHgzOCwweDAyLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ODM4MCwgMCwgezB4YzAsMHgwYiwweDMwLDB4NDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4YTAsMHgwYiwweDA0LDB4MDIsMHhjYywweDAwLDB4ODEgfX0sCi0gezE2LCAweDgzOTAsIDAsIHsweDAwLDB4YTAsMHhjMCwweDA4LDB4YjAsMHgwNiwweGNmLDB4ODAsMHhiMywweDEwLDB4MmMsMHhjNCwweDBiLDB4MzEsMHgwMiwweGMzIH19LAotIHsxNiwgMHg4M2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhmZSwweDgwLDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4ODNiMCwgMCwgezB4MGYsMHhlOCwweDEzLDB4ZTgsMHgwMCwweGVhLDB4MDAsMHgzZiwweGIwLDB4MGYsMHhhMCwweDAzLDB4YTgsMHgwMiwweGMyLDB4MDAgfX0sCi0gezE2LCAweDgzYzAsIDAsIHsweDJmLDB4ODgsMHgwZiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZWEsMHgwMCwweDM2LDB4MDAsMHgwYywweGUwLDB4MDMsMHhmOSwweDIwIH19LAotIHsxNiwgMHg4M2QwLCAwLCB7MHhkZSwweDgwLDB4M2YsMHhhMCwweDRmLDB4YTgsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODNlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDEwLDB4M2MsMHgxMCwweDBmLDB4ODAsMHg4MywweGUxLDB4MDAsMHhlOCwweDAwLDB4MjIgfX0sCi0gezE2LCAweDgzZjAsIDAsIHsweDA2LDB4MGYsMHgwMCwweDEzLDB4ZTAsMHgwMSwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDgzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHg4NDAwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZiwweDg0LDB4MjMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MTAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ODQxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNCwweDAwLDB4ZjksMHgxMCwweDNlLDB4NDQgfX0sCi0gezE2LCAweDg0MjAsIDAsIHsweDBkLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgxMiwweDI0LDB4MDAsMHhmOSwweDEwIH19LAotIHsxNiwgMHg4NDMwLCAwLCB7MHgzMiwweDQwLDB4OGYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGM5LDB4MDAsMHgzMiwweDEwLDB4MGMsMHg5YywweDAxLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ODQ0MCwgMCwgezB4ZjksMHgxMCwweDNlLDB4NzAsMHgwZiwweDkwLDB4MDIsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg0NTAsIDAsIHsweDgwLDB4MTQsMHg2NCwweDAwLDB4YjksMHhjMCwweDJlLDB4NDgsMHgwOCwweDkxLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlIH19LAotIHsxNiwgMHg4NDYwLCAwLCB7MHg0MCwweDBkLDB4OTAsMHgwMywweDY3LDB4MDAsMHhiOSwweDgwLDB4MmEsMHg2MCwweDBiLDB4OTksMHgwMiwweGU0LDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4ODQ3MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MmMsMHg5MCwweDEyLDB4MjUsMHgyMCwweGI5LDB4NDgsMHgyZSwweDUyLDB4MGIsMHg5NCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweDg0ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHg4NDkwLCAwLCB7MHg2OCwweDkwLDB4NDYsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4YzAsMHgwOCwweDkwLDB4MDIsMHhhNCwweDYwLDB4YjksMHgwMCB9fSwKLSB7MTYsIDB4ODRhMCwgMCwgezB4MjIsMHg0OCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDIsMHg4OSwweDAwLDB4YTAsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE2LDB4MTAgfX0sCi0gezE2LCAweDg0YjAsIDAsIHsweGI5LDB4MDAsMHgwZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NGMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweGIxLDB4MDAsMHgyYywweDQ4LDB4MDgsMHgxMCwweDAyLDB4YzQsMHg4NCwweGIxLDB4MjAsMHgyYyB9fSwKLSB7MTYsIDB4ODRkMCwgMCwgezB4NDAsMHgwOSwweDEyLDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweDI4LDB4NDAsMHgwYiwweDEwLDB4MDIsMHhjNCwweDgwLDB4ODkgfX0sCi0gezE2LCAweDg0ZTAsIDAsIHsweDIwLDB4MjAsMHg0MCwweDRiLDB4MTIsMHgwYSwweDg0LDB4ODQsMHhiMSwweDIwLDB4MmMsMHg0OCwweDhiLDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHg4NGYwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhiYSwweDAwLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4ODUwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTgsMHgwOCwweGY4LDB4NTAsMHgzZSwweDE0LDB4MGMsMHg4NSwweDAzLDB4MjAsMHgwMCwweGI4LDB4MDAgfX0sCi0gezE2LCAweDg1MTAsIDAsIHsweDMyLDB4MDAsMHgwZiwweGEwLDB4MDMsMHhlMSwweDQwLDB4YzgsMHg1MCwweDMyLDB4MTQsMHgwYywweGE1LDB4MDMsMHhhMSwweDQwIH19LAotIHsxNiwgMHg4NTIwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4YTAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODUzMCwgMCwgezB4ODgsMHgwZCwweGU0LDB4NDAsMHhmZCwweDAwLDB4M2UsMHg0NCwweDBmLDB4ZDAsMHgwMywweGU0LDB4NDAsMHhiOSwweDExLDB4M2YgfX0sCi0gezE2LCAweDg1NDAsIDAsIHsweDQwLDB4MGYsMHg5MSwweDAzLDB4NjQsMHg0NCwweGY5LDB4MTAsMHgzZiwweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGZkIH19LAotIHsxNiwgMHg4NTUwLCAwLCB7MHgxMCwweDNmLDB4MTAsMHg4YywweGQxLDB4MDMsMHg3NCwweDQwLDB4ZmYsMHgxMCwweDNmLDB4NDQsMHgwZiwweGQwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4ODU2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHg2NiwweDIwLDB4ZWQsMHgwMCwweDMzLDB4NjkgfX0sCi0gezE2LCAweDg1NzAsIDAsIHsweDRkLDB4NTAsMHg0MywweDU2LDB4MDAsMHhmOSwweGEwLDB4MzQsMHg0MCwweDBmLDB4OWEsMHgwYiwweDM0LDB4MDAsMHhkZCwweDgwIH19LAotIHsxNiwgMHg4NTgwLCAwLCB7MHgzYiwweDQwLDB4MGIsMHg1MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweGUwLDB4MGUsMHhkMCwweDAzLDB4ZjQsMHgwMCB9fSwKLSB7MTYsIDB4ODU5MCwgMCwgezB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwYywweGQwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1YTAsIDAsIHsweDc4LDB4MTAsMHhlMiwweDgwLDB4ODgsMHgwNCwweDIyLDB4MTAsMHgwYiwweDgwLDB4MDIsMHgyMCwweDA5LDB4YjgsMHhmMCwweDIyIH19LAotIHsxNiwgMHg4NWIwLCAwLCB7MHgwMCwweDBiLDB4OGUsMHgxMiwweGEwLDB4MDAsMHhiOCwweDUyLDB4MmUsMHgwMCwweDBiLDB4ODAsMHgwMiwweGUwLDB4MDUsMHhiOCB9fSwKLSB7MTYsIDB4ODVjMCwgMCwgezB4YWEsMHgyMywweDNlLDB4MGQsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzYSwweDAwLDB4MDgsMHg4MCwweDAyLDB4Y2UgfX0sCi0gezE2LCAweDg1ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgyMCwweGE5LDB4MDAsMHhhNCwweDQ0IH19LAotIHsxNiwgMHg4NWUwLCAwLCB7MHgwOSwweDkwLDB4MDIsMHhjNSwweDAwLDB4YTEsMHgwOCwweDJjLDB4NDAsMHgwYiwweDExLDB4ODIsMHgwNCwweDAwLDB4YjEsMHgwMCB9fSwKLSB7MTYsIDB4ODVmMCwgMCwgezB4MjgsMHg0MCwweDBhLDB4MTAsMHg0MiwweGM0LDB4MDAsMHhiNSwweDAwLDB4YTEsMHg0MCwweDA4LDB4MTAsMHgwMiwweGM0LDB4MDAgfX0sCi0gezE2LCAweDg2MDAsIDAsIHsweGIxLDB4MDEsMHgyYywweDQwLDB4MDgsMHgxMCwweDIwLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NjEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDQsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAwLDB4YWMsMHgwMCwweDM5LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ODYyMCwgMCwgezB4NDAsMHgwYiwweDEwLDB4MDIsMHhhNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NDgsMHgwYiwweDkwLDB4MTIsMHhlNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweDg2MzAsIDAsIHsweDAwLDB4MjEsMHg2MCwweDA5LDB4OTIsMHgyMiwweGU0LDB4MjgsMHhiOSwweDAwLDB4MGEsMHg1MCwweDA4LDB4OTAsMHgwNiwweGM2IH19LAotIHsxNiwgMHg4NjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhlOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4ODY1MCwgMCwgezB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQ4LDB4MGYsMHg5MCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweDg2NjAsIDAsIHsweDNhLDB4NzgsMHgwZSwweDk4LDB4MDMsMHhlNCwweDAwLDB4YjksMHgwMCwweGIyLDB4NDAsMHgwZSwweDkyLDB4MjMsMHhlNiwweDAwIH19LAotIHsxNiwgMHg4NjcwLCAwLCB7MHhiOSwweDUwLDB4M2UsMHg3MCwweDJjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODY4MCwgMCwgezB4NjgsMHgwMSwweDg0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDRmLDB4OWMsMHgyMywweDY0LDB4MDAsMHhmOSwweDA0LDB4MzYgfX0sCi0gezE2LCAweDg2OTAsIDAsIHsweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDYwLDB4MGYsMHg5MiwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHg4NmEwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4ODMsMHhlNCwweDQ0LDB4ZjksMHgwMCwweDc4LDB4NjQsMHgwZiwweDkwLDB4MDMsMHhkYSB9fSwKLSB7MTYsIDB4ODZiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweDg2YzAsIDAsIHsweDBmLDB4ODIsMHgwMywweGEwLDB4NDAsMHhlOCwweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweDIwLDB4YzAsMHhjOCwweDgwIH19LAotIHsxNiwgMHg4NmQwLCAwLCB7MHgzZSwweDEyLDB4MGYsMHg4MCwweDAzLDB4NjAsMHgwMCwweDdjLDB4MDAsMHgzMywweDAwLDB4MGQsMHg4MCwweDEzLDB4ZTAsMHgxMCB9fSwKLSB7MTYsIDB4ODZlMCwgMCwgezB4YzgsMHg2NCwweDNlLDB4MDgsMHgwYywweDgyLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2ZjAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YjYsMHhlMCwweDBmLDB4YTAsMHgwYiwweDYwLDB4ODIsMHgzOCwweDAwLDB4YWEsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4NzAwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHg0MiwweGJhLDB4MDAsMHhhZSwweDIwLDB4MmYsMHg4OCwweDBiLDB4ZTUsMHgwMiwweDI4LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ODcxMCwgMCwgezB4ZDgsMHgzNywweDgwLDB4MDgsMHhlYywweDAyLDB4ZjgsMHgwNCwweDhlLDB4MDAsMHgyZiwweDkwLDB4MGQsMHhlMCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweDg3MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIwLDB4MjQsMHgyYywweDYwIH19LAotIHsxNiwgMHg4NzMwLCAwLCB7MHgwYiwweDM4LDB4MDIsMHg4ZSwweDgwLDB4YWIsMHgwMCwweDJjLDB4YzAsMHgwOSwweDMwLDB4MDIsMHgwZCwweDA4LDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4ODc0MCwgMCwgezB4NmMsMHhkMCwweDBiLDB4MzQsMHgwMiwweGNjLDB4MDAsMHhiOCwweGMwLDB4MjAsMHgwMCwweDQ4LDB4MzQsMHgxMiwweGNjLDB4NDAgfX0sCi0gezE2LCAweDg3NTAsIDAsIHsweDgzLDB4MDAsMHgyYywweGUwLDB4MGEsMHgzNSwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NzYwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg0MCwweGI3LDB4MDAsMHgyZCwweDAyLDB4OGIsMHg2MCwweDAyLDB4OWUsMHgwMCwweDg3LDB4MjAsMHgyZiB9fSwKLSB7MTYsIDB4ODc3MCwgMCwgezB4ZTAsMHgwOCwweDcyLDB4MDIsMHg5ZSwweDAwLDB4YTQsMHgwMCwweDJkLDB4YzAsMHgwYiwweGY4LDB4MDIsMHg5YywweGMwLDB4YjMgfX0sCi0gezE2LCAweDg3ODAsIDAsIHsweDAyLDB4YTUsMHhjMCwweDA4LDB4NTAsMHg4NiwweGZlLDB4MDAsMHg4NywweDAwLDB4MmYsMHhkMCwweDA5LDB4NzAsMHgwMiwweGU4IH19LAotIHsxNiwgMHg4NzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhmNCwweDgwLDB4M2QsMHgyMCB9fSwKLSB7MTYsIDB4ODdhMCwgMCwgezB4MGYsMHg1OCwweDAzLDB4OWUsMHgwMCwweDY3LDB4ODAsMHgzZCwweGY4LDB4MGQsMHgzOCwweDAyLDB4MWEsMHgxMCwweDQ0LDB4ODAgfX0sCi0gezE2LCAweDg3YjAsIDAsIHsweDNkLDB4ZTAsMHgwZiwweDU4LDB4MDMsMHhkZSwweDIwLDB4YjQsMHg4MCwweDMzLDB4YTAsMHgyYywweDY4LDB4MDMsMHhkNiwweDAwIH19LAotIHsxNiwgMHg4N2MwLCAwLCB7MHhjNywweDgxLDB4M2QsMHhlMCwweDBjLDB4NzgsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODdkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDgsMHhmOCwweDAwLDB4M2UsMHgwMCwweDhmLDB4ODAsMHgwMywweDZjLDB4MDAsMHgzYiwweDEyLDB4M2UgfX0sCi0gezE2LCAweDg3ZTAsIDAsIHsweGNhLDB4MGYsMHhiNSwweDAzLDB4YzgsMHgwMCwweGY4LDB4MDQsMHg3ZSwweGMwLDB4MGYsMHg5MCwweDAzLDB4NmMsMHg4MCwweGZiIH19LAotIHsxNiwgMHg4N2YwLCAwLCB7MHgwNCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MjMsMHhjOCwweDAwLDB4ZjksMHgwMSwweDNjLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ODgwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4YWMsMHg5MCwweDMxLDB4NDggfX0sCi0gezE2LCAweDg4MTAsIDAsIHsweDA4LDB4ZjgsMHgwMywweGZhLDB4MDAsMHhjZiwweDgwLDB4M2YsMHhlMCwweDBjLDB4ZmMsMHgxMywweDNlLDB4MDQsMHhmYywweDgwIH19LAotIHsxNiwgMHg4ODIwLCAwLCB7MHgzNSwweGEwLDB4MGMsMHg3OCwweDAzLDB4YmUsMHgwMCwweGRmLDB4ODAsMHgzYiwweDIwLDB4MjQsMHhmOCwweDAzLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4ODgzMCwgMCwgezB4Y2YsMHg4MCwweDMzLDB4ZTAsMHgwMywweGY5LDB4MDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4NDAsIDAsIHsweGE4LDB4MTEsMHhiYywweDAwLDB4ODAsMHgwMCwweDAxLDB4MDAsMHgwOCwweDcyLDB4MDIsMHhkMCwweDAwLDB4ODcsMHgwMCwweDJkIH19LAotIHsxNiwgMHg4ODUwLCAwLCB7MHhjOCwweDBhLDB4ZjAsMHgwMiwweDk4LDB4NDAsMHhmNSwweDAwLDB4NjEsMHg0MSwweDAwLDB4NzQsMHgwMiwweDFjLDB4MDAsMHhiNCB9fSwKLSB7MTYsIDB4ODg2MCwgMCwgezB4MDAsMHgyMSwweGM4LDB4MDgsMHg2MCwweDAyLDB4M2UsMHgyMCwweDg2LDB4MDgsMHgyMSwweGQ4LDB4MGYsMHg1MCwweDAyLDB4ZWEgfX0sCi0gezE2LCAweDg4NzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAwLDB4OWMsMHgwMCwweGE0LDB4MDAsMHgyMSwweDAwIH19LAotIHsxNiwgMHg4ODgwLCAwLCB7MHgwOCwweDUwLDB4MDIsMHhkOCwweDAwLDB4OTcsMHgwMCwweDJkLDB4YzAsMHg4OCwweDcxLDB4MDIsMHgxNCwweDAwLDB4YjAsMHgwMCB9fSwKLSB7MTYsIDB4ODg5MCwgMCwgezB4MjUsMHg5MCwweDA4LDB4YzAsMHg4MiwweDljLDB4NDAsMHg5MywweDAwLDB4MjksMHhhMSwweDg4LDB4NjAsMHgwMiwweDE0LDB4MTIgfX0sCi0gezE2LCAweDg4YTAsIDAsIHsweDg3LDB4NDAsMHgyOSwweDQwLDB4MGIsMHg2MCwweDAyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OGIwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwMCwweDgwLDB4ZDAsMHhhMCwweDAwLDB4MDgsMHgxYywweDAyLDB4YzAsMHgwMCwweDkzLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4ODhjMCwgMCwgezB4ZDAsMHgwYSwweGIwLDB4MjYsMHg4MCwweDAwLDB4YjMsMHgwMCwweDI0LDB4ZTQsMHgwOCwweDA4LDB4MDIsMHg4YywweDAwLDB4YjAgfX0sCi0gezE2LCAweDg4ZDAsIDAsIHsweDAyLDB4MDIsMHg0MSwweDA4LDB4MDgsMHgwMiwweDAzLDB4MDEsMHg4MSwweDAwLDB4MjgsMHg0MiwweDFhLDB4MDAsMHg0MiwweGQ4IH19LAotIHsxNiwgMHg4OGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjgsMHgxNSwweGJjLDB4MDAsMHhlOCwweGMwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4ODhmMCwgMCwgezB4MGMsMHhiNSwweDAzLDB4ZTQsMHgwMCwweDlmLDB4MDAsMHgzZCwweGUwLDB4MGMsMHhmMCwweDBiLDB4MjQsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweDg5MDAsIDAsIHsweDM2LDB4ZTAsMHgwYywweDI1LDB4MDMsMHhiYywweDA1LDB4ZDgsMHgwMiwweDJhLDB4MDAsMHgwOCwweGJhLDB4MDIsMHgyYSwweDAwIH19LAotIHsxNiwgMHg4OTEwLCAwLCB7MHhjMSwweDAyLDB4M2EsMHg1MCwweDhiLDB4OTAsMHgwMywweGVlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODkyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA4LDB4M2UsMHg4MCwweDBmLDB4YTEsMHgwMywweGVjLDB4MDQsMHhlYiwweDAyLDB4MmUgfX0sCi0gezE2LCAweDg5MzAsIDAsIHsweGM2LDB4MGYsMHhiMCwweDE3LDB4NDQsMHgwMCwweGU4LDB4MDAsMHgzYSwweDQwLDB4MGYsMHg4MCwweDAyLDB4NmMsMHgwMCwweGZiIH19LAotIHsxNiwgMHg4OTQwLCAwLCB7MHgwMCwweDNlLDB4ZTAsMHgwZiwweDkwLDB4OTMsMHhlMSwweDAwLDB4ZDksMHgwMCwweDI2LDB4NzAsMHg4ZiwweDkwLDB4MDEsMHhlMSB9fSwKLSB7MTYsIDB4ODk1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhmYywweDAwLDB4ZmMsMHgwMywweDM3LDB4MjQgfX0sCi0gezE2LCAweDg5NjAsIDAsIHsweDBkLDB4ZjgsMHgwMywweGUwLDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMSwweDhkLDB4ZjAsMHgwYiwweDM4LDB4MDAsMHhjYywweDAwIH19LAotIHsxNiwgMHg4OTcwLCAwLCB7MHgzZiwweGMwLDB4MGYsMHhmYSwweDAzLDB4M2MsMHgwYywweGZjLDB4MDQsMHgzYiwweDgwLDB4MGMsMHhhMCwweDAzLDB4OTQsMHgyMCB9fSwKLSB7MTYsIDB4ODk4MCwgMCwgezB4ODksMHgwNSwweDNiLDB4MDAsMHg0ZiwweGQwLDB4MjMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg5OTAsIDAsIHsweDgwLDB4MDQsMHg2YywweDAwLDB4YjAsMHgwNiwweDIwLDB4MTMsMHg4OCwweGE4LDB4MDIsMHhlYiwweDAwLDB4YmIsMHgwMCwweDJlIH19LAotIHsxNiwgMHg4OWEwLCAwLCB7MHhjMCwweDA4LDB4YjAsMHgwMiwweDJhLDB4MDAsMHhhOCwweDgwLDB4MmUsMHhlMCwweDBiLDB4OTQsMHgxYSwweDJjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4ODliMCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MjksMHg5OCwweDAyLDB4ZTIsMHgwMCwweGE5LDB4ODQsMHgyMiwweDIwLDB4MGIsMHg5OCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweDg5YzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI4LDB4MDAsMHgyMiwweDAwIH19LAotIHsxNiwgMHg4OWQwLCAwLCB7MHgwOSwweDgyLDB4MDIsMHhlNiwweDAwLDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDIsMHgyNiwweDAwLDB4ODgsMHg4MCB9fSwKLSB7MTYsIDB4ODllMCwgMCwgezB4MmUsMHhhMCwweDBiLDB4YTAsMHgwMiwweDJjLDB4MDAsMHhiMywweDAwLDB4MmEsMHgwMCwweDA5LDB4OTgsMHgwMiwweGVhLDB4MjAgfX0sCi0gezE2LCAweDg5ZjAsIDAsIHsweGE5LDB4ODAsMHgyYSwweDYwLDB4OWIsMHg5OCwweDgyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YTAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGI4LDB4MDAsMHgyMCwweDAwLDB4MDksMHgwOCwweDAyLDB4YzQsMHgwMCwweGIzLDB4MDAsMHgyNiB9fSwKLSB7MTYsIDB4OGExMCwgMCwgezB4YzAsMHgwMCwweDMwLDB4MDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDAwLDB4MDIsMHgwYywweDAwLDB4YjAgfX0sCi0gezE2LCAweDhhMjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBiLDB4MDAsMHgwMiwweGM4LDB4ODAsMHhhOCwweDAwLDB4MjAsMHg0MSwweDBiLDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHg4YTMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MTAsMHhmOCwweDUwLDB4YjIsMHgwMCB9fSwKLSB7MTYsIDB4OGE0MCwgMCwgezB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGZiLDB4MDAsMHgzZCwweGMwLDB4MGQsMHhmMCwweDEzLDB4MjQsMHgwMiwweGM4LDB4MDYgfX0sCi0gezE2LCAweDhhNTAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgzYywweDA0LDB4ZmIsMHgwMCwweDc4LDB4ODAsMHgwYywweGEwLDB4MDMsMHhlNCwweDAwIH19LAotIHsxNiwgMHg4YTYwLCAwLCB7MHhlOSwweDAwLDB4MWEsMHg0MCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGE3MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmNCwweDIwLDB4M2YsMHgwMCwweDBlLDB4YzAsMHgwMiwweGYwLDB4MDEsMHhmZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweDhhODAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDIzLDB4ZjAsMHgwMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZjIH19LAotIHsxNiwgMHg4YTkwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHg5YywweGMwLDB4MDMsMHhmMCwweDQwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweGQwLDB4NDMsMHhlOCB9fSwKLSB7MTYsIDB4OGFhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmMCwweDAwLDB4ZWQsMHgyMywweGI3LDB4NDggfX0sCi0gezE2LCAweDhhYjAsIDAsIHsweDBjLDB4ZTEsMHhjMywweDdjLDB4YzAsMHhkZCwweDgwLDB4MzcsMHhlMCwweDBmLDB4Y2IsMHgwMywweGZlLDB4MDgsMHhmYywweDI4IH19LAotIHsxNiwgMHg4YWMwLCAwLCB7MHgzZiwweGYwLDB4MWMsMHhmYiwweDIzLDB4N2MsMHgwMSwweGZmLDB4MTQsMHg3NywweGUyLDB4NGYsMHhlOCwweDIzLDB4N2MsMHgwMCB9fSwKLSB7MTYsIDB4OGFkMCwgMCwgezB4YzQsMHg4MCwweDMzLDB4NDgsMHgyYywweGY4LDB4MjIsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhZTAsIDAsIHsweDgwLDB4MTAsMHhlMCwweGUwLDB4YzksMHhjMCwweDIyLDB4NWIsMHg4OCwweDk2LDB4MjIsMHgyZCwweDAwLDB4ODksMHgyMiwweDIyIH19LAotIHsxNiwgMHg4YWYwLCAwLCB7MHhjYSwweDBiLDB4OWUsMHgyMiwweGUyLDB4YTAsMHhiOSwweDYxLDB4MmMsMHhlMCwweDg4LDB4OWYsMHgwMiwweDNkLDB4ODUsMHhiZiB9fSwKLSB7MTYsIDB4OGIwMCwgMCwgezB4NjAsMHgyNiwweDUwLDB4NDgsMHhhMCwweDAyLDB4M2MsMHgwMCwweDg4LDB4MDAsMHgyMiwweDUwLDB4MDgsMHhiMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweDhiMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzAsMHg4MCwweGIxLDB4MTAsMHgyMCwweDQ0IH19LAotIHsxNiwgMHg4YjIwLCAwLCB7MHgwYiwweGIyLDB4MDIsMHhjZSwweGQwLDB4ODEsMHgwOCwweDJjLDB4YzAsMHgwYiwweDAxLDB4MDIsMHg4YywweDA4LDB4YjMsMHgwOCB9fSwKLSB7MTYsIDB4OGIzMCwgMCwgezB4MmMsMHhjOSwweDA4LDB4MTAsMHg2MiwweDhjLDB4NjAsMHhiMywweDMyLDB4MjQsMHg4MCwweDBhLDB4YTAsMHgwMiwweDZjLDB4MDMgfX0sCi0gezE2LCAweDhiNDAsIDAsIHsweDlhLDB4MDEsMHgyNiwweDQ0LDB4NDgsMHhiMCwweDQyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YjUwLCAwLCB7MHhjMCwweDE1LDB4YTQsMHhhMCwweDhiLDB4MDIsMHgyMiwweGUwLDB4MGIsMHhiMCwweDYyLDB4YWMsMHg5OCwweDk5LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4OGI2MCwgMCwgezB4YzIsMHgwYiwweDk4LDB4MDYsMHhlNCwweDAwLDB4YmIsMHgwMiwweDJlLDB4YzAsMHgwOCwweDkxLDB4NDIsMHgyYywweDEwLDB4YmIgfX0sCi0gezE2LCAweDhiNzAsIDAsIHsweDAwLDB4NmUsMHg4MCwweDBhLDB4ODAsMHgwMiwweDZjLDB4MDAsMHgxYiwweDAwLDB4MDYsMHg0MCwweDQ4LDB4YjgsMHgwYSwweDcwIH19LAotIHsxNiwgMHg4YjgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGU3LDB4MDAsMHhhMSwweDAwLDB4NzYsMHg3OCB9fSwKLSB7MTYsIDB4OGI5MCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTgsMHgxMCwweGQ5LDB4MDAsMHgzZSwweGQwLDB4NGIsMHg5ZSwweDEzLDB4YWMsMHgwOCwweGI4LDB4YTAgfX0sCi0gezE2LCAweDhiYTAsIDAsIHsweDdlLDB4YzYsMHgwOCwweGE4LDB4MDIsMHgyYywweDAxLDB4YmIsMHgwMCwweDI2LDB4MzAsMHg0ZSwweDIwLDB4MDMsMHg0YywweDE4IH19LAotIHsxNiwgMHg4YmIwLCAwLCB7MHg5OSwweDgwLDB4YjQsMHg0MCwweDRjLDB4M2EsMHgwMywweDQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGJjMCwgMCwgezB4ZTAsMHgwMSwweGIyLDB4MDAsMHhmZCwweGM1LDB4M2IsMHhjMCwweDRjLDB4ZDAsMHgwMywweDZhLDB4MDIsMHhlZCwweDA2LDB4MzMgfX0sCi0gezE2LCAweDhiZDAsIDAsIHsweGM0LDB4MGYsMHhkMCwweDUzLDB4ZjgsMHgwMCwweGZjLDB4OTAsMHg3ZiwweGMxLDB4MGYsMHg3OCwweDAzLDB4YmMsMHgwNCwweGZmIH19LAotIHsxNiwgMHg4YmUwLCAwLCB7MHgwMCwweDM3LDB4NjQsMHgwYywweGYxLDB4MDMsMHhhNCwweDAwLDB4ZWQsMHhhMSwweDNiLDB4NDAsMHgwYiwweGYwLDB4ODMsMHhiOCB9fSwKLSB7MTYsIDB4OGJmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDAwLDB4Y2IsMHgyMCwweDNlLDB4NzEgfX0sCi0gezE2LCAweDhjMDAsIDAsIHsweDBmLDB4YjMsMHgwMywweDk4LDB4MDIsMHhmYiwweDAyLDB4MzYsMHg0OCwweDBmLDB4OTAsMHgwMywweGVjLDB4MjAsMHhmOCwweDAwIH19LAotIHsxNiwgMHg4YzEwLCAwLCB7MHgzZSwweGNjLDB4MDQsMHg4NCwweDAzLDB4MmMsMHgwMCwweGRiLDB4MDQsMHgzYywweDEwLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHgwMCB9fSwKLSB7MTYsIDB4OGMyMCwgMCwgezB4OWIsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjMzAsIDAsIHsweDg4LDB4MDUsMHgyYywweDAyLDB4OGIsMHg0OCwweDJlLDB4ZTAsMHgwYiwweDM0LDB4MDMsMHg2YiwweDAwLDB4OGIsMHhmNSwweDIyIH19LAotIHsxNiwgMHg4YzQwLCAwLCB7MHhmMiwweDBiLDB4OWMsMHgwMywweGFmLDB4MDAsMHhiOCwweDUwLDB4MmUsMHhjMCwweDA4LDB4YjAsMHgwMiwweDdjLDB4MDAsMHg4ZiB9fSwKLSB7MTYsIDB4OGM1MCwgMCwgezB4MDAsMHgwZSwweDVkLDB4MGIsMHg4MCwweDAyLDB4ZjUsMHg0MCwweDgzLDB4NTAsMHgyMywweDU0LDB4MDgsMHg5YywweDAyLDB4ZTYgfX0sCi0gezE2LCAweDhjNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA0LDB4NGMsMHgwMCwweDgxLDB4ODEsMHgyZSwweDQwIH19LAotIHsxNiwgMHg4YzcwLCAwLCB7MHgwMywweDJjLDB4MDIsMHgwNCwweDMzLDB4OTksMHgwMCwweDIwLDB4ZjAsMHg0YSwweDI4LDB4ODAsMHhjYywweDQwLDB4YjAsMHgwMCB9fSwKLSB7MTYsIDB4OGM4MCwgMCwgezB4MjYsMHgxMCwweDA4LDB4MjAsMHgwMiwweDRjLDB4MDAsMHg4MywweDAwLDB4MmMsMHhjMCwweDA5LDB4MjAsMHgwMiwweGNjLDB4MDAgfX0sCi0gezE2LCAweDhjOTAsIDAsIHsweGEwLDB4MDIsMHgyOCwweDQwLDB4MDgsMHgwOCwweDAyLDB4N2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4Y2EwLCAwLCB7MHgyMCwweDAxLDB4MGEsMHgwMCwweDg1LDB4ODAsMHgyZCwweGY4LDB4MGIsMHhkYSwweDAyLDB4ZDYsMHg0MCwweDg1LDB4YTAsMHgyMSB9fSwKLSB7MTYsIDB4OGNiMCwgMCwgezB4ZTAsMHgwYiwweDQ4LDB4MDYsMHg5MiwweDA0LDB4YjUsMHg4MCwweDJkLDB4MjEsMHgwOCwweDAwLDB4MDIsMHg0ZSwweDAwLDB4ODcgfX0sCi0gezE2LCAweDhjYzAsIDAsIHsweGE0LDB4MmQsMHg2MCwweDBiLDB4NjgsMHgwMiwweGRlLDB4YzIsMHhhZCwweDkwLDB4MmIsMHg2MCwweDI4LDB4NTgsMHg4MiwweGRjIH19LAotIHsxNiwgMHg4Y2QwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDRjLDB4NDAsMHhjMywweDEwLDB4MmMsMHg2YyB9fSwKLSB7MTYsIDB4OGNlMCwgMCwgezB4MGYsMHgzMCwweDAzLDB4ODYsMHhhMiwweGY5LDB4YjAsMHhiMCwweGUwLDB4MGYsMHgyOSwweDgzLDB4Y2UsMHg0NCwweGYzLDB4ODAgfX0sCi0gezE2LCAweDhjZjAsIDAsIHsweDNjLDB4YWMsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4YzMsMHgwMCwweDNjLDB4ZDUsMHgwZiwweDIwLDB4MDMsMHhjZSwweGMxIH19LAotIHsxNiwgMHg4ZDAwLCAwLCB7MHhlMCwweDEwLDB4YjgsMHg0MCwweDBjLDB4MDAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGQxMCwgMCwgezB4YzAsMHgxZCwweGJjLDB4MDAsMHhlYiwweDAwLDB4M2UsMHhjYywweDBmLDB4MzIsMHgwMywweDY0LDB4MDgsMHhmOSwweDAwLDB4M2IgfX0sCi0gezE2LCAweDhkMjAsIDAsIHsweDkwLDB4MGYsMHhmMCwweDQzLDB4ZTQsMHg0MCwweGZiLDB4MzQsMHgzZiwweDgxLDB4MDcsMHhkMSwweDAzLDB4YWQsMHgyMCwweGViIH19LAotIHsxNiwgMHg4ZDMwLCAwLCB7MHgyMCwweDdmLDB4YzQsMHgwZiwweGUxLDB4MDMsMHhmYywweDUwLDB4Y2QsMHgxMCwweDM1LDB4NDAsMHgwZiwweGQwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4OGQ0MCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDA0LDB4ZmQsMHgwNCwweDNkLDB4NDAgfX0sCi0gezE2LCAweDhkNTAsIDAsIHsweDJkLDB4MzAsMHgwMiwweDNjLDB4MDAsMHhjOSwweDAxLDB4M2UsMHhjMCwweDRmLDB4YjgsMHg0MywweGVjLDB4MTAsMHhmYiwweDAwIH19LAotIHsxNiwgMHg4ZDYwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHhhMCwweDIzLDB4ZWMsMHg4MCwweGNiLDB4MzYsMHgzMiwweDgwLDB4NGQsMHhhOCwweDAzLDB4MmMsMHgxMCB9fSwKLSB7MTYsIDB4OGQ3MCwgMCwgezB4Y2IsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHg2YSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhkODAsIDAsIHsweGM4LDB4MTEsMHg5MCwweDA4LDB4YjUsMHgwMCwweDJkLDB4YzAsMHgwOCwweDUwLDB4MDIsMHhiYywweDAyLDB4ODUsMHgwNCwweDJkIH19LAotIHsxNiwgMHg4ZDkwLCAwLCB7MHhjMCwweDhlLDB4NjAsMHgwNiwweGQ4LDB4MDQsMHhiNywweDA0LDB4MjEsMHg0MCwweDBiLDB4NzAsMHgwMiwweGZjLDB4ODAsMHhhZiB9fSwKLSB7MTYsIDB4OGRhMCwgMCwgezB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDYsMHg0MCwweDg3LDB4MDAsMHgyMSwweDUwLDB4MDgsMHg1MCwweDAyLDB4MzIgfX0sCi0gezE2LCAweDhkYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgyMCwweGI3LDB4ODAsMHgyYiwweDcwIH19LAotIHsxNiwgMHg4ZGMwLCAwLCB7MHgwOCwweGY4LDB4MDYsMHgxZSwweDAwLDB4ODcsMHg4MCwweDJkLDB4ZTAsMHgwYiwweDcwLDB4MzIsMHhkZSwweDA0LDB4MzcsMHg4NCB9fSwKLSB7MTYsIDB4OGRkMCwgMCwgezB4MjUsMHhlMCwweDBiLDB4NjgsMHgwNiwweGRlLDB4ODAsMHg4NywweDgwLDB4MjEsMHhhMSwweDFiLDB4NjgsMHgwMiwweDFlLDB4NDAgfX0sCi0gezE2LCAweDhkZTAsIDAsIHsweDlmLDB4ODAsMHgyMCwweDYwLDB4MDgsMHg1OCwweDAyLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZGYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgyMCwweGIzLDB4MDAsMHgyYywweDgwLDB4ODgsMHhiNCwweDIyLDB4OGQsMHgwMCwweDgzLDB4OTAsMHgyYyB9fSwKLSB7MTYsIDB4OGUwMCwgMCwgezB4YzAsMHgwYSwweDM4LDB4MDIsMHhjZSwweDA4LDB4YmIsMHgyMCwweDI0LDB4ZDAsMHgwYiwweGIzLDB4MDIsMHhjYywweDAwLDB4YTMgfX0sCi0gezE2LCAweDhlMTAsIDAsIHsweDAwLDB4NjAsMHhkMiwweDBiLDB4MjAsMHgyYSwweDA0LDB4MDgsMHg5MywweDUwLDB4MjAsMHg0MCwweDA4LDB4MTcsMHgwYSwweDAyIH19LAotIHsxNiwgMHg4ZTIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJhLDB4MDAsMHhiYSwweGEwLDB4M2YsMHg4NCB9fSwKLSB7MTYsIDB4OGUzMCwgMCwgezB4MWMsMHhlMCwweDBiLDB4MzgsMHg0MCwweDhlLDB4MDYsMHgyZSwweDgwLDB4MGIsMHhlMywweDAzLDB4ZjgsMHg4MCwweGZlLDB4ZTQgfX0sCi0gezE2LCAweDhlNDAsIDAsIHsweGI3LDB4OTAsMHgwZiwweGVjLDB4MDIsMHhlOCwweDAwLDB4OGEsMHgwMCwweGEzLDB4YTAsMHgwOSwweGU0LDB4MDMsMHgyYSwweDAyIH19LAotIHsxNiwgMHg4ZTUwLCAwLCB7MHhkZSwweGMwLDB4ZjMsMHg4MCwweDBjLDB4NmMsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGU2MCwgMCwgezB4NDgsMHgwMSwweGUwLDB4MDAsMHhmOCwweDQwLDB4M2UsMHgwMCwweDBmLDB4ODQsMHgxMywweGUwLDB4MDAsMHhmOCwweDAwLDB4MmUgfX0sCi0gezE2LCAweDhlNzAsIDAsIHsweDMwLDB4MGEsMHg4NCwweDAzLDB4ZTAsMHgwNCwweGY4LDB4MDAsMHgzYSwweDAyLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHg4ZTgwLCAwLCB7MHgwMCwweDNlLDB4MDQsMHgwZCwweDgwLDB4ODMsMHhlMCwweDQwLDB4ZTgsMHgyMCwweDNlLDB4MDAsMHgyZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OGU5MCwgMCwgezB4MTAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZjksMHgwMCwweDNjLDB4NjQgfX0sCi0gezE2LCAweDhlYTAsIDAsIHsweDRlLDB4OTAsMHg4MywweDI0LDB4ODAsMHhjOSwweDAwLDB4MzIsMHhlMCwweDBmLDB4MTAsMHgwMywweDI1LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHg4ZWIwLCAwLCB7MHgzMiwweDQ0LDB4MGYsMHg5MiwweDIzLDB4NjQsMHgwMCwweGMxLDB4MDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDEzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4OGVjMCwgMCwgezB4YzksMHgwMCwweDIyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgyMCwweDJlLDB4NDAsMHg0OCwweDk2LDB4MjIsMHgyNSwweDAwLDB4ZDksMHhjMCwweGEyIH19LAotIHsxNiwgMHg4ZWUwLCAwLCB7MHg3MCwweDBiLDB4OTgsMHgwMiwweDI0LDB4MDAsMHhiOSwweDQwLDB4YTIsMHg3MCwweDRiLDB4OTAsMHgwMiwweDI0LDB4MDAsMHhkOSB9fSwKLSB7MTYsIDB4OGVmMCwgMCwgezB4MDAsMHhhMiwweDQwLDB4MmMsMHg5NCwweDIyLDB4ZTQsMHgwMiwweDg5LDB4MDAsMHhhMiwweDQwLDB4MjgsMHg5NCwweDEzLDB4MjAgfX0sCi0gezE2LCAweDhmMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHg4ZjEwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHgwNCwweDAwLDB4ODEsMHg4MCwweGEyLDB4NDQsMHgwYiwweDkxLDB4MDIsMHgyNSwweDAwLDB4MTksMHg0MCB9fSwKLSB7MTYsIDB4OGYyMCwgMCwgezB4NjIsMHg0MCwweDBiLDB4YjQsMHgwMiwweDQ0LDB4MDAsMHg4OSwweDAwLDB4MjAsMHg0MCwweDA4LDB4OTAsMHg4MiwweGM0LDB4MDEgfX0sCi0gezE2LCAweDhmMzAsIDAsIHsweDgzLDB4MDIsMHgyOCwweDQwLDB4NDgsMHg5MCwweDgyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZjQwLCAwLCB7MHgwMCwweDA0LDB4MDUsMHg4MCwweGIxLDB4MDAsMHg2YywweDUxLDB4MDgsMHgxNCwweDFhLDB4MDUsMHgwMCwweDkzLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4OGY1MCwgMCwgezB4NDAsMHg4YiwweDE0LDB4MDIsMHgwNSwweDAwLDB4YjEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4MDYsMHgwNCwweDgwLDB4OTEgfX0sCi0gezE2LCAweDhmNjAsIDAsIHsweDIwLDB4MjAsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4YTgsMHg4MSwweDAwLDB4MjgsMHg0YSwweDA4LDB4OTAsMHg0YSwweDQyIH19LAotIHsxNiwgMHg4ZjcwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4OGY4MCwgMCwgezB4MGUsMHg4MCwweDAzLDB4MjgsMHgwMSwweGM4LDB4NTAsMHgzMiwweDk0LDB4OGIsMHhhMCwweDAzLDB4MjAsMHgwMCwweGIwLDB4NTAgfX0sCi0gezE2LCAweDhmOTAsIDAsIHsweDMyLDB4ODAsMHgwZiwweDgwLDB4MDcsMHg2MSwweDUxLDB4YzgsMHg1MCwweDIyLDB4MDAsMHgwYywweDAwLDB4MDMsMHhlMCwweDg0IH19LAotIHsxNiwgMHg4ZmEwLCAwLCB7MHhjOCwweDA0LDB4M2EsMHgwOCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGZiMCwgMCwgezB4OTgsMHg5ZCwweGY0LDB4NDAsMHhiZCwweDQxLDB4M2YsMHg1MCwweDBmLDB4ZjQsMHgwMywweGY1LDB4MTAsMHhmZCwweDAwLDB4M2UgfX0sCi0gezE2LCAweDhmYzAsIDAsIHsweDQwLDB4MGYsMHhkNCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MTAsMHgyZiwweDQwLDB4NGYsMHhkNCwweDQwLDB4YTQsMHg0OCwweGY5IH19LAotIHsxNiwgMHg4ZmQwLCAwLCB7MHgxMiwweDNmLDB4NWEsMHg4ZSwweGQyLDB4ODMsMHhmNCwweGE4LDB4ZjUsMHgyYywweDM3LDB4NGEsMHgwZiwweGQyLDB4ODMsMHhhNiB9fSwKLSB7MTYsIDB4OGZlMCwgMCwgezB4MTIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDgwLDB4ZmQsMHgyOCwweDNmLDB4NGMgfX0sCi0gezE2LCAweDhmZjAsIDAsIHsweDBmLDB4NTAsMHgwMywweDNjLDB4NDQsMHhjZCwweDQwLDB4M2YsMHhkMCwweDBkLDB4ZDAsMHgwMiwweDE0LDB4MDEsMHhmZCwweGEwIH19LAotIHsxNiwgMHg5MDAwLCAwLCB7MHgzMSwweDQwLDB4MDMsMHhkMCwweDAzLDB4ZTcsMHg4OSwweGY5LDB4OTAsMHg3ZSwweDUwLDB4MGMsMHg5NCwweDAzLDB4ZTYsMHhjMCB9fSwKLSB7MTYsIDB4OTAxMCwgMCwgezB4YzksMHgxMCwweDMyLDB4NmQsMHgwZiwweDkxLDB4MDIsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwMjAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDgwLDB4YjgsMHgwMSwweDJlLDB4MGMsMHg4YiwweDg0LDB4ODIsMHgyMCwweDQyLDB4ODgsMHhhMCwweDZlIH19LAotIHsxNiwgMHg5MDMwLCAwLCB7MHgyMCwweDA4LDB4ODAsMHgwMywweDYwLDB4MDAsMHg5OCwweGU4LDB4MjIsMHgwMCwweDA5LDB4ODAsMHgwMiwweGUzLDB4YzAsMHhlOCB9fSwKLSB7MTYsIDB4OTA0MCwgMCwgezB4ZDAsMHgyZSwweDI4LDB4MDgsMHg4YSwweDIzLDB4ZTIsMHg4NCwweGQ4LDB4YTAsMHgyMiwweDNkLDB4MGIsMHhjOCwweDAyLDB4Y2UgfX0sCi0gezE2LCAweDkwNTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzUsMHhiMCwweGIxLDB4MDAsMHgyYywweDQ4IH19LAotIHsxNiwgMHg5MDYwLCAwLCB7MHgwYiwweDEzLDB4MDIsMHgwNCwweDAyLDB4YjEsMHgyMCwweDJlLDB4NDAsMHg4OCwweDEwLDB4MjIsMHhjNCwweDAwLDB4YjEsMHgxNCB9fSwKLSB7MTYsIDB4OTA3MCwgMCwgezB4MjQsMHg0MCwweDBiLDB4MTAsMHg1MiwweGM0LDB4MDAsMHhiMSwweDIxLDB4MmQsMHg0OCwweDBhLDB4NTIsMHgwMiwweGQ1LDB4MDAgfX0sCi0gezE2LCAweDkwODAsIDAsIHsweGJkLDB4MDAsMHhhZCwweDQwLDB4MGIsMHg1MiwweDAyLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MDkwLCAwLCB7MHgxOCwweDU1LDB4YTUsMHgwMCwweGI5LDB4ODIsMHgyZSwweDQ5LDB4OGIsMHhiMCwweDEyLDB4MjQsMHgxMCwweDk5LDB4MDIsMHgyZSB9fSwKLSB7MTYsIDB4OTBhMCwgMCwgezB4NDAsMHgwOCwweGIyLDB4MDAsMHg2NSwweDAwLDB4OTksMHg4MCwweDI2LDB4NDQsMHgwOSwweDkxLDB4MDIsMHhlNCwweDA5LDB4YTkgfX0sCi0gezE2LCAweDkwYjAsIDAsIHsweDA0LDB4MmUsMHg0NiwweDBhLDB4ZDQsMHgwMiwweGI0LDB4MDAsMHhiZCwweDQwLDB4MmYsMHg0MCwweDBiLDB4ZDAsMHgwMiwweGM2IH19LAotIHsxNiwgMHg5MGMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4NDAsMHhmOSwweDgwLDB4MmUsMHg2MiB9fSwKLSB7MTYsIDB4OTBkMCwgMCwgezB4MGYsMHg5YywweDQyLDB4MjQsMHgwMCwweDk5LDB4MDEsMHgyZSwweDY4LDB4MmMsMHg5MiwweDAyLDB4NjQsMHgwMCwweGI5LDB4NDAgfX0sCi0gezE2LCAweDkwZTAsIDAsIHsweGI2LDB4NjAsMHgwZiwweDlhLDB4MDMsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NzAsMHgzZSwweDk5LDB4MDYsMHhlNCwweDAyIH19LAotIHsxNiwgMHg5MGYwLCAwLCB7MHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTgsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTEwMCwgMCwgezB4NjgsMHgwMSwweGE2LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDFmLDB4MTIsMHhhYiwweGU0LDB4MDAsMHhlOSwweDkwLDB4M2UgfX0sCi0gezE2LCAweDkxMTAsIDAsIHsweDQ5LDB4MGUsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzYSwweDQwLDB4MGQsMHg5OCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHg5MTIwLCAwLCB7MHgwMSwweDNlLDB4NjAsMHgwNSwweDkwLDB4MTMsMHhlNCwweDAwLDB4NTksMHgyMCwweDMyLDB4NDAsMHg4ZiwweDkxLDB4MDMsMHhkYSB9fSwKLSB7MTYsIDB4OTEzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwOCwweDNlLDB4MDEgfX0sCi0gezE2LCAweDkxNDAsIDAsIHsweDBmLDB4ODQsMHg2MywweDAwLDB4MjIsMHhlOCwweDIwLDB4M2UsMHgxMywweDBmLDB4ODQsMHgwMywweGUxLDB4YzAsMHhkOCwweDRjIH19LAotIHsxNiwgMHg5MTUwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4NCwweDQzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgyMiwweDEwLDB4MGYsMHg4NCwweDAzLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTE2MCwgMCwgezB4YzgsMHgwMCwweGIyLDB4MDAsMHgwYywweGMwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkxNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGUsMHgwMCwweDJmLDB4ODYsMHg0YiwweGUwLDB4MDIsMHgzOSwweDA4LDB4OGUsMHgyMCwweDJkIH19LAotIHsxNiwgMHg5MTgwLCAwLCB7MHg5MCwweDBiLDB4ZWQsMHg5MiwweGY4LDB4MDIsMHg4ZSwweGUwLDB4YTMsMHg5OCwweDA4LDB4ZTAsMHgwMiwweGU4LDB4MDgsMHhiYSB9fSwKLSB7MTYsIDB4OTE5MCwgMCwgezB4MDAsMHg2MiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDAyLDB4ODAsMHgwMiwweDgwLDB4NDgsMHhlMCwweDAzLDB4NGEgfX0sCi0gezE2LCAweDkxYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MTAsMHgyYywweGYwIH19LAotIHsxNiwgMHg5MWIwLCAwLCB7MHgwYSwweDE0LDB4MmEsMHgwZCwweDFhLDB4YjMsMHgwMSwweDI0LDB4ZDAsMHgwYiwweGJjLDB4MzIsMHhjYywweDA4LDB4MDMsMHgwMCB9fSwKLSB7MTYsIDB4OTFjMCwgMCwgezB4MjAsMHhjOCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4MjIsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MTEgfX0sCi0gezE2LCAweDkxZDAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MjgsMHgyMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MWUwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMSwweDg1LDB4MDAsMHgyZCwweDAwLDB4MGIsMHg3MCwweDAyLDB4MTgsMHgzMiwweDg2LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4OTFmMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MTYsMHhmZSwweDA0LDB4ODYsMHgwMCwweDI3LDB4YTAsMHg4YiwweDcwLDB4NDIsMHhkYywweDgwLDB4YjcgfX0sCi0gezE2LCAweDkyMDAsIDAsIHsweDgwLDB4MjEsMHgwMSwweDA4LDB4ZjgsMHgwYSwweDE4LDB4MDAsMHg4NiwweDA4LDB4MjAsMHhhMCwweDA4LDB4ZTgsMHgwYSwweDY4IH19LAotIHsxNiwgMHg5MjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDNlLDB4MDIsMHhjNiwweDgwLDB4M2QsMHhlMCB9fSwKLSB7MTYsIDB4OTIyMCwgMCwgezB4MGYsMHg0OCwweDAzLDB4MDYsMHgwNCwweGY1LDB4ODIsMHgzNSwweGUwLDB4MGYsMHg3OCwweDAzLDB4ZGEsMHgwMCwweGQzLDB4ODAgfX0sCi0gezE2LCAweDkyMzAsIDAsIHsweDMxLDB4NjAsMHgwNywweDc4LDB4MDMsMHhkZSwweDIwLDB4ZjMsMHhiMCwweDgxLDB4ZTAsMHg0ZiwweDY4LDB4MDcsMHgwZSwweDAyIH19LAotIHsxNiwgMHg5MjQwLCAwLCB7MHhjZiwweDgwLDB4MzEsMHhlMCwweDBjLDB4NzgsMHgxMywweDJhLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTI1MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4YTAsMHhmOSwweDAwLDB4M2YsMHgwMCwweDBmLDB4YjAsMHg1MywweGY4LDB4MTAsMHhhOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweDkyNjAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDAxLDB4ZWMsMHgwMCwweGZiLDB4MDIsMHgzYSwweGMwLDB4MGMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZiIH19LAotIHsxNiwgMHg5MjcwLCAwLCB7MHg3NCwweDNjLDB4MDAsMHgwZiwweDIwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODAsMHgwZiwweDMwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4OTI4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAyLDB4OGYsMHg4MCwweDM1LDB4ZTAgfX0sCi0gezE2LCAweDkyOTAsIDAsIHsweDhkLDB4ZDksMHgwMywweDJlLDB4YzQsMHhmNiwweDgwLDB4MzIsMHhhNCwweDBjLDB4YjgsMHgwMywweGRlLDB4MDAsMHhjZiwweDkwIH19LAotIHsxNiwgMHg5MmEwLCAwLCB7MHgzYywweGU0LDB4MGMsMHhiOCwweDAzLDB4ZmUsMHg2NSwweGZmLDB4ODAsMHgwZiwweGVjLDB4OGYsMHhmOCwweDAzLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4OTJiMCwgMCwgezB4YzUsMHg4MCwweDMzLDB4ZTAsMHgwZiwweDY4LDB4MDMsMHgxMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyYzAsIDAsIHsweGFhLDB4MTEsMHg5YywweDgwLDB4ODQsMHhiMCwweDIwLDB4MjAsMHgyOSwweDczLDB4MGEsMHgwZSwweDgyLDB4YTIsMHhhMCwweGEyIH19LAotIHsxNiwgMHg5MmQwLCAwLCB7MHhhMCwweDRmLDB4M2IsMHgwMywweDg3LDB4ODQsMHhiMiwweDgwLDB4MmMsMHhhMCwweDBhLDB4N2QsMHgwMiwweGRlLDB4ODAsMHhmNyB9fSwKLSB7MTYsIDB4OTJlMCwgMCwgezB4MjAsMHgyNSwweDA2LDB4MDgsMHg3MCwweDAyLDB4YzgsMHg0MCwweDg0LDB4MDAsMHgzNSwweDgwLDB4MGIsMHg2MCwweDAzLDB4NmEgfX0sCi0gezE2LCAweDkyZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgxMCwweDg2LDB4MzgsMHgyNywweGMwIH19LAotIHsxNiwgMHg5MzAwLCAwLCB7MHg0OSwweDU0LDB4MDYsMHg1NCwweDQwLDB4MWQsMHgyMCwweDIxLDB4Y2EsMHgwOSwweDYxLDB4NDAsMHhmOCwweDgwLDB4YjcsMHgyMCB9fSwKLSB7MTYsIDB4OTMxMCwgMCwgezB4MmYsMHgwMCwweDg5LDB4NzAsMHgxMiwweGRjLDB4ODEsMHhiNywweDA0LDB4MmQsMHhjOSwweDBhLDB4NjAsMHgwMiwweGNjLDB4MDAgfX0sCi0gezE2LCAweDkzMjAsIDAsIHsweDhkLDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmOCwweDAyLDB4MDQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MzMwLCAwLCB7MHg2MCwweDE0LDB4Y2QsMHgyOCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDksMHhiMCwweDIyLDB4NGMsMHgwMiwweGExLDB4MDEsMHgyMCB9fSwKLSB7MTYsIDB4OTM0MCwgMCwgezB4MzAsMHgxYiwweDIzLDB4MDIsMHhhZiwweDIwLDB4YjMsMHgwOCwweDJjLDB4ODAsMHgxYiwweDMwLDB4MDAsMHhjYywweDA0LDB4YTMgfX0sCi0gezE2LCAweDkzNTAsIDAsIHsweDAxLDB4MjYsMHgzMCwweDA4LDB4YWMsMHgyMiwweGU4LDB4MDIsMHg4MCwweDA4LDB4MmUsMHg4MCwweDRiLDB4YjQsMHgwMiwweDU4IH19LAotIHsxNiwgMHg5MzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MTAsMHg4YiwweDgwLDB4MzYsMHhmMCB9fSwKLSB7MTYsIDB4OTM3MCwgMCwgezB4MmQsMHhiYywweDBiLDB4NmMsMHgwMSwweGRhLDB4MDQsMHgyMiwweDQwLDB4N2QsMHg5NCwweDIyLDB4ZTQsMHgwMCwweGFiLDB4NDQgfX0sCi0gezE2LCAweDkzODAsIDAsIHsweDJlLDB4YzAsMHgwOSwweGI4LDB4MDIsMHhmYywweDAwLDB4YmYsMHgwMCwweDNlLDB4ZjAsMHhjYSwweDkyLDB4MDIsMHhlNCwweDAyIH19LAotIHsxNiwgMHg5MzkwLCAwLCB7MHhjYiwweDAwLDB4NmUsMHg0MCwweDBmLDB4ODQsMHgwMSwweDJlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTNhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2EsMHhlMCwweDJlLDB4YmMsMHgwMywweDk4LDB4MDgsMHhlYSwweDQwLDB4MzYgfX0sCi0gezE2LCAweDkzYjAsIDAsIHsweDQzLDB4OGMsMHg5MCwweDAzLDB4YTQsMHg0NCwweDJhLDB4NDAsMHgzZSwweDEwLDB4MGUsMHhiNSwweDgzLDB4ZWMsMHgxNCwweGZiIH19LAotIHsxNiwgMHg5M2MwLCAwLCB7MHgwMCwweDI2LDB4MDAsMHgwZSwweDkyLDB4MDMsMHhlMCwweDQwLDB4ZmEsMHgwMCwweDE2LDB4MDAsMHgwZiwweDgwLDB4MTMsMHhlMCB9fSwKLSB7MTYsIDB4OTNkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhlYywweDAyLDB4ZmEsMHg4MCwweDNmLDB4ZTIgfX0sCi0gezE2LCAweDkzZTAsIDAsIHsweDBmLDB4YjAsMHgwYiwweDI0LDB4MDAsMHhlZiwweDkyLDB4YmIsMHhlMCwweDFjLDB4ZDAsMHgwMywweDc0LDB4MDAsMHhjZiwweDA1IH19LAotIHsxNiwgMHg5M2YwLCAwLCB7MHgzYiwweDQwLDB4MGYsMHhjOCwweDAzLDB4NWMsMHgwMCwweGNmLDB4MDAsMHgzMiwweGMyLDB4NGQsMHhjMSwweDIzLDB4MzQsMHg0MCB9fSwKLSB7MTYsIDB4OTQwMCwgMCwgezB4Y2YsMHgwMCwweDE3LDB4NDQsMHgwYywweGQxLDB4ODMsMHgwMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0MTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHg4NCwweDJlLDB4NTQsMHgwYiwweGJjLDB4MGEsMHgyOSwweDgwLDB4OGIsMHg4MCwweDMyIH19LAotIHsxNiwgMHg5NDIwLCAwLCB7MHgwMCwweDA4LDB4OWMsMHgwMywweGE3LDB4MDAsMHhhYiwweDg0LDB4MmUsMHg3YywweDBiLDB4ODAsMHgwMiwweDJjLDB4MTAsMHhkYiB9fSwKLSB7MTYsIDB4OTQzMCwgMCwgezB4MDEsMHgzNiwweDAwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDgyLDB4MDAsMHgyMiwweDAwLDB4MDgsMHg5MCwweDAyLDB4MjQgfX0sCi0gezE2LCAweDk0NDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MGMsMHgwMCwweDg5LDB4MTAsMHg2NiwweDkwIH19LAotIHsxNiwgMHg5NDUwLCAwLCB7MHgwYiwweGI4LDB4MDIsMHg2ZSwweDEyLDB4YTMsMHg0MSwweDIwLDB4MDQsMHgwYSwweDk4LDB4MjIsMHhlMiwweDAwLDB4ODksMHgxOSB9fSwKLSB7MTYsIDB4OTQ2MCwgMCwgezB4MmUsMHhjMCwweDRiLDB4MzEsMHgyMiwweDZjLDB4MDgsMHg4MywweDAwLDB4MjIsMHhjMCwweDA5LDB4OTAsMHgwMiwweDI0LDB4MDAgfX0sCi0gezE2LCAweDk0NzAsIDAsIHsweDg5LDB4MDAsMHgyYSwweDQwLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NDgwLCAwLCB7MHgwOCwweDEwLDB4MGMsMHgwMCwweDgwLDB4MjAsMHgyYywweDBlLDB4MWIsMHgzMCwweDAyLDB4MDQsMHg0MSwweDgwLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4OTQ5MCwgMCwgezB4MTIsMHgxOCwweDE2LDB4NDIsMHgwMCwweDUwLDB4YTAsMHg0MCwweDJjLDB4ODgsMHgxYiwweDMwLDB4MDIsMHgwYywweDgxLDB4OTMgfX0sCi0gezE2LCAweDk0YTAsIDAsIHsweDAwLDB4MjQsMHgwMCwweDA4LDB4MTAsMHgyYSwweDAwLDB4MGEsMHg4OCwweDAwLDB4MjgsMHgwMCwweDI4LDB4MDAsMHgwYSwweDAyIH19LAotIHsxNiwgMHg5NGIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwYywweDdjLDB4MTEsMHhlOCwweDAwLDB4MjYsMHg5OCB9fSwKLSB7MTYsIDB4OTRjMCwgMCwgezB4MGYsMHhiMCwweDEzLDB4MjEsMHgwYywweGViLDB4NjAsMHgzYSwweGQ4LDB4MjgsMHg4NCwweGEyLDB4ZTEsMHg4MCwweGM4LDB4MjAgfX0sCi0gezE2LCAweDk0ZDAsIDAsIHsweDNlLDB4NWUsMHgxZiwweDgyLDB4MDMsMHg3YywweDAwLDB4Y2YsMHgwMCwweDMyLDB4YzAsMHg0ZCwweDgwLDB4MDcsMHgyNSwweDAwIH19LAotIHsxNiwgMHg5NGUwLCAwLCB7MHhjOSwweDAwLDB4MzIsMHg0MCwweDBjLDB4OTAsMHgwMywweDAwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTRmMCwgMCwgezB4YTEsMHgxMSwweGZjLDB4MDAsMHhmOCwweDEzLDB4MWUsMHgwMCwweDBiLDB4ZjAsMHgwMSwweGYwLDB4ZDAsMHhmOSwweDE5LDB4MWYgfX0sCi0gezE2LCAweDk1MDAsIDAsIHsweDA4LDB4NGYsMHhjMCwweDEzLDB4YTEsMHgwMCwweGY4LDB4NjIsMHgzZiwweGMwLDB4MGIsMHhjNCwweDA3LDB4ZWQsMHgwMCwweGZmIH19LAotIHsxNiwgMHg5NTEwLCAwLCB7MHgwMCwweDNmLDB4MDAsMHgwZiwweGMwLDB4MjMsMHhmMCwweGEwLDB4ZmMsMHgwMCwweDMzLDB4MDAsMHgwZiwweGQwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4OTUyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4ZmYsMHgwYywweDNmLDB4MjAgfX0sCi0gezE2LCAweDk1MzAsIDAsIHsweDBjLDB4YzksMHgwMywweDMyLDB4MDAsMHhjZiwweDM4LDB4M2YsMHhkMCwweDBmLDB4NDgsMHgwMywweGZjLDB4YTAsMHhjZSwweDIyIH19LAotIHsxNiwgMHg5NTQwLCAwLCB7MHgzMywweDAwLDB4MGYsMHhjMSwweDAzLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzZCwweGM0LDB4NGMsMHhjMCwweDIzLDB4OGMsMHhlNCB9fSwKLSB7MTYsIDB4OTU1MCwgMCwgezB4ZmYsMHgxMCwweDM3LDB4MjAsMHgwOCwweGYxLDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk1NjAsIDAsIHsweDgwLDB4MTAsMHhmZSwweDAwLDB4YmYsMHg4MCwweDJlLDB4NzQsMHgwNSwweDIyLDB4MDIsMHhhMiwweDEwLDB4ZGYsMHg2MSwweDJmIH19LAotIHsxNiwgMHg5NTcwLCAwLCB7MHhkMCwweDhiLDB4OTAsMHgwMiwweDNkLDB4YTQsMHhhYSwweDkwLDB4MjIsMHhmNCwweDBiLDB4MDcsMHgxMiwweDFkLDB4MjAsMHhiYiB9fSwKLSB7MTYsIDB4OTU4MCwgMCwgezB4YzAsMHgyZiwweGQ4LDB4ODgsMHg5NywweDgyLDB4ZmQsMHg4MCwweGVmLDB4NzIsMHgyMiwweDA4LDB4MjgsMHhmNiwweDIzLDB4ZTAgfX0sCi0gezE2LCAweDk1OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHg0MCwweGIzLDB4MDAsMHgyYywweDAwIH19LAotIHsxNiwgMHg5NWEwLCAwLCB7MHgwOCwweDgyLDB4MDIsMHgyMiwweDAwLDB4ODMsMHgwMSwweDA4LDB4Y2MsMHg4YiwweDIwLDB4ODIsMHhjYywweDAwLDB4OTAsMHgwMCB9fSwKLSB7MTYsIDB4OTViMCwgMCwgezB4MjAsMHgwMCwweDRiLDB4MTIsMHgwMiwweDBkLDB4ODAsMHhiMywweDQwLDB4MmMsMHhkOCwweDA4LDB4MjAsMHg0MiwweDhjLDB4ODAgfX0sCi0gezE2LCAweDk1YzAsIDAsIHsweGIzLDB4MjAsMHgyNiwweDAyLDB4MTgsMHgzMywweDI2LDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NWQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwOSwweGJiLDB4MDAsMHgyZSwweDYwLDB4MDgsMHg4MCwweDAyLDB4YTIsMHgwMCwweDliLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4OTVlMCwgMCwgezB4YzAsMHgwYiwweGFjLDB4MDIsMHgyYywweDAwLDB4YmEsMHgwNiwweDIyLDB4YzIsMHgwYiwweDk0LDB4MDIsMHhhYywweDEwLDB4YmIgfX0sCi0gezE2LCAweDk1ZjAsIDAsIHsweDAwLDB4MmUsMHhjMSwweDA4LDB4YTgsMHgwMiwweGVjLDB4MDAsMHhhYiwweDAwLDB4MjIsMHgwMCwweDA4LDB4YjAsMHgwNiwweGYwIH19LAotIHsxNiwgMHg5NjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgxNSwweGVjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHg2MCB9fSwKLSB7MTYsIDB4OTYxMCwgMCwgezB4MjgsMHg4MiwweDEzLDB4MGUsMHgwOCwweGNiLDB4MDAsMHgzYSwweGMwLDB4MGYsMHg4YywweDAzLDB4ZWMsMHgxMSwweGRiLDB4MjAgfX0sCi0gezE2LCAweDk2MjAsIDAsIHsweGIyLDB4OTAsMHg0YiwweGE4LDB4MGIsMHgyYywweDAwLDB4YmIsMHgwMCwweDJjLDB4YzAsMHgwYywweDg4LDB4MTMsMHhhYywweDAwIH19LAotIHsxNiwgMHg5NjMwLCAwLCB7MHhmMywweDAwLDB4MzYsMHgwNiwweDQ4LDB4YjAsMHgxMiwweGM0LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTY0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmYiwweDA4LDB4M2QsMHg0MCwweDhmLDB4ZWEsMHgwMSwweGY0LDB4MDAsMHhmZiwweDAxLDB4MmYgfX0sCi0gezE2LCAweDk2NTAsIDAsIHsweGMwLDB4MGYsMHhkMCwweDIyLDB4ZmMsMHgwNCwweGFmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhlOSwweDAzLDB4N2MsMHgwMCwweGZmIH19LAotIHsxNiwgMHg5NjYwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweDkwLDB4NDMsMHhmYywweDIwLDB4ZWYsMHgwMiwweDNmLDB4MDAsMHg4ZiwweGYwLDB4MDMsMHhiOCB9fSwKLSB7MTYsIDB4OTY3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MTAsMHhhYywweDA4LDB4ZWIsMHgwMCwweDEyLDB4NDAgfX0sCi0gezE2LCAweDk2ODAsIDAsIHsweDBmLDB4OTAsMHgwMywweDI4LDB4MjAsMHhhYiwweDAwLDB4M2EsMHhjMCwweDhmLDB4ODUsMHg4MywweGFjLDB4MTAsMHhmMywweDUwIH19LAotIHsxNiwgMHg5NjkwLCAwLCB7MHgzMiwweDkwLDB4NGMsMHgzNCwweDEzLDB4NmMsMHgwMCwweGZiLDB4MDAsMHgzZSwweGMwLDB4MGMsMHg5OCwweDAzLDB4MmMsMHg0MCB9fSwKLSB7MTYsIDB4OTZhMCwgMCwgezB4ZWIsMHg4MCwweDMyLDB4MTIsMHgwZCwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2YjAsIDAsIHsweDg4LDB4MDEsMHgzYywweDEwLDB4MGYsMHgwNSwweGEyLDB4NTAsMHgwYywweDEwLDB4MDIsMHgyMiwweDEwLDB4OGYsMHgwMCwweDIzIH19LAotIHsxNiwgMHg5NmMwLCAwLCB7MHhjMCwweDBiLDB4ODgsMHgxMiwweDNjLDB4MDAsMHg5YiwweDgyLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDNjLDB4MDAsMHg4ZiB9fSwKLSB7MTYsIDB4OTZkMCwgMCwgezB4YTAsMHgyZiwweGMwLDB4MDgsMHhiMCwweDAyLDB4M2MsMHgwOCwweDhmLDB4MDIsMHgyMCwweDAwLDB4MDgsMHhmMCwweDAzLDB4MjYgfX0sCi0gezE2LCAweDk2ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGQsMHgyMCwweDkzLDB4MDAsMHgyMCwweGIyIH19LAotIHsxNiwgMHg5NmYwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgwMSwweDAwLDB4YTMsMHgwMCwweDY4LDB4YzAsMHgwYiwweDg0LDB4MDIsMHhhYywweDAwLDB4YjMsMHg4MCB9fSwKLSB7MTYsIDB4OTcwMCwgMCwgezB4MjAsMHg0MCwweDBhLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhMywweDA0LDB4MmMsMHhjMCwweDA4LDB4MDAsMHgwMiwweDBkLDB4MDAgfX0sCi0gezE2LCAweDk3MTAsIDAsIHsweGEzLDB4MDAsMHgyMCwweDI0LDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NzIwLCAwLCB7MHg3MCwweDAxLDB4MWMsMHgyMCwweDk3LDB4ODAsMHgyMywweDYwLDB4MDgsMHg3OCwweDEyLDB4M2EsMHgwMCwweDgzLDB4OTEsMHgyOSB9fSwKLSB7MTYsIDB4OTczMCwgMCwgezB4ZTQsMHgwYiwweDU5LDB4MDIsMHgxZSwweDAwLDB4OTcsMHg5MCwweDIwLDB4ZmMsMHgwYSwweDc4LDB4MDIsMHgxZSwweDAwLDB4ODcgfX0sCi0gezE2LCAweDk3NDAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDE5LDB4NTksMHgwMiwweDFlLDB4ODAsMHg4MywweDgwLDB4NjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDE4IH19LAotIHsxNiwgMHg5NzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDAsMHhkMywweDMyLDB4MzAsMHgwNiB9fSwKLSB7MTYsIDB4OTc2MCwgMCwgezB4MGYsMHgzMCwweDAzLDB4MDQsMHg2NCwweGUzLDB4MDEsMHgzOCwweGM0LDB4MWYsMHgzMCwweDA3LDB4OGMsMHgxOCwweGYxLDB4MDAgfX0sCi0gezE2LCAweDk3NzAsIDAsIHsweDMwLDB4NGMsMHgwZSwweDMwLDB4MDMsMHg0YywweDAwLDB4ZTMsMHgwMCwweDJjLDB4YzAsMHgwYywweDIwLDB4MDMsMHgwZSwweDAwIH19LAotIHsxNiwgMHg5NzgwLCAwLCB7MHhlMywweDAwLDB4MzIsMHgwOCwweDBjLDB4YjEsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTc5MCwgMCwgezB4NDAsMHgxZCwweDljLDB4ODAsMHhlZiwweDEwLDB4M2QsMHg0NCwweDRmLDB4ZjEsMHgwNywweGNjLDB4MDAsMHhmZiwweDA4LDB4MzYgfX0sCi0gezE2LCAweDk3YTAsIDAsIHsweGM2LDB4Y2YsMHhiMCwweDAzLDB4ZmMsMHgwMCwweDk3LDB4MDAsMHhiZSwweGNjLDB4MGQsMHhiMSwweDAzLDB4ZmQsMHgwNCwweGZmIH19LAotIHsxNiwgMHg5N2IwLCAwLCB7MHgwYywweDNmLDB4ZDIsMHg5ZSwweGUwLDB4NGIsMHhmZCwweDIwLDB4ZmYsMHgwMiwweDNmLDB4ODAsMHgwZSwweGYwLDB4MTMsMHhkMCB9fSwKLSB7MTYsIDB4OTdjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweGMwLDB4Y2IsMHgyOCwweDNlLDB4YzAgfX0sCi0gezE2LCAweDk3ZDAsIDAsIHsweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmYiwweDAxLDB4MzIsMHhlOSwweDBjLDB4MjgsMHgwMywweDJjLDB4MDAsMHhmYiwweDAwIH19LAotIHsxNiwgMHg5N2UwLCAwLCB7MHgzMiwweGMwLDB4MGMsMHhiNCwweDgzLDB4MmMsMHgwMSwweGVmLDB4MDAsMHhiMiwweGM4LDB4MGMsMHgyMCwweDAzLDB4NmQsMHgwMCB9fSwKLSB7MTYsIDB4OTdmMCwgMCwgezB4Y2IsMHgxMCwweDNlLDB4MDAsMHgwZiwweGIyLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4MDAsIDAsIHsweGM4LDB4OTEsMHg5YywweGM0LDB4ODcsMHg2MCwweDJkLDB4YzAsMHgwYiwweDYwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgxMiwweDIwIH19LAotIHsxNiwgMHg5ODEwLCAwLCB7MHhjYywweDBhLDB4NzAsMHgwMiwweDFjLDB4YzAsMHhiMywweDAwLDB4YTAsMHhjMCwweGM4LDB4NzAsMHgyMiwweDFjLDB4ODAsMHhiNyB9fSwKLSB7MTYsIDB4OTgyMCwgMCwgezB4MjQsMHgyMSwweGM4LDB4NDgsMHg1MCwweDAyLDB4MGMsMHg4MCwweDg3LDB4MTAsMHgyZCwweDQwLDB4MGIsMHg3MiwweDgyLDB4ZjIgfX0sCi0gezE2LCAweDk4MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MSwweDAwLDB4OGUsMHgwMiwweDg3LDB4ODAsMHgyZCwweGUwIH19LAotIHsxNiwgMHg5ODQwLCAwLCB7MHgwYiwweDc4LDB4MTIsMHhkZSwweDAwLDB4YjcsMHhhMCwweDIxLDB4ZTAsMHgwOCwweGY4LDB4OGUsMHgxZSwweDQwLDB4YjcsMHg4OCB9fSwKLSB7MTYsIDB4OTg1MCwgMCwgezB4MjEsMHhlMCwweDA4LDB4MzgsMHgwMiwweDFlLDB4NDAsMHhiMywweGExLDB4MjAsMHhlOCwweDQ4LDB4ZjgsMHg4MiwweDVlLDB4MDIgfX0sCi0gezE2LCAweDk4NjAsIDAsIHsweDg3LDB4ODAsMHgyZCwweDIyLDB4MGIsMHg3OSwweDAyLDB4ZTAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ODcwLCAwLCB7MHgwOCwweDA0LDB4Y2MsMHgwNCwweDgzLDB4MDIsMHgyYywweGQ0LDB4MGIsMHgzMCwweDAyLDB4Y2MsMHgwMCwweGIzLDB4MDAsMHhhMCB9fSwKLSB7MTYsIDB4OTg4MCwgMCwgezB4YzAsMHg4YSwweDM4LDB4MDYsMHgwYywweDAwLDB4YjMsMHg4MCwweDIwLDB4ZTEsMHg0OCwweDM5LDB4MTIsMHgyYywweDAwLDB4YjMgfX0sCi0gezE2LCAweDk4OTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHg4MiwweDZjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg0OCwweDBiLDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHg5OGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweGE4LDB4MDAsMHhjYSwweDAwLDB4M2YsMHhhMCB9fSwKLSB7MTYsIDB4OThiMCwgMCwgezB4MGYsMHhlNCwweDAzLDB4ZDgsMHgwMCwweGZhLDB4MDAsMHgzMiwweDgwLDB4MGMsMHhlOCwweDAzLDB4MjgsMHgwMCwweGZhLDB4NDAgfX0sCi0gezE2LCAweDk4YzAsIDAsIHsweDMyLDB4YTgsMHgyYywweGEwLDB4MDksMHgyOCwweDA4LDB4ZjIsMHgwMCwweDMyLDB4ODAsMHgwYywweGU0LDB4MDMsMHg2OCwweDAwIH19LAotIHsxNiwgMHg5OGQwLCAwLCB7MHhjYSwweDAwLDB4M2YsMHg4MCwweDBmLDB4YTAsMHgwMywweGZiLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OThlMCwgMCwgezB4NDgsMHgwMCwweGMwLDB4MDAsMHhmOCwweDAxLDB4M2UsMHgxMiwweDBiLDB4ODAsMHgwMywweGUwLDB4NDAsMHhmOCwweDAwLDB4M2UgfX0sCi0gezE2LCAweDk4ZjAsIDAsIHsweDAwLDB4NGYsMHg4NCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4MDgsMHgzZSwweDAwLDB4NGYsMHgwMCwweDAzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHg5OTAwLCAwLCB7MHg0MSwweDNlLDB4MDAsMHgyZiwweDg0LDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OTkxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNiwweDAwLDB4YzksMHgxMiwweDNlLDB4NTAgfX0sCi0gezE2LCAweDk5MjAsIDAsIHsweDhmLDB4OTAsMHg4MywweGU0LDB4MjAsMHhjMSwweDAwLDB4M2EsMHg0MSwweDBmLDB4OTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHg5OTMwLCAwLCB7MHgzMCwweDY4LDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCwweGQ5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5OCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4OTk0MCwgMCwgezB4YzksMHg5MCwweDNlLDB4NjksMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk5NTAsIDAsIHsweDgwLDB4MDQsMHg2NywweDRhLDB4ODksMHg4MCwweDJlLDB4NTAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDgwLDB4YTksMHgwMCwweDIyIH19LAotIHsxNiwgMHg5OTYwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MTAsMHg4OSB9fSwKLSB7MTYsIDB4OTk3MCwgMCwgezB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MywweDAyLDB4MjQsMHgyMiwweDg5LDB4NDIsMHgyYywweDYwLDB4NDgsMHg5MCwweDAyLDB4MjAgfX0sCi0gezE2LCAweDk5ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDE1LDB4MjQsMHgwMCwweDk5LDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHg5OTkwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDJhLDB4NDAsMHgwYiwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCB9fSwKLSB7MTYsIDB4OTlhMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDI0LDB4MDAsMHg5OSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTAsMHgwNiwweDI0LDB4NDAgfX0sCi0gezE2LCAweDk5YjAsIDAsIHsweDg5LDB4NDEsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OWMwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHg4MCwweDkxLDB4MjAsMHgyYywweDQ4LDB4MGIsMHgxMCwweDAyLDB4YzQsMHgwMCwweGExLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4OTlkMCwgMCwgezB4NDgsMHgwYiwweDEwLDB4MDIsMHhjNCwweDgwLDB4YjEsMHgyMCwweGExLDB4NDksMHgwOCwweDUyLDB4NGEsMHgwNCwweDgwLDB4ODEgfX0sCi0gezE2LCAweDk5ZTAsIDAsIHsweDAwLDB4MjAsMHg0OCwweDQ4LDB4MTIsMHgwYSwweDA0LDB4ODAsMHg4MSwweDIwLDB4MmMsMHg0MCwweDI4LDB4MTIsMHgwMiwweDAyIH19LAotIHsxNiwgMHg5OWYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDgsMHhkOCwweDA0LDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4OWEwMCwgMCwgezB4MGYsMHg4NSwweDAzLDB4ZTAsMHgwMCwweGMwLDB4NTAsMHgzYSwweDE0LDB4MGYsMHhhNSwweDAzLDB4ZTEsMHg0MCwweGY4LDB4MDIgfX0sCi0gezE2LCAweDlhMTAsIDAsIHsweDMyLDB4ODAsMHgyYywweGM1LDB4MDMsMHgyMSwweDQwLDB4ZGEsMHgwMCwweDNhLDB4MTQsMHgwZSwweDg1LDB4NDMsMHgyMSwweDQwIH19LAotIHsxNiwgMHg5YTIwLCAwLCB7MHhjOCwweDUyLDB4M2UsMHgxNCwweDBjLDB4ODUsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWEzMCwgMCwgezB4ODgsMHgxZCwweGU0LDB4NDQsMHhlOSwweDEwLDB4M2YsMHg0NCwweDRmLDB4ZDAsMHgwMiwweGZjLDB4MDAsMHhmOSwweDEyLDB4M2UgfX0sCi0gezE2LCAweDlhNDAsIDAsIHsweDQ0LDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGZkLDB4MTAsMHgzZSwweDQ0LDB4NGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGU5IH19LAotIHsxNiwgMHg5YTUwLCAwLCB7MHg0MCwweDNlLDB4NDQsMHgwZiwweGQxLDB4MDMsMHhlNCwweDQwLDB4ZjksMHgxMiwweDNmLDB4NDAsMHgwZiwweDkxLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4OWE2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhmNiwweGEwLDB4ZmQsMHg4MCwweGIzLDB4NDAgfX0sCi0gezE2LCAweDlhNzAsIDAsIHsweDBjLDB4MTAsMHgwMywweDE0LDB4MDAsMHhmZCwweGEwLDB4MzIsMHg0MCwweDBmLDB4ZDEsMHgwMywweGU0LDB4MDAsMHhmNSwweDg2IH19LAotIHsxNiwgMHg5YTgwLCAwLCB7MHgzMywweDYwLDB4MmMsMHg5YSwweDgzLDB4MjQsMHgwNCwweGZkLDB4YTgsMHgyMiwweDQwLDB4MGQsMHg1MCwweDQzLDB4ZjQsMHgwMCB9fSwKLSB7MTYsIDB4OWE5MCwgMCwgezB4ZmQsMHgwMCwweDMzLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhYTAsIDAsIHsweDc4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHgwMCwweDIyLDB4MDAsMHgyOCwweDgwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCwweGEyIH19LAotIHsxNiwgMHg5YWIwLCAwLCB7MHgwMCwweDBiLDB4OGEsMHgxMiwweGUwLDB4MDAsMHhiOCwweDA0LDB4MjIsMHgxNCwweDA4LDB4ODQsMHgwMiwweDIwLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4OWFjMCwgMCwgezB4NDAsMHgyMCwweDAwLDB4ODgsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHhhMiwweDAwLDB4MGIsMHg4MCwweDAyLDB4MGUgfX0sCi0gezE2LCAweDlhZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHgwMCwweGIxLDB4NDIsMHgyMCwweDQwIH19LAotIHsxNiwgMHg5YWUwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgwNCwweDAwLDB4YjEsMHg0MCwweDIwLDB4NDAsMHgwYiwweDEwLDB4MDYsMHhjNCwweDAwLDB4YjEsMHg0MCB9fSwKLSB7MTYsIDB4OWFmMCwgMCwgezB4MjQsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQ0LDB4MDQsMHhiMSwweDAwLDB4NjAsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDAgfX0sCi0gezE2LCAweDliMDAsIDAsIHsweGIxLDB4MDAsMHgyMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YjEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MDIsMHgyMiwweDYwLDB4MDgsMHg5NCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MDEsMHgyMiB9fSwKLSB7MTYsIDB4OWIyMCwgMCwgezB4NDAsMHgwYiwweDkwLDB4MDYsMHhlNCwweDAwLDB4YjksMHgyMCwweDI2LDB4NDAsMHgwOCwweDk0LDB4MDIsMHg2NCwweDA4LDB4YjkgfX0sCi0gezE2LCAweDliMzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDA4LDB4OTIsMHgwMiwweGVjLDB4MDgsMHhiOSwweDA0LDB4MjIsMHg0MSwweDBiLDB4MTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHg5YjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MTAsMHhmMSwweDAwLDB4MzIsMHg2MCB9fSwKLSB7MTYsIDB4OWI1MCwgMCwgezB4MGMsMHg5NCwweDBiLDB4MjUsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4OGYsMHg5NCwweGQzLDB4ZTQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweDliNjAsIDAsIHsweDM2LDB4NDAsMHg0YywweDkwLDB4MGIsMHg2NCwweDAwLDB4ZjEsMHgwMCwweDMyLDB4NDAsMHgwZCwweDkyLDB4MTIsMHhlNCwweDAwIH19LAotIHsxNiwgMHg5YjcwLCAwLCB7MHhmOSwweDAwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWI4MCwgMCwgezB4NjgsMHg0MSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MCwweDhmLDB4OTIsMHgwMywweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweDliOTAsIDAsIHsweDQwLDB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHhiYSwweDQwLDB4MmYsMHg5MCwweDIzLDB4YTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHg5YmEwLCAwLCB7MHgwOCwweGJlLDB4NDAsMHhjZiwweDkwLDB4MDMsMHhlNCwweDEwLDB4ZjEsMHgwMSwweDNlLDB4NDEsMHgwZiwweDkwLDB4MDMsMHhkYSB9fSwKLSB7MTYsIDB4OWJiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweGM4LDB4ZjgsMHgwMCwweDNlLDB4MDMgfX0sCi0gezE2LCAweDliYzAsIDAsIHsweDBjLDB4ODQsMHgwMywweGExLDB4MTAsMHhlOCwweDAwLDB4MzIsMHgwMCwweDhjLDB4ODUsMHg4MywweGUwLDB4MDAsMHhjMCwweDAwIH19LAotIHsxNiwgMHg5YmQwLCAwLCB7MHgzOCwweDBjLDB4MmMsMHgwMCwweDAzLDB4NjAsMHgwMCwweGM4LDB4MDAsMHgzYywweDAwLDB4MGQsMHg4MCwweDAyLDB4MjAsMHgxMCB9fSwKLSB7MTYsIDB4OWJlMCwgMCwgezB4YzgsMHgyMCwweGIyLDB4MDIsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliZjAsIDAsIHsweDI4LDB4MDUsMHgzOSwweDEwLDB4YmUsMHgwNCwweDZmLDB4YTAsMHgwOCwweGEwLDB4MDIsMHgzYSwweDAwLDB4ODIsMHgwMCwweGEyIH19LAotIHsxNiwgMHg5YzAwLCAwLCB7MHg4MCwweDhkLDB4ZWMsMHgwMywweGE4LDB4MDAsMHg4YSwweDAwLDB4MjMsMHg4MCwweDA4LDB4YTAsMHgyMiwweDI4LDB4MDAsMHg4ZSB9fSwKLSB7MTYsIDB4OWMxMCwgMCwgezB4Y2MsMHgyZiwweDgwLDB4MDgsMHhlOCwweGMyLDB4YjgsMHgwMCwweDhlLDB4NjAsMHgyMywweDkwLDB4MGIsMHhhMCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweDljMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGUsMHgwOCwweGIwLDB4NzIsMHgyYywweGQwIH19LAotIHsxNiwgMHg5YzMwLCAwLCB7MHgyOCwweGIwLDB4MDYsMHg4YywweDAxLDB4YTEsMHgwMiwweDIwLDB4YzAsMHgwOCwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4OWM0MCwgMCwgezB4MjAsMHhjMCwweDI5LDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MSwweDAwLDB4MmMsMHhjMCwweDA4LDB4MzIsMHgwMiwweDBjLDB4NDAgfX0sCi0gezE2LCAweDljNTAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGY0LDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YzYwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwMCwweGI0LDB4MDAsMHgyZCwweGQwLDB4NDgsMHhmMiwweDAyLDB4MWUsMHgyMSwweDg1LDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4OWM3MCwgMCwgezB4ZTgsMHgwOSwweDcyLDB4MDIsMHg4ZSwweDgwLDB4OGYsMHgwMSwweDIwLDB4YzAsMHgwOSwweDcyLDB4MDIsMHgwZSwweDgwLDB4ODcgfX0sCi0gezE2LCAweDljODAsIDAsIHsweDAwLDB4MmQsMHhjYywweDE4LDB4NTgsMHgwMiwweDhlLDB4MDAsMHg4NSwweDAwLDB4MjEsMHhjMCwweDBiLDB4NzIsMHgwMiwweGU4IH19LAotIHsxNiwgMHg5YzkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhiNCwweDgwLDB4MmQsMHhlMCB9fSwKLSB7MTYsIDB4OWNhMCwgMCwgezB4MGMsMHg3OCwweDgzLDB4OWEsMHgwMCwweGVkLDB4ZDAsMHgzMSwweGY0LDB4MGMsMHg2YSwweDAzLDB4ZGUsMHg4MiwweGM3LDB4ODAgfX0sCi0gezE2LCAweDljYjAsIDAsIHsweDM5LDB4ZTAsMHgwZCwweGY4LDB4ODMsMHg1ZSwweGMyLDB4YzUsMHg4MCwweDNkLDB4ZTgsMHgwYywweDY4LDB4MDMsMHgxMiwweDAwIH19LAotIHsxNiwgMHg5Y2MwLCAwLCB7MHhjZiwweDgwLDB4MzEsMHhlMCwweDBmLDB4N2UsMHg4MywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWNkMCwgMCwgezB4MDgsMHgwZCwweGFjLDB4MDgsMHhmOCwweDAwLDB4M2MsMHhjMCwweDBmLDB4YjMsMHgwMywweGVjLDB4MDAsMHhmOSwweDAyLDB4M2UgfX0sCi0gezE2LCAweDljZTAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDAzLDB4ZWQsMHg0MCwweGZiLDB4MDAsMHhiZSwweDgwLDB4MGUsMHhiMywweDAzLDB4ZWQsMHhjMCwweGZiIH19LAotIHsxNiwgMHg5Y2YwLCAwLCB7MHgwMCwweDNlLDB4ZDIsMHgyZSwweDgwLDB4MDMsMHhlYywweDAyLDB4ZjksMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4OWQwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZjAsMHg5MSwweDMzLDB4ZTAgfX0sCi0gezE2LCAweDlkMTAsIDAsIHsweDhmLDB4ZjgsMHgwMywweGZlLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhlMCwweDBjLDB4NzgsMHg4MywweDNmLDB4MDAsMHhjZiwweDgwIH19LAotIHsxNiwgMHg5ZDIwLCAwLCB7MHgzZiwweGEwLDB4MGMsMHhmOCwweDAzLDB4M2UsMHgwMCwweGNkLDB4ODAsMHgzZiwweGUwLDB4MGYsMHhmOCwweDEzLDB4ZmUsMHgxMCB9fSwKLSB7MTYsIDB4OWQzMCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4MjAsMHgwZiwweGY5LDB4NDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkNDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjQsMHhjMSwweDMxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhkNCwweDEwLDB4ZTUsMHgyMCwweDJmIH19LAotIHsxNiwgMHg5ZDUwLCAwLCB7MHhjOCwweDBmLDB4NDAsMHgwMywweDVjLDB4MDAsMHg4NywweDAwLDB4MmQsMHg4MCwweDA4LDB4NzAsMHgwMiwweDFjLDB4NDAsMHg4NyB9fSwKLSB7MTYsIDB4OWQ2MCwgMCwgezB4MTAsMHgyZCwweGMwLDB4MGIsMHg3NiwweDAyLDB4ZGMsMHg4MCwweGI3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZWEgfX0sCi0gezE2LCAweDlkNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OWMsMHgwMCwweGI2LDB4MjIsMHgyMSwweGQwIH19LAotIHsxNiwgMHg5ZDgwLCAwLCB7MHgwYiwweDcwLDB4ODIsMHhkOCwweDQwLDB4YjUsMHgwMiwweDJkLDB4YzAsMHg4OCwweDY1LDB4MDIsMHgwYywweDAwLDB4ODcsMHgxOCB9fSwKLSB7MTYsIDB4OWQ5MCwgMCwgezB4MmMsMHgwNCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDIsMHg4NSwweDAwLDB4MmQsMHhjMCwweDBiLDB4NzAsMHg0NiwweDkwLDB4MTAgfX0sCi0gezE2LCAweDlkYTAsIDAsIHsweGI2LDB4MDAsMHgyZCwweDAwLDB4MGIsMHg3MCwweDIyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZGIwLCAwLCB7MHg2MCwweDE0LDB4Y2MsMHgwOCwweGIyLDB4MDAsMHhhNCwweGMwLDB4MGIsMHgzMCwweDQyLDB4YzYsMHgxMCwweGExLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4OWRjMCwgMCwgezB4YzAsMHgwYSwweDAwLDB4MDIsMHg0YywweDAwLDB4ODMsMHgwMCwweDJjLDB4MDgsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMgfX0sCi0gezE2LCAweDlkZDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MTgsMHg4MiwweGM0LDB4MDAsMHhiMCwweDAwLDB4MmMsMHg0MCwweDBiLDB4MzAsMHgxMiwweGQ4IH19LAotIHsxNiwgMHg5ZGUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZjgsMHgxNSwweGFjLDB4MDAsMHgzOCwweDAwLDB4MzIsMHg1MCB9fSwKLSB7MTYsIDB4OWRmMCwgMCwgezB4MGYsMHhmMCwweDAzLDB4ZTYsMHgyMCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MDgsMHhkMCwweDAyLDB4M2MsMHgwMiwweGNiLDB4ODAgfX0sCi0gezE2LCAweDllMDAsIDAsIHsweDNjLDB4NTAsMHgyYywweGYwLDB4MGEsMHhiYywweDAwLDB4YzksMHgwMCwweDNmLDB4YzAsMHgwZiwweGJlLDB4MDMsMHhhYywweDAwIH19LAotIHsxNiwgMHg5ZTEwLCAwLCB7MHhmYSwweDAyLDB4MmUsMHhmNywweDRmLDB4ZjAsMHgwMywweGVlLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWUyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmMSwweDAwLDB4M2EsMHhmMCwweDBmLDB4YjAsMHgwMywweGU5LDB4MDAsMHhmOSwweDAxLDB4M2UgfX0sCi0gezE2LCAweDllMzAsIDAsIHsweGMwLDB4MGYsMHg5MCwweDEzLDB4ZWMsMHgwMCwweGY5LDB4MDAsMHgzZSwweDU1LDB4MGYsMHhiMCwweDAxLDB4NmMsMHgwMCwweGZiIH19LAotIHsxNiwgMHg5ZTQwLCAwLCB7MHgwMiwweDNlLDB4YzAsMHgwZiwweDkwLDB4NzMsMHhlMCwweDAwLDB4ZjgsMHg0MSwweDNlLDB4MDAsMHgwZiwweDMwLDB4MDEsMHhlMCB9fSwKLSB7MTYsIDB4OWU1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHhmYywweDAwLDB4ZmMsMHgwMCwweDMzLDB4YzAgfX0sCi0gezE2LCAweDllNjAsIDAsIHsweDFmLDB4ZjAsMHgxMywweGYwLDB4MDgsMHhmZCwweDAyLDB4M2YsMHhjMCwweDhkLDB4YzAsMHgwMywweDNjLDB4MDAsMHhjZiwweGEwIH19LAotIHsxNiwgMHg5ZTcwLCAwLCB7MHgzZiwweDgwLDB4MGMsMHg3MCwweDAzLDB4M2MsMHgxMCwweGZjLDB4MDAsMHgzNywweGMwLDB4MGYsMHhlMCwweDAzLDB4YjAsMHgwMCB9fSwKLSB7MTYsIDB4OWU4MCwgMCwgezB4ZmUsMHgwMCwweDNmLDB4YzAsMHgwYywweGYwLDB4MDMsMHgwNCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDllOTAsIDAsIHsweDg0LDB4MDQsMHg2ZSwweDAwLDB4YjksMHhjMiwweGEyLDB4ZjAsMHgwYiwweGIwLDB4NDIsMHhlYiwweDAwLDB4YjksMHgwMCwweDJlIH19LAotIHsxNiwgMHg5ZWEwLCAwLCB7MHhjMCwweDBmLDB4MTgsMHgwMywweDZjLDB4MDAsMHhkOSwweDgxLDB4MmUsMHhiMCwweDBhLDB4YjAsMHg0MiwweDJjLDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4OWViMCwgMCwgezB4YzYsMHgyZSwweGMwLDB4MGIsMHg4YywweDAyLDB4ZTMsMHgwMCwweGI4LDB4YzAsMHgzYywweGEwLDB4MGQsMHhiMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweDllYzAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmYsMHgwMCwweGI4LDB4ODAsMHgyMiwweGUyIH19LAotIHsxNiwgMHg5ZWQwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHhlNiwweDIwLDB4YjksMHgwMCwweDJjLDB4YzAsMHgwOCwweGI4LDB4MDIsMHgwYywweDAwLDB4OGIsMHgwMCB9fSwKLSB7MTYsIDB4OWVlMCwgMCwgezB4MmUsMHgzMCwweDQ4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHhiOSwweGMwLDB4MmUsMHhjMSwweDBiLDB4ODgsMHgwMiwweGVlLDB4MTAgfX0sCi0gezE2LCAweDllZjAsIDAsIHsweGI5LDB4YzAsMHgyZSwweDIwLDB4MTksMHhiMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZjAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIwLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDA2LDB4YzAsMHgwMCwweDkxLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4OWYxMCwgMCwgezB4YzAsMHg0OSwweDgwLDB4MDIsMHg0YywweDA0LDB4OTEsMHgwMCwweDJjLDB4MDAsMHg4YSwweDMwLDB4MGEsMHgwYywweDA0LDB4YjEgfX0sCi0gezE2LCAweDlmMjAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDFiLDB4MDAsMHgxMiwweDQ5LDB4MTAsMHhiMSwweDAwLDB4MmUsMHgyMCwweDA5LDB4MzAsMHgwMiwweDAyIH19LAotIHsxNiwgMHg5ZjMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhiOCwweDIwLDB4MjIsMHhjMCB9fSwKLSB7MTYsIDB4OWY0MCwgMCwgezB4OGIsMHhmMCwweDAzLDB4ZTAsMHgwOCwweGZkLDB4MDAsMHgzZiwweGMwLDB4MGMsMHhhMCwweDAzLDB4M2MsMHgwMCwweGNiLDB4MDAgfX0sCi0gezE2LCAweDlmNTAsIDAsIHsweDNlLDB4MDAsMHg0YywweGYwLDB4MGEsMHgzYywweDAwLDB4YjksMHgwMCwweDM3LDB4YzEsMHgwZiwweGEwLDB4MDMsMHhlMCwweDAwIH19LAotIHsxNiwgMHg5ZjYwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHgwMCwweDBkLDB4ZjAsMHgwYiwweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWY3MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDEsMHhmYywweDQwLDB4M2YsMHg4MCwweDRmLDB4ZjAsMHgwMiwweGYwLDB4MDAsMHhmZCwweDAwLDB4M2YgfX0sCi0gezE2LCAweDlmODAsIDAsIHsweGMxLDB4MGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkLDB4MDAsMHgzZiwweDAwLDB4NGYsMHhmMCwweDYzLDB4ZmMsMHgwMCwweGZkIH19LAotIHsxNiwgMHg5ZjkwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDgwLDB4ZmMsMHgwMCwweDdiLDB4MDAsMHgwZiwweGYwLDB4NDMsMHhlOCB9fSwKLSB7MTYsIDB4OWZhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmOCwweDAwLDB4YzgsMHgxMCwweDMzLDB4MDQgfX0sCi0gezE2LCAweDlmYjAsIDAsIHsweDBjLDB4NDAsMHgwMiwweDM0LDB4MDAsMHhjOCwweDg1LDB4MWYsMHhjMCwweDJkLDB4ZDksMHgwMywweGZjLDB4YzAsMHhkYiwweDI4IH19LAotIHsxNiwgMHg5ZmMwLCAwLCB7MHgzNywweDY0LDB4MGYsMHhkYiwweDAzLDB4M2UsMHgwMCwweGZmLDB4MjUsMHgzZiwweGM4LDB4MGUsMHhmMiwweDAzLDB4ZmUsMHgyMCB9fSwKLSB7MTYsIDB4OWZkMCwgMCwgezB4ZmYsMHhhNCwweDM3LDB4YzQsMHgwYywweGM4LDB4MDMsMHgzMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmZTAsIDAsIHsweDgwLDB4MTAsMHhlOCwweDAwLDB4ODgsMHgyMCwweDIyLDB4MDAsMHgwOCwweDg4LDB4MTIsMHgyNiwweDA0LDB4ODksMHg4MiwweDJlIH19LAotIHsxNiwgMHg5ZmYwLCAwLCB7MHhmNCwweDQ4LDB4YjgsMHgwMiwweGZjLDB4YzQsMHg5OCwweGMyLDB4MjIsMHg3YywweDRiLDB4OWQsMHg0MiwweDI2LDB4MDgsMHhiZiB9fSwKLSB7MTYsIDB4YTAwMCwgMCwgezB4MTgsMHg3NywweGU0LDB4MDgsMHhmMSwweDgyLDB4ZWYsMHgwMCwweGJiLDB4ZDAsMHgyMiwweGQ4LDB4MDgsMHg5MCwweDgzLDB4NjAgfX0sCi0gezE2LCAweGEwMTAsIDAsIHsweDAyLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDQ1LDB4YzgsMHgwNCwweGEwLDB4MDAsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhMDIwLCAwLCB7MHgwYSwweDAwLDB4MDIsMHgwYywweDAwLDB4ODIsMHgwNCwweDJjLDB4ZTAsMHgwOCwweDEwLDB4MDIsMHhjYywweDgwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4YTAzMCwgMCwgezB4MjQsMHgwMCwweDBiLDB4MTAsMHgwNiwweGM4LDB4MDEsMHhiMywweDIwLDB4MmMsMHhjMCwweDI5LDB4MzIsMHgwMiwweGM4LDB4MDggfX0sCi0gezE2LCAweGEwNDAsIDAsIHsweGIxLDB4MDAsMHgyNCwweGQwLDB4MDgsMHg4MiwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMDUwLCAwLCB7MHhjMCwweDE1LDB4YTgsMHgwMCwweGE4LDB4MGMsMHgyNiwweDAwLDB4MGEsMHg4MCwweDAyLDB4MmMsMHgxNCwweDhhLDB4MDIsMHg2ZSB9fSwKLSB7MTYsIDB4YTA2MCwgMCwgezB4ZTAsMHgwOCwweGIwLDB4MDIsMHg0YywweDA4LDB4YTgsMHgwMCwweDI2LDB4MjAsMHgwYiwweDljLDB4MDIsMHhlNCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGEwNzAsIDAsIHsweDA0LDB4MjIsMHhjMCwweDE5LDB4YjAsMHgwMiwweGU4LDB4MDEsMHhiYiwweDExLDB4MDIsMHhjMCwweDg4LDB4OTAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhhMDgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNSwweGVjLDB4MDIsMHhlYSwweDQwLDB4YjYsMHg2MCB9fSwKLSB7MTYsIDB4YTA5MCwgMCwgezB4MmUsMHg5OCwweDBiLDB4MjAsMHgwMiwweGM4LDB4MDIsMHgzZSwweGMwLDB4MGQsMHg5OCwweDAzLDB4ZWMsMHgwMiwweGRiLDB4ODggfX0sCi0gezE2LCAweGEwYTAsIDAsIHsweGI2LDB4MjEsMHgwZiwweDg4LDB4MDMsMHhhYywweDA4LDB4ZmIsMHgwMCwweDJjLDB4YzAsMHgwZSwweGIwLDB4NDMsMHhlNSwweDgwIH19LAotIHsxNiwgMHhhMGIwLCAwLCB7MHhmMCwweDYwLDB4MzYsMHhjMCwweDBjLDB4MDEsMHg0MywweDQ4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTBjMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhkNiwweDAxLDB4M2IsMHg2NCwweDg1LDB4ZDksMHgwMywweGYwLDB4MGMsMHhmZiwweDAwLDB4M2UgfX0sCi0gezE2LCAweGEwZDAsIDAsIHsweGMxLDB4MGYsMHhmYywweDIxLDB4ZWMsMHgwMCwweGQ3LDB4OTAsMHgzYiwweDQwLDB4MGYsMHg1MCwweDAzLDB4M2MsMHgwMCwweGZmIH19LAotIHsxNiwgMHhhMGUwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg4ZSwweGYwLDB4MDMsMHhmNCwweDQwLDB4ZmQsMHg4OCwweDNmLDB4YzAsMHgyZiwweGQwLDB4MDIsMHg3OCB9fSwKLSB7MTYsIDB4YTBmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4YywweDAwLDB4ZGEsMHg0MCwweDNjLDB4NDAgfX0sCi0gezE2LCAweGExMDAsIDAsIHsweDBmLDB4MTAsMHgwMywweDQ4LDB4MDAsMHhmOSwweDIyLDB4M2MsMHhjMiwweDBlLDB4OTAsMHg4MywweGVjLDB4MDIsMHhkYiwweDA0IH19LAotIHsxNiwgMHhhMTEwLCAwLCB7MHgzYSwweDA4LDB4MGYsMHg4NCwweDg3LDB4ZTgsMHgwMCwweGNiLDB4MDAsMHgzZSwweGM0LDB4MGUsMHhiMCwweDAzLDB4ZWQsMHgwMCB9fSwKLSB7MTYsIDB4YTEyMCwgMCwgezB4ZTgsMHg0MiwweDNhLDB4YzAsMHgwZiwweDgwLDB4MGIsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExMzAsIDAsIHsweDg4LDB4MDUsMHgyYywweDA4LDB4OGEsMHgwMCwweDJlLDB4NDIsMHg4YiwweDkwLDB4MDIsMHgyOCwweDE4LDB4YmIsMHg0OSwweDIyIH19LAotIHsxNiwgMHhhMTQwLCAwLCB7MHhkMCwweDM4LDB4YmMsMHg4MiwweGZjLDB4MDAsMHhlOCwweDAyLDB4MjIsMHg2MiwweGNiLDB4OWMsMHgwMCwweGVmLDB4NjAsMHhkZiB9fSwKLSB7MTYsIDB4YTE1MCwgMCwgezB4MDAsMHgyZiwweGMwLDB4MGIsMHhmMCwweDAyLDB4ZWMsMHgwMCwweDA5LDB4NDAsMHgzNywweGMwLDB4MGIsMHg5MCwweDAyLDB4MzIgfX0sCi0gezE2LCAweGExNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHgxMCwweDExLDB4MDAsMHgyYywweGEwIH19LAotIHsxNiwgMHhhMTcwLCAwLCB7MHgwYiwweDIwLDB4MDIsMHg0NCwweDAwLDB4OTAsMHhjMCwweDY0LDB4MzQsMHgyOCwweDM0LDB4MDIsMHhjYywweDAwLDB4OTMsMHg4NCB9fSwKLSB7MTYsIDB4YTE4MCwgMCwgezB4MjgsMHg0MCwweDBiLDB4MDgsMHgwMCwweGNlLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMiwweDBhLDB4MzAsMHgwMiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGExOTAsIDAsIHsweGIyLDB4NDAsMHgyMiwweGMwLDB4MGIsMHgyMCwweDAyLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMWEwLCAwLCB7MHg3MCwweDAxLDB4MWEsMHg0MCwweDg1LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg2OCwweDA2LDB4MTYsMHg4MCwweGJkLDB4OTAsMHgyNSB9fSwKLSB7MTYsIDB4YTFiMCwgMCwgezB4MjQsMHgxOCwweDdiLDB4NDIsMHhkZSwweDQwLDB4YTAsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDY4LDB4MDIsMHhkNiwweDAwLDB4OTcgfX0sCi0gezE2LCAweGExYzAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDBiLDB4NzgsMHgwMiwweGNlLDB4NDAsMHg5MiwweDgwLDB4NmQsMHhlNCwweDBiLDB4NzgsMHgwMiwweDA4IH19LAotIHsxNiwgMHhhMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDI4LDB4MDAsMHhkMSwweDgwLDB4M2MsMHg4OCB9fSwKLSB7MTYsIDB4YTFlMCwgMCwgezB4MGIsMHgyMiwweDAzLDB4NGUsMHg4MCwweGYyLDB4YTEsMHgzYywweDI0LDB4MmEsMHgzOSwweDAzLDB4Y2MsMHg0MCwweGQzLDB4YWMgfX0sCi0gezE2LCAweGExZjAsIDAsIHsweDM4LDB4YzUsMHgwZiwweDMwLDB4ODIsMHhjOCwweDAwLDB4ZDMsMHgwMCwweDNjLDB4YzAsMHgwZSwweDMwLDB4MTMsMHhjMCwweDAwIH19LAotIHsxNiwgMHhhMjAwLCAwLCB7MHhmMSwweDAwLDB4MzgsMHhjMCwweDBmLDB4YTAsMHgwMywweDFhLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTIxMCwgMCwgezB4NDAsMHgxZCwweGI4LDB4MTAsMHhmZCwweDM0LDB4M2UsMHg4MCwweDBmLDB4ZTAsMHgwMywweGVlLDB4MDAsMHg3MiwweDAwLDB4M2EgfX0sCi0gezE2LCAweGEyMjAsIDAsIHsweDAwLDB4MGYsMHhiMCwweDYzLDB4ZWMsMHg0MCwweGY4LDB4MjIsMHgzZSwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZDQsMHg0MCwweGZmIH19LAotIHsxNiwgMHhhMjMwLCAwLCB7MHgwMCwweDNmLDB4ZDIsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4Y2YsMHgwMCwweDM3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4YTI0MCwgMCwgezB4MDYsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZSwweDAwLDB4ZWIsMHgwMCwweDM2LDB4ZTAgfX0sCi0gezE2LCAweGEyNTAsIDAsIHsweDBkLDB4YjAsMHgwMywweDIwLDB4MDAsMHhmMCwweDgwLDB4MzMsMHhjMCwweDA4LDB4YjgsMHgwMywweDJjLDB4ODAsMHhjYiwweDAwIH19LAotIHsxNiwgMHhhMjYwLCAwLCB7MHgzMiwweDgwLDB4MGYsMHhhMCwweDEzLDB4NmUsMHgwOCwweGNiLDB4MjgsMHgzMiwweGUwLDB4MGQsMHhiNCwweDgzLDB4ZTIsMHgwMCB9fSwKLSB7MTYsIDB4YTI3MCwgMCwgezB4Y2EsMHgwMCwweDNlLDB4ZTAsMHgwYywweGE4LDB4MDMsMHgwMiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEyODAsIDAsIHsweGM4LDB4MTEsMHg4YywweDA0LDB4ODMsMHgwMCwweDIxLDB4YzAsMHg0OCwweDcwLDB4MDIsMHgxMCwweDAwLDB4YjcsMHgwMiwweDIxIH19LAotIHsxNiwgMHhhMjkwLCAwLCB7MHhjMCwweDRhLDB4NzAsMHgwMiwweDBkLDB4NDgsMHhkNCwweDAwLDB4MzUsMHhjMCwweDBlLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhhNyB9fSwKLSB7MTYsIDB4YTJhMCwgMCwgezB4NDAsMHgyOSwweGMwLDB4MDksMHg3MiwweDAyLDB4ZDQsMHgxMCwweGE2LDB4MDIsMHgyZiwweGM4LDB4MDgsMHg3MCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGEyYjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweGE3LDB4ODAsMHgyMCwweGUwIH19LAotIHsxNiwgMHhhMmMwLCAwLCB7MHgwYSwweDM4LDB4MDIsMHgxYSwweDAwLDB4YjUsMHg4MCwweDIxLDB4ZTAsMHgwOCwweGY4LDB4MjIsMHg1YywweDgxLDB4ODMsMHg4MCB9fSwKLSB7MTYsIDB4YTJkMCwgMCwgezB4MjEsMHhhMSwweDBiLDB4NzgsMHg4MiwweDVhLDB4MTAsMHg4MywweGEwLDB4MjAsMHhlOCwweDBhLDB4N2IsMHgwMiwweGRhLDB4MDAgfX0sCi0gezE2LCAweGEyZTAsIDAsIHsweDk3LDB4YzAsMHgyZCwweGU0LDB4MDgsMHhlOCwweDAyLDB4MDgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMmYwLCAwLCB7MHgwOCwweDE0LDB4Y2MsMHgwMCwweDgzLDB4MTAsMHgyMCwweGMwLDB4MGEsMHgzMCwweDAyLDB4MDgsMHgwOCwweGIzLDB4NzAsMHgyMCB9fSwKLSB7MTYsIDB4YTMwMCwgMCwgezB4ZjgsMHgwYSwweDMwLDB4NDIsMHg0YywweDA0LDB4OTMsMHgxNCwweDI2LDB4YzQsMHgwYSwweDM4LDB4MDIsMHhjYywweDAwLDB4YTMgfX0sCi0gezE2LCAweGEzMTAsIDAsIHsweDAwLDB4MjgsMHhjMCwweGFhLDB4MzAsMHgwMiwweGNlLDB4NDAsMHhiMywweDg4LDB4MmMsMHhjMCwweDI4LDB4MzAsMHgwYSwweDEyIH19LAotIHsxNiwgMHhhMzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE5LDB4MDAsMHhlYSwweDgwLDB4YjYsMHg5MCB9fSwKLSB7MTYsIDB4YTMzMCwgMCwgezB4MmYsMHgyNCwweDBiLDB4MzksMHgwNCwweGJlLDB4YzAsMHgzMywweDkyLDB4MGMsMHhhMCwweDBiLDB4NjgsMHgxOCwweGNlLDB4YzAgfX0sCi0gezE2LCAweGEzNDAsIDAsIHsweDMzLDB4ODAsMHgwZiwweGU5LDB4NDMsMHg3OCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4ODAsMHgwZiwweGEwLDB4MTMsMHhmOCwweDQ4IH19LAotIHsxNiwgMHhhMzUwLCAwLCB7MHhkZSwweDAwLDB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMiwweDNhLDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTM2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MjQsMHhmOCwweDAwLDB4M2UsMHgxMiwweDBkLDB4ODAsMHg5MywweGIwLDB4MjgsMHhmOCwweDAwLDB4YmMgfX0sCi0gezE2LCAweGEzNzAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAyLDB4MGUsMHg4MCwweDAwLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHhhMzgwLCAwLCB7MHgwMSwweDNlLDB4MDAsMHgwZCwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4YTM5MCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweGIyLDB4NzAgfX0sCi0gezE2LCAweGEzYTAsIDAsIHsweDBmLDB4OTAsMHgwMSwweDA0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTgsMHgwMywweGU0LDB4MDQsMHhlOSwweDA4IH19LAotIHsxNiwgMHhhM2IwLCAwLCB7MHgzYSwweDQ4LDB4MGMsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4MGIsMHgxMCwweDBiLDB4MjYsMHg4MCB9fSwKLSB7MTYsIDB4YTNjMCwgMCwgezB4ZjEsMHg4MCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHgwMCwweDIyLDB4NjEsMHgwYiwweDkwLDB4MDIsMHgyNCwweDA4LDB4ODksMHgwMCwweDJlIH19LAotIHsxNiwgMHhhM2UwLCAwLCB7MHg0MCwweDBkLDB4OWEsMHgwMiwweGU0LDB4MDgsMHhhOSwweDAwLDB4MjIsMHg3OCwweDBkLDB4OTQsMHgwNiwweGU0LDB4MTAsMHhiOSB9fSwKLSB7MTYsIDB4YTNmMCwgMCwgezB4MDAsMHgyMiwweDUwLDB4MGIsMHg5MCwweDAyLDB4MjUsMHg4MCwweGI5LDB4ODAsMHgzNiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGE0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI1LDB4MDAsMHgyMywweDQyIH19LAotIHsxNiwgMHhhNDEwLCAwLCB7MHgwYiwweGQwLDB4MGUsMHhiNCwweDAwLDB4ODksMHgwNCwweDJlLDB4NjAsMHgwOCwweDkxLDB4MDIsMHhjNCwweDA0LDB4YjksMHgwNCB9fSwKLSB7MTYsIDB4YTQyMCwgMCwgezB4MmEsMHhjMCwweDA4LDB4OTQsMHgwMiwweGU0LDB4MTAsMHhiMSwweDAwLDB4MjYsMHg0MiwweDBhLDB4OTAsMHgwMiwweDI0LDB4MDAgfX0sCi0gezE2LCAweGE0MzAsIDAsIHsweGI5LDB4MjEsMHg2MiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNDQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweGI1LDB4NDAsMHgyMSwweDUwLDB4NGIsMHg1MCwweDA2LDB4OTQsMHgwMiwweDgxLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4YTQ1MCwgMCwgezB4NjAsMHgyOSwweDE0LDB4MDYsMHhjNSwweDAwLDB4YTEsMHgyMiwweDIwLDB4NTEsMHg4OSwweDE0LDB4MDIsMHhjNCwweDAwLDB4YjEgfX0sCi0gezE2LCAweGE0NjAsIDAsIHsweDIwLDB4MjAsMHg0OCwweDBiLDB4MTQsMHgwMiwweDA0LDB4MDEsMHhiMSwweDAwLDB4MDQsMHg1MCwweDBiLDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhhNDcwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDgsMHhiOCwweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YTQ4MCwgMCwgezB4OGYsMHg4MCwweDAzLDB4YjAsMHgwMCwweDg4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGU4LDB4MDQgfX0sCi0gezE2LCAweGE0OTAsIDAsIHsweDNhLDB4MDAsMHgwYywweDgwLDB4MDIsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHgyMCwweDA0IH19LAotIHsxNiwgMHhhNGEwLCAwLCB7MHhmOCwweDAxLDB4MTIsMHgwMCwweDRmLDB4ODAsMHgwNywweGVlLDB4MDcsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTRiMCwgMCwgezB4OTgsMHgxZCwweGU1LDB4MTAsMHhmOSwweDQwLDB4M2UsMHg1MCwweDBmLDB4OTQsMHgwMiwweDY1LDB4MDEsMHhmZCwweDAxLDB4M2QgfX0sCi0gezE2LCAweGE0YzAsIDAsIHsweDUwLDB4NGYsMHg1MCwweDEzLDB4ZTUsMHgwMCwweGZkLDB4MTAsMHgxZiwweDUwLDB4MDcsMHhkNCwweDQzLDB4ZDQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhhNGQwLCAwLCB7MHgxMCwweDFlLDB4NDQsMHgwZiwweDk0LDB4MDMsMHhkNSwweDAwLDB4ZmQsMHg0MCwweDNlLDB4NTAsMHgwZiwweDUyLDB4ODMsMHhlZSB9fSwKLSB7MTYsIDB4YTRlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhlNCwweDQwLDB4ZjksMHg2MCwweDNmLDB4NDQgfX0sCi0gezE2LCAweGE0ZjAsIDAsIHsweDBmLDB4ZDAsMHhjMywweGU0LDB4MzAsMHhmOSwweDAxLDB4M2UsMHg0MiwweDBjLDB4ZDAsMHgwMywweGU3LDB4ODAsMHhkZCwweGEwIH19LAotIHsxNiwgMHhhNTAwLCAwLCB7MHgzMywweDQwLDB4MGMsMHhkMCwweDAzLDB4ZmMsMHgwMCwweGM5LDB4OTAsMHgzZiwweDY4LDB4MWUsMHg5MSwweDAzLDB4MzQsMHgwMCB9fSwKLSB7MTYsIDB4YTUxMCwgMCwgezB4ZmQsMHgwMCwweDNlLDB4NjgsMHgwYywweDk0LDB4MDMsMHgwZSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1MjAsIDAsIHsweDM5LDB4MTAsMHhlMCwweDAwLDB4YjgsMHg0MiwweDJlLDB4MDksMHgwYiwweDg0LDB4MDIsMHhlMSwweDA0LDB4YmUsMHgwMCwweDJlIH19LAotIHsxNiwgMHhhNTMwLCAwLCB7MHgxMCwweDA4LDB4ODAsMHgyMiwweGMyLDB4ODAsMHg4OCwweDQwLDB4MjIsMHgwMCwweDBhLDB4ODAsMHgwMiwweGUwLDB4MDAsMHhhOCB9fSwKLSB7MTYsIDB4YTU0MCwgMCwgezB4ZDAsMHgyZSwweDEwLDB4NGIsMHg4YSwweDAzLDB4NjAsMHgwMCwweGJhLDB4MDAsMHgyZSwweDMwLDB4MDgsMHg4YSwweDAyLDB4ODYgfX0sCi0gezE2LCAweGE1NTAsIDAsIHsweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA1LDB4YzUsMHg4MCwweGIxLDB4NjAsMHg2YywweGQwIH19LAotIHsxNiwgMHhhNTYwLCAwLCB7MHgwYiwweDEwLDB4MDAsMHhkYywweDBjLDB4YjUsMHgwMCwweDJjLDB4NDEsMHgwOCwweDEwLDB4MDIsMHhjNSwweDgwLDB4OTEsMHgxMCB9fSwKLSB7MTYsIDB4YTU3MCwgMCwgezB4NjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweGU0LDB4MGMsMHg4MSwweDIyLDB4MmMsMHg1MCwweDA4LDB4MTAsMHg0MiwweDA0LDB4MDAgfX0sCi0gezE2LCAweGE1ODAsIDAsIHsweGExLDB4MDAsMHgyYywweDVhLDB4MjgsMHg5MCwweDAyLDB4NTIsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNTkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQxLDB4MGIsMHg5MCwweDEyLDB4ZjQsMHg4MCwweGJmLDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YTVhMCwgMCwgezB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YTksMHg2MCwweDYwLDB4NDIsMHgwYSwweDk0LDB4MTIsMHhlNSwweDAwLDB4YTkgfX0sCi0gezE2LCAweGE1YjAsIDAsIHsweDAwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDY0LDB4MjAsMHhiOSwweDAwLDB4MGUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGM2IH19LAotIHsxNiwgMHhhNWMwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MSB9fSwKLSB7MTYsIDB4YTVkMCwgMCwgezB4MGYsMHg5MCwweDIzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGQxLDB4YzAgfX0sCi0gezE2LCAweGE1ZTAsIDAsIHsweGJhLDB4NzAsMHgwYywweDk4LDB4MDMsMHhjNCwweDAwLDB4YzksMHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4MDMsMHgyNSwweDQwIH19LAotIHsxNiwgMHhhNWYwLCAwLCB7MHhlOSwweDQwLDB4M2UsMHg0MCwweDBjLDB4MTAsMHgwMywweDY4LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTYwMCwgMCwgezB4NjgsMHgwMSwweGE0LDB4MTQsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgyMywweGU0LDB4MDgsMHhmOSwweGEwLDB4M2MgfX0sCi0gezE2LCAweGE2MTAsIDAsIHsweGMyLDB4MmYsMHg5MCwweDAzLDB4YzQsMHgwMCwweGQ5LDB4ODAsMHgzZSwweDcwLDB4MGYsMHg5MSwweDQzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhhNjIwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgxZiwweDkwLDB4MTMsMHhlNiwweDIwLDB4ZjksMHhhMCwweDNjLDB4NDAsMHg0ZSwweDkwLDB4MDMsMHg5YSB9fSwKLSB7MTYsIDB4YTYzMCwgMCwgezB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDIgfX0sCi0gezE2LCAweGE2NDAsIDAsIHsweDBmLDB4ODAsMHgxMywweDIwLDB4MGMsMHhmYywweDAxLDB4M2UsMHgwMCwweDBjLDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDUwIH19LAotIHsxNiwgMHhhNjUwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDBiLDB4MjAsMHgwOCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg4MCwweDQzLDB4ZTAsMHg0MCB9fSwKLSB7MTYsIDB4YTY2MCwgMCwgezB4ZjgsMHgwMiwweDNhLDB4MDAsMHg4ZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE2NzAsIDAsIHsweGE4LDB4ODUsMHgyOCwweDA4LDB4M2EsMHgwMCwweDBmLDB4ODAsMHg0YiwweGExLDB4MDIsMHgyOCwweDAwLDB4YmEsMHg4MiwweDJlIH19LAotIHsxNiwgMHhhNjgwLCAwLCB7MHg4OCwweDQ4LDB4ZTQsMHgwMiwweGU4LDB4MDAsMHhhZSwweDkwLDB4YTMsMHg5MCwweDBiLDB4ZTAsMHgwMCwweDM4LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4YTY5MCwgMCwgezB4MDAsMHgzNywweGEwLDB4MDgsMHhhMCwweDAyLDB4ZjgsMHgwMCwweDllLDB4ZTAsMHgyMiwweDgwLDB4MGIsMHhhMCwweDIzLDB4NDIgfX0sCi0gezE2LCAweGE2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgxMCwweDMzLDB4MDAsMHgyYywweGQwIH19LAotIHsxNiwgMHhhNmIwLCAwLCB7MHgwYiwweDE0LDB4MDIsMHgwYywweDAwLDB4YjIsMHg5MSwweDJjLDB4ZDAsMHgwOCwweDNlLDB4MDIsMHg0YywweDAwLDB4ODMsMHg0MCB9fSwKLSB7MTYsIDB4YTZjMCwgMCwgezB4MjQsMHhjMiwweDBiLDB4MzYsMHgwMCwweDhjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDA5LDB4YjAsMHgwMiwweGNlLDB4MDAgfX0sCi0gezE2LCAweGE2ZDAsIDAsIHsweGIzLDB4Y2MsMHg2OCwweGMwLDB4MGIsMHgzMCwweDAyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNmUwLCAwLCB7MHhlMCwweDAxLDB4MWMsMHg4OCwweGI3LDB4MjUsMHgyZCwweGMwLDB4OGIsMHg1OCwweDFhLDB4MWMsMHgwOCwweGI2LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4YTZmMCwgMCwgezB4YzAsMHgwOCwweDc0LDB4MDIsMHhkYywweDQwLDB4YTUsMHgwMCwweDI1LDB4YzAsMHgxYiwweDc4LDB4MDIsMHg5NCwweDA4LDB4YjcgfX0sCi0gezE2LCAweGE3MDAsIDAsIHsweDgwLDB4MjUsMHhlMywweDBhLDB4NzEsMHgwMiwweGRjLDB4MDAsMHg5NywweDgzLDB4MjEsMHhjOCwweDhiLDB4ZjEsMHgwMiwweDQ4IH19LAotIHsxNiwgMHhhNzEwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFmLDB4MDAsMHhmNywweGUyLDB4N2QsMHhlMCB9fSwKLSB7MTYsIDB4YTcyMCwgMCwgezB4MGYsMHg1OCwweDQzLDB4MWUsMHgxOCwweGY2LDB4ODAsMHg3YywweGUwLDB4MmMsMHg2OCwweDAyLDB4NWUsMHg5MCwweGMzLDB4ODAgfX0sCi0gezE2LCAweGE3MzAsIDAsIHsweDM1LDB4ZTAsMHgwZiwweGY4LDB4MDMsMHg5ZSwweDA0LDB4ZmYsMHhhMSwweDIwLDB4YTEsMHgwZCwweDc4LDB4MDMsMHhkNiwweDAwIH19LAotIHsxNiwgMHhhNzQwLCAwLCB7MHhmNywweDgwLDB4MzksMHhmOCwweDBmLDB4NzgsMHgwMywweDBhLDB4MDYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTc1MCwgMCwgezB4NDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDQwLDB4N2YsMHg0MSwweDBmLDB4MTAsMHgwMywweGVjLDB4MDQsMHhmYSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGE3NjAsIDAsIHsweGQwLDB4MGYsMHhhMCwweDAzLDB4ZWQsMHgwMCwweGU5LDB4MDAsMHgyYSwweDAwLDB4MGYsMHhiMCwweDAzLDB4NjQsMHgwMCwweGZiIH19LAotIHsxNiwgMHhhNzcwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlNCwweDAwLDB4ZDMsMHgwMCwweDM2LDB4YzAsMHgwZiwweDM4LDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YTc4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDQ4LDB4Y2YsMHhjMCwweDMzLDB4NjAgfX0sCi0gezE2LCAweGE3OTAsIDAsIHsweDhjLDB4YzgsMHg0MywweGQ2LDB4MDAsMHhjYywweDk0LDB4M2YsMHhiMCwweDBkLDB4ZjgsMHgwMywweDdmLDB4MDAsMHhkZiwweDgwIH19LAotIHsxNiwgMHhhN2EwLCAwLCB7MHgzZiwweDYwLDB4MGYsMHhkOCwweDAzLDB4ZGUsMHgwMCwweGNmLDB4Y2EsMHgzZCwweDYwLDB4MGMsMHhmOCwweDEzLDB4M2EsMHg0NCB9fSwKLSB7MTYsIDB4YTdiMCwgMCwgezB4ZGQsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4NDMsMHgxOCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3YzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4OGYsMHgxMSwweDMzLDB4YzAsMHg0OCwweDQxLDB4MTIsMHhjNCwweDQ4LDB4ODQsMHgxMSwweDJjIH19LAotIHsxNiwgMHhhN2QwLCAwLCB7MHhlYywweDJhLDB4YmEsMHgwMywweDNjLDB4NDAsMHhkNywweDQ4LDB4MmQsMHg0MSwweDBiLDB4NjAsMHgwMiwweGQ0LDB4MDAsMHhkNyB9fSwKLSB7MTYsIDB4YTdlMCwgMCwgezB4MDEsMHgzZCwweGMwLDB4MGQsMHhmMCwweDAzLDB4NWEsMHgwMCwweDg0LDB4MTgsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAzLDB4NmEgfX0sCi0gezE2LCAweGE3ZjAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4OGMsMHgwOCwweDg3LDB4MDAsMHgyMSwweDQwIH19LAotIHsxNiwgMHhhODAwLCAwLCB7MHgwOSwweDQwLDB4MDIsMHhkNCwweDAwLDB4YTQsMHg5MiwweDJkLDB4YzgsMHgwOSwweDYyLDB4ODIsMHg1YywweDAwLDB4ODcsMHgwMCB9fSwKLSB7MTYsIDB4YTgxMCwgMCwgezB4MmQsMHhjMCwweDBiLDB4NTAsMHgwMiwweGZjLDB4MDAsMHg4NywweDAwLDB4MmQsMHgwNCwweDA4LDB4NzAsMHgwMiwweDFjLDB4ODAgfX0sCi0gezE2LCAweGE4MjAsIDAsIHsweGI1LDB4MDAsMHgyZCwweGMwLDB4MGIsMHhmMCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhODMwLCAwLCB7MHg2MCwweDEwLDB4Y2MsMHgwMCwweDgzLDB4MDAsMHgyMCwweDQwLDB4MDksMHgwMCwweDIyLDB4YzcsMHgwMCwweGEwLDB4NDEsMHgyYyB9fSwKLSB7MTYsIDB4YTg0MCwgMCwgezB4YzEsMHg0YiwweDA4LDB4MDIsMHgyYywweDAwLDB4OTMsMHg0MCwweDJjLDB4N2MsMHgwYiwweDM4LDB4MDIsMHhjNywweDIwLDB4OTMgfX0sCi0gezE2LCAweGE4NTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA5LDB4MzAsMHgwMiwweDRmLDB4ODQsMHhiMCwweDgwLDB4MmMsMHhjMCwweDBiLDB4MzIsMHgxMCwweDUwIH19LAotIHsxNiwgMHhhODYwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YWEsMHgxNSwweGJjLDB4MDIsMHhjZiwweDAwLDB4YjIsMHg0MCB9fSwKLSB7MTYsIDB4YTg3MCwgMCwgezB4MGQsMHgxMCwweDAzLDB4ZTgsMHgyNCwweGViLDB4YzEsMHgzZSwweGMwLDB4MmQsMHg5OCwweDEzLDB4N2MsMHgwYSwweGMyLDB4NDMgfX0sCi0gezE2LCAweGE4ODAsIDAsIHsweDNlLDB4YjAsMHgwZiwweGE5LDB4MDMsMHhlOSwweDIwLDB4Y2YsMHgwMCwweDNlLDB4YzAsMHg4YywweGYwLDB4MDMsMHgwZCwweDIwIH19LAotIHsxNiwgMHhhODkwLCAwLCB7MHhmYSwweGMwLDB4M2YsMHhjMCwweDBmLDB4NzQsMHgwMSwweDJhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YThhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAyLDB4M2EsMHg0MCwweDhlLDB4OTAsMHgwMywweGU4LDB4MTQsMHg1YiwweDUwLDB4M2MgfX0sCi0gezE2LCAweGE4YjAsIDAsIHsweDUwLDB4NGUsMHg4NCwweDAzLDB4ZWMsMHgwMCwweGY4LDB4NDAsMHgzZSwweDgwLDB4MDcsMHg4MSwweDAzLDB4ZWMsMHgwOCwweGYzIH19LAotIHsxNiwgMHhhOGMwLCAwLCB7MHgwMCwweDNhLDB4YzAsMHg5ZiwweDMwLDB4MDMsMHhlYywweDAwLDB4Y2IsMHgyMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MjMsMHhlOCB9fSwKLSB7MTYsIDB4YThkMCwgMCwgezB4MDQsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4OTAsMHhmYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4NDAgfX0sCi0gezE2LCAweGE4ZTAsIDAsIHsweDBmLDB4ZDAsMHgwMywweDM4LDB4MjAsMHhjZiwweDA4LDB4MzIsMHhjMSwweDBlLDB4ZDAsMHgwMywweGZjLDB4MDAsMHhmZSwweDA4IH19LAotIHsxNiwgMHhhOGYwLCAwLCB7MHgzMSwweGU1LDB4MGUsMHhlNCwweDAzLDB4M2EsMHgwMCwweGZmLDB4MDAsMHgzMywweDgwLDB4MGYsMHhmMCwweDJiLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTkwMCwgMCwgezB4Y2MsMHhhMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5MTAsIDAsIHsweDgwLDB4MDQsMHg2YywweDAwLDB4YmIsMHgwMCwweDNhLDB4NjksMHgwYiwweDkwLDB4NmUsMHgwOCwweDAwLDB4ODMsMHg0MSwweDM2IH19LAotIHsxNiwgMHhhOTIwLCAwLCB7MHg0MCwweGM4LDB4ODgsMHhjNiwweGVjLDB4MDAsMHg4OCwweDQwLDB4MzYsMHg4MCwweDBkLDB4YTgsMHgwMywweDZlLDB4NTAsMHhiYiB9fSwKLSB7MTYsIDB4YTkzMCwgMCwgezB4MDAsMHgzNiwweGMwLDB4MGIsMHhiMCwweDAyLDB4MjQsMHgwMCwweGQ5LDB4MDgsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGE5NDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweDYwIH19LAotIHsxNiwgMHhhOTUwLCAwLCB7MHgwMywweDgwLDB4MDIsMHgyMCwweDAwLDB4ODksMHgwMSwweDIyLDB4NTgsMHgwOCwweDk4LDB4MjIsMHhlYywweDAxLDB4YWIsMHgwMCB9fSwKLSB7MTYsIDB4YTk2MCwgMCwgezB4MjIsMHgwMCwweDBhLDB4MTAsMHgwMiwweDI4LDB4MDAsMHhiYiwweDAwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHgwMiwweDI4LDB4MDAgfX0sCi0gezE2LCAweGE5NzAsIDAsIHsweDhhLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4MjAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOTgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyOCwweDQwLDB4OGIsMHgwMCwweDAyLDB4MDIsMHg0MCwweDg5LDB4MDEsMHgyNCB9fSwKLSB7MTYsIDB4YTk5MCwgMCwgezB4ZDIsMHgyOCwweDEwLDB4MDIsMHhjYywweDAwLDB4ODMsMHgxMCwweDI0LDB4MjAsMHgwOCwweDA4LDB4MDIsMHg0ZSwweDAwLDB4YjMgfX0sCi0gezE2LCAweGE5YTAsIDAsIHsweDA0LDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDA4LDB4ODgsMHg5MiwweDAwLDB4MmMsMHhjMCwweDBiLDB4YjAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhhOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4YTljMCwgMCwgezB4MGYsMHg4MCwweDAyLDB4MjAsMHgxMCwweDg5LDB4NTAsMHgyMiwweGQ4LDB4MmUsMHg5NiwweDIyLDB4ZmMsMHgwMCwweGViLDB4NDAgfX0sCi0gezE2LCAweGE5ZDAsIDAsIHsweDMyLDB4YzAsMHgwYSwweDkwLDB4MDMsMHgyOCwweDAwLDB4ZmYsMHgwMCwweDIyLDB4MDAsMHgwZiwweGIwLDB4MDMsMHgyYywweGEwIH19LAotIHsxNiwgMHhhOWUwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDAwLDB4MDYsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTlmMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmZiwweDBjLDB4M2IsMHgwMCwweDBmLDB4YzAsMHgwMiwweDcwLDB4OTAsMHhmZCwweDAwLDB4M2UgfX0sCi0gezE2LCAweGFhMDAsIDAsIHsweGM5LDB4MGYsMHg5NiwweGMzLDB4ZmMsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZmMsMHgwNCwweGZmIH19LAotIHsxNiwgMHhhYTEwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlYywweDAwLDB4ZmMsMHgwMCwweDNmLDB4YzAsMHgwZiwweDcwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4YWEyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkYywweDgwLDB4ZmIsMHgyOCwweDNmLDB4MDAgfX0sCi0gezE2LCAweGFhMzAsIDAsIHsweDBjLDB4YzEsMHgwYiwweGYxLDB4MDIsMHhlZCwweDAwLDB4MzcsMHgzMCwweDJjLDB4ZjEsMHgwMywweGIyLDB4NDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhhYTQwLCAwLCB7MHhiYiwweGMwLDB4MGYsMHg0OCwweDA2LDB4YjIsMHgwMCwweGZjLDB4ODAsMHgzYiwweGNjLDB4MGMsMHhmMCwweDAzLDB4NzAsMHg4MCB9fSwKLSB7MTYsIDB4YWE1MCwgMCwgezB4ZGYsMHgyOCwweDMzLDB4MDQsMHgwZiwweGY0LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFhNjAsIDAsIHsweDgwLDB4MTAsMHhmZiwweDQwLDB4YmYsMHg2MCwweDJlLDB4MjEsMHgwOCwweDgyLDB4MDIsMHgyMCwweDAwLDB4YTksMHgyOCwweDJhIH19LAotIHsxNiwgMHhhYTcwLCAwLCB7MHgwMCwweDA5LDB4ZmEsMHgwMiwweDIwLDB4MDAsMHhiZiwweDUxLDB4MjMsMHhkOCwweDA5LDB4OTgsMHgwMiwweGU0LDB4MzAsMHhiMCB9fSwKLSB7MTYsIDB4YWE4MCwgMCwgezB4MDAsMHgyMywweGQwLDB4MDgsMHhmNSwweGEyLDB4MjUsMHhhNCwweDhmLDB4NDIsMHgzYywweDEwLDB4MGIsMHhiMCwweDBhLDB4MjAgfX0sCi0gezE2LCAweGFhOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweGIzLDB4MDgsMHgyYywweDAwIH19LAotIHsxNiwgMHhhYWEwLCAwLCB7MHgyOCwweDAwLDB4MWEsMHhjMCwweDg0LDB4MjAsMHgwMCwweDI0LDB4YzgsMHg0YiwweDMxLDB4NDIsMHhjMCwweDAwLDB4OTMsMHgwMiB9fSwKLSB7MTYsIDB4YWFiMCwgMCwgezB4MjAsMHhjNiwweDA4LDB4MDAsMHgwNiwweGMwLDB4ODEsMHhiMywweDAwLDB4MmMsMHhkOCwweDA5LDB4MzIsMHgwMiwweGEwLDB4NDAgfX0sCi0gezE2LCAweGFhYzAsIDAsIHsweDkzLDB4MDEsMHgyNCwweDRjLDB4MGIsMHgzMiwweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYWQwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgwMCwweGJiLDB4MDIsMHgyZSwweDBhLDB4MDgsMHg4MCwweDgyLDB4NjAsMHgwMCwweGE4LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4YWFlMCwgMCwgezB4ZTAsMHgxYiwweGIwLDB4MDIsMHg2MiwweDAxLDB4M2IsMHgwMCwweDIyLDB4YzEsMHgwOSwweDkwLDB4MDIsMHhlMiwweDAwLDB4YmIgfX0sCi0gezE2LCAweGFhZjAsIDAsIHsweDYwLDB4MjYsMHhjMSwweDA4LDB4YjAsMHgyYSwweDI2LDB4MDAsMHg5YiwweDA0LDB4MmUsMHgyMSwweDBiLDB4YjAsMHgwMiwweDMwIH19LAotIHsxNiwgMHhhYjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHgxMCB9fSwKLSB7MTYsIDB4YWIxMCwgMCwgezB4MDgsMHg4NCwweDEzLDB4ZWMsMHgwMiwweGE5LDB4MDQsMHgzNiwweDIwLDB4MGYsMHhiMCwweDAzLDB4ZWUsMHg4MCwweGZiLDB4MDAgfX0sCi0gezE2LCAweGFiMjAsIDAsIHsweDNhLDB4YzAsMHgwYywweGEwLDB4MDMsMHhhMiwweDgwLDB4NzksMHg0MCwweDFlLDB4YzAsMHg4YywweGIwLDB4NjMsMHg2YSwweDEwIH19LAotIHsxNiwgMHhhYjMwLCAwLCB7MHhkMywweDAwLDB4MzYsMHhhMiwweDA3LDB4YjAsMHgwMywweDAwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWI0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2UsMHgyMCwweDRkLDB4NDEsMHgwMywweDljLDB4MDAsMHhmZCwweDIwLDB4YWIgfX0sCi0gezE2LCAweGFiNTAsIDAsIHsweDAwLDB4MGMsMHhmMCwweDAzLDB4YjgsMHgwMCwweGY3LDB4MDAsMHgzZiwweGMwLDB4NGQsMHhjOSwweDAzLDB4ZjQsMHgwMCwweGZmIH19LAotIHsxNiwgMHhhYjYwLCAwLCB7MHgwMCwweDNiLDB4YzAsMHgyZSwweGYwLDB4MDAsMHhmMCwweDAwLDB4ZWYsMHgwMCwweDNmLDB4MDAsMHg0YiwweDcwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4YWI3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDgwLDB4ZWIsMHgwMCwweDdlLDB4MTAgfX0sCi0gezE2LCAweGFiODAsIDAsIHsweDJlLDB4ODQsMHgwMywweGVjLDB4MDAsMHhlMCwweDAwLDB4MzIsMHg1MCwweDBmLDB4YjAsMHg4NiwweDI1LDB4MDAsMHhkYiwweDIwIH19LAotIHsxNiwgMHhhYjkwLCAwLCB7MHgzYSwweGMwLDB4MGQsMHhiMCwweDYzLDB4ZTEsMHgxMCwweGZiLDB4NDgsMHgzOCwweGMxLDB4MGYsMHgzMCwweDAzLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4YWJhMCwgMCwgezB4ZmIsMHgwOCwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiYjAsIDAsIHsweGM4LDB4MDUsMHgzYywweDAwLDB4OGYsMHgwMCwweDY0LDB4MjksMHgyOCwweDgwLDB4MDMsMHhlYywweDAyLDB4ZTgsMHgwNCwweGE4IH19LAotIHsxNiwgMHhhYmMwLCAwLCB7MHg1NiwweDA4LDB4ZmMsMHgwNywweGUwLDB4MDAsMHgwZiwweGEwLDB4YmYsMHhjMCwweDBiLDB4OTUsMHgwMiwweGEwLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YWJkMCwgMCwgezB4MDUsMHgzNywweGMwLDB4ODksMHhmMCwweDBhLDB4MGQsMHhjOCwweGJmLDB4MDgsMHgyYSwweDgwLDB4MDgsMHhmMCwweDAyLDB4MzIgfX0sCi0gezE2LCAweGFiZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMSwweGIzLDB4MDIsMHgyNCwweGUwIH19LAotIHsxNiwgMHhhYmYwLCAwLCB7MHgwYSwweDMwLDB4MTIsMHg4MCwweDAzLDB4YTMsMHgwMCwweGE4LDB4MDAsMHgwMiwweGI4LDB4MjIsMHhjMCwweDAwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4YWMwMCwgMCwgezB4MjgsMHhjMSwweDBiLDB4MDQsMHgwMiwweDA4LDB4MDAsMHhiOSwweDQwLDB4MjgsMHhjMCwweDBiLDB4MzAsMHgwMiwweDAzLDB4MDQgfX0sCi0gezE2LCAweGFjMTAsIDAsIHsweGIzLDB4NDQsMHgyMCwweDAwLDB4NGEsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzIwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgyMCwweDE3LDB4YTAsMHg2NSwweGVjLDB4MDgsMHgzOCwweDAyLDB4YzIsMHg0MSwweGIzLDB4OTIsMHgyYiB9fSwKLSB7MTYsIDB4YWMzMCwgMCwgezB4NjQsMHgwYSwweDM4LDB4MDIsMHgzNiwweDAxLDB4YjcsMHg5MCwweDJkLDB4ZTAsMHgwMywweGY4LDB4MDAsMHg5YSwweDAwLDB4YjUgfX0sCi0gezE2LCAweGFjNDAsIDAsIHsweDgwLDB4MmQsMHhlMCwweDg5LDB4NzgsMHgxMiwweDFlLDB4MDAsMHhiNywweDgwLDB4MjksMHhlMCwweDBhLDB4NzgsMHgwMiwweDA4IH19LAotIHsxNiwgMHhhYzUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg3MywweGIwLDB4MjQsMHhjOCB9fSwKLSB7MTYsIDB4YWM2MCwgMCwgezB4NGUsMHgzMCwweDBhLDB4ODAsMHgwMiwweGUyLDB4MDAsMHgzOCwweDk0LDB4MGUsMHgzMSwweGEyLDB4YzgsMHgwMCwweDczLDB4MDAgfX0sCi0gezE2LCAweGFjNzAsIDAsIHsweDE4LDB4YzQsMHgwNSwweDAwLDB4MDMsMHgwMCwweDAwLDB4ZjMsMHgwMCwweDM4LDB4YzAsMHgwNywweGIxLDB4MDMsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYzgwLCAwLCB7MHhmMywweDAxLDB4MzAsMHg0MSwweDBlLDB4YjAsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWM5MCwgMCwgezB4NDAsMHgxZCwweGJkLDB4MDAsMHhlZiwweDEwLDB4MjYsMHhjOCwweDAzLDB4YjEsMHgwMywweGUwLDB4MDAsMHhlYSwweDgxLDB4NzggfX0sCi0gezE2LCAweGFjYTAsIDAsIHsweGM1LDB4MGMsMHhiNSwweGUzLDB4ZGMsMHgwMCwweGMzLDB4MDAsMHgzZSwweGMxLDB4MGYsMHhmMCwweDgzLDB4YjAsMHgwMCwweGZmIH19LAotIHsxNiwgMHhhY2IwLCAwLCB7MHgwMCwweDM3LDB4YzAsMHgwZCwweGY0LDB4MDMsMHhlNCwweDAwLDB4ZjcsMHgwMCwweDNmLDB4NDAsMHgwZCwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4YWNjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlZCwweDEwLDB4Y2IsMHgyOCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGFjZDAsIDAsIHsweDBkLDB4YjAsMHgxMywweGFjLDB4MTAsMHhmYiwweDAwLDB4M2EsMHg4MCwweDA0LDB4YjQsMHgwMywweGFjLDB4MDAsMHhmYiwweDA0IH19LAotIHsxNiwgMHhhY2UwLCAwLCB7MHgzZSwweGMwLDB4MGYsMHhhNCwweGIzLDB4ZTAsMHgwMCwweGZiLDB4ODAsMHgzMiwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZTgsMHgwMCB9fSwKLSB7MTYsIDB4YWNmMCwgMCwgezB4ZmIsMHg0OCwweGIyLDB4ODAsMHgwZiwweGIwLDB4NDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAyLDB4ODcsMHg0NCwweDM4LDB4YzAsMHg4ZCwweDMwLDB4MDIsMHg0YywweDAwLDB4ZmYsMHgwMCwweDIxIH19LAotIHsxNiwgMHhhZDEwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHgwMywweDljLDB4MDAsMHhiMywweDUwLDB4MjEsMHhkNCwweDRlLDB4NjIsMHgwMiwweGQwLDB4MDAsMHhiZiB9fSwKLSB7MTYsIDB4YWQyMCwgMCwgezB4MDAsMHgzNSwweGQ0LDB4MDksMHg3MCwweDIyLDB4ZDgsMHgwMCwweGJmLDB4MjIsMHgyMSwweGMwLDB4MGIsMHg3MiwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGFkMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHg0MCwweDg3LDB4ODAsMHgyZCwweGUwIH19LAotIHsxNiwgMHhhZDQwLCAwLCB7MHgwOSwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjYsMHg4MCwweDI5LDB4YTEsMHgyOCwweDdhLDB4MzIsMHhkZSwweDAwLDB4MzcsMHhhMCB9fSwKLSB7MTYsIDB4YWQ1MCwgMCwgezB4MjUsMHhlMCwweDA5LDB4NzgsMHgwNiwweGQyLDB4MDAsMHhiNywweDgwLDB4MjEsMHhlOCwweDBiLDB4NzksMHgwMiwweGRlLDB4MDAgfX0sCi0gezE2LCAweGFkNjAsIDAsIHsweGI3LDB4OTAsMHgyMSwweGUwLDB4MGIsMHg3OSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZDcwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwNCwweDgzLDB4MDEsMHgyOCwweGMwLDB4ODksMHhiMCwweDBhLDB4NGYsMHgwMCwweGIyLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YWQ4MCwgMCwgezB4YzQsMHg4OCwweDMwLDB4MTYsMHhjZiwweDAwLDB4YmIsMHgwNCwweDIwLDB4YzEsMHgwYSwweDMyLDB4MDYsMHhjMiwweDAwLDB4YjMgfX0sCi0gezE2LCAweGFkOTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHg0MiwweGVmLDB4MTAsMHhiMywweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhhZGEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHg0YSwweDAwLDB4M2UsMHg4MCB9fSwKLSB7MTYsIDB4YWRiMCwgMCwgezB4MmQsMHhhMCwweDBiLDB4YWEsMHg4MCwweGZlLDB4MDAsMHgyYiwweDgwLDB4MGMsMHhhMCwweDQzLDB4ZmIsMHgzMCwweGZhLDB4MDAgfX0sCi0gezE2LCAweGFkYzAsIDAsIHsweDNlLDB4ODAsMHgwZiwweGEwLDB4ODMsMHhmYSwweDA0LDB4ZmUsMHgxOCwweDIyLDB4ODAsMHgwZiwweGEwLDB4MDMsMHhmYSwweDg0IH19LAotIHsxNiwgMHhhZGQwLCAwLCB7MHhmMiwweDAwLDB4MzMsMHhhMiwweDBmLDB4YTAsMHgwMywweGYyLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWRlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDJmLDB4ODAsMHgwMywweGEwLDB4MjAsMHhmYywweDAyLDB4M2UgfX0sCi0gezE2LCAweGFkZjAsIDAsIHsweDAwLDB4MWYsMHg4NCwweDAzLDB4YTAsMHgwMCwweGY4LDB4NDAsMHgzZSwweDAwLDB4NGYsMHg4MCwweDAxLDB4ZTAsMHg0MCwweGY4IH19LAotIHsxNiwgMHhhZTAwLCAwLCB7MHg0MCwweDNlLDB4MDAsMHgwZCwweDgwLDB4MTMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4YWUxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNiwweDAwLDB4ZDksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGFlMjAsIDAsIHsweDBmLDB4OTAsMHgwYiwweDA0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg2OCwweDZjLDB4OTQsMHgwMywweGU0LDB4MjAsMHhiOSwweDkwIH19LAotIHsxNiwgMHhhZTMwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg5NCwweDAzLDB4ZTQsMHgwMCwweDI5LDB4ODAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4MjQsMHgyMCB9fSwKLSB7MTYsIDB4YWU0MCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFlNTAsIDAsIHsweDgwLDB4MDQsMHg2NiwweDUwLDB4ODksMHgwMCwweDIwLDB4NTAsMHgwOCwweDkwLDB4MDIsMHgyNCwweDA5LDB4ZDksMHgwMCwweDIwIH19LAotIHsxNiwgMHhhZTYwLCAwLCB7MHg0OCwweDQ4LDB4OTAsMHgwNiwweGU0LDB4MDQsMHg5OSwweGEwLDB4MjIsMHg0MCwweDBkLDB4YjgsMHgyMiwweDY0LDB4MDAsMHgwOSB9fSwKLSB7MTYsIDB4YWU3MCwgMCwgezB4NTAsMHgzMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4MjcsMHg5MCwweDg5LDB4NDAsMHgyYSwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGFlODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHgwMCwweDk5LDB4MDAsMHg2NiwweDQyIH19LAotIHsxNiwgMHhhZTkwLCAwLCB7MHgwYSwweGQwLDB4MTIsMHgzNCwweDAwLDB4ODUsMHgwMCwweDI2LDB4NDAsMHg0YSwweDkwLDB4MDIsMHhlNCwweDAxLDB4YjksMHgwMSB9fSwKLSB7MTYsIDB4YWVhMCwgMCwgezB4MjQsMHg0MCwweDU4LDB4OTAsMHgxMiwweGM0LDB4MDAsMHgyOSwweDQwLDB4MmUsMHg0MCwweDBiLDB4MTAsMHgwYSwweDI0LDB4ODAgfX0sCi0gezE2LCAweGFlYjAsIDAsIHsweDg5LDB4MDUsMHgyNiwweDQxLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZWMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHg4MCwweDgxLDB4MjAsMHg2MSwweDQ4LDB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MSwweDk1LDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4YWVkMCwgMCwgezB4NDAsMHgwYSwweDM2LDB4MDIsMHhjNCwweDAwLDB4YjEsMHgyMCwweDAwLDB4NDgsMHg0MSwweDEwLDB4NDIsMHg0NCwweDAxLDB4YTEgfX0sCi0gezE2LCAweGFlZTAsIDAsIHsweDAwLDB4MjQsMHg0OCwweDBiLDB4MTIsMHgxMiwweDA0LDB4ODAsMHg4MSwweDIwLDB4MjgsMHg0OCwweDBiLDB4MTIsMHgwMiwweGNhIH19LAotIHsxNiwgMHhhZWYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhkOCwweDUwLDB4MzYsMHgwMCB9fSwKLSB7MTYsIDB4YWYwMCwgMCwgezB4MGUsMHg4NSwweDIzLDB4MjEsMHg0MiwweDhjLDB4NTQsMHgzNCwweDE0LDB4MGUsMHg4MCwweDAyLDB4ZTEsMHg0MCwweGY4LDB4NTAgfX0sCi0gezE2LCAweGFmMTAsIDAsIHsweDM2LDB4MTQsMHgwNCwweDgwLDB4MDMsMHhlMSwweDQ0LDB4ZTgsMHg1MCwweDdlLDB4MTUsMHgwZiwweDg1LDB4MDMsMHgyMSwweDQyIH19LAotIHsxNiwgMHhhZjIwLCAwLCB7MHg0YSwweDAwLDB4MzYsMHgxNCwweDBmLDB4ODAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWYzMCwgMCwgezB4OTgsMHgxZCwweGM0LDB4NDAsMHhmOSwweDEwLDB4MWUsMHg0NCwweDRlLDB4OTEsMHgwMywweGU0LDB4NDAsMHhmOSwweDEwLDB4M2YgfX0sCi0gezE2LCAweGFmNDAsIDAsIHsweGMwLDB4MGQsMHg5MSwweDAzLDB4ZjQsMHgwMCwweGQ5LDB4MTQsMHgzZSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4NzQsMHgwMCwweGRkIH19LAotIHsxNiwgMHhhZjUwLCAwLCB7MHgwMCwweDdhLDB4NDQsMHgwZiwweDkxLDB4MDMsMHhmNCwweDQwLDB4ZjksMHgzOCwweDNmLDB4NDQsMHgwZiwweDkzLDB4ODMsMHhlNyB9fSwKLSB7MTYsIDB4YWY2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmNiwweDgwLDB4ZjksMHhhNCwweDNmLDB4NjggfX0sCi0gezE2LCAweGFmNzAsIDAsIHsweDBlLDB4OWUsMHg0MywweDY3LDB4ODAsMHhkOSwweGU0LDB4M2YsMHg0MSwweDBmLDB4ZDgsMHg0MywweDA0LDB4MDAsMHhlZCwweGMwIH19LAotIHsxNiwgMHhhZjgwLCAwLCB7MHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGQ1LDB4NDAsMHgzMiwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZjQsMHgwMCB9fSwKLSB7MTYsIDB4YWY5MCwgMCwgezB4ZGQsMHgwMCwweDMyLDB4NDAsMHgyYywweDlhLDB4MDMsMHhjNiwweDAxLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmYTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4ZTgsMHhjMCwweDJlLDB4MTQsMHg0ZCwweDhmLDB4MjIsMHgyMywweGMwLDB4ZjgsMHhmMCwweGFhIH19LAotIHsxNiwgMHhhZmIwLCAwLCB7MHgwMCwweDBjLDB4ODAsMHgwMywweGEyLDB4YTAsMHhkOCwweDgyLDB4MjIsMHgwMCwweDA4LDB4ODAsMHgwMiwweGU4LDB4MDAsMHhkOCB9fSwKLSB7MTYsIDB4YWZjMCwgMCwgezB4ODAsMHgyYSwweDAwLDB4MDgsMHg4MCwweDAyLDB4ZTgsMHgwOCwweDg4LDB4YTgsMHgzNiwweDAwLDB4NDgsMHg4YSwweDgyLDB4Y2UgfX0sCi0gezE2LCAweGFmZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGIxLDB4NDgsMHgyZSwweDQwIH19LAotIHsxNiwgMHhhZmUwLCAwLCB7MHgwYSwweDEyLDB4MjIsMHg0NCwweDAwLDB4OTEsMHgwNCwweGE0LDB4NDEsMHgwYSwweDk0LDB4MDYsMHgyNCwweDAwLDB4OTEsMHg0MiB9fSwKLSB7MTYsIDB4YWZmMCwgMCwgezB4MjQsMHg0MSwweDA5LDB4MTAsMHgwMiwweGU0LDB4MDEsMHg5MSwweDIwLDB4MjQsMHg0MCwweDA5LDB4MTAsMHgwMiwweGM0LDB4MDEgfX0sCi0gezE2LCAweGIwMDAsIDAsIHsweDkxLDB4MDAsMHgyYywweDQwLDB4MDksMHgxNCwweDAyLDB4YzIsMHgwMSwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMDEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGE5LDB4MDAsMHgyZSwweDQwLDB4NDgsMHgxMCwweDAyLDB4MjQsMHgwMCwweGI5LDB4NDAsMHhhYSB9fSwKLSB7MTYsIDB4YjAyMCwgMCwgezB4NDAsMHgxOCwweGIwLDB4MDIsMHhlNCwweDA4LDB4OTksMHgwMCwweDIyLDB4NDAsMHgxOSwweDkwLDB4NDYsMHhlNCwweDgwLDB4OTkgfX0sCi0gezE2LCAweGIwMzAsIDAsIHsweDA0LDB4MmUsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDEsMHg5OSwweDA0LDB4MjYsMHg1MCwweDA5LDB4OTAsMHgwMiwweGM2IH19LAotIHsxNiwgMHhiMDQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU0LDB4MDAsMHhmOSwweDA2LDB4M2MsMHg0MCB9fSwKLSB7MTYsIDB4YjA1MCwgMCwgezB4MGEsMHg5MCwweDAzLDB4NjQsMHgwMiwweGQ5LDB4MDAsMHhiNiwweDUwLDB4MGUsMHg5MCwweDIzLDB4MjYsMHgwMSwweGY5LDB4MDAgfX0sCi0gezE2LCAweGIwNjAsIDAsIHsweDM2LDB4NDAsMHgyOSwweDk0LDB4ODMsMHhlNCwweDAwLDB4ZDksMHg0OCwweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHhjNywweDAwIH19LAotIHsxNiwgMHhiMDcwLCAwLCB7MHhkMSwweDA3LDB4M2EsMHg1MCwweGNkLDB4OTAsMHgwMywweGU4LDB4MDQsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjA4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDgsMHhlOSwweDAwLDB4M2UsMHg0MCwweDhmLDB4OTAsMHgwMywweGM0LDB4MDgsMHhmMSwweDAwLDB4M2EgfX0sCi0gezE2LCAweGIwOTAsIDAsIHsweDY4LDB4OGYsMHg5MCwweDAzLDB4YTQsMHg0MSwweGY5LDB4MDAsMHhiZSwweDQwLDB4MGUsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhiMGEwLCAwLCB7MHhjMCwweDM4LDB4NDAsMHgyZSwweDkwLDB4MDMsMHhlNiwweDQwLDB4ZTksMHgwMCwweDNlLDB4NjgsMHgwNiwweDkwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4YjBiMCwgMCwgezB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZDgsMHgwNSwweDNlLDB4MDAgfX0sCi0gezE2LCAweGIwYzAsIDAsIHsweDA3LDB4ODAsMHgwYiwweDIwLDB4MDAsMHhlOCwweDQwLDB4M2UsMHgxMCwweDBkLDB4ODIsMHgwMywweDYwLDB4MDAsMHhjOCwweDAwIH19LAotIHsxNiwgMHhiMGQwLCAwLCB7MHhiMiwweDAwLDB4OGQsMHg4MywweDAzLDB4ZTAsMHgwMCwweGQ4LDB4NTAsMHgzYSwweDAwLDB4MWUsMHg4MCwweDAzLDB4ZTEsMHgyNCB9fSwKLSB7MTYsIDB4YjBlMCwgMCwgezB4ZjgsMHgwMCwweGIyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4OGEsMHgwNCwweDJmLDB4ODQsMHg2YSwweGEwLDB4MGIsMHhlOCwweDA4LDB4OGUsMHgwMCwweDNkIH19LAotIHsxNiwgMHhiMTAwLCAwLCB7MHg4MCwweDg4LDB4ZWMsMHgwMywweDY4LDB4MTAsMHhhNiwweDAxLDB4MzYsMHg4MCwweDA4LDB4YTgsMHgwMCwweGM4LDB4MTAsMHg4ZSB9fSwKLSB7MTYsIDB4YjExMCwgMCwgezB4MTAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZmIsMHgyMCwweGJlLDB4NTEsMHgyYSwweDgwLDB4MGIsMHhhMCwweDAyLDB4ODIgfX0sCi0gezE2LCAweGIxMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDEsMHgyMSwweDkzLDB4MDAsMHgyYywweGYwIH19LAotIHsxNiwgMHhiMTMwLCAwLCB7MHgzOSwweDMwLDB4MDYsMHgwYywweDAwLDB4YTMsMHgwMCwweDI4LDB4MDgsMHgyOCwweGJjLDB4MDIsMHgyYywweDAwLDB4ODMsMHg4MCB9fSwKLSB7MTYsIDB4YjE0MCwgMCwgezB4MmEsMHhjMCwweDA4LDB4MzAsMHgwMCwweGNjLDB4MDAsMHg5YSwweDgwLDB4MjgsMHhjMCwweDBhLDB4MzAsMHgwMiwweGNkLDB4MDAgfX0sCi0gezE2LCAweGIxNTAsIDAsIHsweGIzLDB4MDQsMHg2MiwweGMxLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMTYwLCAwLCB7MHhhMCwweDAxLDB4MWUsMHgwNCwweDA3LDB4MTEsMHgyYywweGQwLDB4MGEsMHgzMiwweDIyLDB4ZGMsMHhjMSwweDg3LDB4MDAsMHg2ZCB9fSwKLSB7MTYsIDB4YjE3MCwgMCwgezB4ZDAsMHgwOCwweDM0LDB4MDIsMHg3YywweDAwLDB4YTcsMHgwOCwweDI0LDB4YzgsMHgwOCwweDcwLDB4MDIsMHhkYywweDgwLDB4MGYgfX0sCi0gezE2LCAweGIxODAsIDAsIHsweDAwLDB4MjEsMHhjNCwweDA4LDB4NzMsMHgwNiwweGRjLDB4MDAsMHhiMiwweDAwLDB4NjEsMHhjOCwweDBiLDB4M2EsMHgwMiwweDg4IH19LAotIHsxNiwgMHhiMTkwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDBhLDB4MDAsMHg1NywweDgxLDB4MmQsMHhhMCB9fSwKLSB7MTYsIDB4YjFhMCwgMCwgezB4MmQsMHg3YywweDAyLDB4M2UsMHg4MiwweGUzLDB4ZTAsMHgzYiwweGUwLDB4MGMsMHg3OCwweDAzLDB4MWUsMHgyMCwweGM3LDB4ODAgfX0sCi0gezE2LCAweGIxYjAsIDAsIHsweGI5LDB4ZTgsMHgyYywweDc4LDB4MDMsMHhmZiwweDgwLDB4ZDYsMHg4MCwweDNiLDB4ZWMsMHgwMiwweDdhLDB4MDMsMHhkZSwweDAwIH19LAotIHsxNiwgMHhiMWMwLCAwLCB7MHhmNywweDgxLDB4MzEsMHhlYywweDhmLDB4N2MsMHgwMywweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjFkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDAwLDB4MWUsMHg4MCwweDIzLDB4YjYsMHg4MywweGVkLDB4YTAsMHhkYiwweDY0LDB4M2UgfX0sCi0gezE2LCAweGIxZTAsIDAsIHsweGMwLDB4MGUsMHhiMCwweDAzLDB4ZWQsMHhjMCwweGYyLDB4MDAsMHgzZSwweGQ0LDB4MGEsMHhiMCwweDAzLDB4ZWMsMHgzMCwweGVlIH19LAotIHsxNiwgMHhiMWYwLCAwLCB7MHg2NCwweDNlLDB4YzAsMHgwNywweGIwLDB4YzMsMHhlOCwweDAwLDB4ZmIsMHgwMSwweDNlLDB4YzgsMHgwZiwweGI4LDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YjIwMCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4ZWYsMHg4MCwweDNiLDB4ZTAgfX0sCi0gezE2LCAweGIyMTAsIDAsIHsweDBmLDB4ZjgsMHg2MywweDdlLDB4MDQsMHhjZiwweGMwLDB4YjcsMHgyMCwweDBlLDB4ZjgsMHgwMywweGZjLDB4MDAsMHhjNywweDgwIH19LAotIHsxNiwgMHhiMjIwLCAwLCB7MHgzMywweGYwLDB4MGMsMHhjYywweDAzLDB4ZmUsMHgwOCwweGY3LDB4YzEsMHgzMywweGUwLDB4NGYsMHhmOCwweDAzLDB4YjIsMHg0MCB9fSwKLSB7MTYsIDB4YjIzMCwgMCwgezB4ZmYsMHhhMCwweDMxLDB4ZTYsMHgwYywweGY4LDB4MDMsMHgxMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyNDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZWYsMHgwMiwweDIxLDB4NDAsMHgyZCwweDcwLDB4MDIsMHgxYywweDAwLDB4ZjcsMHgxMCwweDI5IH19LAotIHsxNiwgMHhiMjUwLCAwLCB7MHg0MCwweDA4LDB4NzAsMHgyMiwweGZjLDB4YzAsMHhhNywweDAwLDB4M2QsMHhjMCwweDA4LDB4NDAsMHgwMiwweGRjLDB4MDAsMHhiNyB9fSwKLSB7MTYsIDB4YjI2MCwgMCwgezB4NDAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZGEsMHg4MCwweGI3LDB4MjQsMHgyOSwweGM2LDB4NDgsMHhmMCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGIyNzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4MDAsMHgyOCwweDg0IH19LAotIHsxNiwgMHhiMjgwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgwYywweDAwLDB4OTMsMHgwMCwweDI1LDB4ODAsMHgwYSwweDYxLDB4MDIsMHhkYywweDAxLDB4YTcsMHgxMCB9fSwKLSB7MTYsIDB4YjI5MCwgMCwgezB4MjQsMHhjMCwweDA4LDB4NDAsMHg4MiwweGRjLDB4MDAsMHg5ZiwweDAwLDB4MjUsMHhjNCwweDBiLDB4NzAsMHgwMiwweDk0LDB4MjUgfX0sCi0gezE2LCAweGIyYTAsIDAsIHsweGI3LDB4MzIsMHgyMywweGM0LDB4MWIsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMmIwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwYywweGEzLDB4MDAsMHgyMCwweDAwLDB4MjksMHgzMCwweDBhLDB4MGMsMHgwMCwweGEzLDB4MDAsMHg2YyB9fSwKLSB7MTYsIDB4YjJjMCwgMCwgezB4MDAsMHgwOCwweDEwLDB4NDIsMHhjZCwweDEwLDB4YWEsMHgwMCwweGFjLDB4YzAsMHgwMCwweDA0LDB4MDIsMHhjZCwweDAwLDB4YmIgfX0sCi0gezE2LCAweGIyZDAsIDAsIHsweDEwLDB4MjQsMHhjMCwweDAzLDB4MzAsMHg0MiwweGMzLDB4MDksMHhiMywweDAwLDB4MmMsMHhkMCwweDBhLDB4MzAsMHgwMiwweDE4IH19LAotIHsxNiwgMHhiMmUwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDgwLDB4MDAsMHhlZiwweDAwLDB4M2EsMHg0MCB9fSwKLSB7MTYsIDB4YjJmMCwgMCwgezB4MDcsMHhmMCwweDQzLDB4M2MsMHgwMCwweDlmLDB4YzAsMHhiNiwweDE0LDB4MGUsMHg4MCwweDA2LDB4ZmMsMHgwMSwweGNiLDB4MDEgfX0sCi0gezE2LCAweGIzMDAsIDAsIHsweDM3LDB4YzAsMHhhYywweGI0LDB4MDIsMHhmYywweDAwLDB4ZDksMHgwMSwweDM3LDB4YzAsMHg0YiwweGYwLDB4MTMsMHhhZSwweDA4IH19LAotIHsxNiwgMHhiMzEwLCAwLCB7MHhmYiwweDAwLDB4MzMsMHhkMCwweDJlLDB4ZjAsMHgwYiwweDJhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjMyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDA1LDB4M2UsMHg0MCwweDBmLDB4MzAsMHgwMywweGFjLDB4MTQsMHhmYiwweGEwLDB4M2EgfX0sCi0gezE2LCAweGIzMzAsIDAsIHsweGMwLDB4MGYsMHg4NCwweDQzLDB4ZWMsMHgwMSwweGY5LDB4NDAsMHgzZSwweGMwLDB4MGYsMHhhMiwweDAzLDB4ZWMsMHgyMSwweGY5IH19LAotIHsxNiwgMHhiMzQwLCAwLCB7MHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNCwweDIwLDB4ZjAsMHgwMCwweGJhLDB4YzAsMHgwZCwweGIwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YjM1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmOCwweDAwLDB4ZDcsMHgwMSwweDM1LDB4NjggfX0sCi0gezE2LCAweGIzNjAsIDAsIHsweDZkLDB4ZjAsMHgwMywweDNjLDB4MDEsMHhlNywweDAwLDB4MzMsMHhjMCwweDBkLDB4YzAsMHgwMywweGZjLDB4MjQsMHhjZiwweDAyIH19LAotIHsxNiwgMHhiMzcwLCAwLCB7MHgzNywweGMwLDB4MGQsMHhkMiwweDAyLDB4ZmMsMHgwMCwweGRmLDB4MDEsMHgzMywweGMwLDB4NWUsMHg3MCwweDMzLDB4MWMsMHgxOCB9fSwKLSB7MTYsIDB4YjM4MCwgMCwgezB4Y2YsMHg0MSwweDMxLDB4YzIsMHgwYywweGYwLDB4MDMsMHg0MCwweDQwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIzOTAsIDAsIHsweDgxLDB4MDAsMHg2YywweDAwLDB4OGIsMHgwMCwweDIyLDB4NTIsMHgyYSwweGIwLDB4MDMsMHg2YywweDAwLDB4YWIsMHgwMCwweDI4IH19LAotIHsxNiwgMHhiM2EwLCAwLCB7MHhjMCwweDBhLDB4OGMsMHgwMiwweGVjLDB4MTAsMHg4YiwweGUwLDB4MjIsMHhjMCwweDBmLDB4ODAsMHgwMiwweGNjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4YjNiMCwgMCwgezB4ODAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MmEsMHgxMCwweGQ5LDB4ODAsMHgyMiwweGMwLDB4YzgsMHhiMCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGIzYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjQsMHgwMSwweDliLDB4MDAsMHgyNiwweDgwIH19LAotIHsxNiwgMHhiM2QwLCAwLCB7MHgyOSwweGIwLDB4NjIsMHgwYywweDAwLDB4YWIsMHgwMSwweDZhLDB4MDAsMHgwOCwweDk4LDB4MDIsMHhjYywweDAwLDB4OWIsMHg4MyB9fSwKLSB7MTYsIDB4YjNlMCwgMCwgezB4MmUsMHhjMCwweGNiLDB4YjQsMHgxMiwweGVjLDB4MDMsMHg4YiwweDgwLDB4MjgsMHhjMCwweDBhLDB4YjAsMHgwNiwweGEyLDB4MDAgfX0sCi0gezE2LCAweGIzZjAsIDAsIHsweDhiLDB4MDIsMHg2MiwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNDAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMSwweDgzLDB4MTQsMHgyMCwweDAwLDB4MGEsMHgzMCwweDAyLDB4NGMsMHgwMCwweDgzLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4YjQxMCwgMCwgezB4NDAsMHgwYSwweDEwLDB4MDAsMHhjYywweDAyLDB4OTMsMHgwMCwweDI4LDB4YzAsMHgwYSwweDIwLDB4MDIsMHhlYywweDAwLDB4MDMgfX0sCi0gezE2LCAweGI0MjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgxNiwweDAwLDB4ODAsMHg5MSwweDAwLDB4NjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhiNDMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHg4MCB9fSwKLSB7MTYsIDB4YjQ0MCwgMCwgezB4MmQsMHhmMCwweDAzLDB4M2MsMHgwMCwweGFmLDB4MDAsMHgzYSwweDgwLDB4MGQsMHg4MCwweDAzLDB4ZmMsMHgwMCwweDViLDB4MDAgfX0sCi0gezE2LCAweGI0NTAsIDAsIHsweDM3LDB4YzAsMHgwOSwweDkwLDB4MDMsMHhmYywweDAwLDB4ZGYsMHgwMCwweDMzLDB4YzAsMHgwYSwweGYwLDB4MDMsMHhhNCwweDIwIH19LAotIHsxNiwgMHhiNDYwLCAwLCB7MHhjYiwweDAwLDB4YjMsMHhjMCwweDhjLDB4YjAsMHgwMywweDQwLDB4MDIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjQ3MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDQsMHhmZiwweDIwLDB4MGYsMHgwMCwweDI3LDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDAwLDB4MmQgfX0sCi0gezE2LCAweGI0ODAsIDAsIHsweDAwLDB4MGIsMHhkMCwweDI3LDB4ZmMsMHgwMCwweGVmLDB4MDAsMHgzNywweGMwLDB4MGYsMHhjMCwweDQzLDB4ZmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHhiNDkwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MGIsMHhlMCwweDAwLDB4ZjUsMHgwMCwweDNmLDB4YzAsMHgxZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4YjRhMCwgMCwgezB4MDcsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmNCwweGMwLDB4ZmMsMHgyMiwweDdmLDB4YzAgfX0sCi0gezE2LCAweGI0YjAsIDAsIHsweDBjLDB4ZDAsMHg0MywweDM2LDB4MDAsMHhjNCwweDgxLDB4MzQsMHhjMCwweDFjLDB4ODksMHgwNywweGYyLDB4ODAsMHhjZiwweDgwIH19LAotIHsxNiwgMHhiNGMwLCAwLCB7MHgzMywweDYwLDB4MGYsMHg3OSwweDAzLDB4M2MsMHhlMCwweGNmLDB4MDgsMHgzMywweDQ4LDB4MGQsMHhjNCwweDAzLDB4ZjAsMHg1MCB9fSwKLSB7MTYsIDB4YjRkMCwgMCwgezB4ZGMsMHg5MCwweDM3LDB4Y2MsMHgwZiwweGY4LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0ZTAsIDAsIHsweDgwLDB4MTAsMHhlOSwweDkwLDB4YjgsMHg4MCwweDdlLDB4ZTQsMHg4OCwweDk5LDB4MGEsMHgyNiwweDA4LDB4YTksMHg4MCwweDIyIH19LAotIHsxNiwgMHhiNGYwLCAwLCB7MHhmNCwweDJjLDB4OTksMHgwMywweGE3LDB4MDIsMHg4OSwweDgwLDB4MjIsMHgzNCwweDBiLDB4OWEsMHgwMywweDdkLDB4MDAsMHhkZiB9fSwKLSB7MTYsIDB4YjUwMCwgMCwgezB4NDgsMHgyYiwweDYwLDB4MDgsMHgwNSwweDAyLDB4ZTUsMHgwMCwweDgyLDB4MjAsMHgyMiwweGM0LDB4OGIsMHhiMCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGI1MTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzUsMHgwMCwweGIwLDB4MTAsMHgyYywweGMwIH19LAotIHsxNiwgMHhiNTIwLCAwLCB7MHgyYSwweDAwLDB4MDIsMHhhNCwweDA4LDB4YTgsMHgwNCwweGUwLDB4ODAsMHgwYiwweDAwLDB4MDIsMHhjNCwweDQxLDB4YjIsMHgwNCB9fSwKLSB7MTYsIDB4YjUzMCwgMCwgezB4YTQsMHgwYSwweDBiLDB4YjAsMHgwMiwweDhjLDB4ODEsMHg4MywweDIwLDB4NjAsMHg1MCwweDk4LDB4MTIsMHgxMiwweDhiLDB4ODAgfX0sCi0gezE2LCAweGI1NDAsIDAsIHsweDg5LDB4MDAsMHgyYywweGM4LDB4MGIsMHgzMCwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNTUwLCAwLCB7MHhjMCwweDExLDB4YWMsMHgyMCwweGJiLDB4MDIsMHgyYSwweGMwLDB4MGEsMHg4OCwweDAyLDB4YTQsMHgwOCwweGE5LDB4ODAsMHhhMiB9fSwKLSB7MTYsIDB4YjU2MCwgMCwgezB4ZTEsMHgxYiwweDljLDB4MjIsMHhlNiwweDAwLDB4YjgsMHg0MCwweDI2LDB4MzAsMHgwYiwweDkwLDB4MDIsMHhjYywweDAxLDB4OTMgfX0sCi0gezE2LCAweGI1NzAsIDAsIHsweDA0LDB4MmEsMHg0MCwweDM5LDB4OTgsMHg4MiwweGVjLDB4MTQsMHg4YiwweDY1LDB4MmEsMHhjMCwweDBiLDB4YjIsMHgwMiwweGY4IH19LAotIHsxNiwgMHhiNTgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGU3LDB4MDAsMHhiOCwweDQ4LDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4YjU5MCwgMCwgezB4MGUsMHg4OCwweDQzLDB4ODQsMHgwMCwweGUzLDB4YzEsMHgzNiwweGU4LDB4MGYsMHg5YywweDEyLDB4ZTIsMHg4MCwweGYzLDB4YzAgfX0sCi0gezE2LCAweGI1YTAsIDAsIHsweDM2LDB4NzAsMHg1ZiwweGE4LDB4MjMsMHhhYywweDAxLDB4Y2IsMHgwNCwweDIyLDB4NDAsMHg0ZCwweDg0LDB4MDMsMHhlMiwweDAwIH19LAotIHsxNiwgMHhiNWIwLCAwLCB7MHhkOCwweDAwLDB4M2UsMHhjMCwweDBmLDB4OTAsMHgwMywweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjVjMCwgMCwgezB4ZTAsMHgwMSwweGIzLDB4MDksMHhmZSwweDEwLDB4M2UsMHg4MSwweDBkLDB4YzAsMHgwMywweDc0LDB4MGMsMHhmZiwweDAwLDB4M2QgfX0sCi0gezE2LCAweGI1ZDAsIDAsIHsweGMxLDB4OGMsMHhkMCwweDgzLDB4MTQsMHgwMCwweGNkLDB4MjAsMHgzYSwweDQwLDB4MGQsMHhjYSwweDAxLDB4N2MsMHgwMCwweGZmIH19LAotIHsxNiwgMHhiNWUwLCAwLCB7MHgwMCwweDFmLDB4NDAsMHgwZSwweGMwLDB4MjMsMHhmMiwweDQ2LDB4ZmUsMHg4NCwweDM3LDB4YzAsMHgwZiwweGQ4LDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4YjVmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZGQsMHgwMiwweDNkLDB4NDAgfX0sCi0gezE2LCAweGI2MDAsIDAsIHsweDBlLDB4OTAsMHgwMywweGFjLDB4MDAsMHhlYiwweDQ4LDB4M2UsMHhkMCwweDBjLDB4ODAsMHg2MywweGEyLDB4MDgsMHhjYSwweDAwIH19LAotIHsxNiwgMHhiNjEwLCAwLCB7MHgzMiwweDA4LDB4MGMsMHhiMCwweDAzLDB4YWMsMHgwOCwweGViLDB4MDAsMHgzZSwweDQwLDB4MGMsMHhkNCwweDgzLDB4NTgsMHgyMCB9fSwKLSB7MTYsIDB4YjYyMCwgMCwgezB4ZjksMHg0MiwweDMyLDB4YzAsMHgwYywweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2MzAsIDAsIHsweGM4LDB4MDUsMHgyOCwweDAyLDB4ZGIsMHgwMCwweDJlLDB4ZTAsMHgyOCwweDNhLDB4MDIsMHgyZSwweDAwLDB4ZGIsMHg2MCwweDc2IH19LAotIHsxNiwgMHhiNjQwLCAwLCB7MHhlMCwweDBkLDB4OGMsMHgwMiwweGUwLDB4MDAsMHg4OCwweDAyLDB4MzYsMHg1OCwweDY4LDB4MTUsMHg4MywweDdjLDB4MDgsMHhiZiB9fSwKLSB7MTYsIDB4YjY1MCwgMCwgezB4MDAsMHgyZCwweDYwLDB4MDgsMHg5MCwweDAyLDB4YTksMHgwMCwweGIzLDB4MDUsMHgyMywweGMwLDB4MDgsMHhiMCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGI2NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxMCwweDgwLDB4MDAsMHgwYywweGMxIH19LAotIHsxNiwgMHhiNjcwLCAwLCB7MHgwOCwweDFjLDB4ODIsMHgwNiwweDAwLDB4OTMsMHhjMCwweDIwLDB4ZjYsMHgwYSwweDIwLDB4MDIsMHgwOCwweDAwLDB4OTMsMHgwMCB9fSwKLSB7MTYsIDB4YjY4MCwgMCwgezB4MjQsMHg2MCwweDA5LDB4M2MsMHgwMiwweDBjLDB4MDAsMHg4MywweDAwLDB4MmMsMHg2MCwweDA5LDB4MDEsMHgxMiwweDAwLDB4NDAgfX0sCi0gezE2LCAweGI2OTAsIDAsIHsweGIwLDB4MDAsMHhlMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NzAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNmEwLCAwLCB7MHgyMCwweDQxLDB4MGEsMHg0MCwweDg2LDB4ODEsMHgyZCwweGUwLDB4NTgsMHgxOCwweDBhLDB4MTYsMHhhMCwweDk3LDB4ODAsMHgyNSB9fSwKLSB7MTYsIDB4YjZiMCwgMCwgezB4ZTksMHgxOSwweDc4LDB4ODIsMHhkNiwweDAwLDB4OTcsMHg4MCwweDI1LDB4YTAsMHgxOSwweGY4LDB4MDIsMHg1ZSwweDAwLDB4YjcgfX0sCi0gezE2LCAweGI2YzAsIDAsIHsweDgwLDB4MmQsMHg2MCwweDI4LDB4NDgsMHgxMiwweDk2LDB4MDAsMHhiNCwweDgwLDB4MjEsMHhlMCwweDI4LDB4NzgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhiNmQwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MSwweDMwLDB4M2MsMHhjMiB9fSwKLSB7MTYsIDB4YjZlMCwgMCwgezB4MGUsMHgwMCwweDAyLDB4ODQsMHgwMCwweGUzLDB4NDAsMHgyOCwweGU4LDB4NGMsMHgyOSwweDAzLDB4MGMsMHgwMCwweGQzLDB4MDAgfX0sCi0gezE2LCAweGI2ZjAsIDAsIHsweDM0LDB4YzQsMHgwZCwweDMxLDB4MDMsMHg4YywweDA4LDB4ZTMsMHgwMCwweDNjLDB4NDYsMHgwYywweDIwLDB4MDMsMHgwMCwweDgwIH19LAotIHsxNiwgMHhiNzAwLCAwLCB7MHhmMiwweDAwLDB4MzIsMHhjMCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjcxMCwgMCwgezB4NDAsMHgxOSwweGI4LDB4MDAsMHhmZiwweDEwLDB4MmYsMHhjMCwweDBmLDB4YzAsMHgyMywweGM0LDB4ODAsMHg3ZiwweDEwLDB4M2UgfX0sCi0gezE2LCAweGI3MjAsIDAsIHsweGMwLDB4MGYsMHhiMSwweDAzLDB4ZGMsMHgwMCwweGU3LDB4MDAsMHgzZiwweDgwLDB4MDYsMHhmMSwweDQzLDB4ZmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHhiNzMwLCAwLCB7MHgwOCwweDdkLDB4NTAsMHgwZSwweGUxLDB4MjMsMHhiNCwweDA4LDB4ZmUsMHgxMCwweDNmLDB4YzQsMHgwZiwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4Yjc0MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAyLDB4Y2MsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGI3NTAsIDAsIHsweDJjLDB4YzAsMHgwMywweDA0LDB4MDEsMHhjYiwweDAwLDB4MzMsMHg2MCwweDJjLDB4OTAsMHgxMywweGU4LDB4MDAsMHg3MywweDAwIH19LAotIHsxNiwgMHhiNzYwLCAwLCB7MHhiMiwweGMxLDB4MGYsMHhhMCwweDAzLDB4ZWMsMHg4MCwweGZiLDB4MjgsMHgzZSwweDU0LDB4MWYsMHhkMCwweDAzLDB4ZmUsMHgwMiB9fSwKLSB7MTYsIDB4Yjc3MCwgMCwgezB4YzksMHg4MCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI3ODAsIDAsIHsweDQ4LDB4MTEsMHg4MCwweDAwLDB4ODYsMHgwMCwweDJkLDB4ODAsMHgwOCwweDIwLDB4MDIsMHgxNCwweDA4LDB4ODcsMHgwMCwweDI5IH19LAotIHsxNiwgMHhiNzkwLCAwLCB7MHg0MCwweDA4LDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMiwweDVjLDB4YTAsMHg5NyB9fSwKLSB7MTYsIDB4YjdhMCwgMCwgezB4MjAsMHgyZCwweDQ4LDB4MGIsMHg1MCwweDAyLDB4ZGMsMHgxMCwweDhkLDB4MDAsMHgyMSwweGM4LDB4MGIsMHg3MCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGI3YjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWYsMHgwMCwweDg1LDB4ODEsMHgyYywweDYwIH19LAotIHsxNiwgMHhiN2MwLCAwLCB7MHgxOCwweDU4LDB4MDIsMHhkZSwweDIwLDB4YjcsMHg4MiwweDI4LDB4NjAsMHg1YSwweDc4LDB4NTIsMHhkZSwweDEwLDB4YmYsMHg4MCB9fSwKLSB7MTYsIDB4YjdkMCwgMCwgezB4MjEsMHhlMCwweDRiLDB4NzgsMHgwNiwweGRlLDB4NDAsMHhiNywweGEwLDB4MmQsMHg2OSwweDliLDB4NzgsMHgxMiwweGNlLDB4MDAgfX0sCi0gezE2LCAweGI3ZTAsIDAsIHsweDg3LDB4ODAsMHhlMSwweGU0LDB4MGIsMHg3OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiN2YwLCAwLCB7MHg0OCwweDE0LDB4ZWUsMHgwMCwweDgzLDB4MDAsMHgyYywweGMyLDB4MDgsMHgzNiwweDAyLDB4OGMsMHgwOCwweDgzLDB4ZjAsMHg2OCB9fSwKLSB7MTYsIDB4YjgwMCwgMCwgezB4NDAsMHgwYSwweDNlLDB4MDIsMHhjZCwweDQwLDB4YjMsMHgwMCwweDIwLDB4ZTAsMHgwYiwweDMyLDB4MDYsMHg0YywweDAwLDB4OWIgfX0sCi0gezE2LCAweGI4MTAsIDAsIHsweDAwLDB4MGMsMHg0MCwweDBiLDB4MzAsMHgwMiwweGNkLDB4ODAsMHg4MywweDA4LDB4MjAsMHhjMCwweDBiLDB4YjEsMHgwMiwweGRhIH19LAotIHsxNiwgMHhiODIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhjZSwweDA4LDB4M2YsMHhiMCB9fSwKLSB7MTYsIDB4YjgzMCwgMCwgezB4MGMsMHhlNCwweDIzLDB4ZGEsMHgwMiwweGRlLDB4NDAsMHhiYiwweGIyLDB4MGUsMHhlMiwweDQzLDB4ZmEsMHgwMCwweGZlLDB4MDAgfX0sCi0gezE2LCAweGI4NDAsIDAsIHsweDMzLDB4OTAsMHgwYiwweGUwLDB4MDMsMHhlOCwweDAwLDB4ZmEsMHgwMCwweDNlLDB4ODEsMHgwYiwweGUwLDB4MTMsMHhmOSwweDA4IH19LAotIHsxNiwgMHhiODUwLCAwLCB7MHhjZSwweDQwLDB4MzIsMHg4MCwweDBmLDB4YTgsMHgwMywweGZhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yjg2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MjQsMHg5OCwweDA4LDB4M2MsMHgwNCwweDBmLDB4MDAsMHgwYiwweDYwLDB4MDAsMHhmOCwweDQwLDB4MmUgfX0sCi0gezE2LCAweGI4NzAsIDAsIHsweDAzLDB4MGQsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDA2LDB4MGIsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGQ4IH19LAotIHsxNiwgMHhiODgwLCAwLCB7MHgwMCwweDNjLDB4MDAsMHgwMywweDhjLDB4MjMsMHhlMSwweDAwLDB4ZjgsMHgwMCwweDdlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4Yjg5MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGI4YTAsIDAsIHsweDhjLDB4OTAsMHgwMywweDI1LDB4MDAsMHhlOSwweDgwLDB4MzIsMHg0NCwweDBmLDB4OTQsMHgwMiwweGU0LDB4MjAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhiOGIwLCAwLCB7MHgzMiwweDcwLDB4MGYsMHg5YSwweDQzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MGMsMHgxMCwweDMzLDB4MjQsMHgxMCB9fSwKLSB7MTYsIDB4YjhjMCwgMCwgezB4ZjksMHgwMSwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4ZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MiwweDJlLDB4NDAsMHgyOCwweDkwLDB4MDIsMHgyNCwweDgyLDB4ODEsMHhjMCwweGEyIH19LAotIHsxNiwgMHhiOGUwLCAwLCB7MHg3MCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MDAsMHgzMSwweDQyLDB4YTIsMHg2MCwweDBiLDB4OTQsMHg4MiwweGU0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4YjhmMCwgMCwgezB4MDAsMHgyYSwweDQwLDB4MDgsMHg5NCwweGEyLDB4MjUsMHgwMCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDBhLDB4MjAgfX0sCi0gezE2LCAweGI5MDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweDg5LDB4NjQsMHgyZSwweDQwIH19LAotIHsxNiwgMHhiOTEwLCAwLCB7MHgwOCwweDkwLDB4NDIsMHhhNCwweDAwLDB4ODksMHg2MCwweDIyLDB4NDIsMHgwYiwweDkwLDB4MDIsMHhlNiwweDAwLDB4YjksMHg4MCB9fSwKLSB7MTYsIDB4YjkyMCwgMCwgezB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweGE0LDB4MDQsMHhiOSwweDAwLDB4MjIsMHg0MCwweDI4LDB4OTAsMHgwMiwweDI0LDB4MDQgfX0sCi0gezE2LCAweGI5MzAsIDAsIHsweGI5LDB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDAyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOTQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHg4MCwweDgxLDB4MDAsMHgyYywweGMxLDB4NDgsMHgxMCwweDAyLDB4YTQsMHgwMiwweDgxLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4Yjk1MCwgMCwgezB4NDAsMHg4MywweDM0LDB4MDIsMHhjNCwweDAwLDB4YmIsMHgwMCwweDIwLDB4ZDAsMHgwYiwweDE0LDB4MDIsMHhjNCwweDgwLDB4YjEgfX0sCi0gezE2LCAweGI5NjAsIDAsIHsweDIwLDB4YTAsMHg2OCwweDE4LDB4MTQsMHgxYSwweDBkLDB4MDAsMHhiMSwweDQwLDB4MmMsMHg1MCwweDBiLDB4MTAsMHgwMiwweDBhIH19LAotIHsxNiwgMHhiOTcwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDAwLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4Yjk4MCwgMCwgezB4OGMsMHg4MCwweDBiLDB4YTAsMHgwNCwweGU4LDB4MDAsMHgzMiwweDAwLDB4MDcsMHg4MCwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAgfX0sCi0gezE2LCAweGI5OTAsIDAsIHsweDMyLDB4MDAsMHgxZiwweDgwLDB4MDMsMHhhMSwweDQwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDAwIH19LAotIHsxNiwgMHhiOWEwLCAwLCB7MHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjliMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDYsMHhmZCwweDQwLDB4M2YsMHg1MCwweDIzLDB4ZDQsMHgxMywweDc0LDB4MDQsMHhmNSwweDAyLDB4M2YgfX0sCi0gezE2LCAweGI5YzAsIDAsIHsweDUwLDB4MGYsMHhkNCwweDAzLDB4ZmQsMHgwMCwweGJkLDB4MDAsMHgyZiwweDUwLDB4MGYsMHhkMCwweDAzLDB4ZTQsMHg0MCwweGY5IH19LAotIHsxNiwgMHhiOWQwLCAwLCB7MHgxMCwweDNmLDB4NDQsMHgwZiwweGQ0LDB4MDMsMHhmNSwweDA4LDB4ZmQsMHgwNiwweDNlLDB4NTAsMHgwZiwweGQyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4YjllMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhlNiwweDQwLDB4ZWQsMHgwNCwweDNlLDB4NDggfX0sCi0gezE2LCAweGI5ZjAsIDAsIHsweDBjLDB4YjIsMHg4MywweGY0LDB4MDAsMHhjMSwweDAwLDB4MzIsMHg0MCwweDhjLDB4ZDAsMHgwMywweDM0LDB4MDAsMHhmZCwweDAwIH19LAotIHsxNiwgMHhiYTAwLCAwLCB7MHgzNywweDQwLDB4MGYsMHhkMCwweDAzLDB4ZTYsMHgyMCwweGY5LDB4ODgsMHgzZCwweDYyLDB4MGMsMHhkOCwweDAzLDB4ZmUsMHgyNCB9fSwKLSB7MTYsIDB4YmExMCwgMCwgezB4YzEsMHgwMCwweDNlLDB4NzgsMHgwZiwweGQwLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhMjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4ODgsMHg0MCwweDJlLDB4MTAsMHgwOCwweGM0LDB4MjMsMHhhMCwweDA4LDB4ODgsMHgwNiwweDJhIH19LAotIHsxNiwgMHhiYTMwLCAwLCB7MHgxNCwweDA4LDB4ODAsMHgwMywweDYwLDB4MDQsMHhiOCwweDAwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHgwMiwweGUyLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4YmE0MCwgMCwgezB4ODAsMHgyZSwweDAwLDB4MDgsMHg4YywweDAyLDB4ZTMsMHg4MCwweDg4LDB4MDIsMHgyZSwweDM4LDB4MGIsMHg4OCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGJhNTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHg4MCwweGExLDB4YzAsMHgyZCwweDcwIH19LAotIHsxNiwgMHhiYTYwLCAwLCB7MHgwOCwweDUwLDB4NDIsMHhjNCwweDAwLDB4YTksMHgwMCwweDIwLDB4ZTAsMHgyYSwweDEwLDB4MGEsMHgwNCwweDEwLDB4YjEsMHgwMCB9fSwKLSB7MTYsIDB4YmE3MCwgMCwgezB4MjQsMHg0MCwweDRiLDB4MTAsMHgwNiwweGM0LDB4MjAsMHhiMSwweDA4LDB4NmUsMHg0MCwweDBiLDB4MTYsMHg4MiwweGM0LDB4MjAgfX0sCi0gezE2LCAweGJhODAsIDAsIHsweDgxLDB4MDAsMHgyYywweDUwLDB4MGIsMHg5MiwweDgyLDB4NTIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYTkwLCAwLCB7MHgxOCwweDExLDB4YTQsMHgwMCwweGE5LDB4MDEsMHgyZSwweDQwLDB4MjgsMHhkMCwweDIwLDB4YTQsMHgwNCwweGE5LDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4YmFhMCwgMCwgezB4NDAsMHgxYSwweGIwLDB4MTIsMHgyNCwweDAwLDB4YjksMHgwYywweDIyLDB4NDIsMHgwYiwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGJhYjAsIDAsIHsweDAwLDB4NmUsMHg0MCwweDBiLDB4OTYsMHgwMiwweGU0LDB4MTEsMHg4OSwweDIwLDB4NmUsMHg0MCwweDBiLDB4OTAsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhiYWMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4YzAsMHhhOSwweGMwLDB4M2UsMHg1MCB9fSwKLSB7MTYsIDB4YmFkMCwgMCwgezB4MDgsMHg5YywweDgzLDB4ZTQsMHgwMiwweGU5LDB4MDAsMHhiMiwweDQwLDB4MmEsMHg5MiwweDEyLDB4MjYsMHg0MCwweGY5LDB4NDAgfX0sCi0gezE2LCAweGJhZTAsIDAsIHsweDM2LDB4NzAsMHgwZiwweDk0LDB4MDMsMHhlNCwweDA0LDB4ZjksMHgwMSwweDNjLDB4NDAsMHgwZiwweDk4LDB4MDMsMHhlNiwweDAyIH19LAotIHsxNiwgMHhiYWYwLCAwLCB7MHhjOSwweDIyLDB4M2UsMHg0MCwweDBmLDB4MTAsMHgwMiwweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmIwMCwgMCwgezB4MjgsMHgwMSwweDg2LDB4MDQsMHhkOSwweDQwLDB4MWMsMHg0MCwweDBmLDB4OTIsMHgyMywweGE0LDB4YjAsMHhkYiwweDA0LDB4M2MgfX0sCi0gezE2LCAweGJiMTAsIDAsIHsweGMwLDB4MGQsMHg5YSwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhiYjIwLCAwLCB7MHgwMCwweDNlLDB4NDIsMHgyYywweDkwLDB4MjMsMHhlNCwweDgwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHg4ZiwweDkyLDB4MDMsMHg5MiB9fSwKLSB7MTYsIDB4YmIzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgyMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGJiNDAsIDAsIHsweDRjLDB4YzAsMHg4YiwweDIwLDB4MDIsMHhjOCwweDMxLDB4MzIsMHgyMCwweDJkLDB4ODQsMHgwMywweGUxLDB4MDQsMHhmOCwweDQ4IH19LAotIHsxNiwgMHhiYjUwLCAwLCB7MHhiYSwweDAwLDB4MGYsMHg4OSwweDAzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzMiwweDAwLDB4MGQsMHg4MSwweDEzLDB4MjAsMHgxMCB9fSwKLSB7MTYsIDB4YmI2MCwgMCwgezB4ZjgsMHgwMCwweDNhLDB4MDAsMHgwZiwweDgxLDB4MjMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJiNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4MGUsMHg0MCwweDIyLDB4ODAsMHgyOCwweGE0LDB4MDIsMHgxOSwweDAwLDB4NTIsMHg4MCwweGEyIH19LAotIHsxNiwgMHhiYjgwLCAwLCB7MHg4MCwweDRkLDB4ZWQsMHg4MiwweGU4LDB4MDAsMHhiNiwweDQyLDB4MjMsMHhiZCwweDBiLDB4ZTgsMHgwMiwweGU4LDB4MDQsMHhkYSB9fSwKLSB7MTYsIDB4YmI5MCwgMCwgezB4MDAsMHgzNywweDgwLDB4MDgsMHhlMCwweDAyLDB4M2EsMHgyMCwweGJhLDB4MDAsMHgyMiwweDgwLDB4MGIsMHhhOCwweDBhLDB4MGEgfX0sCi0gezE2LCAweGJiYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4ODAsMHg2MCwweGMwIH19LAotIHsxNiwgMHhiYmIwLCAwLCB7MHgwOCwweDI5LDB4MDIsMHgwZCwweDAwLDB4OTIsMHg0MCwweDI0LDB4YzAsMHgwOCwweGI0LDB4MDIsMHhjYywweDAwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4YmJjMCwgMCwgezB4NjgsMHhlMCwweDFiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHg5MywweDAxLDB4MjQsMHhjMCwweDY5LDB4MzgsMHgwMiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGJiZDAsIDAsIHsweGIzLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYmUwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHg0MCwweDgzLDB4YzAsMHgyMCwweDQwLDB4MDgsMHgyOCwweDA2LDB4OWMsMHgxOCwweDljLDB4MDIsMHgyNCB9fSwKLSB7MTYsIDB4YmJmMCwgMCwgezB4YzAsMHgwOSwweDcwLDB4MDIsMHhkNCwweDAwLDB4YjcsMHgwMCwweDIxLDB4YzAsMHgwYiwweDcwLDB4MDIsMHhjZSwweDQwLDB4OTcgfX0sCi0gezE2LCAweGJjMDAsIDAsIHsweGIwLDB4MjUsMHg0MCwweDA4LDB4NzgsMHgxYSwweDU4LDB4MDAsMHhiZiwweGEyLDB4NjUsMHhjOCwweDBiLDB4NzgsMHgwMiwweDIwIH19LAotIHsxNiwgMHhiYzEwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDBlLDB4MDIsMHg4NywweDgwLDB4YjEsMHhhMCB9fSwKLSB7MTYsIDB4YmMyMCwgMCwgezB4MGMsMHg2OCwweDAzLDB4MWEsMHgwOCwweGQ2LDB4OTIsMHgzNSwweGU0LDB4MjgsMHg3OCwweDQyLDB4ZDYsMHgxMCwweGY1LDB4ODAgfX0sCi0gezE2LCAweGJjMzAsIDAsIHsweDM5LDB4YTAsMHgwZiwweDc4LDB4MjMsMHhkZSwweDMwLDB4ZDMsMHhhMiwweDM1LDB4YTAsMHg0ZCwweGU4LDB4MDMsMHg1ZSwweDAwIH19LAotIHsxNiwgMHhiYzQwLCAwLCB7MHhmNywweGQwLDB4M2QsMHhmOCwweDBmLDB4ZjAsMHgwMywweDIyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmM1MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmYiwweDA0LDB4M2UsMHgwMCwweDBiLDB4YTAsMHgwMywweDQ4LDB4MDQsMHhmYSwweDQxLDB4M2EgfX0sCi0gezE2LCAweGJjNjAsIDAsIHsweDUwLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwMCwweGYxLDB4MDAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4ZWQsMHg4OCwweGZiIH19LAotIHsxNiwgMHhiYzcwLCAwLCB7MHg0ZCwweDNlLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhiYywweDA4LDB4ZmIsMHgyMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YmM4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZGMsMHg4MCwweGIzLDB4ZTAgfX0sCi0gezE2LCAweGJjOTAsIDAsIHsweDBjLDB4ZDgsMHgwMywweGNlLDB4MDAsMHhjOCwweGEwLDB4MzEsMHhhMCwweDhkLDB4ZTksMHgwMywweGJlLDB4MDAsMHhiMiwweDgwIH19LAotIHsxNiwgMHhiY2EwLCAwLCB7MHgzMywweGUwLDB4MGMsMHhlOCwweDQzLDB4N2UsMHgwNCwweDBmLDB4ODEsMHgzMSwweGU0LDB4MGMsMHhkOCwweDAzLDB4ZjYsMHgwMCB9fSwKLSB7MTYsIDB4YmNiMCwgMCwgezB4ZmYsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGY4LDB4MDMsMHgwMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjYzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4YjQsMHg0MCwweDM1LDB4NDAsMHgwOCwweDUwLDB4ODIsMHhkZSwweDgwLDB4ZDQsMHg5MCwweDIxIH19LAotIHsxNiwgMHhiY2QwLCAwLCB7MHhlMCwweDBkLDB4NTEsMHgwMiwweGQ0LDB4NDAsMHhiNiwweGIwLDB4MmIsMHg5MCwweDBlLDB4ZTUsMHgwMiwweDljLDB4NDAsMHhkNyB9fSwKLSB7MTYsIDB4YmNlMCwgMCwgezB4MjIsMHgxOSwweDVjLDB4MGQsMHg3MCwweDAyLDB4ZDgsMHgwMCwweGI3LDB4MjAsMHgyZCwweGMwLDB4MGIsMHhmMCwweDAzLDB4NmEgfX0sCi0gezE2LCAweGJjZjAsIDAsIHsweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDkzLDB4MTAsMHgyMSwweDgwIH19LAotIHsxNiwgMHhiZDAwLCAwLCB7MHgwOCwweDU4LDB4MDIsMHhkYywweGMwLDB4OTQsMHgwMCwweDIzLDB4ZDAsMHgwOCwweDcwLDB4YTAsMHhkNCwweDIwLDB4YjUsMHgwMiB9fSwKLSB7MTYsIDB4YmQxMCwgMCwgezB4MjksMHg4MCwweDA5LDB4NjAsMHg4MiwweDBjLDB4MDAsMHg4NywweDAyLDB4MjUsMHhjMCwweDE5LDB4NDAsMHgwMiwweGQ0LDB4MDAgfX0sCi0gezE2LCAweGJkMjAsIDAsIHsweGI3LDB4MDAsMHg2ZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZDMwLCAwLCB7MHgyMCwweDE0LDB4ZWMsMHgwMCwweGIzLDB4YzAsMHgyMCwweDAxLDB4NDgsMHgxOCwweDAyLDB4Y2MsMHgwMiwweDgxLDB4NDQsMHhhMCB9fSwKLSB7MTYsIDB4YmQ0MCwgMCwgezB4YzAsMHg4OSwweDM4LDB4MDIsMHhjNywweDgwLDB4YjEsMHgwMCwweDJjLDB4MDksMHg0YSwweDAwLDB4NjIsMHhhYywweDA5LDB4OTMgfX0sCi0gezE2LCAweGJkNTAsIDAsIHsweDAxLDB4MjgsMHg0MCwweDE5LDB4MzAsMHgwMiwweGNkLDB4MTAsMHhiMywweDkwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGM4IH19LAotIHsxNiwgMHhiZDYwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MjAsMHhkYiwweDYyLDB4MjIsMHhlMCB9fSwKLSB7MTYsIDB4YmQ3MCwgMCwgezB4NmMsMHhhMCwweDAzLDB4ZTQsMHgwMCwweDk4LDB4MDAsMHgzMiwweGMwLDB4ZWMsMHg5OCwweDIzLDB4YWUsMHgwOCwweGZiLDB4MDggfX0sCi0gezE2LCAweGJkODAsIDAsIHsweDNhLDB4NzgsMHgwOSwweDkwLDB4MDMsMHg3YywweDEwLDB4Y2YsMHgwMCwweDI2LDB4NDAsMHgwYywweGIwLDB4MDMsMHhlYywweDAwIH19LAotIHsxNiwgMHhiZDkwLCAwLCB7MHhmZiwweDgwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmRhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MjAsMHhmYiwweDQ4LDB4M2MsMHg2MSwweDBmLDB4YTAsMHg0MywweGVkLDB4MDAsMHhmOCwweDI0LDB4M2UgfX0sCi0gezE2LCAweGJkYjAsIDAsIHsweDUwLDB4MGYsMHg5MCwweDgzLDB4ZTQsMHgwMCwweGZiLDB4MDAsMHgzYSwweDUwLDB4MGYsMHg4MCwweDQzLDB4ZWMsMHgwOCwweGZiIH19LAotIHsxNiwgMHhiZGMwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZiwweDQwLDB4MDMsMHhmMCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzEsMHgwZiwweDkwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4YmRkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZGQsMHhhMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGJkZTAsIDAsIHsweDBjLDB4ZTAsMHgwMSwweGZjLDB4MDAsMHhkYywweDkxLDB4MzksMHhjMCwweDNjLDB4NDAsMHgwMywweDM0LDB4MDAsMHhmZiwweDgwIH19LAotIHsxNiwgMHhiZGYwLCAwLCB7MHgzZiwweDAwLDB4MGYsMHhkMCwweDA3LDB4ZmMsMHgwMCwweGNiLDB4MDAsMHgzZCwweDQwLDB4MGMsMHhlMCwweDAzLDB4MzgsMHgyMCB9fSwKLSB7MTYsIDB4YmUwMCwgMCwgezB4Y2YsMHgwMiwweDNkLDB4YzAsMHgwYywweGQwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlMTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4MDEsMHg0MCwweDIyLDB4MDAsMHgyOCwweGEwLDB4MDIsMHhjZSwweDg2LDB4ODMsMHg2NCwweDIyIH19LAotIHsxNiwgMHhiZTIwLCAwLCB7MHhmNCwweDA4LDB4OGMsMHgwZiwweDY0LDB4MDAsMHhiYiwweDEwLDB4MmUsMHg2MCwweDBiLDB4OWMsMHgwMywweGFjLDB4MDEsMHhkYiB9fSwKLSB7MTYsIDB4YmUzMCwgMCwgezB4MDAsMHgzZSwweDYwLDB4MDgsMHg4ZiwweDAyLDB4MjMsMHg0MCwweDhiLDB4MDAsMHgzYSwweGMwLDB4MGQsMHgxMCwweDQzLDB4NjggfX0sCi0gezE2LCAweGJlNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDk5LDB4MDAsMHhhMiwweGMwIH19LAotIHsxNiwgMHhiZTUwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhhNiwweDA3LDB4OTgsMHgwMCwweDAyLDB4YzIsMHg0OCwweDg4LDB4MDIsMHgyYywweDAwLDB4YmEsMHgwMiB9fSwKLSB7MTYsIDB4YmU2MCwgMCwgezB4NmUsMHg2MCwweDBhLDB4OTgsMHgwMiwweGVjLDB4MDAsMHg4YiwweDAxLDB4MmUsMHg2MCwweDA4LDB4OTAsMHgwMiwweDA1LDB4MDAgfX0sCi0gezE2LCAweGJlNzAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMSwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZTgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgxMCwweDgxLDB4MDAsMHgyMCwweDQwLDB4MjgsMHgxMCwweDI2LDB4Y2MsMHg4MCwweDgwLDB4MjAsMHhhMCB9fSwKLSB7MTYsIDB4YmU5MCwgMCwgezB4Y2MsMHgxOCwweDE0LDB4NDIsMHgwNCwweDAwLDB4YjIsMHgyMCwweDZjLDB4NDAsMHgwYiwweDAwLDB4MDIsMHg4YywweDAwLDB4ODMgfX0sCi0gezE2LCAweGJlYTAsIDAsIHsweDAwLDB4MjgsMHg0MCwweDI4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MywweDAwLDB4MjgsMHhjMCwweDA5LDB4YjAsMHgwMiwweDQyIH19LAotIHsxNiwgMHhiZWIwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhkOSwweDAwLDB4MjIsMHg4MCB9fSwKLSB7MTYsIDB4YmVjMCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YWMsMHg4MCwweGRhLDB4MjksMHgyYSwweGQyLDB4MjgsMHg4MCwweDAyLDB4MjQsMHgwMCwweGZiLDB4MjAgfX0sCi0gezE2LCAweGJlZDAsIDAsIHsweDNlLDB4MDAsMHgwZiwweDkwLDB4MDIsMHhmYywweDAwLDB4OGYsMHgwMCwweDJlLDB4NDAsMHgwYywweDgwLDB4MGIsMHgyMCwweDAyIH19LAotIHsxNiwgMHhiZWUwLCAwLCB7MHhjZiwweDAwLDB4M2UsMHhjMCwweDBjLDB4YjAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmVmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHgwMCwweDBmLDB4ZDAsMHg2MywweGZjLDB4NDksMHhmNSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGJmMDAsIDAsIHsweGMwLDB4MGIsMHhjMCwweDAxLDB4ZjQsMHgwMCwweDdmLDB4NDAsMHgzZiwweDQwLDB4MWYsMHhkMCwweDAzLDB4YmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHhiZjEwLCAwLCB7MHgwMCwweDNmLDB4NDAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4YmYyMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMiwweDQwLDB4ZWMsMHhhMCwweDNmLDB4ZTAgfX0sCi0gezE2LCAweGJmMzAsIDAsIHsweDBkLDB4NDgsMHgwMywweDdkLDB4ODAsMHhmNCwweDgwLDB4MzMsMHg2YywweDBlLDB4YzgsMHgwMywweDMyLDB4MDAsMHhkZCwweDkwIH19LAotIHsxNiwgMHhiZjQwLCAwLCB7MHgzYiwweGEwLDB4MmQsMHhmMCwweDAzLDB4ZmMsMHhjMCwweGZmLDB4MDAsMHgzYiwweGUwLDB4OGUsMHhmMCwweDAzLDB4M2MsMHgwNCB9fSwKLSB7MTYsIDB4YmY1MCwgMCwgezB4ZWMsMHg2MCwweDMxLDB4MDAsMHgwYywweGYwLDB4MDMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJmNjAsIDAsIHsweDgwLDB4MTAsMHhlYywweDAwLDB4ZDksMHhjMSwweDJlLDB4ZTEsMHgwZCwweDg4LDB4MDIsMHgzYywweDgwLDB4ZjgsMHg4MCwweDM2IH19LAotIHsxNiwgMHhiZjcwLCAwLCB7MHg3ZCwweDE4LDB4YTAsMHgwMiwweDI4LDB4YjAsMHhlYSwweDIwLDB4MjIsMHgyMCwweDA4LDB4NzcsMHgwMiwweGZkLDB4NTAsMHhiYiB9fSwKLSB7MTYsIDB4YmY4MCwgMCwgezB4ODAsMHgyMiwweDQwLDB4MGIsMHhmNCwweDQyLDB4M2QsMHg4MCwweDg4LDB4MzEsMHgyMiwweDEyLDB4MDgsMHhmNiwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGJmOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDgwLDB4MTEsMHgyZSwweGMxIH19LAotIHsxNiwgMHhiZmEwLCAwLCB7MHgwOCwweDAwLDB4MDIsMHg0ZCwweDgwLDB4YjgsMHgwMCwweDIwLDB4MDAsMHgwYSwweDAyLDB4ODIsMHgwMCwweDAwLDB4OTksMHgyMCB9fSwKLSB7MTYsIDB4YmZiMCwgMCwgezB4MjIsMHhjMCwweDA5LDB4MzAsMHg4MiwweGNjLDB4MDAsMHhiMywweDAwLDB4MjgsMHhjYSwweDBiLDB4MzQsMHg4MiwweDBkLDB4MjAgfX0sCi0gezE2LCAweGJmYzAsIDAsIHsweDgwLDB4MDAsMHhhMCwweDhjLDB4MDgsMHgzNCwweDgyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZmQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHg0MCwweDk5LDB4ODAsMHgyZSwweGMyLDB4MDksMHg5NCwweDAyLDB4MmMsMHgwMCwweGE5LDB4ODAsMHgyNiB9fSwKLSB7MTYsIDB4YmZlMCwgMCwgezB4NjAsMHgwOCwweDM4LDB4NDIsMHgyMiwweDIwLDB4YmEsMHg0MSwweDYyLDB4NDYsMHgzYiwweGIwLDB4MDIsMHhlYywweDAxLDB4YmIgfX0sCi0gezE2LCAweGJmZjAsIDAsIHsweDgwLDB4MjIsMHg0MCwweDBiLDB4YjAsMHg0NiwweDBjLDB4MTgsMHg4OCwweGMwLDB4MjIsMHgyMiwweDA4LDB4YjAsMHgwNiwweGYwIH19LAotIHsxNiwgMHhjMDAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGNjLDB4MDAsMHhjOSwweDgxLDB4M2MsMHhjMSB9fSwKLSB7MTYsIDB4YzAxMCwgMCwgezB4MGMsMHhhOSwweDIzLDB4NmMsMHgwMCwweGIyLDB4ODAsMHgzMiwweDc4LDB4MGEsMHg4YSwweDBiLDB4MjYsMHgwMCwweDk5LDB4MDEgfX0sCi0gezE2LCAweGMwMjAsIDAsIHsweDMwLDB4ZTAsMHgwZCwweGIwLDB4MDMsMHhlYywweDAwLDB4YjksMHgwMCwweDNhLDB4YzAsMHgxZSwweGIwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhjMDMwLCAwLCB7MHhjYiwweDgwLDB4MzIsMHg2MSwweDBjLDB4YjAsMHgxMywweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzA0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MTAsMHhkZCwweDAwLDB4M2YsMHhjMiwweDBmLDB4ZTgsMHgwMywweGFjLDB4MDAsMHhmZSwweDAwLDB4M2QgfX0sCi0gezE2LCAweGMwNTAsIDAsIHsweDQwLDB4MGYsMHhjMCwweDQzLDB4ZjgsMHgxMCwweGVmLDB4MTQsMHhiNywweGUwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCwweGY1IH19LAotIHsxNiwgMHhjMDYwLCAwLCB7MHgwMiwweDNmLDB4NDQsMHg0ZiwweGIwLDB4NGIsMHhmYywweDAyLDB4ZDQsMHgwNCwweDNkLDB4NDAsMHgyZiwweGYwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4YzA3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZjksMHgwOCwweDNlLDB4NjAgfX0sCi0gezE2LCAweGMwODAsIDAsIHsweDBkLDB4YTAsMHgwMywweGFjLDB4MDAsMHhlOCwweDUwLDB4MzIsMHgwMCwweDBjLDB4ODQsMHgwMywweGE1LDB4MDAsMHhlOSwweDAwIH19LAotIHsxNiwgMHhjMDkwLCAwLCB7MHgzYSwweGQ4LDB4MGYsMHhiMCwweDAzLDB4MmMsMHgwMCwweGY5LDB4MDAsMHgzYSwweGMwLDB4MGYsMHgzMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4YzBhMCwgMCwgezB4Y2IsMHg0NCwweDNlLDB4ZDQsMHgwZSwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwYjAsIDAsIHsweGM4LDB4MDUsMHgyYywweDA4LDB4YjksMHg4MCwweDJlLDB4YzAsMHgwYSwweDMwLDB4NDIsMHgzYywweDAwLDB4ODksMHgwNCwweDc2IH19LAotIHsxNiwgMHhjMGMwLCAwLCB7MHg2MCwweDA4LDB4OTAsMHg2MiwweDIwLDB4MDAsMHg4MiwweDA0LDB4MjIsMHhkMCwweDA4LDB4ZjAsMHg0MywweDdjLDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4YzBkMCwgMCwgezB4ODIsMHgyMiwweDQwLDB4MGIsMHhmMCwweDQyLDB4M2MsMHgwMCwweDhhLDB4YzAsMHgyZSwweGMxLDB4MDgsMHhmMCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGMwZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgxMCwweGIyLDB4ZDAsMHgyYywweGMwIH19LAotIHsxNiwgMHhjMGYwLCAwLCB7MHgyOSwweDE4LDB4MDIsMHg4YywweDA0LDB4YTEsMHgwMCwweDI0LDB4OWMsMHgwOCwweDEwLDB4MDIsMHg4MCwweDAwLDB4YTEsMHgwMSB9fSwKLSB7MTYsIDB4YzEwMCwgMCwgezB4MGMsMHhjMSwweDJiLDB4MzAsMHg1MiwweDhjLDB4MDQsMHhiMywweDAxLDB4MjgsMHg0MCwweDRiLDB4MzAsMHgwMiwweDRjLDB4MDAgfX0sCi0gezE2LCAweGMxMTAsIDAsIHsweDkwLDB4MjAsMHgyYywweDIwLDB4MGEsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMTIwLCAwLCB7MHgyMCwweDQxLDB4MWUsMHgwMCwweGI3LDB4YTIsMHgyNSwweGU4LDB4OGEsMHg2OCwweDAyLDB4MWUsMHgwMCwweDg1LDB4ODAsMHgyNSB9fSwKLSB7MTYsIDB4YzEzMCwgMCwgezB4ODAsMHg4OCwweGU4LDB4MDIsMHgzZSwweDAwLDB4ODUsMHg4MCwweDJmLDB4ZTQsMHgyOCwweDc4LDB4MDIsMHhkZSwweDAwLDB4YjcgfX0sCi0gezE2LCAweGMxNDAsIDAsIHsweDgwLDB4NjEsMHhlMCwweDAzLDB4NzgsMHgwMiwweDVlLDB4ODIsMHhiNywweDgyLDB4MmQsMHhlMCwweDA4LDB4NzgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhjMTUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBkLDB4MDAsMHhmMCwweDEwLDB4M2MsMHg4MCB9fSwKLSB7MTYsIDB4YzE2MCwgMCwgezB4MGQsMHgxMCwweDgzLDB4OGMsMHgwMCwweGUyLDB4NTAsMHgyNiwweDA0LDB4MGMsMHgxMSwweDAzLDB4ODgsMHg0MCwweGViLDB4MDAgfX0sCi0gezE2LCAweGMxNzAsIDAsIHsweDNjLDB4YzQsMHgwZiwweDMwLDB4MDMsMHg4YywweDAwLDB4ZjMsMHgwOCwweDM4LDB4NDAsMHgwNywweDMwLDB4MDMsMHg2ZSwweDQwIH19LAotIHsxNiwgMHhjMTgwLCAwLCB7MHhkMCwweDA4LDB4M2MsMHg4OCwweDBlLDB4MzAsMHg0MywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzE5MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmYiwweDM0LDB4M2MsMHhjOSwweDRlLDB4YjAsMHgyMywweGVkLDB4MjAsMHhmYiwweDA0LDB4M2YgfX0sCi0gezE2LCAweGMxYTAsIDAsIHsweGM4LDB4OGYsMHg3MCwweDUzLDB4NGMsMHgwMCwweGViLDB4MTAsMHgzMSwweGM1LDB4MGUsMHhmNCwweDAzLDB4NmQsMHgwMCwweGYzIH19LAotIHsxNiwgMHhjMWIwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4MGIsMHhiYywweDAwLDB4Y2QsMHgwMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4ODMsMHhkMCB9fSwKLSB7MTYsIDB4YzFjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhjZSwweDA0LDB4YzksMHgwNCwweGIwLDB4YzEgfX0sCi0gezE2LCAweGMxZDAsIDAsIHsweDBmLDB4OTgsMHgxMywweDZjLDB4OTAsMHhjYiwweDAyLDB4M2UsMHhjMCwweDRmLDB4YjAsMHg2MywweGU0LDB4MDAsMHhmMSwweDgwIH19LAotIHsxNiwgMHhjMWUwLCAwLCB7MHgxMiwweGMwLDB4MGMsMHhiNSwweDAzLDB4ZWMsMHhjMCwweGNmLDB4ODMsMHgzMiwweDQwLDB4MGYsMHhiMywweDIzLDB4MmQsMHhhNCB9fSwKLSB7MTYsIDB4YzFmMCwgMCwgezB4ZmIsMHgwMCwweDNlLDB4MDAsMHgwZiwweGI0LDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4YzAsMHgyZCwweDYwLDB4MDIsMHgxYywweDAwLDB4ZDcsMHgwMCwweDM5IH19LAotIHsxNiwgMHhjMjEwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGRjLDB4MDAsMHhiNSwweDAwLDB4MjEsMHhjMCwweDJhLDB4NzAsMHgxMiwweGNjLDB4ODAsMHg4NyB9fSwKLSB7MTYsIDB4YzIyMCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MGIsMHg3MiwweDUyLDB4MWMsMHgwMCwweGI3LDB4MDAsMHgyZCwweDQxLDB4MGIsMHgzMiwweDAyLDB4MTIgfX0sCi0gezE2LCAweGMyMzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4YmUsMHgwMCwweDgxLDB4YzAsMHgyMywweDIwIH19LAotIHsxNiwgMHhjMjQwLCAwLCB7MHgwYiwweGQ4LDB4MDIsMHg1ZSwweDAwLDB4MDYsMHhjMCwweDJkLDB4YTAsMHgwYiwweDdjLDB4MTIsMHhkZSwweDA4LDB4YmYsMHg4MCB9fSwKLSB7MTYsIDB4YzI1MCwgMCwgezB4YTEsMHhlMiwweDJhLDB4N2EsMHgwMiwweGRlLDB4MDAsMHg5MywweDgwLDB4MjUsMHg2MCwweDBiLDB4NzgsMHgxZSwweDVlLDB4NTAgfX0sCi0gezE2LCAweGMyNjAsIDAsIHsweGI3LDB4ODAsMHgyZCwweGEwLDB4MGIsMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMjcwLCAwLCB7MHg0OCwweDE0LDB4Y2UsMHgwMCwweDgzLDB4NjAsMHgyMCwweGMwLDB4MDksMHgzMSwweDAyLDB4MmMsMHgwMCwweDkzLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4YzI4MCwgMCwgezB4YzAsMHgxYiwweGIwLDB4MDYsMHhjYywweDgwLDB4YjMsMHg0OCwweDIwLDB4ZjAsMHgwYSwweDMwLDB4MDIsMHhlYywweDAwLDB4OTMgfX0sCi0gezE2LCAweGMyOTAsIDAsIHsweDgwLDB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweDRjLDB4MTAsMHhiMywweGM4LDB4MmMsMHhkMiwweDhiLDB4MzAsMHgwMiwweDEyIH19LAotIHsxNiwgMHhjMmEwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGJiLDB4MDAsMHhjNiwweGM0LDB4MzEsMHg4MSB9fSwKLSB7MTYsIDB4YzJiMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4NjgsMHgwMCwweGNlLDB4ODAsMHgzZiwweGEyLDB4MGIsMHhlOCwweDAzLDB4ZjksMHgwMCwweGZlLDB4NDAgfX0sCi0gezE2LCAweGMyYzAsIDAsIHsweDMxLDB4ODAsMHg2ZSwweGEwLDB4MDcsMHhlOCwweDAwLDB4ZGEsMHgwMCwweDI2LDB4ODEsMHgwZiwweGEwLDB4MDIsMHg2OCwweDAxIH19LAotIHsxNiwgMHhjMmQwLCAwLCB7MHhmNiwweGUwLDB4M2QsMHg5MiwweDBmLDB4YTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzJlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4YzIsMHhmOCwweDA0LDB4M2UsMHgxNCwweDBmLDB4ODAsMHgxMywweGUwLDB4MTAsMHhmOCwweDAxLDB4M2UgfX0sCi0gezE2LCAweGMyZjAsIDAsIHsweDEwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgzZSwweDAwLDB4NDcsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGU4IH19LAotIHsxNiwgMHhjMzAwLCAwLCB7MHgxMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDcsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwZiwweDgwLDB4MGIsMHhkMiB9fSwKLSB7MTYsIDB4YzMxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMSwweDMyLDB4NDAgfX0sCi0gezE2LCAweGMzMjAsIDAsIHsweDhjLDB4OTAsMHgwMywweGU0LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MiwweDBmLDB4OTAsMHgwMywweGE0LDB4MDAsMHhjOSwweDAwIH19LAotIHsxNiwgMHhjMzMwLCAwLCB7MHgzZSwweDQyLDB4MGQsMHg5MCwweDAzLDB4NjQsMHgwMCwweGQ5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDBiLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4YzM0MCwgMCwgezB4ZjksMHg5MCwweDMyLDB4NDEsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMzNTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHhjOCwweGEyLDB4NjAsMHgwYSwweDkyLDB4MDIsMHhlNCwweDAwLDB4ODksMHg0MCwweDJlIH19LAotIHsxNiwgMHhjMzYwLCAwLCB7MHg1OCwweDBiLDB4OTAsMHgwMiwweDA0LDB4MDAsMHhkOSwweDAwLDB4MmUsMHg0MiwweDA4LDB4OTAsMHgwMiwweGU0LDB4MDQsMHg4OSB9fSwKLSB7MTYsIDB4YzM3MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MGIsMHg5MCwweDA2LDB4MjQsMHgwNCwweGI5LDB4MDgsMHgyYSwweDQwLDB4NDgsMHg5MCwweDEyLDB4MjAgfX0sCi0gezE2LCAweGMzODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4MTAsMHgyMiwweDQ0IH19LAotIHsxNiwgMHhjMzkwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDUsMHg4YiwweDkwLDB4MDIsMHhhNCwweDAwLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4YzNhMCwgMCwgezB4MmEsMHg0MCwweDA5LDB4OTAsMHgwMiwweGU0LDB4MDAsMHg5OSwweDgwLDB4MmUsMHg0MCwweDBiLDB4OTAsMHgyNiwweDI0LDB4MDAgfX0sCi0gezE2LCAweGMzYjAsIDAsIHsweGI5LDB4MDEsMHgyMiwweDcwLDB4MDksMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjM2MwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHgwOCwweGIxLDB4MjAsMHgyMCwweDQwLDB4MGEsMHgxMCwweDAyLDB4YzQsMHg4MCwweDgzLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4YzNkMCwgMCwgezB4NTAsMHg0YiwweDEwLDB4MDIsMHgyNCwweDAwLDB4OTEsMHgwMCwweDJlLDB4NDAsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgxLDB4ODEgfX0sCi0gezE2LCAweGMzZTAsIDAsIHsweGEyLDB4NmMsMHg0MCwweDBiLDB4MTIsMHgwMiwweDA0LDB4ODAsMHhiOSwweDIwLDB4MmEsMHg0OCwweDI5LDB4MTIsMHgwMiwweDAyIH19LAotIHsxNiwgMHhjM2YwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYxLDB4NDAsMHhmOCwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4YzQwMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4ZTEsMHg0MiwweGM4LDB4MDAsMHgzMiwweDAwLDB4MWYsMHg4NSwweDAzLDB4YTEsMHg0MCwweGM4LDB4NTAgfX0sCi0gezE2LCAweGM0MTAsIDAsIHsweDNhLDB4MDAsMHg4ZCwweDg1LDB4MDMsMHg2MSwweDQwLDB4ZDgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDA1LDB4MDMsMHgyMSwweDQwIH19LAotIHsxNiwgMHhjNDIwLCAwLCB7MHhmOCwweDUwLDB4MzIsMHgxNCwweDBkLDB4ODUsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzQzMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4MDQsMHhmZCwweDEwLDB4M2YsMHg0MCwweDBmLDB4NTAsMHgwMywweGM0LDB4NDAsMHhmZCwweDAwLDB4M2YgfX0sCi0gezE2LCAweGM0NDAsIDAsIHsweDUxLDB4MGYsMHhkMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDEsMHgzZCwweDQwLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGZkIH19LAotIHsxNiwgMHhjNDUwLCAwLCB7MHgxMCwweDNmLDB4NGEsMHgwZiwweDkxLDB4MDMsMHhlNCwweDQwLDB4ZmQsMHgxMCwweDNmLDB4NDQsMHgwZSwweDkxLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4YzQ2MCwgMCwgezB4MDIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhjNSwweDAwLDB4Y2QsMHgwMCwweDMxLDB4NDAgfX0sCi0gezE2LCAweGM0NzAsIDAsIHsweDBkLDB4ZDAsMHg0MywweGU0LDB4MDAsMHhjZCwweDAwLDB4MzMsMHg0MCwweDRmLDB4MTEsMHgwMiwweGU0LDB4MDQsMHhjMSwweDAwIH19LAotIHsxNiwgMHhjNDgwLCAwLCB7MHgzZCwweDQwLDB4MGMsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGVkLDB4YTQsMHgzMiwweDUwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4YzQ5MCwgMCwgezB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0YTAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDA4LDB4ZDgsMHgwMCwweDMyLDB4MDEsMHgwMCwweDgwLDB4MTIsMHhjMCwweDAwLDB4NDgsMHgwMCwweDM2IH19LAotIHsxNiwgMHhjNGIwLCAwLCB7MHg4MCwweDBiLDB4OGEsMHgwMiwweGUwLDB4MDAsMHhhOCwweDAwLDB4MmUsMHgwMCwweDBmLDB4ODAsMHgwMiwweGUwLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4YzRjMCwgMCwgezB4NTAsMHgzNCwweDI4LDB4MGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MGIsMHg4MCwweDAyLDB4Y2UgfX0sCi0gezE2LCAweGM0ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDAsMHgyNiwweDQwIH19LAotIHsxNiwgMHhjNGUwLCAwLCB7MHgwOSwweDE4LDB4MDIsMHhjNCwweDA4LDB4MjEsMHgwMCwweDI4LDB4NDAsMHg4YiwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHgwMSB9fSwKLSB7MTYsIDB4YzRmMCwgMCwgezB4MmUsMHg0MCwweDE4LDB4MTAsMHgwMiwweGM0LDB4MDAsMHhhMSwweDAxLDB4MjAsMHg0OCwweDFiLDB4MTAsMHgwMiwweGM0LDB4MDAgfX0sCi0gezE2LCAweGM1MDAsIDAsIHsweGIxLDB4MDAsMHg2YywweDQwLDB4MGIsMHgxMCwweDEyLDB4YzIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNTEwLCAwLCB7MHgxOCwweDExLDB4YTQsMHgwMCwweDk5LDB4ODAsMHhhMiwweDQyLDB4NDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGE5LDB4MmEsMHgyNiB9fSwKLSB7MTYsIDB4YzUyMCwgMCwgezB4NDQsMHgwYiwweDkwLDB4ODIsMHhjNCwweDgxLDB4YjksMHgwMCwweDJlLDB4NDAsMHgwYiwweDkwLDB4NDIsMHhjNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGM1MzAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhiOSwweDAxLDB4MmUsMHg0MSwweDBiLDB4OTAsMHgwMiwweGM2IH19LAotIHsxNiwgMHhjNTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGM1LDB4MjAsMHhjOSwweDg0LDB4MzAsMHg3MCB9fSwKLSB7MTYsIDB4YzU1MCwgMCwgezB4MGQsMHg5MCwweDEzLDB4ZTQsMHgwMiwweGU5LDB4MDAsMHgzMiwweDcwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4NDAgfX0sCi0gezE2LCAweGM1NjAsIDAsIHsweDNjLDB4NDgsMHgwYywweDkwLDB4MDMsMHhlNCwweDAwLDB4ZTEsMHgwMCwweDMyLDB4NDAsMHgwZiwweDkwLDB4MDEsMHhlNCwweDAwIH19LAotIHsxNiwgMHhjNTcwLCAwLCB7MHhmOSwweDkwLDB4M2UsMHg2MCwweDBmLDB4OTAsMHgyNiwweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzU4MCwgMCwgezB4MjgsMHgwMSwweGE1LDB4MDAsMHhmMSwweDA0LDB4M2EsMHg0NCwweDhmLDB4OTAsMHgwMywweGU0LDB4MTAsMHhjOSwweDA0LDB4M2UgfX0sCi0gezE2LCAweGM1OTAsIDAsIHsweDYwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGU5LDB4MjAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTQsMHgxMCwweGY5IH19LAotIHsxNiwgMHhjNWEwLCAwLCB7MHg5MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHg4MCwweDNlLDB4NjQsMHgwZiwweDkwLDB4MDcsMHhjYSB9fSwKLSB7MTYsIDB4YzViMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMSwweDAwLDB4YzgsMHgwNCwweDNhLDB4MDAgfX0sCi0gezE2LCAweGM1YzAsIDAsIHsweDFlLDB4ODAsMHgwMywweDgwLDB4MDMsMHhjOCwweDQwLDB4MmEsMHgwNCwweDFmLDB4ODAsMHgwMywweDIwLDB4MDAsMHg4OCwweDAwIH19LAotIHsxNiwgMHhjNWQwLCAwLCB7MHgzMiwweDMwLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg4MCwweDAzLDB4ZTAsMHgwMCB9fSwKLSB7MTYsIDB4YzVlMCwgMCwgezB4YzgsMHg4MCwweDNlLDB4MjAsMHgwZiwweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1ZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YWUsMHhkMCwweDM3LDB4ODAsMHgwOCwweGVjLDB4NDYsMHgzOCwweDAwLDB4ZDYsMHgwNCwweDIzIH19LAotIHsxNiwgMHhjNjAwLCAwLCB7MHhhMCwweDBiLDB4YTAsMHg0MSwweDc4LDB4MDQsMHhmYSwweDAwLDB4MzcsMHg4MCwweDBkLDB4YTAsMHgwMiwweGE4LDB4MTAsMHhlZSB9fSwKLSB7MTYsIDB4YzYxMCwgMCwgezB4MjEsMHgyZSwweDgwLDB4MDgsMHhhMCwweDAyLDB4ZTgsMHgwOCwweDhlLDB4ODAsMHgyZiwweGEwLDB4OGIsMHhhMCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweGM2MjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDAxLDB4NGMsMHgwMiwweDgzLDB4YzAsMHhhOCwweGU4IH19LAotIHsxNiwgMHhjNjMwLCAwLCB7MHg0YSwweDM2LDB4MDIsMHg4YywweDAwLDB4MTMsMHhhMCwweDI4LDB4YzIsMHgwYiwweDMwLDB4MDYsMHgwYywweDAwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4YzY0MCwgMCwgezB4MjQsMHg4NCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDIwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweGNjLDB4MDAgfX0sCi0gezE2LCAweGM2NTAsIDAsIHsweDgzLDB4ODAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4Y2EsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNjYwLCAwLCB7MHhhMCwweDAxLDB4M2MsMHg0NCwweGFmLDB4NDAsMHgyNSwweGMyLDB4NDgsMHhmOCwweDgyLDB4MWMsMHhjOCwweDlmLDB4MDgsMHgyMSB9fSwKLSB7MTYsIDB4YzY3MCwgMCwgezB4YzAsMHg4YiwweGY4LDB4MDIsMHg1YywweDAwLDB4YmYsMHhiMCwweDI3LDB4ODAsMHgwOSwweDNhLDB4MDIsMHg5YywweDAwLDB4YTUgfX0sCi0gezE2LCAweGM2ODAsIDAsIHsweDAyLDB4MmQsMHhlOCwweDA5LDB4NzAsMHgwMiwweGNlLDB4ODAsMHg4NSwweDA4LDB4MmQsMHhjMiwweDBiLDB4NzMsMHgwMiwweGU4IH19LAotIHsxNiwgMHhjNjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweDgyLDB4YTksMHhlMCB9fSwKLSB7MTYsIDB4YzZhMCwgMCwgezB4MGEsMHg3OCwweDAyLDB4OWUsMHg0MCwweDk3LDB4ODQsMHgzOSwweGEwLDB4MGIsMHg3YSwweDgzLDB4M2YsMHg4MCwweGQ3LDB4OTEgfX0sCi0gezE2LCAweGM2YjAsIDAsIHsweDM1LDB4YTAsMHgwZCwweDdhLDB4MDksMHgxZSwweDQ0LDB4ZjcsMHg4MCwweDNkLDB4ZTgsMHgyZCwweDdhLDB4MDMsMHhkZSwweDgyIH19LAotIHsxNiwgMHhjNmMwLCAwLCB7MHhjNiwweDgwLDB4M2QsMHgyMCwweDRiLDB4N2IsMHgyMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzZkMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhkMywweDAwLDB4M2UsMHhjMSwweDBmLDB4MzAsMHgwMywweGVkLDB4ODAsMHhlMywweDAwLDB4M2UgfX0sCi0gezE2LCAweGM2ZTAsIDAsIHsweDgwLDB4MGYsMHhiNiwweDIxLDB4ZWMsMHgwOCwweGRiLDB4MjEsMHgzZSwweDgwLDB4MGYsMHhiNSwweDAzLDB4NmMsMHg0MCwweGY5IH19LAotIHsxNiwgMHhjNmYwLCAwLCB7MHgwMCwweDNlLDB4ZGMsMHgwZSwweGIyLDB4MDMsMHhlZCwweDQwLDB4ZjksMHgwMiwweDNlLDB4ODAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YzcwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4Y2YsMHg4MCwweDNkLDB4ZTAgfX0sCi0gezE2LCAweGM3MTAsIDAsIHsweDBmLDB4YzgsMHg0MywweGZlLDB4MDAsMHhmZSwweDg0LDB4M2YsMHhlMCwweDBkLDB4ZjgsMHhjMywweGZmLDB4MTAsMHhhZiwweDkwIH19LAotIHsxNiwgMHhjNzIwLCAwLCB7MHgzNSwweGEwLDB4MGMsMHhmYywweDAzLDB4M2UsMHgxNCwweGVjLDB4ODQsMHgzZiwweGYwLDB4MGUsMHhmYywweGMzLDB4ZmYsMHgwOCB9fSwKLSB7MTYsIDB4YzczMCwgMCwgezB4NGYsMHg4MCwweDMzLDB4ZTQsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3NDAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ZDcsMHhhMiwweDJkLDB4YzQsMHgwYywweDQxLDB4YzIsMHhkYywweDAwLDB4NzQsMHgwMCwweDI1IH19LAotIHsxNiwgMHhjNzUwLCAwLCB7MHg4MCwweDBmLDB4NzIsMHg0MiwweGRjLDB4OTAsMHhkNywweDM4LDB4MmQsMHg5OCwweDBhLDB4NzAsMHgwMiwweDFjLDB4MDQsMHg4NiB9fSwKLSB7MTYsIDB4Yzc2MCwgMCwgezB4MDAsMHgzZiwweGMwLDB4MGQsMHg3MCwweDAyLDB4Y2MsMHgwMCwweDg2LDB4MDgsMHgzNywweGM2LDB4MjgsMHg3MCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGM3NzAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweDg3LDB4NjAsMHgyZCwweGMyIH19LAotIHsxNiwgMHhjNzgwLCAwLCB7MHgwYSwweDUwLDB4MDIsMHhkYywweDAwLDB4YjYsMHgxMCwweDI1LDB4YzIsMHgwOSwweDcwLDB4ODYsMHhkYywweDMwLDB4OTcsMHgwMCB9fSwKLSB7MTYsIDB4Yzc5MCwgMCwgezB4MjUsMHg4MCwweDA4LDB4MzAsMHgwMiwweDVjLDB4MDAsMHg4NywweDA4LDB4MmQsMHhjMCwweDA4LDB4NzAsMHgwMiwweGNjLDB4NDAgfX0sCi0gezE2LCAweGM3YTAsIDAsIHsweDg2LDB4MDAsMHgyMSwweDAwLDB4MDksMHg3MCwweDBhLDB4MDAsMHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjN2IwLCAwLCB7MHgyMCwweDE0LDB4ZWQsMHg4MCwweDkzLDB4MDAsMHgwYywweGUxLDB4MjgsMHgxOCwweDAyLDB4Y2MsMHgwOCwweGEwLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4YzdjMCwgMCwgezB4MTIsMHgxYSwweDM0LDB4MDIsMHhjZiwweDA0LDB4OTMsMHg0MCwweDJjLDB4ODAsMHgwYSwweGIwLDB4MjIsMHg0YywweDAyLDB4ODEgfX0sCi0gezE2LCAweGM3ZDAsIDAsIHsweDgwLDB4MjgsMHhlMCwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHg4OCwweDgyLDB4MjQsMHgyMCwweDA4LDB4YjAsMHgwMiwweDA4IH19LAotIHsxNiwgMHhjN2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJmLDB4MjAsMHhjOSwweGUwLDB4MmMsMHhmMSB9fSwKLSB7MTYsIDB4YzdmMCwgMCwgezB4MGUsMHhiZCwweDAzLDB4ZmMsMHgwMCwweGI5LDB4NDAsMHgzNiwweDQwLDB4MDksMHhmNSwweDAyLDB4ZmQsMHg0MCwweGZmLDB4ODAgfX0sCi0gezE2LCAweGM4MDAsIDAsIHsweDM2LDB4YTIsMHgwOCwweGYwLDB4MGIsMHg3YywweDAwLDB4ZWIsMHg4MCwweDJmLDB4ZTAsMHgwYSwweGYwLDB4NDMsMHhmYywweDAyIH19LAotIHsxNiwgMHhjODEwLCAwLCB7MHg4YiwweGQwLDB4MzIsMHhmMCwweDBkLDB4ZjAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzgyMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MTAsMHhmYiwweDAwLDB4M2UsMHhjOCwweDBmLDB4OTQsMHgxMywweGVjLDB4MDAsMHhmOSwweDQwLDB4MzYgfX0sCi0gezE2LCAweGM4MzAsIDAsIHsweDQwLDB4MWYsMHhiMCwweDAzLDB4ZWMsMHgxMCwweGZiLDB4MDEsMHgzZSwweGQwLDB4MGYsMHhiMCwweDAzLDB4YWMsMHgwMCwweGY5IH19LAotIHsxNiwgMHhjODQwLCAwLCB7MHgwMCwweDNlLDB4YzQsMHgwZiwweGIwLDB4MDEsMHhlYywweDAwLDB4ZjksMHgwNCwweDNlLDB4NDgsMHgwZiwweGIwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4Yzg1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZGYsMHgwMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweGM4NjAsIDAsIHsweDBjLDB4ZTAsMHgwNywweGZjLDB4MDAsMHhmYywweDBhLDB4MjcsMHgwMCwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhmZiwweDA4IH19LAotIHsxNiwgMHhjODcwLCAwLCB7MHgzMywweDgwLDB4MGMsMHhmMCwweDAwLDB4MmMsMHgwMCwweDVmLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDAxLDB4ZmMsMHgwMCB9fSwKLSB7MTYsIDB4Yzg4MCwgMCwgezB4ZmUsMHgwMCwweDIzLDB4NDAsMHgwZiwweGIwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4OTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHg4NiwweDJlLDB4ZTAsMHg0OCwweDhmLDB4MDIsMHhlYywweDA4LDB4YjgsMHhhMCwweDM2IH19LAotIHsxNiwgMHhjOGEwLCAwLCB7MHgzMCwweDRiLDB4YjAsMHgwMywweGFjLDB4MGMsMHg5YiwweDAyLDB4M2MsMHhhMCwweDBjLDB4YjAsMHg0MywweDZjLDB4MDAsMHhiMSB9fSwKLSB7MTYsIDB4YzhiMCwgMCwgezB4MDAsMHgyOCwweGMwLDB4MGQsMHhiMCwweDEyLDB4ZWMsMHgxMCwweGI5LDB4ODAsMHhhMiwweDYxLDB4MGIsMHhiMCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGM4YzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDliLDB4ODgsMHgyZSwweGUwIH19LAotIHsxNiwgMHhjOGQwLCAwLCB7MHgwOCwweGEwLDB4MDIsMHhlYywweDAxLDB4YmIsMHg4MCwweDI2LDB4NjIsMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4YjMsMHgwMSB9fSwKLSB7MTYsIDB4YzhlMCwgMCwgezB4MmEsMHgyMSwweDA4LDB4YjAsMHgxMiwweDJjLDB4MDAsMHhiOCwweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgxMiwweGVjLDB4MTQgfX0sCi0gezE2LCAweGM4ZjAsIDAsIHsweGI5LDB4ODQsMHgyMiwweGEyLDB4MGIsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOTAwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwNCwweDkzLDB4MDAsMHgyYywweGUwLDB4MDgsMHgwMCwweDAyLDB4Y2MsMHgwOSwweDkxLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YzkxMCwgMCwgezB4NDAsMHgwYiwweDMwLDB4MDYsMHg0YywweDA0LDB4MTMsMHgwMCwweDI2LDB4MDAsMHgwOCwweDMwLDB4MDIsMHhjYywweDA0LDB4YjIgfX0sCi0gezE2LCAweGM5MjAsIDAsIHsweDAwLDB4MmEsMHhjMCwweDAxLDB4MzAsMHgwMCwweGNkLDB4MDAsMHhiMCwweDAwLDB4MjAsMHg4MCwweDBiLDB4MzAsMHgwYSwweDAyIH19LAotIHsxNiwgMHhjOTMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhkYiwweDI0LDB4NmUsMHhjMCB9fSwKLSB7MTYsIDB4Yzk0MCwgMCwgezB4MmMsMHhhMCwweDAyLDB4ZmMsMHgwMCwweGJhLDB4MDQsMHgyNiwweDQwLDB4NGYsMHhmMCwweDU3LDB4ZmMsMHgwMCwweDNmLDB4MDEgfX0sCi0gezE2LCAweGM5NTAsIDAsIHsweDNhLDB4MDAsMHgyYywweGYwLDB4MDEsMHgzYywweDAwLDB4ZGIsMHgwMCwweDMzLDB4YzAsMHg4NCwweGYwLDB4MDMsMHhmZCwweDA4IH19LAotIHsxNiwgMHhjOTYwLCAwLCB7MHhmYSwweDAwLDB4MzIsMHgwMCwweDBmLDB4ZjAsMHgwMywweDAwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzk3MCwgMCwgezB4YTAsMHgxOSwweGRjLDB4MDAsMHhlYSwweDQwLDB4M2YsMHgwMCwweDA3LDB4YzAsMHgwMywweGZjLDB4MDQsMHhmYywweDAwLDB4M2YgfX0sCi0gezE2LCAweGM5ODAsIDAsIHsweDQwLDB4MGYsMHhmMCwweDAzLDB4OWMsMHgwMCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGUsMHhmMCwweDAzLDB4N2MsMHgwMCwweGZkIH19LAotIHsxNiwgMHhjOTkwLCAwLCB7MHgwMCwweDNmLDB4YzEsMHgwZiwweGYwLDB4MDMsMHhmYywweDg0LDB4ZjQsMHgwMCwweDNmLDB4MDAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4YzlhMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDEsMHhmMCwweDgwLDB4ZmYsMHgwMCwweDAzLDB4YzIgfX0sCi0gezE2LCAweGM5YjAsIDAsIHsweDBmLDB4YzIsMHgwMywweDNlLDB4MDAsMHhkZiwweGMwLDB4M2UsMHhjMCwweDRkLDB4ZGIsMHgwMiwweGIwLDB4YzAsMHhkYywweDMwIH19LAotIHsxNiwgMHhjOWMwLCAwLCB7MHgzZiwweGUwLDB4MGYsMHhkYiwweDIzLDB4ZjYsMHgyMCwweGZmLDB4MjYsMHgzMywweGUwLDB4MGYsMHg1MiwweDAzLDB4NWUsMHgwMCB9fSwKLSB7MTYsIDB4YzlkMCwgMCwgezB4ZmYsMHg4MCwweDMzLDB4YzAsMHg0YywweDQ5LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5ZTAsIDAsIHsweDgwLDB4MTAsMHhlMSwweGUwLDB4YjcsMHgwOCwweDIzLDB4ZjAsMHgwYiwweGFkLDB4MGEsMHgyZSwweDAwLDB4OWEsMHgwNCwweDJlIH19LAotIHsxNiwgMHhjOWYwLCAwLCB7MHhiMCwweDA5LDB4OGYsMHgwMywweGEwLDB4NDAsMHhiOSwweDMwLDB4MmUsMHhhMCwweDBiLDB4OWYsMHgwMywweGE3LDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4Y2EwMCwgMCwgezB4ODAsMHgyNiwweGUwLDB4MGIsMHhkZCwweDAyLDB4MmUsMHgwMCwweGJiLDB4ODAsMHgyMiwweGY0LDB4MGEsMHg5MiwweDAyLDB4YTAgfX0sCi0gezE2LCAweGNhMTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHg4MCwweGIzLDB4MTAsMHgyNCwweGMwIH19LAotIHsxNiwgMHhjYTIwLCAwLCB7MHgwYiwweDgwLDB4MDIsMHhhYywweDAwLDB4YTMsMHgyNCwweDJjLDB4ZDAsMHgwOCwweDEwLDB4MDYsMHhjMCwweDgwLDB4YjIsMHgwMSB9fSwKLSB7MTYsIDB4Y2EzMCwgMCwgezB4MmMsMHhlYSwweDRiLDB4MDAsMHgxMiwweGMyLDB4MDQsMHhiMywweDEwLDB4MDgsMHhjMCwweDBhLDB4OTAsMHgwMiwweDBjLDB4MDAgfX0sCi0gezE2LCAweGNhNDAsIDAsIHsweDkzLDB4MDQsMHgyNCwweGMwLDB4MDksMHg4MiwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYTUwLCAwLCB7MHhjMCwweDE1LDB4YTUsMHgwMCwweGJiLDB4MDAsMHgyMiwweGMwLDB4MGIsMHg4MCwweDAyLDB4YWMsMHgwOCwweGJiLDB4MTgsMHgyZSB9fSwKLSB7MTYsIDB4Y2E2MCwgMCwgezB4ZTAsMHgxOCwweDg4LDB4MDIsMHhlYywweDAxLDB4YmEsMHgwMCwweDJlLDB4ODAsMHgwYiwweDk4LDB4ODYsMHhlMiwweDAwLDB4YmIgfX0sCi0gezE2LCAweGNhNzAsIDAsIHsweDAwLDB4MjIsMHhjNCwweDBiLDB4OTAsMHgwMiwweDZjLDB4MDAsMHhiYiwweDAwLDB4YTYsMHhjMCwweDBiLDB4OTAsMHgwMCwweGIwIH19LAotIHsxNiwgMHhjYTgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxMSwweGU3LDB4MDAsMHhmYiwweDAwLDB4YjIsMHhjMCB9fSwKLSB7MTYsIDB4Y2E5MCwgMCwgezB4MGYsMHhhOCwweDAzLDB4YWMsMHgwMiwweGViLDB4MDAsMHgzZSwweDYwLDB4MGQsMHg5ZSwweDAzLDB4ZWMsMHgwMCwweGQ4LDB4NDAgfX0sCi0gezE2LCAweGNhYTAsIDAsIHsweDNlLDB4NDAsMHgwZiwweDg4LDB4NDMsMHhlMiwweDAwLDB4ZmIsMHgyMCwweDMyLDB4YzAsMHgwZiwweDEwLDB4MGIsMHg2ZiwweDkwIH19LAotIHsxNiwgMHhjYWIwLCAwLCB7MHg1YiwweDgyLDB4MzYsMHhjMCwweDJkLDB4MDgsMHgwMSwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2FjMCwgMCwgezB4ZTAsMHgwMSwweGI3LDB4MDgsMHhmNywweDAwLDB4M2YsMHhjMCwweDBmLDB4ZjksMHgwMywweDdjLDB4MDgsMHhjZiwweDgyLDB4M2MgfX0sCi0gezE2LCAweGNhZDAsIDAsIHsweDAwLDB4YWYsMHhkMCwweDIxLDB4YmMsMHgwOCwweGZkLDB4MTAsMHgzZiwweDgwLDB4OGYsMHhjMCwweDAzLDB4YTQsMHgwMCwweGY3IH19LAotIHsxNiwgMHhjYWUwLCAwLCB7MHgwMSwweGJmLDB4YzAsMHgwNywweGQwLDB4MDMsMHhiZCwweDMwLDB4ZmYsMHhhNCwweDM4LDB4YzAsMHgwZSwweGRhLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4Y2FmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhOCwweDAwLDB4ZmIsMHgwMCwweGIyLDB4YzEgfX0sCi0gezE2LCAweGNiMDAsIDAsIHsweDBlLDB4ODEsMHgwMywweGVjLDB4NDAsMHhmYiwweDQ0LDB4M2EsMHhjMSwweDBlLDB4OTUsMHgwMywweGUwLDB4MDAsMHhjYiwweDQxIH19LAotIHsxNiwgMHhjYjEwLCAwLCB7MHgzMiwweDRkLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgyMCwweGM5LDB4MDAsMHg3MiwweGU4LDB4NDQsMHg5MSwweDAzLDB4NmQsMHgwMCB9fSwKLSB7MTYsIDB4Y2IyMCwgMCwgezB4Y2IsMHgwMiwweDNlLDB4YzAsMHgwYywweDgwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiMzAsIDAsIHsweGM4LDB4MDUsMHgyNCwweDAwLDB4YmYsMHgwMCwweDMzLDB4YzQsMHgwOCwweDFkLDB4MDMsMHg4YywweDAwLDB4YmIsMHg5OCwweDM2IH19LAotIHsxNiwgMHhjYjQwLCAwLCB7MHg0OCwweDRkLDB4OTgsMHgyMiwweGVkLDB4NDAsMHhkYiwweDAwLDB4MzYsMHhiMCwweDBiLDB4OTgsMHgwMiwweGUzLDB4MDAsMHhkYiB9fSwKLSB7MTYsIDB4Y2I1MCwgMCwgezB4MDAsMHgzMiwweGUwLDB4ODgsMHhkOCwweDAyLDB4MmMsMHgwMiwweGMzLDB4ODAsMHgyZiwweGMwLDB4MDgsMHg5MCwweDAzLDB4NzIgfX0sCi0gezE2LCAweGNiNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDAxLDB4NDQsMHgwMCwweGIzLDB4MDAsMHgyMCwweGYwIH19LAotIHsxNiwgMHhjYjcwLCAwLCB7MHgxOCwweDA4LDB4MDIsMHg0ZiwweDg0LDB4YjEsMHhjMCwweDI0LDB4YzAsMHg4OSwweDA2LDB4MDIsMHhjNCwweDAwLDB4OTEsMHgwMCB9fSwKLSB7MTYsIDB4Y2I4MCwgMCwgezB4MjAsMHhmMCwweDFiLDB4MTgsMHg4MiwweGM2LDB4MDAsMHg5MywweDAwLDB4MmMsMHhkMSwweDA4LDB4MWUsMHgwMiwweDBlLDB4NDQgfX0sCi0gezE2LCAweGNiOTAsIDAsIHsweDkzLDB4OTQsMHgyYywweGMwLDB4MDgsMHgyMCwweDAyLDB4YjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYmEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwNCwweGI3LDB4ODAsMHgyMCwweGUyLDB4MDgsMHg2OCwweDA2LDB4OWUsMHg4MCwweGJmLDB4ODQsMHgyNSB9fSwKLSB7MTYsIDB4Y2JiMCwgMCwgezB4YTgsMHgwOSwweDY4LDB4MDIsMHhjNiwweDAwLDB4OTMsMHhhMCwweDY1LDB4ZTQsMHgwYiwweDc4LDB4MTIsMHhkZSwweDAwLDB4OTMgfX0sCi0gezE2LCAweGNiYzAsIDAsIHsweDAwLDB4YTEsMHhlMCwweDA4LDB4ZDgsMHgwMiwweDFlLDB4ZDAsMHhhNywweDgwLDB4MmQsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDQ4IH19LAotIHsxNiwgMHhjYmQwLCAwLCB7MHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDA4LDB4MDAsMHhiMywweDIwLDB4MzAsMHhjMCB9fSwKLSB7MTYsIDB4Y2JlMCwgMCwgezB4MGEsMHgyMiwweDAyLDB4Y2UsMHg0MCwweGYzLDB4YTAsMHgzYywweGU4LDB4MGIsMHgzMCwweDAyLDB4YzEsMHgwMCwweGQwLDB4YzEgfX0sCi0gezE2LCAweGNiZjAsIDAsIHsweDMwLDB4YzAsMHgwYiwweDIxLDB4MTMsMHhjYywweDIxLDB4ZDMsMHgwMCwweDJjLDB4YzAsMHgyYywweDEwLDB4MGIsMHgwYywweDgwIH19LAotIHsxNiwgMHhjYzAwLCAwLCB7MHhkMywweDYxLDB4M2MsMHhjOCwweDJjLDB4MjAsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2MxMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDQwLDB4M2IsMHhjMCwweDBmLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmNywweDUwLDB4N2YgfX0sCi0gezE2LCAweGNjMjAsIDAsIHsweGM0LDB4MmUsMHhmMCwweDAzLDB4ZmMsMHg0MCwweGZlLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDQ3LDB4ZmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHhjYzMwLCAwLCB7MHgwMCwweDdkLDB4YzIsMHgwZiwweGQwLDB4MDEsMHhiYywweDgwLDB4NWYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4Y2M0MCwgMCwgezB4MDIsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlNCwweDAwLDB4ZmIsMHhjMCwweDMyLDB4YzggfX0sCi0gezE2LCAweGNjNTAsIDAsIHsweDBlLDB4ZTAsMHgwMywweGFjLDB4YTAsMHhlYiwweDIwLDB4MzIsMHg0MCwweDhjLDB4YTAsMHgxMywweDJjLDB4MDAsMHhkOSwweDAwIH19LAotIHsxNiwgMHhjYzYwLCAwLCB7MHgzZSwweDYwLDB4MGMsMHhiMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4ODAsMHgzMCwweGMwLDB4M2MsMHg5MiwweDAzLDB4ZWYsMHg2MCB9fSwKLSB7MTYsIDB4Y2M3MCwgMCwgezB4YzMsMHgyMCwweDMxLDB4YzQsMHgwYywweGEwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNjODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4MzMsMHgyMCwweDIxLDB4ZGEsMHgwYiwweDcwLDB4NDMsMHg5YywweDAxLDB4YjUsMHgwMCwweDIxIH19LAotIHsxNiwgMHhjYzkwLCAwLCB7MHgwMCwweDBhLDB4ZTAsMHgwMiwweDFjLDB4MDAsMHhiNywweDAwLDB4MmYsMHhjMCwweDBkLDB4NzAsMHgwMywweDljLDB4MDAsMHhiNiB9fSwKLSB7MTYsIDB4Y2NhMCwgMCwgezB4MDAsMHgzMSwweGM4LDB4MDgsMHg1NywweDAyLDB4ZGMsMHgwMCwweDg3LDB4NTAsMHgyMSwweGMwLDB4MGEsMHg3MCwweDQyLDB4OTIgfX0sCi0gezE2LCAweGNjYjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWEsMHgxMSwweGI3LDB4OTAsMHgyMSwweGUwIH19LAotIHsxNiwgMHhjY2MwLCAwLCB7MHgwYiwweDY4LDB4ODIsMHhkZSwweDA4LDB4YTcsMHg4MCwweDI0LDB4NjAsMHgwOCwweDcwLDB4MTIsMHgxMiwweDA4LDB4OTUsMHg4MCB9fSwKLSB7MTYsIDB4Y2NkMCwgMCwgezB4MmQsMHg2MCwweDA5LDB4NmMsMHgwMiwweGRlLDB4MDAsMHhiMSwweDgwLDB4MjMsMHhlMCwweDBhLDB4NTgsMHg2MiwweGZlLDB4MDAgfX0sCi0gezE2LCAweGNjZTAsIDAsIHsweDk3LDB4YTAsMHgyMSwweGU4LDB4MDksMHhlOCwweDAyLDB4MzAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjY2YwLCAwLCB7MHg0OCwweDE0LDB4Y2QsMHgwMCwweGIzLDB4MDAsMHgyMCwweGMwLDB4OGIsMHgzYywweDAyLDB4OGMsMHgwMCwweGJiLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4Y2QwMCwgMCwgezB4YzQsMHgxYSwweDNkLDB4MDIsMHgyZiwweDg4LDB4YjMsMHg0OCwweDJjLDB4ZTAsMHg4OSwweDNlLDB4MDIsMHg4ZCwweDgwLDB4OTMgfX0sCi0gezE2LCAweGNkMTAsIDAsIHsweGQ5LDB4YTQsMHg0MCwweDg4LDB4MTAsMHgwMiwweGNjLDB4MDQsMHg5MywweGM4LDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweDkyIH19LAotIHsxNiwgMHhjZDIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4NDAsMHhmYSwweDAwLDB4YjIsMHg4MCB9fSwKLSB7MTYsIDB4Y2QzMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZTgsMHgwMCwweGVhLDB4ODAsMHgzNywweGEwLDB4MGMsMHhlOCwweDEzLDB4M2IsMHgwOCwweGRlLDB4MDEgfX0sCi0gezE2LCAweGNkNDAsIDAsIHsweDNmLDB4ODIsMHgwYywweGUwLDB4NDMsMHhmYSwweDgwLDB4ZmUsMHg4MCwweDMxLDB4MjgsMHgwYywweGEwLDB4MDMsMHhmMCwweDAyIH19LAotIHsxNiwgMHhjZDUwLCAwLCB7MHhjNCwweGMwLDB4YjIsMHg4MCwweDBkLDB4ZTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Q2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgxMCwweDBiLDB4ODAsMHg4MywweGUwLDB4MDAsMHhmOCwweDMwLDB4M2EgfX0sCi0gezE2LCAweGNkNzAsIDAsIHsweDAwLDB4NmQsMHg4MCwweDgzLDB4ZTEsMHg0NCwweGI4LDB4MDQsMHgzZSwweDEwLDB4MGYsMHg4MCwweDEzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHhjZDgwLCAwLCB7MHgwMCwweDNhLDB4MTAsMHg0ZiwweDA0LDB4MDMsMHhlMywweDAwLDB4ZTgsMHgxMCwweDNlLDB4MDAsMHgwZSwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4Y2Q5MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4YzksMHgwMCwweDM4LDB4NDAgfX0sCi0gezE2LCAweGNkYTAsIDAsIHsweDBmLDB4MWEsMHgwMywweDJlLDB4MDAsMHhmYiwweGEwLDB4MzYsMHg2MCwweDBjLDB4OTgsMHgwMywweGU2LDB4MDQsMHhkMSwweDAwIH19LAotIHsxNiwgMHhjZGIwLCAwLCB7MHgzNiwweDQ4LDB4MGUsMHg5MSwweDAyLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzZSwweDAwLDB4MGMsMHg5OSwweDAzLDB4NjIsMHg0MCB9fSwKLSB7MTYsIDB4Y2RjMCwgMCwgezB4ZjgsMHgwMCwweGEwLDB4NjgsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAyLDB4ODksMHgwNCwweDJlLDB4NjQsMHg4OCwweDk0LDB4MDIsMHhhNSwweDAwLDB4YjksMHg4MCwweDIwIH19LAotIHsxNiwgMHhjZGUwLCAwLCB7MHg2NCwweDBkLDB4OWMsMHgwMiwweGU2LDB4NDIsMHg4OSwweDAwLDB4MjIsMHg2MCwweDBiLDB4OWMsMHgwMiwweGU0LDB4MTAsMHhiOSB9fSwKLSB7MTYsIDB4Y2RmMCwgMCwgezB4NDAsMHgzYSwweDUwLDB4MDgsMHg5YywweDAyLDB4MjcsMHgyMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGNlMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwIH19LAotIHsxNiwgMHhjZTEwLCAwLCB7MHgwYSwweDkwLDB4ODIsMHgyNSwweDRjLDB4YjksMHgwMCwweDAyLDB4NDAsMHgwOCwweDk2LDB4MDIsMHhlNCwweDEwLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4Y2UyMCwgMCwgezB4MjYsMHg1MCwweDEzLDB4OTQsMHgwMiwweGU0LDB4NDAsMHhiOSwweDA4LDB4MmUsMHg0MCwweDA4LDB4OTAsMHg4YSwweDI0LDB4MDAgfX0sCi0gezE2LCAweGNlMzAsIDAsIHsweGI5LDB4MDEsMHgyYSwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZTQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHg4MCwweDgxLDB4NDAsMHgyYywweGM4LDB4MDgsMHgxMCwweDA2LDB4ODQsMHgwMCwweGIxLDB4MDQsMHgyMCB9fSwKLSB7MTYsIDB4Y2U1MCwgMCwgezB4NDksMHgwOSwweDE0LDB4NDIsMHhjYywweDg5LDB4ODEsMHgyMCwweDIwLDB4NTAsMHgwYiwweDE0LDB4NDYsMHhjNCwweDAwLDB4YjEgfX0sCi0gezE2LCAweGNlNjAsIDAsIHsweDAwLDB4MmEsMHhjMCwweDI4LDB4MTQsMHgwMiwweDAxLDB4MDEsMHhiMCwweDA0LDB4MjgsMHg0MCwweDM4LDB4OTQsMHgwMiwweDQyIH19LAotIHsxNiwgMHhjZTcwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHg4OCwweDAwLDB4M2EsMHgwMCB9fSwKLSB7MTYsIDB4Y2U4MCwgMCwgezB4MGUsMHg4MCwweDIzLDB4MjAsMHgwMCwweGY4LDB4NTAsMHhiMiwweDAwLDB4MGMsMHg4MCwweDEyLDB4ZTEsMHg0MCwweGQ4LDB4NTAgfX0sCi0gezE2LCAweGNlOTAsIDAsIHsweDM2LDB4MDAsMHgwZSwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHgwYywweDgwLDB4NTMsMHg2MCwweDA0IH19LAotIHsxNiwgMHhjZWEwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDBjLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2ViMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4NDAsMHhmOSwweDQ0LDB4M2UsMHg0NCwweDBmLDB4ZDQsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2YgfX0sCi0gezE2LCAweGNlYzAsIDAsIHsweDQ0LDB4MGYsMHhkNCwweDUzLDB4ZjQsMHg0NCwweGZkLDB4MTAsMHgyZiwweDQwLDB4MGYsMHhmNCwweDAzLDB4ZmQsMHgwMCwweGZkIH19LAotIHsxNiwgMHhjZWQwLCAwLCB7MHg0MCwweDNiLDB4MTAsMHgwZiwweGQ0LDB4MjMsMHhkMSwweDA0LDB4N2MsMHg0MywweDM2LDB4NTAsMHgwZiwweDUwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4Y2VlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhhNiwweDAwLDB4ZjksMHgxMCwweDJlLDB4NjIgfX0sCi0gezE2LCAweGNlZjAsIDAsIHsweDBmLDB4ZDIsMHg4MywweGU0LDB4MDAsMHhiZCwweDQyLDB4M2UsMHg2MSwweDBmLDB4ZDAsMHgwMywweGY2LDB4YzAsMHhjOSwweGEyIH19LAotIHsxNiwgMHhjZjAwLCAwLCB7MHgyYiwweDQwLDB4MGMsMHhkMCwweDAzLDB4MzQsMHgwMCwweGY5LDB4ODEsMHgzZSwweDY4LDB4MDgsMHhjMSwweDQzLDB4ZmEsMHgwMCB9fSwKLSB7MTYsIDB4Y2YxMCwgMCwgezB4ZjUsMHg4MCwweDNmLDB4NjIsMHgwYywweDE0LDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmMjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDIwLDB4ODgsMHgxMSwweDJlLDB4MTAsMHgwYiwweDgwLDB4MDIsMHhlMCwweDAwLDB4YjgsMHg4MiwweDJlIH19LAotIHsxNiwgMHhjZjMwLCAwLCB7MHgxMCwweDBiLDB4ODAsMHgwMCwweGUzLDB4YzQsMHg4OCwweGYwLDB4MjIsMHgwMCwweDBiLDB4ODAsMHgwYSwweDIwLDB4MDAsMHhlOCB9fSwKLSB7MTYsIDB4Y2Y0MCwgMCwgezB4NDAsMHgyZiwweDE0LDB4MDgsMHg4OCwweDAyLDB4ZTIsMHgwMCwweGI4LDB4MDAsMHgyZSwweDAwLDB4MDgsMHg4OCwweDAyLDB4OGUgfX0sCi0gezE2LCAweGNmNTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA0LDB4YzUsMHgwMCwweGExLDB4MDAsMHgyYywweDQwIH19LAotIHsxNiwgMHhjZjYwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjNCwweDE4LDB4YjEsMHgyMiwweDZjLDB4ZDEsMHgwYiwweDEwLDB4MjYsMHhjNCwweDAwLDB4ODEsMHgwOCB9fSwKLSB7MTYsIDB4Y2Y3MCwgMCwgezB4MmEsMHg0MCwweDg4LDB4MTAsMHgwMiwweDA0LDB4MDQsMHhiNSwweGMwLDB4MGYsMHg0MCwweDBiLDB4MDIsMHgwMiwweDQxLDB4YTAgfX0sCi0gezE2LCAweGNmODAsIDAsIHsweGIxLDB4NDAsMHgyYywweDQwLDB4MDgsMHgxMiwweDAyLDB4MDIsMHgxMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZjkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDg5LDB4MDYsMHgyZSwweDQwLDB4MGIsMHg5MCwweDEyLDB4ZTQsMHgwMCwweGI5LDB4NDAsMHgyZSB9fSwKLSB7MTYsIDB4Y2ZhMCwgMCwgezB4NDAsMHgwYiwweGIwLDB4ODIsMHhjNCwweDAyLDB4ODksMHg0NCwweDIyLDB4NDAsMHgwYSwweDkwLDB4MDIsMHgyNCwweDAwLDB4YTkgfX0sCi0gezE2LCAweGNmYjAsIDAsIHsweDAwLDB4MjcsMHg0OCwweDA5LDB4YjAsMHgxMiwweGVjLDB4MTgsMHhiOSwweDAxLDB4MmUsMHg0MCwweDQwLDB4OTAsMHgwMiwweDg2IH19LAotIHsxNiwgMHhjZmMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4ODQsMHhlOSwweDAxLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4Y2ZkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDcyLDB4MGYsMHg5MCwweDAzLDB4ZTcsMHg2MCwweDg5LDB4MTAgfX0sCi0gezE2LCAweGNmZTAsIDAsIHsweDNhLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDAwLDB4ZjksMHg0NCwweDNjLDB4NDAsMHgyZCwweDkwLDB4MDMsMHhlNywweDYwIH19LAotIHsxNiwgMHhjZmYwLCAwLCB7MHhmOSwweDcxLDB4M2UsMHg0MCwweDI4LDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDAwMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4NDgsMHhhOSwweDAwLDB4M2UsMHhjMCwweDBmLDB4OWEsMHg0MywweGVjLDB4MDAsMHhmOSwweDIwLDB4N2UgfX0sCi0gezE2LCAweGQwMTAsIDAsIHsweGM4LDB4MGYsMHg5YSwweDA3LDB4NjYsMHgwMCwweDc5LDB4ODAsMHg3ZSwweDQwLDB4MGYsMHgxYywweDAzLDB4ZTcsMHgwMCwweGU5IH19LAotIHsxNiwgMHhkMDIwLCAwLCB7MHhhMCwweDNlLDB4NDAsMHg0NiwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjksMHgwMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4ZDAzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHg4MCwweDAwLDB4ZjgsMHgwMCwweDNhLDB4MDAgfX0sCi0gezE2LCAweGQwNDAsIDAsIHsweDBmLDB4ODAsMHgwMywweGEwLDB4MDgsMHhlOCwweDQwLDB4M2EsMHgxMCwweDBjLDB4ODMsMHgwMywweGExLDB4YzAsMHhmMCwweDQwIH19LAotIHsxNiwgMHhkMDUwLCAwLCB7MHgzZSwweDA2LDB4MGYsMHg4NCwweDAzLDB4ZTEsMHgwMCwweGY4LDB4MDAsMHgzYiwweDAwLDB4MGYsMHg4MSwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZDA2MCwgMCwgezB4ZjgsMHgxMCwweGIyLDB4MDAsMHg0YywweDgwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQwNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4YmEsMHgwMCwweDJlLDB4YjAsMHgwYiwweGU4LDB4MDIsMHhlOSwweDAwLDB4M2UsMHg5MCwweDAyIH19LAotIHsxNiwgMHhkMDgwLCAwLCB7MHg4MSwweDA4LDB4ZTQsMHgxMiwweDc4LDB4MDAsMHhiYSwweDAwLDB4MmQsMHhiMCwweDg5LDB4ZTgsMHgyMiwweGY4LDB4MGMsMHhiYSB9fSwKLSB7MTYsIDB4ZDA5MCwgMCwgezB4MDAsMHg2ZSwweDgwLDB4MDMsMHhjNSwweDAzLDB4MzAsMHgwMCwweGJhLDB4MDAsMHgyMiwweGE4LDB4MDgsMHhhMCwweDIyLDB4OGEgfX0sCi0gezE2LCAweGQwYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MDAsMHgyOCwweGU4IH19LAotIHsxNiwgMHhkMGIwLCAwLCB7MHgxYiwweDMxLDB4MTIsMHg4YywweGM0LDB4YTMsMHg5MiwweDJjLDB4NDAsMHg4OCwweDM0LDB4MDYsMHg4ZSwweDAwLDB4OTMsMHgwMCB9fSwKLSB7MTYsIDB4ZDBjMCwgMCwgezB4MmMsMHhmMCwweDE5LDB4MzEsMHhhMiwweGNjLDB4MDQsMHhiMywweDAwLDB4MjgsMHg4MCwweDAxLDB4MzgsMHgwMiwweDRjLDB4MDAgfX0sCi0gezE2LCAweGQwZDAsIDAsIHsweGIzLDB4ODAsMHgyMCwweGUwLDB4MGEsMHhiMCwweDEyLDB4MDIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMGUwLCAwLCB7MHhhMCwweDAxLDB4MWMsMHgwMCwweGI3LDB4MTQsMHgyZCwweDQyLDB4MGIsMHg2MCwweDAyLDB4ZGMsMHgwMCwweGI3LDB4ODEsMHgyNyB9fSwKLSB7MTYsIDB4ZDBmMCwgMCwgezB4ZTAsMHgxOCwweDYwLDB4MDIsMHg1OCwweDE4LDB4YjcsMHgyMiwweDJkLDB4ODAsMHgwOSwweDcwLDB4MjIsMHhkYywweDAwLDB4YjcgfX0sCi0gezE2LCAweGQxMDAsIDAsIHsweDAwLDB4MmQsMHg4MCwweDBiLDB4M2IsMHgwMiwweDFkLDB4ZDAsMHhiZiwweDgwLDB4MjgsMHhjMCwweDhhLDB4ZjIsMHgwMiwweGEwIH19LAotIHsxNiwgMHhkMTEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFmLDB4ODAsMHhmNywweGEwLDB4MzksMHhlMiB9fSwKLSB7MTYsIDB4ZDEyMCwgMCwgezB4MGYsMHg2OCwweDAzLDB4OWUsMHgwMCwweGVkLDB4ODQsMHgzZCwweGUyLDB4NDQsMHg3OCwweDAzLDB4OWUsMHgwMCwweGY3LDB4YjQgfX0sCi0gezE2LCAweGQxMzAsIDAsIHsweDJkLDB4ZTAsMHgwZCwweDY4LDB4MDMsMHhkNiwweDAwLDB4ZjYsMHg4MCwweDM5LDB4ZTAsMHgwZiwweDc5LDB4MDMsMHg1ZSwweDkwIH19LAotIHsxNiwgMHhkMTQwLCAwLCB7MHhmNywweDgxLDB4MzEsMHg2MCwweDJlLDB4N2MsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDE1MCwgMCwgezB4MDgsMHgxZCwweGFkLDB4MDAsMHhmYiwweDQyLDB4M2UsMHhjOCwweDBmLDB4YTAsMHgwMywweGVkLDB4YTAsMHhiYiwweDAwLDB4MzggfX0sCi0gezE2LCAweGQxNjAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDAzLDB4NjgsMHgwMCwweGZiLDB4MTEsMHgzZSwweDQwLDB4MDksMHhiMCwweDQxLDB4ZWMsMHgwMCwweGZhIH19LAotIHsxNiwgMHhkMTcwLCAwLCB7MHgwMiwweDNlLDB4YzAsMHgwZiwweGIyLDB4MGIsMHhlZCwweDgwLDB4M2IsMHgwMCwweDM2LDB4NDAsMHgwZCwweGIwLDB4MjMsMHg0MiB9fSwKLSB7MTYsIDB4ZDE4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZiwweDAwLDB4Y2YsMHhkMCwweDMzLDB4ZTQgfX0sCi0gezE2LCAweGQxOTAsIDAsIHsweDRmLDB4ZjksMHgwMywweGRlLDB4NDAsMHhkYywweDgwLDB4MzYsMHhlNCwweDBjLDB4YjksMHgxMywweGZlLDB4MDAsMHhjZiwweDkwIH19LAotIHsxNiwgMHhkMWEwLCAwLCB7MHgzNywweGU1LDB4MGYsMHhmOCwweDQzLDB4ZmUsMHgwMCwweGNmLDB4OTIsMHgzZiwweGE0LDB4MGYsMHg3OCwweDAzLDB4MWYsMHgwMCB9fSwKLSB7MTYsIDB4ZDFiMCwgMCwgezB4YzUsMHg4MCwweDMzLDB4NjAsMHgwYywweGY4LDB4MjAsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxYzAsIDAsIHsweGE4LDB4MTEsMHhiYywweDAwLDB4MGYsMHgxMCwweDIxLDB4ODEsMHgwYiwweDYwLDB4MDMsMHg4NCwweDAwLDB4OGIsMHgwOCwweDIxIH19LAotIHsxNiwgMHhkMWQwLCAwLCB7MHg2MCwweDBhLDB4N2IsMHgwMywweDk4LDB4MDAsMHg4YiwweDEwLDB4MjksMHg4NCwweDBlLDB4NjQsMHgyMiwweGRjLDB4NDAsMHhkNyB9fSwKLSB7MTYsIDB4ZDFlMCwgMCwgezB4MDIsMHgyZCwweDg0LDB4MGIsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg1LDB4MTgsMHgyMSwweDQwLDB4MGEsMHhmMCwweDIyLDB4YWEgfX0sCi0gezE2LCAweGQxZjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHgwMCwweGE3LDB4MTQsMHg2OSwweGMwIH19LAotIHsxNiwgMHhkMjAwLCAwLCB7MHgxYSwweDYwLDB4MTIsMHhmYywweDAxLDB4YTQsMHgxMCwweDJkLDB4YzAsMHgwYSwweDUyLDB4MDIsMHg0NSwweDQwLDB4ODcsMHgwYyB9fSwKLSB7MTYsIDB4ZDIxMCwgMCwgezB4MjEsMHg4MCwweDFiLDB4NjAsMHg4MiwweGQ0LDB4MDAsMHg4NiwweDAzLDB4MjUsMHhlMCwweDFiLDB4NzAsMHgwMiwweDVjLDB4NDAgfX0sCi0gezE2LCAweGQyMjAsIDAsIHsweDlkLDB4MDAsMHgyOSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMjMwLCAwLCB7MHgyMCwweDE0LDB4Y2QsMHgwMCwweGEzLDB4MDAsMHgyOCwweGMwLDB4MWIsMHgyMCwweDIyLDB4OGMsMHgxMSwweGEzLDB4MDAsMHg2OCB9fSwKLSB7MTYsIDB4ZDI0MCwgMCwgezB4ZjYsMHgwYSwweDNjLDB4MDYsMHg4MiwweDAwLDB4ODMsMHg4MCwweDI4LDB4ODQsMHgwYSwweDhjLDB4ODIsMHhjYywweDQ0LDB4OTIgfX0sCi0gezE2LCAweGQyNTAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweDRlLDB4MDAsMHg5MSwweDAwLDB4MjgsMHg0MCwweDBhLDB4MzAsMHgwMiwweDg4IH19LAotIHsxNiwgMHhkMjYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJlLDB4MjIsMHhlZiwweDA0LDB4YmEsMHhjMCB9fSwKLSB7MTYsIDB4ZDI3MCwgMCwgezB4MGYsMHgxNCwweDkzLDB4ZWMsMHgwMiwweGYxLDB4YzMsMHgzZSwweGYwLDB4MGUsMHg5MCwweDgzLDB4NjYsMHgwMCwweGNmLDB4ZDIgfX0sCi0gezE2LCAweGQyODAsIDAsIHsweDMyLDB4NTAsMHgwZiwweDljLDB4MDMsMHhjYiwweDAwLDB4YzksMHg4MCwweDNlLDB4MjgsMHgwZiwweGIwLDB4MDMsMHg0ZiwweDAwIH19LAotIHsxNiwgMHhkMjkwLCAwLCB7MHhkMSwweGMwLDB4YWEsMHhjMCwweDBjLDB4NzEsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDJhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MjAsMHhkYiwweDAwLDB4MjYsMHg4MCwweDBmLDB4YTAsMHgwMywweGVjLDB4MDgsMHgxYiwweDAwLDB4MzYgfX0sCi0gezE2LCAweGQyYjAsIDAsIHsweGMwLDB4MGYsMHg4NiwweDAxLDB4ZTUsMHg0MCwweGZiLDB4MDIsMHgzYSwweDQ4LDB4MGUsMHg5NCwweDAzLDB4ZWMsMHg4MCwweGYxIH19LAotIHsxNiwgMHhkMmMwLCAwLCB7MHg4NCwweDNlLDB4MDAsMHg0ZiwweGIwLDB4MDMsMHhhZCwweGMwLDB4ZWIsMHgyMCwweDM2LDB4YzAsMHgwZiwweGIwLDB4MjMsMHhlMCB9fSwKLSB7MTYsIDB4ZDJkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhkYywweDAwLDB4Y2YsMHgwMCwweDNmLDB4NjAgfX0sCi0gezE2LCAweGQyZTAsIDAsIHsweDBjLDB4ZTAsMHg4MywweDNlLDB4ODAsMHhlZCwweDA4LDB4MzMsMHhkMCwweDhmLDB4NTAsMHgwMywweDllLDB4MDAsMHhkZiwweDAwIH19LAotIHsxNiwgMHhkMmYwLCAwLCB7MHgzMywweDQwLDB4MGMsMHhjMCwweDAzLDB4MzAsMHgwMCwweGNjLDB4MTAsMHgzMywweDY4LDB4MGMsMHhmMCwweDAzLDB4M2MsMHg4NCB9fSwKLSB7MTYsIDB4ZDMwMCwgMCwgezB4OGQsMHg5MCwweDMwLDB4NDAsMHgwYywweGYwLDB4MDMsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzMTAsIDAsIHsweDgxLDB4MDQsMHg2YywweDAwLDB4OGIsMHgwMiwweDJjLDB4ZjQsMHgwOCwweGE4LDB4NjIsMHgwYywweDgwLDB4OGIsMHg4MCwweDJhIH19LAotIHsxNiwgMHhkMzIwLCAwLCB7MHg2MCwweDBmLDB4OWMsMHgwMiwweDJlLDB4MDAsMHg4YiwweDAwLDB4MjAsMHg2MCwweDBkLDB4OTgsMHgwMiwweDJjLDB4ODAsMHhkOCB9fSwKLSB7MTYsIDB4ZDMzMCwgMCwgezB4MDAsMHgxNCwweDQwLDB4MDgsMHgzNCwweDEyLDB4MmUsMHgwMCwweDhiLDB4ODIsMHgzMiwweDQwLDB4MGQsMHhiMCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGQzNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDhiLDB4MDAsMHgyZSwweGQwIH19LAotIHsxNiwgMHhkMzUwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHgyYywweDAwLDB4OGEsMHg4NCwweDIyLDB4YzAsMHgwYiwweDg4LDB4MDIsMHhlNCwweGEwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4ZDM2MCwgMCwgezB4MjIsMHg2MiwweDBhLDB4OTgsMHgwMiwweDI4LDB4MDAsMHg4OSwweDAwLDB4MjIsMHgwMCwweDBhLDB4YjEsMHgwNiwweDJjLDB4MDAgfX0sCi0gezE2LCAweGQzNzAsIDAsIHsweGFiLDB4MDAsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMzgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMiwweGEzLDB4MDAsMHgyYywweGMxLDB4MDgsMHgyMCwweDAyLDB4MGMsMHgwMiwweDhiLDB4MDAsMHgyOCB9fSwKLSB7MTYsIDB4ZDM5MCwgMCwgezB4YzIsMHgwYSwweDAwLDB4MDIsMHg0NCwweDEwLDB4ODMsMHgxMCwweDIyLDB4NDAsMHgwYiwweDEwLDB4MDYsMHgwYywweDAwLDB4OTEgfX0sCi0gezE2LCAweGQzYTAsIDAsIHsweDA0LDB4YWEsMHgwMCwweDI4LDB4MzAsMHgwMiwweDJjLDB4MDAsMHhhMSwweDAxLDB4MjAsMHg0MCwweDA5LDB4YjAsMHgwMiwweDQyIH19LAotIHsxNiwgMHhkM2IwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDdjLDB4MDAsMHg4ZiwweDAwLDB4M2UsMHhjMCB9fSwKLSB7MTYsIDB4ZDNjMCwgMCwgezB4MmMsMHhhMCwweDAzLDB4MjksMHg0MCwweGE4LDB4NDAsMHgzMiwweGNjLDB4OGIsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGNmLDB4NDAgfX0sCi0gezE2LCAweGQzZDAsIDAsIHsweDMyLDB4MDAsMHgwZSwweDgwLDB4MGEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDIyLDB4NDAsMHgwYywweGIwLDB4MDMsMHgyYywweDA0IH19LAotIHsxNiwgMHhkM2UwLCAwLCB7MHhlYiwweDAwLDB4YjIsMHg0MCwweDhjLDB4YjAsMHgwMywweDQwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDNmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhkZiwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZTAsMHgwMywweGZjLDB4ODAsMHhmZiwweDI4LDB4M2QgfX0sCi0gezE2LCAweGQ0MDAsIDAsIHsweGMwLDB4MGIsMHhjMSwweDAzLDB4YjAsMHgxNCwweGZmLDB4MDAsMHgzZiwweDAwLDB4MGQsMHhkMCwweDAzLDB4ZGMsMHgwMCwweGZjIH19LAotIHsxNiwgMHhkNDEwLCAwLCB7MHgwMCwweDM3LDB4NDAsMHgwZiwweGYwLDB4MjEsMHhmYywweDAwLDB4MWQsMHgwMCwweDdiLDB4NDAsMHg4ZiwweGYwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZDQyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4ZGYsMHgwMCwweDMxLDB4YTAgfX0sCi0gezE2LCAweGQ0MzAsIDAsIHsweDRkLDB4ZjAsMHg0MywweDMyLDB4MDAsMHhjZSwweDE0LDB4MWIsMHg2OCwweDBlLDB4ZGEsMHgyMywweGIyLDB4YzAsMHgyZiwweDAwIH19LAotIHsxNiwgMHhkNDQwLCAwLCB7MHgzZiwweGMyLDB4MmMsMHhlOCwweDAzLDB4M2MsMHg0MCwweGZkLDB4MDgsMHgzYiwweGM4LDB4NGMsMHhmMCwweDgzLDB4M2MsMHhhMCB9fSwKLSB7MTYsIDB4ZDQ1MCwgMCwgezB4Y2YsMHgwMCwweDMzLDB4YzQsMHgwYywweGYzLDB4MDcsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0NjAsIDAsIHsweDgwLDB4MTAsMHhlMiwweDAwLDB4OGYsMHhjMCwweDIyLDB4YTAsMHgwOCwweGZkLDB4NDIsMHgyZiwweDAwLDB4OGIsMHg3MCwweDIyIH19LAotIHsxNiwgMHhkNDcwLCAwLCB7MHgxZSwweDQ4LDB4ODksMHgwMiwweDI3LDB4YzAsMHg4ZiwweDVhLDB4MmUsMHg1MCwweDQ4LDB4MzAsMHgwMiwweGJkLDB4YzAsMHhiZCB9fSwKLSB7MTYsIDB4ZDQ4MCwgMCwgezB4NDAsMHgyMywweGM1LDB4NDgsMHhmNCwweDgyLDB4M2QsMHgyYywweDg3LDB4NzAsMHgyMiwweGMwLDB4MDgsMHhmMSwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGQ0OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZTAsMHgwMCwweDkzLDB4MTAsMHgyNiwweDgxIH19LAotIHsxNiwgMHhkNGEwLCAwLCB7MHg0OSwweDMwLDB4MDIsMHg4MCwweDQwLDB4ODMsMHgyMCwweDI4LDB4NDAsMHgwYSwweDEwLDB4MDIsMHg4MCwweDAwLDB4YTMsMHgyNCB9fSwKLSB7MTYsIDB4ZDRiMCwgMCwgezB4MmMsMHhjYSwweDA4LDB4MzIsMHg4MiwweDBjLDB4MDAsMHg5MSwweDI4LDB4MjAsMHhjYSwweDFiLDB4MzIsMHgwMiwweDBjLDB4ODggfX0sCi0gezE2LCAweGQ0YzAsIDAsIHsweDgzLDB4MDksMHgyMCwweGM4LDB4MDksMHgzMiwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNGQwLCAwLCB7MHhjMCwweDE1LDB4YTMsMHgxNCwweDhiLDB4MDQsMHgyNiwweDg5LDB4MDgsMHhiMCwweDAyLDB4YWMsMHgyMiwweDhiLDB4ODgsMHgyYSB9fSwKLSB7MTYsIDB4ZDRlMCwgMCwgezB4MjAsMHgwOCwweDk4LDB4ODIsMHhhNiwweDEwLDB4YWIsMHgwMCwweDJlLDB4Y2EsMHgwOCwweGIwLDB4ODIsMHhhYywweDAwLDB4YjkgfX0sCi0gezE2LCAweGQ0ZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDI5LDB4YjAsMHgwYSwweDJjLDB4MDEsMHg4YiwweDAwLDB4MjIsMHhjMCwweDA5LDB4YjAsMHgyMiwweGYwIH19LAotIHsxNiwgMHhkNTAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUzLDB4MDAsMHhkYiwweDAwLDB4MzQsMHhlMiB9fSwKLSB7MTYsIDB4ZDUxMCwgMCwgezB4MGQsMHhiMCwweDAzLDB4YTMsMHgwMCwweGNhLDB4ODAsMHhiYSwweDcwLDB4MGUsMHg4OCwweDAzLDB4YTYsMHgwMCwweGViLDB4MDAgfX0sCi0gezE2LCAweGQ1MjAsIDAsIHsweDNlLDB4OTAsMHgwYywweGI1LDB4MDMsMHgyYywweDAwLDB4ZmIsMHgxMCwweGJhLDB4YzAsMHgwZSwweGIwLDB4MDMsMHgyYywweDAyIH19LAotIHsxNiwgMHhkNTMwLCAwLCB7MHhjYiwweDAyLDB4MzIsMHhjMCwweDA5LDB4YjAsMHgwMiwweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDU0MCwgMCwgezB4ZTAsMHgwMSwweGIwLDB4MDgsMHhmZiwweDAwLDB4YmIsMHhlMCwweDBmLDB4NzAsMHgwMywweDY1LDB4MDAsMHhmNCwweDAwLDB4MzUgfX0sCi0gezE2LCAweGQ1NTAsIDAsIHsweDQwLDB4MGYsMHg0MCwweDAzLDB4NTQsMHgwMCwweGRmLDB4MDAsMHgzZSwweDQwLDB4MGYsMHhmOCwweDAzLDB4ZWMsMHgwMCwweGY3IH19LAotIHsxNiwgMHhkNTYwLCAwLCB7MHgwMSwweDNkLDB4YzEsMHgwZSwweDMwLDB4MDMsMHhlYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHg4ZSwweGYwLDB4MDMsMHhiOCB9fSwKLSB7MTYsIDB4ZDU3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMCwweDQwLDB4ZWIsMHgwOCwweDNlLDB4ODAgfX0sCi0gezE2LCAweGQ1ODAsIDAsIHsweDBkLDB4YjAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAwLDB4M2EsMHg1MSwweDBmLDB4ODIsMHgwMywweDY0LDB4MjAsMHhkYiwweDAwIH19LAotIHsxNiwgMHhkNTkwLCAwLCB7MHgzZCwweDgyLDB4MGMsMHhiYywweDAzLDB4MmMsMHgxMCwweGRiLDB4MDAsMHg3MiwweGMwLDB4MGQsMHhiMSwweDAzLDB4MGMsMHgyMCB9fSwKLSB7MTYsIDB4ZDVhMCwgMCwgezB4ZDMsMHgwMCwweDMyLDB4YzAsMHgwZiwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1YjAsIDAsIHsweGM4LDB4MDUsMHgwMSwweDAwLDB4ODcsMHhjMCwweDJlLDB4YTgsMHgwOCwweGYxLDB4MTIsMHhjNSwweDQwLDB4ODgsMHgwMCwweDIyIH19LAotIHsxNiwgMHhkNWMwLCAwLCB7MHg0MCwweDBiLDB4ODQsMHgwMiwweDI3LDB4MDAsMHhhZiwweDAwLDB4MmUsMHhjMCwweDA4LDB4YmMsMHgxMiwweDNjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4ZDVkMCwgMCwgezB4MDEsMHgyMywweGMwLDB4MjgsMHhmNSwweDRhLDB4M2QsMHgyOCwweGRmLDB4MDAsMHgzMywweGMwLDB4NGIsMHhmMCwweDAzLDB4MzIgfX0sCi0gezE2LCAweGQ1ZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDgsMHg4MCwweGEzLDB4OTAsMHgyYywweDAwIH19LAotIHsxNiwgMHhkNWYwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHhjMSwweDAwLDB4OTIsMHgwNCwweDI4LDB4MDAsMHgwYiwweDE0LDB4MTIsMHg0MywweDAwLDB4YjMsMHgwNCB9fSwKLSB7MTYsIDB4ZDYwMCwgMCwgezB4MmMsMHgzMCwweDBhLDB4YjAsMHgwYSwweDhjLDB4MDAsMHg5MywweDAwLDB4NjAsMHhjMCwweDA4LDB4M2MsMHgwNiwweDBlLDB4MDEgfX0sCi0gezE2LCAweGQ2MTAsIDAsIHsweGIzLDB4MDAsMHgyZSwweGMwLDB4OGIsMHgzMCwweDA2LDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjIwLCAwLCB7MHgyMCwweDAxLDB4MTIsMHgwMCwweDg3LDB4ODAsMHgyZCwweDI0LDB4MDgsMHg3OCwweDAyLDB4ZDIsMHgwMCwweDk1LDB4ODAsMHgyMSB9fSwKLSB7MTYsIDB4ZDYzMCwgMCwgezB4YTAsMHgwYiwweDY4LDB4MDIsMHg1YSwweDIwLDB4ODcsMHg4MCwweDJkLDB4NjYsMHgxYSwweDdjLDB4MDIsMHg5ZSwweDAwLDB4ODcgfX0sCi0gezE2LCAweGQ2NDAsIDAsIHsweDgwLDB4MjEsMHhlMSwweDE4LDB4NzksMHgwMiwweDllLDB4NDAsMHhiNywweDgwLDB4YTEsMHhlMCwweDBiLDB4NzgsMHgwMiwweDQ4IH19LAotIHsxNiwgMHhkNjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDAwLDB4MDAsMHhlMywweGEwLDB4M2MsMHg0MCB9fSwKLSB7MTYsIDB4ZDY2MCwgMCwgezB4MGMsMHgzMCwweDAzLDB4YzQsMHgyMiwweGQ5LDB4MDAsMHgzOCwweGQ0LDB4MGYsMHgzMCwweDgzLDB4NjgsMHg0MCwweGYzLDB4MDAgfX0sCi0gezE2LCAweGQ2NzAsIDAsIHsweDNjLDB4ODAsMHgwYSwweDMyLDB4MDIsMHg4YywweDAwLDB4ZGIsMHgwMCwweGEyLDB4YzQsMHgwYywweDMwLDB4MDMsMHgwYywweDAwIH19LAotIHsxNiwgMHhkNjgwLCAwLCB7MHhmMywweDAwLDB4M2MsMHhjMCwweDBmLDB4YjEsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDY5MCwgMCwgezB4NDAsMHgwZCwweGIwLDB4MDAsMHhmZiwweDEwLDB4M2YsMHg0MCwweDBlLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhlZCwweDAwLDB4M2YgfX0sCi0gezE2LCAweGQ2YTAsIDAsIHsweGMwLDB4MGYsMHgzMCwweDEzLDB4YmMsMHg0MCwweDdmLDB4MTAsMHgzZiwweGMxLDB4MmQsMHhmMCwweDAzLDB4N2MsMHgwMCwweGZiIH19LAotIHsxNiwgMHhkNmIwLCAwLCB7MHg0MCwweDNmLDB4YzIsMHgwZSwweGY0LDB4ODMsMHg3YywweDAwLDB4ZGYsMHgwMCwweDNmLDB4YzIsMHgwZiwweGYwLDB4MDMsMHg5MCB9fSwKLSB7MTYsIDB4ZDZjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZGIsMHhhMCwweDMyLDB4YzAgfX0sCi0gezE2LCAweGQ2ZDAsIDAsIHsweDBkLDB4YjcsMHgwMywweGUwLDB4MDAsMHhjYSwweDA0LDB4M2UsMHg4MCwweDBmLDB4YjgsMHgwMywweDJjLDB4MTAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhkNmUwLCAwLCB7MHgzMywweDAwLDB4OGQsMHhiMCwweDAzLDB4MmMsMHg4MCwweGU5LDB4NDAsMHgzZSwweGQyLDB4MGYsMHhiNCwweDAzLDB4MmQsMHg4MCB9fSwKLSB7MTYsIDB4ZDZmMCwgMCwgezB4ZWIsMHgyMCwweGIyLDB4YzAsMHgwZiwweGIyLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3MDAsIDAsIHsweDQ4LDB4MTEsMHg5MCwweDAwLDB4YjcsMHgxMCwweDExLDB4YzAsMHgwOCwweDcwLDB4ODIsMHhkOCwweDBhLDB4ODcsMHgwMSwweDJkIH19LAotIHsxNiwgMHhkNzEwLCAwLCB7MHg4MCwweDg5LDB4NzAsMHgwMywweGQ4LDB4MDgsMHhiNywweDBhLDB4MjEsMHg0MCwweDJjLDB4NzAsMHgwMiwweDBkLDB4YzAsMHg4NSB9fSwKLSB7MTYsIDB4ZDcyMCwgMCwgezB4MDEsMHg3OSwweGM4LDB4MGIsMHgzMiwweDAyLDB4MGQsMHgyMCwweDhmLDB4MjgsMHgyMSwweGMwLDB4MGIsMHg3MiwweDgyLDB4ZDIgfX0sCi0gezE2LCAweGQ3MzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDQwLDB4OTYsMHgxMCwweDk3LDB4OTAsMHgyMywweGUwIH19LAotIHsxNiwgMHhkNzQwLCAwLCB7MHgwOSwweDdhLDB4MDIsMHhkNiwweDAwLDB4OTcsMHg4MCwweDJkLDB4ZjAsMHgwYiwweDc4LDB4ODIsMHgxZSwweDAwLDB4YjMsMHhiMCB9fSwKLSB7MTYsIDB4ZDc1MCwgMCwgezB4MjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDFlLDB4MDAsMHhhNSwweDgwLDB4MmQsMHhlMCwweDBiLDB4N2EsMHgwMiwweDFlLDB4ODAgfX0sCi0gezE2LCAweGQ3NjAsIDAsIHsweGE3LDB4YjAsMHgyMSwweGU4LDB4MGIsMHg3OSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNzcwLCAwLCB7MHg0OCwweDE0LDB4YzAsMHgwMCwweGIzLDB4MDAsMHgyMCwweGUyLDB4MDgsMHgzMCwweDAyLDB4YzYsMHg0MCwweDkzLDB4NzAsMHgyYyB9fSwKLSB7MTYsIDB4ZDc4MCwgMCwgezB4YzAsMHgwOSwweDNjLDB4MDIsMHg4ZSwweDAwLDB4YjMsMHgwMCwweDIwLDB4ZDgsMHgwOCwweDE4LDB4MDIsMHgwYywweDAwLDB4ODEgfX0sCi0gezE2LCAweGQ3OTAsIDAsIHsweDkwLDB4MmUsMHhjMCwweDBiLDB4MzAsMHgyYSwweDJjLDB4MTAsMHg4MywweDAwLDB4YTAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhkN2EwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxMSwweGI5LDB4MDAsMHhkYSwweDAyLDB4MzMsMHhiOCB9fSwKLSB7MTYsIDB4ZDdiMCwgMCwgezB4MGQsMHhhMCwweDAzLDB4ZjgsMHgwMCwweGRlLDB4YzAsMHgzZiwweGIwLDB4NGYsMHhlYywweDA2LDB4MzgsMHg0MCwweGZhLDB4MDAgfX0sCi0gezE2LCAweGQ3YzAsIDAsIHsweGIzLDB4OTAsMHgwYywweDZjLDB4MGIsMHgyOCwweDA4LDB4ZWEsMHgwMSwweDdlLDB4ODAsMHgwZiwweGEwLDB4MDMsMHgyOCwweDAwIH19LAotIHsxNiwgMHhkN2QwLCAwLCB7MHhlYSwweDAwLDB4MzIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdlMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDQwLDB4M2EsMHgwMCwweDBmLDB4ODQsMHgwMywweGUxLDB4MDAsMHhlOCwweDAyLDB4M2UgfX0sCi0gezE2LCAweGQ3ZjAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDAzLDB4ZTEsMHg0MCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHhkODAwLCAwLCB7MHgwMCwweDNhLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ZDgxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDIwLDB4ZjksMHhjMCwweDNlLDB4NzAgfX0sCi0gezE2LCAweGQ4MjAsIDAsIHsweDBlLDB4OTAsMHgwMiwweGU0LDB4ODAsMHhjOSwweDAwLDB4MzIsMHg0MiwweDBjLDB4OTgsMHg4MywweGE0LDB4ODQsMHhmOSwweDAwIH19LAotIHsxNiwgMHhkODMwLCAwLCB7MHhiMiwweDYwLDB4MGMsMHg5MCwweDgzLDB4MjQsMHgwMCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHgxYSwweDAyLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ZDg0MCwgMCwgezB4YzEsMHgwMCwweGIyLDB4NDAsMHgwZiwweDkwLDB4MDEsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4NTAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDAwLDB4YjksMHg4MSwweDJjLDB4NjAsMHgwZCwweDk0LDB4YzIsMHhjNywweDA4LDB4ODksMHgwMCwweDIyIH19LAotIHsxNiwgMHhkODYwLCAwLCB7MHg0MCwweDA4LDB4OTUsMHhjNywweGE0LDB4MDAsMHhiOSwweDAwLDB4MjgsMHg3MCwweGE4LDB4OTQsMHgwYSwweDI0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZDg3MCwgMCwgezB4MDQsMHgyZSwweDQwLDB4MjgsMHg5MCwweDJhLDB4MjYsMHgwMCwweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGQ4ODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGI5LDB4NDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHhkODkwLCAwLCB7MHgwYSwweDkwLDB4MDIsMHhlNSwweDAwLDB4ODEsMHgwMCwweGEwLDB4NDAsMHgwOSwweDkwLDB4NDIsMHhlYywweDAwLDB4YjEsMHgwMCB9fSwKLSB7MTYsIDB4ZDhhMCwgMCwgezB4MjIsMHg1OCwweDA4LDB4OTAsMHhhMiwweDA0LDB4MDIsMHg4OSwweDAwLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweGE0LDB4YTAgfX0sCi0gezE2LCAweGQ4YjAsIDAsIHsweDg5LDB4MDAsMHgyMiwweDQwLDB4MGIsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOGMwLCAwLCB7MHgwOCwweDA0LDB4MDQsMHgwMCwweGIxLDB4MjAsMHgyZSwweGMwLDB4ODksMHgxMiwweDAyLDB4YzQsMHg4MCwweDgxLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4ZDhkMCwgMCwgezB4NDAsMHg2MSwweDEwLDB4NDIsMHhjNSwweDAwLDB4YjEsMHgyMCwweDI4LDB4NDgsMHgxOCwweDkwLDB4NDIsMHgwNCwweDgwLDB4ODEgfX0sCi0gezE2LCAweGQ4ZTAsIDAsIHsweDI4LDB4MmMsMHg0OCwweDA4LDB4MTIsMHg4MiwweDg0LDB4YTAsMHg4MSwweDIwLDB4MjAsMHg0OCwweDBiLDB4MTIsMHg4MiwweGMyIH19LAotIHsxNiwgMHhkOGYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDY4LDB4MDAsMHhmOCwweDAwLDB4MmUsMHgwMCB9fSwKLSB7MTYsIDB4ZDkwMCwgMCwgezB4MGUsMHg4MCwweDAzLDB4ZTAsMHgwOCwweGM4LDB4NTAsMHgzMiwweDE0LDB4MGQsMHg4MCwweDE3LDB4ZTgsMHgwNCwweGY4LDB4NTAgfX0sCi0gezE2LCAweGQ5MTAsIDAsIHsweDMyLDB4MTQsMHg0YywweDA1LDB4MGIsMHgyMSwweDQwLDB4YzgsMHgyMCwweDNlLDB4MDAsMHgwYywweDg3LDB4MDMsMHhhMSwweGMyIH19LAotIHsxNiwgMHhkOTIwLCAwLCB7MHhjOCwweDAwLDB4MzIsMHgxNCwweDhmLDB4ODIsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDkzMCwgMCwgezB4OTgsMHgxZCwweGY0LDB4MDAsMHhmMSwweDEwLDB4M2QsMHg0MCwweDBmLDB4OTEsMHgwMiwweGQ0LDB4NDIsMHhmZCwweDEwLDB4M2YgfX0sCi0gezE2LCAweGQ5NDAsIDAsIHsweDUxLDB4MGUsMHg1NCwweDEzLDB4YjUsMHgwMCwweGY5LDB4MTAsMHgzNSwweDQ0LDB4MmYsMHhkMCwweDAzLDB4ZTQsMHg1MCwweGZkIH19LAotIHsxNiwgMHhkOTUwLCAwLCB7MHgyOCwweDNlLDB4NGUsMHgwZiwweDkwLDB4MDMsMHg2NCwweDAwLDB4ZjksMHgzOCwweDNlLDB4NDQsMHgwZiwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4ZDk2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MTUsMHhmNCwweDAwLDB4ZmQsMHgwMCwweDNkLDB4NDAgfX0sCi0gezE2LCAweGQ5NzAsIDAsIHsweDJjLDB4ZDAsMHgwMywweGI2LDB4MDAsMHhmOSwweDgyLDB4M2UsMHg0MCwweDBjLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhmOSwweDgwIH19LAotIHsxNiwgMHhkOTgwLCAwLCB7MHgzMywweDcwLDB4MGMsMHg1MCwweDAzLDB4MzQsMHgwMCwweGM5LDB4YzAsMHgzZSwweDQwLDB4MGMsMHhkYSwweDAzLDB4MTYsMHg4MCB9fSwKLSB7MTYsIDB4ZDk5MCwgMCwgezB4YzksMHg0MCwweDNlLDB4NjIsMHgyYywweDk4LDB4ODMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5YTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAwLDB4YjgsMHgwMCwweDJlLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgyOCwweDAwLDB4YjgsMHg1MCwweDI2IH19LAotIHsxNiwgMHhkOWIwLCAwLCB7MHgwMCwweDA4LDB4YTAsMHgwMiwweGU4LDB4MDAsMHhiOCwweDAwLDB4MmEsMHgzNCwweDJhLDB4YWEsMHgwYSwweDIwLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4ZDljMCwgMCwgezB4YzAsMHgyZSwweDJhLDB4MDgsMHg4MCwweDIyLDB4MjEsMHgwMCwweGE4LDB4ODAsMHgyZSwweDAwLDB4MDgsMHg4MCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGQ5ZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMCwweGIxLDB4MDAsMHgyZSwweDQwIH19LAotIHsxNiwgMHhkOWUwLCAwLCB7MHg0OCwweDEwLDB4MDYsMHg4ZCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHgyOCwweDEwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHg0MCB9fSwKLSB7MTYsIDB4ZDlmMCwgMCwgezB4MmMsMHg0OCwweDA4LDB4MTAsMHg4MiwweDQ0LDB4MDAsMHg4MSwweDYwLDB4MmMsMHg0MCwweDI4LDB4MTQsMHgwYSwweDA0LDB4NDAgfX0sCi0gezE2LCAweGRhMDAsIDAsIHsweDgxLDB4MjAsMHgyYywweDQwLDB4MDgsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYTEwLCAwLCB7MHgxOCwweDA1LDB4YTQsMHg0MCwweGI5LDB4MDAsMHgyZSwweDQwLDB4MDgsMHhiMCwweDAyLDB4MjQsMHgwMCwweGI5LDB4MjgsMHgyZSB9fSwKLSB7MTYsIDB4ZGEyMCwgMCwgezB4NTAsMHgwOCwweDkwLDB4MjIsMHhlNCwweDAwLDB4YjksMHgwMCwweDJlLDB4NjAsMHgwYiwweDEyLDB4NDIsMHg2NCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGRhMzAsIDAsIHsweDAwLDB4MmMsMHg0MCwweDA5LDB4OTAsMHgwMiwweDI0LDB4MDAsMHhhOSwweDAwLDB4MmMsMHg0MCwweDA4LDB4MTAsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhkYTQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgwNSwweGU2LDB4MDAsMHhmOSwweDAwLDB4M2MsMHg0MiB9fSwKLSB7MTYsIDB4ZGE1MCwgMCwgezB4MGMsMHg5MCwweDAzLDB4YTcsMHg0MCwweGY5LDB4NDAsMHgzZSwweDcwLDB4MGMsMHg5OCwweDAyLDB4ZTUsMHg0MCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGRhNjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDk4LDB4MDMsMHg2NCwweDA2LDB4YzksMHgwMSwweDJlLDB4NDAsMHgwYywweDkwLDB4MDMsMHgyNCwweDA0IH19LAotIHsxNiwgMHhkYTcwLCAwLCB7MHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGE4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHg4MywweGU2LDB4MTAsMHhmOSwweDAwLDB4MzYgfX0sCi0gezE2LCAweGRhOTAsIDAsIHsweDY4LDB4MGYsMHg5YywweDAzLDB4ZTYsMHgwMCwweGY5LDB4MDAsMHgzYSwweDQwLDB4MGUsMHg5OCwweDkzLDB4YTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhkYWEwLCAwLCB7MHgwMCwweDNlLDB4NDAsMHgwZSwweDkwLDB4ODMsMHhjNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9fSwKLSB7MTYsIDB4ZGFiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MDAsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDQgfX0sCi0gezE2LCAweGRhYzAsIDAsIHsweDBjLDB4ODAsMHgwMywweDIxLDB4MDIsMHhjOCwweDQwLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweGUxLDB4MDAsMHhmMCwweDAwIH19LAotIHsxNiwgMHhkYWQwLCAwLCB7MHgzZSwweDAyLDB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGMsMHgwMCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZGFlMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhZjAsIDAsIHsweDI4LDB4MTUsMHgzYSwweDAwLDB4YmUsMHgwMiwweDJmLDB4YjAsMHgwOCwweDY4LDB4MTIsMHgzOCwweDAwLDB4OGEsMHgwNCwweDJhIH19LAotIHsxNiwgMHhkYjAwLCAwLCB7MHg4MCwweDBiLDB4ZTAsMHg0MiwweGZiLDB4MjAsMHhiYSwweDAwLDB4MmYsMHg5MSwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ZGIxMCwgMCwgezB4MDAsMHgyNiwweDgwLDB4MDgsMHhlZSwweDBhLDB4MzgsMHgwMCwweDhhLDB4MDAsMHgyMiwweDgwLDB4MGIsMHhhMCwweDAyLDB4OGEgfX0sCi0gezE2LCAweGRiMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDIsMHgwMCwweGIzLDB4MDAsMHgyYywweGMyIH19LAotIHsxNiwgMHhkYjMwLCAwLCB7MHgyOCwweDM4LDB4MGEsMHg0OCwweDAwLDB4ODMsMHgwNCwweDIyLDB4YzAsMHgwYiwweDEwLDB4MDIsMHhjZCwweDgwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4ZGI0MCwgMCwgezB4MmUsMHhjMCwweDA4LDB4MWMsMHgwMiwweDI0LDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzQsMHgxMiwweDBlLDB4NDAgfX0sCi0gezE2LCAweGRiNTAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDEyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYjYwLCAwLCB7MHhhMCwweDAxLDB4MTEsMHgwMCwweGI3LDB4MDAsMHgyZiwweGMwLDB4MDgsMHg3MCwweGEyLDB4NGUsMHgwMCwweDhmLDB4YjAsMHgyMSB9fSwKLSB7MTYsIDB4ZGI3MCwgMCwgezB4Y2MsMHgwYiwweDYwLDB4MTIsMHhkYywweDEwLDB4YjcsMHgzMCwweDJkLDB4YzAsMHgwOCwweGQwLDB4ODIsMHgxNCwweDgwLDB4YjcgfX0sCi0gezE2LCAweGRiODAsIDAsIHsweDEyLDB4MjUsMHhjOCwweDI4LDB4NjAsMHgwMiwweDE0LDB4MDAsMHg4NywweGIyLDB4MjEsMHhjYywweDBiLDB4MzEsMHgwMiwweGE4IH19LAotIHsxNiwgMHhkYjkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhmNywweDgwLDB4M2QsMHhlMCB9fSwKLSB7MTYsIDB4ZGJhMCwgMCwgezB4MGMsMHgzOCwweDAzLDB4NTYsMHgwMCwweGM3LDB4OTAsMHhiMSwweGU0LDB4MGYsMHg3OCwweDAzLDB4ZGUsMHgwMCwweGY3LDB4OTAgfX0sCi0gezE2LCAweGRiYjAsIDAsIHsweDFmLDB4NjAsMHgyYywweDQ4LDB4MGIsMHgxNiwweGEwLDB4ZjcsMHg4MCwweDNjLDB4ZjQsMHgwYywweDM4LDB4MDMsMHgxZSwweDAwIH19LAotIHsxNiwgMHhkYmMwLCAwLCB7MHhjZiwweGEwLDB4YjEsMHhlOCwweDBmLDB4N2IsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGJkMCwgMCwgezB4MDgsMHgwZCwweGEwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhjMCwweDBiLDB4YjAsMHgwMywweGFjLDB4MDAsMHhmMywweDIxLDB4M2UgfX0sCi0gezE2LCAweGRiZTAsIDAsIHsweGM4LDB4MDcsMHhiMCwweDAyLDB4ZTQsMHgwMCwweGZiLDB4MjAsMHgzZiwweDQwLDB4MGYsMHg4MCwweDAzLDB4ZTQsMHg4MCwweGZiIH19LAotIHsxNiwgMHhkYmYwLCAwLCB7MHgwMCwweDM2LDB4ZDAsMHgwZiwweGEwLDB4MDMsMHhlMCwweDA4LDB4ZmIsMHg0MiwweDNlLDB4ZDgsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZGMwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmMCwweDgwLDB4Y2YsMHg4MCwweDMxLDB4ZTEgfX0sCi0gezE2LCAweGRjMTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGRhLDB4MTAsMHhlZiwweDgwLDB4M2YsMHhlNCwweDBmLDB4ZDgsMHgwMywweGZlLDB4MTAsMHhmZiwweDgyIH19LAotIHsxNiwgMHhkYzIwLCAwLCB7MHgzZiwweGUwLDB4NGMsMHhkOCwweDFiLDB4MTYsMHgyMCwweGNmLDB4ODAsMHgzZiwweGUwLDB4NGMsMHhkOCwweDMwLDB4ZWUsMHg0MCB9fSwKLSB7MTYsIDB4ZGMzMCwgMCwgezB4ZmYsMHhjMCwweGIzLDB4ZjQsMHgwZiwweGY4LDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjNDAsIDAsIHsweGE4LDB4MDEsMHg5OCwweDIwLDB4ODMsMHg0MCwweDIxLDB4YzAsMHgwOCwweDcxLDB4MDIsMHhkYywweDg0LDB4ODcsMHgyMCwweDJkIH19LAotIHsxNiwgMHhkYzUwLCAwLCB7MHhjMCwweDBiLDB4NjAsMHgwMiwweGQ5LDB4NjAsMHhmNywweDAwLDB4MmQsMHhjMCwweDA4LDB4ZjAsMHg4MiwweDE0LDB4MDQsMHg4NyB9fSwKLSB7MTYsIDB4ZGM2MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDgsMHhmMCwweDAzLDB4MWUsMHgwMCwweGI3LDB4MjAsMHgyMSwweGMwLDB4OGIsMHg3MCwweDAyLDB4ZWEgfX0sCi0gezE2LCAweGRjNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjAsMHgwMCwweDg3LDB4MDAsMHgyMSwweDgwIH19LAotIHsxNiwgMHhkYzgwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhmNSwweDA0LDB4MjcsMHgwMCwweDJkLDB4YzAsMHg4YiwweDcwLDB4MDIsMHhkYywweDAwLDB4YjcsMHgwMCB9fSwKLSB7MTYsIDB4ZGM5MCwgMCwgezB4MmMsMHg1MCwweDA4LDB4NDAsMHgwMiwweDE0LDB4MDAsMHg4NywweDAwLDB4MmQsMHhjMCwweDA4LDB4NTAsMHgwMiwweDVjLDB4MDQgfX0sCi0gezE2LCAweGRjYTAsIDAsIHsweGI3LDB4MDAsMHhhMSwweGMwLDB4OGIsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkY2IwLCAwLCB7MHgyMCwweDE0LDB4YzgsMHgwMCwweDgwLDB4MDAsMHgwMCwweDgwLDB4MDgsMHgzMCwweDAyLDB4Y2UsMHgwMCwweDgzLDB4YzAsMHgyYyB9fSwKLSB7MTYsIDB4ZGNjMCwgMCwgezB4ZDAsMHg0YiwweDMwLDB4MDIsMHhjZSwweDAwLDB4YWIsMHgwMiwweDJjLDB4NDAsMHg0OCwweGJjLDB4MDIsMHgwNCwweDAwLDB4ODMgfX0sCi0gezE2LCAweGRjZDAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDA4LDB4MTAsMHgwMiwweDAwLDB4MDgsMHhiMywweDAwLDB4MjAsMHhjMCwweDA5LDB4MzAsMHgwMiwweGM4IH19LAotIHsxNiwgMHhkY2UwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDgzLDB4NDAsMHhjOCwweDAwLDB4MzAsMHhjMCB9fSwKLSB7MTYsIDB4ZGNmMCwgMCwgezB4MmMsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGVmLDB4ODgsMHgzZiwweGU2LDB4MDcsMHhiMSwweDgzLDB4ZTEsMHgwMCwweGJmLDB4MDAgfX0sCi0gezE2LCAweGRkMDAsIDAsIHsweDNlLDB4ZTAsMHgwYywweGI4LDB4MDMsMHgzNCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4YzAsMHgyYywweGIwLDB4MDMsMHg2OCwweDEwIH19LAotIHsxNiwgMHhkZDEwLCAwLCB7MHhmZiwweDAwLDB4MzMsMHhjMCwweDBmLDB4ZjAsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGQyMCwgMCwgezB4ODAsMHgwMCwweGU0LDB4MDAsMHhmMSwweDQwLDB4M2UsMHhjMCwweDBmLDB4YjQsMHgwMywweGVkLDB4NDAsMHhmYiwweDA4LDB4M2UgfX0sCi0gezE2LCAweGRkMzAsIDAsIHsweGMwLDB4MGYsMHhhMCwweDAzLDB4ZTUsMHgyMCwweGZiLDB4MDAsMHgzZSwweGUwLDB4MGQsMHhiMCwweDgzLDB4ZTQsMHgwMCwweGYzIH19LAotIHsxNiwgMHhkZDQwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZiwweDgwLDB4MDMsMHhjNCwweDAwLDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweDMwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4ZGQ1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4Y2EsMHgwMCwweDMzLDB4ZTAgfX0sCi0gezE2LCAweGRkNjAsIDAsIHsweDRlLDB4ZjAsMHgwMywweDM0LDB4MDAsMHhmZiwweDAwLDB4M2YsMHhjMCwweDhmLDB4ZTgsMHgwMywweGYwLDB4MDAsMHhmZiwweDAwIH19LAotIHsxNiwgMHhkZDcwLCAwLCB7MHhiMSwweDQwLDB4MGMsMHhlMCwweDAzLDB4MzQsMHgwMCwweGVmLDB4MDAsMHhiMywweGMwLDB4MGMsMHhmMCwweDAzLDB4MzgsMHgwMCB9fSwKLSB7MTYsIDB4ZGQ4MCwgMCwgezB4Y2YsMHgwMCwweDNkLDB4YzAsMHgwYSwweGYwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRkOTAsIDAsIHsweDgxLDB4MDQsMHg2MiwweDIyLDB4ODgsMHg5MCwweDIyLDB4ZTAsMHgwOCwweDNjLDB4MDIsMHgyZSwweDA4LDB4YmIsMHgwMSwweDJlIH19LAotIHsxNiwgMHhkZGEwLCAwLCB7MHhjMCwweDBiLDB4YTAsMHgwMiwweDY2LDB4MDAsMHhiYiwweDAwLDB4MjIsMHhhMCwweDA4LDB4YTksMHgwMiwweDI0LDB4MDAsMHhiYiB9fSwKLSB7MTYsIDB4ZGRiMCwgMCwgezB4MDAsMHgyMiwweGMwLDB4MjgsMHgyYywweDAyLDB4YTIsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4MGEsMHhiMCwweDAyLDB4YTAgfX0sCi0gezE2LCAweGRkYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjIsMHgwMCwweDk4LDB4MDAsMHgyMiwweGM4IH19LAotIHsxNiwgMHhkZGQwLCAwLCB7MHgwYSwweDk4LDB4MDIsMHgyNywweDA0LDB4YmIsMHgwMCwweDJlLDB4YzAsMHgwYiwweGIxLDB4MDIsMHhlMiwweDAwLDB4YmIsMHgwMCB9fSwKLSB7MTYsIDB4ZGRlMCwgMCwgezB4MjIsMHhlMiwweDA4LDB4YjAsMHgwMiwweGE0LDB4MDAsMHhhYiwweDAwLDB4MjAsMHhjMCwweDBhLDB4ODgsMHg4MiwweDIzLDB4MDAgfX0sCi0gezE2LCAweGRkZjAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTAwLCAwLCB7MHgwOCwweDE0LDB4MDQsMHgwMCwweDkxLDB4NDAsMHgyMiwweGMwLDB4MDgsMHgxMCwweDAyLDB4MGMsMHgwMCwweGIzLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4ZGUxMCwgMCwgezB4YzAsMHg0YiwweDI4LDB4MjIsMHg0MCwweDA0LDB4YjMsMHgwMCwweDIwLDB4YzAsMHgyOCwweDMwLDB4MGEsMHgwNCwweDA0LDB4YjMgfX0sCi0gezE2LCAweGRlMjAsIDAsIHsweDAwLDB4NjAsMHhjMCwweDA4LDB4MDAsMHgwMiwweDg0LDB4MjAsMHg5MywweDAwLDB4MmMsMHhjMCwweDBhLDB4MzAsMHgwMiwweDgyIH19LAotIHsxNiwgMHhkZTMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwNSwweDYwLDB4MDAsMHhkYSwweDQwLDB4YjIsMHg4MCB9fSwKLSB7MTYsIDB4ZGU0MCwgMCwgezB4MGUsMHg5MCwweDAzLDB4MjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4OGYsMHhhMCwweDAzLDB4ZTAsMHgwOSwweGZmLDB4MDAgfX0sCi0gezE2LCAweGRlNTAsIDAsIHsweDMyLDB4NDAsMHgwOCwweGEwLDB4MGIsMHgzNCwweDAwLDB4ZWIsMHgwMCwweDMxLDB4YzAsMHgwYywweDgwLDB4MDMsMHgyOCwweDgwIH19LAotIHsxNiwgMHhkZTYwLCAwLCB7MHhjNywweDAwLDB4M2YsMHhjMCwweDBjLDB4ZjAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU3MCwgMCwgezB4YTAsMHgxNSwweGQwLDB4MDAsMHhlYywweDIwLDB4M2YsMHgwMCwweDBmLDB4YzAsMHgwYiwweGZjLDB4MTAsMHhmZiwweDAxLDB4M2YgfX0sCi0gezE2LCAweGRlODAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDAzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4ZjQsMHgwMCwweGZmIH19LAotIHsxNiwgMHhkZTkwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg0ZiwweGMwLDB4MDEsMHhmMCwweDA4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZGVhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4Y2MsMHg5MCwweDM3LDB4MjAgfX0sCi0gezE2LCAweGRlYjAsIDAsIHsweDBlLDB4ZjAsMHgxMywweGJkLDB4MDQsMHhkNCwweGMxLDB4MzMsMHgyYywweDRjLDB4ZDksMHgyMywweDMyLDB4NjAsMHhmZiwweDIwIH19LAotIHsxNiwgMHhkZWMwLCAwLCB7MHgzZCwweGUwLDB4NGYsMHhjMSwweDAzLDB4YjYsMHg0MCwweGNkLDB4MDAsMHgzNywweGUwLDB4MGMsMHhlMiwweDhiLDB4MTAsMHhjMCB9fSwKLSB7MTYsIDB4ZGVkMCwgMCwgezB4Y2QsMHgwMCwweDMzLDB4YzYsMHgwZiwweGQ4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlZTAsIDAsIHsweDgwLDB4MTAsMHhlZSwweDA4LDB4OGEsMHgyMCwweDIyLDB4MDAsMHgwOCwweGI3LDB4MDIsMHgyZCwweDAwLDB4OGEsMHgwMCwweGI2IH19LAotIHsxNiwgMHhkZWYwLCAwLCB7MHgzYywweDA4LDB4OTksMHgwMiwweDI3LDB4ODQsMHhiZiwweDY4LDB4MmUsMHg4MiwweDBiLDB4MDEsMHgwMiwweDI0LDB4NDAsMHhkOSB9fSwKLSB7MTYsIDB4ZGYwMCwgMCwgezB4NDIsMHgyMCwweGMwLDB4OGEsMHhhYywweDAyLDB4MmQsMHhjMiwweDgyLDB4NDgsMHhhMiwweGQwLDB4MGIsMHg4MiwweDAyLDB4MjAgfX0sCi0gezE2LCAweGRmMTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDg4LDB4MDQsMHgyNiwweDgwIH19LAotIHsxNiwgMHhkZjIwLCAwLCB7MHgyYSwweDMwLDB4YzIsMHhhNSwweDgwLDB4YTksMHgyMSwweDI4LDB4MDAsMHg4YSwweDAwLDB4MDIsMHgwMCwweDAwLDB4YTMsMHgxMCB9fSwKLSB7MTYsIDB4ZGYzMCwgMCwgezB4MmMsMHhjOCwweDBiLDB4MDAsMHgwMiwweGM0LDB4OTAsMHg4MywweDQyLDB4MjQsMHhjMSwweDA4LDB4MDAsMHgwMiwweDQwLDB4ODggfX0sCi0gezE2LCAweGRmNDAsIDAsIHsweGEzLDB4NjAsMHhhOCwweGMwLDB4MGIsMHgwMCwweGMyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjUwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgwNiwweDhhLDB4MDAsMHgyMiwweGUwLDB4NDgsMHhiMCwweDAyLDB4MmUsMHgwMiwweGFiLDB4ODAsMHgyZSB9fSwKLSB7MTYsIDB4ZGY2MCwgMCwgezB4MjAsMHg0YSwweDhjLDB4MDIsMHgyNiwweDIwLDB4YmIsMHgwMCwweDZlLDB4ODAsMHgwYiwweDMwLDB4YzIsMHg0NiwweDA0LDB4OWIgfX0sCi0gezE2LCAweGRmNzAsIDAsIHsweDBhLDB4YTIsMHhjMCwweDBhLDB4ODAsMHgxMiwweDZjLDB4NDAsMHhhOCwweDAwLDB4MmEsMHhjMCwweDBiLDB4OGMsMHgwMiwweDMwIH19LAotIHsxNiwgMHhkZjgwLCAwLCB7MHgwMCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhjMSwweDA5LDB4MzYsMHg2MSB9fSwKLSB7MTYsIDB4ZGY5MCwgMCwgezB4MGUsMHgzMiwweDAzLDB4YWIsMHgyMCwweGY4LDB4ODQsMHgzYSwweDc4LDB4MmUsMHg5OCwweDAzLDB4MjYsMHgwMCwweGViLDB4MDAgfX0sCi0gezE2LCAweGRmYTAsIDAsIHsweDNlLDB4NDAsMHg0ZiwweDkwLDB4MDMsMHhlMiwweDAwLDB4YzksMHg0MCwweDM2LDB4ZTAsMHgwYywweGI0LDB4MDMsMHg2ZSwweDAwIH19LAotIHsxNiwgMHhkZmIwLCAwLCB7MHhlYiwweDAwLDB4M2EsMHhjMCwweDBmLDB4ODgsMHgwMywweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGZjMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZmEsMHgxMywweGY4LDB4MTAsMHhkYywweDA0LDB4MjcgfX0sCi0gezE2LCAweGRmZDAsIDAsIHsweDQwLDB4MGQsMHg1MCwweDQzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhkOSwweDAzLDB4YjAsMHgwMCwweGY5IH19LAotIHsxNiwgMHhkZmUwLCAwLCB7MHgwMSwweDNmLDB4ZjAsMHgwZiwweGYwLDB4MjMsMHhiMiwweDAwLDB4ZDQsMHhhMCwweDM3LDB4YzAsMHgwZiwweGMwLDB4MGIsMHhmOCB9fSwKLSB7MTYsIDB4ZGZmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDIwLDB4ZWIsMHgxMCwweGYyLDB4MDAgfX0sCi0gezE2LCAweGUwMDAsIDAsIHsweDBlLDB4YjQsMHgwMywweDIxLDB4ODAsMHhjOSwweDQwLDB4M2EsMHg0OCwweDBmLDB4OTAsMHgxMywweGUxLDB4MjAsMHhmYiwweDAwIH19LAotIHsxNiwgMHhlMDEwLCAwLCB7MHgzZSwweGMwLDB4MGMsMHg4NCwweDAzLDB4MjQsMHgwMCwweGZiLDB4MDEsMHgzNiwweGUwLDB4MGMsMHg3NCwweDBiLDB4OWMsMHgwMCB9fSwKLSB7MTYsIDB4ZTAyMCwgMCwgezB4Y2YsMHgwMCwweDMyLDB4ZTAsMHgwZiwweDg0LDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwMzAsIDAsIHsweGM4LDB4MDUsMHgxZSwweDAwLDB4OGIsMHg4MCwweDIwLDB4NDAsMHgwOCwweGI4LDB4MDIsMHg4MywweDgwLDB4ODEsMHhhMCwweDIyIH19LAotIHsxNiwgMHhlMDQwLCAwLCB7MHg3OCwweDBiLDB4OTEsMHg4MywweGUzLDB4MDAsMHhiZiwweDAwLDB4MGUsMHhjMSwweDBhLDB4YjQsMHgwMywweDY0LDB4MDQsMHhiOSB9fSwKLSB7MTYsIDB4ZTA1MCwgMCwgezB4NTAsMHgzMiwweGMwLDB4MGEsMHhiMiwweDAyLDB4MjAsMHgwMCwweDg4LDB4MDAsMHgyMywweGQ0LDB4MGIsMHg4OCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGUwNjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHg0MiwweGEwLDB4ODAsMHgyMCwweDAwIH19LAotIHsxNiwgMHhlMDcwLCAwLCB7MHg0OCwweDAwLDB4MDIsMHgwZCwweDA2LDB4ODAsMHg4MCwweDJhLDB4ZDAsMHgwMywweDAwLDB4MDIsMHhjOCwweDAwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4ZTA4MCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MzYsMHgwMiwweDQwLDB4MDAsMHhiOSwweDAyLDB4MjIsMHhjMiwweDhiLDB4MjYsMHgwMiwweDBjLDB4MTAgfX0sCi0gezE2LCAweGUwOTAsIDAsIHsweDAxLDB4MDIsMHgyNCwweGMwLDB4NGIsMHhhMSwweDAyLDB4ZjgsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGEwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwOCwweDhlLDB4ODAsMHgyMSwweDIxLDB4MDgsMHgyOCwweGMyLDB4OWUsMHgwMCwweDhlLDB4ODAsMHgyMSB9fSwKLSB7MTYsIDB4ZTBiMCwgMCwgezB4NjAsMHgwYiwweDc4LDB4MDIsMHg5ZSwweDIwLDB4YjcsMHg4MiwweDJmLDB4YTEsMHgwYSwweDc4LDB4MDIsMHg1ZSwweDAwLDB4YjUgfX0sCi0gezE2LCAweGUwYzAsIDAsIHsweDkxLDB4YTEsMHhlMCwweDBiLDB4MjksMHgwMiwweDMyLDB4NDQsMHg4NiwweDgwLDB4YTUsMHhlMCwweDBiLDB4NGMsMHgwMiwweGM4IH19LAotIHsxNiwgMHhlMGQwLCAwLCB7MHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhlMSwweDAwLDB4MjIsMHg4MCB9fSwKLSB7MTYsIDB4ZTBlMCwgMCwgezB4MGUsMHgwMCwweDBiLDB4MjQsMHgwMCwweGMwLDB4NDQsMHgyOCwweGFkLDB4MGYsMHgyMCwweDAyLDB4YzgsMHgwMCwweGYzLDB4MDAgfX0sCi0gezE2LCAweGUwZjAsIDAsIHsweDFjLDB4YzAsMHgwYywweDAxLDB4MDMsMHg0OCwweDRjLDB4ZjIsMHgwNCwweDMwLDB4YzAsMHgwZiwweDE1LDB4MDMsMHg4MCwweDQwIH19LAotIHsxNiwgMHhlMTAwLCAwLCB7MHhjMSwweDAwLDB4MTQsMHhjOCwweDBmLDB4MDAsMHgwMywweGRhLDB4MDIsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTExMCwgMCwgezB4NDAsMHgxZCwweDljLDB4NDAsMHhmNywweDAwLDB4M2YsMHhjMCwweDhmLDB4YzAsMHgwMywweGU0LDB4MDAsMHhmYSwweDAxLDB4M2YgfX0sCi0gezE2LCAweGUxMjAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDIzLDB4ZmMsMHgwOCwweGZiLDB4MDAsMHgzZiwweDgwLDB4MGYsMHhmMCwweDAxLDB4ZmMsMHgxMCwweGZmIH19LAotIHsxNiwgMHhlMTMwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZSwweGQxLDB4MDMsMHhmYywweDQyLDB4ZmUsMHg4MCwweDNiLDB4YzAsMHgwZiwweGMwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZTE0MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDQwLDB4YzgsMHgwMCwweDNlLDB4YzAgfX0sCi0gezE2LCAweGUxNTAsIDAsIHsweDBmLDB4OTAsMHgwMywweGVlLDB4MDgsMHhjYiwweDAwLDB4MzIsMHhjMCwweDBmLDB4YTAsMHgyMywweGU2LDB4MDMsMHhjYiwweDRjIH19LAotIHsxNiwgMHhlMTYwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHhiMCwweDA3LDB4ZTgsMHgwMCwweGY5LDB4MDAsMHgxNiwweDQwLDB4MGMsMHhhMCwweDBiLDB4NmMsMHgwMCB9fSwKLSB7MTYsIDB4ZTE3MCwgMCwgezB4Y2YsMHgwMiwweDMyLDB4YzUsMHgwYywweDgwLDB4MDMsMHgwMiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDgwLDB4ODQsMHgwNCwweDJkLDB4YzEsMHgwYiwweDQwLDB4NDAsMHhkYywweDAwLDB4ODcsMHgwNCwweDIxIH19LAotIHsxNiwgMHhlMTkwLCAwLCB7MHhjMCwweDRiLDB4NzAsMHgxMiwweGZjLDB4MDEsMHg4ZiwweDYwLDB4MjksMHg0MCwweDBiLDB4NzAsMHgxMywweDljLDB4MDAsMHhiNSB9fSwKLSB7MTYsIDB4ZTFhMCwgMCwgezB4MDAsMHhhMywweDQwLDB4MGEsMHg2MCwweDAyLDB4MDAsMHgwMCwweDg0LDB4MDAsMHgyMSwweGMwLDB4MDgsMHg0MCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGUxYjAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDg3LDB4ODAsMHgyZCwweGEyIH19LAotIHsxNiwgMHhlMWMwLCAwLCB7MHgwYiwweDRjLDB4MTYsMHhkNiwweDA4LDB4OTcsMHg4OCwweDIxLDB4YTAsMHg0YiwweDY4LDB4MDIsMHhkZSwweDA0LDB4YTcsMHg4MCB9fSwKLSB7MTYsIDB4ZTFkMCwgMCwgezB4MjEsMHhlMCwweDBiLDB4NDgsMHgwMiwweGRhLDB4MDQsMHhiNiwweDgyLDB4MjUsMHg2MCwweDBhLDB4ZTgsMHg2MiwweDFlLDB4MDAgfX0sCi0gezE2LCAweGUxZTAsIDAsIHsweDg3LDB4ODAsMHgyMCwweGU4LDB4MDgsMHg0OCwweDAyLDB4MDgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDhiLDB4ODAsMHg2YywweGYwLDB4MGIsMHgzYywweDAyLDB4Y2UsMHg0NiwweDliLDB4YzAsMHgyMCB9fSwKLSB7MTYsIDB4ZTIwMCwgMCwgezB4ZTQsMHgwYiwweDNjLDB4MDIsMHhjYywweDIwLDB4YTMsMHgwMCwweDI4LDB4ZTAsMHgwYiwweDMwLDB4MDIsMHg4ZCwweDgwLDB4YjEgfX0sCi0gezE2LCAweGUyMTAsIDAsIHsweDgwLDB4MjIsMHg0NCwweDBhLDB4MjEsMHgwYSwweDAzLDB4ODIsMHg4MCwweDgwLDB4YTAsMHhjMCwweDA4LDB4MDYsMHgwYSwweDEyIH19LAotIHsxNiwgMHhlMjIwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDIsMHhjZSwweDgwLDB4M2YsMHhhMCB9fSwKLSB7MTYsIDB4ZTIzMCwgMCwgezB4MGYsMHhlMCwweDAzLDB4ZmEsMHg0MCwweGRlLDB4YzAsMHhiMywweDkwLDB4MGYsMHhlYSwweDEzLDB4ZjksMHgwOCwweGVhLDB4MDQgfX0sCi0gezE2LCAweGUyNDAsIDAsIHsweDMzLDB4ODIsMHg4ZiwweGU0LDB4MDMsMHhmYiwweDA4LDB4ZmUsMHhhMCwweDM2LDB4YTAsMHgwYywweGFjLDB4MGIsMHg2YiwweDgyIH19LAotIHsxNiwgMHhlMjUwLCAwLCB7MHhjNiwweGEwLDB4MzIsMHg4MCwweDJjLDB4ZTQsMHgwMywweDNhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDkwLDB4M2UsMHgwMiwweDBmLDB4ODAsMHg4MywweGUxLDB4MDAsMHhlOCwweDIwLDB4M2UgfX0sCi0gezE2LCAweGUyNzAsIDAsIHsweDAzLDB4MGYsMHg4MiwweDAzLDB4ZTEsMHg0MCwweGQ4LDB4MDAsMHgzZSwweDIwLDB4MGYsMHgwMCwweDkzLDB4YTAsMHg0MCwweGY4IH19LAotIHsxNiwgMHhlMjgwLCAwLCB7MHgwMCwweDNlLDB4MTAsMHg4ZiwweDA4LDB4MGIsMHhmMCwweDAwLDB4ZmMsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ZTI5MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZTksMHgwMCwweDM2LDB4NDAgfX0sCi0gezE2LCAweGUyYTAsIDAsIHsweDBmLDB4OTQsMHgwNywweGU2LDB4MDAsMHhmOSwweDgwLDB4YjAsMHg0MCwweDBjLDB4OTQsMHgwMywweGU0LDB4NDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhlMmIwLCAwLCB7MHgzMiwweDQwLDB4MGYsMHg5NCwweDBiLDB4YTQsMHgwMCwweDcxLDB4YzAsMHgzMiwweDQwLDB4MmMsMHg5NCwweDIzLDB4MjQsMHgwMiB9fSwKLSB7MTYsIDB4ZTJjMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyZDAsIDAsIHsweDgwLDB4MDQsMHg0NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwYiwweDk4LDB4MDIsMHhlNiwweDYwLDB4YjksMHgwMCwweDIyIH19LAotIHsxNiwgMHhlMmUwLCAwLCB7MHg2MCwweDBhLDB4OWMsMHgwMiwweGU2LDB4MjQsMHhiOSwweDA0LDB4MzYsMHg0MCwweDBiLDB4OTgsMHgwMCwweDI0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZTJmMCwgMCwgezB4ODAsMHhhMiwweDUyLDB4MDgsMHg5MCwweDAyLDB4MjQsMHgwMCwweDg5LDB4NDAsMHgyMiwweDQwLDB4NjgsMHg5NCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGUzMDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMCwweGE5LDB4MDAsMHgyNiwweDQwIH19LAotIHsxNiwgMHhlMzEwLCAwLCB7MHgwMywweDk0LDB4MDIsMHhlNCwweDAxLDB4YjksMHgxMCwweDIyLDB4NTUsMHgwOCwweDkwLDB4MjIsMHhlNCwweDAwLDB4YjEsMHgwMCB9fSwKLSB7MTYsIDB4ZTMyMCwgMCwgezB4MjYsMHg0MCwweDBiLDB4OTAsMHgwMCwweDJjLDB4MDksMHhiOSwweDAwLDB4MjIsMHg2MCwweDA4LDB4OTAsMHgwYSwweDFjLDB4MDQgfX0sCi0gezE2LCAweGUzMzAsIDAsIHsweDhkLDB4MDgsMHhhMCwweDQwLDB4MDgsMHgxMCwweDgyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzQwLCAwLCB7MHgwOCwweDA0LDB4MDYsMHgwMCwweDgxLDB4MDAsMHgyMCwweDUwLDB4MGIsMHgxMiwweDQyLDB4YzQsMHg4MCwweGIxLDB4MDQsMHgyMCB9fSwKLSB7MTYsIDB4ZTM1MCwgMCwgezB4NTAsMHgwYSwweDE0LDB4MDIsMHhjNSwweDAwLDB4YjEsMHgyMiwweDI0LDB4NDAsMHgwYiwweDEyLDB4MjIsMHgwNCwweDAxLDB4YjEgfX0sCi0gezE2LCAweGUzNjAsIDAsIHsweDQwLDB4MjAsMHg1MCwweDA4LDB4MTAsMHgwYSwweDE1LDB4MDAsMHg4NSwweDQwLDB4MjgsMHg1MCwweDA4LDB4MTQsMHgwYSwweDBhIH19LAotIHsxNiwgMHhlMzcwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhlOCwweDUwLDB4MzYsMHgwMCB9fSwKLSB7MTYsIDB4ZTM4MCwgMCwgezB4MGYsMHg4NSwweDAyLDB4ZTEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDAwLDB4MGMsMHhhMCwweDIzLDB4ZTAsMHgxMCwweGY4LDB4NTAgfX0sCi0gezE2LCAweGUzOTAsIDAsIHsweGIyLDB4MTQsMHgwZiwweGE1LDB4MDMsMHhhMSwweDQ4LDB4ZmEsMHgwMCwweGIyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgyMCwweDA0IH19LAotIHsxNiwgMHhlM2EwLCAwLCB7MHhjNCwweDAyLDB4MzIsMHgwMCwweDBjLDB4MDAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNiMCwgMCwgezB4OTgsMHgxZCwweGU1LDB4MDAsMHhmZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDEsMHgwMywweGQ0LDB4NDQsMHhmNSwweDAwLDB4M2YgfX0sCi0gezE2LCAweGUzYzAsIDAsIHsweDUxLDB4MGYsMHhkNCwweDAzLDB4ZjUsMHgwMCwweGY5LDB4MTAsMHgzYiwweDQwLDB4MGYsMHhkMSwweDAwLDB4ZjUsMHgxMCwweGY1IH19LAotIHsxNiwgMHhlM2QwLCAwLCB7MHg0MCwweDdmLDB4NDAsMHgwZiwweDU0LDB4MmIsMHhlNSwweDAwLDB4ZjksMHg0MCwweDM2LDB4NTAsMHgwZiwweGQwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4ZTNlMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDEwLDB4YmQsMHg0MCwweDMzLDB4NDAgfX0sCi0gezE2LCAweGUzZjAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDM3LDB4ODAsMHhjZCwweDAwLDB4M2YsMHg0MCwweDBmLDB4ZDAsMHgwMywweGY0LDB4MDAsMHhlOSwweGEwIH19LAotIHsxNiwgMHhlNDAwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHhkZSwweDE3LDB4YTQsMHgwOCwweGZkLDB4YzAsMHgzMywweDQxLDB4OGQsMHhkYSwweDEzLDB4MjYsMHhhMCB9fSwKLSB7MTYsIDB4ZTQxMCwgMCwgezB4ZjksMHhhOCwweDMyLDB4NzgsMHgwYywweGI0LDB4MGIsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MjAsIDAsIHsweDM4LDB4MTAsMHhlMSwweDAwLDB4YjgsMHhhMCwweDM2LDB4MjAsMHgwYiwweDhhLDB4ODIsMHhhMiwweDgwLDB4MmEsMHhhOCwweDJlIH19LAotIHsxNiwgMHhlNDMwLCAwLCB7MHgwMCwweDBiLDB4ODAsMHgxMiwweGUwLDB4MDQsMHhiOCwweGExLDB4MmUsMHgyOCwweDRhLDB4OGUsMHgwMiwweDJhLDB4YTAsMHhiYSB9fSwKLSB7MTYsIDB4ZTQ0MCwgMCwgezB4YzAsMHgyMiwweDI4LDB4MDgsMHg4NSwweDAyLDB4MjEsMHgwOCwweGI4LDB4ZTgsMHhhMiwweDNjLDB4MDgsMHhjOCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGU0NTAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzUsMHgwMCwweGI5LDB4MDAsMHgyMCwweDRhIH19LAotIHsxNiwgMHhlNDYwLCAwLCB7MHgwYiwweDE0LDB4MDIsMHgwNSwweDgwLDB4MDEsMHgwMCwweDJjLDB4NDEsMHgwYiwweDEwLDB4MDIsMHhjNCwweDA0LDB4YTEsMHg0YSB9fSwKLSB7MTYsIDB4ZTQ3MCwgMCwgezB4MmUsMHg0MiwweDA4LDB4MTQsMHgwMiwweDg0LDB4MTAsMHhiMSwweDYwLDB4YTAsMHg0YSwweDA5LDB4MTAsMHgwMiwweDQ0LDB4MDAgfX0sCi0gezE2LCAweGU0ODAsIDAsIHsweGI1LDB4MDEsMHgyOSwweDQwLDB4MTgsMHhkMiwweDAyLDB4MTIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MjEsMHgyNiwweDQwLDB4MGIsMHg5NiwweDAyLDB4YTQsMHgxMCwweGE5LDB4MDAsMHgyZSB9fSwKLSB7MTYsIDB4ZTRhMCwgMCwgezB4NDAsMHgwYiwweDk2LDB4MTIsMHhlNCwweDIwLDB4YjksMHgwMCwweDJlLDB4NDEsMHgwYSwweDkwLDB4NDIsMHgyNCwweDAwLDB4YjkgfX0sCi0gezE2LCAweGU0YjAsIDAsIHsweDAwLDB4MjIsMHg0MSwweDA4LDB4OTgsMHgyMiwweDY0LDB4MDAsMHhiOSwweDIwLDB4MmIsMHg0MSwweDI4LDB4ZDQsMHgwMiwweDA2IH19LAotIHsxNiwgMHhlNGMwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxMSwweGU0LDB4MDAsMHhmOSwweGUwLDB4MzIsMHg1OCB9fSwKLSB7MTYsIDB4ZTRkMCwgMCwgezB4MGYsMHg5OCwweDAzLDB4MjYsMHg0MCwweGM5LDB4NDAsMHgzZSwweDU4LDB4MGYsMHg5YywweDAzLDB4ZTQsMHgwMCwweGU5LDB4MDAgfX0sCi0gezE2LCAweGU0ZTAsIDAsIHsweDZlLDB4NDAsMHgwYywweDlhLDB4MDIsMHhhNiwweDAwLDB4ZjksMHg0NCwweDMyLDB4NDAsMHgwZCwweDlhLDB4MGIsMHg2NCwweDg0IH19LAotIHsxNiwgMHhlNGYwLCAwLCB7MHhmOSwweDAwLDB4YmEsMHg0MCwweDBjLDB4MTgsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUwMCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg1MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDAsMHhmOSwweDA0LDB4M2UgfX0sCi0gezE2LCAweGU1MTAsIDAsIHsweDQ4LDB4MGYsMHg5MCwweDAzLDB4ZTQsMHg0MCwweGY5LDB4MDAsMHgzZSwweDY1LDB4MGYsMHg5OSwweDgxLDB4ZTQsMHg1MCwweGY5IH19LAotIHsxNiwgMHhlNTIwLCAwLCB7MHgyMCwweDNlLDB4NDAsMHg4ZiwweDkwLDB4MDMsMHhhNCwweDgwLDB4ZjksMHgwMCwweDM0LDB4NDAsMHgwZiwweDkyLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ZTUzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4ZjgsMHg0MCwweDNlLDB4MTAgfX0sCi0gezE2LCAweGU1NDAsIDAsIHsweDBlLDB4ODQsMHgwMywweDYwLDB4MDgsMHhjOCwweDAwLDB4M2UsMHgwOCwweDBmLDB4ODAsMHg4MywweGUwLDB4MjgsMHhlOCwweDA0IH19LAotIHsxNiwgMHhlNTUwLCAwLCB7MHgzZSwweDAwLDB4MGMsMHg4NCwweDAzLDB4MjEsMHgxYywweGYwLDB4NDgsMHgzMiwweDAwLDB4MGIsMHgwMCwweDAzLDB4ZTAsMHgwMiB9fSwKLSB7MTYsIDB4ZTU2MCwgMCwgezB4YzAsMHgwMCwweDMyLDB4MDAsMHgwYywweGMwLDB4MGIsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NzAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YjIsMHg4OCwweDJlLDB4ODAsMHgwOCwweGUwLDB4MDMsMHg3YSwweDgwLDB4OGUsMHgwMCwweDJmIH19LAotIHsxNiwgMHhlNTgwLCAwLCB7MHhhMCwweDBiLDB4ZTgsMHgwMiwweGY5LDB4MTAsMHhiYSwweDAwLDB4MmMsMHg4MCwweDI4LDB4ZTQsMHgwMiwweDI4LDB4MDAsMHhiZSB9fSwKLSB7MTYsIDB4ZTU5MCwgMCwgezB4NDAsMHgyMywweGI4LDB4MDgsMHhlOCwweDAyLDB4ZTgsMHgwNCwweGNhLDB4MjAsMHhhMiwweDgwLDB4MDgsMHhlOCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGU1YTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMSwweGIzLDB4MDAsMHgyYywweDQwIH19LAotIHsxNiwgMHhlNWIwLCAwLCB7MHgwOCwweGI4LDB4NDIsMHg2YywweDAyLDB4ODMsMHgwMCwweDJjLDB4ZTAsMHgwYiwweDM4LDB4MDAsMHhjZiwweDQwLDB4YjMsMHgwMCB9fSwKLSB7MTYsIDB4ZTVjMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4YjQsMHgwYSwweDBjLDB4MDAsMHhiMywweDQwLDB4YTIsMHg4MiwweDBhLDB4MzksMHgwMiwweGNjLDB4MDAgfX0sCi0gezE2LCAweGU1ZDAsIDAsIHsweDkzLDB4ODAsMHhhMCwweGMwLDB4MjksMHgyMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWUwLCAwLCB7MHhhMCwweDAxLDB4MWQsMHgwMCwweGI3LDB4MDAsMHgyZCwweDY0LDB4MjgsMHg3NCwweDAyLDB4NDAsMHgwMCwweDg3LDB4MDUsMHgyZCB9fSwKLSB7MTYsIDB4ZTVmMCwgMCwgezB4OTAsMHgwYiwweDc0LDB4MDIsMHhkYywweDEwLDB4YjcsMHgzMCwweDJkLDB4YzgsMHgwOCwweDM0LDB4MDYsMHgxYywweDgwLDB4YjcgfX0sCi0gezE2LCAweGU2MDAsIDAsIHsweDAwLDB4YTEsMHhjMCwweDBhLDB4NzAsMHgwMiwweGRlLDB4ODAsMHg4MywweDAwLDB4MDEsMHgwMCwweDA5LDB4NjAsMHg4MiwweDIwIH19LAotIHsxNiwgMHhlNjEwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFhLDB4MDAsMHhmNywweDgwLDB4M2QsMHg2MCB9fSwKLSB7MTYsIDB4ZTYyMCwgMCwgezB4MGUsMHhkOCwweDBiLDB4NWUsMHgwMCwweGM3LDB4ODAsMHgzZCwweGUwLDB4MGYsMHg2OCwweDAzLDB4ZGUsMHgxMCwweGY3LDB4YTkgfX0sCi0gezE2LCAweGU2MzAsIDAsIHsweDdmLDB4ZTgsMHg0OCwweDc4LDB4MDMsMHgxZiwweDMwLDB4ZmYsMHg5NCwweDMzLDB4YTAsMHgwZSwweDc4LDB4MDMsMHhjZiwweDI0IH19LAotIHsxNiwgMHhlNjQwLCAwLCB7MHhkNiwweDgwLDB4YjEsMHhlMCwweDBkLDB4ZjgsMHg0MywweDIyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY1MCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhiYiwweDAwLDB4MGMsMHg0MCwweDBmLDB4YjAsMHgwMywweGVjLDB4MDgsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGU2NjAsIDAsIHsweDAwLDB4MGYsMHg5MCwweDQxLDB4ZWMsMHgwMCwweGZiLDB4NjEsMHg3ZSwweGQwLDB4MGYsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGZiIH19LAotIHsxNiwgMHhlNjcwLCAwLCB7MHg0MCwweDNmLDB4OWIsMHgwYywweGIwLDB4MDMsMHhlZCwweDkwLDB4ZmEsMHgwMCwweDNjLDB4MDAsMHgwZSwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZTY4MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhkZSwweDAwLDB4ZWYsMHg4MCwweDMzLDB4NjAgfX0sCi0gezE2LCAweGU2OTAsIDAsIHsweDBkLDB4ZDgsMHgwMywweDM2LDB4NDAsMHhlZiwweDkwLDB4M2UsMHhlMCwweDBmLDB4ZjksMHgwMywweGZlLDB4MDAsMHhmZiwweDgwIH19LAotIHsxNiwgMHhlNmEwLCAwLCB7MHgzMywweGZlLDB4MGMsMHhmYSwweDAzLDB4ZmUsMHgwMCwweGNmLDB4ODAsMHhiMywweGUwLDB4MGYsMHhmOCwweDAzLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4ZTZiMCwgMCwgezB4Y2QsMHg4MCwweDMzLDB4ZTAsMHgwZiwweGM4LDB4NDMsMHhjMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2YzAsIDAsIHsweGE4LDB4MTEsMHg5YywweDAwLDB4ODUsMHgwOCwweDM1LDB4NDAsMHgwOCwweDcwLDB4MDMsMHg1MiwweDIwLDB4ODcsMHgxMSwweDJjIH19LAotIHsxNiwgMHhlNmQwLCAwLCB7MHhlYywweDBiLDB4NzEsMHgwMiwweGQwLDB4MDAsMHhlNywweDAwLDB4MzUsMHhjNCwweDA4LDB4NzQsMHgwMiwweGRjLDB4NDAsMHg4NyB9fSwKLSB7MTYsIDB4ZTZlMCwgMCwgezB4MTAsMHgyMSwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg4MCwweDg1LDB4MDgsMHgyMSwweDAwLDB4MGIsMHg0MSwweDgyLDB4ZWEgfX0sCi0gezE2LCAweGU2ZjAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTgsMHgwMCwweGFmLDB4MDAsMHgyMywweDUwIH19LAotIHsxNiwgMHhlNzAwLCAwLCB7MHgwOSwweDUwLDB4MDIsMHgxYywweDgwLDB4YTcsMHgwMSwweDI5LDB4YzAsMHgxYiwweDYwLDB4MDYsMHhkYywweDQwLDB4YjcsMHgxMCB9fSwKLSB7MTYsIDB4ZTcxMCwgMCwgezB4MjEsMHhjOCwweDRhLDB4NTIsMHgwMiwweGRjLDB4MDAsMHg4MywweDAwLDB4MjEsMHhjMCwweDBiLDB4NzAsMHgwMiwweGRjLDB4MTMgfX0sCi0gezE2LCAweGU3MjAsIDAsIHsweDg0LDB4MDAsMHgyNSwweGMwLDB4MGIsMHg1OCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzMwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwMCwweDgxLDB4ODAsMHgyNCwweDQwLDB4MDgsMHgzZSwweDAyLDB4NmUsMHgwMCwweDg5LDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4ZTc0MCwgMCwgezB4YzAsMHgwYiwweGI0LDB4MDIsMHhjYSwweDgwLDB4YTMsMHgwMCwweDI0LDB4YzAsMHgwYSwweDA0LDB4MDIsMHhlYywweDQwLDB4ODIgfX0sCi0gezE2LCAweGU3NTAsIDAsIHsweDBhLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNkLDB4MTAsMHg4MCwweGMwLDB4YTQsMHgwMCwweDBiLDB4MWMsMHgwMiwweGM4IH19LAotIHsxNiwgMHhlNzYwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweDg0LDB4MDAsMHhlYiwweDgwLDB4MzMsMHg0MCB9fSwKLSB7MTYsIDB4ZTc3MCwgMCwgezB4MGQsMHg4YywweDgzLDB4MjYsMHgwMCwweGU5LDB4YTAsMHgzZSwweDc4LDB4OGYsMHg5MCwweDgzLDB4ZTEsMHgwMCwweGZmLDB4MDAgfX0sCi0gezE2LCAweGU3ODAsIDAsIHsweDMxLDB4ZDEsMHgwZSwweDg0LDB4MjMsMHhmYywweDAwLDB4Y2IsMHg4MiwweDMyLDB4YzAsMHg4ZiwweGIwLDB4MDIsMHhmZCwweDQwIH19LAotIHsxNiwgMHhlNzkwLCAwLCB7MHhjYiwweDgwLDB4YjYsMHhjMCwweDBmLDB4YTQsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdhMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmYiwweDAwLDB4M2UsMHg0MCwweDBmLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmOSwweDAxLDB4M2UgfX0sCi0gezE2LCAweGU3YjAsIDAsIHsweDQyLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHg1NCwweGUzLDB4MDAsMHgzZSwweGM4LDB4MDUsMHg5MywweDAzLDB4ZWMsMHg4MCwweGZiIH19LAotIHsxNiwgMHhlN2MwLCAwLCB7MHhjMSwweDNlLDB4YzAsMHgwZiwweDIwLDB4MDMsMHhjYywweDQ4LDB4ZjMsMHgwOCwweDNhLDB4MDAsMHgwZiwweGEwLDB4NDMsMHhlMCB9fSwKLSB7MTYsIDB4ZTdkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4Y2YsMHgwMCwweDNmLDB4NDAgfX0sCi0gezE2LCAweGU3ZTAsIDAsIHsweDBmLDB4MzAsMHgwMSwweDJjLDB4MGEsMHhjZCwweDEwLDB4MzMsMHgwMCwweDBmLDB4ZDAsMHg4MywweDE0LDB4MDAsMHhjYiwweDAyIH19LAotIHsxNiwgMHhlN2YwLCAwLCB7MHgzMywweGMwLDB4MGMsMHhlMSwweDAzLDB4ZWMsMHgxMCwweGNkLDB4MDAsMHgzMywweGMwLDB4MGMsMHhmMCwweDMzLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4ZTgwMCwgMCwgezB4ZWEsMHgwMCwweDMzLDB4YzAsMHgwYywweGYwLDB4ODMsMHhjOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MTAsIDAsIHsweDgxLDB4MDQsMHg2ZSwweDAwLDB4OGIsMHgwMCwweDJlLDB4NDAsMHgwYiwweGJjLDB4MDIsMHgyZSwweDAwLDB4MGIsMHgwMCwweDIyIH19LAotIHsxNiwgMHhlODIwLCAwLCB7MHgzMCwweDBiLDB4OWMsMHgwMiwweDI3LDB4ODAsMHhhYiwweDAwLDB4MmEsMHhjMCwweDA4LDB4YjgsMHgwMiwweGVjLDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4ZTgzMCwgMCwgezB4YzAsMHgyMCwweGUwLDB4MDgsMHhhZSwweDAyLDB4MmMsMHgwOCwweDhhLDB4MDAsMHgyMiwweDAwLDB4MDgsMHhiMCwweDQyLDB4ZTggfX0sCi0gezE2LCAweGU4NDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmUsMHgwMCwweDhiLDB4MDQsMHgyZSwweDQwIH19LAotIHsxNiwgMHhlODUwLCAwLCB7MHg4YiwweDhjLDB4MDIsMHhhZSwweDEwLDB4ODksMHgwMCwweDIyLDB4NzAsMHgwYiwweDhjLDB4MDIsMHhhMiwweDAwLDB4OGIsMHgwMSB9fSwKLSB7MTYsIDB4ZTg2MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4ODAsMHgwMiwweGVjLDB4MTAsMHg4MiwweDg4LDB4YTIsMHg3MCwweDA5LDB4YjgsMHgwMiwweDJjLDB4MDggfX0sCi0gezE2LCAweGU4NzAsIDAsIHsweDg5LDB4MDAsMHgyMCwweGMwLDB4MjgsMHg4MCwweDIyLDB4ZTAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODgwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwNCwweDgxLDB4MDAsMHgyYywweDQwLDB4MGIsMHgyMCwweDAyLDB4ODAsMHgwMCwweDgxLDB4MDQsMHhhMCB9fSwKLSB7MTYsIDB4ZTg5MCwgMCwgezB4NTAsMHg0YiwweDAwLDB4MGEsMHg4MCwweDAwLDB4YTMsMHgwMSwweDJhLDB4YzEsMHgyMCwweDEwLDB4MDIsMHhjYywweDE0LDB4ODMgfX0sCi0gezE2LCAweGU4YTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4MjAsMHgwMiwweDBjLDB4MDAsMHg4MSwweDAwLDB4ZTAsMHgwMCwweDA4LDB4MDAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhlOGIwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY4LDB4MDAsMHhjYiwweDAwLDB4M2UsMHg0MCB9fSwKLSB7MTYsIDB4ZThjMCwgMCwgezB4MGYsMHg5MCwweDBiLDB4YWMsMHg4MCwweGM5LDB4MDAsMHgzMiwweDEwLDB4MGYsMHg4MCwweDAzLDB4YTQsMHgwMCwweGNmLDB4MDIgfX0sCi0gezE2LCAweGU4ZDAsIDAsIHsweDMxLDB4YzAsMHgwYywweDgwLDB4MTMsMHhmYywweDAyLDB4Y2QsMHgwMCwweDMzLDB4YzAsMHgyYywweDkwLDB4MDMsMHgzYywweDAyIH19LAotIHsxNiwgMHhlOGUwLCAwLCB7MHhlOCwweDAwLDB4YjIsMHhjMCwweDBjLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThmMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDIsMHhmNSwweDAwLDB4M2QsMHg0MCwweDhmLDB4ZjAsMHgyMywweDZkLDB4MDAsMHhmZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweGU5MDAsIDAsIHsweDA0LDB4MGYsMHhjMCwweDAzLDB4NzAsMHgxYywweGZmLDB4MDEsMHgzZiwweGMwLDB4NGYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZkIH19LAotIHsxNiwgMHhlOTEwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweGUwLDB4MGYsMHhmYywweDE4LDB4ZmMsMHgwMCwweDNmLDB4MDAsMHgwZiwweGQwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZTkyMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmZSwweDAwLDB4ZDcsMHgwMiwweDBmLDB4MzAgfX0sCi0gezE2LCAweGU5MzAsIDAsIHsweDBjLDB4ZjIsMHgwMSwweDdlLDB4MDYsMHg0NCwweDMwLDB4M2YsMHgyMCwweDBlLDB4ZjAsMHgwMiwweDdjLDB4ODQsMHhmZCwweDIwIH19LAotIHsxNiwgMHhlOTQwLCAwLCB7MHgyNywweDA4LDB4MGMsMHhkMCwweDAxLDB4MzYsMHgwMCwweGZmLDB4NjAsMHgzMywweGNjLDB4MGIsMHhmMSwweDEzLDB4MmMsMHhjNCB9fSwKLSB7MTYsIDB4ZTk1MCwgMCwgezB4ZmYsMHgzMCwweDBmLDB4Y2QsMHgwYywweGY0LDB4MDMsMHhmMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NjAsIDAsIHsweDgwLDB4MTAsMHhlZSwweDAwLDB4OGYsMHhjMCwweDJlLDB4MDAsMHgwOCwweGZjLDB4MDIsMHgyZSwweDAwLDB4OGEsMHgzMCwweDI4IH19LAotIHsxNiwgMHhlOTcwLCAwLCB7MHg1MiwweDA4LDB4ZjYsMHg4MiwweDNjLDB4NjgsMHhiZCwweDkwLDB4MzIsMHgzNCwweDQ4LDB4OWMsMHgxMiwweDI2LDB4MDAsMHhjZiB9fSwKLSB7MTYsIDB4ZTk4MCwgMCwgezB4NDAsMHgyMywweGNjLDB4MGIsMHhmNiwweDAyLDB4M2QsMHgwMCwweGJmLDB4MTAsMHgyZiwweGNjLDB4ODgsMHhmNiwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGU5OTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwMCwweDkzLDB4MTAsMHgyYywweDA4IH19LAotIHsxNiwgMHhlOWEwLCAwLCB7MHgwOSwweDMxLDB4MDIsMHg0YywweDAwLDB4OWIsMHgyMCwweDY0LDB4NTgsMHgwMywweDMxLDB4NjIsMHg0YywweDgxLDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4ZTliMCwgMCwgezB4MjAsMHgwMCwweDQ4LDB4MTQsMHgwMiwweDQ0LDB4MDAsMHg5MywweDMwLDB4MjQsMHhjMCwweDBiLDB4MzMsMHgwMiwweDhkLDB4ODQgfX0sCi0gezE2LCAweGU5YzAsIDAsIHsweGIzLDB4MjAsMHg2YywweGMwLDB4MmEsMHgzNiwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHgxMCwweDliLDB4MDIsMHgyZSwweDQxLDB4MGIsMHhiMCwweDAyLDB4YTQsMHgwMCwweDlhLDB4MDAsMHg0YSB9fSwKLSB7MTYsIDB4ZTllMCwgMCwgezB4NjAsMHg4OCwweGIwLDB4NTIsMHg2YywweDAxLDB4YjksMHgwMCwweDI2LDB4MDAsMHgwOCwweDkxLDB4MjIsMHhlYywweDA4LDB4YmIgfX0sCi0gezE2LCAweGU5ZjAsIDAsIHsweDAwLDB4MjYsMHhjMCwweDBiLDB4YjAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDA1LDB4NmUsMHhjMSwweDBhLDB4YjAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhlYTAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhkYiwweDAxLDB4M2UsMHgzMCB9fSwKLSB7MTYsIDB4ZWExMCwgMCwgezB4MmQsMHgzMCwweDAzLDB4NDcsMHg2MCwweGQ4LDB4YTAsMHgxNiwweDM4LDB4OGYsMHhiMCwweDAzLDB4NmMsMHgwMCwweDc5LDB4MDIgfX0sCi0gezE2LCAweGVhMjAsIDAsIHsweDMxLDB4NjAsMHgwYywweGM4LDB4MGEsMHg2NiwweDAwLDB4YmIsMHgwMCwweGI2LDB4YzAsMHgwZiwweGIwLDB4MGIsMHhhYywweDAwIH19LAotIHsxNiwgMHhlYTMwLCAwLCB7MHhmYiwweDAxLDB4M2UsMHhjMSwweDBlLDB4YjAsMHgwMywweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE0MCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MTAsMHhlZiwweDA4LDB4M2YsMHgyNCwweDBjLDB4ZjAsMHgwMywweDc2LDB4MjAsMHhlZSwweDkwLDB4MzUgfX0sCi0gezE2LCAweGVhNTAsIDAsIHsweDQwLDB4MGUsMHg3MCwweDAzLDB4YWMsMHgwMCwweGZkLDB4MDAsMHhiYiwweDY0LDB4MGYsMHg4OCwweDEzLDB4MzQsMHg4MCwweGNiIH19LAotIHsxNiwgMHhlYTYwLCAwLCB7MHgwMCwweDNiLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg2YywweDA4LDB4ZmYsMHgwMCwweDNlLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4ZWE3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4ZmIsMHg4MCwweDMyLDB4MTAgfX0sCi0gezE2LCAweGVhODAsIDAsIHsweDBlLDB4YjAsMHgwMywweGVkLDB4MDAsMHhjYiwweDUwLDB4M2UsMHg0MCwweDhjLDB4YjAsMHg0MywweDJjLDB4MTAsMHhmOSwweDAwIH19LAotIHsxNiwgMHhlYTkwLCAwLCB7MHgzMiwweDYwLDB4MGMsMHg0MCwweDBiLDB4MjYsMHgwMCwweGMzLDB4MDQsMHgzNiwweGMwLDB4MGMsMHgzMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZWFhMCwgMCwgezB4OWIsMHgwMCwweGIwLDB4YzAsMHgwYywweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhYjAsIDAsIHsweGM4LDB4MDUsMHgwZSwweDgwLDB4YmYsMHgwNCwweDJhLDB4NDAsMHgwMCwweGY1LDB4MDAsMHhlNiwweDAwLDB4ODIsMHhkMiwweDIyIH19LAotIHsxNiwgMHhlYWMwLCAwLCB7MHg0MCwweDBkLDB4ZjAsMHgyMiwweDNjLDB4MDAsMHg5NSwweDAyLDB4MzYsMHg0MCwweDBhLDB4ODAsMHgwMiwweDJlLDB4MDAsMHg4ZiB9fSwKLSB7MTYsIDB4ZWFkMCwgMCwgezB4MDAsMHgzNywweGMwLDB4MGEsMHhmMCwweDQyLDB4M2MsMHgwMCwweDhmLDB4MDAsMHgyMywweGMwLDB4MjgsMHhmMCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGVhZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGUsMHgwMCwweGIzLDB4MDAsMHgyMiwweDIwIH19LAotIHsxNiwgMHhlYWYwLCAwLCB7MHg0YSwweDMwLDB4MDAsMHhjYywweDAwLDB4ODEsMHhjMCwweDI4LDB4MDAsMHgwOCwweDMwLDB4MDIsMHgwYywweDEwLDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4ZWIwMCwgMCwgezB4MjgsMHg4MCwweDE4LDB4MzAsMHgyMiwweDA0LDB4MDQsMHg4MywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweGNjLDB4MDggfX0sCi0gezE2LCAweGViMTAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDA2LDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjIwLCAwLCB7MHgyMCwweDAxLDB4MWUsMHgwMCwweGI3LDB4ODAsMHgyOSwweGEwLDB4MDgsMHg3OCwweDAyLDB4ZmUsMHgyMCwweDhkLDB4ODAsMHgyOSB9fSwKLSB7MTYsIDB4ZWIzMCwgMCwgezB4ZTUsMHg1YiwweDM4LDB4NDIsMHgxZSwweDQwLDB4YTEsMHg4MSwweDI1LDB4YTgsMHgwOCwweDc5LDB4MDIsMHgzNywweDAwLDB4ODcgfX0sCi0gezE2LCAweGViNDAsIDAsIHsweDgwLDB4MjUsMHhlMCwweDBhLDB4NzgsMHgwYSwweGRlLDB4ODEsMHg4NywweDgwLDB4MjUsMHhlNSwweDQ4LDB4NzgsMHgwMiwweGM4IH19LAotIHsxNiwgMHhlYjUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHhiMywweDEwLDB4MzAsMHgxMiB9fSwKLSB7MTYsIDB4ZWI2MCwgMCwgezB4MGUsMHgzMCwweDEyLDB4Y2MsMHhjMCwweGMzLDB4MDAsMHgzOCwweDgwLDB4MGMsMHgzMSwweDA2LDB4MGMsMHg0MCwweGYxLDB4MDAgfX0sCi0gezE2LCAweGViNzAsIDAsIHsweDM4LDB4ODAsMHgwYywweDMwLDB4NDMsMHgwNCwweDQyLDB4YzMsMHgwMCwweDM2LDB4YzAsMHgwYywweDMyLDB4MDMsMHhjZSwweGMwIH19LAotIHsxNiwgMHhlYjgwLCAwLCB7MHhkYiwweDAwLDB4MzAsMHhjMCwweDBjLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI5MCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZiwweDEwLDB4M2QsMHg4NCwweDRmLDB4ZjEsMHgwMywweGQwLDB4NDAsMHhmYywweDEwLDB4MzMgfX0sCi0gezE2LCAweGViYTAsIDAsIHsweDgwLDB4NWQsMHhiMSwweDgzLDB4ZmMsMHg1MCwweGRkLDB4MGEsMHgyNSwweDg5LDB4MGYsMHhiOCwweDAzLDB4ZDQsMHgwMCwweGZmIH19LAotIHsxNiwgMHhlYmIwLCAwLCB7MHgxMCwweDNmLDB4YzAsMHgwZiwweGY0LDB4MDMsMHgzYywweDQwLDB4ZmYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZWJjMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4ZmIsMHgyMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGViZDAsIDAsIHsweDBmLDB4YjUsMHgwMywweDI5LDB4MjAsMHhmOSwweDAwLDB4MzIsMHhhMCwweDBjLDB4YjAsMHg4MywweGVjLDB4MDAsMHg0OSwweGM4IH19LAotIHsxNiwgMHhlYmUwLCAwLCB7MHhiMiwweGMwLDB4OGMsMHhhMCwweDAzLDB4NjQsMHgwMCwweGZiLDB4MDgsMHgxMiwweGVhLDB4MGMsMHhiMCwweDBiLDB4MmMsMHg4MCB9fSwKLSB7MTYsIDB4ZWJmMCwgMCwgezB4ZmIsMHgyMCwweDJlLDB4ZDIsMHg2YywweGI2LDB4NDMsMHhlYSwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMDAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjcsMHg0OSwweDJkLDB4MDAsMHgwYiwweDMwLDB4ODIsMHgxMCwweDAxLDB4YjUsMHgwMiwweDgzIH19LAotIHsxNiwgMHhlYzEwLCAwLCB7MHhjMCwweDFhLDB4NzIsMHgyMiwweGRkLDB4NDEsMHg4NSwweDAwLDB4NjEsMHhjMCwweDE4LDB4MjAsMHgyMCwweDE0LDB4MDAsMHhiZiB9fSwKLSB7MTYsIDB4ZWMyMCwgMCwgezB4NDAsMHgzNSwweGQwLDB4MGQsMHgzNCwweDAyLDB4MWQsMHgyMCwweGI3LDB4MjgsMHgyNSwweGMxLDB4MDgsMHg3NCwweDgyLDB4ZDIgfX0sCi0gezE2LCAweGVjMzAsIDAsIHsweDA2LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwNCwweDM3LDB4YTAsMHgyZCwweDIwIH19LAotIHsxNiwgMHhlYzQwLCAwLCB7MHgwYiwweDdhLDB4MTIsMHgxNiwweDAxLDB4YjMsMHg4MCwweDIxLDB4ZTIsMHgwOCwweDc4LDB4NDIsMHg5ZSwweDAwLDB4ODUsMHg4MCB9fSwKLSB7MTYsIDB4ZWM1MCwgMCwgezB4MjAsMHhlMSwweDE4LDB4NjgsMHgwMiwweDU2LDB4MDAsMHhiNywweGEwLDB4MjUsMHhlMCwweDA4LDB4N2EsMHgwMiwweDFlLDB4MDAgfX0sCi0gezE2LCAweGVjNjAsIDAsIHsweGI3LDB4OTAsMHgyYywweGU1LDB4ODgsMHg3YSwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzcwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweGIzLDB4MDAsMHg2YywweDI0LDB4MWIsMHgzMCwweDAyLDB4MDAsMHgwMCwweGIwLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ZWM4MCwgMCwgezB4ZjgsMHgwYSwweDMwLDB4MDIsMHhjYywweDAwLDB4ODEsMHgwMCwweDIwLDB4ZDgsMHgxOCwweDIwLDB4MDIsMHgwNCwweDAwLDB4YjMgfX0sCi0gezE2LCAweGVjOTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAsMHhiMywweDAwLDB4MjYsMHhjMCwweDA4LDB4MzAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhlY2EwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDAsMHhmYSwweDAwLDB4M2QsMHg4MCB9fSwKLSB7MTYsIDB4ZWNiMCwgMCwgezB4MGYsMHgyMCwweDBiLDB4MjgsMHg4MCwweGZlLDB4MDAsMHgzMywweGEwLDB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMiwweGNhLDB4MDIgfX0sCi0gezE2LCAweGVjYzAsIDAsIHsweDMyLDB4OTAsMHgyYywweGU0LDB4MDMsMHg3OCwweDAwLDB4ZmEsMHgwMCwweDMyLDB4ODAsMHgwYywweGEwLDB4MDMsMHgyOCwweDAwIH19LAotIHsxNiwgMHhlY2QwLCAwLCB7MHhmYSwweDAwLDB4M2UsMHg4MCwweDBjLDB4YTAsMHgwMywweGZhLDB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNlMCwgMCwgezB4NDgsMHgwMCwweGUxLDB4MDAsMHhmMCwweDAwLDB4M2UsMHgwMCwweDRmLDB4ODAsMHgwMywweGUwLDB4ODAsMHhmOCwweDAwLDB4M2UgfX0sCi0gezE2LCAweGVjZjAsIDAsIHsweDAwLDB4MGYsMHg4MCwweDIzLDB4YzAsMHgwMCwweGY4LDB4MDIsMHgzYywweDAwLDB4MGYsMHhjMCwweDgzLDB4NjAsMHgwMCwweGI4IH19LAotIHsxNiwgMHhlZDAwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MjMsMHhlMCwweDE4LDB4ZjgsMHgwMSwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ZWQxMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNiwweDAwLDB4ZjksMHgyMSwweDMyLDB4NjAgfX0sCi0gezE2LCAweGVkMjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDJjLDB4NDQsMHhmOSwweDAwLDB4YjIsMHg0MCwweDBmLDB4OTAsMHgxYiwweDI0LDB4MDAsMHhlOSwweDAwIH19LAotIHsxNiwgMHhlZDMwLCAwLCB7MHgzZSwweDQwLDB4MGMsMHgxMCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHgxMCwweDMzLDB4MjQsMHgxMCB9fSwKLSB7MTYsIDB4ZWQ0MCwgMCwgezB4ZjEsMHgwMCwweDMyLDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4YjksMHg0MCwweGEyLDB4NDEsMHgwOCwweDkwLDB4MDIsMHgyNCwweDgwLDB4ZTksMHgwMCwweDIyIH19LAotIHsxNiwgMHhlZDYwLCAwLCB7MHg0MCwweDBiLDB4OTAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAwLDB4NmUsMHg0MSwweDE4LDB4OTAsMHg0MiwweDI0LDB4MDAsMHhiOSB9fSwKLSB7MTYsIDB4ZWQ3MCwgMCwgezB4MDQsMHgyYSwweDQxLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweGY5LDB4MDAsMHgyYSwweDQwLDB4MGEsMHg5MCwweDBhLDB4MjAgfX0sCi0gezE2LCAweGVkODAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDAxLDB4MjQsMHg4MCwweGI5LDB4NDIsMHg2MiwweDQ4IH19LAotIHsxNiwgMHhlZDkwLCAwLCB7MHgyOCwweDkwLDB4MGEsMHgyNCwweDAwLDB4YjEsMHgwMCwweDIyLDB4NDAsMHgwYiwweDEwLDB4MDIsMHgyNCwweDEwLDB4YjksMHgwMiB9fSwKLSB7MTYsIDB4ZWRhMCwgMCwgezB4MmUsMHg0MCwweDA4LDB4ZDAsMHgwMiwweGE0LDB4MDAsMHhiMSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDI0LDB4MDQgfX0sCi0gezE2LCAweGVkYjAsIDAsIHsweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGMwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMCwweGIxLDB4MjAsMHg2MCwweDQwLDB4MDgsMHgxMiwweDAyLDB4MDQsMHgwMCwweGExLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4ZWRkMCwgMCwgezB4NDAsMHgwYiwweDEyLDB4MDIsMHgwNCwweDgwLDB4OTEsMHgyMCwweDJkLDB4NjgsMHgwOCwweDUyLDB4MTIsMHgwNCwweDAwLDB4YjEgfX0sCi0gezE2LCAweGVkZTAsIDAsIHsweDI4LDB4MjgsMHg0YSwweDA5LDB4MTIsMHg4MiwweDQ0LDB4YTAsMHhiMSwweDJjLDB4MjgsMHg0YSwweDBhLDB4MTIsMHg4MiwweDAyIH19LAotIHsxNiwgMHhlZGYwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDAwLDB4MzIsMHgxNCB9fSwKLSB7MTYsIDB4ZWUwMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4MjAsMHgwMCwweGY4LDB4NTAsMHgzMiwweDE0LDB4MGYsMHg4NSwweDAzLDB4MDEsMHg0MCwweGY4LDB4MDAgfX0sCi0gezE2LCAweGVlMTAsIDAsIHsweDJlLDB4MDAsMHgyOCwweGMwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgyNCwweDMwLDB4MDgsMHgwZiwweDgyLDB4MjMsMHgyMCwweDgwIH19LAotIHsxNiwgMHhlZTIwLCAwLCB7MHhmOCwweDIwLDB4MzIsMHgwOCwweDBjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUzMCwgMCwgezB4OTgsMHgxZCwweGU0LDB4MDgsMHhmOSwweDEwLDB4M2YsMHg0MCwweDhmLDB4OTEsMHgxMywweGU0LDB4MDAsMHhlZCwweDEwLDB4M2YgfX0sCi0gezE2LCAweGVlNDAsIDAsIHsweDUwLDB4MGYsMHg5MSwweDAzLDB4ZTQsMHg0MCwweGE1LDB4MTAsMHgzZSwweDQ0LDB4MGYsMHg5MSwweDAzLDB4ZjQsMHgwNCwweGY5IH19LAotIHsxNiwgMHhlZTUwLCAwLCB7MHgyOCwweDNlLDB4NGIsMHgwYiwweDkyLDB4YTMsMHhlNCwweGEwLDB4ZTksMHgyOCwweDNlLDB4NGEsMHgwZiwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4ZWU2MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4Y2QsMHgwMCwweDMzLDB4NDAgfX0sCi0gezE2LCAweGVlNzAsIDAsIHsweDgwLDB4ZDAsMHgwMSwweGY0LDB4MDAsMHhhNSwweDAwLDB4MjYsMHg0MCwweDBmLDB4OTAsMHgwMywweDI2LDB4MDAsMHhmMSwweDg4IH19LAotIHsxNiwgMHhlZTgwLCAwLCB7MHgzZSwweDY4LDB4MGQsMHg5OCwweDgzLDB4NDQsMHgwMCwweGM5LDB4YzAsMHgzYSwweDQwLDB4MGMsMHg5OCwweDAzLDB4MjQsMHgwOCB9fSwKLSB7MTYsIDB4ZWU5MCwgMCwgezB4ZjksMHhhMCwweDMyLDB4NzgsMHgwZiwweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlYTAsIDAsIHsweDM4LDB4MTAsMHhlMCwweDAyLDB4ODgsMHgwMCwweGEyLDB4MDAsMHgwOCwweDgwLDB4MDIsMHhlMCwweDAwLDB4MGEsMHgwMCwweDIyIH19LAotIHsxNiwgMHhlZWIwLCAwLCB7MHgwMCwweDBiLDB4ODAsMHgwMiwweDIwLDB4MDAsMHhiOCwweDQwLDB4MmUsMHgxNCwweDA4LDB4ODAsMHg0MywweDMwLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4ZWVjMCwgMCwgezB4YTAsMHgyMiwweDJhLDB4MGEsMHg4YSwweDQyLDB4YTAsMHgwNSwweGI4LDB4NDIsMHgzMiwweDM4LDB4MGIsMHg4MCwweDAyLDB4MGUgfX0sCi0gezE2LCAweGVlZDAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHgwMywweDkxLDB4MDAsMHgyNCwweDQwIH19LAotIHsxNiwgMHhlZWUwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHhjNCwweDExLDB4YjEsMHgwNCwweDIwLDB4NDEsMHgxYiwweDEwLDB4MjIsMHg0NSwweDAwLDB4YjUsMHgwMCB9fSwKLSB7MTYsIDB4ZWVmMCwgMCwgezB4MjUsMHg0MCwweDA5LDB4NTAsMHgwMiwweDU0LDB4MDEsMHg4MSwweDQwLDB4MmMsMHg0MCwweDA5LDB4MTQsMHg5MiwweDQ0LDB4MDAgfX0sCi0gezE2LCAweGVmMDAsIDAsIHsweGIxLDB4NDAsMHgyNCwweDRjLDB4MGIsMHgxNCwweDBhLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweDk5LDB4MDAsMHgyNCwweDQyLDB4MGIsMHg5MCwweDAyLDB4ZTQsMHgwMSwweDk5LDB4MjAsMHgyNiB9fSwKLSB7MTYsIDB4ZWYyMCwgMCwgezB4NDAsMHhjYiwweDkwLDB4MDIsMHg2NCwweDAwLDB4YmIsMHgwMCwweDJmLDB4NDEsMHgwYSwweGQwLDB4MDIsMHgzNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGVmMzAsIDAsIHsweDAwLDB4MjYsMHg0MCwweDBiLDB4MTAsMHgwMiwweGU0LDB4MDAsMHgzMSwweDAwLDB4NjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhlZjQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGM0LDB4MDAsMHhkOSwweDAxLDB4MzYsMHg1MCB9fSwKLSB7MTYsIDB4ZWY1MCwgMCwgezB4MmYsMHg5MCwweDAzLDB4ZTYsMHg2MCwweGY5LDB4ODAsMHgzNiwweDUyLDB4MGIsMHg5MCwweDBhLDB4NjQsMHgwMCwweGY5LDB4MDAgfX0sCi0gezE2LCAweGVmNjAsIDAsIHsweDM2LDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAyLDB4MDksMHgwMCwweDNlLDB4NDAsMHgwZCwweDkwLDB4MDMsMHg2NCwweDAwIH19LAotIHsxNiwgMHhlZjcwLCAwLCB7MHhiOSwweDAwLDB4YjYsMHg0MCwweDBmLDB4OTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY4MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhlMSwweDAwLDB4M2EsMHg0MSwweDBjLDB4OTAsMHgyMywweGU2LDB4MjAsMHhlOSwweDAwLDB4YmEgfX0sCi0gezE2LCAweGVmOTAsIDAsIHsweDcwLDB4MGYsMHg5MCwweDAzLDB4YTQsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGQsMHgxMCwweDEzLDB4YTcsMHgwMCwweGY5IH19LAotIHsxNiwgMHhlZmEwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgwZSwweDkwLDB4NDMsMHhhNCwweDA4LDB4ZjksMHgwMCwweDNhLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9fSwKLSB7MTYsIDB4ZWZiMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDIwLDB4ZjgsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGVmYzAsIDAsIHsweDBmLDB4ODAsMHg4MywweDIxLDB4MDAsMHhmMCwweDAwLDB4M2EsMHgxMSwweDA5LDB4ODAsMHgwMywweGUwLDB4MDAsMHhjOCwweDAxIH19LAotIHsxNiwgMHhlZmQwLCAwLCB7MHgzMCwweDAxLDB4MGMsMHg4MCwweDAzLDB4YjAsMHgwMCwweGQwLDB4MDAsMHgzNCwweDAwLDB4MGQsMHg4MCwweDAzLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZlMCwgMCwgezB4YzgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmZjAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDAwLDB4YmUsMHgwMCwweDIyLDB4ODAsMHgwMywweGU4LDB4MDIsMHgxYSwweDA4LDB4YmUsMHg0OCwweDIyIH19LAotIHsxNiwgMHhmMDAwLCAwLCB7MHg4MCwweDBhLDB4YTAsMHgwMywweGI4LDB4MDAsMHhjYSwweDA4LDB4MjIsMHg4MCwweDBmLDB4YTQsMHgwMiwweDA4LDB4MDAsMHg4YSB9fSwKLSB7MTYsIDB4ZjAxMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4OGQsMHhhMCwweDAyLDB4MjgsMHgwMCwweGRhLDB4MDAsMHgyYSwweDgxLDB4MDgsMHhhMCwweDAyLDB4OGEgfX0sCi0gezE2LCAweGYwMjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDQsMHgwMCwweGIzLDB4MDAsMHgyMCwweDQwIH19LAotIHsxNiwgMHhmMDMwLCAwLCB7MHgwYiwweDMwLDB4MDIsMHgwOCwweDAwLDB4YjAsMHg2NCwweDY4LDB4YzEsMHgwOCwweGIwLDB4MjIsMHhjYywweDBjLDB4OTMsMHg4MCB9fSwKLSB7MTYsIDB4ZjA0MCwgMCwgezB4MDAsMHhjMCwweDQ4LDB4MzYsMHgwMiwweDg4LDB4MDAsMHhiMywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwNiwweDBjLDB4MDEgfX0sCi0gezE2LCAweGYwNTAsIDAsIHsweGEzLDB4MDIsMHgyYywweGMwLDB4MDgsMHhiMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDYwLCAwLCB7MHhhMCwweDAxLDB4MTQsMHgwOCwweGI1LDB4MDAsMHgyMSwweDQwLDB4MGIsMHgzOCwweDgyLDB4MWMsMHgyMSwweGI3LDB4MDAsMHgyMyB9fSwKLSB7MTYsIDB4ZjA3MCwgMCwgezB4ZTgsMHg0YSwweDcyLDB4MjYsMHg5ZSwweDQwLDB4OGYsMHg4MSwweGFiLDB4NDAsMHg0MiwweDcwLDB4NTIsMHgzOCwweDAwLDB4YTMgfX0sCi0gezE2LCAweGYwODAsIDAsIHsweDIyLDB4MjAsMHhjNCwweDQ5LDB4MzEsMHgwMiwweDFlLDB4MGEsMHhiNywweDIyLDB4MmQsMHhlOCwweDA4LDB4NzIsMHgwMiwweGE4IH19LAotIHsxNiwgMHhmMDkwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDEyLDB4MDAsMHhmNiwweDgwLDB4MjEsMHhlMCB9fSwKLSB7MTYsIDB4ZjBhMCwgMCwgezB4MGIsMHg3OCwweDBiLDB4MWUsMHgwMCwweGI0LDB4ODIsMHgzYiwweGU4LDB4NGMsMHg3YywweDEzLDB4ZmUsMHgwMiwweDk3LDB4ODAgfX0sCi0gezE2LCAweGYwYjAsIDAsIHsweDMzLDB4YTAsMHgwOCwweDM4LDB4MDMsMHg5YSwweDAwLDB4ZjcsMHg4OCwweDM1LDB4ZTIsMHgwYywweDc4LDB4ZTMsMHgwZSwweDAwIH19LAotIHsxNiwgMHhmMGMwLCAwLCB7MHhlMywweGU4LDB4MzQsMHhmOCwweDBjLDB4M2MsMHgyMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBkMCwgMCwgezB4MDgsMHgxZCwweGE4LDB4MDQsMHhmMSwweDAwLDB4M2UsMHg0MiwweDBmLDB4YjAsMHgxMywweGVjLDB4MDAsMHhmYiwweDAwLDB4YmUgfX0sCi0gezE2LCAweGYwZTAsIDAsIHsweGNjLDB4MWUsMHhiNiwweDA3LDB4ZWQsMHg4MCwweGZiLDB4MDAsMHgzNiwweDAwLDB4MGYsMHhiMCwweDQzLDB4NjgsMHgwMCwweGNiIH19LAotIHsxNiwgMHhmMGYwLCAwLCB7MHgzMCwweDNlLDB4ZDgsMHgwZiwweGI2LDB4MGIsMHhlZCwweDQwLDB4Y2IsMHgwMCwweDNhLDB4YzAsMHgyZiwweGI2LDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZjEwMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmMiwweDQwLDB4ZmIsMHg5MSwweDNkLDB4NGMgfX0sCi0gezE2LCAweGYxMTAsIDAsIHsweDgwLDB4ZjgsMHgwMywweGRlLDB4NDAsMHhjNiwweDgwLDB4MWIsMHhmMCwweDRmLDB4ZmQsMHgwNywweGZmLDB4MDAsMHhjZCwweDgwIH19LAotIHsxNiwgMHhmMTIwLCAwLCB7MHgzMywweGUwLDB4MGMsMHg2OCwweDAzLDB4YmEsMHgwMCwweGZmLDB4ODAsMHgzMywweGUwLDB4MDcsMHhmOCwweDAzLDB4M2YsMHgxMCB9fSwKLSB7MTYsIDB4ZjEzMCwgMCwgezB4Y2YsMHg4MCwweDNmLDB4ZTAsMHgwYywweGZjLDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNDAsIDAsIHsweGE4LDB4MTEsMHg5MCwweDAwLDB4YjUsMHhjMCwweDJkLDB4NDAsMHgwOCwweDYyLDB4MDIsMHhkYywweDIwLDB4ZDYsMHgwMiwweDIxIH19LAotIHsxNiwgMHhmMTUwLCAwLCB7MHhjOCwweDhmLDB4NzAsMHgwMiwweGRjLDB4ODEsMHhiNSwweDAwLDB4ODEsMHg0NCwweDBkLDB4NjEsMHgyMiwweDE4LDB4MDQsMHhiNyB9fSwKLSB7MTYsIDB4ZjE2MCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MGIsMHg3MCwweDAyLDB4YmMsMHgwMCwweGE3LDB4MDEsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAzLDB4ZWEgfX0sCi0gezE2LCAweGYxNzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTAsMHgwMSwweGI2LDB4MDEsMHgyZiwweGMwIH19LAotIHsxNiwgMHhmMTgwLCAwLCB7MHgxOCwweDcwLDB4MDIsMHhkYywweDBhLDB4OTYsMHgxMCwweDI5LDB4YzEsMHg0YiwweDcwLDB4MDYsMHhkYywweDEwLDB4ODUsMHgwMCB9fSwKLSB7MTYsIDB4ZjE5MCwgMCwgezB4MjUsMHg4MCwweDA4LDB4NjAsMHg4MiwweDFhLDB4MjAsMHhhMywweDAwLDB4MjUsMHhjMCwweDBiLDB4MzEsMHgwMiwweDVjLDB4NDAgfX0sCi0gezE2LCAweGYxYTAsIDAsIHsweDg3LDB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWIwLCAwLCB7MHgyMCwweDE0LDB4YzgsMHgwMCwweGIxLDB4MDAsMHgyYywweDQwLDB4ODgsMHgyMCwweDAyLDB4ZWQsMHgwMCwweDhhLDB4NjAsMHgyMCB9fSwKLSB7MTYsIDB4ZjFjMCwgMCwgezB4YzAsMHgwYSwweDMwLDB4MDIsMHhjYywweDA0LDB4YjEsMHgwMCwweDI0LDB4MDAsMHgyOCwweDI0LDB4MDIsMHgwYSwweDAwLDB4MzMgfX0sCi0gezE2LCAweGYxZDAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDBiLDB4YjAsMHgwMiwweGNjLDB4MDAsMHhhMywweDAwLDB4MmMsMHhjMCwweDg4LDB4MzAsMHgwMiwweDg4IH19LAotIHsxNiwgMHhmMWUwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEwLDB4MDAsMHhmYiwweDAwLDB4M2UsMHhjNiB9fSwKLSB7MTYsIDB4ZjFmMCwgMCwgezB4MGMsMHg4MCwweDAzLDB4ZTUsMHgwMCwweDA5LDB4YzgsMHhhYiwweGUyLDB4MGIsMHhmMCwweDAyLDB4ZmMsMHgwMCwweDRhLDB4MDAgfX0sCi0gezE2LCAweGYyMDAsIDAsIHsweDM2LDB4YzAsMHgwOCwweDkwLDB4MDMsMHhhNiwweDAwLDB4ZmYsMHgwMCwweDMzLDB4YzAsMHgwZiwweGYwLDB4MDMsMHg3YywweDAwIH19LAotIHsxNiwgMHhmMjEwLCAwLCB7MHg4ZiwweDAwLDB4MmYsMHhjMCwweDI4LDB4ZjAsMHgwMiwweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIyMCwgMCwgezB4ODAsMHgwMCwweGUxLDB4MDAsMHhmYSwweDAxLDB4M2UsMHhjMCwweDBmLDB4ODAsMHgwMywweGVjLDB4MDAsMHhmOSwweDQwLDB4M2UgfX0sCi0gezE2LCAweGYyMzAsIDAsIHsweGMwLDB4MDcsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGZhLDB4MDAsMHgzYSwweDQwLDB4MGYsMHg5MCwweDIzLDB4ZTUsMHgwMCwweGZiIH19LAotIHsxNiwgMHhmMjQwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDNjLDB4YzAsMHgwZiwweGIwLDB4MjMsMHhlMCB9fSwKLSB7MTYsIDB4ZjI1MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4ZmMsMHgyMCwweDNmLDB4YzAgfX0sCi0gezE2LCAweGYyNjAsIDAsIHsweDBjLDB4YzgsMHgwMywweGZjLDB4MjAsMHhjZCwweDgxLDB4YjMsMHhjMiwweDRmLDB4ZjAsMHgwMywweGZjLDB4MDAsMHhjYSwweDAwIH19LAotIHsxNiwgMHhmMjcwLCAwLCB7MHgzYywweDgwLDB4MGMsMHhkMCwweDgyLDB4MzYsMHgwMSwweGZmLDB4MDAsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAzLDB4M2MsMHgwOCB9fSwKLSB7MTYsIDB4ZjI4MCwgMCwgezB4Y2YsMHgwNCwweDNhLDB4YzAsMHg1YywweGIwLDB4MDMsMHhjMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyOTAsIDAsIHsweDgxLDB4MDQsMHg2MiwweDA0LDB4YjgsMHg0MCwweDJjLDB4NjAsMHgwOCwweDg5LDB4MDIsMHhlZSwweDgwLDB4YTksMHg2MCwweDJhIH19LAotIHsxNiwgMHhmMmEwLCAwLCB7MHhjMCwweDBiLDB4YjAsMHgwMywweDhjLDB4MDAsMHhhYSwweDQwLDB4MmUsMHgwMCwweDA4LDB4MTAsMHgwMiwweDI2LDB4ODEsMHhlYiB9fSwKLSB7MTYsIDB4ZjJiMCwgMCwgezB4MDAsMHgyNiwweGMwLDB4OGIsMHhiMCwweDEzLDB4NmMsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4M2QsMHhiMCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweGYyYzAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MjMsMHgwMCwweGJiLDB4MDMsMHgyZSwweGM4IH19LAotIHsxNiwgMHhmMmQwLCAwLCB7MHgwOSwweGIwLDB4MDIsMHhlZSwweDAwLDB4OGIsMHgxMCwweDI2LDB4YzAsMHgwYiwweGIwLDB4MDIsMHhlYywweDAwLDB4YTgsMHgwMCB9fSwKLSB7MTYsIDB4ZjJlMCwgMCwgezB4MmUsMHhjMCwweDA4LDB4ODgsMHgyMiwweGE0LDB4ODAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDRiLDB4YjAsMHgyMiwweDBjLDB4MDAgfX0sCi0gezE2LCAweGYyZjAsIDAsIHsweDhiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzAwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweGIyLDB4MDAsMHgyZSwweGMwLDB4MjksMHgyOCwweDAyLDB4ZWMsMHgwMSwweGEwLDB4MDIsMHgyMCB9fSwKLSB7MTYsIDB4ZjMxMCwgMCwgezB4YzAsMHgwOSwweDMwLDB4MDIsMHhjYywweDAwLDB4YTAsMHgwMCwweDJjLDB4NDAsMHgwOCwweDAwLDB4NDIsMHg4NCwweDAwLDB4OTMgfX0sCi0gezE2LCAweGYzMjAsIDAsIHsweDAwLDB4NmMsMHhjMCwweDBiLDB4MzAsMHgwNiwweDRkLDB4MDAsMHg5MywweDAwLDB4MmMsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhmMzMwLCAwLCB7MHgxMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhmOCwweDIwLDB4MmYsMHhjMCB9fSwKLSB7MTYsIDB4ZjM0MCwgMCwgezB4MGQsMHhiMCwweDAzLDB4ZWMsMHgwMCwweGNiLDB4MDAsMHgzMywweGMwLDB4MGIsMHhmMCwweDAzLDB4ZmMsMHgxOCwweGU4LDB4MDAgfX0sCi0gezE2LCAweGYzNTAsIDAsIHsweDJlLDB4ODAsMHgwOCwweDgwLDB4MDMsMHhhNCwweDAwLDB4YmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHgzZCwweDExIH19LAotIHsxNiwgMHhmMzYwLCAwLCB7MHhjZiwweDAzLDB4M2UsMHhjMSwweDVkLDB4ZjAsMHgyMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM3MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDEwLDB4M2YsMHg0MCwweDBlLDB4ZTAsMHgwMywweGZjLDB4MDAsMHhmYywweDAwLDB4M2YgfX0sCi0gezE2LCAweGYzODAsIDAsIHsweGMwLDB4MGYsMHhmMCwweDAzLDB4YmMsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4MmYsMHhjMCwweDAzLDB4NzQsMHgwMCwweGVmIH19LAotIHsxNiwgMHhmMzkwLCAwLCB7MHgwMCwweDI3LDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDE4LDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZjNhMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MTUsMHhmYywweDg4LDB4OWMsMHgyOSwweDNmLDB4MDggfX0sCi0gezE2LCAweGYzYjAsIDAsIHsweDBmLDB4ZDIsMHg4MywweGVjLDB4MDAsMHhmZiwweDA4LDB4M2YsMHgyOCwweDBmLDB4Y2EsMHgwMywweDNjLDB4NDEsMHhjZiwweDIwIH19LAotIHsxNiwgMHhmM2MwLCAwLCB7MHg3MywweDJjLDB4MGMsMHhjMCwweDAzLDB4MzAsMHgyMCwweGNmLDB4NjAsMHgzMywweGQ4LDB4MGYsMHg3OCwweDAzLDB4M2YsMHg4MCB9fSwKLSB7MTYsIDB4ZjNkMCwgMCwgezB4ZGQsMHg5MiwweDMzLDB4YzgsMHgwZiwweDUwLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzZTAsIDAsIHsweDgwLDB4MTAsMHhlNSwweDQwLDB4ODgsMHg0MCwweDJlLDB4MDQsMHg4YiwweDk0LDB4MDIsMHhlNCwweDAwLDB4YjksMHgwMCwweDBlIH19LAotIHsxNiwgMHhmM2YwLCAwLCB7MHg3ZiwweDhmLDB4OWUsMHg4MywweDY1LDB4ODIsMHhjZiwweDY4LDB4M2UsMHg1MCwweDhkLDB4MDQsMHg5MiwweDJmLDB4MDQsMHhkMyB9fSwKLSB7MTYsIDB4ZjQwMCwgMCwgezB4NDAsMHg3NCwweGRjLDB4MGQsMHhhMiwweDAyLDB4MjAsMHg0MCwweDg5LDB4MDAsMHgyMiwweGYwLDB4MGIsMHg5OCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGY0MTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzgsMHgwOSwweGEwLDB4ODUsMHgyYywweDAxIH19LAotIHsxNiwgMHhmNDIwLCAwLCB7MHgwYiwweDAwLDB4MTAsMHhjYywweDQwLDB4YTIsMHgwOCwweDJjLDB4MDAsMHhkYiwweDExLDB4MDIsMHg4OSwweDAwLDB4OTMsMHgzMCB9fSwKLSB7MTYsIDB4ZjQzMCwgMCwgezB4MjAsMHgwNSwweDA4LDB4MTMsMHgwMiwweDgwLDB4MDgsMHhhMywweDYwLDB4NjAsMHhjMCwweDBhLDB4YjAsMHg4MiwweDA4LDB4ODQgfX0sCi0gezE2LCAweGY0NDAsIDAsIHsweDgxLDB4MjAsMHgyMCwweGQwLDB4MGIsMHgxMCwweDAyLDB4YTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDUwLCAwLCB7MHhjMCwweDE1LDB4YTQsMHgxMiwweDg4LDB4ODAsMHg2ZSwweDIwLDB4MGIsMHg4OCwweDgyLDB4ZWUsMHgwMCwweGJhLDB4ODEsMHgyZSB9fSwKLSB7MTYsIDB4ZjQ2MCwgMCwgezB4NjAsMHg1YSwweDk4LDB4MDIsMHhhMiwweDAwLDB4OGIsMHgwMCwweDJhLDB4NjAsMHgwOCwweDExLDB4MWEsMHgyYywweDAwLDB4YmIgfX0sCi0gezE2LCAweGY0NzAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjgsMHgwYSwweDI4LDB4MDAsMHg4MSwweDIwLDB4MDIsMHhjMCwweDBiLDB4OTAsMHgwMiwweGIwIH19LAotIHsxNiwgMHhmNDgwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgwNSwweGVkLDB4MDAsMHhkOSwweDgwLDB4M2UsMHgyMCB9fSwKLSB7MTYsIDB4ZjQ5MCwgMCwgezB4NGYsMHg5OCwweDAwLDB4ZWIsMHgyMCwweGZiLDB4ZTAsMHgyZSwweDYwLDB4MGIsMHg4YywweDYyLDB4YWUsMHgyMCwweDhiLDB4MDAgfX0sCi0gezE2LCAweGY0YTAsIDAsIHsweDIyLDB4NjAsMHgwOCwweGJjLDB4MDMsMHhhMCwweDIwLDB4ZWIsMHgwMCwweDIyLDB4YzEsMHgwYSwweDE4LDB4MGIsMHgyNSwweDAwIH19LAotIHsxNiwgMHhmNGIwLCAwLCB7MHhkOSwweDAwLDB4YjIsMHhjMCwweDBmLDB4OTAsMHgwYiwweDkwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRjMCwgMCwgezB4ZTAsMHgwMSwweDk0LDB4ODgsMHhmZiwweDAwLDB4M2YsMHgwMSwweDBmLDB4ZDAsMHgwMSwweGYwLDB4MDgsMHhkZCwweDAxLDB4M2YgfX0sCi0gezE2LCAweGY0ZDAsIDAsIHsweDQyLDB4MDcsMHg0MCwweDAzLDB4NWMsMHgwMCwweGFmLDB4MDAsMHgzZiwweDQwLDB4MGYsMHhmOCwweDAwLDB4ZjAsMHgwMCwweGRmIH19LAotIHsxNiwgMHhmNGUwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZiwweGMwLDB4MjMsMHhmNCwweDUwLDB4ZmQsMHg4MCwweDNmLDB4YzAsMHgwZiwweGQwLDB4MDMsMHg3OCB9fSwKLSB7MTYsIDB4ZjRmMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhhYywweDAwLDB4ZDksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGY1MDAsIDAsIHsweDBmLDB4OTQsMHgwMywweGE4LDB4MjAsMHhjYSwweDQwLDB4M2EsMHg0MCwweDBmLDB4OTQsMHgwMywweGVhLDB4MDgsMHhmYiwweDAwIH19LAotIHsxNiwgMHhmNTEwLCAwLCB7MHgzYSwweDAwLDB4NGMsMHhmNiwweDIzLDB4MmMsMHgzMCwweGNiLDB4MDAsMHgzNiwweGMwLDB4MGQsMHg5MCwweDAzLDB4YTEsMHgwMiB9fSwKLSB7MTYsIDB4ZjUyMCwgMCwgezB4ZDksMHgwMCwweGJhLDB4YzAsMHgwZiwweDk4LDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MzAsIDAsIHsweGM4LDB4MDUsMHgyNCwweDAwLDB4OGEsMHgwMCwweDJlLDB4NDAsMHgwYiwweDk1LDB4MDIsMHhlMCwweDA4LDB4ODgsMHg4MCwweDIyIH19LAotIHsxNiwgMHhmNTQwLCAwLCB7MHg3MCwweDhmLDB4OGMsMHgwMiwweGUwLDB4MDAsMHhiZiwweDAyLDB4MjAsMHgwMCwweDA4LDB4YjgsMHgwMiwweDBlLDB4MDAsMHhkZiB9fSwKLSB7MTYsIDB4ZjU1MCwgMCwgezB4MDAsMHgyMywweGRkLDB4MDgsMHg5OCwweDgyLDB4MmEsMHgwMCwweDg5LDB4ODAsMHgyMywweGMwLDB4MGIsMHg1MCwweDFhLDB4MzIgfX0sCi0gezE2LCAweGY1NjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDQsMHgwMCwweDgzLDB4MDUsMHgyNCwweDQxIH19LAotIHsxNiwgMHhmNTcwLCAwLCB7MHgwOSwweDEwLDB4MDIsMHhjZSwweDAwLDB4ODMsMHg5MCwweDJjLDB4ODAsMHgxYiwweDI0LDB4ODIsMHhjYywweDAwLDB4YmIsMHgwMCB9fSwKLSB7MTYsIDB4ZjU4MCwgMCwgezB4MmMsMHg4MCwweDA4LDB4MDQsMHgwOCwweDA0LDB4MDEsMHg4YiwweDAwLDB4MjIsMHhjMCwweDI4LDB4MTIsMHgwMiwweDZjLDB4ODAgfX0sCi0gezE2LCAweGY1OTAsIDAsIHsweDgxLDB4NDgsMHgyNCwweGM0LDB4MGIsMHgxMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWEwLCAwLCB7MHgyMCwweDAxLDB4M2UsMHg0MiwweDg2LDB4ODAsMHgyZCwweDYwLDB4MGIsMHg2OCwweDAyLDB4ZjYsMHg5MCwweDhkLDB4ODAsMHgyMSB9fSwKLSB7MTYsIDB4ZjViMCwgMCwgezB4MjIsMHgwYiwweDU4LDB4MDIsMHhkNywweDQwLDB4YjcsMHg5MCwweDIxLDB4ZTAsMHgwOCwweDQ5LDB4OTIsMHgxZSwweDUzLDB4OTcgfX0sCi0gezE2LCAweGY1YzAsIDAsIHsweDgxLDB4MjEsMHhlMCwweDQ4LDB4YzgsMHgwYSwweDUyLDB4MjIsMHg4NSwweDg4LDB4MjUsMHhlMCwweDBiLDB4NTgsMHgwMiwweDA4IH19LAotIHsxNiwgMHhmNWQwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MywweDAwLDB4MzQsMHhjMCB9fSwKLSB7MTYsIDB4ZjVlMCwgMCwgezB4MGYsMHgwMCwweDAzLDB4Y2UsMHgyMCwweGMzLDB4MzAsMHg3YywweDk0LDB4MGIsMHgzNCwweDgzLDB4Y2MsMHgxNCwweGYzLDB4MDIgfX0sCi0gezE2LCAweGY1ZjAsIDAsIHsweDNjLDB4ODAsMHgwYywweDA0LDB4MDMsMHgwNCwweDYwLDB4YzMsMHgwMCwweGIwLDB4YzAsMHgwYywweDEwLDB4MDMsMHhlYywweDAwIH19LAotIHsxNiwgMHhmNjAwLCAwLCB7MHhjOSwweDAwLDB4M2MsMHhjNCwweDBmLDB4MTEsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYxMCwgMCwgezB4NDAsMHgxZCwweDljLDB4MDAsMHhlZSwweDAxLDB4M2YsMHhjMCwweDRmLDB4ZTEsMHgwMywweGQ0LDB4NDAsMHhmNSwweDE2LDB4N2EgfX0sCi0gezE2LCAweGY2MjAsIDAsIHsweGMwLDB4NGUsMHhmMCwweDAzLDB4ZjQsMHgxMCwweDM3LDB4MDUsMHgzZCwweGMwLDB4MGYsMHhjMCwweDBiLDB4ZGMsMHg0MCwweGZmIH19LAotIHsxNiwgMHhmNjMwLCAwLCB7MHgwMCwweDNiLDB4YzIsMHgwZSwweGQwLDB4MDcsMHhiYywweDAyLDB4ZWYsMHgwMCwweDNiLDB4YzYsMHgwZiwweGQwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ZjY0MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmNCwweDAwLDB4ZGQsMHg4NCwweDMzLDB4ODAgfX0sCi0gezE2LCAweGY2NTAsIDAsIHsweDA0LDB4ZjAsMHgwMywweDZjLDB4MDIsMHhjYiwweDAyLDB4N2UsMHhjMCwweDFmLDB4YTAsMHg1MywweGVjLDB4MDAsMHhjYiwweDIwIH19LAotIHsxNiwgMHhmNjYwLCAwLCB7MHgzNCwweDQwLDB4MGMsMHhkMCwweDBiLDB4MjAsMHgxMCwweGViLDB4MDAsMHgxZSwweGUwLDB4MGYsMHgzMCwweDBiLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZjY3MCwgMCwgezB4YzEsMHgwMCwweDMyLDB4YzAsMHgwZiwweDkxLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ODAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4ODcsMHgwMCwweDIxLDB4ODAsMHgwOCwweDYwLDB4MDAsMHgxNCwweDAwLDB4ODUsMHgwMCwweDJkIH19LAotIHsxNiwgMHhmNjkwLCAwLCB7MHg4MCwweDBiLDB4NzAsMHg1MiwweGQ0LDB4MDQsMHg4MywweDI4LDB4MjksMHhjMCwweDI4LDB4NTAsMHgwMywweDUwLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4ZjZhMCwgMCwgezB4NDAsMHgyNSwweGM4LDB4MGYsMHg2MCwweDAyLDB4MDQsMHgwMCwweGE3LDB4MDAsMHgzZCwweGM4LDB4MGIsMHg1MiwweDAyLDB4ZDIgfX0sCi0gezE2LCAweGY2YjAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OGUsMHgwMCwweDk1LDB4ODAsMHgyMSwweGUwIH19LAotIHsxNiwgMHhmNmMwLCAwLCB7MHgwOSwweDM4LDB4MDIsMHgxZSwweDExLDB4YTcsMHg4MCwweDJkLDB4ZjAsMHgwYiwweDc4LDB4NTIsMHhjZSwweDBhLDB4OTcsMHg5NSB9fSwKLSB7MTYsIDB4ZjZkMCwgMCwgezB4MjEsMHhlMCwweDE5LDB4NWMsMHgwMiwweDBlLDB4MDAsMHhhNywweDgwLDB4MjksMHhjOCwweDBiLDB4ZjgsMHgwMiwweDFlLDB4MjAgfX0sCi0gezE2LCAweGY2ZTAsIDAsIHsweDhkLDB4ODAsMHgyMSwweGUwLDB4MGIsMHg1OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmYwLCAwLCB7MHg0OCwweDE0LDB4Y2MsMHgwMCwweDgyLDB4ZTAsMHhhMCwweGU4LDB4MjksMHgzMCwweDA2LDB4MGUsMHg1MCwweGFiLDB4ODAsMHgyYyB9fSwKLSB7MTYsIDB4ZjcwMCwgMCwgezB4ZjAsMHgwYiwweDMxLDB4NDIsMHhjYywweDAwLDB4OTMsMHgwMCwweDI4LDB4YzQsMHgwOSwweDk4LDB4MDIsMHg0YywweDI4LDB4ODMgfX0sCi0gezE2LCAweGY3MTAsIDAsIHsweDAwLDB4MjQsMHhjMCwweDBhLDB4YjAsMHgwMiwweDBkLDB4MDAsMHhhMiwweDU4LDB4MjgsMHhjMCwweDBiLDB4MTAsMHgwMiwweGQyIH19LAotIHsxNiwgMHhmNzIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4MDAsMHhkZSwweDgwLDB4MzEsMHhhMCB9fSwKLSB7MTYsIDB4ZjczMCwgMCwgezB4MDksMHhlMiwweDBiLDB4NzgsMHgwNCwweGVlLDB4YTQsMHgyZiwweGE0LDB4OGIsMHhlYywweDAyLDB4ZDgsMHgwMCwweGRhLDB4MDAgfX0sCi0gezE2LCAweGY3NDAsIDAsIHsweDI3LDB4ODEsMHgwZCwweGVjLDB4MDYsMHgxYiwweDAwLDB4ZWEsMHgwNCwweDNlLDB4ODAsMHgwYiwweGUwLDB4MDMsMHgzYiwweDAwIH19LAotIHsxNiwgMHhmNzUwLCAwLCB7MHhjZSwweGMwLDB4MjIsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc2MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4ODAsMHhmOCwweDEwLDB4M2UsMHgwNSwweDBlLDB4ODgsMHgwMywweGUwLDB4MDgsMHg5OCwweDQwLDB4M2UgfX0sCi0gezE2LCAweGY3NzAsIDAsIHsweDAwLDB4MGYsMHg4NCwweDgzLDB4ZTEsMHg0MCwweGU4LDB4MDAsMHgzYSwweDAyLDB4MGUsMHg4MCwweDQzLDB4ZTEsMHg0MCwweGY4IH19LAotIHsxNiwgMHhmNzgwLCAwLCB7MHgwMCwweDM2LDB4MDAsMHgwZiwweDgwLDB4MDMsMHhlMCwweDIwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4Zjc5MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhjNCwweDAwLDB4ZTksMHgwMCwweDNlLDB4NDAgfX0sCi0gezE2LCAweGY3YTAsIDAsIHsweDBjLDB4OTAsMHgwMywweDA0LDB4MjAsMHhlOSwweDkwLDB4MzIsMHg2OCwweDBlLDB4OTgsMHgwMywweGE0LDB4MDAsMHhjMSwweDAwIH19LAotIHsxNiwgMHhmN2IwLCAwLCB7MHgzMCwweDQwLDB4MGMsMHg5NCwweDgzLDB4MjQsMHgwOCwweGM5LDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4YTQsMHgwMCB9fSwKLSB7MTYsIDB4ZjdjMCwgMCwgezB4YzksMHgwMCwweDMwLDB4NTAsMHgwYywweDFhLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ZDAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg0MCwweDJlLDB4NTAsMHgyOCwweDkwLDB4MGEsMHgyNCwweDA4LDB4ODksMHgwNiwweDE2IH19LAotIHsxNiwgMHhmN2UwLCAwLCB7MHg2MSwweDBiLDB4OWMsMHgwMiwweGU0LDB4MjAsMHhhOSwweDAwLDB4MzYsMHg0MCwweDBkLDB4OTAsMHgwMiwweDI3LDB4NjAsMHhhOSB9fSwKLSB7MTYsIDB4ZjdmMCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MjgsMHg5MCwweDFhLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgzNiwweDQwLDB4MjgsMHg5OCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGY4MDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MmMsMHgwMCwweGE5LDB4MDgsMHgyZSwweGMyIH19LAotIHsxNiwgMHhmODEwLCAwLCB7MHgwOSwweDEwLDB4MDAsMHgyNCwweDAwLDB4YTksMHgwMCwweDA2LDB4NDAsMHg4OSwweDk2LDB4MDYsMHhlNiwweDAwLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4ZjgyMCwgMCwgezB4MjIsMHhjMCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDIsMHg4OSwweDAwLDB4MjQsMHg0MCwweDA4LDB4OTAsMHgwMiwweDBjLDB4MDYgfX0sCi0gezE2LCAweGY4MzAsIDAsIHsweDgzLDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODQwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweDgxLDB4NDQsMHgyYywweDUwLDB4MDgsMHgxNCwweDAyLDB4MDUsMHg4MCwweDgxLDB4MjAsMHg2NCB9fSwKLSB7MTYsIDB4Zjg1MCwgMCwgezB4NzAsMHgxYiwweDE0LDB4MDIsMHhlNCwweDgwLDB4YTEsMHgyMCwweDY0LDB4NDAsMHgxOSwweDEyLDB4MGEsMHgwNCwweDgwLDB4YTEgfX0sCi0gezE2LCAweGY4NjAsIDAsIHsweDAwLDB4MmMsMHg1MCwweDE4LDB4MTQsMHgwMiwweDg1LDB4MDAsMHg4MSwweDQwLDB4MjQsMHg0MCwweDQwLDB4MTAsMHgwMiwweDAyIH19LAotIHsxNiwgMHhmODcwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhlMCwweDAwLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4Zjg4MCwgMCwgezB4MGQsMHg4MCwweDAyLDB4MDAsMHgwMCwweGFhLDB4NTAsMHgzNiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTEsMHg0MCwweGM4LDB4NTIgfX0sCi0gezE2LCAweGY4OTAsIDAsIHsweDcyLDB4MTQsMHgwYywweDA1LDB4MTYsMHgyMCwweDA4LDB4YzgsMHg1MCwweDNlLDB4MDEsMHgwYywweDgwLDB4MDMsMHhhMCwweDA0IH19LAotIHsxNiwgMHhmOGEwLCAwLCB7MHhjOCwweDAwLDB4YjIsMHgwMCwweDBjLDB4ODAsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhiMCwgMCwgezB4OTgsMHgxOSwweGY1LDB4MDIsMHhmZCwweDQwLDB4M2YsMHhkMCwweDBmLDB4ZDQsMHgyMywweGY0LDB4NDQsMHhmZCwweDE0LDB4N2YgfX0sCi0gezE2LCAweGY4YzAsIDAsIHsweDUwLDB4MGYsMHhkNCwweDA3LDB4ZjQsMHg0MCwweGY5LDB4MTAsMHgzZiwweDUwLDB4MDcsMHhkMSwweDIzLDB4ZjQsMHg0MCwweGY5IH19LAotIHsxNiwgMHhmOGQwLCAwLCB7MHg0MCwweDFlLDB4NTAsMHgwNywweGQwLDB4MGIsMHg3NSwweDAwLDB4ZmQsMHgwMiwweDNlLDB4NTAsMHgwZiwweGQ0LDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4ZjhlMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDAwLDB4YzksMHhhOCwweDNlLDB4NzIgfX0sCi0gezE2LCAweGY4ZjAsIDAsIHsweDBmLDB4OTgsMHgwMywweGU2LDB4YzAsMHhmZCwweGEwLDB4YjMsMHg0MCwweDBmLDB4ZDAsMHgwMywweDc3LDB4ODAsMHhjZCwweDkwIH19LAotIHsxNiwgMHhmOTAwLCAwLCB7MHg3ZiwweDQwLDB4MGYsMHhkYSwweGEzLDB4MTYsMHg5MCwweGE5LDB4YzAsMHgzMiwweDYwLDB4NGMsMHhiMSwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ZjkxMCwgMCwgezB4YzEsMHgwMCwweDMzLDB4NmEsMHgwYiwweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MjAsIDAsIHsweDM4LDB4MTAsMHhlMywweDQwLDB4ODgsMHhlMCwweDJlLDB4MzAsMHgwYiwweDhkLDB4MDIsMHhmMywweDQwLDB4YjgsMHhlOCwweDc2IH19LAotIHsxNiwgMHhmOTMwLCAwLCB7MHgwMCwweDRmLDB4ODAsMHgwYSwweDIyLDB4ODAsMHg4OCwweDkwLDB4NmUsMHgyOCwweDhmLDB4OGEsMHgwMywweDYxLDB4NDQsMHhmOCB9fSwKLSB7MTYsIDB4Zjk0MCwgMCwgezB4ZTEsMHgzZSwweDJhLDB4MDgsMHg4OCwweDAzLDB4NDIsMHhhMCwweGRjLDB4YTAsMHgzZSwweDEwLDB4MGIsMHg4NSwweDBhLDB4MGUgfX0sCi0gezE2LCAweGY5NTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHhhMCwweDg1LDB4MDgsMHgyZCwweDQ4IH19LAotIHsxNiwgMHhmOTYwLCAwLCB7MHgxYiwweDUyLDB4ODIsMHhkNCwweDgwLDB4YjEsMHgxNCwweDIwLDB4NDAsMHgwYiwweDE4LDB4MDIsMHgwNSwweDgyLDB4ODEsMHgwMCB9fSwKLSB7MTYsIDB4Zjk3MCwgMCwgezB4NmMsMHg0MiwweDBiLDB4MTIsMHg4MiwweDA0LDB4MDAsMHhhMSwweDYwLDB4MjEsMHg1MCwweDBiLDB4NTAsMHgwMiwweDE0LDB4OTAgfX0sCi0gezE2LCAweGY5ODAsIDAsIHsweDk1LDB4MmMsMHgyOCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTkwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMSwweDhkLDB4NDQsMHgyZiwweDQwLDB4MGIsMHhkNCwweDAyLDB4ZjQsMHgwNCwweGI5LDB4MDgsMHgyMiB9fSwKLSB7MTYsIDB4ZjlhMCwgMCwgezB4NDAsMHgwYSwweDkyLDB4MDIsMHgyYywweDg0LDB4ODksMHgwMCwweDJlLDB4NDAsMHgwYSwweDE0LDB4MDIsMHg2YywweDgwLDB4YTkgfX0sCi0gezE2LCAweGY5YjAsIDAsIHsweDAxLDB4MmEsMHg0MCwweDA5LDB4NTAsMHgwYSwweDVjLDB4MDIsMHg4ZCwweDYwLDB4MmEsMHg0MCwweDBiLDB4OTAsMHg0MiwweDA2IH19LAotIHsxNiwgMHhmOWMwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU2LDB4NjIsMHhjOSwweDAyLDB4M2UsMHg1NCB9fSwKLSB7MTYsIDB4ZjlkMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4NDAsMHgyMiwweDQ2LDB4MGIsMHg5OCwweDAzLDB4NjcsMHgyMCwweGM5LDB4MDEgfX0sCi0gezE2LCAweGY5ZTAsIDAsIHsweDJlLDB4NjksMHgwYiwweDk0LDB4MGIsMHgyNSwweDIwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgyZCwweDkyLDB4MGEsMHgyNiwweDIyIH19LAotIHsxNiwgMHhmOWYwLCAwLCB7MHg5OSwweDAwLDB4MmEsMHg0MCwweDhmLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEwMCwgMCwgezB4MjgsMHgwMSwweDg2LDB4MDIsMHhmOSwweDAwLDB4M2UsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4ODAsMHhmMSwweGEwLDB4M2UgfX0sCi0gezE2LCAweGZhMTAsIDAsIHsweDYyLDB4MGYsMHg5OCwweDgzLDB4YzYsMHgyMCwweGY5LDB4MDAsMHgzZSwweDQ5LDB4MGYsMHg5MCwweDgzLDB4ZTQsMHgwMCwweDcxIH19LAotIHsxNiwgMHhmYTIwLCAwLCB7MHgwMiwweDNlLDB4NDAsMHgwZSwweDkwLDB4MGIsMHhlNiwweDgwLDB4ZjksMHg4MCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4ZmEzMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDEwLDB4YzgsMHgwMCwweDNlLDB4MDAgfX0sCi0gezE2LCAweGZhNDAsIDAsIHsweDRmLDB4ODAsMHg0MywweGIwLDB4MDAsMHhjOCwweDQxLDB4MzIsMHgwMCwweDBmLDB4ODAsMHgwMywweDIxLDB4MDIsMHhjOCwweDAyIH19LAotIHsxNiwgMHhmYTUwLCAwLCB7MHgzZSwweDEwLDB4NGMsMHg4MCwweDAzLDB4MDEsMHgyMCwweGM4LDB4MDAsMHgzYiwweDAwLDB4MGMsMHhjMCwweDAzLDB4YjAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE2MCwgMCwgezB4Y2MsMHgwNCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNzAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDAwLDB4OGEsMHg4MCwweDJlLDB4ODAsMHgwYiwweGEwLDB4MDIsMHhmOCwweDA0LDB4OGUsMHgwMCwweDIzIH19LAotIHsxNiwgMHhmYTgwLCAwLCB7MHhiMiwweDBlLDB4ZTAsMHg4MiwweGY5LDB4MDQsMHg4YSwweDAwLDB4MmUsMHg4MSwweDBjLDB4ZTAsMHgwYSwweDNhLDB4ODAsMHhkYSB9fSwKLSB7MTYsIDB4ZmE5MCwgMCwgezB4MDAsMHgyMiwweGI2LDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweDhlLDB4MDAsMHgyYSwweDgwLDB4MGIsMHg2MCwweDBiLDB4MGEgfX0sCi0gezE2LCAweGZhYTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NDQsMHgwMiwweDkzLDB4ODEsMHgyYywweGMwIH19LAotIHsxNiwgMHhmYWIwLCAwLCB7MHg0YiwweDMwLDB4MDIsMHhjOCwweDAwLDB4ODMsMHhjYSwweDIwLDB4ZTAsMHgxOSwweGIwLDB4MDYsMHg4YywweDAwLDB4ODEsMHgwNCB9fSwKLSB7MTYsIDB4ZmFjMCwgMCwgezB4NDQsMHg0MCwweDA4LDB4MzQsMHgwMiwweDBkLDB4MDAsMHg4MywweDAwLDB4MmEsMHgwMCwweDA4LDB4MDAsMHgwYSwweDgwLDB4NDAgfX0sCi0gezE2LCAweGZhZDAsIDAsIHsweDg4LDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4NGIsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWUwLCAwLCB7MHhhMCwweDAxLDB4MDQsMHgwMiwweDk3LDB4MDgsMHgyZCwweGMwLDB4MGIsMHg2MCwweDA2LDB4Y2EsMHgwMCwweDgzLDB4MDksMHgyMSB9fSwKLSB7MTYsIDB4ZmFmMCwgMCwgezB4YzAsMHgwYSwweDcwLDB4MDIsMHhkYywweDAwLDB4ODUsMHgzMSwweDJkLDB4NjgsMHgwOSwweDMwLDB4MDIsMHgxYywweDE0LDB4OTMgfX0sCi0gezE2LCAweGZiMDAsIDAsIHsweDIwLDB4MjAsMHhjMCwweDA4LDB4ZjAsMHg0MiwweDljLDB4MDIsMHg4ZiwweDAwLDB4MjksMHg0MCwweDAzLDB4NzAsMHgxMiwweDI4IH19LAotIHsxNiwgMHhmYjEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDE2LDB4MDAsMHg5NiwweDg0LDB4M2QsMHhhMCB9fSwKLSB7MTYsIDB4ZmIyMCwgMCwgezB4MGYsMHg3OCwweDAzLDB4OWEsMHgwMiwweDg3LDB4ODAsMHhiMSwweGUwLDB4MGIsMHg3OCwweDAzLDB4YjYsMHgwMCwweGM1LDB4YTAgfX0sCi0gezE2LCAweGZiMzAsIDAsIHsweDM1LDB4NjEsMHgwYywweDc4LDB4MTMsMHgxZSwweDAyLDB4YzcsMHg4MCwweDI5LDB4MDAsMHgwYywweDQ4LDB4MDMsMHg5MCwweDAwIH19LAotIHsxNiwgMHhmYjQwLCAwLCB7MHhjNCwweDgwLDB4MzEsMHg2MCwweDBmLDB4NTgsMHgwMywweDZhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI1MCwgMCwgezB4MDgsMHgxZCwweGE0LDB4MDAsMHhlYSwweDAwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGU4LDB4MDgsMHhmYiwweDAwLDB4M2UgfX0sCi0gezE2LCAweGZiNjAsIDAsIHsweDgwLDB4MGYsMHg5MCwweDEzLDB4ZTQsMHgwOCwweGY5LDB4MDAsMHgzYywweDUwLDB4MmUsMHhmMCwweDAzLDB4ZTgsMHgwOCwweGZiIH19LAotIHsxNiwgMHhmYjcwLCAwLCB7MHg0MCwweDNlLDB4YzAsMHgwYiwweDMwLDB4MTMsMHg2YywweDAwLDB4ZmIsMHgwMCwweDNlLDB4NDAsMHgwZiwweDMwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ZmI4MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhkNiwweDAwLDB4Y2QsMHg4MCwweDMzLDB4ZTAgfX0sCi0gezE2LCAweGZiOTAsIDAsIHsweDBjLDB4ZjgsMHgwMywweGZhLDB4MDAsMHhmZCwweDgwLDB4M2YsMHhhMCwweDBkLDB4ZjgsMHgwMywweGZhLDB4NDAsMHhjZCwweGQwIH19LAotIHsxNiwgMHhmYmEwLCAwLCB7MHg3NywweDdlLDB4MGMsMHhlOCwweDQzLDB4MWUsMHgwMCwweGNmLDB4ZDgsMHgzZiwweGUwLDB4MGMsMHhjOCwweDAzLDB4M2EsMHhjNCB9fSwKLSB7MTYsIDB4ZmJiMCwgMCwgezB4Y2MsMHg4MCwweDMzLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiYzAsIDAsIHsweGE4LDB4MTEsMHg5NCwweDAyLDB4OGQsMHgwMCwweDIxLDB4YzAsMHgwOCwweDYwLDB4MDMsMHhkOCwweDEwLDB4MzUsMHgyMCwweDhiIH19LAotIHsxNiwgMHhmYmQwLCAwLCB7MHhkNCwweDBkLDB4NjQsMHgwMywweGQ4LDB4YzAsMHg4NSwweDAwLDB4MmYsMHg0ZSwweDA3LDB4NjQsMHgwMiwweDljLDB4MDIsMHhkNyB9fSwKLSB7MTYsIDB4ZmJlMCwgMCwgezB4MzAsMHgyZiwweDA0LDB4MGQsMHhmMSwweDBiLDB4NTQsMHg0MCwweGFmLDB4MDAsMHgzNSwweDQwLDB4MDgsMHg3MCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGZiZjAsIDAsIHsweDAwLDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTQsMHg0MCwweDg0LDB4MTgsMHgyMSwweDgwIH19LAotIHsxNiwgMHhmYzAwLCAwLCB7MHgwOCwweDcwLDB4MDIsMHhkYSwweDIwLDB4YjUsMHgwMCwweDA5LDB4MDAsMHgwOCwweDcwLDB4MDIsMHhkNCwweDA0LDB4ODUsMHgwMCB9fSwKLSB7MTYsIDB4ZmMxMCwgMCwgezB4NmQsMHg0YywweDg5LDB4NjAsMHgwMiwweDVjLDB4NDAsMHg5NywweDAwLDB4NmQsMHhjMCwweDA5LDB4NDAsMHgwMiwweDU4LDB4ODAgfX0sCi0gezE2LCAweGZjMjAsIDAsIHsweDg0LDB4ODgsMHgyNSwweDQwLDB4MDgsMHhkMCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzMwLCAwLCB7MHgyMCwweDE0LDB4YzYsMHg0OCwweDgwLDB4MDAsMHgyMCwweDgwLDB4MDgsMHhhYywweDAyLDB4YTgsMHgwMCwweGIxLDB4MDAsMHhhOCB9fSwKLSB7MTYsIDB4ZmM0MCwgMCwgezB4ODgsMHgwOSwweDIyLDB4MDIsMHg4NiwweDQyLDB4ODEsMHgwMCwweDZjLDB4NTIsMHgwYiwweDIwLDB4MDIsMHhjNywweDUyLDB4ODMgfX0sCi0gezE2LCAweGZjNTAsIDAsIHsweDAwLDB4MmMsMHgwMCwweDA4LDB4MzQsMHg4MiwweDY3LDB4MDAsMHhhMywweDgwLDB4MjAsMHg0MCwweDA4LDB4MzAsMHgwMiwweDA4IH19LAotIHsxNiwgMHhmYzYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGEzLDB4MDAsMHhjYiwweGMwLDB4YjIsMHg0MCB9fSwKLSB7MTYsIDB4ZmM3MCwgMCwgezB4MmMsMHg5MCwweDgyLDB4ZTYsMHgwMCwweGJiLDB4ODAsMHhiZSwweDc4LDB4MDgsMHg4ZSwweDAyLDB4ZWUsMHgwMCwweDhkLDB4MDAgfX0sCi0gezE2LCAweGZjODAsIDAsIHsweDI3LDB4NjAsMHgwZCwweDkwLDB4MGEsMHg2ZiwweDAwLDB4OWYsMHgwMiwweDJlLDB4MDAsMHgwOSwweGI0LDB4MDMsMHg2NywweDgwIH19LAotIHsxNiwgMHhmYzkwLCAwLCB7MHhjYSwweDQwLDB4ZTQsMHhjMCwweDBjLDB4MzAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNhMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4ODAsMHhmYiwweDIyLDB4M2UsMHg0MCwweDBmLDB4ODAsMHgxMywweGU0LDB4MDAsMHhmYiwweDgwLDB4M2UgfX0sCi0gezE2LCAweGZjYjAsIDAsIHsweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTUsMHgwMCwweGY5LDB4MDAsMHgzZSwweDQwLDB4MGUsMHg3MCwweDIzLDB4YWMsMHgyMCwweGZiIH19LAotIHsxNiwgMHhmY2MwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHg4ZiwweDgwLDB4MDMsMHhlOSwweDIwLDB4ZjksMHgwOCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhlMCB9fSwKLSB7MTYsIDB4ZmNkMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDAwLDB4YzYsMHgwMCwweDMyLDB4MDAgfX0sCi0gezE2LCAweGZjZTAsIDAsIHsweDBmLDB4ZDEsMHg4MywweDM0LDB4NDAsMHhjZiwweDAwLDB4M2QsMHg0MCwweDBjLDB4ZDAsMHgwMywweGRlLDB4NTAsMHgwZCwweDAwIH19LAotIHsxNiwgMHhmY2YwLCAwLCB7MHg3MywweDQwLDB4MGMsMHhkMSwweDAzLDB4N2MsMHg0MCwweDg3LDB4MDIsMHhiMywweDAwLDB4MGQsMHhmNCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ZmQwMCwgMCwgezB4Y2UsMHgyMCwweDMyLDB4NDAsMHgwYywweGQwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMTAsIDAsIHsweDgxLDB4MDQsMHg2MSwweDIyLDB4OGEsMHgwMCwweDIyLDB4MDAsMHgwYiwweDgwLDB4NDAsMHgyNSwweDAwLDB4ODksMHhjMywweDJlIH19LAotIHsxNiwgMHhmZDIwLCAwLCB7MHgyMCwweDBhLDB4OTgsMHgwMywweGExLDB4MDAsMHg4OSwweDAwLDB4MzYsMHg0MCwweDg4LDB4OTQsMHgwMiwweDBmLDB4MDEsMHhhYiB9fSwKLSB7MTYsIDB4ZmQzMCwgMCwgezB4MDAsMHgzMiwweGMwLDB4MDgsMHgwNCwweDBhLDB4MjksMHgwMCwweGE5LDB4MDIsMHhhMiwweDQwLDB4MGQsMHhiMCwweDBhLDB4MjAgfX0sCi0gezE2LCAweGZkNDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MDAsMHgwMCwweDg5LDB4MDAsMHgyMiwweDYxIH19LAotIHsxNiwgMHhmZDUwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHgyNSwweDAxLDB4OWIsMHg4OCwweDJlLDB4NjAsMHgwOCwweDg4LDB4MDIsMHhlOCwweDAwLDB4YjEsMHgwMiB9fSwKLSB7MTYsIDB4ZmQ2MCwgMCwgezB4MjQsMHg0MCwweDE4LDB4OTAsMHgwMiwweDJjLDB4MDAsMHhhYiwweDAxLDB4MjAsMHhjMSwweDA4LDB4YjQsMHg0MiwweDJjLDB4MDAgfX0sCi0gezE2LCAweGZkNzAsIDAsIHsweDgyLDB4MDAsMHgyMiwweGMwLDB4MDgsMHhiMCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDgwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweDAxLDB4MDAsMHgyMCwweDQwLDB4MGIsMHgwMCwweDBhLDB4MDQsMHg0NiwweDgzLDB4MDEsMHgyYyB9fSwKLSB7MTYsIDB4ZmQ5MCwgMCwgezB4NDAsMHgxYSwweDAwLDB4MDYsMHg4MCwweDAwLDB4ODEsMHgwMCwweDI0LDB4NDAsMHgwOCwweDIwLDB4MGEsMHgwYywweDAxLDB4YTMgfX0sCi0gezE2LCAweGZkYTAsIDAsIHsweDAwLDB4MjQsMHgwMCwweDA4LDB4ODAsMHgwMiwweDAwLDB4MDAsMHhhMSwweDAwLDB4MjAsMHg0MCwweDA5LDB4MzAsMHgwMiwweDAyIH19LAotIHsxNiwgMHhmZGIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDIsMHhjOCwweDAwLDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4ZmRjMCwgMCwgezB4MGYsMHg5MCwweDAyLDB4MjUsMHgwMCwweGRhLDB4MDAsMHgzZSwweDQwLDB4MGMsMHg5MCwweDAyLDB4Y2MsMHgwMCwweGZkLDB4MDAgfX0sCi0gezE2LCAweGZkZDAsIDAsIHsweDM3LDB4NDAsMHgwYywweDEwLDB4MTMsMHgyYywweDAyLDB4YWYsMHgwMCwweDMyLDB4YzAsMHgwZCwweGIwLDB4MDMsMHgyYywweDAwIH19LAotIHsxNiwgMHhmZGUwLCAwLCB7MHhjYSwweDAwLDB4MzIsMHg0MCwweDRjLDB4OTAsMHgwYiwweDAwLDB4MDEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmRmMCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDAsMHhmYywweDAwLDB4M2YsMHgwMCwweDA3LDB4YzAsMHgwMywweGY0LDB4MWMsMHhmNCwweDAwLDB4M2YgfX0sCi0gezE2LCAweGZlMDAsIDAsIHsweDAwLDB4MWYsMHhjMCwweDIzLDB4YjAsMHgwMiwweDlkLDB4MDEsMHgzZiwweDQwLDB4OGYsMHhjMCwweDA3LDB4ZmMsMHgwMiwweGZmIH19LAotIHsxNiwgMHhmZTEwLCAwLCB7MHgwMCwweDdiLDB4MDAsMHgwZiwweGMwLDB4MDMsMHhmMCwweDAwLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDcwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ZmUyMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYSwweDAwLDB4Y2IsMHg4MCwweDNmLDB4MjQgfX0sCi0gezE2LCAweGZlMzAsIDAsIHsweDBhLDB4YzEsMHgwMywweGZjLDB4MjQsMHhjZCwweDIwLDB4MzcsMHgwYSwweDBjLDB4YzIsMHg4MywweDMwLDB4ODAsMHhkYywweDAyIH19LAotIHsxNiwgMHhmZTQwLCAwLCB7MHgzZiwweGNjLDB4MGQsMHhkOSwweDAzLDB4M2MsMHg1OCwweGRmLDB4MzAsMHgzMywweGM4LDB4MGQsMHhmNCwweDIzLDB4M2MsMHg0MCB9fSwKLSB7MTYsIDB4ZmU1MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4YzUsMHg0ZiwweGYwLDB4MjMsMHhiMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZlNjAsIDAsIHsweDgwLDB4MDAsMHhlYywweDAyLDB4MGIsMHg4MiwweDJlLDB4MDgsMHgwZCwweGI3LDB4MDIsMHhmZCwweDAwLDB4ODMsMHgxOCwweDBhIH19LAotIHsxNiwgMHhmZTcwLCAwLCB7MHg1OCwweDBhLDB4ODQsMHhhMiwweGE1LDB4YTAsMHg4OSwweDMwLDB4MjIsMHg1NSwweDA4LDB4MTIsMHg2MiwweGJkLDB4OTAsMHg4ZiB9fSwKLSB7MTYsIDB4ZmU4MCwgMCwgezB4NjIsMHgyMSwweGQ2LDB4NDgsMHhmMywweDAyLDB4M2MsMHhjNSwweGJmLDB4NDgsMHgyZiwweGQ4LDB4NGIsMHhiNywweDAyLDB4ZTAgfX0sCi0gezE2LCAweGZlOTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4ZWMsMHgwMCwweDgzLDB4MDAsMHgyZSwweDg5IH19LAotIHsxNiwgMHhmZWEwLCAwLCB7MHgyOCwweDAwLDB4MDIsMHhlYywweGEwLDB4ODksMHgyMiwweDI4LDB4ODIsMHgwOCwweDEyLDB4MDIsMHgyOCwweDQwLDB4OWEsMHgwOCB9fSwKLSB7MTYsIDB4ZmViMCwgMCwgezB4MjgsMHhjOCwweDg4LDB4YjIsMHgwYSwweDBkLDB4MTAsMHg5MywweDEwLDB4YTAsMHhjOCwweDI4LDB4MzAsMHgwMiwweDRjLDB4MDAgfX0sCi0gezE2LCAweGZlYzAsIDAsIHsweGIzLDB4NjAsMHgyYywweGM0LDB4MGIsMHgzMCwweGMyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZWQwLCAwLCB7MHhjMCwweDE1LDB4YWMsMHg0MCwweDhiLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhiMSwweDAyLDB4ZWMsMHgwMiwweDhiLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ZmVlMCwgMCwgezB4ZDAsMHgwYSwweDkwLDB4MDIsMHhhYywweDAwLDB4MGIsMHgwMSwweDI2LDB4NDAsMHgwOCwweDk0LDB4MDIsMHg4YywweDAwLDB4OGIgfX0sCi0gezE2LCAweGZlZjAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MTAsMHhiYiwweDAwLDB4MmUsMHhjMCwweDBiLDB4YjAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhmZjAwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxNCwweDhjLDB4MjAsMHhjYiwweDAyLDB4M2UsMHgyZCB9fSwKLSB7MTYsIDB4ZmYxMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4ZWMsMHgwOCwweGM5LDB4ODAsMHgxZSwweDA0LDB4MGMsMHhiMCwweDAzLDB4MDEsMHgwOCwweDUwLDB4MTggfX0sCi0gezE2LCAweGZmMjAsIDAsIHsweDNlLDB4NDAsMHgwYywweDA0LDB4MDMsMHgyYywweDAwLDB4ZGIsMHgwMSwweDMyLDB4YzAsMHgwYywweGIwLDB4MGIsMHgyYywweDA4IH19LAotIHsxNiwgMHhmZjMwLCAwLCB7MHhiYiwweDAwLDB4M2UsMHhjMCwweDBmLDB4YjAsMHgwMywweDgwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmY0MCwgMCwgezB4ZTEsMHgwMCwweGJjLDB4MDAsMHhmZiwweDAwLDB4M2YsMHg2MCwweDBmLDB4YzAsMHgyMywweGVjLDB4MDAsMHhmZiwweGMwLDB4YmUgfX0sCi0gezE2LCAweGZmNTAsIDAsIHsweDYwLDB4OGYsMHhjOSwweDIzLDB4ZjYsMHg1MCwweGVkLDB4ODAsMHhiOCwweDUwLDB4YWYsMHhjMCwweDAzLDB4ZmMsMHgwMCwweGZmIH19LAotIHsxNiwgMHhmZjYwLCAwLCB7MHgwMCwweDNmLDB4YzEsMHgwZSwweGIwLDB4MDMsMHhmYywweDA0LDB4ZmYsMHgwMiwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4ZmY3MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAwLDB4ZWIsMHgwMCwweDMyLDB4ODAgfX0sCi0gezE2LCAweGZmODAsIDAsIHsweDBkLDB4OTAsMHgwMywweDJjLDB4MDAsMHg4OSwweDAwLDB4M2UsMHg5OCwweDhjLDB4MzAsMHgwMywweDYxLDB4ODAsMHhmYSwweDQwIH19LAotIHsxNiwgMHhmZjkwLCAwLCB7MHgzZSwweDQwLDB4MmMsMHhhNSwweDAzLDB4MmMsMHgwMCwweGZiLDB4MDEsMHgzYywweGMwLDB4MmMsMHgzMCwweDAzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4ZmZhMCwgMCwgezB4ZGIsMHgwMiwweDMyLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhkMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZmYjAsIDAsIHsweGNhLDB4MDAsMHgyZSwweDgwLDB4OGIsMHg4MiwweGEwLDB4YzAsMHg4YywweDkwLDB4MDIsMHgzYywweDAwLDB4OGIsMHhmMCwweDIyIH19LAotIHsxNiwgMHhmZmMwLCAwLCB7MHhjMiwweDBkLDB4ODAsMHgwMiwweDI3LDB4MDAsMHg4YiwweDEwLDB4MjIsMHg0MCwweDA4LDB4ODAsMHgyMiwweDNjLDB4MDAsMHhiZiB9fSwKLSB7MTYsIDB4ZmZkMCwgMCwgezB4MDAsMHgyZiwweGMwLDB4MDgsMHhmMCwweDAyLDB4M2MsMHgwMCwweGJmLDB4MDEsMHhhMywweGMwLDB4MGIsMHhmMCwweDEyLDB4ZjIgfX0sCi0gezE2LCAweGZmZTAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGMsMHgwMCwweGIzLDB4MWMsMHgyMCwweDQwIH19LAotIHsxNiwgMHhmZmYwLCAwLCB7MHgwOCwweDAwLDB4MDYsMHgyYywweDAwLDB4OWIsMHgwMCwweDIwLDB4ZDAsMHgwOCwweDIwLDB4MDIsMHg0YywweDAwLDB4YTMsMHgwMCB9fSwKLSB7MTYsIDB4ODAxMCwgMCwgezB4MmMsMHhjMCwweDA4LDB4MTAsMHgwYSwweDBjLDB4MDAsMHhiYiwweDAwLDB4MjgsMHhjMCwweDA5LDB4MzAsMHgwMiwweDBjLDB4MDAgfX0sCi0gezE2LCAweDgwMjAsIDAsIHsweGIzLDB4MDAsMHgyMCwweGMwLDB4MGIsMHgzMCwweDAyLDB4ZjgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MDMwLCAwLCB7MHgyMiwweDExLDB4MWUsMHgwMCwweDk3LDB4YTAsMHgyMSwweGEwLDB4MDgsMHg3OSwweDAyLDB4MWUsMHgwMCwweDk3LDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4ODA0MCwgMCwgezB4NjAsMHgwOSwweGU4LDB4MjIsMHgzZSwweDAwLDB4YWYsMHg4NCwweDIxLDB4ZTQsMHg0OCwweDVjLDB4MDIsMHgxZSwweDAwLDB4YjcgfX0sCi0gezE2LCAweDgwNTAsIDAsIHsweDkwLDB4MmQsMHhlMCwweDA5LDB4NzgsMHgwMCwweDFlLDB4MDksMHhiMywweDkwLDB4MjEsMHhlNCwweDBiLDB4NzgsMHgwMiwweGQ4IH19LAotIHsxNiwgMHg4MDYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgxOCwweDJjLDB4NDAsMHhiMywweGIwLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4ODA3MCwgMCwgezB4MmMsMHg4MSwweDEzLDB4MGMsMHg0MiwweGQxLDB4MDAsMHhiMCwweGMwLDB4OGMsMHgzMCwweDAzLDB4NDgsMHgyMCwweGUzLDB4MDEgfX0sCi0gezE2LCAweDgwODAsIDAsIHsweDNjLDB4YzAsMHgwYywweDMwLDB4MDMsMHgwYywweDAwLDB4ZjMsMHgxMCwweDNjLDB4YzAsMHhjZCwweDMyLDB4MGIsMHgwYywweDQwIH19LAotIHsxNiwgMHg4MDkwLCAwLCB7MHhkMywweDAwLDB4MzAsMHhjMCwweDBmLDB4MzAsMHgwMywweGQyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODBhMCwgMCwgezB4NDAsMHgxNSwweGJjLDB4MDAsMHhlNywweDAwLDB4M2YsMHg4MCwweDBiLDB4ZjEsMHgwMywweGZkLDB4MDAsMHg2ZCwweDAwLDB4MzIgfX0sCi0gezE2LCAweDgwYjAsIDAsIHsweDQwLDB4MWYsMHg3MCwweDA3LDB4ZDgsMHg0MSwweGMzLDB4MTAsMHgzYiwweGMwLDB4MGYsMHhkMSwweDAzLDB4ZmQsMHgwMCwweGZmIH19LAotIHsxNiwgMHg4MGMwLCAwLCB7MHgxMCwweDNmLDB4YzAsMHgwZSwweGYwLDB4MDMsMHhlYywweDEwLDB4ZmYsMHgwOCwweDNmLDB4YzMsMHgwZiwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4ODBkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MTUsMHhlYywweDA0LDB4ZmIsMHgwMiwweDNlLDB4NDAgfX0sCi0gezE2LCAweDgwZTAsIDAsIHsweDBiLDB4YTAsMHgwMywweGFjLDB4MDAsMHhkYiwweDAwLDB4MzYsMHg4MCwweDBkLDB4YjAsMHgwMywweGFjLDB4MDAsMHhlOCwweDAwIH19LAotIHsxNiwgMHg4MGYwLCAwLCB7MHgzNiwweGMxLDB4MmUsMHg5MCwweDAzLDB4MmMsMHgwMCwweGNiLDB4YTAsMHgzNiwweGRjLDB4MGYsMHhiMCwweDAzLDB4MmQsMHg2OCB9fSwKLSB7MTYsIDB4ODEwMCwgMCwgezB4ZmIsMHhhMCwweDkyLDB4YzIsMHgwYywweGIxLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgxMTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDA4LDB4MzcsMHgwMCwweDJkLDB4YzAsMHgwYiwweGUwLDB4MDIsMHgxZCwweDgwLDB4YjcsMHgwNCwweDIzIH19LAotIHsxNiwgMHg4MTIwLCAwLCB7MHgwMCwweDBhLDB4NDAsMHgwMiwweDFjLDB4MTgsMHg4NCwweDAwLDB4MjUsMHhjMCwweDE4LDB4NTAsMHgzMiwweDBkLDB4ODAsMHhhMyB9fSwKLSB7MTYsIDB4ODEzMCwgMCwgezB4MzAsMHgyMSwweGNjLDB4MGIsMHgzNCwweDgyLDB4MWMsMHgxMCwweGI3LDB4MzAsMHgyMSwweGM4LDB4MDgsMHg3MCwweDAyLDB4ZDIgfX0sCi0gezE2LCAweDgxNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgyMCwweGI3LDB4ODAsMHgyZCwweDYwIH19LAotIHsxNiwgMHg4MTUwLCAwLCB7MHgwYiwweGZjLDB4MjIsMHg5ZSwweDAwLDB4OGQsMHg4MCwweDI1LDB4YTAsMHgwOCwweGY4LDB4MjIsMHg5MiwweDAwLDB4YjQsMHg4MCB9fSwKLSB7MTYsIDB4ODE2MCwgMCwgezB4MjUsMHhlMCwweDA4LDB4ZjgsMHgwMiwweDFlLDB4MDAsMHg4NywweGIwLDB4MjEsMHhlMCwweDA5LDB4N2EsMHgwMiwweDFlLDB4MTggfX0sCi0gezE2LCAweDgxNzAsIDAsIHsweGIzLDB4ODAsMHgyMSwweGUwLDB4MDgsMHg3OCwweDAyLDB4ZjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MTgwLCAwLCB7MHg0OCwweDA0LDB4YzUsMHgyMCwweGIzLDB4MDEsMHgyYywweGQ4LDB4MGIsMHgzYywweDAyLDB4MmMsMHgwOCwweGI5LDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4ODE5MCwgMCwgezB4MDMsMHgwYSwweDAwLDB4ODIsMHgyMiwweDA4LDB4OTAsMHgwZCwweDI2LDB4ZTQsMHgwOCwweDEwLDB4MDIsMHgwYywweDAwLDB4YTMgfX0sCi0gezE2LCAweDgxYTAsIDAsIHsweDAwLDB4MjIsMHhjMCwweDBiLDB4MzAsMHgwMiwweDZjLDB4MDAsMHhiMywweDAwLDB4MjIsMHhjMCwweDI4LDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHg4MWIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgwNSwweDk5LDB4MDAsMHhmYSwweDAyLDB4M2YsMHg5MCB9fSwKLSB7MTYsIDB4ODFjMCwgMCwgezB4MGYsMHhlYywweDIzLDB4YTgsMHgwMCwweGRhLDB4MDAsMHgzNSwweDgwLDB4MGQsMHhlMCwweDAyLDB4YmEsMHgwMiwweGZlLDB4YzIgfX0sCi0gezE2LCAweDgxZDAsIDAsIHsweGI2LDB4YTAsMHgwZSwweGU0LDB4MGIsMHgyOCwweDAwLDB4Y2EsMHgwMCwweGIyLDB4ODAsMHgwZiwweGEwLDB4MGIsMHgyOCwweDAwIH19LAotIHsxNiwgMHg4MWUwLCAwLCB7MHhmYSwweDAwLDB4MzIsMHg4MCwweDBjLDB4YTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODFmMCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODIsMHgwMywweGUwLDB4MDAsMHhmOCwweDAwLDB4M2UgfX0sCi0gezE2LCAweDgyMDAsIDAsIHsweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHg0MCwweGU4LDB4MTAsMHgzYSwweDAwLDB4NGYsMHg4NCwweDgzLDB4ZTAsMHgwMCwweGY4IH19LAotIHsxNiwgMHg4MjEwLCAwLCB7MHgwMCwweDNhLDB4MDAsMHgwZiwweDAwLDB4MDMsMHhhMCwweDAwLDB4ZjgsMHgwMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4ODIyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHhlNSwweDAwLDB4YzksMHgwMiwweDNlLDB4NDAgfX0sCi0gezE2LCAweDgyMzAsIDAsIHsweDBmLDB4OTAsMHgyMywweDI0LDB4MDAsMHhjOSwweDAwLDB4MzIsMHg2OCwweDJmLDB4MTAsMHgwMywweDI0LDB4MDAsMHhlOSwweDE0IH19LAotIHsxNiwgMHg4MjQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHg5MCwweDBiLDB4MDQsMHgwMCwweGQ5LDB4MDAsMHgxZSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4ODI1MCwgMCwgezB4YzksMHgwMCwweDM2LDB4NDAsMHgwYywweDkwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgyNjAsIDAsIHsweDgwLDB4MTQsMHg2NCwweDAwLDB4ODksMHgwMSwweDJlLDB4NDAsMHg0YiwweDkwLDB4MTIsMHgyNCwweDAwLDB4ODksMHhjMiwweGEyIH19LAotIHsxNiwgMHg4MjcwLCAwLCB7MHg2MCwweDg4LDB4OTAsMHgwMywweDY0LDB4MDAsMHg4OSwweGMxLDB4YTIsMHg0MCwweDQ4LDB4MTYsMHgwMywweDY0LDB4MDIsMHg4OSB9fSwKLSB7MTYsIDB4ODI4MCwgMCwgezB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDIyLDB4MjQsMHgwMCwweDg5LDB4MDAsMHgzZSwweDQwLDB4MjgsMHg5MCwweDBhLDB4MjAgfX0sCi0gezE2LCAweDgyOTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA0LDB4MjQsMHgwMCwweDg5LDB4MDIsMHgyZSwweDQwIH19LAotIHsxNiwgMHg4MmEwLCAwLCB7MHgwYiwweDEwLDB4MDIsMHgyNCwweDAwLDB4ODksMHgxMCwweDIyLDB4NDAsMHg4OSwweDkwLDB4MDIsMHhhYywweDAwLDB4YTEsMHgwOCB9fSwKLSB7MTYsIDB4ODJiMCwgMCwgezB4MjIsMHg0MCwweDA5LDB4OTgsMHgwMiwweGE0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAgfX0sCi0gezE2LCAweDgyYzAsIDAsIHsweDg5LDB4MDAsMHgyNiwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4MmQwLCAwLCB7MHgwOCwweDAwLDB4MjQsMHgwMCwweDgxLDB4MDAsMHgyYywweDQxLDB4MGIsMHgxMiwweDAyLDB4MDQsMHg4MSwweDgxLDB4MjAsMHgyMiB9fSwKLSB7MTYsIDB4ODJlMCwgMCwgezB4NDgsMHgwOCwweDEyLDB4MDIsMHhjNCwweDgxLDB4ODEsMHgyNCwweDAyLDB4NDgsMHgwYSwweDkwLDB4MDIsMHg4NCwweGEwLDB4ODEgfX0sCi0gezE2LCAweDgyZjAsIDAsIHsweDI4LDB4NmMsMHg0YSwweDA4LDB4MTIsMHhkMiwweDA0LDB4YTEsMHg4MSwweDI4LDB4MmMsMHg0YSwweDA4LDB4MTIsMHg4MiwweDAyIH19LAotIHsxNiwgMHg4MzAwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwOCwweDYxLDB4NDAsMHhjOCwweDAwLDB4MmUsMHgxNCB9fSwKLSB7MTYsIDB4ODMxMCwgMCwgezB4MGYsMHg4NSwweDBiLDB4MjEsMHg0MiwweGNhLDB4NTAsMHgyMiwweDE0LDB4MGQsMHg4NSwweDQzLDB4YTEsMHg0MCwweGU4LDB4NTAgfX0sCi0gezE2LCAweDgzMjAsIDAsIHsweDMwLDB4MDAsMHgwZCwweDg1LDB4MDIsMHhhMSwweGMwLDB4ZDgsMHgyMCwweDNhLDB4MDgsMHgyYywweDgyLDB4MGIsMHgyMCwweDgyIH19LAotIHsxNiwgMHg4MzMwLCAwLCB7MHhjOCwweDIwLDB4MzQsMHgwOSwweDhjLDB4ODIsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODM0MCwgMCwgezB4OTgsMHgwZCwweGZjLDB4MDIsMHhmOSwweDAwLDB4M2YsMHg0MCwweDRmLDB4ZDEsMHgwMywweGU0LDB4NDAsMHhmNSwweDE0LDB4YmYgfX0sCi0gezE2LCAweDgzNTAsIDAsIHsweDQ0LDB4MGQsMHg1MSwweDIzLDB4NWMsMHg0MCwweGY1LDB4MTAsMHgxZiwweDRlLDB4NGQsMHg1MCwweDAzLDB4NjQsMHgwOCwweGY5IH19LAotIHsxNiwgMHg4MzYwLCAwLCB7MHgyOCwweDNlLDB4NGEsMHg4ZiwweDkyLDB4ODMsMHhlNCwweGEwLDB4ZjksMHgyOCwweDNhLDB4NGIsMHgwZiwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4ODM3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhmNCwweDQwLDB4ZmQsMHgwMCwweDMwLDB4NDAgfX0sCi0gezE2LCAweDgzODAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhkZCwweDAwLDB4M2IsMHg0MCwweDBlLDB4OTAsMHgwMywweDc0LDB4MDAsMHg1ZCwweDAwIH19LAotIHsxNiwgMHg4MzkwLCAwLCB7MHgzNiwweDY0LDB4MGQsMHhkMCwweDAwLDB4YTYsMHgwMCwweGY5LDB4NDAsMHgzMiwweDc4LDB4MGMsMHg5OSwweDAzLDB4MjQsMHg0MCB9fSwKLSB7MTYsIDB4ODNhMCwgMCwgezB4YzksMHg5MCwweDMyLDB4NTAsMHgwZiwweDliLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDgzYjAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDgwLDB4YjgsMHgwMCwweDIyLDB4MDEsMHgwOCwweDgwLDB4MGEsMHgyMCwweDAwLDB4ODgsMHgwMCwweDJhIH19LAotIHsxNiwgMHg4M2MwLCAwLCB7MHgwMCwweDA4LDB4ODAsMHgwMiwweDIwLDB4MDAsMHg4OCwweDAwLDB4MjIsMHgyMCwweDA4LDB4OGEsMHg4YiwweGUxLDB4MDAsMHhiOCB9fSwKLSB7MTYsIDB4ODNkMCwgMCwgezB4ODAsMHgyMiwweDMwLDB4MjgsMHgwZCwweDAyLDB4MjIsMHgwMCwweGQ4LDB4ZTQsMHgyMiwweDI4LDB4MGIsMHg4ZiwweDBhLDB4MGUgfX0sCi0gezE2LCAweDgzZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHg4MCwweGIxLDB4MDAsMHhhMCwweDQwIH19LAotIHsxNiwgMHg4M2YwLCAwLCB7MHgwOCwweDEwLDB4MDIsMHgwNCwweDAwLDB4ODksMHgwMCwweDA4LDB4NDAsMHgwYSwweDkwLDB4NDIsMHg0NCwweDAwLDB4OTEsMHgwMCB9fSwKLSB7MTYsIDB4ODQwMCwgMCwgezB4MjAsMHg1OCwweDI4LDB4OTAsMHgwMiwweDg1LDB4MDAsMHg4MSwweDIwLDB4YTAsMHg0YywweDA5LDB4MTIsMHgwYSwweDA0LDB4ODAgfX0sCi0gezE2LCAweDg0MTAsIDAsIHsweDkxLDB4NDAsMHhhMCwweDQwLDB4MGIsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NDIwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMCwweGI5LDB4MDIsMHgyMCwweDQwLDB4MDgsMHg5MCwweDAyLDB4MDQsMHgwMCwweDg5LDB4MDEsMHgyMiB9fSwKLSB7MTYsIDB4ODQzMCwgMCwgezB4NDAsMHgyOCwweDkwLDB4MjIsMHgwNCwweDAwLDB4ODksMHgxMCwweDIyLDB4NDAsMHgwOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4YjEgfX0sCi0gezE2LCAweDg0NDAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDgxLDB4OTAsMHgwMiwweDA0LDB4MDAsMHg5MSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHg4NDUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU1LDB4MDAsMHhmMSwweDAwLDB4MzIsMHg2MCB9fSwKLSB7MTYsIDB4ODQ2MCwgMCwgezB4MmMsMHg5MiwweDEzLDB4MjQsMHgwMiwweGQxLDB4MTAsMHgzYSwweDQwLDB4MGUsMHgxMiwweDAzLDB4NjYsMHgwNCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweDg0NzAsIDAsIHsweGI2LDB4NDAsMHgwZCwweDE5LDB4MDMsMHhhNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAsMHgwOSwweDkwLDB4MDEsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4NDgwLCAwLCB7MHhkOSwweDAyLDB4MjIsMHg0MCwweDBmLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODQ5MCwgMCwgezB4MmEsMHgwMSwweGE1LDB4MDAsMHhmOSwweDAwLDB4M2UsMHg2NCwweDBmLDB4MTAsMHgwMywweGU0LDB4MDAsMHhmOSwweDgxLDB4M2UgfX0sCi0gezE2LCAweDg0YTAsIDAsIHsweDY2LDB4OGYsMHg5MCwweDIzLDB4ZTQsMHg4MCwweGY5LDB4MDQsMHgzZSwweDQwLDB4OGYsMHg5MCwweDAzLDB4ZTQsMHgwNCwweGY5IH19LAotIHsxNiwgMHg4NGIwLCAwLCB7MHgwMCwweDNjLDB4NDAsMHgwZSwweDkwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDNlLDB4NDAsMHgwZiwweDEwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4ODRjMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJhLDB4MTAsMHhhMCwweDAwLDB4ZjgsMHgyNCwweDNlLDB4MDAgfX0sCi0gezE2LCAweDg0ZDAsIDAsIHsweDJjLDB4ODQsMHgwMywweDIwLDB4MDAsMHhiOCwweDIwLDB4M2UsMHgwMCwweDhjLDB4ODAsMHgwMywweGEwLDB4MDAsMHg3MCwweDgyIH19LAotIHsxNiwgMHg4NGUwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjAsMHgwOCwweGY4LDB4MDAsMHgzMiwweDAwLDB4MmMsMHg4MCwweDBiLDB4MjAsMHgwOCB9fSwKLSB7MTYsIDB4ODRmMCwgMCwgezB4YzgsMHgwMCwweDNlLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg1MDAsIDAsIHsweDI4LDB4MDUsMHgyOCwweDA0LDB4YmUsMHg4MCwweDNhLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA0LDB4OGUsMHgwMCwweDZkIH19LAotIHsxNiwgMHg4NTEwLCAwLCB7MHg5MCwweDBkLDB4YTAsMHgwMiwweDNhLDB4MDAsMHg4ZSwweDgwLDB4YTIsMHg4MCwweDBlLDB4ZTAsMHgwYiwweDY4LDB4MDAsMHhiYSB9fSwKLSB7MTYsIDB4ODUyMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGRhLDB4MDAsMHgyZSwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweDg1MzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDgxLDB4NGMsMHgwMCwweGIxLDB4MDAsMHgyYywweGMwIH19LAotIHsxNiwgMHg4NTQwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgwYywweDE4LDB4YTMsMHgwMiwweDJjLDB4MTAsMHg4OCwweDMwLDB4MDYsMHg4MiwweDgxLDB4YTAsMHgwMCB9fSwKLSB7MTYsIDB4ODU1MCwgMCwgezB4MmEsMHhjMCwweDBiLDB4MzAsMHgwYSwweDRjLDB4MDAsMHhiMywweDAwLDB4MjAsMHhjMCwweDFhLDB4YjAsMHgwMiwweDhjLDB4MDEgfX0sCi0gezE2LCAweDg1NjAsIDAsIHsweDgzLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NTcwLCAwLCB7MHgyMCwweDAxLDB4MWMsMHgxMCwweGI0LDB4MGEsMHgyYiwweGM4LDB4MDgsMHgzMSwweDI2LDB4MWMsMHgwMCwweDg2LDB4MDAsMHgyZCB9fSwKLSB7MTYsIDB4ODU4MCwgMCwgezB4YzAsMHgwOSwweDcyLDB4MDIsMHgxZCwweDAwLDB4YTUsMHg0MCwweDI5LDB4YzAsMHgwYSwweDYwLDB4MDIsMHg1YywweDg4LDB4YjMgfX0sCi0gezE2LCAweDg1OTAsIDAsIHsweDIwLDB4MjUsMHhjOCwweDBhLDB4NzIsMHgwMiwweDljLDB4ODAsMHg5NywweDIwLDB4MmMsMHhlOCwweDgwLDB4NzIsMHgwMiwweGU4IH19LAotIHsxNiwgMHg4NWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MjgsMHgwOCwweDE2LDB4MDAsMHhiNSwweDgwLDB4M2QsMHhlMiB9fSwKLSB7MTYsIDB4ODViMCwgMCwgezB4MGMsMHg3YSwweDhiLDB4MGUsMHhjMCwweGE3LDB4ODEsMHgyYywweDIwLDB4MGMsMHhmYywweDAzLDB4OTIsMHgwMiwweGVmLDB4ODAgfX0sCi0gezE2LCAweDg1YzAsIDAsIHsweDM5LDB4ZTQsMHgwYiwweGQ4LDB4MDEsMHgxZiwweDAwLDB4ZjcsMHg4MCwweGIzLDB4ZjQsMHg4ZSwweDc5LDB4MDMsMHg4ZSwweDAwIH19LAotIHsxNiwgMHg4NWQwLCAwLCB7MHhjNywweGM0LDB4M2QsMHhlOCwweDJjLDB4N2IsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODVlMCwgMCwgezB4MDgsMHgxZCwweGFjLDB4MDAsMHhmOCwweDAwLDB4M2UsMHhkZCwweDg3LDB4YjYsMHgwMywweGVkLDB4Y2MsMHhlOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweDg1ZjAsIDAsIHsweDQwLDB4MGYsMHhiMCwweDA3LDB4Y2MsMHgxMCwweDBiLDB4MDAsMHgzNiwweGQ4LDB4MGYsMHg4MCwweDQzLDB4YWQsMHg4MCwweGZiIH19LAotIHsxNiwgMHg4NjAwLCAwLCB7MHgyOCwweDNhLDB4YzAsMHgwZCwweGI0LDB4MDMsMHg2YywweGUyLDB4ZWIsMHg2MCwweDNlLDB4ZDQsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4ODYxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhmZSwweDAwLDB4ZmUsMHg5MCwweDNmLDB4ZTUgfX0sCi0gezE2LCAweDg2MjAsIDAsIHsweDBlLDB4ZjgsMHgwMywweDNlLDB4MTAsMHhmZiwweDkwLDB4MTcsMHg2MCwweDBmLDB4ZmMsMHgwMywweDdhLDB4MDAsMHhlZSwweDgwIH19LAotIHsxNiwgMHg4NjMwLCAwLCB7MHgzNywweGUyLDB4MGUsMHg3OCwweDBmLDB4ZmYsMHg0MCwweGVmLDB4ODgsMHgxZiwweGUwLDB4MGMsMHhmOCwweDgzLDB4ZmUsMHg4MCB9fSwKLSB7MTYsIDB4ODY0MCwgMCwgezB4Y2YsMHhkMCwweGIzLDB4ZjAsMHgwYywweGY4LDB4YzMsMHgxMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg2NTAsIDAsIHsweGE4LDB4MTEsMHg5YywweDQwLDB4YjQsMHgxMCwweDBmLDB4Y2MsMHgwMCwweDcyLDB4MDIsMHgxYywweDAwLDB4YjYsMHgwMiwweDA5IH19LAotIHsxNiwgMHg4NjYwLCAwLCB7MHhjMCwweDI4LDB4ZjAsMHgwMiwweDk4LDB4MDAsMHhhNiwweDAwLDB4MjEsMHhjMCwweDBiLDB4NjAsMHgwMywweGZjLDB4MDIsMHg4NyB9fSwKLSB7MTYsIDB4ODY3MCwgMCwgezB4MDAsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4ZGUsMHgwMCwweDhmLDB4MTAsMHgyMSwweGMwLDB4MDgsMHhmMCwweDAzLDB4NmEgfX0sCi0gezE2LCAweDg2ODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OTQsMHgwMCwweGI2LDB4MDIsMHgyZiwweGMyIH19LAotIHsxNiwgMHg4NjkwLCAwLCB7MHgxYSwweDMwLDB4ODAsMHgxYywweDAwLDB4YjYsMHgwOCwweDAxLDB4NDAsMHgwYSwweGYwLDB4MDIsMHgxOCwweDAwLDB4ODcsMHgwMCB9fSwKLSB7MTYsIDB4ODZhMCwgMCwgezB4MjEsMHhjMCwweDBiLDB4ZDAsMHgwMiwweDljLDB4MTAsMHg4NywweDAwLDB4MjksMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4NDQgfX0sCi0gezE2LCAweDg2YjAsIDAsIHsweDg3LDB4MTAsMHg2NCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDYsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4NmMwLCAwLCB7MHg2MCwweDE0LDB4Y2UsMHg2MCwweGIwLDB4MDAsMHgyYywweGMwLDB4MDgsMHgzNCwweDBhLDB4MGMsMHgwOCwweGIwLDB4MDQsMHgwMCB9fSwKLSB7MTYsIDB4ODZkMCwgMCwgezB4NDAsMHgwOCwweDMwLDB4YTIsMHg4OSwweDgwLDB4YTIsMHg2MiwweDIwLDB4ZTAsMHgwYiwweDAwLDB4MGEsMHhjYywweDA4LDB4ODMgfX0sCi0gezE2LCAweDg2ZTAsIDAsIHsweDAwLDB4NmMsMHhjMCwweDA4LDB4MzAsMHg1MiwweGNjLDB4MDAsMHg4MywweDAwLDB4MjQsMHhjMCwweDA4LDB4MzAsMHgwMiwweDU4IH19LAotIHsxNiwgMHg4NmYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFlLDB4MDAsMHhmOCwweDAwLDB4M2YsMHhkMCB9fSwKLSB7MTYsIDB4ODcwMCwgMCwgezB4MGUsMHhmYywweDAzLDB4M2MsMHgwMCwweGY5LDB4MDAsMHg5MiwweDg0LDB4MGYsMHhmYywweDAzLDB4NjQsMHgwMCwweDgwLDB4MDAgfX0sCi0gezE2LCAweDg3MTAsIDAsIHsweGI3LDB4YzMsMHgwZiwweGI4LDB4ODMsMHhiYywweDA0LDB4ZWYsMHgwMCwweDNmLDB4YzAsMHgzYywweGYwLDB4MDMsMHhmYywweDAyIH19LAotIHsxNiwgMHg4NzIwLCAwLCB7MHhjZiwweDAwLDB4MzcsMHhjMCwweDI4LDB4ZjAsMHgxMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODczMCwgMCwgezB4ODAsMHgwMCwweGVjLDB4MDAsMHhmOCwweDQxLDB4M2UsMHhjOCwweDBmLDB4MzIsMHgwMywweGVjLDB4MDAsMHhmOCwweDAwLDB4M2EgfX0sCi0gezE2LCAweDg3NDAsIDAsIHsweGM0LDB4MGYsMHhiMSwweDAzLDB4YzQsMHgwMCwweGY5LDB4MDAsMHgzNiwweGMwLDB4MGYsMHhlNCwweDBiLDB4ZWMsMHgwNCwweGZiIH19LAotIHsxNiwgMHg4NzUwLCAwLCB7MHgwMCwweDNlLDB4YzEsMHgwZiwweGIwLDB4NDMsMHhlYywweDA0LDB4ZmIsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlNCB9fSwKLSB7MTYsIDB4ODc2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmNCwweDAwLDB4ZmMsMHg4MCwweDNmLDB4YzAgfX0sCi0gezE2LCAweDg3NzAsIDAsIHsweDFmLDB4ZjAsMHgwMywweDNjLDB4MDgsMHhmYiwweDAwLDB4MzMsMHg4MCwweDJlLDB4ZjAsMHgxMywweGE0LDB4MDQsMHhjYiwweDAwIH19LAotIHsxNiwgMHg4NzgwLCAwLCB7MHhiOSwweGMwLDB4MmMsMHhkOCwweDBiLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzZiwweGMwLDB4MDksMHg3MCwweDAwLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4ODc5MCwgMCwgezB4ZmYsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg3YTAsIDAsIHsweGMxLDB4MDAsMHg2YywweDAwLDB4YjgsMHg4MCwweDJlLDB4YzAsMHgwYiwweGIwLDB4MDMsMHg2YywweDAwLDB4YjksMHgxNiwweDI4IH19LAotIHsxNiwgMHg4N2IwLCAwLCB7MHg3MiwweDA4LDB4YjAsMHgyMiwweDI3LDB4NDAsMHhkYiwweDAwLDB4MjIsMHhjMCwweDA4LDB4YmQsMHg4MiwweDJjLDB4MDgsMHhiYiB9fSwKLSB7MTYsIDB4ODdjMCwgMCwgezB4MDAsMHgyZSwweGMwLDB4NDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJiLDB4MDAsMHgyZSwweGMxLDB4MGIsMHhiMCwweDAyLDB4ZTAgfX0sCi0gezE2LCAweDg3ZDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweGI4LDB4NjAsMHgyZSwweGMwIH19LAotIHsxNiwgMHg4N2UwLCAwLCB7MHgwYiwweGIwLDB4MDIsMHgyYywweDAwLDB4YjEsMHgwMCwweDJhLDB4ODQsMHg0YSwweDMwLDB4MjIsMHhhYywweDIwLDB4OTgsMHg4MCB9fSwKLSB7MTYsIDB4ODdmMCwgMCwgezB4MmEsMHhjMCwweDA4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHgzYiwweDAwLDB4MmMsMHhjMCwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDggfX0sCi0gezE2LCAweDg4MDAsIDAsIHsweGJiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHhiMCwweDQyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ODEwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwMSwweGIwLDB4MDAsMHgyYywweGMwLDB4MGIsMHgzMCwweDAyLDB4NGMsMHgwNCwweGIwLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ODgyMCwgMCwgezB4ODAsMHgwOCwweDMwLDB4MDIsMHgwMCwweDAwLDB4MTAsMHgwNCwweDI4LDB4YzAsMHgwOCwweDIwLDB4NDIsMHg4YywweDAwLDB4YjMgfX0sCi0gezE2LCAweDg4MzAsIDAsIHsweDAwLDB4MmMsMHhjMCwweDQyLDB4MzAsMHgwYSwweDhjLDB4MDAsMHhiMywweDAwLDB4MmMsMHhjMCwweDhiLDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHg4ODQwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY0LDB4MDAsMHhmOCwweDUwLDB4M2YsMHhjMCB9fSwKLSB7MTYsIDB4ODg1MCwgMCwgezB4MGIsMHhmMCwweDAzLDB4M2MsMHgwMCwweGZhLDB4MDQsMHgzMiwweDgwLDB4MGUsMHhmMCwweDIzLDB4YWMsMHgwMCwweGQ5LDB4MDAgfX0sCi0gezE2LCAweDg4NjAsIDAsIHsweDNiLDB4YzAsMHgwYywweDkwLDB4MDMsMHhiYywweDA0LDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgyZSwweGYwLDB4MGIsMHgzYywweDAwIH19LAotIHsxNiwgMHg4ODcwLCAwLCB7MHhmZiwweDA0LDB4M2YsMHhjMCwweDBmLDB4ZjAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODg4MCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDAsMHhmYywweDAwLDB4M2YsMHhjMCwweDA3LDB4ZjAsMHgwMywweGZjLDB4MDQsMHg3YywweDAyLDB4YjUgfX0sCi0gezE2LCAweDg4OTAsIDAsIHsweDAwLDB4MGYsMHhmMCwweDAzLDB4ZjAsMHgwMCwweGZjLDB4MDAsMHgzNywweGMwLDB4MGYsMHhmMCwweDEzLDB4N2MsMHgwMCwweGZmIH19LAotIHsxNiwgMHg4OGEwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHg2ZCwweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHgxZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4ODhiMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4ZDUsMHg4MCwweDMzLDB4MGEgfX0sCi0gezE2LCAweDg4YzAsIDAsIHsweDRjLDB4ZjgsMHgwMywweGYyLDB4MDAsMHhmYywweDAwLDB4MzcsMHgyNiwweDFmLDB4Y2EsMHgwMywweGJjLDB4YzQsMHhjZiwweDIwIH19LAotIHsxNiwgMHg4OGQwLCAwLCB7MHgzMywweGU0LDB4MGYsMHg3OCwweDAzLDB4M2UsMHg0NCwweGNmLDB4MDAsMHgzYiwweGNlLDB4OWYsMHg2OCwweDEzLDB4ZDAsMHgwMCB9fSwKLSB7MTYsIDB4ODhlMCwgMCwgezB4Y2QsMHg4MCwweGIzLDB4NjAsMHgwZiwweGZhLDB4ODMsMHhmMCwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDg4ZjAsIDAsIHsweDgwLDB4MTAsMHhlMCwweDgwLDB4YzksMHgyOCwweDIyLDB4MzAsMHgwOCwweGIyLDB4MjIsMHhlYSwweDAxLDB4YjgsMHg4MiwweDIwIH19LAotIHsxNiwgMHg4OTAwLCAwLCB7MHg1MCwweDRmLDB4OWMsMHgwMCwweGE4LDB4ZDEsMHhkYiwweDEwLDB4YTYsMHhlMCwweDE3LDB4YjgsMHgwMywweGVjLDB4ODAsMHhkYiB9fSwKLSB7MTYsIDB4ODkxMCwgMCwgezB4MDgsMHgxZiwweGQwLDB4MGIsMHhiOCwweDAyLDB4ZjYsMHgwMCwweGZiLDB4ODAsMHgyMiwweDQwLDB4MGIsMHhiMCwweDAyLDB4NjAgfX0sCi0gezE2LCAweDg5MjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgyMCwweDgxLDB4ODAsMHgyMCwweDAwIH19LAotIHsxNiwgMHg4OTMwLCAwLCB7MHg4YiwweDMwLDB4ODIsMHhjMCwweDAwLDB4YjAsMHgxMCwweDI4LDB4MDgsMHg4YiwweDExLDB4MzAsMHhjNCwweDg0LDB4OTAsMHgyOCB9fSwKLSB7MTYsIDB4ODk0MCwgMCwgezB4MjQsMHhjOCwweDBiLDB4MzAsMHgwMiwweDRjLDB4MDAsMHg4MywweDEwLDB4MDQsMHhjOCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAgfX0sCi0gezE2LCAweDg5NTAsIDAsIHsweGIzLDB4MDAsMHgyNCwweDQwLDB4MGIsMHgzMCwweDAyLDB4ZTIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4OTYwLCAwLCB7MHhjMCwweDE1LDB4YTYsMHgwMCwweDgxLDB4MDAsMHgyMiwweDEwLDB4MGIsMHhiMCwweDEyLDB4ZWEsMHgyMCwweGJiLDB4MDAsMHgyYSB9fSwKLSB7MTYsIDB4ODk3MCwgMCwgezB4NzAsMHgwYSwweDljLDB4MDIsMHg2MiwweDAwLDB4OTgsMHg4OCwweDI2LDB4YzgsMHgwMiwweGIyLDB4MDIsMHg4ZSwweDA4LDB4OGIgfX0sCi0gezE2LCAweDg5ODAsIDAsIHsweDE4LDB4MjIsMHhjMCwweDBiLDB4YTAsMHgwMiwweGVlLDB4MjAsMHgzYiwweDAwLDB4MjYsMHg0MCwweDBiLDB4YjAsMHgwMiwweDcwIH19LAotIHsxNiwgMHg4OTkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGUwLDB4MDAsMHhjYiwweDAwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4ODlhMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4ZTcsMHgwMCwweGI4LDB4NTIsMHgzZSwweDIwLDB4NGIsMHgwYywweDQzLDB4ZWYsMHg4MiwweDliLDB4YzAgfX0sCi0gezE2LCAweDg5YjAsIDAsIHsweDMyLDB4YzAsMHgwYiwweGIwLDB4MDIsMHg2YywweDAxLDB4OGIsMHg4MCwweDJlLDB4YzAsMHgwYiwweGEwLDB4ODMsMHhlNiwweDAwIH19LAotIHsxNiwgMHg4OWMwLCAwLCB7MHhmYiwweDAwLDB4MzYsMHg0MCwweDBmLDB4ZjAsMHgwMywweGQwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ODlkMCwgMCwgezB4ZTAsMHgwMSwweGIwLDB4MDIsMHhmZiwweDA0LDB4M2YsMHg5MCwweDBjLDB4ZjEsMHgwMSwweGY0LDB4MDgsMHg3ZCwweDgwLDB4MzcgfX0sCi0gezE2LCAweDg5ZTAsIDAsIHsweDAwLDB4MGYsMHhjMCwweDIzLDB4OTgsMHgwMCwweGY3LDB4MDAsMHgyYiwweGUwLDB4MGYsMHhmOCwweDIzLDB4ZmMsMHgwNiwweGZiIH19LAotIHsxNiwgMHg4OWYwLCAwLCB7MHg4MywweGJmLDB4YzAsMHg4NywweGQwLDB4MDMsMHhkYywweDAwLDB4ZWYsMHgwMCwweDNiLDB4YzAsMHgwZiwweGIwLDB4MDEsMHhmOCB9fSwKLSB7MTYsIDB4OGEwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhNiwweDAwLDB4Y2IsMHgwMCwweDMzLDB4ODAgfX0sCi0gezE2LCAweDhhMTAsIDAsIHsweDBmLDB4YjAsMHgwMywweGUxLDB4MTAsMHhmMiwweDQwLDB4YjIsMHgwMCwweDNkLDB4OTQsMHgxNywweDJkLDB4NDQsMHhmYSwweDQxIH19LAotIHsxNiwgMHg4YTIwLCAwLCB7MHgzMiwweGMwLDB4OWYsMHhiMCwweDIzLDB4MmMsMHgwMiwweGNiLDB4NDAsMHgzMiwweGMwLDB4NGYsMHg5MCwweDAzLDB4M2QsMHgwMCB9fSwKLSB7MTYsIDB4OGEzMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhhNDAsIDAsIHsweDg4LDB4MDUsMHgyNiwweDAwLDB4OGIsMHg3MSwweDIwLDB4ZDUsMHgwMywweDk5LDB4MDIsMHhlMCwweDAwLDB4YmIsMHg4MCwweDIyIH19LAotIHsxNiwgMHg4YTUwLCAwLCB7MHg2MCwweDFjLDB4ODAsMHgwMywweDYwLDB4MDAsMHhiOCwweDAyLDB4MjIsMHhjMiwweDBiLDB4MzIsMHgwMiwweDJjLDB4MDEsMHg4ZiB9fSwKLSB7MTYsIDB4OGE2MCwgMCwgezB4MDIsMHhkNywweGMwLDB4MGIsMHhhMCwweDAzLDB4NmQsMHg0MCwweDUzLDB4ODAsMHgyZSwweGMwLDB4MGUsMHhmMCwweDQzLDB4NzIgfX0sCi0gezE2LCAweDhhNzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NjgsMHgwMiwweDgwLDB4MDAsMHgyNCwweDAwIH19LAotIHsxNiwgMHg4YTgwLCAwLCB7MHgwYiwweDM1LDB4MjYsMHhjMiwweDAwLDB4YjAsMHg5MCwweDIwLDB4YzAsMHg4OCwweDAwLDB4MDIsMHg0ZiwweDIwLDB4YjMsMHgwMiB9fSwKLSB7MTYsIDB4OGE5MCwgMCwgezB4NjAsMHhlMiwweDFiLDB4MzgsMHgwMiwweDBjLDB4MDAsMHg4OCwweDAwLDB4NjAsMHhjMCwweDBiLDB4MzQsMHg4MiwweDRjLDB4MDIgfX0sCi0gezE2LCAweDhhYTAsIDAsIHsweGExLDB4OTAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MzAsMHgwMSwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YWIwLCAwLCB7MHgyMCwweDAxLDB4M2EsMHgwOCwweDhjLDB4YTAsMHgyZCwweDIwLDB4NGIsMHg3OCwweDAyLDB4ZGEsMHgwMCwweGIyLDB4OTAsMHgyMSB9fSwKLSB7MTYsIDB4OGFjMCwgMCwgezB4NjYsMHg0OCwweDc5LDB4MDIsMHhkZSwweDQwLDB4YjcsMHg5MSwweGExLDB4ZTAsMHhkYiwweGY4LDB4MDIsMHgxZSwweDQwLDB4ODQgfX0sCi0gezE2LCAweDhhZDAsIDAsIHsweDkwLDB4MDEsMHhlMCwweDhiLDB4ZjksMHgwMiwweDVlLDB4MDEsMHg5NywweDgwLDB4MmQsMHg2MCwweDBhLDB4NzgsMHgwMCwweDQ4IH19LAotIHsxNiwgMHg4YWUwLCAwLCB7MHgwNCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MCwweDAwLDB4MjQsMHgwNCB9fSwKLSB7MTYsIDB4OGFmMCwgMCwgezB4MGYsMHgzMiwweDAzLDB4YzQsMHhhMCwweGYxLDB4NDIsMHgzMCwweGM0LDB4MmMsMHgzMSwweDAyLDB4NDQsMHgwMCwweGYxLDB4MTEgfX0sCi0gezE2LCAweDhiMDAsIDAsIHsweGEwLDB4YzAsMHgwYiwweDMwLDB4MGIsMHgwYywweDQyLDB4ODMsMHgwMCwweDAwLDB4YzAsMHgwZiwweDMwLDB4MDMsMHg0YywweDAyIH19LAotIHsxNiwgMHg4YjEwLCAwLCB7MHhlMywweDAwLDB4M2MsMHg0MCwweDBiLDB4MzAsMHgwMSwweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGIyMCwgMCwgezB4YzAsMHgxZCwweGJjLDB4MDAsMHhmYywweGE1LDB4MzMsMHhjMCwweDBmLDB4ZDAsMHgwMywweGZjLDB4MDEsMHhiZiwweDAwLDB4M2YgfX0sCi0gezE2LCAweDhiMzAsIDAsIHsweGM0LDB4MGUsMHg3MSwweDAzLDB4NzQsMHgwMCwweDc1LDB4MTAsMHgzZiwweGMwLDB4MDUsMHhmMCwweDAzLDB4ZGMsMHg0MCwweGZmIH19LAotIHsxNiwgMHg4YjQwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4NDMsMHhmYywweDAwLDB4N2YsMHgwMCwweDNmLDB4NDAsMHgwZSwweGYwLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4OGI1MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDQsMHhlOCwweDAwLDB4ZjIsMHgwNCwweGIzLDB4ODAgfX0sCi0gezE2LCAweDhiNjAsIDAsIHsweDBmLDB4YjgsMHgwYiwweDJjLDB4MDAsMHhlYiwweDgwLDB4MzIsMHhjMCwweDBjLDB4MjAsMHgxMywweDJlLDB4MDgsMHhjYiwweDAxIH19LAotIHsxNiwgMHg4YjcwLCAwLCB7MHgzMiwweGM1LDB4MGYsMHhiMSwweDAzLDB4ZWMsMHg0OCwweGM4LDB4MTAsMHgzMiwweGZhLDB4OGMsMHgzOCwweDAzLDB4M2MsMHg5MCB9fSwKLSB7MTYsIDB4OGI4MCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4NDAsMHgwZiwweGIwLDB4MTMsMHhjMiwweDA0LDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhiOTAsIDAsIHsweGM4LDB4MTAsMHg5OCwweDAwLDB4ZjYsMHgwMCwweDYxLDB4ODEsMHgwYiwweGYwLDB4MDIsMHgxYywweDAwLDB4ZDcsMHgwMCwweGI3IH19LAotIHsxNiwgMHg4YmEwLCAwLCB7MHg4MCwweDBjLDB4NzAsMHgwMiwweGJjLDB4MTAsMHg4ZiwweDAwLDB4MjEsMHhjOCwweDhiLDB4NzIsMHg0MywweGZjLDB4ODgsMHhkYyB9fSwKLSB7MTYsIDB4OGJiMCwgMCwgezB4MDAsMHgzNywweGM4LDB4MGQsMHg1MCwweDAyLDB4MWMsMHgyMiwweDg3LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg3MCwweDAyLDB4ZDMgfX0sCi0gezE2LCAweDhiYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4OWUsMHgwMCwweGI2LDB4ODAsMHhhOSwweGEwIH19LAotIHsxNiwgMHg4YmQwLCAwLCB7MHg0YiwweDdjLDB4MDIsMHg1ZSwweDMwLDB4YTMsMHg4OCwweDIxLDB4ZjAsMHgwOCwweDc4LDB4MDIsMHgxNiwweDAwLDB4ODUsMHg4MCB9fSwKLSB7MTYsIDB4OGJlMCwgMCwgezB4MjEsMHhlMCwweDBiLDB4NzgsMHgwMiwweGRlLDB4MDAsMHg4NywweDgwLDB4YTEsMHhlNCwweDA4LDB4ZDgsMHgwMiwweDRlLDB4MDAgfX0sCi0gezE2LCAweDhiZjAsIDAsIHsweDk3LDB4ODAsMHgyZCwweDcwLDB4MGIsMHg3OCwweDAyLDB4YzgsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4YzAwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgwMCwweGIyLDB4MDAsMHgyOCwweGMwLDB4MGIsMHgxMCwweDAyLDB4NGUsMHg5MCwweDkzLDB4MDIsMHgyMiB9fSwKLSB7MTYsIDB4OGMxMCwgMCwgezB4ZjAsMHgwOCwweDM4LDB4NDIsMHg4YywweDQyLDB4ODMsMHgwNCwweDIyLDB4ZTQsMHg0YiwweDM4LDB4MDIsMHg4ZSwweDQwLDB4ODMgfX0sCi0gezE2LCAweDhjMjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDA5LDB4MzgsMHgyMiwweDRlLDB4MjEsMHg5MywweDAwLDB4MmUsMHhlMCwweDBiLDB4MzAsMHgwMiwweGRiIH19LAotIHsxNiwgMHg4YzMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGE4LDB4MDEsMHhmYSwweDAwLDB4M2IsMHg4OSB9fSwKLSB7MTYsIDB4OGM0MCwgMCwgezB4MGYsMHhhMCwweDAyLDB4NzgsMHgwOCwweGFlLDB4NDAsMHgyMywweDgwLDB4MmMsMHg2YywweDBiLDB4M2EsMHgwMCwweDhlLDB4OGMgfX0sCi0gezE2LCAweDhjNTAsIDAsIHsweGIyLDB4MDAsMHgwYiwweDgwLDB4ODIsMHhlMCwweDAyLDB4OGUsMHgwMCwweDIyLDB4ODAsMHgwYywweGU4LDB4MDIsMHg3YiwweDgwIH19LAotIHsxNiwgMHg4YzYwLCAwLCB7MHg5YSwweDgwLDB4M2UsMHg4MCwweDBmLDB4YTAsMHgwMywweGZhLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGM3MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDksMHhlYywweDAwLDB4MzYsMHgyMSwweDBiLDB4ODAsMHgxMywweGExLDB4MDAsMHhmOCwweDYwLDB4M2UgfX0sCi0gezE2LCAweDhjODAsIDAsIHsweDAwLDB4MGYsMHg4MSwweDAzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDQzLDB4ZTAsMHgxMCwweGY4IH19LAotIHsxNiwgMHg4YzkwLCAwLCB7MHgwMCwweGJlLDB4MDAsMHgwZiwweDg1LDB4MGIsMHg4MCwweDAwLDB4ZTgsMHgxMCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OGNhMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMiwweDMwLDB4NDggfX0sCi0gezE2LCAweDhjYjAsIDAsIHsweDBjLDB4OTksMHgxMywweGE0LDB4MDIsMHhjOSwweDAwLDB4M2UsMHg0MiwweDBjLDB4OTAsMHg4ZiwweDI0LDB4MDAsMHhmOSwweDAwIH19LAotIHsxNiwgMHg4Y2MwLCAwLCB7MHgzMiwweDI4LDB4MGMsMHg4OCwweDAzLDB4ZTAsMHgwMCwweGM5LDB4MDAsMHhiMiwweDQwLDB4MGYsMHg5MCwweDAzLDB4ZTcsMHgwMCB9fSwKLSB7MTYsIDB4OGNkMCwgMCwgezB4YzksMHgxMCwweDNlLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhjZTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAxLDB4ODksMHg4MCwweGEyLDB4NDgsMHgyOCwweDkyLDB4NDIsMHhjNSwweDAwLDB4ODksMHg0MCwweDJlIH19LAotIHsxNiwgMHg4Y2YwLCAwLCB7MHg0MCwweDJjLDB4OTAsMHgwNiwweDI1LDB4MDAsMHhiOSwweDAwLDB4MjIsMHg1MCwweDA4LDB4OTgsMHgwMiwweGM0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4OGQwMCwgMCwgezB4MDEsMHg3NiwweDQwLDB4NGIsMHg5MiwweDAyLDB4ZTUsMHgwMiwweDg5LDB4MDAsMHgyZSwweDQwLDB4MGQsMHg5MCwweDAzLDB4NjAgfX0sCi0gezE2LCAweDhkMTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwYywweDg1LDB4MjAsMHhhMiwweDQwIH19LAotIHsxNiwgMHg4ZDIwLCAwLCB7MHgwOCwweDkwLDB4MDYsMHhlNSwweDAwLDB4ODksMHg0MCwweDJlLDB4NDAsMHgwOSwweDkwLDB4NDIsMHhhNCwweGEwLDB4MzEsMHgwMCB9fSwKLSB7MTYsIDB4OGQzMCwgMCwgezB4MjIsMHg1MCwweDE4LDB4OTEsMHgwMiwweGU0LDB4MDAsMHg4MSwweDAwLDB4MjIsMHg0MCwweDBiLDB4OTAsMHgwNiwweGU0LDB4MDAgfX0sCi0gezE2LCAweDhkNDAsIDAsIHsweDg5LDB4MDAsMHgyZSwweDQwLDB4MDksMHg5MCwweDAyLDB4MGUsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZDUwLCAwLCB7MHgwMCwweDA0LDB4MTUsMHgwMCwweDg1LDB4NDAsMHgyMCwweDQwLDB4MDgsMHgxNCwweDI2LDB4ZTQsMHgwMCwweDgxLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4OGQ2MCwgMCwgezB4NDAsMHgxOCwweDEwLDB4MDIsMHg4NCwweDgwLDB4YjEsMHgyMCwweGEwLDB4NTAsMHgwOCwweDE0LDB4MDIsMHhlNSwweDAyLDB4ODEgfX0sCi0gezE2LCAweDhkNzAsIDAsIHsweDQwLDB4MjAsMHg0OCwweDBiLDB4MTAsMHgwNiwweGNjLDB4MDAsMHg4MSwweDAxLDB4MmMsMHg1MCwweDA5LDB4MTQsMHgwMiwweDRhIH19LAotIHsxNiwgMHg4ZDgwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHg4YywweDAwLDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4OGQ5MCwgMCwgezB4MGMsMHg4MCwweDIzLDB4ZTAsMHgwMCwweGM4LDB4MDAsMHgzZSwweDE0LDB4MGQsMHg4MCwweDEyLDB4YTEsMHg0NCwweGY4LDB4NTEgfX0sCi0gezE2LCAweDhkYTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDgwLDB4MDMsMHhlMCwweDAwLDB4ODgsMHgwNCwweDIyLDB4MTQsMHgwZiwweDgwLDB4MDcsMHhlMCwweDAwIH19LAotIHsxNiwgMHg4ZGIwLCAwLCB7MHhjOCwweDAwLDB4M2UsMHgwMCwweDBkLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGRjMCwgMCwgezB4OTgsMHg5ZCwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2YsMHg1MCwweDBmLDB4ZDAsMHgwMywweGRjLDB4MDEsMHhiZCwweDQyLDB4M2YgfX0sCi0gezE2LCAweDhkZDAsIDAsIHsweDUwLDB4NGYsMHhkNCwweDQzLDB4NzQsMHg0MSwweGZkLDB4MTAsMHgzZiwweDEwLDB4MWYsMHhjNCwweDEzLDB4ZjEsMHgwMCwweGZkIH19LAotIHsxNiwgMHg4ZGUwLCAwLCB7MHg0MCwweDdlLDB4NDQsMHgwZiwweGQwLDB4NDMsMHhmNSwweDAxLDB4ZmQsMHgwMCwweDNmLDB4NDAsMHgwZiwweDk0LDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4OGRmMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNCwweDAwLDB4ZGYsMHgwNSwweDMzLDB4NjEgfX0sCi0gezE2LCAweDhlMDAsIDAsIHsweDBmLDB4NTAsMHg1MywweDM0LDB4MTAsMHhmZCwweDA0LDB4MzMsMHg0NCwweDRmLDB4NTAsMHgwMywweDc2LDB4YzEsMHhjZCwweGUwIH19LAotIHsxNiwgMHg4ZTEwLCAwLCB7MHgzMywweDYwLDB4MGMsMHhjZSwweDAzLDB4ZjYsMHhjMCwweGUxLDB4YzAsMHhiNiwweDY0LDB4OGYsMHg1MCwweDBiLDB4MzYsMHg4MiB9fSwKLSB7MTYsIDB4OGUyMCwgMCwgezB4Y2QsMHgwMCwweDNlLDB4NDQsMHg0YywweDllLDB4YzMsMHhjNiwweDAxLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhlMzAsIDAsIHsweDM4LDB4MTAsMHhlYSwweDI4LDB4ODAsMHhhMCwweGIyLDB4MDQsMHgwYiwweDhhLDB4ODMsMHg2MCwweDAwLDB4ZmEsMHgwMCwweDM2IH19LAotIHsxNiwgMHg4ZTQwLCAwLCB7MHgyOCwweDhiLDB4ODAsMHgwMywweGUzLDB4YzgsMHhjOCwweDg0LDB4MjIsMHgxNCwweDA4LDB4OGEsMHgwMiwweGUyLDB4ODAsMHhkOCB9fSwKLSB7MTYsIDB4OGU1MCwgMCwgezB4ODIsMHgzNCwweDM0LDB4MWIsMHg4MCwweDAzLDB4NjAsMHgwNCwweDg4LDB4MDAsMHgyZSwweDIwLDB4MGEsMHg4ZSwweDQyLDB4Y2UgfX0sCi0gezE2LCAweDhlNjAsIDAsIHsweDA2LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDA1LDB4YzQsMHg4MCwweDgxLDB4MDgsMHgwNCwweDQxIH19LAotIHsxNiwgMHg4ZTcwLCAwLCB7MHgwYiwweDkyLDB4MDIsMHgwNCwweDAwLDB4YjEsMHgwMCwweDJjLDB4NDAsMHgwYiwweDE4LDB4MDIsMHgyNCwweDAwLDB4YjEsMHg2MCB9fSwKLSB7MTYsIDB4OGU4MCwgMCwgezB4MjYsMHg0MCwweDBhLDB4MTYsMHgwMiwweGM1LDB4MDAsMHhhMSwweGMwLDB4MjAsMHg0OCwweDBiLDB4OTAsMHgwMiwweDQ3LDB4MDAgfX0sCi0gezE2LCAweDhlOTAsIDAsIHsweDkxLDB4MDEsMHgyYywweDQ4LDB4MTgsMHgxMiwweDAyLDB4ZDIsMHgwMSwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZWEwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwYywweDhiLDB4MDQsMHhhMiwweDUwLDB4MGIsMHg5MSwweDAyLDB4MjQsMHgwNCwweGE5LDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4OGViMCwgMCwgezB4NDIsMHgwYiwweDkwLDB4MDIsMHhhNCwweDAwLDB4YTksMHgwMCwweDI2LDB4NjAsMHgwYSwweDkwLDB4MDIsMHhlNiwweDAwLDB4ODEgfX0sCi0gezE2LCAweDhlYzAsIDAsIHsweDAwLDB4MjIsMHg0MCwweDhiLDB4YjAsMHgwMiwweDI0LDB4MDgsMHg5OSwweDEwLDB4MmUsMHg0MCwweDFhLDB4OTAsMHgwMiwweGM2IH19LAotIHsxNiwgMHg4ZWQwLCAwLCB7MHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU1LDB4MDAsMHhjOSwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4OGVlMCwgMCwgezB4MGYsMHgxMCwweDAyLDB4MjUsMHgwMCwweGIxLDB4MDAsMHgyZSwweDYwLDB4MGYsMHgxMCwweDEyLDB4MjQsMHgwMiwweGI5LDB4YTAgfX0sCi0gezE2LCAweDhlZjAsIDAsIHsweGE0LDB4NDAsMHgyZSwweDkxLDB4MDMsMHhlNiwweDAwLDB4YTksMHgwMCwweDIyLDB4NDAsMHgwYiwweDE5LDB4ODAsMHg2NCwweDA0IH19LAotIHsxNiwgMHg4ZjAwLCAwLCB7MHhkOSwweDgxLDB4MmUsMHg0MCwweDRjLDB4OTAsMHgwMywweGU4LDB4MTQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OGYxMCwgMCwgezB4NjgsMHgwMSwweGE0LDB4MGEsMHhlOSwweDAwLDB4YmUsMHg0OCwweDBmLDB4OTgsMHgwYiwweGU0LDB4MDAsMHhmOSwweGM0LDB4MzYgfX0sCi0gezE2LCAweDhmMjAsIDAsIHsweDcwLDB4MWYsMHg5MiwweDAzLDB4ZTYsMHg5MCwweGMxLDB4OTAsMHgzYSwweDQwLDB4OGQsMHg4OCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHg4ZjMwLCAwLCB7MHg5MCwweDNlLDB4NDAsMHgwYiwweDk4LDB4MDMsMHhlNiwweDQwLDB4ZTksMHgwMCwweDNlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OGY0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDY4LDB4MTAsMHhhMSwweDAyLDB4ZDgsMHgyMCwweGIyLDB4MTAgfX0sCi0gezE2LCAweDhmNTAsIDAsIHsweDBjLDB4ODAsMHg4MywweDIxLDB4NDAsMHhjOCwweDU4LDB4YjIsMHgxMCwweDRjLDB4ODAsMHgwYiwweDIwLDB4MDAsMHhmOCwweDQyIH19LAotIHsxNiwgMHg4ZjYwLCAwLCB7MHgzMiwweDAwLDB4MGYsMHg4MCwweDAzLDB4ZTAsMHgwMiwweGQ4LDB4MDAsMHg3MiwweDAwLDB4MWMsMHg4MCwweDAwLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4OGY3MCwgMCwgezB4ZjgsMHgwNCwweDNlLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwMiwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDhmODAsIDAsIHsweDI4LDB4MDUsMHgzOCwweDA0LDB4Y2UsMHg0MSwweDIzLDB4ODAsMHgwOCwweGUwLDB4MDIsMHgzOSwweDEwLDB4YWUsMHg0MCwweDIyIH19LAotIHsxNiwgMHg4ZjkwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMiwweDFhLDB4MDAsMHhiYSwweDAwLDB4MmIsMHhhZCwweDAzLDB4ODAsMHgwMiwweGU4LDB4MDAsMHhjYSB9fSwKLSB7MTYsIDB4OGZhMCwgMCwgezB4MDAsMHgyYSwweDgwLDB4MGEsMHhlMCwweDAyLDB4MTgsMHgwMCwweGJhLDB4MDAsMHgxYSwweDgwLDB4MGIsMHhhMCwweDAzLDB4NGEgfX0sCi0gezE2LCAweDhmYjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg2OCwweDA1LDB4NmMsMHgxMiwweDg5LDB4MDAsMHhhMCwweGUwIH19LAotIHsxNiwgMHg4ZmMwLCAwLCB7MHgwOCwweDM4LDB4MDIsMHgwZCwweDg4LDB4ODMsMHgwMCwweDA0LDB4ZTAsMHgwOCwweDM4LDB4MzIsMHgwZSwweDI1LDB4MzEsMHgwMSB9fSwKLSB7MTYsIDB4OGZkMCwgMCwgezB4MjQsMHhlMCwweDhiLDB4MzgsMHgwMiwweGU0LDB4MDEsMHg4MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDhjLDB4MDAgfX0sCi0gezE2LCAweDhmZTAsIDAsIHsweGIzLDB4MDAsMHgyZSwweGMwLDB4MGIsMHgzMCwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg4ZmYwLCAwLCB7MHhhMCwweDAxLDB4MTQsMHgyMCwweDg2LDB4MjAsMHgyOSwweGIwLDB4MDgsMHhmMCwweDgyLDB4M2UsMHgwNCwweGE3LDB4MDAsMHgyMSB9fSwKLSB7MTYsIDB4OTAwMCwgMCwgezB4NzAsMHg4OCwweDcwLDB4OTIsMHgxYywweDIwLDB4YmQsMHgwMCwweDY5LDB4YzAsMHgwYiwweDc2LDB4MDIsMHhkNCwweDgwLDB4OGYgfX0sCi0gezE2LCAweDkwMTAsIDAsIHsweDIxLDB4MjksMHhlMCwweDBhLDB4NjAsMHg4NiwweDk4LDB4MDEsMHhiNywweDAwLDB4MmQsMHhjOCwweDBiLDB4M2IsMHgwMiwweDYwIH19LAotIHsxNiwgMHg5MDIwLCAwLCB7MHgwNCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNlLDB4MDAsMHhjNywweGEwLDB4YjAsMHhlMCB9fSwKLSB7MTYsIDB4OTAzMCwgMCwgezB4MmMsMHg3OCwweDBiLDB4MWEsMHgwMCwweGMzLDB4ODAsMHgzNywweGUwLDB4MjgsMHg3OCwweDAzLDB4MWEsMHgwOCwweGY1LDB4OTAgfX0sCi0gezE2LCAweDkwNDAsIDAsIHsweDM1LDB4ZTAsMHgwZiwweDdjLDB4MTIsMHhkNiwweDgyLDB4YzcsMHg5MCwweDIxLDB4ZTQsMHgwOCwweDc4LDB4MDMsMHg5ZSwweDAwIH19LAotIHsxNiwgMHg5MDUwLCAwLCB7MHhmNSwweDgwLDB4M2QsMHhmMSwweDBmLDB4NzgsMHgwMywweDIyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTA2MCwgMCwgezB4MDgsMHgxOSwweGE0LDB4MDAsMHhlZSwweDgwLDB4MzYsMHhjMSwweDRmLDB4ZDAsMHgwMywweGM4LDB4MDAsMHhmYiwweDAwLDB4M2UgfX0sCi0gezE2LCAweDkwNzAsIDAsIHsweDUxLDB4MGYsMHhiMCwweDAzLDB4ZTQsMHgwOCwweGYxLDB4NjAsMHgzZSwweGMwLDB4MGYsMHhiMCwweDAzLDB4YzUsMHgwMCwweGViIH19LAotIHsxNiwgMHg5MDgwLCAwLCB7MHgxMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDksMHg2YywweDAwLDB4ZmIsMHgwMCwweDNhLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4OTA5MCwgMCwgezB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDEsMHhmZSwweDAwLDB4ZmQsMHg4OCwweDMzLDB4NjAgfX0sCi0gezE2LCAweDkwYTAsIDAsIHsweDBmLDB4ZjksMHgwMywweGNlLDB4NDAsMHhkNywweDg0LDB4MzcsMHg3MCwweDBjLDB4ZDgsMHgyMywweDM2LDB4MDAsMHhjNSwweDg4IH19LAotIHsxNiwgMHg5MGIwLCAwLCB7MHgzMywweGUwLDB4NGYsMHhmOCwweDEzLDB4ZjcsMHgyOCwweGRmLDB4ODAsMHgzNywweGUyLDB4MGMsMHg1OCwweDAzLDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4OTBjMCwgMCwgezB4ZmYsMHg5MCwweDNmLDB4ZTAsMHgwYywweGY4LDB4MDMsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkwZDAsIDAsIHsweGE5LDB4MTEsMHg5YywweDA4LDB4ZjYsMHgwMCwweGExLDB4MDAsMHgwYiwweDYzLDB4MDIsMHhkNiwweDMwLDB4ODUsMHg0MSwweDMxIH19LAotIHsxNiwgMHg5MGUwLCAwLCB7MHhjOCwweDA4LDB4NTAsMHgyMywweDFjLDB4MDAsMHhkNSwweDIwLDB4YjEsMHg4MCwweDBmLDB4NzAsMHgwMywweGI0LDB4MDAsMHhjNyB9fSwKLSB7MTYsIDB4OTBmMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MGYsMHg0MCwweGEzLDB4NTgsMHg0MCwweGI3LDB4MDAsMHgzZiwweGM0LDB4MGEsMHhmMCwweDAyLDB4MmEgfX0sCi0gezE2LCAweDkxMDAsIDAsIHsweDA2LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWMsMHg0MCwweGI3LDB4MTAsMHgyMSwweGQyIH19LAotIHsxNiwgMHg5MTEwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHhkYywweDQyLDB4ODYsMHgwMCwweDI1LDB4NjEsMHgwOCwweDUxLDB4MDIsMHg1MCwweDAwLDB4OTUsMHgwMCB9fSwKLSB7MTYsIDB4OTEyMCwgMCwgezB4MjUsMHhjMCwweDA5LDB4NzAsMHg4MiwweGQ0LDB4MDAsMHg4NywweDAwLDB4MjQsMHhjMCwweDA4LDB4NTAsMHgwMiwweDVjLDB4MDAgfX0sCi0gezE2LCAweDkxMzAsIDAsIHsweDk1LDB4MDQsMHgyZCwweGMwLDB4MDgsMHg3MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MTQwLCAwLCB7MHgyMCwweDE0LDB4Y2MsMHgwOCwweGIyLDB4ZDAsMHgyMCwweGUwLDB4NGIsMHgwOCwweDAyLDB4YzQsMHgwMCwweDgwLDB4ODAsMHgyMCB9fSwKLSB7MTYsIDB4OTE1MCwgMCwgezB4ZjAsMHgwOCwweDFhLDB4MDIsMHg4NSwweDQ4LDB4ODEsMHgxMCwweDIwLDB4NDAsMHgwYSwweDMwLDB4MDIsMHhjNiwweDEwLDB4OTMgfX0sCi0gezE2LCAweDkxNjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBhLDB4MWMsMHgwMiwweDBkLDB4NDAsMHhiMywweDAwLDB4NjgsMHhjNCwweDBhLDB4YjAsMHgwMiwweDA5IH19LAotIHsxNiwgMHg5MTcwLCAwLCB7MHgwMCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDEsMHhmZSwweDAwLDB4MzIsMHhmMCB9fSwKLSB7MTYsIDB4OTE4MCwgMCwgezB4MGYsMHg4OCwweDAzLDB4ZTYsMHgwMCwweGM4LDB4YzgsMHgzNiwweGY2LDB4MjgsMHhhNiwweDBhLDB4NmQsMHgwMCwweDlkLDB4MDAgfX0sCi0gezE2LCAweDkxOTAsIDAsIHsweDMyLDB4MDAsMHgwYiwweGIwLDB4MDMsMHhmNiwweDAzLDB4YzcsMHgwMCwweDM3LDB4YzAsMHgwOCwweDljLDB4MGEsMHg2ZSwweDAwIH19LAotIHsxNiwgMHg5MWEwLCAwLCB7MHhiYiwweDAwLDB4MmYsMHhjMCwweDBjLDB4ZjAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTFiMCwgMCwgezB4ODAsMHgwMCwweGU0LDB4MDEsMHhlYiwweDQwLDB4M2UsMHg4MCwweDRmLDB4YzEsMHgwMywweGU0LDB4MDAsMHhiOCwweDA4LDB4M2EgfX0sCi0gezE2LCAweDkxYzAsIDAsIHsweDQwLDB4OGYsMHhhNCwweDEzLDB4NmMsMHgyMCwweGY5LDB4MDAsMHgzZSwweDcwLDB4MGYsMHhiMCwweDAzLDB4YTQsMHg0MCwweGViIH19LAotIHsxNiwgMHg5MWQwLCAwLCB7MHgwMCwweDNlLDB4YzAsMHgwZiwweDkyLDB4MjMsMHhlOCwweDAwLDB4ZjksMHg4MCwweDNlLDB4YzAsMHgwZiwweGIwLDB4NjMsMHhlMCB9fSwKLSB7MTYsIDB4OTFlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDA4LDB4Y2UsMHgwOCwweDMzLDB4YzAgfX0sCi0gezE2LCAweDkxZjAsIDAsIHsweDBmLDB4ZGEsMHgwMywweDMwLDB4MDAsMHhlNCwweDA0LDB4MzUsMHhjMCwweDBkLDB4YTAsMHgwMywweDI4LDB4MDAsMHhjNSwweDAwIH19LAotIHsxNiwgMHg5MjAwLCAwLCB7MHgzMywweDAwLDB4MGIsMHhmYSwweDAzLDB4ZjQsMHgwMywweGNiLDB4MDAsMHgzMSwweGMwLDB4MGMsMHhkNCwweDAzLDB4MTQsMHgyMCB9fSwKLSB7MTYsIDB4OTIxMCwgMCwgezB4Y2QsMHg4MCwweDIzLDB4YzEsMHgwYywweGYwLDB4MDIsMHgwOCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkyMjAsIDAsIHsweDgxLDB4MDQsMHg0NCwweDEwLDB4Y2IsMHhkMCwweDIyLDB4YzAsMHgwYiwweDk0LDB4MDIsMHgyMiwweDg0LDB4YjgsMHhjNiwweDAyIH19LAotIHsxNiwgMHg5MjMwLCAwLCB7MHg0MCwweDA4LDB4MjgsMHgwMiwweGE1LDB4ODAsMHg4OSwweDAwLDB4MjIsMHg2MCwweDBiLDB4YjgsMHgwMiwweDY0LDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4OTI0MCwgMCwgezB4MDAsMHgyYSwweGMwLDB4YzgsMHgwMCwweDAzLDB4NjYsMHgwMCwweDgxLDB4MDAsMHgwMCwweGMwLDB4MGQsMHhiMCwweDBhLDB4YTggfX0sCi0gezE2LCAweDkyNTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmMsMHgwMCwweDEzLDB4MDAsMHgyMiwweDQwIH19LAotIHsxNiwgMHg5MjYwLCAwLCB7MHg4YiwweDI0LDB4MDIsMHgyYSwweDAwLDB4YmIsMHg4MiwweDIyLDB4NDAsMHgwMCwweGFjLDB4MDIsMHg4NCwweDAwLDB4ODksMHgwMCB9fSwKLSB7MTYsIDB4OTI3MCwgMCwgezB4MjIsMHgyMiwweDBiLDB4YjAsMHgwMiwweGM0LDB4MDAsMHg5YiwweDAwLDB4MmEsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJlLDB4MDAgfX0sCi0gezE2LCAweDkyODAsIDAsIHsweDhiLDB4MTAsMHgyYSwweGMwLDB4MDgsMHhiMCwweDAyLDB4YTAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5MjkwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgxMCwweDgzLDB4MDAsMHgyMCwweDAxLDB4MGIsMHgyMCwweDAyLDB4MDAsMHg4MCwweGIxLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4OTJhMCwgMCwgezB4YzEsMHgwOCwweDIwLDB4MDIsMHg4OCwweDAxLDB4ODEsMHgwMCwweGEwLDB4MDAsMHgwYiwweDMwLDB4MDIsMHg0NCwweDAxLDB4OWIgfX0sCi0gezE2LCAweDkyYjAsIDAsIHsweDAwLDB4MjgsMHhjMCwweDA4LDB4YjAsMHgwMiwweDQ4LDB4MDYsMHg4OSwweDAwLDB4MmEsMHhjMCwweDA5LDB4MzAsMHgwMiwweDgyIH19LAotIHsxNiwgMHg5MmMwLCAwLCB7MHgwNSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4ZCwweDZjLDB4MDAsMHhjMywweDAwLDB4YjIsMHhjMCB9fSwKLSB7MTYsIDB4OTJkMCwgMCwgezB4MGYsMHhiMCwweDAzLDB4MjgsMHgyMCwweGZhLDB4MDAsMHhiMSwweDQwLDB4MGQsMHhhMCwweDA3LDB4YTAsMHgwMCwweGNkLDB4MDAgfX0sCi0gezE2LCAweDkyZTAsIDAsIHsweDIyLDB4MDAsMHgwZiwweGIwLDB4MDMsMHhmNCwweDAwLDB4OWYsMHgwMCwweDNiLDB4YzAsMHgyYywweGIwLDB4MGIsMHgyNCwweDAwIH19LAotIHsxNiwgMHg5MmYwLCAwLCB7MHhjOSwweDAwLDB4YmEsMHhjMCwweDBjLDB4YjAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTMwMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MDYsMHhmZiwweDAyLDB4YWYsMHhjMCwweDBmLDB4YzAsMHgwMywweGYwLDB4MTAsMHhmYywweDAwLDB4M2YgfX0sCi0gezE2LCAweDkzMTAsIDAsIHsweGMwLDB4OWYsMHhlMCwweDEzLDB4ZjAsMHgwMCwweGZkLDB4MDQsMHgzZiwweDQwLDB4NGYsMHhmMCwweDAzLDB4NzQsMHgwMCwweGVmIH19LAotIHsxNiwgMHg5MzIwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg4ZiwweGUwLDB4MDIsMHhiNCwweDAxLDB4ZmQsMHgwNCwweDM3LDB4YzAsMHgwZiwweGYwLDB4NDMsMHg2OCB9fSwKLSB7MTYsIDB4OTMzMCwgMCwgezB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDAwLDB4YzcsMHgyMCwweGIzLDB4YzggfX0sCi0gezE2LCAweDkzNDAsIDAsIHsweDFjLDB4ZjEsMHgwMywweDdjLDB4MjAsMHhjZiwweDBhLDB4M2YsMHhkMCwweDBkLDB4ZjAsMHgwMywweDdjLDB4ODAsMHg4ZiwweDMyIH19LAotIHsxNiwgMHg5MzUwLCAwLCB7MHgzMywweGM0LDB4MGYsMHhmMSwweDgzLDB4M2MsMHhlMCwweGNmLDB4MTAsMHgzMywweGM0LDB4MGQsMHhmMiwweDgzLDB4M2MsMHhlMiB9fSwKLSB7MTYsIDB4OTM2MCwgMCwgezB4YzcsMHg4MCwweDE3LDB4Y2MsMHg0YywweGYzLDB4ODMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDkzNzAsIDAsIHsweDgwLDB4MTAsMHhlMywweDQwLDB4ODgsMHg2OCwweDIyLDB4MzAsMHgwOCwweDA2LDB4MDIsMHgwMSwweGExLDB4ODgsMHhjNCwweDBlIH19LAotIHsxNiwgMHg5MzgwLCAwLCB7MHgxNCwweDA4LDB4ODcsMHg4MCwweDAxLDB4YzAsMHgyOCwweDUwLDB4MDIsMHgwNCwweDhiLDB4ODYsMHgwMiwweGExLDB4OTgsMHg4OCB9fSwKLSB7MTYsIDB4OTM5MCwgMCwgezB4NDEsMHgyYSwweDA0LDB4MGEsMHg4NCwweDgyLDB4YmQsMHg4MCwweDhiLDB4MDgsMHgyYiwweGM0LDB4ODgsMHhmNCwweDAzLDB4NjAgfX0sCi0gezE2LCAweDkzYTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2MsMHgwOCwweDgyLDB4NDAsMHgyMCwweDEwIH19LAotIHsxNiwgMHg5M2IwLCAwLCB7MHgwOCwweDIxLDB4MTIsMHg0NCwweDA0LDB4ODIsMHgwNCwweDJjLDB4MDgsMHg4OSwweDkwLDB4MDIsMHg0NCwweDIxLDB4OGIsMHgwMCB9fSwKLSB7MTYsIDB4OTNjMCwgMCwgezB4MjQsMHg4OCwweDhiLDB4YTAsMHgwMCwweDQwLDB4ODQsMHg4OSwweDMwLDB4MjIsMHg0OCwweDg4LDB4YjAsMHgwMiwweGNjLDB4MDggfX0sCi0gezE2LCAweDkzZDAsIDAsIHsweDg4LDB4MjAsMHhhNCwweGM4LDB4MDAsMHgzMiwweDBhLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5M2UwLCAwLCB7MHhjMCwweDE1LDB4YTAsMHgwMCwweDg5LDB4MDAsMHgyMiwweGMxLDB4ODgsMHg5MCwweDYyLDB4MjgsMHgwOCwweDg5LDB4MDgsMHgyZSB9fSwKLSB7MTYsIDB4OTNmMCwgMCwgezB4YzAsMHgwOCwweGEwLDB4MDIsMHgyOCwweDA4LDB4YTgsMHgwMCwweDI2LDB4NDIsMHgwYiwweDkwLDB4MDIsMHhjYywweDUwLDB4OGEgfX0sCi0gezE2LCAweDk0MDAsIDAsIHsweDIyLDB4MmEsMHg4NiwweDBhLDB4ODAsMHgwMiwweGVjLDB4MDAsMHg4OCwweDg0LDB4MmEsMHhjMSwweDA4LDB4YjAsMHgyNiwweDMwIH19LAotIHsxNiwgMHg5NDEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGYwLDB4MDIsMHhjZiwweDAwLDB4MzMsMHhjMCB9fSwKLSB7MTYsIDB4OTQyMCwgMCwgezB4NDgsMHhmOCwweDQzLDB4NzksMHgwMCwweDhkLDB4YzAsMHgzZiwweDMwLDB4OGQsMHg2MCwweDgzLDB4NzgsMHg2MCwweGM0LDB4NTggfX0sCi0gezE2LCAweDk0MzAsIDAsIHsweDM3LDB4MjAsMHgwZiwweDU4LDB4MTMsMHg3YiwweDAyLDB4Y2MsMHhjNCwweDMxLDB4MjAsMHgwYywweDQ0LDB4MDMsMHhlYywweDAyIH19LAotIHsxNiwgMHg5NDQwLCAwLCB7MHg4YiwweDgwLDB4MzYsMHhjMCwweDI0LDB4YjAsMHgxMiwweDEwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTQ1MCwgMCwgezB4ZTAsMHgwMSwweDljLDB4MDAsMHhmNCwweDEwLDB4M2QsMHgwMCwweDZmLDB4YzksMHgxMywweGQ0LDB4MTIsMHhmZSwweDkwLDB4M2YgfX0sCi0gezE2LCAweDk0NjAsIDAsIHsweGYwLDB4MGYsMHhkYSwweDIzLDB4ZjQsMHgxNCwweGZmLDB4MDIsMHgzYiwweGYwLDB4MGYsMHhlYSwweDIzLDB4YjYsMHgwMCwweGZmIH19LAotIHsxNiwgMHg5NDcwLCAwLCB7MHg4MiwweDNmLDB4ZTEsMHg4ZiwweGY0LDB4MDMsMHhiYywweDAwLDB4ZmYsMHgwMCwweDNmLDB4YzAsMHhhZiwweDcwLDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4OTQ4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMCwweDAwLDB4Y2EsMHgwMCwweDMyLDB4MDggfX0sCi0gezE2LCAweDk0OTAsIDAsIHsweDFjLDB4YTAsMHgwMywweGE1LDB4MjAsMHhjYiwweDQwLDB4YmEsMHgxMCwweDFmLDB4YjAsMHgwMywweGFjLDB4MDAsMHhlYiwweDAwIH19LAotIHsxNiwgMHg5NGEwLCAwLCB7MHg3MiwweDkwLDB4MGMsMHhiNCwweDAzLDB4MjksMHgwNCwweGM5LDB4NTIsMHgzMiwweDUwLDB4MGMsMHhiNCwweDAzLDB4MGMsMHgwMCB9fSwKLSB7MTYsIDB4OTRiMCwgMCwgezB4ZjgsMHg0MCwweDMyLDB4YzEsMHgwZSwweGIwLDB4MGIsMHg1MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk0YzAsIDAsIHsweGM4LDB4MDUsMHgyZCwweDgwLDB4ODksMHg4MCwweDIyLDB4ZDksMHgwOCwweDkwLDB4MjIsMHgyYSwweDAwLDB4ODgsMHg1NCwweDIyIH19LAotIHsxNiwgMHg5NGQwLCAwLCB7MHhjMCwweDhiLDB4ODAsMHgyMiwweDIwLDB4MTksMHhjOCwweDAwLDB4MjIsMHg0MCwweDhkLDB4ODAsMHgxYSwweDI0LDB4MTAsMHhkMiB9fSwKLSB7MTYsIDB4OTRlMCwgMCwgezB4NDQsMHgyMiwweDgxLDB4MGQsMHg4MCwweDAzLDB4N2MsMHgwMCwweGIwLDB4MDAsMHgzNywweGMwLDB4ODgsMHhmMCwweDAyLDB4MzIgfX0sCi0gezE2LCAweDk0ZjAsIDAsIHsweDEwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NGUsMHgwMCwweDgxLDB4MDAsMHhhMCwweGYwIH19LAotIHsxNiwgMHg5NTAwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHg4OSwweDAyLDB4ODAsMHgwMCwweDIyLDB4YzAsMHgwYiwweDAwLDB4MjIsMHhhMCwweDAwLDB4YjAsMHgwMCB9fSwKLSB7MTYsIDB4OTUxMCwgMCwgezB4MjAsMHg0MCwweDA4LDB4MDAsMHgwMiwweDA0LDB4MDAsMHg4MiwweDYwLDB4MjAsMHg4MCwweDA4LDB4MDAsMHgwMiwweDBjLDB4MDggfX0sCi0gezE2LCAweDk1MjAsIDAsIHsweGIyLDB4MDAsMHgyMiwweGMwLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NTMwLCAwLCB7MHgyMCwweDAxLDB4MDMsMHgxMCwweDhlLDB4OTAsMHgyMywweDI0LDB4MDgsMHg2YiwweDAyLDB4MTYsMHg2MCwweDhmLDB4ODAsMHgyMSB9fSwKLSB7MTYsIDB4OTU0MCwgMCwgezB4MjgsMHgwYiwweGY5LDB4MDYsMHgxZSwweDQwLDB4OGYsMHg4MCwweDIzLDB4YTQsMHg0OSwweDc5LDB4MDIsMHgzYSwweDQwLDB4OWQgfX0sCi0gezE2LCAweDk1NTAsIDAsIHsweDkwLDB4MjMsMHg2NCwweDA5LDB4ZjgsMHgwMiwweDVlLDB4NDAsMHhiZSwweDkwLDB4MjQsMHhlNCwweDI4LDB4NzksMHgwMiwweDA4IH19LAotIHsxNiwgMHg5NTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4NDIsMHhjMCwweDA5LDB4MzAsMHgwMCB9fSwKLSB7MTYsIDB4OTU3MCwgMCwgezB4MjgsMHgwMiwweDAzLDB4ODQsMHgwMCwweDhhLDB4MjAsMHgzMCwweGM0LDB4OGIsMHgxMSwweDAzLDB4ODQsMHg1MCwweGIzLDB4MDAgfX0sCi0gezE2LCAweDk1ODAsIDAsIHsweDIwLDB4YzAsMHgwYywweGE0LDB4MjIsMHgwNCwweDAwLDB4Y2IsMHg0MCwweDMwLDB4YzUsMHgwYywweDMwLDB4MDMsMHgwZSwweDQwIH19LAotIHsxNiwgMHg5NTkwLCAwLCB7MHhmMywweDEwLDB4MzAsMHhjNCwweDBjLDB4YjAsMHgwMywweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTVhMCwgMCwgezB4NDAsMHgxZCwweGIwLDB4MDQsMHhmYiwweDA0LDB4M2QsMHhjMCwweDBmLDB4ZjIsMHg0MywweGY4LDB4MDQsMHhmZCwweDAxLDB4M2YgfX0sCi0gezE2LCAweDk1YjAsIDAsIHsweDBjLDB4MGYsMHg2MSwweDAzLDB4ZjgsMHg0OCwweGY0LDB4MDAsMHgzZCwweDAxLDB4MGYsMHhkMCwweDAzLDB4YzgsMHgwMCwweGZjIH19LAotIHsxNiwgMHg5NWMwLCAwLCB7MHgwNCwweGJkLDB4MDQsMHgwYiwweDQ4LDB4MDMsMHhmYywweDE4LDB4ZmYsMHgxNCwweDNmLDB4ZDUsMHgwZCwweGYwLDB4MDMsMHg5MCB9fSwKLSB7MTYsIDB4OTVkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlMCwweDAwLDB4ZjksMHgwMSwweDMyLDB4YzAgfX0sCi0gezE2LCAweDk1ZTAsIDAsIHsweDhlLDB4OTAsMHgwMywweDI4LDB4MDIsMHhkMSwweDAwLDB4MzIsMHhjMCwweDBkLDB4YTgsMHgwYiwweDA4LDB4MDAsMHhlOCwweDAwIH19LAotIHsxNiwgMHg5NWYwLCAwLCB7MHgyZSwweDQwLDB4MGMsMHg5OCwweDBiLDB4MmUsMHgwMiwweGNhLDB4MDAsMHhiMiwweGEwLDB4NmMsMHg4MCwweDIzLDB4MmQsMHg4MCB9fSwKLSB7MTYsIDB4OTYwMCwgMCwgezB4Y2EsMHg4MCwweDMyLDB4ZDAsMHgwYywweGJhLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk2MTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4YjYsMHgwMCwweGEzLDB4MDAsMHgwOCwweDYwLDB4MDIsMHgwNCwweDAwLDB4ODYsMHgwNCwweDI5IH19LAotIHsxNiwgMHg5NjIwLCAwLCB7MHgwMCwweDA4LDB4NTAsMHg0MiwweDE0LDB4MDQsMHhhNywweDAwLDB4MGQsMHg4MCwweDRhLDB4NjAsMHgwMiwweDAwLDB4MDAsMHg4MSB9fSwKLSB7MTYsIDB4OTYzMCwgMCwgezB4MDAsMHgyMSwweDQwLDB4MDgsMHg3MCwweDAyLDB4OWQsMHg0MiwweDg2LDB4MDEsMHgyMCwweGMwLDB4MDgsMHgzMiwweDgyLDB4MTIgfX0sCi0gezE2LCAweDk2NDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTIsMHgwMCwweGJjLDB4ODAsMHg2MywweDIwIH19LAotIHsxNiwgMHg5NjUwLCAwLCB7MHg4MiwweDA4LDB4MDIsMHg1MiwweDAwLDB4ODQsMHhjMiwweDIzLDB4MjAsMHg4OCwweDBjLDB4MDIsMHgzMywweDAwLDB4ODQsMHg4MCB9fSwKLSB7MTYsIDB4OTY2MCwgMCwgezB4MmYsMHgyMSwweDg5LDB4NGMsMHgwMiwweDEyLDB4MTQsMHg5NCwweGM1LDB4NjQsMHgyMSwweDA4LDB4NGMsMHgwMiwweDBlLDB4ODAgfX0sCi0gezE2LCAweDk2NzAsIDAsIHsweDk3LDB4ODIsMHhhMSwweGVjLDB4MDgsMHg3OSwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5NjgwLCAwLCB7MHg0OCwweDE0LDB4Y2QsMHg0NCwweGIzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4NGQsMHg4MCwweDAzLDB4ODgsMHgyOCB9fSwKLSB7MTYsIDB4OTY5MCwgMCwgezB4YzAsMHgwOCwweDNjLDB4MDYsMHgwZiwweDAwLDB4YTMsMHg0MywweDJjLDB4YzIsMHgxYiwweDM4LDB4MDIsMHgwZiwweDAwLDB4OWIgfX0sCi0gezE2LCAweDk2YTAsIDAsIHsweDg4LDB4NjQsMHhkMCwweDA4LDB4YjgsMHgwMiwweDhjLDB4MTAsMHg5MywweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwYSwweDEyIH19LAotIHsxNiwgMHg5NmIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGFhLDB4MDAsMHhmYSwweDA1LDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4OTZjMCwgMCwgezB4OGUsMHhhMCwweDBiLDB4NjksMHgwMCwweGNhLDB4NDAsMHgzMiwweGEwLDB4M2MsMHhhOCwweDAzLDB4MmEsMHgwMCwweGVhLDB4MjYgfX0sCi0gezE2LCAweDk2ZDAsIDAsIHsweDNlLDB4YjAsMHgwZCwweGExLDB4NjMsMHgyOCwweDIwLDB4Y2EsMHg0MCwweDM2LDB4YTAsMHgwYywweGUwLDB4MTMsMHgyOCwweDA5IH19LAotIHsxNiwgMHg5NmUwLCAwLCB7MHhkZSwweDAwLDB4MzIsMHg4MCwweDJjLDB4YTAsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTZmMCwgMCwgezB4NDgsMHgwMCwweGYwLDB4MjAsMHhmNCwweDAwLDB4M2YsMHgwMCwweDBmLDB4NDAsMHgyMywweGIwLDB4MDAsMHhlYywweDAwLDB4M2YgfX0sCi0gezE2LCAweDk3MDAsIDAsIHsweDA2LDB4MWUsMHhjMiwweDEzLDB4ZjAsMHg4OCwweGZjLDB4MjAsMHgzZiwweDA0LDB4OGUsMHhjMCwweDAzLDB4ZjAsMHg4MCwweGVjIH19LAotIHsxNiwgMHg5NzEwLCAwLCB7MHg0MCwweDNiLDB4MGMsMHgwZiwweGMwLDB4YTMsMHhlMCwweDAwLDB4ZTgsMHgwMCwweDNlLDB4MDAsMHg0ZiwweDgwLDB4MDMsMHhkMiB9fSwKLSB7MTYsIDB4OTcyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAwLDB4ZjksMHgwMCwweDMyLDB4NDAgfX0sCi0gezE2LCAweDk3MzAsIDAsIHsweDBjLDB4OTAsMHgwMywweDI0LDB4MDAsMHhjOSwweDgwLDB4MzIsMHg0MCwweDBmLDB4OTAsMHg1MywweGU0LDB4MTAsMHhjOSwweDAwIH19LAotIHsxNiwgMHg5NzQwLCAwLCB7MHgzMiwweDQwLDB4MGQsMHg5MCwweDAzLDB4ZTQsMHgwMCwweGY5LDB4MDAsMHgzNiwweDQwLDB4OGYsMHg5MCwweDAzLDB4MjQsMHgxMCB9fSwKLSB7MTYsIDB4OTc1MCwgMCwgezB4YzksMHgwMSwweDNjLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk3NjAsIDAsIHsweDgwLDB4MDQsMHg0NywweDQ0LDB4ODksMHgwMCwweDIwLDB4NDAsMHgwOCwweDkwLDB4MDIsMHgyNSwweDBhLDB4ODEsMHgxMCwweDIyIH19LAotIHsxNiwgMHg5NzcwLCAwLCB7MHg0MCwweDQ4LDB4OTAsMHgwMywweGM0LDB4MDAsMHg4OSwweDAwLDB4NzYsMHg0MCwweDI4LDB4OTAsMHgwMiwweGU0LDB4MTAsMHhiOSB9fSwKLSB7MTYsIDB4OTc4MCwgMCwgezB4NDAsMHhiMiwweDQwLDB4MGIsMHg5MCwweDAzLDB4NjQsMHgwMCwweDg5LDB4MDAsMHgyZSwweDQxLDB4MDgsMHg5MCwweDQyLDB4ZTAgfX0sCi0gezE2LCAweDk3OTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjQsMHgwMiwweGJkLDB4MDAsMHgyMywweDQ4IH19LAotIHsxNiwgMHg5N2EwLCAwLCB7MHgwOCwweGQwLDB4MDYsMHgxZCwweDA0LDB4OGQsMHgwMCwweDI5LDB4YzAsMHg0YSwweGQwLDB4MjIsMHhmNCwweDAwLDB4ODUsMHgwMCB9fSwKLSB7MTYsIDB4OTdiMCwgMCwgezB4NjEsMHg0MCwweDE4LDB4ZDAsMHgxMiwweGZjLDB4MDAsMHhiZCwweDQwLDB4YTMsMHg0MCwweDRiLDB4ZjAsMHgwMiwweDA0LDB4MDEgfX0sCi0gezE2LCAweDk3YzAsIDAsIHsweDhiLDB4MDAsMHgyZSwweDQwLDB4MDgsMHg5MCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5N2QwLCAwLCB7MHgwOCwweDA0LDB4MzYsMHg4MCwweDg1LDB4MjAsMHhhMywweDQ4LDB4MDgsMHg1MiwweDBhLDB4MTQsMHg4MSwweDg1LDB4MjAsMHgyOSB9fSwKLSB7MTYsIDB4OTdlMCwgMCwgezB4NDgsMHgwOCwweDUyLDB4MDIsMHhiNCwweDgwLDB4ODUsMHgyMCwweDI1LDB4NDgsMHg4OCwweDUyLDB4MDIsMHhkNCwweDgwLDB4YjUgfX0sCi0gezE2LCAweDk3ZjAsIDAsIHsweDIwLDB4MjEsMHg0OCwweDBiLDB4NTIsMHgwMiwweDQ0LDB4YTIsMHg4MSwweDAwLDB4MmMsMHg0YSwweDA4LDB4MTIsMHg4MiwweGMyIH19LAotIHsxNiwgMHg5ODAwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhmOCwweDUxLDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4OTgxMCwgMCwgezB4MmMsMHg4NSwweDAyLDB4MjEsMHg0OCwweGM4LDB4MDAsMHhiYSwweDE0LDB4MGYsMHg4NSwweDEyLDB4ZTEsMHg0MiwweGM4LDB4NTAgfX0sCi0gezE2LCAweDk4MjAsIDAsIHsweDIyLDB4MDAsMHgwYywweDAwLDB4MDMsMHhlMCwweDAwLDB4ZjgsMHg1MCwweDMyLDB4MDAsMHgwNywweDQ1LDB4MDMsMHgyMCwweDgwIH19LAotIHsxNiwgMHg5ODMwLCAwLCB7MHhjMCwweDAxLDB4M2UsMHgwOCwweDJjLDB4ODIsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTg0MCwgMCwgezB4OTgsMHgwZCwweGU0LDB4NDAsMHhmMSwweDEwLDB4M2UsMHg0NCwweDA3LDB4OTEsMHg0MywweGU0LDB4NTgsMHhmOSwweDExLDB4MzQgfX0sCi0gezE2LCAweDk4NTAsIDAsIHsweDQ0LDB4NGYsMHg5MSwweDAyLDB4ZTQsMHg1MCwweGY5LDB4MTAsMHgzYywweDRmLDB4MGYsMHg5MywweDgzLDB4ZTQsMHhmMCwweGY5IH19LAotIHsxNiwgMHg5ODYwLCAwLCB7MHgxMSwweDNhLDB4NGYsMHgwZiwweDkxLDB4MDMsMHhlNCwweGEwLDB4ZmQsMHgyOCwweDNlLDB4NGEsMHgwZiwweDkyLDB4ODMsMHhlNiB9fSwKLSB7MTYsIDB4OTg3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweGEwLDB4Y2QsMHhhMCwweGIzLDB4NjggfX0sCi0gezE2LCAweDk4ODAsIDAsIHsweDhjLDB4OWEsMHgwMywweDM2LDB4ODAsMHhjNSwweGEwLDB4MjIsMHg2MCwweDBjLDB4OWEsMHgyMywweDI2LDB4MDQsMHhmOSwweGEwIH19LAotIHsxNiwgMHg5ODkwLCAwLCB7MHgzMiwweDY2LDB4MGMsMHg5YSwweDgzLDB4MDYsMHgyMCwweGM1LDB4YTAsMHgyMiwweDYwLDB4MGMsMHg5YiwweDAzLDB4MjYsMHg0OCB9fSwKLSB7MTYsIDB4OThhMCwgMCwgezB4YzksMHgwMCwweDNlLDB4NzgsMHgwYywweDlhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDk4YjAsIDAsIHsweDM4LDB4MDAsMHhlMSwweDAwLDB4ODgsMHg0NCwweDIyLDB4OTUsMHgwOCwweDg1LDB4MTIsMHhhMSwweDQyLDB4ODgsMHg0MCwweDAyIH19LAotIHsxNiwgMHg5OGMwLCAwLCB7MHg5MCwweDA4LDB4ODQsMHgwMiwweDIzLDB4YTAsMHhiYSwweDQwLDB4MjIsMHhhMCwweDA4LDB4OGUsMHg5MiwweGEzLDB4YTAsMHhhOCB9fSwKLSB7MTYsIDB4OThkMCwgMCwgezB4NDAsMHgyYSwweDEwLDB4MDgsMHhhZSwweDAyLDB4MjMsMHg0MCwweDg4LDB4MDAsMHgyZSwweDM4LDB4MDgsMHg4NCwweDEyLDB4MGUgfX0sCi0gezE2LCAweDk4ZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDE1LDB4YzQsMHgwMCwweDhiLDB4MTIsMHgyMiwweDQwIH19LAotIHsxNiwgMHg5OGYwLCAwLCB7MHgwOCwweDkwLDB4MDIsMHg0NCwweDAwLDB4ODEsMHg0MCwweGEwLDB4NTAsMHgwOCwweDExLDB4MGEsMHgwNSwweDAwLDB4YjEsMHgxMCB9fSwKLSB7MTYsIDB4OTkwMCwgMCwgezB4YTAsMHg0OCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MDAsMHg4MSwweDQwLDB4MjAsMHg1MCwweDI4LDB4MTEsMHgwMiwweDQ0LDB4ODIgfX0sCi0gezE2LCAweDk5MTAsIDAsIHsweDgxLDB4MDAsMHgyYywweDUwLDB4MDgsMHgxMSwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5OTIwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgwMiwweDg5LDB4NDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDEyLDB4YTUsMHgwMCwweDg5LDB4MjgsMHgyMiB9fSwKLSB7MTYsIDB4OTkzMCwgMCwgezB4NDksMHgwOCwweDk0LDB4MDIsMHgyNCwweDQ4LDB4YjksMHgxNCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHhhNCwweDQwLDB4YTEgfX0sCi0gezE2LCAweDk5NDAsIDAsIHsweDUwLDB4MmEsMHg1MCwweDA4LDB4OTEsMHg0MiwweDY0LDB4MDAsMHg4OSwweDQwLDB4MmUsMHg0MCwweDA4LDB4MTAsMHgwMiwweDA2IH19LAotIHsxNiwgMHg5OTUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MDAsMHhjOSwweDAwLDB4MzAsMHg3MCB9fSwKLSB7MTYsIDB4OTk2MCwgMCwgezB4MmMsMHgxMCwweDBiLDB4NjYsMHgwMCwweGM5LDB4NDAsMHgzMiwweDUwLDB4MGMsMHg5MCwweDAzLDB4MjYsMHgyMCwweGY5LDB4YzAgfX0sCi0gezE2LCAweDk5NzAsIDAsIHsweDMyLDB4NzAsMHgwYywweDkwLDB4MDMsMHgyNiwweDIwLDB4YzksMHgwMCwweDMyLDB4NDAsMHgwYywweDljLDB4MDMsMHg2NCwweDAwIH19LAotIHsxNiwgMHg5OTgwLCAwLCB7MHhjOSwweDQxLDB4M2UsMHg0MCwweDJjLDB4OTAsMHgwYiwweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OTk5MCwgMCwgezB4MjgsMHgwMSwweGE0LDB4MDAsMHhmOSwweDA0LDB4M2UsMHg0OCwweDBmLDB4OTAsMHgwMywweGU0LDB4ODgsMHhmOSwweDAwLDB4MzQgfX0sCi0gezE2LCAweDk5YTAsIDAsIHsweDQxLDB4MmYsMHg5YywweDAzLDB4ZTQsMHgxMCwweGY5LDB4MDAsMHgzZSwweDQ0LDB4MmYsMHg5OSwweDAzLDB4ZTQsMHgxMCwweGY5IH19LAotIHsxNiwgMHg5OWIwLCAwLCB7MHgwMCwweDNlLDB4NTAsMHgwZiwweDEwLDB4NGIsMHhhNCwweDEwLDB4ZjksMHgyMCwweDNjLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg0YSB9fSwKLSB7MTYsIDB4OTljMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNlLDB4MTAgfX0sCi0gezE2LCAweDk5ZDAsIDAsIHsweDJjLDB4ODAsMHgwMywweDIwLDB4MDIsMHhjMCwweDQwLDB4MzIsMHgwMCwweDFjLDB4MDQsMHgwZiwweDIxLDB4MDAsMHhjMCwweDA0IH19LAotIHsxNiwgMHg5OWUwLCAwLCB7MHgzOCwweDAwLDB4MGYsMHg4MCwweDAzLDB4MjEsMHgwOCwweGM4LDB4NjAsMHgzMCwweDEwLDB4MGYsMHg4MCwweDAyLDB4MjAsMHgwMCB9fSwKLSB7MTYsIDB4OTlmMCwgMCwgezB4ZjgsMHgwMCwweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHhjYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlhMDAsIDAsIHsweDI4LDB4MDUsMHgxYSwweDIwLDB4ODIsMHgwNCwweDJmLDB4ODAsMHgwOCwweGEwLDB4MDIsMHgzOCwweDAwLDB4OGUsMHg4MCwweDIyIH19LAotIHsxNiwgMHg5YTEwLCAwLCB7MHg4MCwweDA4LDB4ZTAsMHgwMiwweDI4LDB4MDAsMHg4YSwweDAwLDB4MjIsMHg4MSwweDBiLDB4MjAsMHgwMiwweDI4LDB4MDAsMHhkZSB9fSwKLSB7MTYsIDB4OWEyMCwgMCwgezB4ZTQsMHgzNiwweDgwLDB4MGIsMHhhMCwweDQyLDB4MjgsMHgwMCwweGJhLDB4MDQsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4Y2EgfX0sCi0gezE2LCAweDlhMzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4MDEsMHgyYywweDgwIH19LAotIHsxNiwgMHg5YTQwLCAwLCB7MHgwOCwweDMwLDB4MDIsMHgyZSwweDYwLDB4ODIsMHg5MCwweGEwLDB4YzAsMHg0OCwweDMwLDB4MDIsMHgwYywweDAyLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4OWE1MCwgMCwgezB4MjgsMHhjMCwweDBiLDB4MzAsMHgwYSwweDJjLDB4MDAsMHg4MywweGMyLDB4MjAsMHhjMCwweDBiLDB4MzAsMHgyYSwweDJjLDB4MDAgfX0sCi0gezE2LCAweDlhNjAsIDAsIHsweGIzLDB4MDAsMHhhMCwweGMwLDB4MDgsMHgzMCwweDAyLDB4Y2EsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YTcwLCAwLCB7MHhhMCwweDAxLDB4M2MsMHgwMCwweDg3LDB4MDEsMHgyZCwweGMyLDB4MDgsMHhmMywweDEyLDB4M2MsMHgwMCwweDhmLDB4MDEsMHgyMSB9fSwKLSB7MTYsIDB4OWE4MCwgMCwgezB4YzgsMHg2OCwweDcyLDB4MjIsMHgxZSwweDA0LDB4ODcsMHgyMCwweDIxLDB4YzQsMHgwYiwweDcwLDB4MDIsMHgzYywweDg0LDB4OWYgfX0sCi0gezE2LCAweDlhOTAsIDAsIHsweDAwLDB4MjUsMHhjNCwweDRiLDB4NzAsMHgwMiwweDFjLDB4MDQsMHhiNywweDgxLDB4MjEsMHhjOCwweDA4LDB4NzIsMHgwMiwweGU4IH19LAotIHsxNiwgMHg5YWEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwMCwweDFlLDB4MDAsMHhjNywweDgxLDB4M2MsMHhhMCB9fSwKLSB7MTYsIDB4OWFiMCwgMCwgezB4NGMsMHg3YSwweDBiLDB4MWEsMHgwMCwweGM2LDB4ODAsMHgzMCwweGUwLDB4MDgsMHhmOCwweDgyLDB4MGUsMHg0MCwweGNmLDB4ZjAgfX0sCi0gezE2LCAweDlhYzAsIDAsIHsweDM5LDB4ZTgsMHgwZiwweDNhLDB4MDMsMHgxZSwweDIwLDB4YzcsMHg4MCwweDMxLDB4ZTMsMHgwZiwweDM4LDB4MjMsMHgxZiwweDA4IH19LAotIHsxNiwgMHg5YWQwLCAwLCB7MHhmZiwweGMwLDB4MzMsMHhmMiwweDBjLDB4N2UsMHgwMywweGVhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWFlMCwgMCwgezB4MDgsMHgxNSwweDg4LDB4MGEsMHg3YiwweDAwLDB4M2UsMHhjMSwweDBiLDB4MzQsMHgyMywweGM4LDB4MTAsMHhmYiwweDAyLDB4M2UgfX0sCi0gezE2LCAweDlhZjAsIDAsIHsweGNhLDB4MGYsMHhiNywweDQzLDB4ZWMsMHg4MCwweGZiLDB4MDAsMHgyZSwweGMyLDB4MGIsMHhiNCwweDgzLDB4ZWQsMHhkMCwweGZhIH19LAotIHsxNiwgMHg5YjAwLCAwLCB7MHgwMCwweDNlLDB4ZDksMHgwZiwweGIzLDB4ODMsMHhlYywweDgwLDB4YmIsMHgyMCwweDNlLDB4ZDgsMHgyZiwweGI0LDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4OWIxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmZSwweDAwLDB4ZjUsMHg5MSwweDMxLDB4YTAgfX0sCi0gezE2LCAweDliMjAsIDAsIHsweDBjLDB4ZmMsMHgwMywweGZlLDB4MDAsMHhjNCwweDgxLDB4MzEsMHhlZSwweDhkLDB4ZjgsMHgwYSwweDNlLDB4MzAsMHhjZiwweDg0IH19LAotIHsxNiwgMHg5YjMwLCAwLCB7MHgzMywweGUwLDB4MmMsMHhmOCwweDgzLDB4ZmUsMHgxMCwweGZlLDB4ODAsMHgzMywweGUwLDB4MGMsMHhmOSwweDE5LDB4M2YsMHg0OCB9fSwKLSB7MTYsIDB4OWI0MCwgMCwgezB4Y2YsMHhjMCwweDMzLDB4ZTAsMHgwNCwweGZjLDB4MDMsMHhjMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDliNTAsIDAsIHsweGE4LDB4MTEsMHg5YywweDA4LDB4YjcsMHhhMSwweDIxLDB4YzgsMHgwOCwweDcxLDB4MDIsMHhmMCwweGEwLDB4ODUsMHgyMCwweDIxIH19LAotIHsxNiwgMHg5YjYwLCAwLCB7MHhjZSwweDA4LDB4NzAsMHgwMiwweDNjLDB4ODAsMHg4ZiwweDAwLDB4MmIsMHhjNSwweDA4LDB4NzEsMHgwMiwweGRjLDB4MTAsMHhiNCB9fSwKLSB7MTYsIDB4OWI3MCwgMCwgezB4MDAsMHgyMSwweGMxLDB4MGEsMHhmMywweDgyLDB4MGMsMHgwMCwweDg3LDB4MDEsMHgyOSwweGMwLDB4MDgsMHg3MSwweDAyLDB4NmEgfX0sCi0gezE2LCAweDliODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OWQsMHgwMCwweGJkLDB4MjEsMHgyNywweDgyIH19LAotIHsxNiwgMHg5YjkwLCAwLCB7MHgwMCwweDcwLDB4MDIsMHhmYywweDA0LDB4OGMsMHgwMCwweGE3LDB4Y2MsMHhhOCwweDcwLDB4MDIsMHgzYywweDA4LDB4YWYsMHgwMCB9fSwKLSB7MTYsIDB4OWJhMCwgMCwgezB4MjEsMHhjMCwweDA4LDB4NzAsMHgwMiwweGRjLDB4MDAsMHhiNywweDAwLDB4MjEsMHhjNCwweDA4LDB4NzAsMHgxNiwweDFjLDB4MGEgfX0sCi0gezE2LCAweDliYjAsIDAsIHsweDhmLDB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4YzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5YmMwLCAwLCB7MHgyMCwweDEwLDB4YzgsMHgwMCwweGJiLDB4NDQsMHgyNCwweGUyLDB4MDgsMHhiMSwweDAyLDB4YzIsMHg4MCwweDAxLDB4ODAsMHgyNCB9fSwKLSB7MTYsIDB4OWJkMCwgMCwgezB4ZDAsMHg4OCwweDMwLDB4MDIsMHgwZiwweDUyLDB4ODMsMHg5MSwweDI4LDB4ZTQsMHg4OCwweDNkLDB4MDIsMHhjZSwweGQwLDB4YjAgfX0sCi0gezE2LCAweDliZTAsIDAsIHsweGIyLDB4YTIsMHhjMCwweDBhLDB4MzQsMHgxMiwweDBjLDB4MDIsMHg4MywweDAwLDB4MjgsMHhjMCwweDA4LDB4MzAsMHgwMiwweDQ4IH19LAotIHsxNiwgMHg5YmYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFjLDB4MDAsMHhmYiwweDAxLDB4ZTQsMHg0MCB9fSwKLSB7MTYsIDB4OWMwMCwgMCwgezB4MmMsMHhmMCwweDQzLDB4ZTUsMHgwMCwweDhhLDB4ODgsMHgzNywweGUwLDB4MDAsMHhmYSwweDAyLDB4M2QsMHgwMCwweGVmLDB4MDAgfX0sCi0gezE2LCAweDljMTAsIDAsIHsweDMzLDB4ZDEsMHgwYywweGY0LDB4MDMsMHhmZCwweDAwLDB4ZjksMHg0MCwweDMzLDB4ZTgsMHgwYywweGZjLDB4MDEsMHgzYywweDA0IH19LAotIHsxNiwgMHg5YzIwLCAwLCB7MHhjZiwweDAyLDB4MzMsMHhjMCwweDJjLDB4ZjAsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWMzMCwgMCwgezB4ODAsMHgwMCwweGVlLDB4MDgsMHhmOSwweDEwLDB4M2EsMHhkMCwweDBmLDB4YjAsMHg5MywweGVjLDB4MDAsMHhmYiwweDBiLDB4M2EgfX0sCi0gezE2LCAweDljNDAsIDAsIHsweGMwLDB4OGUsMHhiMCwweDgzLDB4ZWMsMHg4MCwweGZiLDB4MDksMHg3ZSwweGM4LDB4MGYsMHhiMiwweDEzLDB4ZWMsMHgwMCwweGY5IH19LAotIHsxNiwgMHg5YzUwLCAwLCB7MHgwMCwweDNlLDB4YzIsMHg4ZiwweGIyLDB4NGIsMHhjYywweDA0LDB4ZmIsMHgwMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHg2MCB9fSwKLSB7MTYsIDB4OWM2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4ZmYsMHgwOCwweDMzLDB4YzAgfX0sCi0gezE2LCAweDljNzAsIDAsIHsweDFjLDB4ZjAsMHgwMywweDcwLDB4NDAsMHhjNCwweGMwLDB4MzMsMHhjMiwweDBmLDB4ZjAsMHgwMywweDFjLDB4MTAsMHhjNywweDAwIH19LAotIHsxNiwgMHg5YzgwLCAwLCB7MHgzMSwweGMwLDB4MGMsMHg3MCwweDAzLDB4MWMsMHgwMCwweGM1LDB4NDEsMHgzMywweGMwLDB4MGMsMHhmMCwweDIzLDB4MmMsMHgwMCB9fSwKLSB7MTYsIDB4OWM5MCwgMCwgezB4Y2YsMHgwMCwweGIzLDB4YzAsMHg2YywweGYwLDB4MDMsMHg4MCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDljYTAsIDAsIHsweDgxLDB4MDQsMHg2YSwweDAwLDB4YjksMHg5MCwweDMyLDB4ZjEsMHgwOCwweGIwLDB4MDIsMHgwYSwweDEwLDB4ZDksMHgwMCwweDIyIH19LAotIHsxNiwgMHg5Y2IwLCAwLCB7MHhjMSwweDBiLDB4YjAsMHgwMiwweDJjLDB4MDAsMHhjYiwweDA2LDB4MjIsMHhjMCwweDg4LDB4YjAsMHgxMiwweDJjLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4OWNjMCwgMCwgezB4ODAsMHgyMiwweGMxLDB4MGQsMHhiMCwweDAyLDB4MmMsMHgwMCwweDgzLDB4MDAsMHgyMiwweGMxLDB4MDgsMHhiMCwweDQ2LDB4ZTAgfX0sCi0gezE2LCAweDljZDAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAxLDB4MmUsMHgwMCwweGI5LDB4MDAsMHgyMiwweGYwIH19LAotIHsxNiwgMHg5Y2UwLCAwLCB7MHgwOCwweGIwLDB4MTIsMHg2NCwweDAwLDB4OGEsMHgwMCwweDIyLDB4YzAsMHgwYiwweDMwLDB4NDIsMHgyYywweDAwLDB4OGIsMHgwMCB9fSwKLSB7MTYsIDB4OWNmMCwgMCwgezB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAsMHg4YSwweDAwLDB4MjIsMHhjMCwweDg4LDB4MzAsMHgwYSwweDJjLDB4MDAgfX0sCi0gezE2LCAweDlkMDAsIDAsIHsweDhiLDB4MDAsMHgyMCwweGMwLDB4MDgsMHhiMCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZDEwLCAwLCB7MHgwOCwweDA0LDB4MGMsMHgwNCwweGIxLDB4MDIsMHhlNCwweGMxLDB4MDgsMHhiMCwweDIyLDB4MjAsMHgwMiwweDkzLDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4OWQyMCwgMCwgezB4YzAsMHgwYiwweDMwLDB4MTIsMHgwYywweDAyLDB4ODMsMHgwMiwweGEwLDB4YzAsMHgyOCwweDMwLDB4MGUsMHgwYywweDAyLDB4ODAgfX0sCi0gezE2LCAweDlkMzAsIDAsIHsweDAwLDB4YTAsMHhjMCwweDQ5LDB4MzAsMHgwYSwweDBjLDB4MDIsMHg4YiwweDAwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHg5ZDQwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhmOSwweDI0LDB4MzIsMHhjMCB9fSwKLSB7MTYsIDB4OWQ1MCwgMCwgezB4MDgsMHhmMCwweDAzLDB4NjQsMHgwMCwweGM4LDB4MDAsMHhiMywweGMwLDB4MWYsMHhmMCwweDBiLDB4M2MsMHgwMCwweDhmLDB4MDAgfX0sCi0gezE2LCAweDlkNjAsIDAsIHsweDMzLDB4YzAsMHg0YywweGYwLDB4NDMsMHgzYywweDA4LDB4YzMsMHgwMCwweDMxLDB4YzAsMHgwYywweGYwLDB4MDMsMHgzZCwweDQ4IH19LAotIHsxNiwgMHg5ZDcwLCAwLCB7MHhjZiwweDAwLDB4MzEsMHhjMCwweDBjLDB4ZjAsMHgwMywweDgwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWQ4MCwgMCwgezB4YTAsMHgxZCwweGYwLDB4MDQsMHhmOSwweDQxLDB4M2IsMHhjMCwweDRmLDB4ZjAsMHgwMywweGYwLDB4MTEsMHhmZCwweDAwLDB4M2YgfX0sCi0gezE2LCAweDlkOTAsIDAsIHsweGMwLDB4ODcsMHg3MCwweDI3LDB4ZmMsMHgwMCwweGVmLDB4MDYsMHgzZiwweGMwLDB4MGYsMHhmMCwweDAyLDB4ZmMsMHgwOCwweGZjIH19LAotIHsxNiwgMHg5ZGEwLCAwLCB7MHgwMCwweDNmLDB4YzAsMHg0NywweGYwLDB4NDMsMHhmYywweDAwLDB4NzcsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4OWRiMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhkMiwweDAwLDB4YzcsMHgwMSwweDM3LDB4MGMgfX0sCi0gezE2LCAweDlkYzAsIDAsIHsweDBmLDB4ZTgsMHgyMywweDEwLDB4NGEsMHhjNCwweGMwLDB4MzEsMHgzMCwweDBjLDB4YzksMHgwMywweDM0LDB4NDYsMHhjZiwweDEwIH19LAotIHsxNiwgMHg5ZGQwLCAwLCB7MHgzMywweGQwLDB4MGMsMHhmNCwweDAzLDB4M2MsMHg1OCwweGNmLDB4MDAsMHgzMywweGMwLDB4MmQsMHhmMSwweDAzLDB4M2UsMHgwMiB9fSwKLSB7MTYsIDB4OWRlMCwgMCwgezB4Y2YsMHgyMSwweDNmLDB4ZTQsMHgwZiwweGYyLDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlkZjAsIDAsIHsweDgwLDB4MTAsMHhlNCwweDg0LDB4MGIsMHg0MCwweDIyLDB4NGMsMHgwYiwweGE4LDB4MDIsMHgyYywweGMwLDB4OGIsMHgyMCwweDIyIH19LAotIHsxNiwgMHg5ZTAwLCAwLCB7MHhjOCwweDRhLDB4MzIsMHgwMiwweDI0LDB4ODAsMHg4MywweDIwLDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDIwLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4OWUxMCwgMCwgezB4MjEsMHgzMiwweGNhLDB4NDgsMHgzMiwweDAyLDB4MmMsMHgzMCwweDhmLDB4OTAsMHgyZSwweDg4LDB4MGIsMHhiZCwweDEyLDB4MjAgfX0sCi0gezE2LCAweDllMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2UsMHgyMCwweGEzLDB4NDAsMHhlMCwweDQ4IH19LAotIHsxNiwgMHg5ZTMwLCAwLCB7MHg0YiwweDIwLDB4MjIsMHgwYywweDAyLDB4ODIsMHgwMCwweDJhLDB4MDAsMHgwOCwweDIwLDB4MDIsMHgwNCwweDgwLDB4ODAsMHgyMCB9fSwKLSB7MTYsIDB4OWU0MCwgMCwgezB4MjAsMHhjOCwweDA4LDB4MDIsMHgwMiwweDBjLDB4MDAsMHg4MCwweDBjLDB4NjAsMHgwMCwweDA4LDB4MjAsMHgxMiwweDJjLDB4ODggfX0sCi0gezE2LCAweDllNTAsIDAsIHsweDgzLDB4MDAsMHgyYywweGU4LDB4MGIsMHgzMCwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZTYwLCAwLCB7MHhjMCwweDE1LDB4YWUsMHgwMCwweGFiLDB4MDEsMHhhMiwweDYwLDB4MGIsMHhhMCwweDAyLDB4MjAsMHgwMSwweDgxLDB4MDAsMHgyMiB9fSwKLSB7MTYsIDB4OWU3MCwgMCwgezB4YzAsMHgwYSwweDkwLDB4MTIsMHgwNCwweDIwLDB4OGEsMHgwOCwweDIyLDB4YzEsMHgwOCwweGEwLDB4MDIsMHgyOCwweDAwLDB4ODggfX0sCi0gezE2LCAweDllODAsIDAsIHsweDAwLDB4MjQsMHg0NCwweDA4LDB4YTIsMHgwMiwweGFjLDB4MDAsMHg4YiwweDA0LDB4MmUsMHg4OCwweDAzLDB4YjAsMHgwMiwweDcwIH19LAotIHsxNiwgMHg5ZTkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHgxNSwweGVjLDB4MDAsMHhlYSwweDkwLDB4MzIsMHgyOCB9fSwKLSB7MTYsIDB4OWVhMCwgMCwgezB4MGYsMHhiNiwweDAzLDB4MjAsMHgwOCwweGM5LDB4MDQsMHgzYSwweGMwLDB4NGMsMHg5MCwweDIyLDB4MjQsMHgwMCwweGNiLDB4NDAgfX0sCi0gezE2LCAweDllYjAsIDAsIHsweDMyLDB4YTgsMHgwYywweGIyLDB4MDMsMHgyYywweDAwLDB4Y2IsMHg4MCwweGIyLDB4ZTAsMHgwYywweGIwLDB4MGIsMHgwNCwweDAwIH19LAotIHsxNiwgMHg5ZWMwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhjMCwweDRmLDB4YjAsMHgwYiwweDUwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4OWVkMCwgMCwgezB4ZTAsMHgwMSwweGJjLDB4MDAsMHhkZiwweDgwLDB4M2IsMHg4MSwweDBmLDB4ZjAsMHhjMywweGZjLDB4MDAsMHhiZSwweDAxLDB4MWYgfX0sCi0gezE2LCAweDllZTAsIDAsIHsweDAwLDB4MGYsMHhlMCwweDIzLDB4ZjQsMHgwMCwweGZmLDB4MDAsMHgzZiwweGIwLDB4NGYsMHhmMCwweDQzLDB4ZDQsMHgwMiwweGZmIH19LAotIHsxNiwgMHg5ZWYwLCAwLCB7MHg5MSwweDNhLDB4ZTAsMHg0ZSwweGYwLDB4MDMsMHg3YywweDBjLDB4ZmYsMHgwMCwweDJmLDB4ODAsMHgwZiwweDMwLDB4MDMsMHhiOCB9fSwKLSB7MTYsIDB4OWYwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhYywweDAxLDB4Y2EsMHgwMCwweDcyLDB4NTAgfX0sCi0gezE2LCAweDlmMTAsIDAsIHsweDA0LDB4YjQsMHgwMywweDJjLDB4ODIsMHhjYiwweDAwLDB4MzIsMHhlMCwweDBjLDB4YjgsMHgwMywweDI3LDB4MDQsMHhjOCwweGM4IH19LAotIHsxNiwgMHg5ZjIwLCAwLCB7MHhiMiwweGEyLDB4MGMsMHg4OCwweDAzLDB4MmMsMHgwMCwweGMxLDB4MDAsMHgzZSwweDAwLDB4MmMsMHgzMCwweDFiLDB4MmMsMHgwNCB9fSwKLSB7MTYsIDB4OWYzMCwgMCwgezB4ZmIsMHgxMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweDlmNDAsIDAsIHsweGM4LDB4MDUsMHgyYywweDA0LDB4MDMsMHg1MCwweGEyLDB4ZTAsMHgwOCwweDM0LDB4NDIsMHgzMywweDAwLDB4ODgsMHgwMCwweDIwIH19LAotIHsxNiwgMHg5ZjUwLCAwLCB7MHgxMCwweDBkLDB4ODQsMHgwMywweDI1LDB4MDAsMHg4YSwweDQwLDB4MjIsMHg5MCwweDA4LDB4YTUsMHgwMiwweDJjLDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4OWY2MCwgMCwgezB4YTQsMHgzYSwweDQwLDB4MDgsMHhiMCwweDAyLDB4MmMsMHgwMCwweGJmLDB4ODQsMHgyZSwweDgwLDB4MGIsMHhmMCwweDUyLDB4MzIgfX0sCi0gezE2LCAweDlmNzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NmMsMHg4MCwweDgxLDB4ODAsMHgyNCwweDg4IH19LAotIHsxNiwgMHg5ZjgwLCAwLCB7MHg4OSwweDNjLDB4MjYsMHgyMSwweDAwLDB4OTAsMHgwMCwweDIwLDB4MDIsMHgwOCwweDgwLDB4ODIsMHgwMCwweDIwLDB4OWIsMHgwMCB9fSwKLSB7MTYsIDB4OWY5MCwgMCwgezB4MjIsMHg0MCwweDg4LDB4YjAsMHgxMiwweDBjLDB4MDgsMHg4MywweDgwLDB4MmMsMHhjMCwweDA4LDB4MTAsMHgwMiwweDBjLDB4MDAgfX0sCi0gezE2LCAweDlmYTAsIDAsIHsweGIzLDB4ODAsMHgyYywweDQwLDB4MGIsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHg5ZmIwLCAwLCB7MHgyMCwweDAxLDB4M2UsMHgwYSwweDg1LDB4YTAsMHhhNSwweDYwLDB4MDgsMHhmYiwweDgyLDB4M2UsMHg4NCwweDlmLDB4ODEsMHg2MyB9fSwKLSB7MTYsIDB4OWZjMCwgMCwgezB4ZTAsMHg4OSwweDc5LDB4MTIsMHg1MiwweDgwLDB4OTcsMHg4MiwweDIxLDB4NmMsMHgxOCwweDc4LDB4MDIsMHgxMiwweDAwLDB4ODcgfX0sCi0gezE2LCAweDlmZDAsIDAsIHsweGExLDB4MjksMHhlMCwweDA4LDB4NWIsMHgwMiwweDFlLDB4MDAsMHhiNywweGMwLDB4MmQsMHg2MCwweDBiLDB4NzgsMHgwMiwweDA4IH19LAotIHsxNiwgMHg5ZmUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDBjLDB4MDAsMHg4MSwweDA4LDB4MjYsMHhjMiB9fSwKLSB7MTYsIDB4OWZmMCwgMCwgezB4MmMsMHgzMiwweDEzLDB4MGUsMHhhNCwweGQyLDB4MDAsMHhiMCwweDAwLDB4MWMsMHgyMSwweDEyLDB4MjQsMHgwMiwweGQxLDB4MjAgfX0sCi0gezE2LCAweGEwMDAsIDAsIHsweDMwLDB4YzgsMHgwYywweDEwLDB4MDMsMHgwYywweDAwLDB4YzIsMHgxMCwweDNjLDB4ODAsMHgwYywweDIzLDB4MDMsMHgwYywweDQwIH19LAotIHsxNiwgMHhhMDEwLCAwLCB7MHhmMywweDAwLDB4M2MsMHg0OCwweDBmLDB4MzAsMHgwYiwweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTAyMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhmZCwweDIwLDB4YmIsMHg0MCwweDA3LDB4NzIsMHgwMiwweGYwLDB4MTAsMHhlZCwweDEwLDB4M2YgfX0sCi0gezE2LCAweGEwMzAsIDAsIHsweGM0LDB4MGYsMHhkMSwweDYzLDB4YjQsMHg4MCwweGVmLDB4MDAsMHgzZiwweGM4LDB4MGYsMHhmMCwweDAzLDB4ZDgsMHgwMCwweGZlIH19LAotIHsxNiwgMHhhMDQwLCAwLCB7MHgzNCwweDNmLDB4YzQsMHgwZiwweGViLDB4NDMsMHhmYywweDAwLDB4ZmYsMHgwOCwweDdmLDB4NDAsMHgwZiwweGYxLDB4ODMsMHhkMCB9fSwKLSB7MTYsIDB4YTA1MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhlYywweDAwLDB4YzgsMHgwMCwweDMzLDB4ODAgfX0sCi0gezE2LCAweGEwNjAsIDAsIHsweDhmLDB4MjgsMHgwMywweDIwLDB4MDAsMHg0OSwweDAyLDB4MzIsMHhjMCwweDBmLDB4OTAsMHgwMywweDIwLDB4MDAsMHhjYiwweDAwIH19LAotIHsxNiwgMHhhMDcwLCAwLCB7MHgzMiwweDQwLDB4NGMsMHhiMCwweDBiLDB4MmMsMHgwMCwweGNiLDB4ODAsMHgzMiwweGMwLDB4MGUsMHg5ZSwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTA4MCwgMCwgezB4ZmIsMHgyMCwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEwOTAsIDAsIHsweDQ4LDB4MTEsMHg5YywweDAwLDB4OGQsMHgwMSwweDIxLDB4YzAsMHgwYiwweDYwLDB4MDIsMHgxZCwweDAwLDB4ZDYsMHgwMCwweDIxIH19LAotIHsxNiwgMHhhMGEwLCAwLCB7MHgwMCwweDBiLDB4ZTAsMHgwMiwweDAwLDB4MDAsMHg4MywweDA0LDB4MjAsMHg0MCwweDA4LDB4NzAsMHg0MiwweDM0LDB4MDIsMHg4NyB9fSwKLSB7MTYsIDB4YTBiMCwgMCwgezB4MDEsMHgyMywweGMwLDB4MjgsMHg1MSwweDBhLDB4MWMsMHgwNCwweGI3LDB4MzAsMHgyZCwweGMwLDB4MGIsMHg3MiwweDAzLDB4OTIgfX0sCi0gezE2LCAweGEwYzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OWUsMHgwMCwweGE2LDB4NDAsMHgyMSwweGEwIH19LAotIHsxNiwgMHhhMGQwLCAwLCB7MHgwYiwweDY4LDB4MDIsMHgwZSwweDAwLDB4OGYsMHg4MCwweDIxLDB4ZTAsMHgwYiwweDc4LDB4MDIsMHgxNiwweDEwLDB4YTUsMHg4MCB9fSwKLSB7MTYsIDB4YTBlMCwgMCwgezB4MjEsMHhlMCwweDA4LDB4MTgsMHgwMiwweDFlLDB4MDAsMHg4MywweDgwLDB4MjEsMHhhMCwweDA4LDB4NzgsMHgwMiwweDFmLDB4MDAgfX0sCi0gezE2LCAweGEwZjAsIDAsIHsweGI3LDB4ODAsMHgyZCwweGUwLDB4MGIsMHgzOCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMTAwLCAwLCB7MHg0OCwweDE0LDB4ZWMsMHgxMiwweGExLDB4NjQsMHgyMCwweGU2LDB4MGIsMHgyMCwweDAyLDB4MDAsMHgxMCwweDkwLDB4NGEsMHgyMCB9fSwKLSB7MTYsIDB4YTExMCwgMCwgezB4MjAsMHg0YiwweDAwLDB4NDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzIsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4ODMgfX0sCi0gezE2LCAweGExMjAsIDAsIHsweDA0LDB4MjAsMHhjMCwweDA4LDB4MzAsMHgwMiwweDBlLDB4MDAsMHhiMywweDAwLDB4MmMsMHhlMCwweDRiLDB4MzAsMHgwMiwweDkyIH19LAotIHsxNiwgMHhhMTMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI4LDB4MDAsMHhlZSwweGMwLDB4MzMsMHg5MCB9fSwKLSB7MTYsIDB4YTE0MCwgMCwgezB4MGYsMHhhMCwweDFiLDB4MDgsMHgwMCwweGNhLDB4NDAsMHhiMiwweDgyLDB4MGYsMHhhMCwweDBiLDB4MjgsMHgwMiwweGNhLDB4MDAgfX0sCi0gezE2LCAweGExNTAsIDAsIHsweGIyLDB4OTAsMHhhYywweGEwLDB4MDMsMHgyOSwweDAwLDB4Y2EsMHg0MCwweGIyLDB4ODAsMHg4ZSwweGE0LDB4MDMsMHgyYSwweDAwIH19LAotIHsxNiwgMHhhMTYwLCAwLCB7MHhmYSwweDAwLDB4M2YsMHhhOCwweDBmLDB4YTAsMHgwYiwweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTE3MCwgMCwgezB4NDgsMHgwMCwweGUyLDB4MDIsMHg5MCwweDAwLDB4M2UsMHgwMCwweDBmLDB4ODgsMHgwMywweGYxLDB4MDAsMHhmYywweDAyLDB4M2YgfX0sCi0gezE2LCAweGExODAsIDAsIHsweDIwLDB4MGYsMHhjOCwweDAzLDB4YzEsMHgwMCwweGYwLDB4MDAsMHgzZSwweDAwLDB4OGYsMHgwMCwweDAxLDB4NjAsMHgwMiwweGY4IH19LAotIHsxNiwgMHhhMTkwLCAwLCB7MHgwOCwweDNlLDB4MDAsMHgwZiwweDgwLDB4ODMsMHhlMCwweDAwLDB4ZjgsMHgwMCwweDJlLDB4MDAsMHg4ZiwweDgwLDB4MTMsMHg5MiB9fSwKLSB7MTYsIDB4YTFhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDAyLDB4YzksMHgwMCwweGIyLDB4NjQgfX0sCi0gezE2LCAweGExYjAsIDAsIHsweDBmLDB4OTEsMHgwMywweGU0LDB4MDQsMHhjOSwweDAwLDB4MzIsMHg0MCwweDZjLDB4OTAsMHgwMywweDI1LDB4MDIsMHhjOSwweDkwIH19LAotIHsxNiwgMHhhMWMwLCAwLCB7MHhiMCwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjQsMHgyMCwweGM5LDB4YTAsMHgzZSwweDQwLDB4NGMsMHg5MCwweDIzLDB4ZTQsMHgwMCB9fSwKLSB7MTYsIDB4YTFkMCwgMCwgezB4ZjEsMHgwMCwweDkyLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGExZTAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHg4MCwweGEyLDB4NDAsMHgwYiwweDk2LDB4NDIsMHhlNSwweDA0LDB4ODksMHgwMCwweDIyIH19LAotIHsxNiwgMHhhMWYwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDgsMHgwOSwweDQxLDB4MjIsMHg0MCwweDQ4LDB4OTAsMHg0MiwweDI0LDB4MDQsMHg4OSB9fSwKLSB7MTYsIDB4YTIwMCwgMCwgezB4ODAsMHgyNiwweDQwLDB4MDgsMHg5MCwweDAyLDB4ZTQsMHgwMCwweGI5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHg5NCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGEyMTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MjUsMHgwMCwweDg5LDB4MjAsMHgyMiwweDQwIH19LAotIHsxNiwgMHhhMjIwLCAwLCB7MHgwYiwweDkwLDB4MDIsMHhmNCwweDg0LDB4ODUsMHgwMCwweDIxLDB4NDAsMHg0OCwweDUwLDB4MDIsMHgyNCwweDIwLDB4OGQsMHgwOCB9fSwKLSB7MTYsIDB4YTIzMCwgMCwgezB4MjMsMHg0MCwweDA4LDB4ZDAsMHgwMiwweDk0LDB4MDAsMHg4ZCwweDAwLDB4MjksMHg0MCwweDBhLDB4ZDAsMHgwMiwweGE0LDB4MDggfX0sCi0gezE2LCAweGEyNDAsIDAsIHsweGI5LDB4MDAsMHgyOCwweDQwLDB4MTgsMHg5MCwweGMyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhMjUwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweDgxLDB4MDAsMHgyMCwweDUxLDB4MGIsMHgxMCwweDAyLDB4ZjUsMHg4MCwweDg1LDB4YzEsMHhhMSB9fSwKLSB7MTYsIDB4YTI2MCwgMCwgezB4NTAsMHgwOCwweDU0LDB4MGEsMHgwNSwweDA2LDB4ODUsMHg0MCwweDIxLDB4NTAsMHg4OCwweDU0LDB4MDIsMHg5NSwweDAwLDB4ODUgfX0sCi0gezE2LCAweGEyNzAsIDAsIHsweDQ0LDB4MmQsMHg1MCwweDJhLDB4NTQsMHgxMiwweGM1LDB4MDEsMHhiMSwweDAwLDB4MDgsMHg1MCwweDA4LDB4MTAsMHgwMiwweDAyIH19LAotIHsxNiwgMHhhMjgwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjYSwweDUwLDB4MzIsMHg4MCB9fSwKLSB7MTYsIDB4YTI5MCwgMCwgezB4MGYsMHg4MCwweDAzLDB4ZTgsMHgwMiwweGM4LDB4MDEsMHgzMiwweDAwLDB4MmMsMHhjMCwweDAzLDB4MjAsMHgwMCwweGM4LDB4MDIgfX0sCi0gezE2LCAweGEyYTAsIDAsIHsweDMyLDB4MDAsMHgyYywweDgwLDB4MGIsMHhhMCwweDAwLDB4YzgsMHgwMCwweDNhLDB4MDAsMHg0ZSwweDQwLDB4MjMsMHhhMCwweDA4IH19LAotIHsxNiwgMHhhMmIwLCAwLCB7MHhmOCwweDAwLDB4M2EsMHgwMCwweDJjLDB4ODAsMHgwYiwweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTJjMCwgMCwgezB4OTgsMHgxZCwweGRjLDB4MDQsMHhmZCwweDQwLDB4M2YsMHg1MCwweDRmLDB4OTAsMHg2MywweGU0LDB4NDAsMHhmMSwweDAyLDB4M2UgfX0sCi0gezE2LCAweGEyZDAsIDAsIHsweDQxLDB4MGYsMHg5MCwweDEzLDB4ZjUsMHgwNCwweGY5LDB4NDEsMHgzZSwweDUwLDB4MGYsMHg5NCwweDQzLDB4NjUsMHgwMiwweGY5IH19LAotIHsxNiwgMHhhMmUwLCAwLCB7MHg0MSwweDM2LDB4NTAsMHg0ZCwweDk0LDB4MDMsMHhmNCwweDAwLDB4ZjksMHg0MSwweDM3LDB4NDAsMHg0ZiwweDk0LDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4YTJmMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDEsMHhmYywweDAwLDB4Y2QsMHhhOCwweDMzLDB4NzAgfX0sCi0gezE2LCAweGEzMDAsIDAsIHsweDBmLDB4ZDAsMHgxMywweGY2LDB4ODgsMHhjZCwweDAwLDB4MzIsMHg1MCwweDRmLDB4MTQsMHgyMywweDA3LDB4YTAsMHhjOSwweGMwIH19LAotIHsxNiwgMHhhMzEwLCAwLCB7MHgzMiwweDc4LDB4MGMsMHg5ZSwweDAzLDB4MzcsMHgwMiwweGNkLDB4YzAsMHgzMiwweDY0LDB4MGYsMHg5OCwweDAzLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YTMyMCwgMCwgezB4Y2QsMHgwMCwweDMyLDB4NDAsMHgyYywweGRhLDB4MDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGEzMzAsIDAsIHsweDM4LDB4MTAsMHhlMiwweDA4LDB4ODgsMHhlYiwweDIyLDB4MzAsMHgwYiwweDgwLDB4MTIsMHhlOCwweDA0LDB4YTAsMHhhMCwweDJhIH19LAotIHsxNiwgMHhhMzQwLCAwLCB7MHgyMCwweDBiLDB4OGEsMHgwYSwweDIzLDB4MDAsMHg4OCwweDgwLDB4MjIsMHgyOCwweDAwLDB4YzgsMHg0MiwweDIzLDB4ODAsMHg4MCB9fSwKLSB7MTYsIDB4YTM1MCwgMCwgezB4ZDQsMHgyMCwweDI4LDB4MDksMHg4MCwweDAyLDB4MjIsMHg5NCwweGE4LDB4MDAsMHgyYSwweDAwLDB4ODgsMHg4NSwweDAyLDB4MGUgfX0sCi0gezE2LCAweGEzNjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDA1LDB4YzQsMHhhMCwweDgzLDB4MDAsMHgyNCwweGQ4IH19LAotIHsxNiwgMHhhMzcwLCAwLCB7MHg4YiwweDEwLDB4MDIsMHhlNSwweDE0LDB4ODksMHgwYSwweDIxLDB4NDgsMHgwYiwweDUyLDB4MDIsMHg1NCwweDgwLDB4ODUsMHg0MCB9fSwKLSB7MTYsIDB4YTM4MCwgMCwgezB4MjUsMHg1OCwweDA5LDB4NTYsMHgwMiwweDQ1LDB4MDIsMHg4MSwweDIwLDB4MjAsMHg1MCwweDBiLDB4MTQsMHgwMiwweDA0LDB4MzAgfX0sCi0gezE2LCAweGEzOTAsIDAsIHsweDgxLDB4MDAsMHgyMCwweDQwLDB4MDgsMHgxMCwweDAyLDB4NDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhM2EwLCAwLCB7MHgxOCwweDE1LDB4YTQsMHgxMiwweDg5LDB4MDAsMHhhNiwweDQwLDB4MGIsMHg5MCwweDQyLDB4ZTQsMHg5OCwweGE5LDB4ODAsMHgyYiB9fSwKLSB7MTYsIDB4YTNiMCwgMCwgezB4NDAsMHgwYiwweDUxLDB4MDIsMHg1NSwweDAwLDB4OWQsMHgwOCwweDI3LDB4NDgsMHgwOSwweGY2LDB4MDIsMHg0NCwweDAwLDB4ODEgfX0sCi0gezE2LCAweGEzYzAsIDAsIHsweDA0LDB4MjIsMHg0MCwweDE5LDB4OTEsMHg4YSwweDI0LDB4ODAsMHhhOSwweDAwLDB4MmEsMHg0MCwweDA4LDB4OTAsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhhM2QwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU3LDB4MDIsMHhjOSwweDA0LDB4MzYsMHg1OCB9fSwKLSB7MTYsIDB4YTNlMCwgMCwgezB4MGYsMHg5MCwweDAzLDB4YzUsMHgwMCwweGM5LDB4MDAsMHgzMiwweDQwLDB4MGYsMHg5MCwweDEzLDB4NjQsMHgwMiwweGM5LDB4MDAgfX0sCi0gezE2LCAweGEzZjAsIDAsIHsweDM2LDB4NDAsMHgyZCwweDkwLDB4MGIsMHg2NiwweDA0LDB4YzksMHhlMCwweGIyLDB4NDgsMHg4ZiwweDk4LDB4NDcsMHgyNCwweDAwIH19LAotIHsxNiwgMHhhNDAwLCAwLCB7MHhjOSwweDAwLDB4NzIsMHg0MCwweDBjLDB4MTAsMHgwMywweDY4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTQxMCwgMCwgezB4MjgsMHgwMSwweGE1LDB4MDgsMHhmOSwweDIxLDB4M2EsMHg0MCwweDBmLDB4OTAsMHgwMywweGU2LDB4MDQsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGE0MjAsIDAsIHsweDQwLDB4NGYsMHg5OCwweDgzLDB4YTQsMHgwMCwweGU5LDB4NDAsMHhiYSwweDYwLDB4MGUsMHg5MCwweDAzLDB4YTQsMHg4MCwweGY5IH19LAotIHsxNiwgMHhhNDMwLCAwLCB7MHhhMywweDNlLDB4NDgsMHgwZiwweDk4LDB4MGIsMHhlNCwweDAwLDB4ZjksMHgwMCwweDFlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHg4YSB9fSwKLSB7MTYsIDB4YTQ0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMiwweDQ4LDB4YzgsMHgyMCwweDMyLDB4MDggfX0sCi0gezE2LCAweGE0NTAsIDAsIHsweDFmLDB4ODAsMHg4MywweGUxLDB4MjIsMHhjOCwweDAxLDB4MzMsMHgwMCwweDJjLDB4YzAsMHgwMywweDMwLDB4MDQsMHhjYywweDQwIH19LAotIHsxNiwgMHhhNDYwLCAwLCB7MHhiMSwweDAwLDB4MGMsMHg0NCwweDAzLDB4MjAsMHgxMiwweGM4LDB4NDEsMHgzMiwweDAwLDB4MmQsMHg4NCwweDBiLDB4NjAsMHgwMCB9fSwKLSB7MTYsIDB4YTQ3MCwgMCwgezB4ZjgsMHgwMCwweGIyLDB4MDAsMHg0YywweDgwLDB4MGIsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE0ODAsIDAsIHsweDI4LDB4MDUsMHgzYSwweDAwLDB4YTYsMHgwMCwweDIzLDB4OTAsMHgwMywweGU0LDB4OTIsMHhmOCwweDAwLDB4ODIsMHgwMCwweDM2IH19LAotIHsxNiwgMHhhNDkwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHgwMywweDY4LDB4MDAsMHhjYSwweDAwLDB4MjIsMHg4MywweDA4LDB4YTAsMHgwMiwweDI4LDB4MDMsMHg4YSB9fSwKLSB7MTYsIDB4YTRhMCwgMCwgezB4MDAsMHgyMiwweDgwLDB4MDgsMHhhMCwweDAyLDB4MjgsMHgwMCwweGI2LDB4ODAsMHgyMiwweDgwLDB4MGQsMHhlOCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGE0YjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmUsMHgwMCwweDgyLDB4NDIsMHgyMCwweGMwIH19LAotIHsxNiwgMHhhNGMwLCAwLCB7MHgwYiwweDM0LDB4MDIsMHhjZCwweDA5LDB4ODAsMHgwMCwweDIwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAyLDB4OTgsMHgwMCB9fSwKLSB7MTYsIDB4YTRkMCwgMCwgezB4MjAsMHgyMCwweDI4LDB4MDAsMHgwYSwweDA0LDB4MTAsMHg4MSwweDgwLDB4MjAsMHhjMCwweDA4LDB4YjAsMHgwMiwweDJjLDB4MDAgfX0sCi0gezE2LCAweGE0ZTAsIDAsIHsweGIzLDB4MDAsMHgyMiwweGMwLDB4MTgsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNGYwLCAwLCB7MHhhMCwweDAxLDB4MzgsMHgwMiwweGEzLDB4MDAsMHgyMSwweDQwLDB4MWIsMHg3MCwweDAyLDB4ZGMsMHgyMCwweDg0LDB4MDUsMHg2NSB9fSwKLSB7MTYsIDB4YTUwMCwgMCwgezB4ZTAsMHgwOCwweGYwLDB4MDIsMHg3YywweDEwLDB4OTcsMHgwMCwweDI0LDB4YzAsMHgwOCwweDMwLDB4MDIsMHg1NCwweDg4LDB4ODcgfX0sCi0gezE2LCAweGE1MTAsIDAsIHsweDA5LDB4MjEsMHhlOCwweDA5LDB4MzMsMHgwMiwweDFjLDB4ODAsMHhiNiwweDA4LDB4NjMsMHhjOCwweDA5LDB4MzgsMHgxMiwweDI4IH19LAotIHsxNiwgMHhhNTIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDFlLDB4MDAsMHhjNywweGEwLDB4YTEsMHhlMCB9fSwKLSB7MTYsIDB4YTUzMCwgMCwgezB4MGIsMHg3OCwweDAzLDB4ZmUsMHgwMCwweGM1LDB4ODIsMHgzMywweDIwLDB4MGMsMHg0OCwweDAzLDB4MWUsMHgwMSwweGRmLDB4ODAgfX0sCi0gezE2LCAweGE1NDAsIDAsIHsweDMxLDB4MjAsMHgwYywweDQ4LDB4MDMsMHgwNiwweDQwLDB4ODcsMHg4MiwweDMxLDB4ZjgsMHgwZCwweDdiLDB4MDMsMHg1ZiwweDAwIH19LAotIHsxNiwgMHhhNTUwLCAwLCB7MHhmMywweDgwLDB4MzEsMHhmMiwweDBjLDB4NjAsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTU2MCwgMCwgezB4MDgsMHgxZCwweDljLDB4MDAsMHhmYiwweDAxLDB4MmYsMHg0MCwweDA3LDB4YjAsMHgwMywweGU4LDB4MDQsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGE1NzAsIDAsIHsweGMxLDB4MGYsMHhiMCwweDAzLDB4ZTAsMHgwNiwweGU4LDB4MDIsMHgzYSwweGMwLDB4MGYsMHhiMCwweDAxLDB4YTQsMHgxMCwweGY5IH19LAotIHsxNiwgMHhhNTgwLCAwLCB7MHg0MCwweGJlLDB4ZDAsMHgwNiwweGIwLDB4MDMsMHhlZSwweDAwLDB4ZmEsMHgwMCwweDNjLDB4ZDgsMHgwZiwweGEwLDB4MDMsMHhjMiB9fSwKLSB7MTYsIDB4YTU5MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHhmNiwweDAwLDB4Y2YsMHg4OCwweDMzLDB4NjQgfX0sCi0gezE2LCAweGE1YTAsIDAsIHsweDJjLDB4ZjgsMHgwMywweGZlLDB4MDIsMHhjNCwweGIwLDB4MzMsMHgyMCwweDhjLDB4ZDgsMHgwMywweDMyLDB4MDAsMHhjYywweGI0IH19LAotIHsxNiwgMHhhNWIwLCAwLCB7MHgzMywweGEwLDB4MGMsMHhjOCwweDAzLDB4MTYsMHgyMCwweGNmLDB4YzAsMHgzMywweGYwLDB4MGMsMHhmOCwweDAzLDB4ZmUsMHgwMCB9fSwKLSB7MTYsIDB4YTVjMCwgMCwgezB4Y2QsMHg4MCwweDNmLDB4ZTAsMHgwZiwweGQ4LDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE1ZDAsIDAsIHsweGE4LDB4MTEsMHhiNSwweDA0LDB4ODcsMHgxMiwweGExLDB4NTAsMHgwYSwweDc0LDB4MTIsMHhjNCwweDQwLDB4ODQsMHgxMSwweDIzIH19LAotIHsxNiwgMHhhNWUwLCAwLCB7MHhjMCwweDI4LDB4ZTAsMHgwMiwweDFjLDB4MDIsMHhhNywweDExLDB4MjEsMHg1OCwweDQ4LDB4NzAsMHgwYSwweDE0LDB4MDAsMHg4ZCB9fSwKLSB7MTYsIDB4YTVmMCwgMCwgezB4MDAsMHgyMywweGMwLDB4MGIsMHg3MCwweDAyLDB4ZmMsMHg0MCwweDg2LDB4MDAsMHgyZCwweGMwLDB4MGIsMHg1MCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGE2MDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4OTUsMHgwMCwweDg3LDB4NDAsMHgyMSwweDAwIH19LAotIHsxNiwgMHhhNjEwLCAwLCB7MHgxOCwweDcxLDB4MDIsMHhkYywweDAwLDB4OTUsMHgyOCwweGUxLDB4MDIsMHgwOCwweDUwLDB4MDIsMHgzYywweDQyLDB4YTcsMHgyMiB9fSwKLSB7MTYsIDB4YTYyMCwgMCwgezB4MjEsMHg4MCwweDg4LDB4NDEsMHgwMiwweDE0LDB4MDAsMHg4NSwweDAwLDB4YTEsMHhjMCwweDA5LDB4NzEsMHgwMiwweGRjLDB4MDAgfX0sCi0gezE2LCAweGE2MzAsIDAsIHsweGI1LDB4MTAsMHgyZCwweGMwLDB4MGIsMHg0MCwweDAyLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNjQwLCAwLCB7MHgyMCwweDE0LDB4YzQsMHgxMCwweDgzLDB4ODQsMHgyMCwweDExLDB4MDgsMHgzMCwweDAyLDB4YzMsMHgxMCwweDkxLDB4MjAsMHgyMCB9fSwKLSB7MTYsIDB4YTY1MCwgMCwgezB4YzAsMHgwOCwweDI4LDB4MTIsMHgwMCwweDAwLDB4YTAsMHg4NCwweDIwLDB4NDAsMHgwOCwweDMwLDB4MDIsMHgwNCwweDI2LDB4ODMgfX0sCi0gezE2LCAweGE2NjAsIDAsIHsweDAwLDB4MjAsMHhkMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMiwweDAwLDB4MmMsMHhjMCwweDBiLDB4MDAsMHgwMiwweDA4IH19LAotIHsxNiwgMHhhNjcwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGFkLDB4MDAsMHhjZiwweDg4LDB4YjIsMHhlOCB9fSwKLSB7MTYsIDB4YTY4MCwgMCwgezB4MGMsMHgzMCwweDEzLDB4Y2UsMHhjMiwweGQwLDB4ODIsMHgzMiwweDAwLDB4MGMsMHgwZSwweDBiLDB4MjAsMHgwMCwweGM4LDB4ODggfX0sCi0gezE2LCAweGE2OTAsIDAsIHsweGIyLDB4NDAsMHgyYywweGJhLDB4NDMsMHgzNywweDAyLDB4Y2IsMHgwMCwweGIzLDB4YzAsMHgyYywweGYwLDB4MDMsMHhmYywweDEyIH19LAotIHsxNiwgMHhhNmEwLCAwLCB7MHhmYiwweDAwLDB4N2YsMHhkMSwweDBmLDB4MzAsMHgwYiwweDJiLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTZiMCwgMCwgezB4ODAsMHgwMCwweGVkLDB4MDIsMHhmMSwweDQwLDB4M2UsMHg0MSwweDBmLDB4YjAsMHgyMywweGVkLDB4MDAsMHhlOCwweDAxLDB4M2UgfX0sCi0gezE2LCAweGE2YzAsIDAsIHsweGM4LDB4MGYsMHhiMCwweDEzLDB4ZWMsMHgwNCwweGRiLDB4MDAsMHgzYywweDgwLDB4MGYsMHgwNCwweDAzLDB4ZTQsMHg0MCwweGY5IH19LAotIHsxNiwgMHhhNmQwLCAwLCB7MHgwMCwweDNjLDB4YzIsMHgwZSwweGIwLDB4MDMsMHhlZSwweDAwLDB4NGIsMHg0MSwweDNlLDB4YzAsMHgwZiwweGIwLDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YTZlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmYywweDAwLDB4NGIsMHgwMCwweDMyLDB4NDIgfX0sCi0gezE2LCAweGE2ZjAsIDAsIHsweDBjLDB4ZjAsMHgwMywweDM2LDB4ODAsMHhjZCwweDAwLDB4MzMsMHgwMCwweDRjLDB4YzAsMHg4MywweDNjLDB4MDQsMHhmNywweDAwIH19LAotIHsxNiwgMHhhNzAwLCAwLCB7MHgzMiwweDQwLDB4MGMsMHhiMSwweDQzLDB4MTQsMHgwMCwweGNkLDB4ODAsMHgzMywweGMwLDB4MGMsMHhmMCwweDAzLDB4ZmMsMHgwMCB9fSwKLSB7MTYsIDB4YTcxMCwgMCwgezB4ZmYsMHgwMCwweGIzLDB4YzIsMHgwYywweGEwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE3MjAsIDAsIHsweDgxLDB4MDQsMHg0ZiwweDAyLDB4OGIsMHg4MCwweDIwLDB4MzAsMHgwOCwweGJjLDB4MDIsMHgyMCwweDEwLDB4ODksMHgwMCwweDIyIH19LAotIHsxNiwgMHhhNzMwLCAwLCB7MHhjMCwweDAwLDB4YjAsMHgwMywweDYwLDB4MDQsMHhiOCwweDAwLDB4YTIsMHg5MCwweDI4LDB4OGMsMHgxYSwweDI0LDB4MDIsMHg4YiB9fSwKLSB7MTYsIDB4YTc0MCwgMCwgezB4ODMsMHgyMiwweGMxLDB4MDgsMHhiMCwweDAyLDB4ZmMsMHgwMCwweGIzLDB4NjAsMHgyMCwweGMwLDB4MGQsMHhhMCwweDAzLDB4ZTAgfX0sCi0gezE2LCAweGE3NTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MmUsMHgwMCwweGFiLDB4YzAsMHgyMiwweDYwIH19LAotIHsxNiwgMHhhNzYwLCAwLCB7MHgwOCwweGI4LDB4MDIsMHgyOSwweDAwLDB4ODgsMHgwMSwweDIwLDB4MDAsMHgwOCwweDkwLDB4MDIsMHgyMCwweDAwLDB4YjgsMHgwMCB9fSwKLSB7MTYsIDB4YTc3MCwgMCwgezB4MjIsMHhjMCwweDA4LDB4YjAsMHgwMiwweGU0LDB4MDAsMHg4MSwweDI0LDB4YTIsMHhjMCwweDA5LDB4YjAsMHg0NiwweGVjLDB4MDAgfX0sCi0gezE2LCAweGE3ODAsIDAsIHsweGI5LDB4MDAsMHgyMiwweGMwLDB4MDgsMHg5MCwweDAyLDB4MjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhNzkwLCAwLCB7MHgwOCwweDA0LDB4MmMsMHgwMCwweGExLDB4MDAsMHhhMCwweDQxLDB4MDgsMHhiMCwweDBhLDB4MjAsMHg1MywweDg4LDB4MDAsMHgyMCB9fSwKLSB7MTYsIDB4YTdhMCwgMCwgezB4YzAsMHgyOCwweGEwLDB4MDIsMHg0YywweDAwLDB4YjMsMHgwMCwweDIwLDB4MDAsMHg4OCwweDAwLDB4MDIsMHg4NCwweDAwLDB4ODMgfX0sCi0gezE2LCAweGE3YjAsIDAsIHsweDA0LDB4MjAsMHhjMCwweDI4LDB4MzAsMHgwMiwweGNjLDB4MDAsMHhiMywweDAyLDB4NjIsMHhjMCwweDA5LDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhhN2MwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDZjLDB4MDAsMHhlOSwweDAwLDB4MjIsMHgwMCB9fSwKLSB7MTYsIDB4YTdkMCwgMCwgezB4MGMsMHhiMCwweDAzLDB4MDAsMHgwNCwweGM5LDB4MDAsMHhiMiwweDAwLDB4MGMsMHg5MCwweDAzLDB4MmMsMHgwMCwweGYzLDB4MDAgfX0sCi0gezE2LCAweGE3ZTAsIDAsIHsweGIyLDB4YzAsMHg4YywweGIwLDB4MDMsMHhiNCwweDAyLDB4OGYsMHgwMCwweDIzLDB4YzAsMHgwNCwweGYwLDB4MDMsMHhlYywweDA4IH19LAotIHsxNiwgMHhhN2YwLCAwLCB7MHhmOSwweDAwLDB4MzMsMHhjMCwweDBjLDB4ODAsMHgwMywweDAwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTgwMCwgMCwgezB4YTAsMHgxZCwweGZjLDB4MTAsMHhkZCwweDA0LDB4M2YsMHgwMCwweDBmLDB4YzAsMHgyMywweGYwLDB4OTAsMHhmZCwweDAwLDB4MmYgfX0sCi0gezE2LCAweGE4MTAsIDAsIHsweGMwLDB4MGYsMHhlMCwweDQzLDB4ZDAsMHgwMCwweGZjLDB4MDAsMHgzZiwweDAwLDB4OGYsMHhjMCwweDIyLDB4NzQsMHgwMCwweGZkIH19LAotIHsxNiwgMHhhODIwLCAwLCB7MHgwNCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhmYywweDAwLDB4ZmYsMHgwNiwweDNmLDB4YzAsMHgwZiwweGMwLDB4NDMsMHhlOCB9fSwKLSB7MTYsIDB4YTgzMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmYywweDgwLDB4ZWYsMHgyMCwweDExLDB4YzAgfX0sCi0gezE2LCAweGE4NDAsIDAsIHsweDBlLDB4NzIsMHgwMywweGJkLDB4YjAsMHhjZiwweDMxLDB4YmYsMHhjYywweDAyLDB4ZjAsMHgwMywweGZjLDB4YzYsMHhjZiwweDAxIH19LAotIHsxNiwgMHhhODUwLCAwLCB7MHgwYiwweGM1LDB4MGYsMHhmMSwweDAzLDB4M2MsMHgwNCwweGVmLDB4NjEsMHgzMywweGQ4LDB4MDcsMHhmMCwweDAzLDB4MzQsMHg4MCB9fSwKLSB7MTYsIDB4YTg2MCwgMCwgezB4Y2QsMHgzMCwweDczLDB4Y2MsMHgwZiwweGU4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE4NzAsIDAsIHsweDgwLDB4MTgsMHhlOSwweDAwLDB4ODgsMHg2OSwweDIyLDB4MTAsMHgwOCwweDhjLDB4MDAsMHgyMSwweDg0LDB4ODgsMHg0MSwweDIyIH19LAotIHsxNiwgMHhhODgwLCAwLCB7MHgxMCwweDg4LDB4ODYsMHg5MiwweDAxLDB4MDAsMHg4OCwweDYyLDB4MjIsMHgxMCwweDRiLDB4ODcsMHgwMiwweDIxLDB4YTAsMHg4OCB9fSwKLSB7MTYsIDB4YTg5MCwgMCwgezB4NjAsMHgyMCwweDEwLDB4MGIsMHg4NiwweGEyLDB4MzUsMHhhMCwweGFiLDB4NjAsMHhhMSwweGM0LDB4MGIsMHhiOCwweDAyLDB4MjAgfX0sCi0gezE2LCAweGE4YTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4Y2QsMHhhOCwweDMzLDB4NDEsMHgyMCwweGM2IH19LAotIHsxNiwgMHhhOGIwLCAwLCB7MHg0YSwweDMxLDB4MDAsMHg4YywweDEwLDB4OTMsMHgzMywweDI4LDB4Y2MsMHgyOSwweDM0LDB4MTIsMHg4YywweDUwLDB4OTMsMHgxYyB9fSwKLSB7MTYsIDB4YThjMCwgMCwgezB4MjgsMHg4NCwweDAxLDB4MjAsMHg0YSwweDRjLDB4NDEsMHg4MywweDEwLDB4MjQsMHhjYywweDRiLDB4MzEsMHg0MiwweDRjLDB4NDAgfX0sCi0gezE2LCAweGE4ZDAsIDAsIHsweDkxLDB4MTAsMHgyNCwweGMwLDB4MGIsMHg4MCwweDAyLDB4MjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhOGUwLCAwLCB7MHhjMCwweDA1LDB4YTgsMHgyMCwweDkwLDB4MDIsMHgyMiwweDAwLDB4MDgsMHg4MCwweDAwLDB4MjAsMHgzMCwweGI4LDB4MDgsMHgyNiB9fSwKLSB7MTYsIDB4YThmMCwgMCwgezB4MDAsMHgwMSwweDgwLDB4ODIsMHgyMCwweDIwLDB4MTgsMHgwOCwweDQyLDB4NDAsMHgwMywweDkxLDB4MDIsMHg2MCwweDAwLDB4MDggfX0sCi0gezE2LCAweGE5MDAsIDAsIHsweDAxLDB4YTYsMHgwMCwweDBiLDB4ODAsMHgwMCwweDZjLDB4MTAsMHhiYiwweDAxLDB4MjYsMHhjMCwweDRiLDB4OTAsMHgwYSwweDMwIH19LAotIHsxNiwgMHhhOTEwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGZkLDB4MDAsMHhmZCwweDQxLDB4MzMsMHhhMSB9fSwKLSB7MTYsIDB4YTkyMCwgMCwgezB4MGUsMHhkMiwweDAzLDB4YjUsMHgwMiwweGRmLDB4NDIsMHgzYiwweDAxLDB4MGYsMHhkNCwweDQzLDB4YjUsMHgwMCwweGNkLDB4NDAgfX0sCi0gezE2LCAweGE5MzAsIDAsIHsweDFiLDB4YzQsMHgwZCwweDc4LDB4MDMsMHg3MCwweDAyLDB4ZWMsMHgwMCwweDE3LDB4YTEsMHgwZiwweGU4LDB4MGIsMHgyYywweDAyIH19LAotIHsxNiwgMHhhOTQwLCAwLCB7MHhkOSwweDkwLDB4MjYsMHhjMCwweDBmLDB4YWMsMHgwMywweDAwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YTk1MCwgMCwgezB4ZTAsMHgwMSwweGI4LDB4MDAsMHhlZSwweDAwLDB4MWYsMHg2NCwweDRmLDB4ZTAsMHgwMywweGQ4LDB4MTAsMHhjNCwweDE4LDB4MzMgfX0sCi0gezE2LCAweGE5NjAsIDAsIHsweGMwLDB4MGMsMHhhMCwweGExLDB4YjgsMHgwOSwweGU2LDB4MDksMHgzNiwweDIyLDB4MGYsMHg4OCwweDIzLDB4YmMsMHgwMCwweGZiIH19LAotIHsxNiwgMHhhOTcwLCAwLCB7MHgwMCwweDNiLDB4NjQsMHgwZiwweGQ5LDB4MDMsMHg5YywweDAwLDB4ZTMsMHgwNCwweDNiLDB4YzAsMHgwZiwweGY0LDB4MDMsMHhmOCB9fSwKLSB7MTYsIDB4YTk4MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHg4ZCwweDAwLDB4YzksMHg0MCwweGI2LDB4ODAgfX0sCi0gezE2LCAweGE5OTAsIDAsIHsweDBmLDB4MTAsMHgwMywweGE3LDB4MjAsMHhmYiwweDUwLDB4YjYsMHgwOCwweDRjLDB4MTQsMHgwMywweDY1LDB4MjIsMHhkOSwweDQwIH19LAotIHsxNiwgMHhhOWEwLCAwLCB7MHhiNiwweDgwLDB4MGUsMHhhMCwweDBiLDB4MDAsMHgwMCwweGQ4LDB4MDAsMHg3NiwweDgyLDB4MjgsMHhhMCwweDIzLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4YTliMCwgMCwgezB4YzksMHgwNCwweDEyLDB4YzAsMHg4ZSwweDgwLDB4MDMsMHg5MCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGE5YzAsIDAsIHsweGM4LDB4MDUsMHgyYiwweDYwLDB4OGEsMHgwOSwweDIwLDB4NTAsMHgwOCwweGEwLDB4MjMsMHhlOSwweDAwLDB4YjgsMHhjMCwweDIyIH19LAotIHsxNiwgMHhhOWQwLCAwLCB7MHhmMCwweDA4LDB4YWMsMHgwMiwweDI4LDB4MDQsMHg4YSwweGMyLDB4MjIsMHg1MCwweDA4LDB4OTAsMHgwNiwweDJjLDB4MDAsMHg4YiB9fSwKLSB7MTYsIDB4YTllMCwgMCwgezB4MDQsMHgyMiwweDUxLDB4MDgsMHg5NCwweDAyLDB4ZTQsMHgwNCwweDhiLDB4MDQsMHgzNywweGMwLDB4MDgsMHgxOCwweDQyLDB4MjYgfX0sCi0gezE2LCAweGE5ZjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDA0LDB4NGIsMHgwMCwweDgyLDB4YzgsMHgyNCwweDQzIH19LAotIHsxNiwgMHhhYTAwLCAwLCB7MHgwYiwweDI2LDB4MGEsMHg4OCwweDAwLDB4YjAsMHg4MCwweDIyLDB4ZTQsMHgwYiwweDIwLDB4NDIsMHg2OSwweDAwLDB4YTIsMHg5MCB9fSwKLSB7MTYsIDB4YWExMCwgMCwgezB4MjgsMHg0MCwweGU4LDB4MTAsMHgwMiwweDBjLDB4MDAsMHhiYiwweDAwLDB4MjgsMHg1MCwweDg4LDB4OTAsMHg4MiwweGM0LDB4MDEgfX0sCi0gezE2LCAweGFhMjAsIDAsIHsweDgzLDB4MDAsMHgyMCwweGMwLDB4MGEsMHgxMCwweDAyLDB4YmEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYTMwLCAwLCB7MHgyMCwweDEwLDB4NGUsMHg4MCwweDgxLDB4MDAsMHgyMSwweGE4LDB4MDgsMHg1OCwweDAyLDB4ZDYsMHgwMSwweGI3LDB4OTAsMHg2OCB9fSwKLSB7MTYsIDB4YWE0MCwgMCwgezB4MjAsMHgwMywweDU5LDB4ODIsMHg1NiwweDAwLDB4YTUsMHg4NCwweDJkLDB4YTIsMHgxOCwweDY5LDB4MjIsMHgwMiwweDAwLDB4MzQgfX0sCi0gezE2LCAweGFhNTAsIDAsIHsweDgwLDB4MjksMHhhOCwweDA4LDB4NjgsMHgwNiwweGM2LDB4MTQsMHg4NSwweDgyLDB4MjUsMHhlMCwweDA4LDB4NTgsMHg4MiwweDFjIH19LAotIHsxNiwgMHhhYTYwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDQ4LDB4MDAsMHhjMiwweGYwLDB4MzQsMHg0MCB9fSwKLSB7MTYsIDB4YWE3MCwgMCwgezB4MGYsMHgyMCwweDAzLDB4ODgsMHg4MCwweGY4LDB4MTAsMHgzMCwweGMwLDB4MjcsMHgyMSwweDBiLDB4NDgsMHg4MCwweGVhLDB4MjAgfX0sCi0gezE2LCAweGFhODAsIDAsIHsweDM4LDB4MDAsMHgwYywweDAwLDB4MTIsMHgwYywweDA4LDB4NzMsMHgwMCwweGI4LDB4NDAsMHgwYywweDEyLDB4MjMsMHg0YywweDAyIH19LAotIHsxNiwgMHhhYTkwLCAwLCB7MHg0MywweDM0LDB4MzAsMHhjMCwweDBlLDB4MTEsMHgwMywweDkyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWFhMCwgMCwgezB4NDAsMHgxNSwweGFjLDB4OTAsMHhmOSwweDAxLDB4MmUsMHg4OCwweDRiLDB4OTAsMHgxMSwweDY0LDB4MDAsMHhmYiwweDEwLDB4MzIgfX0sCi0gezE2LCAweGFhYjAsIDAsIHsweDAwLDB4MDAsMHg5MSwweDAzLDB4YTQsMHgwMCwweGM5LDB4MDAsMHgzMiwweGM0LDB4NGQsMHhiMCwweDQzLDB4ZTAsMHgwNCwweGM4IH19LAotIHsxNiwgMHhhYWMwLCAwLCB7MHgwMCwweDM2LDB4ODksMHgwZiwweGE4LDB4MDMsMHhlZCwweDAwLDB4ZjksMHgxNCwweDNlLDB4YzAsMHgwZiwweDEwLDB4NDMsMHhkMCB9fSwKLSB7MTYsIDB4YWFkMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHhlOCwweDAwLDB4YzgsMHgwMCwweDNhLDB4MDAgfX0sCi0gezE2LCAweGFhZTAsIDAsIHsweDBjLDB4MDAsMHg1MywweGEwLDB4MDAsMHhlOCwweDAxLDB4MzIsMHgwMSwweDBlLDB4ODAsMHg1MywweDIwLDB4MTAsMHhjOCwweDAwIH19LAotIHsxNiwgMHhhYWYwLCAwLCB7MHgzYSwweDQwLDB4MGMsMHg5MCwweDAzLDB4MjAsMHgxMCwweGU4LDB4MDQsMHhiNiwweDAwLDB4ODQsMHg4MCwweDAzLDB4MmQsMHgxMiB9fSwKLSB7MTYsIDB4YWIwMCwgMCwgezB4Y2IsMHgwMCwweDJlLDB4Y2EsMHgwNCwweDkwLDB4MDMsMHhlYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFiMTAsIDAsIHsweDRjLDB4MTksMHg4YywweDAwLDB4ODcsMHgwMiwweDIxLDB4YzAsMHgwOCwweDcwLDB4MDIsMHgwYywweDAwLDB4ODMsMHgwMCwweDIxIH19LAotIHsxNiwgMHhhYjIwLCAwLCB7MHhjMCwweDA4LDB4MzAsMHg2MiwweDRjLDB4MDQsMHg4MywweDAwLDB4MjEsMHg4MCwweDQ4LDB4ZTAsMHgxMiwweDNjLDB4MDAsMHg4NyB9fSwKLSB7MTYsIDB4YWIzMCwgMCwgezB4MDAsMHgyMSwweGMwLDB4MDgsMHg3MCwweDAyLDB4MWMsMHgwMCwweDg1LDB4MDEsMHgyNCwweGQwLDB4MGEsMHg1MCwweDAyLDB4ZjIgfX0sCi0gezE2LCAweGFiNDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4OWEsMHgwMCwweDgwLDB4ODAsMHgyOCwweDIwIH19LAotIHsxNiwgMHhhYjUwLCAwLCB7MHgwOCwweDRjLDB4MjIsMHhkMiwweDAwLDB4YTQsMHg4MCwweDI0LDB4MzAsMHgwYiwweDQ4LDB4MDIsMHg1MiwweDAwLDB4ODQsMHhjMCB9fSwKLSB7MTYsIDB4YWI2MCwgMCwgezB4MjEsMHgyMCwweDA5LDB4NDgsMHg2OCwweDEzLDB4MDAsMHhhNCwweDgwLDB4NjAsMHgyMCwweDA5LDB4MDgsMHgwMiwweDU2LDB4MDAgfX0sCi0gezE2LCAweGFiNzAsIDAsIHsweDk3LDB4ODAsMHgyZCwweGUwLDB4ODgsMHg1OCwweDAyLDB4ZTAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhYjgwLCAwLCB7MHg2YywweDA0LDB4Y2MsMHgwMCwweDgzLDB4ODAsMHgyMCwweGQ4LDB4MDgsMHgzMCwweDAyLDB4NGMsMHg0MCwweDgzLDB4MDAsMHgyNCB9fSwKLSB7MTYsIDB4YWI5MCwgMCwgezB4ZDEsMHgwOSwweGI5LDB4NDIsMHg0ZSwweDAwLDB4ODMsMHgwMCwweDIwLDB4YzEsMHg4OSwweDMwLDB4NDIsMHgwYywweDAwLDB4ODMgfX0sCi0gezE2LCAweGFiYTAsIDAsIHsweGYwLDB4YTAsMHhkOSwweDE5LDB4MzYsMHgyMiwweDY2LDB4MDYsMHg5MSwweDAwLDB4MGMsMHhjMSwweDBhLDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhhYmIwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGU4LDB4MDIsMHhjYSwweGE1LDB4MmEsMHg5MSB9fSwKLSB7MTYsIDB4YWJjMCwgMCwgezB4MjgsMHhhOCwweDAzLDB4ZWEsMHgwMiwweGFhLDB4MDAsMHhiNiwweGEwLDB4MGYsMHhhMCwweDBhLDB4MmEsMHg5MiwweGNhLDB4ODMgfX0sCi0gezE2LCAweGFiZDAsIDAsIHsweGJhLDB4ODAsMHgyOSwweGEwLDB4MDMsMHgyYiwweDAwLDB4ZWEsMHg0MCwweDY2LDB4OTAsMHgyZCwweGU0LDB4MGIsMHg2YSwweDgwIH19LAotIHsxNiwgMHhhYmUwLCAwLCB7MHhkYSwweDAwLDB4M2UsMHg4MCwweDBjLDB4ZTAsMHgwMywweGZhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWJmMCwgMCwgezB4NDgsMHgwMSwweDgwLDB4MDAsMHhmYywweDAwLDB4M2QsMHgwMCwweDBmLDB4YzAsMHgwMywweGIwLDB4MTQsMHhmYywweDAwLDB4M2IgfX0sCi0gezE2LCAweGFjMDAsIDAsIHsweDEyLDB4MGUsMHhjMCwweDQzLDB4YjEsMHgxNCwweGZjLDB4MDAsMHgzZCwweDAwLDB4MGUsMHhjMCwweDAzLDB4ZjAsMHgyMCwweGY0IH19LAotIHsxNiwgMHhhYzEwLCAwLCB7MHgwMCwweDMxLDB4MDAsMHgwZSwweDQ0LDB4MTMsMHhhMCwweDAwLDB4ZTgsMHgwNiwweDM2LDB4MDAsMHg0ZiwweDgwLDB4MTMsMHhkMiB9fSwKLSB7MTYsIDB4YWMyMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhNCwweDAwLDB4ZDEsMHgwMCwweDM2LDB4NjAgfX0sCi0gezE2LCAweGFjMzAsIDAsIHsweDFjLDB4MTgsMHgwYiwweDQ2LDB4MDAsMHhkOSwweDgwLDB4MzAsMHg0MCwweDJjLDB4OTgsMHgwNSwweDg2LDB4MDAsMHhjMSwweDgwIH19LAotIHsxNiwgMHhhYzQwLCAwLCB7MHg5MiwweDQwLDB4MGQsMHgxMCwweDAzLDB4NDQsMHgwMiwweDg5LDB4MDAsMHgzMiwweDcwLDB4MGMsMHg5OCwweDAxLDB4MjQsMHgwMCB9fSwKLSB7MTYsIDB4YWM1MCwgMCwgezB4YzksMHgwNCwweDMwLDB4NDAsMHgwYywweDkwLDB4MDMsMHhjMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFjNjAsIDAsIHsweDgwLDB4MDQsMHg2NCwweDAwLDB4ODksMHgwMCwweDIyLDB4NDAsMHgwOCwweDk0LDB4MDIsMHgyNCwweDgwLDB4ODksMHgwMSwweDIyIH19LAotIHsxNiwgMHhhYzcwLCAwLCB7MHg0MCwweDQ4LDB4OTEsMHgwMiwweDI0LDB4MDAsMHhkOSwweDkwLDB4MjIsMHg0MSwweDA4LDB4OTAsMHgxMiwweDI0LDB4MTAsMHg4OSB9fSwKLSB7MTYsIDB4YWM4MCwgMCwgezB4MDAsMHgzMiwweDQwLDB4MDgsMHg5NSwweDEyLDB4MjQsMHgwMiwweDgxLDB4MDAsMHhhMiwweDQxLDB4MGQsMHg5MCwweDQyLDB4ZTAgfX0sCi0gezE2LCAweGFjOTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzOCwweDA1LDB4MjQsMHgwMiwweDlkLDB4MDAsMHgyMywweDQ0IH19LAotIHsxNiwgMHhhY2EwLCAwLCB7MHgwOCwweGQyLDB4MDYsMHg3NCwweDgwLDB4YjUsMHgyMCwweDIzLDB4NDAsMHgxYSwweGQwLDB4MDYsMHgzNSwweDkwLDB4OGQsMHgwMiB9fSwKLSB7MTYsIDB4YWNiMCwgMCwgezB4MmYsMHg0NCwweDE5LDB4ZDAsMHgwMiwweDc0LDB4MDAsMHg4ZCwweDAwLDB4NjMsMHg0MCwweDE4LDB4ZDQsMHgwMiwweGE0LDB4MTEgfX0sCi0gezE2LCAweGFjYzAsIDAsIHsweDg5LDB4MDAsMHgyMiwweDQwLDB4MDgsMHhiMCwweDAyLDB4YzYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhY2QwLCAwLCB7MHgyOCwweDE0LDB4MDQsMHg4MCwweDg1LDB4MjAsMHgyMSwweDY4LDB4MDgsMHg1MiwweDAyLDB4MTQsMHg4MCwweGE1LDB4MjAsMHhhMSB9fSwKLSB7MTYsIDB4YWNlMCwgMCwgezB4NDgsMHgwYSwweDcyLDB4MzgsMHgxNCwweDgwLDB4OTUsMHgyNCwweDJkLDB4NDgsMHgyOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4ODUgfX0sCi0gezE2LCAweGFjZjAsIDAsIHsweDIwLDB4MjEsMHg0OCwweDA4LDB4NTIsMHgwNiwweDg0LDB4ODAsMHg4MSwweDIwLDB4MjAsMHg0YSwweDA5LDB4MTAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhhZDAwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzgsMHgwZCwweDYxLDB4NDAsMHhkOCwweDUwLDB4YjIsMHgxNCB9fSwKLSB7MTYsIDB4YWQxMCwgMCwgezB4MjgsMHhhMCwweDAzLDB4NjEsMHg0MCwweGY4LDB4NTAsMHgzMiwweDk0LDB4NGUsMHg4NSwweDA0LDB4MjEsMHg0MiwweGM4LDB4NTAgfX0sCi0gezE2LCAweGFkMjAsIDAsIHsweDNjLDB4MTQsMHgwZCwweDgwLDB4MDMsMHg2MSwweDQwLDB4ODgsMHg1MCwweGIyLDB4MTQsMHgyYywweGM1LDB4MDksMHhhMSwweDQwIH19LAotIHsxNiwgMHhhZDMwLCAwLCB7MHhjOCwweDUwLDB4MzIsMHgxYywweDBjLDB4ODAsMHgwMywweGVlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWQ0MCwgMCwgezB4OTgsMHgxNSwweGU0LDB4NDAsMHhmOSwweDEwLDB4M2EsMHg0NCwweDBmLDB4OTEsMHgwMywweGU0LDB4NDAsMHhkOSwweDE0LDB4M2UgfX0sCi0gezE2LCAweGFkNTAsIDAsIHsweDQ0LDB4MGQsMHg5MSwweDQzLDB4NjQsMHg0MCwweGU5LDB4MTAsMHgzMiwweDQ0LDB4MDcsMHg5MywweGMzLDB4ZTQsMHg1MCwweGQxIH19LAotIHsxNiwgMHhhZDYwLCAwLCB7MHgxMCwweDdlLDB4NDQsMHgwMywweDkxLDB4MDEsMHg1NCwweDQ0LDB4ZmQsMHgxNCwweDNlLDB4NDAsMHgwZiwweGQwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4YWQ3MCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDgwLDB4ZGQsMHhhMCwweDMzLDB4NjggfX0sCi0gezE2LCAweGFkODAsIDAsIHsweDFlLDB4ZGEsMHgwMywweDM2LDB4OTAsMHhjZCwweGEwLDB4M2IsMHg2OCwweDBhLDB4ZDgsMHgyMywweDc2LDB4MGMsMHhlZCwweDgwIH19LAotIHsxNiwgMHhhZDkwLCAwLCB7MHgyYiwweDYyLDB4MGIsMHg5OSwweDAyLDB4YTcsMHg4MCwweGY5LDB4ZTEsMHgzNywweDY4LDB4MGMsMHhkYSwweDAzLDB4MjcsMHg4MCB9fSwKLSB7MTYsIDB4YWRhMCwgMCwgezB4YzksMHhhMiwweDIyLDB4NjgsMHg0YywweDUwLDB4MDMsMHhjNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFkYjAsIDAsIHsweDM4LDB4MTgsMHhlMSwweDQwLDB4ODgsMHg1MCwweDIyLDB4MTQsMHgwOCwweDgwLDB4MjIsMHg2MCwweDAwLDB4ODgsMHgwNCwweDIyIH19LAotIHsxNiwgMHhhZGMwLCAwLCB7MHgwMCwweDA4LDB4MDQsMHgyNiwweDAxLDB4MDAsMHg4OCwweDUwLDB4MjIsMHgxMCwweDA4LDB4YWYsMHgwMiwweDIzLDB4MDAsMHg4OCB9fSwKLSB7MTYsIDB4YWRkMCwgMCwgezB4YzAsMHhhMCwweDEwLDB4ODgsMHg4NCwweDAyLDB4MjMsMHg4MCwweGEwLDB4NDAsMHgyYSwweDEwLDB4MDgsMHg4MCwweDEyLDB4NGUgfX0sCi0gezE2LCAweGFkZTAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4ODQsMHgwMCwweDgxLDB4MDEsMHgyMCwweDQwIH19LAotIHsxNiwgMHhhZGYwLCAwLCB7MHgwYSwweDE0LDB4MDIsMHg0NSwweDAwLDB4ODEsMHg0MSwweDJjLDB4NTAsMHgwYiwweDE0LDB4MDIsMHgwNSwweDA0LDB4YTEsMHgwMCB9fSwKLSB7MTYsIDB4YWUwMCwgMCwgezB4MjgsMHg0MCwweDgyLDB4MTAsMHgwMiwweDg0LDB4NDAsMHhhMSwweDMyLDB4ODAsMHg1MCwweDA5LDB4MTQsMHgwMiwweDA0LDB4YzQgfX0sCi0gezE2LCAweGFlMTAsIDAsIHsweDkxLDB4MTAsMHg2NCwweDQ0LDB4MjgsMHgxMCwweDAyLDB4ZDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZTIwLCAwLCB7MHgxOCwweDA0LDB4YWMsMHgwMiwweDgxLDB4MDAsMHgyMiwweGMxLDB4MDgsMHg5MCwweDAyLDB4NDQsMHgwMiwweDg5LDB4MDIsMHgyNiB9fSwKLSB7MTYsIDB4YWUzMCwgMCwgezB4NDEsMHgwOSwweDkwLDB4MGEsMHgyNCwweDBjLDB4ODksMHgwNCwweDIyLDB4NTAsMHgwOCwweDkwLDB4MjYsMHgyNCwweDAwLDB4ODkgfX0sCi0gezE2LCAweGFlNDAsIDAsIHsweDAwLDB4MjIsMHg0MSwweDA5LDB4MTAsMHgyMiwweDI0LDB4NDAsMHhiOSwweDAxLDB4MmUsMHg0MCwweDA4LDB4OTAsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhhZTUwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTAsMHgxNSwweGU0LDB4MTAsMHg4OSwweDAwLDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4YWU2MCwgMCwgezB4MGEsMHg5MCwweDBiLDB4MjQsMHgxMCwweDg5LDB4MDAsMHgxZSwweDQwLDB4OWIsMHg5MCwweDAyLDB4MjQsMHgxMCwweDI5LDB4MDAgfX0sCi0gezE2LCAweGFlNzAsIDAsIHsweDFhLDB4NDAsMHgwZSwweDk0LDB4NDEsMHhhNCwweDAwLDB4MjksMHgwMCwweDEyLDB4NDAsMHgwNSwweDkwLDB4NDEsMHgyNiwweDAwIH19LAotIHsxNiwgMHhhZTgwLCAwLCB7MHhkOSwweDAwLDB4MjQsMHg0MCwweDBjLDB4OTAsMHgwMywweGU4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWU5MCwgMCwgezB4NDgsMHgwMSwweGE0LDB4MDIsMHhhOSwweDAwLDB4YmMsMHg0MCwweDBmLDB4OTAsMHgwMywweGE0LDB4MDQsMHhmOSwweDAwLDB4M2EgfX0sCi0gezE2LCAweGFlYTAsIDAsIHsweDQxLDB4MGUsMHg5MCwweDgzLDB4ODQsMHgwMCwweGY5LDB4MDAsMHgzYywweDQwLDB4MGUsMHg5MCwweDAyLDB4YzQsMHgwOCwweGU5IH19LAotIHsxNiwgMHhhZWIwLCAwLCB7MHgwMCwweDNhLDB4NDAsMHgyZSwweDkwLDB4MGIsMHhlNiwweDAwLDB4ZTEsMHgwNCwweDNhLDB4NDAsMHgwZiwweDkyLDB4MDMsMHg1YSB9fSwKLSB7MTYsIDB4YWVjMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhhMCwweDIwLDB4ZDgsMHgwMCwweDM2LDB4MDIgfX0sCi0gezE2LCAweGFlZDAsIDAsIHsweDBlLDB4MDAsMHhhMywweGUwLDB4MTgsMHhjMCwweDAwLDB4MzAsMHgwMywweDBmLDB4ODAsMHgzMywweDIwLDB4MDAsMHg0MCwweDAwIH19LAotIHsxNiwgMHhhZWUwLCAwLCB7MHgzMiwweDBkLDB4MGYsMHgwNCwweDBiLDB4YTAsMHgwMiwweGM4LDB4MDIsMHgzMiwweDAyLDB4OGMsMHg4MiwweDAzLDB4MjAsMHgwMiB9fSwKLSB7MTYsIDB4YWVmMCwgMCwgezB4YzgsMHgwNCwweDE2LDB4MDAsMHg0ZSwweDgwLDB4MDEsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGFmMDAsIDAsIHsweDI4LDB4MDUsMHgzYiwweDAwLDB4OGUsMHhkOCwweDIzLDB4ODAsMHgwOCwweGUwLDB4MDIsMHhmOCwweDgwLDB4OGUsMHgxMCwweDIzIH19LAotIHsxNiwgMHhhZjEwLCAwLCB7MHhhMiwweDBiLDB4ZTAsMHg4MiwweDdhLDB4MjAsMHg4ZSwweDMwLDB4MjMsMHhhMSwweDBiLDB4ZTAsMHgwMiwweDI4LDB4MDAsMHg4ZSB9fSwKLSB7MTYsIDB4YWYyMCwgMCwgezB4MDAsMHgyYiwweDg4LDB4MDgsMHhlNCwweDQyLDB4MzgsMHgwMCwweDhlLDB4MDQsMHgyMywweDgwLDB4MDgsMHhhMCwweDAyLDB4MGEgfX0sCi0gezE2LCAweGFmMzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NmYsMHg0MCwweDkzLDB4YzYsMHgyNCwweDQwIH19LAotIHsxNiwgMHhhZjQwLCAwLCB7MHgwYSwweDM4LDB4MDIsMHhjYywweDAwLDB4ODMsMHgwMSwweGFjLDB4ZjAsMHgwYiwweGI0LDB4MDIsMHg0YywweDA0LDB4YTMsMHg4MCB9fSwKLSB7MTYsIDB4YWY1MCwgMCwgezB4MjgsMHhkMCwweDRiLDB4MzAsMHgwMiwweDRjLDB4MDAsMHhhYiwweDA0LDB4MmEsMHhjMCwweDJhLDB4MzAsMHgwYSwweGFjLDB4MTAgfX0sCi0gezE2LCAweGFmNjAsIDAsIHsweDkzLDB4MDAsMHgyMCwweGMxLDB4MGEsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhhZjcwLCAwLCB7MHg4MCwweDExLDB4MWMsMHgwMCwweDgyLDB4MDAsMHgyMSwweDQyLDB4ODgsMHg3NCwweDA2LDB4ZGMsMHgwYiwweDg2LDB4MDIsMHgyZCB9fSwKLSB7MTYsIDB4YWY4MCwgMCwgezB4ODAsMHgwYiwweDcwLDB4MmEsMHg1OCwweDAwLDB4YTYsMHgwMCwweGE5LDB4YzAsMHgwYiwweDcwLDB4MDIsMHg1YywweDg4LDB4YTcgfX0sCi0gezE2LCAweGFmOTAsIDAsIHsweDIwLDB4MjksMHhjMCwweDBhLDB4NzAsMHgwMiwweDljLDB4MTAsMHg5NywweDIwLDB4YTEsMHhjOCwweDA4LDB4ZDgsMHgwMiwweDI4IH19LAotIHsxNiwgMHhhZmEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ODgsMHgwOCwweDBlLDB4MDAsMHhkNywweDgwLDB4MzcsMHg2MCB9fSwKLSB7MTYsIDB4YWZiMCwgMCwgezB4MGUsMHg2OCwweDEzLDB4ZmUsMHgwMCwweGNmLDB4ODAsMHgzZCwweGUwLDB4MGYsMHg3OCwweDIzLDB4MWUsMHgwMCwweGVmLDB4ODIgfX0sCi0gezE2LCAweGFmYzAsIDAsIHsweDMxLDB4ZTAsMHgwZiwweDNjLDB4YzMsMHg3ZSwweDA0LDB4ZWYsMHg4MCwweGIxLDB4ZTAsMHgwZSwweGU4LDB4MDMsMHhiZSwweDgwIH19LAotIHsxNiwgMHhhZmQwLCAwLCB7MHhkNywweGUwLDB4MzMsMHhlYSwweDBlLDB4NzgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YWZlMCwgMCwgezB4MDgsMHgxNSwweGFjLDB4MDAsMHhmYSwweDAxLDB4M2UsMHgwMCwweDBmLDB4YjAsMHgwMywweGUwLDB4MDQsMHhmOCwweDAwLDB4MzIgfX0sCi0gezE2LCAweGFmZjAsIDAsIHsweDgwLDB4MGYsMHg4MCwweDQzLDB4YWMsMHgwYSwweGQ4LDB4MDAsMHgzNiwweDQwLDB4MGYsMHhiMCwweDAzLDB4MmMsMHgwYywweGRiIH19LAotIHsxNiwgMHhiMDAwLCAwLCB7MHgwMCwweDI2LDB4YzEsMHgwOSwweGEwLDB4MTMsMHg2YywweDQwLDB4ZWIsMHg0MCwweDNhLDB4ZGMsMHgwZiwweDkwLDB4MGIsMHhjMiB9fSwKLSB7MTYsIDB4YjAxMCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDQsMHhiZSwweDAwLDB4Y2YsMHg4MSwweDMzLDB4ZTkgfX0sCi0gezE2LCAweGIwMjAsIDAsIHsweDFmLDB4ZjksMHgxMywweGI2LDB4NTAsMHhlZiwweDgwLDB4MWYsMHhlNCwweDA0LDB4YzgsMHgwMywweDdlLDB4MDAsMHg2ZCwweDgxIH19LAotIHsxNiwgMHhiMDMwLCAwLCB7MHgzMywweDY0LDB4MGMsMHhmOCwweDFiLDB4M2UsMHgyMCwweDJmLDB4ODgsMHg5MywweGU4LDB4MGYsMHhmYiwweDAzLDB4MmUsMHg4MCB9fSwKLSB7MTYsIDB4YjA0MCwgMCwgezB4Y2YsMHhjMCwweDczLDB4ZTAsMHgyYywweGQ5LDB4MDMsMHhkMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIwNTAsIDAsIHsweGE4LDB4MTgsMHg5MCwweDQyLDB4ODksMHgxOCwweDIxLDB4YzAsMHgxZiwweDcxLDB4MDIsMHgxNCwweGMwLDB4ZjcsMHgyMCwweDI3IH19LAotIHsxNiwgMHhiMDYwLCAwLCB7MHg0MCwweDQwLDB4NzEsMHgxMiwweDE4LDB4MDAsMHg4NywweDIwLDB4MjEsMHg4MCwweDQ4LDB4NzEsMHgwMiwweDNjLDB4MDgsMHg4NyB9fSwKLSB7MTYsIDB4YjA3MCwgMCwgezB4MjAsMHgyMSwweDgyLDB4MGIsMHg2MSwweGEyLDB4MWUsMHg0NCwweGRmLDB4MDEsMHgzMSwweGM4LDB4MDgsMHg3MywweDAyLDB4ZWEgfX0sCi0gezE2LCAweGIwODAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDAwLDB4OGMsMHgwMCwweDg3LDB4MDAsMHgyMSwweGM4IH19LAotIHsxNiwgMHhiMDkwLCAwLCB7MHgwYiwweDcwLDB4MDIsMHg5YywweDA5LDB4ODcsMHgwMiwweDJkLDB4ODIsMHg5OSwweDQwLDB4MDIsMHgwNCwweDAwLDB4YTUsMHgwOSB9fSwKLSB7MTYsIDB4YjBhMCwgMCwgezB4MjEsMHg0MCwweDE5LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDA1LDB4MjUsMHg0OCwweDRiLDB4NzIsMHgwMiwweDBjLDB4NDAgfX0sCi0gezE2LCAweGIwYjAsIDAsIHsweDg3LDB4MDAsMHhhMSwweGMwLDB4NDgsMHg1MCwweDAyLDB4YzQsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMGMwLCAwLCB7MHg2OCwweDA0LDB4YzEsMHgyMCwweDg5LDB4NGMsMHhhMCwweGI0LDB4MGEsMHgzOCwweDAyLDB4MjIsMHgwMCwweGExLDB4ZDAsMHgyNCB9fSwKLSB7MTYsIDB4YjBkMCwgMCwgezB4MzAsMHgwOSwweDgwLDB4MDIsMHgyNywweDQ0LDB4ODEsMHhjNiwweDIyLDB4MTQsMHgwOSwweDNkLDB4MmEsMHgwZiwweDAyLDB4OGIgfX0sCi0gezE2LCAweGIwZTAsIDAsIHsweGMwLDB4YTYsMHgyMCwweDBiLDB4MjQsMHgwMCwweDBjLDB4MTAsMHg5MywweDgxLDB4MjAsMHhjMCwweDQ4LDB4MzAsMHgwNiwweGQ4IH19LAotIHsxNiwgMHhiMGYwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgxNSwweGExLDB4MDAsMHg4OSwweGMxLDB4MzIsMHhkMSB9fSwKLSB7MTYsIDB4YjEwMCwgMCwgezB4MDMsMHhiYywweDAzLDB4YTksMHgyMCwweDg5LDB4NDEsMHgzZSwweDYwLDB4ODUsMHhiYywweDhiLDB4MjUsMHg0MCwweGViLDB4NDEgfX0sCi0gezE2LCAweGIxMTAsIDAsIHsweGEyLDB4YTAsMHgwZCwweGYwLDB4MTMsMHgzZSwweDIwLDB4Y2YsMHg5MCwweDM2LDB4MzAsMHg0ZiwweGJjLDB4MGIsMHgzYywweDAwIH19LAotIHsxNiwgMHhiMTIwLCAwLCB7MHhjZiwweDgwLDB4MzMsMHhjMSwweDBjLDB4YjEsMHgwMywweGVhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjEzMCwgMCwgezB4ODAsMHgwMCwweGVkLDB4MDAsMHhmOCwweDAxLDB4M2MsMHhkMCwweDBmLDB4YjMsMHgwMywweGU4LDB4ODIsMHhkOCwweDIwLDB4MzYgfX0sCi0gezE2LCAweGIxNDAsIDAsIHsweDgwLDB4MmUsMHhiMiwweDEzLDB4ZTEsMHgwMCwweGZhLDB4MDAsMHg3ZSwweGM4LDB4MmUsMHhiMCwweDAzLDB4ZWMsMHg4MCwweGRiIH19LAotIHsxNiwgMHhiMTUwLCAwLCB7MHgxMCwweDNhLDB4MDgsMHg0ZiwweGIyLDB4MjMsMHhjYywweDAyLDB4ZmIsMHgxMCwweDNhLDB4YzAsMHgwZiwweDkwLDB4MDMsMHhlNCB9fSwKLSB7MTYsIDB4YjE2MCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGEwLDB4MTAsMHhmMCwweDAwLDB4Y2QsMHgxMCwweDMzLDB4NDIgfX0sCi0gezE2LCAweGIxNzAsIDAsIHsweDBjLDB4Y2EsMHgyMywweDdjLDB4MDAsMHhjZiwweDAwLDB4MzMsMHg2MiwweDA2LDB4ZjAsMHgwMSwweDNhLDB4MDAsMHhjZiwweDA4IH19LAotIHsxNiwgMHhiMTgwLCAwLCB7MHgzMywweDgwLDB4MWMsMHhmMCwweDgxLDB4M2MsMHgwMCwweGZmLDB4MDAsMHgzMywweGEwLDB4MGMsMHhjYSwweDAxLDB4ZmMsMHgwNCB9fSwKLSB7MTYsIDB4YjE5MCwgMCwgezB4Y2YsMHgwMCwweDNmLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhjMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIxYTAsIDAsIHsweGExLDB4MDQsMHg2ZCwweDQwLDB4ODgsMHg0OCwweGEyLDB4MzEsMHgwOCwweDEwLDB4MDIsMHgyMCwweDEwLDB4ODgsMHhiNCwweDIyIH19LAotIHsxNiwgMHhiMWIwLCAwLCB7MHhhMCwweDA4LDB4ODAsMHgwMCwweDZhLDB4ODQsMHg4OCwweDIwLDB4MjIsMHg1MiwweDA4LDB4YjAsMHgwYSwweDJjLDB4MTAsMHhiYiB9fSwKLSB7MTYsIDB4YjFjMCwgMCwgezB4MDAsMHgzMiwweGIzLDB4ODgsMHg4MCwweDAyLDB4ZWMsMHgwMCwweGRiLDB4MDAsMHgyZSwweGMwLDB4MGIsMHg5MCwweDEyLDB4ZTEgfX0sCi0gezE2LCAweGIxZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4MDAsMHgxMCwweDhhLDB4MDEsMHgyMiwweGEwIH19LAotIHsxNiwgMHhiMWUwLCAwLCB7MHgwOCwweGIwLDB4NDIsMHg2MCwweDIwLDB4ODAsMHgwMCwweDIwLDB4NDQsMHgxYSwweDgwLDB4MWEsMHhlNCwweDQyLDB4YTAsMHgwNiB9fSwKLSB7MTYsIDB4YjFmMCwgMCwgezB4MjIsMHgwMCwweDc4LDB4MzAsMHgwMiwweGFjLDB4MDAsMHhiYiwweDAwLDB4YTIsMHg0NCwweDA4LDB4YjAsMHgxMiwweGVjLDB4MDAgfX0sCi0gezE2LCAweGIyMDAsIDAsIHsweDhiLDB4MDAsMHgwZSwweGMwLDB4MGIsMHg5MCwweDAyLDB4ZTAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMjEwLCAwLCB7MHgwOCwweDE0LDB4MDAsMHgwOCwweDgwLDB4MDAsMHgyMCwweDgxLDB4MDgsMHgzMCwweDAyLDB4NDAsMHgxMiwweDgwLDB4MDAsMHhhMCB9fSwKLSB7MTYsIDB4YjIyMCwgMCwgezB4NDAsMHgwOCwweGIwLDB4MDIsMHhjMCwweDAwLDB4ODIsMHgwMCwweDAwLDB4ODAsMHgwOCwweDMwLDB4MDIsMHg4YywweDAwLDB4YmIgfX0sCi0gezE2LCAweGIyMzAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDA4LDB4MjAsMHgwMiwweGNjLDB4ODAsMHg5MywweDAwLDB4MmMsMHhjMCwweDBiLDB4MzAsMHgwMiwweGMyIH19LAotIHsxNiwgMHhiMjQwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDYwLDB4MDAsMHhjYSwweDE0LDB4MzIsMHgwMCB9fSwKLSB7MTYsIDB4YjI1MCwgMCwgezB4MGMsMHhiMCwweDAzLDB4NGMsMHgwMCwweGNhLDB4MDAsMHgzMiwweDAwLDB4MGUsMHgwMCwweDEyLDB4YTAsMHgwMCwweGMwLDB4MDAgfX0sCi0gezE2LCAweGIyNjAsIDAsIHsweDcwLDB4MDAsMHgyOCwweGYwLDB4MTMsMHhhYywweDAwLDB4ZmIsMHgwMCwweDMyLDB4NDAsMHgyYywweDEwLDB4NDMsMHhlYywweDAwIH19LAotIHsxNiwgMHhiMjcwLCAwLCB7MHhjZiwweDAwLDB4M2YsMHhjMCwweDBmLDB4OTAsMHgwMywweGMwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjI4MCwgMCwgezB4MjAsMHgxNSwweGYwLDB4MDIsMHhmYywweDAwLDB4MWYsMHgwMCwweDY3LDB4NzAsMHgwMywweGIwLDB4MDAsMHhmYywweDAwLDB4M2YgfX0sCi0gezE2LCAweGIyOTAsIDAsIHsweDAwLDB4MmQsMHhjMCwweDAzLDB4MzAsMHgxMCwweGZjLDB4MDEsMHhiZiwweDAwLDB4MGYsMHg3MCwweDAzLDB4N2MsMHgwMCwweGY3IH19LAotIHsxNiwgMHhiMmEwLCAwLCB7MHgwNCwweDNiLDB4MDAsMHgwZiwweGMwLDB4MTMsMHhmZCwweDEwLDB4ZmYsMHgwMCwweDNkLDB4YzAsMHgwZiwweGYwLDB4MDMsMHhlOCB9fSwKLSB7MTYsIDB4YjJiMCwgMCwgezB4MTIsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDUsMHhmNCwweGMwLDB4Y2YsMHg4MCwweDMzLDB4NjAgfX0sCi0gezE2LCAweGIyYzAsIDAsIHsweDBlLDB4YzksMHgxMywweDM2LDB4NTAsMHhjZSwweDg2LDB4M2YsMHgwOCwweDBjLDB4YzAsMHgwMywweDNlLDB4MDIsMHhkNywweDgwIH19LAotIHsxNiwgMHhiMmQwLCAwLCB7MHgzOSwweGUwLDB4MGYsMHhmOCwweDEzLDB4M2UsMHg0MCwweGM3LDB4MzAsMHgzYiwweGNlLDB4MGQsMHhmNiwweDAzLDB4M2QsMHg4OCB9fSwKLSB7MTYsIDB4YjJlMCwgMCwgezB4Y2YsMHgzMSwweDMzLDB4ZTQsMHgwZiwweDc4LDB4MDMsMHgzMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGIyZjAsIDAsIHsweDgwLDB4MTAsMHhlNSwweGQwLDB4ZGIsMHg4MCwweDcyLDB4NjAsMHg4OCwweDkyLDB4MDIsMHhlNCwweDEwLDB4OGEsMHg4MCwweDJlIH19LAotIHsxNiwgMHhiMzAwLCAwLCB7MHgzNCwweDRhLDB4OGMsMHgwMywweDJlLDB4MDAsMHhhYiwweDgwLDB4MDIsMHhlMCwweDBiLDB4YjgsMHgwMiwweDJjLDB4ODAsMHg4ZiB9fSwKLSB7MTYsIDB4YjMxMCwgMCwgezB4NjAsMHgxMywweGQ4LDB4NGEsMHg3NiwweDAyLDB4OWQsMHg4NCwweGFmLDB4MzAsMHgyMiwweDQ4LDB4MGIsMHg4OCwweDEyLDB4YTAgfX0sCi0gezE2LCAweGIzMjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4OCwweDA1LDB4YzQsMHgwMCwweDhiLDB4MDAsMHgyNCwweDAwIH19LAotIHsxNiwgMHhiMzMwLCAwLCB7MHg0YSwweDAwLDB4MDIsMHhhYywweDgwLDB4ODMsMHgwMCwweDJjLDB4MDEsMHgyOCwweDA0LDB4MDIsMHhhYywweDAwLDB4OGIsMHgwMSB9fSwKLSB7MTYsIDB4YjM0MCwgMCwgezB4MjAsMHhjMCwweDAzLDB4YjAsMHgwMiwweDBjLDB4ODAsMHg4MywweDQwLDB4MjAsMHhjMSwweGE4LDB4MzQsMHgyMiwweDhkLDB4MTMgfX0sCi0gezE2LCAweGIzNTAsIDAsIHsweDgzLDB4MjAsMHhhYywweGM4LDB4MGIsMHhiMCwweDAyLDB4NjIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiMzYwLCAwLCB7MHhjMCwweDE1LDB4ODYsMHgwMCwweDliLDB4MDQsMHhhZSwweDAwLDB4MGEsMHg5MCwweDAyLDB4ZWMsMHgwMCwweDBiLDB4MTQsMHgyZSB9fSwKLSB7MTYsIDB4YjM3MCwgMCwgezB4YzYsMHgwMiwweGIxLDB4MTIsMHg2YywweDAwLDB4YWIsMHgyMCwweDJhLDB4YzEsMHgwYiwweGIwLDB4NDIsMHgyYywweDAwLDB4OGIgfX0sCi0gezE2LCAweGIzODAsIDAsIHsweDAyLDB4MjYsMHhjMSwweDBhLDB4YjAsMHgwMiwweGFjLDB4MDAsMHhhYiwweDA0LDB4MmEsMHg0MCwweDBiLDB4OTAsMHgwMiwweGYwIH19LAotIHsxNiwgMHhiMzkwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMSwweGU3LDB4MDAsMHhjMywweDAxLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4YjNhMCwgMCwgezB4MGUsMHg4OCwweDEzLDB4MjQsMHgwMiwweGNhLDB4MDAsMHgxZSwweDIwLDB4MmMsMHg4ZSwweDBiLDB4MmMsMHgwMCwweGNiLDB4MDAgfX0sCi0gezE2LCAweGIzYjAsIDAsIHsweDJhLDB4YzAsMHgwZiwweGI4LDB4MDMsMHgyZSwweDA2LDB4Y2IsMHgwMCwweDNhLDB4YzAsMHg0YywweGIwLDB4MTMsMHhhYywweDBjIH19LAotIHsxNiwgMHhiM2MwLCAwLCB7MHhjYiwweDAwLDB4M2UsMHhjOCwweDBmLDB4YjAsMHg0MywweDUwLDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjNkMCwgMCwgezB4ZTAsMHgwMSwweGI0LDB4MDgsMHhmZiwweDkxLDB4MzMsMHg0MCwweDA5LDB4ZGMsMHgwMSwweGY0LDB4MjAsMHg3ZSwweDAyLDB4MmUgfX0sCi0gezE2LCAweGIzZTAsIDAsIHsweDQwLDB4MGQsMHg5OCwweDAxLDB4YmMsMHg4MCwweGVmLDB4ODAsMHhiNywweGU0LDB4OGYsMHhmNCwweDBiLDB4ZmUsMHg0MCwweDdmIH19LAotIHsxNiwgMHhiM2YwLCAwLCB7MHgwMCwweGI5LDB4YzAsMHg0ZSwweGYwLDB4MDMsMHhmYywweDA4LDB4ZjcsMHgwMCwweDM3LDB4YzAsMHgwZiwweGUwLDB4MDIsMHhiOCB9fSwKLSB7MTYsIDB4YjQwMCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MTAsMHhhMSwweDQ0LDB4Y2IsMHgwMiwweDMyLDB4MDAgfX0sCi0gezE2LCAweGI0MTAsIDAsIHsweDBkLDB4ODAsMHgwYSwweDZkLDB4MDAsMHhlYiwweDA0LDB4MTAsMHg5MCwweDI4LDB4MjIsMHgwYiwweDJjLDB4YzIsMHhjYiwweDIwIH19LAotIHsxNiwgMHhiNDIwLCAwLCB7MHg3NiwweGMwLDB4MGUsMHhiMSwweDAzLDB4ZWMsMHgwMSwweGNiLDB4MDYsMHgzMiwweGMxLDB4MGMsMHgzMCwweDAzLDB4MmMsMHgwMiB9fSwKLSB7MTYsIDB4YjQzMCwgMCwgezB4Y2IsMHgwMCwweDNlLDB4ZDAsMHgwYywweGIwLDB4MDMsMHgxMCwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI0NDAsIDAsIHsweGM4LDB4MDUsMHgyMSwweDQ4LDB4YWIsMHgwMCwweDIwLDB4MDAsMHgwMCwweDk1LDB4MjMsMHg0YywweDA4LDB4YmIsMHgwMSwweDIyIH19LAotIHsxNiwgMHhiNDUwLCAwLCB7MHhjMCwweDA4LDB4YjIsMHgwMiwweDBjLDB4MDgsMHg4MywweDg4LDB4OTIsMHhkNSwweDI4LDB4MzQsMHgwMiwweGVjLDB4MDIsMHg4ZiB9fSwKLSB7MTYsIDB4YjQ2MCwgMCwgezB4MjAsMHgyMywweGMwLDB4NGQsMHhmMCwweDAxLDB4N2MsMHgwMCwweGRmLDB4MDAsMHgyZSwweGMwLDB4MGQsMHgzMCwweDAzLDB4NzIgfX0sCi0gezE2LCAweGI0NzAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhlMCwweDA1LDB4NDQsMHgwMCwweDgzLDB4MTAsMHgyMCwweDYwIH19LAotIHsxNiwgMHhiNDgwLCAwLCB7MHgwOSwweDI1LDB4MDIsMHgwMCwweDA4LDB4YTAsMHgwMCwweDRjLDB4MDAsMHgwYiwweDBjLDB4MjIsMHg0ZiwweDEyLDB4OTMsMHg0MCB9fSwKLSB7MTYsIDB4YjQ5MCwgMCwgezB4MDAsMHhjMCwweDA5LDB4M2UsMHgwMiwweGVjLDB4MDAsMHhhYiwweDgwLDB4YTQsMHhjMCwweDA5LDB4MzAsMHgyMiwweDJjLDB4MDggfX0sCi0gezE2LCAweGI0YTAsIDAsIHsweGIzLDB4MDEsMHgwYywweDgxLDB4MDgsMHgzMCwweDAyLDB4MzgsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNGIwLCAwLCB7MHg2MCwweDAxLDB4MTYsMHgwOSwweGI3LDB4ODAsMHgyMSwweDY0LDB4MDgsMHg3OCwweDA2LDB4MTIsMHgwMCwweGI0LDB4ODIsMHgyZCB9fSwKLSB7MTYsIDB4YjRjMCwgMCwgezB4YTQsMHgxYiwweDY5LDB4MDYsMHg3ZSwweDA0LDB4MTcsMHg5MiwweDI1LDB4ZTYsMHgwOSwweDc4LDB4MDYsMHhkZSwweDgwLDB4YTcgfX0sCi0gezE2LCAweGI0ZDAsIDAsIHsweDkwLDB4MjUsMHhlMCwweDA5LDB4NzksMHg1MCwweDVlLDB4MDQsMHhiNywweDkyLDB4MmYsMHg2MSwweDA5LDB4YzgsMHgwMiwweDQ4IH19LAotIHsxNiwgMHhiNGUwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDgsMHgwOCwweDI1LDB4MDAsMHhjMywweDAwLDB4YjAsMHgwMyB9fSwKLSB7MTYsIDB4YjRmMCwgMCwgezB4MGQsMHhhMywweDQyLDB4MDksMHg0MCwweGUxLDB4MDAsMHhiYywweDQwLDB4MGYsMHgxMSwweDAzLDB4NGMsMHgwMCwweDEzLDB4MDAgfX0sCi0gezE2LCAweGI1MDAsIDAsIHsweDIwLDB4YzAsMHgwOSwweDMyLDB4MDMsMHhjYywweDEwLDB4YTMsMHgwMCwweDI2LDB4YzQsMHg4ZCwweDMwLDB4MmIsMHgwYywweDgwIH19LAotIHsxNiwgMHhiNTEwLCAwLCB7MHhmMywweDAwLDB4N2MsMHg4MCwweDBjLDB4MzAsMHgwMSwweDEyLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjUyMCwgMCwgezB4NDAsMHgxZCwweGJjLDB4MDAsMHhlNywweDEwLDB4M2QsMHgwMSwweDJmLDB4ZjEsMHg0MiwweGU4LDB4MDAsMHhmNSwweDkwLDB4MDMgfX0sCi0gezE2LCAweGI1MzAsIDAsIHsweGMxLDB4MGMsMHhmMSwweDQzLDB4OWMsMHgwNCwweGVmLDB4MDgsMHgzYiwweGMyLDB4MGMsMHhmMCwweDgxLDB4ZGMsMHhhMCwweGRmIH19LAotIHsxNiwgMHhiNTQwLCAwLCB7MHgwMCwweDNiLDB4YzMsMHgzZiwweGYwLDB4ODMsMHhmYywweDA1LDB4ZGYsMHgwYywweDNkLDB4NDAsMHgwZiwweGQxLDB4MDMsMHhkMCB9fSwKLSB7MTYsIDB4YjU1MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGE4LDB4MDUsMHhmNCwweDAwLDB4Y2IsMHg4MCwweDMwLDB4NDAgfX0sCi0gezE2LCAweGI1NjAsIDAsIHsweDJjLDB4YTAsMHgwMywweGUwLDB4MDAsMHhmOCwweDgwLDB4MzIsMHhjMCwweDJlLDB4YjgsMHgwYiwweDJjLDB4NDYsMHhkMywweDAwIH19LAotIHsxNiwgMHhiNTcwLCAwLCB7MHgzMCwweGMwLDB4MGMsMHgzMCwweDAzLDB4MGMsMHgwMCwweGRiLDB4NDgsMHgzMiwweGMwLDB4MWYsMHhiNCwweDAzLDB4MmMsMHg4OCB9fSwKLSB7MTYsIDB4YjU4MCwgMCwgezB4Y2IsMHg0OCwweDMyLDB4ODAsMHgwYywweDMwLDB4MTMsMHgyYSwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI1OTAsIDAsIHsweDQ4LDB4MTEsMHhiNCwweDAwLDB4ODcsMHgwMSwweDIxLDB4NDAsMHgwOCwweDcwLDB4NDIsMHhkMCwweDA4LDB4YjQsMHgwMCwweDI5IH19LAotIHsxNiwgMHhiNWEwLCAwLCB7MHhjMCwweDA4LDB4NzAsMHgwMiwweDFjLDB4MDAsMHg4NywweDAwLDB4MjEsMHhjOCwweDBjLDB4NzIsMHgwYSwweDFjLDB4ODQsMHg4ZiB9fSwKLSB7MTYsIDB4YjViMCwgMCwgezB4NDAsMHgwOSwweGM0LDB4OGYsMHg3MywweDEyLDB4OWMsMHg0MCwweDgzLDB4MjAsMHgyMSwweGMwLDB4MDgsMHg2MCwweDAyLDB4OTIgfX0sCi0gezE2LCAweGI1YzAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4OTYsMHgwMSwweGFmLDB4ODAsMHgyMSwweDIwIH19LAotIHsxNiwgMHhiNWQwLCAwLCB7MHgwOCwweDY4LDB4MDIsMHhkYSwweDAwLDB4YmQsMHg4MCwweDIxLDB4ZTAsMHgwOSwweDc4LDB4MDIsMHgxZSwweDAwLDB4OGYsMHg4OCB9fSwKLSB7MTYsIDB4YjVlMCwgMCwgezB4ODMsMHhlMiwweDI5LDB4ZjgsMHg4MiwweDVmLDB4ODAsMHg4NywweGEwLDB4MjUsMHhlMCwweDBiLDB4M2EsMHgxMiwweDBlLDB4NTAgfX0sCi0gezE2LCAweGI1ZjAsIDAsIHsweDk3LDB4YTQsMHgyMSwweGEwLDB4MjksMHg3OCwweDAyLDB4MzAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNjAwLCAwLCB7MHgwOCwweDE0LDB4Y2MsMHgwMiwweGExLDB4ODEsMHgwMCwweDAwLDB4NDgsMHg3MCwweDAyLDB4YzgsMHgwMCwweGIxLDB4MDAsMHgyYyB9fSwKLSB7MTYsIDB4YjYxMCwgMCwgezB4ZjgsMHgwOSwweDMxLDB4NDIsMHgwYywweDEwLDB4ODMsMHgwMCwweDIwLDB4ZTAsMHgwOCwweDM4LDB4MTIsMHg0ZSwweDAwLDB4ODMgfX0sCi0gezE2LCAweGI2MjAsIDAsIHsweDAwLDB4NmEsMHhjMCwweDBiLDB4MzAsMHgwMiwweDhjLDB4MDQsMHg5MywweDAwLDB4MjAsMHhlMCwweDA5LDB4MzgsMHgwMiwweDkyIH19LAotIHsxNiwgMHhiNjMwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4ZTgsMHgxNSwweGI5LDB4NDAsMHhlZSwweDIwLDB4MzAsMHg4MCB9fSwKLSB7MTYsIDB4YjY0MCwgMCwgezB4MGMsMHhhMCwweDAzLDB4ZTgsMHgwMCwweGZhLDB4MDAsMHgzMywweGIwLDB4MGQsMHhlNCwweDAzLDB4MzIsMHg4OCwweGNjLDB4ODAgfX0sCi0gezE2LCAweGI2NTAsIDAsIHsweDIzLDB4MDAsMHgwZCwweGMwLDB4MDMsMHg2MiwweDAyLDB4Y2EsMHgwMCwweDM2LDB4ODAsMHgwZiwweGEwLDB4NDMsMHgyOCwweDA2IH19LAotIHsxNiwgMHhiNjYwLCAwLCB7MHhkYSwweDAwLDB4MzMsMHhhMCwweDBkLDB4NmEsMHgwMywweDNhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjY3MCwgMCwgezB4NDgsMHgwMCwweGUwLDB4MDAsMHg5OCwweDAxLDB4YmUsMHgwMCwweDBmLDB4ODAsMHgwMywweGYwLDB4MDAsMHhiYywweDAwLDB4MzggfX0sCi0gezE2LCAweGI2ODAsIDAsIHsweDA0LDB4MDgsMHg4MCwweGEzLDB4ZTAsMHgwMCwweGY4LDB4MDAsMHgzZSwweDAwLDB4MGYsMHg4MCwweDEzLDB4YTAsMHgwMCwweGUwIH19LAotIHsxNiwgMHhiNjkwLCAwLCB7MHgwMCwweDNlLDB4MDAsMHgwZSwweDAwLDB4MDMsMHhjMCwweDAwLDB4ZTgsMHgwMCwweGJlLDB4MDQsMHg0ZSwweDgwLDB4MDcsMHhkMiB9fSwKLSB7MTYsIDB4YjZhMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MTAsMHhlNCwweDgwLDB4YzksMHgwMCwweDNlLDB4NjggfX0sCi0gezE2LCAweGI2YjAsIDAsIHsweDBjLDB4OTAsMHgwMywweDY0LDB4MDAsMHhjOSwweDAwLDB4M2UsMHg0MCwweDBjLDB4OTAsMHg0MywweGUwLDB4MDAsMHhjOCwweDAwIH19LAotIHsxNiwgMHhiNmMwLCAwLCB7MHgzMiwweDAwLDB4MGMsMHg4MCwweDEzLDB4MjAsMHgwMCwweGM5LDB4MDAsMHgzNiwweDQwLDB4MGMsMHg5MCwweDAzLDB4NjQsMHgwMCB9fSwKLSB7MTYsIDB4YjZkMCwgMCwgezB4ODEsMHgwMCwweDMyLDB4NDAsMHgwNCwweDkwLDB4MTMsMHgwMiwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI2ZTAsIDAsIHsweDgwLDB4MDQsMHg2NSwweDA2LDB4ODksMHg0MCwweDJlLDB4NjAsMHgxYSwweDE0LDB4MmEsMHgwNSwweDIwLDB4ODksMHgwMCwweDJlIH19LAotIHsxNiwgMHhiNmYwLCAwLCB7MHg0MCwweDA4LDB4OTAsMHgwMiwweGM0LDB4MDgsMHhjMSwweDAyLDB4MjAsMHg0MCwweDA4LDB4MTAsMHgxYSwweDI0LDB4MDAsMHg4OSB9fSwKLSB7MTYsIDB4YjcwMCwgMCwgezB4MTAsMHgzMiwweDQxLDB4MDgsMHg5MCwweDEyLDB4MjQsMHgwMCwweDg5LDB4MDQsMHgzNiwweDQwLDB4ODgsMHg5NCwweDBhLDB4MjAgfX0sCi0gezE2LCAweGI3MTAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxOCwweDA1LDB4MDQsMHgyMCwweDg5LDB4NTUsMHgyZSwweDQwIH19LAotIHsxNiwgMHhiNzIwLCAwLCB7MHgwOCwweGQ1LDB4MDIsMHgzNCwweDAwLDB4OGQsMHgwMCwweDJlLDB4NDAsMHgxOCwweDkwLDB4MDIsMHhlNCwweDAwLDB4OTksMHgwMCB9fSwKLSB7MTYsIDB4YjczMCwgMCwgezB4MjYsMHg0MCwweDA4LDB4OTAsMHgwMiwweDA0LDB4MGEsMHg4OSwweDAwLDB4MjYsMHg0MCwweDM4LDB4OTAsMHgwYSwweDI0LDB4MDAgfX0sCi0gezE2LCAweGI3NDAsIDAsIHsweGE5LDB4MDAsMHgyMCwweDQwLDB4MGEsMHg5MCwweDgyLDB4MDYsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiNzUwLCAwLCB7MHgwOCwweDA0LDB4MDUsMHgwMCwweDgxLDB4MDAsMHgyZiwweDQwLDB4MGEsMHhkNCwweDAyLDB4MzQsMHgwMCwweDg1LDB4MDEsMHgyYyB9fSwKLSB7MTYsIDB4Yjc2MCwgMCwgezB4NDAsMHgwOCwweDEwLDB4NDIsMHhlNCwweDA2LDB4OTksMHgwMCwweDIyLDB4NDAsMHgwOCwweDEwLDB4MDIsMHgwNSwweDAwLDB4ODEgfX0sCi0gezE2LCAweGI3NzAsIDAsIHsweDQwLDB4MjgsMHg1MCwweDA4LDB4MTQsMHgxMiwweDA1LDB4MDAsMHhhMSwweDQwLDB4MjQsMHg1MCwweDVhLDB4MTAsMHgwMiwweDAyIH19LAotIHsxNiwgMHhiNzgwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YjgsMHgwZCwweDYwLDB4MDAsMHhjOCwweDA0LDB4M2UsMHgwMCB9fSwKLSB7MTYsIDB4Yjc5MCwgMCwgezB4MDgsMHg4MCwweDAzLDB4MjEsMHg0MiwweGNjLDB4MDAsMHgzZSwweDAwLDB4MmMsMHg4MCwweDAyLDB4ZTAsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweGI3YTAsIDAsIHsweGI2LDB4MDAsMHgyYywweDgwLDB4MDIsMHgyMCwweDAyLDB4YzgsMHgwMCwweDM2LDB4MDAsMHgwYywweDgwLDB4MDMsMHg2MCwweDAyIH19LAotIHsxNiwgMHhiN2IwLCAwLCB7MHhlOCwweDAwLDB4MzIsMHgwMCwweDhlLDB4ODAsMHgwMywweDJlLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjdjMCwgMCwgezB4OTgsMHgxZCwweGY1LDB4MDAsMHhmNSwweDAwLDB4M2UsMHg0MCwweDg3LDB4OTAsMHgwMywweGU0LDB4MDAsMHhmMSwweDAwLDB4M2QgfX0sCi0gezE2LCAweGI3ZDAsIDAsIHsweDUwLDB4MGYsMHg1NCwweDAzLDB4ZDEsMHgwMCwweGVjLDB4NDAsMHgzZiwweDEwLDB4MGIsMHhjNCwweDQzLDB4ZjEsMHgwMCwweGY5IH19LAotIHsxNiwgMHhiN2UwLCAwLCB7MHg0MCwweDM2LDB4NTAsMHgwZiwweDk0LDB4MTMsMHhlNSwweDEwLDB4ZDksMHg0NCwweDNkLDB4NDAsMHgyZCwweGQwLDB4MDMsMHhlNiB9fSwKLSB7MTYsIDB4YjdmMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDE4LDB4MDUsMHhmNiwweDYwLDB4Y2QsMHgwMiwweDNiLDB4NDAgfX0sCi0gezE2LCAweGI4MDAsIDAsIHsweDBjLDB4ZDAsMHgwMywweGI0LDB4NDAsMHhmZCwweDA2LDB4M2UsMHg0MCwweDBjLDB4OTAsMHgwMywweDY2LDB4MDQsMHhjOSwweDgyIH19LAotIHsxNiwgMHhiODEwLCAwLCB7MHhiNiwweDYyLDB4MGYsMHgxOCwweDBiLDB4MzYsMHgwMCwweGNkLDB4NDAsMHgzMiwweDYxLDB4MGMsMHg5MCwweDIzLDB4MjQsMHgwYSB9fSwKLSB7MTYsIDB4YjgyMCwgMCwgezB4YzksMHgwMCwweDMyLDB4NDAsMHg0YywweGQwLDB4NDMsMHgwNiwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI4MzAsIDAsIHsweDM5LDB4MTAsMHhlMywweDgwLDB4ZDgsMHgwMCwweDIyLDB4MDAsMHgwZCwweDgwLDB4MDIsMHgyMiwweDk0LDB4YjgsMHgwMCwweDJlIH19LAotIHsxNiwgMHhiODQwLCAwLCB7MHgwMCwweDBkLDB4ODAsMHgwMywweDIxLDB4MDAsMHg4OCwweDQwLDB4MjIsMHgwMCwweDBiLDB4YzQsMHgyMiwweDIxLDB4NTAsMHg4OCB9fSwKLSB7MTYsIDB4Yjg1MCwgMCwgezB4ODAsMHgyMiwweDIyLDB4MDgsMHg4MCwweDAyLDB4MjAsMHgxMCwweDgwLDB4MDEsMHgyYSwweDAwLDB4MGEsMHg4MCwweDAzLDB4NGUgfX0sCi0gezE2LCAweGI4NjAsIDAsIHsweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA1LDB4YzYsMHgwMCwweDg5LDB4MDAsMHgyYSwweDQwIH19LAotIHsxNiwgMHhiODcwLCAwLCB7MHg4OCwweDEwLDB4MGEsMHg4NCwweDA4LDB4YjEsMHgwMCwweDI5LDB4NDAsMHgwYSwweDcwLDB4MGEsMHhiNSwweDAwLDB4OGYsMHg0MCB9fSwKLSB7MTYsIDB4Yjg4MCwgMCwgezB4MjksMHhjMCwweDBiLDB4ZjQsMHgwMiwweDI0LDB4MDAsMHg4MSwweDIwLDB4MjgsMHg0NCwweDg5LDB4MTAsMHgwMiwweDA0LDB4MDQgfX0sCi0gezE2LCAweGI4OTAsIDAsIHsweDgxLDB4MDIsMHgyYSwweDQwLDB4MDgsMHgxMCwweDAyLDB4MDIsMHgwMSwweDcwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOGEwLCAwLCB7MHgxOCwweDE1LDB4YTYsMHgwMCwweDk5LDB4MjAsMHgyMiwweDQwLDB4MDksMHg5MCwweDEyLDB4MjQsMHg4MCwweGI5LDB4MDAsMHgyZiB9fSwKLSB7MTYsIDB4YjhiMCwgMCwgezB4NDQsMHgwMywweGQwLDB4MDIsMHhmNCwweDAwLDB4OGQsMHgwMCwweDJiLDB4NDEsMHgwYiwweGQwLDB4MDIsMHgyNiwweDEwLDB4ODkgfX0sCi0gezE2LCAweGI4YzAsIDAsIHsweDA0LDB4MmEsMHg0MCwweDA5LDB4OTAsMHg2ZSwweDI0LDB4MDAsMHg4OSwweDAwLDB4MmEsMHg0MCwweDBhLDB4OTQsMHgwMiwweDQ2IH19LAotIHsxNiwgMHhiOGQwLCAwLCB7MHgwNCwweDYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTIsMHgxNSwweGU2LDB4MDAsMHhjOSwweDAwLDB4MzgsMHg0MiB9fSwKLSB7MTYsIDB4YjhlMCwgMCwgezB4MGMsMHgxMCwweDEzLDB4YTYsMHgwNCwweDc5LDB4MDgsMHgzYSwweDc4LDB4MDYsMHg5MiwweDAzLDB4YTQsMHgwOCwweGM5LDB4MDAgfX0sCi0gezE2LCAweGI4ZjAsIDAsIHsweDNhLDB4NjAsMHg4ZiwweDk4LDB4MjMsMHgwNiwweDAyLDB4YzksMHgwMiwweDNhLDB4NDAsMHgwZCwweDkwLDB4MDMsMHgwNCwweDAwIH19LAotIHsxNiwgMHhiOTAwLCAwLCB7MHhjOSwweDAwLDB4MzgsMHg0MCwweDBjLDB4OTAsMHgwMywweDI4LDB4MDQsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YjkxMCwgMCwgezB4MjgsMHgwMSwweDg0LDB4MTAsMHhmOSwweDgwLDB4YmUsMHg0MCwweDRmLDB4OTAsMHgwMiwweGU0LDB4MDAsMHhmOSwweDAwLDB4M2MgfX0sCi0gezE2LCAweGI5MjAsIDAsIHsweDYwLDB4OGQsMHg5MiwweDAzLDB4MjQsMHg0MiwweGU5LDB4MTAsMHgzMiwweDUwLDB4MGYsMHg5NCwweDAzLDB4ZTQsMHgwMCwweGY5IH19LAotIHsxNiwgMHhiOTMwLCAwLCB7MHgwMCwweGI2LDB4NDEsMHgyZSwweDEwLDB4MDMsMHhlNCwweDAwLDB4ZjksMHgwMCwweDJlLDB4NDAsMHgwZiwweDkwLDB4MDMsMHhjYSB9fSwKLSB7MTYsIDB4Yjk0MCwgMCwgezB4MDAsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDI4LDB4MTAsMHhhMCwweDA4LDB4YzgsMHgwMCwweDNlLDB4MTAgfX0sCi0gezE2LCAweGI5NTAsIDAsIHsweDBmLDB4ODgsMHgwMywweDIwLDB4MDgsMHhmOCwweGMwLDB4MWUsMHgxMCwweDJjLDB4NDAsMHgwMywweGYyLDB4MDAsMHhjYywweDAwIH19LAotIHsxNiwgMHhiOTYwLCAwLCB7MHgzZiwweDAwLDB4MGMsMHhjMCwweDEzLDB4MjAsMHgwMiwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDJiLDB4MjAsMHgxMCB9fSwKLSB7MTYsIDB4Yjk3MCwgMCwgezB4YzAsMHgwNCwweDMyLDB4MDAsMHgwZiwweDgwLDB4MDMsMHgwYSwweDA0LDB4MjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGI5ODAsIDAsIHsweGE4LDB4MDUsMHgzYSwweDgwLDB4ODYsMHhlMCwweDJmLDB4YTAsMHgxYiwweGUwLDB4MDIsMHgzYSwweDgwLDB4YmEsMHgwNCwweDJlIH19LAotIHsxNiwgMHhiOTkwLCAwLCB7MHg4MCwweDA4LDB4YTAsMHgwMywweDg4LDB4MDgsMHhjMiwweDAwLDB4MmUsMHg4MSwweDA4LDB4NjAsMHgwMiwweDI4LDB4MTAsMHg4ZSB9fSwKLSB7MTYsIDB4YjlhMCwgMCwgezB4ODEsMHgwMywweDgwLDB4MDgsMHhlMCwweDAxLDB4NzgsMHgwMCwweDhlLDB4MDQsMHgwMywweDgwLDB4MDksMHg2OCwweDAzLDB4Y2EgfX0sCi0gezE2LCAweGI5YjAsIDAsIHsweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyOCwweDA1LDB4NGMsMHgwMCwweDgzLDB4NjAsMHgyYywweDQ0IH19LAotIHsxNiwgMHhiOWMwLCAwLCB7MHgwYiwweDM4LDB4MDIsMHgwZiwweDgwLDB4YjEsMHgwMCwweDJjLDB4ZTUsMHgwMywweDMwLDB4MTAsMHhjYywweDEwLDB4ODMsMHgwMCB9fSwKLSB7MTYsIDB4YjlkMCwgMCwgezB4MGMsMHhjMCwweDI5LDB4MzAsMHgyMiwweDA0LDB4MDksMHg5MSwweDEwLDB4MjQsMHhjMCwweGM4LDB4MzAsMHgwMCwweDRjLDB4MDQgfX0sCi0gezE2LCAweGI5ZTAsIDAsIHsweDkzLDB4MDIsMHgyNCwweGMwLDB4MGIsMHgzMSwweDAyLDB4MGEsMHgwMCwweDUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiOWYwLCAwLCB7MHhlMCwweDAxLDB4MTgsMHg4MCwweDg3LDB4MDAsMHgyZCwweDQwLDB4MGIsMHg3NCwweDQyLDB4MWMsMHgwMSwweGI1LDB4MDEsMHgyYyB9fSwKLSB7MTYsIDB4YmEwMCwgMCwgezB4YzAsMHgwYiwweDYwLDB4MDIsMHhiMCwweDAwLDB4OTQsMHgwNCwweDJmLDB4MjAsMHgwOSwweGMwLDB4MDIsMHgxNCwweDkwLDB4OTcgfX0sCi0gezE2LCAweGJhMTAsIDAsIHsweDAwLDB4MjUsMHhjOCwweDA4LDB4NzAsMHgwMiwweDRjLDB4ODAsMHg5NywweDIwLDB4MjUsMHhjMCwweDA5LDB4NzAsMHgwMiwweGU4IH19LAotIHsxNiwgMHhiYTIwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgwOCwweDNhLDB4ODIsMHhjNiwweDgwLDB4MmQsMHg2MCB9fSwKLSB7MTYsIDB4YmEzMCwgMCwgezB4MGIsMHhmOCwweDBiLDB4MWEsMHgwMCwweGY1LDB4ODAsMHgzZCwweGUwLDB4OGYsMHg3OCwweDAzLDB4ZGUsMHgwMiwweGM3LDB4ODAgfX0sCi0gezE2LCAweGJhNDAsIDAsIHsweDJkLDB4ZTAsMHgwZCwweDc4LDB4MGIsMHgxNywweDAyLDB4ZGYsMHg4MCwweDI0LDB4ZjgsMHgyYywweGZkLDB4MDMsMHg1ZSwweDBjIH19LAotIHsxNiwgMHhiYTUwLCAwLCB7MHhkNywweGUwLDB4MzUsMHhlMCwweDBmLDB4NjgsMHgwMywweDJhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmE2MCwgMCwgezB4NDgsMHgxZCwweGFlLDB4NDAsMHhmYSwweDA0LDB4M2UsMHg0MCwweDBmLDB4ODAsMHgxMywweGVjLDB4MDQsMHhmOSwweDAwLDB4M2UgfX0sCi0gezE2LCAweGJhNzAsIDAsIHsweGMxLDB4MGMsMHhhMCwweDEzLDB4YzAsMHgxMCwweGU4LDB4MDAsMHgzYywweDAwLDB4NGUsMHg4MCwweDQzLDB4YzQsMHgyMCwweDg5IH19LAotIHsxNiwgMHhiYTgwLCAwLCB7MHgwMCwweGJhLDB4YzAsMHgwNywweGI2LDB4MjEsMHhlZCwweDA2LDB4ZWIsMHg2OCwweGJhLDB4Y2MsMHgwZiwweDIwLDB4MTMsMHhjMiB9fSwKLSB7MTYsIDB4YmE5MCwgMCwgezB4MDYsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDUsMHhiZSwweDAwLDB4YzYsMHg4MCwweDMxLDB4NjAgfX0sCi0gezE2LCAweGJhYTAsIDAsIHsweDJkLDB4NzgsMHgwYiwweDNlLDB4NDgsMHhlYywweDkyLDB4M2QsMHg2MCwweDBjLDB4NTgsMHgwMywweDVhLDB4NDAsMHhkNSwweDgwIH19LAotIHsxNiwgMHhiYWIwLCAwLCB7MHgzMSwweDYxLDB4MGMsMHg1OCwweDIzLDB4MzYsMHgwMCwweGNmLDB4ODIsMHgzZiwweGUwLDB4MGMsMHhmOCwweDAzLDB4ZmYsMHg2MCB9fSwKLSB7MTYsIDB4YmFjMCwgMCwgezB4Y2YsMHg5MCwweDMzLDB4ZjAsMHgwYywweDUyLDB4MDMsMHgwMCwweDAwLDB4NzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJhZDAsIDAsIHsweGE4LDB4MTEsMHhiOCwweDg0LDB4ODYsMHgxNCwweGI1LDB4YzAsMHgwOCwweDcwLDB4MDIsMHgxZSwweGMwLDB4YzQsMHgwMCwweDJkIH19LAotIHsxNiwgMHhiYWUwLCAwLCB7MHg0MCwweDA4LDB4NDAsMHgwMiwweDE0LDB4ZDAsMHg4NiwweDEwLDB4MjEsMHg4MCwweDRjLDB4NjIsMHg0MiwweDM0LDB4NDAsMHhhNSB9fSwKLSB7MTYsIDB4YmFmMCwgMCwgezB4MDAsMHgzNSwweGMwLDB4MjgsMHg3MCwweDQyLDB4ZGMsMHhjMiwweDhmLDB4MzAsMHgyMywweGMwLDB4MDgsMHg1MCwweDAyLDB4MmEgfX0sCi0gezE2LCAweGJiMDAsIDAsIHsweDA0LDB4NjAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMiwweDAwLDB4OTgsMHgyOCwweDhlLDB4MDAsMHhhNSwweDQwIH19LAotIHsxNiwgMHhiYjEwLCAwLCB7MHgwOCwweGYxLDB4MDIsMHgxOCwweDY0LDB4YjQsMHgwMCwweDZkLDB4NDIsMHgwOCwweDUwLDB4MDIsMHgxOCwweDAxLDB4ODUsMHgwOCB9fSwKLSB7MTYsIDB4YmIyMCwgMCwgezB4MjEsMHg0MCwweDA5LDB4NTgsMHgyMiwweDU0LDB4MDAsMHg4NSwweDEwLDB4MmQsMHhjNCwweDA5LDB4NzAsMHgwMiwweGRjLDB4MDQgfX0sCi0gezE2LCAweGJiMzAsIDAsIHsweDk3LDB4MDAsMHgyNSwweGMwLDB4MDgsMHg0NCwweDAyLDB4MDAsMHgxMCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYjQwLCAwLCB7MHg2MCwweDE0LDB4OGMsMHgwMCwweDgyLDB4ODAsMHgyNCwweGMwLDB4MDgsMHg4MCwweDAyLDB4MmQsMHgwMCwweDgwLDB4NGEsMHgyYyB9fSwKLSB7MTYsIDB4YmI1MCwgMCwgezB4NDIsMHgwOCwweDBhLDB4NDIsMHgwNiwweDAwLDB4OTIsMHg4NCwweDIwLDB4YTAsMHg4OCwweDI4LDB4NDIsMHg0NCwweDAwLDB4YTMgfX0sCi0gezE2LCAweGJiNjAsIDAsIHsweDA2LDB4MjQsMHhjMCwweDBiLDB4MzAsMHgwMiwweGNjLDB4MTAsMHg5MywweDA0LDB4MjQsMHhjMSwweDA5LDB4MDAsMHgwMiwweDA4IH19LAotIHsxNiwgMHhiYjcwLCAwLCB7MHgwNCwweDMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YTgsMHgxNSwweGJjLDB4MDAsMHhjYiwweDAwLDB4MzYsMHg0MCB9fSwKLSB7MTYsIDB4YmI4MCwgMCwgezB4MGMsMHhiNCwweDEzLDB4MmMsMHgwMCwweGY5LDB4MDAsMHgzZSwweGEwLDB4MGMsMHhhMiwweDAzLDB4MDQsMHgwOCwweGMyLDB4ODAgfX0sCi0gezE2LCAweGJiOTAsIDAsIHsweDMwLDB4YTgsMHgwZCwweDJhLDB4MDMsMHg1NCwweDAwLDB4Y2IsMHgwMCwweDNmLDB4YzAsMHgwZCwweGYwLDB4MDMsMHhmYywweDA4IH19LAotIHsxNiwgMHhiYmEwLCAwLCB7MHhkZiwweDAwLDB4MzcsMHhkMCwweDBjLDB4YjAsMHgwMywweDJhLDB4MDQsMHg2MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmJiMCwgMCwgezB4ODAsMHgwMCwweGUwLDB4MDAsMHhmYiwweDEwLDB4M2EsMHg0MCwweDBlLDB4YjAsMHgwMywweGVkLDB4OTAsMHhmOSwweDExLDB4N2UgfX0sCi0gezE2LCAweGJiYzAsIDAsIHsweDgwLDB4NGYsMHhiMCwweDUzLDB4ZTgsMHg0MCwweGU5LDB4MDAsMHgzZSwweDQwLDB4MGYsMHg5MCwweDAzLDB4YTYsMHgwOCwweGY5IH19LAotIHsxNiwgMHhiYmQwLCAwLCB7MHgwMSwweDNhLDB4YzAsMHgwYywweGIwLDB4MTMsMHhjYywweDAwLDB4ZWIsMHgwMiwweDNhLDB4YzYsMHg4ZSwweGI4LDB4MDMsMHhlMCB9fSwKLSB7MTYsIDB4YmJlMCwgMCwgezB4MDAsMHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4MTAsMHhmMCwweDBjLDB4Y2UsMHgwMCwweDNmLDB4ZTAgfX0sCi0gezE2LCAweGJiZjAsIDAsIHsweDJjLDB4ZjAsMHg4MywweDNhLDB4NDgsMHhjZCwweDAxLDB4MzUsMHg4MCwweDBjLDB4NjAsMHgxMiwweDM0LDB4MGEsMHhjZSwweDAwIH19LAotIHsxNiwgMHhiYzAwLCAwLCB7MHhiMywweDgwLDB4MmMsMHhlMCwweDBiLDB4NzQsMHgwMCwweGM5LDB4MTAsMHhiMywweGMxLDB4MGYsMHhmMCwweDFiLDB4M2MsMHgwMCB9fSwKLSB7MTYsIDB4YmMxMCwgMCwgezB4Y2YsMHgwMCwweGI3LDB4YzAsMHgyYywweGUwLDB4MDMsMHgwMCwweDQ0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJjMjAsIDAsIHsweDgxLDB4MDQsMHg2ZSwweDEwLDB4ODgsMHg4MCwweDJjLDB4YzAsMHgxOCwweDk4LDB4MDIsMHgyZCwweDgwLDB4ODEsMHgwMCwweDM2IH19LAotIHsxNiwgMHhiYzMwLCAwLCB7MHg5MSwweDA4LDB4YjAsMHgwMywweDY4LDB4MDAsMHhjOSwweDAwLDB4MjIsMHg0MCwweDA4LDB4OTAsMHgwMiwweDI0LDB4MDAsMHg4MyB9fSwKLSB7MTYsIDB4YmM0MCwgMCwgezB4ODAsMHgzNiwweGMwLDB4MGIsMHgzMCwweDAyLDB4MmMsMHgwMiwweDgzLDB4MDAsMHgyMCwweGMwLDB4MDgsMHgyMCwweDAzLDB4NjAgfX0sCi0gezE2LCAweGJjNTAsIDAsIHsweDQwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDA1LDB4MDYsMHgwMCwweDhhLDB4ODAsMHgyZSwweDQ1IH19LAotIHsxNiwgMHhiYzYwLCAwLCB7MHgyOCwweDg4LDB4MDIsMHgyNCwweDAyLDB4ODgsMHgwMiwweDAyLDB4MDIsMHgwOCwweDgwLDB4MDIsMHhhMiwweDAwLDB4OTgsMHgwMCB9fSwKLSB7MTYsIDB4YmM3MCwgMCwgezB4MjIsMHgwMCwweDA4LDB4ODAsMHgxMiwweDI0LDB4MDAsMHg4OSwweDAxLDB4MjIsMHhjMSwweDBhLDB4YjAsMHgwMiwweDZjLDB4MDAgfX0sCi0gezE2LCAweGJjODAsIDAsIHsweGFiLDB4MDAsMHgyMiwweGMxLDB4MDgsMHg5MCwweDEyLDB4NjAsMHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiYzkwLCAwLCB7MHgwOCwweDA0LDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyYywweGMwLDB4NDgsMHgwOCwweDEyLDB4MDAsMHg4MCwweDgwLDB4MDIsMHgyNCB9fSwKLSB7MTYsIDB4YmNhMCwgMCwgezB4MDAsMHgwOCwweDE4LDB4NDIsMHhhYywweDAyLDB4OGIsMHg4MCwweDIyLDB4ZTAsMHgwOCwweGI4LDB4MTIsMHgwNCwweDAyLDB4ODMgfX0sCi0gezE2LCAweGJjYjAsIDAsIHsweDAwLDB4MjAsMHhjMCwweDBiLDB4MzAsMHg0MiwweDBjLDB4MDAsMHhhMywweDAxLDB4NjAsMHhjMCwweDQ4LDB4MTAsMHgwMiwweDQyIH19LAotIHsxNiwgMHhiY2MwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDY4LDB4MDgsMHhjYSwweDAwLDB4MmUsMHg0MCB9fSwKLSB7MTYsIDB4YmNkMCwgMCwgezB4MDgsMHg4MCwweDAzLDB4MDAsMHgwMCwweGM4LDB4MDYsMHgzMiwweDAwLDB4MGMsMHg4MCwweDAyLDB4YTAsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweGJjZTAsIDAsIHsweDMyLDB4MDAsMHgwYywweDgwLDB4MDMsMHg3NCwweDAwLDB4Y2IsMHgwMCwweDIyLDB4YzAsMHgwZiwweGYwLDB4MDMsMHgzYywweDAwIH19LAotIHsxNiwgMHhiY2YwLCAwLCB7MHhlZiwweDAwLDB4MzcsMHhjMCwweDBjLDB4ODAsMHgwMSwweDQwLDB4MDMsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmQwMCwgMCwgezB4YTAsMHgxOSwweGZjLDB4MDAsMHhmYywweDA0LDB4M2YsMHhjMCwweDBmLDB4YzAsMHgwMywweGUxLDB4MDAsMHhmYywweDAwLDB4M2IgfX0sCi0gezE2LCAweGJkMTAsIDAsIHsweDAwLDB4MGYsMHhkMCwweDAzLDB4N2MsMHgwMCwweGVmLDB4MDAsMHgyZiwweGMwLDB4MGYsMHhmMCwweDExLDB4ZjQsMHgxMCwweGZkIH19LAotIHsxNiwgMHhiZDIwLCAwLCB7MHgwMiwweDNkLDB4YzAsMHg0ZiwweGYwLDB4MDMsMHhkYywweDAwLDB4ZGYsMHgwNCwweDNmLDB4YzAsMHgwZiwweGMwLDB4NDMsMHhlOSB9fSwKLSB7MTYsIDB4YmQzMCwgMCwgezB4MDYsMHg3MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MSwweDAyLDB4NzAsMHgyMCwweGRjLDB4MTAgfX0sCi0gezE2LCAweGJkNDAsIDAsIHsweDY3LDB4MDQsMHgwZCwweGMxLDB4MDIsMHg3MCwweDIwLDB4OWMsMHgxMCwweDM3LDB4MDQsMHgwZCwweGMxLDB4MDYsMHg3MCwweDQwIH19LAotIHsxNiwgMHhiZDUwLCAwLCB7MHg0YywweDEwLDB4MzcsMHgxNCwweDE1LDB4YzEsMHgwMywweDcwLDB4NDAsMHhkYywweDEwLDB4MTMsMHgwNCwweDBkLDB4YzEsMHgwNyB9fSwKLSB7MTYsIDB4YmQ2MCwgMCwgezB4NzAsMHg0MCwweGRjLDB4MTAsMHgzNywweDA0LDB4MGQsMHhjMCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJkNzAsIDAsIHsweDAwLDB4YzUsMHg0NCwweDA1LDB4NzEsMHgyMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwNSwweDVjIH19LAotIHsxNiwgMHhiZDgwLCAwLCB7MHg0MCwweDU3LDB4MTAsMHgxNSwweGM0LDB4MDYsMHg3MSwweDAxLDB4NGMsMHg0MCwweDU3LDB4MTAsMHgwZCwweGM0LDB4MDUsMHg3MSB9fSwKLSB7MTYsIDB4YmQ5MCwgMCwgezB4MDUsMHg1YywweDQwLDB4NTMsMHgxMCwweDE1LDB4YzQsMHgwNywweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGJkYTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH19LAotIHsxNiwgMHhiZGIwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4YmRjMCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEgfX0sCi0gezE2LCAweGJkZDAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZGUwLCAwLCB7MHgwMCwweDg0LDB4MDAsMHgwMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4NTYsMHgwMCwweDA1LDB4ODAsMHgwMSwweDYwLDB4MDQsMHg1OCB9fSwKLSB7MTYsIDB4YmRmMCwgMCwgezB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4MjAsMHgwMSwweDU4LDB4MDAsMHgxNiwweDAwLDB4MDUsMHg4MCwweDAxLDB4NjAgfX0sCi0gezE2LCAweGJlMDAsIDAsIHsweDAwLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgwNSwweDgwLDB4MDEsMHg2MCwweDAwLDB4NTgsMHgwMCwweDE2LDB4MDAsMHgwMSwweDgwIH19LAotIHsxNiwgMHhiZTEwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ4LDB4MDUsMHg3MiwweDExLDB4NWMsMHg4MCB9fSwKLSB7MTYsIDB4YmUyMCwgMCwgezB4MTcsMHgyMCwweDE1LDB4ZDgsMHgwNSwweDMyLDB4MTEsMHgxYywweDgwLDB4NDcsMHgyMCwweDE0LDB4ODgsMHgwMCwweDcyLDB4MDEgfX0sCi0gezE2LCAweGJlMzAsIDAsIHsweDFjLDB4ODAsMHg1NywweDIwLDB4MDUsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjOCwweDAxIH19LAotIHsxNiwgMHhiZTQwLCAwLCB7MHg3MiwweDAxLDB4NWMsMHg4MCwweDU3LDB4MjQsMHgxNSwweGMwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmU1MCwgMCwgezB4MDAsMHhjMSwweDQwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4NDAsMHgyMCwweDAwLDB4MTggfX0sCi0gezE2LCAweGJlNjAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4OTAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgwMCwweDYwIH19LAotIHsxNiwgMHhiZTcwLCAwLCB7MHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MTAsMHgwNiwweDAwLDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4YmU4MCwgMCwgezB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0OCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfX0sCi0gezE2LCAweGJlOTAsIDAsIHsweDAyLDB4MjAsMHgxMCwweDg4LDB4MDQsMHg2MiwweDAxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDg4LDB4MDAsMHgyMCwweDAxIH19LAotIHsxNiwgMHhiZWEwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHgyMCwweDAwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgyMCwweDEwLDB4ODgsMHgwMCB9fSwKLSB7MTYsIDB4YmViMCwgMCwgezB4MjIsMHgwMSwweDA4LDB4ODAsMHg0MiwweDMwLDB4MTAsMHg4MCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGJlYzAsIDAsIHsweDAwLDB4YzUsMHg0YSwweDA1LDB4NDIsMHg4MSwweDUwLDB4YTAsMHgwNCwweDI4LDB4MTUsMHgwYSwweDA1LDB4NTIsMHg4MSwweDEwIH19LAotIHsxNiwgMHhiZWQwLCAwLCB7MHhhMCwweDQ0LDB4MjgsMHgxMSwweDFhLDB4MDAsMHg0MCwweDgwLDB4MTAsMHhhMCwweDU0LDB4MjgsMHgwNSwweDBhLDB4MDUsMHg0MiB9fSwKLSB7MTYsIDB4YmVlMCwgMCwgezB4ODEsMHg1MSwweDIwLDB4MTQsMHgyOCwweDE1LDB4MGEsMHgwMSwweDQyLDB4ODEsMHg1MCwweGEwLDB4NTQsMHgyOCwweDE1LDB4MDAgfX0sCi0gezE2LCAweGJlZjAsIDAsIHsweDMxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MGMsMHgwMSwweDUzLDB4NDAsMHg1NCwweGMwIH19LAotIHsxNiwgMHhiZjAwLCAwLCB7MHgxNSwweDMwLDB4MDUsMHg1YywweDAxLDB4NTcsMHg0MCwweDU0LDB4YzAsMHgxNSwweDMwLDB4MDUsMHg1YywweDAxLDB4NTMsMHgwMCB9fSwKLSB7MTYsIDB4YmYxMCwgMCwgezB4NTUsMHhjMCwweDE1LDB4NzQsMHgwNSwweDRjLDB4MDEsMHg1MywweDAwLDB4NTUsMHhjMCwweDE1LDB4NzQsMHgwNSwweDRjLDB4MDEgfX0sCi0gezE2LCAweGJmMjAsIDAsIHsweDUzLDB4MDAsMHg1NCwweGMwLDB4MTEsMHgzMCwweDAxLDB4NDAsMHgyMSwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhiZjMwLCAwLCB7MHgwMCwweDgwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgwMCwweDQwLDB4MDAsMHgxMCB9fSwKLSB7MTYsIDB4YmY0MCwgMCwgezB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMCwweDAwLDB4NDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MTEsMHgwMCwweDAwLDB4NDAgfX0sCi0gezE2LCAweGJmNTAsIDAsIHsweDAwLDB4MTAsMHhjMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MDAsMHg0MCwweDAwLDB4MTAsMHgwMCwweDAxLDB4MTAsMHgwMSwweDAxIH19LAotIHsxNiwgMHhiZjYwLCAwLCB7MHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDYwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCB9fSwKLSB7MTYsIDB4YmY3MCwgMCwgezB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAgfX0sCi0gezE2LCAweGJmODAsIDAsIHsweDgyLDB4MDAsMHgyMCwweDg0LDB4MDAsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDg0LDB4MDgsMHgyMCwweDAyIH19LAotIHsxNiwgMHhiZjkwLCAwLCB7MHgwOCwweDAwLDB4ODIsMHgwMCwweDIxLDB4ODAsMHgwOCwweDAxLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YmZhMCwgMCwgezB4MDAsMHhjNSwweDQwLDB4MDUsMHg2MCwweDAxLDB4NTgsMHgwMCwweDk2LDB4MDAsMHgxNSwweDkwLDB4MDUsMHg2NCwweDAyLDB4NTggfX0sCi0gezE2LCAweGJmYjAsIDAsIHsweDAwLDB4NTYsMHgwMCwweDU1LDB4OTAsMHgwNSwweDYwLDB4MDEsMHhkOSwweDAwLDB4MTYsMHg0MCwweDE1LDB4ODAsMHgwNSwweDYwIH19LAotIHsxNiwgMHhiZmMwLCAwLCB7MHgwMSwweDU5LDB4MDAsMHg3NiwweDQwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCB9fSwKLSB7MTYsIDB4YmZkMCwgMCwgezB4MzEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzQsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweGJmZTAsIDAsIHsweDM2LDB4MDAsMHg0ZCwweDgwLDB4MDMsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MiwweDAwIH19LAotIHsxNiwgMHhiZmYwLCAwLCB7MHg1OCwweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwNywweDYwLDB4MDAsMHhkOCwweDgwLDB4MTYsMHgwMCwweDBkLDB4ODAsMHgwMyB9fSwKLSB7MTYsIDB4YzAwMCwgMCwgezB4NjAsMHgwMCwweGQ4LDB4MDAsMHgzNiwweDAwLDB4MWQsMHg4MCwweDMxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMwMTAsIDAsIHsweDAwLDB4YzUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4MSwweDBjIH19LAotIHsxNiwgMHhjMDIwLCAwLCB7MHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweGMxLDB4MGMsMHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDYsMHgzMCB9fSwKLSB7MTYsIDB4YzAzMCwgMCwgezB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwOCwweDE4LDB4YzAgfX0sCi0gezE2LCAweGMwNDAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH19LAotIHsxNiwgMHhjMDUwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDQwLDB4MzAsMHgwMCB9fSwKLSB7MTYsIDB4YzA2MCwgMCwgezB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHgwMCwweDAzLDB4MDAsMHgwMCwweGMwLDB4MDAgfX0sCi0gezE2LCAweGMwNzAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMDgwLCAwLCB7MHgwMCwweDgwLDB4MDIsMHgwMSwweDMwLDB4ODAsMHg0YywweDIwLDB4MTMsMHgwOCwweDA0LDB4YzIsMHgwMSwweDMwLDB4ODAsMHg0YyB9fSwKLSB7MTYsIDB4YzA5MCwgMCwgezB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDI1LDB4MzAsMHg4MSwweDRjLDB4MjAsMHgxMywweDA4LDB4MDQsMHhjMiwweDAxLDB4MzAgfX0sCi0gezE2LCAweGMwYTAsIDAsIHsweDgwLDB4NGMsMHgzMiwweDUzLDB4MDgsMHgwNCwweGMyLDB4MDEsMHgzMCwweDgwLDB4NGMsMHgyMCwweDEzLDB4MDgsMHgwNCwweGMwIH19LAotIHsxNiwgMHhjMGIwLCAwLCB7MHgyMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQyLDB4MDUsMHg2MiwweDgxLDB4NTgsMHgyMCB9fSwKLSB7MTYsIDB4YzBjMCwgMCwgezB4NTYsMHgwOCwweDE1LDB4ODIsMHgwNCwweDYwLDB4ODEsMHg1OCwweDIwLDB4NDYsMHgwOCwweDE1LDB4ODIsMHgwMSwweDYwLDB4YzEgfX0sCi0gezE2LCAweGMwZDAsIDAsIHsweDU4LDB4MjAsMHg0NiwweDA4LDB4MTUsMHg4MiwweDAxLDB4NjAsMHg4MSwweDU4LDB4MzAsMHg1NiwweDA4LDB4MTUsMHg4MiwweDA1IH19LAotIHsxNiwgMHhjMGUwLCAwLCB7MHg2MCwweDgxLDB4NTgsMHgyMCwweDU2LDB4MDgsMHgwNSwweDgwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzBmMCwgMCwgezB4MDAsMHhjNSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDggfX0sCi0gezE2LCAweGMxMDAsIDAsIHsweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYywweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwIH19LAotIHsxNiwgMHhjMTEwLCAwLCB7MHg4MCwweDA4LDB4MjAsMHgwMywweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4YzEyMCwgMCwgezB4MjEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MiwweDA0LDB4NjYsMHg4MSwweDE4LDB4MjAgfX0sCi0gezE2LCAweGMxMzAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2NCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweDgxIH19LAotIHsxNiwgMHhjMTQwLCAwLCB7MHgwYywweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEsMHgxOSwweDIwLDB4NDMsMHgwOCwweDExLDB4ODIsMHgwNCB9fSwKLSB7MTYsIDB4YzE1MCwgMCwgezB4NjAsMHg4MSwweDE5LDB4MjAsMHg0NiwweDQ4LDB4MDEsMHg4MCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMxNjAsIDAsIHsweDAwLDB4YzUsMHg2MCwweDA1LDB4NTgsMHgwMSwweDU2LDB4MDAsMHg1NSwweDgwLDB4MTUsMHg2MCwweDA0LDB4NTgsMHgwMSwweDU2IH19LAotIHsxNiwgMHhjMTcwLCAwLCB7MHgwMCwweDQ1LDB4ODAsMHgxMSwweDYwLDB4MDAsMHg1OCwweDAwLDB4MDYsMHgwMCwweDQ1LDB4ODAsMHgxNSwweDYwLDB4MDEsMHg1OCB9fSwKLSB7MTYsIDB4YzE4MCwgMCwgezB4MDEsMHgxNiwweDAwLDB4MDEsMHg4MCwweDE1LDB4NjAsMHgwNSwweDU4LDB4MDEsMHg1NiwweDAwLDB4NTUsMHg4MCwweDA1LDB4NDAgfX0sCi0gezE2LCAweGMxOTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MDYsMHgwMSwweDQ5LDB4ODAsMHgxMCwweDYwIH19LAotIHsxNiwgMHhjMWEwLCAwLCB7MHgxNCwweDE4LDB4MDUsMHgwNiwweDAxLDB4NzksMHg4MCwweDUwLDB4NjAsMHgxNCwweDE4LDB4MDEsMHgwNiwweDAxLDB4NDEsMHg4MCB9fSwKLSB7MTYsIDB4YzFiMCwgMCwgezB4NTAsMHg2MCwweDA0LDB4MTgsMHgwNSwweDA2LDB4MDEsMHg0MSwweDgwLDB4MTAsMHg2MCwweDE0LDB4MTgsMHgwNSwweDA2LDB4MDEgfX0sCi0gezE2LCAweGMxYzAsIDAsIHsweDQxLDB4ODAsMHg1MCwweDYwLDB4MTQsMHgxOCwweDA1LDB4MDAsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMWQwLCAwLCB7MHgwMCwweDgwLDB4MDIsMHgwMSwweDA0LDB4ODAsMHg0MCwweDIwLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMCwweDA0LDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4YzFlMCwgMCwgezB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4NCwweDQwLDB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAgfX0sCi0gezE2LCAweGMxZjAsIDAsIHsweDgwLDB4NDEsMHgyMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MTEsMHgwMCwweDgwLDB4NDEsMHgyMCwweDEwLDB4NDgsMHgwNCwweDAwIH19LAotIHsxNiwgMHhjMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjNSwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCB9fSwKLSB7MTYsIDB4YzIxMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMiwweDExLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDExLDB4ODAgfX0sCi0gezE2LCAweGMyMjAsIDAsIHsweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NjAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzIH19LAotIHsxNiwgMHhjMjMwLCAwLCB7MHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQwLDB4MzEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzI0MCwgMCwgezB4MDAsMHhjNSwweDQ2LDB4MDUsMHg3MCwweDgxLDB4NWMsMHg2MCwweDA3LDB4MTgsMHgxNSwweGM2LDB4MDQsMHg3MSwweDgxLDB4MWMgfX0sCi0gezE2LCAweGMyNTAsIDAsIHsweDYwLDB4MTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDMxLDB4ODEsMHhkYywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxIH19LAotIHsxNiwgMHhjMjYwLCAwLCB7MHg4MCwweDFjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjZSwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4YzI3MCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDUsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjEgfX0sCi0gezE2LCAweGMyODAsIDAsIHsweDc3LDB4MTgsMHgwZCwweGM2LDB4MDIsMHg3MSwweDgwLDB4OWMsMHg2MCwweDM3LDB4MTgsMHgwZCwweGMyLDB4MDMsMHgzMSwweDgwIH19LAotIHsxNiwgMHhjMjkwLCAwLCB7MHg1YywweDYwLDB4MjcsMHgxOCwweDBkLDB4YzYsMHgwMywweDcxLDB4ODAsMHg5YywweDYwLDB4MTcsMHgxOCwweDBkLDB4Y2UsMHgwMyB9fSwKLSB7MTYsIDB4YzJhMCwgMCwgezB4NzEsMHg4MCwweGRjLDB4NjAsMHgzNywweDE4LDB4MGQsMHhjMCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGMyYjAsIDAsIHsweDAwLDB4NDUsMHg0NiwweDA1LDB4NzUsMHg4MSwweDVjLDB4NjAsMHg3NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzUsMHg4MSwweDVjIH19LAotIHsxNiwgMHhjMmMwLCAwLCB7MHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHgzMSwweDgxLDB4MGMsMHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDUsMHg3MSB9fSwKLSB7MTYsIDB4YzJkMCwgMCwgezB4ODEsMHg1YywweDYwLDB4NDMsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTcsMHgxOCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGMyZTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH19LAotIHsxNiwgMHhjMmYwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4YzMwMCwgMCwgezB4NWMsMHgyMCwweDEyLDB4MDgsMHgwNCwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgwMCwweDE3LDB4MDgsMHgwNCwweDgyLDB4MDEgfX0sCi0gezE2LCAweGMzMTAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjMzIwLCAwLCB7MHgwMCwweDAwLDB4MDYsMHgwMSwweDYzLDB4ODAsMHg1OCwweDYwLDB4MTYsMHgxOCwweDA1LDB4ODYsMHgwMSwweDYxLDB4ODAsMHg1OCB9fSwKLSB7MTYsIDB4YzMzMCwgMCwgezB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEsMHg4MSwweDU4LDB4NjAsMHgxNiwweDE4LDB4MDUsMHg4NiwweDAxLDB4NjEgfX0sCi0gezE2LCAweGMzNDAsIDAsIHsweDgwLDB4NTgsMHg2MCwweDU2LDB4MTgsMHgwNSwweDg2LDB4MDEsMHg2MSwweDgwLDB4NTgsMHg2MCwweDE2LDB4MTgsMHgwNSwweDgwIH19LAotIHsxNiwgMHhjMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQwLDB4MDUsMHg3MCwweDAxLDB4NWMsMHgwMCB9fSwKLSB7MTYsIDB4YzM2MCwgMCwgezB4MTcsMHgwMCwweDE1LDB4YzAsMHg4NSwweDc0LDB4MDEsMHgxYywweDAwLDB4NDcsMHgwMCwweDExLDB4YzAsMHgwNSwweDcwLDB4MDEgfX0sCi0gezE2LCAweGMzNzAsIDAsIHsweDVjLDB4MDAsMHg1MywweDAwLDB4MTAsMHhjMCwweDA1LDB4NzAsMHgwMSwweDVjLDB4MDAsMHg1NywweDAwLDB4MTQsMHhjOSwweDA0IH19LAotIHsxNiwgMHhjMzgwLCAwLCB7MHg3MCwweDAxLDB4MWMsMHgwMCwweDU3LDB4MDAsMHgxNSwweGMwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzM5MCwgMCwgezB4MDAsMHg0NSwweDQyLDB4MDAsMHg2MCwweGMwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2MCwweDgwLDB4MTggfX0sCi0gezE2LCAweGMzYTAsIDAsIHsweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgxOCwweDMwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgxMCwweDYwIH19LAotIHsxNiwgMHhjM2IwLCAwLCB7MHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDAsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4YzNjMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDQsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfX0sCi0gezE2LCAweGMzZDAsIDAsIHsweDAyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH19LAotIHsxNiwgMHhjM2UwLCAwLCB7MHgwOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCB9fSwKLSB7MTYsIDB4YzNmMCwgMCwgezB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDExLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM0MDAsIDAsIHsweDAwLDB4NDUsMHg0MiwweDA1LDB4NDAsMHhjNSwweDUwLDB4MjAsMHgxNCwweDA4LDB4MTUsMHgwMCwweDA0LDB4NDAsMHg4MSwweDUwIH19LAotIHsxNiwgMHhjNDEwLCAwLCB7MHgyMCwweDU0LDB4MDgsMHgxMSwweDAyLDB4MDUsMHgwMCwweDgwLDB4MTAsMHgyMCwweDQ1LDB4MGMsMHgxMSwweDQyLDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4YzQyMCwgMCwgezB4ODEsMHg1MCwweDIwLDB4MTQsMHgwYywweDE1LDB4NDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NTQsMHgwOCwweDE1LDB4MDAgfX0sCi0gezE2LCAweGM0MzAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDMsMHgwMSwweDUwLDB4YzAsMHg0NCwweDMwIH19LAotIHsxNiwgMHhjNDQwLCAwLCB7MHgxNSwweDBjLDB4MDUsMHg0MywweDAxLDB4NTAsMHhjMCwweDRjLDB4MzAsMHgxNSwweDBjLDB4MDUsMHg0MywweDIxLDB4NTAsMHhjMCB9fSwKLSB7MTYsIDB4YzQ1MCwgMCwgezB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEsMHg1MCwweGMwLDB4NTQsMHgzMCwweDE1LDB4MGMsMHgwNSwweDQzLDB4MDEgfX0sCi0gezE2LCAweGM0NjAsIDAsIHsweDUwLDB4YzAsMHg1NCwweDIwLDB4MTUsMHgwYywweDA1LDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNDcwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgwNCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDgsMHgwMCwweDQyLDB4MDAsMHgwNCB9fSwKLSB7MTYsIDB4YzQ4MCwgMCwgezB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4MDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwOCwweDAwLDB4NDIgfX0sCi0gezE2LCAweGM0OTAsIDAsIHsweDAwLDB4MTAsMHg4MCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgwMSwweDAwIH19LAotIHsxNiwgMHhjNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODQsMHgyMCB9fSwKLSB7MTYsIDB4YzRiMCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHg4NCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAgfX0sCi0gezE2LCAweGM0YzAsIDAsIHsweDgwLDB4YTAsMHgyMCwweDI4LDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MjAsMHgyMCwweDI4LDB4MDgsMHgwMiwweDAyIH19LAotIHsxNiwgMHhjNGQwLCAwLCB7MHgwMCwweDgwLDB4ODAsMHgyMCwweDIwLDB4MDgsMHgwOCwweDAwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzRlMCwgMCwgezB4MDAsMHg0NSwweDQwLDB4MDUsMHg2MCwweDQxLDB4NTgsMHgwMCwweDU2LDB4MDAsMHgxNSwweDgwLDB4MDUsMHg2MCwweDAxLDB4NTggfX0sCi0gezE2LCAweGM0ZjAsIDAsIHsweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDIwLDB4MDEsMHhkOCwweDAwLDB4NTYsMHgwMCwweDE1LDB4ODAsMHgwNSwweDYwIH19LAotIHsxNiwgMHhjNTAwLCAwLCB7MHgwMSwweDU4LDB4MDAsMHg3NiwweDAwLDB4MTUsMHg4MCwweDA1LDB4NjAsMHgwMSwweDU4LDB4MDAsMHg1NiwweDAwLDB4MTUsMHg4MCB9fSwKLSB7MTYsIDB4YzUxMCwgMCwgezB4MTEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzUsMHg0MCwweDAzLDB4NjAsMHgwMCwweGQ4LDB4MDAgfX0sCi0gezE2LCAweGM1MjAsIDAsIHsweDI2LDB4MDAsMHgwZCwweDgwLDB4MDIsMHg2MCwweDAwLDB4ZDgsMHgwMCwweDM2LDB4MDAsMHgwZCwweDgwLDB4MDcsMHg2MCwweDAxIH19LAotIHsxNiwgMHhjNTMwLCAwLCB7MHg1YywweDAwLDB4MzYsMHgwMCwweDBkLDB4ODAsMHgwMywweDYwLDB4MDAsMHhkOCwweDAwLDB4NTcsMHgwMCwweDBkLDB4ODAsMHgwMiB9fSwKLSB7MTYsIDB4YzU0MCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHgzNiwweDAwLDB4MGQsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgyMSwweDBjLDB4MDAsMHg0MywweDAwLDB4MTAsMHhjMCwweDA0LDB4MzAsMHgwMSwweDBjIH19LAotIHsxNiwgMHhjNTYwLCAwLCB7MHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCwweDAxLDB4MTgsMHgwMCwweDQzLDB4MDAsMHgxMCwweGMwLDB4MDQsMHgzMCB9fSwKLSB7MTYsIDB4YzU3MCwgMCwgezB4MDEsMHgwYywweDAwLDB4NDYsMHgwMCwweDEwLDB4YzAsMHgwNCwweDMwLDB4MDEsMHgwYywweDAwLDB4NDMsMHgwMCwweDEwLDB4YzAgfX0sCi0gezE2LCAweGM1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH19LAotIHsxNiwgMHhjNTkwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzUsMHgwOCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjNiwweDAwLDB4MTQsMHgwMCB9fSwKLSB7MTYsIDB4YzVhMCwgMCwgezB4MDgsMHgwMCwweDAzLDB4NDAsMHgwMCwweGMwLDB4MDAsMHgzMCwweDAwLDB4MGQsMHg0MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfX0sCi0gezE2LCAweGM1YjAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgwMCwweDAwLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNWMwLCAwLCB7MHgwMCwweDAwLDB4MDUsMHgwMSwweDMxLDB4NDAsMHg0YywweDUwLDB4MTMsMHgxNCwweDA0LDB4YzUsMHgwMSwweDMxLDB4YzAsMHg0YyB9fSwKLSB7MTYsIDB4YzVkMCwgMCwgezB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDA1LDB4MzEsMHg0MSwweDRjLDB4NTAsMHgxMywweDE0LDB4MDQsMHhjNSwweDAxLDB4MzEgfX0sCi0gezE2LCAweGM1ZTAsIDAsIHsweDQwLDB4NGMsMHg3MCwweDUzLDB4MTQsMHgwNCwweGM1LDB4MDEsMHgzMSwweDQwLDB4NGMsMHg0MCwweDEzLDB4MTQsMHgwNCwweGMwIH19LAotIHsxNiwgMHhjNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIzLDB4MDUsMHg2OCwweGMxLDB4NWEsMHgzMCB9fSwKLSB7MTYsIDB4YzYwMCwgMCwgezB4NTYsMHg4YywweDE1LDB4YTMsMHgwNSwweDY5LDB4YzEsMHg1YSwweDMwLDB4NDYsMHg4YywweDExLDB4YTcsMHgwMSwweDY4LDB4YzAgfX0sCi0gezE2LCAweGM2MTAsIDAsIHsweDFhLDB4MzAsMHg1NiwweDhjLDB4MTEsMHhhMywweDA0LDB4NjgsMHhjMSwweDFhLDB4MzAsMHgxNiwweDhjLDB4MTUsMHhhMywweDA0IH19LAotIHsxNiwgMHhjNjIwLCAwLCB7MHg2OCwweGMxLDB4NWEsMHgzMCwweDU2LDB4OGMsMHgxMSwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyNCwweDAwLDB4MDggfX0sCi0gezE2LCAweGM2NDAsIDAsIHsweDAxLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCwweDI0LDB4MDAsMHgwOCwweDgwLDB4MDIsMHg2MCwweDAwLDB4ODAsMHgwMCwweDIwIH19LAotIHsxNiwgMHhjNjUwLCAwLCB7MHgwMCwweDA5LDB4NDAsMHgwMiwweDIwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4YzY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQgfX0sCi0gezE2LCAweGM2NzAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MiwweDA5LDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgxMSwweDg4LDB4NjAsMHg2MiwweDEwIH19LAotIHsxNiwgMHhjNjgwLCAwLCB7MHgxOCwweDA0LDB4NDYsMHgwMSwweDExLDB4ODgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDgwLDB4MDYsMHgwMSwweDExLDB4ODgsMHg0NCB9fSwKLSB7MTYsIDB4YzY5MCwgMCwgezB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQ1LDB4NTAsMHgxMSwweDU0LDB4MDQsMHg1NSwweDAxLDB4MTUsMHg0MCwweDQ0LDB4NTAsMHgxMSwweDU0IH19LAotIHsxNiwgMHhjNmIwLCAwLCB7MHgwNCwweDQ1LDB4MDEsMHgxMSwweDQwLDB4NDAsMHg1MCwweDEwLDB4NTQsMHgwNCwweDQ1LDB4MDEsMHgxNSwweDQwLDB4NDQsMHg1MCB9fSwKLSB7MTYsIDB4YzZjMCwgMCwgezB4MTEsMHgxNCwweDAwLDB4MTUsMHgwMSwweDE1LDB4NDAsMHg0NCwweDUwLDB4MTEsMHg1NCwweDA0LDB4NTUsMHgwMCwweDExLDB4NDAgfX0sCi0gezE2LCAweGM2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgyMSwweDQyLDB4MDgsMHg1MCwweDgyIH19LAotIHsxNiwgMHhjNmUwLCAwLCB7MHgxNCwweDIwLDB4ODUsMHgwOCwweDIxLDB4NDIsMHgwMCwweDUwLDB4ODIsMHgxNCwweDIwLDB4ODUsMHgwOCwweDIwLDB4NDIsMHgwOCB9fSwKLSB7MTYsIDB4YzZmMCwgMCwgezB4NTAsMHg4MiwweDE1LDB4MjAsMHgwNSwweDQ4LDB4MjEsMHg0MiwweDA4LDB4NTAsMHg4MiwweDE0LDB4MjAsMHg4MSwweDQwLDB4MjEgfX0sCi0gezE2LCAweGM3MDAsIDAsIHsweDQyLDB4MDgsMHg1MCwweDgyLDB4MTQsMHgyMCwweDg1LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjNzEwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MGEsMHgwMSwweDAyLDB4ODQsMHg0MCB9fSwKLSB7MTYsIDB4YzcyMCwgMCwgezB4YTEsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgwMCwweDI4LDB4MDAsMHgwYSwweDAxLDB4MDIgfX0sCi0gezE2LCAweGM3MzAsIDAsIHsweDgwLDB4NDAsMHhiMCwweDEwLDB4MjgsMHgwMCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhMCwweDEwLDB4MjgsMHgwNCwweDAwIH19LAotIHsxNiwgMHhjNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDBjLDB4MDMsMHg1MywweDAwLDB4ZDQsMHhjMCB9fSwKLSB7MTYsIDB4Yzc1MCwgMCwgezB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAsMHhkNCwweGMwLDB4MzUsMHgzMCwweDBkLDB4NGMsMHgwMywweDUzLDB4MDAgfX0sCi0gezE2LCAweGM3NjAsIDAsIHsweGQ0LDB4YzAsMHgyMSwweDMwLDB4MDgsMHg0YywweDAzLDB4NTMsMHgwMCwweGQ0LDB4YzAsMHgzNSwweDMwLDB4MDgsMHg0YywweDAzIH19LAotIHsxNiwgMHhjNzcwLCAwLCB7MHg1MywweDAwLDB4ZDQsMHhjMCwweDM1LDB4MzAsMHgwZCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzc4MCwgMCwgezB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MCwweDAxLDB4NWMsMHg4MCwweDA3LDB4MjAsMHgyNSwweGM5LDB4MDQsMHg3MiwweDAxLDB4NWMgfX0sCi0gezE2LCAweGM3OTAsIDAsIHsweDgwLDB4NDcsMHgyMCwweDE1LDB4YzgsMHgwMCwweDcyLDB4MDUsMHhkYywweDgwLDB4NTcsMHgyMCwweDE1LDB4YzgsMHgwNSwweDcyIH19LAotIHsxNiwgMHhjN2EwLCAwLCB7MHgwMSwweDFjLDB4OTAsMHg2NywweDIwLDB4MTUsMHhjOCwweDA1LDB4NzIsMHgwMSwweDFjLDB4ODAsMHg1NywweDIwLDB4MTUsMHhjMCB9fSwKLSB7MTYsIDB4YzdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDE4LDB4NDgsMHhjMiwweDEyLDB4MzEgfX0sCi0gezE2LCAweGM3YzAsIDAsIHsweDg0LDB4OGMsMHg2MSwweDAzLDB4MTgsMHg0MCwweGM4LDB4MTIsMHgzMSwweDg0LDB4OGMsMHg2MSwweDAzLDB4MTgsMHg0OCwweGM0IH19LAotIHsxNiwgMHhjN2QwLCAwLCB7MHgxMCwweDMxLDB4ODQsMHgwYywweDQxLDB4MjMsMHgxOCwweDQ4LDB4YzYsMHgxMCwweDMwLDB4MDQsMHgwYywweDYxLDB4MjMsMHgxOCB9fSwKLSB7MTYsIDB4YzdlMCwgMCwgezB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDhjLDB4MjEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM3ZjAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzIH19LAotIHsxNiwgMHhjODAwLCAwLCB7MHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiB9fSwKLSB7MTYsIDB4YzgxMCwgMCwgezB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGJkLDB4MDAgfX0sCi0gezE2LCAweGM4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Yzg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjODYwLCAwLCB7MHgwMCwweDAwLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDA5LDB4MzYsMHhjMiB9fSwKLSB7MTYsIDB4Yzg3MCwgMCwgezB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIgfX0sCi0gezE2LCAweGM4ODAsIDAsIHsweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHgyYywweDAwIH19LAotIHsxNiwgMHhjODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4M2MsMHg0YywweGNmLDB4MTMsMHgzMyB9fSwKLSB7MTYsIDB4YzhhMCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYywweDRkLDB4NGUsMHg5MywweDMzLDB4YzQsMHhjYywweGYxLDB4MmIsMHgzYywweDRjLDB4Y2YgfX0sCi0gezE2LCAweGM4YjAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNjLDB4ZTksMHgzMywweDNjLDB4NGMsMHhjZiwweDEyLDB4YjUsMHhjNCwweGNjLDB4ZjEsMHgzMywweDNjIH19LAotIHsxNiwgMHhjOGMwLCAwLCB7MHg0YywweGNmLDB4MTMsMHgzMywweGM0LDB4Y2QsMHgzMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4YzhkMCwgMCwgezB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGM3LDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDIzLDB4N2UsMHg0ZSwweDQ3LDB4OTMgfX0sCi0gezE2LCAweGM4ZTAsIDAsIHsweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2YsMHg3ZSwweDRlLDB4ZGUsMHgxMiwweDM3LDB4ZTQsMHg4ZCwweGY5LDB4M2IsMHg3ZSwweDRlIH19LAotIHsxNiwgMHhjOGYwLCAwLCB7MHhkZiwweDkzLDB4ZjcsMHg4NCwweDhkLDB4ZjksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjEsMHhlNCwweGVkLDB4YjksMHgwMCB9fSwKLSB7MTYsIDB4YzkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAyLDB4NzAsMHg0MCwweDljLDB4MTEgfX0sCi0gezE2LCAweGM5MTAsIDAsIHsweDY3LDB4MDQsMHgxOSwweGMzLDB4MDIsMHg3MCwweDQwLDB4OWMsMHgxMCwweDI3LDB4MDQsMHgwOSwweGMxLDB4MDIsMHg3MCwweDQwIH19LAotIHsxNiwgMHhjOTIwLCAwLCB7MHgxYywweDEwLDB4MjcsMHgxNCwweDAxLDB4YzEsMHgwMiwweDcwLDB4NDAsMHg5YywweDUwLDB4MDcsMHgwNCwweDA5LDB4YzEsMHgwMiB9fSwKLSB7MTYsIDB4YzkzMCwgMCwgezB4NzAsMHg0MCwweDljLDB4MTAsMHg2NywweDE0LDB4MTEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGM5NDAsIDAsIHsweDAwLDB4MDAsMHgwNCwweDA1LDB4NzEsMHgwMSwweDVjLDB4NDAsMHg1NywweDEwLDB4MTUsMHhjNCwweDA1LDB4NzEsMHgwMSwweDVjIH19LAotIHsxNiwgMHhjOTUwLCAwLCB7MHg0MCwweDU3LDB4MTAsMHgxNSwweGM2LDB4MDUsMHg3MSwweDAxLDB4NWMsMHg0MCwweDU3LDB4MTAsMHgxMCwweGM0LDB4MDUsMHg3MSB9fSwKLSB7MTYsIDB4Yzk2MCwgMCwgezB4MDEsMHg1YywweDY0LDB4MDMsMHgxMCwweDU1LDB4YzQsMHgwNSwweDcxLDB4MDEsMHg1YywweDQwLDB4NTcsMHgxMCwweDE1LDB4YzAgfX0sCi0gezE2LCAweGM5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHgwMSwweDIwLDB4ODAsMHg0OCwweDIwIH19LAotIHsxNiwgMHhjOTgwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjEsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MCwweDAxLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4Yzk5MCwgMCwgezB4NDgsMHgyMCwweDEyLDB4MDgsMHgwNSwweGMyLDB4MDEsMHgyMCwweDgwLDB4NDgsMHgyNCwweDE3LDB4MDgsMHgwNCwweDgyLDB4MDEgfX0sCi0gezE2LCAweGM5YTAsIDAsIHsweDIwLDB4ODAsMHg0OCwweDIwLDB4MTIsMHgwOCwweDA0LDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODQsMHgwMCwweDYwLDB4MDAsMHgxOCB9fSwKLSB7MTYsIDB4YzljMCwgMCwgezB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMSwweDE4LDB4MDAsMHgwNiwweDEwLDB4OTEsMHg4MCwweDAwLDB4NjAgfX0sCi0gezE2LCAweGM5ZDAsIDAsIHsweDAwLDB4MTgsMHg0NiwweDQ2LDB4MTgsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MTAsMHgwMSwweDgwIH19LAotIHsxNiwgMHhjOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDQsMHg3MywweDAxLDB4MWMsMHg4MCB9fSwKLSB7MTYsIDB4YzlmMCwgMCwgezB4MDcsMHgyMCwweDAxLDB4YzgsMHgwNCwweDcyLDB4MDEsMHgxYywweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDEgfX0sCi0gezE2LCAweGNhMDAsIDAsIHsweDFjLDB4ODAsMHg0NywweDIyLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDFjLDB4ODAsMHgwNywweDIwLDB4MTEsMHhjOCwweDA0IH19LAotIHsxNiwgMHhjYTEwLCAwLCB7MHg3MiwweDAxLDB4MWMsMHg4MCwweDA3LDB4MjgsMHgxMSwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2EyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHg2MCwweDAwLDB4MTgsMHgwMCwweDA2LDB4MDAsMHgwMSwweDgwLDB4MDAsMHg2MCwweDAwLDB4MTggfX0sCi0gezE2LCAweGNhMzAsIDAsIHsweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwLDB4MDAsMHgxOCwweDAwLDB4MDYsMHgwMCwweDAxLDB4ODAsMHgwMCwweDYwIH19LAotIHsxNiwgMHhjYTQwLCAwLCB7MHgwMCwweDE4LDB4MDAsMHg0NiwweDA0LDB4MDEsMHg4MCwweDAwLDB4NjAsMHgwMCwweDE4LDB4MDAsMHgwNiwweDAwLDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4Y2E1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDA0LDB4MjIsMHgwMSwweDA4LDB4ODAgfX0sCi0gezE2LCAweGNhNjAsIDAsIHsweDAyLDB4MjAsMHgwMCwweDkwLDB4MDQsMHgyNywweDgxLDB4MDgsMHg4MCwweDQyLDB4MjAsMHgxMCwweDk4LDB4MDQsMHgyNCwweDAxIH19LAotIHsxNiwgMHhjYTcwLCAwLCB7MHgwOCwweDgwLDB4NDIsMHg0OCwweDEwLDB4ODgsMHgwNCwweDIyLDB4MDEsMHgwOSwweDQwLDB4NDIsMHg2MCwweDEwLDB4ODgsMHgwNCB9fSwKLSB7MTYsIDB4Y2E4MCwgMCwgezB4MjIsMHgwMSwweDA4LDB4YzAsMHgwMiwweDQwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNhOTAsIDAsIHsweDAwLDB4MDAsMHgyYSwweDA0LDB4NGIsMHg4MSwweDEyLDB4YTAsMHgwNCwweGE4LDB4MDEsMHgyYSwweDA0LDB4NGEsMHg4MSwweDEyIH19LAotIHsxNiwgMHhjYWEwLCAwLCB7MHhhMCwweDQ0LDB4YTgsMHgxMSwweDJhLDB4MDQsMHg0OCwweDgwLDB4MTIsMHhhMCwweDQ0LDB4ODgsMHgwMSwweDJhLDB4MDQsMHg0YSB9fSwKLSB7MTYsIDB4Y2FiMCwgMCwgezB4ODEsMHgxMiwweDIwLDB4MDQsMHhhYywweDExLDB4MmEsMHgwNCwweDRhLDB4ODEsMHgxMiwweGIwLDB4NDQsMHg5YywweDExLDB4MDAgfX0sCi0gezE2LCAweGNhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweGMwLDB4MGMsMHgwMCwweDUzLDB4MDAsMHgxNCwweGMwIH19LAotIHsxNiwgMHhjYWQwLCAwLCB7MHgwNSwweDMwLDB4MDEsMHg0NCwweDAwLDB4NTMsMHgwMCwweDE0LDB4YzAsMHgwNSwweDMwLDB4MDQsMHgwYywweDAwLDB4NTMsMHgwMCB9fSwKLSB7MTYsIDB4Y2FlMCwgMCwgezB4MTQsMHhjMCwweDA1LDB4YjAsMHgwMSwweDRjLDB4MDAsMHg1MywweDAwLDB4MTYsMHhjMCwweDAxLDB4MzAsMHgwMSwweDRjLDB4MDAgfX0sCi0gezE2LCAweGNhZjAsIDAsIHsweDUzLDB4MDAsMHgxNCwweGMwLDB4MDEsMHgzOCwweDAwLDB4NDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYjAwLCAwLCB7MHgwOCwweGMwLDB4MDAsMHgxMCwweDQwLDB4MDAsMHgxMCwweDAwLDB4MDQsMHgwMCwweDAxLDB4MTAsMHgwMCwweDQ0LDB4ODAsMHgxMCB9fSwKLSB7MTYsIDB4Y2IxMCwgMCwgezB4MDAsMHgwNCwweDAwLDB4MDEsMHgxMCwweDAwLDB4NDYsMHgwMCwweDAwLDB4MDAsMHgwNCwweDYwLDB4MDEsMHgwMCwweDAwLDB4NDAgfX0sCi0gezE2LCAweGNiMjAsIDAsIHsweDAwLDB4MTEsMHg2MCwweDAyLDB4NDAsMHgwMSwweDAwLDB4MTAsMHg0MCwweDAwLDB4MTAsMHg2MCwweDAxLDB4NTAsMHgxMCwweDQwIH19LAotIHsxNiwgMHhjYjMwLCAwLCB7MHgzMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhjMCwweDQwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4Y2I0MCwgMCwgezB4MjAsMHgwMCwweDA4LDB4MDgsMHgwMiwweDAwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiNTAsIDAsIHsweDgwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAyIH19LAotIHsxNiwgMHhjYjYwLCAwLCB7MHgwMCwweDAwLDB4ODAsMHgwMCwweDIxLDB4MDAsMHgwOCwweDQwLDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2I3MCwgMCwgezB4MDgsMHhjMCwweDQwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAxLDB4MTggfX0sCi0gezE2LCAweGNiODAsIDAsIHsweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwLDB4MDEsMHhjOCwweDAwLDB4NDYsMHgwMCwweDE5LDB4ODAsMHgwMCwweDYwIH19LAotIHsxNiwgMHhjYjkwLCAwLCB7MHgwMCwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHgwNiwweDAwLDB4MTEsMHg4MCB9fSwKLSB7MTYsIDB4Y2JhMCwgMCwgezB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4MDEsMHgwMCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAgfX0sCi0gezE2LCAweGNiYjAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgxLDB4MDIsMHg2MCwweDAxLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgwOSwweDgwLDB4MDYsMHg2MiwweDAwIH19LAotIHsxNiwgMHhjYmMwLCAwLCB7MHg0OCwweDAwLDB4MjYsMHgyMCwweDAxLDB4YzAsMHgwMiwweDYwLDB4MDEsMHg5OCwweDAwLDB4MDcsMHgwMCwweDA5LDB4ODAsMHgwMiB9fSwKLSB7MTYsIDB4Y2JkMCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHgyNiwweDAwLDB4MTEsMHg4MiwweDEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNiZTAsIDAsIHsweDQwLDB4NDUsMHg0MiwweDA0LDB4MzAsMHg4MSwweDBjLDB4MjAsMHg0MywweDA4LDB4MTAsMHhjMiwweDA0LDB4MzAsMHg4NSwweDhjIH19LAotIHsxNiwgMHhjYmYwLCAwLCB7MHgyMCwweDQzLDB4MDgsMHgxMCwweGMyLDB4MDQsMHgzMCwweDgxLDB4MGMsMHgyMCwweDQzLDB4NDgsMHgxMSwweDgyLDB4MDQsMHgzMCB9fSwKLSB7MTYsIDB4Y2MwMCwgMCwgezB4ODEsMHg4ZCwweDIwLDB4NDYsMHgwOCwweDEwLDB4YzIsMHgwNCwweDMwLDB4ODEsMHgwYywweDIwLDB4NDMsMHgwYywweDEwLDB4YzAgfX0sCi0gezE2LCAweGNjMTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MDAsMHgwMCwweDMwLDB4MDAsMHgwYywweDAwIH19LAotIHsxNiwgMHhjYzIwLCAwLCB7MHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MTAsMHgwMCwweDBjLDB4MDAsMHgwMywweDAwLDB4MDAsMHhjMCwweDAwLDB4MzAsMHgwMCB9fSwKLSB7MTYsIDB4Y2MzMCwgMCwgezB4MDgsMHgwMCwweDAzLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgzMCwweDAwLDB4MGMsMHg4MCwweDAyLDB4MDAsMHgwMCwweGMwLDB4MDAgfX0sCi0gezE2LCAweGNjNDAsIDAsIHsweDMwLDB4MDAsMHgwYywweDAwLDB4MDMsMHgyMCwweDAwLDB4YzAsMHgxMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjYzUwLCAwLCB7MHg0MCwweDAwLDB4MDIsMHgwMCwweDMwLDB4ODAsMHgwYywweDIxLDB4MDMsMHgwOCwweDAwLDB4YzIsMHgwMCwweDMwLDB4ODAsMHgwYyB9fSwKLSB7MTYsIDB4Y2M2MCwgMCwgezB4MjAsMHgwMywweDA4LDB4MDAsMHhjMiwweDA0LDB4MzAsMHhjMSwweDBjLDB4MjAsMHgwMywweDBjLDB4MTAsMHhjMiwweDAwLDB4MzAgfX0sCi0gezE2LCAweGNjNzAsIDAsIHsweDgwLDB4MGMsMHhiMCwweDQzLDB4MDgsMHgwMCwweGMyLDB4MDAsMHgzMCwweDgwLDB4MGMsMHgyMCwweDAzLDB4MjgsMHgxMCwweGMwIH19LAotIHsxNiwgMHhjYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDQsMHg2MCwweDgxLDB4MTgsMHgyMCB9fSwKLSB7MTYsIDB4Y2M5MCwgMCwgezB4NDYsMHgwOCwweDExLDB4ODIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDIwLDB4NDYsMHgwOCwweDExLDB4ODIsMHgwMCwweDYwLDB4ODEgfX0sCi0gezE2LCAweGNjYTAsIDAsIHsweDE4LDB4MjAsMHg0NiwweDA4LDB4MTEsMHg4MiwweDA0LDB4NjAsMHg4MCwweDE4LDB4MjAsMHgwNiwweDA4LDB4MTEsMHg4MiwweDA0IH19LAotIHsxNiwgMHhjY2IwLCAwLCB7MHg2MCwweDgxLDB4MTgsMHgyMCwweDQ2LDB4MGMsMHgxMSwweGMwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2NjMCwgMCwgezB4NDAsMHgwMSwweDQyLDB4MDAsMHgyMCwweDgwLDB4MDgsMHgyMCwweDAyLDB4MDgsMHgwMCwweDgyLDB4MDAsMHgyMCwweDgwLDB4MDggfX0sCi0gezE2LCAweGNjZDAsIDAsIHsweDIwLDB4MDIsMHgwOCwweDAwLDB4ODIsMHgwMCwweDIwLDB4ODAsMHgwYywweDIwLDB4MDIsMHgwOCwweDAwLDB4YzIsMHgwMCwweDIwIH19LAotIHsxNiwgMHhjY2UwLCAwLCB7MHg4MCwweDA4LDB4MjAsMHg0MiwweDA4LDB4MDAsMHg4MiwweDAwLDB4MjAsMHg4MCwweDA4LDB4MjAsMHgwMiwweDA4LDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4Y2NmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDUwLDB4MDEsMHg0MiwweDA0LDB4NjAsMHg4MSwweDE4LDB4MjAgfX0sCi0gezE2LCAweGNkMDAsIDAsIHsweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDQsMHg2MCwweDgwLDB4MTgsMHgyMCwweDQ2LDB4MDgsMHgxMSwweDgyLDB4MDAsMHg2MCwweGMxIH19LAotIHsxNiwgMHhjZDEwLCAwLCB7MHgwYywweDIwLDB4NDYsMHgwYywweDEwLDB4YzIsMHgwNCwweDYwLDB4ODAsMHgxOCwweDMwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCB9fSwKLSB7MTYsIDB4Y2QyMCwgMCwgezB4NjAsMHg4MSwweDE4LDB4MjAsMHg0NiwweDA4LDB4MTAsMHg4MCwweDAwLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNkMzAsIDAsIHsweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDAsMHg0NSwweDAwLDB4MTEsMHg0MCwweDA0LDB4NTAsMHgwMCwweDE0IH19LAotIHsxNiwgMHhjZDQwLCAwLCB7MHgwMCwweDQ1LDB4MDAsMHgxMSwweDQwLDB4MDAsMHg1MCwweDAwLDB4MDQsMHgwMCwweDQ1LDB4MDAsMHgwMCwweDQwLDB4MDQsMHg1MCB9fSwKLSB7MTYsIDB4Y2Q1MCwgMCwgezB4MDAsMHgxNCwweDAwLDB4MDEsMHgwMCwweDExLDB4NDAsMHgwNCwweDUwLDB4MDEsMHgxNCwweDAwLDB4NDUsMHgwMCwweDAwLDB4NDIgfX0sCi0gezE2LCAweGNkNjAsIDAsIHsweDAxLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0OCwweDAwLDB4MDYsMHgwMCwweDQxLDB4ODAsMHgxMCwweDYwIH19LAotIHsxNiwgMHhjZDcwLCAwLCB7MHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCwweDEwLDB4NjAsMHgwNCwweDE4LDB4MDEsMHgwNiwweDAwLDB4NDEsMHg4MCB9fSwKLSB7MTYsIDB4Y2Q4MCwgMCwgezB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAsMHg0MSwweDgwLDB4MTAsMHg2MCwweDA0LDB4MTgsMHgwMSwweDA2LDB4MDAgfX0sCi0gezE2LCAweGNkOTAsIDAsIHsweDQxLDB4ODAsMHgxMCwweDYwLDB4MDQsMHgxOCwweDAxLDB4MDAsMHgxMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZGEwLCAwLCB7MHg0OCwweDAwLDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCwweDIxLDB4MTAsMHgwOCwweDA0LDB4MDIsMHgwMSwweDAwLDB4ODAsMHg0MCB9fSwKLSB7MTYsIDB4Y2RiMCwgMCwgezB4MjAsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAsMHg4MCwweDQwLDB4MjEsMHgxMCwweDA4LDB4MDQsMHgwMiwweDAxLDB4MDAgfX0sCi0gezE2LCAweGNkYzAsIDAsIHsweDgwLDB4NDAsMHgzMCwweDEwLDB4MDgsMHgwNCwweDAyLDB4MTEsMHgwMCwweDg0LDB4NDAsMHgyMCwweDEwLDB4MDgsMHgxNCwweDAwIH19LAotIHsxNiwgMHhjZGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQ2LDB4MDMsMHg1MSwweDgwLDB4ZDQsMHg2MCB9fSwKLSB7MTYsIDB4Y2RlMCwgMCwgezB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAsMHhkNCwweDYwLDB4MzUsMHgxOCwweDBkLDB4NDYsMHgwMywweDUxLDB4ODAgfX0sCi0gezE2LCAweGNkZjAsIDAsIHsweGQ0LDB4NjAsMHgzNSwweDEwLDB4MGQsMHg0NiwweDAzLDB4NTEsMHg4MCwweGQ0LDB4NDAsMHgzNSwweDE4LDB4MGQsMHg0NiwweDAzIH19LAotIHsxNiwgMHhjZTAwLCAwLCB7MHg1MSwweDgwLDB4ZDQsMHg2MCwweDM1LDB4MTgsMHgwZCwweDQwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2UxMCwgMCwgezB4MDAsMHgwMSwweDQ2LDB4MDQsMHg3MSwweDgxLDB4MWMsMHg2MCwweDA3LDB4MTgsMHgxMSwweGNlLDB4MDQsMHg3MSwweDgxLDB4MWMgfX0sCi0gezE2LCAweGNlMjAsIDAsIHsweDYwLDB4NDcsMHgxOCwweDAxLDB4YzYsMHgwNCwweDcxLDB4ODEsMHg5YywweDYwLDB4NDcsMHgxOCwweDE5LDB4YzYsMHgwNCwweDcxIH19LAotIHsxNiwgMHhjZTMwLCAwLCB7MHg4MCwweDFjLDB4NjAsMHg2NywweDE4LDB4MTEsMHhjNiwweDA0LDB4NzEsMHg4MSwweDFjLDB4NjAsMHg0NywweDE4LDB4MTEsMHhjMCB9fSwKLSB7MTYsIDB4Y2U0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHg0NiwweDAyLDB4NzEsMHg4MCwweDljLDB4NjAgfX0sCi0gezE2LCAweGNlNTAsIDAsIHsweDI3LDB4MTgsMHgwOSwweGM2LDB4MDYsMHg3MSwweDgwLDB4MWMsMHg2MCwweDI3LDB4MTgsMHgwOSwweGM2LDB4MDEsMHgzMSwweDgwIH19LAotIHsxNiwgMHhjZTYwLCAwLCB7MHgxYywweDYwLDB4MDcsMHgxOCwweDA5LDB4YzYsMHgwMiwweDcxLDB4ODAsMHg5YywweDYwLDB4MDcsMHgxOCwweDA5LDB4YzYsMHgxMiB9fSwKLSB7MTYsIDB4Y2U3MCwgMCwgezB4NzEsMHg4MCwweDljLDB4NjAsMHgzMywweDE4LDB4MDEsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNlODAsIDAsIHsweDUwLDB4NDUsMHg0NiwweDA1LDB4NzEsMHg4MSwweDVjLDB4NjAsMHg1NywweDE4LDB4MTUsMHhjNiwweDA1LDB4NzEsMHg4MCwweDVjIH19LAotIHsxNiwgMHhjZTkwLCAwLCB7MHg2MCwweDU3LDB4MTgsMHgxNSwweGM2LDB4MDEsMHgzMSwweDgxLDB4MGMsMHg2MCwweDE3LDB4MTgsMHgxMCwweGM2LDB4MDUsMHg3MSB9fSwKLSB7MTYsIDB4Y2VhMCwgMCwgezB4ODEsMHg1YywweDYwLDB4MDMsMHgxOCwweDE1LDB4YzYsMHgwNSwweDcxLDB4ODEsMHg1YywweDYwLDB4NTMsMHgxOCwweDE4LDB4ODIgfX0sCi0gezE2LCAweGNlYjAsIDAsIHsweDEwLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDQwLDB4MTIsMHgwMSwweDI0LDB4ODAsMHg0OCwweDIwIH19LAotIHsxNiwgMHhjZWMwLCAwLCB7MHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjQsMHg4MCwweDQ4LDB4MjAsMHgxMiwweDA4LDB4MDQsMHg4MiwweDAxLDB4MjAsMHg4MCB9fSwKLSB7MTYsIDB4Y2VkMCwgMCwgezB4NTgsMHgyMCwweDUyLDB4MGMsMHgwNSwweDgyLDB4MDEsMHgyMCwweDgwLDB4NDksMHgyMCwweDAyLDB4MDgsMHgwNCwweDgyLDB4MDEgfX0sCi0gezE2LCAweGNlZTAsIDAsIHsweDIwLDB4ODAsMHg0OSwweDIwLDB4MTIsMHg0OCwweDA0LDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhjZWYwLCAwLCB7MHg0MCwweDA0LDB4MDYsMHgwMCwweDYxLDB4ODAsMHgxOCwweDYwLDB4MDYsMHgxOCwweDAxLDB4ODYsMHgwNCwweDYxLDB4ODAsMHgxOCB9fSwKLSB7MTYsIDB4Y2YwMCwgMCwgezB4NjAsMHgwNiwweDE4LDB4MDEsMHg4NiwweDAwLDB4NjEsMHg4MSwweDQ4LDB4NjAsMHgwNiwweDE4LDB4MTQsMHg4NiwweDAwLDB4NjEgfX0sCi0gezE2LCAweGNmMTAsIDAsIHsweDgwLDB4MTgsMHg2MCwweDQyLDB4MTgsMHgwMSwweDg2LDB4MDAsMHg2MSwweDgwLDB4MTgsMHg2MCwweDA2LDB4MTgsMHgwMCwweDgwIH19LAotIHsxNiwgMHhjZjIwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0NSwweDYwLDB4MDQsMHg3OCwweDAxLDB4MWUsMHgwMCB9fSwKLSB7MTYsIDB4Y2YzMCwgMCwgezB4NDcsMHg4MCwweDExLDB4ZTgsMHgwMCwweDc4LDB4MDEsMHgxZSwweDAwLDB4NDcsMHg4MCwweDExLDB4ZTAsMHgwNCwweDc4LDB4MDEgfX0sCi0gezE2LCAweGNmNDAsIDAsIHsweDFlLDB4MDAsMHg0MywweDgwLDB4MTEsMHhlMCwweDA0LDB4NzgsMHgwMSwweDFlLDB4MDAsMHgwMywweDgwLDB4MTUsMHhlMCwweDA0IH19LAotIHsxNiwgMHhjZjUwLCAwLCB7MHg3OCwweDAxLDB4MWUsMHgwMCwweDQ3LDB4ODAsMHgxMSwweGMwLDB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Y2Y2MCwgMCwgezB4NDAsMHgwMSwweDEyLDB4MDAsMHg2NCwweDgwLDB4MTgsMHgyMCwweDA2LDB4MDgsMHgwMSwweDgyLDB4MDAsMHg2NCwweDgwLDB4MTggfX0sCi0gezE2LCAweGNmNzAsIDAsIHsweDIwLDB4MDYsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwLDB4ODAsMHgxOCwweDMwLDB4MDIsMHgwOCwweDAxLDB4ODIsMHgwMCwweDYwIH19LAotIHsxNiwgMHhjZjgwLCAwLCB7MHg4MCwweDE5LDB4MzAsMHg0MiwweDA4LDB4MDAsMHg4MiwweDAwLDB4NjAsMHg4MCwweDE5LDB4MjAsMHgwNiwweDQ4LDB4MDEsMHg4MCB9fSwKLSB7MTYsIDB4Y2Y5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0MiwweDA0LDB4MjAsMHg4MSwweDA4LDB4MjAgfX0sCi0gezE2LCAweGNmYTAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDAsMHgyMCwweDgxLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMCwweDgxIH19LAotIHsxNiwgMHhjZmIwLCAwLCB7MHgwOCwweDIwLDB4NDYsMHgwOCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDIwLDB4NDIsMHgwOCwweDExLDB4ODIsMHgwNCB9fSwKLSB7MTYsIDB4Y2ZjMCwgMCwgezB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGNmZDAsIDAsIHsweDQwLDB4NDUsMHg0MiwweDA0LDB4NDAsMHg4MSwweDEwLDB4MjAsMHg0NCwweDA4LDB4MTEsMHgwMiwweDAwLDB4NDAsMHg4MSwweDEwIH19LAotIHsxNiwgMHhjZmUwLCAwLCB7MHgyMCwweDQ0LDB4MDgsMHgxMSwweDAyLDB4MDQsMHg0MCwweDgwLDB4MTAsMHgyMCwweDQ1LDB4MDgsMHgwMSwweDAyLDB4MDQsMHg0MCB9fSwKLSB7MTYsIDB4Y2ZmMCwgMCwgezB4ODEsMHgxMCwweDIxLDB4MDAsMHgwYywweDExLDB4MDIsMHgwNCwweDQwLDB4ODEsMHgxMCwweDIwLDB4NDQsMHgwOCwweDAxLDB4MDAgfX0sCi0gezE2LCAweGQwMDAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDMsMHgwMCwweDUwLDB4YzAsMHgxNCwweDMwIH19LAotIHsxNiwgMHhkMDEwLCAwLCB7MHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCwweDE0LDB4MzAsMHgwNSwweDBjLDB4MDEsMHg0MywweDAwLDB4NTAsMHhjMCB9fSwKLSB7MTYsIDB4ZDAyMCwgMCwgezB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAsMHg1MCwweGMwLDB4MTQsMHgzMCwweDA1LDB4MGMsMHgwMSwweDQzLDB4MDAgfX0sCi0gezE2LCAweGQwMzAsIDAsIHsweDUwLDB4YzAsMHgxNCwweDMwLDB4MDUsMHgwYywweDAxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMDQwLCAwLCB7MHg0MCwweDAwLDB4MDgsMHgwMCwweDQyLDB4MDQsMHgxMCwweDgwLDB4MDQsMHgyMCwweDAxLDB4MDksMHgwMCwweDQyLDB4MDEsMHgxMCB9fSwKLSB7MTYsIDB4ZDA1MCwgMCwgezB4ODAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDIwLDB4MDEsMHgwOCwweDAwLDB4NDIgfX0sCi0gezE2LCAweGQwNjAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDA0LDB4MDAsMHgwMSwweDA4LDB4MDAsMHg0MiwweDAwLDB4MTAsMHg4MCwweDA0LDB4MjAsMHgxMSwweDAwIH19LAotIHsxNiwgMHhkMDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQyLDB4MDIsMHgwMCwweDgwLDB4ODAsMHgyMCB9fSwKLSB7MTYsIDB4ZDA4MCwgMCwgezB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMiwweDAwLDB4ODAsMHgwMCwweDIwLDB4MjAsMHgwOCwweDA4LDB4MDIsMHgwMCwweDAwLDB4ODAgfX0sCi0gezE2LCAweGQwOTAsIDAsIHsweDgwLDB4YTAsMHgwMCwweDBhLDB4MDgsMHgwMiwweDAyLDB4MDAsMHg4MCwweDgwLDB4MzQsMHg2MiwweDI4LDB4MDgsMHgwMiwweDAyIH19LAotIHsxNiwgMHhkMGEwLCAwLCB7MHgwMCwweDgwLDB4ODAsMHgzMCwweDIwLDB4MGMsMHgwOCwweDAwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDBiMCwgMCwgezB4NDAsMHgwMSwweDQwLDB4MDQsMHg2MCwweDAxLDB4MTgsMHgwMCwweDQ2LDB4MDAsMHgxMSwweDgwLDB4MDQsMHg2MCwweDAzLDB4MTggfX0sCi0gezE2LCAweGQwYzAsIDAsIHsweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNiwweDYwLDB4MDEsMHg5OCwweDAwLDB4NDYsMHgwMCwweDExLDB4ODAsMHgwNCwweDYwIH19LAotIHsxNiwgMHhkMGQwLCAwLCB7MHgwMSwweDE4LDB4MDAsMHg2NiwweDAwLDB4MTEsMHg4MCwweDA0LDB4NjAsMHgwMSwweDE4LDB4MDAsMHg0NiwweDAwLDB4MTEsMHg4MCB9fSwKLSB7MTYsIDB4ZDBlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHgwMCwweDAyLDB4NjAsMHgwMCwweDk4LDB4MDAgfX0sCi0gezE2LCAweGQwZjAsIDAsIHsweDI2LDB4MDAsMHgwOSwweDgwLDB4MDIsMHg2NCwweDAwLDB4OTgsMHgwMCwweDI2LDB4MDAsMHgxOSwweDkwLDB4MDIsMHg2MCwweDAwIH19LAotIHsxNiwgMHhkMTAwLCAwLCB7MHgxZCwweDAwLDB4MjYsMHgwMCwweDAxLDB4YzAsMHgwMiwweDYwLDB4MDAsMHg5OSwweDAwLDB4MDYsMHg0MCwweDE5LDB4ODAsMHgwMiB9fSwKLSB7MTYsIDB4ZDExMCwgMCwgezB4NjAsMHgwMCwweDk4LDB4MDAsMHg2NiwweDAwLDB4MDEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQxMjAsIDAsIHsweDQwLDB4NDUsMHg2MCwweDA0LDB4MzgsMHgwMSwweDBlLDB4MDAsMHg0MywweDgwLDB4MTAsMHhlMCwweDA0LDB4MzgsMHgwMSwweDBlIH19LAotIHsxNiwgMHhkMTMwLCAwLCB7MHgwMCwweDQzLDB4ODAsMHgxMCwweGUwLDB4MDQsMHgzOCwweDAxLDB4MWEsMHgwMCwweDQzLDB4ODAsMHgxMSwweGEwLDB4MDQsMHgzOCB9fSwKLSB7MTYsIDB4ZDE0MCwgMCwgezB4MDEsMHgwZSwweDAwLDB4MDIsMHg4MCwweDQwLDB4ZTAsMHgwNCwweDM4LDB4MDEsMHgwZSwweDAwLDB4NDMsMHg4MCwweDE4LDB4ODAgfX0sCi0gezE2LCAweGQxNTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg1MCwweDA0LDB4MDEsMHgwMCwweDMwLDB4NDAsMHgwYywweDEwIH19LAotIHsxNiwgMHhkMTYwLCAwLCB7MHgwMywweDA0LDB4MDAsMHhjOSwweDAwLDB4MzAsMHg0MCwweDBjLDB4MTAsMHgwMywweDA0LDB4MDAsMHhjMSwweDAwLDB4MzAsMHg0MCB9fSwKLSB7MTYsIDB4ZDE3MCwgMCwgezB4MDgsMHgxMCwweDAzLDB4MDQsMHgwMCwweDgxLDB4MDAsMHgzMCwweDQwLDB4MGMsMHg3OCwweDAyLDB4MTQsMHgwMCwweGMxLDB4MDAgfX0sCi0gezE2LCAweGQxODAsIDAsIHsweDMwLDB4NDAsMHgwYywweDEwLDB4MDMsMHgwNCwweDAwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMTkwLCAwLCB7MHg0MCwweDAwLDB4MDUsMHgwMCwweDMxLDB4NDAsMHgwYywweDUwLDB4MDMsMHgxNCwweDAwLDB4YzUsMHgwMCwweDM1LDB4NDAsMHgwYyB9fSwKLSB7MTYsIDB4ZDFhMCwgMCwgezB4NTAsMHgwMywweDE0LDB4MTAsMHhkNSwweDAwLDB4MzEsMHg0MSwweDBkLDB4NTAsMHgwMywweDE0LDB4MTAsMHhjNSwweDAwLDB4MzEgfX0sCi0gezE2LCAweGQxYjAsIDAsIHsweDQwLDB4MGQsMHg0OCwweDQzLDB4NTQsMHgxMCwweGM1LDB4MDAsMHgzMSwweDQwLDB4MGMsMHg0MCwweDQzLDB4MTAsMHgwMCwweGMyIH19LAotIHsxNiwgMHhkMWMwLCAwLCB7MHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDQzLDB4MDQsMHg2MCwweGMxLDB4MTgsMHgzMCB9fSwKLSB7MTYsIDB4ZDFkMCwgMCwgezB4NDYsMHgwYywweDExLDB4ODMsMHgwNCwweDYxLDB4YzEsMHgxOCwweDMwLDB4NDYsMHgwYywweDAxLDB4ODcsMHgwNCwweDYwLDB4YzEgfX0sCi0gezE2LCAweGQxZTAsIDAsIHsweDE4LDB4MzAsMHg0NiwweDA4LDB4MTEsMHg4MywweDA0LDB4NjAsMHhjMSwweDE4LDB4MjAsMHgwNiwweDBjLDB4MDEsMHg4MywweDA0IH19LAotIHsxNiwgMHhkMWYwLCAwLCB7MHg2MCwweGMxLDB4MTgsMHgzMCwweDQ2LDB4MGMsMHgxMSwweDgwLDB4MTAsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDIwMCwgMCwgezB4NDAsMHgwMSwweDQwLDB4MDAsMHgyMCwweDAwLDB4MDgsMHgwMCwweDAyLDB4MDAsMHgwMCwweDgwLDB4MDAsMHgyMCwweDAwLDB4MDggfX0sCi0gezE2LCAweGQyMTAsIDAsIHsweDAwLDB4MDIsMHgwMCwweDAwLDB4ODEsMHgwMCwweDIwLDB4MDAsMHgwOCwweDgwLDB4MDIsMHgwMCwweDAwLDB4YzAsMHgwMCwweDIwIH19LAotIHsxNiwgMHhkMjIwLCAwLCB7MHgwMCwweDA4LDB4NDAsMHg0MywweDMwLDB4MDAsMHg4MCwweDAwLDB4MjAsMHgwMCwweDA4LDB4MDAsMHgwMiwweDAwLDB4MDAsMHg4MCB9fSwKLSB7MTYsIDB4ZDIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDEsMHg0OCwweDQ0LDB4NjIsMHgxMSwweDE4LDB4ODQgfX0sCi0gezE2LCAweGQyNDAsIDAsIHsweDQ2LDB4MjEsMHgxMSwweDg4LDB4NDQsMHg2MywweDAxLDB4MTgsMHg4NCwweDQ2LDB4MjEsMHgwMSwweDg4LDB4MDQsMHg2MiwweDExIH19LAotIHsxNiwgMHhkMjUwLCAwLCB7MHgxOCwweDA0LDB4NDYsMHgyMSwweDEwLDB4YzgsMHg0NCwweDYyLDB4MTEsMHgxOCwweDA1LDB4NDMsMHgwMSwweDgxLDB4ODgsMHg0NCB9fSwKLSB7MTYsIDB4ZDI2MCwgMCwgezB4NjIsMHgxMSwweDE4LDB4ODQsMHg0NiwweDIxLDB4MTEsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQyNzAsIDAsIHsweDQwLDB4NDUsMHg0MCwweDA0LDB4NTAsMHgwMSwweDE0LDB4MDQsMHg0NSwweDAxLDB4MTEsMHg0MCwweDQ0LDB4NTAsMHgwMSwweDE0IH19LAotIHsxNiwgMHhkMjgwLCAwLCB7MHgwNCwweDQ1LDB4MDEsMHgwMSwweDQwLDB4NDUsMHgwMCwweDEwLDB4MTQsMHgwNCwweDQ1LDB4MDMsMHgwMCwweDQwLDB4NDQsMHg1MCB9fSwKLSB7MTYsIDB4ZDI5MCwgMCwgezB4MTEsMHgxNCwweDA0LDB4MDEsMHgwNSwweDQxLDB4NDAsMHg0NCwweDUwLDB4MTEsMHgxNCwweDA0LDB4MDUsMHgwMSwweDAxLDB4NDAgfX0sCi0gezE2LCAweGQyYTAsIDAsIHsweDExLDB4NTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHg0MCwweDAwLDB4MDgsMHgyMCwweDQyLDB4MDgsMHgxMCwweDgyIH19LAotIHsxNiwgMHhkMmIwLCAwLCB7MHgwNCwweDIwLDB4ODEsMHgwOCwweDAwLDB4NDIsMHgwMCwweDEwLDB4ODIsMHgwNCwweDIwLDB4ODEsMHgwOCwweDAwLDB4NDIsMHgwOCB9fSwKLSB7MTYsIDB4ZDJjMCwgMCwgezB4MTAsMHg4MiwweDA1LDB4MjAsMHg4MSwweDA4LDB4MjAsMHg0MiwweDA4LDB4MTAsMHg4YSwweDA1LDB4MjAsMHgwNSwweDA4LDB4MjAgfX0sCi0gezE2LCAweGQyZDAsIDAsIHsweDQyLDB4MDgsMHgxMCwweDgyLDB4MDQsMHgyMiwweDgxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkMmUwLCAwLCB7MHgwMCwweDAwLDB4MGEsMHgwMSwweDAyLDB4ODAsMHg0MCwweGEwLDB4MTAsMHgyOCwweDA0LDB4MDIsMHgwMSwweDAyLDB4ODAsMHg0MCB9fSwKLSB7MTYsIDB4ZDJmMCwgMCwgezB4YTAsMHgxMCwweDI4LDB4MDQsMHgwYSwweDAxLDB4MDIsMHg4MCwweDQwLDB4YTAsMHgwMCwweDI5LDB4MDQsMHgwYSwweDAxLDB4MDIgfX0sCi0gezE2LCAweGQzMDAsIDAsIHsweDgwLDB4NDAsMHhhNCwweDAwLDB4MjgsMHgwNCwweDBhLDB4MDEsMHgwMiwweDgwLDB4NDAsMHhhOCwweDEwLDB4MmIsMHgxNCwweDAwIH19LAotIHsxNiwgMHhkMzEwLCAwLCB7MHgwMCwweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4NDAsMHg0NSwweDRkLDB4MDMsMHg1MywweDQwLDB4ZDQsMHhkMCB9fSwKLSB7MTYsIDB4ZDMyMCwgMCwgezB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAsMHhkNCwweGQwLDB4MzUsMHgzNCwweDBkLDB4NGQsMHgwMywweDUzLDB4NDAgfX0sCi0gezE2LCAweGQzMzAsIDAsIHsweGQ0LDB4ZDAsMHgyMSwweDM0LDB4NGQsMHg0ZCwweDAzLDB4NTMsMHg0MCwweGQ0LDB4ZDksMHg2MSwweDM0LDB4MDQsMHgwZCwweDAzIH19LAotIHsxNiwgMHhkMzQwLCAwLCB7MHg1MywweDQwLDB4YzAsMHhkOCwweDM1LDB4MzcsMHgwZCwweDQwLDB4MTEsMHg1MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDM1MCwgMCwgezB4NDAsMHgwMSwweDQ4LDB4MDQsMHg3MiwweDAwLDB4MWMsMHg4MCwweDQ3LDB4MjAsMHgxMSwweGM4LDB4MDQsMHg3MiwweDAxLDB4MWMgfX0sCi0gezE2LCAweGQzNjAsIDAsIHsweDgwLDB4NDcsMHgyMCwweDExLDB4YzgsMHgwNCwweDcyLDB4MDAsMHg5YywweDgwLDB4NDcsMHgyMCwweDE5LDB4YzgsMHgwMCwweDcyIH19LAotIHsxNiwgMHhkMzcwLCAwLCB7MHgwMSwweDFjLDB4ODgsMHg2NywweDIwLDB4MTEsMHhjOCwweDA0LDB4NzIsMHgwMSwweDVjLDB4ODIsMHg0NywweDIyLDB4MTEsMHhjMCB9fSwKLSB7MTYsIDB4ZDM4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyMywweDA4LDB4NDgsMHhjMiwweDEyLDB4MzEgfX0sCi0gezE2LCAweGQzOTAsIDAsIHsweDg0LDB4OGMsMHg2MSwweDIzLDB4MTAsMHg0MCwweGMwLDB4MTIsMHgzMSwweDg0LDB4OGMsMHg2MSwweDAzLDB4MTAsMHg0OCwweGM0IH19LAotIHsxNiwgMHhkM2EwLCAwLCB7MHgxMCwweDMxLDB4ODQsMHg4YywweDQxLDB4MjMsMHgxOCwweDQ4LDB4YzYsMHgxMCwweDMwLDB4MDQsMHgwYywweDQxLDB4MjMsMHgxOCB9fSwKLSB7MTYsIDB4ZDNiMCwgMCwgezB4NDgsMHhjNiwweDEyLDB4MzAsMHg4NCwweDhjLDB4MDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQzYzAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzLDB4ZmYsMHhmNCwweGZmLDB4ZmQsMHgzZiwweGZmLDB4NGYsMHhmZiwweGQzIH19LAotIHsxNiwgMHhkM2QwLCAwLCB7MHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiwweGZmLDB4ZDMsMHhmZiwweGY0LDB4ZmYsMHhmZCwweDNmLDB4ZmYsMHg0ZiB9fSwKLSB7MTYsIDB4ZDNlMCwgMCwgezB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGRkLDB4M2YsMHhmZiwweDRmLDB4ZmYsMHhkMywweGZmLDB4ZjQsMHhmZiwweGZkLDB4MDAgfX0sCi0gezE2LCAweGQzZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDQxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ0MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNDMwLCAwLCB7MHgwMCwweDAwLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiwweGNkLDB4YjAsMHhiMywweDZjLDB4MmMsMHhkYiwweDBiLDB4MzYsMHhjMiB9fSwKLSB7MTYsIDB4ZDQ0MCwgMCwgezB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIsMHgzNiwweGMyLDB4Y2QsMHhiMCwweGIzLDB4NmMsMHgyYywweGRiLDB4MGIgfX0sCi0gezE2LCAweGQ0NTAsIDAsIHsweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg0YywweDJjLDB4ZGIsMHgwYiwweDM2LDB4YzIsMHhjZCwweGIwLDB4YjMsMHg2YywweDAwIH19LAotIHsxNiwgMHhkNDYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMzLDB4NWMsMHg0YywweGQ3LDB4MTMsMHgzMyB9fSwKLSB7MTYsIDB4ZDQ3MCwgMCwgezB4YzQsMHhjYywweGYxLDB4MzMsMHgzYSwweDRhLDB4ZDYsMHg5MywweDMzLDB4YzQsMHhjYywweGYxLDB4MmIsMHgzYSwweDRjLDB4Y2YgfX0sCi0gezE2LCAweGQ0ODAsIDAsIHsweDEzLDB4MzMsMHhjNCwweGNjLDB4ZTksMHgzMywweDNjLDB4NGMsMHhjZiwweDEyLDB4YjUsMHhhNCwweGFjLDB4YzksMHgzMywweDNjIH19LAotIHsxNiwgMHhkNDkwLCAwLCB7MHg0YywweGNmLDB4MTMsMHgzNSwweGM0LDB4Y2QsMHg2OSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDRhMCwgMCwgezB4MDAsMHgwMCwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMsMHhiNywweGU0LDB4ZWQsMHhmOSwweDNiLDB4N2UsMHg0ZSwweGRmLDB4OTMgfX0sCi0gezE2LCAweGQ0YjAsIDAsIHsweGI3LDB4ZTQsMHhlZCwweGY5LDB4M2IsMHg3ZSwweDRlLDB4ZGUsMHgxMiwweDM3LDB4ZTQsMHhlZCwweGUxLDB4M2IsMHg3ZSwweDRlIH19LAotIHsxNiwgMHhkNGMwLCAwLCB7MHhkZiwweDkyLDB4MzEsMHg4NCwweDhkLDB4ZDksMHgzYiwweDdlLDB4NGUsMHhkZiwweDkzLDB4YjEsMHhlNCwweGVjLDB4NjEsMHgwMCB9fSwKLSB7MTYsIDB4ZDRkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDg0LDB4MDQsMHhhMSwweDgzLDB4MmMgfX0sCi0gezE2LCAweGQ0ZTAsIDAsIHsweDAzLDB4MGEsMHgxMCwweDgyLDB4YzEsMHgzNCwweDEwLDB4OGYsMHgwMCwweDQwLDB4MDksMHgxNCwweDAyLDB4MDMsMHgxNCwweDkxIH19LAotIHsxNiwgMHhkNGYwLCAwLCB7MHgwMCwweDA4LDB4NDIsMHgwYiwweDE4LDB4ODIsMHhjNCwweDAwLDB4MzEsMHhjYSwweDBjLDB4NTIsMHgwMiwweDEwLDB4ODAsMHg4NSB9fSwKLSB7MTYsIDB4ZDUwMCwgMCwgezB4MDAsMHgyMSwweDgyLDB4MjgsMHg0MCwweDBhLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ1MTAsIDAsIHsweDAwLDB4MDAsMHgwYSwweDA0LDB4MDIsMHgwMSwweDQwLDB4ODAsMHg3MywweDI4LDB4MTAsMHg0OCwweDA3LDB4MDYsMHgwMSwweDA0IH19LAotIHsxNiwgMHhkNTIwLCAwLCB7MHhhNCwweDQxLDB4MjEsMHgxNCwweDA4LDB4NDQsMHgwNiwweDExLDB4NDAsMHg4MCwweDcwLDB4MjAsMHgxNCwweDBhLDB4MDQsMHgwMiB9fSwKLSB7MTYsIDB4ZDUzMCwgMCwgezB4MDAsMHhjOCwweDg0LDB4NDEsMHgyMSwweDFjLDB4MDgsMHgwNiwweDEyLDB4MDEsMHhjMCwweDgwLDB4NjAsMHgyMCwweDE0LDB4MDAgfX0sCi0gezE2LCAweGQ1NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDIsMHg4NCwweDA0LDB4MjEsMHg4MiwweDA4IH19LAotIHsxNiwgMHhkNTUwLCAwLCB7MHg1MywweDAyLDB4MTAsMHg4MCwweGM1LDB4MDAsMHg4MSwweDRhLDB4MDQsMHg0MiwweDAyLDB4MTQsMHgwMCwweDA0LDB4MjAsMHgyMSB9fSwKLSB7MTYsIDB4ZDU2MCwgMCwgezB4ODAsMHhhOCwweDcyLDB4MjIsMHgxYywweDg4LDB4YzQsMHgwNiwweGExLDB4NDIsMHg4YywweDUyLDB4MjIsMHgxYywweDg4LDB4ODUgfX0sCi0gezE2LCAweGQ1NzAsIDAsIHsweDI2LDB4MjEsMHhjMCwweDg4LDB4NTAsMHgyMiwweDE4LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNTgwLCAwLCB7MHgwMCwweDAwLDB4MDIsMHg0NCwweDAwLDB4MDEsMHgwMSwweDAwLDB4NjIsMHgwMCwweDEwLDB4MDAsMHgwNCwweDAwLDB4MDEsMHgwMSB9fSwKLSB7MTYsIDB4ZDU5MCwgMCwgezB4MjAsMHg0MCwweDAwLDB4MWMsMHgwMCwweDQ0LDB4MDQsMHgwMSwweDAyLDB4MjAsMHg2MiwweDAwLDB4MWMsMHg4MCwweDA0LDB4MDQgfX0sCi0gezE2LCAweGQ1YTAsIDAsIHsweDgwLDB4ODksMHgyMCwweDUwLDB4MDgsMHgxNCwweDgwLDB4MDQsMHgyNCwweDAxLDB4YzEsMHgwMCwweDUwLDB4MDAsMHgxOCwweDAwIH19LAotIHsxNiwgMHhkNWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4ODAsMHgzOCwweDIwLDB4MDQsMHgwYyB9fSwKLSB7MTYsIDB4ZDVjMCwgMCwgezB4MzEsMHgwYSwweDAwLDB4MDAsMHgwMiwweDE4LDB4MjAsMHg4YywweGE4LDB4MTAsMHgyOCwweDA4LDB4ODgsMHhjMSwweDE0LDB4MTAgfX0sCi0gezE2LCAweGQ1ZDAsIDAsIHsweGM2LDB4MDAsMHgyMiwweDAzLDB4MDgsMHgwMiwweDAxLDB4MDgsMHhiMCwweDAwLDB4MGMsMHgyMSwweDAyLDB4MDAsMHg4MiwweDgwIH19LAotIHsxNiwgMHhkNWUwLCAwLCB7MHgwOCwweDAwLDB4NDksMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDVmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDEsMHgwMCwweDgwLDB4MDgsMHgyMCwweDAzLDB4MDAsMHgwNCwweDAyLDB4NDMsMHgyMCwweDAwLDB4NDAgfX0sCi0gezE2LCAweGQ2MDAsIDAsIHsweDAwLDB4MjAsMHgwMCwweDA0LDB4NDIsMHgwMSwweDEwLDB4ODAsMHg4NCwweDIwLDB4MTEsMHgwOCwweDA0LDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNjEwLCAwLCB7MHgwMCwweDQ0LDB4MjQsMHgyMCwweDA5LDB4MDgsMHg0MCwweDAzLDB4MDAsMHg5MCwweGM0LDB4MjAsMHgyMCwweDA4LDB4MGMsMHgwMiB9fSwKLSB7MTYsIDB4ZDYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDgxLDB4MDgsMHgyMCwweDA0LDB4ODggfX0sCi0gezE2LCAweGQ2MzAsIDAsIHsweDAyLDB4MjIsMHgwOCwweDA4LDB4YzMsMHgyYSwweDkwLDB4NDAsMHg4NCwweDEwLDB4MjAsMHgwNCwweDgwLDB4YzIsMHgyNiwweDIwIH19LAotIHsxNiwgMHhkNjQwLCAwLCB7MHg0OSwweDg4LDB4MjIsMHgyMiwweDBjLDB4MDgsMHhjMSwweDI2LDB4YTAsMHhjOSwweDhjLDB4MTIsMHgyYSwweDA0LDB4ODgsMHg0MyB9fSwKLSB7MTYsIDB4ZDY1MCwgMCwgezB4MGUsMHhhMCwweGNiLDB4ODgsMHgxMCwweDIyLDB4MGMsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ2NjAsIDAsIHsweDA4LDB4MDAsMHgwYSwweDQwLDB4MzIsMHgwMCwweDAxLDB4ODAsMHgzMSwweDI4LDB4MDAsMHgwMCwweDAxLDB4MTIsMHg4MCwweDhkIH19LAotIHsxNiwgMHhkNjcwLCAwLCB7MHg4NCwweDAwLDB4MjgsMHgwYywweDA4LDB4MDEsMHgzMiwweDAwLDB4OGMsMHg4MCwweDAyLDB4MjAsMHgwYywweDA4LDB4MDEsMHgyZSB9fSwKLSB7MTYsIDB4ZDY4MCwgMCwgezB4MDAsMHhjMywweDgwLDB4MDIsMHgyMCwweDA0LDB4MDgsMHg0MywweDAyLDB4MDAsMHg0MCwweDgwLDB4MTAsMHgyMCwweDA0LDB4MDIgfX0sCi0gezE2LCAweGQ2OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDgsMHg4NywweDBhLDB4MjEsMHgwNCwweDg4IH19LAotIHsxNiwgMHhkNmEwLCAwLCB7MHgxMSwweDJhLDB4MWMsMHgwYSwweDA2LDB4MjIsMHgyMSwweDQwLDB4YTAsMHg0MiwweDJhLDB4MTAsMHg4OCwweDg1LDB4MGEsMHhhMSB9fSwKLSB7MTYsIDB4ZDZiMCwgMCwgezB4MDYsMHhhNCwweDYyLDB4MjIsMHgxYywweDBhLDB4YzQsMHgwMiwweDIxLDB4ODAsMHg4YywweDUyLDB4MjIsMHgxNCwweDQ4LDB4ODYgfX0sCi0gezE2LCAweGQ2YzAsIDAsIHsweDIyLDB4MjAsMHgwOCwweGE4LDB4NjAsMHgyYSwweDE0LDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkNmQwLCAwLCB7MHgwMCwweDAwLDB4MDgsMHg0NSwweDA2LDB4MDEsMHg4OSwweDgwLDB4NjMsMHgyMCwweDFjLDB4ODgsMHg0MCwweDM0LDB4MTEsMHgwMSB9fSwKLSB7MTYsIDB4ZDZlMCwgMCwgezB4YTQsMHg1MCwweDI4LDB4MTgsMHg0OCwweDA0LDB4MGUsMHgwMSwweDRiLDB4ODAsMHg3MywweDI4LDB4MWMsMHg4YSwweDA0LDB4MDYgfX0sCi0gezE2LCAweGQ2ZjAsIDAsIHsweDkxLDB4NDksMHgwNCwweDYzLDB4MjAsMHgxYywweDhhLDB4MDYsMHgyNiwweDAxLDB4ODUsMHg4MCwweDcwLDB4MjAsMHgxOCwweDAyIH19LAotIHsxNiwgMHhkNzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDAwLDB4ODUsMHgwMCwweGIxLDB4NDUsMHgyYyB9fSwKLSB7MTYsIDB4ZDcxMCwgMCwgezB4NzAsMHgwMiwweDE0LDB4YzAsMHgwNywweDA4LDB4MjEsMHg0OSwweDAwLDB4NDIsMHgwMSwweDE0LDB4ODIsMHgwNSwweDAwLDB4MTEgfX0sCi0gezE2LCAweGQ3MjAsIDAsIHsweDg0LDB4MDAsMHg1MiwweDAyLDB4MWMsMHgwMCwweGM0LDB4MDAsMHgyMSwweGM0LDB4MmMsMHg1MywweDAyLDB4MWMsMHgwMiwweDgxIH19LAotIHsxNiwgMHhkNzMwLCAwLCB7MHgwNCwweGExLDB4Y2QsMHgwOCwweDUwLDB4MDIsMHgxNCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDc0MCwgMCwgezB4MDgsMHgxMCwweDEyLDB4MDQsMHgzNCwweDAxLDB4Y2MsMHgwMCwweDczLDB4NDAsMHgxYywweDkwLDB4NDUsMHgwNCwweDAxLDB4NDggfX0sCi0gezE2LCAweGQ3NTAsIDAsIHsweDA0LDB4NjAsMHg0MSwweDE4LDB4YzAsMHg0NCwweDA0LDB4MDEsMHgwNSwweDA0LDB4NzMsMHg0OCwweDE0LDB4NTAsMHg0NywweDM0IH19LAotIHsxNiwgMHhkNzYwLCAwLCB7MHgwMSwweDQ1LDB4MjAsMHg2MiwweDA4LDB4MWMsMHhjMiwweDA0LDB4MGMsMHg4MSwweGM3LDB4MDAsMHg3MywweDgwLDB4MTgsMHhjMiB9fSwKLSB7MTYsIDB4ZDc3MCwgMCwgezB4MDQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgxMCwweDg0LDB4MTAsMHgyMSwweGNjLDB4MjggfX0sCi0gezE2LCAweGQ3ODAsIDAsIHsweDQyLDB4MDIsMHgxNCwweDEyLDB4YzUsMHgxMCwweDIxLDB4ODQsMHgwNCwweDQwLDB4MDAsMHgxYywweDgwLDB4ODQsMHgwMCwweDkxIH19LAotIHsxNiwgMHhkNzkwLCAwLCB7MHgwMCwweDA4LDB4NzMsMHg4MiwweDFjLDB4OTAsMHgwNSwweDBjLDB4MDEsMHhjZiwweDBjLDB4NDAsMHgwMiwweDE0LDB4MzAsMHg0NSB9fSwKLSB7MTYsIDB4ZDdhMCwgMCwgezB4MjAsMHhhMSwweGMwLDB4MDgsMHg1MCwweDAyLDB4MTAsMHgwMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDQ1LDB4MGMsMHg4MSwweDAwLDB4MDAsMHgwMSwweDA4LDB4MDgsMHgwMCwweDA1LDB4MTgsMHg5MSwweDA1IH19LAotIHsxNiwgMHhkN2MwLCAwLCB7MHgwNCwweDAwLDB4MDEsMHgwNCwweDQwLDB4MDYsMHgxOCwweDAwLDB4MDIsMHgyNCwweDcwLDB4NDAsMHgwNCwweDAwLDB4NDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDdkMCwgMCwgezB4MDEsMHhjNCwweDI0LDB4MDAsMHg4OCwweDA0LDB4MDAsMHg0MywweDEwLDB4MDAsMHg0MCwweDIwLDB4MDAsMHg4OCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ3ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTIsMHg4NSwweDI0LDB4MzEsMHgwMiwweDBjIH19LAotIHsxNiwgMHhkN2YwLCAwLCB7MHgwMiwweGMyLDB4MDQsMHgxMCwweGM0LDB4MjgsMHgyMSwweDQ5LDB4MGMsMHgwMiwweGMwLDB4MDQsMHhiMiwweDA2LDB4MWMsMHgyMCB9fSwKLSB7MTYsIDB4ZDgwMCwgMCwgezB4MDMsMHgwOCwweDUwLDB4NDIsMHgwYywweDgwLDB4MDEsMHgwNCwweGExLDB4NDksMHgwYywweDAwLDB4YzIsMHgwYywweDEwLDB4NDMgfX0sCi0gezE2LCAweGQ4MTAsIDAsIHsweDI0LDB4YTAsMHhjMSwweDA4LDB4MTAsMHg0MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODIwLCAwLCB7MHgwMCwweDEwLDB4YTIsMHgwMCwweDIwLDB4MDAsMHhjZCwweDAwLDB4MDAsMHg0MCwweDA0LDB4MjAsMHgwMSwweDEwLDB4MDAsMHgwOSB9fSwKLSB7MTYsIDB4ZDgzMCwgMCwgezB4MDQsMHgwMiwweDQ5LDB4MGMsMHg5MiwweDA3LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgzMywweDA4LDB4MGMsMHg5MiwweDQxLDB4MDAgfX0sCi0gezE2LCAweGQ4NDAsIDAsIHsweDgwLDB4Y2MsMHgwMCwweDAwLDB4MDAsMHgwYywweDAwLDB4NDMsMHgyOCwweDgwLDB4YzIsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkODUwLCAwLCB7MHgwNCwweDIwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDMwLDB4MTAsMHg1MCwweDgwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg2MCwgMCwgezB4MTAsMHgwMCwweDAwLDB4ZjAsMHgwMCwweDEwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHg4MCwweDAwLDB4ZDAsMHg4MCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGQ4NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg5MCwweDgwIH19LAotIHsxNiwgMHhkODgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4YzAsMHgxMCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDg5MCwgMCwgezB4M2MsMHgzYywweDEwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4YTAsMHg4MCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ4YTAsIDAsIHsweDAwLDB4MDAsMHg0MCwweDEwLDB4OTAsMHg4MCwweGEwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHhjMCwweDEwLDB4OTAsMHg4MCwweGEwIH19LAotIHsxNiwgMHhkOGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgyMCwweDgwLDB4MTAsMHg5MCwweGEwLDB4YTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDgwLDB4MTAsMHg4ZiB9fSwKLSB7MTYsIDB4ZDhjMCwgMCwgezB4MGYsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyYywweGMyLDB4ZTQsMHg4MSwweDgwLDB4M2YgfX0sCi0gezE2LCAweGQ4ZDAsIDAsIHsweGQ5LDB4YmYsMHhkOSwweDk4LDB4NzEsMHg5ZCwweDQyLDB4ODAsMHgwMCwweDI2LDB4N2YsMHhlNiwweDcyLDB4YWIsMHg3YywweDNhIH19LAotIHsxNiwgMHhkOGUwLCAwLCB7MHg0MCwweDAwLDB4MTksMHg4MCwweDI2LDB4NDgsMHhkZCwweDNjLDB4OTEsMHhjMCwweDI2LDB4NDAsMHgyNiwweDQwLDB4MzgsMHgzMSB9fSwKLSB7MTYsIDB4ZDhmMCwgMCwgezB4ZGIsMHg2MSwweGMwLDB4MTksMHg5OSwweGJmLDB4YzksMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGQ5MDAsIDAsIHsweDAwLDB4MDAsMHgxMCwweDgwLDB4MTAsMHgxNCwweDgwLDB4MDYsMHg4NCwweDk3LDB4OTYsMHg4NiwweDk2LDB4MDYsMHg5MCwweDAwIH19LAotIHsxNiwgMHhkOTEwLCAwLCB7MHgzZiwweGExLDB4MjgsMHgwMSwweDAyLDB4OTAsMHgxMiwweDAwLDB4ODAsMHgxNywweDg4LDB4MTYsMHg5ZSwweDkwLDB4OTAsMHgwNCB9fSwKLSB7MTYsIDB4ZDkyMCwgMCwgezB4MTAsMHgwMCwweDM2LDB4YmUsMHhiZSwweDllLDB4ODYsMHgxNiwweDEyLDB4ODQsMHg4MCwweDEzLDB4YmUsMHg5NywweGFlLDB4ODAgfX0sCi0gezE2LCAweGQ5MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDgyIH19LAotIHsxNiwgMHhkOTQwLCAwLCB7MHg4MSwweDg0LDB4MjEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YTEsMHgzOCwweDAxLDB4NzgsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDk1MCwgMCwgezB4MDgsMHhiOCwweDIxLDB4NzIsMHg2OCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHg5OCwweDQ0LDB4ODgsMHg2OCwweDgwLDB4MDAgfX0sCi0gezE2LCAweGQ5NjAsIDAsIHsweDAwLDB4MDAsMHgwOCwweGI4LDB4MDEsMHg3OCwweDAxLDB4NDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOTcwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmNywweGFmLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4ZDk4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGQ5OTAsIDAsIHsweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkOWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZDliMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGQ5YzAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH19LAotIHsxNiwgMHhkOWQwLCAwLCB7MHgyZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZDllMCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweDdmLDB4YzAgfX0sCi0gezE2LCAweGQ5ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmIH19LAotIHsxNiwgMHhkYTAwLCAwLCB7MHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHg3ZiwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGExMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGRhMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhiZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZGYsMHhiZiwweGRmIH19LAotIHsxNiwgMHhkYTMwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhlZiwweGZmLDB4ZmYsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhkZiB9fSwKLSB7MTYsIDB4ZGE0MCwgMCwgezB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhNTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweDNlLDB4YWYsMHhmZiwweGMwIH19LAotIHsxNiwgMHhkYTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZmYsMHhkZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZTcsMHhmZSB9fSwKLSB7MTYsIDB4ZGE3MCwgMCwgezB4ZWYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZGYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRhODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkYTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgyZiwweGY3LDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZGFhMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZmYsMHhmZiwweGRmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcgfX0sCi0gezE2LCAweGRhYjAsIDAsIHsweGRmLDB4ZjcsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYWMwLCAwLCB7MHgwMCwweDAwLDB4MDIsMHhjNCwweDAwLDB4YjEsMHhjMywweDJjLDB4NTAsMHgwOSwweDE0LDB4ODIsMHhjNCwweDMwLDB4OTEsMHhjNyB9fSwKLSB7MTYsIDB4ZGFkMCwgMCwgezB4MjQsMHg2MCwweDA4LDB4MWMsMHg4MiwweDA3LDB4MzQsMHg5MSwweDRjLDB4MDQsMHg0MywweDBhLDB4MTAsMHhjMiwweDg0LDB4MDQgfX0sCi0gezE2LCAweGRhZTAsIDAsIHsweDkxLDB4ODQsMHgyNCwweDUyLDB4MGIsMHgxOCwweDAyLDB4YzQsMHgyNCwweGIxLDB4YzMsMHgyYywweDQwLDB4MGEsMHgxMCwweDgwIH19LAotIHsxNiwgMHhkYWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDUsMHgwMiwweDAxLDB4YzQsMHg4MCB9fSwKLSB7MTYsIDB4ZGIwMCwgMCwgezB4NjAsMHgyMCwweDFjLDB4MDgsMHg0NCwweDIyLDB4MDEsMHhjMCwweDg0LDB4NTAsMHgwMSwweDljLDB4MDgsMHgwNywweDBhLDB4MDEgfX0sCi0gezE2LCAweGRiMTAsIDAsIHsweGMwLDB4ODQsMHg3MiwweDIwLDB4MWMsMHhjOCwweDA0LDB4MTIsMHgxMSwweDQ0LDB4ODAsMHg0MSwweDAxLDB4MWMsMHg4MCwweDA3IH19LAotIHsxNiwgMHhkYjIwLCAwLCB7MHgwOCwweDExLDB4YzQsMHgwMCwweDcwLDB4MDAsMHgxMCwweDAwLDB4MDAsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGIzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4ODYsMHgyYywweDIxLDB4NGEsMHgwYywweDUyLDB4MDIsMHgxYywweDgwLDB4MDQsMHgyMCwweDIxLDB4Y2EgfX0sCi0gezE2LCAweGRiNDAsIDAsIHsweDEwLDB4NjIsMHgwMiwweDFjLDB4ODEsMHg0NywweDA0LDB4MjEsMHhjMywweDIwLDB4NTEsMHgwMSwweDFjLDB4ODAsMHgwNCwweDJjIH19LAotIHsxNiwgMHhkYjUwLCAwLCB7MHgwMSwweGNiLDB4MDQsMHg1MiwweDAzLDB4MTQsMHg0MCwweGM3LDB4MjAsMHgzMSwweGM4LDB4MGMsMHg1MCwweDIyLDB4MTAsMHg4MCB9fSwKLSB7MTYsIDB4ZGI2MCwgMCwgezB4MDEsMHgyMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA2LDB4MjAsMHgwMSwweDg5LDB4MDAgfX0sCi0gezE2LCAweGRiNzAsIDAsIHsweDUyLDB4MDAsMHgxNCwweDgwLDB4MDQsMHgyOCwweDAxLDB4NDUsMHgwNCwweDYyLDB4MDAsMHgxMCwweDgwLDB4NDYsMHgzMCwweDExIH19LAotIHsxNiwgMHhkYjgwLCAwLCB7MHgwZCwweDAwLDB4NDIsMHgwMSwweDE0LDB4YzAsMHg0NCwweDAwLDB4MTEsMHgwNSwweDAwLDB4NTAsMHgwMCwweDFjLDB4MDAsMHg0NCB9fSwKLSB7MTYsIDB4ZGI5MCwgMCwgezB4MjgsMHgwMSwweDQ5LDB4MDAsMHg3MCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiYTAsIDAsIHsweDAwLDB4MDAsMHgwOCwweGMwLDB4MDIsMHgzMCwweDBjLDB4OGMsMHgzMCwweDIyLDB4MDgsMHg4OCwweGMyLDB4MjYsMHgwMCwweDA4IH19LAotIHsxNiwgMHhkYmIwLCAwLCB7MHg4MCwweDIwLDB4MjIsMHgwYywweDg4LDB4ODEsMHgwMiwweDEwLDB4YzQsMHg4MCwweDEwLDB4MjIsMHgwYywweDA4LDB4NDAsMHgwMiB9fSwKLSB7MTYsIDB4ZGJjMCwgMCwgezB4MTAsMHg0OCwweDg4LDB4MDEsMHgyMywweDA0LDB4YzgsMHg0MiwweDAyLDB4MTAsMHg0NiwweDhjLDB4MTIsMHgyMiwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRiZDAsIDAsIHsweDAwLDB4MTAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4ODAsMHhjOCwweDIwIH19LAotIHsxNiwgMHhkYmUwLCAwLCB7MHgxMSwweDA5LDB4MDAsMHg4MCwweDQxLDB4MTAsMHg5MCwweDA4LDB4MjQsMHgzMCwweDA4LDB4MDQsMHg0MiwweDQxLDB4MDAsMHg5MCB9fSwKLSB7MTYsIDB4ZGJmMCwgMCwgezB4YzQsMHgyMCwweDAwLDB4MDgsMHgwNCwweDQyLDB4MDAsMHgxMCwweDgwLDB4NGMsMHgyMCwweDIzLDB4MDksMHgwNCwweGMyLDB4NDMgfX0sCi0gezE2LCAweGRjMDAsIDAsIHsweDMwLDB4ODAsMHg0MCwweDIwLDB4MTEsMHgwOCwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzEwLCAwLCB7MHgwOCwweDAwLDB4MDgsMHg4MSwweDAyLDB4MjAsMHhjOSwweDhjLDB4MTIsMHgyMCwweDA0LDB4NDgsMHg0MSwweDIyLDB4MDAsMHgwOSB9fSwKLSB7MTYsIDB4ZGMyMCwgMCwgezB4ODgsMHgzMCwweDIwLDB4MGMsMHg4OCwweDAzLDB4MGUsMHgwMCwweDQ5LDB4OGMsMHgxMCwweDIyLDB4MGMsMHg4OCwweDQwLDB4MmUgfX0sCi0gezE2LCAweGRjMzAsIDAsIHsweDAwLDB4YzksMHg4NCwweDEzLDB4MjEsMHgwNCwweGM4LDB4YzMsMHgyMiwweDAwLDB4Y2IsMHg4YywweDMyLDB4MjIsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkYzQwLCAwLCB7MHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHgwMCwweDA4LDB4MDEsMHgwMiwweDAwLDB4NGIsMHg4MCB9fSwKLSB7MTYsIDB4ZGM1MCwgMCwgezB4MzIsMHgyMSwweDA4LDB4ODgsMHg0MSwweDAyLDB4MTAsMHgwZiwweDgwLDB4MTAsMHgyMSwweDhjLDB4MDgsMHg0MSwweDAyLDB4MDAgfX0sCi0gezE2LCAweGRjNjAsIDAsIHsweDg3LDB4ODQsMHgxMCwweDIwLDB4MDQsMHg4OCwweDAwLDB4MDIsMHgwMCwweDQ3LDB4ODAsMHgxMCwweDIxLDB4MGMsMHg4OCwweDQxIH19LAotIHsxNiwgMHhkYzcwLCAwLCB7MHgxNiwweDEwLDB4NDYsMHg4MCwweDMwLDB4MjAsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGM4MCwgMCwgezB4MDAsMHgwMCwweDBhLDB4YzQsMHgyMiwweGExLDB4MDgsMHhhNCwweDcyLDB4MmEsMHgxNCwweDBhLDB4ODUsMHgwMiwweDgxLDB4ODQgfX0sCi0gezE2LCAweGRjOTAsIDAsIHsweGEwLDB4NDIsMHgyOCwweDFjLDB4MGEsMHhjNSwweDAyLDB4OTEsMHg0MCwweGI4LDB4NzMsMHgyOSwweDEwLDB4Y2EsMHhjNCwweDAyIH19LAotIHsxNiwgMHhkY2EwLCAwLCB7MHhhMSwweDgwLDB4YTQsMHg0MiwweDJhLDB4MTQsMHhjYSwweDg1LDB4MjIsMHg5MSwweDgwLDB4YTgsMHg3MCwweDJhLDB4MTgsMHgwMiB9fSwKLSB7MTYsIDB4ZGNiMCwgMCwgezB4MDAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA4LDB4MDAsMHgwOCwweDA0LDB4MWUsMHgwMSwweGM4LDB4ODAgfX0sCi0gezE2LCAweGRjYzAsIDAsIHsweDQzLDB4MjAsMHgxOCwweDA4LDB4NDUsMHgzZSwweDAxLDB4MGMsMHg4MCwweDYxLDB4MjAsMHg5YywweDQ4LDB4MDYsMHgxMiwweDgxIH19LAotIHsxNiwgMHhkY2QwLCAwLCB7MHhjMCwweDgwLDB4NzMsMHgwMCwweDEwLDB4ODgsMHgwNiwweDAyLDB4MDEsMHhjOCwweDAwLDB4NDIsMHgyMCwweDEwLDB4YzgsMHgwNyB9fSwKLSB7MTYsIDB4ZGNlMCwgMCwgezB4MDIsMHgxMSwweGNkLDB4ODAsMHg1MSwweDIwLDB4MTQsMHg4MiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRjZjAsIDAsIHsweDA4LDB4MDAsMHgwMCwweGM0LDB4MjQsMHgyMSwweGM4LDB4MGMsMHg0MiwweDAxLDB4MTQsMHgwMCwweDAwLDB4MjgsMHgxMCwweDRjIH19LAotIHsxNiwgMHhkZDAwLCAwLCB7MHgwOCwweDUyLDB4MDIsMHgxNCwweDgwLDB4NDUsMHgyNCwweDI5LDB4NDAsMHgwNCwweDcyLDB4MDAsMHgxMCwweGMwLDB4MDUsMHgyNCB9fSwKLSB7MTYsIDB4ZGQxMCwgMCwgezB4MTEsMHg0NCwweDA4LDB4NDMsMHgwMSwweDE0LDB4YzAsMHg0NywweDI0LDB4MjAsMHg0OCwweDA4LDB4NzIsMHgwMiwweDEwLDB4MDAgfX0sCi0gezE2LCAweGRkMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDEwLDB4MDAsMHgwNywweDEwLDB4MTEsMHgwNiwweDAwIH19LAotIHsxNiwgMHhkZDMwLCAwLCB7MHg3MiwweDAwLDB4MTgsMHhkMCwweDQ2LDB4MjAsMHgwMSwweDRkLDB4MDAsMHg3MSwweDQwLDB4MTAsMHg1MCwweDA3LDB4MzAsMHgxMSB9fSwKLSB7MTYsIDB4ZGQ0MCwgMCwgezB4YzMsMHgwMCwweDcxLDB4NDEsMHgxMCwweGIwLDB4MDUsMHgyYywweDAxLDB4NDksMHgwMCwweDQzLDB4MDAsMHgxYywweDUwLDB4NDUgfX0sCi0gezE2LCAweGRkNTAsIDAsIHsweDMwLDB4MDEsMHg4YywweDAwLDB4NjEsMHg0MCwweDE4LDB4NDIsMHgwNCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZDYwLCAwLCB7MHgwMCwweDAwLDB4MzAsMHhjNSwweDAwLDB4MjEsMHhjMCwweDBjLDB4NDAsMHgwMSwweDE0LDB4MTIsMHg0NCwweDA0LDB4MzEsMHg4NCB9fSwKLSB7MTYsIDB4ZGQ3MCwgMCwgezB4MjQsMHg0MCwweDgwLDB4MTQsMHhhMSwweGM3LDB4MDAsMHgwMSwweDQwLDB4MDgsMHg0MCwweDAxLDB4MTQsMHgyMCwweDA1LDB4MjAgfX0sCi0gezE2LCAweGRkODAsIDAsIHsweDExLDB4YzAsMHgwMiwweDYwLDB4ODIsMHgxOCwweDAwLDB4ODcsMHgyNCwweDExLDB4NDAsMHgwOCwweDQwLDB4NDIsMHgxMCwweDAyIH19LAotIHsxNiwgMHhkZDkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAyLDB4MDAsMHgwYywweDgwLDB4YzQsMHgyNCB9fSwKLSB7MTYsIDB4ZGRhMCwgMCwgezB4MzEsMHg0OCwweDBjLDB4MDAsMHgwMSwweDA4LDB4YzEsMHg0MSwweDAwLDB4MDAsMHg0OSwweDAwLDB4NDIsMHgwMywweDA4LDB4MTAgfX0sCi0gezE2LCAweGRkYjAsIDAsIHsweDgwLDB4MjAsMHgyMSwweDA5LDB4MGMsMHgwMiwweDAyLDB4MTgsMHg4MCwweGMxLDB4MjQsMHgzMCwweDA4LDB4MGMsMHg0MiwweDAxIH19LAotIHsxNiwgMHhkZGMwLCAwLCB7MHgxMCwweDgwLDB4ODMsMHgyMCwweDExLDB4MDgsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGRkMCwgMCwgezB4MDAsMHgwMCwweDEwLDB4YzEsMHgwNCwweDIwLDB4NDgsMHgwYywweDEyLDB4NDIsMHgwNCwweDAwLDB4ODMsMHgwMCwweDMxLDB4NDggfX0sCi0gezE2LCAweGRkZTAsIDAsIHsweDAwLDB4MDIsMHg0MSwweDA0LDB4YTAsMHgwNywweDBjLDB4MjAsMHg0MCwweDAwLDB4MTIsMHhjMiwweDBjLDB4ODAsMHhjMSwweDIwIH19LAotIHsxNiwgMHhkZGYwLCAwLCB7MHgyMCwweGM4LDB4MDAsMHgxMiwweGMxLDB4MGMsMHhiMCwweDQxLDB4MjAsMHgwMCwweDQ5LDB4MDgsMHgwMiwweDQyLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGUwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg4MCwweDAxLDB4MDAsMHgxMCwweDgxLDB4MDAgfX0sCi0gezE2LCAweGRlMTAsIDAsIHsweDMwLDB4NDAsMHgwOCwweDIwLDB4MDMsMHgwMCwweDEwLDB4YzEsMHgyMCwweDAyLDB4MDAsMHgwNCwweDgwLDB4NDAsMHgzMCwweDkwIH19LAotIHsxNiwgMHhkZTIwLCAwLCB7MHgwMSwweDE0LDB4MDIsMHg0MCwweDA0LDB4ODAsMHg0MCwweDIwLDB4MDAsMHgwOSwweDA0LDB4MzIsMHgwMSwweDA4LDB4YTAsMHgwMyB9fSwKLSB7MTYsIDB4ZGUzMCwgMCwgezB4MDQsMHgxMCwweDA4LDB4MDAsMHgyMiwweDQwLDB4MDAsMHgwMCwweDA0LDB4MzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRlNDAsIDAsIHsweDAwLDB4MDAsMHgzMCwweDAwLDB4MTAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDQwLDB4MDAsMHhmMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTUwLCAwLCB7MHgwMCwweDEwLDB4ODAsMHgwMCwweGYwLDB4MDAsMHg4MCwweDgwLDB4MDAsMHgwMCwweDIwLDB4MDAsMHgwMCwweGYwLDB4MTAsMHhhMCB9fSwKLSB7MTYsIDB4ZGU2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MjAsMHgwMCwweDAwLDB4ZjAsMHgwMCwweDEwLDB4MDAsMHgwMCwweDAwLDB4MjAsMHg4MCwweDAwLDB4Y2MgfX0sCi0gezE2LCAweGRlNzAsIDAsIHsweDQwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzYywweDNjLDB4MTAsMHhhMCwweDgwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZTgwLCAwLCB7MHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4YzAsMHg0MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTAsMHg5MCwweDgwLDB4ODAsMHgwMCB9fSwKLSB7MTYsIDB4ZGU5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAsMHg4MCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxMCwweDkwLDB4ODAgfX0sCi0gezE2LCAweGRlYTAsIDAsIHsweGUwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDEwLDB4OGMsMHgwOCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZWIwLCAwLCB7MHgwMCwweDAwLDB4MDksMHg0ZCwweGIxLDB4ZTksMHgwMCwweDI2LDB4NDAsMHgyYSwweDdmLDB4ZTMsMHhmMiwweDU0LDB4OTgsMHhjMCB9fSwKLSB7MTYsIDB4ZGVjMCwgMCwgezB4M2YsMHhlNiwweDQwLDB4MDAsMHgwMSwweDQyLDB4OTEsMHhkMCwweGMwLDB4MTMsMHhlNSwweDg3LDB4NjMsMHg4MywweGI4LDB4Y2QgfX0sCi0gezE2LCAweGRlZDAsIDAsIHsweGY5LDB4MDAsMHgyNiwweDdmLDB4MDAsMHgwMCwweDM1LDB4MmUsMHhkNSwweDAzLDB4NDAsMHgzZiwweGQ5LDB4YmYsMHhiMSwweDgwIH19LAotIHsxNiwgMHhkZWUwLCAwLCB7MHgwMSwweGYwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4MDIsMHgxNiwweDE0LDB4MDAsMHgxYyB9fSwKLSB7MTYsIDB4ZGVmMCwgMCwgezB4YTgsMHgzZiwweDg4LDB4MTYsMHgwMCwweDgwLDB4ODQsMHg4MCwweDM3LDB4OWUsMHhiYSwweGEwLDB4NTAsMHgxMCwweDAyLDB4MTIgfX0sCi0gezE2LCAweGRmMDAsIDAsIHsweDAwLDB4MTcsMHg5NiwweDk3LDB4MjYsMHg1MCwweDEwLDB4MTAsMHg4MiwweDgwLDB4MWUsMHg4MCwweGRlLDB4YmUsMHg5NCwweDE0IH19LAotIHsxNiwgMHhkZjEwLCAwLCB7MHgwMiwweDEwLDB4ODAsMHgxNywweGJlLDB4ODEsMHg5NCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZGYyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDgsMHhhOCwweDQ0LDB4OTQsMHgyOCwweDgwLDB4MDAsMHgwMCwweDAwLDB4MDggfX0sCi0gezE2LCAweGRmMzAsIDAsIHsweDk0LDB4MjEsMHg0NCwweDUxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOCwweDg0LDB4NDIsMHg0MSwweDAxLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhkZjQwLCAwLCB7MHgwMCwweDA4LDB4YTEsMHg3MiwweDIzLDB4NDEsMHg0MCwweDAwLDB4MDAsMHgwMCwweDA4LDB4YjgsMHgwMSwweDc4LDB4MzIsMHg0MCB9fSwKLSB7MTYsIDB4ZGY1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAgfX0sCi0gezE2LCAweGRmNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDNmLDB4ZjcsMHhmZSwweGQ3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhkNywweGRmIH19LAotIHsxNiwgMHhkZjcwLCAwLCB7MHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweDdmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzcsMHg3ZiB9fSwKLSB7MTYsIDB4ZGY4MCwgMCwgezB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmOTAsIDAsIHsweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZSwweGZmLDB4ZGUsMHg3NywweGMwIH19LAotIHsxNiwgMHhkZmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDFmLDB4ZWYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiB9fSwKLSB7MTYsIDB4ZGZiMCwgMCwgezB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4N2YsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGRmYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwIH19LAotIHsxNiwgMHhkZmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgxZiwweGNmLDB4ZGYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhiZiB9fSwKLSB7MTYsIDB4ZGZlMCwgMCwgezB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGJmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYgfX0sCi0gezE2LCAweGRmZjAsIDAsIHsweGZmLDB4YmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDAwLCAwLCB7MHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCB9fSwKLSB7MTYsIDB4ZTAxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgxZiwweGZmLDB4MWYgfX0sCi0gezE2LCAweGUwMjAsIDAsIHsweDdmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDJmLDB4ZGYsMHhmZiwweGNmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMDMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4M2YsMHhiZiwweGFmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYgfX0sCi0gezE2LCAweGUwNTAsIDAsIHsweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGRlLDB4N2YsMHhmZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZiwweGZmIH19LAotIHsxNiwgMHhlMDYwLCAwLCB7MHhmZiwweGY3LDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTA3MCwgMCwgezB4MDAsMHgwMCwweDNmLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDNmLDB4N2YsMHhmZiwweGZmLDB4YzAgfX0sCi0gezE2LCAweGUwODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhjMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4M2YsMHhmZSwweGJlIH19LAotIHsxNiwgMHhlMDkwLCAwLCB7MHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzZSwweGZmLDB4ZDcsMHg3ZiwweGMwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTBkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUwZTAsIDAsIHsweDMwLDB4MDAsMHgyMCwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4NDMsMHg4ZSwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUxZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUyZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlMzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGUzZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlM2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU0ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU1ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU2ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTcwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTczMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlNzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTc5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU3ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlN2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTdmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTgyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlODcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTg4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZThlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU4ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTkxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTk3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTlhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZTlkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGU5ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlOWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWEwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWEzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWE5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVhZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWFmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWIyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYjcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWI4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYmQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWJlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGViZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWMxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWM3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlYzkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2MwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWNkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVjZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlY2YwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWQ5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVkZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWRmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWUyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWU4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWViMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWVlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVlZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWYxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDEsMHgwMiwweDAyLDB4MDAsMHgwMCwweDMwLDB4MDAsMHg0MywweDgwIH19LAotIHsxNiwgMHhlZjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWY3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZWZkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGVmZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhlZmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjAzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMDgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjA5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYwZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMGUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjBmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYxZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYyZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmMzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGYzZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmM2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNGQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjRlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY0ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjUxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjU3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNTkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjVkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY1ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNWYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjYzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNjgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjY5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY2ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNmUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjZmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjcyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3MzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3NjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmNzcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjc4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3OTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2EwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3YzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmN2QwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjdlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY3ZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjgxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4MjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4NTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjg3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmODkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4YjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjhkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY4ZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOGYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5MTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjkzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5NzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOTgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4Zjk5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5YTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjljMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGY5ZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmOWUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZjlmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmEyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhMzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYTcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmE4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhOTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFiMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhYzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYWQwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmFlMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZhZjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjAwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmIxMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiMjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI0MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiNTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmI3MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiODAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYjkwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJhMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiYjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmMwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmJkMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZiZTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYmYwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMwMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjMTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzIwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmMzMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzUwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM2MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjNzAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmYzgwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmM5MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2IwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNjMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZjZDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmY2UwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmNmMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMDAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDEwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQyMCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkMzAsIDAsIHsweDMwLDB4MDAsMHgwMCwweDAxLDB4MDAsMHgwMCwweDVmLDB4YTcsMHgzMCwweDAwLDB4ODAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAzIH19LAotIHsxNiwgMHhmZDQwLCAwLCB7MHgzMCwweDAwLDB4NDAsMHgwZSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCB9fSwKLSB7MTYsIDB4ZmQ1MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAgfX0sCi0gezE2LCAweGZkNjAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHsxNiwgMHhmZDcwLCAwLCB7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgzMCwweDAwLDB4ODAsMHgwMSB9fSwKLSB7MTYsIDB4ZmQ4MCwgMCwgezB4MDAsMHgwMCwweDAwLDB4MDUsMHgzMCwweDAwLDB4YTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MzAsMHgwMCwweDAwLDB4MDEgfX0sCi0gezE2LCAweGZkOTAsIDAsIHsweDAwLDB4MDAsMHg2YiwweDk3LDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHs0LCAweGZkYTAsIDAsIHsweDAwLDB4MDAsMHgwMCwweDAwIH19LAotIHswICwgMHgwMDAwLCAxLCB7MH19Ci19OwotLy8gVkVSU0lPTj0gMS4wLjAuMTkxCi0vLyBEQVRFPSAyMDAyb2N0MjgKLXN0YXRpYyBJTlRFTF9IRVhfUkVDT1JEIGdfSGV4U3BkaWZGdzYyW10gPSB7Ci0gIHszLDB4MDAwMCwwLHsweDAyLDB4NDUsMHhmOX19LAotIHsgMywweDAwMDMsMCx7MHgwMiwweDBmLDB4ZmR9fSwKLSB7IDMsMHgwMDBiLDAsezB4MDIsMHg0ZCwweDlifX0sCi0geyAzLDB4MDAxMywwLHsweDAyLDB4MTcsMHhmZH19LAotIHsgMywweDAwMWIsMCx7MHgwMiwweDRkLDB4OWV9fSwKLSB7IDMsMHgwMDIzLDAsezB4MDIsMHg0ZCwweDc1fX0sCi0geyAzLDB4MDAyYiwwLHsweDAyLDB4NDYsMHhmN319LAotIHsgMywweDAwMzMsMCx7MHgwMiwweDRkLDB4NmN9fSwKLSB7IDMsMHgwMDNiLDAsezB4MDIsMHg0ZCwweDdjfX0sCi0geyAzLDB4MDA0MywwLHsweDAyLDB4NDksMHgwMH19LAotIHsgMywweDAwNGIsMCx7MHgwMiwweDRkLDB4OGZ9fSwKLSB7IDMsMHgwMDUzLDAsezB4MDIsMHg0ZCwweDgzfX0sCi0geyAzLDB4MDA1YiwwLHsweDAyLDB4NGQsMHg4OX19LAotIHsgMywweDAwNjMsMCx7MHgwMiwweDRkLDB4OTN9fSwKLSB7MTYsMHgwNTAwLDAsezB4MTIsMHgwMSwweDEwLDB4MDEsMHgwMCwweDAwLDB4MDAsMHg0MCwweDZhLDB4MDgsMHgxMSwweDAxLDB4MDAsMHgwMSwweDAxLDB4MDJ9fSwKLSB7MTYsMHgwNTEwLDAsezB4MDAsMHgwMSwweDA5LDB4MDIsMHhhYywweDAxLDB4MDMsMHgwMSwweDAwLDB4ODAsMHgzMiwweDA5LDB4MDQsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwNTIwLDAsezB4MDEsMHgwMSwweDAwLDB4MDAsMHgwYSwweDI0LDB4MDEsMHgwMCwweDAxLDB4NTYsMHgwMCwweDAyLDB4MDEsMHgwMiwweDBjLDB4MjR9fSwKLSB7MTYsMHgwNTMwLDAsezB4MDIsMHgwMSwweDAxLDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwZCwweDI0LDB4MDYsMHgwNSwweDAxLDB4MDJ9fSwKLSB7MTYsMHgwNTQwLDAsezB4MDMsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwOSwweDI0LDB4MDMsMHgwMiwweDA0LDB4MDMsMHgwMCwweDA1LDB4MDB9fSwKLSB7MTYsMHgwNTUwLDAsezB4MGMsMHgyNCwweDAyLDB4MDMsMHgwNSwweDAyLDB4MDAsMHgwNiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MTUsMHgyNCwweDA2LDB4MDZ9fSwKLSB7MTYsMHgwNTYwLDAsezB4MDMsMHgwMiwweDAwLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDAsMHgwMywweDAwLDB4MDMsMHgwMCwweDAzLDB4MDB9fSwKLSB7MTYsMHgwNTcwLDAsezB4MDAsMHgwOSwweDI0LDB4MDMsMHgwNCwweDAxLDB4MDEsMHgwMCwweDA2LDB4MDAsMHgwOSwweDA0LDB4MDEsMHgwMCwweDAwLDB4MDF9fSwKLSB7MTYsMHgwNTgwLDAsezB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAxLDB4MDEsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDF9fSwKLSB7MTYsMHgwNTkwLDAsezB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDEsMHgwMiwweDAyLDB4MTAsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmJ9fSwKLSB7MTYsMHgwNWEwLDAsezB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4MGEsMHgwNSwweDg0LDB4MDEsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDF9fSwKLSB7MTYsMHgwNWIwLDAsezB4MDEsMHgwMCwweDAwLDB4MDAsMHgwOSwweDA1LDB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA1LDB4MDAsMHgwOSwweDA0LDB4MDF9fSwKLSB7MTYsMHgwNWMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDJ9fSwKLSB7MTYsMHgwNWQwLDAsezB4MDEsMHgwMiwweDAzLDB4MTgsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDV9fSwKLSB7MTYsMHgwNWUwLDAsezB4MGEsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4OGYsMHgwNywweDI1LDB4MDEsMHgwMSwweDAwLDB4MDAsMHgwMCwweDA5LDB4MDV9fSwKLSB7MTYsMHgwNWYwLDAsezB4OGYsMHgwMSwweDAzLDB4MDAsMHgwMSwweDA1LDB4MDAsMHgwOSwweDA0LDB4MDIsMHgwMCwweDAwLDB4MDEsMHgwMiwweDAwLDB4MDB9fSwKLSB7MTYsMHgwNjAwLDAsezB4MDksMHgwNCwweDAyLDB4MDEsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDB9fSwKLSB7MTYsMHgwNjEwLDAsezB4MGUsMHgyNCwweDAyLDB4MDEsMHgwNiwweDAyLDB4MTAsMHgwMiwweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDA5LDB4MDV9fSwKLSB7MTYsMHgwNjIwLDAsezB4OGMsMHgwNSwweDRjLDB4MDIsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA5LDB4MDR9fSwKLSB7MTYsMHgwNjMwLDAsezB4MDIsMHgwMiwweDAxLDB4MDEsMHgwMiwweDAwLDB4MDAsMHgwNywweDI0LDB4MDEsMHgwNCwweDAwLDB4MDEsMHgwMCwweDBlLDB4MjR9fSwKLSB7MTYsMHgwNjQwLDAsezB4MDIsMHgwMSwweDA2LDB4MDMsMHgxOCwweDAyLDB4NDQsMHhhYywweDAwLDB4ODAsMHhiYiwweDAwLDB4MDksMHgwNSwweDhjLDB4MDV9fSwKLSB7MTYsMHgwNjUwLDAsezB4NzIsMHgwMywweDAxLDB4MDAsMHgwMCwweDA3LDB4MjUsMHgwMSwweDAwLDB4MDIsMHgwMCwweDAwLDB4MDksMHgwNCwweDAyLDB4MDN9fSwKLSB7MTYsMHgwNjYwLDAsezB4MDEsMHgwMSwweDAyLDB4MDAsMHgwMCwweDA3LDB4MjQsMHgwMSwweDA0LDB4MDAsMHgwMSwweDAwLDB4MTEsMHgyNCwweDAyLDB4MDF9fSwKLSB7MTYsMHgwNjcwLDAsezB4MDIsMHgwMiwweDEwLDB4MDMsMHg0NCwweGFjLDB4MDAsMHg4MCwweGJiLDB4MDAsMHgwMCwweDc3LDB4MDEsMHgwOSwweDA1LDB4OGN9fSwKLSB7MTYsMHgwNjgwLDAsezB4MDUsMHg4NCwweDAxLDB4MDEsMHgwMCwweDAwLDB4MDcsMHgyNSwweDAxLDB4MDAsMHgwMiwweDAwLDB4MDAsMHgwOSwweDA0LDB4MDJ9fSwKLSB7MTYsMHgwNjkwLDAsezB4MDQsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAwLDB4MDcsMHgyNCwweDAxLDB4MDQsMHgwMCwweDAxLDB4MDAsMHgxMSwweDI0LDB4MDJ9fSwKLSB7MTYsMHgwNmEwLDAsezB4MDEsMHgwMiwweDAzLDB4MTgsMHgwMywweDQ0LDB4YWMsMHgwMCwweDgwLDB4YmIsMHgwMCwweDAwLDB4NzcsMHgwMSwweDA5LDB4MDV9fSwKLSB7MTYsMHgwNmIwLDAsezB4OGMsMHgwNSwweDQ2LDB4MDIsMHgwMSwweDAwLDB4MDAsMHgwNywweDI1LDB4MDEsMHgwMCwweDAyLDB4MDAsMHgwMCwweDA0LDB4MDN9fSwKLSB7MTYsMHgwNmMwLDAsezB4MDksMHgwNCwweDE4LDB4MDMsMHg0NSwweDAwLDB4NmQsMHgwMCwweDYxLDB4MDAsMHg2NywweDAwLDB4NjksMHgwMCwweDYzLDB4MDB9fSwKLSB7MTYsMHgwNmQwLDAsezB4MjAsMHgwMCwweDQ3LDB4MDAsMHg2ZCwweDAwLDB4NjIsMHgwMCwweDQ4LDB4MDAsMHgyMiwweDAzLDB4NDUsMHgwMCwweDZkLDB4MDB9fSwKLSB7MTYsMHgwNmUwLDAsezB4NjEsMHgwMCwweDY3LDB4MDAsMHg2OSwweDAwLDB4NjMsMHgwMCwweDIwLDB4MDAsMHg0NSwweDAwLDB4NGQsMHgwMCwweDQ5LDB4MDB9fSwKLSB7MTYsMHgwNmYwLDAsezB4MjAsMHgwMCwweDM2LDB4MDAsMHg3YywweDAwLDB4MzIsMHgwMCwweDIwLDB4MDAsMHg2ZCwweDAwLDB4MmEsMHgwMywweDQzLDB4MDB9fSwKLSB7MTYsMHgwNzAwLDAsezB4NmYsMHgwMCwweDZlLDB4MDAsMHg2NiwweDAwLDB4NjksMHgwMCwweDY3LDB4MDAsMHg3NSwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDB9fSwKLSB7MTYsMHgwNzEwLDAsezB4NzQsMHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMCwweDIwLDB4MDAsMHg1MywweDAwLDB4NzQsMHgwMCwweDcyLDB4MDB9fSwKLSB7MTYsMHgwNzIwLDAsezB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwMywweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NzQsMHgwMCwweDY1LDB4MDB9fSwKLSB7MTYsMHgwNzMwLDAsezB4NzIsMHgwMCwweDY2LDB4MDAsMHg2MSwweDAwLDB4NjMsMHgwMCwweDY1LDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDB9fSwKLSB7MTAsMHgwNzQwLDAsezB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwNzRhLDAsezB4OTAsMHg3NiwweDlhLDB4NzQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OTEsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4OTB9fSwKLSB7MTYsMHgwNzVhLDAsezB4ZjAsMHg5MCwweDc2LDB4OTMsMHhmMCwweDkwLDB4NzYsMHg5NiwweDc0LDB4MDMsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwLDB4ZTR9fSwKLSB7MTYsMHgwNzZhLDAsezB4OTAsMHg3NiwweDk3LDB4ZjAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5NCwweDA0LDB4ZjAsMHg5MCwweDgwLDB4MDB9fSwKLSB7MTYsMHgwNzdhLDAsezB4ZjAsMHhlNCwweDkwLDB4NzYsMHg4ZSwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZjAsMHg5MCwweDc2LDB4OTUsMHgwNCwweGYwLDB4YzJ9fSwKLSB7MTYsMHgwNzhhLDAsezB4MmUsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmLDB4NTQsMHgxMCwweGZmLDB4NzAsMHgwMiwweGMyLDB4M2YsMHg5MCwweDdmLDB4OWJ9fSwKLSB7MTYsMHgwNzlhLDAsezB4ZTAsMHhmZiwweDU0LDB4MTAsMHhmZSwweGZmLDB4YmUsMHgxMCwweDAyLDB4ZDIsMHgzZiwweDkwLDB4N2YsMHg5YiwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgwN2FhLDAsezB4NTQsMHgyMCwweGZmLDB4NzAsMHgwMiwweGMyLDB4M2UsMHg5MCwweDdmLDB4OWIsMHhlMCwweGZmLDB4NTQsMHgyMCwweGZlLDB4ZmZ9fSwKLSB7MTYsMHgwN2JhLDAsezB4YmUsMHgyMCwweDAyLDB4ZDIsMHgzZSwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODB9fSwKLSB7MTYsMHgwN2NhLDAsezB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4OTAsMHg4MCwweDAyLDB4ZjB9fSwKLSB7MTYsMHgwN2RhLDAsezB4MzAsMHgzZSwweDA5LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTB9fSwKLSB7MTYsMHgwN2VhLDAsezB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweGEyLDB4M2UsMHg5MiwweDQwLDB4YTJ9fSwKLSB7IDMsMHgwN2ZhLDAsezB4M2YsMHg5MiwweDQxfX0sCi0geyAxLDB4MDdmZCwwLHsweDIyfX0sCi0geyAyLDB4MDdmZSwwLHsweGQzLDB4MjJ9fSwKLSB7MTYsMHgwODAwLDAsezB4ZTQsMHg5MCwweDc2LDB4MzEsMHhmMCwweDkwLDB4NzYsMHgzMSwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGZ9fSwKLSB7MTYsMHgwODEwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHgwODIwLDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDBiLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgzMSwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHgwODMwLDAsezB4ZWYsMHhiNCwweDBiLDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MDN9fSwKLSB7MTYsMHgwODQwLDAsezB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgzMywweGYwLDB4MjR9fSwKLSB7MTYsMHgwODUwLDAsezB4ZjAsMHg2MCwweDBhLDB4MjQsMHgwZSwweDYwLDB4MDIsMHg4MSwweDg3LDB4MTIsMHg0YiwweDNlLDB4MjIsMHg5MCwweDdmLDB4ZWR9fSwKLSB7MTYsMHgwODYwLDAsezB4ZTAsMHg2NCwweDA1LDB4NzAsMHg1MSwweDkwLDB4NzYsMHgxOCwweDc0LDB4MDUsMHhmMCwweDkwLDB4NzYsMHgzNywweDc0LDB4MDF9fSwKLSB7MTYsMHgwODcwLDAsezB4ZjAsMHg5MCwweDc2LDB4MzksMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDIwLDB4ZjB9fSwKLSB7MTYsMHgwODgwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDYwLDB4MmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTR9fSwKLSB7MTYsMHgwODkwLDAsezB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmR9fSwKLSB7MTYsMHgwOGEwLDAsezB4ZWUsMHg2ZCwweDYwLDB4MTIsMHg5MCwweDc2LDB4MjEsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwOGIwLDAsezB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQxLDB4OTAsMHg3ZiwweGVkLDB4ZTAsMHg2NCwweDA2LDB4NzAsMHg1MiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwOGMwLDAsezB4MTgsMHg3NCwweDA2LDB4ZjAsMHg5MCwweDc2LDB4MzcsMHg3NCwweDA0LDB4ZjAsMHg5MCwweDc2LDB4MzksMHg3NCwweDBhLDB4ZjB9fSwKLSB7MTYsMHgwOGQwLDAsezB4OTAsMHg3NiwweDIxLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjB9fSwKLSB7MTYsMHgwOGUwLDAsezB4MmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgwOGYwLDAsezB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmQsMHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwOTAwLDAsezB4MjEsMHhlMCwweGZlLDB4ZWYsMHhjMywweDllLDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDF9fSwKLSB7MTYsMHgwOTEwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgwOTIwLDAsezB4ZjUsMHg4MywweGUwLDB4OTAsMHg3MiwweDI5LDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgzYiwweGYwLDB4OTAsMHg3NiwweDIxLDB4ZTB9fSwKLSB7MTYsMHgwOTMwLDAsezB4ZmUsMHhlZiwweDZlLDB4NzAsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWJ9fSwKLSB7MTYsMHgwOTQwLDAsezB4ZTAsMHgxNCwweDYwLDB4MTMsMHgxNCwweDcwLDB4MDIsMHgyMSwweGUyLDB4MjQsMHgwMiwweDYwLDB4MDIsMHg4MSwweDdmLDB4OTB9fSwKLSB7MTYsMHgwOTUwLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHg3YywweDkwLDB4N2Z9fSwKLSB7MTYsMHgwOTYwLDAsezB4ZWEsMHhlMCwweGY0LDB4NzAsMHg0OCwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4Mzl9fSwKLSB7MTYsMHgwOTcwLDAsezB4ZTAsMHhmZSwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmQsMHhjMywweDllLDB4NTAsMHgyYiwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmV9fSwKLSB7MTYsMHgwOTgwLDAsezB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZSwweGVkLDB4NzV9fSwKLSB7MTYsMHgwOTkwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwOWEwLDAsezB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGM3LDB4OTAsMHg3NiwweDNmLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdlLDB4YzB9fSwKLSB7MTYsMHgwOWIwLDAsezB4ZTAsMHhmZSwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgwOWMwLDAsezB4ZWUsMHhmMCwweGUwLDB4YjQsMHgwMSwweDA4LDB4OTAsMHg3NiwweDNlLDB4NzQsMHgwMSwweGYwLDB4ODAsMHgwNSwweGU0LDB4OTB9fSwKLSB7MTYsMHgwOWQwLDAsezB4NzYsMHgzZSwweGYwLDB4OTAsMHg3NiwweDNmLDB4NzQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHgwOWUwLDAsezB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDcwLDB4MDIsMHg0MSwweGEzLDB4MTQsMHg3MCwweDAyLDB4NjF9fSwKLSB7MTYsMHgwOWYwLDAsezB4M2YsMHgxNCwweDcwLDB4MDIsMHg2MSwweGRiLDB4MjQsMHgwMywweDYwLDB4MDIsMHg4MSwweDc3LDB4OTAsMHg3ZiwweGVhLDB4ZTB9fSwKLSB7MTYsMHgwYTAwLDAsezB4ZjQsMHg3MCwweDZiLDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgwYTEwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg1MCwweDRlLDB4OTAsMHg3NiwweDNiLDB4ZTAsMHhmZiwweDA0LDB4ZjB9fSwKLSB7MTYsMHgwYTIwLDAsezB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGF9fSwKLSB7MTYsMHgwYTMwLDAsezB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDNiLDB4ZTB9fSwKLSB7MTYsMHgwYTQwLDAsezB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZWV9fSwKLSB7MTYsMHgwYTUwLDAsezB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTB9fSwKLSB7MTYsMHgwYTYwLDAsezB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4NDAsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2V9fSwKLSB7MTYsMHgwYTcwLDAsezB4YzAsMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODJ9fSwKLSB7MTYsMHgwYTgwLDAsezB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGF9fSwKLSB7MTYsMHgwYTkwLDAsezB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDQxLDB4NzR9fSwKLSB7MTYsMHgwYWEwLDAsezB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NjYsMHg5MCwweDc2LDB4MzcsMHhlMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwYWIwLDAsezB4MjAsMHhmMCwweDkwLDB4NzYsMHgzOSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4YzMsMHg5ZiwweDQwLDB4MDJ9fSwKLSB7MTYsMHgwYWMwLDAsezB4ODEsMHg4ZSwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgwYWQwLDAsezB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgwYWUwLDAsezB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgzYiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4NzQsMHhjMCwweDJmLDB4ZjV9fSwKLSB7MTYsMHgwYWYwLDAsezB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTAsMHhmZiwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjV9fSwKLSB7MTYsMHgwYjAwLDAsezB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4NzYsMHgyMCwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTJ9fSwKLSB7MTYsMHgwYjEwLDAsezB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyMCwweGUwLDB4ZmUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWV9fSwKLSB7MTYsMHgwYjIwLDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZiwweGVlLDB4NzV9fSwKLSB7MTYsMHgwYjMwLDAsezB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTB9fSwKLSB7MTYsMHgwYjQwLDAsezB4N2YsMHhlYSwweGUwLDB4ZjQsMHg3MCwweDY2LDB4OTAsMHg3NiwweDM3LDB4ZTAsMHg5MCwweDc2LDB4MjAsMHhmMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwYjUwLDAsezB4MzksMHhlMCwweGZmLDB4OTAsMHg3NiwweDIwLDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4ODEsMHg4ZSwweDkwLDB4NzZ9fSwKLSB7MTYsMHgwYjYwLDAsezB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2UsMHhmNSwweDgzLDB4ZTB9fSwKLSB7MTYsMHgwYjcwLDAsezB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgwYjgwLDAsezB4ZjAsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDQsMHhmMCwweDc0LDB4YzAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2V9fSwKLSB7MTYsMHgwYjkwLDAsezB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzV9fSwKLSB7MTYsMHgwYmEwLDAsezB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MjAsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGEyLDB4OTAsMHg3ZSwweGMwLDB4ZTB9fSwKLSB7MTYsMHgwYmIwLDAsezB4ZmYsMHg5MCwweDc2LDB4MjAsMHhlMCwweGZlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzR9fSwKLSB7MTYsMHgwYmMwLDAsezB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjR9fSwKLSB7MTYsMHgwYmQwLDAsezB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjR9fSwKLSB7MTYsMHgwYmUwLDAsezB4NzAsMHg2NiwweDkwLDB4NzYsMHgzNywweGUwLDB4OTAsMHg3NiwweDIwLDB4ZjAsMHg5MCwweDc2LDB4MzksMHhlMCwweGZmLDB4OTB9fSwKLSB7MTYsMHgwYmYwLDAsezB4NzYsMHgyMCwweGUwLDB4ZmUsMHhjMywweDlmLDB4NDAsMHgwMiwweDgxLDB4OGUsMHg5MCwweDc2LDB4M2IsMHhlMCwweGZmLDB4MDR9fSwKLSB7MTYsMHgwYzAwLDAsezB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmYsMHhlZSwweDc1LDB4ZjB9fSwKLSB7MTYsMHgwYzEwLDAsezB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4M2J9fSwKLSB7MTYsMHgwYzIwLDAsezB4ZTAsMHhmZiwweDA0LDB4ZjAsMHg3NCwweGMwLDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwLDB4ZmZ9fSwKLSB7MTYsMHgwYzMwLDAsezB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmLDB4ZjB9fSwKLSB7MTYsMHgwYzQwLDAsezB4OTAsMHg3NiwweDIwLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhhMiwweDkwLDB4N2UsMHhjMCwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MjB9fSwKLSB7MTYsMHgwYzUwLDAsezB4ZTAsMHhmZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgwYzYwLDAsezB4ZjAsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZmLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgwYzcwLDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlZiwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTB9fSwKLSB7MTUsMHgwYzgwLDAsezB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4MGM4ZiwwLHsweDQxLDB4NzYsMHg2OCwweDAxLDB4NDEsMHg3NiwweDZhLDB4MDIsMHg0MSwweDc2LDB4NmIsMHgwYSwweGMxLDB4MjAsMHhjMSwweDIxfX0sCi0geyAyLDB4MGM5ZiwwLHsweGMxLDB4MmZ9fSwKLSB7IDQsMHgwY2ExLDAsezB4NDEsMHg3NiwweDIzLDB4MDB9fSwKLSB7MTYsMHgwY2E1LDAsezB4NDEsMHg3MiwweDAxLDB4MDEsMHg0NSwweDcyLDB4MDUsMHgwMCwweDAyLDB4YzksMHgwMCwweDAwLDB4NDUsMHg3MiwweDBhLDB4MDB9fSwKLSB7MTYsMHgwY2I1LDAsezB4MDEsMHgwMiwweDAzLDB4MDQsMHg0ZCwweDcyLDB4MGYsMHhkMSwweDAwLDB4ZDEsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwY2M1LDAsezB4MjgsMHgyOCwweDA5LDB4MDAsMHg0ZCwweDcyLDB4MWMsMHgwMSwweDAwLDB4MDEsMHgwMiwweDAzLDB4MDQsMHgwNSwweDA2LDB4MDd9fSwKLSB7MTYsMHgwY2Q1LDAsezB4MDgsMHgwOSwweDBhLDB4MGIsMHg0MSwweDcyLDB4MmUsMHgyMiwweDQxLDB4NzIsMHgyZiwweDIzLDB4NDEsMHg3MiwweDMwLDB4MjB9fSwKLSB7MTYsMHgwY2U1LDAsezB4NDEsMHg3MiwweDMxLDB4MjEsMHg2MiwweGQyLDB4NzIsMHgzYSwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwY2Y1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDA1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDE1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDI1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDM1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDQ1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDU1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDY1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgwZDc1LDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9fSwKLSB7MTYsMHgwZDg1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9fSwKLSB7MTYsMHgwZDk1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9fSwKLSB7MTYsMHgwZGE1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDF9fSwKLSB7MTYsMHgwZGI1LDAsezB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAxLDB4MDEsMHgwMSwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9fSwKLSB7MTYsMHgwZGM1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9fSwKLSB7MTYsMHgwZGQ1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9fSwKLSB7MTYsMHgwZGU1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAyLDB4MDJ9fSwKLSB7MTYsMHgwZGY1LDAsezB4MDIsMHgwMiwweDAyLDB4MDIsMHgwMiwweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9fSwKLSB7MTYsMHgwZTA1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9fSwKLSB7MTYsMHgwZTE1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9fSwKLSB7MTYsMHgwZTI1LDAsezB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDMsMHgwMywweDAzLDB4MDN9fSwKLSB7MTYsMHgwZTM1LDAsezB4MDMsMHgwMywweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9fSwKLSB7MTYsMHgwZTQ1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9fSwKLSB7MTYsMHgwZTU1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9fSwKLSB7MTYsMHgwZTY1LDAsezB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDQsMHgwNCwweDA0LDB4MDR9fSwKLSB7MTYsMHgwZTc1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9fSwKLSB7MTYsMHgwZTg1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9fSwKLSB7MTYsMHgwZTk1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDV9fSwKLSB7MTYsMHgwZWE1LDAsezB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA1LDB4MDUsMHgwNSwweDA2LDB4MDZ9fSwKLSB7MTYsMHgwZWI1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9fSwKLSB7MTYsMHgwZWM1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9fSwKLSB7MTYsMHgwZWQ1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDZ9fSwKLSB7MTYsMHgwZWU1LDAsezB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA2LDB4MDYsMHgwNiwweDA3LDB4MDcsMHgwNywweDA4LDB4MDh9fSwKLSB7MTYsMHgwZWY1LDAsezB4MDgsMHgwOSwweDA5LDB4MDksMHgwYSwweDBhLDB4MGEsMHgwYiwweDBiLDB4MGIsMHgwYywweDBjLDB4MGMsMHgwZCwweDBkLDB4MGR9fSwKLSB7MTYsMHgwZjA1LDAsezB4MGUsMHgwZSwweDBlLDB4MGYsMHgwZiwweDBmLDB4MTAsMHgxMCwweDEwLDB4MTEsMHgxMSwweDExLDB4MTIsMHgxMiwweDEyLDB4MTN9fSwKLSB7MTYsMHgwZjE1LDAsezB4MTMsMHgxMywweDE0LDB4MTQsMHgxNCwweDE1LDB4MTUsMHgxNSwweDE2LDB4MTYsMHgxNiwweDE3LDB4MTcsMHgxNywweDE4LDB4MTh9fSwKLSB7MTYsMHgwZjI1LDAsezB4MTgsMHgxOSwweDE5LDB4MTksMHgxOSwweDFhLDB4MWEsMHgxYSwweDFhLDB4MWIsMHgxYiwweDFiLDB4MWIsMHgxYywweDFjLDB4MWN9fSwKLSB7MTYsMHgwZjM1LDAsezB4MWMsMHgxZCwweDFkLDB4MWQsMHgxZCwweDFlLDB4MWUsMHgxZSwweDFlLDB4MWYsMHgxZiwweDFmLDB4MWYsMHgyMCwweDIwLDB4MjB9fSwKLSB7MTYsMHgwZjQ1LDAsezB4MjEsMHgyMSwweDIxLDB4MjIsMHgyMiwweDIyLDB4MjMsMHgyMywweDI0LDB4MjQsMHgyNSwweDI1LDB4MjYsMHgyNiwweDI3LDB4Mjd9fSwKLSB7MTYsMHgwZjU1LDAsezB4MjgsMHgyOCwweDI5LDB4MjksMHgyYSwweDJhLDB4MmIsMHgyYiwweDJjLDB4MmMsMHgyZCwweDJkLDB4MmUsMHgyZSwweDJmLDB4MmZ9fSwKLSB7MTYsMHgwZjY1LDAsezB4MzAsMHgzMCwweDMxLDB4MzEsMHgzMiwweDMyLDB4MzMsMHgzMywweDM0LDB4MzQsMHgzNSwweDM1LDB4MzYsMHgzNiwweDM3LDB4Mzd9fSwKLSB7MTYsMHgwZjc1LDAsezB4MzgsMHgzOCwweDM5LDB4MzksMHgzYSwweDNhLDB4M2IsMHgzYywweDNkLDB4M2UsMHgzZiwweDQwLDB4NDEsMHg0MiwweDQzLDB4NDR9fSwKLSB7MTYsMHgwZjg1LDAsezB4NDUsMHg0NiwweDQ3LDB4NDgsMHg0OSwweDQ5LDB4NGEsMHg0YiwweDRiLDB4NGMsMHg0ZCwweDRlLDB4NGYsMHg1MCwweDUxLDB4NTJ9fSwKLSB7MTYsMHgwZjk1LDAsezB4NTMsMHg1NCwweDU1LDB4NTUsMHg1NiwweDU2LDB4NTcsMHg1NywweDU4LDB4NWEsMHg1YiwweDVkLDB4NWUsMHg1ZiwweDYxLDB4NjJ9fSwKLSB7MTYsMHgwZmE1LDAsezB4NjMsMHg2NCwweDY1LDB4NjYsMHg2NywweDY4LDB4NjksMHg2YSwweDZiLDB4NmMsMHg2ZCwweDZmLDB4NzEsMHg3MiwweDczLDB4NzR9fSwKLSB7MTYsMHgwZmI1LDAsezB4NzUsMHg3NiwweDc3LDB4NzgsMHg3OSwweDdhLDB4N2IsMHg3YywweDdlLDB4ODAsMHgwMSwweDM3LDB4MDEsMHgwMSwweDM4LDB4MDB9fSwKLSB7IDEsMHgwZmM1LDAsezB4MDB9fSwKLSB7MTYsMHgwZmM2LDAsezB4ZTQsMHhmZiwweDc0LDB4NDYsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4MjB9fSwKLSB7MTYsMHgwZmQ2LDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDRlLDB4MmYsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgwZmU2LDAsezB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgzMCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODN9fSwKLSB7IDYsMHgwZmY2LDAsezB4ZWUsMHhmMCwweDBmLDB4YmYsMHgwOCwweGNjfX0sCi0geyAxLDB4MGZmYywwLHsweDIyfX0sCi0geyAzLDB4MGZmZCwwLHsweGMyLDB4ODksMHgzMn19LAotIHsxNiwweDEwMDAsMCx7MHhlNCwweDkwLDB4NzYsMHgyYywweGYwLDB4OTAsMHg3NiwweDJjLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZn19LAotIHsxNiwweDEwMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWQsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDEwMjAsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MGIsMHg1MCwweDA4LDB4OTAsMHg3NiwweDJjLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDEwMzAsMCx7MHhlZiwweGI0LDB4MGIsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDEwNDAsMCx7MHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDJlLDB4ZjAsMHgyNH19LAotIHsxNiwweDEwNTAsMCx7MHhmMCwweDYwLDB4MGEsMHgyNCwweDBmLDB4NjAsMHgwMiwweDgxLDB4N2QsMHgxMiwweDRiLDB4MWIsMHgyMiwweDkwLDB4N2YsMHhlZH19LAotIHsxNiwweDEwNjAsMCx7MHhlMCwweDY0LDB4MDUsMHg3MCwweDUxLDB4OTAsMHg3NiwweDE4LDB4NzQsMHgwNSwweGYwLDB4OTAsMHg3NiwweDM4LDB4NzQsMHgwMX19LAotIHsxNiwweDEwNzAsMCx7MHhmMCwweDkwLDB4NzYsMHgzYSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgxYywweGYwLDB4ZTQsMHg5MCwweDc2LDB4MWIsMHhmMH19LAotIHsxNiwweDEwODAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NjAsMHgyZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH19LAotIHsxNiwweDEwOTAsMCx7MHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZH19LAotIHsxNiwweDEwYTAsMCx7MHhlZSwweDZkLDB4NjAsMHgxMiwweDkwLDB4NzYsMHgxYywweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3Nn19LAotIHsxNiwweDEwYjAsMCx7MHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDEsMHg5MCwweDdmLDB4ZWQsMHhlMCwweDY0LDB4MDYsMHg3MCwweDUyLDB4OTAsMHg3Nn19LAotIHsxNiwweDEwYzAsMCx7MHgxOCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHgzOCwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzYSwweDc0LDB4MGEsMHhmMH19LAotIHsxNiwweDEwZDAsMCx7MHg5MCwweDc2LDB4MWMsMHhmMCwweDkwLDB4NzYsMHgxYiwweDc0LDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZjQsMHg2MH19LAotIHsxNiwweDEwZTAsMCx7MHgyZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDEwZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmZCwweGVlLDB4NmQsMHg2MCwweDEyLDB4OTAsMHg3Nn19LAotIHsxNiwweDExMDAsMCx7MHgxYywweGUwLDB4ZmUsMHhlZiwweGMzLDB4OWUsMHg1MCwweDA4LDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkMX19LAotIHsxNiwweDExMTAsMCx7MHhlNCwweDkwLDB4NzYsMHgxZSwweGYwLDB4OTAsMHg3NiwweDFjLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmUsMHg2Zn19LAotIHsxNiwweDExMjAsMCx7MHg3MCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYiwweGUwLDB4MTQsMHg2MH19LAotIHsxNiwweDExMzAsMCx7MHgxMywweDE0LDB4NzAsMHgwMiwweDIxLDB4YmYsMHgyNCwweDAyLDB4NjAsMHgwMiwweDgxLDB4NzUsMHg5MCwweDdmLDB4YjQsMHhlMH19LAotIHsxNiwweDExNDAsMCx7MHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4NmIsMHg5MCwweDdmLDB4ZWEsMHhlMH19LAotIHsxNiwweDExNTAsMCx7MHhmNCwweDcwLDB4NGEsMHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZn19LAotIHsxNiwweDExNjAsMCx7MHg5MCwweDc2LDB4MWIsMHhlMCwweGZkLDB4YzMsMHg5ZiwweDUwLDB4MmIsMHhlZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYn19LAotIHsxNiwweDExNzAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMH19LAotIHsxNiwweDExODAsMCx7MHg3NCwweDAwLDB4MmQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMH19LAotIHsxNiwweDExOTAsMCx7MHgwNCwweGYwLDB4ODAsMHhjNywweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweGVlLDB4NzUsMHhmMH19LAotIHsxNiwweDExYTAsMCx7MHgwYSwweGE0LDB4MjQsMHhhYiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDAsMHhmMH19LAotIHsxNiwweDExYjAsMCx7MHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MH19LAotIHsxNiwweDExYzAsMCx7MHg3ZiwweGU5LDB4ZTAsMHgyNCwweDdlLDB4NzAsMHgwMiwweDQxLDB4N2UsMHgxNCwweDcwLDB4MDIsMHg2MSwweDIzLDB4MTQsMHg3MH19LAotIHsxNiwweDExZDAsMCx7MHgwMiwweDYxLDB4YzgsMHgyNCwweDAzLDB4NjAsMHgwMiwweDgxLDB4NmQsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZH19LAotIHsxNiwweDExZTAsMCx7MHg5MCwweDc2LDB4MzgsMHhlMCwweDkwLDB4NzYsMHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYn19LAotIHsxNiwweDExZjAsMCx7MHhlMCwweGMzLDB4OWYsMHg1MCwweDRmLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDEyMDAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZH19LAotIHsxNiwweDEyMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZH19LAotIHsxNiwweDEyMjAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMH19LAotIHsxNiwweDEyMzAsMCx7MHg3NCwweDAwLDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMH19LAotIHsxNiwweDEyNDAsMCx7MHgwNCwweGYwLDB4ODAsMHhhNCwweDkwLDB4NzYsMHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYn19LAotIHsxNiwweDEyNTAsMCx7MHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMH19LAotIHsxNiwweDEyNjAsMCx7MHg5MCwweDdmLDB4MDAsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDEyNzAsMCx7MHhmNSwweDgzLDB4ZTAsMHg5MCwweDdmLDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNiwweDEyODAsMCx7MHhlYSwweGUwLDB4ZjQsMHg3MCwweDZkLDB4OTAsMHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYX19LAotIHsxNiwweDEyOTAsMCx7MHhlMCwweGZmLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH19LAotIHsxNiwweDEyYTAsMCx7MHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZH19LAotIHsxNiwweDEyYjAsMCx7MHgwNCwweGYwLDB4NzQsMHgwMCwweDJkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NX19LAotIHsxNiwweDEyYzAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3Nn19LAotIHsxNiwweDEyZDAsMCx7MHgxZSwweGUwLDB4ZmUsMHgwNCwweGYwLDB4NzQsMHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZn19LAotIHsxNiwweDEyZTAsMCx7MHhmMCwweDkwLDB4NzYsMHgxYiwweGUwLDB4MDQsMHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNX19LAotIHsxNiwweDEyZjAsMCx7MHhmMCwweDIyLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDEzMDAsMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZn19LAotIHsxNiwweDEzMTAsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NH19LAotIHsxNiwweDEzMjAsMCx7MHgwMiwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGY0LDB4NzAsMHg2ZCwweDkwLDB4NzYsMHgzOCwweGUwLDB4OTAsMHg3Nn19LAotIHsxNiwweDEzMzAsMCx7MHgxYiwweGYwLDB4OTAsMHg3NiwweDNhLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgxYiwweGUwLDB4YzMsMHg5ZiwweDUwLDB4NGYsMHhlMH19LAotIHsxNiwweDEzNDAsMCx7MHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZX19LAotIHsxNiwweDEzNTAsMCx7MHg5MCwweDc2LDB4MWUsMHhlMCwweGZkLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNX19LAotIHsxNiwweDEzNjAsMCx7MHg4MywweGVlLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDEzNzAsMCx7MHg4MywweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWUsMHhlMCwweGZlLDB4MDQsMHhmMCwweDc0LDB4MDAsMHgyZSwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDEzODAsMCx7MHgzNCwweDdmLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDc2LDB4MWIsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGE0LDB4OTAsMHg3Nn19LAotIHsxNiwweDEzOTAsMCx7MHgxZSwweGUwLDB4OTAsMHg3ZiwweGI1LDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxYiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNH19LAotIHsxNiwweDEzYTAsMCx7MHgyNCwweGIwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4ZWYsMHg3NX19LAotIHsxNiwweDEzYjAsMCx7MHhmMCwweDBhLDB4YTQsMHgyNCwweGIxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMX19LAotIHsxNiwweDEzYzAsMCx7MHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDIsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHhmNCwweDcwLDB4NmQsMHg5MH19LAotIHsxNiwweDEzZDAsMCx7MHg3NiwweDM4LDB4ZTAsMHg5MCwweDc2LDB4MWIsMHhmMCwweDkwLDB4NzYsMHgzYSwweGUwLDB4ZmYsMHg5MCwweDc2LDB4MWIsMHhlMH19LAotIHsxNiwweDEzZTAsMCx7MHhjMywweDlmLDB4NTAsMHg0ZiwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDEzZjAsMCx7MHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZCwweDA0LDB4ZjAsMHg3NCwweDAwLDB4MmQsMHhmNX19LAotIHsxNiwweDE0MDAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNX19LAotIHsxNiwweDE0MTAsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDFlLDB4ZTAsMHhmZSwweDA0LDB4ZjAsMHg3NH19LAotIHsxNiwweDE0MjAsMCx7MHgwMCwweDJlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDFiLDB4ZTAsMHgwNH19LAotIHsxNiwweDE0MzAsMCx7MHhmMCwweDgwLDB4YTQsMHg5MCwweDc2LDB4MWUsMHhlMCwweDkwLDB4N2YsMHhiNSwweGYwLDB4MjIsMHg5MCwweDc2LDB4MWIsMHhlMH19LAotIHsxNiwweDE0NDAsMCx7MHhmZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHg5MH19LAotIHsxNiwweDE0NTAsMCx7MHg3ZiwweDAwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNX19LAotIHsxNiwweDE0NjAsMCx7MHg4MywweGUwLDB4OTAsMHg3ZiwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH19LAotIHsxNiwweDE0NzAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNH19LAotIHsgNSwweDE0ODAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4MTQ4NSwwLHsweDc0LDB4MDAsMHhmNSwweDg2LDB4OTAsMHhmZCwweGE1LDB4N2MsMHgwNSwweGEzLDB4ZTUsMHg4MiwweDQ1LDB4ODMsMHg3MCwweGY5fX0sCi0geyAxLDB4MTQ5NSwwLHsweDIyfX0sCi0gezE2LDB4MTQ5NiwwLHsweDkwLDB4N2YsMHhkNiwweGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg4NywweDAxLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfX0sCi0gezE2LDB4MTRhNiwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4OGYsMHhlMCwweGMwLDB4ZTAsMHg4ZSwweGUwLDB4YzAsMHhlMCwweDhkLDB4ZTAsMHhjMCwweGUwfX0sCi0gezE2LDB4MTRiNiwwLHsweDhjLDB4ZTAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg3ZCwweDAwfX0sCi0gezE2LDB4MTRjNiwwLHsweDkwLDB4N2YsMHhlMywweDc0LDB4N2IsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4N2MsMHgxMSwweDkwLDB4N2YsMHg5OSwweGUwfX0sCi0gezE2LDB4MTRkNiwwLHsweDU0LDB4NDAsMHhkYywweDAzLDB4MDIsMHgxNCwweGYzLDB4YjQsMHgwMCwweDEzLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg0MCwweGYwfX0sCi0gezE2LDB4MTRlNiwwLHsweDkwLDB4N2YsMHhlNSwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4MDIsMHgxNCwweGQyLDB4OTAsMHg3NiwweDkwfX0sCi0gezE2LDB4MTRmNiwwLHsweGUwLDB4YjQsMHgwMSwweDEyLDB4OTAsMHg3NiwweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwfX0sCi0gezE2LDB4MTUwNiwwLHsweDkwLDB4N2YsMHg2YywweDAyLDB4MTUsMHg1NywweGI0LDB4MDIsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwfX0sCi0gezE2LDB4MTUxNiwwLHsweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE1LDB4OTYsMHhiNCwweDAzLDB4MTIsMHg5MCwweDc2fX0sCi0gezE2LDB4MTUyNiwwLHsweDhmLDB4ZTAsMHgyZCwweGZkLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweDZjLDB4MDIsMHgxNSwweGUxfX0sCi0gezE2LDB4MTUzNiwwLHsweGI0LDB4MDQsMHgxMiwweDkwLDB4NzYsMHg4ZiwweGUwLDB4MmQsMHhmZCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwfX0sCi0gezE2LDB4MTU0NiwwLHsweDdmLDB4NmMsMHgwMiwweDE2LDB4MTAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHg5MCwweDdmLDB4NmMsMHgwMiwweDE2fX0sCi0gezE2LDB4MTU1NiwwLHsweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZGQsMHhmMiwweDdkfX0sCi0gezE2LDB4MTU2NiwwLHsweDAyLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5YiwweGUwLDB4NTQsMHgwNCwweGI0fX0sCi0gezE2LDB4MTU3NiwwLHsweDAwLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweDQwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4MDUsMHg4NiwweGYwfX0sCi0gezE2LDB4MTU4NiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGQ0LDB4MDIsMHgxNiwweDQwfX0sCi0gezE2LDB4MTU5NiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfX0sCi0gezE2LDB4MTVhNiwwLHsweGYwLDB4ZjAsMHhkZCwweGVjLDB4N2QsMHgwMiwweDA1LDB4ODYsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4MTViNiwwLHsweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDUsMHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0fX0sCi0gezE2LDB4MTVjNiwwLHsweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGYwfX0sCi0geyA2LDB4MTVkNiwwLHsweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMH19LAotIHsxNiwweDE1ZGMsMCx7MHhkZCwweGNlLDB4MDIsMHgxNiwweDQwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZCwweGZhLDB4N2QsMHgwMiwweDA1LDB4ODYsMHg5MH19LAotIHsxNiwweDE1ZWMsMCx7MHg3ZiwweGUyLDB4NzQsMHgwMCwweGYwLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHg1NCwweDA0LDB4YjQsMHgwMCwweDA1LDB4MDUsMHg4Nn19LAotIHsxNiwweDE1ZmMsMCx7MHgwMiwweDE2LDB4NDAsMHg5MCwweDdmLDB4ZTIsMHg3NCwweDgwLDB4ZjAsMHgwNSwweDg2LDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhkZH19LAotIHsxNiwweDE2MGMsMCx7MHhkYywweDAyLDB4MTYsMHg0MCwweGYwLDB4ZjAsMHhmMCwweGYwLDB4ZjAsMHhmMCwweGRkLDB4ZjgsMHg3ZCwweDAyLDB4MDUsMHg4Nn19LAotIHsxNiwweDE2MWMsMCx7MHg5MCwweDdmLDB4ZTIsMHg3NCwweDAwLDB4ZjAsMHg5MCwweDdmLDB4OWIsMHhlMCwweDU0LDB4MDQsMHhiNCwweDAwLDB4MDUsMHgwNX19LAotIHsxNiwweDE2MmMsMCx7MHg4NiwweDAyLDB4MTYsMHg0MCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDA1LDB4ODYsMHhmMCwweGYwLDB4ZjAsMHhmMH19LAotIHsxNiwweDE2M2MsMCx7MHhmMCwweGYwLDB4ZGQsMHhkYSwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4Nn19LAotIHsxNiwweDE2NGMsMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZn19LAotIHsgNSwweDE2NWMsMCx7MHhkMCwweGUwLDB4ZDAsMHhkMCwweDIyfX0sCi0gezE2LDB4MTY2MSwwLHsweGMwLDB4ZDAsMHhjMCwweGUwLDB4YzAsMHg4MiwweGMwLDB4ODMsMHg5MCwweDc2LDB4N2MsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwfX0sCi0gezE2LDB4MTY3MSwwLHsweDkwLDB4NzYsMHg3ZCwweGUwLDB4OTAsMHg3ZiwweDZmLDB4ZjAsMHg5MCwweDc2LDB4N2UsMHhlMCwweDkwLDB4N2YsMHg2ZiwweGYwfX0sCi0geyA5LDB4MTY4MSwwLHsweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhlMCwweGQwLDB4ZDAsMHgyMn19LAotIHsxNiwweDE2OGEsMCx7MHhjMCwweGQwLDB4YzAsMHhlMCwweDhmLDB4ZTAsMHhjMCwweGUwLDB4OGUsMHhlMCwweGMwLDB4ZTAsMHhjMCwweDgyLDB4YzAsMHg4M319LAotIHsxNiwweDE2OWEsMCx7MHgwNSwweDg2LDB4YzAsMHg4NCwweGMwLDB4ODUsMHg5MCwweDc2LDB4ODcsMHhlMCwweGZmLDB4YmYsMHgwMCwweDAzLDB4MDIsMHgxN319LAotIHsxNiwweDE2YWEsMCx7MHgwMSwweDkwLDB4N2YsMHg5NiwweGUwLDB4NDQsMHg4MCwweGYwLDB4OTAsMHg3ZiwweGUyLDB4NzQsMHg4MCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDE2YmEsMCx7MHg2MiwweGUwLDB4MDUsMHg4NiwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweDkwLDB4N2YsMHg5NiwweGUwLDB4NTQsMHg3Zn19LAotIHsxNiwweDE2Y2EsMCx7MHhmMCwweDkwLDB4N2YsMHhlMiwweDc0LDB4ODAsMHhmMCwweDkwLDB4NzYsMHg4ZSwweGUwLDB4YjQsMHgwMSwweDA1LDB4MDUsMHg4Nn19LAotIHsxNiwweDE2ZGEsMCx7MHgwMiwweDE2LDB4ZjYsMHhiNCwweDAyLDB4MDUsMHgwNSwweDg2LDB4MDIsMHgxNiwweGViLDB4MDUsMHg4NiwweDAyLDB4MTYsMHhmYn19LAotIHsxNiwweDE2ZWEsMCx7MHhlMCwweGUwLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhkZiwweGY4LDB4MDIsMHgxNiwweGZiLDB4ZTAsMHhlMCwweGUwLDB4ZTAsMHhkZn19LAotIHsxNiwweDE2ZmEsMCx7MHhmYSwweDkwLDB4N2YsMHhlMiwweDc0LDB4MDAsMHhmMCwweGQwLDB4ODUsMHhkMCwweDg0LDB4MDUsMHg4NiwweGQwLDB4ODMsMHhkMH19LAotIHsxMiwweDE3MGEsMCx7MHg4MiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhkMCwweGQwLDB4MjJ9fSwKLSB7MTYsMHgxNzE2LDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHhkMSwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9fSwKLSB7MTAsMHgxNzI2LDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9fSwKLSB7MTYsMHgxNzMwLDAsezB4YzAsMHg4MiwweGMwLDB4ODMsMHhjMCwweGUwLDB4ZTgsMHhjMCwweGUwLDB4NzgsMHg3OCwweGU4LDB4MTQsMHhmOCwweDcwLDB4ZmJ9fSwKLSB7MTAsMHgxNzQwLDAsezB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhlMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4MjJ9fSwKLSB7IDcsMHgxNzRhLDAsezB4OTAsMHg3ZiwweGM1LDB4NzQsMHgwMiwweGYwLDB4MjJ9fSwKLSB7MTYsMHgxNzUxLDAsezB4OTAsMHg3ZSwweGMwLDB4ZTAsMHg5MCwweDc2LDB4NDUsMHhmMCwweDkwLDB4N2UsMHhjMSwweGUwLDB4OTAsMHg3NiwweDQ0LDB4ZjB9fSwKLSB7MTYsMHgxNzYxLDAsezB4OTAsMHg3ZSwweGMyLDB4ZTAsMHg5MCwweDc2LDB4NDMsMHhmMCwweGI0LDB4MDAsMHgwMywweDAyLDB4MTcsMHg3OCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxNzcxLDAsezB4MTksMHg3NCwweDAzLDB4ZjAsMHgwMiwweDE3LDB4OGUsMHg5MCwweDc2LDB4NDQsMHhlMCwweGI0LDB4YmIsMHgwOSwweDkwLDB4NzZ9fSwKLSB7MTYsMHgxNzgxLDAsezB4MTksMHg3NCwweDAyLDB4ZjAsMHgwMiwweDE3LDB4OGUsMHg5MCwweDc2LDB4MTksMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4NDJ9fSwKLSB7IDMsMHgxNzkxLDAsezB4ZTQsMHhmMCwweDIyfX0sCi0geyA0LDB4MTc5NCwwLHsweDhkLDB4MjksMHg4YiwweDJhfX0sCi0gezE2LDB4MTc5OCwwLHsweDEyLDB4NDksMHhmZiwweGVhLDB4NDksMHg2MCwweDU3LDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhfX0sCi0gezE2LDB4MTdhOCwwLHsweGM5LDB4ZWYsMHhjOSwweDc1LDB4MmIsMHhmZiwweGY1LDB4MmMsMHg4OSwweDJkLDB4YWIsMHgyYiwweGFhLDB4MmMsMHhhOSwweDJkfX0sCi0gezE2LDB4MTdiOCwwLHsweDkwLDB4MDAsMHgwMSwweDEyLDB4MzYsMHhhYiwweGZmLDB4NjQsMHgwNCwweDYwLDB4MDUsMHhlZiwweDY0LDB4MDUsMHg3MCwweDJlfX0sCi0gezE2LDB4MTdjOCwwLHsweGVmLDB4YjQsMHgwNCwweDE1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgzNiwweGFiLDB4NjUsMHgyOSwweDcwLDB4MGIsMHg5MCwweDAwfX0sCi0gezE2LDB4MTdkOCwwLHsweDAzLDB4MTIsMHgzNiwweGFiLDB4NjUsMHgyYSwweDcwLDB4MDEsMHgyMiwweDEyLDB4MzYsMHg5MiwweDdlLDB4MDAsMHgyOSwweGZmfX0sCi0gezE2LDB4MTdlOCwwLHsweGVlLDB4M2EsMHhjOSwweGVmLDB4YzksMHg3NSwweDJiLDB4ZmYsMHhmNSwweDJjLDB4ODksMHgyZCwweDgwLDB4YmMsMHg3YiwweDAwfX0sCi0geyA0LDB4MTdmOCwwLHsweDdhLDB4MDAsMHg3OSwweDAwfX0sCi0geyAxLDB4MTdmYywwLHsweDIyfX0sCi0geyAzLDB4MTdmZCwwLHsweGMyLDB4OGIsMHgzMn19LAotIHsxNiwweDE4MDAsMCx7MHg5MCwweDc2LDB4OTAsMHhlMCwweDE0LDB4NjAsMHgzNywweDE0LDB4NzAsMHgwMiwweDAxLDB4ZDgsMHgxNCwweDcwLDB4MDIsMHgyMX19LAotIHsxNiwweDE4MTAsMCx7MHg3MiwweDE0LDB4NzAsMHgwMiwweDQxLDB4M2IsMHgyNCwweDA0LDB4NjAsMHgwMiwweDYxLDB4MDMsMHg5MCwweDdmLDB4ZmMsMHg3NH19LAotIHsxNiwweDE4MjAsMCx7MHhjYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg1NH19LAotIHsxNiwweDE4MzAsMCx7MHgwNSwweGYwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHhlNCwweDkwLDB4NzYsMHgxYSwweGYwLDB4YzIsMHgyZSwweDIyLDB4OTAsMHg3Nn19LAotIHsxNiwweDE4NDAsMCx7MHg5NSwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDQsMHgwMiwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MH19LAotIHsxNiwweDE4NTAsMCx7MHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MH19LAotIHsxNiwweDE4NjAsMCx7MHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjIsMHg5MH19LAotIHsxNiwweDE4NzAsMCx7MHg3ZiwweGZjLDB4NzQsMHg3NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYn19LAotIHsxNiwweDE4ODAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MH19LAotIHsxNiwweDE4OTAsMCx7MHhmMCwweGVmLDB4YjQsMHgwMiwweDIyLDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg2OCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmY319LAotIHsxNiwweDE4YTAsMCx7MHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MH19LAotIHsxNiwweDE4YjAsMCx7MHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZX19LAotIHsxNiwweDE4YzAsMCx7MHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmYn19LAotIHsxNiwweDE4ZDAsMCx7MHhmMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDIsMHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg0NH19LAotIHsxNiwweDE4ZTAsMCx7MHgwMiwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH19LAotIHsxNiwweDE4ZjAsMCx7MHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMX19LAotIHsxNiwweDE5MDAsMCx7MHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjIsMHg5MCwweDdmLDB4ZmMsMHg3NCwweDMwLDB4ZjAsMHg5MH19LAotIHsxNiwweDE5MTAsMCx7MHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NH19LAotIHsxNiwweDE5MjAsMCx7MHhmZCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjIsMHg5MH19LAotIHsxNiwweDE5MzAsMCx7MHg3ZiwweGZjLDB4NzQsMHgxYywweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZn19LAotIHsxNiwweDE5NDAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MH19LAotIHsxNiwweDE5NTAsMCx7MHhmMCwweDMwLDB4M2YsMHgwOSwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZSwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5N319LAotIHsxNiwweDE5NjAsMCx7MHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg4MCwweDAyLDB4ZjAsMHhkMn19LAotIHsxNiwweDE5NzAsMCx7MHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0NCwweDAyLDB4ZjAsMHg0NCwweDA4LDB4ZjAsMHgzMH19LAotIHsxNiwweDE5ODAsMCx7MHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHg5MH19LAotIHsxNiwweDE5OTAsMCx7MHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MCwweDc2LDB4OTUsMHhlMCwweDkwLDB4ODAsMHgwMSwweGYwLDB4OTAsMHg3Nn19LAotIHsxNiwweDE5YTAsMCx7MHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjUsMHg5MCwweDdmLDB4ZmMsMHg3NCwweGNjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NH19LAotIHsxNiwweDE5YjAsMCx7MHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYiwweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NH19LAotIHsxNiwweDE5YzAsMCx7MHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMCwweDkwLDB4NzYsMHg4MCwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MjUsMHg5MH19LAotIHsxNiwweDE5ZDAsMCx7MHg3ZiwweGZjLDB4NzQsMHhjOCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyZn19LAotIHsxNiwweDE5ZTAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMH19LAotIHsxNiwweDE5ZjAsMCx7MHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMywweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHg5OCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDFhMDAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4NWYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZH19LAotIHsxNiwweDFhMTAsMCx7MHhmMCwweDQ0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweDMwLDB4M2YsMHgwOX19LAotIHsxNiwweDFhMjAsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNiwweDFhMzAsMCx7MHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4ZDIsMHgyZSwweDIyLDB4OTAsMHg3NiwweDk1LDB4ZTAsMHg1NH19LAotIHsxNiwweDFhNDAsMCx7MHhmZSwweGYwLDB4NDQsMHgwMiwweGYwLDB4NDQsMHgwOCwweGYwLDB4MzAsMHgzZSwweDA2LDB4ZTAsMHg0NCwweDA0LDB4ZjAsMHg4MH19LAotIHsxNiwweDFhNTAsMCx7MHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTQsMHhmYiwweGYwLDB4OTAsMHg3NiwweDFhLDB4ZTAsMHhiNCwweDAxLDB4MDgsMHg5MH19LAotIHsxNiwweDFhNjAsMCx7MHg3NiwweDk1LDB4ZTAsMHg5MCwweDgwLDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MjUsMHg5MH19LAotIHsxNiwweDFhNzAsMCx7MHg3ZiwweGZjLDB4NzQsMHhiNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDhmLDB4NzQsMHgyYn19LAotIHsxNiwweDFhODAsMCx7MHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NTQsMHhmZCwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZTQsMHg5MCwweDc2LDB4ODEsMHhmMH19LAotIHsxNiwweDFhOTAsMCx7MHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwMiwweDI1LDB4OTAsMHg3ZiwweGZjLDB4NzQsMHhiMCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDFhYTAsMCx7MHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4ZiwweDc0LDB4MmYsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDQsMHgwMn19LAotIHsxNiwweDFhYjAsMCx7MHhmMCwweDU0LDB4ZmIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDgxLDB4ZjAsMHg5MCwweDc2LDB4ODAsMHhmMCwweGVmLDB4YjQsMHgwM319LAotIHsxNiwweDFhYzAsMCx7MHgyNSwweDkwLDB4N2YsMHhmYywweDc0LDB4NjgsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg4Zn19LAotIHsxNiwweDFhZDAsMCx7MHg3NCwweDVmLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDQ0LDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3Nn19LAotIHsxNiwweDFhZTAsMCx7MHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMH19LAotIHsxNiwweDFhZjAsMCx7MHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMn19LAotIHsgNCwweDFiMDAsMCx7MHhmMCwweGQyLDB4MmUsMHgyMn19LAotIHsxNiwweDFiMDQsMCx7MHgzMCwweDJjLDB4MzgsMHhjMiwweDJjLDB4OTAsMHg3NiwweDE5LDB4ZTAsMHhmZiwweGI0LDB4MDEsMHgwZSwweDkwLDB4NzYsMHg3Y319LAotIHsxNiwweDFiMTQsMCx7MHg3NCwweGMwLDB4ZjAsMHhhMywweDc0LDB4MTQsMHhmMCwweGEzLDB4NzQsMHgwYiwweGYwLDB4ZWYsMHhiNCwweDAyLDB4MGQsMHhlNH19LAotIHsxNiwweDFiMjQsMCx7MHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4NzQsMHgxMCwweGYwLDB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYn19LAotIHsxMiwweDFiMzQsMCx7MHhlNCwweDkwLDB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweDE4LDB4ZjAsMHhhMywweGYwLDB4MjJ9fSwKLSB7MTYsMHgxYjQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYjUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYjYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYjcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYjgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYjkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYmEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYmIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYmMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYmQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYmUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYmYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxYzkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxY2EwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxY2IwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxY2MwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxY2QwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxY2UwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxY2YwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZDkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZGEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZGIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZGMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZGQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZGUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZGYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTAwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTMwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTQwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTUwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTYwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTcwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTgwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZTkwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgxZWEwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTQsMHgxZWIwLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlYmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlY2UsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlZGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlZWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFlZmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmMGUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmMWUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDFmMmUsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsgMiwweDFmM2UsMCx7MHgwMCwweDAwfX0sCi0gezE2LDB4MWY0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWY1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWY2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWY3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWY4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWY5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWZhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWZiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWZjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWZkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWZlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MWZmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjAwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjAxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjAyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjAzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjA0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjA1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjA2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjA3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjA4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjA5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjBhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjBiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjBjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjBkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjBlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjBmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjEwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjExMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjEyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjEzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjE0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjE1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjE2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjE3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjE4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjE5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjFhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjFiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjFjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjFkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjFlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjFmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjIwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjIxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjIyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjIzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjI0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjI1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjI2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjI3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjI4MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjI5MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjJhMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjJiMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjJjMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjJkMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjJlMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjJmMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjMwMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjMxMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjMyMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjMzMCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM0MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM1MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE2LDB4MjM2MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwfX0sCi0gezE0LDB4MjM3MCwwLHsweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyMzllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyM2FlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyM2JlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyM2NlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyM2RlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyM2VlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyM2ZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNDllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNGFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNGJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNGNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNGRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNGVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNGZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNThlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNTllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNWFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNWJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNWNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNWRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNWVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNWZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjBlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjZlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjdlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjhlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNjllLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNmFlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNmJlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNmNlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTYsMHgyNmRlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDB9fSwKLSB7MTQsMHgyNmVlLDAsezB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI2ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3MGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3MWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3MmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3M2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3NGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3NWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3NmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3N2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3OGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3OWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3YWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3YmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3Y2MsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3ZGMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsxNiwweDI3ZWMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMH19LAotIHsgNSwweDI3ZmMsMCx7MHgwMCwweDAwLDB4MDAsMHgwMCwweDIyfX0sCi0gezE2LDB4MjgwMSwwLHsweGMyLDB4MjAsMHhjMiwweDIxLDB4YzIsMHgyYSwweDkwLDB4N2YsMHhlOCwweGUwLDB4MTIsMHgzNywweGY5LDB4MjgsMHgzMCwweDAwfX0sCi0gezE2LDB4MjgxMSwwLHsweDI4LDB4OGMsMHgwMSwweDI4LDB4YTIsMHgwMiwweDJhLDB4MWYsMHgyMSwweDJhLDB4NmEsMHgyMiwweDI5LDB4M2QsMHg4MCwweDI5fX0sCi0gezE2LDB4MjgyMSwwLHsweDdkLDB4ODEsMHgyOSwweGQxLDB4ODIsMHgyYSwweDg0LDB4YTEsMHgyYSwweGJhLDB4YTIsMHgwMCwweDAwLDB4MmEsMHhiZiwweDkwfX0sCi0gezE2LDB4MjgzMSwwLHsweDdmLDB4ZTksMHhlMCwweDE0LDB4NjAsMHgxMSwweDI0LDB4ZmUsMHg2MCwweDI4LDB4MjQsMHhmZSwweDYwLDB4M2IsMHgyNCwweGZjfX0sCi0gezE2LDB4Mjg0MSwwLHsweDcwLDB4NDAsMHgxMiwweDRiLDB4YTAsMHg0MSwweGNiLDB4MTIsMHg0ZCwweGE3LDB4NDAsMHgwMiwweDQxLDB4Y2IsMHg5MCwweDdmfX0sCi0gezE2LDB4Mjg1MSwwLHsweGVhLDB4ZTAsMHhiNCwweDAxLDB4MDQsMHhjMiwweDIyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE2LDB4Mjg2MSwwLHsweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTksMHg5MCwweDdmLDB4ZWEsMHhlMCwweGI0LDB4MDEsMHgwNCwweGQyLDB4MjIsMHg0MSwweGNifX0sCi0gezE2LDB4Mjg3MSwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0gezE2LDB4Mjg4MSwwLHsweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4ZTksMHhlMCwweDI0fX0sCi0gezE2LDB4Mjg5MSwwLHsweGY1LDB4NzAsMHgwNSwweDEyLDB4NDgsMHgwMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxfX0sCi0gezE2LDB4MjhhMSwwLHsweGNiLDB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweGZkLDB4NjAsMHg1NCwweDI0LDB4MDIsMHg2MCwweDAyLDB4MjEsMHgzNCwweDEyfX0sCi0gezE2LDB4MjhiMSwwLHsweDRkLDB4YTcsMHg0MCwweDAyLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlYSwweGUwLDB4NzAsMHgzOCwweDkwLDB4N2YsMHhlYywweGUwfX0sCi0gezE2LDB4MjhjMSwwLHsweGY0LDB4NTQsMHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1LDB4ZTAsMHgyNCwweGI0fX0sCi0gezE2LDB4MjhkMSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4N2YsMHhlYywweGUwLDB4NTQsMHg4MCwweGZmfX0sCi0gezE2LDB4MjhlMSwwLHsweDEzLDB4MTMsMHgxMywweDU0LDB4MWYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4OTAsMHg3ZiwweGQ3LDB4ZjAsMHhlMCwweDQ0fX0sCi0gezE2LDB4MjhmMSwwLHsweDIwLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4MTIsMHg0ZCwweGE5fX0sCi0gezE2LDB4MjkwMSwwLHsweDQwLDB4MDIsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg3MCwweDIwLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmNCwweDU0fX0sCi0gezE2LDB4MjkxMSwwLHsweDgwLDB4ZmYsMHhjNCwweDU0LDB4MGYsMHhmZiwweGUwLDB4NTQsMHgwNywweDJmLDB4MjUsMHhlMCwweDI0LDB4YjQsMHhmNSwweDgyfX0sCi0gezE2LDB4MjkyMSwwLHsweGU0LDB4MzQsMHg3ZiwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4MjkzMSwwLHsweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwfX0sCi0gezE2LDB4Mjk0MSwwLHsweDYwLDB4MTIsMHgyNCwweGY4LDB4NjAsMHgwOSwweDI0LDB4MDIsMHg3MCwweDI5LDB4MTIsMHg0MywweGRiLDB4NDEsMHhjYiwweDEyfX0sCi0gezE2LDB4Mjk1MSwwLHsweDRkLDB4NWMsMHg0MSwweGNiLDB4MTIsMHg0ZCwweGE1LDB4YTIsMHgyMiwweGU0LDB4MzMsMHhmZiwweDI1LDB4ZTAsMHhmZiwweGEyfX0sCi0gezE2LDB4Mjk2MSwwLHsweDIzLDB4ZTQsMHgzMywweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAyfX0sCi0gezE2LDB4Mjk3MSwwLHsweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhlOSwweGUwfX0sCi0gezE2LDB4Mjk4MSwwLHsweDYwLDB4MzMsMHgyNCwweGY2LDB4NjAsMHgyYSwweDI0LDB4MDQsMHg3MCwweDNkLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGRlfX0sCi0gezE2LDB4Mjk5MSwwLHsweDYwLDB4MGMsMHgwNCwweDcwLDB4MTIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmfX0sCi0gezE2LDB4MjlhMSwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNifX0sCi0gezE2LDB4MjliMSwwLHsweDEyLDB4NDYsMHg4NSwweDQxLDB4Y2IsMHgxMiwweDRkLDB4YTUsMHhlNCwweDkwLDB4N2YsMHgwMCwweGYwLDB4YTMsMHhmMCwweDkwfX0sCi0gezE2LDB4MjljMSwwLHsweDdmLDB4YjUsMHg3NCwweDAyLDB4ZjAsMHg0MSwweGNiLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg0MSwweGNifX0sCi0gezE2LDB4MjlkMSwwLHsweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmNCwweDYwLDB4MzQsMHgyNCwweDBjLDB4NzAsMHgzOSwweDEyLDB4NGQsMHhhNSwweDkwfX0sCi0gezE2LDB4MjllMSwwLHsweDdmLDB4ZWMsMHhlMCwweGY0LDB4NTQsMHg4MCwweGZmLDB4YzQsMHg1NCwweDBmLDB4ZmYsMHhlMCwweDU0LDB4MDcsMHgyZiwweDI1fX0sCi0gezE2LDB4MjlmMSwwLHsweGUwLDB4MjQsMHhiNCwweGY1LDB4ODIsMHhlNCwweDM0LDB4N2YsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGZkLDB4OTAsMHg3ZiwweDAwfX0sCi0gezE2LDB4MmEwMSwwLHsweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMiwweGYwLDB4NDEsMHhjYiwweDkwLDB4N2YsMHhiNCwweGUwfX0sCi0gezE2LDB4MmExMSwwLHsweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDQxLDB4Y2IsMHg5MCwweDdmfX0sCi0gezE2LDB4MmEyMSwwLHsweGU5LDB4ZTAsMHgyNCwweGY2LDB4NjAsMHgxMiwweDE0LDB4NjAsMHgxYSwweDI0LDB4MDIsMHg3MCwweDFkLDB4ZDIsMHgyMCwweDkwfX0sCi0gezE2LDB4MmEzMSwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MTIsMHhkMiwweDIwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxfX0sCi0gezE2LDB4MmE0MSwwLHsweGYwLDB4ODAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyMCwweDE4LDB4OTAsMHg3ZiwweGVlfX0sCi0gezE2LDB4MmE1MSwwLHsweGUwLDB4NzAsMHgwNCwweGEzLDB4ZTAsMHg2MCwweDBiLDB4ZDIsMHgyOSwweGQyLDB4MjcsMHgxMiwweDE3LDB4NGEsMHhkMiwweDJhfX0sCi0gezE2LDB4MmE2MSwwLHsweDgwLDB4MDMsMHgxMiwweDA4LDB4MDAsMHhjMiwweDIwLDB4ODAsMHg2MSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzAsMHgwNCwweGEzfX0sCi0gezE2LDB4MmE3MSwwLHsweGUwLDB4NjAsMHgwYiwweGQyLDB4MjksMHhkMiwweDI4LDB4MTIsMHgxNywweDRhLDB4ZDIsMHgyYSwweDgwLDB4NGMsMHgxMiwweDM4fX0sCi0gezE2LDB4MmE4MSwwLHsweDc0LDB4ODAsMHg0NywweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4MTIsMHgxNCwweDYwLDB4MWEsMHgyNCwweDAyfX0sCi0gezE2LDB4MmE5MSwwLHsweDcwLDB4MWQsMHhkMiwweDIxLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDEyLDB4ZDIsMHgyMSwweDkwfX0sCi0gezE2LDB4MmFhMSwwLHsweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIwfX0sCi0gezE2LDB4MmFiMSwwLHsweDIxLDB4MDMsMHgxMiwweDEwLDB4MDAsMHhjMiwweDIxLDB4ODAsMHgxMSwweDEyLDB4MmEsMHhkNiwweDgwLDB4MGMsMHgxMiwweDRkfX0sCi0gezE2LDB4MmFjMSwwLHsweGFiLDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjAsMHgyYSwweDA3LDB4OTAsMHg3ZiwweGI0fX0sCi0geyA1LDB4MmFkMSwwLHsweGUwLDB4NDQsMHgwMiwweGYwLDB4MjJ9fSwKLSB7MTYsMHgyYWQ2LDAsezB4ZTQsMHg5MCwweDc2LDB4MjcsMHhmMCwweDkwLDB4NzYsMHgyNywweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDJ9fSwKLSB7MTYsMHgyYWU2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZlLDB4OTAsMHg3ZiwweGVjLDB4ZTAsMHhmZCwweGVlLDB4NmR9fSwKLSB7MTYsMHgyYWY2LDAsezB4NjAsMHgwZSwweGVmLDB4YzMsMHg5NCwweDA2LDB4NTAsMHgwOCwweDkwLDB4NzYsMHgyNywweGUwLDB4MDQsMHhmMCwweDgwLDB4ZDV9fSwKLSB7MTYsMHgyYjA2LDAsezB4ZWYsMHhiNCwweDA2LDB4MDgsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4ZWYsMHg3NSwweGYwLDB4MGZ9fSwKLSB7MTYsMHgyYjE2LDAsezB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzYsMHgyOCwweGYwLDB4MjR9fSwKLSB7MTYsMHgyYjI2LDAsezB4OWYsMHg3MCwweDAyLDB4YTEsMHg3NCwweDI0LDB4MjEsMHg2MCwweDAyLDB4YTEsMHhhMSwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjR9fSwKLSB7MTYsMHgyYjM2LDAsezB4N2UsMHg3MCwweDAyLDB4NjEsMHhmYywweDE0LDB4NzAsMHgwMiwweDgxLDB4YjUsMHgyNCwweDAyLDB4NjAsMHgwMiwweGExLDB4NmN9fSwKLSB7MTYsMHgyYjQ2LDAsezB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmN9fSwKLSB7MTYsMHgyYjU2LDAsezB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg0NCwweDdhLDB4YWMsMHg3OSwweDAwLDB4Nzh9fSwKLSB7MTYsMHgyYjY2LDAsezB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDQ0LDB4ZjAsMHhhMywweDc0LDB4YWN9fSwKLSB7MTYsMHgyYjc2LDAsezB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjB9fSwKLSB7MTYsMHgyYjg2LDAsezB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmR9fSwKLSB7MTYsMHgyYjk2LDAsezB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHg4MCwweDdhLDB4YmIsMHg3OSwweDAwLDB4NzgsMHgwMCwweGMzLDB4MTJ9fSwKLSB7MTYsMHgyYmE2LDAsezB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDAsMHg3NCwweDgwLDB4ZjAsMHhhMywweDc0LDB4YmIsMHhmMCwweGU0LDB4YTN9fSwKLSB7MTYsMHgyYmI2LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDc2LDB4MjcsMHhlMCwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjR9fSwKLSB7MTYsMHgyYmM2LDAsezB4NDMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmV9fSwKLSB7MTYsMHgyYmQ2LDAsezB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4NzcsMHg3OSwweDAxLDB4NzgsMHgwMCwweGMzLDB4MTIsMHgzNywweGFiLDB4NjB9fSwKLSB7MTYsMHgyYmU2LDAsezB4MDIsMHhhMSwweGE4LDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTB9fSwKLSB7MTYsMHgyYmY2LDAsezB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDd9fSwKLSB7MTYsMHgyYzA2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTN9fSwKLSB7MTYsMHgyYzE2LDAsezB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTN9fSwKLSB7MTYsMHgyYzI2LDAsezB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTMsMHg3NCwweGFjLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjV9fSwKLSB7MTYsMHgyYzM2LDAsezB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHgyYzQ2LDAsezB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2J9fSwKLSB7MTYsMHgyYzU2LDAsezB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDcwLDB4MTMsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHgyYzY2LDAsezB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAzLDB4ZjB9fSwKLSB7MTYsMHgyYzc2LDAsezB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgyYzg2LDAsezB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4N2IsMHgwMCwweDdhLDB4Nzd9fSwKLSB7MTYsMHgyYzk2LDAsezB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4MzcsMHhhYiwweDYwLDB4MDIsMHhhMSwweGE4LDB4OTAsMHg3ZiwweDAwLDB4ZjB9fSwKLSB7MTYsMHgyY2E2LDAsezB4YTMsMHg3NCwweDc3LDB4ZjAsMHhhMywweDc0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTB9fSwKLSB7MTYsMHgyY2I2LDAsezB4NzYsMHgyNywweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgyY2M2LDAsezB4ZTAsMHhmYywweGEzLDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4NDQsMHg3YSwweGFjLDB4Nzl9fSwKLSB7MTYsMHgyY2Q2LDAsezB4MDAsMHg3OCwweDAwLDB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg0NCwweGYwLDB4YTN9fSwKLSB7MTYsMHgyY2U2LDAsezB4NzQsMHhhYywweGYwLDB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTB9fSwKLSB7MTYsMHgyY2Y2LDAsezB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTN9fSwKLSB7MTYsMHgyZDA2LDAsezB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4ODAsMHg3YSwweGJiLDB4NzksMHgwMCwweDc4LDB4MDB9fSwKLSB7MTYsMHgyZDE2LDAsezB4YzMsMHgxMiwweDM3LDB4YWIsMHg3MCwweDEzLDB4OTAsMHg3ZiwweDAwLDB4NzQsMHg4MCwweGYwLDB4YTMsMHg3NCwweGJiLDB4ZjB9fSwKLSB7MTYsMHgyZDI2LDAsezB4ZTQsMHhhMywweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMywweGYwLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGZ9fSwKLSB7MTYsMHgyZDM2LDAsezB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweGZjLDB4YTMsMHhlMCwweGZkLDB4YTN9fSwKLSB7MTYsMHgyZDQ2LDAsezB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDdiLDB4MDAsMHg3YSwweDc3LDB4NzksMHgwMSwweDc4LDB4MDAsMHhjMywweDEyLDB4Mzd9fSwKLSB7MTYsMHgyZDU2LDAsezB4YWIsMHg3MCwweDRmLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHhhMywweDc0LDB4NzcsMHhmMCwweGEzLDB4NzQsMHgwMSwweGYwLDB4OTB9fSwKLSB7MTYsMHgyZDY2LDAsezB4N2YsMHhiNSwweDc0LDB4MDMsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2Z9fSwKLSB7MTYsMHgyZDc2LDAsezB4ZTksMHhlMCwweDI0LDB4N2YsMHg3MCwweDFlLDB4OTAsMHg3NiwweDI3LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NGZ9fSwKLSB7MTYsMHgyZDg2LDAsezB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzR9fSwKLSB7MTYsMHgyZDk2LDAsezB4MDEsMHhmMCwweDgwLDB4MDcsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDR9fSwKLSB7IDMsMHgyZGE2LDAsezB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4MmRhOSwwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MmRiOSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMSwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyfX0sCi0gezE2LDB4MmRjOSwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1fX0sCi0gezE2LDB4MmRkOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmfX0sCi0gezE2LDB4MmRlOSwwLHsweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgxMCwweGYwfX0sCi0gezE2LDB4MmRmOSwwLHsweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA1fX0sCi0gezE2LDB4MmUwOSwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0fX0sCi0gezE2LDB4MmUxOSwwLHsweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZSwweGY1fX0sCi0gezE2LDB4MmUyOSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDIsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBmfX0sCi0gezE2LDB4MmUzOSwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fX0sCi0gezE2LDB4MmU0OSwwLHsweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwfX0sCi0gezE2LDB4MmU1OSwwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fX0sCi0gezE2LDB4MmU2OSwwLHsweDAxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgwZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MmU3OSwwLHsweDc0LDB4MDMsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDEwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MmU4OSwwLHsweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fX0sCi0gezE2LDB4MmU5OSwwLHsweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDEwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0fX0sCi0gezE2LDB4MmVhOSwwLHsweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDYsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4MmViOSwwLHsweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwfX0sCi0gezE2LDB4MmVjOSwwLHsweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4MmVkOSwwLHsweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4MmVlOSwwLHsweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4MmVmOSwwLHsweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE2LDB4MmYwOSwwLHsweGE0LDB4MjQsMHgwZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwfX0sCi0gezE2LDB4MmYxOSwwLHsweDAzLDB4YTQsMHgyNCwweDBmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA4LDB4ZjAsMHhlZiwweDc1fX0sCi0gezE2LDB4MmYyOSwwLHsweGYwLDB4MDMsMHhhNCwweDI0LDB4MTAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDkwfX0sCi0gezE2LDB4MmYzOSwwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4MmY0OSwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwMiwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyfX0sCi0gezE2LDB4MmY1OSwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDBhLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1fX0sCi0gezE2LDB4MmY2OSwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwfX0sCi0gezE2LDB4MmY3OSwwLHsweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyfX0sCi0gezE2LDB4MmY4OSwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fX0sCi0gezE2LDB4MmY5OSwwLHsweDA5LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4MmZhOSwwLHsweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0fX0sCi0gezE2LDB4MmZiOSwwLHsweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0fX0sCi0gezE2LDB4MmZjOSwwLHsweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDcsMHhmMCwweGVmLDB4NzUsMHhmMCwweDAzfX0sCi0gezE0LDB4MmZkOSwwLHsweGE0LDB4MjQsMHgxMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHgwNCwweGYwLDB4MjJ9fSwKLSB7MTYsMHgyZmU3LDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4ZDIsMHgyNiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDF9fSwKLSB7IDgsMHgyZmY3LDAsezB4ZjAsMHhkMCwweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsgMSwweDJmZmYsMCx7MHgzMn19LAotIHsxNiwweDMwMDAsMCx7MHg5MCwweDdmLDB4YjYsMHhlMCwweDIwLDB4ZTEsMHgwMiwweGMyLDB4M2QsMHhkMiwweDM2LDB4MjAsMHgzNiwweDAyLDB4NDEsMHg2ZX19LAotIHsxNiwweDMwMTAsMCx7MHgzMCwweDNkLDB4MDIsMHg0MSwweDZlLDB4OTAsMHg4MCwweDA3LDB4ZTAsMHg2MCwweDA0LDB4ZDIsMHgzNiwweDgwLDB4MDIsMHhjMn19LAotIHsxNiwweDMwMjAsMCx7MHgzNiwweDIwLDB4MzYsMHgwMiwweDQxLDB4MmUsMHhkMiwweDM1LDB4ZTQsMHhmNSwweDFhLDB4OTAsMHg4MCwweDA0LDB4ZTAsMHhmNX19LAotIHsxNiwweDMwMzAsMCx7MHgxOSwweDc0LDB4MDgsMHgyNSwweDBlLDB4ZjgsMHhhNiwweDE5LDB4ODUsMHgxOSwweDE4LDB4ZTUsMHgxOCwweDIwLDB4ZTcsMHgwNH19LAotIHsxNiwweDMwNDAsMCx7MHhkMiwweDM4LDB4ODAsMHgwMiwweGMyLDB4MzgsMHgzMCwweDM4LDB4MDIsMHgyMSwweGQ0LDB4ZTQsMHhmNSwweDE2LDB4ZTUsMHgxOX19LAotIHsxNiwweDMwNTAsMCx7MHhiNCwweGYwLDB4MGMsMHhkMiwweDM5LDB4NzUsMHgwOCwweDA0LDB4NzUsMHgwOSwweGYwLDB4MDUsMHgwZSwweDgwLDB4MDIsMHgwNX19LAotIHsxNiwweDMwNjAsMCx7MHgxNiwweGU1LDB4MTksMHg2NCwweGY3LDB4NzAsMHgzZCwweGMyLDB4MzksMHhlNSwweDBlLDB4MjQsMHhmZSwweDYwLDB4MTcsMHgxNH19LAotIHsxNiwweDMwNzAsMCx7MHg2MCwweDIyLDB4MjQsMHgwMywweDcwLDB4MjksMHg3NSwweDA4LDB4MDUsMHg3NSwweDA5LDB4ZjcsMHhlNCwweGY1LDB4MGEsMHhmNX19LAotIHsxNiwweDMwODAsMCx7MHgwYiwweDc1LDB4MGUsMHgwNCwweDgwLDB4MjAsMHg3NSwweDA4LDB4MDYsMHg3NSwweDBhLDB4ZjcsMHhlNCwweGY1LDB4MGIsMHg3NX19LAotIHsxNiwweDMwOTAsMCx7MHgwZSwweDA0LDB4ODAsMHgxMiwweDc1LDB4MDgsMHgwNywweDc1LDB4MGIsMHhmNywweDc1LDB4MGUsMHgwNCwweDgwLDB4MDcsMHgxMn19LAotIHsxNiwweDMwYTAsMCx7MHg0OCwweGYzLDB4ODAsMHgwMiwweDA1LDB4MTYsMHhlNSwweDE5LDB4NTQsMHhmOCwweDY0LDB4ZjgsMHg3MCwweDNiLDB4YzIsMHgzNX19LAotIHsxNiwweDMwYjAsMCx7MHhlNSwweDE5LDB4MjQsMHgwNywweDYwLDB4MGMsMHgyNCwweGZjLDB4NjAsMHgwOCwweDI0LDB4MDUsMHgyNCwweGY4LDB4NTAsMHgwNn19LAotIHsxNiwweDMwYzAsMCx7MHg4MCwweDA4LDB4ZDIsMHgzYSwweDgwLDB4MDYsMHhjMiwweDNhLDB4ODAsMHgwMiwweGQyLDB4M2EsMHg3NSwweDFhLDB4MDEsMHgyMH19LAotIHsxNiwweDMwZDAsMCx7MHgzYSwweDE5LDB4OTAsMHg3ZSwweDgwLDB4NzQsMHgwZiwweGYwLDB4YTMsMHhlNSwweDE5LDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDMwZTAsMCx7MHhmMCwweDkwLDB4N2YsMHhiNywweDc0LDB4MDQsMHhmMCwweDgwLDB4MDIsMHgwNSwweDE2LDB4MjAsMHgzOSwweDZkLDB4ZTUsMHgxOX19LAotIHsxNiwweDMwZjAsMCx7MHg2NCwweGY3LDB4NjAsMHg2NywweGU1LDB4MWEsMHg3MCwweDYzLDB4ZTUsMHgxOCwweDU0LDB4ZjAsMHg2NCwweGYwLDB4NzAsMHg1OX19LAotIHsxNiwweDMxMDAsMCx7MHg4NSwweDE4LDB4MTksMHhmNSwweDBlLDB4ZTUsMHgxOSwweDI0LDB4MGYsMHg2MCwweDFiLDB4MjQsMHhmZSwweDYwLDB4MTcsMHgyNH19LAotIHsxNiwweDMxMTAsMCx7MHhmZCwweDYwLDB4MjIsMHgxNCwweDYwLDB4MWYsMHgyNCwweDA1LDB4NzAsMHgyZiwweDc1LDB4MDgsMHgwMywweDA1LDB4MGUsMHg4NX19LAotIHsxNiwweDMxMjAsMCx7MHgxOCwweDA5LDB4ZDIsMHgzNywweDgwLDB4MjgsMHg3NSwweDA4LDB4MDIsMHgwNSwweDBlLDB4ODUsMHgxOCwweDA5LDB4NzUsMHgxNH19LAotIHsxNiwweDMxMzAsMCx7MHgwMSwweGQyLDB4MzcsMHg4MCwweDE5LDB4NzUsMHgwOCwweDA1LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweGU0LDB4ZjUsMHgwYX19LAotIHsxNiwweDMxNDAsMCx7MHhmNSwweDBiLDB4NzUsMHgwZSwweDAzLDB4ZDIsMHgzNywweDgwLDB4MDUsMHgxMiwweDQ4LDB4ZjMsMHhjMiwweDM1LDB4MzAsMHgzNX19LAotIHsxNiwweDMxNTAsMCx7MHgwYSwweDg1LDB4MDgsMHgxMywweDg1LDB4MTgsMHgxMiwweDgwLDB4MDIsMHgwNSwweDE2LDB4ODUsMHgxOCwweDE5LDB4ZTUsMHgxNn19LAotIHsxNiwweDMxNjAsMCx7MHg2NCwweDA0LDB4NzAsMHg2MiwweGY1LDB4MGUsMHhlNSwweDE5LDB4NTQsMHhmMCwweGY1LDB4MTksMHhmNSwweDE1LDB4ODUsMHgxOH19LAotIHsxNiwweDMxNzAsMCx7MHgxOSwweGU1LDB4MTUsMHgyNCwweDcwLDB4NjAsMHgxOCwweDI0LDB4ZjAsMHg2MCwweDE0LDB4MjQsMHhmMCwweDYwLDB4MTAsMHgyNH19LAotIHsxNiwweDMxODAsMCx7MHhmMCwweDYwLDB4MWUsMHgyNCwweGYwLDB4NjAsMHgxYSwweDI0LDB4ZjAsMHg2MCwweDA0LDB4MjQsMHg2MCwweDcwLDB4MjcsMHhlNX19LAotIHsxNiwweDMxOTAsMCx7MHgxNSwweGM0LDB4NTQsMHgwZiwweGY1LDB4MTksMHhmNSwweDA4LDB4MDUsMHgwZSwweDg1LDB4MTgsMHgwOSwweGQyLDB4MzcsMHg4MH19LAotIHsxNiwweDMxYTAsMCx7MHgxYSwweGU1LDB4MTUsMHhjNCwweDU0LDB4MGYsMHhmNSwweDE5LDB4ZjUsMHgwOCwweDA1LDB4MGUsMHg4NSwweDE4LDB4MDksMHg3NX19LAotIHsxNiwweDMxYjAsMCx7MHgxNCwweDAxLDB4ZDIsMHgzNywweDgwLDB4MDUsMHgxMiwweDQ4LDB4ZjMsMHhjMiwweDM1LDB4MzAsMHgzNSwweDBhLDB4ODUsMHgxOX19LAotIHsxNiwweDMxYzAsMCx7MHgxMywweDg1LDB4MTgsMHgxMiwweDgwLDB4MDIsMHgwNSwweDE2LDB4ZTUsMHgxNiwweGQzLDB4OTQsMHgwNSwweDQwLDB4NTcsMHgxMn19LAotIHsxNiwweDMxZDAsMCx7MHg0OCwweGYzLDB4ODAsMHg1MiwweDMwLDB4MzksMHgxNywweGU1LDB4MGUsMHg3MCwweDBhLDB4ODUsMHgwOCwweDA5LDB4NzUsMHgwOH19LAotIHsxNiwweDMxZTAsMCx7MHgwNCwweDA1LDB4MGUsMHg4MCwweDQxLDB4NzQsMHgwOCwweDI1LDB4MGUsMHhmOCwweGE2LDB4MTksMHg4MCwweDM4LDB4MjAsMHgzN319LAotIHsxNiwweDMxZjAsMCx7MHgyYSwweGU1LDB4MGUsMHhiNCwweDAxLDB4MGYsMHg4NSwweDA4LDB4MGEsMHg4NSwweDA5LDB4MGIsMHg4NSwweDEzLDB4MDgsMHg4NX19LAotIHsxNiwweDMyMDAsMCx7MHgxMiwweDA5LDB4NzUsMHgwZSwweDA0LDB4ZTUsMHgxNCwweGI0LDB4MDEsMHgxYywweDg1LDB4MDgsMHgwYSwweGU0LDB4ZjUsMHgwYn19LAotIHsxNiwweDMyMTAsMCx7MHg4NSwweDEzLDB4MDgsMHg4NSwweDEyLDB4MDksMHg3NSwweDBlLDB4MDQsMHg4MCwweDBiLDB4ZTUsMHgxNCwweGI0LDB4MDEsMHgwNn19LAotIHsxNiwweDMyMjAsMCx7MHhlNCwweGY1LDB4MGIsMHg3NSwweDBlLDB4MDQsMHhlNCwweGY1LDB4MWEsMHgzMCwweDM1LDB4MDIsMHgwNSwweDBlLDB4ZTUsMHgwZX19LAotIHsxNiwweDMyMzAsMCx7MHhkMywweDk0LDB4MDMsMHg1MCwweDAyLDB4MDEsMHgwYiwweGMyLDB4MzcsMHhlNCwweGY1LDB4MGUsMHhmNSwweDEwLDB4YzIsMHgzNn19LAotIHsxNiwweDMyNDAsMCx7MHhkMiwweDNkLDB4ZjUsMHgxNCwweDc0LDB4MDgsMHgyNSwweDEwLDB4ZjgsMHhlNiwweGZmLDB4NzQsMHg4MCwweDI1LDB4MTAsMHhmNX19LAotIHsxNiwweDMyNTAsMCx7MHg4MiwweGU0LDB4MzQsMHg3ZSwweGY1LDB4ODMsMHhlZiwweGYwLDB4NzQsMHgwOCwweDI1LDB4MTAsMHhmOCwweGU0LDB4ZjYsMHgwNX19LAotIHsxNSwweDMyNjAsMCx7MHgxMCwweGU1LDB4MTAsMHhiNCwweDA0LDB4ZGUsMHg5MCwweDdmLDB4YjcsMHg3NCwweDA0LDB4ZjAsMHgwMSwweDBiLDB4MjJ9fSwKLSB7MTYsMHgzMjZmLDAsezB4OTAsMHg3NiwweDE4LDB4ZTAsMHhmZiwweDY0LDB4MDUsMHg3MCwweDQyLDB4OTAsMHg3NSwweGFiLDB4ZTAsMHhiNCwweDAxLDB4MTl9fSwKLSB7MTYsMHgzMjdmLDAsezB4OTAsMHg3MiwweDM3LDB4NzQsMHgwMSwweGYwLDB4ZTQsMHg5MCwweDgwLDB4MjAsMHhmMCwweDkwLDB4ODAsMHgzMSwweGYwLDB4OTB9fSwKLSB7MTYsMHgzMjhmLDAsezB4ODAsMHgyOCwweGYwLDB4OTAsMHg4MCwweDM5LDB4ZjAsMHg4MCwweDIyLDB4ZTQsMHg5MCwweDcyLDB4MzcsMHhmMCwweDkwLDB4NzV9fSwKLSB7MTYsMHgzMjlmLDAsezB4YWQsMHhlMCwweDkwLDB4NzIsMHgyYiwweGYwLDB4ZTAsMHgyNCwweDgwLDB4ZjAsMHhlMCwweDkwLDB4ODAsMHgyMCwweGYwLDB4OTB9fSwKLSB7MTYsMHgzMmFmLDAsezB4ODAsMHgzMSwweGYwLDB4OTAsMHg4MCwweDI4LDB4ZjAsMHg5MCwweDgwLDB4MzksMHhmMCwweGVmLDB4NjQsMHgwNiwweDYwLDB4MDJ9fSwKLSB7MTYsMHgzMmJmLDAsezB4ODEsMHg5OSwweDkwLDB4NzIsMHgzOSwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4ZmYsMHgyNCwweGZlLDB4OTB9fSwKLSB7MTYsMHgzMmNmLDAsezB4NzIsMHgwNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjV9fSwKLSB7MTYsMHgzMmRmLDAsezB4ODMsMHhlMCwweDY0LDB4MDEsMHg3MCwweDU0LDB4OTAsMHg3MiwweDM2LDB4MDQsMHhmMCwweDkwLDB4NzIsMHgwNCwweGUwLDB4ZmZ9fSwKLSB7MTYsMHgzMmVmLDAsezB4MjQsMHhmZCwweDYwLDB4MjgsMHgyNCwweGZlLDB4NjAsMHgyNCwweDI0LDB4MDMsMHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MWN9fSwKLSB7MTYsMHgzMmZmLDAsezB4ODEsMHg4YywweDc0LDB4MjAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc0LDB4Mjh9fSwKLSB7MTYsMHgzMzBmLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg4MSwweDhjLDB4OTAsMHg3MiwweDA0LDB4ZTB9fSwKLSB7MTYsMHgzMzFmLDAsezB4ZmYsMHgyNCwweDMwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzQsMHgzOCwweDJmLDB4ZjV9fSwKLSB7MTYsMHgzMzJmLDAsezB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDgxLDB4OGMsMHhlNCwweDkwLDB4NzIsMHgzNiwweGYwLDB4OTB9fSwKLSB7MTYsMHgzMzNmLDAsezB4NzIsMHgzOSwweGUwLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgzMzRmLDAsezB4ZTAsMHhmZiwweDdlLDB4MDAsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4NzAsMHgwNiwweDkwLDB4NzJ9fSwKLSB7MTYsMHgzMzVmLDAsezB4MDIsMHg3NCwweDNiLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4NjQsMHg4MCwweDRlLDB4NzB9fSwKLSB7MTYsMHgzMzZmLDAsezB4MDQsMHg5MCwweDcyLDB4MDIsMHhmMCwweGVmLDB4NGUsMHg3MCwweDAyLDB4ODEsMHgzNSwweGVmLDB4NjQsMHg4MCwweDRlLDB4NzB9fSwKLSB7MTYsMHgzMzdmLDAsezB4MDIsMHg4MSwweDM1LDB4ZWYsMHhmOCwweGU0LDB4OTAsMHg3NSwweDBkLDB4ZjAsMHhlOCwweDkwLDB4NzUsMHgwYywweGYwLDB4OTB9fSwKLSB7MTYsMHgzMzhmLDAsezB4NzIsMHgzNCwweGUwLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODN9fSwKLSB7MTYsMHgzMzlmLDAsezB4ZTAsMHhmZiwweDkwLDB4NzIsMHgwMiwweGYwLDB4OTAsMHg3NSwweDBkLDB4ZTAsMHgyZiwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTB9fSwKLSB7MTYsMHgzM2FmLDAsezB4MzQsMHgwMCwweGYwLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweGU0LDB4ZmMsMHhmZCwweDdiLDB4ZDYsMHg3YSwweGE1LDB4Zjl9fSwKLSB7MTYsMHgzM2JmLDAsezB4ZjgsMHhkMywweDEyLDB4MzcsMHg5NSwweDQwLDB4MGEsMHg5MCwweDc1LDB4MGMsMHg3NCwweGE1LDB4ZjAsMHhhMywweDc0LDB4ZDZ9fSwKLSB7MTYsMHgzM2NmLDAsezB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMCwweDI0LDB4MmEsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHg1YSwweGYwLDB4ZTB9fSwKLSB7MTYsMHgzM2RmLDAsezB4ZmUsMHhhMywweGUwLDB4NzgsMHgwNSwweGNlLDB4YTIsMHhlNywweDEzLDB4Y2UsMHgxMywweGQ4LDB4ZjgsMHhmZiwweDkwLDB4NzV9fSwKLSB7MTYsMHgzM2VmLDAsezB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZiwweGYwLDB4OTAsMHg3MiwweDJjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweGQzLDB4OTR9fSwKLSB7MTYsMHgzM2ZmLDAsezB4ZDIsMHhlZSwweDY0LDB4ODAsMHg5NCwweDgyLDB4NDAsMHgwYSwweDkwLDB4NzIsMHgyYywweDc0LDB4MDIsMHhmMCwweGEzLDB4NzR9fSwKLSB7MTYsMHgzNDBmLDAsezB4ZDIsMHhmMCwweGMzLDB4OTAsMHg3MiwweDJjLDB4ZTAsMHg2NCwweDgwLDB4OTQsMHg4MCwweDUwLDB4MDQsMHhlNCwweGYwLDB4YTN9fSwKLSB7MTYsMHgzNDFmLDAsezB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlMCwweGZlLDB4YTMsMHhlMCwweDI0LDB4M2EsMHhmNSwweDgyLDB4ZWUsMHgzNCwweDcyLDB4ZjV9fSwKLSB7MTYsMHgzNDJmLDAsezB4ODMsMHhlMCwweDkwLDB4NzIsMHgwMiwweGYwLDB4OTAsMHg3MiwweDA0LDB4ZTAsMHhmZiwweDI0LDB4ZmQsMHg2MCwweDJkLDB4MjR9fSwKLSB7MTYsMHgzNDNmLDAsezB4ZmUsMHg2MCwweDI5LDB4MjQsMHgwMywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NjAsMHgyMSwweDgwLDB4NDAsMHg5MCwweDcyLDB4MDJ9fSwKLSB7MTYsMHgzNDRmLDAsezB4ZTAsMHhmZSwweDc0LDB4MjAsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWUsMHhmMCwweDc0LDB4Mjh9fSwKLSB7MTYsMHgzNDVmLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg4MCwweDIxLDB4OTAsMHg3MiwweDAyLDB4ZTB9fSwKLSB7MTYsMHgzNDZmLDAsezB4ZmYsMHg5MCwweDcyLDB4MDQsMHhlMCwweGZlLDB4MjQsMHgzMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ODAsMHhmNSwweDgzLDB4ZWZ9fSwKLSB7MTYsMHgzNDdmLDAsezB4ZjAsMHg3NCwweDM4LDB4MmUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg5MCwweDcyLDB4Mzl9fSwKLSB7MTEsMHgzNDhmLDAsezB4ZTAsMHgwNCwweGYwLDB4ZTAsMHg2NCwweDBhLDB4NjAsMHgwMiwweDQxLDB4YzcsMHgyMn19LAotIHsxNiwweDM0OWEsMCx7MHg5MCwweDc2LDB4MTgsMHhlMCwweGZmLDB4YjQsMHgwNSwweDIzLDB4OTAsMHg3MiwweDM3LDB4ZTAsMHg3MCwweDFkLDB4OTAsMHg3NX19LAotIHsxNiwweDM0YWEsMCx7MHhhZCwweGUwLDB4OTAsMHg3MiwweDJiLDB4ZjAsMHhlMCwweDI0LDB4ODAsMHhmMCwweGUwLDB4OTAsMHg4MCwweDIwLDB4ZjAsMHg5MH19LAotIHsxNiwweDM0YmEsMCx7MHg4MCwweDMxLDB4ZjAsMHg5MCwweDgwLDB4MjgsMHhmMCwweDkwLDB4ODAsMHgzOSwweGYwLDB4ZWYsMHg2NCwweDA2LDB4NjAsMHgwMn19LAotIHsxNiwweDM0Y2EsMCx7MHhjMSwweDkxLDB4OTAsMHg3MiwweDM2LDB4ZTAsMHg2MCwweDAyLDB4YzEsMHg5MSwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgzMX19LAotIHsxNiwweDM0ZGEsMCx7MHg5MCwweDcyLDB4MDMsMHg3NCwweDAzLDB4ZjAsMHg5MCwweDcyLDB4MDMsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNH19LAotIHsxNiwweDM0ZWEsMCx7MHhhYSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4NzIsMHgyOSwweGUwLDB4ZmQsMHhlZX19LAotIHsxNiwweDM0ZmEsMCx7MHg2ZCwweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwYSwweDUwLDB4MDgsMHg5MCwweDcyLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg4MH19LAotIHsxNiwweDM1MGEsMCx7MHhkNSwweDkwLDB4NzIsMHgzOSwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzYsMHg0MCwweGUwLDB4NzAsMHgwOCwweDkwLDB4NzIsMHgwM319LAotIHsxNiwweDM1MWEsMCx7MHhlMCwweDkwLDB4NzIsMHgzOSwweGYwLDB4OTAsMHg3MiwweDM5LDB4ZTAsMHhmZCwweDI0LDB4ZmUsMHg5MCwweDcyLDB4MmEsMHhmMH19LAotIHsxNiwweDM1MmEsMCx7MHhlZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZn19LAotIHsxNiwweDM1M2EsMCx7MHg3ZSwweDAwLDB4OTAsMHg3NSwweDBjLDB4ZWUsMHhmMCwweGEzLDB4ZWYsMHhmMCwweDcwLDB4MDYsMHg5MCwweDcyLDB4MDIsMHg3NH19LAotIHsxNiwweDM1NGEsMCx7MHg4MCwweGYwLDB4OTAsMHg3NSwweDBjLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZiwweDY0LDB4ODAsMHg0ZSwweDcwLDB4MDQsMHg5MH19LAotIHsxNiwweDM1NWEsMCx7MHg3MiwweDAyLDB4ZjAsMHhlZiwweDRlLDB4NzAsMHgwMiwweGMxLDB4MWIsMHhlZiwweDY0LDB4ODAsMHg0ZSwweDcwLDB4MDIsMHhjMX19LAotIHsxNiwweDM1NmEsMCx7MHgxYiwweGVmLDB4ZjgsMHhlNCwweDkwLDB4NzUsMHgwZCwweGYwLDB4ZTgsMHg5MCwweDc1LDB4MGMsMHhmMCwweGVkLDB4NzUsMHhmMH19LAotIHsxNiwweDM1N2EsMCx7MHgwYSwweGE0LDB4MjQsMHhhYywweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZiwweDkwLDB4NzIsMHgwMn19LAotIHsxNiwweDM1OGEsMCx7MHhmMCwweDkwLDB4NzUsMHgwZCwweGUwLDB4MmYsMHhmMCwweDkwLDB4NzUsMHgwYywweGUwLDB4MzQsMHgwMCwweGYwLDB4ZTAsMHhmZX19LAotIHsxNiwweDM1OWEsMCx7MHhhMywweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHg3YiwweGQ2LDB4N2EsMHhhNSwweGY5LDB4ZjgsMHhkMywweDEyLDB4MzcsMHg5NX19LAotIHsxNiwweDM1YWEsMCx7MHg0MCwweDBhLDB4OTAsMHg3NSwweDBjLDB4NzQsMHhhNSwweGYwLDB4YTMsMHg3NCwweGQ2LDB4ZjAsMHg5MCwweDc1LDB4MGQsMHhlMH19LAotIHsxNiwweDM1YmEsMCx7MHgyNCwweDJhLDB4ZjAsMHg5MCwweDc1LDB4MGMsMHhlMCwweDM0LDB4NWEsMHhmMCwweGUwLDB4ZmUsMHhhMywweGUwLDB4NzgsMHgwNX19LAotIHsxNiwweDM1Y2EsMCx7MHhjZSwweGEyLDB4ZTcsMHgxMywweGNlLDB4MTMsMHhkOCwweGY4LDB4ZmYsMHg5MCwweDc1LDB4MGMsMHhlZSwweGYwLDB4YTMsMHhlZn19LAotIHsxNiwweDM1ZGEsMCx7MHhmMCwweDkwLDB4NzIsMHgyYywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHhkMywweDk0LDB4ZDIsMHhlZSwweDY0LDB4ODAsMHg5NH19LAotIHsxNiwweDM1ZWEsMCx7MHg4MiwweDQwLDB4MGEsMHg5MCwweDcyLDB4MmMsMHg3NCwweDAyLDB4ZjAsMHhhMywweDc0LDB4ZDIsMHhmMCwweGMzLDB4OTAsMHg3Mn19LAotIHsxNiwweDM1ZmEsMCx7MHgyYywweGUwLDB4NjQsMHg4MCwweDk0LDB4ODAsMHg1MCwweDA0LDB4ZTQsMHhmMCwweGEzLDB4ZjAsMHg5MCwweDcyLDB4MmMsMHhlMH19LAotIHsxNiwweDM2MGEsMCx7MHhmZSwweGEzLDB4ZTAsMHgyNCwweDNhLDB4ZjUsMHg4MiwweGVlLDB4MzQsMHg3MiwweGY1LDB4ODMsMHhlMCwweDkwLDB4NzIsMHgwMn19LAotIHsxNiwweDM2MWEsMCx7MHhmMCwweDkwLDB4NzIsMHgyYSwweGUwLDB4ZmYsMHgyNCwweGZkLDB4NjAsMHgyZCwweDI0LDB4ZmUsMHg2MCwweDI5LDB4MjQsMHgwM319LAotIHsxNiwweDM2MmEsMCx7MHgyNCwweGZiLDB4NTAsMHgwNCwweDYwLDB4MjEsMHg4MCwweDQwLDB4OTAsMHg3MiwweDAyLDB4ZTAsMHhmZSwweDc0LDB4MjAsMHgyZn19LAotIHsxNiwweDM2M2EsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDI4LDB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNH19LAotIHsxNiwweDM2NGEsMCx7MHg4MCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ODAsMHgyMSwweDkwLDB4NzIsMHgwMiwweGUwLDB4ZmYsMHg5MCwweDcyLDB4MmEsMHhlMH19LAotIHsxNiwweDM2NWEsMCx7MHhmZSwweDI0LDB4MzAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVmLDB4ZjAsMHg3NCwweDM4LDB4MmUsMHhmNX19LAotIHsxNiwweDM2NmEsMCx7MHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODMsMHhlZiwweGYwLDB4OTAsMHg3NiwweDQwLDB4ZTAsMHg3MCwweDA2LDB4OTAsMHg3Mn19LAotIHsxNiwweDM2N2EsMCx7MHgzOSwweDc0LDB4MGEsMHhmMCwweDkwLDB4NzIsMHgzOSwweGUwLDB4MDQsMHhmMCwweGUwLDB4YzMsMHg5NCwweDBhLDB4NTAsMHgwMn19LAotIHsgOCwweDM2OGEsMCx7MHhhMSwweDExLDB4ZTQsMHg5MCwweDc2LDB4NDAsMHhmMCwweDIyfX0sCi0gezE2LDB4MzY5MiwwLHsweGJiLDB4MDEsMHgwNiwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZTAsMHgyMiwweDUwLDB4MDIsMHhlNywweDIyLDB4YmIsMHhmZSwweDAyfX0sCi0geyA5LDB4MzZhMiwwLHsweGUzLDB4MjIsMHg4OSwweDgyLDB4OGEsMHg4MywweGU0LDB4OTMsMHgyMn19LAotIHsxNiwweDM2YWIsMCx7MHhiYiwweDAxLDB4MGMsMHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGUwLDB4MjIsMHg1MH19LAotIHsxNiwweDM2YmIsMCx7MHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTYsMHgyMiwweGJiLDB4ZmUsMHgwNiwweGU5LDB4MjUsMHg4MiwweGY4LDB4ZTIsMHgyMn19LAotIHsxMywweDM2Y2IsMCx7MHhlNSwweDgyLDB4MjksMHhmNSwweDgyLDB4ZTUsMHg4MywweDNhLDB4ZjUsMHg4MywweGU0LDB4OTMsMHgyMn19LAotIHsxNiwweDM2ZDgsMCx7MHhjMiwweGQ1LDB4ZWMsMHgzMCwweGU3LDB4MDksMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHhlZX19LAotIHsxNiwweDM2ZTgsMCx7MHgzMCwweGU3LDB4MTUsMHhiMiwweGQ1LDB4ZTQsMHhjMywweDlmLDB4ZmYsMHhlNCwweDllLDB4ZmUsMHgxMiwweDM4LDB4MWYsMHhjM319LAotIHsxNiwweDM2ZjgsMCx7MHhlNCwweDlkLDB4ZmQsMHhlNCwweDljLDB4ZmMsMHg4MCwweDAzLDB4MTIsMHgzOCwweDFmLDB4MzAsMHhkNSwweDA3LDB4YzMsMHhlNH19LAotIHsgNiwweDM3MDgsMCx7MHg5ZiwweGZmLDB4ZTQsMHg5ZSwweGZlLDB4MjJ9fSwKLSB7MTYsMHgzNzBlLDAsezB4YmIsMHgwMSwweDEwLDB4ZTUsMHg4MiwweDI5LDB4ZjUsMHg4MiwweGU1LDB4ODMsMHgzYSwweGY1LDB4ODMsMHhlMCwweGY1LDB4ZjB9fSwKLSB7MTYsMHgzNzFlLDAsezB4YTMsMHhlMCwweDIyLDB4NTAsMHgwOSwweGU5LDB4MjUsMHg4MiwweGY4LDB4ODYsMHhmMCwweDA4LDB4ZTYsMHgyMiwweGJiLDB4ZmV9fSwKLSB7MTYsMHgzNzJlLDAsezB4MGEsMHhlOSwweDI1LDB4ODIsMHhmOCwweGUyLDB4ZjUsMHhmMCwweDA4LDB4ZTIsMHgyMiwweGU1LDB4ODMsMHgyYSwweGY1LDB4ODN9fSwKLSB7IDgsMHgzNzNlLDAsezB4ZTksMHg5MywweGY1LDB4ZjAsMHhhMywweGU5LDB4OTMsMHgyMn19LAotIHsxNiwweDM3NDYsMCx7MHhlOCwweDhmLDB4ZjAsMHhhNCwweGNjLDB4OGIsMHhmMCwweGE0LDB4MmMsMHhmYywweGU5LDB4OGUsMHhmMCwweGE0LDB4MmMsMHhmY319LAotIHsxNiwweDM3NTYsMCx7MHg4YSwweGYwLDB4ZWQsMHhhNCwweDJjLDB4ZmMsMHhlYSwweDhlLDB4ZjAsMHhhNCwweGNkLDB4YTgsMHhmMCwweDhiLDB4ZjAsMHhhNH19LAotIHsxNiwweDM3NjYsMCx7MHgyZCwweGNjLDB4MzgsMHgyNSwweGYwLDB4ZmQsMHhlOSwweDhmLDB4ZjAsMHhhNCwweDJjLDB4Y2QsMHgzNSwweGYwLDB4ZmMsMHhlYn19LAotIHsxNiwweDM3NzYsMCx7MHg4ZSwweGYwLDB4YTQsMHhmZSwweGE5LDB4ZjAsMHhlYiwweDhmLDB4ZjAsMHhhNCwweGNmLDB4YzUsMHhmMCwweDJlLDB4Y2QsMHgzOX19LAotIHsxNSwweDM3ODYsMCx7MHhmZSwweGU0LDB4M2MsMHhmYywweGVhLDB4YTQsMHgyZCwweGNlLDB4MzUsMHhmMCwweGZkLDB4ZTQsMHgzYywweGZjLDB4MjJ9fSwKLSB7MTYsMHgzNzk1LDAsezB4ZWIsMHg5ZiwweGY1LDB4ZjAsMHhlYSwweDllLDB4NDIsMHhmMCwweGU5LDB4OWQsMHg0MiwweGYwLDB4ZWMsMHg2NCwweDgwLDB4Yzh9fSwKLSB7IDYsMHgzN2E1LDAsezB4NjQsMHg4MCwweDk4LDB4NDUsMHhmMCwweDIyfX0sCi0gezE2LDB4MzdhYiwwLHsweGViLDB4OWYsMHhmNSwweGYwLDB4ZWEsMHg5ZSwweDQyLDB4ZjAsMHhlOSwweDlkLDB4NDIsMHhmMCwweGU4LDB4OWMsMHg0NSwweGYwfX0sCi0geyAxLDB4MzdiYiwwLHsweDIyfX0sCi0gezEyLDB4MzdiYywwLHsweGVjLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHhhMywweGVlLDB4ZjAsMHhhMywweGVmLDB4ZjAsMHgyMn19LAotIHsxNiwweDM3YzgsMCx7MHhhOCwweDgyLDB4ODUsMHg4MywweGYwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHgxMiwweDM3LDB4ZGYsMHgxMiwweDM3LDB4ZGYsMHgxMn19LAotIHsxNiwweDM3ZDgsMCx7MHgzNywweGRmLDB4MTIsMHgzNywweGRmLDB4ZTQsMHg3MywweGU0LDB4OTMsMHhhMywweGM1LDB4ODMsMHhjNSwweGYwLDB4YzUsMHg4M319LAotIHsxNiwweDM3ZTgsMCx7MHhjOCwweGM1LDB4ODIsMHhjOCwweGYwLDB4YTMsMHhjNSwweDgzLDB4YzUsMHhmMCwweGM1LDB4ODMsMHhjOCwweGM1LDB4ODIsMHhjOH19LAotIHsgMSwweDM3ZjgsMCx7MHgyMn19LAotIHsxNiwweDM3ZjksMCx7MHhkMCwweDgzLDB4ZDAsMHg4MiwweGY4LDB4ZTQsMHg5MywweDcwLDB4MTIsMHg3NCwweDAxLDB4OTMsMHg3MCwweDBkLDB4YTMsMHhhM319LAotIHsxNiwweDM4MDksMCx7MHg5MywweGY4LDB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDg4LDB4ODMsMHhlNCwweDczLDB4NzQsMHgwMiwweDkzLDB4NjgsMHg2MH19LAotIHsgNiwweDM4MTksMCx7MHhlZiwweGEzLDB4YTMsMHhhMywweDgwLDB4ZGZ9fSwKLSB7MTYsMHgzODFmLDAsezB4YmMsMHgwMCwweDBiLDB4YmUsMHgwMCwweDI5LDB4ZWYsMHg4ZCwweGYwLDB4ODQsMHhmZiwweGFkLDB4ZjAsMHgyMiwweGU0LDB4Y2N9fSwKLSB7MTYsMHgzODJmLDAsezB4ZjgsMHg3NSwweGYwLDB4MDgsMHhlZiwweDJmLDB4ZmYsMHhlZSwweDMzLDB4ZmUsMHhlYywweDMzLDB4ZmMsMHhlZSwweDlkLDB4ZWN9fSwKLSB7MTYsMHgzODNmLDAsezB4OTgsMHg0MCwweDA1LDB4ZmMsMHhlZSwweDlkLDB4ZmUsMHgwZiwweGQ1LDB4ZjAsMHhlOSwweGU0LDB4Y2UsMHhmZCwweDIyLDB4ZWR9fSwKLSB7MTYsMHgzODRmLDAsezB4ZjgsMHhmNSwweGYwLDB4ZWUsMHg4NCwweDIwLDB4ZDIsMHgxYywweGZlLDB4YWQsMHhmMCwweDc1LDB4ZjAsMHgwOCwweGVmLDB4MmZ9fSwKLSB7MTYsMHgzODVmLDAsezB4ZmYsMHhlZCwweDMzLDB4ZmQsMHg0MCwweDA3LDB4OTgsMHg1MCwweDA2LDB4ZDUsMHhmMCwweGYyLDB4MjIsMHhjMywweDk4LDB4ZmR9fSwKLSB7IDUsMHgzODZmLDAsezB4MGYsMHhkNSwweGYwLDB4ZWEsMHgyMn19LAotIHsxNiwweDM4NzQsMCx7MHhlNCwweDkwLDB4NzYsMHgyOSwweGYwLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0Mn19LAotIHsxNiwweDM4ODQsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDM4OTQsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDYsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI5LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDM4YTQsMCx7MHhlZiwweGI0LDB4MDYsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwZn19LAotIHsxNiwweDM4YjQsMCx7MHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3NiwweDJhLDB4ZjAsMHgyNH19LAotIHsxNiwweDM4YzQsMCx7MHhiZiwweDcwLDB4MDIsMHg0MSwweDQxLDB4MjQsMHhlMCwweDcwLDB4MDIsMHg0MSwweDEyLDB4MjQsMHgyMSwweDYwLDB4MDIsMHg0MX19LAotIHsxNiwweDM4ZDQsMCx7MHgzYSwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHhmZSwweDYwLDB4N2QsMHgxNCwweDcwLDB4MDIsMHgyMSwweGIyLDB4MjQsMHgwMn19LAotIHsxNiwweDM4ZTQsMCx7MHg2MCwweDAyLDB4NDEsMHgwYSwweDEyLDB4MTcsMHg1MSwweDkwLDB4NzYsMHg0MiwweGUwLDB4ZmMsMHhhMywweGUwLDB4ZmQsMHhhM319LAotIHsxNiwweDM4ZjQsMCx7MHhlMCwweGZlLDB4YTMsMHhlMCwweGZmLDB4OTAsMHg3NiwweDI5LDB4ZTAsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDMsMHhmNX19LAotIHsxNiwweDM5MDQsMCx7MHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YmMsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMX19LAotIHsxNiwweDM5MTQsMCx7MHgxMiwweDkwLDB4NzYsMHg3YywweDc0LDB4NjcsMHhmMCwweDkwLDB4NzYsMHg3ZCwweDc0LDB4MDYsMHhmMCwweDkwLDB4NzYsMHg3ZX19LAotIHsxNiwweDM5MjQsMCx7MHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHg5MCwweDc2LDB4N2QsMHhmMH19LAotIHsxNiwweDM5MzQsMCx7MHg5MCwweDc2LDB4N2UsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwZiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHg5MH19LAotIHsxNiwweDM5NDQsMCx7MHg3NiwweDdkLDB4ZjAsMHg5MCwweDc2LDB4N2UsMHg3NCwweDE4LDB4ZjAsMHg5MCwweDc2LDB4MWEsMHg3NCwweDAxLDB4ZjAsMHgxMn19LAotIHsxNiwweDM5NTQsMCx7MHgzZSwweDhmLDB4MTIsMHgxOCwweDAwLDB4MjIsMHg5MCwweDdlLDB4YzIsMHhlMCwweGZmLDB4ZTQsMHhmYywweGZkLDB4ZmUsMHhmYn19LAotIHsxNiwweDM5NjQsMCx7MHhmYSwweDc5LDB4MDEsMHhmOCwweDEyLDB4MzcsMHg0NiwweGM4LDB4ZWMsMHhjOCwweGM5LDB4ZWQsMHhjOSwweGNhLDB4ZWUsMHhjYX19LAotIHsxNiwweDM5NzQsMCx7MHhjYiwweGVmLDB4Y2IsMHg5MCwweDdlLDB4YzEsMHhlMCwweGZlLDB4ZTQsMHhmYywweGZkLDB4MmIsMHhmYiwweGVhLDB4M2UsMHhmYX19LAotIHsxNiwweDM5ODQsMCx7MHhlZCwweDM5LDB4ZjksMHhlYywweDM4LDB4ZjgsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZmLDB4ZTQsMHhmZSwweGViLDB4MmYsMHhmZn19LAotIHsxNiwweDM5OTQsMCx7MHhlZSwweDNhLDB4ZmUsMHhlZCwweDM5LDB4ZmQsMHhlYywweDM4LDB4ZmMsMHg5MCwweDc2LDB4MjksMHhlMCwweDc1LDB4ZjAsMHgwZn19LAotIHsxNiwweDM5YTQsMCx7MHhhNCwweDI0LDB4NDcsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhiYywweDIyLDB4OTAsMHg3ZX19LAotIHsxNiwweDM5YjQsMCx7MHhjMiwweGUwLDB4ZmYsMHhlNCwweGZjLDB4ZmQsMHhmZSwweGZiLDB4ZmEsMHg3OSwweDAxLDB4ZjgsMHgxMiwweDM3LDB4NDYsMHhjOH19LAotIHsxNiwweDM5YzQsMCx7MHhlYywweGM4LDB4YzksMHhlZCwweGM5LDB4Y2EsMHhlZSwweGNhLDB4Y2IsMHhlZiwweGNiLDB4OTAsMHg3ZSwweGMxLDB4ZTAsMHhmZX19LAotIHsxNiwweDM5ZDQsMCx7MHhlNCwweGZjLDB4ZmQsMHgyYiwweGZiLDB4ZWEsMHgzZSwweGZhLDB4ZWQsMHgzOSwweGY5LDB4ZWMsMHgzOCwweGY4LDB4OTAsMHg3ZX19LAotIHsxNiwweDM5ZTQsMCx7MHhjMCwweGUwLDB4ZmYsMHhlNCwweGZlLDB4ZWIsMHgyZiwweGZmLDB4ZWUsMHgzYSwweGZlLDB4ZWQsMHgzOSwweGZkLDB4ZWMsMHgzOH19LAotIHsxNiwweDM5ZjQsMCx7MHhmYywweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NX19LAotIHsxNiwweDNhMDQsMCx7MHhmNSwweDgzLDB4MTIsMHgzNywweGJjLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNiwweDNhMTQsMCx7MHhlOSwweGUwLDB4MTQsMHg3MCwweDE5LDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmZiwweDkwLDB4NzYsMHgyOSwweGUwLDB4NzUsMHhmMH19LAotIHsxNiwweDNhMjQsMCx7MHgwZiwweGE0LDB4MjQsMHg0ZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZWYsMHhmMCwweDIyLDB4OTAsMHg3Zn19LAotIHsxNCwweDNhMzQsMCx7MHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4M2E0MiwwLHsweGU0LDB4OTAsMHg3NiwweDM1LDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweGZmLDB4YzMsMHg5NCwweDAzLDB4NDAsMHgwMiwweDQxfX0sCi0gezE2LDB4M2E1MiwwLHsweGZmLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVmfX0sCi0gezE2LDB4M2E2MiwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0fX0sCi0gezE2LDB4M2E3MiwwLHsweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fX0sCi0gezE2LDB4M2E4MiwwLHsweGYwLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4M2E5MiwwLHsweDc0LDB4ZmYsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4M2FhMiwwLHsweDgzLDB4ZTQsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4M2FiMiwwLHsweDgzLDB4NzQsMHg4MCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2FjMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2FkMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2FlMiwwLHsweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2FmMiwwLHsweGY1LDB4ODMsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweDA0LDB4ZjAsMHg0MSwweDQ3LDB4OTAsMHg3NiwweDNjfX0sCi0gezE2LDB4M2IwMiwwLHsweDc0LDB4MGEsMHhmMCwweGU0LDB4YTMsMHhmMCwweDkwLDB4NzYsMHgzNSwweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgzYywweGUwfX0sCi0gezE2LDB4M2IxMiwwLHsweGZmLDB4OTAsMHg3NiwweDM1LDB4ZTAsMHhmZSwweGMzLDB4OWYsMHg0MCwweDAyLDB4NjEsMHhkMiwweDkwLDB4NzYsMHgzZCwweGUwfX0sCi0gezE2LDB4M2IyMiwwLHsweGZmLDB4MDQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4M2IzMiwwLHsweDgzLDB4ZWYsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4M2I0MiwwLHsweDgzLDB4ZTQsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1fX0sCi0gezE2LDB4M2I1MiwwLHsweDgzLDB4NzQsMHg1ZSwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YWQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1fX0sCi0gezE2LDB4M2I2MiwwLHsweGY1LDB4ODMsMHg3NCwweGJhLDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhhZSwweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4M2I3MiwwLHsweDc1LDB4ZjUsMHg4MywweDc0LDB4MDUsMHhmMCwweGVlLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweGFmLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4M2I4MiwwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjAsMHhmNSwweDgyfX0sCi0gezE2LDB4M2I5MiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjEsMHhmNSwweDgyfX0sCi0gezE2LDB4M2JhMiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWUsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4YjIsMHhmNSwweDgyfX0sCi0gezE2LDB4M2JiMiwwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDE1LDB4ZjAsMHhlZSwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHhiMywweGY1fX0sCi0gezE2LDB4M2JjMiwwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHg5MCwweDc2LDB4MzUsMHhlMCwweDA0LDB4ZjAsMHg2MSwweDBlfX0sCi0geyAxLDB4M2JkMiwwLHsweDIyfX0sCi0gezE2LDB4M2JkMywwLHsweGU0LDB4OTAsMHg3NiwweDM2LDB4ZjAsMHhlMCwweGZiLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4M2JlMywwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyfX0sCi0gezE2LDB4M2JmMywwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDBhLDB4ZjAsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MywweGY1fX0sCi0gezE2LDB4M2MwMywwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwfX0sCi0gezE2LDB4M2MxMywwLHsweDBmLDB4YTQsMHgyNCwweDQ3LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAwfX0sCi0gezE2LDB4M2MyMywwLHsweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0YiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0gezE2LDB4M2MzMywwLHsweDEyLDB4MzcsMHhjOCwweDAwLDB4MDEsMHg3NywweDAwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmYiwweDc1fX0sCi0gezE2LDB4M2M0MywwLHsweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NDAsMHhmMCwweGVifX0sCi0gezE2LDB4M2M1MywwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4YywweGYwfX0sCi0gezE2LDB4M2M2MywwLHsweGViLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3fX0sCi0gezE2LDB4M2M3MywwLHsweGM4LDB4MDAsMHgwMCwweGFjLDB4NDQsMHhlYiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0NywweGY1LDB4ODIsMHhlNCwweDM0fX0sCi0gezE2LDB4M2M4MywwLHsweDc1LDB4ZjUsMHg4MywweDEyLDB4MzcsMHhjOCwweDAwLDB4MDAsMHhhYywweDQ0LDB4ZWIsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0fX0sCi0gezE2LDB4M2M5MywwLHsweDRiLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHgxMiwweDM3LDB4YzgsMHgwMCwweDAxLDB4NzcsMHgwMCwweDkwfX0sCi0gezE2LDB4M2NhMywwLHsweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQxLDB4ZjUsMHg4MiwweGU0fX0sCi0gezE2LDB4M2NiMywwLHsweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MCwweGYwLDB4ZWYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDIsMHhmNSwweDgyfX0sCi0gezE2LDB4M2NjMywwLHsweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDhmLDB4ZjAsMHg5MCwweDc2LDB4MzYsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGZmfX0sCi0gezE2LDB4M2NkMywwLHsweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg0MSwweGYwfX0sCi0gezE2LDB4M2NlMywwLHsweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDg0fX0sCi0gezE2LDB4M2NmMywwLHsweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MSwweGY1fX0sCi0gezE2LDB4M2QwMywwLHsweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4NjEsMHhmMCwweGVmLDB4NzUsMHhmMCwweDBmLDB4YTQsMHgyNCwweDQyfX0sCi0gezE2LDB4M2QxMywwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4NzQsMHg4MSwweGYwLDB4OTAsMHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwfX0sCi0gezE2LDB4M2QyMywwLHsweGUwLDB4ZmYsMHg3NSwweGYwLDB4MGYsMHhhNCwweDI0LDB4NDEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweDc0fX0sCi0gezE2LDB4M2QzMywwLHsweDYxLDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwZiwweGE0LDB4MjQsMHg0MiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzfX0sCi0geyA0LDB4M2Q0MywwLHsweDc0LDB4MDEsMHhmMCwweDIyfX0sCi0gezE2LDB4M2Q0NywwLHsweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhjMCwweGQwLDB4ZTgsMHhjMCwweGUwLDB4ZTksMHhjMCwweGUwfX0sCi0gezE2LDB4M2Q1NywwLHsweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmfX0sCi0gezE2LDB4M2Q2NywwLHsweGMwLDB4ZTAsMHg5MCwweDdmLDB4YTIsMHhlMCwweDkwLDB4NzYsMHg3ZiwweGYwLDB4OTAsMHg3ZiwweDc0LDB4ZTAsMHg5MCwweDc2fX0sCi0gezE2LDB4M2Q3NywwLHsweDg3LDB4ZjAsMHg5MCwweDdmLDB4NzUsMHhlMCwweDkwLDB4NzYsMHg4OCwweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZTAsMHg0NCwweDAyfX0sCi0gezE2LDB4M2Q4NywwLHsweGYwLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHhmZiwweDIwLDB4ZTEsMHgwYywweDQ0LDB4MDIsMHhmMCwweDkwLDB4ODAsMHgwMywweGYwfX0sCi0gezE2LDB4M2Q5NywwLHsweGQyLDB4MzIsMHgxMiwweDRhLDB4YzQsMHg5MCwweDc2LDB4N2YsMHhlMCwweDIwLDB4ZTIsMHg1MCwweDkwLDB4NzYsMHg4NywweGUwfX0sCi0gezE2LDB4M2RhNywwLHsweGZlLDB4YTMsMHhlMCwweDdjLDB4MDAsMHgyNCwweDAwLDB4ZjUsMHgzNCwweGVjLDB4M2UsMHhmNSwweDMzLDB4OTAsMHg3NiwweDk4fX0sCi0gezE2LDB4M2RiNywwLHsweGUwLDB4ZmQsMHhhZSwweDMzLDB4YWYsMHgzNCwweDEyLDB4MzYsMHhkOCwweDkwLDB4NzYsMHg4NywweGVmLDB4ZjAsMHhkMiwweDJmfX0sCi0gezE2LDB4M2RjNywwLHsweDMwLDB4MzEsMHgyOSwweDIwLDB4M2YsMHgyNiwweGMyLDB4MzEsMHg5MCwweDdmLDB4OTQsMHhlMCwweDU0LDB4Y2YsMHhmMCwweDkwfX0sCi0gezE2LDB4M2RkNywwLHsweDdmLDB4OWEsMHhlMCwweDMwLDB4ZTQsMHgwNCwweGQyLDB4MmQsMHhjMiwweDJjLDB4OTAsMHg3ZiwweDlhLDB4ZTAsMHgyMCwweGU1fX0sCi0gezE2LDB4M2RlNywwLHsweDA0LDB4YzIsMHgyZCwweGQyLDB4MmMsMHg5MCwweDdmLDB4OTQsMHhlMCwweDQ0LDB4MzAsMHhmMCwweDEyLDB4NGEsMHg1MCwweDEyfX0sCi0gezE2LDB4M2RmNywwLHsweDFiLDB4MDQsMHgzMCwweDJmLDB4MTIsMHgxMiwweDQyLDB4MTYsMHhjMiwweDJmLDB4NzUsMHhlOCwweDAxLDB4MTIsMHgxNiwweDhhfX0sCi0gezE2LDB4M2UwNywwLHsweDc1LDB4ZTgsMHgwZCwweGQyLDB4MmIsMHg4MCwweDA1LDB4NzUsMHhlOCwweDAxLDB4YzIsMHgyYiwweDIwLDB4MmIsMHgzNCwweDkwfX0sCi0gezE2LDB4M2UxNywwLHsweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDBlLDB4OTAsMHg3NiwweDdjLDB4NzQsMHg2NywweGYwLDB4YTMsMHg3NCwweDA2fX0sCi0gezE2LDB4M2UyNywwLHsweGYwLDB4YTMsMHg3NCwweDBiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwYiwweDkwLDB4NzYsMHg3YywweGU0LDB4ZjAsMHhhMywweGYwfX0sCi0gezE2LDB4M2UzNywwLHsweGEzLDB4NzQsMHgwYywweGYwLDB4ZWYsMHhiNCwweDAzLDB4MGIsMHg5MCwweDc2LDB4N2MsMHhlNCwweGYwLDB4YTMsMHhmMCwweGEzfX0sCi0gezE2LDB4M2U0NywwLHsweDc0LDB4MTgsMHhmMCwweDc1LDB4Y2EsMHhkMywweDc1LDB4Y2IsMHhmZSwweGQyLDB4Y2EsMHgzMCwweDM0LDB4MDQsMHhjMiwweDM0fX0sCi0gezE2LDB4M2U1NywwLHsweDgwLDB4MDIsMHhkMiwweDM0LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZjAsMHg5MCwweDdmfX0sCi0gezE2LDB4M2U2NywwLHsweDk4LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwfX0sCi0gezE2LDB4M2U3NywwLHsweGZjLDB4ZDAsMHhlMCwweGZiLDB4ZDAsMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwfX0sCi0geyA4LDB4M2U4NywwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZjAsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgzZThmLDAsezB4OTAsMHg3NiwweDkyLDB4ZTAsMHgxNCwweDYwLDB4MWQsMHgxNCwweDcwLDB4MDIsMHhlMSwweDQ0LDB4MjQsMHgwMiwweDYwLDB4MDJ9fSwKLSB7MTYsMHgzZTlmLDAsezB4ZTEsMHhkNCwweDkwLDB4NzYsMHg5NCwweDc0LDB4MDEsMHhmMCwweDkwLDB4ODAsMHgwMCwweGYwLDB4ZTQsMHg5MCwweDc2LDB4OGV9fSwKLSB7MTYsMHgzZWFmLDAsezB4ZjAsMHhkMiwweDMxLDB4MjIsMHg5MCwweDc2LDB4MTksMHhlMCwweGZmLDB4YjQsMHgwMSwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjJ9fSwKLSB7MTYsMHgzZWJmLDAsezB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTd9fSwKLSB7MTYsMHgzZWNmLDAsezB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgxYiwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjB9fSwKLSB7MTYsMHgzZWRmLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHgzNCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTB9fSwKLSB7MTYsMHgzZWVmLDAsezB4NDQsMHgwMiwweGYwLDB4NTQsMHhmYiwweGYwLDB4ZWYsMHhiNCwweDAzLDB4MTgsMHhlNCwweDkwLDB4N2YsMHhmMiwweGYwLDB4OTB9fSwKLSB7MTYsMHgzZWZmLDAsezB4N2YsMHhmMywweDc0LDB4NjQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzYsMHg5NywweGUwLDB4NDR9fSwKLSB7MTYsMHgzZjBmLDAsezB4MDQsMHhmMCwweDkwLDB4NzYsMHg5NCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg4MCwweDAwLDB4ZjAsMHgzMCwweDNmLDB4MDl9fSwKLSB7MTYsMHgzZjFmLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3NiwweDk3LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7MTYsMHgzZjJmLDAsezB4OTAsMHg3NiwweDk3LDB4ZTAsMHg5MCwweDgwLDB4MDIsMHhmMCwweDkwLDB4NzYsMHg5OCwweDc0LDB4MDQsMHhmMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgzZjNmLDAsezB4OGUsMHg3NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MWIsMHhlNCwweDkwLDB4N2Z9fSwKLSB7MTYsMHgzZjRmLDAsezB4ZjIsMHhmMCwweDkwLDB4N2YsMHhmMywweDc0LDB4NDQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmMsMHhmMCwweDkwLDB4NzZ9fSwKLSB7MTYsMHgzZjVmLDAsezB4OTcsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDU0LDB4ZmIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDFiLDB4ZTQsMHg5MCwweDdmLDB4ZjJ9fSwKLSB7MTYsMHgzZjZmLDAsezB4ZjAsMHg5MCwweDdmLDB4ZjMsMHg3NCwweDRjLDB4ZjAsMHg5MCwweDdmLDB4ZmYsMHg3NCwweGZjLDB4ZjAsMHg5MCwweDc2LDB4OTd9fSwKLSB7MTYsMHgzZjdmLDAsezB4ZTAsMHg0NCwweDAyLDB4ZjAsMHg1NCwweGZiLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgxOCwweGU0LDB4OTAsMHg3ZiwweGYyLDB4ZjB9fSwKLSB7MTYsMHgzZjhmLDAsezB4OTAsMHg3ZiwweGYzLDB4NzQsMHg5NCwweGYwLDB4OTAsMHg3ZiwweGZmLDB4NzQsMHhmYywweGYwLDB4OTAsMHg3NiwweDk3LDB4ZTB9fSwKLSB7MTYsMHgzZjlmLDAsezB4NDQsMHgwNCwweGYwLDB4OTAsMHg3NiwweDk0LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHg5MCwweDgwLDB4MDAsMHhmMCwweDMwLDB4M2Z9fSwKLSB7MTYsMHgzZmFmLDAsezB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTcsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHgzZmJmLDAsezB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4OTAsMHg3NiwweDk4LDB4NzQsMHgwNiwweGYwLDB4OTB9fSwKLSB7IDYsMHgzZmNmLDAsezB4NzYsMHg4ZSwweDc0LDB4MDIsMHhmMCwweDIyfX0sCi0gezE2LDB4M2ZkNSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwMiwweGYwfX0sCi0gezE2LDB4M2ZlNSwwLHsweDkwLDB4N2YsMHhjNywweGUwLDB4ZjUsMHgxMSwweDc1LDB4MGYsMHgwMCwweDc1LDB4MGQsMHgwMCwweGQyLDB4MzMsMHhkMCwweDgyfX0sCi0geyA1LDB4M2ZmNSwwLHsweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7IDYsMHgzZmZhLDAsezB4MTIsMHg0YSwweGM0LDB4YzIsMHgzMSwweDIyfX0sCi0gezE2LDB4NDAwMCwwLHsweGU1LDB4MTEsMHhkMywweDk0LDB4MDAsMHg1MCwweDAyLDB4MjEsMHgwNiwweDkwLDB4NzYsMHg4OSwweGUwLDB4YzMsMHg5NCwweDA4fX0sCi0gezE2LDB4NDAxMCwwLHsweDQwLDB4MDIsMHgyMSwweDA2LDB4NzQsMHg0MCwweDI1LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDdlLDB4ZjUsMHg4MywweGUwfX0sCi0gezE2LDB4NDAyMCwwLHsweGY1LDB4MTcsMHhlNSwweDBkLDB4NjAsMHgwZSwweDkwLDB4ODAsMHgwNSwweGU1LDB4MTcsMHhmMCwweDkwLDB4NzYsMHg4OSwweGUwfX0sCi0gezE2LDB4NDAzMCwwLHsweDA0LDB4ZjAsMHgwMSwweGRhLDB4ZTUsMHgxNywweDEyLDB4MzcsMHhmOSwweDQwLDB4YzEsMHgwMiwweDQwLDB4NjcsMHgwNSwweDQwfX0sCi0gezE2LDB4NDA0MCwwLHsweDdhLDB4MDYsMHg0MCwweDk4LDB4MDcsMHg0MCwweGMxLDB4MGMsMHg0MCwweGMxLDB4MGQsMHg0MCwweGM3LDB4MGYsMHg0MCwweGNifX0sCi0gezE2LDB4NDA1MCwwLHsweGY2LDB4NDAsMHhjYiwweGY4LDB4NDAsMHhjYiwweGZhLDB4NDAsMHhjYiwweGZiLDB4NDAsMHhjYiwweGZjLDB4NDAsMHhjYiwweGZlfX0sCi0gezE2LDB4NDA2MCwwLHsweDQwLDB4Y2IsMHhmZiwweDAwLDB4MDAsMHg0MCwweGRhLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwfX0sCi0gezE2LDB4NDA3MCwwLHsweDc2LDB4ODksMHhlMCwweDA0LDB4ZjAsMHg3NSwweDExLDB4MDEsMHg4MCwweDYwLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwfX0sCi0gezE2LDB4NDA4MCwwLHsweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDIsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwfX0sCi0gezE2LDB4NDA5MCwwLHsweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwLDB4NDIsMHg5MCwweDdlLDB4NDEsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwfX0sCi0gezE2LDB4NDBhMCwwLHsweDkwLDB4N2UsMHg0MiwweGUwLDB4OTAsMHg4MCwweDA1LDB4ZjAsMHg5MCwweDdlLDB4NDMsMHhlMCwweDkwLDB4ODAsMHgwNSwweGYwfX0sCi0gezE2LDB4NDBiMCwwLHsweDkwLDB4NzYsMHg4OSwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweGUwLDB4MDQsMHhmMCwweDc1LDB4MTEsMHgwMSwweDgwfX0sCi0gezE2LDB4NDBjMCwwLHsweDE5LDB4ZDIsMHgzYiwweGQyLDB4M2MsMHg4MCwweDEzLDB4ZDIsMHgzYiwweDgwLDB4MGYsMHg5MCwweDgwLDB4MDUsMHhlNSwweDE3fX0sCi0gezE2LDB4NDBkMCwwLHsweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxLDB4MjAsMHgzYiwweDA0LDB4MDUsMHgwZCwweDgwfX0sCi0gezE2LDB4NDBlMCwwLHsweDFmLDB4MzAsMHgzYywweDFjLDB4OTAsMHg3ZSwweDQxLDB4ZTAsMHg5MCwweDgwLDB4MDUsMHhmMCwweDkwLDB4N2UsMHg0MiwweGUwfX0sCi0gezE2LDB4NDBmMCwwLHsweDkwLDB4ODAsMHgwNSwweGYwLDB4OTAsMHg3NiwweDg5LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHgwNCwweGYwLDB4NzUsMHgxMSwweDAxfX0sCi0gezE2LDB4NDEwMCwwLHsweDA1LDB4MGYsMHgxNSwweDExLDB4MDEsMHgwMCwweGU1LDB4MTEsMHg3MCwweDEwLDB4YzIsMHgzMywweGY1LDB4MGQsMHhmNSwweDBmfX0sCi0gezExLDB4NDExMCwwLHsweDkwLDB4N2YsMHhjNywweDc0LDB4MDQsMHhmMCwweGMyLDB4M2IsMHhjMiwweDNjLDB4MjJ9fSwKLSB7MTYsMHg0MTFiLDAsezB4OTAsMHg3NiwweDhkLDB4ZTAsMHg2NCwweDAxLDB4NzAsMHgyNywweDMwLDB4MjcsMHgwOCwweGMyLDB4MjcsMHgxMiwweDA4LDB4MDB9fSwKLSB7MTYsMHg0MTJiLDAsezB4MTIsMHgxNywweDRhLDB4MzAsMHgyOCwweDA4LDB4YzIsMHgyOCwweDEyLDB4MzgsMHg3NCwweDEyLDB4MTcsMHg0YSwweDMwLDB4MmF9fSwKLSB7MTYsMHg0MTNiLDAsezB4MGUsMHhlNCwweDkwLDB4NzYsMHg4ZCwweGYwLDB4YzIsMHgyYSwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMiwweGYwLDB4OTB9fSwKLSB7MTYsMHg0MTRiLDAsezB4NzYsMHgzZiwweGUwLDB4YjQsMHgwMSwweDA1LDB4ZTQsMHhmMCwweDEyLDB4MzIsMHg2ZiwweDkwLDB4NzYsMHg0MSwweGUwLDB4YjR9fSwKLSB7MTYsMHg0MTViLDAsezB4MDEsMHgwNSwweGU0LDB4ZjAsMHgxMiwweDM0LDB4OWEsMHg5MCwweDc2LDB4NDAsMHhlMCwweGI0LDB4MDEsMHgwMywweDEyLDB4MzR9fSwKLSB7MTYsMHg0MTZiLDAsezB4OWEsMHg5MCwweDdmLDB4OWIsMHhlMCwweDIwLDB4ZTQsMHgwMiwweGMyLDB4M2YsMHg5MCwweDdmLDB4OWIsMHhlMCwweDMwLDB4ZTR9fSwKLSB7MTYsMHg0MTdiLDAsezB4MDIsMHhkMiwweDNmLDB4OTAsMHg3ZiwweDliLDB4ZTAsMHgyMCwweGU1LDB4MDIsMHhjMiwweDNlLDB4OTAsMHg3ZiwweDliLDB4ZTB9fSwKLSB7MTYsMHg0MThiLDAsezB4MzAsMHhlNSwweDAyLDB4ZDIsMHgzZSwweGEyLDB4NDEsMHgzMCwweDNmLDB4MDEsMHhiMywweDUwLDB4MWYsMHhhMiwweDNmLDB4OTJ9fSwKLSB7MTYsMHg0MTliLDAsezB4NDEsMHgzMCwweDNmLDB4MDksMHg5MCwweDc2LDB4OTcsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDgwLDB4MDcsMHg5MCwweDc2LDB4OTd9fSwKLSB7MTYsMHg0MWFiLDAsezB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4OTcsMHhlMCwweDkwLDB4ODAsMHgwMiwweGYwLDB4MzAsMHgzZiwweDM0LDB4OTB9fSwKLSB7MTYsMHg0MWJiLDAsezB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGUsMHg5MCwweDc2LDB4N2MsMHg3NCwweDY3LDB4ZjAsMHhhMywweDc0LDB4MDZ9fSwKLSB7MTYsMHg0MWNiLDAsezB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMiwweDBiLDB4ZTQsMHg5MCwweDc2LDB4N2MsMHhmMCwweGEzLDB4ZjB9fSwKLSB7MTYsMHg0MWRiLDAsezB4YTMsMHg3NCwweDBjLDB4ZjAsMHhlZiwweGI0LDB4MDMsMHgwYiwweGU0LDB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweGYwLDB4YTN9fSwKLSB7MTYsMHg0MWViLDAsezB4NzQsMHgxOCwweGYwLDB4YTIsMHg0MCwweDMwLDB4M2UsMHgwMSwweGIzLDB4NTAsMHgxZiwweGEyLDB4M2UsMHg5MiwweDQwLDB4MzB9fSwKLSB7MTYsMHg0MWZiLDAsezB4M2UsMHgwOSwweDkwLDB4NzYsMHg5NSwweGUwLDB4NDQsMHgwNCwweGYwLDB4ODAsMHgwNywweDkwLDB4NzYsMHg5NSwweGUwLDB4NTR9fSwKLSB7MTEsMHg0MjBiLDAsezB4ZmIsMHhmMCwweDkwLDB4NzYsMHg5NSwweGUwLDB4OTAsMHg4MCwweDAxLDB4ZjAsMHgyMn19LAotIHsxNiwweDQyMTYsMCx7MHg5MCwweDc2LDB4MTksMHhlMCwweDY0LDB4MDEsMHg3MCwweDM1LDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGQzLDB4OTQsMHgyZH19LAotIHsxNiwweDQyMjYsMCx7MHg0MCwweDJiLDB4OTAsMHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkM319LAotIHsxNiwweDQyMzYsMCx7MHg5NCwweDBmLDB4NDAsMHgxOSwweGU0LDB4ZjAsMHhlZiwweGQzLDB4OTQsMHgzMSwweDQwLDB4MDgsMHg5MCwweDc2LDB4MTksMHg3NH19LAotIHsxNiwweDQyNDYsMCx7MHgwMywweGYwLDB4ODAsMHgwNiwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDIsMHhmMCwweDEyLDB4M2UsMHg4ZiwweDkwLDB4NzYsMHgxOX19LAotIHsxNiwweDQyNTYsMCx7MHhlMCwweGI0LDB4MDIsMHgyYywweDkwLDB4NzYsMHg4NywweGUwLDB4ZmYsMHhjMywweDk0LDB4MmYsMHg1MCwweDIyLDB4ZWYsMHhkM319LAotIHsxNiwweDQyNjYsMCx7MHg5NCwweDJhLDB4NDAsMHgxYywweDkwLDB4NzYsMHg4NiwweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHg4NSwweGUwLDB4MDQsMHhmMH19LAotIHsxNiwweDQyNzYsMCx7MHhlMCwweGQzLDB4OTQsMHgwZiwweDQwLDB4MGEsMHhlNCwweGYwLDB4OTAsMHg3NiwweDE5LDB4MDQsMHhmMCwweDEyLDB4M2UsMHg4Zn19LAotIHsxNiwweDQyODYsMCx7MHg5MCwweDc2LDB4MTksMHhlMCwweGI0LDB4MDIsMHgyNiwweDkwLDB4NzYsMHg4NywweGUwLDB4ZDMsMHg5NCwweDMxLDB4NDAsMHgxZH19LAotIHsxNiwweDQyOTYsMCx7MHg5MCwweDc2LDB4ODYsMHg3NCwweDAxLDB4ZjAsMHg5MCwweDc2LDB4ODUsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGQzLDB4OTQsMHgwZn19LAotIHsxNiwweDQyYTYsMCx7MHg0MCwweDBiLDB4ZTQsMHhmMCwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDMsMHhmMCwweDEyLDB4M2UsMHg4ZiwweDkwLDB4NzYsMHgxOX19LAotIHsxNiwweDQyYjYsMCx7MHhlMCwweDY0LDB4MDMsMHg3MCwweDNmLDB4OTAsMHg3NiwweDg3LDB4ZTAsMHhmZiwweGMzLDB4OTQsMHg1ZiwweDUwLDB4MzUsMHg5MH19LAotIHsxNiwweDQyYzYsMCx7MHg3NiwweDg2LDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3NiwweDg1LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhkMywweDk0LDB4MGYsMHg0MH19LAotIHsxNiwweDQyZDYsMCx7MHgyMywweGU0LDB4ZjAsMHhlZiwweGMzLDB4OTQsMHgyZiwweDUwLDB4MGMsMHhlZiwweGQzLDB4OTQsMHgyYSwweDQwLDB4MDYsMHg5MH19LAotIHsxNiwweDQyZTYsMCx7MHg3NiwweDE5LDB4NzQsMHgwMSwweGYwLDB4ZWYsMHhkMywweDk0LDB4MmYsMHg0MCwweDA2LDB4OTAsMHg3NiwweDE5LDB4NzQsMHgwMn19LAotIHsxNiwweDQyZjYsMCx7MHhmMCwweDEyLDB4M2UsMHg4ZiwweDkwLDB4NzYsMHg4NiwweGUwLDB4NzAsMHgwNSwweDkwLDB4NzYsMHg4NSwweGYwLDB4MjIsMHhlNH19LAotIHsgNSwweDQzMDYsMCx7MHg5MCwweDc2LDB4ODYsMHhmMCwweDIyfX0sCi0gezE2LDB4NDMwYiwwLHsweGU0LDB4OTAsMHg3NiwweDk2LDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweDkwLDB4N2YsMHhlMCwweDc0LDB4OTAsMHhmMCwweDkwfX0sCi0gezE2LDB4NDMxYiwwLHsweDdmLDB4ZTEsMHg3NCwweDA0LDB4ZjAsMHhlNCwweDkwLDB4N2YsMHhkZCwweGYwLDB4OTAsMHg3ZiwweGExLDB4ZjAsMHg1MywweDhlfX0sCi0gezE2LDB4NDMyYiwwLHsweGY4LDB4NzUsMHg4OCwweDA1LDB4NzUsMHhiOCwweDIwLDB4NzUsMHhmOCwweDAxLDB4NDMsMHg4ZSwweDMwLDB4ZjUsMHhjOCwweDc1fX0sCi0gezE2LDB4NDMzYiwwLHsweGNhLDB4N2YsMHg3NSwweGNiLDB4ZjgsMHg0MywweGE4LDB4MjAsMHgxMiwweDA3LDB4NGEsMHhjMiwweDJjLDB4YzIsMHgyZCwweGMyfX0sCi0gezE2LDB4NDM0YiwwLHsweDJiLDB4YzIsMHgyZiwweDkwLDB4N2YsMHhmYywweDc0LDB4ZGQsMHhmMCwweDkwLDB4N2YsMHhmZiwweDc0LDB4ZmYsMHhmMCwweDkwfX0sCi0gezE2LDB4NDM1YiwwLHsweDdmLDB4OTcsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgxOSwweDc0LDB4MDEsMHhmMCwweGU0LDB4OTAsMHg3NiwweDg1fX0sCi0gezE2LDB4NDM2YiwwLHsweGYwLDB4YTMsMHhmMCwweDkwLDB4NzYsMHg4MSwweGYwLDB4OTAsMHg3NiwweDgwLDB4ZjAsMHgxMiwweDQ5LDB4NTgsMHgxMiwweDBmfX0sCi0gezE2LDB4NDM3YiwwLHsweGM2LDB4MTIsMHg0YSwweDhkLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHhlMCwweDU0LDB4YjksMHhmMCwweGQyfX0sCi0gezE2LDB4NDM4YiwwLHsweDMwLDB4MjAsMHgzMCwweDE4LDB4MTIsMHg0NywweGI0LDB4MTIsMHgzMCwweDAwLDB4MTIsMHg0MCwweDAwLDB4MTIsMHg0MiwweDE2fX0sCi0gezE2LDB4NDM5YiwwLHsweDEyLDB4NGEsMHg1MCwweDEyLDB4MWIsMHgwNCwweDEyLDB4MTYsMHg2MSwweDEyLDB4NDIsMHgxNiwweGMyLDB4MmYsMHhjMiwweDMxfX0sCi0gezE2LDB4NDNhYiwwLHsweGMyLDB4MzIsMHhjMiwweDM0LDB4YzIsMHgzMywweGMyLDB4MjksMHhjMiwweDI3LDB4YzIsMHgyOCwweGU0LDB4ZjUsMHgxMSwweDkwfX0sCi0gezE2LDB4NDNiYiwwLHsweDc2LDB4ODksMHhmMCwweDkwLDB4NzYsMHgzZiwweGYwLDB4OTAsMHg3NiwweDQxLDB4ZjAsMHg5MCwweDc2LDB4NDAsMHhmMCwweDkwfX0sCi0gezE2LDB4NDNjYiwwLHsweDc2LDB4OGEsMHhmMCwweGEzLDB4ZjAsMHhhMywweDA0LDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHg5MCwweDc2LDB4OTksMHhmMCwweDIyfX0sCi0gezE2LDB4NDNkYiwwLHsweDEyLDB4NGQsMHhhMywweDQwLDB4MDIsMHg4MSwweGEwLDB4OTAsMHg3ZiwweGViLDB4ZTAsMHgyNCwweGZlLDB4NjAsMHgxZSwweDE0fX0sCi0gezE2LDB4NDNlYiwwLHsweDYwLDB4NDYsMHgxNCwweDYwLDB4NmUsMHgxNCwweDcwLDB4MDIsMHg4MSwweDkxLDB4MjQsMHgwNCwweDYwLDB4MDIsMHg4MSwweDk5fX0sCi0gezE2LDB4NDNmYiwwLHsweDc0LDB4MDUsMHg5MCwweDdmLDB4ZDQsMHhmMCwweDc0LDB4MDAsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGVhfX0sCi0gezE2LDB4NDQwYiwwLHsweGUwLDB4ZmYsMHgxMiwweDQ5LDB4ZmYsMHg4YiwweDIwLDB4OGEsMHgyMSwweDg5LDB4MjIsMHhlYSwweDQ5LDB4NjAsMHgxMSwweGNlfX0sCi0gezE2LDB4NDQxYiwwLHsweGVhLDB4Y2UsMHhlZSwweDkwLDB4N2YsMHhkNCwweGYwLDB4Y2YsMHhlOSwweGNmLDB4ZWYsMHg5MCwweDdmLDB4ZDUsMHhmMCwweDIyfX0sCi0gezE2LDB4NDQyYiwwLHsweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4ZWEsMHhlMCwweGZmLDB4MTIsMHg0OCwweGIwfX0sCi0gezE2LDB4NDQzYiwwLHsweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlLDB4ZWUsMHg5MCwweDdmfX0sCi0gezE2LDB4NDQ0YiwwLHsweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0fX0sCi0gezE2LDB4NDQ1YiwwLHsweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhlYSwweGUwLDB4ZmYsMHg5MCwweDdlLDB4YzAsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZifX0sCi0gezE2LDB4NDQ2YiwwLHsweDEyLDB4MTcsMHg5NCwweDhiLDB4MjAsMHg4YSwweDIxLDB4ODksMHgyMiwweGVhLDB4NDksMHg2MCwweDExLDB4Y2UsMHhlYSwweGNlfX0sCi0gezE2LDB4NDQ3YiwwLHsweGVlLDB4OTAsMHg3ZiwweGQ0LDB4ZjAsMHhjZiwweGU5LDB4Y2YsMHhlZiwweDkwLDB4N2YsMHhkNSwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0gezE2LDB4NDQ4YiwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmfX0sCi0geyA1LDB4NDQ5YiwwLHsweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7IDEsMHg0NGEwLDAsezB4MjJ9fSwKLSB7MTYsMHg0NGExLDAsezB4YzIsMHhhZiwweGQyLDB4MjQsMHg5MCwweDdmLDB4OTMsMHg3NCwweDMwLDB4ZjAsMHg5MCwweDdmLDB4OWMsMHg3NCwweGJiLDB4ZjB9fSwKLSB7MTYsMHg0NGIxLDAsezB4OTAsMHg3ZiwweDk2LDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhlMCwweDU0LDB4MzAsMHhmMCwweDkwLDB4N2YsMHg5NCwweDc0LDB4MzB9fSwKLSB7MTYsMHg0NGMxLDAsezB4ZjAsMHg5MCwweDdmLDB4OWQsMHg3NCwweGNmLDB4ZjAsMHg5MCwweDdmLDB4OTcsMHg3NCwweGEwLDB4ZjAsMHg5MCwweDdmLDB4OTV9fSwKLSB7MTYsMHg0NGQxLDAsezB4NzQsMHhjMCwweGYwLDB4OTAsMHg3ZiwweDllLDB4NzQsMHgwMywweGYwLDB4OTAsMHg3ZiwweDk5LDB4ZTAsMHgzMCwweGUyLDB4MDl9fSwKLSB7MTYsMHg0NGUxLDAsezB4OTAsMHgwNSwweDE5LDB4NzQsMHhhMCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YzIsMHgyNSwweGMyLDB4MjIsMHhjMiwweDIzLDB4YzJ9fSwKLSB7MTYsMHg0NGYxLDAsezB4MjYsMHgxMiwweDRhLDB4YzQsMHgxMiwweDJkLDB4YTksMHgxMiwweDNiLDB4ZDMsMHgxMiwweDQ1LDB4NTksMHgxMiwweDNhLDB4NDJ9fSwKLSB7MTYsMHg0NTAxLDAsezB4OTAsMHg3NiwweDY4LDB4NzQsMHgwMSwweGYwLDB4NzAsMHgwZiwweDEyLDB4NGIsMHhiYiwweDEyLDB4MDcsMHhmZSwweDEyLDB4NGR9fSwKLSB7MTYsMHg0NTExLDAsezB4YTEsMHgxMiwweDFiLDB4NDAsMHgxMiwweDE0LDB4OTYsMHgxMiwweDQzLDB4MGIsMHg5MCwweDdmLDB4YWYsMHhlMCwweDQ0LDB4MDF9fSwKLSB7MTYsMHg0NTIxLDAsezB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MWYsMHhmMCwweDkwLDB4N2YsMHhhYywweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHg0NTMxLDAsezB4YWQsMHhmMCwweDkwLDB4N2YsMHhkZSwweGYwLDB4OTAsMHg3ZiwweGRmLDB4ZjAsMHg5MCwweDdmLDB4YWIsMHhmMCwweDkwLDB4N2Z9fSwKLSB7MTYsMHg0NTQxLDAsezB4YTksMHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4NDMsMHhkOCwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDh9fSwKLSB7IDgsMHg0NTUxLDAsezB4MjAsMHg1MywweGE4LDB4YTAsMHg0MywweGE4LDB4ODAsMHgyMn19LAotIHsxNiwweDQ1NTksMCx7MHhlNCwweDkwLDB4NzYsMHgzNiwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDQ1NjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDQ1NzksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDEsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NX19LAotIHsxNiwweDQ1ODksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NX19LAotIHsxNiwweDQ1OTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDAyLDB4ZjAsMHg5MH19LAotIHsxNiwweDQ1YTksMCx7MHg3NiwweDM2LDB4ZTAsMHgwNCwweGYwLDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMiwweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDQ1YjksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzMywweGY1LDB4ODIsMHhlNH19LAotIHsxNiwweDQ1YzksMCx7MHgzNCwweDc1LDB4ZjUsMHg4MywweDc0LDB4MDMsMHhmMCwweDkwLDB4NzYsMHgzNiwweGUwLDB4MDQsMHhmMCwweGUwLDB4ZmYsMHg3NX19LAotIHsxNiwweDQ1ZDksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZWYsMHg3NX19LAotIHsxNiwweDQ1ZTksMCx7MHhmMCwweDAzLDB4YTQsMHgyNCwweDMzLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg3NSwweGY1LDB4ODMsMHg3NCwweDA0LDB4ZjAsMHgyMn19LAotIHsxMiwweDQ1ZjksMCx7MHg3OCwweDdmLDB4ZTQsMHhmNiwweGQ4LDB4ZmQsMHg3NSwweDgxLDB4MzgsMHgwMiwweDQ2LDB4NDB9fSwKLSB7MTYsMHg0NjA1LDAsezB4MDIsMHg0NywweDVhLDB4ZTQsMHg5MywweGEzLDB4ZjgsMHhlNCwweDkzLDB4YTMsMHg0MCwweDAzLDB4ZjYsMHg4MCwweDAxLDB4ZjJ9fSwKLSB7MTYsMHg0NjE1LDAsezB4MDgsMHhkZiwweGY0LDB4ODAsMHgyOSwweGU0LDB4OTMsMHhhMywweGY4LDB4NTQsMHgwNywweDI0LDB4MGMsMHhjOCwweGMzLDB4MzN9fSwKLSB7MTYsMHg0NjI1LDAsezB4YzQsMHg1NCwweDBmLDB4NDQsMHgyMCwweGM4LDB4ODMsMHg0MCwweDA0LDB4ZjQsMHg1NiwweDgwLDB4MDEsMHg0NiwweGY2LDB4ZGZ9fSwKLSB7MTYsMHg0NjM1LDAsezB4ZTQsMHg4MCwweDBiLDB4MDEsMHgwMiwweDA0LDB4MDgsMHgxMCwweDIwLDB4NDAsMHg4MCwweDkwLDB4MGMsMHg4ZiwweGU0LDB4N2V9fSwKLSB7MTYsMHg0NjQ1LDAsezB4MDEsMHg5MywweDYwLDB4YmMsMHhhMywweGZmLDB4NTQsMHgzZiwweDMwLDB4ZTUsMHgwOSwweDU0LDB4MWYsMHhmZSwweGU0LDB4OTN9fSwKLSB7MTYsMHg0NjU1LDAsezB4YTMsMHg2MCwweDAxLDB4MGUsMHhjZiwweDU0LDB4YzAsMHgyNSwweGUwLDB4NjAsMHhhOCwweDQwLDB4YjgsMHhlNCwweDkzLDB4YTN9fSwKLSB7MTYsMHg0NjY1LDAsezB4ZmEsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2F9fSwKLSB7MTYsMHg0Njc1LDAsezB4ZjAsMHhhMywweGM4LDB4YzUsMHg4MiwweGM4LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhkZiwweGU5LDB4ZGUsMHhlNywweDgwLDB4YmV9fSwKLSB7MTYsMHg0Njg1LDAsezB4OTAsMHg3ZiwweGVjLDB4ZTAsMHg5MCwweDc2LDB4ODMsMHhmMCwweGUwLDB4MTQsMHg2MCwweDFkLDB4MTQsMHg2MCwweDJhLDB4MTR9fSwKLSB7MTYsMHg0Njk1LDAsezB4NjAsMHgzNywweDE0LDB4NjAsMHg0NCwweDI0LDB4MDQsMHg3MCwweDUwLDB4OTAsMHg3NiwweDkxLDB4ZTAsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHg0NmE1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDQ3LDB4OTAsMHg3NiwweDkyLDB4ZTAsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHg0NmI1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDM3LDB4OTAsMHg3NiwweDkwLDB4ZTAsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHg0NmM1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDI3LDB4OTAsMHg3NiwweDg0LDB4ZTAsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHg0NmQ1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDE3LDB4OTAsMHg3NiwweDkzLDB4ZTAsMHg5MCwweDdmLDB4MDB9fSwKLSB7MTYsMHg0NmU1LDAsezB4ZjAsMHg5MCwweDdmLDB4YjUsMHg3NCwweDAxLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjB9fSwKLSB7IDIsMHg0NmY1LDAsezB4ZDMsMHgyMn19LAotIHsxNiwweDQ2ZjcsMCx7MHhjMCwweGUwLDB4YzAsMHhmMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4YzAsMHhkMCwweGU4LDB4YzAsMHhlMCwweGU5LDB4YzAsMHhlMH19LAotIHsxNiwweDQ3MDcsMCx7MHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLDB4ZTAsMHhlYywweGMwLDB4ZTAsMHhlZCwweGMwLDB4ZTAsMHhlZSwweGMwLDB4ZTAsMHhlZn19LAotIHsxNiwweDQ3MTcsMCx7MHhjMCwweGUwLDB4YzIsMHhjYSwweGMyLDB4Y2YsMHg5MCwweDdmLDB4OTgsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDMwLDB4MmUsMHgwM319LAotIHsxNiwweDQ3MjcsMCx7MHgxMiwweDE0LDB4YTYsMHg5MCwweDdmLDB4OTgsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDUzLDB4YTgsMHhmYSwweDEyLDB4MTYsMHg2MX19LAotIHsxNiwweDQ3MzcsMCx7MHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwweGUwLDB4ZmQsMHhkMCwweGUwLDB4ZmMsMHhkMCwweGUwLDB4ZmIsMHhkMH19LAotIHsxNiwweDQ3NDcsMCx7MHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhmMH19LAotIHsgMywweDQ3NTcsMCx7MHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0NzVhLDAsezB4ZTQsMHg5MCwweDc2LDB4NjYsMHhmMCwweDEyLDB4NDQsMHhhMSwweDIwLDB4MjYsMHgxMywweDkwLDB4NzYsMHg2NiwweGUwLDB4YzN9fSwKLSB7MTYsMHg0NzZhLDAsezB4OTQsMHgwMiwweDUwLDB4MGEsMHhlMCwweDA0LDB4ZjAsMHhkMiwweDQyLDB4MTIsMHg0YSwweGY2LDB4ODAsMHhlYSwweDMwLDB4MjZ9fSwKLSB7MTYsMHg0NzdhLDAsezB4MDUsMHgxMiwweDI4LDB4MDEsMHhjMiwweDI2LDB4MzAsMHgyNSwweDJiLDB4OTAsMHg3NiwweDk2LDB4ZTAsMHg1NCwweGZjLDB4ZjB9fSwKLSB7MTYsMHg0NzhhLDAsezB4OTAsMHg4MCwweDAzLDB4ZjAsMHgxMiwweDE0LDB4OTYsMHg5MCwweDc2LDB4OTYsMHhlMCwweDQ0LDB4MDMsMHhmMCwweDkwLDB4ODB9fSwKLSB7MTYsMHg0NzlhLDAsezB4MDMsMHhmMCwweGU0LDB4OTAsMHg3NiwweDY3LDB4ZjAsMHg5MCwweDc2LDB4NjcsMHhlMCwweDA0LDB4ZjAsMHhlMCwweGI0LDB4NGJ9fSwKLSB7MTAsMHg0N2FhLDAsezB4ZjYsMHgxMiwweDNmLDB4ZmEsMHgxMiwweDQxLDB4MWIsMHg4MCwweGM1LDB4MjJ9fSwKLSB7MTYsMHg0N2I0LDAsezB4ZTQsMHg5MCwweDc2LDB4OWIsMHhmMCwweDkwLDB4NzYsMHg5YiwweGUwLDB4ZmYsMHgwNCwweGYwLDB4ZWYsMHg2MCwweDA4LDB4ZTB9fSwKLSB7MTYsMHg0N2M0LDAsezB4MjQsMHgwOCwweGY4LDB4ZTQsMHhmNiwweDgwLDB4ZWUsMHg5MCwweDc2LDB4OTYsMHhlMCwweDU0LDB4ZmIsMHhmMCwweDU0LDB4Zjd9fSwKLSB7MTYsMHg0N2Q0LDAsezB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGU0LDB4ZjUsMHgxOCwweGQyLDB4MzUsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGQyLDB4MzZ9fSwKLSB7MTYsMHg0N2U0LDAsezB4NzUsMHgxMiwweDExLDB4NzUsMHgxMywweDIyLDB4YzIsMHgzNywweGMyLDB4MzksMHhjMiwweDM4LDB4ZjUsMHgxNiwweGY1LDB4MTR9fSwKLSB7MTEsMHg0N2Y0LDAsezB4ZjUsMHgxYSwweGY1LDB4MGQsMHhjMiwweDNiLDB4YzIsMHgzYywweGMyLDB4M2QsMHgyMn19LAotIHsxNiwweDQ4MDAsMCx7MHg5MCwweDdmLDB4ZWMsMHhlMCwweDkwLDB4NzYsMHg4MywweGYwLDB4ZTAsMHgxNCwweDYwLDB4MTcsMHgxNCwweDYwLDB4MjEsMHgxNH19LAotIHsxNiwweDQ4MTAsMCx7MHg2MCwweDJiLDB4MTQsMHg2MCwweDMyLDB4MjQsMHgwNCwweDcwLDB4MzgsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MX19LAotIHsxNiwweDQ4MjAsMCx7MHhmMCwweDgwLDB4MzUsMHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MiwweGYwLDB4MTIsMHgzZSwweDhmLDB4ODAsMHgyOH19LAotIHsxNiwweDQ4MzAsMCx7MHg5MCwweDdmLDB4ZWEsMHhlMCwweDkwLDB4NzYsMHg5MCwweGYwLDB4MTIsMHgxOCwweDAwLDB4ODAsMHgxYiwweDkwLDB4N2YsMHhlYX19LAotIHsxNiwweDQ4NDAsMCx7MHhlMCwweDkwLDB4NzYsMHg4NCwweGYwLDB4ODAsMHgxMSwweDkwLDB4N2YsMHhlYSwweGUwLDB4OTAsMHg3NiwweDkzLDB4ZjAsMHg4MH19LAotIHsxMCwweDQ4NTAsMCx7MHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4ZDMsMHgyMn19LAotIHsxNiwweDQ4NWEsMCx7MHhlNCwweDkwLDB4NzYsMHgyNiwweGYwLDB4OTAsMHg3NiwweDI2LDB4ZTAsMHhmZiwweDc1LDB4ZjAsMHgwMywweGE0LDB4MjQsMHgzNH19LAotIHsxNiwweDQ4NmEsMCx7MHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4ZmUsMHg5MCwweDdmLDB4ZWMsMHhlMCwweGZkLDB4ZWUsMHg2ZH19LAotIHsxNiwweDQ4N2EsMCx7MHg2MCwweDBlLDB4ZWYsMHhjMywweDk0LDB4MDQsMHg1MCwweDA4LDB4OTAsMHg3NiwweDI2LDB4ZTAsMHgwNCwweGYwLDB4ODAsMHhkNX19LAotIHsxNiwweDQ4OGEsMCx7MHhlZiwweGI0LDB4MDQsMHgwOCwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHhlZiwweDc1LDB4ZjAsMHgwM319LAotIHsxNiwweDQ4OWEsMCx7MHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGUwLDB4OTAsMHg3ZiwweDAwLDB4ZjAsMHg5MH19LAotIHsgNiwweDQ4YWEsMCx7MHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4MjJ9fSwKLSB7IDIsMHg0OGIwLDAsezB4OGYsMHgyZX19LAotIHsxNiwweDQ4YjIsMCx7MHhlNCwweGY1LDB4MmYsMHg3NSwweDMwLDB4ZmYsMHg3NSwweDMxLDB4MDYsMHg3NSwweDMyLDB4YmUsMHhhYiwweDMwLDB4YWEsMHgzMX19LAotIHsxNiwweDQ4YzIsMCx7MHhhOSwweDMyLDB4OTAsMHgwMCwweDAxLDB4MTIsMHgzNiwweGFiLDB4YjQsMHgwMywweDFmLDB4YWYsMHgyZiwweDA1LDB4MmYsMHhlZn19LAotIHsxNiwweDQ4ZDIsMCx7MHg2NSwweDJlLDB4NzAsMHgwMSwweDIyLDB4MTIsMHgzNiwweDkyLDB4N2UsMHgwMCwweDI5LDB4ZmYsMHhlZSwweDNhLDB4YzksMHhlZn19LAotIHsxNiwweDQ4ZTIsMCx7MHhjOSwweDc1LDB4MzAsMHhmZiwweGY1LDB4MzEsMHg4OSwweDMyLDB4ODAsMHhkMiwweDdiLDB4MDAsMHg3YSwweDAwLDB4NzksMHgwMH19LAotIHsgMSwweDQ4ZjIsMCx7MHgyMn19LAotIHsxMiwweDQ4ZjMsMCx7MHhjMiwweDM3LDB4ZTQsMHhmNSwweDBlLDB4ZjUsMHgxMCwweGMyLDB4MzYsMHhmNSwweDE0LDB4MjJ9fSwKLSB7MTYsMHg0OTAwLDAsezB4MDIsMHgyZiwweGU3LDB4MDAsMHgwMiwweDNkLDB4NDcsMHgwMCwweDAyLDB4NGQsMHg0NiwweDAwLDB4MDIsMHg0YiwweGQ1LDB4MDB9fSwKLSB7MTYsMHg0OTEwLDAsezB4MDIsMHg0YiwweDYwLDB4MDAsMHgwMiwweDJmLDB4ZmYsMHgwMCwweDAyLDB4NGIsMHhlZCwweDAwLDB4MDIsMHg0YiwweDgxLDB4MDB9fSwKLSB7MTYsMHg0OTIwLDAsezB4MDIsMHg0YywweDA0LDB4MDAsMHgwMiwweDNmLDB4ZDUsMHgwMCwweDAyLDB4NGMsMHgxYiwweDAwLDB4MDIsMHg0YywweDMyLDB4MDB9fSwKLSB7MTYsMHg0OTMwLDAsezB4MDIsMHg0YywweDQ5LDB4MDAsMHgwMiwweDRjLDB4NjAsMHgwMCwweDAyLDB4NGMsMHg3NywweDAwLDB4MDIsMHg0YywweDhlLDB4MDB9fSwKLSB7MTYsMHg0OTQwLDAsezB4MDIsMHg0YywweGE1LDB4MDAsMHgwMiwweDRjLDB4YmMsMHgwMCwweDAyLDB4NGMsMHhkMywweDAwLDB4MDIsMHg0YywweGVhLDB4MDB9fSwKLSB7IDgsMHg0OTUwLDAsezB4MDIsMHg0ZCwweDAxLDB4MDAsMHgwMiwweDRkLDB4MTgsMHgwMH19LAotIHsxNiwweDQ5NTgsMCx7MHg5MCwweDc2LDB4NDYsMHg3NCwweDgwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDQ5NjgsMCx7MHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4NzQsMHg4MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMH19LAotIHsxNiwweDQ5NzgsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhM319LAotIHsxNiwweDQ5ODgsMCx7MHg3NCwweDQwLDB4ZjAsMHhlNCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMCwweGEzLDB4ZjAsMHhhMywweGYwLDB4YTMsMHhmMH19LAotIHsxNiwweDQ5OTgsMCx7MHhhMywweDc0LDB4NDAsMHhmMCwweGU0LDB4YTMsMHhmMCwweGEzLDB4NzQsMHg0MCwweGYwLDB4ZTQsMHhhMywweGYwLDB4YTMsMHhmMH19LAotIHsgNSwweDQ5YTgsMCx7MHhhMywweGYwLDB4YTMsMHhmMCwweDIyfX0sCi0gezE2LDB4NDlhZCwwLHsweGU0LDB4OTAsMHg3NiwweDI1LDB4ZjAsMHg5MCwweDc2LDB4MjUsMHhlMCwweGZmLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDM0fX0sCi0gezE2LDB4NDliZCwwLHsweGY1LDB4ODIsMHhlNCwweDM0LDB4NzUsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDkwLDB4N2YsMHhlYywweGUwLDB4ZmQsMHhlZSwweDZkfX0sCi0gezE2LDB4NDljZCwwLHsweDYwLDB4MGUsMHhlZiwweGMzLDB4OTQsMHgwNCwweDUwLDB4MDgsMHg5MCwweDc2LDB4MjUsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGQ1fX0sCi0gezE2LDB4NDlkZCwwLHsweGVmLDB4YjQsMHgwNCwweDA4LDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHgyMiwweDkwLDB4N2UsMHhjMCwweGUwfX0sCi0gezE2LDB4NDllZCwwLHsweGZlLDB4ZWYsMHg3NSwweGYwLDB4MDMsMHhhNCwweDI0LDB4MzIsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDc1LDB4ZjUsMHg4MywweGVlfX0sCi0geyAyLDB4NDlmZCwwLHsweGYwLDB4MjJ9fSwKLSB7MTYsMHg0OWZmLDAsezB4ZTQsMHhmZSwweDc1LDB4MWQsMHhmZiwweDc1LDB4MWUsMHgwNSwweDc1LDB4MWYsMHgxMiwweGFiLDB4MWQsMHhhYSwweDFlLDB4YTl9fSwKLSB7MTYsMHg0YTBmLDAsezB4MWYsMHg5MCwweDAwLDB4MDEsMHgxMiwweDM2LDB4YWIsMHg2NCwweDAyLDB4NzAsMHgyZiwweGNkLDB4ZWUsMHhjZCwweDBlLDB4ZWR9fSwKLSB7MTYsMHg0YTFmLDAsezB4NmYsMHg3MCwweDAxLDB4MjIsMHg5MCwweDAwLDB4MDIsMHgxMiwweDM3LDB4MGUsMHg4NSwweGYwLDB4MWIsMHhmNSwweDFjLDB4NjJ9fSwKLSB7MTYsMHg0YTJmLDAsezB4MWIsMHhlNSwweDFiLDB4NjIsMHgxYywweGU1LDB4MWMsMHg2MiwweDFiLDB4MjksMHhmZCwweGU1LDB4MWIsMHgzYSwweGM5LDB4ZWR9fSwKLSB7MTYsMHg0YTNmLDAsezB4YzksMHg3NSwweDFkLDB4ZmYsMHhmNSwweDFlLDB4ODksMHgxZiwweDgwLDB4YzEsMHg3YiwweDAwLDB4N2EsMHgwMCwweDc5LDB4MDB9fSwKLSB7IDEsMHg0YTRmLDAsezB4MjJ9fSwKLSB7MTYsMHg0YTUwLDAsezB4MzAsMHgyZCwweDM5LDB4YzIsMHgyZCwweDkwLDB4NzYsMHgxOSwweGUwLDB4ZmYsMHhiNCwweDAxLDB4MGQsMHhlNCwweDkwLDB4NzZ9fSwKLSB7MTYsMHg0YTYwLDAsezB4N2MsMHhmMCwweGEzLDB4NzQsMHhmOCwweGYwLDB4YTMsMHg3NCwweDBhLDB4ZjAsMHhlZiwweGI0LDB4MDIsMHgwZCwweGU0LDB4OTB9fSwKLSB7MTYsMHg0YTcwLDAsezB4NzYsMHg3YywweGYwLDB4YTMsMHg3NCwweGYwLDB4ZjAsMHhhMywweDc0LDB4MGIsMHhmMCwweGVmLDB4YjQsMHgwMywweDBkLDB4ZTR9fSwKLSB7MTMsMHg0YTgwLDAsezB4OTAsMHg3NiwweDdjLDB4ZjAsMHhhMywweDc0LDB4ZjgsMHhmMCwweGEzLDB4NzQsMHgxNywweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YThkLDAsezB4ZTQsMHhmZiwweDc0LDB4NTYsMHgyZiwweGY1LDB4ODIsMHhlNCwweDM0LDB4NzYsMHhmNSwweDgzLDB4ZTAsMHhmZSwweDc0LDB4Mjh9fSwKLSB7MTYsMHg0YTlkLDAsezB4MmYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweDgwLDB4ZjUsMHg4MywweGVlLDB4ZjAsMHg3NCwweDVlLDB4MmYsMHhmNSwweDgyLDB4ZTR9fSwKLSB7MTYsMHg0YWFkLDAsezB4MzQsMHg3NiwweGY1LDB4ODMsMHhlMCwweGZlLDB4NzQsMHgzOCwweDJmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHg4MCwweGY1LDB4ODN9fSwKLSB7IDYsMHg0YWJkLDAsezB4ZWUsMHhmMCwweDBmLDB4YmYsMHgwOCwweGNjfX0sCi0geyAxLDB4NGFjMywwLHsweDIyfX0sCi0gezE2LDB4NGFjNCwwLHsweGU0LDB4OTAsMHg3MiwweDM2LDB4ZjAsMHhhMywweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlNCwweDkwfX0sCi0gezE2LDB4NGFkNCwwLHsweDcyLDB4MzMsMHhmMCwweDkwLDB4NzIsMHgzMiwweGYwLDB4OTAsMHg3MiwweDAxLDB4MDQsMHhmMCwweGU0LDB4OTAsMHg3MiwweDMzfX0sCi0gezE2LDB4NGFlNCwwLHsweGYwLDB4OTAsMHg3MiwweDMyLDB4ZjAsMHg5MCwweDcyLDB4MDEsMHgwNCwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg0NCwweDA0fX0sCi0geyAyLDB4NGFmNCwwLHsweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YWY2LDAsezB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZiLDB4ZjAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDMwLDB4NDIsMHgwNCwweGUwLDB4NDR9fSwKLSB7MTYsMHg0YjA2LDAsezB4MDIsMHhmMCwweDdmLDB4ZGMsMHg3ZSwweDA1LDB4MTIsMHg0ZCwweDJmLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGY3LDB4ZjB9fSwKLSB7IDUsMHg0YjE2LDAsezB4ZTAsMHg0NCwweDA0LDB4ZjAsMHgyMn19LAotIHsxNiwweDRiMWIsMCx7MHg5MCwweDdmLDB4ZWIsMHhlMCwweDE0LDB4NzAsMHgxNCwweDkwLDB4N2YsMHhlOSwweGUwLDB4MjQsMHg3ZiwweDcwLDB4MDQsMHgxMn19LAotIHsxNiwweDRiMmIsMCx7MHg0OCwweDVhLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDEsMHhmMCwweDIyLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH19LAotIHsgMywweDRiM2IsMCx7MHgwMSwweGYwLDB4MjJ9fSwKLSB7MTYsMHg0YjNlLDAsezB4OTAsMHg3ZiwweGViLDB4ZTAsMHgxNCwweDcwLDB4MTMsMHg5MCwweDdmLDB4ZTksMHhlMCwweDE0LDB4NzAsMHgwNCwweDEyLDB4NDl9fSwKLSB7MTYsMHg0YjRlLDAsezB4YWQsMHgyMiwweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4MjIsMHg5MCwweDdmLDB4YjQsMHhlMCwweDQ0LDB4MDF9fSwKLSB7IDIsMHg0YjVlLDAsezB4ZjAsMHgyMn19LAotIHsxNiwweDRiNjAsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDEwLDB4ZjAsMHg5MH19LAotIHsxNiwweDRiNzAsMCx7MHg3NiwweDk2LDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg5MCwweDgwLDB4MDMsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMH19LAotIHsgMSwweDRiODAsMCx7MHgzMn19LAotIHsxNiwweDRiODEsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWEsMHhlMCwweDQ0LDB4MDEsMHhmMH19LAotIHsxNSwweDRiOTEsMCx7MHhjMiwweDI5LDB4OTAsMHg3NiwweDhkLDB4NzQsMHgwMSwweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHg0YmEwLDAsezB4OTAsMHg3ZiwweGVhLDB4ZTAsMHg5MCwweDc2LDB4ODIsMHhmMCwweGU0LDB4OTAsMHg3NiwweDkxLDB4ZjAsMHg5MCwweDc2LDB4OTJ9fSwKLSB7MTEsMHg0YmIwLDAsezB4ZjAsMHg5MCwweDc2LDB4OTAsMHhmMCwweDkwLDB4NzYsMHg5MywweGYwLDB4ZDMsMHgyMn19LAotIHsxNiwweDRiYmIsMCx7MHg5MCwweDdmLDB4ZDYsMHhlMCwweDMwLDB4ZTcsMHgxMiwweGUwLDB4NDQsMHgwMSwweGYwLDB4N2YsMHgxNCwweDdlLDB4MDAsMHgxMn19LAotIHsxMCwweDRiY2IsMCx7MHg0ZCwweDJmLDB4OTAsMHg3ZiwweGQ2LDB4ZTAsMHg1NCwweGZlLDB4ZjAsMHgyMn19LAotIHsxNiwweDRiZDUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHhkMiwweDI1LDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwOH19LAotIHsgOCwweDRiZTUsMCx7MHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGJlZCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMSwweGYwfX0sCi0geyA3LDB4NGJmZCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGMwNCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwMiwweGYwfX0sCi0geyA3LDB4NGMxNCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGMxYiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwNCwweGYwfX0sCi0geyA3LDB4NGMyYiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGMzMiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwNCwweGYwfX0sCi0geyA3LDB4NGM0MiwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGM0OSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgwOCwweGYwfX0sCi0geyA3LDB4NGM1OSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGM2MCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgwOCwweGYwfX0sCi0geyA3LDB4NGM3MCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGM3NywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgxMCwweGYwfX0sCi0geyA3LDB4NGM4NywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGM4ZSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgxMCwweGYwfX0sCi0geyA3LDB4NGM5ZSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGNhNSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHgyMCwweGYwfX0sCi0geyA3LDB4NGNiNSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGNiYywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHgyMCwweGYwfX0sCi0geyA3LDB4NGNjYywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGNkMywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg0MCwweGYwfX0sCi0geyA3LDB4NGNlMywwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGNlYSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg0MCwweGYwfX0sCi0geyA3LDB4NGNmYSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGQwMSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhOSwweGUwLDB4NDQsMHg4MCwweGYwfX0sCi0geyA3LDB4NGQxMSwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGQxOCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYSwweGUwLDB4NDQsMHg4MCwweGYwfX0sCi0geyA3LDB4NGQyOCwwLHsweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4NGQyZiwwLHsweDhlLDB4MzUsMHg4ZiwweDM2LDB4ZTUsMHgzNiwweDE1LDB4MzYsMHhhZSwweDM1LDB4NzAsMHgwMiwweDE1LDB4MzUsMHg0ZSwweDYwfX0sCi0geyA3LDB4NGQzZiwwLHsweDA1LDB4MTIsMHgxNCwweDg1LDB4ODAsMHhlZSwweDIyfX0sCi0gezE2LDB4NGQ0NiwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDQsMHhmMCwweGQwfX0sCi0geyA2LDB4NGQ1NiwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDRkNWMsMCx7MHg5MCwweDc2LDB4ODIsMHhlMCwweDkwLDB4N2YsMHgwMCwweGYwLDB4OTAsMHg3ZiwweGI1LDB4NzQsMHgwMSwweGYwLDB4ZDMsMHgyMn19LAotIHsgOSwweDRkNmMsMCx7MHhjMiwweDI1LDB4NTMsMHhkOCwweGVmLDB4NDMsMHhkOCwweDIwLDB4MzJ9fSwKLSB7IDcsMHg0ZDc1LDAsezB4NTMsMHg5OCwweGZlLDB4NTMsMHg5OCwweGZkLDB4MzJ9fSwKLSB7IDcsMHg0ZDdjLDAsezB4NTMsMHhjMCwweGZlLDB4NTMsMHhjMCwweGZkLDB4MzJ9fSwKLSB7IDYsMHg0ZDgzLDAsezB4NTMsMHg5MSwweGJmLDB4ZDIsMHgyZCwweDMyfX0sCi0geyA2LDB4NGQ4OSwwLHsweDUzLDB4OTEsMHg3ZiwweGQyLDB4MmMsMHgzMn19LAotIHsgNCwweDRkOGYsMCx7MHg1MywweDkxLDB4ZGYsMHgzMn19LAotIHsgNCwweDRkOTMsMCx7MHg1MywweGQ4LDB4ZjcsMHgzMn19LAotIHsgNCwweDRkOTcsMCx7MHgxMiwweDE3LDB4MzAsMHgyMn19LAotIHsgMywweDRkOWIsMCx7MHhjMiwweDhkLDB4MzJ9fSwKLSB7IDMsMHg0ZDllLDAsezB4YzIsMHg4ZiwweDMyfX0sCi0geyAyLDB4NGRhMSwwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGEzLDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYTUsMCx7MHhkMywweDIyfX0sCi0geyAyLDB4NGRhNywwLHsweGQzLDB4MjJ9fSwKLSB7IDIsMHg0ZGE5LDAsezB4ZDMsMHgyMn19LAotIHsgMiwweDRkYWIsMCx7MHhjMywweDIyfX0sCi0geyAwLDB4MDAwMCwxLHswfX0KLX07Ci0vKiBTb3VyY2U6IEVNSTYyU0ZXLkhFWCAKLToxMDBDOEYwMDQxNzY2ODAxNDE3NjZBMDI0MTc2NkIwQUMxMjBDMTIxMjMKLToxMDQ0QTEwMEMyQUZEMjI0OTA3RjkzNzQzMEYwOTA3RjlDNzRCQkYwQTQKLToxMDQ0QjEwMDkwN0Y5NkUwNDQzMEYwRTA1NDMwRjA5MDdGOTQ3NDMwNzcKLToxMDQ0QzEwMEYwOTA3RjlENzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1Q0UKLToxMDQ0RDEwMDc0QzBGMDkwN0Y5RTc0MDNGMDkwN0Y5OUUwMzBFMjA5MDAKLToxMDQ0RTEwMDkwMDUxOTc0QTBGMEU0QTNGMEMyMjVDMjIyQzIyM0MyMzAKLToxMDQ0RjEwMDI2MTI0QUM0MTIyREE5MTIzQkQzMTI0NTU5MTIzQTQyMkYKLToxMDQ1MDEwMDkwNzY2ODc0MDFGMDcwMEYxMjRCQkIxMjA3RkUxMjREQ0EKLToxMDQ1MTEwMEExMTIxQjQwMTIxNDk2MTI0MzBCOTA3RkFGRTA0NDAxOEQKLToxMDQ1MjEwMEYwOTA3RkFFRTA0NDFGRjA5MDdGQUM3NEZGRjA5MDdGN0QKLToxMDQ1MzEwMEFERjA5MDdGREVGMDkwN0ZERkYwOTA3RkFCRjA5MDdGNjkKLToxMDQ1NDEwMEE5RjA5MDdGQUFGMDUzOTFFRjQzRDgyMEQyRTg0M0Q4NDUKLTowODQ1NTEwMDIwNTNBOEEwNDNBODgwMjIxQQotOjEwNDc1QTAwRTQ5MDc2NjZGMDEyNDRBMTIwMjYxMzkwNzY2NkUwQzNCMAotOjEwNDc2QTAwOTQwMjUwMEFFMDA0RjBEMjQyMTI0QUY2ODBFQTMwMjY1NQotOjEwNDc3QTAwMDUxMjI4MDFDMjI2MzAyNTJCOTA3Njk2RTA1NEZDRjBDQgotOjEwNDc4QTAwOTA4MDAzRjAxMjE0OTY5MDc2OTZFMDQ0MDNGMDkwODA5RAotOjEwNDc5QTAwMDNGMEU0OTA3NjY3RjA5MDc2NjdFMDA0RjBFMEI0NEJCQgotOjBBNDdBQTAwRjYxMjNGRkExMjQxMUI4MEM1MjJFRgotOjEwMjgwMTAwQzIyMEMyMjFDMjJBOTA3RkU4RTAxMjM3RjkyODMwMDBBNQotOjEwMjgxMTAwMjg4QzAxMjhBMjAyMkExRjIxMkE2QTIyMjkzRDgwMjkwNwotOjEwMjgyMTAwN0Q4MTI5RDE4MjJBODRBMTJBQkFBMjAwMDAyQUJGOTBERgotOjEwMjgzMTAwN0ZFOUUwMTQ2MDExMjRGRTYwMjgyNEZFNjAzQjI0RkM0MwotOjEwMjg0MTAwNzA0MDEyNEJBMDQxQ0IxMjREQTc0MDAyNDFDQjkwN0Y2QgotOjEwMjg1MTAwRUFFMEI0MDEwNEMyMjI0MUNCOTA3RkI0RTA0NDAxRjAyQwotOjEwMjg2MTAwNDFDQjEyNERBOTkwN0ZFQUUwQjQwMTA0RDIyMjQxQ0JDMQotOjEwMjg3MTAwOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA5QgotOjEwMjg4MTAwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwMjQ1QgotOjEwMjg5MTAwRjU3MDA1MTI0ODAwNDFDQjkwN0ZCNEUwNDQwMUYwNDE0RQotOjEwMjhBMTAwQ0I5MDdGRTlFMDI0RkQ2MDU0MjQwMjYwMDIyMTM0MTJDMAotOjEwMjhCMTAwNERBNzQwMDI0MUNCOTA3RkVBRTA3MDM4OTA3RkVDRTA3OQotOjEwMjhDMTAwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjREMwotOjEwMjhEMTAwRjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZFRgotOjEwMjhFMTAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDREOAotOjEwMjhGMTAwMjBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0IxMjREQTlDRgotOjEwMjkwMTAwNDAwMjQxQ0I5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTRFQwotOjEwMjkxMTAwODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODI1MwotOjEwMjkyMTAwRTQzNDdGRjU4Mzc0MDFGMDQxQ0I5MDdGQjRFMDQ0MDEzRQotOjEwMjkzMTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTBERQotOjEwMjk0MTAwNjAxMjI0Rjg2MDA5MjQwMjcwMjkxMjQzREI0MUNCMTI4MgotOjEwMjk1MTAwNEQ1QzQxQ0IxMjREQTVBMjIyRTQzM0ZGMjVFMEZGQTIzRAotOjEwMjk2MTAwMjNFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDIyRAotOjEwMjk3MTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTA5RQotOjEwMjk4MTAwNjAzMzI0RjY2MDJBMjQwNDcwM0Q5MDdGRUJFMDI0REU1RQotOjEwMjk5MTAwNjAwQzA0NzAxMjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y1MQotOjEwMjlBMTAwQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I2RAotOjEwMjlCMTAwMTI0Njg1NDFDQjEyNERBNUU0OTA3RjAwRjBBM0YwOTAyMwotOjEwMjlDMTAwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I3QwotOjEwMjlEMTAwOTA3RkU5RTAyNEY0NjAzNDI0MEM3MDM5MTI0REE1OTAwNQotOjEwMjlFMTAwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjUxRgotOjEwMjlGMTAwRTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDA1OAotOjEwMkEwMTAwRjBFNEEzRjA5MDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA4NQotOjEwMkExMTAwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y4MQotOjEwMkEyMTAwRTlFMDI0RjY2MDEyMTQ2MDFBMjQwMjcwMUREMjIwOTA4RAotOjEwMkEzMTAwN0ZCNEUwNDQwMUYwODAxMkQyMjA5MDdGQjRFMDQ0MDFFMQotOjEwMkE0MTAwRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDIwMTg5MDdGRUVFMQotOjEwMkE1MTAwRTA3MDA0QTNFMDYwMEJEMjI5RDIyNzEyMTc0QUQyMkFEMAotOjEwMkE2MTAwODAwMzEyMDgwMEMyMjA4MDYxOTA3RkVFRTA3MDA0QTMxMQotOjEwMkE3MTAwRTA2MDBCRDIyOUQyMjgxMjE3NEFEMjJBODA0QzEyMzg5MAotOjEwMkE4MTAwNzQ4MDQ3OTA3RkU5RTAyNEZFNjAxMjE0NjAxQTI0MDJFQQotOjEwMkE5MTAwNzAxREQyMjE5MDdGQjRFMDQ0MDFGMDgwMTJEMjIxOTBDOAotOjEwMkFBMTAwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwMjA1RQotOjEwMkFCMTAwMjEwMzEyMTAwMEMyMjE4MDExMTIyQUQ2ODAwQzEyNEQ1RQotOjEwMkFDMTAwQUI1MDA3OTA3RkI0RTA0NDAxRjAyMDJBMDc5MDdGQjQxNwotOjA1MkFEMTAwRTA0NDAyRjAyMkM4Ci06MTA0M0RCMDAxMjREQTM0MDAyODFBMDkwN0ZFQkUwMjRGRTYwMUUxNERGCi06MTA0M0VCMDA2MDQ2MTQ2MDZFMTQ3MDAyODE5MTI0MDQ2MDAyODE5OUZFCi06MTA0M0ZCMDA3NDA1OTA3RkQ0RjA3NDAwOTA3RkQ1RjAyMjkwN0ZFQTAzCi06MTA0NDBCMDBFMEZGMTI0OUZGOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUY1Ci06MTA0NDFCMDBFQUNFRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMkFDCi06MTA0NDJCMDA5MDdGQjRFMDQ0MDFGMDIyOTA3RkVBRTBGRjEyNDhCMEE1Ci06MTA0NDNCMDA4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRUVFOTA3RjQ5Ci06MTA0NDRCMDBENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkI0RTA0NDRBCi06MTA0NDVCMDAwMUYwMjI5MDdGRUFFMEZGOTA3RUMwRTBGREEzRTBGQjNECi06MTA0NDZCMDAxMjE3OTQ4QjIwOEEyMTg5MjJFQTQ5NjAxMUNFRUFDRTU5Ci06MTA0NDdCMDBFRTkwN0ZENEYwQ0ZFOUNGRUY5MDdGRDVGMDIyOTA3RkY1Ci06MTA0NDhCMDBCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RjJECi06MDU0NDlCMDBCNEUwNDQwMUYwNTMKLTowMTQ0QTAwMDIyRjkKLTowMzAwMzMwMDAyNEQ2QzBGCi06MDk0RDZDMDBDMjI1NTNEOEVGNDNEODIwMzJEMAotOjAyMEM5RjAwQzEyRjYzCi06MDYzRkZBMDAxMjRBQzRDMjMxMjI4QwotOjEwNDMwQjAwRTQ5MDc2OTZGMDkwODAwM0YwOTA3RkUwNzQ5MEYwOTBCQwotOjEwNDMxQjAwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDdGQTFGMDUzOEU4OQotOjEwNDMyQjAwRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzhFMzBGNUM4NzU5QQotOjEwNDMzQjAwQ0E3Rjc1Q0JGODQzQTgyMDEyMDc0QUMyMkNDMjJEQzJFNAotOjEwNDM0QjAwMkJDMjJGOTA3RkZDNzREREYwOTA3RkZGNzRGRkYwOTBGOQotOjEwNDM1QjAwN0Y5N0UwNDQwMUYwOTA3NjE5NzQwMUYwRTQ5MDc2ODUzNAotOjEwNDM2QjAwRjBBM0YwOTA3NjgxRjA5MDc2ODBGMDEyNDk1ODEyMEZGRQotOjEwNDM3QjAwQzYxMjRBOEQ5MDdGOTdFMDQ0MDhGMEUwNTRCOUYwRDIxMgotOjEwNDM4QjAwMzAyMDMwMTgxMjQ3QjQxMjMwMDAxMjQwMDAxMjQyMTY3RgotOjEwNDM5QjAwMTI0QTUwMTIxQjA0MTIxNjYxMTI0MjE2QzIyRkMyMzE1RQotOjEwNDNBQjAwQzIzMkMyMzRDMjMzQzIyOUMyMjdDMjI4RTRGNTExOTBFQgotOjEwNDNCQjAwNzY4OUYwOTA3NjNGRjA5MDc2NDFGMDkwNzY0MEYwOTBEMQotOjEwNDNDQjAwNzY4QUYwQTNGMEEzMDRGMEU0QTNGMDkwNzY5OUYwMjJBMAotOjEwNEE1MDAwMzAyRDM5QzIyRDkwNzYxOUUwRkZCNDAxMERFNDkwNzYyNwotOjEwNEE2MDAwN0NGMEEzNzRGOEYwQTM3NDBBRjBFRkI0MDIwREU0OTBBNAotOjEwNEE3MDAwNzY3Q0YwQTM3NEYwRjBBMzc0MEJGMEVGQjQwMzBERTRCNAotOjBENEE4MDAwOTA3NjdDRjBBMzc0RjhGMEEzNzQxN0YwMjI3OAotOjEwMUIwNDAwMzAyQzM4QzIyQzkwNzYxOUUwRkZCNDAxMEU5MDc2N0MwQwotOjEwMUIxNDAwNzRDMEYwQTM3NDE0RjBBMzc0MEJGMEVGQjQwMjBERTREQQotOjEwMUIyNDAwOTA3NjdDRjBBMzc0MTBGMEEzNzQwQ0YwRUZCNDAzMEI2NAotOjBDMUIzNDAwRTQ5MDc2N0NGMEEzNzQxOEYwQTNGMDIyN0IKLToxMDQxMUIwMDkwNzY4REUwNjQwMTcwMjczMDI3MDhDMjI3MTIwODAwQzMKLToxMDQxMkIwMDEyMTc0QTMwMjgwOEMyMjgxMjM4NzQxMjE3NEEzMDJBM0MKLToxMDQxM0IwMDBFRTQ5MDc2OERGMEMyMkE5MDdGQjRFMDQ0MDJGMDkwQUEKLToxMDQxNEIwMDc2M0ZFMEI0MDEwNUU0RjAxMjMyNkY5MDc2NDFFMEI0QjMKLToxMDQxNUIwMDAxMDVFNEYwMTIzNDlBOTA3NjQwRTBCNDAxMDMxMjM0NzYKLToxMDQxNkIwMDlBOTA3RjlCRTAyMEU0MDJDMjNGOTA3RjlCRTAzMEU0N0IKLToxMDQxN0IwMDAyRDIzRjkwN0Y5QkUwMjBFNTAyQzIzRTkwN0Y5QkUwMDYKLToxMDQxOEIwMDMwRTUwMkQyM0VBMjQxMzAzRjAxQjM1MDFGQTIzRjkyMTUKLToxMDQxOUIwMDQxMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3NzgKLToxMDQxQUIwMEUwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMDMwM0YzNDkwM0QKLToxMDQxQkIwMDc2MTlFMEZGQjQwMTBFOTA3NjdDNzQ2N0YwQTM3NDA2NTkKLToxMDQxQ0IwMEYwQTM3NDBCRjBFRkI0MDIwQkU0OTA3NjdDRjBBM0YwNDkKLToxMDQxREIwMEEzNzQwQ0YwRUZCNDAzMEJFNDkwNzY3Q0YwQTNGMEEzODQKLToxMDQxRUIwMDc0MThGMEEyNDAzMDNFMDFCMzUwMUZBMjNFOTI0MDMwRjMKLToxMDQxRkIwMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0NjQKLTowQjQyMEIwMEZCRjA5MDc2OTVFMDkwODAwMUYwMjIxRgotOjAyMDdGRTAwRDMyMjA0Ci06MDI0REExMDBEMzIyMUIKLTowMjREQTMwMEQzMjIxOQotOjEwNEJBMDAwOTA3RkVBRTA5MDc2ODJGMEU0OTA3NjkxRjA5MDc2OTJCMQotOjBCNEJCMDAwRjA5MDc2OTBGMDkwNzY5M0YwRDMyMjA2Ci06MTA0RDVDMDA5MDc2ODJFMDkwN0YwMEYwOTA3RkI1NzQwMUYwRDMyMkMyCi06MTA0ODAwMDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMTcxNDYwMjExNDQwCi06MTA0ODEwMDA2MDJCMTQ2MDMyMjQwNDcwMzg5MDdGRUFFMDkwNzY5MTI3Ci06MTA0ODIwMDBGMDgwMzU5MDdGRUFFMDkwNzY5MkYwMTIzRThGODAyOEZCCi06MTA0ODMwMDA5MDdGRUFFMDkwNzY5MEYwMTIxODAwODAxQjkwN0ZFQTVCCi06MTA0ODQwMDBFMDkwNzY4NEYwODAxMTkwN0ZFQUUwOTA3NjkzRjA4MDlCCi06MEE0ODUwMDAwNzkwN0ZCNEUwNDQwMUYwRDMyMjhBCi06MTA0Njg1MDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMUQxNDYwMkExNEFFCi06MTA0Njk1MDA2MDM3MTQ2MDQ0MjQwNDcwNTA5MDc2OTFFMDkwN0YwMDU4Ci06MTA0NkE1MDBGMDkwN0ZCNTc0MDFGMDgwNDc5MDc2OTJFMDkwN0YwMDlFCi06MTA0NkI1MDBGMDkwN0ZCNTc0MDFGMDgwMzc5MDc2OTBFMDkwN0YwMEEwCi06MTA0NkM1MDBGMDkwN0ZCNTc0MDFGMDgwMjc5MDc2ODRFMDkwN0YwMEFDCi06MTA0NkQ1MDBGMDkwN0ZCNTc0MDFGMDgwMTc5MDc2OTNFMDkwN0YwMDlECi06MTA0NkU1MDBGMDkwN0ZCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDRECi06MDI0NkY1MDBEMzIyQ0UKLTowMjREQTUwMEQzMjIxNwotOjAyNERBNzAwRDMyMjE1Ci06MDI0REE5MDBEMzIyMTMKLTowMjREQUIwMEMzMjIyMQotOjEwMkZFNzAwQzBFMEMwODNDMDgyRDIyNjUzOTFFRjkwN0ZBQjc0MDFCQgotOjA4MkZGNzAwRjBEMDgyRDA4M0QwRTAzMjVCCi06MTA0RDQ2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA0RjBEMDczCi06MDY0RDU2MDA4MkQwODNEMEUwMzJBMAotOjEwM0Q0NzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBGNgotOjEwM0Q1NzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZCMQotOjEwM0Q2NzAwQzBFMDkwN0ZBMkUwOTA3NjdGRjA5MDdGNzRFMDkwNzYzRAotOjEwM0Q3NzAwODdGMDkwN0Y3NUUwOTA3Njg4RjA5MDdGOThFMDQ0MDIxNgotOjEwM0Q4NzAwRjA5MDc2OTZFMEZGMjBFMTBDNDQwMkYwOTA4MDAzRjA3QgotOjEwM0Q5NzAwRDIzMjEyNEFDNDkwNzY3RkUwMjBFMjUwOTA3Njg3RTBENAotOjEwM0RBNzAwRkVBM0UwN0MwMDI0MDBGNTM0RUMzRUY1MzM5MDc2OThEMgotOjEwM0RCNzAwRTBGREFFMzNBRjM0MTIzNkQ4OTA3Njg3RUZGMEQyMkZDRQotOjEwM0RDNzAwMzAzMTI5MjAzRjI2QzIzMTkwN0Y5NEUwNTRDRkYwOTBDNAotOjEwM0RENzAwN0Y5QUUwMzBFNDA0RDIyREMyMkM5MDdGOUFFMDIwRTU1MAotOjEwM0RFNzAwMDRDMjJERDIyQzkwN0Y5NEUwNDQzMEYwMTI0QTUwMTIzNgotOjEwM0RGNzAwMUIwNDMwMkYxMjEyNDIxNkMyMkY3NUU4MDExMjE2OEFDMQotOjEwM0UwNzAwNzVFODBERDIyQjgwMDU3NUU4MDFDMjJCMjAyQjM0OTA2NQotOjEwM0UxNzAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDYwMAotOjEwM0UyNzAwRjBBMzc0MEJGMEVGQjQwMjBCOTA3NjdDRTRGMEEzRjBGMAotOjEwM0UzNzAwQTM3NDBDRjBFRkI0MDMwQjkwNzY3Q0U0RjBBM0YwQTMyQgotOjEwM0U0NzAwNzQxOEYwNzVDQUQzNzVDQkZFRDJDQTMwMzQwNEMyMzRBNQotOjEwM0U1NzAwODAwMkQyMzQ1MzkxRUY5MDdGQUI3NDAyRjBGMDkwN0ZFMQotOjEwM0U2NzAwOThFMDU0RkRGMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBEOAotOjEwM0U3NzAwRkNEMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDAyOQotOjA4M0U4NzAwODJEMDgzRDBGMEQwRTAzMkJDCi06MTA0QjYwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjA5MDhGCi06MTA0QjcwMDA3Njk2RTA1NEZERjA5MDgwMDNGMEQwODJEMDgzRDBFMEIwCi06MDE0QjgwMDAzMjAyCi06MDEyRkZGMDAzMjlGCi06MTA0QkQ1MDBDMEUwQzA4M0MwODJEMjI1NTM5MUVGOTA3RkFCNzQwOEFCCi06MDg0QkU1MDBGMEQwODJEMDgzRDBFMDMyNTEKLToxMDRCRUQwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwMUYwRjMKLTowNzRCRkQwMEQwODJEMDgzRDBFMDMyMkEKLToxMDRCODEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMUYwNUUKLTowRjRCOTEwMEMyMjk5MDc2OEQ3NDAxRjBEMDgyRDA4M0QwRTAzMkFCCi06MTA0QzA0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMERBCi06MDc0QzE0MDBEMDgyRDA4M0QwRTAzMjEyCi06MTAzRkQ1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDJGMDE1Ci06MTAzRkU1MDA5MDdGQzdFMEY1MTE3NTBGMDA3NTBEMDBEMjMzRDA4MkIzCi06MDUzRkY1MDBEMDgzRDBFMDMyOTIKLToxMDRDMUIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwNEYwQzEKLTowNzRDMkIwMEQwODJEMDgzRDBFMDMyRkIKLToxMDRDMzIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwNEYwQTkKLTowNzRDNDIwMEQwODJEMDgzRDBFMDMyRTQKLToxMDRDNDkwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQwOEYwOEYKLTowNzRDNTkwMEQwODJEMDgzRDBFMDMyQ0QKLToxMDRDNjAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwOEYwNzcKLTowNzRDNzAwMEQwODJEMDgzRDBFMDMyQjYKLToxMDRDNzcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQxMEYwNTkKLTowNzRDODcwMEQwODJEMDgzRDBFMDMyOUYKLToxMDRDOEUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQxMEYwNDEKLTowNzRDOUUwMEQwODJEMDgzRDBFMDMyODgKLToxMDRDQTUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQyMEYwMUIKLTowNzRDQjUwMEQwODJEMDgzRDBFMDMyNzEKLToxMDRDQkMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQyMEYwMDMKLTowNzRDQ0MwMEQwODJEMDgzRDBFMDMyNUEKLToxMDRDRDMwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ0MEYwQ0QKLTowNzRDRTMwMEQwODJEMDgzRDBFMDMyNDMKLToxMDRDRUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ0MEYwQjUKLTowNzRDRkEwMEQwODJEMDgzRDBFMDMyMkMKLToxMDREMDEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOUUwNDQ4MEYwNUUKLTowNzREMTEwMEQwODJEMDgzRDBFMDMyMTQKLToxMDREMTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQ4MEYwNDYKLTowNzREMjgwMEQwODJEMDgzRDBFMDMyRkQKLToxMDQyMTYwMDkwNzYxOUUwNjQwMTcwMzU5MDc2ODdFMEZGRDM5NDJEOEYKLToxMDQyMjYwMDQwMkI5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzMUEKLToxMDQyMzYwMDk0MEY0MDE5RTRGMEVGRDM5NDMxNDAwODkwNzYxOTc0NDYKLToxMDQyNDYwMDAzRjA4MDA2OTA3NjE5NzQwMkYwMTIzRThGOTA3NjE5NkMKLToxMDQyNTYwMEUwQjQwMjJDOTA3Njg3RTBGRkMzOTQyRjUwMjJFRkQzNzAKLToxMDQyNjYwMDk0MkE0MDFDOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwREUKLToxMDQyNzYwMEUwRDM5NDBGNDAwQUU0RjA5MDc2MTkwNEYwMTIzRThGRDIKLToxMDQyODYwMDkwNzYxOUUwQjQwMjI2OTA3Njg3RTBEMzk0MzE0MDFERUIKLToxMDQyOTYwMDkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNzIKLToxMDQyQTYwMDQwMEJFNEYwOTA3NjE5NzQwM0YwMTIzRThGOTA3NjE5NjUKLToxMDQyQjYwMEUwNjQwMzcwM0Y5MDc2ODdFMEZGQzM5NDVGNTAzNTkwQ0IKLToxMDQyQzYwMDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjQwOTIKLToxMDQyRDYwMDIzRTRGMEVGQzM5NDJGNTAwQ0VGRDM5NDJBNDAwNjkwQkEKLToxMDQyRTYwMDc2MTk3NDAxRjBFRkQzOTQyRjQwMDY5MDc2MTk3NDAyNzQKLToxMDQyRjYwMEYwMTIzRThGOTA3Njg2RTA3MDA1OTA3Njg1RjAyMkU0ODcKLTowNTQzMDYwMDkwNzY4NkYwMjIxNAotOjEwMDc0QTAwOTA3NjlBNzQwMkYwRTQ5MDc2OTFGMEEzRjA5MDc2OTAwNQotOjEwMDc1QTAwRjA5MDc2OTNGMDkwNzY5Njc0MDNGMDkwODAwM0YwRTQyQwotOjEwMDc2QTAwOTA3Njk3RjA5MDgwMDJGMDkwNzY5NDA0RjA5MDgwMDA1MgotOjEwMDc3QTAwRjBFNDkwNzY4RUYwOTA3NjFBRjA5MDc2OTUwNEYwQzJCNgotOjEwMDc4QTAwMkU5MDdGOUJFMEZGNTQxMEZGNzAwMkMyM0Y5MDdGOUIyOAotOjEwMDc5QTAwRTBGRjU0MTBGRUZGQkUxMDAyRDIzRjkwN0Y5QkUwRkZBNQotOjEwMDdBQTAwNTQyMEZGNzAwMkMyM0U5MDdGOUJFMEZGNTQyMEZFRkY2MAotOjEwMDdCQTAwQkUyMDAyRDIzRTMwM0YwOTkwNzY5N0UwNTRGRUYwODA4OAotOjEwMDdDQTAwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjBFNwotOjEwMDdEQTAwMzAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTBFMwotOjEwMDdFQTAwNTRGQkYwOTA3Njk1RTA5MDgwMDFGMEEyM0U5MjQwQTJGMAotOjAzMDdGQTAwM0Y5MjQxRUEKLTowMTA3RkQwMDIyRDkKLToxMDNFOEYwMDkwNzY5MkUwMTQ2MDFEMTQ3MDAyRTE0NDI0MDI2MDAyRTcKLToxMDNFOUYwMEUxRDQ5MDc2OTQ3NDAxRjA5MDgwMDBGMEU0OTA3NjhFRTcKLToxMDNFQUYwMEYwRDIzMTIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RkYyM0IKLToxMDNFQkYwMEYwOTA3RkYzNzQzMEYwOTA3RkZGNzRGQ0YwOTA3Njk3NjIKLToxMDNFQ0YwMEUwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkYwRUUKLToxMDNFREYwMDkwN0ZGMzc0MzRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwNEUKLToxMDNFRUYwMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDkwMkIKLToxMDNFRkYwMDdGRjM3NDY0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDQ0NEEKLToxMDNGMEYwMDA0RjA5MDc2OTRFMDQ0MDFGMDkwODAwMEYwMzAzRjA5ODcKLToxMDNGMUYwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOUEKLToxMDNGMkYwMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA0RjA5MDc2RjcKLToxMDNGM0YwMDhFNzQwMUYwMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGOUMKLToxMDNGNEYwMEYyRjA5MDdGRjM3NDQ0RjA5MDdGRkY3NEZDRjA5MDc2NjIKLToxMDNGNUYwMDk3RTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyQjYKLToxMDNGNkYwMEYwOTA3RkYzNzQ0Q0YwOTA3RkZGNzRGQ0YwOTA3Njk3OTUKLToxMDNGN0YwMEUwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwNEEKLToxMDNGOEYwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwM0QKLToxMDNGOUYwMDQ0MDRGMDkwNzY5NEUwNTRGRUYwOTA4MDAwRjAzMDNGQUYKLToxMDNGQUYwMDA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjEKLToxMDNGQkYwMEYwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDZGMDkwRUIKLTowNjNGQ0YwMDc2OEU3NDAyRjAyMjYwCi06MTAxODAwMDA5MDc2OTBFMDE0NjAzNzE0NzAwMjAxRDgxNDcwMDIyMUIxCi06MTAxODEwMDA3MjE0NzAwMjQxM0IyNDA0NjAwMjYxMDM5MDdGRkM3NEU3Ci06MTAxODIwMDBDQ0YwOTA3RkZGNzRGQ0YwOTA3Njk1RTA0NDAxRjA1NDhBCi06MTAxODMwMDAwNUYwOTA4MDAxRjBFNDkwNzYxQUYwQzIyRTIyOTA3NkE2Ci06MTAxODQwMDA5NUUwNDQwMUYwNDQwMkYwMzAzRTA2RTA0NDA0RjA4MEFDCi06MTAxODUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDdBCi06MTAxODYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjI5MDI3Ci06MTAxODcwMDA3RkZDNzQ3NEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjczCi06MTAxODgwMDBGMDkwNzY5N0UwNTRGREYwRTQ5MDc2ODFGMDkwNzY4MEM5Ci06MTAxODkwMDBGMEVGQjQwMjIyOTA3RkZDNzQ2OEYwOTA3RkZGNzRGQzNDCi06MTAxOEEwMDBGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkYwRTQ5MEY5Ci06MTAxOEIwMDA3NjgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRTg0Ci06MTAxOEMwMDBGMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwNTRGQjIzCi06MTAxOEQwMDBGMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NEZFRjA0NEYzCi06MTAxOEUwMDAwMkYwMzAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDI0Ci06MTAxOEYwMDBGQkYwOTA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUI0Ci06MTAxOTAwMDBGMDkwNzYxOUUwRkZCNDAxMjI5MDdGRkM3NDMwRjA5MEUzCi06MTAxOTEwMDA3RkZGNzRGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEY0Ci06MTAxOTIwMDBGREYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjI5MEEyCi06MTAxOTMwMDA3RkZDNzQxQ0YwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRjA2Ci06MTAxOTQwMDBGMDkwNzY5N0UwNDQwMkYwRTQ5MDc2ODFGMDkwNzY4MDEzCi06MTAxOTUwMDBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5NzNDCi06MTAxOTYwMDBFMDQ0MDFGMDkwNzY5N0UwNTRGQkYwOTA4MDAyRjBEMkQyCi06MTAxOTcwMDAyRTIyOTA3Njk1RTA0NDAxRjA0NDAyRjA0NDA4RjAzMEM1Ci06MTAxOTgwMDAzRTA2RTA0NDA0RjA4MDA3OTA3Njk1RTA1NEZCRjA5MDJBCi06MTAxOTkwMDA3NjFBRTBCNDAxMDg5MDc2OTVFMDkwODAwMUYwOTA3Njk4Ci06MTAxOUEwMDAxOUUwRkZCNDAxMjU5MDdGRkM3NENDRjA5MDdGRkY3NEE4Ci06MTAxOUIwMDBGQ0YwOTA3NjhGNzQyQkYwOTA3Njk3RTA1NEZERjA1NDA1Ci06MTAxOUMwMDBGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAyMjU5MDAxCi06MTAxOUQwMDA3RkZDNzRDOEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyRkJBCi06MTAxOUUwMDBGMDkwNzY5N0UwNDQwMkYwNTRGQkYwRTQ5MDc2ODFGMEJBCi06MTAxOUYwMDA5MDc2ODBGMEVGQjQwMzI1OTA3RkZDNzQ5OEYwOTA3RjkwCi06MTAxQTAwMDBGRjc0RkNGMDkwNzY4Rjc0NUZGMDkwNzY5N0UwNTRGRDUxCi06MTAxQTEwMDBGMDQ0MDRGMEU0OTA3NjgxRjA5MDc2ODBGMDMwM0YwOTU1Ci06MTAxQTIwMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMEJFCi06MTAxQTMwMDA5MDc2OTdFMDkwODAwMkYwRDIyRTIyOTA3Njk1RTA1NDM2Ci06MTAxQTQwMDBGRUYwNDQwMkYwNDQwOEYwMzAzRTA2RTA0NDA0RjA4MDJBCi06MTAxQTUwMDAwNzkwNzY5NUUwNTRGQkYwOTA3NjFBRTBCNDAxMDg5MDc4Ci06MTAxQTYwMDA3Njk1RTA5MDgwMDFGMDkwNzYxOUUwRkZCNDAxMjU5MDIyCi06MTAxQTcwMDA3RkZDNzRCNEYwOTA3RkZGNzRGQ0YwOTA3NjhGNzQyQjMxCi06MTAxQTgwMDBGMDkwNzY5N0UwNTRGREYwNTRGQkYwRTQ5MDc2ODFGMDBFCi06MTAxQTkwMDA5MDc2ODBGMEVGQjQwMjI1OTA3RkZDNzRCMEYwOTA3RkQ4Ci06MTAxQUEwMDBGRjc0RkNGMDkwNzY4Rjc0MkZGMDkwNzY5N0UwNDQwMkVDCi06MTAxQUIwMDBGMDU0RkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMzgwCi06MTAxQUMwMDAyNTkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzY4RjE3Ci06MTAxQUQwMDA3NDVGRjA5MDc2OTdFMDU0RkRGMDQ0MDRGMEU0OTA3NjYzCi06MTAxQUUwMDA4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMEQ4Ci06MTAxQUYwMDA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMjFFCi06MDQxQjAwMDBGMEQyMkUyMkNGCi06MDQwQ0ExMDA0MTc2MjMwMDc1Ci06MTAyREE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkyCi06MTAyREI5MDAzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDBGRjU4MkRGCi06MTAyREM5MDBFNDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MTBGNTZDCi06MTAyREQ5MDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRkEwCi06MTAyREU5MDA3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEFDCi06MTAyREY5MDBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwNUE3Ci06MTAyRTA5MDBGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNDNBCi06MTAyRTE5MDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTk3Ci06MTAyRTI5MDA4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRjdFCi06MTAyRTM5MDBGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDg4Ci06MTAyRTQ5MDAxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMDA5Ci06MTAyRTU5MDBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDVDCi06MTAyRTY5MDAwMUYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4M0JFCi06MTAyRTc5MDA3NDAzRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNUJBCi06MTAyRTg5MDA4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNEMzCi06MTAyRTk5MDAwRUY1ODJFNDM0NzVGNTgzNzQxMEYwRUY3NUYwMDNBNDMwCi06MTAyRUE5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA2RjBFRjc1RjAwM0E5Ci06MTAyRUI5MDBBNDI0MTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMEM1Ci06MTAyRUM5MDAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNUVGCi06MTAyRUQ5MDA4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUNFCi06MTAyRUU5MDBGNTgzNzQwNEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDNCCi06MTAyRUY5MDA3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0IxCi06MTAyRjA5MDBBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMEFDCi06MTAyRjE5MDAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwOEYwRUY3NTgyCi06MTAyRjI5MDBGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjA5MDU5Ci06MTAyRjM5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkwCi06MTAyRjQ5MDAzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MjRDCi06MTAyRjU5MDBFNDM0NzVGNTgzNzQwQUYwRUY3NUYwMDNBNDI0MTBGNUQxCi06MTAyRjY5MDA4MkU0MzQ3NUY1ODM3NDA0RjA5MDc2MzZFMDA0RjBFMDc5Ci06MTAyRjc5MDBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMjE5Ci06MTAyRjg5MDBGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDJBCi06MTAyRjk5MDAwOUYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzg0Ci06MTAyRkE5MDA3NDA0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDkxCi06MTAyRkI5MDAwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDFECi06MTAyRkM5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA3RjBFRjc1RjAwMzg3Ci06MEUyRkQ5MDBBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEMKLToxMDNCRDMwMEU0OTA3NjM2RjBFMEZCNzVGMDBGQTQyNDQxRjU4MkU0MUYKLToxMDNCRTMwMDM0NzVGNTgzNzQ0MEYwRUI3NUYwMEZBNDI0NDJGNTgyMkQKLToxMDNCRjMwMEU0MzQ3NUY1ODM3NDBBRjBFQjc1RjAwRkE0MjQ0M0Y1RjAKLToxMDNDMDMwMDgyRTQzNDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwRDkKLToxMDNDMTMwMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwRjYKLToxMDNDMjMwMEFDNDRFQjc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzQjMKLToxMDNDMzMwMDEyMzdDODAwMDE3NzAwOTA3NjM2RTAwNEYwRTBGQjc1OTgKLToxMDNDNDMwMEYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDBGMEVCNUUKLToxMDNDNTMwMDc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4Q0YwNzcKLToxMDNDNjMwMEVCNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODMxMjM3MjIKLToxMDNDNzMwMEM4MDAwMEFDNDRFQjc1RjAwRkE0MjQ0N0Y1ODJFNDM0OEMKLToxMDNDODMwMDc1RjU4MzEyMzdDODAwMDBBQzQ0RUI3NUYwMEZBNDI0MUMKLToxMDNDOTMwMDRCRjU4MkU0MzQ3NUY1ODMxMjM3QzgwMDAxNzcwMDkwNDEKLToxMDNDQTMwMDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0REEKLToxMDNDQjMwMDM0NzVGNTgzNzQ0MEYwRUY3NUYwMEZBNDI0NDJGNTgyNTgKLToxMDNDQzMwMEU0MzQ3NUY1ODM3NDhGRjA5MDc2MzZFMDA0RjBFMEZGMEEKLToxMDNDRDMwMDc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MUYwNDMKLToxMDNDRTMwMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDg0RjAKLToxMDNDRjMwMEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1NzAKLToxMDNEMDMwMDgyRTQzNDc1RjU4Mzc0NjFGMEVGNzVGMDBGQTQyNDQyRjcKLToxMDNEMTMwMEY1ODJFNDM0NzVGNTgzNzQ4MUYwOTA3NjM2RTAwNEYwMkYKLToxMDNEMjMwMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDQKLToxMDNEMzMwMDYxRjBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNDYKLTowNDNENDMwMDc0MDFGMDIyRjUKLToxMDQ1NTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0QTYKLToxMDQ1NjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0QTAKLToxMDQ1NzkwMDM0NzVGNTgzNzQwMUYwOTA3NjM2RTAwNEYwRTBGRjc1NDgKLToxMDQ1ODkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1ODEKLToxMDQ1OTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDJGMDkwQjIKLToxMDQ1QTkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0RTYKLToxMDQ1QjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0NTAKLToxMDQ1QzkwMDM0NzVGNTgzNzQwM0YwOTA3NjM2RTAwNEYwRTBGRjc1RjYKLToxMDQ1RDkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1MzEKLToxMDQ1RTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyQ0UKLToxMDNBNDIwMEU0OTA3NjM1RjA5MDc2MzVFMEZGQzM5NDAzNDAwMjQxNkUKLToxMDNBNTIwMEZGRUY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjU4M0VGMkEKLToxMDNBNjIwMEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0U0MzMKLToxMDNBNzIwMEYwRUY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4Mzc0OTIKLToxMDNBODIwMEYwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzMDUKLToxMDNBOTIwMDc0RkZGMEVGNzVGMDBBQTQyNEFFRjU4MkU0MzQ3NUY1RjQKLToxMDNBQTIwMDgzRTRGMEVGNzVGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1RUYKLToxMDNBQjIwMDgzNzQ4MEYwRUY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1QzMKLToxMDNBQzIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1Q0QKLToxMDNBRDIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1QkMKLToxMDNBRTIwMEY1ODNFNEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1QUIKLToxMDNBRjIwMEY1ODM3NDAxRjA5MDc2MzVFMDA0RjA0MTQ3OTA3NjNDMEUKLToxMDNCMDIwMDc0MEFGMEU0QTNGMDkwNzYzNTc0MDNGMDkwNzYzQ0UwMEEKLToxMDNCMTIwMEZGOTA3NjM1RTBGRUMzOUY0MDAyNjFEMjkwNzYzREUwOTEKLToxMDNCMjIwMEZGMDRGMEVFNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1RDgKLToxMDNCMzIwMDgzRUZGMEVFNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1NTgKLToxMDNCNDIwMDgzRTRGMEVFNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1NTIKLToxMDNCNTIwMDgzNzQ1RUYwRUU3NUYwMEFBNDI0QURGNTgyRTQzNDc1NDgKLToxMDNCNjIwMEY1ODM3NEJBRjBFRTc1RjAwQUE0MjRBRUY1ODJFNDM0NUIKLToxMDNCNzIwMDc1RjU4Mzc0MDVGMEVFNzVGMDBBQTQyNEFGRjU4MkU0QkUKLToxMDNCODIwMDM0NzVGNTgzNzQ4MEYwRUU3NUYwMEFBNDI0QjBGNTgyRTIKLToxMDNCOTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjFGNTgyRkQKLToxMDNCQTIwMEU0MzQ3NUY1ODNFNEYwRUU3NUYwMEFBNDI0QjJGNTgyRUMKLToxMDNCQjIwMEU0MzQ3NUY1ODM3NDE1RjBFRTc1RjAwQUE0MjRCM0Y1QjgKLToxMDNCQzIwMDgyRTQzNDc1RjU4M0U0RjA5MDc2MzVFMDA0RjA2MTBFMUEKLTowMTNCRDIwMDIyRDAKLToxMDA4MDAwMEU0OTA3NjMxRjA5MDc2MzFFMEZGNzVGMDAzQTQyNDBGODgKLToxMDA4MTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENEEKLToxMDA4MjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MzFFMDA0RjA4MEQ1NTEKLToxMDA4MzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQjEKLToxMDA4NDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MzNGMDI0MjkKLToxMDA4NTAwMEYwNjAwQTI0MEU2MDAyODE4NzEyNEIzRTIyOTA3RkVERTkKLToxMDA4NjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzc3NDAxNDUKLToxMDA4NzAwMEYwOTA3NjM5NzQwM0YwOTA3NjIxRjBFNDkwNzYyMEYwRDEKLToxMDA4ODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjIwRTBGRjc1RjAwQUE0RjQKLToxMDA4OTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENUEKLToxMDA4QTAwMEVFNkQ2MDEyOTA3NjIxRTBGRUVGQzM5RTUwMDg5MDc2QzgKLToxMDA4QjAwMDIwRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTUKLToxMDA4QzAwMDE4NzQwNkYwOTA3NjM3NzQwNEYwOTA3NjM5NzQwQUYwNTQKLToxMDA4RDAwMDkwNzYyMUYwOTA3NjIwNzQwM0YwOTA3RkVBRTBGNDYwNDcKLToxMDA4RTAwMDJGOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjQKLToxMDA4RjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2ODQKLToxMDA5MDAwMDIxRTBGRUVGQzM5RTUwMDg5MDc2MjBFMDA0RjA4MEQxRjUKLToxMDA5MTAwMDkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RUQKLToxMDA5MjAwMEY1ODNFMDkwNzIyOUYwRTQ5MDc2M0JGMDkwNzYyMUUwMzgKLToxMDA5MzAwMEZFRUY2RTcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRjAKLToxMDA5NDAwMEUwMTQ2MDEzMTQ3MDAyMjFFMjI0MDI2MDAyODE3RjkwOUYKLToxMDA5NTAwMDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAxNDcwN0M5MDdGNDYKLToxMDA5NjAwMEVBRTBGNDcwNDg5MDc2MzdFMDkwNzYyMEYwOTA3NjM5OUYKLToxMDA5NzAwMEUwRkU5MDc2MjBFMEZEQzM5RTUwMkI5MDc2M0JFMEZFOUIKLToxMDA5ODAwMDA0RjA3NEMwMkVGNTgyRTQzNDdFRjU4M0UwRkVFRDc1NEMKLToxMDA5OTAwMEYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0VFRjA5MDc2OEEKLToxMDA5QTAwMDIwRTAwNEYwODBDNzkwNzYzRjc0MDFGMDIyOTA3RUMwNzIKLToxMDA5QjAwMEUwRkVFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzMEMKLToxMDA5QzAwMEVFRjBFMEI0MDEwODkwNzYzRTc0MDFGMDgwMDVFNDkwMEEKLToxMDA5RDAwMDc2M0VGMDkwNzYzRjc0MDFGMDIyOTA3RkI0RTA0NDAxQkYKLToxMDA5RTAwMEYwMjI5MDdGRTlFMDI0RkU3MDAyNDFBMzE0NzAwMjYxQkUKLToxMDA5RjAwMDNGMTQ3MDAyNjFEQjI0MDM2MDAyODE3NzkwN0ZFQUUwOUMKLToxMDBBMDAwMEY0NzA2QjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGQzYKLToxMDBBMTAwMDkwNzYyMEUwRkVDMzlGNTA0RTkwNzYzQkUwRkYwNEYwQkUKLToxMDBBMjAwMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTIKLToxMDBBMzAwMEE0MjRBQ0Y1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkUwQzYKLToxMDBBNDAwMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFRkUKLToxMDBBNTAwMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwQzcKLToxMDBBNjAwMDc2MjBFMDA0RjA4MEE0OTA3NjQwNzQwMUYwMjI5MDdFMUQKLToxMDBBNzAwMEMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUNGNTgyNzkKLToxMDBBODAwMEU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBNzcKLToxMDBBOTAwMEE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwNzY0MTc0Q0IKLToxMDBBQTAwMDAxRjAyMjkwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2NkQKLToxMDBBQjAwMDIwRjA5MDc2MzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyNjAKLToxMDBBQzAwMDgxOEU5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0MTEKLToxMDBBRDAwMDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRUY1ODJFNDM0REYKLToxMDBBRTAwMDc1RjU4M0VGRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1Q0UKLToxMDBBRjAwMDgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRkY1QkUKLToxMDBCMDAwMDgyRTQzNDc1RjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyNjMKLToxMDBCMTAwMDkwN0VDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFFM0YKLToxMDBCMjAwMEY1ODJFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1NTkKLToxMDBCMzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwMzcKLToxMDBCNDAwMDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2NTkKLToxMDBCNTAwMDM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2QzAKLToxMDBCNjAwMDNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwQUYKLToxMDBCNzAwMEZGRUU3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0VGMzYKLToxMDBCODAwMEYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjEKLToxMDBCOTAwMEY1ODNFMEZGRUU3NUYwMEFBNDI0QjFGNTgyRTQzNDc1MjQKLToxMDBCQTAwMEY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwMjQKLToxMDBCQjAwMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRCMEY1ODJFNDM0QkMKLToxMDBCQzAwMDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0ODYKLToxMDBCRDAwMEIxRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRUFFMEY0MUEKLToxMDBCRTAwMDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRjkwNEUKLToxMDBCRjAwMDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NjNCRTBGRjA0QUEKLToxMDBDMDAwMEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwREEKLToxMDBDMTAwMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCQjQKLToxMDBDMjAwMEUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGMkEKLToxMDBDMzAwMEVFNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1ODNFRkYwODEKLToxMDBDNDAwMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMEZGOTA3NjIwQjUKLToxMDBDNTAwMEUwRkU3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGNjIKLToxMDBDNjAwMEYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNEIzRjU4MkU0QjMKLToxMDBDNzAwMDM0NzVGNTgzRUZGMDIyOTA3RkI0RTA0NDAxRjAyMjkwQzgKLTowRjBDODAwMDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjAxCi06MTAxMDAwMDBFNDkwNzYyQ0YwOTA3NjJDRTBGRjc1RjAwM0E0MjQwRjhBCi06MTAxMDEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDQyCi06MTAxMDIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjJDRTAwNEYwODBENTRFCi06MTAxMDMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0E5Ci06MTAxMDQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjJFRjAyNDI2Ci06MTAxMDUwMDBGMDYwMEEyNDBGNjAwMjgxN0QxMjRCMUIyMjkwN0ZFRDBECi06MTAxMDYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM4NzQwMTNDCi06MTAxMDcwMDBGMDkwNzYzQTc0MDNGMDkwNzYxQ0YwRTQ5MDc2MUJGMEQyCi06MTAxMDgwMDA5MDdGRUFFMEY0NjAyRjkwNzYxQkUwRkY3NUYwMEFBNEYxCi06MTAxMDkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDUyCi06MTAxMEEwMDBFRTZENjAxMjkwNzYxQ0UwRkVFRkMzOUU1MDA4OTA3NkM1Ci06MTAxMEIwMDAxQkUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkUyCi06MTAxMEMwMDAxODc0MDZGMDkwNzYzODc0MDRGMDkwNzYzQTc0MEFGMDRBCi06MTAxMEQwMDA5MDc2MUNGMDkwNzYxQjc0MDNGMDkwN0ZFQUUwRjQ2MDQ5Ci06MTAxMEUwMDAyRjkwNzYxQkUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDYxCi06MTAxMEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3NjdDCi06MTAxMTAwMDAxQ0UwRkVFRkMzOUU1MDA4OTA3NjFCRTAwNEYwODBEMUY3Ci06MTAxMTEwMDBFNDkwNzYxRUYwOTA3NjFDRTBGRjkwNzYxQkUwRkU2RjY4Ci06MTAxMTIwMDA3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkUwMTQ2MEZGCi06MTAxMTMwMDAxMzE0NzAwMjIxQkYyNDAyNjAwMjgxNzU5MDdGQjRFMDE1Ci06MTAxMTQwMDA0NDAxRjAyMjkwN0ZFOUUwMjQ3RjcwNkI5MDdGRUFFMDE5Ci06MTAxMTUwMDBGNDcwNEE5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkzCi06MTAxMTYwMDA5MDc2MUJFMEZEQzM5RjUwMkJFRDc1RjAwQUE0MjRBQkQ1Ci06MTAxMTcwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZEMDRGMDFGCi06MTAxMTgwMDA3NDAwMkRGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDU4Ci06MTAxMTkwMDAwNEYwODBDNzkwNzYxRUUwOTA3RkI1RjAyMkVFNzVGMEU3Ci06MTAxMUEwMDAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDY3Ci06MTAxMUIwMDA5MDdGQjU3NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDVBCi06MTAxMUMwMDA3RkU5RTAyNDdFNzAwMjQxN0UxNDcwMDI2MTIzMTQ3MDc2Ci06MTAxMUQwMDAwMjYxQzgyNDAzNjAwMjgxNkQ5MDdGRUFFMEY0NzA2REMzCi06MTAxMUUwMDA5MDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQjkwCi06MTAxMUYwMDBFMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNEYxCi06MTAxMjAwMDAzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyRDQ5Ci06MTAxMjEwMDBGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRBRDk3Ci06MTAxMjIwMDBGNTgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDZECi06MTAxMjMwMDA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMEE2Ci06MTAxMjQwMDAwNEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQjhCCi06MTAxMjUwMDBFMEZGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMDcwCi06MTAxMjYwMDA5MDdGMDBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUE4Ci06MTAxMjcwMDBGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkJCCi06MTAxMjgwMDBFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2MUJGMDkwNzYzQTU0Ci06MTAxMjkwMDBFMEZGOTA3NjFCRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDdCCi06MTAxMkEwMDAyNEFFRjU4MkU0MzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDExCi06MTAxMkIwMDAwNEYwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUQxCi06MTAxMkMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjRDCi06MTAxMkQwMDAxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRjA3Ci06MTAxMkUwMDBGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNTJECi06MTAxMkYwMDBGMDIyOTA3NjFCRTBGRjc1RjAwQUE0MjRBRUY1ODJFNDlDCi06MTAxMzAwMDAzNDc1RjU4M0UwOTA3RjAwRjBFRjc1RjAwQUE0MjRBRjA4Ci06MTAxMzEwMDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAxRjA5MDdGQjU3NDM5Ci06MTAxMzIwMDAwMkYwMjI5MDdGRUFFMEY0NzA2RDkwNzYzOEUwOTA3NkRCCi06MTAxMzMwMDAxQkYwOTA3NjNBRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEExCi06MTAxMzQwMDBGRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVGNTgzRTBGRTVECi06MTAxMzUwMDA5MDc2MUVFMEZEMDRGMDc0MDAyREY1ODJFNDM0N0ZGNUY0Ci06MTAxMzYwMDA4M0VFRjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVGNTRDCi06MTAxMzcwMDA4M0UwRkY5MDc2MUVFMEZFMDRGMDc0MDAyRUY1ODJFNDE4Ci06MTAxMzgwMDAzNDdGRjU4M0VGRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjM0Ci06MTAxMzkwMDAxRUUwOTA3RkI1RjAyMjkwNzYxQkUwRkY3NUYwMEFBNDY2Ci06MTAxM0EwMDAyNEIwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUFBCi06MTAxM0IwMDBGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMTRFCi06MTAxM0MwMDBGMDkwN0ZCNTc0MDJGMDIyOTA3RkVBRTBGNDcwNkQ5MEE3Ci06MTAxM0QwMDA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUJFMDRFCi06MTAxM0UwMDBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNEE1Ci06MTAxM0YwMDA3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTk3Ci06MTAxNDAwMDA4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QjNGNTlGCi06MTAxNDEwMDA4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA3NEZDCi06MTAxNDIwMDAwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTAwNDI0Ci06MTAxNDMwMDBGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEJECi06MTAxNDQwMDBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRTA5MEM4Ci06MTAxNDUwMDA3RjAwRjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTRCCi06MTAxNDYwMDA4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCNDBBCi06MTAxNDcwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNDc4Ci06MDUxNDgwMDBFMDQ0MDFGMDIyMzAKLToxMDM4NzQwMEU0OTA3NjI5RjA5MDc2MjlFMEZGNzVGMDBGQTQyNDQyQjUKLToxMDM4ODQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQTcKLToxMDM4OTQwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjlFMDA0RjA4MEQ1QkEKLToxMDM4QTQwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGMDYKLToxMDM4QjQwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MkFGMDI0NUIKLToxMDM4QzQwMEJGNzAwMjQxNDEyNEUwNzAwMjQxMTIyNDIxNjAwMjQxOTAKLToxMDM4RDQwMDNBOTA3RkU5RTAyNEZFNjA3RDE0NzAwMjIxQjIyNDAyNTQKLToxMDM4RTQwMDYwMDI0MTBBMTIxNzUxOTA3NjQyRTBGQ0EzRTBGREEzNjYKLToxMDM4RjQwMEUwRkVBM0UwRkY5MDc2MjlFMDc1RjAwRkE0MjQ0M0Y1RTEKLToxMDM5MDQwMDgyRTQzNDc1RjU4MzEyMzdCQzkwNzYxOUUwRkZCNDAxNzQKLToxMDM5MTQwMDEyOTA3NjdDNzQ2N0YwOTA3NjdENzQwNkYwOTA3NjdFRDMKLToxMDM5MjQwMDc0MEJGMEVGQjQwMjBGRTQ5MDc2N0NGMDkwNzY3REYwQTcKLToxMDM5MzQwMDkwNzY3RTc0MENGMEVGQjQwMzBGRTQ5MDc2N0NGMDkwRjQKLToxMDM5NDQwMDc2N0RGMDkwNzY3RTc0MThGMDkwNzYxQTc0MDFGMDEyRjkKLToxMDM5NTQwMDNFOEYxMjE4MDAyMjkwN0VDMkUwRkZFNEZDRkRGRUZCQzUKLToxMDM5NjQwMEZBNzkwMUY4MTIzNzQ2QzhFQ0M4QzlFREM5Q0FFRUNBREIKLToxMDM5NzQwMENCRUZDQjkwN0VDMUUwRkVFNEZDRkQyQkZCRUEzRUZBRUMKLToxMDM5ODQwMEVEMzlGOUVDMzhGODkwN0VDMEUwRkZFNEZFRUIyRkZGNTAKLToxMDM5OTQwMEVFM0FGRUVEMzlGREVDMzhGQzkwNzYyOUUwNzVGMDBGMzcKLToxMDM5QTQwMEE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0JDMjI5MDdFNTMKLToxMDM5QjQwMEMyRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMzc0NkM4QzkKLToxMDM5QzQwMEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDdFQzFFMEZFMEMKLToxMDM5RDQwMEU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDdFNzUKLToxMDM5RTQwMEMwRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4Q0MKLToxMDM5RjQwMEZDOTA3NjI5RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1MkQKLToxMDNBMDQwMEY1ODMxMjM3QkMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMEEKLToxMDNBMTQwMEU5RTAxNDcwMTk5MDdFQzBFMEZGOTA3NjI5RTA3NUYwMUIKLToxMDNBMjQwMDBGQTQyNDRGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRTAKLTowRTNBMzQwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5RgotOjEwMkFENjAwRTQ5MDc2MjdGMDkwNzYyN0UwRkY3NUYwMEZBNDI0NDI2NQotOjEwMkFFNjAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1MwotOjEwMkFGNjAwNjAwRUVGQzM5NDA2NTAwODkwNzYyN0UwMDRGMDgwRDU2OAotOjEwMkIwNjAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEZCMQotOjEwMkIxNjAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyOEYwMjQwOAotOjEwMkIyNjAwOUY3MDAyQTE3NDI0MjE2MDAyQTFBMTkwN0ZFOUUwMjQ5NAotOjEwMkIzNjAwN0U3MDAyNjFGQzE0NzAwMjgxQjUyNDAyNjAwMkExNkNGMQotOjEwMkI0NjAwRUY3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNCOQotOjEwMkI1NjAwQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTAwNzgxNgotOjEwMkI2NjAwMDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBMzc0QUNBQgotOjEwMkI3NjAwRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjA0QgotOjEwMkI4NjAwMEZBNDI0NDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkQ0RAotOjEwMkI5NjAwQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEMzMTIzNgotOjEwMkJBNjAwMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEU0QTM3RQotOjEwMkJCNjAwRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjRBQgotOjEwMkJDNjAwNDNGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkU2MwotOjEwMkJENjAwQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0FCNjBGOAotOjEwMkJFNjAwMDJBMUE4OTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RgotOjEwMkJGNjAwN0ZCNTc0MDNGMDIyOTA3NjI3RTA3NUYwMEZBNDI0NDc4MgotOjEwMkMwNjAwRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNDMgotOjEwMkMxNjAwRTBGRjdCNDQ3QUFDNzkwMDc4MDBDMzEyMzdBQjcwMTNCRgotOjEwMkMyNjAwOTA3RjAwNzQ0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjVGOQotOjEwMkMzNjAwNzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzQwotOjEwMkM0NjAwMzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I4MwotOjEwMkM1NjAwODA3QUJCNzkwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3RgotOjEwMkM2NjAwNzQ4MEYwQTM3NEJCRjBFNEEzRjA5MDdGQjU3NDAzRjAxNgotOjEwMkM3NjAwOTA3NjI3RTA3NUYwMEZBNDI0NDdGNTgyRTQzNDc1RjVDNQotOjEwMkM4NjAwODNFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0IwMDdBNzdGMAotOjEwMkM5NjAwNzkwMTc4MDBDMzEyMzdBQjYwMDJBMUE4OTA3RjAwRjBEQgotOjEwMkNBNjAwQTM3NDc3RjBBMzc0MDFGMDkwN0ZCNTc0MDNGMDIyOTBCQgotOjEwMkNCNjAwNzYyN0UwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODM4RQotOjEwMkNDNjAwRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzk0MQotOjEwMkNENjAwMDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTNFMgotOjEwMkNFNjAwNzRBQ0YwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTAxRgotOjEwMkNGNjAwNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTM0QwotOjEwMkQwNjAwRTBGREEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBCQwotOjEwMkQxNjAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBCRQotOjEwMkQyNjAwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEY3QQotOjEwMkQzNjAwQTQyNDRCRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNGRgotOjEwMkQ0NjAwRTBGRUEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdCMwotOjEwMkQ1NjAwQUI3MDRGOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTBFRQotOjEwMkQ2NjAwN0ZCNTc0MDNGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0Y5NwotOjEwMkQ3NjAwRTlFMDI0N0Y3MDFFOTA3NjI3RTA3NUYwMEZBNDI0NEZCQgotOjEwMkQ4NjAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTA3RkI1NzRBQQotOjEwMkQ5NjAwMDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDRGNgotOjAzMkRBNjAwMDFGMDIyMTcKLToxMDRCMUIwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyMTcKLToxMDRCMkIwMDQ4NUEyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0RDUKLTowMzRCM0IwMDAxRjAyMjY0Ci06MTA0QjNFMDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0OTNCCi06MTA0QjRFMDBBRDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUE2Ci06MDI0QjVFMDBGMDIyNDMKLToxMDQ4NUEwMEU0OTA3NjI2RjA5MDc2MjZFMEZGNzVGMDAzQTQyNDM0REYKLToxMDQ4NkEwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQjEKLToxMDQ4N0EwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjZFMDA0RjA4MEQ1QzkKLToxMDQ4OEEwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzMUUKLToxMDQ4OUEwMEE0MjQzMkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwMjkKLTowNjQ4QUEwMDdGQjU3NDAxRjAyMjRECi06MTA0OUFEMDBFNDkwNzYyNUYwOTA3NjI1RTBGRjc1RjAwM0E0MjQzNDhECi06MTA0OUJEMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDVECi06MTA0OUNEMDA2MDBFRUZDMzk0MDQ1MDA4OTA3NjI1RTAwNEYwODBENTc2Ci06MTA0OUREMDBFRkI0MDQwODkwN0ZCNEUwNDQwMUYwMjI5MDdFQzBFMDczCi06MTA0OUVEMDBGRUVGNzVGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFRTAxCi06MDI0OUZEMDBGMDIyQTYKLTowMzAwMDMwMDAyMEZGREVDCi06MDMwRkZEMDBDMjg5MzI3NAotOjAzMDAxMzAwMDIxN0ZERDQKLTowMzE3RkQwMEMyOEIzMjZBCi06MDMwMDRCMDAwMjREOEZENAotOjA0NEQ4RjAwNTM5MURGMzIyQgotOjAzMDA1MzAwMDI0RDgzRDgKLTowNjREODMwMDUzOTFCRkQyMkQzMjU2Ci06MDMwMDVCMDAwMjREODlDQQotOjA2NEQ4OTAwNTM5MTdGRDIyQzMyOTEKLTowMzAwNjMwMDAyNEQ5M0I4Ci06MDQ0RDkzMDA1M0Q4RjczMkM4Ci06MDMwMDBCMDAwMjREOUIwOAotOjAzNEQ5QjAwQzI4RDMyOTQKLTowMzAwMUIwMDAyNEQ5RUY1Ci06MDM0RDlFMDBDMjhGMzI4RgotOjAzMDAyMzAwMDI0RDc1MTYKLTowNzRENzUwMDUzOThGRTUzOThGRDMyMzQKLTowMzAwM0IwMDAyNEQ3Q0Y3Ci06MDc0RDdDMDA1M0MwRkU1M0MwRkQzMkRECi06MDMwMDJCMDAwMjQ2Rjc5MwotOjEwNDZGNzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTAzRAotOjEwNDcwNzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZGNwotOjEwNDcxNzAwQzBFMEMyQ0FDMkNGOTA3Rjk4RTA0NDAxRjAzMDJFMDNCOAotOjEwNDcyNzAwMTIxNEE2OTA3Rjk4RTA1NEZFRjA1M0E4RkExMjE2NjE2RgotOjEwNDczNzAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDA0MQotOjEwNDc0NzAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAzMgotOjAzNDc1NzAwRDBFMDMyN0QKLToxMDQ3QjQwMEU0OTA3NjlCRjA5MDc2OUJFMEZGMDRGMEVGNjAwOEUwRDUKLToxMDQ3QzQwMDI0MDhGOEU0RjY4MEVFOTA3Njk2RTA1NEZCRjA1NEY3NzMKLToxMDQ3RDQwMEYwOTA4MDAzRjBFNEY1MThEMjM1RjUwRUY1MTBEMjM2REEKLToxMDQ3RTQwMDc1MTIxMTc1MTMyMkMyMzdDMjM5QzIzOEY1MTZGNTE0ODEKLTowQjQ3RjQwMEY1MUFGNTBEQzIzQkMyM0NDMjNEMjI4RAotOjEwMzAwMDAwOTA3RkI2RTAyMEUxMDJDMjNERDIzNjIwMzYwMjQxNkUwQQotOjEwMzAxMDAwMzAzRDAyNDE2RTkwODAwN0UwNjAwNEQyMzY4MDAyQzJFQgotOjEwMzAyMDAwMzYyMDM2MDI0MTJFRDIzNUU0RjUxQTkwODAwNEUwRjVDMAotOjEwMzAzMDAwMTk3NDA4MjUwRUY4QTYxOTg1MTkxOEU1MTgyMEU3MDQ1MwotOjEwMzA0MDAwRDIzODgwMDJDMjM4MzAzODAyMjFENEU0RjUxNkU1MTlBRQotOjEwMzA1MDAwQjRGMDBDRDIzOTc1MDgwNDc1MDlGMDA1MEU4MDAyMDUyQwotOjEwMzA2MDAwMTZFNTE5NjRGNzcwM0RDMjM5RTUwRTI0RkU2MDE3MTRBOQotOjEwMzA3MDAwNjAyMjI0MDM3MDI5NzUwODA1NzUwOUY3RTRGNTBBRjUzRgotOjEwMzA4MDAwMEI3NTBFMDQ4MDIwNzUwODA2NzUwQUY3RTRGNTBCNzVCQwotOjEwMzA5MDAwMEUwNDgwMTI3NTA4MDc3NTBCRjc3NTBFMDQ4MDA3MTI3MQotOjEwMzBBMDAwNDhGMzgwMDIwNTE2RTUxOTU0Rjg2NEY4NzAzQkMyMzUwMAotOjEwMzBCMDAwRTUxOTI0MDc2MDBDMjRGQzYwMDgyNDA1MjRGODUwMDY1OAotOjEwMzBDMDAwODAwOEQyM0E4MDA2QzIzQTgwMDJEMjNBNzUxQTAxMjBBQwotOjEwMzBEMDAwM0ExOTkwN0U4MDc0MEZGMEEzRTUxOUYwRTRBM0YwQTNGMQotOjEwMzBFMDAwRjA5MDdGQjc3NDA0RjA4MDAyMDUxNjIwMzk2REU1MTk2MQotOjEwMzBGMDAwNjRGNzYwNjdFNTFBNzA2M0U1MTg1NEYwNjRGMDcwNTk3RQotOjEwMzEwMDAwODUxODE5RjUwRUU1MTkyNDBGNjAxQjI0RkU2MDE3MjQ5RAotOjEwMzExMDAwRkQ2MDIyMTQ2MDFGMjQwNTcwMkY3NTA4MDMwNTBFODVCRAotOjEwMzEyMDAwMTgwOUQyMzc4MDI4NzUwODAyMDUwRTg1MTgwOTc1MTQwQwotOjEwMzEzMDAwMDFEMjM3ODAxOTc1MDgwNTA1MEU4NTE4MDlFNEY1MEFDRQotOjEwMzE0MDAwRjUwQjc1MEUwM0QyMzc4MDA1MTI0OEYzQzIzNTMwMzVDMgotOjEwMzE1MDAwMEE4NTA4MTM4NTE4MTI4MDAyMDUxNjg1MTgxOUU1MTZDOAotOjEwMzE2MDAwNjQwNDcwNjJGNTBFRTUxOTU0RjBGNTE5RjUxNTg1MTgyQgotOjEwMzE3MDAwMTlFNTE1MjQ3MDYwMTgyNEYwNjAxNDI0RjA2MDEwMjQwMAotOjEwMzE4MDAwRjA2MDFFMjRGMDYwMUEyNEYwNjAwNDI0NjA3MDI3RTVDQgotOjEwMzE5MDAwMTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDlEMjM3ODBBNgotOjEwMzFBMDAwMUFFNTE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5NzVBQgotOjEwMzFCMDAwMTQwMUQyMzc4MDA1MTI0OEYzQzIzNTMwMzUwQTg1MTkxQgotOjEwMzFDMDAwMTM4NTE4MTI4MDAyMDUxNkU1MTZEMzk0MDU0MDU3MTI5MAotOjEwMzFEMDAwNDhGMzgwNTIzMDM5MTdFNTBFNzAwQTg1MDgwOTc1MDhFMgotOjEwMzFFMDAwMDQwNTBFODA0MTc0MDgyNTBFRjhBNjE5ODAzODIwMzc5MgotOjEwMzFGMDAwMkFFNTBFQjQwMTBGODUwODBBODUwOTBCODUxMzA4ODU5OQotOjEwMzIwMDAwMTIwOTc1MEUwNEU1MTRCNDAxMUM4NTA4MEFFNEY1MEJENwotOjEwMzIxMDAwODUxMzA4ODUxMjA5NzUwRTA0ODAwQkU1MTRCNDAxMDZBOAotOjEwMzIyMDAwRTRGNTBCNzUwRTA0RTRGNTFBMzAzNTAyMDUwRUU1MEVEMwotOjEwMzIzMDAwRDM5NDAzNTAwMjAxMEJDMjM3RTRGNTBFRjUxMEMyMzZFOQotOjEwMzI0MDAwRDIzREY1MTQ3NDA4MjUxMEY4RTZGRjc0ODAyNTEwRjVCQQotOjEwMzI1MDAwODJFNDM0N0VGNTgzRUZGMDc0MDgyNTEwRjhFNEY2MDU3NwotOjBGMzI2MDAwMTBFNTEwQjQwNERFOTA3RkI3NzQwNEYwMDEwQjIyNjgKLTowQzQ4RjMwMEMyMzdFNEY1MEVGNTEwQzIzNkY1MTQyMkIxCi06MTA0MDAwMDBFNTExRDM5NDAwNTAwMjIxMDY5MDc2ODlFMEMzOTQwODBDCi06MTA0MDEwMDA0MDAyMjEwNjc0NDAyNTBGRjU4MkU0MzQ3RUY1ODNFMEVBCi06MTA0MDIwMDBGNTE3RTUwRDYwMEU5MDgwMDVFNTE3RjA5MDc2ODlFMEI0Ci06MTA0MDMwMDAwNEYwMDFEQUU1MTcxMjM3Rjk0MEMxMDI0MDY3MDU0MDg0Ci06MTA0MDQwMDA3QTA2NDA5ODA3NDBDMTBDNDBDMTBENDBDNzBGNDBDQkQ1Ci06MTA0MDUwMDBGNjQwQ0JGODQwQ0JGQTQwQ0JGQjQwQ0JGQzQwQ0JGRTRDCi06MTA0MDYwMDA0MENCRkYwMDAwNDBEQTkwN0U0MUUwOTA4MDA1RjA5MDY4Ci06MTA0MDcwMDA3Njg5RTAwNEYwNzUxMTAxODA2MDkwN0U0MUUwOTA4MEM3Ci06MTA0MDgwMDAwNUYwOTA3RTQyRTA5MDgwMDVGMDkwNzY4OUUwMDRGMEEzCi06MTA0MDkwMDBFMDA0RjA3NTExMDE4MDQyOTA3RTQxRTA5MDgwMDVGMENGCi06MTA0MEEwMDA5MDdFNDJFMDkwODAwNUYwOTA3RTQzRTA5MDgwMDVGMEE1Ci06MTA0MEIwMDA5MDc2ODlFMDA0RjBFMDA0RjBFMDA0RjA3NTExMDE4MEVFCi06MTA0MEMwMDAxOUQyM0JEMjNDODAxM0QyM0I4MDBGOTA4MDA1RTUxNzdDCi06MTA0MEQwMDBGMDkwNzY4OUUwMDRGMDc1MTEwMTIwM0IwNDA1MEQ4MDE1Ci06MTA0MEUwMDAxRjMwM0MxQzkwN0U0MUUwOTA4MDA1RjA5MDdFNDJFMEM1Ci06MTA0MEYwMDA5MDgwMDVGMDkwNzY4OUUwMDRGMEUwMDRGMDc1MTEwMUZECi06MTA0MTAwMDAwNTBGMTUxMTAxMDBFNTExNzAxMEMyMzNGNTBERjUwRjAzCi06MEI0MTEwMDA5MDdGQzc3NDA0RjBDMjNCQzIzQzIyNDkKLToxMDRCQkIwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyQzQKLTowQTRCQ0IwMDREMkY5MDdGRDZFMDU0RkVGMDIyM0IKLToxMDRBRjYwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDQyMDRFMDQ0RjYKLToxMDRCMDYwMDAyRjA3RkRDN0UwNTEyNEQyRjkwN0ZENkUwNTRGN0YwNDEKLTowNTRCMTYwMEUwNDQwNEYwMjI2MAotOjEwNEQyRjAwOEUzNThGMzZFNTM2MTUzNkFFMzU3MDAyMTUzNTRFNjAzOQotOjA3NEQzRjAwMDUxMjE0ODU4MEVFMjIyRAotOjEwNDlGRjAwRTRGRTc1MURGRjc1MUUwNTc1MUYxMkFCMURBQTFFQTlCRQotOjEwNEEwRjAwMUY5MDAwMDExMjM2QUI2NDAyNzAyRkNERUVDRDBFRUQ2QwotOjEwNEExRjAwNkY3MDAxMjI5MDAwMDIxMjM3MEU4NUYwMUJGNTFDNjI5OQotOjEwNEEyRjAwMUJFNTFCNjIxQ0U1MUM2MjFCMjlGREU1MUIzQUM5RUQ0QQotOjEwNEEzRjAwQzk3NTFERkZGNTFFODkxRjgwQzE3QjAwN0EwMDc5MDBBMwotOjAxNEE0RjAwMjI0NAotOjA0MTc5NDAwOEQyOThCMkFFNgotOjEwMTc5ODAwMTI0OUZGRUE0OTYwNTcxMjM2OTI3RTAwMjlGRkVFM0E1NQotOjEwMTdBODAwQzlFRkM5NzUyQkZGRjUyQzg5MkRBQjJCQUEyQ0E5MkRCOAotOjEwMTdCODAwOTAwMDAxMTIzNkFCRkY2NDA0NjAwNUVGNjQwNTcwMkVEQgotOjEwMTdDODAwRUZCNDA0MTU5MDAwMDIxMjM2QUI2NTI5NzAwQjkwMDAzNwotOjEwMTdEODAwMDMxMjM2QUI2NTJBNzAwMTIyMTIzNjkyN0UwMDI5RkY2OQotOjEwMTdFODAwRUUzQUM5RUZDOTc1MkJGRkY1MkM4OTJEODBCQzdCMDAxQgotOjA0MTdGODAwN0EwMDc5MDBGQQotOjAxMTdGQzAwMjJDQQotOjAyNDhCMDAwOEYyRTQ5Ci06MTA0OEIyMDBFNEY1MkY3NTMwRkY3NTMxMDY3NTMyQkVBQjMwQUEzMTgzCi06MTA0OEMyMDBBOTMyOTAwMDAxMTIzNkFCQjQwMzFGQUYyRjA1MkZFRkIwCi06MTA0OEQyMDA2NTJFNzAwMTIyMTIzNjkyN0UwMDI5RkZFRTNBQzlFRjUwCi06MTA0OEUyMDBDOTc1MzBGRkY1MzE4OTMyODBEMjdCMDA3QTAwNzkwMEI4Ci06MDE0OEYyMDAyMkEzCi06MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODExMDEwMDAxMDEwMkZGCi06MTAwNTEwMDAwMDAxMDkwMkFDMDEwMzAxMDA4MDMyMDkwNDAwMDAwMDVGCi06MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCi06MTAwNTMwMDAwMjAxMDEwMTAwMDIwMDAwMDAwMDBEMjQwNjA1MDEwMjc1Ci06MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDA5MjQwMzAyMDQwMzAwMDUwMDZBCi06MTAwNTUwMDAwQzI0MDIwMzA1MDIwMDA2MDAwMDAwMDAxNTI0MDYwNjE0Ci06MTAwNTYwMDAwMzAyMDAwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDc0Ci06MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCi06MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Ci06MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCi06MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Ci06MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDUwMDA5MDQwMTg1Ci06MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDExMjQwMkJGCi06MTAwNUQwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTQ5Ci06MTAwNUUwMDAwQTA1NDYwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNUU4Ci06MTAwNUYwMDA4RjAxMDMwMDAxMDUwMDA5MDQwMjAwMDAwMTAyMDAwMDUwCi06MTAwNjAwMDAwOTA0MDIwMTAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMEE1Ci06MTAwNjEwMDAwRTI0MDIwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTUyCi06MTAwNjIwMDA4QzA1NEMwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNEFFCi06MTAwNjMwMDAwMjAyMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMEUyNDRGCi06MTAwNjQwMDAwMjAxMDYwMzE4MDI0NEFDMDA4MEJCMDAwOTA1OEMwNUJBCi06MTAwNjUwMDA3MjAzMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDIwM0UzCi06MTAwNjYwMDAwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTFECi06MTAwNjcwMDAwMjAyMTAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzI2Ci06MTAwNjgwMDAwNTg0MDEwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMkExCi06MTAwNjkwMDAwNDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMkVBCi06MTAwNkEwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTc4Ci06MTAwNkIwMDA4QzA1NDYwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDQwMzJBCi06MTAwNkMwMDAwOTA0MTgwMzQ1MDA2RDAwNjEwMDY3MDA2OTAwNjMwMEJDCi06MTAwNkQwMDAyMDAwNDcwMDZEMDA2MjAwNDgwMDIyMDM0NTAwNkQwMEM1Ci06MTAwNkUwMDA2MTAwNjcwMDY5MDA2MzAwMjAwMDQ1MDA0RDAwNDkwMDdCCi06MTAwNkYwMDAyMDAwMzYwMDdDMDAzMjAwMjAwMDZEMDAyQTAzNDMwMEY5Ci06MTAwNzAwMDA2RjAwNkUwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDhFCi06MTAwNzEwMDA3NDAwNjkwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMEM2Ci06MTAwNzIwMDA2OTAwNkUwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMEQ2Ci06MTAwNzMwMDA3MjAwNjYwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMEQxCi06MEEwNzQwMDA3MjAwNjkwMDZFMDA2NzAwMDAwMEZGCi06MTAxNDg1MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTdBCi06MDExNDk1MDAyMjM0Ci06MTAxNDk2MDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkUwCi06MTAxNEE2MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMERDCi06MTAxNEI2MDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1N0QwMDA0Ci06MTAxNEM2MDA5MDdGRTM3NDdCRjBBMzc0ODBGMDdDMTE5MDdGOTlFMEE5Ci06MTAxNEQ2MDA1NDQwREMwMzAyMTRGM0I0MDAxMzkwN0ZFMjc0NDBGMDJFCi06MTAxNEU2MDA5MDdGRTVGMDkwN0ZFMjc0MDBGMDAyMTREMjkwNzY5MDNGCi06MTAxNEY2MDBFMEI0MDExMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMENCCi06MTAxNTA2MDA5MDdGNkMwMjE1NTdCNDAyMTI5MDc2OEZFMDJERkQ5MEY1Ci06MTAxNTE2MDA3RkUyNzQ4MEYwOTA3RjZDMDIxNTk2QjQwMzEyOTA3Njg5Ci06MTAxNTI2MDA4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTVFMUQ0Ci06MTAxNTM2MDBCNDA0MTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjA5MEQ3Ci06MTAxNTQ2MDA3RjZDMDIxNjEwOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNjFBCi06MTAxNTU2MDA0MEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERjI3REI5Ci06MTAxNTY2MDAwMjA1ODY5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNEZECi06MTAxNTc2MDAwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMDJECi06MTAxNTg2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERENDAyMTY0MEZDCi06MTAxNTk2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDQ1Ci06MTAxNUE2MDBGMEYwRERFQzdEMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjFFCi06MTAxNUI2MDA5QkUwNTQwNEI0MDAwNTA1ODYwMjE2NDA5MDdGRTI3NDUxCi06MTAxNUM2MDA4MEYwMDU4NkYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERBCi06MDYxNUQ2MDBGMEYwRjBGMEYwRjA2RgotOjEwMTVEQzAwRERDRTAyMTY0MEYwRjBGMEYwRERGQTdEMDIwNTg2OTBDQgotOjEwMTVFQzAwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1ODYwNAotOjEwMTVGQzAwMDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwREQ4QQotOjEwMTYwQzAwREMwMjE2NDBGMEYwRjBGMEYwRjBEREY4N0QwMjA1ODYxQgotOjEwMTYxQzAwOTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDVDOQotOjEwMTYyQzAwODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBCMAotOjEwMTYzQzAwRjBGMEREREE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODY3RQotOjEwMTY0QzAwRDA4M0QwODJEMEUwRkNEMEUwRkREMEUwRkVEMEUwRkYzMwotOjA1MTY1QzAwRDBFMEQwRDAyMjE3Ci06MTAxNjYxMDBDMEQwQzBFMEMwODJDMDgzOTA3NjdDRTA5MDdGNkZGMEY0Ci06MTAxNjcxMDA5MDc2N0RFMDkwN0Y2RkYwOTA3NjdFRTA5MDdGNkZGMEM2Ci06MDkxNjgxMDBEMDgzRDA4MkQwRTBEMEQwMjI0OQotOjEwMTY4QTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODM3RQotOjEwMTY5QTAwMDU4NkMwODRDMDg1OTA3Njg3RTBGRkJGMDAwMzAyMTdFNQotOjEwMTZBQTAwMDE5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0YxMgotOjEwMTZCQTAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0ZBNgotOjEwMTZDQTAwRjA5MDdGRTI3NDgwRjA5MDc2OEVFMEI0MDEwNTA1ODY5MgotOjEwMTZEQTAwMDIxNkY2QjQwMjA1MDU4NjAyMTZFQjA1ODYwMjE2RkIwQgotOjEwMTZFQTAwRTBFMEUwRTBFMEUwREZGODAyMTZGQkUwRTBFMEUwREY2NwotOjEwMTZGQTAwRkE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDgzRDAzQQotOjBDMTcwQTAwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODIKLToxMDE3MTYwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCNkUKLTowQTE3MjYwMEQwRTBGOEQwRTBEMDgzRDA4MjIyOUEKLToxMDBDQTUwMDQxNzIwMTAxNDU3MjA1MDAwMkM5MDAwMDQ1NzIwQTAwNDIKLToxMDBDQjUwMDAxMDIwMzA0NEQ3MjBGRDEwMEQxMDAwMDAwMDAwMDAwQjUKLToxMDBDQzUwMDI4MjgwOTAwNEQ3MjFDMDEwMDAxMDIwMzA0MDUwNjA3Q0UKLToxMDBDRDUwMDA4MDkwQTBCNDE3MjJFMjI0MTcyMkYyMzQxNzIzMDIwREUKLToxMDBDRTUwMDQxNzIzMTIxNjJEMjcyM0EwMDAwMDAwMDAwMDAwMDAwMUEKLToxMDBDRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKLToxMDBEMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDBEMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDBEMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKLToxMDBEMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKLToxMDBENDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKLToxMDBENTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKLToxMDBENjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKLToxMDBENzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxNjgKLToxMDBEODUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxNEUKLToxMDBEOTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxM0UKLToxMDBEQTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMkUKLToxMDBEQjUwMDAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMTYKLToxMDBEQzUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRkUKLToxMDBERDUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRUUKLToxMDBERTUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyREUKLToxMDBERjUwMDAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQzMKLToxMDBFMDUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQUQKLToxMDBFMTUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOUQKLToxMDBFMjUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOEQKLToxMDBFMzUwMDAzMDMwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NkYKLToxMDBFNDUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NUQKLToxMDBFNTUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NEQKLToxMDBFNjUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0M0QKLToxMDBFNzUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MUQKLToxMDBFODUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MEQKLToxMDBFOTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1RkQKLToxMDBFQTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNjA2RUIKLToxMDBFQjUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2Q0QKLToxMDBFQzUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QkQKLToxMDBFRDUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QUQKLToxMDBFRTUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNzA3MDcwODA4OTYKLToxMDBFRjUwMDA4MDkwOTA5MEEwQTBBMEIwQjBCMEMwQzBDMEQwRDBENDAKLToxMDBGMDUwMDBFMEUwRTBGMEYwRjEwMTAxMDExMTExMTEyMTIxMjEzRDkKLToxMDBGMTUwMDEzMTMxNDE0MTQxNTE1MTUxNjE2MTYxNzE3MTcxODE4NzQKLToxMDBGMjUwMDE4MTkxOTE5MTkxQTFBMUExQTFCMUIxQjFCMUMxQzFDMTgKLToxMDBGMzUwMDFDMUQxRDFEMUQxRTFFMUUxRTFGMUYxRjFGMjAyMDIwQzgKLToxMDBGNDUwMDIxMjEyMTIyMjIyMjIzMjMyNDI0MjUyNTI2MjYyNzI3NjEKLToxMDBGNTUwMDI4MjgyOTI5MkEyQTJCMkIyQzJDMkQyRDJFMkUyRjJGRDQKLToxMDBGNjUwMDMwMzAzMTMxMzIzMjMzMzMzNDM0MzUzNTM2MzYzNzM3NDQKLToxMDBGNzUwMDM4MzgzOTM5M0EzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0OUIKLToxMDBGODUwMDQ1NDY0NzQ4NDk0OTRBNEI0QjRDNEQ0RTRGNTA1MTUyQTcKLToxMDBGOTUwMDUzNTQ1NTU1NTY1NjU3NTc1ODVBNUI1RDVFNUY2MTYyQjcKLToxMDBGQTUwMDYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RjcxNzI3Mzc0OEIKLToxMDBGQjUwMDc1NzY3Nzc4Nzk3QTdCN0M3RTgwMDEzNzAxMDEzODAwRjgKLToxMDRBQzQwMEU0OTA3MjM2RjBBM0YwOTA3Rjk3RTA1NEZCRjBFNDkwMEEKLToxMDRBRDQwMDcyMzNGMDkwNzIzMkYwOTA3MjAxMDRGMEU0OTA3MjMzMDkKLToxMDRBRTQwMEYwOTA3MjMyRjA5MDcyMDEwNEYwOTA3Rjk3RTA0NDA0RTkKLTowMjRBRjQwMEYwMjJBRQotOjEwMzI2RjAwOTA3NjE4RTBGRjY0MDU3MDQyOTA3NUFCRTBCNDAxMTlEOQotOjEwMzI3RjAwOTA3MjM3NzQwMUYwRTQ5MDgwMjBGMDkwODAzMUYwOTBEQwotOjEwMzI4RjAwODAyOEYwOTA4MDM5RjA4MDIyRTQ5MDcyMzdGMDkwNzVBQQotOjEwMzI5RjAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA3MQotOjEwMzJBRjAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI1MgotOjEwMzJCRjAwODE5OTkwNzIzOTc0MDRGMDkwNzIzOUUwRkYyNEZFOTA3NgotOjEwMzJDRjAwNzIwNEYwRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjVCRgotOjEwMzJERjAwODNFMDY0MDE3MDU0OTA3MjM2MDRGMDkwNzIwNEUwRkY0MgotOjEwMzJFRjAwMjRGRDYwMjgyNEZFNjAyNDI0MDMyNEZCNTAwNDYwMUM2QQotOjEwMzJGRjAwODE4Qzc0MjAyRkY1ODJFNDM0ODBGNTgzRTRGMDc0MjhGOAotOjEwMzMwRjAwMkZGNTgyRTQzNDgwRjU4M0U0RjA4MThDOTA3MjA0RTAzMQotOjEwMzMxRjAwRkYyNDMwRjU4MkU0MzQ4MEY1ODNFNEYwNzQzODJGRjUyMAotOjEwMzMyRjAwODJFNDM0ODBGNTgzRTRGMDgxOENFNDkwNzIzNkYwOTA3RgotOjEwMzMzRjAwNzIzOUUwNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODM5MwotOjEwMzM0RjAwRTBGRjdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIyOAotOjEwMzM1RjAwMDI3NDNCRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzBBQQotOjEwMzM2RjAwMDQ5MDcyMDJGMEVGNEU3MDAyODEzNUVGNjQ4MDRFNzA2MAotOjEwMzM3RjAwMDI4MTM1RUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwOTA0MAotOjEwMzM4RjAwNzIzNEUwNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM0OQotOjEwMzM5RjAwRTBGRjkwNzIwMkYwOTA3NTBERTAyRkYwOTA3NTBDRTA0OQotOjEwMzNBRjAwMzQwMEYwRTBGRUEzRTBGRkU0RkNGRDdCRDY3QUE1Rjk0NAotOjEwMzNCRjAwRjhEMzEyMzc5NTQwMEE5MDc1MEM3NEE1RjBBMzc0RDYwNAotOjEwMzNDRjAwRjA5MDc1MERFMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTA3RgotOjEwMzNERjAwRkVBM0UwNzgwNUNFQTJFNzEzQ0UxM0Q4RjhGRjkwNzVDMQotOjEwMzNFRjAwMENFRUYwQTNFRkYwOTA3MjJDRUVGMEEzRUZGMEQzOTQ2RAotOjEwMzNGRjAwRDJFRTY0ODA5NDgyNDAwQTkwNzIyQzc0MDJGMEEzNzQwRgotOjEwMzQwRjAwRDJGMEMzOTA3MjJDRTA2NDgwOTQ4MDUwMDRFNEYwQTM1NwotOjEwMzQxRjAwRjA5MDcyMkNFMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjVDMAotOjEwMzQyRjAwODNFMDkwNzIwMkYwOTA3MjA0RTBGRjI0RkQ2MDJEMjQ3RgotOjEwMzQzRjAwRkU2MDI5MjQwMzI0RkI1MDA0NjAyMTgwNDA5MDcyMDIxNwotOjEwMzQ0RjAwRTBGRTc0MjAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0MjhDQgotOjEwMzQ1RjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA4MDIxOTA3MjAyRTA0NAotOjEwMzQ2RjAwRkY5MDcyMDRFMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZBMAotOjEwMzQ3RjAwRjA3NDM4MkVGNTgyRTQzNDgwRjU4M0VGRjA5MDcyMzlEMgotOjBCMzQ4RjAwRTAwNEYwRTA2NDBBNjAwMjQxQzcyMjg0Ci06MTAzNDlBMDA5MDc2MThFMEZGQjQwNTIzOTA3MjM3RTA3MDFEOTA3NTlFCi06MTAzNEFBMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDY0Ci06MTAzNEJBMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjQ1Ci06MTAzNENBMDBDMTkxOTA3MjM2RTA2MDAyQzE5MTkwNzY0MEUwNzAzMTBECi06MTAzNERBMDA5MDcyMDM3NDAzRjA5MDcyMDNFMEZGNzVGMDBBQTQyNDVCCi06MTAzNEVBMDBBQUY1ODJFNDM0NzVGNTgzRTBGRTkwNzIyOUUwRkRFRUQ4Ci06MTAzNEZBMDA2RDYwMEVFRkMzOTQwQTUwMDg5MDcyMDNFMDA0RjA4MEU2Ci06MTAzNTBBMDBENTkwNzIzOTc0MDRGMDkwNzY0MEUwNzAwODkwNzIwMzk2Ci06MTAzNTFBMDBFMDkwNzIzOUYwOTA3MjM5RTBGRDI0RkU5MDcyMkFGMDQwCi06MTAzNTJBMDBFRDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRTBGRjY1Ci06MTAzNTNBMDA3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMDI3NEE0Ci06MTAzNTRBMDA4MEYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwMDQ5MDVBCi06MTAzNTVBMDA3MjAyRjBFRjRFNzAwMkMxMUJFRjY0ODA0RTcwMDJDMTFFCi06MTAzNTZBMDAxQkVGRjhFNDkwNzUwREYwRTg5MDc1MENGMEVENzVGMDJFCi06MTAzNTdBMDAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTBGRjkwNzIwMjY0Ci06MTAzNThBMDBGMDkwNzUwREUwMkZGMDkwNzUwQ0UwMzQwMEYwRTBGRTNECi06MTAzNTlBMDBBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5RjhEMzEyMzc5NUIwCi06MTAzNUFBMDA0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2RjA5MDc1MERFMERFCi06MTAzNUJBMDAyNDJBRjA5MDc1MENFMDM0NUFGMEUwRkVBM0UwNzgwNTc2Ci06MTAzNUNBMDBDRUEyRTcxM0NFMTNEOEY4RkY5MDc1MENFRUYwQTNFRjU2Ci06MTAzNURBMDBGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0RDJFRTY0ODA5NEM0Ci06MTAzNUVBMDA4MjQwMEE5MDcyMkM3NDAyRjBBMzc0RDJGMEMzOTA3MkQzCi06MTAzNUZBMDAyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzRjA5MDcyMkNFMEY0Ci06MTAzNjBBMDBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1ODNFMDkwNzIwMjZBCi06MTAzNjFBMDBGMDkwNzIyQUUwRkYyNEZENjAyRDI0RkU2MDI5MjQwMzI1Ci06MTAzNjJBMDAyNEZCNTAwNDYwMjE4MDQwOTA3MjAyRTBGRTc0MjAyRjM3Ci06MTAzNjNBMDBGNTgyRTQzNDgwRjU4M0VFRjA3NDI4MkZGNTgyRTQzNEMxCi06MTAzNjRBMDA4MEY1ODNFRUYwODAyMTkwNzIwMkUwRkY5MDcyMkFFMDBBCi06MTAzNjVBMDBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGRjA3NDM4MkVGNUQ5Ci06MTAzNjZBMDA4MkU0MzQ4MEY1ODNFRkYwOTA3NjQwRTA3MDA2OTA3MjQxCi06MTAzNjdBMDAzOTc0MEFGMDkwNzIzOUUwMDRGMEUwQzM5NDBBNTAwMkY3Ci06MDgzNjhBMDBBMTExRTQ5MDc2NDBGMDIyNEEKLTowNDREOTcwMDEyMTczMDIyOUQKLToxMDQ5NTgwMDkwNzY0Njc0ODBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzNEMKLToxMDQ5NjgwMEYwQTNGMEEzRjBBM0YwQTM3NDgwRjBFNEEzRjBBM0YwMDUKLToxMDQ5NzgwMEEzRjBBM0YwQTNGMEEzRjBBMzc0NDBGMEU0QTNGMEEzODIKLToxMDQ5ODgwMDc0NDBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjBBM0YwMjUKLToxMDQ5OTgwMEEzNzQ0MEYwRTRBM0YwQTM3NDQwRjBFNEEzRjBBM0YwMDAKLTowNTQ5QTgwMEEzRjBBM0YwMjJDMgotOjEwMEZDNjAwRTRGRjc0NDYyRkY1ODJFNDM0NzZGNTgzRTBGRTc0MjA2MAotOjEwMEZENjAwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDRFMkZGNTgyRTQyQgotOjEwMEZFNjAwMzQ3NkY1ODNFMEZFNzQzMDJGRjU4MkU0MzQ4MEY1ODNBMQotOjA2MEZGNjAwRUVGMDBGQkYwOENDNzUKLTowMTBGRkMwMDIyRDIKLToxMDRBOEQwMEU0RkY3NDU2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDI4NDYKLToxMDRBOUQwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ1RTJGRjU4MkU0MTkKLToxMDRBQUQwMDM0NzZGNTgzRTBGRTc0MzgyRkY1ODJFNDM0ODBGNTgzOTcKLTowNjRBQkQwMEVFRjAwRkJGMDhDQzczCi06MDE0QUMzMDAyMkQwCi06MTAxNzMwMDBDMDgyQzA4M0MwRTBFOEMwRTA3ODc4RTgxNEY4NzBGQkFECi06MEExNzQwMDBEMEUwRjhEMEUwRDA4M0QwODIyMjgwCi06MDMwMDQzMDAwMjQ5MDA2RgotOjEwNDkwMDAwMDIyRkU3MDAwMjNENDcwMDAyNEQ0NjAwMDI0QkQ1MDA1MgotOjEwNDkxMDAwMDI0QjYwMDAwMjJGRkYwMDAyNEJFRDAwMDI0QjgxMDBCMgotOjEwNDkyMDAwMDI0QzA0MDAwMjNGRDUwMDAyNEMxQjAwMDI0QzMyMDAzNgotOjEwNDkzMDAwMDI0QzQ5MDAwMjRDNjAwMDAyNEM3NzAwMDI0QzhFMDA5MQotOjEwNDk0MDAwMDI0Q0E1MDAwMjRDQkMwMDAyNENEMzAwMDI0Q0VBMDAxMQotOjA4NDk1MDAwMDI0RDAxMDAwMjREMTgwMEE4Ci06MTAxQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Ci06MTAxQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Ci06MTAxQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Ci06MTAxQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Ci06MTAxQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Ci06MTAxQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Ci06MTAxQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Ci06MTAxQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Ci06MTAxQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Ci06MTAxQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Ci06MTAxQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Ci06MTAxQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Ci06MTAxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Ci06MTAxQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Ci06MTAxQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Ci06MTAxQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Ci06MTAxQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Ci06MTAxQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Ci06MTAxQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Ci06MTAxQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Ci06MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Ci06MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Ci06MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Ci06MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Ci06MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Ci06MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Ci06MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Ci06MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Ci06MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCi06MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCi06MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCi06MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCi06MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCi06MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCi06MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCi06MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCi06MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCi06MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCi06MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCi06MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCi06MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCi06MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCi06MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCi06MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCi06MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCi06MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCi06MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCi06MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCi06MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCi06MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCi06MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCi06MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCi06MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCi06MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCi06MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCi06MEUxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKLToxMDFFQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKLToxMDFFQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKLToxMDFFREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKLToxMDFFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKLToxMDFFRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKLToxMDFGMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKLToxMDFGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKLToxMDFGMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKLTowMjFGM0UwMDAwMDBBMQotOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQotOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQotOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQotOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQotOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQotOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQotOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQotOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQotOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQotOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQotOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQotOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQotOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAotOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAotOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAotOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAotOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAotOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAotOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAotOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAotOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAotOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAotOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAotOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAotOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAotOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAotOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAotOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgotOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgotOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgotOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgotOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgotOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgotOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgotOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgotOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgotOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgotOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgotOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgotOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgotOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgotOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgotOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgotOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQotOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQotOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQotOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQotOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQotOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQotOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQotOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQotOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQotOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQotOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQotOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQotOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQotOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQotOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQotOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQotOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAotOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAotOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAotOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAotOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAotOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAotOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAotOjBFMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCi06MTAyMzdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCi06MTAyMzhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCi06MTAyMzlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCi06MTAyM0FFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCi06MTAyM0JFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCi06MTAyM0NFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCi06MTAyM0RFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCi06MTAyM0VFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCi06MTAyM0ZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCi06MTAyNDBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCi06MTAyNDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCi06MTAyNDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCi06MTAyNDNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCi06MTAyNDRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCi06MTAyNDVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCi06MTAyNDZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCi06MTAyNDdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCi06MTAyNDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCi06MTAyNDlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCi06MTAyNEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCi06MTAyNEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCi06MTAyNENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCi06MTAyNERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCi06MTAyNEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCi06MTAyNEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCi06MTAyNTBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECi06MTAyNTFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECi06MTAyNTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECi06MTAyNTNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECi06MTAyNTRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECi06MTAyNTVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECi06MTAyNTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECi06MTAyNTdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECi06MTAyNThFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECi06MTAyNTlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECi06MTAyNUFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECi06MTAyNUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECi06MTAyNUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECi06MTAyNURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECi06MTAyNUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECi06MTAyNUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECi06MTAyNjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCi06MTAyNjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCi06MTAyNjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCi06MTAyNjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCi06MTAyNjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCi06MTAyNjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCi06MTAyNjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCi06MTAyNjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCi06MTAyNjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCi06MTAyNjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCi06MTAyNkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCi06MTAyNkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCi06MTAyNkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCi06MTAyNkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCi06MEUyNkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKLToxMDI2RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKLToxMDI3MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKLToxMDI3MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKLToxMDI3MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKLToxMDI3M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKLToxMDI3NEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKLToxMDI3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKLToxMDI3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKLToxMDI3N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKLToxMDI3OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKLToxMDI3OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKLToxMDI3QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKLToxMDI3QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKLToxMDI3Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKLToxMDI3REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKLToxMDI3RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKLTowNTI3RkMwMDAwMDAwMDAwMjJCNgotOjA3MTc0QTAwOTA3RkM1NzQwMkYwMjIzQwotOjEwMTc1MTAwOTA3RUMwRTA5MDc2NDVGMDkwN0VDMUUwOTA3NjQ0RjBCNgotOjEwMTc2MTAwOTA3RUMyRTA5MDc2NDNGMEI0MDAwMzAyMTc3ODkwNzY0MQotOjEwMTc3MTAwMTk3NDAzRjAwMjE3OEU5MDc2NDRFMEI0QkIwOTkwNzY5OQotOjEwMTc4MTAwMTk3NDAyRjAwMjE3OEU5MDc2MTk3NDAxRjA5MDc2NDI2NgotOjAzMTc5MTAwRTRGMDIyNUYKLTowMzAwMDAwMDAyNDVGOUJECi06MEM0NUY5MDA3ODdGRTRGNkQ4RkQ3NTgxMzgwMjQ2NDA1QQotOjEwMzY5MjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDIzNgotOjA5MzZBMjAwRTMyMjg5ODI4QTgzRTQ5MzIyNjkKLToxMDM2QUIwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwRDQKLToxMDM2QkIwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyMUUKLTowRDM2Q0IwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyMzgKLToxMDM2RDgwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFMEQKLToxMDM2RTgwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMzgxRkMzMkUKLToxMDM2RjgwMEU0OURGREU0OUNGQzgwMDMxMjM4MUYzMEQ1MDdDM0U0MjkKLTowNjM3MDgwMDlGRkZFNDlFRkUyMjdCCi06MTAzNzBFMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEY5Ci06MTAzNzFFMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUQ2Ci06MTAzNzJFMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzFDCi06MDgzNzNFMDBFOTkzRjVGMEEzRTk5MzIyRTEKLToxMDM3NDYwMEU4OEZGMEE0Q0M4QkYwQTQyQ0ZDRTk4RUYwQTQyQ0ZDMjIKLToxMDM3NTYwMDhBRjBFREE0MkNGQ0VBOEVGMEE0Q0RBOEYwOEJGMEE0QTAKLToxMDM3NjYwMDJEQ0MzODI1RjBGREU5OEZGMEE0MkNDRDM1RjBGQ0VCRkYKLToxMDM3NzYwMDhFRjBBNEZFQTlGMEVCOEZGMEE0Q0ZDNUYwMkVDRDM5QzQKLTowRjM3ODYwMEZFRTQzQ0ZDRUFBNDJEQ0UzNUYwRkRFNDNDRkMyMjMxCi06MTAzNzk1MDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFQzY0ODBDOEFCCi06MDYzN0E1MDA2NDgwOTg0NUYwMjI0QgotOjEwMzdBQjAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA3NAotOjAxMzdCQjAwMjJFQgotOjBDMzdCQzAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyODAKLToxMDM3QzgwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMzdERjEyMzdERjEyQzgKLToxMDM3RDgwMDM3REYxMjM3REZFNDczRTQ5M0EzQzU4M0M1RjBDNTgzRUQKLToxMDM3RTgwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4NEIKLTowMTM3RjgwMDIyQUUKLToxMDM3RjkwMEQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzNUYKLToxMDM4MDkwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwNzIKLTowNjM4MTkwMEVGQTNBM0EzODBERjcyCi06MTA0NjA1MDAwMjQ3NUFFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjJBCi06MTA0NjE1MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0I2Ci06MTA0NjI1MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjg1Ci06MTA0NjM1MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQzhGRTQ3RTdBCi06MTA0NjQ1MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzdBCi06MTA0NjU1MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzQxCi06MTA0NjY1MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTZDCi06MTA0Njc1MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTI0Ci06MDEwRkM1MDAwMDJCCi06MTAzODFGMDBCQzAwMEJCRTAwMjlFRjhERjA4NEZGQURGMDIyRTRDQzhECi06MTAzODJGMDBGODc1RjAwOEVGMkZGRkVFMzNGRUVDMzNGQ0VFOURFQzU2Ci06MTAzODNGMDA5ODQwMDVGQ0VFOURGRTBGRDVGMEU5RTRDRUZEMjJFRDlDCi06MTAzODRGMDBGOEY1RjBFRTg0MjBEMjFDRkVBREYwNzVGMDA4RUYyRkU2Ci06MTAzODVGMDBGRkVEMzNGRDQwMDc5ODUwMDZENUYwRjIyMkMzOThGREQ3Ci06MDUzODZGMDAwRkQ1RjBFQTIyNzQKLTowMDAwMDAwMUZGCi0qLwotLyoKLVZFUlNJT049MS4wNC4wNjIKLURBVEU9MTYuMTAuMjAwMiAgCi0qLwotc3RhdGljIElOVEVMX0hFWF9SRUNPUkQgZ19lbWk2Ml9sb2FkZXJbXSA9IHsKLSB7IDMsMHgwMDAwLDAsezB4MDIsMHgwMiwweDg3fX0sCi0geyAzLDB4MDA0MywwLHsweDAyLDB4MDQsMHgwMH19LAotIHsxNiwweDAxMDAsMCx7MHhlNCwweGZmLDB4ZmUsMHhjMiwweDIwLDB4ZDIsMHhlOCwweDQzLDB4ZDgsMHgyMCwweDkwLDB4N2YsMHhhYiwweDc0LDB4ZmYsMHhmMH19LAotIHsxNiwweDAxMTAsMCx7MHg5MCwweDdmLDB4YTksMHhmMCwweDkwLDB4N2YsMHhhYSwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweDk1LDB4NzQsMHhjMH19LAotIHsxNiwweDAxMjAsMCx7MHhmMCwweDkwLDB4N2YsMHg5ZSwweGYwLDB4OTAsMHg3ZiwweDk4LDB4ZjAsMHhlNCwweDkwLDB4N2YsMHg5NCwweGYwLDB4OTAsMHg3Zn19LAotIHsxNiwweDAxMzAsMCx7MHg5ZCwweDc0LDB4ZmYsMHhmMCwweDkwLDB4N2YsMHg5NywweDc0LDB4YTAsMHhmMCwweDkwLDB4N2YsMHg5MywweGUwLDB4NTQsMHhmY319LAotIHsxNiwweDAxNDAsMCx7MHhmMCwweDkwLDB4N2YsMHg5YywweDc0LDB4MDMsMHhmMCwweGU0LDB4OTAsMHg3ZiwweDk2LDB4ZjAsMHg5MCwweDdmLDB4YWYsMHhlMH19LAotIHsxNiwweDAxNTAsMCx7MHg0NCwweDAxLDB4ZjAsMHg5MCwweDdmLDB4YWUsMHhlMCwweDQ0LDB4MGQsMHhmMCwweGQyLDB4YWYsMHgwZiwweGJmLDB4MDAsMHgwMX19LAotIHsxNiwweDAxNjAsMCx7MHgwZSwweGJlLDB4MDcsMHhmOCwweGJmLDB4MDgsMHhmNSwweDIwLDB4MjAsMHg0MiwweDc1LDB4MTQsMHgwMCwweDc1LDB4MTMsMHgwMH19LAotIHsxNiwweDAxNzAsMCx7MHg3NSwweDEyLDB4MDAsMHg3NSwweDExLDB4MDAsMHg3ZiwweDQ4LDB4N2UsMHg5MiwweDdkLDB4MDAsMHg3YywweDAwLDB4YWIsMHgxNH19LAotIHsxNiwweDAxODAsMCx7MHhhYSwweDEzLDB4YTksMHgxMiwweGE4LDB4MTEsMHhjMywweDEyLDB4MDMsMHhlZCwweDUwLDB4ZGIsMHgyMCwweDIwLDB4ZDgsMHg3YX19LAotIHsxNiwweDAxOTAsMCx7MHgwMCwweDc5LDB4MDAsMHg3OCwweDAwLDB4ZTUsMHgxNCwweDI0LDB4MDEsMHhmNSwweDE0LDB4ZWEsMHgzNSwweDEzLDB4ZjUsMHgxM319LAotIHsxNiwweDAxYTAsMCx7MHhlOSwweDM1LDB4MTIsMHhmNSwweDEyLDB4ZTgsMHgzNSwweDExLDB4ZjUsMHgxMSwweDgwLDB4Y2EsMHgzMCwweDIwLDB4ZmQsMHgxMn19LAotIHsxNiwweDAxYjAsMCx7MHgwMSwweGM3LDB4NTAsMHgwNywweDkwLDB4N2YsMHhiNCwweGUwLDB4NDQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHg0NH19LAotIHsgNiwweDAxYzAsMCx7MHgwMiwweGYwLDB4YzIsMHgyMCwweDgwLDB4ZTZ9fSwKLSB7IDEsMHgwMWM2LDAsezB4MjJ9fSwKLSB7MTYsMHgwMWM3LDAsezB4OTAsMHg3ZiwweGU5LDB4ZTAsMHgyNCwweDViLDB4NjAsMHg2MCwweDI0LDB4MDIsMHg2MCwweDAzLDB4MDIsMHgwMiwweDg1LDB4OTB9fSwKLSB7MTYsMHgwMWQ3LDAsezB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjUsMHgwYiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDBhLDB4OTB9fSwKLSB7MTYsMHgwMWU3LDAsezB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjUsMHgxNiwweGEzLDB4ZTAsMHhmZSwweGU0LDB4ZWUsMHg0MiwweDE1LDB4ZTV9fSwKLSB7MTYsMHgwMWY3LDAsezB4MTYsMHg0NSwweDE1LDB4NzAsMHgwMywweDAyLDB4MDIsMHg4NSwweGU0LDB4OTAsMHg3ZiwweGM1LDB4ZjAsMHg5MCwweDdmLDB4YjR9fSwKLSB7MTYsMHgwMjA3LDAsezB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGMsMHgxMiwweDAzLDB4MTMsMHhhZiwweDBjLDB4N2V9fSwKLSB7MTYsMHgwMjE3LDAsezB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjUsMHgwYSwweGMzLDB4ZTUsMHgxNiwweDlmLDB4ZjV9fSwKLSB7MTYsMHgwMjI3LDAsezB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjNywweDkwLDB4N2YsMHhlYSwweGUwLDB4NzUsMHgwYSwweDAwLDB4ZjV9fSwKLSB7MTYsMHgwMjM3LDAsezB4MGIsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgwYSwweDkwLDB4N2YsMHhlZSwweGUwLDB4NzUsMHgxNSwweDAwLDB4ZjV9fSwKLSB7MTYsMHgwMjQ3LDAsezB4MTYsMHhhMywweGUwLDB4ZmUsMHhlNCwweGVlLDB4NDIsMHgxNSwweGU1LDB4MTYsMHg0NSwweDE1LDB4NjAsMHgzMCwweGU0LDB4OTB9fSwKLSB7MTYsMHgwMjU3LDAsezB4N2YsMHhjNSwweGYwLDB4OTAsMHg3ZiwweGI0LDB4ZTAsMHgyMCwweGUzLDB4ZjksMHg5MCwweDdmLDB4YzUsMHhlMCwweGY1LDB4MGN9fSwKLSB7MTYsMHgwMjY3LDAsezB4MTIsMHgwMywweDJiLDB4YWYsMHgwYywweDdlLDB4MDAsMHhlZiwweDI1LDB4MGIsMHhmNSwweDBiLDB4ZWUsMHgzNSwweDBhLDB4ZjV9fSwKLSB7MTUsMHgwMjc3LDAsezB4MGEsMHhjMywweGU1LDB4MTYsMHg5ZiwweGY1LDB4MTYsMHhlNSwweDE1LDB4OWUsMHhmNSwweDE1LDB4ODAsMHhjYSwweGMzfX0sCi0geyAxLDB4MDI4NiwwLHsweDIyfX0sCi0gezEyLDB4MDI4NywwLHsweDc4LDB4N2YsMHhlNCwweGY2LDB4ZDgsMHhmZCwweDc1LDB4ODEsMHgyOSwweDAyLDB4MDIsMHhjZX19LAotIHsxNiwweDAyOTMsMCx7MHgwMiwweDAxLDB4MDAsMHhlNCwweDkzLDB4YTMsMHhmOCwweGU0LDB4OTMsMHhhMywweDQwLDB4MDMsMHhmNiwweDgwLDB4MDEsMHhmMn19LAotIHsxNiwweDAyYTMsMCx7MHgwOCwweGRmLDB4ZjQsMHg4MCwweDI5LDB4ZTQsMHg5MywweGEzLDB4ZjgsMHg1NCwweDA3LDB4MjQsMHgwYywweGM4LDB4YzMsMHgzM319LAotIHsxNiwweDAyYjMsMCx7MHhjNCwweDU0LDB4MGYsMHg0NCwweDIwLDB4YzgsMHg4MywweDQwLDB4MDQsMHhmNCwweDU2LDB4ODAsMHgwMSwweDQ2LDB4ZjYsMHhkZn19LAotIHsxNiwweDAyYzMsMCx7MHhlNCwweDgwLDB4MGIsMHgwMSwweDAyLDB4MDQsMHgwOCwweDEwLDB4MjAsMHg0MCwweDgwLDB4OTAsMHgwNCwweDZlLDB4ZTQsMHg3ZX19LAotIHsxNiwweDAyZDMsMCx7MHgwMSwweDkzLDB4NjAsMHhiYywweGEzLDB4ZmYsMHg1NCwweDNmLDB4MzAsMHhlNSwweDA5LDB4NTQsMHgxZiwweGZlLDB4ZTQsMHg5M319LAotIHsxNiwweDAyZTMsMCx7MHhhMywweDYwLDB4MDEsMHgwZSwweGNmLDB4NTQsMHhjMCwweDI1LDB4ZTAsMHg2MCwweGE4LDB4NDAsMHhiOCwweGU0LDB4OTMsMHhhM319LAotIHsxNiwweDAyZjMsMCx7MHhmYSwweGU0LDB4OTMsMHhhMywweGY4LDB4ZTQsMHg5MywweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYX19LAotIHsxNiwweDAzMDMsMCx7MHhmMCwweGEzLDB4YzgsMHhjNSwweDgyLDB4YzgsMHhjYSwweGM1LDB4ODMsMHhjYSwweGRmLDB4ZTksMHhkZSwweGU3LDB4ODAsMHhiZX19LAotIHsxNiwweDAzMTMsMCx7MHhlNSwweDBjLDB4ZmYsMHhlNSwweDBiLDB4ZjUsMHg4MiwweGU1LDB4MGEsMHhmNSwweDgzLDB4NzUsMHg5MiwweDdlLDB4NzQsMHhjMH19LAotIHsgOCwweDAzMjMsMCx7MHhmOCwweGUyLDB4MDgsMHhmMCwweGEzLDB4ZGYsMHhmYSwweDIyfX0sCi0gezE2LDB4MDMyYiwwLHsweDkwLDB4N2YsMHg5NiwweDg1LDB4ODMsMHg5MiwweGE4LDB4ODIsMHg3OSwweDAyLDB4OTAsMHgwMCwweDAwLDB4ZTAsMHhiNCwweDAwfX0sCi0gezE2LDB4MDMzYiwwLHsweDBkLDB4NzQsMHgwMSwweGYwLDB4OTAsMHg3ZiwweDk3LDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHg0NCwweDgwLDB4ZjAsMHhlNSwweDBjfX0sCi0gezE2LDB4MDM0YiwwLHsweGZmLDB4OTAsMHg3ZSwweGMwLDB4ZTAsMHhmNSwweDI4LDB4ZTQsMHhhMiwweDQ3LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyfX0sCi0gezE2LDB4MDM1YiwwLHsweDQ2LDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDUsMHgzMywweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0NCwweDMzfX0sCi0gezE2LDB4MDM2YiwwLHsweGYyLDB4NjksMHhmMiwweGU0LDB4YTIsMHg0MywweDMzLDB4ZjIsMHg2OSwweGYyLDB4ZTQsMHhhMiwweDQyLDB4MzMsMHhmMiwweDY5fX0sCi0gezE2LDB4MDM3YiwwLHsweGYyLDB4ZTQsMHhhMiwweDQxLDB4MzMsMHhmMiwweDY5LDB4ZjIsMHhlNCwweGEyLDB4NDAsMHgzMywweGYyLDB4NjksMHhmMiwweGEzfX0sCi0geyAzLDB4MDM4YiwwLHsweGRmLDB4YzIsMHgyMn19LAotIHsxNiwweDAzOGUsMCx7MHhjMCwweGUwLDB4YzAsMHg4MywweGMwLDB4ODIsMHg5MCwweDdmLDB4YzQsMHhlNCwweGYwLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3Zn19LAotIHsxMSwweDAzOWUsMCx7MHhhYiwweDc0LDB4MDQsMHhmMCwweGQwLDB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDNhOSwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweGQyLDB4MjAsMHg1MywweDkxLDB4ZWYsMHg5MCwweDdmLDB4YWIsMHg3NCwweDAxfX0sCi0geyA4LDB4MDNiOSwwLHsweGYwLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhkMCwweGUwLDB4MzJ9fSwKLSB7MTYsMHgwM2MxLDAsezB4YzAsMHhlMCwweGMwLDB4ODMsMHhjMCwweDgyLDB4NTMsMHg5MSwweGVmLDB4OTAsMHg3ZiwweGFiLDB4NzQsMHgwMiwweGYwLDB4ZDB9fSwKLSB7IDYsMHgwM2QxLDAsezB4ODIsMHhkMCwweDgzLDB4ZDAsMHhlMCwweDMyfX0sCi0gezE2LDB4MDNkNywwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MTAsMHhmMCwweGQwfX0sCi0geyA2LDB4MDNlNywwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDAzZWQsMCx7MHhlYiwweDlmLDB4ZjUsMHhmMCwweGVhLDB4OWUsMHg0MiwweGYwLDB4ZTksMHg5ZCwweDQyLDB4ZjAsMHhlOCwweDljLDB4NDUsMHhmMH19LAotIHsgMSwweDAzZmQsMCx7MHgyMn19LAotIHsgMSwweDAzZmUsMCx7MHgzMn19LAotIHsgMSwweDAzZmYsMCx7MHgzMn19LAotIHsxNiwweDA0MDAsMCx7MHgwMiwweDAzLDB4YTksMHgwMCwweDAyLDB4MDMsMHhjMSwweDAwLDB4MDIsMHgwMywweDhlLDB4MDAsMHgwMiwweDA0LDB4NTgsMHgwMH19LAotIHsxNiwweDA0MTAsMCx7MHgwMiwweDAzLDB4ZDcsMHgwMCwweDAyLDB4MDMsMHhmZSwweDAwLDB4MDIsMHgwMywweGZmLDB4MDAsMHgwMiwweDA0LDB4ODQsMHgwMH19LAotIHsxNiwweDA0MjAsMCx7MHgwMiwweDA0LDB4ODUsMHgwMCwweDAyLDB4MDQsMHg4NiwweDAwLDB4MDIsMHgwNCwweDg3LDB4MDAsMHgwMiwweDA0LDB4ODgsMHgwMH19LAotIHsxNiwweDA0MzAsMCx7MHgwMiwweDA0LDB4ODksMHgwMCwweDAyLDB4MDQsMHg4YSwweDAwLDB4MDIsMHgwNCwweDhiLDB4MDAsMHgwMiwweDA0LDB4OGMsMHgwMH19LAotIHsxNiwweDA0NDAsMCx7MHgwMiwweDA0LDB4OGQsMHgwMCwweDAyLDB4MDQsMHg4ZSwweDAwLDB4MDIsMHgwNCwweDhmLDB4MDAsMHgwMiwweDA0LDB4OTAsMHgwMH19LAotIHsgOCwweDA0NTAsMCx7MHgwMiwweDA0LDB4OTEsMHgwMCwweDAyLDB4MDQsMHg5MiwweDAwfX0sCi0gezE2LDB4MDQ1OCwwLHsweGMwLDB4ZTAsMHhjMCwweDgzLDB4YzAsMHg4MiwweDUzLDB4OTEsMHhlZiwweDkwLDB4N2YsMHhhYiwweDc0LDB4MDgsMHhmMCwweGQwfX0sCi0geyA2LDB4MDQ2OCwwLHsweDgyLDB4ZDAsMHg4MywweGQwLDB4ZTAsMHgzMn19LAotIHsxNiwweDA0NmUsMCx7MHgwMiwweDBhLDB4MDAsMHgwZiwweDAxLDB4MGMsMHgxMSwweDA0LDB4MGQsMHgwMCwweDAwLDB4MDAsMHgwMCwweDQxLDB4MDAsMHgwMH19LAotIHsgMSwweDA0N2UsMCx7MHgwMH19LAotIHsgNCwweDA0N2YsMCx7MHgwMiwweDE3LDB4MDAsMHgwMH19LAotIHsgMSwweDA0ODMsMCx7MHgwMH19LAotIHsgMSwweDA0ODQsMCx7MHgzMn19LAotIHsgMSwweDA0ODUsMCx7MHgzMn19LAotIHsgMSwweDA0ODYsMCx7MHgzMn19LAotIHsgMSwweDA0ODcsMCx7MHgzMn19LAotIHsgMSwweDA0ODgsMCx7MHgzMn19LAotIHsgMSwweDA0ODksMCx7MHgzMn19LAotIHsgMSwweDA0OGEsMCx7MHgzMn19LAotIHsgMSwweDA0OGIsMCx7MHgzMn19LAotIHsgMSwweDA0OGMsMCx7MHgzMn19LAotIHsgMSwweDA0OGQsMCx7MHgzMn19LAotIHsgMSwweDA0OGUsMCx7MHgzMn19LAotIHsgMSwweDA0OGYsMCx7MHgzMn19LAotIHsgMSwweDA0OTAsMCx7MHgzMn19LAotIHsgMSwweDA0OTEsMCx7MHgzMn19LAotIHsgMSwweDA0OTIsMCx7MHgzMn19LAotIHsxNiwweDExMDAsMCx7MHgxMiwweDAxLDB4MTAsMHgwMSwweDAwLDB4MDAsMHgwMCwweDQwLDB4NmEsMHgwOCwweDAxLDB4MDEsMHgwMCwweDAxLDB4MDEsMHgwMn19LAotIHsxNiwweDExMTAsMCx7MHgwMCwweDAxLDB4MDksMHgwMiwweDIwLDB4MDAsMHgwMSwweDAxLDB4MDMsMHhhMCwweDAwLDB4MDksMHgwNCwweDAwLDB4MDAsMHgwMn19LAotIHsxNiwweDExMjAsMCx7MHhmZiwweDAwLDB4MDAsMHgwNCwweDA3LDB4MDUsMHg4MiwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDAyLDB4MDIsMHg0MH19LAotIHsxNiwweDExMzAsMCx7MHgwMCwweDAwLDB4MDQsMHgwMywweDA5LDB4MDQsMHgyNiwweDAzLDB4NDEsMHgwMCwweDZlLDB4MDAsMHg2MywweDAwLDB4NjgsMHgwMH19LAotIHsxNiwweDExNDAsMCx7MHg2ZiwweDAwLDB4NzIsMHgwMCwweDIwLDB4MDAsMHg0MywweDAwLDB4NjgsMHgwMCwweDY5LDB4MDAsMHg3MCwweDAwLDB4NzMsMHgwMH19LAotIHsxNiwweDExNTAsMCx7MHgyYywweDAwLDB4MjAsMHgwMCwweDQ5LDB4MDAsMHg2ZSwweDAwLDB4NjMsMHgwMCwweDJlLDB4MDAsMHgyOCwweDAzLDB4NDYsMHgwMH19LAotIHsxNiwweDExNjAsMCx7MHg2OSwweDAwLDB4NzIsMHgwMCwweDZkLDB4MDAsMHg3NywweDAwLDB4NjEsMHgwMCwweDcyLDB4MDAsMHg2NSwweDAwLDB4MjAsMHgwMH19LAotIHsxNiwweDExNzAsMCx7MHg0NiwweDAwLDB4NzIsMHgwMCwweDYxLDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDU3LDB4MDAsMHg2ZiwweDAwLDB4NzIsMHgwMH19LAotIHsxNiwweDExODAsMCx7MHg2YiwweDAwLDB4NzMsMHgwMCwweDJhLDB4MDMsMHg0MywweDAwLDB4NmYsMHgwMCwweDZlLDB4MDAsMHg2NiwweDAwLDB4NjksMHgwMH19LAotIHsxNiwweDExOTAsMCx7MHg2NywweDAwLDB4NzUsMHgwMCwweDcyLDB4MDAsMHg2MSwweDAwLDB4NzQsMHgwMCwweDY5LDB4MDAsMHg2ZiwweDAwLDB4NmUsMHgwMH19LAotIHsxNiwweDExYTAsMCx7MHgyMCwweDAwLDB4NTMsMHgwMCwweDc0LDB4MDAsMHg3MiwweDAwLDB4NjksMHgwMCwweDZlLDB4MDAsMHg2NywweDAwLDB4MjIsMHgwM319LAotIHsxNiwweDExYjAsMCx7MHg0OSwweDAwLDB4NmUsMHgwMCwweDc0LDB4MDAsMHg2NSwweDAwLDB4NzIsMHgwMCwweDY2LDB4MDAsMHg2MSwweDAwLDB4NjMsMHgwMH19LAotIHsxNiwweDExYzAsMCx7MHg2NSwweDAwLDB4MjAsMHgwMCwweDUzLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDY5LDB4MDAsMHg2ZSwweDAwLDB4NjcsMHgwMH19LAotIHsgMiwweDExZDAsMCx7MHgwMCwweDAwfX0sCi0geyAwLDB4MDAwMCwxLHswfX0KLX07Ci0vKiBTb3VyY2U6IEVNSUxPQUQuSEVYIAotOjEwMDQ2RTAwMDIwQTAwMEYwMTBDMTEwNDBEMDAwMDAwMDA0MTAwMDBGMwotOjAxMDQ3RTAwMDA3RAotOjEwMDFDNzAwOTA3RkU5RTAyNDVCNjA2MDI0MDI2MDAzMDIwMjg1OTA2RgotOjEwMDFENzAwN0ZFQUUwNzUwQTAwRjUwQkEzRTBGRUU0RUU0MjBBOTAyMQotOjEwMDFFNzAwN0ZFRUUwNzUxNTAwRjUxNkEzRTBGRUU0RUU0MjE1RTU5NwotOjEwMDFGNzAwMTY0NTE1NzAwMzAyMDI4NUU0OTA3RkM1RjA5MDdGQjQyMQotOjEwMDIwNzAwRTAyMEUzRjk5MDdGQzVFMEY1MEMxMjAzMTNBRjBDN0VGNQotOjEwMDIxNzAwMDBFRjI1MEJGNTBCRUUzNTBBRjUwQUMzRTUxNjlGRjUzQQotOjEwMDIyNzAwMTZFNTE1OUVGNTE1ODBDNzkwN0ZFQUUwNzUwQTAwRjU3QgotOjEwMDIzNzAwMEJBM0UwRkVFNEVFNDIwQTkwN0ZFRUUwNzUxNTAwRjVCMQotOjEwMDI0NzAwMTZBM0UwRkVFNEVFNDIxNUU1MTY0NTE1NjAzMEU0OTA4RQotOjEwMDI1NzAwN0ZDNUYwOTA3RkI0RTAyMEUzRjk5MDdGQzVFMEY1MEMwRgotOjEwMDI2NzAwMTIwMzJCQUYwQzdFMDBFRjI1MEJGNTBCRUUzNTBBRjVDRAotOjBGMDI3NzAwMEFDM0U1MTY5RkY1MTZFNTE1OUVGNTE1ODBDQUMzNTcKLTowMTAyODYwMDIyNTUKLToxMDAzQTkwMEMwRTBDMDgzQzA4MkQyMjA1MzkxRUY5MDdGQUI3NDAxMkIKLTowODAzQjkwMEYwRDA4MkQwODNEMEUwMzJDNQotOjEwMDM4RTAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0ZCMQotOjBCMDM5RTAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMkJBCi06MTAwM0MxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDQ0Ci06MDYwM0QxMDA4MkQwODNEMEUwMzI2RgotOjEwMDNENzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDAyMAotOjA2MDNFNzAwODJEMDgzRDBFMDMyNTkKLTowMTAzRkUwMDMyQ0MKLToxMDA0NTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDhGMEQwQTYKLTowNjA0NjgwMDgyRDA4M0QwRTAzMkQ3Ci06MDEwM0ZGMDAzMkNCCi06MDEwNDg0MDAzMjQ1Ci06MDEwNDg1MDAzMjQ0Ci06MDEwNDg2MDAzMjQzCi06MDEwNDg3MDAzMjQyCi06MDEwNDg4MDAzMjQxCi06MDEwNDg5MDAzMjQwCi06MDEwNDhBMDAzMjNGCi06MDEwNDhCMDAzMjNFCi06MDEwNDhDMDAzMjNECi06MDEwNDhEMDAzMjNDCi06MDEwNDhFMDAzMjNCCi06MDEwNDhGMDAzMjNBCi06MDEwNDkwMDAzMjM5Ci06MDEwNDkxMDAzMjM4Ci06MDEwNDkyMDAzMjM3Ci06MDQwNDdGMDAwMjE3MDAwMDYwCi06MTAwMTAwMDBFNEZGRkVDMjIwRDJFODQzRDgyMDkwN0ZBQjc0RkZGMDFBCi06MTAwMTEwMDA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3Rjk1NzRDMEUzCi06MTAwMTIwMDBGMDkwN0Y5RUYwOTA3Rjk4RjBFNDkwN0Y5NEYwOTA3RjI1Ci06MTAwMTMwMDA5RDc0RkZGMDkwN0Y5Nzc0QTBGMDkwN0Y5M0UwNTRGQzQzCi06MTAwMTQwMDBGMDkwN0Y5Qzc0MDNGMEU0OTA3Rjk2RjA5MDdGQUZFMDk2Ci06MTAwMTUwMDA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUYwRkJGMDAwMTNDCi06MTAwMTYwMDAwRUJFMDdGOEJGMDhGNTIwMjA0Mjc1MTQwMDc1MTMwMDc1Ci06MTAwMTcwMDA3NTEyMDA3NTExMDA3RjQ4N0U5MjdEMDA3QzAwQUIxNEUzCi06MTAwMTgwMDBBQTEzQTkxMkE4MTFDMzEyMDNFRDUwREIyMDIwRDg3QUJDCi06MTAwMTkwMDAwMDc5MDA3ODAwRTUxNDI0MDFGNTE0RUEzNTEzRjUxMzBECi06MTAwMUEwMDBFOTM1MTJGNTEyRTgzNTExRjUxMTgwQ0EzMDIwRkQxMjNCCi06MTAwMUIwMDAwMUM3NTAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDYxCi06MDYwMUMwMDAwMkYwQzIyMDgwRTZGRgotOjAxMDFDNjAwMjIxNgotOjEwMTEwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgwMTAxMDAwMTAxMDIwMwotOjEwMTExMDAwMDAwMTA5MDIyMDAwMDEwMTAzQTAwMDA5MDQwMDAwMDJFRgotOjEwMTEyMDAwRkYwMDAwMDQwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDA5QwotOjEwMTEzMDAwMDAwMDA0MDMwOTA0MjYwMzQxMDA2RTAwNjMwMDY4MDBGOAotOjEwMTE0MDAwNkYwMDcyMDAyMDAwNDMwMDY4MDA2OTAwNzAwMDczMDBBNwotOjEwMTE1MDAwMkMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMjgwMzQ2MDA4QQotOjEwMTE2MDAwNjkwMDcyMDA2RDAwNzcwMDYxMDA3MjAwNjUwMDIwMDA2OAotOjEwMTE3MDAwNDYwMDcyMDA2MTAwNkQwMDY1MDA1NzAwNkYwMDcyMDA0QwotOjEwMTE4MDAwNkIwMDczMDAyQTAzNDMwMDZGMDA2RTAwNjYwMDY5MDA2NQotOjEwMTE5MDAwNjcwMDc1MDA3MjAwNjEwMDc0MDA2OTAwNkYwMDZFMDBFNgotOjEwMTFBMDAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIyMDM4MwotOjEwMTFCMDAwNDkwMDZFMDA3NDAwNjUwMDcyMDA2NjAwNjEwMDYzMDAwMwotOjEwMTFDMDAwNjUwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMwotOjAyMTFEMDAwMDAwMDFECi06MTAwMzEzMDBFNTBDRkZFNTBCRjU4MkU1MEFGNTgzNzU5MjdFNzRDMDYzCi06MDgwMzIzMDBGOEUyMDhGMEEzREZGQTIyNjIKLToxMDAzMkIwMDkwN0Y5Njg1ODM5MkE4ODI3OTAyOTAwMDAwRTBCNDAwQkEKLToxMDAzM0IwMDBENzQwMUYwOTA3Rjk3RTA1NDdGRjA0NDgwRjBFNTBDNTIKLToxMDAzNEIwMEZGOTA3RUMwRTBGNTI4RTRBMjQ3MzNGMjY5RjJFNEEyMDUKLToxMDAzNUIwMDQ2MzNGMjY5RjJFNEEyNDUzM0YyNjlGMkU0QTI0NDMzODQKLToxMDAzNkIwMEYyNjlGMkU0QTI0MzMzRjI2OUYyRTRBMjQyMzNGMjY5OTYKLToxMDAzN0IwMEYyRTRBMjQxMzNGMjY5RjJFNEEyNDAzM0YyNjlGMkEzNTAKLTowMzAzOEIwMERGQzIyMkFDCi06MDMwMDQzMDAwMjA0MDBCNAotOjEwMDQwMDAwMDIwM0E5MDAwMjAzQzEwMDAyMDM4RTAwMDIwNDU4MDA4NwotOjEwMDQxMDAwMDIwM0Q3MDAwMjAzRkUwMDAyMDNGRjAwMDIwNDg0MDA2RgotOjEwMDQyMDAwMDIwNDg1MDAwMjA0ODYwMDAyMDQ4NzAwMDIwNDg4MDA5QQotOjEwMDQzMDAwMDIwNDg5MDAwMjA0OEEwMDAyMDQ4QjAwMDIwNDhDMDA3QQotOjEwMDQ0MDAwMDIwNDhEMDAwMjA0OEUwMDAyMDQ4RjAwMDIwNDkwMDA1QQotOjA4MDQ1MDAwMDIwNDkxMDAwMjA0OTIwMDc1Ci06MDMwMDAwMDAwMjAyODc3MgotOjBDMDI4NzAwNzg3RkU0RjZEOEZENzU4MTI5MDIwMkNFRDQKLToxMDAzRUQwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwNjYKLTowMTAzRkQwMDIyREQKLToxMDAyOTMwMDAyMDEwMEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyODAKLToxMDAyQTMwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNkMKLToxMDAyQjMwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGM0IKLToxMDAyQzMwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDA0NkVFNDdFNTkKLToxMDAyRDMwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMzAKLToxMDAyRTMwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRjcKLToxMDAyRjMwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMjIKLToxMDAzMDMwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDkKLTowMTA0ODMwMDAwNzgKLTowMDAwMDAwMUZGCi0qLwotLyoKLVZFUlNJT049MS4wLjIuMDAyCi1EQVRFPTEwLjAxLjIwMDIKLUVNSTI2XzYyCi0qLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbWlzYy9pc2lnaHRfZmlybXdhcmUuYyBiL2RyaXZlcnMvdXNiL21pc2MvaXNpZ2h0X2Zpcm13YXJlLmMKaW5kZXggOWYzMGFhMS4uZDk0YWE3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbWlzYy9pc2lnaHRfZmlybXdhcmUuYworKysgYi9kcml2ZXJzL3VzYi9taXNjL2lzaWdodF9maXJtd2FyZS5jCkBAIC00MSw3ICs0MSw3IEBACiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmaXJtd2FyZTsKIAl1bnNpZ25lZCBjaGFyICpidWYgPSBrbWFsbG9jKDUwLCBHRlBfS0VSTkVMKTsKIAl1bnNpZ25lZCBjaGFyIGRhdGFbNF07Ci0JdTggKnB0cjsKKwljb25zdCB1OCAqcHRyOwogCiAJaWYgKCFidWYpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbW9uL21vbl9iaW4uYyBiL2RyaXZlcnMvdXNiL21vbi9tb25fYmluLmMKaW5kZXggNDkxNDU1My4uMjkzYTQ2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbW9uL21vbl9iaW4uYworKysgYi9kcml2ZXJzL3VzYi9tb24vbW9uX2Jpbi5jCkBAIC0xNSw2ICsxNSw3IEBACiAjaW5jbHVkZSA8bGludXgvcG9sbC5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBhdC5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KIAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAKQEAgLTUyNywxNCArNTI4LDE3IEBACiAJc2l6ZV90IHNpemU7CiAJaW50IHJjOwogCisJbG9ja19rZXJuZWwoKTsKIAltdXRleF9sb2NrKCZtb25fbG9jayk7CiAJaWYgKChtYnVzID0gbW9uX2J1c19sb29rdXAoaW1pbm9yKGlub2RlKSkpID09IE5VTEwpIHsKIAkJbXV0ZXhfdW5sb2NrKCZtb25fbG9jayk7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCWlmIChtYnVzICE9ICZtb25fYnVzMCAmJiBtYnVzLT51X2J1cyA9PSBOVUxMKSB7CiAJCXByaW50ayhLRVJOX0VSUiBUQUcgIjogY29uc2lzdGVuY3kgZXJyb3Igb24gb3BlblxuIik7CiAJCW11dGV4X3VubG9jaygmbW9uX2xvY2spOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiAtRU5PREVWOwogCX0KIApAQCAtNTY4LDYgKzU3Miw3IEBACiAKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBycDsKIAltdXRleF91bmxvY2soJm1vbl9sb2NrKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIDA7CiAKIGVycl9hbGxvY2J1ZmY6CkBAIC01NzYsNiArNTgxLDcgQEAKIAlrZnJlZShycCk7CiBlcnJfYWxsb2M6CiAJbXV0ZXhfdW5sb2NrKCZtb25fbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiByYzsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL0tjb25maWcgYi9kcml2ZXJzL3VzYi9zZXJpYWwvS2NvbmZpZwppbmRleCA5YmE2NGNjLi45YTc2ODFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvS2NvbmZpZworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvS2NvbmZpZwpAQCAtMzA0LDE5ICszMDQsMTkgQEAKIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9NUFIKIAlib29sICJVU0IgS2V5c3BhbiBNUFIgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBLZXlzcGFuIE1QUiBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjgKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMjggRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMjggY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WAogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0yOFggRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMjhYIGNvbnZlcnRlci4KIAkgIEJlIHN1cmUgeW91IGhhdmUgYSBVU0EtMjhYLCB0aGVyZSBhcmUgYWxzbyAyOFhBIGFuZCAyOFhCCkBAIC0zMjQsNyArMzI0LDcgQEAKIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhBCiAJYm9vbCAiVVNCIEtleXNwYW4gVVNBLTI4WEEgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMjhYQSBjb252ZXJ0ZXIuCiAJICBCZSBzdXJlIHlvdSBoYXZlIGEgVVNBLTI4WEEsIHRoZXJlIGFyZSBhbHNvIDI4WCBhbmQgMjhYQgpAQCAtMzMyLDcgKzMzMiw3IEBACiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQgogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0yOFhCIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTI4WEIgY29udmVydGVyLgogCSAgQmUgc3VyZSB5b3UgaGF2ZSBhIFVTQS0yOFhCLCB0aGVyZSBhcmUgYWxzbyAyOFggYW5kIDI4WEEKQEAgLTM0MCw0MyArMzQwLDQzIEBACiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTkKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMTkgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMTkgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE4WAogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOFggRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtMThYIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVcKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMTlXIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE5VyBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRVwogCWJvb2wgIlVTQiBLZXlzcGFuIFVTQS0xOVFXIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTE5UVcgY29udmVydGVyLgogCiBjb25maWcgVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5UUkKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtMTlRSSBGaXJtd2FyZSIKLQlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTgorCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOICYmIEZJUk1XQVJFX0lOX0tFUk5FTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBmaXJtd2FyZSBmb3IgdGhlIFVTQS0xOVFJIGNvbnZlcnRlci4KIAogY29uZmlnIFVTQl9TRVJJQUxfS0VZU1BBTl9VU0E0OVcKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtNDlXIEZpcm13YXJlIgotCWRlcGVuZHMgb24gVVNCX1NFUklBTF9LRVlTUEFOCisJZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4gJiYgRklSTVdBUkVfSU5fS0VSTkVMCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIGZpcm13YXJlIGZvciB0aGUgVVNBLTQ5VyBjb252ZXJ0ZXIuCiAKIGNvbmZpZyBVU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXTEMKIAlib29sICJVU0IgS2V5c3BhbiBVU0EtNDlXTEMgRmlybXdhcmUiCi0JZGVwZW5kcyBvbiBVU0JfU0VSSUFMX0tFWVNQQU4KKwlkZXBlbmRzIG9uIFVTQl9TRVJJQUxfS0VZU1BBTiAmJiBGSVJNV0FSRV9JTl9LRVJORUwKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgZmlybXdhcmUgZm9yIHRoZSBVU0EtNDlXTEMgY29udmVydGVyLgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCmluZGV4IDA2YjUyZjQuLjJmZDQ0OWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCkBAIC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC93YWl0Lmg+CisjaW5jbHVkZSA8bGludXgvZmlybXdhcmUuaD4KKyNpbmNsdWRlIDxsaW51eC9paGV4Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+CkBAIC01NiwyNiArNTgsNiBAQAogI2RlZmluZSBEUklWRVJfQVVUSE9SICJHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdAa3JvYWguY29tPiBhbmQgRGF2aWQgSWFjb3ZlbGxpIgogI2RlZmluZSBEUklWRVJfREVTQyAiRWRnZXBvcnQgVVNCIFNlcmlhbCBEcml2ZXIiCiAKLS8qIEZpcnN0LCB0aGUgbGF0ZXN0IGJvb3QgY29kZSAtIGZvciBmaXJzdCBnZW5lcmF0aW9uIGVkZ2Vwb3J0cyAqLwotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCUJvb3RDb2RlSW1hZ2VfR0VOMQotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJQm9vdENvZGVJbWFnZVZlcnNpb25fR0VOMQotI2luY2x1ZGUgImlvX2Z3X2Jvb3QuaCIJCS8qIHRoZSBib290bG9hZGVyIGZpcm13YXJlIHRvIGRvd25sb2FkIHRvIGEgZGV2aWNlLCBpZiBpdCBuZWVkcyBpdCAqLwotCi0vKiBmb3Igc2Vjb25kIGdlbmVyYXRpb24gZWRnZXBvcnRzICovCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJQm9vdENvZGVJbWFnZV9HRU4yCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlCb290Q29kZUltYWdlVmVyc2lvbl9HRU4yCi0jaW5jbHVkZSAiaW9fZndfYm9vdDIuaCIJLyogdGhlIGJvb3Rsb2FkZXIgZmlybXdhcmUgdG8gZG93bmxvYWQgdG8gYSBkZXZpY2UsIGlmIGl0IG5lZWRzIGl0ICovCi0KLS8qIFRoZW4gZmluYWxseSB0aGUgbWFpbiBydW4tdGltZSBvcGVyYXRpb25hbCBjb2RlIC0gZm9yIGZpcnN0IGdlbmVyYXRpb24gZWRnZXBvcnRzICovCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMQotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEKLSNpbmNsdWRlICJpb19md19kb3duLmgiCQkvKiBEZWZpbmUgYXJyYXkgT3BlcmF0aW9uYWxDb2RlSW1hZ2VbXSAqLwotCi0vKiBmb3Igc2Vjb25kIGdlbmVyYXRpb24gZWRnZXBvcnRzICovCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMgotI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIKLSNpbmNsdWRlICJpb19md19kb3duMi5oIgkvKiBEZWZpbmUgYXJyYXkgT3BlcmF0aW9uYWxDb2RlSW1hZ2VbXSAqLwotCiAjZGVmaW5lIE1BWF9OQU1FX0xFTgkJNjQKIAogI2RlZmluZSBDSEFTRV9USU1FT1VUCQkoNSpIWikJCS8qIDUgc2Vjb25kcyAqLwpAQCAtMjU2LDkgKzIzOCw5IEBACiBzdGF0aWMgaW50ICB3cml0ZV9jbWRfdXNiCQkoc3RydWN0IGVkZ2Vwb3J0X3BvcnQgKmVkZ2VfcG9ydCwgdW5zaWduZWQgY2hhciAqYnVmZmVyLCBpbnQgd3JpdGVMZW5ndGgpOwogc3RhdGljIHZvaWQgc2VuZF9tb3JlX3BvcnRfZGF0YQkJKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsLCBzdHJ1Y3QgZWRnZXBvcnRfcG9ydCAqZWRnZV9wb3J0KTsKIAotc3RhdGljIGludCAgc3JhbV93cml0ZQkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpOworc3RhdGljIGludCAgc3JhbV93cml0ZQkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIGNvbnN0IF9fdTggKmRhdGEpOwogc3RhdGljIGludCAgcm9tX3JlYWQJCQkoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKTsKLXN0YXRpYyBpbnQgIHJvbV93cml0ZQkJCShzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpOworc3RhdGljIGludCAgcm9tX3dyaXRlCQkJKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIF9fdTE2IGV4dEFkZHIsIF9fdTE2IGFkZHIsIF9fdTE2IGxlbmd0aCwgY29uc3QgX191OCAqZGF0YSk7CiBzdGF0aWMgdm9pZCBnZXRfbWFudWZhY3R1cmluZ19kZXNjCShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCk7CiBzdGF0aWMgdm9pZCBnZXRfYm9vdF9kZXNjCQkoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwpOwogc3RhdGljIHZvaWQgbG9hZF9hcHBsaWNhdGlvbl9maXJtd2FyZQkoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwpOwpAQCAtMjgzLDM3ICsyNjUsNDEgQEAKIHsKIAlfX3UzMiBCb290Q3VyVmVyOwogCV9fdTMyIEJvb3ROZXdWZXI7Ci0JX191OCBCb290TWFqb3JWZXJzaW9uOyAgICAgICAgICAgICAgICAgIAotCV9fdTggQm9vdE1pbm9yVmVyc2lvbjsgICAgICAgICAgICAgICAgICAKLQlfX2xlMTYgQm9vdEJ1aWxkTnVtYmVyOwotCV9fdTggKkJvb3RJbWFnZTsgICAgICAKLQlfX3UzMiBCb290U2l6ZTsKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgKnJlY29yZDsKLQl1bnNpZ25lZCBjaGFyICpmaXJtd2FyZTsKKwlfX3U4IEJvb3RNYWpvclZlcnNpb247CisJX191OCBCb290TWlub3JWZXJzaW9uOworCV9fdTE2IEJvb3RCdWlsZE51bWJlcjsKKwlfX3UzMiBCb290YWRkcjsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgKmZ3X25hbWU7CiAJaW50IHJlc3BvbnNlOwogCi0KIAlzd2l0Y2ggKGVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uaURvd25sb2FkRmlsZSkgewogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV9JOTMwOgotCQkJQm9vdE1ham9yVmVyc2lvbgk9IEJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWFqb3JWZXJzaW9uOwotCQkJQm9vdE1pbm9yVmVyc2lvbgk9IEJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuTWlub3JWZXJzaW9uOwotCQkJQm9vdEJ1aWxkTnVtYmVyCQk9IGNwdV90b19sZTE2KEJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuQnVpbGROdW1iZXIpOwotCQkJQm9vdEltYWdlCQk9ICZCb290Q29kZUltYWdlX0dFTjFbMF07Ci0JCQlCb290U2l6ZQkJPSBzaXplb2YoIEJvb3RDb2RlSW1hZ2VfR0VOMSApOworCQkJZndfbmFtZQk9ICJlZGdlcG9ydC9ib290LmZ3IjsKIAkJCWJyZWFrOwogCiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFXzgwMjUxOgotCQkJQm9vdE1ham9yVmVyc2lvbgk9IEJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWFqb3JWZXJzaW9uOwotCQkJQm9vdE1pbm9yVmVyc2lvbgk9IEJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWlub3JWZXJzaW9uOwotCQkJQm9vdEJ1aWxkTnVtYmVyCQk9IGNwdV90b19sZTE2KEJvb3RDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuQnVpbGROdW1iZXIpOwotCQkJQm9vdEltYWdlCQk9ICZCb290Q29kZUltYWdlX0dFTjJbMF07Ci0JCQlCb290U2l6ZQkJPSBzaXplb2YoIEJvb3RDb2RlSW1hZ2VfR0VOMiApOworCQkJZndfbmFtZQk9ICJlZGdlcG9ydC9ib290Mi5mdyI7CiAJCQlicmVhazsKIAogCQlkZWZhdWx0OgogCQkJcmV0dXJuOwogCX0KIAorCXJlc3BvbnNlID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgZndfbmFtZSwKKwkJCQkJICZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldik7CisJaWYgKHJlc3BvbnNlKSB7CisJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGxvYWQgaW1hZ2UgXCIlc1wiIGVyciAlZFxuIiwKKwkJICAgICAgIGZ3X25hbWUsIHJlc3BvbnNlKTsKKwkJcmV0dXJuOworCX0KKworCXJlYyA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmdy0+ZGF0YTsKKwlCb290TWFqb3JWZXJzaW9uID0gcmVjLT5kYXRhWzBdOworCUJvb3RNaW5vclZlcnNpb24gPSByZWMtPmRhdGFbMV07CisJQm9vdEJ1aWxkTnVtYmVyID0gKHJlYy0+ZGF0YVsyXSA8PCA4KSB8IHJlYy0+ZGF0YVszXTsKKwogCS8vIENoZWNrIEJvb3QgSW1hZ2UgVmVyc2lvbgogCUJvb3RDdXJWZXIgPSAoZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NYWpvclZlcnNpb24gPDwgMjQpICsKIAkJICAgICAoZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NaW5vclZlcnNpb24gPDwgMTYpICsKQEAgLTMyMSw3ICszMDcsNyBAQAogCiAJQm9vdE5ld1ZlciA9IChCb290TWFqb3JWZXJzaW9uIDw8IDI0KSArCiAJCSAgICAgKEJvb3RNaW5vclZlcnNpb24gPDwgMTYpICsKLQkJICAgICAgbGUxNl90b19jcHUoQm9vdEJ1aWxkTnVtYmVyKTsKKwkJICAgICAgQm9vdEJ1aWxkTnVtYmVyOwogCiAJZGJnKCJDdXJyZW50IEJvb3QgSW1hZ2UgdmVyc2lvbiAlZC4lZC4lZCIsCiAJICAgIGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWFqb3JWZXJzaW9uLApAQCAtMzM0LDMwICszMjAsMzAgQEAKIAkJICAgIGVkZ2Vfc2VyaWFsLT5ib290X2Rlc2NyaXB0b3IuTWFqb3JWZXJzaW9uLAogCQkgICAgZWRnZV9zZXJpYWwtPmJvb3RfZGVzY3JpcHRvci5NaW5vclZlcnNpb24sCiAJCSAgICBsZTE2X3RvX2NwdShlZGdlX3NlcmlhbC0+Ym9vdF9kZXNjcmlwdG9yLkJ1aWxkTnVtYmVyKSwKLQkJICAgIEJvb3RNYWpvclZlcnNpb24sCi0JCSAgICBCb290TWlub3JWZXJzaW9uLAotCQkgICAgbGUxNl90b19jcHUoQm9vdEJ1aWxkTnVtYmVyKSk7Ci0KKwkJICAgIEJvb3RNYWpvclZlcnNpb24sIEJvb3RNaW5vclZlcnNpb24sIEJvb3RCdWlsZE51bWJlcik7CiAKIAkJZGJnKCJEb3dubG9hZGluZyBuZXcgQm9vdCBJbWFnZSIpOwogCi0JCWZpcm13YXJlID0gQm9vdEltYWdlOwotCi0JCWZvciAoOzspIHsKLQkJCXJlY29yZCA9IChzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgKilmaXJtd2FyZTsKLQkJCXJlc3BvbnNlID0gcm9tX3dyaXRlIChlZGdlX3NlcmlhbC0+c2VyaWFsLCBsZTE2X3RvX2NwdShyZWNvcmQtPkV4dEFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkFkZHIpLCBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbiksICZyZWNvcmQtPkRhdGFbMF0pOworCQlmb3IgKHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKTsgcmVjOworCQkgICAgIHJlYyA9IGloZXhfbmV4dF9iaW5yZWMocmVjKSkgeworCQkJQm9vdGFkZHIgPSBiZTMyX3RvX2NwdShyZWMtPmFkZHIpOworCQkJcmVzcG9uc2UgPSByb21fd3JpdGUoZWRnZV9zZXJpYWwtPnNlcmlhbCwKKwkJCQkJICAgICBCb290YWRkciA+PiAxNiwKKwkJCQkJICAgICBCb290YWRkciAmIDB4RkZGRiwKKwkJCQkJICAgICBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJCSAgICAgJnJlYy0+ZGF0YVswXSk7CiAJCQlpZiAocmVzcG9uc2UgPCAwKSB7Ci0JCQkJZGV2X2VycigmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYsICJyb21fd3JpdGUgZmFpbGVkICgleCwgJXgsICVkKVxuIiwgbGUxNl90b19jcHUocmVjb3JkLT5FeHRBZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5BZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pKTsKLQkJCQlicmVhazsKLQkJCX0KLQkJCWZpcm13YXJlICs9IHNpemVvZiAoc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkKSArIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKTsKLQkJCWlmIChmaXJtd2FyZSA+PSAmQm9vdEltYWdlW0Jvb3RTaXplXSkgeworCQkJCWRldl9lcnIoJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2LAorCQkJCQkicm9tX3dyaXRlIGZhaWxlZCAoJXgsICV4LCAlZClcbiIsCisJCQkJCUJvb3RhZGRyID4+IDE2LCBCb290YWRkciAmIDB4RkZGRiwKKwkJCQkJYmUxNl90b19jcHUocmVjLT5sZW4pKTsKIAkJCQlicmVhazsKIAkJCX0KIAkJfQogCX0gZWxzZSB7CiAJCWRiZygiQm9vdCBJbWFnZSAtLSBhbHJlYWR5IHVwIHRvIGRhdGUiKTsKIAl9CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiB9CiAKIApAQCAtNDQ3LDkgKzQzMyw2IEBACiAJZGJnKCIgIEJvb3RNYWpvclZlcnNpb24gICAgICAlZC4lZC4lZCIsIHByb2R1Y3RfaW5mby0+Qm9vdE1ham9yVmVyc2lvbiwKIAkgICAgcHJvZHVjdF9pbmZvLT5Cb290TWlub3JWZXJzaW9uLAogCSAgICBsZTE2X3RvX2NwdShwcm9kdWN0X2luZm8tPkJvb3RCdWlsZE51bWJlcikpOwotCWRiZygiICBGaXJtd2FyZU1ham9yVmVyc2lvbiAgJWQuJWQuJWQiLCBwcm9kdWN0X2luZm8tPkZpcm13YXJlTWFqb3JWZXJzaW9uLAotCSAgICBwcm9kdWN0X2luZm8tPkZpcm13YXJlTWlub3JWZXJzaW9uLAotCSAgICBsZTE2X3RvX2NwdShwcm9kdWN0X2luZm8tPkZpcm13YXJlQnVpbGROdW1iZXIpKTsKIAlkYmcoIiAgTWFudWZhY3R1cmVEZXNjRGF0ZSAgICVkLyVkLyVkIiwgcHJvZHVjdF9pbmZvLT5NYW51ZmFjdHVyZURlc2NEYXRlWzBdLAogCSAgICBwcm9kdWN0X2luZm8tPk1hbnVmYWN0dXJlRGVzY0RhdGVbMV0sCiAJICAgIHByb2R1Y3RfaW5mby0+TWFudWZhY3R1cmVEZXNjRGF0ZVsyXSsxOTAwKTsKQEAgLTQ4MCwxNCArNDYzLDggQEAKIAogCS8vIGNoZWNrIGlmIHRoaXMgaXMgMm5kIGdlbmVyYXRpb24gaGFyZHdhcmUKIAlpZiAobGUxNl90b19jcHUoZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkUHJvZHVjdCkgJiBJT05fREVWSUNFX0lEXzgwMjUxX05FVENISVApIHsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1ham9yVmVyc2lvbgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLk1ham9yVmVyc2lvbjsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZU1pbm9yVmVyc2lvbgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLk1pbm9yVmVyc2lvbjsKLQkJcHJvZHVjdF9pbmZvLT5GaXJtd2FyZUJ1aWxkTnVtYmVyCT0gY3B1X3RvX2xlMTYoT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuQnVpbGROdW1iZXIpOwogCQlwcm9kdWN0X2luZm8tPmlEb3dubG9hZEZpbGUJCT0gRURHRV9ET1dOTE9BRF9GSUxFXzgwMjUxOwogCX0gZWxzZSB7Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVNYWpvclZlcnNpb24JPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5NYWpvclZlcnNpb247Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVNaW5vclZlcnNpb24JPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5NaW5vclZlcnNpb247Ci0JCXByb2R1Y3RfaW5mby0+RmlybXdhcmVCdWlsZE51bWJlcgk9IGNwdV90b19sZTE2KE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLkJ1aWxkTnVtYmVyKTsKIAkJcHJvZHVjdF9pbmZvLT5pRG93bmxvYWRGaWxlCQk9IEVER0VfRE9XTkxPQURfRklMRV9JOTMwOwogCX0KIApAQCAtMjEzMCw3ICsyMTA3LDcgQEAKICAqCUlmIHN1Y2Nlc3NmdWwgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4sIG90aGVyd2lzZSBpdCByZXR1cm5zCiAgKglhIG5lZ2F0aXZlIGVycm9yIG51bWJlciBvZiB0aGUgcHJvYmxlbS4KICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIGludCBzcmFtX3dyaXRlIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBfX3UxNiBleHRBZGRyLCBfX3UxNiBhZGRyLCBfX3UxNiBsZW5ndGgsIF9fdTggKmRhdGEpCitzdGF0aWMgaW50IHNyYW1fd3JpdGUoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBjb25zdCBfX3U4ICpkYXRhKQogewogCWludCByZXN1bHQ7CiAJX191MTYgY3VycmVudF9sZW5ndGg7CkBAIC0yMTc1LDcgKzIxNTIsNyBAQAogICoJSWYgc3VjY2Vzc2Z1bCByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbiwgb3RoZXJ3aXNlIGl0IHJldHVybnMKICAqCWEgbmVnYXRpdmUgZXJyb3IgbnVtYmVyIG9mIHRoZSBwcm9ibGVtLgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgaW50IHJvbV93cml0ZSAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBfX3U4ICpkYXRhKQorc3RhdGljIGludCByb21fd3JpdGUoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgX191MTYgZXh0QWRkciwgX191MTYgYWRkciwgX191MTYgbGVuZ3RoLCBjb25zdCBfX3U4ICpkYXRhKQogewogCWludCByZXN1bHQ7CiAJX191MTYgY3VycmVudF9sZW5ndGg7CkBAIC0yNzYxLDMyICsyNzM4LDIzIEBACiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIHN0YXRpYyB2b2lkIGxvYWRfYXBwbGljYXRpb25fZmlybXdhcmUgKHN0cnVjdCBlZGdlcG9ydF9zZXJpYWwgKmVkZ2Vfc2VyaWFsKQogewotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCAqcmVjb3JkOwotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlOwotCXVuc2lnbmVkIGNoYXIgKkZpcm13YXJlSW1hZ2U7Ci0JaW50IEltYWdlU2l6ZTsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlYzsKKwljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgKmZ3X25hbWU7CisJY29uc3QgY2hhciAqZndfaW5mbzsKIAlpbnQgcmVzcG9uc2U7Ci0KKwlfX3UzMiBPcGVyYWRkcjsKKwlfX3UxNiBidWlsZDsKIAogCXN3aXRjaCAoZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5pRG93bmxvYWRGaWxlKSB7CiAJCWNhc2UgRURHRV9ET1dOTE9BRF9GSUxFX0k5MzA6Ci0JCQlkYmcoImRvd25sb2FkaW5nIGZpcm13YXJlIHZlcnNpb24gKDkzMCkgJWQuJWQuJWQiLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMS5NYWpvclZlcnNpb24sIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4xLk1pbm9yVmVyc2lvbiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjEuQnVpbGROdW1iZXIpOwotCQkJZmlybXdhcmUgPSAmT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMVswXTsKLQkJCUZpcm13YXJlSW1hZ2UgPSAmT3BlcmF0aW9uYWxDb2RlSW1hZ2VfR0VOMVswXTsKLQkJCUltYWdlU2l6ZSA9IHNpemVvZihPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4xKTsKKwkJCWZ3X2luZm8gPSAiZG93bmxvYWRpbmcgZmlybXdhcmUgdmVyc2lvbiAoOTMwKSI7CisJCQlmd19uYW1lCT0gImVkZ2Vwb3J0L2Rvd24uZnciOwogCQkJYnJlYWs7CiAKIAkJY2FzZSBFREdFX0RPV05MT0FEX0ZJTEVfODAyNTE6Ci0JCQlkYmcoImRvd25sb2FkaW5nIGZpcm13YXJlIHZlcnNpb24gKDgwMjUxKSAlZC4lZC4lZCIsIAotCQkJICAgIE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbl9HRU4yLk1ham9yVmVyc2lvbiwgCi0JCQkgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uX0dFTjIuTWlub3JWZXJzaW9uLCAKLQkJCSAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb25fR0VOMi5CdWlsZE51bWJlcik7Ci0JCQlmaXJtd2FyZSA9ICZPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4yWzBdOwotCQkJRmlybXdhcmVJbWFnZSA9ICZPcGVyYXRpb25hbENvZGVJbWFnZV9HRU4yWzBdOwotCQkJSW1hZ2VTaXplID0gc2l6ZW9mKE9wZXJhdGlvbmFsQ29kZUltYWdlX0dFTjIpOworCQkJZndfaW5mbyA9ICJkb3dubG9hZGluZyBmaXJtd2FyZSB2ZXJzaW9uICg4MDI1MSkiOworCQkJZndfbmFtZQk9ICJlZGdlcG9ydC9kb3duMi5mdyI7CiAJCQlicmVhazsKIAogCQljYXNlIEVER0VfRE9XTkxPQURfRklMRV9OT05FOgpAQCAtMjc5NywxNiArMjc2NSwzNiBAQAogCQkJcmV0dXJuOwogCX0KIAorCXJlc3BvbnNlID0gcmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmdywgZndfbmFtZSwKKwkJCQkgICAgJmVkZ2Vfc2VyaWFsLT5zZXJpYWwtPmRldi0+ZGV2KTsKKwlpZiAocmVzcG9uc2UpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkgICAgICAgZndfbmFtZSwgcmVzcG9uc2UpOworCQlyZXR1cm47CisJfQogCi0JZm9yICg7OykgewotCQlyZWNvcmQgPSAoc3RydWN0IGVkZ2VfZmlybXdhcmVfaW1hZ2VfcmVjb3JkICopZmlybXdhcmU7Ci0JCXJlc3BvbnNlID0gc3JhbV93cml0ZSAoZWRnZV9zZXJpYWwtPnNlcmlhbCwgbGUxNl90b19jcHUocmVjb3JkLT5FeHRBZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5BZGRyKSwgbGUxNl90b19jcHUocmVjb3JkLT5MZW4pLCAmcmVjb3JkLT5EYXRhWzBdKTsKKwlyZWMgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZnctPmRhdGE7CisJYnVpbGQgPSAocmVjLT5kYXRhWzJdIDw8IDgpIHwgcmVjLT5kYXRhWzNdOworCisJZGJnKCIlcyAlZC4lZC4lZCIsIGZ3X2luZm8sIHJlYy0+ZGF0YVswXSwgcmVjLT5kYXRhWzFdLCBidWlsZCk7CisKKwllZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlTWFqb3JWZXJzaW9uID0gZnctPmRhdGFbMF07CisJZWRnZV9zZXJpYWwtPnByb2R1Y3RfaW5mby5GaXJtd2FyZU1pbm9yVmVyc2lvbiA9IGZ3LT5kYXRhWzFdOworCWVkZ2Vfc2VyaWFsLT5wcm9kdWN0X2luZm8uRmlybXdhcmVCdWlsZE51bWJlciA9IGNwdV90b19sZTE2KGJ1aWxkKTsKKworCWZvciAocmVjID0gaWhleF9uZXh0X2JpbnJlYyhyZWMpOyByZWM7CisJICAgICByZWMgPSBpaGV4X25leHRfYmlucmVjKHJlYykpIHsKKwkJT3BlcmFkZHIgPSBiZTMyX3RvX2NwdShyZWMtPmFkZHIpOworCQlyZXNwb25zZSA9IHNyYW1fd3JpdGUoZWRnZV9zZXJpYWwtPnNlcmlhbCwKKwkJCQkgICAgIE9wZXJhZGRyID4+IDE2LAorCQkJCSAgICAgT3BlcmFkZHIgJiAweEZGRkYsCisJCQkJICAgICBiZTE2X3RvX2NwdShyZWMtPmxlbiksCisJCQkJICAgICAmcmVjLT5kYXRhWzBdKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewotCQkJZGV2X2VycigmZWRnZV9zZXJpYWwtPnNlcmlhbC0+ZGV2LT5kZXYsICJzcmFtX3dyaXRlIGZhaWxlZCAoJXgsICV4LCAlZClcbiIsIGxlMTZfdG9fY3B1KHJlY29yZC0+RXh0QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+QWRkciksIGxlMTZfdG9fY3B1KHJlY29yZC0+TGVuKSk7Ci0JCQlicmVhazsKLQkJfQotCQlmaXJtd2FyZSArPSBzaXplb2YgKHN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCkgKyBsZTE2X3RvX2NwdShyZWNvcmQtPkxlbik7Ci0JCWlmIChmaXJtd2FyZSA+PSAmRmlybXdhcmVJbWFnZVtJbWFnZVNpemVdKSB7CisJCQlkZXZfZXJyKCZlZGdlX3NlcmlhbC0+c2VyaWFsLT5kZXYtPmRldiwKKwkJCQkic3JhbV93cml0ZSBmYWlsZWQgKCV4LCAleCwgJWQpXG4iLAorCQkJCU9wZXJhZGRyID4+IDE2LCBPcGVyYWRkciAmIDB4RkZGRiwKKwkJCQliZTE2X3RvX2NwdShyZWMtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KIAl9CkBAIC0yODE3LDYgKzI4MDUsNyBAQAogCQkJCSAgICBVU0JfUkVRVUVTVF9JT05fRVhFQ19ETF9DT0RFLCAKIAkJCQkgICAgMHg0MCwgMHg0MDAwLCAweDAwMDEsIE5VTEwsIDAsIDMwMDApOwogCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJcmV0dXJuOwogfQogCkBAIC0yOTAzLDYgKzI4OTIsMTAgQEAKIC8vCQlkYmcoInNldF9jb25maWd1cmF0aW9uIDEiKTsKIC8vCQl1c2Jfc2V0X2NvbmZpZ3VyYXRpb24gKGRldiwgMSk7CiAJfQorCWRiZygiICBGaXJtd2FyZU1ham9yVmVyc2lvbiAgJWQuJWQuJWQiLAorCSAgICBlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlTWFqb3JWZXJzaW9uLAorCSAgICBlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlTWlub3JWZXJzaW9uLAorCSAgICBsZTE2X3RvX2NwdShlZGdlX3NlcmlhbC0+cHJvZHVjdF9pbmZvLkZpcm13YXJlQnVpbGROdW1iZXIpKTsKIAogCS8qIHdlIHNldCB1cCB0aGUgcG9pbnRlcnMgdG8gdGhlIGVuZHBvaW50cyBpbiB0aGUgZWRnZV9vcGVuIGZ1bmN0aW9uLCAKIAkgKiBhcyB0aGUgc3RydWN0dXJlcyBhcmVuJ3QgY3JlYXRlZCB5ZXQuICovCkBAIC0zMTE1LDYgKzMxMDgsMTAgQEAKIE1PRFVMRV9BVVRIT1IoIERSSVZFUl9BVVRIT1IgKTsKIE1PRFVMRV9ERVNDUklQVElPTiggRFJJVkVSX0RFU0MgKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvYm9vdC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9ib290Mi5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJlZGdlcG9ydC9kb3duLmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImVkZ2Vwb3J0L2Rvd24yLmZ3Iik7CiAKIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkRlYnVnIGVuYWJsZWQgb3Igbm90Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdC5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk5ZmFmYS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfYm9vdC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTU2ICswLDAgQEAKLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLS8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQotLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgotLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgotLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0vLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLS8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0KLQotLy9JbWFnZSBzdHJ1Y3R1cmUgZGVmaW5pdGlvbgotI2lmICFkZWZpbmVkKERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQpCi0jZGVmaW5lIERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgewotCQlfX2xlMTYgRXh0QWRkcjsKLQkJX19sZTE2IEFkZHI7Ci0JCV9fbGUxNiBMZW47Ci0JCXVuc2lnbmVkIGNoYXIgIERhdGFbMF07Ci0JfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gewotCQl1bnNpZ25lZCBjaGFyCSBNYWpvclZlcnNpb247Ci0JCXVuc2lnbmVkIGNoYXIgIE1pbm9yVmVyc2lvbjsKLQkJdW5zaWduZWQgc2hvcnQgQnVpbGROdW1iZXI7Ci0JfTsKLQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChJTUFHRV9BUlJBWV9OQU1FKQotI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCQlGaXJtd2FyZUltYWdlCi0jZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlGaXJtd2FyZUltYWdlVmVyc2lvbgotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IHsKLQotLy8gU2VnbWVudCAjMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwMCwgTGVuZ3RoIDYKLTB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDIsIDB4MDAsIDB4MDMsIAotCi0vLyBTZWdtZW50ICMyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDBiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgwYiwgCi0KLS8vIFNlZ21lbnQgIzMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAxLCAweGI4LCAKLQotLy8gU2VnbWVudCAjNCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAxYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDFiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MWIsIAotCi0vLyBTZWdtZW50ICM1LCBTdGFydCBBZGRyZXNzIDAwZmYwMDIzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MjMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyMywgCi0KLS8vIFNlZ21lbnQgIzYsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMmIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJiLCAKLQotLy8gU2VnbWVudCAjNywgU3RhcnQgQWRkcmVzcyAwMGZmMDAzMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDMzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MzMsIAotCi0vLyBTZWdtZW50ICM4LCBTdGFydCBBZGRyZXNzIDAwZmYwMDNiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4M2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzYiwgCi0KLS8vIFNlZ21lbnQgIzksIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNDMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAxLCAweGJkLCAKLQotLy8gU2VnbWVudCAjMTAsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAxLCAweGQwLCAKLQotLy8gU2VnbWVudCAjMTEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg1MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAxLCAweDIxLCAKLQotLy8gU2VnbWVudCAjMTIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwN2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg3YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDdiLCAKLQotLy8gU2VnbWVudCAjMTMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwODAsIExlbmd0aCAzNTgKLTB4ZmYsMHgwMCwweDgwLDB4MDAsMHg2NiwweDAxLAotICAgIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4N2UsIDB4ZjgsIDB4MDAsIDB4MjMsIDB4N2UsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTAsIAotICAgIDB4MDAsIDB4MTIsIDB4MDcsIDB4NWYsIDB4NjksIDB4MjAsIDB4MDAsIDB4MGEsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NzgsIDB4MDUsIDB4NzUsIDB4OTAsIAotICAgIDB4MGQsIDB4ODAsIDB4MDMsIDB4NzUsIDB4OTAsIDB4MWQsIDB4ZDIsIDB4YjUsIDB4N2UsIDB4MDAsIDB4MDAsIDB4YTUsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4YTgsIAotICAgIDB4MDAsIDB4NzUsIDB4YjEsIDB4MDAsIDB4YTksIDB4ZDUsIDB4ODcsIDB4Y2EsIDB4MjksIDB4MTIsIDB4MDksIDB4Y2MsIDB4MTIsIDB4MDksIDB4YTAsIDB4ZjUsIAotICAgIDB4MDksIDB4N2EsIDB4YTEsIDB4MjAsIDB4MTIsIDB4MDEsIDB4ZTYsIDB4ZGEsIDB4MjksIDB4YTksIDB4ZDAsIDB4YzcsIDB4N2UsIDB4MDAsIDB4MDUsIDB4N2EsIAotICAgIDB4MDEsIDB4ZjEsIDB4NzUsIDB4ZTEsIDB4MTAsIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIDB4ZDcsIDB4ZTQsIDB4YTUsIDB4ZDgsIDB4ZjEsIDB4NzUsIDB4ZjEsIAotICAgIDB4MDAsIDB4NzUsIDB4ZTEsIDB4M2YsIDB4NzUsIDB4YTIsIDB4MDMsIDB4NzUsIDB4YTMsIDB4MDAsIDB4NzUsIDB4YzAsIDB4MDAsIDB4NzUsIDB4YzEsIDB4MDAsIAotICAgIDB4YTksIDB4ZDEsIDB4YjEsIDB4YTksIDB4ZDAsIDB4YjEsIDB4YTksIDB4ZDUsIDB4ZDMsIDB4ZDIsIDB4YWYsIDB4ZTQsIDB4N2UsIDB4MDQsIDB4MjgsIDB4MDAsIAotICAgIDB4OGQsIDB4ZWYsIDB4MWIsIDB4MDQsIDB4NzgsIDB4ZmEsIDB4MDQsIDB4YTksIDB4MzQsIDB4ZDMsIDB4MDMsIDB4MzAsIDB4ZTAsIDB4ZWUsIDB4YmUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDAsIDB4NzgsIDB4MDUsIDB4NjMsIDB4OTAsIDB4MzAsIDB4ODAsIDB4ZTMsIDB4YjIsIDB4OTUsIDB4ODAsIDB4ZGYsIDB4YmUsIDB4YjAsIDB4MDIsIAotICAgIDB4MjIsIDB4YzAsIDB4ZDAsIDB4YTksIDB4MjAsIDB4ZGYsIDB4MGYsIDB4YTksIDB4MzEsIDB4ZGYsIDB4MDMsIDB4MDIsIDB4MDEsIDB4YjUsIDB4NzUsIDB4MDgsIAotICAgIDB4MDEsIDB4MTIsIDB4MDgsIDB4MzMsIDB4ODAsIDB4ZmUsIDB4NzUsIDB4MDgsIDB4ZmUsIDB4MTIsIDB4MDgsIDB4MzMsIDB4NzUsIDB4YTgsIDB4MDAsIDB4N2UsIAotICAgIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIDB4ZTAsIDB4NGIsIDB4MzAsIDB4MDEsIDB4NDYsIDB4YzIsIDB4OTIsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIAotICAgIDB4MTEsIDB4MDksIDB4NzQsIDB4MDgsIDB4MTksIDB4YjIsIDB4MDAsIDB4MTAsIDB4NzQsIDB4MGUsIDB4MTksIDB4YjIsIDB4MDAsIDB4MDQsIDB4MmUsIDB4MjQsIAotICAgIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZWQsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MDksIDB4ZTQsIDB4ZDUsIDB4ZTAsIDB4ZmQsIAotICAgIDB4MDksIDB4YjIsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MGEsIDB4MDksIDB4YjIsIDB4MDAsIDB4MDAsIDB4MDksIDB4YjIsIDB4MDAsIDB4MTgsIDB4ODAsIAotICAgIDB4ZWIsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZTQsIDB4NDMsIDB4OTAsIDB4MzAsIDB4ZDIsIDB4YWEsIDB4ODAsIDB4MDUsIDB4ZDIsIAotICAgIDB4YWEsIDB4NDMsIDB4OTAsIDB4MzQsIDB4ZDIsIDB4YWYsIDB4YTksIDB4ZDEsIDB4ODcsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4YTksIDB4MTEsIAotICAgIDB4ZGYsIDB4MDMsIDB4YTksIDB4ZDIsIDB4ZGYsIDB4NzUsIDB4MDgsIDB4ZmYsIDB4MTIsIDB4MDgsIDB4MzMsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIAotICAgIDB4Y2EsIDB4MDYsIDB4ODMsIDB4MDAsIDB4MzIsIDB4ZDAsIDB4ZDAsIDB4MzIsIDB4YzIsIDB4OGIsIDB4YzIsIDB4YWEsIDB4MzIsIDB4NzUsIDB4MDgsIDB4MDgsIAotICAgIDB4MTIsIDB4MDgsIDB4MzMsIDB4YTksIDB4YzAsIDB4YjEsIDB4YTksIDB4YzUsIDB4ZDMsIDB4YTksIDB4YzYsIDB4ZDMsIDB4YTksIDB4ZDIsIDB4YjEsIDB4MzIsIAotICAgIDB4Y2EsIDB4YjgsIDB4NzUsIDB4MDgsIDB4MDIsIDB4MTIsIDB4MDgsIDB4MzMsIDB4ZTUsIDB4YzAsIDB4NTQsIDB4MDMsIDB4NjgsIDB4MDUsIDB4MTIsIDB4MDEsIAotICAgIDB4ZWUsIDB4ODAsIDB4ZjUsIDB4ZGEsIDB4YjgsIDB4MzIsIAotCi0vLyBTZWdtZW50ICMxNCwgU3RhcnQgQWRkcmVzcyAwMGZmMWJjYSwgTGVuZ3RoIDEKLTB4ZmYsMHgwMCwweGNhLDB4MWIsMHgwMSwweDAwLAotICAgIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDFlNiwgTGVuZ3RoIDE2MTMKLTB4ZmYsMHgwMCwweGU2LDB4MDEsMHg0ZCwweDA2LAotICAgIDB4ZTQsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4MDIsIDB4MDIsIDB4NjMsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIAotICAgIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4YzAsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmIsIAotICAgIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MTksIDB4YjQsIDB4MDEsIDB4MTYsIDB4MzAsIDB4YzAsIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4MDIsIAotICAgIDB4NGQsIDB4ODAsIDB4MWYsIDB4MzAsIDB4YzEsIDB4MWMsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4MDIsIDB4ZGUsIDB4ODAsIDB4MTQsIDB4MzAsIDB4YzEsIAotICAgIDB4MDgsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIDB4MDIsIDB4ZGUsIDB4ODAsIDB4MDksIDB4MzAsIDB4YzAsIDB4MDYsIDB4NzUsIDB4ZjEsIDB4MDAsIDB4MTIsIAotICAgIDB4MDIsIDB4NGQsIDB4ZDAsIDB4ZjEsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIAotICAgIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4YzIsIDB4YzAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmIsIDB4YjQsIDB4MDIsIDB4MDcsIAotICAgIDB4MTIsIDB4MDIsIDB4NmYsIDB4MDIsIDB4MDIsIDB4NjMsIDB4MjIsIDB4YjQsIDB4MDEsIDB4ZmMsIDB4MDIsIDB4MDIsIDB4YTksIDB4N2UsIDB4MDAsIDB4MDAsIAotICAgIDB4N2EsIDB4MDMsIDB4MDEsIDB4MmIsIDB4N2EsIDB4MDMsIDB4MDEsIDB4MmMsIDB4MjIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjMsIDB4NTQsIDB4NjAsIDB4NjAsIAotICAgIDB4MDUsIDB4YjQsIDB4NDAsIDB4MTUsIDB4ODAsIDB4MTMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDUsIDB4MGMsIDB4NzUsIDB4MDgsIDB4NzEsIAotICAgIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4ZjUsIDB4OGYsIDB4MjIsIDB4NzUsIDB4ZjYsIDB4MDAsIDB4MjIsIDB4YmUsIDB4NTcsIAotICAgIDB4MDEsIDB4MjksIDB4MjgsIDB4MDQsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MjksIDB4N2EsIDB4MGYsIDB4MDEsIDB4MmUsIDB4N2EsIDB4NTcsIDB4MDEsIDB4MzIsIAotICAgIDB4MDIsIDB4MDIsIDB4YTksIDB4N2UsIDB4ZWYsIDB4MDEsIDB4MmUsIDB4N2UsIDB4ZjcsIDB4MDEsIDB4MzIsIDB4N2UsIDB4MDcsIDB4MDEsIDB4MzIsIDB4NGQsIAotICAgIDB4MDAsIDB4NjgsIDB4MjEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2UsIDB4ZWIsIDB4YjAsIDB4ZjUsIDB4ZjMsIDB4YTMsIDB4YTUsIDB4MDgsIDB4MWIsIDB4ZjQsIAotICAgIDB4NjgsIDB4MDQsIDB4YTUsIDB4YjgsIDB4MDgsIDB4ZjAsIDB4N2EsIDB4ZWYsIDB4MDEsIDB4MmUsIDB4N2EsIDB4ZjcsIDB4MDEsIDB4MzIsIDB4NzUsIDB4MDgsIAotICAgIDB4MDYsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MDEsIDB4ZjYsIDB4MjIsIDB4YzIsIDB4YzEsIDB4NzUsIDB4MDgsIDB4MDMsIDB4MTIsIDB4MDgsIDB4MzMsIAotICAgIDB4YTksIDB4MzYsIDB4ZTIsIDB4MTYsIDB4ZTUsIDB4ZjUsIDB4NTQsIDB4YzAsIDB4NjgsIDB4MDcsIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIDB4MjcsIDB4ZjQsIAotICAgIDB4ZmMsIDB4NTMsIDB4ZTEsIDB4M2YsIDB4NDMsIDB4ZjIsIDB4ODgsIDB4MDIsIDB4MDMsIDB4NTUsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmMsIDB4YjQsIDB4MDIsIAotICAgIDB4MGYsIDB4YTksIDB4ZDQsIDB4ZTQsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmMsIDB4N2EsIDB4YjMsIDB4MDEsIDB4MmIsIDB4MjIsIAotICAgIDB4YjQsIDB4MDEsIDB4MzksIDB4N2UsIDB4MjEsIDB4ZTYsIDB4N2MsIDB4MzIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MmQsIDB4MmMsIDB4MjEsIDB4N2EsIDB4MjMsIAotICAgIDB4MDEsIDB4MmQsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MDQsIDB4MDEsIDB4MzQsIDB4ZTUsIDB4ZTMsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIAotICAgIDB4YTUsIDB4ZGIsIDB4ZjYsIDB4YTksIDB4ZDQsIDB4ZTQsIDB4NzUsIDB4MDgsIDB4NzAsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MmQsIAotICAgIDB4N2UsIDB4YTMsIDB4MDEsIDB4MmEsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDMsIDB4MTIsIDB4MDMsIDB4ZWMsIDB4MjIsIDB4MDIsIDB4MDcsIDB4NTUsIDB4ZTUsIAotICAgIDB4ZTYsIDB4YjQsIDB4MDgsIDB4NjUsIDB4YTksIDB4YzQsIDB4ZTIsIDB4N2UsIDB4MDEsIDB4ZTMsIDB4N2UsIDB4MTEsIDB4ZTMsIDB4N2UsIDB4MzEsIDB4ZTMsIAotICAgIDB4N2UsIDB4MjEsIDB4ZTMsIDB4N2UsIDB4NTEsIDB4ZTMsIDB4N2UsIDB4NDEsIDB4ZTMsIDB4N2UsIDB4NzEsIDB4ZTMsIDB4N2UsIDB4NjEsIDB4ZTMsIDB4N2EsIAotICAgIDB4MGYsIDB4MDEsIDB4MjMsIDB4N2EsIDB4MWYsIDB4MDEsIDB4MjcsIDB4NzUsIDB4MDgsIDB4MDQsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MDEsIDB4MDgsIAotICAgIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MjEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIAotICAgIDB4MzEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4NDEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4NTEsIDB4MDgsIDB4MTIsIDB4MDgsIAotICAgIDB4MzMsIDB4N2EsIDB4NjEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4NzEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4YTksIDB4ZDQsIDB4ZTQsIAotICAgIDB4YTksIDB4ZDcsIDB4ZjQsIDB4YTksIDB4YzYsIDB4ZTIsIDB4MTIsIDB4MDMsIDB4YzAsIDB4MjIsIDB4NmQsIDB4MDAsIDB4N2UsIDB4MTQsIDB4MDEsIDB4MDIsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4MzIsIDB4N2EsIDB4MDMsIDB4MDEsIDB4MmQsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjMsIDB4MjAsIDB4ZTcsIDB4MGYsIDB4N2EsIAotICAgIDB4MjMsIDB4MDEsIDB4MmMsIDB4N2EsIDB4MzMsIDB4MDEsIDB4MmIsIDB4YmUsIDB4MDcsIDB4MDEsIDB4MjksIDB4NjgsIDB4MDksIDB4MjIsIDB4N2EsIDB4MzMsIAotICAgIDB4MDEsIDB4MmMsIDB4N2EsIDB4MjMsIDB4MDEsIDB4MmIsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjMsIDB4NTQsIDB4ZTMsIDB4MjMsIDB4MjMsIDB4MzAsIDB4ZTAsIAotICAgIDB4MDIsIDB4ZDIsIDB4ZTUsIDB4MzAsIDB4ZTcsIDB4MDIsIDB4ZDIsIDB4ZTQsIDB4MzAsIDB4ZTUsIDB4MDYsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4MDIsIDB4MDcsIAotICAgIDB4NTUsIDB4NTQsIDB4M2UsIDB4ZjUsIDB4ZjAsIDB4MDMsIDB4NTQsIDB4MWYsIDB4YzMsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4MDQsIDB4MTgsIDB4NzUsIDB4ODQsIAotICAgIDB4ZmYsIDB4NzMsIDB4MDIsIDB4MDUsIDB4NmMsIDB4MDIsIDB4MDQsIDB4NjAsIDB4MDIsIDB4MDYsIDB4MDksIDB4MDIsIDB4MDYsIDB4MjQsIDB4MDIsIDB4MDUsIAotICAgIDB4MDUsIDB4MDIsIDB4MDQsIDB4YzYsIDB4MDIsIDB4MDYsIDB4M2QsIDB4MDIsIDB4MDYsIDB4M2QsIDB4MDIsIDB4MDYsIDB4NDAsIDB4MDIsIDB4MDYsIDB4NDAsIAotICAgIDB4MDIsIDB4MDYsIDB4NDAsIDB4MDIsIDB4MDYsIDB4NDAsIDB4MDIsIDB4MDYsIDB4NDAsIDB4MDIsIDB4MDYsIDB4NDAsIDB4MDIsIDB4MDYsIDB4NDAsIDB4MDIsIAotICAgIDB4MDYsIDB4NDAsIDB4MDIsIDB4MDYsIDB4NDYsIDB4MDIsIDB4MDYsIDB4ZmEsIDB4MDIsIDB4MDYsIDB4NDMsIDB4MDIsIDB4MDYsIDB4NDMsIDB4MDIsIDB4MDYsIAotICAgIDB4NDMsIDB4MDIsIDB4MDYsIDB4NDMsIDB4MDIsIDB4MDYsIDB4NDMsIDB4MDIsIDB4MDYsIDB4NDMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDYsIAotICAgIDB4MmEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjUsIDB4NjAsIDB4NTYsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MDEsIDB4MjYsIDB4N2UsIDB4MTcsIDB4MDEsIAotICAgIDB4MjcsIDB4NzUsIDB4MDgsIDB4NzIsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MTEsIDB4MDgsIAotICAgIDB4MTIsIDB4MDgsIDB4MzMsIDB4MTIsIDB4MDcsIDB4NWYsIDB4NDAsIDB4MzUsIDB4MDIsIDB4MDIsIDB4OTQsIDB4YjQsIDB4MDgsIDB4MTAsIDB4NzUsIDB4MDgsIAotICAgIDB4NzQsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjYsIDB4MDEsIDB4MjIsIDB4YjQsIDB4MDAsIAotICAgIDB4MWMsIDB4NzUsIDB4MDgsIDB4NzUsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4NzUsIDB4ZjMsIAotICAgIDB4MDIsIDB4ODAsIDB4MDMsIDB4NzUsIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjYsIDB4MDIsIDB4MjIsIDB4MDIsIDB4MDcsIDB4NTUsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDAsIDB4MzUsIDB4NzUsIDB4MDgsIDB4NzYsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIAotICAgIDB4MjgsIDB4NTQsIDB4MGYsIDB4ZjUsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4MjAsIDB4ZTcsIDB4MDksIDB4ZTUsIDB4ZTEsIDB4MzAsIDB4ZTcsIAotICAgIDB4MGQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MGIsIDB4ZTUsIDB4ZTEsIDB4MzAsIDB4ZTYsIDB4MDQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MDIsIDB4NzQsIDB4MDAsIAotICAgIDB4NTMsIDB4ZjEsIDB4ODAsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjMsIDB4MDAsIDB4NzUsIDB4ZjYsIDB4MDIsIDB4MjIsIDB4MDIsIDB4MDcsIDB4NTUsIDB4YzAsIAotICAgIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4NTQsIDB4MGYsIDB4NDIsIDB4ZjEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDAsIDB4NDUsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDEsIDB4MjQsIDB4NzUsIDB4MDgsIDB4NzcsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIAotICAgIDB4MjgsIDB4NTQsIDB4MGYsIDB4NzgsIDB4MDUsIDB4NTMsIDB4ZTEsIDB4M2YsIDB4ODAsIDB4MzcsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4MjAsIDB4ZTcsIAotICAgIDB4MDUsIDB4NTMsIDB4ZTEsIDB4N2YsIDB4ODAsIDB4MmIsIDB4NTMsIDB4ZTEsIDB4YmYsIDB4ODAsIDB4MjYsIDB4YjQsIDB4MDMsIDB4MTcsIDB4NzUsIDB4MDgsIAotICAgIDB4NzgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjgsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4NDMsIDB4ZTEsIDB4ODAsIDB4ODAsIDB4MTEsIAotICAgIDB4NDMsIDB4ZTEsIDB4NDAsIDB4ODAsIDB4MGMsIDB4NDMsIDB4ZTEsIDB4YzAsIDB4ZDAsIDB4ZjEsIDB4NzUsIDB4MDgsIDB4MDcsIDB4MTIsIDB4MDgsIDB4MzMsIAotICAgIDB4MjIsIDB4ZDAsIDB4ZjEsIDB4MDIsIDB4MDIsIDB4OTAsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDksIDB4MjMsIDB4NzUsIDB4MDgsIDB4NzksIAotICAgIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YmUsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjgsIDB4MTEsIDB4Y2EsIDB4YjgsIDB4YzAsIAotICAgIDB4ZjEsIDB4MTIsIDB4MDEsIDB4MWQsIDB4ZDAsIDB4ZjEsIDB4ZGEsIDB4YjgsIDB4NTAsIDB4NzYsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ODAsIDB4NmQsIAotICAgIDB4YjQsIDB4MDUsIDB4MDgsIDB4NzUsIDB4MDgsIDB4N2EsIDB4MTIsIDB4MDgsIDB4MzMsIDB4ODAsIDB4NjIsIDB4YjQsIDB4MDMsIDB4MTksIDB4NzUsIDB4MDgsIAotICAgIDB4N2IsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDEsIDB4NTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIAotICAgIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4NDYsIDB4YjQsIDB4MDEsIDB4MTksIDB4NzUsIDB4MDgsIDB4N2MsIDB4MTIsIDB4MDgsIDB4MzMsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4YjQsIDB4MDEsIDB4MzksIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjIsIDB4ODAsIDB4MmEsIDB4YjQsIDB4MDcsIDB4MmEsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjUsIDB4NjAsIDB4MjQsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIAotICAgIDB4MDEsIDB4MjYsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjcsIDB4NzUsIDB4MDgsIDB4NzMsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2EsIDB4MDEsIDB4MDgsIDB4MTIsIAotICAgIDB4MDgsIDB4MzMsIDB4N2EsIDB4MTEsIDB4MDgsIDB4MTIsIDB4MDgsIDB4MzMsIDB4MTIsIDB4MDcsIDB4OGIsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4OTAsIAotICAgIDB4MDIsIDB4MDcsIDB4NTUsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MGIsIDB4ZjYsIDB4NzUsIDB4MDgsIDB4N2QsIDB4MTIsIDB4MDgsIDB4MzMsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4N2UsIDB4YTMsIDB4MDEsIDB4MjgsIDB4NGMsIDB4YWIsIDB4NzgsIDB4ZTQsIDB4ODAsIDB4ZGYsIDB4N2UsIDB4YjMsIAotICAgIDB4MDEsIDB4MjQsIDB4YjQsIDB4MGEsIDB4ZGIsIDB4NzUsIDB4MDgsIDB4N2UsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjYsIDB4NzAsIAotICAgIDB4Y2YsIDB4ZjUsIDB4ZjMsIDB4NzUsIDB4ZjYsIDB4MDEsIDB4MjIsIDB4MDIsIDB4MDcsIDB4NTUsIDB4MDIsIDB4MDcsIDB4NTUsIDB4MDIsIDB4MDcsIDB4NTUsIAotICAgIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDQsIDB4MjAsIDB4NzUsIDB4MDgsIDB4YzMsIDB4MTIsIDB4MDgsIDB4MzMsIDB4N2UsIDB4MDQsIDB4MDAsIAotICAgIDB4MDEsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjUsIDB4N2UsIDB4MTgsIDB4MDEsIDB4MzQsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDcsIDB4MDEsIAotICAgIDB4MjksIDB4MTIsIDB4MDgsIDB4M2YsIDB4MDIsIDB4MDYsIDB4ZjQsIDB4YjQsIDB4MDYsIDB4M2EsIDB4NzUsIDB4MDgsIDB4YzEsIDB4MTIsIDB4MDgsIDB4MzMsIAotICAgIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4Y2EsIDB4N2UsIDB4ZDcsIDB4MDEsIDB4MjUsIDB4N2UsIDB4NzgsIAotICAgIDB4MDEsIDB4MzQsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MDEsIDB4MjksIDB4NzUsIDB4MDgsIDB4YzEsIDB4MTIsIDB4MDgsIDB4MzMsIAotICAgIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4MDgsIDB4ZDYsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIAotICAgIDB4NDAsIDB4NGYsIDB4ODAsIDB4NGEsIDB4YjQsIDB4MDAsIDB4MWMsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4MDIsIDB4OTAsIDB4ZTQsIAotICAgIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4ZDUsIDB4ZTAsIDB4ZjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIDB4Y2EsIDB4MDYsIAotICAgIDB4MDAsIDB4MDAsIDB4MzIsIDB4YjQsIDB4MDksIDB4MTIsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MjUsIDB4NGQsIDB4NTUsIDB4NjgsIDB4MDUsIDB4YTksIDB4ZDIsIAotICAgIDB4YjEsIDB4ODAsIDB4MDMsIDB4YTksIDB4YzIsIDB4YjEsIDB4ODAsIDB4MTYsIDB4YjQsIDB4MDcsIDB4MTYsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MDcsIDB4MDEsIAotICAgIDB4MjcsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjUsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MTgsIDB4Y2EsIDB4MzgsIDB4Y2EsIDB4MjgsIDB4MzIsIDB4MDIsIDB4MDIsIAotICAgIDB4OTAsIDB4MDIsIDB4MDcsIDB4NTUsIDB4N2UsIDB4YjMsIDB4MDEsIDB4MjQsIDB4YjQsIDB4MDMsIDB4MTUsIDB4NzUsIDB4MDgsIDB4YzIsIDB4MTIsIDB4MDgsIAotICAgIDB4MzMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTcsIDB4MDEsIDB4MjUsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MjksIDB4MDIsIDB4MDIsIDB4OTQsIAotICAgIDB4YjQsIDB4MDUsIDB4MzksIDB4NzUsIDB4MDgsIDB4YzAsIDB4MTIsIDB4MDgsIDB4MzMsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIAotICAgIDB4ZDUsIDB4ODcsIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzQsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4MjUsIDB4N2UsIDB4NDcsIDB4MDEsIDB4MjksIDB4MTIsIDB4MDgsIDB4M2YsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4N2UsIDB4MDgsIDB4MDEsIAotICAgIDB4MzQsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NTcsIDB4MDEsIDB4MjksIDB4MDIsIDB4MDIsIDB4OTQsIDB4MDIsIDB4MDcsIDB4NTUsIDB4NzUsIAotICAgIDB4MDgsIDB4MDcsIDB4MTIsIDB4MDgsIDB4MzMsIDB4NDMsIDB4ZTEsIDB4YzAsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIAotICAgIDB4ZDUsIDB4ODcsIDB4MTIsIDB4MDcsIDB4Y2EsIDB4NDAsIDB4MTksIDB4N2UsIDB4MDgsIDB4MDEsIDB4MzQsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIAotICAgIDB4MGIsIDB4Y2EsIDB4NDksIDB4MTIsIDB4MDgsIDB4M2YsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIAotICAgIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzAsIDB4ODcsIDB4YzIsIDB4YWYsIDB4YTksIDB4ZDUsIDB4ODcsIDB4MTIsIDB4MDcsIAotICAgIDB4Y2EsIDB4NDAsIDB4MmIsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2YsIDB4NjEsIDB4N2UsIDB4NzgsIDB4MDEsIAotICAgIDB4MzQsIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MDEsIDB4MjksIDB4YmQsIDB4NzQsIDB4NzgsIDB4MTEsIDB4NzUsIDB4MDgsIDB4YzEsIAotICAgIDB4MTIsIDB4MDgsIDB4MzMsIDB4MTIsIDB4MDgsIDB4ZDYsIDB4NDAsIDB4MDYsIDB4ZDAsIDB4ODcsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4ZDAsIDB4ODcsIAotICAgIDB4ZDAsIDB4YTgsIDB4ZDMsIDB4MjIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzQsIDB4N2YsIDB4Y2EsIDB4MGIsIDB4MWEsIDB4NTAsIDB4YzUsIAotICAgIDB4ZjAsIDB4N2QsIDB4NjIsIDB4N2QsIDB4NzUsIDB4N2QsIDB4ODcsIDB4N2UsIDB4MzQsIDB4N2YsIDB4MDMsIDB4N2UsIDB4MWIsIDB4YjAsIDB4YmMsIDB4MGIsIAotICAgIDB4NTAsIDB4NDksIDB4M2UsIDB4MDAsIDB4M2UsIDB4MDAsIDB4MGEsIDB4NTAsIDB4MmQsIDB4NzUsIDB4MGIsIDB4M2EsIDB4MzAsIDB4NjksIDB4NTMsIDB4MDAsIAotICAgIDB4MDIsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmMsIDB4MWIsIDB4NTAsIDB4MzAsIDB4M2UsIDB4MTAsIDB4M2UsIDB4MTAsIDB4MGEsIAotICAgIDB4NTEsIDB4MmQsIDB4MzUsIDB4NjksIDB4NDEsIDB4MDAsIDB4MDIsIDB4MGIsIDB4MWEsIDB4MzAsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIAotICAgIDB4YmUsIDB4NDQsIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4MDUsIDB4N2UsIDB4MWIsIDB4OTAsIDB4MGEsIDB4NDksIDB4NGQsIDB4NDQsIDB4NjgsIDB4MGMsIDB4YmUsIAotICAgIDB4NDQsIDB4MDAsIDB4ZmYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNiwgRVhDTFVERUQgU3RhcnQgQWRkcmVzcyAwMGZmN2MwMCwgTGVuZ3RoIDE5OQotCi0KLS8vIFNlZ21lbnQgIzE3LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmY3ZjAwLCBMZW5ndGggMTkyCi0KLQotLy8gU2VnbWVudCAjMTcsIFN0YXJ0IEFkZHJlc3MgMDBmZjdmYzAsIExlbmd0aCA2NAotMHhmZiwweDAwLDB4YzAsMHg3ZiwweDQwLDB4MDAsCi0gICAgMHg0MCwgMHgwMSwgMHgwMiwgMHgwMCwgMHhjYSwgMHgxYiwgMHgwMSwgMHgwYywgMHgwMiwgMHgwMCwgMHgwMCwgMHg3YywgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhmMSwgMHg3ZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE4LCBTdGFydCBBZGRyZXNzIDAwZmYwODMzLCBMZW5ndGggNTAxNQotMHhmZiwweDAwLDB4MzMsMHgwOCwweDk3LDB4MTMsCi0gICAgMHhjYSwgMHgwOCwgMHg3ZSwgMHgwMSwgMHgwOCwgMHg3YSwgMHgwMywgMHgzZiwgMHhmMCwgMHhkYSwgMHgwOCwgMHgyMiwgMHg4MCwgMHg1MCwgMHgwYiwgMHgxYSwgCi0gICAgMHg2MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg3MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg4MCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHg5MCwgCi0gICAgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhhMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhiMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgxYSwgMHhjMCwgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgxYSwgMHhkMCwgMHgwYiwgMHgzNSwgMHgxYiwgMHgwYSwgMHg2MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHg3MCwgMHgwYiwgMHgxNSwgCi0gICAgMHgxYiwgMHgwYSwgMHg4MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHg5MCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhhMCwgMHgwYiwgMHgxNSwgMHgxYiwgCi0gICAgMHgwYSwgMHhiMCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhjMCwgMHgwYiwgMHgxNSwgMHgxYiwgMHgwYSwgMHhkMCwgMHgwYiwgMHgxNSwgMHg5ZSwgMHg0NCwgCi0gICAgMHgwMCwgMHgxMCwgMHg1MCwgMHhhYSwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwZSwgMHg3ZSwgMHgxYiwgMHhjMCwgMHg3YSwgMHgwYiwgMHhjMCwgCi0gICAgMHgwYiwgMHgxNCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmMiwgMHgyMiwgMHg3ZiwgMHg2ZiwgMHg3ZiwgMHhmMCwgMHgxYiwgMHhmYywgMHg3YywgCi0gICAgMHg1NCwgMHg3ZCwgMHgzMiwgMHg4MCwgMHgwOCwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHg5ZSwgMHg0NCwgMHgwMCwgCi0gICAgMHgxMCwgMHg1MCwgMHhmMiwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwNiwgMHhjYSwgMHg0OCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmYSwgMHg3ZiwgCi0gICAgMHhmNiwgMHg4OSwgMHhlNCwgMHhjYSwgMHg2YiwgMHg1ZSwgMHhkNCwgMHgwMCwgMHgzZiwgMHg2OCwgMHgyMCwgMHg3ZSwgMHg4NCwgMHgwMCwgMHg0MCwgMHg5ZCwgCi0gICAgMHg4ZCwgMHhkYSwgMHg2YiwgMHhiZCwgMHg4NywgMHgzOCwgMHgxNiwgMHhjYSwgMHg3OSwgMHg3ZCwgMHg3OCwgMHgxMiwgMHgwOSwgMHgwMCwgMHhkYSwgMHg3OSwgCi0gICAgMHg0MCwgMHgwOCwgMHg5ZCwgMHg3OCwgMHg2OCwgMHgwMiwgMHg4MCwgMHgwNSwgMHhjMiwgMHhkNywgMHgyMiwgMHhkYSwgMHg2YiwgMHg0MywgMHg5MCwgMHgzMCwgCi0gICAgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgMHhiNSwgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgMHhiNSwgCi0gICAgMHg1NSwgMHg1NSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHg0MCwgMHg5ZCwgMHg3MCwgMHg1MCwgMHgwNiwgMHgyZCwgMHg3MCwgMHg3ZCwgMHgwNywgMHg2ZCwgMHg3NywgCi0gICAgMHg3YywgMHgzMSwgMHg3ZSwgMHg3YiwgMHgwMCwgMHg3YSwgMHg2YiwgMHgwMCwgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZiwgCi0gICAgMHgxNiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgxMCwgMHg2OCwgMHgwNiwgMHgxYiwgMHg1NCwgCi0gICAgMHg3OCwgMHhmNSwgMHg4MCwgMHgyYywgMHg2ZCwgMHgwMCwgMHg3YywgMHgyMCwgMHg3ZiwgMHgxNiwgMHg5ZiwgMHgxMCwgMHg3ZiwgMHgyNywgMHg5ZiwgMHgyMCwgCi0gICAgMHg3ZSwgMHgyYiwgMHgwMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgwMSwgMHg3OCwgMHgxNiwgMHgwYiwgMHgyYywgMHgwYiwgMHgxYywgMHhhNSwgMHhkYiwgCi0gICAgMHhlZiwgMHg3YywgMHhiNiwgMHgyMCwgMHhlMCwgMHgwMywgMHg2MywgMHg5MCwgMHgzMCwgMHg0ZCwgMHg3NywgMHg3OCwgMHg5MywgMHhjMiwgMHhkNywgMHgyMiwgCi0gICAgMHhkMiwgMHhkNywgMHgyMiwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgwNCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMSwgCi0gICAgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgCi0gICAgMHgwNCwgMHgwMCwgMHgwOCwgMHgxMCwgMHgwMiwgMHgxMCwgMHgwNCwgMHgwMiwgMHgwOCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwOCwgMHg3ZSwgMHgxOCwgMHg3ZiwgCi0gICAgMHhiZCwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgwYiwgMHgxYSwgMHgwMCwgMHhiZSwgMHgxMCwgMHgxNCwgMHgzOCwgMHgxYSwgMHgwYSwgMHg1MSwgMHgyMywgCi0gICAgMHg3ZSwgMHgxOCwgMHgwOSwgMHg3NiwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgyZCwgMHgzNSwgMHgwYiwgMHgxYSwgMHg1MCwgMHg2MCwgMHgwOCwgMHhhNSwgCi0gICAgMHhiOCwgMHgwMiwgMHgwMywgMHg0ZSwgMHhhMCwgMHgwOCwgMHgyMiwgMHg4MCwgMHhmZSwgMHg3ZSwgMHhlOCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHhlYywgMHgwMCwgCi0gICAgMHhmZiwgMHhlMCwgMHhmNSwgMHgyMiwgMHg1NCwgMHhjMCwgMHg2OCwgMHgxNiwgMHg3ZSwgMHhlOCwgMHg3ZiwgMHhiZSwgMHg3YSwgMHhlYywgMHgwMCwgMHhmZiwgCi0gICAgMHhlMCwgMHg2MCwgMHgwYywgMHgxMiwgMHgwOSwgMHhhMCwgMHhmNSwgMHgwOSwgMHg3YSwgMHhhMSwgMHgyMCwgMHgwMiwgMHgwZiwgMHgwYSwgMHgyMiwgMHhjMiwgCi0gICAgMHg5NSwgMHhkMiwgMHg5NCwgMHgxMiwgMHgxOSwgMHhmYiwgMHg1MywgMHg5MCwgMHhjZiwgMHgxMiwgMHgxOSwgMHhmYiwgMHg4MCwgMHhmMSwgMHgwZCwgMHgwYSwgCi0gICAgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwZCwgCi0gICAgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgMHgwYSwgCi0gICAgMHg0NSwgMHg2NCwgMHg2NywgMHg2NSwgMHg3MCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgyZiwgMHgzNCwgMHgyMCwgMHgyZCwgMHgyMCwgMHg0OCwgMHg2MSwgMHg3MiwgCi0gICAgMHg2NCwgMHg3NywgMHg2MSwgMHg3MiwgMHg2NSwgMHgyMCwgMHg0NCwgMHg2OSwgMHg2MSwgMHg2NywgMHg2ZSwgMHg2ZiwgMHg3MywgMHg3NCwgMHg2OSwgMHg2MywgCi0gICAgMHg3MywgMHgyYywgMHgyMCwgMHg1MiwgMHg2NSwgMHg3NiwgMHgyMCwgMHgzMSwgMHgyZSwgMHgzMCwgMHgzMCwgMHgzYiwgMHgyMCwgMHg0MywgMHg2ZiwgMHg3MCwgCi0gICAgMHg3OSwgMHg3MiwgMHg2OSwgMHg2NywgMHg2OCwgMHg3NCwgMHgyMCwgMHgzMSwgMHgzOSwgMHgzOSwgMHgzOCwgMHgyMCwgMHg0OSwgMHg2ZSwgMHg3MywgMHg2OSwgCi0gICAgMHg2NCwgMHg2NSwgMHgyMCwgMHg0ZiwgMHg3NSwgMHg3NCwgMHgyMCwgMHg0ZSwgMHg2NSwgMHg3NCwgMHg3NywgMHg2ZiwgMHg3MiwgMHg2YiwgMHg3MywgMHgwZCwgCi0gICAgMHgwYSwgMHgwMCwgMHg1MCwgMHg2MSwgMHg3MywgMHg3MywgMHgwMCwgMHg0NiwgMHg0MSwgMHg0OSwgMHg0YywgMHgyMCwgMHgyMSwgMHgyMSwgMHgwMCwgMHg1MCwgCi0gICAgMHg2MSwgMHg3MywgMHg3MywgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHg0NiwgMHg0MSwgMHg0OSwgMHg0YywgMHgyMCwgMHgyMSwgMHgyMSwgMHgyMCwgCi0gICAgMHgwMCwgMHgwZCwgMHgwYSwgMHg0NCwgMHg2NSwgMHg3NCwgMHg2NSwgMHg2MywgMHg3NCwgMHgyMCwgMHg1MiwgMHg2MSwgMHg2ZCwgMHgzYSwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MiwgMHg2MSwgMHg2ZCwgMHgyMCwgMHg1NCwgMHg2NSwgMHg3MywgMHg3NCwgMHgzYSwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg0MSwgMHg2NCwgMHg2NCwgMHg3MiwgMHg2NSwgMHg3MywgMHg3MywgMHgyMCwgMHg2MiwgCi0gICAgMHg2OSwgMHg3NCwgMHgyMCwgMHgzMCwgMHgyZCwgMHgzMSwgMHgzNCwgMHgyMCwgMHg3NCwgMHg2NSwgMHg3MywgMHg3NCwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1NywgMHg3MiwgMHg2ZiwgMHg3NCwgMHg2NSwgMHgyMCwgMHg0MSwgCi0gICAgMHg2NCwgMHg2NCwgMHg3MiwgMHg2NSwgMHg3MywgMHg3MywgMHgzYSwgMHgyMCwgMHgzMCwgMHgzMCwgMHgzYSwgMHgwMCwgMHgyMCwgMHgyMCwgMHg3NywgMHg2OSwgCi0gICAgMHg3NCwgMHg2OCwgMHgyMCwgMHg2NCwgMHg2MSwgMHg3NCwgMHg2MSwgMHgzYSwgMHgyMCwgMHgwMCwgMHgyYywgMHgyMCwgMHg2MSwgMHg2ZSwgMHg2NCwgMHgyMCwgCi0gICAgMHg3MiwgMHg2NSwgMHg2MSwgMHg2NCwgMHgzYSwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg0ZiwgMHg2ZSwgMHg2NSwgMHgyMCwgMHg2ZiwgMHg3MiwgMHgyMCwgCi0gICAgMHg2MiwgMHg2ZiwgMHg3NCwgMHg2OCwgMHgyMCwgMHg2ZiwgMHg2NiwgMHgyMCwgMHg3NCwgMHg2OCwgMHg2NSwgMHgyMCwgMHg2NiwgMHg2ZiwgMHg2YywgMHg2YywgCi0gICAgMHg2ZiwgMHg3NywgMHg2OSwgMHg2ZSwgMHg2NywgMHgyMCwgMHg0MSwgMHg2NCwgMHg2NCwgMHg3MiwgMHg2NSwgMHg3MywgMHg3MywgMHgyMCwgMHg2MiwgMHg2OSwgCi0gICAgMHg3NCwgMHg3MywgMHgyMCwgMHg2YywgMHg2OSwgMHg3MywgMHg3NCwgMHg2NSwgMHg2NCwgMHgyMCwgMHg2MSwgMHg3MiwgMHg2NSwgMHgyMCwgMHg3MywgMHg2OCwgCi0gICAgMHg2ZiwgMHg3MiwgMHg3NCwgMHg2NSwgMHg2NCwgMHgwZCwgMHgwYSwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg3MywgMHg2ZiwgMHg2ZCwgMHg2NSwgMHg3NCwgMHg2OCwgCi0gICAgMHg2OSwgMHg2ZSwgMHg2NywgMHgzYSwgMHgyMCwgMHgwMCwgMHgyMCwgMHg2MSwgMHg2ZSwgMHg2NCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg0NCwgMHg2NSwgCi0gICAgMHg3NCwgMHg2NSwgMHg2MywgMHg3NCwgMHgyMCwgMHg1NSwgMHg2MSwgMHg3MiwgMHg3NCwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgCi0gICAgMHg1MywgMHg2MywgMHg3MiwgMHg2MSwgMHg3NCwgMHg2MywgMHg2OCwgMHgyMCwgMHg1MCwgMHg2MSwgMHg2NCwgMHgyYywgMHg0NiwgMHg2OSwgMHg0NiwgMHg2ZiwgCi0gICAgMHgyMCwgMHg0NSwgMHg2ZSwgMHg2MSwgMHg2MiwgMHg2YywgMHg2NSwgMHgyMCwgMHgyNiwgMHgyMCwgMHg1MiwgMHg1MywgMHg1NCwgMHgzYSwgMHgyMCwgMHgwMCwgCi0gICAgMHgwZCwgMHgwYSwgMHgwYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHg1NSwgMHg2MSwgMHg3MiwgMHg3NCwgMHgyMCwgMHg1NCwgMHg2NSwgMHg3MywgMHg3NCwgMHg3MywgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHg1MCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzMSwgMHgyMCwgMHgyMCwgMHgyMCwgMHg1MCwgMHg2ZiwgMHg3MiwgMHg3NCwgCi0gICAgMHgzMiwgMHgyMCwgMHgyMCwgMHgyMCwgMHg1MCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzMywgMHgyMCwgMHgyMCwgMHgyMCwgMHg1MCwgMHg2ZiwgMHg3MiwgMHg3NCwgCi0gICAgMHgzNCwgMHgwZCwgMHgwYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgCi0gICAgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgMHgyZCwgCi0gICAgMHgyZCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgyMCwgMHg0NCwgMHg2NSwgMHg2MywgMHg2ZiwgMHg2NCwgMHg2NSwgMHg3MiwgCi0gICAgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg0NCwgMHg2OSwgMHg2NywgMHg2OSwgMHg3NCwgMHg2MSwgMHg2YywgMHgyMCwgCi0gICAgMHg0YywgMHg2ZiwgMHg2ZiwgMHg3MCwgMHg2MiwgMHg2MSwgMHg2MywgMHg2YiwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg0MSwgMHg2ZSwgMHg2MSwgMHg2YywgCi0gICAgMHg2ZiwgMHg2NywgMHgyMCwgMHg0YywgMHg2ZiwgMHg2ZiwgMHg3MCwgMHg2MiwgMHg2MSwgMHg2MywgMHg2YiwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgCi0gICAgMHg1MiwgMHg1OCwgMHg0NCwgMHgyYywgMHg1NCwgMHg1OCwgMHg0NCwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg1MiwgMHg1NCwgMHg1MywgMHgyYywgMHg0MywgCi0gICAgMHg1NCwgMHg1MywgMHgyYywgMHg1MiwgMHg0OSwgMHgyMCwgMHg1MywgMHg2OCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MiwgMHg1OCwgMHg0NCwgMHgyYywgMHg1NCwgMHg1OCwgMHg0NCwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0NCwgCi0gICAgMHg1NCwgMHg1MiwgMHgyYywgMHg0NCwgMHg1MywgMHg1MiwgMHgyYywgMHg0MywgMHg0NCwgMHgyMCwgMHg1MywgMHg2OCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzYSwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MiwgMHg1NCwgMHg1MywgMHg1YiwgMHg0MywgMHg1NCwgMHg1MywgMHgyYywgCi0gICAgMHg1MiwgMHg0OSwgMHg1ZCwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0NCwgMHg1NCwgMHg1MiwgMHgyYywgMHg0NCwgMHg1MywgMHg1MiwgMHgyYywgMHg0MywgCi0gICAgMHg0NCwgMHgyMCwgMHg1MywgMHg2OCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzYSwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MiwgMHg1NCwgMHg1MywgMHg1YiwgCi0gICAgMHg0MywgMHg1NCwgMHg1MywgMHgyYywgMHg0MywgMHg0NCwgMHg1ZCwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0NCwgMHg1MywgMHg1MiwgMHgyYywgMHg1MiwgCi0gICAgMHg0OSwgMHgyMCwgMHg1MywgMHg2OCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgCi0gICAgMHg0NCwgMHg1NCwgMHg1MiwgMHg1YiwgMHg0NCwgMHg1MywgMHg1MiwgMHgyYywgMHg0MywgMHg0NCwgMHg1ZCwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg1MiwgCi0gICAgMHg1NCwgMHg1MywgMHgyYywgMHg0MywgMHg1NCwgMHg1MywgMHgyYywgMHg1MiwgMHg0OSwgMHgyMCwgMHg1MywgMHg2OCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzYSwgCi0gICAgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg0NCwgMHg1NCwgMHg1MiwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0MywgMHg1NCwgMHg1MywgMHgyYywgMHg0MywgCi0gICAgMHg0NCwgMHgyMCwgMHg1MywgMHg2OCwgMHg2ZiwgMHg3MiwgMHg3NCwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MiwgMHg1NCwgMHg1MywgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0MywgCi0gICAgMHg1NCwgMHg1MywgMHgyYywgMHg1MiwgMHg0OSwgMHgyMCwgMHg0YywgMHg2ZiwgMHg2ZiwgMHg3MCwgMHg2MiwgMHg2MSwgMHg2MywgMHg2YiwgMHgzYSwgMHgyMCwgCi0gICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHg1MiwgMHg1NCwgMHg1MywgMHgyMCwgCi0gICAgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0MywgMHg1NCwgMHg1MywgMHgyYywgMHg0MywgMHg0NCwgMHgyMCwgMHg0YywgMHg2ZiwgMHg2ZiwgMHg3MCwgMHg2MiwgMHg2MSwgCi0gICAgMHg2MywgMHg2YiwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgCi0gICAgMHg0NCwgMHg1NCwgMHg1MiwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg0NCwgMHg1MywgMHg1MiwgMHgyYywgMHg0MywgMHg0NCwgMHgyMCwgMHg0YywgMHg2ZiwgCi0gICAgMHg2ZiwgMHg3MCwgMHg2MiwgMHg2MSwgMHg2MywgMHg2YiwgMHgzYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgCi0gICAgMHgyMCwgMHgwMCwgMHgwZCwgMHgwYSwgMHgwYSwgMHgyMCwgMHgyMCwgMHgyMCwgMHg0NSwgMHgyMCwgMHg1MiwgMHgyMCwgMHg1MiwgMHgyMCwgMHg0ZiwgMHgyMCwgCi0gICAgMHg1MiwgMHgyMCwgMHgyMSwgMHgyMSwgMHgyMSwgMHgyYywgMHgyMCwgMHg0NSwgMHgyMCwgMHg1MiwgMHgyMCwgMHg1MiwgMHgyMCwgMHg0ZiwgMHgyMCwgMHg1MiwgCi0gICAgMHgyMCwgMHgyMSwgMHgyMSwgMHgyMSwgMHgyMCwgMHgyYywgMHgyMCwgMHg0NSwgMHgyMCwgMHg1MiwgMHgyMCwgMHg1MiwgMHgyMCwgMHg0ZiwgMHgyMCwgMHg1MiwgCi0gICAgMHgyMCwgMHgyMSwgMHgyMSwgMHgyMSwgMHgwZCwgMHgwYSwgMHgwYSwgMHg0NCwgMHg2OSwgMHg2MSwgMHg2NywgMHg2ZSwgMHg2ZiwgMHg3MywgMHg3NCwgMHg2OSwgCi0gICAgMHg2MywgMHg3MywgMHgyMCwgMHg2ZSwgMHg2ZiwgMHg3NywgMHgyMCwgMHg3NywgMHg2OSwgMHg2YywgMHg2YywgMHgyMCwgMHg2NSwgMHg2ZSwgMHg3NCwgMHg2NSwgCi0gICAgMHg3MiwgMHgyMCwgMHg2MSwgMHgyMCwgMHg2NCwgMHg2NSwgMHg2MiwgMHg3NSwgMHg2NywgMHgyMCwgMHg2YywgMHg2ZiwgMHg2ZiwgMHg3MCwgMHgyMCwgMHg2ZiwgCi0gICAgMHg2NiwgMHgyMCwgMHg3NCwgMHg2OCwgMHg2NSwgMHgyMCwgMHg2NiwgMHg2OSwgMHg3MiwgMHg3MywgMHg3NCwgMHgyMCwgMHg2NCwgMHg2NSwgMHg3NCwgMHg2NSwgCi0gICAgMHg2MywgMHg3NCwgMHg2NSwgMHg2NCwgMHgyMCwgMHg2NSwgMHg3MiwgMHg3MiwgMHg2ZiwgMHg3MiwgMHgyZSwgMHgwMCwgMHgwZCwgMHgwYSwgMHgwYSwgMHg0ZSwgCi0gICAgMHg2ZiwgMHgyMCwgMHg0OCwgMHg2MSwgMHg3MiwgMHg2NCwgMHg3NywgMHg2MSwgMHg3MiwgMHg2NSwgMHgyMCwgMHg2NSwgMHg3MiwgMHg3MiwgMHg2ZiwgMHg3MiwgCi0gICAgMHg3MywgMHgyMCwgMHg2NCwgMHg2NSwgMHg3NCwgMHg2NSwgMHg2MywgMHg3NCwgMHg2NSwgMHg2NCwgMHgyZSwgMHgwZCwgMHgwYSwgMHgwMCwgMHg0MywgMHg2ZiwgCi0gICAgMHg3MCwgMHg3OSwgMHg2OSwgMHg2ZSwgMHg2NywgMHgyMCwgMHg2MywgMHg2ZiwgMHg2NCwgMHg2NSwgMHgyMCwgMHg2NiwgMHg3MiwgMHg2ZiwgMHg2ZCwgMHgyMCwgCi0gICAgMHg0ZCwgMHg2MSwgMHg3MywgMHg3NCwgMHg2NSwgMHg3MiwgMHgyMCwgMHg3NCwgMHg2ZiwgMHgyMCwgMHg1MywgMHg2YywgMHg2MSwgMHg3NiwgMHg2NSwgMHgyNywgCi0gICAgMHg3MywgMHgyMCwgMHg0NSwgMHg0NSwgMHg3MCwgMHg3MiwgMHg2ZiwgMHg2ZCwgMHgyMCwgMHgyZSwgMHgyZSwgMHgyZSwgMHgwMCwgMHg0NCwgMHg2ZiwgMHg2ZSwgCi0gICAgMHg2NSwgMHgwZCwgMHgwYSwgMHgwYSwgMHgyZCwgMHgzZSwgMHgyMCwgMHg1NCwgMHg3NSwgMHg3MiwgMHg2ZSwgMHgyMCwgMHg3NSwgMHg2ZSwgMHg2OSwgMHg3NCwgCi0gICAgMHgyMCwgMHg2ZiwgMHg2NiwgMHg2NiwgMHgyYywgMHgyMCwgMHg2NCwgMHg2OSwgMHg3MywgMHg2MywgMHg2ZiwgMHg2ZSwgMHg2ZSwgMHg2NSwgMHg2MywgMHg3NCwgCi0gICAgMHgyMCwgMHg2MywgMHg2MSwgMHg2MiwgMHg2YywgMHg2NSwgMHgyMCwgMHg2MSwgMHg2ZSwgMHg2NCwgMHgyMCwgMHg3MiwgMHg3NSwgMHg2ZSwgMHgyMCwgMHg3MywgCi0gICAgMHg3NCwgMHg2MSwgMHg2ZSwgMHg2NCwgMHg2MSwgMHg2YywgMHg2ZiwgMHg2ZSwgMHg2NSwgMHgyMCwgMHg2NCwgMHg2OSwgMHg2MSwgMHg2NywgMHg2ZSwgMHg2ZiwgCi0gICAgMHg3MywgMHg3NCwgMHg2OSwgMHg2MywgMHg3MywgMHgyZSwgMHgwMCwgMHhjMiwgMHhhZiwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwYSwgMHg3NSwgMHg5MCwgMHgwZCwgCi0gICAgMHgyMCwgMHgxNywgMHgwMiwgMHhkMiwgMHhiNSwgMHg0MywgMHg5MCwgMHgzMCwgMHg2YywgMHgwMCwgMHg3ZSwgMHgxMCwgMHgwMywgMHgxMiwgMHgwZiwgMHgzOCwgCi0gICAgMHg3ZSwgMHg2OCwgMHgwYSwgMHgwMSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgwYiwgMHgwMCwgMHgzMCwgMHhiNCwgMHgwMiwgCi0gICAgMHg4MCwgMHgyNCwgMHgwMiwgMHgxYiwgMHgzYywgMHgyMCwgMHgwOSwgMHgxZCwgMHhjMiwgMHg5NCwgMHhkMiwgMHg5NSwgMHgxMiwgMHgxOSwgMHhmYiwgMHg1MywgCi0gICAgMHg5MCwgMHhjZiwgMHgxMiwgMHgxOSwgMHhmYiwgMHhjMiwgMHg5NSwgMHhkMiwgMHg5NCwgMHgxMiwgMHgxOSwgMHhmYiwgMHhhNSwgMHhkOSwgMHhlNiwgMHg0MywgCi0gICAgMHg5MCwgMHgzMCwgMHgxMiwgMHgxOSwgMHhmYiwgMHgyMiwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg5NCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgCi0gICAgMHg5MywgMHg3ZSwgMHhlNCwgMHgxMCwgMHgwMCwgMHg3ZSwgMHg0MCwgMHg1NSwgMHg3YSwgMHhlOSwgMHg0MCwgMHgwYiwgMHhlNCwgMHg3ZSwgMHg1MCwgMHhhYSwgCi0gICAgMHg3YSwgMHhlOSwgMHg1MCwgMHgxYiwgMHhlNCwgMHhiZSwgMHhlOSwgMHg0MCwgMHg2OCwgMHgxOSwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3YSwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgxMywgMHg3YSwgMHhlOSwgMHg0MCwgMHg3ZSwgMHhlOSwgCi0gICAgMHgxMCwgMHg4MCwgMHhmOCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3NSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgwYiwgMHgwMCwgCi0gICAgMHg3ZSwgMHg2OCwgMHgwYSwgMHhkOCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHg3MCwgMHgwZSwgMHg3ZSwgMHhhNCwgMHhmZiwgMHhmZiwgMHg3ZSwgMHhiNCwgMHhiZiwgMHhmZiwgMHg3ZCwgMHhjYiwgMHgwZSwgMHhjNCwgMHg3ZCwgMHhkYywgCi0gICAgMHg1ZCwgMHhkYiwgMHg2YywgMHhiYiwgMHg3ZCwgMHhmYSwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgCi0gICAgMHhmYiwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgCi0gICAgMHg3YSwgMHg3YiwgMHhiMCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg2YywgMHhiYiwgCi0gICAgMHg3ZCwgMHhmYSwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHg0MSwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgCi0gICAgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHgzNCwgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgCi0gICAgMHhiZSwgMHg3YiwgMHhiMCwgMHg3OCwgMHgyNywgMHgwYiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHhiZSwgMHg3YiwgMHhiMCwgCi0gICAgMHg3OCwgMHgxYSwgMHgwYiwgMHhiMCwgMHhiZSwgMHhjNCwgMHhmZiwgMHhmZSwgMHg3OCwgMHg5MiwgMHgwZSwgMHhiNCwgMHhhNSwgMHhkZiwgMHg4YiwgMHg3ZSwgCi0gICAgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHg3NywgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgCi0gICAgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHg2OCwgMHgwYiwgMHgyYSwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgwYSwgMHg0NywgMHgxMiwgMHgxYSwgMHhjOSwgMHg3ZSwgMHg2OCwgMHgwYiwgMHg3OSwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg2YywgMHg3NywgMHhkYSwgMHg2YiwgMHhjYSwgMHg2YiwgMHgwYiwgMHg3MCwgMHgwZSwgMHhjNCwgCi0gICAgMHhiZSwgMHhjNCwgMHhmZiwgMHhmZiwgMHg3OCwgMHhmNiwgMHgxYiwgMHg3MCwgMHgwYSwgMHg0NywgMHgxMiwgMHgxYSwgMHhjOSwgMHgxMiwgMHgxYSwgMHgwOCwgCi0gICAgMHgzMCwgMHgwOSwgMHgzMCwgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHg2YywgMHhiYiwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3ZCwgMHhmYSwgMHg1ZSwgCi0gICAgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmYiwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgCi0gICAgMHhmYywgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgMHhiMCwgMHg3ZCwgMHhmZCwgMHg1ZSwgMHhmNCwgMHg3ZiwgMHhmZiwgMHg3YSwgMHg3YiwgCi0gICAgMHhiMCwgMHg4MCwgMHhkNCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHhiNiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgzMCwgMHgxNywgCi0gICAgMHgwZSwgMHg3ZSwgMHg3OCwgMHgwNCwgMHgyMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NCwgMHg3YiwgMHhlMCwgMHg4MCwgMHgwYywgMHg3ZSwgCi0gICAgMHg3OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg0NCwgMHg4MCwgMHgwMCwgMHgwYiwgMHgwMCwgMHg3ZSwgMHg0MCwgMHgzYSwgCi0gICAgMHg3YywgMHg1NCwgMHg3ZiwgMHg1NywgMHg3ZCwgMHg4NCwgMHg2YywgMHg2NiwgMHg3YSwgMHg1YiwgMHg1MCwgMHgwYiwgMHg1YywgMHgwYiwgMHg1MCwgMHhhNSwgCi0gICAgMHhkZSwgMHgwMiwgMHgwYiwgMHg1MCwgMHgxYiwgMHg4NCwgMHg3OCwgMHhmMCwgMHg3YywgMHg1NCwgMHg3ZiwgMHg1NywgMHg3ZCwgMHg4NCwgMHg2YywgMHg2NiwgCi0gICAgMHhiZSwgMHg1YiwgMHg1MCwgMHg3OCwgMHgxYSwgMHgwYiwgMHg1YywgMHgwYiwgMHg1MCwgMHhhNSwgMHhkZSwgMHgwMiwgMHgwYiwgMHg1MCwgMHgxYiwgMHg4NCwgCi0gICAgMHg3OCwgMHhlZSwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3NSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHg0YiwgMHg3ZiwgCi0gICAgMHg0NSwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3YSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHg2OCwgMHgwYSwgMHhmYSwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZCwgMHg0YiwgMHgxMiwgMHgxYSwgMHhjOSwgMHg3ZSwgMHg2OCwgMHgwYiwgMHgwZiwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg2YywgMHg4OCwgMHg3YywgMHg5NSwgMHgxMiwgMHgxYSwgMHhjOSwgMHg3ZSwgMHg2OCwgCi0gICAgMHgwYiwgMHgxZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHg0YiwgMHg5MCwgMHgxMiwgMHgxYSwgMHhjOSwgMHgxMiwgCi0gICAgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgwNSwgMHg3ZSwgMHg0YiwgMHg5MCwgMHg4MCwgMHhmYiwgMHg3ZSwgMHg2OCwgMHgwYiwgMHg3ZiwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgwYiwgMHgwMCwgMHhkMiwgMHg5MiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgwOCwgMHhiZSwgMHhiMCwgMHgwMSwgMHg3OCwgMHgwYiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhiZSwgMHhiMCwgMHg2MCwgMHg3OCwgMHgwMiwgMHg4MCwgCi0gICAgMHgxNywgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3YSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgCi0gICAgMHgwOSwgMHgxMSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg4MCwgMHhmYSwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3NSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHg2OCwgMHgwYiwgMHhhMSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgwYiwgMHgwMCwgCi0gICAgMHhjMiwgMHg5MiwgMHgxMiwgMHgxOSwgMHhlZSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgCi0gICAgMHg3ZSwgMHhiMCwgMHgwMSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgzNywgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgwOCwgMHg1ZSwgMHhiMCwgMHhjMCwgMHhiZSwgMHhiMCwgMHhjMCwgMHg3OCwgMHgyYiwgMHg3ZSwgMHhhMCwgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxYywgMHg2YywgMHhiYiwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgMHg3OCwgMHgxNiwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHg1ZSwgMHhiMCwgMHhjMCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3NSwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHgxYiwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg3YSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgCi0gICAgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgwYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxYywgMHgwOSwgMHhiMiwgMHgwMCwgMHgxYywgMHg4MCwgCi0gICAgMHhmNiwgMHg3ZSwgMHg2OCwgMHgwYiwgMHhjMywgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHg2OCwgMHgwYywgMHg0NSwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHg3ZSwgMHhiMCwgCi0gICAgMHgwMSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxYywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHgwYiwgMHhiMCwgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZSwgMHgyNCwgCi0gICAgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHg3ZSwgMHhiMCwgMHgwMSwgMHgwYiwgMHgwMCwgMHgwOSwgMHhhMiwgMHgwMCwgMHgxYywgMHhiYywgMHhhYiwgCi0gICAgMHg3OCwgMHgxNiwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgyZSwgMHgyNCwgMHgwMSwgCi0gICAgMHgwMCwgMHgwYiwgMHhiMCwgMHhhNSwgMHhkOSwgMHhlMiwgMHg4MCwgMHgyNSwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHhlNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgCi0gICAgMHgwOSwgMHhhMiwgMHgwMCwgMHgxYywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhmNSwgMHg4MCwgMHhlYywgMHg3ZSwgMHg2OCwgMHgwYywgCi0gICAgMHg2OSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxMywgMHg4YSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHg3NCwgMHgxMCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxMywgMHgwMywgMHgyZSwgMHgyNCwgMHgwMSwgCi0gICAgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZSwgMHg3ZSwgMHg2OCwgMHgwYywgMHg4ZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHhlNCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxMywgMHgwMywgCi0gICAgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZiwgMHgzMCwgMHgwMCwgMHgwMywgMHgwMiwgMHgxOCwgMHhiNywgMHgwMiwgMHgxMywgMHhiYiwgCi0gICAgMHg3NCwgMHgwNywgMHgxOSwgMHhiMiwgMHgwMCwgMHgwOCwgMHgxMiwgMHgxOSwgMHhmYiwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxNCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjMiwgMHgwYiwgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxMiwgMHgxMywgCi0gICAgMHg2NCwgMHg3ZSwgMHhiMCwgMHhhYSwgMHgxMiwgMHgxMywgMHg2NCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHgxMiwgMHgxMywgMHg2NCwgMHg3ZSwgMHhiMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxMywgMHg2NCwgMHgzMCwgMHgwYiwgMHgwZiwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgCi0gICAgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgyMiwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgCi0gICAgMHgyMiwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHhiYywgMHhhYiwgMHg3OCwgMHgwMSwgCi0gICAgMHgyMiwgMHgyMCwgMHgwOSwgMHgwMywgMHhkMiwgMHgwYiwgMHgyMiwgMHgxMiwgMHgxYSwgMHgwOCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgCi0gICAgMHhlZSwgMHgwOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHg4MCwgMHhmMywgMHhkMiwgMHg5MiwgMHgxMiwgMHgxOSwgMHhlZSwgMHhjMiwgMHg5MiwgMHgxMiwgMHgxOSwgCi0gICAgMHhlZSwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHg3NCwgMHg4MCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMiwgMHgwMCwgMHgwYywgCi0gICAgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlMSwgMHgyMiwgMHg3ZSwgMHg2OCwgMHgwYywgMHhiMSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgCi0gICAgMHg5MywgMHg4MCwgMHgxYSwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgCi0gICAgMHgwOCwgMHgzMCwgMHgwOSwgMHgwOSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHg4MCwgMHhmNywgMHgyZSwgMHgyNCwgMHgwMSwgCi0gICAgMHgwMCwgMHhhNSwgMHhkOSwgMHhiNiwgMHg3ZSwgMHg2OCwgMHgwYywgMHhkNSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgCi0gICAgMHhhMCwgMHg1NSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgCi0gICAgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHgxYSwgMHg3ZSwgCi0gICAgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgwOSwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHg4MCwgMHhmNywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhiNiwgCi0gICAgMHgzMCwgMHgwNCwgMHgwMywgMHgwMiwgMHgxNiwgMHg4YywgMHg3ZSwgMHg2OCwgMHgwYywgMHhmOSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgCi0gICAgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgMHg3OCwgMHgzYywgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgCi0gICAgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwYSwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgCi0gICAgMHgxMiwgMHgxYSwgMHg5MywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMiwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgwZCwgMHg0MSwgCi0gICAgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgCi0gICAgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMSwgCi0gICAgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNSwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgCi0gICAgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgCi0gICAgMHgzMCwgMHgwOSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgwZCwgMHg4OSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg1MCwgMHhiZSwgMHhiMCwgMHg1MCwgMHg3OCwgMHgxZiwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgCi0gICAgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg1MCwgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgwZiwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgCi0gICAgMHhkOSwgMHhhMiwgMHg3ZSwgMHg2OCwgMHgwZCwgMHhkMSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgCi0gICAgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHhhMCwgMHhiZSwgMHhiMCwgMHhhMCwgMHg3OCwgMHgxZiwgCi0gICAgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHhhMCwgCi0gICAgMHg3OCwgMHgwZCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHgyMCwgMHg3ZSwgCi0gICAgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgwZiwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgCi0gICAgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHgwMiwgMHgxOCwgMHgyYiwgMHg3ZSwgMHg2OCwgMHgwZCwgMHgxZCwgMHg3YSwgMHg2YywgMHgwMCwgCi0gICAgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgCi0gICAgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgCi0gICAgMHgwNiwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgCi0gICAgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgCi0gICAgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwNiwgMHg3OCwgMHgxNCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgCi0gICAgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHhlNiwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgCi0gICAgMHg2OCwgMHgwZCwgMHg2NSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgCi0gICAgMHgwOSwgMHgwYiwgMHgwMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwOSwgMHg3OCwgMHgzYywgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHgwMywgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHgwOSwgMHg3OCwgCi0gICAgMHgxNCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgCi0gICAgMHhhNSwgMHhkOSwgMHg5ZSwgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgCi0gICAgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHhlNiwgMHg3ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgCi0gICAgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHg3ZSwgMHg2OCwgMHgwZCwgMHhhZCwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgCi0gICAgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg5MCwgMHhiZSwgMHhiMCwgMHg5MCwgMHg3OCwgMHgxZiwgMHg2YywgCi0gICAgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxOCwgMHg1ZSwgMHhiMCwgMHg5MCwgMHg3OCwgCi0gICAgMHgwZCwgMHg3ZSwgMHg2OCwgMHgwYSwgMHg4MiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHg4MCwgMHgyMCwgMHg3ZSwgMHg2OCwgCi0gICAgMHgwYSwgMHg4YiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgwZiwgMHg3ZSwgCi0gICAgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg4MCwgMHhmMSwgMHgyZSwgMHgyNCwgCi0gICAgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhhMiwgMHgwMiwgMHgxOCwgMHhiNywgMHgzMCwgMHgxNywgMHgwMywgMHgwMiwgMHgxOSwgMHgzYiwgMHhjMiwgMHg4YSwgCi0gICAgMHgxMiwgMHgxOSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHg2YywgMHhhYSwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgCi0gICAgMHgxMiwgMHgxOSwgMHhlZSwgMHgwYiwgMHgwMCwgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgyMCwgCi0gICAgMHg4YiwgMHgzZSwgMHgyMCwgMHg4OSwgMHgzYiwgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgwOSwgMHhhMiwgMHgwMCwgMHgxMCwgCi0gICAgMHg0ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgzMCwgMHg4YiwgMHgyMywgMHgzMCwgMHg4OSwgMHgyMCwgCi0gICAgMHgwOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHg1ZSwgMHhhMCwgMHhmZCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHg3ZSwgMHhhMCwgCi0gICAgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgyMCwgMHg4YiwgMHgwNSwgMHgyMCwgMHg4OSwgMHgwMiwgMHg4MCwgMHgxYSwgCi0gICAgMHgxMiwgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgxNCwgMHg3ZSwgMHhhMCwgMHgwMiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgwMCwgMHgwMCwgMHg1ZSwgCi0gICAgMHhhMCwgMHhmZCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhlYywgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgCi0gICAgMHg4OSwgMHgwMiwgMHgxOSwgMHgzYiwgMHgyMCwgMHgxNywgMHhmYSwgMHgxMiwgMHgxMywgMHg4YSwgMHgxMiwgMHgxOSwgMHgyMiwgMHg3ZSwgMHgyNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHgwYiwgMHgwMCwgMHgyMCwgMHg4OSwgMHgyNiwgMHg3ZSwgMHhhMCwgMHhmZiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgCi0gICAgMHgxMiwgMHgxOSwgMHhlZSwgMHg3ZSwgMHhiMCwgMHg1NSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgzMCwgMHg4OSwgMHgwZiwgCi0gICAgMHg3ZSwgMHhhMCwgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOSwgMHhlZSwgMHgyMCwgMHg4OSwgMHgwMiwgMHg4MCwgMHgyNiwgMHgxMiwgCi0gICAgMHgxYSwgMHgwOCwgMHgzMCwgMHgwOSwgMHgyMCwgMHg3ZSwgMHhhMCwgMHhmZiwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgMHgxMiwgMHgxOSwgMHhlZSwgMHg3ZSwgCi0gICAgMHhiMCwgMHg1NSwgMHgxOSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgxMiwgMHgxOSwgMHhlZSwgMHg3ZSwgMHhhMCwgMHgwMCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgwNCwgCi0gICAgMHgxMiwgMHgxOSwgMHhlZSwgMHg4MCwgMHhlMCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhhOCwgMHgwMiwgMHgxOSwgMHgzYiwgMHg3ZSwgCi0gICAgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgwOSwgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgMHgwMCwgMHgxMCwgMHgxMiwgMHgxOSwgMHhlZSwgCi0gICAgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhlZiwgMHgyMiwgMHgzMCwgMHgwYSwgMHgxOSwgMHg3ZSwgMHg2OCwgMHgwZCwgMHhmNSwgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHhkMiwgMHgwOSwgMHgxMiwgMHgxOSwgMHhlZSwgMHgxMiwgMHgxOSwgMHhlZSwgMHgxMiwgMHgxOSwgCi0gICAgMHhlZSwgMHgwMiwgMHgwZiwgMHgxMCwgMHgzMCwgMHgxNywgMHgxYywgMHg3ZSwgMHg2OCwgMHgwZSwgMHg2ZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgCi0gICAgMHgxYSwgMHg5MywgMHg3ZSwgMHg2OCwgMHgwZSwgMHg5MSwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgxMiwgMHgxYiwgMHgzYywgCi0gICAgMHgwMiwgMHgxOSwgMHhlNiwgMHgwYiwgMHgwMCwgMHg3ZSwgMHg3OCwgMHgxOSwgMHhhMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZiwgMHg3ZiwgMHg2NywgMHg3YSwgCi0gICAgMHg2YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3MCwgMHgzZSwgMHg3ZSwgMHg3YiwgMHhiMCwgMHg3YSwgMHg2YiwgMHhiMCwgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgCi0gICAgMHhhNSwgMHhkZiwgMHhmMywgMHg3ZSwgMHg3OCwgMHgxOSwgMHhhMCwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg4OSwgMHg3OCwgMHg3ZSwgMHg3OCwgMHgwMCwgCi0gICAgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZSwgMHg3ZSwgMHg2OCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHg2YywgMHgwMCwgMHhmZSwgMHg3NCwgMHhhYSwgMHgzOSwgCi0gICAgMHhiNywgMHg1NSwgMHg1NSwgMHg3NCwgMHg1NSwgMHgzOSwgMHhiNywgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgMHhiNywgMHg1NSwgMHg1NSwgMHg2YywgCi0gICAgMHg5OSwgMHg3YSwgMHg2YiwgMHg5MCwgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgMHg3ZSwgMHg2YiwgMHg4MCwgMHhiYywgMHg4OSwgMHg2OCwgMHgwOCwgMHgxYiwgCi0gICAgMHg1NCwgMHg3OCwgMHhmNSwgMHg4YSwgMHhmZiwgMHgxOSwgMHhkZSwgMHg4YSwgMHhmZiwgMHgxOSwgMHhlNiwgMHgxMiwgMHgxYSwgMHgwOCwgMHg3ZSwgMHg2YiwgCi0gICAgMHg4MCwgMHg4MCwgMHhmYiwgMHg3ZSwgMHgxMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg4NSwgMHg4MCwgMHhmOCwgMHhjYSwgMHhmOSwgMHg3ZSwgMHhmNCwgMHgwMCwgCi0gICAgMHhmZiwgMHgxYiwgMHhmNCwgMHg3OCwgMHhmYywgMHhkYSwgMHhmOSwgMHgyMiwgMHhjYSwgMHhmOSwgMHg3ZSwgMHhmNCwgMHgwMCwgMHgwMCwgMHgxYiwgMHhmNCwgCi0gICAgMHg3OCwgMHhmYywgMHhkYSwgMHhmOSwgMHgyMiwgMHgyMCwgMHgwOSwgMHgxOSwgMHhkMiwgMHgwYSwgMHgxMiwgMHgxOSwgMHhmYiwgMHhjMiwgMHg5NSwgMHhkMiwgCi0gICAgMHg5NCwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHg0MywgMHg5MCwgMHgzMCwgCi0gICAgMHgyMiwgMHhjYSwgMHgwYiwgMHg3ZSwgMHgxMCwgMHgwMywgMHg3YywgMHgzMCwgMHg2YywgMHgyMiwgMHgwYiwgMHgyMCwgMHg5ZSwgMHgzMCwgMHgwYSwgMHg1MCwgCi0gICAgMHhmOSwgMHgyZSwgMHgzMCwgMHgwYiwgMHgxYiwgMHgyMCwgMHg2OCwgMHgxOCwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHg1MywgMHg5MCwgCi0gICAgMHhjZiwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHg0MywgMHg5MCwgMHgzMCwgMHhhNSwgMHhkYSwgMHhlOCwgCi0gICAgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxYiwgMHgzMCwgMHg2OCwgMHgxOSwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgCi0gICAgMHhjMiwgMHg5NSwgMHhkMiwgMHg5NCwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHgxMiwgMHgxOSwgMHhmYiwgMHg0MywgMHg5MCwgMHgzMCwgCi0gICAgMHhhNSwgMHhkYiwgMHhlNywgMHg3ZSwgMHgyMCwgMHgwYSwgMHgxMiwgMHgxOSwgMHhmYiwgMHhhNSwgMHhkYSwgMHhmYSwgMHhhNSwgMHhkOSwgMHhhNywgMHhkYSwgCi0gICAgMHgwYiwgMHgyMiwgMHgyMCwgMHgwOSwgMHgwYSwgMHgxMiwgMHgxOSwgMHhmYiwgMHhiMiwgMHg5NCwgMHgxMiwgMHgxOSwgMHhmYiwgMHhiMiwgMHg5NCwgMHgyMiwgCi0gICAgMHgzMCwgMHgxNywgMHgzMiwgMHgyMCwgMHgwOSwgMHgyZiwgMHhjYSwgMHgyYiwgMHhjYSwgMHg3YiwgMHg3ZSwgMHg3OCwgMHg4MCwgMHgwMCwgMHg3YSwgMHg3YywgCi0gICAgMHgwMCwgMHhmZSwgMHgxMiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg2YiwgMHhhMCwgMHg1YywgMHhhYSwgMHg2OCwgMHgxMCwgMHgyOSwgMHhiNywgMHgwMCwgMHgxNCwgCi0gICAgMHg1NCwgMHg2MCwgMHg2OCwgMHhmOCwgMHgzOSwgMHhhNywgMHgwMCwgMHgwMCwgMHgwYiwgMHg2YywgMHg4MCwgMHhlOSwgMHgxMiwgMHgxOSwgMHhlZSwgMHhkMiwgCi0gICAgMHhiNSwgMHhkYSwgMHg3YiwgMHhkYSwgMHgyYiwgMHgyMiwgMHgxMiwgMHgxYSwgMHhkNCwgMHg3ZSwgMHg2OCwgMHgwMCwgMHgwYiwgMHgxMiwgMHgxYSwgMHg5MywgCi0gICAgMHgyMiwgMHhjYSwgMHg1OSwgMHhjYSwgMHg1YiwgMHg3ZSwgMHhiNCwgMHgwMCwgMHgwYiwgMHg3YywgMHhiOCwgMHhjNCwgMHgxMiwgMHgxYiwgMHgwNCwgMHg3YywgCi0gICAgMHhiOCwgMHgxMiwgMHgxYiwgMHgwNCwgMHg3YywgMHhiOSwgMHhjNCwgMHgxMiwgMHgxYiwgMHgwNCwgMHg3YywgMHhiOSwgMHgxMiwgMHgxYiwgMHgwNCwgMHg3ZSwgCi0gICAgMHhiMCwgMHg2OCwgMHg3YSwgMHhiOSwgMHhiMCwgMHgwYiwgMHhiNCwgMHg2YywgMHhiYiwgMHg3YSwgMHhiOSwgMHhiMCwgMHhkYSwgMHg1OSwgMHhkYSwgMHg1YiwgCi0gICAgMHgyMiwgMHg1ZSwgMHhiMCwgMHgwZiwgMHg3YywgMHhhYiwgMHg5ZSwgMHhhMCwgMHgwYSwgMHg0MCwgMHgwNSwgMHgyZSwgMHhiMCwgMHgzNywgMHg4MCwgMHgwMywgCi0gICAgMHgyZSwgMHhiMCwgMHgzMCwgMHg3YSwgMHhiOSwgMHhiMCwgMHgwYiwgMHhiNCwgMHgyMiwgMHhjMiwgMHhiNSwgMHhjMiwgMHg5MiwgMHgxMiwgMHgxOSwgMHhlZSwgCi0gICAgMHg3NCwgMHg4MCwgMHgzOSwgMHhiNywgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwNiwgMHgzOSwgMHhhNywgMHgwMCwgMHgwNCwgMHgzOSwgMHhiNywgCi0gICAgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgzOSwgMHhiNywgMHgwMCwgMHgwYywgMHgyMiwgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgCi0gICAgMHhmZiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHgwMSwgMHg3ZiwgMHg2NSwgMHg3ZSwgMHg3NCwgMHgyMCwgMHgwMCwgMHgxMiwgCi0gICAgMHgwOCwgMHhkNiwgMHg0MCwgMHg1NCwgMHg3ZSwgMHg3OCwgMHg3YywgMHgwMCwgMHg3YSwgMHg3YywgMHgwMCwgMHhmZiwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgCi0gICAgMHg3YSwgMHg1YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg2OCwgMHg3YywgMHgwMCwgMHg3YSwgMHg2YywgMHgwMCwgMHgwMSwgMHg3ZSwgMHg3NCwgMHgwNCwgMHgwMCwgCi0gICAgMHgxMiwgMHgwOCwgMHhkNiwgMHg0MCwgMHgzMywgMHg3NCwgMHg4MCwgMHgxMiwgMHgxYiwgMHhiMSwgMHg0MCwgMHgyYywgMHg1MywgMHg5MCwgMHhjZiwgMHhkMiwgCi0gICAgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHg4NCwgMHhhNSwgMHhkYiwgMHhmYywgMHhhNSwgMHhkYSwgMHhmOSwgCi0gICAgMHhhNSwgMHhkOSwgMHhmNiwgMHg3NCwgMHg0MCwgMHgxMiwgMHgxYiwgMHhiMSwgMHg0MCwgMHgwZSwgMHg3ZSwgMHg2OCwgMHgwZSwgMHhjMCwgMHg3YSwgMHg2YywgCi0gICAgMHgwMCwgMHhmZiwgMHgxMiwgMHgxYSwgMHg5MywgMHgwMiwgMHgxOSwgMHhlNiwgMHhjMiwgMHg5NSwgMHhkMiwgMHg5NCwgMHg4MCwgMHhmZSwgMHhmNSwgMHgwYSwgCi0gICAgMHg3ZSwgMHg3OCwgMHgwMCwgMHgwYSwgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg2OCwgMHg3ZiwgMHhiZiwgMHg3YSwgMHg2YywgMHgwMCwgMHgwMSwgCi0gICAgMHg3ZSwgMHg3NCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwOCwgMHhkNiwgCi19OwotCi1zdGF0aWMgc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIElNQUdFX1ZFUlNJT05fTkFNRSA9IHsKLQkxLCAxMiwgMiB9OwkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi0jdW5kZWYgSU1BR0VfVkVSU0lPTl9OQU1FCi0KLSN1bmRlZiBJTUFHRV9BUlJBWV9OQU1FCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19md19ib290Mi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzNDYzZGUuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Jvb3QyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NDYgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCi0vLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2Ci0vLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0vLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi0vL0ltYWdlIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0jaWYgIWRlZmluZWQoREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRCkKLSNkZWZpbmUgREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRAotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCB7Ci0JCV9fbGUxNiBFeHRBZGRyOwotCQlfX2xlMTYgQWRkcjsKLQkJX19sZTE2IExlbjsKLQkJdW5zaWduZWQgY2hhciAgRGF0YVswXTsKLQl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKLQotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX3ZlcnNpb25faW5mbyB7Ci0JCXVuc2lnbmVkIGNoYXIJIE1ham9yVmVyc2lvbjsKLQkJdW5zaWduZWQgY2hhciAgTWlub3JWZXJzaW9uOwotCQl1bnNpZ25lZCBzaG9ydCBCdWlsZE51bWJlcjsKLQl9OwotCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKElNQUdFX0FSUkFZX05BTUUpCi0jZGVmaW5lIElNQUdFX0FSUkFZX05BTUUJCUZpcm13YXJlSW1hZ2UKLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCUZpcm13YXJlSW1hZ2VWZXJzaW9uCi0jZW5kaWYKLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgSU1BR0VfQVJSQVlfTkFNRVtdID0gewotCi0vLyBTZWdtZW50ICMxLCBTdGFydCBBZGRyZXNzIDAwZmYwMDAwLCBMZW5ndGggNgotMHhmZiwweDAwLDB4MDAsMHgwMCwweDA2LDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg4MCwgMHgwMiwgMHgwMCwgMHgwMywgCi0KLS8vIFNlZ21lbnQgIzIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgwYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDBiLCAKLQotLy8gU2VnbWVudCAjMywgU3RhcnQgQWRkcmVzcyAwMGZmMDAxMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDEzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDIsIDB4NTYsIAotCi0vLyBTZWdtZW50ICM0LCBTdGFydCBBZGRyZXNzIDAwZmYwMDFiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MWIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgxYiwgCi0KLS8vIFNlZ21lbnQgIzUsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMjMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDIzLCAKLQotLy8gU2VnbWVudCAjNiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDJiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MmIsIAotCi0vLyBTZWdtZW50ICM3LCBTdGFydCBBZGRyZXNzIDAwZmYwMDMzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MzMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzMywgCi0KLS8vIFNlZ21lbnQgIzgsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwM2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDNiLCAKLQotLy8gU2VnbWVudCAjOSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDQzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NDMsIAotCi0vLyBTZWdtZW50ICMxMCwgU3RhcnQgQWRkcmVzcyAwMGZmMDA0YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDRiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4NGIsIAotCi0vLyBTZWdtZW50ICMxMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDA1MywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDUzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDEsIDB4ZjUsIAotCi0vLyBTZWdtZW50ICMxMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDA3YiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDdiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4N2IsIAotCi0vLyBTZWdtZW50ICMxMywgU3RhcnQgQWRkcmVzcyAwMGZmMDA4MCwgTGVuZ3RoIDUzNAotMHhmZiwweDAwLDB4ODAsMHgwMCwweDE2LDB4MDIsCi0gICAgMHg3ZSwgMHhiMywgMHg5MSwgMHgwMSwgMHgyMCwgMHhlMywgMHgwYywgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMiwgMHg4MCwgMHgwYSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3ZSwgMHhmOCwgMHgwMCwgMHgyNCwgMHg3ZSwgMHgwMCwgMHgwMSwgCi0gICAgMHg3ZSwgMHgxMCwgMHgwMCwgMHgxMiwgMHgwOSwgMHhkMCwgMHg2OSwgMHgyMCwgMHgwMCwgMHgwYSwgMHg1ZSwgMHg0MCwgMHgxZiwgMHhiZSwgMHgyNCwgMHgwMCwgCi0gICAgMHgwMCwgMHg3OCwgMHgwOSwgMHg3ZSwgMHgwMCwgMHgwMywgMHg3YSwgMHgwMywgMHg5MCwgMHgwMCwgMHg4MCwgMHgwNywgMHg3ZSwgMHgwMCwgMHgwMiwgMHg3YSwgCi0gICAgMHgwMywgMHg5MCwgMHgwMCwgMHg3NSwgMHhiMCwgMHhkZiwgMHg3ZSwgMHgwMCwgMHgwMSwgMHg3YSwgMHgwMywgMHg5NCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgCi0gICAgMHgyNCwgMHg3ZSwgMHgwMCwgMHgwMSwgMHg3YSwgMHgwMywgMHg5MywgMHgwMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHhhNSwgMHhkOCwgMHhmZCwgMHg3NSwgMHhhOCwgCi0gICAgMHgwMCwgMHg3NSwgMHhiMSwgMHgwMCwgMHhjYSwgMHgyOSwgMHgxMiwgMHgwYywgMHg2NiwgMHgxMiwgMHgwYywgMHgzNywgMHhmNSwgMHgyMSwgMHg3YSwgMHhhMSwgCi0gICAgMHgyMCwgMHgyMCwgMHgwOSwgMHgwOCwgMHgyMCwgMHgwYSwgMHgwYSwgMHg3ZSwgMHhiMCwgMHgwYywgMHg4MCwgMHgwOCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg4MCwgCi0gICAgMHgwMywgMHg3ZSwgMHhiMCwgMHgwOCwgMHg3YSwgMHhiMywgMHg5MiwgMHgwMCwgMHgxMiwgMHgwMiwgMHg5NiwgMHhkYSwgMHgyOSwgMHg3NCwgMHgxMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMSwgMHg3ZSwgMHgyMCwgMHgwNCwgMHg3YywgMHhiMiwgMHhjMiwgMHhkNywgMHgxMywgMHgxMywgMHgxMywgMHgxMywgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgwMiwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHhhNSwgMHhkYSwgMHhkZiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgCi0gICAgMHgzNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMywgMHg3NCwgMHgzZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgwNiwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHg0NCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgMHhlZiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHg3NCwgMHgwNywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgCi0gICAgMHhiMywgMHg5MSwgMHgwNywgMHg3YSwgMHhiMSwgMHgwYSwgMHg3NSwgMHgwOSwgMHgwMSwgMHhkMiwgMHhhYSwgMHhkMiwgMHhhZiwgMHhlNCwgMHg3ZSwgMHg2MCwgCi0gICAgMHgwMiwgMHg0ZCwgMHgyMiwgMHg3OCwgMHgwMywgMHg3ZSwgMHg2MCwgMHgwMywgMHg3YywgMHg3NiwgMHg3ZSwgMHgwNCwgMHgyOCwgMHgwMCwgMHg4ZCwgMHhlZiwgCi0gICAgMHgxYiwgMHgwNCwgMHg3OCwgMHhmYSwgMHgwNCwgMHg3ZSwgMHgyMCwgMHgwNywgMHg3YSwgMHgyMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgwNywgCi0gICAgMHg3ZSwgMHgzMSwgMHgwYSwgMHhiYywgMHgzMiwgMHg2OCwgMHgyMiwgMHg3YSwgMHgyMSwgMHgwYSwgMHg3ZSwgMHgyMSwgMHgwOSwgMHg2OCwgMHgxNywgMHhjYSwgCi0gICAgMHhiOCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg0NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgwNywgMHhkYSwgMHhiOCwgMHg3NSwgMHgwOSwgMHgwMCwgMHgzMCwgMHhlMCwgMHhjMSwgMHg2YywgMHg2NywgMHg3YSwgMHg2MywgMHg5MCwgMHgwMCwgMHg4MCwgCi0gICAgMHhiOSwgMHhiZSwgMHhiMCwgMHgwMiwgMHgyMiwgMHhjMCwgMHhkMCwgMHg3NSwgMHgwOCwgMHhmZSwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3NCwgMHgwMiwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3NCwgCi0gICAgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHg3NCwgMHgwMiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgCi0gICAgMHhlMCwgMHgwOCwgMHg3NCwgMHgxOCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMSwgMHg4MCwgMHgwNiwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMSwgCi0gICAgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHgwMiwgMHgwMiwgMHgzNiwgMHg3NSwgMHgwOCwgMHhmZiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3NCwgCi0gICAgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgwNywgMHg1NCwgCi0gICAgMHhmYywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgMHgzMiwgMHhjYSwgMHhiOCwgMHg3NSwgMHgwOCwgMHgwMiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgwMywgMHgyMCwgMHhlNSwgMHgwOCwgMHgzMCwgMHhlMCwgMHgyYiwgMHgxMiwgMHgwMiwgMHg5ZSwgMHg4MCwgMHhmMSwgMHg3ZSwgMHhiMywgMHg5MSwgCi0gICAgMHgwNCwgMHgzMCwgMHhlMCwgMHgwNSwgMHhkYSwgMHhiOCwgMHgwMiwgMHgwMiwgMHgzOSwgMHgzMCwgMHhlMSwgMHgwNSwgMHhkYSwgMHhiOCwgMHgwMiwgMHgwMSwgCi0gICAgMHhmNSwgMHgzMCwgMHhlNiwgMHgwNSwgMHgxMiwgMHgwNCwgMHgwMywgMHg4MCwgMHhkNSwgMHgzMCwgMHhlMiwgMHgwNSwgMHhkYSwgMHhiOCwgMHgwMiwgMHgwMCwgCi0gICAgMHg4MCwgMHg4MCwgMHhjYiwgMHhkYSwgMHhiOCwgMHgzMiwgCi0KLS8vIFNlZ21lbnQgIzE0LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmYzMWQ3LCBMZW5ndGggMQotCi0KLS8vIFNlZ21lbnQgIzE1LCBTdGFydCBBZGRyZXNzIDAwZmYwMjk2LCBMZW5ndGggMjA5MAotMHhmZiwweDAwLDB4OTYsMHgwMiwweDJhLDB4MDgsCi0gICAgMHhlNCwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHgwMiwgMHgwMywgMHg0MSwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgCi0gICAgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyZSwgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgxYywgMHhiNCwgMHgwMSwgMHgxOSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgCi0gICAgMHg1NCwgMHgxNCwgMHg2OCwgMHgwNSwgMHgxMiwgMHgwMywgMHgwNSwgMHg4MCwgMHgyMywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgzMCwgMHhlNSwgMHgxYywgCi0gICAgMHgxMiwgMHgwNCwgMHg0MywgMHg4MCwgMHgxNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgzMCwgMHhlNSwgMHgwNSwgMHgxMiwgMHgwNCwgMHg0MywgMHg4MCwgCi0gICAgMHgwYiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHg1NCwgMHgxNCwgMHg2OCwgMHgwMywgMHgxMiwgMHgwMywgMHgwNSwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgCi0gICAgMHhkYSwgMHg2YiwgMHhkYSwgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHgyMCwgCi0gICAgMHhlNCwgMHgxOSwgMHg3NSwgMHgwOCwgMHgwYSwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyZCwgMHg3MCwgMHgwYSwgMHg3ZSwgMHhiMywgCi0gICAgMHgwMSwgMHgyZSwgMHhiNCwgMHgwMSwgMHgxZiwgMHgwMiwgMHgwMywgMHg5ZCwgMHgwMiwgMHgwOSwgMHg4YiwgMHg3NSwgMHgwOCwgMHgwYiwgMHgxMiwgMHgwYSwgCi0gICAgMHhjMCwgMHg3NCwgMHgxNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyZSwgMHhiNCwgMHgwMiwgMHgwYywgMHgxMiwgMHgwMywgCi0gICAgMHg0ZCwgMHgwMiwgMHgwMywgMHg0MSwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgCi0gICAgMHgwMSwgMHgyZSwgMHg3YSwgMHgwMywgMHgwMSwgMHgyZiwgMHgyMiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNSwgMHg1NCwgMHg2MCwgMHg2MCwgMHgwNSwgMHhiNCwgCi0gICAgMHg0MCwgMHgxZSwgMHg4MCwgMHgxYywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwNSwgMHgxNSwgMHg3NSwgMHgwOCwgMHg3MSwgMHgxMiwgMHgwYSwgCi0gICAgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHg3ZSwgMHhhMCwgMHgwMSwgMHg3YSwgMHhhMywgMHg5MSwgMHgwNiwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNywgCi0gICAgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgyMiwgMHhiZSwgMHg1NywgCi0gICAgMHgwMSwgMHgyYiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyYiwgMHg3YSwgMHgwZiwgMHgwMSwgMHgzMSwgMHg3YSwgMHg1NywgMHgwMSwgMHgzNSwgCi0gICAgMHg3NCwgMHgxMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgCi0gICAgMHgxYSwgMHg3MCwgMHg1MywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMCwgMHhlNCwgMHg0YywgMHg3ZSwgMHhlZiwgMHgwMSwgMHgzMSwgMHg3ZSwgMHhmNywgCi0gICAgMHgwMSwgMHgzNSwgMHg3ZSwgMHgwNywgMHgwMSwgMHgzNSwgMHg0ZCwgMHgwMCwgMHg2OCwgMHgyMSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHhlMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxNywgMHhhMywgMHhhNSwgMHgwOCwgMHgxYiwgMHhmNCwgMHg2OCwgMHgwNiwgMHhhNSwgMHhiOCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgxOSwgMHg3ZSwgCi0gICAgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgMHgwMSwgMHgyZSwgMHhiZSwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwZCwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3YSwgMHhiMywgCi0gICAgMHgwMSwgMHgyZSwgMHg3NCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3YSwgMHhlZiwgMHgwMSwgMHgzMSwgMHg3YSwgMHhmNywgMHgwMSwgMHgzNSwgCi0gICAgMHg3NSwgMHgwOCwgMHgwNiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3NCwgMHgwNCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHhjYSwgMHgwYiwgMHhjYSwgCi0gICAgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHg3NSwgCi0gICAgMHgwOCwgMHgwMywgMHgxMiwgMHgwYSwgMHhjMCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgwMSwgMHgyZCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgwMCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHgxMiwgMHgwNCwgMHhiMiwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgCi0gICAgMHhkYSwgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHg3NSwgMHgwOCwgMHgwMywgCi0gICAgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyZiwgMHhiNCwgMHgwMiwgMHgxMSwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgwMSwgMHgyZiwgCi0gICAgMHg3YSwgMHhiMywgMHgwMSwgMHgyZSwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHgyMiwgMHhiNCwgMHgwMSwgMHg0NiwgMHg3ZSwgMHhiMywgCi0gICAgMHg5MSwgMHgwNCwgMHgyMCwgMHhlNiwgMHg0MiwgMHg3ZSwgMHgyMywgMHg5MSwgMHgxYSwgMHg3YywgMHgzMiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgzMCwgMHgyYywgCi0gICAgMHgyMSwgMHg3YSwgMHgyMywgMHgwMSwgMHgzMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgyZSwgMHgwNCwgMHgwMSwgMHgzNywgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNiwgCi0gICAgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHhhNSwgMHhkYiwgMHhmNCwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNCwgMHg3NSwgMHgwOCwgCi0gICAgMHg3MCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgzMCwgMHg3ZSwgMHhhMywgMHgwMSwgMHgyYywgMHhiYywgMHhhYiwgMHg3OCwgMHgwMywgCi0gICAgMHgxMiwgMHgwNSwgMHg1MiwgMHgyMiwgMHgwMiwgMHgwOSwgMHg4YiwgMHhkYSwgMHg1OSwgMHgwMiwgMHgwNCwgMHgxNSwgMHg3NCwgMHhlMCwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgwMCwgMHg3ZSwgMHgwMywgMHg5MSwgMHgxMCwgMHg3ZSwgMHgxMywgMHg5MSwgMHgxMSwgMHg3ZSwgMHgzMywgMHg5MSwgMHgxMiwgMHg3ZSwgMHgyMywgCi0gICAgMHg5MSwgMHgxMywgMHg3ZSwgMHg1MywgMHg5MSwgMHgxNCwgMHg3ZSwgMHg0MywgMHg5MSwgMHgxNSwgMHg3ZSwgMHg3MywgMHg5MSwgMHgxNiwgMHg3ZSwgMHg2MywgCi0gICAgMHg5MSwgMHgxNywgMHg3YSwgMHgwZiwgMHgwMSwgMHgyNSwgMHg3YSwgMHgxZiwgMHgwMSwgMHgyOSwgMHg3NSwgMHgwOCwgMHgwNCwgMHgxMiwgMHgwYSwgMHhjMCwgCi0gICAgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgyMSwgMHgwOCwgMHgxMiwgCi0gICAgMHgwYSwgMHhjMCwgMHg3YSwgMHgzMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHg0MSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHg1MSwgCi0gICAgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHg2MSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHg3MSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwNCwgMHgxMiwgMHgwNSwgMHgyNiwgMHgyMiwgCi0gICAgMHg2ZCwgMHgwMCwgMHg3ZSwgMHgxNCwgMHgwMSwgMHgwMiwgMHg3YSwgMHgwNywgMHgwMSwgMHgzNSwgMHg3YSwgMHgwMywgMHgwMSwgMHgzMCwgMHg3ZSwgMHhiMywgCi0gICAgMHgwMSwgMHgyNSwgMHgyMCwgMHhlNywgMHgwZiwgMHg3YSwgMHgyMywgMHgwMSwgMHgyZiwgMHg3YSwgMHgzMywgMHgwMSwgMHgyZSwgMHhiZSwgMHgwNywgMHgwMSwgCi0gICAgMHgyYiwgMHg2OCwgMHgwOSwgMHgyMiwgMHg3YSwgMHgzMywgMHgwMSwgMHgyZiwgMHg3YSwgMHgyMywgMHgwMSwgMHgyZSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNSwgCi0gICAgMHg1NCwgMHhlMywgMHgyMywgMHgyMywgMHgzMCwgMHhlMCwgMHgwMiwgMHhkMiwgMHhlNSwgMHgzMCwgMHhlNywgMHgwMiwgMHhkMiwgMHhlNCwgMHgzMCwgMHhlNSwgCi0gICAgMHgwNiwgMHgzMCwgMHhlNCwgMHgwMywgMHgwMiwgMHgwOSwgMHg4YiwgMHg1NCwgMHgzZSwgMHhmNSwgMHhmMCwgMHgwMywgMHg1NCwgMHgxZiwgMHhjMywgMHgyNSwgCi0gICAgMHhmMCwgMHg5MCwgMHgwNSwgMHg3ZSwgMHg3NSwgMHg4NCwgMHhmZiwgMHg3MywgMHgwMiwgMHgwNywgMHgzOSwgMHgwMiwgMHgwNSwgMHhjNiwgMHgwMiwgMHgwNywgCi0gICAgMHhkMiwgMHgwMiwgMHgwNywgMHhlZCwgMHgwMiwgMHgwNiwgMHhkMCwgMHgwMiwgMHgwNiwgMHg1YiwgMHgwMiwgMHgwOCwgMHgxZSwgMHgwMiwgMHgwOCwgMHgxZSwgCi0gICAgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgCi0gICAgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyMSwgMHgwMiwgMHgwOCwgMHgyNywgMHgwMiwgMHgwOCwgMHhmOSwgMHgwMiwgMHgwOCwgCi0gICAgMHgyNCwgMHgwMiwgMHgwOCwgMHgyNCwgMHgwMiwgMHgwOCwgMHgyNCwgMHgwMiwgMHgwOCwgMHgyNCwgMHgwMiwgMHgwOCwgMHgyNCwgMHgwMiwgMHgwOCwgMHgyNCwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgCi0gICAgMHhiNCwgMHgwNiwgMHgyYSwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNywgMHg2MCwgMHg3OSwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgyOCwgMHg3ZSwgCi0gICAgMHgxNywgMHgwMSwgMHgyOSwgMHg3NSwgMHgwOCwgMHg3MiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgCi0gICAgMHgxMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHgxMiwgMHgwOSwgMHhkMCwgMHg0MCwgMHg1OCwgMHgwMiwgMHgwMywgMHg4NCwgMHhiNCwgMHgwOCwgMHgxYywgCi0gICAgMHg3NSwgMHgwOCwgMHg3NCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgCi0gICAgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHg4NCwgMHhiNCwgMHgwMCwgMHgzMywgMHg3NSwgCi0gICAgMHgwOCwgMHg3NSwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHg3ZSwgCi0gICAgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgMHhlMCwgMHgwNywgMHg3NCwgMHgwMiwgMHg3YSwgMHgwYiwgMHhiMCwgMHg4MCwgMHgwNSwgMHg3NCwgMHgwMCwgMHg3YSwgCi0gICAgMHgwYiwgMHhiMCwgMHgwYiwgMHgxNCwgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHhkYSwgMHgwYiwgMHgwMiwgCi0gICAgMHgwMywgMHg4NCwgMHgwMiwgMHgwOSwgMHg4YiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgxYywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMCwgMHg1ZiwgMHg3NSwgMHgwOCwgMHg3NiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgCi0gICAgMHgwMSwgMHgyYSwgMHg1NCwgMHgwZiwgMHhiNCwgMHgwMiwgMHgwNSwgMHg3ZSwgMHhiMCwgMHg2MCwgMHg4MCwgMHgxNywgMHhiNCwgMHgwMCwgMHgwNSwgMHg3ZSwgCi0gICAgMHhiMCwgMHgwMCwgMHg4MCwgMHgwZiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYSwgMHgyMCwgMHhlNywgMHgwNSwgMHg3ZSwgMHhiMCwgMHg0MCwgMHg4MCwgMHgwMywgCi0gICAgMHg3ZSwgMHhiMCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxMSwgMHgzMCwgMHhlMCwgMHgwNCwgMHg3NCwgMHgwMSwgCi0gICAgMHg4MCwgMHgwMiwgMHg3NCwgMHgwMCwgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHg3YSwgMHgwYiwgCi0gICAgMHhiMCwgMHgwYiwgMHgxNCwgMHg3NCwgMHgwMCwgMHg3YSwgMHgwYiwgMHhiMCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMCwgMHgwMiwgMHhkYSwgMHgwYiwgMHgwMiwgMHgwMywgMHg4NCwgMHgwMiwgMHgwOSwgMHg4YiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYSwgMHg1NCwgMHgwZiwgCi0gICAgMHhiNCwgMHgwMiwgMHgwNSwgMHg3ZSwgMHhiMCwgMHg2MCwgMHg4MCwgMHgxNywgMHhiNCwgMHgwMCwgMHgwNSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg4MCwgMHgwZiwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyYSwgMHgyMCwgMHhlNywgMHgwNSwgMHg3ZSwgMHhiMCwgMHg0MCwgMHg4MCwgMHgwMywgMHg3ZSwgMHhiMCwgMHgyMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHhiNCwgMHgwMCwgMHgyNiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMSwgCi0gICAgMHgwZSwgMHg3NSwgMHgwOCwgMHg3NywgMHgxMiwgMHgwYSwgMHhjMCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg4MCwgMHgxYiwgMHhiNCwgCi0gICAgMHgwMywgMHgwZSwgMHg3NSwgMHgwOCwgMHg3OCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg4MCwgMHgwYSwgCi0gICAgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHgxMiwgMHgwOSwgMHg4YiwgMHgyMiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgCi0gICAgMHgwMiwgMHgwMywgMHg3NywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwOSwgMHgxZiwgMHg3NSwgMHgwOCwgMHg3OSwgMHgxMiwgMHgwYSwgMHhjMCwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHhiZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2OCwgMHgwZCwgMHhjYSwgMHhiOCwgMHgxMiwgMHgwMSwgMHhmMSwgMHhkYSwgCi0gICAgMHhiOCwgMHg1MCwgMHg3NiwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHg4MCwgMHg2ZCwgMHhiNCwgMHgwNSwgMHgwOCwgMHg3NSwgMHgwOCwgMHg3YSwgMHgxMiwgCi0gICAgMHgwYSwgMHhjMCwgMHg4MCwgMHg2MiwgMHhiNCwgMHgwMywgMHgxOSwgMHg3NSwgMHgwOCwgMHg3YiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgCi0gICAgMHgyOCwgMHhiNCwgMHgwMSwgMHg1NSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHg0NiwgCi0gICAgMHhiNCwgMHgwMSwgMHgxOSwgMHg3NSwgMHgwOCwgMHg3YywgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHhiNCwgMHgwMSwgMHgzOSwgCi0gICAgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHgyYSwgMHhiNCwgMHgwNywgMHgyYSwgMHg3ZSwgCi0gICAgMHhiMywgMHgwMSwgMHgyNywgMHg2MCwgMHgyNCwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgwMSwgMHgyOCwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyOSwgMHg3NSwgCi0gICAgMHgwOCwgMHg3MywgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgwMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwYSwgCi0gICAgMHhjMCwgMHgxMiwgMHgwYSwgMHgwYSwgMHg0MCwgMHgwMywgMHgwMiwgMHgwMywgMHg3NywgMHgwMiwgMHgwOSwgMHg4YiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgCi0gICAgMHhiNCwgMHgwYiwgMHhmNiwgMHg3NSwgMHgwOCwgMHg3ZCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHg3ZSwgMHhhMywgMHgwMSwgCi0gICAgMHgyYSwgMHg0YywgMHhhYiwgMHg3OCwgMHhlNCwgMHg4MCwgMHhkZiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwYSwgMHhjZiwgMHg3NSwgMHgwOCwgMHg3ZSwgMHgxMiwgMHgwYSwgMHhjMCwgCi0gICAgMHg3ZSwgMHhiMywgMHgwMSwgMHgyOCwgMHg3MCwgMHhjMywgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYiwgCi0gICAgMHhiMCwgMHg3ZSwgMHg1NCwgMHgwMCwgMHgwMSwgMHgwMiwgMHgwMywgMHg4NCwgMHgwMiwgMHgwOSwgMHg4YiwgMHgwMiwgMHgwOSwgMHg4YiwgMHgwMiwgMHgwOSwgCi0gICAgMHg4YiwgMHg3ZSwgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwNCwgMHgyMCwgMHg3NSwgMHgwOCwgMHhjMywgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHgwNCwgCi0gICAgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNywgMHg3ZSwgMHgxOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgxYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NywgCi0gICAgMHgwMSwgMHgyYiwgMHgxMiwgMHgwYSwgMHhjYywgMHgwMiwgMHgwOCwgMHhmMywgMHhiNCwgMHgwNiwgMHg0MiwgMHg3NSwgMHgwOCwgMHhjMSwgMHgxMiwgMHgwYSwgCi0gICAgMHhjMCwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZCwgMHhjYSwgMHg3ZSwgMHhkNywgMHgwMSwgMHgyNywgMHg3ZSwgCi0gICAgMHg3OCwgMHgwMSwgMHgzNywgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgwMSwgMHgyYiwgMHg3NSwgMHgwOCwgMHhjMSwgMHgxMiwgMHgwYSwgCi0gICAgMHhjMCwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgMHgwYiwgMHg2MywgMHg3ZSwgCi0gICAgMHg0MywgMHgwMSwgMHgyNCwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHg0MCwgMHg2NSwgMHg4MCwgMHg2MCwgMHhiNCwgMHgwMCwgMHgyNCwgCi0gICAgMHhjMiwgMHhhZiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5NCwgMHgwMCwgMHg3YSwgMHhiMywgMHgwMSwgMHgyNCwgMHgxMiwgMHgwMywgMHg3NywgCi0gICAgMHhlNCwgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHhkNSwgMHhlMCwgMHhmNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgMHhjYSwgCi0gICAgMHgwNiwgMHgwMCwgMHgwMCwgMHgzMiwgMHhiNCwgMHgwOSwgMHgyMCwgMHg3NCwgMHgwMywgMHg3YSwgMHhiMywgMHg5MSwgMHgwNiwgMHg3ZSwgMHgyMywgMHg5MSwgCi0gICAgMHgwNywgMHg3ZSwgMHg1NywgMHgwMSwgMHgyNywgMHg0ZCwgMHg1NSwgMHg2OCwgMHgwNSwgMHg0ZSwgMHgyMCwgMHgwMiwgMHg4MCwgMHgwMywgMHg1ZSwgMHgyMCwgCi0gICAgMHhmZCwgMHg3YSwgMHgyMywgMHg5MSwgMHgwNywgMHg4MCwgMHgxNiwgMHhiNCwgMHgwNywgMHgxNiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHgyOSwgCi0gICAgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgxOCwgMHhjYSwgMHgzOCwgMHhjYSwgMHgyOCwgMHgzMiwgMHgwMiwgMHgwMywgMHg3NywgCi0gICAgMHgwMiwgMHgwOSwgMHg4YiwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg2MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxYywgMHg3ZSwgCi0gICAgMHhiMywgMHgwMSwgMHgyNiwgMHhiNCwgMHgwMywgMHgxNSwgMHg3NSwgMHgwOCwgMHhjMiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgCi0gICAgMHg3ZSwgMHgxNywgMHgwMSwgMHgyNywgMHg3ZSwgMHg1NywgMHgwMSwgMHgyYiwgMHgwMiwgMHgwMywgMHg4NCwgMHhiNCwgMHgwNSwgMHg0MSwgMHg3NSwgMHgwOCwgCi0gICAgMHhjMCwgMHgxMiwgMHgwYSwgMHhjMCwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHg3ZSwgCi0gICAgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNywgMHgwMSwgMHgyNywgMHg3ZSwgCi0gICAgMHg0NywgMHgwMSwgMHgyYiwgMHgxMiwgMHgwYSwgMHhjYywgMHg3ZSwgMHg0MywgMHgwMSwgMHgyNCwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgCi0gICAgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg1NywgMHgwMSwgMHgyYiwgMHgwMiwgMHgwMywgMHg4NCwgMHhiNCwgCi0gICAgMHgwMSwgMHgyMCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3ZSwgMHgxMCwgMHgwMSwgMHg3NSwgMHgwOCwgMHg3MiwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgwMSwgCi0gICAgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHg3YSwgMHgxMSwgMHgwOCwgMHgxMiwgMHgwYSwgMHhjMCwgMHgxMiwgMHgwOSwgMHhkMCwgMHg0MCwgMHgwMywgMHgwMiwgCi0gICAgMHgwMywgMHg4NCwgMHgwMiwgMHgwOSwgMHg4YiwgMHg3NSwgMHgwOCwgMHgwNywgMHgxMiwgMHgwYSwgMHhjMCwgMHg3ZSwgMHhiMCwgMHgwMiwgMHg3YSwgMHhiMywgCi0gICAgMHg5MCwgMHgwMCwgMHg3NCwgMHgwMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNSwgMHg3NCwgMHgwMSwgCi0gICAgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNSwgMHg1NCwgMHg2MCwgMHhiZSwgMHhiMCwgMHg0MCwgMHg2OCwgMHgwOCwgMHg3NCwgCi0gICAgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxNSwgMHg4MCwgMHhlZCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMiwgMHg3NCwgMHgwNCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxNCwgMHg3NCwgMHhmZiwgMHg3YSwgMHhiMywgMHgwMSwgMHgyZCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgCi0gICAgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgMHgwYSwgMHg1NywgMHg0MCwgMHgxZiwgMHg3ZSwgMHgwOCwgMHgwMSwgMHgzNywgMHg3YSwgMHgwYywgCi0gICAgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHhjYSwgMHg0OSwgMHgxMiwgMHgwYSwgMHhjYywgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHg3ZSwgMHg0MywgMHgwMSwgCi0gICAgMHgyNCwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHg3ZSwgMHg0MywgMHgwMSwgMHgyNCwgMHg3YSwgMHg0MywgMHg5NCwgCi0gICAgMHgwMCwgMHhkMCwgMHhhOCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHg3ZSwgMHg0MCwgMHgwMSwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHgxMiwgCi0gICAgMHgwYSwgMHg1NywgMHg0MCwgMHgzMSwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZiwgMHg2MSwgMHg3ZSwgMHg3OCwgCi0gICAgMHgwMSwgMHgzNywgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg3NywgMHgwMSwgMHgyYiwgMHhiZCwgMHg3NCwgMHg3OCwgMHgxNywgMHg3NSwgMHgwOCwgCi0gICAgMHhjMSwgMHgxMiwgMHgwYSwgMHhjMCwgMHgxMiwgMHgwYiwgMHg2MywgMHg0MCwgMHgwYywgMHg3ZSwgMHg0MywgMHgwMSwgMHgyNCwgMHg3YSwgMHg0MywgMHg5NCwgCi0gICAgMHgwMCwgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHg3ZSwgMHg0MywgMHgwMSwgMHgyNCwgMHg3YSwgMHg0MywgMHg5NCwgMHgwMCwgMHhkMCwgMHhhOCwgMHhkMywgCi0gICAgMHgyMiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjYSwgMHgwYiwgMHgxYSwgMHg1MCwgMHhjNSwgMHhmMCwgMHg3ZCwgMHg2MiwgCi0gICAgMHg3ZCwgMHg3NSwgMHg3ZCwgMHg4NywgMHg3ZSwgMHgzNCwgMHg3ZiwgMHgwMywgMHg3ZSwgMHgxYiwgMHhiMCwgMHhiYywgMHgwYiwgMHg1MCwgMHg0OSwgMHgzZSwgCi0gICAgMHgwMCwgMHgzZSwgMHgwMCwgMHgwYSwgMHg1MCwgMHgyZCwgMHg3NSwgMHgwYiwgMHgzYSwgMHgzMCwgMHg2OSwgMHg1MywgMHgwMCwgMHgwMiwgMHhiZCwgMHgzOCwgCi0gICAgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiYywgMHgxYiwgMHg1MCwgMHgzMCwgMHgzZSwgMHgxMCwgMHgzZSwgMHgxMCwgMHgwYSwgMHg1MSwgMHgyZCwgMHgzNSwgCi0gICAgMHg2OSwgMHg0MSwgMHgwMCwgMHgwMiwgMHgwYiwgMHgxYSwgMHgzMCwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiZSwgMHg0NCwgMHhmZiwgCi0gICAgMHhmZiwgMHg3OCwgMHgwNSwgMHg3ZSwgMHgxYiwgMHg5MCwgMHgwYSwgMHg0OSwgMHg0ZCwgMHg0NCwgMHg2OCwgMHgwYywgMHhiZSwgMHg0NCwgMHgwMCwgMHhmZiwgCi0gICAgMHgyOCwgMHgwNCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE2LCBFWENMVURFRCBTdGFydCBBZGRyZXNzIDAwZmY3YzAwLCBMZW5ndGggMjI3Ci0KLQotLy8gU2VnbWVudCAjMTcsIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjdmMDAsIExlbmd0aCAxOTIKLQotCi0vLyBTZWdtZW50ICMxNywgU3RhcnQgQWRkcmVzcyAwMGZmN2ZjMCwgTGVuZ3RoIDY0Ci0weGZmLDB4MDAsMHhjMCwweDdmLDB4NDAsMHgwMCwKLSAgICAweDQwLCAweDAxLCAweDAyLCAweDAwLCAweGQ3LCAweDMxLCAweDAyLCAweDAwLCAweDAzLCAweDAwLCAweDAwLCAweDdjLCAweDAwLCAweDAwLCAweDAxLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGYxLCAweDdmLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKLQotLy8gU2VnbWVudCAjMTgsIFN0YXJ0IEFkZHJlc3MgMDBmZjBhYzAsIExlbmd0aCA0MTYzCi0weGZmLDB4MDAsMHhjMCwweDBhLDB4NDMsMHgxMCwKLSAgICAweGNhLCAweDA4LCAweDdlLCAweDAxLCAweDA4LCAweDdhLCAweDAzLCAweDNmLCAweGYwLCAweGRhLCAweDA4LCAweDIyLCAweDgwLCAweDUwLCAweDBiLCAweDFhLCAKLSAgICAweDYwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDcwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDgwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweDkwLCAKLSAgICAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGEwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGIwLCAweDBiLCAweDM1LCAweDBiLCAweDFhLCAweGMwLCAweDBiLCAKLSAgICAweDM1LCAweDBiLCAweDFhLCAweGQwLCAweDBiLCAweDM1LCAweDFiLCAweDBhLCAweDYwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweDcwLCAweDBiLCAweDE1LCAKLSAgICAweDFiLCAweDBhLCAweDgwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweDkwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGEwLCAweDBiLCAweDE1LCAweDFiLCAKLSAgICAweDBhLCAweGIwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGMwLCAweDBiLCAweDE1LCAweDFiLCAweDBhLCAweGQwLCAweDBiLCAweDE1LCAweDllLCAweDQ0LCAKLSAgICAweDAwLCAweDEwLCAweDUwLCAweGFhLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDBlLCAweDdlLCAweDFiLCAweGMwLCAweDdhLCAweDBiLCAweGMwLCAKLSAgICAweDBiLCAweDE0LCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDc4LCAweGYyLCAweDIyLCAweDdmLCAweDZmLCAweDdmLCAweGYwLCAweDFiLCAweGZjLCAweDdjLCAKLSAgICAweDU0LCAweDdkLCAweDMyLCAweDgwLCAweDA4LCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweDllLCAweDQ0LCAweDAwLCAKLSAgICAweDEwLCAweDUwLCAweGYyLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDA2LCAweGNhLCAweDQ4LCAweDFiLCAweDQ0LCAweDc4LCAweGZhLCAweDdmLCAKLSAgICAweGY2LCAweDg5LCAweGU0LCAweGNhLCAweDZiLCAweDVlLCAweGQ0LCAweDAwLCAweDNmLCAweDY4LCAweDIwLCAweDdlLCAweDg0LCAweDAwLCAweDQwLCAweDlkLCAKLSAgICAweDhkLCAweGRhLCAweDZiLCAweGJkLCAweDg3LCAweDM4LCAweDE2LCAweGNhLCAweDc5LCAweDdkLCAweDc4LCAweDEyLCAweDBiLCAweDhkLCAweGRhLCAweDc5LCAKLSAgICAweDQwLCAweDA4LCAweDlkLCAweDc4LCAweDY4LCAweDAyLCAweDgwLCAweDA1LCAweGMyLCAweGQ3LCAweDIyLCAweGRhLCAweDZiLCAweDdlLCAweGMwLCAweDAzLCAKLSAgICAweDdlLCAweGQwLCAweDAwLCAweDdhLCAweGQzLCAweDkwLCAweDAwLCAweDc0LCAweGFhLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAKLSAgICAweGI1LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDdlLCAweDA0LCAweDAwLCAweDQwLCAweDlkLCAweDcwLCAweDUwLCAKLSAgICAweDA2LCAweDJkLCAweDcwLCAweDdkLCAweDA3LCAweDZkLCAweDc3LCAweDdjLCAweDMxLCAweDdlLCAweDdiLCAweDAwLCAweDdhLCAweDZiLCAweDAwLCAweDBiLCAKLSAgICAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGQ5LCAweGYzLCAweDdmLCAweDE2LCAweDFiLCAweDFjLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDFiLCAKLSAgICAweDEwLCAweGJjLCAweDEwLCAweDY4LCAweDA2LCAweDFiLCAweDU0LCAweDc4LCAweGY1LCAweDgwLCAweDJmLCAweDZkLCAweDAwLCAweDdjLCAweDIwLCAweDdmLCAKLSAgICAweDE2LCAweDlmLCAweDEwLCAweDdmLCAweDI3LCAweDlmLCAweDIwLCAweDdlLCAweDJiLCAweDAwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDAxLCAweDc4LCAKLSAgICAweDE5LCAweDBiLCAweDJjLCAweDBiLCAweDFjLCAweGE1LCAweGRiLCAweGVmLCAweDdjLCAweGI2LCAweDIwLCAweGUwLCAweDA2LCAweDZjLCAweGRjLCAweDdhLCAKLSAgICAweGQzLCAweDkwLCAweDAwLCAweDRkLCAweDc3LCAweDc4LCAweDkwLCAweGMyLCAweGQ3LCAweDIyLCAweGQyLCAweGQ3LCAweDIyLCAweDAwLCAweDA0LCAweDAwLCAKLSAgICAweDA0LCAweDAwLCAweDAwLCAweDA2LCAweDA0LCAweDAyLCAweDA0LCAweDAwLCAweDAyLCAweDAxLCAweDA0LCAweDAxLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAKLSAgICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDAyLCAweDA0LCAweDAwLCAweDA4LCAweDEwLCAweDAyLCAweDEwLCAKLSAgICAweDA0LCAweDAyLCAweDA4LCAweDAwLCAweDAxLCAweDAxLCAweDA4LCAweDdlLCAweDE4LCAweDdmLCAweGJkLCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDBiLCAKLSAgICAweDFhLCAweDAwLCAweDVlLCAweDEwLCAweDFmLCAweGJlLCAweDEwLCAweDE0LCAweDM4LCAweDFhLCAweDBhLCAweDUxLCAweDIzLCAweDdlLCAweDE4LCAweDBjLCAKLSAgICAweDBkLCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDJkLCAweDM1LCAweDBiLCAweDFhLCAweDUwLCAweDYwLCAweDA4LCAweGE1LCAweGI4LCAweDAyLCAweDAzLCAKLSAgICAweDRlLCAweGEwLCAweDA4LCAweDIyLCAweDgwLCAweGZlLCAweDdlLCAweGU4LCAweDdmLCAweGJmLCAweDdhLCAweGVjLCAweDAwLCAweGZmLCAweGUwLCAweGY1LCAKLSAgICAweDIzLCAweDU0LCAweGMwLCAweDY4LCAweDM4LCAweDdlLCAweGU4LCAweDdmLCAweGJlLCAweDdhLCAweGVjLCAweDAwLCAweGZmLCAweGUwLCAweDYwLCAweDJlLCAKLSAgICAweDEyLCAweDBjLCAweDM3LCAweGY1LCAweDIxLCAweDdhLCAweGExLCAweDIwLCAweDIwLCAweDA5LCAweDBjLCAweDIwLCAweDBhLCAweDEyLCAweDdlLCAweGIwLCAKLSAgICAweDBlLCAweDdhLCAweGIzLCAweDkyLCAweDAwLCAweDgwLCAweDEwLCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAweDkyLCAweDAwLCAweDgwLCAweDA3LCAKLSAgICAweDdlLCAweGIwLCAweDBhLCAweDdhLCAweGIzLCAweDkyLCAweDAwLCAweDdhLCAweGIxLCAweDBkLCAweDAyLCAweDBjLCAweGM0LCAweDIyLCAweDdlLCAweGIwLCAKLSAgICAweDAyLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAzLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAKLSAgICAweDE5LCAweDBjLCAweDgwLCAweGVhLCAweGMyLCAweGFmLCAweGMyLCAweDExLCAweGMyLCAweDEyLCAweDc1LCAweGIwLCAweGRmLCAweDdlLCAweDAwLCAweDAxLCAKLSAgICAweDdhLCAweDAzLCAweDkzLCAweDAwLCAweDdlLCAweDAwLCAweDAwLCAweDdhLCAweDAzLCAweDkwLCAweDAwLCAweDZjLCAweDAwLCAweDdlLCAweDEwLCAweDAzLCAKLSAgICAweDEyLCAweDBjLCAweGY1LCAweDdlLCAweDY4LCAweDJjLCAweDY2LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDBiLCAweDAwLCAKLSAgICAweDgwLCAweDMyLCAweDAyLCAweDFhLCAweDZlLCAweDIwLCAweDExLCAweDJiLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAKLSAgICAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAzLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAKLSAgICAweGIzLCAweDkwLCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweGE1LCAweGQ5LCAweGRjLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAKLSAgICAweDEyLCAweDE5LCAweDBjLCAweDIyLCAweDdlLCAweDY4LCAweDJjLCAweGY5LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAKLSAgICAweGU0LCAweDEwLCAweDAwLCAweDdlLCAweDQwLCAweDU1LCAweDdhLCAweGU5LCAweDQwLCAweDBiLCAweGU0LCAweDdlLCAweDUwLCAweGFhLCAweDdhLCAweGU5LCAKLSAgICAweDUwLCAweDFiLCAweGU0LCAweGJlLCAweGU5LCAweDQwLCAweDY4LCAweDE5LCAweDdlLCAweDY4LCAweDJjLCAweGRmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDEzLCAweDdhLCAweGU5LCAweDQwLCAweDdlLCAweGU5LCAweDEwLCAweDgwLCAKLSAgICAweGY4LCAweDdlLCAweDY4LCAweDJjLCAweGRhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDBiLCAweDAwLCAweDdlLCAweDY4LCAKLSAgICAweDJkLCAweDNkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdlLCAweDcwLCAweDBlLCAKLSAgICAweDdlLCAweGE0LCAweGZmLCAweGZmLCAweDdlLCAweGI0LCAweGJmLCAweGZmLCAweDdkLCAweGNiLCAweDBlLCAweGM0LCAweDdkLCAweGRjLCAweDVkLCAweGRiLCAKLSAgICAweDZjLCAweGJiLCAweDdkLCAweGZhLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAKLSAgICAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAKLSAgICAweGIwLCAweDBiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDZjLCAweGJiLCAweDdkLCAweGZhLCAKLSAgICAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDQxLCAweDBiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAweGY0LCAweDdmLCAKLSAgICAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDM0LCAweDBiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAKLSAgICAweGIwLCAweDc4LCAweDI3LCAweDBiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweGJlLCAweDdiLCAweGIwLCAweDc4LCAweDFhLCAKLSAgICAweDBiLCAweGIwLCAweGJlLCAweGM0LCAweGZmLCAweGZlLCAweDc4LCAweDkyLCAweDBlLCAweGI0LCAweGE1LCAweGRmLCAweDhiLCAweDdlLCAweDY4LCAweDJjLCAKLSAgICAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDc3LCAweGNhLCAweDViLCAweGNhLCAweDZiLCAweDdlLCAweDY4LCAKLSAgICAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDY4LCAweDJkLCAweDhmLCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDBhLCAweDQ3LCAweDEyLCAweDE5LCAweGZhLCAweDdlLCAweDY4LCAweDJkLCAweGRlLCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDZjLCAweDc3LCAweGRhLCAweDZiLCAweGNhLCAweDZiLCAweDBiLCAweDcwLCAweDBlLCAweGM0LCAweGJlLCAweGM0LCAKLSAgICAweGZmLCAweGZmLCAweDc4LCAweGY2LCAweDFiLCAweDcwLCAweDBhLCAweDQ3LCAweDEyLCAweDE5LCAweGZhLCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAKLSAgICAweDMwLCAweGRhLCAweDZiLCAweGRhLCAweDViLCAweDZjLCAweGJiLCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdkLCAweGZhLCAweDVlLCAweGY0LCAweDdmLCAKLSAgICAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZiLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZjLCAweDVlLCAKLSAgICAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDdkLCAweGZkLCAweDVlLCAweGY0LCAweDdmLCAweGZmLCAweDdhLCAweDdiLCAweGIwLCAweDgwLCAKLSAgICAweGQ0LCAweDdlLCAweDY4LCAweDJkLCAweDFiLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDMwLCAweDFmLCAweDBlLCAweDdlLCAKLSAgICAweDc4LCAweDA0LCAweDIwLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDQ0LCAweDdiLCAweGUwLCAweDgwLCAweDBjLCAweDdlLCAweDc4LCAweDAwLCAKLSAgICAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweDAxLCAweDdlLCAweDQ0LCAweDgwLCAweDAwLCAweDBiLCAweDAwLCAweDdlLCAweDQwLCAweDNhLCAweDdjLCAweDU0LCAKLSAgICAweDdmLCAweDU3LCAweDdkLCAweDg0LCAweDZjLCAweDY2LCAweDdhLCAweDViLCAweDUwLCAweDBiLCAweDVjLCAweDBiLCAweDUwLCAweGE1LCAweGRlLCAweDAyLCAKLSAgICAweDBiLCAweDUwLCAweDFiLCAweDg0LCAweDc4LCAweGYwLCAweDdjLCAweDU0LCAweDdmLCAweDU3LCAweDdkLCAweDg0LCAweDZjLCAweDY2LCAweGJlLCAweDViLCAKLSAgICAweDUwLCAweDc4LCAweDFhLCAweDBiLCAweDVjLCAweDBiLCAweDUwLCAweGE1LCAweGRlLCAweDAyLCAweDBiLCAweDUwLCAweDFiLCAweDg0LCAweDc4LCAweGVlLCAKLSAgICAweDdlLCAweDY4LCAweDJjLCAweGRhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDRiLCAweDdmLCAweDQ1LCAweDdlLCAKLSAgICAweDY4LCAweDJjLCAweGRmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDY4LCAweDJkLCAweDVmLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdkLCAweDRiLCAweDEyLCAweDE5LCAweGZhLCAweDdlLCAweDY4LCAweDJkLCAweDc0LCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDZjLCAweDg4LCAweDdjLCAweDk1LCAweDEyLCAweDE5LCAweGZhLCAweDdlLCAweDY4LCAweDJkLCAweDgyLCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDRiLCAweDkwLCAweDEyLCAweDE5LCAweGZhLCAweDEyLCAweDE5LCAweDE5LCAKLSAgICAweDMwLCAweDExLCAweDA1LCAweDdlLCAweDRiLCAweDkwLCAweDgwLCAweGZiLCAweDdlLCAweDY4LCAweDJlLCAweDI4LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDE5LCAweGM0LCAweDBiLCAweDAwLCAweDdlLCAweGIwLCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDAwLCAweDdlLCAweGEwLCAweDU1LCAweDdhLCAKLSAgICAweGEzLCAweDkxLCAweDEwLCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDdlLCAweGIzLCAweDkxLCAweDEwLCAweGJjLCAweGFiLCAweDc4LCAweDIwLCAweDdlLCAKLSAgICAweGEwLCAweGFhLCAweDdhLCAweGEzLCAweDkxLCAweDEwLCAweDdlLCAweGIzLCAweDkxLCAweDA3LCAweDdlLCAweGIzLCAweDkxLCAweDEwLCAweGJjLCAweGFiLCAKLSAgICAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGRhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDFiLCAweDdlLCAKLSAgICAweDY4LCAweDJjLCAweGRmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDBhLCAKLSAgICAweDdhLCAweGEzLCAweDkxLCAweDEwLCAweDdlLCAweGIzLCAweDkxLCAweDEwLCAweDgwLCAweGY2LCAweDdlLCAweDY4LCAweDJlLCAweDRhLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDEyLCAweDMxLCAweDBiLCAweDAwLCAweDdlLCAweGU0LCAweDEwLCAweDAwLCAweDdlLCAweGEwLCAKLSAgICAweGE1LCAweGNhLCAweGE4LCAweDdhLCAweGU5LCAweGEwLCAweDdlLCAweGIwLCAweDMwLCAweDdhLCAweGIzLCAweDk1LCAweDAwLCAweDdlLCAweGU5LCAweGEwLCAKLSAgICAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDk1LCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweDBiLCAweGU1LCAweDdlLCAweGIwLCAweDIwLCAweDdhLCAKLSAgICAweGIzLCAweDk1LCAweDAwLCAweDdlLCAweGU5LCAweGIwLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDk1LCAweDAwLCAweDdlLCAweGU5LCAweGIwLCAKLSAgICAweGRhLCAweGE4LCAweGJjLCAweGFiLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGRhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAKLSAgICAweGM0LCAweDgwLCAweDFkLCAweDdlLCAweDY4LCAweDJjLCAweGRmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAKLSAgICAweDE5LCAweDMwLCAweDExLCAweDBjLCAweDdlLCAweGIwLCAweDM4LCAweDdhLCAweGIzLCAweDk1LCAweDAwLCAweDdlLCAweGU5LCAweGIwLCAweDgwLCAweGZiLCAKLSAgICAweDgwLCAweDAwLCAweDdlLCAweDY4LCAweDJkLCAweGU0LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDBiLCAweDAwLCAweDc1LCAKLSAgICAweGIwLCAweGRmLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweGJlLCAweGIwLCAweDAxLCAweDc4LCAweDBiLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE0LCAweGJlLCAweGIwLCAweDYwLCAweDc4LCAweDAyLCAweDgwLCAweDE3LCAweDdlLCAweDY4LCAweDJjLCAweGRmLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDExLCAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDgwLCAKLSAgICAweGZhLCAweDdlLCAweDY4LCAweDJjLCAweGRhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDY4LCAweDJlLCAweDA2LCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDBiLCAweDAwLCAweDc1LCAweGIwLCAweGVmLCAweDEyLCAweDE4LCAweGZmLCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAweDdlLCAweGIwLCAweDAxLCAweDE5LCAweGIyLCAweDAwLCAKLSAgICAweDA4LCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDM3LCAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDVlLCAweGIwLCAweGMwLCAKLSAgICAweGJlLCAweGIwLCAweGMwLCAweDc4LCAweDJiLCAweDdlLCAweGEwLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAweDZjLCAweGJiLCAweDE5LCAweGIyLCAKLSAgICAweDAwLCAweDA4LCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDE2LCAweDA5LCAweGIyLCAweDAwLCAweDA4LCAweDVlLCAweGIwLCAKLSAgICAweGMwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGRhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDFiLCAKLSAgICAweDdlLCAweDY4LCAweDJjLCAweGRmLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAKLSAgICAweDBhLCAweDE5LCAweGEyLCAweDAwLCAweDFjLCAweDA5LCAweGIyLCAweDAwLCAweDFjLCAweDgwLCAweGY2LCAweDdlLCAweDY4LCAweDJlLCAweDZjLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDY4LCAweDJlLCAweGVlLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAKLSAgICAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDdlLCAweGIwLCAweDAxLCAweDE5LCAweGIyLCAweDAwLCAweDFjLCAweDJlLCAKLSAgICAweDI0LCAweDAxLCAweDAwLCAweDBiLCAweGIwLCAweGE1LCAweGQ5LCAweGYzLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDdlLCAKLSAgICAweGIwLCAweDAxLCAweDBiLCAweDAwLCAweDA5LCAweGEyLCAweDAwLCAweDFjLCAweGJjLCAweGFiLCAweDc4LCAweDE2LCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAKLSAgICAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweDBiLCAweGIwLCAweGE1LCAweGQ5LCAweGUyLCAKLSAgICAweDgwLCAweDI1LCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAKLSAgICAweDMwLCAweDExLCAweGU0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDA5LCAweGEyLCAweDAwLCAweDFjLCAweDJlLCAweDI0LCAKLSAgICAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGY1LCAweDgwLCAweGVjLCAweDdlLCAweDY4LCAweDJmLCAweDEyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAKLSAgICAweDE5LCAweGM0LCAweDEyLCAweDEyLCAweDMxLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDc0LCAweDEwLCAKLSAgICAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDEyLCAweDExLCAweGFhLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGVlLCAweDdlLCAweDY4LCAKLSAgICAweDJmLCAweDM2LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAKLSAgICAweDBiLCAweDAwLCAweGU0LCAweDE5LCAweGIyLCAweDAwLCAweDEwLCAweDEyLCAweDExLCAweGFhLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAKLSAgICAweGVmLCAweDMwLCAweDAwLCAweDAzLCAweDAyLCAweDE3LCAweDNiLCAweDAyLCAweDEyLCAweDZhLCAweDc0LCAweDA3LCAweDE5LCAweGIyLCAweDAwLCAweDA4LCAKLSAgICAweDEyLCAweDE5LCAweDBjLCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweDA5LCAweGIyLCAweDAwLCAweDAwLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE0LCAweGMyLCAweDEzLCAweDdlLCAweGIwLCAweDU1LCAweDEyLCAweDEyLCAweDBiLCAweDdlLCAweGIwLCAweGFhLCAweDEyLCAweDEyLCAKLSAgICAweDBiLCAweDdlLCAweGIwLCAweDAwLCAweDEyLCAweDEyLCAweDBiLCAweDdlLCAweGIwLCAweGZmLCAweDEyLCAweDEyLCAweDBiLCAweDMwLCAweDEzLCAweDBmLCAKLSAgICAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDIyLCAweDdlLCAKLSAgICAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDIyLCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAKLSAgICAweDE4LCAweGZmLCAweDA5LCAweGEyLCAweDAwLCAweDAwLCAweGJjLCAweGFiLCAweDc4LCAweDAxLCAweDIyLCAweDIwLCAweDExLCAweDAzLCAweGQyLCAweDEzLCAKLSAgICAweDIyLCAweDEyLCAweDE5LCAweDE5LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGEyLCAweDAwLCAweDAwLCAweDgwLCAKLSAgICAweGYzLCAweDc1LCAweGIwLCAweGRmLCAweDEyLCAweDE4LCAweGZmLCAweDc1LCAweGIwLCAweGVmLCAweDEyLCAweDE4LCAweGZmLCAweDdlLCAweDI0LCAweDgwLCAKLSAgICAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDc0LCAweDgwLCAweDE5LCAweGIyLCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAweDAwLCAweDAyLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDA0LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDE5LCAweGIyLCAweDAwLCAweDBjLCAweDc0LCAweDA2LCAweDE5LCAweGIyLCAKLSAgICAweDAwLCAweDA4LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGRiLCAweDIyLCAweDdlLCAweDY4LCAweDJmLCAweDVhLCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDEyLCAweDE4LCAKLSAgICAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDFhLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAKLSAgICAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDA5LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDgwLCAweGY3LCAweDJlLCAKLSAgICAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGI2LCAweDdlLCAweDY4LCAweDJmLCAweDdlLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAKLSAgICAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAKLSAgICAweDE4LCAweDdlLCAweGEwLCAweDU1LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAKLSAgICAweGIwLCAweDBhLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAKLSAgICAweDFhLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAKLSAgICAweDExLCAweDA5LCAweDE5LCAweGEyLCAweDAwLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDgwLCAweGY3LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAKLSAgICAweGQ5LCAweGI2LCAweDMwLCAweDA0LCAweDAzLCAweDAyLCAweDE1LCAweDlmLCAweDdlLCAweDY4LCAweDJmLCAweGEyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAKLSAgICAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAKLSAgICAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAKLSAgICAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDBhLCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAKLSAgICAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAKLSAgICAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweGU2LCAweDdlLCAKLSAgICAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAKLSAgICAweDJmLCAweGVhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAKLSAgICAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAKLSAgICAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAKLSAgICAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAKLSAgICAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAyLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA1LCAweDc4LCAweDE0LCAKLSAgICAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAKLSAgICAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAKLSAgICAweDE5LCAweDE5LCAweDMwLCAweDExLCAweGU2LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDMwLCAweDMyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAKLSAgICAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDUwLCAweGJlLCAweGIwLCAweDUwLCAweDc4LCAweDFmLCAweDZjLCAweGFhLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDUwLCAweDc4LCAweDBkLCAKLSAgICAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDJjLCAKLSAgICAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDBmLCAweDdlLCAweGEwLCAKLSAgICAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAweDAxLCAKLSAgICAweDAwLCAweGE1LCAweGQ5LCAweGEyLCAweDdlLCAweDY4LCAweDMwLCAweDdhLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAKLSAgICAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweGEwLCAweGJlLCAweGIwLCAweGEwLCAKLSAgICAweDc4LCAweDFmLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAKLSAgICAweGIwLCAweGEwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDgwLCAKLSAgICAweDIwLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAKLSAgICAweDExLCAweDBmLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAKLSAgICAweGYxLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDdlLCAweDY4LCAweDMwLCAweDllLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDIwLCAweGIxLCAweDI2LCAweDdlLCAKLSAgICAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDMwLCAweGIxLCAweDE5LCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDIwLCAweGIxLCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAKLSAgICAweDEyLCAweDE5LCAweGM0LCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAKLSAgICAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDBmLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGFlLCAweDAyLCAweDE3LCAweDNiLCAweDdlLCAKLSAgICAweDY4LCAweDJmLCAweGM2LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAKLSAgICAweDIxLCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAKLSAgICAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA2LCAweDc4LCAweDNjLCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAKLSAgICAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAKLSAgICAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA2LCAweDc4LCAKLSAgICAweDE0LCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAKLSAgICAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAKLSAgICAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweGU2LCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDMwLCAweDBlLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAKLSAgICAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAKLSAgICAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA5LCAweDc4LCAweDNjLCAweDdlLCAKLSAgICAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDdlLCAweGEwLCAweDAzLCAKLSAgICAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDA5LCAweDc4LCAweDE0LCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAKLSAgICAweDE5LCAweGM0LCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweDllLCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweGU2LCAweDdlLCAweGEwLCAweDAxLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDdlLCAweDY4LCAweDMwLCAweDU2LCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDkwLCAKLSAgICAweGJlLCAweGIwLCAweDkwLCAweDc4LCAweDFmLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE4LCAweDVlLCAweGIwLCAweDkwLCAweDc4LCAweDBkLCAweDdlLCAweDY4LCAweDJjLCAweGU3LCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAKLSAgICAweDE5LCAweGM0LCAweDgwLCAweDIwLCAweDdlLCAweDY4LCAweDJjLCAweGYwLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDEyLCAKLSAgICAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDBmLCAweDdlLCAweGEwLCAweDAyLCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDZjLCAweGFhLCAweDE5LCAweGEyLCAKLSAgICAweDAwLCAweDEwLCAweDgwLCAweGYxLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAweGEyLCAweDIwLCAweDFmLCAweDY4LCAweDEyLCAweDEyLCAKLSAgICAweDMxLCAweDEyLCAweDE3LCAweGE5LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAweDBiLCAweDAwLCAweDIwLCAweDg5LCAweDI2LCAKLSAgICAweDdlLCAweGEwLCAweGZmLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE4LCAweGZmLCAweDdlLCAweGIwLCAweDU1LCAweDE5LCAweGIyLCAweDAwLCAKLSAgICAweDAwLCAweDEyLCAweDE4LCAweGZmLCAweDMwLCAweDg5LCAweDBmLCAweDdlLCAweGEwLCAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE4LCAKLSAgICAweGZmLCAweDIwLCAweDg5LCAweDAyLCAweDgwLCAweDI2LCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweDIwLCAweDdlLCAweGEwLCAweGZmLCAweDE5LCAKLSAgICAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE4LCAweGZmLCAweDdlLCAweGIwLCAweDU1LCAweDE5LCAweGIyLCAweDAwLCAweDAwLCAweDEyLCAweDE4LCAweGZmLCAKLSAgICAweDdlLCAweGEwLCAweDAwLCAweDE5LCAweGEyLCAweDAwLCAweDA0LCAweDEyLCAweDE4LCAweGZmLCAweDgwLCAweGUwLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAKLSAgICAweGE1LCAweGQ5LCAweGE4LCAweDAyLCAweDE3LCAweGMyLCAweDAyLCAweDE4LCAweDRjLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDdlLCAweDExLCAweDIxLCAKLSAgICAweDdlLCAweGEwLCAweDA4LCAweDE5LCAweGEyLCAweDAwLCAweDEwLCAweDEyLCAweDE4LCAweGZmLCAweDJlLCAweDI0LCAweDAxLCAweDAwLCAweGE1LCAweGQ5LCAKLSAgICAweGVmLCAweDIyLCAweDMwLCAweDFmLCAweDAzLCAweDAyLCAweDE4LCAweDRjLCAweGMyLCAweDhhLCAweDEyLCAweDE3LCAweGE5LCAweDBiLCAweDAwLCAweDEyLCAKLSAgICAweDE4LCAweDE2LCAweDIwLCAweDhiLCAweDI0LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAKLSAgICAweDA3LCAweDc0LCAweDBjLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDAwLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDEyLCAweDE5LCAweDBjLCAKLSAgICAweDMwLCAweDhiLCAweDA2LCAweDEyLCAweDE4LCAweDE2LCAweDMwLCAweDhiLCAweGFkLCAweDEyLCAweDE5LCAweDE5LCAweDMwLCAweDExLCAweGE3LCAweDEyLCAKLSAgICAweDE4LCAweDE2LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDEyLCAweDE5LCAKLSAgICAweDBjLCAweDEyLCAweDE4LCAweDE2LCAweDgwLCAweGU5LCAweDdlLCAweGEwLCAweDAwLCAweDc0LCAweDAyLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdhLCAKLSAgICAweGEzLCAweDkxLCAweDA3LCAweDc0LCAweDAzLCAweDdhLCAweGIzLCAweDkxLCAweDA2LCAweDdhLCAweGEzLCAweDkxLCAweDA3LCAweDEyLCAweDE4LCAweGZmLCAKLSAgICAweDc0LCAweGVmLCAweDdhLCAweGIzLCAweDkxLCAweDA0LCAweDc0LCAweDgwLCAweDdhLCAweGIzLCAweDkxLCAweDAzLCAweDc0LCAweDBjLCAweDdhLCAweGIzLCAKLSAgICAweDkxLCAweDA2LCAweDc0LCAweDA4LCAweDdhLCAweGIzLCAweDkxLCAweDA3LCAweDEyLCAweDE5LCAweDBjLCAweDIyLCAweDMwLCAweDEyLCAweDE5LCAweDdlLCAKLSAgICAweDY4LCAweDMwLCAweGMyLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweGQyLCAweDExLCAweDEyLCAweDE4LCAweGZmLCAweDEyLCAKLSAgICAweDE4LCAweGZmLCAweDEyLCAweDE4LCAweGZmLCAweDAyLCAweDBjLCAweGNhLCAweDMwLCAweDFmLCAweDFjLCAweDdlLCAweDY4LCAweDMxLCAweDNjLCAweDdhLCAKLSAgICAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDdlLCAweDY4LCAweDMxLCAweDVlLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAKLSAgICAweGM0LCAweDEyLCAweDFhLCAweDZlLCAweDAyLCAweDE4LCAweGY3LCAweDBiLCAweDAwLCAweDdlLCAweDc4LCAweDE4LCAweGIxLCAweDdhLCAweDdjLCAweDAwLCAKLSAgICAweGZmLCAweDdmLCAweDY3LCAweDdhLCAweDZjLCAweDAwLCAweDAwLCAweDdlLCAweDcwLCAweDNlLCAweDdlLCAweDdiLCAweGIwLCAweDdhLCAweDZiLCAweGIwLCAKLSAgICAweDBiLCAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGRmLCAweGYzLCAweDdlLCAweDc4LCAweDE4LCAweGIxLCAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDg5LCAKLSAgICAweDc4LCAweDdlLCAweDc4LCAweDAwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZlLCAweDdlLCAweDY4LCAweDdmLCAweGJmLCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweGZlLCAweDc0LCAweGFhLCAweDM5LCAweGI3LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAweGI3LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAweDM5LCAKLSAgICAweGI3LCAweDU1LCAweDU1LCAweDZjLCAweDk5LCAweDdhLCAweDZiLCAweDkwLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDZiLCAweDgwLCAweGJjLCAKLSAgICAweDg5LCAweDY4LCAweDA4LCAweDFiLCAweDU0LCAweDc4LCAweGY1LCAweDhhLCAweGZmLCAweDE4LCAweGVmLCAweDhhLCAweGZmLCAweDE4LCAweGY3LCAweDEyLCAKLSAgICAweDE5LCAweDE5LCAweDdlLCAweDZiLCAweDgwLCAweDgwLCAweGZiLCAweDdlLCAweDEwLCAweGZmLCAweDEyLCAweDE5LCAweGFjLCAweDgwLCAweGY4LCAweGNhLCAKLSAgICAweGY5LCAweDdlLCAweGY0LCAweDAwLCAweGZmLCAweDFiLCAweGY0LCAweDc4LCAweGZjLCAweGRhLCAweGY5LCAweDIyLCAweGNhLCAweGY5LCAweDdlLCAweGY0LCAKLSAgICAweDAwLCAweDAwLCAweDFiLCAweGY0LCAweDc4LCAweGZjLCAweGRhLCAweGY5LCAweDIyLCAweDIwLCAweDExLCAweDIwLCAweGQyLCAweDEyLCAweDEyLCAweDE5LCAKLSAgICAweDBjLCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAKLSAgICAweDBjLCAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDIyLCAweGNhLCAweDBiLCAweDdlLCAweDEwLCAKLSAgICAweDAzLCAweDdjLCAweDMwLCAweDZjLCAweDIyLCAweDBiLCAweDIwLCAweDllLCAweDMwLCAweDBhLCAweDUwLCAweGY5LCAweDJlLCAweDMwLCAweDBiLCAweDFiLCAKLSAgICAweDIwLCAweDY4LCAweDIwLCAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAzLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAKLSAgICAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAKLSAgICAweGE1LCAweGRhLCAweGUwLCAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAweDBjLCAweDFiLCAweDMwLCAweDY4LCAweDIwLCAweDEyLCAweDE5LCAweDBjLCAKLSAgICAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweDEyLCAweDE5LCAweDBjLCAKLSAgICAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweGE1LCAweGRiLCAweGUwLCAweDdlLCAweDIwLCAweDBhLCAKLSAgICAweDEyLCAweDE5LCAweDBjLCAweGE1LCAweGRhLCAweGZhLCAweGE1LCAweGQ5LCAweDk4LCAweGRhLCAweDBiLCAweDIyLCAweDIwLCAweDExLCAweDE0LCAweDEyLCAKLSAgICAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAxLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDEyLCAweDE5LCAweDBjLCAweDdlLCAweGIwLCAweDAwLCAweDdhLCAKLSAgICAweGIzLCAweDkwLCAweDAwLCAweDIyLCAweDMwLCAweDFmLCAweDMyLCAweDIwLCAweDExLCAweDJmLCAweGNhLCAweDJiLCAweGNhLCAweDdiLCAweDdlLCAweDc4LCAKLSAgICAweDgwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZlLCAweDEyLCAweDFhLCAweDRkLCAweDdlLCAweDZiLCAweGEwLCAweDVjLCAweGFhLCAweDY4LCAweDEwLCAKLSAgICAweDI5LCAweGI3LCAweDAwLCAweDE0LCAweDU0LCAweDYwLCAweDY4LCAweGY4LCAweDM5LCAweGE3LCAweDAwLCAweDAwLCAweDBiLCAweDZjLCAweDgwLCAweGU5LCAKLSAgICAweDEyLCAweDE4LCAweGZmLCAweGQyLCAweGI1LCAweGRhLCAweDdiLCAweGRhLCAweDJiLCAweDIyLCAweDEyLCAweDFhLCAweDA1LCAweDdlLCAweDY4LCAweDAwLCAKLSAgICAweDBjLCAweDEyLCAweDE5LCAweGM0LCAweDIyLCAweGNhLCAweDU5LCAweGNhLCAweDViLCAweDdlLCAweGI0LCAweDAwLCAweDBjLCAweDdjLCAweGI4LCAweGM0LCAKLSAgICAweDEyLCAweDFhLCAweDM1LCAweDdjLCAweGI4LCAweDEyLCAweDFhLCAweDM1LCAweDdjLCAweGI5LCAweGM0LCAweDEyLCAweDFhLCAweDM1LCAweDdjLCAweGI5LCAKLSAgICAweDEyLCAweDFhLCAweDM1LCAweDdlLCAweGIwLCAweDY4LCAweDdhLCAweGI5LCAweGIwLCAweDBiLCAweGI0LCAweDZjLCAweGJiLCAweDdhLCAweGI5LCAweGIwLCAKLSAgICAweGRhLCAweDU5LCAweGRhLCAweDViLCAweDIyLCAweDVlLCAweGIwLCAweDBmLCAweDdjLCAweGFiLCAweDllLCAweGEwLCAweDBhLCAweDQwLCAweDA1LCAweDJlLCAKLSAgICAweGIwLCAweDM3LCAweDgwLCAweDAzLCAweDJlLCAweGIwLCAweDMwLCAweDdhLCAweGI5LCAweGIwLCAweDBiLCAweGI0LCAweDIyLCAweGMyLCAweGI1LCAweDc1LCAKLSAgICAweGIwLCAweGVmLCAweDEyLCAweDE4LCAweGZmLCAweDc0LCAweDgwLCAweDM5LCAweGI3LCAweDAwLCAweDBjLCAweDdlLCAweDU0LCAweDAwLCAweDA2LCAweDM5LCAKLSAgICAweGE3LCAweDAwLCAweDA0LCAweDM5LCAweGI3LCAweDAwLCAweDAwLCAweDc0LCAweDAzLCAweDM5LCAweGI3LCAweDAwLCAweDBjLCAweDIyLCAweDdlLCAweDc4LCAKLSAgICAweDAwLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAweGZmLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweDAxLCAweDdmLCAweDY1LCAKLSAgICAweDdlLCAweDc0LCAweDIwLCAweDAwLCAweDEyLCAweDBiLCAweDYzLCAweDQwLCAweDU4LCAweDdlLCAweDc4LCAweDdjLCAweDAwLCAweDdhLCAweDdjLCAweDAwLCAKLSAgICAweGZmLCAweDdlLCAweDU4LCAweDAwLCAweDAwLCAweDdhLCAweDVjLCAweDAwLCAweDAxLCAweDdlLCAweDY4LCAweDdjLCAweDAwLCAweDdhLCAweDZjLCAweDAwLCAKLSAgICAweDAxLCAweDdlLCAweDc0LCAweDA0LCAweDAwLCAweDEyLCAweDBiLCAweDYzLCAweDQwLCAweDM3LCAweDc0LCAweDgwLCAweDEyLCAweDFhLCAweGVhLCAweDQwLCAKLSAgICAweDMwLCAweDdlLCAweDAwLCAweDAzLCAweDdhLCAweDAzLCAweDkwLCAweDAwLCAweGQyLCAweDEwLCAweDdlLCAweDA0LCAweDAwLCAweDA4LCAweDdlLCAweDE0LCAKLSAgICAweDAwLCAweDAwLCAweDg0LCAweGE1LCAweGRiLCAweGZjLCAweGE1LCAweGRhLCAweGY5LCAweGE1LCAweGQ5LCAweGY2LCAweDc0LCAweDQwLCAweDEyLCAweDFhLCAKLSAgICAweGVhLCAweDQwLCAweDBlLCAweDdlLCAweDY4LCAweDMxLCAweDhkLCAweDdhLCAweDZjLCAweDAwLCAweGZmLCAweDEyLCAweDE5LCAweGM0LCAweDAyLCAweDE4LCAKLSAgICAweGY3LCAweDdlLCAweGIwLCAweDAyLCAweDdhLCAweGIzLCAweDkwLCAweDAwLCAweDgwLCAweGZlLCAweGY1LCAweDBiLCAweDdlLCAweDc4LCAweDAwLCAweDBiLCAKLSAgICAweDdhLCAweDdjLCAweDAwLCAweDAwLCAweDdlLCAweDY4LCAweDdmLCAweGJmLCAweDdhLCAweDZjLCAweDAwLCAweDAxLCAweDdlLCAweDc0LCAweDAwLCAweDAxLCAKLSAgICAweDAyLCAweDBiLCAweDYzLCAKLQotLy8gU2VnbWVudCAjMTksIEVYQ0xVREVEIFN0YXJ0IEFkZHJlc3MgMDBmZjJjNjYsIExlbmd0aCAxMzkzCi0KLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gSU1BR0VfVkVSU0lPTl9OQU1FID0gewotCTIsIDAsIDMgfTsJCS8vIE1ham9yLCBNaW5vciwgQnVpbGQKLQotI3VuZGVmIElNQUdFX1ZFUlNJT05fTkFNRQotCi0jdW5kZWYgSU1BR0VfQVJSQVlfTkFNRQotCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bi5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWE2MWQ4MC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bi5oCisrKyAvZGV2L251bGwKQEAgLTEsMTIyOSArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKLS8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKLS8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0vLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotCi0KLS8vSW1hZ2Ugc3RydWN0dXJlIGRlZmluaXRpb24KLSNpZiAhZGVmaW5lZChERUZJTkVEX0VER0VfRklSTVdBUkVfSU1BR0VfUkVDT1JEKQotCSNkZWZpbmUgREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRAotCXN0cnVjdCBlZGdlX2Zpcm13YXJlX2ltYWdlX3JlY29yZCB7Ci0JCV9fbGUxNiBFeHRBZGRyOwotCQlfX2xlMTYgQWRkcjsKLQkJX19sZTE2IExlbjsKLQkJdW5zaWduZWQgY2hhcglEYXRhWzBdOwotCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwotCi0Jc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIHsKLQkJdW5zaWduZWQgY2hhcglNYWpvclZlcnNpb247Ci0JCXVuc2lnbmVkIGNoYXIJTWlub3JWZXJzaW9uOwotCQl1bnNpZ25lZCBzaG9ydAlCdWlsZE51bWJlcjsKLQl9OwotCi0jZW5kaWYKLQotI2lmICFkZWZpbmVkKElNQUdFX0FSUkFZX05BTUUpCi0JI2RlZmluZSBJTUFHRV9BUlJBWV9OQU1FCUZpcm13YXJlSW1hZ2UKLQkjZGVmaW5lIElNQUdFX1ZFUlNJT05fTkFNRQlGaXJtd2FyZUltYWdlVmVyc2lvbgotI2VuZGlmCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIElNQUdFX0FSUkFZX05BTUVbXSA9IHsKLQotLy8gU2VnbWVudCAjMSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwMCwgTGVuZ3RoIDYKLTB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNiwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDIsIDB4NDQsIDB4YjAsIAotCi0vLyBTZWdtZW50ICMyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDBiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg0NCwgMHg3MiwgCi0KLS8vIFNlZ21lbnQgIzMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDEzLCAKLQotLy8gU2VnbWVudCAjNCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAxYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDFiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MWIsIAotCi0vLyBTZWdtZW50ICM1LCBTdGFydCBBZGRyZXNzIDAwZmYwMDIzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MjMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyMywgCi0KLS8vIFNlZ21lbnQgIzYsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMmIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgyYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDJiLCAKLQotLy8gU2VnbWVudCAjNywgU3RhcnQgQWRkcmVzcyAwMGZmMDAzMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDMzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MzMsIAotCi0vLyBTZWdtZW50ICM4LCBTdGFydCBBZGRyZXNzIDAwZmYwMDNiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4M2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgzYiwgCi0KLS8vIFNlZ21lbnQgIzksIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNDMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDQzLCAKLQotLy8gU2VnbWVudCAjMTAsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNGIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg0YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDZlLCAweGM0LCAKLQotLy8gU2VnbWVudCAjMTEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwNTMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg1MywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDc1LCAweDhkLCAKLQotLy8gU2VnbWVudCAjMTIsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwN2IsIExlbmd0aCAzCi0weGZmLDB4MDAsMHg3YiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDdiLCAKLQotLy8gU2VnbWVudCAjMTMsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwODAsIExlbmd0aCA3Ci0weGZmLDB4MDAsMHg4MCwweDAwLDB4MDcsMHgwMCwKLSAgICAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDAyLCAweDQwLCAweDUxLCAKLQotLy8gU2VnbWVudCAjMTQsIFN0YXJ0IEFkZHJlc3MgMDBmZjMwMDAsIExlbmd0aCAyMTc4Ci0weGZmLDB4MDAsMHgwMCwweDMwLDB4ODIsMHgwOCwKLSAgICAweDEyLCAweDM3LCAweDI4LCAweDEyLCAweDMwLCAweDNlLCAweDEyLCAweDMwLCAweDU0LCAweDEyLCAweDMwLCAweGU1LCAweDEyLCAweDMxLCAweDY4LCAweDEyLCAKLSAgICAweDM1LCAweDIwLCAweDEyLCAweDM4LCAweDU4LCAweDEyLCAweDMxLCAweDE1LCAweDEyLCAweDMxLCAweDQwLCAweDEyLCAweDMwLCAweGEwLCAweDgwLCAweGUwLCAKLSAgICAweGU1LCAweDIzLCAweDYwLCAweDE5LCAweDdlLCAweDE0LCAweDAwLCAweDAwLCAweDA5LCAweGIxLCAweDAxLCAweGNmLCAweGI0LCAweDAwLCAweDAyLCAweDgwLCAKLSAgICAweDA1LCAweDE0LCAweDE5LCAweGIxLCAweDAxLCAweGNmLCAweGE1LCAweDBiLCAweGJlLCAweDMxLCAweDJmLCAweDc4LCAweGViLCAweDIyLCAweGMyLCAweGFmLCAKLSAgICAweDdlLCAweGIzLCAweDNmLCAweGYxLCAweGI0LCAweDAxLCAweDBhLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAyLCAweDEyLCAweDcwLCAweGVmLCAweGQwLCAKLSAgICAweGYxLCAweGQyLCAweGFmLCAweDIyLCAweGMyLCAweGFmLCAweGU1LCAweDIyLCAweDYwLCAweDQzLCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweGJlLCAweDA0LCAKLSAgICAweDAzLCAweDgwLCAweDM4LCAweDM5LCAweDdlLCAweDA0LCAweDgwLCAweDAwLCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDIxLCAweDA5LCAweGEwLCAKLSAgICAweDAwLCAweDA0LCAweDRlLCAweGEwLCAweDA1LCAweDE5LCAweGEwLCAweDAwLCAweDA0LCAweDBhLCAweDMyLCAweDA5LCAweDUzLCAweDY3LCAweDhlLCAweDVlLCAKLSAgICAweDUxLCAweDI3LCAweDY4LCAweDBiLCAweDA5LCAweGEwLCAweDAwLCAweDEwLCAweDRlLCAweGEwLCAweDAxLCAweDE5LCAweGEwLCAweDAwLCAweDEwLCAweDJlLCAKLSAgICAweDA0LCAweDAxLCAweDAwLCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGQxLCAweDc1LCAweDIyLCAweDAwLCAweGQyLCAweGFmLCAweDIyLCAKLSAgICAweGMyLCAweGFmLCAweDdlLCAweDIwLCAweDAwLCAweDdlLCAweDMwLCAweDAxLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDMyLCAweDAxLCAKLSAgICAweDhmLCAweGJlLCAweDM0LCAweDAwLCAweDAwLCAweDY4LCAweDEyLCAweDdlLCAweGIxLCAweDIxLCAweGE1LCAweDRiLCAweDdhLCAweGIxLCAweDIxLCAweGNhLCAKLSAgICAweDE5LCAweDQ5LCAweDIyLCAweDMwLCAweGQ1LCAweDk5LCAweDI0LCAweGRhLCAweDE5LCAweDNlLCAweDMwLCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAKLSAgICAweDc4LCAweGQ2LCAweGQyLCAweGFmLCAweDIyLCAweDQ2LCAweDBmLCAweDQ5LCAweDY3LCAweDRjLCAweGJmLCAweDUwLCAweDE3LCAweDUzLCAweDZmLCAweDU2LCAKLSAgICAweGM3LCAweDVhLCAweDFmLCAweDVkLCAweDc3LCAweGMyLCAweGFmLCAweGU1LCAweDMyLCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAKLSAgICAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDAyLCAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGVmLCAweGQyLCAKLSAgICAweGFmLCAweDIyLCAweGNhLCAweDI4LCAweDEyLCAweDY3LCAweGFiLCAweGRhLCAweDI4LCAweDQwLCAweDA5LCAweDBhLCAweDIyLCAweDA5LCAweGIyLCAweDY3LCAKLSAgICAweDhlLCAweGY0LCAweDUyLCAweDMyLCAweDIyLCAweGMyLCAweGFmLCAweGU1LCAweDM0LCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAKLSAgICAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDMyLCAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGVmLCAweGQyLCAKLSAgICAweGFmLCAweDIyLCAweGNhLCAweDI4LCAweDBhLCAweDIyLCAweDA5LCAweDQyLCAweDAwLCAweDNlLCAweDEyLCAweDY5LCAweGMyLCAweGRhLCAweDI4LCAweDIyLCAKLSAgICAweGMyLCAweGFmLCAweGU1LCAweDM1LCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAKLSAgICAweDVkLCAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweGNhLCAweDI4LCAweDdlLCAKLSAgICAweDQwLCAweDAwLCAweDEyLCAweDZjLCAweDViLCAweGRhLCAweDI4LCAweDIyLCAweGMyLCAweGFmLCAweGU1LCAweDIzLCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAKLSAgICAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDMxLCAweDg1LCAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAKLSAgICAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDMxLCAweDkwLCAweDg5LCAweDI0LCAKLSAgICAweDMxLCAweGEwLCAweDMyLCAweDEwLCAweDMyLCAweDgwLCAweDMyLCAweGYwLCAweDMzLCAweDYwLCAweDMzLCAweGQwLCAweDM0LCAweDQwLCAweDM0LCAweGIwLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDhmLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDQ5LCAweDMwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweDlmLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweDlmLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGNmLCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGNmLCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDE4LCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGNmLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDkxLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgxLCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDRjLCAweDg4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGExLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGExLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQwLCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQwLCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDE5LCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQwLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDkzLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgyLCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDRmLCAweGUwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGEzLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGEzLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQxLCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQxLCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDFhLCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQxLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDk1LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDgzLCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDUzLCAweDM4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGE1LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGE1LCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQyLCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQyLCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDFiLCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQyLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDk3LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg0LCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDU2LCAweDkwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGE3LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGE3LCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQzLCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQzLCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDFjLCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQzLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDk5LCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg1LCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDU5LCAweGU4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGE5LCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGE5LCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQ0LCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQ0LCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDFkLCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQ0LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDliLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg2LCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDVkLCAweDQwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGFiLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGFiLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQ1LCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQ1LCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDFlLCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQ1LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI3LCAweDAxLCAweDlkLCAweGJlLCAweDI0LCAweDAwLCAweDAwLCAweDc4LCAweDI0LCAweDdlLCAweDI0LCAweDg3LCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDYwLCAweDk4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDMwLCAweGU2LCAweDE4LCAweDdlLCAweDYwLCAweDAwLCAweDgwLCAweDFlLCAweGJlLCAweDI3LCAKLSAgICAweDAxLCAweGFkLCAweDY4LCAweDBkLCAweDdhLCAweDI3LCAweDAxLCAweGFkLCAweDdlLCAweDYwLCAweDljLCAweDdhLCAweDYzLCAweDAxLCAweGQ2LCAweDgwLCAKLSAgICAweDJlLCAweDdlLCAweDYzLCAweDAxLCAweGQ2LCAweGE1LCAweGJlLCAweDAwLCAweDI2LCAweDdlLCAweDYwLCAweDAxLCAweDdlLCAweGIwLCAweDAwLCAweDdlLCAKLSAgICAweGEwLCAweGM4LCAweDEyLCAweDYyLCAweGI2LCAweDQwLCAweDE4LCAweDc1LCAweDMxLCAweGIzLCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDFmLCAweDZjLCAKLSAgICAweDAwLCAweDdhLCAweDAzLCAweDAxLCAweGQ2LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweGMyLCAweGFmLCAweGU1LCAweDI0LCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDM1LCAKLSAgICAweDNkLCAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAKLSAgICAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDM1LCAweDQ4LCAweDg5LCAweDI0LCAweDM1LCAweDU4LCAweDM1LCAweDkyLCAweDM1LCAweGNjLCAweDM2LCAweDA2LCAKLSAgICAweDM2LCAweDQwLCAweDM2LCAweDdhLCAweDM2LCAweGI0LCAweDM2LCAweGVlLCAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAKLSAgICAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDQ5LCAweDMwLCAKLSAgICAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDVlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAweDkwLCAweDEyLCAweDYyLCAweDkzLCAweDQwLCAweDEyLCAweDc1LCAKLSAgICAweDMxLCAweGI4LCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDIwLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAKLSAgICAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDgxLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAKLSAgICAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDRjLCAweDg4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDVlLCAweGIwLCAKLSAgICAweDAxLCAweDdlLCAweGEwLCAweDkwLCAweDEyLCAweDYyLCAweDkzLCAweDQwLCAweDEyLCAweDc1LCAweDMxLCAweGI4LCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAKLSAgICAweDIxLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDgyLCAweDAwLCAKLSAgICAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAKLSAgICAweDEyLCAweDEyLCAweDRmLCAweGUwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDVlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAweDkwLCAweDEyLCAweDYyLCAKLSAgICAweDkzLCAweDQwLCAweDEyLCAweDc1LCAweDMxLCAweGI4LCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDIyLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAKLSAgICAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDgzLCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAKLSAgICAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDUzLCAweDM4LCAweDdkLCAweDIxLCAKLSAgICAweGRhLCAweDE5LCAweDVlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAweDkwLCAweDEyLCAweDYyLCAweDkzLCAweDQwLCAweDEyLCAweDc1LCAweDMxLCAweGI4LCAKLSAgICAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDIzLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAKLSAgICAweDdlLCAweDI0LCAweDg0LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAKLSAgICAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU2LCAweDkwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDVlLCAweGIwLCAweDAxLCAweDdlLCAKLSAgICAweGEwLCAweDkwLCAweDEyLCAweDYyLCAweDkzLCAweDQwLCAweDEyLCAweDc1LCAweDMxLCAweGI4LCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDI0LCAweGMwLCAKLSAgICAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDg1LCAweDAwLCAweDA5LCAweGIyLCAKLSAgICAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAKLSAgICAweDU5LCAweGU4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDVlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAweDkwLCAweDEyLCAweDYyLCAweDkzLCAweDQwLCAKLSAgICAweDEyLCAweDc1LCAweDMxLCAweGI4LCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDI1LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAKLSAgICAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDg2LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAKLSAgICAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDVkLCAweDQwLCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAKLSAgICAweDVlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAweDkwLCAweDEyLCAweDYyLCAweDkzLCAweDQwLCAweDEyLCAweDc1LCAweDMxLCAweGI4LCAweDEyLCAweDdjLCAKLSAgICAweDE1LCAweGMyLCAweDI2LCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAKLSAgICAweDg3LCAweDAwLCAweDA5LCAweGIyLCAweDAwLCAweDE0LCAweGNhLCAweGI4LCAweDVlLCAweGIwLCAweDFlLCAweGRhLCAweGI4LCAweDY4LCAweDBiLCAweGNhLCAKLSAgICAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDYwLCAweDk4LCAweDdkLCAweDIxLCAweGRhLCAweDE5LCAweDVlLCAweGIwLCAweDAxLCAweDdlLCAweGEwLCAweDkwLCAKLSAgICAweDEyLCAweDYyLCAweDkzLCAweDQwLCAweDEyLCAweDc1LCAweDMxLCAweGI4LCAweDEyLCAweDdjLCAweDE1LCAweGMyLCAweDI3LCAweGMwLCAweGYxLCAweDc1LCAKLSAgICAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweGMyLCAweGFmLCAweGU1LCAweDMzLCAweDYwLCAweDE0LCAweDdlLCAweDIwLCAKLSAgICAweDAwLCAweDEzLCAweDUwLCAweDA3LCAweGNhLCAweGI4LCAweDEyLCAweDM3LCAweDQ1LCAweGRhLCAweGI4LCAweGE1LCAweDBhLCAweGJlLCAweDIxLCAweDJmLCAKLSAgICAweDc4LCAweGVmLCAweGQyLCAweGFmLCAweDIyLCAweDdjLCAweGIyLCAweDIzLCAweDBhLCAweDJiLCAweDQ5LCAweDIyLCAweDM3LCAweDUwLCAweDg5LCAweDI0LCAKLSAgICAweDM3LCAweDYwLCAweDM3LCAweDdmLCAweDM3LCAweDllLCAweDM3LCAweGJkLCAweDM3LCAweGRjLCAweDM3LCAweGZiLCAweDM4LCAweDFhLCAweDM4LCAweDM5LCAKLSAgICAweDdlLCAweDI0LCAweDgwLCAweDAwLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDQ4LCAweDFiLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAKLSAgICAweDgwLCAweDBjLCAweGQyLCAweDAxLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAKLSAgICAweDI0LCAweDgxLCAweDAwLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDRiLCAweDczLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAKLSAgICAweDBjLCAweGQyLCAweDAxLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAKLSAgICAweDgyLCAweDAwLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDRlLCAweGNiLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAweDBjLCAKLSAgICAweGQyLCAweDAxLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDgzLCAKLSAgICAweDAwLCAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDUyLCAweDIzLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAweDBjLCAweGQyLCAKLSAgICAweDAxLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDg0LCAweDAwLCAKLSAgICAweGNhLCAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU1LCAweDdiLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAweDBjLCAweGQyLCAweDAxLCAKLSAgICAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDg1LCAweDAwLCAweGNhLCAKLSAgICAweDE5LCAweDdkLCAweDEyLCAweDEyLCAweDU4LCAweGQzLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAweDBjLCAweGQyLCAweDAxLCAweGMwLCAKLSAgICAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDg2LCAweDAwLCAweGNhLCAweDE5LCAKLSAgICAweDdkLCAweDEyLCAweDEyLCAweDVjLCAweDJiLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAweDBjLCAweGQyLCAweDAxLCAweGMwLCAweGYxLCAKLSAgICAweDc1LCAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweDdlLCAweDI0LCAweDg3LCAweDAwLCAweGNhLCAweDE5LCAweDdkLCAKLSAgICAweDEyLCAweDEyLCAweDVmLCAweDgzLCAweGRhLCAweDE5LCAweDEwLCAweDA0LCAweDAyLCAweDgwLCAweDBjLCAweGQyLCAweDAxLCAweGMwLCAweGYxLCAweDc1LCAKLSAgICAweGYxLCAweDAxLCAweDEyLCAweDZmLCAweGQ5LCAweGQwLCAweGYxLCAweDIyLCAweGMyLCAweGFmLCAweGMwLCAweGYxLCAweDc1LCAweGYxLCAweDAxLCAweGE5LCAKLSAgICAweDMyLCAweGYyLCAweDFhLCAweDdlLCAweDA3LCAweDAxLCAweGUxLCAweGJlLCAweDA0LCAweDAwLCAweDAwLCAweDc4LCAweDEwLCAweGU1LCAweGY1LCAweDMzLCAKLSAgICAweDgyLCAweGU3LCAweDQwLCAweDA5LCAweDg1LCAweDMxLCAweDMxLCAweDEyLCAweDdjLCAweDE1LCAweDc1LCAweGY2LCAweDAwLCAweGQwLCAweGYxLCAweGQyLCAKLSAgICAweGFmLCAweDIyLCAKLQotLy8gU2VnbWVudCAjMTUsIFN0YXJ0IEFkZHJlc3MgMDBmZjQwMDAsIExlbmd0aCAxNTM4MQotMHhmZiwweDAwLDB4MDAsMHg0MCwweDE1LDB4M2MsCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNCwgMHg3ZiwgMHhmOCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZCwgMHgzMSwgMHgwYiwgMHgxYSwgCi0gICAgMHg1MCwgMHgxYiwgMHgwYSwgMHg1MCwgMHg3ZSwgMHgxNCwgMHg0MCwgMHgxYiwgMHgwMiwgMHg0MCwgMHg2YSwgMHg3ZSwgMHhmOCwgMHgwMCwgMHg2ZiwgMHhkMiwgCi0gICAgMHgwNCwgMHhjMiwgMHg5NCwgMHhkMiwgMHg5NSwgMHg3ZSwgMHhmNCwgMHg0MCwgMHgyYywgMHgwMiwgMHg0MCwgMHg3YywgMHgxMiwgMHg3ZCwgMHgzMCwgMHhmNSwgCi0gICAgMHgyZiwgMHg3YSwgMHhhMSwgMHgzMCwgMHg3YSwgMHgxMSwgMHg2ZSwgMHgxMiwgMHg3NSwgMHhjYSwgMHgxMiwgMHg0MCwgMHhkYywgMHg3ZSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMSwgMHg2MCwgMHgwMywgMHgxMiwgMHg0MywgMHhkNCwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHg3NiwgMHg2ZiwgMHhkMiwgMHhhZiwgMHgwMiwgMHgzMCwgCi0gICAgMHgwMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHhmZiwgMHg3ZSwgMHgxOCwgMHg0MCwgMHg1ZiwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMSwgMHg4OSwgMHgxOCwgMHhhOSwgCi0gICAgMHgyNSwgMHg4NywgMHgwMywgMHhhOSwgMHhkNSwgMHg4NywgMHhkMiwgMHg5MywgMHg4OSwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHhmZiwgMHg3ZSwgMHgxOCwgCi0gICAgMHg0MCwgMHg3OCwgMHg3YSwgMHgxYywgMHgwMCwgMHgwMSwgMHg4OSwgMHgxOCwgMHhjMiwgMHg5MywgMHg4OSwgMHgwOCwgMHg3ZSwgMHgwOCwgMHgwMCwgMHgyMCwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwNCwgMHgwMCwgMHg3ZSwgMHg0MCwgMHgwMCwgMHg3ZSwgMHhlNCwgMHg0MCwgMHg4ZSwgMHgwMiwgMHg3YywgMHgzMCwgMHg3ZSwgMHgwOCwgCi0gICAgMHgwMSwgMHg2ZiwgMHg3ZSwgMHg0NCwgMHgyOCwgMHg3YywgMHg3ZSwgMHg0MCwgMHgwMCwgMHg3ZSwgMHhlNCwgMHg0MCwgMHhhMCwgMHgwMiwgMHg3YywgMHgzMCwgCi0gICAgMHg3ZSwgMHgwOCwgMHgwMCwgMHg2ZiwgMHg3ZSwgMHg0NCwgMHgwMSwgMHgwMCwgMHg3ZSwgMHg0MCwgMHg1MywgMHg3ZSwgMHhlNCwgMHg0MCwgMHhiMiwgMHgwMiwgCi0gICAgMHg3YywgMHgzMCwgMHg3NSwgMHg2ZCwgMHgyMCwgMHg3NSwgMHg2YywgMHgzMCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwOCwgMHg3NSwgMHg2YSwgMHg1OCwgMHg3NSwgCi0gICAgMHg2YiwgMHgwOCwgMHg3NSwgMHg2NywgMHgwOCwgMHg3NSwgMHg2OSwgMHgwMSwgMHg3NSwgMHg4OSwgMHgwMSwgMHg3NSwgMHg4YSwgMHgwMSwgMHg3NSwgMHg4YywgCi0gICAgMHgwMCwgMHhkMiwgMHg4YywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMiwgMHg3YSwgMHgwNSwgMHg1OCwgMHg4OSwgMHhmNCwgMHg3NSwgMHhiNywgMHg3ZiwgMHg3NSwgCi0gICAgMHhiOCwgMHg3ZiwgMHg3NSwgMHhiMywgMHgwNywgMHg3NSwgMHhiMiwgMHgwNywgMHhkMiwgMHhhOSwgMHgyMiwgMHhkMiwgMHg5MiwgMHhlNCwgMHhkNSwgMHhlMCwgCi0gICAgMHhmZCwgMHhjMiwgMHg5MiwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgxMSwgMHgyZiwgMHg3ZSwgMHhhMCwgMHgwOCwgMHgxOSwgMHhhMiwgMHgwMCwgCi0gICAgMHgxMCwgMHgyZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHhkOSwgMHhmMiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMiwgMHg0MSwgMHg3ZSwgMHgwYiwgMHgyMCwgCi0gICAgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhmNiwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgwYywgMHg3NCwgMHgxMCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3NCwgMHg4MCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3ZSwgMHg1NCwgCi0gICAgMHgwMCwgMHgwMiwgMHgxOSwgMHhhMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwMCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgCi0gICAgMHg3NCwgMHgwNywgMHhhOSwgMHgyMCwgMHgzMCwgMHgwYiwgMHhhOSwgMHgzNSwgMHgzMCwgMHgwNSwgMHhiZSwgMHgyMCwgMHgwMSwgMHgyOCwgMHgwMiwgMHg3NCwgCi0gICAgMHgwZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHhhOSwgMHgzMywgMHgzMCwgMHgxOCwgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg3NCwgCi0gICAgMHgyOCwgMHhhOSwgMHgyMCwgMHgzMCwgMHgwMiwgMHg3NCwgMHgyMCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHg3NCwgMHgwMywgMHgxOSwgMHhiMCwgMHgwMCwgCi0gICAgMHgwYywgMHg3NCwgMHhhNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3NCwgMHgwYywgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHgyMiwgMHg3ZSwgMHgwNCwgCi0gICAgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHhlNCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgwOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHg1NCwgMHgwOCwgMHgxOSwgCi0gICAgMHhiMCwgMHgwMCwgMHgxMCwgMHg3NCwgMHhhNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgCi0gICAgMHgyMiwgMHg0MSwgMHhhNSwgMHg4OSwgMHgyNCwgMHg0MSwgMHhiNSwgMHg0MSwgMHhkNCwgMHg0MSwgMHhmMywgMHg0MiwgMHgxMiwgMHg0MiwgMHgzMSwgMHg0MiwgCi0gICAgMHg1MCwgMHg0MiwgMHg2ZiwgMHg0MiwgMHg4ZSwgMHhjMiwgMHgxMCwgMHhjMiwgMHgxOCwgMHhjMiwgMHgyMCwgMHhjMiwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwOSwgCi0gICAgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZiwgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4ZiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg5ZiwgMHgyMiwgMHhjMiwgMHgxMSwgMHhjMiwgMHgxOSwgMHhjMiwgMHgyMSwgMHhjMiwgMHgwOSwgMHg3ZSwgMHgwNCwgMHgwZCwgMHhlMywgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHg3MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4MSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5MSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhhMSwgMHgyMiwgMHhjMiwgMHgxMiwgMHhjMiwgMHgxYSwgMHhjMiwgMHgyMiwgMHhjMiwgMHgwYSwgMHg3ZSwgMHgwNCwgMHgxMSwgMHhlMywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3MywgMHg3YSwgMHgwNywgMHgwMSwgMHg4MywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5MywgMHg3YSwgMHgwNywgMHgwMSwgCi0gICAgMHhhMywgMHgyMiwgMHhjMiwgMHgxMywgMHhjMiwgMHgxYiwgMHhjMiwgMHgyMywgMHhjMiwgMHgwYiwgMHg3ZSwgMHgwNCwgMHgxNSwgMHhlMywgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg3NSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4NSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5NSwgMHg3YSwgMHgwNywgMHgwMSwgMHhhNSwgCi0gICAgMHgyMiwgMHhjMiwgMHgxNCwgMHhjMiwgMHgxYywgMHhjMiwgMHgyNCwgMHhjMiwgMHgwYywgMHg3ZSwgMHgwNCwgMHgxOSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgCi0gICAgMHg3NywgMHg3YSwgMHgwNywgMHgwMSwgMHg4NywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5NywgMHg3YSwgMHgwNywgMHgwMSwgMHhhNywgMHgyMiwgCi0gICAgMHhjMiwgMHgxNSwgMHhjMiwgMHgxZCwgMHhjMiwgMHgyNSwgMHhjMiwgMHgwZCwgMHg3ZSwgMHgwNCwgMHgxZCwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg3OSwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHg4OSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5OSwgMHg3YSwgMHgwNywgMHgwMSwgMHhhOSwgMHgyMiwgMHhjMiwgCi0gICAgMHgxNiwgMHhjMiwgMHgxZSwgMHhjMiwgMHgyNiwgMHhjMiwgMHgwZSwgMHg3ZSwgMHgwNCwgMHgyMSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg3YiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg4YiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5YiwgMHg3YSwgMHgwNywgMHgwMSwgMHhhYiwgMHgyMiwgMHhjMiwgMHgxNywgCi0gICAgMHhjMiwgMHgxZiwgMHhjMiwgMHgyNywgMHhjMiwgMHgwZiwgMHg3ZSwgMHgwNCwgMHgyNSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg4ZCwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhZCwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgCi0gICAgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg0MiwgMHhiOCwgMHg4OSwgMHgyNCwgMHg0MiwgMHhjOCwgMHg0MiwgMHhlOSwgMHg0MywgMHgwYSwgMHg0MywgMHgyYiwgCi0gICAgMHg0MywgMHg0YywgMHg0MywgMHg2ZCwgMHg0MywgMHg4ZSwgMHg0MywgMHhhZiwgMHgzMCwgMHg1MCwgMHgwNywgMHgyMCwgMHg2OCwgMHgwNCwgMHhjMiwgMHgyOCwgCi0gICAgMHg4MCwgMHgxNiwgMHgzMCwgMHg0MCwgMHgwNywgMHgyMCwgMHg2MCwgMHgwNCwgMHhjMiwgMHgyOCwgMHg4MCwgMHgwYywgMHgzMCwgMHg0OCwgMHgwNywgMHgyMCwgCi0gICAgMHg1OCwgMHgwNCwgMHhjMiwgMHgyOCwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyOCwgMHgyMiwgMHgzMCwgMHg1MSwgMHgwNywgMHgyMCwgMHg2OSwgMHgwNCwgMHhjMiwgCi0gICAgMHgyOSwgMHg4MCwgMHgxNiwgMHgzMCwgMHg0MSwgMHgwNywgMHgyMCwgMHg2MSwgMHgwNCwgMHhjMiwgMHgyOSwgMHg4MCwgMHgwYywgMHgzMCwgMHg0OSwgMHgwNywgCi0gICAgMHgyMCwgMHg1OSwgMHgwNCwgMHhjMiwgMHgyOSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyOSwgMHgyMiwgMHgzMCwgMHg1MiwgMHgwNywgMHgyMCwgMHg2YSwgMHgwNCwgCi0gICAgMHhjMiwgMHgyYSwgMHg4MCwgMHgxNiwgMHgzMCwgMHg0MiwgMHgwNywgMHgyMCwgMHg2MiwgMHgwNCwgMHhjMiwgMHgyYSwgMHg4MCwgMHgwYywgMHgzMCwgMHg0YSwgCi0gICAgMHgwNywgMHgyMCwgMHg1YSwgMHgwNCwgMHhjMiwgMHgyYSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYSwgMHgyMiwgMHgzMCwgMHg1MywgMHgwNywgMHgyMCwgMHg2YiwgCi0gICAgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgxNiwgMHgzMCwgMHg0MywgMHgwNywgMHgyMCwgMHg2MywgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgwYywgMHgzMCwgCi0gICAgMHg0YiwgMHgwNywgMHgyMCwgMHg1YiwgMHgwNCwgMHhjMiwgMHgyYiwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYiwgMHgyMiwgMHgzMCwgMHg1NCwgMHgwNywgMHgyMCwgCi0gICAgMHg2YywgMHgwNCwgMHhjMiwgMHgyYywgMHg4MCwgMHgxNiwgMHgzMCwgMHg0NCwgMHgwNywgMHgyMCwgMHg2NCwgMHgwNCwgMHhjMiwgMHgyYywgMHg4MCwgMHgwYywgCi0gICAgMHgzMCwgMHg0YywgMHgwNywgMHgyMCwgMHg1YywgMHgwNCwgMHhjMiwgMHgyYywgMHg4MCwgMHgwMiwgMHhkMiwgMHgyYywgMHgyMiwgMHgzMCwgMHg1NSwgMHgwNywgCi0gICAgMHgyMCwgMHg2ZCwgMHgwNCwgMHhjMiwgMHgyZCwgMHg4MCwgMHgxNiwgMHgzMCwgMHg0NSwgMHgwNywgMHgyMCwgMHg2NSwgMHgwNCwgMHhjMiwgMHgyZCwgMHg4MCwgCi0gICAgMHgwYywgMHgzMCwgMHg0ZCwgMHgwNywgMHgyMCwgMHg1ZCwgMHgwNCwgMHhjMiwgMHgyZCwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZCwgMHgyMiwgMHgzMCwgMHg1NiwgCi0gICAgMHgwNywgMHgyMCwgMHg2ZSwgMHgwNCwgMHhjMiwgMHgyZSwgMHg4MCwgMHgxNiwgMHgzMCwgMHg0NiwgMHgwNywgMHgyMCwgMHg2NiwgMHgwNCwgMHhjMiwgMHgyZSwgCi0gICAgMHg4MCwgMHgwYywgMHgzMCwgMHg0ZSwgMHgwNywgMHgyMCwgMHg1ZSwgMHgwNCwgMHhjMiwgMHgyZSwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZSwgMHgyMiwgMHgzMCwgCi0gICAgMHg1NywgMHgwNywgMHgyMCwgMHg2ZiwgMHgwNCwgMHhjMiwgMHgyZiwgMHg4MCwgMHgxNiwgMHgzMCwgMHg0NywgMHgwNywgMHgyMCwgMHg2NywgMHgwNCwgMHhjMiwgCi0gICAgMHgyZiwgMHg4MCwgMHgwYywgMHgzMCwgMHg0ZiwgMHgwNywgMHgyMCwgMHg1ZiwgMHgwNCwgMHhjMiwgMHgyZiwgMHg4MCwgMHgwMiwgMHhkMiwgMHgyZiwgMHgyMiwgCi0gICAgMHg0NCwgMHgzOCwgMHg0MywgMHhlNSwgMHhiZSwgMHhiMCwgMHgwMiwgMHg0MCwgMHgwMSwgMHgyMiwgMHgyMywgMHgwYSwgMHg1YiwgMHg0OSwgMHg1NSwgMHg0MywgCi0gICAgMHhkMCwgMHg5OSwgMHg1NCwgMHhkMywgMHgyMiwgMHhhOSwgMHhjNSwgMHg4NywgMHgxMiwgMHg0NCwgMHg0MywgMHg3ZSwgMHgwNCwgMHgwNSwgMHhlMywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHhkNywgMHg3YSwgMHgwNywgMHgwMSwgMHhkOSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHhkZCwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHgwNCwgMHg3NCwgMHhhZCwgMHg3YSwgMHgwNSwgMHg2MSwgMHg3NSwgMHhmMSwgMHgwMSwgMHg3NSwgMHhlMSwgMHgxZiwgCi0gICAgMHg3NSwgMHhlNCwgMHgwNCwgMHg3NSwgMHhmNCwgMHgwNCwgMHg3NSwgMHhmMSwgMHgwMiwgMHg3NSwgMHhlMSwgMHgwMywgMHg3NSwgMHhlNCwgMHgwNCwgMHg3NSwgCi0gICAgMHhmNCwgMHgwNCwgMHg0MywgMHhhMiwgMHgxYywgMHgxMiwgMHg0MCwgMHhlYiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMiwgMHg0MSwgMHg5YSwgMHgwYiwgMHgyMCwgCi0gICAgMHhiZSwgMHgyMSwgMHgyZiwgMHg3OCwgMHhmNiwgMHhkMiwgMHhhOCwgMHgyMiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHg0NCwgMHg0MywgMHhkMiwgMHg5MiwgCi0gICAgMHhjMiwgMHhhOCwgMHgyMiwgMHg3NSwgMHhhMywgMHgwMCwgMHg1MywgMHhhMiwgMHgwMywgMHg3NSwgMHhjMSwgMHgwMCwgMHg1MywgMHhjMCwgMHgwMywgMHg3ZSwgCi0gICAgMHgwMCwgMHgwNSwgMHg3YSwgMHgwMSwgMHhmMSwgMHg0MywgMHhmNCwgMHg4MCwgMHg0MywgMHhlNCwgMHg4MCwgMHhlNSwgMHhmMiwgMHg1NCwgMHg3ZiwgMHg0NCwgCi0gICAgMHgwOCwgMHhmNSwgMHhmMiwgMHhlNSwgMHhlMiwgMHg1NCwgMHg3ZiwgMHg0NCwgMHgwOCwgMHhmNSwgMHhlMiwgMHg3NSwgMHhlMSwgMHgxMCwgMHhhNSwgMHhkOCwgCi0gICAgMHhlMSwgMHgyMiwgMHhjYSwgMHgwOSwgMHgxMiwgMHgzMCwgMHgyMCwgMHgxMCwgMHgwMSwgMHgxMiwgMHhkNSwgMHg2NywgMHgxZSwgMHg2MywgMHg2OSwgMHgwMSwgCi0gICAgMHg3ZSwgMHgwMCwgMHg2YSwgMHgyZSwgMHgwMSwgMHg2OSwgMHhhNSwgMHhlNiwgMHhmNSwgMHg2NywgMHg4MCwgMHgxMiwgMHgyMCwgMHgwMiwgMHgxZSwgMHg3NSwgCi0gICAgMHg2OSwgMHgwMCwgMHg4NSwgMHg2YSwgMHg2NywgMHhkMiwgMHgwMiwgMHg3NCwgMHgwMCwgMHg4MCwgMHgwZCwgMHgzMCwgMHgwMiwgMHgwZiwgMHhjMiwgMHgwMiwgCi0gICAgMHg3ZSwgMHgwMCwgMHg2YywgMHgyZSwgMHgwMSwgMHg2OSwgMHhhNSwgMHhlNiwgMHg1MywgMHg5MCwgMHhjZiwgMHg0MiwgMHg5MCwgMHhkYSwgMHgwOSwgMHgzMiwgCi0gICAgMHhjMCwgMHhkMCwgMHhjMCwgMHhkMSwgMHhjMCwgMHhlMCwgMHhjMCwgMHhmMCwgMHhjYSwgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhkMiwgMHgwMSwgCi0gICAgMHg3NSwgMHgzMSwgMHg4OSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgCi0gICAgMHgwMywgMHgwMiwgMHg0NSwgMHg0ZiwgMHgyMCwgMHg3OCwgMHg1YSwgMHhhNSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwMywgCi0gICAgMHgwMiwgMHg0NSwgMHg2NywgMHgyMCwgMHg3OSwgMHg0YiwgMHhhNSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgCi0gICAgMHg0NSwgMHg3ZiwgMHhhNSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHg0NSwgMHg5NywgMHgyMCwgMHg3YSwgCi0gICAgMHgzMCwgMHhhNSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHg0NSwgMHhhZiwgMHhhNSwgMHgwYSwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHg0NSwgMHhjNywgMHhhNSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgCi0gICAgMHhlMCwgMHgwMywgMHgwMiwgMHg0NSwgMHhkZiwgMHhhNSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwOCwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHg0NSwgCi0gICAgMHhmNywgMHgzMCwgMHgwNCwgMHgwYywgMHhjMiwgMHgwNCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgCi0gICAgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHhkMSwgMHhkMCwgMHhkMCwgMHgzMiwgMHg3NSwgCi0gICAgMHgzMSwgMHg4MCwgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgCi0gICAgMHgyYiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgMHgzMSwgMHg4MSwgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgCi0gICAgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgMHg2YiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgCi0gICAgMHgzMSwgMHg4MiwgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgCi0gICAgMHhhYiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgMHgzMSwgMHg4MywgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgCi0gICAgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2MywgMHhlYiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgCi0gICAgMHgzMSwgMHg4NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2NCwgCi0gICAgMHgyYiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgMHgzMSwgMHg4NSwgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgCi0gICAgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2NCwgMHg2YiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgCi0gICAgMHgzMSwgMHg4NiwgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2NCwgCi0gICAgMHhhYiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHg3NSwgMHgzMSwgMHg4NywgMHgxMiwgMHg3YywgMHgxNSwgMHg1NCwgMHgzZSwgMHgwYSwgCi0gICAgMHg1YiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHg2OSwgMHg1MiwgMHg2NCwgMHhlYiwgMHhjYSwgMHgwNiwgMHhjNiwgMHg0NCwgMHg4OSwgMHg1NCwgMHgxMCwgCi0gICAgMHgwOCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyOCwgMHgwMywgMHhkMiwgMHgwOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhhMCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MCwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyOCwgMHgwMywgMHhkMiwgMHgwOCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg0OSwgMHgzMCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwOCwgCi0gICAgMHgyMiwgMHgzMCwgMHgzMCwgMHg0OSwgMHhkMiwgMHg3MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4ZiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhhZiwgMHg5ZCwgMHgzMiwgCi0gICAgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0OCwgMHg3YSwgMHgwNSwgMHg0OCwgMHg3YSwgMHgzNywgMHgwMSwgMHg4ZiwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg2ZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwZCwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg2ZiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgCi0gICAgMHg3MCwgMHhjNCwgMHgyMiwgMHhjMiwgMHg3MCwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg4ZiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhhZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHhhZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg4ZiwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0OCwgMHg3YSwgMHgwNSwgMHg0OCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHg4ZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg2ZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwZCwgMHhlMiwgMHgzOCwgCi0gICAgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg2ZiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwZCwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgMHgyYiwgMHg3ZSwgMHgzNCwgMHgwOSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg2ZiwgMHgxMiwgMHg2NSwgMHgyYiwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0NiwgMHg3ZiwgCi0gICAgMHgyMiwgMHhkMiwgMHgwOCwgMHg3ZSwgMHgwNCwgMHgwOSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg2ZiwgMHg3YSwgMHgwNywgMHgwMSwgMHg3ZiwgMHg3NSwgCi0gICAgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiZiwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgCi0gICAgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhiZiwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgCi0gICAgMHgzMCwgMHgzOCwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMCwgMHgyMiwgCi0gICAgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgCi0gICAgMHgwMCwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhiZiwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgCi0gICAgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgCi0gICAgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgCi0gICAgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMCwgMHg3YSwgMHg2OSwgCi0gICAgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgCi0gICAgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgCi0gICAgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgCi0gICAgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgCi0gICAgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgCi0gICAgMHgwMiwgMHg0NywgMHhlMywgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOCwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHhkMiwgMHgxMCwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0NywgCi0gICAgMHhlMywgMHhkYSwgMHhiOCwgMHgwMiwgMHg0OSwgMHgzMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgCi0gICAgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg2OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2OCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2MCwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg2MCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OCwgMHgxMiwgCi0gICAgMHg0MiwgMHhjOCwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgCi0gICAgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgCi0gICAgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0OCwgMHgzNSwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgMHgwOSwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyOSwgMHgwMywgMHhkMiwgMHgwOSwgCi0gICAgMHgyMiwgMHg3NSwgMHgzMSwgMHhhMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNCwgMHg4MSwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyOSwgMHgwMywgCi0gICAgMHhkMiwgMHgwOSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgCi0gICAgMHgxMiwgMHg0YywgMHg4OCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwOSwgMHgyMiwgMHgzMCwgMHgzMSwgMHg0OSwgMHhkMiwgMHg3MSwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg5MSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0YSwgMHg3YSwgCi0gICAgMHgwNSwgMHg0YSwgMHg3YSwgMHgzNywgMHgwMSwgMHg5MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3MSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgCi0gICAgMHgxMSwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3MSwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgMHg3MSwgMHhjNCwgMHgyMiwgMHhjMiwgMHg3MSwgMHgyZCwgMHgyMywgMHg2OCwgCi0gICAgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5MSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgCi0gICAgMHgyNywgMHgwMSwgMHhiMSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5MSwgMHg5ZCwgMHgzMiwgMHg3ZCwgCi0gICAgMHgwMiwgMHgyZSwgMHgwNSwgMHg0YSwgMHg3YSwgMHgwNSwgMHg0YSwgMHg3YSwgMHgzNywgMHgwMSwgMHg5MSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3MSwgMHg3ZCwgCi0gICAgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxMSwgMHhlMiwgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3MSwgMHg3NSwgMHgzMSwgMHg5NCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgxMSwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgCi0gICAgMHgyYiwgMHg3ZSwgMHgzNCwgMHgwZCwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3MSwgMHgxMiwgMHg2NSwgMHgyYiwgCi0gICAgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0OSwgMHhkNywgMHgyMiwgMHhkMiwgMHgwOSwgMHg3ZSwgMHgwNCwgMHgwZCwgMHhlMywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3MSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4MSwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjMSwgCi0gICAgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgCi0gICAgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgCi0gICAgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwMSwgMHgwMCwgMHgyZSwgMHgyNywgCi0gICAgMHgwMSwgMHhjMSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgCi0gICAgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMSwgMHgyMiwgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMSwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjMSwgMHg5ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgCi0gICAgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgCi0gICAgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMSwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgCi0gICAgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgCi0gICAgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgCi0gICAgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgCi0gICAgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg0YiwgMHgzYiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzOSwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMSwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgCi0gICAgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0YiwgMHgzYiwgMHhkYSwgMHhiOCwgMHgwMiwgMHg0YywgMHg4OCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgCi0gICAgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2OSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2OSwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2MSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2MSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg1OSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OSwgMHgxMiwgMHg0MiwgMHhlOSwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgCi0gICAgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgCi0gICAgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgCi0gICAgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0YiwgCi0gICAgMHg4ZCwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgCi0gICAgMHgwYSwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYSwgMHgwMywgMHhkMiwgMHgwYSwgMHgyMiwgMHg3NSwgMHgzMSwgMHhhMiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MiwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYSwgMHgwMywgMHhkMiwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg0ZiwgMHhlMCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwYSwgCi0gICAgMHgyMiwgMHgzMCwgMHgzMiwgMHg0OSwgMHhkMiwgMHg3MiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5MywgMHg3ZSwgMHgyNywgMHgwMSwgMHhiMywgMHg5ZCwgMHgzMiwgCi0gICAgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0YywgMHg3YSwgMHgwNSwgMHg0YywgMHg3YSwgMHgzNywgMHgwMSwgMHg5MywgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg3MywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxNSwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3MywgCi0gICAgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgCi0gICAgMHg3MiwgMHhjNCwgMHgyMiwgMHhjMiwgMHg3MiwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5MywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhiMywgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHhiMywgMHg3ZSwgMHgzNywgMHgwMSwgMHg5MywgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0YywgMHg3YSwgMHgwNSwgMHg0YywgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHg5MywgMHg3ZSwgMHgzNywgMHgwMSwgMHg3MywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxNSwgMHhlMiwgMHgzOCwgCi0gICAgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3MywgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgxNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgMHgyYiwgMHg3ZSwgMHgzNCwgMHgxMSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3MywgMHgxMiwgMHg2NSwgMHgyYiwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg0ZCwgMHgyZiwgCi0gICAgMHgyMiwgMHhkMiwgMHgwYSwgMHg3ZSwgMHgwNCwgMHgxMSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg3MywgMHg3YSwgMHgwNywgMHgwMSwgMHg4MywgMHg3NSwgCi0gICAgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjMywgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgCi0gICAgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwMiwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhjMywgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgCi0gICAgMHgzMCwgMHgzYSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMiwgMHgyMiwgCi0gICAgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgCi0gICAgMHgwMiwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjMywgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgCi0gICAgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgCi0gICAgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgCi0gICAgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMiwgMHg3YSwgMHg2OSwgCi0gICAgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgCi0gICAgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgCi0gICAgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgCi0gICAgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgCi0gICAgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgCi0gICAgMHgwMiwgMHg0ZSwgMHg5MywgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHhkMiwgMHgxMiwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg0ZSwgCi0gICAgMHg5MywgMHhkYSwgMHhiOCwgMHgwMiwgMHg0ZiwgMHhlMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgCi0gICAgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg2YSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2YSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2MiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg2MiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YSwgMHgxMiwgCi0gICAgMHg0MywgMHgwYSwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgCi0gICAgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgCi0gICAgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg0ZSwgMHhlNSwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgMHgwYiwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYiwgMHgwMywgMHhkMiwgMHgwYiwgCi0gICAgMHgyMiwgMHg3NSwgMHgzMSwgMHhhMywgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNCwgMHg4MywgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYiwgMHgwMywgCi0gICAgMHhkMiwgMHgwYiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgCi0gICAgMHgxMiwgMHg1MywgMHgzOCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwYiwgMHgyMiwgMHgzMCwgMHgzMywgMHg0OSwgMHhkMiwgMHg3MywgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg5NSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0ZSwgMHg3YSwgCi0gICAgMHgwNSwgMHg0ZSwgMHg3YSwgMHgzNywgMHgwMSwgMHg5NSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3NSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgCi0gICAgMHgxOSwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3NSwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgMHg3MywgMHhjNCwgMHgyMiwgMHhjMiwgMHg3MywgMHgyZCwgMHgyMywgMHg2OCwgCi0gICAgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5NSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgCi0gICAgMHgyNywgMHgwMSwgMHhiNSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5NSwgMHg5ZCwgMHgzMiwgMHg3ZCwgCi0gICAgMHgwMiwgMHgyZSwgMHgwNSwgMHg0ZSwgMHg3YSwgMHgwNSwgMHg0ZSwgMHg3YSwgMHgzNywgMHgwMSwgMHg5NSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3NSwgMHg3ZCwgCi0gICAgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxOSwgMHhlMiwgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3NSwgMHg3NSwgMHgzMSwgMHg5NCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgxOSwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgCi0gICAgMHgyYiwgMHg3ZSwgMHgzNCwgMHgxNSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3NSwgMHgxMiwgMHg2NSwgMHgyYiwgCi0gICAgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1MCwgMHg4NywgMHgyMiwgMHhkMiwgMHgwYiwgMHg3ZSwgMHgwNCwgMHgxNSwgMHhlMywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3NSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4NSwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjNSwgCi0gICAgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgCi0gICAgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgCi0gICAgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwMywgMHgwMCwgMHgyZSwgMHgyNywgCi0gICAgMHgwMSwgMHhjNSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgCi0gICAgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMywgMHgyMiwgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwMywgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjNSwgMHg5ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgCi0gICAgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgCi0gICAgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwMywgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgCi0gICAgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgCi0gICAgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgCi0gICAgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgCi0gICAgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1MSwgMHhlYiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYiwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxMywgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgCi0gICAgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1MSwgMHhlYiwgMHhkYSwgMHhiOCwgMHgwMiwgMHg1MywgMHgzOCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgCi0gICAgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2YiwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2MywgMHg4MCwgMHgwMiwgMHhjMiwgMHg2MywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg1YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YiwgMHgxMiwgMHg0MywgMHgyYiwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgCi0gICAgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgCi0gICAgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgCi0gICAgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1MiwgCi0gICAgMHgzZCwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgCi0gICAgMHgwYywgMHgwMSwgMHgyMiwgMHgyMCwgMHgyYywgMHgwMywgMHhkMiwgMHgwYywgMHgyMiwgMHg3NSwgMHgzMSwgMHhhNCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4NCwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyYywgMHgwMywgMHhkMiwgMHgwYywgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1NiwgMHg5MCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwYywgCi0gICAgMHgyMiwgMHgzMCwgMHgzNCwgMHg0OSwgMHhkMiwgMHg3NCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5NywgMHg3ZSwgMHgyNywgMHgwMSwgMHhiNywgMHg5ZCwgMHgzMiwgCi0gICAgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg1MCwgMHg3YSwgMHgwNSwgMHg1MCwgMHg3YSwgMHgzNywgMHgwMSwgMHg5NywgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg3NywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxZCwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3NywgCi0gICAgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgCi0gICAgMHg3NCwgMHhjNCwgMHgyMiwgMHhjMiwgMHg3NCwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5NywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhiNywgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHhiNywgMHg3ZSwgMHgzNywgMHgwMSwgMHg5NywgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg1MCwgMHg3YSwgMHgwNSwgMHg1MCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHg5NywgMHg3ZSwgMHgzNywgMHgwMSwgMHg3NywgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgxZCwgMHhlMiwgMHgzOCwgCi0gICAgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3NywgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgxZCwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgMHgyYiwgMHg3ZSwgMHgzNCwgMHgxOSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3NywgMHgxMiwgMHg2NSwgMHgyYiwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1MywgMHhkZiwgCi0gICAgMHgyMiwgMHhkMiwgMHgwYywgMHg3ZSwgMHgwNCwgMHgxOSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg3NywgMHg3YSwgMHgwNywgMHgwMSwgMHg4NywgMHg3NSwgCi0gICAgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjNywgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgCi0gICAgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwNCwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhjNywgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgCi0gICAgMHgzMCwgMHgzYywgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNCwgMHgyMiwgCi0gICAgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgCi0gICAgMHgwNCwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjNywgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgCi0gICAgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgCi0gICAgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgCi0gICAgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNCwgMHg3YSwgMHg2OSwgCi0gICAgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgCi0gICAgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgCi0gICAgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgCi0gICAgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgCi0gICAgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgCi0gICAgMHgwMiwgMHg1NSwgMHg0MywgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzYywgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHhkMiwgMHgxNCwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1NSwgCi0gICAgMHg0MywgMHhkYSwgMHhiOCwgMHgwMiwgMHg1NiwgMHg5MCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgCi0gICAgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg2YywgMHg4MCwgMHgwMiwgMHhjMiwgMHg2YywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NCwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg2NCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YywgMHgxMiwgCi0gICAgMHg0MywgMHg0YywgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgCi0gICAgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgCi0gICAgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1NSwgMHg5NSwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgMHgwZCwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZCwgMHgwMywgMHhkMiwgMHgwZCwgCi0gICAgMHgyMiwgMHg3NSwgMHgzMSwgMHhhNSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNCwgMHg4NSwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZCwgMHgwMywgCi0gICAgMHhkMiwgMHgwZCwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgCi0gICAgMHgxMiwgMHg1OSwgMHhlOCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwZCwgMHgyMiwgMHgzMCwgMHgzNSwgMHg0OSwgMHhkMiwgMHg3NSwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg5OSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiOSwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg1MiwgMHg3YSwgCi0gICAgMHgwNSwgMHg1MiwgMHg3YSwgMHgzNywgMHgwMSwgMHg5OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3OSwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgCi0gICAgMHgyMSwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3OSwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgMHg3NSwgMHhjNCwgMHgyMiwgMHhjMiwgMHg3NSwgMHgyZCwgMHgyMywgMHg2OCwgCi0gICAgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5OSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgCi0gICAgMHgyNywgMHgwMSwgMHhiOSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiOSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5OSwgMHg5ZCwgMHgzMiwgMHg3ZCwgCi0gICAgMHgwMiwgMHgyZSwgMHgwNSwgMHg1MiwgMHg3YSwgMHgwNSwgMHg1MiwgMHg3YSwgMHgzNywgMHgwMSwgMHg5OSwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3OSwgMHg3ZCwgCi0gICAgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyMSwgMHhlMiwgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3OSwgMHg3NSwgMHgzMSwgMHg5NCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgyMSwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgCi0gICAgMHgyYiwgMHg3ZSwgMHgzNCwgMHgxZCwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3OSwgMHgxMiwgMHg2NSwgMHgyYiwgCi0gICAgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1NywgMHgzNywgMHgyMiwgMHhkMiwgMHgwZCwgMHg3ZSwgMHgwNCwgMHgxZCwgMHhlMywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3OSwgMHg3YSwgMHgwNywgMHgwMSwgMHg4OSwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjOSwgCi0gICAgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgCi0gICAgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgCi0gICAgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwNSwgMHgwMCwgMHgyZSwgMHgyNywgCi0gICAgMHgwMSwgMHhjOSwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgCi0gICAgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZCwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNSwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjOSwgMHg5ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgCi0gICAgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgCi0gICAgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNSwgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgCi0gICAgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgCi0gICAgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgCi0gICAgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgCi0gICAgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1OCwgMHg5YiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZCwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgCi0gICAgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1OCwgMHg5YiwgMHhkYSwgMHhiOCwgMHgwMiwgMHg1OSwgMHhlOCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgCi0gICAgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2ZCwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2NSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg1ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZCwgMHgxMiwgMHg0MywgMHg2ZCwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgCi0gICAgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgCi0gICAgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgCi0gICAgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1OCwgCi0gICAgMHhlZCwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgCi0gICAgMHgwZSwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZSwgMHgwMywgMHhkMiwgMHgwZSwgMHgyMiwgMHg3NSwgMHgzMSwgMHhhNiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4NiwgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZSwgMHgwMywgMHhkMiwgMHgwZSwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgMHgxMiwgMHg1ZCwgMHg0MCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwZSwgCi0gICAgMHgyMiwgMHgzMCwgMHgzNiwgMHg0OSwgMHhkMiwgMHg3NiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5YiwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiYiwgMHg5ZCwgMHgzMiwgCi0gICAgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg1NCwgMHg3YSwgMHgwNSwgMHg1NCwgMHg3YSwgMHgzNywgMHgwMSwgMHg5YiwgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg3YiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyNSwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3YiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgCi0gICAgMHg3NiwgMHhjNCwgMHgyMiwgMHhjMiwgMHg3NiwgMHgyZCwgMHgyMywgMHg2OCwgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5YiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgMHgyNywgMHgwMSwgMHhiYiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHhiYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5YiwgMHg5ZCwgMHgzMiwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg1NCwgMHg3YSwgMHgwNSwgMHg1NCwgMHg3YSwgCi0gICAgMHgzNywgMHgwMSwgMHg5YiwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3YiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyNSwgMHhlMiwgMHgzOCwgCi0gICAgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3YiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgyNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgMHgyYiwgMHg3ZSwgMHgzNCwgMHgyMSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgCi0gICAgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3YiwgMHgxMiwgMHg2NSwgMHgyYiwgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1YSwgMHg4ZiwgCi0gICAgMHgyMiwgMHhkMiwgMHgwZSwgMHg3ZSwgMHgwNCwgMHgyMSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHg3YiwgMHg3YSwgMHgwNywgMHgwMSwgMHg4YiwgMHg3NSwgCi0gICAgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjYiwgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgCi0gICAgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgCi0gICAgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwNiwgMHgwMCwgMHgyZSwgMHgyNywgMHgwMSwgMHhjYiwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgCi0gICAgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgCi0gICAgMHgzMCwgMHgzZSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNiwgMHgyMiwgCi0gICAgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgCi0gICAgMHgwNiwgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjYiwgMHg5ZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgCi0gICAgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgCi0gICAgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgCi0gICAgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNiwgMHg3YSwgMHg2OSwgCi0gICAgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgCi0gICAgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgCi0gICAgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgCi0gICAgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgCi0gICAgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgCi0gICAgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgCi0gICAgMHgwMiwgMHg1YiwgMHhmMywgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZSwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgCi0gICAgMHhkMiwgMHgxNiwgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1YiwgCi0gICAgMHhmMywgMHhkYSwgMHhiOCwgMHgwMiwgMHg1ZCwgMHg0MCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgCi0gICAgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg2ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2ZSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg2NiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZSwgMHgxMiwgCi0gICAgMHg0MywgMHg4ZSwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgCi0gICAgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgCi0gICAgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1YywgMHg0NSwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgCi0gICAgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHgxMCwgMHgwZiwgMHgwMSwgMHgyMiwgMHgyMCwgMHgyZiwgMHgwMywgMHhkMiwgMHgwZiwgCi0gICAgMHgyMiwgMHg3NSwgMHgzMSwgMHhhNywgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNCwgMHg4NywgMHgwMCwgMHg4MCwgMHgwNiwgMHgyMCwgMHgyZiwgMHgwMywgCi0gICAgMHhkMiwgMHgwZiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwMywgCi0gICAgMHgxMiwgMHg2MCwgMHg5OCwgMHgyMCwgMHhlNiwgMHgwMywgMHhkMiwgMHgwZiwgMHgyMiwgMHgzMCwgMHgzNywgMHg0OSwgMHhkMiwgMHg3NywgMHg3ZSwgMHgzNywgCi0gICAgMHgwMSwgMHg5ZCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiZCwgMHg5ZCwgMHgzMiwgMHg0MCwgMHgzMSwgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgMHg1NiwgMHg3YSwgCi0gICAgMHgwNSwgMHg1NiwgMHg3YSwgMHgzNywgMHgwMSwgMHg5ZCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZCwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgCi0gICAgMHgyOSwgMHhlMiwgMHgzOCwgMHg2OCwgMHg3YSwgMHg0NywgMHgwMSwgMHg3ZCwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgCi0gICAgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg2NSwgMHgyYiwgMHgxMCwgMHg3NywgMHhjNCwgMHgyMiwgMHhjMiwgMHg3NywgMHgyZCwgMHgyMywgMHg2OCwgCi0gICAgMHg3OCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgxYSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg2OCwgMHg2YSwgMHhiZSwgCi0gICAgMHgyNywgMHgwMSwgMHhiZCwgMHgyOCwgMHgwNCwgMHg3ZSwgMHgyNywgMHgwMSwgMHhiZCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg5ZCwgMHg5ZCwgMHgzMiwgMHg3ZCwgCi0gICAgMHgwMiwgMHgyZSwgMHgwNSwgMHg1NiwgMHg3YSwgMHgwNSwgMHg1NiwgMHg3YSwgMHgzNywgMHgwMSwgMHg5ZCwgMHg3ZSwgMHgzNywgMHgwMSwgMHg3ZCwgMHg3ZCwgCi0gICAgMHg0MywgMHgyZCwgMHg0MiwgMHhiZSwgMHg0NCwgMHgyOSwgMHhlMiwgMHgzOCwgMHgxMywgMHg3YSwgMHg0NywgMHgwMSwgMHg3ZCwgMHg3NSwgMHgzMSwgMHg5NCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwMiwgMHg2NSwgMHgyYiwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgyOSwgMHhlMywgMHg5ZCwgMHgyNCwgMHgxMiwgMHg2NSwgCi0gICAgMHgyYiwgMHg3ZSwgMHgzNCwgMHgyNSwgMHhlMywgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHg3ZCwgMHgxMiwgMHg2NSwgMHgyYiwgCi0gICAgMHhiZSwgMHgyNSwgMHgyMCwgMHg3OCwgMHgwMywgMHgwMiwgMHg1ZCwgMHhlNywgMHgyMiwgMHhkMiwgMHgwZiwgMHg3ZSwgMHgwNCwgMHgyNSwgMHhlMywgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHg3ZCwgMHg3YSwgMHgwNywgMHgwMSwgMHg4ZCwgMHg3NSwgMHgzMSwgMHg5NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5MiwgMHgxMiwgMHg3YywgMHgxNSwgMHhkMiwgMHgwNCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgCi0gICAgMHhjYSwgMHhiOCwgMHg1NCwgMHg4MiwgMHhkYSwgMHhiOCwgMHg3OCwgMHg3MCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNywgMHgwMSwgMHhjZCwgCi0gICAgMHgyZSwgMHgyNCwgMHgwMCwgMHgwMiwgMHgyZCwgMHgzMiwgMHhiZSwgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgzYywgMHg3ZCwgMHgwMiwgMHgyZSwgMHgwNSwgCi0gICAgMHg0NiwgMHg3YSwgMHgwNSwgMHg0NiwgMHg3YSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZiwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0MiwgCi0gICAgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg0NCwgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHg3ZSwgMHgyNCwgMHgwNywgMHgwMCwgMHgyZSwgMHgyNywgCi0gICAgMHgwMSwgMHhjZCwgMHgxYiwgMHgzOCwgMHgyMCwgMHgwYiwgMHgzNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZSwgMHg1MCwgMHgzOCwgCi0gICAgMHg3OCwgMHgwMywgMHgwMiwgMHg2NiwgMHgxNiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZiwgMHgwYSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHg1NCwgCi0gICAgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNywgMHgyMiwgMHg4MCwgMHg3ZCwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHgyNCwgMHg3ZSwgMHg2NCwgMHgwNywgMHgwMCwgMHgyZSwgMHg2NywgMHgwMSwgMHhjZCwgMHg5ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHgwMiwgMHg0MCwgMHgxNywgMHgxYiwgMHgzOCwgMHg2MCwgMHgwYiwgMHgzNSwgMHgxMiwgMHg2NSwgMHhmYiwgMHg3ZSwgMHgzNCwgMHgwMSwgMHhlMywgCi0gICAgMHg3ZCwgMHgyNCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZiwgMHgwMiwgMHg2NSwgMHhmYiwgMHg3YSwgMHgzOSwgMHhjMCwgMHg3ZSwgMHgzNCwgCi0gICAgMHgwMSwgMHhlMywgMHg3YSwgMHgzOSwgMHhkMCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg4MCwgMHhlNSwgMHg5ZCwgMHgzMiwgMHg3YywgMHhiNiwgMHg1NCwgCi0gICAgMHgwZiwgMHgyMywgMHgyMywgMHgyMywgMHg0NCwgMHgwNywgMHg3YSwgMHg2OSwgMHhiMCwgMHg3YSwgMHg3OSwgMHg3MCwgMHgwYiwgMHgzNSwgMHg3NSwgMHgzMSwgCi0gICAgMHg5MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhiZCwgMHgwNCwgMHg2OCwgMHgyOSwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhkZiwgMHg3ZSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhlMSwgMHgyZSwgMHgzNSwgMHg0NiwgMHg3YSwgCi0gICAgMHgzNSwgMHg0NiwgMHgyMiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHgxMywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgCi0gICAgMHgyYSwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHgyYywgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkMSwgMHhkMiwgMHgwNCwgMHg3ZSwgCi0gICAgMHgwNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNCwgMHgwMywgMHhmZSwgMHg5ZCwgMHgyMCwgMHgyOCwgMHg0MCwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3ZSwgCi0gICAgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZCwgMHg2MCwgMHgwYiwgMHgwNCwgMHhiZCwgMHgwNCwgMHg2OCwgMHhkMCwgMHg3ZCwgMHg3MCwgMHgwYiwgMHgwNCwgMHhiZCwgCi0gICAgMHgwNCwgMHg2OCwgMHhjZSwgMHg3ZCwgMHg1NCwgMHg5ZCwgMHg1MCwgMHhiZCwgMHgyNSwgMHg0MCwgMHgwMiwgMHg3ZCwgMHgyNSwgMHg3ZCwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1NCwgMHgxZiwgMHhiNCwgMHgwMSwgMHgzMSwgMHhkYSwgMHhiOCwgMHg3ZSwgMHgxOSwgMHhiMCwgMHg3YSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHgxYiwgMHgyNCwgMHg3OCwgMHhlNywgMHgwMiwgMHg1ZiwgMHg0YiwgMHg3NSwgMHgzMSwgMHg5OSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmYSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgwNCwgMHgzMCwgMHgzZiwgMHgwYSwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxMCwgMHg1NCwgMHhmZSwgMHgxOSwgMHhiMSwgMHgwMCwgMHgxMCwgMHhkMiwgMHgxNywgMHgyMiwgMHhkYSwgMHhiOCwgMHgzMCwgMHhlMCwgMHhkOCwgCi0gICAgMHhiZCwgMHgzMiwgMHg2OCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHg1ZiwgMHg0YiwgMHhkYSwgMHhiOCwgMHgwMiwgMHg2MCwgMHg5OCwgMHgwOSwgMHhiMSwgCi0gICAgMHgwMCwgMHgxOCwgMHg3ZSwgMHhhMCwgMHg4OCwgMHg3NSwgMHgzMSwgMHg5MCwgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHhhNSwgMHhmYywgMHg1ZSwgMHhiMCwgMHhmMCwgMHhhNSwgMHhmZCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHg0YywgMHg0YiwgMHg1ZSwgMHhiMCwgMHhmMCwgCi0gICAgMHhiYywgMHhiNSwgMHg3OCwgMHhmMSwgMHg1ZSwgMHg0MCwgMHgwZiwgMHg0YywgMHg1NCwgMHg3YywgMHhiNSwgMHg1ZSwgMHg1MCwgMHgwYiwgMHg2OCwgMHgyYSwgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2ZiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2ZiwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NywgMHg4MCwgMHgwMiwgMHhjMiwgMHg2NywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg1ZiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZiwgMHgxMiwgMHg0MywgMHhhZiwgMHgwMiwgMHg2MiwgMHg5MywgMHg3NSwgMHgzMSwgMHg5MSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHg3YSwgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHhlMCwgMHgwOCwgCi0gICAgMHhkMiwgMHgwNCwgMHg3ZSwgMHhhMCwgMHg4MCwgMHgwMiwgMHg2MiwgMHg5MywgMHhkMiwgMHgwNCwgMHgzMCwgMHhlMSwgMHgwNiwgMHg3ZSwgMHhhMCwgMHg4MCwgCi0gICAgMHgxMiwgMHg2MiwgMHg5MywgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxYywgMHhkYSwgMHhiOCwgMHg2OCwgMHgxMiwgMHg3ZSwgMHhhMCwgMHhjMCwgMHgwOSwgCi0gICAgMHg2MSwgMHgwMCwgMHgwMCwgMHgxMiwgMHg2MiwgMHhiNiwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxNCwgMHgyMCwgMHhlMCwgMHhkYiwgMHgyMiwgMHgwMiwgMHg1ZiwgCi0gICAgMHg5ZCwgMHg3NSwgMHgzMSwgMHg5NSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg5NiwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHg3YywgCi0gICAgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg2OCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2OCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgCi0gICAgMHg2MCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2MCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OCwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg1OCwgMHgwMiwgMHg2MiwgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgCi0gICAgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2OSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2OSwgMHhhNSwgMHhmZCwgCi0gICAgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2MSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2MSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgCi0gICAgMHg2OCwgMHgwNCwgMHhkMiwgMHg1OSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1OSwgMHgwMiwgMHg2MiwgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgCi0gICAgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2YSwgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg2YSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2MiwgMHg4MCwgMHgwMiwgMHhjMiwgCi0gICAgMHg2MiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YSwgMHgwMiwgMHg2MiwgCi0gICAgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2YiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2YiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgCi0gICAgMHgwNCwgMHhkMiwgMHg2MywgMHg4MCwgMHgwMiwgMHhjMiwgMHg2MywgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YiwgCi0gICAgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YiwgMHgwMiwgMHg2MiwgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgCi0gICAgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2YywgMHg4MCwgMHgwMiwgMHhjMiwgMHg2YywgCi0gICAgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2NCwgMHhhNSwgMHhmZCwgMHg1ZSwgCi0gICAgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1YywgMHg4MCwgMHgwMiwgMHhjMiwgMHg1YywgMHgwMiwgMHg2MiwgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgCi0gICAgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgCi0gICAgMHhkMiwgMHg2ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2ZCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NSwgMHg4MCwgCi0gICAgMHgwMiwgMHhjMiwgMHg2NSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZCwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZCwgCi0gICAgMHgwMiwgMHg2MiwgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgCi0gICAgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2ZSwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgCi0gICAgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg2NiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgCi0gICAgMHhkMiwgMHg1ZSwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZSwgMHgwMiwgMHg2MiwgMHg3ZiwgMHg3YywgMHgwMiwgMHg3ZSwgMHgxNCwgMHg4MCwgMHgwMCwgMHg0YywgCi0gICAgMHgyMCwgMHgwOSwgMHhiMSwgMHgwMCwgMHgxOCwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgxMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2ZiwgMHg4MCwgMHgwMiwgCi0gICAgMHhjMiwgMHg2ZiwgMHhhNSwgMHhmZCwgMHg1ZSwgMHg1MCwgMHgyMCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg2NywgMHg4MCwgMHgwMiwgMHhjMiwgMHg2NywgMHhhNSwgCi0gICAgMHhmZCwgMHg1ZSwgMHg1MCwgMHg4MCwgMHg2OCwgMHgwNCwgMHhkMiwgMHg1ZiwgMHg4MCwgMHgwMiwgMHhjMiwgMHg1ZiwgMHgwMiwgMHg2MiwgMHg3ZiwgMHg1NCwgCi0gICAgMHhmMCwgMHhjNCwgMHhhNSwgMHhmZiwgMHhjNCwgMHhhNSwgMHg0ZiwgMHg3NSwgMHgzMSwgMHg5MCwgMHgxMiwgMHg3YywgMHgxNSwgMHhmNSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHgyMiwgMHhjYSwgMHgxOSwgMHg1ZSwgMHgyMCwgMHgwNywgMHg0YywgMHhhMiwgMHg3ZSwgMHg3NCwgMHgyOSwgMHhlMywgMHhjYSwgMHg3OSwgCi0gICAgMHg3YSwgMHg3OSwgMHhhMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHhiMCwgMHgwYiwgMHg3NCwgMHhkYSwgMHg3OSwgMHg3ZSwgMHgzMCwgMHgwMiwgMHg3ZSwgCi0gICAgMHg2NCwgMHgwMCwgMHgwMiwgMHgwMiwgMHg2MiwgMHhkZSwgMHhjYSwgMHgxOSwgMHg1ZSwgMHgyMCwgMHgwNywgMHg0YywgMHhhMiwgMHg3ZSwgMHg3NCwgMHgyOSwgCi0gICAgMHhlMywgMHhjYSwgMHg3OSwgMHg3YSwgMHg3OSwgMHhhMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHhiMCwgMHgwYiwgMHg3NCwgMHg3YSwgMHg3OSwgMHg2MCwgCi0gICAgMHgwYiwgMHg3NCwgMHhkYSwgMHg3OSwgMHg3ZSwgMHgzMCwgMHgwMywgMHg3ZSwgMHg2NCwgMHgwMCwgMHgwMywgMHgwMiwgMHg2MiwgMHhkZSwgMHhkMiwgMHgwNCwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHhlMSwgMHgyZCwgMHgyNiwgMHhiZSwgMHgyNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHgyZSwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkZiwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg3ZSwgMHg3OSwgMHhhMCwgMHg3YSwgMHgwOSwgMHhhMCwgMHgwYiwgMHgwNCwgMHgwYiwgMHg3NCwgMHhiZCwgMHgwNCwgCi0gICAgMHg2OCwgMHgyMywgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YSwgMHgyNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHgyNSwgMHg0NiwgMHgyZCwgMHgyNiwgMHg3YSwgMHgyNSwgCi0gICAgMHg0NiwgMHg3YSwgMHgwNywgMHgwMSwgMHhkZiwgMHhkYSwgMHgxOSwgMHhjMiwgMHhkNywgMHgyMiwgMHg3NSwgMHgzMSwgMHg5YSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHhkYSwgMHgxOSwgMHhkMiwgMHhkNywgMHgyMiwgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg4MCwgMHhkNywgMHg0OCwgMHhiNiwgMHg0NiwgMHgyNSwgMHg0NywgCi0gICAgMHgxYywgMHg0OSwgMHgxNSwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0OCwgMHgxYiwgMHg0NCwgMHhjNiwgMHg0OSwgMHg1OSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0OSwgMHg2MCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0YywgMHgwZSwgMHg0OSwgMHg3ZCwgMHg0YSwgCi0gICAgMHg3NCwgMHg0YywgMHg2ZCwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0YiwgMHg3MywgMHg0NCwgMHhjNiwgMHg0YywgMHhiMSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0YywgMHhiOCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0ZiwgMHg2NiwgMHg0YywgMHhkNSwgMHg0ZCwgCi0gICAgMHhjYywgMHg0ZiwgMHhjNSwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0ZSwgMHhjYiwgMHg0NCwgMHhjNiwgMHg1MCwgMHgwOSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1MCwgMHgxMCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1MiwgMHhiZSwgMHg1MCwgMHgyZCwgMHg1MSwgCi0gICAgMHgyNCwgMHg1MywgMHgxZCwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1MiwgMHgyMywgMHg0NCwgMHhjNiwgMHg1MywgMHg2MSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1MywgMHg2OCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1NiwgMHgxNiwgMHg1MywgMHg4NSwgMHg1NCwgCi0gICAgMHg3YywgMHg1NiwgMHg3NSwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1NSwgMHg3YiwgMHg0NCwgMHhjNiwgMHg1NiwgMHhiOSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1NiwgMHhjMCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1OSwgMHg2ZSwgMHg1NiwgMHhkZCwgMHg1NywgCi0gICAgMHhkNCwgMHg1OSwgMHhjZCwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1OCwgMHhkMywgMHg0NCwgMHhjNiwgMHg1YSwgMHgxMSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1YSwgMHgxOCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1YywgMHhjNiwgMHg1YSwgMHgzNSwgMHg1YiwgCi0gICAgMHgyYywgMHg1ZCwgMHgyNSwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1YywgMHgyYiwgMHg0NCwgMHhjNiwgMHg1ZCwgMHg2OSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1ZCwgMHg3MCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg2MCwgMHgxZSwgMHg1ZCwgMHg4ZCwgMHg1ZSwgCi0gICAgMHg4NCwgMHg2MCwgMHg3ZCwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg1ZiwgMHg4MywgMHg0NCwgMHhjNiwgMHg2MCwgMHhjMSwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg2MCwgMHhjOCwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgCi0gICAgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHg0NCwgMHhjNiwgMHhjYSwgMHgyOSwgMHgxZSwgMHg1MCwgMHg0MCwgCi0gICAgMHgwZCwgMHg3ZSwgMHg1NCwgMHgwYiwgMHgxMCwgMHg5YywgMHhiNSwgMHhhNCwgMHgyZSwgMHg1NCwgMHg2NSwgMHg0OCwgMHg4OSwgMHg1NCwgMHg3ZSwgMHgzOSwgCi0gICAgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHgwYiwgMHgzNCwgMHg4MCwgMHhlOSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgCi0gICAgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgCi0gICAgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgCi0gICAgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgCi0gICAgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgCi0gICAgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgCi0gICAgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgCi0gICAgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgCi0gICAgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgCi0gICAgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHgwMCwgCi0gICAgMHg3YSwgMHgxOSwgMHgwMCwgMHg3YSwgMHgxOSwgMHgxMCwgMHgwYiwgMHgzNSwgMHhkYSwgMHgyOSwgMHgyMiwgMHgxZSwgMHg1MCwgMHg0MCwgMHgwZCwgMHg3ZSwgCi0gICAgMHg1NCwgMHgwYiwgMHgxYywgMHg5YywgMHhiNSwgMHhhNCwgMHgyZSwgMHg1NCwgMHg2NiwgMHgxNiwgMHg4OSwgMHg1NCwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3YSwgCi0gICAgMHgzOSwgMHgwMCwgMHgwYiwgMHgzNCwgMHg4MCwgMHhlOSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgCi0gICAgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgCi0gICAgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgCi0gICAgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgCi0gICAgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgCi0gICAgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgCi0gICAgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgCi0gICAgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgCi0gICAgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgCi0gICAgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgCi0gICAgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgCi0gICAgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgCi0gICAgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgCi0gICAgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgCi0gICAgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHg3ZSwgCi0gICAgMHgxOSwgMHgwMCwgMHg3ZSwgMHgxOSwgMHgxMCwgMHgxYiwgMHgzOCwgMHgwMCwgMHgwYiwgMHgzNSwgMHgyMiwgMHg2NywgMHg5NiwgMHg2OSwgMHg2MywgMHg2OSwgCi0gICAgMHg3YiwgMHg2YSwgMHg0OSwgMHg2YSwgMHhlNCwgMHg2YiwgMHg4ZSwgMHg2YiwgMHhhOSwgMHg2YywgMHgzYiwgMHg2YiwgMHhjNCwgMHg2YywgMHgwNSwgMHg2OSwgCi0gICAgMHg5NiwgMHg2OSwgMHhhYSwgMHg3YywgMHhiMywgMHhiZSwgMHhiMCwgMHgwYiwgMHgyOCwgMHgxNCwgMHg3NSwgMHgzMSwgMHgwOSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg3NSwgMHg2ZCwgMHgxMCwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHg0MywgMHhlMSwgMHhjMCwgMHhkMCwgMHhmMSwgMHgyMiwgMHhjMCwgMHhhOCwgCi0gICAgMHhjMiwgMHhhZiwgMHgyMywgMHg2YywgMHhhYSwgMHgyZSwgMHg1NCwgMHg2NywgMHg0YiwgMHgwYiwgMHg1OCwgMHg1MCwgMHg4OSwgMHg1NCwgMHgwMSwgMHgwMiwgCi0gICAgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg3NSwgMHgzMSwgMHhiMCwgMHgxMiwgMHg3YywgMHgxNSwgMHgwYSwgMHgzMiwgMHgwOSwgMHhiMywgCi0gICAgMHg2NywgMHg4ZSwgMHg0MiwgMHgzMiwgMHgxOSwgMHg0MywgMHgwMCwgMHgzNiwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgzYiwgCi0gICAgMHg0OSwgMHgzMywgMHg2NywgMHhjYiwgMHgwYSwgMHgyMiwgMHgwOSwgMHgzMiwgMHgwMCwgMHgzNiwgMHgwOSwgMHhiMiwgMHg2NywgMHg4ZSwgMHhhNSwgMHhiYiwgCi0gICAgMHgwMCwgMHgwNSwgMHhmNCwgMHg1MiwgMHgzMywgMHg4MCwgMHgwMiwgMHg0MiwgMHgzMywgMHg4OSwgMHgzNCwgMHg2NywgMHhkYiwgMHg2OCwgMHgwOSwgMHg2OCwgCi0gICAgMHgzNywgMHg2OCwgMHg2NSwgMHg2OCwgMHg5MywgMHg2OCwgMHhjMSwgMHg2OCwgMHhlZiwgMHg2OSwgMHgxZCwgMHgxMiwgMHg0MSwgMHhiNSwgMHhkMiwgMHgyOCwgCi0gICAgMHhkMiwgMHgwOCwgMHhjMiwgMHg0MCwgMHhjMiwgMHg0OCwgMHhjMiwgMHgzOCwgMHhjMiwgMHgzMCwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhjZiwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhZiwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiZiwgCi0gICAgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgMHg2MCwgMHhjZiwgMHgwMiwgMHg2OSwgMHg0YiwgMHgxMiwgMHg0MSwgMHhkNCwgMHhkMiwgMHgyOSwgMHhkMiwgMHgwOSwgCi0gICAgMHhjMiwgMHg0MSwgMHhjMiwgMHg0OSwgMHhjMiwgMHgzOSwgMHhjMiwgMHgzMSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMCwgMHg3ZSwgMHgwNCwgCi0gICAgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiMSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjMSwgMHgxMiwgMHg0MSwgCi0gICAgMHgxNiwgMHgxMiwgMHg2MSwgMHgwNSwgMHgwMiwgMHg2OSwgMHg0YiwgMHgxMiwgMHg0MSwgMHhmMywgMHhkMiwgMHgyYSwgMHhkMiwgMHgwYSwgMHhjMiwgMHg0MiwgCi0gICAgMHhjMiwgMHg0YSwgMHhjMiwgMHgzYSwgMHhjMiwgMHgzMiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHhiMywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjMywgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgCi0gICAgMHg2MSwgMHgzYiwgMHgwMiwgMHg2OSwgMHg0YiwgMHgxMiwgMHg0MiwgMHgxMiwgMHhkMiwgMHgyYiwgMHhkMiwgMHgwYiwgMHhjMiwgMHg0MywgMHhjMiwgMHg0YiwgCi0gICAgMHhjMiwgMHgzYiwgMHhjMiwgMHgzMywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMiwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhiNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjNSwgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgMHg2MSwgMHg3MSwgCi0gICAgMHgwMiwgMHg2OSwgMHg0YiwgMHgxMiwgMHg0MiwgMHgzMSwgMHhkMiwgMHgyYywgMHhkMiwgMHgwYywgMHhjMiwgMHg0NCwgMHhjMiwgMHg0YywgMHhjMiwgMHgzYywgCi0gICAgMHhjMiwgMHgzNCwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkMywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiNywgCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjNywgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgMHg2MSwgMHhhNywgMHgwMiwgMHg2OSwgCi0gICAgMHg0YiwgMHgxMiwgMHg0MiwgMHg1MCwgMHhkMiwgMHgyZCwgMHhkMiwgMHgwZCwgMHhjMiwgMHg0NSwgMHhjMiwgMHg0ZCwgMHhjMiwgMHgzZCwgMHhjMiwgMHgzNSwgCi0gICAgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhkNCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiOSwgMHg3ZSwgMHgwNCwgCi0gICAgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhjOSwgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgMHg2MSwgMHhkZCwgMHgwMiwgMHg2OSwgMHg0YiwgMHgxMiwgCi0gICAgMHg0MiwgMHg2ZiwgMHhkMiwgMHgyZSwgMHhkMiwgMHgwZSwgMHhjMiwgMHg0NiwgMHhjMiwgMHg0ZSwgMHhjMiwgMHgzZSwgMHhjMiwgMHgzNiwgMHg2ZCwgMHgwMCwgCi0gICAgMHg3YSwgMHgwMywgMHgwMSwgMHhkNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiYiwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHhjYiwgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgMHg2MiwgMHgxMywgMHgwMiwgMHg2OSwgMHg0YiwgMHgxMiwgMHg0MiwgMHg4ZSwgCi0gICAgMHhkMiwgMHgyZiwgMHhkMiwgMHgwZiwgMHhjMiwgMHg0NywgMHhjMiwgMHg0ZiwgMHhjMiwgMHgzZiwgMHhjMiwgMHgzNywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgCi0gICAgMHgwMSwgMHhkNiwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiZCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhjZCwgMHgxMiwgMHg0MSwgMHgxNiwgMHgxMiwgMHg2MiwgMHg0OSwgMHgwMiwgMHg2OSwgMHg0YiwgMHg3ZSwgMHhhMCwgMHhkMCwgMHg3ZSwgMHg2MCwgCi0gICAgMHgwZiwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgwYywgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgCi0gICAgMHhjMiwgMHhkNywgMHgyMiwgMHg3NSwgMHgzMSwgMHhiMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwYSwgMHg1MiwgMHgyMywgMHg2ZCwgMHgwMCwgMHg1OSwgMHgwNSwgCi0gICAgMHgwMCwgMHg0OCwgMHgxMiwgMHg0MSwgMHg3ZSwgMHgxMiwgMHg0MSwgMHg5YSwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhiMiwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgMHg2NywgMHg4ZSwgMHg0MiwgMHgyMywgMHg3ZSwgMHhiMCwgMHg5YywgMHgxOSwgMHhiMiwgMHgwMSwgMHhjZiwgCi0gICAgMHgxMiwgMHgzMSwgMHg4NSwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhiNywgMHgxMiwgMHg3YywgMHgxNSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgCi0gICAgMHg2NywgMHg4ZSwgMHg0MiwgMHgyNCwgMHgxMiwgMHgzNSwgMHgzZCwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhiOSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHgwYSwgMHgzMiwgMHgwOSwgMHhiMywgMHg2NywgMHg4ZSwgMHg0MiwgMHgzNCwgMHgxOSwgMHg0MywgMHgwMCwgMHgzZSwgMHgxMiwgMHg2OSwgMHhjMiwgMHhkMCwgCi0gICAgMHhhOCwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgwYiwgMHg3YywgMHhiNCwgMHgyMCwgMHhlMCwgMHgwNCwgMHg2ZCwgMHgzMywgMHg4MCwgMHgwNCwgCi0gICAgMHg0OSwgMHgzMCwgMHgwMSwgMHg4ZiwgMHg3ZSwgMHhhMCwgMHhkOCwgMHhhNSwgMHhlZiwgMHhjYSwgMHgwYiwgMHhjYSwgMHgyOSwgMHgxMiwgMHg2MiwgMHhiNiwgCi0gICAgMHhkYSwgMHgyOSwgMHhkYSwgMHgwYiwgMHg0MCwgMHg2MiwgMHg3NSwgMHgzMSwgMHhiYSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YywgMHhiNCwgMHgzMCwgMHhlMCwgCi0gICAgMHgxZSwgMHg2ZCwgMHgzMywgMHg1OSwgMHgzMCwgMHgwMSwgMHg4ZiwgMHg3ZSwgMHgzNCwgMHgwOSwgMHhlMywgMHgwYSwgMHg4MiwgMHg3ZSwgMHg5NCwgMHgwNCwgCi0gICAgMHgwMCwgMHhhZCwgMHg4OSwgMHgyZCwgMHgzOSwgMHg1OSwgMHgzMCwgMHgwMSwgMHg2ZiwgMHg1OSwgMHgzMCwgMHgwMSwgMHg3ZiwgMHg3YywgMHhiNCwgMHgzMCwgCi0gICAgMHhlMSwgMHgxMCwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg0NCwgMHgwNCwgMHgxOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgwOCwgMHgwYSwgMHgwMiwgMHgwOSwgMHhiMCwgMHg2NywgMHg4ZSwgMHg0MiwgMHgyMSwgMHhmNCwgMHg1MiwgMHgzNCwgMHg3YywgMHhiMiwgMHgyMywgCi0gICAgMHgwYSwgMHgwYiwgMHhjYSwgMHgxOSwgMHg0OSwgMHgwMCwgMHgzMCwgMHhkNSwgMHg5OSwgMHgwNCwgMHhkYSwgMHgxOSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgCi0gICAgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHhjMiwgMHhkNywgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgCi0gICAgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgxOSwgMHgzMCwgMHgwMCwgCi0gICAgMHgwYywgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMSwgMHg2OCwgMHgxMiwgMHg0NCwgMHg0MCwgMHhjYSwgMHhiOCwgMHgwOSwgMHhiMCwgMHgwMCwgMHgxMCwgCi0gICAgMHg0NCwgMHgwMiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHhkYSwgMHhiOCwgMHg4MCwgMHgwMiwgMHg1NCwgMHhiZiwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgCi0gICAgMHgwOCwgMHg2OCwgMHgwNCwgMHg0NCwgMHgwOCwgMHg4MCwgMHgwMiwgMHg1NCwgMHhmNywgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHhjYSwgMHhiOCwgMHg3NCwgCi0gICAgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHhkYSwgMHhiOCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHgwYSwgCi0gICAgMHg2MiwgMHgwOSwgMHhiNiwgMHg2NywgMHg4ZSwgMHgzZSwgMHgyMCwgMHgwYSwgMHg2MiwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMiwgMHg2OCwgMHgyMCwgCi0gICAgMHg0MiwgMHgyNywgMHhjYSwgMHhiOCwgMHg3NCwgMHg2MSwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg1OSwgMHg0NiwgCi0gICAgMHgwMSwgMHhiZiwgMHgwOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHg0NCwgMHgwMSwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHhkYSwgMHhiOCwgMHg4MCwgMHgxMSwgCi0gICAgMHhmNCwgMHg1MiwgMHgyNywgMHg3NCwgMHhhMSwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgzOCwgMHg1OSwgMHg0NiwgMHgwMSwgCi0gICAgMHhiZiwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3YywgMHg3NCwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwYSwgMHg2MiwgMHgwOSwgMHhiNiwgCi0gICAgMHg2NywgMHg4ZSwgMHhhNSwgMHhmZCwgMHhmNCwgMHhhNSwgMHhmZSwgMHhjYSwgMHgyOCwgMHgzZSwgMHgyMCwgMHgwYSwgMHg2MiwgMHhhNSwgMHhlZSwgMHg1MiwgCi0gICAgMHgyNiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgyMCwgMHg1OSwgMHg0NiwgMHgwMSwgMHhhZiwgMHhkYSwgMHgyOCwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgCi0gICAgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMSwgMHg2OCwgMHgwYywgCi0gICAgMHg0NCwgMHg4MCwgMHhjYSwgMHhiOCwgMHhhNSwgMHhlZCwgMHg0MiwgMHgyYSwgMHhkYSwgMHhiOCwgMHg4MCwgMHgwYSwgMHg1NCwgMHg3ZiwgMHhjYSwgMHhiOCwgCi0gICAgMHhhNSwgMHhlZSwgMHg1MiwgMHgyYSwgMHhkYSwgMHhiOCwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwOCwgMHg2OCwgMHgwNCwgMHg0NCwgMHgwMiwgMHg4MCwgCi0gICAgMHgwMiwgMHg1NCwgMHhmZCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMiwgCi0gICAgMHg2OCwgMHgxMCwgMHhhNSwgMHhlZCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyNiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgwOCwgMHg1OSwgMHg0NiwgMHgwMSwgMHhhZiwgCi0gICAgMHg4MCwgMHgwNCwgMHhhNSwgMHhlZSwgMHg1MiwgMHgyOCwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwNCwgMHg2OCwgMHgxMCwgMHhhNSwgMHhlZCwgMHg0MiwgCi0gICAgMHgyOSwgMHg0MiwgMHgyNiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgwOCwgMHg1OSwgMHg0NiwgMHgwMSwgMHhhZiwgMHg4MCwgMHgwYiwgMHhhNSwgMHhlZSwgMHg1MiwgCi0gICAgMHgyOSwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMiwgMHg3OCwgMHgwMCwgMHgxMiwgMHg0MiwgMHhhZCwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3ZSwgMHgwNCwgCi0gICAgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgxOSwgMHg0MCwgCi0gICAgMHgwMCwgMHgxMCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgCi0gICAgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgxOSwgMHg0MCwgMHgwMCwgMHgxOCwgMHgxOSwgMHgzMCwgMHgwMCwgCi0gICAgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhiNSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgCi0gICAgMHgwOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg0NCwgMHg0MCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHhlNSwgMHg2ZSwgMHhiNCwgMHgwNywgMHgyMywgMHgwOSwgCi0gICAgMHhiMCwgMHgwMCwgMHgxMCwgMHg0ZSwgMHhiMCwgMHgwMiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgCi0gICAgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgzMCwgCi0gICAgMHgwMCwgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhiNiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgCi0gICAgMHgwMiwgMHhlNSwgMHg2ZSwgMHhiNCwgMHgwNywgMHgxOCwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgCi0gICAgMHgwOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHg0NCwgMHgwOCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgwYywgMHg1NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgzMSwgMHhiNCwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3YSwgMHgyMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg0MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgwYSwgMHgzMiwgMHgwOSwgCi0gICAgMHhiMywgMHg2NywgMHg4ZSwgMHg0MiwgMHgzNSwgMHgxMiwgMHg2YywgMHg1YiwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3ZSwgMHhiMCwgMHgwMSwgMHg3ZSwgMHhhMCwgCi0gICAgMHhjOCwgMHg3YywgMHg2NCwgMHgxMiwgMHg2MiwgMHhiNiwgMHg0MCwgMHgxMywgMHgwYSwgMHgzMiwgMHgwOSwgMHhiMywgMHg2NywgMHg4ZSwgMHhmNCwgMHg1MiwgCi0gICAgMHgzNSwgMHhjMCwgMHhmMSwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZiwgMHhkOSwgMHhkMCwgMHhmMSwgMHgyMiwgMHg2YywgMHg4YywgMHg2YywgMHhkMywgCi0gICAgMHg2ZCwgMHgxYSwgMHg2ZCwgMHg2MSwgMHg2ZCwgMHhhOCwgMHg2ZCwgMHhlZiwgMHg2ZSwgMHgzNiwgMHg2ZSwgMHg3ZCwgMHg3NSwgMHgzMSwgMHg1NSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgCi0gICAgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg3ZiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4ZiwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgCi0gICAgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgwZCwgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgCi0gICAgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg3ZiwgMHg3YSwgMHgyNywgMHgwMSwgMHg4ZiwgMHgwMiwgMHg0NiwgMHgwZiwgMHg3ZSwgMHgxNCwgMHgwOSwgCi0gICAgMHhlMywgMHg4MCwgMHhlYiwgMHg3NSwgMHgzMSwgMHg1NSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgCi0gICAgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg4MSwgMHg3ZSwgCi0gICAgMHgyNywgMHgwMSwgMHg5MSwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgCi0gICAgMHgxNCwgMHgxMSwgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg4MSwgMHg3YSwgMHgyNywgMHgwMSwgCi0gICAgMHg5MSwgMHgwMiwgMHg0OSwgMHg2NywgMHg3ZSwgMHgxNCwgMHgwZCwgMHhlMywgMHg4MCwgMHhlYiwgMHg3NSwgMHgzMSwgMHg1NSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg3NSwgMHgzMSwgMHgwMiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg4MywgMHg3ZSwgMHgyNywgMHgwMSwgMHg5MywgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgCi0gICAgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgxNSwgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgCi0gICAgMHg3YSwgMHgxNywgMHgwMSwgMHg4MywgMHg3YSwgMHgyNywgMHgwMSwgMHg5MywgMHgwMiwgMHg0YywgMHhiZiwgMHg3ZSwgMHgxNCwgMHgxMSwgMHhlMywgMHg4MCwgCi0gICAgMHhlYiwgMHg3NSwgMHgzMSwgMHg1NSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwMywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg4NSwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg5NSwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgxOSwgCi0gICAgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg4NSwgMHg3YSwgMHgyNywgMHgwMSwgMHg5NSwgMHgwMiwgCi0gICAgMHg1MCwgMHgxNywgMHg3ZSwgMHgxNCwgMHgxNSwgMHhlMywgMHg4MCwgMHhlYiwgMHg3NSwgMHgzMSwgMHg1NSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgCi0gICAgMHgwNCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgCi0gICAgMHg3ZSwgMHgxNywgMHgwMSwgMHg4NywgMHg3ZSwgMHgyNywgMHgwMSwgMHg5NywgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgCi0gICAgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgxZCwgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgCi0gICAgMHgwMSwgMHg4NywgMHg3YSwgMHgyNywgMHgwMSwgMHg5NywgMHgwMiwgMHg1MywgMHg2ZiwgMHg3ZSwgMHgxNCwgMHgxOSwgMHhlMywgMHg4MCwgMHhlYiwgMHg3NSwgCi0gICAgMHgzMSwgMHg1NSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwNSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg4OSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5OSwgMHgyZCwgCi0gICAgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgyMSwgMHhlMiwgMHgzOCwgCi0gICAgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg4OSwgMHg3YSwgMHgyNywgMHgwMSwgMHg5OSwgMHgwMiwgMHg1NiwgMHhjNywgCi0gICAgMHg3ZSwgMHgxNCwgMHgxZCwgMHhlMywgMHg4MCwgMHhlYiwgMHg3NSwgMHgzMSwgMHg1NSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwNiwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgCi0gICAgMHgwMSwgMHg4YiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5YiwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgCi0gICAgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgyNSwgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg4YiwgCi0gICAgMHg3YSwgMHgyNywgMHgwMSwgMHg5YiwgMHgwMiwgMHg1YSwgMHgxZiwgMHg3ZSwgMHgxNCwgMHgyMSwgMHhlMywgMHg4MCwgMHhlYiwgMHg3NSwgMHgzMSwgMHg1NSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHgzMSwgMHgwNywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgCi0gICAgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg4ZCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg5ZCwgMHgyZCwgMHgyMywgMHg3ZSwgCi0gICAgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgyOSwgMHhlMiwgMHgzOCwgMHgwZiwgMHgxYiwgCi0gICAgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg4ZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg5ZCwgMHgwMiwgMHg1ZCwgMHg3NywgMHg3ZSwgMHgxNCwgCi0gICAgMHgyNSwgMHhlMywgMHg4MCwgMHhlYiwgMHhjYSwgMHhiOCwgMHhjMCwgMHhmMSwgMHg3NSwgMHgzMSwgMHgwMiwgMHgxMiwgMHg3YywgMHgxNSwgMHhlNSwgMHhjMCwgCi0gICAgMHg1NCwgMHgwMywgMHg2OCwgMHgwNSwgMHgxMiwgMHg3NSwgMHhjZCwgMHg4MCwgMHhmNSwgMHgzMCwgMHhjMiwgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgCi0gICAgMHg2ZiwgMHhkOSwgMHg4MCwgMHgxNCwgMHgzMCwgMHhjMywgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMSwgMHgxMiwgMHg2ZSwgMHhmZCwgMHg4MCwgMHgwOSwgMHgzMCwgCi0gICAgMHhjNCwgMHgwNiwgMHg3NSwgMHhmMSwgMHgwMiwgMHgxMiwgMHg3MCwgMHhlOSwgMHhkMCwgMHhmMSwgMHhkYSwgMHhiOCwgMHgzMiwgMHg3NSwgMHgzMSwgMHgxMCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhjYSwgMHgwYiwgMHhjYSwgMHgzOSwgMHhjYSwgMHg1OSwgMHhjMiwgMHhjMywgMHhhOSwgMHgyMSwgMHhlMiwgMHg1YywgMHhlNSwgCi0gICAgMHhlNSwgMHg1NCwgMHhjMCwgMHg2OCwgMHg0ZiwgMHhlNSwgMHhlNiwgMHg2YywgMHhhYSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkYiwgMHgyZCwgMHgzNSwgMHhiZSwgCi0gICAgMHgzNCwgMHgwNCwgMHgwMCwgMHgzOCwgMHg0YSwgMHg3YSwgMHgzNywgMHgwMSwgMHhkYiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkOSwgMHg3ZCwgMHg0MywgMHgyZCwgCi0gICAgMHg0NSwgMHhiZSwgMHg0NCwgMHgwOSwgMHhlMiwgMHgzOCwgMHg0MCwgMHg3YSwgMHg0NywgMHgwMSwgMHhkOSwgMHg3NSwgMHgzMSwgMHgxMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3YSwgMHhiMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg3MSwgMHhiOCwgMHhhOSwgMHgyMSwgMHhlNSwgMHgxZiwgMHhhOSwgMHhkNCwgCi0gICAgMHhlNCwgMHhhOSwgMHgyNCwgMHhlNCwgMHhmYywgMHhjMiwgMHhjMywgMHhhOSwgMHgyMSwgMHhlMiwgMHgzYiwgMHhlNSwgMHhlNSwgMHg1NCwgMHhjMCwgMHg3OCwgCi0gICAgMHhiNCwgMHgxMiwgMHg3NCwgMHg1YSwgMHhkYSwgMHg1OSwgMHhkYSwgMHgzOSwgMHhkYSwgMHgwYiwgMHgyMiwgMHg4MCwgMHgyOSwgMHg4MCwgMHg1OCwgMHg3NSwgCi0gICAgMHgzMSwgMHgxNiwgMHgxMiwgMHg3YywgMHgxNSwgMHg4MCwgMHhlZCwgMHg3NSwgMHgzMSwgMHgxMiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHhiMSwgMHgzMSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg5ZSwgMHg0NCwgMHgwOSwgMHhlMywgMHg5ZCwgMHg1NCwgMHgxMiwgMHg3MSwgMHhiOCwgMHg3ZSwgMHgzNCwgMHgwNSwgMHhlMywgCi0gICAgMHg3ZCwgMHg1NCwgMHgyZCwgMHg0MywgMHg4MCwgMHhhMSwgMHhlNSwgMHhlNSwgMHg1NCwgMHgwMywgMHg3OCwgMHgxMiwgMHg3NSwgMHgzMSwgMHgxMywgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHg3ZSwgMHgwZiwgMHgyOSwgMHhmZiwgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyOSwgMHhmZiwgMHg4MCwgMHhhNywgMHg3NSwgMHgzMSwgCi0gICAgMHgxNCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgwZiwgMHgyYSwgMHgwMywgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyYSwgMHgwMywgMHhhOSwgMHhkNywgCi0gICAgMHhlNCwgMHhhOSwgMHgyNywgMHhlNCwgMHhmYywgMHg4MCwgMHg5ZCwgMHg3NSwgMHgzMSwgMHgxNSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgwZiwgMHgyYSwgCi0gICAgMHgwNywgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyYSwgMHgwNywgMHg4MCwgMHhlNSwgMHg3NSwgMHgzMSwgMHgxOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjYSwgCi0gICAgMHgwOSwgMHhjYSwgMHgzOSwgMHhjYSwgMHgyYiwgMHhjMiwgMHhjMiwgMHhhOSwgMHgyMSwgMHhmMiwgMHg1MiwgMHhlNSwgMHhmNSwgMHgzMywgMHg4MiwgMHhlNywgCi0gICAgMHg0MCwgMHg0NCwgMHg3ZSwgMHgzNywgMHgwMSwgMHhlMSwgMHg3ZSwgMHg1NCwgMHgwMCwgMHg0MCwgMHg5ZCwgMHgzNSwgMHg0MCwgMHg0MywgMHg3YSwgMHgzNywgCi0gICAgMHgwMSwgMHhlMSwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkZCwgMHg3ZCwgMHg0MywgMHgyZCwgMHg0NSwgMHhiZSwgMHg0NCwgMHgwNSwgMHhlMiwgMHgzOCwgMHg1MiwgCi0gICAgMHg3YSwgMHg0NywgMHgwMSwgMHhkZCwgMHg3ZCwgMHg0NSwgMHgxMiwgMHg3MywgMHgxNiwgMHhhOSwgMHgyMCwgMHhmNSwgMHgyMiwgMHg3NSwgMHgzMSwgMHgxOSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg5MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg4MSwgMHhmNywgMHg3YSwgMHg5MSwgMHhmNiwgMHhlNSwgCi0gICAgMHhmNSwgMHgzMywgMHg4MiwgMHhlNywgMHg1MCwgMHhiYywgMHhkYSwgMHgyYiwgMHhkYSwgMHgzOSwgMHhkYSwgMHgwOSwgMHgyMiwgMHg4MCwgMHg0MSwgMHg4MCwgCi0gICAgMHg2NCwgMHgyZCwgMHg1MywgMHg2ZCwgMHgzMywgMHg3MCwgMHhiNywgMHg3ZSwgMHgwNCwgMHgwMSwgMHhlMywgMHg3YSwgMHgwNywgMHgwMSwgMHhkZiwgMHg3YSwgCi0gICAgMHgwNywgMHgwMSwgMHhkZCwgMHhhOSwgMHgzMiwgMHhmMiwgMHhkZiwgMHg4NSwgMHgzMCwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHhmNiwgMHgwMCwgCi0gICAgMHg4MCwgMHhkNCwgMHhjYSwgMHg1OSwgMHg5ZSwgMHg0NCwgMHgwNSwgMHhlMywgMHg5ZCwgMHg1NCwgMHgxMiwgMHg3MywgMHgxNiwgMHg3ZSwgMHgzNCwgMHgwMSwgCi0gICAgMHhlMywgMHg3ZCwgMHg1NCwgMHgyZCwgMHg0MywgMHg3YSwgMHg0NywgMHgwMSwgMHhkZCwgMHgxMiwgMHg3MywgMHgxNiwgMHhkYSwgMHg0OSwgMHg4MCwgMHg5OSwgCi0gICAgMHhlNSwgMHhmNSwgMHg1NCwgMHgwMywgMHg3OCwgMHgxZiwgMHg3ZSwgMHgwZiwgMHgyOSwgMHhlZiwgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyOSwgMHhlZiwgCi0gICAgMHg4MCwgMHg5ZCwgMHg3ZSwgMHgwZiwgMHgyOSwgMHhmNywgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyOSwgMHhmNywgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgCi0gICAgMHgyNywgMHhmNCwgMHhmYywgMHg4MCwgMHg4YSwgMHg3ZSwgMHgwZiwgMHgyOSwgMHhmMywgMHgwYiwgMHgwYywgMHg3YSwgMHgwZiwgMHgyOSwgMHhmMywgMHg4MCwgCi0gICAgMHhlYiwgMHhlNSwgMHhmNSwgMHg1NCwgMHgwMywgMHg3OCwgMHgxZiwgMHg3ZSwgMHgyZiwgMHgyYSwgMHgwZiwgMHgwYiwgMHgyYywgMHg3YSwgMHgyZiwgMHgyYSwgCi0gICAgMHgwZiwgMHg4MCwgMHgzNCwgMHg3ZSwgMHgyZiwgMHgyYSwgMHgxNywgMHgwYiwgMHgyYywgMHg3YSwgMHgyZiwgMHgyYSwgMHgxNywgMHhhOSwgMHhkNywgMHhmNCwgCi0gICAgMHhhOSwgMHgyNywgMHhmNCwgMHhmYywgMHg4MCwgMHgyMSwgMHg3ZSwgMHgyZiwgMHgyYSwgMHgxMywgMHgwYiwgMHgyYywgMHg3YSwgMHgyZiwgMHgyYSwgMHgxMywgCi0gICAgMHg4MCwgMHhlYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHg3NSwgMHgzMSwgMHgyOCwgMHgxMiwgMHg3YywgMHgxNSwgMHhjYSwgCi0gICAgMHgwYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgyYiwgMHhjMiwgMHhjNCwgMHhhOSwgMHgyMSwgMHhmMiwgMHhiNiwgMHhlNSwgMHhmNSwgMHgzMywgMHg3MiwgMHhlNywgCi0gICAgMHg0MCwgMHhlMCwgMHg3ZSwgMHgwZCwgMHg0NiwgMHg3ZSwgMHgxZCwgMHg0YSwgMHg3ZSwgMHgyZCwgMHg0ZSwgMHg3ZSwgMHgzZCwgMHg1MiwgMHg3ZSwgMHg4NSwgCi0gICAgMHg1NiwgMHg3ZCwgMHg5MCwgMHg0ZCwgMHg5MSwgMHg0ZCwgMHg5MiwgMHg0ZCwgMHg5MywgMHg0ZCwgMHg5NCwgMHg0ZCwgMHg5NSwgMHg0ZCwgMHg5NiwgMHg0ZCwgCi0gICAgMHg5NywgMHg0ZCwgMHg5OCwgMHg2OCwgMHg3MiwgMHg3YSwgMHgxMSwgMHhmMywgMHg3YSwgMHgwMSwgMHhmMywgMHg3YSwgMHgzMSwgMHhmMywgMHg3YSwgMHgyMSwgCi0gICAgMHhmMywgMHg3YSwgMHg1MSwgMHhmMywgMHg3YSwgMHg0MSwgMHhmMywgMHg3YSwgMHg3MSwgMHhmMywgMHg3YSwgMHg2MSwgMHhmMywgMHg3YSwgMHg5MSwgMHhmMywgCi0gICAgMHg3YSwgMHg4MSwgMHhmMywgMHgzMCwgMHg3YiwgMHgxYSwgMHg3YSwgMHhiMSwgMHhmMywgMHg3YSwgMHhhMSwgMHhmMywgMHg3YSwgMHhkMSwgMHhmMywgMHg3YSwgCi0gICAgMHhjMSwgMHhmMywgMHg3YSwgMHhmMSwgMHhmMywgMHg3YSwgMHhlMSwgMHhmMywgMHg3ZCwgMHg3OCwgMHg3YSwgMHhmMSwgMHhmMywgMHg3YSwgMHhlMSwgMHhmMywgCi0gICAgMHhhOSwgMHgzMCwgMHhmNSwgMHgwMywgMHgwMiwgMHg3MCwgMHhkNiwgMHg3NSwgMHgzMSwgMHgyOSwgMHgxMiwgMHg3YywgMHgxNSwgMHgyMCwgMHg3YiwgMHgwYiwgCi0gICAgMHg3NSwgMHgzMSwgMHgwYSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3NSwgMHhmNiwgMHgwYSwgMHg4MCwgMHgwOSwgMHg3NSwgMHgzMSwgMHgxMiwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3NSwgMHhmNiwgMHgxMiwgMHg2ZCwgMHgwMCwgMHg3ZCwgMHgxMCwgMHg3YSwgMHgwZCwgMHg0NiwgMHg3YSwgMHgwZCwgMHg0YSwgMHg3YSwgMHgwZCwgCi0gICAgMHg0ZSwgMHg3YSwgMHgwZCwgMHg1MiwgMHg3YSwgMHgwNSwgMHg1NiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHgxZSwgMHhiMCwgCi0gICAgMHg0MCwgMHgwYywgMHg3ZSwgMHhhMCwgMHgwYSwgMHhhNCwgMHg3ZSwgMHgwNCwgMHg3MiwgMHhmYiwgMHg5ZCwgMHgwNSwgMHg4OSwgMHgwNCwgMHg3ZSwgMHhhMSwgCi0gICAgMHhlMywgMHg3YSwgMHgzOSwgMHhhMCwgMHgwYiwgMHgzNCwgMHg4MCwgMHhlYSwgMHhiNCwgMHg0MCwgMHhlMywgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgCi0gICAgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgCi0gICAgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgCi0gICAgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgCi0gICAgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgCi0gICAgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgCi0gICAgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgCi0gICAgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgCi0gICAgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgCi0gICAgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgCi0gICAgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgCi0gICAgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgCi0gICAgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgCi0gICAgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgCi0gICAgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgCi0gICAgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgCi0gICAgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgCi0gICAgMHgzNSwgMHg3ZSwgMHhhMSwgMHhlMywgMHhlNSwgMHhlMywgMHgxYiwgMHgzOCwgMHg1MCwgMHgwYiwgMHgzNSwgMHgyMiwgMHgxZSwgMHhiMCwgMHg0MCwgMHgwYywgCi0gICAgMHg3ZSwgMHhhMCwgMHgwYSwgMHhhNCwgMHg3ZSwgMHgwNCwgMHg3NCwgMHg1OSwgMHg5ZCwgMHgwNSwgMHg4OSwgMHgwNCwgMHg3ZSwgMHgzOSwgMHhhMCwgMHg3YSwgCi0gICAgMHhhMSwgMHhmMywgMHgwYiwgMHgzNCwgMHg4MCwgMHhlYSwgMHhiNCwgMHg0MCwgMHhlMywgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgCi0gICAgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgCi0gICAgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgCi0gICAgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgCi0gICAgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgCi0gICAgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgCi0gICAgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgCi0gICAgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgCi0gICAgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgCi0gICAgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgCi0gICAgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgCi0gICAgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgCi0gICAgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgCi0gICAgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgCi0gICAgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgCi0gICAgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgCi0gICAgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgwYiwgCi0gICAgMHgzOCwgMHg1MCwgMHg3YSwgMHhhMSwgMHhmMywgMHhmNSwgMHhmMywgMHgwYiwgMHgzNSwgMHgyMiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgzNywgMHgwMSwgMHhkYiwgCi0gICAgMHg0ZCwgMHgzMywgMHg2OCwgMHgzYiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhkNywgMHg3ZSwgMHg1NCwgMHgwOSwgMHhlMywgMHg5ZCwgMHg1MCwgMHhiZCwgMHgzNSwgCi0gICAgMHg0MCwgMHgwMiwgMHg3ZCwgMHgzNSwgMHhjYSwgMHgzOSwgMHg3ZSwgMHg2NSwgMHg2MSwgMHg5OSwgMHg2NCwgMHhkYSwgMHgzOSwgMHg3ZSwgMHgwNywgMHgwMSwgCi0gICAgMHhkYiwgMHg5ZCwgMHgwMywgMHg3YSwgMHgwNywgMHgwMSwgMHhkYiwgMHgyZSwgMHgzNywgMHgwMSwgMHhkNywgMHg3YSwgMHgzNywgMHgwMSwgMHhkNywgMHhiZSwgCi0gICAgMHgzNCwgMHgwOSwgMHhlMiwgMHgyOCwgMHhjNywgMHg3ZSwgMHgzNCwgMHgwNSwgMHhlMywgMHg3YSwgMHgzNywgMHgwMSwgMHhkNywgMHg4MCwgMHhiZCwgMHhkMiwgCi0gICAgMHhhZiwgMHgyMiwgMHg3NSwgMHgzMSwgMHg1MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNSwgMHg2MywgMHg4MCwgMHgxMSwgMHg3NSwgMHgzMSwgMHg1MSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHgwYiwgMHgwOCwgMHgxMCwgMHgwYiwgMHgwNSwgMHg5ZSwgMHgzNCwgMHgwMCwgMHgwMiwgMHgyOCwgMHg0ZCwgMHg3YywgMHhiMiwgCi0gICAgMHgyMCwgMHhlNywgMHgyNywgMHg1NCwgMHgwNywgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgyMiwgMHg2YywgMHg3YywgMHg3YywgMHhiMiwgMHg1NCwgMHg3OCwgCi0gICAgMHgwMywgMHgwMywgMHgwMywgMHg3YywgMHgyYiwgMHg5ZCwgMHgxMywgMHg0MCwgMHgxYSwgMHg2OCwgMHgxMiwgMHg3YSwgMHgxNSwgMHg2MywgMHg3YSwgMHgyNSwgCi0gICAgMHg2NSwgMHg3ZSwgMHg2NCwgMHg3NSwgMHgzNywgMHg3YSwgMHg2NSwgMHg2MSwgMHg4OSwgMHgyNCwgMHgwMiwgMHg3NSwgMHg0NSwgMHg3ZSwgMHg2NCwgMHg3NCwgCi0gICAgMHhhZCwgMHg4MCwgMHhmMiwgMHgyZCwgMHgxMywgMHg5ZCwgMHgzMSwgMHhjYSwgMHgzOSwgMHg3ZCwgMHgzMSwgMHgyZCwgMHgxMCwgMHhjYSwgMHgxOSwgMHhjYSwgCi0gICAgMHgyOSwgMHg5OSwgMHgyNCwgMHhkYSwgMHgyOSwgMHhkYSwgMHgwOSwgMHhkYSwgMHgzOSwgMHg4MCwgMHhhMiwgMHg3YSwgMHgxNSwgMHg2MywgMHg3ZSwgMHg2NCwgCi0gICAgMHg3NSwgMHgyMywgMHg0ZCwgMHgzMywgMHg3OCwgMHgwOSwgMHg3YywgMHhiMiwgMHgyMCwgMHhlNywgMHgyYSwgMHg3ZSwgMHg2NCwgMHg3NCwgMHhhMiwgMHg3YSwgCi0gICAgMHg2NSwgMHg2MSwgMHgyMiwgMHg3NSwgMHgzMSwgMHg1MiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgyMSwgMHg2MywgMHg3ZSwgMHgwOSwgMHgzMCwgMHgwYiwgCi0gICAgMHgwNCwgMHgxYiwgMHgzNCwgMHg3OCwgMHg4OSwgMHg4MCwgMHhkNCwgMHg3NSwgMHgzMSwgMHg1NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgxNSwgMHg2MywgCi0gICAgMHg3ZSwgMHgyNSwgMHg2NSwgMHg4MCwgMHg5MCwgMHg1ZSwgMHgyMCwgMHgwNywgMHg1NCwgMHg3OCwgMHg3ZSwgMHg0NCwgMHg3NSwgMHhjMSwgMHgzMCwgMHhlNiwgCi0gICAgMHgxNiwgMHg0ZCwgMHgzMywgMHg2OCwgMHgyNiwgMHgxYiwgMHgzNCwgMHg3ZSwgMHgwOSwgMHg0MCwgMHgwYiwgMHgwNCwgMHg3ZSwgMHg0NCwgMHg2NywgMHg2MywgCi0gICAgMHgyMCwgMHhlMywgMHgwNCwgMHg3ZSwgMHg0NCwgMHg3NSwgMHhjOSwgMHhjYSwgMHgwOSwgMHhjYSwgMHgzOSwgMHg5OSwgMHg0NCwgMHhkYSwgMHgzOSwgMHhkYSwgCi0gICAgMHgwOSwgMHg3ZSwgMHg2NCwgMHg3NCwgMHhhZCwgMHg0ZCwgMHgzMywgMHg2OCwgMHhhNiwgMHg4OSwgMHg2NCwgMHg3YSwgMHgxNSwgMHg2MywgMHhmNSwgMHg2NSwgCi0gICAgMHg3ZSwgMHg2NCwgMHg3NSwgMHg4NiwgMHg4MCwgMHg5OSwgMHg3ZSwgMHgxNSwgMHg2MywgMHhlNSwgMHg2NSwgMHg4MCwgMHhjNCwgMHhjMCwgMHhkMCwgMHhjMCwgCi0gICAgMHhkMSwgMHhjMCwgMHhlMCwgMHhjYSwgMHgxOSwgMHhhOSwgMHgyMCwgMHhkZiwgMHgxMiwgMHhhOSwgMHgyMSwgMHhkZiwgMHgxYiwgMHg3NSwgMHgzMSwgMHgwMSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg1MywgMHhkZiwgMHhmNywgMHgxMiwgMHg0MCwgMHhkYywgMHg4MCwgMHgwZCwgMHg3NSwgMHgzMSwgMHhmZSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3ZSwgMHgxNCwgMHgwMCwgMHg1MywgMHgwMiwgMHg0MCwgMHg1MSwgMHhkYSwgMHgxOSwgMHhkMCwgMHhlMCwgMHhkMCwgMHhkMSwgMHhkMCwgMHhkMCwgCi0gICAgMHgzMiwgMHgwMywgMHhhNSwgMHhjYiwgMHgxOSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgyMiwgMHgyMiwgMHgwMiwgMHg3NiwgMHg0MiwgMHhjYSwgMHgwYiwgMHhjYSwgCi0gICAgMHgxYiwgMHhjYSwgMHgyYiwgMHhjYSwgMHgzYiwgMHhjYSwgMHg0YiwgMHhjYSwgMHg1YiwgMHhjYSwgMHg2YiwgMHhjYSwgMHg3YiwgMHhjYSwgMHhlYiwgMHhjMCwgCi0gICAgMHhmMSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgzMywgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgxOSwgMHhiNCwgMHgwMSwgMHgxNiwgMHgzMCwgMHhjMCwgMHgwOCwgCi0gICAgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHg3NiwgMHgyYywgMHg4MCwgMHgxZiwgMHgzMCwgMHhjMSwgMHgxYywgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHg3NiwgCi0gICAgMHhiZCwgMHg4MCwgMHgxNCwgMHgzMCwgMHhjMSwgMHgwOCwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHg3NiwgMHhiZCwgMHg4MCwgMHgwOSwgMHgzMCwgMHhjMCwgCi0gICAgMHgwNiwgMHg3NSwgMHhmMSwgMHgwMCwgMHgxMiwgMHg3NiwgMHgyYywgMHhkMCwgMHhmMSwgMHhkYSwgMHhlYiwgMHhkYSwgMHg3YiwgMHhkYSwgMHg2YiwgMHhkYSwgCi0gICAgMHg1YiwgMHhkYSwgMHg0YiwgMHhkYSwgMHgzYiwgMHhkYSwgMHgyYiwgMHhkYSwgMHgxYiwgMHhkYSwgMHgwYiwgMHgyMiwgMHhjMiwgMHhjMCwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYSwgMHgzMywgMHhiNCwgMHgwMiwgMHgwNywgMHgxMiwgMHg3NiwgMHg0ZSwgMHgwMiwgMHg3NiwgMHg0MiwgMHgyMiwgMHhiNCwgMHgwMSwgMHhmYywgMHgwMiwgCi0gICAgMHg3NiwgMHg4OCwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwMywgMHgyYSwgMHgzMywgMHg3YSwgMHgwMywgMHgyYSwgMHgzNCwgMHgyMiwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYSwgMHgyYiwgMHg1NCwgMHg2MCwgMHg2MCwgMHgwNSwgMHhiNCwgMHg0MCwgMHgxNSwgMHg4MCwgMHgxMywgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgCi0gICAgMHgwNSwgMHgwYywgMHg3NSwgMHgzMSwgMHg3MSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZSwgMHhmNSwgMHg4ZiwgMHgyMiwgMHg3NSwgCi0gICAgMHhmNiwgMHgwMCwgMHgyMiwgMHhiZSwgMHg1NywgMHgyYSwgMHgzMSwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg1NywgMHgyYSwgMHgzMSwgMHg3YSwgMHgwZiwgMHgyYSwgCi0gICAgMHgzNiwgMHg3YSwgMHg1NywgMHgyYSwgMHgzYSwgMHgwMiwgMHg3NiwgMHg4OCwgMHg3ZSwgMHhlZiwgMHgyYSwgMHgzNiwgMHg3ZSwgMHhmNywgMHgyYSwgMHgzYSwgCi0gICAgMHg3ZSwgMHgwNywgMHgyYSwgMHgzYSwgMHg0ZCwgMHgwMCwgMHg2OCwgMHgyMSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg3ZSwgMHhlYiwgMHhiMCwgMHhmNSwgMHhmMywgCi0gICAgMHhhMywgMHhhNSwgMHgwOCwgMHgxYiwgMHhmNCwgMHg2OCwgMHgwNCwgMHhhNSwgMHhiOCwgMHgwOCwgMHhmMCwgMHg3YSwgMHhlZiwgMHgyYSwgMHgzNiwgMHg3YSwgCi0gICAgMHhmNywgMHgyYSwgMHgzYSwgMHg3NSwgMHgzMSwgMHgwNiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgwMSwgMHhmNiwgMHgyMiwgMHhjMiwgMHhjMSwgMHg3NSwgCi0gICAgMHgzMSwgMHgwMywgMHgxMiwgMHg3YywgMHgxNSwgMHhhOSwgMHgzNiwgMHhlMiwgMHgxNiwgMHhlNSwgMHhmNSwgMHg1NCwgMHhjMCwgMHg2OCwgMHgwNywgMHhhOSwgCi0gICAgMHhkNywgMHhmNCwgMHhhOSwgMHgyNywgMHhmNCwgMHhmYywgMHg1MywgMHhlMSwgMHgzZiwgMHg0MywgMHhmMiwgMHg4OCwgMHgwMiwgMHg3NywgMHgyOSwgMHg3ZSwgCi0gICAgMHhiMywgMHgyYSwgMHgzNCwgMHhiNCwgMHgwMiwgMHgwNCwgMHhhOSwgMHhkNCwgMHhlNCwgMHgyMiwgMHhiNCwgMHgwMSwgMHgzOSwgMHg3ZSwgMHgyMSwgMHhlNiwgCi0gICAgMHg3YywgMHgzMiwgMHg3ZSwgMHgxMywgMHgyYSwgMHgzNSwgMHgyYywgMHgyMSwgMHg3YSwgMHgyMywgMHgyYSwgMHgzNSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHgyZSwgCi0gICAgMHgwNCwgMHgyYSwgMHgzYywgMHhlNSwgMHhlMywgMHg3YSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHhhNSwgMHhkYiwgMHhmNiwgMHhhOSwgMHhkNCwgMHhlNCwgCi0gICAgMHg3NSwgMHgzMSwgMHg3MCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgzNSwgMHg3ZSwgMHhhMywgMHgyYSwgMHgzMiwgMHhiYywgMHhhYiwgCi0gICAgMHg3OCwgMHgwMywgMHgxMiwgMHg3NywgMHhjMCwgMHgyMiwgMHgwMiwgMHg3YiwgMHgyOSwgMHhlNSwgMHhlNiwgMHhiNCwgMHgwOCwgMHg2NSwgMHhhOSwgMHhjNCwgCi0gICAgMHhlMiwgMHg3ZSwgMHgwMSwgMHhlMywgMHg3ZSwgMHgxMSwgMHhlMywgMHg3ZSwgMHgzMSwgMHhlMywgMHg3ZSwgMHgyMSwgMHhlMywgMHg3ZSwgMHg1MSwgMHhlMywgCi0gICAgMHg3ZSwgMHg0MSwgMHhlMywgMHg3ZSwgMHg3MSwgMHhlMywgMHg3ZSwgMHg2MSwgMHhlMywgMHg3YSwgMHgwZiwgMHgyYSwgMHgyYiwgMHg3YSwgMHgxZiwgMHgyYSwgCi0gICAgMHgyZiwgMHg3NSwgMHgzMSwgMHgwNCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgwMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgxMSwgMHgzMSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgyMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgzMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgCi0gICAgMHg0MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg1MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHg2MSwgMHgzMSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3YSwgMHg3MSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhhOSwgMHhkNCwgMHhlNCwgMHhhOSwgMHhkNywgMHhmNCwgMHhhOSwgMHhjNiwgMHhlMiwgCi0gICAgMHgxMiwgMHg3NywgMHg5NCwgMHgyMiwgMHg2ZCwgMHgwMCwgMHg3ZSwgMHgxNCwgMHgwMSwgMHgwMiwgMHg3YSwgMHgwNywgMHgyYSwgMHgzYSwgMHg3YSwgMHgwMywgCi0gICAgMHgyYSwgMHgzNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYiwgMHgyMCwgMHhlNywgMHgwZiwgMHg3YSwgMHgyMywgMHgyYSwgMHgzNCwgMHg3YSwgMHgzMywgMHgyYSwgCi0gICAgMHgzMywgMHhiZSwgMHgwNywgMHgyYSwgMHgzMSwgMHg2OCwgMHgwOSwgMHgyMiwgMHg3YSwgMHgzMywgMHgyYSwgMHgzNCwgMHg3YSwgMHgyMywgMHgyYSwgMHgzMywgCi0gICAgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYiwgMHg1NCwgMHhlMywgMHgyMywgMHgyMywgMHgzMCwgMHhlMCwgMHgwMiwgMHhkMiwgMHhlNSwgMHgzMCwgMHhlNywgMHgwMiwgCi0gICAgMHhkMiwgMHhlNCwgMHgzMCwgMHhlNSwgMHgwNiwgMHgzMCwgMHhlNCwgMHgwMywgMHgwMiwgMHg3YiwgMHgyOSwgMHg1NCwgMHgzZSwgMHhmNSwgMHhmMCwgMHgwMywgCi0gICAgMHg1NCwgMHgxZiwgMHhjMywgMHgyNSwgMHhmMCwgMHg5MCwgMHg3NywgMHhlYywgMHg3NSwgMHg4NCwgMHhmZiwgMHg3MywgMHgwMiwgMHg3OSwgMHg0MCwgMHgwMiwgCi0gICAgMHg3OCwgMHgzNCwgMHgwMiwgMHg3OSwgMHhkZCwgMHgwMiwgMHg3OSwgMHhmOCwgMHgwMiwgMHg3OCwgMHhkOSwgMHgwMiwgMHg3OCwgMHg5YSwgMHgwMiwgMHg3YSwgCi0gICAgMHgxMSwgMHgwMiwgMHg3YSwgMHgxMSwgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxNCwgCi0gICAgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxNCwgMHgwMiwgMHg3YSwgMHgxYSwgMHgwMiwgCi0gICAgMHg3YSwgMHhjZSwgMHgwMiwgMHg3YSwgMHgxNywgMHgwMiwgMHg3YSwgMHgxNywgMHgwMiwgMHg3YSwgMHgxNywgMHgwMiwgMHg3YSwgMHgxNywgMHgwMiwgMHg3YSwgCi0gICAgMHgxNywgMHgwMiwgMHg3YSwgMHgxNywgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgMHgwNiwgMHgyYSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZCwgMHg2MCwgCi0gICAgMHg1NiwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgyYSwgMHgyZSwgMHg3ZSwgMHgxNywgMHgyYSwgMHgyZiwgMHg3NSwgMHgzMSwgMHg3MiwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3YSwgMHgwMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgxMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg3YiwgMHgzMywgCi0gICAgMHg0MCwgMHgzNSwgMHgwMiwgMHg3NiwgMHg3MywgMHhiNCwgMHgwOCwgMHgxMCwgMHg3NSwgMHgzMSwgMHg3NCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgCi0gICAgMHgzZiwgMHhmMSwgMHhmNSwgMHhmMywgMHg3NSwgMHhmNiwgMHgwMSwgMHgyMiwgMHhiNCwgMHgwMCwgMHgxYywgMHg3NSwgMHgzMSwgMHg3NSwgMHgxMiwgMHg3YywgCi0gICAgMHgxNSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHgzMCwgMHhlMCwgMHgwNSwgMHg3NSwgMHhmMywgMHgwMiwgMHg4MCwgMHgwMywgMHg3NSwgMHhmMywgMHgwMCwgCi0gICAgMHg3NSwgMHhmMywgMHgwMCwgMHg3NSwgMHhmNiwgMHgwMiwgMHgyMiwgMHgwMiwgMHg3YiwgMHgyOSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgMHgwMCwgCi0gICAgMHgzNSwgMHg3NSwgMHgzMSwgMHg3NiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgzMCwgMHg1NCwgMHgwZiwgMHhmNSwgMHhmMSwgMHg3ZSwgCi0gICAgMHhiMywgMHgyYSwgMHgzMCwgMHgyMCwgMHhlNywgMHgwOSwgMHhlNSwgMHhlMSwgMHgzMCwgMHhlNywgMHgwZCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwYiwgMHhlNSwgCi0gICAgMHhlMSwgMHgzMCwgMHhlNiwgMHgwNCwgMHg3NCwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3NCwgMHgwMCwgMHg1MywgMHhmMSwgMHg4MCwgMHhmNSwgMHhmMywgMHg3NSwgCi0gICAgMHhmMywgMHgwMCwgMHg3NSwgMHhmNiwgMHgwMiwgMHgyMiwgMHgwMiwgMHg3YiwgMHgyOSwgMHhjMCwgMHhmMSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgzMCwgMHg1NCwgCi0gICAgMHgwZiwgMHg0MiwgMHhmMSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZSwgMHhiNCwgMHgwMCwgMHg0NSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgMHgwMSwgCi0gICAgMHgyNCwgMHg3NSwgMHgzMSwgMHg3NywgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgzMCwgMHg1NCwgMHgwZiwgMHg3OCwgMHgwNSwgMHg1MywgCi0gICAgMHhlMSwgMHgzZiwgMHg4MCwgMHgzNywgMHg3ZSwgMHhiMywgMHgyYSwgMHgzMCwgMHgyMCwgMHhlNywgMHgwNSwgMHg1MywgMHhlMSwgMHg3ZiwgMHg4MCwgMHgyYiwgCi0gICAgMHg1MywgMHhlMSwgMHhiZiwgMHg4MCwgMHgyNiwgMHhiNCwgMHgwMywgMHgxNywgMHg3NSwgMHgzMSwgMHg3OCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYSwgMHgzMCwgMHgyMCwgMHhlNywgMHgwNSwgMHg0MywgMHhlMSwgMHg4MCwgMHg4MCwgMHgxMSwgMHg0MywgMHhlMSwgMHg0MCwgMHg4MCwgMHgwYywgMHg0MywgCi0gICAgMHhlMSwgMHhjMCwgMHhkMCwgMHhmMSwgMHg3NSwgMHgzMSwgMHgwNywgMHgxMiwgMHg3YywgMHgxNSwgMHgyMiwgMHhkMCwgMHhmMSwgMHgwMiwgMHg3NiwgMHg2ZiwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgMHgwOSwgMHgyMywgMHg3NSwgMHgzMSwgMHg3OSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgCi0gICAgMHgyZSwgMHhiZSwgMHhiMywgMHgzZiwgMHhmMSwgMHg2OCwgMHgxMSwgMHhjYSwgMHhiOCwgMHhjMCwgMHhmMSwgMHgxMiwgMHg0MywgMHhkNCwgMHhkMCwgMHhmMSwgCi0gICAgMHhkYSwgMHhiOCwgMHg1MCwgMHg3NiwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMSwgMHg4MCwgMHg2ZCwgMHhiNCwgMHgwNSwgMHgwOCwgMHg3NSwgMHgzMSwgMHg3YSwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHg4MCwgMHg2MiwgMHhiNCwgMHgwMywgMHgxOSwgMHg3NSwgMHgzMSwgMHg3YiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYSwgMHgyZSwgMHhiNCwgMHgwMSwgMHg1NSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg0NCwgMHgwMSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgCi0gICAgMHg0NiwgMHhiNCwgMHgwMSwgMHgxOSwgMHg3NSwgMHgzMSwgMHg3YywgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZSwgMHhiNCwgMHgwMSwgCi0gICAgMHgzOSwgMHg3ZSwgMHhiMywgMHgzZiwgMHhmMiwgMHg1NCwgMHhmZSwgMHg3YSwgMHhiMywgMHgzZiwgMHhmMiwgMHg4MCwgMHgyYSwgMHhiNCwgMHgwNywgMHgyYSwgCi0gICAgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZCwgMHg2MCwgMHgyNCwgMHg3YywgMHgwYiwgMHg3ZSwgMHgxMywgMHgyYSwgMHgyZSwgMHg3ZSwgMHgxNywgMHgyYSwgMHgyZiwgCi0gICAgMHg3NSwgMHgzMSwgMHg3MywgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgwMSwgMHgzMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3YSwgMHgxMSwgMHgzMSwgMHgxMiwgCi0gICAgMHg3YywgMHgxNSwgMHgxMiwgMHg3YiwgMHg1ZiwgMHg0MCwgMHgwMywgMHgwMiwgMHg3NiwgMHg2ZiwgMHgwMiwgMHg3YiwgMHgyOSwgMHg3ZSwgMHhiMywgMHgyYSwgCi0gICAgMHgyYywgMHhiNCwgMHgwYiwgMHhmNiwgMHg3NSwgMHgzMSwgMHg3ZCwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZSwgMHg3ZSwgMHhhMywgCi0gICAgMHgyYSwgMHgzMCwgMHg0YywgMHhhYiwgMHg3OCwgMHhlNCwgMHg4MCwgMHhkZiwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgMHgwYSwgMHhkYiwgMHg3NSwgCi0gICAgMHgzMSwgMHg3ZSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyZSwgMHg3MCwgMHhjZiwgMHhmNSwgMHhmMywgMHg3NSwgMHhmNiwgMHgwMSwgCi0gICAgMHgyMiwgMHgwMiwgMHg3YiwgMHgyOSwgMHgwMiwgMHg3YiwgMHgyOSwgMHgwMiwgMHg3YiwgMHgyOSwgMHg3ZSwgMHhiMywgMHgyYSwgMHgyYywgMHhiNCwgMHgwNCwgCi0gICAgMHgyMCwgMHg3NSwgMHgzMSwgMHhjMywgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgMHgxNywgMHgyYSwgMHgyZCwgMHg3ZSwgCi0gICAgMHgxOCwgMHgyYSwgMHgzYywgMHg3YSwgMHgxYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHg0NywgMHgyYSwgMHgzMSwgMHgxMiwgMHg3YywgMHgyMSwgMHgwMiwgMHg3YSwgCi0gICAgMHhjOCwgMHhiNCwgMHgwNiwgMHgzYSwgMHg3NSwgMHgzMSwgMHhjMSwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHg1OCwgMHgwMCwgMHgwMCwgMHg3YSwgMHg1YywgCi0gICAgMHgwMCwgMHhmZSwgMHg3ZCwgMHhjYSwgMHg3ZSwgMHhkNywgMHgyYSwgMHgyZCwgMHg3ZSwgMHg3OCwgMHgyYSwgMHgzYywgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgCi0gICAgMHg3ZSwgMHg3NywgMHgyYSwgMHgzMSwgMHg3NSwgMHgzMSwgMHhjMSwgMHgxMiwgMHg3YywgMHgxNSwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgCi0gICAgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHg3YywgMHg1YSwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHg0MCwgMHg0ZiwgMHg4MCwgMHg0YSwgMHhiNCwgMHgwMCwgCi0gICAgMHgxYywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHg3NiwgMHg2ZiwgMHhlNCwgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgMHg4ZCwgMHhlZiwgCi0gICAgMHhkNSwgMHhlMCwgMHhmNywgMHhjMCwgMHhkMSwgMHhjYSwgMHgwMiwgMHhmZiwgMHhjYSwgMHgwNiwgMHgwMCwgMHgwMCwgMHgzMiwgMHhiNCwgMHgwOSwgMHgxMiwgCi0gICAgMHg3ZSwgMHg1NywgMHgyYSwgMHgyZCwgMHg0ZCwgMHg1NSwgMHg2OCwgMHgwNSwgMHhhOSwgMHhkMiwgMHhiMSwgMHg4MCwgMHgwMywgMHhhOSwgMHhjMiwgMHhiMSwgCi0gICAgMHg4MCwgMHgxNiwgMHhiNCwgMHgwNywgMHgxNiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHgwNywgMHgyYSwgMHgyZiwgMHg3ZSwgMHgxNywgMHgyYSwgMHgyZCwgMHhjMCwgCi0gICAgMHhkMSwgMHhjYSwgMHgxOCwgMHhjYSwgMHgzOCwgMHhjYSwgMHgyOCwgMHgzMiwgMHgwMiwgMHg3NiwgMHg2ZiwgMHgwMiwgMHg3YiwgMHgyOSwgMHg3ZSwgMHhiMywgCi0gICAgMHgyYSwgMHgyYywgMHhiNCwgMHgwMywgMHgxNSwgMHg3NSwgMHgzMSwgMHhjMiwgMHgxMiwgMHg3YywgMHgxNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgwMSwgMHg3ZSwgCi0gICAgMHgxNywgMHgyYSwgMHgyZCwgMHg3ZSwgMHg1NywgMHgyYSwgMHgzMSwgMHgwMiwgMHg3NiwgMHg3MywgMHhiNCwgMHgwNSwgMHgzOSwgMHg3NSwgMHgzMSwgMHhjMCwgCi0gICAgMHgxMiwgMHg3YywgMHgxNSwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHg3ZSwgMHgwOCwgMHgyYSwgMHgzYywgCi0gICAgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgMHgyNCwgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNywgMHgyYSwgMHgyZCwgMHg3ZSwgMHg0NywgMHgyYSwgMHgzMSwgCi0gICAgMHgxMiwgMHg3YywgMHgyMSwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHg3ZSwgMHgwOCwgMHgyYSwgMHgzYywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHg1NywgMHgyYSwgMHgzMSwgMHgwMiwgMHg3NiwgMHg3MywgMHgwMiwgMHg3YiwgMHgyOSwgMHg3NSwgMHgzMSwgMHgwNywgMHgxMiwgMHg3YywgMHgxNSwgMHg0MywgCi0gICAgMHhlMSwgMHhjMCwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHg3YiwgMHg5ZSwgMHg0MCwgCi0gICAgMHgxOSwgMHg3ZSwgMHgwOCwgMHgyYSwgMHgzYywgMHg3YSwgMHgwYywgMHgwMCwgMHgwMCwgMHhjYSwgMHgwYiwgMHhjYSwgMHg0OSwgMHgxMiwgMHg3YywgMHgyMSwgCi0gICAgMHhkYSwgMHg1OSwgMHhkYSwgMHgwYiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHgyMiwgMHhjMCwgCi0gICAgMHhhOCwgMHhjMCwgMHg4NywgMHhjMiwgMHhhZiwgMHhhOSwgMHhkNSwgMHg4NywgMHgxMiwgMHg3YiwgMHg5ZSwgMHg0MCwgMHgyYiwgMHg3ZSwgMHg1OCwgMHgwMCwgCi0gICAgMHgwMCwgMHg3YSwgMHg1YywgMHgwMCwgMHhmZSwgMHg3ZiwgMHg2MSwgMHg3ZSwgMHg3OCwgMHgyYSwgMHgzYywgMHg3YSwgMHg3YywgMHgwMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHg3NywgMHgyYSwgMHgzMSwgMHhiZCwgMHg3NCwgMHg3OCwgMHgxMSwgMHg3NSwgMHgzMSwgMHhjMSwgMHgxMiwgMHg3YywgMHgxNSwgMHgxMiwgMHg3YywgMHg1YSwgCi0gICAgMHg0MCwgMHgwNiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhjMywgMHgyMiwgMHhkMCwgMHg4NywgMHhkMCwgMHhhOCwgMHhkMywgMHgyMiwgMHg3ZSwgMHgyNCwgCi0gICAgMHgwMCwgMHhmZSwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjYSwgMHgwYiwgMHgxYSwgMHg1MCwgMHhjNSwgMHhmMCwgMHg3ZCwgMHg2MiwgMHg3ZCwgMHg3NSwgMHg3ZCwgCi0gICAgMHg4NywgMHg3ZSwgMHgzNCwgMHg3ZiwgMHhjMiwgMHg3ZSwgMHgxYiwgMHhiMCwgMHg3ZSwgMHgzNCwgMHg3ZiwgMHgwMywgMHhiNCwgMHgwMSwgMHgwNCwgMHg3ZSwgCi0gICAgMHgzNCwgMHg3ZiwgMHhjYywgMHg3ZSwgMHgxYiwgMHhiMCwgMHhiYywgMHgwYiwgMHg1MCwgMHg0OSwgMHgzZSwgMHgwMCwgMHgzZSwgMHgwMCwgMHgwYSwgMHg1MCwgCi0gICAgMHgyZCwgMHg3NSwgMHgwYiwgMHgzYSwgMHgzMCwgMHg2OSwgMHg1MywgMHgwMCwgMHgwMiwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiYywgCi0gICAgMHgxYiwgMHg1MCwgMHgzMCwgMHgzZSwgMHgxMCwgMHgzZSwgMHgxMCwgMHgwYSwgMHg1MSwgMHgyZCwgMHgzNSwgMHg2OSwgMHg0MSwgMHgwMCwgMHgwMiwgMHgwYiwgCi0gICAgMHgxYSwgMHgzMCwgMHhiZCwgMHgzOCwgMHg1MCwgMHgwMiwgMHgyZCwgMHgzOCwgMHhiZSwgMHg0NCwgMHhmZiwgMHhmZiwgMHg3OCwgMHgwNSwgMHg3ZSwgMHgxYiwgCi0gICAgMHg5MCwgMHgwYSwgMHg0OSwgMHg0ZCwgMHg0NCwgMHg2OCwgMHgwYywgMHhiZSwgMHg0NCwgMHgwMCwgMHhmZiwgMHgyOCwgMHgwNCwgMHg3ZSwgMHg0NCwgMHgwMCwgCi0gICAgMHhmZiwgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgCi0KLS8vIFNlZ21lbnQgIzE2LCBTdGFydCBBZGRyZXNzIDAwZmY3ZmM2LCBMZW5ndGggNAotMHhmZiwweDAwLDB4YzYsMHg3ZiwweDA0LDB4MDAsCi0gICAgMHgwMSwgMHgxMCwgMHgwNCwgMHgwMCwgCi0KLS8vIFNlZ21lbnQgIzE3LCBTdGFydCBBZGRyZXNzIDAwZmY3YzE1LCBMZW5ndGggMzMwCi0weGZmLDB4MDAsMHgxNSwweDdjLDB4NGEsMHgwMSwKLSAgICAweGNhLCAweDA4LCAweDdlLCAweDAxLCAweDMxLCAweDdhLCAweDAzLCAweDNmLCAweGYwLCAweGRhLCAweDA4LCAweDIyLCAweDdlLCAweDFiLCAweGMwLCAweDdhLCAKLSAgICAweDBiLCAweGMwLCAweDBiLCAweDE0LCAweDBiLCAweDM0LCAweDFiLCAweDQ0LCAweDc4LCAweGYyLCAweDIyLCAweDdmLCAweDZmLCAweDdmLCAweGYwLCAweDFiLCAKLSAgICAweGZjLCAweDdjLCAweDU0LCAweDdkLCAweDMyLCAweDgwLCAweDA4LCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweGNhLCAweDFiLCAweDllLCAKLSAgICAweDQ0LCAweDAwLCAweDEwLCAweDUwLCAweGYyLCAweDJlLCAweDQ0LCAweDAwLCAweDEwLCAweDY4LCAweDA2LCAweGNhLCAweDQ4LCAweDFiLCAweDQ0LCAweDc4LCAKLSAgICAweGZhLCAweDdmLCAweGY2LCAweDg5LCAweGU0LCAweGNhLCAweDZiLCAweDVlLCAweGQ0LCAweDAwLCAweDNmLCAweDY4LCAweDIwLCAweDdlLCAweDg0LCAweDAwLCAKLSAgICAweDQwLCAweDlkLCAweDhkLCAweGRhLCAweDZiLCAweGJkLCAweDg3LCAweDM4LCAweDE2LCAweGNhLCAweDc5LCAweDdkLCAweDc4LCAweDEyLCAweDdjLCAweDg0LCAKLSAgICAweGRhLCAweDc5LCAweDQwLCAweDA4LCAweDlkLCAweDc4LCAweDY4LCAweDAyLCAweDgwLCAweDA1LCAweGMyLCAweGQ3LCAweDIyLCAweGRhLCAweDZiLCAweDQzLCAKLSAgICAweDkwLCAweDMwLCAweDc0LCAweGFhLCAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDc0LCAweDU1LCAweDM5LCAweGI1LCAweDJhLCAweGFhLCAweDc0LCAweGEwLCAKLSAgICAweDM5LCAweGI1LCAweDU1LCAweDU1LCAweDdlLCAweDA0LCAweDAwLCAweDQwLCAweDlkLCAweDcwLCAweDUwLCAweDA2LCAweDJkLCAweDcwLCAweDdkLCAweDA3LCAKLSAgICAweDZkLCAweDc3LCAweDdjLCAweDMxLCAweDdlLCAweDdiLCAweDAwLCAweDdhLCAweDZiLCAweDAwLCAweDBiLCAweDdjLCAweDBiLCAweDZjLCAweGE1LCAweGQ5LCAKLSAgICAweGYzLCAweDdmLCAweDE2LCAweDFiLCAweDFjLCAweDdlLCAweDU0LCAweDI3LCAweDEwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDEwLCAweDY4LCAweDA2LCAKLSAgICAweDFiLCAweDU0LCAweDc4LCAweGY1LCAweDgwLCAweDJjLCAweDZkLCAweDAwLCAweDdjLCAweDIwLCAweDdmLCAweDE2LCAweDlmLCAweDEwLCAweDdmLCAweDI3LCAKLSAgICAweDlmLCAweDIwLCAweDdlLCAweDJiLCAweDAwLCAweDdlLCAweDFiLCAweDEwLCAweGJjLCAweDAxLCAweDc4LCAweDE2LCAweDBiLCAweDJjLCAweDBiLCAweDFjLCAKLSAgICAweGE1LCAweGRiLCAweGVmLCAweDdjLCAweGI2LCAweDIwLCAweGUwLCAweDAzLCAweDYzLCAweDkwLCAweDMwLCAweDRkLCAweDc3LCAweDc4LCAweDkzLCAweGMyLCAKLSAgICAweGQ3LCAweDIyLCAweGQyLCAweGQ3LCAweDIyLCAweDAwLCAweDA0LCAweDAwLCAweDA0LCAweDQyLCAweDA4LCAweDA2LCAweDA0LCAweDAyLCAweDA0LCAweDAwLCAKLSAgICAweDAyLCAweDAxLCAweDA0LCAweDAxLCAweDAyLCAweDgyLCAweDA4LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAyLCAweDAyLCAKLSAgICAweDAyLCAweDAyLCAweDA0LCAweDAyLCAweDA4LCAweDEwLCAweDAyLCAweDEwLCAweDA0LCAweDAyLCAweDA4LCAweDAwLCAweDAxLCAweDAxLCAweDA4LCAweDAwLCAKLSAgICAweDAxLCAweDAwLCAweDAyLCAweDAwLCAweDAyLCAweDAyLCAweDA4LCAweDAyLCAweDA0LCAweDIwLCAweDA0LCAweDdlLCAweDE4LCAweDdmLCAweGJkLCAweDdhLCAKLSAgICAweDFjLCAweDAwLCAweGZlLCAweDBiLCAweDFhLCAweDAwLCAweDVlLCAweDEwLCAweDFmLCAweGJlLCAweDEwLCAweDFhLCAweDM4LCAweDFhLCAweDBhLCAweDUxLCAKLSAgICAweDIzLCAweDdlLCAweDE4LCAweDdjLCAweGZhLCAweDdhLCAweDFjLCAweDAwLCAweGZmLCAweDJkLCAweDM1LCAweDBiLCAweDFhLCAweDUwLCAweDYwLCAweDA4LCAKLSAgICAweGE1LCAweGI4LCAweDAyLCAweDAzLCAweDRlLCAweGEwLCAweDA4LCAweDIyLCAweDgwLCAweGZlLCAKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gSU1BR0VfVkVSU0lPTl9OQU1FID0gewotCTEsIDE2LCA0IH07CQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24yLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY3Mjc3ZS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjIuaAorKysgL2Rldi9udWxsCkBAIC0xLDExMzMgKzAsMCBAQAotLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCi0vLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2Ci0vLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0vLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLS8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0vLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi0vL0ltYWdlIHN0cnVjdHVyZSBkZWZpbml0aW9uCi0jaWYgIWRlZmluZWQoREVGSU5FRF9FREdFX0ZJUk1XQVJFX0lNQUdFX1JFQ09SRCkKLQkjZGVmaW5lIERFRklORURfRURHRV9GSVJNV0FSRV9JTUFHRV9SRUNPUkQKLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV9pbWFnZV9yZWNvcmQgewotCQlfX2xlMTYgRXh0QWRkcjsKLQkJX19sZTE2IEFkZHI7Ci0JCV9fbGUxNiBMZW47Ci0JCXVuc2lnbmVkIGNoYXIgIERhdGFbMF07Ci0JfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7Ci0KLQlzdHJ1Y3QgZWRnZV9maXJtd2FyZV92ZXJzaW9uX2luZm8gewotCQl1bnNpZ25lZCBjaGFyICBNYWpvclZlcnNpb247Ci0JCXVuc2lnbmVkIGNoYXIgIE1pbm9yVmVyc2lvbjsKLQkJdW5zaWduZWQgc2hvcnQgQnVpbGROdW1iZXI7Ci0JfTsKLQotI2VuZGlmCi0KLSNpZiAhZGVmaW5lZChJTUFHRV9BUlJBWV9OQU1FKQotCSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlGaXJtd2FyZUltYWdlCi0JI2RlZmluZSBJTUFHRV9WRVJTSU9OX05BTUUJRmlybXdhcmVJbWFnZVZlcnNpb24KLSNlbmRpZgotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSB7Ci0KLS8vIFNlZ21lbnQgIzEsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMDAsIExlbmd0aCA2Ci0weGZmLDB4MDAsMHgwMCwweDAwLDB4MDYsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDgwLCAweDAyLCAweDQ1LCAweDE0LCAKLQotLy8gU2VnbWVudCAjMiwgU3RhcnQgQWRkcmVzcyAwMGZmMDAwYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDBiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4NDQsIDB4YTUsIAotCi0vLyBTZWdtZW50ICMzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDEzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg2MywgMHhhYiwgCi0KLS8vIFNlZ21lbnQgIzQsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMWIsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgxYiwweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDFiLCAKLQotLy8gU2VnbWVudCAjNSwgU3RhcnQgQWRkcmVzcyAwMGZmMDAyMywgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDIzLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MjMsIAotCi0vLyBTZWdtZW50ICM2LCBTdGFydCBBZGRyZXNzIDAwZmYwMDJiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4MmIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHgyYiwgCi0KLS8vIFNlZ21lbnQgIzcsIFN0YXJ0IEFkZHJlc3MgMDBmZjAwMzMsIExlbmd0aCAzCi0weGZmLDB4MDAsMHgzMywweDAwLDB4MDMsMHgwMCwKLSAgICAweDAyLCAweDAwLCAweDMzLCAKLQotLy8gU2VnbWVudCAjOCwgU3RhcnQgQWRkcmVzcyAwMGZmMDAzYiwgTGVuZ3RoIDMKLTB4ZmYsMHgwMCwweDNiLDB4MDAsMHgwMywweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4M2IsIAotCi0vLyBTZWdtZW50ICM5LCBTdGFydCBBZGRyZXNzIDAwZmYwMDQzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NDMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0MywgCi0KLS8vIFNlZ21lbnQgIzEwLCBTdGFydCBBZGRyZXNzIDAwZmYwMDRiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NGIsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg0YiwgCi0KLS8vIFNlZ21lbnQgIzExLCBTdGFydCBBZGRyZXNzIDAwZmYwMDUzLCBMZW5ndGggMwotMHhmZiwweDAwLDB4NTMsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHg2NywgMHg1ZiwgCi0KLS8vIFNlZ21lbnQgIzEyLCBTdGFydCBBZGRyZXNzIDAwZmYwMDdiLCBMZW5ndGggMwotMHhmZiwweDAwLDB4N2IsMHgwMCwweDAzLDB4MDAsCi0gICAgMHgwMiwgMHgwMCwgMHg3YiwgCi0KLS8vIFNlZ21lbnQgIzEzLCBTdGFydCBBZGRyZXNzIDAwZmYwMDgwLCBMZW5ndGggNwotMHhmZiwweDAwLDB4ODAsMHgwMCwweDA3LDB4MDAsCi0gICAgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHgwMiwgMHg0MCwgMHg1MiwgCi0KLS8vIFNlZ21lbnQgIzE0LCBTdGFydCBBZGRyZXNzIDAwZmYzMDAwLCBMZW5ndGggMjkxOAotMHhmZiwweDAwLDB4MDAsMHgzMCwweDY2LDB4MGIsCi0gICAgMHgxMiwgMHgzMCwgMHg2NCwgMHgxMiwgMHgzMCwgMHhmZiwgMHgxMiwgMHgzMSwgMHgyZiwgMHgxMiwgMHgzMCwgMHhiMCwgMHg4MCwgMHhmMiwgMHhlNSwgMHgyMywgCi0gICAgMHg2MCwgMHgxOSwgMHg3ZSwgMHgxNCwgMHgwMCwgMHgwMCwgMHgwOSwgMHhiMSwgMHgwMSwgMHhiOSwgMHhiNCwgMHgwMCwgMHgwMiwgMHg4MCwgMHgwNSwgMHgxNCwgCi0gICAgMHgxOSwgMHhiMSwgMHgwMSwgMHhiOSwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhlYiwgMHgyMiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHhiMywgCi0gICAgMHgzZiwgMHhmMSwgMHhiNCwgMHgwMSwgMHgwMywgMHgxMiwgMHg2NSwgMHg2NywgMHhkMiwgMHhhZiwgMHgyMiwgMHhjMiwgMHhhZiwgMHg3ZSwgMHhiMywgMHgzZiwgCi0gICAgMHhmMSwgMHhiNCwgMHgwMSwgMHgxZCwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHg2YywgMHhhYSwgCi0gICAgMHg2MCwgMHgwZiwgMHhjYSwgMHgwYiwgMHhjYSwgMHgzOSwgMHhjYSwgMHg1OSwgMHgxMiwgMHg2NCwgMHgyNCwgMHhkYSwgMHg1OSwgMHhkYSwgMHgzOSwgMHhkYSwgCi0gICAgMHgwYiwgMHhkMiwgMHhhZiwgMHgyMiwgMHhjMiwgMHhhZiwgMHhlNSwgMHgyMiwgMHg2MCwgMHg0MywgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHhiZSwgMHgwNCwgCi0gICAgMHgwMywgMHg4MCwgMHgzOCwgMHgzOSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgyMSwgMHgwOSwgMHhhMCwgCi0gICAgMHgwMCwgMHgwNCwgMHg0ZSwgMHhhMCwgMHgwNSwgMHgxOSwgMHhhMCwgMHgwMCwgMHgwNCwgMHgwYSwgMHgzMiwgMHgwOSwgMHg1MywgMHgzNSwgMHgzMywgMHg1ZSwgCi0gICAgMHg1MSwgMHgyNywgMHg2OCwgMHgwYiwgMHgwOSwgMHhhMCwgMHgwMCwgMHgxMCwgMHg0ZSwgMHhhMCwgMHgwMSwgMHgxOSwgMHhhMCwgMHgwMCwgMHgxMCwgMHgyZSwgCi0gICAgMHgwNCwgMHgwMSwgMHgwMCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhkMSwgMHg3NSwgMHgyMiwgMHgwMCwgMHhkMiwgMHhhZiwgMHgyMiwgCi0gICAgMHhjMiwgMHhhZiwgMHhlNSwgMHgyNiwgMHg2MCwgMHgzNiwgMHg3ZSwgMHgyMCwgMHgwMCwgMHg3ZSwgMHgzMCwgMHgwMSwgMHhlNSwgMHgyNiwgMHhhNSwgMHg1YiwgCi0gICAgMHg2OCwgMHgyMSwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgMHgyYiwgMHg0OSwgMHgzMiwgMHgwMSwgMHg3OSwgMHhiZSwgMHgzNCwgMHgwMCwgMHgwMCwgMHg2OCwgCi0gICAgMHgxMiwgMHg3ZSwgMHhiMSwgMHgyMSwgMHhhNSwgMHg0YiwgMHg3YSwgMHhiMSwgMHgyMSwgMHhjYSwgMHgxOSwgMHg0OSwgMHgyMiwgMHgzMCwgMHhlZiwgMHg5OSwgCi0gICAgMHgyNCwgMHhkYSwgMHgxOSwgMHgzZSwgMHgzMCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhkMCwgMHhkMiwgMHhhZiwgMHgyMiwgMHg0NiwgCi0gICAgMHg0ZiwgMHg0OSwgMHg3YywgMHg0YywgMHhhOSwgMHg0ZiwgMHhkNiwgMHg1MywgMHgwMywgMHg1NiwgMHgzMCwgMHg1OSwgMHg1ZCwgMHg1YywgMHg4YSwgMHhjMiwgCi0gICAgMHhhZiwgMHhlNSwgMHgyNCwgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHgxYywgCi0gICAgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHhjYSwgMHgyOCwgMHgxMiwgMHgzNSwgCi0gICAgMHg0YywgMHhkYSwgMHgyOCwgMHg0MCwgMHgwOSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgMHgzNSwgMHgzMywgMHhmNCwgMHg1MiwgMHgyNCwgMHgyMiwgMHhjMiwgCi0gICAgMHhhZiwgMHhlNSwgMHgyMywgMHg2MCwgMHgxNCwgMHg3ZSwgMHgyMCwgMHgwMCwgMHgxMywgMHg1MCwgMHgwNywgMHhjYSwgMHhiOCwgMHgxMiwgMHgzMSwgMHg0YywgCi0gICAgMHhkYSwgMHhiOCwgMHhhNSwgMHgwYSwgMHhiZSwgMHgyMSwgMHgyZSwgMHg3OCwgMHhlZiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgCi0gICAgMHgyYiwgMHg0OSwgMHgyMiwgMHgzMSwgMHg1NywgMHg4OSwgMHgyNCwgMHgzMSwgMHg2NywgMHgzMSwgMHhkMCwgMHgzMiwgMHgzOSwgMHgzMiwgMHhhMiwgMHgzMywgCi0gICAgMHgwYiwgMHgzMywgMHg3NCwgMHgzMywgMHhkZCwgMHgzNCwgMHg0NiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3OSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgCi0gICAgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgCi0gICAgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0OSwgMHg0NSwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgCi0gICAgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgMHgwMSwgMHg4OSwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg4OSwgMHg3ZSwgCi0gICAgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhiOSwgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhiOSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgCi0gICAgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgCi0gICAgMHhiMywgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgMHgxOCwgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiOSwgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgCi0gICAgMHg3ZSwgMHgyNywgMHgwMSwgMHg3YiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MSwgMHgwMCwgMHgwOSwgMHhiMiwgCi0gICAgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgCi0gICAgMHg0YywgMHg3MiwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgCi0gICAgMHgwMSwgMHg4YiwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg4YiwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhiYSwgMHg4MCwgCi0gICAgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhiYSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgCi0gICAgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgMHhiMywgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgMHgxOSwgMHg2YywgCi0gICAgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiYSwgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZCwgMHhiZSwgMHgyNCwgMHgwMCwgCi0gICAgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgCi0gICAgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg0ZiwgMHg5ZiwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgCi0gICAgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgMHgwMSwgMHg4ZCwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgCi0gICAgMHg4ZCwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhiYiwgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhiYiwgMHhhNSwgMHhiZSwgCi0gICAgMHgwMCwgMHgxZiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgCi0gICAgMHg3NSwgMHgyZiwgMHhiMywgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgMHgxYSwgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiYiwgMHgxMiwgMHg2NCwgCi0gICAgMHg4NiwgMHgyMiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZiwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4MywgMHgwMCwgCi0gICAgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgCi0gICAgMHgxMiwgMHgxMiwgMHg1MiwgMHhjYywgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgCi0gICAgMHhiZSwgMHgyNywgMHgwMSwgMHg4ZiwgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg4ZiwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgCi0gICAgMHhiYywgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhiYywgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgCi0gICAgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgMHhiMywgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgCi0gICAgMHgxYiwgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiYywgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MSwgMHhiZSwgCi0gICAgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NCwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgCi0gICAgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1NSwgMHhmOSwgMHg3ZCwgMHgyMSwgMHhkYSwgCi0gICAgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5MSwgMHg2OCwgMHgwZCwgMHg3YSwgCi0gICAgMHgyNywgMHgwMSwgMHg5MSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhiZCwgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhiZCwgCi0gICAgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgCi0gICAgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgMHhiMywgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgMHgxYywgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiZCwgCi0gICAgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgCi0gICAgMHg4NSwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgCi0gICAgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1OSwgMHgyNiwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgCi0gICAgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5MywgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg5MywgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgCi0gICAgMHg2MywgMHgwMSwgMHhiZSwgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhiZSwgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgMHg3ZSwgMHg2MCwgMHgwMSwgCi0gICAgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgMHhiMywgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHhjMiwgMHgxZCwgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiZSwgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg4NSwgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgMHg3ZSwgMHgyNCwgMHg4NiwgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgCi0gICAgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1YywgMHg1MywgMHg3ZCwgCi0gICAgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5NSwgMHg2OCwgCi0gICAgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg5NSwgMHg3ZSwgMHg2MCwgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhiZiwgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgCi0gICAgMHgwMSwgMHhiZiwgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgMHg3ZSwgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgCi0gICAgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgMHhiMywgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgMHgxZSwgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgCi0gICAgMHgwMSwgMHhiZiwgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4NywgMHhiZSwgMHgyNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyNCwgCi0gICAgMHg3ZSwgMHgyNCwgMHg4NywgMHgwMCwgMHgwOSwgMHhiMiwgMHgwMCwgMHgxNCwgMHhjYSwgMHhiOCwgMHg1ZSwgMHhiMCwgMHgxZSwgMHhkYSwgMHhiOCwgMHg2OCwgCi0gICAgMHgwYiwgMHhjYSwgMHgxOSwgMHg3ZCwgMHgxMiwgMHgxMiwgMHg1ZiwgMHg4MCwgMHg3ZCwgMHgyMSwgMHhkYSwgMHgxOSwgMHgzMCwgMHhlNiwgMHgxOCwgMHg3ZSwgCi0gICAgMHg2MCwgMHgwMCwgMHg4MCwgMHgxZSwgMHhiZSwgMHgyNywgMHgwMSwgMHg5NywgMHg2OCwgMHgwZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg5NywgMHg3ZSwgMHg2MCwgCi0gICAgMHg5YywgMHg3YSwgMHg2MywgMHgwMSwgMHhjMCwgMHg4MCwgMHgyNywgMHg3ZSwgMHg2MywgMHgwMSwgMHhjMCwgMHhhNSwgMHhiZSwgMHgwMCwgMHgxZiwgMHg3ZSwgCi0gICAgMHg2MCwgMHgwMSwgMHg3ZSwgMHhiMCwgMHgwMCwgMHg3ZSwgMHhhMCwgMHhjOCwgMHgxMiwgMHg2MSwgMHgzNiwgMHg0MCwgMHgxMSwgMHg3NSwgMHgyZiwgMHhiMywgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHhjMiwgMHgxZiwgMHg2YywgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhjMCwgMHgxMiwgMHg2NCwgMHg4NiwgMHgyMiwgMHhjMiwgCi0gICAgMHhhZiwgMHg3ZSwgMHgwNywgMHgwMSwgMHhjYiwgMHhiZSwgMHgwNCwgMHgwMCwgMHgwMCwgMHg3OCwgMHgyOCwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgCi0gICAgMHgwMCwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxNSwgMHgzMCwgMHhlNSwgMHgxYiwgMHg3ZSwgMHhiMywgMHg5MSwgMHgxYSwgMHhiZSwgMHhiMCwgMHgzZiwgMHgzOCwgCi0gICAgMHgwYywgMHg4NSwgMHgzMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NCwgMHg4MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgxZSwgMHg3NCwgMHgyMCwgMHg3YSwgCi0gICAgMHhiMywgMHg5MSwgMHgxNSwgMHhkMiwgMHhhZiwgMHgyMiwgMHgzNSwgMHgzYiwgMHgzNiwgMHhlOCwgMHgzNywgMHgwMCwgMHgzNywgMHgxYiwgMHgzNywgMHhiNiwgCi0gICAgMHgzOCwgMHg0ZSwgMHgzOCwgMHg2OSwgMHgzOCwgMHhmYiwgMHgzOCwgMHg4NCwgMHgzOCwgMHhjNSwgMHg3YywgMHhiMywgMHhiZSwgMHhiMCwgMHgwOSwgMHgyOCwgCi0gICAgMHgyMiwgMHg3NSwgMHgyZiwgMHgwOSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHg1NywgMHgwMiwgMHg3NCwgMHgyMCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgCi0gICAgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgMHg5MSwgMHgxMSwgMHg3NCwgMHg0MCwgMHg3YSwgMHhiMywgMHg5MSwgMHgwMCwgMHg3NCwgMHgwMSwgMHg3YSwgMHhiMywgCi0gICAgMHg5MSwgMHgxMSwgMHgyMiwgMHhjMCwgMHhhOCwgMHhjMiwgMHhhZiwgMHgyMywgMHg2YywgMHhhYSwgMHgyZSwgMHg1NCwgMHgzNCwgMHhlNiwgMHgwYiwgMHg1OCwgCi0gICAgMHg1MCwgMHg4OSwgMHg1NCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg3NSwgMHgyZiwgMHhiMCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgMHgzNSwgMHgzMywgMHg0MiwgMHgyNCwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3YywgMHhiMiwgMHgyMywgMHgwYSwgCi0gICAgMHgzYiwgMHg0OSwgMHgzMywgMHgzNSwgMHg1NywgMHg4OSwgMHgzNCwgMHgzNSwgMHg2NywgMHgzNSwgMHg5NSwgMHgzNSwgMHhjMywgMHgzNSwgMHhmMSwgMHgzNiwgCi0gICAgMHgxZiwgMHgzNiwgMHg0ZCwgMHgzNiwgMHg3YiwgMHgzNiwgMHhhOSwgMHgxMiwgMHg0MSwgMHhiYSwgMHhkMiwgMHgyOCwgMHhkMiwgMHgwOCwgMHhjMiwgMHg0MCwgCi0gICAgMHhjMiwgMHg0OCwgMHhjMiwgMHgzOCwgMHhjMiwgMHgzMCwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiOSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHg5OSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhOSwgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgCi0gICAgMHg1ZiwgMHhiNywgMHgwMiwgMHgzNiwgMHhkNywgMHgxMiwgMHg0MSwgMHhkNywgMHhkMiwgMHgyOSwgMHhkMiwgMHgwOSwgMHhjMiwgMHg0MSwgMHhjMiwgMHg0OSwgCi0gICAgMHhjMiwgMHgzOSwgMHhjMiwgMHgzMSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiYSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHg5YiwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhYiwgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgMHg1ZiwgMHhlMCwgCi0gICAgMHgwMiwgMHgzNiwgMHhkNywgMHgxMiwgMHg0MSwgMHhmNCwgMHhkMiwgMHgyYSwgMHhkMiwgMHgwYSwgMHhjMiwgMHg0MiwgMHhjMiwgMHg0YSwgMHhjMiwgMHgzYSwgCi0gICAgMHhjMiwgMHgzMiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiYiwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5ZCwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhZCwgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgMHg2MCwgMHgwOSwgMHgwMiwgMHgzNiwgCi0gICAgMHhkNywgMHgxMiwgMHg0MiwgMHgxMSwgMHhkMiwgMHgyYiwgMHhkMiwgMHgwYiwgMHhjMiwgMHg0MywgMHhjMiwgMHg0YiwgMHhjMiwgMHgzYiwgMHhjMiwgMHgzMywgCi0gICAgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiYywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHg5ZiwgMHg3ZSwgMHgwNCwgCi0gICAgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhZiwgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgMHg2MCwgMHgzMiwgMHgwMiwgMHgzNiwgMHhkNywgMHgxMiwgCi0gICAgMHg0MiwgMHgyZSwgMHhkMiwgMHgyYywgMHhkMiwgMHgwYywgMHhjMiwgMHg0NCwgMHhjMiwgMHg0YywgMHhjMiwgMHgzYywgMHhjMiwgMHgzNCwgMHg2ZCwgMHgwMCwgCi0gICAgMHg3YSwgMHgwMywgMHgwMSwgMHhiZCwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhMSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgCi0gICAgMHg3YSwgMHgwNywgMHgwMSwgMHhiMSwgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgMHg2MCwgMHg1YiwgMHgwMiwgMHgzNiwgMHhkNywgMHgxMiwgMHg0MiwgMHg0YiwgCi0gICAgMHhkMiwgMHgyZCwgMHhkMiwgMHgwZCwgMHhjMiwgMHg0NSwgMHhjMiwgMHg0ZCwgMHhjMiwgMHgzZCwgMHhjMiwgMHgzNSwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgCi0gICAgMHgwMSwgMHhiZSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhMywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgCi0gICAgMHgwMSwgMHhiMywgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgMHg2MCwgMHg4NCwgMHgwMiwgMHgzNiwgMHhkNywgMHgxMiwgMHg0MiwgMHg2OCwgMHhkMiwgMHgyZSwgCi0gICAgMHhkMiwgMHgwZSwgMHhjMiwgMHg0NiwgMHhjMiwgMHg0ZSwgMHhjMiwgMHgzZSwgMHhjMiwgMHgzNiwgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhiZiwgCi0gICAgMHg3ZSwgMHgwNCwgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhNSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiNSwgCi0gICAgMHgxMiwgMHg0MSwgMHgyNywgMHgxMiwgMHg2MCwgMHhhZCwgMHgwMiwgMHgzNiwgMHhkNywgMHgxMiwgMHg0MiwgMHg4NSwgMHhkMiwgMHgyZiwgMHhkMiwgMHgwZiwgCi0gICAgMHhjMiwgMHg0NywgMHhjMiwgMHg0ZiwgMHhjMiwgMHgzZiwgMHhjMiwgMHgzNywgMHg2ZCwgMHgwMCwgMHg3YSwgMHgwMywgMHgwMSwgMHhjMCwgMHg3ZSwgMHgwNCwgCi0gICAgMHgwMCwgMHgyMCwgMHg3YSwgMHgwNywgMHgwMSwgMHhhNywgMHg3ZSwgMHgwNCwgMHgwMCwgMHgzOCwgMHg3YSwgMHgwNywgMHgwMSwgMHhiNywgMHgxMiwgMHg0MSwgCi0gICAgMHgyNywgMHgxMiwgMHg2MCwgMHhkNiwgMHgwMiwgMHgzNiwgMHhkNywgMHg3ZSwgMHhhMCwgMHhkMCwgMHg3ZSwgMHg2MCwgMHgwZiwgMHgxMiwgMHg2MSwgMHgzNiwgCi0gICAgMHg0MCwgMHgwNSwgMHgxMiwgMHg2NCwgMHg4NiwgMHhjMiwgMHhkNywgMHgyMiwgMHg3NSwgMHgyZiwgMHhiMSwgMHgxMiwgMHg3MywgMHgzNSwgMHgwYSwgMHg1MiwgCi0gICAgMHgyMywgMHg2ZCwgMHgwMCwgMHg1OSwgMHgwNSwgMHgwMCwgMHgzMiwgMHgxMiwgMHg0MSwgMHg4MywgMHgxMiwgMHg0MSwgMHg5ZiwgMHhkMCwgMHhhOCwgMHgyMiwgCi0gICAgMHg3NSwgMHgyZiwgMHhiMiwgMHgxMiwgMHg3MywgMHgzNSwgMHgwYSwgMHgyMiwgMHgwOSwgMHhiMiwgMHgzNSwgMHgzMywgMHg0MiwgMHgyMywgMHg3ZSwgMHhiMCwgCi0gICAgMHg5YywgMHgxOSwgMHhiMiwgMHgwMSwgMHhiOSwgMHgxMiwgMHgzMSwgMHg0YywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgCi0gICAgMHgwMiwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgxOSwgCi0gICAgMHgzMCwgMHgwMCwgMHgwYywgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMSwgMHg2OCwgMHgxMiwgMHg0NCwgMHg0MCwgMHhjYSwgMHhiOCwgMHgwOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgxMCwgMHg0NCwgMHgwMiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHhkYSwgMHhiOCwgMHg4MCwgMHgwMiwgMHg1NCwgMHhiZiwgMHg3YywgMHg3NCwgCi0gICAgMHg1ZSwgMHg3MCwgMHgwOCwgMHg2OCwgMHgwNCwgMHg0NCwgMHgwOCwgMHg4MCwgMHgwMiwgMHg1NCwgMHhmNywgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHhjYSwgCi0gICAgMHhiOCwgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHhkYSwgMHhiOCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgxOSwgMHgzMCwgMHgwMCwgCi0gICAgMHgwYywgMHgwYSwgMHg2MiwgMHgwOSwgMHhiNiwgMHgzNSwgMHgzMywgMHgzZSwgMHgyMCwgMHgwYSwgMHg2MiwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMiwgCi0gICAgMHg2OCwgMHgyMCwgMHg0MiwgMHgyNywgMHhjYSwgMHhiOCwgMHg3NCwgMHg2MSwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgxMCwgCi0gICAgMHg1OSwgMHg0NiwgMHgwMSwgMHhhOSwgMHgwOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHg0NCwgMHgwMSwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHhkYSwgMHhiOCwgCi0gICAgMHg4MCwgMHgxMSwgMHhmNCwgMHg1MiwgMHgyNywgMHg3NCwgMHhhMSwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgzOCwgMHg1OSwgCi0gICAgMHg0NiwgMHgwMSwgMHhhOSwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3YywgMHg3NCwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgMHgzMCwgCi0gICAgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgCi0gICAgMHgwMSwgMHg2OCwgMHgwNCwgMHg0NCwgMHg4MCwgMHg4MCwgMHgwMiwgMHg1NCwgMHg3ZiwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwOCwgMHg2OCwgMHgwNCwgCi0gICAgMHg0NCwgMHgwMiwgMHg4MCwgMHgwMiwgMHg1NCwgMHhmZCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwOCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHgwYSwgMHg2MiwgCi0gICAgMHgwOSwgMHhiNiwgMHgzNSwgMHgzMywgMHhhNSwgMHhmZCwgMHhmNCwgMHhhNSwgMHhmZSwgMHhjYSwgMHgyOCwgMHgzZSwgMHgyMCwgMHgwYSwgMHg2MiwgMHhkYSwgCi0gICAgMHgyOCwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMiwgMHg2OCwgMHgxMCwgMHhhNSwgMHhlZCwgMHg0MiwgMHgyOCwgMHg0MiwgMHgyNiwgMHg3ZSwgMHg0NCwgCi0gICAgMHgwMCwgMHgwOCwgMHg1OSwgMHg0NiwgMHgwMSwgMHg5OSwgMHg4MCwgMHgwNCwgMHhhNSwgMHhlZSwgMHg1MiwgMHgyOCwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgCi0gICAgMHgwNCwgMHg2OCwgMHgxMCwgMHhhNSwgMHhlZCwgMHg0MiwgMHgyOSwgMHg0MiwgMHgyNiwgMHg3ZSwgMHg0NCwgMHgwMCwgMHgwOCwgMHg1OSwgMHg0NiwgMHgwMSwgCi0gICAgMHg5OSwgMHg4MCwgMHgxNSwgMHhhNSwgMHhlZSwgMHg1MiwgMHgyOSwgMHg3YywgMHg3NCwgMHg1ZSwgMHg3MCwgMHgwMiwgMHg3OCwgMHgwYSwgMHg1MiwgMHgyNiwgCi0gICAgMHg3ZSwgMHg0NCwgMHgwMCwgMHgyMCwgMHg1OSwgMHg0NiwgMHgwMSwgMHg5OSwgMHgxMiwgMHg0MiwgMHhhMiwgMHhkMCwgMHhhOCwgMHgyMiwgMHg3ZSwgMHgwNCwgCi0gICAgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgxOSwgMHg0MCwgCi0gICAgMHgwMCwgMHgxMCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgMHgwOSwgCi0gICAgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgxOSwgMHg0MCwgMHgwMCwgMHgxOCwgMHgxOSwgMHgzMCwgMHgwMCwgCi0gICAgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhiNSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgMHgwMiwgCi0gICAgMHgwOSwgMHhiMCwgMHgwMCwgMHgwYywgMHg0NCwgMHg0MCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHhlNSwgMHg1OCwgMHhiNCwgMHgwNywgMHgyMywgMHgwOSwgCi0gICAgMHhiMCwgMHgwMCwgMHgxMCwgMHg0ZSwgMHhiMCwgMHgwMiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgxMCwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgCi0gICAgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHg1NCwgMHhmNywgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgzMCwgCi0gICAgMHgwMCwgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhiNiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgwNCwgMHg4MCwgMHgwMCwgMHg0YywgCi0gICAgMHgwMiwgMHhlNSwgMHg1OCwgMHhiNCwgMHgwNywgMHgxOCwgMHgwOSwgMHgzMCwgMHgwMCwgMHgwYywgMHg3NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgCi0gICAgMHgwOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHg0NCwgMHgwOCwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgzMCwgMHgwMCwgMHgwYywgMHgwOSwgMHhiMCwgCi0gICAgMHgwMCwgMHgwYywgMHg1NCwgMHhiZiwgMHgxOSwgMHhiMCwgMHgwMCwgMHgwYywgMHhkMCwgMHhhOCwgMHgyMiwgMHg3NSwgMHgyZiwgMHhiNCwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHgyMSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg0MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHhiMCwgMHgwMSwgCi0gICAgMHg3ZSwgMHhhMCwgMHhjOCwgMHg3YywgMHg2NCwgMHgxMiwgMHg2MSwgMHgzNiwgMHgxMiwgMHg2NCwgMHg4NiwgMHhkMCwgMHhhOCwgMHgyMiwgMHgzOSwgMHgyZSwgCi0gICAgMHgzOSwgMHg3NSwgMHgzOSwgMHhiYywgMHgzYSwgMHgwMywgMHgzYSwgMHg0YSwgMHgzYSwgMHg5MSwgMHgzYSwgMHhkOCwgMHgzYiwgMHgxZiwgMHg3NSwgMHgyZiwgCi0gICAgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg2OSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3OSwgMHgyZCwgMHgyMywgCi0gICAgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgwOCwgMHgyYywgMHgzOCwgMHgwZiwgCi0gICAgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg2OSwgMHg3YSwgMHgyNywgMHgwMSwgMHg3OSwgMHgwMiwgMHg0NiwgMHg0ZiwgMHg3ZSwgCi0gICAgMHgxNCwgMHgwNCwgMHgyZCwgMHg4MCwgMHhlYiwgMHg3NSwgMHgyZiwgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMSwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgCi0gICAgMHg2YiwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3YiwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgCi0gICAgMHgxNCwgMHhiZSwgMHgxNCwgMHgwYywgMHgyYywgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg2YiwgMHg3YSwgCi0gICAgMHgyNywgMHgwMSwgMHg3YiwgMHgwMiwgMHg0OSwgMHg3YywgMHg3ZSwgMHgxNCwgMHgwOCwgMHgyZCwgMHg4MCwgMHhlYiwgMHg3NSwgMHgyZiwgMHg1NSwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgCi0gICAgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg2ZCwgMHg3ZSwgMHgyNywgMHgwMSwgMHg3ZCwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgCi0gICAgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgxMCwgMHgyYywgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgCi0gICAgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg2ZCwgMHg3YSwgMHgyNywgMHgwMSwgMHg3ZCwgMHgwMiwgMHg0YywgMHhhOSwgMHg3ZSwgMHgxNCwgMHgwYywgCi0gICAgMHgyZCwgMHg4MCwgMHhlYiwgMHg3NSwgMHgyZiwgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwMywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgCi0gICAgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg2ZiwgMHg3ZSwgCi0gICAgMHgyNywgMHgwMSwgMHg3ZiwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgCi0gICAgMHgxNCwgMHgxNCwgMHgyYywgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg2ZiwgMHg3YSwgMHgyNywgMHgwMSwgCi0gICAgMHg3ZiwgMHgwMiwgMHg0ZiwgMHhkNiwgMHg3ZSwgMHgxNCwgMHgxMCwgMHgyZCwgMHg4MCwgMHhlYiwgMHg3NSwgMHgyZiwgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3NSwgMHgyZiwgMHgwNCwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgCi0gICAgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg3MSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4MSwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgCi0gICAgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgxOCwgMHgyYywgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgCi0gICAgMHg3YSwgMHgxNywgMHgwMSwgMHg3MSwgMHg3YSwgMHgyNywgMHgwMSwgMHg4MSwgMHgwMiwgMHg1MywgMHgwMywgMHg3ZSwgMHgxNCwgMHgxNCwgMHgyZCwgMHg4MCwgCi0gICAgMHhlYiwgMHg3NSwgMHgyZiwgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwNSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgCi0gICAgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg3MywgMHg3ZSwgMHgyNywgMHgwMSwgCi0gICAgMHg4MywgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgxYywgCi0gICAgMHgyYywgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg3MywgMHg3YSwgMHgyNywgMHgwMSwgMHg4MywgMHgwMiwgCi0gICAgMHg1NiwgMHgzMCwgMHg3ZSwgMHgxNCwgMHgxOCwgMHgyZCwgMHg4MCwgMHhlYiwgMHg3NSwgMHgyZiwgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgCi0gICAgMHgwNiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgCi0gICAgMHg3ZSwgMHgxNywgMHgwMSwgMHg3NSwgMHg3ZSwgMHgyNywgMHgwMSwgMHg4NSwgMHgyZCwgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgCi0gICAgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgyMCwgMHgyYywgMHgzOCwgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgCi0gICAgMHgwMSwgMHg3NSwgMHg3YSwgMHgyNywgMHgwMSwgMHg4NSwgMHgwMiwgMHg1OSwgMHg1ZCwgMHg3ZSwgMHgxNCwgMHgxYywgMHgyZCwgMHg4MCwgMHhlYiwgMHg3NSwgCi0gICAgMHgyZiwgMHg1NSwgMHgxMiwgMHg3MywgMHgzNSwgMHg3NSwgMHgyZiwgMHgwNywgMHgxMiwgMHg3MywgMHgzNSwgMHg3YSwgMHg2MSwgMHgyZiwgMHgxMiwgMHg3MywgCi0gICAgMHgzNSwgMHg3YSwgMHg3MSwgMHgyZiwgMHgxMiwgMHg3MywgMHgzNSwgMHg3ZSwgMHgxNywgMHgwMSwgMHg3NywgMHg3ZSwgMHgyNywgMHgwMSwgMHg4NywgMHgyZCwgCi0gICAgMHgyMywgMHg3ZSwgMHgwOSwgMHhiMCwgMHgwYiwgMHgwNCwgMHg3YSwgMHgxOSwgMHhiMCwgMHgwYiwgMHgxNCwgMHhiZSwgMHgxNCwgMHgyNCwgMHgyYywgMHgzOCwgCi0gICAgMHgwZiwgMHgxYiwgMHgzNCwgMHg3OCwgMHhlYywgMHg3YSwgMHgxNywgMHgwMSwgMHg3NywgMHg3YSwgMHgyNywgMHgwMSwgMHg4NywgMHgwMiwgMHg1YywgMHg4YSwgCi0gICAgMHg3ZSwgMHgxNCwgMHgyMCwgMHgyZCwgMHg4MCwgMHhlYiwgCi0KLS8vIFNlZ21lbnQgIzE1LCBTdGFydCBBZGRyZXNzIDAwZmY0MDAwLCBMZW5ndGggMTMxMDkKLTB4ZmYsMHgwMCwweDAwLDB4NDAsMHgzNSwweDMzLAotICAgIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTQsIDB4N2YsIDB4ZjgsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4MzEsIDB4MGIsIDB4MWEsIAotICAgIDB4NTAsIDB4MWIsIDB4MGEsIDB4NTAsIDB4N2UsIDB4MTQsIDB4NDAsIDB4MWIsIDB4MDIsIDB4NDAsIDB4NzQsIDB4N2UsIDB4ZjgsIDB4MDAsIDB4NTksIDB4NzUsIAotICAgIDB4YjAsIDB4ZGYsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4N2UsIDB4ZjQsIDB4NDAsIDB4MzAsIDB4MDIsIDB4NDAsIDB4OGIsIAotICAgIDB4MTIsIDB4NzQsIDB4NGUsIDB4ZjUsIDB4MmUsIDB4N2EsIDB4YTEsIDB4MmQsIDB4N2EsIDB4MTEsIDB4NTgsIDB4MTIsIDB4NmIsIDB4MDIsIDB4MTIsIDB4NDAsIAotICAgIDB4ZWIsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjAsIDB4MDMsIDB4MTIsIDB4NDMsIDB4NzksIDB4MTIsIDB4NmIsIDB4ZGUsIDB4ZDIsIDB4YWYsIDB4MDIsIAotICAgIDB4MzAsIDB4MDAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4MTgsIDB4NDAsIDB4NjAsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDEsIDB4ODksIDB4MTgsIAotICAgIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIDB4MzUsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIAotICAgIDB4OTMsIDB4MDAsIDB4ODksIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDAsIDB4ZmYsIDB4N2UsIDB4MTgsIDB4NDAsIDB4ODIsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDEsIAotICAgIDB4ODksIDB4MTgsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTMsIDB4MDAsIDB4ODksIDB4MDgsIDB4N2UsIDB4MDgsIDB4MDAsIDB4MjAsIDB4N2UsIAotICAgIDB4NDQsIDB4MDQsIDB4MDAsIDB4N2UsIDB4NDAsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4OWQsIDB4MDIsIDB4NzMsIDB4NTAsIDB4N2UsIDB4MDgsIDB4MDEsIAotICAgIDB4NTksIDB4N2UsIDB4NDQsIDB4MmEsIDB4ZGQsIDB4N2UsIDB4NDAsIDB4MDAsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4YWYsIDB4MDIsIDB4NzMsIDB4NTAsIDB4N2UsIAotICAgIDB4MDgsIDB4MDAsIDB4NTksIDB4N2UsIDB4NDQsIDB4MDEsIDB4MDAsIDB4N2UsIDB4NDAsIDB4NTMsIDB4N2UsIDB4ZTQsIDB4NDAsIDB4YzEsIDB4MDIsIDB4NzMsIAotICAgIDB4NTAsIDB4NzUsIDB4NTcsIDB4MDEsIDB4NzUsIDB4NTYsIDB4MDAsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDgsIDB4NzUsIDB4NTQsIDB4NTgsIDB4NzUsIDB4NTUsIAotICAgIDB4MDgsIDB4NzUsIDB4NTEsIDB4MDgsIDB4NzUsIDB4NTMsIDB4MDEsIDB4NzUsIDB4ODksIDB4MDEsIDB4NzUsIDB4OGEsIDB4MDEsIDB4NzUsIDB4OGMsIDB4MDAsIAotICAgIDB4ZDIsIDB4OGMsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDIsIDB4N2EsIDB4MDUsIDB4NDIsIDB4ODksIDB4ZjQsIDB4NzUsIDB4YjcsIDB4N2YsIDB4NzUsIDB4YjgsIAotICAgIDB4N2YsIDB4NzUsIDB4YjMsIDB4MDEsIDB4NzUsIDB4YjIsIDB4MDEsIDB4ZDIsIDB4YTksIDB4MjIsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4ZTQsIDB4ZDUsIDB4ZTAsIAotICAgIDB4ZmQsIDB4NzUsIDB4YjAsIDB4ZWYsIDB4N2UsIDB4MjQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MTEsIDB4MmUsIDB4N2UsIDB4YTAsIDB4MDgsIDB4MTksIDB4YTIsIAotICAgIDB4MDAsIDB4MTAsIDB4MmUsIDB4MjQsIDB4MDEsIDB4MDAsIDB4YTUsIDB4ZDksIDB4ZjIsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTIsIDB4NDEsIDB4ODMsIDB4MGIsIAotICAgIDB4MjAsIDB4YmUsIDB4MjEsIDB4MmUsIDB4NzgsIDB4ZjYsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4NzQsIDB4YmYsIDB4MTksIAotICAgIDB4YjAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4MTAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NzQsIDB4ODAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4N2UsIAotICAgIDB4NTQsIDB4MDAsIDB4MDIsIDB4MTksIDB4YTAsIDB4MDAsIDB4MDQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4MTksIDB4YjAsIDB4MDAsIAotICAgIDB4MGMsIDB4NzQsIDB4MDcsIDB4MjAsIDB4NjgsIDB4MDIsIDB4NzQsIDB4MGYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MzAsIDB4NmIsIDB4MTcsIDB4NzQsIAotICAgIDB4YmYsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4MjgsIDB4MjAsIDB4NjgsIDB4MDIsIDB4NzQsIDB4MjAsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIAotICAgIDB4NzQsIDB4MDMsIDB4MTksIDB4YjAsIDB4MDAsIDB4MGMsIDB4NzQsIDB4YTcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4NzQsIDB4MGMsIDB4MTksIDB4YjAsIAotICAgIDB4MDAsIDB4MTAsIDB4MjIsIDB4N2UsIDB4MDQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MDIsIDB4ZTQsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDQsIDB4MDksIDB4YjAsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4MDgsIDB4MTksIDB4YjAsIDB4MDAsIDB4MTAsIDB4NzQsIDB4YTcsIDB4MTksIDB4YjAsIDB4MDAsIDB4MDgsIDB4MjIsIDB4N2MsIAotICAgIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NDEsIDB4YWEsIDB4ODksIDB4MjQsIDB4NDEsIDB4YmEsIDB4NDEsIDB4ZDcsIDB4NDEsIDB4ZjQsIAotICAgIDB4NDIsIDB4MTEsIDB4NDIsIDB4MmUsIDB4NDIsIDB4NGIsIDB4NDIsIDB4NjgsIDB4NDIsIDB4ODUsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MTgsIDB4YzIsIDB4MDgsIAotICAgIDB4N2UsIDB4MDQsIDB4MDQsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NTksIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjksIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4NzksIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODksIDB4MjIsIDB4YzIsIDB4MTEsIDB4YzIsIDB4MTksIDB4YzIsIDB4MDksIDB4N2UsIDB4MDQsIDB4MDgsIAotICAgIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NWIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmIsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2IsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4OGIsIDB4MjIsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MWEsIDB4YzIsIDB4MGEsIDB4N2UsIDB4MDQsIDB4MGMsIDB4MmQsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4NWQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmQsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2QsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGQsIAotICAgIDB4MjIsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MWIsIDB4YzIsIDB4MGIsIDB4N2UsIDB4MDQsIDB4MTAsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NWYsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NmYsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4N2YsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OGYsIDB4MjIsIDB4YzIsIDB4MTQsIAotICAgIDB4YzIsIDB4MWMsIDB4YzIsIDB4MGMsIDB4N2UsIDB4MDQsIDB4MTQsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzEsIAotICAgIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTEsIDB4MjIsIDB4YzIsIDB4MTUsIDB4YzIsIDB4MWQsIDB4YzIsIAotICAgIDB4MGQsIDB4N2UsIDB4MDQsIDB4MTgsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzMsIDB4NmQsIDB4MDAsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4ODMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTMsIDB4MjIsIDB4YzIsIDB4MTYsIDB4YzIsIDB4MWUsIDB4YzIsIDB4MGUsIDB4N2UsIDB4MDQsIAotICAgIDB4MWMsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzUsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODUsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4OTUsIDB4MjIsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MWYsIDB4YzIsIDB4MGYsIDB4N2UsIDB4MDQsIDB4MjAsIDB4MmQsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NjcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzcsIDB4NmQsIDB4MDAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4ODcsIDB4N2EsIDB4MDcsIDB4MDEsIAotICAgIDB4OTcsIDB4MjIsIDB4N2MsIDB4YjIsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NDIsIDB4YWQsIDB4ODksIDB4MjQsIDB4NDIsIDB4YmQsIDB4NDIsIAotICAgIDB4ZDQsIDB4NDIsIDB4ZWIsIDB4NDMsIDB4MDIsIDB4NDMsIDB4MTksIDB4NDMsIDB4MzAsIDB4NDMsIDB4NDcsIDB4NDMsIDB4NWUsIDB4MzAsIDB4NDAsIDB4MDcsIAotICAgIDB4MjAsIDB4NTgsIDB4MDQsIDB4YzIsIDB4MjgsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NDgsIDB4MDcsIDB4MjAsIDB4NTAsIDB4MDQsIDB4YzIsIDB4MjgsIDB4ODAsIAotICAgIDB4MDIsIDB4ZDIsIDB4MjgsIDB4MjIsIDB4MzAsIDB4NDEsIDB4MDcsIDB4MjAsIDB4NTksIDB4MDQsIDB4YzIsIDB4MjksIDB4ODAsIDB4MGMsIDB4MzAsIDB4NDksIAotICAgIDB4MDcsIDB4MjAsIDB4NTEsIDB4MDQsIDB4YzIsIDB4MjksIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MjksIDB4MjIsIDB4MzAsIDB4NDIsIDB4MDcsIDB4MjAsIDB4NWEsIAotICAgIDB4MDQsIDB4YzIsIDB4MmEsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGEsIDB4MDcsIDB4MjAsIDB4NTIsIDB4MDQsIDB4YzIsIDB4MmEsIDB4ODAsIDB4MDIsIDB4ZDIsIAotICAgIDB4MmEsIDB4MjIsIDB4MzAsIDB4NDMsIDB4MDcsIDB4MjAsIDB4NWIsIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGIsIDB4MDcsIDB4MjAsIAotICAgIDB4NTMsIDB4MDQsIDB4YzIsIDB4MmIsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmIsIDB4MjIsIDB4MzAsIDB4NDQsIDB4MDcsIDB4MjAsIDB4NWMsIDB4MDQsIDB4YzIsIAotICAgIDB4MmMsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGMsIDB4MDcsIDB4MjAsIDB4NTQsIDB4MDQsIDB4YzIsIDB4MmMsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmMsIDB4MjIsIAotICAgIDB4MzAsIDB4NDUsIDB4MDcsIDB4MjAsIDB4NWQsIDB4MDQsIDB4YzIsIDB4MmQsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGQsIDB4MDcsIDB4MjAsIDB4NTUsIDB4MDQsIAotICAgIDB4YzIsIDB4MmQsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmQsIDB4MjIsIDB4MzAsIDB4NDYsIDB4MDcsIDB4MjAsIDB4NWUsIDB4MDQsIDB4YzIsIDB4MmUsIDB4ODAsIAotICAgIDB4MGMsIDB4MzAsIDB4NGUsIDB4MDcsIDB4MjAsIDB4NTYsIDB4MDQsIDB4YzIsIDB4MmUsIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmUsIDB4MjIsIDB4MzAsIDB4NDcsIAotICAgIDB4MDcsIDB4MjAsIDB4NWYsIDB4MDQsIDB4YzIsIDB4MmYsIDB4ODAsIDB4MGMsIDB4MzAsIDB4NGYsIDB4MDcsIDB4MjAsIDB4NTcsIDB4MDQsIDB4YzIsIDB4MmYsIAotICAgIDB4ODAsIDB4MDIsIDB4ZDIsIDB4MmYsIDB4MjIsIDB4NDQsIDB4NjYsIDB4NDMsIDB4OGEsIDB4YmUsIDB4YjAsIDB4MDIsIDB4NDAsIDB4MDEsIDB4MjIsIDB4MjMsIAotICAgIDB4MGEsIDB4NWIsIDB4NDksIDB4NTUsIDB4NDMsIDB4NzUsIDB4OTksIDB4NTQsIDB4ZDMsIDB4MjIsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTQsIAotICAgIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIDB4MzUsIDB4MTIsIDB4NDQsIDB4N2EsIDB4N2UsIDB4MDQsIDB4MjgsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzEsIAotICAgIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzMsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIAotICAgIDB4N2UsIDB4MDQsIDB4NjYsIDB4N2YsIDB4N2EsIDB4MDUsIDB4NGIsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MTIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIAotICAgIDB4MWUsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTAsIDB4NzQsIDB4NDgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MTMsIDB4NzQsIDB4M2YsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MTQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIAotICAgIDB4MTYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTAsIDB4NzQsIDB4MDgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MTMsIDB4NzQsIDB4M2YsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MTYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4NzQsIAotICAgIDB4MmYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTAsIDB4NzQsIDB4NDgsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MTMsIDB4NzQsIDB4M2YsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4NzQsIDB4MGYsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDcsIDB4MTIsIDB4NDAsIDB4ZmEsIDB4N2UsIDB4MjAsIDB4MDAsIDB4MTIsIDB4NDEsIDB4OWYsIDB4MGIsIDB4MjAsIDB4YmUsIDB4MjEsIAotICAgIDB4MmUsIDB4NzgsIDB4ZjYsIDB4ZDIsIDB4YTgsIDB4MjIsIDB4N2UsIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIAotICAgIDB4MzUsIDB4MTIsIDB4NDQsIDB4N2EsIDB4NzUsIDB4YjAsIDB4ZGYsIDB4YzIsIDB4YTgsIDB4MjIsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIAotICAgIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4MjAsIDB4MDQsIDB4N2MsIDB4YjIsIDB4YzIsIDB4ZDcsIDB4MTMsIDB4MTMsIDB4MTMsIAotICAgIDB4MTMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MTIsIDB4YTUsIDB4ZGEsIDB4ZTUsIDB4MjIsIDB4Y2EsIDB4MDksIDB4MTIsIDB4MzAsIDB4MGUsIDB4MTAsIDB4MDEsIDB4MzQsIDB4ZDUsIDB4NTEsIDB4NDAsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIAotICAgIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MDQsIDB4NjMsIDB4NTMsIDB4MDEsIDB4N2UsIDB4MDAsIDB4NTQsIDB4MmUsIDB4MDEsIDB4NTMsIDB4YTUsIDB4ZTYsIDB4ZjUsIDB4NTEsIDB4ODAsIAotICAgIDB4MTIsIDB4MjAsIDB4MDIsIDB4MWQsIDB4NzUsIDB4NTMsIDB4MDAsIDB4ODUsIDB4NTQsIDB4NTEsIDB4ZDIsIDB4MDIsIDB4NzQsIDB4MDMsIDB4ODAsIDB4MGQsIAotICAgIDB4MzAsIDB4MDIsIDB4MGUsIDB4YzIsIDB4MDIsIDB4N2UsIDB4MDAsIDB4NTYsIDB4MmUsIDB4MDEsIDB4NTMsIDB4YTUsIDB4ZTYsIDB4N2EsIDB4YjMsIDB4OTAsIAotICAgIDB4MDAsIDB4ZGEsIDB4MDksIDB4MzIsIDB4NDUsIDB4NmYsIDB4NDUsIDB4OGIsIDB4NDUsIDB4YTcsIDB4NDUsIDB4YzMsIDB4NDUsIDB4ZGYsIDB4NDUsIDB4ZmIsIAotICAgIDB4NDYsIDB4MTcsIDB4NDYsIDB4MzMsIDB4YzAsIDB4ZDAsIDB4YzAsIDB4ZDEsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIAotICAgIDB4Y2EsIDB4MmIsIDB4ZDIsIDB4MDEsIDB4NzUsIDB4MmYsIDB4ODksIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4OTAsIDB4MDAsIDB4NjAsIDB4MjgsIAotICAgIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MTMsIDB4NTAsIDB4MTMsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4NTksIDB4N2MsIDB4YjAsIAotICAgIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4NDUsIDB4MDQsIDB4OTksIDB4MjQsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4YTUsIDB4MGEsIDB4YTUsIAotICAgIDB4MDgsIDB4YmUsIDB4MDEsIDB4MmUsIDB4NzgsIDB4ZTEsIDB4ODAsIDB4ZDIsIDB4MzAsIDB4MDQsIDB4MDUsIDB4YzIsIDB4MDQsIDB4MTIsIDB4NjQsIDB4ODYsIAotICAgIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ZDEsIDB4ZDAsIDB4ZDAsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIDB4ODAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIAotICAgIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjEsIDB4YWIsIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIDB4ODEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIAotICAgIDB4NjksIDB4NTIsIDB4NjEsIDB4ZWIsIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIAotICAgIDB4ODIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjIsIDB4MmIsIAotICAgIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIDB4ODMsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjIsIDB4NmIsIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIDB4ODQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIAotICAgIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjIsIDB4YWIsIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIAotICAgIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIDB4ODUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIAotICAgIDB4NjksIDB4NTIsIDB4NjIsIDB4ZWIsIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIAotICAgIDB4ODYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIDB4MmIsIAotICAgIDB4ODksIDB4NTQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDgsIDB4MjAsIDB4ZTAsIDB4MTQsIDB4NzUsIDB4MmYsIDB4ODcsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4NTQsIDB4M2UsIDB4MGEsIDB4NWIsIDB4N2UsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4NjksIDB4NTIsIDB4NjMsIDB4NmIsIDB4ODksIDB4NTQsIDB4MjIsIDB4MTAsIAotICAgIDB4MDgsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MjgsIDB4MDMsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIAotICAgIDB4MTQsIDB4ODAsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MjgsIDB4MDMsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NDksIDB4NDUsIDB4MzAsIDB4MzAsIDB4MDYsIDB4MjAsIDB4ZTYsIAotICAgIDB4NGYsIDB4ZDIsIDB4MDgsIDB4MjIsIDB4MzAsIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjAsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzksIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OTksIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzIsIDB4N2EsIDB4MDUsIDB4MzIsIDB4N2EsIDB4MzcsIDB4MDEsIAotICAgIDB4NzksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NTksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MDgsIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIAotICAgIDB4NDcsIDB4MDEsIDB4NTksIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIAotICAgIDB4NjksIDB4ZjAsIDB4MTAsIDB4NjAsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NjAsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4NzksIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OTksIDB4MjgsIDB4MDQsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4OTksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NzksIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzIsIDB4N2EsIAotICAgIDB4MDUsIDB4MzIsIDB4N2EsIDB4MzcsIDB4MDEsIDB4NzksIDB4N2UsIDB4MzcsIDB4MDEsIDB4NTksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIAotICAgIDB4MDgsIDB4MmMsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NTksIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MDgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MDQsIDB4MmQsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NTksIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIAotICAgIDB4MDIsIDB4NDYsIDB4YzIsIDB4MjIsIDB4ZDIsIDB4MDgsIDB4N2UsIDB4MDQsIDB4MDQsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NTksIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4NjksIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIAotICAgIDB4MmYsIDB4OTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIAotICAgIDB4YjgsIDB4NzgsIDB4NjgsIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTksIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIAotICAgIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIAotICAgIDB4M2MsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YTksIDB4MWIsIDB4MzgsIDB4MjAsIAotICAgIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzgsIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTAsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDAsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIAotICAgIDB4YTksIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIAotICAgIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIAotICAgIDB4YzAsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIAotICAgIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDAsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIAotICAgIDB4MzUsIDB4NzUsIDB4MmYsIDB4OTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIAotICAgIDB4MmIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIAotICAgIDB4MzUsIDB4MzAsIDB4N2EsIDB4MzUsIDB4MzAsIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIAotICAgIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIAotICAgIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIAotICAgIDB4MDEsIDB4YzksIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIAotICAgIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIAotICAgIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIAotICAgIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NDgsIDB4MWUsIDB4NzUsIDB4MmYsIAotICAgIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzgsIAotICAgIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTAsIDB4MjIsIDB4ZGEsIDB4YjgsIAotICAgIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NDgsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NDksIAotICAgIDB4NDUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIAotICAgIDB4MDQsIDB4ZDIsIDB4NTgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTAsIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTAsIDB4MTIsIDB4NDIsIDB4YmQsIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIAotICAgIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjEsIDB4MTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIAotICAgIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIAotICAgIDB4MTIsIDB4NjEsIDB4MzYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NDgsIDB4NzIsIDB4NzUsIDB4MmYsIAotICAgIDB4OTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4MTAsIDB4MDksIDB4MDEsIDB4MjIsIAotICAgIDB4MjAsIDB4MjksIDB4MDMsIDB4ZDIsIDB4MDksIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4ODEsIDB4MDAsIAotICAgIDB4ODAsIDB4MDYsIDB4MjAsIDB4MjksIDB4MDMsIDB4ZDIsIDB4MDksIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIAotICAgIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NGMsIDB4NzIsIDB4MzAsIDB4MzEsIDB4MDYsIDB4MjAsIDB4ZTYsIDB4NGYsIDB4ZDIsIDB4MDksIAotICAgIDB4MjIsIDB4MzAsIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWIsIDB4OWQsIDB4MzIsIAotICAgIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzQsIDB4N2EsIDB4MDUsIDB4MzQsIDB4N2EsIDB4MzcsIDB4MDEsIDB4N2IsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4NWIsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MGMsIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWIsIAotICAgIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjksIDB4ZjAsIDB4MTAsIAotICAgIDB4NjEsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NjEsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4N2IsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OWIsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIAotICAgIDB4OWIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2IsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzQsIDB4N2EsIDB4MDUsIDB4MzQsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4N2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NWIsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MGMsIDB4MmMsIDB4MzgsIAotICAgIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWIsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MDIsIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4OWUsIDB4NDQsIDB4MGMsIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MDgsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWIsIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NDksIDB4ZWYsIAotICAgIDB4MjIsIDB4ZDIsIDB4MDksIDB4N2UsIDB4MDQsIDB4MDgsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NWIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmIsIDB4NzUsIAotICAgIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTIsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NjgsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YWIsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIAotICAgIDB4MDQsIDB4MDAsIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2MsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4YzksIDB4N2UsIDB4MjQsIDB4MDEsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YWIsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzksIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDEsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YWIsIDB4OWUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIAotICAgIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIAotICAgIDB4MjQsIDB4MmQsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIAotICAgIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDEsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MmYsIAotICAgIDB4OTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MmIsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4YzksIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MzUsIDB4MzAsIDB4N2EsIAotICAgIDB4MzUsIDB4MzAsIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIAotICAgIDB4MmQsIDB4ODAsIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4Y2YsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIAotICAgIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIAotICAgIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIAotICAgIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NGIsIDB4NGIsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4MzksIDB4MGEsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTEsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIAotICAgIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NGIsIDB4NGIsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NGMsIDB4NzIsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTksIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTksIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTEsIDB4ODAsIDB4MDIsIDB4YzIsIAotICAgIDB4NTEsIDB4MTIsIDB4NDIsIDB4ZDQsIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIAotICAgIDB4MTQsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIAotICAgIDB4NjEsIDB4MTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIDB4Y2EsIDB4YjgsIDB4NWUsIAotICAgIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjEsIDB4MzYsIAotICAgIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NGIsIDB4OWYsIDB4NzUsIDB4MmYsIDB4OTUsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4MTAsIDB4MGEsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmEsIDB4MDMsIAotICAgIDB4ZDIsIDB4MGEsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4ODIsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIAotICAgIDB4MmEsIDB4MDMsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIAotICAgIDB4NjgsIDB4MDMsIDB4MTIsIDB4NGYsIDB4OWYsIDB4MzAsIDB4MzIsIDB4MDYsIDB4MjAsIDB4ZTYsIDB4NGYsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4MzAsIDB4ZTYsIAotICAgIDB4MDIsIDB4ZDIsIDB4NjIsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2QsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIAotICAgIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzYsIDB4N2EsIDB4MDUsIDB4MzYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4N2QsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NWQsIDB4N2QsIAotICAgIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTAsIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWQsIDB4NzUsIDB4MmYsIDB4OTQsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjksIDB4ZjAsIDB4MTAsIDB4NjIsIDB4YzQsIDB4MjIsIAotICAgIDB4YzIsIDB4NjIsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2QsIDB4YmUsIDB4MjQsIAotICAgIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OWQsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWQsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4N2QsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzYsIDB4N2EsIDB4MDUsIDB4MzYsIDB4N2EsIDB4MzcsIDB4MDEsIDB4N2QsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4NWQsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTAsIDB4MmMsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4NWQsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NjksIAotICAgIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MTAsIAotICAgIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MGMsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4NWQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NGQsIDB4MWMsIDB4MjIsIDB4ZDIsIDB4MGEsIAotICAgIDB4N2UsIDB4MDQsIDB4MGMsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NWQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmQsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZDIsIAotICAgIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NjgsIDB4N2UsIDB4MzcsIDB4MDEsIAotICAgIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YWQsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIAotICAgIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIAotICAgIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2MsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4N2UsIAotICAgIDB4MjQsIDB4MDIsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YWQsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIAotICAgIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2EsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTIsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjgsIAotICAgIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDIsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YWQsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIAotICAgIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIAotICAgIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2EsIAotICAgIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIAotICAgIDB4MjMsIDB4NDQsIDB4MDIsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MmYsIDB4OTMsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MmIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIAotICAgIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MzUsIDB4MzAsIDB4N2EsIDB4MzUsIDB4MzAsIDB4MjIsIAotICAgIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MjgsIAotICAgIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIAotICAgIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIAotICAgIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIAotICAgIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIAotICAgIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NGUsIDB4NzgsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2EsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIAotICAgIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTIsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIAotICAgIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NGUsIDB4NzgsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NGYsIDB4OWYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIAotICAgIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWEsIDB4ODAsIDB4MDIsIDB4YzIsIAotICAgIDB4NWEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTIsIDB4MTIsIDB4NDIsIAotICAgIDB4ZWIsIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjEsIDB4MTMsIDB4ZDIsIAotICAgIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIAotICAgIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MDksIDB4YjEsIDB4MDAsIAotICAgIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NGUsIDB4Y2MsIDB4NzUsIDB4MmYsIDB4OTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIAotICAgIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4MTAsIDB4MGIsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmIsIDB4MDMsIDB4ZDIsIDB4MGIsIDB4MjIsIAotICAgIDB4NzUsIDB4MmYsIDB4YTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4ODMsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmIsIDB4MDMsIDB4ZDIsIAotICAgIDB4MGIsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIAotICAgIDB4NTIsIDB4Y2MsIDB4MzAsIDB4MzMsIDB4MDYsIDB4MjAsIDB4ZTYsIDB4NGYsIDB4ZDIsIDB4MGIsIDB4MjIsIDB4MzAsIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjMsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2YsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWYsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIAotICAgIDB4MzgsIDB4N2EsIDB4MDUsIDB4MzgsIDB4N2EsIDB4MzcsIDB4MDEsIDB4N2YsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NWYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIAotICAgIDB4YmUsIDB4NDQsIDB4MTQsIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWYsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjksIDB4ZjAsIDB4MTAsIDB4NjMsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NjMsIDB4MmQsIAotICAgIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4N2YsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIAotICAgIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4OWYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4OWYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4N2YsIDB4OWQsIAotICAgIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzgsIDB4N2EsIDB4MDUsIDB4MzgsIDB4N2EsIDB4MzcsIDB4MDEsIDB4N2YsIDB4N2UsIDB4MzcsIDB4MDEsIAotICAgIDB4NWYsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTQsIDB4MmMsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWYsIDB4NzUsIAotICAgIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIAotICAgIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MTQsIDB4MmQsIDB4OWQsIDB4MjQsIAotICAgIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MTAsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NWYsIDB4MTIsIAotICAgIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTAsIDB4NDksIDB4MjIsIDB4ZDIsIDB4MGIsIDB4N2UsIDB4MDQsIDB4MTAsIAotICAgIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NWYsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NmYsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIAotICAgIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NjgsIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIAotICAgIDB4MDEsIDB4YWYsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIAotICAgIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIAotICAgIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2MsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4MjQsIDB4MDMsIDB4MDAsIAotICAgIDB4MmUsIDB4MjcsIDB4MDEsIDB4YWYsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIAotICAgIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2IsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIAotICAgIDB4MTMsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIAotICAgIDB4N2UsIDB4NjQsIDB4MDMsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YWYsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIAotICAgIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIAotICAgIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIAotICAgIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDMsIAotICAgIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MmYsIDB4OTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MmIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIAotICAgIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MzUsIDB4MzAsIDB4N2EsIDB4MzUsIDB4MzAsIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIAotICAgIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIAotICAgIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIAotICAgIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIAotICAgIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIAotICAgIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIAotICAgIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NTEsIDB4YTUsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIAotICAgIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2IsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIAotICAgIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTMsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIAotICAgIDB4MTIsIDB4NTEsIDB4YTUsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTIsIDB4Y2MsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIAotICAgIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIAotICAgIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWIsIDB4YTUsIDB4ZmQsIAotICAgIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTMsIDB4MTIsIDB4NDMsIDB4MDIsIDB4MDIsIDB4NjEsIAotICAgIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjEsIDB4MTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIAotICAgIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIAotICAgIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIAotICAgIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTEsIDB4ZjksIDB4NzUsIDB4MmYsIDB4OTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MjIsIDB4MTAsIDB4MGMsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmMsIDB4MDMsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTQsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4ODQsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmMsIDB4MDMsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NTUsIDB4ZjksIDB4MzAsIAotICAgIDB4MzQsIDB4MDYsIDB4MjAsIDB4ZTYsIDB4NGYsIDB4ZDIsIDB4MGMsIDB4MjIsIDB4MzAsIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjQsIDB4N2UsIDB4MzcsIDB4MDEsIAotICAgIDB4ODEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTEsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4M2EsIDB4N2EsIDB4MDUsIAotICAgIDB4M2EsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ODEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjEsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTgsIAotICAgIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjEsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjksIDB4ZjAsIDB4MTAsIDB4NjQsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NjQsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIAotICAgIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODEsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIAotICAgIDB4MDEsIDB4YTEsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ODEsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIAotICAgIDB4MmUsIDB4MDUsIDB4M2EsIDB4N2EsIDB4MDUsIDB4M2EsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ODEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjEsIDB4N2QsIDB4NDMsIAotICAgIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MTgsIDB4MmMsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjEsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MTgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIAotICAgIDB4N2UsIDB4MzQsIDB4MTQsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjEsIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIAotICAgIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTMsIDB4NzYsIDB4MjIsIDB4ZDIsIDB4MGMsIDB4N2UsIDB4MDQsIDB4MTQsIDB4MmQsIDB4N2EsIDB4MDcsIAotICAgIDB4MDEsIDB4NjEsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzEsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIAotICAgIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NjgsIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjEsIDB4MmUsIAotICAgIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIAotICAgIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIAotICAgIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2MsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4MjQsIDB4MDQsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIAotICAgIDB4YjEsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIAotICAgIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIAotICAgIDB4M2MsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTQsIDB4MjIsIDB4ODAsIAotICAgIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDQsIAotICAgIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YjEsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIAotICAgIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIAotICAgIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIAotICAgIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDQsIDB4N2EsIDB4NjksIDB4YjAsIAotICAgIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MmYsIDB4OTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MmIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIAotICAgIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MzUsIDB4MzAsIDB4N2EsIDB4MzUsIDB4MzAsIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIAotICAgIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIAotICAgIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIAotICAgIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIAotICAgIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIAotICAgIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIAotICAgIDB4NTQsIDB4ZDIsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIAotICAgIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2MsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIAotICAgIDB4MTQsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTQsIDB4ZDIsIAotICAgIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NTUsIDB4ZjksIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIAotICAgIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTQsIDB4MTIsIDB4NDMsIDB4MTksIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIAotICAgIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIAotICAgIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjEsIDB4MTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIAotICAgIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIAotICAgIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIAotICAgIDB4NTUsIDB4MjYsIDB4NzUsIDB4MmYsIDB4OTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIAotICAgIDB4MTAsIDB4MGQsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmQsIDB4MDMsIDB4ZDIsIDB4MGQsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTUsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2UsIDB4MTQsIDB4ODUsIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmQsIDB4MDMsIDB4ZDIsIDB4MGQsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIAotICAgIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NTksIDB4MjYsIDB4MzAsIDB4MzUsIDB4MDYsIDB4MjAsIAotICAgIDB4ZTYsIDB4NGYsIDB4ZDIsIDB4MGQsIDB4MjIsIDB4MzAsIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ODMsIDB4N2UsIDB4MjcsIAotICAgIDB4MDEsIDB4YTMsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4M2MsIDB4N2EsIDB4MDUsIDB4M2MsIDB4N2EsIDB4MzcsIAotICAgIDB4MDEsIDB4ODMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MWMsIDB4MmMsIDB4MzgsIDB4NjgsIAotICAgIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4MTIsIDB4NjksIDB4ZjAsIDB4MTAsIDB4NjUsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NjUsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIAotICAgIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODMsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YTMsIDB4MjgsIAotICAgIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ODMsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4M2MsIAotICAgIDB4N2EsIDB4MDUsIDB4M2MsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ODMsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIAotICAgIDB4NDQsIDB4MWMsIDB4MmMsIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIAotICAgIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MWMsIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MTgsIAotICAgIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjMsIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIAotICAgIDB4MDMsIDB4MDIsIDB4NTYsIDB4YTMsIDB4MjIsIDB4ZDIsIDB4MGQsIDB4N2UsIDB4MDQsIDB4MTgsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjMsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4NzMsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIAotICAgIDB4NzUsIDB4MmYsIDB4OTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIAotICAgIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NjgsIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjMsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIAotICAgIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIAotICAgIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIAotICAgIDB4MzgsIDB4M2MsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4MjQsIDB4MDUsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YjMsIDB4MWIsIDB4MzgsIAotICAgIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2QsIDB4MGEsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDUsIDB4MDAsIDB4MmUsIDB4NjcsIAotICAgIDB4MDEsIDB4YjMsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIAotICAgIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIAotICAgIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIAotICAgIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDUsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIAotICAgIDB4MGIsIDB4MzUsIDB4NzUsIDB4MmYsIDB4OTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIAotICAgIDB4NjgsIDB4MmIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIAotICAgIDB4MmUsIDB4MzUsIDB4MzAsIDB4N2EsIDB4MzUsIDB4MzAsIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIAotICAgIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIAotICAgIDB4MmQsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIAotICAgIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIAotICAgIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIAotICAgIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIAotICAgIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NTcsIDB4ZmYsIDB4NzUsIAotICAgIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIAotICAgIDB4M2QsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTUsIDB4MjIsIDB4ZGEsIAotICAgIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NTcsIDB4ZmYsIDB4ZGEsIDB4YjgsIDB4MDIsIAotICAgIDB4NTksIDB4MjYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIAotICAgIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NTUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTUsIDB4MTIsIDB4NDMsIDB4MzAsIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIAotICAgIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjEsIDB4MTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIAotICAgIDB4MTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIAotICAgIDB4MDAsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NTgsIDB4NTMsIDB4NzUsIAotICAgIDB4MmYsIDB4OTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4MTAsIDB4MGUsIDB4MDEsIAotICAgIDB4MjIsIDB4MjAsIDB4MmUsIDB4MDMsIDB4ZDIsIDB4MGUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4ODYsIAotICAgIDB4MDAsIDB4ODAsIDB4MDYsIDB4MjAsIDB4MmUsIDB4MDMsIDB4ZDIsIDB4MGUsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIAotICAgIDB4YjAsIDB4MWUsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NWMsIDB4NTMsIDB4MzAsIDB4MzYsIDB4MDYsIDB4MjAsIDB4ZTYsIDB4NGYsIDB4ZDIsIAotICAgIDB4MGUsIDB4MjIsIDB4MzAsIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjYsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ODUsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTUsIDB4OWQsIAotICAgIDB4MzIsIDB4NDAsIDB4MzEsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4M2UsIDB4N2EsIDB4MDUsIDB4M2UsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ODUsIDB4N2UsIAotICAgIDB4MzcsIDB4MDEsIDB4NjUsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjAsIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIAotICAgIDB4NjUsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjksIDB4ZjAsIAotICAgIDB4MTAsIDB4NjYsIDB4YzQsIDB4MjIsIDB4YzIsIDB4NjYsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIAotICAgIDB4MDEsIDB4ODUsIDB4YmUsIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YTUsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIAotICAgIDB4MDEsIDB4YTUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ODUsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4M2UsIDB4N2EsIDB4MDUsIDB4M2UsIAotICAgIDB4N2EsIDB4MzcsIDB4MDEsIDB4ODUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjUsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjAsIDB4MmMsIAotICAgIDB4MzgsIDB4MTMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjUsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MDIsIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjAsIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MWMsIDB4MmQsIDB4N2QsIDB4MjQsIAotICAgIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjUsIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NTksIAotICAgIDB4ZDAsIDB4MjIsIDB4ZDIsIDB4MGUsIDB4N2UsIDB4MDQsIDB4MWMsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjUsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzUsIAotICAgIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTIsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIAotICAgIDB4NjgsIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjUsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIAotICAgIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MzcsIDB4MDEsIAotICAgIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2MsIDB4N2EsIAotICAgIDB4NDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4MjQsIDB4MDYsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YjUsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIAotICAgIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2UsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTYsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDYsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YjUsIDB4OWUsIAotICAgIDB4MjQsIDB4MDAsIDB4MDIsIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIDB4MzQsIDB4MjQsIAotICAgIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIAotICAgIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIAotICAgIDB4NTQsIDB4MGYsIDB4MjMsIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDYsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIAotICAgIDB4MmYsIDB4OTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MmIsIDB4N2EsIAotICAgIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MzUsIDB4MzAsIAotICAgIDB4N2EsIDB4MzUsIDB4MzAsIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIAotICAgIDB4MjQsIDB4MmQsIDB4ODAsIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4Y2YsIAotICAgIDB4N2UsIDB4MDcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIAotICAgIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIAotICAgIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIAotICAgIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIAotICAgIDB4N2EsIDB4MDksIDB4YjAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NWIsIDB4MmMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2UsIDB4MGEsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTYsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIAotICAgIDB4ZDgsIDB4YmQsIDB4MzIsIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NWIsIDB4MmMsIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NWMsIDB4NTMsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIAotICAgIDB4NWUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTYsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NTYsIDB4MTIsIDB4NDMsIDB4NDcsIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIAotICAgIDB4MDIsIDB4NjEsIDB4MTMsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIDB4Y2EsIDB4YjgsIAotICAgIDB4NWUsIDB4YjAsIDB4MWMsIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjEsIAotICAgIDB4MzYsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NWIsIDB4ODAsIDB4NzUsIDB4MmYsIDB4OTUsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4MTAsIDB4MGYsIDB4MDEsIDB4MjIsIDB4MjAsIDB4MmYsIAotICAgIDB4MDMsIDB4ZDIsIDB4MGYsIDB4MjIsIDB4NzUsIDB4MmYsIDB4YTcsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4ODcsIDB4MDAsIDB4ODAsIDB4MDYsIAotICAgIDB4MjAsIDB4MmYsIDB4MDMsIDB4ZDIsIDB4MGYsIDB4MjIsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWUsIDB4ZGEsIAotICAgIDB4YjgsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NWYsIDB4ODAsIDB4MzAsIDB4MzcsIDB4MDYsIDB4MjAsIDB4ZTYsIDB4NGYsIDB4ZDIsIDB4MGYsIDB4MjIsIDB4MzAsIAotICAgIDB4ZTYsIDB4MDIsIDB4ZDIsIDB4NjcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4ODcsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTcsIDB4OWQsIDB4MzIsIDB4NDAsIDB4MzEsIAotICAgIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDAsIDB4N2EsIDB4MDUsIDB4NDAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4ODcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjcsIAotICAgIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjQsIDB4MmMsIDB4MzgsIDB4NjgsIDB4N2EsIDB4NDcsIDB4MDEsIDB4NjcsIDB4NzUsIDB4MmYsIAotICAgIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjksIDB4ZjAsIDB4MTAsIDB4NjcsIDB4YzQsIAotICAgIDB4MjIsIDB4YzIsIDB4NjcsIDB4MmQsIDB4MjMsIDB4NjgsIDB4NzgsIDB4NmQsIDB4MzMsIDB4ODAsIDB4MWEsIDB4N2UsIDB4MjcsIDB4MDEsIDB4ODcsIDB4YmUsIAotICAgIDB4MjQsIDB4MDAsIDB4MDAsIDB4NjgsIDB4NmEsIDB4YmUsIDB4MjcsIDB4MDEsIDB4YTcsIDB4MjgsIDB4MDQsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YTcsIDB4N2UsIAotICAgIDB4MzcsIDB4MDEsIDB4ODcsIDB4OWQsIDB4MzIsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4NDAsIDB4N2EsIDB4MDUsIDB4NDAsIDB4N2EsIDB4MzcsIDB4MDEsIAotICAgIDB4ODcsIDB4N2UsIDB4MzcsIDB4MDEsIDB4NjcsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjQsIDB4MmMsIDB4MzgsIDB4MTMsIDB4N2EsIAotICAgIDB4NDcsIDB4MDEsIDB4NjcsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIAotICAgIDB4NjksIDB4ZjAsIDB4NzUsIDB4MmYsIDB4OTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIAotICAgIDB4MjQsIDB4MmQsIDB4OWQsIDB4MjQsIDB4MTIsIDB4NjksIDB4ZjAsIDB4N2UsIDB4MzQsIDB4MjAsIDB4MmQsIDB4N2QsIDB4MjQsIDB4MmQsIDB4NDMsIDB4N2EsIAotICAgIDB4NDcsIDB4MDEsIDB4NjcsIDB4MTIsIDB4NjksIDB4ZjAsIDB4YmUsIDB4MjUsIDB4MjAsIDB4NzgsIDB4MDMsIDB4MDIsIDB4NWMsIDB4ZmQsIDB4MjIsIDB4ZDIsIAotICAgIDB4MGYsIDB4N2UsIDB4MDQsIDB4MjAsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NjcsIDB4N2EsIDB4MDcsIDB4MDEsIDB4NzcsIDB4NzUsIDB4MmYsIDB4OTQsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzUsIDB4MmYsIDB4MDAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OTIsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4ODIsIDB4ZGEsIDB4YjgsIDB4NzgsIDB4NjgsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjcsIDB4MDEsIDB4YjcsIDB4MmUsIDB4MjQsIDB4MDAsIDB4MDIsIDB4MmQsIDB4MzIsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIAotICAgIDB4MzgsIDB4MzQsIDB4N2QsIDB4MDIsIDB4MmUsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MDUsIDB4MzAsIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIAotICAgIDB4MDEsIDB4YzksIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDIsIDB4YmUsIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2MsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIAotICAgIDB4N2UsIDB4MjQsIDB4MDcsIDB4MDAsIDB4MmUsIDB4MjcsIDB4MDEsIDB4YjcsIDB4MWIsIDB4MzgsIDB4MjAsIDB4MGIsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDIsIDB4NmEsIDB4NjMsIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MDQsIAotICAgIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2YsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIDB4NTQsIDB4ZmUsIDB4MTksIAotICAgIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTcsIDB4MjIsIDB4ODAsIDB4N2YsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIAotICAgIDB4MjgsIDB4MmQsIDB4OWQsIDB4MjQsIDB4N2UsIDB4NjQsIDB4MDcsIDB4MDAsIDB4MmUsIDB4NjcsIDB4MDEsIDB4YjcsIDB4OWUsIDB4MjQsIDB4MDAsIDB4MDIsIAotICAgIDB4NDAsIDB4MTcsIDB4MWIsIDB4MzgsIDB4NjAsIDB4MGIsIDB4MzUsIDB4MTIsIDB4NmEsIDB4NjMsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIDB4MjQsIAotICAgIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzksIDB4MDIsIDB4NmEsIDB4NjMsIDB4N2EsIDB4MzksIDB4YzAsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIAotICAgIDB4N2EsIDB4MzksIDB4ZDAsIDB4MGIsIDB4MzQsIDB4MWIsIDB4NDQsIDB4ODAsIDB4ZTUsIDB4OWQsIDB4MzIsIDB4N2MsIDB4YjYsIDB4NTQsIDB4MGYsIDB4MjMsIAotICAgIDB4MjMsIDB4MjMsIDB4NDQsIDB4MDcsIDB4N2EsIDB4NjksIDB4YjAsIDB4N2EsIDB4NzksIDB4NzAsIDB4MGIsIDB4MzUsIDB4NzUsIDB4MmYsIDB4OTMsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YmQsIDB4MDQsIDB4NjgsIDB4MmIsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIAotICAgIDB4N2UsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4Y2IsIDB4MmUsIDB4MzUsIDB4MzAsIDB4N2EsIDB4MzUsIDB4MzAsIAotICAgIDB4MjIsIDB4ZDIsIDB4MDQsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4MTMsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIAotICAgIDB4MjgsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4MmEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDcsIDB4MDEsIAotICAgIDB4Y2IsIDB4N2UsIDB4MjQsIDB4MDMsIDB4ZmUsIDB4OWQsIDB4MjAsIDB4MjgsIDB4NDAsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2UsIDB4NDQsIDB4MjgsIAotICAgIDB4MmQsIDB4N2QsIDB4NjAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIDB4ZDIsIDB4N2QsIDB4NzAsIDB4MGIsIDB4MDQsIDB4YmQsIDB4MDQsIDB4NjgsIAotICAgIDB4ZDAsIDB4N2QsIDB4NTQsIDB4OWQsIDB4NTAsIDB4YmQsIDB4MjUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MjUsIDB4N2QsIDB4MzIsIDB4MDksIDB4YjEsIDB4MDAsIAotICAgIDB4MTQsIDB4Y2EsIDB4YjgsIDB4NTQsIDB4MWYsIDB4YjQsIDB4MDEsIDB4MzEsIDB4ZGEsIDB4YjgsIDB4N2UsIDB4MTksIDB4YjAsIDB4N2EsIDB4MDksIDB4YjAsIAotICAgIDB4MGIsIDB4MDQsIDB4MWIsIDB4MjQsIDB4NzgsIDB4ZTcsIDB4MDIsIDB4NWUsIDB4NTksIDB4NzUsIDB4MmYsIDB4OTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MDQsIDB4NTQsIDB4ZmEsIDB4MTksIDB4YjEsIDB4MDAsIDB4MDQsIDB4MzAsIDB4M2YsIDB4MGEsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTAsIAotICAgIDB4NTQsIDB4ZmUsIDB4MTksIDB4YjEsIDB4MDAsIDB4MTAsIDB4ZDIsIDB4MTcsIDB4MjIsIDB4ZGEsIDB4YjgsIDB4MzAsIDB4ZTAsIDB4ZDgsIDB4YmQsIDB4MzIsIAotICAgIDB4NjgsIDB4MDcsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NWUsIDB4NTksIDB4ZGEsIDB4YjgsIDB4MDIsIDB4NWYsIDB4ODAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIAotICAgIDB4N2UsIDB4YTAsIDB4ODgsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YTUsIDB4ZmQsIAotICAgIDB4NWUsIDB4NTAsIDB4MGEsIDB4NjgsIDB4MWQsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWYsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NWYsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTcsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTcsIDB4MTIsIAotICAgIDB4NDMsIDB4NWUsIDB4MDIsIDB4NjEsIDB4MTMsIDB4NzUsIDB4MmYsIDB4OTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTQsIDB4N2EsIAotICAgIDB4YjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDgsIDB4ZDIsIDB4MDQsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MDIsIDB4NjEsIDB4MTMsIAotICAgIDB4ZDIsIDB4MDQsIDB4MzAsIDB4ZTEsIDB4MDYsIDB4N2UsIDB4YTAsIDB4ODAsIDB4MTIsIDB4NjEsIDB4MTMsIDB4Y2EsIDB4YjgsIDB4NWUsIDB4YjAsIDB4MWMsIAotICAgIDB4ZGEsIDB4YjgsIDB4NjgsIDB4MTIsIDB4N2UsIDB4YTAsIDB4YzAsIDB4MDksIDB4NjEsIDB4MDAsIDB4MDAsIDB4MTIsIDB4NjEsIDB4MzYsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTQsIDB4MjAsIDB4ZTAsIDB4ZGIsIDB4MjIsIDB4MDIsIDB4NWUsIDB4YWQsIDB4NzUsIDB4MmYsIDB4OTUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIAotICAgIDB4NzUsIDB4MmYsIDB4OTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjIsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIAotICAgIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTgsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTAsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTAsIDB4MDIsIDB4NjAsIDB4ZmYsIAotICAgIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIAotICAgIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTksIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTksIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIAotICAgIDB4ZDIsIDB4NTEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTEsIDB4MDIsIDB4NjAsIDB4ZmYsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIAotICAgIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWEsIDB4ODAsIDB4MDIsIAotICAgIDB4YzIsIDB4NWEsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTIsIDB4MDIsIAotICAgIDB4NjAsIDB4ZmYsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIAotICAgIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWIsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWIsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIAotICAgIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTMsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTMsIDB4MDIsIDB4NjAsIDB4ZmYsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIAotICAgIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWMsIAotICAgIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWMsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTQsIDB4ODAsIDB4MDIsIDB4YzIsIAotICAgIDB4NTQsIDB4MDIsIDB4NjAsIDB4ZmYsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIAotICAgIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWQsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWQsIDB4YTUsIDB4ZmQsIDB4NWUsIAotICAgIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTUsIDB4MDIsIDB4NjAsIDB4ZmYsIDB4N2MsIDB4MDIsIDB4N2UsIAotICAgIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIAotICAgIDB4ZDIsIDB4NWUsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWUsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTYsIDB4ODAsIAotICAgIDB4MDIsIDB4YzIsIDB4NTYsIDB4MDIsIDB4NjAsIDB4ZmYsIDB4N2MsIDB4MDIsIDB4N2UsIDB4MTQsIDB4ODAsIDB4MDAsIDB4NGMsIDB4MjAsIDB4MDksIDB4YjEsIAotICAgIDB4MDAsIDB4MTgsIDB4YTUsIDB4ZmQsIDB4NWUsIDB4NTAsIDB4MjAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NWYsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NWYsIDB4YTUsIAotICAgIDB4ZmQsIDB4NWUsIDB4NTAsIDB4ODAsIDB4NjgsIDB4MDQsIDB4ZDIsIDB4NTcsIDB4ODAsIDB4MDIsIDB4YzIsIDB4NTcsIDB4MDIsIDB4NjAsIDB4ZmYsIDB4NTQsIAotICAgIDB4ZjAsIDB4YzQsIDB4YTUsIDB4ZmYsIDB4YzQsIDB4YTUsIDB4NGYsIDB4NzUsIDB4MmYsIDB4OTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ZjUsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MjIsIDB4Y2EsIDB4MTksIDB4NWUsIDB4MjAsIDB4MDcsIDB4NGMsIDB4YTIsIDB4N2UsIDB4NzQsIDB4MmMsIDB4MmQsIDB4Y2EsIDB4NzksIAotICAgIDB4N2EsIDB4NzksIDB4YTAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4YjAsIDB4MGIsIDB4NzQsIDB4ZGEsIDB4NzksIDB4N2UsIDB4MzAsIDB4MDIsIDB4N2UsIAotICAgIDB4NjQsIDB4MDAsIDB4MDIsIDB4MDIsIDB4NjEsIDB4NWUsIDB4Y2EsIDB4MTksIDB4NWUsIDB4MjAsIDB4MDcsIDB4NGMsIDB4YTIsIDB4N2UsIDB4NzQsIDB4MmMsIAotICAgIDB4MmQsIDB4Y2EsIDB4NzksIDB4N2EsIDB4NzksIDB4YTAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4YjAsIDB4MGIsIDB4NzQsIDB4N2EsIDB4NzksIDB4NjAsIAotICAgIDB4MGIsIDB4NzQsIDB4ZGEsIDB4NzksIDB4N2UsIDB4MzAsIDB4MDMsIDB4N2UsIDB4NjQsIDB4MDAsIDB4MDMsIDB4MDIsIDB4NjEsIDB4NWUsIDB4ZDIsIDB4MDQsIAotICAgIDB4N2UsIDB4MjcsIDB4MDEsIDB4Y2IsIDB4MmQsIDB4MjYsIDB4YmUsIDB4MjQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MmUsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzksIAotICAgIDB4N2UsIDB4NDQsIDB4MjgsIDB4MmQsIDB4N2UsIDB4NzksIDB4YTAsIDB4N2EsIDB4MDksIDB4YTAsIDB4MGIsIDB4MDQsIDB4MGIsIDB4NzQsIDB4YmQsIDB4MDQsIAotICAgIDB4NjgsIDB4MjMsIDB4YTUsIDB4ZGIsIDB4ZWYsIDB4N2EsIDB4MjcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MjUsIDB4MzAsIDB4MmQsIDB4MjYsIDB4N2EsIDB4MjUsIAotICAgIDB4MzAsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4ZGEsIDB4MTksIDB4YzIsIDB4ZDcsIDB4MjIsIDB4NzUsIDB4MmYsIDB4OWEsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4ZGEsIDB4MTksIDB4ZDIsIDB4ZDcsIDB4MjIsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4ODAsIDB4ZDcsIDB4NDgsIDB4ZjEsIDB4NDYsIDB4NjUsIDB4NDcsIAotICAgIDB4NWYsIDB4NDksIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDgsIDB4NTYsIDB4NDUsIDB4MmEsIDB4NDksIDB4NmUsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDksIDB4NzUsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NGMsIDB4MWUsIDB4NDksIDB4OTIsIDB4NGEsIAotICAgIDB4OGMsIDB4NGMsIDB4NTcsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NGIsIDB4ODMsIDB4NDUsIDB4MmEsIDB4NGMsIDB4OWIsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NGMsIDB4YTIsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NGYsIDB4NGIsIDB4NGMsIDB4YmYsIDB4NGQsIAotICAgIDB4YjksIDB4NGYsIDB4ODQsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NGUsIDB4YjAsIDB4NDUsIDB4MmEsIDB4NGYsIDB4YzgsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NGYsIDB4Y2YsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTIsIDB4NzgsIDB4NGYsIDB4ZWMsIDB4NTAsIAotICAgIDB4ZTYsIDB4NTIsIDB4YjEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTEsIDB4ZGQsIDB4NDUsIDB4MmEsIDB4NTIsIDB4ZjUsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTIsIDB4ZmMsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTUsIDB4YTUsIDB4NTMsIDB4MTksIDB4NTQsIAotICAgIDB4MTMsIDB4NTUsIDB4ZGUsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTUsIDB4MGEsIDB4NDUsIDB4MmEsIDB4NTYsIDB4MjIsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTYsIDB4MjksIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTgsIDB4ZDIsIDB4NTYsIDB4NDYsIDB4NTcsIAotICAgIDB4NDAsIDB4NTksIDB4MGIsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTgsIDB4MzcsIDB4NDUsIDB4MmEsIDB4NTksIDB4NGYsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NTksIDB4NTYsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NWIsIDB4ZmYsIDB4NTksIDB4NzMsIDB4NWEsIAotICAgIDB4NmQsIDB4NWMsIDB4MzgsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NWIsIDB4NjQsIDB4NDUsIDB4MmEsIDB4NWMsIDB4N2MsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NWMsIDB4ODMsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NWYsIDB4MmMsIDB4NWMsIDB4YTAsIDB4NWQsIAotICAgIDB4OWEsIDB4NWYsIDB4NjUsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NWUsIDB4OTEsIDB4NDUsIDB4MmEsIDB4NWYsIDB4YTksIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NWYsIDB4YjAsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIAotICAgIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4NDUsIDB4MmEsIDB4Y2EsIDB4YjgsIDB4NzUsIDB4MmYsIDB4MDIsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDMsIDB4MjAsIDB4ZTUsIDB4MjAsIDB4MzAsIDB4ZTAsIDB4MDUsIDB4MTIsIDB4NmIsIDB4MDUsIAotICAgIDB4ODAsIDB4MzAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4MTIsIDB4NjQsIDB4ODYsIDB4ODAsIDB4MjgsIDB4MzAsIDB4ZTIsIDB4MDUsIDB4MTIsIDB4NjMsIDB4ZjUsIAotICAgIDB4ODAsIDB4MjAsIDB4MzAsIDB4ZTMsIDB4MWQsIDB4MTIsIDB4NjUsIDB4NjEsIDB4ODAsIDB4MTgsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MzAsIDB4ZTEsIAotICAgIDB4MDMsIDB4MDIsIDB4NjcsIDB4NWYsIDB4MzAsIDB4ZTYsIDB4MDUsIDB4MTIsIDB4NmMsIDB4NmEsIDB4ODAsIDB4MDYsIDB4MjAsIDB4ZTIsIDB4MDMsIDB4MDIsIAotICAgIDB4MDAsIDB4ODAsIDB4ZGEsIDB4YjgsIDB4MzIsIDB4NzUsIDB4MmYsIDB4MTAsIDB4MTIsIDB4NzMsIDB4MzUsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MzksIDB4Y2EsIAotICAgIDB4NTksIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4NmMsIDB4YWEsIDB4YmUsIDB4YjAsIDB4NDAsIAotICAgIDB4MjgsIDB4MGEsIDB4MTIsIDB4NjQsIDB4MjQsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MzksIDB4ZGEsIDB4MGIsIDB4MjIsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTQsIDB4ODAsIDB4ZjEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzUsIDB4MmQsIDB4MzUsIDB4YmUsIDB4MzQsIDB4MDQsIDB4MDAsIDB4MzgsIDB4MmYsIAotICAgIDB4N2EsIDB4MzcsIDB4MDEsIDB4YzUsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzMsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDUsIDB4YmUsIDB4NDQsIDB4MmMsIDB4MmMsIAotICAgIDB4MzgsIDB4MjUsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzMsIDB4NzUsIDB4MmYsIDB4MTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4YjEsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MTIsIDB4NjcsIDB4OWYsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MTIsIDB4NjYsIDB4MzAsIDB4MjIsIDB4NzUsIAotICAgIDB4MmYsIDB4MTYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ODAsIDB4ZjQsIDB4NzUsIDB4MmYsIDB4MTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4YjEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4OWUsIDB4NDQsIDB4MmMsIDB4MmQsIDB4OWQsIDB4NTQsIDB4MTIsIDB4NjcsIDB4OWYsIDB4N2UsIDB4MzQsIDB4MjgsIDB4MmQsIAotICAgIDB4N2QsIDB4NTQsIDB4MmQsIDB4NDMsIDB4ODAsIDB4YmMsIDB4NzUsIDB4MmYsIDB4MTgsIDB4MTIsIDB4NzMsIDB4MzUsIDB4Y2EsIDB4MDksIDB4Y2EsIDB4MzksIAotICAgIDB4Y2EsIDB4MmIsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4NjMsIDB4OTEsIDB4MWEsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTQsIDB4N2UsIDB4YjAsIDB4ODAsIDB4OWMsIDB4YjYsIDB4NjAsIDB4MzgsIDB4NmMsIDB4YWEsIDB4N2UsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4OWQsIAotICAgIDB4MzUsIDB4NDAsIDB4MzcsIDB4N2EsIDB4MzcsIDB4MDEsIDB4Y2IsIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzcsIDB4N2QsIDB4NDMsIDB4MmQsIDB4NDUsIDB4YmUsIAotICAgIDB4NDQsIDB4MjgsIDB4MmMsIDB4MzgsIDB4M2IsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzcsIDB4N2QsIDB4NDUsIDB4MTIsIDB4NjgsIDB4ZDQsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MWUsIDB4MjAsIDB4ZTUsIDB4MTMsIDB4NzUsIDB4MmYsIDB4MTksIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4OTEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MzksIDB4ZGEsIDB4MDksIDB4MjIsIDB4ODAsIDB4MzQsIDB4MmQsIDB4NTMsIDB4NmQsIDB4MzMsIDB4NjAsIDB4MDIsIAotICAgIDB4ODAsIDB4YzEsIDB4N2UsIDB4MDQsIDB4MjQsIDB4MmQsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzksIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzcsIDB4ODAsIDB4ZTEsIAotICAgIDB4Y2EsIDB4NTksIDB4OWUsIDB4NDQsIDB4MjgsIDB4MmQsIDB4OWQsIDB4NTQsIDB4MTIsIDB4NjgsIDB4ZDQsIDB4N2UsIDB4MzQsIDB4MjQsIDB4MmQsIDB4N2QsIAotICAgIDB4NTQsIDB4MmQsIDB4NDMsIDB4N2EsIDB4NDcsIDB4MDEsIDB4YzcsIDB4MTIsIDB4NjgsIDB4ZDQsIDB4ZGEsIDB4NDksIDB4ODAsIDB4YjAsIDB4N2UsIDB4MGYsIAotICAgIDB4MmMsIDB4M2UsIDB4MGIsIDB4MGMsIDB4N2EsIDB4MGYsIDB4MmMsIDB4M2UsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4NzQsIDB4NjAsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4ODAsIDB4YTUsIDB4N2UsIDB4MmYsIDB4MmMsIDB4NWUsIAotICAgIDB4MGIsIDB4MmMsIDB4N2EsIDB4MmYsIDB4MmMsIDB4NWUsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MWMsIDB4NzQsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4ODAsIDB4MWYsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIAotICAgIDB4MjIsIDB4NzUsIDB4MmYsIDB4MjgsIDB4MTIsIDB4NzMsIDB4MzUsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4NzQsIDB4NjAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4NzAsIDB4ZGIsIDB4N2UsIAotICAgIDB4MGQsIDB4MzAsIDB4N2UsIDB4MWQsIDB4MzQsIDB4N2UsIDB4MmQsIDB4MzgsIDB4N2UsIDB4M2QsIDB4M2MsIDB4N2UsIDB4ODUsIDB4NDAsIDB4N2QsIDB4OTAsIAotICAgIDB4NGQsIDB4OTEsIDB4NGQsIDB4OTIsIDB4NGQsIDB4OTMsIDB4NGQsIDB4OTQsIDB4NGQsIDB4OTUsIDB4NGQsIDB4OTYsIDB4NGQsIDB4OTcsIDB4NGQsIDB4OTgsIAotICAgIDB4NjgsIDB4YjgsIDB4N2EsIDB4MTMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4MDMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4MzMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4MjMsIAotICAgIDB4OTEsIDB4MTcsIDB4N2EsIDB4NTMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4NDMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4NzMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4NjMsIAotICAgIDB4OTEsIDB4MTcsIDB4N2EsIDB4OTMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4ODMsIDB4OTEsIDB4MTcsIDB4MzAsIDB4NzMsIDB4MjIsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MTcsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4ZDMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4YzMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4ZjMsIDB4OTEsIAotICAgIDB4MTcsIDB4N2EsIDB4ZTMsIDB4OTEsIDB4MTcsIDB4N2QsIDB4NzgsIDB4N2EsIDB4ZjMsIDB4OTEsIDB4MTcsIDB4N2EsIDB4ZTMsIDB4OTEsIDB4MTcsIDB4N2UsIAotICAgIDB4YjMsIDB4OTEsIDB4MWUsIDB4MzAsIDB4ZTUsIDB4MDMsIDB4MDIsIDB4NjUsIDB4M2MsIDB4NzUsIDB4MmYsIDB4MjksIDB4MTIsIDB4NzMsIDB4MzUsIDB4MjAsIAotICAgIDB4NzMsIDB4MDgsIDB4NzUsIDB4MmYsIDB4MGEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ODAsIDB4MDYsIDB4NzUsIDB4MmYsIDB4MTIsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4NzQsIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4NmQsIDB4MDAsIDB4N2QsIDB4MTAsIDB4N2EsIDB4MGQsIDB4MzAsIDB4N2EsIDB4MGQsIDB4MzQsIAotICAgIDB4N2EsIDB4MGQsIDB4MzgsIDB4N2EsIDB4MGQsIDB4M2MsIDB4N2EsIDB4MDUsIDB4NDAsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIAotICAgIDB4N2UsIDB4MzcsIDB4MDEsIDB4YzUsIDB4NGQsIDB4MzMsIDB4NjgsIDB4M2IsIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzEsIDB4N2UsIDB4NTQsIDB4MmMsIDB4MmQsIAotICAgIDB4OWQsIDB4NTAsIDB4YmQsIDB4MzUsIDB4NDAsIDB4MDIsIDB4N2QsIDB4MzUsIDB4Y2EsIDB4MzksIDB4N2UsIDB4NjUsIDB4NGIsIDB4OTksIDB4NjQsIDB4ZGEsIAotICAgIDB4MzksIDB4N2UsIDB4MDcsIDB4MDEsIDB4YzUsIDB4OWQsIDB4MDMsIDB4N2EsIDB4MDcsIDB4MDEsIDB4YzUsIDB4MmUsIDB4MzcsIDB4MDEsIDB4YzEsIDB4N2EsIAotICAgIDB4MzcsIDB4MDEsIDB4YzEsIDB4YmUsIDB4MzQsIDB4MmMsIDB4MmMsIDB4MjgsIDB4YzcsIDB4N2UsIDB4MzQsIDB4MjgsIDB4MmQsIDB4N2EsIDB4MzcsIDB4MDEsIAotICAgIDB4YzEsIDB4ODAsIDB4YmQsIDB4MjIsIDB4NzUsIDB4MmYsIDB4NTMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTUsIDB4NGQsIDB4ODAsIDB4MTEsIDB4NzUsIAotICAgIDB4MmYsIDB4NTEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MGIsIDB4MDgsIDB4MTAsIDB4MGIsIDB4MDUsIDB4OWUsIDB4MzQsIDB4MDAsIDB4MDIsIDB4MjgsIDB4NGQsIAotICAgIDB4N2MsIDB4YjIsIDB4MjAsIDB4ZTcsIDB4MjcsIDB4NTQsIDB4MDcsIDB4MjMsIDB4MGEsIDB4MmIsIDB4NDksIDB4MjIsIDB4MzksIDB4MWUsIDB4N2MsIDB4YjIsIAotICAgIDB4NTQsIDB4NzgsIDB4MDMsIDB4MDMsIDB4MDMsIDB4N2MsIDB4MmIsIDB4OWQsIDB4MTMsIDB4NDAsIDB4MWEsIDB4NjgsIDB4MTIsIDB4N2EsIDB4MTUsIDB4NGQsIAotICAgIDB4N2EsIDB4MjUsIDB4NGYsIDB4N2UsIDB4NjQsIDB4NjcsIDB4MDksIDB4N2EsIDB4NjUsIDB4NGIsIDB4ODksIDB4MjQsIDB4MDIsIDB4NjcsIDB4MTcsIDB4N2UsIAotICAgIDB4NjQsIDB4NjYsIDB4N2YsIDB4ODAsIDB4ZjIsIDB4MmQsIDB4MTMsIDB4OWQsIDB4MzEsIDB4Y2EsIDB4MzksIDB4N2QsIDB4MzEsIDB4MmQsIDB4MTAsIDB4Y2EsIAotICAgIDB4MTksIDB4Y2EsIDB4MjksIDB4OTksIDB4MjQsIDB4ZGEsIDB4MjksIDB4ZGEsIDB4MDksIDB4ZGEsIDB4MzksIDB4ODAsIDB4YTIsIDB4N2EsIDB4MTUsIDB4NGQsIAotICAgIDB4N2UsIDB4NjQsIDB4NjYsIDB4ZjUsIDB4NGQsIDB4MzMsIDB4NzgsIDB4MDksIDB4N2MsIDB4YjIsIDB4MjAsIDB4ZTcsIDB4MmEsIDB4N2UsIDB4NjQsIDB4NjYsIAotICAgIDB4NzQsIDB4N2EsIDB4NjUsIDB4NGIsIDB4MjIsIDB4NzUsIDB4MmYsIDB4NTIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MjEsIDB4NGQsIDB4N2UsIDB4MDksIAotICAgIDB4MzAsIDB4MGIsIDB4MDQsIDB4MWIsIDB4MzQsIDB4NzgsIDB4ODksIDB4ODAsIDB4ZDQsIDB4NzUsIDB4MmYsIDB4NTQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIAotICAgIDB4MTUsIDB4NGQsIDB4N2UsIDB4MjUsIDB4NGYsIDB4ODAsIDB4OTAsIDB4NWUsIDB4MjAsIDB4MDcsIDB4NTQsIDB4NzgsIDB4N2UsIDB4NDQsIDB4NjcsIDB4N2QsIAotICAgIDB4MzAsIDB4ZTYsIDB4MTYsIDB4NGQsIDB4MzMsIDB4NjgsIDB4MjYsIDB4MWIsIDB4MzQsIDB4N2UsIDB4MDksIDB4NDAsIDB4MGIsIDB4MDQsIDB4N2UsIDB4NDQsIAotICAgIDB4MzQsIDB4ZmEsIDB4MjAsIDB4ZTMsIDB4MDQsIDB4N2UsIDB4NDQsIDB4NjcsIDB4ODUsIDB4Y2EsIDB4MDksIDB4Y2EsIDB4MzksIDB4OTksIDB4NDQsIDB4ZGEsIAotICAgIDB4MzksIDB4ZGEsIDB4MDksIDB4N2UsIDB4NjQsIDB4NjYsIDB4N2YsIDB4NGQsIDB4MzMsIDB4NjgsIDB4YTYsIDB4ODksIDB4NjQsIDB4N2EsIDB4MTUsIDB4NGQsIAotICAgIDB4ZjUsIDB4NGYsIDB4N2UsIDB4NjQsIDB4NjcsIDB4NTgsIDB4ODAsIDB4OTksIDB4N2UsIDB4MTUsIDB4NGQsIDB4ZTUsIDB4NGYsIDB4ODAsIDB4YzQsIDB4YzAsIAotICAgIDB4ZDAsIDB4YzAsIDB4ZDEsIDB4YzAsIDB4ZTAsIDB4Y2EsIDB4MTksIDB4NzUsIDB4MmYsIDB4ZmUsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MTQsIDB4MDAsIAotICAgIDB4NTMsIDB4MDIsIDB4NDAsIDB4NTIsIDB4ZGEsIDB4MTksIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ZDEsIDB4ZDAsIDB4ZDAsIDB4MzIsIDB4MDMsIDB4YTUsIDB4Y2IsIAotICAgIDB4MTksIDB4YjEsIDB4ODAsIDB4MDAsIDB4MjIsIDB4MjIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4N2YsIDB4ZTEsIDB4N2UsIDB4YTAsIDB4MDIsIDB4YTQsIAotICAgIDB4N2UsIDB4MDQsIDB4NjgsIDB4YjEsIDB4OWQsIDB4MDUsIDB4N2UsIDB4YjAsIDB4MjgsIDB4N2EsIDB4YjMsIDB4OTUsIDB4MDAsIDB4ODksIDB4MDQsIDB4Y2EsIAotICAgIDB4MjksIDB4YjQsIDB4ODAsIDB4ZTIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4N2YsIDB4ZTEsIDB4N2UsIDB4MDAsIDB4MjgsIDB4N2EsIDB4MDMsIDB4OTUsIAotICAgIDB4MDAsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4OTUsIDB4MDAsIDB4ZGEsIDB4MjksIDB4MjIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4N2YsIAotICAgIDB4ZTEsIDB4N2UsIDB4YTAsIDB4MDIsIDB4YTQsIDB4N2UsIDB4MDQsIDB4NjksIDB4ZTYsIDB4OWQsIDB4MDUsIDB4N2UsIDB4YjAsIDB4MzgsIDB4N2EsIDB4YjMsIAotICAgIDB4OTUsIDB4MDAsIDB4ODksIDB4MDQsIDB4Y2EsIDB4MjksIDB4YjQsIDB4ODAsIDB4ZTIsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4N2YsIDB4ZTEsIDB4N2UsIAotICAgIDB4MDAsIDB4MzgsIDB4N2EsIDB4MDMsIDB4OTUsIDB4MDAsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4OTUsIDB4MDAsIDB4ZGEsIDB4MjksIDB4MjIsIAotICAgIDB4Y2EsIDB4MjksIDB4Y2EsIDB4MTksIDB4Y2EsIDB4NTgsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4N2YsIDB4ZTEsIDB4ZGEsIDB4NTgsIDB4N2UsIDB4NTQsIAotICAgIDB4MDIsIDB4MjAsIDB4OWMsIDB4YjUsIDB4YTQsIDB4N2UsIDB4NTAsIDB4MzAsIDB4NWUsIDB4MjAsIDB4MDcsIDB4MmMsIDB4NTIsIDB4N2EsIDB4NTMsIDB4OTUsIAotICAgIDB4MDAsIDB4MmUsIDB4NTQsIDB4NmEsIDB4MTcsIDB4ODksIDB4NTQsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIAotICAgIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4OTUsIDB4MDAsIDB4ZGEsIDB4MTksIAotICAgIDB4ZGEsIDB4MjksIDB4MjIsIDB4Y2EsIDB4MTksIDB4Y2EsIDB4NTgsIDB4N2UsIDB4MjQsIDB4MDAsIDB4MDAsIDB4N2YsIDB4ZTEsIDB4ZGEsIDB4NTgsIDB4N2UsIAotICAgIDB4NTQsIDB4MDIsIDB4MzgsIDB4OWMsIDB4YjUsIDB4YTQsIDB4N2UsIDB4NTAsIDB4MjAsIDB4NWUsIDB4MjAsIDB4MDcsIDB4MmMsIDB4NTIsIDB4N2EsIDB4NTMsIAotICAgIDB4OTUsIDB4MDAsIDB4MmUsIDB4NTQsIDB4NmEsIDB4ODgsIDB4ODksIDB4NTQsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIAotICAgIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4OTUsIDB4MDAsIDB4ZGEsIAotICAgIDB4MTksIDB4MjIsIDB4MDIsIDB4NmIsIDB4YTgsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIDB4Y2EsIDB4M2IsIDB4Y2EsIDB4NGIsIDB4Y2EsIAotICAgIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4MmMsIAotICAgIDB4N2YsIDB4YjQsIDB4MDAsIDB4MDIsIDB4ODAsIDB4MWMsIDB4YjQsIDB4MDEsIDB4MTksIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NTQsIDB4MTQsIDB4NjgsIAotICAgIDB4MDUsIDB4MTIsIDB4NmIsIDB4NmMsIDB4ODAsIDB4MjMsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MzAsIDB4ZTUsIDB4MWMsIDB4MTIsIDB4NmMsIDB4YWEsIAotICAgIDB4ODAsIDB4MTcsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MzAsIDB4ZTUsIDB4MDUsIDB4MTIsIDB4NmMsIDB4YWEsIDB4ODAsIDB4MGIsIDB4N2UsIDB4YjMsIAotICAgIDB4OTEsIDB4MTQsIDB4NTQsIDB4MTQsIDB4NjgsIDB4MDMsIDB4MTIsIDB4NmIsIDB4NmMsIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIDB4ZGEsIAotICAgIDB4NWIsIDB4ZGEsIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4MjAsIDB4ZTQsIDB4MTksIDB4NzUsIAotICAgIDB4MmYsIDB4MGEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIDB4N2UsIDB4NzAsIDB4MGEsIDB4N2UsIDB4YjMsIDB4MmMsIDB4N2YsIDB4YjQsIAotICAgIDB4MDEsIDB4MWYsIDB4MDIsIDB4NmMsIDB4MDQsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4NzUsIDB4MmYsIDB4MGIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4MTQsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4YjMsIDB4MmMsIDB4N2YsIDB4YjQsIDB4MDIsIDB4MGMsIDB4MTIsIDB4NmIsIDB4YjQsIDB4MDIsIDB4NmIsIAotICAgIDB4YTgsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4N2UsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDMsIDB4MmMsIDB4N2YsIDB4N2EsIAotICAgIDB4MDMsIDB4MmMsIDB4ODAsIDB4MjIsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzYsIDB4NTQsIDB4NjAsIDB4NjAsIDB4MDUsIDB4YjQsIDB4NDAsIDB4MWUsIDB4ODAsIAotICAgIDB4MWMsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIDB4YjQsIDB4MDUsIDB4MTUsIDB4NzUsIDB4MmYsIDB4NzEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIAotICAgIDB4MmMsIDB4NzksIDB4N2UsIDB4YTAsIDB4MDEsIDB4N2EsIDB4YTMsIDB4OTEsIDB4MDYsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDcsIDB4MjIsIDB4NzQsIDB4MDAsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MjIsIDB4YmUsIDB4NTcsIDB4MmMsIDB4N2MsIDB4MjgsIAotICAgIDB4MDQsIDB4N2UsIDB4NTcsIDB4MmMsIDB4N2MsIDB4N2EsIDB4MGYsIDB4MmMsIDB4ODIsIDB4N2EsIDB4NTcsIDB4MmMsIDB4ODYsIDB4NzQsIDB4MTAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MTIsIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MWEsIDB4NzAsIDB4NTMsIAotICAgIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjAsIDB4ZTQsIDB4NGMsIDB4N2UsIDB4ZWYsIDB4MmMsIDB4ODIsIDB4N2UsIDB4ZjcsIDB4MmMsIDB4ODYsIDB4N2UsIAotICAgIDB4MDcsIDB4MmMsIDB4ODYsIDB4NGQsIDB4MDAsIDB4NjgsIDB4MjEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4ZTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTcsIDB4YTMsIAotICAgIDB4YTUsIDB4MDgsIDB4MWIsIDB4ZjQsIDB4NjgsIDB4MDYsIDB4YTUsIDB4YjgsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MTksIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4MmMsIDB4N2YsIDB4YmUsIDB4MDAsIDB4MTAsIDB4NjgsIDB4MGQsIDB4N2UsIDB4YjAsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIDB4N2YsIDB4NzQsIAotICAgIDB4ODAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWUsIDB4N2EsIDB4ZWYsIDB4MmMsIDB4ODIsIDB4N2EsIDB4ZjcsIDB4MmMsIDB4ODYsIDB4NzUsIDB4MmYsIDB4MDYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4Y2EsIDB4MGIsIDB4Y2EsIDB4MWIsIDB4Y2EsIDB4MmIsIAotICAgIDB4Y2EsIDB4M2IsIDB4Y2EsIDB4NGIsIDB4Y2EsIDB4NWIsIDB4Y2EsIDB4NmIsIDB4Y2EsIDB4N2IsIDB4Y2EsIDB4ZWIsIDB4NzUsIDB4MmYsIDB4MDMsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIDB4N2UsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4MDEsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4MTIsIDB4NmQsIDB4MTksIDB4ZGEsIDB4ZWIsIDB4ZGEsIDB4N2IsIDB4ZGEsIDB4NmIsIDB4ZGEsIDB4NWIsIDB4ZGEsIAotICAgIDB4NGIsIDB4ZGEsIDB4M2IsIDB4ZGEsIDB4MmIsIDB4ZGEsIDB4MWIsIDB4ZGEsIDB4MGIsIDB4MjIsIDB4NzUsIDB4MmYsIDB4MDMsIDB4MTIsIDB4NzMsIDB4MzUsIAotICAgIDB4N2UsIDB4YjMsIDB4MmMsIDB4ODAsIDB4YjQsIDB4MDIsIDB4MTEsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIDB4ODAsIDB4N2EsIDB4YjMsIDB4MmMsIAotICAgIDB4N2YsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4MjIsIDB4YjQsIDB4MDEsIDB4NDYsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MjAsIAotICAgIDB4ZTYsIDB4NDIsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MWEsIDB4N2MsIDB4MzIsIDB4N2UsIDB4MTMsIDB4MmMsIDB4ODEsIDB4MmMsIDB4MjEsIDB4N2EsIDB4MjMsIAotICAgIDB4MmMsIDB4ODEsIDB4N2UsIDB4MDAsIDB4MDAsIDB4MmUsIDB4MDQsIDB4MmMsIDB4ODgsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTYsIDB4N2EsIDB4MDksIDB4YjAsIAotICAgIDB4MGIsIDB4MDQsIDB4YTUsIDB4ZGIsIDB4ZjQsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIDB4NzUsIDB4MmYsIDB4NzAsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIDB4ODEsIDB4N2UsIDB4YTMsIDB4MmMsIDB4N2QsIDB4YmMsIDB4YWIsIDB4NzgsIDB4MDMsIDB4MTIsIDB4NmQsIDB4YjksIAotICAgIDB4MjIsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4ZGEsIDB4NTksIDB4MDIsIDB4NmMsIDB4N2MsIDB4NzQsIDB4ZTAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIAotICAgIDB4MDMsIDB4OTEsIDB4MTAsIDB4N2UsIDB4MTMsIDB4OTEsIDB4MTEsIDB4N2UsIDB4MzMsIDB4OTEsIDB4MTIsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MTMsIDB4N2UsIAotICAgIDB4NTMsIDB4OTEsIDB4MTQsIDB4N2UsIDB4NDMsIDB4OTEsIDB4MTUsIDB4N2UsIDB4NzMsIDB4OTEsIDB4MTYsIDB4N2UsIDB4NjMsIDB4OTEsIDB4MTcsIDB4N2EsIAotICAgIDB4MGYsIDB4MmMsIDB4NzYsIDB4N2EsIDB4MWYsIDB4MmMsIDB4N2EsIDB4NzUsIDB4MmYsIDB4MDQsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MDEsIDB4MmYsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIAotICAgIDB4MzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NDEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NTEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4NjEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4NzEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDQsIDB4MTIsIDB4NmQsIDB4OGQsIDB4MjIsIDB4NmQsIDB4MDAsIDB4N2UsIAotICAgIDB4MTQsIDB4MDEsIDB4MDIsIDB4N2EsIDB4MDcsIDB4MmMsIDB4ODYsIDB4N2EsIDB4MDMsIDB4MmMsIDB4ODEsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzYsIDB4MjAsIAotICAgIDB4ZTcsIDB4MGYsIDB4N2EsIDB4MjMsIDB4MmMsIDB4ODAsIDB4N2EsIDB4MzMsIDB4MmMsIDB4N2YsIDB4YmUsIDB4MDcsIDB4MmMsIDB4N2MsIDB4NjgsIDB4MDksIAotICAgIDB4MjIsIDB4N2EsIDB4MzMsIDB4MmMsIDB4ODAsIDB4N2EsIDB4MjMsIDB4MmMsIDB4N2YsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzYsIDB4NTQsIDB4ZTMsIDB4MjMsIAotICAgIDB4MjMsIDB4MzAsIDB4ZTAsIDB4MDIsIDB4ZDIsIDB4ZTUsIDB4MzAsIDB4ZTcsIDB4MDIsIDB4ZDIsIDB4ZTQsIDB4MzAsIDB4ZTUsIDB4MDYsIDB4MzAsIDB4ZTQsIAotICAgIDB4MDMsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4NTQsIDB4M2UsIDB4ZjUsIDB4ZjAsIDB4MDMsIDB4NTQsIDB4MWYsIDB4YzMsIDB4MjUsIDB4ZjAsIDB4OTAsIDB4NmQsIAotICAgIDB4ZTUsIDB4NzUsIDB4ODQsIDB4ZmYsIDB4NzMsIDB4MDIsIDB4NmYsIDB4YTAsIDB4MDIsIDB4NmUsIDB4MmQsIDB4MDIsIDB4NzAsIDB4MzksIDB4MDIsIDB4NzAsIAotICAgIDB4NTQsIDB4MDIsIDB4NmYsIDB4MzcsIDB4MDIsIDB4NmUsIDB4YzIsIDB4MDIsIDB4NzAsIDB4ODUsIDB4MDIsIDB4NzAsIDB4ODUsIDB4MDIsIDB4NzAsIDB4ODgsIAotICAgIDB4MDIsIDB4NzAsIDB4ODgsIDB4MDIsIDB4NzAsIDB4ODgsIDB4MDIsIDB4NzAsIDB4ODgsIDB4MDIsIDB4NzAsIDB4ODgsIDB4MDIsIDB4NzAsIDB4ODgsIDB4MDIsIAotICAgIDB4NzAsIDB4ODgsIDB4MDIsIDB4NzAsIDB4ODgsIDB4MDIsIDB4NzAsIDB4OGUsIDB4MDIsIDB4NzEsIDB4NjAsIDB4MDIsIDB4NzAsIDB4OGIsIDB4MDIsIDB4NzAsIAotICAgIDB4OGIsIDB4MDIsIDB4NzAsIDB4OGIsIDB4MDIsIDB4NzAsIDB4OGIsIDB4MDIsIDB4NzAsIDB4OGIsIDB4MDIsIDB4NzAsIDB4OGIsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIDB4YjQsIDB4MDYsIDB4MmEsIAotICAgIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzgsIDB4NjAsIDB4NzksIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MmMsIDB4NzksIDB4N2UsIDB4MTcsIDB4MmMsIDB4N2EsIAotICAgIDB4NzUsIDB4MmYsIDB4NzIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MDEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MTEsIDB4MmYsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4MTIsIDB4NzIsIDB4MzcsIDB4NDAsIDB4NTgsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4YjQsIDB4MDgsIDB4MWMsIDB4NzUsIDB4MmYsIDB4NzQsIAotICAgIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4N2UsIDB4MDgsIDB4MmMsIDB4ODgsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2EsIAotICAgIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDEsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4YjQsIDB4MDAsIDB4MzMsIDB4NzUsIDB4MmYsIDB4NzUsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDgsIDB4MmMsIDB4ODgsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIAotICAgIDB4MzAsIDB4ZTAsIDB4MDcsIDB4NzQsIDB4MDIsIDB4N2EsIDB4MGIsIDB4YjAsIDB4ODAsIDB4MDUsIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4MGIsIAotICAgIDB4MTQsIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDIsIDB4ZGEsIDB4MGIsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4MDIsIAotICAgIDB4NzEsIDB4ZjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIAotICAgIDB4MmMsIDB4NzcsIDB4YjQsIDB4MDAsIDB4NWYsIDB4NzUsIDB4MmYsIDB4NzYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIDB4N2IsIDB4NTQsIAotICAgIDB4MGYsIDB4YjQsIDB4MDIsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NjAsIDB4ODAsIDB4MTcsIDB4YjQsIDB4MDAsIDB4MDUsIDB4N2UsIDB4YjAsIDB4MDAsIDB4ODAsIAotICAgIDB4MGYsIDB4N2UsIDB4YjMsIDB4MmMsIDB4N2IsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NDAsIDB4ODAsIDB4MDMsIDB4N2UsIDB4YjAsIDB4MjAsIAotICAgIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTEsIDB4MzAsIDB4ZTAsIDB4MDQsIDB4NzQsIDB4MDEsIDB4ODAsIDB4MDIsIDB4NzQsIAotICAgIDB4MDAsIDB4N2UsIDB4MDgsIDB4MmMsIDB4ODgsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIDB4MGIsIDB4N2EsIDB4MGIsIDB4YjAsIDB4MGIsIDB4MTQsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4N2UsIDB4NTQsIDB4MDAsIDB4MDIsIDB4ZGEsIAotICAgIDB4MGIsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4N2UsIDB4YjMsIDB4MmMsIDB4N2IsIDB4NTQsIDB4MGYsIDB4YjQsIDB4MDIsIDB4MDUsIAotICAgIDB4N2UsIDB4YjAsIDB4NjAsIDB4ODAsIDB4MTcsIDB4YjQsIDB4MDAsIDB4MDUsIDB4N2UsIDB4YjAsIDB4MDAsIDB4ODAsIDB4MGYsIDB4N2UsIDB4YjMsIDB4MmMsIAotICAgIDB4N2IsIDB4MjAsIDB4ZTcsIDB4MDUsIDB4N2UsIDB4YjAsIDB4NDAsIDB4ODAsIDB4MDMsIDB4N2UsIDB4YjAsIDB4MjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIAotICAgIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzksIDB4YjQsIDB4MDAsIDB4MjYsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIDB4YjQsIDB4MDEsIDB4MGUsIDB4NzUsIDB4MmYsIAotICAgIDB4NzcsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4ODAsIDB4MWIsIDB4YjQsIDB4MDMsIDB4MGUsIDB4NzUsIAotICAgIDB4MmYsIDB4NzgsIDB4MTIsIDB4NzMsIDB4MzUsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTEsIDB4ODAsIDB4MGEsIDB4NzQsIDB4MDAsIDB4N2EsIAotICAgIDB4YjMsIDB4OTEsIDB4MDAsIDB4MTIsIDB4NzEsIDB4ZjIsIDB4MjIsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4MDIsIDB4NmIsIDB4ZGUsIAotICAgIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIDB4YjQsIDB4MDksIDB4MWYsIDB4NzUsIDB4MmYsIDB4NzksIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIAotICAgIDB4NzksIDB4YmUsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4NjgsIDB4MGQsIDB4Y2EsIDB4YjgsIDB4MTIsIDB4NDMsIDB4NzksIDB4ZGEsIDB4YjgsIDB4NTAsIDB4NzYsIAotICAgIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjEsIDB4ODAsIDB4NmQsIDB4YjQsIDB4MDUsIDB4MDgsIDB4NzUsIDB4MmYsIDB4N2EsIDB4MTIsIDB4NzMsIDB4MzUsIDB4ODAsIAotICAgIDB4NjIsIDB4YjQsIDB4MDMsIDB4MTksIDB4NzUsIDB4MmYsIDB4N2IsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzksIDB4YjQsIDB4MDEsIAotICAgIDB4NTUsIDB4N2UsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4NDQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4NDYsIDB4YjQsIDB4MDEsIDB4MTksIAotICAgIDB4NzUsIDB4MmYsIDB4N2MsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzksIDB4YjQsIDB4MDEsIDB4MzksIDB4N2UsIDB4YjMsIDB4M2YsIAotICAgIDB4ZjIsIDB4NTQsIDB4ZmUsIDB4N2EsIDB4YjMsIDB4M2YsIDB4ZjIsIDB4ODAsIDB4MmEsIDB4YjQsIDB4MDcsIDB4MmEsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzgsIAotICAgIDB4NjAsIDB4MjQsIDB4N2MsIDB4MGIsIDB4N2UsIDB4MTMsIDB4MmMsIDB4NzksIDB4N2UsIDB4MTcsIDB4MmMsIDB4N2EsIDB4NzUsIDB4MmYsIDB4NzMsIDB4MTIsIAotICAgIDB4NzMsIDB4MzUsIDB4N2EsIDB4MDEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NzIsIAotICAgIDB4NzEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4NmIsIDB4ZGUsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIDB4YjQsIDB4MGIsIDB4ZjYsIAotICAgIDB4NzUsIDB4MmYsIDB4N2QsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzksIDB4N2UsIDB4YTMsIDB4MmMsIDB4N2IsIDB4NGMsIDB4YWIsIAotICAgIDB4NzgsIDB4ZTQsIDB4ODAsIDB4ZGYsIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIAotICAgIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIDB4YjQsIDB4MGEsIDB4Y2YsIDB4NzUsIDB4MmYsIDB4N2UsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjMsIDB4MmMsIAotICAgIDB4NzksIDB4NzAsIDB4YzMsIDB4N2UsIDB4MDgsIDB4MmMsIDB4ODgsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGIsIDB4YjAsIDB4N2UsIDB4NTQsIAotICAgIDB4MDAsIDB4MDEsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4MDIsIDB4NzEsIDB4ZjIsIDB4N2UsIDB4YjMsIAotICAgIDB4MmMsIDB4NzcsIDB4YjQsIDB4MDQsIDB4MjAsIDB4NzUsIDB4MmYsIDB4YzMsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIAotICAgIDB4MTcsIDB4MmMsIDB4NzgsIDB4N2UsIDB4MTgsIDB4MmMsIDB4ODgsIDB4N2EsIDB4MWMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NDcsIDB4MmMsIDB4N2MsIDB4MTIsIAotICAgIDB4NzMsIDB4NDEsIDB4MDIsIDB4NzEsIDB4NWEsIDB4YjQsIDB4MDYsIDB4NDIsIDB4NzUsIDB4MmYsIDB4YzEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4NTgsIAotICAgIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2QsIDB4Y2EsIDB4N2UsIDB4ZDcsIDB4MmMsIDB4NzgsIDB4N2UsIDB4NzgsIDB4MmMsIDB4ODgsIAotICAgIDB4N2EsIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MmMsIDB4N2MsIDB4NzUsIDB4MmYsIDB4YzEsIDB4MTIsIDB4NzMsIDB4MzUsIDB4YzAsIDB4YTgsIAotICAgIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIDB4NzMsIDB4N2EsIDB4N2UsIDB4NDMsIDB4MmMsIDB4MzUsIAotICAgIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4NDAsIDB4NjUsIDB4ODAsIDB4NjAsIDB4YjQsIDB4MDAsIDB4MjQsIDB4YzIsIDB4YWYsIDB4N2UsIAotICAgIDB4YjAsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4MmMsIDB4MzUsIDB4MTIsIDB4NmIsIDB4ZGUsIDB4ZTQsIDB4OGQsIDB4ZWYsIAotICAgIDB4OGQsIDB4ZWYsIDB4OGQsIDB4ZWYsIDB4ZDUsIDB4ZTAsIDB4ZjcsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MDIsIDB4ZmYsIDB4Y2EsIDB4MDYsIDB4MDAsIDB4MDAsIAotICAgIDB4MzIsIDB4YjQsIDB4MDksIDB4MjAsIDB4NzQsIDB4MDMsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDYsIDB4N2UsIDB4MjMsIDB4OTEsIDB4MDcsIDB4N2UsIDB4NTcsIAotICAgIDB4MmMsIDB4NzgsIDB4NGQsIDB4NTUsIDB4NjgsIDB4MDUsIDB4NGUsIDB4MjAsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NWUsIDB4MjAsIDB4ZmQsIDB4N2EsIDB4MjMsIAotICAgIDB4OTEsIDB4MDcsIDB4ODAsIDB4MTYsIDB4YjQsIDB4MDcsIDB4MTYsIDB4YzIsIDB4YWYsIDB4N2UsIDB4MDcsIDB4MmMsIDB4N2EsIDB4N2UsIDB4MTcsIDB4MmMsIAotICAgIDB4NzgsIDB4YzAsIDB4ZDEsIDB4Y2EsIDB4MTgsIDB4Y2EsIDB4MzgsIDB4Y2EsIDB4MjgsIDB4MzIsIDB4MDIsIDB4NmIsIDB4ZGUsIDB4MDIsIDB4NzEsIDB4ZjIsIAotICAgIDB4NzQsIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NjAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MWMsIDB4N2UsIDB4YjMsIDB4MmMsIDB4NzcsIAotICAgIDB4YjQsIDB4MDMsIDB4MTUsIDB4NzUsIDB4MmYsIDB4YzIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4MDQsIDB4MDAsIDB4MDEsIDB4N2UsIDB4MTcsIDB4MmMsIAotICAgIDB4NzgsIDB4N2UsIDB4NTcsIDB4MmMsIDB4N2MsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4YjQsIDB4MDUsIDB4NDEsIDB4NzUsIDB4MmYsIDB4YzAsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4N2UsIDB4MDgsIDB4MmMsIDB4ODgsIAotICAgIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4MjQsIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzcsIDB4MmMsIDB4NzgsIDB4N2UsIDB4NDcsIDB4MmMsIDB4N2MsIAotICAgIDB4MTIsIDB4NzMsIDB4NDEsIDB4N2UsIDB4NDMsIDB4MmMsIDB4MzUsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4N2UsIDB4MDgsIDB4MmMsIAotICAgIDB4ODgsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NTcsIDB4MmMsIDB4N2MsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4YjQsIDB4MDEsIDB4MjAsIDB4N2UsIAotICAgIDB4MDAsIDB4MDAsIDB4N2UsIDB4MTAsIDB4MDEsIDB4NzUsIDB4MmYsIDB4NzIsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2EsIDB4MDEsIDB4MmYsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4N2EsIDB4MTEsIDB4MmYsIDB4MTIsIDB4NzMsIDB4MzUsIDB4MTIsIDB4NzIsIDB4MzcsIDB4NDAsIDB4MDMsIDB4MDIsIDB4NmIsIDB4ZWIsIDB4MDIsIAotICAgIDB4NzEsIDB4ZjIsIDB4NzUsIDB4MmYsIDB4MDcsIDB4MTIsIDB4NzMsIDB4MzUsIDB4N2UsIDB4YjAsIDB4MDIsIDB4N2EsIDB4YjMsIDB4OTAsIDB4MDAsIDB4NzQsIAotICAgIDB4MDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MDAsIDB4NzQsIDB4NDAsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTUsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIAotICAgIDB4MTEsIDB4N2UsIDB4YjMsIDB4OTEsIDB4MTUsIDB4NTQsIDB4NjAsIDB4YmUsIDB4YjAsIDB4NDAsIDB4NjgsIDB4MDgsIDB4NzQsIDB4MjAsIDB4N2EsIDB4YjMsIAotICAgIDB4OTEsIDB4MTUsIDB4ODAsIDB4ZWQsIDB4NzQsIDB4MDEsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTIsIDB4NzQsIDB4MDQsIDB4N2EsIDB4YjMsIDB4OTEsIDB4MTQsIAotICAgIDB4NzQsIDB4ZmYsIDB4N2EsIDB4YjMsIDB4MmMsIDB4N2UsIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIAotICAgIDB4OTQsIDB4MDAsIDB4MTIsIDB4NzIsIDB4YmUsIDB4NDAsIDB4MWYsIDB4N2UsIDB4MDgsIDB4MmMsIDB4ODgsIDB4N2EsIDB4MGMsIDB4MDAsIDB4MDAsIDB4Y2EsIAotICAgIDB4MGIsIDB4Y2EsIDB4NDksIDB4MTIsIDB4NzMsIDB4NDEsIDB4ZGEsIDB4NTksIDB4ZGEsIDB4MGIsIDB4N2UsIDB4NDMsIDB4MmMsIDB4MzUsIDB4N2EsIDB4NDMsIAotICAgIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4YzMsIDB4MjIsIDB4N2UsIDB4NDMsIDB4MmMsIDB4MzUsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIAotICAgIDB4MjIsIDB4YzAsIDB4YTgsIDB4YzIsIDB4YWYsIDB4N2UsIDB4NDAsIDB4MDEsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4MTIsIDB4NzIsIDB4YmUsIDB4NDAsIAotICAgIDB4MzEsIDB4N2UsIDB4NTgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4NWMsIDB4MDAsIDB4ZmUsIDB4N2YsIDB4NjEsIDB4N2UsIDB4NzgsIDB4MmMsIDB4ODgsIDB4N2EsIAotICAgIDB4N2MsIDB4MDAsIDB4MDAsIDB4N2UsIDB4NzcsIDB4MmMsIDB4N2MsIDB4YmQsIDB4NzQsIDB4NzgsIDB4MTcsIDB4NzUsIDB4MmYsIDB4YzEsIDB4MTIsIDB4NzMsIAotICAgIDB4MzUsIDB4MTIsIDB4NzMsIDB4N2EsIDB4NDAsIDB4MGMsIDB4N2UsIDB4NDMsIDB4MmMsIDB4MzUsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIAotICAgIDB4YzMsIDB4MjIsIDB4N2UsIDB4NDMsIDB4MmMsIDB4MzUsIDB4N2EsIDB4NDMsIDB4OTQsIDB4MDAsIDB4ZDAsIDB4YTgsIDB4ZDMsIDB4MjIsIDB4N2UsIDB4MjQsIAotICAgIDB4MDAsIDB4ZmUsIDB4N2UsIDB4MzQsIDB4N2YsIDB4Y2EsIDB4MGIsIDB4MWEsIDB4NTAsIDB4YzUsIDB4ZjAsIDB4N2QsIDB4NjIsIDB4N2QsIDB4NzUsIDB4N2QsIAotICAgIDB4ODcsIDB4N2UsIDB4MzQsIDB4N2YsIDB4YzIsIDB4N2UsIDB4MWIsIDB4YjAsIDB4N2UsIDB4MzQsIDB4N2YsIDB4MDMsIDB4YjQsIDB4MDEsIDB4MDQsIDB4N2UsIAotICAgIDB4MzQsIDB4N2YsIDB4Y2MsIDB4N2UsIDB4MWIsIDB4YjAsIDB4YmMsIDB4MGIsIDB4NTAsIDB4NDksIDB4M2UsIDB4MDAsIDB4M2UsIDB4MDAsIDB4MGEsIDB4NTAsIAotICAgIDB4MmQsIDB4NzUsIDB4MGIsIDB4M2EsIDB4MzAsIDB4NjksIDB4NTMsIDB4MDAsIDB4MDIsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmMsIAotICAgIDB4MWIsIDB4NTAsIDB4MzAsIDB4M2UsIDB4MTAsIDB4M2UsIDB4MTAsIDB4MGEsIDB4NTEsIDB4MmQsIDB4MzUsIDB4NjksIDB4NDEsIDB4MDAsIDB4MDIsIDB4MGIsIAotICAgIDB4MWEsIDB4MzAsIDB4YmQsIDB4MzgsIDB4NTAsIDB4MDIsIDB4MmQsIDB4MzgsIDB4YmUsIDB4NDQsIDB4ZmYsIDB4ZmYsIDB4NzgsIDB4MDUsIDB4N2UsIDB4MWIsIAotICAgIDB4OTAsIDB4MGEsIDB4NDksIDB4NGQsIDB4NDQsIDB4NjgsIDB4MGMsIDB4YmUsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4MjgsIDB4MDQsIDB4N2UsIDB4NDQsIDB4MDAsIAotICAgIDB4ZmYsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIAotCi0vLyBTZWdtZW50ICMxNiwgU3RhcnQgQWRkcmVzcyAwMGZmN2ZjNiwgTGVuZ3RoIDQKLTB4ZmYsMHgwMCwweGM2LDB4N2YsMHgwNCwweDAwLAotICAgIDB4MDIsIDB4MDAsIDB4MDMsIDB4MDAsIAotCi0vLyBTZWdtZW50ICMxNywgU3RhcnQgQWRkcmVzcyAwMGZmNzMzNSwgTGVuZ3RoIDMyOAotMHhmZiwweDAwLDB4MzUsMHg3MywweDQ4LDB4MDEsCi0gICAgMHhjYSwgMHgwOCwgMHg3ZSwgMHgwMSwgMHgyZiwgMHg3YSwgMHgwMywgMHgzZiwgMHhmMCwgMHhkYSwgMHgwOCwgMHgyMiwgMHg3ZSwgMHgxYiwgMHhjMCwgMHg3YSwgCi0gICAgMHgwYiwgMHhjMCwgMHgwYiwgMHgxNCwgMHgwYiwgMHgzNCwgMHgxYiwgMHg0NCwgMHg3OCwgMHhmMiwgMHgyMiwgMHg3ZiwgMHg2ZiwgMHg3ZiwgMHhmMCwgMHgxYiwgCi0gICAgMHhmYywgMHg3YywgMHg1NCwgMHg3ZCwgMHgzMiwgMHg4MCwgMHgwOCwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHhjYSwgMHgxYiwgMHg5ZSwgCi0gICAgMHg0NCwgMHgwMCwgMHgxMCwgMHg1MCwgMHhmMiwgMHgyZSwgMHg0NCwgMHgwMCwgMHgxMCwgMHg2OCwgMHgwNiwgMHhjYSwgMHg0OCwgMHgxYiwgMHg0NCwgMHg3OCwgCi0gICAgMHhmYSwgMHg3ZiwgMHhmNiwgMHg4OSwgMHhlNCwgMHhjYSwgMHg2YiwgMHg1ZSwgMHhkNCwgMHgwMCwgMHgzZiwgMHg2OCwgMHgyMCwgMHg3ZSwgMHg4NCwgMHgwMCwgCi0gICAgMHg0MCwgMHg5ZCwgMHg4ZCwgMHhkYSwgMHg2YiwgMHhiZCwgMHg4NywgMHgzOCwgMHgxNiwgMHhjYSwgMHg3OSwgMHg3ZCwgMHg3OCwgMHgxMiwgMHg3MywgMHhhNCwgCi0gICAgMHhkYSwgMHg3OSwgMHg0MCwgMHgwOCwgMHg5ZCwgMHg3OCwgMHg2OCwgMHgwMiwgMHg4MCwgMHgwNSwgMHhjMiwgMHhkNywgMHgyMiwgMHhkYSwgMHg2YiwgMHg3ZSwgCi0gICAgMHhjMCwgMHgwMywgMHg3ZSwgMHhkMCwgMHgwMCwgMHg3YSwgMHhkMywgMHg5MCwgMHgwMCwgMHg3NCwgMHhhYSwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3NCwgCi0gICAgMHg1NSwgMHgzOSwgMHhiNSwgMHgyYSwgMHhhYSwgMHg3NCwgMHhhMCwgMHgzOSwgMHhiNSwgMHg1NSwgMHg1NSwgMHg3ZSwgMHgwNCwgMHgwMCwgMHg0MCwgMHg5ZCwgCi0gICAgMHg3MCwgMHg1MCwgMHgwNiwgMHgyZCwgMHg3MCwgMHg3ZCwgMHgwNywgMHg2ZCwgMHg3NywgMHg3YywgMHgzMSwgMHg3ZSwgMHg3YiwgMHgwMCwgMHg3YSwgMHg2YiwgCi0gICAgMHgwMCwgMHgwYiwgMHg3YywgMHgwYiwgMHg2YywgMHhhNSwgMHhkOSwgMHhmMywgMHg3ZiwgMHgxNiwgMHgxYiwgMHgxYywgMHg3ZSwgMHg1NCwgMHgyNywgMHgxMCwgCi0gICAgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgMHgxMCwgMHg2OCwgMHgwNiwgMHgxYiwgMHg1NCwgMHg3OCwgMHhmNSwgMHg4MCwgMHgyZiwgMHg2ZCwgMHgwMCwgMHg3YywgCi0gICAgMHgyMCwgMHg3ZiwgMHgxNiwgMHg5ZiwgMHgxMCwgMHg3ZiwgMHgyNywgMHg5ZiwgMHgyMCwgMHg3ZSwgMHgyYiwgMHgwMCwgMHg3ZSwgMHgxYiwgMHgxMCwgMHhiYywgCi0gICAgMHgwMSwgMHg3OCwgMHgxOSwgMHgwYiwgMHgyYywgMHgwYiwgMHgxYywgMHhhNSwgMHhkYiwgMHhlZiwgMHg3YywgMHhiNiwgMHgyMCwgMHhlMCwgMHgwNiwgMHg2YywgCi0gICAgMHhkYywgMHg3YSwgMHhkMywgMHg5MCwgMHgwMCwgMHg0ZCwgMHg3NywgMHg3OCwgMHg5MCwgMHhjMiwgMHhkNywgMHgyMiwgMHhkMiwgMHhkNywgMHgyMiwgMHgwMCwgCi0gICAgMHgwNCwgMHgwMCwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgwNCwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwMiwgMHgwMSwgMHgwNCwgMHgwMSwgMHgwMiwgMHgwMCwgCi0gICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwMiwgMHgwNCwgMHgwMCwgMHgwOCwgMHgxMCwgCi0gICAgMHgwMiwgMHgxMCwgMHgwNCwgMHgwMiwgMHgwOCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwOCwgMHg3ZSwgMHgxOCwgMHg3ZiwgMHhiZCwgMHg3YSwgMHgxYywgMHgwMCwgCi0gICAgMHhmZSwgMHgwYiwgMHgxYSwgMHgwMCwgMHg1ZSwgMHgxMCwgMHgxZiwgMHhiZSwgMHgxMCwgMHgxNCwgMHgzOCwgMHgxYSwgMHgwYSwgMHg1MSwgMHgyMywgMHg3ZSwgCi0gICAgMHgxOCwgMHg3NCwgMHgyNCwgMHg3YSwgMHgxYywgMHgwMCwgMHhmZiwgMHgyZCwgMHgzNSwgMHgwYiwgMHgxYSwgMHg1MCwgMHg2MCwgMHgwOCwgMHhhNSwgMHhiOCwgCi0gICAgMHgwMiwgMHgwMywgMHg0ZSwgMHhhMCwgMHgwOCwgMHgyMiwgMHg4MCwgMHhmZSwgCi19OwotCi1zdGF0aWMgc3RydWN0IGVkZ2VfZmlybXdhcmVfdmVyc2lvbl9pbmZvIElNQUdFX1ZFUlNJT05fTkFNRSA9IHsKLQkyLCAwLCAzIH07CQkvLyBNYWpvciwgTWlub3IsIEJ1aWxkCi0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2Z3X2Rvd24zLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQ5NmIwNi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZndfZG93bjMuaAorKysgL2Rldi9udWxsCkBAIC0xLDg0NyArMCwwIEBACi0vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0vLyogRWRnZXBvcnQgQmluYXJ5IEltYWdlIChmb3IgVEkgYmFzZWQgcHJvZHVjdHMpCi0vLyogR2VuZXJhdGVkIGJ5IFRJQmluMkMgdjIuMDAgKHdhdGNocG9ydCkKLS8vKiBDb3B5cmlnaHQgKEMpIDIwMDEgSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotCi1zdGF0aWMgaW50IElNQUdFX1NJWkUgPSAxMjkzODsKLQotc3RydWN0IEVER0VfRklSTVdBUkVfVkVSU0lPTl9JTkZPCi17Ci0JdW5zaWduZWQgY2hhciAgIE1ham9yVmVyc2lvbjsKLQl1bnNpZ25lZCBjaGFyICAgTWlub3JWZXJzaW9uOwotCXVuc2lnbmVkIHNob3J0ICBCdWlsZE51bWJlcjsKLX07Ci0KLXN0YXRpYyBzdHJ1Y3QgRURHRV9GSVJNV0FSRV9WRVJTSU9OX0lORk8gSU1BR0VfVkVSU0lPTl9OQU1FID0KLXsKLQk0LCA4MCwgMAkJLy8gTWFqb3IsIE1pbm9yLCBCdWlsZAotCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBJTUFHRV9BUlJBWV9OQU1FW10gPSAKLXsKLS8vICBzdHJ1Y3QgSW1hZ2VIZHIKLS8vICB7Ci0vLyAgICAgIFdPUkQgICAgTGVuZ3RoOwotLy8gICAgICBCWVRFICAgIENoZWNrU3VtOwotLy8gIH07Ci0weDg3LCAweDMyLAotMHg5YSwKLQotMHgwMiwgMHgyNywgMHhiZiwgMHgwMiwgMHgyMSwgMHhiMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgxZSwgMHgwMCwgMHgwMCwKLTB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDEsIDB4MWEsIDB4ODUsIDB4M2YsIAotMHg4YywgMHg4NSwgMHg0MCwgMHg4YSwgMHhjMCwgMHhlMCwgMHhjMCwgMHhkMCwgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHgwMCwgCi0weGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweGU1LCAweDNlLCAKLTB4MjQsIDB4MDgsIDB4ZjgsIDB4ZTYsIDB4NjAsIDB4MmIsIDB4ZTUsIDB4M2UsIDB4MjQsIDB4MTAsIDB4ZjgsIDB4YTYsIDB4ODEsIDB4ZTUsIDB4M2UsIDB4NzUsIAotMHhmMCwgMHgyMSwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmOCwgMHhmNSwgMHg4MywgMHg3OCwgMHg4YywgMHhlNSwgMHg4MSwgCi0weDA0LCAweGMzLCAweDk4LCAweGY5LCAweDk0LCAweDIyLCAweDQwLCAweDAzLCAweDAyLCAweDExLCAweGRjLCAweGU2LCAweGYwLCAweDA4LCAweGEzLCAweGQ5LAotMHhmYSwgMHg3NCwgMHgwOCwgMHgyNSwgMHgzZSwgMHhmOCwgMHgwNSwgMHgzZSwgMHgwOCwgMHhlNiwgMHg1NCwgMHg4MCwgMHg3MCwgMHgwYywgMHhlNSwgMHgzZSwgCi0weGI0LCAweDA3LCAweGYzLCAweDc4LCAweDA4LCAweDc1LCAweDNlLCAweDAwLCAweDgwLCAweGVmLCAweGU1LCAweDNlLCAweDI0LCAweDEwLCAweGY4LCAweDg2LCAKLTB4ODEsIDB4ZTUsIDB4M2UsIDB4NzUsIDB4ZjAsIDB4MjEsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZjgsIDB4ZjUsIDB4ODMsIAotMHg3OCwgMHg4YywgMHhlNSwgMHg4MSwgMHgwNCwgMHhjMywgMHg5OCwgMHhmOSwgMHhlMCwgMHhmNiwgMHgwOCwgMHhhMywgMHhkOSwgMHhmYSwgMHhkMCwgMHgwNywgCi0weGQwLCAweDA2LCAweGQwLCAweDA1LCAweGQwLCAweDA0LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweGQwLCAweDgzLCAKLTB4ZDAsIDB4ODIsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MzAsIDB4MDEsIDB4NGQsIDB4MzAsIDB4YjQsIDB4NDgsIDB4MTAsIAotMHgwMCwgMHg0NSwgMHg5MCwgMHhmZiwgMHgwOCwgMHhlMCwgMHg1NCwgMHgyMCwgMHhmOCwgMHg5MCwgMHhmZiwgMHg0OCwgMHhlMCwgMHg1NCwgMHgyMCwgMHhmOSwgCi0weDkwLCAweGZmLCAweDEwLCAweGUwLCAweDU0LCAweDIwLCAweGZhLCAweDkwLCAweGZmLCAweDUwLCAweGUwLCAweDU0LCAweDIwLCAweGZiLCAweDc0LCAweDAwLCAKLTB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4YzgsIDB4ZjAsIDB4NjgsIDB4NjAsIDB4MDIsIDB4N2UsIDB4MDQsIDB4YTMsIDB4ZTAsIAotMHhjOSwgMHhmMCwgMHg2OSwgMHg2MCwgMHgwMiwgMHg3ZSwgMHgwNCwgMHhhMywgMHhlMCwgMHhjYSwgMHhmMCwgMHg2YSwgMHg2MCwgMHgwMiwgMHg3ZSwgMHgwNCwgCi0weGEzLCAweGUwLCAweGNiLCAweGYwLCAweDZiLCAweDYwLCAweDAyLCAweDdlLCAweDA0LCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGQwLCAweGMwLCAweGYwLCAKLTB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDQsIDB4YzAsIDB4MDUsIAotMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg3NCwgMHgxNSwgMHhmNSwgMHg4MiwgMHg3NCwgMHhmOSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyMywgMHg3NCwKLTB4NjYsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZjAsIDB4NzAsIDB4MTYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4NzQsCi0weDFjLCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDA0LCAweDE0LCAweGYwLCAweDcwLCAweDA0LCAweGMyLCAweDkwLAotMHg4MCwgMHhmYywgMHg5MCwgMHhmZiwgMHg5MywgMHg3NCwgMHg4MSwgMHhmMCwgMHhlNSwgMHg4MSwgMHg5NCwgMHhmZCwgMHg0MCwgMHgwMywgMHgwMiwgMHgxMSwKLTB4ZGMsIDB4ODUsIDB4NDEsIDB4OGQsIDB4ODUsIDB4NDIsIDB4OGIsIDB4NzQsIDB4YjIsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZmEsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0weGI0LCAweDAxLCAweDFiLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweDkwLCAweGZmLCAweDRhLCAweGUwLCAweDMwLCAweGU3LCAweDJjLCAweDkwLCAweGZmLAotMHg0ZSwgMHhlMCwgMHgzMCwgMHhlNywgMHgyNSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgyMCwgMHhiNCwgMHgwMiwKLTB4MWQsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4OTAsIDB4ZmYsIDB4N2EsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MDUsIDB4MTIsIDB4MjgsIDB4NGUsIDB4ODAsCi0weDA5LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweDc0LCAweDAzLCAweGYwLCAweDgwLCAweDA0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGEzLCAweGUwLAotMHhiNCwgMHgwMSwgMHgxYiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHg5MCwgMHhmZiwgMHg1MiwgMHhlMCwgMHgzMCwgMHhlNywgMHgyYywgMHg5MCwgMHhmZiwKLTB4NTYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MjUsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MjUsIDB4YjQsIDB4MDIsCi0weDIyLCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweDkwLCAweGZmLCAweDdhLCAweGUwLCAweDMwLCAweGU3LCAweDA1LCAweDEyLCAweDI4LCAweDRlLCAweDgwLAotMHgwOSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg3NCwgMHgwMywgMHhmMCwgMHg4MCwgMHgwOSwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHg4MCwgMHgwMywKLTB4MDIsIDB4MDIsIDB4OTAsIDB4NzQsIDB4MTYsIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4MDQsIDB4ZjEsIDB4MjAsCi0weDAyLCAweDAzLCAweDMwLCAweDAxLCAweGViLCAweDc0LCAweDE5LCAweGY1LCAweDgyLCAweDc0LCAweGY5LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweGZjLAotMHhmMCwgMHhhMywgMHhlMCwgMHhmZCwgMHhhMywgMHhlMCwgMHhmZSwgMHg2NCwgMHgwNCwgMHg3MCwgMHgwZiwgMHhlYywgMHg3MCwgMHg2MiwgMHg3ZSwgMHgwMSwKLTB4MTIsIDB4MDAsIDB4YzksIDB4N2MsIDB4MGEsIDB4N2QsIDB4ZmEsIDB4MDIsIDB4MDIsIDB4NjEsIDB4MTIsIDB4MDAsIDB4YzksIDB4ZWUsIDB4NjQsIDB4MDQsCi0weDYwLCAweDFkLCAweGVjLCAweDcwLCAweDRiLCAweDdjLCAweDBhLCAweGVkLCAweDE0LCAweGZkLCAweDcwLCAweDE1LCAweGVlLCAweDY0LCAweDAyLCAweDYwLAotMHgwNywgMHg3ZSwgMHgwMiwgMHg3ZCwgMHgzMiwgMHgwMiwgMHgwMiwgMHg2MSwgMHg3ZSwgMHgwMSwgMHg3ZCwgMHhmYSwgMHgwMiwgMHgwMiwgMHg2MSwgMHg3YywKLTB4MGEsIDB4NzQsIDB4MTksIDB4ZjUsIDB4ODIsIDB4NzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YTMsIDB4ZWQsIDB4ZjAsIDB4YTMsIDB4ZWUsCi0weGYwLCAweDE0LCAweDYwLCAweDE4LCAweDIwLCAweGUxLCAweDBmLCAweDIwLCAweDAxLCAweDA2LCAweGQyLCAweGIxLCAweGMyLCAweGIwLCAweDgwLCAweDEwLAotMHhjMiwgMHhiMSwgMHhkMiwgMHhiMCwgMHg4MCwgMHgwYSwgMHhjMiwgMHhiMSwgMHhjMiwgMHhiMCwgMHg4MCwgMHgwNCwgMHhkMiwgMHhiMCwgMHhkMiwgMHhiMSwKLTB4NzgsIDB4MTksIDB4NzksIDB4MDksIDB4N2EsIDB4MDcsIDB4ZTcsIDB4NzAsIDB4MDQsIDB4YTYsIDB4MDAsIDB4ODAsIDB4MGIsIDB4ZTYsIDB4NjAsIDB4MDgsCi0weDE2LCAweGU2LCAweDcwLCAweDA0LCAweGU3LCAweDQ0LCAweDgwLCAweGY3LCAweDA4LCAweDA5LCAweGRhLCAweGVhLCAweGU1LCAweDNkLCAweDYwLCAweDEzLAotMHgxNCwgMHhmNSwgMHgzZCwgMHg3MCwgMHgwZSwgMHhlNSwgMHgzZSwgMHgyNCwgMHgwOCwgMHhmOCwgMHg3NiwgMHgwMCwgMHgxMiwgMHgxMSwgMHg1NywgMHhkMiwKLTB4OGMsIDB4ZDIsIDB4OGQsIDB4ZDAsIDB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDQsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsCi0weDAxLCAweGQwLCAweDAwLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweGYwLCAweGQwLCAweGQwLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweGZmLAotMHgwNCwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiOSwgMHhmMCwgMHg5MCwgMHhmZiwgMHgwNiwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmYSwgMHhlYywgMHhmZiwKLTB4ZWEsIDB4ZmUsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4MDgsIDB4ZWUsIDB4OTQsIDB4MDEsIDB4NTAsIDB4MDIsIDB4ODAsIDB4MDQsIDB4N2UsIDB4MDEsIDB4N2YsCi0weDA4LCAweDhlLCAweDNiLCAweDhmLCAweDNjLCAweDkwLCAweGZmLCAweDAyLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZhLCAweGVjLCAweGZmLCAweGVhLAotMHg5MCwgMHhmYSwgMHhiZCwgMHhmMCwgMHhlZiwgMHhhMywgMHhmMCwgMHgxMiwgMHgxYywgMHhlMCwgMHhlNCwgMHhmNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhjMywKLTB4OTQsIDB4MDIsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MWMsIDB4YzEsIDB4ZTQsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MDUsIDB4NGQsIDB4MDQsIDB4MTIsIDB4MWMsCi0weGIyLCAweDgwLCAweGVhLCAweDEyLCAweDFjLCAweGUwLCAweDkwLCAweGZmLCAweDAwLCAweGUwLCAweGZmLCAweDU0LCAweDYwLCAweDI0LCAweGMwLCAweDcwLAotMHgwMywgMHgwMiwgMHgwOCwgMHhmMywgMHgyNCwgMHg0MCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZSwKLTB4NTQsIDB4MGYsIDB4ZjUsIDB4NGQsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4ZDMsIDB4ODAsIDB4MDEsIDB4YzMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4ZmYsCi0weDAxLCAweGUwLCAweDEyLCAweDFiLCAweGZjLCAweDAzLCAweDg0LCAweDAwLCAweDA0LCAweDU3LCAweDAxLCAweDA1LCAweDZhLCAweDAzLCAweDA2LCAweDMxLAotMHgwNSwgMHgwNiwgMHg3MywgMHgwNiwgMHgwNywgMHhkNSwgMHgwOCwgMHgwOCwgMHgxZCwgMHgwOSwgMHgwOCwgMHg3OSwgMHgwYSwgMHgwOCwgMHhiOSwgMHgwYiwKLTB4MDAsIDB4MDAsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsCi0weDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDY0LCAweDAyLCAweDQ1LCAweDNiLCAweDYwLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlZiwgMHg1NCwgMHgxZiwgMHgxNCwgMHg2MCwgMHgyYiwgMHgxNCwgMHg2MCwgMHg0NywgMHgyNCwgMHgwMiwgMHg2MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZWUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWMsIDB4YzEsIDB4NzQsIDB4MDEsIDB4MTIsCi0weDFhLCAweGU4LCAweDc4LCAweDY3LCAweGU2LCAweDMwLCAweGUwLCAweDA4LCAweDEyLCAweDFjLCAweGMxLCAweDc0LCAweDAyLCAweDEyLCAweDFhLCAweGU4LAotMHg3ZiwgMHgwMiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwOSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZDMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4N2YsCi0weDAyLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDBlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDYwLCAweDA3LAotMHg2NCwgMHg4MCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgwZiwgMHhmYSwgMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwKLTB4NGQsIDB4NzAsIDB4MTksIDB4MzAsIDB4MGEsIDB4MGIsIDB4OTAsIDB4ZmYsIDB4ODAsIDB4MTIsIDB4MWMsIDB4YmUsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4ODAsCi0weDI0LCAweDkwLCAweGZmLCAweDgyLCAweDEyLCAweDFjLCAweGJlLCAweDEyLCAweDFhLCAweGU4LCAweDgwLCAweDE5LCAweDE1LCAweDRkLCAweDMwLCAweDBhLAotMHgwYiwgMHgxMiwgMHgxZCwgMHg1NSwgMHgxMiwgMHgxYywgMHhiYywgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwgMHgwOSwgMHgxMiwgMHgxZCwgMHg2MywgMHgxMiwKLTB4MWMsIDB4YmMsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MTIsIDB4MWMsIDB4YzEsIDB4MTIsIDB4MWEsIDB4YTIsIDB4NjAsIDB4MDUsIDB4NzQsIDB4MDEsIDB4MTIsCi0weDFhLCAweGU4LCAweDdmLCAweDAyLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LAotMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHgxNCwgMHg2MCwgMHgyZCwgMHgxNCwgMHg2MCwKLTB4NTksIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4YTMsIDB4ZTAsCi0weDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLAotMHg3OCwgMHg2NywgMHhlNiwgMHg1NCwgMHhmZSwgMHhmNiwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwNiwKLTB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTAsIDB4MDksIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUxLCAweDBjLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGQzLCAweDk0LCAweDAxLAotMHg0MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwMiwKLTB4YTMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MGYsIDB4ZmEsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsCi0weDM1LCAweDIwLCAweGUxLCAweDA2LCAweDIwLCAweGUwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDMwLCAweGUwLCAweDA3LCAweGU1LAotMHg0ZCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHg0ZCwgMHg3MCwgMHgwZiwgMHg5MCwgMHhmZiwgMHg4MiwgMHhlMCwgMHg1NCwgMHhmNywKLTB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODAsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4NGQsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MjAsIDB4MjQsCi0weGZiLCAweDYwLCAweDM0LCAweDI0LCAweDA2LCAweDcwLCAweDM1LCAweDMwLCAweDBhLCAweDBjLCAweGEyLCAweDBhLCAweGU0LCAweDMzLCAweGZkLCAweDdmLAotMHgwMywgMHgxMiwgMHgyZSwgMHg3OSwgMHg4MCwgMHgyNiwgMHhlNCwgMHhmZCwgMHg3ZiwgMHgwMywgMHgxMiwgMHgyZSwgMHg3OSwgMHg4MCwgMHgxZCwgMHgzMCwKLTB4MGEsIDB4MGMsIDB4YTIsIDB4MGEsIDB4ZTQsIDB4MzMsIDB4ZmQsIDB4N2YsIDB4MDQsIDB4MTIsIDB4MmUsIDB4NzksIDB4ODAsIDB4MGUsIDB4ZTQsIDB4ZmQsCi0weDdmLCAweDA0LCAweDEyLCAweDJlLCAweDc5LCAweDgwLCAweDA1LCAweDdmLCAweDg3LCAweDEyLCAweDMxLCAweGVmLCAweDE1LCAweDRkLCAweDMwLCAweDBhLAotMHgwYiwgMHgxMiwgMHgxZCwgMHg1NSwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg4MCwgMHgwOSwgMHgxMiwgMHgxZCwgMHg2MywgMHhmNSwKLTB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsCi0weDBmLCAweDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDE0LCAweDYwLAotMHgyZCwgMHgxNCwgMHg2MCwgMHg1NSwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwKLTB4MDQsIDB4YTMsIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsCi0weDAyLCAweDBmLCAweDZlLCAweDc4LCAweDY3LCAweGU2LCAweDQ0LCAweDAxLCAweGY2LCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LAotMHgyMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHhlMCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlMCwgMHgwNywgMHhlNSwgMHg0ZCwKLTB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTEsIDB4MGEsIDB4ZTUsIDB4NGQsIDB4ZDMsIDB4OTQsIDB4MDEsIDB4NDAsCi0weDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDcwLCAweDAyLCAweGEzLAotMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgzMiwgMHgzZiwgMHg0MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTEsIDB4MDYsIDB4MjAsIDB4ZTAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4NGQsCi0weDcwLCAweDA5LCAweDMwLCAweDBhLCAweDAzLCAweDAyLCAweDFlLCAweDE0LCAweDAyLCAweDFkLCAweGRmLCAweGU1LCAweDM1LCAweDIwLCAweGUxLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHgxNSwgMHg0ZCwgMHgzMCwgMHgwYSwgMHgwYiwgMHgxMiwgMHgxZCwgMHg1NSwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwKLTB4ZjAsIDB4ODAsIDB4MDksIDB4MTIsIDB4MWQsIDB4NjMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzIsCi0weDZlLCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDNjLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLAotMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwgMHg3OSwgMHg2MCwgMHgwMywKLTB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTAsCi0weGZmLCAweGZmLCAweGYwLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDM1LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDM1LCAweGZlLCAweGU0LCAweGZmLAotMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg3MCwKLTB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsCi0weGZjLCAweGEzLCAweGUwLCAweGZkLCAweGVjLCAweDI0LCAweGZlLCAweDYwLCAweDNhLCAweDE0LCAweDYwLCAweDc1LCAweDI0LCAweDAyLCAweDYwLCAweDAzLAotMHgwMiwgMHgwZiwgMHg2ZSwgMHhlZCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxYywgMHhlMCwgMHgxMiwgMHgxZSwgMHgwZCwgMHg3ZCwKLTB4MDMsIDB4MTIsIDB4MGYsIDB4YjUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MGYsIDB4NzIsIDB4OTAsIDB4ZmEsIDB4YjYsIDB4ZTAsCi0weGZkLCAweGEzLCAweDEyLCAweDFkLCAweDJiLCAweDEyLCAweDBmLCAweGQxLCAweDUwLCAweDAyLCAweDgwLCAweDA0LCAweGFlLCAweDNiLCAweGFmLCAweDNjLAotMHgwMiwgMHgxMCwgMHgwMiwgMHgxMiwgMHgxYywgMHhlMCwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlNCwgMHgwZCwgMHgxMiwgMHgxZSwgMHgwZCwKLTB4N2QsIDB4MTQsIDB4MTIsIDB4MGYsIDB4YjUsIDB4NjAsIDB4MTAsIDB4MDIsIDB4MGYsIDB4NmUsIDB4MTIsIDB4MWUsIDB4MGQsIDB4N2QsIDB4MDQsIDB4MTIsCi0weDEwLCAweDA5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDBmLCAweDcyLCAweDkwLCAweGZhLCAweGI2LCAweGUwLCAweGZkLCAweGEzLAotMHgxMiwgMHgxZCwgMHgyYiwgMHgxMiwgMHgwZiwgMHhkMSwgMHg1MCwgMHgwMiwgMHg4MCwgMHgwNCwgMHhhZSwgMHgzYiwgMHhhZiwgMHgzYywgMHgwMiwgMHgxMCwKLTB4MDIsIDB4MTIsIDB4MWUsIDB4MGQsIDB4N2QsIDB4MDUsIDB4MTIsIDB4MTAsIDB4MDksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4N2IsIDB4MDEsCi0weDdhLCAweGZhLCAweDc5LCAweGI2LCAweDEyLCAweDFkLCAweDI4LCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGI3LCAweGU0LAotMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHgxYiwgMHgxYywgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiNSwgMHhmMCwgMHhlNCwgMHhmNSwKLTB4NGMsIDB4OTAsIDB4ZmEsIDB4YjUsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NGMsIDB4YzMsIDB4OWYsIDB4NTAsIDB4MjQsIDB4MTIsIDB4MWQsIDB4MjIsIDB4MTIsCi0weDEwLCAweDE0LCAweGZmLCAweGZkLCAweDkwLCAweGZhLCAweGI3LCAweGU0LCAweDhkLCAweGYwLCAweDEyLCAweDFiLCAweDFjLCAweDkwLCAweGZhLCAweGI2LAotMHhlMCwgMHhjMywgMHg5ZiwgMHhmMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgwNSwgMHg0YywgMHg4MCwgMHhkMSwKLTB4MTIsIDB4MWQsIDB4MjIsIDB4MTIsIDB4MTAsIDB4MTQsIDB4MjQsIDB4ZmUsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4YjYsIDB4ZjAsIDB4ZmQsIDB4YTMsIDB4ZTQsCi0weDc1LCAweGYwLCAweDAyLCAweDEyLCAweDFiLCAweDFjLCAweDdhLCAweGY5LCAweDc5LCAweDcyLCAweDdiLCAweDAxLCAweDhiLCAweDM2LCAweDhhLCAweDM3LAotMHg4OSwgMHgzOCwgMHhlOSwgMHgyNCwgMHgwMiwgMHhmOSwgMHhlNCwgMHgzYSwgMHhmYSwgMHgxMiwgMHgxZCwgMHgyOCwgMHgxMiwgMHgyNiwgMHg5OCwgMHg4ZiwKLTB4NGMsIDB4MDUsIDB4NGMsIDB4MDUsIDB4NGMsIDB4MTIsIDB4MWMsIDB4YzEsIDB4ZTUsIDB4NGMsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MTIsIDB4MWMsIDB4YzEsCi0weDkwLCAweDAwLCAweDAxLCAweDc0LCAweDAzLCAweDEyLCAweDFhLCAweGZhLCAweGFmLCAweDRjLCAweDdlLCAweDAwLCAweGMzLCAweGVmLCAweDk1LCAweDNjLAotMHhlZSwgMHg5NSwgMHgzYiwgMHg1MCwgMHgwMiwgMHg4MCwgMHgwNCwgMHhhZSwgMHgzYiwgMHhhZiwgMHgzYywgMHg4ZSwgMHgzOSwgMHg4ZiwgMHgzYSwgMHgwMiwKLTB4MmMsIDB4ZDgsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4M2MsIDB4NjQsCi0weDAxLCAweDQ1LCAweDNiLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHgxMiwgMHgxZCwKLTB4NzksIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZTUsIDB4MzUsIDB4MjAsIDB4ZTAsIDB4MDYsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGYsCi0weDZlLCAweDc1LCAweDM2LCAweDAwLCAweDc1LCAweDM3LCAweDAwLCAweDc1LCAweDM4LCAweDMyLCAweDAyLCAweDBmLCAweGYxLCAweGU1LCAweDM1LCAweDMwLAotMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzYywgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwKLTB4YjksIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZDMsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTQsIDB4MDEsIDB4OTAsIDB4ZmEsCi0weGJkLCAweGUwLCAweDk0LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDYwLCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMCwgMHgwNiwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiZSwgMHhlMCwKLTB4ZjUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4NzAsIDB4MDgsIDB4NDMsIDB4MzUsIDB4MDEsIDB4NTMsIDB4MzUsIDB4ZmQsIDB4ODAsIDB4MDYsIDB4NTMsIDB4MzUsCi0weGZlLCAweDQzLCAweDM1LCAweDAyLCAweGU0LCAweGZmLCAweDAyLCAweDMyLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLAotMHg2ZSwgMHhlNSwgMHgzYywgMHg2NCwgMHgwMSwgMHg0NSwgMHgzYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwKLTB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4NzAsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDMsIDB4MDIsCi0weDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweGU1LCAweDM1LCAweDIwLCAweGUxLAotMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHg3ZiwgMHgwMSwgMHgwMiwgMHgzMiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwKLTB4NmUsIDB4ZTUsIDB4M2MsIDB4NDUsIDB4M2IsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NmUsIDB4ZDMsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4OTQsCi0weDAwLCAweDkwLCAweGZhLCAweGJkLCAweGUwLCAweDk0LCAweDAwLCAweDQwLCAweDAzLCAweDAyLCAweDBmLCAweDZlLCAweDEyLCAweDFkLCAweDc5LCAweDY0LAotMHgwMSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZiwgMHg2ZSwgMHhlNCwgMHhmZiwKLTB4MDIsIDB4MzIsIDB4NmUsIDB4OTAsIDB4ZmYsIDB4MDEsIDB4MTIsIDB4MWUsIDB4MjQsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4OTAsIDB4ZmEsIDB4YjksCi0weDEyLCAweDFlLCAweDI0LCAweDkwLCAweDAwLCAweDAxLCAweGVmLCAweDEyLCAweDFhLCAweGZhLCAweDkwLCAweDAwLCAweDAyLCAweGU0LCAweDEyLCAweDFhLAotMHhmYSwgMHg3NCwgMHgwMywgMHgxMiwgMHgxYywgMHhiMiwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHhmZiwgMHhhMywgMHhlMCwgMHg4NSwgMHgzOCwgMHg4MiwKLTB4ODUsIDB4MzcsIDB4ODMsIDB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MDEsIDB4ZTAsIDB4MTIsIDB4MWIsIDB4ZmMsIDB4MDksCi0weDdiLCAweDAyLCAweDA5LCAweDlkLCAweDA0LCAweDA5LCAweGJmLCAweDA1LCAweDA5LCAweGViLCAweDA2LCAweDBhLCAweDA5LCAweDA3LCAweDBhLCAweDI3LAotMHgwOCwgMHgwYSwgMHg0NSwgMHgwOSwgMHgwYSwgMHg2MywgMHgwYiwgMHgwYiwgMHgxOCwgMHg4MCwgMHgwZCwgMHhiNywgMHg4MSwgMHgwZCwgMHhlOCwgMHg4MiwKLTB4MGIsIDB4NWYsIDB4ODMsIDB4MGIsIDB4YTgsIDB4ODQsIDB4MGIsIDB4YzcsIDB4ODUsIDB4MGMsIDB4MGMsIDB4ODYsIDB4MGMsIDB4NTcsIDB4ODcsIDB4MGMsCi0weGU4LCAweDg4LCAweDBkLCAweDczLCAweDg5LCAweDBhLCAweDgxLCAweDkyLCAweDBhLCAweDgxLCAweDkzLCAweDBkLCAweGEwLCAweGIwLCAweDBlLCAweDliLAotMHhjMCwgMHgwZSwgMHhjNywgMHhjMSwgMHgwZSwgMHhkOCwgMHhjMiwgMHgwMCwgMHgwMCwgMHgwZiwgMHg1ZCwgMHhlNSwgMHgzNSwgMHgyMCwgMHhlNywgMHgwNSwKLTB4N2YsIDB4MDUsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsCi0weDAwLCAweDdmLCAweDA3LCAweDAyLCAweDExLCAweDVlLCAweGU0LCAweGZkLCAweDdmLCAweDA3LCAweDAyLCAweDJmLCAweGI0LCAweGU1LCAweDM1LCAweDIwLAotMHhlNywgMHgwNSwgMHg3ZiwgMHgwNSwgMHgwMiwgMHgzMSwgMHhhOSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwKLTB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGMsIDB4MDIsIDB4MTEsIDB4NWUsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MmYsIDB4YjQsIDB4ZTUsCi0weDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDcxLCAweDEyLCAweDFlLCAweDQyLCAweDUwLCAweDA2LCAweGU1LCAweDNjLCAweDQ1LCAweDNiLAotMHg3MCwgMHgwNSwgMHg3ZiwgMHgwMiwgMHgwMiwgMHgzMSwgMHhhOSwgMHg5MCwgMHhmYSwgMHhiOSwgMHhlMCwgMHgyNCwgMHhmZSwgMHgyNCwgMHhmZCwgMHg1MCwKLTB4MDIsIDB4ODAsIDB4MDMsIDB4MDIsIDB4MzIsIDB4MmMsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsCi0weDAyLCAweDBmLCAweDcxLCAweDEyLCAweDFkLCAweDcxLCAweDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLAotMHgwOCwgMHgwMiwgMHgxMSwgMHg1ZSwgMHg3ZiwgMHgwNywgMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwKLTB4NzEsIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MDksIDB4MDIsCi0weDExLCAweDVlLCAweDdmLCAweDA3LCAweDAyLCAweDMxLCAweGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDAzLCAweDAyLCAweDBmLCAweDcxLCAweDEyLAotMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywgMHgwNCwgMHg3MCwgMHgwOSwgMHhlZiwgMHhmZCwgMHg3YywgMHgwMCwgMHg3ZiwgMHgwYSwgMHgwMiwgMHgxMSwgMHg1ZSwKLTB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsIDB4ZTcsIDB4MDMsIDB4MDIsIDB4MGYsIDB4NzEsIDB4MTIsIDB4MWQsIDB4NzEsCi0weDYwLCAweDAzLCAweDA0LCAweDcwLCAweDA5LCAweGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBiLCAweDAyLCAweDExLCAweDVlLCAweDdmLCAweDA3LAotMHgwMiwgMHgzMSwgMHhhOSwgMHhlNSwgMHgzNSwgMHgzMCwgMHhlNywgMHgwMywgMHgwMiwgMHgwZiwgMHg3MSwgMHgxMiwgMHgxZCwgMHg3MSwgMHg2MCwgMHgwMywKLTB4MDQsIDB4NzAsIDB4MDksIDB4ZWYsIDB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MGUsIDB4MDIsIDB4MTEsIDB4NWUsIDB4N2YsIDB4MDcsIDB4MDIsIDB4MzEsCi0weGE5LCAweGU1LCAweDM1LCAweDMwLCAweGU3LCAweDU2LCAweDEyLCAweDFkLCAweDc5LCAweDcwLCAweDRhLCAweDkwLCAweGZmLCAweDAyLCAweGUwLCAweGY1LAotMHg0YywgMHhlNSwgMHg0YywgMHhiNCwgMHg4MiwgMHgwNSwgMHg3NSwgMHg0YywgMHg2MSwgMHg4MCwgMHgxMiwgMHhlNSwgMHg0YywgMHhiNCwgMHg4MywgMHgwNSwKLTB4NzUsIDB4NGMsIDB4NjIsIDB4ODAsIDB4MDgsIDB4ZTUsIDB4NGMsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4MDQsIDB4ZjUsIDB4NGMsIDB4MTIsIDB4MWMsIDB4MjIsCi0weDEyLCAweDFlLCAweDNiLCAweDEyLCAweDI1LCAweGZhLCAweDEyLCAweDFkLCAweDg5LCAweDEyLCAweDFhLCAweGJiLCAweDYwLCAweDA1LCAweDEyLCAweDMyLAotMHg3YSwgMHg4MCwgMHgwNiwgMHg4NSwgMHgzMywgMHgzOSwgMHg4NSwgMHgzNCwgMHgzYSwgMHg3NSwgMHgzNiwgMHgwMSwgMHg3NSwgMHgzNywgMHhmOSwgMHg3NSwKLTB4MzgsIDB4NzUsIDB4MDIsIDB4MmMsIDB4ZDgsIDB4ZTQsIDB4ZmQsIDB4N2YsIDB4MDUsIDB4MDIsIDB4MmYsIDB4YjQsIDB4MTIsIDB4MWQsIDB4NzksIDB4NjAsCi0weDA1LCAweDdmLCAweDA1LCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFlLCAweDQyLCAweDQwLCAweDA1LCAweDdmLCAweDAzLCAweDAyLCAweDMxLCAweGE5LAotMHg5MCwgMHhmZiwgMHgwMiwgMHhlMCwgMHhmNSwgMHg0YywgMHhlNSwgMHg0YywgMHhiNCwgMHg4MiwgMHgwNSwgMHg3NSwgMHg0YywgMHg2MSwgMHg4MCwgMHgxMiwKLTB4ZTUsIDB4NGMsIDB4YjQsIDB4ODMsIDB4MDUsIDB4NzUsIDB4NGMsIDB4NjIsIDB4ODAsIDB4MDgsIDB4ZTUsIDB4NGMsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4MDQsCi0weGY1LCAweDRjLCAweDEyLCAweDFjLCAweDIyLCAweDAyLCAweDMyLCAweDJjLCAweDEyLCAweDFlLCAweDRjLCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDFkLAotMHgzMywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhlMCwgMHg5MCwgMHhmYSwgMHhiYSwgMHhmMCwgMHg3OCwgMHg2OCwgMHgxMiwKLTB4MWIsIDB4ZDgsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MWEsIDB4YmIsIDB4MzAsIDB4ZTcsIDB4ZjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4ZTQsIDB4MTIsCi0weDFhLCAweGZhLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDQ0LCAweDgwLCAweGZmLCAweGYwLCAweDc4LCAweDdjLCAweGU2LCAweGZjLCAweDA4LCAweGU2LAotMHg4YywgMHg4MywgMHgxMiwgMHgxZCwgMHgzYiwgMHhlZiwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHhlNCwgMHhmZiwgMHgwMiwgMHgzMSwgMHhhOSwgMHg5MCwKLTB4ZmEsIDB4YjksIDB4ZTAsIDB4NjQsIDB4MDEsIDB4NzAsIDB4MWYsIDB4OTAsIDB4ZmEsIDB4YmQsIDB4ZTAsIDB4ZmYsIDB4N2UsIDB4MDAsIDB4NzAsIDB4MDYsCi0weGEzLCAweGUwLCAweGY1LCAweDkwLCAweDgwLCAweDJkLCAweGMyLCAweGFmLCAweGVmLCAweGY0LCAweDUyLCAweDkwLCAweDkwLCAweGZhLCAweGJlLCAweGUwLAotMHg0MiwgMHg5MCwgMHhkMiwgMHhhZiwgMHg4MCwgMHgxZCwgMHg5MCwgMHhmYSwgMHhiZCwgMHhlMCwgMHhmZiwgMHg3ZSwgMHgwMCwgMHg3MCwgMHgwNiwgMHhhMywKLTB4ZTAsIDB4ZjUsIDB4YjAsIDB4ODAsIDB4MGUsIDB4YzIsIDB4YWYsIDB4ZWYsIDB4ZjQsIDB4NTIsIDB4YjAsIDB4OTAsIDB4ZmEsIDB4YmUsIDB4ZTAsIDB4NDIsCi0weGIwLCAweGQyLCAweGFmLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFjLCAweGUwLCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGI0LAotMHgwMSwgMHgwYSwgMHgxMiwgMHgxYywgMHhjMSwgMHhlNSwgMHg5MCwgMHgxMiwgMHgxYSwgMHhlOCwgMHg4MCwgMHgwOCwgMHgxMiwgMHgxYywgMHhjMSwgMHhlNSwKLTB4YjAsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MDIsIDB4MGYsIDB4ZjEsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4MjQsIDB4MTMsIDB4MTIsIDB4MWMsCi0weGYxLCAweDIwLCAweGUxLCAweDMzLCAweDEyLCAweDFkLCAweDgwLCAweGVmLCAweDI0LCAweGZjLCAweDYwLCAweDE4LCAweDA0LCAweDcwLCAweDI4LCAweDkwLAotMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg0NCwgMHgxMCwgMHhmMCwgMHg4MCwgMHgxOSwgMHgxMiwgMHgxZSwKLTB4NTYsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MTAsCi0weGYwLCAweDgwLCAweDA0LCAweDEyLCAweDFlLCAweDVkLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDkwLCAweGZhLCAweGI5LCAweGUwLAotMHhmZiwgMHgyNCwgMHgxMywgMHgxMiwgMHgxYywgMHhmMSwgMHgyMCwgMHhlMSwgMHgzOSwgMHgxMiwgMHgxZCwgMHg4MCwgMHhlZiwgMHgyNCwgMHhmYywgMHg2MCwKLTB4MWIsIDB4MDQsIDB4NzAsIDB4MmUsIDB4OTAsIDB4ZmEsIDB4YmEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4ZmYsIDB4YTQsIDB4ZTAsIDB4NDQsIDB4MjAsCi0weGYwLCAweDgwLCAweDFmLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDgwLCAweDE2LCAweDkwLCAweGZhLCAweGJhLCAweGUwLAotMHg2MCwgMHgwOSwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg1NCwKLTB4ZGYsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ODAsIDB4MTIsIDB4MWQsIDB4NzEsIDB4NjAsIDB4NGQsIDB4MDQsCi0weDYwLCAweDAzLCAweDAyLCAweDBjLCAweGUzLCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDBmLCAweDkwLCAweGZmLCAweGE0LCAweDEyLCAweDFjLAotMHhlYSwgMHgzMCwgMHhlMSwgMHg2ZiwgMHgxMiwgMHgxZSwgMHgyYywgMHgwMiwgMHgwYywgMHhlMywgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhmYiwKLTB4MTIsIDB4MWMsIDB4ZWQsIDB4ZmUsIDB4MzAsIDB4ZTEsIDB4NWMsIDB4MzAsIDB4ZTIsIDB4MTEsIDB4MzAsIDB4YjQsIDB4MDUsIDB4MTIsIDB4MWUsIDB4MmMsCi0weDgwLCAweDUxLCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDgwLCAweDQ4LCAweDMwLCAweDk1LCAweDA1LCAweDEyLCAweDFlLAotMHgyYywgMHg4MCwgMHg0MCwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg4MCwgMHgzNywgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwKLTB4NjAsIDB4MTIsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4MTIsIDB4MWMsIDB4ZWEsIDB4MzAsIDB4ZTEsIDB4MjgsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsCi0weDAyLCAweGYwLCAweDgwLCAweDFmLCAweDkwLCAweGZmLCAweGI0LCAweGUwLCAweDU0LCAweGZiLCAweDEyLCAweDFjLCAweGVkLCAweDMwLCAweGUxLCAweDEzLAotMHgzMCwgMHg5MywgMHgwOSwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwKLTB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ODAsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4MjQsCi0weGZjLCAweDYwLCAweDQwLCAweDA0LCAweDcwLCAweDc4LCAweDkwLCAweGZhLCAweGJhLCAweGUwLCAweDYwLCAweDFkLCAweDkwLCAweGZmLCAweGEyLCAweGUwLAotMHg0NCwgMHg0MCwgMHhmMCwgMHhhMywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHg2NSwgMHhkMiwgMHgwMywgMHhhMywgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwKLTB4OTAsIDB4ZmYsIDB4YTMsIDB4ZWYsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4NTUsIDB4MzAsIDB4MDMsIDB4MGUsIDB4OTAsIDB4ZmYsIDB4YTMsIDB4ZTAsCi0weDQ0LCAweDgwLCAweGYwLCAweGMyLCAweDAzLCAweGEzLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDkwLCAweGZmLCAweGEyLCAweGUwLCAweDU0LCAweGJmLAotMHhmMCwgMHg4MCwgMHgzYiwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg2MCwgMHgxZCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwKLTB4YTMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTcsIDB4MjgsIDB4ZDIsIDB4MDQsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjMsCi0weGVmLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDE4LCAweDMwLCAweDA0LCAweDBlLCAweDkwLCAweGZmLCAweGIzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLAotMHhjMiwgMHgwNCwgMHhhMywgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHhlNCwgMHhmZiwKLTB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWMsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4MjQsIDB4ZmMsIDB4NjAsIDB4MGYsIDB4MDQsIDB4NzAsCi0weDE2LCAweDkwLCAweGZmLCAweGE2LCAweGUwLCAweDEyLCAweDFjLCAweGMxLCAweDEyLCAweDFhLCAweGU4LCAweDgwLCAweDBhLCAweDkwLCAweGZmLCAweGI2LAotMHhlMCwgMHgxMiwgMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhlOCwgMHg3NSwgMHgzOSwgMHgwMCwgMHg3NSwgMHgzYSwgMHgwMSwgMHgwMiwgMHgyYywgMHhkOCwKLTB4OTAsIDB4ZjksIDB4MTUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MWMsIDB4NzQsIDB4MTksIDB4ZjAsIDB4OTAsIDB4ZjksIDB4NjYsIDB4NzQsCi0weGZmLCAweGYwLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweGU0LCAweGZmLCAweDEyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweGU3LCAweDdmLAotMHgwMywgMHgxMiwgMHgxMiwgMHg2MSwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgzMCwgMHhlNCwgMHgwOCwgMHg5MCwgMHhmZiwgMHg5MywgMHg3NCwgMHg4MCwKLTB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4ZmYsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MzAsCi0weGQzLCAweGMyLCAweDkwLCAweGMyLCAweGFmLCAweDAwLCAweDgwLCAweGZkLCAweGU0LCAweGY1LCAweDRlLCAweGY1LCAweDRmLCAweDkwLCAweGZhLCAweGJmLAotMHg3NCwgMHgzZSwgMHhmMCwgMHhhMywgMHhlNCwgMHhmMCwgMHg5MCwgMHhmYSwgMHhiNywgMHhmMCwgMHhhMywgMHg3NCwgMHgxNSwgMHhmMCwgMHhlMCwgMHg1NCwKLTB4M2YsIDB4ZmYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZjAsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4ZTQsIDB4OTQsIDB4M2UsCi0weDQwLCAweDA4LCAweDkwLCAweGZhLCAweGMwLCAweGUwLCAweDkwLCAweGZhLCAweGJjLCAweGYwLCAweDEyLCAweDBmLCAweDk4LCAweGU1LCAweDMxLCAweDQ1LAotMHgzMCwgMHg3MCwgMHg3MywgMHgxMiwgMHgxYywgMHhmYSwgMHg5MCwgMHhmYSwgMHhiZiwgMHgxMiwgMHgxZSwgMHgwNiwgMHg2MCwgMHgyNywgMHhkMywgMHhlZiwKLTB4OTQsIDB4NDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDgsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4NzQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4MDgsIDB4OTAsCi0weGZhLCAweGMwLCAweGUwLCAweDkwLCAweGZhLCAweGJjLCAweGYwLCAweDEyLCAweDBmLCAweDk4LCAweGU1LCAweDMxLCAweDQ1LCAweDMwLCAweDcwLCAweDQ2LAotMHgxMiwgMHgxYywgMHhmYSwgMHg4MCwgMHhkMSwgMHg3NSwgMHg0YywgMHgwMiwgMHg5MCwgMHhmYSwgMHhiZiwgMHhlNCwgMHhmMCwgMHhhMywgMHgwNCwgMHhmMCwKLTB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4NGMsIDB4OTAsCi0weGZhLCAweGMwLCAweGUwLCAweGY1LCAweDRhLCAweDdkLCAweDBmLCAweDdjLCAweDAwLCAweDEyLCAweDI5LCAweDYwLCAweDc1LCAweDMwLCAweDAwLCAweDhmLAotMHgzMSwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHg0YywgMHhlNCwgMHhmNSwgMHgyZCwgMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwKLTB4OTgsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4YWYsIDB4MzEsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWQsIDB4ODAsIDB4MzAsIDB4ZTcsCi0weDEwLCAweGUwLCAweDU0LCAweDBmLCAweDkwLCAweGY5LCAweDY3LCAweGYwLCAweGQzLCAweDk0LCAweDAwLCAweDQwLCAweDE1LCAweGMyLCAweDk1LCAweDgwLAotMHgxMSwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg1NCwgMHgwZiwgMHg5MCwgMHhmOSwgMHg2NSwgMHhmMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMiwKLTB4YzIsIDB4OTQsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4MTIsIDB4MWUsIDB4NGMsIDB4YmYsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4OTMsIDB4ODAsCi0weDAyLCAweGMyLCAweDkzLCAweGU0LCAweGZmLCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDFkLCAweDgwLCAweDU0LCAweDAzLCAweDE0LCAweDYwLCAweDBhLAotMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgwOCwgMHgyNCwgMHgwMywgMHg3MCwgMHgyYiwgMHhkMiwgMHg5MSwgMHg4MCwgMHgyNywgMHhjMiwgMHg5MSwKLTB4ODAsIDB4MjMsIDB4MTIsIDB4MWUsIDB4NTYsIDB4MTIsIDB4MGYsIDB4YzAsIDB4NjAsIDB4MDQsIDB4ZDIsIDB4OTEsIDB4ODAsIDB4MTcsIDB4OTAsIDB4ZmYsCi0weGE0LCAweGUwLCAweDQ0LCAweDEwLCAweDEyLCAweDBmLCAweGMwLCAweGZmLCAweGJmLCAweGEwLCAweDA0LCAweGMyLCAweDkxLCAweDgwLCAweDAyLCAweGQyLAotMHg5MSwgMHgxMiwgMHgxZSwgMHg1NiwgMHhmMCwgMHg5MCwgMHhmYSwgMHhiYSwgMHhlMCwgMHg1NCwgMHgwYywgMHhmZiwgMHgxMywgMHgxMywgMHg1NCwgMHgzZiwKLTB4MTQsIDB4NjAsIDB4MGEsIDB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsIDB4NjAsIDB4MDgsIDB4MjQsIDB4MDMsIDB4NzAsIDB4MmIsIDB4ZDIsIDB4OTIsIDB4ODAsCi0weDI3LCAweGMyLCAweDkyLCAweDgwLCAweDIzLCAweDEyLCAweDFlLCAweDVkLCAweDEyLCAweDBmLCAweGUwLCAweDYwLCAweDA0LCAweGQyLCAweDkyLCAweDgwLAotMHgxNywgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgxMCwgMHgxMiwgMHgwZiwgMHhlMCwgMHhmZiwgMHhiZiwgMHhhMCwgMHgwNCwgMHhjMiwgMHg5MiwKLTB4ODAsIDB4MDIsIDB4ZDIsIDB4OTIsIDB4MTIsIDB4MWUsIDB4NWQsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4MDIsIDB4MzEsIDB4YTksIDB4ZTUsIDB4MzUsIDB4MzAsCi0weGU3LCAweDA3LCAweGU0LCAweGZkLCAweDdmLCAweDA1LCAweDAyLCAweDJmLCAweGI0LCAweDdmLCAweDA1LCAweDAyLCAweDMxLCAweGE5LCAweDEyLCAweDMyLAotMHg3YSwgMHgyMiwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmYSwgMHg3OSwgMHhiNiwgMHg5MCwgMHhmYSwgMHhiNywgMHhlMCwgMHhmNSwgMHgyZCwgMHhhMywgMHhlMCwKLTB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDMsIDB4MTIsIDB4MWIsCi0weDFjLCAweGFiLCAweDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweDIyLCAweGFhLCAweDRlLCAweGE5LCAweDRmLCAweDdiLCAweGZmLCAweDkwLCAweGZhLAotMHhiNywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHg5MCwgMHhmYSwgMHhiYywgMHhlMCwgMHhmNSwgMHg0YSwgMHgxMiwgMHgyOSwgMHg2MCwgMHg3NSwKLTB4MzAsIDB4MDAsIDB4OGYsIDB4MzEsIDB4MjIsIDB4MTIsIDB4MjMsIDB4NjEsIDB4N2UsIDB4MDAsIDB4OGUsIDB4MzAsIDB4OGYsIDB4MzEsIDB4ZWYsIDB4MjIsCi0weGYwLCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDYxLCAweDkwLCAweGZmLCAweGE2LCAweGUwLCAweDkwLCAweGZhLCAweGJiLCAweGYwLCAweDU0LCAweGEwLAotMHgyMiwgMHgxMiwgMHgyNiwgMHg5OCwgMHg4ZiwgMHg0YywgMHg3ZSwgMHgwMCwgMHhjMywgMHhlZiwgMHg5NSwgMHgzYywgMHhlZSwgMHg5NSwgMHgzYiwgMHgyMiwKLTB4ZjAsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NjEsIDB4OTAsIDB4ZmYsIDB4YjYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4YmIsIDB4ZjAsIDB4NTQsIDB4YTAsCi0weDIyLCAweDc1LCAweDM5LCAweDAwLCAweDc1LCAweDNhLCAweDAxLCAweDAyLCAweDJjLCAweGQ4LCAweDkwLCAweGZhLCAweGI5LCAweGUwLCAweGZmLCAweDAyLAotMHgzMiwgMHgzZiwgMHg4ZSwgMHgzOSwgMHg4ZiwgMHgzYSwgMHgwMiwgMHgyYywgMHhkOCwgMHgxMiwgMHgyMywgMHg2MSwgMHg3ZSwgMHgwMCwgMHg4ZSwgMHgzMCwKLTB4OGYsIDB4MzEsIDB4ZWYsIDB4MjIsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4YjQsIDB4ZTAsIDB4MjIsIDB4ZWYsIDB4OTAsCi0weGY4LCAweDA0LCAweGYwLCAweDIyLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweGVlLCAweDYwLCAweDBhLCAweGMwLCAweDA1LCAweDdkLCAweDdmLCAweGRkLAotMHhmZSwgMHhkZSwgMHhmYSwgMHhkMCwgMHgwNSwgMHhlZiwgMHhjMywgMHg5NCwgMHgxNSwgMHg1MCwgMHgwMywgMHhkMCwgMHhhOCwgMHgyMiwgMHgxMywgMHg3MCwKLTB4MDMsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4ZmYsIDB4ZDUsIDB4MDcsIDB4ZmQsIDB4ZDAsIDB4YTgsIDB4MjIsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsCi0weDAyLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAweGU1LCAweDNlLCAweDI0LCAweDA4LCAweGY4LCAweDg2LCAweDA1LCAweDUzLCAweDA1LCAweDdmLCAweDdjLAotMHhmZiwgMHgxMiwgMHgxMCwgMHhjMCwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgwMCwgMHhlNSwgMHg0MywgMHg2MCwgMHg0NiwgMHhmYywgMHg5MCwgMHhmOSwgMHgxZCwKLTB4ZTAsIDB4NTQsIDB4N2YsIDB4NmQsIDB4NzAsIDB4MGYsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsCi0weGEzLCAweDE1LCAweDQzLCAweDgwLCAweDA3LCAweGEzLCAweGEzLCAweGEzLCAweGRjLCAweGU2LCAweDgwLCAweDI2LCAweGRjLCAweDA2LCAweGQwLCAweDgyLAotMHhkMCwgMHg4MywgMHg4MCwgMHgxZSwgMHhlMCwgMHhmOCwgMHhhMywgMHhlMCwgMHhmOSwgMHhhMywgMHhlMCwgMHhmYSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLTB4ZTgsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4ZjAsIDB4YTMsIDB4ZWEsIDB4ZjAsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YTMsIDB4YTMsIDB4YTMsCi0weDgwLCAweGRhLCAweDEyLCAweDExLCAweDU3LCAweGQwLCAweDA1LCAweGQwLCAweDA0LCAweGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweDIyLAotMHg4NSwgMHhhOCwgMHg0NCwgMHg3NSwgMHhhOCwgMHg4OCwgMHhlYywgMHg3MCwgMHgwMiwgMHg3YywgMHgzZiwgMHg4YywgMHgzZCwgMHgyMiwgMHhlNSwgMHgzZSwKLTB4MjQsIDB4MDgsIDB4ZjgsIDB4NzYsIDB4MDAsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZmIsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsCi0weGMwLCAweDA0LCAweGMwLCAweDA2LCAweDdjLCAweGZmLCAweDEyLCAweDEwLCAweGMwLCAweGU1LCAweDQzLCAweDYwLCAweDQyLCAweGZlLCAweDkwLCAweGY5LAotMHgxZCwgMHhlMCwgMHg1NCwgMHg3ZiwgMHg2ZiwgMHg3MCwgMHgwYiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhhMywgMHhhMywgMHgxNSwgMHg0MywKLTB4ODAsIDB4MDcsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZGUsIDB4ZWEsIDB4ODAsIDB4MjYsIDB4ZGUsIDB4MDYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ODAsCi0weGQ4LCAweGUwLCAweGY4LCAweGEzLCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGU4LCAweGYwLCAweGEzLAotMHhlOSwgMHhmMCwgMHhhMywgMHhlYSwgMHhmMCwgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwgMHhkYSwgMHg3OCwKLTB4MDgsIDB4MDgsIDB4NzksIDB4MTgsIDB4MDksIDB4N2MsIDB4MDEsIDB4ZTYsIDB4NTQsIDB4N2YsIDB4NmYsIDB4NzAsIDB4MDYsIDB4NzYsIDB4MDAsIDB4NzcsCi0weDAwLCAweDgwLCAweDA2LCAweDA4LCAweDA5LCAweDBjLCAweGJjLCAweDA4LCAweGVlLCAweDEyLCAweDExLCAweDU3LCAweGQwLCAweDA2LCAweGQwLCAweDA0LAotMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHgyMiwgMHg3NSwgMHgzZCwgMHgwMCwgMHg4NSwgMHg0NCwgMHhhOCwgMHgyMiwgMHhjMCwgMHhmMCwKLTB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzMsIDB4ZTUsIDB4NDMsIDB4MjQsIDB4ZTgsIDB4NTAsIDB4MDUsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZjQsCi0weGVmLCAweDYwLCAweDMxLCAweDkwLCAweDMxLCAweDExLCAweGU0LCAweDkzLCAweGMzLCAweDlmLCAweDQwLCAweDJmLCAweGMwLCAweDA0LCAweDdjLCAweGZmLAotMHgxMiwgMHgxMCwgMHhjMCwgMHhkMCwgMHgwNCwgMHg0MywgMHgwNywgMHg4MCwgMHhlNSwgMHg0MywgMHg3NSwgMHhmMCwgMHgwMywgMHhhNCwgMHgyNCwgMHgxZCwKLTB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZWMsIDB4YTMsIDB4ZjAsIDB4ZWQsIDB4YTMsIDB4ZjAsIDB4MDUsCi0weDQzLCAweDEyLCAweDExLCAweDU3LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweGYwLCAweDIyLCAweDAyLCAweDExLCAweGRjLCAweGMwLCAweDA0LAotMHg3YywgMHgyMCwgMHhkMiwgMHg4YywgMHhkMiwgMHg4ZCwgMHhkNSwgMHgwNCwgMHhmZCwgMHhkMCwgMHgwNCwgMHgyMiwgMHg3NSwgMHhhOCwgMHgwMCwgMHg3NSwKLTB4ODgsIDB4MDAsIDB4NzUsIDB4YjgsIDB4MDAsIDB4NzUsIDB4ZjAsIDB4MDAsIDB4NzUsIDB4ZDAsIDB4MDAsIDB4ZTQsIDB4ZjgsIDB4OTAsIDB4ZjgsIDB4MDQsCi0weGYwLCAweDkwLCAweDAwLCAweDAwLCAweGY2LCAweDA4LCAweGI4LCAweDAwLCAweGZiLCAweDAyLCAweDAwLCAweDAwLCAweGMyLCAweGFmLCAweGU0LCAweDkwLAotMHhmZiwgMHg0OCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg1MCwgMHhmMCwgMHg5MCwgMHhmZiwgMHgwOCwgMHhmMCwgMHg5MCwgMHhmZiwgMHgxMCwgMHhmMCwgMHg5MCwKLTB4ZmYsIDB4ODAsIDB4ZjAsIDB4YTMsIDB4YTMsIDB4ZjAsIDB4ZDIsIDB4YjEsIDB4YzIsIDB4YjAsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsCi0weDI0LCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLCAweDI0LCAweDdlLCAweGZmLCAweDdmLCAweGZmLCAweDEyLCAweDEwLCAweDI0LCAweGQyLAotMHhiMCwgMHhkMiwgMHhiMSwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwgMHgyNCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmZiwgMHgxMiwgMHgxMCwKLTB4MjQsIDB4N2UsIDB4ZmYsIDB4N2YsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4MjQsIDB4ODAsIDB4Y2MsIDB4YzMsIDB4ZWUsIDB4OTQsIDB4MDIsIDB4NTAsIDB4MDQsCi0weDdlLCAweDAzLCAweDdmLCAweGU4LCAweGVmLCAweGY0LCAweGZmLCAweGVlLCAweGY0LCAweGZlLCAweDBmLCAweGJmLCAweDAwLCAweDAxLCAweDBlLCAweDhmLAotMHg0MiwgMHg4ZSwgMHg0MSwgMHgyMiwgMHhjMywgMHhlZiwgMHg5NCwgMHhiYywgMHhlZSwgMHg5NCwgMHgwMiwgMHg1MCwgMHgwNCwgMHg3ZSwgMHgwNywgMHg3ZiwKLTB4ZDAsIDB4ZWYsIDB4ZjQsIDB4ZmYsIDB4ZWUsIDB4ZjQsIDB4ZmUsIDB4MGYsIDB4YmYsIDB4MDAsIDB4MDEsIDB4MGUsIDB4OGYsIDB4NDAsIDB4OGUsIDB4M2YsCi0weDIyLCAweGVmLCAweDcwLCAweDAxLCAweDIyLCAweGMwLCAweDAwLCAweGMwLCAweGE4LCAweGMyLCAweGFmLCAweGU1LCAweDNlLCAweDI0LCAweDE4LCAweGY4LAotMHhhNiwgMHgwNywgMHhlNSwgMHgzZSwgMHgyNCwgMHgwOCwgMHhmOCwgMHhjNiwgMHg1NCwgMHg3ZiwgMHhmNiwgMHhkMCwgMHhhOCwgMHhlNiwgMHgzMCwgMHhlNywKLTB4MDMsIDB4ZDAsIDB4MDAsIDB4MjIsIDB4MTIsIDB4MTEsIDB4YWUsIDB4ODAsIDB4ZjQsIDB4YzAsIDB4MDAsIDB4N2YsIDB4MDEsIDB4ZWYsIDB4MjQsIDB4MDgsCi0weGY4LCAweGU2LCAweDYwLCAweDA5LCAweDBmLCAweGJmLCAweDA4LCAweGY1LCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGVlLCAweGQwLCAweDAwLCAweDIyLAotMHhjMCwgMHhmMCwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHgwMCwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNCwgMHhlZCwgMHgyNCwgMHgxMCwgMHhmOCwKLTB4NzYsIDB4OWEsIDB4ZWQsIDB4NzUsIDB4ZjAsIDB4MjEsIDB4YTQsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZjgsIDB4ZjUsIDB4ODMsCi0weGMwLCAweDgyLCAweGMwLCAweDgzLCAweGEzLCAweGEzLCAweGU0LCAweDc4LCAweDBkLCAweGYwLCAweGEzLCAweGQ4LCAweGZjLCAweGVmLCAweDU0LCAweDdmLAotMHg3NSwgMHhmMCwgMHgwMiwgMHhhNCwgMHgyNCwgMHhmMywgMHhmNSwgMHg4MiwgMHhlNSwgMHhmMCwgMHgzNCwgMHgzMCwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywKLTB4ZmUsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZmMsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZWMsIDB4ZjAsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4ZWQsIDB4MjQsCi0weDA4LCAweGY4LCAweGVmLCAweDQ0LCAweDgwLCAweGY2LCAweGQwLCAweDA0LCAweGQwLCAweDA2LCAweGQwLCAweDAwLCAweGQwLCAweDgzLCAweGQwLCAweDgyLAotMHhkMCwgMHhmMCwgMHgyMiwgMHg3NSwgMHgzZSwgMHgwMCwgMHg3NSwgMHg0MywgMHgwMCwgMHg3YSwgMHgwOCwgMHg3OSwgMHgxOCwgMHg3OCwgMHgwOCwgMHg3NiwKLTB4MDAsIDB4NzcsIDB4MDAsIDB4MDgsIDB4MDksIDB4ZGEsIDB4ZjgsIDB4OTAsIDB4ZjgsIDB4MDQsIDB4ZTAsIDB4ZmMsIDB4OTAsIDB4MzEsIDB4MTEsIDB4ZTQsCi0weDkzLCAweGMzLCAweDljLCAweDUwLCAweDA1LCAweGU0LCAweDkwLCAweGY4LCAweDA0LCAweGYwLCAweDc4LCAweDA4LCAweDc0LCAweDgwLCAweDQ0LCAweDdmLAotMHhmNiwgMHg3NCwgMHgwMSwgMHg0NCwgMHgxMCwgMHhmNSwgMHg4OSwgMHg3NSwgMHhiOCwgMHgwMCwgMHhkMiwgMHhhYiwgMHhkMiwgMHhhOSwgMHgyMiwgMHg3NSwKLTB4ODEsIDB4OGIsIDB4ZDIsIDB4OGUsIDB4ZDIsIDB4OGMsIDB4ZDIsIDB4YWYsIDB4ZTUsIDB4NDMsIDB4NjAsIDB4MzYsIDB4ZmYsIDB4OTAsIDB4ZjksIDB4MWQsCi0weGUwLCAweDU0LCAweDgwLCAweDYwLCAweDI4LCAweDc4LCAweDA4LCAweDc5LCAweDA4LCAweGUwLCAweDU0LCAweDdmLCAweGZhLCAweDdiLCAweDAwLCAweGU2LAotMHg1NCwgMHg3ZiwgMHhiNSwgMHgwMiwgMHgwMiwgMHg3YiwgMHhmZiwgMHgwOCwgMHhkOSwgMHhmNSwgMHhlYiwgMHg3MCwgMHgxMCwgMHhlYSwgMHhmMCwgMHhjMCwKLTB4MDcsIDB4MTIsIDB4MTIsIDB4ODksIDB4YWQsIDB4MDcsIDB4YWYsIDB4MDIsIDB4MTIsIDB4MTIsIDB4YTAsIDB4ZDAsIDB4MDcsIDB4YTMsIDB4YTMsIDB4YTMsCi0weGRmLCAweGNlLCAweDEyLCAweDExLCAweGFlLCAweDgwLCAweGMxLCAweDhmLCAweDI0LCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLCAweGI1LCAweGEzLAotMHhhMywgMHhlMCwgMHhhMywgMHgzMCwgMHhlNywgMHgyOCwgMHg3OCwgMHg3ZSwgMHgxMiwgMHgyMiwgMHg5OSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgxMiwKLTB4MjIsIDB4ZmEsIDB4MTIsIDB4MjIsIDB4OWQsIDB4ZTAsIDB4MjAsIDB4ZTAsIDB4ZjYsIDB4MTIsIDB4MjMsIDB4NTAsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MTIsCi0weDIyLCAweGRhLCAweGUwLCAweGEzLCAweDMwLCAweGU1LCAweDA3LCAweDEyLCAweDIzLCAweDUwLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDc4LCAweDgwLAotMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhmZiwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwOCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgyMywKLTB4MzksIDB4OGEsIDB4ODMsIDB4MjQsIDB4MGEsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWQsIDB4ZjAsIDB4MTIsIDB4MjMsIDB4MDYsIDB4MjQsIDB4MDcsIDB4MTIsCi0weDIyLCAweGExLCAweGUwLCAweGZmLCAweDEyLCAweDIzLCAweDVhLCAweDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGVmLCAweGYwLCAweDkwLCAweGY5LAotMHgxNiwgMHhlMCwgMHgzMCwgMHhlNCwgMHgyMCwgMHgwOCwgMHgxMiwgMHgyMiwgMHhiNywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhlMCwgMHgyNSwKLTB4ZTAsIDB4ZmYsIDB4MDUsIDB4ODIsIDB4ZDUsIDB4ODIsIDB4MDIsIDB4MTUsIDB4ODMsIDB4MTUsIDB4ODIsIDB4ZTAsIDB4MzMsIDB4ZDAsIDB4ODIsIDB4ZDAsCi0weDgzLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDEyLCAweDIyLCAweGI1LCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGVjLCAweGZmLCAweDEyLAotMHgyMywgMHgzOSwgMHg4YSwgMHg4MywgMHgyNCwgMHgwOCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZiwgMHhmMCwgMHhlZCwgMHgxMiwgMHgyMywgMHg1YSwgMHgyNCwKLTB4MDcsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZWQsIDB4ZjAsIDB4MTIsIDB4MjIsIDB4YTksIDB4ZTAsIDB4MzAsIDB4ZTYsIDB4MGEsIDB4MTIsIDB4MjMsIDB4NDEsCi0weDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGU0LCAweGYwLCAweDEyLCAweDIyLCAweGE5LCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDFiLCAweDEyLAotMHgyMywgMHgxZSwgMHgyNCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg2MCwgMHgwOSwgMHgxMiwgMHgyMiwgMHhhOSwgMHhlZiwgMHg0NCwgMHgwMiwKLTB4ZjAsIDB4ODAsIDB4MDcsIDB4MTIsIDB4MjIsIDB4YTksIDB4ZWYsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjIsIDB4YjcsIDB4YTMsCi0weGEzLCAweGUwLCAweGZmLCAweDUzLCAweDA3LCAweGM3LCAweDA4LCAweGU2LCAweGZjLCAweDA4LCAweGU2LCAweGZkLCAweDEyLCAweDIyLCAweGUwLCAweGEzLAotMHhlMCwgMHgzMCwgMHhlMywgMHgxMiwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwKLTB4OTAsIDB4MzIsIDB4NTEsIDB4OTMsIDB4NDIsIDB4MDcsIDB4NTMsIDB4MDcsIDB4ZmIsIDB4MTIsIDB4MjMsIDB4MWUsIDB4MjQsIDB4MDYsIDB4MTIsIDB4MjIsCi0weGExLCAweGUwLCAweDYwLCAweDAzLCAweDQzLCAweDA3LCAweDA0LCAweDUzLCAweDA3LCAweGZjLCAweDc4LCAweDgwLCAweDEyLCAweDIzLCAweDI5LCAweDI0LAotMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg0MiwgMHgwNywgMHg0MywgMHgwNywgMHg4MCwgMHgxMiwgMHgyMywgMHgzOSwgMHhmNSwgMHg4MiwgMHg4YSwKLTB4ODMsIDB4YTMsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MjMsIDB4NWEsIDB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4ZmYsIDB4OGQsCi0weDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweDMwLCAweGUxLCAweDA1LCAweDUzLCAweDA3LCAweGRmLAotMHg4MCwgMHgwMywgMHg0MywgMHgwNywgMHgyMCwgMHhlYywgMHgzMCwgMHhlNCwgMHgwNSwgMHg1MywgMHgwNywgMHhlZiwgMHg4MCwgMHgwMywgMHg0MywgMHgwNywKLTB4MTAsIDB4MTIsIDB4MjIsIDB4YTksIDB4ZTAsIDB4ZmUsIDB4NTQsIDB4MDMsIDB4NjAsIDB4NzMsIDB4NTMsIDB4MDcsIDB4ZGYsIDB4ZWUsIDB4MzAsIDB4ZTEsCi0weDY5LCAweDEyLCAweDIzLCAweDFlLCAweDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDEyLCAweDFiLCAweGZjLCAweDE1LCAweDJjLCAweDAwLAotMHgxNSwgMHg2MCwgMHgwMSwgMHgxNSwgMHg2NSwgMHgwMywgMHgxNSwgMHg2MCwgMHgwNSwgMHgxNSwgMHg2NSwgMHgwNywgMHgxNSwgMHg2MCwgMHgwOSwgMHgxNSwKLTB4NjUsIDB4MGIsIDB4MTUsIDB4NjAsIDB4MGQsIDB4MTUsIDB4NjUsIDB4MGYsIDB4MDAsIDB4MDAsIDB4MTUsIDB4NmQsIDB4ZTUsIDB4MjQsIDB4NjQsIDB4MDMsCi0weDcwLCAweDIxLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGUyLCAweDBkLCAweDMwLCAweGI0LCAweDA1LCAweDQzLCAweDA3LCAweDAyLCAweDgwLAotMHgyYywgMHg1MywgMHgwNywgMHhmZCwgMHg4MCwgMHgyNywgMHgzMCwgMHg5NSwgMHgwNSwgMHg0MywgMHgwNywgMHgwMiwgMHg4MCwgMHgxZiwgMHg1MywgMHgwNywKLTB4ZmQsIDB4ODAsIDB4MWEsIDB4MzAsIDB4OTMsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDIsIDB4ODAsIDB4MTIsIDB4NTMsIDB4MDcsIDB4ZmQsIDB4ODAsIDB4MGQsCi0weDQzLCAweDA3LCAweDAyLCAweDgwLCAweDA4LCAweDUzLCAweDA3LCAweGZkLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGZkLCAweDEyLCAweDIzLCAweDI3LAotMHgyNCwgMHgwNCwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlZiwgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmZiwKLTB4MTIsIDB4MjIsIDB4YTksIDB4ZTAsIDB4ZmUsIDB4NTQsIDB4MDMsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTYsIDB4NjAsIDB4ZWUsIDB4MjAsIDB4ZTEsIDB4MDMsCi0weDAyLCAweDE2LCAweDVkLCAweDA4LCAweDEyLCAweDIzLCAweDIwLCAweDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDEyLCAweDFiLCAweGZjLAotMHgxNSwgMHhiZiwgMHgwMCwgMHgxNSwgMHhmNSwgMHgwMSwgMHgxNSwgMHhmNSwgMHgwMywgMHgxNiwgMHgyOSwgMHgwNSwgMHgxNiwgMHgyOSwgMHgwNywgMHgxNiwKLTB4MGYsIDB4MDksIDB4MTYsIDB4MGYsIDB4MGIsIDB4MTYsIDB4NDMsIDB4MGQsIDB4MTYsIDB4NDMsIDB4MGYsIDB4MDAsIDB4MDAsIDB4MTYsIDB4NjAsIDB4ZTUsCi0weDI0LCAweDY0LCAweDAzLCAweDcwLCAweDIzLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGUyLCAweDBmLCAweDMwLCAweGIxLCAweDA2LCAweDUzLAotMHgwNywgMHg3ZiwgMHgwMiwgMHgxNiwgMHg2MCwgMHg0MywgMHgwNywgMHg4MCwgMHgwMiwgMHgxNiwgMHg2MCwgMHgzMCwgMHg5NCwgMHgwNSwgMHg1MywgMHgwNywKLTB4N2YsIDB4ODAsIDB4N2QsIDB4NDMsIDB4MDcsIDB4ODAsIDB4ODAsIDB4NzgsIDB4MzAsIDB4OTIsIDB4MDUsIDB4NTMsIDB4MDcsIDB4N2YsIDB4ODAsIDB4NzAsCi0weDQzLCAweDA3LCAweDgwLCAweDgwLCAweDZiLCAweGU1LCAweDI0LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGVmLAotMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg1MywgMHgwNywgMHg3ZiwgMHg4MCwgMHg1MSwgMHhlNSwKLTB4MjQsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4OWUsCi0weGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDUzLCAweDA3LCAweDdmLCAweDgwLCAweDM3LCAweGU1LCAweDI0LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLAotMHg5ZSwgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHg0MywgMHgwNywKLTB4ODAsIDB4ODAsIDB4MWQsIDB4ZTUsIDB4MjQsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ODAsCi0weDA3LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDQzLCAweDA3LCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweDdmLAotMHgxMiwgMHgyMiwgMHhkYSwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHgzMCwgMHhlMCwgMHgwNSwgMHg0MywgMHgwNywgMHgyMCwgMHg4MCwgMHgwMywKLTB4NTMsIDB4MDcsIDB4ZGYsIDB4ZWMsIDB4MzAsIDB4ZTMsIDB4MDUsIDB4NDMsIDB4MDcsIDB4NDAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4YmYsIDB4ZWMsCi0weDMwLCAweGUwLCAweDA1LCAweDQzLCAweDA3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGVmLCAweGVkLCAweDMwLCAweGU0LCAweDA1LCAweDQzLAotMHgwNywgMHgwOCwgMHg4MCwgMHgwMywgMHg1MywgMHgwNywgMHhmNywgMHhlZCwgMHgzMCwgMHhlNSwgMHgwNSwgMHg0MywgMHgwNywgMHgwNCwgMHg4MCwgMHgwMywKLTB4NTMsIDB4MDcsIDB4ZmIsIDB4ZWQsIDB4MzAsIDB4ZTYsIDB4MDUsIDB4NDMsIDB4MDcsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MDcsIDB4ZmUsIDB4ZWQsCi0weDMwLCAweGU3LCAweDA1LCAweDQzLCAweDA3LCAweDAyLCAweDgwLCAweDAzLCAweDUzLCAweDA3LCAweGZkLCAweDc4LCAweDdlLCAweDEyLCAweDIyLCAweGRjLAotMHhhMywgMHhlZiwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHg3ZiwgMHgwMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmYSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhMywKLTB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZjksIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4Y2YsIDB4ZTQsCi0weGZkLCAweDEyLCAweDIzLCAweDYxLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweDc1LCAweGYwLCAweDAzLCAweDEyLCAweDFiLCAweDFjLCAweDEyLCAweDE5LAotMHg5MiwgMHhlNSwgMHgyMywgMHgzMCwgMHhlNywgMHgwMiwgMHhkMiwgMHgwMiwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyNCwgMHg5MCwgMHhmYSwKLTB4Y2YsIDB4ZTAsIDB4ZjUsIDB4MmQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MmUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmEsIDB4Y2YsCi0weGU0LCAweGYwLCAweGEzLCAweDc0LCAweDBiLCAweGYwLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDIzLCAweDc1LCAweDJkLCAweDAwLCAweGY1LAotMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHhlNSwgMHgyMywgMHgyNCwgMHg4MCwgMHg5MCwgMHhmZiwgMHhmOCwgMHhmMCwgMHhlNSwgMHgyMywKLTB4NjQsIDB4MDcsIDB4NjAsIDB4MWUsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4MDYsIDB4NjAsIDB4MTgsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4MTQsIDB4NjAsIDB4MTIsCi0weGU1LCAweDIzLCAweDY0LCAweDQxLCAweDYwLCAweDBjLCAweGU1LCAweDIzLCAweDY0LCAweDFhLCAweDcwLCAweDQ2LCAweGU1LCAweDI0LCAweDY0LCAweDAyLAotMHg3MCwgMHg0MCwgMHhlNSwgMHgyMywgMHhiNCwgMHgwNywgMHgxNiwgMHhkMiwgMHg5NCwgMHhkMiwgMHg5NSwgMHhkMiwgMHg5MiwgMHhkMiwgMHg5MywgMHg5MCwKLTB4ZjksIDB4MTYsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MWUsIDB4ZTUsIDB4MjMsIDB4YjQsCi0weDQxLCAweDEyLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDQ0LCAweDA2LCAweGYwLCAweGEzLCAweGUwLCAweDQ0LCAweDA2LCAweGYwLCAweGQyLCAweGIxLAotMHhkMiwgMHhiNCwgMHg4MCwgMHgwNywgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhmOSwgMHgxNywgMHhlMCwgMHg0NCwKLTB4MDEsIDB4ZjAsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4NDIsIDB4NjAsIDB4MGMsIDB4ZTUsIDB4MjMsIDB4NjQsIDB4NDMsIDB4NjAsIDB4MDYsIDB4ZTUsIDB4MjMsCi0weDY0LCAweDQ0LCAweDcwLCAweDJlLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweGZmLCAweGU1LCAweDIzLCAweGI0LCAweDQ0LCAweDA0LCAweDdlLCAweDQwLAotMHg4MCwgMHgwMiwgMHg3ZSwgMHgwMCwgMHhlZSwgMHgyNCwgMHg4MCwgMHg0ZiwgMHg5MCwgMHhmOSwgMHgxNiwgMHhmMCwgMHhhMywgMHhlMCwgMHhmZiwgMHhlNSwKLTB4MjMsIDB4YjQsIDB4NDQsIDB4MDQsIDB4N2UsIDB4NDAsIDB4ODAsIDB4MDIsIDB4N2UsIDB4MDAsIDB4ZWUsIDB4MjQsIDB4ODAsIDB4NGYsIDB4OTAsIDB4ZjksCi0weDE3LCAweGYwLCAweDkwLCAweGZhLCAweGNmLCAweGU0LCAweGYwLCAweGEzLCAweDc0LCAweDBkLCAweGYwLCAweDEyLCAweDE5LCAweDkyLCAweDkwLCAweGZmLAotMHhmNSwgMHhlNSwgMHgyMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNCwgMHhmNSwgMHgzMiwgMHgxMiwgMHgxZSwgMHgzNCwKLTB4MTIsIDB4MWMsIDB4ZTAsIDB4MTIsIDB4MWUsIDB4M2IsIDB4OTAsIDB4ZjksIDB4NmEsIDB4MTIsIDB4MWIsIDB4ZjMsIDB4OTAsIDB4ZjksIDB4NmYsIDB4MTIsCi0weDFiLCAweGYzLCAweDkwLCAweGZmLCAweGZmLCAweGU0LCAweGYwLCAweDkwLCAweGZmLCAweDgzLCAweGUwLCAweGU0LCAweGYwLCAweDkwLCAweGZmLCAweDgxLAotMHg3NCwgMHg4MCwgMHhmMCwgMHhhMywgMHg3NCwgMHg4NCwgMHhmMCwgMHg5MCwgMHhmZiwgMHg4MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgyMywgMHhlNSwgMHgyMywgCi0weDEyLCAweDFkLCAweDU3LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDIzLCAweDEyLCAweDFkLCAweDY1LCAweGY1LCAweDgzLCAweGU0LCAweGYwLAotMHgwNSwgMHgyMywgMHhlNSwgMHgyMywgMHhiNCwgMHgwNywgMHhlNywgMHg3OCwgMHg3YSwgMHg3NiwgMHhmZSwgMHgwOCwgMHg3NiwgMHhmMCwgMHg5MCwgMHgzMiwKLTB4MGEsIDB4ZTQsIDB4OTMsIDB4ZmYsIDB4NzgsIDB4NzgsIDB4ZjYsIDB4ZmQsIDB4YWQsIDB4MDcsIDB4OTAsIDB4MzIsIDB4MTcsIDB4ZTQsIDB4OTMsIDB4ZmYsCi0weDA4LCAweGY2LCAweGZmLCAweGVkLCAweDU0LCAweDBmLCAweGZkLCAweDEyLCAweDFkLCAweDQ3LCAweDc0LCAweDg0LCAweGYwLCAweGVkLCAweDc1LCAweGYwLAotMHgwOCwgMHhhNCwgMHgyNCwgMHg0NywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhjMywgMHg3NCwgMHhmMCwgCi0weDlmLCAweDc4LCAweDdiLCAweGY2LCAweDc0LCAweGZlLCAweDk0LCAweDAwLCAweDE4LCAweDEyLCAweDFjLCAweGQ4LCAweGNlLCAweGMzLCAweDEzLCAweGNlLAotMHgxMywgMHhkOCwgMHhmOSwgMHhmZiwgMHhlZCwgMHgxMiwgMHgxZCwgMHhhOCwgMHhlZiwgMHhmMCwgMHhlZCwgMHgxMiwgMHgxZCwgMHhjZSwgMHhlNCwgMHhmNSwKLTB4MjMsIDB4ZTUsIDB4MjMsIDB4OTAsIDB4MzIsIDB4MDQsIDB4OTMsIDB4ZmYsIDB4NzgsIDB4NzgsIDB4ZjYsIDB4ZmQsIDB4ZTUsIDB4MjMsIDB4MjUsIDB4ZTAsCi0weDI0LCAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDMyLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDA4LCAweGY2LCAweGVkLCAweDMwLCAweGU3LAotMHg1MywgMHgxOCwgMHhlNiwgMHg1NCwgMHgwZiwgMHhmOSwgMHgxMiwgMHgxZCwgMHg0NywgMHgxMiwgMHgxZCwgMHhiNiwgMHgyNCwgMHg0NywgMHhmNSwgMHg4MiwKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4MTIsIDB4MWMsIDB4YzgsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTksIDB4MTIsCi0weDFkLCAweGE4LCAweGVmLCAweGYwLCAweDEyLCAweDFjLCAweGNmLCAweGNlLCAweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweDEyLCAweDFkLAotMHhiYiwgMHgyNCwgMHg0NSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlOSwgMHgxMiwgMHgxZCwgMHhjZSwKLTB4ZTksIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4NDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ODAsIAotMHhmMCwgMHgwMiwgMHgxOSwgMHg2NywgMHg3OCwgMHg3OCwgMHhlNiwgMHg1NCwgMHgwZiwgMHhmOSwgMHgxMiwgMHgxZCwgMHg5YSwgMHgxMiwgMHgxZCwgMHhiNiwKLTB4MjQsIDB4MDcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4MTIsIDB4MWMsIDB4YzgsIDB4Y2UsIDB4YzMsIDB4MTMsIDB4Y2UsIDB4MTMsIDB4ZDgsCi0weGY5LCAweDEyLCAweDFkLCAweGJiLCAweDI0LCAweDAxLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDEyLAotMHgxYywgMHhjZiwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHgxMiwgMHgxZCwgMHhiYiwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwKLTB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTksIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIAotMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlOSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgCi0weGU0LCAweDM0LCAweGZmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDA1LCAweDIzLCAweGU1LCAweDIzLCAweDY0LCAweDA0LCAweDYwLCAweDAzLCAweDAyLCAKLTB4MTgsIDB4OTEsIDB4OTAsIDB4MzIsIDB4MDksIDB4ZTQsIDB4OTMsIDB4ZmYsIDB4NzgsIDB4NzgsIDB4ZjYsIDB4MTIsIDB4MWQsIDB4OTgsIDB4ZTQsIDB4ZjAsCi0weDkwLCAweDMyLCAweDA4LCAweDkzLCAweGZmLCAweGY2LCAweDEyLCAweDFkLCAweDQ1LCAweGU0LCAweGYwLCAweDkwLCAweGZmLCAweGZkLCAweDc0LCAweDA1LAotMHhmMCwgMHgyMiwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgyMywgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwKLTB4MWIsIDB4MzIsIDB4ODUsIDB4ZjAsIDB4MmUsIDB4ZjUsIDB4MmQsIDB4N2QsIDB4MDEsIDB4MDIsIDB4MjYsIDB4OTgsIDB4ZTcsIDB4MDksIDB4ZjYsIDB4MDgsCi0weGRmLCAweGZhLCAweDgwLCAweDQ2LCAweGU3LCAweDA5LCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDNlLCAweDg4LCAweDgyLCAweDhjLCAweDgzLCAKLTB4ZTcsIDB4MDksIDB4ZjAsIDB4YTMsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4MzIsIDB4ZTMsIDB4MDksIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NzgsIAotMHhlMywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg3MCwgMHg4OCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMywgMHgwOSwgMHhmMCwgMHhhMywgCi0weGRmLCAweGZhLCAweDgwLCAweDY0LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGEzLCAweGY2LCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDU4LCAKLTB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NGMsIDB4ODAsIDB4ZDIsIDB4ODAsIDB4ZmEsIAotMHg4MCwgMHhjNiwgMHg4MCwgMHhkNCwgMHg4MCwgMHg2OSwgMHg4MCwgMHhmMiwgMHg4MCwgMHgzMywgMHg4MCwgMHgxMCwgMHg4MCwgMHhhNiwgMHg4MCwgMHhlYSwgCi0weDgwLCAweDlhLCAweDgwLCAweGE4LCAweDgwLCAweGRhLCAweDgwLCAweGUyLCAweDgwLCAweGNhLCAweDgwLCAweDMzLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAKLTB4ZWMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZjAsIDB4YTMsIDB4YzgsIAotMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHgwZCwgMHg4OSwgMHg4MiwgMHg4YSwgCi0weDgzLCAweGU0LCAweDkzLCAweGEzLCAweGY2LCAweDA4LCAweGRmLCAweGY5LCAweGVjLCAweGZhLCAweGE5LCAweGYwLCAweGVkLCAweGZiLCAweDIyLCAweDg5LCAKLTB4ODIsIDB4OGEsIDB4ODMsIDB4ZWMsIDB4ZmEsIDB4ZTAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2MsIDB4YzUsIDB4ODMsIDB4Y2MsIDB4ZjAsIAotMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhkZiwgMHhlYSwgMHhkZSwgMHhlOCwgMHg4MCwgMHhkYiwgMHg4OSwgCi0weDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweGEzLCAweGYyLCAweDA4LCAweGRmLCAweGY5LCAweDgwLCAweGNjLCAweDg4LCAweGYwLCAweGVmLCAweDYwLCAKLTB4MDEsIDB4MGUsIDB4NGUsIDB4NjAsIDB4YzMsIDB4ODgsIDB4ZjAsIDB4ZWQsIDB4MjQsIDB4MDIsIDB4YjQsIDB4MDQsIDB4MDAsIDB4NTAsIDB4YjksIDB4ZjUsIAotMHg4MiwgMHhlYiwgMHgyNCwgMHgwMiwgMHhiNCwgMHgwNCwgMHgwMCwgMHg1MCwgMHhhZiwgMHgyMywgMHgyMywgMHg0NSwgMHg4MiwgMHgyMywgMHg5MCwgMHgxOSwgCi0weGZjLCAweDczLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLAotMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgCi0weDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAKLTB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIAotMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgCi0weDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGY4LCAweGJiLCAweDAxLCAweDBkLCAweGU1LCAweDgyLCAKLTB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTgsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIAotMHhjOCwgMHhmNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmMiwgMHgyMiwgMHhjNSwgMHhmMCwgMHhmOCwgMHhhMywgCi0weGUwLCAweDI4LCAweGYwLCAweGM1LCAweGYwLCAweGY4LCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyLCAweDE1LCAweDgzLCAweGUwLCAweDM4LCAKLTB4ZjAsIDB4MjIsIDB4YTMsIDB4ZjgsIDB4ZTAsIDB4YzUsIDB4ZjAsIDB4MjUsIDB4ZjAsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MTUsIDB4ODIsIDB4NzAsIDB4MDIsIAotMHgxNSwgMHg4MywgMHhlMCwgMHhjOCwgMHgzOCwgMHhmMCwgMHhlOCwgMHgyMiwgMHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgCi0weGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGYwLCAweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAKLTB4ZjgsIDB4ODYsIDB4ZjAsIDB4MDgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MGEsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4ZjUsIDB4ZjAsIAotMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4MywgMHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMiwgCi0weGJiLCAweDAxLCAweDBhLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGYwLCAweGU1LCAweGYwLCAweGEzLCAweGYwLCAweDIyLCAweDUwLCAweDA2LCAweGY3LCAKLTB4MDksIDB4YTcsIDB4ZjAsIDB4MTksIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZjMsIDB4ZTUsIDB4ZjAsIDB4MDksIDB4ZjMsIDB4MTksIDB4MjIsIDB4ZjgsIAotMHhiYiwgMHgwMSwgMHgxMSwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlOCwgMHhmMCwgMHhlNSwgCi0weGYwLCAweGEzLCAweGYwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGM4LCAweGY2LCAweDA4LCAweGE2LCAweGYwLCAweDIyLCAweGJiLCAKLTB4ZmUsIDB4MDksIDB4ZTksIDB4MjUsIDB4ODIsIDB4YzgsIDB4ZjIsIDB4ZTUsIDB4ZjAsIDB4MDgsIDB4ZjIsIDB4MjIsIDB4YTQsIDB4MjUsIDB4ODIsIDB4ZjUsIAotMHg4MiwgMHhlNSwgMHhmMCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHgyMiwgMHhlNiwgMHhmYiwgMHgwOCwgMHhlNiwgMHhmYSwgMHgwOCwgMHhlNiwgMHhmOSwgCi0weDIyLCAweGViLCAweGY2LCAweDA4LCAweGVhLCAweGY2LCAweDA4LCAweGU5LCAweGY2LCAweDIyLCAweGUwLCAweGZiLCAweGEzLCAweGUwLCAweGZhLCAweGEzLCAKLTB4ZTAsIDB4ZjksIDB4MjIsIDB4ZWIsIDB4ZjAsIDB4YTMsIDB4ZWEsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4ZjAsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIAotMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgCi0weDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLCAweGEzLCAweGEzLCAKLTB4ODAsIDB4ZGYsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4ZTUsIDB4NGMsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4NzQsIDB4MDEsIDB4MjUsCi0weDM4LCAweGY1LCAweDM4LCAweGU0LCAweDM1LCAweDM3LCAweGY1LCAweDM3LCAweGFiLCAweDM2LCAweGZhLCAweGE5LCAweDM4LCAweDc0LCAweDExLCAweDEyLCAKLTB4MWEsIDB4ZTgsIDB4NzQsIDB4MDEsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4OTAsIDB4ZmYsIDB4MDYsCi0weGUwLCAweGFiLCAweDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweDEyLCAweDFhLCAweGU4LCAweDc0LCAweDAxLCAweDI1LCAweDM4LCAweGY1LCAweDM4LAotMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHhhYiwgMHgzNiwgMHhmYSwgMHhhOSwgMHgzOCwgMHhlNCwgMHgxMiwgMHgxYSwgMHhlOCwgMHgwNCwgMHgyNSwKLTB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsIDB4MzcsIDB4ZjUsIDB4MzcsIDB4YWIsIDB4MzYsIDB4ZmEsIDB4YTksIDB4MzgsIDB4ZTQsIDB4MTIsIDB4MWEsIAotMHhlOCwgMHgwNCwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHg5MCwgMHhmZiwgMHgwNCwgMHhlMCwgMHhhYiwKLTB4MzYsIDB4YWEsIDB4MzcsIDB4YTksIDB4MzgsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4NzQsIDB4MDEsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4MzgsIDB4ZTQsIDB4MzUsCi0weDM3LCAweGY1LCAweDM3LCAweDkwLCAweGZmLCAweDA1LCAweGUwLCAweGFiLCAweDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweDEyLCAweDFhLCAweGU4LAotMHg3NCwgMHgwMSwgMHgyNSwgMHgzOCwgMHhmNSwgMHgzOCwgMHhlNCwgMHgzNSwgMHgzNywgMHhmNSwgMHgzNywgMHgyMiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgCi0weDA4LCAweGFiLCAweDM2LCAweGFhLCAweDM3LCAweGE5LCAweDM4LCAweDIyLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGZkLCAweDdjLCAweDAwLCAweGMzLCAKLTB4NzgsIDB4N2IsIDB4ZTYsIDB4OWQsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4OWMsIDB4ZjYsIDB4ZTYsIDB4ZmUsIDB4MDgsIDB4ZTYsIDB4NzgsIDB4MDMsIDB4MjIsIAotMHg3NSwgMHgzNiwgMHgwMSwgMHg3NSwgMHgzNywgMHhmOSwgMHg3NSwgMHgzOCwgMHg3MiwgMHgyMiwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHg3NCwgMHgxMywKLTB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZjksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YmMsIDB4ZTAsIDB4ZmYsIDB4N2UsCi0weDAwLCAweGMzLCAweDkwLCAweGZhLCAweGMwLCAweGUwLCAweDlmLCAweGYwLCAweDkwLCAweGZhLCAweGJmLCAweGUwLCAweDllLCAweGYwLCAweDkwLCAweGZhLAotMHhiNywgMHhlZSwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHgxYywgMHhlZiwgMHgyNSwgMHg0ZiwgMHhmNSwgMHg0ZiwgMHhlZSwgMHgzNSwgMHg0ZSwgMHhmNSwKLTB4NGUsIDB4MjIsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4YjQsIDB4OTAsIDB4ZmEsIDB4YjcsIDB4ZTAsIDB4ZjUsIDB4MmQsIDB4YTMsIDB4ZTAsCi0weGY1LCAweDJlLCAweDIyLCAweDc4LCAweDdjLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweDhlLCAweDgzLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAKLTB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NTQsIDB4MGYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4NDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIAotMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHgyMiwgMHhlNSwgMHg0ZCwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHg0OCwgMHhmNSwgMHg4MiwgMHhlNCwgCi0weDM0LCAweGZmLCAweDIyLCAweGU1LCAweDRkLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZmLCAKLTB4MjIsIDB4OTAsIDB4ZmEsIDB4YjksIDB4ZTAsIDB4ZmYsIDB4MjQsIDB4ZmMsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4MDAsIDB4ZTAsIDB4NTQsIDB4MWYsIDB4MjIsCi0weDkwLCAweGZhLCAweGJlLCAweGUwLCAweDkwLCAweGZhLCAweGJhLCAweGYwLCAweDIyLCAweDc1LCAweDMzLCAweDAwLCAweDhmLCAweDM0LCAweDkwLCAweGY5LAotMHg2ZiwgMHgxMiwgMHgxYiwgMHhlYSwgMHg5MCwgMHgwMCwgMHgwMiwgMHgyMiwgMHg1NCwgMHgwZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwKLTB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4NDEsIDB4ZjUsIDB4ODIsIAotMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHgyMiwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwOCwgMHhlNiwgMHhmZiwgMHhlOSwgMHg3NSwgMHhmMCwgMHgwOCwgCi0weGE0LCAweDIyLCAweDc0LCAweGIyLCAweDI1LCAweDIyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZhLCAweGY1LCAweDgzLCAweDIyLCAweDc1LCAweGYwLAotMHgwOCwgMHhhNCwgMHgyNCwgMHg0MiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZiwgMHhmNSwgMHg4MywgMHg3NCwgMHg4MCwgMHhmMCwgMHgyMiwgMHg5MCwgCi0weGZmLCAweDgyLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDIyLCAweDkwLCAweGZmLCAweGZlLCAweGUwLCAweDQ0LCAweDAzLCAweGYwLCAweDkwLCAweGZmLCAKLTB4ZmMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MjIsIDB4NzgsIDB4NjcsIDB4ZTYsIDB4NTQsIDB4ZmQsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4ZmQsIDB4NzQsIAotMHg2NSwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxYiwgMHhjYywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg0ZSwgMHgyMiwgMHg3YiwgMHgwMSwgMHg3YSwKLTB4ZmEsIDB4NzksIDB4YjcsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ODAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZTAsCi0weDU0LCAweDdmLCAweGYwLCAweDIyLCAweGUwLCAweGZmLCAweDkwLCAweGY5LCAweDZhLCAweDAyLCAweDFiLCAweGVhLCAweDkwLCAweGZmLCAweGE0LCAweGUwLAotMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwgMHg3NSwgMHgzOSwgMHgwMSwgMHg3NSwgMHgzYSwgMHgwOSwgMHgyMiwgMHg3YiwgMHgwMSwgMHg3YSwgMHhmOSwgMHg3OSwgCi0weDcyLCAweDIyLCAweGQzLCAweGU1LCAweDNjLCAweDk0LCAweDA4LCAweGU1LCAweDNiLCAweDk0LCAweDAxLCAweDIyLCAweDkwLCAweGZhLCAweGJlLCAweGUwLAotMHhmZiwgMHg5MCwgMHhmYSwgMHhiYSwgMHhmMCwgMHgyMiwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg1NCwgMHhlZiwgMHgyMiwgMHg5MCwgMHhmZiwgMHhiNCwKLTB4ZTAsIDB4NTQsIDB4ZWYsIDB4MjIsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODgsIDB4ZWYsIDB4ZjYsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsCi0weGZhLCAweDhlLCAweDgzLCAweDI0LCAweDA5LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGZkLCAweDEyLCAweDIyLCAweGU4LCAweDkwLCAweDAwLCAweDBhLAotMHgxMiwgMHgyMywgMHgwMiwgMHgyNCwgMHgwYSwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg5MCwgMHgwMCwgMHgwYiwgMHgxMiwgMHgxYSwgMHhmYSwgMHgxMiwKLTB4MjIsIDB4ZmEsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NTMsIDB4MTIsIDB4MjMsIDB4MDYsIDB4MjQsCi0weDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGY1LCAweDU0LCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDU1LAotMHhlNSwgMHg1MywgMHhjNCwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgwMSwgMHg3OCwgMHg4OCwgMHhmNiwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgCi0weGU1LCAweDU0LCAweDMwLCAweGUxLCAweDAxLCAweDA2LCAweDc4LCAweDg4LCAweGU2LCAweDEyLCAweDIyLCAweGU3LCAweDkwLCAweDAwLCAweDBjLCAweGVmLAotMHgxMiwgMHgxYSwgMHhmYSwgMHgxMiwgMHgyMiwgMHhiNSwgMHhhMywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHg1MywgMHgwNywgMHgwYywKLTB4NTMsIDB4MDYsIDB4ZTYsIDB4ZTUsIDB4NTMsIDB4MzAsIDB4ZTUsIDB4MDMsIDB4NDMsIDB4MDcsIDB4MDEsIDB4ZTUsIDB4NTQsIDB4MjAsIDB4ZTUsIDB4MGUsCi0weGU1LCAweDUzLCAweDU0LCAweDdmLCAweDcwLCAweDA4LCAweGU1LCAweDUzLCAweDIwLCAweGU3LCAweDAzLCAweDQzLCAweDA3LCAweDAyLCAweGU1LCAweDUzLAotMHgzMCwgMHhlMywgMHgwMywgMHg0MywgMHgwNywgMHgxMCwgMHhlNSwgMHg1MywgMHgzMCwgMHhlMiwgMHgwMywgMHg0MywgMHgwNywgMHgyMCwgMHhlNSwgMHg1MywKLTB4NTQsIDB4MDMsIDB4NjAsIDB4MDMsIDB4NDMsIDB4MDcsIDB4NDAsIDB4ZTUsIDB4NTMsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4NDMsIDB4MDcsIDB4ODAsIDB4ZTUsCi0weDUzLCAweDMwLCAweGU0LCAweDAzLCAweDQzLCAweDA2LCAweDAxLCAweGU1LCAweDUzLCAweDMwLCAweGU2LCAweDAzLCAweDQzLCAweDA2LCAweDA4LCAweGU1LAotMHg1NCwgMHgyMCwgMHhlNCwgMHgwZSwgMHhlNSwgMHg1MywgMHg1NCwgMHg3ZiwgMHg3MCwgMHgwOCwgMHhlNSwgMHg1MywgMHgyMCwgMHhlNywgMHgwMywgMHg0MywKLTB4MDYsIDB4MTAsIDB4NTMsIDB4MDcsIDB4ZmIsIDB4NTMsIDB4MDYsIDB4NzksIDB4OTAsIDB4MDAsIDB4MDUsIDB4ZWUsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsCi0weDlmLCAweGU1LCAweDU1LCAweDMwLCAweGUzLCAweDEyLCAweDU0LCAweDMwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDEyLCAweDIyLCAweGU3LCAweDkwLAotMHgwMCwgMHgwOCwgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwgMHg4MCwgMHgwYSwgMHgxMiwgMHgyMiwgMHhlOCwgMHg5MCwgMHgwMCwgMHgwOCwgMHhlNCwgMHgxMiwKLTB4MWEsIDB4ZmEsIDB4ZTUsIDB4NTUsIDB4NTQsIDB4MDMsIDB4MTIsIDB4MjIsIDB4ZTcsIDB4OTAsIDB4MDAsIDB4MDcsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsCi0weGU1LCAweDU1LCAweDU0LCAweDA0LCAweGZmLCAweGMzLCAweDEzLCAweDkwLCAweDAwLCAweDA5LCAweDEyLCAweDFhLCAweGZhLCAweDkwLCAweDAwLCAweDA3LAotMHgxMiwgMHgxYSwgMHhiYiwgMHg3MCwgMHgxMywgMHgxMiwgMHgyMiwgMHhlOCwgMHhlOSwgMHgyNCwgMHgwOSwgMHhmOSwgMHhlNCwgMHgzYSwgMHhmYSwgMHgxMiwKLTB4MWEsIDB4YTIsIDB4ZmYsIDB4YzMsIDB4MTMsIDB4MTIsIDB4MWEsIDB4ZTgsIDB4MTIsIDB4MjMsIDB4MjcsIDB4MjQsIDB4MDgsIDB4MTIsIDB4MjIsIDB4YTEsCi0weGUwLCAweGZlLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA3LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweGZkLCAweGVlLAotMHhlZCwgMHgxMiwgMHgyMiwgMHhlNywgMHg5MCwgMHgwMCwgMHgwMywgMHhlZSwgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHg5ZiwgMHgxMiwgMHgzMiwgMHg4NCwKLTB4N2QsIDB4MGEsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MmYsIDB4YjQsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4OTAsIDB4ZmEsIDB4ZTYsIDB4ZTAsIDB4YjQsIDB4MDMsCi0weDA2LCAweDdlLCAweDAwLCAweDdmLCAweDQwLCAweDgwLCAweDA0LCAweDdlLCAweDAwLCAweDdmLCAweDA4LCAweDkwLCAweGZhLCAweGRhLCAweGVlLCAweGYwLAotMHhhMywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMCwgMHgwNSwgMHgxMiwgMHgxYSwgMHhiYiwgMHhmZiwgMHg3ZSwgMHgwMCwgMHg5MCwgMHhmYSwgMHhkNiwgMHhlZSwKLTB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4NzAsIDB4MDMsIDB4N2YsIDB4MDgsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDgsIDB4MTIsIDB4MWIsIDB4NDgsIDB4ZmYsCi0weDkwLCAweGZhLCAweGQ4LCAweGU1LCAweGYwLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweGFlLCAweDAyLCAweGFmLCAweDAxLCAweDhlLCAweDUwLCAweDhmLAotMHg1MSwgMHg3NCwgMHgwYSwgMHgyNSwgMHg1MSwgMHhmNSwgMHg1MSwgMHhlNCwgMHgzNSwgMHg1MCwgMHhmNSwgMHg1MCwgMHg5MCwgMHhmYSwgMHhkYiwgMHhlMCwKLTB4ZmYsIDB4MTQsIDB4ZmUsIDB4OTAsIDB4ZmEsIDB4ZDksIDB4ZTAsIDB4NWUsIDB4ZmUsIDB4YzMsIDB4ZWYsIDB4OWUsIDB4ZmYsIDB4OTAsIDB4ZmEsIDB4ZGQsCi0weGYwLCAweGMzLCAweDkwLCAweGZhLCAweGQ3LCAweGUwLCAweDlmLCAweDkwLCAweGZhLCAweGQ2LCAweGUwLCAweDk0LCAweDAwLCAweDUwLCAweDA2LCAweGEzLAotMHhlMCwgMHg5MCwgMHhmYSwgMHhkZCwgMHhmMCwgMHgxMiwgMHgyMCwgMHhhOSwgMHg2MCwgMHgwMywgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgyZSwgMHgyYiwKLTB4OTAsIDB4ZmEsIDB4ZDYsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NGUsIDB4NjAsIDB4MmIsIDB4OTAsIDB4ZmEsIDB4ZGEsIDB4ZTAsIDB4ZmMsCi0weGEzLCAweGUwLCAweGZkLCAweGQzLCAweGVmLCAweDlkLCAweGVlLCAweDljLCAweDQwLCAweDA3LCAweGUwLCAweDkwLCAweGZhLCAweGRkLCAweGYwLCAweDgwLAotMHgwOCwgMHg5MCwgMHhmYSwgMHhkNywgMHhlMCwgMHg5MCwgMHhmYSwgMHhkZCwgMHhmMCwgMHgxMiwgMHgyMCwgMHhhOSwgMHg2MCwgMHgwMywgMHhlMCwgMHhmZiwKLTB4MjIsIDB4MTIsIDB4MmUsIDB4MmIsIDB4ODAsIDB4Y2EsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4NTIsIDB4ZTQsIDB4ZjUsIDB4MmQsIDB4ZjUsCi0weDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDdmLCAweDAwLCAweDIyLCAweGFhLCAweDUwLCAweGE5LCAweDUxLCAweDdiLCAweDAxLCAweDkwLAotMHhmYSwgMHhkOCwgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHhmZCwgMHg5MCwgMHhmYSwgMHhkZCwgMHhlMCwgMHhmNSwgMHg0YSwgMHgxMiwgMHgyOSwgMHg2MCwKLTB4OTAsIDB4ZmEsIDB4ZGMsIDB4ZWYsIDB4ZjAsIDB4MjIsIDB4ZWYsIDB4MjQsIDB4YWUsIDB4NjAsIDB4NTIsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MmUsIDB4MjQsCi0weGZlLCAweDcwLCAweDAzLCAweDAyLCAweDIxLCAweDY5LCAweDI0LCAweDA2LCAweDYwLCAweDAzLCAweDAyLCAweDIxLCAweGIxLCAweDc4LCAweDcxLCAweGU2LAotMHg1NCwgMHhmYiwgMHhmNiwgMHg5MCwgMHhmZiwgMHhhNSwgMHhlMCwgMHhmNSwgMHgyMiwgMHg0NCwgMHgwZiwgMHhmMCwgMHg3NCwgMHgzMywgMHg5MCwgMHhmYSwKLTB4OTQsIDB4ZjAsIDB4ZTUsIDB4MjIsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4YjIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MjIsIDB4NzgsIDB4NzIsIDB4ZTYsCi0weDU0LCAweGZiLCAweGY2LCAweDkwLCAweGZmLCAweGI1LCAweGUwLCAweGY1LCAweDIyLCAweDQ0LCAweDBmLCAweGYwLCAweDc0LCAweDQzLCAweDkwLCAweGZhLAotMHg5NiwgMHhmMCwgMHhlNSwgMHgyMiwgMHhhMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhiMywgMHg3NCwgMHgwMSwgMHhmMCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhhMCwKLTB4ZTAsIDB4YTMsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MDIsIDB4MjEsIDB4YjEsIDB4OTAsIDB4ZmYsIDB4YTYsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4Y2QsIDB4ZjAsCi0weGEzLCAweGYwLCAweDkwLCAweGZhLCAweGNkLCAweGUwLCAweGZmLCAweDU0LCAweDBmLCAweGZlLCAweDYwLCAweDEwLCAweDkwLCAweGZmLCAweGE2LCAweDEyLAotMHgyMywgMHgwZCwgMHg5MCwgMHhmZiwgMHhhNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhmMCwgMHg4MCwgMHhlNiwgMHg5MCwgMHhmYSwgMHhjZSwgMHhlMCwKLTB4ZmYsIDB4NzQsIDB4MzQsIDB4ZmUsIDB4MTIsIDB4MmQsIDB4ODUsIDB4ZWYsIDB4NzAsIDB4NTcsIDB4OTAsIDB4ZmEsIDB4Y2UsIDB4ZTAsIDB4ZmYsIDB4NzQsCi0weDM0LCAweDkwLCAweGZhLCAweDk4LCAweGYwLCAweGVmLCAweGEzLCAweGYwLCAweDIyLCAweDkwLCAweGZhLCAweGFhLCAweGUwLCAweGEzLCAweDMwLCAweGU1LAotMHg0MCwgMHg5MCwgMHhmZiwgMHhiNiwgMHhlMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhjZCwgMHhlMCwgMHhmZiwKLTB4NTQsIDB4MGYsIDB4ZmUsIDB4NjAsIDB4MTAsIDB4OTAsIDB4ZmYsIDB4YjYsIDB4MTIsIDB4MjMsIDB4MGQsIDB4OTAsIDB4ZmYsIDB4YjYsIDB4ZTAsIDB4OTAsCi0weGZhLCAweGNkLCAweGYwLCAweDgwLCAweGU2LCAweDkwLCAweGZhLCAweGNlLCAweGUwLCAweGZmLCAweDc0LCAweDQ0LCAweGZlLCAweDEyLCAweDJkLCAweDg1LAotMHhlZiwgMHg3MCwgMHgwZSwgMHg5MCwgMHhmYSwgMHhjZSwgMHhlMCwgMHhmZiwgMHg3NCwgMHg0NCwgMHg5MCwgMHhmYSwgMHg5YSwgMHhmMCwgMHhlZiwgMHhhMywKLTB4ZjAsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDAsIDB4YzAsCi0weDAwLCAweGMwLCAweDAxLCAweGMwLCAweDAyLCAweGMwLCAweDAzLCAweGMwLCAweDA0LCAweGMwLCAweDA1LCAweGMwLCAweDA2LCAweGMwLCAweDA3LCAweDkwLAotMHhmZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHg5MCwgMHhmYSwgMHhjYywgMHhmMCwgMHg5MCwgMHhmZiwgMHg5MiwgMHhlNCwgMHhmMCwgMHhlZiwgMHgxMiwgMHgxYiwKLTB4ZmMsIDB4MjIsIDB4NjksIDB4MjYsIDB4MjIsIDB4NjksIDB4MmUsIDB4MjIsIDB4MGMsIDB4MzAsIDB4MjIsIDB4MGMsIDB4MzIsIDB4MjIsIDB4MWEsIDB4MzgsCi0weDIyLCAweDJjLCAweDNhLCAweDIyLCAweDVlLCAweDNlLCAweDIyLCAweDQ5LCAweDQ0LCAweDIyLCAweDNlLCAweDQ2LCAweDIyLCAweDU0LCAweDUwLCAweDIyLAotMHg1NCwgMHg1MiwgMHgyMiwgMHg1NCwgMHg1NCwgMHgyMiwgMHg1NCwgMHg1NiwgMHgwMCwgMHgwMCwgMHgyMiwgMHg2ZSwgMHg5MCwgMHhmYSwgMHhjYywgMHhlMCwKLTB4ZmQsIDB4N2MsIDB4MDAsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTEsIDB4NWUsIDB4ODAsIDB4NjIsIDB4N2MsIDB4MDAsIDB4N2QsIDB4MDEsIDB4N2YsIDB4MDMsCi0weDEyLCAweDExLCAweDVlLCAweDkwLCAweGZmLCAweGZlLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDUwLCAweDdjLCAweDAwLCAweDdkLCAweDAxLAotMHg3ZiwgMHgwMiwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg5MCwgMHhmZiwgMHhmZSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg4MCwgMHgzZSwgMHg3YywgMHgwMCwKLTB4N2QsIDB4MDEsIDB4N2YsIDB4MDUsIDB4MTIsIDB4MTEsIDB4NWUsIDB4ODAsIDB4MzMsIDB4N2MsIDB4MDAsIDB4N2QsIDB4MDEsIDB4N2YsIDB4MDYsIDB4MTIsCi0weDExLCAweDVlLCAweDgwLCAweDI4LCAweDkwLCAweGZhLCAweGNjLCAweGUwLCAweGZmLCAweDEyLCAweDIwLCAweGM2LCAweDgwLCAweDFlLCAweDdjLCAweDAwLAotMHg3ZCwgMHgwMSwgMHg3ZiwgMHgwNCwgMHgxMiwgMHgxMSwgMHg1ZSwgMHg4MCwgMHgxMywgMHgxMiwgMHgyOCwgMHg0ZSwgMHg4MCwgMHgwZSwgMHg5MCwgMHhmYSwKLTB4Y2MsIDB4ZTAsIDB4MjQsIDB4MDAsIDB4ZmYsIDB4ZTQsIDB4MzQsIDB4ZmYsIDB4ZmUsIDB4MTIsIDB4MmQsIDB4ODUsIDB4ZDAsIDB4MDcsIDB4ZDAsIDB4MDYsCi0weGQwLCAweDA1LCAweGQwLCAweDA0LCAweGQwLCAweDAzLCAweGQwLCAweDAyLCAweGQwLCAweDAxLCAweGQwLCAweDAwLCAweGQwLCAweGQwLCAweGQwLCAweDgyLAotMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHg3OCwgMHg3YywgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHgyNCwgMHgwNCwgMHg4ZSwKLTB4ODMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4MjIsIDB4NzQsIDB4MTMsIDB4MjUsIDB4MjQsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0weDM0LCAweGY5LCAweGY1LCAweDgzLCAweDIyLCAweDc4LCAweDgwLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweDIyLAotMHg3OCwgMHg4MCwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwgMHhhYSwgMHgwNiwgMHhmOCwgMHhhYywgMHgwMiwgMHg3ZCwgMHgwMSwgMHg3YiwgMHhmZiwgMHg3YSwKLTB4MzIsIDB4NzksIDB4NTYsIDB4N2UsIDB4MDAsIDB4N2YsIDB4MGEsIDB4MDIsIDB4MWEsIDB4N2MsIDB4NzgsIDB4ODAsIDB4ZTYsIDB4ZmMsIDB4MDgsIDB4ZTYsCi0weGY1LCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzLCAweDIyLCAweGZmLCAweDkwLCAweGY5LCAweDZmLCAweDAyLCAweDFiLCAweGVhLCAweDkwLCAweGY5LAotMHg2YSwgMHgxMiwgMHgxYiwgMHhlYSwgMHg5MCwgMHgwMCwgMHgwNCwgMHgwMiwgMHgxYSwgMHhiYiwgMHg3OCwgMHg3ZSwgMHhlNiwgMHhmZSwgMHgwOCwgMHhlNiwKLTB4ZmYsIDB4MjIsIDB4ZWQsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjIsIDB4ZWYsIDB4ZjAsIDB4OTAsCi0weGZhLCAweGNlLCAweGUwLCAweDU0LCAweDBmLCAweDRlLCAweGZlLCAweGYwLCAweGVmLCAweDU0LCAweGYwLCAweDRlLCAweGYwLCAweDIyLCAweDc4LCAweDgwLAotMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwgMHg4YywgMHg4MywgMHgyMiwgMHg3OCwgMHg3ZSwgMHhlNiwgMHhmYywgMHgwOCwgMHhlNiwgMHhmZCwgMHg4YywgMHg4MywKLTB4MjIsIDB4YTYsIDB4MDcsIDB4ZTYsIDB4MjQsIDB4NmUsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4NzgsIDB4N2UsIDB4ZTYsIDB4ZmEsIDB4MDgsIDB4ZTYsIDB4ZmIsCi0weDIyLCAweDA4LCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweDhlLCAweDgzLCAweDIyLCAweDI2LCAweGY2LCAweDE4LCAweGVlLCAweDM2LCAweGY2LCAweDIyLAotMHhlZiwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzZSwgMHhmNSwgMHg4MywgMHgyMiwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNSwgMHg4MiwKLTB4MjIsIDB4OGIsIDB4MjUsIDB4OGEsIDB4MjYsIDB4ODksIDB4MjcsIDB4OGQsIDB4MjgsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTQsIDB4ZjAsIDB4YTMsIDB4NzQsCi0weDAyLCAweGYwLCAweDdiLCAweDAxLCAweDdhLCAweGZhLCAweDc5LCAweGQxLCAweDkwLCAweGZhLCAweGQyLCAweGUwLCAweGY1LCAweDJkLCAweGEzLCAweGUwLAotMHhmNSwgMHgyZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgyNiwgMHg5OCwgMHg5MCwgMHhmYSwgMHhkMSwgMHhlMCwgMHg2NSwgMHgyOCwgMHg2MCwgMHg0NiwgMHhhMywKLTB4ZTAsIDB4ZmYsIDB4YTMsIDB4ZTAsIDB4YTMsIDB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MTIsIDB4MjMsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZDEsCi0weGUwLCAweGZmLCAweDkwLCAweGZhLCAweGQ0LCAweGU0LCAweDhmLCAweGYwLCAweDEyLCAweDFiLCAweDFjLCAweDEyLCAweDIzLCAweGYwLCAweDkwLCAweGZhLAotMHhkNCwgMHhlMCwgMHhmZiwgMHhhMywgMHhlMCwgMHg5MCwgMHhmYSwgMHhkMiwgMHhjZiwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg5MCwgMHhmYSwgMHhkMSwKLTB4ZTAsIDB4YTMsIDB4NzUsIDB4ZjAsIDB4MDAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDQsIDB4MTIsCi0weDFiLCAweDFjLCAweDAyLCAweDIzLCAweDcyLCAweDkwLCAweGZhLCAweGQzLCAweGUwLCAweDI0LCAweDAxLCAweGZmLCAweDkwLCAweGZhLCAweGQyLCAweGUwLAotMHgzNCwgMHgwMCwgMHhhYiwgMHgyNSwgMHhhYSwgMHgyNiwgMHhhOSwgMHgyNywgMHg4ZiwgMHhmMCwgMHgxMiwgMHgxYiwgMHg4MCwgMHg3ZiwgMHgwMCwgMHgyMiwKLTB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4ZDEsIDB4OTAsIDB4ZmEsIDB4ZDIsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4MWIsIDB4MWMsCi0weDg1LCAweGYwLCAweDJlLCAweGY1LCAweDJkLCAweDdkLCAweDAxLCAweDAyLCAweDI2LCAweDk4LCAweDhmLCAweDYyLCAweDEyLCAweDJhLCAweGM3LCAweDEyLAotMHgyMiwgMHhmYSwgMHg4ZSwgMHg4MywgMHgyNCwgMHgwYiwgMHgxMiwgMHgyMiwgMHhhMSwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHg0NCwgMHgwMiwgMHhmMCwKLTB4MDgsIDB4MTIsIDB4MjIsIDB4ZGMsIDB4ZTAsIDB4YTMsIDB4MzAsIDB4ZTUsIDB4MGMsIDB4MTIsIDB4MjMsIDB4MDYsIDB4MjQsIDB4MGIsIDB4MTIsIDB4MjIsCi0weGExLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDc4LCAweDdjLCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGZmLCAweGY1LCAweDgyLCAweDhlLCAweDgzLAotMHhlMCwgMHg1NCwgMHhiOCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg2MiwgMHgyNCwgMHhmZSwgMHg0NCwgMHgyMCwgMHhmYywgMHg0ZCwgMHhmMCwgMHhlNSwgMHg4MiwKLTB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NTQsIDB4YjgsIDB4ZjAsIDB4NGMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsCi0weDc0LCAweDAzLCAweGYwLCAweDE4LCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGZmLCAweDhlLCAweDgzLCAweDI0LCAweDA1LCAweDEyLCAweDIyLCAweGExLAotMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHg3NCwgMHg5OSwgMHgyNSwgMHg2MiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmYSwgMHhmNSwKLTB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmMsIDB4NDQsIDB4MDMsIDB4ZmMsIDB4ZWQsIDB4NGMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsCi0weDhlLCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDQ0LCAweDgwLAotMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHg3NCwgMHg2ZSwgMHgyNSwgMHg2MiwgMHhmOCwgMHg3NCwgMHgwNCwgMHg0NiwgMHhmNiwgMHg3ZiwgMHgwMCwgMHgyMiwKLTB4MTIsIDB4MTAsIDB4NGIsIDB4N2YsIDB4MDIsIDB4MTIsIDB4MTIsIDB4NjEsIDB4NzgsIDB4NjcsIDB4ZTYsIDB4NDQsIDB4MDIsIDB4ZjYsIDB4ZDIsIDB4YjAsCi0weGQyLCAweGIxLCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDMwLCAweGU3LCAweDA3LCAweDkwLCAweGZmLCAweDllLCAweGU0LCAweGYwLCAweDgwLCAweDM2LAotMHhkMiwgMHhiMywgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg5MCwgMHhmYSwgMHg3ZSwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg5MCwgMHhmYSwKLTB4N2YsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YTIsIDB4ZTAsIDB4OTAsIDB4ZmEsIDB4N2MsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZTAsIDB4OTAsIDB4ZmEsCi0weDdkLCAweGYwLCAweDkwLCAweGZmLCAweGE0LCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweGZmLCAweGI0LCAweGYwLCAweDkwLCAweGZmLCAweGEyLCAweDc0LAotMHg0MCwgMHhmMCwgMHg5MCwgMHhmZiwgMHhiMiwgMHhmMCwgMHg5MCwgMHhmYSwgMHhlNywgMHhlNSwgMHhhOCwgMHhmMCwgMHg3NSwgMHhhOCwgMHg4MSwgMHg5MCwKLTB4ZmYsIDB4OTIsIDB4ZTAsIDB4NjAsIDB4MDQsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4ZmQsIDB4NzQsIDB4M2EsIDB4ZjAsIDB4NDMsCi0weDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDkwLCAweGZhLCAweDdlLCAweGUwLCAweDkwLCAweGZmLCAweGE0LCAweGYwLCAweDkwLCAweGZhLCAweDdmLAotMHhlMCwgMHg5MCwgMHhmZiwgMHhiNCwgMHhmMCwgMHg5MCwgMHhmYSwgMHg3YywgMHhlMCwgMHg5MCwgMHhmZiwgMHhhMiwgMHhmMCwgMHg5MCwgMHhmYSwgMHg3ZCwKLTB4ZTAsIDB4OTAsIDB4ZmYsIDB4YjIsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MTgsIDB4ZTAsIDB4NjAsIDB4MDIsIDB4YzIsIDB4YjMsIDB4OTAsIDB4ZmEsIDB4ZTcsCi0weGUwLCAweGY1LCAweGE4LCAweDAyLCAweDEwLCAweGNlLCAweDhiLCAweDVjLCAweDhhLCAweDVkLCAweDg5LCAweDVlLCAweDEyLCAweDJlLCAweDBkLCAweDkwLAotMHhmYSwgMHhjMywgMHgxMiwgMHgxYiwgMHhmMywgMHhhYSwgMHg1ZCwgMHhhOSwgMHg1ZSwgMHg5MCwgMHhmYSwgMHhjNiwgMHgxMiwgMHgxYiwgMHhmMywgMHg5MCwKLTB4ZmEsIDB4YzcsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MGEsIDB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4YzYsIDB4MTIsIDB4MWIsIDB4ZWEsIDB4ZTksCi0weDI0LCAweDAxLCAweGY5LCAweGU0LCAweDNhLCAweGZhLCAweDkwLCAweGZhLCAweGM5LCAweDEyLCAweDFiLCAweGYzLCAweGFiLCAweDVjLCAweGFhLCAweDVkLAotMHhhOSwgMHg1ZSwgMHgxMiwgMHgyZSwgMHgxOSwgMHhlMCwgMHhmZiwgMHhjMywgMHgxMywgMHhmMCwgMHhlNCwgMHg3OCwgMHg4MiwgMHhmNiwgMHg5MCwgMHhmYSwKLTB4YzEsIDB4ZTAsIDB4ZmYsIDB4NzgsIDB4ODIsIDB4ZTYsIDB4YzMsIDB4OWYsIDB4NTAsIDB4NGEsIDB4OTAsIDB4ZmEsIDB4YzMsIDB4MTIsIDB4MmQsIDB4ZWUsCi0weGZmLCAweDc4LCAweDgzLCAweGY2LCAweDkwLCAweGZhLCAweGM2LCAweDEyLCAweDJkLCAweGVlLCAweGZlLCAweGY0LCAweDVmLCAweGZmLCAweDc4LCAweDgzLAotMHhmNiwgMHgxMiwgMHgyZCwgMHhlYiwgMHg1ZSwgMHg0ZiwgMHhmZiwgMHg3OCwgMHg4MywgMHhmNiwgMHgxMiwgMHgyZCwgMHhmNCwgMHg3NSwgMHhmMCwgMHgwMiwKLTB4MTIsIDB4MWIsIDB4MWMsIDB4OTAsIDB4ZmEsIDB4YzcsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDIsIDB4MTIsIDB4MWIsIDB4MWMsIDB4YWIsIDB4NWMsIDB4YWEsCi0weDVkLCAweGE5LCAweDVlLCAweDkwLCAweDAwLCAweDA0LCAweDEyLCAweDFhLCAweGJiLCAweDMwLCAweGU0LCAweDAzLCAweDEyLCAweDJlLCAweDAzLCAweDc4LAotMHg4MiwgMHgwNiwgMHg4MCwgMHhhYSwgMHhlNCwgMHg5MCwgMHhmYSwgMHhjMiwgMHhmMCwgMHgyMiwgMHg4YiwgMHg1NiwgMHg4YSwgMHg1NywgMHg4OSwgMHg1OCwKLTB4OTAsIDB4ZmEsIDB4YzIsIDB4NzQsIDB4MDYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4ZmEsIDB4YzEsIDB4ZjAsIDB4MTIsIDB4MWEsIDB4YTIsIDB4MjQsIDB4NmUsCi0weDYwLCAweDI2LCAweDE0LCAweDcwLCAweDcwLCAweDEyLCAweDJkLCAweGRhLCAweDYwLCAweDA5LCAweDI0LCAweDMwLCAweDcwLCAweDEyLCAweDEyLCAweDI1LAotMHg1NiwgMHg4MCwgMHg2MiwgMHgxMiwgMHgyZSwgMHgyNCwgMHgxMiwgMHgxZiwgMHhkYSwgMHg5MCwgMHhmYSwgMHhjMiwgMHhlZiwgMHhmMCwgMHg4MCwgMHg1NSwKLTB4OTAsIDB4ZmEsIDB4YzIsIDB4NzQsIDB4ODEsIDB4ZjAsIDB4ODAsIDB4NGQsIDB4MTIsIDB4MmQsIDB4ZGEsIDB4NjAsIDB4MDksIDB4MjQsIDB4MzAsIDB4NzAsCi0weDNlLCAweDEyLCAweDJkLCAweDMwLCAweDgwLCAweDNmLCAweGU1LCAweDU4LCAweDI0LCAweDAzLCAweGY5LCAweGU0LCAweDM1LCAweDU3LCAweGZhLCAweDdiLAotMHgwMSwgMHhjMCwgMHgwMywgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMSwgMHgxMiwgMHgyZSwgMHgyNCwgMHg5MCwgMHgwMCwgMHgwNSwgMHgxMiwgMHgxYSwgMHhiYiwKLTB4ZmQsIDB4OTAsIDB4MDAsIDB4MDgsIDB4MTIsIDB4MWIsIDB4NDgsIDB4ZjUsIDB4MmUsIDB4ODUsIDB4ZjAsIDB4MmQsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDIsCi0weGQwLCAweDAzLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZhLCAweGMxLCAweGVmLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDgwLCAweDA2LCAweDkwLAotMHhmYSwgMHhjMiwgMHg3NCwgMHg4MSwgMHhmMCwgMHg5MCwgMHhmYSwgMHhjMiwgMHhlMCwgMHgxMiwgMHgyZSwgMHgyNCwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwKLTB4MWEsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YzEsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OGIsIDB4MjksIDB4OGEsIDB4MmEsIDB4ODksIDB4MmIsIDB4OGQsIDB4MmMsCi0weGU1LCAweDJjLCAweDcwLCAweDAzLCAweGFmLCAweDJjLCAweDIyLCAweDEyLCAweDJlLCAweDUzLCAweDcwLCAweDE2LCAweDEyLCAweDJlLCAweDcyLCAweGU1LAotMHgyZCwgMHg5MCwgMHhmZiwgMHhmMSwgMHhmMCwgMHgxMiwgMHgzMSwgMHhkOCwgMHg1MCwgMHhmMiwgMHgxMiwgMHgyNywgMHgyNSwgMHg0MCwgMHgwYiwgMHg3ZiwKLTB4MDAsIDB4MjIsIDB4MTIsIDB4MmUsIDB4NzIsIDB4MTIsIDB4MjcsIDB4MjUsIDB4NTAsIDB4ZjgsIDB4OTAsIDB4ZmYsIDB4ZjMsIDB4NzQsIDB4YTEsIDB4ZjAsCi0weGU1LCAweDJjLCAweGI0LCAweDAxLCAweDA3LCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweGZmLCAweGYxLCAweGU0LAotMHhmMCwgMHhmNSwgMHgyZiwgMHhlNSwgMHgyYywgMHgxNCwgMHhmZiwgMHhlNSwgMHgyZiwgMHhjMywgMHg5ZiwgMHg1MCwgMHgyYSwgMHgxMiwgMHgzMSwgMHhjMSwKLTB4NDAsIDB4MDMsIDB4YWYsIDB4MmYsIDB4MjIsIDB4YzMsIDB4ZTUsIDB4MmMsIDB4OTUsIDB4MmYsIDB4ZmYsIDB4YmYsIDB4MDIsIDB4MDcsIDB4OTAsIDB4ZmYsCi0weGYwLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDEyLCAweDJlLCAweDY1LCAweDA1LCAweDJmLCAweDc0LCAweDAxLCAweDI1LCAweDJiLCAweGY1LCAweDJiLAotMHhlNCwgMHgzNSwgMHgyYSwgMHhmNSwgMHgyYSwgMHg4MCwgMHhjYywgMHgxMiwgMHgzMSwgMHhjMSwgMHg0MCwgMHgwMywgMHg3ZiwgMHgxOCwgMHgyMiwgMHgxMiwKLTB4MmUsIDB4NjUsIDB4YWYsIDB4MmMsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjEsIDB4ZTUsIDB4MmUsIDB4ZjAsIDB4MDIsIDB4MzEsIDB4ZDgsIDB4MTIsIDB4MTAsCi0weDRiLCAweDc4LCAweDg0LCAweDEyLCAweDIzLCAweDMxLCAweDMwLCAweGUxLCAweDA4LCAweDdmLCAweDEzLCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDI3LAotMHhiYywgMHg3OCwgMHg4NCwgMHhlNiwgMHhmOSwgMHgyNCwgMHgxMywgMHgxMiwgMHgyMiwgMHhhZCwgMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHg0MCwgMHg1NCwKLTB4MDMsIDB4NjAsIDB4MWUsIDB4ZTksIDB4YjQsIDB4MDMsIDB4MGQsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTAsIDB4NDQsCi0weDA0LCAweGYwLCAweDgwLCAweDQ2LCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDgwLAotMHgzOSwgMHhlOSwgMHhiNCwgMHgwMywgMHgwZCwgMHg5MCwgMHhmZiwgMHg5ZSwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLTB4ODAsIDB4MjgsIDB4OTAsIDB4ZmYsIDB4OWUsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ODAsIDB4MWIsIDB4ZWYsCi0weDU0LCAweDAzLCAweDYwLCAweDE0LCAweGU5LCAweGI0LCAweDAzLCAweDA5LCAweDkwLCAweGZmLCAweGE0LCAweGUwLCAweDU0LCAweGRmLCAweGYwLCAweDgwLAotMHgwNywgMHg5MCwgMHhmZiwgMHhiNCwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHhjMiwgMHhiMywgMHg5MCwgMHhmOSwgMHgxOCwgMHhlMCwgMHgwNCwgMHhmMCwKLTB4YWYsIDB4MDEsIDB4MTIsIDB4MjIsIDB4ZWUsIDB4ZmQsIDB4MTIsIDB4MmYsIDB4ZTUsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsIDB4Y2UsIDB4NzUsCi0weGE4LCAweDQwLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDhiLCAweDAyLCAweDI4LCAweDA5LCAweDAyLCAweDMxLAotMHg4YywgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwKLTB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsCi0weDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLAotMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgyYiwgMHhhOSwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywKLTB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsCi0weDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LAotMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywKLTB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmUsIDB4ZTQsIDB4ZjUsCi0weDIyLCAweDEyLCAweDFkLCAweGMyLCAweGUwLCAweGI0LCAweDA0LCAweDBkLCAweGU1LCAweDIyLCAweDI0LCAweDAzLCAweGZmLCAweDEyLCAweDMwLCAweDEzLAotMHgxMiwgMHgxZCwgMHhjMiwgMHhlNCwgMHhmMCwgMHgwNSwgMHgyMiwgMHhlNSwgMHgyMiwgMHhjMywgMHg5NCwgMHgwMiwgMHg0MCwgMHhlMywgMHhlNCwgMHhmNSwKLTB4MjIsIDB4NzUsIDB4ZjAsIDB4MDIsIDB4ZTUsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4OTQsIDB4MTIsIDB4MWUsIDB4MDMsIDB4NjAsIDB4MmMsIDB4MTIsIDB4MmQsCi0weDg1LCAweGVmLCAweDYwLCAweDUyLCAweDc1LCAweGYwLCAweDAyLCAweGU1LCAweDIyLCAweDkwLCAweGZhLCAweDk0LCAweDEyLCAweDFiLCAweGNjLCAweGU0LAotMHhmMCwgMHhhMywgMHhmMCwgMHg3NSwgMHhmMCwgMHgwYSwgMHhlNSwgMHgyMiwgMHg5MCwgMHhmYSwgMHhhMCwgMHgxMiwgMHgxYiwgMHhjYywgMHhlMCwgMHhhMywKLTB4MzAsIDB4ZTYsIDB4MzMsIDB4MTIsIDB4MWQsIDB4YzIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4MjIsIDB4NzUsIDB4ZjAsIDB4MDIsIDB4ZTUsIDB4MjIsIDB4OTAsCi0weGZhLCAweDk4LCAweDEyLCAweDFlLCAweDAzLCAweDYwLCAweDE2LCAweDEyLCAweDJkLCAweDg1LCAweGVmLCAweDYwLCAweDE5LCAweDc1LCAweGYwLCAweDAyLAotMHhlNSwgMHgyMiwgMHg5MCwgMHhmYSwgMHg5OCwgMHgxMiwgMHgxYiwgMHhjYywgMHhlNCwgMHhmMCwgMHhhMywgMHhmMCwgMHgyMiwgMHgwNSwgMHgyMiwgMHhlNSwKLTB4MjIsIDB4YzMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4OWIsIDB4MjIsIDB4ZTQsIDB4ZmYsIDB4OTAsIDB4ZmYsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4ZmUsCi0weGVmLCAweGMzLCAweDllLCAweDUwLCAweDE3LCAweDc0LCAweGYwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZlLCAweGY1LCAweDgzLCAweGUwLAotMHgxMiwgMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhlOCwgMHgwZiwgMHgxMiwgMHgxYywgMHhiMCwgMHg4MCwgMHhkZCwgMHhlZiwgMHhmZCwgMHhjMywgMHhlNSwKLTB4M2EsIDB4OWQsIDB4ZjUsIDB4M2EsIDB4ZTUsIDB4MzksIDB4OTQsIDB4MDAsIDB4ZjUsIDB4MzksIDB4ZDMsIDB4ZTUsIDB4M2EsIDB4OTQsIDB4MDAsIDB4ZTUsCi0weDM5LCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAweGU0LCAweDkwLCAweGZmLCAweDgzLCAweGYwLCAweDIyLCAweDEyLCAweDFkLCAweGRmLCAweDEyLCAweDFlLAotMHgzNCwgMHgxMiwgMHgxZSwgMHgyNiwgMHgxMiwgMHgxYSwgMHhhMiwgMHgyNCwgMHg2ZSwgMHg2MCwgMHgxZSwgMHgxNCwgMHg2MCwgMHgxYiwgMHgyNCwgMHg4ZSwKLTB4NzAsIDB4MmQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MWEsIDB4YmIsIDB4ZmYsIDB4MjQsIDB4ZmMsIDB4NjAsIDB4MDMsIDB4MDQsIDB4NzAsIDB4MWYsCi0weGVmLCAweGZkLCAweDdjLCAweDAwLCAweDdmLCAweDBkLCAweDAyLCAweDExLCAweDVlLCAweDEyLCAweDFlLCAweDNiLCAweDEyLCAweDI1LCAweGZhLCAweDEyLAotMHgxZCwgMHg4OSwgMHgxMiwgMHgxYSwgMHhiYiwgMHg2MCwgMHgwMywgMHgwMiwgMHgzMiwgMHg3YSwgMHhlNCwgMHhmZiwgMHgxMiwgMHgzMiwgMHg2ZSwgMHgyMiwKLTB4OGIsIDB4NDUsIDB4OGEsIDB4NDYsIDB4ODksIDB4NDcsIDB4OGMsIDB4NDgsIDB4OGQsIDB4NDksIDB4ZDIsIDB4MDAsIDB4MTIsIDB4MmUsIDB4NTMsIDB4NzAsCi0weDE2LCAweDEyLCAweDJlLCAweDcyLCAweGU1LCAweDQ4LCAweDkwLCAweGZmLCAweGYxLCAweGYwLCAweDEyLCAweDMxLCAweGQ4LCAweDUwLCAweGYyLCAweDEyLAotMHgyOSwgMHhkNSwgMHg0MCwgMHgwYiwgMHg3ZiwgMHgxOCwgMHgyMiwgMHgxMiwgMHgyZSwgMHg3MiwgMHgxMiwgMHgyOSwgMHhkNSwgMHg1MCwgMHhmOCwgMHhlNCwKLTB4ZjUsIDB4NGIsIDB4ZTUsIDB4NGEsIDB4MTQsIDB4ZmYsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OWYsIDB4NTAsIDB4MTcsIDB4MTIsIDB4MjksIDB4YzUsIDB4NDAsCi0weDAzLCAweDdmLCAweDE4LCAweDIyLCAweDA1LCAweDRiLCAweDc0LCAweDAxLCAweDI1LCAweDQ3LCAweGY1LCAweDQ3LCAweGU0LCAweDM1LCAweDQ2LCAweGY1LAotMHg0NiwgMHg4MCwgMHhkZiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgyOSwgMHhjNSwgMHg0MCwgMHgwMywgMHg3ZiwKLTB4MTgsIDB4MjIsIDB4N2YsIDB4MDAsIDB4MjIsIDB4YWIsIDB4NDUsIDB4YWEsIDB4NDYsIDB4YTksIDB4NDcsIDB4MTIsIDB4MWEsIDB4YTIsIDB4OTAsIDB4ZmYsCi0weGYxLCAweGYwLCAweDAyLCAweDMxLCAweGQ4LCAweDkwLCAweGZmLCAweGYxLCAweGU1LCAweDQ5LCAweGYwLCAweDAyLCAweDMxLCAweGQ4LCAweDdiLCAweDAxLAotMHg3YSwgMHhmYSwgMHg3OSwgMHhjZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgyMywgMHg2MSwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwOSwKLTB4MTIsIDB4MWIsIDB4MWMsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MjMsIDB4OTAsIDB4ZmEsIDB4Y2YsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsCi0weDEyLCAweDFiLCAweDMyLCAweDg1LCAweGYwLCAweDJlLCAweGY1LCAweDJkLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDkwLCAweGZmLCAweGY3LAotMHhlNSwgMHgyMywgMHgxMiwgMHgyYSwgMHgzOSwgMHg5MCwgMHhmZiwgMHhmNiwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHhmMCwKLTB4YTMsIDB4NzQsIDB4MDYsIDB4MTIsIDB4MmEsIDB4MzksIDB4ZTUsIDB4MjMsIDB4MzAsIDB4ZTAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4NzQsIDB4OTQsCi0weGYwLCAweDIyLCAweDkwLCAweGZmLCAweGZjLCAweDc0LCAweDkwLCAweGYwLCAweDIyLCAweGYwLCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDIzLAotMHg5MCwgMHhmYSwgMHhjZiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHgxYiwgMHgzMiwgMHg4NSwgMHhmMCwgMHgyZSwgMHhmNSwgMHgyZCwgMHg3ZCwKLTB4MDEsIDB4MDIsIDB4MjYsIDB4OTgsIDB4OTAsIDB4ZmYsIDB4OTMsIDB4NzQsIDB4ODEsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZmYsIDB4ZTAsIDB4NjAsIDB4MDYsCi0weDkwLCAweGZmLCAweGZjLCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGZmLCAweDkxLCAweGUwLCAweDQ0LCAweDkwLCAweGYwLCAweGU0LCAweDkwLCAweGY5LAotMHgxNiwgMHhmMCwgMHhhMywgMHhmMCwgMHgxMiwgMHgyYiwgMHgzOSwgMHgxMiwgMHgxNiwgMHhjOSwgMHgxMiwgMHgzMCwgMHg2OSwgMHg3ZSwgMHgwNywgMHg3ZiwKLTB4ZDAsIDB4MTIsIDB4MTIsIDB4MmEsIDB4N2UsIDB4MGYsIDB4N2YsIDB4YTAsIDB4MTIsIDB4MTIsIDB4NDQsIDB4ZTQsIDB4NzgsIDB4NzcsIDB4ZjYsIDB4NzgsCi0weDc3LCAweGU2LCAweGZmLCAweGMzLCAweDk0LCAweDA2LCAweDUwLCAweDBiLCAweDc0LCAweDZlLCAweDJmLCAweGY4LCAweGU0LCAweGY2LCAweDc4LCAweDc3LAotMHgwNiwgMHg4MCwgMHhlYywgMHg3ZiwgMHgwMywgMHgxMiwgMHgzMCwgMHhiMiwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHgyMCwgMHhlNCwgMHgwNSwgMHg3ZiwKLTB4MDQsIDB4MTIsIDB4MzAsIDB4YjIsIDB4OTAsIDB4ZmYsIDB4OWIsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4OWEsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZTgsCi0weGUwLCAweDU0LCAweDFmLCAweGYwLCAweGQyLCAweGE4LCAweDIyLCAweDE1LCAweDY1LCAweGE4LCAweDY1LCAweGE2LCAweDA3LCAweDMwLCAweDA4LCAweDA1LAotMHgxMiwgMHgxMSwgMHhhZSwgMHg4MCwgMHhmOCwgMHhkMiwgMHgwOCwgMHhhOCwgMHg2NSwgMHhlNiwgMHhmZiwgMHhiNCwgMHgwMywgMHgwZiwgMHg3OCwgMHg3YywKLTB4NzYsIDB4ZmYsIDB4MDgsIDB4NzYsIDB4ZTAsIDB4MDgsIDB4NzYsIDB4ZmYsIDB4MDgsIDB4NzYsIDB4YTAsIDB4ODAsIDB4MGQsIDB4NzgsIDB4N2MsIDB4NzYsCi0weGZmLCAweDA4LCAweDc2LCAweGUyLCAweDA4LCAweDc2LCAweGZmLCAweDA4LCAweDc2LCAweGIwLCAweDc4LCAweDgwLCAweDc2LCAweGZhLCAweDA4LCAweDc2LAotMHg5ZSwgMHhlZiwgMHgyNCwgMHhmZCwgMHg3NSwgMHhmMCwgMHgwYSwgMHhhNCwgMHhhZSwgMHhmMCwgMHgxMiwgMHgyMywgMHg0OSwgMHg3YiwgMHgwMSwgMHg3YSwKLTB4ZmYsIDB4NzksIDB4NDgsIDB4NzgsIDB4NjgsIDB4MTIsIDB4MWIsIDB4ZTEsIDB4YTgsIDB4NjUsIDB4ZTYsIDB4MjQsIDB4ZmQsIDB4NzUsIDB4ZjAsIDB4MDgsCi0weGE0LCAweGZmLCAweGFlLCAweGYwLCAweDc4LCAweDZhLCAweDEyLCAweDIzLCAweDQ5LCAweDc5LCAweDA4LCAweDc4LCAweDZiLCAweDEyLCAweDFiLCAweGUxLAotMHg3OCwgMHg2ZCwgMHhlZiwgMHgxMiwgMHgyMywgMHg0OSwgMHgwNSwgMHg2NSwgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHg1NCwgMHhhYiwgMHhmMCwKLTB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4ZmEsIDB4ZTYsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4ZmEsIDB4NzksIDB4Y2YsCi0weGU0LCAweGY1LCAweDJkLCAweGY1LCAweDJlLCAweDdkLCAweDAxLCAweDEyLCAweDI2LCAweDk4LCAweDdlLCAweDAwLCAweDkwLCAweGZhLCAweGU0LCAweGVlLAotMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHg2NCwgMHgwMSwgMHg3MCwgMHgxMCwgMHg5MCwgMHhmYSwgMHhjZiwgMHhlMCwgMHhiNCwgMHg1MiwgMHgwOSwgMHg5MCwKLTB4ZjksIDB4MTYsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MjksIDB4OTAsIDB4ZmEsIDB4ZTQsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4YTMsIDB4ZTAsCi0weDY0LCAweDAxLCAweDcwLCAweDEwLCAweDkwLCAweGZhLCAweGNmLCAweGUwLCAweGI0LCAweDEwLCAweDA5LCAweDkwLCAweGY5LCAweDE2LCAweGUwLCAweDQ0LAotMHgxMCwgMHhmMCwgMHg4MCwgMHgwZCwgMHg5MCwgMHhmYSwgMHhlNiwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhmOSwgMHgxNiwgMHhlMCwgMHg1NCwgMHhlZiwKLTB4ZjAsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4MjIsIDB4MDMsIDB4NjgsIDB4MDEsIDB4ZmYsIDB4NDgsIDB4MDMsIDB4NmIsCi0weDAxLCAweGZmLCAweDA4LCAweDAyLCAweDY2LCAweDAwLCAweDAwLCAweDQ0LCAweGZhLCAweDk4LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDQ0LCAweGZhLAotMHg5NCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0MiwgMHhmYSwgMHhiMiwgMHgwMCwgMHgwMCwgMHg0MiwgMHhmYSwgMHg3ZSwgMHgwMCwgMHgwMCwgMHg0MiwKLTB4ZmEsIDB4N2MsIDB4MDAsIDB4MDAsIDB4NDIsIDB4ZjksIDB4NmQsIDB4ZmYsIDB4ZmYsIDB4NDIsIDB4ZmEsIDB4N2EsIDB4MDAsIDB4MDAsIDB4NDEsIDB4ZjksCi0weDY2LCAweGZmLCAweDQxLCAweGY5LCAweDFjLCAweDE5LCAweDQxLCAweGY5LCAweDE1LCAweDAwLCAweDQzLCAweGY5LCAweDE5LCAweDBhLCAweDMyLCAweDAyLAotMHg0MSwgMHhmOSwgMHg2OCwgMHgyMCwgMHg0MSwgMHhmOSwgMHg2OSwgMHgyMCwgMHg0MSwgMHhmOSwgMHg2NSwgMHgwMCwgMHg0MSwgMHhmOSwgMHg2NywgMHgwMCwKLTB4NDQsIDB4ZjgsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDIsIDB4ZjksIDB4MTYsIDB4MDAsIDB4MDAsIDB4NDEsIDB4ZjksIDB4MTgsIDB4MDAsCi0weDAxLCAweDIwLCAweDAwLCAweDQxLCAweGY4LCAweDA0LCAweDAwLCAweDAwLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDhhLCAweGVmLCAweGY2LCAweDEyLAotMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhlZSwgMHgzMCwgMHhlMCwgMHgyOSwgMHg3OCwgMHg3YywgMHgxMiwgMHgyMiwgMHhiNywgMHhlMCwgMHg1NCwgMHg3ZiwKLTB4ZjAsIDB4NzgsIDB4NmIsIDB4MTIsIDB4MWIsIDB4ZDgsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MWEsIDB4YmIsIDB4MzAsIDB4ZTcsIDB4MDksIDB4OTAsCi0weDAwLCAweDAyLCAweGU0LCAweDEyLCAweDFhLCAweGZhLCAweDgwLCAweGU5LCAweDc4LCAweDdjLCAweDEyLCAweDIyLCAweGI3LCAweGUwLCAweDQ0LCAweDgwLAotMHhmMCwgMHgxMiwgMHgyMiwgMHhlZSwgMHgzMCwgMHhlMSwgMHgxZSwgMHgxMiwgMHgyMiwgMHg5NywgMHhlMCwgMHg1NCwgMHg3ZiwgMHhmMCwgMHgxMiwgMHgzMiwKLTB4MTksIDB4NzgsIDB4NjgsIDB4MTIsIDB4MWIsIDB4ZDgsIDB4OTAsIDB4MDAsIDB4MDIsIDB4NzQsIDB4ODAsIDB4MTIsIDB4MWEsIDB4ZmEsIDB4MTIsIDB4MjIsCi0weDk3LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweGU0LCAweGZmLCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLCAweGNlLAotMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4NSwgMHhlZiwgMHhmNiwgMHgxMiwgMHgzMSwgMHg1MCwgMHgxMiwgMHgzMSwgMHhhOSwgMHg3OCwgMHg4NSwgMHhlNiwKLTB4ZmYsIDB4MjQsIDB4MTMsIDB4MTIsIDB4MjIsIDB4YWQsIDB4ZTAsIDB4ZmUsIDB4MzAsIDB4ZTcsIDB4MTYsIDB4ZWYsIDB4YjQsIDB4MDMsIDB4MDksIDB4OTAsCi0weGZmLCAweDllLCAweGUwLCAweDU0LCAweGZhLCAweGYwLCAweDgwLCAweDIyLCAweDkwLCAweGZmLCAweDllLCAweGUwLCAweDU0LCAweGY1LCAweGYwLCAweDgwLAotMHgxOSwgMHhlZSwgMHg1NCwgMHgwMywgMHg2MCwgMHgxNCwgMHhlZiwgMHhiNCwgMHgwMywgMHgwOSwgMHg5MCwgMHhmZiwgMHhhNCwgMHhlMCwgMHg0NCwgMHgyMCwKLTB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4ZmYsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4ZjksIDB4MTgsIDB4ZTAsIDB4MTQsIDB4ZjAsCi0weGUwLCAweDcwLCAweDAyLCAweGQyLCAweGIzLCAweDAyLCAweDEwLCAweGNlLCAweDEyLCAweDFlLCAweDFjLCAweGU1LCAweDNhLCAweDY0LCAweDA5LCAweDcwLAotMHgwNCwgMHhlNSwgMHgzOSwgMHg2NCwgMHgwMSwgMHg2MCwgMHg0OCwgMHhjMywgMHhlNSwgMHgzYSwgMHg5NCwgMHgwOCwgMHhlNSwgMHgzOSwgMHg5NCwgMHgwMCwKLTB4NDAsIDB4MTEsIDB4N2YsIDB4MDgsIDB4ZWYsIDB4ZTUsIDB4M2EsIDB4OTQsIDB4MDgsIDB4ZjUsIDB4M2EsIDB4ZTUsIDB4MzksIDB4OTQsIDB4MDAsIDB4ZjUsCi0weDM5LCAweDgwLCAweDA1LCAweGFmLCAweDNhLCAweDEyLCAweDFlLCAweDM0LCAweGU0LCAweGZlLCAweGVlLCAweGMzLCAweDlmLCAweDUwLCAweDE5LCAweDEyLAotMHgxYywgMHhjMSwgMHgxMiwgMHgxYSwgMHhhMiwgMHhmZCwgMHg3NCwgMHhmOCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHhmZSwgMHhmNSwgMHg4MywKLTB4ZWQsIDB4ZjAsIDB4MGUsIDB4MTIsIDB4MWMsIDB4YjAsIDB4ODAsIDB4ZTIsIDB4ZWYsIDB4NTQsIDB4N2YsIDB4OTAsIDB4ZmYsIDB4ODEsIDB4ZjAsIDB4MjIsCi0weDhiLCAweDU5LCAweDhhLCAweDVhLCAweDg5LCAweDViLCAweDEyLCAweDJlLCAweDE5LCAweDcwLCAweDA1LCAweGEzLCAweDc0LCAweDA4LCAweGYwLCAweDIyLAotMHhhYiwgMHg1OSwgMHhhYSwgMHg1YSwgMHhhOSwgMHg1YiwgMHgxMiwgMHgyZSwgMHgwZCwgMHg5MCwgMHhmYSwgMHhjOSwgMHgxMiwgMHgxYiwgMHhmMywgMHhlNSwKLTB4NWIsIDB4MjQsIDB4MDMsIDB4ZjksIDB4ZTQsIDB4MzUsIDB4NWEsIDB4ZmEsIDB4OTAsIDB4ZmEsIDB4YzMsIDB4MTIsIDB4MWIsIDB4ZjMsIDB4ZTQsIDB4OTAsCi0weGZhLCAweGMyLCAweGYwLCAweDc4LCAweDhiLCAweGY2LCAweDkwLCAweGZhLCAweGMxLCAweGUwLCAweGZmLCAweDc4LCAweDhiLCAweGU2LCAweGMzLCAweDlmLAotMHg1MCwgMHgxMiwgMHgxMiwgMHgyZCwgMHhlYiwgMHhmZiwgMHgxMiwgMHgyZCwgMHhmNCwgMHgxMiwgMHgyZSwgMHgwNywgMHg3OCwgMHg4YiwgMHgwNiwgMHgxMiwKLTB4MmUsIDB4MDMsIDB4ODAsIDB4ZTIsIDB4MjIsIDB4YWQsIDB4MDcsIDB4YWMsIDB4MDYsIDB4OTAsIDB4MzIsIDB4MGEsIDB4ZTQsIDB4OTMsIDB4ZmYsIDB4NzgsCi0weDc0LCAweGY2LCAweDU0LCAweDBmLCAweDEyLCAweDFkLCAweGE4LCAweGUwLCAweDA4LCAweDc2LCAweDAwLCAweDA4LCAweGY2LCAweDE4LCAweDEyLCAweDFjLAotMHhkOSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHg3OCwgMHg3NSwgMHhlZSwgMHhmNiwgMHgwOCwgMHhlZiwgMHhmNiwKLTB4ZWUsIDB4NDQsIDB4ZjgsIDB4MTgsIDB4ZjYsIDB4ZWYsIDB4MDgsIDB4ZjYsIDB4OTAsIDB4ZmYsIDB4N2EsIDB4ZTAsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4N2YsCi0weDAwLCAweDIyLCAweDc4LCAweDc1LCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGVjLCAweGYwLCAweGEzLCAweGVkLAotMHhmMCwgMHg5MCwgMHhmZiwgMHg3YSwgMHg3NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHgyMiwgMHhhYiwgMHg1NiwgMHhhYSwgMHg1NywgMHhhOSwgMHg1OCwKLTB4OTAsIDB4MDAsIDB4MDMsIDB4MTIsIDB4MWEsIDB4YmIsIDB4NTQsIDB4ZjAsIDB4MjQsIDB4YTAsIDB4MjIsIDB4OTAsIDB4ZmEsIDB4YzksIDB4MTIsIDB4MWIsCi0weGVhLCAweDAyLCAweDFhLCAweGEyLCAweDkwLCAweGZhLCAweGMzLCAweDEyLCAweDFiLCAweGVhLCAweGVmLCAweDEyLCAweDFhLCAweGU4LCAweDkwLCAweGZhLAotMHhjYSwgMHhlNCwgMHgyMiwgMHg5MCwgMHhmYSwgMHhjNCwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgwMiwgMHgxYiwgMHgxYywgMHg5MCwgMHgwMCwgMHgwOCwKLTB4MTIsIDB4MWIsIDB4NDgsIDB4YWEsIDB4ZjAsIDB4ZjksIDB4N2IsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4MWEsIDB4YmIsIDB4OTAsCi0weGZhLCAweGMxLCAweGYwLCAweDIyLCAweGFiLCAweDU2LCAweGFhLCAweDU3LCAweGE5LCAweDU4LCAweDIyLCAweDkwLCAweGZhLCAweGRkLCAweGUwLCAweGZmLAotMHg3ZSwgMHgwMCwgMHhjMywgMHg5MCwgMHhmYSwgMHhkNywgMHhlMCwgMHg5ZiwgMHhmMCwgMHg5MCwgMHhmYSwgMHhkNiwgMHhlMCwgMHg5ZSwgMHhmMCwgMHg5MCwKLTB4ZmEsIDB4ZDgsIDB4ZWUsIDB4OGYsIDB4ZjAsIDB4MTIsIDB4MWIsIDB4MWMsIDB4ZWYsIDB4MjUsIDB4NTEsIDB4ZjUsIDB4NTEsIDB4ZWUsIDB4MzUsIDB4NTAsCi0weGY1LCAweDUwLCAweDIyLCAweDkwLCAweGZmLCAweGYwLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweGZhLAotMHhlNiwgMHhlMCwgMHg2NCwgMHgwMywgMHgyMiwgMHg5MCwgMHhmZiwgMHhmMiwgMHhlMCwgMHhhYiwgMHgyOSwgMHhhYSwgMHgyYSwgMHhhOSwgMHgyYiwgMHgwMiwKLTB4MWEsIDB4ZTgsIDB4OTAsIDB4ZmYsIDB4ZjMsIDB4NzQsIDB4YTAsIDB4ZjAsIDB4MjIsIDB4OGYsIDB4NjQsIDB4ZWQsIDB4NzAsIDB4MGYsIDB4ZTUsIDB4NjQsCi0weGI0LCAweDAzLCAweDA1LCAweDdmLCAweDAxLCAweDAyLCAweDMxLCAweGVmLCAweDdmLCAweDAyLCAweDAyLCAweDMxLCAweGVmLCAweGFmLCAweDY0LCAweDEyLAotMHgyYSwgMHhjNywgMHg3NCwgMHg2ZSwgMHgyNSwgMHg2NCwgMHhmOCwgMHhlNiwgMHgzMCwgMHhlMiwgMHgwYiwgMHhkMiwgMHgwOSwgMHgxMiwgMHgxZCwgMHgzMywKLTB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MDksIDB4ZTUsIDB4NjQsIDB4YjQsIDB4MDMsIDB4MDcsIDB4N2YsIDB4ODEsIDB4MTIsCi0weDMxLCAweGVmLCAweDgwLCAweDA1LCAweDdmLCAweDgyLCAweDEyLCAweDMxLCAweGVmLCAweDMwLCAweDA5LCAweDA3LCAweDEyLCAweDFkLCAweDMzLCAweGUwLAotMHg0NCwgMHg4MCwgMHhmMCwgMHgxMiwgMHgzMiwgMHg4NCwgMHgyMiwgMHgxMiwgMHgxMCwgMHg0YiwgMHg5MCwgMHhmZiwgMHhmZCwgMHhlMCwgMHg0NCwgMHg2MCwKLTB4ZjAsIDB4ZDIsIDB4MDEsIDB4OTAsIDB4ZmYsIDB4ZmMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4ZmYsIDB4MDAsIDB4ZTAsIDB4MzAsIDB4ZTcsCi0weDEzLCAweDkwLCAweGZmLCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDM1LCAweDgwLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDQ0LAotMHgwMSwgMHhmMCwgMHg4MCwgMHgwZCwgMHgxMiwgMHgxZCwgMHhkZiwgMHg1MywgMHgzNSwgMHg3ZiwgMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg1NCwgMHhmZSwKLTB4ZjAsIDB4OTAsIDB4ZmYsIDB4ODEsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4MTIsIDB4MDIsIDB4ZGUsIDB4MTIsIDB4MWQsIDB4ZTcsIDB4MDIsIDB4MTAsCi0weGNlLCAweDEyLCAweDEwLCAweDRiLCAweDc4LCAweDg5LCAweGVmLCAweGY2LCAweGQyLCAweDAwLCAweDEyLCAweDJhLCAweGM3LCAweDkwLCAweGY5LCAweDZhLAotMHgxMiwgMHgxYiwgMHhlYSwgMHhlOSwgMHgyNCwgMHgwMywgMHhmOSwgMHhlNCwgMHgzYSwgMHhmYSwgMHhjMCwgMHgwMiwgMHg3OCwgMHg4MCwgMHhlNiwgMHhmZSwKLTB4MDgsIDB4ZTYsIDB4YWEsIDB4MDYsIDB4ZjgsIDB4YWMsIDB4MDIsIDB4N2QsIDB4MDEsIDB4ZDAsIDB4MDIsIDB4MTIsIDB4MjIsIDB4ZDMsIDB4MTIsIDB4MzIsCi0weDg0LCAweDc4LCAweDg5LCAweGU2LCAweGZmLCAweDEyLCAweDEzLCAweDg3LCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLCAweGNlLCAweDhmLCAweDYzLAotMHgxMiwgMHgyYSwgMHhjNywgMHg3OCwgMHg3YywgMHgxMiwgMHgyMiwgMHhiNywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmMCwgMHhlNSwgMHg4MiwgMHgyNCwgMHgwNCwKLTB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjAsIDB4MTIsIDB4MjMsIDB4NDEsIDB4MjQsIDB4MGIsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsCi0weDU0LCAweGY4LCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweDc0LCAweDZlLCAweDI1LCAweDYzLCAweGY4LCAweDc0LCAweGZiLCAweDU2LCAweGY2LCAweDdmLAotMHgwMCwgMHgyMiwgMHgxMiwgMHgxMCwgMHg0YiwgMHgxMiwgMHgyYSwgMHhjNywgMHgxMiwgMHgyMiwgMHhmYSwgMHgyNCwgMHgwNiwgMHgxMiwgMHgyMiwgMHg5ZiwKLTB4ZTAsIDB4ZmQsIDB4MTIsIDB4MjIsIDB4ZTgsIDB4OTAsIDB4MDAsIDB4MDMsIDB4MTIsIDB4MjMsIDB4MDIsIDB4MjQsIDB4MDUsIDB4MTIsIDB4MjIsIDB4YTEsCi0weGUwLCAweDkwLCAweDAwLCAweDA0LCAweDEyLCAweDFhLCAweGZhLCAweDEyLCAweDMyLCAweDg0LCAweDdkLCAweDAyLCAweGU0LCAweGZmLCAweDEyLCAweDJmLAotMHhiNCwgMHgwMiwgMHgxMCwgMHhjZSwgMHhhZSwgMHgwNSwgMHgxMiwgMHgxZCwgMHg4ZSwgMHhlZiwgMHgxMiwgMHgxYSwgMHhmYSwgMHgwZSwgMHgwZSwgMHgwZSwKLTB4ZWUsIDB4ZDMsIDB4OTUsIDB4M2MsIDB4ZTQsIDB4OTUsIDB4M2IsIDB4NDAsIDB4MDIsIDB4YWUsIDB4M2MsIDB4ZWUsIDB4ZDMsIDB4OTQsIDB4MDgsIDB4NzQsCi0weDgwLCAweDk0LCAweDgxLCAweDQwLCAweDBhLCAweDdlLCAweDAzLCAweDkwLCAweDAwLCAweDAyLCAweDc0LCAweDAyLCAweDEyLCAweDFhLCAweGZhLCAweGFmLAotMHgwNiwgMHgxMiwgMHgzMiwgMHg2ZSwgMHgyMiwgMHhhZSwgMHgwNywgMHhlZCwgMHg1NCwgMHgwMywgMHg2NCwgMHgwMSwgMHg2MCwgMHgwMywgMHg3ZiwgMHgxMCwKLTB4MjIsIDB4ZWQsIDB4NTQsIDB4N2MsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NTAsIDB4MDMsIDB4N2YsIDB4MGIsIDB4MjIsIDB4NzQsIDB4NmUsIDB4MmUsIDB4ZjgsCi0weDc0LCAweDAyLCAweDQ2LCAweGY2LCAweDc0LCAweDk5LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweGZhLCAweGY1LCAweDgzLCAweGVkLCAweGYwLAotMHg3ZiwgMHgwMCwgMHgyMiwgMHhiZiwgMHgwMywgMHgwNiwgMHg3YywgMHhmZiwgMHg3ZCwgMHhlMCwgMHg4MCwgMHgwNCwgMHg3YywgMHhmZiwgMHg3ZCwgMHhlMiwKLTB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4MTIsIDB4MjIsIDB4YTEsIDB4ZTAsCi0weDQ0LCAweDgwLCAweGYwLCAweDc0LCAweDZlLCAweDJmLCAweGY4LCAweDc0LCAweDA0LCAweDQ2LCAweGY2LCAweDdmLCAweDAwLCAweDIyLCAweDEyLCAweDEwLAotMHg0YiwgMHhlNSwgMHgzYSwgMHg2NCwgMHgwOSwgMHg3MCwgMHgwNCwgMHhlNSwgMHgzOSwgMHg2NCwgMHgwMSwgMHg2MCwgMHgxNiwgMHg5MCwgMHhmZiwgMHg4MywKLTB4ZTAsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4YzMsIDB4ZTUsIDB4M2EsIDB4OWYsIDB4ZTUsIDB4MzksIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDUsIDB4MTIsIDB4MjgsCi0weGQ3LCAweDgwLCAweDAzLCAweDEyLCAweDMyLCAweDdhLCAweDAyLCAweDEwLCAweGNlLCAweDkwLCAweGZmLCAweGZjLCAweGUwLCAweDIwLCAweGU3LCAweDFmLAotMHhjMiwgMHhhZiwgMHg3ZCwgMHhmZiwgMHhhYywgMHgwNSwgMHgxZCwgMHhlYywgMHg2MCwgMHgxNSwgMHg3ZSwgMHgwNCwgMHg3ZiwgMHgwMCwgMHhlZiwgMHgxZiwKLTB4YWEsIDB4MDYsIDB4NzAsIDB4MDEsIDB4MWUsIDB4NGEsIDB4NjAsIDB4ZWMsIDB4OTAsIDB4ZmYsIDB4OTIsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4ZWYsIDB4MjIsCi0weDEyLCAweDEwLCAweDRiLCAweDc4LCAweDY2LCAweGU2LCAweGZlLCAweDA4LCAweGU2LCAweGZmLCAweDMwLCAweGUwLCAweDEyLCAweDMwLCAweGUxLCAweDBmLAotMHg5MCwgMHhmZiwgMHhmYywgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg3ZiwgMHgwNCwgMHgxMiwgMHgxMiwgMHg2MSwgMHgxMiwgMHgxZCwgMHhmNiwgMHgwMiwKLTB4MTAsIDB4Y2UsIDB4OGYsIDB4MjMsIDB4YzIsIDB4MDgsIDB4MTIsIDB4MmEsIDB4YzcsIDB4MTIsIDB4MjIsIDB4YzAsIDB4NzgsIDB4N2UsIDB4MTIsIDB4MjMsCi0weDQyLCAweDI0LCAweDBiLCAweDEyLCAweDIyLCAweGExLCAweGUwLCAweDU0LCAweGY4LCAweGYwLCAweDEyLCAweDMyLCAweDg0LCAweGFmLCAweDIzLCAweDEyLAotMHgxMywgMHg4NywgMHgyMiwgMHg4ZSwgMHg1ZiwgMHg4ZiwgMHg2MCwgMHhlNSwgMHg2MCwgMHgxNSwgMHg2MCwgMHhhZSwgMHg1ZiwgMHg3MCwgMHgwMiwgMHgxNSwKLTB4NWYsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDksIDB4N2UsIDB4MDcsIDB4N2YsIDB4ZDAsIDB4MTIsIDB4MTAsIDB4MjQsCi0weDgwLCAweGU1LCAweDIyLCAweDExLCAweGRjLCAweDJlLCAweGM3LCAweDI0LCAweGIwLCAweDMyLCAweDYwLCAweDMwLCAweDkwLCAweDMwLCAweDNlLCAweDMxLAotMHg2ZiwgMHgyZiwgMHg4MiwgMHgyNywgMHgyZSwgMHgyYywgMHg4MCwgMHgzMSwgMHgxMiwgMHgzMSwgMHgzMSwgMHgxZSwgMHg2NCwgMHgyZiwgMHgxMSwgMHgyYywKLTB4MTgsIDB4MGUsIDB4MTIsIDB4MTAsIDB4NGIsIDB4NzgsIDB4ODYsIDB4MTIsIDB4MjMsIDB4MzEsIDB4MjAsIDB4ZTEsIDB4MDcsIDB4N2YsIDB4MTIsIDB4MTIsCi0weDMxLCAweGE5LCAweDgwLCAweDBhLCAweDc4LCAweDg2LCAweGU2LCAweGZmLCAweDEyLCAweDI0LCAweDBhLCAweDEyLCAweDMxLCAweGE5LCAweDAyLCAweDEwLAotMHhjZSwgMHgxMiwgMHgxMCwgMHg0YiwgMHg3OCwgMHg4NywgMHgxMiwgMHgyMywgMHgzMSwgMHgyMCwgMHhlMiwgMHgwNywgMHg3ZiwgMHgxMSwgMHgxMiwgMHgzMSwKLTB4YTksIDB4ODAsIDB4MGEsIDB4NzgsIDB4ODcsIDB4ZTYsIDB4ZmYsIDB4MTIsIDB4MmYsIDB4NGUsIDB4MTIsIDB4MzEsIDB4YTksIDB4MDIsIDB4MTAsIDB4Y2UsCi0weDhmLCAweDYxLCAweDEyLCAweDJmLCAweDRlLCAweGFmLCAweDYxLCAweDEyLCAweDJhLCAweGM3LCAweDEyLCAweDIyLCAweGMwLCAweDEyLCAweDMyLCAweDg0LAotMHg3NCwgMHg2ZSwgMHgyNSwgMHg2MSwgMHhmOCwgMHg3NCwgMHhmZCwgMHg1NiwgMHhmNiwgMHhhZiwgMHg2MSwgMHgxMiwgMHgxMywgMHg4NywgMHgyMiwgMHgxMiwKLTB4MTAsIDB4NGIsIDB4ZTUsIDB4M2EsIDB4NjQsIDB4MDksIDB4NzAsIDB4MDQsIDB4ZTUsIDB4MzksIDB4NjQsIDB4MDEsIDB4NjAsIDB4MDUsIDB4MTIsIDB4MmMsCi0weGQ4LCAweDgwLCAweDA2LCAweDEyLCAweDFlLCAweDE0LCAweDEyLCAweDFlLCAweDFjLCAweDAyLCAweDEwLCAweGNlLCAweDEyLCAweDJhLCAweDU0LCAweDEyLAotMHgxMywgMHgwMywgMHg5MCwgMHhmOCwgMHgwNCwgMHhlMCwgMHhmZiwgMHg2MCwgMHgwNSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHgxMiwgMHhhMCwgMHgxMiwgMHgyOSwKLTB4ZGUsIDB4MTIsIDB4MTMsIDB4M2YsIDB4MTIsIDB4MTEsIDB4YmMsIDB4ODAsIDB4ZTMsIDB4MTIsIDB4MWQsIDB4OGUsIDB4ZWYsIDB4MTIsIDB4MWEsIDB4ZmEsCi0weGU0LCAweGY1LCAweDMzLCAweGY1LCAweDM0LCAweGVmLCAweDYwLCAweDAzLCAweDAyLCAweDMyLCAweDdhLCAweGU0LCAweGZmLCAweDEyLCAweDMyLCAweDZlLAotMHgyMiwgMHg5MCwgMHhmZiwgMHhmMCwgMHhlMCwgMHhmZiwgMHg1NCwgMHhhMCwgMHg2MCwgMHhmNywgMHhlZiwgMHgzMCwgMHhlNSwgMHgwOCwgMHg5MCwgMHhmZiwKLTB4ZjAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4YzMsIDB4MjIsIDB4ZDMsIDB4MjIsIDB4OTAsIDB4ZmYsIDB4ZjAsIDB4ZTAsIDB4ZmYsIDB4NTQsIDB4MjgsIDB4NjAsCi0weGY3LCAweGVmLCAweDMwLCAweGU1LCAweDA4LCAweDkwLCAweGZmLCAweGYwLCAweDQ0LCAweDIwLCAweGYwLCAweGMzLCAweDIyLCAweGQzLCAweDIyLCAweGVmLAotMHgzMCwgMHhlNywgMHgwOCwgMHgxMiwgMHgxZCwgMHg0NSwgMHhlMCwgMHg1NCwgMHhkZiwgMHhmMCwgMHgyMiwgMHhlZiwgMHgxMiwgMHgxZCwgMHg5OCwgMHhlMCwKLTB4NTQsIDB4ZGYsIDB4ZjAsIDB4MjIsIDB4ODEsIDB4MDEsIDB4ODIsIDB4MDIsIDB4ODMsIDB4MDMsIDB4ODcsIDB4NDAsIDB4MDAsIDB4NDAsIDB4MDAsIDB4NDAsCi0weDAwLCAweDQwLCAweDAwLCAweDQwLCAweDAwLCAweDQwLCAweDAwLCAweDA4LCAweDAwLCAweDc4LCAweDdlLCAweDEyLCAweDIyLCAweGI3LCAweGEzLCAweGEzLAotMHhlMCwgMHhmZiwgMHgzMCwgMHhlNywgMHgwNiwgMHg1NCwgMHg3ZiwgMHhmMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHgyMiwgMHg4NSwgMHgzYiwgMHgzOSwgMHg4NSwKLTB4M2MsIDB4M2EsIDB4OTAsIDB4ZmYsIDB4ODIsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4MjIsIDB4ZTQsCi0weGZlLCAweGVlLCAweDkwLCAweDMyLCAweDA0LCAweDkzLCAweGI1LCAweDA3LCAweDAyLCAweGQzLCAweDIyLCAweDBlLCAweGJlLCAweDA3LCAweGYyLCAweGMzLAotMHgyMiwgMHgwMCwgMHgwOCwgMHgxOCwgMHgyOCwgMHgzOCwgMHgwMSwgMHg4MSwgMHg5MCwgMHgwYSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgxMSwgMHgxMywgMHgwMCwKLTB4MTIsIDB4MTAsIDB4NGIsIDB4N2YsIDB4MDIsIDB4MTIsIDB4MTAsIDB4ZGEsIDB4MTIsIDB4MWQsIDB4ZjYsIDB4MDIsIDB4MTAsIDB4Y2UsIDB4NzUsIDB4MzksCi0weDAwLCAweDhmLCAweDNhLCAweDEyLCAweDFjLCAweGUwLCAweDEyLCAweDJjLCAweGQ4LCAweDIyLCAweDEyLCAweDFlLCAweDFjLCAweDEyLCAweDFkLCAweGRmLAotMHgxMiwgMHgxZSwgMHgxNCwgMHgyMiwgMHhjMiwgMHgwOCwgMHgyMiwKLX07Ci0KLSN1bmRlZiBJTUFHRV9WRVJTSU9OX05BTUUKLQotI3VuZGVmIElNQUdFX0FSUkFZX05BTUUKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2lvX3RpLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fdGkuYwppbmRleCAwNWU0ZmE3Li42MWRhZWEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fdGkuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fdGkuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VyaWFsLmg+CiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgpAQCAtNTIsMTMgKzUzLDYgQEAKICNkZWZpbmUgRFJJVkVSX0FVVEhPUiAiR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVnQGtyb2FoLmNvbT4gYW5kIERhdmlkIElhY292ZWxsaSIKICNkZWZpbmUgRFJJVkVSX0RFU0MgIkVkZ2Vwb3J0IFVTQiBTZXJpYWwgRHJpdmVyIgogCi0KLS8qIGZpcm13YXJlIGltYWdlIGNvZGUgKi8KLSNkZWZpbmUgSU1BR0VfVkVSU0lPTl9OQU1FCVBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24KLSNkZWZpbmUgSU1BR0VfQVJSQVlfTkFNRQlQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2UKLSNkZWZpbmUgSU1BR0VfU0laRQkJUGFnYWJsZU9wZXJhdGlvbmFsQ29kZVNpemUKLSNpbmNsdWRlICJpb19md19kb3duMy5oIgkvKiBEZWZpbmUgYXJyYXkgT3BlcmF0aW9uYWxDb2RlSW1hZ2VbXSAqLwotCiAjZGVmaW5lIEVQUk9NX1BBR0VfU0laRQkJNjQKIAogCkBAIC0yMzEsNyArMjI1LDkgQEAKIH07CiAKIAotc3RhdGljIHN0cnVjdCBFREdFX0ZJUk1XQVJFX1ZFUlNJT05fSU5GTyBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb247CitzdGF0aWMgdW5zaWduZWQgY2hhciBPcGVyYXRpb25hbE1ham9yVmVyc2lvbjsKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uOworc3RhdGljIHVuc2lnbmVkIHNob3J0IE9wZXJhdGlvbmFsQnVpbGROdW1iZXI7CiAKIHN0YXRpYyBpbnQgZGVidWc7CiAKQEAgLTg4NSwxMCArODgxLDEzIEBACiAJX191OCAqYnVmZmVyOwogCWludCBidWZmZXJfc2l6ZTsKIAlpbnQgaTsKKwlpbnQgZXJyOwogCV9fdTggY3MgPSAwOwogCXN0cnVjdCB0aV9pMmNfZGVzYyAqaTJjX2hlYWRlcjsKIAlzdHJ1Y3QgdGlfaTJjX2ltYWdlX2hlYWRlciAqaW1nX2hlYWRlcjsKIAlzdHJ1Y3QgdGlfaTJjX2Zpcm13YXJlX3JlYyAqZmlybXdhcmVfcmVjOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciAqZndfbmFtZSA9ICJlZGdlcG9ydC9kb3duMy5iaW4iOwogCiAJLy8gSW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBJMkMgZmlybXdhcmUgd2UgbXVzdCBjaGFuZ2UgdGhlIHR5cGUgMiByZWNvcmQgdG8gdHlwZSAweEYyLgogCS8vIFRoaXMgd2lsbCBmb3JjZSB0aGUgVU1QIHRvIGNvbWUgdXAgaW4gQm9vdCBNb2RlLiAgVGhlbiB3aGlsZSBpbiBib290IG1vZGUsIHRoZSBkcml2ZXIgCkBAIC05MDksMTkgKzkwOCwzNCBAQAogCS8vIFNldCBlbnRpcmUgaW1hZ2Ugb2YgMHhmZnMKIAltZW1zZXQgKGJ1ZmZlciwgMHhmZiwgYnVmZmVyX3NpemUpOwogCisJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsIGRldik7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBsb2FkIGltYWdlIFwiJXNcIiBlcnIgJWRcbiIsCisJCSAgICAgICBmd19uYW1lLCBlcnIpOworCQlrZnJlZShidWZmZXIpOworCQlyZXR1cm4gZXJyOworCX0KKworCS8qIFNhdmUgRG93bmxvYWQgVmVyc2lvbiBOdW1iZXIgKi8KKwlPcGVyYXRpb25hbE1ham9yVmVyc2lvbiA9IGZ3LT5kYXRhWzBdOworCU9wZXJhdGlvbmFsTWlub3JWZXJzaW9uID0gZnctPmRhdGFbMV07CisJT3BlcmF0aW9uYWxCdWlsZE51bWJlciA9IGZ3LT5kYXRhWzJdIHwgKGZ3LT5kYXRhWzNdIDw8IDgpOworCiAJLy8gQ29weSB2ZXJzaW9uIG51bWJlciBpbnRvIGZpcm13YXJlIHJlY29yZAogCWZpcm13YXJlX3JlYyA9IChzdHJ1Y3QgdGlfaTJjX2Zpcm13YXJlX3JlYyAqKWJ1ZmZlcjsKIAotCWZpcm13YXJlX3JlYy0+VmVyX01ham9yCT0gT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbjsKLQlmaXJtd2FyZV9yZWMtPlZlcl9NaW5vcgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb247CisJZmlybXdhcmVfcmVjLT5WZXJfTWFqb3IJPSBPcGVyYXRpb25hbE1ham9yVmVyc2lvbjsKKwlmaXJtd2FyZV9yZWMtPlZlcl9NaW5vcgk9IE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uOwogCiAJLy8gUG9pbnRlciB0byBmd19kb3duIG1lbW9yeSBpbWFnZQotCWltZ19oZWFkZXIgPSAoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIgKikmUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlWzBdOworCWltZ19oZWFkZXIgPSAoc3RydWN0IHRpX2kyY19pbWFnZV9oZWFkZXIgKikmZnctPmRhdGFbNF07CiAKIAltZW1jcHkgKGJ1ZmZlciArIHNpemVvZihzdHJ1Y3QgdGlfaTJjX2Zpcm13YXJlX3JlYyksCi0JCSZQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2Vbc2l6ZW9mKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyKV0sCisJCSZmdy0+ZGF0YVs0ICsgc2l6ZW9mKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyKV0sCiAJCWxlMTZfdG9fY3B1KGltZ19oZWFkZXItPkxlbmd0aCkpOwogCisJcmVsZWFzZV9maXJtd2FyZShmdyk7CisKIAlmb3IgKGk9MDsgaSA8IGJ1ZmZlcl9zaXplOyBpKyspIHsKIAkJY3MgPSAoX191OCkoY3MgKyBidWZmZXJbaV0pOwogCX0KQEAgLTkzNSw4ICs5NDksOCBAQAogCWkyY19oZWFkZXItPlR5cGUJPSBJMkNfREVTQ19UWVBFX0ZJUk1XQVJFX0JMQU5LOwogCWkyY19oZWFkZXItPlNpemUJPSAoX191MTYpYnVmZmVyX3NpemU7CiAJaTJjX2hlYWRlci0+Q2hlY2tTdW0JPSBjczsKLQlmaXJtd2FyZV9yZWMtPlZlcl9NYWpvcgk9IE9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NYWpvclZlcnNpb247Ci0JZmlybXdhcmVfcmVjLT5WZXJfTWlub3IJPSBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uOworCWZpcm13YXJlX3JlYy0+VmVyX01ham9yCT0gT3BlcmF0aW9uYWxNYWpvclZlcnNpb247CisJZmlybXdhcmVfcmVjLT5WZXJfTWlub3IJPSBPcGVyYXRpb25hbE1pbm9yVmVyc2lvbjsKIAogCXJldHVybiAwOwogfQpAQCAtMTA3NSwxMSArMTA4OSw2IEBACiAJCS8vIE90aGVyd2lzZSB3ZSB3aWxsIHJlbWFpbiBpbiBjb25maWd1cmluZyBtb2RlCiAJCXNlcmlhbC0+cHJvZHVjdF9pbmZvLlRpTW9kZSA9IFRJX01PREVfQ09ORklHVVJJTkc7CiAKLQkvLyBTYXZlIERvd25sb2FkIFZlcnNpb24gTnVtYmVyCi0JT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbiA9IFBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uOwotCU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5NaW5vclZlcnNpb24gPSBQYWdhYmxlT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbjsKLQlPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uQnVpbGROdW1iZXIJID0gUGFnYWJsZU9wZXJhdGlvbmFsQ29kZUltYWdlVmVyc2lvbi5CdWlsZE51bWJlcjsKLQogCS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAkvKiBEb3dubG9hZCBNb2RlICovCiAJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtMTE1NCwxNSArMTE2MywxNSBAQAogCQkJLy8gQ2hlY2sgdmVyc2lvbiBudW1iZXIgb2YgZG93bmxvYWQgd2l0aCBjdXJyZW50IHZlcnNpb24gaW4gSTJjCiAJCQlkb3dubG9hZF9jdXJfdmVyID0gKGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NYWpvciA8PCA4KSArIAogCQkJCQkgICAoZmlybXdhcmVfdmVyc2lvbi0+VmVyX01pbm9yKTsKLQkJCWRvd25sb2FkX25ld192ZXIgPSAoT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1ham9yVmVyc2lvbiA8PCA4KSArCi0JCQkJCSAgIChPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uKTsKKwkJCWRvd25sb2FkX25ld192ZXIgPSAoT3BlcmF0aW9uYWxNYWpvclZlcnNpb24gPDwgOCkgKworCQkJCQkgICAoT3BlcmF0aW9uYWxNaW5vclZlcnNpb24pOwogCiAJCQlkYmcgKCIlcyAtID4+PkZpcm13YXJlIFZlcnNpb25zIERldmljZSAlZC4lZCAgRHJpdmVyICVkLiVkIiwKIAkJCSAgICAgX19mdW5jX18sCiAJCQkgICAgIGZpcm13YXJlX3ZlcnNpb24tPlZlcl9NYWpvciwKIAkJCSAgICAgZmlybXdhcmVfdmVyc2lvbi0+VmVyX01pbm9yLAotCQkJICAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uLAotCQkJICAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWlub3JWZXJzaW9uKTsKKwkJCSAgICAgT3BlcmF0aW9uYWxNYWpvclZlcnNpb24sCisJCQkgICAgIE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uKTsKIAogCQkJLy8gQ2hlY2sgaWYgd2UgaGF2ZSBhbiBvbGQgdmVyc2lvbiBpbiB0aGUgSTJDIGFuZCB1cGRhdGUgaWYgbmVjZXNzYXJ5CiAJCQlpZiAoZG93bmxvYWRfY3VyX3ZlciAhPSBkb3dubG9hZF9uZXdfdmVyKSB7CkBAIC0xMTcwLDggKzExNzksOCBAQAogCQkJCSAgICAgX19mdW5jX18sCiAJCQkJICAgICBmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWFqb3IsCiAJCQkJICAgICBmaXJtd2FyZV92ZXJzaW9uLT5WZXJfTWlub3IsCi0JCQkJICAgICBPcGVyYXRpb25hbENvZGVJbWFnZVZlcnNpb24uTWFqb3JWZXJzaW9uLAotCQkJCSAgICAgT3BlcmF0aW9uYWxDb2RlSW1hZ2VWZXJzaW9uLk1pbm9yVmVyc2lvbik7CisJCQkJICAgICBPcGVyYXRpb25hbE1ham9yVmVyc2lvbiwKKwkJCQkgICAgIE9wZXJhdGlvbmFsTWlub3JWZXJzaW9uKTsKIAogCQkJCS8vIEluIG9yZGVyIHRvIHVwZGF0ZSB0aGUgSTJDIGZpcm13YXJlIHdlIG11c3QgY2hhbmdlIHRoZSB0eXBlIDIgcmVjb3JkIHRvIHR5cGUgMHhGMi4KIAkJCQkvLyBUaGlzIHdpbGwgZm9yY2UgdGhlIFVNUCB0byBjb21lIHVwIGluIEJvb3QgTW9kZS4gIFRoZW4gd2hpbGUgaW4gYm9vdCBtb2RlLCB0aGUgZHJpdmVyIApAQCAtMTM3Nyw2ICsxMzg2LDkgQEAKIAkJX191OCBjcyA9IDA7CiAJCV9fdTggKmJ1ZmZlcjsKIAkJaW50IGJ1ZmZlcl9zaXplOworCQlpbnQgZXJyOworCQljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3OworCQljb25zdCBjaGFyICpmd19uYW1lID0gImVkZ2Vwb3J0L2Rvd24zLmJpbiI7CiAKIAkJLyogVmFsaWRhdGUgSGFyZHdhcmUgdmVyc2lvbiBudW1iZXIKIAkJICogUmVhZCBNYW51ZmFjdHVyaW5nIERlc2NyaXB0b3IgZnJvbSBUSSBCYXNlZCBFZGdlcG9ydApAQCAtMTQyNSw3ICsxNDM3LDE1IEBACiAJCS8vIEluaXRpYWxpemUgdGhlIGJ1ZmZlciB0byAweGZmIChwYWQgdGhlIGJ1ZmZlcikKIAkJbWVtc2V0IChidWZmZXIsIDB4ZmYsIGJ1ZmZlcl9zaXplKTsKIAotCQltZW1jcHkgKGJ1ZmZlciwgJlBhZ2FibGVPcGVyYXRpb25hbENvZGVJbWFnZVswXSwgUGFnYWJsZU9wZXJhdGlvbmFsQ29kZVNpemUpOworCQllcnIgPSByZXF1ZXN0X2Zpcm13YXJlKCZmdywgZndfbmFtZSwgZGV2KTsKKwkJaWYgKGVycikgeworCQkJcHJpbnRrKEtFUk5fRVJSICJGYWlsZWQgdG8gbG9hZCBpbWFnZSBcIiVzXCIgZXJyICVkXG4iLAorCQkJICAgICAgIGZ3X25hbWUsIGVycik7CisJCQlrZnJlZShidWZmZXIpOworCQkJcmV0dXJuIGVycjsKKwkJfQorCQltZW1jcHkoYnVmZmVyLCAmZnctPmRhdGFbNF0sIGZ3LT5zaXplIC0gNCk7CisJCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCiAJCWZvcihpID0gc2l6ZW9mKHN0cnVjdCB0aV9pMmNfaW1hZ2VfaGVhZGVyKTsgaSA8IGJ1ZmZlcl9zaXplOyBpKyspIHsKIAkJCWNzID0gKF9fdTgpKGNzICsgYnVmZmVyW2ldKTsKQEAgLTMxMTksNiArMzEzOSw3IEBACiBNT0RVTEVfQVVUSE9SKERSSVZFUl9BVVRIT1IpOwogTU9EVUxFX0RFU0NSSVBUSU9OKERSSVZFUl9ERVNDKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9GSVJNV0FSRSgiZWRnZXBvcnQvZG93bjMuYmluIik7CiAKIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkRlYnVnIGVuYWJsZWQgb3Igbm90Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uYwppbmRleCAzZGY4YTY2Li4xMWU0MzliIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmMKQEAgLTEwNSw2ICsxMDUsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3R0eV9mbGlwLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KQEAgLTEzMzksMTMgKzEzNDEsMTMgQEAKIAlwb3J0LT50dHkgPSBOVUxMOwogfQogCi0KIAkvKiBkb3dubG9hZCB0aGUgZmlybXdhcmUgdG8gYSBwcmUtcmVudW1lcmF0aW9uIGRldmljZSAqLwogc3RhdGljIGludCBrZXlzcGFuX2Zha2Vfc3RhcnR1cCAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCkKIHsKIAlpbnQgCQkJCXJlc3BvbnNlOwotCWNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIAkqcmVjb3JkOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAJKnJlY29yZDsKIAljaGFyCQkJCSpmd19uYW1lOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZQkJKmZ3OwogCiAJZGJnKCJLZXlzcGFuIHN0YXJ0dXAgdmVyc2lvbiAlMDR4IHByb2R1Y3QgJTA0eCIsCiAJICAgIGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmJjZERldmljZSksCkBAIC0xMzU5LDcyICsxMzYxLDYwIEBACiAJCS8qIFNlbGVjdCBmaXJtd2FyZSBpbWFnZSBvbiB0aGUgYmFzaXMgb2YgaWRQcm9kdWN0ICovCiAJc3dpdGNoIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFByb2R1Y3QpKSB7CiAJY2FzZSBrZXlzcGFuX3VzYTI4X3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2EyOF9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0EyOCI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2EyOC5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTI4eF9wcmVfcHJvZHVjdF9pZDoKLQkJcmVjb3JkID0gJmtleXNwYW5fdXNhMjh4X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTI4WCI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2EyOHguZnciOwogCQlicmVhazsKIAogCWNhc2Uga2V5c3Bhbl91c2EyOHhhX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2EyOHhhX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTI4WEEiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMjh4YS5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTI4eGJfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTI4eGJfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMjhYQiI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2EyOHhiLmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhMTlfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTE5X2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE5IjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTE5LmZ3IjsKIAkJYnJlYWs7CiAJCQkgICAgIAogCWNhc2Uga2V5c3Bhbl91c2ExOXFpX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl91c2ExOXFpX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTE5UUkiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTlxaS5mdyI7CiAJCWJyZWFrOwogCQkJICAgICAKIAljYXNlIGtleXNwYW5fbXByX3ByZV9wcm9kdWN0X2lkOgotCQlyZWNvcmQgPSAma2V5c3Bhbl9tcHJfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiTVBSIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL21wci5mdyI7CiAJCWJyZWFrOwogCiAJY2FzZSBrZXlzcGFuX3VzYTE5cXdfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTE5cXdfZmlybXdhcmVbMF07Ci0JCWZ3X25hbWUgPSAiVVNBMTlRSSI7CisJCWZ3X25hbWUgPSAia2V5c3Bhbi91c2ExOXF3LmZ3IjsKIAkJYnJlYWs7CiAJCQkgICAgIAogCWNhc2Uga2V5c3Bhbl91c2ExOHhfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTE4eF9maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOFgiOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTh4LmZ3IjsKIAkJYnJlYWs7CiAJCQkgICAgIAogCWNhc2Uga2V5c3Bhbl91c2ExOXdfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTE5d19maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0ExOVciOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhMTl3LmZ3IjsKIAkJYnJlYWs7CiAJCQogCWNhc2Uga2V5c3Bhbl91c2E0OXdfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTQ5d19maXJtd2FyZVswXTsKLQkJZndfbmFtZSA9ICJVU0E0OVciOworCQlmd19uYW1lID0gImtleXNwYW4vdXNhNDl3LmZ3IjsKIAkJYnJlYWs7CiAKIAljYXNlIGtleXNwYW5fdXNhNDl3bGNfcHJlX3Byb2R1Y3RfaWQ6Ci0JCXJlY29yZCA9ICZrZXlzcGFuX3VzYTQ5d2xjX2Zpcm13YXJlWzBdOwotCQlmd19uYW1lID0gIlVTQTQ5V0xDIjsKKwkJZndfbmFtZSA9ICJrZXlzcGFuL3VzYTQ5d2xjLmZ3IjsKIAkJYnJlYWs7CiAKIAlkZWZhdWx0OgotCQlyZWNvcmQgPSBOVUxMOwotCQlmd19uYW1lID0gIlVua25vd24iOwotCQlicmVhazsKKwkJZGV2X2Vycigmc2VyaWFsLT5kZXYtPmRldiwgIlVua25vd24gcHJvZHVjdCBJRCAoJTA0eClcbiIsCisJCQlsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFByb2R1Y3QpKTsKKwkJcmV0dXJuIDE7CiAJfQogCi0JaWYgKHJlY29yZCA9PSBOVUxMKSB7CisJaWYgKHJlcXVlc3RfaWhleF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZzZXJpYWwtPmRldi0+ZGV2KSkgewogCQlkZXZfZXJyKCZzZXJpYWwtPmRldi0+ZGV2LCAiUmVxdWlyZWQga2V5c3BhbiBmaXJtd2FyZSBpbWFnZSAoJXMpIHVuYXZhaWxhYmxlLlxuIiwgZndfbmFtZSk7CiAJCXJldHVybigxKTsKIAl9CkBAIC0xNDM0LDE5ICsxNDI0LDIyIEBACiAJCS8qIGRvd25sb2FkIHRoZSBmaXJtd2FyZSBpbWFnZSAqLwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0KHNlcmlhbCwgMSk7CiAKLQl3aGlsZShyZWNvcmQtPmFkZHJlc3MgIT0gMHhmZmZmKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkoc2VyaWFsLCByZWNvcmQtPmFkZHJlc3MsCisJcmVjb3JkID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOworCisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5KHNlcmlhbCwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKIAkJCQkJICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKLQkJCQkJICAgICByZWNvcmQtPmRhdGFfc2l6ZSwgMHhhMCk7CisJCQkJCSAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZGV2X2Vycigmc2VyaWFsLT5kZXYtPmRldiwgImV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3IgS2V5c3BhbiIKIAkJCQkiZmlybXdhcmUgKCVkICUwNFggJXAgJWQpXG4iLAotCQkJCXJlc3BvbnNlLCAKLQkJCQlyZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJCXJlc3BvbnNlLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJCXJlY29yZC0+ZGF0YSwgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pKTsKIAkJCWJyZWFrOwogCQl9Ci0JCXJlY29yZCsrOworCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CiAJfQorCXJlbGVhc2VfZmlybXdhcmUoZncpOwogCQkvKiBicmluZyBkZXZpY2Ugb3V0IG9mIHJlc2V0LiBSZW51bWVyYXRpb24gd2lsbCBvY2N1ciBpbiBhCiAJCSAgIG1vbWVudCBhbmQgdGhlIG5ldyBkZXZpY2Ugd2lsbCBiaW5kIHRvIHRoZSByZWFsIGRyaXZlciAqLwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0KHNlcmlhbCwgMCk7CkBAIC0yNzU2LDYgKzI3NDksMTkgQEAKIE1PRFVMRV9ERVNDUklQVElPTiggRFJJVkVSX0RFU0MgKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKIAorTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTI4LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMjh4LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMjh4YS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTI4eGIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOS5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJrZXlzcGFuL3VzYTE5cWkuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi9tcHIuZnciKTsKK01PRFVMRV9GSVJNV0FSRSgia2V5c3Bhbi91c2ExOXF3LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTh4LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhMTl3LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhNDl3LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoImtleXNwYW4vdXNhNDl3bGMuZnciKTsKKwogbW9kdWxlX3BhcmFtKGRlYnVnLCBib29sLCBTX0lSVUdPIHwgU19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKGRlYnVnLCAiRGVidWcgZW5hYmxlZCBvciBub3QiKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuLmgKaW5kZXggOGQ2ZWQwMi4uYjUyZmI2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW4uaAorKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbi5oCkBAIC0xMDMsOTAgKzEwMyw2IEBACiAJCQkJCSBzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0LAogCQkJCQkgaW50IHJlc2V0X3BvcnQpOwogCi0vKiBTdHJ1Y3QgdXNlZCBmb3IgZmlybXdhcmUgLSBpbmNyZWFzZWQgc2l6ZSBvZiBkYXRhIHNlY3Rpb24KLSAgIHRvIGFsbG93IEtleXNwYW4ncyAnQycgZmlybXdhcmUgc3RydWN0IHRvIGJlIHVzZWQgdW5tb2RpZmllZCAqLwotc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgewotCV9fdTE2IGFkZHJlc3M7Ci0JX191OCBkYXRhX3NpemU7Ci0JX191OCBkYXRhWzY0XTsKLX07Ci0KLS8qIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBmaXJtd2FyZSBpbWFnZXMsIGlmIHRoZXkgYXJlbid0Ci0gICBpbmNsdWRlZCBjcmVhdGUgYSBudWxsIHBvaW50ZXIgaW5zdGVhZC4gIEN1cnJlbnQgCi0gICBmaXJtd2FyZSBpbWFnZXMgYXJlbid0IG9wdGltaXNlZCB0byByZW1vdmUgZHVwbGljYXRlCi0gICBhZGRyZXNzZXMgaW4gdGhlIGltYWdlIGl0c2VsZi4gKi8KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4Ci0JI2luY2x1ZGUgImtleXNwYW5fdXNhMjhfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTI4X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFgKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2EyOHhfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTI4eF9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYQQotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTI4eGFfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTI4eGFfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEIKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2EyOHhiX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2EyOHhiX2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOQotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTE5X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2ExOV9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRSQotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTE5cWlfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE5cWlfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX01QUgotICAgICAgICAjaW5jbHVkZSAia2V5c3Bhbl9tcHJfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX21wcl9maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRVwotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTE5cXdfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE5cXdfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE4WAotCSNpbmNsdWRlICJrZXlzcGFuX3VzYTE4eF9mdy5oIgotI2Vsc2UKLQlzdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgKmtleXNwYW5fdXNhMTh4X2Zpcm13YXJlID0gTlVMTDsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVcKLQkjaW5jbHVkZSAia2V5c3Bhbl91c2ExOXdfZncuaCIKLSNlbHNlCi0Jc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkICprZXlzcGFuX3VzYTE5d19maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXCi0JI2luY2x1ZGUgImtleXNwYW5fdXNhNDl3X2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2E0OXdfZmlybXdhcmUgPSBOVUxMOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTQ5V0xDCi0gICAgICAgICNpbmNsdWRlICJrZXlzcGFuX3VzYTQ5d2xjX2Z3LmgiCi0jZWxzZQotCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqa2V5c3Bhbl91c2E0OXdsY19maXJtd2FyZSA9IE5VTEw7Ci0jZW5kaWYKLQogLyogVmFsdWVzIHVzZWQgZm9yIGJhdWQgcmF0ZSBjYWxjdWxhdGlvbiAtIGRldmljZSBzcGVjaWZpYyAqLwogI2RlZmluZQlLRVlTUEFOX0lOVkFMSURfQkFVRF9SQVRFCQkoLTEpCiAjZGVmaW5lCUtFWVNQQU5fQkFVRF9SQVRFX09LCQkJKDApCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9tcHJfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX21wcl9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzg4MDVlLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX21wcl9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjg2ICswLDAgQEAKLS8qIGtleXNwYW5fbXByX2Z3LmgKLSAKLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX21wcl9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLXN0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTUzW10gPQotCSIwNC8yNi8yMDAyICAwMjo0N3AgICAgICAgICAgICAgIDExLDU3MCBVU0E1MyI7Ci0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl9tcHJfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDFhfX0sCi0gezB4MDAxYSwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwMDMsIDE2LCB7IDB4OGUsIDB4NTYsIDB4OGYsIDB4NTcsIDB4ZTUsIDB4NTcsIDB4MTUsIDB4NTcsIDB4YWUsIDB4NTYsIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTYsIDB4NGUsIDB4NjB9fSwKLSB7MHgwMDEzLCAgNywgeyAweDA1LCAweDEyLCAweDBmLCAweGEyLCAweDgwLCAweGVlLCAweDIyfX0sCi0gezB4MDAyMywgIDMsIHsgMHgwMiwgMHgwMCwgMHg0Nn19LAotIHsweDAwNDYsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDh9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDMwLCAweDk5LCAweDBlLCAweDMwLCAweDBiLCAweDA3LCAweGEyLCAweDBlLCAweDkyLCAweDliLCAweDg1LCAweDM2LCAweDk5LCAweGMyLCAweDk5LCAweGQyfX0sCi0gezB4MDA2NiwgMTYsIHsgMHgxMiwgMHgyMCwgMHgxMiwgMHgwMywgMHgwMiwgMHgwMiwgMHhmOSwgMHhjMiwgMHgxMiwgMHgzMCwgMHgwMywgMHgxOSwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MH19LAotIHsweDAwNzYsIDE2LCB7IDB4NzUsIDB4MWEsIDB4N2UsIDB4NzUsIDB4MWIsIDB4NDAsIDB4NzUsIDB4MTcsIDB4MDAsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTgsIDB4N2R9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDc1LCAweDE5LCAweGMwLCAweDgwLCAweDE3LCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDc1LCAweDFhLCAweDdkLCAweDc1LCAweDFiLCAweGMwLCAweDc1fX0sCi0gezB4MDA5NiwgMTYsIHsgMHgxNywgMHgwMSwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxOCwgMHg3ZSwgMHg3NSwgMHgxOSwgMHg0MCwgMHgyMCwgMHgwYiwgMHgwMywgMHgwMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MDEsIDB4ODQsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4M2MsIDB4MjAsIDB4MGMsIDB4MzQsIDB4MjAsIDB4MDksIDB4MzEsIDB4OTB9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDI5LCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFifX0sCi0gezB4MDBjNiwgMTYsIHsgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYX19LAotIHsweDAwZDYsIDE2LCB7IDB4ZTUsIDB4MWIsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDIsIDB4Zjd9fSwKLSB7MHgwMGU2LCAxNiwgeyAweGMyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweDMwLCAweDAzLCAweDExLCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGEzLCAweGUwLCAweDU0fX0sCi0gezB4MDBmNiwgMTYsIHsgMHgwMiwgMHhmNSwgMHgxZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxYywgMHg4MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDAwNDMsICAzLCB7IDB4MDIsIDB4MGYsIDB4MDB9fSwKLSB7MHgwMDAwLCAgMywgeyAweDAyLCAweDAwLCAweDI2fX0sCi0gezB4MDAyNiwgMTIsIHsgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHg1YSwgMHgwMiwgMHgwYSwgMHgzM319LAotIHsweDAxMDYsIDY0LCB7IDB4YzYsIDB4ZTAsIDB4NTQsIDB4MDIsIDB4ZjUsIDB4MWQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MWMsIDB4ZTUsIDB4MTcsIDB4MjQsIDB4ZmYsIDB4OTIsIDB4MDMsIDB4MzAsCi0gIDB4MGQsIDB4MGQsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4ZTUsCi0gIDB4MWQsIDB4NjAsIDB4MDUsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDIsIDB4ZjcsIDB4ODUsIDB4MWMsIDB4NTMsIDB4ODUsIDB4MTksIDB4ODIsIDB4ODUsIDB4MTgsCi0gIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTIsIDB4ZmYsIDB4MjAsIDB4MGMsIDB4M2EsIDB4MjAsIDB4MDksIDB4MzcsIDB4OTB9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDJmLCAweDMwLCAweDEwLCAweDFjLCAweDg1LCAweDE5LCAweDgyLCAweDg1LCAweDE4LCAweDgzLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweDg1LCAweDE5LCAweDgyLCAweDg1LCAweDE4LCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGY1LCAweDM2LCAweDc1LAotICAweDNhLCAweDAzLCAweDAyLCAweDAyLCAweGY3LCAweDc1LCAweDNhLCAweDAyLCAweDg1LCAweDE5LCAweDgyLCAweDg1LCAweDE4LCAweDgzLCAweGEzLCAweGUwLAotICAweGY1LCAweDM2LCAweDAyLCAweDAyLCAweGY3LCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDBiLCAweDAyLCAweDAyLCAweGY3LCAweDMwLCAweDAzfX0sCi0gezB4MDE4NiwgNjQsIHsgMHgwZSwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHg1NCwgMHgwMiwgMHhmNSwgMHgxZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxYywgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwKLSAgMHhjOCwgMHhlMCwgMHg1NCwgMHgwMiwgMHhmNSwgMHgxZCwgMHhhMywgMHhlMCwgMHhmNSwgMHgxYywgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwKLSAgMHgwMywgMHgwMiwgMHgwMiwgMHg2OCwgMHhlNSwgMHgxZCwgMHg2MCwgMHgwNywgMHhjMiwgMHgxNCwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwMiwgMHhmNywgMHg4NSwKLSAgMHgxYywgMHg1MywgMHg4NSwgMHgxYiwgMHg4MiwgMHg4NSwgMHgxYSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgxMiwgMHhmZn19LAotIHsweDAxYzYsIDY0LCB7IDB4MzAsIDB4MGMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NjAsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDIsIDB4NjAsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsCi0gIDB4MzgsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NjAsIDB4MzAsIDB4MTAsIDB4MWIsIDB4ODUsIDB4MWIsIDB4ODIsIDB4ODUsIDB4MWEsIDB4ODMsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4ODUsIDB4MWIsIDB4ODIsIDB4ODUsIDB4MWEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsCi0gIDB4M2EsIDB4MDMsIDB4ODAsIDB4MGQsIDB4ODUsIDB4MWIsIDB4ODIsIDB4ODUsIDB4MWEsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzV9fSwKLSB7MHgwMjA2LCA2NCwgeyAweDNhLCAweDAyLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwLCAweDI2LCAweDMwLCAweDAzLCAweDA3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLAotICAweDgwLCAweDA1LCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGU1LCAweDE3LCAweDI0LCAweGZmLCAweDkyLCAweDAzLCAweDIwLCAweDBkLCAweDAzLAotICAweDAyLCAweDAyLCAweGY3LCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDAyLCAweGY3LCAweDMwLCAweDEwLAotICAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzfX0sCi0gezB4MDI0NiwgNjQsIHsgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxYSwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwgMHgwYiwgMHgwMiwgMHgwMiwgMHhmNywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgxNCwgMHgwMiwgMHgwMiwKLSAgMHhmNywgMHgzMCwgMHgwYywgMHgwMywgMHgwMiwgMHgwMiwgMHhmNSwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMiwgMHhmNSwgMHg5MCwgMHg3ZiwgMHg5YiwKLSAgMHhlMCwgMHg1NSwgMHgzOCwgMHg3MCwgMHg3OSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHhlNSwgMHgxYiwgMHgyZn19LAotIHsweDAyODYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4MWIsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MWEsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsCi0gIDB4NDAsIDB4MjIsIDB4MzAsIDB4MDMsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsCi0gIDB4ZjAsIDB4ZTUsIDB4MTcsIDB4MjQsIDB4ZmYsIDB4OTIsIDB4MDMsIDB4MzAsIDB4MGQsIDB4MzYsIDB4YzIsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YmJ9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDFiLCAweDJmLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDFhLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBiLCAweDgwLCAweDAyLCAweGMyLCAweDE0LAotICAweGQyLCAweDAxLCAweDIwLCAweDk4LCAweDAzLCAweDAyLCAweDA0LCAweDM1LCAweGMyLCAweDk4LCAweDIwLCAweDAyLCAweDAzLCAweDAyLCAweDAzfX0sCi0gezB4MDMwNiwgNjQsIHsgMHhhMiwgMHgyMCwgMHgxNSwgMHgyNywgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxMCwgMHg0ZCwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OSwgMHg1NSwgMHhlNSwgMHg1NSwgMHhiNSwKLSAgMHg0NywgMHgwNCwgMHhkMiwgMHgwOSwgMHg4MCwgMHgyZSwgMHhlNSwgMHg1NSwgMHhiNSwgMHg0NiwgMHgwNCwgMHhjMiwgMHgwOSwgMHg4MCwgMHgyNX19LAotIHsweDAzNDYsIDY0LCB7IDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NTUsIDB4ZjAsCi0gIDB4MzAsIDB4MTAsIDB4MTEsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTUsIDB4NDMsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MzMsCi0gIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDJ9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDA0LCAweDMzLCAweDE1LCAweDM5LCAweDE1LCAweDM5LCAweDA1LCAweDJiLCAweDQzLCAweDM0LCAweDAxLCAweDAyLCAweDA0LCAweDMzLCAweDkwLCAweDdmLCAweGI3LAotICAweGU1LCAweDM5LCAweGYwLCAweDc1LCAweDM5LCAweDAwLCAweGMyLCAweDAyLCAweDAyLCAweDA0LCAweDMzLCAweDIwLCAweDE1LCAweDI3LCAweGFmLCAweDM5LAotICAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLAotICAweDEwLCAweDRkLCAweGFmLCAweDM5LCAweDA1LCAweDM5LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OSwgMHg1NSwgMHhlNSwgMHg1NSwgMHhiNSwgMHg0NywgMHgwNCwgMHhkMiwgMHgwOSwgMHg4MCwKLSAgMHgyZSwgMHhlNSwgMHg1NSwgMHhiNSwgMHg0NiwgMHgwNCwgMHhjMiwgMHgwOSwgMHg4MCwgMHgyNSwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg1NSwgMHhmMCwgMHgzMCwgMHgxMCwgMHgxMSwgMHhhZiwgMHgzOSwKLSAgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMH19LAotIHsweDA0MDYsIDY0LCB7IDB4ZDIsIDB4MGYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTUsIDB4NDMsIDB4NDAsIDB4MjQsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTIsIDB4ZTUsCi0gIDB4MzksIDB4YzMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MTYsIDB4MTUsIDB4MzksIDB4MTUsIDB4MzksIDB4MDUsIDB4MmIsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ODAsCi0gIDB4MGIsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MDAsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MDEsIDB4MzAsIDB4MDEsCi0gIDB4MDUsIDB4YzIsIDB4MDEsIDB4MDIsIDB4MDAsIDB4NTYsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDB9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDU0LCAweGU1LCAweDM0LCAweDYwLCAweDUwLCAweGU1LCAweDMxLCAweDcwLCAweDRjLAotICAweGU1LCAweDM0LCAweDMwLCAweGUxLCAweDBiLCAweGU0LCAweGY1LCAweDJmLCAweDc1LCAweDM0LCAweDAxLCAweDc1LCAweDMxLCAweDAyLCAweDgwLCAweDBlLAotICAweGEyLCAweDA4LCAweGU0LCAweDMzLCAweGY1LCAweDJmLCAweGMyLCAweDA4LCAweGU0LCAweGY1LCAweDM0LCAweDc1LCAweDMxLCAweDEwLCAweGU0LCAweGY1LAotICAweDU2LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDU2LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHgwYywgMHg3OSwgMHhmZiwgMHg3NCwgMHgwMCwgMHgyNSwgMHg1NiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwKLSAgMHg1NiwgMHhlNSwgMHg1NiwgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwKLSAgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwgMHhkMSwgMHhlNCwgMHhmNSwgMHg1NiwgMHg3NCwgMHg0MCwgMHgyNSwgMHg1NiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHg1NiwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHgzYiwgMHhmOX19LAotIHsweDA0YzYsIDY0LCB7IDB4ZWMsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGMsIDB4OTIsIDB4MDUsIDB4NTYsIDB4ZTUsIDB4NTYsIDB4YjQsIDB4MTgsIDB4ZGIsIDB4ZTUsIDB4M2IsCi0gIDB4NjAsIDB4MTEsIDB4NzUsIDB4YzksIDB4MjAsIDB4NzUsIDB4YzgsIDB4MzYsIDB4ODUsIDB4M2MsIDB4Y2EsIDB4ODUsIDB4M2QsIDB4Y2IsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4OWYsIDB4ZjAsIDB4ZTUsIDB4M2UsIDB4MTMsIDB4OTIsIDB4MTAsIDB4OTIsIDB4OWYsIDB4ODUsIDB4M2YsIDB4MzgsIDB4ZTUsIDB4NDAsIDB4MTMsCi0gIDB4OTIsIDB4MTUsIDB4ZTUsIDB4NDEsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ODAsIDB4MDd9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweGU1LCAweDQyLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweDdmLAotICAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDQ4LCAweDYwLCAweDBiLCAweGMyLCAweDBjLAotICAweGMyLCAweDA5LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDQ5LCAweDYwLCAweDBjLCAweGQyLCAweDA5LCAweDQzLAotICAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDRhLCAweDYwLCAweDBkLCAweGMyLCAweGFmfX0sCi0gezB4MDU0NiwgNjQsIHsgMHhjMiwgMHgwYiwgMHhkMiwgMHgwMCwgMHhlNCwgMHhmNSwgMHg1MywgMHhmNSwgMHgzYSwgMHhkMiwgMHhhZiwgMHhlNSwgMHg0YiwgMHg2MCwgMHgwNSwgMHgzMCwgMHgxNSwKLSAgMHgwMiwgMHhkMiwgMHgwOSwgMHhlNSwgMHg0YywgMHg2MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5ZSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg0ZCwgMHg2MCwgMHgwYSwKLSAgMHhkMiwgMHg5YywgMHhjMiwgMHg5OCwgMHg3NSwgMHgyYywgMHgwMSwgMHg3NSwgMHgzMSwgMHgxZSwgMHhlNSwgMHg0ZSwgMHg2MCwgMHgwNywgMHhjMn19LAotIHsweDA1ODYsIDY0LCB7IDB4OWMsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MmMsIDB4ZTUsIDB4NGYsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MDIsCi0gIDB4ZDIsIDB4MDcsIDB4ZTUsIDB4NTEsIDB4NjAsIDB4MGEsIDB4ZTUsIDB4NGQsIDB4NzAsIDB4MDIsIDB4ZjUsIDB4MzEsIDB4ZTUsIDB4NTEsIDB4NDIsIDB4MzQsCi0gIDB4ZTUsIDB4NTIsIDB4NjAsIDB4MWYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4ZjAsCi0gIDB4NzQsIDB4MzIsIDB4ZjAsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzQsIDB4MzQsIDB4ZjB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweGQyLCAweDAzLCAweGQyLCAweDAyLCAweGQyLCAweDA4LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGEyLCAweDBjLCAweGU0LCAweDMzLCAweGZmLCAweDY1LAotICAweDI5LCAweDYwLCAweDA1LCAweDhmLCAweDI5LCAweDQzLCAweDM0LCAweDAxLCAweGEyLCAweDA5LCAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDJhLCAweDYwLAotICAweDA1LCAweDhmLCAweDJhLCAweDQzLCAweDM0LCAweDAxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweGZmLCAweDU0LCAweDA4LCAweDY0LCAweDA4LCAweGY1LAotICAweDU3LCAweDY1LCAweDI1LCAweDYwLCAweDA2LCAweDg1LCAweDU3LCAweDI1LCAweDQzLCAweDM0LCAweDAxLCAweGVmLCAweDU0LCAweDEwLCAweDY0fX0sCi0gezB4MDYwNiwgNjQsIHsgMHgxMCwgMHhmNSwgMHg1NywgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNiwgMHg4NSwgMHg1NywgMHgyNiwgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHg0MCwgMHg2NCwKLSAgMHg0MCwgMHhmNSwgMHg1NywgMHg2NSwgMHgyNywgMHg2MCwgMHgwNiwgMHg4NSwgMHg1NywgMHgyNywgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHgyMCwKLSAgMHg2NCwgMHgyMCwgMHhmNSwgMHg1NywgMHg2NSwgMHgyOCwgMHg2MCwgMHgwNiwgMHg4NSwgMHg1NywgMHgyOCwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwKLSAgMHg5YSwgMHhlMCwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmNSwgMHg1NywgMHg2NSwgMHgyZSwgMHg2MCwgMHgwNiwgMHg4NSwgMHg1NywgMHgyZX19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MzQsIDB4MDEsIDB4MzAsIDB4MDcsIDB4MzUsIDB4YzIsIDB4YWYsIDB4MzAsIDB4MDIsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsCi0gIDB4MjcsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDcsCi0gIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjksCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZDIsIDB4MDIsIDB4YzIsIDB4MDcsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDUsIDB4M2QsIDB4MzAsIDB4MDN9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDFlLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDMzLCAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDNhLAotICAweDAxLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUzLCAweGQyLCAweDA1LCAweDc1LCAweDEyLCAweGZmLCAweDgwLCAweDFjLCAweDkwLCAweDdmLAotICAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDE1LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDNhLCAweDAxLCAweDkwLAotICAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUzLCAweGQyLCAweDA1LCAweDc1LCAweDEyLCAweGZmLCAweDIwLCAweDE0LCAweDMzLCAweDIwLCAweDAwfX0sCi0gezB4MDZjNiwgNjQsIHsgMHgwNiwgMHhlNSwgMHgzYSwgMHg2NSwgMHg1MywgMHg3MCwgMHgyYSwgMHgzMCwgMHgwNSwgMHgxYSwgMHgzMCwgMHgwMywgMHgwOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywKLSAgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwKLSAgMHg1MywgMHhmNSwgMHgzYSwgMHgzMCwgMHgwZCwgMHgwYSwgMHhjMiwgMHgwZCwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwNywgMHhiZiwgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwNywgMHhiZiwgMHgzMCwgMHgwYywgMHgwM319LAotIHsweDA3MDYsIDY0LCB7IDB4MDIsIDB4MDcsIDB4YmYsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDcsIDB4YmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NjAsIDB4MDMsCi0gIDB4MDIsIDB4MDcsIDB4YmYsIDB4MzAsIDB4MDMsIDB4MGMsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDAsIDB4NzUsIDB4NTgsIDB4N2UsIDB4NzUsIDB4NTksIDB4NDAsCi0gIDB4ODAsIDB4MGEsIDB4N2UsIDB4N2QsIDB4N2YsIDB4YzAsIDB4NzUsIDB4NTgsIDB4N2QsIDB4NzUsIDB4NTksIDB4YzAsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsCi0gIDB4M2EsIDB4MDUsIDB4M2EsIDB4ZTUsIDB4NTksIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDkyLCAweDFhLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweGU1LCAweDU5LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDU3LCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDJhLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLAotICAweGU1LCAweDU5LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLAotICAweDA1LCAweDNhLCAweGU1LCAweDU5LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2fX0sCi0gezB4MDc4NiwgNjQsIHsgMHhkMiwgMHgwYiwgMHg4MCwgMHgxNSwgMHhjMiwgMHgwYiwgMHgzMCwgMHgwMywgMHgwOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwKLSAgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgxMCwgMHgwNCwgMHhhMiwgMHgxYSwgMHg5MiwgMHg5YiwgMHhkMiwKLSAgMHgxNCwgMHhjMiwgMHhhZiwgMHg4NSwgMHg1NywgMHg5OSwgMHgyMCwgMHgwYiwgMHgwZCwgMHgzMCwgMHgwZCwgMHgwYSwgMHhjMiwgMHgwZCwgMHhjMiwgMHgwMCwKLSAgMHg5MCwgMHg3ZiwgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwY319LAotIHsweDA3YzYsIDY0LCB7IDB4YTQsIDB4MDksIDB4MWMsIDB4MDAsIDB4MDksIDB4ODksIDB4MDEsIDB4MDksIDB4ZTYsIDB4MDMsIDB4MDcsIDB4ZTMsIDB4MDYsIDB4MDksIDB4MGQsIDB4MDgsIDB4MDksCi0gIDB4MDEsIDB4MDksIDB4MDgsIDB4ZTksIDB4MGEsIDB4MDgsIDB4ZjgsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGEsIDB4MjQsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsCi0gIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWMsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDgsIDB4NzksIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGEsCi0gIDB4MjQsIDB4NzQsIDB4MGQsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4ODcsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGF9fSwKLSB7MHgwODA2LCA2NCwgeyAweDJiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweGQ4LAotICAweDc1LCAweDgzLCAweDBkLCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweGQxLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDc1LCAweDgyLCAweGNhLCAweDc1LAotICAweDgzLCAweDBkLCAweGYwLCAweDc1LCAweDgyLCAweGMzLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LAotICAweDgyLCAweDllLCAweDc1LCAweDgzLCAweDBkLCAweGYwLCAweDkwLCAweDdmLCAweGVmLCAweGUwLCAweGZlLCAweDkwLCAweDdmLCAweGVlLCAweGUwfX0sCi0gezB4MDg0NiwgNjQsIHsgMHg3YywgMHgwMCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg1YSwgMHhlYywgMHgzZSwgMHhmNSwgMHg1OSwgMHg3NSwgMHgxNSwgMHgwZCwgMHg3NSwgMHgxNiwgMHg5OSwgMHg3NSwKLSAgMHg4MiwgMHg5YiwgMHg3NSwgMHg4MywgMHgwZCwgMHhlMCwgMHg3NSwgMHgxMywgMHgwMCwgMHhmNSwgMHgxNCwgMHhkMywgMHhlNSwgMHgxNCwgMHg5NSwgMHg1YSwKLSAgMHhlNSwgMHgxMywgMHg5NSwgMHg1OSwgMHg0MCwgMHgwNiwgMHg4NSwgMHg1OSwgMHgxMywgMHg4NSwgMHg1YSwgMHgxNCwgMHgxMiwgMHgwYiwgMHhiYSwgMHgwMiwKLSAgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwYiwgMHg3NSwgMHg1NiwgMHhmZiwgMHg3NSwgMHg1NywgMHgwZCwgMHg3NX19LAotIHsweDA4ODYsIDY0LCB7IDB4NTgsIDB4ZGMsIDB4ODAsIDB4MmQsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MGIsIDB4NzUsIDB4NTYsIDB4ZmYsIDB4NzUsIDB4NTcsIDB4MGQsCi0gIDB4NzUsIDB4NTgsIDB4ZTAsIDB4ODAsIDB4MWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDIsIDB4MGIsIDB4NzUsIDB4NTYsIDB4ZmYsIDB4NzUsCi0gIDB4NTcsIDB4MGQsIDB4NzUsIDB4NTgsIDB4ZjAsIDB4ODAsIDB4MDksIDB4NzUsIDB4NTYsIDB4ZmYsIDB4NzUsIDB4NTcsIDB4MGUsIDB4NzUsIDB4NTgsIDB4MWUsCi0gIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4NzUsIDB4NTksIDB4MDAsIDB4ZjUsIDB4NWEsIDB4YWUsIDB4NTcsIDB4YWYsIDB4NTgsIDB4OGUsIDB4MTV9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDhmLCAweDE2LCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDhlLCAweDEzLCAweGY1LCAweDE0LCAweGQzLCAweDk1LCAweDVhLAotICAweGU1LCAweDEzLCAweDk1LCAweDU5LCAweDQwLCAweDA2LCAweDg1LCAweDU5LCAweDEzLCAweDg1LCAweDVhLCAweDE0LCAweDEyLCAweDBiLCAweGJhLCAweDAyLAotICAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDExLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBhLAotICAweDJiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDExLCAweDAyLCAweDBhLCAweDJiLCAweDEyLCAweDBjLCAweDI0LCAweDkwLCAweDdmfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhlYSwgMHhlMCwgMHhmNSwgMHgxMCwgMHgwMiwgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYSwgMHgyYiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNywgMHgxNCwgMHg2MCwgMHgzNCwKLSAgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYSwgMHgyNCwgMHhhMiwgMHgxNiwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwKLSAgMHgxOCwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NH19LAotIHsweDA5NDYsIDY0LCB7IDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGEsIDB4MmIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsCi0gIDB4ZjAsIDB4MDIsIDB4MGEsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsCi0gIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjB9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDAyLCAweDBhLCAweDJiLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE3LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBhLAotICAweDJiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBhLCAweDI0LCAweGMyLCAweDE2LCAweDAyLCAweDBhLAotICAweDJiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDc2LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LAotICAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0fX0sCi0gezB4MDljNiwgNjQsIHsgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwKLSAgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg0NSwgMHg5MCwKLSAgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxMCwgMHgyNCwgMHgwMiwgMHg3MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg2NCwKLSAgMHgwMSwgMHg3MCwgMHgyYSwgMHhkMiwgMHgxNiwgMHg4MCwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3Zn19LAotIHsweDBhMDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsCi0gIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4YzIsIDB4MTAsIDB4ZTQsIDB4ZjUsCi0gIDB4MTAsIDB4ZjUsIDB4MzQsIDB4YzIsIDB4MDksIDB4YzIsIDB4MGMsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MTQsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MTV9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGMyLCAweDExLCAweGMyLCAweDA3LCAweGMyLCAweDEyLCAweGMyLCAweDBmLCAweGMyLCAweDA4LCAweGY1LCAweDM1LCAweGY1LCAweDM5LCAweGY1LCAweDUzLCAweGY1LAotICAweDNhLCAweGY1LCAweDMzLCAweGY1LCAweDMwLCAweGY1LCAweDJmLCAweGY1LCAweDJlLCAweGY1LCAweDJkLCAweGY1LCAweDJjLCAweGY1LCAweDJiLCAweGY1LAotICAweDJhLCAweGY1LCAweDI5LCAweGY1LCAweDI4LCAweGY1LCAweDI3LCAweGY1LCAweDI2LCAweGY1LCAweDI1LCAweGY1LCAweDI0LCAweGMyLCAweDA1LCAweGMyLAotICAweDE3LCAweGMyLCAweDE5LCAweGMyLCAweDE2LCAweGMyLCAweDE4LCAweGMyLCAweDA0LCAweGQyLCAweDEzLCAweGMyLCAweDA2LCAweGMyLCAweDAxfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwKLSAgMHhlMCwgMHg0NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHg3NCwgMHgwZSwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhiYywgMHhkMn19LAotIHsweDBhYzYsIDY0LCB7IDB4MWEsIDB4MTIsIDB4MGYsIDB4N2QsIDB4YzIsIDB4MTcsIDB4MzAsIDB4MDQsIDB4MDMsIDB4MTIsIDB4MDQsIDB4NDgsIDB4MzAsIDB4MDQsIDB4MmEsIDB4MzAsIDB4MDYsCi0gIDB4MjcsIDB4YzIsIDB4MDYsIDB4ZTUsIDB4MTIsIDB4NjAsIDB4MTYsIDB4MTUsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4MzAsIDB4ZTYsIDB4MDQsCi0gIDB4N2YsIDB4MDAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4NzQsIDB4MjAsIDB4ZjAsIDB4MTIsIDB4MGIsIDB4MTQsIDB4ODAsIDB4Y2QsIDB4MzAsIDB4MTcsIDB4MDcsIDB4YzIsIDB4MTcsIDB4MTIsIDB4MDd9fSwKLSB7MHgwYjA2LCA2NCwgeyAweGMwLCAweDgwLCAweGMzLCAweDMwLCAweDE5LCAweGMwLCAweGMyLCAweDE5LCAweDEyLCAweDBlLCAweGRjLCAweDgwLCAweGI5LCAweDIyLCAweGU1LCAweDMxLCAweDYwLAotICAweDAyLCAweDE1LCAweDMxLCAweGU1LCAweDM5LCAweDYwLCAweDU1LCAweDY1LCAweDM1LCAweDcwLCAweDRiLCAweGU1LCAweDMzLCAweGY0LCAweDYwLCAweDAyLAotICAweDA1LCAweDMzLCAweGU1LCAweDMzLCAweGMzLCAweDk1LCAweDQ0LCAweDQwLCAweDQzLCAweGMyLCAweGFmLCAweDMwLCAweDAyLCAweDFiLCAweDkwLCAweDdmLAotICAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDJkLCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDM5LCAweGYwLCAweGMyLCAweDAyLCAweGU0LCAweGY1fX0sCi0gezB4MGI0NiwgNjQsIHsgMHgzOSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNSwgMHg3NSwgMHgxMiwgMHhmZiwgMHg4MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwKLSAgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzOSwgMHhmMCwgMHhkMiwgMHgwMiwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNSwgMHg3NSwKLSAgMHgxMiwgMHhmZiwgMHhkMiwgMHhhZiwgMHg4MCwgMHgwNiwgMHg4NSwgMHgzOSwgMHgzNSwgMHhlNCwgMHhmNSwgMHgzMywgMHhlNSwgMHgyYywgMHg2MCwgMHgzMCwKLSAgMHgyMCwgMHgwZiwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMCwgMHgwZiwgMHhlNSwgMHgyZCwgMHg2MCwgMHgwNiwgMHhlNH19LAotIHsweDBiODYsIDY0LCB7IDB4ZjUsIDB4MmQsIDB4NDMsIDB4MzQsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ODAsIDB4MTQsIDB4ZTUsIDB4MzAsIDB4ZDMsIDB4OTUsIDB4NDUsIDB4NTAsIDB4MGQsCi0gIDB4ZTUsIDB4MzAsIDB4YjUsIDB4NDUsIDB4MDYsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NDMsIDB4MzQsIDB4MDEsIDB4MDUsIDB4MzAsIDB4YzIsIDB4MGYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4ZDksIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDQsIDB4N2YsIDB4MDAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4ZWYsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTQsIDB4NDUsIDB4MTMsIDB4NjAsIDB4NTcsIDB4YWUsIDB4MTMsIDB4YWYsIDB4MTQsIDB4ZDMsIDB4ZWZ9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDdlLCAweDAwLCAweDdmLCAweDQwLCAweGMzLCAweGU1LCAweDE0LCAweDlmLCAweGY1LCAweDE0LAotICAweGU1LCAweDEzLCAweDllLCAweGY1LCAweDEzLCAweGU0LCAweGZkLCAweGVkLCAweGMzLCAweDlmLCAweGU0LCAweDllLCAweDUwLCAweDFmLCAweDg1LCAweDE2LAotICAweDgyLCAweDg1LCAweDE1LCAweDgzLCAweGUwLCAweGZjLCAweDc0LCAweDAwLCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLAotICAweGVjLCAweGYwLCAweDBkLCAweDA1LCAweDE2LCAweGU1LCAweDE2LCAweDcwLCAweDAyLCAweDA1LCAweDE1LCAweDgwLCAweGRhLCAweDkwLCAweDdmfX0sCi0gezB4MGMwNiwgNjQsIHsgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhlZiwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5NCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHg3NCwgMHg4Nn19LAotIHsweDBjNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ODQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsCi0gIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4NzUsIDB4OTgsIDB4NDAsCi0gIDB4NDMsIDB4YTgsIDB4MTAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4ZDIsCi0gIDB4MDQsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjJ9fSwKLSB7MHgwYzg2LCA2NCwgeyAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLAotICAweDhhLCAweDgzLCAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLAotICAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LAotICAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzfX0sCi0gezB4MGNjNiwgNjQsIHsgMHhhMywgMHhhMywgMHg4MCwgMHhkZiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg0NCwgMHg0MiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5YywgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhiZSwgMHhmMCwgMHgzMCwKLSAgMHgxNiwgMHgwNCwgMHg3ZiwgMHg4MCwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlZiwgMHhmMCwgMHhlNCwgMHg5MH19LAotIHsweDBkMDYsIDY0LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4YzAsCi0gIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsCi0gIDB4MDgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MTIsIDB4MGIsIDB4YmEsIDB4ZDAsIDB4ZDAsIDB4ZDAsCi0gIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzB9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDkwLCAweDdmLCAweGM0LAotICAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLAotICAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHhmZiwgMHhmZiwgMHg0MCwgMHhjZCwgMHgwNiwgMHgxYywgMHgwMSwgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMiwKLSAgMHgwMCwgMHgwMiwgMHgwOSwgMHgwMiwgMHg0MywgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwNywKLSAgMHhmZiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MCwKLSAgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMH19LAotIHsweDBkYzYsIDY0LCB7IDB4MDEsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4ODMsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsCi0gIDB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MTAsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksCi0gIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmUsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksCi0gIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTAsIDB4MDB9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDUzLCAweDAwLCAweDQ4LCAweDAwLCAweDMxLCAweDAwLCAweDMxLCAweDAwLCAweDMyLCAweDAwLCAweDJkLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLAotICAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDIyLCAweDAzLCAweDU1LCAweDAwLCAweDUzLCAweDAwLCAweDQxLCAweDAwLCAweDJkLAotICAweDAwLCAweDM1LCAweDAwLCAweDMzLCAweDAwLCAweDIwLCAweDAwLCAweDMyLCAweDAwLCAweDMwLCAweDAwLCAweDMwLCAweDAwLCAweDMyLCAweDAwLCAweDYxLAotICAweDAwLCAweDcwLCAweDAwLCAweDcyLCAweDAwLCAweDMyLCAweDAwLCAweDM2LCAweDAwLCAweDAwLCAweDAwLCAweGMwLCAweGUwLCAweGMwLCAweDgzfX0sCi0gezB4MGU0NiwgNjQsIHsgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMiwgMHgwNiwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwKLSAgMHgwMCwgMHhkMiwgMHgxNywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMH19LAotIHsweDBlODYsIDY0LCB7IDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsCi0gIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTksIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDB9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDAyLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLAotICAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDEyLCAweDBjLCAweGNhLCAweDEyLCAweDBmLCAweGIzLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLAotICAweGU3LCAweDEyLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDBkLCAweDdlLCAweDAwLCAweDEyLCAweDAwLCAweDAzLCAweDkwLCAweDdmLCAweGQ2LAotICAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDEyLCAweDBjLCAweDI0LCAweDIyLCAweDAwLCAweDAyLCAweDBlLCAweDY5LCAweDAwLCAweDAyLCAweDBlfX0sCi0gezB4MGYwNiwgNjQsIHsgMHg0MiwgMHgwMCwgMHgwMiwgMHgwZCwgMHg0NSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg5MCwgMHgwMCwgMHgwMiwgMHgwZiwgMHgxMCwgMHgwMCwgMHgwMiwgMHgwZiwgMHgxNCwKLSAgMHgwMCwgMHgwMiwgMHgwZCwgMHgxMiwgMHgwMCwgMHgwMiwgMHgwZiwgMHgxYywgMHgwMCwgMHgwMiwgMHgwZSwgMHhiNywgMHgwMCwgMHgwMiwgMHgwZiwgMHgyNCwKLSAgMHgwMCwgMHgwMiwgMHgwZiwgMHgzMywgMHgwMCwgMHgwMiwgMHgwZiwgMHgyYywgMHgwMCwgMHgwMiwgMHgwZiwgMHg1OCwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywKLSAgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MH19LAotIHsweDBmNDYsIDY0LCB7IDB4N2YsIDB4YTksIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsCi0gIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsCi0gIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsCi0gIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwZjg2LCA2MSwgeyAweDA4LCAweGYwLCAweDMwLCAweDFhLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDAwLCAweDAzLCAweDkwLAotICAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLAotICAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9fQotfTsKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYwppbmRleCBmZjU0MjAzLi42NDRhMWVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuYwpAQCAtNzYsMTggKzc2LDE0IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi5oPgogI2luY2x1ZGUgPGxpbnV4L3VzYi9zZXJpYWwuaD4KIAogc3RhdGljIGludCBkZWJ1ZzsKIAotc3RydWN0IGV6dXNiX2hleF9yZWNvcmQgewotCV9fdTE2IGFkZHJlc3M7Ci0JX191OCBkYXRhX3NpemU7Ci0JX191OCBkYXRhWzE2XTsKLX07Ci0KIC8qIG1ha2UgYSBzaW1wbGUgZGVmaW5lIHRvIGhhbmRsZSBpZiB3ZSBhcmUgY29tcGlsaW5nIGtleXNwYW5fcGRhIG9yIHhpcmNvbSBzdXBwb3J0ICovCiAjaWYgZGVmaW5lZChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQSkgfHwgZGVmaW5lZChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQV9NT0RVTEUpCiAJI2RlZmluZSBLRVlTUEFOCkBAIC0xMDAsMTQgKzk2LDYgQEAKIAkjdW5kZWYgWElSQ09NCiAjZW5kaWYKIAotI2lmZGVmIEtFWVNQQU4KLSNpbmNsdWRlICJrZXlzcGFuX3BkYV9mdy5oIgotI2VuZGlmCi0KLSNpZmRlZiBYSVJDT00KLSNpbmNsdWRlICJ4aXJjb21fcGdzX2Z3LmgiCi0jZW5kaWYKLQogLyoKICAqIFZlcnNpb24gSW5mb3JtYXRpb24KICAqLwpAQCAtNzIyLDM4ICs3MTAsNDcgQEAKIHN0YXRpYyBpbnQga2V5c3Bhbl9wZGFfZmFrZV9zdGFydHVwIChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQogewogCWludCByZXNwb25zZTsKLQljb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCAqcmVjb3JkID0gTlVMTDsKKwljb25zdCBjaGFyICpmd19uYW1lOworCWNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjb3JkOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAKIAkvKiBkb3dubG9hZCB0aGUgZmlybXdhcmUgaGVyZSAuLi4gKi8KIAlyZXNwb25zZSA9IGV6dXNiX3NldF9yZXNldChzZXJpYWwsIDEpOwogCisJaWYgKDApIHsgOyB9CiAjaWZkZWYgS0VZU1BBTgotCWlmIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gS0VZU1BBTl9WRU5ET1JfSUQpCi0JCXJlY29yZCA9ICZrZXlzcGFuX3BkYV9maXJtd2FyZVswXTsKKwllbHNlIGlmIChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gS0VZU1BBTl9WRU5ET1JfSUQpCisJCWZ3X25hbWUgPSAia2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuZnciOwogI2VuZGlmCiAjaWZkZWYgWElSQ09NCi0JaWYgKChsZTE2X3RvX2NwdShzZXJpYWwtPmRldi0+ZGVzY3JpcHRvci5pZFZlbmRvcikgPT0gWElSQ09NX1ZFTkRPUl9JRCkgfHwKLQkgICAgKGxlMTZfdG9fY3B1KHNlcmlhbC0+ZGV2LT5kZXNjcmlwdG9yLmlkVmVuZG9yKSA9PSBFTlRSRUdSQV9WRU5ET1JfSUQpKQotCQlyZWNvcmQgPSAmeGlyY29tX3Bnc19maXJtd2FyZVswXTsKKwllbHNlIGlmICgobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IFhJUkNPTV9WRU5ET1JfSUQpIHx8CisJCSAobGUxNl90b19jcHUoc2VyaWFsLT5kZXYtPmRlc2NyaXB0b3IuaWRWZW5kb3IpID09IEVOVFJFR1JBX1ZFTkRPUl9JRCkpCisJCWZ3X25hbWUgPSAia2V5c3Bhbl9wZGEveGlyY29tX3Bncy5mdyI7CiAjZW5kaWYKLQlpZiAocmVjb3JkID09IE5VTEwpIHsKKwllbHNlIHsKIAkJZXJyKCIlczogdW5rbm93biB2ZW5kb3IsIGFib3J0aW5nLiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQorCWlmIChyZXF1ZXN0X2loZXhfZmlybXdhcmUoJmZ3LCBmd19uYW1lLCAmc2VyaWFsLT5kZXYtPmRldikpIHsKKwkJZXJyKCJmYWlsZWQgdG8gbG9hZCBmaXJtd2FyZSBcIiVzXCJcbiIsIGZ3X25hbWUpOworCQlyZXR1cm4gLUVOT0VOVDsKKwl9CisJcmVjb3JkID0gKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqKWZ3LT5kYXRhOwogCi0Jd2hpbGUocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5KHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLAorCXdoaWxlIChyZWNvcmQpIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeShzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCiAJCQkJCSAgICAgKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsCi0JCQkJCSAgICAgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCQkJCQkgICAgIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSwgMHhhMCk7CiAJCWlmIChyZXNwb25zZSA8IDApIHsKIAkJCWVycigiZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBLZXlzcGFuIFBEQSAiCiAJCQkgICAgImZpcm13YXJlICglZCAlMDRYICVwICVkKSIsCi0JCQkgICAgcmVzcG9uc2UsIAotCQkJICAgIHJlY29yZC0+YWRkcmVzcywgcmVjb3JkLT5kYXRhLCByZWNvcmQtPmRhdGFfc2l6ZSk7CisJCQkgICAgcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkgICAgcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KLQkJcmVjb3JkKys7CisJCXJlY29yZCA9IGloZXhfbmV4dF9iaW5yZWMocmVjb3JkKTsKIAl9CisJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJLyogYnJpbmcgZGV2aWNlIG91dCBvZiByZXNldC4gUmVudW1lcmF0aW9uIHdpbGwgb2NjdXIgaW4gYSBtb21lbnQKIAkgICBhbmQgdGhlIG5ldyBkZXZpY2Ugd2lsbCBiaW5kIHRvIHRoZSByZWFsIGRyaXZlciAqLwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0KHNlcmlhbCwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGFfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYV9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjUzYWNjLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3BkYV9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotLyoKLSAqIFVTQiBLZXlzcGFuIFBEQSBGaXJtd2FyZQotICoKLSAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCBCcmlhbiBXYXJuZXIJPHdhcm5lckBsb3RoYXIuY29tPgotICoKLSAqCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogR2VuZXJhdGVkIGZyb20ga2V5c3Bhbl9wZGEucyBieSBlenVzYl9jb252ZXJ0LnBsCi0gKgotICovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3BkYV9maXJtd2FyZVtdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDAyLCAweDAwfSB9LAoteyAweDAwMjMsCTQsCXsweDAyLCAweDA1LCAweDVmLCAweDAwfSB9LAoteyAweDAwNDMsCTQsCXsweDAyLCAweDAxLCAweDAwLCAweDAwfSB9LAoteyAweDAwMzAsCTUsCXsweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMDAsCTE2LAl7MHgwMiwgMHgwMiwgMHg5NiwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDEyMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDA0LCAweDYxLCAweDAwLCAweDAyLCAweDA0LCAweDg5LCAweDAwfSB9LAoteyAweDAyMDAsCTE2LAl7MHg3NSwgMHg4MSwgMHg1ZSwgMHhlNCwgMHhmNSwgMHgzMiwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhmNSwgMHgzNCwgMHhjMiwgMHgwMH0gfSwKLXsgMHgwMjEwLAkxNiwJezB4YzIsIDB4MDEsIDB4YTksIDB4MDAsIDB4NzQsIDB4ZmUsIDB4OTAsIDB4MTAsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZDksIDB4ZmMsIDB4NzQsIDB4ZmQsIDB4OTB9IH0sCi17IDB4MDIyMCwJMTYsCXsweDExLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDc0LCAweDAyLCAweDkwLCAweDdmLCAweDlkLCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmfSB9LAoteyAweDAyMzAsCTE2LAl7MHg5NywgMHhmMCwgMHg3NCwgMHg4NiwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwMjQwLAkxNiwJezB4YWYsIDB4ZTAsIDB4ZDIsIDB4ZTAsIDB4ZjAsIDB4NzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YWIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MDI1MCwJMTYsCXsweDdmLCAweGFjLCAweDc0LCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGFkLCAweDc0LCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDc0fSB9LAoteyAweDAyNjAsCTE2LAl7MHg4NCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg3NCwgMHgwMCwgMHhmNSwgMHg5OCwgMHg3NSwgMHhjOCwgMHgzMCwgMHg3YiwgMHgwNSwgMHg5MSwgMHgyMH0gfSwKLXsgMHgwMjcwLAkxNiwJezB4ZDIsIDB4Y2EsIDB4NzUsIDB4OTgsIDB4NTAsIDB4ZDIsIDB4ZTgsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YWMsIDB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTB9IH0sCi17IDB4MDI4MCwJMTYsCXsweDdmLCAweGQ2LCAweDc0LCAweDAyLCAweGYwLCAweDc5LCAweDJlLCAweDdhLCAweDAwLCAweDdiLCAweDAwLCAweGRiLCAweGZlLCAweGRhLCAweGZhLCAweGQ5fSB9LAoteyAweDAyOTAsCTE2LAl7MHhmNiwgMHg3NCwgMHgwNiwgMHhmMCwgMHg4MCwgMHhmZSwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NX0gfSwKLXsgMHgwMmEwLAkxNiwJezB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDJiMCwJMTYsCXsweGU4LCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweGEzLCAweGUwLCAweGZiLCAweGEzLCAweGUwLCAweGZjLCAweGU5LCAweDU0LCAweDYwLCAweGI0fSB9LAoteyAweDAyYzAsCTE2LAl7MHgwMCwgMHgwMywgMHgwMiwgMHgwMywgMHgzOSwgMHhiNCwgMHg0MCwgMHg2ZSwgMHhiYSwgMHgwMCwgMHgwYiwgMHgxMiwgMHgwNCwgMHgyMCwgMHg0MCwgMHgwM30gfSwKLXsgMHgwMmQwLAkxNiwJezB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDIsIDB4MDMsIDB4MDJ9IH0sCi17IDB4MDJlMCwJMTYsCXsweDA0LCAweDBhLCAweGJhLCAweDAzLCAweDAzLCAweDAyLCAweDA0LCAweDQ0LCAweGJhLCAweDA0LCAweDFlLCAweGJiLCAweDAwLCAweDBhLCAweDkwLCAweDdmfSB9LAoteyAweDAyZjAsCTE2LAl7MHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwMzAwLAkxNiwJezB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmEsIDB4MDUsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmF9IH0sCi17IDB4MDMxMCwJMTYsCXsweDA2LCAweDE5LCAweGJiLCAweDAwLCAweDA4LCAweGU1LCAweDMzLCAweGQzLCAweDk1LCAweDMyLCAweDAyLCAweDAzLCAweGRlLCAweGJiLCAweDAxLCAweDA4fSB9LAoteyAweDAzMjAsCTE2LAl7MHhlNSwgMHgzMiwgMHhjMywgMHg5NSwgMHgzMywgMHgwMiwgMHgwMywgMHhkZSwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwNywgMHgwNSwgMHg4YiwgMHgzNH0gfSwKLXsgMHgwMzMwLAkxNiwJezB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGEsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDAsIDB4MjAsIDB4YjksIDB4ODAsIDB4MTAsIDB4OTB9IH0sCi17IDB4MDM0MCwJMTYsCXsweDdmLCAweDAwLCAweGU0LCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGI5fSB9LAoteyAweDAzNTAsCTE2LAl7MHg4MiwgMHgwMiwgMHg4MCwgMHhlYiwgMHhiOSwgMHg4MSwgMHgwMiwgMHg4MCwgMHhlNiwgMHgwMiwgMHgwNCwgMHgwYSwgMHhiYSwgMHgwMSwgMHgwZiwgMHhiYn0gfSwKLXsgMHgwMzYwLAkxNiwJezB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDIsIDB4MDQsIDB4MGEsIDB4YmEsIDB4MDN9IH0sCi17IDB4MDM3MCwJMTYsCXsweDBmLCAweGJiLCAweDAwLCAweDAzLCAweDAyLCAweDA0LCAweDBhLCAweGJiLCAweDAxLCAweDAzLCAweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhfSB9LAoteyAweDAzODAsCTE2LAl7MHhiYSwgMHgwNiwgMHg1NiwgMHhiYywgMHgwMSwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHg3NCwgMHgwNiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHg3NH0gfSwKLXsgMHgwMzkwLAkxNiwJezB4MTIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmMsIDB4MDIsIDB4MTIsIDB4YmIsIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4NzQsIDB4MDZ9IH0sCi17IDB4MDNhMCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweDc0LCAweDI0LCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweGJjLCAweDAzLCAweDI5LCAweDc0LCAweDA0LCAweGMzfSB9LAoteyAweDAzYjAsCTE2LAl7MHg5YiwgMHg0MCwgMHg1NywgMHg2MCwgMHg1NSwgMHhlYiwgMHgyYiwgMHg5MCwgMHgwNiwgMHg0NCwgMHgyNSwgMHg4MiwgMHhmNSwgMHg4MiwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwM2MwLAkxNiwJezB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZTksIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDNkMCwJMTYsCXsweGQ1LCAweGVhLCAweGYwLCAweDAyLCAweDA0LCAweDAyLCAweDAyLCAweDA0LCAweDBhLCAweGJhLCAweDA4LCAweDBmLCAweDc0LCAweDAxLCAweDkwLCAweDdmfSB9LAoteyAweDAzZTAsCTE2LAl7MHgwMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgwMiwgMHhiYSwgMHgwOSwgMHgwMywgMHgwMiwgMHgwNH0gfSwKLXsgMHgwM2YwLAkxNiwJezB4MDIsIDB4YmEsIDB4MGEsIDB4MDUsIDB4NzQsIDB4MDAsIDB4MDIsIDB4MDMsIDB4ZGUsIDB4YmEsIDB4MGIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MDIsIDB4MDJ9IH0sCi17IDB4MDQwMCwJMTYsCXsweDA0LCAweDBhLCAweDkwLCAweDdmLCAweGI0LCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDA5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxfSB9LAoteyAweDA0MTAsCTE2LAl7MHhmMCwgMHg4MCwgMHgwMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMn0gfSwKLXsgMHgwNDIwLAkxNiwJezB4ZWIsIDB4MjAsIDB4ZTcsIDB4MWUsIDB4YzMsIDB4OTQsIDB4MGEsIDB4NTAsIDB4MTksIDB4ZWIsIDB4MjMsIDB4MjQsIDB4ZmUsIDB4ZjUsIDB4ODIsIDB4NzR9IH0sCi17IDB4MDQzMCwJMTYsCXsweDA1LCAweDM0LCAweDAwLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGNiLCAweGY1LCAweGNkLCAweGEzLCAweGUwLCAweGY1LCAweGNhLCAweGY1LCAweGNjfSB9LAoteyAweDA0NDAsCTE2LAl7MHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHhiOSwgMHg0MSwgMHgxMSwgMHhlYiwgMHg2NCwgMHhmZiwgMHg1NCwgMHg4NCwgMHhmYiwgMHg5MCwgMHg3ZiwgMHg5OH0gfSwKLXsgMHgwNDUwLAkxNiwJezB4ZTAsIDB4NTQsIDB4N2IsIDB4NGIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NjQsIDB4ZmYsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDQ2MCwJMTYsCXsweGRlLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweGU1LCAweDkxLCAweGMyfSB9LAoteyAweDA0NzAsCTE2LAl7MHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHgxMiwgMHgwNSwgMHhhMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NX0gfSwKLXsgMHgwNDgwLAkxNiwJezB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4MDQ5MCwJMTYsCXsweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweGU1LCAweDkxLCAweGMyLCAweGU0LCAweGY1LCAweDkxLCAweDkwLCAweDdmLCAweGFhLCAweDc0LCAweDA0fSB9LAoteyAweDA0YTAsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmOSwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHhjMCwgMHg3NSwgMHg4NSwgMHgxMCwgMHg4NX0gfSwKLXsgMHgwNGIwLAkxNiwJezB4MzIsIDB4ODQsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4MDUsIDB4ODQsIDB4ZjAsIDB4ZTUsIDB4ODQsIDB4YjUsIDB4MzMsIDB4MDIsIDB4ODAsIDB4MDksIDB4MDV9IH0sCi17IDB4MDRjMCwJMTYsCXsweDMyLCAweDA1LCAweDg2LCAweGEzLCAweGQ5LCAweGVjLCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGIxLCAweDMxLCAweGQwLCAweGUwfSB9LAoteyAweDA0ZDAsCTE2LAl7MHhkMCwgMHg4NSwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhkMCwgMHg4NiwgMHgzMiwgMHhlNCwgMHhmNSwgMHg4NiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNGUwLAkxNiwJezB4YmMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NGIsIDB4OTAsIDB4N2QsIDB4MDAsIDB4ZTUsIDB4MzIsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzMsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDRmMCwJMTYsCXsweGU1LCAweDMwLCAweGYwLCAweGEzLCAweGU1LCAweDMxLCAweGYwLCAweGEzLCAweGU0LCAweDMwLCAweDAwLCAweDAxLCAweDA0LCAweGYwLCAweGEzLCAweDA1fSB9LAoteyAweDA1MDAsCTE2LAl7MHg4NiwgMHg5MCwgMHgxMCwgMHgwMCwgMHg3OSwgMHgxMCwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkOSwgMHhmNn0gfSwKLXsgMHgwNTEwLAkxNiwJezB4MDUsIDB4ODYsIDB4NzQsIDB4ZmMsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MTEsIDB4MDAsIDB4NzksIDB4MTAsIDB4ZTAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MDUyMCwJMTYsCXsweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGQ5LCAweGY2LCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdmLCAweGJkLCAweDc0LCAweDI2LCAweGYwfSB9LAoteyAweDA1MzAsCTE2LAl7MHgyMiwgMHgyMCwgMHgwMCwgMHgxMywgMHhlNSwgMHgzMiwgMHhiNSwgMHgzMywgMHgwMSwgMHgyMiwgMHgwNSwgMHgzMywgMHg3NSwgMHg4MywgMHgxMCwgMHg4NX0gfSwKLXsgMHgwNTQwLAkxNiwJezB4MzMsIDB4ODIsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4ZDIsIDB4MDAsIDB4NzQsIDB4MDAsIDB4YjUsIDB4MzQsIDB4MDEsIDB4MjIsIDB4ZTUsIDB4MzMsIDB4ZDN9IH0sCi17IDB4MDU1MCwJMTYsCXsweDk1LCAweDMyLCAweGMzLCAweDk1LCAweDM0LCAweDQwLCAweGY1LCAweDc1LCAweDM0LCAweDAwLCAweGQyLCAweDAxLCAweDAyLCAweDA1LCAweGEwLCAweGMwfSB9LAoteyAweDA1NjAsCTE2LAl7MHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4MywgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHgzMCwgMHg5OSwgMHgwNywgMHhjMiwgMHg5OX0gfSwKLXsgMHgwNTcwLAkxNiwJezB4YzIsIDB4MDAsIDB4MTIsIDB4MDUsIDB4MzQsIDB4MzAsIDB4OTgsIDB4MDUsIDB4MTIsIDB4MDUsIDB4OGEsIDB4YzIsIDB4OTgsIDB4ZDAsIDB4ZTAsIDB4ZDB9IH0sCi17IDB4MDU4MCwJMTYsCXsweDg1LCAweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweDc1LCAweDgzLCAweDExLCAweDg1LCAweDMwLCAweDgyfSB9LAoteyAweDA1OTAsCTE2LAl7MHgwNSwgMHg4MiwgMHhlNSwgMHg5OSwgMHhmMCwgMHhlNSwgMHg4MiwgMHhiNSwgMHgzMSwgMHgwMSwgMHgyMiwgMHgwNSwgMHgzMCwgMHhiMSwgMHhhMCwgMHgyMn0gfSwKLXsgMHgwNWEwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzgsIDB4MjAsIDB4MDEsIDB4MzYsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4MzEsIDB4MDEsIDB4MjJ9IH0sCi17IDB4MDViMCwJMTYsCXsweGU0LCAweGY1LCAweDg2LCAweDc1LCAweDgzLCAweDExLCAweDA1LCAweDg2LCAweDkwLCAweDdlLCAweDAwLCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweDc5fSB9LAoteyAweDA1YzAsCTE2LAl7MHgwMSwgMHhlNSwgMHgzMCwgMHhiNSwgMHgzMSwgMHgwMiwgMHg4MCwgMHgxMCwgMHgwNSwgMHgzMSwgMHg4NSwgMHgzMSwgMHg4MiwgMHhlMCwgMHgwNSwgMHg4Nn0gfSwKLXsgMHgwNWQwLAkxNiwJezB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4MDksIDB4YjksIDB4NDAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTksIDB4NjAsIDB4MDEsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MDVlMCwJMTYsCXsweGMyLCAweDAxLCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdlLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweDAyLCAweGYwLCAweDkwfSB9LAoteyAweDA1ZjAsCTE2LAl7MHg3ZiwgMHhiOSwgMHhmMCwgMHgyMiwgMHhjMiwgMHg5OSwgMHhmNSwgMHg5OSwgMHgzMCwgMHg5OSwgMHhmZCwgMHhjMiwgMHg5OSwgMHgyMiwgMHhlNSwgMHg1ZX0gfSwKLXsgMHgwNjAwLAkxNiwJezB4ZjYsIDB4M2MsIDB4ZmQsIDB4OGYsIDB4ZmUsIDB4YzgsIDB4ZmYsIDB4NjQsIDB4ZmYsIDB4YjIsIDB4ZmYsIDB4ZDksIDB4ZmYsIDB4ZWQsIDB4ZmYsIDB4ZjN9IH0sCi17IDB4MDYxMCwJMTYsCXsweGZmLCAweGZhLCAweDEyLCAweDAxLCAweDAwLCAweDAxLCAweGZmLCAweGZmLCAweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDA0LCAweDAxLCAweDg5LCAweGFifSB9LAoteyAweDA2MjAsCTE2LAl7MHgwMSwgMHgwMiwgMHgwMywgMHgwMSwgMHgwOSwgMHgwMiwgMHgyMCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMH0gfSwKLXsgMHgwNjMwLAkxNiwJezB4MDAsIDB4MDIsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODIsIDB4MDMsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4MDJ9IH0sCi17IDB4MDY0MCwJMTYsCXsweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA2LCAweDRjLCAweDA2LCAweDUwLCAweDA2LCAweDcyLCAweDA2LCAweGEwLCAweDA0LCAweDAzLCAweDAwLCAweDAwfSB9LAoteyAweDA2NTAsCTE2LAl7MHgyMiwgMHgwMywgMHg0MSwgMHgwMCwgMHg0MywgMHgwMCwgMHg0ZCwgMHgwMCwgMHg0NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MywgMHgwMH0gfSwKLXsgMHgwNjYwLAkxNiwJezB4NjIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzQsIDB4MDB9IH0sCi17IDB4MDY3MCwJMTYsCXsweDczLCAweDAwLCAweDJlLCAweDAzLCAweDQxLCAweDAwLCAweDQzLCAweDAwLCAweDRkLCAweDAwLCAweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwfSB9LAoteyAweDA2ODAsCTE2LAl7MHg1MywgMHgwMCwgMHg0MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMH0gfSwKLXsgMHgwNjkwLAkxNiwJezB4NmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzQsIDB4MDB9IH0sCi17IDB4MDZhMCwJNiwJezB4MDYsIDB4MDMsIDB4MzQsIDB4MDAsIDB4MzcsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOHhfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE4eF9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlN2IzYmMwLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE4eF9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ3ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMTh4X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMTh4X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE4eF9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTIsIDB4Zjd9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MH19LAotIHsweDAwMjMsIDE1LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDA5LCAweDE4LCAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk1LCAweDNjLCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywgMHgzMCwgMHgwMywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDA5LCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg0MSwgMHgxMiwgMHgwYywgMHhiYX19LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDA5fX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGMsIDB4YmEsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDYwLCAweDEyLCAweDExLCAweGQ2LCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxOSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgzNiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5NSwgMHgzYSwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMiwgMHhlYn19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzYsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGIsIDB4NWUsIDB4YzIsIDB4MGIsIDB4ZTUsIDB4MTl9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxMywgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweGU1LCAweDM2LCAweDMwLCAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdlLAotICAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM2LCAweDEyLCAweDBmLCAweDRiLCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLAotICAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4fX0sCi0gezB4MDE0NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgzNiwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwKLSAgMHgwYywgMHhkZiwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwKLSAgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwMywgMHhjMSwgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxOCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YX19LAotIHsweDAxODYsIDY0LCB7IDB4N2UsIDB4NzksIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NjgsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MjQsCi0gIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NDMsIDB4NDYsCi0gIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4ZTQsIDB4OTB9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDdlLCAweDEzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweDM1LCAweDkwLCAweDdlLCAweDAyLCAweGUwLAotICAweGZmLCAweDEyLCAweDEwLCAweDViLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDAzLAotICAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGIxLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA2LCAweDkwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwKLSAgMHg3ZSwgMHgxMywgMHhmMCwgMHg3NSwgMHgyNSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwKLSAgMHhmNSwgMHg0NCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgwNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MiwgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0Mn19LAotIHsweDAyNDYsIDY0LCB7IDB4N2YsIDB4NTMsIDB4NDIsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDIsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTAsIDB4YTcsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4Y2QsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsCi0gIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDIsIDB4N2YsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsIDB4N2UsIDB4MGMsCi0gIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmR9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLAotICAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZlLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDNhLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweGEzLCAweGUwLCAweGY1LCAweDNjLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDEwfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NCwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwKLSAgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgxMiwgMHhkZiwKLSAgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZSwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMn19LAotIHsweDAzMDYsIDY0LCB7IDB4MTEsIDB4YjEsIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsCi0gIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NzUsIDB4MjksIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTgsCi0gIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLAotICAweDUzLCAweDNlLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDc1LCAweDJiLCAweDAxLCAweGQyLCAweDA3LCAweDkwLAotICAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweGU0LAotICAweGY1LCAweDJiLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyfX0sCi0gezB4MDM4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYiwKLSAgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyYywgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwKLSAgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwKLSAgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOH19LAotIHsweDAzYzYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4MjAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsCi0gIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4ZDIsIDB4MTMsIDB4MTIsIDB4MTIsIDB4ZGYsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsCi0gIDB4MTksIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmEsIDB4ZDIsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4NTQsIDB4ODAsCi0gIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjYsIDB4ZDIsIDB4MDcsIDB4MzAsIDB4MGQsIDB4MTEsIDB4MTJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDEzLCAweDMzLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI1LCAweGQyLCAweDA3LCAweDIwLAotICAweDFiLCAweDAzLCAweDAyLCAweDA3LCAweGVjLCAweDMwLCAweDBhLCAweDE4LCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzLCAweDk1LCAweDNkLCAweDQwLAotICAweDAzLCAweDAyLCAweDA0LCAweGFlLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDgwLCAweDc3LAotICAweDMwLCAweDA0LCAweDNiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHgxNCwgMHhmNSwKLSAgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwKLSAgMHgwZCwgMHg0MSwgMHgxMiwgMHgwZCwgMHgwNCwgMHhjMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwKLSAgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMiwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MH19LAotIHsweDA0ODYsIDY0LCB7IDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsCi0gIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2MsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGQsIDB4MDQsCi0gIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsCi0gIDB4MzYsIDB4MTIsIDB4MTIsIDB4MjAsIDB4OGYsIDB4MTksIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDNiLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDU3LCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM3LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBjLAotICAweDVlLCAweGMyLCAweDBjLCAweGU1LCAweDE5LCAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweDMwLAotICAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLAotICAweDdkLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM3LCAweDEyLCAweDBmLCAweDg0LCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwKLSAgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHhlNSwgMHgzNywgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MSwgMHg3NSwKLSAgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwgMHgwZCwgMHgyOSwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhkMCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgwNywgMHg5NywgMHhjMiwgMHgwNiwgMHhlNH19LAotIHsweDA1NDYsIDY0LCB7IDB4ZjUsIDB4MTgsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsCi0gIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MjAsIDB4MjQsIDB4MjAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MjAsIDB4ZTAsIDB4NjAsIDB4NjgsCi0gIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MjQsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDN9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGZiLCAweDQzLCAweDQ3LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGU1LCAweDQ3LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDIxLCAweGUwLCAweGZmLCAweDEyLAotICAweDExLCAweDE5LCAweDkwLCAweDdlLCAweDIyLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDNmLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDMxLCAweGUwLAotICAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGZiLCAweDQzLCAweDQ3LCAweDgwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwKLSAgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwKLSAgMHgzMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg3NSwgMHgyZSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHg0NSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDA2MDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDUsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDMsCi0gIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDMsIDB4N2YsIDB4NTMsIDB4NDMsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDMsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NjUsIDB4OTAsIDB4N2UsIDB4MmIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4OGIsCi0gIDB4YWYsIDB4NDMsIDB4MTIsIDB4MTAsIDB4ZjMsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDMsIDB4N2YsIDB4YWZ9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDEyLCAweDEwLCAweGYzLCAweDkwLCAweDdlLCAweDJjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAyLAotICAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LAotICAweGYwLCAweDkwLCAweDdlLCAweDJlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAxLCAweDgwLCAweDAzLAotICAweDUzLCAweDQ3LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgzMiwgMHhlMCwgMHhmNSwgMHgzYiwgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzZCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZSwgMHgzNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NSwgMHhiZiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2YsIDB4ZmQsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsCi0gIDB4MzcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NzUsIDB4MzIsCi0gIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4MzgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGU1LCAweDQxLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDM5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQ1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdlLCAweDNhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDNmLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLAotICAweDc1LCAweDM0LCAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAxLCAweGU0fX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmNSwgMHgzNCwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYywgMHhlMCwgMHg2MCwgMHgwZSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHhlNSwgMHg0MSwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgzZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZSwgMHgzZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgzNSwgMHgwMSwgMHhlNCwKLSAgMHhmNSwgMHgzOSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxM319LAotIHsweDA3ODYsIDY0LCB7IDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsCi0gIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzksIDB4MzAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsCi0gIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4YzIsIDB4MTMsIDB4MTIsCi0gIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MzMsIDB4ZDJ9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDA4LCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweDU0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDJmLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJmLCAweGQyLAotICAweDA4LCAweDMwLCAweDBlLCAweDExLCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDJlLCAweDYwLCAweDA1LAotICAweDg1LCAweDE5LCAweDJlLCAweGQyLCAweDA4LCAweDMwLCAweDFhLCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLAotICAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDE1LCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDE2LCAweDkwfX0sCi0gezB4MDgwNiwgNjQsIHsgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwOSwgMHgyMCwgMHhlNSwgMHgwYSwgMHg3MCwgMHg0MCwKLSAgMHgzMCwgMHgwNywgMHgzOSwgMHhlNSwgMHgzOCwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwNywgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA4NDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzgsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MmMsIDB4NzUsIDB4MGEsIDB4MDEsIDB4MjIsCi0gIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDgsIDB4MzksIDB4ZTUsIDB4MzksIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDgsIDB4ZjUsCi0gIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTJ9fSwKLSB7MHgwODg2LCA2NCwgeyAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LAotICAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM5LCAweDEwLCAweGU0LAotICAweGY1LCAweDM1LCAweDc1LCAweDBhLCAweDAyLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAyLCAweDcwLCAweDM2LCAweDMwLCAweDE0LCAweDJmLCAweGMyLAotICAweDE0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDBlLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHhmYSwgMHgxMiwgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwKLSAgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgwYSwKLSAgMHgwMywgMHgyMiwgMHhlNSwgMHgxNSwgMHg2MCwgMHgzMCwgMHgxNSwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgxNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA5MDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGUsCi0gIDB4ZTQsIDB4MGEsIDB4MDgsIDB4MDAsIDB4MGEsIDB4N2MsIDB4MDEsIDB4MGEsIDB4ZTgsIDB4MDMsIDB4MDksIDB4NDQsIDB4MDYsIDB4MDksIDB4ZmIsIDB4MDgsCi0gIDB4MDksIDB4ZjUsIDB4MDksIDB4MDksIDB4ZGQsIDB4MGEsIDB4MDksIDB4ZWMsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsIDB4MzcsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDE0LCAweDYwLCAweDYxLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA5LCAweGQzLCAweDc0LAotICAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LAotICAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDdiLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDc0LCAweDc1LCAweDgzLCAweDE5fX0sCi0gezB4MDk4NiwgNjQsIHsgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwKLSAgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwZiwKLSAgMHgwYSwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMH19LAotIHsweDA5YzYsIDY0LCB7IDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MDksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MDksIDB4MDIsIDB4MGIsIDB4M2UsIDB4MTIsIDB4MGIsCi0gIDB4NDYsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLAotICAweGEyLCAweDEwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE2LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLAotICAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweGU0LCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMn19LAotIHsweDBhODYsIDY0LCB7IDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MGIsIDB4M2UsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsCi0gIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsCi0gIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLAotICAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLAotICAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDEwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwKLSAgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwKLSAgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0gIDB4MjQsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmF9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGU0LCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNhLCAweDAxLCAweGU0LCAweGY1LCAweDM4LAotICAweGY1LCAweDEzLCAweGY1LCAweDM2LCAweGMyLCAweDA3LCAweGMyLCAweDBiLCAweGMyLCAweDA1LCAweGMyLCAweDAwLCAweGMyLCAweDA5LCAweGMyLCAweDEzLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDQ0LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLAotICAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDEwLCAweDhmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLCAweDdmfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MCwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHg0NiwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwKLSAgMHgxMiwgMHgxMSwgMHhiMSwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMX19LAotIHsweDBjMDYsIDY0LCB7IDB4YjEsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NmEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YjEsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsCi0gIDB4MGMsIDB4YjcsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsCi0gIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2IsCi0gIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzcsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDYsIDB4YzJ9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDAwLCAweGMyLCAweDBhLCAweGMyLCAweDEzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDc1LCAweDQ1LCAweDAzLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDEwLCAweDhmLCAweDQzLCAweDEyLCAweDEwLAotICAweGYzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQxLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQ3LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0fX0sCi0gezB4MGM4NiwgNjQsIHsgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZiwgMHgxMiwKLSAgMHgxMSwgMHhmYiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwKLSAgMHg3ZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg4YiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHhkMiwgMHgxMiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4Mn19LAotIHsweDBjYzYsIDY0LCB7IDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsCi0gIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsCi0gIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsCi0gIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LAotICAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLAotICAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLAotICAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwKLSAgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywKLSAgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhkMiwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMH19LAotIHsweDBkODYsIDY0LCB7IDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsCi0gIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsCi0gIDB4MWEsIDB4MTIsIDB4MTIsIDB4NDUsIDB4YzIsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MGIsIDB4ZjUsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTJ9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDkwLCAweDdmLCAweGExLCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDE3LCAweDYwLCAweDEwLCAweDMwLCAweDEyLCAweDA1LCAweGQyLAotICAweDFhLCAweDEyLCAweDAwLCAweDQ2LCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDE3LCAweDgwLCAweDA4LCAweDMwLCAweDEyLCAweDA1LCAweGMyLAotICAweDFhLCAweDEyLCAweDAwLCAweDQ2LCAweDMwLCAweDExLCAweDA3LCAweGMyLCAweDExLCAweDEyLCAweDA5LCAweDIxLCAweDgwLCAweGQ2LCAweDMwLCAweDE4LAotICAweGQzLCAweGMyLCAweDE4LCAweDEyLCAweDEzLCAweDkzLCAweDgwLCAweGNjLCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkfX0sCi0gezB4MGUwNiwgNjQsIHsgMHg3NSwgMHg4MSwgMHg0NywgMHgwMiwgMHgwZSwgMHg0NywgMHgwMiwgMHgwZCwgMHg2ZiwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwKLSAgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywKLSAgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwKLSAgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MH19LAotIHsweDBlNDYsIDY0LCB7IDB4ODAsIDB4OTAsIDB4MTIsIDB4YWMsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksCi0gIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsCi0gIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsCi0gIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLAotICAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLAotICAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LAotICAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1fX0sCi0gezB4MGVjNiwgNjQsIHsgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwKLSAgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwKLSAgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhM319LAotIHsweDBmMDYsIDY0LCB7IDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4OGYsIDB4MTgsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4NzUsIDB4MWEsIDB4ZmYsIDB4NzUsIDB4MWIsIDB4MTksIDB4NzUsIDB4MWMsCi0gIDB4ODYsIDB4YWIsIDB4MWEsIDB4YWEsIDB4MWIsIDB4YTksIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGUsIDB4YTUsIDB4YjQsIDB4MDMsIDB4MWQsCi0gIDB4YWYsIDB4MTksIDB4MDUsIDB4MTksIDB4ZWYsIDB4YjUsIDB4MTgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGUsIDB4OGMsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsCi0gIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWEsIDB4ZmYsIDB4ZjUsIDB4MWIsIDB4ODksIDB4MWMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLAotICAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLAotICAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LAotICAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM2LCAweDgwLCAweGNhLCAweDIyLCAweDhmLCAweDFhfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwKLSAgMHhmMCwgMHgxMiwgMHgxMywgMHgzZiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwKLSAgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYSwKLSAgMHhlZiwgMHg0MiwgMHgzNywgMHg4MCwgMHhjYSwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMH19LAotIHsweDBmYzYsIDY0LCB7IDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsCi0gIDB4MTEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDB9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLAotICAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LAotICAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwfX0sCi0gezB4MTA0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywKLSAgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxM319LAotIHsweDEwODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDR9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LAotICAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwfX0sCi0gezB4MTEwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwKLSAgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDExNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2Z9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLAotICAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLAotICAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwfX0sCi0gezB4MTFjNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwKLSAgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwKLSAgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYiwgMHg4MCwKLSAgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MH19LAotIHsweDEyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4NjMsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsCi0gIDB4NjMsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4NjMsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsCi0gIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4NjMsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFhLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLAotICAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDEyLCAweGM4LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LAotICAweDA0LCAweGYwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNlLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNlLCAweDQ0LCAweDgwfX0sCi0gezB4MTI4NiwgNjQsIHsgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZiwgMHg0NCwgMHg4MCwKLSAgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHgyMiwgMHgwNSwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgxNCwgMHgwMywgMHgwMCwKLSAgMHgwMCwgMHhjMSwgMHgxMSwgMHhjMSwgMHgxOCwgMHhjMSwgMHg5NSwgMHhjMSwgMHgxMCwgMHhjMSwgMHgxNiwgMHgwMSwgMHgwYSwgMHgwMCwgMHhjMX19LAotIHsweDEyYzYsIDY0LCB7IDB4MWIsIDB4MDAsIDB4OGUsIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTgsIDB4NGUsCi0gIDB4NjAsIDB4MDUsIDB4MTIsIDB4MGQsIDB4NGUsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4ZTcsIDB4MDAsIDB4MDIsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBmLCAweGJkLCAweDAwLCAweDAyLCAweDEwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZn19LAotIHsweDEzODYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MDAsIDB4MDMsIDB4MTIsCi0gIDB4MGQsIDB4NWYsIDB4MTIsIDB4MGIsIDB4NDYsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDEyLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgMjAsIHsgMHg3MiwgMHgwMCwgMHgxMCwgMHgwMywgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwKLSAgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwMjNjNTIuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDI4NSArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE5X2Z3LmgKLSAKLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTE5X2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLSovCi0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTlfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDI2LCAxMCwgeyAweDEyLCAweDBkLCAweGJmLCAweDEyLCAweDBmLCAweDQ3LCAweDEyLCAweDBkLCAweDZiLCAweDIyfX0sCi0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgxYX19LAotIHsweDAwMWEsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDAzLCAxNiwgeyAweDhlLCAweDEzLCAweDhmLCAweDE0LCAweGU1LCAweDE0LCAweDE1LCAweDE0LCAweGFlLCAweDEzLCAweDcwLCAweDAyLCAweDE1LCAweDEzLCAweDRlLCAweDYwfX0sCi0gezB4MDAxMywgIDcsIHsgMHgwNSwgMHgxMiwgMHgwZiwgMHgzNiwgMHg4MCwgMHhlZSwgMHgyMn19LAotIHsweDAwMjMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDA4fX0sCi0gezB4MDA1NiwgMTYsIHsgMHgzMCwgMHg5OSwgMHgwZSwgMHgzMCwgMHgwOCwgMHgwNywgMHhhMiwgMHgwYiwgMHg5MiwgMHg5YiwgMHg4NSwgMHgzNSwgMHg5OSwgMHhjMiwgMHg5OSwgMHhkMn19LAotIHsweDAwNjYsIDE2LCB7IDB4MGYsIDB4MjAsIDB4MGYsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MzEsIDB4YzIsIDB4MGYsIDB4MjAsIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NTYsIDB4MjB9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDA4LCAweDAzLCAweDAyLCAweDAxLCAweDI3LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDNlLCAweDIwLCAweDA5LCAweDM2LCAweDIwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwNiwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHgyOSwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZn19LAotIHsweDAwOTYsIDE2LCB7IDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MDBiNiwgMTYsIHsgMHhmNSwgMHgzNSwgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMn19LAotIHsweDAwYzYsIDE2LCB7IDB4MDIsIDB4MzAsIDB4MGEsIDB4MGMsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmZ9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDA4LCAweDAyLCAweDA0LCAweDJmLCAweDkwLCAweDdmLCAweGM5LCAweGUwfX0sCi0gezB4MDBlNiwgMTYsIHsgMHhmNSwgMHg1MCwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHgyMCwgMHgwOSwgMHgyZCwgMHgyMCwgMHgwNiwgMHgyYSwgMHg5MH19LAotIHsweDAwZjYsIDE2LCB7IDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4MjAsIDB4MzAsIDB4MGQsIDB4MTEsIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTB9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBmLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwYywgMHg2MX19LAotIHsweDAxMDYsIDY0LCB7IDB4MTMsIDB4OTIsIDB4MGIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MzcsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDIsIDB4OTAsCi0gIDB4N2QsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4MzUsIDB4MDIsIDB4MDQsIDB4MmYsIDB4NzUsIDB4MzcsIDB4MDEsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsCi0gIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDEsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsCi0gIDB4MDcsIDB4YzIsIDB4MTAsIDB4YzIsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4OTB9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDAxLCAweGM3LCAweDIwLCAweDA2LCAweDcyLCAweDIwLCAweDAwLAotICAweDZmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDY1LCAweDMwLCAweDBkLCAweDEwLCAweDkwLCAweDdlLAotICAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDM3LCAweDAzLCAweDgwLCAweDA5LCAweDkwLCAweDdlLAotICAweDQxLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDQwLCAweDE3LCAweDkwfX0sCi0gezB4MDE4NiwgNjQsIHsgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMiwgMHgyMCwgMHgwYSwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwKLSAgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwYiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHg0MCwKLSAgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwOCwgMHgwMiwgMHgwNH19LAotIHsweDAxYzYsIDY0LCB7IDB4MmYsIDB4NzUsIDB4MzcsIDB4MDEsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDIsIDB4NTEsIDB4MjAsIDB4MDYsCi0gIDB4NzksIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MGUsIDB4NmYsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsCi0gIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsCi0gIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGY1LCAweDk5LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAyLCAweDIwLAotICAweDBhLCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweGMyLCAweDBhLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLAotICAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0fX0sCi0gezB4MDI0NiwgNjQsIHsgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwOCwgMHgwMiwgMHgwNCwgMHgyZiwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwNCwgMHgyZiwgMHgyMCwKLSAgMHgwOCwgMHgwMywgMHgwMiwgMHgwMywgMHgwOCwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgzZSwgMHgyMCwgMHgwOSwgMHgzNiwgMHgyMCwKLSAgMHgwNiwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHgyOSwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwKLSAgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxM319LAotIHsweDAyODYsIDY0LCB7IDB4OTIsIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4MzUsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsCi0gIDB4MDIsIDB4MzAsIDB4MGEsIDB4MGMsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsCi0gIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MDgsIDB4MDIsIDB4MDQsIDB4MmYsIDB4OTAsIDB4N2YsIDB4Yzd9fSwKLSB7MHgwMmM2LCA2NCwgeyAweGUwLCAweGY1LCAweDUwLCAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDIwLCAweDA5LCAweDJkLCAweDIwLCAweDA2LCAweDJhLCAweDkwLAotICAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDIwLCAweDMwLCAweDBkLCAweDExLCAweDkwLCAweDdlLCAweDQxLCAweGUwLAotICAweDEzLCAweDkyLCAweDBiLCAweGEzLCAweGUwLCAweGY1LCAweDM1LCAweDc1LCAweDM3LCAweDAzLCAweDAyLCAweDA0LCAweDJmLCAweDc1LCAweDM3LCAweDAyLAotICAweDkwLCAweDdlLCAweDQxLCAweGUwLCAweGY1LCAweDM1LCAweDAyLCAweDA0LCAweDJmLCAweDc1LCAweDM3LCAweDAxLCAweGMyLCAweDA4LCAweDAyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgwNCwgMHgyZiwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwMywgMHhiMCwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgzMCwKLSAgMHhlMSwgMHgwNywgMHhjMiwgMHgxMCwgMHhjMiwgMHgwMywgMHgwMiwgMHgwNCwgMHgyZiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MCwgMHg5MCwKLSAgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwMywgMHhhOCwgMHgyMCwgMHgwNiwgMHg3MiwgMHgyMCwKLSAgMHgwMCwgMHg2ZiwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMywgMHgwMywgMHgyMCwgMHgwZSwgMHg2NSwgMHgzMCwgMHgwZCwgMHgxMH19LAotIHsweDAzNDYsIDY0LCB7IDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4MzcsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsCi0gIDB4N2QsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4YzMsIDB4OTUsIDB4NTAsIDB4NDAsIDB4MTcsIDB4OTAsCi0gIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4MjAsIDB4MGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmYsIDB4YzIsIDB4MGEsIDB4OTAsIDB4N2YsCi0gIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MmYsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzB9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBiLCAweGFmLCAweDM3LCAweDA1LCAweDM3LCAweDc0LAotICAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM1LCAweGQyLCAweDA4LCAweDAyLCAweDA0LAotICAweDJmLCAweDc1LCAweDM3LCAweDAxLCAweGMyLCAweDEwLCAweDAyLCAweDA0LCAweDJmLCAweDMwLCAweDA5LCAweDAzLCAweDAyLCAweDA0LCAweDJkLCAweDIwLAotICAweDA2LCAweDc0LCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDMwLCAweGUzLCAweDAzLCAweDIwLCAweDBlLCAweDZhLCAweDMwLCAweDBkLCAweDEyfX0sCi0gezB4MDNjNiwgNjQsIHsgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwKLSAgMHg5YiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHhmNSwgMHg5OSwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg0MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMiwKLSAgMHgzMCwgMHgwYSwgMHgzNSwgMHhjMiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHg4MCwgMHgyYywgMHgzMCwgMHgwZCwgMHgxMn19LAotIHsweDA0MDYsIDY0LCB7IDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsCi0gIDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZjUsIDB4MzUsIDB4ZDIsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MTAsIDB4ZDIsIDB4MTIsIDB4MjAsIDB4OTgsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NmQsCi0gIDB4YzIsIDB4OTgsIDB4MjAsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4ZGEsIDB4MjAsIDB4MTEsIDB4MjcsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzZ9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDBkLCAweDRkLCAweGFmLAotICAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDgwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLAotICAweDgwLCAweDNhLCAweDg1LCAweDk5LCAweDEwLCAweGU1LCAweDEwLCAweGI1LCAweDQ0LCAweDA0LCAweGQyLCAweDA2LCAweDgwLCAweDJlLCAweGU1LCAweDEwLAotICAweGI1LCAweDQzLCAweDA0LCAweGMyLCAweDA2LCAweDgwLCAweDI1LCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDgwLCAweDJmLCAweGY1fX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHgxMCwgMHhmMCwgMHgzMCwgMHgwZCwgMHgxMSwgMHhhZiwgMHgzNiwgMHgwNSwgMHgzNiwgMHg3NCwKLSAgMHg4MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgwYywgMHhlNSwgMHgzNiwKLSAgMHhjMywgMHg5NSwgMHg0MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxNiwgMHhlNSwKLSAgMHgzNiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg2YiwgMHgxNSwgMHgzNiwgMHgxNSwgMHgzNiwgMHgwNSwgMHgyYn19LAotIHsweDA0YzYsIDY0LCB7IDB4NDMsIDB4MzMsIDB4MDEsIDB4MDIsIDB4MDUsIDB4NmIsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4NzUsIDB4MzYsIDB4MDAsIDB4YzIsIDB4MDEsCi0gIDB4MDIsIDB4MDUsIDB4NmIsIDB4MjAsIDB4MTEsIDB4MjcsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MGQsIDB4NGQsIDB4YWYsIDB4MzYsIDB4MDUsIDB4MzYsIDB4NzQsIDB4MDAsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsIDB4OTl9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDEwLCAweGU1LCAweDEwLCAweGI1LCAweDQ0LCAweDA0LCAweGQyLCAweDA2LCAweDgwLCAweDJlLCAweGU1LCAweDEwLCAweGI1LCAweDQzLCAweDA0LCAweGMyLCAweDA2LAotICAweDgwLCAweDI1LCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLAotICAweGU1LCAweDEwLCAweGYwLCAweDMwLCAweDBkLCAweDExLCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweDc0LCAweDAwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBjLCAweGU1LCAweDM2LCAweGMzLCAweDk1LCAweDQwLCAweDQwfX0sCi0gezB4MDU0NiwgNjQsIHsgMHgyNCwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMiwgMHhlNSwgMHgzNiwgMHhjMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgxNiwgMHgxNSwgMHgzNiwKLSAgMHgxNSwgMHgzNiwgMHgwNSwgMHgyYiwgMHg0MywgMHgzMywgMHgwMSwgMHg4MCwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzNiwgMHhmMCwgMHg3NSwKLSAgMHgzNiwgMHgwMCwgMHhkMiwgMHgwMSwgMHhkMiwgMHgxMiwgMHgzMCwgMHgxMiwgMHgwNSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwMCwgMHg1NiwgMHhkMCwgMHhkMCwKLSAgMHhkMCwgMHg4NiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgzMCwgMHhlMX19LAotIHsweDA1ODYsIDY0LCB7IDB4MDMsIDB4MDIsIDB4MDYsIDB4YWIsIDB4ZTQsIDB4ZjUsIDB4MTMsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTMsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4MzgsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4MDAsIDB4ZmEsCi0gIDB4ZWYsIDB4MTIsIDB4MGQsIDB4MzMsIDB4MDUsIDB4MTMsIDB4ZTUsIDB4MTMsIDB4YjQsIDB4MTgsIDB4ZGIsIDB4ZTUsIDB4MzgsIDB4NjAsIDB4MGMsIDB4NzUsCi0gIDB4YzksIDB4MjAsIDB4NzUsIDB4YzgsIDB4MzQsIDB4ODUsIDB4MzksIDB4Y2EsIDB4ODUsIDB4M2EsIDB4Y2IsIDB4ZTUsIDB4M2IsIDB4MTMsIDB4OTJ9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDBkLCAweDkyLCAweDlmLCAweGU1LCAweDNjLCAweDEzLCAweDkyLCAweDBlLCAweGU1LCAweDNkLCAweDEzLCAweDkyLCAweDExLCAweGU1LCAweDNlLCAweDYwLCAweDA5LAotICAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDA0LCAweGYwLAotICAweGU1LCAweDNmLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk4LAotICAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDQ1LCAweDYwLCAweDBiLCAweGMyLCAweDA5LCAweGMyLCAweDA2LCAweDkwLCAweDdmLCAweDk1fX0sCi0gezB4MDYwNiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0NiwgMHg2MCwgMHgwYywgMHhkMiwgMHgwNiwgMHg0MywgMHgzMywgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwKLSAgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0NywgMHg2MCwgMHgwZCwgMHhjMiwgMHhhZiwgMHhjMiwgMHgwOCwgMHhkMiwgMHgwMCwgMHhlNCwgMHhmNSwgMHg1MCwKLSAgMHhmNSwgMHgzNywgMHhkMiwgMHhhZiwgMHhlNSwgMHg0OCwgMHg2MCwgMHgwNSwgMHgzMCwgMHgxMSwgMHgwMiwgMHhkMiwgMHgwNiwgMHhlNSwgMHg0OSwgMHg2MCwKLSAgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH19LAotIHsweDA2NDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NGEsIDB4NjAsIDB4MGEsIDB4ZDIsIDB4OWMsIDB4YzIsIDB4OTgsIDB4NzUsIDB4MmMsCi0gIDB4MDEsIDB4NzUsIDB4MzEsIDB4MWUsIDB4ZTUsIDB4NGIsIDB4NjAsIDB4MDcsIDB4YzIsIDB4OWMsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MmMsIDB4ZTUsCi0gIDB4NGMsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZTUsIDB4NGQsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MDQsIDB4ZTUsIDB4NGUsIDB4NjAsIDB4MGEsCi0gIDB4ZTUsIDB4NGEsIDB4NzAsIDB4MDIsIDB4ZjUsIDB4MzEsIDB4ZTUsIDB4NGUsIDB4NDIsIDB4MzMsIDB4ZTUsIDB4NGYsIDB4NjAsIDB4MWYsIDB4OTB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDEyLCAweGYwLCAweDc0LCAweDMyLCAweGYwLCAweDc0LCAweDEzLCAweGYwLAotICAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE0LCAweGYwLCAweDc0LCAweDM0LCAweGYwLCAweGQyLCAweDAyLCAweGQyLCAweDAxLCAweGQyLCAweDA1LCAweGU0LAotICAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGEyLCAweDA5LCAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDI5LCAweDYwLCAweDA1LCAweDhmLCAweDI5LCAweDQzLAotICAweDMzLCAweDAxLCAweGEyLCAweDA2LCAweGU0LCAweDMzLCAweGZmLCAweDY1LCAweDJhLCAweDYwLCAweDA1LCAweDhmLCAweDJhLCAweDQzLCAweDMzfX0sCi0gezB4MDZjNiwgNjQsIHsgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHgwOCwgMHhiNSwgMHgyNSwgMHgwYSwgMHhlMCwgMHg1NCwgMHgwOCwgMHg2NCwgMHgwOCwgMHhmNSwgMHgyNSwKLSAgMHg0MywgMHgzMywgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHgxMCwgMHhiNSwgMHgyNiwgMHgwYSwgMHhlMCwgMHg1NCwgMHgxMCwgMHg2NCwKLSAgMHgxMCwgMHhmNSwgMHgyNiwgMHg0MywgMHgzMywgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHg0MCwgMHhiNSwgMHgyNywgMHgwYSwgMHhlMCwKLSAgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmNSwgMHgyNywgMHg0MywgMHgzMywgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NCwgMHgyMH19LAotIHsweDA3MDYsIDY0LCB7IDB4YjUsIDB4MjgsIDB4MGEsIDB4ZTAsIDB4NTQsIDB4MjAsIDB4NjQsIDB4MjAsIDB4ZjUsIDB4MjgsIDB4NDMsIDB4MzMsIDB4MDEsIDB4MzAsIDB4MDQsIDB4MzUsIDB4YzIsCi0gIDB4YWYsIDB4MzAsIDB4MDEsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4ZTUsIDB4MzYsIDB4NjAsIDB4MDksIDB4OTAsCi0gIDB4N2YsIDB4YjcsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDEsIDB4YzIsIDB4MDQsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsCi0gIDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4MzYsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZDJ9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDAxLCAweGMyLCAweDA0LCAweGQyLCAweGFmLCAweDIwLCAweDAzLCAweDM3LCAweDMwLCAweDAyLCAweDFiLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLAotICAweDJkLCAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDc1LCAweDM3LCAweDAxLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LAotICAweDUwLCAweGQyLCAweDAzLCAweDgwLCAweDE5LCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDEyLCAweDkwLCAweDdkLCAweGMwLCAweGUwLAotICAweDEzLCAweDkyLCAweDBhLCAweDc1LCAweDM3LCAweDAxLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUwLCAweGQyLCAweDAzLCAweDIwfX0sCi0gezB4MDc4NiwgNjQsIHsgMHgxMCwgMHgzMywgMHgyMCwgMHgwMCwgMHgwNiwgMHhlNSwgMHgzNywgMHg2NSwgMHg1MCwgMHg3MCwgMHgyYSwgMHgzMCwgMHgwMywgMHgxYSwgMHgzMCwgMHgwMiwgMHgwOSwKLSAgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMiwgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMiwKLSAgMHhjMiwgMHgwMywgMHhlNCwgMHhmNSwgMHg1MCwgMHhmNSwgMHgzNywgMHgzMCwgMHgwYSwgMHgwYSwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwKLSAgMHhiYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHgzMCwgMHgxMCwgMHgwMywgMHgwMiwgMHgwOCwgMHhjNSwgMHgyMCwgMHgwMywgMHgwMywgMHgwMiwgMHgwOH19LAotIHsweDA3YzYsIDY0LCB7IDB4YzUsIDB4MzAsIDB4MGUsIDB4MGEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4MDIsIDB4MDgsIDB4YzUsIDB4MzAsIDB4MDYsIDB4MDMsCi0gIDB4MDIsIDB4MDgsIDB4YzUsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDgsIDB4YzUsIDB4MzAsIDB4MDIsIDB4NjIsIDB4MzAsIDB4MGQsIDB4MTIsIDB4YWYsCi0gIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsCi0gIDB4MTksIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwODA2LCA2NCwgeyAweGUwLCAweGY1LCAweDE0LCAweGU1LCAweDM3LCAweGMzLCAweDk1LCAweDUwLCAweDUwLCAweDJhLCAweDMwLCAweDBkLCAweDEyLCAweGFmLCAweDM3LCAweDA1LCAweDM3LAotICAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBiLCAweGFmLCAweDM3LAotICAweDA1LCAweDM3LCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM1LCAweGQyLAotICAweDA4LCAweDgwLCAweDZiLCAweGMyLCAweDA4LCAweGU0LCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweGMyLCAweDAyLCAweDgwLCAweDYwLCAweDMwfX0sCi0gezB4MDg0NiwgNjQsIHsgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHgxMywgMHg5MiwgMHgxOSwgMHhhZiwgMHgzNywgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHhmNSwgMHgxNCwgMHhlNSwgMHgzNywgMHhjMywgMHg5NSwgMHg1MCwgMHg1MCwgMHgyYSwgMHgzMCwgMHgwZCwgMHgxMiwgMHhhZiwgMHgzNywKLSAgMHgwNSwgMHgzNywgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5Mn19LAotIHsweDA4ODYsIDY0LCB7IDB4MGIsIDB4YWYsIDB4MzcsIDB4MDUsIDB4MzcsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsCi0gIDB4MzUsIDB4ZDIsIDB4MDgsIDB4ODAsIDB4MDksIDB4YzIsIDB4MDgsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDIsIDB4MzAsIDB4MGQsCi0gIDB4MDQsIDB4YTIsIDB4MTksIDB4OTIsIDB4OWIsIDB4ZDIsIDB4MTAsIDB4YzIsIDB4YWYsIDB4ODUsIDB4MTQsIDB4OTksIDB4MjAsIDB4MDgsIDB4MGQsIDB4MzAsCi0gIDB4MGEsIDB4MGEsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4OTB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDUxLCAweGU1LCAweDMzLCAweDYwLCAweDRkLCAweGU1LCAweDMxLCAweDcwLCAweDQ5LCAweGU1LCAweDMzLCAweDMwLAotICAweGUxLCAweDA4LCAweGU0LCAweGY1LCAweDJmLCAweDc1LCAweDMzLCAweDAxLCAweDgwLCAweDBiLCAweGEyLCAweDA1LCAweGU0LCAweDMzLCAweGY1LCAweDJmLAotICAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDMzLCAweGU0LCAweGY1LCAweDEzLCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDI0LCAweDI1LCAweDEzLAotICAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBjLCAweGVkLCAweGZmLCAweDc0LCAweDAwLCAweDI1LCAweDEzLCAweGY1LCAweDgyfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMywgMHhlNSwgMHgxMywgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhiZCwKLSAgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHgzMSwgMHgxMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZCwgMHg0NSwgMHgwYSwgMHgwMywKLSAgMHgwMCwgMHgwYSwgMHg3NywgMHgwMSwgMHgwYSwgMHhlMywgMHgwMywgMHgwOSwgMHg0MSwgMHgwNiwgMHgwOSwgMHhmNCwgMHgwOCwgMHgwOSwgMHhlOCwgMHgwOSwKLSAgMHgwOSwgMHhkMCwgMHgwYSwgMHgwOSwgMHhkZiwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNH19LAotIHsweDA5NDYsIDY0LCB7IDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NTcsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NzYsIDB4NzQsIDB4MGYsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsCi0gIDB4NjQsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsCi0gIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4YjUsIDB4NzUsIDB4ODMsIDB4MGYsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YWUsIDB4NzUsCi0gIDB4ODMsIDB4MGYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YTcsIDB4NzUsIDB4ODMsIDB4MGYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4YTAsIDB4NzUsIDB4ODN9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDBmLCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDdiLCAweDc1LCAweDgzLCAweDBmLCAweGYwLCAweDc0LCAweDBmLCAweDkwLAotICAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDc2LCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLAotICAweGZmLCAweDEyLCAweDBlLCAweDQ4LCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLAotICAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5fX0sCi0gezB4MDljNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgxOSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxOSwgMHgwMiwgMHgwYiwKLSAgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgxOCwgMHgxMiwgMHgwZCwgMHg2YiwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhlNSwgMHgxOCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlOH19LAotIHsweDBhMDYsIDY0LCB7IDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTIsIDB4MTMsIDB4ZTQsIDB4MzMsIDB4ZmYsCi0gIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTcsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MzksIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODB9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LAotICAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDM5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDM5LAotICAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDM5fX0sCi0gezB4MGE4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgxMywgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZn19LAotIHsweDBhYzYsIDY0LCB7IDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsCi0gIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsCi0gIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsCi0gIDB4MTMsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgwYjA2LCA2NCwgeyAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LAotICAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLAotICAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweDIwLCAweDE1LCAweDAzLCAweDAyLCAweDBifX0sCi0gezB4MGI0NiwgNjQsIHsgMHhkMywgMHhlNSwgMHgzMSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzMSwgMHhlNSwgMHgzNiwgMHg2MCwgMHg0ZiwgMHg2NSwgMHgzNCwgMHg3MCwgMHg0NSwgMHhlNSwgMHgzMiwKLSAgMHhmNCwgMHg2MCwgMHgwMiwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHhjMywgMHg5NSwgMHg0MSwgMHg0MCwgMHgzZCwgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMSwKLSAgMHgxOCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHgzNiwgMHhmMCwgMHhjMiwgMHgwMSwKLSAgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgzMiwgMHhmNSwgMHgzNCwgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMCwgMHhlMX19LAotIHsweDBiODYsIDY0LCB7IDB4MGYsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZTUsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzYsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzQsIDB4ZDIsCi0gIDB4YWYsIDB4ODAsIDB4MDYsIDB4ODUsIDB4MzYsIDB4MzQsIDB4ZTQsIDB4ZjUsIDB4MzIsIDB4ZTUsIDB4MmMsIDB4NjAsIDB4MmYsIDB4MjAsIDB4MGMsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MGYsIDB4ZTUsIDB4MmQsIDB4NjAsIDB4MDYsIDB4ZTQsIDB4ZjUsIDB4MmQsIDB4NDMsIDB4MzMsCi0gIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzAsIDB4ODAsIDB4MTQsIDB4ZTUsIDB4MzAsIDB4ZDMsIDB4OTUsIDB4NDIsIDB4NTAsIDB4MGQsIDB4ZTUsIDB4MzB9fSwKLSB7MHgwYmM2LCA2NCwgeyAweGI1LCAweDQyLCAweDA2LCAweDc1LCAweDJkLCAweDAxLCAweDQzLCAweDMzLCAweDAxLCAweDA1LCAweDMwLCAweGMyLCAweDBjLCAweDIyLCAweDc1LCAweDEyLCAweDAxLAotICAweGMyLCAweDE0LCAweGMyLCAweDE4LCAweGMyLCAweDEzLCAweGMyLCAweDE3LCAweGMyLCAweDE1LCAweGMyLCAweDEyLCAweGQyLCAweDE2LCAweGU0LCAweGY1LAotICAweDE4LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweGZmLCAweGQzLCAweDkyLCAweDEzLAotICAweGU0LCAweDMzLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGRlLCAweDc0fX0sCi0gezB4MGMwNiwgNjQsIHsgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwKLSAgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhiYywgMHhkMiwgMHgxOSwgMHgxMiwgMHgwZSwgMHhkYSwgMHhjMiwgMHgxNCwgMHgzMCwKLSAgMHgxNSwgMHgwMywgMHgxMiwgMHgwNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHg2NSwgMHgxMSwgMHg2MCwgMHgwOCwgMHhlMCwgMHhmNX19LAotIHsweDBjNDYsIDY0LCB7IDB4MTEsIDB4MTIsIDB4MGIsIDB4NDEsIDB4ODAsIDB4ZWEsIDB4MzAsIDB4MTQsIDB4MDcsIDB4YzIsIDB4MTQsIDB4MTIsIDB4MDksIDB4MWUsIDB4ODAsIDB4ZTAsIDB4MzAsCi0gIDB4MTgsIDB4ZGQsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MDAsIDB4MjYsIDB4ODAsIDB4ZDYsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsCi0gIDB4NzUsIDB4ODEsIDB4NTAsIDB4MDIsIDB4MGMsIDB4YTgsIDB4MDIsIDB4MGIsIDB4ZDQsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsCi0gIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4Zjh9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LAotICAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLAotICAweDgwLCAweDkwLCAweDBlLCAweDA0LCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LAotICAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwfX0sCi0gezB4MGNjNiwgNjQsIHsgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwKLSAgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwKLSAgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwKLSAgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMn19LAotIHsweDBkMDYsIDY0LCB7IDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsCi0gIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTYsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDYsIDB4ZTksIDB4MjUsIDB4ODIsIDB4ZjgsIDB4ZTIsIDB4MjIsIDB4ZTUsCi0gIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksCi0gIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDB9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDgzLCAweGQwLCAweDgyLCAweGY4LCAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LAotICAweDc0LCAweDAxLCAweDkzLCAweGY1LCAweDgyLCAweDg4LCAweDgzLCAweGU0LCAweDczLCAweDc0LCAweDAyLCAweDkzLCAweDY4LCAweDYwLCAweGVmLCAweGEzLAotICAweGEzLCAweGEzLCAweDgwLCAweGRmLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLAotICAweDdmLCAweDk2LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDA0fX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHg3NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwKLSAgMHg4NCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhjYiwgMHhmMCwgMHg3NSwgMHg5OCwgMHg0MCwgMHg0MywgMHhhOCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgxZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhkZiwgMHg3NCwgMHgwZiwgMHhmMCwgMHhkMiwgMHgxNSwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBkYzYsIDY0LCB7IDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsCi0gIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MjAsIDB4ZjAsCi0gIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4ZmQsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjIsIDB4MGMsIDB4MjR9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAxLCAweDMwLCAweDAwLCAweDAxLCAweDMzLAotICAweDAxLCAweDAxLCAweDMyLCAweDAwLCAweDAxLCAweDM3LCAweDAwLCAweDAxLCAweDUwLCAweDAwLCAweDAxLCAweDM2LCAweDAwLCAweDAxLCAweDM0LCAweDAwLAotICAweGMxLCAweDA1LCAweGMxLCAweDBjLCAweGMxLCAweDAzLCAweGMxLCAweDBmLCAweGMxLCAweDA0LCAweGMxLCAweDBlLCAweGMxLCAweDExLCAweGMxLCAweDBhLAotICAweGMxLCAweDEwLCAweGMxLCAweDA4LCAweGMxLCAweDA5LCAweGMxLCAweDA2LCAweGMxLCAweDAwLCAweGMxLCAweDBkLCAweGMxLCAweDgxLCAweGMxfX0sCi0gezB4MGU0NiwgNjQsIHsgMHg4MiwgMHgwMCwgMHg4ZiwgMHgxMywgMHhlNCwgMHhmNSwgMHgxNCwgMHg3NSwgMHgxNSwgMHhmZiwgMHg3NSwgMHgxNiwgMHgwZiwgMHg3NSwgMHgxNywgMHhiOSwgMHhhYiwKLSAgMHgxNSwgMHhhYSwgMHgxNiwgMHhhOSwgMHgxNywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZCwgMHgwNiwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgxNCwKLSAgMHgwNSwgMHgxNCwgMHhlZiwgMHhiNSwgMHgxMywgMHgwMSwgMHgyMiwgMHgxMiwgMHgwYywgMHhlZCwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwKLSAgMHhhOSwgMHgwNywgMHg3NSwgMHgxNSwgMHhmZiwgMHhmNSwgMHgxNiwgMHg4OSwgMHgxNywgMHg4MCwgMHhkNCwgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMH19LAotIHsweDBlODYsIDY0LCB7IDB4NzksIDB4MDAsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsCi0gIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsCi0gIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsCi0gIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTQsIDB4NTMsIDB4OTF9fSwKLSB7MHgwZWM2LCA2NCwgeyAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLAotICAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDE5LAotICAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDAwLCAweDAzLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLAotICAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyLCAweDAwLCAweDAyLCAweDBlLCAweGIzLCAweDAwLCAweDAyLCAweDBmfX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4OSwgMHgwMCwgMHgwMiwgMHgwZiwgMHgwZiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwKLSAgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwKLSAgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg3NCwKLSAgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOX19LAotIHsweDBmNDYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsCi0gIDB4MDEsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MDcsIDB4MDEsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksCi0gIDB4MDIsIDB4NDMsIDB4MDAsIDB4MDEsIDB4MDEsIDB4MDAsIDB4ODAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDcsIDB4ZmYsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LAotICAweDA1LCAweDAzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLAotICAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLAotICAweDAwLCAweDAxLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDEwLCAweDAzLCAweDRiLCAweDAwLCAweDY1LCAweDAwLCAweDc5LCAweDAwLCAweDczfX0sCi0gezB4MGZjNiwgMjMsIHsgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgwZSwgMHgwMywgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwKLSAgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsCTAsCXsweDAwfSB9Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxaV9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTlxaV9mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTI2NDcyLi4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cWlfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDI4NCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTE5cWlfZncuaAotIAotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwbl91c2ExOXFpX2Z3LmggaXMKLQotCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQotCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCi0JCQotCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgotCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcwotCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlIAotCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgCi0JS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0KLQlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUgCi0JaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsIAotCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuIAotCi0JVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGggIAotCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUgCi0Ja2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiAKLQlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKLQotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTlxaV9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MWF9fSwKLSB7MHgwMDFhLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDAwMywgMTYsIHsgMHg4ZSwgMHgxMSwgMHg4ZiwgMHgxMiwgMHhlNSwgMHgxMiwgMHgxNSwgMHgxMiwgMHhhZSwgMHgxMSwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxMSwgMHg0ZSwgMHg2MH19LAotIHsweDAwMTMsICA3LCB7IDB4MDUsIDB4MTIsIDB4MGYsIDB4ODQsIDB4ODAsIDB4ZWUsIDB4MjJ9fSwKLSB7MHgwMDIzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDA0NiwgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOH19LAotIHsweDAwNTYsIDE2LCB7IDB4MzAsIDB4OTksIDB4MGUsIDB4MzAsIDB4MGIsIDB4MDcsIDB4YTIsIDB4MGUsIDB4OTIsIDB4OWIsIDB4ODUsIDB4MzYsIDB4OTksIDB4YzIsIDB4OTksIDB4ZDJ9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDEyLCAweDIwLCAweDEyLCAweDAzLCAweDAyLCAweDA0LCAweDFlLCAweGMyLCAweDEyLCAweDIwLCAweDAzLCAweDAzLCAweDAyLCAweDAyLCAweDRlLCAweDIwfX0sCi0gezB4MDA3NiwgMTYsIHsgMHgwYiwgMHgwMywgMHgwMiwgMHgwMSwgMHgyNiwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgzYywgMHgyMCwgMHgwYywgMHgzNCwgMHgyMH19LAotIHsweDAwODYsIDE2LCB7IDB4MDksIDB4MzEsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MjksIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDV9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmfX0sCi0gezB4MDBhNiwgMTYsIHsgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNn19LAotIHsweDAwYjYsIDE2LCB7IDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4MzB9fSwKLSB7MHgwMGM2LCAxNiwgeyAweDBkLCAweDBjLCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweGMyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDkwLCAweDdmfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjOCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1M319LAotIHsweDAwZTYsIDE2LCB7IDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4MjAsIDB4MGMsIDB4MmIsIDB4MjAsIDB4MDksIDB4Mjh9fSwKLSB7MHgwMGY2LCAxNiwgeyAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDIwLCAweDMwLCAweDEwLCAweDExLCAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweDEzfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgwZSwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MDAsIDB4MjZ9fSwKLSB7MHgwMDI2LCAxMiwgeyAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDU0LCAweDAyLCAweDBiLCAweDI4fX0sCi0gezB4MDEwNiwgNjQsIHsgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzNiwgMHg3NSwgMHgzYSwgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMiwgMHg5MCwgMHg3ZCwKLSAgMHhjMSwgMHhlMCwgMHhmNSwgMHgzNiwgMHgwMiwgMHgwNCwgMHgxYywgMHg3NSwgMHgzYSwgMHgwMSwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHhlNSwKLSAgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgwMywgMHgwMiwgMHgwMSwgMHhjOSwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNywKLSAgMHhjMiwgMHgxNCwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MywgMHg5MCwgMHg3ZX19LAotIHsweDAxNDYsIDY0LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4NzUsIDB4MTYsIDB4ZmYsIDB4MjAsIDB4MGMsIDB4NzAsIDB4MjAsIDB4MDksIDB4NmQsIDB4OTAsIDB4N2YsIDB4OWIsCi0gIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4NjUsIDB4MzAsIDB4MTAsIDB4MTAsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsCi0gIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4M2EsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4M2EsCi0gIDB4MDIsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDN9fSwKLSB7MHgwMTg2LCA2NCwgeyAweDIwLCAweDBkLCAweDAzLCAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDFjLCAweDMwLAotICAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLAotICAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDM2LCAweGQyLCAweDBiLCAweDAyLCAweDA0LCAweDFjLCAweDc1LCAweDNhLCAweDAxLCAweGMyLCAweDE0fX0sCi0gezB4MDFjNiwgNjQsIHsgMHgwMiwgMHgwNCwgMHgxYywgMHgzMCwgMHgwYywgMHgwMywgMHgwMiwgMHgwMiwgMHg0OSwgMHgyMCwgMHgwOSwgMHg3NywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHg1NSwKLSAgMHgzOCwgMHg3MCwgMHg2ZiwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHg5YiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg5OSwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MH19LAotIHsweDAyMDYsIDY0LCB7IDB4MTcsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTQsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4MjAsIDB4MGQsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4YzIsIDB4MGQsIDB4OTAsCi0gIDB4N2YsIDB4YmIsIDB4MDQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsCi0gIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsCi0gIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGJ9fSwKLSB7MHgwMjQ2LCA2NCwgeyAweDAyLCAweDA0LCAweDFjLCAweGMyLCAweDE0LCAweDAyLCAweDA0LCAweDFjLCAweDIwLCAweDBiLCAweDAzLCAweDAyLCAweDAyLCAweGZmLCAweGU1LCAweDNhLCAweGMzLAotICAweDk1LCAweDUzLCAweDUwLCAweDNjLCAweDIwLCAweDBjLCAweDM0LCAweDIwLCAweDA5LCAweDMxLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LAotICAweDcwLCAweDI5LCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1fX0sCi0gezB4MDI4NiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywKLSAgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMywgMHgzMCwgMHgwZCwgMHgwYywgMHhjMiwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwKLSAgMHhmMCwgMHhjMiwgMHgwYiwgMHgwMiwgMHgwNCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNSwgMHhjMiwgMHgwYiwgMHgwMiwKLSAgMHgwNCwgMHgxYywgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg1MywgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZH19LAotIHsweDAyYzYsIDY0LCB7IDB4NzUsIDB4MTYsIDB4ZmYsIDB4MjAsIDB4MGMsIDB4MmIsIDB4MjAsIDB4MDksIDB4MjgsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4MjAsCi0gIDB4MzAsIDB4MTAsIDB4MTEsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NzUsIDB4M2EsCi0gIDB4MDMsIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDIsIDB4OTAsIDB4N2UsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4MDIsIDB4MDQsIDB4MWMsCi0gIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MGIsIDB4MDIsIDB4MDQsIDB4MWMsIDB4ZTUsIDB4M2EsIDB4YzMsIDB4OTUsIDB4NTMsIDB4NTAsIDB4MDN9fSwKLSB7MHgwMzA2LCA2NCwgeyAweDAyLCAweDAzLCAweGEyLCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDE0LCAweGMyLCAweDA1LCAweDAyLCAweDA0LCAweDFjLAotICAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweGY1LCAweDUzLCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDE2LCAweGZmLAotICAweDIwLCAweDBjLCAweDcwLCAweDIwLCAweDA5LCAweDZkLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU1LCAweDM4LCAweDcwLCAweDY1LCAweDMwLCAweDEwLAotICAweDEwLCAweDkwLCAweDdkLCAweGMxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDNhLCAweDAzfX0sCi0gezB4MDM0NiwgNjQsIHsgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZCwgMHhjMSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHgzYSwgMHgwMiwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg0MCwKLSAgMHgxNywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMCwgMHhkMiwgMHgwMywgMHgyMCwgMHgwZCwgMHgwMywgMHgwMiwgMHgwNCwgMHgxYywgMHhjMiwgMHgwZCwKLSAgMHg5MCwgMHg3ZiwgMHhiYiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHgxYywgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwKLSAgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhZiwgMHgzYX19LAotIHsweDAzODYsIDY0LCB7IDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4ZDIsIDB4MGIsCi0gIDB4MDIsIDB4MDQsIDB4MWMsIDB4NzUsIDB4M2EsIDB4MDEsIDB4YzIsIDB4MTQsIDB4MDIsIDB4MDQsIDB4MWMsIDB4MjAsIDB4MGMsIDB4NzUsIDB4MjAsIDB4MDksCi0gIDB4NzIsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NzAsIDB4NmEsIDB4MzAsIDB4MTAsIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsCi0gIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YWZ9fSwKLSB7MHgwM2M2LCA2NCwgeyAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDk5LCAweGU1LAotICAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDQwLCAweDEzLCAweDkwLCAweDdmLCAweGM5LCAweGU0LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDBkLCAweDM1LAotICAweGMyLCAweDBkLCAweDkwLCAweDdmLCAweGJiLCAweDA0LCAweGYwLCAweDgwLCAweDJjLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LCAweDNhLAotICAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmfX0sCi0gezB4MDQwNiwgNjQsIHsgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgzNiwgMHhkMiwKLSAgMHgwYiwgMHg4MCwgMHgwMiwgMHhjMiwgMHgxNCwgMHhkMiwgMHgwMSwgMHgyMCwgMHg5OCwgMHgwMywgMHgwMiwgMHgwNSwgMHg1YSwgMHhjMiwgMHg5OCwgMHgyMCwKLSAgMHgwMiwgMHgwMywgMHgwMiwgMHgwNCwgMHhjNywgMHgyMCwgMHgxNiwgMHgyNywgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHg4MCwgMHgyZiwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxMCwgMHg0ZCwgMHhhZiwgMHgzOSwgMHgwNX19LAotIHsweDA0NDYsIDY0LCB7IDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ODAsIDB4M2EsIDB4ODUsCi0gIDB4OTksIDB4MTAsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDcsIDB4MDQsIDB4ZDIsIDB4MDksIDB4ODAsIDB4MmUsIDB4ZTUsIDB4MTAsIDB4YjUsIDB4NDYsIDB4MDQsCi0gIDB4YzIsIDB4MDksIDB4ODAsIDB4MjUsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsCi0gIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MTAsIDB4ZjAsIDB4MzAsIDB4MTAsIDB4MTEsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4ODAsIDB4MmZ9fSwKLSB7MHgwNDg2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweGQyLCAweDBmLCAweGU1LCAweDM5LCAweGMzLCAweDk1LCAweDQzLAotICAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweDU4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDMwLCAweGUxLCAweDE2LCAweGU1LCAweDM5LCAweGMzLCAweDk0LAotICAweDQwLCAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweDU4LCAweDE1LCAweDM5LCAweDE1LCAweDM5LCAweDA1LCAweDJiLCAweDQzLCAweDM0LCAweDAxLCAweDAyLAotICAweDA1LCAweDU4LCAweDkwLCAweDdmLCAweGI3LCAweGU1LCAweDM5LCAweGYwLCAweDc1LCAweDM5LCAweDAwLCAweGMyLCAweDAyLCAweDAyLCAweDA1fX0sCi0gezB4MDRjNiwgNjQsIHsgMHg1OCwgMHgyMCwgMHgxNiwgMHgyNywgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwKLSAgMHg4MywgMHhlNSwgMHg5OSwgMHhmMCwgMHgzMCwgMHgxMCwgMHg0ZCwgMHhhZiwgMHgzOSwgMHgwNSwgMHgzOSwgMHg3NCwgMHgwMCwgMHgyZiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHg4MCwgMHgzYSwgMHg4NSwgMHg5OSwgMHgxMCwgMHhlNSwgMHgxMCwgMHhiNSwKLSAgMHg0NywgMHgwNCwgMHhkMiwgMHgwOSwgMHg4MCwgMHgyZSwgMHhlNSwgMHgxMCwgMHhiNSwgMHg0NiwgMHgwNCwgMHhjMiwgMHgwOSwgMHg4MCwgMHgyNX19LAotIHsweDA1MDYsIDY0LCB7IDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4MTAsIDB4ZjAsCi0gIDB4MzAsIDB4MTAsIDB4MTEsIDB4YWYsIDB4MzksIDB4MDUsIDB4MzksIDB4NzQsIDB4MDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsCi0gIDB4ODMsIDB4ZTUsIDB4OTgsIDB4ZjAsIDB4ZDIsIDB4MGYsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTUsIDB4NDMsIDB4NDAsIDB4MjQsIDB4OTAsIDB4N2YsIDB4YjYsCi0gIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTIsIDB4ZTUsIDB4MzksIDB4YzMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MTYsIDB4MTUsIDB4MzksIDB4MTUsIDB4Mzl9fSwKLSB7MHgwNTQ2LCA2NCwgeyAweDA1LCAweDJiLCAweDQzLCAweDM0LCAweDAxLCAweDgwLCAweDBiLCAweDkwLCAweDdmLCAweGI5LCAweGU1LCAweDM5LCAweGYwLCAweDc1LCAweDM5LCAweDAwLCAweGQyLAotICAweDAyLCAweGQyLCAweDAxLCAweDMwLCAweDAxLCAweDA1LCAweGMyLCAweDAxLCAweDAyLCAweDAwLCAweDU2LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLAotICAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDUxLCAweGU1LCAweDM0LCAweDYwLAotICAweDRkLCAweGU1LCAweDMxLCAweDcwLCAweDQ5LCAweGU1LCAweDM0LCAweDMwLCAweGUxLCAweDA4LCAweGU0LCAweGY1LCAweDJmLCAweDc1LCAweDM0fX0sCi0gezB4MDU4NiwgNjQsIHsgMHgwMSwgMHg4MCwgMHgwYiwgMHhhMiwgMHgwOCwgMHhlNCwgMHgzMywgMHhmNSwgMHgyZiwgMHhjMiwgMHgwOCwgMHhlNCwgMHhmNSwgMHgzNCwgMHhlNCwgMHhmNSwgMHgxMSwKLSAgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxMSwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZCwgMHgwNiwKLSAgMHhmZiwgMHg3NCwgMHgwMCwgMHgyNSwgMHgxMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMSwKLSAgMHhlNSwgMHgxMSwgMHhiNCwgMHgwYywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHgzMSwgMHgxMCwgMHg5MH19LAotIHsweDA1YzYsIDY0LCB7IDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDYsIDB4ZjMsIDB4ZTQsIDB4ZjUsIDB4MTEsIDB4NzQsIDB4NDAsIDB4MjUsIDB4MTEsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTEsIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDAsIDB4MjQsIDB4M2IsCi0gIDB4ZjksIDB4ZWMsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGQsIDB4MWYsIDB4MDUsIDB4MTEsIDB4ZTUsIDB4MTEsIDB4YjQsIDB4MTgsIDB4ZGIsCi0gIDB4ZTUsIDB4M2IsIDB4NjAsIDB4MTEsIDB4NzUsIDB4YzksIDB4MjAsIDB4NzUsIDB4YzgsIDB4MzYsIDB4ODUsIDB4M2MsIDB4Y2EsIDB4ODUsIDB4M2R9fSwKLSB7MHgwNjA2LCA2NCwgeyAweGNiLCAweGU0LCAweDkwLCAweDdmLCAweDlmLCAweGYwLCAweGU1LCAweDNlLCAweDEzLCAweDkyLCAweDEwLCAweDkyLCAweDlmLCAweDg1LCAweDNmLCAweDM4LCAweGU1LAotICAweDQwLCAweDEzLCAweDkyLCAweDE2LCAweGU1LCAweDQxLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDgwLAotICAweDA3LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweGU1LCAweDQyLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweGUwLAotICAweDU0LCAweDdmLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweDk4LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDQ4LCAweDYwfX0sCi0gezB4MDY0NiwgNjQsIHsgMHgwYiwgMHhjMiwgMHgwYywgMHhjMiwgMHgwOSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0OSwgMHg2MCwgMHgwYywgMHhkMiwKLSAgMHgwOSwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHg0YSwgMHg2MCwgMHgwZCwgMHhjMiwKLSAgMHhhZiwgMHhjMiwgMHgwYiwgMHhkMiwgMHgwMCwgMHhlNCwgMHhmNSwgMHg1MywgMHhmNSwgMHgzYSwgMHhkMiwgMHhhZiwgMHhlNSwgMHg0YiwgMHg2MCwgMHgwNSwKLSAgMHgzMCwgMHgxNiwgMHgwMiwgMHhkMiwgMHgwOSwgMHhlNSwgMHg0YywgMHg2MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg1NCwgMHhmZH19LAotIHsweDA2ODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTUsIDB4NGQsCi0gIDB4NjAsIDB4MGEsIDB4ZDIsIDB4OWMsIDB4YzIsIDB4OTgsIDB4NzUsIDB4MmMsIDB4MDEsIDB4NzUsIDB4MzEsIDB4MWUsIDB4ZTUsIDB4NGUsIDB4NjAsIDB4MDcsCi0gIDB4YzIsIDB4OWMsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MmMsIDB4ZTUsIDB4NGYsIDB4NjAsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZTUsIDB4NTAsCi0gIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MDcsIDB4ZTUsIDB4NTEsIDB4NjAsIDB4MGEsIDB4ZTUsIDB4NGQsIDB4NzAsIDB4MDIsIDB4ZjUsIDB4MzEsIDB4ZTV9fSwKLSB7MHgwNmM2LCA2NCwgeyAweDUxLCAweDQyLCAweDM0LCAweGU1LCAweDUyLCAweDYwLCAweDFmLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LAotICAweDEyLCAweGYwLCAweDc0LCAweDMyLCAweGYwLCAweDc0LCAweDEzLCAweGYwLCAweDc0LCAweDMzLCAweGYwLCAweDc0LCAweDE0LCAweGYwLCAweDc0LCAweDM0LAotICAweGYwLCAweGQyLCAweDAzLCAweGQyLCAweDAyLCAweGQyLCAweDA4LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweGEyLCAweDBjLCAweGU0LCAweDMzLAotICAweGZmLCAweDY1LCAweDI5LCAweDYwLCAweDA1LCAweDhmLCAweDI5LCAweDQzLCAweDM0LCAweDAxLCAweGEyLCAweDA5LCAweGU0LCAweDMzLCAweGZmfX0sCi0gezB4MDcwNiwgNjQsIHsgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4ZiwgMHgyYSwgMHg0MywgMHgzNCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHhmZiwgMHg1NCwgMHgwOCwgMHg2NCwKLSAgMHgwOCwgMHhmZSwgMHg2NSwgMHgyNSwgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyNSwgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHgxMCwgMHg2NCwgMHgxMCwKLSAgMHhmZSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyNiwgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHg0MCwgMHg2NCwgMHg0MCwgMHhmZSwKLSAgMHg2NSwgMHgyNywgMHg2MCwgMHgwNSwgMHg4ZSwgMHgyNywgMHg0MywgMHgzNCwgMHgwMSwgMHhlZiwgMHg1NCwgMHgyMCwgMHg2NCwgMHgyMCwgMHhmZX19LAotIHsweDA3NDYsIDY0LCB7IDB4NjUsIDB4MjgsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MjgsIDB4NDMsIDB4MzQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4NTQsIDB4NDAsIDB4NjQsIDB4NDAsCi0gIDB4ZmUsIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsIDB4OGUsIDB4MmUsIDB4NDMsIDB4MzQsIDB4MDEsIDB4MzAsIDB4MDcsIDB4MzUsIDB4YzIsIDB4YWYsIDB4MzAsCi0gIDB4MDIsIDB4MTgsIDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjcsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YjcsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4YzIsIDB4MDIsIDB4YzIsIDB4MDcsIDB4ODAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MjB9fSwKLSB7MHgwNzg2LCA2NCwgeyAweGUxLCAweDBmLCAweGU1LCAweDM5LCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweGU0LCAweGY1LCAweDM5LCAweGQyLCAweDAyLCAweGMyLCAweDA3LAotICAweGQyLCAweGFmLCAweDIwLCAweDA1LCAweDNkLCAweDMwLCAweDAzLCAweDFlLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDIwLCAweGUxLCAweDMzLCAweDkwLAotICAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweDc1LCAweDNhLCAweDAxLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDUzLCAweGQyLAotICAweDA1LCAweDc1LCAweDE2LCAweGZmLCAweDgwLCAweDFjLCAweDkwLCAweDdmLCAweGM4LCAweGUwLCAweDIwLCAweGUxLCAweDE1LCAweDkwLCAweDdkfX0sCi0gezB4MDdjNiwgNjQsIHsgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwZCwgMHg3NSwgMHgzYSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg1MywgMHhkMiwgMHgwNSwgMHg3NSwKLSAgMHgxNiwgMHhmZiwgMHgyMCwgMHgxNCwgMHgzMywgMHgyMCwgMHgwMCwgMHgwNiwgMHhlNSwgMHgzYSwgMHg2NSwgMHg1MywgMHg3MCwgMHgyYSwgMHgzMCwgMHgwNSwKLSAgMHgxYSwgMHgzMCwgMHgwMywgMHgwOSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHgwNywgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhjOSwgMHhmMCwgMHhkMiwgMHgwMywgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHg1MywgMHhmNSwgMHgzYSwgMHgzMCwgMHgwZCwgMHgwYSwgMHhjMn19LAotIHsweDA4MDYsIDY0LCB7IDB4MGQsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YmIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDksIDB4MTQsIDB4MjAsIDB4MDUsCi0gIDB4MDMsIDB4MDIsIDB4MDksIDB4MTQsIDB4MzAsIDB4MGMsIDB4MDMsIDB4MDIsIDB4MDksIDB4MTQsIDB4MzAsIDB4MDksIDB4MDMsIDB4MDIsIDB4MDksIDB4MTQsCi0gIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTUsIDB4MzgsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDksIDB4MTQsIDB4MzAsIDB4MDMsIDB4NjEsIDB4MzAsIDB4MTAsCi0gIDB4MTIsIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwODQ2LCA2NCwgeyAweGUwLCAweDEzLCAweDkyLCAweDFiLCAweGFmLCAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LAotICAweDgzLCAweGUwLCAweGZlLCAweGU1LCAweDNhLCAweGMzLCAweDk1LCAweDUzLCAweDUwLCAweDJhLCAweDMwLCAweDEwLCAweDEyLCAweGFmLCAweDNhLCAweDA1LAotICAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGFmLAotICAweDNhLCAweDA1LCAweDNhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGY1fX0sCi0gezB4MDg4NiwgNjQsIHsgMHgzNiwgMHhkMiwgMHgwYiwgMHg4MCwgMHg2YSwgMHhjMiwgMHgwYiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHhjMiwgMHgwMywgMHg4MCwgMHg1ZiwgMHgzMCwKLSAgMHgxMCwgMHgxMiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHgxMywgMHg5MiwgMHgxYiwgMHhhZiwgMHgzYSwgMHgwNSwgMHgzYSwgMHg3NCwgMHhjMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgzYSwgMHhjMywgMHg5NSwgMHg1MywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxMCwgMHgxMiwgMHhhZn19LAotIHsweDA4YzYsIDY0LCB7IDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGUsCi0gIDB4YWYsIDB4M2EsIDB4MDUsIDB4M2EsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsCi0gIDB4MzYsIDB4ZDIsIDB4MGIsIDB4ODAsIDB4MDksIDB4YzIsIDB4MGIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MTAsCi0gIDB4MDQsIDB4YTIsIDB4MWIsIDB4OTIsIDB4OWIsIDB4ZDIsIDB4MTQsIDB4YzIsIDB4YWYsIDB4OGUsIDB4OTksIDB4MjAsIDB4MGIsIDB4MGQsIDB4MzB9fSwKLSB7MHgwOTA2LCA2NCwgeyAweDBkLCAweDBhLCAweGMyLCAweDBkLCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGJiLCAweDc0LCAweDAxLCAweGYwLCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLAotICAweGU5LCAweGUwLCAweDEyLCAweDBkLCAweDMxLCAweDBhLCAweDExLCAweDAwLCAweDBhLCAweDdlLCAweDAxLCAweDBhLCAweGRiLCAweDAzLCAweDA5LCAweDM4LAotICAweDA2LCAweDBhLCAweDAyLCAweDA4LCAweDA5LCAweGY2LCAweDA5LCAweDA5LCAweGRlLCAweDBhLCAweDA5LCAweGVkLCAweDBiLCAweDAwLCAweDAwLCAweDBiLAotICAweDE5LCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDE0LCAweDYwLCAweDVhLCAweDI0LCAweDAyLCAweDYwfX0sCi0gezB4MDk0NiwgNjQsIHsgMHgwMywgMHgwMiwgMHgwYiwgMHgxOSwgMHg3NCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHg4NywgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwKLSAgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwKLSAgMHhkOCwgMHg3NSwgMHg4MywgMHgwZCwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHhkMSwgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg3NSwgMHg4MiwgMHhjYSwKLSAgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg3NSwgMHg4MiwgMHhjMywgMHg3NSwgMHg4MywgMHgwZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH19LAotIHsweDA5ODYsIDY0LCB7IDB4MDQsIDB4NzUsIDB4ODIsIDB4OWUsIDB4NzUsIDB4ODMsIDB4MGQsIDB4ZjAsIDB4NzQsIDB4MGQsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4OTksIDB4OTAsCi0gIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MGIsIDB4NzUsIDB4MTEsIDB4ZmYsIDB4NzUsCi0gIDB4MTIsIDB4MGQsIDB4NzUsIDB4MTMsIDB4ZGMsIDB4ODAsIDB4MWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MGIsIDB4NzUsIDB4MTEsCi0gIDB4ZmYsIDB4NzUsIDB4MTIsIDB4MGQsIDB4NzUsIDB4MTMsIDB4ZTAsIDB4ODAsIDB4MDksIDB4NzUsIDB4MTEsIDB4ZmYsIDB4NzUsIDB4MTIsIDB4MGR9fSwKLSB7MHgwOWM2LCA2NCwgeyAweDc1LCAweDEzLCAweGYwLCAweGFhLCAweDEyLCAweGE5LCAweDEzLCAweGFlLCAweDAyLCAweGVlLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLAotICAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDE1LCAweGYwLCAweDkwLCAweDdmLCAweGI1LAotICAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDE1LCAweDAyLCAweDBiLCAweDIwLCAweDEyLAotICAweDBjLCAweGIxLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDE0LCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweDAwLCAweGU1fX0sCi0gezB4MGEwNiwgNjQsIHsgMHgxNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwKLSAgMHg2MCwgMHgyNywgMHgxNCwgMHg2MCwgMHgzNCwgMHgyNCwgMHgwMiwgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgxOSwgMHhhMiwgMHgxNywgMHhlNCwgMHgzMywKLSAgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgxOSwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgyMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhhM319LAotIHsweDBhNDYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsCi0gIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTd9fSwKLSB7MHgwYTg2LCA2NCwgeyAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDBiLAotICAweDE5LCAweGMyLCAweDE3LCAweDAyLCAweDBiLCAweDIwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDc2LCAweDkwLCAweDdmLCAweGVjLCAweGUwLAotICAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LAotICAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwfX0sCi0gezB4MGFjNiwgNjQsIHsgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwKLSAgMHgyMCwgMHhmMCwgMHg4MCwgMHg0NSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxMCwgMHgyNCwgMHgwMiwgMHg3MCwgMHgzOSwKLSAgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg2NCwgMHgwMSwgMHg3MCwgMHgyYSwgMHhkMiwgMHgxNywgMHg4MCwgMHgyZCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwKLSAgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMH19LAotIHsweDBiMDYsIDY0LCB7IDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsCi0gIDB4MjIsIDB4YzIsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MTQsIDB4ZjUsIDB4MzQsIDB4YzIsIDB4MDksIDB4YzIsIDB4MGMsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MTQsCi0gIDB4YzIsIDB4MGQsIDB4YzIsIDB4MTYsIDB4YzIsIDB4MTEsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MTIsIDB4YzIsIDB4MGYsIDB4YzIsIDB4MDgsIDB4ZjV9fSwKLSB7MHgwYjQ2LCA2NCwgeyAweDM1LCAweGY1LCAweDM5LCAweGY1LCAweDUzLCAweGY1LCAweDNhLCAweGY1LCAweDMzLCAweGY1LCAweDMwLCAweGY1LCAweDJmLCAweGY1LCAweDJlLCAweGY1LCAweDJkLAotICAweGY1LCAweDJjLCAweGY1LCAweDJiLCAweGY1LCAweDJhLCAweGY1LCAweDI5LCAweGY1LCAweDI4LCAweGY1LCAweDI3LCAweGY1LCAweDI2LCAweGY1LCAweDI1LAotICAweGY1LCAweDI0LCAweGMyLCAweDA1LCAweGMyLCAweDE4LCAweGMyLCAweDFhLCAweGMyLCAweDE3LCAweGMyLCAweDE5LCAweGMyLCAweDE1LCAweGMyLCAweDA0LAotICAweGQyLCAweDEzLCAweGMyLCAweDA2LCAweGMyLCAweDAxLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGQyLCAweGU4fX0sCi0gezB4MGI4NiwgNjQsIHsgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwKLSAgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwKLSAgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHg3NCwgMHgwZSwKLSAgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHhiYywgMHhkMiwgMHgxYiwgMHgxMiwgMHgwZiwgMHg1ZiwgMHhjMiwgMHgxOCwgMHgzMCwgMHgwNCwgMHgwM319LAotIHsweDBiYzYsIDY0LCB7IDB4MTIsIDB4MDUsIDB4NmQsIDB4MzAsIDB4MDQsIDB4MmEsIDB4MzAsIDB4MDYsIDB4MjcsIDB4YzIsIDB4MDYsIDB4ZTUsIDB4MTYsIDB4NjAsIDB4MTYsIDB4MTUsIDB4MTYsCi0gIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4MzAsIDB4ZTYsIDB4MDQsIDB4N2YsIDB4MDAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4MTIsIDB4MGMsIDB4MGIsIDB4ODAsIDB4Y2QsIDB4MzAsCi0gIDB4MTgsIDB4MDcsIDB4YzIsIDB4MTgsIDB4MTIsIDB4MDksIDB4MTUsIDB4ODAsIDB4YzMsIDB4MzAsIDB4MWEsIDB4YzAsIDB4YzIsIDB4MWEsIDB4MTJ9fSwKLSB7MHgwYzA2LCA2NCwgeyAweDBmLCAweGJiLCAweDgwLCAweGI5LCAweDIyLCAweGU1LCAweDMxLCAweDYwLCAweDAyLCAweDE1LCAweDMxLCAweGU1LCAweDM5LCAweDYwLCAweDU1LCAweDY1LCAweDM1LAotICAweDcwLCAweDRiLCAweGU1LCAweDMzLCAweGY0LCAweDYwLCAweDAyLCAweDA1LCAweDMzLCAweGU1LCAweDMzLCAweGMzLCAweDk1LCAweDQ0LCAweDQwLCAweDQzLAotICAweGMyLCAweGFmLCAweDMwLCAweDAyLCAweDFiLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDJkLCAweDkwLCAweDdmLCAweGI3LCAweGU1LAotICAweDM5LCAweGYwLCAweGMyLCAweDAyLCAweGU0LCAweGY1LCAweDM5LCAweGY1LCAweDMzLCAweGY1LCAweDM1LCAweDc1LCAweDE2LCAweGZmLCAweDgwfX0sCi0gezB4MGM0NiwgNjQsIHsgMHgxOSwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHgzOSwgMHhmMCwgMHhkMiwgMHgwMiwgMHhlNCwKLSAgMHhmNSwgMHgzOSwgMHhmNSwgMHgzMywgMHhmNSwgMHgzNSwgMHg3NSwgMHgxNiwgMHhmZiwgMHhkMiwgMHhhZiwgMHg4MCwgMHgwNiwgMHg4NSwgMHgzOSwgMHgzNSwKLSAgMHhlNCwgMHhmNSwgMHgzMywgMHhlNSwgMHgyYywgMHg2MCwgMHgzMCwgMHgyMCwgMHgwZiwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgzMCwgMHhlMCwKLSAgMHgwZiwgMHhlNSwgMHgyZCwgMHg2MCwgMHgwNiwgMHhlNCwgMHhmNSwgMHgyZCwgMHg0MywgMHgzNCwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzMCwgMHg4MH19LAotIHsweDBjODYsIDY0LCB7IDB4MTQsIDB4ZTUsIDB4MzAsIDB4ZDMsIDB4OTUsIDB4NDUsIDB4NTAsIDB4MGQsIDB4ZTUsIDB4MzAsIDB4YjUsIDB4NDUsIDB4MDYsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NDMsCi0gIDB4MzQsIDB4MDEsIDB4MDUsIDB4MzAsIDB4YzIsIDB4MGYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDksIDB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDQsIDB4N2YsIDB4MDAsCi0gIDB4ODAsIDB4MDIsIDB4N2YsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4NzR9fSwKLSB7MHgwY2M2LCA2NCwgeyAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweDc0LCAweDg2LCAweGYwLCAweDkwLCAweDdmLCAweDk1LAotICAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDg0LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGM3LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDc1LCAweDk4LCAweDQwLCAweDQzLCAweGE4LCAweDEwLAotICAweDkwLCAweDdmLCAweGRlLCAweDc0LCAweDFmLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDBmLCAweGYwLCAweGQyLCAweDA0LCAweDIyfX0sCi0gezB4MGQwNiwgNjQsIHsgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwgMHhlMywKLSAgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwKLSAgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwKLSAgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5M319LAotIHsweDBkNDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsCi0gIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsCi0gIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZDg2LCA2NCwgeyAweDAwLCAweDEyLCAweDAxLCAweDEwLCAweDAxLCAweGZmLCAweDAwLCAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDBjLCAweDAxLCAweDAxLCAweDAwLCAweDAxLCAweDAyLAotICAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDQzLCAweDAwLCAweDAxLCAweDAxLCAweDAwLCAweDgwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDA3LAotICAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgxLCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MGRjNiwgNjQsIHsgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwKLSAgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHgxMCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwKLSAgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgwZSwgMHgwMywgMHg1MywgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwZSwgMHhhMiwgMHgwMCwgMHgwMiwgMHgwZX19LAotIHsweDBlMDYsIDY0LCB7IDB4N2IsIDB4MDAsIDB4MDIsIDB4MGQsIDB4NTcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4YzksIDB4MDAsIDB4MDIsIDB4MGUsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MGUsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MGUsIDB4MTgsIDB4MDAsIDB4MDIsIDB4MGUsIDB4MWMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ZjAsIDB4MDAsIDB4MDIsIDB4MGUsIDB4MjQsCi0gIDB4MDAsIDB4MDIsIDB4MGYsIDB4MTUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4MmMsIDB4MDAsIDB4MDIsIDB4MGYsIDB4M2EsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTUsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4ZTAsIDB4NDQsIDB4MDJ9fSwKLSB7MHgwZTQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDEwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZlLCAweGYwLCAweDMwLCAweDE3LCAweDA0LCAweDdmLCAweDgwLCAweDgwLCAweDAyLCAweDdmLAotICAweDAwLCAweDkwLCAweDdmLCAweDk3LCAweGVmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweGYwLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwfX0sCi0gezB4MGU4NiwgNjQsIHsgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMiwgMHgwNiwgMHhkMCwgMHg4NiwKLSAgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwKLSAgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwKLSAgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4M319LAotIHsweDBlYzYsIDY0LCB7IDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsCi0gIDB4MDAsIDB4ZDIsIDB4MWEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsCi0gIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsCi0gIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YTksIDB4NzR9fSwKLSB7MHgwZjA2LCA2NCwgeyAweDAyLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLAotICAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweDUzLCAweDkxLCAweGVmLAotICAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLAotICAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2fX0sCi0gezB4MGY0NiwgNjQsIHsgMHg3NSwgMHg4NiwgMHgwMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwKLSAgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwKLSAgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgxYiwgMHgwNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg3ZiwgMHhmNCwgMHg3ZSwgMHgwMSwgMHgxMiwgMHgwMCwKLSAgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMiwgMHg3NCwgMHgwMH19LAotIHsweDBmODYsIDY0LCB7IDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MGQsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDAsIDB4MDMsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MGUsIDB4MzMsIDB4MTIsIDB4MGYsIDB4OTUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzB9fSwKLSB7MHgwZmM2LCAgOSwgeyAweGU3LCAweDAzLCAweDEyLCAweDBmLCAweGE1LCAweDEyLCAweDBjLCAweGIxLCAweDIyfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cXdfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5cXdfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgwM2Y4Yi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2ExOXF3X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDggKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOXF3X2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMTl3cV9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTE5cXdfZmlybXdhcmVbXSA9IHsKLSB7MHgwMDMzLCAgMywgeyAweDAyLCAweDAwLCAweDJkfX0sCi0gezB4MDAyZCwgIDQsIHsgMHg1MywgMHhkOCwgMHhlZiwgMHgzMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MTAsIDB4MTksIDB4MTIsIDB4MGUsIDB4MGYsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4MTQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZGYsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDEwLCAweGMyLCAweDBiLCAweDAyLCAweDAwLCAweGRmLCAweDMwLCAweDBkLCAweDNlLCAweDkwfX0sCi0gezB4MDA2NiwgMTYsIHsgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg3MywgMHgxMiwgMHgwZSwgMHgwZiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2YSwgMHg5MH19LAotIHsweDAwNzYsIDE2LCB7IDB4N2UsIDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MzYsIDB4MjAsIDB4MGIsIDB4MTF9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDYwLCAweDBmLCAweGY1LCAweDI0LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDI5LCAweDdlLCAweDc1LCAweDJhLCAweDQxLCAweDEyLCAweDA5fX0sCi0gezB4MDA5NiwgMTYsIHsgMHgxMCwgMHhjMiwgMHgwZCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg3NSwgMHgyNiwgMHhmZiwgMHg4MCwgMHgzYywgMHg5MCwgMHg3ZiwgMHhjOH19LAotIHsweDAwYTYsIDE2LCB7IDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzUsIDB4MTIsIDB4MGUsIDB4MGYsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MmMsIDB4OTAsIDB4N2QsIDB4YzB9fSwKLSB7MHgwMGI2LCAxNiwgeyAweGUwLCAweDEzLCAweDkyLCAweDEwLCAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDM2LCAweDIwLCAweDBiLCAweDExLCAweDYwLCAweDBmfX0sCi0gezB4MDBjNiwgMTYsIHsgMHhmNSwgMHgyNCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHhjMSwgMHg3NSwgMHgyOSwgMHg3ZCwgMHg3NSwgMHgyYSwgMHhjMSwgMHgxMiwgMHgwOSwgMHgxMCwgMHhkMn19LAotIHsweDAwZDYsIDE2LCB7IDB4MGQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4NzUsIDB4MjYsIDB4ZmYsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDN9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDAyLCAweDAxLCAweDY4LCAweDEyLCAweDBjLCAweGZmLCAweDhmLCAweDM2LCAweDEyLCAweDBlLCAweDFiLCAweDhmLCAweDExLCAweGU1LCAweDM2LCAweGMzfX0sCi0gezB4MDBmNiwgMTYsIHsgMHg5NSwgMHgxMywgMHg1MCwgMHgwZiwgMHgxMiwgMHgwZCwgMHhkZSwgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgxMSwgMHgyMCwgMHhlNywgMHgwM319LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDAwMywgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MH19LAotIHsweDAwMTMsIDE2LCB7IDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDB9fSwKLSB7MHgwMDIzLCAxMCwgeyAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwOSwgMHhjNX19LAotIHsweDAxMDYsIDY0LCB7IDB4MzAsIDB4MTMsIDB4NWYsIDB4YzIsIDB4MTMsIDB4ZTUsIDB4MzYsIDB4NjAsIDB4NTksIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MTEsIDB4MDIsIDB4ZTUsIDB4MTEsCi0gIDB4MzAsIDB4ZTcsIDB4MjQsIDB4ZTUsIDB4MzYsIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MzYsIDB4MjAsIDB4ODUsIDB4MzYsIDB4MjQsCi0gIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MjksIDB4N2UsIDB4NzUsIDB4MmEsIDB4ODAsIDB4MTIsIDB4MGIsIDB4OWEsIDB4ZTUsIDB4MzYsIDB4MjUsCi0gIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4ODAsIDB4MmEsIDB4ZTUsIDB4MzYsIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzV9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDM2LCAweDNmLCAweDg1LCAweDM2LCAweDI0LCAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDExLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDI5LAotICAweDdlLCAweDc1LCAweDJhLCAweDgxLCAweDEyLCAweDA5LCAweDM1LCAweGU1LCAweDM2LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDc1LCAweDI2LAotICAweGZmLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDBlLCAweDAzLCAweDAyLCAweDAzLCAweGM0LCAweGU0LCAweGY1LAotICAweDM1LCAweDc0LCAweDQwLCAweDI1LCAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgzNSwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwYSwgMHg5NywgMHgwNSwgMHgzNSwgMHhlNSwgMHgzNSwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2ZSwKLSAgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgwYywgMHgxYywgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYywgMHg0MiwgMHhkMiwgMHgxMSwgMHhkMiwgMHgxMiwgMHg3NX19LAotIHsweDAxYzYsIDY0LCB7IDB4MzYsIDB4MDQsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4YzIsIDB4MTIsIDB4NDMsIDB4MzYsIDB4YzAsIDB4OTAsIDB4N2UsIDB4MDQsIDB4ZTAsCi0gIDB4YjQsIDB4MDEsIDB4MDcsIDB4YzIsIDB4MTIsIDB4NDMsIDB4MzYsIDB4MGIsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2UsIDB4MDQsIDB4ZTAsIDB4NjAsIDB4MDcsCi0gIDB4YzIsIDB4MTEsIDB4NDMsIDB4MzYsIDB4MDksIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4N2YsIDB4MDMsIDB4YWQsIDB4MzYsIDB4MTIsIDB4MGMsCi0gIDB4ZGEsIDB4NDMsIDB4MWEsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MWF9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDE3LCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDE5LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE5LCAweGYwLCAweDkwLCAweDdlLCAweDA3LCAweGUwLCAweDYwLCAweDQyLCAweDkwLCAweDdlLCAweDEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDE2LCAweDA0LCAweDgwLCAweDAzLCAweDUzLCAweDE2LCAweGZiLCAweGU0LCAweGZmLCAweGFkLCAweDE2LCAweDEyfX0sCi0gezB4MDI0NiwgNjQsIHsgMHgwYywgMHhkYSwgMHg5MCwgMHg3ZSwgMHgwOCwgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxOCwgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHgxOCwgMHg3ZiwgMHg1MywKLSAgMHgxOCwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHgxOCwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYywKLSAgMHg4ZSwgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYywgMHhiNCwgMHhhZiwgMHgxOCwgMHgxMiwgMHgwYywgMHg2OCwgMHg5MCwgMHg3ZSwKLSAgMHgwZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxYSwgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHgxYX19LAotIHsweDAyODYsIDY0LCB7IDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGMsIDB4ZTAsCi0gIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MWEsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MWEsIDB4ZmQsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4MTMsCi0gIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MTQsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MWF9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDFhLCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDFhLAotICAweGYwLCAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDE5LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLAotICAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDBkLAotICAweGQyLCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDE2LCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDE2fX0sCi0gezB4MDMwNiwgNjQsIHsgMHgxMiwgMHgwYywgMHhkYSwgMHhlNCwgMHhmNSwgMHgwZSwgMHhmNSwgMHgwZCwgMHhkMiwgMHgwZiwgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywKLSAgMHgxNiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNiwgMHgxMiwgMHgwYywgMHhkYSwgMHg3NSwgMHgwZCwgMHgwMSwgMHhkMiwgMHgwZiwgMHg5MCwgMHg3ZSwKLSAgMHgxOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHgxNywgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHhkMiwgMHgwYiwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHgxOSwgMHg0MCwgMHg5MCwgMHg3Zn19LAotIHsweDAzNDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsCi0gIDB4MGYsIDB4NTMsIDB4MTYsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTYsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4NzUsIDB4MGYsIDB4MDEsIDB4ZDIsIDB4MGYsCi0gIDB4OTAsIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4MTYsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTYsIDB4MTIsIDB4MGMsIDB4ZGEsCi0gIDB4ZTQsIDB4ZjUsIDB4MGYsIDB4ZDIsIDB4MGYsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDEyLCAweGYwLCAweGU1LCAweDE3LCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLAotICAweDEzLCAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDEwLCAweDAxLCAweGU0LCAweGY1LCAweDEyLCAweGQyLCAweDBmLCAweDkwLAotICAweDdlLCAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LAotICAweGYwLCAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDBkLCAweGMyLCAweDBlLCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDE2fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg3MSwgMHhlNSwgMHgxMiwgMHg2MCwgMHgwMiwgMHgxNSwgMHgxMiwgMHhlNSwgMHgzMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgzMCwgMHg4MCwKLSAgMHg2MCwgMHg3NSwgMHgzMCwgMHgwYSwgMHgxMiwgMHgwZCwgMHhkMiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgzNiwgMHg2NSwgMHgwZSwgMHg2MCwgMHgwNywKLSAgMHg4NSwgMHgzNiwgMHgwZSwgMHhkMiwgMHgwZiwgMHg4MCwgMHgxMSwgMHgxMiwgMHgwZSwgMHgyNywgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgzNiwgMHg2NSwKLSAgMHgwOSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgzNiwgMHgwOSwgMHhkMiwgMHgwZiwgMHgxMiwgMHgwZSwgMHgyNywgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNX19LAotIHsweDA0MDYsIDY0LCB7IDB4MzYsIDB4NjUsIDB4MGEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MzYsIDB4MGEsIDB4ZDIsIDB4MGYsIDB4MTIsIDB4MGUsIDB4MjcsIDB4ZWYsIDB4NTQsIDB4MjAsIDB4ZjUsCi0gIDB4MzYsIDB4NjUsIDB4MGIsIDB4NjAsIDB4MDgsIDB4ODUsIDB4MzYsIDB4MGIsIDB4MzAsIDB4MTEsIDB4MDIsIDB4ZDIsIDB4MGYsIDB4MTIsIDB4MGUsIDB4MjcsCi0gIDB4ZWYsIDB4NTQsIDB4NDAsIDB4ZjUsIDB4MzYsIDB4NjUsIDB4MGMsIDB4NjAsIDB4MDgsIDB4ODUsIDB4MzYsIDB4MGMsIDB4MzAsIDB4MTIsIDB4MDIsIDB4ZDIsCi0gIDB4MGYsIDB4MzAsIDB4MTYsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTB9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDMyLCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDMzLCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LAotICAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDkwLCAweDdmLAotICAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LCAweDI5LCAweGU1LCAweDI3LCAweDcwLCAweDQwLCAweDMwLCAweDBmLCAweDM5LCAweGU1LAotICAweDEyLCAweDcwLCAweDM1LCAweGMyLCAweDBmLCAweGY1LCAweDM1LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDA4LCAweDI1LCAweDM1fX0sCi0gezB4MDQ4NiwgNjQsIHsgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwYSwgMHg1MSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgzNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzNSwgMHhlNSwgMHgzNSwgMHhiNCwgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwKLSAgMHgwOSwgMHhmMCwgMHg3NSwgMHgxMiwgMHgxMCwgMHhlNCwgMHhmNSwgMHgxMCwgMHg3NSwgMHgyNywgMHgwMiwgMHgyMiwgMHhlNSwgMHgyNywgMHg2NCwgMHgwMiwKLSAgMHg3MCwgMHgzNiwgMHgzMCwgMHgwNSwgMHgyZiwgMHhjMiwgMHgwNSwgMHhmNSwgMHgzNSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyYn19LAotIHsweDA0YzYsIDY0LCB7IDB4MjUsIDB4MzUsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MGEsIDB4NTEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MzUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzUsIDB4ZTUsIDB4MzUsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsCi0gIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MjcsIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MzMsIDB4NzUsIDB4MzEsIDB4MDMsIDB4MTUsCi0gIDB4MzIsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MzEsIDB4MjUsIDB4MzUsIDB4ZjksIDB4ZWUsIDB4MzR9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDAwLCAweGZhLCAweDEyLCAweDBhLCAweDUxLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLAotICAweGVmLCAweGYwLCAweDA1LCAweDM1LCAweGU1LCAweDM1LCAweGI0LCAweDAzLCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LAotICAweGY1LCAweDI3LCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBhLCAweGE5LCAweDA2LCAweDA4LCAweDAwLCAweDA2LCAweDdjLCAweDAxLAotICAweDA2LCAweGU5LCAweDAzLCAweDA1LCAweDRkLCAweDA2LCAweDA1LCAweGY5LCAweDA4LCAweDA1LCAweGVkLCAweDA5LCAweDA1LCAweGQ1LCAweDBhfX0sCi0gezB4MDU0NiwgNjQsIHsgMHgwNSwgMHhlNCwgMHgwYiwgMHgwMCwgMHgwMCwgMHgwNywgMHgzOSwgMHg5MCwgMHg3ZiwgMHhlYiwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwKLSAgMHg1MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2ZiwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwKLSAgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywKLSAgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg3NCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMH19LAotIHsweDA1ODYsIDY0LCB7IDB4NzUsIDB4ODIsIDB4NTgsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsCi0gIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDcsCi0gIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGIsIDB4MWMsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsCi0gIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLAotICAweDAwLCAweGU1LCAweDI1LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGY1LCAweDI1LCAweDAyLCAweDA3LCAweDQwLCAweDEyLCAweDA3LCAweDQ4LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIzLCAweDAyLAotICAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyfX0sCi0gezB4MDYwNiwgNjQsIHsgMHgwNywgMHg0MCwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwKLSAgMHhhMiwgMHgwMSwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNywgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHgwMCwgMHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHg0MCwgMHg5MCwgMHg3Zn19LAotIHsweDA2NDYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsCi0gIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsCi0gIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWUsIDB4MjQsIDB4MDJ9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDYwLCAweDAzLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA2LCAweDEyLCAweDBkLCAweGY5LCAweDAyLCAweDA3LAotICAweDQwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDQwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLAotICAweDM4LCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LAotICAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwKLSAgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwKLSAgMHg4MCwgMHg1NywgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YiwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHgxMiwgMHgwZCwgMHhmNiwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NH19LAotIHsweDA3MDYsIDY0LCB7IDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsCi0gIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDJ9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LAotICAweDIwLCAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLAotICAweGYwLCAweGU0LCAweGY1LCAweDA4LCAweDdmLCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDA4LCAweDJmLCAweGY5LCAweGU0LCAweDM0LCAweDAwfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmYSwgMHhlNCwgMHgxMiwgMHgwYSwgMHg5NywgMHgwZiwgMHhiZiwgMHgwOSwgMHhlZSwgMHg3NSwgMHgxMywgMHgwMSwgMHhlNCwgMHhmNSwgMHgxMiwgMHhmNSwgMHgzMCwKLSAgMHhmNSwgMHgxMSwgMHhjMiwgMHgwZiwgMHhjMiwgMHgxMywgMHhjMiwgMHgwZSwgMHhjMiwgMHgwYiwgMHhjMiwgMHgxMCwgMHhjMiwgMHgwNCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg3NSwgMHgxOSwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwKLSAgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHg3ZiwgMHgxMCwgMHg4ZiwgMHgxOCwgMHgxMiwgMHgwYywgMHg2OCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDA3YzYsIDY0LCB7IDB4MTIsIDB4ZjAsIDB4N2YsIDB4MDEsIDB4OGYsIDB4MTcsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MGYsIDB4ZTQsIDB4ZmQsIDB4MTIsCi0gIDB4MGMsIDB4ZGEsIDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4MTYsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4N2YsCi0gIDB4MDEsIDB4MTIsIDB4MGQsIDB4NmEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MGMsIDB4ZGEsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTZ9fSwKLSB7MHgwODA2LCA2NCwgeyAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDEyLCAweDBlLCAweDBmLCAweDhmLCAweDE1LCAweGU0LCAweGZmLCAweGU1LCAweDE2LCAweDQ0LCAweDgwLAotICAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweGU1LCAweDE1LCAweDMwLCAweGU3LCAweDA0LCAweGMyLCAweDA4LCAweDgwLCAweDAyLCAweGQyLCAweDA4LCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDFhLCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweGQyLCAweDAzLAotICAweDIyLCAweGQyLCAweDE1LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDEyLCAweDBkLCAweGY5LCAweGQyLCAweGU4fX0sCi0gezB4MDg0NiwgNjQsIHsgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwKLSAgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwKLSAgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHg3NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHgxNiwgMHgxMiwgMHgwZCwKLSAgMHgyNCwgMHhjMiwgMHgwMiwgMHhlNCwgMHhmNSwgMHgyOCwgMHhmNSwgMHgzMCwgMHhjMiwgMHgwOSwgMHhmNSwgMHgyMywgMHhjMiwgMHgwMywgMHg5MH19LAotIHsweDA4ODYsIDY0LCB7IDB4N2YsIDB4YTEsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MzQsIDB4NjAsIDB4NDgsIDB4MzAsIDB4MDMsIDB4MDUsIDB4ZDIsIDB4MTYsCi0gIDB4MTIsIDB4MDAsIDB4NDYsIDB4ZTUsIDB4MGYsIDB4NjAsIDB4MjIsIDB4ZTUsIDB4MjYsIDB4NjAsIDB4MTYsIDB4MTUsIDB4MjYsIDB4OTAsIDB4N2YsIDB4ZDgsCi0gIDB4ZTAsIDB4MzAsIDB4ZTYsIDB4MDQsIDB4N2YsIDB4MjAsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4ODAsCi0gIDB4MWEsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ODAsIDB4MTIsIDB4OTAsIDB4N2YsIDB4ZDksIDB4ZTAsIDB4MzAsIDB4ZTJ9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDA0LCAweDdmLCAweDMwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLCAweDk2LCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LAotICAweDM0LCAweDgwLCAweDIwLCAweDMwLCAweDAzLCAweDA3LCAweGMyLCAweDE2LCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDE2LCAweGU1LCAweDBmLCAweDcwLAotICAweDEyLCAweDkwLCAweDdmLCAweGQ5LCAweGUwLCAweDMwLCAweGUyLCAweDA0LCAweDdmLCAweDMwLCAweDgwLCAweDAyLCAweDdmLCAweDIwLCAweDkwLCAweDdmLAotICAweDk2LCAweGVmLCAweGYwLCAweDMwLCAweDAyLCAweDA3LCAweGMyLCAweDAyLCAweDEyLCAweDA1LCAweDJhLCAweDgwLCAweDg2LCAweDMwLCAweDBhfX0sCi0gezB4MDkwNiwgNjQsIHsgMHg4MywgMHhjMiwgMHgwYSwgMHgxMiwgMHgwYiwgMHg1ZCwgMHgwMiwgMHgwOCwgMHg4YSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwKLSAgMHgyNCwgMHhlNSwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgyNCwgMHhlNSwgMHgyYSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhjMn19LAotIHsweDA5NDYsIDY0LCB7IDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsCi0gIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MjQsIDB4ZTUsIDB4MmEsIDB4ZjUsIDB4ODIsIDB4ZTUsCi0gIDB4MjksIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsCi0gIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWZ9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDI0LCAweGU1LCAweDJhLCAweGY1LCAweDgyLCAweGU1LCAweDI5LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLAotICAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LAotICAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLAotICAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweDc4fX0sCi0gezB4MDljNiwgNjQsIHsgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwgMHhmZCwgMHg3NSwgMHg4MSwgMHgzOSwgMHgwMiwgMHgwYSwgMHgwYywgMHgwMiwgMHgwOCwgMHgzOCwgMHhlNCwgMHg5MywgMHhhMywKLSAgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwKLSAgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwKLSAgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMn19LAotIHsweDBhMDYsIDY0LCB7IDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsIDB4NDAsIDB4ODAsIDB4OTAsIDB4MGQsIDB4OGIsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsCi0gIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsCi0gIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODJ9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLAotICAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLAotICAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLAotICAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1fX0sCi0gezB4MGE4NiwgNjQsIHsgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwKLSAgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwKLSAgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwKLSAgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMn19LAotIHsweDBhYzYsIDY0LCB7IDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsCi0gIDB4NzQsIDB4MjAsIDB4ZjAsIDB4MzAsIDB4MDEsIDB4MDMsIDB4ZmYsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsCi0gIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsCi0gIDB4MzAsIDB4MDgsIDB4MTEsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDk4LCAweDc0LCAweDIwLCAweGYwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGRmLCAweGYwLCAweGU0LAotICAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDIyLCAweDhmLCAweDM1LCAweGU0LCAweGY1LCAweDM2LCAweDc1LCAweDM3LCAweGZmLCAweDc1LCAweDM4LCAweDE5LAotICAweDc1LCAweDM5LCAweDg2LCAweGFiLCAweDM3LCAweGFhLCAweDM4LCAweGE5LCAweDM5LCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDBhLCAweDZhLCAweGI0LAotICAweDAzLCAweDFkLCAweGFmLCAweDM2LCAweDA1LCAweDM2LCAweGVmLCAweGI1LCAweDM1LCAweDAxLCAweDIyLCAweDEyLCAweDBhLCAweDUxLCAweDdlfX0sCi0gezB4MGI0NiwgNjQsIHsgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NSwgMHgzNywgMHhmZiwgMHhmNSwgMHgzOCwgMHg4OSwgMHgzOSwgMHg4MCwgMHhkNCwgMHg3YiwKLSAgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgzNSwgMHgxMiwgMHgwYSwgMHhjZiwgMHgyMCwKLSAgMHgwOCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwKLSAgMHgxMiwgMHgwOSwgMHhiNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHgwZSwgMHgzMCwgMHgwMSwgMHgwNSwgMHgxMiwgMHgwZH19LAotIHsweDBiODYsIDY0LCB7IDB4YmMsIDB4ODAsIDB4MDYsIDB4MTIsIDB4MGQsIDB4NDksIDB4ZWYsIDB4NjAsIDB4ZTEsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MTIsCi0gIDB4MDcsIDB4NDgsIDB4MjIsIDB4MDUsIDB4MmEsIDB4ZTUsIDB4MmEsIDB4YWUsIDB4MjksIDB4NzAsIDB4MDIsIDB4MDUsIDB4MjksIDB4MTQsIDB4ZjUsIDB4ODIsCi0gIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MmEsIDB4ZTUsIDB4MmEsIDB4YWMsIDB4MjksIDB4NzAsIDB4MDIsCi0gIDB4MDUsIDB4MjksIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MjQsIDB4ZTUsIDB4MjQsIDB4NjAsIDB4MDd9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDEyLCAweDBlLCAweDFiLCAweDhmLCAweDExLCAweDgwLCAweGNkLCAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLAotICAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDAyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLAotICAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLAotICAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDBhfX0sCi0gezB4MGMwNiwgNjQsIHsgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NH19LAotIHsweDBjNDYsIDY0LCB7IDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTksIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE5LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwfX0sCi0gezB4MGNjNiwgNjQsIHsgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgwZCwgMHhlYSwgMHg4ZiwgMHgzNywgMHgxMiwgMHgwZH19LAotIHsweDBkMDYsIDY0LCB7IDB4ZWEsIDB4OGYsIDB4MzgsIDB4ZTUsIDB4MzcsIDB4NjUsIDB4MzgsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MGQsIDB4ZWEsIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4NjUsCi0gIDB4MzgsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MGQsIDB4ZWEsIDB4OGYsIDB4MzgsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MzcsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MTYsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsCi0gIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MGQsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDA0LCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDM2LCAweDEyLCAweDA3LCAweDQ4LCAweDEyLCAweDBlLCAweDI3LCAweGVmLCAweDMwLAotICAweGU2LCAweDBiLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDM2LCAweDYwLCAweGYxLCAweDdmLCAweDAxLCAweDIyLCAweDEyLCAweDBhLCAweGNmLAotICAweDdmLCAweDAwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDE2LCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDBjLCAweGRhLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDE2LCAweDQ0LCAweDgwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHhmZCwgMHgxMiwgMHgwYywgMHhkYSwgMHgyMiwgMHgwNSwgMHgyYiwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgzMSwgMHgwMywgMHgwMCwgMHgwMCwKLSAgMHhjMSwgMHg4NiwgMHhjMSwgMHgwMiwgMHhjMSwgMHgwYSwgMHhjMSwgMHgwMSwgMHhjMSwgMHgwNywgMHgwMSwgMHgyNywgMHgwMCwgMHgwMCwgMHg4ZSwgMHgzNiwKLSAgMHg4ZiwgMHgzNywgMHhlNSwgMHgzNywgMHgxNSwgMHgzNywgMHhhZSwgMHgzNiwgMHg3MCwgMHgwMiwgMHgxNSwgMHgzNiwgMHg0ZSwgMHg2MCwgMHgwNSwgMHgxMiwKLSAgMHgwOSwgMHhhNCwgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZX19LAotIHsweDBkYzYsIDY0LCB7IDB4MDAsIDB4MTIsIDB4MGQsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsCi0gIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZDIsCi0gIDB4MDEsIDB4MjIsIDB4YzIsIDB4MDEsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGIsIDB4Y2UsIDB4MDAsIDB4MDIsIDB4MGV9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDAwLCAweDAzLCAweDAwLCAweDAyLCAweDBiLCAweGY1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTJjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTksIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwgMCwJezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTE5d19mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTl3X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1ZDYxOTEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMTl3X2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDYgKzAsMCBAQAotLyoga2V5c3Bhbl91c2ExOXdfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2ExOXdfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIGtleXNwYW5fdXNhMTl3X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwZCwgMHg1Y319LAotIHsweDAwMDMsIDE2LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwfX0sCi0gezB4MDAyMywgMTUsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgxNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MGYsIDB4MTgsIDB4MTIsIDB4MGQsIDB4MzgsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4MTQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBmLCAweGMyLCAweDBhLCAweDgwLCAweDc3LCAweDMwLCAweDBjLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgwZCwgMHgzOCwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGYsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MWMsIDB4MjAsIDB4MGEsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDIzLCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDI3LCAweDdlLCAweDc1LCAweDI4LCAweDQxLCAweDEyLCAweDA4LCAweDAxfX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwYywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MGQsIDB4MzgsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGZ9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDFjLCAweDIwLCAweDBhLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDIzLCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgyNywgMHg3ZCwgMHg3NSwgMHgyOCwgMHhjMSwgMHgxMiwgMHgwOCwgMHgwMSwgMHhkMiwgMHgwYywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NWUsIDB4MTIsIDB4MGMsIDB4NDEsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDFjLCAweDEyLCAweDBkLCAweDQ0LCAweDhmLCAweDExLCAweGU1LCAweDFjLCAweGMzLCAweDk1LCAweDEzLCAweDUwLCAweDBmLCAweDEyLCAweDBkLCAweDIwfX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgxMSwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgxMiwgMHg1YywgMHhjMiwgMHgxMiwgMHhlNSwgMHgxY319LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDBlLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwOCwgMHhiNn19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTYsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MTEsIDB4MDIsIDB4ZTUsIDB4MTEsIDB4MzAsIDB4ZTcsIDB4MjQsIDB4ZTUsIDB4MWMsIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MWMsIDB4MjAsIDB4ODUsIDB4MWMsIDB4MjMsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MjcsIDB4N2UsCi0gIDB4NzUsIDB4MjgsIDB4ODAsIDB4MTIsIDB4MGEsIDB4ODYsIDB4ZTUsIDB4MWMsIDB4MjUsIDB4MWMsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsIDB4ODAsIDB4MjcsCi0gIDB4ZTUsIDB4MWMsIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MWMsIDB4M2YsIDB4ODUsIDB4MWMsIDB4MjMsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDgwLCAweGU1LCAweDExLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDI3LCAweDdlLCAweDc1LCAweDI4LCAweDgxLCAweDEyLCAweDA4LCAweDI2LAotICAweGU1LCAweDFjLCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDBkLAotICAweDAzLCAweDAyLCAweDAzLCAweGJhLCAweGU0LCAweGY1LCAweDFiLCAweDc0LCAweDQwLCAweDI1LCAweDFiLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLAotICAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDFiLCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhLCAweDdlLCAweDc5LCAweDAwLCAweDI0fX0sCi0gezB4MDE4NiwgNjQsIHsgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwYSwgMHgwZCwgMHgwNSwgMHgxYiwgMHhlNSwgMHgxYiwgMHhiNCwgMHgyMCwgMHhkNywKLSAgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2ZSwgMHg3ZiwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgxMSwgMHhlMCwgMHhmZCwgMHgxMiwgMHgwYywgMHgxYywKLSAgMHg5MCwgMHg3ZSwgMHgwMSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYiwgMHg1ZSwgMHg5MCwgMHg3ZSwgMHgwMiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYiwgMHg4NCwKLSAgMHhkMiwgMHgxMCwgMHhkMiwgMHgxMSwgMHg3NSwgMHgxYywgMHgwNCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwNSwgMHhjMiwgMHgxMX19LAotIHsweDAxYzYsIDY0LCB7IDB4NDMsIDB4MWMsIDB4YzAsIDB4OTAsIDB4N2UsIDB4MDQsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4NDMsIDB4MWMsIDB4MGIsIDB4ODAsIDB4MTAsCi0gIDB4OTAsIDB4N2UsIDB4MDQsIDB4ZTAsIDB4NjAsIDB4MDcsIDB4YzIsIDB4MTAsIDB4NDMsIDB4MWMsIDB4MDksIDB4ODAsIDB4MDMsIDB4NDMsIDB4MWMsIDB4MDIsCi0gIDB4N2YsIDB4MDMsIDB4YWQsIDB4MWMsIDB4MTIsIDB4MGMsIDB4MWMsIDB4NDMsIDB4MTksIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDR9fSwKLSB7MHgwMjA2LCA2NCwgeyAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDE4LAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE4LCAweGYwLCAweDkwLCAweDdlLCAweDA3LCAweGUwLAotICAweDYwLCAweDQyLCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE1LCAweDA0LCAweDgwLCAweDAzLCAweDUzLCAweDE1LCAweGZiLAotICAweGU0LCAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweDkwLCAweDdlLCAweDA4LCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDE3fX0sCi0gezB4MDI0NiwgNjQsIHsgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHgxNywgMHg3ZiwgMHg1MywgMHgxNywgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHgxNywKLSAgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYiwgMHhkMCwgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYiwgMHhmNiwgMHhhZiwKLSAgMHgxNywgMHgxMiwgMHgwYiwgMHhhYSwgMHg5MCwgMHg3ZSwgMHgwZSwgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHgxOSwKLSAgMHgwMSwgMHg4MCwgMHgwMywgMHg1MywgMHgxOSwgMHhmZSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMH19LAotIHsweDAyODYsIDY0LCB7IDB4ZTUsIDB4MTksIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTksIDB4MDIsIDB4ODAsCi0gIDB4MDMsIDB4NTMsIDB4MTksIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4MTksIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4MTMsIDB4YTMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4MTQsIDB4YTMsCi0gIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4MTksIDB4MTAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4MTksIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzR9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDE5LCAweGYwLCAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDE4LCAweGJmLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDBkLCAweDE0LCAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDE1LAotICAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDE1LCAweDEyLCAweDBjLCAweDFjLCAweGU0LCAweGY1LCAweDBlLCAweGY1LCAweDBkLCAweGQyLCAweDBlfX0sCi0gezB4MDMwNiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgxNSwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgxNSwgMHgxMiwgMHgwYywgMHgxYywgMHg3NSwKLSAgMHgwZCwgMHgwMSwgMHhkMiwgMHgwZSwgMHg5MCwgMHg3ZSwgMHgxOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwKLSAgMHhlNSwgMHgxNiwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhkMiwgMHgwYSwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwKLSAgMHg0MywgMHgxOCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMH19LAotIHsweDAzNDYsIDY0LCB7IDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4MTUsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsCi0gIDB4MWMsIDB4NzUsIDB4MGYsIDB4MDEsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4MTUsIDB4MDEsIDB4ZTQsCi0gIDB4ZmYsIDB4YWQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4ZTQsIDB4ZjUsIDB4MGYsIDB4ZDIsIDB4MGUsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsCi0gIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjB9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDEyLCAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDEwLCAweDAxLAotICAweGU0LCAweGY1LCAweDEyLCAweGQyLCAweDBlLCAweDkwLCAweDdlLCAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLAotICAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLCAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDBjLCAweGMyLCAweDBkLCAweGU0LCAweDkwLAotICAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDE1LCAweDcxLCAweGU1LCAweDEyLCAweDYwLCAweDAyLCAweDE1LCAweDEyLCAweGU1LCAweDJlLCAweGQzfX0sCi0gezB4MDNjNiwgNjQsIHsgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgyZSwgMHg4MCwgMHg2MCwgMHg3NSwgMHgyZSwgMHgwYSwgMHgxMiwgMHgwZCwgMHgxNCwgMHhlZiwgMHg1NCwgMHgwMSwKLSAgMHhmNSwgMHgxYywgMHg2NSwgMHgwZSwgMHg2MCwgMHgwNywgMHg4NSwgMHgxYywgMHgwZSwgMHhkMiwgMHgwZSwgMHg4MCwgMHgxMSwgMHgxMiwgMHgwZCwgMHg1MCwKLSAgMHhlZiwgMHg1NCwgMHgxMCwgMHhmNSwgMHgxYywgMHg2NSwgMHgwOSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxYywgMHgwOSwgMHhkMiwgMHgwZSwgMHgxMiwgMHgwZCwKLSAgMHg1MCwgMHhlZiwgMHg1NCwgMHg4MCwgMHhmNSwgMHgxYywgMHg2NSwgMHgwYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxYywgMHgwYSwgMHhkMiwgMHgwZX19LAotIHsweDA0MDYsIDY0LCB7IDB4MTIsIDB4MGQsIDB4NTAsIDB4ZWYsIDB4NTQsIDB4MjAsIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MGIsIDB4NjAsIDB4MDgsIDB4ODUsIDB4MWMsIDB4MGIsIDB4MzAsIDB4MTAsCi0gIDB4MDIsIDB4ZDIsIDB4MGUsIDB4MTIsIDB4MGQsIDB4NTAsIDB4ZWYsIDB4NTQsIDB4NDAsIDB4ZjUsIDB4MWMsIDB4NjUsIDB4MGMsIDB4NjAsIDB4MDgsIDB4ODUsCi0gIDB4MWMsIDB4MGMsIDB4MzAsIDB4MTEsIDB4MDIsIDB4ZDIsIDB4MGUsIDB4MzAsIDB4MTUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsCi0gIDB4MjMsIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MzAsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjV9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDMxLCAweDkwLCAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LAotICAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA1LCAweDFmLCAweGU1LCAweDI1LAotICAweDcwLCAweDQwLCAweDMwLCAweDBlLCAweDM5LCAweGU1LCAweDEyLCAweDcwLCAweDM1LCAweGMyLCAweDBlLCAweGY1LCAweDFiLCAweDdlLCAweDAwLCAweDdiLAotICAweDAwLCAweDc0LCAweDA4LCAweDI1LCAweDFiLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDA5LCAweGM3LCAweGZmLCAweDc0fX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg4MCwgMHgyNSwgMHgxYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxYiwgMHhlNSwgMHgxYiwgMHhiNCwKLSAgMHgwOSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgxMiwgMHgxMCwgMHhlNCwgMHhmNSwgMHgxMCwgMHg3NSwgMHgyNSwKLSAgMHgwMiwgMHgyMiwgMHhlNSwgMHgyNSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgzNiwgMHgzMCwgMHgwNSwgMHgyZiwgMHhjMiwgMHgwNSwgMHhmNSwgMHgxYiwgMHg3ZSwKLSAgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyOSwgMHgyNSwgMHgxYiwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwOSwgMHhjN319LAotIHsweDA0YzYsIDY0LCB7IDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MWIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MWIsIDB4ZTUsCi0gIDB4MWIsIDB4YjQsIDB4MDUsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4NzUsIDB4MjUsIDB4MDMsIDB4MjIsIDB4ZTUsIDB4MzAsCi0gIDB4NjAsIDB4MzMsIDB4NzUsIDB4MmYsIDB4MDMsIDB4MTUsIDB4MzAsIDB4ZTQsIDB4ZjUsIDB4MWIsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmYsCi0gIDB4MjUsIDB4MWIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MDksIDB4YzcsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MWJ9fSwKLSB7MHgwNTA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDFiLCAweGU1LCAweDFiLCAweGI0LCAweDAzLCAweGRiLCAweDkwLAotICAweDdmLCAweGMzLCAweDc0LCAweDAzLCAweGYwLCAweGU0LCAweGY1LCAweDI1LCAweDIyLCAweDkwLCAweDdmLCAweGU5LCAweGUwLCAweDEyLCAweDBhLCAweDFmLAotICAweDA1LCAweGY2LCAweDAwLCAweDA2LCAweDZhLCAweDAxLCAweDA2LCAweGQ3LCAweDAzLCAweDA1LCAweDQzLCAweDA2LCAweDA1LCAweGU5LCAweDA4LCAweDA1LAotICAweGUzLCAweDA5LCAweDA1LCAweGNiLCAweDBhLCAweDA1LCAweGRhLCAweDBiLCAweDAwLCAweDAwLCAweDA3LCAweDI3LCAweDkwLCAweDdmLCAweGVifX0sCi0gezB4MDU0NiwgNjQsIHsgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxNiwgMHgxNCwgMHg2MCwgMHg1MCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg2ZiwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwKLSAgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgwNCwKLSAgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwKLSAgMHg3NCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDA1ODYsIDY0LCB7IDB4ZTAsIDB4MDQsIDB4NzUsIDB4ODIsIDB4MTcsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MTIsCi0gIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MGEsIDB4NDUsIDB4ZWEsCi0gIDB4NDksIDB4NjAsIDB4MGQsIDB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDR9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDI0LCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLAotICAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDI0LCAweDAyLCAweDA3LCAweDJlLCAweDEyLCAweDA3LCAweDM2LCAweDAyLAotICAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweDAwLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLAotICAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyfX0sCi0gezB4MDYwNiwgNjQsIHsgMHgwMSwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNywgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNywgMHgyZSwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNH19LAotIHsweDA2NDYsIDY0LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4MDIsIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MWUsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsCi0gIDB4MDcsIDB4MmUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDYsIDB4MTIsIDB4MGQsIDB4NjMsIDB4MDIsIDB4MDcsIDB4MmV9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA3LCAweDJlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDM4LCAweDkwLAotICAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LAotICAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLAotICAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NywKLSAgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg0YiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwKLSAgMHhiNCwgMHgwMSwgMHgwNSwgMHgxMiwgMHgwZCwgMHg2MCwgMHg4MCwgMHgzZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwKLSAgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZn19LAotIHsweDA3MDYsIDY0LCB7IDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsCi0gIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE4LAotICAweGYwLCAweGU0LCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGRlLCAweGYwLCAweGU0LCAweGY1LAotICAweDA4LCAweDdmLCAweDAxLCAweDdiLCAweDAwLCAweDc0LCAweDA4LCAweDJmLCAweGY5LCAweGU0LCAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBhLAotICAweDBkLCAweDBmLCAweGJmLCAweDA5LCAweGVlLCAweDc1LCAweDEzLCAweDAxLCAweGU0LCAweGY1LCAweDEyLCAweGY1LCAweDJlLCAweGY1LCAweDExfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhjMiwgMHgwZSwgMHhjMiwgMHgxMiwgMHhjMiwgMHgwZCwgMHhjMiwgMHgwYSwgMHhjMiwgMHgwZiwgMHhjMiwgMHgwNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywKLSAgMHhmMCwgMHg3NSwgMHgxOCwgMHgwMywgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHgwMywgMHhmMCwgMHg3ZiwgMHgwYywgMHhlNCwgMHhmZCwgMHgxMiwgMHgwYywKLSAgMHgxYywgMHg3ZiwgMHgxMCwgMHg4ZiwgMHgxNywgMHgxMiwgMHgwYiwgMHhhYSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwKLSAgMHg4ZiwgMHgxNiwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgwYywgMHgxY319LAotIHsweDA3YzYsIDY0LCB7IDB4ZTQsIDB4ZmYsIDB4N2UsIDB4YTMsIDB4YWQsIDB4MDYsIDB4OGQsIDB4MTUsIDB4MTIsIDB4MGMsIDB4MWMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MGMsIDB4MWMsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MGMsCi0gIDB4YWMsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MGMsIDB4MWMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzUsIDB4MTksCi0gIDB4ODAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTB9fSwKLSB7MHgwODA2LCA2NCwgeyAweGYwLCAweGFmLCAweDIzLCAweGU1LCAweDI4LCAweGY1LCAweDgyLCAweGU1LCAweDI3LCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLAotICAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweGFmLCAweDIzLCAweGU1LCAweDI4LCAweGY1LCAweDgyLCAweGU1LCAweDI3LCAweGY1LCAweDgzLCAweGMyLAotICAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwgMHgyMywgMHhlNSwgMHgyOCwgMHhmNSwgMHg4MiwKLSAgMHhlNSwgMHgyNywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwKLSAgMHg4NiwgMHhmMCwgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHhhZiwKLSAgMHgyMywgMHhlNSwgMHgyOCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgyNywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMH19LAotIHsweDA4ODYsIDY0LCB7IDB4MDAsIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4NzQsIDB4MDAsCi0gIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4ZjksIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4NzgsCi0gIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzEsIDB4MDIsIDB4MDgsIDB4ZmQsIDB4MDIsIDB4MDksIDB4NDIsIDB4ZTR9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LAotICAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLAotICAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLAotICAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBjLCAweGNkLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwKLSAgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwKLSAgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwKLSAgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHhkMiwgMHgxNCwgMHg5MCwgMHg3Zn19LAotIHsweDA5NDYsIDY0LCB7IDB4OTIsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MTIsIDB4MGQsIDB4NjMsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4YWUsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4MTUsIDB4MTIsIDB4MGMsIDB4NjYsIDB4YzIsIDB4MDIsIDB4ZTQsIDB4ZjV9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDI2LCAweGY1LCAweDJlLCAweGMyLCAweDA4LCAweGMyLCAweDAzLCAweDkwLCAweDdmLCAweGExLCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LAotICAweDFhLCAweDYwLCAweDEwLCAweDMwLCAweDAzLCAweDA1LCAweGQyLCAweDE1LCAweDEyLCAweDAwLCAweDQ2LCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LAotICAweDFhLCAweDgwLCAweDA4LCAweDMwLCAweDAzLCAweDA1LCAweGMyLCAweDE1LCAweDEyLCAweDAwLCAweDQ2LCAweDMwLCAweDAyLCAweDA3LCAweGMyLCAweDAyLAotICAweDEyLCAweDA1LCAweDIwLCAweDgwLCAweGQ2LCAweDMwLCAweDA5LCAweGQzLCAweGMyLCAweDA5LCAweDEyLCAweDBhLCAweGJhLCAweDgwLCAweGNjfX0sCi0gezB4MDljNiwgNjQsIHsgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhlNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMiwKLSAgMHhlMywgMHgyMiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwKLSAgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwKLSAgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNX19LAotIHsweDBhMDYsIDY0LCB7IDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZjAsIDB4MjIsIDB4NTAsCi0gIDB4MDIsIDB4ZjcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDEsIDB4ZjMsIDB4MjIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsCi0gIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsCi0gIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4OGZ9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweDFiLCAweGU0LCAweGY1LCAweDFjLCAweDc1LCAweDFkLCAweGZmLCAweDc1LCAweDFlLCAweDE5LCAweDc1LCAweDFmLCAweDg2LCAweGFiLCAweDFkLCAweGFhLCAweDFlLAotICAweGE5LCAweDFmLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA5LCAweGUwLCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDFjLCAweDA1LCAweDFjLCAweGVmLAotICAweGI1LCAweDFiLCAweDAxLCAweDIyLCAweDEyLCAweDA5LCAweGM3LCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LAotICAweDFkLCAweGZmLCAweGY1LCAweDFlLCAweDg5LCAweDFmLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyfX0sCi0gezB4MGE4NiwgNjQsIHsgMHgwNSwgMHgyOCwgMHhlNSwgMHgyOCwgMHhhZSwgMHgyNywgMHg3MCwgMHgwMiwgMHgwNSwgMHgyNywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxMSwKLSAgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHgwNSwgMHgyOCwgMHhlNSwgMHgyOCwgMHhhYywgMHgyNywgMHg3MCwgMHgwMiwgMHgwNSwgMHgyNywgMHgxNCwgMHhmNSwKLSAgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgyMywgMHhlNSwgMHgyMywgMHg2MCwgMHgwNywgMHgxMiwgMHgwZCwgMHg0NCwgMHg4ZiwgMHgxMSwKLSAgMHg4MCwgMHhjZCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkOCwgMHhlMCwgMHhmNSwgMHgxYiwgMHgxMiwgMHgwMCwgMHgwMywgMHg5MCwgMHg3ZiwgMHhkNn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4MTIsIDB4MDgsIDB4YTYsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGUsIDB4MzAsIDB4MDEsIDB4MDUsCi0gIDB4MTIsIDB4MGMsIDB4ZmUsIDB4ODAsIDB4MDYsIDB4MTIsIDB4MGMsIDB4OGIsIDB4ZWYsIDB4NjAsIDB4ZTEsIDB4MTIsIDB4MDcsIDB4MzYsIDB4MjIsIDB4YzAsCi0gIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsCi0gIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDAyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLAotICAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhkMiwgMHgwOSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwKLSAgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDBiODYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTN9fSwKLSB7MHgwYmM2LCA2NCwgeyAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDE4LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0fX0sCi0gezB4MGMwNiwgNjQsIHsgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHgxOCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgwZCwgMHgyYywgMHg4ZiwgMHgxZH19LAotIHsweDBjNDYsIDY0LCB7IDB4MTIsIDB4MGQsIDB4MmMsIDB4OGYsIDB4MWUsIDB4ZTUsIDB4MWQsIDB4NjUsIDB4MWUsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MGQsIDB4MmMsIDB4OGYsIDB4MWQsIDB4ZTUsCi0gIDB4MWQsIDB4NjUsIDB4MWUsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MGQsIDB4MmMsIDB4OGYsIDB4MWUsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MWQsIDB4MjIsIDB4OTAsCi0gIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MTUsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsCi0gIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MGMsIDB4ZTcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjB9fSwKLSB7MHgwYzg2LCA2NCwgeyAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDFjLCAweDEyLCAweDA3LCAweDM2LCAweDEyLCAweDBkLCAweDUwLAotICAweGVmLCAweDMwLCAweGU2LCAweDBiLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDFjLCAweDYwLCAweGYxLCAweDdmLCAweDAxLCAweDIyLCAweDEyLAotICAweDAwLCAweDAzLCAweDdmLCAweDAwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDE1LCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDBjLAotICAweDFjLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDE1fX0sCi0gezB4MGNjNiwgNjQsIHsgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwgMHgwYywgMHgxYywgMHgyMiwgMHgwNSwgMHgyOSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgyZiwgMHgwMywKLSAgMHgwMCwgMHgwMCwgMHhjMSwgMHg4NiwgMHhjMSwgMHgwMiwgMHhjMSwgMHgwOSwgMHhjMSwgMHgwMSwgMHhjMSwgMHgwNywgMHgwMSwgMHgyNSwgMHgwMCwgMHgwMCwKLSAgMHg4ZSwgMHgxYywgMHg4ZiwgMHgxZCwgMHhlNSwgMHgxZCwgMHgxNSwgMHgxZCwgMHhhZSwgMHgxYywgMHg3MCwgMHgwMiwgMHgxNSwgMHgxYywgMHg0ZSwgMHg2MCwKLSAgMHgwNSwgMHgxMiwgMHgwOCwgMHg5NSwgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3Zn19LAotIHsweDBkMDYsIDY0LCB7IDB4MGQsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGMsIDB4ZTcsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsCi0gIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDUzLCAweGQ4LCAweGVmLCAweDMyLCAweGQyLCAweDAxLCAweDIyLCAweGMyLCAweDAxLCAweDIyLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBkYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGIsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MGV9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBhLCAweGU2LCAweDAwLCAweDAyLCAweDBiLCAweDM3LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBlODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGYwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDBmNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MGZjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEwYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDExODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEyNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTJjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzMDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MDgsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOF9mdy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjhfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ4YjBhMi4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOF9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDY2ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMjhfZncuaAotCi0JVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gYXMga2V5c3Bhbl91c2EyOF9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTI4X2Zpcm13YXJlW10gPSB7Ci0gezB4MDAyNiwgMTAsIHsgMHgxMiwgMHgxNywgMHhkYiwgMHgxMiwgMHgxOCwgMHhiNSwgMHgxMiwgMHgxNCwgMHhjMywgMHgyMn19LAotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MDAsIDB4MWR9fSwKLSB7MHgwMDFkLCAgNCwgeyAweDUzLCAweGQ4LCAweGVmLCAweDMyfX0sCi0gezB4MDAwNiwgMTYsIHsgMHg4ZSwgMHgxMiwgMHg4ZiwgMHgxMywgMHhlNSwgMHgxMywgMHgxNSwgMHgxMywgMHhhZSwgMHgxMiwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxMiwgMHg0ZSwgMHg2MH19LAotIHsweDAwMTYsICA3LCB7IDB4MDUsIDB4MTIsIDB4MTgsIDB4YTQsIDB4ODAsIDB4ZWUsIDB4MjJ9fSwKLSB7MHgwMDAzLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDA0NiwgMTYsIHsgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOH19LAotIHsweDAwNTYsIDE2LCB7IDB4MzAsIDB4OTksIDB4MGUsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YTIsIDB4MTcsIDB4OTIsIDB4OWIsIDB4ODUsIDB4NDYsIDB4OTksIDB4YzIsIDB4OTksIDB4ZDJ9fSwKLSB7MHgwMDY2LCAxNiwgeyAweDFmLCAweDMwLCAweGMxLCAweDBlLCAweDMwLCAweDEyLCAweDA3LCAweGEyLCAweDE4LCAweDkyLCAweGMzLCAweDg1LCAweDQ3LCAweGMxLCAweGMyLCAweGMxfX0sCi0gezB4MDA3NiwgMTYsIHsgMHhkMiwgMHgyMCwgMHgyMCwgMHgxZiwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MiwgMHhjMiwgMHgxZiwgMHgyMCwgMHgwMywgMHgwMywgMHgwMiwgMHgwMiwgMHg2N319LAotIHsweDAwODYsIDE2LCB7IDB4MjAsIDB4MTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4MzgsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4M2UsIDB4MjAsIDB4MTMsIDB4MzZ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweDIwLCAweDBiLCAweDMzLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDI5LCAweDMwLCAweDFiLCAweDEyfX0sCi0gezB4MDBhNiwgMTYsIHsgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxM319LAotIHsweDAwYjYsIDE2LCB7IDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGUwLCAweGY1LCAweDQ2LCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwfX0sCi0gezB4MDBkNiwgMTYsIHsgMHhjMiwgMHgwMywgMHgzMCwgMHgxNSwgMHgwYywgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiZiwgMHgwNCwgMHhmMCwgMHhjMiwgMHgxMSwgMHgwMiwgMHgwNH19LAotIHsweDAwZTYsIDE2LCB7IDB4NDAsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDUsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4Yzl9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGUwLCAweGY1LCAweDdjLCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDIwLCAweDEzLCAweDJkLCAweDIwLCAweDBiLCAweDJhfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxYiwgMHgwMH19LAotIHsweDAwMjMsICAzLCB7IDB4MDIsIDB4MDAsIDB4NDZ9fSwKLSB7MHgwMDNiLCAgMywgeyAweDAyLCAweDAwLCAweDQ2fX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgxNiwgMHgzZH19LAotIHsweDAxMDYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4MjAsIDB4MzAsIDB4MWIsIDB4MTEsIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsCi0gIDB4MTMsIDB4OTIsIDB4MTcsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4NzUsIDB4NGEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDIsCi0gIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4MDIsIDB4MDQsIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDEsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsCi0gIDB4NDAsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTB9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDIxLCAweGMyLCAweDA1LCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGY1LCAweDdjLCAweDkwLAotICAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDAxLCAweGQ4LCAweDIwLCAweDBiLCAweDcyLCAweDIwLAotICAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDY1LCAweDMwLCAweDFiLCAweDEwLCAweDkwLAotICAweDdlLCAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDliLCAweGEzLCAweGUwLCAweGY1LCAweDk5LCAweDc1LCAweDRhLCAweDAzLCAweDgwLCAweDA5fX0sCi0gezB4MDE4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHg5OSwgMHg3NSwgMHg0YSwgMHgwMiwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg0MCwgMHgxNywgMHg5MCwKLSAgMHg3ZiwgMHhjNywgMHhlNCwgMHhmMCwgMHhjMiwgMHgwMywgMHgyMCwgMHgxNSwgMHgwMywgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgxNSwgMHg5MCwgMHg3ZiwKLSAgMHhiZiwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwNCwgMHg0MCwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YX19LAotIHsweDAxYzYsIDY0LCB7IDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDIsIDB4MTEsIDB4MDIsIDB4MDQsCi0gIDB4NDAsIDB4NzUsIDB4NGEsIDB4MDEsIDB4YzIsIDB4MjEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4MzAsIDB4MTMsIDB4MDMsIDB4MDIsIDB4MDIsIDB4NjIsIDB4MjAsCi0gIDB4MGIsIDB4NzksIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4NmYsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWUsCi0gIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTN9fSwKLSB7MHgwMjA2LCA2NCwgeyAweDkyLCAweDliLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLAotICAweGY1LCAweDk5LCAweGU1LCAweDRhLCAweGMzLCAweDk1LCAweDdjLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGM3LCAweGU0LCAweGYwLCAweGMyLCAweDAzLAotICAweDIwLCAweDE1LCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweGMyLCAweDE1LCAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDQwLAotICAweDMwLCAweDFiLCAweDEyLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlfX0sCi0gezB4MDI0NiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMiwgMHgxMSwgMHgwMiwgMHgwNCwgMHg0MCwgMHhjMiwgMHgyMSwgMHgwMiwgMHgwNCwgMHg0MCwKLSAgMHgyMCwgMHgxMSwgMHgwMywgMHgwMiwgMHgwMywgMHgxOSwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgzZSwgMHgyMCwgMHgxMywgMHgzNiwKLSAgMHgyMCwgMHgwYiwgMHgzMywgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHgyOSwgMHgzMCwgMHgxYn19LAotIHsweDAyODYsIDY0LCB7IDB4MTIsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTEsIDB4MDIsIDB4MDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsCi0gIDB4ZDIsIDB4MDMsIDB4MzAsIDB4MTUsIDB4MGMsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4YzIsIDB4MTEsIDB4MDJ9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM2LCAweGUwLCAweDMwLCAweGUxLCAweDA1LCAweGMyLCAweDExLCAweDAyLCAweDA0LCAweDQwLCAweDkwLCAweDdmLCAweGM3LAotICAweGUwLCAweGY1LCAweDdjLCAweDkwLCAweDdlLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE1LCAweDIwLCAweDEzLCAweDJkLCAweDIwLCAweDBiLCAweDJhLAotICAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDIwLCAweDFjLCAweDIwLCAweDMwLCAweDFiLCAweDExLCAweDkwLCAweDdlLCAweDQxLAotICAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGEzLCAweGUwLCAweGY1LCAweDQ2LCAweDc1LCAweDRhLCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweDc1fX0sCi0gezB4MDMwNiwgNjQsIHsgMHg0YSwgMHgwMiwgMHg5MCwgMHg3ZSwgMHg0MSwgMHhlMCwgMHhmNSwgMHg0NiwgMHgwMiwgMHgwNCwgMHg0MCwgMHg3NSwgMHg0YSwgMHgwMSwgMHhjMiwgMHgxMSwgMHgwMiwKLSAgMHgwNCwgMHg0MCwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgwMywgMHgwMiwgMHgwMywgMHhjMSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwKLSAgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgyMSwgMHhjMiwgMHgwNSwgMHgwMiwgMHgwNCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmNSwgMHg3YywKLSAgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHgzMCwgMHgxMywgMHgwMywgMHgwMiwgMHgwMywgMHhiOSwgMHgyMCwgMHgwYn19LAotIHsweDAzNDYsIDY0LCB7IDB4NzIsIDB4MjAsIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4MjAsIDB4ZTMsIDB4MDMsIDB4MjAsIDB4MWMsIDB4NjUsIDB4MzAsIDB4MWIsIDB4MTAsCi0gIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4OWIsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4NGEsIDB4MDMsIDB4ODAsIDB4MDksCi0gIDB4OTAsIDB4N2QsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4OTksIDB4NzUsIDB4NGEsIDB4MDIsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NDAsIDB4MTcsCi0gIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4MjAsIDB4MTUsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NDAsIDB4YzIsIDB4MTV9fSwKLSB7MHgwMzg2LCA2NCwgeyAweDkwLCAweDdmLCAweGJmLCAweDA0LCAweGYwLCAweDAyLCAweDA0LCAweDQwLCAweDMwLCAweDFiLCAweDEyLCAweGFlLCAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFlLCAweDRhLCAweDA1LCAweDRhLAotICAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LCAweGQyLCAweDExLCAweDAyLAotICAweDA0LCAweDQwLCAweDc1LCAweDRhLCAweDAxLCAweGMyLCAweDIxLCAweDAyLCAweDA0LCAweDQwLCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDA0fX0sCi0gezB4MDNjNiwgNjQsIHsgMHgzZSwgMHgyMCwgMHgwYiwgMHg3NCwgMHg5MCwgMHg3ZiwgMHg5YiwgMHhlMCwgMHgyMCwgMHhlMywgMHgwMywgMHgyMCwgMHgxYywgMHg2YSwgMHgzMCwgMHgxYiwgMHgxMiwKLSAgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywKLSAgMHg5MiwgMHg5YiwgMHhhZSwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywKLSAgMHhlMCwgMHhmNSwgMHg5OSwgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg0MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlNCwgMHhmMH19LAotIHsweDA0MDYsIDY0LCB7IDB4ZDIsIDB4MDMsIDB4MzAsIDB4MTUsIDB4MzUsIDB4YzIsIDB4MTUsIDB4OTAsIDB4N2YsIDB4YmYsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MWIsIDB4MTIsCi0gIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MTcsIDB4YWUsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4ZjUsIDB4NDYsIDB4ZDIsIDB4MTEsIDB4ODAsIDB4MDIsIDB4YzIsIDB4MjEsIDB4ZDIsIDB4MjUsIDB4MjAsIDB4MjAsIDB4MDMsIDB4MDJ9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDA4LCAweDBjLCAweGMyLCAweDIwLCAweDIwLCAweDA0LCAweDAzLCAweDAyLCAweDA2LCAweDMxLCAweDIwLCAweDEyLCAweDAzLCAweDAyLCAweDA1LCAweDAyLCAweGU1LAotICAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDUwLCAweDNlLCAweDIwLCAweDE0LCAweDM2LCAweDIwLCAweDBkLCAweDMzLCAweDkwLCAweDdmLCAweDlhLCAweGUwLAotICAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDI5LCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweDQwLCAweDJlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRifX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywgMHgwMiwgMHgwOCwgMHgwYSwgMHhjMiwKLSAgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlNCwgMHhmMCwgMHhjMiwgMHgwNCwgMHgzMCwgMHgxNiwgMHgwYywgMHhjMiwgMHgxNiwKLSAgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYywgMHhlMCwgMHgzMCwgMHhlMSwKLSAgMHgwNSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmNSwgMHg3ZCwgMHg5MCwgMHg3YywgMHhjMH19LAotIHsweDA0YzYsIDY0LCB7IDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTYsIDB4MjAsIDB4MTQsIDB4MmQsIDB4MjAsIDB4MGQsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsCi0gIDB4MjAsIDB4MWUsIDB4MjAsIDB4MzAsIDB4MWQsIDB4MTEsIDB4OTAsIDB4N2MsIDB4YzEsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4ZjUsCi0gIDB4NDcsIDB4NzUsIDB4NGIsIDB4MDMsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDIsIDB4OTAsIDB4N2MsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4NDcsCi0gIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDEsIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDdkLCAweDUwLCAweDAzLCAweDAyLCAweDA1LCAweGFhLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDMwLCAweGUxLCAweDA3LCAweGMyLCAweDIyLCAweGMyLCAweDA2LAotICAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGY1LCAweDdkLCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDE2LAotICAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDA1LCAweGEyLCAweDIwLCAweDBkLCAweDcyLCAweDIwLCAweDAwLCAweDZmLCAweDkwLCAweDdmLCAweDlhLCAweGUwLAotICAweDIwLCAweGU1LCAweDAzLCAweDIwLCAweDFlLCAweDY1LCAweDMwLCAweDFkLCAweDEwLCAweDkwLCAweDdkLCAweDQxLCAweGUwLCAweDEzLCAweDkyfX0sCi0gezB4MDU0NiwgNjQsIHsgMHhjMywgMHhhMywgMHhlMCwgMHhmNSwgMHhjMSwgMHg3NSwgMHg0YiwgMHgwMywgMHg4MCwgMHgwOSwgMHg5MCwgMHg3ZCwgMHg0MSwgMHhlMCwgMHhmNSwgMHhjMSwgMHg3NSwKLSAgMHg0YiwgMHgwMiwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg0MCwgMHgxNywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlNCwgMHhmMCwgMHhjMiwgMHgwNCwKLSAgMHgyMCwgMHgxNiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwgMHhjMiwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhjMSwgMHgwNCwgMHhmMCwgMHgwMiwgMHgwOCwgMHgwYSwKLSAgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZH19LAotIHsweDA1ODYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsCi0gIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4ZDIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4NzUsIDB4NGIsIDB4MDEsIDB4YzIsIDB4MjIsCi0gIDB4MDIsIDB4MDgsIDB4MGEsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDYsIDB4MmMsIDB4MjAsIDB4MGQsIDB4NzksIDB4OTAsIDB4N2YsIDB4OWEsIDB4ZTAsCi0gIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4NmYsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4NDB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweGMzLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LAotICAweDQwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGMxLCAweGU1LCAweDRiLCAweGMzLCAweDk1LAotICAweDdkLCAweDQwLCAweDE3LCAweDkwLCAweDdmLCAweGNiLCAweGU0LCAweGYwLCAweGMyLCAweDA0LCAweDIwLCAweDE2LCAweDAzLCAweDAyLCAweDA4LCAweDBhLAotICAweGMyLCAweDE2LCAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweDAyLCAweDA4LCAweDBhLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRifX0sCi0gezB4MDYwNiwgNjQsIHsgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZSwKLSAgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NywKLSAgMHhkMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHhjMiwgMHgyMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHgyMCwgMHgxMiwgMHgwMywgMHgwMiwgMHgwNiwgMHhlMywKLSAgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg1MCwgMHgzZSwgMHgyMCwgMHgxNCwgMHgzNiwgMHgyMCwgMHgwZCwgMHgzMywgMHg5MCwgMHg3Zn19LAotIHsweDA2NDYsIDY0LCB7IDB4OWEsIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4MjksIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsCi0gIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4MDIsIDB4MDgsIDB4MGEsCi0gIDB4YzIsIDB4MTIsIDB4MDIsIDB4MDgsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4MTYsIDB4MGN9fSwKLSB7MHgwNjg2LCA2NCwgeyAweGMyLCAweDE2LCAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDMwLAotICAweGUxLCAweDA1LCAweGMyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweGY1LCAweDdkLCAweDkwLCAweDdkLCAweDQwLAotICAweGUwLCAweDEzLCAweDkyLCAweDE2LCAweDIwLCAweDE0LCAweDJkLCAweDIwLCAweDBkLCAweDJhLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDIwLCAweGU1LAotICAweDAzLCAweDIwLCAweDFlLCAweDIwLCAweDMwLCAweDFkLCAweDExLCAweDkwLCAweDdkLCAweDQxLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGEzfX0sCi0gezB4MDZjNiwgNjQsIHsgMHhlMCwgMHhmNSwgMHg0NywgMHg3NSwgMHg0YiwgMHgwMywgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMiwgMHg5MCwgMHg3ZCwgMHg0MSwgMHhlMCwgMHhmNSwKLSAgMHg0NywgMHgwMiwgMHgwOCwgMHgwYSwgMHg3NSwgMHg0YiwgMHgwMSwgMHhjMiwgMHgxMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwKLSAgMHg3ZCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwNywgMHg4YiwgMHg5MCwgMHg3ZiwgMHhjYywgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNywgMHhjMiwgMHgyMiwgMHhjMiwKLSAgMHgwNiwgMHgwMiwgMHgwOCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmNSwgMHg3ZCwgMHg5MCwgMHg3YywgMHhjMCwgMHhlMCwgMHgxM319LAotIHsweDA3MDYsIDY0LCB7IDB4OTIsIDB4MTYsIDB4MzAsIDB4MTQsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ODMsIDB4MjAsIDB4MGQsIDB4NzIsIDB4MjAsIDB4MDAsIDB4NmYsIDB4OTAsIDB4N2YsIDB4OWEsCi0gIDB4ZTAsIDB4MjAsIDB4ZTUsIDB4MDMsIDB4MjAsIDB4MWUsIDB4NjUsIDB4MzAsIDB4MWQsIDB4MTAsIDB4OTAsIDB4N2MsIDB4YzEsIDB4ZTAsIDB4MTMsIDB4OTIsCi0gIDB4YzMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4YzEsIDB4NzUsIDB4NGIsIDB4MDMsIDB4ODAsIDB4MDksIDB4OTAsIDB4N2MsIDB4YzEsIDB4ZTAsIDB4ZjUsIDB4YzEsCi0gIDB4NzUsIDB4NGIsIDB4MDIsIDB4ZTUsIDB4NGIsIDB4YzMsIDB4OTUsIDB4N2QsIDB4NDAsIDB4MTcsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTQsIDB4ZjB9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGQyLCAweDA0LCAweDIwLCAweDE2LCAweDAzLCAweDAyLCAweDA4LCAweDBhLCAweGMyLCAweDE2LCAweDkwLCAweDdmLCAweGMxLCAweDA0LCAweGYwLCAweDAyLCAweDA4LAotICAweDBhLCAweDMwLCAweDFkLCAweDEyLCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLAotICAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFlLCAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LCAweGQyLCAweDEyLCAweDAyLCAweDA4LCAweDBhLCAweDc1LCAweDRiLCAweDAxfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhjMiwgMHgyMiwgMHgwMiwgMHgwOCwgMHgwYSwgMHgzMCwgMHgxNCwgMHgwMywgMHgwMiwgMHgwOCwgMHgwOCwgMHgyMCwgMHgwZCwgMHg3NCwgMHg5MCwgMHg3ZiwgMHg5YSwKLSAgMHhlMCwgMHgyMCwgMHhlNSwgMHgwMywgMHgyMCwgMHgxZSwgMHg2YSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHhjMCwKLSAgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHhjMywgMHhhZSwgMHg0YiwgMHgwNSwgMHg0YiwKLSAgMHg3NCwgMHhjMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhjMSwgMHhlNSwgMHg0Yn19LAotIHsweDA3YzYsIDY0LCB7IDB4YzMsIDB4OTUsIDB4N2QsIDB4NDAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTQsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4MzAsIDB4MTYsIDB4MzUsIDB4YzIsIDB4MTYsCi0gIDB4OTAsIDB4N2YsIDB4YzEsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MmMsIDB4MzAsIDB4MWQsIDB4MTIsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MTgsIDB4YWUsIDB4NGIsIDB4MDUsIDB4NGIsCi0gIDB4NzQsIDB4YzAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4ZDIsIDB4MTJ9fSwKLSB7MHgwODA2LCA2NCwgeyAweDgwLCAweDAyLCAweGMyLCAweDIyLCAweGQyLCAweDI1LCAweDIwLCAweDk4LCAweDAzLCAweDAyLCAweDA5LCAweDNlLCAweGMyLCAweDk4LCAweDIwLCAweDAxLCAweDAzLAotICAweDAyLCAweDA4LCAweGIwLCAweDIwLCAweDIzLCAweDI3LCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LAotICAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk5LCAweGYwLCAweDMwLCAweDFiLCAweDQ5LCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDgwLAotICAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LCAweGYwLCAweDgwLCAweDM2LCAweGFmLCAweDk5fX0sCi0gezB4MDg0NiwgNjQsIHsgMHhlZiwgMHhiNSwgMHg1OCwgMHgwNCwgMHhkMiwgMHgwYiwgMHg4MCwgMHgyYywgMHhlZiwgMHhiNSwgMHg1NywgMHgwNCwgMHhjMiwgMHgwYiwgMHg4MCwgMHgyNCwgMHhhZSwKLSAgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgzMCwKLSAgMHgxYiwgMHgxMSwgMHhhZSwgMHg0OCwgMHgwNSwgMHg0OCwgMHg3NCwgMHg4MCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywKLSAgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgxOSwgMHhlNSwgMHg0OCwgMHhjMywgMHg5NSwgMHg1NCwgMHg1MCwgMHgwMywgMHgwMiwgMHgwOSwgMHgzY319LAotIHsweDA4ODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4YjgsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MTUsIDB4ZTUsIDB4NDgsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MDMsIDB4MDIsIDB4MDksIDB4M2MsCi0gIDB4MTUsIDB4NDgsIDB4MTUsIDB4NDgsIDB4MDUsIDB4MmQsIDB4ZDIsIDB4MGMsIDB4MDIsIDB4MDksIDB4M2MsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZTUsIDB4NDgsCi0gIDB4ZjAsIDB4NzUsIDB4NDgsIDB4MDAsIDB4YzIsIDB4MDEsIDB4MDIsIDB4MDksIDB4M2MsIDB4MjAsIDB4MjMsIDB4MjcsIDB4YWUsIDB4NDgsIDB4MDUsIDB4NDgsCi0gIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2UsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4OTksIDB4ZjAsIDB4MzAsIDB4MWJ9fSwKLSB7MHgwOGM2LCA2NCwgeyAweDQ5LCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGU1LCAweDk4LAotICAweGYwLCAweDgwLCAweDM2LCAweGFmLCAweDk5LCAweGVmLCAweGI1LCAweDU4LCAweDA0LCAweGQyLCAweDBiLCAweDgwLCAweDJjLCAweGVmLCAweGI1LCAweDU3LAotICAweDA0LCAweGMyLCAweDBiLCAweDgwLCAweDI0LCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdlLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDMwLCAweDFiLCAweDExLCAweGFlLCAweDQ4LCAweDA1LCAweDQ4LCAweDc0LCAweDAwLCAweDJlfX0sCi0gezB4MDkwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlNSwgMHg5OCwgMHhmMCwgMHhkMiwgMHgxOSwgMHhlNSwgMHg0OCwgMHhjMywgMHg5NSwgMHg1NCwKLSAgMHg0MCwgMHgyMywgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMSwgMHhlNSwgMHg0OCwgMHhjMywgMHg5NCwgMHg0MCwgMHg0MCwgMHgxNSwKLSAgMHgxNSwgMHg0OCwgMHgxNSwgMHg0OCwgMHgwNSwgMHgyZCwgMHhkMiwgMHgwYywgMHg4MCwgMHgwYiwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhlNSwgMHg0OCwgMHhmMCwKLSAgMHg3NSwgMHg0OCwgMHgwMCwgMHhkMiwgMHgwMSwgMHhkMiwgMHgyNSwgMHgyMCwgMHhjMCwgMHgwMywgMHgwMiwgMHgwYSwgMHg3MCwgMHhjMiwgMHhjMH19LAotIHsweDA5NDYsIDY0LCB7IDB4MjAsIDB4MDIsIDB4MDMsIDB4MDIsIDB4MDksIDB4ZTIsIDB4MjAsIDB4MjQsIDB4MjcsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzEsIDB4ZjAsIDB4MzAsIDB4MWQsIDB4NDksIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksCi0gIDB4NzQsIDB4ODAsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzAsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4YWYsCi0gIDB4YzEsIDB4ZWYsIDB4YjUsIDB4NzAsIDB4MDQsIDB4ZDIsIDB4MGQsIDB4ODAsIDB4MmMsIDB4ZWYsIDB4YjUsIDB4NmYsIDB4MDQsIDB4YzIsIDB4MGR9fSwKLSB7MHgwOTg2LCA2NCwgeyAweDgwLCAweDI0LCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGVmLAotICAweGYwLCAweDMwLCAweDFkLCAweDExLCAweGFlLCAweDQ5LCAweDA1LCAweDQ5LCAweDc0LCAweDgwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLAotICAweGY1LCAweDgzLCAweGU1LCAweGMwLCAweGYwLCAweGQyLCAweDFhLCAweGU1LCAweDQ5LCAweGMzLCAweDk1LCAweDZjLCAweDUwLCAweDAzLCAweDAyLCAweDBhLAotICAweDZlLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDMwLCAweGUxLCAweDE1LCAweGU1LCAweDQ5LCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDAzfX0sCi0gezB4MDljNiwgNjQsIHsgMHgwMiwgMHgwYSwgMHg2ZSwgMHgxNSwgMHg0OSwgMHgxNSwgMHg0OSwgMHgwNSwgMHgzOSwgMHhkMiwgMHgwZSwgMHgwMiwgMHgwYSwgMHg2ZSwgMHg5MCwgMHg3ZiwgMHhiYiwKLSAgMHhlNSwgMHg0OSwgMHhmMCwgMHg3NSwgMHg0OSwgMHgwMCwgMHhjMiwgMHgwMiwgMHgwMiwgMHgwYSwgMHg2ZSwgMHgyMCwgMHgyNCwgMHgyNywgMHhhZSwgMHg0OSwKLSAgMHgwNSwgMHg0OSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlNSwgMHhjMSwgMHhmMCwgMHgzMCwKLSAgMHgxZCwgMHg0OSwgMHhhZSwgMHg0OSwgMHgwNSwgMHg0OSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNX19LAotIHsweDBhMDYsIDY0LCB7IDB4ODMsIDB4ZTUsIDB4YzAsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4YWYsIDB4YzEsIDB4ZWYsIDB4YjUsIDB4NzAsIDB4MDQsIDB4ZDIsIDB4MGQsIDB4ODAsIDB4MmMsIDB4ZWYsCi0gIDB4YjUsIDB4NmYsIDB4MDQsIDB4YzIsIDB4MGQsIDB4ODAsIDB4MjQsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4MDAsIDB4MmUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MzAsIDB4MWQsIDB4MTEsIDB4YWUsIDB4NDksIDB4MDUsIDB4NDksIDB4NzQsIDB4MDAsCi0gIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4YzAsIDB4ZjAsIDB4ZDIsIDB4MWEsIDB4ZTUsIDB4NDl9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGMzLCAweDk1LCAweDZjLCAweDQwLCAweDIzLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweDMwLCAweGUxLCAweDExLCAweGU1LCAweDQ5LCAweGMzLCAweDk0LCAweDQwLAotICAweDQwLCAweDE1LCAweDE1LCAweDQ5LCAweDE1LCAweDQ5LCAweDA1LCAweDM5LCAweGQyLCAweDBlLCAweDgwLCAweDBiLCAweDkwLCAweDdmLCAweGJkLCAweGU1LAotICAweDQ5LCAweGYwLCAweDc1LCAweDQ5LCAweDAwLCAweGQyLCAweDAyLCAweGQyLCAweDI1LCAweDMwLCAweDI1LCAweDA1LCAweGMyLCAweDI1LCAweDAyLCAweDAwLAotICAweDU2LCAweGQwLCAweGQwLCAweGQwLCAweDg2LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLCAweGNlfX0sCi0gezB4MGE4NiwgNjQsIHsgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwYiwgMHhhNSwgMHhlNCwgMHhmNSwgMHgxMiwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxMiwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxMiwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHg0YywgMHhmOSwgMHhlYywKLSAgMHgzNCwgMHgwMCwgMHhmYSwgMHhlZiwgMHgxMiwgMHgxNSwgMHhjZCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwgMHhiNCwgMHgxOCwgMHhkYiwgMHhlNSwgMHg0YywKLSAgMHg2MCwgMHgwYywgMHg3NSwgMHhjOSwgMHgyMCwgMHg3NSwgMHhjOCwgMHgzNiwgMHg4NSwgMHg0ZCwgMHhjYSwgMHg4NSwgMHg0ZSwgMHhjYiwgMHhlNX19LAotIHsweDBhYzYsIDY0LCB7IDB4NGYsIDB4MTMsIDB4OTIsIDB4MWIsIDB4OTIsIDB4OWYsIDB4ZTUsIDB4NTAsIDB4MTMsIDB4OTIsIDB4MWMsIDB4ZTUsIDB4NTEsIDB4MTMsIDB4OTIsIDB4MjMsIDB4ZTUsCi0gIDB4NTIsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsCi0gIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4NTMsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODAsIDB4MDcsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZTUsIDB4NTksIDB4NjAsIDB4MGIsIDB4YzIsIDB4MTMsIDB4YzIsIDB4MGJ9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDVhLCAweDYwLCAweDBiLCAweGQyLCAweDBiLCAweGQyLCAweDBjLCAweDkwLCAweDdmLAotICAweDk1LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDViLCAweDYwLCAweDBkLCAweGMyLCAweGFmLCAweGMyLCAweDExLCAweGQyLCAweDAwLCAweGU0LAotICAweGY1LCAweDdjLCAweGY1LCAweDRhLCAweGQyLCAweGFmLCAweGU1LCAweDVjLCAweDYwLCAweDA1LCAweDMwLCAweDIzLCAweDAyLCAweGQyLCAweDBiLCAweGU1LAotICAweDVkLCAweDYwLCAweDE1LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweGUwLCAweDQ0fX0sCi0gezB4MGI0NiwgNjQsIHsgMHgwMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHhlNSwgMHg1ZSwgMHg2MCwgMHgwYSwgMHhkMiwgMHg5YywgMHhjMiwgMHg5OCwKLSAgMHg3NSwgMHgyZSwgMHgwMSwgMHg3NSwgMHg0MCwgMHgyOCwgMHhlNSwgMHg1ZiwgMHg2MCwgMHgwNywgMHhjMiwgMHg5YywgMHhlNCwgMHhmNSwgMHg0OCwgMHhmNSwKLSAgMHgyZSwgMHhlNSwgMHg2MCwgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHg0OCwgMHhlNSwgMHg2MSwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwNywgMHhlNSwgMHg2MiwKLSAgMHg2MCwgMHgwOCwgMHhlNSwgMHg1ZSwgMHg3MCwgMHgwMiwgMHhmNSwgMHg0MCwgMHhkMiwgMHgwYywgMHhlNSwgMHg2MywgMHg2MCwgMHgxOSwgMHg5MH19LAotIHsweDBiODYsIDY0LCB7IDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4NzQsIDB4MzEsIDB4ZjAsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4NzQsIDB4MzIsIDB4ZjAsIDB4NzQsIDB4MTUsIDB4ZjAsCi0gIDB4NzQsIDB4MzUsIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4ZDIsIDB4MDEsIDB4ZDIsIDB4MDksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2YsIDB4ZjAsIDB4YTIsIDB4MTMsCi0gIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MmIsIDB4NjAsIDB4MDQsIDB4OGYsIDB4MmIsIDB4ZDIsIDB4MGMsIDB4YTIsIDB4MGIsIDB4ZTQsIDB4MzMsIDB4ZmYsCi0gIDB4NjUsIDB4MmMsIDB4NjAsIDB4MDQsIDB4OGYsIDB4MmMsIDB4ZDIsIDB4MGMsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTAsIDB4NTQsIDB4MDgsIDB4NjV9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDI3LCAweDYwLCAweDA3LCAweGUwLCAweDU0LCAweDA4LCAweGY1LCAweDI3LCAweGQyLCAweDBjLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDU0LCAweDQwLCAweGI1LAotICAweDI5LCAweDA5LCAweGUwLCAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGY1LCAweDI5LCAweGQyLCAweDBjLCAweDMwLCAweDA3LCAweDM1LCAweGMyLCAweGFmLAotICAweDMwLCAweDAxLCAweDE4LCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweGU1LCAweDQ4LCAweDYwLCAweDA5LCAweDkwLCAweDdmLAotICAweGI3LCAweGYwLCAweGU0LCAweGY1LCAweDQ4LCAweGMyLCAweDAxLCAweGMyLCAweDA3LCAweDgwLCAweDE2LCAweDkwLCAweDdmLCAweGI2LCAweGUwfX0sCi0gezB4MGMwNiwgNjQsIHsgMHgyMCwgMHhlMSwgMHgwZiwgMHhlNSwgMHg0OCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiOSwgMHhmMCwgMHhlNCwgMHhmNSwgMHg0OCwgMHhkMiwgMHgwMSwgMHhjMiwKLSAgMHgwNywgMHhkMiwgMHhhZiwgMHgyMCwgMHgwNSwgMHgzNywgMHgzMCwgMHgwMywgMHgxYiwgMHg5MCwgMHg3ZiwgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyZCwKLSAgMHg5MCwgMHg3ZSwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNSwgMHg3NSwgMHg0YSwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmNSwgMHg3YywKLSAgMHhkMiwgMHgwNSwgMHg4MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgxMiwgMHg5MCwgMHg3ZCwgMHhjMCwgMHhlMH19LAotIHsweDBjNDYsIDY0LCB7IDB4MTMsIDB4OTIsIDB4MTUsIDB4NzUsIDB4NGEsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjUsIDB4N2MsIDB4ZDIsIDB4MDUsIDB4MjAsIDB4MjEsIDB4MzMsCi0gIDB4MjAsIDB4MDAsIDB4MDYsIDB4ZTUsIDB4NGEsIDB4NjUsIDB4N2MsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDUsIDB4MWEsIDB4MzAsIDB4MDMsIDB4MDksIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ZDIsIDB4MDMsIDB4YzIsCi0gIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4N2MsIDB4ZjUsIDB4NGEsIDB4MzAsIDB4MTUsIDB4MGEsIDB4YzIsIDB4MTUsIDB4YzIsIDB4MDAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYzg2LCA2NCwgeyAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweDMwLCAweDIxLCAweDAzLCAweDAyLCAweDBkLCAweDk0LCAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDBkLCAweDk0LCAweDMwLAotICAweDFjLCAweDBhLCAweDkwLCAweDdmLCAweDliLCAweGUwLCAweDIwLCAweGUzLCAweDAzLCAweDAyLCAweDBkLCAweDk0LCAweDMwLCAweDBiLCAweDAzLCAweDAyLAotICAweDBkLCAweDk0LCAweDMwLCAweDEzLCAweDAzLCAweDAyLCAweDBkLCAweDk0LCAweDMwLCAweDAzLCAweDYyLCAweDMwLCAweDFiLCAweDEyLCAweGFmLCAweDRhLAotICAweDA1LCAweDRhLCAweDc0LCAweDQwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyfX0sCi0gezB4MGNjNiwgNjQsIHsgMHgyZCwgMHhhZiwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwKLSAgMHgxMywgMHhlNSwgMHg0YSwgMHhjMywgMHg5NSwgMHg3YywgMHg1MCwgMHgyYSwgMHgzMCwgMHgxYiwgMHgxMiwgMHhhZiwgMHg0YSwgMHgwNSwgMHg0YSwgMHg3NCwKLSAgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxNywgMHhhZiwgMHg0YSwgMHgwNSwKLSAgMHg0YSwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0NiwgMHhkMn19LAotIHsweDBkMDYsIDY0LCB7IDB4MTEsIDB4ODAsIDB4NmIsIDB4YzIsIDB4MTEsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4YzIsIDB4MDMsIDB4ODAsIDB4NjAsIDB4MzAsIDB4MWIsIDB4MTIsCi0gIDB4YWYsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MmQsIDB4YWYsIDB4NGEsIDB4MDUsIDB4NGEsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4ZjUsIDB4MTMsIDB4ZTUsIDB4NGEsIDB4YzMsIDB4OTUsIDB4N2MsIDB4NTAsIDB4MmEsIDB4MzAsIDB4MWIsIDB4MTIsIDB4YWYsIDB4NGF9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE3LCAweGFmLAotICAweDRhLCAweDA1LCAweDRhLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdkLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ2LAotICAweGQyLCAweDExLCAweDgwLCAweDA5LCAweGMyLCAweDExLCAweGU0LCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweGQyLCAweDAzLCAweDMwLCAweDFiLCAweDA0LAotICAweGEyLCAweDJkLCAweDkyLCAweDliLCAweGQyLCAweDIxLCAweGMyLCAweGFmLCAweDg1LCAweDEzLCAweDk5LCAweDIwLCAweDExLCAweDBkLCAweDMwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHgxNSwgMHgwYSwgMHhjMiwgMHgxNSwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHg5MCwgMHg3ZiwgMHhkMCwKLSAgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwZSwgMHhiNSwgMHhlNCwgMHhmNSwgMHgxMiwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxMiwgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxMiwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMCwgMHgyNCwgMHg2NCwgMHhmOSwKLSAgMHhlYywgMHgzNCwgMHgwMCwgMHhmYSwgMHhlZiwgMHgxMiwgMHgxNSwgMHhjZCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwgMHhiNCwgMHgxOCwgMHhkYn19LAotIHsweDBkYzYsIDY0LCB7IDB4ZTUsIDB4NjQsIDB4NjAsIDB4MGIsIDB4NzUsIDB4ODksIDB4NjAsIDB4NzUsIDB4ODgsIDB4NDAsIDB4ZDIsIDB4ZGYsIDB4ODUsIDB4NjUsIDB4OGQsIDB4ZTUsIDB4NjcsCi0gIDB4MTMsIDB4OTIsIDB4MWQsIDB4OTIsIDB4YzcsIDB4ZTUsIDB4NjgsIDB4MTMsIDB4OTIsIDB4MWUsIDB4ZTUsIDB4NjksIDB4MTMsIDB4OTIsIDB4MjQsIDB4ZTUsCi0gIDB4NmEsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsCi0gIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4NmIsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ODB9fSwKLSB7MHgwZTA2LCA2NCwgeyAweDA3LCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU1LCAweDcxLCAweDYwLCAweDBiLCAweGMyLCAweDE0LCAweGMyLCAweDBkLCAweDkwLAotICAweDdmLCAweDk0LCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweGU1LCAweDcyLCAweDYwLCAweDBiLCAweGQyLCAweDBkLCAweGQyLCAweDBlLCAweDkwLCAweDdmLAotICAweDk0LCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweGU1LCAweDczLCAweDYwLCAweDBkLCAweGMyLCAweGFmLCAweGMyLCAweDEyLCAweGQyLCAweDAwLCAweGU0LAotICAweGY1LCAweDdkLCAweGY1LCAweDRiLCAweGQyLCAweGFmLCAweGU1LCAweDc0LCAweDYwLCAweDA1LCAweDMwLCAweDI0LCAweDAyLCAweGQyLCAweDBkfX0sCi0gezB4MGU0NiwgNjQsIHsgMHhlNSwgMHg3NSwgMHg2MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHhlMCwgMHg0NCwgMHgwOCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHhlNSwgMHg3NiwgMHg2MCwgMHgwYSwgMHhkMiwgMHhjNCwgMHhjMiwgMHhjMCwKLSAgMHg3NSwgMHgzYSwgMHgwMSwgMHg3NSwgMHg0MSwgMHgyOCwgMHhlNSwgMHg3NywgMHg2MCwgMHgwNywgMHhjMiwgMHhjNCwgMHhlNCwgMHhmNSwgMHg0OSwgMHhmNSwKLSAgMHgzYSwgMHhlNSwgMHg3OCwgMHg2MCwgMHgwMywgMHhlNCwgMHhmNSwgMHg0OSwgMHhlNSwgMHg3OSwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwOCwgMHhlNX19LAotIHsweDBlODYsIDY0LCB7IDB4N2EsIDB4NjAsIDB4MDgsIDB4ZTUsIDB4NzYsIDB4NzAsIDB4MDIsIDB4ZjUsIDB4NDEsIDB4ZDIsIDB4MGUsIDB4ZTUsIDB4N2IsIDB4NjAsIDB4MTksIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4NzQsIDB4MzQsIDB4ZjAsIDB4NzQsIDB4MTYsIDB4ZjAsCi0gIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4ZDIsIDB4MDIsIDB4ZDIsIDB4MGEsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsIDB4YTIsIDB4MTQsCi0gIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4NjUsIDB4MzcsIDB4NjAsIDB4MDQsIDB4OGYsIDB4MzcsIDB4ZDIsIDB4MGUsIDB4YTIsIDB4MGQsIDB4ZTQsIDB4MzN9fSwKLSB7MHgwZWM2LCA2NCwgeyAweGZmLCAweDY1LCAweDM4LCAweDYwLCAweDA0LCAweDhmLCAweDM4LCAweGQyLCAweDBlLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDU0LCAweDIwLCAweDY1LCAweDMzLAotICAweDYwLCAweDA3LCAweGUwLCAweDU0LCAweDIwLCAweGY1LCAweDMzLCAweGQyLCAweDBlLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDU0LCAweDQwLCAweGI1LAotICAweDM1LCAweDA5LCAweGUwLCAweDU0LCAweDQwLCAweDY0LCAweDQwLCAweGY1LCAweDM1LCAweGQyLCAweDBlLCAweDMwLCAweDA4LCAweDM1LCAweGMyLCAweGFmLAotICAweDMwLCAweDAyLCAweDE4LCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweGU1LCAweDQ5LCAweDYwLCAweDA5LCAweDkwfX0sCi0gezB4MGYwNiwgNjQsIHsgMHg3ZiwgMHhiYiwgMHhmMCwgMHhlNCwgMHhmNSwgMHg0OSwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwOCwgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgyMCwKLSAgMHhlMSwgMHgwZiwgMHhlNSwgMHg0OSwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhmMCwgMHhlNCwgMHhmNSwgMHg0OSwgMHhkMiwgMHgwMiwgMHhjMiwKLSAgMHgwOCwgMHhkMiwgMHhhZiwgMHgyMCwgMHgwNiwgMHgzNywgMHgzMCwgMHgwNCwgMHgxYiwgMHg5MCwgMHg3ZiwgMHhjYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyZCwKLSAgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgxNiwgMHg3NSwgMHg0YiwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmNX19LAotIHsweDBmNDYsIDY0LCB7IDB4N2QsIDB4ZDIsIDB4MDYsIDB4ODAsIDB4MTksIDB4OTAsIDB4N2YsIDB4Y2MsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MTIsIDB4OTAsIDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MTYsIDB4NzUsIDB4NGIsIDB4MDEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4ZjUsIDB4N2QsIDB4ZDIsIDB4MDYsIDB4MjAsIDB4MjIsIDB4MzMsCi0gIDB4MjAsIDB4MDAsIDB4MDYsIDB4ZTUsIDB4NGIsIDB4NjUsIDB4N2QsIDB4NzAsIDB4MmEsIDB4MzAsIDB4MDYsIDB4MWEsIDB4MzAsIDB4MDQsIDB4MDksIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4ODAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4ZDIsIDB4MDR9fSwKLSB7MHgwZjg2LCA2NCwgeyAweGMyLCAweDA2LCAweGU0LCAweGY1LCAweDdkLCAweGY1LCAweDRiLCAweDMwLCAweDE2LCAweDBhLCAweGMyLCAweDE2LCAweGMyLCAweDAwLCAweDkwLCAweDdmLCAweGMxLAotICAweDc0LCAweDAxLCAweGYwLCAweDMwLCAweDIyLCAweDAzLCAweDAyLCAweDEwLCAweGE0LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDEwLCAweGE0LCAweDMwLAotICAweDFlLCAweDBhLCAweDkwLCAweDdmLCAweDlhLCAweGUwLCAweDIwLCAweGU1LCAweDAzLCAweDAyLCAweDEwLCAweGE0LCAweDMwLCAweDBkLCAweDAzLCAweDAyLAotICAweDEwLCAweGE0LCAweDMwLCAweDE0LCAweDAzLCAweDAyLCAweDEwLCAweGE0LCAweDMwLCAweDA0LCAweDYyLCAweDMwLCAweDFkLCAweDEyLCAweGFmfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgyZCwKLSAgMHhhZiwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwKLSAgMHgxMywgMHhlNSwgMHg0YiwgMHhjMywgMHg5NSwgMHg3ZCwgMHg1MCwgMHgyYSwgMHgzMCwgMHgxZCwgMHgxMiwgMHhhZiwgMHg0YiwgMHgwNSwgMHg0YiwgMHg3NCwKLSAgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxMywgMHg5MiwgMHgxOCwgMHhhZiwgMHg0Yn19LAotIHsweDEwMDYsIDY0LCB7IDB4MDUsIDB4NGIsIDB4NzQsIDB4NDAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2QsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4NDcsIDB4ZDIsIDB4MTIsCi0gIDB4ODAsIDB4NmIsIDB4YzIsIDB4MTIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4YzIsIDB4MDQsIDB4ODAsIDB4NjAsIDB4MzAsIDB4MWQsIDB4MTIsCi0gIDB4YWYsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTMsCi0gIDB4OTIsIDB4MmQsIDB4YWYsIDB4NGIsIDB4MDUsIDB4NGIsIDB4NzQsIDB4YzAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2MsIDB4ZjV9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDgzLCAweGUwLCAweGY1LCAweDEzLCAweGU1LCAweDRiLCAweGMzLCAweDk1LCAweDdkLCAweDUwLCAweDJhLCAweDMwLCAweDFkLCAweDEyLCAweGFmLCAweDRiLCAweDA1LAotICAweDRiLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweDEzLCAweDkyLCAweDE4LCAweGFmLAotICAweDRiLCAweDA1LCAweDRiLCAweDc0LCAweGMwLCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweDQ3LAotICAweGQyLCAweDEyLCAweDgwLCAweDA5LCAweGMyLCAweDEyLCAweGU0LCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweGQyLCAweDA0LCAweDMwLCAweDFkfX0sCi0gezB4MTA4NiwgNjQsIHsgMHgwNCwgMHhhMiwgMHgyZCwgMHg5MiwgMHhjMywgMHhkMiwgMHgyMiwgMHhjMiwgMHhhZiwgMHg4NSwgMHgxMywgMHhjMSwgMHgyMCwgMHgxMiwgMHgwZCwgMHgzMCwgMHgxNiwKLSAgMHgwYSwgMHhjMiwgMHgxNiwgMHhjMiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjMSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMiwgMHhhZiwgMHg5MCwgMHg3ZiwgMHhjMiwKLSAgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgxMSwgMHg3YSwgMHhlNSwgMHgxYSwgMHg3MCwgMHg0NiwgMHgzMCwgMHgwYywgMHgzZiwgMHhlNSwgMHg0MCwKLSAgMHg3MCwgMHgzYiwgMHhhMiwgMHgwOSwgMHgzMywgMHhmNSwgMHgzMSwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwYywgMHhlNCwgMHhmNSwgMHgxMiwgMHg3ZX19LAotIHsweDEwYzYsIDY0LCB7IDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjYsIDB4MjUsIDB4MTIsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTIsIDB4MTUsIDB4ODcsIDB4ZmYsIDB4NzQsCi0gIDB4ODAsIDB4MjUsIDB4MTIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTIsIDB4ZTUsIDB4MTIsCi0gIDB4YjQsIDB4MGMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4NzUsIDB4NDAsIDB4MTAsIDB4MjIsIDB4NzUsIDB4MWEsIDB4MDEsCi0gIDB4MjIsIDB4ZTUsIDB4MWEsIDB4NjQsIDB4MDEsIDB4NzAsIDB4NDUsIDB4MzAsIDB4MGUsIDB4M2UsIDB4ZTUsIDB4NDEsIDB4NzAsIDB4M2EsIDB4YTJ9fSwKLSB7MHgxMTA2LCA2NCwgeyAweDBhLCAweDMzLCAweGY1LCAweDNkLCAweGMyLCAweDBhLCAweGMyLCAweDBlLCAweGU0LCAweGY1LCAweDEyLCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDMyLAotICAweDI1LCAweDEyLCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDE1LCAweDg3LCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDEyLCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDEyLCAweGU1LCAweDEyLCAweGI0LCAweDBjLCAweGRiLCAweDkwLAotICAweDdmLCAweGMzLCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQxLCAweDEwLCAweDc1LCAweDFhLCAweDAyLCAweDIyLCAweGU1LCAweDFjLCAweDYwfX0sCi0gezB4MTE0NiwgNjQsIHsgMHgzMCwgMHgxNSwgMHgxYywgMHhlNCwgMHhmNSwgMHgxMiwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgxYiwgMHgyNSwgMHgxMiwgMHhmOSwgMHhlZSwgMHgzNCwKLSAgMHgwMCwgMHhmYSwgMHgxMiwgMHgxNSwgMHg4NywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwKLSAgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxMiwgMHhlNSwgMHgxMiwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwKLSAgMHhlNCwgMHhmNSwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgxNiwgMHgxNywgMHgxMiwgMHg0MCwgMHgwMCwgMHgxMn19LAotIHsweDExODYsIDY0LCB7IDB4YjQsIDB4MDEsIDB4MTMsIDB4MjAsIDB4MDMsIDB4MTEsIDB4OWUsIDB4MDYsIDB4MTIsIDB4MzMsIDB4MDgsIDB4MTIsIDB4MmQsIDB4MDksIDB4MTIsIDB4MjAsIDB4MGEsCi0gIDB4MTMsIDB4NzYsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MTMsIDB4NmYsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsCi0gIDB4NjAsIDB4NDAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NjksIDB4NzQsIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsCi0gIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTcsIDB4NGIsIDB4OGIsIDB4MTJ9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDhhLCAweDEzLCAweDg5LCAweDE0LCAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyLCAweGVlLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGFmLCAweDAxLAotICAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLAotICAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDE3LCAweDlhLCAweDhiLCAweDEyLCAweDhhLCAweDEzLCAweDg5LCAweDE0LAotICAweGVhLCAweDQ5LCAweDYwLCAweDExLCAweGFlLCAweDAyLCAweGVlLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwfX0sCi0gezB4MTIwNiwgNjQsIHsgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwKLSAgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHgxMiwgMHgxNCwgMHhjMywgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3Zn19LAotIHsweDEyNDYsIDY0LCB7IDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTIsIDB4MjYsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsCi0gIDB4YTIsIDB4MmIsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NzYsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTR9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLAotICAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLAotICAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGU4LAotICAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDEzLCAweDc2LCAweDkwLCAweDdmLCAweGVhfX0sCi0gezB4MTJjNiwgNjQsIHsgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgyNiwgMHgwMiwgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwKLSAgMHgxMywgMHg3NiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwKLSAgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsCi0gIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MjYsIDB4ODAsIDB4M2YsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MjB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LAotICAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLAotICAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLAotICAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweDIwLCAweDI4LCAweDAzLCAweDAyLCAweDE0LCAweGMyLCAweGU1LCAweDQwfX0sCi0gezB4MTM4NiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHg0MCwgMHhlNSwgMHg0OCwgMHg2MCwgMHg0ZiwgMHg2NSwgMHg0NCwgMHg3MCwgMHg0NSwgMHhlNSwgMHg0MiwgMHhmNCwgMHg2MCwgMHgwMiwKLSAgMHgwNSwgMHg0MiwgMHhlNSwgMHg0MiwgMHhjMywgMHg5NSwgMHg1NSwgMHg0MCwgMHgzZCwgMHhjMiwgMHhhZiwgMHgzMCwgMHgwMSwgMHgxOCwgMHg5MCwgMHg3ZiwKLSAgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgyNywgMHg5MCwgMHg3ZiwgMHhiNywgMHhlNSwgMHg0OCwgMHhmMCwgMHhjMiwgMHgwMSwgMHhlNCwgMHhmNSwgMHg0OCwKLSAgMHhmNSwgMHg0MiwgMHhmNSwgMHg0NCwgMHg4MCwgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHg5MCwgMHg3Zn19LAotIHsweDEzYzYsIDY0LCB7IDB4YjksIDB4ZTUsIDB4NDgsIDB4ZjAsIDB4ZDIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4NDgsIDB4ZjUsIDB4NDIsIDB4ZjUsIDB4NDQsIDB4ZDIsIDB4YWYsIDB4ODAsIDB4MDYsCi0gIDB4ODUsIDB4NDgsIDB4NDQsIDB4ZTQsIDB4ZjUsIDB4NDIsIDB4ZTUsIDB4MmUsIDB4NjAsIDB4MmQsIDB4MjAsIDB4MTksIDB4MDcsIDB4OTAsIDB4N2YsIDB4OWIsCi0gIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MGUsIDB4ZTUsIDB4MmYsIDB4NjAsIDB4MDUsIDB4ZTQsIDB4ZjUsIDB4MmYsIDB4ZDIsIDB4MGMsIDB4ZTQsIDB4ZjUsIDB4M2UsCi0gIDB4ODAsIDB4MTMsIDB4ZTUsIDB4M2UsIDB4ZDMsIDB4OTUsIDB4NTYsIDB4NTAsIDB4MGMsIDB4ZTUsIDB4M2UsIDB4YjUsIDB4NTYsIDB4MDUsIDB4NzV9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDJmLCAweDAxLCAweGQyLCAweDBjLCAweDA1LCAweDNlLCAweGMyLCAweDE5LCAweGU1LCAweDQxLCAweDYwLCAweDAyLCAweDE1LCAweDQxLCAweGU1LCAweDQ5LCAweDYwLAotICAweDRmLCAweDY1LCAweDQ1LCAweDcwLCAweDQ1LCAweGU1LCAweDQzLCAweGY0LCAweDYwLCAweDAyLCAweDA1LCAweDQzLCAweGU1LCAweDQzLCAweGMzLCAweDk1LAotICAweDZkLCAweDQwLCAweDNkLCAweGMyLCAweGFmLCAweDMwLCAweDAyLCAweDE4LCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxLCAweDI3LCAweDkwLAotICAweDdmLCAweGJiLCAweGU1LCAweDQ5LCAweGYwLCAweGMyLCAweDAyLCAweGU0LCAweGY1LCAweDQ5LCAweGY1LCAweDQzLCAweGY1LCAweDQ1LCAweDgwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgxNiwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlNSwgMHg0OSwgMHhmMCwgMHhkMiwgMHgwMiwgMHhlNCwKLSAgMHhmNSwgMHg0OSwgMHhmNSwgMHg0MywgMHhmNSwgMHg0NSwgMHhkMiwgMHhhZiwgMHg4MCwgMHgwNiwgMHg4NSwgMHg0OSwgMHg0NSwgMHhlNCwgMHhmNSwgMHg0MywKLSAgMHhlNSwgMHgzYSwgMHg2MCwgMHgyZCwgMHgyMCwgMHgxYSwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5YSwgMHhlMCwgMHgzMCwgMHhlMiwgMHgwZSwgMHhlNSwgMHgzYiwKLSAgMHg2MCwgMHgwNSwgMHhlNCwgMHhmNSwgMHgzYiwgMHhkMiwgMHgwZSwgMHhlNCwgMHhmNSwgMHgzZiwgMHg4MCwgMHgxMywgMHhlNSwgMHgzZiwgMHhkM319LAotIHsweDE0ODYsIDY0LCB7IDB4OTUsIDB4NmUsIDB4NTAsIDB4MGMsIDB4ZTUsIDB4M2YsIDB4YjUsIDB4NmUsIDB4MDUsIDB4NzUsIDB4M2IsIDB4MDEsIDB4ZDIsIDB4MGUsIDB4MDUsIDB4M2YsIDB4YzIsCi0gIDB4MWEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsCi0gIDB4MWMsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MWQsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsCi0gIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDMsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk0LCAweDc0LCAweDBkLCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweDlhLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGUwLCAweDU0LCAweGZkLAotICAweGYwLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweDIzLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDg0LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGM3LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDc1LCAweDk4LCAweDQwLCAweDQzLCAweGE4fX0sCi0gezB4MTUwNiwgNjQsIHsgMHgxMCwgMHhjMiwgMHgxYiwgMHhjMiwgMHgwNSwgMHhjMiwgMHgyMSwgMHhjMiwgMHgwYiwgMHhjMiwgMHgxMywgMHhmNSwgMHg3YywgMHhmNSwgMHg0YSwgMHhjMiwgMHgxMSwKLSAgMHhjMiwgMHgxNSwgMHhmNSwgMHg0MiwgMHhjMiwgMHgxOSwgMHhmNSwgMHg0NCwgMHhmNSwgMHg0OCwgMHhjMiwgMHgyMywgMHhjMiwgMHgxYywgMHhmNSwgMHgyZCwKLSAgMHhmNSwgMHgyZiwgMHhjMiwgMHgwNywgMHhjMiwgMHgwMCwgMHhjMiwgMHgxZiwgMHhmNSwgMHgzZSwgMHhjMiwgMHgwOSwgMHhkMiwgMHgwYywgMHhmNSwgMHgyNiwKLSAgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwgMHg3NSwgMHhjMCwgMHg0MH19LAotIHsweDE1NDYsIDY0LCB7IDB4NDMsIDB4YTgsIDB4NDAsIDB4YzIsIDB4MWQsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MjIsIDB4YzIsIDB4MGQsIDB4YzIsIDB4MTQsIDB4ZjUsIDB4N2QsIDB4ZjUsIDB4NGIsCi0gIDB4YzIsIDB4MTIsIDB4YzIsIDB4MTYsIDB4ZjUsIDB4NDMsIDB4YzIsIDB4MWEsIDB4ZjUsIDB4NDUsIDB4ZjUsIDB4NDksIDB4YzIsIDB4MjQsIDB4YzIsIDB4MWUsCi0gIDB4ZjUsIDB4MzksIDB4ZjUsIDB4M2IsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MjAsIDB4ZjUsIDB4M2YsIDB4YzIsIDB4MGEsIDB4ZDIsIDB4MGUsCi0gIDB4NzUsIDB4MzIsIDB4MDEsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZDIsIDB4Mjh9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLAotICAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LAotICAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLAotICAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1fX0sCi0gezB4MTVjNiwgNjQsIHsgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwKLSAgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhiYiwgMHgwMSwgMHgxMCwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwKLSAgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHhmMCwgMHhhMywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwOSwgMHhlOSwgMHgyNSwgMHg4MiwKLSAgMHhmOCwgMHg4NiwgMHhmMCwgMHgwOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNX19LAotIHsweDE2MDYsIDY0LCB7IDB4ZjAsIDB4MDgsIDB4ZTIsIDB4MjIsIDB4ZTUsIDB4ODMsIDB4MmEsIDB4ZjUsIDB4ODMsIDB4ZTksIDB4OTMsIDB4ZjUsIDB4ZjAsIDB4YTMsIDB4ZTksIDB4OTMsIDB4MjIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsCi0gIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsCi0gIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4N2R9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAyLCAweDE2LCAweDg0LCAweDAyLCAweDE2LCAweGM5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLAotICAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLCAweGM4LAotICAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LAotICAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDE4fX0sCi0gezB4MTY4NiwgNjQsIHsgMHhjNSwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwKLSAgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwgMHhlNCwKLSAgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwKLSAgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZX19LAotIHsweDE2YzYsIDY0LCB7IDB4ZTcsIDB4ODAsIDB4YmUsIDB4NzUsIDB4MTEsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsCi0gIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MjYsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsCi0gIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDR9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweGJjLCAweGQyLCAweGJlLCAweGQyLCAweDJkLAotICAweDEyLCAweDE4LCAweDdmLCAweGMyLCAweDI3LCAweGMyLCAweDI1LCAweGMyLCAweDI4LCAweDMwLCAweDI4LCAweDAzLCAweDEyLCAweDBhLCAweDgzLCAweDkwLAotICAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDEwLCAweDYwLCAweDA4LCAweGUwLCAweGY1LCAweDEwLCAweDEyLCAweDEzLCAweDdlLCAweDgwLCAweGVhLCAweDMwLAotICAweDI3LCAweDA3LCAweGMyLCAweDI3LCAweDEyLCAweDExLCAweDdiLCAweDgwLCAweGUwLCAweDMwLCAweDJjLCAweGRkLCAweGMyLCAweDJjLCAweDEyfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgyNiwgMHg4MCwgMHhkNiwgMHgyMiwgMHhlNCwgMHhmZSwgMHg3NSwgMHgxNywgMHhmZiwgMHg3NSwgMHgxOCwgMHgxOSwgMHg3NSwgMHgxOSwgMHgxMiwgMHhhYiwKLSAgMHgxNywgMHhhYSwgMHgxOCwgMHhhOSwgMHgxOSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxNSwgMHhhMCwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwKLSAgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNSwgMHgwNywgMHgwMSwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwMiwgMHgxMiwgMHgxNSwgMHhkZiwgMHg4NSwgMHhmMCwgMHgxNSwKLSAgMHhmNSwgMHgxNiwgMHg2MiwgMHgxNSwgMHhlNSwgMHgxNSwgMHg2MiwgMHgxNiwgMHhlNSwgMHgxNiwgMHg2MiwgMHgxNSwgMHgyOSwgMHhmZCwgMHhlNX19LAotIHsweDE3ODYsIDY0LCB7IDB4MTUsIDB4M2EsIDB4YTksIDB4MDUsIDB4NzUsIDB4MTcsIDB4ZmYsIDB4ZjUsIDB4MTgsIDB4ODksIDB4MTksIDB4ODAsIDB4YzMsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsCi0gIDB4NzksIDB4MDAsIDB4MjIsIDB4OGYsIDB4MTUsIDB4ZTQsIDB4ZjUsIDB4MTYsIDB4NzUsIDB4MTcsIDB4ZmYsIDB4NzUsIDB4MTgsIDB4MTksIDB4NzUsIDB4MTksCi0gIDB4ODYsIDB4YWIsIDB4MTcsIDB4YWEsIDB4MTgsIDB4YTksIDB4MTksIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MTUsIDB4YTAsIDB4YjQsIDB4MDMsIDB4MWQsCi0gIDB4YWYsIDB4MTYsIDB4MDUsIDB4MTYsIDB4ZWYsIDB4YjUsIDB4MTUsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MTUsIDB4ODcsIDB4N2UsIDB4MDAsIDB4Mjl9fSwKLSB7MHgxN2M2LCA2NCwgeyAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDE3LCAweGZmLCAweGY1LCAweDE4LCAweDg5LCAweDE5LCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLAotICAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweGYwLCAweDkwLCAweDdmLCAweDk0LAotICAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk1LCAweGYwLAotICAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweGYwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwKLSAgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwKLSAgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgyNywgMHg1MywgMHg5MSwgMHhlZiwgMHg5MH19LAotIHsweDE4NDYsIDY0LCB7IDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsCi0gIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsCi0gIDB4ZDIsIDB4MmMsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsCi0gIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjB9fSwKLSB7MHgxODg2LCA2NCwgeyAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDJkLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDAwLAotICAweDA2LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LCAweDA0LCAweGYwLCAweDIyLCAweDc0LCAweDAwLCAweGY1LAotICAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLAotICAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGMxfX0sCi0gezB4MThjNiwgNjQsIHsgMHhhYSwgMHgwMSwgMHgxYSwgMHgwMCwgMHgwMywgMHgxYiwgMHgwMywgMHgwMCwgMHgwMCwgMHhjMSwgMHgyNywgMHhjMSwgMHgyYywgMHhjMSwgMHgyNiwgMHhjMSwgMHgyYiwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MGYsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDEsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCA2NCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWE0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYWM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDE4LCAweDMxLCAweDAwLCAweDAyLCAweDFifX0sCi0gezB4MWIwNiwgIDksIHsgMHgwNCwgMHgwMCwgMHgwMiwgMHgxOCwgMHgwNywgMHgwMCwgMHgwMiwgMHgxOCwgMHg1OH19LAotIHsweGZmZmYsICAwLCB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM4N2VkOS4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0NyArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTI4eF9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTI4eF9mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTI4eF9maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTIsIDB4Zjd9fSwKLSB7MHgwMDAzLCAxNiwgeyAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweDMwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwfX0sCi0gezB4MDAxMywgMTYsIHsgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZCwgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NywgMHhmMCwgMHg5MH19LAotIHsweDAwMjMsIDE1LCB7IDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDA5LCAweDE4LCAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk1LCAweDNjLCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywgMHgzMCwgMHgwMywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4MWIsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDA5LCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg0MSwgMHgxMiwgMHgwYywgMHhiYX19LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDEzLCAweDFiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDA5fX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGMsIDB4YmEsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDYwLCAweDEyLCAweDExLCAweGQ2LCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxOSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgzNiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5NSwgMHgzYSwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMiwgMHhlYn19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzYsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGIsIDB4NWUsIDB4YzIsIDB4MGIsIDB4ZTUsIDB4MTl9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxMywgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGUsIDB4MDB9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweGU1LCAweDM2LCAweDMwLCAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdlLAotICAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM2LCAweDEyLCAweDBmLCAweDRiLCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLAotICAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4fX0sCi0gezB4MDE0NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgzNiwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwKLSAgMHgwYywgMHhkZiwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwKLSAgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwMywgMHhjMSwgMHhjMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxOCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YX19LAotIHsweDAxODYsIDY0LCB7IDB4N2UsIDB4NzksIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NjgsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MjQsCi0gIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YjEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NDMsIDB4NDYsCi0gIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4ZTQsIDB4OTB9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDdlLCAweDEzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweDM1LCAweDkwLCAweDdlLCAweDAyLCAweGUwLAotICAweGZmLCAweDEyLCAweDEwLCAweDViLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDAzLAotICAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGIxLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA2LCAweDkwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwKLSAgMHg3ZSwgMHgxMywgMHhmMCwgMHg3NSwgMHgyNSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwKLSAgMHhmNSwgMHg0NCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgwNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MiwgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0Mn19LAotIHsweDAyNDYsIDY0LCB7IDB4N2YsIDB4NTMsIDB4NDIsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDIsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTAsIDB4YTcsIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4Y2QsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsCi0gIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDIsIDB4N2YsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4ODEsIDB4OTAsIDB4N2UsIDB4MGMsCi0gIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmR9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLAotICAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZlLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDNhLCAweGEzLAotICAweGUwLCAweDEzLCAweDkyLCAweDBkLCAweGEzLCAweGUwLCAweGY1LCAweDNjLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDEwfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwKLSAgMHg5MCwgMHg3ZSwgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NCwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwKLSAgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgxMiwgMHhkZiwKLSAgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZSwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMn19LAotIHsweDAzMDYsIDY0LCB7IDB4MTEsIDB4YjEsIDB4ZTQsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsCi0gIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YjEsIDB4NzUsIDB4MjksIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTgsCi0gIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLAotICAweDUzLCAweDNlLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweDc1LCAweDJiLCAweDAxLCAweGQyLCAweDA3LCAweDkwLAotICAweDdlLCAweDFiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGIxLCAweGU0LAotICAweGY1LCAweDJiLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyfX0sCi0gezB4MDM4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYiwKLSAgMHg5MCwgMHg3ZSwgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyYywgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwKLSAgMHgxZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwKLSAgMHg3NCwgMHgzNSwgMHhmMCwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOH19LAotIHsweDAzYzYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4MjAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsCi0gIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4ZDIsIDB4MTMsIDB4MTIsIDB4MTIsIDB4ZGYsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsCi0gIDB4MTksIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmEsIDB4ZDIsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4NTQsIDB4ODAsCi0gIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjYsIDB4ZDIsIDB4MDcsIDB4MzAsIDB4MGQsIDB4MTEsIDB4MTJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDEzLCAweDMzLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI1LCAweGQyLCAweDA3LCAweDIwLAotICAweDFiLCAweDAzLCAweDAyLCAweDA3LCAweGVjLCAweDMwLCAweDBhLCAweDE4LCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzLCAweDk1LCAweDNkLCAweDQwLAotICAweDAzLCAweDAyLCAweDA0LCAweGFlLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDAwLCAweDgwLCAweDc3LAotICAweDMwLCAweDA0LCAweDNiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweGMzfX0sCi0gezB4MDQ0NiwgNjQsIHsgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHgxNCwgMHhmNSwKLSAgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwKLSAgMHgwZCwgMHg0MSwgMHgxMiwgMHgwZCwgMHgwNCwgMHhjMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwKLSAgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMiwgMHgxMiwgMHgxMywgMHg2ZiwgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHgyOSwgMHg5MH19LAotIHsweDA0ODYsIDY0LCB7IDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjAsCi0gIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2MsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGQsIDB4MDQsCi0gIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDUsCi0gIDB4MzYsIDB4MTIsIDB4MTIsIDB4MjAsIDB4OGYsIDB4MTksIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OTV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDNiLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDU3LCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM3LCAweDIwLCAweGU3LCAweDAzLCAweDMwLCAweDBjLAotICAweDVlLCAweGMyLCAweDBjLCAweGU1LCAweDE5LCAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM3LCAweDAyLCAweGU1LCAweDM3LCAweDMwLAotICAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLAotICAweDdkLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM3LCAweDEyLCAweDBmLCAweDg0LCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwKLSAgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHhlNSwgMHgzNywgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MSwgMHg3NSwKLSAgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwgMHgwZCwgMHgyOSwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhkMCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgwNywgMHg5NywgMHhjMiwgMHgwNiwgMHhlNH19LAotIHsweDA1NDYsIDY0LCB7IDB4ZjUsIDB4MTgsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsCi0gIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MjAsIDB4MjQsIDB4MjAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MjAsIDB4ZTAsIDB4NjAsIDB4NjgsCi0gIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MjQsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4N2YsIDB4MDN9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDdkLCAweGNkLCAweDEyLCAweDExLCAweGZiLCAweDQzLCAweDQ3LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGU1LCAweDQ3LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDIxLCAweGUwLCAweGZmLCAweDEyLAotICAweDExLCAweDE5LCAweDkwLCAweDdlLCAweDIyLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDNmLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDMxLCAweGUwLAotICAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDExLCAweGZiLCAweDQzLCAweDQ3LCAweDgwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwKLSAgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwKLSAgMHgzMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg3NSwgMHgyZSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHg0NSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDA2MDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDUsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDMsCi0gIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDMsIDB4N2YsIDB4NTMsIDB4NDMsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDMsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NjUsIDB4OTAsIDB4N2UsIDB4MmIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4OGIsCi0gIDB4YWYsIDB4NDMsIDB4MTIsIDB4MTAsIDB4ZjMsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDMsIDB4N2YsIDB4YWZ9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDEyLCAweDEwLCAweGYzLCAweDkwLCAweDdlLCAweDJjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAyLAotICAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LAotICAweGYwLCAweDkwLCAweDdlLCAweDJlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAxLCAweDgwLCAweDAzLAotICAweDUzLCAweDQ3LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgzMiwgMHhlMCwgMHhmNSwgMHgzYiwgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzZCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZSwgMHgzNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NSwgMHhiZiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2YsIDB4ZmQsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsCi0gIDB4MzcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTEsIDB4ZmIsIDB4NzUsIDB4MzIsCi0gIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4MzgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGU1LCAweDQxLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDM5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQ1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdlLCAweDNhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDNmLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDExLCAweGZiLAotICAweDc1LCAweDM0LCAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAxLCAweGU0fX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmNSwgMHgzNCwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYywgMHhlMCwgMHg2MCwgMHgwZSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHhlNSwgMHg0MSwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgzZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZSwgMHgzZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgzNSwgMHgwMSwgMHhlNCwKLSAgMHhmNSwgMHgzOSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxM319LAotIHsweDA3ODYsIDY0LCB7IDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4ZDEsIDB4ZjAsCi0gIDB4MzAsIDB4MWEsIDB4NTIsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzksIDB4MzAsIDB4MTMsIDB4NDksIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsCi0gIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsIDB4M2UsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4YzIsIDB4MTMsIDB4MTIsCi0gIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MzMsIDB4ZDJ9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDA4LCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweDU0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDJmLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJmLCAweGQyLAotICAweDA4LCAweDMwLCAweDBlLCAweDExLCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDJlLCAweDYwLCAweDA1LAotICAweDg1LCAweDE5LCAweDJlLCAweGQyLCAweDA4LCAweDMwLCAweDFhLCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLCAweDIwLCAweGUxLCAweDIzLCAweDkwLAotICAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDE1LCAweDkwLCAweDdiLCAweDQyLCAweGUwLCAweGY1LCAweDE2LCAweDkwfX0sCi0gezB4MDgwNiwgNjQsIHsgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwKLSAgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwOSwgMHgyMCwgMHhlNSwgMHgwYSwgMHg3MCwgMHg0MCwKLSAgMHgzMCwgMHgwNywgMHgzOSwgMHhlNSwgMHgzOCwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwNywgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA4NDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzgsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MmMsIDB4NzUsIDB4MGEsIDB4MDEsIDB4MjIsCi0gIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDgsIDB4MzksIDB4ZTUsIDB4MzksIDB4NzAsIDB4MzUsIDB4YzIsIDB4MDgsIDB4ZjUsCi0gIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4MTJ9fSwKLSB7MHgwODg2LCA2NCwgeyAweDBlLCAweDhjLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LAotICAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLCAweDc1LCAweDM5LCAweDEwLCAweGU0LAotICAweGY1LCAweDM1LCAweDc1LCAweDBhLCAweDAyLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAyLCAweDcwLCAweDM2LCAweDMwLCAweDE0LCAweDJmLCAweGMyLAotICAweDE0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDBlLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHhmYSwgMHgxMiwgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwKLSAgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwNSwgMHhmMCwgMHg3NSwgMHgwYSwKLSAgMHgwMywgMHgyMiwgMHhlNSwgMHgxNSwgMHg2MCwgMHgzMCwgMHgxNSwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwKLSAgMHgxNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg4YywgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNX19LAotIHsweDA5MDYsIDY0LCB7IDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsCi0gIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGUsCi0gIDB4ZTQsIDB4MGEsIDB4MDgsIDB4MDAsIDB4MGEsIDB4N2MsIDB4MDEsIDB4MGEsIDB4ZTgsIDB4MDMsIDB4MDksIDB4NDQsIDB4MDYsIDB4MDksIDB4ZmIsIDB4MDgsCi0gIDB4MDksIDB4ZjUsIDB4MDksIDB4MDksIDB4ZGQsIDB4MGEsIDB4MDksIDB4ZWMsIDB4MGIsIDB4MDAsIDB4MDAsIDB4MGIsIDB4MzcsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDE0LCAweDYwLCAweDYxLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA5LCAweGQzLCAweDc0LAotICAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLCAweDgyLCAweDc1LCAweDgzLCAweDE5LAotICAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDdiLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDc0LCAweDc1LCAweDgzLCAweDE5fX0sCi0gezB4MDk4NiwgNjQsIHsgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwKLSAgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwZiwKLSAgMHgwYSwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOSwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMH19LAotIHsweDA5YzYsIDY0LCB7IDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MDksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsCi0gIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MDksIDB4MDIsIDB4MGIsIDB4M2UsIDB4MTIsIDB4MGIsCi0gIDB4NDYsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4ZjAsIDB4MDJ9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLAotICAweGEyLCAweDEwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE2LCAweGU0LCAweDMzLCAweDRmLCAweDkwLCAweDdmLCAweDAwLAotICAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweGU0LCAweDkwLCAweDdmLAotICAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwKLSAgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwKLSAgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMn19LAotIHsweDBhODYsIDY0LCB7IDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MTAsIDB4MDIsIDB4MGIsIDB4M2UsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsCi0gIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsCi0gIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDkwLCAweDdmLAotICAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLAotICAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRhLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDEwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwKLSAgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwKLSAgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsCi0gIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsCi0gIDB4MjQsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmF9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGU0LCAweDEyLCAweDBlLCAweGQyLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNhLCAweDAxLCAweGU0LCAweGY1LCAweDM4LAotICAweGY1LCAweDEzLCAweGY1LCAweDM2LCAweGMyLCAweDA3LCAweGMyLCAweDBiLCAweGMyLCAweDA1LCAweGMyLCAweDAwLCAweGMyLCAweDA5LCAweGMyLCAweDEzLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDQ0LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLAotICAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDdmLCAweDEwLCAweDhmLCAweDQyLCAweDEyLCAweDEwLCAweDgxLCAweDkwLCAweDdmfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MCwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHg0NiwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwKLSAgMHgxMiwgMHgxMSwgMHhiMSwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiMSwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMX19LAotIHsweDBjMDYsIDY0LCB7IDB4YjEsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4NmEsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YjEsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsCi0gIDB4MGMsIDB4YjcsIDB4NzUsIDB4MmQsIDB4MDEsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsCi0gIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZDIsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2IsCi0gIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzksIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzcsIDB4YzIsIDB4MDgsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDYsIDB4YzJ9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDAwLCAweGMyLCAweDBhLCAweGMyLCAweDEzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDc1LCAweDQ1LCAweDAzLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGZiLCAweDdmLCAweDEwLCAweDhmLCAweDQzLCAweDEyLCAweDEwLAotICAweGYzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQxLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDc1LCAweDQ3LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0fX0sCi0gezB4MGM4NiwgNjQsIHsgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZiwgMHgxMiwKLSAgMHgxMSwgMHhmYiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwKLSAgMHg3ZiwgMHgxMiwgMHgxMSwgMHhmYiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg4YiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHhkMiwgMHgxMiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4Mn19LAotIHsweDBjYzYsIDY0LCB7IDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsCi0gIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsCi0gIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsCi0gIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LAotICAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweGQyLAotICAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLAotICAweGY1LCAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwKLSAgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywKLSAgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhkMiwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMH19LAotIHsweDBkODYsIDY0LCB7IDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsCi0gIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4ZDIsCi0gIDB4MWEsIDB4MTIsIDB4MTIsIDB4NDUsIDB4YzIsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MGIsIDB4ZjUsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTJ9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDkwLCAweDdmLCAweGExLCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDE3LCAweDYwLCAweDEwLCAweDMwLCAweDEyLCAweDA1LCAweGQyLAotICAweDFhLCAweDEyLCAweDAwLCAweDQ2LCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDE3LCAweDgwLCAweDA4LCAweDMwLCAweDEyLCAweDA1LCAweGMyLAotICAweDFhLCAweDEyLCAweDAwLCAweDQ2LCAweDMwLCAweDExLCAweDA3LCAweGMyLCAweDExLCAweDEyLCAweDA5LCAweDIxLCAweDgwLCAweGQ2LCAweDMwLCAweDE4LAotICAweGQzLCAweGMyLCAweDE4LCAweDEyLCAweDEzLCAweDkzLCAweDgwLCAweGNjLCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkfX0sCi0gezB4MGUwNiwgNjQsIHsgMHg3NSwgMHg4MSwgMHg0NywgMHgwMiwgMHgwZSwgMHg0NywgMHgwMiwgMHgwZCwgMHg2ZiwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwKLSAgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywKLSAgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MCwgMHgwNCwgMHhmNCwgMHg1NiwKLSAgMHg4MCwgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MH19LAotIHsweDBlNDYsIDY0LCB7IDB4ODAsIDB4OTAsIDB4MTIsIDB4YWMsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksCi0gIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsCi0gIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsCi0gIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2F9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLAotICAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLAotICAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDA2LCAweGU5LAotICAweDI1LCAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1fX0sCi0gezB4MGVjNiwgNjQsIHsgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwKLSAgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhMywgMHg5MywgMHhmOCwgMHg3NCwKLSAgMHgwMSwgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhM319LAotIHsweDBmMDYsIDY0LCB7IDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4OGYsIDB4MTgsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4NzUsIDB4MWEsIDB4ZmYsIDB4NzUsIDB4MWIsIDB4MTksIDB4NzUsIDB4MWMsCi0gIDB4ODYsIDB4YWIsIDB4MWEsIDB4YWEsIDB4MWIsIDB4YTksIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGUsIDB4YTUsIDB4YjQsIDB4MDMsIDB4MWQsCi0gIDB4YWYsIDB4MTksIDB4MDUsIDB4MTksIDB4ZWYsIDB4YjUsIDB4MTgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGUsIDB4OGMsIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsCi0gIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWEsIDB4ZmYsIDB4ZjUsIDB4MWIsIDB4ODksIDB4MWMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDB9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLAotICAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLAotICAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LAotICAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDI3LCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM2LCAweDgwLCAweGNhLCAweDIyLCAweDhmLCAweDFhfX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlNSwgMHgxYSwKLSAgMHhmMCwgMHgxMiwgMHgxMywgMHgzZiwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwKLSAgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHg3YiwgMHg4ZiwgMHgxYSwKLSAgMHhlZiwgMHg0MiwgMHgzNywgMHg4MCwgMHhjYSwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMH19LAotIHsweDBmYzYsIDY0LCB7IDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTQsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsCi0gIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsCi0gIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsCi0gIDB4MTEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDB9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLAotICAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LAotICAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwfX0sCi0gezB4MTA0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywKLSAgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxM319LAotIHsweDEwODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDR9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LAotICAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LAotICAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwfX0sCi0gezB4MTEwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwKLSAgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDExNDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsCi0gIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2Z9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLAotICAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLAotICAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwfX0sCi0gezB4MTFjNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwKLSAgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwKLSAgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgwNywgMHgxMiwgMHgxMywgMHgwZiwgMHg4ZiwgMHgxYiwgMHg4MCwKLSAgMHhlOCwgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MH19LAotIHsweDEyMDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4NjMsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTMsCi0gIDB4NjMsIDB4OGYsIDB4MWIsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MTIsIDB4MTIsIDB4MTMsIDB4NjMsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsCi0gIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4NjMsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFhLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLAotICAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDEyLCAweGM4LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0LAotICAweDA0LCAweGYwLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNlLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDExLCAweGIxLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNlLCAweDQ0LCAweDgwfX0sCi0gezB4MTI4NiwgNjQsIHsgMHhmZCwgMHgxMiwgMHgxMSwgMHhiMSwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZiwgMHg0NCwgMHg4MCwKLSAgMHhmZCwgMHgxMiwgMHgxMSwgMHhmYiwgMHgyMiwgMHgwNSwgMHgwZSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMywgMHgxNCwgMHgwMywgMHgwMCwKLSAgMHgwMCwgMHhjMSwgMHgxMSwgMHhjMSwgMHgxOCwgMHhjMSwgMHg5NSwgMHhjMSwgMHgxMCwgMHhjMSwgMHgxNiwgMHgwMSwgMHgwYSwgMHgwMCwgMHhjMX19LAotIHsweDEyYzYsIDY0LCB7IDB4OWIsIDB4MDAsIDB4OGUsIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTgsIDB4NGUsCi0gIDB4NjAsIDB4MDUsIDB4MTIsIDB4MGQsIDB4NGUsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MGYsIDB4ZTcsIDB4MDAsIDB4MDIsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDBmLCAweGJkLCAweDAwLCAweDAyLCAweDEwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZn19LAotIHsweDEzODYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MDAsIDB4MDMsIDB4MTIsCi0gIDB4MGQsIDB4NWYsIDB4MTIsIDB4MGIsIDB4NDYsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDEwLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsICAwLCAgezB4MDB9fQotfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGFfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTI4eGFfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2I1NjY3OC4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhhX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NDkgKzAsMCBAQAotLyoga2V5c3Bhbl91c2EyOHhhX2Z3LmgKLQotCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGFzIGtleXNwYW5fdXNhMjh4YS5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLQotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2EyOHhhX2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgxMiwgMHhmOX19LAotIHsweDAwMDMsIDE2LCB7IDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDdmLCAweDlkLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDkwfX0sCi0gezB4MDAyMywgMTUsIHsgMHg3ZiwgMHg5NSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgwNywgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHgyMn19LAotIHsweDAwNDYsIDE2LCB7IDB4MzAsIDB4MDksIDB4MTgsIDB4MTIsIDB4MTMsIDB4MjcsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2MsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDAsIDB4ZDgsIDB4OTB9fSwKLSB7MHgwMDU2LCAxNiwgeyAweDdmLCAweGJmLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDA5LCAweGMyLCAweDAwLCAweDgwLCAweDc3LCAweDMwLCAweDAzLCAweDNiLCAweDkwLCAweDdmfX0sCi0gezB4MDA2NiwgMTYsIHsgMHhjNiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg2ZCwgMHgxMiwgMHgxMywgMHgyNywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZX19LAotIHsweDAwNzYsIDE2LCB7IDB4NDAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsIDB4MTEsIDB4NjB9fSwKLSB7MHgwMDg2LCAxNiwgeyAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDQxLCAweDEyLCAweDBjLCAweGM4fX0sCi0gezB4MDA5NiwgMTYsIHsgMHhjMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhmMCwgMHg4MCwgMHgzOSwgMHg5MCwgMHg3ZiwgMHhjOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMn19LAotIHsweDAwYTYsIDE2LCB7IDB4MTIsIDB4MTMsIDB4MjcsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4MjksIDB4OTAsIDB4N2QsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MDl9fSwKLSB7MHgwMGI2LCAxNiwgeyAweDkwLCAweDdmLCAweGM5LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkfX0sCi0gezB4MDBjNiwgMTYsIHsgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwYywgMHhjOCwgMHhkMiwgMHgwMywgMHhlNCwgMHg5MCwgMHg3Zn19LAotIHsweDAwZDYsIDE2LCB7IDB4YzksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjYsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MDEsIDB4NjAsIDB4MTIsIDB4MTEsIDB4ZTQsIDB4OGZ9fSwKLSB7MHgwMGU2LCAxNiwgeyAweDE5LCAweDEyLCAweDEzLCAweDMzLCAweDhmLCAweDM2LCAweGU1LCAweDE5LCAweGMzLCAweDk1LCAweDNhLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDBmfX0sCi0gezB4MDBmNiwgMTYsIHsgMHhlZiwgMHgzMCwgMHhlMCwgMHgwOCwgMHhlNSwgMHgzNiwgMHgyMCwgMHhlNywgMHgwMywgMHgzMCwgMHgwYiwgMHg1ZSwgMHhjMiwgMHgwYiwgMHhlNSwgMHgxOX19LAotIHsweDAwMzYsIDEyLCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjJ9fSwKLSB7MHgwMDQzLCAgMywgeyAweDAyLCAweDEzLCAweDAwfX0sCi0gezB4MDAwMCwgIDMsIHsgMHgwMiwgMHgwZSwgMHgwZX19LAotIHsweDAxMDYsIDY0LCB7IDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzYsIDB4MDIsIDB4ZTUsIDB4MzYsIDB4MzAsIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsCi0gIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2UsCi0gIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzYsIDB4MTIsIDB4MGYsIDB4NTksIDB4ZTUsIDB4MTksIDB4MjUsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZjAsCi0gIDB4ODAsIDB4MjcsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4M2YsIDB4ODUsIDB4MTksIDB4MDh9fSwKLSB7MHgwMTQ2LCA2NCwgeyAweDkwLCAweDdlLCAweDgwLCAweGU1LCAweDM2LCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDgxLCAweDc1LCAweDBjLCAweDdlLCAweDc1LCAweDBkLCAweDgxLCAweDEyLAotICAweDBjLCAweGVkLCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGI3LCAweGYwLCAweDkwLCAweDdmLCAweGNlLCAweGUwLCAweDMwLCAweGUxLCAweDA2LAotICAweDIwLCAweDA1LCAweDAzLCAweDAyLCAweDAzLCAweGMxLCAweGMyLCAweDA1LCAweGU0LCAweGY1LCAweDE4LCAweDc0LCAweDQwLCAweDI1LCAweDE4LCAweGY1LAotICAweDgyLCAweGU0LCAweDM0LCAweDdjLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDdjLCAweDAwLCAweDdiLCAweDAxLCAweDdhfX0sCi0gezB4MDE4NiwgNjQsIHsgMHg3ZSwgMHg3OSwgMHgwMCwgMHgyNCwgMHgwMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwgMHgxMiwgMHgwZSwgMHhlMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgwMCwgMHhlMCwgMHg2MCwgMHg2OCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgyNCwKLSAgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhjZCwgMHgxMiwgMHgxMSwgMHhiZiwgMHg0MywgMHg0NiwKLSAgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHhlNCwgMHg5MH19LAotIHsweDAxYzYsIDY0LCB7IDB4N2UsIDB4MTMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MDEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NDMsIDB4OTAsIDB4N2UsIDB4MDIsIDB4ZTAsCi0gIDB4ZmYsIDB4MTIsIDB4MTAsIDB4NjksIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MTEsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YmYsIDB4N2YsIDB4MDMsCi0gIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4YmYsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDYsIDB4OTB9fSwKLSB7MHgwMjA2LCA2NCwgeyAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDAzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLCAweDEzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLAotICAweDdlLCAweDEzLCAweGYwLCAweDc1LCAweDI1LCAweGZmLCAweDkwLCAweDdlLCAweDA1LCAweGUwLCAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLAotICAweGY1LCAweDQ0LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ0LCAweGYwLCAweDkwLCAweDdlLAotICAweDA3LCAweGUwLCAweDYwLCAweDJiLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQyLCAweDgwLCAweDgwLCAweDAzLCAweDUzLCAweDQyfX0sCi0gezB4MDI0NiwgNjQsIHsgMHg3ZiwgMHg1MywgMHg0MiwgMHhmYywgMHg5MCwgMHg3ZSwgMHgwOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0MiwgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwKLSAgMHgxMCwgMHhiNSwgMHg5MCwgMHg3ZSwgMHgwYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMCwgMHhkYiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4ZiwgMHg5MCwKLSAgMHg3ZSwgMHgwMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MiwgMHg3ZiwgMHhhZiwgMHg0MiwgMHgxMiwgMHgxMCwgMHg4ZiwgMHg5MCwgMHg3ZSwgMHgwYywKLSAgMHhlMCwgMHg2MCwgMHgxOCwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0NiwgMHgwMiwgMHg4MCwgMHgwMywgMHg1MywgMHg0NiwgMHhmZH19LAotIHsweDAyODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MGUsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDEsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MTIsIDB4ZTAsIDB4ZjUsIDB4M2EsIDB4YTMsCi0gIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGQsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4M2MsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MTB9fSwKLSB7MHgwMmM2LCA2NCwgeyAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLAotICAweDkwLCAweDdlLCAweDE2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ0LCAweGJmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LAotICAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDEyLCAweDEyLCAweGVkLAotICAweGVmLCAweDU0LCAweGZlLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDUzLCAweDNlLCAweGZkLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyfX0sCi0gezB4MDMwNiwgNjQsIHsgMHgxMSwgMHhiZiwgMHhlNCwgMHhmNSwgMHgyYSwgMHhmNSwgMHgyOSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZSwKLSAgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhiZiwgMHg3NSwgMHgyOSwgMHgwMSwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxOCwKLSAgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHhlNSwgMHg0MCwgMHg0NCwgMHgwNCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhmMCwgMHhkMiwgMHgwMCwgMHg5MCwgMHg3ZSwgMHgxOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OH19LAotIHsweDAzNDYsIDY0LCB7IDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MWEsIDB4ZTAsIDB4NjAsIDB4MGYsCi0gIDB4NTMsIDB4M2UsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YmYsIDB4NzUsIDB4MmIsIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsCi0gIDB4N2UsIDB4MWIsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDEsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4YmYsIDB4ZTQsCi0gIDB4ZjUsIDB4MmIsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MWMsIDB4ZTAsIDB4NjAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTJ9fSwKLSB7MHgwMzg2LCA2NCwgeyAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBiLAotICAweDkwLCAweDdlLCAweDFlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDJjLCAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGQyLCAweDA3LCAweDkwLCAweDdlLAotICAweDFmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDExLCAweGYwLCAweDc0LCAweDMxLCAweGYwLCAweDc0LCAweDE1LCAweGYwLAotICAweDc0LCAweDM1LCAweGYwLCAweGQyLCAweDAzLCAweGU0LCAweDkwLCAweDdmLCAweGNmLCAweGYwLCAweDMwLCAweDFhLCAweDUyLCAweGU1LCAweDM4fX0sCi0gezB4MDNjNiwgNjQsIHsgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOCwgMHgyMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwKLSAgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhkMiwgMHgxMywgMHgxMiwgMHgxMiwgMHhlZCwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwKLSAgMHgxOSwgMHg2NSwgMHgyYSwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyYSwgMHhkMiwgMHgwNywgMHgxMiwgMHgxMywgMHgzZiwgMHhlZiwgMHg1NCwgMHg4MCwKLSAgMHhmNSwgMHgxOSwgMHg2NSwgMHgyNiwgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgyNiwgMHhkMiwgMHgwNywgMHgzMCwgMHgwZCwgMHgxMSwgMHgxMn19LAotIHsweDA0MDYsIDY0LCB7IDB4MTMsIDB4M2YsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjUsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjUsIDB4ZDIsIDB4MDcsIDB4MjAsCi0gIDB4MWIsIDB4MDMsIDB4MDIsIDB4MDcsIDB4ZWMsIDB4MzAsIDB4MGEsIDB4MTgsIDB4MTIsIDB4MTMsIDB4N2IsIDB4ZWYsIDB4YzMsIDB4OTUsIDB4M2QsIDB4NDAsCi0gIDB4MDMsIDB4MDIsIDB4MDQsIDB4YWUsIDB4OTAsIDB4N2YsIDB4YzEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MDAsIDB4ODAsIDB4NzcsCi0gIDB4MzAsIDB4MDQsIDB4M2IsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4N2IsIDB4ZWYsIDB4YzN9fSwKLSB7MHgwNDQ2LCA2NCwgeyAweDk0LCAweDQwLCAweDUwLCAweDY0LCAweDkwLCAweDdkLCAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDBhLCAweDkwLCAweDdmLCAweGNiLCAweGUwLCAweDE0LCAweGY1LAotICAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwLCAweDBmLCAweGY1LCAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDQxLCAweDc1LCAweDBjLCAweDdkLCAweDc1LAotICAweDBkLCAweDQxLCAweDEyLCAweDBkLCAweDEyLCAweGMyLCAweDA0LCAweGU0LCAweDkwLCAweDdmLCAweGNiLCAweGYwLCAweDgwLCAweDM5LCAweDkwLCAweDdmLAotICAweGNjLCAweGUwLCAweDIwLCAweGUxLCAweDMyLCAweDEyLCAweDEzLCAweDdiLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwfX0sCi0gezB4MDQ4NiwgNjQsIHsgMHg3YywgMHhjMCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwKLSAgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHhjMSwgMHg3NSwgMHgwYywgMHg3YywgMHg3NSwgMHgwZCwgMHhjMSwgMHgxMiwgMHgwZCwgMHgxMiwKLSAgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwNSwKLSAgMHgzNiwgMHgxMiwgMHgxMiwgMHgyZSwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxMywgMHg4NywgMHg4ZiwgMHgzNywgMHhlNSwgMHgxOSwgMHhjMywgMHg5NX19LAotIHsweDA0YzYsIDY0LCB7IDB4M2IsIDB4NTAsIDB4MGYsIDB4MTIsIDB4MTMsIDB4NjMsIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzcsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGMsCi0gIDB4NWUsIDB4YzIsIDB4MGMsIDB4ZTUsIDB4MTksIDB4NjAsIDB4NTgsIDB4YjQsIDB4ODAsIDB4MDMsIDB4NDMsIDB4MzcsIDB4MDIsIDB4ZTUsIDB4MzcsIDB4MzAsCi0gIDB4ZTcsIDB4MjYsIDB4ZTUsIDB4MTksIDB4ZDMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTksIDB4MjAsIDB4ODUsIDB4MTksIDB4MDgsIDB4N2UsCi0gIDB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4ODAsIDB4YWYsIDB4MzcsIDB4MTIsIDB4MGYsIDB4OTIsIDB4ZTV9fSwKLSB7MHgwNTA2LCA2NCwgeyAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LAotICAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4LCAweDkwLCAweDdkLCAweDgwLCAweGU1LCAweDM3LCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDgxLCAweDc1LAotICAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgxLCAweDEyLCAweDBkLCAweDM3LCAweGU1LCAweDE5LCAweDA0LCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDkwLAotICAweDdmLCAweGQwLCAweGUwLCAweDMwLCAweGUxLCAweDA2LCAweDIwLCAweDA2LCAweDAzLCAweDAyLCAweDA3LCAweDk3LCAweGMyLCAweDA2LCAweGU0fX0sCi0gezB4MDU0NiwgNjQsIHsgMHhmNSwgMHgxOCwgMHg3NCwgMHhjMCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwKLSAgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OSwgMHgyMCwgMHgyNCwgMHgyMCwgMHhmOSwgMHhlYywgMHgzNCwgMHg3ZSwgMHhmYSwgMHhlZiwKLSAgMHgxMiwgMHgwZSwgMHhlMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgyMCwgMHhkNywgMHg5MCwgMHg3ZSwgMHgyMCwgMHhlMCwgMHg2MCwgMHg2OCwKLSAgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgyNCwgMHg3ZiwgMHgwMSwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMiwgMHgwOSwgMHg3ZiwgMHgwM319LAotIHsweDA1ODYsIDY0LCB7IDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTIsIDB4MDksIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZTUsIDB4NDcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MzMsIDB4ZjAsIDB4ODAsIDB4MzAsIDB4OTAsIDB4N2UsIDB4MjEsIDB4ZTAsIDB4ZmYsIDB4MTIsCi0gIDB4MTEsIDB4MjcsIDB4OTAsIDB4N2UsIDB4MjIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4NGQsIDB4N2YsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MzEsIDB4ZTAsCi0gIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MDksIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTIsIDB4MDksIDB4NDMsIDB4NDcsIDB4ODAsIDB4OTB9fSwKLSB7MHgwNWM2LCA2NCwgeyAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLAotICAweGU1LCAweDQxLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDIzLCAweGUwLCAweDcwLCAweDA2LCAweDkwLCAweDdlLAotICAweDMzLCAweGUwLCAweDcwLCAweDA4LCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDc1LCAweDJlLCAweGZmLCAweDkwLCAweDdlLCAweDI1LCAweGUwLAotICAweDYwLCAweDEyLCAweGEzLCAweGUwLCAweDU0LCAweDNmLCAweGY1LCAweDQ1LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwfX0sCi0gezB4MDYwNiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NSwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyNywgMHhlMCwgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MywKLSAgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MywgMHg3ZiwgMHg1MywgMHg0MywgMHhmYywgMHg5MCwgMHg3ZSwgMHgyOSwgMHhlMCwgMHg2MCwgMHgxMSwgMHg0MywKLSAgMHg0MywgMHgwMiwgMHhhMywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg3MywgMHg5MCwgMHg3ZSwgMHgyYiwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxMSwgMHg5OSwKLSAgMHhhZiwgMHg0MywgMHgxMiwgMHgxMSwgMHgwMSwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg2MCwgMHgwOCwgMHg1MywgMHg0MywgMHg3ZiwgMHhhZn19LAotIHsweDA2NDYsIDY0LCB7IDB4NDMsIDB4MTIsIDB4MTEsIDB4MDEsIDB4OTAsIDB4N2UsIDB4MmMsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDIsCi0gIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDcsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsCi0gIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MmUsIDB4ZTAsIDB4NjAsIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDMsCi0gIDB4NTMsIDB4NDcsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDcsIDB4ZjB9fSwKLSB7MHgwNjg2LCA2NCwgeyAweDkwLCAweDdlLCAweDMyLCAweGUwLCAweGY1LCAweDNiLCAweGEzLCAweGUwLCAweDEzLCAweDkyLCAweDBlLCAweGEzLCAweGUwLCAweGY1LCAweDNkLCAweGEzLCAweGUwLAotICAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDEwLCAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGVmLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLAotICAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwLCAweDkwLCAweDdlLCAweDM2LCAweGUwLCAweDYwLCAweDMyLCAweDUzLCAweDQ1LCAweGJmLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MDZjNiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHgxMiwgMHgxMywgMHg1NywgMHhlZiwgMHg1NCwgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZiwgMHhmZCwKLSAgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHhlNCwgMHhmNSwgMHgzMywgMHhmNSwgMHgzMiwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwKLSAgMHgzNywgMHhlMCwgMHg2MCwgMHgwZiwgMHg0MywgMHgzZiwgMHgwMiwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgwOSwgMHg3NSwgMHgzMiwKLSAgMHgwMSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzOCwgMHhlMCwgMHg2MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMH19LAotIHsweDA3MDYsIDY0LCB7IDB4ZTUsIDB4NDEsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsIDB4MDAsIDB4OTAsIDB4N2UsIDB4MzksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsCi0gIDB4OTAsIDB4N2UsIDB4M2EsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NTMsIDB4M2YsIDB4ZmUsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MDksCi0gIDB4NzUsIDB4MzQsIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4M2IsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDEsIDB4ZTR9fSwKLSB7MHgwNzQ2LCA2NCwgeyAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LCAweGU0LCAweGY1LCAweDM0LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNjLCAweGUwLCAweDYwLCAweDBlLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweGU1LCAweDQxLCAweDQ0LCAweDAyLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLAotICAweDNkLCAweGUwLCAweDYwLCAweDAyLCAweGQyLCAweDBjLCAweDkwLCAweDdlLCAweDNlLCAweGUwLCAweDYwLCAweDA4LCAweDc1LCAweDM1LCAweDAxLCAweGU0LAotICAweGY1LCAweDM5LCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNmLCAweGUwLCAweDYwLCAweDExLCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDEzfX0sCi0gezB4MDc4NiwgNjQsIHsgMHhmMCwgMHg3NCwgMHgzMywgMHhmMCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg3NCwgMHgzNiwgMHhmMCwgMHhkMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMSwgMHhmMCwKLSAgMHgzMCwgMHgxYSwgMHg1MiwgMHhlNSwgMHgzOSwgMHg2MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHgzMCwgMHgxMywgMHg0OSwgMHhlNSwgMHgxMywgMHhkMywgMHg5NCwKLSAgMHgwMCwgMHg0MCwgMHgwNCwgMHgxNSwgMHgxMywgMHg4MCwgMHgzZSwgMHg3NSwgMHgxMywgMHgwYSwgMHgzMCwgMHgxYiwgMHgwMiwgMHhjMiwgMHgxMywgMHgxMiwKLSAgMHgxMywgMHg1NywgMHhlZiwgMHg1NCwgMHgwMSwgMHhmNSwgMHgxOSwgMHg2NSwgMHgzMywgMHg2MCwgMHgwNSwgMHg4NSwgMHgxOSwgMHgzMywgMHhkMn19LAotIHsweDA3YzYsIDY0LCB7IDB4MDgsIDB4MTIsIDB4MTMsIDB4OTMsIDB4ZWYsIDB4NTQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmYsIDB4ZDIsCi0gIDB4MDgsIDB4MzAsIDB4MGUsIDB4MTEsIDB4MTIsIDB4MTMsIDB4OTMsIDB4ZWYsIDB4NTQsIDB4MTAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MmUsIDB4NjAsIDB4MDUsCi0gIDB4ODUsIDB4MTksIDB4MmUsIDB4ZDIsIDB4MDgsIDB4MzAsIDB4MWEsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZDIsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MjMsIDB4OTAsCi0gIDB4N2IsIDB4NDAsIDB4ZTAsIDB4NjAsIDB4MDksIDB4ZTAsIDB4ZjUsIDB4MTUsIDB4OTAsIDB4N2IsIDB4NDIsIDB4ZTAsIDB4ZjUsIDB4MTYsIDB4OTB9fSwKLSB7MHgwODA2LCA2NCwgeyAweDdiLCAweDQxLCAweGUwLCAweDYwLCAweDA5LCAweDkwLCAweDdmLCAweGQ3LCAweDc0LCAweDE3LCAweGYwLCAweDc0LCAweDM3LCAweGYwLCAweGU0LCAweDkwLCAweDdmLAotICAweGQzLCAweGYwLCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDA5LCAweDIwLCAweGU1LCAweDBhLCAweDcwLCAweDQwLAotICAweDMwLCAweDA3LCAweDM5LCAweGU1LCAweDM4LCAweDcwLCAweDM1LCAweGMyLCAweDA3LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDI0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDlhLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDg0NiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwOSwgMHhmMCwgMHg3NSwgMHgzOCwgMHgxMCwgMHhlNCwgMHhmNSwgMHgyYywgMHg3NSwgMHgwYSwgMHgwMSwgMHgyMiwKLSAgMHhlNSwgMHgwYSwgMHg2NCwgMHgwMSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwOCwgMHgzOSwgMHhlNSwgMHgzOSwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwOCwgMHhmNSwKLSAgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMn19LAotIHsweDA4ODYsIDY0LCB7IDB4MGUsIDB4OWEsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsCi0gIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzksIDB4MTAsIDB4ZTQsCi0gIDB4ZjUsIDB4MzUsIDB4NzUsIDB4MGEsIDB4MDIsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDIsIDB4NzAsIDB4MzYsIDB4MzAsIDB4MTQsIDB4MmYsIDB4YzIsCi0gIDB4MTQsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MGUsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWUsIDB4MzQsIDB4MDB9fSwKLSB7MHgwOGM2LCA2NCwgeyAweGZhLCAweDEyLCAweDBlLCAweDlhLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLAotICAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA1LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA1LCAweGYwLCAweDc1LCAweDBhLAotICAweDAzLCAweDIyLCAweGU1LCAweDE1LCAweDYwLCAweDMwLCAweDE1LCAweDE1LCAweGU0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LAotICAweDE0LCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDlhLCAweGZmLCAweDc0LCAweDgwLCAweDI1fX0sCi0gezB4MDkwNiwgNjQsIHsgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwKLSAgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHhlNCwgMHhmNSwgMHgwYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHgxMiwgMHgwZSwKLSAgMHhmMiwgMHgwYSwgMHgwOCwgMHgwMCwgMHgwYSwgMHg3YywgMHgwMSwgMHgwYSwgMHhlOCwgMHgwMywgMHgwOSwgMHg0NCwgMHgwNiwgMHgwOSwgMHhmYiwgMHgwOCwKLSAgMHgwOSwgMHhmNSwgMHgwOSwgMHgwOSwgMHhkZCwgMHgwYSwgMHgwOSwgMHhlYywgMHgwYiwgMHgwMCwgMHgwMCwgMHgwYiwgMHgzNywgMHg5MCwgMHg3Zn19LAotIHsweDA5NDYsIDY0LCB7IDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTksIDB4MTQsIDB4NjAsIDB4NjEsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDksIDB4ZDMsIDB4NzQsCi0gIDB4MTksIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDIsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDMsIDB4NzUsIDB4ODIsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4N2IsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZjAsIDB4NzUsIDB4ODIsIDB4NzQsIDB4NzUsIDB4ODMsIDB4MTl9fSwKLSB7MHgwOTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDgyLCAweDY2LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyLCAweDU4LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLAotICAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLCAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBmLAotICAweDE4LCAweGVhLCAweDQ5LCAweDYwLCAweDBkLCAweGVhLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGU5LCAweDkwLCAweDdmLCAweGQ1LCAweGYwfX0sCi0gezB4MDljNiwgNjQsIHsgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwOSwgMHgwMiwgMHgwYiwgMHgzZSwgMHgxMiwgMHgwYiwKLSAgMHg0NiwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMn19LAotIHsweDBhMDYsIDY0LCB7IDB4MGIsIDB4M2UsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsCi0gIDB4YTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MTYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsCi0gIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4M2UsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYTQ2LCA2NCwgeyAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LAotICAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LAotICAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDAyLCAweDBiLCAweDNlLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyfX0sCi0gezB4MGE4NiwgNjQsIHsgMHg2MCwgMHgwMywgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgxMCwgMHgwMiwgMHgwYiwgMHgzZSwKLSAgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHgzZSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwKLSAgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwKLSAgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDBhYzYsIDY0LCB7IDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsCi0gIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsCi0gIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsCi0gIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsIDB4MTAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjB9fSwKLSB7MHgwYjA2LCA2NCwgeyAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LAotICAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLAotICAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LAotICAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyfX0sCi0gezB4MGI0NiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHgzMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5ZSwgMHg3NCwgMHgzZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxOCwKLSAgMHhmMCwgMHhlNCwgMHhmNSwgMHg4ZSwgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHhlNCwgMHhmNSwKLSAgMHgyNCwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBiODYsIDY0LCB7IDB4ZTQsIDB4MTIsIDB4MGUsIDB4ZTAsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2EsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4MzgsCi0gIDB4ZjUsIDB4MTMsIDB4ZjUsIDB4MzYsIDB4YzIsIDB4MDcsIDB4YzIsIDB4MGIsIDB4YzIsIDB4MDUsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MDksIDB4YzIsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4NzUsIDB4NDQsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsCi0gIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YmYsIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4OGYsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwYmM2LCA2NCwgeyAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQwLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDc1LCAweDQ2LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLAotICAweDEyLCAweDExLCAweGJmLCAweGU0LCAweGZmLCAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNlLCAweDEyLCAweDExLCAweGJmLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDExfX0sCi0gezB4MGMwNiwgNjQsIHsgMHhiZiwgMHg3ZiwgMHgwMSwgMHgxMiwgMHgxMiwgMHg3OCwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMSwgMHhiZiwgMHg3ZiwgMHgxMywgMHg3ZCwgMHgwMSwKLSAgMHgxMiwgMHgxMSwgMHhiZiwgMHgyMCwgMHgxYiwgMHgwMywgMHgwMiwgMHgwYywgMHhjNSwgMHg3NSwgMHgyZCwgMHgwMSwgMHg3NSwgMHgxOCwgMHgwMSwgMHg3YiwKLSAgMHgwMCwgMHg3NCwgMHgyZCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlNCwgMHgzNCwgMHgwMCwgMHhmYSwgMHhlNCwgMHgxMiwgMHgwZSwgMHhlMCwgMHgwNSwgMHgxOCwKLSAgMHhlNSwgMHgxOCwgMHhiNCwgMHgwOSwgMHhlYSwgMHg3NSwgMHgzYiwgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOSwgMHhmNSwgMHgxMywgMHhmNSwgMHgzN319LAotIHsweDBjNDYsIDY0LCB7IDB4YzIsIDB4MDgsIDB4YzIsIDB4MGMsIDB4YzIsIDB4MDYsIDB4YzIsIDB4MDAsIDB4YzIsIDB4MGEsIDB4YzIsIDB4MTMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsCi0gIDB4ZjAsIDB4NzUsIDB4NDUsIDB4MDMsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4N2YsIDB4MGMsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsCi0gIDB4MDksIDB4N2YsIDB4MTAsIDB4OGYsIDB4NDMsIDB4MTIsIDB4MTEsIDB4MDEsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4N2YsIDB4MDEsCi0gIDB4OGYsIDB4NDEsIDB4ZWYsIDB4NDQsIDB4MDYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjB9fSwKLSB7MHgwYzg2LCA2NCwgeyAweDc1LCAweDQ3LCAweDgwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDgwLCAweGYwLCAweDBmLCAweGU0LCAweGZkLCAweDEyLCAweDEyLCAweDA5LCAweGU0LCAweGZmLAotICAweDdlLCAweGEzLCAweGFkLCAweDA2LCAweDhkLCAweDNmLCAweDEyLCAweDEyLCAweDA5LCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGU0LCAweGYwLCAweDdmLCAweDA1LCAweDdkLCAweDdmLCAweDEyLCAweDEyLCAweDA5LCAweDdmLCAweDAxLCAweDEyLCAweDEyLCAweDk5LAotICAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDEyLCAweDA5LCAweDdmLCAweDEzLCAweDdkLCAweDAxLCAweDEyLCAweDEyLCAweDA5LCAweGQyfX0sCi0gezB4MGNjNiwgNjQsIHsgMHgxMiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwKLSAgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHgwNSwKLSAgMHg4NiwgMHhkZiwgMHhmNywgMHhkMiwgMHhhZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHhhZiwgMHgwOCwgMHhlNSwgMHgwZCwKLSAgMHhmNSwgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNX19LAotIHsweDBkMDYsIDY0LCB7IDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4MDUsIDB4ODYsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsCi0gIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjV9fSwKLSB7MHgwZDQ2LCA2NCwgeyAweDgzLCAweGMyLCAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LAotICAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LAotICAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5LCAweDIyLCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDQzLCAweDg3LCAweDAxLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDIyLCAweGQyLCAweDE5LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwfX0sCi0gezB4MGQ4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHhmZiwgMHhkMywgMHg5MiwgMHgxMCwgMHhlNCwgMHgzMywgMHhmZSwgMHhlZiwgMHg0ZSwgMHhmMCwgMHhkMiwgMHhlOCwgMHg0MywKLSAgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwKLSAgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYSwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwKLSAgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHhkMiwgMHgxYX19LAotIHsweDBkYzYsIDY0LCB7IDB4MTIsIDB4MTIsIDB4NTMsIDB4YzIsIDB4MTEsIDB4ZTQsIDB4ZjUsIDB4MGIsIDB4ZjUsIDB4MTMsIDB4YzIsIDB4MTcsIDB4YzIsIDB4MTIsIDB4OTAsIDB4N2YsIDB4YTEsCi0gIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4NjUsIDB4MTcsIDB4NjAsIDB4MTAsIDB4MzAsIDB4MTIsIDB4MDUsIDB4ZDIsIDB4MWEsIDB4MTIsCi0gIDB4MDAsIDB4NDYsIDB4OTAsIDB4N2YsIDB4ZDgsIDB4ZTAsIDB4ZjUsIDB4MTcsIDB4ODAsIDB4MDgsIDB4MzAsIDB4MTIsIDB4MDUsIDB4YzIsIDB4MWEsIDB4MTIsCi0gIDB4MDAsIDB4NDYsIDB4MzAsIDB4MTEsIDB4MDcsIDB4YzIsIDB4MTEsIDB4MTIsIDB4MDksIDB4MjEsIDB4ODAsIDB4ZDYsIDB4MzAsIDB4MTgsIDB4ZDN9fSwKLSB7MHgwZTA2LCA2NCwgeyAweGMyLCAweDE4LCAweDEyLCAweDEzLCAweDlmLCAweDgwLCAweGNjLCAweDIyLCAweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDQ3LAotICAweDAyLCAweDBlLCAweDU1LCAweDAyLCAweDBkLCAweDdkLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LAotICAweDgwLCAweDAxLCAweGYyLCAweDA4LCAweGRmLCAweGY0LCAweDgwLCAweDI5LCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweDU0LCAweDA3LCAweDI0LCAweDBjLAotICAweGM4LCAweGMzLCAweDMzLCAweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwfX0sCi0gezB4MGU0NiwgNjQsIHsgMHgwMSwgMHg0NiwgMHhmNiwgMHhkZiwgMHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHgxMiwKLSAgMHhiYSwgMHhlNCwgMHg3ZSwgMHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwKLSAgMHhmZSwgMHhlNCwgMHg5MywgMHhhMywgMHg2MCwgMHgwMSwgMHgwZSwgMHhjZiwgMHg1NCwgMHhjMCwgMHgyNSwgMHhlMCwgMHg2MCwgMHhhOCwgMHg0MCwgMHhiOCwKLSAgMHhlNCwgMHg5MywgMHhhMywgMHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOH19LAotIHsweDBlODYsIDY0LCB7IDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsCi0gIDB4ZTcsIDB4ODAsIDB4YmUsIDB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsCi0gIDB4YmIsIDB4ZmUsIDB4MDIsIDB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjIsIDB4YmIsIDB4MDEsIDB4MGMsIDB4ZTUsCi0gIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDYsIDB4ZTksIDB4MjV9fSwKLSB7MHgwZWM2LCA2NCwgeyAweDgyLCAweGY4LCAweGU2LCAweDIyLCAweGJiLCAweGZlLCAweDA2LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweGUyLCAweDIyLCAweGU1LCAweDgyLCAweDI5LCAweGY1LAotICAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLAotICAweGYwLCAweDIyLCAweDUwLCAweDAyLCAweGY3LCAweDIyLCAweGJiLCAweGZlLCAweDAxLCAweGYzLCAweDIyLCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGY4LAotICAweGU0LCAweDkzLCAweDcwLCAweDEyLCAweDc0LCAweDAxLCAweDkzLCAweDcwLCAweDBkLCAweGEzLCAweGEzLCAweDkzLCAweGY4LCAweDc0LCAweDAxfX0sCi0gezB4MGYwNiwgNjQsIHsgMHg5MywgMHhmNSwgMHg4MiwgMHg4OCwgMHg4MywgMHhlNCwgMHg3MywgMHg3NCwgMHgwMiwgMHg5MywgMHg2OCwgMHg2MCwgMHhlZiwgMHhhMywgMHhhMywgMHhhMywgMHg4MCwKLSAgMHhkZiwgMHg4ZiwgMHgxOCwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3NSwgMHgxYSwgMHhmZiwgMHg3NSwgMHgxYiwgMHgxOSwgMHg3NSwgMHgxYywgMHg4NiwgMHhhYiwKLSAgMHgxYSwgMHhhYSwgMHgxYiwgMHhhOSwgMHgxYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwZSwgMHhiMywgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgxOSwKLSAgMHgwNSwgMHgxOSwgMHhlZiwgMHhiNSwgMHgxOCwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwZSwgMHg5YSwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZX19LAotIHsweDBmNDYsIDY0LCB7IDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWEsIDB4ZmYsIDB4ZjUsIDB4MWIsIDB4ODksIDB4MWMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksCi0gIDB4MDAsIDB4MjIsIDB4OGYsIDB4MWEsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWUsIDB4MGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsCi0gIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4MWEsIDB4ZjAsIDB4MTIsIDB4MDAsIDB4MzYsIDB4MDUsIDB4MGQsIDB4ZTUsIDB4MGQsIDB4YWMsIDB4MGMsIDB4NzAsCi0gIDB4MDIsIDB4MDUsIDB4MGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MTUsIDB4MDgsIDB4ZTUsIDB4MDgsIDB4NjB9fSwKLSB7MHgwZjg2LCA2NCwgeyAweDBhLCAweDEyLCAweDEzLCAweDMzLCAweDhmLCAweDFhLCAweGVmLCAweDQyLCAweDM2LCAweDgwLCAweGNhLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDBkLCAweGU1LAotICAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLAotICAweDEzLCAweDRiLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLAotICAweDgzLCAweGVmLCAweGYwLCAweDE1LCAweDA4LCAweGU1LCAweDA4LCAweDYwLCAweDBhLCAweDEyLCAweDEzLCAweDg3LCAweDhmLCAweDFhLCAweGVmfX0sCi0gezB4MGZjNiwgNjQsIHsgMHg0MiwgMHgzNywgMHg4MCwgMHhjYSwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwKLSAgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwKLSAgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHhjMCwgMHhlMCwKLSAgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhkMiwgMHgxMX19LAotIHsweDEwMDYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsCi0gIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4ZDIsIDB4MTgsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZDAsCi0gIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgxMDQ2LCA2NCwgeyAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLAotICAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwfX0sCi0gezB4MTA4NiwgNjQsIHsgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNH19LAotIHsweDEwYzYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsCi0gIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGJ9fSwKLSB7MHgxMTA2LCA2NCwgeyAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1fX0sCi0gezB4MTE0NiwgNjQsIHsgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwKLSAgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MH19LAotIHsweDExODYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsCi0gIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTV9fSwKLSB7MHgxMWM2LCA2NCwgeyAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE3LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVkLCAweGYwLCAweDIyLCAweDEyLCAweDEzLCAweDFiLAotICAweDhmLCAweDFhLCAweDEyLCAweDEzLCAweDFiLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDFiLAotICAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDFiLCAweDhmLCAweDFiLCAweDgwLCAweGU4fX0sCi0gezB4MTIwNiwgNjQsIHsgMHhhZiwgMHgxYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZCwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywgMHg2ZiwgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywgMHg2ZiwgMHg4ZiwKLSAgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMiwgMHgxMywgMHg2ZiwgMHg4ZiwgMHgxYSwgMHhlNSwgMHgxYSwgMHg2NX19LAotIHsweDEyNDYsIDY0LCB7IDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4NmYsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTgsIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsCi0gIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsCi0gIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTIsIDB4ZDYsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsCi0gIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4M2UsIDB4NTQsIDB4N2YsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4YmYsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxMjg2LCA2NCwgeyAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNlLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDExLAotICAweGJmLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDNmLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDEyLCAweDA5LCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDNmLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLAotICAweDEyLCAweDA5LCAweDIyLCAweDA1LCAweDBlLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAzLCAweDE0LCAweDAzLCAweDAwLCAweDAwfX0sCi0gezB4MTJjNiwgNjQsIHsgMHhjMSwgMHgxMSwgMHhjMSwgMHgxOCwgMHhjMSwgMHg5NSwgMHhjMSwgMHgxMCwgMHhjMSwgMHgxNiwgMHgwMSwgMHgwYSwgMHgwMCwgMHhjMSwgMHg5YiwgMHgwMCwgMHg4ZSwKLSAgMHgxOCwgMHg4ZiwgMHgxOSwgMHhlNSwgMHgxOSwgMHgxNSwgMHgxOSwgMHhhZSwgMHgxOCwgMHg3MCwgMHgwMiwgMHgxNSwgMHgxOCwgMHg0ZSwgMHg2MCwgMHgwNSwKLSAgMHgxMiwgMHgwZCwgMHg1YywgMHg4MCwgMHhlZSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwKLSAgMHhmZiwgMHgyMiwgMHg1MywgMHhkOCwgMHhlZiwgMHgzMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwZiwgMHhmNSwgMHgwMCwgMHgwMiwgMHgxM319LAotIHsweDEzMDYsIDY0LCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MGYsIDB4Y2IsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MWMsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MTUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4OTB9fSwKLSB7MHgxMzQ2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA5LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBhLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmfX0sCi0gezB4MTM4NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwZSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHgxMiwgMHgwMCwgMHgwMywgMHgxMiwgMHgwZCwgMHg2ZCwgMHgxMiwgMHgwYiwKLSAgMHg0NiwgMHgyMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDEzYzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQ0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNGM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTUwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTVjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTc0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxN2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTgwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MThjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMiwgMHgwMSwgMHgxMCwgMHgwMSwgMHhmZiwgMHgwMH19LAotIHsweDE5MDYsIDY0LCB7IDB4MDAsIDB4NDAsIDB4Y2QsIDB4MDYsIDB4MTUsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDEsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MDksIDB4MDIsIDB4NzQsIDB4MDAsIDB4MDEsCi0gIDB4MDEsIDB4MDAsIDB4YTAsIDB4MzIsIDB4MDksIDB4MDQsIDB4MDAsIDB4MDAsIDB4MGUsIDB4ZmYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsCi0gIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDMsIDB4MDIsIDB4NDAsCi0gIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDUsIDB4MDIsIDB4NDAsIDB4MDB9fSwKLSB7MHgxOTQ2LCA2NCwgeyAweDAwLCAweDA3LCAweDA1LCAweDA2LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LAotICAweDgxLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDgzLCAweDAyLAotICAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg0LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg1LCAweDAyLCAweDQwLCAweDAwLAotICAweDAxLCAweDA3LCAweDA1LCAweDg2LCAweDAyLCAweDQwLCAweDAwLCAweDAxLCAweDA3LCAweDA1LCAweDg3LCAweDAyLCAweDQwLCAweDAwLCAweDAxfX0sCi0gezB4MTk4NiwgNjQsIHsgMHgwNCwgMHgwMywgMHgwOSwgMHgwNCwgMHg0OCwgMHgwMywgMHg0YiwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg3MCwgMHgwMCwgMHg2MSwKLSAgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg2MSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg3NiwKLSAgMHgwMCwgMHg2OSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2NiwKLSAgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg1MywgMHgwMCwgMHg3OSwgMHgwMH19LAotIHsweDE5YzYsIDY0LCB7IDB4NzMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4MmUsIDB4MDAsIDB4MzYsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsCi0gIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTUsIDB4MDAsIDB4NTMsCi0gIDB4MDAsIDB4NDIsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NjEsIDB4MDAsIDB4NmMsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDEsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjUsIDB4MDB9fSwKLSB7MHgxYTA2LCAgNCwgeyAweDcyLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4ZmZmZiwgIDAsIHsweDAwfX0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhiX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2EyOHhiX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1ZmNhZDQuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhMjh4Yl9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDQ4ICswLDAgQEAKLS8qIGtleXNwYW5fdXNhMjh4Yl9mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTI5eGJfZncuaCBpcwotCi0JCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCi0JCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKLQkJCi0JYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCi0JcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCi0JZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUgCi0JcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dCAKLQlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLQotCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZSAKLQlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwgCi0JaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4gCi0KLQlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAgCi0JS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZSAKLQlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluIAotCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgotCi0qLwotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGV6dXNiX2hleF9yZWNvcmQga2V5c3Bhbl91c2EyOHhiX2Zpcm13YXJlW10gPSB7Ci0gezB4MDAzMywgIDMsIHsgMHgwMiwgMHgwMCwgMHgyZH19LAotIHsweDAwMmQsICA0LCB7IDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzJ9fSwKLSB7MHgwMDQ2LCAxNiwgeyAweDMwLCAweDA5LCAweDE4LCAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweGMzLCAweDk1LCAweDNjLCAweDQwLCAweDAzLCAweDAyLCAweDAwLCAweGQ4LCAweDkwfX0sCi0gezB4MDA1NiwgMTYsIHsgMHg3ZiwgMHhiZiwgMHg3NCwgMHgwMSwgMHhmMCwgMHhjMiwgMHgwOSwgMHhjMiwgMHgwMCwgMHg4MCwgMHg3NywgMHgzMCwgMHgwMywgMHgzYiwgMHg5MCwgMHg3Zn19LAotIHsweDAwNjYsIDE2LCB7IDB4YzYsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4NmQsIDB4MTIsIDB4MTMsIDB4MzMsIDB4ZWYsIDB4YzMsIDB4OTQsIDB4NDAsIDB4NTAsIDB4NjQsIDB4OTAsIDB4N2V9fSwKLSB7MHgwMDc2LCAxNiwgeyAweDQwLCAweGUwLCAweDEzLCAweDkyLCAweDA5LCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweDE0LCAweGY1LCAweDE5LCAweDIwLCAweDAwLCAweDExLCAweDYwfX0sCi0gezB4MDA4NiwgMTYsIHsgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg0MSwgMHgxMiwgMHgwYywgMHhjY319LAotIHsweDAwOTYsIDE2LCB7IDB4YzIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MzksIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MzJ9fSwKLSB7MHgwMGE2LCAxNiwgeyAweDEyLCAweDEzLCAweDMzLCAweGVmLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDI5LCAweDkwLCAweDdkLCAweGMwLCAweGUwLCAweDEzLCAweDkyLCAweDA5fX0sCi0gezB4MDBiNiwgMTYsIHsgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZH19LAotIHsweDAwYzYsIDE2LCB7IDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2QsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsIDB4MGMsIDB4Y2MsIDB4ZDIsIDB4MDMsIDB4ZTQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMGQ2LCAxNiwgeyAweGM5LCAweGYwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweDMwLCAweGUxLCAweDAzLCAweDAyLCAweDAxLCAweDYwLCAweDEyLCAweDExLCAweGY1LCAweDhmfX0sCi0gezB4MDBlNiwgMTYsIHsgMHgxOSwgMHgxMiwgMHgxMywgMHgzZiwgMHg4ZiwgMHgzNiwgMHhlNSwgMHgxOSwgMHhjMywgMHg5NSwgMHgzYSwgMHg1MCwgMHgwZiwgMHgxMiwgMHgxMywgMHgxYn19LAotIHsweDAwZjYsIDE2LCB7IDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MDgsIDB4ZTUsIDB4MzYsIDB4MjAsIDB4ZTcsIDB4MDMsIDB4MzAsIDB4MGIsIDB4NWUsIDB4YzIsIDB4MGIsIDB4ZTUsIDB4MTl9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEwLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxMywgMHgwMH19LAotIHsweDAwMDMsIDE2LCB7IDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzUsIDB4ODYsIDB4MDAsIDB4OTB9fSwKLSB7MHgwMDEzLCAxNiwgeyAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA0LCAweGYwLCAweGQwLCAweDg2LCAweGQwfX0sCi0gezB4MDAyMywgMTAsIHsgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MGUsIDB4MTJ9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM2LCAweDAyLCAweGU1LCAweDM2LCAweDMwLCAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LAotICAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LCAweDA4LCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdlLAotICAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM2LCAweDEyLCAweDBmLCAweDVkLCAweGU1LCAweDE5LCAweDI1LCAweGUwLCAweDkwLCAweDdmLCAweGI3LCAweGYwLAotICAweDgwLCAweDI3LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDNmLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDNmLCAweDg1LCAweDE5LCAweDA4fX0sCi0gezB4MDE0NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHg4MCwgMHhlNSwgMHgzNiwgMHhmMCwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg4MSwgMHg3NSwgMHgwYywgMHg3ZSwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwKLSAgMHgwYywgMHhmMSwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjZSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwKLSAgMHgyMCwgMHgwNSwgMHgwMywgMHgwMiwgMHgwMywgMHhjMSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3NCwgMHg0MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNCwgMHg3YywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOCwgMHg3YywgMHgwMCwgMHg3YiwgMHgwMSwgMHg3YSwgMHg3ZSwgMHg3OX19LAotIHsweDAxODYsIDY0LCB7IDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsIDB4MTIsIDB4MGUsIDB4ZTQsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsCi0gIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZTAsIDB4NjAsIDB4NjgsIDB4OTAsIDB4N2UsIDB4MDMsIDB4ZTAsIDB4NjAsIDB4MjQsIDB4N2YsIDB4MDEsCi0gIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4N2YsIDB4MDMsIDB4N2QsIDB4Y2QsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4NDMsIDB4NDYsIDB4ODAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2UsIDB4MTN9fSwKLSB7MHgwMWM2LCA2NCwgeyAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDAxLCAweGUwLCAweGZmLCAweDEyLCAweDEwLCAweDU0LCAweDkwLCAweDdlLCAweDAyLCAweGUwLCAweGZmLCAweDEyLAotICAweDEwLCAweDdhLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDExLCAweGUwLCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweDdmLCAweDAzLCAweDdkLCAweDA3LAotICAweDEyLCAweDExLCAweGQwLCAweDQzLCAweDQ2LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LAotICAweDQ2LCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1LCAweDQwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwgMHgxMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgxMywKLSAgMHhmMCwgMHg3NSwgMHgyNSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgwNSwgMHhlMCwgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHg0NCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgwNywgMHhlMCwKLSAgMHg2MCwgMHgyYiwgMHhhMywgMHhlMCwgMHg2MCwgMHgwNSwgMHg0MywgMHg0MiwgMHg4MCwgMHg4MCwgMHgwMywgMHg1MywgMHg0MiwgMHg3ZiwgMHg1M319LAotIHsweDAyNDYsIDY0LCB7IDB4NDIsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MDksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDIsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4YzYsCi0gIDB4OTAsIDB4N2UsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTAsIDB4ZWMsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4YTAsIDB4OTAsIDB4N2UsIDB4MDMsCi0gIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDIsIDB4N2YsIDB4YWYsIDB4NDIsIDB4MTIsIDB4MTAsIDB4YTAsIDB4OTAsIDB4N2UsIDB4MGMsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDYsIDB4MDIsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDYsIDB4ZmQsIDB4OTAsIDB4N2Z9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDk4LCAweDc0LCAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDBlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLAotICAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDAxLCAweDgwLCAweDAzLCAweDUzLCAweDQ2LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ2LCAweGYwLCAweDkwLCAweDdlLCAweDEyLCAweGUwLCAweGY1LCAweDNhLCAweGEzLCAweGUwLCAweDEzLAotICAweDkyLCAweDBkLCAweGEzLCAweGUwLCAweGY1LCAweDNjLCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ2LCAweDEwLCAweDgwLCAweDAzfX0sCi0gezB4MDJjNiwgNjQsIHsgMHg1MywgMHg0NiwgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NiwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgxNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NCwgMHhiZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwKLSAgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHgxMiwgMHgxMywgMHgwZiwgMHhlZiwgMHg1NCwKLSAgMHhmZSwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg1MywgMHgzZSwgMHhmZCwgMHhlNCwgMHhmZiwgMHhhZCwgMHgzZSwgMHgxMiwgMHgxMSwgMHhkMH19LAotIHsweDAzMDYsIDY0LCB7IDB4ZTQsIDB4ZjUsIDB4MmEsIDB4ZjUsIDB4MjksIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2UsIDB4MDIsIDB4ZTQsCi0gIDB4ZmYsIDB4YWQsIDB4M2UsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4NzUsIDB4MjksIDB4MDEsIDB4ZDIsIDB4MDcsIDB4OTAsIDB4N2UsIDB4MTgsIDB4ZTAsIDB4NjAsCi0gIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4ZTUsIDB4NDAsIDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZDIsCi0gIDB4MDAsIDB4OTAsIDB4N2UsIDB4MTksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsIDB4NDQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTN9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdlLCAweDFhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDNlLAotICAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGQwLCAweDc1LCAweDJiLCAweDAxLCAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFiLAotICAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNlLCAweDAxLCAweGU0LCAweGZmLCAweGFkLCAweDNlLCAweDEyLCAweDExLCAweGQwLCAweGU0LCAweGY1LCAweDJiLAotICAweGQyLCAweDA3LCAweDkwLCAweDdlLCAweDFjLCAweGUwLCAweDYwLCAweDBlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweGU1fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg0MCwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgxZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYiwgMHg5MCwgMHg3ZSwKLSAgMHgxZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyYywgMHgwMSwgMHhlNCwgMHhmNSwgMHgzOCwgMHhkMiwgMHgwNywgMHg5MCwgMHg3ZSwgMHgxZiwgMHhlMCwKLSAgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxMSwgMHhmMCwgMHg3NCwgMHgzMSwgMHhmMCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg3NCwgMHgzNSwKLSAgMHhmMCwgMHhkMiwgMHgwMywgMHhjMiwgMHgwNSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjZiwgMHhmMCwgMHgzMCwgMHgxYSwgMHg1NCwgMHhlNSwgMHgzOH19LAotIHsweDAzYzYsIDY0LCB7IDB4NjAsIDB4MDIsIDB4MTUsIDB4MzgsIDB4MjAsIDB4MTMsIDB4NGIsIDB4ZTUsIDB4MTMsIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsCi0gIDB4NDAsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4ZDIsIDB4MTMsIDB4MTIsIDB4MTMsIDB4MGYsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsCi0gIDB4MTksIDB4NjUsIDB4MmEsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MmEsIDB4ZDIsIDB4MDcsIDB4MTIsIDB4MTMsIDB4NGIsIDB4ZWYsIDB4NTQsIDB4ODAsCi0gIDB4NjQsIDB4ODAsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MjYsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTksIDB4MjYsIDB4ZDIsIDB4MDcsIDB4MzAsIDB4MGR9fSwKLSB7MHgwNDA2LCA2NCwgeyAweDExLCAweDEyLCAweDEzLCAweDRiLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LCAweDY1LCAweDI1LCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDI1LCAweGQyLAotICAweDA3LCAweDIwLCAweDFiLCAweDAzLCAweDAyLCAweDA3LCAweGYwLCAweDMwLCAweDBhLCAweDE4LCAweDEyLCAweDEzLCAweDg3LCAweGVmLCAweGMzLCAweDk1LAotICAweDNkLCAweDQwLCAweDAzLCAweDAyLCAweDA0LCAweGIwLCAweDkwLCAweDdmLCAweGMxLCAweDc0LCAweDAxLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDAwLAotICAweDgwLCAweDc3LCAweDMwLCAweDA0LCAweDNiLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweDIwLCAweGUxLCAweDZkLCAweDEyLCAweDEzLCAweDg3fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MCwgMHg2NCwgMHg5MCwgMHg3ZCwgMHg0MCwgMHhlMCwgMHgxMywgMHg5MiwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwKLSAgMHgxNCwgMHhmNSwgMHgxOSwgMHgyMCwgMHgwMCwgMHgxMSwgMHg2MCwgMHgwZiwgMHhmNSwgMHgwOCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MSwgMHg3NSwgMHgwYywKLSAgMHg3ZCwgMHg3NSwgMHgwZCwgMHg0MSwgMHgxMiwgMHgwZCwgMHgxNiwgMHhjMiwgMHgwNCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhmMCwgMHg4MCwgMHgzOSwKLSAgMHg5MCwgMHg3ZiwgMHhjYywgMHhlMCwgMHgyMCwgMHhlMSwgMHgzMiwgMHgxMiwgMHgxMywgMHg4NywgMHhlZiwgMHhjMywgMHg5NCwgMHg0MCwgMHg1MH19LAotIHsweDA0ODYsIDY0LCB7IDB4MjksIDB4OTAsIDB4N2MsIDB4YzAsIDB4ZTAsIDB4MTMsIDB4OTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZTAsIDB4MTQsIDB4ZjUsIDB4MTksIDB4MjAsIDB4MDAsCi0gIDB4MTEsIDB4NjAsIDB4MGYsIDB4ZjUsIDB4MDgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4YzEsIDB4NzUsIDB4MGMsIDB4N2MsIDB4NzUsIDB4MGQsIDB4YzEsIDB4MTIsCi0gIDB4MGQsIDB4MTYsIDB4ZDIsIDB4MDQsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YmEsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDMsCi0gIDB4MDIsIDB4MDUsIDB4MzgsIDB4MTIsIDB4MTIsIDB4M2YsIDB4OGYsIDB4MTksIDB4MTIsIDB4MTMsIDB4OTMsIDB4OGYsIDB4MzcsIDB4ZTUsIDB4MTl9fSwKLSB7MHgwNGM2LCA2NCwgeyAweGMzLCAweDk1LCAweDNiLCAweDUwLCAweDBmLCAweDEyLCAweDEzLCAweDZmLCAweGVmLCAweDMwLCAweGUwLCAweDA4LCAweGU1LCAweDM3LCAweDIwLCAweGU3LCAweDAzLAotICAweDMwLCAweDBjLCAweDVlLCAweGMyLCAweDBjLCAweGU1LCAweDE5LCAweDYwLCAweDU4LCAweGI0LCAweDgwLCAweDAzLCAweDQzLCAweDM3LCAweDAyLCAweGU1LAotICAweDM3LCAweDMwLCAweGU3LCAweDI2LCAweGU1LCAweDE5LCAweGQzLCAweDk0LCAweDIwLCAweDQwLCAweDAzLCAweDc1LCAweDE5LCAweDIwLCAweDg1LCAweDE5LAotICAweDA4LCAweDdlLCAweDdkLCAweDdmLCAweDgwLCAweDc1LCAweDBjLCAweDdkLCAweDc1LCAweDBkLCAweDgwLCAweGFmLCAweDM3LCAweDEyLCAweDBmfX0sCi0gezB4MDUwNiwgNjQsIHsgMHg5NiwgMHhlNSwgMHgxOSwgMHgyNSwgMHhlMCwgMHg5MCwgMHg3ZiwgMHhiYiwgMHhmMCwgMHg4MCwgMHgyNywgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwKLSAgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwgMHg4NSwgMHgxOSwgMHgwOCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHhlNSwgMHgzNywgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwKLSAgMHg4MSwgMHg3NSwgMHgwYywgMHg3ZCwgMHg3NSwgMHgwZCwgMHg4MSwgMHgxMiwgMHgwZCwgMHgzYiwgMHhlNSwgMHgxOSwgMHgwNCwgMHg5MCwgMHg3ZiwgMHhiYiwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkMCwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNiwgMHgyMCwgMHgwNiwgMHgwMywgMHgwMiwgMHgwNywgMHg5OSwgMHhlNH19LAotIHsweDA1NDYsIDY0LCB7IDB4ZjUsIDB4MTgsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsCi0gIDB4N2MsIDB4MDAsIDB4N2IsIDB4MDEsIDB4N2EsIDB4N2UsIDB4NzksIDB4MjAsIDB4MjQsIDB4MjAsIDB4ZjksIDB4ZWMsIDB4MzQsIDB4N2UsIDB4ZmEsIDB4ZWYsCi0gIDB4MTIsIDB4MGUsIDB4ZTQsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MjAsIDB4ZDcsIDB4OTAsIDB4N2UsIDB4MjAsIDB4ZTAsIDB4NjAsIDB4NjgsCi0gIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MjQsIDB4N2YsIDB4MDEsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4N2YsIDB4MDN9fSwKLSB7MHgwNTg2LCA2NCwgeyAweDdkLCAweGNkLCAweDEyLCAweDEyLCAweDFhLCAweDQzLCAweDQ3LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLAotICAweGU1LCAweDQ3LCAweGYwLCAweGU0LCAweDkwLCAweDdlLCAweDMzLCAweGYwLCAweDgwLCAweDMwLCAweDkwLCAweDdlLCAweDIxLCAweGUwLCAweGZmLCAweDEyLAotICAweDExLCAweDM4LCAweDkwLCAweDdlLCAweDIyLCAweGUwLCAweGZmLCAweDEyLCAweDExLCAweDVlLCAweDdmLCAweDAxLCAweDkwLCAweDdlLCAweDMxLCAweGUwLAotICAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDdmLCAweDAzLCAweDdkLCAweDA3LCAweDEyLCAweDEyLCAweDFhLCAweDQzLCAweDQ3LCAweDgwLCAweDkwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwKLSAgMHhlNSwgMHg0MSwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwgMHgyMywgMHhlMCwgMHg3MCwgMHgwNiwgMHg5MCwgMHg3ZSwKLSAgMHgzMywgMHhlMCwgMHg3MCwgMHgwOCwgMHhlNCwgMHg5MCwgMHg3ZSwgMHgzMywgMHhmMCwgMHg3NSwgMHgyZSwgMHhmZiwgMHg5MCwgMHg3ZSwgMHgyNSwgMHhlMCwKLSAgMHg2MCwgMHgxMiwgMHhhMywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmNSwgMHg0NSwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MH19LAotIHsweDA2MDYsIDY0LCB7IDB4YzAsIDB4MDAsIDB4ZTUsIDB4NDUsIDB4ZjAsIDB4OTAsIDB4N2UsIDB4MjcsIDB4ZTAsIDB4NjAsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDUsIDB4NDMsIDB4NDMsCi0gIDB4ODAsIDB4ODAsIDB4MDMsIDB4NTMsIDB4NDMsIDB4N2YsIDB4NTMsIDB4NDMsIDB4ZmMsIDB4OTAsIDB4N2UsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MTEsIDB4NDMsCi0gIDB4NDMsIDB4MDIsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4ODQsIDB4OTAsIDB4N2UsIDB4MmIsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTEsIDB4YWEsCi0gIDB4YWYsIDB4NDMsIDB4MTIsIDB4MTEsIDB4MTIsIDB4OTAsIDB4N2UsIDB4MjMsIDB4ZTAsIDB4NjAsIDB4MDgsIDB4NTMsIDB4NDMsIDB4N2YsIDB4YWZ9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDQzLCAweDEyLCAweDExLCAweDEyLCAweDkwLCAweDdlLCAweDJjLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAyLAotICAweDgwLCAweDAzLCAweDUzLCAweDQ3LCAweGZkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LAotICAweGYwLCAweDkwLCAweDdlLCAweDJlLCAweGUwLCAweDYwLCAweDE4LCAweGEzLCAweGUwLCAweDYwLCAweDA1LCAweDQzLCAweDQ3LCAweDAxLCAweDgwLCAweDAzLAotICAweDUzLCAweDQ3LCAweGZlLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGU1LCAweDQ3LCAweGYwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZSwgMHgzMiwgMHhlMCwgMHhmNSwgMHgzYiwgMHhhMywgMHhlMCwgMHgxMywgMHg5MiwgMHgwZSwgMHhhMywgMHhlMCwgMHhmNSwgMHgzZCwgMHhhMywgMHhlMCwKLSAgMHg2MCwgMHgwNSwgMHg0MywgMHg0NywgMHgxMCwgMHg4MCwgMHgwMywgMHg1MywgMHg0NywgMHhlZiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwKLSAgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNSwgMHg0NywgMHhmMCwgMHg5MCwgMHg3ZSwgMHgzNiwgMHhlMCwgMHg2MCwgMHgzMiwgMHg1MywgMHg0NSwgMHhiZiwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDA2YzYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4MTIsIDB4MTMsIDB4NjMsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4NTMsIDB4M2YsIDB4ZmQsCi0gIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4ZTQsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsCi0gIDB4MzcsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4NDMsIDB4M2YsIDB4MDIsIDB4ZTQsIDB4ZmYsIDB4YWQsIDB4M2YsIDB4MTIsIDB4MTIsIDB4MWEsIDB4NzUsIDB4MzIsCi0gIDB4MDEsIDB4ZDIsIDB4MDgsIDB4OTAsIDB4N2UsIDB4MzgsIDB4ZTAsIDB4NjAsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGEsIDB4ZjB9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGU1LCAweDQxLCAweDQ0LCAweDA0LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGQyLCAweDAwLCAweDkwLCAweDdlLCAweDM5LCAweGUwLCAweDYwLCAweDExLCAweDQzLAotICAweDQ1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLAotICAweDkwLCAweDdlLCAweDNhLCAweGUwLCAweDYwLCAweDBmLCAweDUzLCAweDNmLCAweGZlLCAweGU0LCAweGZmLCAweGFkLCAweDNmLCAweDEyLCAweDEyLCAweDFhLAotICAweDc1LCAweDM0LCAweDAxLCAweGQyLCAweDA4LCAweDkwLCAweDdlLCAweDNiLCAweGUwLCAweDYwLCAweDBmLCAweDQzLCAweDNmLCAweDAxLCAweGU0fX0sCi0gezB4MDc0NiwgNjQsIHsgMHhmZiwgMHhhZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHhlNCwgMHhmNSwgMHgzNCwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzYywgMHhlMCwgMHg2MCwgMHgwZSwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHhlNSwgMHg0MSwgMHg0NCwgMHgwMiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZSwKLSAgMHgzZCwgMHhlMCwgMHg2MCwgMHgwMiwgMHhkMiwgMHgwYywgMHg5MCwgMHg3ZSwgMHgzZSwgMHhlMCwgMHg2MCwgMHgwOCwgMHg3NSwgMHgzNSwgMHgwMSwgMHhlNCwKLSAgMHhmNSwgMHgzOSwgMHhkMiwgMHgwOCwgMHg5MCwgMHg3ZSwgMHgzZiwgMHhlMCwgMHg2MCwgMHgxMSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxM319LAotIHsweDA3ODYsIDY0LCB7IDB4ZjAsIDB4NzQsIDB4MzMsIDB4ZjAsIDB4NzQsIDB4MTYsIDB4ZjAsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ZDIsIDB4MDQsIDB4YzIsIDB4MDYsIDB4ZTQsIDB4OTAsIDB4N2YsCi0gIDB4ZDEsIDB4ZjAsIDB4MzAsIDB4MWEsIDB4NTQsIDB4ZTUsIDB4MzksIDB4NjAsIDB4MDIsIDB4MTUsIDB4MzksIDB4MzAsIDB4MTMsIDB4NGIsIDB4ZTUsIDB4MTMsCi0gIDB4ZDMsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDQsIDB4MTUsIDB4MTMsIDB4ODAsIDB4NDAsIDB4NzUsIDB4MTMsIDB4MGEsIDB4MzAsIDB4MWIsIDB4MDIsIDB4YzIsCi0gIDB4MTMsIDB4MTIsIDB4MTMsIDB4NjMsIDB4ZWYsIDB4NTQsIDB4MDEsIDB4ZjUsIDB4MTksIDB4NjUsIDB4MzMsIDB4NjAsIDB4MDUsIDB4ODUsIDB4MTl9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDMzLCAweGQyLCAweDA4LCAweDEyLCAweDEzLCAweDlmLCAweGVmLCAweDU0LCAweDgwLCAweDY0LCAweDgwLCAweGY1LCAweDE5LCAweDY1LCAweDJmLCAweDYwLCAweDA1LAotICAweDg1LCAweDE5LCAweDJmLCAweGQyLCAweDA4LCAweDMwLCAweDBlLCAweDExLCAweDEyLCAweDEzLCAweDlmLCAweGVmLCAweDU0LCAweDEwLCAweGY1LCAweDE5LAotICAweDY1LCAweDJlLCAweDYwLCAweDA1LCAweDg1LCAweDE5LCAweDJlLCAweGQyLCAweDA4LCAweDMwLCAweDFhLCAweDJhLCAweDkwLCAweDdmLCAweGQyLCAweGUwLAotICAweDIwLCAweGUxLCAweDIzLCAweDkwLCAweDdiLCAweDQwLCAweGUwLCAweDYwLCAweDA5LCAweGUwLCAweGY1LCAweDE1LCAweDkwLCAweDdiLCAweDQyfX0sCi0gezB4MDgwNiwgNjQsIHsgMHhlMCwgMHhmNSwgMHgxNiwgMHg5MCwgMHg3YiwgMHg0MSwgMHhlMCwgMHg2MCwgMHgwOSwgMHg5MCwgMHg3ZiwgMHhkNywgMHg3NCwgMHgxNywgMHhmMCwgMHg3NCwgMHgzNywKLSAgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwOSwgMHgyNCwKLSAgMHhlNSwgMHgwYSwgMHg3MCwgMHg0MCwgMHgzMCwgMHgwNywgMHgzOSwgMHhlNSwgMHgzOCwgMHg3MCwgMHgzNSwgMHhjMiwgMHgwNywgMHhmNSwgMHgxOCwgMHg3ZSwKLSAgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgyNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5ZX19LAotIHsweDA4NDYsIDY0LCB7IDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MDksIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDksIDB4ZjAsIDB4NzUsIDB4MzgsIDB4MTAsIDB4ZTQsIDB4ZjUsIDB4MmMsCi0gIDB4NzUsIDB4MGEsIDB4MDEsIDB4MjIsIDB4ZTUsIDB4MGEsIDB4NjQsIDB4MDEsIDB4NzAsIDB4NDAsIDB4MzAsIDB4MDgsIDB4MzksIDB4ZTUsIDB4MzksIDB4NzAsCi0gIDB4MzUsIDB4YzIsIDB4MDgsIDB4ZjUsIDB4MTgsIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZWV9fSwKLSB7MHgwODg2LCA2NCwgeyAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDBlLCAweDllLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE4LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdiLCAweGY1LAotICAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGRiLCAweDkwLCAweDdmLCAweGMzLCAweDc0LCAweDA5LCAweGYwLAotICAweDc1LCAweDM5LCAweDEwLCAweGU0LCAweGY1LCAweDM1LCAweDc1LCAweDBhLCAweDAyLCAweDIyLCAweGU1LCAweDBhLCAweDY0LCAweDAyLCAweDcwLCAweDM2LAotICAweDMwLCAweDE0LCAweDJmLCAweGMyLCAweDE0LCAweGY1LCAweDE4LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDBlLCAweDI1LCAweDE4fX0sCi0gezB4MDhjNiwgNjQsIHsgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5ZSwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwKLSAgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwNSwgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwKLSAgMHgwNSwgMHhmMCwgMHg3NSwgMHgwYSwgMHgwMywgMHgyMiwgMHhlNSwgMHgxNSwgMHg2MCwgMHgzMCwgMHgxNSwgMHgxNSwgMHhlNCwgMHhmNSwgMHgxOCwgMHg3ZSwKLSAgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgxNCwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgwZSwgMHg5ZX19LAotIHsweDA5MDYsIDY0LCB7IDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MTgsIDB4ZTUsCi0gIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGEsIDB4MjIsIDB4OTAsIDB4N2YsCi0gIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MGUsIDB4ZjYsIDB4MGEsIDB4MGMsIDB4MDAsIDB4MGEsIDB4ODAsIDB4MDEsIDB4MGEsIDB4ZWMsIDB4MDMsIDB4MDksIDB4NDgsCi0gIDB4MDYsIDB4MDksIDB4ZmYsIDB4MDgsIDB4MDksIDB4ZjksIDB4MDksIDB4MDksIDB4ZTEsIDB4MGEsIDB4MDksIDB4ZjAsIDB4MGIsIDB4MDAsIDB4MDB9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDBiLCAweDNiLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE5LCAweDE0LCAweDYwLCAweDYxLCAweDI0LCAweDAyLCAweDYwLCAweDAzLAotICAweDAyLCAweDA5LCAweGQ3LCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLAotICAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDA0LCAweDdmLCAweDAyLCAweDgwLCAweDAyLCAweDdmLCAweDAzLCAweDc1LCAweDgyLAotICAweDgyLCAweDc1LCAweDgzLCAweDE5LCAweGVmLCAweGYwLCAweDc1LCAweDgyLCAweDdiLCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDc1LCAweDgyfX0sCi0gezB4MDk4NiwgNjQsIHsgMHg3NCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywKLSAgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NCwgMHgxOSwKLSAgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgxMiwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYSwKLSAgMHhlMCwgMHhmZiwgMHgxMiwgMHgwZiwgMHgxYywgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZCwgMHhlYSwgMHg5MCwgMHg3ZiwgMHhkNCwgMHhmMCwgMHhlOX19LAotIHsweDA5YzYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsCi0gIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MDksIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZjUsIDB4MDksIDB4MDIsCi0gIDB4MGIsIDB4NDIsIDB4MTIsIDB4MGIsIDB4NGEsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTB9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDdmLCAweGI1LCAweGYwLCAweDAyLCAweDBiLCAweDQyLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLAotICAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyLCAweDEwLCAweGU0LCAweDMzLCAweGZmLCAweDI1LCAweGUwLCAweGZmLCAweGEyLCAweDE2LCAweGU0LCAweDMzLAotICAweDRmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDBiLAotICAweDQyLCAweGU0LCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyfX0sCi0gezB4MGE0NiwgNjQsIHsgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywKLSAgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHg5MCwKLSAgMHg3ZiwgMHgwMCwgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwKLSAgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwYiwgMHg0MiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZX19LAotIHsweDBhODYsIDY0LCB7IDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsCi0gIDB4MTAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MGIsIDB4NDIsIDB4OTAsIDB4N2YsCi0gIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsCi0gIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmLCAweGZmLCAweGUwLCAweDU0LAotICAweDA3LCAweDJmLCAweDkwLCAweDdmLCAweGQ3LCAweGYwLCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweDgwLCAweDVmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLAotICAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDU2LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLAotICAweDRhLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDEwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0fX0sCi0gezB4MGIwNiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzNiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMH19LAotIHsweDBiNDYsIDY0LCB7IDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4NzQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTgsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4OGUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZGUsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjQsIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MjQsIDB4MjUsIDB4MTgsIDB4Zjl9fSwKLSB7MHgwYjg2LCA2NCwgeyAweGU0LCAweDM0LCAweDAwLCAweGZhLCAweGU0LCAweDEyLCAweDBlLCAweGU0LCAweDA1LCAweDE4LCAweGU1LCAweDE4LCAweGI0LCAweDA5LCAweGVhLCAweDc1LCAweDNhLAotICAweDAxLCAweGU0LCAweGY1LCAweDM4LCAweGY1LCAweDEzLCAweGY1LCAweDM2LCAweGMyLCAweDA3LCAweGMyLCAweDBiLCAweGMyLCAweDA1LCAweGMyLCAweDAwLAotICAweGMyLCAweDA5LCAweGMyLCAweDEzLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDc1LCAweDQ0LCAweDAzLCAweDkwLCAweGMwLCAweDAwLAotICAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDExLCAweGQwLCAweDdmLCAweDEwLCAweDhmLCAweDQyLCAweDEyfX0sCi0gezB4MGJjNiwgNjQsIHsgMHgxMCwgMHhhMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHg4ZiwgMHg0MCwgMHhlZiwgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNCwgMHhmMCwgMHg3NSwgMHg0NiwgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwKLSAgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZSwgMHgxMiwKLSAgMHgxMSwgMHhkMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNX19LAotIHsweDBjMDYsIDY0LCB7IDB4N2QsIDB4N2YsIDB4MTIsIDB4MTEsIDB4ZDAsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTIsIDB4ODksIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTEsIDB4ZDAsCi0gIDB4N2YsIDB4MTMsIDB4N2QsIDB4MDksIDB4MTIsIDB4MTEsIDB4ZDAsIDB4MjAsIDB4MWIsIDB4MDMsIDB4MDIsIDB4MGMsIDB4YzksIDB4NzUsIDB4MmQsIDB4MDEsCi0gIDB4NzUsIDB4MTgsIDB4MDEsIDB4N2IsIDB4MDAsIDB4NzQsIDB4MmQsIDB4MjUsIDB4MTgsIDB4ZjksIDB4ZTQsIDB4MzQsIDB4MDAsIDB4ZmEsIDB4ZTQsIDB4MTIsCi0gIDB4MGUsIDB4ZTQsIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDksIDB4ZWEsIDB4NzUsIDB4M2IsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4Mzl9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweGY1LCAweDEzLCAweGY1LCAweDM3LCAweGMyLCAweDA4LCAweGMyLCAweDBjLCAweGMyLCAweDA2LCAweGMyLCAweDAwLCAweGMyLCAweDBhLCAweGMyLCAweDEzLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDc1LCAweDQ1LCAweDAzLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweDAzLCAweGYwLCAweDdmLCAweDBjLAotICAweGU0LCAweGZkLCAweDEyLCAweDEyLCAweDFhLCAweDdmLCAweDEwLCAweDhmLCAweDQzLCAweDEyLCAweDExLCAweDEyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDBhLCAweGYwLCAweDdmLCAweDAxLCAweDhmLCAweDQxLCAweGVmLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDdmfX0sCi0gezB4MGM4NiwgNjQsIHsgMHg5OCwgMHg3NCwgMHgwYywgMHhmMCwgMHg3NSwgMHg0NywgMHg4MCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHg4MCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwKLSAgMHgxMiwgMHgxYSwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhhZCwgMHgwNiwgMHg4ZCwgMHgzZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZCwgMHg3ZiwgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwKLSAgMHgwMSwgMHgxMiwgMHgxMiwgMHhhYSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHgwNywgMHgxMiwgMHgxMiwgMHgxYSwgMHg3ZiwgMHgxMywgMHg3ZCwgMHgwOX19LAotIHsweDBjYzYsIDY0LCB7IDB4MTIsIDB4MTIsIDB4MWEsIDB4ZDIsIDB4MTIsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTAsIDB4YzAsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTAsIDB4YTMsCi0gIDB4MDUsIDB4ODYsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4ZGYsIDB4ZjcsIDB4ZDIsIDB4YWYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsCi0gIDB4YWYsIDB4MDgsIDB4ZTUsIDB4MGQsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MGMsIDB4ZjUsIDB4ODMsIDB4YzIsIDB4YWYsIDB4MDUsIDB4ODYsIDB4OTB9fSwKLSB7MHgwZDA2LCA2NCwgeyAweGMwLCAweDAwLCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGY3LCAweDA1LCAweDg2LCAweGQyLCAweGFmLCAweDIyLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1LCAweDgyLCAweGU1LCAweDBjLCAweGY1LCAweDgzLCAweGMyLAotICAweGFmLCAweDA1LCAweDg2LCAweDkwLCAweGMwLCAweDAwLCAweDA1LCAweDg2LCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweDA1LCAweDg2LCAweGRmLAotICAweGY3LCAweGQyLCAweGFmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDA4LCAweGYwLCAweGFmLCAweDA4LCAweGU1LCAweDBkLCAweGY1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MiwgMHhlNSwgMHgwYywgMHhmNSwgMHg4MywgMHhjMiwgMHhhZiwgMHgwNSwgMHg4NiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywKLSAgMHgwNSwgMHg4NiwgMHhkZiwgMHhmNywgMHgwNSwgMHg4NiwgMHhkMiwgMHhhZiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwKLSAgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwKLSAgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMiwgMHhkMiwgMHgxOSwgMHg5MCwgMHg3ZiwgMHg5Mn19LAotIHsweDBkODYsIDY0LCB7IDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MTAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsCi0gIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTksIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsCi0gIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWYsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4NDQsIDB4MGQsIDB4ZjB9fSwKLSB7MHgwZGM2LCA2NCwgeyAweGQyLCAweGFmLCAweGQyLCAweDFhLCAweDEyLCAweDEyLCAweDY0LCAweGMyLCAweDExLCAweGU0LCAweGY1LCAweDBiLCAweGY1LCAweDEzLCAweGMyLCAweDE3LCAweGMyLAotICAweDEyLCAweDkwLCAweDdmLCAweGExLCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDE3LCAweDYwLCAweDEwLCAweDMwLCAweDEyLAotICAweDA1LCAweGQyLCAweDFhLCAweDEyLCAweDAwLCAweDQ2LCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweGY1LCAweDE3LCAweDgwLCAweDA4LCAweDMwLCAweDEyLAotICAweDA1LCAweGMyLCAweDFhLCAweDEyLCAweDAwLCAweDQ2LCAweDMwLCAweDExLCAweDA3LCAweGMyLCAweDExLCAweDEyLCAweDA5LCAweDI1LCAweDgwfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhkNiwgMHgzMCwgMHgxOCwgMHhkMywgMHhjMiwgMHgxOCwgMHgxMiwgMHgxMywgMHhhYiwgMHg4MCwgMHhjYywgMHgyMiwgMHg3OCwgMHg3ZiwgMHhlNCwgMHhmNiwgMHhkOCwKLSAgMHhmZCwgMHg3NSwgMHg4MSwgMHg0NywgMHgwMiwgMHgwZSwgMHg1OSwgMHgwMiwgMHgwZCwgMHg4MSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywKLSAgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwKLSAgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzMywgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHgyMCwgMHhjOCwgMHg4MywgMHg0MH19LAotIHsweDBlNDYsIDY0LCB7IDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGYsIDB4ZTQsIDB4ODAsIDB4MGIsIDB4MDEsIDB4MDIsIDB4MDQsIDB4MDgsIDB4MTAsIDB4MjAsCi0gIDB4NDAsIDB4ODAsIDB4OTAsIDB4MTIsIDB4Y2IsIDB4ZTQsIDB4N2UsIDB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsCi0gIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsCi0gIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZmEsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTN9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhLCAweGYwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLAotICAweGNhLCAweGRmLCAweGU5LCAweGRlLCAweGU3LCAweDgwLCAweGJlLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLAotICAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLAotICAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyfX0sCi0gezB4MGVjNiwgNjQsIHsgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwKLSAgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwKLSAgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwKLSAgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MCwgMHgxMiwgMHg3NCwgMHgwMSwgMHg5MywgMHg3MCwgMHgwZCwgMHhhMywgMHhhM319LAotIHsweDBmMDYsIDY0LCB7IDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsCi0gIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4OGYsIDB4MTgsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4NzUsIDB4MWEsIDB4ZmYsIDB4NzUsIDB4MWIsIDB4MTksCi0gIDB4NzUsIDB4MWMsIDB4ODYsIDB4YWIsIDB4MWEsIDB4YWEsIDB4MWIsIDB4YTksIDB4MWMsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4MGUsIDB4YjcsIDB4YjQsCi0gIDB4MDMsIDB4MWQsIDB4YWYsIDB4MTksIDB4MDUsIDB4MTksIDB4ZWYsIDB4YjUsIDB4MTgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MGUsIDB4OWUsIDB4N2V9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFhLCAweGZmLCAweGY1LCAweDFiLCAweDg5LCAweDFjLCAweDgwLCAweGQ0LCAweDdiLAotICAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDBkLCAweGU1LCAweDBkLCAweGFlLCAweDBjLCAweDcwLCAweDAyLAotICAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDAwLCAweDM2LCAweDA1LCAweDBkLCAweGU1LAotICAweDBkLCAweGFjLCAweDBjLCAweDcwLCAweDAyLCAweDA1LCAweDBjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1fX0sCi0gezB4MGY4NiwgNjQsIHsgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MCwgMHgwYSwgMHgxMiwgMHgxMywgMHgzZiwgMHg4ZiwgMHgxYSwgMHhlZiwgMHg0MiwgMHgzNiwgMHg4MCwgMHhjYSwgMHgyMiwgMHg4ZiwKLSAgMHgxYSwgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhZSwgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywKLSAgMHhlNSwgMHgxYSwgMHhmMCwgMHgxMiwgMHgxMywgMHg1NywgMHgwNSwgMHgwZCwgMHhlNSwgMHgwZCwgMHhhYywgMHgwYywgMHg3MCwgMHgwMiwgMHgwNSwgMHgwYywKLSAgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgxNSwgMHgwOCwgMHhlNSwgMHgwOCwgMHg2MCwgMHgwYSwgMHgxMiwgMHgxM319LAotIHsweDBmYzYsIDY0LCB7IDB4OTMsIDB4OGYsIDB4MWEsIDB4ZWYsIDB4NDIsIDB4MzcsIDB4ODAsIDB4Y2EsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsCi0gIDB4NzQsIDB4MzAsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsCi0gIDB4MjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4MDcsIDB4ZjAsIDB4ZTQsIDB4OTAsCi0gIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgxMDA2LCA2NCwgeyAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDExLAotICAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLAotICAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LAotICAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDE4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4fX0sCi0gezB4MTA0NiwgNjQsIHsgMHhmMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3ZiwgMHg5OCwKLSAgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMCwgMHhmMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMH19LAotIHsweDEwODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsCi0gIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4ZTUsIDB4NDQsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjJ9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE0LAotICAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweGU1LCAweDQ0LCAweDU0LCAweDdmLAotICAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLAotICAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4fX0sCi0gezB4MTEwNiwgNjQsIHsgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwKLSAgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwKLSAgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3Zn19LAotIHsweDExNDYsIDY0LCB7IDB4OTgsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsCi0gIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MDksIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2Z9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBjLCAweGYwLCAweDkwLAotICAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweGU1LCAweDQ1LCAweDU0LCAweDdmLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBiLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLAotICAweDdmLCAweDk4LCAweDc0LCAweDBlLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDBifX0sCi0gezB4MTFjNiwgNjQsIHsgMHhmMCwgMHhlNSwgMHg0NSwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxMywgMHhmMCwgMHhlNSwKLSAgMHg0NCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwKLSAgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHgxMiwgMHgxMywKLSAgMHgyNywgMHg4ZiwgMHgxYSwgMHgxMiwgMHgxMywgMHgyNywgMHg4ZiwgMHgxYiwgMHhlNSwgMHgxYSwgMHg2NSwgMHgxYiwgMHg2MCwgMHgxMiwgMHgxMn19LAotIHsweDEyMDYsIDY0LCB7IDB4MTMsIDB4MjcsIDB4OGYsIDB4MWEsIDB4ZTUsIDB4MWEsIDB4NjUsIDB4MWIsIDB4NjAsIDB4MDcsIDB4MTIsIDB4MTMsIDB4MjcsIDB4OGYsIDB4MWIsIDB4ODAsIDB4ZTgsCi0gIDB4YWYsIDB4MWEsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4NDUsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4N2IsIDB4OGYsIDB4MWEsIDB4MTIsIDB4MTN9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDdiLCAweDhmLCAweDFiLCAweGU1LCAweDFhLCAweDY1LCAweDFiLCAweDYwLCAweDEyLCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFhLCAweGU1LCAweDFhLCAweDY1LAotICAweDFiLCAweDYwLCAweDA3LCAweDEyLCAweDEzLCAweDdiLCAweDhmLCAweDFiLCAweDgwLCAweGU4LCAweGFmLCAweDFhLCAweDIyLCAweDkwLCAweDdmLCAweGQ2LAotICAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDFhLCAweDA0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLAotICAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDEyLCAweGU3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGUwLCAweDQ0fX0sCi0gezB4MTI4NiwgNjQsIHsgMHgwNCwgMHhmMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZSwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMSwgMHhkMCwgMHg5MCwgMHg3ZiwKLSAgMHg5OCwgMHg3NCwgMHgxMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZSwgMHg0NCwgMHg4MCwgMHhmZCwgMHgxMiwKLSAgMHgxMSwgMHhkMCwgMHgyMiwgMHhhZSwgMHgwNywgMHhlNCwgMHhmZiwgMHhlNSwgMHgzZiwgMHg1NCwgMHg3ZiwgMHhmZCwgMHgxMiwgMHgxMiwgMHgxYSwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZSwgMHhmMCwgMHhlNCwgMHhlNSwgMHgzZiwgMHg0NCwgMHg4MH19LAotIHsweDEyYzYsIDY0LCB7IDB4ZmQsIDB4MTIsIDB4MTIsIDB4MWEsIDB4MjIsIDB4MDUsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDMsIDB4MTQsIDB4MDMsIDB4MDAsIDB4MDAsCi0gIDB4YzEsIDB4MTEsIDB4YzEsIDB4MTgsIDB4YzEsIDB4OTUsIDB4YzEsIDB4MTAsIDB4YzEsIDB4MTYsIDB4MDEsIDB4MGEsIDB4MDAsIDB4YzEsIDB4OWIsIDB4MDAsCi0gIDB4OGUsIDB4MTgsIDB4OGYsIDB4MTksIDB4ZTUsIDB4MTksIDB4MTUsIDB4MTksIDB4YWUsIDB4MTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4MTgsIDB4NGUsIDB4NjAsCi0gIDB4MDUsIDB4MTIsIDB4MGQsIDB4NjAsIDB4ODAsIDB4ZWUsIDB4MjIsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MTAsIDB4MDYsIDB4MDAsIDB4MDIsIDB4MTN9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDA0LCAweDAwLCAweDAyLCAweDAwLCAweDAzLCAweDAwLCAweDAyLCAweDEwLCAweDJkLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEyLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDEzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LAotICAweDE0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDE1LCAweGYwLCAweDkwfX0sCi0gezB4MTM0NiwgNjQsIHsgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgxNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwKLSAgMHgwOSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwYiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZn19LAotIHsweDEzODYsIDY0LCB7IDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsCi0gIDB4MGQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MGUsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4MTIsIDB4MGYsIDB4Y2YsIDB4MTIsIDB4MGQsIDB4NzEsIDB4MTIsIDB4MGIsIDB4NGEsIDB4MjIsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTQwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE1YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE2ODYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE3NDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4YzYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDEwLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDAyLCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLAotICAweDAwLCAweDIwLCAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwfX0sCi0gezB4MWEwNiwgIDQsIHsgMHg3MiwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweGZmZmYsICAwLCB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdfZncuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMyNGRhYy4uMDAwMDAwMAotLS0gYS9kcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl91c2E0OXdfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2NCArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTQ5d19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTQ5d19mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTQ5d19maXJtd2FyZVtdID0gewotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTgsIDB4ZmJ9fSwKLSB7MHgwMDM2LCAxMiwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHhlNCwgMHhmZiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgxNX19LAotIHsweDAwNTYsIDE2LCB7IDB4MjQsIDB4MDQsIDB4ZmQsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZmEsIDB4YTksIDB4MDUsIDB4N2IsIDB4MDEsIDB4ZWYsIDB4N2MsIDB4MDAsIDB4MjksIDB4Zjl9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGVjLCAweDNhLCAweGZhLCAweGVlLCAweDEyLCAweDExLCAweGYxLCAweDBmLCAweGJmLCAweDIyLCAweGQ3LCAweGU1LCAweDE1LCAweDI0LCAweDA1LCAweGY1fX0sCi0gezB4MDA3NiwgMTYsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMSwgMHgzNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOX19LAotIHsweDAwODYsIDE2LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDE4LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweGU1fX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhjZiwgMHhmMCwgMHg4MCwgMHg0MX19LAotIHsweDAwYjYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NzZ9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGU1LCAweDE1LCAweDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDAwLCAweDAzfX0sCi0gezB4MDBkNiwgMTYsIHsgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTYsIDB4NDcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MzB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwfX0sCi0gezB4MDAwMywgMTYsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDAwMTMsIDE2LCB7IDB4MDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwMDIzLCAxNiwgeyAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxYiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MTAsIDB4OTV9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDMyLCAweGU1LCAweDE1LCAweDI0LCAweDBjfX0sCi0gezB4MDE0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg0ZiwgMHhlNX19LAotIHsweDAxODYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTV9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDE1LCAweDI0LCAweDBlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LAotICAweDMzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDBmfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHhlNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHgxNywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDAyNDYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4YjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDA0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDQ0LCAweGU1LCAweDE1LCAweDI0LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDJjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4Mn19LAotIHsweDAzMDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LAotICAweDE1LCAweDI0LCAweDE5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LAotICAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LAotICAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDkwLCAweDc4fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDAzYzYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MTIsIDB4MDAsCi0gIDB4MzYsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NDcsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFiLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDQ3LCAweGU1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgyYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3MCwgMHgwZSwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyYSwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDA0ODYsIDY0LCB7IDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZWYsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDQ3LAotICAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwKLSAgMHhmZiwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4M319LAotIHsweDA1NDYsIDY0LCB7IDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDIyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LAotICAweDAxLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgwMywgMHgxMiwgMHgxOCwgMHg4NSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg2MCwgMHgxYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwKLSAgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNiwgMHhmNCwgMHhmZSwgMHhlZiwgMHg1ZSwgMHhmMCwgMHhlNSwgMHgxNX19LAotIHsweDA2MDYsIDY0LCB7IDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NDUsIDB4MTYsCi0gIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MTIsIDB4MDMsIDB4MDcsIDB4ODMsIDB4MDAsIDB4MDcsIDB4ZjcsIDB4MDEsIDB4MDgsCi0gIDB4NjMsIDB4MDMsIDB4MDYsIDB4NGMsIDB4MDYsIDB4MDcsIDB4NzQsIDB4MDgsIDB4MDcsIDB4NjgsIDB4MDksIDB4MDcsIDB4NTAsIDB4MGEsIDB4MDd9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDVmLCAweDBiLCAweDAwLCAweDAwLCAweDA4LCAweGIyLCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFjLCAweDE0LCAweDcwLCAweDAzLAotICAweDAyLCAweDA2LCAweGZlLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA3LCAweDQ2LCAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLAotICAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDA0LCAweDc1LCAweDgyLAotICAweDE3LCAweDc1LCAweDgzLCAweDE5LCAweGYwLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDMwLCAweGUwLCAweDA0LCAweDdmLCAweDAzLCAweDgwfX0sCi0gezB4MDY4NiwgNjQsIHsgMHgwMiwgMHg3ZiwgMHgwMiwgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg3NSwgMHg4MiwgMHg2ZCwgMHg3NSwgMHg4MywgMHgxOSwKLSAgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1ZiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwKLSAgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwNCwgMHg3ZiwgMHg2NCwgMHg4MCwKLSAgMHgwMiwgMHg3ZiwgMHgzMiwgMHg3NSwgMHg4MiwgMHgxYSwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlZiwgMHhlMH19LAotIHsweDA2YzYsIDY0LCB7IDB4ZmUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4N2MsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4MTksIDB4ZWMsIDB4M2UsIDB4ZjUsIDB4MTgsIDB4NzUsIDB4MzMsCi0gIDB4MTksIDB4NzUsIDB4MzQsIDB4MTIsIDB4NzUsIDB4ODIsIDB4MTQsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZTAsIDB4NzUsIDB4MjcsIDB4MDAsIDB4ZjUsIDB4MjgsCi0gIDB4ZDMsIDB4ZTUsIDB4MjgsIDB4OTUsIDB4MTksIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTgsIDB4NDAsIDB4MDYsIDB4ODUsIDB4MTgsIDB4MjcsIDB4ODUsIDB4MTksCi0gIDB4MjgsIDB4MTIsIDB4MTMsIDB4MTIsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4MmJ9fSwKLSB7MHgwNzA2LCA2NCwgeyAweGVhLCAweDQ5LCAweDYwLCAweDMyLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDc1LCAweDE4LCAweDAwLCAweGY1LCAweDE5LCAweGFlLCAweDAyLCAweGFmLCAweDAxLAotICAweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDhlLCAweDI3LCAweGY1LCAweDI4LAotICAweGQzLCAweDk1LCAweDE5LCAweGU1LCAweDI3LCAweDk1LCAweDE4LCAweDQwLCAweDA2LCAweDg1LCAweDE4LCAweDI3LCAweDg1LCAweDE5LCAweDI4LCAweDEyLAotICAweDEzLCAweDEyLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5fX0sCi0gezB4MDc0NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyNSwgMHhmMCwgMHg5MCwKLSAgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyNSwgMHgwMiwgMHgwOCwKLSAgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMiwgMHgxMiwgMHgwYSwgMHhiOCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHgwMCwKLSAgMHhlNSwgMHgyMiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlOH19LAotIHsweDA3ODYsIDY0LCB7IDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NWIsIDB4YTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsCi0gIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsCi0gIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4YjksIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODB9fSwKLSB7MHgwN2M2LCA2NCwgeyAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LAotICAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGI5LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA4LCAweGI5LAotICAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA4LCAweGI5fX0sCi0gezB4MDgwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhiOSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwKLSAgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZn19LAotIHsweDA4NDYsIDY0LCB7IDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsCi0gIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsCi0gIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDQsIDB4ZDIsCi0gIDB4MDAsIDB4ODAsIDB4M2YsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MzYsIDB4OTAsIDB4N2YsIDB4ZWF9fSwKLSB7MHgwODg2LCA2NCwgeyAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LAotICAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLAotICAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LAotICAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDIyLCAweGU1LCAweDExLCAweDU0LCAweDBmLCAweDcwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHgwMywgMHgwMiwgMHgwOSwgMHhiMiwgMHgxMiwgMHgxNiwgMHhhNSwgMHhlZiwgMHgyMCwgMHhlMSwgMHg3NSwgMHgxMiwgMHgxNywgMHgwMywgMHhlZiwgMHgxNCwgMHhmNSwKLSAgMHgxOSwgMHgxMiwgMHgxOCwgMHhjYywgMHhlZiwgMHgyNSwgMHgxOSwgMHhmZiwgMHhlNCwgMHgzMywgMHhmZSwgMHhjMywgMHhlZiwgMHg5NCwgMHg4MCwgMHhlZSwKLSAgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg1MCwgMHg1OSwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwKLSAgMHhmZiwgMHhmNSwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMCwgMHgxMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4Mn19LAotIHsweDA5MDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTIsIDB4MTIsIDB4ZTUsIDB4MTksIDB4NjAsIDB4MGUsIDB4ZjUsIDB4MjMsIDB4ZWYsIDB4MjQsCi0gIDB4MDEsIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4YWQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTQsIDB4ZTN9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU3LCAweDVkLCAweDEyLCAweDE4LAotICAweGNjLCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGVmLCAweGMzLAotICAweDllLCAweDUwLCAweDQ4LCAweGU1LCAweDE1LCAweDI0LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdifX0sCi0gezB4MDk4NiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwKLSAgMHgxMywgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgyNCwgMHg4MCwgMHgwMywgMHgxMiwgMHgxMiwgMHhhMSwgMHgxMiwgMHgxNiwgMHhkNCwgMHhlZiwgMHgzMCwKLSAgMHhlMSwgMHgwMywgMHgwMiwgMHgwYSwgMHhiNywgMHgxMiwgMHgxNywgMHhkMiwgMHg4ZiwgMHgxOSwgMHgxMiwgMHgxOCwgMHhkOCwgMHhlNSwgMHgxNX19LAotIHsweDA5YzYsIDY0LCB7IDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODIsCi0gIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksIDB4YzMsIDB4OWYsIDB4NTAsIDB4MjgsIDB4MTIsIDB4MTgsIDB4YjQsCi0gIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MjEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4MjAsIDB4ZTcsIDB4MTIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTB9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGI3LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDE5LCAweDcwLCAweDAzLCAweDAyLCAweDBhLCAweGI3LCAweGI0LCAweDgwLCAweDBmLCAweGU1LCAweDE1LAotICAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDMwLCAweGU3LCAweDI5LCAweGU1LCAweDE5fX0sCi0gezB4MGE0NiwgNjQsIHsgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgyMCwgMHg4NSwgMHgxOSwgMHgyMywgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywKLSAgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHg4YywgMHgyYywgMHhmNSwgMHgyZCwgMHgxMiwgMHgxMywgMHhkZCwgMHhlNSwgMHgxOSwgMHgyNSwKLSAgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgxOSwgMHgyMiwgMHhlNSwgMHgxOSwgMHhkMywgMHg5NCwgMHgzZiwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOSwgMHgzZiwKLSAgMHg4NSwgMHgxOSwgMHgyMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDBhODYsIDY0LCB7IDB4ZmYsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsCi0gIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4MjQsIDB4MDEsCi0gIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4NmMsIDB4ZTUsIDB4MTksIDB4MDQsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4MTksCi0gIDB4MjIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZjAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTZ9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDc4LCAweDRhLCAweDA0LCAweGYwLCAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweDk1LCAweDc0LAotICAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDFmLCAweGYwLCAweDkwLCAweDc4LAotICAweDQzLCAweDc0LCAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweDdmLCAweGRmLCAweDc0LCAweDlmLCAweGYwLCAweDkwLAotICAweDdmLCAweGRlLCAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdlLCAweDdiLCAweDdmLCAweGMwLCAweDc1fX0sCi0gezB4MGIwNiwgNjQsIHsgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwZiwgMHgxMiwKLSAgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwKLSAgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHg3NCwgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NH19LAotIHsweDBiNDYsIDY0LCB7IDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2UsIDB4ZjAsCi0gIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsCi0gIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MGYsIDB4MTIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4ZTUsIDB4MTV9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDg1LAotICAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweGMwLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDAwLAotICAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdlLCAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweDdlLAotICAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwfX0sCi0gezB4MGJjNiwgNjQsIHsgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwZiwgMHgxMiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMiwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg0MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywKLSAgMHg3NCwgMHg3ZCwgMHhmMCwgMHhhMywgMHg3NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3ZiwgMHg4MCwgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NX19LAotIHsweDBjMDYsIDY0LCB7IDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MGYsIDB4MTIsCi0gIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzR9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDAzLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweGMwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdjLCAweGYwLCAweGEzLCAweDc0LAotICAweGMwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDAwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdkLAotICAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDA5LCAweGQyLCAweDAyLCAweDIyLCAweGU1LCAweDEwLCAweDA0LCAweDU0LAotICAweDAzLCAweGY1LCAweDEwLCAweDE0LCAweDYwLCAweDFmLCAweDE0LCAweDYwLCAweDMxLCAweDE0LCAweDYwLCAweDQzLCAweDI0LCAweDAzLCAweDcwfX0sCi0gezB4MGM4NiwgNjQsIHsgMHg1MiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMSwgMHg4MCwgMHgzZCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHg5NiwgMHg3NCwgMHhkZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMiwgMHg4MCwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwKLSAgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhiZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHg4MCwgMHgxM319LAotIHsweDBjYzYsIDY0LCB7IDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4N2YsIDB4ZjAsIDB4NzUsCi0gIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MzIsIDB4NTUsIDB4MTYsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MGUsIDB4MTEsIDB4ZTUsIDB4MTYsIDB4ZjQsIDB4ZmYsIDB4NTIsCi0gIDB4MzIsIDB4ZTUsIDB4MjYsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NzAsIDB4MGYsIDB4ZTUsIDB4MmEsIDB4NTUsIDB4MTYsIDB4NjAsIDB4MjQsIDB4OTAsIDB4N2YsCi0gIDB4OTgsIDB4ZTAsIDB4NDUsIDB4MTYsIDB4ZjAsIDB4ODAsIDB4MWIsIDB4YmUsIDB4MjAsIDB4MTgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjV9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUzLCAweDA5LCAweGU0LCAweGY1LCAweDJhLCAweDkwLCAweDdmLCAweDk4LCAweGUwLAotICAweDVmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDAzLAotICAweGUwLCAweDE0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLAotICAweDAzLCAweGUwLCAweDE0LCAweGYwLCAweGUwLCAweDYwLCAweDAzLCAweDAyLCAweDBlLCAweDExLCAweDc0LCAweDBhLCAweGYwLCAweDEyLCAweDAwfX0sCi0gezB4MGQ0NiwgNjQsIHsgMHgzNiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmZiwgMHhmNSwgMHgxOSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg2ZiwgMHg2MCwgMHgwNywgMHhlNSwgMHgxOSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHgxMiwgMHgxOCwgMHhlNCwgMHg4ZiwKLSAgMHgxOSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxOSwKLSAgMHg1NCwgMHgxMCwgMHhmZSwgMHg2ZiwgMHg2MCwgMHgwNiwgMHhlZSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNH19LAotIHsweDBkODYsIDY0LCB7IDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksIDB4NTQsIDB4ODAsIDB4ZmUsIDB4NmYsIDB4NjAsCi0gIDB4MDYsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTksIDB4NTQsIDB4MjAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MTUsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTQsIDB4MDQsIDB4ZTUsIDB4MTZ9fSwKLSB7MHgwZGM2LCA2NCwgeyAweDQyLCAweDEzLCAweGU1LCAweDEyLCAweDU1LCAweDE2LCAweGZmLCAweGY1LCAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDJhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDZmLCAweDYwLCAweDE2LCAweGU1LCAweDE5LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU1LCAweDA0LCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE3LCAweDU1LAotICAweDE2LCAweGZmLCAweGY1LCAweDE5LCAweGU1LCAweDE1LCAweDI0LCAweDMwLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhlMCwgMHg2ZiwgMHg2MCwgMHgwNywgMHhlNSwgMHgxOSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHgyMiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwZiwKLSAgMHgxMSwgMHhlNSwgMHgyNCwgMHgxNCwgMHg2MCwgMHgyYSwgMHgxNCwgMHg2MCwgMHg0MSwgMHgxNCwgMHg2MCwgMHg1OCwgMHgxNCwgMHg2MCwgMHg2ZiwgMHgyNCwKLSAgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZSwgMHhjZiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwKLSAgMHg5MCwgMHg3ZiwgMHg5NiwgMHg3NCwgMHhlZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgxMiwgMHhhMSwgMHg3NSwgMHgyNCwgMHgwMX19LAotIHsweDBlNDYsIDY0LCB7IDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZGYsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MTIsIDB4YTEsIDB4NzUsIDB4MjQsIDB4MDIsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MTIsIDB4YTEsCi0gIDB4NzUsIDB4MjQsIDB4MDMsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTB9fSwKLSB7MHgwZTg2LCA2NCwgeyAweDdmLCAweDk2LCAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDEyLCAweGExLCAweDc1LCAweDI0LCAweDA0LCAweDIyLCAweDMwLCAweDA0LAotICAweDMzLCAweGMyLCAweDA0LCAweDUzLCAweDEzLCAweGRmLCAweGU0LCAweGY1LCAweDE5LCAweDdlLCAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJlLCAweDI1LAotICAweDE5LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDExLCAweGFiLCAweGZmLCAweDc0LCAweDgwLCAweDI1LCAweDE5LCAweGY1LCAweDgyLAotICAweGU0LCAweDM0LCAweDdiLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDA1LCAweDE5LCAweGU1LCAweDE5LCAweGI0LCAweDAzLCAweGRiLCAweDkwfX0sCi0gezB4MGVjNiwgNjQsIHsgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHg3NSwgMHgyNCwgMHgwNSwgMHgyMiwgMHhlNSwgMHgzNiwgMHg2MCwgMHgzYiwgMHhkNSwgMHgzNiwgMHgwYSwgMHg1MywKLSAgMHgxMywgMHhlZiwgMHgzMCwgMHgwYSwgMHgwNCwgMHhkMiwgMHgwOSwgMHhjMiwgMHgwYSwgMHhlNCwgMHhmNSwgMHgxOSwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwKLSAgMHg3NCwgMHgzNSwgMHgyNSwgMHgxOSwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYSwgMHgxMiwgMHgxMSwgMHhhYiwgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwKLSAgMHgxOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOSwgMHhlNSwgMHgxOSwgMHhiNH19LAotIHsweDBmMDYsIDY0LCB7IDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjQsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MWEsIDB4N2UsIDB4MDAsCi0gIDB4N2IsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjUsIDB4MWEsIDB4ZjksIDB4ZWUsIDB4MzUsIDB4MTQsIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MTEsIDB4ZjEsIDB4MDUsCi0gIDB4MWEsIDB4ZTUsIDB4MWEsIDB4YjQsIDB4M2MsIDB4ZTgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjV9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLAotICAweDEyLCAweDE2LCAweDQ3LCAweDdmLCAweDEwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGVmLCAweGYwLCAweDEyLCAweDE1LCAweGI3LCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAyLCAweGYwLCAweDdmLCAweDAxLCAweGU1LCAweDE1LCAweDI0LAotICAweDM2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwfX0sCi0gezB4MGY4NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHg3NCwgMHg4MCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwgMHhmZCwgMHgxMiwgMHgxNiwgMHg0NywgMHhlNCwgMHhmZiwKLSAgMHg3ZSwgMHhhMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHhmZCwKLSAgMHgxMiwgMHgxNiwgMHg0NywgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlNCwgMHhmMCwgMHg3Zn19LAotIHsweDBmYzYsIDY0LCB7IDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTYsIDB4NDcsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTUsIDB4NGYsIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTYsCi0gIDB4NDcsIDB4MjIsIDB4NTMsIDB4MTMsIDB4M2YsIDB4OTAsIDB4N2IsIDB4ZjEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsCi0gIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsCi0gIDB4MDgsIDB4YzEsIDB4OTAsIDB4N2MsIDB4MzEsIDB4ZTAsIDB4MzAsIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTR9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGRmLCAweGYwLCAweDc1LCAweDE2LCAweDAyLCAweDEyLCAweDA4LCAweGMxLCAweDkwLAotICAweDdjLCAweDcxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDQwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLAotICAweDkwLCAweDdmLCAweDk2LCAweDc0LCAweGJmLCAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDA4LCAweGMxLCAweDkwLCAweDdjLCAweGIxLCAweGUwLAotICAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmfX0sCi0gezB4MTA0NiwgNjQsIHsgMHg5NiwgMHg3NCwgMHg3ZiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwOCwgMHhjMSwgMHgwNSwgMHgxMSwgMHhlNSwgMHgxMSwgMHg1NCwgMHgwZiwgMHhmNSwKLSAgMHgxOCwgMHg3MCwgMHgxZiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OSwgMHhlMCwgMHhmNSwgMHgxNywKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5OSwgMHhlMCwgMHhmNCwgMHhmNSwgMHgxMiwgMHgxMiwgMHgxMSwKLSAgMHgyMSwgMHgyMiwgMHhlNSwgMHgxOCwgMHhiNCwgMHgwMSwgMHgwNCwgMHgxMiwgMHgwYywgMHg3MywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMH19LAotIHsweDEwODYsIDY0LCB7IDB4MjAsIDB4ZTEsIDB4MDgsIDB4ZTUsIDB4MTMsIDB4NjAsIDB4MDQsIDB4MTIsIDB4MGUsIDB4MTIsIDB4MjIsIDB4MTIsIDB4MGMsIDB4NzMsIDB4MjIsIDB4NzgsIDB4N2YsCi0gIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzcsIDB4MDIsIDB4MTAsIDB4ZGMsIDB4MDIsIDB4MTIsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsCi0gIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsCi0gIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjB9fSwKLSB7MHgxMGM2LCA2NCwgeyAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LAotICAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDE4LCAweDUwLCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLAotICAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LCAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LAotICAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4fX0sCi0gezB4MTEwNiwgNjQsIHsgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwKLSAgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgzMCwgMHhlMSwKLSAgMHgwMywgMHgwMiwgMHgxMSwgMHhhYSwgMHhjMiwgMHgwOSwgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHgxNCwgMHg2MCwgMHgyNiwgMHgxNCwgMHg2MCwgMHgzYiwKLSAgMHgxNCwgMHg2MCwgMHg1MCwgMHgyNCwgMHg4MywgMHg2MCwgMHg2NCwgMHgyNCwgMHg4MCwgMHg3MCwgMHg2MywgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMH19LAotIHsweDExNDYsIDY0LCB7IDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ZWYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MDAsCi0gIDB4NDYsIDB4ODAsIDB4NGIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsCi0gIDB4NzQsIDB4ZGYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MzMsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsCi0gIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTJ9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDAwLCAweDQ2LCAweDgwLCAweDFiLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk2LAotICAweDc0LCAweDdmLCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDAzLCAweDEyLCAweDE3LCAweDVjLCAweGU0LCAweDkwLAotICAweDdmLCAweGQzLCAweGYwLCAweDIyLCAweGJiLCAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LAotICAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxfX0sCi0gezB4MTFjNiwgNjQsIHsgMHgwYywgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwKLSAgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwKLSAgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwKLSAgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMH19LAotIHsweDEyMDYsIDY0LCB7IDB4ODIsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4NzAsIDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsCi0gIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsCi0gIDB4ODAsIDB4ZGYsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsCi0gIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjB9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmLCAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLAotICAweDkwLCAweDdmLCAweGFmLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDBiLAotICAweDEyLCAweDE4LCAweDE0LCAweGMyLCAweDAxLCAweGU0LCAweGY1LCAweDJiLCAweGY1LCAweDMxLCAweGMyLCAweDA3LCAweGMyLCAweDAyLCAweDc1LCAweDI5LAotICAweGYwLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLCAweDY1LCAweDI2LCAweDYwLCAweDA2LCAweDc1LCAweDMyLCAweDBmLCAweGUwLCAweGY1LCAweDI2fX0sCi0gezB4MTI4NiwgNjQsIHsgMHgzMCwgMHgwMiwgMHgwMywgMHgxMiwgMHgwZiwgMHhkOSwgMHgzMCwgMHgwMSwgMHgwNywgMHhjMiwgMHgwMSwgMHgxMiwgMHgwNiwgMHgyOSwgMHg4MCwgMHhlMiwgMHgzMCwKLSAgMHgwOCwgMHhkZiwgMHhjMiwgMHgwOCwgMHgxMiwgMHgxOCwgMHgzNSwgMHg4MCwgMHhkOCwgMHgyMiwgMHhlNSwgMHgxMywgMHg1NSwgMHgxNiwgMHg2MCwgMHg2YSwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHg1YywgMHhlNSwgMHgxNiwKLSAgMHhmNCwgMHg1MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmZiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmZSwgMHhlNCwgMHhmZCwgMHgwZn19LAotIHsweDEyYzYsIDY0LCB7IDB4ZWYsIDB4YWEsIDB4MDYsIDB4NzAsIDB4MDEsIDB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4ODAsIDB4MmQsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4YmQsIDB4MGIsIDB4ZTIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsCi0gIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MTAsIDB4ZjAsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTV9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDI0LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDIyLCAweGU1LCAweDI4LCAweDQ1LCAweDI3LCAweDYwLAotICAweDU3LCAweGFlLCAweDI3LCAweGFmLCAweDI4LCAweGQzLCAweGVmLCAweDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDdlLCAweDAwLAotICAweDdmLCAweDQwLCAweGMzLCAweGU1LCAweDI4LCAweDlmLCAweGY1LCAweDI4LCAweGU1LCAweDI3LCAweDllLCAweGY1LCAweDI3LCAweGU0LCAweGZkLCAweGVkLAotICAweGMzLCAweDlmLCAweGU0LCAweDllLCAweDUwLCAweDFmLCAweDg1LCAweDM0LCAweDgyLCAweDg1LCAweDMzLCAweDgzLCAweGUwLCAweGZjLCAweDc0fX0sCi0gezB4MTM0NiwgNjQsIHsgMHgwMCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHgwNSwgMHgzNCwgMHhlNSwgMHgzNCwgMHg3MCwKLSAgMHgwMiwgMHgwNSwgMHgzMywgMHg4MCwgMHhkYSwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhlZiwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNCwKLSAgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgyMiwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHg3NCwgMHhmMH19LAotIHsweDEzODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NGEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsCi0gIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4MDcsIDB4ZTUsIDB4MjksIDB4NTQsIDB4ZjAsIDB4ZmYsCi0gIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4ZWYsIDB4NDQsIDB4MDgsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsCi0gIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjB9fSwKLSB7MHgxM2M2LCA2NCwgeyAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGYwLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLAotICAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDIyLCAweDhmLCAweDFhLCAweDA1LCAweDJkLCAweGU1LCAweDJkLCAweGFlLCAweDJjLCAweDcwLCAweDAyLAotICAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDFhLCAweGYwLCAweDEyLCAweDE4LCAweGYwLCAweDA1LCAweDJkLCAweGU1LAotICAweDJkLCAweGFjLCAweDJjLCAweDcwLCAweDAyLCAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDE1fX0sCi0gezB4MTQwNiwgNjQsIHsgMHgyMywgMHhlNSwgMHgyMywgMHg2MCwgMHgxZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhjMCwKLSAgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZSwgMHgxMiwgMHgxOCwgMHhkOCwgMHg4ZiwgMHgxYSwgMHhlZSwgMHg0ZiwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywKLSAgMHhmMCwgMHg4MCwgMHhiNSwgMHgyMiwgMHg4ZiwgMHgxYSwgMHhlNCwgMHhmNSwgMHgxYiwgMHg3NSwgMHgxYywgMHhmZiwgMHg3NSwgMHgxZCwgMHgxOSwgMHg3NSwKLSAgMHgxZSwgMHg4NiwgMHhhYiwgMHgxYywgMHhhYSwgMHgxZCwgMHhhOSwgMHgxZSwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgxMSwgMHhjNCwgMHhiNH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDMsIDB4MWQsIDB4YWYsIDB4MWIsIDB4MDUsIDB4MWIsIDB4ZWYsIDB4YjUsIDB4MWEsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MTEsIDB4YWIsIDB4N2UsIDB4MDAsIDB4MjksCi0gIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzUsIDB4MWMsIDB4ZmYsIDB4ZjUsIDB4MWQsIDB4ODksIDB4MWUsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsCi0gIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NGYsIDB4NzQsIDB4YzAsIDB4ZjAsCi0gIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTAsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4OTAsIDB4NzgsIDB4NTEsIDB4ZjAsIDB4YWUsIDB4MmMsIDB4ZTUsIDB4MmR9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwLCAweDc4LCAweDU3LCAweDc0LCAweDA0LCAweGYwLCAweDkwLAotICAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDU1LCAweGYwLCAweDkwLAotICAweDc4LCAweDU1LCAweGUwLCAweDYwLCAweGZhLCAweDIyLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweGU1LCAweDJjLCAweDkwLCAweDc4LCAweDRmLAotICAweGYwLCAweGFlLCAweDJjLCAweGU1LCAweDJkLCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweDkwLCAweDc4LCAweDUxLCAweDc0LCAweGMwLCAweGYwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NywgMHg3NCwgMHgwNCwgMHhmMCwKLSAgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwKLSAgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlZiwgMHhmMH19LAotIHsweDE1MDYsIDY0LCB7IDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsCi0gIDB4MmEsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsCi0gIDB4MGYsIDB4MTQsIDB4NjAsIDB4MTMsIDB4MTQsIDB4NjAsIDB4MTcsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjcsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MTMsCi0gIDB4OTAsIDB4N2YsIDB4YjksIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MDUsIDB4OTB9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweDdmLCAweGJkLCAweGVmLCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDJhLCAweDIyLCAweGFlLCAweDA3LCAweGU0LCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDMyLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweDkwLCAweDc4LAotICAweDQxLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDE2LCAweDQ3LCAweDIyLCAweGMwLCAweGUwfX0sCi0gezB4MTU4NiwgNjQsIHsgMHhjMCwgMHhmMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwKLSAgMHg3NSwgMHhkMCwgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgxMiwgMHgxMywgMHgxMiwgMHhkMCwKLSAgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MX19LAotIHsweDE1YzYsIDY0LCB7IDB4NzQsIDB4MDIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsCi0gIDB4MDQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTV9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LAotICAweDA2LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweDAzLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwfX0sCi0gezB4MTY0NiwgNjQsIHsgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNywgMHhmMCwgMHg5MCwgMHhjMCwKLSAgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwNSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZCwgMHhmMCwgMHgyMiwgMHg5MCwKLSAgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0MX19LAotIHsweDE2ODYsIDY0LCB7IDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsCi0gIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTB9fSwKLSB7MHgxNmM2LCA2NCwgeyAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGNjLCAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDE1LCAweDI0LAotICAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLCAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LAotICAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGI4LCAweGUwLCAweGZmLCAweDIyLAotICAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDE1LCAweDI0fX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwKLSAgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwKLSAgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwKLSAgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMH19LAotIHsweDE3NDYsIDY0LCB7IDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsCi0gIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzYsIDB4NDMsIDB4MTMsIDB4MTAsIDB4YTMsIDB4ZTAsCi0gIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsIDB4OTAsIDB4N2IsIDB4NDMsIDB4ZTAsIDB4ZjUsCi0gIDB4MzcsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZjAsIDB4ZjUsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsIDB4MGEsIDB4MjIsIDB4YzAsIDB4ZTB9fSwKLSB7MHgxNzg2LCA2NCwgeyAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDAxLCAweDUzLCAweDkxLAotICAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLAotICAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LAotICAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4LCAweGYwLCAweGQwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMiwgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZSwgMHgwNywKLSAgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZCwgMHgwNywgMHhlZSwgMHg2ZCwgMHg2MCwgMHgxMCwgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZSwgMHgwNywgMHhlZSwgMHg2ZCwKLSAgMHg2MCwgMHgwNywgMHgxMiwgMHgxOCwgMHhjMCwgMHhhZCwgMHgwNywgMHg4MCwgMHhlYywgMHhhZiwgMHgwNiwgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwKLSAgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwgMHhmOSwgMHgyMiwgMHg5MCwgMHg3Zn19LAotIHsweDE4MDYsIDY0LCB7IDB4ZDYsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsCi0gIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MGIsIDB4MDQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsCi0gIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTgsIDB4NmIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsCi0gIDB4N2MsIDB4MTIsIDB4MTgsIDB4MDQsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGEsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDEyLCAweDE4LCAweDZiLCAweDEyLCAweDE4LCAweDllLCAweDEyLCAweDBhLCAweGI4LCAweDIyLCAweDAzLCAweDM1LCAweDgwLCAweDAwLCAweDAwLCAweDAzLCAweDJlLAotICAweDgxLCAweDAwLCAweDAwLCAweGMxLCAweDg1LCAweGMxLCAweDgxLCAweGMxLCAweDA4LCAweGMxLCAweDAwLCAweGMxLCAweDA2LCAweDAxLCAweDIyLCAweDAwLAotICAweDAxLCAweDI0LCAweDAwLCAweDAwLCAweDhlLCAweDE4LCAweDhmLCAweDE5LCAweGU1LCAweDE5LCAweDE1LCAweDE5LCAweGFlLCAweDE4LCAweDcwLCAweDAyLAotICAweDE1LCAweDE4LCAweDRlLCAweDYwLCAweDA4LCAweDEyLCAweDE3LCAweGYzLCAweDEyLCAweDE3LCAweGYzLCAweDgwLCAweGViLCAweDIyLCAweGU1fX0sCi0gezB4MTg4NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgwNCwgMHhmZiwgMHg0NCwgMHgxMCwgMHg5MCwgMHg3ZiwKLSAgMHhkNywgMHhmMCwgMHhlZiwgMHg0NCwgMHgzMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwKLSAgMHg3ZSwgMHgwMCwgMHgxMiwgMHgxOCwgMHg2YiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHgwMywgMHhmMH19LAotIHsweDE4YzYsIDY0LCB7IDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsCi0gIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4MDUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsCi0gIDB4NzQsIDB4MDYsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4MDB9fSwKLSB7MHgxOTA2LCA2NCwgeyAweDAwLCAweDQwLCAweGNkLCAweDA2LCAweDBhLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDA0LCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDM2LCAweDAzLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDM0LCAweDAwLCAweDJkLCAweDAwLCAweDcwLCAweDAwLCAweDZmLCAweDAwLCAweDcyLCAweDAwLCAweDc0LAotICAweDAwLCAweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDYxLCAweDAwLCAweDZjLCAweDAwLCAweDIwLAotICAweDAwLCAweDQxLCAweDAwLCAweDY0LCAweDAwLCAweDYxLCAweDAwLCAweDcwLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwfX0sCi0gezB4MWEwNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxNywgMHg4NCwgMHgwMCwgMHgwMiwgMHgxYn19LAotIHsweDFiMDYsIDIxLCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MTcsIDB4MzIsIDB4MDAsIDB4MDIsIDB4MTcsIDB4YWIsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MTUsIDB4ODR9fSwKLSB7MHhmZmZmLCAwLCB7MHgwMH19Ci19OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3bGNfZncuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC9rZXlzcGFuX3VzYTQ5d2xjX2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlZjA2YTMuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fdXNhNDl3bGNfZncuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3NiArMCwwIEBACi0vKiBrZXlzcGFuX3VzYTQ5d19mdy5oCi0KLQlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBhcyBrZXlzcGFuX3VzYTQ5d19mdy5oIGlzCi0KLQkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDMKLQkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQotCQkKLQlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKLQlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKLQlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZSAKLQlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IAotCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotCi0JUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlIAotCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbCAKLQlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLiAKLQotCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoICAKLQlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlIAotCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gCi0JcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCi0KLXN0YXRpYyBjaGFyIHRoZUZpcm13YXJlRGF0ZTQ5W10gPQotCSIwMi8xNC8yMDAyICAwMjozN3AgICAgICAgICAgICAgIDE5LDM0NyBVU0E0OSI7Ci0KLQotCi1zdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU2NVtdID0KLQkiMDEvMzEvMjAwMyAgMDk6MzRhICAgICAgICAgICAgICAxOSwzMzEgVVNBNjUiOwotCi0KLSovCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZXp1c2JfaGV4X3JlY29yZCBrZXlzcGFuX3VzYTQ5d2xjX2Zpcm13YXJlW10gPSB7Ci0gezB4N2Y5MiwgIDEsIHsgMHgwMX19LAotIHsweDAwMzMsICAzLCB7IDB4MDIsIDB4MTgsIDB4ZmJ9fSwKLSB7MHgwMDM2LCAxMywgeyAweGU1LCAweDExLCAweDA0LCAweDkwLCAweDc4LCAweDQxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGUwLCAweGZmLCAweDIyfX0sCi0gezB4MDA0NiwgMTYsIHsgMHhlNCwgMHhmZiwgMHg3NCwgMHg0MCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZSwgMHhlNSwgMHgxNX19LAotIHsweDAwNTYsIDE2LCB7IDB4MjQsIDB4MDQsIDB4ZmQsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZmEsIDB4YTksIDB4MDUsIDB4N2IsIDB4MDEsIDB4ZWYsIDB4N2MsIDB4MDAsIDB4MjksIDB4Zjl9fSwKLSB7MHgwMDY2LCAxNiwgeyAweGVjLCAweDNhLCAweGZhLCAweGVlLCAweDEyLCAweDExLCAweGVjLCAweDBmLCAweGJmLCAweDIyLCAweGQ3LCAweGU1LCAweDE1LCAweDI0LCAweDA1LCAweGY1fX0sCi0gezB4MDA3NiwgMTYsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMSwgMHgzNCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOX19LAotIHsweDAwODYsIDE2LCB7IDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MGEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwMDk2LCAxNiwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDE4LCAweDdmLCAweDAxLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweGU1fX0sCi0gezB4MDBhNiwgMTYsIHsgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhjZiwgMHhmMCwgMHg4MCwgMHg0MX19LAotIHsweDAwYjYsIDE2LCB7IDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MDAsIDB4MDN9fSwKLSB7MHgwMGM2LCAxNiwgeyAweGU1LCAweDE1LCAweDI0LCAweDA3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweDEyLCAweDE1LCAweGFifX0sCi0gezB4MDBkNiwgMTYsIHsgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZCwgMHgxMn19LAotIHsweDAwZTYsIDE2LCB7IDB4MTYsIDB4NmIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MzB9fSwKLSB7MHgwMGY2LCAxNiwgeyAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwfX0sCi0gezB4MDAwMywgMTYsIHsgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDAwMTMsIDE2LCB7IDB4ZjAsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwMDIzLCAxNiwgeyAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyfX0sCi0gezB4MDA0MywgIDMsIHsgMHgwMiwgMHgxYiwgMHgwMH19LAotIHsweDAwMDAsICAzLCB7IDB4MDIsIDB4MTAsIDB4OTB9fSwKLSB7MHgwMTA2LCA2NCwgeyAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM2LCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDA2LCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LAotICAweDBiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDMyLCAweGU1LCAweDE1LCAweDI0LCAweDBjfX0sCi0gezB4MDE0NiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHgzZiwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwKLSAgMHgwZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwMiwgMHg0ZiwgMHhlNX19LAotIHsweDAxODYsIDY0LCB7IDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsCi0gIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4ZTQsIDB4ZmYsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTV9fSwKLSB7MHgwMWM2LCA2NCwgeyAweDE1LCAweDI0LCAweDBlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LAotICAweDMzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZjLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDBmfX0sCi0gezB4MDIwNiwgNjQsIHsgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNCwKLSAgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHgwYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwKLSAgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNiwgMHgzYiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMywgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDAyNDYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MTIsIDB4MTUsIDB4ZGIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4NDQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzksIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMjg2LCA2NCwgeyAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDEyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDQ0LCAweGU1LCAweDE1LCAweDI0LCAweDEzLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MDJjNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxNiwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNSwgMHhmNSwgMHg4Mn19LAotIHsweDAzMDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ODAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjV9fSwKLSB7MHgwMzQ2LCA2NCwgeyAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LAotICAweDE1LCAweDI0LCAweDE5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDExLCAweGU1LCAweDE1LCAweDI0LAotICAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDgwLCAweDBmLCAweGU1LCAweDE1LAotICAweDI0LCAweDM5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGVmLCAweGYwLCAweDkwLCAweDc4fX0sCi0gezB4MDM4NiwgNjQsIHsgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNH19LAotIHsweDAzYzYsIDY0LCB7IDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4MTIsIDB4MDAsCi0gIDB4MzYsIDB4ZWYsIDB4NTQsIDB4ZmUsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZmYsIDB4ZjAsIDB4ZmQsIDB4ZTQsIDB4ZmYsIDB4MTIsIDB4MTYsIDB4NmIsIDB4ZTUsIDB4MTUsCi0gIDB4MjQsIDB4MmMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmJ9fSwKLSB7MHgwNDA2LCA2NCwgeyAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDFiLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDBlLCAweGU1LCAweDE1LCAweDI0LCAweDI1LCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LAotICAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDZiLCAweGU1fX0sCi0gezB4MDQ0NiwgNjQsIHsgMHgxNSwgMHgyNCwgMHgyYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgxYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3MCwgMHgwZSwgMHhlNSwKLSAgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyYSwgMHg5MCwgMHg3OCwgMHg0MSwKLSAgMHg3NCwgMHhmMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMH19LAotIHsweDA0ODYsIDY0LCB7IDB4NDQsIDB4MDQsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZWYsIDB4NjAsIDB4MGYsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsCi0gIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MWQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsIDB4MjcsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjV9fSwKLSB7MHgwNGM2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDFlLAotICAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDI4LCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZlLCAweGZmLCAweGYwLCAweGZkLCAweGU0LCAweGZmLCAweDEyLCAweDE2LCAweDZiLAotICAweGU1LCAweDE1LCAweDI0LCAweDJkLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweGU1fX0sCi0gezB4MDUwNiwgNjQsIHsgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgxZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHgwZSwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgyNywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmZiwgMHhmMCwgMHhmZCwgMHhlNCwKLSAgMHhmZiwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyZCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4M319LAotIHsweDA1NDYsIDY0LCB7IDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NzAsIDB4MGUsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NjAsCi0gIDB4MTgsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsCi0gIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjEsIDB4ZjUsIDB4ODJ9fSwKLSB7MHgwNTg2LCA2NCwgeyAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDYwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDIyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LAotICAweDAxLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwfX0sCi0gezB4MDVjNiwgNjQsIHsgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgyMywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwKLSAgMHgwMywgMHgxMiwgMHgxOCwgMHg3YSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwKLSAgMHg2MCwgMHgyMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg0NCwgMHgwOCwKLSAgMHhmMCwgMHhlNSwgMHgxNiwgMHhjNCwgMHg1NCwgMHhmMCwgMHhmZiwgMHg0MiwgMHgxMSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0ZiwgMHhmMH19LAotIHsweDA2MDYsIDY0LCB7IDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTAsIDB4NGYsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsCi0gIDB4ZTAsIDB4NjAsIDB4MjQsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsCi0gIDB4ZjcsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4YzQsIDB4NTQsIDB4ZjAsIDB4ZjQsIDB4ZmYsIDB4NTIsIDB4MTEsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NWYsCi0gIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTAsIDB4NWYsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MTIsIDB4MTEsIDB4ZmV9fSwKLSB7MHgwNjQ2LCA2NCwgeyAweDA3LCAweDk5LCAweDAwLCAweDA4LCAweDBkLCAweDAxLCAweDA4LCAweDc5LCAweDAzLCAweDA2LCAweDYyLCAweDA2LCAweDA3LCAweDhhLCAweDA4LCAweDA3LCAweDdlLAotICAweDA5LCAweDA3LCAweDY2LCAweDBhLCAweDA3LCAweDc1LCAweDBiLCAweDAwLCAweDAwLCAweDA4LCAweGM4LCAweDkwLCAweDdmLCAweGViLCAweGUwLCAweDI0LAotICAweGZlLCAweDYwLCAweDFjLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA3LCAweDE0LCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA3LCAweDVjLAotICAweDc0LCAweDE5LCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA4LCAweGNmfX0sCi0gezB4MDY4NiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgwNCwgMHg3NSwgMHg4MiwgMHgxNywgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHgzMCwKLSAgMHhlMCwgMHgwNCwgMHg3ZiwgMHgwMiwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMywgMHg3NSwgMHg4MiwgMHg4MiwgMHg3NSwgMHg4MywgMHgxOSwgMHhlZiwgMHhmMCwKLSAgMHg3NSwgMHg4MiwgMHg2ZCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg2NiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwKLSAgMHg1ZiwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg3NSwgMHg4MiwgMHg1OCwgMHg3NSwgMHg4MywgMHgxOSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYX19LAotIHsweDA2YzYsIDY0LCB7IDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDQsIDB4N2YsIDB4NjQsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MzIsIDB4NzUsIDB4ODIsIDB4MWEsIDB4NzUsIDB4ODMsIDB4MTksIDB4ZWYsCi0gIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZWYsIDB4ZTAsIDB4ZmUsIDB4OTAsIDB4N2YsIDB4ZWUsIDB4ZTAsIDB4N2MsIDB4MDAsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4MTgsCi0gIDB4ZWMsIDB4M2UsIDB4ZjUsIDB4MTcsIDB4NzUsIDB4MzMsIDB4MTksIDB4NzUsIDB4MzQsIDB4MTIsIDB4NzUsIDB4ODIsIDB4MTQsIDB4NzUsIDB4ODMsIDB4MTksCi0gIDB4ZTAsIDB4NzUsIDB4MjcsIDB4MDAsIDB4ZjUsIDB4MjgsIDB4ZDMsIDB4ZTUsIDB4MjgsIDB4OTUsIDB4MTgsIDB4ZTUsIDB4MjcsIDB4OTUsIDB4MTd9fSwKLSB7MHgwNzA2LCA2NCwgeyAweDQwLCAweDA2LCAweDg1LCAweDE3LCAweDI3LCAweDg1LCAweDE4LCAweDI4LCAweDEyLCAweDEzLCAweDBkLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGVhLAotICAweGUwLCAweGZmLCAweDEyLCAweDE0LCAweDVmLCAweGVhLCAweDQ5LCAweDYwLCAweDMyLCAweDkwLCAweDdmLCAweGVlLCAweGUwLCAweDc1LCAweDE3LCAweDAwLAotICAweGY1LCAweDE4LCAweGFlLCAweDAyLCAweGFmLCAweDAxLCAweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZlLAotICAweGEzLCAweGUwLCAweDhlLCAweDI3LCAweGY1LCAweDI4LCAweGQzLCAweDk1LCAweDE4LCAweGU1LCAweDI3LCAweDk1LCAweDE3LCAweDQwLCAweDA2fX0sCi0gezB4MDc0NiwgNjQsIHsgMHg4NSwgMHgxNywgMHgyNywgMHg4NSwgMHgxOCwgMHgyOCwgMHgxMiwgMHgxMywgMHgwZCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwKLSAgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwKLSAgMHg3ZiwgMHgwMCwgMHhlNSwgMHgyNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwKLSAgMHhlYSwgMHhlMCwgMHhmNSwgMHgyNSwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgyMiwgMHgxMiwgMHgwYX19LAotIHsweDA3ODYsIDY0LCB7IDB4Y2UsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4MDIsCi0gIDB4MDgsIDB4Y2YsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4N2YsIDB4NjAsIDB4MjQsIDB4MTQsIDB4NjAsIDB4MzEsIDB4MjQsIDB4MDIsIDB4NzAsCi0gIDB4NWIsIDB4YTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDYsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsCi0gIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDgsIDB4Y2YsIDB4ZTR9fSwKLSB7MHgwN2M2LCA2NCwgeyAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLAotICAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLAotICAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLAotICAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA4LCAweGNmLCAweDkwLCAweDdmLCAweGI0fX0sCi0gezB4MDgwNiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNCwgMHgwMiwKLSAgMHg2MCwgMHgwMywgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwOCwKLSAgMHhjZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwOCwgMHhjZiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwKLSAgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NH19LAotIHsweDA4NDYsIDY0LCB7IDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4ZWMsIDB4ZTAsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4MTMsIDB4MTMsIDB4MTMsIDB4NTQsIDB4MWYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsCi0gIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NWYsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsCi0gIDB4ODAsIDB4NTYsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTB9fSwKLSB7MHgwODg2LCA2NCwgeyAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0LCAweGQyLCAweDAwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLAotICAweDgwLCAweDM2LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLAotICAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LAotICAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwfX0sCi0gezB4MDhjNiwgNjQsIHsgMHg4MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgyMiwKLSAgMHhlNSwgMHgxMiwgMHg1NCwgMHgwZiwgMHg3MCwgMHgwMywgMHgwMiwgMHgwOSwgMHhjOCwgMHgxMiwgMHgxNiwgMHg5YSwgMHhlZiwgMHgyMCwgMHhlMSwgMHg3NSwKLSAgMHgxMiwgMHgxNiwgMHhmOCwgMHhlZiwgMHgxNCwgMHhmNSwgMHgxOCwgMHgxMiwgMHgxOCwgMHhjNSwgMHhlZiwgMHgyNSwgMHgxOCwgMHhmZiwgMHhlNCwgMHgzMywKLSAgMHhmZSwgMHhjMywgMHhlZiwgMHg5NCwgMHg4MCwgMHhlZSwgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg1MCwgMHg1OSwgMHg4NSwgMHgxNSwgMHg4Mn19LAotIHsweDA5MDYsIDY0LCB7IDB4ODUsIDB4MTQsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MTEsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ODAsIDB4MGYsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4ZTUsCi0gIDB4MTUsIDB4MjQsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTIsIDB4MTIsIDB4ZTV9fSwKLSB7MHgwOTQ2LCA2NCwgeyAweDE4LCAweDYwLCAweDBlLCAweGY1LCAweDIzLCAweGVmLCAweDI0LCAweDAxLCAweGY1LCAweDJkLCAweGU0LCAweDNlLCAweGY1LCAweDJjLCAweDEyLCAweDE0LCAweGEwLAotICAweGU0LCAweGZmLCAweDEyLCAweDE0LCAweGQ3LCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLAotICAweGUwLCAweDMwLCAweGU3LCAweDVkLCAweDEyLCAweDE4LCAweGM1LCAweGU1LCAweDE1LCAweDI0LCAweDNiLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LAotICAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGVmLCAweGMzLCAweDllLCAweDUwLCAweDQ4LCAweGU1LCAweDE1LCAweDI0LCAweDJmLCAweGY1LCAweDgyfX0sCi0gezB4MDk4NiwgNjQsIHsgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwKLSAgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3YiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwKLSAgMHg4MywgMHhlNCwgMHhmMCwgMHhlNSwgMHgxNiwgMHg0MiwgMHgxMywgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgxMCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHgyNCwgMHg4MCwgMHgwMywgMHgxMn19LAotIHsweDA5YzYsIDY0LCB7IDB4MTIsIDB4OWMsIDB4MTIsIDB4MTYsIDB4YzksIDB4ZWYsIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MGEsIDB4Y2QsIDB4MTIsIDB4MTcsIDB4YzcsIDB4OGYsIDB4MTgsCi0gIDB4MTIsIDB4MTgsIDB4ZDMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4YzMsCi0gIDB4OWYsIDB4NTAsIDB4MjgsIDB4MTIsIDB4MTgsIDB4YTksIDB4ZWYsIDB4MzAsIDB4ZTAsIDB4MjEsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjV9fSwKLSB7MHgwYTA2LCA2NCwgeyAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGU3LCAweDEyLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDIwLCAweGUxLCAweDAzLCAweDAyLCAweDBhLCAweGNkLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweGU1LCAweDE4LCAweDcwLCAweDAzLCAweDAyLCAweDBhLAotICAweGNkLCAweGI0LCAweDgwLCAweDBmLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzfX0sCi0gezB4MGE0NiwgNjQsIHsgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwKLSAgMHgzMCwgMHhlNywgMHgyOSwgMHhlNSwgMHgxOCwgMHhkMywgMHg5NCwgMHgyMCwgMHg0MCwgMHgwMywgMHg3NSwgMHgxOCwgMHgyMCwgMHg4NSwgMHgxOCwgMHgyMywKLSAgMHg4NSwgMHgxNSwgMHg4MiwgMHg4NSwgMHgxNCwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhhMywgMHhlMCwgMHg4YywgMHgyYywgMHhmNSwgMHgyZCwKLSAgMHgxMiwgMHgxMywgMHhjZiwgMHhlNSwgMHgxOCwgMHgyNSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgxNSwgMHgwZCwgMHgyMiwgMHhlNSwgMHgxOCwgMHhkM319LAotIHsweDBhODYsIDY0LCB7IDB4OTQsIDB4M2YsIDB4NDAsIDB4MDMsIDB4NzUsIDB4MTgsIDB4M2YsIDB4ODUsIDB4MTgsIDB4MjMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZmMsCi0gIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsCi0gIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4MmQsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4MmMsIDB4MTIsIDB4MTQsIDB4MWR9fSwKLSB7MHgwYWM2LCA2NCwgeyAweGU1LCAweDE4LCAweDA0LCAweGZmLCAweDEyLCAweDE1LCAweDBkLCAweDIyLCAweGU0LCAweDkwLCAweDdmLCAweDkzLCAweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LAotICAweGZmLCAweGYwLCAweGU0LCAweDkwLCAweDdmLCAweDk2LCAweGYwLCAweDkwLCAweDdmLCAweDk0LCAweGYwLCAweDkwLCAweDc4LCAweDRhLCAweDA0LCAweGYwLAotICAweGY1LCAweDhlLCAweDkwLCAweDdmLCAweDk1LCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweDNmLCAweGYwLCAweDkwLCAweDdmLAotICAweDk4LCAweDc0LCAweDJmLCAweGYwLCAweDkwLCAweDc4LCAweDQzLCAweDc0LCAweGY3LCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDQxLCAweGYwfX0sCi0gezB4MGIwNiwgNjQsIHsgMHg5MCwgMHg3ZiwgMHhkZiwgMHg3NCwgMHg5ZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwKLSAgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwKLSAgMHg3NSwgMHgxNiwgMHgwMSwgMHgxMiwgMHgwZiwgMHgyOCwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNSwgMHhjMCwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgyNiwgMHhmNSwgMHg4Mn19LAotIHsweDBiNDYsIDY0LCB7IDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4NDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsCi0gIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2UsIDB4N2YsIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsCi0gIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2UsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsCi0gIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MGZ9fSwKLSB7MHgwYjg2LCA2NCwgeyAweDI4LCAweDdlLCAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLAotICAweDc1LCAweDE2LCAweDAyLCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLAotICAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweGMwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LAotICAweGMwLCAweGYwLCAweDdlLCAweDdlLCAweDdmLCAweDAwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0fX0sCi0gezB4MGJjNiwgNjQsIHsgMHg3ZSwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMCwgMHhmMCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwKLSAgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHgxMiwgMHgwZiwgMHgyOCwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg0MCwgMHg3NSwKLSAgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHg0MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyYiwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwNCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMiwgMHhmMCwgMHg3ZSwgMHg3ZCwgMHg3Zn19LAotIHsweDBjMDYsIDY0LCB7IDB4NDAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4N2QsIDB4N2YsCi0gIDB4ODAsIDB4ODUsIDB4MTUsIDB4ODIsIDB4ODUsIDB4MTQsIDB4ODMsIDB4YTMsIDB4YTMsIDB4NzQsIDB4N2QsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ODAsIDB4ZjAsCi0gIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsCi0gIDB4NzUsIDB4MTYsIDB4MDgsIDB4MTIsIDB4MGYsIDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTV9fSwKLSB7MHgwYzQ2LCA2NCwgeyAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweGU1LCAweDE1LCAweDI0LCAweDI2LCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAzLCAweGYwLCAweDdlLCAweDdjLCAweDdmLCAweGMwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LCAweDE0LAotICAweDgzLCAweDc0LCAweDdjLCAweGYwLCAweGEzLCAweDc0LCAweGMwLCAweGYwLCAweDdlLCAweDdkLCAweDdmLCAweDAwLCAweDg1LCAweDE1LCAweDgyLCAweDg1LAotICAweDE0LCAweDgzLCAweGEzLCAweGEzLCAweDc0LCAweDdkLCAweGYwLCAweGEzLCAweDc0LCAweDAwLCAweGYwLCAweGMyLCAweDBhLCAweGMyLCAweDA5fX0sCi0gezB4MGM4NiwgNjQsIHsgMHhlNCwgMHhmNSwgMHgxMSwgMHhkMiwgMHgwMiwgMHgyMiwgMHhlNSwgMHgxMCwgMHgwNCwgMHg1NCwgMHgwMywgMHhmNSwgMHgxMCwgMHgxNCwgMHg2MCwgMHgxZiwgMHgxNCwKLSAgMHg2MCwgMHgzMSwgMHgxNCwgMHg2MCwgMHg0MywgMHgyNCwgMHgwMywgMHg3MCwgMHg1MiwgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwKLSAgMHg3NSwgMHgxNSwgMHhjMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZSwgMHhmMCwgMHg3NSwgMHgxNiwgMHgwMSwgMHg4MCwgMHgzZCwgMHg3ZSwgMHg3YywKLSAgMHg3ZiwgMHgwMCwgMHg3NSwgMHgxNCwgMHg3YywgMHg3NSwgMHgxNSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyZCwgMHhmMCwgMHg3NX19LAotIHsweDBjYzYsIDY0LCB7IDB4MTYsIDB4MDIsIDB4ODAsIDB4MjgsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsCi0gIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4ODAsIDB4MTMsIDB4N2UsIDB4N2MsIDB4N2YsIDB4ODAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsCi0gIDB4MTUsIDB4ODAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MjcsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDgsIDB4ZTUsIDB4MzIsIDB4NTUsIDB4MTYsIDB4NzAsCi0gIDB4MDMsIDB4MDIsIDB4MGUsIDB4MjcsIDB4ZTUsIDB4MTYsIDB4ZjQsIDB4NTIsIDB4MzIsIDB4ZTUsIDB4MjYsIDB4NTQsIDB4N2YsIDB4ZmYsIDB4NzB9fSwKLSB7MHgwZDA2LCA2NCwgeyAweDE3LCAweGU1LCAweDJhLCAweDU1LCAweDE2LCAweDYwLCAweDM0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweGZlLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLAotICAweGY0LCAweGZkLCAweGVlLCAweDVkLCAweGYwLCAweDgwLCAweDIzLCAweGJmLCAweDIwLCAweDIwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLAotICAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUzLCAweDExLCAweGU0LCAweGY1LCAweDJhLCAweDkwLCAweDdmLCAweDk2LCAweGUwLAotICAweGZmLCAweGU1LCAweDE2LCAweGM0LCAweDU0LCAweGYwLCAweGZlLCAweGVmLCAweDRlLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDNhLCAweGY1fX0sCi0gezB4MGQ0NiwgNjQsIHsgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwMywgMHhlMCwgMHgxNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNCwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2MCwgMHgwMywgMHhlMCwgMHgxNCwgMHhmMCwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwKLSAgMHgwZSwgMHgyNywgMHg3NCwgMHgwYSwgMHhmMCwgMHgxMiwgMHgwMCwgMHgzNiwgMHhlZiwgMHg1NCwgMHgwMSwgMHhmZiwgMHhmNSwgMHgxOCwgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg2ZiwgMHg2MCwgMHgwNywgMHhlNSwgMHgxOH19LAotIHsweDBkODYsIDY0LCB7IDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4MTIsIDB4MTgsIDB4ZTEsIDB4OGYsIDB4MTgsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjcsIDB4ZjUsIDB4ODIsIDB4ZTQsCi0gIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4MTAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MDYsIDB4ZWUsIDB4ZjAsCi0gIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTMsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MjgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsCi0gIDB4ZmYsIDB4ZTUsIDB4MTgsIDB4NTQsIDB4ODAsIDB4ZmUsIDB4NmYsIDB4NjAsIDB4MDYsIDB4ZWUsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MTN9fSwKLSB7MHgwZGM2LCA2NCwgeyAweGU1LCAweDE1LCAweDI0LCAweDI5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDU0LCAweDIwLAotICAweGZlLCAweDZmLCAweDYwLCAweDE1LCAweGVlLCAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDMxLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LAotICAweDgzLCAweGUwLCAweDMwLCAweGU0LCAweDA0LCAweGU1LCAweDE2LCAweDQyLCAweDEzLCAweGU1LCAweDE1LCAweDI0LCAweDJhLCAweGY1LCAweDgyLCAweGU0LAotICAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDE4LCAweDU0LCAweDQwLCAweGZlLCAweDZmLCAweDYwLCAweDE1LCAweGVlfX0sCi0gezB4MGUwNiwgNjQsIHsgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNSwgMHgwNCwgMHhlNSwKLSAgMHgxNiwgMHg0MiwgMHgxMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwKLSAgMHgyMiwgMHgzMCwgMHgwOSwgMHgwMywgMHgwMiwgMHgwZiwgMHgyNywgMHhlNSwgMHgyNCwgMHgxNCwgMHg2MCwgMHgyYSwgMHgxNCwgMHg2MCwgMHg0MSwgMHgxNCwKLSAgMHg2MCwgMHg1OCwgMHgxNCwgMHg2MCwgMHg2ZiwgMHgyNCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHgwZSwgMHhlNSwgMHg3ZSwgMHg3YiwgMHg3Zn19LAotIHsweDBlNDYsIDY0LCB7IDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsCi0gIDB4MTIsIDB4OWMsIDB4NzUsIDB4MjQsIDB4MDEsIDB4MjIsIDB4N2UsIDB4N2MsIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDIsIDB4MTIsIDB4MTIsIDB4OWMsIDB4NzUsIDB4MjQsIDB4MDIsIDB4MjIsCi0gIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmJ9fSwKLSB7MHgwZTg2LCA2NCwgeyAweGYwLCAweDc1LCAweDE2LCAweDA0LCAweDEyLCAweDEyLCAweDljLCAweDc1LCAweDI0LCAweDAzLCAweDIyLCAweDdlLCAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LAotICAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LCAweDA4LCAweDEyLCAweDEyLCAweDljLAotICAweDc1LCAweDI0LCAweDA0LCAweDIyLCAweDMwLCAweDA0LCAweDMzLCAweGMyLCAweDA0LCAweDUzLCAweDEzLCAweGRmLCAweGU0LCAweGY1LCAweDE4LCAweDdlLAotICAweDAwLCAweDdiLCAweDAwLCAweDc0LCAweDJlLCAweDI1LCAweDE4LCAweGY5LCAweGVlLCAweDM0LCAweDAwLCAweGZhLCAweDEyLCAweDExLCAweGE2fX0sCi0gezB4MGVjNiwgNjQsIHsgMHhmZiwgMHg3NCwgMHg4MCwgMHgyNSwgMHgxOCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3YiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgxOCwgMHhlNSwKLSAgMHgxOCwgMHhiNCwgMHgwMywgMHhkYiwgMHg5MCwgMHg3ZiwgMHhjMywgMHg3NCwgMHgwMywgMHhmMCwgMHg3NSwgMHgyNCwgMHgwNSwgMHgyMiwgMHhlNSwgMHgzNiwKLSAgMHg2MCwgMHgzYiwgMHhkNSwgMHgzNiwgMHgwYSwgMHg1MywgMHgxMywgMHhlZiwgMHgzMCwgMHgwYSwgMHgwNCwgMHhkMiwgMHgwOSwgMHhjMiwgMHgwYSwgMHhlNCwKLSAgMHhmNSwgMHgxOCwgMHg3ZSwgMHgwMCwgMHg3YiwgMHgwMCwgMHg3NCwgMHgzNSwgMHgyNSwgMHgxOCwgMHhmOSwgMHhlZSwgMHgzNCwgMHgwMCwgMHhmYX19LAotIHsweDBmMDYsIDY0LCB7IDB4MTIsIDB4MTEsIDB4YTYsIDB4ZmYsIDB4NzQsIDB4ODAsIDB4MjUsIDB4MTgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsCi0gIDB4MDUsIDB4MTgsIDB4ZTUsIDB4MTgsIDB4YjQsIDB4MDMsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MjQsCi0gIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MTksIDB4N2UsIDB4MDAsIDB4N2IsIDB4MDEsIDB4ZTUsIDB4MTUsIDB4MjUsIDB4MTksIDB4ZjksIDB4ZWUsIDB4MzUsIDB4MTQsCi0gIDB4ZmEsIDB4ZTQsIDB4MTIsIDB4MTEsIDB4ZWMsIDB4MDUsIDB4MTksIDB4ZTUsIDB4MTksIDB4YjQsIDB4M2MsIDB4ZTgsIDB4ZTUsIDB4MTUsIDB4MjR9fSwKLSB7MHgwZjQ2LCA2NCwgeyAweDM1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLAotICAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweDc0LCAweDAzLCAweGYwLCAweDkwLCAweGMwLAotICAweDAwLCAweGYwLCAweDdmLCAweDBjLCAweGU0LCAweGZkLCAweDEyLCAweDE2LCAweDZiLCAweDdmLCAweDEwLCAweGU1LCAweDE1LCAweDI0LCAweDMzLCAweGY1LAotICAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDEyLCAweDE1LCAweGRiLCAweDkwLCAweDc4LCAweDQxLCAweDc0fX0sCi0gezB4MGY4NiwgNjQsIHsgMHhmMiwgMHhmMCwgMHg3ZiwgMHgwMSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwKLSAgMHg0NCwgMHgwNiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNCwgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzOSwKLSAgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHg3NCwgMHg4MCwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHgwZiwgMHhlNCwKLSAgMHhmZCwgMHgxMiwgMHgxNiwgMHg2YiwgMHhlNCwgMHhmZiwgMHg3ZSwgMHhhMywgMHhlNSwgMHgxNSwgMHgyNCwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNH19LAotIHsweDBmYzYsIDY0LCB7IDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZWUsIDB4ZjAsIDB4ZmQsIDB4MTIsIDB4MTYsIDB4NmIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjEsIDB4ZjAsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZTQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2QsIDB4N2YsIDB4MTIsIDB4MTYsIDB4NmIsIDB4N2YsIDB4MDEsIDB4MTIsIDB4MTUsIDB4NDMsCi0gIDB4N2YsIDB4MDMsIDB4N2QsIDB4MDcsIDB4MTIsIDB4MTYsIDB4NmIsIDB4MjIsIDB4NTMsIDB4MTMsIDB4M2YsIDB4OTAsIDB4N2IsIDB4ZjEsIDB4ZTAsIDB4MzAsCi0gIDB4ZTMsIDB4MTYsIDB4N2UsIDB4N2IsIDB4N2YsIDB4YzAsIDB4NzUsIDB4MTQsIDB4N2IsIDB4NzUsIDB4MTUsIDB4YzAsIDB4OTAsIDB4N2YsIDB4OTh9fSwKLSB7MHgxMDA2LCA2NCwgeyAweDc0LCAweDJlLCAweGYwLCAweDc1LCAweDE2LCAweDAxLCAweDEyLCAweDA4LCAweGQ3LCAweDkwLCAweDdjLCAweDMxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLAotICAweDdjLCAweDdmLCAweDAwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDAwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJkLCAweGYwLCAweDc1LAotICAweDE2LCAweDAyLCAweDEyLCAweDA4LCAweGQ3LCAweDkwLCAweDdjLCAweDcxLCAweGUwLCAweDMwLCAweGUzLCAweDE2LCAweDdlLCAweDdjLCAweDdmLCAweDQwLAotICAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDQwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDJiLCAweGYwLCAweDc1LCAweDE2LCAweDA0fX0sCi0gezB4MTA0NiwgNjQsIHsgMHgxMiwgMHgwOCwgMHhkNywgMHg5MCwgMHg3YywgMHhiMSwgMHhlMCwgMHgzMCwgMHhlMywgMHgxNiwgMHg3ZSwgMHg3YywgMHg3ZiwgMHg4MCwgMHg3NSwgMHgxNCwgMHg3YywKLSAgMHg3NSwgMHgxNSwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgyNywgMHhmMCwgMHg3NSwgMHgxNiwgMHgwOCwgMHgxMiwgMHgwOCwgMHhkNywgMHgwNSwKLSAgMHgxMiwgMHhlNSwgMHgxMiwgMHg1NCwgMHgwZiwgMHhmNSwgMHgxNywgMHg3MCwgMHgwNCwgMHgxMiwgMHgxMSwgMHgxYywgMHgyMiwgMHhlNSwgMHgxNywgMHhiNCwKLSAgMHgwMSwgMHgwNCwgMHgxMiwgMHgwYywgMHg4YywgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwOCwgMHhlNSwgMHgxM319LAotIHsweDEwODYsIDY0LCB7IDB4NjAsIDB4MDQsIDB4MTIsIDB4MGUsIDB4MjgsIDB4MjIsIDB4MTIsIDB4MGMsIDB4OGMsIDB4MjIsIDB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsCi0gIDB4ODEsIDB4MzcsIDB4MDIsIDB4MTAsIDB4ZDcsIDB4MDIsIDB4MTIsIDB4MjQsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4NDAsCi0gIDB4MDMsIDB4ZjYsIDB4ODAsIDB4MDEsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsCi0gIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzMsIDB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjR9fSwKLSB7MHgxMGM2LCA2NCwgeyAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmLCAweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLAotICAweDkwLCAweDE4LCAweDQ1LCAweGU0LCAweDdlLCAweDAxLCAweDkzLCAweDYwLCAweGJjLCAweGEzLCAweGZmLCAweDU0LCAweDNmLCAweDMwLCAweGU1LCAweDA5LAotICAweDU0LCAweDFmLCAweGZlLCAweGU0LCAweDkzLCAweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LAotICAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1fX0sCi0gezB4MTEwNiwgNjQsIHsgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwKLSAgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZSwgMHg5MCwgMHg3ZiwgMHhkMiwgMHhlMCwgMHgzMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgxMSwgMHhhNSwgMHhjMiwKLSAgMHgwOSwgMHg5MCwgMHg3YiwgMHg0MCwgMHhlMCwgMHgxNCwgMHg2MCwgMHgyNiwgMHgxNCwgMHg2MCwgMHgzYiwgMHgxNCwgMHg2MCwgMHg1MCwgMHgyNCwgMHg4MywKLSAgMHg2MCwgMHg2NCwgMHgyNCwgMHg4MCwgMHg3MCwgMHg2MywgMHg3ZSwgMHg3YiwgMHg3ZiwgMHhjMCwgMHg3NSwgMHgxNCwgMHg3YiwgMHg3NSwgMHgxNX19LAotIHsweDExNDYsIDY0LCB7IDB4YzAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmUsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDEsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4NGIsIDB4N2UsIDB4N2MsCi0gIDB4N2YsIDB4MDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmQsIDB4ZjAsIDB4NzUsIDB4MTYsCi0gIDB4MDIsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MzMsIDB4N2UsIDB4N2MsIDB4N2YsIDB4NDAsIDB4NzUsIDB4MTQsIDB4N2MsIDB4NzUsIDB4MTUsIDB4NDAsCi0gIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MmIsIDB4ZjAsIDB4NzUsIDB4MTYsIDB4MDQsIDB4MTIsIDB4MDAsIDB4NDYsIDB4ODAsIDB4MWIsIDB4N2V9fSwKLSB7MHgxMTg2LCA2NCwgeyAweDdjLCAweDdmLCAweDgwLCAweDc1LCAweDE0LCAweDdjLCAweDc1LCAweDE1LCAweDgwLCAweDkwLCAweDdmLCAweDk4LCAweDc0LCAweDI3LCAweGYwLCAweDc1LCAweDE2LAotICAweDA4LCAweDEyLCAweDAwLCAweDQ2LCAweDgwLCAweDAzLCAweDEyLCAweDE3LCAweDUxLCAweGU0LCAweDkwLCAweDdmLCAweGQzLCAweGYwLCAweDIyLCAweGJiLAotICAweDAxLCAweDA2LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweDIyLCAweDUwLCAweDAyLCAweGU3LCAweDIyLCAweGJiLCAweGZlLCAweDAyLCAweGUzLAotICAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGU0LCAweDkzLCAweDIyLCAweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1fX0sCi0gezB4MTFjNiwgNjQsIHsgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwgMHhmNSwgMHg4MywgMHhlMCwgMHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwKLSAgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MiwgMHgyOSwgMHhmNSwgMHg4MiwgMHhlNSwgMHg4MywgMHgzYSwKLSAgMHhmNSwgMHg4MywgMHhlNCwgMHg5MywgMHgyMiwgMHhiYiwgMHgwMSwgMHgwNiwgMHg4OSwgMHg4MiwgMHg4YSwgMHg4MywgMHhmMCwgMHgyMiwgMHg1MCwgMHgwMiwKLSAgMHhmNywgMHgyMiwgMHhiYiwgMHhmZSwgMHgwMSwgMHhmMywgMHgyMiwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHhmOCwgMHhlNCwgMHg5MywgMHg3MH19LAotIHsweDEyMDYsIDY0LCB7IDB4MTIsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NzAsIDB4MGQsIDB4YTMsIDB4YTMsIDB4OTMsIDB4ZjgsIDB4NzQsIDB4MDEsIDB4OTMsIDB4ZjUsIDB4ODIsIDB4ODgsIDB4ODMsCi0gIDB4ZTQsIDB4NzMsIDB4NzQsIDB4MDIsIDB4OTMsIDB4NjgsIDB4NjAsIDB4ZWYsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ODAsIDB4ZGYsIDB4OTAsIDB4N2YsIDB4YWUsCi0gIDB4ZTAsIDB4ZmYsIDB4ZDMsIDB4OTIsIDB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmUsIDB4ZWYsIDB4NGUsIDB4ZjAsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsCi0gIDB4OTAsIDB4N2YsIDB4ZGUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmZ9fSwKLSB7MHgxMjQ2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweGE5LCAweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFmLCAweDc0LCAweDAxLAotICAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweDc0LCAweDBkLCAweGYwLCAweGQyLCAweGFmLCAweGQyLCAweDBiLCAweDEyLCAweDE4LCAweDA5LCAweGMyLCAweDAxLAotICAweGU0LCAweGY1LCAweDJiLCAweGY1LCAweDMxLCAweGMyLCAweDA3LCAweGMyLCAweDAyLCAweDc1LCAweDI5LCAweDBmLCAweDkwLCAweDdmLCAweGQ4LCAweGUwLAotICAweDY1LCAweDI2LCAweDYwLCAweDA2LCAweDc1LCAweDMyLCAweDBmLCAweGUwLCAweGY1LCAweDI2LCAweDMwLCAweDAyLCAweDAzLCAweDEyLCAweDBmfX0sCi0gezB4MTI4NiwgNjQsIHsgMHhlZiwgMHgzMCwgMHgwMSwgMHgwNywgMHhjMiwgMHgwMSwgMHgxMiwgMHgwNiwgMHgzZiwgMHg4MCwgMHhlMiwgMHgzMCwgMHgwOCwgMHhkZiwgMHhjMiwgMHgwOCwgMHgxMiwKLSAgMHgxOCwgMHgyYSwgMHg4MCwgMHhkOCwgMHgyMiwgMHhlNSwgMHgxMywgMHg1NSwgMHgxNiwgMHg2MCwgMHg2YSwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzYSwgMHhmNSwKLSAgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg3MCwgMHg1YywgMHhlNSwgMHgxNiwgMHhmNCwgMHg1MiwgMHgxMywgMHhlNSwgMHgxNSwKLSAgMHgyNCwgMHgyNiwgMHhmZiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmZSwgMHhlNCwgMHhmZCwgMHgwZiwgMHhlZiwgMHhhYSwgMHgwNiwgMHg3MCwgMHgwMX19LAotIHsweDEyYzYsIDY0LCB7IDB4MGUsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4ZmMsIDB4NzQsIDB4ODAsIDB4MmQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2IsIDB4ZjUsCi0gIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4MGQsIDB4YmQsIDB4MGIsIDB4ZTIsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsCi0gIDB4M2EsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmUsIDB4ZjUsCi0gIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTR9fSwKLSB7MHgxMzA2LCA2NCwgeyAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDIyLCAweGU1LCAweDI4LCAweDQ1LCAweDI3LCAweDYwLCAweDU3LCAweGFlLCAweDI3LCAweGFmLCAweDI4LAotICAweGQzLCAweGVmLCAweDk0LCAweDQwLCAweGVlLCAweDk0LCAweDAwLCAweDQwLCAweDA0LCAweDdlLCAweDAwLCAweDdmLCAweDQwLCAweGMzLCAweGU1LCAweDI4LAotICAweDlmLCAweGY1LCAweDI4LCAweGU1LCAweDI3LCAweDllLCAweGY1LCAweDI3LCAweGU0LCAweGZkLCAweGVkLCAweGMzLCAweDlmLCAweGU0LCAweDllLCAweDUwLAotICAweDFmLCAweDg1LCAweDM0LCAweDgyLCAweDg1LCAweDMzLCAweDgzLCAweGUwLCAweGZjLCAweDc0LCAweDAwLCAweDJkLCAweGY1LCAweDgyLCAweGU0fX0sCi0gezB4MTM0NiwgNjQsIHsgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHgwZCwgMHgwNSwgMHgzNCwgMHhlNSwgMHgzNCwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMywgMHg4MCwgMHhkYSwKLSAgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwKLSAgMHhlZiwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgyMiwKLSAgMHg5MCwgMHg3ZiwgMHg5OCwgMHg3NCwgMHgwZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg0YSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NCwgMHhmMH19LAotIHsweDEzODYsIDY0LCB7IDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4OTcsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4N2YsCi0gIDB4OTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4MzAsIDB4MDAsIDB4MDcsIDB4ZTUsIDB4MjksIDB4NTQsIDB4MGYsIDB4ZmYsCi0gIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4MWYsIDB4ZjAsIDB4ZTQsCi0gIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4NzQsIDB4M2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4NzQsIDB4ZGZ9fSwKLSB7MHgxM2M2LCA2NCwgeyAweGYwLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDIyLCAweDhmLCAweDE5LCAweDA1LCAweDJkLCAweGU1LCAweDJkLCAweGFlLCAweDJjLAotICAweDcwLCAweDAyLCAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDE5LCAweGYwLCAweDEyLCAweDE4LCAweGVmLCAweDA1LAotICAweDJkLCAweGU1LCAweDJkLCAweGFjLCAweDJjLCAweDcwLCAweDAyLCAweDA1LCAweDJjLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLAotICAweDE1LCAweDIzLCAweGU1LCAweDIzLCAweDYwLCAweDFmLCAweGU1LCAweDE1LCAweDI0LCAweDM4LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0fX0sCi0gezB4MTQwNiwgNjQsIHsgMHhmNSwgMHg4MywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZSwgMHgxMiwgMHgxOCwgMHhkMywgMHg4ZiwgMHgxOSwgMHhlZSwgMHg0ZiwgMHhkMCwgMHg4MiwKLSAgMHhkMCwgMHg4MywgMHhmMCwgMHg4MCwgMHhiNSwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhlNSwgMHgxMSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0ZiwgMHg3NCwKLSAgMHhjMCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1MCwgMHhmMCwgMHhlNSwgMHgyYywgMHg5MCwgMHg3OCwgMHg1MSwgMHhmMCwgMHhhZSwgMHgyYywgMHhlNSwKLSAgMHgyZCwgMHg5MCwgMHg3OCwgMHg1MiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NCwgMHhlNSwgMHgyMywgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NywgMHg3NH19LAotIHsweDE0NDYsIDY0LCB7IDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4MTAsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjAsIDB4ZTQsIDB4OTAsIDB4NzgsIDB4NTUsCi0gIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NTUsIDB4ZTAsIDB4NjAsIDB4ZmEsIDB4MjIsIDB4OGYsIDB4MTksIDB4ZTQsIDB4ZjUsIDB4MWEsIDB4NzUsIDB4MWIsIDB4ZmYsCi0gIDB4NzUsIDB4MWMsIDB4MTksIDB4NzUsIDB4MWQsIDB4ODYsIDB4YWIsIDB4MWIsIDB4YWEsIDB4MWMsIDB4YTksIDB4MWQsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsCi0gIDB4MTEsIDB4YmYsIDB4YjQsIDB4MDMsIDB4MWQsIDB4YWYsIDB4MWEsIDB4MDUsIDB4MWEsIDB4ZWYsIDB4YjUsIDB4MTksIDB4MDEsIDB4MjIsIDB4MTJ9fSwKLSB7MHgxNDg2LCA2NCwgeyAweDExLCAweGE2LCAweDdlLCAweDAwLCAweDI5LCAweGZmLCAweGVlLCAweDNhLCAweGE5LCAweDA3LCAweDc1LCAweDFiLCAweGZmLCAweGY1LCAweDFjLCAweDg5LCAweDFkLAotICAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweGU1LCAweDExLCAweGYwLCAweGU1LAotICAweDJjLCAweDkwLCAweDc4LCAweDRmLCAweGYwLCAweGFlLCAweDJjLCAweGU1LCAweDJkLCAweDkwLCAweDc4LCAweDUwLCAweGYwLCAweDkwLCAweDc4LCAweDUxLAotICAweDc0LCAweGMwLCAweGYwLCAweGU0LCAweDkwLCAweDc4LCAweDUyLCAweGYwLCAweDkwLCAweDc4LCAweDU0LCAweGU1LCAweDIzLCAweGYwLCAweDkwfX0sCi0gezB4MTRjNiwgNjQsIHsgMHg3OCwgMHg1NywgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhmMCwgMHg5MCwgMHg3OCwgMHg1NSwgMHhlMCwgMHg2MCwgMHhmYSwgMHgyMiwKLSAgMHhlNSwgMHgxNSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHgxNCwgMHg2MCwgMHgwZiwgMHgxNCwKLSAgMHg2MCwgMHgxMywgMHgxNCwgMHg2MCwgMHgxNywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlZiwgMHhmMCwgMHg4MCwgMHgxMywgMHg5MCwgMHg3ZiwKLSAgMHhjOSwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlZiwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHg3ZiwgMHhjZH19LAotIHsweDE1MDYsIDY0LCB7IDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MmEsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsCi0gIDB4ODMsIDB4ZTAsIDB4MTQsIDB4NjAsIDB4MGYsIDB4MTQsIDB4NjAsIDB4MTMsIDB4MTQsIDB4NjAsIDB4MTcsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YjcsCi0gIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MTMsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4MGMsIDB4OTAsIDB4N2YsIDB4YmIsIDB4ZWYsIDB4ZjAsCi0gIDB4ODAsIDB4MDUsIDB4OTAsIDB4N2YsIDB4YmQsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MTYsIDB4NDIsIDB4MmEsIDB4MjIsIDB4YWUsIDB4MDcsIDB4ZTR9fSwKLSB7MHgxNTQ2LCA2NCwgeyAweGZmLCAweGU1LCAweDE1LCAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweGZkLCAweDEyLAotICAweDE2LCAweDZiLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYxLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVlLCAweGYwLCAweGU0LCAweGU1LCAweDE1LAotICAweDI0LCAweDMyLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDgwLCAweGZkLCAweDEyLCAweDE2LCAweDZiLAotICAweDIyLCAweGMwLCAweGUwLCAweGMwLCAweGYwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2fX0sCi0gezB4MTU4NiwgNjQsIHsgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgwOCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwMSwgMHhmMCwKLSAgMHgxMiwgMHgxMywgMHgwZCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwKLSAgMHhmMCwgMHhkMCwgMHhlMCwgMHgzMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHg3NCwgMHhiZiwgMHhmMCwKLSAgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NH19LAotIHsweDE1YzYsIDY0LCB7IDB4ZjMsIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4OTAsCi0gIDB4YzAsIDB4MDAsIDB4ZjAsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4NzQsIDB4YmYsIDB4ZjAsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjIsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjMsCi0gIDB4ZjAsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4N2Z9fSwKLSB7MHgxNjA2LCA2NCwgeyAweDkwLCAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmLCAweGYwLAotICAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGY0LCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweGVmLCAweGYwLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLAotICAweGYwLCAweGU1LCAweDE1LCAweDI0LCAweDM3LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDdmLCAweDkwLAotICAweGMwLCAweDAwLCAweGYwLCAweDIyLCAweDkwLCAweDc4LCAweDQxLCAweDc0LCAweGYzLCAweGYwLCAweDkwLCAweGMwLCAweDAwLCAweDc0LCAweGJmfX0sCi0gezB4MTY0NiwgNjQsIHsgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmNiwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlZiwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywKLSAgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwKLSAgMHhjMCwgMHgwMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHg3NCwgMHhmMywgMHhmMCwgMHhlNSwgMHgxNSwgMHgyNCwgMHgzNywgMHhmNSwgMHg4MiwKLSAgMHhlNCwgMHgzNSwgMHgxNCwgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHg3ZiwgMHg5MCwgMHhjMCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3OCwgMHg0MX19LAotIHsweDE2ODYsIDY0LCB7IDB4NzQsIDB4ZjcsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4NzgsIDB4NDEsIDB4NzQsIDB4ZjUsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsCi0gIDB4ZWQsIDB4ZjAsIDB4MjIsIDB4ZTUsIDB4MTUsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MTQsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MTQsCi0gIDB4NjAsIDB4MGUsIDB4MTQsIDB4NjAsIDB4MTEsIDB4MTQsIDB4NjAsIDB4MTQsIDB4ODAsIDB4MDAsIDB4OTAsIDB4N2YsIDB4YzYsIDB4ZTAsIDB4ZmYsIDB4MjIsCi0gIDB4OTAsIDB4N2YsIDB4YzgsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2EsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4N2YsIDB4Y2N9fSwKLSB7MHgxNmM2LCA2NCwgeyAweGUwLCAweGZmLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwLAotICAweDBlLCAweDE0LCAweDYwLCAweDExLCAweDE0LCAweDYwLCAweDE0LCAweDgwLCAweDAwLCAweDkwLCAweDdmLCAweGI2LCAweGUwLCAweGZmLCAweDIyLCAweDkwLAotICAweDdmLCAweGI4LCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGJhLCAweGUwLCAweGZmLCAweDIyLCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweGZmLAotICAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweDYwfX0sCi0gezB4MTcwNiwgNjQsIHsgMHgwZSwgMHgxNCwgMHg2MCwgMHgxMSwgMHgxNCwgMHg2MCwgMHgxNCwgMHg4MCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjNywgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwKLSAgMHhjOSwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjYiwgMHhlMCwgMHhmZiwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhjZCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHg5MCwKLSAgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4Nn19LAotIHsweDE3NDYsIDY0LCB7IDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzIsIDB4OTAsIDB4N2IsIDB4NDEsIDB4ZTAsIDB4ZjUsIDB4MzYsCi0gIDB4NDMsIDB4MTMsIDB4MTAsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MDksIDB4OTAsIDB4N2YsIDB4ZDcsIDB4NzQsIDB4MTcsIDB4ZjAsIDB4NzQsIDB4MzcsIDB4ZjAsCi0gIDB4OTAsIDB4N2IsIDB4NDMsIDB4ZTAsIDB4ZjUsIDB4MzcsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZjAsIDB4ZjUsIDB4MjksIDB4ZTAsIDB4NjAsIDB4MDIsIDB4ZDIsCi0gIDB4MGEsIDB4MjIsIDB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4NzV9fSwKLSB7MHgxNzg2LCA2NCwgeyAweDg2LCAweDAwLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxLCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LAotICAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyLCAweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLAotICAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGQyLCAweDA4LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLAotICAweDc0LCAweDA4LCAweGYwLCAweGQwLCAweDg2LCAweGQwLCAweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwfX0sCi0gezB4MTdjNiwgNjQsIHsgMHgzMiwgMHgxMiwgMHgxOCwgMHhiNywgMHhhZSwgMHgwNywgMHgxMiwgMHgxOCwgMHhiNywgMHhhZCwgMHgwNywgMHhlZSwgMHg2ZCwgMHg2MCwgMHgxMCwgMHgxMiwgMHgxOCwKLSAgMHhiNywgMHhhZSwgMHgwNywgMHhlZSwgMHg2ZCwgMHg2MCwgMHgwNywgMHgxMiwgMHgxOCwgMHhiNywgMHhhZCwgMHgwNywgMHg4MCwgMHhlYywgMHhhZiwgMHgwNiwKLSAgMHgyMiwgMHg3NCwgMHgwMCwgMHhmNSwgMHg4NiwgMHg5MCwgMHhmZCwgMHhhNSwgMHg3YywgMHgwNSwgMHhhMywgMHhlNSwgMHg4MiwgMHg0NSwgMHg4MywgMHg3MCwKLSAgMHhmOSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDE4MDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MjIsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MDgsIDB4ZjAsIDB4MzAsIDB4MGIsIDB4MDQsCi0gIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZjQsIDB4N2UsIDB4MDEsIDB4MTIsIDB4MTgsIDB4NjAsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsCi0gIDB4ZjcsIDB4ZjAsIDB4MjIsIDB4MTIsIDB4MTMsIDB4NzcsIDB4MTIsIDB4MTcsIDB4ZjksIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MGEsCi0gIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MTgsIDB4NjAsIDB4MTIsIDB4MTgsIDB4OTMsIDB4MTIsIDB4MGEsIDB4Y2UsIDB4MjIsIDB4MDN9fSwKLSB7MHgxODQ2LCA2NCwgeyAweDM1LCAweDgwLCAweDAwLCAweDAwLCAweDAzLCAweDJlLCAweDgxLCAweDAwLCAweDAwLCAweGMxLCAweDg1LCAweGMxLCAweDgxLCAweGMxLCAweDA4LCAweGMxLCAweDAwLAotICAweGMxLCAweDA2LCAweDAxLCAweDIyLCAweDAwLCAweDAxLCAweDI0LCAweDAwLCAweDAwLCAweDhlLCAweDE3LCAweDhmLCAweDE4LCAweGU1LCAweDE4LCAweDE1LAotICAweDE4LCAweGFlLCAweDE3LCAweDcwLCAweDAyLCAweDE1LCAweDE3LCAweDRlLCAweDYwLCAweDA4LCAweDEyLCAweDE3LCAweGU4LCAweDEyLCAweDE3LCAweGU4LAotICAweDgwLCAweGViLCAweDIyLCAweGU1LCAweDE1LCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDE0LCAweGY1LCAweDgzLCAweGUwfX0sCi0gezB4MTg4NiwgNjQsIHsgMHgwNCwgMHhmZiwgMHg0NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlZiwgMHg0NCwgMHgzMCwgMHhmMCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwKLSAgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwZCwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgxOCwgMHg2MCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwKLSAgMHhmMCwgMHgyMiwgMHhlNSwgMHgxMSwgMHgyNCwgMHgwMiwgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwKLSAgMHhlNSwgMHgxMSwgMHgyNCwgMHgwMywgMHg5MCwgMHg3OCwgMHg0MSwgMHhmMCwgMHg5MCwgMHhjMCwgMHgwMCwgMHhlMCwgMHhmZiwgMHgyMiwgMHhlNX19LAotIHsweDE4YzYsIDY0LCB7IDB4MTEsIDB4MjQsIDB4MDQsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4MjQsIDB4MDUsCi0gIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4MTEsIDB4MjQsIDB4MDYsIDB4OTAsIDB4NzgsCi0gIDB4NDEsIDB4ZjAsIDB4OTAsIDB4YzAsIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4OTAsIDB4NzgsIDB4NDEsIDB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4YzAsCi0gIDB4MDAsIDB4ZTAsIDB4ZmYsIDB4MjIsIDB4NTMsIDB4ZDgsIDB4ZWYsIDB4MzIsIDB4MDAsIDB4MTIsIDB4MDEsIDB4MTAsIDB4MDEsIDB4ZmYsIDB4ZmZ9fSwKLSB7MHgxOTA2LCA2NCwgeyAweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDJhLCAweDAxLCAweDAwLCAweDAwLCAweDAxLCAweDAyLCAweDAwLCAweDA0LCAweDA5LCAweDAyLCAweDc0LCAweDAwLCAweDAxLAotICAweDAxLCAweDAwLCAweGEwLCAweDMyLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDBlLCAweGZmLCAweDAwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAxLAotICAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAzLCAweDAyLCAweDQwLAotICAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA0LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA1LCAweDAyLCAweDQwLCAweDAwfX0sCi0gezB4MTk0NiwgNjQsIHsgMHgwMCwgMHgwNywgMHgwNSwgMHgwNiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwNywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwKLSAgMHg4MSwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4MywgMHgwMiwKLSAgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NCwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NSwgMHgwMiwgMHg0MCwgMHgwMCwKLSAgMHgwMSwgMHgwNywgMHgwNSwgMHg4NiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNywgMHgwNSwgMHg4NywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMX19LAotIHsweDE5ODYsIDY0LCB7IDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4NDgsIDB4MDMsIDB4NGIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NzAsIDB4MDAsIDB4NjEsCi0gIDB4MDAsIDB4NmUsIDB4MDAsIDB4MmMsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjEsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NjQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NzYsCi0gIDB4MDAsIDB4NjksIDB4MDAsIDB4NzMsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NjYsCi0gIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NmYsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzksIDB4MDB9fSwKLSB7MHgxOWM2LCA2NCwgeyAweDczLCAweDAwLCAweDIwLCAweDAwLCAweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDYzLCAweDAwLCAweDJlLCAweDAwLCAweDI0LCAweDAzLCAweDRiLCAweDAwLCAweDY1LAotICAweDAwLCAweDc5LCAweDAwLCAweDczLCAweDAwLCAweDcwLCAweDAwLCAweDYxLCAweDAwLCAweDZlLCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLAotICAweDAwLCAweDQxLCAweDAwLCAweDJkLCAweDAwLCAweDM0LCAweDAwLCAweDM5LCAweDAwLCAweDU3LCAweDAwLCAweDRjLCAweDAwLCAweDQzLCAweDAwLCAweDIyLAotICAweDAzLCAweDU1LCAweDAwLCAweDUzLCAweDAwLCAweDQxLCAweDAwLCAweDJkLCAweDAwLCAweDM2LCAweDAwLCAweDM1LCAweDAwLCAweDIwLCAweDAwfX0sCi0gezB4MWEwNiwgNjQsIHsgMHgzMiwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMCwgMHgwMCwgMHgzMywgMHgwMCwgMHg2YSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHgzMywgMHgwMCwgMHgzMSwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH19LAotIHsweDFhNDYsIDY0LCB7IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsCi0gIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDB9fSwKLSB7MHgxYTg2LCA2NCwgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLAotICAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwfX0sCi0gezB4MWFjNiwgNjQsIHsgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwKLSAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgxNywgMHg3OSwgMHgwMCwgMHgwMiwgMHgxYn19LAotIHsweDFiMDYsIDIxLCB7IDB4MDQsIDB4MDAsIDB4MDIsIDB4MTcsIDB4MjcsIDB4MDAsIDB4MDIsIDB4MTcsIDB4YTAsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTAsIDB4MDAsIDB4MDIsIDB4MWIsIDB4MTQsCi0gIDB4MDAsIDB4MDIsIDB4MTUsIDB4Nzh9fSwKLSB7MHhmZmZmLCAgMCwgeyAweDAwfX0sCi19OwotCi0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md18zNDEwLmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfZndfMzQxMC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWU4ODU3Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md18zNDEwLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ODUgKzAsMCBAQAotLyogdmk6IHRzPTggc3c9OAotICoKLSAqIFRJIDM0MTAgVVNCIFNlcmlhbCBEcml2ZXIgRmlybXdhcmUgSGVhZGVyCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDA0IFRleGFzIEluc3RydW1lbnRzCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqLwotCi0jaWZuZGVmIF9USV9GV18zNDEwX0hfCi0jZGVmaW5lIF9USV9GV18zNDEwX0hfCi0KLS8qIGZpcm13YXJlIDkvMTAvMDQgRlczNDEwX1NwZWNpYWxfU3RhcnRXZG9nT25TdGFydFBvcnQgKi8KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgdGlfZndfMzQxMFtdID0gewotMHhDMiwgMHgzNSwJLyogZmlybXdhcmUgaW1hZ2UgbGVuZ3RoIGV4Y2x1ZGluZyBoZWFkZXIsIGxpdHRsZSBlbmRpYW4gKi8KLTB4MDAsIAkJLyogcGxhY2Vob2xkZXIgZm9yIGNoZWNrc3VtICovCi0KLTB4MDIsMHgwMCwweDFlLDB4MDIsMHgxYSwweGRiLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzIsMHhjYiwweGZmLDB4ZmYsCi0weGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHgwMiwweDMzLDB4NzYsMHg3NSwweDgxLAotMHhjZSwweDkwLDB4ZmQsMHhlOCwweDg1LDB4ODMsMHhhMCwweDEyLDB4MzQsMHhlYSwweGVjLDB4NGQsMHg2MCwweDZhLDB4NzgsMHhhYiwKLTB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LDB4OWMsMHhmYSwweDc4LDB4N2YsMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsCi0weDY1LDB4ZmEsMHg3OCwweDIwLDB4ODAsMHgwMywweDc2LDB4MDAsMHgxOCwweGI4LDB4MjAsMHhmYSwweDkwLDB4ZmQsMHhkZCwweGFlLAotMHg4MywweGFmLDB4ODIsMHg5MCwweGZiLDB4ZjgsMHgxMiwweDAwLDB4YTEsMHg2MCwweDA1LDB4ZTQsMHhmMCwweGEzLDB4ODAsMHhmNiwKLTB4OTAsMHhmZCwweGU4LDB4YTgsMHg4MiwweDkwLDB4ZmQsMHhlOCwweGE5LDB4ODIsMHhlOCwweGMzLDB4OTksMHg1MCwweDA1LDB4NzYsCi0weDAwLDB4MDgsMHg4MCwweGY2LDB4OTAsMHgwMCwweGZmLDB4MTIsMHgwMCwweGFhLDB4OTAsMHgwMSwweDAzLDB4MTIsMHgwMCwweGFhLAotMHg5MCwweDAxLDB4MDcsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MGIsMHgxMiwweDAwLDB4YzgsMHg5MCwweDAxLDB4MTEsMHgxMiwKLTB4MDAsMHhjOCwweDkwLDB4MDEsMHgxNywweDEyLDB4MDAsMHhjOCwweDc1LDB4ZDAsMHgwMCwweDEyLDB4MzMsMHhjOCwweDAyLDB4MDEsCi0weDFkLDB4ZWYsMHg2NSwweDgyLDB4NzAsMHgwMywweGVlLDB4NjUsMHg4MywweDIyLDB4ZTQsMHg5MywweGY4LDB4NzQsMHgwMSwweDkzLAotMHhmOSwweDc0LDB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlOCwweDY5LDB4NzAsMHgwMSwKLTB4MjIsMHhlNCwweDkzLDB4ZjYsMHhhMywweDA4LDB4ODAsMHhmNCwweGU0LDB4OTMsMHhmYywweDc0LDB4MDEsMHg5MywweGZkLDB4NzQsCi0weDAyLDB4OTMsMHhmZSwweDc0LDB4MDMsMHg5MywweGZmLDB4NzQsMHgwNCwweDkzLDB4ZjgsMHg3NCwweDA1LDB4OTMsMHhmNSwweDgyLAotMHg4OCwweDgzLDB4MTIsMHgwMCwweGExLDB4NzAsMHgwMSwweDIyLDB4ZTQsMHg5MywweGEzLDB4YTgsMHg4MywweGE5LDB4ODIsMHg4YywKLTB4ODMsMHg4ZCwweDgyLDB4ZjAsMHhhMywweGFjLDB4ODMsMHhhZCwweDgyLDB4ODgsMHg4MywweDg5LDB4ODIsMHg4MCwweGUzLDB4MjEsCi0weDIxLDB4MDQsMHg5MiwweDgwLDB4ODAsMHgwNCwweDkyLDB4YWMsMHhhZSwweDA0LDB4OTIsMHhmZCwweGU4LDB4MDQsMHg5NCwweDA0LAotMHg5NCwweGZiLDB4ZjMsMHgwNCwweDk5LDB4MDQsMHg5NCwweGZiLDB4ZjMsMHgwNCwweGY5LDB4MDQsMHhmOSwweDgwLDB4ZmUsMHhkMCwKLTB4ZjAsMHgzMCwweGYwLDB4MDksMHgyMCwweGYzLDB4MDMsMHhmNiwweDgwLDB4MTAsMHhmNywweDgwLDB4MGQsMHgzMCwweGYxLDB4MDksCi0weDIwLDB4ZjMsMHgwMywweGYyLDB4ODAsMHgwNCwweGYzLDB4ODAsMHgwMSwweGYwLDB4MjAsMHhmNCwweDA0LDB4ZmMsMHhkMCwweGUwLAotMHhjYywweDIyLDB4Y2MsMHhjMCwweGUwLDB4MTIsMHgwMSwweDVhLDB4MDIsMHgwMSwweDRiLDB4YmMsMHgwMCwweDA1LDB4ZDAsMHhmMCwKLTB4YWMsMHhmMCwweDIyLDB4YzMsMHgxMywweGRjLDB4ZmMsMHgwMiwweDAxLDB4MjEsMHhiZiwweDAwLDB4MDksMHhlZCwweDI1LDB4ODIsCi0weDc1LDB4ZjAsMHgwMSwweGY4LDB4ZTYsMHgyMiwweGJmLDB4MDEsMHgwZiwweGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LAotMHg4MywweGY1LDB4ODMsMHg3NSwweGYwLDB4MDQsMHhlMCwweDIyLDB4ZWQsMHgyNSwweDgyLDB4NzUsMHhmMCwweDAyLDB4ZjgsMHhlMiwKLTB4MjIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGY1LDB4ZjAsMHhjMywweGU0LDB4OTMsMHhhMywweGM1LDB4ZjAsMHg5NSwweGYwLDB4YzAsCi0weGUwLDB4YzMsMHhkMCwweGYwLDB4ZTQsMHg5MywweGEzLDB4OTUsMHhmMCwweDQwLDB4MTIsMHhhMywweGEzLDB4YzMsMHhlNSwweGYwLAotMHgzMywweDUwLDB4MDIsMHgwNSwweDgzLDB4MjUsMHg4MiwweGY1LDB4ODIsMHg1MCwweDAyLDB4MDUsMHg4MywweDc0LDB4MDEsMHg5MywKLTB4YzAsMHhlMCwweGU0LDB4OTMsMHhjMCwweGUwLDB4MjIsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGY1LDB4ZjAsMHhlNCwweDkzLDB4NzAsCi0weDA5LDB4NzQsMHgwMSwweDkzLDB4NzAsMHgwNCwweGEzLDB4YTMsMHg4MCwweDBjLDB4NzQsMHgwMiwweDkzLDB4NjUsMHhmMCwweDYwLAotMHgwNSwweGEzLDB4YTMsMHhhMywweDgwLDB4ZTcsMHg3NCwweDAxLDB4OTMsMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwKLTB4MTIsMHgwMiwweDViLDB4MDIsMHgwMSwweGYyLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMSwweGYyLDB4MTIsMHgwMiwweGQzLDB4MDIsCi0weDAxLDB4ZjIsMHgzMCwweGUwLDB4MDcsMHgyMCwweGUzLDB4MDIsMHhlNiwweDIyLDB4ZTcsMHgyMiwweDMwLDB4ZTEsMHgwNywweDIwLAotMHhlMywweDAyLDB4ZTIsMHgyMiwweGUzLDB4MjIsMHgzMCwweGUyLDB4MDIsMHhlMCwweDIyLDB4ZTQsMHg5MywweDIyLDB4MTIsMHgwMiwKLTB4ZDMsMHgwMiwweDAyLDB4MWEsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAyLDB4MWEsMHhhYiwweGYwLDB4MTIsMHgwMiwweDI0LDB4Y2IsCi0weGM1LDB4ZjAsMHhjYiwweDIyLDB4MzAsMHhlMCwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTYsMHhmNSwweGYwLDB4MDgsMHhlNiwweDIyLAotMHhlNywweGY1LDB4ZjAsMHgwOSwweGU3LDB4MTksMHgyMiwweDMwLDB4ZTEsMHgxMCwweDIwLDB4ZTMsMHgwNiwweGUyLDB4ZjUsMHhmMCwKLTB4MDgsMHhlMiwweDIyLDB4ZTMsMHhmNSwweGYwLDB4MDksMHhlMywweDE5LDB4MjIsMHgzMCwweGUyLDB4MDYsMHhlMCwweGY1LDB4ZjAsCi0weGEzLDB4ZTAsMHgyMiwweGU0LDB4OTMsMHhmNSwweGYwLDB4NzQsMHgwMSwweDkzLDB4MjIsMHhiYiwweDAwLDB4MDMsMHg3NCwweDA5LAotMHgyMiwweGJiLDB4MDEsMHgwNywweDg5LDB4ODIsMHg4YSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmIsMHgwMiwweDA3LDB4ODksMHg4MiwKLTB4OGEsMHg4MywweDc0LDB4MTAsMHgyMiwweDc0LDB4MGEsMHgyMiwweDAyLDB4MDIsMHg3YiwweGJiLDB4MDAsMHgwNywweGU5LDB4MjUsCi0weDgyLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiYiwweDAxLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmIsMHgwMiwweDBkLDB4ZTksMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVhLDB4MzUsMHg4MywKLTB4ZjUsMHg4MywweDc0LDB4MTAsMHgyMiwweGU5LDB4MjUsMHg4MiwweGY4LDB4NzQsMHgwMiwweDIyLDB4MDIsMHgwMiwweGFmLDB4YmYsCi0weDAwLDB4MDUsMHhlZCwweGY4LDB4NzQsMHgwMSwweDIyLDB4YmYsMHgwMSwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDA0LAotMHgyMiwweGJmLDB4MDIsMHgwNywweDhkLDB4ODIsMHg4ZSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHhmOCwweDc0LDB4MDIsMHgyMiwKLTB4MDIsMHgwMiwweGQzLDB4YmYsMHgwMCwweDA3LDB4ZWQsMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgwNCwweDIyLDB4YmYsMHgwMiwweDBkLAotMHhlZCwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWUsMHgzNSwweDgzLDB4ZjUsMHg4MywweDc0LDB4MTAsMHgyMiwweGVkLDB4MjUsMHg4MiwKLTB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAzLDB4MDcsMHhjMCwweGUwLDB4MTIsMHgwMiwweDViLDB4MDIsMHgwMywweDFmLDB4YzAsCi0weGUwLDB4MTIsMHgwMiwweGFmLDB4MDIsMHgwMywweDFmLDB4YzAsMHhlMCwweDEyLDB4MDIsMHhkMywweDAyLDB4MDMsMHgxZiwweDMwLAotMHhlMCwweDBiLDB4MjAsMHhlMywweDA0LDB4ZDAsMHhlMCwweGY2LDB4MjIsMHhkMCwweGUwLDB4ZjcsMHgyMiwweDMwLDB4ZTEsMHgwYiwKLTB4MjAsMHhlMywweDA0LDB4ZDAsMHhlMCwweGYyLDB4MjIsMHhkMCwweGUwLDB4ZjMsMHgyMiwweGQwLDB4ZTAsMHhmMCwweDIyLDB4YzksCi0weGNkLDB4YzksMHhjYSwweGNlLDB4Y2EsMHhjYiwweGNmLDB4Y2IsMHgxMiwweDAzLDB4NTIsMHhlZCwweGY5LDB4ZWUsMHhmYSwweGVmLAotMHhmYiwweDIyLDB4YmIsMHgwMCwweDJmLDB4YmYsMHgwMCwweDBhLDB4ZmEsMHhlZCwweGY4LDB4ZTcsMHhmNiwweDA4LDB4MDksMHhkYSwKLTB4ZmEsMHgyMiwweGJmLDB4MDEsMHgxMiwweDhkLDB4ODIsMHg4ZSwweDgzLDB4ZjgsMHgwMiwweDAzLDB4NmYsMHgwOSwweGEzLDB4ZTcsCi0weGYwLDB4ZDgsMHhmYSwweDIyLDB4MDIsMHgwMywweDdhLDB4ZmEsMHhlZCwweGY4LDB4ZTcsMHhmMiwweDA4LDB4MDksMHhkYSwweGZhLAotMHgyMiwweDAyLDB4MDMsMHg4NCwweGJiLDB4MDEsMHg0ZCwweGJmLDB4MDAsMHgxNCwweDg5LDB4ODIsMHg4YSwweDgzLDB4ZjksMHhlZCwKLTB4ZjgsMHgwMiwweDAzLDB4OTYsMHgwOCwweGEzLDB4ZTAsMHhmNiwweGQ5LDB4ZmEsMHgyMiwweDAyLDB4MDMsMHhhNywweGJmLDB4MDEsCi0weDIyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGUwLAotMHhhMywweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhmMCwweGEzLDB4ZGIsMHhlYSwweGQ4LDB4ZTgsMHgyMiwKLTB4MDIsMHgwMywweGNhLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOSwweGVkLDB4ZjgsMHhlMCwweGYyLDB4MDgsMHhhMywweGQ5LDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweGQ0LDB4YmIsMHgwMiwweDRkLDB4YmYsMHgwMCwweDEyLDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHhlNiwweDA4LDB4YTMsMHhlNCwweDkzLDB4ZjYsMHhkOSwweGY5LDB4MjIsMHhiZiwweDAxLDB4MjMsMHg4ZCwKLTB4ODIsMHg4ZSwweDgzLDB4ZmIsMHgwOCwweGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhlNCwweDkzLDB4YTMsCi0weGM5LDB4YzUsMHg4MiwweGM5LDB4Y2EsMHhjNSwweDgzLDB4Y2EsMHhmMCwweGEzLDB4ZGIsMHhlOSwweGQ4LDB4ZTcsMHgyMiwweDAyLAotMHgwNCwweDE5LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLDB4ZjgsMHhlNCwweDkzLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmOSwKLTB4MjIsMHgwMiwweDA0LDB4MmEsMHhiZiwweDAwLDB4MGQsMHhmYSwweGVkLDB4ZjgsMHhlMywweGY2LDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwNCwweDM0LDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDQsMHg0MSwweDA5LAotMHhhMywweGUzLDB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDA0LDB4NGMsMHhmYSwweGVkLDB4ZjgsMHhlMywweGYyLDB4MDgsMHgwOSwKLTB4ZGEsMHhmYSwweDIyLDB4MDIsMHgwNCwweDU2LDB4ZTYsMHhmYiwweDA4LDB4ZTYsMHhmYSwweDA4LDB4ZTYsMHhmOSwweDA0LDB4ZjYsCi0weDE4LDB4NzAsMHgwMSwweDA2LDB4MjIsMHhlNiwweGZmLDB4MDgsMHhlNiwweGZlLDB4MDgsMHhlNiwweGZkLDB4MjIsMHhlZiwweGYwLAotMHhhMywweGVlLDB4ZjAsMHhhMywweGVkLDB4ZjAsMHgyMiwweGViLDB4ZjAsMHhhMywweGVhLDB4ZjAsMHhhMywweGU5LDB4ZjAsMHgyMiwKLTB4ZTAsMHhmZiwweGEzLDB4ZTAsMHhmZSwweGEzLDB4ZTAsMHhmZCwweDIyLDB4ZTAsMHhmYiwweGEzLDB4ZTAsMHhmYSwweGEzLDB4ZTAsCi0weGY5LDB4MjIsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDA0LDB4ZjksMHgwMCwweDYxLDB4MDUsMHg2OCwweDAwLAotMHgyNiwweDA1LDB4OGYsMHgwMCwweDMzLDB4MGEsMHgwMCwweDAwLDB4NjEsMHgwYSwweDZjLDB4MDAsMHg2NiwweDE1LDB4MWQsMHgwMCwKLTB4NjEsMHgwYywweGYwLDB4MDAsMHg2MSwweDA5LDB4YTAsMHgwMCwweDYxLDB4MDksMHhkNywweDAwLDB4NjEsMHgwZCwweGI3LDB4MDAsCi0weDYxLDB4MGIsMHhlOCwweDAwLDB4NjEsMHgwYSwweDEzLDB4MDAsMHg2MSwweDBhLDB4NDgsMHgwMCwweDYxLDB4MTcsMHgxNSwweDAwLAotMHgzMywweDE3LDB4MjgsMHgwMCwweDM0LDB4MWQsMHhmNiwweDAwLDB4NDMsMHgxZSwweGExLDB4MDAsMHg0NCwweDIwLDB4MGUsMHgwMCwKLTB4NDQsMHgxZiwweGZjLDB4MDAsMHg0NywweDFlLDB4YzgsMHgwMCwweDQ3LDB4MWYsMHg2ZCwweDAwLDB4NGQsMHgxZiwweGJlLDB4MDAsCi0weDRmLDB4MWUsMHhlYSwweDAwLDB4NTgsMHgzMiwweDU2LDB4MDAsMHg2MSwweDdjLDB4Y2MsMHg3ZCwweGZmLDB4MTIsMHgxYywweGE3LAotMHgyMiwweDkwLDB4ZmYsMHhmYywweGUwLDB4MjAsMHhlNywweDJkLDB4YzIsMHhhZiwweGFlLDB4NTksMHhhZiwweDU4LDB4NzUsMHg1YSwKLTB4MjAsMHhlNSwweDVhLDB4MTQsMHhjNSwweDVhLDB4NjAsMHgxOSwweGU0LDB4ZmUsMHg3ZiwweDA1LDB4ZWUsMHg0ZiwweGNlLDB4MjQsCi0weGZmLDB4Y2UsMHhjZiwweDM0LDB4ZmYsMHhjZiwweDYwLDB4MDcsMHhlNCwweDkwLDB4ZmYsMHg5MiwweGYwLDB4ODAsMHhlZCwweDgwLAotMHhlMCwweDhlLDB4NTksMHg4ZiwweDU4LDB4MjIsMHgxMiwweDA1LDB4MDEsMHg3ZCwweDA3LDB4N2MsMHhiNywweDEyLDB4MzIsMHg3MiwKLTB4N2QsMHgwZiwweDdjLDB4NmUsMHgxMiwweDMyLDB4OGMsMHg3OCwweDlkLDB4N2EsMHgwNiwweGU0LDB4ZjYsMHgwOCwweGRhLDB4ZmMsCi0weDdhLDB4MDYsMHgxMiwweDA1LDB4YzQsMHg3YywweDAzLDB4MTIsMHgwZSwweDRjLDB4MTIsMHgyMSwweDRhLDB4ZTQsMHhmZSwweGZmLAotMHg3YywweDBmLDB4MTIsMHgzMSwweGZiLDB4ZDIsMHhhOCwweDIyLDB4MTIsMHgzMCwweGU2LDB4ZTQsMHg5MCwweGZjLDB4MzgsMHhmMCwKLTB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU0LDB4MDgsMHg3NCwweDAxLDB4OTAsMHhmYywweDM5LDB4ZjAsMHg4MCwweDA1LDB4ZTQsCi0weDkwLDB4ZmMsMHgzOSwweGYwLDB4N2QsMHgwYSwweDdjLDB4MDAsMHgxMiwweDI1LDB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLAotMHgzMCwweGU2LDB4OTAsMHhmYywweDM5LDB4ZTAsMHgxNCwweDcwLDB4MGUsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MTAsMHhmMCwKLTB4N2MsMHgwMCwweDEyLDB4MjUsMHhiZiwweDgwLDB4MTksMHg5MCwweGZjLDB4MzksMHhlMCwweDcwLDB4MGUsMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NTQsMHhlZiwweGYwLDB4N2MsMHgwMCwweDEyLDB4MjUsMHhiZiwweDgwLDB4MDUsMHg3YywweDE3LDB4MTIsMHgyNSwweGJmLAotMHgxMiwweDMxLDB4NjksMHgyMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhhYiwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwKLTB4MjAsMHhmMCwweDIyLDB4OGMsMHgzNywweDhkLDB4MzYsMHg3OCwweDgyLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGVkLDB4ZmUsCi0weGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg4MCwweGY2LDB4NzgsMHg4MiwweGU2LAotMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywKLTB4NTQsMHgwZiwweGZjLDB4N2QsMHg4MCwweDEyLDB4MTcsMHg0NiwweDc4LDB4ODAsMHhlNiwweDcwLDB4MGQsMHhhZCwweDNhLDB4YWUsCi0weDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgwOCwweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZlLAotMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZCwweGYwLDB4ODAsMHgxZSwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwKLTB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHgyNSwweGUwLDB4NDQsCi0weDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHgwMiwweDA2LDB4ZDAsMHg3OCwweDgyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLAotMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMiwweDBlLDB4NTQsMHhmZSwweDkwLDB4ZmYsMHhmMywKLTB4ZjAsMHg4MCwweDJiLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsCi0weDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZWIsMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhiZiwweDQwLAotMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MiwKLTB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsCi0weDBlLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDBkLDB4YWQsMHgzYSwweGFlLDB4MzksMHhhZiwweDM4LAotMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwKLTB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg0NCwweDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsCi0weDc4LDB4ODMsMHhlNiwweDI0LDB4MDMsMHhmNiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjYsMHg3OCwweDgwLDB4ZTYsMHgyNCwweGZlLAotMHg1MCwweDA5LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDA3LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwKLTB4MDIsMHhmMCwweGU0LDB4OTAsMHhmZiwweGYxLDB4ZjAsMHg3OCwweDgxLDB4NzYsMHgwMCwweDc4LDB4ODAsMHhlNiwweDI0LDB4ZmYsCi0weGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHg3OCwweDgxLDB4ZTYsMHg3ZiwweDAwLDB4ZmUsMHhlYywweGQzLDB4OWUsMHhlZiwweDY0LAotMHg4MCwweGNkLDB4NjQsMHg4MCwweDlkLDB4NDAsMHgyZiwweDEyLDB4MDgsMHhhNCwweDQwLDB4MGYsMHg3OCwweDgxLDB4ZTYsMHhhZCwKLTB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsCi0weDc4LDB4ODIsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZWMsMHhmMCwweDc4LDB4ODEsMHgwNiwweGEzLDB4NzgsMHg4MiwweGE2LAotMHg4MywweDA4LDB4YTYsMHg4MiwweDgwLDB4YjUsMHgxMiwweDA4LDB4YTQsMHg0MCwweDBmLDB4NzgsMHg4MSwweGU2LDB4YWQsMHgzYSwKLTB4YWUsMHgzOSwweGFmLDB4MzgsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg5MCwweGZmLDB4ZjIsMHhlMCwweGZjLDB4NzgsCi0weDgyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjAsMHg3OCwweDgwLDB4ZTYsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLAotMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDAsMHgyMiwweDhjLDB4MzcsMHg4ZCwweDM2LDB4NzgsMHg4MiwweGVkLDB4ZjYsMHgwOCwKLTB4ZWMsMHhmNiwweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDc4LDB4ODEsCi0weGY2LDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLAotMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LDB4MGYsMHhmYywweDdkLDB4ODEsMHgxMiwweDE3LDB4NDYsMHg3OCwweDgxLDB4ZTYsMHg3MCwKLTB4MDMsMHg3YywweDA4LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsCi0weGZkLDB4ZjAsMHg4MCwweDFiLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLAotMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDI1LDB4ZTAsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDgwLDB4NWIsMHg3OCwKLTB4ODIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA2LDB4MTIsCi0weDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDIxLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHgwOCwweGU2LAotMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZWIsMHg5MCwKLTB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4ODIsMHhlNiwweGZkLDB4MDgsCi0weGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDgsMHgxMiwweDAyLDB4MGUsMHg5MCwweGZmLAotMHhmMSwweGYwLDB4MTIsMHgwOCwweGJmLDB4NDAsMHgwMywweDdjLDB4MTgsMHgyMiwweDc4LDB4ODMsMHhlNiwweDI0LDB4MGEsMHhmNiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwweDc4LDB4ODAsMHg3NiwweDAwLDB4NzgsMHg4MSwweGU2LDB4MjQsMHhmZiwweGZjLDB4ZTQsCi0weDM0LDB4ZmYsMHhmZCwweDc4LDB4ODAsMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsMHg4MCwweGNkLAotMHg2NCwweDgwLDB4OWQsMHg0MCwweDIxLDB4NzgsMHg4MiwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDkwLDB4ZmYsMHhmMSwKLTB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg4MCwweDA2LDB4NzgsMHg4MywweDA2LDB4ZTYsCi0weDE4LDB4NzAsMHgwMSwweDA2LDB4ODAsMHhjMywweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgwMSwweGYwLDB4NzgsMHg4MiwweDg2LAotMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4YmYsMHg0MCwweDAzLDB4N2MsMHgxOCwKLTB4MjIsMHg3YywweDAwLDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDIwLDB4ZTcsMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsCi0weGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMCwweGMzLDB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHgyMCwweGUzLDB4MTIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDMwLDB4ZTUsMHgwOSwweDkwLDB4ZmYsMHhmMCwKLTB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywweDIyLDB4ODAsMHhlNywweGQzLDB4MjIsMHg4YywweDQyLDB4OGQsMHg0MSwweDdjLDB4MDAsCi0weGVkLDB4NTQsMHhmMCwweGZkLDB4ZWMsMHg3MCwweDAzLDB4ZWQsMHg2NCwweDMwLDB4NzAsMHgwNSwweDc1LDB4M2UsMHgwMywweDgwLAotMHgwMywweDc1LDB4M2UsMHgwNCwweGFjLDB4M2UsMHgxMiwweDBmLDB4NjksMHg3NSwweDgzLDB4MDAsMHg4NSwweDgzLDB4NDAsMHhlNSwKLTB4NDEsMHg1NCwweDBmLDB4ZjUsMHgzZiwweGU1LDB4NDAsMHg3MCwweDA0LDB4ZTUsMHgzZiwweDY0LDB4MDMsMHg3MCwweDM1LDB4ZTUsCi0weDNlLDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LDB4MjQsMHgwMiwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLAotMHhlMCwweDMwLDB4ZTYsMHgwNSwweDEyLDB4MTAsMHg0YiwweDgwLDB4MTksMHhlNSwweDNlLDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg1NCwKLTB4ZmIsMHhmNiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4NzQsCi0weDBmLDB4ZjAsMHg4MCwweDU5LDB4ZTUsMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwNCwweDcwLDB4NDgsMHhlNSwweDNlLAotMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDAyLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwKLTB4MzAsMHhlNSwweDA3LDB4YWMsMHg0MiwweGFkLDB4NDEsMHgxMiwweDFjLDB4M2MsMHhlNSwweDQyLDB4MzAsMHhlMiwweDE1LDB4NzgsCi0weGFkLDB4ZTYsMHgzMCwweGUwLDB4MGYsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUxLDB4MDksMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLAotMHgwNCwweDEyLDB4MzEsMHhmYiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHg3NCwweDBmLDB4ZjAsMHg4MCwweDA3LDB4ZTQsMHhmYywweDdkLDB4ZWUsMHgxMiwweDFjLDB4M2MsMHhjMiwweDAzLDB4MjIsCi0weDEyLDB4MzAsMHhlNiwweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDYsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHgzOCwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHhmYywweDM5LDB4ZjAsMHhjMiwweDAzLDB4N2QsMHgwMiwweDdjLDB4MDAsCi0weDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywweDI0LAotMHg5ZCwweGY4LDB4ZTYsMHgzMCwweGUxLDB4MDcsMHg3YywweDEzLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwZiwweDkwLDB4ZmMsMHgzOSwKLTB4ZTAsMHhmZCwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxMywweGM4LDB4MTIsMHgyNSwweGJmLDB4MTIsMHgzMSwweDY5LDB4MjIsCi0weDEyLDB4MzAsMHhlNiwweDc4LDB4OTUsMHhlYywweGY2LDB4N2QsMHgwMCwweDEyLDB4MGYsMHgwOSwweDEyLDB4MjUsMHhiZiwweDEyLAotMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgzMCwKLTB4ZTIsMHgwNywweDdjLDB4MTMsMHgxMiwweDI1LDB4YmYsMHg4MCwweDFiLDB4NzgsMHg5NSwweGU2LDB4MjQsMHg5ZCwweGY4LDB4ZTYsCi0weDIwLDB4ZTEsMHgwNywweDdjLDB4MTIsMHgxMiwweDI1LDB4YmYsMHg4MCwweDBhLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDEzLAotMHhlYywweDEyLDB4MjUsMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywKLTB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgyMCwweGUyLDB4MDcsMHg3YywweDExLDB4MTIsMHgyNSwweGJmLDB4ODAsMHgwYSwweDc4LDB4OTUsCi0weGU2LDB4ZmMsMHgxMiwweDE0LDB4ZWQsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDc4LAotMHg5NSwweGVjLDB4ZjYsMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweGZjLDB4M2YsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGEsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLDB4ZmMsMHg0MCwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDYyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHg2MywweDhjLDB4NjEsMHhlNCwweGVjLDB4MzMsMHgzMywweDU0LAotMHgwMSwweDc4LDB4OTUsMHhmNiwweDYwLDB4MDgsMHhlNSwweDYyLDB4MzAsMHhlMSwweDAzLDB4NzgsMHg5NSwweDA2LDB4NzgsMHg5NSwKLTB4ZTYsMHg5MCwweGZjLDB4NDEsMHhmMCwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweGZkLDB4YTMsMHhlMCwweDU0LDB4MGMsMHhmYywweGVkLDB4NTQsMHhlNiwweDhjLDB4NjUsMHhmNSwweDY0LAotMHhlNSwweDYxLDB4MzAsMHhlNSwweDAzLDB4NDMsMHg2NSwweDAxLDB4ZTUsMHg2MiwweDIwLDB4ZTUsMHgwZSwweGU1LDB4NjEsMHg1NCwKLTB4N2YsMHg3MCwweDA4LDB4ZTUsMHg2MSwweDIwLDB4ZTcsMHgwMywweDQzLDB4NjUsMHgwMiwweGU1LDB4NjEsMHgzMCwweGUzLDB4MDMsCi0weDQzLDB4NjUsMHgxMCwweGU1LDB4NjEsMHgzMCwweGUyLDB4MDMsMHg0MywweDY1LDB4MjAsMHhlNSwweDYxLDB4NTQsMHgwMywweDYwLAotMHgwMywweDQzLDB4NjUsMHg0MCwweGU1LDB4NjEsMHgzMCwweGUxLDB4MDMsMHg0MywweDY1LDB4ODAsMHhlNSwweDYxLDB4MzAsMHhlNCwKLTB4MDMsMHg0MywweDY0LDB4MDEsMHhlNSwweDYxLDB4MzAsMHhlNiwweDAzLDB4NDMsMHg2NCwweDA4LDB4ZTUsMHg2MiwweDIwLDB4ZTQsCi0weDBlLDB4ZTUsMHg2MSwweDU0LDB4N2YsMHg3MCwweDA4LDB4ZTUsMHg2MSwweDIwLDB4ZTcsMHgwMywweDQzLDB4NjQsMHgxMCwweDUzLAotMHg2NSwweGZiLDB4NTMsMHg2NCwweDc5LDB4YWQsMHg2NCwweGU1LDB4NjUsMHg5MCwweGZjLDB4M2EsMHhjZCwweGYwLDB4YTMsMHhjZCwKLTB4ZjAsMHhlNSwweDYzLDB4MzAsMHhlMywweDBkLDB4ZTUsMHg2MywweDU0LDB4MzAsMHhjNCwweDU0LDB4MGYsMHg5MCwweGZjLDB4M2QsCi0weGYwLDB4ODAsMHgwNSwweGU0LDB4OTAsMHhmYywweDNkLDB4ZjAsMHhlNSwweDYzLDB4NTQsMHgwMywweDkwLDB4ZmMsMHgzYywweGYwLAotMHhlNSwweDYzLDB4NTQsMHgwNCwweGMzLDB4MTMsMHg5MCwweGZjLDB4M2UsMHhmMCwweDkwLDB4ZmMsMHgzYywweGUwLDB4NzAsMHgwZSwKLTB4N2QsMHgzNSwweDdlLDB4ZmMsMHg3ZiwweDAxLDB4NzQsMHgwMSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHg0MiwweDc4LDB4YTksCi0weGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDdjLDB4MDAsMHhmZCwweDc4LAotMHhhOSwweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDdmLDB4MDAsMHg0YywKLTB4ZmUsMHhlZiwweDRkLDB4OTAsMHhmYywweDM4LDB4ZjAsMHhhMywweGNlLDB4ZjAsMHhjZSwweGMyLDB4MDMsMHg3ZCwweDBhLDB4N2MsCi0weDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweDc4LAotMHg5YSwweDc2LDB4MDEsMHgwOCwweDc2LDB4ZmMsMHgwOCwweDc2LDB4MzgsMHg3OCwweDk3LDB4NzYsMHgwYywweDc4LDB4OWEsMHgxMiwKLTB4MDQsMHg2NSwweDEyLDB4MDIsMHgxNCwweDc4LDB4OTgsMHhjYiwweGY2LDB4Y2IsMHgwOCwweGY2LDB4N2YsMHgwMCwweGVmLDB4MjQsCi0weGVhLDB4NDAsMHgxZiwweGU0LDB4ZWYsMHgyNSwweGUwLDB4OTAsMHgzNSwweDJjLDB4ZmQsMHg5MywweGNkLDB4MDQsMHg5MywweDc4LAotMHg5OSwweDY2LDB4NzAsMHgwMywweGVkLDB4MTgsMHg2NiwweDcwLDB4MDYsMHg3OCwweDk3LDB4NzYsMHgwMCwweDgwLDB4MDMsMHgwZiwKLTB4ODAsMHhkYywweDc4LDB4OTYsMHhlZiwweGY2LDB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDIsCi0weDBlLDB4NzgsMHg5OCwweGNiLDB4ZjYsMHhjYiwweDA4LDB4ZjYsMHg1NCwweDA0LDB4Y2IsMHg1NCwweDg2LDB4NGIsMHg2MCwweDA0LAotMHg3OCwweDk3LDB4NzYsMHgwYiwweDc4LDB4OTksMHhlNiwweDMwLDB4ZTMsMHgxMywweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg5MCwKLTB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmIsMHg1MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGQsMHg3OCwweDk5LDB4ZTYsCi0weDU0LDB4YzAsMHg3ZCwweDAwLDB4NjQsMHhjMCwweDRkLDB4NzAsMHgwNCwweDc4LDB4OTcsMHg3NiwweDBiLDB4NzgsMHg5YSwweDEyLAotMHgwNCwweDY1LDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmYywweDUwLDB4MDQsMHg3OCwweDk3LDB4NzYsMHgwZiwKLTB4NzgsMHg5YSwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsMHg1MCwweDA0LDB4NzgsCi0weDk3LDB4NzYsMHgwZSwweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg5MCwweDAwLDB4MDksMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZkLAotMHg1MCwweDA0LDB4NzgsMHg5NywweDc2LDB4MGEsMHg3OCwweDk3LDB4ZTYsMHg3MCwweDJhLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwKLTB4MGYsMHg2OSwweDc4LDB4OWEsMHgxMiwweDA0LDB4NjUsMHg3OCwweGE3LDB4ZTYsMHhmOSwweDc4LDB4YTYsMHhlNiwweGZhLDB4N2IsCi0weDAxLDB4NzQsMHgwYSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHhjMiwweDAzLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDExLAotMHgwNywweDc4LDB4OTcsMHhlYywweGY2LDB4NzgsMHg5NywweGU2LDB4ZmMsMHgxMiwweDI1LDB4YmYsMHgxMiwweDMxLDB4NjksMHgyMiwKLTB4MTIsMHgzMCwweGU2LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHgxMiwweDBmLDB4NjksMHg3OCwweDk1LDB4ZTYsMHgyNCwweGZkLDB4NzUsCi0weGYwLDB4MGEsMHhhNCwweDI0LDB4MTQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGFjLDB4ODIsMHhhZCwweDgzLAotMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwKLTB4MDMsMHhhNywweGMyLDB4MDMsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTEsMHgwNywweDEyLDB4MzEsMHg2OSwweDIyLDB4OGQsCi0weDJiLDB4OGMsMHgyYSwweGVkLDB4NjAsMHg0MCwweDc1LDB4MjcsMHgwMSwweDc1LDB4MjksMHg0OCwweDc1LDB4MjgsMHhmZiwweGU1LAotMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LDB4MzQsMHhmZiwweGZkLDB4ZWMsMHg3YywweDAzLDB4MjUsMHhlMCwweGNkLDB4MzMsMHhjZCwKLTB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwweDJjLDB4ZjUsMHgyOSwweGU1LDB4MjgsMHgzZCwweGY1LDB4MjgsMHhhZCwweDI5LDB4YWUsCi0weDI4LDB4YWYsMHgyNywweDc0LDB4ODAsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHg3NCwweDgwLDB4OTAsMHgwMCwweDAyLAotMHgxMiwweDAzLDB4MTcsMHgxMiwweDBmLDB4YjcsMHhlNSwweDJiLDB4MTQsMHg2MCwweDNiLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwKLTB4MDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwweDJhLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsCi0weDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDI5LDB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLAotMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLDB4MjgsMHhhZiwweDI3LDB4ZTQsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHhlNCwKLTB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3OCwweDk1LDB4ZWMsMHhmNiwweGVjLDB4MjQsCi0weDlkLDB4ZjgsMHhlNiwweDMwLDB4ZTIsMHgwOSwweDc4LDB4OTUsMHhlNiwweGZjLDB4MTIsMHgxNCwweGVkLDB4ZDIsMHgwMCwweDc4LAotMHg5NSwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweDk2LDB4NzYsMHgwMCwweDkwLDB4ZmMsMHgzOSwweGUwLDB4MzAsMHhlNywKLTB4MDQsMHg3OCwweDk2LDB4NzYsMHgwMSwweDc4LDB4OTYsMHhlNiwweGZkLDB4NzgsMHg5NSwweGU2LDB4ZmMsMHgxMiwweDBkLDB4MmYsCi0weGMyLDB4MDMsMHgzMCwweDAwLDB4MDcsMHg3OCwweDk1LDB4ZTYsMHhmYywweDEyLDB4MTMsMHhlYywweDdjLDB4MDAsMHgxMiwweDI1LAotMHhiZiwweDEyLDB4MzEsMHg2OSwweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMSwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlMCwweDAyLDB4ODAsMHhlZCwweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZjgsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4YzIsMHgwMywweDhjLDB4NTgsCi0weDEyLDB4MGYsMHg2OSwweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHg1ZCwweDdhLDB4MzUsMHg3YiwweDBhLAotMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4MTIsMHgwZSwweDA1LDB4YWMsMHg1OCwweDdkLDB4MDIsMHgxMiwweDBkLDB4MmYsMHhjMiwKLTB4MDMsMHhhYywweDU4LDB4MTIsMHgxMSwweDA3LDB4MjIsMHg4ZCwweDUzLDB4OGUsMHg1MiwweDhmLDB4NTEsMHg4YywweDUwLDB4MTIsCi0weDBmLDB4NjksMHg3NSwweDRmLDB4MDAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LDB4MWYsMHhlNSwweDRmLDB4MjQsMHhmNiwweDQwLDB4MTksMHgwNSwweDRmLDB4YzIsMHgwMywKLTB4N2MsMHgxOCwweDEyLDB4MzIsMHhhOSwweDkwLDB4ZmYsMHg5MywweGUwLDB4NDQsMHgwMSwweGYwLDB4YjIsMHhiMywweGFjLDB4NTAsCi0weDEyLDB4MGYsMHg2OSwweDgwLDB4ZDAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LDB4MDUsMHhjMiwweDAzLDB4N2MsMHgwMiwweDIyLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwZiwweDYwLDB4MTYsMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZjAsMHhjMiwweDAzLAotMHg3YywweDAxLDB4MjIsMHg3OCwweGE4LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4YWQsMHg1MywweGFlLDB4NTIsMHhhZiwKLTB4NTEsMHgxMiwweDAzLDB4MGYsMHhjMiwweDAzLDB4N2MsMHgwMCwweDIyLDB4OGQsMHgzMSwweDhjLDB4MzAsMHgxMiwweDE0LDB4ZWQsCi0weGU1LDB4MzEsMHg2MCwweDBmLDB4ZTUsMHgzMCwweGI0LDB4MDMsMHgwYSwweDdjLDB4MDEsMHgxMiwweDI0LDB4ZWUsMHg3YywweDgxLAotMHgxMiwweDI0LDB4ZWUsMHhhYywweDMwLDB4MTIsMHgwZiwweDY5LDB4ZTUsMHgzMSwweDYwLDB4MWEsMHg3OCwweGFhLDB4ODYsMHg4MywKLTB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwweGU3LDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsMHhlNywweGYwLDB4YWMsCi0weDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgyZiwweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4NzksMHg2NywweDdhLAotMHgzNSwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4YzIsMHgwMywweGU1LDB4MzAsMHgyNCwweDlkLDB4ZjgsMHhjNiwKLTB4NTQsMHhmZCwweGY2LDB4YWMsMHgzMCwweDEyLDB4MTEsMHgwNywweDIyLDB4OGMsMHgyNiwweDMwLDB4MDMsMHgwNSwweDEyLDB4MzIsCi0weDQ4LDB4ODAsMHhmOCwweDdjLDB4MGEsMHgxMiwweDMxLDB4NWIsMHhkMiwweDAzLDB4ZTUsMHgyNiwweDI0LDB4ZmQsMHg3OCwweGEzLAotMHhmNiwweDcwLDB4MDcsMHg3OCwweGFhLDB4NzYsMHhmZiwweDA4LDB4NzYsMHhlMCwweDc4LDB4YTMsMHhlNiwweDc1LDB4ZjAsMHgxMCwKLTB4YTQsMHhhZCwweGYwLDB4ZmMsMHgyNCwweGEwLDB4NzgsMHhhOSwweGY2LDB4ZWQsMHgzNCwweGZmLDB4MTgsMHhmNiwweDc4LDB4YTMsCi0weGU2LDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDAwLDB4ZmMsMHhlNCwweDM0LDB4ZmMsMHhmZCwweDc4LDB4YTYsMHhlZCwweGY2LAotMHgwOCwweGVjLDB4ZjYsMHgxMiwweDMxLDB4ZjQsMHgyMiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTcsMHgyMiwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDc4LDB4YTksMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDIyLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGUwLDB4NTQsMHg3ZiwweGYwLDB4YWQsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmMsMHhlNCwweDNkLDB4OGMsCi0weDgyLDB4ZjUsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwKLTB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMywweGYwLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDIyLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwKLTB4ODYsMHg4MiwweGUwLDB4NTQsMHgzZiwweGYwLDB4YWQsMHg4MywweGU1LDB4ODIsMHgyNCwweDA0LDB4ZmMsMHhlNCwweDNkLDB4OGMsCi0weDgyLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgzZiwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHhhNCwweGY4LDB4ZTYsMHhmYywweDc4LAotMHhhYiwweGU2LDB4MjQsMHgwMSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhMywKLTB4ZTYsMHgyNCwweGE0LDB4ZjgsMHhlNiwweGZjLDB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg1NCwweGZiLDB4NDQsMHgwMiwweGY1LDB4MjYsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU1LDB4MDMsMHg0MywweDI2LDB4MDEsMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLDB4MDMsMHgxMiwweDBmLAotMHhiNywweGU1LDB4MjYsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlYywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weDc0LDB4MGYsMHhmMCwweDc4LDB4YWEsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHhhMywweGEzLAotMHhhMywweGEzLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgyMiwweDhjLDB4MmEsMHgxMiwweDBmLDB4NjksMHg3OCwweGE3LDB4ZTYsMHgyNCwKLTB4MDgsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTksMHhlNiwweDI0LDB4MGEsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA5LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4YTYsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsCi0weGZkLDB4YTMsMHhlMCwweGZjLDB4ZWQsMHhmZSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LAotMHgwMCwweGY1LDB4ODMsMHhlZSwweGYwLDB4ZWMsMHhmZSwweDc4LDB4YTksMHhlNiwweDI0LDB4MDcsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlZSwweGYwLDB4OGMsMHgyOSwweDhkLDB4MjgsMHhjMywweGVjLDB4OTQsMHgwNSwweGVkLDB4OTQsCi0weDBjLDB4NDAsMHgwNSwweDc1LDB4MjcsMHg3YywweDgwLDB4MzMsMHhkMywweGU1LDB4MjksMHg5NCwweDAxLDB4ZTUsMHgyOCwweDk0LAotMHgwMywweDQwLDB4MDUsMHg3NSwweDI3LDB4M2MsMHg4MCwweDIzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHg4MSwweGU1LDB4MjgsMHg5NCwKLTB4MDEsMHg0MCwweDA1LDB4NzUsMHgyNywweDE4LDB4ODAsMHgxMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4NjAsMHhlNSwweDI4LDB4OTQsCi0weDAwLDB4NDAsMHgwNSwweDc1LDB4MjcsMHgwYywweDgwLDB4MDMsMHg3NSwweDI3LDB4MDgsMHhhZiwweDI3LDB4ZTQsMHhlZiwweDU0LAotMHg3YywweDQ0LDB4ODMsMHhmZiwweDhmLDB4MjcsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MjcsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDUsCi0weGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhMywweGU2LAotMHgyNCwweGE0LDB4ZjgsMHhlYywweGY2LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4ZjUsMHgyNywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlMywweDE3LDB4NTMsMHgyNywweGM3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4OTAsMHgzNSwweDU4LDB4OTMsMHg0MiwweDI3LDB4NTMsMHgyNywKLTB4ZmIsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NjAsCi0weDAzLDB4NDMsMHgyNywweDA0LDB4NTMsMHgyNywweGZjLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDIsMHgyNywweDQzLDB4MjcsMHg4MCwweGU1LDB4MjcsMHhmYywweDc4LDB4YTksMHhlNiwKLTB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhOSwweGU2LDB4MjQsCi0weDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsMHgyNywweDc4LDB4YTcsMHhlNiwweDI0LAotMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlMSwweDA1LDB4NTMsMHgyNywKLTB4ZGYsMHg4MCwweDAzLDB4NDMsMHgyNywweDIwLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDA1LDB4NTMsMHgyNywweGVmLDB4ODAsMHgwMywweDQzLDB4MjcsMHgxMCwweDc4LAotMHhhNywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGI0LDB4MDIsMHgwMywKLTB4NDMsMHgyNywweDAyLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhNywweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NzAsMHgwNSwweDUzLDB4MjcsMHg3ZiwweDgwLDB4MDMsMHg0MywweDI3LDB4ODAsMHg3OCwweGE3LDB4ZTYsCi0weDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTAsMHgwNSwweDQzLAotMHgyNywweDIwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhkZiwweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTMsMHgwNSwweDQzLDB4MjcsMHg0MCwweDgwLDB4MDMsMHg1MywweDI3LDB4YmYsCi0weDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGUwLAotMHgwNSwweDQzLDB4MjcsMHgxMCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZWYsMHg3OCwweGE3LDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTQsMHgwNSwweDQzLDB4MjcsMHgwOCwweDgwLDB4MDMsCi0weDUzLDB4MjcsMHhmNywweDc4LDB4YTcsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLAotMHhhMywweGUwLDB4MzAsMHhlNSwweDA1LDB4NDMsMHgyNywweDA0LDB4ODAsMHgwMywweDUzLDB4MjcsMHhmYiwweDc4LDB4YTcsMHhlNiwKLTB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNiwweDA1LDB4NDMsCi0weDI3LDB4MDEsMHg4MCwweDAzLDB4NTMsMHgyNywweGZlLDB4NzgsMHhhNywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU3LDB4MDUsMHg0MywweDI3LDB4MDIsMHg4MCwweDAzLDB4NTMsMHgyNywKLTB4ZmQsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZWMsMHhmMCwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDI3LDB4OGMsMHgyNiwweGVkLDB4NTQsMHgwMywweDE0LAotMHg2MCwweDAzLDB4N2MsMHgxMCwweDIyLDB4ZTUsMHgyNywweDU0LDB4N2MsMHgyNCwweGZjLDB4NDAsMHgwMywweDdjLDB4MGIsMHgyMiwKLTB4ZTUsMHgyNiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NDQsMHgwMiwweGY2LDB4N2MsMHgwMCwweDIyLDB4OGMsMHgzMCwweDEyLDB4MGYsCi0weDY5LDB4ZTUsMHgzMCwweDI0LDB4OWQsMHhmOCwweGU2LDB4MjAsMHhlMiwweDRmLDB4YWMsMHgzMCwweDdkLDB4MDIsMHgxMiwweDBkLAotMHgyZiwweGU1LDB4MzAsMHgyNCwweGZlLDB4NDQsMHgyOCwweGZjLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlYywKLTB4ZjAsMHhhZiwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmZSwweGU0LDB4M2YsMHhmZiwweGVjLDB4OGUsMHg4MiwweDhmLDB4ODMsCi0weGYwLDB4N2MsMHgwMywweDhjLDB4MmMsMHhlNSwweDJjLDB4ZmMsMHg3OCwweGFiLDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MmMsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDUsMHhmNSwKLTB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzUsMHgyZCwweDAxLDB4NzUsMHgyZiwweDQ4LDB4NzUsCi0weDJlLDB4ZmYsMHhlNSwweDMwLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLAotMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDJmLDB4MmMsMHhmNSwweDJmLDB4ZTUsMHgyZSwweDNkLDB4ZjUsMHgyZSwKLTB4NzgsMHhhYiwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZTcsCi0weGY1LDB4MmMsMHhhZCwweDJmLDB4YWUsMHgyZSwweGFmLDB4MmQsMHhlNCwweDkwLDB4MDAsMHgwMiwweDEyLDB4MDMsMHgxNywweGU0LAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHgxMiwweDAxLDB4ZTYsMHgzMCwweGU1LDB4MDMsMHg0MywweDJjLDB4MTAsMHhlNSwKLTB4MmMsMHhmYywweDc4LDB4YWIsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsCi0weGYwLDB4MTIsMHgxMCwweDRiLDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4YzIsMHgwMywweGZjLDB4ZTUsMHgzMCwweDI0LDB4OWQsMHhmOCwweGM2LDB4NDQsMHgwNCwweGY2LDB4OGMsMHgyYywKLTB4ZTUsMHgzMCwweDU0LDB4MGYsMHhjNCwweDU0LDB4ZjAsMHg3ZSwweDAwLDB4ZmYsMHhlZSwweGVmLDB4NDQsMHgwNCwweDdkLDB4MDAsCi0weGZmLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4MTIsMHgxYywweGE3LDB4N2MsMHgwMCwweDIyLDB4OGMsMHgyZiwweDEyLAotMHgwZiwweDY5LDB4MTIsMHgwZiwweGViLDB4NzgsMHhhYSwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDU0LDB4MDgsMHhmMCwKLTB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDU0LDB4MDgsMHhmMCwweGFjLDB4MmYsMHg3ZCwweDAyLDB4MTIsMHgwZCwweDJmLDB4YzIsCi0weDAzLDB4ZTUsMHgyZiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NTQsMHhmYiwweGY2LDB4N2MsMHgwMCwweDIyLDB4MTIsMHgzMCwweGU2LAotMHg3OCwweDk2LDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5ZCwweGY4LDB4ZTYsMHgzMCwweGUxLDB4MGEsMHg3ZCwweDAwLDB4N2MsMHgxMywKLTB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4NzgsMHg5NiwweGU2LDB4MjQsMHg5ZCwweGY4LDB4YzYsMHg0NCwweDAxLDB4ZjYsCi0weDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsMHgwZiwweDY5LDB4NzgsMHg5NiwweGU2LDB4MjQsMHhmZCwweDc1LDB4ZjAsMHgwYSwweGE0LAotMHgyNCwweDE0LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHg3OCwweGE2LDB4ZTYsMHhmYSwweDA4LDB4ZTYsMHhmOSwKLTB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4YTcsMHg3OCwweGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweDc5LDB4NjcsCi0weDdhLDB4MzUsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweDEyLDB4MGYsMHhiNywweGMyLDB4MDMsMHg3OCwweDk2LAotMHhlNiwweGZjLDB4MTIsMHgxMSwweDA3LDB4NzgsMHg5NSwweGVjLDB4ZjYsMHhlYywweDYwLDB4MGEsMHg3ZCwweDAwLDB4N2MsMHgwOCwKLTB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4NzgsMHg5NiwweGU2LDB4ZmMsMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsCi0weDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDEwLDB4NTQsMHhkZiwweGZjLAotMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwKLTB4OTUsMHhlYywweGY2LDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsCi0weDY5LDB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDU0LAotMHhlZiwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwKLTB4NzgsMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MTAsCi0weGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LAotMHhhOSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MjAsMHhmMCwKLTB4YzIsMHgwMywweDdjLDB4ZjAsMHgxMiwweDMyLDB4YTksMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MGYsMHg2OSwweDc4LDB4YTksCi0weGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTQsMHgxNSwweGMyLAotMHgwMywweDc4LDB4OTYsMHhlNiwweDQ0LDB4MTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDA3LDB4MTIsMHgzMSwweGZiLDB4MTIsMHgzMSwKLTB4NjksMHgwMiwweDE3LDB4MTQsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLAotMHgxMiwweDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHhhOSwweDc4LDB4OTYsMHhlNiwweGZjLDB4MTIsCi0weDBmLDB4NjksMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLAotMHgzMCwweGU0LDB4MTQsMHhjMiwweDAzLDB4NzgsMHg5NiwweGU2LDB4NDQsMHgxMCwweDdmLDB4MDAsMHhmZSwweDdjLDB4MDcsMHgxMiwKLTB4MzEsMHhmYiwweDEyLDB4MzEsMHg2OSwweDgwLDB4NWQsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3OCwweGE5LDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg3OCwweDk2LDB4ZTYsMHgyNCwweGZkLDB4NzUsMHhmMCwKLTB4MGEsMHhhNCwweDI0LDB4MTQsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGFjLDB4ODIsMHhhZCwweDgzLDB4NzgsCi0weGE2LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLAotMHhhNywweGMyLDB4MDMsMHg3OCwweDk2LDB4ZTYsMHhmYywweDEyLDB4MTEsMHgwNywweDdkLDB4MDAsMHg3YywweDBiLDB4MTIsMHgyNSwKLTB4MjYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweGU0LDB4OTAsMHhmYywweDM5LDB4ZjAsMHg3ZCwweDAyLDB4N2MsCi0weDAwLDB4MTIsMHgyNSwweDI2LDB4MTIsMHgzMSwweDY5LDB4MjIsMHgxMiwweDMwLDB4ZTYsMHg3YywweDAwLDB4MTIsMHgyNSwweGJmLAotMHgxMiwweDMxLDB4NjksMHgyMiwweDc0LDB4M2MsMHg5MCwweGZiLDB4ZTAsMHhmMCwweDc0LDB4M2UsMHg5MCwweGZiLDB4ZTAsMHhmMCwKLTB4ZTQsMHg5MCwweGZjLDB4MjgsMHhmMCwweDIyLDB4OGQsMHgzNSwweDhjLDB4MzQsMHhlYywweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsCi0weGQzLDB4NDAsMHgwMiwweDgwLDB4MjgsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA4LDB4YTgsMHgzNSwweGM2LAotMHgyNSwweGUwLDB4ZjYsMHg4MCwweDE4LDB4YjQsMHgwNCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGE4LDB4MzUsMHhjNiwKLTB4MjUsMHhlMCwweDI1LDB4ZTAsMHhmNiwweDgwLDB4MDYsMHhhOCwweDM1LDB4NzYsMHgwMCwweDgwLDB4MDAsMHgyMiwweDhjLDB4M2MsCi0weDhkLDB4M2IsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg3NSwweDY2LDB4MDYsMHg3NSwweDY3LDB4MDAsMHg5MCwweGZjLAotMHgyOSwweDEyLDB4MDQsMHg2ZSwweDEyLDB4MDEsMHhlNiwweGI0LDB4ODAsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwKLTB4MTgsMHg0NywweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwMywweDEyLDB4MDEsMHhlYywweDU0LDB4ZjAsCi0weGI0LDB4MzAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NWYsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLAotMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZmQsMHhlYiwweGZlLDB4N2YsMHgwMSwweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg2ZSwKLTB4ZWUsMHhjZCwweDkwLDB4MzUsMHg3MSwweGZjLDB4ZTQsMHg5MywweGZmLDB4NzQsMHgwMSwweDkzLDB4ZmUsMHhmOSwweGVmLDB4ZmEsCi0weDdiLDB4MDEsMHhlYSwweGZmLDB4ZTksMHhmZSwweGVjLDB4YzMsMHg5ZSwweGVkLDB4OWYsMHg0MCwweDI1LDB4OTAsMHgzNSwweDczLAotMHhlNCwweDkzLDB4ZmQsMHg3NCwweDAxLDB4OTMsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweGVlLDB4Y2QsMHhmYywKLTB4OTAsMHhmYywweDJlLDB4ZTAsMHhkMywweDljLDB4OTAsMHhmYywweDJkLDB4ZTAsMHg5ZCwweDUwLDB4MDUsMHg3NSwweDY2LDB4ODAsCi0weDgwLDB4MzMsMHgxMiwweDE5LDB4NjUsMHg4MCwweDJlLDB4YjQsMHg2MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYiwweGFjLAotMHgzYywweGFkLDB4M2IsMHgxMiwweDA3LDB4NzcsMHg4YywweDY2LDB4ODAsMHgxYiwweGI0LDB4MTAsMHgwMywweGIzLDB4NDAsMHgxMCwKLTB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLDB4MDksMHhjMywweGI0LDB4NDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsCi0weDc1LDB4NjYsMHg4MSwweDgwLDB4MDAsMHg4MCwweDc1LDB4YjQsMHg4MSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2YiwweDkwLAotMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDAzLDB4MTIsMHgwMSwweGVjLDB4NTQsMHhmMCwweGI0LDB4MzAsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHgxZCwweDkwLDB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsCi0weDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwweDAxLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4MTIsMHgxOCwweGNmLAotMHg4MCwweDM2LDB4YjQsMHg2MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxMywweDc1LDB4M2EsMHg2NywweGU0LDB4ZjUsMHgzOSwKLTB4ZjUsMHgzOCwweGFjLDB4M2MsMHhhZCwweDNiLDB4MTIsMHgwNSwweGQzLDB4OGMsMHg2NiwweDgwLDB4MWIsMHhiNCwweDEwLDB4MDMsCi0weGIzLDB4NDAsMHgxMCwweGMzLDB4YjQsMHgyMCwweDAzLDB4YjMsMHg0MCwweDA5LDB4YzMsMHhiNCwweDQwLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MDAsMHg3NSwweDY2LDB4ODEsMHg4MCwweDAwLDB4ODAsMHgwMiwweDgwLDB4MDAsMHhlNSwweDY2LDB4ZmMsMHg5MCwKLTB4ZmMsMHgyOSwweDEyLDB4MDQsMHg4MCwweGVjLDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywweDE3LDB4YWMsMHg2NywweDIyLDB4OTAsCi0weGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHg2MCwweDA0LDB4NzQsMHgwMSwweDgwLAotMHgwMSwweGU0LDB4YTIsMHhlMCwweDkyLDB4MDEsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDMsMHhmZCwKLTB4NTAsMHgwMSwweDBlLDB4OTAsMHhmYywweDJjLDB4MTIsMHgwNCwweDZlLDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsCi0weDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHhmNSwweDY3LDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLAotMHg3ZCwweDY3LDB4MTIsMHgxNywweDQ2LDB4ZTUsMHg2NywweDcwLDB4MDQsMHg3NSwweDY2LDB4MDgsMHgyMiwweDc1LDB4NjYsMHgwMCwKLTB4NzgsMHg4NCwweDc2LDB4MDAsMHg3OCwweDg0LDB4ZTYsMHhjMywweDk1LDB4NjcsMHg1MCwweDM4LDB4OTAsMHhmYywweDJmLDB4MTIsCi0weDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLDB4ZmMsMHgyYywweDEyLDB4MDQsMHg4MCwweGVjLDB4MTIsMHgwMywweDBmLAotMHgzMCwweDAxLDB4MGUsMHg5MCwweGZjLDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLDB4MzAsMHg3MCwweDAzLDB4ZTAsMHgwNCwKLTB4ZjAsMHg3OCwweDg0LDB4MDYsMHg5MCwweGZjLDB4MmUsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLDB4MmQsMHg3MCwweDAzLDB4ZTAsCi0weDA0LDB4ZjAsMHg4MCwweGMwLDB4MjIsMHg5MCwweGZjLDB4MmEsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4ZWQsMHhmZSwweGVjLAotMHhmZCwweDdmLDB4MDEsMHhlZCwweDI0LDB4MGEsMHhmZCwweDUwLDB4MDEsMHgwZSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg2ZSwKLTB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGI0LDB4MDEsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxNywweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4MCwweDBkLDB4ZWQsMHg3MCwweDAxLAotMHgwZSwweDkwLDB4ZmMsMHgyZiwweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODgsMHg3NiwweDAxLDB4ODAsMHg0ZSwweGI0LDB4MDIsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmMsMHgzMiwweDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMiwweGZkLDB4NTAsCi0weDAxLDB4MGUsMHg5MCwweGZjLDB4MmYsMHgxMiwweDA0LDB4NmUsMHg3OCwweDg4LDB4NzYsMHgwMiwweDgwLDB4MmQsMHhiNCwweDA0LAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTksMHg5MCwweGZjLDB4MzIsMHgxMiwweDA0LDB4ODAsMHhlZCwweDI0LDB4MDQsMHhmZCwKLTB4NTAsMHgwMSwweDBlLDB4OTAsMHhmYywweDJmLDB4MTIsMHgwNCwweDZlLDB4NzgsMHg4OCwweDc2LDB4MDQsMHg4MCwweDBjLDB4YjQsCi0weDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2NiwweDA4LDB4MjIsMHg5MCwweGZjLDB4MjksMHgxMiwweDA0LAotMHg4MCwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjcsMHg3OCwweDg1LDB4NzYsMHgwMCwweDc4LDB4ODUsMHhlNiwKLTB4YzMsMHg5NSwweDY3LDB4NDAsMHgwMywweDAyLDB4MWEsMHhjZCwweDc4LDB4ODYsMHg3NiwweDAwLDB4NzgsMHg4NiwweGU2LDB4YzMsCi0weDc4LDB4ODgsMHg5NiwweDUwLDB4NzYsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLAotMHhmYywweDMyLDB4MTIsMHgwNCwweDg5LDB4MTIsMHgwMSwweGUwLDB4ZjQsMHg1YywweGZjLDB4MTIsMHgwMSwweGUwLDB4ZjgsMHg5MCwKLTB4ZmMsMHgyZiwweDEyLDB4MDQsMHg4MCwweGU4LDB4YzAsMHhlMCwweDEyLDB4MDEsMHhlNiwweGM4LDB4ZDAsMHhlMCwweGM4LDB4NTgsCi0weDRjLDB4ZmMsMHg5MCwweGZjLDB4MmMsMHgxMiwweDA0LDB4ODAsMHhlYywweDEyLDB4MDMsMHgwZiwweDc4LDB4ODcsMHhlYywweGY2LAotMHg5MCwweGZjLDB4MzEsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLDB4MzAsMHg3MCwweDAzLDB4ZTAsMHgwNCwweGYwLDB4MDksMHhlOSwKLTB4NzAsMHgwMSwweDBhLDB4OTAsMHhmYywweDMyLDB4MTIsMHgwNCwweDc3LDB4OTAsMHhmYywweDI5LDB4MTIsMHgwNCwweDgwLDB4OTAsCi0weDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHgzMCwweGU0LDB4MGUsMHg5MCwweGZjLDB4MmUsMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZjLAotMHgyZCwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg3OCwweDg2LDB4MDYsMHg4MCwweDgxLDB4NzgsMHg4OCwweGU2LDB4ZmQsMHhlNCwKLTB4ZmUsMHhmZiwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmMsMHgzMSwweGUwLDB4MmMsMHhmMCwweDkwLDB4ZmMsMHgzMCwweGUwLDB4M2QsCi0weGYwLDB4NzgsMHg4OCwweGU2LDB4ZmQsMHhlNCwweGZlLDB4ZmYsMHhlZSwweGNkLDB4ZmMsMHg5MCwweGZjLDB4MzQsMHhlMCwweDJjLAotMHhmMCwweDkwLDB4ZmMsMHgzMywweGUwLDB4M2QsMHhmMCwweDc4LDB4ODUsMHgwNiwweDAyLDB4MWEsMHgwZCwweDc1LDB4NjYsMHgwMCwKLTB4MjIsMHhlNSwweDNkLDB4MDUsMHgzZCwweDA0LDB4NzAsMHgwMiwweGIyLDB4YjAsMHgyMiwweGMwLDB4ZTAsMHhjMCwweGYwLDB4YzAsCi0weDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwweGMwLDB4ZTAsMHhlYSwweGMwLDB4ZTAsMHhlYiwweGMwLAotMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsMHhlMCwweGVmLDB4YzAsMHhlMCwweDkwLDB4ZmYsMHg5MiwKLTB4ZTAsMHgxMiwweDAxLDB4YjcsMHgxYiwweDI5LDB4MzAsMHgxYiwweDI5LDB4MzIsMHgxYiwweDM4LDB4MzgsMHgxYiwweDRhLDB4M2EsCi0weDFiLDB4NWMsMHgzZSwweDFiLDB4NzQsMHg0NCwweDFiLDB4NjgsMHg0NiwweDFiLDB4ODAsMHg1MCwweDFiLDB4YzIsMHg1MiwweDFiLAotMHhhMSwweDU0LDB4MWIsMHhlMywweDU2LDB4MDAsMHgwMCwweDFjLDB4MDQsMHg5MCwweGZmLDB4OTIsMHhlMCwweDdmLDB4MDAsMHhmZSwKLTB4N2MsMHgwMSwweDEyLDB4MzEsMHhmYiwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwMywweDEyLDB4MzEsCi0weGZiLDB4NzQsMHgyMCwweDkwLDB4ZmYsMHhmZSwweGYwLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDAyLAotMHgxMiwweDMxLDB4ZmIsMHg3NCwweDQwLDB4OTAsMHhmZiwweGZlLDB4ZjAsMHgwMiwweDFjLDB4MTQsMHhlNCwweGZmLDB4MDQsMHhmZSwKLTB4N2MsMHgwNCwweDEyLDB4MzEsMHhmYiwweDAyLDB4MWMsMHgxNCwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNSwweDEyLDB4MzEsCi0weGZiLDB4MDIsMHgxYywweDE0LDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywweDA2LDB4MTIsMHgzMSwweGZiLDB4MDIsMHgxYywweDE0LAotMHg5MCwweGZmLDB4YTUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZjgsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmYiwKLTB4ZjksMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmOCwweGUwLDB4NDQsMHgzMywweGZkLDB4MTIsMHgxYywweGE3LDB4ODAsCi0weDczLDB4OTAsMHhmZiwweGI1LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmYiwweGZhLDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLAotMHhmYiwweGZiLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZiLDB4ZmEsMHhlMCwweDQ0LDB4NDMsMHhmZCwweDEyLDB4MWMsMHhhNywKLTB4ODAsMHg1MiwweDkwLDB4ZmYsMHhhNiwweGUwLDB4N2QsMHgwMCwweDkwLDB4ZmIsMHhmYywweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsCi0weDkwLDB4ZmIsMHhmZCwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHg0NCwweDM0LDB4ZmQsMHgxMiwweDFjLAotMHhhNywweDgwLDB4MzEsMHg5MCwweGZmLDB4YjYsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZiLDB4ZmUsMHhjZCwweGYwLDB4YTMsMHhjZCwKLTB4ZjAsMHg5MCwweGZiLDB4ZmYsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmIsMHhmZSwweGUwLDB4NDQsMHg0NCwweGZkLDB4MTIsCi0weDFjLDB4YTcsMHg4MCwweDEwLDB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHhlZCwweDQ0LDB4YWEsMHhmZCwweDEyLAotMHgxYywweGE3LDB4ODAsMHgwMCwweGU0LDB4OTAsMHhmZiwweDkyLDB4ZjAsMHhkMCwweGUwLDB4ZmYsMHhkMCwweGUwLDB4ZmUsMHhkMCwKLTB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLDB4ZTAsMHhmYSwweGQwLDB4ZTAsMHhmOSwweGQwLDB4ZTAsCi0weGY4LDB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweGQwLDB4ZTAsMHgzMiwweDA1LDB4ODEsMHgwNSwweDgxLAotMHgwNSwweDgxLDB4MDUsMHg4MSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4OTAsMHhmZiwKLTB4NWEsMHhlMCwweDIwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHg5MCwweGZmLDB4NTksMHhlMCwweDdkLDB4MDAsMHhhOCwweDgxLDB4MTgsCi0weGNkLDB4ZjYsMHhjZCwweDA4LDB4ZjYsMHg3ZCwweDAzLDB4YTgsMHg4MSwweGU2LDB4MTgsMHhmYywweGU2LDB4Y2MsMHgyNSwweGUwLAotMHhjYywweDMzLDB4Y2MsMHhkZCwweGY5LDB4Y2MsMHhmNiwweGNjLDB4MDgsMHhmNiwweGE4LDB4ODEsMHgxOCwweGU2LDB4NDQsMHhmOCwKLTB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGE4LDB4ODEsMHgxOCwweDg2LDB4ODMsCi0weDA4LDB4ODYsMHg4MiwweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHg3NCwweDAyLDB4OTAsMHhmZiwweDVhLDB4ZjAsMHgxNSwweDgxLAotMHgxNSwweDgxLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgyMiwweGU1LDB4ODEsMHgyNCwweDA1LDB4ZjUsMHg4MSwweGU0LDB4YTgsMHg4MSwKLTB4MTgsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZiLDB4ZjUsCi0weGUwLDB4MjQsMHhmOCwweDUwLDB4MDMsMHgwMiwweDFkLDB4YzgsMHhlNCwweGE4LDB4ODEsMHgxOCwweDE4LDB4ZjYsMHhhOCwweDgxLAotMHgxOCwweGU2LDB4ZmUsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4N2YsMHgwMCwKLTB4ZWYsMHgyNCwweGY4LDB4NDAsMHg0ZCwweGU0LDB4ZWYsMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsCi0weGY1LDB4ODMsMHhlMCwweGZiLDB4YTMsMHhlMCwweDZjLDB4NzAsMHgwMywweGZhLDB4ZWIsMHg2ZCwweDcwLDB4MDksMHg3NCwweDAxLAotMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4ODAsMHgyYiwweGU0LDB4ZWYsMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmYywweGY1LDB4ODMsMHg3YSwweDAwLDB4ZTAsMHg1NCwweGYwLDB4Y2MsMHhmOCwweGNjLDB4Y2QsMHhmOSwweGNkLDB4ZmIsCi0weDc4LDB4MDAsMHhlOSwweDU0LDB4ZjAsMHhmOSwweGVhLDB4NjgsMHg3MCwweDAyLDB4ZWIsMHg2OSwweDcwLDB4MDEsMHgwZSwweDBmLAotMHg4MCwweGFlLDB4YTgsMHg4MSwweDE4LDB4ZWUsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLDB4ZjYsMHgwOCwKLTB4ZWMsMHhmNiwweGE4LDB4ODEsMHhlZiwweGY2LDB4YTgsMHg4MSwweDE4LDB4MTgsMHhlNiwweDcwLDB4NzksMHhhOCwweDgxLDB4MTgsCi0weGU2LDB4MjQsMHhmNywweDQwLDB4NzEsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsMHhlNiwweDU0LDB4MGYsMHhhOCwweDgxLAotMHhmNiwweDY0LDB4MDQsMHg2MCwweDE3LDB4YTgsMHg4MSwweGU2LDB4NjQsMHgwMywweDYwLDB4MTAsMHhhOCwweDgxLDB4MTgsMHgxOCwKLTB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwweDFjLDB4M2MsMHg4MCwweDRhLDB4N2MsMHgwYSwweDEyLDB4MzEsCi0weDViLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweDkwLDB4ZmIsMHhmNCwweGUwLAotMHgyNSwweGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwKLTB4OTAsMHhmYiwweGY0LDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHgwNCwweDU0LDB4MDcsMHhmZiwweDkwLDB4ZmIsMHhmNCwweGYwLDB4OTAsCi0weGZiLDB4ZjUsMHhlMCwweDA0LDB4ZjAsMHgxMiwweDMxLDB4ZjQsMHg5MCwweGZiLDB4ZjYsMHhlMCwweDcwLDB4MDgsMHhlNCwweGZlLAotMHhmZiwweDdjLDB4MGYsMHgxMiwweDMxLDB4ZmIsMHg4MCwweDI3LDB4OTAsMHhmYiwweGY3LDB4ZTAsMHgwNCwweGYwLDB4NTQsMHgzZiwKLTB4NzAsMHgxZCwweDkwLDB4ZmIsMHhmNywweGUwLDB4NDQsMHhmZSwweDdkLDB4MDAsMHhmYywweDkwLDB4ZmIsMHhmNCwweGUwLDB4MjUsCi0weGUwLDB4MjQsMHg3ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZWQsMHhmMCwweGEzLDB4ZWMsMHhmMCwweGU1LAotMHg4MSwweDI0LDB4ZmIsMHhmNSwweDgxLDB4MjIsMHg3OCwweDhiLDB4NzYsMHgwMCwweDc4LDB4OGMsMHg3NiwweDAwLDB4NzQsMHgwMSwKLTB4OTAsMHhmYiwweGY2LDB4ZjAsMHgxMiwweDMwLDB4ZTYsMHg5MCwweGZiLDB4ZjUsMHhlMCwweDYwLDB4NTcsMHg3YywweDBhLDB4MTIsCi0weDMxLDB4NWIsMHg5MCwweGZiLDB4ZjMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LAotMHg4MywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHg5MCwweGZiLDB4ZjMsMHhlMCwweDI1LDB4ZTAsMHgyNCwweDdkLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhhMywweGYwLDB4OTAsMHhmYiwweGYzLDB4ZTAsMHhmZiwweGU0LDB4ZWYsCi0weDA0LDB4NTQsMHgwNywweGZmLDB4OTAsMHhmYiwweGYzLDB4ZjAsMHg5MCwweGZiLDB4ZjUsMHhlMCwweDE0LDB4ZjAsMHg3OCwweDg5LAotMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4MTIsMHgzMSwweGY0LDB4NzgsMHg4OSwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwKLTB4MDgsMHhkYSwweDgwLDB4YTMsMHgxMiwweDMyLDB4NDgsMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGIyLDB4YjMsCi0weDc4LDB4OGIsMHgwNiwweGI2LDB4MDAsMHgxMSwweDc4LDB4OGIsMHg3NiwweDAwLDB4NzgsMHg4YywweGU2LDB4ZjQsMHgwNCwweDA0LAotMHhhMiwweGUwLDB4OTIsMHhiNCwweDc4LDB4OGMsMHhmNiwweDAyLDB4MWUsMHgwNywweGU0LDB4OTAsMHhmYiwweGY2LDB4ZjAsMHg5MCwKLTB4ZmIsMHhmNSwweGUwLDB4N2QsMHgwMCwweGZjLDB4ZWQsMHg0NCwweGNmLDB4ZmQsMHgxMiwweDFjLDB4M2MsMHgxMiwweDMxLDB4NjksCi0weDIyLDB4MTIsMHgzMCwweGU2LDB4ZTUsMHg3MCwweDY0LDB4NDksMHg0NSwweDZmLDB4NjAsMHgxNSwweDkwLDB4ZmYsMHg4MywweGUwLAotMHg1NCwweDBmLDB4N2QsMHgwMCwweGQzLDB4OTUsMHg3MCwweGVkLDB4OTUsMHg2ZiwweDUwLDB4MDUsMHgxMiwweDJmLDB4MmYsMHg4MCwKLTB4MDMsMHgxMiwweDJmLDB4ZmYsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweGU1LDB4NzAsMHg2NCwweDQ5LDB4NDUsCi0weDZmLDB4NjAsMHgwNSwweDEyLDB4MzAsMHgzOSwweDgwLDB4MGUsMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLAotMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDhjLDB4NTQsMHhlYywKLTB4NTQsMHhmMCwweGI0LDB4MTAsMHgxNSwweDc1LDB4NmEsMHgzNSwweDc1LDB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweGU1LDB4NmEsCi0weDI0LDB4MDMsMHhmNSwweDZhLDB4ZTUsMHg2OSwweDM0LDB4MDAsMHhmNSwweDY5LDB4ZTQsMHhmNSwweDU3LDB4ZjUsMHg1NiwweGU1LAotMHg1NiwweGMzLDB4OTQsMHgwMSwweDUwLDB4MjcsMHhlNSwweDU0LDB4NTQsMHgwZiwweGZjLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwKLTB4NjgsMHgxMiwweDBlLDB4NzcsMHg4YywweDU1LDB4ZWMsMHg2MCwweDAyLDB4ODAsMHgxMiwweDA1LDB4NmEsMHhlNSwweDZhLDB4NzAsCi0weDAyLDB4MDUsMHg2OSwweDA1LDB4NTcsMHhlNSwweDU3LDB4NzAsMHgwMiwweDA1LDB4NTYsMHg4MCwweGQyLDB4ZTUsMHg1NCwweDU0LAotMHgwZiwweDI0LDB4OWQsMHhmOCwweGM2LDB4NTQsMHhmZSwweGY2LDB4ZTUsMHg1NCwweDU0LDB4MGYsMHg3ZiwweDAwLDB4ZmUsMHg3YywKLTB4MTIsMHgxMiwweDMxLDB4ZmIsMHhlNSwweDU1LDB4MTQsMHg3MCwweDA5LDB4N2QsMHgwMCwweDdjLDB4MDksMHgxMiwweDI1LDB4MjYsCi0weDgwLDB4MDcsMHhhZCwweDU3LDB4N2MsMHgwMCwweDEyLDB4MjUsMHgyNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwweGU2LAotMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LDB4MDIsMHhmMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4MzAsMHhlNywweDEzLDB4OTAsMHhmZiwKLTB4ODMsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDQzLDB4NmQsMHg4MCwweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMSwweGYwLDB4ODAsCi0weDExLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg1MywweDZkLDB4N2YsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LAotMHhmZSwweGYwLDB4OTAsMHhmZiwweDgxLDB4ZTAsMHg0NCwweDgwLDB4ZjAsMHgxMiwweDI1LDB4ZDksMHg5MCwweGZmLDB4ZmUsMHhlMCwKLTB4NDQsMHgwNSwweGYwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsCi0weGU2LDB4N2MsMHgwMSwweDEyLDB4MzIsMHhhOSwweDc4LDB4YWQsMHhlNiwweDQ0LDB4MDIsMHhmNiwweDc0LDB4ZmUsMHhmYywweDA0LAotMHhmZCwweDEyLDB4MWMsMHhhNywweDkwLDB4ZmYsMHg1YSwweGUwLDB4MzAsMHhlNywweDAyLDB4ODAsMHhmNywweGU0LDB4ZjUsMHg0ZSwKLTB4NzUsMHg0ZCwweDEwLDB4YWMsMHg0ZSwweGFkLDB4NGQsMHhlNSwweDRlLDB4MTUsMHg0ZSwweDcwLDB4MDIsMHgxNSwweDRkLDB4ZWMsCi0weDRkLDB4NjAsMHgwMiwweDgwLDB4ZWUsMHg0MywweDg3LDB4MDEsMHgxMiwweDMxLDB4NjksMHgyMiwweDEyLDB4MzAsMHhlNiwweDdjLAotMHgwMiwweDEyLDB4MzEsMHg3NSwweDc4LDB4YWQsMHhlNiwweDU0LDB4ZmQsMHhmNiwweDEyLDB4MzEsMHg2OSwweDIyLDB4MTIsMHgzMCwKLTB4ZTYsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUwLDB4MmMsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUxLDB4MjYsMHg3OCwweGFkLDB4ZTYsCi0weGZjLDB4ZjUsMHg4MywweDE4LDB4ZTYsMHg0NCwweGYwLDB4ZmQsMHgxMiwweDFjLDB4M2MsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDQ0LAotMHgyMCwweGYwLDB4N2MsMHgwMiwweDEyLDB4MzIsMHhhOSwweDc4LDB4YWQsMHhlNiwweDU0LDB4ZmQsMHhmNiwweDc0LDB4MWEsMHg5MCwKLTB4ZmYsMHhmZSwweGYwLDB4NzgsMHhhZCwweGU2LDB4ZmMsMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjEsMHhmZCwweDEyLDB4MWMsCi0weDNjLDB4MTIsMHgzMSwweDY5LDB4MjIsMHg3NSwweDZkLDB4MDAsMHg5MCwweGZmLDB4ZmYsMHhlMCwweDYwLDB4MDMsMHg0MywweDZkLAotMHgwMSwweDc1LDB4NmUsMHgwMCwweGU0LDB4ZjUsMHg2YywweGY1LDB4NmIsMHhlNCwweGY1LDB4NmYsMHg3NSwweDcwLDB4NDksMHg3NCwKLTB4ODQsMHg5MCwweGZmLDB4ODIsMHhmMCwweDc0LDB4ODQsMHg5MCwweGZmLDB4ODAsMHhmMCwweDc0LDB4ODAsMHg5MCwweGZmLDB4NTgsCi0weGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg1YSwweGYwLDB4YWQsMHg0NiwweGFmLDB4NDUsMHg3ZSwweDAwLDB4ZWUsMHgyNCwweGZlLAotMHg1MCwweDAzLDB4MDIsMHgyMSwweDI0LDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg3ZiwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDU0LDB4ODAsMHhmZCwweGU0LDB4ZWYsMHg1NCwweDBmLDB4MTQsCi0weGZmLDB4ZWQsMHg2MCwweDM4LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LAotMHhmZiwweGY1LDB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4ODAsMHgzNCwweGU0LDB4ZWYsMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg5MCwweGYwLDB4ZTQsMHhlZiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4ZTQsCi0weGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLAotMHgwZSwweDAyLDB4MjAsMHg4ZCwweDhkLDB4NDYsMHg4ZSwweDQ0LDB4OGYsMHg0NSwweDc0LDB4N2YsMHg5MCwweGZmLDB4ZmQsMHhmMCwKLTB4NzQsMHg5MCwweDkwLDB4ZmYsMHhmYywweGYwLDB4MjIsMHg4YywweDU4LDB4ZWMsMHgyNCwweGY2LDB4NTAsMHgwNiwweGU1LDB4NTgsCi0weDI0LDB4MzcsMHhmYywweDIyLDB4ZTUsMHg1OCwweDI0LDB4MzAsMHhmYywweDIyLDB4MTIsMHgyNSwweDIzLDB4ZWMsMHg3MCwweDAzLAotMHgwMiwweDIyLDB4NWUsMHg3NSwweDVjLDB4MDMsMHhhZSwweDViLDB4N2YsMHgwMCwweGU1LDB4NWMsMHgxNSwweDVjLDB4NjQsMHg4MCwKLTB4MjQsMHg3ZiwweDUwLDB4MzUsMHhlZiwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4ZmUsCi0weDI0LDB4ZmUsMHg1MCwweDFlLDB4ZWYsMHg3ZCwweDAwLDB4ZmMsMHhlNCwweGZiLDB4NzQsMHg3NCwweGMzLDB4OWMsMHhmYSwweGViLAotMHg5ZCwweGZiLDB4ZWUsMHg3ZCwweDAwLDB4ZmMsMHhlYSwweGMzLDB4OWMsMHhlZCwweDY0LDB4ODAsMHhjYiwweDY0LDB4ODAsMHg5YiwKLTB4NTAsMHgwMiwweDgwLDB4MDUsMHhlZiwweDJlLDB4ZmYsMHg4MCwweGMxLDB4OGUsMHg1YiwweDhmLDB4NWEsMHhlNSwweDVjLDB4NjQsCi0weDgwLDB4MjQsMHg3ZiwweDUwLDB4MDMsMHgwMiwweDIyLDB4NWUsMHhlNSwweDVhLDB4MjQsMHg4ZSwweDUwLDB4MDMsMHgwMiwweDIyLAotMHg1ZSwweDg1LDB4NWEsMHg1ZCwweDc1LDB4NWIsMHgwMCwweGFlLDB4NWEsMHhhZiwweDViLDB4OTAsMHgzNSwweDljLDB4ZTQsMHg5MywKLTB4ZjUsMHg1YywweGU1LDB4NWMsMHgxNSwweDVjLDB4NjQsMHg4MCwweDI0LDB4N2YsMHg1MCwweDE4LDB4ZWUsMHgyNCwweDAwLDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGUwLDB4ZmMsMHhlZiwweDkwLDB4MzUsMHg5YywweDkzLDB4NmMsMHg3MCwweDA0LAotMHgwZSwweDBmLDB4ODAsMHhkZSwweDhlLDB4NWEsMHg4ZiwweDViLDB4ZTUsMHg1YywweDY0LDB4ODAsMHgyNCwweDdmLDB4NDAsMHg2ZSwKLTB4NzUsMHg1ZSwweDAxLDB4NzUsMHg2MCwweGU4LDB4NzUsMHg1ZiwweGZmLDB4ZTUsMHg1ZCwweDI0LDB4MDIsMHhmNSwweDVhLDB4NzUsCi0weDVjLDB4MDcsMHhlNSwweDVjLDB4MzMsMHg0MCwweDU3LDB4YWQsMHg2MCwweGFlLDB4NWYsMHhhZiwweDVlLDB4ZTUsMHg1YywweGY1LAotMHg4MiwweDMzLDB4OTUsMHhlMCwweGY1LDB4ODMsMHgxMiwweDAxLDB4ZWMsMHhjNCwweDU0LDB4MGYsMHhmYywweDEyLDB4MjEsMHgzNywKLTB4ZTUsMHg1YSwweDI0LDB4MDAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZiLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgwNSwweDVhLDB4MDUsCi0weDVhLDB4YWQsMHg2MCwweGFlLDB4NWYsMHhhZiwweDVlLDB4ZTUsMHg1YywweGY1LDB4ODIsMHgzMywweDk1LDB4ZTAsMHhmNSwweDgzLAotMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHgxMiwweDIxLDB4MzcsMHhlNSwweDVhLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmYiwweGY1LDB4ODMsMHhlYywweGYwLDB4MDUsMHg1YSwweDA1LDB4NWEsMHgxNSwweDVjLDB4ODAsMHhhNCwweDc0LDB4MDIsCi0weDkwLDB4ZjgsMHg1MSwweGYwLDB4OTAsMHhmOCwweDZiLDB4NzksMHg3NSwweDdhLDB4MzUsMHg3YiwweDI3LDB4NzgsMHgwMSwweDEyLAotMHgwMywweGY1LDB4NzUsMHg2YSwweDM1LDB4NzUsMHg2OSwweGZjLDB4NzUsMHg2OCwweDAxLDB4ZTQsMHg5MCwweGZmLDB4ODMsMHhmMCwKLTB4NzQsMHg4MCwweDkwLDB4ZmYsMHg4MSwweGYwLDB4NzUsMHg1OSwweDAyLDB4ZTUsMHg1OSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsCi0weDdmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweDc4LDB4OGYsMHhmNiwweGZjLDB4NTQsMHgwZiwweDE0LAotMHhmYywweDc4LDB4OGYsMHhlYywweGY2LDB4ZTUsMHg1OSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg4MSwweGY1LDB4ODIsMHhlNCwKLTB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweDc4LDB4OTIsMHg3NiwweGZkLDB4MDgsMHg3NiwweGU4LDB4ZmMsMHg3OCwweDhmLDB4ZTYsCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LAotMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHg3OCwweDkyLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHg3ZSwweDAzLDB4Y2YsMHhjMywweDEzLDB4Y2YsMHgxMywweGRlLDB4ZjksCi0weGZlLDB4NzgsMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweGVlLDB4ZjAsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4NzgsMHg5MCwweGVjLDB4ZjYsMHg3ZCwweDAwLDB4NzgsMHg5MywweGU2LDB4MmMsCi0weGY2LDB4MTgsMHhlNiwweDNkLDB4ZjYsMHg3OCwweDkyLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHg3YywweDAzLDB4Y2QsMHhjMywweDEzLAotMHhjZCwweDEzLDB4ZGMsMHhmOSwweGZjLDB4NzgsMHg4ZiwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwKLTB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDhmLDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OTIsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLAotMHg3OCwweDhmLDB4ZTYsMHhmZiwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyNCwweGRkLDB4ZTQsMHhlZSwKLTB4NzUsMHhmMCwweDA3LDB4YTQsMHgyNCwweDdmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsCi0weGVmLDB4NTQsMHg4MCwweGZhLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwweGZmLDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywweGE0LAotMHgyNCwweDgxLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmOCwweGY1LDB4ODMsMHhlMCwweDc4LDB4OTAsMHhmNiwweGU0LDB4ZWUsMHgxMywKLTB4MTMsMHg1NCwweDgwLDB4MjQsMHhmMCwweGY4LDB4ZTQsMHgzNCwweGZkLDB4ZjksMHhlOCwweGZjLDB4ZTksMHhmZCwweDhhLDB4NWEsCi0weGVhLDB4NzAsMHgwMywweDAyLDB4MjQsMHg0YSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OTAsMHhlNiwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwKLTB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZWQsMHhmYiwweGVjLDB4N2EsCi0weDAzLDB4Y2IsMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LAotMHg0OSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweDc4LDB4OTAsMHhlNiwweDdiLDB4MDAsMHhmYSwKLTB4ZWMsMHgyYSwweGZjLDB4ZWQsMHgzYiwweGZkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsCi0weGY5LDB4ZmEsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LAotMHg4MywweGVhLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwKLTB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4MDIsMHgyNCwweGQ5LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LAotMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg5MCwweGU2LDB4ZmEsMHhlNCwKLTB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsCi0weGVkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDA5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg5MCwKLTB4ZTYsMHg3YiwweDAwLDB4ZmEsMHhlYywweDJhLDB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsCi0weDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGQsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDBlLDB4MDIsMHgyMywweDY2LDB4OGUsMHg1OSwweDc4LAotMHg5MiwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg3OCwweDhmLDB4ZWYsMHhmNiwweDEyLDB4MjAsMHg1NSwweDIyLDB4OGMsMHgyNiwKLTB4ZWMsMHgzMCwweGU3LDB4MTgsMHhlNSwweDI2LDB4NTQsMHgwZiwweDE0LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLDB4ODAsMHgxNiwweGU1LDB4MjYsMHg1NCwweDBmLAotMHgxNCwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwKLTB4ZGYsMHhmMCwweDIyLDB4N2MsMHgwMCwweDIyLDB4ZWMsMHg5MCwweGZjLDB4MzcsMHhmMCwweDhjLDB4MjQsMHhlZCwweDI0LDB4MDMsCi0weGY1LDB4MjUsMHg3ZCwweDAwLDB4ZDMsMHg5NSwweDcyLDB4ZWQsMHg5NSwweDcxLDB4NDAsMHgwMywweDg1LDB4NzIsMHgyNSwweGU1LAotMHgyNSwweDI0LDB4YjcsMHg1MCwweDA5LDB4NzUsMHgyNSwweDAzLDB4NzQsMHgwMiwweDkwLDB4ZmMsMHgzNywweGYwLDB4YWMsMHgyNSwKLTB4MTIsMHgzMCwweDI0LDB4MjIsMHhlNCwweGY1LDB4NmMsMHhmNSwweDZiLDB4MTIsMHgyNSwweDVkLDB4MjIsMHg5MCwweGZjLDB4MzUsCi0weGUwLDB4NjUsMHg3MywweDYwLDB4MGUsMHg3NCwweDA0LDB4OTAsMHhmYywweDM3LDB4ZjAsMHhlNCwweGY1LDB4NmIsMHg3NSwweDZjLAotMHgwMywweDgwLDB4NDYsMHg3ZCwweDczLDB4ZTQsMHhmZSwweGZmLDB4NzksMHgzNSwweDdhLDB4ZmMsMHg3YiwweDAxLDB4NzQsMHgwNSwKLTB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweGU1LDB4NmMsMHgyNCwweDAzLDB4ZjUsMHg2YywweGU1LDB4NmIsMHgzNCwweDAwLDB4ZjUsCi0weDZiLDB4ZTUsMHg2YywweGQzLDB4OTUsMHg3MiwweGU1LDB4NmIsMHg5NSwweDcxLDB4NDAsMHgwNiwweDg1LDB4NzIsMHg2YywweDg1LAotMHg3MSwweDZiLDB4ZDMsMHhlNSwweDZjLDB4OTQsMHg0OCwweGU1LDB4NmIsMHg5NCwweDAwLDB4NDAsMHgwYywweDc0LDB4MDIsMHg5MCwKLTB4ZmMsMHgzNywweGYwLDB4ZTQsMHhmNSwweDZiLDB4NzUsMHg2YywweDAzLDB4YWMsMHg2YywweDEyLDB4MzAsMHgyNCwweDIyLDB4ZWMsCi0weDkwLDB4ZmMsMHgzNywweGYwLDB4ZTQsMHhmNSwweDZjLDB4ZjUsMHg2YiwweDhjLDB4MzIsMHhlYywweDYwLDB4MDUsMHgxMiwweDMwLAotMHgxNSwweDgwLDB4MDUsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwKLTB4YjIsMHhiMywweDkwLDB4ZmYsMHgwNCwweGUwLDB4ZjUsMHg0YSwweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmQsMHhhMywweGUwLDB4ZWQsCi0weDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwNiwweGUwLDB4ZmYsMHhhMywweGUwLDB4N2UsMHgwMCwweGZmLAotMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4YzMsMHhlYywweDk0LDB4NDgsMHhlZCwweDk0LDB4MDAsMHg1MCwKLTB4MjIsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsCi0weGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZmMsMHhlZCwweDRmLAotMHhmZCwweDgwLDB4MDQsMHhlNCwweGZkLDB4N2MsMHg0OCwweDhjLDB4NzIsMHg4ZCwweDcxLDB4OTAsMHhmZiwweDAyLDB4ZTAsMHhmZCwKLTB4YTMsMHhlMCwweGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4OTAsMHhmZiwweDAyLDB4ZTAsMHhmZiwweGEzLDB4ZTAsCi0weDdlLDB4MDAsMHhmZiwweGU0LDB4ZmUsMHhlYywweDRlLDB4ZjUsMHg0YywweGVkLDB4NGYsMHhmNSwweDRiLDB4NzUsMHg2YSwweDM1LAotMHg3NSwweDY5LDB4ZmMsMHg3NSwweDY4LDB4MDEsMHg3ZCwweDM1LDB4N2UsMHhmYywweDdmLDB4MDEsMHg3OSwweDczLDB4ZTQsMHhmYSwKLTB4ZmIsMHg3NCwweDA1LDB4NzgsMHgwMCwweDEyLDB4MDMsMHgzZiwweDc1LDB4NDksMHgwMCwweGU1LDB4NDksMHgyNCwweGZlLDB4NDAsCi0weDE5LDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHgwNSwweDQ5LDB4MGQsMHhlZCwweDcwLAotMHgwMSwweDBlLDB4OGQsMHg2YSwweDhlLDB4NjksMHg4ZiwweDY4LDB4ODAsMHhlMSwweDc1LDB4NmEsMHgzNSwweDc1LDB4NjksMHhmYywKLTB4NzUsMHg2OCwweDAxLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDYwLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsCi0weDAzLDB4MDIsMHgyYywweDZkLDB4ZTUsMHg0YSwweDU0LDB4MGYsMHhmNSwweDQ5LDB4ZTUsMHg0YSwweDU0LDB4ODAsMHhhMiwweGUwLAotMHg5MiwweDAyLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwweDAxLDB4ODEsMHgwMCwweDBiLDB4MmMsMHg2OCwweDI2LDB4ZTUsMHgyOCwKLTB4MDMsMHgyYywweDY4LDB4MjksMHgwZiwweDJjLDB4NjgsMHgyOSwweGYyLDB4MmEsMHgyNiwweDJiLDB4OGQsMHgyYiwweDkwLDB4MmIsCi0weGQwLDB4MmMsMHgxMSwweDJjLDB4M2YsMHhlNSwweDZkLDB4MzAsMHhlNywweDBlLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LAotMHhlNSwweDcyLDB4NjQsMHgwMiwweDQ1LDB4NzEsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwKLTB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI4LDB4MDAsCi0weGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3OCwweGFkLDB4ZTYsMHgzMCwweGUwLAotMHgwYiwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDc0LDB4MDIsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLDB4MTIsMHgzMCwKLTB4MjQsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWIsMHhlNSwweDZkLDB4MjAsMHhlMSwweDA3LDB4ZTUsCi0weDRhLDB4NjAsMHgwMywweDAyLDB4MjgsMHgwMCwweGU1LDB4NGEsMHgyNCwweGZlLDB4NTAsMHgwMywweDAyLDB4MjgsMHgwMCwweDdjLAotMHgwMiwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MjcsMHhmZSwKLTB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwZCwweGU1LDB4NGEsMHg2MCwweDA5LDB4ZTUsMHg0YSwweDY0LDB4ODAsMHg2MCwweDAzLDB4MDIsCi0weDI4LDB4MDAsMHhhYywweDRhLDB4MTIsMHgzMCwweGFiLDB4NDAsMHgwMywweDAyLDB4MjgsMHgwMCwweGU1LDB4NDksMHg3MCwweDI1LAotMHgzMCwweDAyLDB4MTEsMHg5MCwweGZmLDB4ODAsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsMHgxMiwKLTB4MDMsMHgwZiwweDgwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwweGFmLDB4NjgsCi0weDEyLDB4MDMsMHgwZiwweDgwLDB4M2QsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDFkLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LAotMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDZhLDB4YWUsMHg2OSwKLTB4YWYsMHg2OCwweDEyLDB4MDMsMHgwZiwweDgwLDB4MWIsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsCi0weDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwOCwweGFkLDB4NmEsMHhhZSwweDY5LDB4YWYsMHg2OCwweDEyLAotMHgwMywweDBmLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsMHgwMSwweGU2LDB4NjAsMHgwYiwweGFkLDB4NmEsMHhhZSwKLTB4NjksMHhhZiwweDY4LDB4NzQsMHgwMSwweDEyLDB4MDMsMHgwZiwweDdjLDB4MDIsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDAsCi0weDAyLDB4MmMsMHg2YSwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHhlNSwweDcyLDB4NDUsMHg3MSwweDYwLDB4MDMsMHgwMiwweDJjLAotMHg2YSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWEsMHhlNSwKLTB4NGMsMHgxNCwweDQ1LDB4NGIsMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHg3OCwweGFkLDB4ZTYsCi0weDU0LDB4ZmUsMHhmNiwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLAotMHgyYSwweGU1LDB4NmQsMHgyMCwweGUxLDB4MDgsMHhlNSwweDZkLDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOSwweDBjLDB4ZTUsMHg2ZCwKLTB4MzAsMHhlMCwweDA0LDB4ZTUsMHg0YSwweDcwLDB4MGIsMHhlNSwweDZkLDB4MzAsMHhlMSwweDA5LDB4ZTUsMHg0YSwweDI0LDB4ZmUsCi0weDUwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDA2LAotMHhkMywweDUwLDB4MDMsMHgwMiwweDI5LDB4MGEsMHhlNSwweDRjLDB4NDUsMHg0YiwweDYwLDB4MDMsMHgwMiwweDI5LDB4MGMsMHhhYywKLTB4NGEsMHgxMiwweDMwLDB4YWIsMHg0MCwweDAzLDB4MDIsMHgyOSwweDBjLDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwNywweGU1LDB4NmQsCi0weDIwLDB4ZTAsMHgwMiwweDgwLDB4NzcsMHhlNSwweDZkLDB4MzAsMHhlMCwweDA2LDB4ZTUsMHg0OSwweDYwLDB4MDIsMHg4MCwweDZjLAotMHhlNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHg4MiwweGUwLDB4NTQsMHhmNywweGYwLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg1NCwKLTB4ZjcsMHhmMCwweDIyLDB4ZTUsMHg0OSwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksMHg3ZCwweDAxLDB4N2MsCi0weDAzLDB4MTIsMHgwZiwweDA5LDB4ODAsMHgxMSwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDksMHg3ZCwweDAxLAotMHg3YywweDA0LDB4MTIsMHgwZiwweDA5LDB4ODAsMHgwMCwweDE1LDB4NDksMHgzMCwweDAyLDB4MTUsMHhlNSwweDQ5LDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhmNywweGYwLDB4ODAsCi0weDEzLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLAotMHhlMCwweDU0LDB4ZjcsMHhmMCwweDdjLDB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLDB4NmEsMHhlNSwKLTB4NmQsMHgyMCwweGU3LDB4MDYsMHhlNSwweDcyLDB4NDUsMHg3MSwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHg5MCwweGZmLDB4MDAsCi0weGUwLDB4NTQsMHgxZiwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MWEsMHhlNSwweDRjLDB4MTQsMHg0NSwweDRiLAotMHg3MCwweDA0LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI5LDB4ZWYsMHg3OCwweGFkLDB4ZTYsMHg0NCwweDAxLDB4ZjYsMHg3YywKLTB4MDAsMHgxMiwweDMwLDB4MjQsMHgyMiwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MjksMHhlNSwweDZkLDB4MjAsCi0weGUxLDB4MDgsMHhlNSwweDZkLDB4MjAsMHhlMCwweDAzLDB4MDIsMHgyOSwweGVmLDB4ZTUsMHg2ZCwweDMwLDB4ZTAsMHgwNCwweGU1LAotMHg0OSwweDcwLDB4MGIsMHhlNSwweDZkLDB4MzAsMHhlMSwweDA4LDB4ZTUsMHg0OSwweDI0LDB4ZmUsMHg1MCwweDAyLDB4ODAsMHg3ZiwKLTB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHg2ZiwweGU1LDB4NGMsCi0weDQ1LDB4NGIsMHg2MCwweDAyLDB4ODAsMHg2OSwweGFjLDB4NGEsMHgxMiwweDMwLDB4YWIsMHg0MCwweDAyLDB4ODAsMHg2MCwweGU1LAotMHg2ZCwweDIwLDB4ZTEsMHgwNywweGU1LDB4NmQsMHgyMCwweGUwLDB4MDIsMHg4MCwweDU0LDB4ZTUsMHg0OSwweDcwLDB4MTQsMHgzMCwKLTB4MDIsMHgwOSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4ODAsMHgwNywweDkwLDB4ZmYsMHg4MiwweGUwLDB4NDQsCi0weDA4LDB4ZjAsMHgyMiwweGU1LDB4NmQsMHgzMCwweGUxLDB4MzMsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsMHg0OSwweDc1LAotMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDQ0LDB4MDgsMHhmMCwKLTB4ODAsMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHg4MCwweDAyLDB4ODAsMHgwMCwweDAyLAotMHgyYywweDZhLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxMiwweGU1LDB4NzIsMHg0NSwweDcxLDB4NzAsMHgwYywweGU1LDB4NGEsMHg3MCwKLTB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4ZTUsMHg0YywweDkwLDB4ZmYsCi0weGZmLDB4ZjAsMHg5MCwweGZmLDB4ZmYsMHhlMCwweDYwLDB4MDUsMHg0MywweDZkLDB4MDEsMHg4MCwweDAzLDB4NTMsMHg2ZCwweGZlLAotMHg3YywweDAwLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhlNSwweDZkLDB4MzAsMHhlNywweDBlLDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg2MCwKLTB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywweDZhLDB4YWQsMHg0YiwweGU1LDB4NGMsCi0weGVkLDB4N2QsMHgwMCwweGZjLDB4N2QsMHgwMCwweGZjLDB4YmQsMHgwMCwweDAyLDB4ODAsMHgwMywweDAyLDB4MmIsMHg4OCwweGI0LAotMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgzMiwweGU1LDB4NGEsMHg3MCwweDA1LDB4ZTUsMHg0YywweGZjLDB4NjAsMHgwMywKLTB4MDIsMHgyYiwweDhhLDB4NzUsMHg2YSwweDQwLDB4NzUsMHg2OSwweGY4LDB4NzUsMHg2OCwweDAxLDB4ZDMsMHhlNSwweDcyLDB4OTQsCi0weDEyLDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MTIsMHg4MCwweDA0LDB4YWMsMHg3MiwweGFkLAotMHg3MSwweDhjLDB4NzAsMHg4ZCwweDZmLDB4MTIsMHgzMCwweDM5LDB4MjIsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4NTksMHhlNSwweDRhLDB4NjAsMHgwMywweDAyLDB4MmIsMHg4YSwweGU1LDB4NGMsMHhmYywweDcwLDB4MjcsMHg3NSwweDZhLDB4NTIsCi0weDc1LDB4NjksMHhmOCwweDc1LDB4NjgsMHgwMSwweGQzLDB4ZTUsMHg3MiwweDk0LDB4MTksMHhlNSwweDcxLDB4OTQsMHgwMCwweDQwLAotMHgwNiwweGU0LDB4ZmQsMHg3YywweDE5LDB4ODAsMHgwNCwweGFjLDB4NzIsMHhhZCwweDcxLDB4OGMsMHg3MCwweDhkLDB4NmYsMHgxMiwKLTB4MzAsMHgzOSwweDgwLDB4MjUsMHg3NSwweDZhLDB4NmIsMHg3NSwweDY5LDB4ZjgsMHg3NSwweDY4LDB4MDEsMHhkMywweGU1LDB4NzIsCi0weDk0LDB4MjcsMHhlNSwweDcxLDB4OTQsMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgyNywweDgwLDB4MDQsMHhhYywweDcyLAotMHhhZCwweDcxLDB4OGMsMHg3MCwweDhkLDB4NmYsMHgxMiwweDMwLDB4MzksMHgyMiwweGI0LDB4MDMsMHgwMiwweDgwLDB4MDYsMHhkMywKLTB4NTAsMHgwMywweDAyLDB4MmIsMHg4OCwweGU1LDB4NGMsMHhmNSwweDQ5LDB4NzAsMHgwZiwweDkwLDB4ZmYsMHgwNCwweGUwLDB4ZmQsCi0weGEzLDB4ZTAsMHg0ZCwweDYwLDB4MDMsMHgwMiwweDJiLDB4OGEsMHg4MCwweDE4LDB4OTAsMHhmYiwweDAyLDB4ZTAsMHhmZCwweGEzLAotMHhlMCwweGZjLDB4OTAsMHhmZiwweDA1LDB4ZTAsMHg2YywweDcwLDB4MDcsMHg5MCwweGZmLDB4MDQsMHhlMCwweDZkLDB4NjAsMHgwMiwKLTB4ODAsMHg2OCwweGU0LDB4ZjUsMHg3MCwweGY1LDB4NmYsMHg3ZiwweDAwLDB4ZTUsMHg0OSwweDE0LDB4YzUsMHg0OSwweDYwLDB4MGYsCi0weGVmLDB4MjQsMHgwMCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmIsMHhmNSwweDgzLDB4ZTAsMHgyZiwweGZmLDB4ODAsMHhlYSwweDhmLAotMHg0YSwweGU1LDB4NGEsMHgyNCwweDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweDdkLDB4MDAsMHhkMywKLTB4OTUsMHg3MiwweGVkLDB4OTUsMHg3MSwweDQwLDB4MDYsMHhhYywweDcyLDB4YWQsMHg3MSwweDgwLDB4MGYsMHhlNSwweDRhLDB4MjQsCi0weDAwLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYiwweGY1LDB4ODMsMHhlMCwweDdkLDB4MDAsMHhmYywweDhjLDB4NzAsMHg4ZCwweDZmLAotMHhlNSwweDRhLDB4MjQsMHgwMCwweGZjLDB4ZTQsMHgzNCwweGZiLDB4ZmQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OGQsMHg2YSwKLTB4OGUsMHg2OSwweDhmLDB4NjgsMHgxMiwweDMwLDB4MzksMHgyMiwweDgwLDB4MDAsMHgwMiwweDJjLDB4NmEsMHgwMiwweDJjLDB4NmEsCi0weGU1LDB4NmQsMHgzMCwweGU3LDB4MTksMHhlNSwweDcyLDB4MTQsMHg0NSwweDcxLDB4NzAsMHgxMiwweGU1LDB4NGEsMHg3MCwweDBlLAotMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDgsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHg2MCwweDAzLDB4MDIsMHgyYywKLTB4NmEsMHhlNSwweDZkLDB4MjAsMHhlMCwweDA4LDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwMywweDAyLDB4MmMsMHg2YSwweDc1LDB4NmEsCi0weDZlLDB4ZTQsMHhmNSwweDY5LDB4ZjUsMHg2OCwweGU0LDB4ZjUsMHg2ZiwweDA0LDB4ZjUsMHg3MCwweDEyLDB4MzAsMHgzOSwweDIyLAotMHhlNSwweDZkLDB4MjAsMHhlNywweDEyLDB4ZTUsMHg3MiwweDQ1LDB4NzEsMHg3MCwweDBjLDB4ZTUsMHg0YSwweDcwLDB4MDgsMHg5MCwKLTB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLDB4NmEsMHhlNSwweDZkLDB4MjAsMHhlMCwweDA3LDB4ZTUsCi0weDZkLDB4MjAsMHhlMSwweDAyLDB4ODAsMHg3NCwweDg1LDB4NGMsMHg2ZSwweGU1LDB4NmUsMHg3MCwweDA4LDB4NDMsMHg2ZCwweDAxLAotMHg1MywweDZkLDB4ZmQsMHg4MCwweDA2LDB4NTMsMHg2ZCwweGZlLDB4NDMsMHg2ZCwweDAyLDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwKLTB4MjIsMHhlNSwweDZkLDB4MzAsMHhlNywweDFhLDB4ZTUsMHg3MiwweDE0LDB4NDUsMHg3MSwweDcwLDB4MTMsMHhlNSwweDRhLDB4NzAsCi0weDBmLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4MTQsMHg2MCwweDAyLAotMHg4MCwweDM4LDB4ZTUsMHg2ZCwweDIwLDB4ZTEsMHgwMiwweDgwLDB4MzEsMHg3YywweDAxLDB4MTIsMHgzMCwweDI0LDB4MjIsMHhlNSwKLTB4NmQsMHgyMCwweGU3LDB4MTUsMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MGYsMHhlNSwweDRjLDB4NDUsMHg0YiwweDcwLDB4MDksCi0weDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwweDgwLDB4MGYsMHhlNSwweDZkLDB4MjAsMHhlMSwweDAyLAotMHg4MCwweDA4LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4ODAsMHgwMCwweDAyLDB4MmYsMHgyYiwweGI0LDB4NDAsMHgwMiwKLTB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MmYsMHgyMSwweDkwLDB4ZmYsMHgwMSwweGUwLDB4OTAsMHhmYywweDM1LDB4ZjAsCi0weGU1LDB4NGEsMHg5MCwweGZjLDB4MzYsMHhmMCwweGU0LDB4OTAsMHhmYywweDM3LDB4ZjAsMHhlNSwweDZhLDB4MjQsMHgwMywweGY1LAotMHg2YSwweGU1LDB4NjksMHgzNCwweDAwLDB4ZjUsMHg2OSwweGFkLDB4NGIsMHhlNSwweDRjLDB4ODUsMHg2YSwweDgyLDB4ODUsMHg2OSwKLTB4ODMsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwweDAxLDB4YjcsMHgyYywweGQ4LDB4MDEsCi0weDJjLDB4ZmUsMHgwMiwweDJkLDB4MjgsMHgwMywweDJkLDB4NTIsMHgwNCwweDJkLDB4YTAsMHgwNSwweDJkLDB4ZGQsMHgwNiwweDJlLAotMHgwMywweDA3LDB4MmUsMHgyOSwweDA4LDB4MmUsMHg1NSwweDA5LDB4MmUsMHg3YiwweDBiLDB4MmUsMHhhMSwweDBjLDB4MmUsMHhiMCwKLTB4ODAsMHgyZSwweGIwLDB4ODEsMHgwMCwweDAwLDB4MmYsMHgwZSwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHg3YywweDA1LDB4MTIsCi0weDI1LDB4YmYsMHgyMiwweDdkLDB4MjQsMHg3ZSwweDM1LDB4N2YsMHgwMiwweDc5LDB4MzgsMHg3YSwweGZjLDB4N2IsMHgwMSwweDc0LAotMHgwOCwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3ZCwweDA4LDB4N2MsMHgwMCwweDEyLDB4MjUsMHgyNiwweDIyLDB4ZTUsMHg2ZCwKLTB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsCi0weGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMCwweDEyLDB4MzEsMHhmYiwweDIyLAotMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjUsMHgyNiwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwKLTB4MjUsMHhiZiwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsCi0weDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMSwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDcsMHgxMiwweDI1LAotMHgyNiwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LDB4NGEsMHhiNCwKLTB4MDUsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MGEsMHgxMiwweDMxLDB4ZmIsCi0weDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwOCwweDEyLAotMHgzMSwweGZiLDB4MjIsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwKLTB4MDAsMHhmZSwweDdjLDB4MTMsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDdkLDB4MDAsMHg3YywweDA3LDB4MTIsMHgyNSwweDI2LDB4MjIsCi0weGU1LDB4NmQsMHgyMCwweGU3LDB4MzQsMHhkMywweGU1LDB4NzIsMHg5NCwweDQ4LDB4ZTUsMHg3MSwweDk0LDB4MDAsMHg1MCwweDA2LAotMHhlNSwweDcyLDB4NDUsMHg3MSwweDcwLDB4MDYsMHg3YywweDAyLDB4MTIsMHgyNSwweGJmLDB4MjIsMHhlNSwweDRhLDB4YjQsMHgwMSwKLTB4MDMsMHhiMywweDQwLDB4MGIsMHhjMywweGI0LDB4MDMsMHgwMCwweDQwLDB4MDksMHhiNCwweDA2LDB4MDAsMHg1MCwweDA0LDB4MTIsCi0weDMwLDB4ZDEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLAotMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwKLTB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNiwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsCi0weDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LAotMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE5LDB4MTIsMHgzMSwweGZiLDB4MjIsMHg3YywKLTB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgyMywweDc0LDB4ODEsCi0weDkwLDB4ZmYsMHg5MywweGYwLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLAotMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNywweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwKLTB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsCi0weDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE4LDB4MTIsMHgzMSwweGZiLAotMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4YmYsMHgyMiwweDEyLDB4MjUsMHg1ZCwweDIyLDB4ZTUsMHg2ZCwweDIwLDB4ZTcsMHgxZCwKLTB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsCi0weGZlLDB4N2MsMHgxNSwweDEyLDB4MzEsMHhmYiwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4MTIsMHgyNSwweDVkLAotMHgyMiwweGU1LDB4NmQsMHgyMCwweGU3LDB4MDYsMHg3YywweDA3LDB4MTIsMHgyNSwweGJmLDB4MjIsMHgxMiwweDI1LDB4NWQsMHgyMiwKLTB4ZTUsMHg2ZCwweDMwLDB4ZTcsMHgyMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDcwLDB4MTAsMHg5MCwweGZmLDB4MDEsCi0weGUwLDB4YjQsMHg4MCwweDA1LDB4MTIsMHgyNSwweDU0LDB4ODAsMHgwMywweDEyLDB4MjUsMHg1ZCwweDIyLDB4N2QsMHgwMCwweDdjLAotMHgwNSwweDEyLDB4MjUsMHgyNiwweDIyLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwNiwweDdjLDB4MDUsMHgxMiwKLTB4MjUsMHhiZiwweDIyLDB4ZDMsMHhlNSwweDcyLDB4OTQsMHg0OCwweGU1LDB4NzEsMHg5NCwweDAwLDB4NTAsMHgwYiwweGMzLDB4ZTUsCi0weDcyLDB4OTQsMHgwNywweGU1LDB4NzEsMHg5NCwweDAwLDB4NTAsMHgwNiwweDdjLDB4MDMsMHgxMiwweDI1LDB4YmYsMHgyMiwweGU1LAotMHg0YSwweGI0LDB4MDUsMHgwNCwweDEyLDB4MzAsMHhkMSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHhiZiwweDIyLDB4ZTUsMHg2ZCwKLTB4MzAsMHhlNywweDA4LDB4N2QsMHgwMCwweDdjLDB4MDUsMHgxMiwweDI1LDB4MjYsMHgyMiwweDdjLDB4MDUsMHgxMiwweDI1LDB4YmYsCi0weDIyLDB4YjQsMHgyMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDgwLDB4MDAsMHgxMiwweDJmLDB4ZmYsMHgyMiwweDc1LAotMHg0MywweDAwLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZDMsMHg5NSwweDQzLDB4NDAsMHgyNCwweGU1LDB4NDMsMHgyNCwKLTB4ZjAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZlLDB4ZjUsMHg4MywweGUwLDB4YWQsMHg2YSwweGFlLDB4NjksMHhhZiwweDY4LDB4MTIsCi0weDAzLDB4MGYsMHgwNSwweDQzLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NmEsMHg4ZSwweDY5LDB4OGYsMHg2OCwweDgwLAotMHhkMSwweGU1LDB4NDMsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NzAsMHg5YywweGY1LDB4NzAsMHhlNSwweDZmLDB4OWQsMHhmNSwKLTB4NmYsMHhlNSwweDcwLDB4NDUsMHg2ZiwweDYwLDB4MDYsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsCi0weGUwLDB4NDQsMHgwOCwweGYwLDB4ZTQsMHhmNSwweDZmLDB4NzUsMHg3MCwweDQ5LDB4OTAsMHhmYywweDM1LDB4ZTAsMHhiNCwweDA1LAotMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NDAsMHg5MCwweGZjLDB4MzYsMHhlMCwweGY1LDB4NDMsMHhiNCwweDA1LDB4MDIsMHg4MCwKLTB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MGIsMHgxMiwweDMxLDB4ZmIsMHgyMiwweGI0LDB4MDEsCi0weDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwOSwweDEyLDB4MzEsMHhmYiwweDIyLAotMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NDMsMHg3ZiwweDAwLDB4ZmUsMHg3YywKLTB4MTQsMHgxMiwweDMxLDB4ZmIsMHgyMiwweDIyLDB4YjQsMHg4MCwweDAwLDB4NDAsMHgyMywweGI0LDB4ODIsMHgwMCwweDUwLDB4MWUsCi0weDdjLDB4MzUsMHg3ZCwweGZjLDB4MTIsMHgxNywweDdlLDB4N2QsMHgwMCwweDhjLDB4NmMsMHg4ZCwweDZiLDB4OTAsMHhmYywweDM3LAotMHhlMCwweDYwLDB4MDUsMHgxMiwweDJmLDB4ZmYsMHg4MCwweDA1LDB4N2MsMHgwMCwweDEyLDB4MzAsMHgyNCwweDIyLDB4MjIsMHg5MCwKLTB4ZmYsMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLDB4ODAsCi0weGUwLDB4NDQsMHgwOCwweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLAotMHg0NCwweDA4LDB4ZjAsMHgyMiwweDhjLDB4MjMsMHg3ZCwweDAwLDB4OGMsMHg3MCwweDhkLDB4NmYsMHg3NSwweDZhLDB4MzUsMHg3NSwKLTB4NjksMHhmYywweDc1LDB4NjgsMHgwMSwweDEyLDB4MzAsMHgzOSwweDIyLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsCi0weGU1LDB4NzAsMHg2NCwweDQ5LDB4NDUsMHg2ZiwweDcwLDB4MDEsMHgyMiwweGMzLDB4ZTUsMHg3MCwweDk0LDB4MDgsMHhlNSwweDZmLAotMHg5NCwweDAwLDB4NDAsMHgxNSwweDc1LDB4MjEsMHgwOCwweGU1LDB4MjEsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NzAsMHg5YywKLTB4ZjUsMHg3MCwweGU1LDB4NmYsMHg5ZCwweGY1LDB4NmYsMHg4MCwweDA5LDB4ODUsMHg3MCwweDIxLDB4ZTQsMHhmNSwweDZmLDB4NzUsCi0weDcwLDB4NDksMHg3NSwweDIyLDB4MDAsMHhlNSwweDIyLDB4YzMsMHg5NSwweDIxLDB4NTAsMHgyNiwweGFkLDB4NmEsMHhhZSwweDY5LAotMHhhZiwweDY4LDB4MTIsMHgwMSwweGU2LDB4ZmMsMHhlNSwweDIyLDB4MjQsMHhmOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwKLTB4ODMsMHhlYywweGYwLDB4MDUsMHgyMiwweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDZhLDB4OGUsMHg2OSwweDhmLDB4NjgsCi0weDgwLDB4ZDMsMHhlNSwweDIxLDB4NTQsMHg3ZiwweDkwLDB4ZmYsMHg4MSwweGYwLDB4MjIsMHg4YywweDQ4LDB4N2YsMHgwMCwweGVmLAotMHgyNCwweGZkLDB4NDAsMHgxOSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4N2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZjgsMHhmNSwweDgzLDB4ZTAsMHg2NSwweDQ4LDB4NzAsMHgwMiwweGQzLDB4MjIsMHgwZiwweDgwLDB4ZTIsMHg4ZiwweDQ3LDB4YzMsCi0weDIyLDB4ODUsMHg3MiwweDcwLDB4ODUsMHg3MSwweDZmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4MjIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywKLTB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweDg2LDB4MDYsMHg1MywweDA2LDB4N2YsMHg3YywweGZmLDB4MTIsMHgzMSwweDViLDB4N2MsCi0weDAwLDB4N2QsMHgwMCwweGU1LDB4N2IsMHg2MCwweDQ2LDB4ZmYsMHg5MCwweGZkLDB4OTUsMHhlMCwweDU0LDB4N2YsMHg2ZSwweDcwLAotMHgwZiwweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4YTMsMHgxNSwweDdiLDB4ODAsMHgwNywKLTB4YTMsMHhhMywweGEzLDB4ZGYsMHhlNiwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweDFlLDB4ZTAsCi0weGY4LDB4YTMsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLAotMHhhMywweGVhLDB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDEyLDB4MzEsMHhmNCwKLTB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHgyMiwweDg1LDB4YTgsMHg3YSwweDc1LDB4YTgsCi0weDg4LDB4ZWMsMHg3MCwweDAyLDB4N2MsMHgzZiwweDhjLDB4NzksMHgyMiwweGU1LDB4NzgsMHgyNCwweDA4LDB4ZjgsMHg3NiwweDAwLAotMHgxMiwweDMyLDB4NDgsMHg4MCwweGZiLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhhZSwKLTB4MDQsMHg3YywweGZmLDB4MTIsMHgzMSwweDViLDB4ZTUsMHg3YiwweDYwLDB4NDIsMHhmZiwweDkwLDB4ZmQsMHg5NSwweGUwLDB4NTQsCi0weDdmLDB4NmUsMHg3MCwweDBiLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHgxNSwweDdiLDB4ODAsMHgwNywweGEzLAotMHhhMywweGEzLDB4ZGYsMHhlYSwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweGQ4LDB4ZTAsMHhmOCwKLTB4YTMsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLDB4YTMsCi0weGVhLDB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDc4LDB4MDgsMHgwOCwweDc5LAotMHgxOCwweDA5LDB4N2MsMHgwMSwweGU2LDB4NTQsMHg3ZiwweDZlLDB4NzAsMHgwNiwweDc2LDB4MDAsMHg3NywweDAwLDB4ODAsMHgwNiwKLTB4MDgsMHgwOSwweDBjLDB4YmMsMHgwOCwweGVlLDB4MTIsMHgzMSwweGY0LDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsCi0weDAxLDB4ZDAsMHgwMCwweDIyLDB4NzUsMHg3OSwweDAwLDB4ODUsMHg3YSwweGE4LDB4MjIsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLAotMHg4MywweGMzLDB4ZTUsMHg3YiwweDI0LDB4ZTgsMHg1MCwweDA1LDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhmNCwweGVjLDB4NjAsMHgzMSwKLTB4OTAsMHgzNSwweDIzLDB4ZTQsMHg5MywweGMzLDB4OWMsMHg0MCwweDI4LDB4YzAsMHgwNCwweDdjLDB4ZmYsMHgxMiwweDMxLDB4NWIsCi0weGQwLDB4MDQsMHg0MywweDA0LDB4ODAsMHhlNSwweDdiLDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZkLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlZiwweGEzLDB4ZjAsMHhlZSwweGEzLDB4ZjAsMHgwNSwweDdiLDB4MTIsMHgzMSwKLTB4ZjQsMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweGMwLDB4MDQsMHg3YywweDIwLDB4ZDIsMHg4YywweGQyLDB4OGQsCi0weGQ1LDB4MDQsMHhmZCwweGQwLDB4MDQsMHgyMiwweDc1LDB4YTgsMHgwMCwweDc1LDB4ODgsMHgwMCwweDc1LDB4YjgsMHgwMCwweDc1LAotMHhmMCwweDAwLDB4NzUsMHhkMCwweDAwLDB4ZTQsMHhmOCwweDkwLDB4MDAsMHgwMCwweGY2LDB4MDgsMHhiOCwweDAwLDB4ZmIsMHgwMiwKLTB4MDAsMHgwMCwweGMzLDB4ZWQsMHg5NCwweDAyLDB4NTAsMHgwNCwweDdkLDB4MDMsMHg3YywweGU4LDB4ZWMsMHhmNCwweGZjLDB4ZWQsCi0weGY0LDB4ZmQsMHgwYywweGJjLDB4MDAsMHgwMSwweDBkLDB4OGMsMHg3ZiwweDhkLDB4N2UsMHgyMiwweGMzLDB4ZWMsMHg5NCwweGJjLAotMHhlZCwweDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwNywweDdjLDB4ZDAsMHhlYywweGY0LDB4ZmMsMHhlZCwweGY0LDB4ZmQsMHgwYywKLTB4YmMsMHgwMCwweDAxLDB4MGQsMHg4YywweDdkLDB4OGQsMHg3YywweDIyLDB4ZWMsMHg3MCwweDAxLDB4MjIsMHhjMCwweDAwLDB4ZTUsCi0weDc4LDB4MjQsMHgxOCwweGY4LDB4YTYsMHgwNCwweGU1LDB4NzgsMHgyNCwweDA4LDB4ZjgsMHhjNiwweDU0LDB4N2YsMHhmNiwweGU2LAotMHgzMCwweGU3LDB4MDMsMHhkMCwweDAwLDB4MjIsMHgxMiwweDMyLDB4NDgsMHg4MCwweGY0LDB4YzIsMHg4YywweDg1LDB4N2MsMHg4YywKLTB4ODUsMHg3ZCwweDhhLDB4ZDIsMHg4YywweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsCi0weDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweDEyLAotMHgxYSwweGQxLDB4ZTUsMHg3OCwweDI0LDB4MDgsMHhmOCwweGU2LDB4NjAsMHgyNCwweGU1LDB4NzgsMHgyNCwweDEwLDB4ZjgsMHhhNiwKLTB4ODEsMHhlNSwweDc4LDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDhkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsCi0weDc4LDB4YWUsMHhlNSwweDgxLDB4MDQsMHhjMywweDk4LDB4ZjksMHhlNiwweGYwLDB4MDgsMHhhMywweGQ5LDB4ZmEsMHg3NCwweDA4LAotMHgyNSwweDc4LDB4ZjgsMHgwNSwweDc4LDB4MDgsMHhlNiwweDU0LDB4ODAsMHg3MCwweDBjLDB4ZTUsMHg3OCwweGI0LDB4MDcsMHhmMywKLTB4NzgsMHgwOCwweDc1LDB4NzgsMHgwMCwweDgwLDB4ZWYsMHhlNSwweDc4LDB4MjQsMHgxMCwweGY4LDB4ODYsMHg4MSwweGU1LDB4NzgsCi0weDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg4ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4NzgsMHhhZSwweGU1LAotMHg4MSwweDA0LDB4YzMsMHg5OCwweGY5LDB4ZTAsMHhmNiwweDA4LDB4YTMsMHhkOSwweGZhLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwKLTB4MDUsMHhkMCwweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsCi0weGYwLDB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLAotMHhjMiwweDhlLDB4ODUsMHg3ZSwweDhkLDB4ODUsMHg3ZiwweDhiLDB4ZDIsMHg4ZSwweDc4LDB4MTksMHg3OSwweDA5LDB4N2EsMHgwNywKLTB4ZTcsMHg3MCwweDA0LDB4YTYsMHgwMCwweDgwLDB4MGIsMHhlNiwweDYwLDB4MDgsMHgxNiwweGU2LDB4NzAsMHgwNCwweGU3LDB4NDQsCi0weDgwLDB4ZjcsMHgwOCwweDA5LDB4ZGEsMHhlYSwweGU1LDB4NzksMHg2MCwweDEzLDB4MTQsMHhmNSwweDc5LDB4NzAsMHgwZSwweGU1LAotMHg3OCwweDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsMHgxMiwweDMxLDB4ZjQsMHhkMiwweDhjLDB4ZDIsMHg4ZCwweGQwLDB4MDIsMHhkMCwKLTB4MDEsMHhkMCwweDAwLDB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweDc1LDB4ODEsMHhhZCwweDc0LDB4MmEsMHg5MCwweGZmLDB4OTMsCi0weGYwLDB4NzUsMHg3ZiwweDMwLDB4NzUsMHg3ZSwweGY4LDB4NzUsMHg3ZCwweDYwLDB4NzUsMHg3YywweGYwLDB4MTIsMHgwNSwweDM2LAotMHgxMiwweDM0LDB4N2MsMHgxMiwweDE3LDB4MzQsMHg5MCwweGZmLDB4OTMsMHhlMCwweDQ0LDB4MDEsMHhmMCwweGIyLDB4YjMsMHgxMiwKLTB4MzQsMHhhNiwweDEyLDB4MzIsMHg1NiwweDgwLDB4ZGEsMHgyMiwweGMwLDB4MDAsMHg3YywweDAxLDB4ZWMsMHgyNCwweDA4LDB4ZjgsCi0weGU2LDB4NjAsMHgwOSwweDBjLDB4YmMsMHgwOCwweGY1LDB4MTIsMHgzMiwweDQ4LDB4ODAsMHhlZSwweGQwLDB4MDAsMHgyMiwweGMwLAotMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMCwweGMwLDB4MDYsMHhjMCwweDA3LDB4ZWQsMHgyNCwweDEwLDB4ZjgsMHg3NiwKLTB4YmMsMHhlZCwweDc1LDB4ZjAsMHgyMSwweGE0LDB4MjQsMHg4ZCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4YzAsCi0weDgyLDB4YzAsMHg4MywweGEzLDB4YTMsMHhlNCwweDc4LDB4MGQsMHhmMCwweGEzLDB4ZDgsMHhmYywweGVjLDB4NTQsMHg3ZiwweDc1LAotMHhmMCwweDAyLDB4YTQsMHgyNCwweGVmLDB4ZjUsMHg4MiwweGU1LDB4ZjAsMHgzNCwweDM0LDB4ZjUsMHg4MywweGU0LDB4OTMsMHhmZSwKLTB4NzQsMHgwMSwweDkzLDB4ZjUsMHg4MiwweDhlLDB4ODMsMHhlNCwweDkzLDB4ZmUsMHg3NCwweDAxLDB4OTMsMHhmZiwweGQwLDB4ODMsCi0weGQwLDB4ODIsMHhlZiwweGYwLDB4YTMsMHhlZSwweGYwLDB4ZWQsMHgyNCwweDA4LDB4ZjgsMHhlYywweDQ0LDB4ODAsMHhmNiwweGQwLAotMHgwNywweGQwLDB4MDYsMHhkMCwweDAwLDB4ZDAsMHg4MywweGQwLDB4ODIsMHhkMCwweGYwLDB4MjIsMHg3NSwweDc4LDB4MDAsMHg3NSwKLTB4N2IsMHgwMCwweDdhLDB4MDgsMHg3OSwweDE4LDB4NzgsMHgwOCwweDc2LDB4MDAsMHg3NywweDAwLDB4MDgsMHgwOSwweGRhLDB4ZjgsCi0weGU0LDB4NzgsMHgwOCwweDc0LDB4ODAsMHg0NCwweDdmLDB4ZjYsMHg3NCwweDAxLDB4NDQsMHgxMCwweGY1LDB4ODksMHg3NSwweGI4LAotMHgwOCwweGQyLDB4YWIsMHhkMiwweGE5LDB4MjIsMHg3NSwweDgxLDB4YWQsMHhkMiwweDhlLDB4ZDIsMHg4YywweGQyLDB4YWYsMHhlNSwKLTB4N2IsMHg2MCwweDMyLDB4ZmYsMHg5MCwweGZkLDB4OTUsMHhlMCwweDU0LDB4ODAsMHg2MCwweDI0LDB4NzgsMHgwOCwweDc5LDB4MDgsCi0weGUwLDB4NTQsMHg3ZiwweGZhLDB4N2IsMHgwMCwweGU2LDB4NTQsMHg3ZiwweGI1LDB4MDIsMHgwMiwweDdiLDB4ZmYsMHgwOCwweGQ5LAotMHhmNSwweGViLDB4NzAsMHgwYywweGVhLDB4ZjAsMHgxMiwweDMzLDB4ZjgsMHhhZCwweDA0LDB4YWMsMHgwMiwweDEyLDB4MzQsMHgwZiwKLTB4YTMsMHhhMywweGEzLDB4ZGYsMHhkMiwweDEyLDB4MzIsMHg0OCwweDgwLDB4YzUsMHg3YywweDAxLDB4N2QsMHgwMCwweDIyLDB4MDQsCi0weGY1LDB4MDQsMHhlOSwweDA0LDB4ZWQsMHgwNCwweGUxLDB4MDQsMHhkZCwweDA0LDB4ZDksMHgwNCwweGU1LDB4MDQsMHhmMSwweDA0LAotMHg5ZCwweDA0LDB4YTEsMHgwNCwweGNkLDB4MDQsMHhkMSwweDA0LDB4OTksMHgwNCwweDk5LDB4MDQsMHg5OSwweDA0LDB4ZDUsMHgwNCwKLTB4YjUsMHgwNCwweGFkLDB4MDQsMHhiMSwweDA0LDB4YTksMHgwNCwweGMxLDB4MDQsMHhiZCwweDA0LDB4YjksMHgwNCwweGM1LDB4MDQsCi0weGM5LDB4MDQsMHhhNSwweDE5LDB4MDEsMHgwMywweDAwLDB4MjIsMHgwMCwweDQ4LDB4MDIsMHgwMCwweDQ4LDB4MGUsMHgzMCwweDE0LAotMHgyMCwweGM4LDB4MWEsMHhkMCwweDE4LDB4MGEsMHgwYywweDA1LDB4MDYsMHgwMiwweDAzLDB4MDEsMHgwMiwweDAwLDB4MDEsMHhjZSwKLTB4MDEsMHg4MSwweDAxLDB4MDAsMHgwMCwweGMwLDB4MDAsMHg4MCwweDAwLDB4NjAsMHgwMCwweDMwLDB4MDAsMHgxOCwweDAwLDB4MTAsCi0weDAwLDB4MDgsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDEsMHgwMCwweDA4LDB4MTgsMHgzOCwweDI4LDB4MGMsMHgwNSwweDEwLAotMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAzLDB4MDEsMHgxMCwweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsMHgwMCwKLTB4MDAsMHhmYiwweGUwLDB4ZmIsMHhmMiwweDA5LDB4MDIsMHgyNywweDAwLDB4MDEsMHgwMiwweDAwLDB4YTAsMHgzMiwweDA5LDB4MDQsCi0weDAwLDB4MDAsMHgwMywweGZmLDB4MDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgxLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LAotMHgwMSwweDAyLDB4NDAsMHgwMCwweDAwLDB4MDcsMHgwNSwweDgzLDB4MDMsMHgwMiwweDAwLDB4MDEsMHgyMiwweDAzLDB4NTQsMHgwMCwKLTB4NTUsMHgwMCwweDUzLDB4MDAsMHg0MiwweDAwLDB4MzMsMHgwMCwweDM0LDB4MDAsMHgzMSwweDAwLDB4MzAsMHgwMCwweDIwLDB4MDAsCi0weDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgwMCwweDAwLAotMHgwMCwweDAwLAotfTsKLQotI2VuZGlmIC8qIGlmbmRlZiBfVElfRldfMzQxMF9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzUwNTIuaCBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV9md181MDUyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjY2Y0MGEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX2Z3XzUwNTIuaAorKysgL2Rldi9udWxsCkBAIC0xLDg4NSArMCwwIEBACi0vKiB2aTogdHM9OCBzdz04Ci0gKgotICogVEkgNTA1MiBVU0IgU2VyaWFsIERyaXZlciBGaXJtd2FyZSBIZWFkZXIKLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQgVGV4YXMgSW5zdHJ1bWVudHMKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICovCi0KLSNpZm5kZWYgX1RJX0ZXXzUwNTJfSF8KLSNkZWZpbmUgX1RJX0ZXXzUwNTJfSF8KLQotLyogZmlybXdhcmUgOS8xOC8wNCAqLwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciB0aV9md181MDUyW10gPSB7Ci0weEMxLCAweDM1LAkvKiBmaXJtd2FyZSBpbWFnZSBsZW5ndGggZXhjbHVkaW5nIGhlYWRlciwgbGl0dGxlIGVuZGlhbiAqLwotMHgwMCwgCQkvKiBwbGFjZWhvbGRlciBmb3IgY2hlY2tzdW0gKi8KLQotMHgwMiwweDAwLDB4MWUsMHgwMiwweDFiLDB4MzIsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHgzMiwweDZhLDB4ZmYsMHhmZiwKLTB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4MzMsMHgxNSwweDc1LDB4ODEsCi0weGM4LDB4OTAsMHhmZSwweGYwLDB4ODUsMHg4MywweGEwLDB4MTIsMHgzNCwweDdkLDB4ZWMsMHg0ZCwweDYwLDB4NmEsMHg3OCwweGE1LAotMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHg5NiwweGZhLDB4NzgsMHg3OSwweDgwLDB4MDMsMHg3NiwweDAwLDB4MTgsMHhiOCwKLTB4NWYsMHhmYSwweDc4LDB4MjAsMHg4MCwweDAzLDB4NzYsMHgwMCwweDE4LDB4YjgsMHgyMCwweGZhLDB4OTAsMHhmZSwweGU1LDB4YWUsCi0weDgzLDB4YWYsMHg4MiwweDkwLDB4ZmQsMHgwMCwweDEyLDB4MDAsMHhhMSwweDYwLDB4MDUsMHhlNCwweGYwLDB4YTMsMHg4MCwweGY2LAotMHg5MCwweGZlLDB4ZjAsMHhhOCwweDgyLDB4OTAsMHhmZSwweGYwLDB4YTksMHg4MiwweGU4LDB4YzMsMHg5OSwweDUwLDB4MDUsMHg3NiwKLTB4MDAsMHgwOCwweDgwLDB4ZjYsMHg5MCwweDAwLDB4ZmYsMHgxMiwweDAwLDB4YWEsMHg5MCwweDAxLDB4MDMsMHgxMiwweDAwLDB4YWEsCi0weDkwLDB4MDEsMHgwNywweDEyLDB4MDAsMHhhYSwweDkwLDB4MDEsMHgwYiwweDEyLDB4MDAsMHhjOCwweDkwLDB4MDEsMHgxMSwweDEyLAotMHgwMCwweGM4LDB4OTAsMHgwMSwweDE3LDB4MTIsMHgwMCwweGM4LDB4NzUsMHhkMCwweDAwLDB4MTIsMHgzMywweDY3LDB4MDIsMHgwMSwKLTB4MWQsMHhlZiwweDY1LDB4ODIsMHg3MCwweDAzLDB4ZWUsMHg2NSwweDgzLDB4MjIsMHhlNCwweDkzLDB4ZjgsMHg3NCwweDAxLDB4OTMsCi0weGY5LDB4NzQsMHgwMiwweDkzLDB4ZmUsMHg3NCwweDAzLDB4OTMsMHhmNSwweDgyLDB4OGUsMHg4MywweGU4LDB4NjksMHg3MCwweDAxLAotMHgyMiwweGU0LDB4OTMsMHhmNiwweGEzLDB4MDgsMHg4MCwweGY0LDB4ZTQsMHg5MywweGZjLDB4NzQsMHgwMSwweDkzLDB4ZmQsMHg3NCwKLTB4MDIsMHg5MywweGZlLDB4NzQsMHgwMywweDkzLDB4ZmYsMHg3NCwweDA0LDB4OTMsMHhmOCwweDc0LDB4MDUsMHg5MywweGY1LDB4ODIsCi0weDg4LDB4ODMsMHgxMiwweDAwLDB4YTEsMHg3MCwweDAxLDB4MjIsMHhlNCwweDkzLDB4YTMsMHhhOCwweDgzLDB4YTksMHg4MiwweDhjLAotMHg4MywweDhkLDB4ODIsMHhmMCwweGEzLDB4YWMsMHg4MywweGFkLDB4ODIsMHg4OCwweDgzLDB4ODksMHg4MiwweDgwLDB4ZTMsMHgyMSwKLTB4MjEsMHgwNCwweDkyLDB4N2EsMHg3YSwweDA0LDB4OTIsMHhhNiwweGE4LDB4MDQsMHg5MiwweGZlLDB4ZjAsMHgwNCwweDk0LDB4MDQsCi0weDk0LDB4ZmIsMHhmYiwweDA0LDB4OTksMHgwNCwweDk0LDB4ZmIsMHhmYiwweDA0LDB4ZjksMHgwNCwweGY5LDB4ODAsMHhmZSwweGQwLAotMHhmMCwweDMwLDB4ZjAsMHgwOSwweDIwLDB4ZjMsMHgwMywweGY2LDB4ODAsMHgxMCwweGY3LDB4ODAsMHgwZCwweDMwLDB4ZjEsMHgwOSwKLTB4MjAsMHhmMywweDAzLDB4ZjIsMHg4MCwweDA0LDB4ZjMsMHg4MCwweDAxLDB4ZjAsMHgyMCwweGY0LDB4MDQsMHhmYywweGQwLDB4ZTAsCi0weGNjLDB4MjIsMHhjYywweGMwLDB4ZTAsMHgxMiwweDAxLDB4NWEsMHgwMiwweDAxLDB4NGIsMHhiYywweDAwLDB4MDUsMHhkMCwweGYwLAotMHhhYywweGYwLDB4MjIsMHhjMywweDEzLDB4ZGMsMHhmYywweDAyLDB4MDEsMHgyMSwweGJmLDB4MDAsMHgwOSwweGVkLDB4MjUsMHg4MiwKLTB4NzUsMHhmMCwweDAxLDB4ZjgsMHhlNiwweDIyLDB4YmYsMHgwMSwweDBmLDB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsCi0weDgzLDB4ZjUsMHg4MywweDc1LDB4ZjAsMHgwNCwweGUwLDB4MjIsMHhlZCwweDI1LDB4ODIsMHg3NSwweGYwLDB4MDIsMHhmOCwweGUyLAotMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGMzLDB4ZTQsMHg5MywweGEzLDB4YzUsMHhmMCwweDk1LDB4ZjAsMHhjMCwKLTB4ZTAsMHhjMywweGQwLDB4ZjAsMHhlNCwweDkzLDB4YTMsMHg5NSwweGYwLDB4NDAsMHgxMiwweGEzLDB4YTMsMHhjMywweGU1LDB4ZjAsCi0weDMzLDB4NTAsMHgwMiwweDA1LDB4ODMsMHgyNSwweDgyLDB4ZjUsMHg4MiwweDUwLDB4MDIsMHgwNSwweDgzLDB4NzQsMHgwMSwweDkzLAotMHhjMCwweGUwLDB4ZTQsMHg5MywweGMwLDB4ZTAsMHgyMiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZjUsMHhmMCwweGU0LDB4OTMsMHg3MCwKLTB4MDksMHg3NCwweDAxLDB4OTMsMHg3MCwweDA0LDB4YTMsMHhhMywweDgwLDB4MGMsMHg3NCwweDAyLDB4OTMsMHg2NSwweGYwLDB4NjAsCi0weDA1LDB4YTMsMHhhMywweGEzLDB4ODAsMHhlNywweDc0LDB4MDEsMHg5MywweGMwLDB4ZTAsMHhlNCwweDkzLDB4YzAsMHhlMCwweDIyLAotMHgxMiwweDAyLDB4NWIsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAxLDB4ZjIsMHgxMiwweDAyLDB4ZDMsMHgwMiwKLTB4MDEsMHhmMiwweDMwLDB4ZTAsMHgwNywweDIwLDB4ZTMsMHgwMiwweGU2LDB4MjIsMHhlNywweDIyLDB4MzAsMHhlMSwweDA3LDB4MjAsCi0weGUzLDB4MDIsMHhlMiwweDIyLDB4ZTMsMHgyMiwweDMwLDB4ZTIsMHgwMiwweGUwLDB4MjIsMHhlNCwweDkzLDB4MjIsMHgxMiwweDAyLAotMHhkMywweDAyLDB4MDIsMHgxYSwweDEyLDB4MDIsMHhhZiwweDAyLDB4MDIsMHgxYSwweGFiLDB4ZjAsMHgxMiwweDAyLDB4MjQsMHhjYiwKLTB4YzUsMHhmMCwweGNiLDB4MjIsMHgzMCwweGUwLDB4MTAsMHgyMCwweGUzLDB4MDYsMHhlNiwweGY1LDB4ZjAsMHgwOCwweGU2LDB4MjIsCi0weGU3LDB4ZjUsMHhmMCwweDA5LDB4ZTcsMHgxOSwweDIyLDB4MzAsMHhlMSwweDEwLDB4MjAsMHhlMywweDA2LDB4ZTIsMHhmNSwweGYwLAotMHgwOCwweGUyLDB4MjIsMHhlMywweGY1LDB4ZjAsMHgwOSwweGUzLDB4MTksMHgyMiwweDMwLDB4ZTIsMHgwNiwweGUwLDB4ZjUsMHhmMCwKLTB4YTMsMHhlMCwweDIyLDB4ZTQsMHg5MywweGY1LDB4ZjAsMHg3NCwweDAxLDB4OTMsMHgyMiwweGJiLDB4MDAsMHgwMywweDc0LDB4MDksCi0weDIyLDB4YmIsMHgwMSwweDA3LDB4ODksMHg4MiwweDhhLDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MDcsMHg4OSwweDgyLAotMHg4YSwweDgzLDB4NzQsMHgxMCwweDIyLDB4NzQsMHgwYSwweDIyLDB4MDIsMHgwMiwweDdiLDB4YmIsMHgwMCwweDA3LDB4ZTksMHgyNSwKLTB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJiLDB4MDEsMHgwZCwweGU5LDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlYSwweDM1LDB4ODMsCi0weGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiYiwweDAyLDB4MGQsMHhlOSwweDI1LDB4ODIsMHhmNSwweDgyLDB4ZWEsMHgzNSwweDgzLAotMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZTksMHgyNSwweDgyLDB4ZjgsMHg3NCwweDAyLDB4MjIsMHgwMiwweDAyLDB4YWYsMHhiZiwKLTB4MDAsMHgwNSwweGVkLDB4ZjgsMHg3NCwweDAxLDB4MjIsMHhiZiwweDAxLDB4MDcsMHg4ZCwweDgyLDB4OGUsMHg4MywweDc0LDB4MDQsCi0weDIyLDB4YmYsMHgwMiwweDA3LDB4OGQsMHg4MiwweDhlLDB4ODMsMHg3NCwweDEwLDB4MjIsMHhlZCwweGY4LDB4NzQsMHgwMiwweDIyLAotMHgwMiwweDAyLDB4ZDMsMHhiZiwweDAwLDB4MDcsMHhlZCwweDI1LDB4ODIsMHhmOCwweDc0LDB4MDEsMHgyMiwweGJmLDB4MDEsMHgwZCwKLTB4ZWQsMHgyNSwweDgyLDB4ZjUsMHg4MiwweGVlLDB4MzUsMHg4MywweGY1LDB4ODMsMHg3NCwweDA0LDB4MjIsMHhiZiwweDAyLDB4MGQsCi0weGVkLDB4MjUsMHg4MiwweGY1LDB4ODIsMHhlZSwweDM1LDB4ODMsMHhmNSwweDgzLDB4NzQsMHgxMCwweDIyLDB4ZWQsMHgyNSwweDgyLAotMHhmOCwweDc0LDB4MDIsMHgyMiwweDAyLDB4MDMsMHgwNywweGMwLDB4ZTAsMHgxMiwweDAyLDB4NWIsMHgwMiwweDAzLDB4MWYsMHhjMCwKLTB4ZTAsMHgxMiwweDAyLDB4YWYsMHgwMiwweDAzLDB4MWYsMHhjMCwweGUwLDB4MTIsMHgwMiwweGQzLDB4MDIsMHgwMywweDFmLDB4MzAsCi0weGUwLDB4MGIsMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjYsMHgyMiwweGQwLDB4ZTAsMHhmNywweDIyLDB4MzAsMHhlMSwweDBiLAotMHgyMCwweGUzLDB4MDQsMHhkMCwweGUwLDB4ZjIsMHgyMiwweGQwLDB4ZTAsMHhmMywweDIyLDB4ZDAsMHhlMCwweGYwLDB4MjIsMHhjOSwKLTB4Y2QsMHhjOSwweGNhLDB4Y2UsMHhjYSwweGNiLDB4Y2YsMHhjYiwweDEyLDB4MDMsMHg1MiwweGVkLDB4ZjksMHhlZSwweGZhLDB4ZWYsCi0weGZiLDB4MjIsMHhiYiwweDAwLDB4MmYsMHhiZiwweDAwLDB4MGEsMHhmYSwweGVkLDB4ZjgsMHhlNywweGY2LDB4MDgsMHgwOSwweGRhLAotMHhmYSwweDIyLDB4YmYsMHgwMSwweDEyLDB4OGQsMHg4MiwweDhlLDB4ODMsMHhmOCwweDAyLDB4MDMsMHg2ZiwweDA5LDB4YTMsMHhlNywKLTB4ZjAsMHhkOCwweGZhLDB4MjIsMHgwMiwweDAzLDB4N2EsMHhmYSwweGVkLDB4ZjgsMHhlNywweGYyLDB4MDgsMHgwOSwweGRhLDB4ZmEsCi0weDIyLDB4MDIsMHgwMywweDg0LDB4YmIsMHgwMSwweDRkLDB4YmYsMHgwMCwweDE0LDB4ODksMHg4MiwweDhhLDB4ODMsMHhmOSwweGVkLAotMHhmOCwweDAyLDB4MDMsMHg5NiwweDA4LDB4YTMsMHhlMCwweGY2LDB4ZDksMHhmYSwweDIyLDB4MDIsMHgwMywweGE3LDB4YmYsMHgwMSwKLTB4MjIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGZiLDB4MDgsMHhjOSwweGM1LDB4ODIsMHhjOSwweGNhLDB4YzUsMHg4MywweGNhLDB4ZTAsCi0weGEzLDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGVhLDB4ZDgsMHhlOCwweDIyLAotMHgwMiwweDAzLDB4Y2EsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY5LDB4ZWQsMHhmOCwweGUwLDB4ZjIsMHgwOCwweGEzLDB4ZDksMHhmYSwKLTB4MjIsMHgwMiwweDAzLDB4ZDQsMHhiYiwweDAyLDB4NGQsMHhiZiwweDAwLDB4MTIsMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsCi0weGY4LDB4MDIsMHgwMywweGU2LDB4MDgsMHhhMywweGU0LDB4OTMsMHhmNiwweGQ5LDB4ZjksMHgyMiwweGJmLDB4MDEsMHgyMywweDhkLAotMHg4MiwweDhlLDB4ODMsMHhmYiwweDA4LDB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGU0LDB4OTMsMHhhMywKLTB4YzksMHhjNSwweDgyLDB4YzksMHhjYSwweGM1LDB4ODMsMHhjYSwweGYwLDB4YTMsMHhkYiwweGU5LDB4ZDgsMHhlNywweDIyLDB4MDIsCi0weDA0LDB4MTksMHg4OSwweDgyLDB4OGEsMHg4MywweGY5LDB4ZWQsMHhmOCwweGU0LDB4OTMsMHhmMiwweDA4LDB4YTMsMHhkOSwweGY5LAotMHgyMiwweDAyLDB4MDQsMHgyYSwweGJmLDB4MDAsMHgwZCwweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjYsMHgwOCwweDA5LDB4ZGEsMHhmYSwKLTB4MjIsMHgwMiwweDA0LDB4MzQsMHhiZiwweDAxLDB4MTIsMHg4ZCwweDgyLDB4OGUsMHg4MywweGY4LDB4MDIsMHgwNCwweDQxLDB4MDksCi0weGEzLDB4ZTMsMHhmMCwweGQ4LDB4ZmEsMHgyMiwweDAyLDB4MDQsMHg0YywweGZhLDB4ZWQsMHhmOCwweGUzLDB4ZjIsMHgwOCwweDA5LAotMHhkYSwweGZhLDB4MjIsMHgwMiwweDA0LDB4NTYsMHhlNiwweGZiLDB4MDgsMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LDB4MDQsMHhmNiwKLTB4MTgsMHg3MCwweDAxLDB4MDYsMHgyMiwweGU2LDB4ZmYsMHgwOCwweGU2LDB4ZmUsMHgwOCwweGU2LDB4ZmQsMHgyMiwweGVmLDB4ZjAsCi0weGEzLDB4ZWUsMHhmMCwweGEzLDB4ZWQsMHhmMCwweDIyLDB4ZWIsMHhmMCwweGEzLDB4ZWEsMHhmMCwweGEzLDB4ZTksMHhmMCwweDIyLAotMHhlMCwweGZmLDB4YTMsMHhlMCwweGZlLDB4YTMsMHhlMCwweGZkLDB4MjIsMHhlMCwweGZiLDB4YTMsMHhlMCwweGZhLDB4YTMsMHhlMCwKLTB4ZjksMHgyMiwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAwLDB4MDQsMHhmOSwweDAwLDB4NWIsMHgwNSwweDczLDB4MDAsCi0weDI2LDB4MDUsMHg5YSwweDAwLDB4MzMsMHgwYSwweDBiLDB4MDAsMHg1YiwweDBhLDB4NzcsMHgwMCwweDYwLDB4MTUsMHg1MiwweDAwLAotMHg1YiwweDBjLDB4ZmIsMHgwMCwweDViLDB4MDksMHhhYiwweDAwLDB4NWIsMHgwOSwweGUyLDB4MDAsMHg1YiwweDBkLDB4YzIsMHgwMCwKLTB4NWIsMHgwYiwweGYzLDB4MDAsMHg1YiwweDBhLDB4MWUsMHgwMCwweDViLDB4MGEsMHg1MywweDAwLDB4NWIsMHgxNywweDRhLDB4MDAsCi0weDMzLDB4MTcsMHg2MCwweDAwLDB4MzQsMHgxZSwweDRkLDB4MDAsMHg0MywweDFlLDB4ZjAsMHgwMCwweDQ0LDB4MjAsMHg1ZCwweDAwLAotMHg0NCwweDIwLDB4NGIsMHgwMCwweDQ3LDB4MWYsMHgxNywweDAwLDB4NDcsMHgxZiwweGJjLDB4MDAsMHg0ZCwweDIwLDB4MGQsMHgwMCwKLTB4NGYsMHgxZiwweDM5LDB4MDAsMHg1OCwweDMxLDB4ZjUsMHgwMCwweDViLDB4N2MsMHhjYywweDdkLDB4ZmYsMHgxMiwweDFjLDB4ZmUsCi0weDIyLDB4NzQsMHg5MCwweDkwLDB4ZmYsMHg5MSwweGYwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHgyMCwweGU3LDB4MmQsMHhjMiwweGFmLAotMHhhZSwweDU5LDB4YWYsMHg1OCwweDc1LDB4NWEsMHgyMCwweGU1LDB4NWEsMHgxNCwweGM1LDB4NWEsMHg2MCwweDE5LDB4ZTQsMHhmZSwKLTB4N2YsMHgwNSwweGVlLDB4NGYsMHhjZSwweDI0LDB4ZmYsMHhjZSwweGNmLDB4MzQsMHhmZiwweGNmLDB4NjAsMHgwNywweGU0LDB4OTAsCi0weGZmLDB4OTIsMHhmMCwweDgwLDB4ZWQsMHg4MCwweGUwLDB4OGUsMHg1OSwweDhmLDB4NTgsMHgyMiwweDEyLDB4MDUsMHgwMSwweDdkLAotMHgwNywweDdjLDB4YjcsMHgxMiwweDMyLDB4MTEsMHg3ZCwweDBmLDB4N2MsMHg2ZSwweDEyLDB4MzIsMHgyYiwweDc4LDB4OTcsMHg3YSwKLTB4MDYsMHhlNCwweGY2LDB4MDgsMHhkYSwweGZjLDB4N2EsMHgwNiwweDEyLDB4MDUsMHhjZiwweDdjLDB4MDMsMHgxMiwweDBlLDB4NTcsCi0weDdjLDB4MDQsMHgxMiwweDBlLDB4NTcsMHgxMiwweDIxLDB4OGIsMHhlNCwweGZlLDB4ZmYsMHg3YywweDBmLDB4MTIsMHgzMSwweDlhLAotMHhkMiwweGE4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHhlNCwweDkwLDB4ZmQsMHg0MCwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwKLTB4ZTQsMHgwOCwweDc0LDB4MDEsMHg5MCwweGZkLDB4NDEsMHhmMCwweDgwLDB4MDUsMHhlNCwweDkwLDB4ZmQsMHg0MSwweGYwLDB4N2QsCi0weDBhLDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OTAsMHhmZCwweDQxLAotMHhlMCwweDE0LDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NDQsMHgxMCwweGYwLDB4N2MsMHgwMCwweDEyLDB4MjUsMHg0YSwKLTB4ODAsMHgxOSwweDkwLDB4ZmQsMHg0MSwweGUwLDB4NzAsMHgwZSwweDkwLDB4ZmYsMHhmMCwweGUwLDB4NTQsMHhlZiwweGYwLDB4N2MsCi0weDAwLDB4MTIsMHgyNSwweDRhLDB4ODAsMHgwNSwweDdjLDB4MTcsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDkwLAotMHhmZiwweGYwLDB4ZTAsMHg1NCwweGFiLDB4ZjAsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MjAsMHhmMCwweDIyLDB4OGMsMHgzNywKLTB4OGQsMHgzNiwweDc4LDB4N2MsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsCi0weDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHg3OCwweDdhLDB4ZjYsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLAotMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA0LDB4MTIsMHgwMSwweGVjLDB4NTQsMHgwZiwweGZjLDB4N2QsMHg3YSwKLTB4MTIsMHgxNywweDlkLDB4NzgsMHg3YSwweGU2LDB4NzAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweGU0LDB4MTIsCi0weDAzLDB4MGYsMHg3YywweDA4LDB4MjIsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDU0LDB4ZmUsMHhmMCwweDkwLDB4ZmYsMHhmMCwweGUwLAotMHg1NCwweGZkLDB4ZjAsMHg4MCwweDFlLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwKLTB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDI1LDB4ZTAsMHg0NCwweDAxLDB4OTAsMHhmZiwweGYzLDB4ZjAsCi0weDAyLDB4MDYsMHhkYiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLAotMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsMHhmZiwweGYzLDB4ZjAsMHg4MCwweDJiLDB4NzgsMHg3YywKLTB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsCi0weDBlLDB4ZmEsMHhlYiwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLDB4NDAsMHgwZCwweGFkLDB4M2EsMHhhZSwweDM5LAotMHhhZiwweDM4LDB4ZTQsMHgxMiwweDAzLDB4MGYsMHg3YywweDE4LDB4MjIsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywKLTB4ZWQsMHhmZSwweGVjLDB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4OTAsMHhmZiwweGYxLDB4ZjAsCi0weDEyLDB4MDgsMHhjYSwweDQwLDB4MGQsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHhlNCwweDEyLDB4MDMsMHgwZiwweDdjLAotMHgxOCwweDIyLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwKLTB4MDAsMHgwNiwweDEyLDB4MDIsMHgwZSwweDQ0LDB4MDEsMHg5MCwweGZmLDB4ZjMsMHhmMCwweDc4LDB4N2QsMHhlNiwweDI0LDB4MDMsCi0weGY2LDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwweDc4LDB4N2EsMHhlNiwweDI0LDB4ZmUsMHg1MCwweDA5LDB4OTAsMHhmZiwweGYwLAotMHhlMCwweDU0LDB4ZmQsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ZjAsMHhlMCwweDQ0LDB4MDIsMHhmMCwweGU0LDB4OTAsMHhmZiwKLTB4ZjEsMHhmMCwweDc4LDB4N2IsMHg3NiwweDAwLDB4NzgsMHg3YSwweGU2LDB4MjQsMHhmZiwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsCi0weDc4LDB4N2IsMHhlNiwweDdmLDB4MDAsMHhmZSwweGVjLDB4ZDMsMHg5ZSwweGVmLDB4NjQsMHg4MCwweGNkLDB4NjQsMHg4MCwweDlkLAotMHg0MCwweDJmLDB4MTIsMHgwOCwweGFmLDB4NDAsMHgwZiwweDc4LDB4N2IsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwKLTB4MTIsMHgwMywweDBmLDB4N2MsMHgxOCwweDIyLDB4OTAsMHhmZiwweGYyLDB4ZTAsMHhmYywweDc4LDB4N2MsMHg4NiwweDgzLDB4MDgsCi0weDg2LDB4ODIsMHhlYywweGYwLDB4NzgsMHg3YiwweDA2LDB4YTMsMHg3OCwweDdjLDB4YTYsMHg4MywweDA4LDB4YTYsMHg4MiwweDgwLAotMHhiNSwweDEyLDB4MDgsMHhhZiwweDQwLDB4MGYsMHg3OCwweDdiLDB4ZTYsMHhhZCwweDNhLDB4YWUsMHgzOSwweGFmLDB4MzgsMHgxMiwKLTB4MDMsMHgwZiwweDdjLDB4MTgsMHgyMiwweDkwLDB4ZmYsMHhmMiwweGUwLDB4ZmMsMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LDB4ODYsCi0weDgyLDB4ZWMsMHhmMCwweDc4LDB4N2EsMHhlNiwweGFkLDB4M2EsMHhhZSwweDM5LDB4YWYsMHgzOCwweDEyLDB4MDMsMHgwZiwweDdjLAotMHgwMCwweDIyLDB4OGMsMHgzNywweDhkLDB4MzYsMHg3OCwweDdjLDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGVkLDB4ZmUsMHhlYywKLTB4ZmQsMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA1LDB4MTIsMHgwMSwweGVjLDB4NzgsMHg3YiwweGY2LDB4NzgsMHg3YywweGU2LDB4ZmQsCi0weDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwNCwweDEyLDB4MDEsMHhlYywweDU0LAotMHgwZiwweGZjLDB4N2QsMHg3YiwweDEyLDB4MTcsMHg5ZCwweDc4LDB4N2IsMHhlNiwweDcwLDB4MDMsMHg3YywweDA4LDB4MjIsMHg5MCwKLTB4ZmYsMHhmMCwweGUwLDB4NTQsMHhmZSwweGYwLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg1NCwweGZkLDB4ZjAsMHg4MCwweDFiLDB4NzgsCi0weDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLAotMHgwMiwweDBlLDB4MjUsMHhlMCwweDkwLDB4ZmYsMHhmMywweGYwLDB4ODAsMHg1YiwweDc4LDB4N2MsMHhlNiwweGZkLDB4MDgsMHhlNiwKLTB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAyLDB4MGUsMHg1NCwweGZlLDB4OTAsCi0weGZmLDB4ZjMsMHhmMCwweDgwLDB4MjEsMHg3OCwweDdjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHhmYywweGVkLDB4ZmUsMHhlYywweGZkLAotMHg3ZiwweDAxLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhlYiwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwKLTB4Y2EsMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg3YywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHhlZCwweGZlLDB4ZWMsCi0weGZkLDB4N2YsMHgwMSwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweDkwLDB4ZmYsMHhmMSwweGYwLDB4MTIsMHgwOCwweGNhLAotMHg0MCwweDAzLDB4N2MsMHgxOCwweDIyLDB4NzgsMHg3ZCwweGU2LDB4MjQsMHgwYSwweGY2LDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNiwKLTB4NzgsMHg3YSwweDc2LDB4MDAsMHg3OCwweDdiLDB4ZTYsMHgyNCwweGZmLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweDc4LDB4N2EsCi0weGU2LDB4N2YsMHgwMCwweGZlLDB4ZWMsMHhkMywweDllLDB4ZWYsMHg2NCwweDgwLDB4Y2QsMHg2NCwweDgwLDB4OWQsMHg0MCwweDIxLAotMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4OTAsMHhmZiwweGYxLDB4ZjAsMHgxMiwweDA4LDB4Y2EsMHg0MCwKLTB4MDMsMHg3YywweDE4LDB4MjIsMHg3OCwweDdhLDB4MDYsMHg3OCwweDdkLDB4MDYsMHhlNiwweDE4LDB4NzAsMHgwMSwweDA2LDB4ODAsCi0weGMzLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg3OCwweDdjLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLAotMHg5MCwweGZmLDB4ZjEsMHhmMCwweDEyLDB4MDgsMHhjYSwweDQwLDB4MDMsMHg3YywweDE4LDB4MjIsMHg3YywweDAwLDB4MjIsMHg5MCwKLTB4ZmYsMHhmMCwweGUwLDB4MjAsMHhlNywweDEyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgzMCwweGU1LDB4MDksMHg5MCwweGZmLDB4ZjAsCi0weGUwLDB4NDQsMHgyMCwweGYwLDB4YzMsMHgyMiwweDgwLDB4ZTcsMHhkMywweDIyLDB4OTAsMHhmZiwweGYwLDB4ZTAsMHgyMCwweGUzLAotMHgxMiwweDkwLDB4ZmYsMHhmMCwweGUwLDB4MzAsMHhlNSwweDA5LDB4OTAsMHhmZiwweGYwLDB4ZTAsMHg0NCwweDIwLDB4ZjAsMHhjMywKLTB4MjIsMHg4MCwweGU3LDB4ZDMsMHgyMiwweDhjLDB4NDIsMHg4ZCwweDQxLDB4N2MsMHgwMCwweGVkLDB4NTQsMHhmMCwweGZkLDB4ZWMsCi0weDcwLDB4MDMsMHhlZCwweDY0LDB4MzAsMHg3MCwweDA1LDB4NzUsMHgzZSwweDAzLDB4ODAsMHgwMywweDc1LDB4M2UsMHgwNCwweGFjLAotMHgzZSwweDEyLDB4MGYsMHg3YywweDc1LDB4ODMsMHgwMCwweDg1LDB4ODMsMHg0MCwweGU1LDB4NDEsMHg1NCwweDBmLDB4ZjUsMHgzZiwKLTB4ZTUsMHg0MCwweDcwLDB4MDQsMHhlNSwweDNmLDB4NjQsMHgwMywweDcwLDB4MzUsMHhlNSwweDNlLDB4MjQsMHhmZCwweDc1LDB4ZjAsCi0weDBhLDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTYsMHgwNSwweDEyLAotMHgxMCwweDY3LDB4ODAsMHgxOSwweGU1LDB4M2UsMHgyNCwweDk3LDB4ZjgsMHhjNiwweDU0LDB4ZmIsMHhmNiwweDc4LDB4YTMsMHhlNiwKLTB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg4MCwweDU5LDB4ZTUsCi0weDQwLDB4NzAsMHgwNCwweGU1LDB4M2YsMHg2NCwweDA0LDB4NzAsMHg0OCwweGU1LDB4M2UsMHgyNCwweGZkLDB4NzUsMHhmMCwweDBhLAotMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNSwweDA3LDB4YWMsMHg0MiwKLTB4YWQsMHg0MSwweDEyLDB4MWMsMHg5MywweGU1LDB4NDIsMHgzMCwweGUyLDB4MTUsMHg3OCwweGE3LDB4ZTYsMHgzMCwweGUwLDB4MGYsCi0weDc4LDB4YTcsMHhlNiwweDMwLDB4ZTEsMHgwOSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNCwweDEyLDB4MzEsMHg5YSwweDc4LAotMHhhMywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHg3NCwweDBmLDB4ZjAsMHg4MCwKLTB4MDcsMHhlNCwweGZjLDB4N2QsMHhlZSwweDEyLDB4MWMsMHg5MywweGMyLDB4MDMsMHgyMiwweDEyLDB4MzAsMHg4NSwweDEyLDB4MGYsCi0weDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDkwLAotMHhmZCwweDQwLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg5MCwweGZkLDB4NDEsMHhmMCwweGMyLDB4MDMsMHg3ZCwweDAyLDB4N2MsMHgwMCwweDEyLDB4MjQsMHhiMSwweDEyLDB4MzEsCi0weDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgzMCwweGUxLAotMHgwNywweDdjLDB4MTMsMHgxMiwweDI1LDB4NGEsMHg4MCwweDBmLDB4OTAsMHhmZCwweDQxLDB4ZTAsMHhmZCwweDc4LDB4OGYsMHhlNiwKLTB4ZmMsMHgxMiwweDEzLDB4ZmQsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsCi0weGVjLDB4ZjYsMHg3ZCwweDAwLDB4MTIsMHgwZiwweDBiLDB4MTIsMHgyNSwweDRhLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLAotMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTIsMHgwNywweDdjLDB4MTMsMHgxMiwKLTB4MjUsMHg0YSwweDgwLDB4MWIsMHg3OCwweDhmLDB4ZTYsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDIwLDB4ZTEsMHgwNywweDdjLDB4MTIsCi0weDEyLDB4MjUsMHg0YSwweDgwLDB4MGEsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTQsMHgyMSwweDEyLDB4MjUsMHg0YSwweDEyLAotMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDhmLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgyMCwKLTB4ZTIsMHgwNywweDdjLDB4MTEsMHgxMiwweDI1LDB4NGEsMHg4MCwweDBhLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE1LDB4MjIsCi0weDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHgxMiwweDBmLAotMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwKLTB4ZmQsMHg0NywweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4OTAsMHhmZCwweDQ4LDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwKLTB4ODMsMHhlMCwweGY1LDB4NWMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHhmNSwweDVkLDB4OGMsMHg1YiwweGU0LDB4ZWMsMHgzMywweDMzLDB4NTQsMHgwMSwweDc4LDB4OGYsMHhmNiwweDYwLAotMHgwOCwweGU1LDB4NWMsMHgzMCwweGUxLDB4MDMsMHg3OCwweDhmLDB4MDYsMHg3OCwweDhmLDB4ZTYsMHg5MCwweGZkLDB4NDksMHhmMCwKLTB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZkLDB4YTMsCi0weGUwLDB4NTQsMHgwYywweGZjLDB4ZWQsMHg1NCwweGU2LDB4OGMsMHg1ZiwweGY1LDB4NWUsMHhlNSwweDViLDB4MzAsMHhlNSwweDAzLAotMHg0MywweDVmLDB4MDEsMHhlNSwweDVjLDB4MjAsMHhlNSwweDBlLDB4ZTUsMHg1YiwweDU0LDB4N2YsMHg3MCwweDA4LDB4ZTUsMHg1YiwKLTB4MjAsMHhlNywweDAzLDB4NDMsMHg1ZiwweDAyLDB4ZTUsMHg1YiwweDMwLDB4ZTMsMHgwMywweDQzLDB4NWYsMHgxMCwweGU1LDB4NWIsCi0weDMwLDB4ZTIsMHgwMywweDQzLDB4NWYsMHgyMCwweGU1LDB4NWIsMHg1NCwweDAzLDB4NjAsMHgwMywweDQzLDB4NWYsMHg0MCwweGU1LAotMHg1YiwweDMwLDB4ZTEsMHgwMywweDQzLDB4NWYsMHg4MCwweGU1LDB4NWIsMHgzMCwweGU0LDB4MDMsMHg0MywweDVlLDB4MDEsMHhlNSwKLTB4NWIsMHgzMCwweGU2LDB4MDMsMHg0MywweDVlLDB4MDgsMHhlNSwweDVjLDB4MjAsMHhlNCwweDBlLDB4ZTUsMHg1YiwweDU0LDB4N2YsCi0weDcwLDB4MDgsMHhlNSwweDViLDB4MjAsMHhlNywweDAzLDB4NDMsMHg1ZSwweDEwLDB4NTMsMHg1ZiwweGZiLDB4NTMsMHg1ZSwweGY5LAotMHhhZCwweDVlLDB4ZTUsMHg1ZiwweDkwLDB4ZmQsMHg0MiwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHhlNSwweDVkLDB4MzAsMHhlMywKLTB4MGQsMHhlNSwweDVkLDB4NTQsMHgzMCwweGM0LDB4NTQsMHgwZiwweDkwLDB4ZmQsMHg0NSwweGYwLDB4ODAsMHgwNSwweGU0LDB4OTAsCi0weGZkLDB4NDUsMHhmMCwweGU1LDB4NWQsMHg1NCwweDAzLDB4OTAsMHhmZCwweDQ0LDB4ZjAsMHhlNSwweDVkLDB4NTQsMHgwNCwweGMzLAotMHgxMywweDkwLDB4ZmQsMHg0NiwweGYwLDB4OTAsMHhmZCwweDQ0LDB4ZTAsMHg3MCwweDBlLDB4N2QsMHgzZCwweDdlLDB4ZmQsMHg3ZiwKLTB4MDEsMHg3NCwweDAxLDB4OTAsMHgwMCwweDA5LDB4MTIsMHgwMSwweDQyLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2MsMHgwMCwweGZkLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNywweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4N2YsMHgwMCwweDRjLDB4ZmUsMHhlZiwweDRkLDB4OTAsMHhmZCwKLTB4NDAsMHhmMCwweGEzLDB4Y2UsMHhmMCwweGNlLDB4YzIsMHgwMywweDdkLDB4MGEsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsCi0weDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4NzgsMHg5NCwweDc2LDB4MDEsMHgwOCwweDc2LAotMHhmZCwweDA4LDB4NzYsMHg0MCwweDc4LDB4OTEsMHg3NiwweDBjLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwweDEyLDB4MDIsMHgxNCwKLTB4NzgsMHg5MiwweGNiLDB4ZjYsMHhjYiwweDA4LDB4ZjYsMHg3ZiwweDAwLDB4ZWYsMHgyNCwweGViLDB4NDAsMHgxZiwweGU0LDB4ZWYsCi0weDI1LDB4ZTAsMHg5MCwweDM0LDB4YmYsMHhmZCwweDkzLDB4Y2QsMHgwNCwweDkzLDB4NzgsMHg5MywweDY2LDB4NzAsMHgwMywweGVkLAotMHgxOCwweDY2LDB4NzAsMHgwNiwweDc4LDB4OTEsMHg3NiwweDAwLDB4ODAsMHgwMywweDBmLDB4ODAsMHhkYywweDc4LDB4OTAsMHhlZiwKLTB4ZjYsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMiwweDBlLDB4NzgsMHg5MiwweGNiLDB4ZjYsCi0weGNiLDB4MDgsMHhmNiwweDU0LDB4MDQsMHhjYiwweDU0LDB4MDYsMHg0YiwweDYwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwYiwweDc4LAotMHg5MywweGU2LDB4MzAsMHhlMywweDEzLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywKLTB4MjQsMHhmYiwweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwZCwweDc4LDB4OTMsMHhlNiwweDU0LDB4YzAsMHg3ZCwweDAwLDB4NjQsCi0weGMwLDB4NGQsMHg3MCwweDA0LDB4NzgsMHg5MSwweDc2LDB4MGIsMHg3OCwweDk0LDB4MTIsMHgwNCwweDY1LDB4OTAsMHgwMCwweDA0LAotMHgxMiwweDAxLDB4ZWMsMHgyNCwweGZjLDB4NTAsMHgwNCwweDc4LDB4OTEsMHg3NiwweDBmLDB4NzgsMHg5NCwweDEyLDB4MDQsMHg2NSwKLTB4OTAsMHgwMCwweDA2LDB4MTIsMHgwMSwweGVjLDB4MjQsMHhmZCwweDUwLDB4MDQsMHg3OCwweDkxLDB4NzYsMHgwZSwweDc4LDB4OTQsCi0weDEyLDB4MDQsMHg2NSwweDkwLDB4MDAsMHgwOSwweDEyLDB4MDEsMHhlYywweDI0LDB4ZmQsMHg1MCwweDA0LDB4NzgsMHg5MSwweDc2LAotMHgwYSwweDc4LDB4OTEsMHhlNiwweDcwLDB4MmEsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MGYsMHg3YywweDc4LDB4OTQsMHgxMiwKLTB4MDQsMHg2NSwweDc4LDB4YTEsMHhlNiwweGY5LDB4NzgsMHhhMCwweGU2LDB4ZmEsMHg3YiwweDAxLDB4NzQsMHgwYSwweDc4LDB4MDAsCi0weDEyLDB4MDMsMHgzZiwweGMyLDB4MDMsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MTEsMHgyMywweDc4LDB4OTEsMHhlYywweGY2LAotMHg3OCwweDkxLDB4ZTYsMHhmYywweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4NzgsMHg4ZiwKLTB4ZWMsMHhmNiwweDEyLDB4MGYsMHg3YywweDc4LDB4OGYsMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MWMsCi0weGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4YWMsMHg4MiwweGFkLDB4ODMsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LAotMHg4NiwweDgyLDB4ZWMsMHhmOSwweGVkLDB4ZmEsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweGMyLDB4MDMsMHg3OCwKLTB4OGYsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4MTIsMHgzMSwweDA4LDB4MjIsMHg4ZCwweDJiLDB4OGMsMHgyYSwweGVkLDB4NjAsCi0weDQwLDB4NzUsMHgyNywweDAxLDB4NzUsMHgyOSwweDQ4LDB4NzUsMHgyOCwweGZmLDB4ZTUsMHgyYSwweDI0LDB4ZmQsMHhmYywweGU0LAotMHgzNCwweGZmLDB4ZmQsMHhlYywweDdjLDB4MDMsMHgyNSwweGUwLDB4Y2QsMHgzMywweGNkLDB4ZGMsMHhmOSwweGZjLDB4ZTUsMHgyOSwKLTB4MmMsMHhmNSwweDI5LDB4ZTUsMHgyOCwweDNkLDB4ZjUsMHgyOCwweGFkLDB4MjksMHhhZSwweDI4LDB4YWYsMHgyNywweDc0LDB4ODAsCi0weDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweDc0LDB4ODAsMHg5MCwweDAwLDB4MDIsMHgxMiwweDAzLDB4MTcsMHgxMiwweDBmLAotMHhkMywweGU1LDB4MmIsMHgxNCwweDYwLDB4M2IsMHg3NSwweDI3LDB4MDEsMHg3NSwweDI5LDB4MDgsMHg3NSwweDI4LDB4ZmYsMHhlNSwKLTB4MmEsMHgyNCwweGZkLDB4ZmMsMHhlNCwweDM0LDB4ZmYsMHhmZCwweGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsCi0weGRjLDB4ZjksMHhmYywweGU1LDB4MjksMHgyYywweGY1LDB4MjksMHhlNSwweDI4LDB4M2QsMHhmNSwweDI4LDB4YWQsMHgyOSwweGFlLAotMHgyOCwweGFmLDB4MjcsMHhlNCwweDkwLDB4MDAsMHgwNiwweDEyLDB4MDMsMHgxNywweGU0LDB4OTAsMHgwMCwweDAyLDB4MTIsMHgwMywKLTB4MTcsMHgyMiwweDEyLDB4MzAsMHg4NSwweDc4LDB4OGYsMHhlYywweGY2LDB4ZWMsMHgyNCwweDk3LDB4ZjgsMHhlNiwweDMwLDB4ZTIsCi0weDA5LDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDE1LDB4MjIsMHhkMiwweDAwLDB4NzgsMHg4ZiwweGU2LDB4ZmMsMHgxMiwweDBmLAotMHg3YywweDc4LDB4OTAsMHg3NiwweDAwLDB4OTAsMHhmZCwweDQxLDB4ZTAsMHgzMCwweGU3LDB4MDQsMHg3OCwweDkwLDB4NzYsMHgwMSwKLTB4NzgsMHg5MCwweGU2LDB4ZmQsMHg3OCwweDhmLDB4ZTYsMHhmYywweDEyLDB4MGQsMHgzYSwweGMyLDB4MDMsMHgzMCwweDAwLDB4MDcsCi0weDc4LDB4OGYsMHhlNiwweGZjLDB4MTIsMHgxNCwweDIxLDB4N2MsMHgwMCwweDEyLDB4MjUsMHg0YSwweDEyLDB4MzEsMHgwOCwweDIyLAotMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwMSwKLTB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsCi0weGUwLDB4MDIsMHg4MCwweGVkLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NTQsMHhmOCwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHhjMiwweDAzLDB4OGMsMHg1OCwweDEyLDB4MGYsMHg3YywweDc4LDB4YTAsCi0weDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHg3OSwweGVlLDB4N2EsMHgzNCwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LAotMHgxMiwweDBlLDB4MTAsMHhhYywweDU4LDB4N2QsMHgwMiwweDEyLDB4MGQsMHgzYSwweGMyLDB4MDMsMHhhYywweDU4LDB4MTIsMHgxMSwKLTB4MjMsMHgyMiwweDhkLDB4NTMsMHg4ZSwweDUyLDB4OGYsMHg1MSwweDhjLDB4NTAsMHgxMiwweDBmLDB4N2MsMHg3NSwweDRmLDB4MDAsCi0weDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LAotMHgxNiwweGU1LDB4NGYsMHgyNCwweGY2LDB4NDAsMHgxMCwweDA1LDB4NGYsMHhjMiwweDAzLDB4N2MsMHgxOCwweDEyLDB4MzIsMHg0OCwKLTB4YWMsMHg1MCwweDEyLDB4MGYsMHg3YywweDgwLDB4ZDksMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgyMCwweGU0LDB4MDUsMHhjMiwweDAzLDB4N2MsMHgwMiwweDIyLDB4NzgsMHhhMywweGU2LAotMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHgwZiwweDYwLDB4MTYsMHg3OCwKLTB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZjAsCi0weGMyLDB4MDMsMHg3YywweDAxLDB4MjIsMHg3OCwweGEyLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4YWQsMHg1MywweGFlLAotMHg1MiwweGFmLDB4NTEsMHgxMiwweDAzLDB4MGYsMHhjMiwweDAzLDB4N2MsMHgwMCwweDIyLDB4OGQsMHgzMSwweDhjLDB4MzAsMHgxMiwKLTB4MTUsMHgyMiwweGU1LDB4MzEsMHg2MCwweDIwLDB4ZTUsMHgzMCwweGI0LDB4MDMsMHgwYywweDdjLDB4MDEsMHgxMiwweDI0LDB4N2MsCi0weDdjLDB4ODEsMHgxMiwweDI0LDB4N2MsMHg4MCwweDBmLDB4ZTUsMHgzMCwweGI0LDB4MDQsMHgwYSwweDdjLDB4MDIsMHgxMiwweDI0LAotMHg3YywweDdjLDB4ODIsMHgxMiwweDI0LDB4N2MsMHhhYywweDMwLDB4MTIsMHgwZiwweDdjLDB4ZTUsMHgzMSwweDYwLDB4MWEsMHg3OCwKLTB4YTQsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLDB4ZTAsMHg1NCwweGU3LDB4ZjAsMHhhMywweGEzLDB4YTMsMHhhMywweGUwLDB4NTQsCi0weGU3LDB4ZjAsMHhhYywweDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgzYSwweDc4LDB4YTAsMHg4NiwweDgzLDB4MDgsMHg4NiwweDgyLAotMHg3OSwweGY4LDB4N2EsMHgzNCwweDdiLDB4MGEsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4YzIsMHgwMywweGU1LDB4MzAsMHgyNCwKLTB4OTcsMHhmOCwweGM2LDB4NTQsMHhmZCwweGY2LDB4YWMsMHgzMCwweDEyLDB4MTEsMHgyMywweDIyLDB4OGMsMHgyNiwweDMwLDB4MDMsCi0weDA1LDB4MTIsMHgzMSwweGU3LDB4ODAsMHhmOCwweDdjLDB4MGEsMHgxMiwweDMwLDB4ZmEsMHhkMiwweDAzLDB4ZTUsMHgyNiwweDI0LAotMHhmZCwweDc4LDB4OWQsMHhmNiwweDcwLDB4MDksMHg3OCwweGE0LDB4NzYsMHhmZiwweDA4LDB4NzYsMHhlMCwweDgwLDB4MDcsMHg3OCwKLTB4YTQsMHg3NiwweGZmLDB4MDgsMHg3NiwweGUyLDB4NzgsMHg5ZCwweGU2LDB4NzUsMHhmMCwweDEwLDB4YTQsMHhhZCwweGYwLDB4ZmMsCi0weDI0LDB4YTAsMHg3OCwweGEzLDB4ZjYsMHhlZCwweDM0LDB4ZmYsMHgxOCwweGY2LDB4NzgsMHg5ZCwweGU2LDB4NzUsMHhmMCwweDBhLAotMHhhNCwweDI0LDB4MDgsMHhmYywweGU0LDB4MzQsMHhmZCwweGZkLDB4NzgsMHhhMCwweGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHgxMiwKLTB4MzEsMHg5MywweDIyLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4MzAsMHhlNywweDIyLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHg4MCwweGYwLDB4MjIsMHg3OCwweGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsCi0weDdmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywweDgyLDB4ZjUsMHg4MywweGUwLAotMHg1NCwweDdmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDBiLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywKLTB4ZTAsMHg1NCwweGY4LDB4ZjAsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDAxLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsCi0weDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZTAsMHg0NCwweDAzLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4NzQsMHgwZiwweGYwLDB4MjIsMHg3OCwweGE0LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGUwLDB4NTQsCi0weDNmLDB4ZjAsMHhhZCwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmYywweGU0LDB4M2QsMHg4YywweDgyLDB4ZjUsMHg4MywweGUwLAotMHg1NCwweDNmLDB4ZjAsMHg3OCwweDlkLDB4ZTYsMHgyNCwweDllLDB4ZjgsMHhlNiwweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwMSwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDlkLDB4ZTYsMHgyNCwweDllLDB4ZjgsCi0weGU2LDB4ZmMsMHg3OCwweGE1LDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLAotMHhmMCwweDc4LDB4YTMsMHhlNiwweDI0LDB4MGIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwKLTB4ZmIsMHg0NCwweDAyLDB4ZjUsMHgyNiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDMwLDB4ZTUsMHgwMywweDQzLDB4MjYsMHgwMSwweDc4LDB4YTMsMHhlNiwweDI0LDB4MDUsMHhmNSwweDgyLAotMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwMywweDEyLDB4MGYsMHhkMywweGU1LDB4MjYsMHhmYywKLTB4NzgsMHhhMywweGU2LDB4MjQsMHgwYiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsCi0weGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweDc0LDB4MGYsMHhmMCwweDc4LAotMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweDQ0LDB4ODAsMHhmMCwweGEzLDB4YTMsMHhhMywweGEzLDB4ZTAsMHg0NCwKLTB4ODAsMHhmMCwweDIyLDB4OGMsMHgyYSwweDEyLDB4MGYsMHg3YywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDgsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwYSwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA3LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmYywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDksMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlYywweGYwLDB4NzgsMHhhMCwweDg2LDB4ODMsMHgwOCwweDg2LDB4ODIsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLAotMHhlZCwweGZlLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwOCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlZSwKLTB4ZjAsMHhlYywweGZlLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNywweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGVlLDB4ZjAsMHg4YywweDI5LDB4OGQsMHgyOCwweGMzLDB4ZWMsMHg5NCwweDAyLDB4ZWQsMHg5NCwweDA2LDB4NDAsMHgwNSwweDc1LAotMHgyNywweDdjLDB4ODAsMHgzMywweGQzLDB4ZTUsMHgyOSwweDk0LDB4ODEsMHhlNSwweDI4LDB4OTQsMHgwMSwweDQwLDB4MDUsMHg3NSwKLTB4MjcsMHgzYywweDgwLDB4MjMsMHhkMywweGU1LDB4MjksMHg5NCwweGMwLDB4ZTUsMHgyOCwweDk0LDB4MDAsMHg0MCwweDA1LDB4NzUsCi0weDI3LDB4MTgsMHg4MCwweDEzLDB4ZDMsMHhlNSwweDI5LDB4OTQsMHgzMCwweGU1LDB4MjgsMHg5NCwweDAwLDB4NDAsMHgwNSwweDc1LAotMHgyNywweDBjLDB4ODAsMHgwMywweDc1LDB4MjcsMHgwOCwweGFmLDB4MjcsMHhlNCwweGVmLDB4NTQsMHg3YywweDQ0LDB4ODMsMHhmZiwKLTB4OGYsMHgyNywweGU1LDB4MjcsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlYywweGYwLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LAotMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlNSwweDI3LDB4ZmMsMHg3OCwweDlkLDB4ZTYsMHgyNCwweDllLDB4ZjgsMHhlYywKLTB4ZjYsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsCi0weDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLAotMHgzMCwweGUzLDB4MTcsMHg1MywweDI3LDB4YzcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg5MCwweDM0LDB4ZTksMHg5MywweDQyLDB4MjcsMHg3OCwweGExLDB4ZTYsMHgyNCwweDAyLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU3LDB4MDUsMHg0MywweDI3LDB4NDAsMHg4MCwweDAzLAotMHg1MywweDI3LDB4YmYsMHg1MywweDI3LDB4ZmIsMHg3OCwweGExLDB4ZTYsMHgyNCwweDA2LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwKLTB4MDAsMHhmNSwweDgzLDB4ZTAsMHg2MCwweDAzLDB4NDMsMHgyNywweDA0LDB4NTMsMHgyNywweGZjLDB4NzgsMHhhMSwweGU2LDB4MjQsCi0weDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NDIsMHgyNywweDQzLDB4MjcsMHg4MCwweGU1LAotMHgyNywweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywKLTB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4ZjUsCi0weDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLAotMHgzMCwweGUxLDB4MDUsMHg1MywweDI3LDB4ZGYsMHg4MCwweDAzLDB4NDMsMHgyNywweDIwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4MzAsMHhlNCwweDA1LDB4NTMsMHgyNywweGVmLDB4ODAsCi0weDAzLDB4NDMsMHgyNywweDEwLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwOSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4YjQsMHgwMiwweDAzLDB4NDMsMHgyNywweDAyLDB4ZTUsMHgyNywweGZjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwKLTB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAzLDB4ZjUsCi0weDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHhmNSwweDI3LDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwOSwweGY1LAotMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4NzAsMHgwNSwweDUzLDB4MjcsMHg3ZiwweDgwLDB4MDMsMHg0MywKLTB4MjcsMHg4MCwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsCi0weGUwLDB4MzAsMHhlMCwweDA1LDB4NDMsMHgyNywweDIwLDB4ODAsMHgwMywweDUzLDB4MjcsMHhkZiwweDc4LDB4YTEsMHhlNiwweDI0LAotMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlMCwweDMwLDB4ZTMsMHgwNSwweDQzLDB4MjcsMHg0MCwKLTB4ODAsMHgwMywweDUzLDB4MjcsMHhiZiwweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsCi0weGY1LDB4ODMsMHhlMCwweDMwLDB4ZTAsMHgwNSwweDQzLDB4MjcsMHgxMCwweDgwLDB4MDMsMHg1MywweDI3LDB4ZWYsMHg3OCwweGExLAotMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4YTMsMHhlMCwweDMwLDB4ZTQsMHgwNSwKLTB4NDMsMHgyNywweDA4LDB4ODAsMHgwMywweDUzLDB4MjcsMHhmNywweDc4LDB4YTEsMHhlNiwweDI0LDB4MDIsMHhmNSwweDgyLDB4MTgsCi0weGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywweGUwLDB4MzAsMHhlNSwweDA1LDB4NDMsMHgyNywweDA0LDB4ODAsMHgwMywweDUzLAotMHgyNywweGZiLDB4NzgsMHhhMSwweGU2LDB4MjQsMHgwMiwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhhMywKLTB4ZTAsMHgzMCwweGU2LDB4MDUsMHg0MywweDI3LDB4MDEsMHg4MCwweDAzLDB4NTMsMHgyNywweGZlLDB4NzgsMHhhMSwweGU2LDB4MjQsCi0weDAyLDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGEzLDB4ZTAsMHgzMCwweGU3LDB4MDUsMHg0MywweDI3LAotMHgwMiwweDgwLDB4MDMsMHg1MywweDI3LDB4ZmQsMHhlNSwweDI3LDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDAzLDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGMyLDB4MDMsMHg3YywweDAwLDB4MjIsMHg4ZCwweDI3LDB4OGMsCi0weDI2LDB4ZWQsMHg1NCwweDAzLDB4MTQsMHg2MCwweDAzLDB4N2MsMHgxMCwweDIyLDB4ZTUsMHgyNywweDU0LDB4N2MsMHgyNCwweGZjLAotMHg0MCwweDAzLDB4N2MsMHgwYiwweDIyLDB4ZTUsMHgyNiwweDI0LDB4OTcsMHhmOCwweGM2LDB4NDQsMHgwMiwweGY2LDB4N2MsMHgwMCwKLTB4MjIsMHg4YywweDMwLDB4MTIsMHgwZiwweDdjLDB4ZTUsMHgzMCwweDI0LDB4OTcsMHhmOCwweGU2LDB4MjAsMHhlMiwweDRmLDB4YWMsCi0weDMwLDB4N2QsMHgwMiwweDEyLDB4MGQsMHgzYSwweGU1LDB4MzAsMHgyNCwweGZlLDB4NDQsMHgyOCwweGZjLDB4NzgsMHhhNCwweDg2LAotMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjAsMHhhZiwweDgzLDB4ZTUsMHg4MiwweDI0LDB4MDQsMHhmZSwweGU0LDB4M2YsMHhmZiwKLTB4ZWMsMHg4ZSwweDgyLDB4OGYsMHg4MywweGYwLDB4N2MsMHgwMywweDhjLDB4MmMsMHhlNSwweDJjLDB4ZmMsMHg3OCwweGE1LDB4ZTYsCi0weDI0LDB4MDEsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZWMsMHhmMCwweGU1LDB4MmMsMHhmYywweDc4LAotMHhhNSwweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4NzUsMHgyZCwKLTB4MDEsMHg3NSwweDJmLDB4NDgsMHg3NSwweDJlLDB4ZmYsMHhlNSwweDMwLDB4MjQsMHhmZCwweGZjLDB4ZTQsMHgzNCwweGZmLDB4ZmQsCi0weGVjLDB4N2MsMHgwMywweDI1LDB4ZTAsMHhjZCwweDMzLDB4Y2QsMHhkYywweGY5LDB4ZmMsMHhlNSwweDJmLDB4MmMsMHhmNSwweDJmLAotMHhlNSwweDJlLDB4M2QsMHhmNSwweDJlLDB4NzgsMHhhNSwweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NTQsMHhlNywweGY1LDB4MmMsMHhhZCwweDJmLDB4YWUsMHgyZSwweGFmLDB4MmQsMHhlNCwweDkwLDB4MDAsCi0weDAyLDB4MTIsMHgwMywweDE3LDB4ZTQsMHg5MCwweDAwLDB4MDYsMHgxMiwweDAzLDB4MTcsMHgxMiwweDAxLDB4ZTYsMHgzMCwweGU1LAotMHgwMywweDQzLDB4MmMsMHgxMCwweGU1LDB4MmMsMHhmYywweDc4LDB4YTUsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwKLTB4MzQsMHgwMCwweGY1LDB4ODMsMHhlYywweGYwLDB4MTIsMHgxMCwweDY3LDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNiwweGY1LDB4ODIsCi0weDE4LDB4ZTYsMHgzNCwweDAwLDB4ZjUsMHg4MywweGUwLDB4YzIsMHgwMywweGZjLDB4ZTUsMHgzMCwweDI0LDB4OTcsMHhmOCwweGM2LAotMHg0NCwweDA0LDB4ZjYsMHg4YywweDJjLDB4ZTUsMHgzMCwweDU0LDB4MGYsMHhjNCwweDU0LDB4ZjAsMHg3ZSwweDAwLDB4ZmYsMHhlZSwKLTB4ZWYsMHg0NCwweDA0LDB4N2QsMHgwMCwweGZmLDB4ZWMsMHg0ZSwweGZjLDB4ZWQsMHg0ZiwweGZkLDB4MTIsMHgxYywweGZlLDB4N2MsCi0weDAwLDB4MjIsMHg4YywweDJmLDB4MTIsMHgwZiwweDdjLDB4MTIsMHgxMCwweDA3LDB4NzgsMHhhNCwweDg2LDB4ODMsMHgwOCwweDg2LAotMHg4MiwweGUwLDB4NTQsMHgwOCwweGYwLDB4YTMsMHhhMywweGEzLDB4YTMsMHhlMCwweDU0LDB4MDgsMHhmMCwweGFjLDB4MmYsMHg3ZCwKLTB4MDIsMHgxMiwweDBkLDB4M2EsMHhjMiwweDAzLDB4ZTUsMHgyZiwweDI0LDB4OTcsMHhmOCwweGM2LDB4NTQsMHhmYiwweGY2LDB4N2MsCi0weDAwLDB4MjIsMHgxMiwweDMwLDB4ODUsMHg3OCwweDkwLDB4ZWMsMHhmNiwweGVjLDB4MjQsMHg5NywweGY4LDB4ZTYsMHgzMCwweGUxLAotMHgwYSwweDdkLDB4MDAsMHg3YywweDEzLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4NzgsMHg5MCwweGU2LDB4MjQsMHg5NywKLTB4ZjgsMHhjNiwweDQ0LDB4MDEsMHhmNiwweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHg5MCwweGU2LDB4MjQsCi0weGZkLDB4NzUsMHhmMCwweDBhLDB4YTQsMHgyNCwweDFjLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3OCwweGEwLAotMHhlNiwweGZhLDB4MDgsMHhlNiwweGY5LDB4N2IsMHgwYSwweDc4LDB4MDEsMHgxMiwweDAzLDB4YTcsMHg3OCwweGEwLDB4ODYsMHg4MywKLTB4MDgsMHg4NiwweDgyLDB4NzksMHhmOCwweDdhLDB4MzQsMHg3YiwweDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhmNSwweDEyLDB4MGYsCi0weGQzLDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweGZjLDB4MTIsMHgxMSwweDIzLDB4NzgsMHg4ZiwweGVjLDB4ZjYsMHhlYywweDYwLAotMHgwYSwweDdkLDB4MDAsMHg3YywweDA4LDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwKLTB4MGYsMHg3YywweDc4LDB4YTMsMHhlNiwweDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsCi0weDQ0LDB4MTAsMHg1NCwweGRmLDB4ZmMsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LDB4ZTYsMHgzNCwweDAwLAotMHhmNSwweDgzLDB4ZWMsMHhmMCwweDc4LDB4OGYsMHhlYywweGY2LDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4NDgsMHg3OCwKLTB4OTAsMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsCi0weDAwLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhlZiwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4NDgsMHg3OCwweDkwLAotMHhlNiwweGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwKLTB4ZjUsMHg4MywweGUwLDB4NDQsMHgxMCwweGYwLDB4YzIsMHgwMywweDdjLDB4YzgsMHgxMiwweDMyLDB4NDgsMHg3OCwweDkwLDB4ZTYsCi0weGZjLDB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNCwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LAotMHg4MywweGUwLDB4NDQsMHgyMCwweGYwLDB4YzIsMHgwMywweDdjLDB4ZjAsMHgxMiwweDMyLDB4NDgsMHg3OCwweDkwLDB4ZTYsMHhmYywKLTB4MTIsMHgwZiwweDdjLDB4NzgsMHhhMywweGU2LDB4MjQsMHgwNSwweGY1LDB4ODIsMHgxOCwweGU2LDB4MzQsMHgwMCwweGY1LDB4ODMsCi0weGUwLDB4MzAsMHhlNCwweDE1LDB4YzIsMHgwMywweDc4LDB4OTAsMHhlNiwweDQ0LDB4MTAsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDA3LAotMHgxMiwweDMxLDB4OWEsMHgxMiwweDMxLDB4MDgsMHgwMiwweDE3LDB4NDksMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwKLTB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGNmLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhjOCwweDEyLDB4MzIsCi0weDQ4LDB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA0LDB4ZjUsMHg4MiwweDE4LAotMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg0NCwweDMwLDB4ZjAsMHhjMiwweDAzLDB4N2MsMHhmMCwweDEyLDB4MzIsMHg0OCwKLTB4NzgsMHg5MCwweGU2LDB4ZmMsMHgxMiwweDBmLDB4N2MsMHg3OCwweGEzLDB4ZTYsMHgyNCwweDA1LDB4ZjUsMHg4MiwweDE4LDB4ZTYsCi0weDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHgzMCwweGU0LDB4MTQsMHhjMiwweDAzLDB4NzgsMHg5MCwweGU2LDB4NDQsMHgxMCwweDdmLAotMHgwMCwweGZlLDB4N2MsMHgwNywweDEyLDB4MzEsMHg5YSwweDEyLDB4MzEsMHgwOCwweDgwLDB4NWQsMHg3OCwweGEzLDB4ZTYsMHgyNCwKLTB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGVmLDB4ZjAsMHg3OCwweGEzLDB4ZTYsCi0weDI0LDB4MDQsMHhmNSwweDgyLDB4MTgsMHhlNiwweDM0LDB4MDAsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsMHg3OCwweDkwLAotMHhlNiwweDI0LDB4ZmQsMHg3NSwweGYwLDB4MGEsMHhhNCwweDI0LDB4MWMsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywKLTB4YWMsMHg4MiwweGFkLDB4ODMsMHg3OCwweGEwLDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVjLDB4ZjksMHhlZCwweGZhLDB4N2IsCi0weDBhLDB4NzgsMHgwMSwweDEyLDB4MDMsMHhhNywweGMyLDB4MDMsMHg3OCwweDkwLDB4ZTYsMHhmYywweDEyLDB4MTEsMHgyMywweDdkLAotMHgwMCwweDdjLDB4MGIsMHgxMiwweDI0LDB4YjEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDEyLDB4MzAsMHg4NSwweDkwLDB4ZmYsMHg5MSwKLTB4ZTAsMHg5MCwweGZkLDB4NDEsMHhmMCwweDdkLDB4MDIsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsCi0weDEyLDB4MzAsMHg4NSwweDkwLDB4ZmQsMHg0MCwweGUwLDB4ZjQsMHhmYywweDkwLDB4ZmYsMHg5MSwweGUwLDB4NWMsMHhmNSwweDMzLAotMHg5MCwweGZkLDB4NDEsMHhlMCwweGZjLDB4OTAsMHhmZCwweDQwLDB4ZTAsMHg1YywweDQyLDB4MzMsMHhlNSwweDMzLDB4OTAsMHhmZiwKLTB4OTEsMHhmMCwweDdjLDB4MDAsMHgxMiwweDI1LDB4NGEsMHgxMiwweDMxLDB4MDgsMHgyMiwweDc0LDB4M2MsMHg5MCwweGZiLDB4ZTgsCi0weGYwLDB4NzQsMHgzZSwweDkwLDB4ZmIsMHhlOCwweGYwLDB4ZTQsMHg5MCwweGZkLDB4MzAsMHhmMCwweDIyLDB4OGQsMHgzNSwweDhjLAotMHgzNCwweGVjLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMiwweDgwLDB4MjgsMHhiNCwweDAyLDB4MDIsMHg4MCwKLTB4MDMsMHhkMywweDQwLDB4MDgsMHhhOCwweDM1LDB4YzYsMHgyNSwweGUwLDB4ZjYsMHg4MCwweDE4LDB4YjQsMHgwNCwweDAyLDB4ODAsCi0weDAzLDB4ZDMsMHg0MCwweDBhLDB4YTgsMHgzNSwweGM2LDB4MjUsMHhlMCwweDI1LDB4ZTAsMHhmNiwweDgwLDB4MDYsMHhhOCwweDM1LAotMHg3NiwweDAwLDB4ODAsMHgwMCwweDIyLDB4OGMsMHgzYywweDhkLDB4M2IsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHg3NSwKLTB4NjAsMHgwNiwweDc1LDB4NjEsMHgwMCwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg2ZSwweDEyLDB4MDEsMHhlNiwweGI0LDB4ODAsCi0weDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MTgsMHg5ZSwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLAotMHgwMCwweDAzLDB4MTIsMHgwMSwweGVjLDB4NTQsMHhmMCwweGI0LDB4MzAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NWYsMHg5MCwKLTB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwOCwweDEyLDB4MDIsMHgwZSwweGZhLDB4ZmQsMHhlYiwweGZlLDB4N2YsCi0weDAxLDB4OTAsMHhmZCwweDM0LDB4MTIsMHgwNCwweDZlLDB4ZWUsMHhjZCwweDkwLDB4MzUsMHgwMiwweGZjLDB4ZTQsMHg5MywweGZmLAotMHg3NCwweDAxLDB4OTMsMHhmZSwweGY5LDB4ZWYsMHhmYSwweDdiLDB4MDEsMHhlYSwweGZmLDB4ZTksMHhmZSwweGVjLDB4YzMsMHg5ZSwKLTB4ZWQsMHg5ZiwweDQwLDB4MjUsMHg5MCwweDM1LDB4MDQsMHhlNCwweDkzLDB4ZmQsMHg3NCwweDAxLDB4OTMsMHhmYywweGVkLDB4ZmUsCi0weGVjLDB4ZmQsMHg3ZiwweDAxLDB4ZWUsMHhjZCwweGZjLDB4OTAsMHhmZCwweDM2LDB4ZTAsMHhkMywweDljLDB4OTAsMHhmZCwweDM1LAotMHhlMCwweDlkLDB4NTAsMHgwNSwweDc1LDB4NjAsMHg4MCwweDgwLDB4MzMsMHgxMiwweDE5LDB4YmMsMHg4MCwweDJlLDB4YjQsMHg2MCwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDBiLDB4YWMsMHgzYywweGFkLDB4M2IsMHgxMiwweDA3LDB4ODIsMHg4YywweDYwLDB4ODAsCi0weDFiLDB4YjQsMHgxMCwweDAzLDB4YjMsMHg0MCwweDEwLDB4YzMsMHhiNCwweDIwLDB4MDMsMHhiMywweDQwLDB4MDksMHhjMywweGI0LAotMHg0MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDc1LDB4NjAsMHg4MSwweDgwLDB4MDAsMHg4MCwweDc1LDB4YjQsMHg4MSwKLTB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDZiLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDAzLDB4MTIsCi0weDAxLDB4ZWMsMHg1NCwweGYwLDB4YjQsMHgzMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxZCwweDkwLDB4ZmQsMHgzMSwweDEyLAotMHgwNCwweDgwLDB4OTAsMHgwMCwweDA4LDB4MTIsMHgwMiwweDBlLDB4ZmEsMHhmZCwweGViLDB4ZmUsMHg3ZiwweDAxLDB4OTAsMHhmZCwKLTB4MzcsMHgxMiwweDA0LDB4NmUsMHgxMiwweDE5LDB4MjYsMHg4MCwweDM2LDB4YjQsMHg2MCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsCi0weDEzLDB4NzUsMHgzYSwweDYxLDB4ZTQsMHhmNSwweDM5LDB4ZjUsMHgzOCwweGFjLDB4M2MsMHhhZCwweDNiLDB4MTIsMHgwNSwweGRlLAotMHg4YywweDYwLDB4ODAsMHgxYiwweGI0LDB4MTAsMHgwMywweGIzLDB4NDAsMHgxMCwweGMzLDB4YjQsMHgyMCwweDAzLDB4YjMsMHg0MCwKLTB4MDksMHhjMywweGI0LDB4NDAsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MDAsMHg3NSwweDYwLDB4ODEsMHg4MCwweDAwLDB4ODAsCi0weDAyLDB4ODAsMHgwMCwweGU1LDB4NjAsMHhmYywweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweGVjLDB4OTAsMHgwMCwweDAyLAotMHgxMiwweDAzLDB4MTcsMHhhYywweDYxLDB4MjIsMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwKLTB4MDEsMHhlYywweDYwLDB4MDQsMHg3NCwweDAxLDB4ODAsMHgwMSwweGU0LDB4YTIsMHhlMCwweDkyLDB4MDEsMHg5MCwweGZkLDB4MzEsCi0weDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwMywweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM0LDB4MTIsMHgwNCwweDZlLAotMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDUsMHgxMiwweDAxLDB4ZWMsMHhmNSwweDYxLDB4OTAsMHgwMCwKLTB4MDQsMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4ZmMsMHg3ZCwweDYxLDB4MTIsMHgxNywweDlkLDB4ZTUsMHg2MSwweDcwLDB4MDQsCi0weDc1LDB4NjAsMHgwOCwweDIyLDB4NzUsMHg2MCwweDAwLDB4NzgsMHg3ZSwweDc2LDB4MDAsMHg3OCwweDdlLDB4ZTYsMHhjMywweDk1LAotMHg2MSwweDUwLDB4MzgsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4ODAsMHgxMiwweDAxLDB4ZTYsMHhmYywweDkwLDB4ZmQsMHgzNCwKLTB4MTIsMHgwNCwweDgwLDB4ZWMsMHgxMiwweDAzLDB4MGYsMHgzMCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzksMHhlMCwweDA0LDB4ZjAsCi0weDkwLDB4ZmQsMHgzOCwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg3OCwweDdlLDB4MDYsMHg5MCwweGZkLDB4MzYsMHhlMCwweDA0LAotMHhmMCwweDkwLDB4ZmQsMHgzNSwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg4MCwweGMwLDB4MjIsMHg5MCwweGZkLDB4MzIsMHhlMCwKLTB4ZmQsMHhhMywweGUwLDB4ZmMsMHhlZCwweGZlLDB4ZWMsMHhmZCwweDdmLDB4MDEsMHhlZCwweDI0LDB4MGEsMHhmZCwweDUwLDB4MDEsCi0weDBlLDB4OTAsMHhmZCwweDNhLDB4MTIsMHgwNCwweDZlLDB4OTAsMHhmZCwweDMxLDB4MTIsMHgwNCwweDgwLDB4OTAsMHgwMCwweDA0LAotMHgxMiwweDAxLDB4ZWMsMHg1NCwweDBmLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxNywweDkwLDB4ZmQsMHgzYSwKLTB4MTIsMHgwNCwweDgwLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg2ZSwweDc4LDB4ODIsCi0weDc2LDB4MDEsMHg4MCwweDRlLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgxOSwweDkwLDB4ZmQsMHgzYSwweDEyLAotMHgwNCwweDgwLDB4ZWQsMHgyNCwweDAyLDB4ZmQsMHg1MCwweDAxLDB4MGUsMHg5MCwweGZkLDB4MzcsMHgxMiwweDA0LDB4NmUsMHg3OCwKLTB4ODIsMHg3NiwweDAyLDB4ODAsMHgyZCwweGI0LDB4MDQsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MTksMHg5MCwweGZkLDB4M2EsCi0weDEyLDB4MDQsMHg4MCwweGVkLDB4MjQsMHgwNCwweGZkLDB4NTAsMHgwMSwweDBlLDB4OTAsMHhmZCwweDM3LDB4MTIsMHgwNCwweDZlLAotMHg3OCwweDgyLDB4NzYsMHgwNCwweDgwLDB4MGMsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDAwLDB4NzUsMHg2MCwKLTB4MDgsMHgyMiwweDkwLDB4ZmQsMHgzMSwweDEyLDB4MDQsMHg4MCwweDkwLDB4MDAsMHgwNSwweDEyLDB4MDEsMHhlYywweGY1LDB4NjEsCi0weDc4LDB4N2YsMHg3NiwweDAwLDB4NzgsMHg3ZiwweGU2LDB4YzMsMHg5NSwweDYxLDB4NDAsMHgwMywweDAyLDB4MWIsMHgyNCwweDc4LAotMHg4MCwweDc2LDB4MDAsMHg3OCwweDgwLDB4ZTYsMHhjMywweDc4LDB4ODIsMHg5NiwweDUwLDB4NzYsMHg5MCwweGZkLDB4MzQsMHgxMiwKLTB4MDQsMHg4MCwweDEyLDB4MDEsMHhlNiwweGZjLDB4OTAsMHhmZCwweDNhLDB4MTIsMHgwNCwweDg5LDB4MTIsMHgwMSwweGUwLDB4ZjQsCi0weDVjLDB4ZmMsMHgxMiwweDAxLDB4ZTAsMHhmOCwweDkwLDB4ZmQsMHgzNywweDEyLDB4MDQsMHg4MCwweGU4LDB4YzAsMHhlMCwweDEyLAotMHgwMSwweGU2LDB4YzgsMHhkMCwweGUwLDB4YzgsMHg1OCwweDRjLDB4ZmMsMHg5MCwweGZkLDB4MzQsMHgxMiwweDA0LDB4ODAsMHhlYywKLTB4MTIsMHgwMywweDBmLDB4NzgsMHg4MSwweGVjLDB4ZjYsMHg5MCwweGZkLDB4MzksMHhlMCwweDA0LDB4ZjAsMHg5MCwweGZkLDB4MzgsCi0weDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHgwOSwweGU5LDB4NzAsMHgwMSwweDBhLDB4OTAsMHhmZCwweDNhLDB4MTIsMHgwNCwweDc3LAotMHg5MCwweGZkLDB4MzEsMHgxMiwweDA0LDB4ODAsMHg5MCwweDAwLDB4MDQsMHgxMiwweDAxLDB4ZWMsMHgzMCwweGU0LDB4MGUsMHg5MCwKLTB4ZmQsMHgzNiwweGUwLDB4MDQsMHhmMCwweDkwLDB4ZmQsMHgzNSwweDcwLDB4MDMsMHhlMCwweDA0LDB4ZjAsMHg3OCwweDgwLDB4MDYsCi0weDgwLDB4ODEsMHg3OCwweDgyLDB4ZTYsMHhmZCwweGU0LDB4ZmUsMHhmZiwweGVlLDB4Y2QsMHhmYywweDkwLDB4ZmQsMHgzOSwweGUwLAotMHgyYywweGYwLDB4OTAsMHhmZCwweDM4LDB4ZTAsMHgzZCwweGYwLDB4NzgsMHg4MiwweGU2LDB4ZmQsMHhlNCwweGZlLDB4ZmYsMHhlZSwKLTB4Y2QsMHhmYywweDkwLDB4ZmQsMHgzYywweGUwLDB4MmMsMHhmMCwweDkwLDB4ZmQsMHgzYiwweGUwLDB4M2QsMHhmMCwweDc4LDB4N2YsCi0weDA2LDB4MDIsMHgxYSwweDY0LDB4NzUsMHg2MCwweDAwLDB4MjIsMHhlNSwweDNkLDB4MDUsMHgzZCwweDA0LDB4NzAsMHgwMiwweGIyLAotMHhiMCwweDIyLDB4YzAsMHhlMCwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4ZDAsMHhlOCwweGMwLDB4ZTAsMHhlOSwKLTB4YzAsMHhlMCwweGVhLDB4YzAsMHhlMCwweGViLDB4YzAsMHhlMCwweGVjLDB4YzAsMHhlMCwweGVkLDB4YzAsMHhlMCwweGVlLDB4YzAsCi0weGUwLDB4ZWYsMHhjMCwweGUwLDB4OTAsMHhmZiwweDkyLDB4ZTAsMHgxMiwweDAxLDB4YjcsMHgxYiwweDgwLDB4MzAsMHgxYiwweDgwLAotMHgzMiwweDFiLDB4OGYsMHgzOCwweDFiLDB4YTEsMHgzYSwweDFiLDB4YjMsMHgzZSwweDFiLDB4Y2IsMHg0NCwweDFiLDB4YmYsMHg0NiwKLTB4MWIsMHhkNywweDUwLDB4MWMsMHgxOSwweDUyLDB4MWIsMHhmOCwweDU0LDB4MWMsMHgzYSwweDU2LDB4MDAsMHgwMCwweDFjLDB4NWIsCi0weDkwLDB4ZmYsMHg5MiwweGUwLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgwMSwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweGU0LAotMHhmZiwweDA0LDB4ZmUsMHg3YywweDAzLDB4MTIsMHgzMSwweDlhLDB4NzQsMHgyMCwweDkwLDB4ZmYsMHhmZSwweGYwLDB4MDIsMHgxYywKLTB4NmIsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MDIsMHgxMiwweDMxLDB4OWEsMHg3NCwweDQwLDB4OTAsMHhmZiwweGZlLDB4ZjAsCi0weDAyLDB4MWMsMHg2YiwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwNCwweDEyLDB4MzEsMHg5YSwweDAyLDB4MWMsMHg2YiwweGU0LAotMHhmZiwweDA0LDB4ZmUsMHg3YywweDA1LDB4MTIsMHgzMSwweDlhLDB4MDIsMHgxYywweDZiLDB4ZTQsMHhmZiwweDA0LDB4ZmUsMHg3YywKLTB4MDYsMHgxMiwweDMxLDB4OWEsMHgwMiwweDFjLDB4NmIsMHg5MCwweGZmLDB4YTUsMHhlMCwweDdkLDB4MDAsMHg5MCwweGZkLDB4MDAsCi0weGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDEsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLDB4ZmQsMHgwMCwweGUwLAotMHg0NCwweDMzLDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDczLDB4OTAsMHhmZiwweGI1LDB4ZTAsMHg3ZCwweDAwLDB4OTAsMHhmZCwKLTB4MDIsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZCwweDAzLDB4ZTAsMHhmYywweGY1LDB4ODMsMHg5MCwweGZkLDB4MDIsCi0weGUwLDB4NDQsMHg0MywweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHg1MiwweDkwLDB4ZmYsMHhhNiwweGUwLDB4N2QsMHgwMCwweDkwLAotMHhmZCwweDA0LDB4Y2QsMHhmMCwweGEzLDB4Y2QsMHhmMCwweDkwLDB4ZmQsMHgwNSwweGUwLDB4ZmMsMHhmNSwweDgzLDB4OTAsMHhmZCwKLTB4MDQsMHhlMCwweDQ0LDB4MzQsMHhmZCwweDEyLDB4MWMsMHhmZSwweDgwLDB4MzEsMHg5MCwweGZmLDB4YjYsMHhlMCwweDdkLDB4MDAsCi0weDkwLDB4ZmQsMHgwNiwweGNkLDB4ZjAsMHhhMywweGNkLDB4ZjAsMHg5MCwweGZkLDB4MDcsMHhlMCwweGZjLDB4ZjUsMHg4MywweDkwLAotMHhmZCwweDA2LDB4ZTAsMHg0NCwweDQ0LDB4ZmQsMHgxMiwweDFjLDB4ZmUsMHg4MCwweDEwLDB4OTAsMHhmZiwweDkyLDB4ZTAsMHg3ZCwKLTB4MDAsMHhmYywweGVkLDB4NDQsMHhhYSwweGZkLDB4MTIsMHgxYywweGZlLDB4ODAsMHgwMCwweGU0LDB4OTAsMHhmZiwweDkyLDB4ZjAsCi0weGQwLDB4ZTAsMHhmZiwweGQwLDB4ZTAsMHhmZSwweGQwLDB4ZTAsMHhmZCwweGQwLDB4ZTAsMHhmYywweGQwLDB4ZTAsMHhmYiwweGQwLAotMHhlMCwweGZhLDB4ZDAsMHhlMCwweGY5LDB4ZDAsMHhlMCwweGY4LDB4ZDAsMHhkMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwKLTB4ZDAsMHhlMCwweDMyLDB4MDUsMHg4MSwweDA1LDB4ODEsMHgwNSwweDgxLDB4MDUsMHg4MSwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsCi0weGVkLDB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg5MCwweGZmLDB4NmEsMHhlMCwweDIwLDB4ZTcsMHgwMiwweDgwLDB4ZjcsMHg5MCwweGZmLAotMHg2OSwweGUwLDB4N2QsMHgwMCwweGE4LDB4ODEsMHgxOCwweGNkLDB4ZjYsMHhjZCwweDA4LDB4ZjYsMHg3ZCwweDAzLDB4YTgsMHg4MSwKLTB4ZTYsMHgxOCwweGZjLDB4ZTYsMHhjYywweDI1LDB4ZTAsMHhjYywweDMzLDB4Y2MsMHhkZCwweGY5LDB4Y2MsMHhmNiwweGNjLDB4MDgsCi0weGY2LDB4YTgsMHg4MSwweDE4LDB4ZTYsMHg0NCwweGY4LDB4ZjYsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwweDA4LAotMHhlNiwweGZjLDB4YTgsMHg4MSwweDE4LDB4ODYsMHg4MywweDA4LDB4ODYsMHg4MiwweGVkLDB4ZjAsMHhhMywweGVjLDB4ZjAsMHg3NCwKLTB4MDIsMHg5MCwweGZmLDB4NmEsMHhmMCwweDE1LDB4ODEsMHgxNSwweDgxLDB4MTUsMHg4MSwweDE1LDB4ODEsMHgyMiwweGU1LDB4ODEsCi0weDI0LDB4MDUsMHhmNSwweDgxLDB4ZTQsMHhhOCwweDgxLDB4MTgsMHhmNiwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGVkLAotMHhmNiwweDA4LDB4ZWMsMHhmNiwweDkwLDB4ZmIsMHhmZCwweGUwLDB4MjQsMHhmOCwweDUwLDB4MDMsMHgwMiwweDFlLDB4MWYsMHhlNCwKLTB4YTgsMHg4MSwweDE4LDB4MTgsMHhmNiwweGE4LDB4ODEsMHgxOCwweGU2LDB4ZmUsMHhhOCwweDgxLDB4MTgsMHgxOCwweDE4LDB4MTgsCi0weGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHg3ZiwweDAwLDB4ZWYsMHgyNCwweGY4LDB4NDAsMHg0ZCwweGU0LDB4ZWYsMHgyNSwweGUwLAotMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHhlMCwweGZiLDB4YTMsMHhlMCwweDZjLDB4NzAsMHgwMywKLTB4ZmEsMHhlYiwweDZkLDB4NzAsMHgwOSwweDc0LDB4MDEsMHhhOCwweDgxLDB4MTgsMHgxOCwweGY2LDB4ODAsMHgyYiwweGU0LDB4ZWYsCi0weDI1LDB4ZTAsMHgyNCwweDg1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3YSwweDAwLDB4ZTAsMHg1NCwweGYwLAotMHhjYywweGY4LDB4Y2MsMHhjZCwweGY5LDB4Y2QsMHhmYiwweDc4LDB4MDAsMHhlOSwweDU0LDB4ZjAsMHhmOSwweGVhLDB4NjgsMHg3MCwKLTB4MDIsMHhlYiwweDY5LDB4NzAsMHgwMSwweDBlLDB4MGYsMHg4MCwweGFlLDB4YTgsMHg4MSwweDE4LDB4ZWUsMHhmNiwweGE4LDB4ODEsCi0weDE4LDB4MTgsMHgxOCwweDE4LDB4ZWQsMHhmNiwweDA4LDB4ZWMsMHhmNiwweGE4LDB4ODEsMHhlZiwweGY2LDB4YTgsMHg4MSwweDE4LAotMHgxOCwweGU2LDB4NzAsMHg3OSwweGE4LDB4ODEsMHgxOCwweGU2LDB4MjQsMHhmNywweDQwLDB4NzEsMHhhOCwweDgxLDB4MTgsMHgxOCwKLTB4MTgsMHgxOCwweGU2LDB4NTQsMHgwZiwweGE4LDB4ODEsMHhmNiwweDY0LDB4MDQsMHg2MCwweDE3LDB4YTgsMHg4MSwweGU2LDB4NjQsCi0weDAzLDB4NjAsMHgxMCwweGE4LDB4ODEsMHgxOCwweDE4LDB4MTgsMHgxOCwweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwweDFjLAotMHg5MywweDgwLDB4NGEsMHg3YywweDBhLDB4MTIsMHgzMCwweGZhLDB4YTgsMHg4MSwweDE4LDB4MTgsMHgxOCwweDE4LDB4ZTYsMHhmZCwKLTB4MDgsMHhlNiwweGZjLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsCi0weGY1LDB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHhmZiwweGU0LDB4ZWYsMHgwNCwweDU0LAotMHgwNywweGZmLDB4OTAsMHhmYiwweGZjLDB4ZjAsMHg5MCwweGZiLDB4ZmQsMHhlMCwweDA0LDB4ZjAsMHgxMiwweDMxLDB4OTMsMHg5MCwKLTB4ZmIsMHhmZSwweGUwLDB4NzAsMHgwOCwweGU0LDB4ZmUsMHhmZiwweDdjLDB4MGYsMHgxMiwweDMxLDB4OWEsMHg4MCwweDI3LDB4OTAsCi0weGZiLDB4ZmYsMHhlMCwweDA0LDB4ZjAsMHg1NCwweDNmLDB4NzAsMHgxZCwweDkwLDB4ZmIsMHhmZiwweGUwLDB4NDQsMHhmZSwweDdkLAotMHgwMCwweGZjLDB4OTAsMHhmYiwweGZjLDB4ZTAsMHgyNSwweGUwLDB4MjQsMHg4NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwKLTB4ODMsMHhlZCwweGYwLDB4YTMsMHhlYywweGYwLDB4ZTUsMHg4MSwweDI0LDB4ZmIsMHhmNSwweDgxLDB4MjIsMHg3OCwweDg1LDB4NzYsCi0weDAwLDB4NzgsMHg4NiwweDc2LDB4MDAsMHg3NCwweDAxLDB4OTAsMHhmYiwweGZlLDB4ZjAsMHgxMiwweDMwLDB4ODUsMHg5MCwweGZiLAotMHhmZCwweGUwLDB4NjAsMHg1OSwweDdjLDB4MGEsMHgxMiwweDMwLDB4ZmEsMHg5MCwweGZiLDB4ZmIsMHhlMCwweDI1LDB4ZTAsMHgyNCwKLTB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGUwLDB4ZmQsMHhhMywweGUwLDB4ZmMsMHg5MCwweGZiLDB4ZmIsCi0weGUwLDB4MjUsMHhlMCwweDI0LDB4ODUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhhMywweGYwLAotMHg5MCwweGZiLDB4ZmIsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDA0LDB4NTQsMHgwNywweGZmLDB4OTAsMHhmYiwweGZiLDB4ZjAsMHg5MCwKLTB4ZmIsMHhmZCwweGUwLDB4MTQsMHhmMCwweDc4LDB4ODMsMHhlZCwweGY2LDB4MDgsMHhlYywweGY2LDB4MTIsMHgzMSwweDkzLDB4YjIsCi0weGIzLDB4NzgsMHg4MywweGU2LDB4ZmQsMHgwOCwweGU2LDB4ZmMsMHgxMiwweDA4LDB4ZTUsMHg4MCwweGExLDB4MTIsMHgzMSwweGU3LAotMHg3OCwweDg1LDB4MDYsMHhiNiwweDAwLDB4MTEsMHg3OCwweDg1LDB4NzYsMHgwMCwweDc4LDB4ODYsMHhlNiwweGY0LDB4MDQsMHgwNCwKLTB4YTIsMHhlMCwweDkyLDB4YjQsMHg3OCwweDg2LDB4ZjYsMHg4MCwweDg1LDB4ZTQsMHg5MCwweGZiLDB4ZmUsMHhmMCwweDkwLDB4ZmIsCi0weGZkLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHhlZCwweDQ0LDB4Y2YsMHhmZCwweDEyLDB4MWMsMHg5MywweDEyLDB4MzEsMHgwOCwweDIyLAotMHgxMiwweDMwLDB4ODUsMHhlNSwweDZhLDB4NjQsMHg0OSwweDQ1LDB4NjksMHg2MCwweDE1LDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwKLTB4MGYsMHg3ZCwweDAwLDB4ZDMsMHg5NSwweDZhLDB4ZWQsMHg5NSwweDY5LDB4NTAsMHgwNSwweDEyLDB4MmUsMHhjZSwweDgwLDB4MDMsCi0weDEyLDB4MmYsMHg5ZSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4ZTUsMHg2YSwweDY0LDB4NDksMHg0NSwweDY5LAotMHg2MCwweDA1LDB4MTIsMHgyZiwweGQ4LDB4ODAsMHgwZSwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsMHgwOCwweGYwLDB4OTAsMHhmZiwKLTB4ODMsMHhlMCwweDU0LDB4N2YsMHhmMCwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4OGMsMHg1NCwweGVjLDB4NTQsCi0weGYwLDB4YjQsMHgxMCwweDE1LDB4NzUsMHg2NCwweDNkLDB4NzUsMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4ZTUsMHg2NCwweDI0LAotMHgwMywweGY1LDB4NjQsMHhlNSwweDYzLDB4MzQsMHgwMCwweGY1LDB4NjMsMHhlNCwweGY1LDB4NTcsMHhmNSwweDU2LDB4ZTUsMHg1NiwKLTB4YzMsMHg5NCwweDAxLDB4NTAsMHgyNywweGU1LDB4NTQsMHg1NCwweDBmLDB4ZmMsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsCi0weDEyLDB4MGUsMHg4MiwweDhjLDB4NTUsMHhlYywweDYwLDB4MDIsMHg4MCwweDEyLDB4MDUsMHg2NCwweGU1LDB4NjQsMHg3MCwweDAyLAotMHgwNSwweDYzLDB4MDUsMHg1NywweGU1LDB4NTcsMHg3MCwweDAyLDB4MDUsMHg1NiwweDgwLDB4ZDIsMHhlNSwweDU0LDB4NTQsMHgwZiwKLTB4MjQsMHg5NywweGY4LDB4YzYsMHg1NCwweGZlLDB4ZjYsMHhlNSwweDU0LDB4NTQsMHgwZiwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTIsCi0weDEyLDB4MzEsMHg5YSwweGU1LDB4NTUsMHgxNCwweDcwLDB4MDksMHg3ZCwweDAwLDB4N2MsMHgwOSwweDEyLDB4MjQsMHhiMSwweDgwLAotMHgwNywweGFkLDB4NTcsMHg3YywweDAwLDB4MTIsMHgyNCwweGIxLDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsMHg5MCwKLTB4ZmYsMHhmYywweGUwLDB4NDQsMHgwMiwweGYwLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHgzMCwweGU3LDB4MTMsMHg5MCwweGZmLDB4ODMsCi0weGUwLDB4NDQsMHg4MCwweGYwLDB4NDMsMHg2NywweDgwLDB4OTAsMHhmZiwweGZjLDB4ZTAsMHg0NCwweDAxLDB4ZjAsMHg4MCwweDExLAotMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDUzLDB4NjcsMHg3ZiwweDkwLDB4ZmYsMHhmYywweGUwLDB4NTQsMHhmZSwKLTB4ZjAsMHg5MCwweGZmLDB4ODEsMHhlMCwweDQ0LDB4ODAsMHhmMCwweDEyLDB4MjUsMHg2NCwweDkwLDB4ZmYsMHhmZSwweGUwLDB4NDQsCi0weDA1LDB4ZjAsMHg5MCwweGZmLDB4ZmMsMHhlMCwweDU0LDB4ZmQsMHhmMCwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LAotMHg3YywweDAxLDB4MTIsMHgzMiwweDQ4LDB4NzgsMHhhNywweGU2LDB4NDQsMHgwMiwweGY2LDB4NzQsMHhmZSwweGZjLDB4MDQsMHhmZCwKLTB4MTIsMHgxYywweGZlLDB4OTAsMHhmZiwweDZhLDB4ZTAsMHgzMCwweGU3LDB4MDIsMHg4MCwweGY3LDB4ZTQsMHhmNSwweDRlLDB4NzUsCi0weDRkLDB4MTAsMHhhYywweDRlLDB4YWQsMHg0ZCwweGU1LDB4NGUsMHgxNSwweDRlLDB4NzAsMHgwMiwweDE1LDB4NGQsMHhlYywweDRkLAotMHg2MCwweDAyLDB4ODAsMHhlZSwweDQzLDB4ODcsMHgwMSwweDEyLDB4MzEsMHgwOCwweDIyLDB4MTIsMHgzMCwweDg1LDB4N2MsMHgwMiwKLTB4MTIsMHgzMSwweDE0LDB4NzgsMHhhNywweGU2LDB4NTQsMHhmZCwweGY2LDB4MTIsMHgzMSwweDA4LDB4MjIsMHgxMiwweDMwLDB4ODUsCi0weDc4LDB4YTcsMHhlNiwweDMwLDB4ZTAsMHgyYywweDc4LDB4YTcsMHhlNiwweDMwLDB4ZTEsMHgyNiwweDc4LDB4YTcsMHhlNiwweGZjLAotMHhmNSwweDgzLDB4MTgsMHhlNiwweDQ0LDB4ZjAsMHhmZCwweDEyLDB4MWMsMHg5MywweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgyMCwKLTB4ZjAsMHg3YywweDAyLDB4MTIsMHgzMiwweDQ4LDB4NzgsMHhhNywweGU2LDB4NTQsMHhmZCwweGY2LDB4NzQsMHgxYSwweDkwLDB4ZmYsCi0weGZlLDB4ZjAsMHg3OCwweGE3LDB4ZTYsMHhmYywweGY1LDB4ODMsMHgxOCwweGU2LDB4NDQsMHhmMSwweGZkLDB4MTIsMHgxYywweDkzLAotMHgxMiwweDMxLDB4MDgsMHgyMiwweDc1LDB4NjcsMHgwMCwweDc1LDB4NjgsMHgwMCwweGU0LDB4ZjUsMHg2NiwweGY1LDB4NjUsMHhlNCwKLTB4ZjUsMHg2OSwweDc1LDB4NmEsMHg0OSwweDc0LDB4ODQsMHg5MCwweGZmLDB4ODIsMHhmMCwweDc0LDB4ODQsMHg5MCwweGZmLDB4ODAsCi0weGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg2OCwweGYwLDB4NzQsMHg4MCwweDkwLDB4ZmYsMHg2YSwweGYwLDB4YWQsMHg0NiwweGFmLAotMHg0NSwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmMsMHg1MCwweDAzLDB4MDIsMHgyMSwweDZhLDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywKLTB4YTQsMHgyNCwweDNmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDU0LDB4ODAsCi0weGZkLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwweGZmLDB4ZWQsMHg2MCwweDM4LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LAotMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwKLTB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsCi0weDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0ZSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLAotMHg4MCwweDM0LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwKLTB4ODMsMHg3NCwweDkwLDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBhLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDBlLDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZmLDB4ZjUsMHg4MywweGU0LDB4ZjAsMHgwZSwweDAyLDB4MjAsMHhkMywweDhkLDB4NDYsMHg4ZSwweDQ0LDB4OGYsMHg0NSwKLTB4NzQsMHg3ZiwweDkwLDB4ZmYsMHhmZCwweGYwLDB4NzQsMHg5MCwweDkwLDB4ZmYsMHhmYywweGYwLDB4OTAsMHhmYywweDE5LDB4ZTAsCi0weDMwLDB4ZTYsMHgwNywweDkwLDB4ZmYsMHhmYywweGUwLDB4NDQsMHgwNCwweGYwLDB4MjIsMHg5MCwweGZjLDB4MGQsMHhlMCwweDE0LAotMHg3MCwweDA0LDB4OTAsMHhmYywweDBjLDB4ZTAsMHg3MCwweDM5LDB4OTAsMHhmYywweDAwLDB4NzksMHgwNiwweDdhLDB4MzUsMHg3YiwKLTB4MTIsMHg3OCwweDAxLDB4MTIsMHgwMywweGY1LDB4N2YsMHgwMCwweGVmLDB4MzMsMHg0MCwweDE1LDB4ZWYsMHg5MCwweDM1LDB4NGQsCi0weDkzLDB4ZmMsMHhlZiwweDI0LDB4ODAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHgwZiwweDgwLAotMHhlNywweDhmLDB4NTksMHg5MCwweGZjLDB4MmIsMHg3OSwweDE4LDB4N2EsMHgzNSwweDdiLDB4MzUsMHg3OCwweDAxLDB4MTIsMHgwMywKLTB4ZjUsMHhlNCwweDkwLDB4ZmYsMHhmZiwweGYwLDB4NzQsMHg1MSwweDkwLDB4ZmYsMHhmYSwweGYwLDB4NzQsMHgwNCwweDkwLDB4ZmYsCi0weGZiLDB4ZjAsMHg3NCwweDUzLDB4OTAsMHhmZiwweGY4LDB4ZjAsMHg3NCwweDUxLDB4OTAsMHhmZiwweGY5LDB4ZjAsMHg3NCwweDU1LAotMHg5MCwweGZmLDB4ZjcsMHhmMCwweDc0LDB4OTMsMHg5MCwweGZmLDB4ZjYsMHhmMCwweDc0LDB4MzIsMHg5MCwweGZmLDB4ZjUsMHhmMCwKLTB4NzUsMHg2NCwweDNkLDB4NzUsMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4ZTQsMHg5MCwweGZmLDB4ODMsMHhmMCwweDc0LDB4ODAsCi0weDkwLDB4ZmYsMHg4MSwweGYwLDB4NzUsMHg1OCwweDA0LDB4ZTUsMHg1OCwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHgzZiwweGY1LAotMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDc4LDB4ODksMHhmNiwweGZjLDB4NTQsMHgwZiwweDE0LDB4ZmMsMHg3OCwKLTB4ODksMHhlYywweGY2LDB4ZTUsMHg1OCwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg0MSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsCi0weGY1LDB4ODMsMHhlMCwweDc4LDB4OGMsMHg3NiwweGY4LDB4MDgsMHg3NiwweDAwLDB4ZmMsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4ODksMHhlNiwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYywweGYwLDB4NzgsCi0weDhjLDB4ZTYsMHhmZiwweDA4LDB4ZTYsMHg3ZSwweDAzLDB4Y2YsMHhjMywweDEzLDB4Y2YsMHgxMywweGRlLDB4ZjksMHhmZSwweDc4LAotMHg4OSwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlZSwKLTB4ZjAsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGEsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsCi0weDgzLDB4NzQsMHg4MCwweGYwLDB4NzgsMHg4YSwweGVjLDB4ZjYsMHg3ZCwweDAwLDB4NzgsMHg4ZCwweGU2LDB4MmMsMHhmNiwweDE4LAotMHhlNiwweDNkLDB4ZjYsMHg3OCwweDhjLDB4ZTYsMHhmZCwweDA4LDB4ZTYsMHg3YywweDAzLDB4Y2QsMHhjMywweDEzLDB4Y2QsMHgxMywKLTB4ZGMsMHhmOSwweGZjLDB4NzgsMHg4OSwweGU2LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHg3OCwweDg5LDB4ZTYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OGMsMHhlNiwweGZkLDB4MDgsMHhlNiwweGZjLDB4NzgsMHg4OSwKLTB4ZTYsMHhmZiwweDdlLDB4MDAsMHhlZSwweDI0LDB4ZmMsMHg1MCwweDAzLDB4MDIsMHgyNCwweDZiLDB4ZTQsMHhlZSwweDc1LDB4ZjAsCi0weDA3LDB4YTQsMHgyNCwweDNmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweGZmLDB4ZTQsMHhlZiwweDU0LAotMHg4MCwweGZhLDB4ZTQsMHhlZiwweDU0LDB4MGYsMHgxNCwweGZmLDB4ZTQsMHhlZSwweDc1LDB4ZjAsMHgwNywweGE0LDB4MjQsMHg0MSwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmYywweGY1LDB4ODMsMHhlMCwweDc4LDB4OGEsMHhmNiwweGVlLDB4NzUsMHhmMCwweDgwLDB4YTQsCi0weDI0LDB4MDgsMHhmOCwweGU1LDB4ZjAsMHgzNCwweGY4LDB4ZjksMHhlOCwweGZjLDB4ZTksMHhmZCwweDhhLDB4NTksMHhlYSwweDcwLAotMHgwMywweDAyLDB4MjMsMHhkOCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDc4LDB4OGEsMHhlNiwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsCi0weDRmLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4ZWQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLAotMHhjMywweDEzLDB4Y2IsMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NDksMHhmNSwKLTB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweDc4LDB4OGEsMHhlNiwweDdiLDB4MDAsMHhmYSwweGVjLDB4MmEsCi0weGZjLDB4ZWQsMHgzYiwweGZkLDB4ZmIsMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLAotMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRkLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwKLTB4ZjAsMHhlNCwweGVmLDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDRhLDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsCi0weDc0LDB4ODAsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4NGUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLAotMHhmNSwweDgzLDB4NzQsMHg4MCwweGYwLDB4MDIsMHgyNCwweDY3LDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwKLTB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlNCwweGYwLDB4NzgsMHg4YSwweGU2LDB4ZmEsMHhlNCwweGVmLDB4NzUsCi0weGYwLDB4MDgsMHhhNCwweDI0LDB4MGYsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLDB4ZjUsMHg4MywweGVhLDB4ZjAsMHhlZCwweGZiLAotMHhlYywweDdhLDB4MDMsMHhjYiwweGMzLDB4MTMsMHhjYiwweDEzLDB4ZGEsMHhmOSwweGZhLDB4ZTQsMHhlZiwweDc1LDB4ZjAsMHgwOCwKLTB4YTQsMHgyNCwweDA5LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlYSwweGYwLDB4NzgsMHg4YSwweGU2LDB4N2IsCi0weDAwLDB4ZmEsMHhlYywweDJhLDB4ZmMsMHhlZCwweDNiLDB4ZmQsMHhmYiwweGVjLDB4N2EsMHgwMywweGNiLDB4YzMsMHgxMywweGNiLAotMHgxMywweGRhLDB4ZjksMHhmYSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGQsMHhmNSwweDgyLDB4ZTQsMHgzNCwKLTB4ZmYsMHhmNSwweDgzLDB4ZWEsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGEsMHhmNSwweDgyLDB4ZTQsCi0weDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MGUsMHhmNSwweDgyLAotMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTQsMHhmMCwweDBlLDB4MDIsMHgyMiwweGY0LDB4OGUsMHg1OCwweDc4LDB4OGMsMHhlZCwKLTB4ZjYsMHgwOCwweGVjLDB4ZjYsMHg3OCwweDg5LDB4ZWYsMHhmNiwweDEyLDB4MjAsMHhhNCwweDIyLDB4OGMsMHgyNiwweGVjLDB4MzAsCi0weGU3LDB4MTgsMHhlNSwweDI2LDB4NTQsMHgwZiwweDE0LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LAotMHgzNCwweGZmLDB4ZjUsMHg4MywweGUwLDB4NTQsMHhkZiwweGYwLDB4ODAsMHgxNiwweGU1LDB4MjYsMHg1NCwweDBmLDB4MTQsMHg3NSwKLTB4ZjAsMHgwOCwweGE0LDB4MjQsMHgwOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweGRmLDB4ZjAsCi0weDIyLDB4ZWMsMHg5MCwweGZkLDB4M2YsMHhmMCwweDhjLDB4MjQsMHhlZCwweDI0LDB4MDMsMHhmNSwweDI1LDB4N2QsMHgwMCwweGQzLAotMHg5NSwweDZjLDB4ZWQsMHg5NSwweDZiLDB4NDAsMHgwMywweDg1LDB4NmMsMHgyNSwweGU1LDB4MjUsMHgyNCwweGI3LDB4NTAsMHgwOSwKLTB4NzUsMHgyNSwweDAzLDB4NzQsMHgwMiwweDkwLDB4ZmQsMHgzZiwweGYwLDB4YWMsMHgyNSwweDEyLDB4MmYsMHhjMywweDIyLDB4ZTQsCi0weGY1LDB4NjYsMHhmNSwweDY1LDB4MTIsMHgyNCwweGU4LDB4MjIsMHg5MCwweGZkLDB4M2QsMHhlMCwweDY1LDB4NmQsMHg2MCwweDBlLAotMHg3NCwweDA0LDB4OTAsMHhmZCwweDNmLDB4ZjAsMHhlNCwweGY1LDB4NjUsMHg3NSwweDY2LDB4MDMsMHg4MCwweDQ2LDB4N2QsMHg2ZCwKLTB4ZTQsMHhmZSwweGZmLDB4NzksMHgzZCwweDdhLDB4ZmQsMHg3YiwweDAxLDB4NzQsMHgwNSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsCi0weGU1LDB4NjYsMHgyNCwweDAzLDB4ZjUsMHg2NiwweGU1LDB4NjUsMHgzNCwweDAwLDB4ZjUsMHg2NSwweGU1LDB4NjYsMHhkMywweDk1LAotMHg2YywweGU1LDB4NjUsMHg5NSwweDZiLDB4NDAsMHgwNiwweDg1LDB4NmMsMHg2NiwweDg1LDB4NmIsMHg2NSwweGQzLDB4ZTUsMHg2NiwKLTB4OTQsMHg0OCwweGU1LDB4NjUsMHg5NCwweDAwLDB4NDAsMHgwYywweDc0LDB4MDIsMHg5MCwweGZkLDB4M2YsMHhmMCwweGU0LDB4ZjUsCi0weDY1LDB4NzUsMHg2NiwweDAzLDB4YWMsMHg2NiwweDEyLDB4MmYsMHhjMywweDIyLDB4ZWMsMHg5MCwweGZkLDB4M2YsMHhmMCwweGU0LAotMHhmNSwweDY2LDB4ZjUsMHg2NSwweDhjLDB4MzIsMHhlYywweDYwLDB4MDUsMHgxMiwweDJmLDB4YjQsMHg4MCwweDA1LDB4N2MsMHgwMCwKLTB4MTIsMHgyZiwweGMzLDB4MjIsMHg5MCwweGZmLDB4MDQsMHhlMCwweGY1LDB4NGEsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZkLDB4YTMsCi0weGUwLDB4ZWQsMHg3ZCwweDAwLDB4ZmMsMHg3ZCwweDAwLDB4ZmMsMHg5MCwweGZmLDB4MDYsMHhlMCwweGZmLDB4YTMsMHhlMCwweDdlLAotMHgwMCwweGZmLDB4ZTQsMHhmZSwweGVjLDB4NGUsMHhmYywweGVkLDB4NGYsMHhmZCwweGMzLDB4ZWMsMHg5NCwweDQ4LDB4ZWQsMHg5NCwKLTB4MDAsMHg1MCwweDIyLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsCi0weGZjLDB4OTAsMHhmZiwweDA2LDB4ZTAsMHhmZiwweGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGZjLAotMHhlZCwweDRmLDB4ZmQsMHg4MCwweDA0LDB4ZTQsMHhmZCwweDdjLDB4NDgsMHg4YywweDZjLDB4OGQsMHg2YiwweDkwLDB4ZmYsMHgwMiwKLTB4ZTAsMHhmZCwweGEzLDB4ZTAsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweDkwLDB4ZmYsMHgwMiwweGUwLDB4ZmYsCi0weGEzLDB4ZTAsMHg3ZSwweDAwLDB4ZmYsMHhlNCwweGZlLDB4ZWMsMHg0ZSwweGY1LDB4NGMsMHhlZCwweDRmLDB4ZjUsMHg0YiwweDc1LAotMHg2NCwweDNkLDB4NzUsMHg2MywweGZkLDB4NzUsMHg2MiwweDAxLDB4N2QsMHgzZCwweDdlLDB4ZmQsMHg3ZiwweDAxLDB4NzksMHg2ZCwKLTB4ZTQsMHhmYSwweGZiLDB4NzQsMHgwNSwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3NSwweDQ5LDB4MDAsMHhlNSwweDQ5LDB4MjQsCi0weGZlLDB4NDAsMHgxOSwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweGU0LDB4MTIsMHgwMywweDBmLDB4MDUsMHg0OSwweDBkLAotMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDgwLDB4ZTEsMHg3NSwweDY0LDB4M2QsMHg3NSwKLTB4NjMsMHhmZCwweDc1LDB4NjIsMHgwMSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHg2MCwweGI0LDB4MDAsMHgwMiwweDgwLDB4MDYsCi0weGQzLDB4NTAsMHgwMywweDAyLDB4MmMsMHgxMiwweGU1LDB4NGEsMHg1NCwweDBmLDB4ZjUsMHg0OSwweGU1LDB4NGEsMHg1NCwweDgwLAotMHhhMiwweGUwLDB4OTIsMHgwMiwweDkwLDB4ZmYsMHgwMSwweGUwLDB4MTIsMHgwMSwweDgxLDB4MDAsMHgwYiwweDJjLDB4MGQsMHgyNiwKLTB4NjcsMHgyNywweDg1LDB4MmMsMHgwZCwweDI4LDB4OTEsMHgyYywweDBkLDB4MjksMHg3NCwweDI5LDB4YTgsMHgyYiwweDBmLDB4MmIsCi0weDEyLDB4MmIsMHg1MiwweDJiLDB4YjYsMHgyYiwweGU0LDB4ZTUsMHg2NywweDMwLDB4ZTcsMHgwZSwweGU1LDB4NGMsMHg0NSwweDRiLAotMHg3MCwweDA4LDB4ZTUsMHg2YywweDY0LDB4MDIsMHg0NSwweDZiLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweDkwLDB4ZmYsMHgwMCwKLTB4ZTAsMHg1NCwweDFmLDB4YjQsMHgwMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgyOSwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsCi0weDI3LDB4ODIsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHg3NCwweDAxLDB4MTIsMHgwMywweDBmLDB4NzgsMHhhNywweGU2LAotMHgzMCwweGUwLDB4MGIsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLDB4NjIsMHg3NCwweDAyLDB4MTIsMHgwMywweDBmLDB4N2MsMHgwMiwKLTB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFiLDB4ZTUsMHg2NywweDIwLDB4ZTEsCi0weDA3LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDI3LDB4ODIsMHhlNSwweDRhLDB4MjQsMHhmZSwweDUwLDB4MDMsMHgwMiwweDI3LAotMHg4MiwweDdjLDB4MDIsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwKLTB4MjcsMHg4MCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MGQsMHhlNSwweDRhLDB4NjAsMHgwOSwweGU1LDB4NGEsMHg2NCwweDgwLDB4NjAsCi0weDAzLDB4MDIsMHgyNywweDgyLDB4YWMsMHg0YSwweDEyLDB4MzAsMHg0YSwweDQwLDB4MDMsMHgwMiwweDI3LDB4ODIsMHhlNSwweDQ5LAotMHg3MCwweDI1LDB4MzAsMHgwMiwweDExLDB4OTAsMHhmZiwweDgwLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwKLTB4NjIsMHgxMiwweDAzLDB4MGYsMHg4MCwweDBmLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwweGFlLDB4NjMsCi0weGFmLDB4NjIsMHgxMiwweDAzLDB4MGYsMHg4MCwweDNkLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxZCwweGU1LDB4NDksMHg3NSwweGYwLAotMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg1NCwweDA4LDB4YWQsMHg2NCwKLTB4YWUsMHg2MywweGFmLDB4NjIsMHgxMiwweDAzLDB4MGYsMHg4MCwweDFiLDB4ZTUsMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsCi0weDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4MDgsMHhhZCwweDY0LDB4YWUsMHg2MywweGFmLAotMHg2MiwweDEyLDB4MDMsMHgwZiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDEyLDB4MDEsMHhlNiwweDYwLDB4MGIsMHhhZCwKLTB4NjQsMHhhZSwweDYzLDB4YWYsMHg2MiwweDc0LDB4MDEsMHgxMiwweDAzLDB4MGYsMHg3YywweDAyLDB4MTIsMHgyZiwweGMzLDB4MjIsCi0weDgwLDB4MDAsMHgwMiwweDJjLDB4MGYsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg2MCwweDAzLAotMHgwMiwweDJjLDB4MGYsMHg5MCwweGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwKLTB4MWEsMHhlNSwweDRjLDB4MTQsMHg0NSwweDRiLDB4NzAsMHgwNCwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOCwweDhlLDB4NzgsCi0weGE3LDB4ZTYsMHg1NCwweGZlLDB4ZjYsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MmEsMHhlNSwweDY3LDB4MjAsMHhlMSwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMywweDAyLDB4MjgsMHg4ZSwKLTB4ZTUsMHg2NywweDMwLDB4ZTAsMHgwNCwweGU1LDB4NGEsMHg3MCwweDBiLDB4ZTUsMHg2NywweDMwLDB4ZTEsMHgwOSwweGU1LDB4NGEsCi0weDI0LDB4ZmUsMHg1MCwweDAzLDB4MDIsMHgyOCwweDhlLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4YjQsMHgwMiwweDAyLAotMHg4MCwweDA2LDB4ZDMsMHg1MCwweDAzLDB4MDIsMHgyOCwweDhjLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg2MCwweDAzLDB4MDIsMHgyOCwKLTB4OGUsMHhhYywweDRhLDB4MTIsMHgzMCwweDRhLDB4NDAsMHgwMywweDAyLDB4MjgsMHg4ZSwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDcsCi0weGU1LDB4NjcsMHgyMCwweGUwLDB4MDIsMHg4MCwweDc3LDB4ZTUsMHg2NywweDMwLDB4ZTAsMHgwNiwweGU1LDB4NDksMHg2MCwweDAyLAotMHg4MCwweDZjLDB4ZTUsMHg0OSwweDcwLDB4MGYsMHg5MCwweGZmLDB4ODIsMHhlMCwweDU0LDB4ZjcsMHhmMCwweDkwLDB4ZmYsMHg4MCwKLTB4ZTAsMHg1NCwweGY3LDB4ZjAsMHgyMiwweGU1LDB4NDksMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA5LDB4N2QsCi0weDAxLDB4N2MsMHgwMywweDEyLDB4MGYsMHgwYiwweDgwLDB4MTEsMHhiNCwweDAyLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDA5LAotMHg3ZCwweDAxLDB4N2MsMHgwNCwweDEyLDB4MGYsMHgwYiwweDgwLDB4MDAsMHgxNSwweDQ5LDB4MzAsMHgwMiwweDE1LDB4ZTUsMHg0OSwKLTB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDQ4LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZiwweGY1LDB4ODMsMHhlMCwweDU0LDB4ZjcsCi0weGYwLDB4ODAsMHgxMywweGU1LDB4NDksMHg3NSwweGYwLDB4MDgsMHhhNCwweDI0LDB4MDgsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZmLAotMHhmNSwweDgzLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyYywKLTB4MGYsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4ZTUsMHg2YywweDQ1LDB4NmIsMHg2MCwweDAzLDB4MDIsMHgyYywweDBmLDB4OTAsCi0weGZmLDB4MDAsMHhlMCwweDU0LDB4MWYsMHhiNCwweDAwLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDFhLDB4ZTUsMHg0YywweDE0LAotMHg0NSwweDRiLDB4NzAsMHgwNCwweGU1LDB4NGEsMHg2MCwweDAzLDB4MDIsMHgyOSwweDcxLDB4NzgsMHhhNywweGU2LDB4NDQsMHgwMSwKLTB4ZjYsMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhiNCwweDAxLDB4MDIsMHg4MCwweDAzLDB4ZDMsMHg0MCwweDI5LDB4ZTUsCi0weDY3LDB4MjAsMHhlMSwweDA4LDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwMywweDAyLDB4MjksMHg3MSwweGU1LDB4NjcsMHgzMCwweGUwLAotMHgwNCwweGU1LDB4NDksMHg3MCwweDBiLDB4ZTUsMHg2NywweDMwLDB4ZTEsMHgwOCwweGU1LDB4NDksMHgyNCwweGZlLDB4NTAsMHgwMiwKLTB4ODAsMHg3ZiwweDdjLDB4MDAsMHgxMiwweDJmLDB4YzMsMHgyMiwweGI0LDB4MDIsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4NmYsCi0weGU1LDB4NGMsMHg0NSwweDRiLDB4NjAsMHgwMiwweDgwLDB4NjksMHhhYywweDRhLDB4MTIsMHgzMCwweDRhLDB4NDAsMHgwMiwweDgwLAotMHg2MCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDcsMHhlNSwweDY3LDB4MjAsMHhlMCwweDAyLDB4ODAsMHg1NCwweGU1LDB4NDksMHg3MCwKLTB4MTQsMHgzMCwweDAyLDB4MDksMHg5MCwweGZmLDB4ODAsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDgwLDB4MDcsMHg5MCwweGZmLDB4ODIsCi0weGUwLDB4NDQsMHgwOCwweGYwLDB4MjIsMHhlNSwweDY3LDB4MzAsMHhlMSwweDMzLDB4MTUsMHg0OSwweDMwLDB4MDIsMHgxNSwweGU1LAotMHg0OSwweDc1LDB4ZjAsMHgwOCwweGE0LDB4MjQsMHg0OCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmYsMHhmNSwweDgzLDB4ZTAsMHg0NCwKLTB4MDgsMHhmMCwweDgwLDB4MTMsMHhlNSwweDQ5LDB4NzUsMHhmMCwweDA4LDB4YTQsMHgyNCwweDA4LDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZmLDB4ZjUsMHg4MywweGUwLDB4NDQsMHgwOCwweGYwLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ODAsMHgwMiwweDgwLAotMHgwMCwweDAyLDB4MmMsMHgwZiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MTIsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MGMsMHhlNSwKLTB4NGEsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweGU1LDB4NGMsCi0weDkwLDB4ZmYsMHhmZiwweGYwLDB4OTAsMHhmZiwweGZmLDB4ZTAsMHg2MCwweDA1LDB4NDMsMHg2NywweDAxLDB4ODAsMHgwMywweDUzLAotMHg2NywweGZlLDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ZTUsMHg2NywweDMwLDB4ZTcsMHgwZSwweGU1LDB4NmMsMHg0NSwKLTB4NmIsMHg2MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywweDAyLDB4MmMsMHgwZiwweGFkLDB4NGIsCi0weGU1LDB4NGMsMHhlZCwweDdkLDB4MDAsMHhmYywweDdkLDB4MDAsMHhmYywweGJkLDB4MDAsMHgwMiwweDgwLDB4MDMsMHgwMiwweDJiLAotMHgwYSwweGI0LDB4MDEsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MzIsMHhlNSwweDRhLDB4NzAsMHgwNSwweGU1LDB4NGMsMHhmYywKLTB4NjAsMHgwMywweDAyLDB4MmIsMHgwYywweDc1LDB4NjQsMHgwMCwweDc1LDB4NjMsMHhmYywweDc1LDB4NjIsMHgwMSwweGQzLDB4ZTUsCi0weDZjLDB4OTQsMHgxMiwweGU1LDB4NmIsMHg5NCwweDAwLDB4NDAsMHgwNiwweGU0LDB4ZmQsMHg3YywweDEyLDB4ODAsMHgwNCwweGFjLAotMHg2YywweGFkLDB4NmIsMHg4YywweDZhLDB4OGQsMHg2OSwweDEyLDB4MmYsMHhkOCwweDIyLDB4YjQsMHgwMiwweDAyLDB4ODAsMHgwMywKLTB4ZDMsMHg0MCwweDU5LDB4ZTUsMHg0YSwweDYwLDB4MDMsMHgwMiwweDJiLDB4MGMsMHhlNSwweDRjLDB4ZmMsMHg3MCwweDI3LDB4NzUsCi0weDY0LDB4MTIsMHg3NSwweDYzLDB4ZmMsMHg3NSwweDYyLDB4MDEsMHhkMywweGU1LDB4NmMsMHg5NCwweDE5LDB4ZTUsMHg2YiwweDk0LAotMHgwMCwweDQwLDB4MDYsMHhlNCwweGZkLDB4N2MsMHgxOSwweDgwLDB4MDQsMHhhYywweDZjLDB4YWQsMHg2YiwweDhjLDB4NmEsMHg4ZCwKLTB4NjksMHgxMiwweDJmLDB4ZDgsMHg4MCwweDI1LDB4NzUsMHg2NCwweDJiLDB4NzUsMHg2MywweGZjLDB4NzUsMHg2MiwweDAxLDB4ZDMsCi0weGU1LDB4NmMsMHg5NCwweDM1LDB4ZTUsMHg2YiwweDk0LDB4MDAsMHg0MCwweDA2LDB4ZTQsMHhmZCwweDdjLDB4MzUsMHg4MCwweDA0LAotMHhhYywweDZjLDB4YWQsMHg2YiwweDhjLDB4NmEsMHg4ZCwweDY5LDB4MTIsMHgyZiwweGQ4LDB4MjIsMHhiNCwweDAzLDB4MDIsMHg4MCwKLTB4MDYsMHhkMywweDUwLDB4MDMsMHgwMiwweDJiLDB4MGEsMHhlNSwweDRjLDB4ZjUsMHg0OSwweDcwLDB4MGYsMHg5MCwweGZmLDB4MDQsCi0weGUwLDB4ZmQsMHhhMywweGUwLDB4NGQsMHg2MCwweDAzLDB4MDIsMHgyYiwweDBjLDB4ODAsMHgxOCwweDkwLDB4ZmMsMHg4MiwweGUwLAotMHhmZCwweGEzLDB4ZTAsMHhmYywweDkwLDB4ZmYsMHgwNSwweGUwLDB4NmMsMHg3MCwweDA3LDB4OTAsMHhmZiwweDA0LDB4ZTAsMHg2ZCwKLTB4NjAsMHgwMiwweDgwLDB4NjgsMHhlNCwweGY1LDB4NmEsMHhmNSwweDY5LDB4N2YsMHgwMCwweGU1LDB4NDksMHgxNCwweGM1LDB4NDksCi0weDYwLDB4MGYsMHhlZiwweDI0LDB4ODAsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLDB4ZjUsMHg4MywweGUwLDB4MmYsMHhmZiwweDgwLAotMHhlYSwweDhmLDB4NGEsMHhlNSwweDRhLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHg3ZCwKLTB4MDAsMHhkMywweDk1LDB4NmMsMHhlZCwweDk1LDB4NmIsMHg0MCwweDA2LDB4YWMsMHg2YywweGFkLDB4NmIsMHg4MCwweDBmLDB4ZTUsCi0weDRhLDB4MjQsMHg4MCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmMsMHhmNSwweDgzLDB4ZTAsMHg3ZCwweDAwLDB4ZmMsMHg4YywweDZhLAotMHg4ZCwweDY5LDB4ZTUsMHg0YSwweDI0LDB4ODAsMHhmYywweGU0LDB4MzQsMHhmYywweGZkLDB4ZmUsMHhlYywweGZkLDB4N2YsMHgwMSwKLTB4OGQsMHg2NCwweDhlLDB4NjMsMHg4ZiwweDYyLDB4MTIsMHgyZiwweGQ4LDB4MjIsMHg4MCwweDAwLDB4MDIsMHgyYywweDBmLDB4MDIsCi0weDJjLDB4MGYsMHhlNSwweDY3LDB4MzAsMHhlNywweDE5LDB4ZTUsMHg2YywweDE0LDB4NDUsMHg2YiwweDcwLDB4MTIsMHhlNSwweDRhLAotMHg3MCwweDBlLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA4LDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwMywKLTB4MDIsMHgyYywweDBmLDB4ZTUsMHg2NywweDIwLDB4ZTAsMHgwOCwweGU1LDB4NjcsMHgyMCwweGUxLDB4MDMsMHgwMiwweDJjLDB4MGYsCi0weDc1LDB4NjQsMHg2OCwweGU0LDB4ZjUsMHg2MywweGY1LDB4NjIsMHhlNCwweGY1LDB4NjksMHgwNCwweGY1LDB4NmEsMHgxMiwweDJmLAotMHhkOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgyNywweGU1LDB4NmMsMHg0NSwweDZiLDB4NzAsMHgyMSwweGU1LDB4NGEsMHg3MCwKLTB4MWQsMHhlNSwweDRjLDB4NjQsMHgwMiwweDQ1LDB4NGIsMHg2MCwweDBkLDB4ZTUsMHg0YywweDE0LDB4NDUsMHg0YiwweDYwLDB4MDYsCi0weGU1LDB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDYwLDB4MDMsMHgwMiwweDJjLAotMHgwZiwweGU1LDB4NjcsMHgyMCwweGUwLDB4MDgsMHhlNSwweDY3LDB4MjAsMHhlMSwweDAzLDB4MDIsMHgyYywweDBmLDB4ODUsMHg0YywKLTB4NjgsMHhlNSwweDY4LDB4NzAsMHgwOCwweDQzLDB4NjcsMHgwMSwweDUzLDB4NjcsMHhmZCwweDgwLDB4MTMsMHhlNSwweDY4LDB4NjQsCi0weDAyLDB4NjAsMHgwNywweGU1LDB4NjgsMHgxNCwweDYwLDB4MDIsMHg4MCwweDY1LDB4NTMsMHg2NywweGZlLDB4NDMsMHg2NywweDAyLAotMHg3YywweDAwLDB4MTIsMHgyZiwweGMzLDB4MjIsMHhlNSwweDY3LDB4MzAsMHhlNywweDFhLDB4ZTUsMHg2YywweDE0LDB4NDUsMHg2YiwKLTB4NzAsMHgxMywweGU1LDB4NGEsMHg3MCwweDBmLDB4ZTUsMHg0YywweDQ1LDB4NGIsMHg3MCwweDA5LDB4OTAsMHhmZiwweDAwLDB4ZTAsCi0weDU0LDB4MWYsMHgxNCwweDYwLDB4MDIsMHg4MCwweDM4LDB4ZTUsMHg2NywweDIwLDB4ZTEsMHgwMiwweDgwLDB4MzEsMHg3YywweDAxLAotMHgxMiwweDJmLDB4YzMsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MTUsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MGYsMHhlNSwKLTB4NGMsMHg0NSwweDRiLDB4NzAsMHgwOSwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDE0LDB4NjAsMHgwMiwweDgwLDB4MGYsCi0weGU1LDB4NjcsMHgyMCwweGUxLDB4MDIsMHg4MCwweDA4LDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4ODAsMHgwMCwweDAyLAotMHgyZSwweGNhLDB4YjQsMHg0MCwweDAyLDB4ODAsMHgwNiwweGQzLDB4NTAsMHgwMywweDAyLDB4MmUsMHhjMCwweDkwLDB4ZmYsMHgwMSwKLTB4ZTAsMHg5MCwweGZkLDB4M2QsMHhmMCwweGU1LDB4NGEsMHg5MCwweGZkLDB4M2UsMHhmMCwweGU0LDB4OTAsMHhmZCwweDNmLDB4ZjAsCi0weGU1LDB4NjQsMHgyNCwweDAzLDB4ZjUsMHg2NCwweGU1LDB4NjMsMHgzNCwweDAwLDB4ZjUsMHg2MywweGFkLDB4NGIsMHhlNSwweDRjLAotMHg4NSwweDY0LDB4ODIsMHg4NSwweDYzLDB4ODMsMHhjZCwweGYwLDB4YTMsMHhjZCwweGYwLDB4OTAsMHhmZiwweDAxLDB4ZTAsMHgxMiwKLTB4MDEsMHhiNywweDJjLDB4N2QsMHgwMSwweDJjLDB4YTMsMHgwMiwweDJjLDB4Y2QsMHgwMywweDJjLDB4ZjcsMHgwNCwweDJkLDB4NDUsCi0weDA1LDB4MmQsMHg4MiwweDA2LDB4MmQsMHhhOCwweDA3LDB4MmQsMHhjZSwweDA4LDB4MmQsMHhmNCwweDA5LDB4MmUsMHgxYSwweDBiLAotMHgyZSwweDQwLDB4MGMsMHgyZSwweDRmLDB4ODAsMHgyZSwweDRmLDB4ODEsMHgwMCwweDAwLDB4MmUsMHhhZCwweGU1LDB4NjcsMHgyMCwKLTB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LDB4NGEsMHgyMiwweDdkLDB4YjcsMHg3ZSwweDM0LDB4N2YsMHgwMiwweDc5LDB4NDAsCi0weDdhLDB4ZmQsMHg3YiwweDAxLDB4NzQsMHgwOCwweDc4LDB4MDAsMHgxMiwweDAzLDB4M2YsMHg3ZCwweDA4LDB4N2MsMHgwMCwweDEyLAotMHgyNCwweGIxLDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg0YSwKLTB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwweGI0LDB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsCi0weDEwLDB4MTIsMHgzMSwweDlhLDB4MjIsMHg3ZCwweDAwLDB4N2MsMHgwNywweDEyLDB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLAotMHhlNywweDA2LDB4N2MsMHgwNSwweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwKLTB4MDUsMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxMSwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2QsCi0weDAwLDB4N2MsMHgwNywweDEyLDB4MjQsMHhiMSwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LAotMHg0YSwweDIyLDB4ZTUsMHg0YSwweGI0LDB4MDUsMHgwMiwweDgwLDB4MDMsMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwKLTB4N2MsMHgwYSwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsMHgwMSwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsCi0weDA0LDB4ZmUsMHg3YywweDA4LDB4MTIsMHgzMSwweDlhLDB4MjIsMHhiNCwweDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLAotMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwweDdjLDB4MTMsMHgxMiwweDMxLDB4OWEsMHgyMiwweDdkLDB4MDAsMHg3YywKLTB4MDcsMHgxMiwweDI0LDB4YjEsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MzQsMHhkMywweGU1LDB4NmMsMHg5NCwweDQ4LDB4ZTUsCi0weDZiLDB4OTQsMHgwMCwweDUwLDB4MDYsMHhlNSwweDZjLDB4NDUsMHg2YiwweDcwLDB4MDYsMHg3YywweDAyLDB4MTIsMHgyNSwweDRhLAotMHgyMiwweGU1LDB4NGEsMHhiNCwweDAxLDB4MDMsMHhiMywweDQwLDB4MGIsMHhjMywweGI0LDB4MDMsMHgwMCwweDQwLDB4MDksMHhiNCwKLTB4MDYsMHgwMCwweDUwLDB4MDQsMHgxMiwweDMwLDB4NzAsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsCi0weGU4LDB4MjIsMHhlNSwweDY3LDB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LAotMHgwMCwweDUwLDB4MGIsMHhlNSwweDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNiwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywKLTB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsCi0weDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE5LAotMHgxMiwweDMxLDB4OWEsMHgyMiwweDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywKLTB4MjAsMHhlNywweDFkLDB4ZTUsMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsCi0weDRhLDB4N2YsMHgwMCwweGZlLDB4N2MsMHgxNywweDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLAotMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LDB4NjcsMHgyMCwweGU3LDB4MWQsMHhlNSwweDRhLDB4YjQsMHgwMywweDAwLDB4NDAsMHgxMCwKLTB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NGEsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE4LDB4MTIsMHgzMSwweDlhLDB4MjIsCi0weDdjLDB4MDcsMHgxMiwweDI1LDB4NGEsMHgyMiwweDEyLDB4MjQsMHhlOCwweDIyLDB4ZTUsMHg2NywweDIwLDB4ZTcsMHgxZCwweGU1LAotMHg0YSwweGI0LDB4MDMsMHgwMCwweDQwLDB4MTAsMHhiNCwweDA1LDB4MDAsMHg1MCwweDBiLDB4ZTUsMHg0YSwweDdmLDB4MDAsMHhmZSwKLTB4N2MsMHgxNSwweDEyLDB4MzEsMHg5YSwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4MTIsMHgyNCwweGU4LDB4MjIsCi0weGU1LDB4NjcsMHgyMCwweGU3LDB4MDYsMHg3YywweDA3LDB4MTIsMHgyNSwweDRhLDB4MjIsMHgxMiwweDI0LDB4ZTgsMHgyMiwweGU1LAotMHg2NywweDMwLDB4ZTcsMHgyMCwweDkwLDB4ZmYsMHgwMCwweGUwLDB4NTQsMHgxZiwweDcwLDB4MTAsMHg5MCwweGZmLDB4MDEsMHhlMCwKLTB4YjQsMHg4MCwweDA1LDB4MTIsMHgyNCwweGRmLDB4ODAsMHgwMywweDEyLDB4MjQsMHhlOCwweDIyLDB4N2QsMHgwMCwweDdjLDB4MDUsCi0weDEyLDB4MjQsMHhiMSwweDIyLDB4OTAsMHhmZiwweDAwLDB4ZTAsMHg1NCwweDFmLDB4NjAsMHgwNiwweDdjLDB4MDUsMHgxMiwweDI1LAotMHg0YSwweDIyLDB4ZDMsMHhlNSwweDZjLDB4OTQsMHg0OCwweGU1LDB4NmIsMHg5NCwweDAwLDB4NTAsMHgwYiwweGMzLDB4ZTUsMHg2YywKLTB4OTQsMHgwNywweGU1LDB4NmIsMHg5NCwweDAwLDB4NTAsMHgwNiwweDdjLDB4MDMsMHgxMiwweDI1LDB4NGEsMHgyMiwweGU1LDB4NGEsCi0weGI0LDB4MDUsMHgwNCwweDEyLDB4MzAsMHg3MCwweDIyLDB4N2MsMHgwNywweDEyLDB4MjUsMHg0YSwweDIyLDB4ZTUsMHg2NywweDMwLAotMHhlNywweDA4LDB4N2QsMHgwMCwweDdjLDB4MDUsMHgxMiwweDI0LDB4YjEsMHgyMiwweDdjLDB4MDUsMHgxMiwweDI1LDB4NGEsMHgyMiwKLTB4YjQsMHgyMCwweDAyLDB4ODAsMHgwMywweGQzLDB4NDAsMHgwMCwweDgwLDB4MDAsMHgxMiwweDJmLDB4OWUsMHgyMiwweDc1LDB4NDMsCi0weDAwLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDBmLDB4ZDMsMHg5NSwweDQzLDB4NDAsMHgyNCwweGU1LDB4NDMsMHgyNCwweGYwLAotMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZlLDB4ZjUsMHg4MywweGUwLDB4YWQsMHg2NCwweGFlLDB4NjMsMHhhZiwweDYyLDB4MTIsMHgwMywKLTB4MGYsMHgwNSwweDQzLDB4MGQsMHhlZCwweDcwLDB4MDEsMHgwZSwweDhkLDB4NjQsMHg4ZSwweDYzLDB4OGYsMHg2MiwweDgwLDB4ZDEsCi0weGU1LDB4NDMsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NmEsMHg5YywweGY1LDB4NmEsMHhlNSwweDY5LDB4OWQsMHhmNSwweDY5LAotMHhlNSwweDZhLDB4NDUsMHg2OSwweDYwLDB4MDYsMHhlNCwweDkwLDB4ZmYsMHg4MywweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsMHhlMCwKLTB4NDQsMHgwOCwweGYwLDB4ZTQsMHhmNSwweDY5LDB4NzUsMHg2YSwweDQ5LDB4OTAsMHhmZCwweDNkLDB4ZTAsMHhiNCwweDA1LDB4MDIsCi0weDgwLDB4MDMsMHhkMywweDQwLDB4NDAsMHg5MCwweGZkLDB4M2UsMHhlMCwweGY1LDB4NDMsMHhiNCwweDA1LDB4MDIsMHg4MCwweDAzLAotMHhkMywweDQwLDB4MGEsMHhlNCwweGZmLDB4MDQsMHhmZSwweDdjLDB4MGIsMHgxMiwweDMxLDB4OWEsMHgyMiwweGI0LDB4MDEsMHgwMiwKLTB4ODAsMHgwMywweGQzLDB4NDAsMHgwYSwweGU0LDB4ZmYsMHgwNCwweGZlLDB4N2MsMHgwOSwweDEyLDB4MzEsMHg5YSwweDIyLDB4YjQsCi0weDAzLDB4MDAsMHg0MCwweDEwLDB4YjQsMHgwNSwweDAwLDB4NTAsMHgwYiwweGU1LDB4NDMsMHg3ZiwweDAwLDB4ZmUsMHg3YywweDE0LAotMHgxMiwweDMxLDB4OWEsMHgyMiwweDIyLDB4YjQsMHg4MCwweDAwLDB4NDAsMHgyMywweGI0LDB4ODIsMHgwMCwweDUwLDB4MWUsMHg3YywKLTB4M2QsMHg3ZCwweGZkLDB4MTIsMHgxNywweGQ1LDB4N2QsMHgwMCwweDhjLDB4NjYsMHg4ZCwweDY1LDB4OTAsMHhmZCwweDNmLDB4ZTAsCi0weDYwLDB4MDUsMHgxMiwweDJmLDB4OWUsMHg4MCwweDA1LDB4N2MsMHgwMCwweDEyLDB4MmYsMHhjMywweDIyLDB4MjIsMHg5MCwweGZmLAotMHg4MywweGUwLDB4NTQsMHg3ZiwweGYwLDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg0NCwweDA4LDB4ZjAsMHg5MCwweGZmLDB4ODAsMHhlMCwKLTB4NDQsMHgwOCwweGYwLDB4MjIsMHg5MCwweGZmLDB4ODIsMHhlMCwweDQ0LDB4MDgsMHhmMCwweDkwLDB4ZmYsMHg4MCwweGUwLDB4NDQsCi0weDA4LDB4ZjAsMHgyMiwweDhjLDB4MjMsMHg3ZCwweDAwLDB4OGMsMHg2YSwweDhkLDB4NjksMHg3NSwweDY0LDB4M2QsMHg3NSwweDYzLAotMHhmZCwweDc1LDB4NjIsMHgwMSwweDEyLDB4MmYsMHhkOCwweDIyLDB4OTAsMHhmZiwweDgzLDB4ZTAsMHg1NCwweDdmLDB4ZjAsMHhlNSwKLTB4NmEsMHg2NCwweDQ5LDB4NDUsMHg2OSwweDcwLDB4MDEsMHgyMiwweGMzLDB4ZTUsMHg2YSwweDk0LDB4MDgsMHhlNSwweDY5LDB4OTQsCi0weDAwLDB4NDAsMHgxNSwweDc1LDB4MjEsMHgwOCwweGU1LDB4MjEsMHg3ZCwweDAwLDB4ZmMsMHhjMywweGU1LDB4NmEsMHg5YywweGY1LAotMHg2YSwweGU1LDB4NjksMHg5ZCwweGY1LDB4NjksMHg4MCwweDA5LDB4ODUsMHg2YSwweDIxLDB4ZTQsMHhmNSwweDY5LDB4NzUsMHg2YSwKLTB4NDksMHg3NSwweDIyLDB4MDAsMHhlNSwweDIyLDB4YzMsMHg5NSwweDIxLDB4NTAsMHgyNiwweGFkLDB4NjQsMHhhZSwweDYzLDB4YWYsCi0weDYyLDB4MTIsMHgwMSwweGU2LDB4ZmMsMHhlNSwweDIyLDB4MjQsMHhmOCwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmUsMHhmNSwweDgzLAotMHhlYywweGYwLDB4MDUsMHgyMiwweDBkLDB4ZWQsMHg3MCwweDAxLDB4MGUsMHg4ZCwweDY0LDB4OGUsMHg2MywweDhmLDB4NjIsMHg4MCwKLTB4ZDMsMHhlNSwweDIxLDB4NTQsMHg3ZiwweDkwLDB4ZmYsMHg4MSwweGYwLDB4MjIsMHg4YywweDQ4LDB4N2YsMHgwMCwweGVmLDB4MjQsCi0weGZiLDB4NDAsMHgxOSwweGU0LDB4ZWYsMHg3NSwweGYwLDB4MDcsMHhhNCwweDI0LDB4M2YsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZjLAotMHhmNSwweDgzLDB4ZTAsMHg2NSwweDQ4LDB4NzAsMHgwMiwweGQzLDB4MjIsMHgwZiwweDgwLDB4ZTIsMHg4ZiwweDQ3LDB4YzMsMHgyMiwKLTB4ODUsMHg2YywweDZhLDB4ODUsMHg2YiwweDY5LDB4OTAsMHhmZiwweDgyLDB4ZTAsMHg1NCwweGY3LDB4ZjAsMHg5MCwweGZmLDB4ODMsCi0weGUwLDB4NTQsMHg3ZiwweGYwLDB4MjIsMHhjMCwweDAwLDB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDA2LDB4YzAsMHgwNywweGU1LAotMHg3MiwweDI0LDB4MDgsMHhmOCwweDg2LDB4MDYsMHg1MywweDA2LDB4N2YsMHg3YywweGZmLDB4MTIsMHgzMCwweGZhLDB4N2MsMHgwMCwKLTB4N2QsMHgwMCwweGU1LDB4NzUsMHg2MCwweDQ2LDB4ZmYsMHg5MCwweGZlLDB4OWQsMHhlMCwweDU0LDB4N2YsMHg2ZSwweDcwLDB4MGYsCi0weGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhlMCwweGZkLDB4YTMsMHhlMCwweGZjLDB4YTMsMHgxNSwweDc1LDB4ODAsMHgwNywweGEzLAotMHhhMywweGEzLDB4ZGYsMHhlNiwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweDFlLDB4ZTAsMHhmOCwKLTB4YTMsMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLDB4YTMsCi0weGVhLDB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDEyLDB4MzEsMHg5MywweGQwLAotMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsMHgwMSwweGQwLDB4MDAsMHgyMiwweDg1LDB4YTgsMHg3NCwweDc1LDB4YTgsMHg4OCwKLTB4ZWMsMHg3MCwweDAyLDB4N2MsMHgzZiwweDhjLDB4NzMsMHgyMiwweGU1LDB4NzIsMHgyNCwweDA4LDB4ZjgsMHg3NiwweDAwLDB4MTIsCi0weDMxLDB4ZTcsMHg4MCwweGZiLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzAsMHgwNiwweGMwLDB4MDcsMHhhZSwweDA0LAotMHg3YywweGZmLDB4MTIsMHgzMCwweGZhLDB4ZTUsMHg3NSwweDYwLDB4NDIsMHhmZiwweDkwLDB4ZmUsMHg5ZCwweGUwLDB4NTQsMHg3ZiwKLTB4NmUsMHg3MCwweDBiLDB4YzAsMHg4MywweGMwLDB4ODIsMHhhMywweGEzLDB4YTMsMHgxNSwweDc1LDB4ODAsMHgwNywweGEzLDB4YTMsCi0weGEzLDB4ZGYsMHhlYSwweDgwLDB4MjYsMHhkZiwweDA2LDB4ZDAsMHg4MiwweGQwLDB4ODMsMHg4MCwweGQ4LDB4ZTAsMHhmOCwweGEzLAotMHhlMCwweGY5LDB4YTMsMHhlMCwweGZhLDB4ZDAsMHg4MiwweGQwLDB4ODMsMHhlOCwweGYwLDB4YTMsMHhlOSwweGYwLDB4YTMsMHhlYSwKLTB4ZjAsMHhhMywweGMwLDB4ODMsMHhjMCwweDgyLDB4YTMsMHhhMywweGEzLDB4ODAsMHhkYSwweDc4LDB4MDgsMHgwOCwweDc5LDB4MTgsCi0weDA5LDB4N2MsMHgwMSwweGU2LDB4NTQsMHg3ZiwweDZlLDB4NzAsMHgwNiwweDc2LDB4MDAsMHg3NywweDAwLDB4ODAsMHgwNiwweDA4LAotMHgwOSwweDBjLDB4YmMsMHgwOCwweGVlLDB4MTIsMHgzMSwweDkzLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDAyLDB4ZDAsMHgwMSwKLTB4ZDAsMHgwMCwweDIyLDB4NzUsMHg3MywweDAwLDB4ODUsMHg3NCwweGE4LDB4MjIsMHhjMCwweGYwLDB4YzAsMHg4MiwweGMwLDB4ODMsCi0weGMzLDB4ZTUsMHg3NSwweDI0LDB4ZTgsMHg1MCwweDA1LDB4MTIsMHgzMSwweGU3LDB4ODAsMHhmNCwweGVjLDB4NjAsMHgzMSwweDkwLAotMHgzNCwweGI2LDB4ZTQsMHg5MywweGMzLDB4OWMsMHg0MCwweDI4LDB4YzAsMHgwNCwweDdjLDB4ZmYsMHgxMiwweDMwLDB4ZmEsMHhkMCwKLTB4MDQsMHg0MywweDA0LDB4ODAsMHhlNSwweDc1LDB4NzUsMHhmMCwweDAzLDB4YTQsMHgyNCwweDlkLDB4ZjUsMHg4MiwweGU0LDB4MzQsCi0weGZlLDB4ZjUsMHg4MywweGVjLDB4ZjAsMHhlZiwweGEzLDB4ZjAsMHhlZSwweGEzLDB4ZjAsMHgwNSwweDc1LDB4MTIsMHgzMSwweDkzLAotMHhkMCwweDgzLDB4ZDAsMHg4MiwweGQwLDB4ZjAsMHgyMiwweGMwLDB4MDQsMHg3YywweDIwLDB4ZDIsMHg4YywweGQyLDB4OGQsMHhkNSwKLTB4MDQsMHhmZCwweGQwLDB4MDQsMHgyMiwweDc1LDB4YTgsMHgwMCwweDc1LDB4ODgsMHgwMCwweDc1LDB4YjgsMHgwMCwweDc1LDB4ZjAsCi0weDAwLDB4NzUsMHhkMCwweDAwLDB4ZTQsMHhmOCwweDkwLDB4MDAsMHgwMCwweGY2LDB4MDgsMHhiOCwweDAwLDB4ZmIsMHgwMiwweDAwLAotMHgwMCwweGMzLDB4ZWQsMHg5NCwweDAyLDB4NTAsMHgwNCwweDdkLDB4MDMsMHg3YywweGU4LDB4ZWMsMHhmNCwweGZjLDB4ZWQsMHhmNCwKLTB4ZmQsMHgwYywweGJjLDB4MDAsMHgwMSwweDBkLDB4OGMsMHg3OSwweDhkLDB4NzgsMHgyMiwweGMzLDB4ZWMsMHg5NCwweGJjLDB4ZWQsCi0weDk0LDB4MDIsMHg1MCwweDA0LDB4N2QsMHgwNywweDdjLDB4ZDAsMHhlYywweGY0LDB4ZmMsMHhlZCwweGY0LDB4ZmQsMHgwYywweGJjLAotMHgwMCwweDAxLDB4MGQsMHg4YywweDc3LDB4OGQsMHg3NiwweDIyLDB4ZWMsMHg3MCwweDAxLDB4MjIsMHhjMCwweDAwLDB4ZTUsMHg3MiwKLTB4MjQsMHgxOCwweGY4LDB4YTYsMHgwNCwweGU1LDB4NzIsMHgyNCwweDA4LDB4ZjgsMHhjNiwweDU0LDB4N2YsMHhmNiwweGU2LDB4MzAsCi0weGU3LDB4MDMsMHhkMCwweDAwLDB4MjIsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGY0LDB4YzIsMHg4YywweDg1LDB4NzYsMHg4YywweDg1LAotMHg3NywweDhhLDB4ZDIsMHg4YywweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHhmMCwweGMwLDB4ODIsMHhjMCwweDgzLDB4YzAsMHgwMCwKLTB4YzAsMHgwMSwweGMwLDB4MDIsMHhjMCwweDAzLDB4YzAsMHgwNCwweGMwLDB4MDUsMHhjMCwweDA2LDB4YzAsMHgwNywweDEyLDB4MWIsCi0weDI4LDB4ZTUsMHg3MiwweDI0LDB4MDgsMHhmOCwweGU2LDB4NjAsMHgyNCwweGU1LDB4NzIsMHgyNCwweDEwLDB4ZjgsMHhhNiwweDgxLAotMHhlNSwweDcyLDB4NzUsMHhmMCwweDIxLDB4YTQsMHgyNCwweDk1LDB4ZjUsMHg4MiwweGU0LDB4MzQsMHhmZCwweGY1LDB4ODMsMHg3OCwKLTB4YTgsMHhlNSwweDgxLDB4MDQsMHhjMywweDk4LDB4ZjksMHhlNiwweGYwLDB4MDgsMHhhMywweGQ5LDB4ZmEsMHg3NCwweDA4LDB4MjUsCi0weDcyLDB4ZjgsMHgwNSwweDcyLDB4MDgsMHhlNiwweDU0LDB4ODAsMHg3MCwweDBjLDB4ZTUsMHg3MiwweGI0LDB4MDcsMHhmMywweDc4LAotMHgwOCwweDc1LDB4NzIsMHgwMCwweDgwLDB4ZWYsMHhlNSwweDcyLDB4MjQsMHgxMCwweGY4LDB4ODYsMHg4MSwweGU1LDB4NzIsMHg3NSwKLTB4ZjAsMHgyMSwweGE0LDB4MjQsMHg5NSwweGY1LDB4ODIsMHhlNCwweDM0LDB4ZmQsMHhmNSwweDgzLDB4NzgsMHhhOCwweGU1LDB4ODEsCi0weDA0LDB4YzMsMHg5OCwweGY5LDB4ZTAsMHhmNiwweDA4LDB4YTMsMHhkOSwweGZhLDB4ZDAsMHgwNywweGQwLDB4MDYsMHhkMCwweDA1LAotMHhkMCwweDA0LDB4ZDAsMHgwMywweGQwLDB4MDIsMHhkMCwweDAxLDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwKLTB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweGMwLDB4ZTAsMHhjMCwweGQwLDB4YzAsMHgwMCwweGMwLDB4MDEsMHhjMCwweDAyLDB4YzIsCi0weDhlLDB4ODUsMHg3OCwweDhkLDB4ODUsMHg3OSwweDhiLDB4ZDIsMHg4ZSwweDc4LDB4MTksMHg3OSwweDA5LDB4N2EsMHgwNywweGU3LAotMHg3MCwweDA0LDB4YTYsMHgwMCwweDgwLDB4MGIsMHhlNiwweDYwLDB4MDgsMHgxNiwweGU2LDB4NzAsMHgwNCwweGU3LDB4NDQsMHg4MCwKLTB4ZjcsMHgwOCwweDA5LDB4ZGEsMHhlYSwweGU1LDB4NzMsMHg2MCwweDEzLDB4MTQsMHhmNSwweDczLDB4NzAsMHgwZSwweGU1LDB4NzIsCi0weDI0LDB4MDgsMHhmOCwweDc2LDB4MDAsMHgxMiwweDMxLDB4OTMsMHhkMiwweDhjLDB4ZDIsMHg4ZCwweGQwLDB4MDIsMHhkMCwweDAxLAotMHhkMCwweDAwLDB4ZDAsMHhkMCwweGQwLDB4ZTAsMHgzMiwweDc1LDB4ODEsMHhhNywweDc1LDB4OTAsMHgwMCwweDc1LDB4NzksMHgzMCwKLTB4NzUsMHg3OCwweGY4LDB4NzUsMHg3NywweDYwLDB4NzUsMHg3NiwweGYwLDB4MTIsMHgwNSwweDNjLDB4MTIsMHgzNCwweDBmLDB4MTIsCi0weDE3LDB4OGIsMHgxMiwweDM0LDB4MzksMHgxMiwweDMxLDB4ZjUsMHg4MCwweGUzLDB4MjIsMHhjMCwweDAwLDB4N2MsMHgwMSwweGVjLAotMHgyNCwweDA4LDB4ZjgsMHhlNiwweDYwLDB4MDksMHgwYywweGJjLDB4MDgsMHhmNSwweDEyLDB4MzEsMHhlNywweDgwLDB4ZWUsMHhkMCwKLTB4MDAsMHgyMiwweGMwLDB4ZjAsMHhjMCwweDgyLDB4YzAsMHg4MywweGMwLDB4MDAsMHhjMCwweDA2LDB4YzAsMHgwNywweGVkLDB4MjQsCi0weDEwLDB4ZjgsMHg3NiwweGI2LDB4ZWQsMHg3NSwweGYwLDB4MjEsMHhhNCwweDI0LDB4OTUsMHhmNSwweDgyLDB4ZTQsMHgzNCwweGZkLAotMHhmNSwweDgzLDB4YzAsMHg4MiwweGMwLDB4ODMsMHhhMywweGEzLDB4ZTQsMHg3OCwweDBkLDB4ZjAsMHhhMywweGQ4LDB4ZmMsMHhlYywKLTB4NTQsMHg3ZiwweDc1LDB4ZjAsMHgwMiwweGE0LDB4MjQsMHg4MiwweGY1LDB4ODIsMHhlNSwweGYwLDB4MzQsMHgzNCwweGY1LDB4ODMsCi0weGU0LDB4OTMsMHhmZSwweDc0LDB4MDEsMHg5MywweGY1LDB4ODIsMHg4ZSwweDgzLDB4ZTQsMHg5MywweGZlLDB4NzQsMHgwMSwweDkzLAotMHhmZiwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZWYsMHhmMCwweGEzLDB4ZWUsMHhmMCwweGVkLDB4MjQsMHgwOCwweGY4LDB4ZWMsMHg0NCwKLTB4ODAsMHhmNiwweGQwLDB4MDcsMHhkMCwweDA2LDB4ZDAsMHgwMCwweGQwLDB4ODMsMHhkMCwweDgyLDB4ZDAsMHhmMCwweDIyLDB4NzUsCi0weDcyLDB4MDAsMHg3NSwweDc1LDB4MDAsMHg3YSwweDA4LDB4NzksMHgxOCwweDc4LDB4MDgsMHg3NiwweDAwLDB4NzcsMHgwMCwweDA4LAotMHgwOSwweGRhLDB4ZjgsMHhlNCwweDc4LDB4MDgsMHg3NCwweDgwLDB4NDQsMHg3ZiwweGY2LDB4NzQsMHgwMSwweDQ0LDB4MTAsMHhmNSwKLTB4ODksMHg3NSwweGI4LDB4MDgsMHhkMiwweGFiLDB4ZDIsMHhhOSwweDIyLDB4NzUsMHg4MSwweGE3LDB4ZDIsMHg4ZSwweGQyLDB4OGMsCi0weGQyLDB4YWYsMHhlNSwweDc1LDB4NjAsMHgzMiwweGZmLDB4OTAsMHhmZSwweDlkLDB4ZTAsMHg1NCwweDgwLDB4NjAsMHgyNCwweDc4LAotMHgwOCwweDc5LDB4MDgsMHhlMCwweDU0LDB4N2YsMHhmYSwweDdiLDB4MDAsMHhlNiwweDU0LDB4N2YsMHhiNSwweDAyLDB4MDIsMHg3YiwKLTB4ZmYsMHgwOCwweGQ5LDB4ZjUsMHhlYiwweDcwLDB4MGMsMHhlYSwweGYwLDB4MTIsMHgzMywweDhiLDB4YWQsMHgwNCwweGFjLDB4MDIsCi0weDEyLDB4MzMsMHhhMiwweGEzLDB4YTMsMHhhMywweGRmLDB4ZDIsMHgxMiwweDMxLDB4ZTcsMHg4MCwweGM1LDB4N2MsMHgwMSwweDdkLAotMHgwMCwweDIyLDB4MDQsMHhmNSwweDA0LDB4ZTksMHgwNCwweGVkLDB4MDQsMHhlMSwweDA0LDB4ZGQsMHgwNCwweGQ5LDB4MDQsMHhlNSwKLTB4MDQsMHhmMSwweDA0LDB4OWQsMHgwNCwweGExLDB4MDQsMHhjZCwweDA0LDB4ZDEsMHgwNCwweDk5LDB4MDQsMHg5OSwweDA0LDB4OTksCi0weDA0LDB4ZDUsMHgwNCwweGI1LDB4MDQsMHhhZCwweDA0LDB4YjEsMHgwNCwweGE5LDB4MDQsMHhjMSwweDA0LDB4YmQsMHgwNCwweGI5LAotMHgwNCwweGM1LDB4MDQsMHhjOSwweDA0LDB4YTUsMHgxOSwweDAxLDB4MDMsMHgwMCwweDIyLDB4MDAsMHg0OCwweDAyLDB4MDAsMHgyNCwKLTB4MGYsMHgxOCwweDBhLDB4MTAsMHg2NCwweDBkLDB4NjgsMHgwYywweDA1LDB4MDYsMHgwMiwweDAzLDB4MDEsMHgwMSwweDgxLDB4MDEsCi0weDAwLDB4MDAsMHhlNywweDAwLDB4YzAsMHgwMCwweDgwLDB4MDAsMHg2MCwweDAwLDB4NDAsMHgwMCwweDMwLDB4MDAsMHgxOCwweDAwLAotMHgwYywweDAwLDB4MDgsMHgwMCwweDA0LDB4MDAsMHgwMiwweDAwLDB4MDEsMHgwMCwweDA4LDB4MTgsMHgzOCwweDI4LDB4MDYsMHgwMiwKLTB4MTAsMHgwYSwweDAyLDB4MDAsMHgwMCwweDAwLDB4MDAsMHgwMCwweDAxLDB4ODEsMHgxMCwweDBhLDB4MDIsMHgwMCwweDAwLDB4MDAsCi0weDAwLDB4MDAsMHhmYiwweGU4LDB4ZmIsMHhmYSwweDEyLDB4MDEsMHgxMCwweDAxLDB4ZmYsMHgwMCwweDAwLDB4MDgsMHg1MSwweDA0LAotMHg1ZiwweDUwLDB4MTYsMHgwMSwweDAxLDB4MDIsMHgwMCwweDAyLDB4MDksMHgwMiwweDM1LDB4MDAsMHgwMSwweDAyLDB4MDAsMHhlMCwKLTB4MDAsMHgwOSwweDA0LDB4MDAsMHgwMCwweDA1LDB4ZmYsMHgwMCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODEsMHgwMiwweDQwLDB4MDAsCi0weDAwLDB4MDcsMHgwNSwweDAxLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODIsMHgwMiwweDQwLDB4MDAsMHgwMCwweDA3LAotMHgwNSwweDAyLDB4MDIsMHg0MCwweDAwLDB4MDAsMHgwNywweDA1LDB4ODUsMHgwMywweDAyLDB4MDAsMHgwMSwweDA0LDB4MDMsMHgwOSwKLTB4MDQsMHgyNCwweDAzLDB4NTQsMHgwMCwweDY1LDB4MDAsMHg3OCwweDAwLDB4NjEsMHgwMCwweDczLDB4MDAsMHgyMCwweDAwLDB4NDksCi0weDAwLDB4NmUsMHgwMCwweDczLDB4MDAsMHg3NCwweDAwLDB4NzIsMHgwMCwweDc1LDB4MDAsMHg2ZCwweDAwLDB4NjUsMHgwMCwweDZlLAotMHgwMCwweDc0LDB4MDAsMHg3MywweDAwLDB4MmEsMHgwMywweDU0LDB4MDAsMHg1NSwweDAwLDB4NTMsMHgwMCwweDQyLDB4MDAsMHgzNSwKLTB4MDAsMHgzMCwweDAwLDB4MzUsMHgwMCwweDMyLDB4MDAsMHgyMCwweDAwLDB4NTMsMHgwMCwweDY1LDB4MDAsMHg3MiwweDAwLDB4NjksCi0weDAwLDB4NjEsMHgwMCwweDZjLDB4MDAsMHgyMCwweDAwLDB4NTAsMHgwMCwweDZmLDB4MDAsMHg3MiwweDAwLDB4NzQsMHgwMCwweDIyLAotMHgwMywweDU0LDB4MDAsMHg1NSwweDAwLDB4NTMsMHgwMCwweDQyLDB4MDAsMHgzNSwweDAwLDB4MzAsMHgwMCwweDM1LDB4MDAsMHgzMiwKLTB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsMHgwMCwweDIwLDB4MDAsMHgyMCwweDAwLDB4MjAsCi0weDAwLAotfTsKLQotI2VuZGlmIC8qIGlmbmRlZiBfVElfRldfNTA1Ml9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC90aV91c2JfMzQxMF81MDUyLmMKaW5kZXggYTFjOGFlZi4uYTI2YTYyOSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3RpX3VzYl8zNDEwXzUwNTIuYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvdGlfdXNiXzM0MTBfNTA1Mi5jCkBAIC04NCwxMSArODQsOSBAQAogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiLmg+CiAjaW5jbHVkZSA8bGludXgvdXNiL3NlcmlhbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Zpcm13YXJlLmg+CiAKICNpbmNsdWRlICJ0aV91c2JfMzQxMF81MDUyLmgiCi0jaW5jbHVkZSAidGlfZndfMzQxMC5oIgkJLyogZmlybXdhcmUgaW1hZ2UgZm9yIDM0MTAgKi8KLSNpbmNsdWRlICJ0aV9md181MDUyLmgiCQkvKiBmaXJtd2FyZSBpbWFnZSBmb3IgNTA1MiAqLwotCiAKIC8qIERlZmluZXMgKi8KIApAQCAtMTk0LDggKzE5Miw4IEBACiBzdGF0aWMgaW50IHRpX3dyaXRlX2J5dGUoc3RydWN0IHRpX2RldmljZSAqdGRldiwgdW5zaWduZWQgbG9uZyBhZGRyLAogCV9fdTggbWFzaywgX191OCBieXRlKTsKIAotc3RhdGljIGludCB0aV9kb3dubG9hZF9maXJtd2FyZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LAotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCB1bnNpZ25lZCBpbnQgZmlybXdhcmVfc2l6ZSk7CitzdGF0aWMgaW50IHRpX2Rvd25sb2FkX2Zpcm13YXJlKHN0cnVjdCB0aV9kZXZpY2UgKnRkZXYsIGNoYXIgKmZ3X25hbWUpOworCiAKIC8qIGNpcmN1bGFyIGJ1ZmZlciAqLwogc3RhdGljIHN0cnVjdCBjaXJjX2J1ZiAqdGlfYnVmX2FsbG9jKHZvaWQpOwpAQCAtMzIwLDYgKzMxOCw5IEBACiBNT0RVTEVfVkVSU0lPTihUSV9EUklWRVJfVkVSU0lPTik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgidGlfMzQxMC5mdyIpOworTU9EVUxFX0ZJUk1XQVJFKCJ0aV81MDUyLmZ3Iik7CisKIG1vZHVsZV9wYXJhbShkZWJ1ZywgYm9vbCwgU19JUlVHTyB8IFNfSVdVU1IpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkVuYWJsZSBkZWJ1Z2dpbmcsIDA9bm8sIDE9eWVzIik7CiAKQEAgLTQzMSwxMSArNDMyLDkgQEAKIAlpZiAoZGV2LT5kZXNjcmlwdG9yLmJOdW1Db25maWd1cmF0aW9ucyA9PSAxKSB7CiAKIAkJaWYgKHRkZXYtPnRkX2lzXzM0MTApCi0JCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCB0aV9md18zNDEwLAotCQkJCXNpemVvZih0aV9md18zNDEwKSk7CisJCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCAidGlfMzQxMC5mdyIpOwogCQllbHNlCi0JCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCB0aV9md181MDUyLAotCQkJCXNpemVvZih0aV9md181MDUyKSk7CisJCQlzdGF0dXMgPSB0aV9kb3dubG9hZF9maXJtd2FyZSh0ZGV2LCAidGlfNTA1Mi5mdyIpOwogCQlpZiAoc3RhdHVzKQogCQkJZ290byBmcmVlX3RkZXY7CiAKQEAgLTE2NTgsOCArMTY1Nyw5IEBACiAKIAogc3RhdGljIGludCB0aV9kb3dubG9hZF9maXJtd2FyZShzdHJ1Y3QgdGlfZGV2aWNlICp0ZGV2LAotCXVuc2lnbmVkIGNoYXIgKmZpcm13YXJlLCB1bnNpZ25lZCBpbnQgZmlybXdhcmVfc2l6ZSkKKwkJCQljaGFyICpmd19uYW1lKQogeworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CiAJaW50IHN0YXR1cyA9IDA7CiAJaW50IGJ1ZmZlcl9zaXplOwogCWludCBwb3M7CkBAIC0xNjcyLDE2ICsxNjcyLDI5IEBACiAJdW5zaWduZWQgaW50IHBpcGUgPSB1c2Jfc25kYnVsa3BpcGUoZGV2LAogCQl0ZGV2LT50ZF9zZXJpYWwtPnBvcnRbMF0tPmJ1bGtfb3V0X2VuZHBvaW50QWRkcmVzcyk7CiAKLQogCWJ1ZmZlcl9zaXplID0gVElfRklSTVdBUkVfQlVGX1NJWkUgKyBzaXplb2Yoc3RydWN0IHRpX2Zpcm13YXJlX2hlYWRlcik7CisKKwlpZiAocmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWUsICZkZXYtPmRldikpIHsKKwkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIGZhaWxlZCB0byBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCV9fZnVuY19fLCBmd19uYW1lKTsKKwkJcmV0dXJuIC1FTk9FTlQ7CisJfQorCWlmIChmdy0+c2l6ZSA+IGJ1ZmZlcl9zaXplKSB7CisJCWRldl9lcnIoJmRldi0+ZGV2LCAiJXMgLSBmaXJtd2FyZSBcIiVzXCIgaXMgdG9vIGxhcmdlXG4iLAorCQkJX19mdW5jX18sIGZ3X25hbWUpOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCiAJYnVmZmVyID0ga21hbGxvYyhidWZmZXJfc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFidWZmZXIpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIG91dCBvZiBtZW1vcnlcbiIsIF9fZnVuY19fKTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAotCW1lbWNweShidWZmZXIsIGZpcm13YXJlLCBmaXJtd2FyZV9zaXplKTsKLQltZW1zZXQoYnVmZmVyK2Zpcm13YXJlX3NpemUsIDB4ZmYsIGJ1ZmZlcl9zaXplLWZpcm13YXJlX3NpemUpOworCW1lbWNweShidWZmZXIsIGZ3LT5kYXRhLCBmdy0+c2l6ZSk7CisJbWVtc2V0KGJ1ZmZlcitmdy0+c2l6ZSwgMHhmZiwgYnVmZmVyX3NpemUtZnctPnNpemUpOwogCiAJZm9yKHBvcyA9IHNpemVvZihzdHJ1Y3QgdGlfZmlybXdhcmVfaGVhZGVyKTsgcG9zIDwgYnVmZmVyX3NpemU7IHBvcysrKQogCQljcyA9IChfX3U4KShjcyArIGJ1ZmZlcltwb3NdKTsKQEAgLTE2OTksNiArMTcxMiw3IEBACiAJfQogCiAJa2ZyZWUoYnVmZmVyKTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKIAogCWlmIChzdGF0dXMpIHsKIAkJZGV2X2VycigmZGV2LT5kZXYsICIlcyAtIGVycm9yIGRvd25sb2FkaW5nIGZpcm13YXJlLCAlZFxuIiwgX19mdW5jX18sIHN0YXR1cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0LmMKaW5kZXggZjA3ZThhNC4uNjY1YWE3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdC5jCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC93aGl0ZWhlYXQuYwpAQCAtODEsNyArODEsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxsaW51eC9zZXJpYWwuaD4KICNpbmNsdWRlIDxsaW51eC91c2Ivc2VyaWFsLmg+Ci0jaW5jbHVkZSAid2hpdGVoZWF0X2Z3LmgiCQkvKiBmaXJtd2FyZSBmb3IgdGhlIENvbm5lY3RUZWNoIFdoaXRlSEVBVCBkZXZpY2UgKi8KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2loZXguaD4KICNpbmNsdWRlICJ3aGl0ZWhlYXQuaCIJCQkvKiBXaGl0ZUhFQVQgc3BlY2lmaWMgY29tbWFuZHMgKi8KIAogc3RhdGljIGludCBkZWJ1ZzsKQEAgLTI3OSwzNyArMjgwLDUyIEBACiAqLwogc3RhdGljIGludCB3aGl0ZWhlYXRfZmlybXdhcmVfZG93bmxvYWQgKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIGNvbnN0IHN0cnVjdCB1c2JfZGV2aWNlX2lkICppZCkKIHsKLQlpbnQgcmVzcG9uc2U7Ci0JY29uc3Qgc3RydWN0IHdoaXRlaGVhdF9oZXhfcmVjb3JkICpyZWNvcmQ7Ci0JCisJaW50IHJlc3BvbnNlLCByZXQgPSAtRU5PRU5UOworCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqbG9hZGVyX2Z3ID0gTlVMTCwgKmZpcm13YXJlX2Z3ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZDsKKwogCWRiZygiJXMiLCBfX2Z1bmNfXyk7Ci0JCisKKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZmaXJtd2FyZV9mdywgIndoaXRlaGVhdC5mdyIsCisJCQkJICAmc2VyaWFsLT5kZXYtPmRldikpIHsKKwkJZXJyKCIlcyAtIHJlcXVlc3QgXCJ3aGl0ZWhlYXQuZndcIiBmYWlsZWQiLCBfX2Z1bmNfXyk7CisJCWdvdG8gb3V0OworCX0KKwlpZiAocmVxdWVzdF9paGV4X2Zpcm13YXJlKCZsb2FkZXJfZncsICJ3aGl0ZWhlYXRfbG9hZGVyLmZ3IiwKKwkJCSAgICAgJnNlcmlhbC0+ZGV2LT5kZXYpKSB7CisJCWVycigiJXMgLSByZXF1ZXN0IFwid2hpdGVoZWF0X2xvYWRlci5md1wiIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkJZ290byBvdXQ7CisJfQorCXJldCA9IDA7CiAJcmVzcG9uc2UgPSBlenVzYl9zZXRfcmVzZXQgKHNlcmlhbCwgMSk7CiAKLQlyZWNvcmQgPSAmd2hpdGVoZWF0X2xvYWRlclswXTsKLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywgCi0JCQkJKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplLCAweGEwKTsKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopbG9hZGVyX2Z3LT5kYXRhOworCXdoaWxlIChyZWNvcmQpIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJCQkgICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKKwkJCQkJICAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCIlcyAtIGV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3IgbG9hZGVyICglZCAlMDRYICVwICVkKSIsCi0JCQkJX19mdW5jX18sIHJlc3BvbnNlLCByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIF9fZnVuY19fLCByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQotCQkrK3JlY29yZDsKKwkJcmVjb3JkID0gaWhleF9uZXh0X2JpbnJlYyhyZWNvcmQpOwogCX0KIAogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDApOwogCi0JcmVjb3JkID0gJndoaXRlaGVhdF9maXJtd2FyZVswXTsKLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzIDwgMHgxYjQwKSB7Ci0JCSsrcmVjb3JkOwotCX0KLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzICE9IDB4ZmZmZikgewotCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIHJlY29yZC0+YWRkcmVzcywgCi0JCQkJKHVuc2lnbmVkIGNoYXIgKilyZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplLCAweGEzKTsKKwlyZWNvcmQgPSAoY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICopZmlybXdhcmVfZnctPmRhdGE7CisJd2hpbGUgKHJlY29yZCAmJiBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpIDwgMHgxYjQwKQorCQlyZWNvcmQgPSBpaGV4X25leHRfYmlucmVjKHJlY29yZCk7CisJd2hpbGUgKHJlY29yZCkgeworCQlyZXNwb25zZSA9IGV6dXNiX3dyaXRlbWVtb3J5IChzZXJpYWwsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopcmVjb3JkLT5kYXRhLAorCQkJCQkgICAgICBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbiksIDB4YTMpOwogCQlpZiAocmVzcG9uc2UgPCAwKSB7CiAJCQllcnIoIiVzIC0gZXp1c2Jfd3JpdGVtZW1vcnkgZmFpbGVkIGZvciBmaXJzdCBmaXJtd2FyZSBzdGVwICglZCAlMDRYICVwICVkKSIsIAotCQkJCV9fZnVuY19fLCByZXNwb25zZSwgcmVjb3JkLT5hZGRyZXNzLCByZWNvcmQtPmRhdGEsIHJlY29yZC0+ZGF0YV9zaXplKTsKKwkJCSAgICBfX2Z1bmNfXywgcmVzcG9uc2UsIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkciksCisJCQkgICAgcmVjb3JkLT5kYXRhLCBiZTE2X3RvX2NwdShyZWNvcmQtPmxlbikpOwogCQkJYnJlYWs7CiAJCX0KIAkJKytyZWNvcmQ7CkBAIC0zMTcsMjEgKzMzMywyNSBAQAogCQogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDEpOwogCi0JcmVjb3JkID0gJndoaXRlaGVhdF9maXJtd2FyZVswXTsKLQl3aGlsZSAocmVjb3JkLT5hZGRyZXNzIDwgMHgxYjQwKSB7Ci0JCXJlc3BvbnNlID0gZXp1c2Jfd3JpdGVtZW1vcnkgKHNlcmlhbCwgcmVjb3JkLT5hZGRyZXNzLCAKLQkJCQkodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUsIDB4YTApOworCXJlY29yZCA9IChjb25zdCBzdHJ1Y3QgaWhleF9iaW5yZWMgKilmaXJtd2FyZV9mdy0+ZGF0YTsKKwl3aGlsZSAocmVjb3JkICYmIGJlMzJfdG9fY3B1KHJlY29yZC0+YWRkcikgPCAweDFiNDApIHsKKwkJcmVzcG9uc2UgPSBlenVzYl93cml0ZW1lbW9yeSAoc2VyaWFsLCBiZTMyX3RvX2NwdShyZWNvcmQtPmFkZHIpLAorCQkJCQkgICAgICAodW5zaWduZWQgY2hhciAqKXJlY29yZC0+ZGF0YSwKKwkJCQkJICAgICAgYmUxNl90b19jcHUocmVjb3JkLT5sZW4pLCAweGEwKTsKIAkJaWYgKHJlc3BvbnNlIDwgMCkgewogCQkJZXJyKCIlcyAtIGV6dXNiX3dyaXRlbWVtb3J5IGZhaWxlZCBmb3Igc2Vjb25kIGZpcm13YXJlIHN0ZXAgKCVkICUwNFggJXAgJWQpIiwgCi0JCQkJX19mdW5jX18sIHJlc3BvbnNlLCByZWNvcmQtPmFkZHJlc3MsIHJlY29yZC0+ZGF0YSwgcmVjb3JkLT5kYXRhX3NpemUpOworCQkJICAgIF9fZnVuY19fLCByZXNwb25zZSwgYmUzMl90b19jcHUocmVjb3JkLT5hZGRyKSwKKwkJCSAgICByZWNvcmQtPmRhdGEsIGJlMTZfdG9fY3B1KHJlY29yZC0+bGVuKSk7CiAJCQlicmVhazsKIAkJfQogCQkrK3JlY29yZDsKIAl9Ci0KKwlyZXQgPSAwOwogCXJlc3BvbnNlID0gZXp1c2Jfc2V0X3Jlc2V0IChzZXJpYWwsIDApOwotCi0JcmV0dXJuIDA7Cisgb3V0OgorCXJlbGVhc2VfZmlybXdhcmUobG9hZGVyX2Z3KTsKKwlyZWxlYXNlX2Zpcm13YXJlKGZpcm13YXJlX2Z3KTsKKwlyZXR1cm4gcmV0OwogfQogCiAKQEAgLTE1MDMsNiArMTUyMyw5IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIERSSVZFUl9ERVNDICk7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CiAKK01PRFVMRV9GSVJNV0FSRSgid2hpdGVoZWF0LmZ3Iik7CitNT0RVTEVfRklSTVdBUkUoIndoaXRlaGVhdF9sb2FkZXIuZnciKTsKKwogbW9kdWxlX3BhcmFtKHVyYl9wb29sX3NpemUsIGludCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKHVyYl9wb29sX3NpemUsICJOdW1iZXIgb2YgdXJicyB0byB1c2UgZm9yIGJ1ZmZlcmluZyIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0X2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwvd2hpdGVoZWF0X2Z3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlMGJkYzcuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3doaXRlaGVhdF9mdy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTY2OSArMCwwIEBACi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqCi0gKiAgICAgIHdoaXRlaGVhdC5oICAtLSAgQ29ubmVjdFRlY2ggV2hpdGVIRUFUIEZpcm13YXJlLgotICoKLSAqICAgICAgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDIgIENvbm5lY3RUZWNoIEluYyAoaHR0cDovL3d3dy5jb25uZWN0dGVjaC5jb20vKQotICoKLSAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogICAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiAgICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogICAgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotICogICAgICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KLSAqCi0gKiAoMTAvMDkvMjAwMikgU3R1YXJ0IE1hY0RvbmFsZAotICoJRmlybXdhcmUgNC4wNgotICoKLSAqICgwNC8wOS8yMDAwKSBna2gKLSAqCVVwZGF0ZWQgdGhlIGZpcm13YXJlIHdpdGggdGhlIGxhdGVzdCBwcm92aWRlZCBieSBDb25uZWN0VGVjaC4KLSAqCi0gKiAoMDEvMTYvMjAwMCkgZ2toCi0gKglGaXhlZCBteSBpbnRlbCBoZXggcHJvY2Vzc2luZyB0b29sLCBzbyBub3cgdGhlIGZpcm13YXJlIGFjdHVhbGx5Ci0gKgltYXRjaGVzIHRoZSBvcmlnaW5hbCBmaWxlICh0aGlzIHdhcyBjYXVzaW5nIGEgZmV3IHByb2JsZW1zLi4uKQotICoKLSAqICgwMS8xNS8yMDAwKSBna2gKLSAqCUFkZGVkIGRlYnVnIGxvYWRlciBmaXJtd2FyZSBpZiBERUJVRyBpcyAjZGVmaW5lZDoKLSAqCQlQb3J0IDEgTEVEIGZsYXNoZXMgd2hlbiB0aGUgdmVuZF9heCBwcm9ncmFtIGlzIHJ1bm5pbmcKLSAqCQlQb3J0IDIgTEVEIGZsYXNoZXMgd2hlbiBhbnkgU0VUVVAgY29tbWFuZCBhcnJpdmVzCi0gKgkJUG9ydCAzIExFRCBmbGFzaGVzIHdoZW4gYW55IHZhbGlkIFZFTkRPUiByZXF1ZXN0IG9jY3VycwotICoJCVBvcnQgNCBMRUQgZmxhc2hlcyB3aGVuIHRoZSBFWFRFUk5BTCBSQU0gRE9XTkxPQUQgcmVxdWVzdCBvY2N1cnMKLSAqCi0gKiB2ZXJzaW9uIDEuMCAoMDEvMDkvMjAwMCkgZ2toCi0gKglPcmlnaW5hbCBmaXJtd2FyZSBmcm9tIENvbm5lY3RUZWNoIG1hc3NhZ2VkIGEgbGl0dGxlIHRvIGJlIHByb2dyYW0KLSAqCXJlYWRhYmxlLgotICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2RlZmluZSB3aGl0ZWhlYXRfREFURSAiMjAwMDAxMDYiCi0KLXN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB7Ci0JX191MTYJYWRkcmVzczsKLQlfX3U4CWRhdGFfc2l6ZTsKLQlfX3U4CWRhdGFbMTZdOwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCB3aGl0ZWhlYXRfaGV4X3JlY29yZCB3aGl0ZWhlYXRfZmlybXdhcmVbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHg5NywgMHhlM30gfSwKLXsgMHgwMDAzLAkzLAl7MHgwMiwgMHgxMywgMHgxMn0gfSwKLXsgMHgwMDBiLAkzLAl7MHgwMiwgMHgwYiwgMHhiNX0gfSwKLXsgMHgwMDMzLAkzLAl7MHgwMiwgMHgwOCwgMHgxY30gfSwKLXsgMHgwMDQzLAkzLAl7MHgwMiwgMHgwYSwgMHgwMH0gfSwKLXsgMHgwMDViLAkzLAl7MHgwMiwgMHg4MywgMHgzYn0gfSwKLXsgMHgwMzcwLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NzMsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4ZTcsIDB4MjR9IH0sCi17IDB4MDM4MCwJMTYsCXsweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDA1LCAweDRmLCAweDI0LCAweGZiLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDY0LCAweDE0LCAweDcwLCAweDAzfSB9LAoteyAweDAzOTAsCTE2LAl7MHgwMiwgMHgwNCwgMHg1MiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzYSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0OSwgMHgyNH0gfSwKLXsgMHgwM2EwLAkxNiwJezB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4OWUsIDB4OTAsIDB4N2YsIDB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjB9IH0sCi17IDB4MDNiMCwJMTYsCXsweDM2LCAweDI0LCAweDAyLCAweDcwLCAweDdiLCAweDc0LCAweDEyLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1fSB9LAoteyAweDAzYzAsCTE2LAl7MHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwYSwgMHg5OSwgMHhlYSwgMHg0OSwgMHg2MCwgMHgwZH0gfSwKLXsgMHgwM2QwLAkxNiwJezB4ZWEsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4ZTksIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4YjR9IH0sCi17IDB4MDNlMCwJMTYsCXsweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDBhLCAweDU4LCAweGVhfSB9LAoteyAweDAzZjAsCTE2LAl7MHg0OSwgMHg2MCwgMHgzMywgMHgxMiwgMHhhMiwgMHgzYiwgMHhmNSwgMHg0ZSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMCwgMHhmZiwgMHhlNSwgMHg0ZSwgMHhkM30gfSwKLXsgMHgwNDAwLAkxNiwJezB4OWYsIDB4NDAsIDB4MDMsIDB4ZTAsIDB4ZjUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDMsIDB4OTQsIDB4NDAsIDB4NDAsIDB4MDMsIDB4NzUsIDB4NGUsIDB4NDB9IH0sCi17IDB4MDQxMCwJMTYsCXsweGFlLCAweDAyLCAweGFmLCAweDAxLCAweDdjLCAweDdmLCAweDdkLCAweDAwLCAweGFiLCAweDRlLCAweDEyLCAweDkxLCAweDM3LCAweDkwLCAweDdmLCAweGI1fSB9LAoteyAweDA0MjAsCTE2LAl7MHhlNSwgMHg0ZSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNX0gfSwKLXsgMHgwNDMwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MjEsIDB4ZjB9IH0sCi17IDB4MDQ0MCwJMTYsCXsweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDIxLCAweDAyfSB9LAoteyAweDA0NTAsCTE2LAl7MHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgzNSwgMHhkMiwgMHgwMiwgMHg0MywgMHg4OCwgMHgxMCwgMHhkMiwgMHhlYiwgMHhkMn0gfSwKLXsgMHgwNDYwLAkxNiwJezB4YTgsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZTUsIDB4MzUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjB9IH0sCi17IDB4MDQ3MCwJMTYsCXsweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyfSB9LAoteyAweDA0ODAsCTE2LAl7MHg3MCwgMHg1YiwgMHhhMiwgMHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwNSwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MH0gfSwKLXsgMHgwNDkwLAkxNiwJezB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTUsIDB4ZTR9IH0sCi17IDB4MDRhMCwJMTYsCXsweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwfSB9LAoteyAweDA0YjAsCTE2LAl7MHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNX0gfSwKLXsgMHgwNGMwLAkxNiwJezB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDRkMCwJMTYsCXsweGYwLCAweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDA0ZTAsCTE2LAl7MHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhNSwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxZCwgMHgyNH0gfSwKLXsgMHgwNGYwLAkxNiwJezB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTUsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjQsIDB4MDEsIDB4MDUsIDB4YzIsIDB4MDAsIDB4MDJ9IH0sCi17IDB4MDUwMCwJMTYsCXsweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGE1LCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDA1MTAsCTE2LAl7MHg3MCwgMHgzNCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmZiwgMHg1NCwgMHgwNywgMHhmZSwgMHhmNSwgMHg0ZSwgMHhlZiwgMHgzMCwgMHhlNywgMHgwM30gfSwKLXsgMHgwNTIwLAkxNiwJezB4NDMsIDB4NGUsIDB4MTAsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZTUsIDB4NGUsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ZWYsIDB4ZjR9IH0sCi17IDB4MDUzMCwJMTYsCXsweDU0LCAweDgwLCAweGZkLCAweGM0LCAweDU0LCAweDBmLCAweDJlLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmfSB9LAoteyAweDA1NDAsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg4MCwgMHg1ZiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHg1NiwgMHg5MH0gfSwKLXsgMHgwNTUwLAkxNiwJezB4N2YsIDB4ZTgsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTgsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NGEsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjR9IH0sCi17IDB4MDU2MCwJMTYsCXsweDAxLCAweDA0LCAweGQyLCAweDAwLCAweDgwLCAweDNmLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDM2LCAweDkwfSB9LAoteyAweDA1NzAsCTE2LAl7MHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZn0gfSwKLXsgMHgwNTgwLAkxNiwJezB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MDU5MCwJMTYsCXsweDc0LCAweDAxLCAweGYwLCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDA3LCAweDkwLCAweDdmfSB9LAoteyAweDA1YTAsCTEyLAl7MHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMH0gfSwKLXsgMHgwNWFjLAkxLAl7MHgyMn0gfSwKLXsgMHgwNWFkLAkxNiwJezB4NzUsIDB4NGEsIDB4ZmYsIDB4NzUsIDB4NDksIDB4ZmYsIDB4NzUsIDB4NDgsIDB4MGYsIDB4NzUsIDB4NDcsIDB4MDAsIDB4ZDIsIDB4MDMsIDB4YzIsIDB4MDZ9IH0sCi17IDB4MDViZCwJMTYsCXsweGMyLCAweDAyLCAweGMyLCAweDAwLCAweGMyLCAweDA1LCAweGMyLCAweDAxLCAweDkwLCAweDAzLCAweDAwLCAweDc0LCAweDE5LCAweGYwLCAweGU0LCAweDkwfSB9LAoteyAweDA1Y2QsCTE2LAl7MHgwMSwgMHhiYywgMHhmMCwgMHhjMiwgMHgwNCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhmMCwgMHhhMywgMHhmMCwgMHhjMiwgMHhhZiwgMHhjMiwgMHhhOCwgMHgxMn0gfSwKLXsgMHgwNWRkLAkxNiwJezB4MGMsIDB4MjIsIDB4ZTQsIDB4OTAsIDB4MDIsIDB4YWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4YmQsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MDAsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDVlZCwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGEzLCAweDc0LCAweDAxLCAweGYwLCAweGEzfSB9LAoteyAweDA1ZmQsCTE2LAl7MHg3NCwgMHgwOCwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgwMCwgMHgxMiwgMHgxOSwgMHhjMSwgMHg3NSwgMHg0YywgMHgxMiwgMHg3NSwgMHg0ZCwgMHgwYX0gfSwKLXsgMHgwNjBkLAkxNiwJezB4OTAsIDB4MDEsIDB4MGIsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTR9IH0sCi17IDB4MDYxZCwJMTYsCXsweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDBjLCAweGUwLCAweDQ0LCAweDgwLCAweGZmLCAweDA1LCAweDRkLCAweGU1fSB9LAoteyAweDA2MmQsCTE2LAl7MHg0ZCwgMHhhYywgMHg0YywgMHg3MCwgMHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMX0gfSwKLXsgMHgwNjNkLAkxNiwJezB4MGQsIDB4ZTAsIDB4ZmYsIDB4MDUsIDB4NGQsIDB4ZTUsIDB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MDY0ZCwJMTYsCXsweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDkwLCAweDAxLCAweDBlLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwfSB9LAoteyAweDA2NWQsCTE2LAl7MHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgxMiwgMHgwYSwgMHhlNCwgMHg5MywgMHhmZn0gfSwKLXsgMHgwNjZkLAkxNiwJezB4NzQsIDB4MDEsIDB4OTMsIDB4OTAsIDB4MDEsIDB4MWMsIDB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWMsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MDY3ZCwJMTYsCXsweGEzLCAweGUwLCAweGZlLCAweGVmLCAweDZlLCAweGZmLCAweDkwLCAweDAxLCAweDFjLCAweGYwLCAweGEzLCAweGUwLCAweDZmLCAweGZmLCAweGYwLCAweDkwfSB9LAoteyAweDA2OGQsCTE2LAl7MHgwMSwgMHgxYywgMHhlMCwgMHg2ZiwgMHhmMCwgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhlNCwgMHhmYywgMHhmZCwgMHg3NSwgMHg1MiwgMHgxMH0gfSwKLXsgMHgwNjlkLAkxNiwJezB4NzUsIDB4NTMsIDB4MDIsIDB4NzUsIDB4NTQsIDB4MTIsIDB4NzUsIDB4NTUsIDB4YWMsIDB4MTIsIDB4OTQsIDB4MjYsIDB4NzUsIDB4NGMsIDB4MTIsIDB4NzV9IH0sCi17IDB4MDZhZCwJMTYsCXsweDRkLCAweGIyLCAweDkwLCAweDAxLCAweDBkLCAweGUwLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwLCAweDAyLCAweDA1fSB9LAoteyAweDA2YmQsCTE2LAl7MHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHgwZSwgMHhlMCwgMHhmZiwgMHgwNSwgMHg0ZCwgMHhlNX0gfSwKLXsgMHgwNmNkLAkxNiwJezB4NGQsIDB4YWMsIDB4NGMsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDZkZCwJMTYsCXsweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDI0LCAweDQxLCAweGZmLCAweDA1LCAweDRkLCAweGU1LCAweDRkLCAweGFjLCAweDRjLCAweDcwfSB9LAoteyAweDA2ZWQsCTE2LAl7MHgwMiwgMHgwNSwgMHg0YywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHg0ZCwgMHhlNSwgMHg0ZCwgMHhhZSwgMHg0Y30gfSwKLXsgMHgwNmZkLAkxNiwJezB4NzAsIDB4MDIsIDB4MDUsIDB4NGMsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4NzUsIDB4ODIsIDB4MTAsIDB4NzUsIDB4ODN9IH0sCi17IDB4MDcwZCwJMTYsCXsweDAxLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweDE4LCAweDEyfSB9LAoteyAweDA3MWQsCTE2LAl7MHhhMywgMHhlZSwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHgxOCwgMHgxMiwgMHg4NiwgMHhiZSwgMHg5MCwgMHgwMSwgMHgxOCwgMHhlMCwgMHhmYywgMHhhMywgMHhlMH0gfSwKLXsgMHgwNzJkLAkxNiwJezB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4NzUsIDB4NTIsIDB4MGEsIDB4NzUsIDB4NTMsIDB4MDYsIDB4NzUsIDB4NTQsIDB4MTJ9IH0sCi17IDB4MDczZCwJMTYsCXsweDc1LCAweDU1LCAweGI4LCAweDEyLCAweDk0LCAweDI2LCAweGQyLCAweGU4LCAweDQzLCAweGQ4LCAweDIwLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweGZmfSB9LAoteyAweDA3NGQsCTE2LAl7MHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwNzVkLAkxNiwJezB4MWYsIDB4ZjAsIDB4ZDIsIDB4YWYsIDB4MjAsIDB4MDEsIDB4MmUsIDB4MjAsIDB4MDEsIDB4MmIsIDB4YTIsIDB4MDMsIDB4OTIsIDB4MDcsIDB4MTIsIDB4MDl9IH0sCi17IDB4MDc2ZCwJMTYsCXsweGM1LCAweDc1LCAweDQ2LCAweDUwLCAweDc1LCAweDQ1LCAweDZkLCAweDc1LCAweDQ0LCAweDMzLCAweDc1LCAweDQzLCAweDAwLCAweDIwLCAweDAxLCAweGU0fSB9LAoteyAweDA3N2QsCTE2LAl7MHg3ZiwgMHhmZiwgMHg3ZSwgMHhmZiwgMHg3ZCwgMHhmZiwgMHg3YywgMHhmZiwgMHg3OCwgMHg0MywgMHgxMiwgMHhhMywgMHhkNywgMHhlYywgMHg0ZCwgMHg0ZX0gfSwKLXsgMHgwNzhkLAkxNiwJezB4NGYsIDB4NjAsIDB4ZDEsIDB4ODAsIDB4ZTgsIDB4MzAsIDB4MDEsIDB4MDUsIDB4MTIsIDB4MDMsIDB4NzAsIDB4YzIsIDB4MDEsIDB4MzAsIDB4MDYsIDB4MGF9IH0sCi17IDB4MDc5ZCwJMTYsCXsweDEyLCAweDA5LCAweGZiLCAweDUwLCAweDAzLCAweDEyLCAweDBhLCAweGU4LCAweGMyLCAweDA2LCAweDEyLCAweDk2LCAweDVlLCAweDkwLCAweDAxLCAweGJkfSB9LAoteyAweDA3YWQsCTE2LAl7MHhlMCwgMHg2MCwgMHgwYywgMHgxMiwgMHg5MiwgMHgwMSwgMHhlNCwgMHg5MCwgMHgwMSwgMHhiZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkMywgMHhmMCwgMHg5MH0gfSwKLXsgMHgwN2JkLAkxNiwJezB4MDIsIDB4YWYsIDB4ZTAsIDB4YjQsIDB4MGYsIDB4MDMsIDB4MTIsIDB4OTksIDB4YjksIDB4MTIsIDB4YTAsIDB4OTUsIDB4ZTQsIDB4ZmYsIDB4NzQsIDB4MDF9IH0sCi17IDB4MDdjZCwJMTYsCXsweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGZlLCAweDkwLCAweDAxLCAweGJjLCAweGUwLCAweDVlLCAweDYwfSB9LAoteyAweDA3ZGQsCTE2LAl7MHgxNCwgMHg3NCwgMHgyOCwgMHgyZiwgMHhmOCwgMHhlNiwgMHhkMywgMHg5NCwgMHgwYSwgMHg0MCwgMHgwNCwgMHg3ZSwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZX0gfSwKLXsgMHgwN2VkLAkxNiwJezB4MDAsIDB4OGUsIDB4NGIsIDB4ODAsIDB4MDMsIDB4NzUsIDB4NGIsIDB4MDEsIDB4NzQsIDB4NjgsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjB9IH0sCi17IDB4MDdmZCwJMTYsCXsweGY1LCAweDgzLCAweGU1LCAweDRiLCAweGYwLCAweDBmLCAweGJmLCAweDA0LCAweGM1LCAweGU1LCAweDJjLCAweGQzLCAweDk0LCAweDBhLCAweDQwLCAweDA0fSB9LAoteyAweDA4MGQsCTE0LAl7MHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg5MCwgMHgyMCwgMHg2YywgMHhlZiwgMHhmMCwgMHgwMiwgMHgwNywgMHg5Mn0gfSwKLXsgMHgwODFiLAkxLAl7MHgyMn0gfSwKLXsgMHgwODFjLAk0LAl7MHg1MywgMHhkOCwgMHhlZiwgMHgzMn0gfSwKLXsgMHgwODIwLAkxNiwJezB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZTAsIDB4NDQsIDB4MzAsIDB4ZjAsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDgzMCwJMTYsCXsweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwfSB9LAoteyAweDA4NDAsCTE2LAl7MHg1NCwgMHhmZSwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwOH0gfSwKLXsgMHgwODUwLAkxNiwJezB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4N2Z9IH0sCi17IDB4MDg2MCwJMTYsCXsweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDBlLCAweDdmLCAweDAyLCAweDdkfSB9LAoteyAweDA4NzAsCTE2LAl7MHhmZiwgMHgxMiwgMHg4MiwgMHhlYSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwODgwLAkxNiwJezB4MDIsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTZ9IH0sCi17IDB4MDg5MCwJMTYsCXsweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0fSB9LAoteyAweDA4YTAsCTE2LAl7MHhiZiwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMH0gfSwKLXsgMHgwOGIwLAk4LAl7MHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHgyMn0gfSwKLXsgMHgwOGI4LAkxNiwJezB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4N2UsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MDhjOCwJMTYsCXsweDA5LCAweGFlLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDBlLCAweDdmLCAweDAyLCAweGU0LCAweGZkLCAweDEyLCAweDgyLCAweGVhfSB9LAoteyAweDA4ZDgsCTE2LAl7MHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwOGU4LAkxNiwJezB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4N2YsIDB4MDUsIDB4N2UsIDB4MDB9IH0sCi17IDB4MDhmOCwJMTYsCXsweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDU0LCAweGY3LCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5fSB9LAoteyAweDA5MDgsCTE2LAl7MHhhZSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHhlNX0gfSwKLXsgMHgwOTE4LAkxNiwJezB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGUsIDB4OTAsIDB4N2YsIDB4OTMsIDB4ZTAsIDB4NTQsIDB4Y2YsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTV9IH0sCi17IDB4MDkyOCwJOCwJezB4ZTAsIDB4NTQsIDB4M2YsIDB4ZjAsIDB4MTIsIDB4MGIsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MDkzMCwJMTYsCXsweDkwLCAweDBhLCAweGY0LCAweGU0LCAweDkzLCAweDcwLCAweDc2LCAweDkwLCAweDdmLCAweDkzLCAweDc0LCAweDMwLCAweGYwLCAweDkwLCAweDdmLCAweDk0fSB9LAoteyAweDA5NDAsCTE2LAl7MHg3NCwgMHgzYywgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHhjNiwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZX0gfSwKLXsgMHgwOTUwLAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4MDgsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4NzQsIDB4Y2Z9IH0sCi17IDB4MDk2MCwJMTYsCXsweGYwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDkwLCAweDIwLCAweDcwLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmfSB9LAoteyAweDA5NzAsCTE2LAl7MHhmNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg1MCwgMHgwNywgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlNCwgMHg5MH0gfSwKLXsgMHgwOTgwLAkxNiwJezB4N2YsIDB4OTcsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OWQsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDEsIDB4NDAsIDB4MGJ9IH0sCi17IDB4MDk5MCwJMTYsCXsweGU0LCAweDkwLCAweDdmLCAweDk4LCAweGYwLCAweDkwLCAweDdmLCAweDllLCAweDc0LCAweGMwLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweDc0LCAweDEyfSB9LAoteyAweDA5YTAsCTE0LAl7MHhmMCwgMHgxMiwgMHgwOCwgMHgyMCwgMHg3NSwgMHg4MiwgMHhmNCwgMHg3NSwgMHg4MywgMHgwYSwgMHg3NCwgMHhmZiwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwOWFlLAkxNiwJezB4OGUsIDB4NWQsIDB4OGYsIDB4NWUsIDB4ZTUsIDB4NWUsIDB4MTUsIDB4NWUsIDB4YWUsIDB4NWQsIDB4NzAsIDB4MDIsIDB4MTUsIDB4NWQsIDB4NGUsIDB4NjB9IH0sCi17IDB4MDliZSwJNywJezB4MDUsIDB4MTIsIDB4MDksIDB4ZWEsIDB4ODAsIDB4ZWUsIDB4MjJ9IH0sCi17IDB4MDljNSwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDA3LCAweDA0LCAweGUwLCAweDQ0fSB9LAoteyAweDA5ZDUsCTE2LAl7MHgwMiwgMHhmMCwgMHg3ZiwgMHhkMCwgMHg3ZSwgMHgwNywgMHgxMiwgMHgwOSwgMHhhZSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH0gfSwKLXsgMHgwOWU1LAk1LAl7MHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwOWVhLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9IH0sCi17IDB4MDlmYSwJMSwJezB4MjJ9IH0sCi17IDB4MDlmYiwJNSwJezB4MTIsIDB4MDgsIDB4YjgsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MGEwMCwJMTYsCXsweDAyLCAweDBjLCAweDRlLCAweDAwLCAweDAyLCAweDBjLCAweDgxLCAweDAwLCAweDAyLCAweDBjLCAweDY2LCAweDAwLCAweDAyLCAweDBjLCAweGMwLCAweDAwfSB9LAoteyAweDBhMTAsCTE2LAl7MHgwMiwgMHgwYywgMHhhYSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlZCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlZSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhlZiwgMHgwMH0gfSwKLXsgMHgwYTIwLAkxNiwJezB4MDIsIDB4MGMsIDB4ZGIsIDB4MDAsIDB4MDIsIDB4MGQsIDB4Y2IsIDB4MDAsIDB4MDIsIDB4MGQsIDB4MTcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4MmIsIDB4MDB9IH0sCi17IDB4MGEzMCwJMTYsCXsweDAyLCAweDBkLCAweDUzLCAweDAwLCAweDAyLCAweDBlLCAweDhiLCAweDAwLCAweDAyLCAweDBkLCAweDhmLCAweDAwLCAweDAyLCAweDBlLCAweGViLCAweDAwfSB9LAoteyAweDBhNDAsCTE2LAl7MHgwMiwgMHgwYSwgMHhmMCwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMiwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMSwgMHgwMCwgMHgwMiwgMHgwYSwgMHhmMywgMHgwMH0gfSwKLXsgMHgwYTUwLAk4LAl7MHgwMiwgMHgwZiwgMHg0YiwgMHgwMCwgMHgwMiwgMHgwZiwgMHg2MSwgMHgwMH0gfSwKLXsgMHgwYTU4LAkyLAl7MHg4ZiwgMHg0Zn0gfSwKLXsgMHgwYTVhLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NTAsIDB4NzUsIDB4NTEsIDB4ZmYsIDB4NzUsIDB4NTIsIDB4MTIsIDB4NzUsIDB4NTMsIDB4NmEsIDB4YWIsIDB4NTEsIDB4YWEsIDB4NTJ9IH0sCi17IDB4MGE2YSwJMTYsCXsweGE5LCAweDUzLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweGEyLCAweDU0LCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDUwLCAweDA1LCAweDUwLCAweGVmfSB9LAoteyAweDBhN2EsCTE2LAl7MHhiNSwgMHg0ZiwgMHgwMSwgMHgyMiwgMHgxMiwgMHhhMiwgMHgzYiwgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NX0gfSwKLXsgMHgwYThhLAkxNCwJezB4NTEsIDB4ZmYsIDB4ZjUsIDB4NTIsIDB4ODksIDB4NTMsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGE5OCwJMSwJezB4MjJ9IH0sCi17IDB4MGE5OSwJMTYsCXsweGU0LCAweGZlLCAweDc1LCAweDUxLCAweGZmLCAweDc1LCAweDUyLCAweDEyLCAweDc1LCAweDUzLCAweDEyLCAweGFiLCAweDUxLCAweGFhLCAweDUyLCAweGE5fSB9LAoteyAweDBhYTksCTE2LAl7MHg1MywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNX0gfSwKLXsgMHgwYWI5LAkxNiwJezB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4YTIsIDB4YWQsIDB4ODUsIDB4ZjAsIDB4NGYsIDB4ZjUsIDB4NTAsIDB4NjIsIDB4NGZ9IH0sCi17IDB4MGFjOSwJMTYsCXsweGU1LCAweDRmLCAweDYyLCAweDUwLCAweGU1LCAweDUwLCAweDYyLCAweDRmLCAweDI5LCAweGZkLCAweGU1LCAweDRmLCAweDNhLCAweGE5LCAweDA1LCAweDc1fSB9LAoteyAweDBhZDksCTE0LAl7MHg1MSwgMHhmZiwgMHhmNSwgMHg1MiwgMHg4OSwgMHg1MywgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYWU3LAkxLAl7MHgyMn0gfSwKLXsgMHgwYWU4LAk1LAl7MHgxMiwgMHgwOCwgMHgyMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwYWVkLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWVlLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWVmLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYwLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYxLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYyLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWYzLAkxLAl7MHgzMn0gfSwKLXsgMHgwYWY0LAkzLAl7MHgwMCwgMHgwNCwgMHgwN30gfSwKLXsgMHgwYjAwLAk5LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHg4MCwgMHg3NH0gfSwKLXsgMHgwYjdkLAkxNiwJezB4NDMsIDB4ODcsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MjJ9IH0sCi17IDB4MGI4ZCwJMTYsCXsweDUzLCAweDhlLCAweGY3LCAweGU1LCAweDg5LCAweDU0LCAweGYxLCAweDQ0LCAweDAxLCAweGY1LCAweDg5LCAweDc1LCAweDhjLCAweGIxLCAweGQyLCAweGE5fSB9LAoteyAweDBiOWQsCTE2LAl7MHg3NSwgMHg5OCwgMHg0MCwgMHg3NSwgMHhjYiwgMHhmZiwgMHg3NSwgMHhjYSwgMHhmMywgMHg3NSwgMHhjOCwgMHgzNCwgMHhlNCwgMHhmZiwgMHg3ZiwgMHgwNX0gfSwKLXsgMHgwYmFkLAk3LAl7MHg3OCwgMHgyOCwgMHhlNCwgMHhmNiwgMHgwOCwgMHhkZiwgMHhmY30gfSwKLXsgMHgwYmI0LAkxLAl7MHgyMn0gfSwKLXsgMHgwYmI1LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MDAsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDYsIDB4YzB9IH0sCi17IDB4MGJjNSwJMSwJezB4MDd9IH0sCi17IDB4MGJjNiwJMTYsCXsweDMwLCAweDA0LCAweDE2LCAweDc1LCAweDhjLCAweGY4LCAweDc1LCAweDhhLCAweDMwLCAweDdmLCAweDJmLCAweGFlLCAweDA3LCAweDFmLCAweGVlLCAweDYwfSB9LAoteyAweDBiZDYsCTE2LAl7MHgzYywgMHg5MCwgMHgyMCwgMHgwMCwgMHg3NCwgMHg1NSwgMHhmMCwgMHg4MCwgMHhmMiwgMHg3NSwgMHg4YywgMHhiMSwgMHg3ZiwgMHgyOCwgMHhlZiwgMHhkM30gfSwKLXsgMHgwYmU2LAkxNiwJezB4OTQsIDB4MmMsIDB4NTAsIDB4MDksIDB4YTgsIDB4MDcsIDB4ZTYsIDB4NjAsIDB4MDEsIDB4MTYsIDB4MGYsIDB4ODAsIDB4ZjEsIDB4OTAsIDB4MDMsIDB4MDB9IH0sCi17IDB4MGJmNiwJMTYsCXsweGUwLCAweDYwLCAweDAyLCAweDE0LCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDYwLCAweDBlLCAweDkwfSB9LAoteyAweDBjMDYsCTEzLAl7MHgwMSwgMHhjMSwgMHhlMCwgMHgyNCwgMHhmZiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHgzNCwgMHhmZiwgMHhmMH0gfSwKLXsgMHgwYzEzLAkxNSwJezB4ZDAsIDB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGMyMiwJMTYsCXsweGQyLCAweDAwLCAweDc1LCAweDhlLCAweDEwLCAweDEyLCAweDA5LCAweDMwLCAweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDQwLCAweDA4LCAweDkwfSB9LAoteyAweDBjMzIsCTE2LAl7MHg3ZiwgMHg5MiwgMHg3NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHgwNSwgMHhlNCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhmMCwgMHgxMiwgMHg4MCwgMHgwMCwgMHgxMn0gfSwKLXsgMHgwYzQyLAkxMiwJezB4MGYsIDB4N2QsIDB4MTIsIDB4OTQsIDB4ZjcsIDB4MTIsIDB4MWIsIDB4MGMsIDB4MTIsIDB4MGIsIDB4OGQsIDB4MjJ9IH0sCi17IDB4MGM0ZSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAxLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAxfSB9LAoteyAweDBjNWUsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBjNjYsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwYzc2LAkxMSwJezB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGM4MSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDAyLCAweGYwLCAweDkwfSB9LAoteyAweDBjOTEsCTE2LAl7MHg3ZiwgMHhkOCwgMHhlMCwgMHg3MCwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhkOSwgMHhlMCwgMHg3MCwgMHgwNywgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NX0gfSwKLXsgMHgwY2ExLAk5LAl7MHgyYywgMHgxNCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwY2FhLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGNiYSwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGNjMCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDMwLCAweDAyLCAweDAyLCAweGQyLCAweDA2LCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBjZDAsCTExLAl7MHhhYiwgMHg3NCwgMHgwOCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwY2RiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGNlYiwJMTYsCXsweGE5LCAweDc0LCAweDAyLCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUwLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUwLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBjZmIsCTE2LAl7MHgwNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZDBiLAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQxNywJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDEwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkMjcsCTE2LAl7MHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgzMCwgMHhlMSwgMHgxMywgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMSwgMHgwNywgMHg5MCwgMHgyMH0gfSwKLXsgMHgwZDM3LAkxNiwJezB4MGMsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDksIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4MmMsIDB4NzAsIDB4MDN9IH0sCi17IDB4MGQ0NywJMTIsCXsweDc1LCAweDJjLCAweDE0LCAweGQwLCAweGQwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkNTMsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDYzLAkxNiwJezB4YTksIDB4NzQsIDB4MDgsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4MzAsIDB4ZTIsIDB4MTMsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTIsIDB4MDcsIDB4OTAsIDB4MjB9IH0sCi17IDB4MGQ3MywJMTYsCXsweDE0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweGU1LCAweDJjLCAweDcwLCAweDAzfSB9LAoteyAweDBkODMsCTEyLAl7MHg3NSwgMHgyYywgMHgxNCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDhmLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ZDAsIDB4NzUsIDB4ZDAsIDB4MTAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MGQ5ZiwJMTYsCXsweGE5LCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDM0LCAweDMwLCAweGUzLCAweDEzLCAweGU1LCAweDMyLCAweDMwLCAweGUzLCAweDA3LCAweDkwLCAweDIwfSB9LAoteyAweDBkYWYsCTE2LAl7MHgxYywgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwM30gfSwKLXsgMHgwZGJmLAkxMiwJezB4NzUsIDB4MmMsIDB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRjYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBkZGIsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZGViLAkxNiwJezB4ZTAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4YzcsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Yzd9IH0sCi17IDB4MGRmYiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGY4LCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUwLCAweDA3LCAweDkwLCAweDIwLCAweDA0LCAweGUwfSB9LAoteyAweDBlMGIsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZTFiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGUyYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBlM2IsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwNCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZTRiLAkxNiwJezB4ZTEsIDB4MDYsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTEsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Yzl9IH0sCi17IDB4MGU1YiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGY5LCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUxLCAweDA3LCAweDkwLCAweDIwLCAweDBjLCAweGUwfSB9LAoteyAweDBlNmIsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZTdiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGU4YiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBlOWIsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgwOCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZWFiLAkxNiwJezB4ZTIsIDB4MDYsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTIsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2J9IH0sCi17IDB4MGViYiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGZhLCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUyLCAweDA3LCAweDkwLCAweDIwLCAweDE0LCAweGUwfSB9LAoteyAweDBlY2IsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxMSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZWRiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGVlYiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDBlZmIsCTE2LAl7MHhkMCwgMHg3NSwgMHhkMCwgMHgxMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHgxMCwgMHhmMCwgMHhlNSwgMHgzNCwgMHgyMH0gfSwKLXsgMHgwZjBiLAkxNiwJezB4ZTMsIDB4MDYsIDB4OTAsIDB4N2YsIDB4Y2QsIDB4ZjAsIDB4ODAsIDB4MjIsIDB4ZTUsIDB4MzEsIDB4MzAsIDB4ZTMsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2R9IH0sCi17IDB4MGYxYiwJMTYsCXsweGUwLCAweDkwLCAweDAyLCAweGZiLCAweGYwLCAweDgwLCAweDEzLCAweGU1LCAweDIyLCAweDMwLCAweGUzLCAweDA3LCAweDkwLCAweDIwLCAweDFjLCAweGUwfSB9LAoteyAweDBmMmIsCTE2LAl7MHg0NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHhlNSwgMHgyYywgMHg3MCwgMHgwMywgMHg3NSwgMHgyY30gfSwKLXsgMHgwZjNiLAkxNiwJezB4MTQsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDAsIDB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGY0YiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGE5LCAweDc0LCAweDgwLCAweGYwLCAweGQwfSB9LAoteyAweDBmNWIsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBmNjEsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYSwgMHg3NCwgMHg4MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgwZjcxLAkxMiwJezB4MDEsIDB4YmQsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGY3ZCwJMTYsCXsweDkwLCAweDAxLCAweDIwLCAweDEyLCAweGEzLCAweGZhLCAweDAwLCAweDAwLCAweDI1LCAweDgwLCAweDkwLCAweDAxLCAweDI0LCAweDc0LCAweDA4LCAweGYwfSB9LAoteyAweDBmOGQsCTE2LAl7MHhhMywgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHg3NCwgMHg2ZSwgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMywgMHhmMCwgMHhhMywgMHg3NH0gfSwKLXsgMHgwZjlkLAkxNiwJezB4MTEsIDB4ZjAsIDB4ZTQsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MGZhZCwJMTYsCXsweDA0LCAweGEzLCAweGYwLCAweGVmLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAxLCAweGY5LCAweDc0LCAweDAzLCAweDM1LCAweGYwLCAweGE4fSB9LAoteyAweDBmYmQsCTE2LAl7MHgwMSwgMHhmYywgMHg3ZCwgMHgwMSwgMHg3YiwgMHgwMSwgMHg3YSwgMHgwMSwgMHg3OSwgMHgxZiwgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwZCwgMHgxMiwgMHhhMn0gfSwKLXsgMHgwZmNkLAkxNiwJezB4MTIsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MWYsIDB4MTIsIDB4ODcsIDB4YTYsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4YzN9IH0sCi17IDB4MGZkZCwJMTYsCXsweDk0LCAweDA0LCAweDQwLCAweGM3LCAweGU0LCAweGY1LCAweDI3LCAweDkwLCAweDAxLCAweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmfSB9LAoteyAweDBmZWQsCTE2LAl7MHhjMywgMHg5NCwgMHgwNCwgMHg1MCwgMHgxYSwgMHg3NCwgMHhmOCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlNH0gfSwKLXsgMHgwZmZkLAkxNiwJezB4ZjAsIDB4NzQsIDB4MjMsIDB4MmYsIDB4ZjgsIDB4ZTQsIDB4ZjYsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ODAsIDB4ZGMsIDB4ZTR9IH0sCi17IDB4MTAwZCwJMTYsCXsweGY1LCAweDM0LCAweGU1LCAweGMwLCAweDYwLCAweDJmLCAweDkwLCAweDAxLCAweDFlLCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwfSB9LAoteyAweDEwMWQsCTE2LAl7MHhmZiwgMHhkMywgMHg5NCwgMHgwNCwgMHg1MCwgMHgxZiwgMHhlZiwgMHgxNCwgMHhmZiwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMn0gfSwKLXsgMHgxMDJkLAkxNiwJezB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzQsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MWUsIDB4MTIsIDB4ODQsIDB4NDEsIDB4OTAsIDB4MDEsIDB4MWV9IH0sCi17IDB4MTAzZCwJMTYsCXsweGUwLCAweDA0LCAweGYwLCAweDgwLCAweGQ3LCAweGU0LCAweGY1LCAweDNlLCAweGY1LCAweDIyLCAweGY1LCAweDMxLCAweGY1LCAweDMyLCAweDkwLCAweDAxfSB9LAoteyAweDEwNGQsCTE2LAl7MHgxZSwgMHhmMCwgMHg5MCwgMHgwMSwgMHgxZSwgMHhlMCwgMHhmZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHgxMDVkLAkxNiwJezB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZjAsIDB4ZmUsIDB4NzQsIDB4YzUsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDF9IH0sCi17IDB4MTA2ZCwJMTYsCXsweGY1LCAweDgzLCAweGVlLCAweGYwLCAweDc0LCAweDNhLCAweDJmLCAweGY4LCAweGE2LCAweDA2LCAweDc0LCAweDM2LCAweDJmLCAweGY4LCAweGU0LCAweGY2fSB9LAoteyAweDEwN2QsCTE2LAl7MHg3NCwgMHgyZCwgMHgyZiwgMHhmOCwgMHhlNCwgMHhmNiwgMHg3NCwgMHhmYywgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4M30gfSwKLXsgMHgxMDhkLAkxNiwJezB4ZTQsIDB4ZjAsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4MDQsIDB4ZjAsIDB4ZTAsIDB4YjQsIDB4MDQsIDB4YjYsIDB4OTAsIDB4MjAsIDB4NjAsIDB4ZTB9IH0sCi17IDB4MTA5ZCwJNCwJezB4NTQsIDB4MGYsIDB4ZjUsIDB4NGV9IH0sCi17IDB4MTBhMSwJMTYsCXsweDcwLCAweDAzLCAweDAyLCAweDExLCAweDI2LCAweGU0LCAweDkwLCAweDAxLCAweDFlLCAweGYwLCAweDkwLCAweDAxLCAweDFlLCAweGUwLCAweGZmLCAweGMzfSB9LAoteyAweDEwYjEsCTE2LAl7MHg5NCwgMHgwNCwgMHg1MCwgMHhlNCwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg1NX0gfSwKLXsgMHgxMGMxLAkxNiwJezB4NGUsIDB4NjAsIDB4NWEsIDB4OTAsIDB4MDEsIDB4MWUsIDB4ZTAsIDB4ZmUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MTBkMSwJMTYsCXsweGU0LCAweDM0LCAweDIwLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGVlLCAweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDA1LCAweGY1LCAweDgyfSB9LAoteyAweDEwZTEsCTE2LAl7MHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHhlZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHgxMGYxLAkxNiwJezB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4YWYsIDB4MDYsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjV9IH0sCi17IDB4MTEwMSwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwfSB9LAoteyAweDExMTEsCTE2LAl7MHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHgxMiwgMHg4MywgMHhkZiwgMHg5MCwgMHgwMSwgMHgxZX0gfSwKLXsgMHgxMTIxLAk2LAl7MHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHg4NSwgMHgyMn0gfSwKLXsgMHgxMTI3LAkyLAl7MHhhYywgMHgwN30gfSwKLXsgMHgxMTI5LAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4ODAsIDB4ZjAsIDB4ZWMsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4NDEsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjB9IH0sCi17IDB4MTEzOSwJMTYsCXsweDdiLCAweDNjLCAweGFmLCAweDAzLCAweDFiLCAweGVmLCAweDcwLCAweDE2LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwfSB9LAoteyAweDExNDksCTE2LAl7MHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHg3ZCwgMHgzMiwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg2MCwgMHhkNCwgMHg4MCwgMHhmOCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgxMTU5LAkxNiwJezB4YTUsIDB4ZTAsIDB4ZmQsIDB4MzAsIDB4ZTAsIDB4ZGMsIDB4MjAsIDB4ZTEsIDB4MDksIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2UsIDB4ZmYsIDB4N2Z9IH0sCi17IDB4MTE2OSwJMTYsCXsweGY5LCAweDIyLCAweGVkLCAweDMwLCAweGUyLCAweDBjLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdlLCAweGZmLCAweDdmfSB9LAoteyAweDExNzksCTE2LAl7MHhmYSwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZCwgMHg3YiwgMHgxZX0gfSwKLXsgMHgxMTg5LAkxNiwJezB4YWYsIDB4MDMsIDB4MWIsIDB4ZWYsIDB4NzAsIDB4MTYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTZ9IH0sCi17IDB4MTE5OSwJMTYsCXsweGUwLCAweGZkLCAweDdkLCAweDMyLCAweGFmLCAweDA1LCAweDFkLCAweGVmLCAweDYwLCAweDg2LCAweDgwLCAweGY4LCAweDkwLCAweDdmLCAweGE1LCAweGUwfSB9LAoteyAweDExYTksCTE2LAl7MHhmZCwgMHgyMCwgMHhlMCwgMHhkYywgMHg3YiwgMHgzYywgMHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg3MCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMH0gfSwKLXsgMHgxMWI5LAkxNiwJezB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmQsIDB4N2QsIDB4MzIsIDB4YWYsIDB4MDUsIDB4MWQsIDB4ZWYsIDB4NzAsIDB4MDN9IH0sCi17IDB4MTFjOSwJMTYsCXsweDAyLCAweDExLCAweDI5LCAweDgwLCAweGY1LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGZkLCAweDMwLCAweGUwLCAweGQ5LCAweDMwLCAweGUyLCAweDA5fSB9LAoteyAweDExZDksCTE2LAl7MHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZSwgMHhmZiwgMHg3ZiwgMHhmYSwgMHgyMiwgMHhjMiwgMHhhZiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxMWU5LAkxMiwJezB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZmQsIDB4ZDIsIDB4YWYsIDB4ZmYsIDB4N2UsIDB4MDB9IH0sCi17IDB4MTFmNSwJMSwJezB4MjJ9IH0sCi17IDB4MTIwMCwJMTYsCXsweDEyLCAweDAxLCAweDAwLCAweDAxLCAweGZmLCAweGZmLCAweGZmLCAweDQwLCAweDEwLCAweDA3LCAweDAxLCAweDgwLCAweDQyLCAweDAwLCAweDAxLCAweDAyfSB9LAoteyAweDEyMTAsCTE2LAl7MHgwMywgMHgwMSwgMHgwOSwgMHgwMiwgMHg1OCwgMHgwMCwgMHgwMSwgMHgwMSwgMHgwNCwgMHg4MCwgMHgzYywgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwYX0gfSwKLXsgMHgxMjIwLAkxNiwJezB4ZmYsIDB4ZmYsIDB4ZmYsIDB4MDUsIDB4MDcsIDB4MDUsIDB4ODEsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDEsIDB4MDIsIDB4NDB9IH0sCi17IDB4MTIzMCwJMTYsCXsweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDgyLCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDAyLCAweDAyLCAweDQwLCAweDAwLCAweDAwfSB9LAoteyAweDEyNDAsCTE2LAl7MHgwNywgMHgwNSwgMHg4MywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMywgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNX0gfSwKLXsgMHgxMjUwLAkxNiwJezB4ODQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4MDQsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDcsIDB4MDUsIDB4ODcsIDB4MDJ9IH0sCi17IDB4MTI2MCwJMTYsCXsweDQwLCAweDAwLCAweDAwLCAweDA3LCAweDA1LCAweDA3LCAweDAyLCAweDQwLCAweDAwLCAweDAwLCAweDA0LCAweDAzLCAweDA5LCAweDA0LCAweDI0LCAweDAzfSB9LAoteyAweDEyNzAsCTE2LAl7MHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NSwgMHgwMCwgMHg2MywgMHgwMCwgMHg3NCwgMHgwMCwgMHgyMCwgMHgwMH0gfSwKLXsgMHgxMjgwLAkxNiwJezB4NTQsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NDksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDB9IH0sCi17IDB4MTI5MCwJMTYsCXsweDJlLCAweDAwLCAweDE4LCAweDAzLCAweDU3LCAweDAwLCAweDY4LCAweDAwLCAweDY5LCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDQ4LCAweDAwfSB9LAoteyAweDEyYTAsCTE2LAl7MHg0NSwgMHgwMCwgMHg0MSwgMHgwMCwgMHg1NCwgMHgwMCwgMHgyZCwgMHgwMCwgMHgzNCwgMHgwMCwgMHgxYSwgMHgwMywgMHg1OCwgMHgwMCwgMHg1OCwgMHgwMH0gfSwKLXsgMHgxMmIwLAkxNiwJezB4MmQsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4MmQsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDAsIDB4NTgsIDB4MDB9IH0sCi17IDB4MTJjMCwJMTYsCXsweDU4LCAweDAwLCAweDU4LCAweDAwLCAweDJhLCAweDAzLCAweDQzLCAweDAwLCAweDZmLCAweDAwLCAweDZlLCAweDAwLCAweDY2LCAweDAwLCAweDY5LCAweDAwfSB9LAoteyAweDEyZDAsCTE2LAl7MHg2NywgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMH0gfSwKLXsgMHgxMmUwLAkxNiwJezB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDAsIDB4MjIsIDB4MDN9IH0sCi17IDB4MTJmMCwJMTYsCXsweDQ5LCAweDAwLCAweDZlLCAweDAwLCAweDc0LCAweDAwLCAweDY1LCAweDAwLCAweDcyLCAweDAwLCAweDY2LCAweDAwLCAweDYxLCAweDAwLCAweDYzLCAweDAwfSB9LAoteyAweDEzMDAsCTE2LAl7MHg2NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg1MywgMHgwMCwgMHg3NCwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NywgMHgwMH0gfSwKLXsgMHgxMzEwLAkyLAl7MHgwMCwgMHgwMH0gfSwKLXsgMHgxMzEyLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ZjAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ODQsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ZDB9IH0sCi17IDB4MTMyMiwJMTYsCXsweDc1LCAweDg2LCAweDAwLCAweDc1LCAweGQwLCAweDE4LCAweDkwLCAweDIwLCAweDYwLCAweGUwLCAweDU0LCAweDBmLCAweGY1LCAweGYwLCAweDcwLCAweDExfSB9LAoteyAweDEzMzIsCTE2LAl7MHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhmMCwgMHhkMCwgMHhlMH0gfSwKLXsgMHgxMzQyLAkxNiwJezB4MzIsIDB4NzUsIDB4ODYsIDB4MDAsIDB4MTAsIDB4ZjAsIDB4MGIsIDB4MTAsIDB4ZjEsIDB4MTIsIDB4MTAsIDB4ZjIsIDB4MTksIDB4MTAsIDB4ZjMsIDB4MjB9IH0sCi17IDB4MTM1MiwJMTYsCXsweDgwLCAweGQ0LCAweGU1LCAweDI4LCAweDcwLCAweDAzLCAweDc1LCAweDI4LCAweDE0LCAweDAyLCAweDEzLCAweDdjLCAweGU1LCAweDI5LCAweDcwLCAweDAzfSB9LAoteyAweDEzNjIsCTE2LAl7MHg3NSwgMHgyOSwgMHgxNCwgMHgwMiwgMHgxNSwgMHgwZCwgMHhlNSwgMHgyYSwgMHg3MCwgMHgwMywgMHg3NSwgMHgyYSwgMHgxNCwgMHgwMiwgMHgxNiwgMHg5ZX0gfSwKLXsgMHgxMzcyLAkxNiwJezB4ZTUsIDB4MmIsIDB4NzAsIDB4MDMsIDB4NzUsIDB4MmIsIDB4MTQsIDB4MDIsIDB4MTgsIDB4MmYsIDB4OTAsIDB4MjAsIDB4MDIsIDB4ZTAsIDB4NTQsIDB4M2Z9IH0sCi17IDB4MTM4MiwJMTYsCXsweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1LCAweDE0LCAweDYwLCAweDA5LCAweDAyLCAweDEzfSB9LAoteyAweDEzOTIsCTE2LAl7MHg0MywgMHgwMiwgMHgxNCwgMHg2NSwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHhmNSwgMHgzYSwgMHgwMiwgMHgxMywgMHg0M30gfSwKLXsgMHgxM2EyLAkxNiwJezB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MmQsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDV9IH0sCi17IDB4MTNiMiwJMTYsCXsweGUwLCAweDQyLCAweDM2LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDMwLCAweGUxLCAweDAyfSB9LAoteyAweDEzYzIsCTE2LAl7MHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMCwgMHgwYSwgMHg1MywgMHg4MiwgMHhmOCwgMHg0MywgMHg4MiwgMHgwNCwgMHhlMH0gfSwKLXsgMHgxM2QyLAkxNiwJezB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTAsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4MjB9IH0sCi17IDB4MTNlMiwJMTYsCXsweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2fSB9LAoteyAweDEzZjIsCTE2LAl7MHg5MCwgMHg3ZSwgMHg4MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NCwgMHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgxNDAyLAkxNiwJezB4ZTUsIDB4ZTUsIDB4M2YsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MTQxMiwJMTYsCXsweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDkwfSB9LAoteyAweDE0MjIsCTE2LAl7MHg3ZiwgMHhiNywgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgwMSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg3ZiwgMHg0MH0gfSwKLXsgMHgxNDMyLAkxNiwJezB4OTAsIDB4N2UsIDB4ODAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MDAsIDB4ZTUsIDB4ODQsIDB4ZmUsIDB4MjQsIDB4MDUsIDB4ZmQsIDB4OGQsIDB4ODR9IH0sCi17IDB4MTQ0MiwJMTYsCXsweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGRmLCAweGVmLCAweDA1fSB9LAoteyAweDE0NTIsCTE2LAl7MHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiNywgMHhmMCwgMHgwNSwgMHg4NiwgMHhhMywgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMH0gfSwKLXsgMHgxNDYyLAkxNiwJezB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MmQsIDB4ZmEsIDB4ZTUsIDB4MjMsIDB4NjAsIDB4MDgsIDB4NzUsIDB4MjMsIDB4MDAsIDB4ZDIsIDB4ZTcsIDB4ZmV9IH0sCi17IDB4MTQ3MiwJMTYsCXsweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGM3LCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE0LCAweGZmLCAweDkwLCAweDIwLCAweDUwLCAweDc0fSB9LAoteyAweDE0ODIsCTE2LAl7MHgwMCwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MH0gfSwKLXsgMHgxNDkyLAkxNiwJezB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4NDAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjB9IH0sCi17IDB4MTRhMiwJMTYsCXsweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2LCAweGUwLCAweDI0LCAweDM4LCAweGYwLCAweDA1fSB9LAoteyAweDE0YjIsCTE2LAl7MHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OCwgMHg2MCwgMHgzMCwgMHgwMywgMHgwMywgMHgwM30gfSwKLXsgMHgxNGMyLAkxNiwJezB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTRkMiwJMTYsCXsweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwLCAweDExLCAweDhiLCAweDIzLCAweDkwLCAweDdmfSB9LAoteyAweDE0ZTIsCTE2LAl7MHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg4MCwgMHgxYiwgMHhlMCwgMHhkZSwgMHhmZH0gfSwKLXsgMHgxNGYyLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDF9IH0sCi17IDB4MTUwMiwJMTYsCXsweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGM3LCAweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDkwLCAweDIwLCAweDBhLCAweGUwLCAweDU0fSB9LAoteyAweDE1MTIsCTE2LAl7MHgzZiwgMHgyMCwgMHhlMiwgMHgzYSwgMHgyMCwgMHhlMSwgMHgwYiwgMHgyMCwgMHhlNCwgMHgwYiwgMHgyMCwgMHhlNSwgMHgxNCwgMHg2MCwgMHgwOSwgMHgwMn0gfSwKLXsgMHgxNTIyLAkxNiwJezB4MTMsIDB4NDMsIDB4MDIsIDB4MTUsIDB4ZjYsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4ZjUsIDB4M2IsIDB4MDIsIDB4MTN9IH0sCi17IDB4MTUzMiwJMTYsCXsweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweDQzLCAweDJlLCAweDAxLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDgyLCAweGY4LCAweDQzLCAweDgyfSB9LAoteyAweDE1NDIsCTE2LAl7MHgwNSwgMHhlMCwgMHg0MiwgMHgzNywgMHg1MywgMHg4MiwgMHhmYiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHgzMCwgMHhlMX0gfSwKLXsgMHgxNTUyLAkxNiwJezB4MDIsIDB4ODAsIDB4ZTgsIDB4ZjUsIDB4ODUsIDB4ZTUsIDB4MzIsIDB4MzAsIDB4ZTEsIDB4MGEsIDB4NTMsIDB4ODIsIDB4ZjgsIDB4NDMsIDB4ODIsIDB4MDR9IH0sCi17IDB4MTU2MiwJMTYsCXsweGUwLCAweDU0LCAweGZlLCAweGYwLCAweGU1LCAweDg1LCAweDIwLCAweGUzLCAweDU2LCAweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAxLCAweGYwLCAweDkwfSB9LAoteyAweDE1NzIsCTE2LAl7MHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNX0gfSwKLXsgMHgxNTgyLAkxNiwJezB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODUsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTB9IH0sCi17IDB4MTU5MiwJMTYsCXsweDdmLCAweGU1LCAweGU1LCAweDQwLCAweGZkLCAweDAzLCAweDAzLCAweDAzLCAweGZlLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwfSB9LAoteyAweDE1YTIsCTE2LAl7MHhmMCwgMHhkZSwgMHhmNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMH0gfSwKLXsgMHgxNWIyLAkxNiwJezB4OTAsIDB4N2YsIDB4YjksIDB4ZWQsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4MDksIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4N2Z9IH0sCi17IDB4MTVjMiwJMTYsCXsweDQwLCAweDkwLCAweDdlLCAweDAwLCAweDA1LCAweDg2LCAweDkwLCAweDIwLCAweDA4LCAweGU1LCAweDg0LCAweGZlLCAweDI0LCAweDA1LCAweGZkLCAweDhkfSB9LAoteyAweDE1ZDIsCTE2LAl7MHg4NCwgMHhlMCwgMHg4ZSwgMHg4NCwgMHgzMCwgMHhlMCwgMHgwOSwgMHhlMCwgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhkZiwgMHhlZn0gfSwKLXsgMHgxNWUyLAkxNiwJezB4MDUsIDB4ODYsIDB4YzMsIDB4NzQsIDB4NDAsIDB4OWYsIDB4OTAsIDB4N2YsIDB4YjksIDB4ZjAsIDB4MDUsIDB4ODYsIDB4YTMsIDB4ZTAsIDB4NTQsIDB4ZmV9IH0sCi17IDB4MTVmMiwJMTYsCXsweGYwLCAweDAyLCAweDEzLCAweDQzLCAweDUzLCAweDJlLCAweGZhLCAweGU1LCAweDI0LCAweDYwLCAweDA4LCAweDc1LCAweDI0LCAweDAwLCAweGQyLCAweGU3fSB9LAoteyAweDE2MDIsCTE2LAl7MHhmZSwgMHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhlMCwgMHhmZSwgMHg3MCwgMHgwMywgMHgwMiwgMHgxNiwgMHg5MCwgMHg5MCwgMHgyMCwgMHg1MH0gfSwKLXsgMHgxNjEyLAkxNiwJezB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjB9IH0sCi17IDB4MTYyMiwJMTYsCXsweDkwLCAweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweGMwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0fSB9LAoteyAweDE2MzIsCTE2LAl7MHhmMCwgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlZSwgMHgzMCwgMHhlNywgMHgwOCwgMHgwNSwgMHg4NiwgMHhlMCwgMHgyNCwgMHgzOCwgMHhmMH0gfSwKLXsgMHgxNjQyLAkxNiwJezB4MDUsIDB4ODYsIDB4ZWUsIDB4NTQsIDB4N2YsIDB4ZmUsIDB4NTQsIDB4MDcsIDB4ZmIsIDB4ZWUsIDB4NTQsIDB4NzgsIDB4NjAsIDB4MzAsIDB4MDMsIDB4MDN9IH0sCi17IDB4MTY1MiwJMTYsCXsweDAzLCAweDMwLCAweGUzLCAweDA0LCAweDc0LCAweDA3LCAweDdiLCAweDA4LCAweGZkLCAweGZjLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwfSB9LAoteyAweDE2NjIsCTE2LAl7MHhlMCwgMHhlMCwgMHhkZCwgMHhmNiwgMHhlYiwgMHhmZSwgMHg2MCwgMHgxOSwgMHhlYywgMHg2NCwgMHgwNywgMHg3MCwgMHgxMSwgMHg4YiwgMHgyNCwgMHg5MH0gfSwKLXsgMHgxNjcyLAkxNiwJezB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MWIsIDB4ZTAsIDB4ZGV9IH0sCi17IDB4MTY4MiwJMTQsCXsweGZkLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwfSB9LAoteyAweDE2OTAsCTE2LAl7MHg5MCwgMHgyMCwgMHgwOSwgMHhlMCwgMHg1NCwgMHhmZCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhjOSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg5MCwgMHgyMH0gfSwKLXsgMHgxNmEwLAkxNiwJezB4MTIsIDB4ZTAsIDB4NTQsIDB4M2YsIDB4MjAsIDB4ZTIsIDB4M2EsIDB4MjAsIDB4ZTEsIDB4MGIsIDB4MjAsIDB4ZTQsIDB4MGIsIDB4MjAsIDB4ZTUsIDB4MTR9IH0sCi17IDB4MTZiMCwJMTYsCXsweDYwLCAweDA5LCAweDAyLCAweDEzLCAweDQzLCAweDAyLCAweDE3LCAweDg3LCAweDAyLCAweDEzLCAweDQzLCAweDQzLCAweDgyLCAweDA0LCAweGUwLCAweGY1fSB9LAoteyAweDE2YzAsCTE2LAl7MHgzYywgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg0MywgMHgyZiwgMHgwMSwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHg4Mn0gfSwKLXsgMHgxNmQwLAkxNiwJezB4ZjgsIDB4NDMsIDB4ODIsIDB4MDUsIDB4ZTAsIDB4NDIsIDB4MzgsIDB4NTMsIDB4ODIsIDB4ZmIsIDB4ZTAsIDB4NTQsIDB4ZmIsIDB4ZjAsIDB4MDIsIDB4MTN9IH0sCi17IDB4MTZlMCwJMTYsCXsweDQzLCAweDMwLCAweGUxLCAweDAyLCAweDgwLCAweGU4LCAweGY1LCAweDg1LCAweGU1LCAweDMyLCAweDMwLCAweGUyLCAweDBhLCAweDUzLCAweDgyLCAweGY4fSB9LAoteyAweDE2ZjAsCTE2LAl7MHg0MywgMHg4MiwgMHgwNCwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHhlNSwgMHg4NSwgMHgyMCwgMHhlMywgMHg1NiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NH0gfSwKLXsgMHgxNzAwLAkxNiwJezB4MDIsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTB9IH0sCi17IDB4MTcxMCwJMTYsCXsweDdmLCAweGUzLCAweDA1LCAweDg2LCAweDkwLCAweDdkLCAweDgwLCAweDA1LCAweDg2LCAweGU1LCAweDg1LCAweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwfSB9LAoteyAweDE3MjAsCTE2LAl7MHgwNSwgMHg4NiwgMHg5MCwgMHg3ZiwgMHhlNSwgMHhlNSwgMHg0MSwgMHhmZCwgMHgwMywgMHgwMywgMHgwMywgMHhmZSwgMHhmMCwgMHhmMCwgMHhmMCwgMHhmMH0gfSwKLXsgMHgxNzMwLAkxNiwJezB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZjAsIDB4ZGUsIDB4ZjYsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTh9IH0sCi17IDB4MTc0MCwJMTYsCXsweDc0LCAweDAwLCAweGYwLCAweDkwLCAweDdmLCAweGJiLCAweGVkLCAweGYwLCAweDkwLCAweDIwLCAweDExLCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDAyfSB9LAoteyAweDE3NTAsCTE2LAl7MHgxMywgMHg0MywgMHg3ZiwgMHg0MCwgMHg5MCwgMHg3ZCwgMHg4MCwgMHgwNSwgMHg4NiwgMHg5MCwgMHgyMCwgMHgxMCwgMHhlNSwgMHg4NCwgMHhmZSwgMHgyNH0gfSwKLXsgMHgxNzYwLAkxNiwJezB4MDUsIDB4ZmQsIDB4OGQsIDB4ODQsIDB4ZTAsIDB4OGUsIDB4ODQsIDB4MzAsIDB4ZTAsIDB4MDksIDB4ZTAsIDB4MDUsIDB4ODYsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MTc3MCwJMTYsCXsweDg2LCAweGRmLCAweGVmLCAweDA1LCAweDg2LCAweGMzLCAweDc0LCAweDQwLCAweDlmLCAweDkwLCAweDdmLCAweGJiLCAweGYwLCAweDA1LCAweDg2LCAweGEzfSB9LAoteyAweDE3ODAsCTE2LAl7MHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgwMiwgMHgxMywgMHg0MywgMHg1MywgMHgyZiwgMHhmYSwgMHhlNSwgMHgyNSwgMHg2MCwgMHgwOCwgMHg3NSwgMHgyNX0gfSwKLXsgMHgxNzkwLAkxNiwJezB4MDAsIDB4ZDIsIDB4ZTcsIDB4ZmUsIDB4ODAsIDB4MGEsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZTAsIDB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MTgsIDB4MjF9IH0sCi17IDB4MTdhMCwJMTYsCXsweDkwLCAweDIwLCAweDUwLCAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwfSB9LAoteyAweDE3YjAsCTE2LAl7MHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHg0MCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMH0gfSwKLXsgMHgxN2MwLAkxNiwJezB4YTMsIDB4ZTUsIDB4ODQsIDB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZWUsIDB4MzAsIDB4ZTcsIDB4MDgsIDB4MDUsIDB4ODYsIDB4ZTB9IH0sCi17IDB4MTdkMCwJMTYsCXsweDI0LCAweDM4LCAweGYwLCAweDA1LCAweDg2LCAweGVlLCAweDU0LCAweDdmLCAweGZlLCAweDU0LCAweDA3LCAweGZiLCAweGVlLCAweDU0LCAweDc4LCAweDYwfSB9LAoteyAweDE3ZTAsCTE2LAl7MHgzMCwgMHgwMywgMHgwMywgMHgwMywgMHgzMCwgMHhlMywgMHgwNCwgMHg3NCwgMHgwNywgMHg3YiwgMHgwOCwgMHhmZCwgMHhmYywgMHhlMCwgMHhlMCwgMHhlMH0gfSwKLXsgMHgxN2YwLAkxNiwJezB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZTAsIDB4ZGQsIDB4ZjYsIDB4ZWIsIDB4ZmUsIDB4NjAsIDB4MTksIDB4ZWMsIDB4NjQsIDB4MDcsIDB4NzAsIDB4MTF9IH0sCi17IDB4MTgwMCwJMTYsCXsweDhiLCAweDI1LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAwLCAweGYwLCAweDgwfSB9LAoteyAweDE4MTAsCTE2LAl7MHgxYiwgMHhlMCwgMHhkZSwgMHhmZCwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMH0gfSwKLXsgMHgxODIwLAkxNiwJezB4ZjAsIDB4OTAsIDB4MjAsIDB4MTEsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4Y2IsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4OTB9IH0sCi17IDB4MTgzMCwJMTYsCXsweDIwLCAweDFhLCAweGUwLCAweDU0LCAweDNmLCAweDIwLCAweGUyLCAweDNhLCAweDIwLCAweGUxLCAweDBiLCAweDIwLCAweGU0LCAweDBiLCAweDIwLCAweGU1fSB9LAoteyAweDE4NDAsCTE2LAl7MHgxNCwgMHg2MCwgMHgwOSwgMHgwMiwgMHgxMywgMHg0MywgMHgwMiwgMHgxOSwgMHgxOCwgMHgwMiwgMHgxMywgMHg0MywgMHg0MywgMHg4MiwgMHgwNCwgMHhlMH0gfSwKLXsgMHgxODUwLAkxNiwJezB4ZjUsIDB4M2QsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NDMsIDB4MzAsIDB4MDEsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTN9IH0sCi17IDB4MTg2MCwJMTYsCXsweDgyLCAweGY4LCAweDQzLCAweDgyLCAweDA1LCAweGUwLCAweDQyLCAweDM5LCAweDUzLCAweDgyLCAweGZiLCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweDAyfSB9LAoteyAweDE4NzAsCTE2LAl7MHgxMywgMHg0MywgMHgzMCwgMHhlMSwgMHgwMiwgMHg4MCwgMHhlOCwgMHhmNSwgMHg4NSwgMHhlNSwgMHgzMiwgMHgzMCwgMHhlMywgMHgwYSwgMHg1MywgMHg4Mn0gfSwKLXsgMHgxODgwLAkxNiwJezB4ZjgsIDB4NDMsIDB4ODIsIDB4MDQsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4ZTUsIDB4ODUsIDB4MjAsIDB4ZTMsIDB4NTYsIDB4OTAsIDB4MjAsIDB4NTB9IH0sCi17IDB4MTg5MCwJMTYsCXsweDc0LCAweDAzLCAweGYwLCAweDkwLCAweDIwLCAweDU4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDQ0LCAweDQwLCAweGYwfSB9LAoteyAweDE4YTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlMywgMHgwNSwgMHg4NiwgMHg5MCwgMHg3ZCwgMHgwMCwgMHgwNSwgMHg4NiwgMHhlNSwgMHg4NSwgMHhmMCwgMHhhMywgMHhlNSwgMHg4NH0gfSwKLXsgMHgxOGIwLAkxNiwJezB4ZjAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4ZTUsIDB4ZTUsIDB4NDIsIDB4ZmQsIDB4MDMsIDB4MDMsIDB4MDMsIDB4ZmUsIDB4ZjAsIDB4ZjAsIDB4ZjB9IH0sCi17IDB4MThjMCwJMTYsCXsweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGYwLCAweGRlLCAweGY2LCAweDkwLCAweDdmLCAweGUyLCAweGUwLCAweDU0LCAweGJmLCAweGYwLCAweDkwLCAweDIwfSB9LAoteyAweDE4ZDAsCTE2LAl7MHg1OCwgMHg3NCwgMHgwMCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhlZCwgMHhmMCwgMHg5MCwgMHgyMCwgMHgxOSwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMH0gfSwKLXsgMHgxOGUwLAkxNiwJezB4MDIsIDB4MTMsIDB4NDMsIDB4N2YsIDB4NDAsIDB4OTAsIDB4N2QsIDB4MDAsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MjAsIDB4MTgsIDB4ZTUsIDB4ODQsIDB4ZmV9IH0sCi17IDB4MThmMCwJMTYsCXsweDI0LCAweDA1LCAweGZkLCAweDhkLCAweDg0LCAweGUwLCAweDhlLCAweDg0LCAweDMwLCAweGUwLCAweDA5LCAweGUwLCAweDA1LCAweDg2LCAweGYwLCAweGEzfSB9LAoteyAweDE5MDAsCTE2LAl7MHgwNSwgMHg4NiwgMHhkZiwgMHhlZiwgMHgwNSwgMHg4NiwgMHhjMywgMHg3NCwgMHg0MCwgMHg5ZiwgMHg5MCwgMHg3ZiwgMHhiZCwgMHhmMCwgMHgwNSwgMHg4Nn0gfSwKLXsgMHgxOTEwLAkxNiwJezB4YTMsIDB4ZTAsIDB4NTQsIDB4ZmUsIDB4ZjAsIDB4MDIsIDB4MTMsIDB4NDMsIDB4NTMsIDB4MzAsIDB4ZmEsIDB4ZTUsIDB4MjYsIDB4NjAsIDB4MDgsIDB4NzV9IH0sCi17IDB4MTkyMCwJMTYsCXsweDI2LCAweDAwLCAweGQyLCAweGU3LCAweGZlLCAweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGNkLCAweGUwLCAweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDE5fSB9LAoteyAweDE5MzAsCTE2LAl7MHhiMiwgMHg5MCwgMHgyMCwgMHg1MCwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMn0gfSwKLXsgMHgxOTQwLAkxNiwJezB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2MsIDB4YzAsIDB4MDUsIDB4ODYsIDB4ZTUsIDB4ODV9IH0sCi17IDB4MTk1MCwJMTYsCXsweGYwLCAweGEzLCAweGU1LCAweDg0LCAweGYwLCAweDA1LCAweDg2LCAweDkwLCAweDdmLCAweGU1LCAweGVlLCAweDMwLCAweGU3LCAweDA4LCAweDA1LCAweDg2fSB9LAoteyAweDE5NjAsCTE2LAl7MHhlMCwgMHgyNCwgMHgzOCwgMHhmMCwgMHgwNSwgMHg4NiwgMHhlZSwgMHg1NCwgMHg3ZiwgMHhmZSwgMHg1NCwgMHgwNywgMHhmYiwgMHhlZSwgMHg1NCwgMHg3OH0gfSwKLXsgMHgxOTcwLAkxNiwJezB4NjAsIDB4MzAsIDB4MDMsIDB4MDMsIDB4MDMsIDB4MzAsIDB4ZTMsIDB4MDQsIDB4NzQsIDB4MDcsIDB4N2IsIDB4MDgsIDB4ZmQsIDB4ZmMsIDB4ZTAsIDB4ZTB9IH0sCi17IDB4MTk4MCwJMTYsCXsweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGUwLCAweGRkLCAweGY2LCAweGViLCAweGZlLCAweDYwLCAweDE5LCAweGVjLCAweDY0LCAweDA3LCAweDcwfSB9LAoteyAweDE5OTAsCTE2LAl7MHgxMSwgMHg4YiwgMHgyNiwgMHg5MCwgMHg3ZiwgMHhlMiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHgyMCwgMHg1OCwgMHg3NCwgMHgwMCwgMHhmMH0gfSwKLXsgMHgxOWEwLAkxNiwJezB4ODAsIDB4MWIsIDB4ZTAsIDB4ZGUsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4ZTIsIDB4ZTAsIDB4NTQsIDB4YmYsIDB4ZjAsIDB4OTAsIDB4MjAsIDB4NTgsIDB4NzR9IH0sCi17IDB4MTliMCwJMTYsCXsweDAwLCAweGYwLCAweDkwLCAweDIwLCAweDE5LCAweGUwLCAweDU0LCAweGZkLCAweGYwLCAweDkwLCAweDdmLCAweGNkLCAweGYwLCAweDAyLCAweDEzLCAweDQzfSB9LAoteyAweDE5YzAsCTEsCXsweDMyfSB9LAoteyAweDE5YzEsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDE5YzUsCTE2LAl7MHg3OSwgMHgwNiwgMHhlZCwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHhmYSwgMHhhMywgMHhlMCwgMHhmYn0gfSwKLXsgMHgxOWQ1LAkxNiwJezB4NGEsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MWIsIDB4MDksIDB4ZTksIDB4YjQsIDB4MDcsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MWEsIDB4ZGIsIDB4OTB9IH0sCi17IDB4MTllNSwJMTYsCXsweDE5LCAweGViLCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDFhLCAweGI5LCAweDAyLCAweDFhLCAweDcxLCAweDAyLCAweDFhLCAweDVhLCAweDAyfSB9LAoteyAweDE5ZjUsCTE2LAl7MHgxYSwgMHg0MCwgMHgwMiwgMHgxYSwgMHgyZiwgMHgwMiwgMHgxYSwgMHgxYSwgMHgwMiwgMHgxYSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxYTA1LAkxNiwJezB4ODAsIDB4ZjAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4NDQsIDB4YTAsIDB4OTAsIDB4N2YsIDB4YTZ9IH0sCi17IDB4MWExNSwJMTYsCXsweGYwLCAweDE5LCAweDAyLCAweDFhLCAweGRiLCAweDE5LCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweGMzLCAweDk0LCAweDIwLCAweDQwLCAweDBhfSB9LAoteyAweDFhMjUsCTE2LAl7MHhhMywgMHhhMywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHgwMiwgMHgxYSwgMHhkYiwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhhMywgMHhhM30gfSwKLXsgMHgxYTM1LAkxNiwJezB4ZTAsIDB4YTMsIDB4ZTAsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4MTksIDB4MDIsIDB4MWEsIDB4ZGIsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4MWE0NSwJMTYsCXsweDgwLCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGExLCAweDkwLCAweDdmLCAweGE2fSB9LAoteyAweDFhNTUsCTE2LAl7MHhmMCwgMHgxOSwgMHgwMiwgMHgxYSwgMHhkYiwgMHhlYiwgMHg2NCwgMHgwMSwgMHg0YSwgMHg3MCwgMHgwOCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NH0gfSwKLXsgMHgxYTY1LAkxNiwJezB4MjAsIDB4ZjAsIDB4MTksIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4ZjUsIDB4NTksIDB4MTksIDB4ODAsIDB4NmEsIDB4ZWQsIDB4MjQsIDB4MDQsIDB4ZjV9IH0sCi17IDB4MWE3NSwJMTYsCXsweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDY0LCAweDAyLCAweDRlLCAweDcwLCAweDA4LCAweDkwLCAweDdmfSB9LAoteyAweDFhODUsCTE2LAl7MHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHgxOSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZiwgMHhlZCwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgxYTk1LAkxNiwJezB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODN9IH0sCi17IDB4MWFhNSwJMTYsCXsweGVmLCAweGYwLCAweGVkLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1LCAweDgzLCAweDc0LCAweGZmLCAweGY1LCAweGYwLCAweDEyfSB9LAoteyAweDFhYjUsCTE2LAl7MHhhMiwgMHg4MSwgMHg4MCwgMHgyMiwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhmZn0gfSwKLXsgMHgxYWM1LAkxNiwJezB4ZWQsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2MsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmEsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4ODIsIDB4OGF9IH0sCi17IDB4MWFkNSwJMTYsCXsweDgzLCAweGVmLCAweGYwLCAweDdmLCAweDA4LCAweDIyLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweGY1LCAweDU5LCAweDMwLCAweGUwLCAweGY3LCAweDMwfSB9LAoteyAweDFhZTUsCTE2LAl7MHhlMiwgMHgwNywgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNiwgMHgyMiwgMHhlOSwgMHhkMywgMHg5NCwgMHgwMiwgMHg1MCwgMHgwMywgMHgwMn0gfSwKLXsgMHgxYWY1LAkxNiwJezB4MTksIDB4YzcsIDB4ZTUsIDB4NTksIDB4MzAsIDB4ZTEsIDB4MDMsIDB4MDIsIDB4MTksIDB4YzcsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDB9IH0sCi17IDB4MWIwNSwJNiwJezB4ZjAsIDB4N2YsIDB4MDcsIDB4MjIsIDB4N2YsIDB4MDh9IH0sCi17IDB4MWIwYiwJMSwJezB4MjJ9IH0sCi17IDB4MWIwYywJMTYsCXsweGU1LCAweDMzLCAweGMzLCAweDk0LCAweDAxLCAweDUwLCAweDFjLCAweDdmLCAweDA1LCAweDdlLCAweDAwLCAweDEyLCAweDA5LCAweGFlLCAweDdmLCAweDAyfSB9LAoteyAweDFiMWMsCTE2LAl7MHg3ZCwgMHhmZiwgMHgxMiwgMHg4MiwgMHhlYSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwOSwgMHhhZSwgMHg3ZiwgMHgwMywgMHg3ZCwgMHhmZn0gfSwKLXsgMHgxYjJjLAk0LAl7MHgxMiwgMHg4MiwgMHhlYSwgMHgyMn0gfSwKLXsgMHg4MDAwLAkxNiwJezB4N2IsIDB4ZmYsIDB4N2EsIDB4MTIsIDB4NzksIDB4MWIsIDB4OTAsIDB4MDAsIDB4MDQsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmQsIDB4OGIsIDB4NTAsIDB4NzV9IH0sCi17IDB4ODAxMCwJMTYsCXsweDUxLCAweDEyLCAweDc1LCAweDUyLCAweDI0LCAweGU0LCAweDkwLCAweDdmLCAweGUxLCAweGYwLCAweDkwLCAweDdmLCAweGUwLCAweGYwLCAweGY1LCAweDRlfSB9LAoteyAweDgwMjAsCTE2LAl7MHhmNSwgMHg0ZiwgMHg5MCwgMHgwMiwgMHhhZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHg4MDMwLAkxNiwJezB4YTksIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWEsIDB4ZjAsIDB4ZTQsIDB4ZmMsIDB4ZWMsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjV9IH0sCi17IDB4ODA0MCwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDBjLCAweGJjLCAweDEwLCAweGVlLCAweGU0LCAweDkwLCAweDdmLCAweGRkfSB9LAoteyAweDgwNTAsCTE2LAl7MHhmMCwgMHhhZiwgMHgwNSwgMHgxZCwgMHhlZiwgMHg3MCwgMHgwMywgMHgwMiwgMHg4MSwgMHhjNiwgMHhhYiwgMHg1MCwgMHhhYSwgMHg1MSwgMHhhOSwgMHg1Mn0gfSwKLXsgMHg4MDYwLAkxNiwJezB4OTAsIDB4MDAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4NTQsIDB4NjQsIDB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4YjUsIDB4OTAsIDB4MDAsIDB4MDN9IH0sCi17IDB4ODA3MCwJMTYsCXsweDEyLCAweGEyLCAweDU0LCAweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDgxLCAweDNjLCAweDkwLCAweDAwLCAweDAyLCAweDEyLCAweGEyLCAweDU0fSB9LAoteyAweDgwODAsCTE2LAl7MHhmZiwgMHg1NCwgMHg3ZiwgMHhmYywgMHhkMywgMHg5NCwgMHgwNywgMHg1MCwgMHgwMywgMHgwMiwgMHg4MSwgMHgxNiwgMHhlYywgMHhjMywgMHg5NCwgMHgxMH0gfSwKLXsgMHg4MDkwLAkxNiwJezB4NDAsIDB4MDMsIDB4MDIsIDB4ODEsIDB4MTYsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4NDIsIDB4ZTUsIDB4NGYsIDB4YWUsIDB4NGUsIDB4NzgsIDB4MDIsIDB4Y2V9IH0sCi17IDB4ODBhMCwJMTYsCXsweGMzLCAweDEzLCAweGNlLCAweDEzLCAweGQ4LCAweGY5LCAweGZmLCAweDc0LCAweGYwLCAweDJjLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1fSB9LAoteyAweDgwYjAsCTE2LAl7MHg4MywgMHhlZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlMCwgMHhlMCwgMHhmZiwgMHhlYywgMHgyNCwgMHhmOCwgMHhmZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNn0gfSwKLXsgMHg4MGMwLAkxNiwJezB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4ZTAsIDB4ZjAsIDB4OTAsIDB4MDIsIDB4YWUsIDB4ZTB9IH0sCi17IDB4ODBkMCwJMTYsCXsweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGRkLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDNlLCAweGU1LCAweDRmLCAweGFlLCAweDRlLCAweDc4fSB9LAoteyAweDgwZTAsCTE2LAl7MHgwMiwgMHhjZSwgMHhjMywgMHgxMywgMHhjZSwgMHgxMywgMHhkOCwgMHhmOSwgMHhmZiwgMHg3NCwgMHhlOCwgMHgyYywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNH0gfSwKLXsgMHg4MGYwLAkxNiwJezB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4ZTEsIDB4ZTAsIDB4ZmYsIDB4ZWMsIDB4MjQsIDB4ZjgsIDB4ZmUsIDB4NzQsIDB4MDF9IH0sCi17IDB4ODEwMCwJMTYsCXsweGE4LCAweDA2LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDRmLCAweDkwLCAweDdmLCAweGUxLCAweGYwLCAweDkwLCAweDAyfSB9LAoteyAweDgxMTAsCTE2LAl7MHhhZSwgMHhlMCwgMHgwNCwgMHhmMCwgMHg4MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHg5MCwgMHgwMCwgMHgwNCwgMHgxMiwgMHhhMiwgMHg1NCwgMHgyNX0gfSwKLXsgMHg4MTIwLAkxNiwJezB4NGYsIDB4ZjUsIDB4NGYsIDB4ZTQsIDB4MzUsIDB4NGUsIDB4ZjUsIDB4NGUsIDB4OTAsIDB4MDAsIDB4MDUsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmUsIDB4ZTR9IH0sCi17IDB4ODEzMCwJMTYsCXsweDI1LCAweDRmLCAweGY1LCAweDRmLCAweGVlLCAweDM1LCAweDRlLCAweGY1LCAweDRlLCAweDAyLCAweDgxLCAweGI4LCAweGFiLCAweDUwLCAweGFhLCAweDUxfSB9LAoteyAweDgxNDAsCTE2LAl7MHhhOSwgMHg1MiwgMHg5MCwgMHgwMCwgMHgwMywgMHgxMiwgMHhhMiwgMHg1NCwgMHhmZiwgMHg2NCwgMHgwMiwgMHg2MCwgMHgwNSwgMHhlZiwgMHg2NCwgMHgwM30gfSwKLXsgMHg4MTUwLAkxNiwJezB4NzAsIDB4NjAsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4YTIsIDB4NTQsIDB4ZmYsIDB4NTQsIDB4N2YsIDB4ZmMsIDB4ZDMsIDB4OTQsIDB4MDcsIDB4NTB9IH0sCi17IDB4ODE2MCwJMTYsCXsweDRlLCAweGVmLCAweDMwLCAweGU3LCAweDFlLCAweDkwLCAweDdmLCAweGRlLCAweGUwLCAweGZmLCAweDc0LCAweDAxLCAweGE4LCAweDA0LCAweDA4LCAweDgwfSB9LAoteyAweDgxNzAsCTE2LAl7MHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmZSwgMHg0ZiwgMHg5MCwgMHg3ZiwgMHhkZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhYywgMHhlMCwgMHg0ZX0gfSwKLXsgMHg4MTgwLAkxNiwJezB4ZjAsIDB4ODAsIDB4MzUsIDB4OTAsIDB4N2YsIDB4ZGYsIDB4ZTAsIDB4ZmYsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDQsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzN9IH0sCi17IDB4ODE5MCwJMTYsCXsweDMzLCAweGQ4LCAweGZjLCAweGZlLCAweDRmLCAweDkwLCAweDdmLCAweGRmLCAweGYwLCAweDkwLCAweDdmLCAweGFkLCAweGUwLCAweDRlLCAweGYwLCAweGVjfSB9LAoteyAweDgxYTAsCTE2LAl7MHgyNSwgMHhlMCwgMHgyNCwgMHhjNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlYywgMHhmMCwgMHg4MCwgMHgwOSwgMHg3Zn0gfSwKLXsgMHg4MWIwLAkxNiwJezB4ZmYsIDB4MjIsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4NzQsIDB4MDcsIDB4MjUsIDB4NTIsIDB4ZjUsIDB4NTIsIDB4ZTQsIDB4MzV9IH0sCi17IDB4ODFjMCwJMTYsCXsweDUxLCAweGY1LCAweDUxLCAweDAyLCAweDgwLCAweDUxLCAweDIwLCAweDAzLCAweDBkLCAweDkwLCAweDAyLCAweGFlLCAweGUwLCAweDYwLCAweDA3LCAweDkwfSB9LAoteyAweDgxZDAsCTgsCXsweDdmLCAweGFlLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDgxZDgsCTEsCXsweDIyfSB9LAoteyAweDgxZDksCTQsCXsweDhlLCAweDU5LCAweDhmLCAweDVhfSB9LAoteyAweDgxZGQsCTE2LAl7MHg3NSwgMHg1YiwgMHgwMywgMHhlNSwgMHg1YSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZX0gfSwKLXsgMHg4MWVkLAkxNiwJezB4YTMsIDB4ZTAsIDB4NGUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4ODIsIDB4ZTcsIDB4ZTUsIDB4NWIsIDB4NjAsIDB4NGUsIDB4MTQsIDB4NjAsIDB4MzgsIDB4MTR9IH0sCi17IDB4ODFmZCwJMTYsCXsweDYwLCAweDIwLCAweDE0LCAweDYwLCAweDAzLCAweDAyLCAweDgyLCAweDhiLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDg1fSB9LAoteyAweDgyMGQsCTE2LAl7MHg1YSwgMHg4MiwgMHg4NSwgMHg1OSwgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHgyNSwgMHhlMCwgMHg0NCwgMHhhMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMH0gfSwKLXsgMHg4MjFkLAkxNiwJezB4ODAsIDB4NmMsIDB4ODUsIDB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4ZTAsIDB4YzMsIDB4OTQsIDB4MjAsIDB4NDAsIDB4MDksIDB4YTMsIDB4YTN9IH0sCi17IDB4ODIyZCwJMTYsCXsweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDgwLCAweDU3LCAweDE1LCAweDViLCAweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzfSB9LAoteyAweDgyM2QsCTE2LAl7MHhhMywgMHhlMCwgMHhhMywgMHhlMCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4MCwgMHg0NCwgMHhlNSwgMHg1YSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4MjRkLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjV9IH0sCi17IDB4ODI1ZCwJMTYsCXsweDgzLCAweGUwLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU1LCAweDVhLCAweDI0fSB9LAoteyAweDgyNmQsCTE2LAl7MHgwNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OSwgMHhmNSwgMHg4MywgMHg3NCwgMHhmZiwgMHhmNSwgMHhmMCwgMHgxMiwgMHhhMiwgMHg4MSwgMHg4NX0gfSwKLXsgMHg4MjdkLAkxNiwJezB4NWEsIDB4ODIsIDB4ODUsIDB4NTksIDB4ODMsIDB4YTMsIDB4YTMsIDB4ZTQsIDB4NzUsIDB4ZjAsIDB4MDEsIDB4MTIsIDB4YTIsIDB4ODEsIDB4OTAsIDB4N2Z9IH0sCi17IDB4ODI4ZCwJMTYsCXsweGE1LCAweGUwLCAweGY1LCAweDVjLCAweDMwLCAweGUwLCAweGY3LCAweDMwLCAweGUyLCAweDA3LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA2fSB9LAoteyAweDgyOWQsCTE2LAl7MHgyMiwgMHhlNSwgMHg1YywgMHgyMCwgMHhlMSwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNywgMHgyMn0gfSwKLXsgMHg4MmFkLAkxNiwJezB4ZTUsIDB4NWIsIDB4NzAsIDB4MzEsIDB4N2YsIDB4MDEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MDksIDB4YWUsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDR9IH0sCi17IDB4ODJiZCwJMTYsCXsweDgwLCAweGYwLCAweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGEzLCAweGUwLCAweGZmLCAweDI1LCAweGUwLCAweDQ0LCAweGEwLCAweDkwfSB9LAoteyAweDgyY2QsCTE2LAl7MHg3ZiwgMHhhNiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHhmNSwgMHg1YywgMHgzMCwgMHhlMCwgMHhmNywgMHgzMCwgMHhlMSwgMHhkNSwgMHg3NX0gfSwKLXsgMHg4MmRkLAkxMiwJezB4NWIsIDB4MDMsIDB4MDIsIDB4ODEsIDB4ZTAsIDB4MTUsIDB4NWIsIDB4MDIsIDB4ODEsIDB4ZTAsIDB4N2YsIDB4MDh9IH0sCi17IDB4ODJlOSwJMSwJezB4MjJ9IH0sCi17IDB4ODJlYSwJMiwJezB4YWUsIDB4MDd9IH0sCi17IDB4ODJlYywJMTYsCXsweDdjLCAweDAyLCAweGVjLCAweDE0LCAweDYwLCAweDE1LCAweDE0LCAweDcwLCAweDFlLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwfSB9LAoteyAweDgyZmMsCTE2LAl7MHhlZSwgMHgyNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4MCwgMHgwYywgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlZCwgMHhmMH0gfSwKLXsgMHg4MzBjLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4ZmIsIDB4MzAsIDB4ZTAsIDB4ZjgsIDB4YmN9IH0sCi17IDB4ODMxYywJMTYsCXsweDAyLCAweDBhLCAweDIwLCAweGUxLCAweDA3LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA3LCAweDIyLCAweGViLCAweDMwLCAweGUyLCAweDBhfSB9LAoteyAweDgzMmMsCTE0LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHg3ZiwgMHgwNiwgMHgyMiwgMHhkYywgMHhiNiwgMHg3ZiwgMHgwOH0gfSwKLXsgMHg4MzNhLAkxLAl7MHgyMn0gfSwKLXsgMHg4MzNiLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4YzIsIDB4YTksIDB4OTAsIDB4MDMsIDB4MDAsIDB4NzQsIDB4MTksIDB4ZjAsIDB4ZDIsIDB4YTl9IH0sCi17IDB4ODM0YiwJMTUsCXsweDUzLCAweDkxLCAweDdmLCAweDkwLCAweDAxLCAweGM0LCAweGU0LCAweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDgzNWEsCTE2LAl7MHhlZiwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhYiwgMHg4MiwgMHhmYSwgMHhmNX0gfSwKLXsgMHg4MzZhLAkxNiwJezB4ODMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4OGIsIDB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjEsIDB4NzQsIDB4YmZ9IH0sCi17IDB4ODM3YSwJMTYsCXsweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0LCAweDEwLCAweGYwLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzfSB9LAoteyAweDgzOGEsCTE2LAl7MHhhMywgMHhhMywgMHhlNCwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhmMCwgMHhmOSwgMHhlZCwgMHg2MCwgMHgxZCwgMHg3NCwgMHgwMX0gfSwKLXsgMHg4MzlhLAkxNiwJezB4N2UsIDB4MDAsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDUsIDB4YzMsIDB4MzMsIDB4Y2UsIDB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTR9IH0sCi17IDB4ODNhYSwJMTYsCXsweGVmLCAweDU1LCAweDMxLCAweDYwLCAweDA0LCAweDc5LCAweDA5LCAweDgwLCAweDAyLCAweDc5LCAweDBkLCAweDhiLCAweDgyLCAweDhhLCAweDgzLCAweGEzfSB9LAoteyAweDgzYmEsCTE2LAl7MHhhMywgMHhhMywgMHg3NCwgMHhiZiwgMHhmMCwgMHg4YiwgMHg4MiwgMHg4YSwgMHg4MywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHhlZiwgMHhmMCwgMHg4Yn0gfSwKLXsgMHg4M2NhLAkxNiwJezB4ODIsIDB4OGEsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTUsIDB4NjEsIDB4ZjAsIDB4YWUsIDB4MDIsIDB4YWYsIDB4MDMsIDB4OGYsIDB4ODIsIDB4OGV9IH0sCi17IDB4ODNkYSwJNCwJezB4ODMsIDB4YTMsIDB4ZTksIDB4ZjB9IH0sCi17IDB4ODNkZSwJMSwJezB4MjJ9IH0sCi17IDB4ODNkZiwJNCwJezB4OGYsIDB4NjEsIDB4OGQsIDB4NjJ9IH0sCi17IDB4ODNlMywJMTYsCXsweGU0LCAweGY1LCAweDY3LCAweDc0LCAweDNmLCAweDJmLCAweGY4LCAweDc2LCAweDA4LCAweDdmLCAweDgwLCAweDdlLCAweDI1LCAweDdkLCAweDAwLCAweDdjfSB9LAoteyAweDgzZjMsCTE2LAl7MHgwMCwgMHhhYiwgMHg2NiwgMHhhYSwgMHg2NSwgMHhhOSwgMHg2NCwgMHhhOCwgMHg2MywgMHhkMywgMHgxMiwgMHhhMywgMHhiMywgMHg0MCwgMHgyNiwgMHg3Zn0gfSwKLXsgMHg4NDAzLAkxNiwJezB4MDAsIDB4N2UsIDB4OTYsIDB4N2QsIDB4MDAsIDB4N2MsIDB4MDAsIDB4YTgsIDB4NjMsIDB4ZDMsIDB4MTIsIDB4YTMsIDB4YjMsIDB4NTAsIDB4MGMsIDB4NzV9IH0sCi17IDB4ODQxMywJMTYsCXsweDY3LCAweDQwLCAweDc0LCAweDNmLCAweDI1LCAweDYxLCAweGY4LCAweDc2LCAweDEwLCAweDgwLCAweDBhLCAweDc1LCAweDY3LCAweDgwLCAweDc0LCAweDNmfSB9LAoteyAweDg0MjMsCTE2LAl7MHgyNSwgMHg2MSwgMHhmOCwgMHg3NiwgMHgzOCwgMHhlNSwgMHg2NywgMHg0NSwgMHg2MiwgMHg0NCwgMHgwMSwgMHhmZiwgMHhlNSwgMHg2MSwgMHg3NSwgMHhmMH0gfSwKLXsgMHg4NDMzLAkxMywJezB4MDgsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjB9IH0sCi17IDB4ODQ0MCwJMSwJezB4MjJ9IH0sCi17IDB4ODQ0MSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDU3LCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg0NTEsCTE2LAl7MHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNX0gfSwKLXsgMHg4NDYxLAkxNiwJezB4NTgsIDB4OGYsIDB4NTksIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODN9IH0sCi17IDB4ODQ3MSwJMTYsCXsweGUwLCAweDIwLCAweGUxLCAweDBmLCAweGU1LCAweDU3LCAweDI1LCAweGUwLCAweDI0LCAweGM3LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1fSB9LAoteyAweDg0ODEsCTE2LAl7MHg4MywgMHhlNCwgMHhmMCwgMHg3NCwgMHgyMywgMHgyNSwgMHg1NywgMHhmOCwgMHhlNCwgMHhmNiwgMHhlNSwgMHg1OSwgMHgyNCwgMHgwNCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4NDkxLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTgsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDQsIDB4MDMsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjR9IH0sCi17IDB4ODRhMSwJMTYsCXsweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDg0YjEsCTE2LAl7MHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHhhZiwgMHg1NywgMHgxMiwgMHg4M30gfSwKLXsgMHg4NGMxLAkxNiwJezB4ZGYsIDB4YWYsIDB4NTcsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWEsIDB4ODUsIDB4NTksIDB4ODIsIDB4ODUsIDB4NTgsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4ODRkMSwJMTYsCXsweGUwLCAweDIwLCAweGUwLCAweDQzLCAweGUwLCAweGZmLCAweGU1LCAweDU5LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU4LCAweGY1fSB9LAoteyAweDg0ZTEsCTE2LAl7MHg4MywgMHhlMCwgMHhlNSwgMHg1OSwgMHgyNCwgMHgwNiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1OCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHhlNX0gfSwKLXsgMHg4NGYxLAkxNiwJezB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmN9IH0sCi17IDB4ODUwMSwJMTYsCXsweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGY1LCAweDY2LCAweDhlLCAweDY1LCAweDhkLCAweDY0LCAweDhjLCAweDYzfSB9LAoteyAweDg1MTEsCTE2LAl7MHg3ZCwgMHgwNiwgMHhhZiwgMHg1NywgMHgxMiwgMHg4MywgMHhkZiwgMHg3NCwgMHhmOCwgMHgyNSwgMHg1NywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMn0gfSwKLXsgMHg4NTIxLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4NzQsIDB4MGMsIDB4OWYsIDB4NzUsIDB4ZjAsIDB4NDB9IH0sCi17IDB4ODUzMSwJMTYsCXsweGE0LCAweDI0LCAweDQwLCAweGY1LCAweDgyLCAweGU1LCAweGYwLCAweDM0LCAweDdiLCAweGFmLCAweDgyLCAweGZlLCAweGU1LCAweDU3LCAweDI1LCAweGUwfSB9LAoteyAweDg1NDEsCTE2LAl7MHgyNCwgMHhlZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlZSwgMHhmMCwgMHhhMywgMHhlZiwgMHhmMCwgMHhhZiwgMHg1N30gfSwKLXsgMHg4NTUxLAkxNSwJezB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzQsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODU2MCwJMSwJezB4MjJ9IH0sCi17IDB4ODU2MSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDU3LCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg1NzEsCTE2LAl7MHhhZiwgMHg1NywgMHhlNCwgMHhmZCwgMHgxMiwgMHg4MywgMHg1YSwgMHg3NCwgMHhmOCwgMHgyNSwgMHg1NywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMn0gfSwKLXsgMHg4NTgxLAkxNiwJezB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4ODU5MSwJMTYsCXsweDIwLCAweGFmLCAweDgyLCAweGY1LCAweDU5LCAweDhmLCAweDVhLCAweGY1LCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0fSB9LAoteyAweDg1YTEsCTE2LAl7MHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHhmMCwgMHhlNSwgMHg1NywgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwY30gfSwKLXsgMHg4NWIxLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4ZTUsIDB4NTcsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjR9IH0sCi17IDB4ODVjMSwJMTYsCXsweDAyLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAzLCAweGY1LCAweDgzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDg1ZDEsCTE2LAl7MHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHhhZiwgMHg1NywgMHgxMiwgMHg4M30gfSwKLXsgMHg4NWUxLAkxNiwJezB4ZGYsIDB4ZTUsIDB4NWEsIDB4MjQsIDB4MDUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MDl9IH0sCi17IDB4ODVmMSwJMTYsCXsweDg1LCAweDVhLCAweDgyLCAweDg1LCAweDU5LCAweDgzLCAweGUwLCAweGY1LCAweDU4LCAweGFmLCAweDU3LCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4fSB9LAoteyAweDg2MDEsCTE2LAl7MHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNCwgMHg1MiwgMHgzNCwgMHhlNSwgMHg1NywgMHgyNSwgMHhlMCwgMHgyNCwgMHhjNiwgMHhmNX0gfSwKLXsgMHg4NjExLAkxNiwJezB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MjAsIDB4ZTEsIDB4MGYsIDB4ZTUsIDB4NTcsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4Yzd9IH0sCi17IDB4ODYyMSwJMTEsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDg2MmMsCTEsCXsweDIyfSB9LAoteyAweDg2MmQsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDg2MzEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmNSwgMHg1OSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMn0gfSwKLXsgMHg4NjQxLAkxNiwJezB4ZTUsIDB4NTksIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4ODY1MSwJMTYsCXsweDU0LCAweDAzLCAweDcwLCAweDY2LCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweDMwLCAweGUwLCAweDI4LCAweGU1fSB9LAoteyAweDg2NjEsCTE2LAl7MHg1OSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNSwgMHg4MywgMHhlMCwgMHhmY30gfSwKLXsgMHg4NjcxLAkxNiwJezB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGQsIDB4NjQsIDB4OGMsIDB4NjN9IH0sCi17IDB4ODY4MSwJMTYsCXsweDdkLCAweDAyLCAweGFmLCAweDU5LCAweDEyLCAweDgzLCAweGRmLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweDMwfSB9LAoteyAweDg2OTEsCTE2LAl7MHhlMSwgMHgyOCwgMHhlNSwgMHg1OSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMywgMHhmNX0gfSwKLXsgMHg4NmExLAkxNiwJezB4ODMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZjUsIDB4NjYsIDB4OGUsIDB4NjUsIDB4OGR9IH0sCi17IDB4ODZiMSwJMTIsCXsweDY0LCAweDhjLCAweDYzLCAweDdkLCAweDA0LCAweGFmLCAweDU5LCAweDEyLCAweDgzLCAweGRmLCAweDdmLCAweDAwfSB9LAoteyAweDg2YmQsCTEsCXsweDIyfSB9LAoteyAweDg2YmUsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmYywgMHhlZH0gfSwKLXsgMHg4NmNlLAkxNiwJezB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4ODZkZSwJMTYsCXsweDgyLCAweGUwLCAweGZkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZjLCAweGVkLCAweDZjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwfSB9LAoteyAweDg2ZWUsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHhmZCwgMHhlYywgMHg2ZCwgMHhkMH0gfSwKLXsgMHg4NmZlLAkxNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZTAsIDB4ZmQsIDB4OGZ9IH0sCi17IDB4ODcwZSwJMTYsCXsweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZjLCAweGVkLCAweDZjLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGYwLCAweDhmLCAweDgyfSB9LAoteyAweDg3MWUsCTE2LAl7MHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhlMCwgMHhmZCwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhlMH0gfSwKLXsgMHg4NzJlLAkxNiwJezB4ZmMsIDB4ZWQsIDB4NmMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4YTMsIDB4YzAsIDB4ODMsIDB4YzB9IH0sCi17IDB4ODczZSwJMTYsCXsweDgyLCAweGUwLCAweGZkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGUwLCAweGZmLCAweGVkLCAweDZmLCAweGQwLCAweDgyLCAweGQwfSB9LAoteyAweDg3NGUsCTMsCXsweDgzLCAweGYwLCAweDIyfSB9LAoteyAweDg3NTEsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDg3NTUsCTE2LAl7MHg3OSwgMHgwZCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZn0gfSwKLXsgMHg4NzY1LAkxNiwJezB4MjIsIDB4OGMsIDB4NTcsIDB4OGQsIDB4NTgsIDB4ZWUsIDB4NzUsIDB4ZjAsIDB4MGQsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4ODc3NSwJMTYsCXsweDAzLCAweGFmLCAweDgyLCAweGZlLCAweGFkLCAweDAxLCAweDE5LCAweGVkLCAweDYwLCAweDI0LCAweDBmLCAweGVmLCAweGFjLCAweDA2LCAweDcwLCAweDAxfSB9LAoteyAweDg3ODUsCTE2LAl7MHgwZSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHhmZCwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OCwgMHhhYSwgMHg1NywgMHg3MCwgMHgwMn0gfSwKLXsgMHg4Nzk1LAkxNiwJezB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4NmQsIDB4NjAsIDB4ZDksIDB4N2YsIDB4MDEsIDB4MjIsIDB4N2YsIDB4MDB9IH0sCi17IDB4ODdhNSwJMSwJezB4MjJ9IH0sCi17IDB4ODdhNiwJNCwJezB4OGUsIDB4NTcsIDB4OGYsIDB4NTh9IH0sCi17IDB4ODdhYSwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGY1LCAweDVlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyfSB9LAoteyAweDg3YmEsCTE2LAl7MHhlNSwgMHg1ZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmNX0gfSwKLXsgMHg4N2NhLAkxNiwJezB4NWYsIDB4OGYsIDB4NjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTN9IH0sCi17IDB4ODdkYSwJMTYsCXsweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDdiLCAweDA4LCAweDdhLCAweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweGQzLCAweDEyLCAweGEzfSB9LAoteyAweDg3ZWEsCTE2LAl7MHhiMywgMHg0MCwgMHgxMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHgxMiwgMHhhMywgMHhmYSwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHg4N2ZhLAkxNiwJezB4MDgsIDB4ODAsIDB4MmUsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTAsIDB4ZmQsIDB4YTN9IH0sCi17IDB4ODgwYSwJMTYsCXsweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweDdiLCAweDAwLCAweDdhLCAweDA4LCAweDc5LCAweDA3LCAweDc4LCAweDAwLCAweGMzLCAweDEyLCAweGEzfSB9LAoteyAweDg4MWEsCTE2LAl7MHhiMywgMHg1MCwgMHgwZSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHgxMiwgMHhhMywgMHhmYSwgMHgwMCwgMHgwNywgMHgwOH0gfSwKLXsgMHg4ODJhLAkxNiwJezB4MDAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZjgsIDB4YTMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmF9IH0sCi17IDB4ODgzYSwJMTYsCXsweGEzLCAweGUwLCAweGZiLCAweDdmLCAweDAwLCAweDdlLCAweDUwLCAweDdkLCAweDQ2LCAweDdjLCAweDAwLCAweDEyLCAweGEzLCAweDIxLCAweDhmLCAweDVjfSB9LAoteyAweDg4NGEsCTE2LAl7MHg4ZSwgMHg1YiwgMHg4ZCwgMHg1YSwgMHg4YywgMHg1OSwgMHg3YiwgMHgwYSwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHgxMiwgMHhhM30gfSwKLXsgMHg4ODVhLAkxNiwJezB4MjEsIDB4YWYsIDB4MDMsIDB4OGYsIDB4NWQsIDB4YWYsIDB4NWMsIDB4YWUsIDB4NWIsIDB4YWQsIDB4NWEsIDB4YWMsIDB4NTksIDB4N2IsIDB4MGEsIDB4N2F9IH0sCi17IDB4ODg2YSwJMTYsCXsweDAwLCAweDc5LCAweDAwLCAweDc4LCAweDAwLCAweDEyLCAweGEzLCAweDIxLCAweDhmLCAweDVjLCAweDhlLCAweDViLCAweDhkLCAweDVhLCAweDhjLCAweDU5fSB9LAoteyAweDg4N2EsCTE2LAl7MHhlNSwgMHg1ZCwgMHhjMywgMHg5NCwgMHgwNSwgMHg0MCwgMHgxNSwgMHhlNSwgMHg1YywgMHgyNCwgMHgwMSwgMHhmNSwgMHg1YywgMHhlNCwgMHgzNSwgMHg1Yn0gfSwKLXsgMHg4ODhhLAkxNiwJezB4ZjUsIDB4NWIsIDB4ZTQsIDB4MzUsIDB4NWEsIDB4ZjUsIDB4NWEsIDB4ZTQsIDB4MzUsIDB4NTksIDB4ZjUsIDB4NTksIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODV9IH0sCi17IDB4ODg5YSwJMTYsCXsweDVmLCAweDgzLCAweGEzLCAweGU0LCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0fSB9LAoteyAweDg4YWEsCTE2LAl7MHg4MCwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4MiwgMHg4NSwgMHg1ZiwgMHg4MywgMHhlNSwgMHg1YywgMHhmMCwgMHhhZiwgMHg1YywgMHhhZSwgMHg1YiwgMHhhZH0gfSwKLXsgMHg4OGJhLAkxNiwJezB4NWEsIDB4YWMsIDB4NTksIDB4NzgsIDB4MDgsIDB4MTIsIDB4YTMsIDB4YzQsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4ZWZ9IH0sCi17IDB4ODhjYSwJMTYsCXsweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDU0LCAweDdmLCAweGYwLCAweGU0LCAweGY1fSB9LAoteyAweDg4ZGEsCTE2LAl7MHg1ZCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHgzMCwgMHhlMH0gfSwKLXsgMHg4OGVhLAkxNiwJezB4MjMsIDB4NTQsIDB4MDEsIDB4ZjAsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4ODhmYSwJMTYsCXsweDU0LCAweGZkLCAweGYwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjfSB9LAoteyAweDg5MGEsCTE2LAl7MHg0MiwgMHgyMiwgMHg4MCwgMHgzNiwgMHg3NCwgMHgwMSwgMHg3ZSwgMHgwMCwgMHhhOCwgMHg1ZSwgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZX0gfSwKLXsgMHg4OTFhLAkxNiwJezB4MzMsIDB4Y2UsIDB4ZDgsIDB4ZjksIDB4ZmYsIDB4ZTQsIDB4ZWYsIDB4NTUsIDB4MjIsIDB4NjAsIDB4MWYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjV9IH0sCi17IDB4ODkyYSwJMTYsCXsweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweGFmLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA3fSB9LAoteyAweDg5M2EsCTE2LAl7MHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNCwgMHg1MiwgMHgyMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwOCwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4OTRhLAkxNiwJezB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4YjQsIDB4NjIsIDB4MDUsIDB4NDMsIDB4NWQsIDB4MGEsIDB4ODAsIDB4MWEsIDB4ZWZ9IH0sCi17IDB4ODk1YSwJMTYsCXsweGI0LCAweDcyLCAweDA1LCAweDQzLCAweDVkLCAweDA4LCAweDgwLCAweDExLCAweGVmLCAweGI0LCAweDc0LCAweDA1LCAweDQzLCAweDVkLCAweDAyLCAweDgwfSB9LAoteyAweDg5NmEsCTE2LAl7MHgwOCwgMHhlZiwgMHg2NCwgMHg2ZSwgMHg2MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg4OTdhLAkxNiwJezB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTMsIDB4MDMsIDB4NDMsIDB4NWQsIDB4ODAsIDB4ZWYsIDB4MzAsIDB4ZTcsIDB4MTJ9IH0sCi17IDB4ODk4YSwJMTYsCXsweDQzLCAweDVkLCAweDQwLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwLCAweDQ0fSB9LAoteyAweDg5OWEsCTE2LAl7MHgwMiwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlMX0gfSwKLXsgMHg4OWFhLAkxNiwJezB4MjAsIDB4YWYsIDB4NWUsIDB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4NDIsIDB4MzJ9IH0sCi17IDB4ODliYSwJMTYsCXsweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwfSB9LAoteyAweDg5Y2EsCTE2LAl7MHgxMCwgMHhhZiwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNCwgMHg1Mn0gfSwKLXsgMHg4OWRhLAkxNiwJezB4MzIsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MzAsIDB4ZTR9IH0sCi17IDB4ODllYSwJMTYsCXsweDExLCAweGFlLCAweDVlLCAweDc0LCAweDAxLCAweGE4LCAweDA2LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDMxfSB9LAoteyAweDg5ZmEsCTE2LAl7MHg4MCwgMHgxMCwgMHhhZSwgMHg1ZSwgMHg3NCwgMHgwMSwgMHhhOCwgMHgwNiwgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHhmNH0gfSwKLXsgMHg4YTBhLAkxNiwJezB4NTIsIDB4MzEsIDB4ZWYsIDB4MjAsIDB4ZTEsIDB4MDMsIDB4MzAsIDB4ZTQsIDB4MDMsIDB4ZTQsIDB4ZjUsIDB4NWQsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODV9IH0sCi17IDB4OGExYSwJMTYsCXsweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweDc0LCAweGJmLCAweGYwLCAweDg1LCAweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDhhMmEsCTE2LAl7MHhlNCwgMHhmMCwgMHhlNSwgMHg1ZCwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwYSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNSwgMHg4M30gfSwKLXsgMHg4YTNhLAkxNiwJezB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTV9IH0sCi17IDB4OGE0YSwJMTYsCXsweDU4LCAweDI0LCAweDBhLCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDYwLCAweDI0LCAweDA1fSB9LAoteyAweDhhNWEsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwOSwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg4YTZhLAkxNiwJezB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NjAsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NWYsIDB4ZjV9IH0sCi17IDB4OGE3YSwJMTYsCXsweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDU4LCAweDI0LCAweDA5LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZmfSB9LAoteyAweDhhOGEsCTE2LAl7MHhlNSwgMHg2MCwgMHgyNCwgMHgwNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1ZiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHg4NSwgMHg2MCwgMHg4Mn0gfSwKLXsgMHg4YTlhLAkxNiwJezB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZTQsIDB4ZjAsIDB4ODUsIDB4NjAsIDB4ODIsIDB4ODUsIDB4NWYsIDB4ODMsIDB4YTMsIDB4YTN9IH0sCi17IDB4OGFhYSwJMTYsCXsweGYwLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZjLCAweGEzLCAweGUwLCAweGZkLCAweGEzLCAweGUwLCAweGZlfSB9LAoteyAweDhhYmEsCTE2LAl7MHhhMywgMHhlMCwgMHhmNSwgMHg2NiwgMHg4ZSwgMHg2NSwgMHg4ZCwgMHg2NCwgMHg4YywgMHg2MywgMHg3ZCwgMHgwNiwgMHhhZiwgMHg1ZSwgMHgxMiwgMHg4M30gfSwKLXsgMHg4YWNhLAkxNiwJezB4ZGYsIDB4NzUsIDB4NWQsIDB4MDgsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MGMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4OGFkYSwJMTYsCXsweDYwLCAweDAzLCAweDQzLCAweDVkLCAweDEwLCAweGU1LCAweDYwLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDVmLCAweGY1LCAweDgzfSB9LAoteyAweDhhZWEsCTE2LAl7MHhlMCwgMHg1NCwgMHgwMywgMHg0NSwgMHg1ZCwgMHhmMCwgMHhlNSwgMHg1OCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg1NywgMHhmNX0gfSwKLXsgMHg4YWZhLAkxNiwJezB4ODMsIDB4ZTAsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDUsIDB4NDAsIDB4MDYsIDB4ZWUsIDB4ZDMsIDB4OTQsIDB4MDgsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmZ9IH0sCi17IDB4OGIwYSwJMTYsCXsweDIyLCAweGU1LCAweDU4LCAweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweGZkLCAweGMzLCAweDk0fSB9LAoteyAweDhiMWEsCTE2LAl7MHgwMSwgMHg0MCwgMHgwNiwgMHhlZCwgMHhkMywgMHg5NCwgMHgwMiwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZCwgMHgxNCwgMHhmZiwgMHgyNX0gfSwKLXsgMHg4YjJhLAkxNiwJezB4ZTAsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4ZWUsIDB4MjQsIDB4ZmIsIDB4NGYsIDB4ZjUsIDB4NWQsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDcsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGIzYSwJMTYsCXsweGU0LCAweDM1LCAweDU3LCAweGY1LCAweDgzLCAweGUwLCAweDI0LCAweGQwLCAweDYwLCAweDE4LCAweDE0LCAweDYwLCAweDFhLCAweDI0LCAweGMzLCAweDYwfSB9LAoteyAweDhiNGEsCTE2LAl7MHgxZSwgMHgxNCwgMHg2MCwgMHgwOSwgMHgyNCwgMHgwYSwgMHg3MCwgMHgxNCwgMHg0MywgMHg1ZCwgMHgxOCwgMHg4MCwgMHgxMiwgMHg0MywgMHg1ZCwgMHgwOH0gfSwKLXsgMHg4YjVhLAkxNiwJezB4ODAsIDB4MGQsIDB4NDMsIDB4NWQsIDB4MzgsIDB4ODAsIDB4MDgsIDB4NDMsIDB4NWQsIDB4MjgsIDB4ODAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ODV9IH0sCi17IDB4OGI2YSwJMTYsCXsweDYwLCAweDgyLCAweDg1LCAweDVmLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGU1LCAweDVkLCAweGYwLCAweDc0LCAweDAxLCAweDdlLCAweDAwLCAweGE4fSB9LAoteyAweDhiN2EsCTE2LAl7MHg1ZSwgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNCwgMHhlZiwgMHg1NSwgMHgzNH0gfSwKLXsgMHg4YjhhLAkxNiwJezB4NjAsIDB4MDcsIDB4YWYsIDB4NWUsIDB4N2QsIDB4MDEsIDB4MTIsIDB4ODMsIDB4NWEsIDB4YWEsIDB4NTcsIDB4YTksIDB4NTgsIDB4N2IsIDB4MDEsIDB4YzB9IH0sCi17IDB4OGI5YSwJMTYsCXsweDAzLCAweGMwLCAweDAxLCAweGU1LCAweDVlLCAweDc1LCAweGYwLCAweDBkLCAweGE0LCAweDI0LCAweDAxLCAweGY5LCAweDc0LCAweDAzLCAweDM1LCAweGYwfSB9LAoteyAweDhiYWEsCTE2LAl7MHhhOCwgMHgwMSwgMHhmYywgMHhhZCwgMHgwMywgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMywgMHg3ZSwgMHgwMCwgMHg3ZiwgMHgwZCwgMHgxMiwgMHhhMiwgMHgxMn0gfSwKLXsgMHg4YmJhLAkyLAl7MHg3ZiwgMHgwMH0gfSwKLXsgMHg4YmJjLAkxLAl7MHgyMn0gfSwKLXsgMHg4YmJkLAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZWV9IH0sCi17IDB4OGJjZCwJMTYsCXsweDc1LCAweGYwLCAweDA4LCAweGE0LCAweDI0LCAweDAwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFkLCAweDgyLCAweGZjLCAweDkwLCAweDAxfSB9LAoteyAweDhiZGQsCTE2LAl7MHgyYywgMHg3NCwgMHgwOCwgMHhmMCwgMHhlZSwgMHgwNCwgMHhhMywgMHhmMCwgMHhlNCwgMHhhMywgMHhmMCwgMHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlNX0gfSwKLXsgMHg4YmVkLAkxNiwJezB4ODIsIDB4MjQsIDB4MDYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OTAsIDB4MDEsIDB4MmYsIDB4ZjAsIDB4OGR9IH0sCi17IDB4OGJmZCwJMTYsCXsweDgyLCAweDhjLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0fSB9LAoteyAweDhjMGQsCTE2LAl7MHgxZSwgMHg5MCwgMHgwMSwgMHgzMCwgMHhmMCwgMHg3NCwgMHgyZCwgMHgyZSwgMHhmOCwgMHhlNiwgMHhhMywgMHhmMCwgMHhhZiwgMHgwNiwgMHg3NCwgMHgwMX0gfSwKLXsgMHg4YzFkLAkxNiwJezB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NTcsIDB4ZTUsIDB4MzMsIDB4YzMsIDB4OTQsIDB4MDF9IH0sCi17IDB4OGMyZCwJMTYsCXsweDQwLCAweDBkLCAweDkwLCAweDIwLCAweDc4LCAweGUwLCAweDU0LCAweDBmLCAweDc1LCAweDU4LCAweDAwLCAweGY1LCAweDU5LCAweDgwLCAweDA5LCAweDdmfSB9LAoteyAweDhjM2QsCTE2LAl7MHgwMiwgMHgxMiwgMHgxMSwgMHgyNywgMHg4ZSwgMHg1OCwgMHg4ZiwgMHg1OSwgMHhjMywgMHhlNSwgMHg1OCwgMHg2NCwgMHg4MCwgMHg5NCwgMHg4MCwgMHg0MH0gfSwKLXsgMHg4YzRkLAkxNiwJezB4ZGEsIDB4ZTUsIDB4NTcsIDB4NTUsIDB4NTksIDB4OTAsIDB4MDEsIDB4MzIsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MmMsIDB4N2QsIDB4MDcsIDB4MTJ9IH0sCi17IDB4OGM1ZCwJNCwJezB4OTEsIDB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGM2MSwJMSwJezB4MjJ9IH0sCi17IDB4OGM2MiwJMTYsCXsweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhjNzIsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmZSwgMHg5MCwgMHgwMX0gfSwKLXsgMHg4YzgyLAkxNiwJezB4MzMsIDB4NzQsIDB4MGEsIDB4ZjAsIDB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTUsIDB4ODIsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzV9IH0sCi17IDB4OGM5MiwJMTYsCXsweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDM0LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDMzLCAweDdkLCAweDAyLCAweDEyLCAweDkxfSB9LAoteyAweDhjYTIsCTMsCXsweDZhLCAweDdmLCAweDAwfSB9LAoteyAweDhjYTUsCTEsCXsweDIyfSB9LAoteyAweDhjYTYsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDhjYWEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4Y2JhLAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWQsIDB4ODIsIDB4ZmMsIDB4ODUsIDB4NTh9IH0sCi17IDB4OGNjYSwJMTYsCXsweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweDYwLCAweDBmLCAweGVkLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNjLCAweGY1fSB9LAoteyAweDhjZGEsCTE2LAl7MHg4MywgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHg4MCwgMHg0MywgMHhlZSwgMHg3NSwgMHhmMCwgMHgwZCwgMHhhNCwgMHgyNCwgMHgwYywgMHhmNSwgMHg4Mn0gfSwKLXsgMHg4Y2VhLAkxNiwJezB4ZTQsIDB4MzQsIDB4MDMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4MzAsIDB4ZTAsIDB4MjAsIDB4ZWUsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YzYsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4OGNmYSwJMTYsCXsweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGUxLCAweGYwLCAweDdmLCAweDYwLCAweGVkLCAweDI0LCAweDA1LCAweGY1LCAweDgyfSB9LAoteyAweDhkMGEsCTE2LAl7MHhlNCwgMHgzYywgMHhmNSwgMHg4MywgMHhlMCwgMHg1ZiwgMHhiNSwgMHgwNywgMHhmMiwgMHhhZSwgMHgwNCwgMHhhZiwgMHgwNSwgMHhlZiwgMHgyNCwgMHgwNH0gfSwKLXsgMHg4ZDFhLAkxMiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4N2YsIDB4MDB9IH0sCi17IDB4OGQyNiwJMSwJezB4MjJ9IH0sCi17IDB4OGQyNywJNCwJezB4YWQsIDB4MDcsIDB4YWMsIDB4MDZ9IH0sCi17IDB4OGQyYiwJMTYsCXsweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweDE0LCAweGZlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweDAzLCAweDdmLCAweGZmLCAweDIyLCAweGVlfSB9LAoteyAweDhkM2IsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhhZiwgMHg4MiwgMHhmZSwgMHg4ZCwgMHg4Mn0gfSwKLXsgMHg4ZDRiLAkxNiwJezB4OGMsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4NjAsIDB4MGYsIDB4ZWYsIDB4MjQsIDB4MDQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4OGQ1YiwJMTYsCXsweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDBkLCAweGVmLCAweDI0LCAweDA0LCAweGY1LCAweDgyLCAweGU0LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDU0fSB9LAoteyAweDhkNmIsCTQsCXsweGZlLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhkNmYsCTEsCXsweDIyfSB9LAoteyAweDhkNzAsCTQsCXsweGFkLCAweDA3LCAweGFjLCAweDA2fSB9LAoteyAweDhkNzQsCTE2LAl7MHg4ZCwgMHg4MiwgMHg4YywgMHg4MywgMHhlMCwgMHgxNCwgMHhmZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MCwgMHgwMywgMHg3ZiwgMHhmZiwgMHgyMiwgMHhlZX0gfSwKLXsgMHg4ZDg0LAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4OGQsIDB4ODJ9IH0sCi17IDB4OGQ5NCwJMTYsCXsweDhjLCAweDgzLCAweGEzLCAweGUwLCAweDYwLCAweDBkLCAweDhmLCAweDgyLCAweDhlLCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0LCAweDQwfSB9LAoteyAweDhkYTQsCTE2LAl7MHhmMCwgMHg4MCwgMHgwYiwgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg4ZGI0LAkxLAl7MHgyMn0gfSwKLXsgMHg4ZGI1LAkxNiwJezB4OGYsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4MTQsIDB4ZmUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4YWZ9IH0sCi17IDB4OGRjNSwJMTYsCXsweDA2LCAweDc0LCAweDAxLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweDQyLCAweDNlLCAweDdmLCAweDAwfSB9LAoteyAweDhkZDUsCTEsCXsweDIyfSB9LAoteyAweDhkZDYsCTQsCXsweDhlLCAweDU3LCAweDhmLCAweDU4fSB9LAoteyAweDhkZGEsCTE2LAl7MHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhhMywgMHhlMCwgMHhmNSwgMHg1YywgMHg4ZiwgMHg4MiwgMHg4ZSwgMHg4MywgMHhlMCwgMHhmNSwgMHg1OSwgMHhkM30gfSwKLXsgMHg4ZGVhLAkxNiwJezB4OTQsIDB4MDQsIDB4NDAsIDB4MDMsIDB4N2YsIDB4ZmYsIDB4MjIsIDB4ZTUsIDB4NTksIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4MWZ9IH0sCi17IDB4OGRmYSwJMTYsCXsweDE0LCAweDYwLCAweDI4LCAweDI0LCAweDAzLCAweDcwLCAweDJlLCAweDdlLCAweDdlLCAweDdmLCAweDgwLCAweDc1LCAweDVhLCAweDdlLCAweDc1LCAweDVifSB9LAoteyAweDhlMGEsCTE2LAl7MHg4MCwgMHg4MCwgMHgyMiwgMHg3ZSwgMHg3ZSwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1YSwgMHg3ZSwgMHg3NSwgMHg1YiwgMHgwMCwgMHg4MCwgMHgxNiwgMHg3ZX0gfSwKLXsgMHg4ZTFhLAkxNiwJezB4N2QsIDB4N2YsIDB4ODAsIDB4NzUsIDB4NWEsIDB4N2QsIDB4NzUsIDB4NWIsIDB4ODAsIDB4ODAsIDB4MGEsIDB4N2UsIDB4N2QsIDB4N2YsIDB4MDAsIDB4NzV9IH0sCi17IDB4OGUyYSwJMTYsCXsweDVhLCAweDdkLCAweDc1LCAweDViLCAweDAwLCAweGU1LCAweDVjLCAweDcwLCAweDFiLCAweDg1LCAweDViLCAweDgyLCAweDg1LCAweDVhLCAweDgzLCAweDc0fSB9LAoteyAweDhlM2EsCTE2LAl7MHhmZiwgMHhmMCwgMHhlNSwgMHg1OSwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NH0gfSwKLXsgMHg4ZTRhLAkxNiwJezB4MDEsIDB4ZjAsIDB4ODAsIDB4NDgsIDB4ZTUsIDB4NTgsIDB4MjQsIDB4MDIsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4NTcsIDB4ZmUsIDB4ZTUsIDB4NWMsIDB4NjB9IH0sCi17IDB4OGU1YSwJMTYsCXsweDIzLCAweDBmLCAweGVmLCAweGFjLCAweDA2LCAweDcwLCAweDAxLCAweDBlLCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGUwLCAweGZkLCAweDA1fSB9LAoteyAweDhlNmEsCTE2LAl7MHg1YiwgMHhlNSwgMHg1YiwgMHhhYSwgMHg1YSwgMHg3MCwgMHgwMiwgMHgwNSwgMHg1YSwgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlZCwgMHhmMH0gfSwKLXsgMHg4ZTdhLAkxNiwJezB4MTUsIDB4NWMsIDB4ODAsIDB4ZDksIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4ZTUsIDB4NTksIDB4MjV9IH0sCi17IDB4OGU4YSwJMTQsCXsweGUwLCAweDI0LCAweGI1LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweDdmLCAweDAwfSB9LAoteyAweDhlOTgsCTEsCXsweDIyfSB9LAoteyAweDhlOTksCTE2LAl7MHhlZiwgMHgyNCwgMHgwNSwgMHhmNSwgMHg1OCwgMHhlNCwgMHgzZSwgMHhmNSwgMHg1NywgMHg5MCwgMHgwMSwgMHgzNSwgMHg3NCwgMHgwNywgMHhmMCwgMHg5MH0gfSwKLXsgMHg4ZWE5LAkxNiwJezB4MDEsIDB4N2EsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MzYsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTN9IH0sCi17IDB4OGViOSwJMTYsCXsweGEzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweDhlLCAweDU5LCAweGY1LCAweDVhLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzfSB9LAoteyAweDhlYzksCTE2LAl7MHhlMCwgMHgyNCwgMHg5ZSwgMHg2MCwgMHg2MSwgMHgyNCwgMHhmOSwgMHg2MCwgMHgwZSwgMHgyNCwgMHhmMSwgMHg3MCwgMHgwMywgMHgwMiwgMHg4ZiwgMHg3YX0gfSwKLXsgMHg4ZWQ5LAkxNiwJezB4MjQsIDB4MTQsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OGYsIDB4YzgsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmV9IH0sCi17IDB4OGVlOSwJMTYsCXsweGEzLCAweGUwLCAweGZmLCAweGMzLCAweGU0LCAweDlmLCAweGY1LCAweDVjLCAweDc0LCAweDAxLCAweDllLCAweGY1LCAweDViLCAweGQzLCAweGU1LCAweDVjfSB9LAoteyAweDhlZjksCTE2LAl7MHg5NCwgMHgzZiwgMHhlNSwgMHg1YiwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwNiwgMHg3NSwgMHg1YiwgMHgwMCwgMHg3NSwgMHg1YywgMHgzZiwgMHhkMywgMHhlNX0gfSwKLXsgMHg4ZjA5LAkxNiwJezB4NWEsIDB4OTUsIDB4NWMsIDB4ZTUsIDB4NTksIDB4OTUsIDB4NWIsIDB4NTAsIDB4MDMsIDB4MDIsIDB4OGYsIDB4Y2IsIDB4YWUsIDB4NWIsIDB4YWYsIDB4NWN9IH0sCi17IDB4OGYxOSwJMTYsCXsweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGVlLCAweGYwLCAweGZlLCAweGEzLCAweGVmLCAweGYwLCAweDhlfSB9LAoteyAweDhmMjksCTE2LAl7MHg1OSwgMHhmNSwgMHg1YSwgMHgwMiwgMHg4ZiwgMHhjYiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhM30gfSwKLXsgMHg4ZjM5LAkxNiwJezB4ZTAsIDB4ZmYsIDB4YzMsIDB4NzQsIDB4MzAsIDB4OWYsIDB4ZjUsIDB4NWMsIDB4ZTQsIDB4OWUsIDB4ZjUsIDB4NWIsIDB4ZDMsIDB4ZTUsIDB4NWMsIDB4OTR9IH0sCi17IDB4OGY0OSwJMTYsCXsweDEwLCAweGU1LCAweDViLCAweDk0LCAweDAwLCAweDQwLCAweDA2LCAweDc1LCAweDViLCAweDAwLCAweDc1LCAweDVjLCAweDEwLCAweGQzLCAweGU1LCAweDVhfSB9LAoteyAweDhmNTksCTE2LAl7MHg5NSwgMHg1YywgMHhlNSwgMHg1OSwgMHg5NSwgMHg1YiwgMHg0MCwgMHg2YSwgMHhhZSwgMHg1YiwgMHhhZiwgMHg1YywgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg4ZjY5LAkxNiwJezB4NTcsIDB4ODMsIDB4YTMsIDB4YTMsIDB4YTMsIDB4ZWUsIDB4ZjAsIDB4ZmUsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4OGUsIDB4NTksIDB4ZjUsIDB4NWEsIDB4ODB9IH0sCi17IDB4OGY3OSwJMTYsCXsweDUxLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGMzLCAweGU0LCAweDlmfSB9LAoteyAweDhmODksCTE2LAl7MHhmNSwgMHg1YywgMHhlNCwgMHg5ZSwgMHhmNSwgMHg1YiwgMHg0NSwgMHg1YywgMHg2MCwgMHgwYiwgMHhkMywgMHhlNSwgMHg1YywgMHg5NCwgMHgzZiwgMHhlNX0gfSwKLXsgMHg4Zjk5LAkxNiwJezB4NWIsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDYsIDB4NzUsIDB4NWIsIDB4MDAsIDB4NzUsIDB4NWMsIDB4M2YsIDB4ZDMsIDB4ZTUsIDB4NWEsIDB4OTUsIDB4NWN9IH0sCi17IDB4OGZhOSwJMTYsCXsweGU1LCAweDU5LCAweDk1LCAweDViLCAweDQwLCAweDFjLCAweGFlLCAweDViLCAweGFmLCAweDVjLCAweDg1LCAweDU4LCAweDgyLCAweDg1LCAweDU3LCAweDgzfSB9LAoteyAweDhmYjksCTE2LAl7MHhhMywgMHhhMywgMHhhMywgMHhlZSwgMHhmMCwgMHhmZSwgMHhhMywgMHhlZiwgMHhmMCwgMHg4ZSwgMHg1OSwgMHhmNSwgMHg1YSwgMHg4MCwgMHgwMywgMHg3Zn0gfSwKLXsgMHg4ZmM5LAkxNiwJezB4MDEsIDB4MjIsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTAsIDB4MjQsIDB4OWUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4OTAsIDB4OGJ9IH0sCi17IDB4OGZkOSwJMTYsCXsweDI0LCAweGY5LCAweDYwLCAweDU4LCAweDI0LCAweGYxLCAweDcwLCAweDAzLCAweDAyLCAweDkwLCAweGRiLCAweDI0LCAweDE0LCAweDYwLCAweDAzLCAweDAyfSB9LAoteyAweDhmZTksCTE2LAl7MHg5MSwgMHgxZiwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZSwgMHhhMywgMHhlMCwgMHhmZiwgMHhkMywgMHg5NH0gfSwKLXsgMHg4ZmY5LAkxNiwJezB4ZmYsIDB4ZWUsIDB4OTQsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4OTEsIDB4MWYsIDB4OTAsIDB4MDEsIDB4NzUsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWF9IH0sCi17IDB4OTAwOSwJMTYsCXsweDE1LCAweDVhLCAweGFlLCAweDU5LCAweDcwLCAweDAyLCAweDE1LCAweDU5LCAweDRlLCAweDcwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwLCAweDAxfSB9LAoteyAweDkwMTksCTE2LAl7MHg3NSwgMHhlMCwgMHhmZiwgMHgwNCwgMHhmMCwgMHhhOCwgMHgwNywgMHhlNiwgMHhmZiwgMHg5MCwgMHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMX0gfSwKLXsgMHg5MDI5LAkxNiwJezB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4ZDIsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODV9IH0sCi17IDB4OTAzOSwJMTYsCXsweDU3LCAweDgzLCAweGEzLCAweGUwLCAweGZlLCAweGEzLCAweGUwLCAweGZmLCAweGMzLCAweDk0LCAweDgwLCAweGVlLCAweDk0LCAweDAwLCAweDUwLCAweDAzfSB9LAoteyAweDkwNDksCTE2LAl7MHgwMiwgMHg5MSwgMHgxZiwgMHhkMywgMHhlZiwgMHg5NCwgMHhmZiwgMHhlZSwgMHg5NCwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5MSwgMHgxZiwgMHg5MH0gfSwKLXsgMHg5MDU5LAkxNiwJezB4MDEsIDB4NzYsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTksIDB4NGUsIDB4NzB9IH0sCi17IDB4OTA2OSwJMTYsCXsweDAzLCAweDAyLCAweDkxLCAweDFmLCAweDkwLCAweDAxLCAweDc2LCAweGUwLCAweGZmLCAweDA0LCAweGYwLCAweGE4LCAweDA3LCAweGU2LCAweGZmLCAweDkwfSB9LAoteyAweDkwNzksCTE2LAl7MHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4MiwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg5MDg5LAkxNiwJezB4ODAsIDB4ZDIsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4YzMsIDB4OTR9IH0sCi17IDB4OTA5OSwJMTYsCXsweDIwLCAweGVlLCAweDk0LCAweDAwLCAweDUwLCAweDAzLCAweDAyLCAweDkxLCAweDFmLCAweGQzLCAweGVmLCAweDk0LCAweDJmLCAweGVlLCAweDk0LCAweDAwfSB9LAoteyAweDkwYTksCTE2LAl7MHg1MCwgMHg3NCwgMHg5MCwgMHgwMSwgMHg3NywgMHhlZiwgMHhmMCwgMHhlNSwgMHg1YSwgMHgxNSwgMHg1YSwgMHhhZSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNX0gfSwKLXsgMHg5MGI5LAkxNiwJezB4NTksIDB4NGUsIDB4NjAsIDB4NjIsIDB4OTAsIDB4MDEsIDB4NzcsIDB4ZTAsIDB4ZmYsIDB4MDQsIDB4ZjAsIDB4YTgsIDB4MDcsIDB4ZTYsIDB4ZmYsIDB4OTB9IH0sCi17IDB4OTBjOSwJMTYsCXsweDAxLCAweDdhLCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1LCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDkwZDksCTE2LAl7MHg4MCwgMHhkNSwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhhMywgMHhlMCwgMHhmZiwgMHhhMywgMHhlMCwgMHg5MCwgMHgwMSwgMHg3OH0gfSwKLXsgMHg5MGU5LAkxNiwJezB4Y2YsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4NWEsIDB4MTUsIDB4NWEsIDB4YWUsIDB4NTksIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTksIDB4NGV9IH0sCi17IDB4OTBmOSwJMTYsCXsweDYwLCAweDI0LCAweDkwLCAweDAxLCAweDc4LCAweGU0LCAweDc1LCAweGYwLCAweDAxLCAweDEyLCAweGEyLCAweDk3LCAweDg1LCAweGYwLCAweDgyLCAweGY1fSB9LAoteyAweDkxMDksCTE2LAl7MHg4MywgMHhlMCwgMHhmZiwgMHg5MCwgMHgwMSwgMHg3YSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg5NywgMHg4NSwgMHhmMCwgMHg4Mn0gfSwKLXsgMHg5MTE5LAkxNiwJezB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODAsIDB4Y2YsIDB4N2UsIDB4MDEsIDB4N2YsIDB4MzUsIDB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODN9IH0sCi17IDB4OTEyOSwJMTMsCXsweGEzLCAweGEzLCAweGEzLCAweGUwLCAweGEzLCAweGUwLCAweDA0LCAweGZkLCAweDEyLCAweDkxLCAweDZhLCAweDdmLCAweDAwfSB9LAoteyAweDkxMzYsCTEsCXsweDIyfSB9LAoteyAweDkxMzcsCTE2LAl7MHg4ZSwgMHg2MiwgMHg4ZiwgMHg2MywgMHg4YywgMHg2NCwgMHg4ZCwgMHg2NSwgMHhhZiwgMHgwMywgMHgxYiwgMHhlZiwgMHg2MCwgMHgyNCwgMHgwNSwgMHg2M30gfSwKLXsgMHg5MTQ3LAkxNiwJezB4ZTUsIDB4NjMsIDB4YWUsIDB4NjIsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NjIsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4MDV9IH0sCi17IDB4OTE1NywJMTYsCXsweDY1LCAweGU1LCAweDY1LCAweGFjLCAweDY0LCAweDcwLCAweDAyLCAweDA1LCAweDY0LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwfSB9LAoteyAweDkxNjcsCTMsCXsweDgwLCAweGQ2LCAweDIyfSB9LAoteyAweDkxNmEsCTYsCXsweDhkLCAweDVkLCAweGFiLCAweDA3LCAweGFhLCAweDA2fSB9LAoteyAweDkxNzAsCTE2LAl7MHg3NSwgMHg2MSwgMHg0MCwgMHg3NSwgMHg2MCwgMHgwZCwgMHg3NSwgMHg1ZiwgMHgwMywgMHg3NSwgMHg1ZSwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhjMiwgMHhlMH0gfSwKLXsgMHg5MTgwLAkxNiwJezB4MjAsIDB4ZTEsIDB4ZjksIDB4YWYsIDB4NjEsIDB4YWUsIDB4NjAsIDB4YWQsIDB4NWYsIDB4YWMsIDB4NWUsIDB4ZWMsIDB4NGQsIDB4NGUsIDB4NGYsIDB4NzB9IH0sCi17IDB4OTE5MCwJMTYsCXsweDA4LCAweDkwLCAweDdmLCAweGMyLCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweGQ3LCAweDkwLCAweDdmLCAweGMyLCAweGUwLCAweDIwLCAweGUxLCAweDE2fSB9LAoteyAweDkxYTAsCTE2LAl7MHhhZiwgMHgwMywgMHhhZSwgMHgwMiwgMHg3YywgMHg3YiwgMHg3ZCwgMHg4MCwgMHhhYiwgMHg1ZCwgMHgxMiwgMHg5MSwgMHgzNywgMHg5MCwgMHg3ZiwgMHhjM30gfSwKLXsgMHg5MWIwLAk4LAl7MHhlNSwgMHg1ZCwgMHhmMCwgMHg3ZiwgMHgwMSwgMHgyMiwgMHg3ZiwgMHgwMH0gfSwKLXsgMHg5MWI4LAkxLAl7MHgyMn0gfSwKLXsgMHg5MWI5LAkxNiwJezB4OTAsIDB4MDEsIDB4ODQsIDB4NzQsIDB4MGIsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4MzMsIDB4ZjAsIDB4OTAsIDB4MGEsIDB4ZjUsIDB4ZTQsIDB4OTMsIDB4OTB9IH0sCi17IDB4OTFjOSwJMTYsCXsweDAxLCAweDg2LCAweGYwLCAweDkwLCAweDBhLCAweGY2LCAweGU0LCAweDkzLCAweDkwLCAweDAxLCAweDg3LCAweGYwLCAweGU0LCAweDkwLCAweDAxLCAweDdjfSB9LAoteyAweDkxZDksCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHg3NCwgMHgxMCwgMHhmMCwgMHhhMywgMHg3NCwgMHgwMX0gfSwKLXsgMHg5MWU5LAkxNiwJezB4ZjAsIDB4YTMsIDB4NzQsIDB4ODgsIDB4ZjAsIDB4N2UsIDB4MDEsIDB4N2YsIDB4N2MsIDB4MTIsIDB4MTksIDB4YzEsIDB4N2UsIDB4MDEsIDB4N2YsIDB4ODR9IH0sCi17IDB4OTFmOSwJNywJezB4N2QsIDB4MTQsIDB4MTIsIDB4OTEsIDB4NmEsIDB4N2YsIDB4MDB9IH0sCi17IDB4OTIwMCwJMSwJezB4MjJ9IH0sCi17IDB4OTIwMSwJMTYsCXsweDdlLCAweDdiLCAweDdmLCAweDQwLCAweDc1LCAweDRlLCAweDdiLCAweDc1LCAweDRmLCAweDQwLCAweDkwLCAweDdmLCAweGQzLCAweGUwLCAweGZmLCAweDg1fSB9LAoteyAweDkyMTEsCTE2LAl7MHg0ZSwgMHg1MSwgMHg4NSwgMHg0ZiwgMHg1MiwgMHhlNSwgMHg1MiwgMHgyNCwgMHgwMSwgMHhmNSwgMHg1NiwgMHhlNCwgMHgzNSwgMHg1MSwgMHhmNSwgMHg1NX0gfSwKLXsgMHg5MjIxLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NTAsIDB4ODUsIDB4NTIsIDB4ODIsIDB4ODUsIDB4NTEsIDB4ODMsIDB4ZTAsIDB4ZmUsIDB4MTQsIDB4YjQsIDB4MGMsIDB4MDAsIDB4NTB9IH0sCi17IDB4OTIzMSwJMTYsCXsweDViLCAweDkwLCAweDkyLCAweDM5LCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDkyLCAweDVkLCAweDAyLCAweDkyLCAweDVkLCAweDAyLCAweDkyfSB9LAoteyAweDkyNDEsCTE2LAl7MHg2NywgMHgwMiwgMHg5MiwgMHg3MSwgMHgwMiwgMHg5MiwgMHg3MSwgMHgwMiwgMHg5MiwgMHg3MSwgMHgwMiwgMHg5MiwgMHg4NSwgMHgwMiwgMHg5MiwgMHg1ZH0gfSwKLXsgMHg5MjUxLAkxNiwJezB4MDIsIDB4OTIsIDB4N2IsIDB4MDIsIDB4OTIsIDB4NWQsIDB4MDIsIDB4OTIsIDB4OGQsIDB4MDIsIDB4OTIsIDB4NWQsIDB4ZWYsIDB4NjQsIDB4MDIsIDB4NjB9IH0sCi17IDB4OTI2MSwJMTYsCXsweDJiLCAweDc1LCAweDUwLCAweGZmLCAweDgwLCAweDI2LCAweGVmLCAweDY0LCAweDBlLCAweDYwLCAweDIxLCAweDc1LCAweDUwLCAweGZmLCAweDgwLCAweDFjfSB9LAoteyAweDkyNzEsCTE2LAl7MHhlZiwgMHg2NCwgMHgwMywgMHg2MCwgMHgxNywgMHg3NSwgMHg1MCwgMHhmZiwgMHg4MCwgMHgxMiwgMHhlZiwgMHg2NCwgMHgwMywgMHg2MCwgMHgwZCwgMHg3NX0gfSwKLXsgMHg5MjgxLAkxNiwJezB4NTAsIDB4ZmYsIDB4ODAsIDB4MDgsIDB4ZWYsIDB4NjQsIDB4MDYsIDB4NjAsIDB4MDMsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MTV9IH0sCi17IDB4OTI5MSwJMTYsCXsweDkwLCAweDAxLCAweDk4LCAweDc0LCAweDExLCAweGYwLCAweGEzLCAweGVlLCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDk4LCAweDdkLCAweDAyLCAweDEyfSB9LAoteyAweDkyYTEsCTE2LAl7MHg5MSwgMHg2YSwgMHhhZiwgMHg1MCwgMHgyMiwgMHhlNCwgMHhmNSwgMHg1MCwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MSwgMHg4MywgMHhlMCwgMHgxNH0gfSwKLXsgMHg5MmIxLAkxNiwJezB4YjQsIDB4MGYsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4OTMsIDB4Y2YsIDB4OTAsIDB4OTIsIDB4YzAsIDB4ZjgsIDB4MjgsIDB4MjgsIDB4NzMsIDB4MDJ9IH0sCi17IDB4OTJjMSwJMTYsCXsweDkyLCAweGVkLCAweDAyLCAweDkyLCAweGY5LCAweDAyLCAweDkzLCAweDA1LCAweDAyLCAweDkzLCAweDUzLCAweDAyLCAweDkzLCAweDVlLCAweDAyLCAweDkzfSB9LAoteyAweDkyZDEsCTE2LAl7MHg2OSwgMHgwMiwgMHg5MywgMHg3NCwgMHgwMiwgMHg5MywgMHg3ZiwgMHgwMiwgMHg5MywgMHg4YSwgMHgwMiwgMHg5MywgMHg5NSwgMHgwMiwgMHg5MywgMHhhMH0gfSwKLXsgMHg5MmUxLAkxNiwJezB4MDIsIDB4OTMsIDB4YTcsIDB4MDIsIDB4OTMsIDB4Y2YsIDB4MDIsIDB4OTMsIDB4YjIsIDB4MDIsIDB4OTMsIDB4YmQsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTV9IH0sCi17IDB4OTJmMSwJMTYsCXsweDEyLCAweDg0LCAweDQxLCAweDhmLCAweDUwLCAweDAyLCAweDkzLCAweGQyLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDg1LCAweDYxLCAweDhmfSB9LAoteyAweDkzMDEsCTE2LAl7MHg1MCwgMHgwMiwgMHg5MywgMHhkMiwgMHg4NSwgMHg1NSwgMHg1MywgMHg4NSwgMHg1NiwgMHg1NCwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwMSwgMHhmZiwgMHhlNH0gfSwKLXsgMHg5MzExLAkxNiwJezB4MzUsIDB4NTMsIDB4ZmUsIDB4MTIsIDB4ODYsIDB4YmUsIDB4YWYsIDB4NTQsIDB4YWUsIDB4NTMsIDB4MTIsIDB4ODcsIDB4NTEsIDB4OGYsIDB4NTAsIDB4ZWZ9IH0sCi17IDB4OTMyMSwJMTYsCXsweDY0LCAweDAxLCAweDYwLCAweDAzLCAweDAyLCAweDkzLCAweGQyLCAweGFmLCAweDU0LCAweGFlLCAweDUzLCAweDEyLCAweDg3LCAweGE2LCAweDhmLCAweDUwfSB9LAoteyAweDkzMzEsCTE2LAl7MHhlNSwgMHg1MCwgMHg3MCwgMHgwMywgMHgwMiwgMHg5MywgMHhkMiwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1MywgMHg4MywgMHhlMCwgMHg3NSwgMHhmMH0gfSwKLXsgMHg5MzQxLAkxNiwJezB4MGQsIDB4YTQsIDB4MjQsIDB4ZjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDIsIDB4YWYsIDB4ODIsIDB4ZmUsIDB4MTIsIDB4ODcsIDB4YTYsIDB4MDJ9IH0sCi17IDB4OTM1MSwJMTYsCXsweDkzLCAweGQyLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhjLCAweGE2LCAweDhmLCAweDUwLCAweDgwLCAweDc0LCAweGFmLCAweDU2LCAweGFlfSB9LAoteyAweDkzNjEsCTE2LAl7MHg1NSwgMHgxMiwgMHg4ZCwgMHgyNywgMHg4ZiwgMHg1MCwgMHg4MCwgMHg2OSwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4ZCwgMHg3MCwgMHg4Zn0gfSwKLXsgMHg5MzcxLAkxNiwJezB4NTAsIDB4ODAsIDB4NWUsIDB4YWYsIDB4NGYsIDB4YWUsIDB4NGUsIDB4MTIsIDB4OGUsIDB4OTksIDB4OGYsIDB4NTAsIDB4ODAsIDB4NTMsIDB4YWYsIDB4NTZ9IH0sCi17IDB4OTM4MSwJMTYsCXsweGFlLCAweDU1LCAweDEyLCAweDhiLCAweGJkLCAweDhmLCAweDUwLCAweDgwLCAweDQ4LCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDg2LCAweDJkfSB9LAoteyAweDkzOTEsCTE2LAl7MHg4ZiwgMHg1MCwgMHg4MCwgMHgzZCwgMHhhZiwgMHg1NiwgMHhhZSwgMHg1NSwgMHgxMiwgMHg4YywgMHg2MiwgMHg4ZiwgMHg1MCwgMHg4MCwgMHgzMiwgMHgxMn0gfSwKLXsgMHg5M2ExLAkxNiwJezB4OTEsIDB4YjksIDB4OGYsIDB4NTAsIDB4ODAsIDB4MmIsIDB4YWYsIDB4NTYsIDB4YWUsIDB4NTUsIDB4MTIsIDB4OGQsIDB4YjUsIDB4OGYsIDB4NTAsIDB4ODB9IH0sCi17IDB4OTNiMSwJMTYsCXsweDIwLCAweGFmLCAweDU2LCAweGFlLCAweDU1LCAweDEyLCAweDhkLCAweGQ2LCAweDhmLCAweDUwLCAweDgwLCAweDE1LCAweGFmLCAweDRmLCAweGFlLCAweDRlfSB9LAoteyAweDkzYzEsCTE2LAl7MHg3YywgMHgwMiwgMHg3ZCwgMHhhZiwgMHg3YiwgMHg0MCwgMHgxMiwgMHg5MSwgMHgzNywgMHhlNCwgMHhmNSwgMHg1MCwgMHg4MCwgMHgwMywgMHg3NSwgMHg1MH0gfSwKLXsgMHg5M2QxLAkxNiwJezB4ZmYsIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MWQsIDB4OTAsIDB4MDEsIDB4OTgsIDB4NzQsIDB4MTEsIDB4ZjAsIDB4ODUsIDB4NTIsIDB4ODIsIDB4ODUsIDB4NTF9IH0sCi17IDB4OTNlMSwJMTYsCXsweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDk5LCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDk4LCAweDdkLCAweDAyLCAweDEyLCAweDkxLCAweDZhLCAweGFmfSB9LAoteyAweDkzZjEsCTE2LAl7MHg1MCwgMHgyMiwgMHg4NSwgMHg1MiwgMHg4MiwgMHg4NSwgMHg1MSwgMHg4MywgMHhlMCwgMHhmZiwgMHgxNCwgMHgyNCwgMHhmYSwgMHg1MCwgMHgwNCwgMHgyNH0gfSwKLXsgMHg5NDAxLAkxNiwJezB4ZmUsIDB4NzAsIDB4MWYsIDB4OTAsIDB4MDEsIDB4OTgsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODV9IH0sCi17IDB4OTQxMSwJMTYsCXsweDU1LCAweDgzLCAweGUwLCAweDkwLCAweDAxLCAweDlhLCAweGYwLCAweDdlLCAweDAxLCAweDdmLCAweDk4LCAweDdkLCAweDAzLCAweDEyLCAweDkxLCAweDZhfSB9LAoteyAweDk0MjEsCTQsCXsweDhmLCAweDUwLCAweGFmLCAweDUwfSB9LAoteyAweDk0MjUsCTEsCXsweDIyfSB9LAoteyAweDk0MjYsCTgsCXsweDhmLCAweDUxLCAweDhlLCAweDUwLCAweDhkLCAweDRmLCAweDhjLCAweDRlfSB9LAoteyAweDk0MmUsCTE2LAl7MHg3NSwgMHg1OCwgMHgwMSwgMHg3NSwgMHg1OSwgMHg5YywgMHhlNCwgMHhmNSwgMHg1NywgMHhhZiwgMHg1MywgMHgxNSwgMHg1MywgMHhlZiwgMHg3MCwgMHgwM30gfSwKLXsgMHg5NDNlLAkxNiwJezB4MDIsIDB4OTQsIDB4YzQsIDB4YWYsIDB4NTIsIDB4ZTQsIDB4ZmMsIDB4ZmQsIDB4ZmUsIDB4ZjgsIDB4ZjksIDB4ZmEsIDB4YWIsIDB4MDcsIDB4YWYsIDB4NTF9IH0sCi17IDB4OTQ0ZSwJMTYsCXsweGFlLCAweDUwLCAweGFkLCAweDRmLCAweGFjLCAweDRlLCAweDEyLCAweGEzLCAweDIxLCAweGFmLCAweDAzLCAweDhmLCAweDU2LCAweGFmLCAweDUxLCAweGFlfSB9LAoteyAweDk0NWUsCTE2LAl7MHg1MCwgMHhhZCwgMHg0ZiwgMHhhYywgMHg0ZSwgMHhjMCwgMHgwNCwgMHhjMCwgMHgwNSwgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHhhZiwgMHg1MiwgMHhlNH0gfSwKLXsgMHg5NDZlLAkxNiwJezB4ZmMsIDB4ZmQsIDB4ZmUsIDB4ZjgsIDB4ZjksIDB4ZmEsIDB4YWIsIDB4MDcsIDB4ZDAsIDB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDUsIDB4ZDAsIDB4MDR9IH0sCi17IDB4OTQ3ZSwJMTYsCXsweDEyLCAweGEzLCAweDIxLCAweDhmLCAweDUxLCAweDhlLCAweDUwLCAweDhkLCAweDRmLCAweDhjLCAweDRlLCAweGU1LCAweDU2LCAweDI0LCAweDMwLCAweGY1fSB9LAoteyAweDk0OGUsCTE2LAl7MHg1NiwgMHhkMywgMHg5NCwgMHgzOSwgMHg0MCwgMHgwNiwgMHg3NCwgMHgwNywgMHgyNSwgMHg1NiwgMHhmNSwgMHg1NiwgMHgwNSwgMHg1OSwgMHhlNSwgMHg1OX0gfSwKLXsgMHg5NDllLAkxNiwJezB4YWUsIDB4NTgsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTgsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4NTksIDB4ZTV9IH0sCi17IDB4OTRhZSwJMTYsCXsweDU5LCAweGFlLCAweDU4LCAweDcwLCAweDAyLCAweDA1LCAweDU4LCAweDE0LCAweGY1LCAweDgyLCAweDhlLCAweDgzLCAweGU1LCAweDU2LCAweGYwLCAweDA1fSB9LAoteyAweDk0YmUsCTE2LAl7MHg1NywgMHgwNSwgMHg1NywgMHgwMiwgMHg5NCwgMHgzNywgMHhlNSwgMHg1OSwgMHgxNSwgMHg1OSwgMHg3MCwgMHgwMiwgMHgxNSwgMHg1OCwgMHhhZiwgMHg1N30gfSwKLXsgMHg5NGNlLAkxNiwJezB4MTUsIDB4NTcsIDB4ZWYsIDB4NjAsIDB4MjMsIDB4ZTUsIDB4NTksIDB4MTUsIDB4NTksIDB4YWUsIDB4NTgsIDB4NzAsIDB4MDIsIDB4MTUsIDB4NTgsIDB4ZjV9IH0sCi17IDB4OTRkZSwJMTYsCXsweDgyLCAweDhlLCAweDgzLCAweGUwLCAweGZmLCAweDA1LCAweDU1LCAweGU1LCAweDU1LCAweGFjLCAweDU0LCAweDcwLCAweDAyLCAweDA1LCAweDU0LCAweDE0fSB9LAoteyAweDk0ZWUsCTgsCXsweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDgwLCAweGQ2fSB9LAoteyAweDk0ZjYsCTEsCXsweDIyfSB9LAoteyAweDk0ZjcsCTE2LAl7MHhlNCwgMHg5MCwgMHgwMSwgMHhjOSwgMHhmMCwgMHg3ZSwgMHgwMSwgMHg3ZiwgMHhjYSwgMHg5MCwgMHgwMSwgMHhiZSwgMHhlZSwgMHhmMCwgMHhhMywgMHhlZn0gfSwKLXsgMHg5NTA3LAkxMCwJezB4ZjAsIDB4OTAsIDB4MDEsIDB4YzIsIDB4ZWUsIDB4ZjAsIDB4YTMsIDB4ZWYsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4OTUxMSwJMTYsCXsweGFhLCAweDA3LCAweGE5LCAweDA1LCAweDkwLCAweDAxLCAweGM5LCAweGUwLCAweGMzLCAweDk0LCAweDQwLCAweDUwLCAweDYxLCAweGFjLCAweDAyLCAweDc0fSB9LAoteyAweDk1MjEsCTE2LAl7MHgwMSwgMHg3ZSwgMHgwMCwgMHhhOCwgMHgwNCwgMHgwOCwgMHg4MCwgMHgwNSwgMHhjMywgMHgzMywgMHhjZSwgMHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZn0gfSwKLXsgMHg5NTMxLAkxNiwJezB4ZTQsIDB4ZWYsIDB4NTUsIDB4MzQsIDB4NjAsIDB4NDUsIDB4ZWEsIDB4MDQsIDB4ZmYsIDB4OTAsIDB4MDEsIDB4YzIsIDB4ZTAsIDB4ZmMsIDB4YTMsIDB4ZTB9IH0sCi17IDB4OTU0MSwJMTYsCXsweGZkLCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweGEzLCAweGU5LCAweGYwLCAweDhkLCAweDgyLCAweDhjLCAweDgzLCAweGEzLCAweGEzfSB9LAoteyAweDk1NTEsCTE2LAl7MHhlYiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMiwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHhhMiwgMHg4MSwgMHhmYywgMHhkMywgMHhlNSwgMHhmMH0gfSwKLXsgMHg5NTYxLAkxNiwJezB4OTQsIDB4ODcsIDB4ZWMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4MGEsIDB4OTAsIDB4MDEsIDB4YzIsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4Y2F9IH0sCi17IDB4OTU3MSwJMTYsCXsweGYwLCAweGMyLCAweGFmLCAweDkwLCAweDAxLCAweGM5LCAweGUwLCAweDA0LCAweGYwLCAweGQyLCAweGFmLCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDk1ODEsCTEsCXsweDIyfSB9LAoteyAweDk1ODIsCTE2LAl7MHg5MCwgMHgwMSwgMHhjOSwgMHhlMCwgMHhkMywgMHg5NCwgMHgwMCwgMHg0MCwgMHg1NSwgMHg5MCwgMHgwMSwgMHhiZSwgMHhlMCwgMHhmYywgMHhhMywgMHhlMH0gfSwKLXsgMHg5NTkyLAkxNiwJezB4YWEsIDB4MDQsIDB4ZjksIDB4N2IsIDB4MDEsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDEsIDB4YWEsIDB4MDYsIDB4YTksIDB4MDcsIDB4YTh9IH0sCi17IDB4OTVhMiwJMTYsCXsweDAxLCAweGFjLCAweDAyLCAweGFkLCAweDAzLCAweGQwLCAweDAxLCAweGQwLCAweDAyLCAweGQwLCAweDAzLCAweDdlLCAweDAwLCAweDdmLCAweDAzLCAweDEyfSB9LAoteyAweDk1YjIsCTE2LAl7MHhhMiwgMHgxMiwgMHg5MCwgMHgwMSwgMHhiZSwgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMywgMHgxMiwgMHhhMiwgMHg4MSwgMHhmYywgMHhkMywgMHhlNSwgMHhmMH0gfSwKLXsgMHg5NWMyLAkxNiwJezB4OTQsIDB4ODcsIDB4ZWMsIDB4OTQsIDB4MDIsIDB4NDAsIDB4MGEsIDB4OTAsIDB4MDEsIDB4YmUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4Y2F9IH0sCi17IDB4OTVkMiwJMTYsCXsweGYwLCAweGMyLCAweGFmLCAweDkwLCAweDAxLCAweGM5LCAweGUwLCAweDE0LCAweGYwLCAweGQyLCAweGFmLCAweDdmLCAweDAxLCAweDIyLCAweDdmLCAweDAwfSB9LAoteyAweDk1ZTIsCTEsCXsweDIyfSB9LAoteyAweDk1ZTMsCTE2LAl7MHg5MCwgMHg3ZiwgMHhjMiwgMHhlMCwgMHgyMCwgMHhlMSwgMHg3MywgMHg3ZSwgMHg3YiwgMHg3ZiwgMHg4MCwgMHg3NSwgMHg1MywgMHg3YiwgMHg3NSwgMHg1NH0gfSwKLXsgMHg5NWYzLAkxNiwJezB4ODAsIDB4ZTUsIDB4NTQsIDB4MjQsIDB4MDEsIDB4ZmYsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4YTksIDB4MDcsIDB4N2IsIDB4MDEsIDB4OGIsIDB4NTUsIDB4ZjV9IH0sCi17IDB4OTYwMywJMTYsCXsweDU2LCAweDg5LCAweDU3LCAweGZlLCAweDEyLCAweDk1LCAweDgyLCAweGVmLCAweDYwLCAweDUwLCAweGFiLCAweDU1LCAweGFhLCAweDU2LCAweGE5LCAweDU3fSB9LAoteyAweDk2MTMsCTE2LAl7MHgxMiwgMHhhMiwgMHgzYiwgMHgxNCwgMHhmZiwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHhhMiwgMHg1NCwgMHhiNCwgMHgwMiwgMHgxNiwgMHhjMiwgMHhhZn0gfSwKLXsgMHg5NjIzLAkxNiwJezB4ZWYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NDR9IH0sCi17IDB4OTYzMywJMTYsCXsweDA0LCAweGYwLCAweGQyLCAweGFmLCAweDc0LCAweDAxLCAweDdlLCAweDAwLCAweGE4LCAweDA3LCAweDA4LCAweDgwLCAweDA1LCAweGMzLCAweDMzLCAweGNlfSB9LAoteyAweDk2NDMsCTE2LAl7MHgzMywgMHhjZSwgMHhkOCwgMHhmOSwgMHhmZiwgMHhlNCwgMHhlZiwgMHg1NSwgMHgzNCwgMHg2MCwgMHgwZiwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1M30gfSwKLXsgMHg5NjUzLAkxMCwJezB4ODMsIDB4NzQsIDB4MGQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzMsIDB4NzQsIDB4MDQsIDB4ZjB9IH0sCi17IDB4OTY1ZCwJMSwJezB4MjJ9IH0sCi17IDB4OTY1ZSwJMTYsCXsweDEyLCAweDk1LCAweGUzLCAweGU0LCAweGY1LCAweDRlLCAweDc0LCAweDNhLCAweDI1LCAweDRlLCAweGY4LCAweGU2LCAweDU0LCAweGYwLCAweGY1LCAweDRmfSB9LAoteyAweDk2NmUsCTE2LAl7MHg3NCwgMHhjNSwgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2NSwgMHg0ZiwgMHhmZiwgMHhjNH0gfSwKLXsgMHg5NjdlLAkxNiwJezB4NTQsIDB4MGYsIDB4ZjUsIDB4NTAsIDB4NjAsIDB4MjIsIDB4NzQsIDB4YzUsIDB4MjUsIDB4NGUsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MDEsIDB4ZjV9IH0sCi17IDB4OTY4ZSwJMTYsCXsweDgzLCAweGU1LCAweDRmLCAweGYwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweGU1LCAweDRmLCAweDQ1LCAweDUwLCAweGZiLCAweDEyLCAweDk1LCAweDExfSB9LAoteyAweDk2OWUsCTE2LAl7MHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MCwgMHhlYywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNCwgMHg0MH0gfSwKLXsgMHg5NmFlLAkxNiwJezB4YjUsIDB4MTIsIDB4OTUsIDB4ZTMsIDB4ZTUsIDB4M2UsIDB4NjAsIDB4NDgsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGUsIDB4NzQsIDB4MDEsIDB4YTh9IH0sCi17IDB4OTZiZSwJMTYsCXsweDA3LCAweDA4LCAweDgwLCAweDAyLCAweGMzLCAweDMzLCAweGQ4LCAweGZjLCAweGY1LCAweDRmLCAweDU1LCAweDNlLCAweDYwLCAweDI5LCAweGU1LCAweDRlfSB9LAoteyAweDk2Y2UsCTE2LAl7MHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwNSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgyMCwgMHhmNSwgMHg4MywgMHhlMCwgMHgzMCwgMHhlNn0gfSwKLXsgMHg5NmRlLAkxNiwJezB4MTYsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDQsIDB4N2IsIDB4ODAsIDB4MTIsIDB4OTUsIDB4MTEsIDB4ZWYsIDB4NzAsIDB4MDUsIDB4MTIsIDB4OTUsIDB4ZTN9IH0sCi17IDB4OTZlZSwJMTYsCXsweDgwLCAweGVmLCAweGU1LCAweDRmLCAweGY0LCAweDUyLCAweDNlLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGMzLCAweDk0LCAweDA0LCAweDQwLCAweGJifSB9LAoteyAweDk2ZmUsCTE2LAl7MHg5MCwgMHgwMywgMHgwMCwgMHhlMCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5NywgMHhkZiwgMHg3NCwgMHgxOSwgMHhmMCwgMHhlNSwgMHgzMywgMHhjMywgMHg5NH0gfSwKLXsgMHg5NzBlLAkxNiwJezB4MDEsIDB4NDAsIDB4MGQsIDB4OTAsIDB4MjAsIDB4NzgsIDB4ZTAsIDB4NTQsIDB4MGYsIDB4NzUsIDB4NTEsIDB4MDAsIDB4ZjUsIDB4NTIsIDB4ODAsIDB4MDl9IH0sCi17IDB4OTcxZSwJMTYsCXsweDdmLCAweDAyLCAweDEyLCAweDExLCAweDI3LCAweDhlLCAweDUxLCAweDhmLCAweDUyLCAweGMzLCAweGU1LCAweDUxLCAweDY0LCAweDgwLCAweDk0LCAweDgwfSB9LAoteyAweDk3MmUsCTE2LAl7MHg0MCwgMHhkYSwgMHg5MCwgMHgwMSwgMHhiYywgMHhlMCwgMHg2NSwgMHg1MiwgMHhmMCwgMHg2MCwgMHgzNywgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZX0gfSwKLXsgMHg5NzNlLAkxNiwJezB4NzQsIDB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NGYsIDB4OTAsIDB4MDEsIDB4YmN9IH0sCi17IDB4OTc0ZSwJMTYsCXsweGUwLCAweDU1LCAweDRmLCAweDYwLCAweDE0LCAweGFmLCAweDRlLCAweDdkLCAweDA4LCAweGU1LCAweDRmLCAweDU1LCAweDUyLCAweGZiLCAweDEyLCAweDk1fSB9LAoteyAweDk3NWUsCTE2LAl7MHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MCwgMHhlYywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHhjMywgMHg5NCwgMHgwNH0gfSwKLXsgMHg5NzZlLAkxNiwJezB4NDAsIDB4Y2MsIDB4OTAsIDB4MDEsIDB4YmMsIDB4ZTUsIDB4NTIsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YzIsIDB4YWYsIDB4NzQsIDB4MzYsIDB4MjV9IH0sCi17IDB4OTc3ZSwJMTYsCXsweDRlLCAweGY4LCAweGU2LCAweGY1LCAweDRmLCAweGU0LCAweGY2LCAweGQyLCAweGFmLCAweDUzLCAweDRmLCAweDFlLCAweGU1LCAweDRmLCAweDYwLCAweDExfSB9LAoteyAweDk3OGUsCTE2LAl7MHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMiwgMHhhYiwgMHg0ZiwgMHgxMiwgMHg5NSwgMHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MH0gfSwKLXsgMHg5NzllLAkxNiwJezB4ZWYsIDB4NzQsIDB4MmQsIDB4MjUsIDB4NGUsIDB4ZjgsIDB4ZTYsIDB4ZjUsIDB4NGYsIDB4NzQsIDB4ZmMsIDB4MjUsIDB4NGUsIDB4ZjUsIDB4ODIsIDB4ZTR9IH0sCi17IDB4OTdhZSwJMTYsCXsweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweDY1LCAweDRmLCAweDYwLCAweDExLCAweGFmLCAweDRlLCAweDdkLCAweDA0LCAweGFiLCAweDRmLCAweDEyfSB9LAoteyAweDk3YmUsCTE2LAl7MHg5NSwgMHgxMSwgMHhlZiwgMHg3MCwgMHgwNSwgMHgxMiwgMHg5NSwgMHhlMywgMHg4MCwgMHhlZiwgMHg3NCwgMHhmYywgMHgyNSwgMHg0ZSwgMHhmNSwgMHg4Mn0gfSwKLXsgMHg5N2NlLAkxNiwJezB4ZTQsIDB4MzQsIDB4MDIsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4YzMsIDB4OTQsIDB4MDQsIDB4NDB9IH0sCi17IDB4OTdkZSwJNCwJezB4OWEsIDB4MTIsIDB4OTUsIDB4ZTN9IH0sCi17IDB4OTdlMiwJMSwJezB4MjJ9IH0sCi17IDB4OTdlMywJMTIsCXsweDc4LCAweDdmLCAweGU0LCAweGY2LCAweGQ4LCAweGZkLCAweDc1LCAweDgxLCAweDY3LCAweDAyLCAweDk4LCAweDJhfSB9LAoteyAweDk3ZWYsCTE2LAl7MHgwMiwgMHgwNSwgMHhhZCwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHg0MCwgMHgwMywgMHhmNiwgMHg4MCwgMHgwMSwgMHhmMn0gfSwKLXsgMHg5N2ZmLAkxNiwJezB4MDgsIDB4ZGYsIDB4ZjQsIDB4ODAsIDB4MjksIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjgsIDB4NTQsIDB4MDcsIDB4MjQsIDB4MGMsIDB4YzgsIDB4YzMsIDB4MzN9IH0sCi17IDB4OTgwZiwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDQ0LCAweDIwLCAweGM4LCAweDgzLCAweDQwLCAweDA0LCAweGY0LCAweDU2LCAweDgwLCAweDAxLCAweDQ2LCAweGY2LCAweGRmfSB9LAoteyAweDk4MWYsCTE2LAl7MHhlNCwgMHg4MCwgMHgwYiwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHg5MCwgMHg5OCwgMHg2ZiwgMHhlNCwgMHg3ZX0gfSwKLXsgMHg5ODJmLAkxNiwJezB4MDEsIDB4OTMsIDB4NjAsIDB4YmMsIDB4YTMsIDB4ZmYsIDB4NTQsIDB4M2YsIDB4MzAsIDB4ZTUsIDB4MDksIDB4NTQsIDB4MWYsIDB4ZmUsIDB4ZTQsIDB4OTN9IH0sCi17IDB4OTgzZiwJMTYsCXsweGEzLCAweDYwLCAweDAxLCAweDBlLCAweGNmLCAweDU0LCAweGMwLCAweDI1LCAweGUwLCAweDYwLCAweGE4LCAweDQwLCAweGI4LCAweGU0LCAweDkzLCAweGEzfSB9LAoteyAweDk4NGYsCTE2LAl7MHhmYSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHhlNCwgMHg5MywgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYX0gfSwKLXsgMHg5ODVmLAkxNiwJezB4ZjAsIDB4YTMsIDB4YzgsIDB4YzUsIDB4ODIsIDB4YzgsIDB4Y2EsIDB4YzUsIDB4ODMsIDB4Y2EsIDB4ZGYsIDB4ZTksIDB4ZGUsIDB4ZTcsIDB4ODAsIDB4YmV9IH0sCi17IDB4OTg2ZiwJMTYsCXsweDYwLCAweDI0LCAweDAyLCAweDhhLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDgxLCAweDgyLCAweDg0LCAweDg4fSB9LAoteyAweDk4N2YsCTE2LAl7MHg5MCwgMHhhMCwgMHhjMCwgMHhjMSwgMHhjMiwgMHhjNCwgMHhjOCwgMHhkMCwgMHhlMCwgMHhlMSwgMHhlMiwgMHhlNCwgMHhlOCwgMHhmMCwgMHhmMSwgMHhmMn0gfSwKLXsgMHg5ODhmLAk4LAl7MHhmNCwgMHhmOCwgMHhmOSwgMHhmYSwgMHhmYywgMHhmZCwgMHhmZSwgMHhmZn0gfSwKLXsgMHg5ODk3LAkxLAl7MHgwMH0gfSwKLXsgMHg5ODk4LAk4LAl7MHg4YiwgMHg1OSwgMHg4YSwgMHg1YSwgMHg4OSwgMHg1YiwgMHg4ZCwgMHg1Y30gfSwKLXsgMHg5OGEwLAkxNiwJezB4ZTQsIDB4ZjUsIDB4NWQsIDB4ZjUsIDB4NWUsIDB4YWYsIDB4NWMsIDB4MTUsIDB4NWMsIDB4ZWYsIDB4NjAsIDB4MzYsIDB4YWIsIDB4NTksIDB4MDUsIDB4NWJ9IH0sCi17IDB4OThiMCwJMTYsCXsweGU1LCAweDViLCAweGFhLCAweDVhLCAweDcwLCAweDAyLCAweDA1LCAweDVhLCAweDE0LCAweGY5LCAweDEyLCAweGEyLCAweDNiLCAweGZmLCAweGU1LCAweDVkfSB9LAoteyAweDk4YzAsCTE2LAl7MHhlNSwgMHg1ZSwgMHg2ZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhlNCwgMHgzMywgMHhmZSwgMHg3NCwgMHg5NSwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlZSwgMHgzNH0gfSwKLXsgMHg5OGQwLAkxNiwJezB4OWUsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NWQsIDB4ZmYsIDB4ZTQsIDB4OTMsIDB4ZjUsIDB4NWQsIDB4NzQsIDB4MDEsIDB4OTMsIDB4NmYsIDB4ZjUsIDB4NWV9IH0sCi17IDB4OThlMCwJNiwJezB4ODAsIDB4YzMsIDB4YWUsIDB4NWQsIDB4YWYsIDB4NWV9IH0sCi17IDB4OThlNiwJMSwJezB4MjJ9IH0sCi17IDB4OThlNywJMTEsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweGQwLCAweDc1LCAweGQwLCAweDE4fSB9LAoteyAweDk4ZjIsCTE2LAl7MHg5MCwgMHgyMCwgMHg2MCwgMHhlMCwgMHg1NCwgMHgwZiwgMHhmZSwgMHgzMCwgMHhlMCwgMHgwNSwgMHg5MCwgMHgyMCwgMHgwMiwgMHhlMCwgMHhmZiwgMHhlZX0gfSwKLXsgMHg5OTAyLAkxNiwJezB4MzAsIDB4ZTEsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MGEsIDB4ZTAsIDB4ZmYsIDB4ZWUsIDB4MzAsIDB4ZTIsIDB4MDUsIDB4OTAsIDB4MjAsIDB4MTIsIDB4ZTB9IH0sCi17IDB4OTkxMiwJMTYsCXsweGZmLCAweGVlLCAweDMwLCAweGUzLCAweDA1LCAweDkwLCAweDIwLCAweDFhLCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweGM0LCAweGUwLCAweGI1LCAweDFlfSB9LAoteyAweDk5MjIsCTEwLAl7MHgwNCwgMHhlNCwgMHhmMCwgMHg4MCwgMHgwNSwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlZSwgMHhmMH0gfSwKLXsgMHg5OTJjLAk5LAl7MHhkMCwgMHhkMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHg5OTM1LAkyLAl7MHhhOSwgMHgwM30gfSwKLXsgMHg5OTM3LAkxNiwJezB4ZWYsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWIsIDB4ODIsIDB4ZmEsIDB4ZTV9IH0sCi17IDB4OTk0NywJMTYsCXsweDVjLCAweDQ1LCAweDVkLCAweGY1LCAweDVlLCAweGU5LCAweDYwLCAweDE0LCAweDhhLCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0LCAweGY1LCAweDgyfSB9LAoteyAweDk5NTcsCTE2LAl7MHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg0ZCwgMHhmMCwgMHhlNCwgMHhmZSwgMHg4MCwgMHgxMywgMHhlYiwgMHgyNCwgMHgwNCwgMHhmNX0gfSwKLXsgMHg5OTY3LAkxNiwJezB4ODIsIDB4ZTQsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmYsIDB4ZWQsIDB4ZjQsIDB4ZmMsIDB4ZWYsIDB4NWMsIDB4ZjAsIDB4YWUsIDB4NWUsIDB4ZWJ9IH0sCi17IDB4OTk3NywJMTYsCXsweDI0LCAweDA2LCAweGY1LCAweDgyLCAweGU0LCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDU1LCAweDVlLCAweGZjLCAweGI1LCAweDA2LCAweDAzLCAweGFmfSB9LAoteyAweDk5ODcsCTE2LAl7MHgwNSwgMHgyMiwgMHhlNSwgMHg1YywgMHg1YywgMHhmZSwgMHhlNSwgMHg1ZCwgMHg1YywgMHhmZCwgMHhlOSwgMHg2MCwgMHgxNiwgMHhlZSwgMHg3MCwgMHgwNH0gfSwKLXsgMHg5OTk3LAkxNiwJezB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2YsIDB4MDAsIDB4YWUsIDB4MDcsIDB4ZWQsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2Z9IH0sCi17IDB4OTlhNywJMTYsCXsweDAwLCAweGFkLCAweDA3LCAweGVlLCAweDYwLCAweDAzLCAweGFmLCAweDVjLCAweDIyLCAweGVkLCAweDYwLCAweDAzLCAweGFmLCAweDVkLCAweDIyLCAweDdmfSB9LAoteyAweDk5YjcsCTEsCXsweDAwfSB9LAoteyAweDk5YjgsCTEsCXsweDIyfSB9LAoteyAweDk5YjksCTE2LAl7MHg3NSwgMHg1NSwgMHgwMiwgMHg3NSwgMHg1NiwgMHhiMCwgMHg5MCwgMHgwMywgMHgzNSwgMHg3NCwgMHgwZiwgMHhmMCwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5OWM5LAkxNiwJezB4NTUsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4ZmYsIDB4OTAsIDB4MDMsIDB4MzcsIDB4ZjAsIDB4ODUsIDB4NTYsIDB4ODIsIDB4ODUsIDB4NTUsIDB4ODMsIDB4ZTB9IH0sCi17IDB4OTlkOSwJMTYsCXsweDkwLCAweDAzLCAweDM2LCAweGYwLCAweDkwLCAweDAzLCAweDM4LCAweDc0LCAweGZmLCAweGYwLCAweDc1LCAweDU3LCAweDAzLCAweDc1LCAweDU4LCAweDM5fSB9LAoteyAweDk5ZTksCTE2LAl7MHhlZiwgMHgxNCwgMHhiNCwgMHgwYiwgMHgwMCwgMHg0MCwgMHgwMywgMHgwMiwgMHg5ZSwgMHg1ZCwgMHg5MCwgMHg5OSwgMHhmYSwgMHhmOCwgMHgyOCwgMHgyOH0gfSwKLXsgMHg5OWY5LAkxNiwJezB4NzMsIDB4MDIsIDB4OWEsIDB4MWIsIDB4MDIsIDB4OWEsIDB4YmEsIDB4MDIsIDB4OWIsIDB4YmYsIDB4MDIsIDB4OWIsIDB4ZGUsIDB4MDIsIDB4OWIsIDB4ZGV9IH0sCi17IDB4OWEwOSwJMTYsCXsweDAyLCAweDljLCAweDk0LCAweDAyLCAweDljLCAweGNmLCAweDAyLCAweDljLCAweGY0LCAweDAyLCAweDlkLCAweGIyLCAweDAyLCAweDlkLCAweGUyLCAweDAyfSB9LAoteyAweDlhMTksCTE2LAl7MHg5ZSwgMHgwZSwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHg3NSwgMHhmMCwgMHgwOCwgMHhhNCwgMHgyNCwgMHgwMCwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHg5YTI5LAkxNiwJezB4MzQsIDB4MjAsIDB4YWYsIDB4ODIsIDB4ZjUsIDB4NTMsIDB4OGYsIDB4NTQsIDB4ZTQsIDB4ZmYsIDB4ZTQsIDB4ZmUsIDB4ZWYsIDB4NjAsIDB4MTAsIDB4NzR9IH0sCi17IDB4OWEzOSwJMTYsCXsweDhhLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweGY0LCAweGY1LCAweDRmLCAweDgwLCAweDBkLCAweDc0fSB9LAoteyAweDlhNDksCTE2LAl7MHg4YSwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlMCwgMHhmNSwgMHg0ZiwgMHhlNSwgMHg1NCwgMHgyNCwgMHgwN30gfSwKLXsgMHg5YTU5LAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4NTMsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4ZTAsIDB4ZjUsIDB4NTAsIDB4NjUsIDB4NGYsIDB4NjB9IH0sCi17IDB4OWE2OSwJMTYsCXsweDM4LCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweGU1LCAweDRlLCAweDA0LCAweGZkLCAweDA1LCAweDU4LCAweGU1LCAweDU4LCAweGFhLCAweDU3fSB9LAoteyAweDlhNzksCTE2LAl7MHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YSwgMHg4MywgMHhlZCwgMHhmMCwgMHgwNSwgMHg1OCwgMHhlNSwgMHg1OCwgMHhhY30gfSwKLXsgMHg5YTg5LAkxNiwJezB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4ODUsIDB4NTgsIDB4ODJ9IH0sCi17IDB4OWE5OSwJMTYsCXsweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDUwLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDBlLCAweGJlLCAweDI0LCAweDhmLCAweDBmLCAweGVmLCAweDY0fSB9LAoteyAweDlhYTksCTE2LAl7MHgwMiwgMHg3MCwgMHg4NywgMHgwNSwgMHg0ZSwgMHhlNSwgMHg0ZSwgMHg2NCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5YSwgMHgxZSwgMHgwMiwgMHg5ZX0gfSwKLXsgMHg5YWI5LAkxNiwJezB4NjMsIDB4ZTQsIDB4ZjUsIDB4NGUsIDB4YWYsIDB4NGUsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODMsIDB4NWEsIDB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDN9IH0sCi17IDB4OWFjOSwJMTYsCXsweDk0LCAweDAzLCAweDQwLCAweGYwLCAweDkwLCAweDAwLCAweDA0LCAweDc0LCAweDk4LCAweGYwLCAweGEzLCAweDc0LCAweGU3LCAweGYwLCAweGU0LCAweGY1fSB9LAoteyAweDlhZDksCTE2LAl7MHg1MCwgMHg3ZSwgMHgyMCwgMHg3ZiwgMHgwMCwgMHg3NSwgMHg1MywgMHgyMCwgMHg3NSwgMHg1NCwgMHgwMCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHg3NH0gfSwKLXsgMHg5YWU5LAkxNiwJezB4MDEsIDB4YTgsIDB4MDcsIDB4MDgsIDB4ODAsIDB4MDIsIDB4YzMsIDB4MzMsIDB4ZDgsIDB4ZmMsIDB4ZjUsIDB4NGYsIDB4OTAsIDB4MDEsIDB4YzQsIDB4ZjB9IH0sCi17IDB4OWFmOSwJMTYsCXsweDkwLCAweDAxLCAweGMwLCAweGU0LCAweGYwLCAweGEzLCAweDc0LCAweDBhLCAweGYwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweGEzfSB9LAoteyAweDliMDksCTE2LAl7MHg3NCwgMHgwMiwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjNCwgMHhlMCwgMHhiNSwgMHg0ZiwgMHgzNCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHg3MCwgMHgwMn0gfSwKLXsgMHg5YjE5LAkxNiwJezB4YTMsIDB4ZTAsIDB4NzAsIDB4ZWYsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmYsIDB4MDUsIDB4NTgsIDB4ZTUsIDB4NTh9IH0sCi17IDB4OWIyOSwJMTYsCXsweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVmLCAweGYwLCAweDg1LCAweDU4LCAweDgyfSB9LAoteyAweDliMzksCTE2LAl7MHg4NSwgMHg1NywgMHg4MywgMHg3NCwgMHhmZiwgMHhmMCwgMHhlNCwgMHg5MCwgMHgwMSwgMHhjNCwgMHhmMCwgMHg3NSwgMHg1MCwgMHhmZiwgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YjQ5LAkxNiwJezB4YzQsIDB4ZTAsIDB4ZmYsIDB4NjAsIDB4MzcsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ZTUsIDB4NGUsIDB4MDQsIDB4ZmUsIDB4MDUsIDB4NTh9IH0sCi17IDB4OWI1OSwJMTYsCXsweGU1LCAweDU4LCAweGFjLCAweDU3LCAweDcwLCAweDAyLCAweDA1LCAweDU3LCAweDE0LCAweGY1LCAweDgyLCAweDhjLCAweDgzLCAweGVlLCAweGYwLCAweDA1fSB9LAoteyAweDliNjksCTE2LAl7MHg1OCwgMHhlNSwgMHg1OCwgMHhhYywgMHg1NywgMHg3MCwgMHgwMiwgMHgwNSwgMHg1NywgMHgxNCwgMHhmNSwgMHg4MiwgMHg4YywgMHg4MywgMHhlZiwgMHhmMH0gfSwKLXsgMHg5Yjc5LAkxNiwJezB4ODUsIDB4NTgsIDB4ODIsIDB4ODUsIDB4NTcsIDB4ODMsIDB4ZTUsIDB4NGYsIDB4ZjAsIDB4NzUsIDB4NTAsIDB4ZmYsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTZ9IH0sCi17IDB4OWI4OSwJMTYsCXsweDc0LCAweDA4LCAweDI1LCAweDU0LCAweGY1LCAweDU0LCAweGU0LCAweDM1LCAweDUzLCAweGY1LCAweDUzLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweDY0fSB9LAoteyAweDliOTksCTE2LAl7MHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHg5YSwgMHhlNiwgMHhlNCwgMHhmNSwgMHg0ZSwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YX0gfSwKLXsgMHg5YmE5LAkxNiwJezB4MDUsIDB4NGUsIDB4ZTUsIDB4NGUsIDB4ZDMsIDB4OTQsIDB4MDMsIDB4NDAsIDB4ZjAsIDB4OTAsIDB4MDAsIDB4MDQsIDB4NzQsIDB4MTMsIDB4ZjAsIDB4YTN9IH0sCi17IDB4OWJiOSwJMTYsCXsweDc0LCAweDEyLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDg1LCAweDU2LCAweDgyLCAweDg1LCAweDU1LCAweDgzLCAweGUwLCAweDE0LCAweGZmLCAweDc0fSB9LAoteyAweDliYzksCTE2LAl7MHgwMSwgMHhhOCwgMHgwNywgMHgwOCwgMHg4MCwgMHgwMiwgMHhjMywgMHgzMywgMHhkOCwgMHhmYywgMHg5MCwgMHgwMiwgMHhmNywgMHhmMCwgMHg5MCwgMHgwMX0gfSwKLXsgMHg5YmQ5LAkxNiwJezB4YzQsIDB4ZjAsIDB4MDIsIDB4OWUsIDB4NjMsIDB4OTAsIDB4MDEsIDB4YzAsIDB4NzQsIDB4MDMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4ZTgsIDB4ZjAsIDB4ZTR9IH0sCi17IDB4OWJlOSwJMTYsCXsweGY1LCAweDUwLCAweDkwLCAweDAyLCAweGY3LCAweGUwLCAweGZmLCAweDkwLCAweDAxLCAweGM0LCAweGUwLCAweGI1LCAweDA3LCAweDE5LCAweDkwLCAweDAxfSB9LAoteyAweDliZjksCTE2LAl7MHhjMCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg3MCwgMHhlYSwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHg4NSwgMHg1OCwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5YzA5LAkxNiwJezB4NTcsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZjUsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NjAsIDB4MDMsIDB4MDIsIDB4OWUsIDB4NjMsIDB4OTAsIDB4MDF9IH0sCi17IDB4OWMxOSwJMTYsCXsweGMwLCAweGYwLCAweGEzLCAweDc0LCAweDk2LCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGUwLCAweDcwLCAweDAyLCAweGEzLCAweGUwLCAweDcwLCAweGY2fSB9LAoteyAweDljMjksCTE2LAl7MHhlNSwgMHgzMywgMHhjMywgMHg5NCwgMHgwMSwgMHg0MCwgMHgwZCwgMHg5MCwgMHgyMCwgMHg3OCwgMHhlMCwgMHg1NCwgMHgwZiwgMHg3NSwgMHg1MSwgMHgwMH0gfSwKLXsgMHg5YzM5LAkxNiwJezB4ZjUsIDB4NTIsIDB4ODAsIDB4MDksIDB4N2YsIDB4MDIsIDB4MTIsIDB4MTEsIDB4MjcsIDB4OGUsIDB4NTEsIDB4OGYsIDB4NTIsIDB4YzMsIDB4ZTUsIDB4NTF9IH0sCi17IDB4OWM0OSwJMTYsCXsweDY0LCAweDgwLCAweDk0LCAweDgwLCAweDQwLCAweGRhLCAweGU1LCAweDUyLCAweDU0LCAweDBmLCAweGY1LCAweDUwLCAweDkwLCAweDAyLCAweGY3LCAweGUwfSB9LAoteyAweDljNTksCTE2LAl7MHg1NSwgMHg1MCwgMHg3MCwgMHgwNCwgMHg3ZiwgMHgwMSwgMHg4MCwgMHgwMiwgMHg3ZiwgMHgwMCwgMHg4ZiwgMHg0ZiwgMHg4NSwgMHg1NiwgMHg4MiwgMHg4NX0gfSwKLXsgMHg5YzY5LAkxNiwJezB4NTUsIDB4ODMsIDB4YTMsIDB4ZTAsIDB4YjQsIDB4MDUsIDB4MGMsIDB4ZTUsIDB4NGYsIDB4NzAsIDB4MDQsIDB4N2YsIDB4MDEsIDB4ODAsIDB4MDIsIDB4N2Z9IH0sCi17IDB4OWM3OSwJMTYsCXsweDAwLCAweDhmLCAweDRmLCAweGU1LCAweDRmLCAweDcwLCAweDAzLCAweDAyLCAweDllLCAweDYzLCAweGU0LCAweDkwLCAweDAzLCAweDM4LCAweGYwLCAweDg1fSB9LAoteyAweDljODksCTE2LAl7MHg1OCwgMHg4MiwgMHg4NSwgMHg1NywgMHg4MywgMHhlNSwgMHg1MCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHhmZiwgMHhmZCwgMHgxMiwgMHg4M30gfSwKLXsgMHg5Yzk5LAkxNiwJezB4NWEsIDB4N2UsIDB4MjAsIDB4N2YsIDB4MDAsIDB4NzUsIDB4NTMsIDB4MjAsIDB4NzUsIDB4NTQsIDB4MDAsIDB4ODUsIDB4NTQsIDB4ODIsIDB4ODUsIDB4NTN9IH0sCi17IDB4OWNhOSwJMTYsCXsweDgzLCAweGEzLCAweGEzLCAweGEzLCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDg1LCAweDU0LCAweDgyLCAweDg1LCAweDUzLCAweDgzLCAweDc0LCAweDAxfSB9LAoteyAweDljYjksCTE2LAl7MHhmMCwgMHhhMywgMHhlNCwgMHhmMCwgMHg4NSwgMHg1NCwgMHg4MiwgMHg4NSwgMHg1MywgMHg4MywgMHhhMywgMHhhMywgMHhhMywgMHhlMCwgMHg1NCwgMHg3Zn0gfSwKLXsgMHg5Y2M5LAkxNiwJezB4ZjAsIDB4ZDIsIDB4MDQsIDB4MDIsIDB4OWUsIDB4NjMsIDB4YzIsIDB4MDQsIDB4N2UsIDB4MjAsIDB4N2YsIDB4MDAsIDB4NzUsIDB4NTMsIDB4MjAsIDB4NzV9IH0sCi17IDB4OWNkOSwJMTYsCXsweDU0LCAweDAwLCAweGU1LCAweDU0LCAweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDUzLCAweGY1LCAweDgzLCAweGUwLCAweDMwLCAweGU2fSB9LAoteyAweDljZTksCTE2LAl7MHhmMSwgMHhlNCwgMHhmZiwgMHg3ZCwgMHgwMSwgMHgxMiwgMHg4MywgMHg1YSwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHhmNSwgMHg1MCwgMHhmNSwgMHg0ZX0gfSwKLXsgMHg5Y2Y5LAkxNiwJezB4YWYsIDB4NGUsIDB4ZTQsIDB4ZmQsIDB4MTIsIDB4ODMsIDB4NWEsIDB4ZTUsIDB4NGUsIDB4NzUsIDB4ZjAsIDB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjV9IH0sCi17IDB4OWQwOSwJMTYsCXsweDgyLCAweGU0LCAweDM0LCAweDIwLCAweGFmLCAweDgyLCAweGY1LCAweDUzLCAweDhmLCAweDU0LCAweGY1LCAweDgzLCAweGU1LCAweDgyLCAweDI0LCAweDA0fSB9LAoteyAweDlkMTksCTE2LAl7MHhmNSwgMHg4MiwgMHhlNCwgMHgzNSwgMHg4MywgMHhmNSwgMHg4MywgMHhlMCwgMHg1NCwgMHhmYywgMHhmMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHg3Yn0gfSwKLXsgMHg5ZDI5LAkxNiwJezB4MDEsIDB4NzUsIDB4NWMsIDB4ODAsIDB4NzUsIDB4NWQsIDB4NDAsIDB4MTIsIDB4OTksIDB4MzUsIDB4OGYsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTF9IH0sCi17IDB4OWQzOSwJMTYsCXsweGFmLCAweDRlLCAweDdkLCAweDAyLCAweDdiLCAweDAxLCAweDc1LCAweDVjLCAweDEwLCAweDc1LCAweDVkLCAweDIwLCAweDEyLCAweDk5LCAweDM1LCAweDhmfSB9LAoteyAweDlkNDksCTE2LAl7MHg1MCwgMHhlNSwgMHg1MCwgMHg3MCwgMHgxMCwgMHhhZiwgMHg0ZSwgMHg3ZCwgMHgwMSwgMHhmYiwgMHg3NSwgMHg1YywgMHg4MCwgMHg3NSwgMHg1ZCwgMHg0MH0gfSwKLXsgMHg5ZDU5LAkxNiwJezB4MTIsIDB4OTksIDB4MzUsIDB4OGYsIDB4NTAsIDB4ZTUsIDB4NTAsIDB4NzAsIDB4MTAsIDB4YWYsIDB4NGUsIDB4N2QsIDB4MDIsIDB4ZmIsIDB4NzUsIDB4NWN9IH0sCi17IDB4OWQ2OSwJMTYsCXsweDEwLCAweDc1LCAweDVkLCAweDIwLCAweDEyLCAweDk5LCAweDM1LCAweDhmLCAweDUwLCAweGFmLCAweDRlLCAweDdkLCAweDAxLCAweDEyLCAweDgzLCAweDVhfSB9LAoteyAweDlkNzksCTE2LAl7MHhlNSwgMHg1MCwgMHg2MCwgMHgyNiwgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHhlNSwgMHg0ZSwgMHgwNCwgMHhmZiwgMHgwNSwgMHg1OCwgMHhlNX0gfSwKLXsgMHg5ZDg5LAkxNiwJezB4NTgsIDB4YWMsIDB4NTcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4NTcsIDB4MTQsIDB4ZjUsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ODUsIDB4NTh9IH0sCi17IDB4OWQ5OSwJMTYsCXsweDgyLCAweDg1LCAweDU3LCAweDgzLCAweGU1LCAweDUwLCAweGYwLCAweDAyLCAweDllLCAweDYzLCAweDA1LCAweDRlLCAweGU1LCAweDRlLCAweGQzLCAweDk0fSB9LAoteyAweDlkYTksCTE2LAl7MHgwMywgMHg1MCwgMHgwMywgMHgwMiwgMHg5YywgMHhmOSwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHg1OSwgMHhmMCwgMHhhMywgMHhmMH0gfSwKLXsgMHg5ZGI5LAkxNiwJezB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4OWUsIDB4ZjAsIDB4YTMsIDB4NzR9IH0sCi17IDB4OWRjOSwJMTYsCXsweDg1LCAweGYwLCAweDdlLCAweDAzLCAweDdmLCAweDU5LCAweDEyLCAweDgxLCAweGQ5LCAweGVmLCAweDY0LCAweDA4LCAweDcwLCAweDAzLCAweDAyLCAweDllfSB9LAoteyAweDlkZDksCTE2LAl7MHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHgzOCwgMHhmMCwgMHgwMiwgMHg5ZSwgMHg2MywgMHhlNCwgMHg5MCwgMHgwMywgMHg1OSwgMHhmMCwgMHhhMywgMHhmMH0gfSwKLXsgMHg5ZGU5LAkxNiwJezB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4ZjAsIDB4YTMsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4YTMsIDB4ZTUsIDB4NTcsIDB4ZjAsIDB4YTMsIDB4ZTV9IH0sCi17IDB4OWRmOSwJMTYsCXsweDU4LCAweGYwLCAweDdlLCAweDAzLCAweDdmLCAweDU5LCAweDEyLCAweDE5LCAweGMxLCAweGVmLCAweDY0LCAweDA4LCAweDYwLCAweDVjLCAweGU0LCAweDkwfSB9LAoteyAweDllMDksCTE2LAl7MHgwMywgMHgzOCwgMHhmMCwgMHg4MCwgMHg1NSwgMHhlNSwgMHg1NiwgMHgyNCwgMHgwMiwgMHhmZiwgMHhlNCwgMHgzNSwgMHg1NSwgMHhmYSwgMHhhOSwgMHgwN30gfSwKLXsgMHg5ZTE5LAkxNiwJezB4N2IsIDB4MDEsIDB4N2QsIDB4MTAsIDB4MTIsIDB4OTgsIDB4OTgsIDB4ZWYsIDB4NGUsIDB4NzAsIDB4MzIsIDB4OTAsIDB4MDMsIDB4NTksIDB4ZjAsIDB4YTN9IH0sCi17IDB4OWUyOSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweGYwLCAweGEzLCAweDc0LCAweDEwLCAweGYwLCAweGU1LCAweDU2LCAweDI0LCAweDAyLCAweDkwfSB9LAoteyAweDllMzksCTE2LAl7MHgwMywgMHg2MCwgMHhmMCwgMHhlNCwgMHgzNSwgMHg1NSwgMHg5MCwgMHgwMywgMHg1ZiwgMHhmMCwgMHg3ZSwgMHgwMywgMHg3ZiwgMHg1OSwgMHgxMiwgMHg4MX0gfSwKLXsgMHg5ZTQ5LAkxNiwJezB4ZDksIDB4ZWYsIDB4NjQsIDB4MDgsIDB4NjAsIDB4MTQsIDB4ZTQsIDB4OTAsIDB4MDMsIDB4MzgsIDB4ZjAsIDB4ODAsIDB4MGQsIDB4ZTQsIDB4OTAsIDB4MDN9IH0sCi17IDB4OWU1OSwJMTYsCXsweDM4LCAweGYwLCAweDgwLCAweDA2LCAweDkwLCAweDAzLCAweDM4LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDAxLCAweGMwLCAweGU0LCAweGYwLCAweGEzfSB9LAoteyAweDllNjksCTE2LAl7MHg3NCwgMHgwYSwgMHhmMCwgMHg5MCwgMHgwMSwgMHhjMCwgMHhlMCwgMHg3MCwgMHgwMiwgMHhhMywgMHhlMCwgMHg3MCwgMHhmNiwgMHg3ZSwgMHgwMywgMHg3Zn0gfSwKLXsgMHg5ZTc5LAkxMSwJezB4MzUsIDB4N2QsIDB4MjQsIDB4MTIsIDB4OTEsIDB4NmEsIDB4ZTQsIDB4OTAsIDB4MDIsIDB4YWYsIDB4ZjB9IH0sCi17IDB4OWU4NCwJMSwJezB4MjJ9IH0sCi17IDB4OWU4NSwJMTYsCXsweGZmLCAweGZlLCAweGZjLCAweGY4LCAweGYwLCAweGUwLCAweGMwLCAweDgwLCAweDAwLCAweDAxLCAweDAzLCAweDA3LCAweDBmLCAweDFmLCAweDNmLCAweDdmfSB9LAoteyAweDllOTUsCTE2LAl7MHgwMCwgMHgwMCwgMHhjMCwgMHhjMSwgMHhjMSwgMHg4MSwgMHgwMSwgMHg0MCwgMHhjMywgMHgwMSwgMHgwMywgMHhjMCwgMHgwMiwgMHg4MCwgMHhjMiwgMHg0MX0gfSwKLXsgMHg5ZWE1LAkxNiwJezB4YzYsIDB4MDEsIDB4MDYsIDB4YzAsIDB4MDcsIDB4ODAsIDB4YzcsIDB4NDEsIDB4MDUsIDB4MDAsIDB4YzUsIDB4YzEsIDB4YzQsIDB4ODEsIDB4MDQsIDB4NDB9IH0sCi17IDB4OWViNSwJMTYsCXsweGNjLCAweDAxLCAweDBjLCAweGMwLCAweDBkLCAweDgwLCAweGNkLCAweDQxLCAweDBmLCAweDAwLCAweGNmLCAweGMxLCAweGNlLCAweDgxLCAweDBlLCAweDQwfSB9LAoteyAweDllYzUsCTE2LAl7MHgwYSwgMHgwMCwgMHhjYSwgMHhjMSwgMHhjYiwgMHg4MSwgMHgwYiwgMHg0MCwgMHhjOSwgMHgwMSwgMHgwOSwgMHhjMCwgMHgwOCwgMHg4MCwgMHhjOCwgMHg0MX0gfSwKLXsgMHg5ZWQ1LAkxNiwJezB4ZDgsIDB4MDEsIDB4MTgsIDB4YzAsIDB4MTksIDB4ODAsIDB4ZDksIDB4NDEsIDB4MWIsIDB4MDAsIDB4ZGIsIDB4YzEsIDB4ZGEsIDB4ODEsIDB4MWEsIDB4NDB9IH0sCi17IDB4OWVlNSwJMTYsCXsweDFlLCAweDAwLCAweGRlLCAweGMxLCAweGRmLCAweDgxLCAweDFmLCAweDQwLCAweGRkLCAweDAxLCAweDFkLCAweGMwLCAweDFjLCAweDgwLCAweGRjLCAweDQxfSB9LAoteyAweDllZjUsCTE2LAl7MHgxNCwgMHgwMCwgMHhkNCwgMHhjMSwgMHhkNSwgMHg4MSwgMHgxNSwgMHg0MCwgMHhkNywgMHgwMSwgMHgxNywgMHhjMCwgMHgxNiwgMHg4MCwgMHhkNiwgMHg0MX0gfSwKLXsgMHg5ZjA1LAkxNiwJezB4ZDIsIDB4MDEsIDB4MTIsIDB4YzAsIDB4MTMsIDB4ODAsIDB4ZDMsIDB4NDEsIDB4MTEsIDB4MDAsIDB4ZDEsIDB4YzEsIDB4ZDAsIDB4ODEsIDB4MTAsIDB4NDB9IH0sCi17IDB4OWYxNSwJMTYsCXsweGYwLCAweDAxLCAweDMwLCAweGMwLCAweDMxLCAweDgwLCAweGYxLCAweDQxLCAweDMzLCAweDAwLCAweGYzLCAweGMxLCAweGYyLCAweDgxLCAweDMyLCAweDQwfSB9LAoteyAweDlmMjUsCTE2LAl7MHgzNiwgMHgwMCwgMHhmNiwgMHhjMSwgMHhmNywgMHg4MSwgMHgzNywgMHg0MCwgMHhmNSwgMHgwMSwgMHgzNSwgMHhjMCwgMHgzNCwgMHg4MCwgMHhmNCwgMHg0MX0gfSwKLXsgMHg5ZjM1LAkxNiwJezB4M2MsIDB4MDAsIDB4ZmMsIDB4YzEsIDB4ZmQsIDB4ODEsIDB4M2QsIDB4NDAsIDB4ZmYsIDB4MDEsIDB4M2YsIDB4YzAsIDB4M2UsIDB4ODAsIDB4ZmUsIDB4NDF9IH0sCi17IDB4OWY0NSwJMTYsCXsweGZhLCAweDAxLCAweDNhLCAweGMwLCAweDNiLCAweDgwLCAweGZiLCAweDQxLCAweDM5LCAweDAwLCAweGY5LCAweGMxLCAweGY4LCAweDgxLCAweDM4LCAweDQwfSB9LAoteyAweDlmNTUsCTE2LAl7MHgyOCwgMHgwMCwgMHhlOCwgMHhjMSwgMHhlOSwgMHg4MSwgMHgyOSwgMHg0MCwgMHhlYiwgMHgwMSwgMHgyYiwgMHhjMCwgMHgyYSwgMHg4MCwgMHhlYSwgMHg0MX0gfSwKLXsgMHg5ZjY1LAkxNiwJezB4ZWUsIDB4MDEsIDB4MmUsIDB4YzAsIDB4MmYsIDB4ODAsIDB4ZWYsIDB4NDEsIDB4MmQsIDB4MDAsIDB4ZWQsIDB4YzEsIDB4ZWMsIDB4ODEsIDB4MmMsIDB4NDB9IH0sCi17IDB4OWY3NSwJMTYsCXsweGU0LCAweDAxLCAweDI0LCAweGMwLCAweDI1LCAweDgwLCAweGU1LCAweDQxLCAweDI3LCAweDAwLCAweGU3LCAweGMxLCAweGU2LCAweDgxLCAweDI2LCAweDQwfSB9LAoteyAweDlmODUsCTE2LAl7MHgyMiwgMHgwMCwgMHhlMiwgMHhjMSwgMHhlMywgMHg4MSwgMHgyMywgMHg0MCwgMHhlMSwgMHgwMSwgMHgyMSwgMHhjMCwgMHgyMCwgMHg4MCwgMHhlMCwgMHg0MX0gfSwKLXsgMHg5Zjk1LAkxNiwJezB4YTAsIDB4MDEsIDB4NjAsIDB4YzAsIDB4NjEsIDB4ODAsIDB4YTEsIDB4NDEsIDB4NjMsIDB4MDAsIDB4YTMsIDB4YzEsIDB4YTIsIDB4ODEsIDB4NjIsIDB4NDB9IH0sCi17IDB4OWZhNSwJMTYsCXsweDY2LCAweDAwLCAweGE2LCAweGMxLCAweGE3LCAweDgxLCAweDY3LCAweDQwLCAweGE1LCAweDAxLCAweDY1LCAweGMwLCAweDY0LCAweDgwLCAweGE0LCAweDQxfSB9LAoteyAweDlmYjUsCTE2LAl7MHg2YywgMHgwMCwgMHhhYywgMHhjMSwgMHhhZCwgMHg4MSwgMHg2ZCwgMHg0MCwgMHhhZiwgMHgwMSwgMHg2ZiwgMHhjMCwgMHg2ZSwgMHg4MCwgMHhhZSwgMHg0MX0gfSwKLXsgMHg5ZmM1LAkxNiwJezB4YWEsIDB4MDEsIDB4NmEsIDB4YzAsIDB4NmIsIDB4ODAsIDB4YWIsIDB4NDEsIDB4NjksIDB4MDAsIDB4YTksIDB4YzEsIDB4YTgsIDB4ODEsIDB4NjgsIDB4NDB9IH0sCi17IDB4OWZkNSwJMTYsCXsweDc4LCAweDAwLCAweGI4LCAweGMxLCAweGI5LCAweDgxLCAweDc5LCAweDQwLCAweGJiLCAweDAxLCAweDdiLCAweGMwLCAweDdhLCAweDgwLCAweGJhLCAweDQxfSB9LAoteyAweDlmZTUsCTE2LAl7MHhiZSwgMHgwMSwgMHg3ZSwgMHhjMCwgMHg3ZiwgMHg4MCwgMHhiZiwgMHg0MSwgMHg3ZCwgMHgwMCwgMHhiZCwgMHhjMSwgMHhiYywgMHg4MSwgMHg3YywgMHg0MH0gfSwKLXsgMHg5ZmY1LAkxNiwJezB4YjQsIDB4MDEsIDB4NzQsIDB4YzAsIDB4NzUsIDB4ODAsIDB4YjUsIDB4NDEsIDB4NzcsIDB4MDAsIDB4YjcsIDB4YzEsIDB4YjYsIDB4ODEsIDB4NzYsIDB4NDB9IH0sCi17IDB4YTAwNSwJMTYsCXsweDcyLCAweDAwLCAweGIyLCAweGMxLCAweGIzLCAweDgxLCAweDczLCAweDQwLCAweGIxLCAweDAxLCAweDcxLCAweGMwLCAweDcwLCAweDgwLCAweGIwLCAweDQxfSB9LAoteyAweGEwMTUsCTE2LAl7MHg1MCwgMHgwMCwgMHg5MCwgMHhjMSwgMHg5MSwgMHg4MSwgMHg1MSwgMHg0MCwgMHg5MywgMHgwMSwgMHg1MywgMHhjMCwgMHg1MiwgMHg4MCwgMHg5MiwgMHg0MX0gfSwKLXsgMHhhMDI1LAkxNiwJezB4OTYsIDB4MDEsIDB4NTYsIDB4YzAsIDB4NTcsIDB4ODAsIDB4OTcsIDB4NDEsIDB4NTUsIDB4MDAsIDB4OTUsIDB4YzEsIDB4OTQsIDB4ODEsIDB4NTQsIDB4NDB9IH0sCi17IDB4YTAzNSwJMTYsCXsweDljLCAweDAxLCAweDVjLCAweGMwLCAweDVkLCAweDgwLCAweDlkLCAweDQxLCAweDVmLCAweDAwLCAweDlmLCAweGMxLCAweDllLCAweDgxLCAweDVlLCAweDQwfSB9LAoteyAweGEwNDUsCTE2LAl7MHg1YSwgMHgwMCwgMHg5YSwgMHhjMSwgMHg5YiwgMHg4MSwgMHg1YiwgMHg0MCwgMHg5OSwgMHgwMSwgMHg1OSwgMHhjMCwgMHg1OCwgMHg4MCwgMHg5OCwgMHg0MX0gfSwKLXsgMHhhMDU1LAkxNiwJezB4ODgsIDB4MDEsIDB4NDgsIDB4YzAsIDB4NDksIDB4ODAsIDB4ODksIDB4NDEsIDB4NGIsIDB4MDAsIDB4OGIsIDB4YzEsIDB4OGEsIDB4ODEsIDB4NGEsIDB4NDB9IH0sCi17IDB4YTA2NSwJMTYsCXsweDRlLCAweDAwLCAweDhlLCAweGMxLCAweDhmLCAweDgxLCAweDRmLCAweDQwLCAweDhkLCAweDAxLCAweDRkLCAweGMwLCAweDRjLCAweDgwLCAweDhjLCAweDQxfSB9LAoteyAweGEwNzUsCTE2LAl7MHg0NCwgMHgwMCwgMHg4NCwgMHhjMSwgMHg4NSwgMHg4MSwgMHg0NSwgMHg0MCwgMHg4NywgMHgwMSwgMHg0NywgMHhjMCwgMHg0NiwgMHg4MCwgMHg4NiwgMHg0MX0gfSwKLXsgMHhhMDg1LAkxNiwJezB4ODIsIDB4MDEsIDB4NDIsIDB4YzAsIDB4NDMsIDB4ODAsIDB4ODMsIDB4NDEsIDB4NDEsIDB4MDAsIDB4ODEsIDB4YzEsIDB4ODAsIDB4ODEsIDB4NDAsIDB4NDB9IH0sCi17IDB4YTA5NSwJMTYsCXsweGU0LCAweGZmLCAweDc0LCAweGY4LCAweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweDcwLCAweDAzLCAweDAyfSB9LAoteyAweGEwYTUsCTE2LAl7MHhhMSwgMHgzOCwgMHg3NCwgMHgzYSwgMHgyZiwgMHhmOCwgMHhlNiwgMHgyMCwgMHhlNSwgMHgwMywgMHgwMiwgMHhhMSwgMHgzOCwgMHhlZiwgMHg3NSwgMHhmMH0gfSwKLXsgMHhhMGI1LAkxNiwJezB4MDgsIDB4YTQsIDB4MjQsIDB4MDAsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MjAsIDB4YWQsIDB4ODIsIDB4ZmMsIDB4ZjUsIDB4ODMsIDB4ZTUsIDB4ODJ9IH0sCi17IDB4YTBjNSwJMTYsCXsweDI0LCAweDA1LCAweGY1LCAweDgyLCAweGU0LCAweDM1LCAweDgzLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweDYwLCAweDY0LCAweDYwLCAweDcwLCAweDYzfSB9LAoteyAweGEwZDUsCTE2LAl7MHhlZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhlZiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwMiwgMHhmNSwgMHg4MywgMHhlNCwgMHg3NSwgMHhmMCwgMHgwMX0gfSwKLXsgMHhhMGU1LAkxNiwJezB4MTIsIDB4YTIsIDB4OTcsIDB4ODUsIDB4ZjAsIDB4ODIsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4OGQsIDB4ODIsIDB4OGMsIDB4ODMsIDB4ZjAsIDB4NzQsIDB4Zjh9IH0sCi17IDB4YTBmNSwJMTYsCXsweDJmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGUwLCAweDE0LCAweGYwLCAweDcwLCAweDM2LCAweGVmLCAweDI1LCAweGUwfSB9LAoteyAweGExMDUsCTE2LAl7MHgyNCwgMHhjNywgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHhlZiwgMHgyNSwgMHhlMCwgMHhmZSwgMHhjM30gfSwKLXsgMHhhMTE1LAkxNiwJezB4NzQsIDB4MGMsIDB4OWUsIDB4NzUsIDB4ZjAsIDB4NDAsIDB4YTQsIDB4MjQsIDB4NDAsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ZjAsIDB4MzQsIDB4N2IsIDB4YWR9IH0sCi17IDB4YTEyNSwJMTYsCXsweDgyLCAweGZjLCAweGVmLCAweDI1LCAweGUwLCAweDI0LCAweGVmLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDAyLCAweGY1LCAweDgzLCAweGVjLCAweGYwfSB9LAoteyAweGExMzUsCTEyLAl7MHhhMywgMHhlZCwgMHhmMCwgMHgwZiwgMHhlZiwgMHg2NCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMiwgMHhhMCwgMHg5N30gfSwKLXsgMHhhMTQxLAkxLAl7MHgyMn0gfSwKLXsgMHhhMTQyLAkxNiwJezB4ZTcsIDB4MDksIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NDYsIDB4ZTcsIDB4MDksIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4M2V9IH0sCi17IDB4YTE1MiwJMTYsCXsweDg4LCAweDgyLCAweDhjLCAweDgzLCAweGU3LCAweDA5LCAweGYwLCAweGEzLCAweGRmLCAweGZhLCAweDgwLCAweDMyLCAweGUzLCAweDA5LCAweGY2LCAweDA4fSB9LAoteyAweGExNjIsCTE2LAl7MHhkZiwgMHhmYSwgMHg4MCwgMHg3OCwgMHhlMywgMHgwOSwgMHhmMiwgMHgwOCwgMHhkZiwgMHhmYSwgMHg4MCwgMHg3MCwgMHg4OCwgMHg4MiwgMHg4YywgMHg4M30gfSwKLXsgMHhhMTcyLAkxNiwJezB4ZTMsIDB4MDksIDB4ZjAsIDB4YTMsIDB4ZGYsIDB4ZmEsIDB4ODAsIDB4NjQsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4YTMsIDB4ZjYsIDB4MDh9IH0sCi17IDB4YTE4MiwJMTYsCXsweGRmLCAweGZhLCAweDgwLCAweDU4LCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGUwLCAweGEzLCAweGYyLCAweDA4LCAweGRmLCAweGZhLCAweDgwLCAweDRjfSB9LAoteyAweGExOTIsCTE2LAl7MHg4MCwgMHhkMiwgMHg4MCwgMHhmYSwgMHg4MCwgMHhjNiwgMHg4MCwgMHhkNCwgMHg4MCwgMHg2OSwgMHg4MCwgMHhmMiwgMHg4MCwgMHgzMywgMHg4MCwgMHgxMH0gfSwKLXsgMHhhMWEyLAkxNiwJezB4ODAsIDB4YTYsIDB4ODAsIDB4ZWEsIDB4ODAsIDB4OWEsIDB4ODAsIDB4YTgsIDB4ODAsIDB4ZGEsIDB4ODAsIDB4ZTIsIDB4ODAsIDB4Y2EsIDB4ODAsIDB4MzN9IH0sCi17IDB4YTFiMiwJMTYsCXsweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGVjLCAweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjLCAweGM1LCAweDgzfSB9LAoteyAweGExYzIsCTE2LAl7MHhjYywgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MH0gfSwKLXsgMHhhMWQyLAkxNiwJezB4MGQsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjYsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ZWMsIDB4ZmEsIDB4YTksIDB4ZjB9IH0sCi17IDB4YTFlMiwJMTYsCXsweGVkLCAweGZiLCAweDIyLCAweDg5LCAweDgyLCAweDhhLCAweDgzLCAweGVjLCAweGZhLCAweGUwLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNjfSB9LAoteyAweGExZjIsCTE2LAl7MHhjNSwgMHg4MywgMHhjYywgMHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYywgMHhjNSwgMHg4MywgMHhjYywgMHhkZiwgMHhlYSwgMHhkZX0gfSwKLXsgMHhhMjAyLAkxNiwJezB4ZTgsIDB4ODAsIDB4ZGIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4ZjIsIDB4MDgsIDB4ZGYsIDB4ZjksIDB4ODAsIDB4Y2N9IH0sCi17IDB4YTIxMiwJMTYsCXsweDg4LCAweGYwLCAweGVkLCAweDI0LCAweDAyLCAweGI0LCAweDA0LCAweDAwLCAweDUwLCAweGMyLCAweGY1LCAweDgyLCAweGViLCAweDI0LCAweDAyLCAweGI0fSB9LAoteyAweGEyMjIsCTE2LAl7MHgwNCwgMHgwMCwgMHg1MCwgMHhiOCwgMHgyMywgMHgyMywgMHg0NSwgMHg4MiwgMHhmNSwgMHg4MiwgMHhlZiwgMHg0ZSwgMHg2MCwgMHhhZSwgMHhlZiwgMHg2MH0gfSwKLXsgMHhhMjMyLAk5LAl7MHgwMSwgMHgwZSwgMHhlNSwgMHg4MiwgMHgyMywgMHg5MCwgMHhhMSwgMHg5MiwgMHg3M30gfSwKLXsgMHhhMjNiLAkxNiwJezB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDJ9IH0sCi17IDB4YTI0YiwJOSwJezB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4YTI1NCwJMTYsCXsweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwfSB9LAoteyAweGEyNjQsCTE2LAl7MHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMn0gfSwKLXsgMHhhMjc0LAkxMywJezB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4YTI4MSwJMTYsCXsweGM1LCAweGYwLCAweGY4LCAweGEzLCAweGUwLCAweDI4LCAweGYwLCAweGM1LCAweGYwLCAweGY4LCAweGU1LCAweDgyLCAweDE1LCAweDgyLCAweDcwLCAweDAyfSB9LAoteyAweGEyOTEsCTYsCXsweDE1LCAweDgzLCAweGUwLCAweDM4LCAweGYwLCAweDIyfSB9LAoteyAweGEyOTcsCTE2LAl7MHhhMywgMHhmOCwgMHhlMCwgMHhjNSwgMHhmMCwgMHgyNSwgMHhmMCwgMHhmMCwgMHhlNSwgMHg4MiwgMHgxNSwgMHg4MiwgMHg3MCwgMHgwMiwgMHgxNSwgMHg4M30gfSwKLXsgMHhhMmE3LAk2LAl7MHhlMCwgMHhjOCwgMHgzOCwgMHhmMCwgMHhlOCwgMHgyMn0gfSwKLXsgMHhhMmFkLAkxNiwJezB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjB9IH0sCi17IDB4YTJiZCwJMTYsCXsweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlfSB9LAoteyAweGEyY2QsCTE2LAl7MHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4M30gfSwKLXsgMHhhMmRkLAk4LAl7MHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMn0gfSwKLXsgMHhhMmU1LAkxNiwJezB4NzUsIDB4ZjAsIDB4MDgsIDB4NzUsIDB4ODIsIDB4MDAsIDB4ZWYsIDB4MmYsIDB4ZmYsIDB4ZWUsIDB4MzMsIDB4ZmUsIDB4Y2QsIDB4MzMsIDB4Y2QsIDB4Y2N9IH0sCi17IDB4YTJmNSwJMTYsCXsweDMzLCAweGNjLCAweGM1LCAweDgyLCAweDMzLCAweGM1LCAweDgyLCAweDliLCAweGVkLCAweDlhLCAweGVjLCAweDk5LCAweGU1LCAweDgyLCAweDk4LCAweDQwfSB9LAoteyAweGEzMDUsCTE2LAl7MHgwYywgMHhmNSwgMHg4MiwgMHhlZSwgMHg5YiwgMHhmZSwgMHhlZCwgMHg5YSwgMHhmZCwgMHhlYywgMHg5OSwgMHhmYywgMHgwZiwgMHhkNSwgMHhmMCwgMHhkNn0gfSwKLXsgMHhhMzE1LAkxNiwJezB4ZTQsIDB4Y2UsIDB4ZmIsIDB4ZTQsIDB4Y2QsIDB4ZmEsIDB4ZTQsIDB4Y2MsIDB4ZjksIDB4YTgsIDB4ODIsIDB4MjIsIDB4YjgsIDB4MDAsIDB4YzEsIDB4Yjl9IH0sCi17IDB4YTMyNSwJMTYsCXsweDAwLCAweDU5LCAweGJhLCAweDAwLCAweDJkLCAweGVjLCAweDhiLCAweGYwLCAweDg0LCAweGNmLCAweGNlLCAweGNkLCAweGZjLCAweGU1LCAweGYwLCAweGNifSB9LAoteyAweGEzMzUsCTE2LAl7MHhmOSwgMHg3OCwgMHgxOCwgMHhlZiwgMHgyZiwgMHhmZiwgMHhlZSwgMHgzMywgMHhmZSwgMHhlZCwgMHgzMywgMHhmZCwgMHhlYywgMHgzMywgMHhmYywgMHhlYn0gfSwKLXsgMHhhMzQ1LAkxNiwJezB4MzMsIDB4ZmIsIDB4MTAsIDB4ZDcsIDB4MDMsIDB4OTksIDB4NDAsIDB4MDQsIDB4ZWIsIDB4OTksIDB4ZmIsIDB4MGYsIDB4ZDgsIDB4ZTUsIDB4ZTQsIDB4Zjl9IH0sCi17IDB4YTM1NSwJMTYsCXsweGZhLCAweDIyLCAweDc4LCAweDE4LCAweGVmLCAweDJmLCAweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGVkLCAweDMzLCAweGZkLCAweGVjLCAweDMzLCAweGZjfSB9LAoteyAweGEzNjUsCTE2LAl7MHhjOSwgMHgzMywgMHhjOSwgMHgxMCwgMHhkNywgMHgwNSwgMHg5YiwgMHhlOSwgMHg5YSwgMHg0MCwgMHgwNywgMHhlYywgMHg5YiwgMHhmYywgMHhlOSwgMHg5YX0gfSwKLXsgMHhhMzc1LAkxNiwJezB4ZjksIDB4MGYsIDB4ZDgsIDB4ZTAsIDB4ZTQsIDB4YzksIDB4ZmEsIDB4ZTQsIDB4Y2MsIDB4ZmIsIDB4MjIsIDB4NzUsIDB4ZjAsIDB4MTAsIDB4ZWYsIDB4MmZ9IH0sCi17IDB4YTM4NSwJMTYsCXsweGZmLCAweGVlLCAweDMzLCAweGZlLCAweGVkLCAweDMzLCAweGZkLCAweGNjLCAweDMzLCAweGNjLCAweGM4LCAweDMzLCAweGM4LCAweDEwLCAweGQ3LCAweDA3fSB9LAoteyAweGEzOTUsCTE2LAl7MHg5YiwgMHhlYywgMHg5YSwgMHhlOCwgMHg5OSwgMHg0MCwgMHgwYSwgMHhlZCwgMHg5YiwgMHhmZCwgMHhlYywgMHg5YSwgMHhmYywgMHhlOCwgMHg5OSwgMHhmOH0gfSwKLXsgMHhhM2E1LAkxNCwJezB4MGYsIDB4ZDUsIDB4ZjAsIDB4ZGEsIDB4ZTQsIDB4Y2QsIDB4ZmIsIDB4ZTQsIDB4Y2MsIDB4ZmEsIDB4ZTQsIDB4YzgsIDB4ZjksIDB4MjJ9IH0sCi17IDB4YTNiMywJMTYsCXsweGViLCAweDlmLCAweGY1LCAweGYwLCAweGVhLCAweDllLCAweDQyLCAweGYwLCAweGU5LCAweDlkLCAweDQyLCAweGYwLCAweGU4LCAweDljLCAweDQ1LCAweGYwfSB9LAoteyAweGEzYzMsCTEsCXsweDIyfSB9LAoteyAweGEzYzQsCTE2LAl7MHhlOCwgMHg2MCwgMHgwZiwgMHhlYywgMHhjMywgMHgxMywgMHhmYywgMHhlZCwgMHgxMywgMHhmZCwgMHhlZSwgMHgxMywgMHhmZSwgMHhlZiwgMHgxMywgMHhmZn0gfSwKLXsgMHhhM2Q0LAkzLAl7MHhkOCwgMHhmMSwgMHgyMn0gfSwKLXsgMHhhM2Q3LAkxNiwJezB4MDgsIDB4MDgsIDB4MDgsIDB4ZTYsIDB4Y2YsIDB4MmYsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4Y2UsIDB4M2UsIDB4ZjYsIDB4MTgsIDB4ZTYsIDB4Y2QsIDB4M2R9IH0sCi17IDB4YTNlNywJNywJezB4ZjYsIDB4MTgsIDB4ZTYsIDB4Y2MsIDB4M2MsIDB4ZjYsIDB4MjJ9IH0sCi17IDB4YTNlZSwJMTIsCXsweGVjLCAweGYwLCAweGEzLCAweGVkLCAweGYwLCAweGEzLCAweGVlLCAweGYwLCAweGEzLCAweGVmLCAweGYwLCAweDIyfSB9LAoteyAweGEzZmEsCTE2LAl7MHhhOCwgMHg4MiwgMHg4NSwgMHg4MywgMHhmMCwgMHhkMCwgMHg4MywgMHhkMCwgMHg4MiwgMHgxMiwgMHhhNCwgMHgxMSwgMHgxMiwgMHhhNCwgMHgxMSwgMHgxMn0gfSwKLXsgMHhhNDBhLAkxNiwJezB4YTQsIDB4MTEsIDB4MTIsIDB4YTQsIDB4MTEsIDB4ZTQsIDB4NzMsIDB4ZTQsIDB4OTMsIDB4YTMsIDB4YzUsIDB4ODMsIDB4YzUsIDB4ZjAsIDB4YzUsIDB4ODN9IH0sCi17IDB4YTQxYSwJMTYsCXsweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGYwLCAweGEzLCAweGM1LCAweDgzLCAweGM1LCAweGYwLCAweGM1LCAweDgzLCAweGM4LCAweGM1LCAweDgyLCAweGM4fSB9LAoteyAweGE0MmEsCTEsCXsweDIyfSB9LAoteyAweGZmZmYsCTAsCXsweDAwfSB9Ci19OwotCi0jaWZkZWYgREVCVUcKLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgd2hpdGVoZWF0X2xvYWRlcltdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDA5LCAweDhkfSB9LAoteyAweDAwMzMsCTMsCXsweDAyLCAweDBlLCAweDcwfSB9LAoteyAweDAwNDMsCTMsCXsweDAyLCAweDBiLCAweDAwfSB9LAoteyAweDAwNGIsCTMsCXsweDAyLCAweDA1LCAweGIzfSB9LAoteyAweDAxMDAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg1NCwgMHgxMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHg1MCwgMHhmNSwgMHgwZiwgMHgxMywgMHhlNH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MzMsIDB4ZjUsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MjQsIDB4NWUsIDB4YjQsIDB4MDcsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDEyMCwJMTYsCXsweDdjLCAweDkwLCAweDAxLCAweDI4LCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxfSB9LAoteyAweDAxMzAsCTE2LAl7MHg5MSwgMHgwMiwgMHgwMSwgMHgzZCwgMHgwMiwgMHgwMSwgMHg1MywgMHgwMiwgMHgwMSwgMHg2ZiwgMHgwMiwgMHgwMSwgMHg5YSwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwMTQwLAkxNiwJezB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDE1MCwJMTYsCXsweDAyLCAweDAzLCAweDdjLCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDkwfSB9LAoteyAweDAxNjAsCTE2LAl7MHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwMywgMHg3YywgMHgxMn0gfSwKLXsgMHgwMTcwLAkxNiwJezB4MGEsIDB4ODksIDB4NTAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MGZ9IH0sCi17IDB4MDE4MCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzfSB9LAoteyAweDAxOTAsCTE2LAl7MHg3YywgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZiwgMHgwMiwgMHgwMywgMHg3YywgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwNywgMHhmMH0gfSwKLXsgMHgwMWEwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZTgsIDB4N2V9IH0sCi17IDB4MDFiMCwJMTYsCXsweDAzLCAweDEyLCAweDBkLCAweGQ1LCAweGQyLCAweDA2LCAweDEyLCAweDBkLCAweDBkLCAweDAyLCAweDAzLCAweDdjLCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAxYzAsCTE2LAl7MHg3NSwgMHgyOSwgMHgwMCwgMHhmNSwgMHgyYSwgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyOSwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMH0gfSwKLXsgMHgwMWQwLAkxNiwJezB4NzUsIDB4MmIsIDB4MDAsIDB4ZjUsIDB4MmMsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZTQsIDB4ZWUsIDB4NDIsIDB4MmIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDFlMCwJMTYsCXsweDY0LCAweGMwLCAweDYwLCAweDAzLCAweDAyLCAweDAyLCAweGM5LCAweGU1LCAweDJjLCAweDQ1LCAweDJiLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDdjfSB9LAoteyAweDAxZjAsCTE2LAl7MHhjMywgMHhlNSwgMHgyYywgMHg5NCwgMHg0MCwgMHhlNSwgMHgyYiwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOCwgMHg4NSwgMHgyYiwgMHgyZCwgMHg4NSwgMHgyY30gfSwKLXsgMHgwMjAwLAkxNiwJezB4MmUsIDB4ODAsIDB4MDYsIDB4NzUsIDB4MmQsIDB4MDAsIDB4NzUsIDB4MmUsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NjQsIDB4YTMsIDB4NzB9IH0sCi17IDB4MDIxMCwJMTYsCXsweDM0LCAweGY1LCAweDMxLCAweGY1LCAweDMyLCAweGMzLCAweGU1LCAweDMyLCAweDk1LCAweDJlLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweDUwLCAweDVjfSB9LAoteyAweDAyMjAsCTE2LAl7MHhlNSwgMHgyYSwgMHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzMSwgMHgzNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwMjMwLAkxNiwJezB4MjUsIDB4MzIsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4NzB9IH0sCi17IDB4MDI0MCwJMTYsCXsweDAyLCAweDA1LCAweDMxLCAweDgwLCAweGQwLCAweGU0LCAweGY1LCAweDMxLCAweGY1LCAweDMyLCAweGMzLCAweGU1LCAweDMyLCAweDk1LCAweDJlLCAweGU1fSB9LAoteyAweDAyNTAsCTE2LAl7MHgzMSwgMHg5NSwgMHgyZCwgMHg1MCwgMHgxOCwgMHg3NCwgMHgwMCwgMHgyNSwgMHgzMiwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHgwMjYwLAkxNiwJezB4NzQsIDB4Y2QsIDB4ZjAsIDB4MDUsIDB4MzIsIDB4ZTUsIDB4MzIsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzEsIDB4ODAsIDB4ZGQsIDB4YWYsIDB4MmEsIDB4YWV9IH0sCi17IDB4MDI3MCwJMTYsCXsweDI5LCAweGFkLCAweDJlLCAweDdhLCAweDdmLCAweDc5LCAweDAwLCAweDdiLCAweDAwLCAweDEyLCAweDBiLCAweGY0LCAweDkwLCAweDdmLCAweGI1LCAweGU1fSB9LAoteyAweDAyODAsCTE2LAl7MHgyZSwgMHhmMCwgMHhlNSwgMHgyZSwgMHgyNSwgMHgyYSwgMHhmNSwgMHgyYSwgMHhlNSwgMHgyZCwgMHgzNSwgMHgyOSwgMHhmNSwgMHgyOSwgMHhjMywgMHhlNX0gfSwKLXsgMHgwMjkwLAkxNiwJezB4MmMsIDB4OTUsIDB4MmUsIDB4ZjUsIDB4MmMsIDB4ZTUsIDB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MDJhMCwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJmLCAweDAwLCAweGY1LCAweDMwLCAweGQzLCAweDk0LCAweDAwLCAweGU1LCAweDJmLCAweDk0LCAweDAwLCAweDUwfSB9LAoteyAweDAyYjAsCTE2LAl7MHgwYywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwMmMwLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTIsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTcsIDB4ODAsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4NjQsIDB4NDAsIDB4NjB9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAzLCAweDAyLCAweDAzLCAweDdjLCAweGU1LCAweDJjLCAweDQ1LCAweDJiLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDdjLCAweGU0LCAweDkwLCAweDdmfSB9LAoteyAweDAyZTAsCTE2LAl7MHhjNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg3NSwgMHgyZiwgMHgwMCwgMHhmNSwgMHgzMCwgMHhkM30gfSwKLXsgMHgwMmYwLAkxNiwJezB4OTQsIDB4MDAsIDB4ZTUsIDB4MmYsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDksIDB4ODB9IH0sCi17IDB4MDMwMCwJMTYsCXsweGY3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUzLCAweGY5LCAweDkwLCAweDdmLCAweGM1LCAweGUwLCAweDc1LCAweDJkLCAweDAwLCAweGY1fSB9LAoteyAweDAzMTAsCTE2LAl7MHgyZSwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MCwgMHgzOCwgMHg5MCwgMHgyMCwgMHg2YiwgMHhmMCwgMHhmNSwgMHgzMSwgMHhmNX0gfSwKLXsgMHgwMzIwLAkxNiwJezB4MzIsIDB4YzMsIDB4ZTUsIDB4MzIsIDB4OTUsIDB4MmUsIDB4ZTUsIDB4MzEsIDB4OTUsIDB4MmQsIDB4NTAsIDB4MzQsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MzJ9IH0sCi17IDB4MDMzMCwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdlLCAweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDJhLCAweDI1LCAweDMyLCAweGY1LCAweDgyLCAweGU1fSB9LAoteyAweDAzNDAsCTE2LAl7MHgzMSwgMHgzNSwgMHgyOSwgMHhmNSwgMHg4MywgMHhlZiwgMHhmMCwgMHgwNSwgMHgzMiwgMHhlNSwgMHgzMiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMSwgMHg4MH0gfSwKLXsgMHgwMzUwLAkxNiwJezB4ZDAsIDB4YWYsIDB4MmEsIDB4YWUsIDB4MjksIDB4YWQsIDB4MmUsIDB4N2EsIDB4N2UsIDB4NzksIDB4YzAsIDB4N2IsIDB4YzAsIDB4MTIsIDB4MGMsIDB4ODB9IH0sCi17IDB4MDM2MCwJMTYsCXsweGU1LCAweDJlLCAweDI1LCAweDJhLCAweGY1LCAweDJhLCAweGU1LCAweDJkLCAweDM1LCAweDI5LCAweGY1LCAweDI5LCAweGMzLCAweGU1LCAweDJjLCAweDk1fSB9LAoteyAweDAzNzAsCTEzLAl7MHgyZSwgMHhmNSwgMHgyYywgMHhlNSwgMHgyYiwgMHg5NSwgMHgyZCwgMHhmNSwgMHgyYiwgMHgwMiwgMHgwMiwgMHhkNCwgMHhjM30gfSwKLXsgMHgwMzdkLAkxLAl7MHgyMn0gfSwKLXsgMHgwMzdlLAkxNiwJezB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NTYsIDB4MTQsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4ZDIsIDB4MjR9IH0sCi17IDB4MDM4ZSwJMTYsCXsweGZlLCAweDcwLCAweDAzLCAweDAyLCAweDA1LCAweDQ2LCAweDI0LCAweGZiLCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDUwLCAweDE0LCAweDcwLCAweDAzfSB9LAoteyAweDAzOWUsCTE2LAl7MHgwMiwgMHgwNCwgMHg0YSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHgzZSwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg0NCwgMHgyNH0gfSwKLXsgMHgwM2FlLAkxNiwJezB4MDUsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4OWEsIDB4MTIsIDB4MGUsIDB4N2IsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDNiZSwJMTYsCXsweGViLCAweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE2LCAweDE0LCAweDYwLCAweDQwLCAweDI0LCAweDAyLCAweDcwLCAweDY5LCAweDc0LCAweDExLCAweDkwfSB9LAoteyAweDAzY2UsCTE2LAl7MHg3ZiwgMHhkNCwgMHhmMCwgMHg3NCwgMHgwMCwgMHg5MCwgMHg3ZiwgMHhkNSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMH0gfSwKLXsgMHgwM2RlLAkxNiwJezB4ZmYsIDB4MTIsIDB4MGIsIDB4NTgsIDB4OGIsIDB4MjYsIDB4OGEsIDB4MjcsIDB4ODksIDB4MjgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDJ9IH0sCi17IDB4MDNlZSwJMTYsCXsweGVlLCAweDkwLCAweDdmLCAweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwfSB9LAoteyAweDAzZmUsCTE2LAl7MHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmZiwgMHgxMiwgMHgwY30gfSwKLXsgMHgwNDBlLAkxNiwJezB4M2YsIDB4OGIsIDB4MjYsIDB4OGEsIDB4MjcsIDB4ODksIDB4MjgsIDB4ZWEsIDB4NDksIDB4NjAsIDB4MTEsIDB4YWUsIDB4MDIsIDB4ZWUsIDB4OTAsIDB4N2Z9IH0sCi17IDB4MDQxZSwJMTYsCXsweGQ0LCAweGYwLCAweGFmLCAweDAxLCAweGVmLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGI0LCAweGUwfSB9LAoteyAweDA0MmUsCTE2LAl7MHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYn0gfSwKLXsgMHgwNDNlLAkxNiwJezB4MTIsIDB4MGUsIDB4NTIsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGUsIDB4NjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGEsIDB4ZjcsIDB4MDJ9IH0sCi17IDB4MDQ0ZSwJMTYsCXsweDA1LCAweGFiLCAweDEyLCAweDA4LCAweGYxLCAweDAyLCAweDA1LCAweGFiLCAweDEyLCAweDBlLCAweDdkLCAweDQwLCAweDAzLCAweDAyLCAweDA1LCAweGFifSB9LAoteyAweDA0NWUsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOCwgMHhlMCwgMHgyNCwgMHg3ZiwgMHg2MCwgMHgyNCwgMHgxNCwgMHg2MCwgMHgzMSwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1YiwgMHhhMn0gfSwKLXsgMHgwNDZlLAkxNiwJezB4MDAsIDB4ZTQsIDB4MzMsIDB4ZmYsIDB4MjUsIDB4ZTAsIDB4ZmYsIDB4YTIsIDB4MDIsIDB4ZTQsIDB4MzMsIDB4NGYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjB9IH0sCi17IDB4MDQ3ZSwJMTYsCXsweGU0LCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGFiLCAweGU0LCAweDkwLCAweDdmLCAweDAwfSB9LAoteyAweDA0OGUsCTE2LAl7MHhmMCwgMHhhMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMH0gfSwKLXsgMHgwNDllLAkxNiwJezB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjR9IH0sCi17IDB4MDRhZSwJMTYsCXsweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweGUwLCAweDU0LCAweGZkLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweGU0LCAweGEzfSB9LAoteyAweDA0YmUsCTE2LAl7MHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMX0gfSwKLXsgMHgwNGNlLAkxNiwJezB4ZjAsIDB4MDIsIDB4MDUsIDB4YWIsIDB4MTIsIDB4MGUsIDB4N2YsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YWIsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDRkZSwJMTYsCXsweDI0LCAweGZlLCAweDYwLCAweDFkLCAweDI0LCAweDAyLCAweDYwLCAweDAzLCAweDAyLCAweDA1LCAweGFiLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0fSB9LAoteyAweDA0ZWUsCTE2LAl7MHgwMSwgMHgwNSwgMHhjMiwgMHgwMCwgMHgwMiwgMHgwNSwgMHhhYiwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHgwMiwgMHgwNX0gfSwKLXsgMHgwNGZlLAkxNiwJezB4YWIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4NzAsIDB4MzgsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzR9IH0sCi17IDB4MDUwZSwJMTYsCXsweDU0LCAweDBmLCAweGZmLCAweGUwLCAweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmfSB9LAoteyAweDA1MWUsCTE2LAl7MHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHg1NCwgMHg4MCwgMHhmZiwgMHgxMywgMHgxMywgMHgxMywgMHg1NCwgMHgxZn0gfSwKLXsgMHgwNTJlLAkxNiwJezB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4OTAsIDB4N2YsIDB4ZDcsIDB4ZjAsIDB4ZTAsIDB4NDQsIDB4MjAsIDB4ZjAsIDB4ODAsIDB4NmUsIDB4OTB9IH0sCi17IDB4MDUzZSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDgwLCAweDY1LCAweDEyLCAweDBlLCAweDgxLCAweDUwLCAweDYwLCAweDkwLCAweDdmLCAweGU4fSB9LAoteyAweDA1NGUsCTE2LAl7MHhlMCwgMHgyNCwgMHhmZSwgMHg2MCwgMHgxOCwgMHgyNCwgMHgwMiwgMHg3MCwgMHg1NCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhiNCwgMHgwMSwgMHgwNH0gfSwKLXsgMHgwNTVlLAkxNiwJezB4ZDIsIDB4MDAsIDB4ODAsIDB4NDksIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZWF9IH0sCi17IDB4MDU2ZSwJMTYsCXsweGUwLCAweDcwLCAweDIwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweGY0LCAweDU0LCAweDgwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweGZmLCAweGUwfSB9LAoteyAweDA1N2UsCTE2LAl7MHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNCwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4MywgMHg3NCwgMHgwMX0gfSwKLXsgMHgwNThlLAkxNiwJezB4ZjAsIDB4ODAsIDB4MWEsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MTEsIDB4ZTQsIDB4OTAsIDB4MjAsIDB4NmF9IH0sCi17IDB4MDU5ZSwJMTYsCXsweGYwLCAweDEyLCAweDAxLCAweDAwLCAweDUwLCAweDA3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0fSB9LAoteyAweDA1YWUsCTQsCXsweGUwLCAweDQ0LCAweDAyLCAweGYwfSB9LAoteyAweDA1YjIsCTEsCXsweDIyfSB9LAoteyAweDA1YjMsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhjMCwgMHg4NSwgMHhjMCwgMHg4NCwgMHhjMCwgMHg4NiwgMHg3NSwgMHg4NiwgMHgwMCwgMHhjMH0gfSwKLXsgMHgwNWMzLAkxNiwJezB4ZDAsIDB4YzAsIDB4MDAsIDB4YzAsIDB4MDEsIDB4YzAsIDB4MDIsIDB4YzAsIDB4MDMsIDB4YzAsIDB4MDYsIDB4YzAsIDB4MDcsIDB4OTAsIDB4N2YsIDB4YTV9IH0sCi17IDB4MDVkMywJMTYsCXsweGUwLCAweDMwLCAweGUyLCAweDA2LCAweDc1LCAweDBkLCAweDA2LCAweDAyLCAweDA2LCAweDdmLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDIwLCAweGUxfSB9LAoteyAweDA1ZTMsCTE2LAl7MHgwYywgMHhlNSwgMHgwZCwgMHg2NCwgMHgwMiwgMHg2MCwgMHgwNiwgMHg3NSwgMHgwZCwgMHgwNywgMHgwMiwgMHgwNiwgMHg3ZiwgMHhhZiwgMHgwZCwgMHhlZn0gfSwKLXsgMHgwNWYzLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4NDgsIDB4MTQsIDB4NjAsIDB4MmMsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4NzcsIDB4MjQsIDB4MDQsIDB4NjAsIDB4MDMsIDB4MDJ9IH0sCi17IDB4MDYwMywJMTYsCXsweDA2LCAweDdmLCAweGFiLCAweDA5LCAweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFmLCAweDBjLCAweDA1LCAweDBjLCAweDhmLCAweDgyLCAweDc1LCAweDgzfSB9LAoteyAweDA2MTMsCTE2LAl7MHgwMCwgMHgxMiwgMHgwNywgMHg4NSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHhlNSwgMHgwYywgMHg2NSwgMHgwOCwgMHg3MCwgMHg1ZSwgMHg3NSwgMHgwZH0gfSwKLXsgMHgwNjIzLAkxNiwJezB4MDUsIDB4ODAsIDB4NTksIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGV9IH0sCi17IDB4MDYzMywJMTYsCXsweDgyLCAweDc1LCAweDgzLCAweDAwLCAweDEyLCAweDA3LCAweGIyLCAweDc1LCAweDBkLCAweDAyLCAweDgwLCAweDQwLCAweGU1LCAweDA4LCAweDI0LCAweGZlfSB9LAoteyAweDA2NDMsCTE2LAl7MHhiNSwgMHgwYywgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHhlNSwgMHgwOCwgMHgxNCwgMHhiNSwgMHgwYywgMHgwYX0gfSwKLXsgMHgwNjUzLAkxNiwJezB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZTAsIDB4YWIsIDB4MDl9IH0sCi17IDB4MDY2MywJMTYsCXsweGFhLCAweDBhLCAweGE5LCAweDBiLCAweGFlLCAweDBjLCAweDhlLCAweDgyLCAweDc1LCAweDgzLCAweDAwLCAweDEyLCAweDA3LCAweGIyLCAweDA1LCAweDBjfSB9LAoteyAweDA2NzMsCTE2LAl7MHg4MCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg1MywgMHg5MSwgMHhkZiwgMHhkMH0gfSwKLXsgMHgwNjgzLAkxNiwJezB4MDcsIDB4ZDAsIDB4MDYsIDB4ZDAsIDB4MDMsIDB4ZDAsIDB4MDIsIDB4ZDAsIDB4MDEsIDB4ZDAsIDB4MDAsIDB4ZDAsIDB4ZDAsIDB4ZDAsIDB4ODYsIDB4ZDB9IH0sCi17IDB4MDY5MywJMTAsCXsweDg0LCAweGQwLCAweDg1LCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDA2OWQsCTE2LAl7MHhjMiwgMHgwNCwgMHhkMiwgMHgwNSwgMHhlNCwgMHhmNSwgMHgyNSwgMHhjMiwgMHgwMywgMHhjMiwgMHgwMCwgMHhjMiwgMHgwMiwgMHhjMiwgMHgwMSwgMHgxMn0gfSwKLXsgMHgwNmFkLAkxNiwJezB4MGUsIDB4NzQsIDB4ZDIsIDB4ZTgsIDB4NDMsIDB4ZDgsIDB4MjAsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YTl9IH0sCi17IDB4MDZiZCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGFhLCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweDkwfSB9LAoteyAweDA2Y2QsCTE2LAl7MHg3ZiwgMHg5MywgMHg3NCwgMHgzMCwgMHhmMCwgMHgxMiwgMHgwYSwgMHgxOSwgMHg3NSwgMHgyNCwgMHg0OCwgMHg3NSwgMHgyMywgMHg5MiwgMHg3NSwgMHgyMn0gfSwKLXsgMHgwNmRkLAkxNiwJezB4MDAsIDB4NzUsIDB4MjEsIDB4MDAsIDB4ZTQsIDB4ZmYsIDB4ZmUsIDB4N2UsIDB4MDUsIDB4OTAsIDB4MjAsIDB4NjgsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4YTN9IH0sCi17IDB4MDZlZCwJMTYsCXsweGRlLCAweGZjLCAweDdlLCAweDAwLCAweDdmLCAweDA1LCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlfSB9LAoteyAweDA2ZmQsCTE2LAl7MHhlMCwgMHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHgxMiwgMHgwZSwgMHg2OCwgMHgzMCwgMHgwMSwgMHgwYSwgMHhlNCwgMHg5MCwgMHgyMCwgMHg2OX0gfSwKLXsgMHgwNzBkLAkxNiwJezB4ZjAsIDB4MTIsIDB4MDMsIDB4N2UsIDB4YzIsIDB4MDEsIDB4MzAsIDB4MDQsIDB4MWEsIDB4MTIsIDB4MGUsIDB4NzcsIDB4NTAsIDB4MTMsIDB4MTIsIDB4MDl9IH0sCi17IDB4MDcxZCwJMTYsCXsweDAwLCAweDMwLCAweDAwLCAweDA3LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweGYzLCAweDEyLCAweDBkLCAweDhiLCAweDEyLCAweDBlfSB9LAoteyAweDA3MmQsCTE2LAl7MHg3OSwgMHhjMiwgMHgwMywgMHg3ZiwgMHhmZiwgMHg3ZSwgMHhmZiwgMHg3ZCwgMHhmZiwgMHg3YywgMHhmZiwgMHg3OCwgMHgyMSwgMHgxMiwgMHgwOCwgMHgxZH0gfSwKLXsgMHgwNzNkLAkxNiwJezB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDAsIDB4NzgsIDB4MDAsIDB4YzMsIDB4MTIsIDB4MDgsIDB4MGMsIDB4NzAsIDB4MWIsIDB4NzUsIDB4MjR9IH0sCi17IDB4MDc0ZCwJMTYsCXsweDQ4LCAweDc1LCAweDIzLCAweDkyLCAweGY1LCAweDIyLCAweGY1LCAweDIxLCAweDYzLCAweDI1LCAweGZmLCAweDkwLCAweDIwLCAweDY4LCAweGU1LCAweDI1fSB9LAoteyAweDA3NWQsCTE0LAl7MHhmMCwgMHhhMywgMHg3NCwgMHgwMSwgMHhmMCwgMHhhMywgMHhmMCwgMHhhMywgMHhmMCwgMHgxMiwgMHgwOCwgMHhmZiwgMHg4MCwgMHg5Yn0gfSwKLXsgMHgwNzZiLAkxLAl7MHgyMn0gfSwKLXsgMHgwNzZjLAkxNiwJezB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDJ9IH0sCi17IDB4MDc3YywJOSwJezB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDc4NSwJMTYsCXsweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwfSB9LAoteyAweDA3OTUsCTE2LAl7MHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMn0gfSwKLXsgMHgwN2E1LAkxMywJezB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDdiMiwJMTYsCXsweGY4LCAweGJiLCAweDAxLCAweDBkLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwfSB9LAoteyAweDA3YzIsCTE2LAl7MHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOH0gfSwKLXsgMHgwN2QyLAkyLAl7MHhmMiwgMHgyMn0gfSwKLXsgMHgwN2Q0LAkxNiwJezB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjB9IH0sCi17IDB4MDdlNCwJMTYsCXsweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlfSB9LAoteyAweDA3ZjQsCTE2LAl7MHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4M30gfSwKLXsgMHgwODA0LAk4LAl7MHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMn0gfSwKLXsgMHgwODBjLAkxNiwJezB4ZWIsIDB4OWYsIDB4ZjUsIDB4ZjAsIDB4ZWEsIDB4OWUsIDB4NDIsIDB4ZjAsIDB4ZTksIDB4OWQsIDB4NDIsIDB4ZjAsIDB4ZTgsIDB4OWMsIDB4NDUsIDB4ZjB9IH0sCi17IDB4MDgxYywJMSwJezB4MjJ9IH0sCi17IDB4MDgxZCwJMTYsCXsweDA4LCAweDA4LCAweDA4LCAweGU2LCAweDJmLCAweGZmLCAweGY2LCAweDE4LCAweGU2LCAweDNlLCAweGZlLCAweGY2LCAweDE4LCAweGU2LCAweDNkLCAweGZkfSB9LAoteyAweDA4MmQsCTcsCXsweGY2LCAweDE4LCAweGU2LCAweDNjLCAweGZjLCAweGY2LCAweDIyfSB9LAoteyAweDA4MzQsCTQsCXsweDhjLCAweDM0LCAweDhkLCAweDM1fSB9LAoteyAweDA4MzgsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHhjMCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgzNiwgMHhmNSwgMHgzNywgMHhjMywgMHhlNSwgMHgzNywgMHg5NX0gfSwKLXsgMHgwODQ4LAkxNiwJezB4MzUsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4NTAsIDB4NjksIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjV9IH0sCi17IDB4MDg1OCwJMTYsCXsweDgzLCAweDc0LCAweGZmLCAweGYwLCAweGY0LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM3LCAweGY1LCAweDgyLCAweGU1LCAweDM2fSB9LAoteyAweDA4NjgsCTE2LAl7MHgzZSwgMHhmNSwgMHg4MywgMHhlNCwgMHhmMCwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNn0gfSwKLXsgMHgwODc4LAkxNiwJezB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4YWEsIDB4ZjAsIDB4NjQsIDB4YWEsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjV9IH0sCi17IDB4MDg4OCwJMTYsCXsweDgyLCAweGU1LCAweDM2LCAweDNlLCAweGY1LCAweDgzLCAweDc0LCAweDU1LCAweGYwLCAweDY0LCAweDU1LCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGFkfSB9LAoteyAweDA4OTgsCTE2LAl7MHgzNywgMHhlNSwgMHgzNywgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHhlZCwgMHhmMCwgMHhmYywgMHhhYywgMHgwNX0gfSwKLXsgMHgwOGE4LAkxNiwJezB4ZWQsIDB4NmMsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4MDUsIDB4MzcsIDB4ZTUsIDB4MzcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzYsIDB4ODAsIDB4OGN9IH0sCi17IDB4MDhiOCwJMTYsCXsweGU0LCAweGY1LCAweDM2LCAweGY1LCAweDM3LCAweGMzLCAweGU1LCAweDM3LCAweDk1LCAweDM1LCAweGU1LCAweDM2LCAweDk1LCAweDM0LCAweDUwLCAweDI3fSB9LAoteyAweDA4YzgsCTE2LAl7MHhlZiwgMHgyNSwgMHgzNywgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNiwgMHgzZSwgMHhmNSwgMHg4MywgMHhlMCwgMHg2NSwgMHgzNywgMHg2MCwgMHgwMiwgMHhjM30gfSwKLXsgMHgwOGQ4LAkxNiwJezB4MjIsIDB4ZWYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzYsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4ZjAsIDB4MDUsIDB4MzcsIDB4ZTV9IH0sCi17IDB4MDhlOCwJOCwJezB4MzcsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzYsIDB4ODAsIDB4Y2UsIDB4ZDN9IH0sCi17IDB4MDhmMCwJMSwJezB4MjJ9IH0sCi17IDB4MDhmMSwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDA4ZmYsCTEsCXsweDIyfSB9LAoteyAweDA5MDAsCTksCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDc0fSB9LAoteyAweDA5N2QsCTE2LAl7MHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwOThkLAkxMiwJezB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4M2EsIDB4MDIsIDB4MDksIDB4ZDR9IH0sCi17IDB4MDk5OSwJMTYsCXsweDAyLCAweDA2LCAweDlkLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyfSB9LAoteyAweDA5YTksCTE2LAl7MHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzM30gfSwKLXsgMHgwOWI5LAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGZ9IH0sCi17IDB4MDljOSwJMTYsCXsweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBlLCAweDJkLCAweGU0LCAweDdlfSB9LAoteyAweDA5ZDksCTE2LAl7MHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5M30gfSwKLXsgMHgwOWU5LAkxNiwJezB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTN9IH0sCi17IDB4MDlmOSwJMTYsCXsweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfSB9LAoteyAweDBhMDksCTE2LAl7MHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZX0gfSwKLXsgMHgwYTE5LAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4ZmUsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ODl9IH0sCi17IDB4MGEyOSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGNmLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmfSB9LAoteyAweDBhMzksCTE2LAl7MHg5NiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHhkNSwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwYTQ5LAkxNiwJezB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4MDV9IH0sCi17IDB4MGE1OSwJMTYsCXsweDdlLCAweDAwLCAweDEyLCAweDBkLCAweGQ1LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNjksCTE2LAl7MHgxMiwgMHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZH0gfSwKLXsgMHgwYTc5LAkxNiwJezB4ZDUsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4MjJ9IH0sCi17IDB4MGE4OSwJMTYsCXsweDc1LCAweDMzLCAweDAxLCAweGU1LCAweDMzLCAweDYwLCAweDFiLCAweDdmLCAweDAxLCAweDEyLCAweDBlLCAweDE4LCAweDdmLCAweDAwLCAweDdlLCAweDBlfSB9LAoteyAweDBhOTksCTE2LAl7MHg3ZCwgMHgwMCwgMHg3YywgMHgwMSwgMHgxMiwgMHgwOCwgMHgzNCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMywgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMn0gfSwKLXsgMHgwYWE5LAkxNiwJezB4MGUsIDB4MTgsIDB4ZTUsIDB4MzMsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDIsIDB4MTIsIDB4MGUsIDB4MTgsIDB4N2YsIDB4MDAsIDB4N2UsIDB4ODAsIDB4N2R9IH0sCi17IDB4MGFiOSwJMTYsCXsweDAwLCAweDdjLCAweDgwLCAweDEyLCAweDA4LCAweDM0LCAweGU0LCAweDMzLCAweGY1LCAweDMzLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyLCAweDBlfSB9LAoteyAweDBhYzksCTE2LAl7MHgxOCwgMHhlNSwgMHgzMywgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMywgMHgxMiwgMHgwZSwgMHgxOCwgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgyMCwgMHg3ZCwgMHg0MH0gfSwKLXsgMHgwYWQ5LAkxNiwJezB4N2MsIDB4NWIsIDB4MTIsIDB4MDgsIDB4MzQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzMsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGUsIDB4MTh9IH0sCi17IDB4MGFlOSwJMTMsCXsweGU1LCAweDMzLCAweDYwLCAweDA1LCAweGU0LCAweGZmLCAweDEyLCAweDBlLCAweDE4LCAweGU1LCAweDMzLCAweDI0LCAweGZmfSB9LAoteyAweDBhZjYsCTEsCXsweDIyfSB9LAoteyAweDBhZjcsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDEwLCAweGQzLCAweDIyfSB9LAoteyAweDBhZmYsCTEsCXsweDMyfSB9LAoteyAweDBiMDAsCTE2LAl7MHgwMiwgMHgwZCwgMHhhNSwgMHgwMCwgMHgwMiwgMHgwZCwgMHhlYywgMHgwMCwgMHgwMiwgMHgwZCwgMHg3MCwgMHgwMCwgMHgwMiwgMHgwZCwgMHhiZCwgMHgwMH0gfSwKLXsgMHgwYjEwLAkxNiwJezB4MDIsIDB4MGUsIDB4MDIsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZmYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4ODQsIDB4MDB9IH0sCi17IDB4MGIyMCwJMTYsCXsweDAyLCAweDBlLCAweDg1LCAweDAwLCAweDAyLCAweDBlLCAweDg2LCAweDAwLCAweDAyLCAweDBlLCAweDg3LCAweDAwLCAweDAyLCAweDBlLCAweDg4LCAweDAwfSB9LAoteyAweDBiMzAsCTE2LAl7MHgwMiwgMHgwZSwgMHg4OSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YSwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg4YywgMHgwMH0gfSwKLXsgMHgwYjQwLAkxNiwJezB4MDIsIDB4MGUsIDB4OGQsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGUsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OGYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OTAsIDB4MDB9IH0sCi17IDB4MGI1MCwJOCwJezB4MDIsIDB4MGUsIDB4OTEsIDB4MDAsIDB4MDIsIDB4MGUsIDB4OTIsIDB4MDB9IH0sCi17IDB4MGI1OCwJMTYsCXsweGU0LCAweGZlLCAweDc1LCAweDJiLCAweGZmLCAweDc1LCAweDJjLCAweDExLCAweDc1LCAweDJkLCAweDEyLCAweGFiLCAweDJiLCAweGFhLCAweDJjLCAweGE5fSB9LAoteyAweDBiNjgsCTE2LAl7MHgyZCwgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwNywgMHg4NSwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNX0gfSwKLXsgMHgwYjc4LAkxNiwJezB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MDcsIDB4ZDQsIDB4ODUsIDB4ZjAsIDB4MjksIDB4ZjUsIDB4MmEsIDB4NjIsIDB4Mjl9IH0sCi17IDB4MGI4OCwJMTYsCXsweGU1LCAweDI5LCAweDYyLCAweDJhLCAweGU1LCAweDJhLCAweDYyLCAweDI5LCAweDI5LCAweGZkLCAweGU1LCAweDI5LCAweDNhLCAweGE5LCAweDA1LCAweDc1fSB9LAoteyAweDBiOTgsCTE0LAl7MHgyYiwgMHhmZiwgMHhmNSwgMHgyYywgMHg4OSwgMHgyZCwgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYmE2LAkxLAl7MHgyMn0gfSwKLXsgMHgwYmE3LAk2LAl7MHhhYiwgMHgwNywgMHhhYSwgMHgwNiwgMHhhYywgMHgwNX0gfSwKLXsgMHgwYmFkLAkxNiwJezB4ZTQsIDB4ZmQsIDB4ZTUsIDB4MTEsIDB4NjAsIDB4MTEsIDB4ZWEsIDB4ZmYsIDB4YWUsIDB4MDUsIDB4MGQsIDB4ZWUsIDB4MjQsIDB4MTAsIDB4ZjUsIDB4ODJ9IH0sCi17IDB4MGJiZCwJMTYsCXsweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGViLCAweGFlLCAweDA1LCAweDBkLCAweDc0LCAweDEwLCAweDJlLCAweGY1LCAweDgyfSB9LAoteyAweDBiY2QsCTE2LAl7MHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYiwgMHhmMCwgMHhhZiwgMHgwNSwgMHgwZCwgMHg3NCwgMHgxMCwgMHgyZiwgMHhmNSwgMHg4MiwgMHhlNH0gfSwKLXsgMHgwYmRkLAkxNiwJezB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGYsIDB4N2IsIDB4MTAsIDB4MTIsIDB4MGQsIDB4NTEsIDB4N2Z9IH0sCi17IDB4MGJlZCwJNiwJezB4MGEsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4ZDV9IH0sCi17IDB4MGJmMywJMSwJezB4MjJ9IH0sCi17IDB4MGJmNCwJMTAsCXsweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhkLCAweDM1LCAweDhhLCAweDM2LCAweDhiLCAweDM3fSB9LAoteyAweDBiZmUsCTE2LAl7MHhlNCwgMHhmZCwgMHhmNSwgMHgzOCwgMHhlNSwgMHgxMSwgMHg2MCwgMHgxMiwgMHhlNSwgMHgzMywgMHhmZiwgMHhhZSwgMHgwNSwgMHgwZCwgMHhlZSwgMHgyNH0gfSwKLXsgMHgwYzBlLAkxNiwJezB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4ZTUsIDB4MzQsIDB4YWUsIDB4MDUsIDB4MGQsIDB4NzR9IH0sCi17IDB4MGMxZSwJMTYsCXsweDEzLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGU1LCAweDM0LCAweGYwLCAweGFmLCAweDBmLCAweDdhLCAweDBmfSB9LAoteyAweDBjMmUsCTE2LAl7MHg3YiwgMHgxMywgMHgxMiwgMHgwZCwgMHg1MSwgMHhhZiwgMHgwZiwgMHhhZCwgMHgzNSwgMHhhYiwgMHgzNywgMHhhYSwgMHgzNiwgMHgxMiwgMHgwZCwgMHgzMn0gfSwKLXsgMHgwYzNlLAkxLAl7MHgyMn0gfSwKLXsgMHgwYzNmLAkyLAl7MHg4ZiwgMHgyOX0gfSwKLXsgMHgwYzQxLAkxNiwJezB4ZTQsIDB4ZjUsIDB4MmEsIDB4NzUsIDB4MmIsIDB4ZmYsIDB4NzUsIDB4MmMsIDB4MTEsIDB4NzUsIDB4MmQsIDB4MzIsIDB4YWIsIDB4MmIsIDB4YWEsIDB4MmN9IH0sCi17IDB4MGM1MSwJMTYsCXsweGE5LCAweDJkLCAweDkwLCAweDAwLCAweDAxLCAweDEyLCAweDA3LCAweDg1LCAweGI0LCAweDAzLCAweDFkLCAweGFmLCAweDJhLCAweDA1LCAweDJhLCAweGVmfSB9LAoteyAweDBjNjEsCTE2LAl7MHhiNSwgMHgyOSwgMHgwMSwgMHgyMiwgMHgxMiwgMHgwNywgMHg2YywgMHg3ZSwgMHgwMCwgMHgyOSwgMHhmZiwgMHhlZSwgMHgzYSwgMHhhOSwgMHgwNywgMHg3NX0gfSwKLXsgMHgwYzcxLAkxNCwJezB4MmIsIDB4ZmYsIDB4ZjUsIDB4MmMsIDB4ODksIDB4MmQsIDB4ODAsIDB4ZDQsIDB4N2IsIDB4MDAsIDB4N2EsIDB4MDAsIDB4NzksIDB4MDB9IH0sCi17IDB4MGM3ZiwJMSwJezB4MjJ9IH0sCi17IDB4MGM4MCwJMTAsCXsweDhlLCAweDMzLCAweDhmLCAweDM0LCAweDhkLCAweDM1LCAweDhhLCAweDM2LCAweDhiLCAweDM3fSB9LAoteyAweDBjOGEsCTE2LAl7MHhlNCwgMHhmNSwgMHgzOCwgMHhlNSwgMHgzOCwgMHhjMywgMHg5NSwgMHgzNSwgMHg1MCwgMHgyMCwgMHgwNSwgMHgzNCwgMHhlNSwgMHgzNCwgMHhhZSwgMHgzM30gfSwKLXsgMHgwYzlhLAkxNiwJezB4NzAsIDB4MDIsIDB4MDUsIDB4MzMsIDB4MTQsIDB4ZmYsIDB4ZTUsIDB4MzcsIDB4MjUsIDB4MzgsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MzYsIDB4ZjV9IH0sCi17IDB4MGNhYSwJMTAsCXsweDgzLCAweGUwLCAweGZkLCAweDEyLCAweDBiLCAweGE3LCAweDA1LCAweDM4LCAweDgwLCAweGQ5fSB9LAoteyAweDBjYjQsCTEsCXsweDIyfSB9LAoteyAweDBjYjUsCTE2LAl7MHhhOSwgMHgwNywgMHhlNSwgMHgwZCwgMHg3MCwgMHgyNSwgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlOSwgMHgyNSwgMHhlMH0gfSwKLXsgMHgwY2M1LAkxNiwJezB4NDQsIDB4MDEsIDB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OGQsIDB4MDgsIDB4YWYsIDB4MDMsIDB4YTksIDB4MDcsIDB4NzUsIDB4MDksIDB4MDEsIDB4OGF9IH0sCi17IDB4MGNkNSwJMTMsCXsweDBhLCAweDg5LCAweDBiLCAweGU0LCAweGY1LCAweDBjLCAweDc1LCAweDBkLCAweDAzLCAweGQzLCAweDIyLCAweGMzLCAweDIyfSB9LAoteyAweDBjZTIsCTE2LAl7MHhhOSwgMHgwNywgMHhlNSwgMHgwZCwgMHg3MCwgMHgyMywgMHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg4MCwgMHhmMCwgMHhlOSwgMHgyNSwgMHhlMH0gfSwKLXsgMHgwY2YyLAkxNiwJezB4OTAsIDB4N2YsIDB4YTYsIDB4ZjAsIDB4OGQsIDB4MDgsIDB4YWYsIDB4MDMsIDB4YTksIDB4MDcsIDB4NzUsIDB4MDksIDB4MDEsIDB4OGEsIDB4MGEsIDB4ODl9IH0sCi17IDB4MGQwMiwJMTEsCXsweDBiLCAweGU0LCAweGY1LCAweDBjLCAweDc1LCAweDBkLCAweDAxLCAweGQzLCAweDIyLCAweGMzLCAweDIyfSB9LAoteyAweDBkMGQsCTE2LAl7MHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmYiwgMHhmMCwgMHhlMCwgMHg0NCwgMHgwOCwgMHhmMCwgMHgzMCwgMHgwNiwgMHgwNCwgMHhlMCwgMHg0NH0gfSwKLXsgMHgwZDFkLAkxNiwJezB4MDIsIDB4ZjAsIDB4N2YsIDB4ZDAsIDB4N2UsIDB4MDcsIDB4MTIsIDB4MGQsIDB4ZDUsIDB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4NTQsIDB4ZjcsIDB4ZjB9IH0sCi17IDB4MGQyZCwJNSwJezB4ZTAsIDB4NDQsIDB4MDQsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MGQzMiwJMTYsCXsweDEyLCAweDBjLCAweGI1LCAweGU1LCAweDBkLCAweDI0LCAweGZhLCAweDYwLCAweDEwLCAweDE0LCAweDYwLCAweDA3LCAweDI0LCAweDA3LCAweDcwLCAweGYzfSB9LAoteyAweDBkNDIsCTE1LAl7MHg3ZiwgMHgwOCwgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNywgMHgyMiwgMHhlNCwgMHhmNSwgMHgwZCwgMHg3ZiwgMHgwNiwgMHgyMn0gfSwKLXsgMHgwZDUxLAkxNiwJezB4MTIsIDB4MGMsIDB4ZTIsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQ2MSwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkNzAsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg5MCwgMHg3ZiwgMHhjNCwgMHhlNCwgMHhmMCwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwZDgwLAkxMSwJezB4YWIsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ4YiwJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDMwLCAweGU3LCAweDEyLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDdmLCAweDE0LCAweDdlLCAweDAwLCAweDEyfSB9LAoteyAweDBkOWIsCTEwLAl7MHgwZCwgMHhkNSwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwZGE1LAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDEsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDF9IH0sCi17IDB4MGRiNSwJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRiZCwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGQyLCAweDAzLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDA4fSB9LAoteyAweDBkY2QsCTgsCXsweGYwLCAweGQwLCAweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBkZDUsCTE2LAl7MHg4ZSwgMHgzOSwgMHg4ZiwgMHgzYSwgMHhlNSwgMHgzYSwgMHgxNSwgMHgzYSwgMHhhZSwgMHgzOSwgMHg3MCwgMHgwMiwgMHgxNSwgMHgzOSwgMHg0ZSwgMHg2MH0gfSwKLXsgMHgwZGU1LAk3LAl7MHgwNSwgMHgxMiwgMHgwZSwgMHg0MSwgMHg4MCwgMHhlZSwgMHgyMn0gfSwKLXsgMHgwZGVjLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGRmYywJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGUwMiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmLCAweGFiLCAweDc0LCAweDEwLCAweGYwLCAweGQwfSB9LAoteyAweDBlMTIsCTYsCXsweDgyLCAweGQwLCAweDgzLCAweGQwLCAweGUwLCAweDMyfSB9LAoteyAweDBlMTgsCTE2LAl7MHhhZSwgMHgwNywgMHg3ZiwgMHgyMSwgMHg3ZCwgMHgwMSwgMHg3NCwgMHgwMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhhYiwgMHg4Mn0gfSwKLXsgMHgwZTI4LAk1LAl7MHhmYSwgMHgxMiwgMHgwZCwgMHg1MSwgMHgyMn0gfSwKLXsgMHgwZTJkLAkxNiwJezB4NTAsIDB4MGYsIDB4MDAsIDB4YzAsIDB4ZjksIDB4YTQsIDB4YjAsIDB4OTksIDB4OTIsIDB4ODIsIDB4ZjgsIDB4ODAsIDB4OTgsIDB4ODgsIDB4ODMsIDB4YzZ9IH0sCi17IDB4MGUzZCwJMywJezB4YTEsIDB4ODYsIDB4OGV9IH0sCi17IDB4MGU0MCwJMSwJezB4MDB9IH0sCi17IDB4MGU0MSwJMTYsCXsweDc0LCAweDAwLCAweGY1LCAweDg2LCAweDkwLCAweGZkLCAweGE1LCAweDdjLCAweDA1LCAweGEzLCAweGU1LCAweDgyLCAweDQ1LCAweDgzLCAweDcwLCAweGY5fSB9LAoteyAweDBlNTEsCTEsCXsweDIyfSB9LAoteyAweDBlNTIsCTE0LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTYwLAk4LAl7MHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZSwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTY4LAk4LAl7MHhlNCwgMHhmNSwgMHgwZCwgMHhkMiwgMHhlOSwgMHhkMiwgMHhhZiwgMHgyMn0gfSwKLXsgMHgwZTcwLAk0LAl7MHg1MywgMHhkOCwgMHhlZiwgMHgzMn0gfSwKLXsgMHgwZTc0LAkzLAl7MHhkMiwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwZTc3LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTc5LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTdiLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTdkLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTdmLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTgxLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTgzLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg0LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg1LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg2LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg3LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg4LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTg5LAkxLAl7MHgzMn0gfSwKLXsgMHgwZThhLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThiLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThjLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThkLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThlLAkxLAl7MHgzMn0gfSwKLXsgMHgwZThmLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTkwLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTkxLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTkyLAkxLAl7MHgzMn0gfSwKLXsgMHgxMTAwLAkxNiwJezB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDcsIDB4MDUsIDB4MTAsIDB4MjcsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDJ9IH0sCi17IDB4MTExMCwJMTYsCXsweDAwLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwLCAweDAxLCAweDAxLCAweDAzLCAweGEwLCAweDAwLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDAyfSB9LAoteyAweDExMjAsCTE2LAl7MHhmZiwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MH0gfSwKLXsgMHgxMTMwLAkxNiwJezB4MDAsIDB4MDAsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MjYsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDB9IH0sCi17IDB4MTE0MCwJMTYsCXsweDZmLCAweDAwLCAweDcyLCAweDAwLCAweDIwLCAweDAwLCAweDQzLCAweDAwLCAweDY4LCAweDAwLCAweDY5LCAweDAwLCAweDcwLCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDExNTAsCTE2LAl7MHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgyOCwgMHgwMywgMHg0NiwgMHgwMH0gfSwKLXsgMHgxMTYwLAkxNiwJezB4NjksIDB4MDAsIDB4NzIsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MjAsIDB4MDB9IH0sCi17IDB4MTE3MCwJMTYsCXsweDQ2LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDZkLCAweDAwLCAweDY1LCAweDAwLCAweDU3LCAweDAwLCAweDZmLCAweDAwLCAweDcyLCAweDAwfSB9LAoteyAweDExODAsCTE2LAl7MHg2YiwgMHgwMCwgMHg3MywgMHgwMCwgMHgyYSwgMHgwMywgMHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgxMTkwLAkxNiwJezB4NjcsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDB9IH0sCi17IDB4MTFhMCwJMTYsCXsweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDIyLCAweDAzfSB9LAoteyAweDExYjAsCTE2LAl7MHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMWMwLAkxNiwJezB4NjUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDB9IH0sCi17IDB4MTFkMCwJMiwJezB4MDAsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07Ci0KLSNlbHNlCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2hpdGVoZWF0X2hleF9yZWNvcmQgd2hpdGVoZWF0X2xvYWRlcltdID0gewoteyAweDAwMDAsCTMsCXsweDAyLCAweDA5LCAweDhkfSB9LAoteyAweDAwMzMsCTMsCXsweDAyLCAweDA4LCAweGZifSB9LAoteyAweDAwNDMsCTMsCXsweDAyLCAweDBiLCAweDAwfSB9LAoteyAweDAwNGIsCTMsCXsweDAyLCAweDA1LCAweGFhfSB9LAoteyAweDAxMDAsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg1NCwgMHgxMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg0NCwgMHg1MCwgMHhmNSwgMHgwZiwgMHgxMywgMHhlNH0gfSwKLXsgMHgwMTEwLAkxNiwJezB4MzMsIDB4ZjUsIDB4MTEsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4MjQsIDB4NWUsIDB4YjQsIDB4MDcsIDB4MDAsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDN9IH0sCi17IDB4MDEyMCwJMTYsCXsweDc4LCAweDkwLCAweDAxLCAweDI4LCAweGY4LCAweDI4LCAweDI4LCAweDczLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxLCAweGJjLCAweDAyLCAweDAxfSB9LAoteyAweDAxMzAsCTE2LAl7MHg5MSwgMHgwMiwgMHgwMSwgMHgzZCwgMHgwMiwgMHgwMSwgMHg1MywgMHgwMiwgMHgwMSwgMHg2ZiwgMHgwMiwgMHgwMSwgMHg5YSwgMHg5MCwgMHg3ZiwgMHgwMH0gfSwKLXsgMHgwMTQwLAkxNiwJezB4ZTUsIDB4MTEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjB9IH0sCi17IDB4MDE1MCwJMTYsCXsweDAyLCAweDAzLCAweDc4LCAweDkwLCAweDdmLCAweDkyLCAweGUwLCAweGZmLCAweGM0LCAweDU0LCAweDBmLCAweDkwLCAweDdmLCAweDAwLCAweGYwLCAweDkwfSB9LAoteyAweDAxNjAsCTE2LAl7MHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwMywgMHg3OCwgMHgxMn0gfSwKLXsgMHgwMTcwLAkxNiwJezB4MGEsIDB4ODksIDB4NTAsIDB4MDcsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ODAsIDB4MDYsIDB4OTAsIDB4N2YsIDB4MDAsIDB4NzQsIDB4MGZ9IH0sCi17IDB4MDE4MCwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAyLCAweGYwLCAweDAyLCAweDAzfSB9LAoteyAweDAxOTAsCTE2LAl7MHg3OCwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZiwgMHgwMiwgMHgwMywgMHg3OCwgMHg5MCwgMHg3ZiwgMHgwMCwgMHg3NCwgMHgwNywgMHhmMH0gfSwKLXsgMHgwMWEwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4N2YsIDB4ZTgsIDB4N2V9IH0sCi17IDB4MDFiMCwJMTYsCXsweDAzLCAweDEyLCAweDBkLCAweDk0LCAweGQyLCAweDA2LCAweDEyLCAweDBjLCAweGNjLCAweDAyLCAweDAzLCAweDc4LCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAxYzAsCTE2LAl7MHg3NSwgMHgyOCwgMHgwMCwgMHhmNSwgMHgyOSwgMHhhMywgMHhlMCwgMHhmZSwgMHhlNCwgMHhlZSwgMHg0MiwgMHgyOCwgMHg5MCwgMHg3ZiwgMHhlZSwgMHhlMH0gfSwKLXsgMHgwMWQwLAkxNiwJezB4NzUsIDB4MmEsIDB4MDAsIDB4ZjUsIDB4MmIsIDB4YTMsIDB4ZTAsIDB4ZmUsIDB4ZTQsIDB4ZWUsIDB4NDIsIDB4MmEsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTB9IH0sCi17IDB4MDFlMCwJMTYsCXsweDY0LCAweGMwLCAweDYwLCAweDAzLCAweDAyLCAweDAyLCAweGM5LCAweGU1LCAweDJiLCAweDQ1LCAweDJhLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDc4fSB9LAoteyAweDAxZjAsCTE2LAl7MHhjMywgMHhlNSwgMHgyYiwgMHg5NCwgMHg0MCwgMHhlNSwgMHgyYSwgMHg5NCwgMHgwMCwgMHg1MCwgMHgwOCwgMHg4NSwgMHgyYSwgMHgyYywgMHg4NSwgMHgyYn0gfSwKLXsgMHgwMjAwLAkxNiwJezB4MmQsIDB4ODAsIDB4MDYsIDB4NzUsIDB4MmMsIDB4MDAsIDB4NzUsIDB4MmQsIDB4NDAsIDB4OTAsIDB4N2YsIDB4ZTksIDB4ZTAsIDB4NjQsIDB4YTMsIDB4NzB9IH0sCi17IDB4MDIxMCwJMTYsCXsweDM0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGMzLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweGU1LCAweDMwLCAweDk1LCAweDJjLCAweDUwLCAweDVjfSB9LAoteyAweDAyMjAsCTE2LAl7MHhlNSwgMHgyOSwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzMCwgMHgzNSwgMHgyOCwgMHhmNSwgMHg4MywgMHhlMCwgMHhmZiwgMHg3NCwgMHgwMH0gfSwKLXsgMHgwMjMwLAkxNiwJezB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZWYsIDB4ZjAsIDB4MDUsIDB4MzEsIDB4ZTUsIDB4MzEsIDB4NzB9IH0sCi17IDB4MDI0MCwJMTYsCXsweDAyLCAweDA1LCAweDMwLCAweDgwLCAweGQwLCAweGU0LCAweGY1LCAweDMwLCAweGY1LCAweDMxLCAweGMzLCAweGU1LCAweDMxLCAweDk1LCAweDJkLCAweGU1fSB9LAoteyAweDAyNTAsCTE2LAl7MHgzMCwgMHg5NSwgMHgyYywgMHg1MCwgMHgxOCwgMHg3NCwgMHgwMCwgMHgyNSwgMHgzMSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHg3ZiwgMHhmNSwgMHg4M30gfSwKLXsgMHgwMjYwLAkxNiwJezB4NzQsIDB4Y2QsIDB4ZjAsIDB4MDUsIDB4MzEsIDB4ZTUsIDB4MzEsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzAsIDB4ODAsIDB4ZGQsIDB4YWYsIDB4MjksIDB4YWV9IH0sCi17IDB4MDI3MCwJMTYsCXsweDI4LCAweGFkLCAweDJkLCAweDdhLCAweDdmLCAweDc5LCAweDAwLCAweDdiLCAweDAwLCAweDEyLCAweDBiLCAweGY0LCAweDkwLCAweDdmLCAweGI1LCAweGU1fSB9LAoteyAweDAyODAsCTE2LAl7MHgyZCwgMHhmMCwgMHhlNSwgMHgyZCwgMHgyNSwgMHgyOSwgMHhmNSwgMHgyOSwgMHhlNSwgMHgyYywgMHgzNSwgMHgyOCwgMHhmNSwgMHgyOCwgMHhjMywgMHhlNX0gfSwKLXsgMHgwMjkwLAkxNiwJezB4MmIsIDB4OTUsIDB4MmQsIDB4ZjUsIDB4MmIsIDB4ZTUsIDB4MmEsIDB4OTUsIDB4MmMsIDB4ZjUsIDB4MmEsIDB4OTAsIDB4N2YsIDB4OTIsIDB4ZTAsIDB4ZmZ9IH0sCi17IDB4MDJhMCwJMTYsCXsweGM0LCAweDU0LCAweDBmLCAweDc1LCAweDJlLCAweDAwLCAweGY1LCAweDJmLCAweGQzLCAweDk0LCAweDAwLCAweGU1LCAweDJlLCAweDk0LCAweDAwLCAweDUwfSB9LAoteyAweDAyYjAsCTE2LAl7MHgwYywgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgwMywgMHgwMiwgMHgwMSwgMHhlNywgMHg4MCwgMHhmNCwgMHg5MCwgMHg3ZiwgMHhiNH0gfSwKLXsgMHgwMmMwLAkxNiwJezB4ZTAsIDB4MjAsIDB4ZTIsIDB4MDMsIDB4MDIsIDB4MDEsIDB4ZTcsIDB4ODAsIDB4ZjQsIDB4OTAsIDB4N2YsIDB4ZTgsIDB4ZTAsIDB4NjQsIDB4NDAsIDB4NjB9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAzLCAweDAyLCAweDAzLCAweDc4LCAweGU1LCAweDJiLCAweDQ1LCAweDJhLCAweDcwLCAweDAzLCAweDAyLCAweDAzLCAweDc4LCAweGU0LCAweDkwLCAweDdmfSB9LAoteyAweDAyZTAsCTE2LAl7MHhjNSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5MiwgMHhlMCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHg3NSwgMHgyZSwgMHgwMCwgMHhmNSwgMHgyZiwgMHhkM30gfSwKLXsgMHgwMmYwLAkxNiwJezB4OTQsIDB4MDAsIDB4ZTUsIDB4MmUsIDB4OTQsIDB4MDAsIDB4NTAsIDB4MDksIDB4OTAsIDB4N2YsIDB4YzQsIDB4ZTAsIDB4MzAsIDB4ZTEsIDB4MDksIDB4ODB9IH0sCi17IDB4MDMwMCwJMTYsCXsweGY3LCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDIwLCAweGUzLCAweGY5LCAweDkwLCAweDdmLCAweGM1LCAweGUwLCAweDc1LCAweDJjLCAweDAwLCAweGY1fSB9LAoteyAweDAzMTAsCTE2LAl7MHgyZCwgMHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg2NCwgMHhhMywgMHg3MCwgMHgzNCwgMHhmNSwgMHgzMCwgMHhmNSwgMHgzMSwgMHhjMywgMHhlNSwgMHgzMX0gfSwKLXsgMHgwMzIwLAkxNiwJezB4OTUsIDB4MmQsIDB4ZTUsIDB4MzAsIDB4OTUsIDB4MmMsIDB4NTAsIDB4MzQsIDB4NzQsIDB4YzAsIDB4MjUsIDB4MzEsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzR9IH0sCi17IDB4MDMzMCwJMSwJezB4N2V9IH0sCi17IDB4MDMzMSwJMTYsCXsweGY1LCAweDgzLCAweGUwLCAweGZmLCAweGU1LCAweDI5LCAweDI1LCAweDMxLCAweGY1LCAweDgyLCAweGU1LCAweDMwLCAweDM1LCAweDI4LCAweGY1LCAweDgzfSB9LAoteyAweDAzNDEsCTE2LAl7MHhlZiwgMHhmMCwgMHgwNSwgMHgzMSwgMHhlNSwgMHgzMSwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMCwgMHg4MCwgMHhkMCwgMHhhZiwgMHgyOSwgMHhhZSwgMHgyOH0gfSwKLXsgMHgwMzUxLAkxNiwJezB4YWQsIDB4MmQsIDB4N2EsIDB4N2UsIDB4NzksIDB4YzAsIDB4N2IsIDB4YzAsIDB4MTIsIDB4MGMsIDB4M2YsIDB4ZTUsIDB4MmQsIDB4MjUsIDB4MjksIDB4ZjV9IH0sCi17IDB4MDM2MSwJMTYsCXsweDI5LCAweGU1LCAweDJjLCAweDM1LCAweDI4LCAweGY1LCAweDI4LCAweGMzLCAweGU1LCAweDJiLCAweDk1LCAweDJkLCAweGY1LCAweDJiLCAweGU1LCAweDJhfSB9LAoteyAweDAzNzEsCTksCXsweDk1LCAweDJjLCAweGY1LCAweDJhLCAweDAyLCAweDAyLCAweGQ0LCAweGMzLCAweDIyfSB9LAoteyAweDAzN2EsCTE2LAl7MHg5MCwgMHg3ZiwgMHhlOSwgMHhlMCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHg1MiwgMHgxNCwgMHg3MCwgMHgwMywgMHgwMiwgMHgwNCwgMHhjZSwgMHgyNH0gfSwKLXsgMHgwMzhhLAkxNiwJezB4ZmUsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4NDIsIDB4MjQsIDB4ZmIsIDB4NzAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4NGMsIDB4MTQsIDB4NzAsIDB4MDN9IH0sCi17IDB4MDM5YSwJMTYsCXsweDAyLCAweDA0LCAweDQ2LCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDNhLCAweDE0LCAweDcwLCAweDAzLCAweDAyLCAweDA0LCAweDQwLCAweDI0fSB9LAoteyAweDAzYWEsCTE2LAl7MHgwNSwgMHg2MCwgMHgwMywgMHgwMiwgMHgwNSwgMHg5NiwgMHgxMiwgMHgwZSwgMHg0NCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwM2JhLAkxNiwJezB4ZWIsIDB4ZTAsIDB4MjQsIDB4ZmUsIDB4NjAsIDB4MTYsIDB4MTQsIDB4NjAsIDB4NDAsIDB4MjQsIDB4MDIsIDB4NzAsIDB4NjksIDB4NzQsIDB4MTEsIDB4OTB9IH0sCi17IDB4MDNjYSwJMTYsCXsweDdmLCAweGQ0LCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweGQ1LCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwfSB9LAoteyAweDAzZGEsCTE2LAl7MHhmZiwgMHgxMiwgMHgwYiwgMHg1OCwgMHg4YiwgMHgyNSwgMHg4YSwgMHgyNiwgMHg4OSwgMHgyNywgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMn0gfSwKLXsgMHgwM2VhLAkxNiwJezB4ZWUsIDB4OTAsIDB4N2YsIDB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTB9IH0sCi17IDB4MDNmYSwJMTYsCXsweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGZmLCAweDEyLCAweDA4fSB9LAoteyAweDA0MGEsCTE2LAl7MHhiYSwgMHg4YiwgMHgyNSwgMHg4YSwgMHgyNiwgMHg4OSwgMHgyNywgMHhlYSwgMHg0OSwgMHg2MCwgMHgxMSwgMHhhZSwgMHgwMiwgMHhlZSwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNDFhLAkxNiwJezB4ZDQsIDB4ZjAsIDB4YWYsIDB4MDEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4ZDUsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTB9IH0sCi17IDB4MDQyYSwJMTYsCXsweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1LCAweGEyfSB9LAoteyAweDA0M2EsCTE2LAl7MHgxMiwgMHgwZSwgMHgxZiwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHgyZCwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwYSwgMHhmNywgMHgwMn0gfSwKLXsgMHgwNDRhLAkxNiwJezB4MDUsIDB4YTIsIDB4MTIsIDB4MGUsIDB4MTEsIDB4MDIsIDB4MDUsIDB4YTIsIDB4MTIsIDB4MGUsIDB4NDYsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTJ9IH0sCi17IDB4MDQ1YSwJMTYsCXsweDkwLCAweDdmLCAweGU4LCAweGUwLCAweDI0LCAweDdmLCAweDYwLCAweDI0LCAweDE0LCAweDYwLCAweDMxLCAweDI0LCAweDAyLCAweDcwLCAweDViLCAweGEyfSB9LAoteyAweDA0NmEsCTE2LAl7MHgwMCwgMHhlNCwgMHgzMywgMHhmZiwgMHgyNSwgMHhlMCwgMHhmZiwgMHhhMiwgMHgwMiwgMHhlNCwgMHgzMywgMHg0ZiwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMH0gfSwKLXsgMHgwNDdhLAkxNiwJezB4ZTQsIDB4YTMsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjUsIDB4NzQsIDB4MDIsIDB4ZjAsIDB4MDIsIDB4MDUsIDB4YTIsIDB4ZTQsIDB4OTAsIDB4N2YsIDB4MDB9IH0sCi17IDB4MDQ4YSwJMTYsCXsweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGVjLCAweGUwfSB9LAoteyAweDA0OWEsCTE2LAl7MHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNCwgMHg1NCwgMHgwZiwgMHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHgyNSwgMHhlMCwgMHgyNCwgMHhiNH0gfSwKLXsgMHgwNGFhLAkxNiwJezB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2YsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4OTAsIDB4N2YsIDB4MDAsIDB4ZjAsIDB4ZTQsIDB4YTN9IH0sCi17IDB4MDRiYSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxfSB9LAoteyAweDA0Y2EsCTE2LAl7MHhmMCwgMHgwMiwgMHgwNSwgMHhhMiwgMHgxMiwgMHgwZSwgMHg0OCwgMHg0MCwgMHgwMywgMHgwMiwgMHgwNSwgMHhhMiwgMHg5MCwgMHg3ZiwgMHhlOCwgMHhlMH0gfSwKLXsgMHgwNGRhLAkxNiwJezB4MjQsIDB4ZmUsIDB4NjAsIDB4MWQsIDB4MjQsIDB4MDIsIDB4NjAsIDB4MDMsIDB4MDIsIDB4MDUsIDB4YTIsIDB4OTAsIDB4N2YsIDB4ZWEsIDB4ZTAsIDB4YjR9IH0sCi17IDB4MDRlYSwJMTYsCXsweDAxLCAweDA1LCAweGMyLCAweDAwLCAweDAyLCAweDA1LCAweGEyLCAweDkwLCAweDdmLCAweGI0LCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDAyLCAweDA1fSB9LAoteyAweDA0ZmEsCTE2LAl7MHhhMiwgMHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHg3MCwgMHgzOCwgMHg5MCwgMHg3ZiwgMHhlYywgMHhlMCwgMHhmNCwgMHg1NCwgMHg4MCwgMHhmZiwgMHhjNH0gfSwKLXsgMHgwNTBhLAkxNiwJezB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTAsIDB4NTQsIDB4MDcsIDB4MmYsIDB4MjUsIDB4ZTAsIDB4MjQsIDB4YjQsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4N2Z9IH0sCi17IDB4MDUxYSwJMTYsCXsweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDkwLCAweDdmLCAweGVjLCAweGUwLCAweDU0LCAweDgwLCAweGZmLCAweDEzLCAweDEzLCAweDEzLCAweDU0LCAweDFmfSB9LAoteyAweDA1MmEsCTE2LAl7MHhmZiwgMHhlMCwgMHg1NCwgMHgwNywgMHgyZiwgMHg5MCwgMHg3ZiwgMHhkNywgMHhmMCwgMHhlMCwgMHg0NCwgMHgyMCwgMHhmMCwgMHg4MCwgMHg2OSwgMHg5MH0gfSwKLXsgMHgwNTNhLAkxNiwJezB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4NjAsIDB4MTIsIDB4MGUsIDB4NGEsIDB4NTAsIDB4NWIsIDB4OTAsIDB4N2YsIDB4ZTh9IH0sCi17IDB4MDU0YSwJMTYsCXsweGUwLCAweDI0LCAweGZlLCAweDYwLCAweDE4LCAweDI0LCAweDAyLCAweDcwLCAweDRmLCAweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGI0LCAweDAxLCAweDA0fSB9LAoteyAweDA1NWEsCTE2LAl7MHhkMiwgMHgwMCwgMHg4MCwgMHg0NCwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgzYiwgMHg5MCwgMHg3ZiwgMHhlYX0gfSwKLXsgMHgwNTZhLAkxNiwJezB4ZTAsIDB4NzAsIDB4MjAsIDB4OTAsIDB4N2YsIDB4ZWMsIDB4ZTAsIDB4ZjQsIDB4NTQsIDB4ODAsIDB4ZmYsIDB4YzQsIDB4NTQsIDB4MGYsIDB4ZmYsIDB4ZTB9IH0sCi17IDB4MDU3YSwJMTYsCXsweDU0LCAweDA3LCAweDJmLCAweDI1LCAweGUwLCAweDI0LCAweGI0LCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDdmLCAweGY1LCAweDgzLCAweDc0LCAweDAxfSB9LAoteyAweDA1OGEsCTE2LAl7MHhmMCwgMHg4MCwgMHgxNSwgMHg5MCwgMHg3ZiwgMHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwYywgMHgxMiwgMHgwMSwgMHgwMCwgMHg1MH0gfSwKLXsgMHgwNTlhLAkxNiwJezB4MDcsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YjQsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4MjJ9IH0sCi17IDB4MDVhYSwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweGMwLCAweDg1LCAweGMwLCAweDg0LCAweGMwLCAweDg2LCAweDc1LCAweDg2LCAweDAwLCAweGMwfSB9LAoteyAweDA1YmEsCTE2LAl7MHhkMCwgMHhjMCwgMHgwMCwgMHhjMCwgMHgwMSwgMHhjMCwgMHgwMiwgMHhjMCwgMHgwMywgMHhjMCwgMHgwNiwgMHhjMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhhNX0gfSwKLXsgMHgwNWNhLAkxNiwJezB4ZTAsIDB4MzAsIDB4ZTIsIDB4MDYsIDB4NzUsIDB4MGQsIDB4MDYsIDB4MDIsIDB4MDYsIDB4NzYsIDB4OTAsIDB4N2YsIDB4YTUsIDB4ZTAsIDB4MjAsIDB4ZTF9IH0sCi17IDB4MDVkYSwJMTYsCXsweDBjLCAweGU1LCAweDBkLCAweDY0LCAweDAyLCAweDYwLCAweDA2LCAweDc1LCAweDBkLCAweDA3LCAweDAyLCAweDA2LCAweDc2LCAweGFmLCAweDBkLCAweGVmfSB9LAoteyAweDA1ZWEsCTE2LAl7MHgyNCwgMHhmZSwgMHg2MCwgMHg0OCwgMHgxNCwgMHg2MCwgMHgyYywgMHgyNCwgMHhmZSwgMHg2MCwgMHg3NywgMHgyNCwgMHgwNCwgMHg2MCwgMHgwMywgMHgwMn0gfSwKLXsgMHgwNWZhLAkxNiwJezB4MDYsIDB4NzYsIDB4YWIsIDB4MDksIDB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWYsIDB4MGMsIDB4MDUsIDB4MGMsIDB4OGYsIDB4ODIsIDB4NzUsIDB4ODN9IH0sCi17IDB4MDYwYSwJMTYsCXsweDAwLCAweDEyLCAweDA4LCAweDIyLCAweDkwLCAweDdmLCAweGE2LCAweGYwLCAweGU1LCAweDBjLCAweDY1LCAweDA4LCAweDcwLCAweDVlLCAweDc1LCAweDBkfSB9LAoteyAweDA2MWEsCTE2LAl7MHgwNSwgMHg4MCwgMHg1OSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOSwgMHhhYSwgMHgwYSwgMHhhOSwgMHgwYiwgMHhhZSwgMHgwYywgMHg4ZX0gfSwKLXsgMHgwNjJhLAkxNiwJezB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDgsIDB4NGYsIDB4NzUsIDB4MGQsIDB4MDIsIDB4ODAsIDB4NDAsIDB4ZTUsIDB4MDgsIDB4MjQsIDB4ZmV9IH0sCi17IDB4MDYzYSwJMTYsCXsweGI1LCAweDBjLCAweDA3LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDIwLCAweGYwLCAweGU1LCAweDA4LCAweDE0LCAweGI1LCAweDBjLCAweDBhfSB9LAoteyAweDA2NGEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNSwgMHhlMCwgMHg0NCwgMHg0MCwgMHhmMCwgMHhlNCwgMHhmNSwgMHgwZCwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhlMCwgMHhhYiwgMHgwOX0gfSwKLXsgMHgwNjVhLAkxNiwJezB4YWEsIDB4MGEsIDB4YTksIDB4MGIsIDB4YWUsIDB4MGMsIDB4OGUsIDB4ODIsIDB4NzUsIDB4ODMsIDB4MDAsIDB4MTIsIDB4MDgsIDB4NGYsIDB4MDUsIDB4MGN9IH0sCi17IDB4MDY2YSwJMTYsCXsweDgwLCAweDBhLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweGU0LCAweGY1LCAweDBkLCAweDUzLCAweDkxLCAweGRmLCAweGQwfSB9LAoteyAweDA2N2EsCTE2LAl7MHgwNywgMHhkMCwgMHgwNiwgMHhkMCwgMHgwMywgMHhkMCwgMHgwMiwgMHhkMCwgMHgwMSwgMHhkMCwgMHgwMCwgMHhkMCwgMHhkMCwgMHhkMCwgMHg4NiwgMHhkMH0gfSwKLXsgMHgwNjhhLAkxMCwJezB4ODQsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MDY5NCwJMTYsCXsweDhjLCAweDMzLCAweDhkLCAweDM0LCAweDkwLCAweDdmLCAweDk1LCAweGUwLCAweDQ0LCAweGMwLCAweGYwLCAweGU0LCAweGY1LCAweDM1LCAweGY1LCAweDM2fSB9LAoteyAweDA2YTQsCTE2LAl7MHhjMywgMHhlNSwgMHgzNiwgMHg5NSwgMHgzNCwgMHhlNSwgMHgzNSwgMHg5NSwgMHgzMywgMHg1MCwgMHg2OSwgMHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4Mn0gfSwKLXsgMHgwNmI0LAkxNiwJezB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4ZmYsIDB4ZjAsIDB4ZjQsIDB4NjAsIDB4MDIsIDB4YzMsIDB4MjIsIDB4ZWYsIDB4MjUsIDB4MzZ9IH0sCi17IDB4MDZjNCwJMTYsCXsweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGU0LCAweGYwLCAweDYwLCAweDAyLCAweGMzLCAweDIyLCAweGVmLCAweDI1LCAweDM2fSB9LAoteyAweDA2ZDQsCTE2LAl7MHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHg3NCwgMHhhYSwgMHhmMCwgMHg2NCwgMHhhYSwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMn0gfSwKLXsgMHgwNmU0LAkxNiwJezB4ZWYsIDB4MjUsIDB4MzYsIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4MzUsIDB4M2UsIDB4ZjUsIDB4ODMsIDB4NzQsIDB4NTUsIDB4ZjAsIDB4NjQsIDB4NTUsIDB4NjB9IH0sCi17IDB4MDZmNCwJMTYsCXsweDAyLCAweGMzLCAweDIyLCAweGFkLCAweDM2LCAweGU1LCAweDM2LCAweDJmLCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGVkfSB9LAoteyAweDA3MDQsCTE2LAl7MHhmMCwgMHhmYywgMHhhYywgMHgwNSwgMHhlZCwgMHg2YywgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHgwNSwgMHgzNiwgMHhlNSwgMHgzNiwgMHg3MCwgMHgwMn0gfSwKLXsgMHgwNzE0LAkxNiwJezB4MDUsIDB4MzUsIDB4ODAsIDB4OGMsIDB4ZTQsIDB4ZjUsIDB4MzUsIDB4ZjUsIDB4MzYsIDB4YzMsIDB4ZTUsIDB4MzYsIDB4OTUsIDB4MzQsIDB4ZTUsIDB4MzV9IH0sCi17IDB4MDcyNCwJMTYsCXsweDk1LCAweDMzLCAweDUwLCAweDI3LCAweGVmLCAweDI1LCAweDM2LCAweGY1LCAweDgyLCAweGU1LCAweDM1LCAweDNlLCAweGY1LCAweDgzLCAweGUwLCAweDY1fSB9LAoteyAweDA3MzQsCTE2LAl7MHgzNiwgMHg2MCwgMHgwMiwgMHhjMywgMHgyMiwgMHhlZiwgMHgyNSwgMHgzNiwgMHhmNSwgMHg4MiwgMHhlNSwgMHgzNSwgMHgzZSwgMHhmNSwgMHg4MywgMHhlNH0gfSwKLXsgMHgwNzQ0LAkxMywJezB4ZjAsIDB4MDUsIDB4MzYsIDB4ZTUsIDB4MzYsIDB4NzAsIDB4MDIsIDB4MDUsIDB4MzUsIDB4ODAsIDB4Y2UsIDB4ZDMsIDB4MjJ9IH0sCi17IDB4MDc1MSwJMTYsCXsweGMyLCAweDA0LCAweGQyLCAweDA1LCAweGMyLCAweDAzLCAweGMyLCAweDAwLCAweGMyLCAweDAyLCAweGMyLCAweDAxLCAweDEyLCAweDBlLCAweDNkLCAweGQyfSB9LAoteyAweDA3NjEsCTE2LAl7MHhlOCwgMHg0MywgMHhkOCwgMHgyMCwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHhmZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhOSwgMHhmMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNzcxLAkxNiwJezB4YWEsIDB4ZjAsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NDQsIDB4YzAsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTMsIDB4NzR9IH0sCi17IDB4MDc4MSwJMTYsCXsweDMwLCAweGYwLCAweDEyLCAweDBhLCAweDE5LCAweDkwLCAweDdmLCAweGFmLCAweGUwLCAweDQ0LCAweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGFlLCAweGUwfSB9LAoteyAweDA3OTEsCTE2LAl7MHg0NCwgMHgwZCwgMHhmMCwgMHhkMiwgMHhhZiwgMHgxMiwgMHgwZSwgMHgzNSwgMHgyMCwgMHgwMSwgMHg0MiwgMHg3NSwgMHgyNCwgMHgwMCwgMHg3NSwgMHgyM30gfSwKLXsgMHgwN2ExLAkxNiwJezB4MDAsIDB4NzUsIDB4MjIsIDB4MDAsIDB4NzUsIDB4MjEsIDB4MDAsIDB4N2YsIDB4NDgsIDB4N2UsIDB4OTIsIDB4N2QsIDB4MDAsIDB4N2MsIDB4MDAsIDB4YWJ9IH0sCi17IDB4MDdiMSwJMTYsCXsweDI0LCAweGFhLCAweDIzLCAweGE5LCAweDIyLCAweGE4LCAweDIxLCAweGMzLCAweDEyLCAweDA4LCAweGE5LCAweDUwLCAweGRiLCAweDIwLCAweDAxLCAweGQ4fSB9LAoteyAweDA3YzEsCTE2LAl7MHg3YSwgMHgwMCwgMHg3OSwgMHgwMCwgMHg3OCwgMHgwMCwgMHhlNSwgMHgyNCwgMHgyNCwgMHgwMSwgMHhmNSwgMHgyNCwgMHhlYSwgMHgzNSwgMHgyMywgMHhmNX0gfSwKLXsgMHgwN2QxLAkxNiwJezB4MjMsIDB4ZTksIDB4MzUsIDB4MjIsIDB4ZjUsIDB4MjIsIDB4ZTgsIDB4MzUsIDB4MjEsIDB4ZjUsIDB4MjEsIDB4ODAsIDB4Y2EsIDB4MzAsIDB4MDEsIDB4MDV9IH0sCi17IDB4MDdlMSwJMTYsCXsweDEyLCAweDAzLCAweDdhLCAweGMyLCAweDAxLCAweDMwLCAweDA0LCAweDFhLCAweDEyLCAweDBlLCAweDQwLCAweDUwLCAweDEzLCAweDEyLCAweDA5LCAweDAwfSB9LAoteyAweDA3ZjEsCTE2LAl7MHgzMCwgMHgwMCwgMHgwNywgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHgzMCwgMHhlNywgMHhmMywgMHgxMiwgMHgwZCwgMHg0YSwgMHgxMiwgMHgwZSwgMHg0Mn0gfSwKLXsgMHgwODAxLAk4LAl7MHhjMiwgMHgwMywgMHgxMiwgMHgwOCwgMHhmZiwgMHg4MCwgMHhkNiwgMHgyMn0gfSwKLXsgMHgwODA5LAkxNiwJezB4YmIsIDB4MDEsIDB4MDYsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTAsIDB4MjIsIDB4NTAsIDB4MDIsIDB4ZTcsIDB4MjIsIDB4YmIsIDB4ZmUsIDB4MDJ9IH0sCi17IDB4MDgxOSwJOSwJezB4ZTMsIDB4MjIsIDB4ODksIDB4ODIsIDB4OGEsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDgyMiwJMTYsCXsweGJiLCAweDAxLCAweDBjLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGUwLCAweDIyLCAweDUwfSB9LAoteyAweDA4MzIsCTE2LAl7MHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHgyMn0gfSwKLXsgMHgwODQyLAkxMywJezB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTQsIDB4OTMsIDB4MjJ9IH0sCi17IDB4MDg0ZiwJMTYsCXsweGY4LCAweGJiLCAweDAxLCAweDBkLCAweGU1LCAweDgyLCAweDI5LCAweGY1LCAweDgyLCAweGU1LCAweDgzLCAweDNhLCAweGY1LCAweDgzLCAweGU4LCAweGYwfSB9LAoteyAweDA4NWYsCTE2LAl7MHgyMiwgMHg1MCwgMHgwNiwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOCwgMHhmNiwgMHgyMiwgMHhiYiwgMHhmZSwgMHgwNSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhjOH0gfSwKLXsgMHgwODZmLAkyLAl7MHhmMiwgMHgyMn0gfSwKLXsgMHgwODcxLAkxNiwJezB4YmIsIDB4MDEsIDB4MTAsIDB4ZTUsIDB4ODIsIDB4MjksIDB4ZjUsIDB4ODIsIDB4ZTUsIDB4ODMsIDB4M2EsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjUsIDB4ZjB9IH0sCi17IDB4MDg4MSwJMTYsCXsweGEzLCAweGUwLCAweDIyLCAweDUwLCAweDA5LCAweGU5LCAweDI1LCAweDgyLCAweGY4LCAweDg2LCAweGYwLCAweDA4LCAweGU2LCAweDIyLCAweGJiLCAweGZlfSB9LAoteyAweDA4OTEsCTE2LAl7MHgwYSwgMHhlOSwgMHgyNSwgMHg4MiwgMHhmOCwgMHhlMiwgMHhmNSwgMHhmMCwgMHgwOCwgMHhlMiwgMHgyMiwgMHhlNSwgMHg4MywgMHgyYSwgMHhmNSwgMHg4M30gfSwKLXsgMHgwOGExLAk4LAl7MHhlOSwgMHg5MywgMHhmNSwgMHhmMCwgMHhhMywgMHhlOSwgMHg5MywgMHgyMn0gfSwKLXsgMHgwOGE5LAkxNiwJezB4ZWIsIDB4OWYsIDB4ZjUsIDB4ZjAsIDB4ZWEsIDB4OWUsIDB4NDIsIDB4ZjAsIDB4ZTksIDB4OWQsIDB4NDIsIDB4ZjAsIDB4ZTgsIDB4OWMsIDB4NDUsIDB4ZjB9IH0sCi17IDB4MDhiOSwJMSwJezB4MjJ9IH0sCi17IDB4MDhiYSwJMiwJezB4OGYsIDB4Mjh9IH0sCi17IDB4MDhiYywJMTYsCXsweGU0LCAweGY1LCAweDI5LCAweDc1LCAweDJhLCAweGZmLCAweDc1LCAweDJiLCAweDExLCAweDc1LCAweDJjLCAweDMyLCAweGFiLCAweDJhLCAweGFhLCAweDJifSB9LAoteyAweDA4Y2MsCTE2LAl7MHhhOSwgMHgyYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwOCwgMHgyMiwgMHhiNCwgMHgwMywgMHgxZCwgMHhhZiwgMHgyOSwgMHgwNSwgMHgyOSwgMHhlZn0gfSwKLXsgMHgwOGRjLAkxNiwJezB4YjUsIDB4MjgsIDB4MDEsIDB4MjIsIDB4MTIsIDB4MDgsIDB4MDksIDB4N2UsIDB4MDAsIDB4MjksIDB4ZmYsIDB4ZWUsIDB4M2EsIDB4YTksIDB4MDcsIDB4NzV9IH0sCi17IDB4MDhlYywJMTQsCXsweDJhLCAweGZmLCAweGY1LCAweDJiLCAweDg5LCAweDJjLCAweDgwLCAweGQ0LCAweDdiLCAweDAwLCAweDdhLCAweDAwLCAweDc5LCAweDAwfSB9LAoteyAweDA4ZmEsCTEsCXsweDIyfSB9LAoteyAweDA4ZmIsCTQsCXsweDUzLCAweGQ4LCAweGVmLCAweDMyfSB9LAoteyAweDA4ZmYsCTEsCXsweDIyfSB9LAoteyAweDA5MDAsCTksCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweDgwLCAweDc0fSB9LAoteyAweDA5N2QsCTE2LAl7MHg0MywgMHg4NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwOThkLAkxMiwJezB4NzgsIDB4N2YsIDB4ZTQsIDB4ZjYsIDB4ZDgsIDB4ZmQsIDB4NzUsIDB4ODEsIDB4MzksIDB4MDIsIDB4MDksIDB4ZDR9IH0sCi17IDB4MDk5OSwJMTYsCXsweDAyLCAweDA3LCAweDUxLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweDQwLCAweDAzLCAweGY2LCAweDgwLCAweDAxLCAweGYyfSB9LAoteyAweDA5YTksCTE2LAl7MHgwOCwgMHhkZiwgMHhmNCwgMHg4MCwgMHgyOSwgMHhlNCwgMHg5MywgMHhhMywgMHhmOCwgMHg1NCwgMHgwNywgMHgyNCwgMHgwYywgMHhjOCwgMHhjMywgMHgzM30gfSwKLXsgMHgwOWI5LAkxNiwJezB4YzQsIDB4NTQsIDB4MGYsIDB4NDQsIDB4MjAsIDB4YzgsIDB4ODMsIDB4NDAsIDB4MDQsIDB4ZjQsIDB4NTYsIDB4ODAsIDB4MDEsIDB4NDYsIDB4ZjYsIDB4ZGZ9IH0sCi17IDB4MDljOSwJMTYsCXsweGU0LCAweDgwLCAweDBiLCAweDAxLCAweDAyLCAweDA0LCAweDA4LCAweDEwLCAweDIwLCAweDQwLCAweDgwLCAweDkwLCAweDBkLCAweGVjLCAweGU0LCAweDdlfSB9LAoteyAweDA5ZDksCTE2LAl7MHgwMSwgMHg5MywgMHg2MCwgMHhiYywgMHhhMywgMHhmZiwgMHg1NCwgMHgzZiwgMHgzMCwgMHhlNSwgMHgwOSwgMHg1NCwgMHgxZiwgMHhmZSwgMHhlNCwgMHg5M30gfSwKLXsgMHgwOWU5LAkxNiwJezB4YTMsIDB4NjAsIDB4MDEsIDB4MGUsIDB4Y2YsIDB4NTQsIDB4YzAsIDB4MjUsIDB4ZTAsIDB4NjAsIDB4YTgsIDB4NDAsIDB4YjgsIDB4ZTQsIDB4OTMsIDB4YTN9IH0sCi17IDB4MDlmOSwJMTYsCXsweGZhLCAweGU0LCAweDkzLCAweGEzLCAweGY4LCAweGU0LCAweDkzLCAweGEzLCAweGM4LCAweGM1LCAweDgyLCAweGM4LCAweGNhLCAweGM1LCAweDgzLCAweGNhfSB9LAoteyAweDBhMDksCTE2LAl7MHhmMCwgMHhhMywgMHhjOCwgMHhjNSwgMHg4MiwgMHhjOCwgMHhjYSwgMHhjNSwgMHg4MywgMHhjYSwgMHhkZiwgMHhlOSwgMHhkZSwgMHhlNywgMHg4MCwgMHhiZX0gfSwKLXsgMHgwYTE5LAkxNiwJezB4ZTQsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4N2YsIDB4MGEsIDB4ZmUsIDB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4NzQsIDB4ODl9IH0sCi17IDB4MGEyOSwJMTYsCXsweGYwLCAweDkwLCAweDdmLCAweDljLCAweDc0LCAweGNmLCAweGYwLCAweDdmLCAweGY0LCAweDdlLCAweDAxLCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmfSB9LAoteyAweDBhMzksCTE2LAl7MHg5NiwgMHhlMCwgMHg1NCwgMHhmZSwgMHhmMCwgMHg3ZiwgMHgwYSwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZCwgMHg5NCwgMHg3ZiwgMHgwNSwgMHg3ZSwgMHgwMH0gfSwKLXsgMHgwYTQ5LAkxNiwJezB4MTIsIDB4MGQsIDB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4MDIsIDB4ZjAsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4ZjAsIDB4N2YsIDB4MDV9IH0sCi17IDB4MGE1OSwJMTYsCXsweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDkwLCAweDdmLCAweDk2LCAweGUwLCAweDQ0LCAweDQwLCAweGYwLCAweDdmLCAweDA1LCAweDdlLCAweDAwfSB9LAoteyAweDBhNjksCTE2LAl7MHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHg5NiwgMHhlMCwgMHg1NCwgMHhiZiwgMHhmMCwgMHg3ZiwgMHgzMiwgMHg3ZSwgMHgwMCwgMHgxMiwgMHgwZH0gfSwKLXsgMHgwYTc5LAkxNiwJezB4OTQsIDB4OTAsIDB4N2YsIDB4OTYsIDB4ZTAsIDB4NDQsIDB4NDAsIDB4ZjAsIDB4N2YsIDB4MzIsIDB4N2UsIDB4MDAsIDB4MTIsIDB4MGQsIDB4OTQsIDB4MjJ9IH0sCi17IDB4MGE4OSwJMTYsCXsweDc1LCAweDMyLCAweDAxLCAweGU1LCAweDMyLCAweDYwLCAweDFiLCAweDdmLCAweDAxLCAweDEyLCAweDBkLCAweGQ3LCAweDdmLCAweDAwLCAweDdlLCAweDBlfSB9LAoteyAweDBhOTksCTE2LAl7MHg3ZCwgMHgwMCwgMHg3YywgMHgwMSwgMHgxMiwgMHgwNiwgMHg5NCwgMHhlNCwgMHgzMywgMHhmNSwgMHgzMiwgMHg3MCwgMHgwNSwgMHg3ZiwgMHgwZiwgMHgxMn0gfSwKLXsgMHgwYWE5LAkxNiwJezB4MGQsIDB4ZDcsIDB4ZTUsIDB4MzIsIDB4NjAsIDB4MWIsIDB4N2YsIDB4MDIsIDB4MTIsIDB4MGQsIDB4ZDcsIDB4N2YsIDB4MDAsIDB4N2UsIDB4ODAsIDB4N2R9IH0sCi17IDB4MGFiOSwJMTYsCXsweDAwLCAweDdjLCAweDgwLCAweDEyLCAweDA2LCAweDk0LCAweGU0LCAweDMzLCAweGY1LCAweDMyLCAweDcwLCAweDA1LCAweDdmLCAweDBmLCAweDEyLCAweDBkfSB9LAoteyAweDBhYzksCTE2LAl7MHhkNywgMHhlNSwgMHgzMiwgMHg2MCwgMHgxYiwgMHg3ZiwgMHgwMywgMHgxMiwgMHgwZCwgMHhkNywgMHg3ZiwgMHgwMCwgMHg3ZSwgMHgyMCwgMHg3ZCwgMHg0MH0gfSwKLXsgMHgwYWQ5LAkxNiwJezB4N2MsIDB4NWIsIDB4MTIsIDB4MDYsIDB4OTQsIDB4ZTQsIDB4MzMsIDB4ZjUsIDB4MzIsIDB4NzAsIDB4MDUsIDB4N2YsIDB4MGYsIDB4MTIsIDB4MGQsIDB4ZDd9IH0sCi17IDB4MGFlOSwJMTQsCXsweGU1LCAweDMyLCAweDYwLCAweDA1LCAweGU0LCAweGZmLCAweDEyLCAweDBkLCAweGQ3LCAweGU1LCAweDMyLCAweDI0LCAweGZmLCAweDIyfSB9LAoteyAweDBhZjcsCTgsCXsweDkwLCAweDdmLCAweGVhLCAweGUwLCAweGY1LCAweDEwLCAweGQzLCAweDIyfSB9LAoteyAweDBhZmYsCTEsCXsweDMyfSB9LAoteyAweDBiMDAsCTE2LAl7MHgwMiwgMHgwZCwgMHg2NCwgMHgwMCwgMHgwMiwgMHgwZCwgMHhhYiwgMHgwMCwgMHgwMiwgMHgwZCwgMHgyZiwgMHgwMCwgMHgwMiwgMHgwZCwgMHg3YywgMHgwMH0gfSwKLXsgMHgwYjEwLAkxNiwJezB4MDIsIDB4MGQsIDB4YzEsIDB4MDAsIDB4MDIsIDB4MGEsIDB4ZmYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NGMsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NGQsIDB4MDB9IH0sCi17IDB4MGIyMCwJMTYsCXsweDAyLCAweDBlLCAweDRlLCAweDAwLCAweDAyLCAweDBlLCAweDRmLCAweDAwLCAweDAyLCAweDBlLCAweDUwLCAweDAwLCAweDAyLCAweDBlLCAweDUxLCAweDAwfSB9LAoteyAweDBiMzAsCTE2LAl7MHgwMiwgMHgwZSwgMHg1MiwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1MywgMHgwMCwgMHgwMiwgMHgwZSwgMHg1NCwgMHgwMCwgMHgwMiwgMHgwZSwgMHg1NSwgMHgwMH0gfSwKLXsgMHgwYjQwLAkxNiwJezB4MDIsIDB4MGUsIDB4NTYsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTcsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTgsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NTksIDB4MDB9IH0sCi17IDB4MGI1MCwJOCwJezB4MDIsIDB4MGUsIDB4NWEsIDB4MDAsIDB4MDIsIDB4MGUsIDB4NWIsIDB4MDB9IH0sCi17IDB4MGI1OCwJMTYsCXsweGU0LCAweGZlLCAweDc1LCAweDJhLCAweGZmLCAweDc1LCAweDJiLCAweDExLCAweDc1LCAweDJjLCAweDEyLCAweGFiLCAweDJhLCAweGFhLCAweDJiLCAweGE5fSB9LAoteyAweDBiNjgsCTE2LAl7MHgyYywgMHg5MCwgMHgwMCwgMHgwMSwgMHgxMiwgMHgwOCwgMHgyMiwgMHg2NCwgMHgwMiwgMHg3MCwgMHgyZCwgMHhhZCwgMHgwNiwgMHgwZSwgMHhlZCwgMHhiNX0gfSwKLXsgMHgwYjc4LAkxNiwJezB4MDcsIDB4MDEsIDB4MjIsIDB4OTAsIDB4MDAsIDB4MDIsIDB4MTIsIDB4MDgsIDB4NzEsIDB4ODUsIDB4ZjAsIDB4MjgsIDB4ZjUsIDB4MjksIDB4NjIsIDB4Mjh9IH0sCi17IDB4MGI4OCwJMTYsCXsweGU1LCAweDI4LCAweDYyLCAweDI5LCAweGU1LCAweDI5LCAweDYyLCAweDI4LCAweDI5LCAweGZkLCAweGU1LCAweDI4LCAweDNhLCAweGE5LCAweDA1LCAweDc1fSB9LAoteyAweDBiOTgsCTE0LAl7MHgyYSwgMHhmZiwgMHhmNSwgMHgyYiwgMHg4OSwgMHgyYywgMHg4MCwgMHhjMywgMHg3YiwgMHgwMCwgMHg3YSwgMHgwMCwgMHg3OSwgMHgwMH0gfSwKLXsgMHgwYmE2LAkxLAl7MHgyMn0gfSwKLXsgMHgwYmE3LAkxNiwJezB4YWIsIDB4MDcsIDB4YWEsIDB4MDYsIDB4YWMsIDB4MDUsIDB4ZTQsIDB4ZmQsIDB4ZTUsIDB4MTEsIDB4NjAsIDB4MTEsIDB4ZWEsIDB4ZmYsIDB4YWUsIDB4MDV9IH0sCi17IDB4MGJiNywJMTYsCXsweDBkLCAweGVlLCAweDI0LCAweDEwLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGViLCAweGFlLCAweDA1fSB9LAoteyAweDBiYzcsCTE2LAl7MHgwZCwgMHg3NCwgMHgxMCwgMHgyZSwgMHhmNSwgMHg4MiwgMHhlNCwgMHgzNCwgMHgwZiwgMHhmNSwgMHg4MywgMHhlYiwgMHhmMCwgMHhhZiwgMHgwNSwgMHgwZH0gfSwKLXsgMHgwYmQ3LAkxNiwJezB4NzQsIDB4MTAsIDB4MmYsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGYsIDB4ZjUsIDB4ODMsIDB4ZWMsIDB4ZjAsIDB4YWYsIDB4MGYsIDB4N2EsIDB4MGZ9IH0sCi17IDB4MGJlNywJMTMsCXsweDdiLCAweDEwLCAweDEyLCAweDBkLCAweDEwLCAweDdmLCAweDBhLCAweDdlLCAweDAwLCAweDEyLCAweDBkLCAweDk0LCAweDIyfSB9LAoteyAweDBiZjQsCTE2LAl7MHg4ZSwgMHgzMiwgMHg4ZiwgMHgzMywgMHg4ZCwgMHgzNCwgMHg4YSwgMHgzNSwgMHg4YiwgMHgzNiwgMHhlNCwgMHhmZCwgMHhmNSwgMHgzNywgMHhlNSwgMHgxMX0gfSwKLXsgMHgwYzA0LAkxNiwJezB4NjAsIDB4MTIsIDB4ZTUsIDB4MzIsIDB4ZmYsIDB4YWUsIDB4MDUsIDB4MGQsIDB4ZWUsIDB4MjQsIDB4MTMsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzQsIDB4MGZ9IH0sCi17IDB4MGMxNCwJMTYsCXsweGY1LCAweDgzLCAweGVmLCAweGYwLCAweGU1LCAweDMzLCAweGFlLCAweDA1LCAweDBkLCAweDc0LCAweDEzLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0fSB9LAoteyAweDBjMjQsCTE2LAl7MHgwZiwgMHhmNSwgMHg4MywgMHhlNSwgMHgzMywgMHhmMCwgMHhhZiwgMHgwZiwgMHg3YSwgMHgwZiwgMHg3YiwgMHgxMywgMHgxMiwgMHgwZCwgMHgxMCwgMHhhZn0gfSwKLXsgMHgwYzM0LAkxMSwJezB4MGYsIDB4YWQsIDB4MzQsIDB4YWIsIDB4MzYsIDB4YWEsIDB4MzUsIDB4MTIsIDB4MGMsIDB4ZjEsIDB4MjJ9IH0sCi17IDB4MGMzZiwJMTYsCXsweDhlLCAweDMyLCAweDhmLCAweDMzLCAweDhkLCAweDM0LCAweDhhLCAweDM1LCAweDhiLCAweDM2LCAweGU0LCAweGY1LCAweDM3LCAweGU1LCAweDM3LCAweGMzfSB9LAoteyAweDBjNGYsCTE2LAl7MHg5NSwgMHgzNCwgMHg1MCwgMHgyMCwgMHgwNSwgMHgzMywgMHhlNSwgMHgzMywgMHhhZSwgMHgzMiwgMHg3MCwgMHgwMiwgMHgwNSwgMHgzMiwgMHgxNCwgMHhmZn0gfSwKLXsgMHgwYzVmLAkxNiwJezB4ZTUsIDB4MzYsIDB4MjUsIDB4MzcsIDB4ZjUsIDB4ODIsIDB4ZTQsIDB4MzUsIDB4MzUsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZmQsIDB4MTIsIDB4MGIsIDB4YTd9IH0sCi17IDB4MGM2ZiwJNSwJezB4MDUsIDB4MzcsIDB4ODAsIDB4ZDksIDB4MjJ9IH0sCi17IDB4MGM3NCwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDI1LCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjODQsCTE2LAl7MHg0NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YX0gfSwKLXsgMHgwYzk0LAkxMywJezB4MGEsIDB4ODksIDB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDMsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGNhMSwJMTYsCXsweGE5LCAweDA3LCAweGU1LCAweDBkLCAweDcwLCAweDIzLCAweDkwLCAweDdmLCAweGE1LCAweGUwLCAweDQ0LCAweDgwLCAweGYwLCAweGU5LCAweDI1LCAweGUwfSB9LAoteyAweDBjYjEsCTE2LAl7MHg5MCwgMHg3ZiwgMHhhNiwgMHhmMCwgMHg4ZCwgMHgwOCwgMHhhZiwgMHgwMywgMHhhOSwgMHgwNywgMHg3NSwgMHgwOSwgMHgwMSwgMHg4YSwgMHgwYSwgMHg4OX0gfSwKLXsgMHgwY2MxLAkxMSwJezB4MGIsIDB4ZTQsIDB4ZjUsIDB4MGMsIDB4NzUsIDB4MGQsIDB4MDEsIDB4ZDMsIDB4MjIsIDB4YzMsIDB4MjJ9IH0sCi17IDB4MGNjYywJMTYsCXsweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZiLCAweGYwLCAweGUwLCAweDQ0LCAweDA4LCAweGYwLCAweDMwLCAweDA2LCAweDA0LCAweGUwLCAweDQ0fSB9LAoteyAweDBjZGMsCTE2LAl7MHgwMiwgMHhmMCwgMHg3ZiwgMHhkMCwgMHg3ZSwgMHgwNywgMHgxMiwgMHgwZCwgMHg5NCwgMHg5MCwgMHg3ZiwgMHhkNiwgMHhlMCwgMHg1NCwgMHhmNywgMHhmMH0gfSwKLXsgMHgwY2VjLAk1LAl7MHhlMCwgMHg0NCwgMHgwNCwgMHhmMCwgMHgyMn0gfSwKLXsgMHgwY2YxLAkxNiwJezB4MTIsIDB4MGMsIDB4NzQsIDB4ZTUsIDB4MGQsIDB4MjQsIDB4ZmEsIDB4NjAsIDB4MTAsIDB4MTQsIDB4NjAsIDB4MDcsIDB4MjQsIDB4MDcsIDB4NzAsIDB4ZjN9IH0sCi17IDB4MGQwMSwJMTUsCXsweDdmLCAweDA4LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA3LCAweDIyLCAweGU0LCAweGY1LCAweDBkLCAweDdmLCAweDA2LCAweDIyfSB9LAoteyAweDBkMTAsCTE2LAl7MHgxMiwgMHgwYywgMHhhMSwgMHhlNSwgMHgwZCwgMHgyNCwgMHhmYSwgMHg2MCwgMHgxMCwgMHgxNCwgMHg2MCwgMHgwNywgMHgyNCwgMHgwNywgMHg3MCwgMHhmM30gfSwKLXsgMHgwZDIwLAkxNSwJezB4N2YsIDB4MDgsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDcsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4MGQsIDB4N2YsIDB4MDYsIDB4MjJ9IH0sCi17IDB4MGQyZiwJMTYsCXsweGMwLCAweGUwLCAweGMwLCAweDgzLCAweGMwLCAweDgyLCAweDkwLCAweDdmLCAweGM0LCAweGU0LCAweGYwLCAweDUzLCAweDkxLCAweGVmLCAweDkwLCAweDdmfSB9LAoteyAweDBkM2YsCTExLAl7MHhhYiwgMHg3NCwgMHgwNCwgMHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDRhLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDYsIDB4ZTAsIDB4MzAsIDB4ZTcsIDB4MTIsIDB4ZTAsIDB4NDQsIDB4MDEsIDB4ZjAsIDB4N2YsIDB4MTQsIDB4N2UsIDB4MDAsIDB4MTJ9IH0sCi17IDB4MGQ1YSwJMTAsCXsweDBkLCAweDk0LCAweDkwLCAweDdmLCAweGQ2LCAweGUwLCAweDU0LCAweGZlLCAweGYwLCAweDIyfSB9LAoteyAweDBkNjQsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHhkMiwgMHgwMSwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMX0gfSwKLXsgMHgwZDc0LAk4LAl7MHhmMCwgMHhkMCwgMHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZDdjLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4ZDIsIDB4MDMsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MDh9IH0sCi17IDB4MGQ4YywJOCwJezB4ZjAsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGQ5NCwJMTYsCXsweDhlLCAweDM4LCAweDhmLCAweDM5LCAweGU1LCAweDM5LCAweDE1LCAweDM5LCAweGFlLCAweDM4LCAweDcwLCAweDAyLCAweDE1LCAweDM4LCAweDRlLCAweDYwfSB9LAoteyAweDBkYTQsCTcsCXsweDA1LCAweDEyLCAweDBlLCAweDAwLCAweDgwLCAweGVlLCAweDIyfSB9LAoteyAweDBkYWIsCTE2LAl7MHhjMCwgMHhlMCwgMHhjMCwgMHg4MywgMHhjMCwgMHg4MiwgMHg1MywgMHg5MSwgMHhlZiwgMHg5MCwgMHg3ZiwgMHhhYiwgMHg3NCwgMHgwMiwgMHhmMCwgMHhkMH0gfSwKLXsgMHgwZGJiLAk2LAl7MHg4MiwgMHhkMCwgMHg4MywgMHhkMCwgMHhlMCwgMHgzMn0gfSwKLXsgMHgwZGMxLAkxNiwJezB4YzAsIDB4ZTAsIDB4YzAsIDB4ODMsIDB4YzAsIDB4ODIsIDB4NTMsIDB4OTEsIDB4ZWYsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzQsIDB4MTAsIDB4ZjAsIDB4ZDB9IH0sCi17IDB4MGRkMSwJNiwJezB4ODIsIDB4ZDAsIDB4ODMsIDB4ZDAsIDB4ZTAsIDB4MzJ9IH0sCi17IDB4MGRkNywJMTYsCXsweGFlLCAweDA3LCAweDdmLCAweDIxLCAweDdkLCAweDAxLCAweDc0LCAweDAwLCAweDJlLCAweGY1LCAweDgyLCAweGU0LCAweDM0LCAweDBmLCAweGFiLCAweDgyfSB9LAoteyAweDBkZTcsCTUsCXsweGZhLCAweDEyLCAweDBkLCAweDEwLCAweDIyfSB9LAoteyAweDBkZWMsCTE2LAl7MHg1MCwgMHgwZiwgMHgwMCwgMHhjMCwgMHhmOSwgMHhhNCwgMHhiMCwgMHg5OSwgMHg5MiwgMHg4MiwgMHhmOCwgMHg4MCwgMHg5OCwgMHg4OCwgMHg4MywgMHhjNn0gfSwKLXsgMHgwZGZjLAkzLAl7MHhhMSwgMHg4NiwgMHg4ZX0gfSwKLXsgMHgwZGZmLAkxLAl7MHgwMH0gfSwKLXsgMHgwZTAwLAkxNiwJezB4NzQsIDB4MDAsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4ZmQsIDB4YTUsIDB4N2MsIDB4MDUsIDB4YTMsIDB4ZTUsIDB4ODIsIDB4NDUsIDB4ODMsIDB4NzAsIDB4Zjl9IH0sCi17IDB4MGUxMCwJMSwJezB4MjJ9IH0sCi17IDB4MGUxMSwJMTQsCXsweDkwLCAweDdmLCAweDAwLCAweGU1LCAweDEwLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAxLCAweGYwLCAweGQzLCAweDIyfSB9LAoteyAweDBlMWYsCTE0LAl7MHg5MCwgMHg3ZiwgMHgwMCwgMHhlNSwgMHgwZSwgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiNSwgMHg3NCwgMHgwMSwgMHhmMCwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTJkLAk4LAl7MHg5MCwgMHg3ZiwgMHhlYSwgMHhlMCwgMHhmNSwgMHgwZSwgMHhkMywgMHgyMn0gfSwKLXsgMHgwZTM1LAk4LAl7MHhlNCwgMHhmNSwgMHgwZCwgMHhkMiwgMHhlOSwgMHhkMiwgMHhhZiwgMHgyMn0gfSwKLXsgMHgwZTNkLAkzLAl7MHhkMiwgMHgwMCwgMHgyMn0gfSwKLXsgMHgwZTQwLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQyLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQ0LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQ2LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTQ4LAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTRhLAkyLAl7MHhkMywgMHgyMn0gfSwKLXsgMHgwZTRjLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTRkLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTRlLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTRmLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUwLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUxLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUyLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTUzLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU0LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU1LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU2LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU3LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU4LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTU5LAkxLAl7MHgzMn0gfSwKLXsgMHgwZTVhLAkxLAl7MHgzMn0gfSwKLXsgMHgwZTViLAkxLAl7MHgzMn0gfSwKLXsgMHgxMTAwLAkxNiwJezB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDcsIDB4MDUsIDB4MTAsIDB4MjcsIDB4MDEsIDB4MDAsIDB4MDEsIDB4MDJ9IH0sCi17IDB4MTExMCwJMTYsCXsweDAwLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwLCAweDAxLCAweDAxLCAweDAzLCAweGEwLCAweDAwLCAweDA5LCAweDA0LCAweDAwLCAweDAwLCAweDAyfSB9LAoteyAweDExMjAsCTE2LAl7MHhmZiwgMHgwMCwgMHgwMCwgMHgwNCwgMHgwNywgMHgwNSwgMHg4MiwgMHgwMiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwNywgMHgwNSwgMHgwMiwgMHgwMiwgMHg0MH0gfSwKLXsgMHgxMTMwLAkxNiwJezB4MDAsIDB4MDAsIDB4MDQsIDB4MDMsIDB4MDksIDB4MDQsIDB4MjYsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjMsIDB4MDAsIDB4NjgsIDB4MDB9IH0sCi17IDB4MTE0MCwJMTYsCXsweDZmLCAweDAwLCAweDcyLCAweDAwLCAweDIwLCAweDAwLCAweDQzLCAweDAwLCAweDY4LCAweDAwLCAweDY5LCAweDAwLCAweDcwLCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDExNTAsCTE2LAl7MHgyYywgMHgwMCwgMHgyMCwgMHgwMCwgMHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2MywgMHgwMCwgMHgyZSwgMHgwMCwgMHgyOCwgMHgwMywgMHg0NiwgMHgwMH0gfSwKLXsgMHgxMTYwLAkxNiwJezB4NjksIDB4MDAsIDB4NzIsIDB4MDAsIDB4NmQsIDB4MDAsIDB4NzcsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjUsIDB4MDAsIDB4MjAsIDB4MDB9IH0sCi17IDB4MTE3MCwJMTYsCXsweDQ2LCAweDAwLCAweDcyLCAweDAwLCAweDYxLCAweDAwLCAweDZkLCAweDAwLCAweDY1LCAweDAwLCAweDU3LCAweDAwLCAweDZmLCAweDAwLCAweDcyLCAweDAwfSB9LAoteyAweDExODAsCTE2LAl7MHg2YiwgMHgwMCwgMHg3MywgMHgwMCwgMHgyYSwgMHgwMywgMHg0MywgMHgwMCwgMHg2ZiwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgxMTkwLAkxNiwJezB4NjcsIDB4MDAsIDB4NzUsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmYsIDB4MDAsIDB4NmUsIDB4MDB9IH0sCi17IDB4MTFhMCwJMTYsCXsweDIwLCAweDAwLCAweDUzLCAweDAwLCAweDc0LCAweDAwLCAweDcyLCAweDAwLCAweDY5LCAweDAwLCAweDZlLCAweDAwLCAweDY3LCAweDAwLCAweDIyLCAweDAzfSB9LAoteyAweDExYjAsCTE2LAl7MHg0OSwgMHgwMCwgMHg2ZSwgMHgwMCwgMHg3NCwgMHgwMCwgMHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2NiwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2MywgMHgwMH0gfSwKLXsgMHgxMWMwLAkxNiwJezB4NjUsIDB4MDAsIDB4MjAsIDB4MDAsIDB4NTMsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzIsIDB4MDAsIDB4NjksIDB4MDAsIDB4NmUsIDB4MDAsIDB4NjcsIDB4MDB9IH0sCi17IDB4MTFkMCwJMiwJezB4MDAsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzX2Z3LmggYi9kcml2ZXJzL3VzYi9zZXJpYWwveGlyY29tX3Bnc19mdy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmY3NGE2Li4wMDAwMDAwCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC94aXJjb21fcGdzX2Z3LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotLyoKLSAqIFVTQiBYaXJjb20gUEdTIEZpcm13YXJlCi0gKgotICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwIEJyaWFuIFdhcm5lciAgICAgICAgPHdhcm5lckBsb3RoYXIuY29tPgotICogQ29weXJpZ2h0IChDKSAyMDAxIENyaXN0aWFuIE0uIENyYWNpdW5lc2N1CTxjcmlzdGlAZG50LnJvPgotICoKLSAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqICAgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqICAgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBHZW5lcmF0ZWQgZnJvbSB4aXJjb21fcGdzLlMgYnkgZXp1c2JfY29udmVydF94LnBsCi0gKi8KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBlenVzYl9oZXhfcmVjb3JkIHhpcmNvbV9wZ3NfZmlybXdhcmVbXSA9IHsKLXsgMHgwMDAwLAkzLAl7MHgwMiwgMHgwMiwgMHgwMH0gfSwKLXsgMHgwMDIzLAk0LAl7MHgwMiwgMHgwNSwgMHg5YiwgMHgwMH0gfSwKLXsgMHgwMDMwLAk1LAl7MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMDQzLAk0LAl7MHgwMiwgMHgwMSwgMHgwMCwgMHgwMH0gfSwKLXsgMHgwMTAwLAkxNiwJezB4MDIsIDB4MDIsIDB4YmEsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIsIDB4MDAsIDB4MDAsIDB4MDB9IH0sCi17IDB4MDExMCwJMTYsCXsweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwLCAweDAyLCAweDAwLCAweDAwLCAweDAwfSB9LAoteyAweDAxMjAsCTE2LAl7MHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMiwgMHgwNCwgMHg4NSwgMHgwMCwgMHgwMiwgMHgwNCwgMHhiOSwgMHgwMH0gfSwKLXsgMHgwMjAwLAkxNiwJezB4NzUsIDB4ODEsIDB4NWUsIDB4ZTQsIDB4ZjUsIDB4MzIsIDB4ZjUsIDB4MzMsIDB4ZjUsIDB4MzAsIDB4ZjUsIDB4MzEsIDB4ZjUsIDB4MzQsIDB4YzIsIDB4MDB9IH0sCi17IDB4MDIxMCwJMTYsCXsweGMyLCAweDAxLCAweGE5LCAweDAwLCAweDc0LCAweGZlLCAweDkwLCAweDEwLCAweDAwLCAweGYwLCAweGEzLCAweGQ5LCAweGZjLCAweDc0LCAweGZkLCAweDkwfSB9LAoteyAweDAyMjAsCTE2LAl7MHgxMSwgMHgwMCwgMHhmMCwgMHhhMywgMHhkOSwgMHhmYywgMHg5MCwgMHg3ZiwgMHg5NCwgMHg3NCwgMHhiZiwgMHhmMCwgMHg5MCwgMHg3ZiwgMHg5NSwgMHg3NH0gfSwKLXsgMHgwMjMwLAkxNiwJezB4ZWYsIDB4ZjAsIDB4NzQsIDB4MTAsIDB4OTAsIDB4N2YsIDB4OWUsIDB4ZjAsIDB4NzQsIDB4MDAsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZjAsIDB4NzQsIDB4NDB9IH0sCi17IDB4MDI0MCwJMTYsCXsweDkwLCAweDdmLCAweDlkLCAweGYwLCAweDc0LCAweDAwLCAweDkwLCAweDdmLCAweDk3LCAweGYwLCAweDc0LCAweDgyLCAweDkwLCAweDdmLCAweDllLCAweGYwfSB9LAoteyAweDAyNTAsCTE2LAl7MHg5MCwgMHg3ZiwgMHg5NSwgMHg3NCwgMHgwMywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhhZiwgMHhlMCwgMHhkMiwgMHhlMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MH0gfSwKLXsgMHgwMjYwLAkxNiwJezB4N2YsIDB4YWIsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWUsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWMsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YWR9IH0sCi17IDB4MDI3MCwJMTYsCXsweDc0LCAweDA0LCAweGYwLCAweDkwLCAweDdmLCAweGM5LCAweGYwLCAweDc0LCAweDA3LCAweDkwLCAweDdmLCAweGFmLCAweGYwLCAweDc0LCAweDIwLCAweDkwfSB9LAoteyAweDAyODAsCTE2LAl7MHg3ZiwgMHg5YywgMHhmMCwgMHg3NCwgMHg4MCwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhmMCwgMHg3NCwgMHg1MywgMHhmNSwgMHg5OCwgMHg3NSwgMHhjOCwgMHgzMH0gfSwKLXsgMHgwMjkwLAkxNiwJezB4N2IsIDB4MDUsIDB4OTEsIDB4NDQsIDB4ZDIsIDB4Y2EsIDB4NzUsIDB4OTgsIDB4NTAsIDB4ZDIsIDB4ZTgsIDB4ZDIsIDB4YWYsIDB4ZDIsIDB4YWMsIDB4NzR9IH0sCi17IDB4MDJhMCwJMTYsCXsweDAwLCAweGY1LCAweDg2LCAweDkwLCAweDdmLCAweGQ2LCAweDc0LCAweDAyLCAweGYwLCAweDc5LCAweDJlLCAweDdhLCAweDAwLCAweDdiLCAweDAwLCAweGRifSB9LAoteyAweDAyYjAsCTE2LAl7MHhmZSwgMHhkYSwgMHhmYSwgMHhkOSwgMHhmNiwgMHg3NCwgMHgwNiwgMHhmMCwgMHg4MCwgMHhmZSwgMHhjMCwgMHg4NiwgMHhjMCwgMHg4MiwgMHhjMCwgMHg4M30gfSwKLXsgMHgwMmMwLAkxNiwJezB4YzAsIDB4ODQsIDB4YzAsIDB4ODUsIDB4YzAsIDB4ZTAsIDB4ZTUsIDB4OTEsIDB4YzIsIDB4ZTQsIDB4ZjUsIDB4OTEsIDB4OTAsIDB4N2YsIDB4YWIsIDB4NzR9IH0sCi17IDB4MDJkMCwJMTYsCXsweDAxLCAweGYwLCAweDkwLCAweDdmLCAweGU4LCAweGUwLCAweGY5LCAweGEzLCAweGUwLCAweGZhLCAweGEzLCAweGUwLCAweGZiLCAweGEzLCAweGUwLCAweGZjfSB9LAoteyAweDAyZTAsCTE2LAl7MHhlOSwgMHg1NCwgMHg2MCwgMHhiNCwgMHgwMCwgMHgwMywgMHgwMiwgMHgwMywgMHg1ZCwgMHhiNCwgMHg0MCwgMHg2ZSwgMHhiYSwgMHgwMCwgMHgwYiwgMHgxMn0gfSwKLXsgMHgwMmYwLAkxNiwJezB4MDQsIDB4NDQsIDB4NDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmV9IH0sCi17IDB4MDMwMCwJMTYsCXsweGJhLCAweDAyLCAweDAzLCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDAzLCAweDAzLCAweDAyLCAweDA0LCAweDY4LCAweGJhLCAweDA0LCAweDFlLCAweGJifSB9LAoteyAweDAzMTAsCTE2LAl7MHgwMCwgMHgwYSwgMHg5MCwgMHg3ZiwgMHg5NSwgMHhlMCwgMHg0NCwgMHgwMiwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHg5MCwgMHg3ZiwgMHg5OCwgMHhlMH0gfSwKLXsgMHgwMzIwLAkxNiwJezB4NTQsIDB4ZmQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4OTUsIDB4ZTAsIDB4NTQsIDB4ZmQsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmEsIDB4MDUsIDB4MDN9IH0sCi17IDB4MDMzMCwJMTYsCXsweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDA2LCAweDE5LCAweGJiLCAweDAwLCAweDA4LCAweGU1LCAweDMzLCAweGQzLCAweDk1LCAweDMyLCAweDAyLCAweDA0fSB9LAoteyAweDAzNDAsCTE2LAl7MHgwMiwgMHhiYiwgMHgwMSwgMHgwOCwgMHhlNSwgMHgzMiwgMHhjMywgMHg5NSwgMHgzMywgMHgwMiwgMHgwNCwgMHgwMiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYX0gfSwKLXsgMHgwMzUwLAkxNiwJezB4MDcsIDB4MDUsIDB4OGIsIDB4MzQsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDIsIDB4MDQsIDB4MmUsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmEsIDB4MDAsIDB4MjB9IH0sCi17IDB4MDM2MCwJMTYsCXsweGI5LCAweDgwLCAweDEwLCAweDkwLCAweDdmLCAweDAwLCAweGU0LCAweGYwLCAweGEzLCAweGYwLCAweDkwLCAweDdmLCAweGI1LCAweDc0LCAweDAyLCAweGYwfSB9LAoteyAweDAzNzAsCTE2LAl7MHgwMiwgMHgwNCwgMHgyNiwgMHhiOSwgMHg4MiwgMHgwMiwgMHg4MCwgMHhlYiwgMHhiOSwgMHg4MSwgMHgwMiwgMHg4MCwgMHhlNiwgMHgwMiwgMHgwNCwgMHgyZX0gfSwKLXsgMHgwMzgwLAkxNiwJezB4YmEsIDB4MDEsIDB4MGYsIDB4YmIsIDB4MDAsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MmUsIDB4YmIsIDB4MDEsIDB4MDMsIDB4MDIsIDB4MDQsIDB4MjYsIDB4MDJ9IH0sCi17IDB4MDM5MCwJMTYsCXsweDA0LCAweDJlLCAweGJhLCAweDAzLCAweDBmLCAweGJiLCAweDAwLCAweDAzLCAweDAyLCAweDA0LCAweDJlLCAweGJiLCAweDAxLCAweDAzLCAweDAyLCAweDA0fSB9LAoteyAweDAzYTAsCTE2LAl7MHgyNiwgMHgwMiwgMHgwNCwgMHgyZSwgMHhiYSwgMHgwNiwgMHg1NiwgMHhiYywgMHgwMSwgMHgwZiwgMHg5MCwgMHg3ZiwgMHhkNCwgMHg3NCwgMHgwNiwgMHhmMH0gfSwKLXsgMHgwM2IwLAkxNiwJezB4OTAsIDB4N2YsIDB4ZDUsIDB4NzQsIDB4NWEsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmMsIDB4MDIsIDB4MTIsIDB4YmIsIDB4MDAsIDB4NmYsIDB4OTB9IH0sCi17IDB4MDNjMCwJMTYsCXsweDdmLCAweGQ0LCAweDc0LCAweDA2LCAweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweDc0LCAweDZjLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweGJjLCAweDAzfSB9LAoteyAweDAzZDAsCTE2LAl7MHgyOSwgMHg3NCwgMHgwNCwgMHhjMywgMHg5YiwgMHg0MCwgMHg1NywgMHg2MCwgMHg1NSwgMHhlYiwgMHgyYiwgMHg5MCwgMHgwNiwgMHg4YywgMHgyNSwgMHg4Mn0gfSwKLXsgMHgwM2UwLAkxNiwJezB4ZjUsIDB4ODIsIDB4NzQsIDB4MDAsIDB4MzUsIDB4ODMsIDB4ZjUsIDB4ODMsIDB4ZTAsIDB4ZjksIDB4YTMsIDB4ZTAsIDB4ZmEsIDB4OTAsIDB4N2YsIDB4ZDR9IH0sCi17IDB4MDNmMCwJMTYsCXsweGU5LCAweGYwLCAweDkwLCAweDdmLCAweGQ1LCAweGVhLCAweGYwLCAweDAyLCAweDA0LCAweDI2LCAweDAyLCAweDA0LCAweDJlLCAweGJhLCAweDA4LCAweDBmfSB9LAoteyAweDA0MDAsCTE2LAl7MHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHgwMCwgMHhmMCwgMHg3NCwgMHgwMSwgMHg5MCwgMHg3ZiwgMHhiNSwgMHhmMCwgMHgwMiwgMHgwNCwgMHgyNiwgMHhiYX0gfSwKLXsgMHgwNDEwLAkxNiwJezB4MDksIDB4MDMsIDB4MDIsIDB4MDQsIDB4MjYsIDB4YmEsIDB4MGEsIDB4MDUsIDB4NzQsIDB4MDAsIDB4MDIsIDB4MDQsIDB4MDIsIDB4YmEsIDB4MGIsIDB4MDN9IH0sCi17IDB4MDQyMCwJMTYsCXsweDAyLCAweDA0LCAweDI2LCAweDAyLCAweDA0LCAweDJlLCAweDkwLCAweDdmLCAweGI0LCAweDc0LCAweDAyLCAweGYwLCAweDgwLCAweDA5LCAweDkwLCAweDdmfSB9LAoteyAweDA0MzAsCTE2LAl7MHhiNCwgMHhlMCwgMHg0NCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NCwgMHhkMCwgMHg4MywgMHhkMH0gfSwKLXsgMHgwNDQwLAkxNiwJezB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4ZWIsIDB4MjAsIDB4ZTcsIDB4MWUsIDB4YzMsIDB4OTQsIDB4MGEsIDB4NTAsIDB4MTksIDB4ZWIsIDB4MjMsIDB4MjR9IH0sCi17IDB4MDQ1MCwJMTYsCXsweDQ2LCAweGY1LCAweDgyLCAweDc0LCAweDA2LCAweDM0LCAweDAwLCAweGY1LCAweDgzLCAweGUwLCAweGY1LCAweGNiLCAweGY1LCAweGNkLCAweGEzLCAweGUwfSB9LAoteyAweDA0NjAsCTE2LAl7MHhmNSwgMHhjYSwgMHhmNSwgMHhjYywgMHhjMywgMHgyMiwgMHhkMywgMHgyMiwgMHhiOSwgMHg0MSwgMHgxMSwgMHhlYiwgMHg2NCwgMHhmZiwgMHg1NCwgMHg4MH0gfSwKLXsgMHgwNDcwLAkxNiwJezB4ZmIsIDB4OTAsIDB4N2YsIDB4OTgsIDB4ZTAsIDB4NTQsIDB4N2YsIDB4NGIsIDB4ZjAsIDB4MDIsIDB4MDQsIDB4MjYsIDB4OTAsIDB4N2YsIDB4OWIsIDB4ZTB9IH0sCi17IDB4MDQ4MCwJMTYsCXsweDY0LCAweGZmLCAweDAyLCAweDA0LCAweDAyLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwfSB9LAoteyAweDA0OTAsCTE2LAl7MHhlMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNSwgMHg5MSwgMHg5MCwgMHg3ZiwgMHhhOSwgMHg3NCwgMHgwNCwgMHhmMCwgMHg3NCwgMHgyMCwgMHg5MH0gfSwKLXsgMHgwNGEwLAkxNiwJezB4N2YsIDB4OWMsIDB4ZjAsIDB4MTIsIDB4MDUsIDB4ZGMsIDB4NzQsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODV9IH0sCi17IDB4MDRiMCwJMTYsCXsweGQwLCAweDg0LCAweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGMwLCAweDg2LCAweGMwLCAweDgyLCAweGMwLCAweDgzLCAweGMwfSB9LAoteyAweDA0YzAsCTE2LAl7MHg4NCwgMHhjMCwgMHg4NSwgMHhjMCwgMHhlMCwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMCwgMHhlNSwgMHg5MSwgMHhjMiwgMHhlNCwgMHhmNX0gfSwKLXsgMHgwNGQwLAkxNiwJezB4OTEsIDB4OTAsIDB4N2YsIDB4YWEsIDB4NzQsIDB4MDQsIDB4ZjAsIDB4OTAsIDB4N2YsIDB4YzksIDB4ZTAsIDB4ZjksIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTB9IH0sCi17IDB4MDRlMCwJMTYsCXsweDdkLCAweGMwLCAweDc1LCAweDg1LCAweDEwLCAweDg1LCAweDMyLCAweDg0LCAweGUwLCAweDA1LCAweDg2LCAweDA1LCAweDg0LCAweGYwLCAweGU1LCAweDg0fSB9LAoteyAweDA0ZjAsCTE2LAl7MHhiNSwgMHgzMywgMHgwMiwgMHg4MCwgMHgwOSwgMHgwNSwgMHgzMiwgMHgwNSwgMHg4NiwgMHhhMywgMHhkOSwgMHhlYywgMHg4MCwgMHgwMCwgMHg5MCwgMHg3Zn0gfSwKLXsgMHgwNTAwLAkxNiwJezB4YzksIDB4ZjAsIDB4YjEsIDB4NmQsIDB4NzQsIDB4MjAsIDB4OTAsIDB4N2YsIDB4OWMsIDB4ZjAsIDB4ZDAsIDB4ZTAsIDB4ZDAsIDB4ODUsIDB4ZDAsIDB4ODR9IH0sCi17IDB4MDUxMCwJMTYsCXsweGQwLCAweDgzLCAweGQwLCAweDgyLCAweGQwLCAweDg2LCAweDMyLCAweGU0LCAweGY1LCAweDg2LCAweDkwLCAweDdmLCAweGJjLCAweGUwLCAweDIwLCAweGUxfSB9LAoteyAweDA1MjAsCTE2LAl7MHg0YiwgMHg5MCwgMHg3ZCwgMHgwMCwgMHhlNSwgMHgzMiwgMHhmMCwgMHhhMywgMHhlNSwgMHgzMywgMHhmMCwgMHhhMywgMHhlNSwgMHgzMCwgMHhmMCwgMHhhM30gfSwKLXsgMHgwNTMwLAkxNiwJezB4ZTUsIDB4MzEsIDB4ZjAsIDB4YTMsIDB4ZTQsIDB4MzAsIDB4MDAsIDB4MDEsIDB4MDQsIDB4ZjAsIDB4YTMsIDB4MDUsIDB4ODYsIDB4OTAsIDB4MTAsIDB4MDB9IH0sCi17IDB4MDU0MCwJMTYsCXsweDc5LCAweDEwLCAweGUwLCAweGEzLCAweDA1LCAweDg2LCAweGYwLCAweGEzLCAweDA1LCAweDg2LCAweGQ5LCAweGY2LCAweDA1LCAweDg2LCAweDc0LCAweGZjfSB9LAoteyAweDA1NTAsCTE2LAl7MHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHg5MCwgMHgxMSwgMHgwMCwgMHg3OSwgMHgxMCwgMHhlMCwgMHhhMywgMHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNX0gfSwKLXsgMHgwNTYwLAkxNiwJezB4ODYsIDB4ZDksIDB4ZjYsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2YsIDB4YmQsIDB4NzQsIDB4MjYsIDB4ZjAsIDB4MjIsIDB4MjAsIDB4MDAsIDB4MTN9IH0sCi17IDB4MDU3MCwJMTYsCXsweGU1LCAweDMyLCAweGI1LCAweDMzLCAweDAxLCAweDIyLCAweDA1LCAweDMzLCAweDc1LCAweDgzLCAweDEwLCAweDg1LCAweDMzLCAweDgyLCAweGUwLCAweGY1fSB9LAoteyAweDA1ODAsCTE2LAl7MHg5OSwgMHhkMiwgMHgwMCwgMHg3NCwgMHgwMCwgMHhiNSwgMHgzNCwgMHgwMSwgMHgyMiwgMHhlNSwgMHgzMywgMHhkMywgMHg5NSwgMHgzMiwgMHhjMywgMHg5NX0gfSwKLXsgMHgwNTkwLAkxNiwJezB4MzQsIDB4NDAsIDB4ZjUsIDB4NzUsIDB4MzQsIDB4MDAsIDB4ZDIsIDB4MDEsIDB4MDIsIDB4MDUsIDB4ZGMsIDB4YzAsIDB4ODYsIDB4YzAsIDB4ODIsIDB4YzB9IH0sCi17IDB4MDVhMCwJMTYsCXsweDgzLCAweGMwLCAweDg0LCAweGMwLCAweDg1LCAweGMwLCAweGUwLCAweDMwLCAweDk5LCAweDA3LCAweGMyLCAweDk5LCAweGMyLCAweDAwLCAweDEyLCAweDA1fSB9LAoteyAweDA1YjAsCTE2LAl7MHg3MCwgMHgzMCwgMHg5OCwgMHgwNSwgMHgxMiwgMHgwNSwgMHhjNiwgMHhjMiwgMHg5OCwgMHhkMCwgMHhlMCwgMHhkMCwgMHg4NSwgMHhkMCwgMHg4NCwgMHhkMH0gfSwKLXsgMHgwNWMwLAkxNiwJezB4ODMsIDB4ZDAsIDB4ODIsIDB4ZDAsIDB4ODYsIDB4MzIsIDB4NzUsIDB4ODMsIDB4MTEsIDB4ODUsIDB4MzAsIDB4ODIsIDB4MDUsIDB4ODIsIDB4ZTUsIDB4OTl9IH0sCi17IDB4MDVkMCwJMTYsCXsweGYwLCAweGU1LCAweDgyLCAweGI1LCAweDMxLCAweDAxLCAweDIyLCAweDA1LCAweDMwLCAweGIxLCAweGRjLCAweDIyLCAweDc0LCAweDEwLCAweDkwLCAweDdmfSB9LAoteyAweDA1ZTAsCTE2LAl7MHg5YywgMHhmMCwgMHg5MCwgMHg3ZiwgMHhiOCwgMHhlMCwgMHgyMCwgMHhlMSwgMHgzZSwgMHgyMCwgMHgwMSwgMHgzYywgMHhlNSwgMHgzMCwgMHhiNSwgMHgzMX0gfSwKLXsgMHgwNWYwLAkxNiwJezB4MDEsIDB4MjIsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4NzUsIDB4ODMsIDB4MTEsIDB4MDUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDAsIDB4ZjAsIDB4YTMsIDB4MDV9IH0sCi17IDB4MDYwMCwJMTYsCXsweDg2LCAweDc5LCAweDAxLCAweGU1LCAweDMwLCAweGI1LCAweDMxLCAweDAyLCAweDgwLCAweDEwLCAweDA1LCAweDMxLCAweDg1LCAweDMxLCAweDgyLCAweGUwfSB9LAoteyAweDA2MTAsCTE2LAl7MHgwNSwgMHg4NiwgMHhmMCwgMHhhMywgMHgwNSwgMHg4NiwgMHgwOSwgMHhiOSwgMHg0MCwgMHhlOSwgMHg3NCwgMHgxMCwgMHg5MCwgMHg3ZiwgMHg5YywgMHhmMH0gfSwKLXsgMHgwNjIwLAkxNiwJezB4OTAsIDB4N2YsIDB4YjksIDB4ZTksIDB4NjAsIDB4MDEsIDB4ZjAsIDB4MjIsIDB4YzIsIDB4MDEsIDB4ZTQsIDB4ZjUsIDB4ODYsIDB4OTAsIDB4N2UsIDB4MDB9IH0sCi17IDB4MDYzMCwJMTYsCXsweDc0LCAweDAxLCAweGYwLCAweGEzLCAweDc0LCAweDAyLCAweGYwLCAweDkwLCAweDdmLCAweGI5LCAweGYwLCAweDIyLCAweGMyLCAweDk5LCAweGY1LCAweDk5fSB9LAoteyAweDA2NDAsCTE2LAl7MHgzMCwgMHg5OSwgMHhmZCwgMHhjMiwgMHg5OSwgMHgyMiwgMHhlNSwgMHg1ZSwgMHhmNiwgMHgzYywgMHhmZCwgMHg4ZiwgMHhmZSwgMHhjOCwgMHhmZiwgMHg2NH0gfSwKLXsgMHgwNjUwLAkxNiwJezB4ZmYsIDB4YjIsIDB4ZmYsIDB4ZDksIDB4ZmYsIDB4ZWQsIDB4ZmYsIDB4ZjMsIDB4ZmYsIDB4ZmEsIDB4MTIsIDB4MDEsIDB4MDAsIDB4MDEsIDB4ZmYsIDB4ZmZ9IH0sCi17IDB4MDY2MCwJMTYsCXsweGZmLCAweDQwLCAweGNkLCAweDA2LCAweDA0LCAweDAxLCAweDg5LCAweGFiLCAweDAxLCAweDAyLCAweDAzLCAweDAxLCAweDA5LCAweDAyLCAweDIwLCAweDAwfSB9LAoteyAweDA2NzAsCTE2LAl7MHgwMSwgMHgwMSwgMHgwMCwgMHg4MCwgMHgzMiwgMHgwOSwgMHgwNCwgMHgwMCwgMHgwMCwgMHgwMiwgMHhmZiwgMHhmZiwgMHhmZiwgMHgwMCwgMHgwNywgMHgwNX0gfSwKLXsgMHgwNjgwLAkxNiwJezB4ODIsIDB4MDMsIDB4NDAsIDB4MDAsIDB4MDEsIDB4MDcsIDB4MDUsIDB4MDIsIDB4MDIsIDB4NDAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4OTQsIDB4MDYsIDB4OTh9IH0sCi17IDB4MDY5MCwJMTYsCXsweDA2LCAweGJhLCAweDA2LCAweGU4LCAweDA0LCAweDAzLCAweDAwLCAweDAwLCAweDIyLCAweDAzLCAweDQxLCAweDAwLCAweDQzLCAweDAwLCAweDRkLCAweDAwfSB9LAoteyAweDA2YTAsCTE2LAl7MHg0NSwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NSwgMHgwMCwgMHg3MywgMHgwMCwgMHg2MiwgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgwNmIwLAkxNiwJezB4NjQsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4NzMsIDB4MDAsIDB4MmUsIDB4MDMsIDB4NDEsIDB4MDAsIDB4NDMsIDB4MDB9IH0sCi17IDB4MDZjMCwJMTYsCXsweDRkLCAweDAwLCAweDQ1LCAweDAwLCAweDIwLCAweDAwLCAweDU1LCAweDAwLCAweDUzLCAweDAwLCAweDQyLCAweDAwLCAweDIwLCAweDAwLCAweDczLCAweDAwfSB9LAoteyAweDA2ZDAsCTE2LAl7MHg2NSwgMHgwMCwgMHg3MiwgMHgwMCwgMHg2OSwgMHgwMCwgMHg2MSwgMHgwMCwgMHg2YywgMHgwMCwgMHgyMCwgMHgwMCwgMHg3NywgMHgwMCwgMHg2OSwgMHgwMH0gfSwKLXsgMHgwNmUwLAkxNCwJezB4NjQsIDB4MDAsIDB4NjcsIDB4MDAsIDB4NjUsIDB4MDAsIDB4NzQsIDB4MDAsIDB4MDYsIDB4MDMsIDB4MzQsIDB4MDAsIDB4MzcsIDB4MDB9IH0sCi17IDB4ZmZmZiwJMCwJezB4MDB9IH0KLX07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL0tjb25maWcgYi9kcml2ZXJzL3ZpZGVvL0tjb25maWcKaW5kZXggZTBjNWY5Ni4uOWI4ODdlZiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9LY29uZmlnCisrKyBiL2RyaXZlcnMvdmlkZW8vS2NvbmZpZwpAQCAtNyw3ICs3LDcgQEAKIAogc291cmNlICJkcml2ZXJzL2NoYXIvYWdwL0tjb25maWciCiAKLXNvdXJjZSAiZHJpdmVycy9jaGFyL2RybS9LY29uZmlnIgorc291cmNlICJkcml2ZXJzL2dwdS9kcm0vS2NvbmZpZyIKIAogY29uZmlnIFZHQVNUQVRFCiAgICAgICAgdHJpc3RhdGUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9LY29uZmlnCmluZGV4IGRjZDgwNzMuLjMwYmY3ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L0tjb25maWcKKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvS2NvbmZpZwpAQCAtMTEyLDMgKzExMiwxMCBAQAogCWhlbHAKIAkgIElmIHlvdSBoYXZlIGEgSW50ZWwgTEU4MDU3OCAoQ2FyaWxsbyBSYW5jaCkgc2F5IFkgdG8gZW5hYmxlIHRoZQogCSAgYmFja2xpZ2h0IGRyaXZlci4KKworY29uZmlnIEJBQ0tMSUdIVF9QV00KKwl0cmlzdGF0ZSAiR2VuZXJpYyBQV00gYmFzZWQgQmFja2xpZ2h0IERyaXZlciIKKwlkZXBlbmRzIG9uIEJBQ0tMSUdIVF9DTEFTU19ERVZJQ0UgJiYgSEFWRV9QV00KKwloZWxwCisJICBJZiB5b3UgaGF2ZSBhIExDRCBiYWNrbGlnaHQgYWRqdXN0YWJsZSBieSBQV00sIHNheSBZIHRvIGVuYWJsZQorCSAgdGhpcyBkcml2ZXIuCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9NYWtlZmlsZSBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlCmluZGV4IDMzZjZjN2MuLmI1MWE3Y2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L01ha2VmaWxlCkBAIC0xMCwzICsxMCw0IEBACiBvYmotJChDT05GSUdfQkFDS0xJR0hUX09NQVAxKQkrPSBvbWFwMV9ibC5vCiBvYmotJChDT05GSUdfQkFDS0xJR0hUX1BST0dFQVIpICs9IHByb2dlYXJfYmwubwogb2JqLSQoQ09ORklHX0JBQ0tMSUdIVF9DQVJJTExPX1JBTkNIKSArPSBjcl9ibGxjZC5vCitvYmotJChDT05GSUdfQkFDS0xJR0hUX1BXTSkJKz0gcHdtX2JsLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjMzOGQwZQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCkBAIC0wLDAgKzEsMTg1IEBACisvKgorICogbGludXgvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKKyAqCisgKiBzaW1wbGUgUFdNIGJhc2VkIGJhY2tsaWdodCBjb250cm9sLCBib2FyZCBjb2RlIGhhcyB0byBzZXR1cAorICogMSkgcGluIGNvbmZpZ3VyYXRpb24gc28gUFdNIHdhdmVmb3JtcyBjYW4gb3V0cHV0CisgKiAyKSBwbGF0Zm9ybV9kYXRhIGNhc3RzIHRvIHRoZSBQV00gaWQgKDAvMS8yLzMgb24gUFhBKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9mYi5oPgorI2luY2x1ZGUgPGxpbnV4L2JhY2tsaWdodC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bS5oPgorI2luY2x1ZGUgPGxpbnV4L3B3bV9iYWNrbGlnaHQuaD4KKworc3RydWN0IHB3bV9ibF9kYXRhIHsKKwlzdHJ1Y3QgcHdtX2RldmljZQkqcHdtOworCXVuc2lnbmVkIGludAkJcGVyaW9kOworCWludAkJCSgqbm90aWZ5KShpbnQgYnJpZ2h0bmVzcyk7Cit9OworCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmwpCit7CisJc3RydWN0IHB3bV9ibF9kYXRhICpwYiA9IGRldl9nZXRfZHJ2ZGF0YSgmYmwtPmRldik7CisJaW50IGJyaWdodG5lc3MgPSBibC0+cHJvcHMuYnJpZ2h0bmVzczsKKwlpbnQgbWF4ID0gYmwtPnByb3BzLm1heF9icmlnaHRuZXNzOworCisJaWYgKGJsLT5wcm9wcy5wb3dlciAhPSBGQl9CTEFOS19VTkJMQU5LKQorCQlicmlnaHRuZXNzID0gMDsKKworCWlmIChibC0+cHJvcHMuZmJfYmxhbmsgIT0gRkJfQkxBTktfVU5CTEFOSykKKwkJYnJpZ2h0bmVzcyA9IDA7CisKKwlpZiAocGItPm5vdGlmeSkKKwkJYnJpZ2h0bmVzcyA9IHBiLT5ub3RpZnkoYnJpZ2h0bmVzcyk7CisKKwlpZiAoYnJpZ2h0bmVzcyA9PSAwKSB7CisJCXB3bV9jb25maWcocGItPnB3bSwgMCwgcGItPnBlcmlvZCk7CisJCXB3bV9kaXNhYmxlKHBiLT5wd20pOworCX0gZWxzZSB7CisJCXB3bV9jb25maWcocGItPnB3bSwgYnJpZ2h0bmVzcyAqIHBiLT5wZXJpb2QgLyBtYXgsIHBiLT5wZXJpb2QpOworCQlwd21fZW5hYmxlKHBiLT5wd20pOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzKHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCkKK3sKKwlyZXR1cm4gYmwtPnByb3BzLmJyaWdodG5lc3M7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgYmFja2xpZ2h0X29wcyBwd21fYmFja2xpZ2h0X29wcyA9IHsKKwkudXBkYXRlX3N0YXR1cwk9IHB3bV9iYWNrbGlnaHRfdXBkYXRlX3N0YXR1cywKKwkuZ2V0X2JyaWdodG5lc3MJPSBwd21fYmFja2xpZ2h0X2dldF9icmlnaHRuZXNzLAorfTsKKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNrbGlnaHRfZGF0YSAqZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibDsKKwlzdHJ1Y3QgcHdtX2JsX2RhdGEgKnBiOworCWludCByZXQ7CisKKwlpZiAoIWRhdGEpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGRhdGEtPmluaXQpIHsKKwkJcmV0ID0gZGF0YS0+aW5pdCgmcGRldi0+ZGV2KTsKKwkJaWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCX0KKworCXBiID0ga3phbGxvYyhzaXplb2YoKnBiKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwYikgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9hbGxvYzsKKwl9CisKKwlwYi0+cGVyaW9kID0gZGF0YS0+cHdtX3BlcmlvZF9uczsKKwlwYi0+bm90aWZ5ID0gZGF0YS0+bm90aWZ5OworCisJcGItPnB3bSA9IHB3bV9yZXF1ZXN0KGRhdGEtPnB3bV9pZCwgImJhY2tsaWdodCIpOworCWlmIChJU19FUlIocGItPnB3bSkpIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAidW5hYmxlIHRvIHJlcXVlc3QgUFdNIGZvciBiYWNrbGlnaHRcbiIpOworCQlyZXQgPSBQVFJfRVJSKHBiLT5wd20pOworCQlnb3RvIGVycl9wd207CisJfQorCisJYmwgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKHBkZXYtPm5hbWUsICZwZGV2LT5kZXYsCisJCQlwYiwgJnB3bV9iYWNrbGlnaHRfb3BzKTsKKwlpZiAoSVNfRVJSKGJsKSkgeworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKKwkJcmV0ID0gUFRSX0VSUihibCk7CisJCWdvdG8gZXJyX2JsOworCX0KKworCWJsLT5wcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IGRhdGEtPm1heF9icmlnaHRuZXNzOworCWJsLT5wcm9wcy5icmlnaHRuZXNzID0gZGF0YS0+ZGZ0X2JyaWdodG5lc3M7CisJYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgYmwpOworCXJldHVybiAwOworCitlcnJfYmw6CisJcHdtX2ZyZWUocGItPnB3bSk7CitlcnJfcHdtOgorCWtmcmVlKHBiKTsKK2Vycl9hbGxvYzoKKwlpZiAoZGF0YS0+ZXhpdCkKKwkJZGF0YS0+ZXhpdCgmcGRldi0+ZGV2KTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHB3bV9iYWNrbGlnaHRfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNrbGlnaHRfZGF0YSAqZGF0YSA9IHBkZXYtPmRldi5wbGF0Zm9ybV9kYXRhOworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGIgPSBkZXZfZ2V0X2RydmRhdGEoJmJsLT5kZXYpOworCisJYmFja2xpZ2h0X2RldmljZV91bnJlZ2lzdGVyKGJsKTsKKwlwd21fY29uZmlnKHBiLT5wd20sIDAsIHBiLT5wZXJpb2QpOworCXB3bV9kaXNhYmxlKHBiLT5wd20pOworCXB3bV9mcmVlKHBiLT5wd20pOworCWtmcmVlKHBiKTsKKwlpZiAoZGF0YS0+ZXhpdCkKKwkJZGF0YS0+ZXhpdCgmcGRldi0+ZGV2KTsKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQkgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBwd21fYmxfZGF0YSAqcGIgPSBkZXZfZ2V0X2RydmRhdGEoJmJsLT5kZXYpOworCisJcHdtX2NvbmZpZyhwYi0+cHdtLCAwLCBwYi0+cGVyaW9kKTsKKwlwd21fZGlzYWJsZShwYi0+cHdtKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwd21fYmFja2xpZ2h0X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpibCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJYmFja2xpZ2h0X3VwZGF0ZV9zdGF0dXMoYmwpOworCXJldHVybiAwOworfQorI2Vsc2UKKyNkZWZpbmUgcHdtX2JhY2tsaWdodF9zdXNwZW5kCU5VTEwKKyNkZWZpbmUgcHdtX2JhY2tsaWdodF9yZXN1bWUJTlVMTAorI2VuZGlmCisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB3bV9iYWNrbGlnaHRfZHJpdmVyID0geworCS5kcml2ZXIJCT0geworCQkubmFtZQk9ICJwd20tYmFja2xpZ2h0IiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfSwKKwkucHJvYmUJCT0gcHdtX2JhY2tsaWdodF9wcm9iZSwKKwkucmVtb3ZlCQk9IHB3bV9iYWNrbGlnaHRfcmVtb3ZlLAorCS5zdXNwZW5kCT0gcHdtX2JhY2tsaWdodF9zdXNwZW5kLAorCS5yZXN1bWUJCT0gcHdtX2JhY2tsaWdodF9yZXN1bWUsCit9OworCitzdGF0aWMgaW50IF9faW5pdCBwd21fYmFja2xpZ2h0X2luaXQodm9pZCkKK3sKKwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZwd21fYmFja2xpZ2h0X2RyaXZlcik7Cit9Cittb2R1bGVfaW5pdChwd21fYmFja2xpZ2h0X2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgcHdtX2JhY2tsaWdodF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnB3bV9iYWNrbGlnaHRfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KHB3bV9iYWNrbGlnaHRfZXhpdCk7CisKK01PRFVMRV9ERVNDUklQVElPTigiUFdNIGJhc2VkIEJhY2tsaWdodCBEcml2ZXIiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RkYy5jCmluZGV4IGEwZGY2MzIuLjBjZjk2ZWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJfZGRjLmMKKysrIGIvZHJpdmVycy92aWRlby9mYl9kZGMuYwpAQCAtMTA2LDYgKzEwNiw3IEBACiAJYWxnb19kYXRhLT5zZXRzZGEoYWxnb19kYXRhLT5kYXRhLCAxKTsKIAlhbGdvX2RhdGEtPnNldHNjbChhbGdvX2RhdGEtPmRhdGEsIDEpOwogCisJYWRhcHRlci0+Y2xhc3MgfD0gSTJDX0NMQVNTX0REQzsKIAlyZXR1cm4gZWRpZDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYl9kZWZpby5jIGIvZHJpdmVycy92aWRlby9mYl9kZWZpby5jCmluZGV4IDI0ODQzZmQuLjU5ZGYxMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZmJfZGVmaW8uYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiX2RlZmlvLmMKQEAgLTc0LDYgKzc0LDcgQEAKIHsKIAlzdHJ1Y3QgZmJfaW5mbyAqaW5mbyA9IHZtYS0+dm1fcHJpdmF0ZV9kYXRhOwogCXN0cnVjdCBmYl9kZWZlcnJlZF9pbyAqZmJkZWZpbyA9IGluZm8tPmZiZGVmaW87CisJc3RydWN0IHBhZ2UgKmN1cjsKIAogCS8qIHRoaXMgaXMgYSBjYWxsYmFjayB3ZSBnZXQgd2hlbiB1c2Vyc3BhY2UgZmlyc3QgdHJpZXMgdG8KIAl3cml0ZSB0byB0aGUgcGFnZS4gd2Ugc2NoZWR1bGUgYSB3b3JrcXVldWUuIHRoYXQgd29ya3F1ZXVlCkBAIC04Myw3ICs4NCwyNCBAQAogCiAJLyogcHJvdGVjdCBhZ2FpbnN0IHRoZSB3b3JrcXVldWUgY2hhbmdpbmcgdGhlIHBhZ2UgbGlzdCAqLwogCW11dGV4X2xvY2soJmZiZGVmaW8tPmxvY2spOwotCWxpc3RfYWRkKCZwYWdlLT5scnUsICZmYmRlZmlvLT5wYWdlbGlzdCk7CisKKwkvKiB3ZSBsb29wIHRocm91Z2ggdGhlIHBhZ2VsaXN0IGJlZm9yZSBhZGRpbmcgaW4gb3JkZXIKKwl0byBrZWVwIHRoZSBwYWdlbGlzdCBzb3J0ZWQgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGN1ciwgJmZiZGVmaW8tPnBhZ2VsaXN0LCBscnUpIHsKKwkJLyogdGhpcyBjaGVjayBpcyB0byBjYXRjaCB0aGUgY2FzZSB3aGVyZSBhIG5ldworCQlwcm9jZXNzIGNvdWxkIHN0YXJ0IHdyaXRpbmcgdG8gdGhlIHNhbWUgcGFnZQorCQl0aHJvdWdoIGEgbmV3IHB0ZS4gdGhpcyBuZXcgYWNjZXNzIGNhbiBjYXVzZSB0aGUKKwkJbWt3cml0ZSBldmVuIHdoZW4gdGhlIG9yaWdpbmFsIHBzJ3MgcHRlIGlzIG1hcmtlZAorCQl3cml0YWJsZSAqLworCQlpZiAodW5saWtlbHkoY3VyID09IHBhZ2UpKQorCQkJZ290byBwYWdlX2FscmVhZHlfYWRkZWQ7CisJCWVsc2UgaWYgKGN1ci0+aW5kZXggPiBwYWdlLT5pbmRleCkKKwkJCWJyZWFrOworCX0KKworCWxpc3RfYWRkX3RhaWwoJnBhZ2UtPmxydSwgJmN1ci0+bHJ1KTsKKworcGFnZV9hbHJlYWR5X2FkZGVkOgogCW11dGV4X3VubG9jaygmZmJkZWZpby0+bG9jayk7CiAKIAkvKiBjb21lIGJhY2sgYWZ0ZXIgZGVsYXkgdG8gcHJvY2VzcyB0aGUgZGVmZXJyZWQgSU8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJtZW0uYyBiL2RyaXZlcnMvdmlkZW8vZmJtZW0uYwppbmRleCA3NzZmN2ZjLi4zM2ViZGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ZibWVtLmMKKysrIGIvZHJpdmVycy92aWRlby9mYm1lbS5jCkBAIC0xMzI2LDIwICsxMzI2LDI3IEBACiAKIAlpZiAoZmJpZHggPj0gRkJfTUFYKQogCQlyZXR1cm4gLUVOT0RFVjsKKwlsb2NrX2tlcm5lbCgpOwogI2lmZGVmIENPTkZJR19LTU9ECiAJaWYgKCEoaW5mbyA9IHJlZ2lzdGVyZWRfZmJbZmJpZHhdKSkKIAkJdHJ5X3RvX2xvYWQoZmJpZHgpOwogI2VuZGlmIC8qIENPTkZJR19LTU9EICovCi0JaWYgKCEoaW5mbyA9IHJlZ2lzdGVyZWRfZmJbZmJpZHhdKSkKLQkJcmV0dXJuIC1FTk9ERVY7Ci0JaWYgKCF0cnlfbW9kdWxlX2dldChpbmZvLT5mYm9wcy0+b3duZXIpKQotCQlyZXR1cm4gLUVOT0RFVjsKKwlpZiAoIShpbmZvID0gcmVnaXN0ZXJlZF9mYltmYmlkeF0pKSB7CisJCXJlcyA9IC1FTk9ERVY7CisJCWdvdG8gb3V0OworCX0KKwlpZiAoIXRyeV9tb2R1bGVfZ2V0KGluZm8tPmZib3BzLT5vd25lcikpIHsKKwkJcmVzID0gLUVOT0RFVjsKKwkJZ290byBvdXQ7CisJfQogCWZpbGUtPnByaXZhdGVfZGF0YSA9IGluZm87CiAJaWYgKGluZm8tPmZib3BzLT5mYl9vcGVuKSB7CiAJCXJlcyA9IGluZm8tPmZib3BzLT5mYl9vcGVuKGluZm8sMSk7CiAJCWlmIChyZXMpCiAJCQltb2R1bGVfcHV0KGluZm8tPmZib3BzLT5vd25lcik7CiAJfQorb3V0OgorCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gcmVzOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZzbC1kaXUtZmIuYyBiL2RyaXZlcnMvdmlkZW8vZnNsLWRpdS1mYi5jCmluZGV4IDcxMmRhYmMuLjA5ZDdlMjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdmlkZW8vZnNsLWRpdS1mYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZnNsLWRpdS1mYi5jCkBAIC0xMzI0LDcgKzEzMjQsNyBAQAogewogCXN0cnVjdCBmc2xfZGl1X2RhdGEgKm1hY2hpbmVfZGF0YTsKIAotCW1hY2hpbmVfZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYpOworCW1hY2hpbmVfZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmb2ZkZXYtPmRldik7CiAJZGlzYWJsZV9sY2RjKG1hY2hpbmVfZGF0YS0+ZnNsX2RpdV9pbmZvWzBdKTsKIAogCXJldHVybiAwOwpAQCAtMTMzNCw3ICsxMzM0LDcgQEAKIHsKIAlzdHJ1Y3QgZnNsX2RpdV9kYXRhICptYWNoaW5lX2RhdGE7CiAKLQltYWNoaW5lX2RhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJmRldi0+ZGV2KTsKKwltYWNoaW5lX2RhdGEgPSBkZXZfZ2V0X2RydmRhdGEoJm9mZGV2LT5kZXYpOwogCWVuYWJsZV9sY2RjKG1hY2hpbmVfZGF0YS0+ZnNsX2RpdV9pbmZvWzBdKTsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9pbnRlbGZiL2ludGVsZmJfaTJjLmMgYi9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYl9pMmMuYwppbmRleCBjYTk1ZjA5Li5mY2Y5ZmFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYl9pMmMuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ludGVsZmIvaW50ZWxmYl9pMmMuYwpAQCAtMTAwLDcgKzEwMCw4IEBACiAKIHN0YXRpYyBpbnQgaW50ZWxmYl9zZXR1cF9pMmNfYnVzKHN0cnVjdCBpbnRlbGZiX2luZm8gKmRpbmZvLAogCQkJCSBzdHJ1Y3QgaW50ZWxmYl9pMmNfY2hhbiAqY2hhbiwKLQkJCQkgY29uc3QgdTMyIHJlZywgY29uc3QgY2hhciAqbmFtZSkKKwkJCQkgY29uc3QgdTMyIHJlZywgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgaW50IGNsYXNzKQogewogCWludCByYzsKIApAQCAtMTA4LDYgKzEwOSw3IEBACiAJY2hhbi0+cmVnCQkJPSByZWc7CiAJc25wcmludGYoY2hhbi0+YWRhcHRlci5uYW1lLCBzaXplb2YoY2hhbi0+YWRhcHRlci5uYW1lKSwKIAkJICJpbnRlbGZiICVzIiwgbmFtZSk7CisJY2hhbi0+YWRhcHRlci5jbGFzcwkJPSBjbGFzczsKIAljaGFuLT5hZGFwdGVyLm93bmVyCQk9IFRISVNfTU9EVUxFOwogCWNoYW4tPmFkYXB0ZXIuaWQJCT0gSTJDX0hXX0JfSU5URUxGQjsKIAljaGFuLT5hZGFwdGVyLmFsZ29fZGF0YQkJPSAmY2hhbi0+YWxnbzsKQEAgLTE0NSw3ICsxNDcsNyBAQAogCiAJLyogc2V0dXAgdGhlIEREQyBidXMgZm9yIGFuYWxvZyBvdXRwdXQgKi8KIAlpbnRlbGZiX3NldHVwX2kyY19idXMoZGluZm8sICZkaW5mby0+b3V0cHV0W2ldLmRkY19idXMsIEdQSU9BLAotCQkJICAgICAgIkNSVEREQ19BIik7CisJCQkgICAgICAiQ1JURERDX0EiLCBJMkNfQ0xBU1NfRERDKTsKIAlpKys7CiAKIAkvKiBuZWVkIHRvIGFkZCB0aGUgb3V0cHV0IGJ1c3NlcyBmb3IgZWFjaCBkZXZpY2UKQEAgLTE1OSw5ICsxNjEsOSBAQAogCWNhc2UgSU5URUxfODY1RzoKIAkJZGluZm8tPm91dHB1dFtpXS50eXBlID0gSU5URUxGQl9PVVRQVVRfRFZPOwogCQlpbnRlbGZiX3NldHVwX2kyY19idXMoZGluZm8sICZkaW5mby0+b3V0cHV0W2ldLmRkY19idXMsCi0JCQkJICAgICAgR1BJT0QsICJEVk9ERENfRCIpOworCQkJCSAgICAgIEdQSU9ELCAiRFZPRERDX0QiLCBJMkNfQ0xBU1NfRERDKTsKIAkJaW50ZWxmYl9zZXR1cF9pMmNfYnVzKGRpbmZvLCAmZGluZm8tPm91dHB1dFtpXS5pMmNfYnVzLAotCQkJCSAgICAgIEdQSU9FLCAiRFZPSTJDX0UiKTsKKwkJCQkgICAgICBHUElPRSwgIkRWT0kyQ19FIiwgMCk7CiAJCWkrKzsKIAkJYnJlYWs7CiAJY2FzZSBJTlRFTF85MTVHOgpAQCAtMTc0LDcgKzE3Niw3IEBACiAJCS8qIFNEVk8gcG9ydHMgaGF2ZSBhIHNpbmdsZSBjb250cm9sIGJ1cyAtIDIgZGV2aWNlcyAqLwogCQlkaW5mby0+b3V0cHV0W2ldLnR5cGUgPSBJTlRFTEZCX09VVFBVVF9TRFZPOwogCQlpbnRlbGZiX3NldHVwX2kyY19idXMoZGluZm8sICZkaW5mby0+b3V0cHV0W2ldLmkyY19idXMsCi0JCQkJICAgICAgR1BJT0UsICJTRFZPQ1RSTF9FIik7CisJCQkJICAgICAgR1BJT0UsICJTRFZPQ1RSTF9FIiwgMCk7CiAJCS8qIFRPRE86IGluaXRpYWxpemUgdGhlIFNEVk8gKi8KIAkJLyogSTgzMFNEVk9Jbml0KHBTY3JuLCBpLCBEVk9CKTsgKi8KIAkJaSsrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9tYXRyb3gvaTJjLW1hdHJveGZiLmMgYi9kcml2ZXJzL3ZpZGVvL21hdHJveC9pMmMtbWF0cm94ZmIuYwppbmRleCA0YmFhYjdiLi43NWVlNWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL3ZpZGVvL21hdHJveC9pMmMtbWF0cm94ZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL21hdHJveC9pMmMtbWF0cm94ZmIuYwpAQCAtMTA0LDcgKzEwNCw5IEBACiB9OwogCiBzdGF0aWMgaW50IGkyY19idXNfcmVnKHN0cnVjdCBpMmNfYml0X2FkYXB0ZXIqIGIsIHN0cnVjdCBtYXRyb3hfZmJfaW5mbyogbWluZm8sIAotCQl1bnNpZ25lZCBpbnQgZGF0YSwgdW5zaWduZWQgaW50IGNsb2NrLCBjb25zdCBjaGFyKiBuYW1lKSB7CisJCXVuc2lnbmVkIGludCBkYXRhLCB1bnNpZ25lZCBpbnQgY2xvY2ssIGNvbnN0IGNoYXIgKm5hbWUsCisJCWludCBjbGFzcykKK3sKIAlpbnQgZXJyOwogCiAJYi0+bWluZm8gPSBtaW5mbzsKQEAgLTExNCw2ICsxMTYsNyBAQAogCXNucHJpbnRmKGItPmFkYXB0ZXIubmFtZSwgc2l6ZW9mKGItPmFkYXB0ZXIubmFtZSksIG5hbWUsCiAJCW1pbmZvLT5mYmNvbi5ub2RlKTsKIAlpMmNfc2V0X2FkYXBkYXRhKCZiLT5hZGFwdGVyLCBiKTsKKwliLT5hZGFwdGVyLmNsYXNzID0gY2xhc3M7CiAJYi0+YWRhcHRlci5hbGdvX2RhdGEgPSAmYi0+YmFjOwogCWItPmFkYXB0ZXIuZGV2LnBhcmVudCA9ICZBQ0NFU1NfRkJJTkZPKHBjaWRldiktPmRldjsKIAliLT5iYWMgPSBtYXRyb3hfaTJjX2FsZ29fdGVtcGxhdGU7CkBAIC0xNTksMjIgKzE2MiwyOSBAQAogCXN3aXRjaCAoQUNDRVNTX0ZCSU5GTyhjaGlwKSkgewogCQljYXNlIE1HQV8yMDY0OgogCQljYXNlIE1HQV8yMTY0OgotCQkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMSwgbWluZm8sIEREQzFCX0RBVEEsIEREQzFCX0NMSywgIkREQzpmYiV1ICMwIik7CisJCQllcnIgPSBpMmNfYnVzX3JlZygmbTJpbmZvLT5kZGMxLCBtaW5mbywKKwkJCQkJICBEREMxQl9EQVRBLCBEREMxQl9DTEssCisJCQkJCSAgIkREQzpmYiV1ICMwIiwgSTJDX0NMQVNTX0REQyk7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKLQkJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzEsIG1pbmZvLCBEREMxX0RBVEEsIEREQzFfQ0xLLCAiRERDOmZiJXUgIzAiKTsKKwkJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzEsIG1pbmZvLAorCQkJCQkgIEREQzFfREFUQSwgRERDMV9DTEssCisJCQkJCSAgIkREQzpmYiV1ICMwIiwgSTJDX0NMQVNTX0REQyk7CiAJCQlicmVhazsKIAl9CiAJaWYgKGVycikKIAkJZ290byBmYWlsX2RkYzE7CiAJaWYgKEFDQ0VTU19GQklORk8oZGV2ZmxhZ3MuZHVhbGhlYWQpKSB7Ci0JCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPmRkYzIsIG1pbmZvLCBEREMyX0RBVEEsIEREQzJfQ0xLLCAiRERDOmZiJXUgIzEiKTsKKwkJZXJyID0gaTJjX2J1c19yZWcoJm0yaW5mby0+ZGRjMiwgbWluZm8sCisJCQkJICBEREMyX0RBVEEsIEREQzJfQ0xLLAorCQkJCSAgIkREQzpmYiV1ICMxIiwgSTJDX0NMQVNTX0REQyk7CiAJCWlmIChlcnIgPT0gLUVOT0RFVikgewogCQkJcHJpbnRrKEtFUk5fSU5GTyAiaTJjLW1hdHJveGZiOiBWR0EtPlRWIHBsdWcgZGV0ZWN0ZWQsIEREQyB1bmF2YWlsYWJsZS5cbiIpOwogCQl9IGVsc2UgaWYgKGVycikKIAkJCXByaW50ayhLRVJOX0lORk8gImkyYy1tYXRyb3hmYjogQ291bGQgbm90IHJlZ2lzdGVyIHNlY29uZGFyeSBvdXRwdXQgaTJjIGJ1cy4gQ29udGludWluZyBhbnl3YXkuXG4iKTsKIAkJLyogUmVnaXN0ZXIgbWF2ZW4gYnVzIGV2ZW4gb24gRzQ1MC9HNTUwICovCi0JCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPm1hdmVuLCBtaW5mbywgTUFUX0RBVEEsIE1BVF9DTEssICJNQVZFTjpmYiV1Iik7CisJCWVyciA9IGkyY19idXNfcmVnKCZtMmluZm8tPm1hdmVuLCBtaW5mbywKKwkJCQkgIE1BVF9EQVRBLCBNQVRfQ0xLLCAiTUFWRU46ZmIldSIsIDApOwogCQlpZiAoZXJyKQogCQkJcHJpbnRrKEtFUk5fSU5GTyAiaTJjLW1hdHJveGZiOiBDb3VsZCBub3QgcmVnaXN0ZXIgTWF2ZW4gaTJjIGJ1cy4gQ29udGludWluZyBhbnl3YXkuXG4iKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL3B4YWZiLmMgYi9kcml2ZXJzL3ZpZGVvL3B4YWZiLmMKaW5kZXggZmFmZTdkYi4uZDA3NDYyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9weGFmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vcHhhZmIuYwpAQCAtMTc5MiwxMSArMTc5Miw0OSBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgX19kZXZleGl0IHB4YWZiX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IHB4YWZiX2luZm8gKmZiaSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CisJc3RydWN0IHJlc291cmNlICpyOworCWludCBpcnE7CisJc3RydWN0IGZiX2luZm8gKmluZm87CisKKwlpZiAoIWZiaSkKKwkJcmV0dXJuIDA7CisKKwlpbmZvID0gJmZiaS0+ZmI7CisKKwl1bnJlZ2lzdGVyX2ZyYW1lYnVmZmVyKGluZm8pOworCisJcHhhZmJfZGlzYWJsZV9jb250cm9sbGVyKGZiaSk7CisKKwlpZiAoZmJpLT5mYi5jbWFwLmxlbikKKwkJZmJfZGVhbGxvY19jbWFwKCZmYmktPmZiLmNtYXApOworCisJaXJxID0gcGxhdGZvcm1fZ2V0X2lycShkZXYsIDApOworCWZyZWVfaXJxKGlycSwgZmJpKTsKKworCWRtYV9mcmVlX3dyaXRlY29tYmluZSgmZGV2LT5kZXYsIGZiaS0+bWFwX3NpemUsCisJCQkJCWZiaS0+bWFwX2NwdSwgZmJpLT5tYXBfZG1hKTsKKworCWlvdW5tYXAoZmJpLT5tbWlvX2Jhc2UpOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlyZWxlYXNlX21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSk7CisKKwljbGtfcHV0KGZiaS0+Y2xrKTsKKwlrZnJlZShmYmkpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHB4YWZiX2RyaXZlciA9IHsKIAkucHJvYmUJCT0gcHhhZmJfcHJvYmUsCisJLnJlbW92ZSAJPSBweGFmYl9yZW1vdmUsCiAJLnN1c3BlbmQJPSBweGFmYl9zdXNwZW5kLAogCS5yZXN1bWUJCT0gcHhhZmJfcmVzdW1lLAogCS5kcml2ZXIJCT0geworCQkub3duZXIJPSBUSElTX01PRFVMRSwKIAkJLm5hbWUJPSAicHhhMnh4LWZiIiwKIAl9LAogfTsKQEAgLTE4MDksNyArMTg0NywxMyBAQAogCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJnB4YWZiX2RyaXZlcik7CiB9CiAKK3N0YXRpYyB2b2lkIF9fZXhpdCBweGFmYl9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnB4YWZiX2RyaXZlcik7Cit9CisKIG1vZHVsZV9pbml0KHB4YWZiX2luaXQpOworbW9kdWxlX2V4aXQocHhhZmJfZXhpdCk7CiAKIE1PRFVMRV9ERVNDUklQVElPTigibG9hZGFibGUgZnJhbWVidWZmZXIgZHJpdmVyIGZvciBQWEEiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vc2dpdndmYi5jIGIvZHJpdmVycy92aWRlby9zZ2l2d2ZiLmMKaW5kZXggNGZiMTYyNC4uZjUyNTJjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9zZ2l2d2ZiLmMKKysrIGIvZHJpdmVycy92aWRlby9zZ2l2d2ZiLmMKQEAgLTIxLDggKzIxLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9tdHJyLmg+Ci0KLSNpbmNsdWRlIDxzZXR1cF9hcmNoLmg+CisjaW5jbHVkZSA8YXNtL3Zpc3dzL3NnaXZ3Lmg+CiAKICNkZWZpbmUgSU5DTFVERV9USU1JTkdfVEFCTEVfREFUQQogI2RlZmluZSBEQkVfUkVHX0JBU0UgcGFyLT5yZWdzCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL3hlbi1mYmZyb250LmMgYi9kcml2ZXJzL3ZpZGVvL3hlbi1mYmZyb250LmMKaW5kZXggNjE5YTZmOC4uNDdlZDM5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby94ZW4tZmJmcm9udC5jCisrKyBiL2RyaXZlcnMvdmlkZW8veGVuLWZiZnJvbnQuYwpAQCAtMTgsNiArMTgsNyBAQAogICogZnJhbWUgYnVmZmVyLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9jb25zb2xlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxsaW51eC9mYi5oPgpAQCAtNDIsMzcgKzQzLDY4IEBACiAJc3RydWN0IHhlbmZiX3BhZ2UJKnBhZ2U7CiAJdW5zaWduZWQgbG9uZyAJCSptZm5zOwogCWludAkJCXVwZGF0ZV93YW50ZWQ7IC8qIFhFTkZCX1RZUEVfVVBEQVRFIHdhbnRlZCAqLworCWludAkJCWZlYXR1cmVfcmVzaXplOyAvKiBYRU5GQl9UWVBFX1JFU0laRSBvayAqLworCXN0cnVjdCB4ZW5mYl9yZXNpemUJcmVzaXplOwkJLyogcHJvdGVjdGVkIGJ5IHJlc2l6ZV9sb2NrICovCisJaW50CQkJcmVzaXplX2RweTsJLyogZGl0dG8gKi8KKwlzcGlubG9ja190CQlyZXNpemVfbG9jazsKIAogCXN0cnVjdCB4ZW5idXNfZGV2aWNlCSp4YmRldjsKIH07CiAKLXN0YXRpYyB1MzIgeGVuZmJfbWVtX2xlbiA9IFhFTkZCX1dJRFRIICogWEVORkJfSEVJR0hUICogWEVORkJfREVQVEggLyA4OworI2RlZmluZSBYRU5GQl9ERUZBVUxUX0ZCX0xFTiAoWEVORkJfV0lEVEggKiBYRU5GQl9IRUlHSFQgKiBYRU5GQl9ERVBUSCAvIDgpCiAKK2VudW0geyBLUEFSQU1fTUVNLCBLUEFSQU1fV0lEVEgsIEtQQVJBTV9IRUlHSFQsIEtQQVJBTV9DTlQgfTsKK3N0YXRpYyBpbnQgdmlkZW9bS1BBUkFNX0NOVF0gPSB7IDIsIFhFTkZCX1dJRFRILCBYRU5GQl9IRUlHSFQgfTsKK21vZHVsZV9wYXJhbV9hcnJheSh2aWRlbywgaW50LCBOVUxMLCAwKTsKK01PRFVMRV9QQVJNX0RFU0ModmlkZW8sCisJIlZpZGVvIG1lbW9yeSBzaXplIGluIE1CLCB3aWR0aCwgaGVpZ2h0IGluIHBpeGVscyAoZGVmYXVsdCAyLDgwMCw2MDApIik7CisKK3N0YXRpYyB2b2lkIHhlbmZiX21ha2VfcHJlZmVycmVkX2NvbnNvbGUodm9pZCk7CiBzdGF0aWMgaW50IHhlbmZiX3JlbW92ZShzdHJ1Y3QgeGVuYnVzX2RldmljZSAqKTsKLXN0YXRpYyB2b2lkIHhlbmZiX2luaXRfc2hhcmVkX3BhZ2Uoc3RydWN0IHhlbmZiX2luZm8gKik7CitzdGF0aWMgdm9pZCB4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKHN0cnVjdCB4ZW5mYl9pbmZvICosIHN0cnVjdCBmYl9pbmZvICopOwogc3RhdGljIGludCB4ZW5mYl9jb25uZWN0X2JhY2tlbmQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKiwgc3RydWN0IHhlbmZiX2luZm8gKik7CiBzdGF0aWMgdm9pZCB4ZW5mYl9kaXNjb25uZWN0X2JhY2tlbmQoc3RydWN0IHhlbmZiX2luZm8gKik7CiAKK3N0YXRpYyB2b2lkIHhlbmZiX3NlbmRfZXZlbnQoc3RydWN0IHhlbmZiX2luZm8gKmluZm8sCisJCQkgICAgIHVuaW9uIHhlbmZiX291dF9ldmVudCAqZXZlbnQpCit7CisJdTMyIHByb2Q7CisKKwlwcm9kID0gaW5mby0+cGFnZS0+b3V0X3Byb2Q7CisJLyogY2FsbGVyIGVuc3VyZXMgIXhlbmZiX3F1ZXVlX2Z1bGwoKSAqLworCW1iKCk7CQkJLyogZW5zdXJlIHJpbmcgc3BhY2UgYXZhaWxhYmxlICovCisJWEVORkJfT1VUX1JJTkdfUkVGKGluZm8tPnBhZ2UsIHByb2QpID0gKmV2ZW50OworCXdtYigpOwkJCS8qIGVuc3VyZSByaW5nIGNvbnRlbnRzIHZpc2libGUgKi8KKwlpbmZvLT5wYWdlLT5vdXRfcHJvZCA9IHByb2QgKyAxOworCisJbm90aWZ5X3JlbW90ZV92aWFfaXJxKGluZm8tPmlycSk7Cit9CisKIHN0YXRpYyB2b2lkIHhlbmZiX2RvX3VwZGF0ZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKIAkJCSAgICBpbnQgeCwgaW50IHksIGludCB3LCBpbnQgaCkKIHsKIAl1bmlvbiB4ZW5mYl9vdXRfZXZlbnQgZXZlbnQ7Ci0JdTMyIHByb2Q7CiAKKwltZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YoZXZlbnQpKTsKIAlldmVudC50eXBlID0gWEVORkJfVFlQRV9VUERBVEU7CiAJZXZlbnQudXBkYXRlLnggPSB4OwogCWV2ZW50LnVwZGF0ZS55ID0geTsKIAlldmVudC51cGRhdGUud2lkdGggPSB3OwogCWV2ZW50LnVwZGF0ZS5oZWlnaHQgPSBoOwogCi0JcHJvZCA9IGluZm8tPnBhZ2UtPm91dF9wcm9kOwogCS8qIGNhbGxlciBlbnN1cmVzICF4ZW5mYl9xdWV1ZV9mdWxsKCkgKi8KLQltYigpOwkJCS8qIGVuc3VyZSByaW5nIHNwYWNlIGF2YWlsYWJsZSAqLwotCVhFTkZCX09VVF9SSU5HX1JFRihpbmZvLT5wYWdlLCBwcm9kKSA9IGV2ZW50OwotCXdtYigpOwkJCS8qIGVuc3VyZSByaW5nIGNvbnRlbnRzIHZpc2libGUgKi8KLQlpbmZvLT5wYWdlLT5vdXRfcHJvZCA9IHByb2QgKyAxOworCXhlbmZiX3NlbmRfZXZlbnQoaW5mbywgJmV2ZW50KTsKK30KIAotCW5vdGlmeV9yZW1vdGVfdmlhX2lycShpbmZvLT5pcnEpOworc3RhdGljIHZvaWQgeGVuZmJfZG9fcmVzaXplKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvKQoreworCXVuaW9uIHhlbmZiX291dF9ldmVudCBldmVudDsKKworCW1lbXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOworCWV2ZW50LnJlc2l6ZSA9IGluZm8tPnJlc2l6ZTsKKworCS8qIGNhbGxlciBlbnN1cmVzICF4ZW5mYl9xdWV1ZV9mdWxsKCkgKi8KKwl4ZW5mYl9zZW5kX2V2ZW50KGluZm8sICZldmVudCk7CiB9CiAKIHN0YXRpYyBpbnQgeGVuZmJfcXVldWVfZnVsbChzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbykKQEAgLTg0LDEyICsxMTYsMjggQEAKIAlyZXR1cm4gcHJvZCAtIGNvbnMgPT0gWEVORkJfT1VUX1JJTkdfTEVOOwogfQogCitzdGF0aWMgdm9pZCB4ZW5mYl9oYW5kbGVfcmVzaXplX2RweShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbykKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmluZm8tPnJlc2l6ZV9sb2NrLCBmbGFncyk7CisJaWYgKGluZm8tPnJlc2l6ZV9kcHkpIHsKKwkJaWYgKCF4ZW5mYl9xdWV1ZV9mdWxsKGluZm8pKSB7CisJCQlpbmZvLT5yZXNpemVfZHB5ID0gMDsKKwkJCXhlbmZiX2RvX3Jlc2l6ZShpbmZvKTsKKwkJfQorCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpbmZvLT5yZXNpemVfbG9jaywgZmxhZ3MpOworfQorCiBzdGF0aWMgdm9pZCB4ZW5mYl9yZWZyZXNoKHN0cnVjdCB4ZW5mYl9pbmZvICppbmZvLAogCQkJICBpbnQgeDEsIGludCB5MSwgaW50IHcsIGludCBoKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHkyID0geTEgKyBoIC0gMTsKIAlpbnQgeDIgPSB4MSArIHcgLSAxOworCWludCB5MiA9IHkxICsgaCAtIDE7CisKKwl4ZW5mYl9oYW5kbGVfcmVzaXplX2RweShpbmZvKTsKIAogCWlmICghaW5mby0+dXBkYXRlX3dhbnRlZCkKIAkJcmV0dXJuOwpAQCAtMjIyLDYgKzI3MCw1NyBAQAogCXJldHVybiByZXM7CiB9CiAKK3N0YXRpYyBpbnQKK3hlbmZiX2NoZWNrX3ZhcihzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKnZhciwgc3RydWN0IGZiX2luZm8gKmluZm8pCit7CisJc3RydWN0IHhlbmZiX2luZm8gKnhlbmZiX2luZm87CisJaW50IHJlcXVpcmVkX21lbV9sZW47CisKKwl4ZW5mYl9pbmZvID0gaW5mby0+cGFyOworCisJaWYgKCF4ZW5mYl9pbmZvLT5mZWF0dXJlX3Jlc2l6ZSkgeworCQlpZiAodmFyLT54cmVzID09IHZpZGVvW0tQQVJBTV9XSURUSF0gJiYKKwkJICAgIHZhci0+eXJlcyA9PSB2aWRlb1tLUEFSQU1fSEVJR0hUXSAmJgorCQkgICAgdmFyLT5iaXRzX3Blcl9waXhlbCA9PSB4ZW5mYl9pbmZvLT5wYWdlLT5kZXB0aCkgeworCQkJcmV0dXJuIDA7CisJCX0KKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogQ2FuJ3QgcmVzaXplIHBhc3QgaW5pdGlhbCB3aWR0aCBhbmQgaGVpZ2h0ICovCisJaWYgKHZhci0+eHJlcyA+IHZpZGVvW0tQQVJBTV9XSURUSF0gfHwgdmFyLT55cmVzID4gdmlkZW9bS1BBUkFNX0hFSUdIVF0pCisJCXJldHVybiAtRUlOVkFMOworCisJcmVxdWlyZWRfbWVtX2xlbiA9IHZhci0+eHJlcyAqIHZhci0+eXJlcyAqIHhlbmZiX2luZm8tPnBhZ2UtPmRlcHRoIC8gODsKKwlpZiAodmFyLT5iaXRzX3Blcl9waXhlbCA9PSB4ZW5mYl9pbmZvLT5wYWdlLT5kZXB0aCAmJgorCSAgICB2YXItPnhyZXMgPD0gaW5mby0+Zml4LmxpbmVfbGVuZ3RoIC8gKFhFTkZCX0RFUFRIIC8gOCkgJiYKKwkgICAgcmVxdWlyZWRfbWVtX2xlbiA8PSBpbmZvLT5maXguc21lbV9sZW4pIHsKKwkJdmFyLT54cmVzX3ZpcnR1YWwgPSB2YXItPnhyZXM7CisJCXZhci0+eXJlc192aXJ0dWFsID0gdmFyLT55cmVzOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgeGVuZmJfc2V0X3BhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgeGVuZmJfaW5mbyAqeGVuZmJfaW5mbzsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJeGVuZmJfaW5mbyA9IGluZm8tPnBhcjsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZ4ZW5mYl9pbmZvLT5yZXNpemVfbG9jaywgZmxhZ3MpOworCXhlbmZiX2luZm8tPnJlc2l6ZS50eXBlID0gWEVORkJfVFlQRV9SRVNJWkU7CisJeGVuZmJfaW5mby0+cmVzaXplLndpZHRoID0gaW5mby0+dmFyLnhyZXM7CisJeGVuZmJfaW5mby0+cmVzaXplLmhlaWdodCA9IGluZm8tPnZhci55cmVzOworCXhlbmZiX2luZm8tPnJlc2l6ZS5zdHJpZGUgPSBpbmZvLT5maXgubGluZV9sZW5ndGg7CisJeGVuZmJfaW5mby0+cmVzaXplLmRlcHRoID0gaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsOworCXhlbmZiX2luZm8tPnJlc2l6ZS5vZmZzZXQgPSAwOworCXhlbmZiX2luZm8tPnJlc2l6ZV9kcHkgPSAxOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnhlbmZiX2luZm8tPnJlc2l6ZV9sb2NrLCBmbGFncyk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHhlbmZiX2ZiX29wcyA9IHsKIAkub3duZXIJCT0gVEhJU19NT0RVTEUsCiAJLmZiX3JlYWQJPSBmYl9zeXNfcmVhZCwKQEAgLTIzMCw2ICszMjksOCBAQAogCS5mYl9maWxscmVjdAk9IHhlbmZiX2ZpbGxyZWN0LAogCS5mYl9jb3B5YXJlYQk9IHhlbmZiX2NvcHlhcmVhLAogCS5mYl9pbWFnZWJsaXQJPSB4ZW5mYl9pbWFnZWJsaXQsCisJLmZiX2NoZWNrX3Zhcgk9IHhlbmZiX2NoZWNrX3ZhciwKKwkuZmJfc2V0X3BhciAgICAgPSB4ZW5mYl9zZXRfcGFyLAogfTsKIAogc3RhdGljIGlycXJldHVybl90IHhlbmZiX2V2ZW50X2hhbmRsZXIoaW50IHJxLCB2b2lkICpkZXZfaWQpCkBAIC0yNTgsNiArMzU5LDggQEAKIHsKIAlzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbzsKIAlzdHJ1Y3QgZmJfaW5mbyAqZmJfaW5mbzsKKwlpbnQgZmJfc2l6ZTsKKwlpbnQgdmFsOwogCWludCByZXQ7CiAKIAlpbmZvID0ga3phbGxvYyhzaXplb2YoKmluZm8pLCBHRlBfS0VSTkVMKTsKQEAgLTI2NSwxOCArMzY4LDM1IEBACiAJCXhlbmJ1c19kZXZfZmF0YWwoZGV2LCAtRU5PTUVNLCAiYWxsb2NhdGluZyBpbmZvIHN0cnVjdHVyZSIpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CisKKwkvKiBMaW1pdCBrZXJuZWwgcGFyYW0gdmlkZW9yYW0gYW1vdW50IHRvIHdoYXQgaXMgaW4geGVuc3RvcmUgKi8KKwlpZiAoeGVuYnVzX3NjYW5mKFhCVF9OSUwsIGRldi0+b3RoZXJlbmQsICJ2aWRlb3JhbSIsICIlZCIsICZ2YWwpID09IDEpIHsKKwkJaWYgKHZhbCA8IHZpZGVvW0tQQVJBTV9NRU1dKQorCQkJdmlkZW9bS1BBUkFNX01FTV0gPSB2YWw7CisJfQorCisJLyogSWYgcmVxdWVzdGVkIHJlcyBkb2VzIG5vdCBmaXQgaW4gYXZhaWxhYmxlIG1lbW9yeSwgdXNlIGRlZmF1bHQgKi8KKwlmYl9zaXplID0gdmlkZW9bS1BBUkFNX01FTV0gKiAxMDI0ICogMTAyNDsKKwlpZiAodmlkZW9bS1BBUkFNX1dJRFRIXSAqIHZpZGVvW0tQQVJBTV9IRUlHSFRdICogWEVORkJfREVQVEggLyA4CisJICAgID4gZmJfc2l6ZSkgeworCQl2aWRlb1tLUEFSQU1fV0lEVEhdID0gWEVORkJfV0lEVEg7CisJCXZpZGVvW0tQQVJBTV9IRUlHSFRdID0gWEVORkJfSEVJR0hUOworCQlmYl9zaXplID0gWEVORkJfREVGQVVMVF9GQl9MRU47CisJfQorCiAJZGV2LT5kZXYuZHJpdmVyX2RhdGEgPSBpbmZvOwogCWluZm8tPnhiZGV2ID0gZGV2OwogCWluZm8tPmlycSA9IC0xOwogCWluZm8tPngxID0gaW5mby0+eTEgPSBJTlRfTUFYOwogCXNwaW5fbG9ja19pbml0KCZpbmZvLT5kaXJ0eV9sb2NrKTsKKwlzcGluX2xvY2tfaW5pdCgmaW5mby0+cmVzaXplX2xvY2spOwogCi0JaW5mby0+ZmIgPSB2bWFsbG9jKHhlbmZiX21lbV9sZW4pOworCWluZm8tPmZiID0gdm1hbGxvYyhmYl9zaXplKTsKIAlpZiAoaW5mby0+ZmIgPT0gTlVMTCkKIAkJZ290byBlcnJvcl9ub21lbTsKLQltZW1zZXQoaW5mby0+ZmIsIDAsIHhlbmZiX21lbV9sZW4pOworCW1lbXNldChpbmZvLT5mYiwgMCwgZmJfc2l6ZSk7CiAKLQlpbmZvLT5ucl9wYWdlcyA9ICh4ZW5mYl9tZW1fbGVuICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKKwlpbmZvLT5ucl9wYWdlcyA9IChmYl9zaXplICsgUEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9TSElGVDsKIAogCWluZm8tPm1mbnMgPSB2bWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIGluZm8tPm5yX3BhZ2VzKTsKIAlpZiAoIWluZm8tPm1mbnMpCkBAIC0yODcsOCArNDA3LDYgQEAKIAlpZiAoIWluZm8tPnBhZ2UpCiAJCWdvdG8gZXJyb3Jfbm9tZW07CiAKLQl4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKGluZm8pOwotCiAJLyogYWJ1c2luZyBmcmFtZWJ1ZmZlcl9hbGxvYygpIHRvIGFsbG9jYXRlIHBzZXVkb19wYWxldHRlICovCiAJZmJfaW5mbyA9IGZyYW1lYnVmZmVyX2FsbG9jKHNpemVvZih1MzIpICogMjU2LCBOVUxMKTsKIAlpZiAoZmJfaW5mbyA9PSBOVUxMKQpAQCAtMzAxLDkgKzQxOSw5IEBACiAJZmJfaW5mby0+c2NyZWVuX2Jhc2UgPSBpbmZvLT5mYjsKIAogCWZiX2luZm8tPmZib3BzID0gJnhlbmZiX2ZiX29wczsKLQlmYl9pbmZvLT52YXIueHJlc192aXJ0dWFsID0gZmJfaW5mby0+dmFyLnhyZXMgPSBpbmZvLT5wYWdlLT53aWR0aDsKLQlmYl9pbmZvLT52YXIueXJlc192aXJ0dWFsID0gZmJfaW5mby0+dmFyLnlyZXMgPSBpbmZvLT5wYWdlLT5oZWlnaHQ7Ci0JZmJfaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsID0gaW5mby0+cGFnZS0+ZGVwdGg7CisJZmJfaW5mby0+dmFyLnhyZXNfdmlydHVhbCA9IGZiX2luZm8tPnZhci54cmVzID0gdmlkZW9bS1BBUkFNX1dJRFRIXTsKKwlmYl9pbmZvLT52YXIueXJlc192aXJ0dWFsID0gZmJfaW5mby0+dmFyLnlyZXMgPSB2aWRlb1tLUEFSQU1fSEVJR0hUXTsKKwlmYl9pbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgPSBYRU5GQl9ERVBUSDsKIAogCWZiX2luZm8tPnZhci5yZWQgPSAoc3RydWN0IGZiX2JpdGZpZWxkKXsxNiwgOCwgMH07CiAJZmJfaW5mby0+dmFyLmdyZWVuID0gKHN0cnVjdCBmYl9iaXRmaWVsZCl7OCwgOCwgMH07CkBAIC0zMTUsOSArNDMzLDkgQEAKIAlmYl9pbmZvLT52YXIudm1vZGUgPSBGQl9WTU9ERV9OT05JTlRFUkxBQ0VEOwogCiAJZmJfaW5mby0+Zml4LnZpc3VhbCA9IEZCX1ZJU1VBTF9UUlVFQ09MT1I7Ci0JZmJfaW5mby0+Zml4LmxpbmVfbGVuZ3RoID0gaW5mby0+cGFnZS0+bGluZV9sZW5ndGg7CisJZmJfaW5mby0+Zml4LmxpbmVfbGVuZ3RoID0gZmJfaW5mby0+dmFyLnhyZXMgKiBYRU5GQl9ERVBUSCAvIDg7CiAJZmJfaW5mby0+Zml4LnNtZW1fc3RhcnQgPSAwOwotCWZiX2luZm8tPmZpeC5zbWVtX2xlbiA9IHhlbmZiX21lbV9sZW47CisJZmJfaW5mby0+Zml4LnNtZW1fbGVuID0gZmJfc2l6ZTsKIAlzdHJjcHkoZmJfaW5mby0+Zml4LmlkLCAieGVuIik7CiAJZmJfaW5mby0+Zml4LnR5cGUgPSBGQl9UWVBFX1BBQ0tFRF9QSVhFTFM7CiAJZmJfaW5mby0+Zml4LmFjY2VsID0gRkJfQUNDRUxfTk9ORTsKQEAgLTMzNCw2ICs0NTIsOCBAQAogCWZiX2luZm8tPmZiZGVmaW8gPSAmeGVuZmJfZGVmaW87CiAJZmJfZGVmZXJyZWRfaW9faW5pdChmYl9pbmZvKTsKIAorCXhlbmZiX2luaXRfc2hhcmVkX3BhZ2UoaW5mbywgZmJfaW5mbyk7CisKIAlyZXQgPSByZWdpc3Rlcl9mcmFtZWJ1ZmZlcihmYl9pbmZvKTsKIAlpZiAocmV0KSB7CiAJCWZiX2RlZmVycmVkX2lvX2NsZWFudXAoZmJfaW5mbyk7CkBAIC0zNDgsNiArNDY4LDcgQEAKIAlpZiAocmV0IDwgMCkKIAkJZ290byBlcnJvcjsKIAorCXhlbmZiX21ha2VfcHJlZmVycmVkX2NvbnNvbGUoKTsKIAlyZXR1cm4gMDsKIAogIGVycm9yX25vbWVtOgpAQCAtMzU4LDEyICs0NzksMzQgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgX19kZXZpbml0IHZvaWQKK3hlbmZiX21ha2VfcHJlZmVycmVkX2NvbnNvbGUodm9pZCkKK3sKKwlzdHJ1Y3QgY29uc29sZSAqYzsKKworCWlmIChjb25zb2xlX3NldF9vbl9jbWRsaW5lKQorCQlyZXR1cm47CisKKwlhY3F1aXJlX2NvbnNvbGVfc2VtKCk7CisJZm9yIChjID0gY29uc29sZV9kcml2ZXJzOyBjOyBjID0gYy0+bmV4dCkgeworCQlpZiAoIXN0cmNtcChjLT5uYW1lLCAidHR5IikgJiYgYy0+aW5kZXggPT0gMCkKKwkJCWJyZWFrOworCX0KKwlyZWxlYXNlX2NvbnNvbGVfc2VtKCk7CisJaWYgKGMpIHsKKwkJdW5yZWdpc3Rlcl9jb25zb2xlKGMpOworCQljLT5mbGFncyB8PSBDT05fQ09OU0RFVjsKKwkJYy0+ZmxhZ3MgJj0gfkNPTl9QUklOVEJVRkZFUjsgLyogZG9uJ3QgcHJpbnQgYWdhaW4gKi8KKwkJcmVnaXN0ZXJfY29uc29sZShjKTsKKwl9Cit9CisKIHN0YXRpYyBpbnQgeGVuZmJfcmVzdW1lKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHhlbmZiX2luZm8gKmluZm8gPSBkZXYtPmRldi5kcml2ZXJfZGF0YTsKIAogCXhlbmZiX2Rpc2Nvbm5lY3RfYmFja2VuZChpbmZvKTsKLQl4ZW5mYl9pbml0X3NoYXJlZF9wYWdlKGluZm8pOworCXhlbmZiX2luaXRfc2hhcmVkX3BhZ2UoaW5mbywgaW5mby0+ZmJfaW5mbyk7CiAJcmV0dXJuIHhlbmZiX2Nvbm5lY3RfYmFja2VuZChkZXYsIGluZm8pOwogfQogCkBAIC0zOTEsMjAgKzUzNCwyMyBAQAogCXJldHVybiBwZm5fdG9fbWZuKHZtYWxsb2NfdG9fcGZuKGFkZHJlc3MpKTsKIH0KIAotc3RhdGljIHZvaWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbykKK3N0YXRpYyB2b2lkIHhlbmZiX2luaXRfc2hhcmVkX3BhZ2Uoc3RydWN0IHhlbmZiX2luZm8gKmluZm8sCisJCQkJICAgc3RydWN0IGZiX2luZm8gKmZiX2luZm8pCiB7CiAJaW50IGk7CisJaW50IGVwZCA9IFBBR0VfU0laRSAvIHNpemVvZihpbmZvLT5tZm5zWzBdKTsKIAogCWZvciAoaSA9IDA7IGkgPCBpbmZvLT5ucl9wYWdlczsgaSsrKQogCQlpbmZvLT5tZm5zW2ldID0gdm1hbGxvY190b19tZm4oaW5mby0+ZmIgKyBpICogUEFHRV9TSVpFKTsKIAotCWluZm8tPnBhZ2UtPnBkWzBdID0gdm1hbGxvY190b19tZm4oaW5mby0+bWZucyk7Ci0JaW5mby0+cGFnZS0+cGRbMV0gPSAwOwotCWluZm8tPnBhZ2UtPndpZHRoID0gWEVORkJfV0lEVEg7Ci0JaW5mby0+cGFnZS0+aGVpZ2h0ID0gWEVORkJfSEVJR0hUOwotCWluZm8tPnBhZ2UtPmRlcHRoID0gWEVORkJfREVQVEg7Ci0JaW5mby0+cGFnZS0+bGluZV9sZW5ndGggPSAoaW5mby0+cGFnZS0+ZGVwdGggLyA4KSAqIGluZm8tPnBhZ2UtPndpZHRoOwotCWluZm8tPnBhZ2UtPm1lbV9sZW5ndGggPSB4ZW5mYl9tZW1fbGVuOworCWZvciAoaSA9IDA7IGkgKiBlcGQgPCBpbmZvLT5ucl9wYWdlczsgaSsrKQorCQlpbmZvLT5wYWdlLT5wZFtpXSA9IHZtYWxsb2NfdG9fbWZuKCZpbmZvLT5tZm5zW2kgKiBlcGRdKTsKKworCWluZm8tPnBhZ2UtPndpZHRoID0gZmJfaW5mby0+dmFyLnhyZXM7CisJaW5mby0+cGFnZS0+aGVpZ2h0ID0gZmJfaW5mby0+dmFyLnlyZXM7CisJaW5mby0+cGFnZS0+ZGVwdGggPSBmYl9pbmZvLT52YXIuYml0c19wZXJfcGl4ZWw7CisJaW5mby0+cGFnZS0+bGluZV9sZW5ndGggPSBmYl9pbmZvLT5maXgubGluZV9sZW5ndGg7CisJaW5mby0+cGFnZS0+bWVtX2xlbmd0aCA9IGZiX2luZm8tPmZpeC5zbWVtX2xlbjsKIAlpbmZvLT5wYWdlLT5pbl9jb25zID0gaW5mby0+cGFnZS0+aW5fcHJvZCA9IDA7CiAJaW5mby0+cGFnZS0+b3V0X2NvbnMgPSBpbmZvLT5wYWdlLT5vdXRfcHJvZCA9IDA7CiB9CkBAIC01MDQsNiArNjUwLDExIEBACiAJCQl2YWwgPSAwOwogCQlpZiAodmFsKQogCQkJaW5mby0+dXBkYXRlX3dhbnRlZCA9IDE7CisKKwkJaWYgKHhlbmJ1c19zY2FuZihYQlRfTklMLCBkZXYtPm90aGVyZW5kLAorCQkJCSAiZmVhdHVyZS1yZXNpemUiLCAiJWQiLCAmdmFsKSA8IDApCisJCQl2YWwgPSAwOworCQlpbmZvLT5mZWF0dXJlX3Jlc2l6ZSA9IHZhbDsKIAkJYnJlYWs7CiAKIAljYXNlIFhlbmJ1c1N0YXRlQ2xvc2luZzoKQEAgLTU0Nyw0ICs2OTgsNiBAQAogbW9kdWxlX2luaXQoeGVuZmJfaW5pdCk7CiBtb2R1bGVfZXhpdCh4ZW5mYl9jbGVhbnVwKTsKIAorTU9EVUxFX0RFU0NSSVBUSU9OKCJYZW4gdmlydHVhbCBmcmFtZWJ1ZmZlciBkZXZpY2UgZnJvbnRlbmQiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9BTElBUygieGVuOnZmYiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy93YXRjaGRvZy9ib29rZV93ZHQuYyBiL2RyaXZlcnMvd2F0Y2hkb2cvYm9va2Vfd2R0LmMKaW5kZXggYzFiYTBkYjQuLjc3MDgyNDQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3dhdGNoZG9nL2Jvb2tlX3dkdC5jCisrKyBiL2RyaXZlcnMvd2F0Y2hkb2cvYm9va2Vfd2R0LmMKQEAgLTU1LDcgKzU1LDcgQEAKIAogc3RhdGljIHZvaWQgYm9va2Vfd2R0X3Bpbmcodm9pZCkKIHsKLQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9waW5nLCBOVUxMLCAwLCAwKTsKKwlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9waW5nLCBOVUxMLCAwKTsKIH0KIAogc3RhdGljIHZvaWQgX19ib29rZV93ZHRfZW5hYmxlKHZvaWQgKmRhdGEpCkBAIC0xMzEsNyArMTMxLDcgQEAKIAlzcGluX2xvY2soJmJvb2tlX3dkdF9sb2NrKTsKIAlpZiAoYm9va2Vfd2R0X2VuYWJsZWQgPT0gMCkgewogCQlib29rZV93ZHRfZW5hYmxlZCA9IDE7Ci0JCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X2VuYWJsZSwgTlVMTCwgMCwgMCk7CisJCW9uX2VhY2hfY3B1KF9fYm9va2Vfd2R0X2VuYWJsZSwgTlVMTCwgMCk7CiAJCXByaW50ayhLRVJOX0lORk8gIlBvd2VyUEMgQm9vay1FIFdhdGNoZG9nIFRpbWVyIEVuYWJsZWQgIgogCQkJCSIod2R0X3BlcmlvZD0lZClcbiIsIGJvb2tlX3dkdF9wZXJpb2QpOwogCX0KQEAgLTE3Nyw3ICsxNzcsNyBAQAogCWlmIChib29rZV93ZHRfZW5hYmxlZCA9PSAxKSB7CiAJCXByaW50ayhLRVJOX0lORk8gIlBvd2VyUEMgQm9vay1FIFdhdGNoZG9nIFRpbWVyIEVuYWJsZWQgIgogCQkJCSIod2R0X3BlcmlvZD0lZClcbiIsIGJvb2tlX3dkdF9wZXJpb2QpOwotCQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9lbmFibGUsIE5VTEwsIDAsIDApOworCQlvbl9lYWNoX2NwdShfX2Jvb2tlX3dkdF9lbmFibGUsIE5VTEwsIDApOwogCX0KIAlzcGluX3VubG9jaygmYm9va2Vfd2R0X2xvY2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9NYWtlZmlsZSBiL2RyaXZlcnMveGVuL01ha2VmaWxlCmluZGV4IDM3YWYwNGYuLjM2MzI4NmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL01ha2VmaWxlCisrKyBiL2RyaXZlcnMveGVuL01ha2VmaWxlCkBAIC0xLDQgKzEsNCBAQAotb2JqLXkJKz0gZ3JhbnQtdGFibGUubyBmZWF0dXJlcy5vIGV2ZW50cy5vCitvYmoteQkrPSBncmFudC10YWJsZS5vIGZlYXR1cmVzLm8gZXZlbnRzLm8gbWFuYWdlLm8KIG9iai15CSs9IHhlbmJ1cy8KIG9iai0kKENPTkZJR19YRU5fWEVOQ09NTSkJKz0geGVuY29tbS5vCiBvYmotJChDT05GSUdfWEVOX0JBTExPT04pCSs9IGJhbGxvb24ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vYmFsbG9vbi5jIGIvZHJpdmVycy94ZW4vYmFsbG9vbi5jCmluZGV4IGFiMjViYTYuLjU5MWJjMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2JhbGxvb24uYworKysgYi9kcml2ZXJzL3hlbi9iYWxsb29uLmMKQEAgLTIyNSw3ICsyMjUsNyBAQAogCQlwYWdlID0gYmFsbG9vbl9uZXh0X3BhZ2UocGFnZSk7CiAJfQogCi0JcmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0ID0gKHVuc2lnbmVkIGxvbmcpZnJhbWVfbGlzdDsKKwlzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQsIGZyYW1lX2xpc3QpOwogCXJlc2VydmF0aW9uLm5yX2V4dGVudHMgICA9IG5yX3BhZ2VzOwogCXJjID0gSFlQRVJWSVNPUl9tZW1vcnlfb3AoCiAJCVhFTk1FTV9wb3B1bGF0ZV9waHlzbWFwLCAmcmVzZXJ2YXRpb24pOwpAQCAtMzIxLDcgKzMyMSw3IEBACiAJCWJhbGxvb25fYXBwZW5kKHBmbl90b19wYWdlKHBmbikpOwogCX0KIAotCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKWZyYW1lX2xpc3Q7CisJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCBmcmFtZV9saXN0KTsKIAlyZXNlcnZhdGlvbi5ucl9leHRlbnRzICAgPSBucl9wYWdlczsKIAlyZXQgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZGVjcmVhc2VfcmVzZXJ2YXRpb24sICZyZXNlcnZhdGlvbik7CiAJQlVHX09OKHJldCAhPSBucl9wYWdlcyk7CkBAIC0zNjgsNyArMzY4LDcgQEAKIH0KIAogLyogUmVzZXRzIHRoZSBYZW4gbGltaXQsIHNldHMgbmV3IHRhcmdldCwgYW5kIGtpY2tzIG9mZiBwcm9jZXNzaW5nLiAqLwotdm9pZCBiYWxsb29uX3NldF9uZXdfdGFyZ2V0KHVuc2lnbmVkIGxvbmcgdGFyZ2V0KQorc3RhdGljIHZvaWQgYmFsbG9vbl9zZXRfbmV3X3RhcmdldCh1bnNpZ25lZCBsb25nIHRhcmdldCkKIHsKIAkvKiBObyBuZWVkIGZvciBsb2NrLiBOb3QgcmVhZC1tb2RpZnktd3JpdGUgdXBkYXRlcy4gKi8KIAliYWxsb29uX3N0YXRzLmhhcmRfbGltaXQgICA9IH4wVUw7CkBAIC00ODMsNyArNDgzLDcgQEAKIAkJLmV4dGVudF9vcmRlciA9IDAsCiAJCS5kb21pZCAgICAgICAgPSBET01JRF9TRUxGCiAJfTsKLQlyZXNlcnZhdGlvbi5leHRlbnRfc3RhcnQgPSAodW5zaWduZWQgbG9uZykmbWZuOworCXNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlc2VydmF0aW9uLmV4dGVudF9zdGFydCwgJm1mbik7CiAJc2V0X3B0ZV9hdCgmaW5pdF9tbSwgYWRkciwgcHRlLCBfX3B0ZV9tYSgwdWxsKSk7CiAJc2V0X3BoeXNfdG9fbWFjaGluZShfX3BhKGFkZHIpID4+IFBBR0VfU0hJRlQsIElOVkFMSURfUDJNX0VOVFJZKTsKIAlyZXQgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZGVjcmVhc2VfcmVzZXJ2YXRpb24sICZyZXNlcnZhdGlvbik7CkBAIC01MTksNyArNTE5LDcgQEAKIAkJCQkuZXh0ZW50X29yZGVyID0gMCwKIAkJCQkuZG9taWQgICAgICAgID0gRE9NSURfU0VMRgogCQkJfTsKLQkJCXJlc2VydmF0aW9uLmV4dGVudF9zdGFydCA9ICh1bnNpZ25lZCBsb25nKSZnbWZuOworCQkJc2V0X3hlbl9ndWVzdF9oYW5kbGUocmVzZXJ2YXRpb24uZXh0ZW50X3N0YXJ0LCAmZ21mbik7CiAJCQlyZXQgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fZGVjcmVhc2VfcmVzZXJ2YXRpb24sCiAJCQkJCQkgICAmcmVzZXJ2YXRpb24pOwogCQkJaWYgKHJldCA9PSAxKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZXZlbnRzLmMgYi9kcml2ZXJzL3hlbi9ldmVudHMuYwppbmRleCA3NmU1YjczLi4zMzJkZDYzNyAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vZXZlbnRzLmMKKysrIGIvZHJpdmVycy94ZW4vZXZlbnRzLmMKQEAgLTM1NSw3ICszNTUsNyBAQAogCiAJc3Bpbl9sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CiAKLQlpZiAoVkFMSURfRVZUQ0hOKGV2dGNobikgJiYgKC0taXJxX2JpbmRjb3VudFtpcnFdID09IDApKSB7CisJaWYgKCgtLWlycV9iaW5kY291bnRbaXJxXSA9PSAwKSAmJiBWQUxJRF9FVlRDSE4oZXZ0Y2huKSkgewogCQljbG9zZS5wb3J0ID0gZXZ0Y2huOwogCQlpZiAoSFlQRVJWSVNPUl9ldmVudF9jaGFubmVsX29wKEVWVENITk9QX2Nsb3NlLCAmY2xvc2UpICE9IDApCiAJCQlCVUcoKTsKQEAgLTM3NSw3ICszNzUsNyBAQAogCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSAtMTsKIAkJaXJxX2luZm9baXJxXSA9IElSUV9VTkJPVU5EOwogCi0JCWR5bmFtaWNfaXJxX2luaXQoaXJxKTsKKwkJZHluYW1pY19pcnFfY2xlYW51cChpcnEpOwogCX0KIAogCXNwaW5fdW5sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CkBAIC01NTcsNiArNTU3LDMzIEBACiAJcHV0X2NwdSgpOwogfQogCisvKiBSZWJpbmQgYSBuZXcgZXZlbnQgY2hhbm5lbCB0byBhbiBleGlzdGluZyBpcnEuICovCit2b2lkIHJlYmluZF9ldnRjaG5faXJxKGludCBldnRjaG4sIGludCBpcnEpCit7CisJLyogTWFrZSBzdXJlIHRoZSBpcnEgaXMgbWFza2VkLCBzaW5jZSB0aGUgbmV3IGV2ZW50IGNoYW5uZWwKKwkgICB3aWxsIGFsc28gYmUgbWFza2VkLiAqLworCWRpc2FibGVfaXJxKGlycSk7CisKKwlzcGluX2xvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsKKworCS8qIEFmdGVyIHJlc3VtZSB0aGUgaXJxPC0+ZXZ0Y2huIG1hcHBpbmdzIGFyZSBhbGwgY2xlYXJlZCBvdXQgKi8KKwlCVUdfT04oZXZ0Y2huX3RvX2lycVtldnRjaG5dICE9IC0xKTsKKwkvKiBFeHBlY3QgaXJxIHRvIGhhdmUgYmVlbiBib3VuZCBiZWZvcmUsCisJICAgc28gdGhlIGJpbmRjb3VudCBzaG91bGQgYmUgbm9uLTAgKi8KKwlCVUdfT04oaXJxX2JpbmRjb3VudFtpcnFdID09IDApOworCisJZXZ0Y2huX3RvX2lycVtldnRjaG5dID0gaXJxOworCWlycV9pbmZvW2lycV0gPSBta19pcnFfaW5mbyhJUlFUX0VWVENITiwgMCwgZXZ0Y2huKTsKKworCXNwaW5fdW5sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7CisKKwkvKiBuZXcgZXZlbnQgY2hhbm5lbHMgYXJlIGFsd2F5cyBib3VuZCB0byBjcHUgMCAqLworCWlycV9zZXRfYWZmaW5pdHkoaXJxLCBjcHVtYXNrX29mX2NwdSgwKSk7CisKKwkvKiBVbm1hc2sgdGhlIGV2ZW50IGNoYW5uZWwuICovCisJZW5hYmxlX2lycShpcnEpOworfQorCiAvKiBSZWJpbmQgYW4gZXZ0Y2huIHNvIHRoYXQgaXQgZ2V0cyBkZWxpdmVyZWQgdG8gYSBzcGVjaWZpYyBjcHUgKi8KIHN0YXRpYyB2b2lkIHJlYmluZF9pcnFfdG9fY3B1KHVuc2lnbmVkIGlycSwgdW5zaWduZWQgdGNwdSkKIHsKQEAgLTY0Nyw2ICs2NzQsODkgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCByZXN0b3JlX2NwdV92aXJxcyh1bnNpZ25lZCBpbnQgY3B1KQoreworCXN0cnVjdCBldnRjaG5fYmluZF92aXJxIGJpbmRfdmlycTsKKwlpbnQgdmlycSwgaXJxLCBldnRjaG47CisKKwlmb3IgKHZpcnEgPSAwOyB2aXJxIDwgTlJfVklSUVM7IHZpcnErKykgeworCQlpZiAoKGlycSA9IHBlcl9jcHUodmlycV90b19pcnEsIGNwdSlbdmlycV0pID09IC0xKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKGlycV9pbmZvW2lycV0udHlwZSAhPSBJUlFUX1ZJUlEpOworCQlCVUdfT04oaXJxX2luZm9baXJxXS5pbmRleCAhPSB2aXJxKTsKKworCQkvKiBHZXQgYSBuZXcgYmluZGluZyBmcm9tIFhlbi4gKi8KKwkJYmluZF92aXJxLnZpcnEgPSB2aXJxOworCQliaW5kX3ZpcnEudmNwdSA9IGNwdTsKKwkJaWYgKEhZUEVSVklTT1JfZXZlbnRfY2hhbm5lbF9vcChFVlRDSE5PUF9iaW5kX3ZpcnEsCisJCQkJCQkmYmluZF92aXJxKSAhPSAwKQorCQkJQlVHKCk7CisJCWV2dGNobiA9IGJpbmRfdmlycS5wb3J0OworCisJCS8qIFJlY29yZCB0aGUgbmV3IG1hcHBpbmcuICovCisJCWV2dGNobl90b19pcnFbZXZ0Y2huXSA9IGlycTsKKwkJaXJxX2luZm9baXJxXSA9IG1rX2lycV9pbmZvKElSUVRfVklSUSwgdmlycSwgZXZ0Y2huKTsKKwkJYmluZF9ldnRjaG5fdG9fY3B1KGV2dGNobiwgY3B1KTsKKworCQkvKiBSZWFkeSBmb3IgdXNlLiAqLworCQl1bm1hc2tfZXZ0Y2huKGV2dGNobik7CisJfQorfQorCitzdGF0aWMgdm9pZCByZXN0b3JlX2NwdV9pcGlzKHVuc2lnbmVkIGludCBjcHUpCit7CisJc3RydWN0IGV2dGNobl9iaW5kX2lwaSBiaW5kX2lwaTsKKwlpbnQgaXBpLCBpcnEsIGV2dGNobjsKKworCWZvciAoaXBpID0gMDsgaXBpIDwgWEVOX05SX0lQSVM7IGlwaSsrKSB7CisJCWlmICgoaXJxID0gcGVyX2NwdShpcGlfdG9faXJxLCBjcHUpW2lwaV0pID09IC0xKQorCQkJY29udGludWU7CisKKwkJQlVHX09OKGlycV9pbmZvW2lycV0udHlwZSAhPSBJUlFUX0lQSSk7CisJCUJVR19PTihpcnFfaW5mb1tpcnFdLmluZGV4ICE9IGlwaSk7CisKKwkJLyogR2V0IGEgbmV3IGJpbmRpbmcgZnJvbSBYZW4uICovCisJCWJpbmRfaXBpLnZjcHUgPSBjcHU7CisJCWlmIChIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfYmluZF9pcGksCisJCQkJCQkmYmluZF9pcGkpICE9IDApCisJCQlCVUcoKTsKKwkJZXZ0Y2huID0gYmluZF9pcGkucG9ydDsKKworCQkvKiBSZWNvcmQgdGhlIG5ldyBtYXBwaW5nLiAqLworCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSBpcnE7CisJCWlycV9pbmZvW2lycV0gPSBta19pcnFfaW5mbyhJUlFUX0lQSSwgaXBpLCBldnRjaG4pOworCQliaW5kX2V2dGNobl90b19jcHUoZXZ0Y2huLCBjcHUpOworCisJCS8qIFJlYWR5IGZvciB1c2UuICovCisJCXVubWFza19ldnRjaG4oZXZ0Y2huKTsKKworCX0KK30KKwordm9pZCB4ZW5faXJxX3Jlc3VtZSh2b2lkKQoreworCXVuc2lnbmVkIGludCBjcHUsIGlycSwgZXZ0Y2huOworCisJaW5pdF9ldnRjaG5fY3B1X2JpbmRpbmdzKCk7CisKKwkvKiBOZXcgZXZlbnQtY2hhbm5lbCBzcGFjZSBpcyBub3QgJ2xpdmUnIHlldC4gKi8KKwlmb3IgKGV2dGNobiA9IDA7IGV2dGNobiA8IE5SX0VWRU5UX0NIQU5ORUxTOyBldnRjaG4rKykKKwkJbWFza19ldnRjaG4oZXZ0Y2huKTsKKworCS8qIE5vIElSUSA8LT4gZXZlbnQtY2hhbm5lbCBtYXBwaW5ncy4gKi8KKwlmb3IgKGlycSA9IDA7IGlycSA8IE5SX0lSUVM7IGlycSsrKQorCQlpcnFfaW5mb1tpcnFdLmV2dGNobiA9IDA7IC8qIHphcCBldmVudC1jaGFubmVsIGJpbmRpbmcgKi8KKworCWZvciAoZXZ0Y2huID0gMDsgZXZ0Y2huIDwgTlJfRVZFTlRfQ0hBTk5FTFM7IGV2dGNobisrKQorCQlldnRjaG5fdG9faXJxW2V2dGNobl0gPSAtMTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJcmVzdG9yZV9jcHVfdmlycXMoY3B1KTsKKwkJcmVzdG9yZV9jcHVfaXBpcyhjcHUpOworCX0KK30KKwogc3RhdGljIHN0cnVjdCBpcnFfY2hpcCB4ZW5fZHluYW1pY19jaGlwIF9fcmVhZF9tb3N0bHkgPSB7CiAJLm5hbWUJCT0gInhlbi1keW4iLAogCS5tYXNrCQk9IGRpc2FibGVfZHluaXJxLApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYyBiL2RyaXZlcnMveGVuL2dyYW50LXRhYmxlLmMKaW5kZXggNTJiNmI0MS4uZTllMTExNiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vZ3JhbnQtdGFibGUuYworKysgYi9kcml2ZXJzL3hlbi9ncmFudC10YWJsZS5jCkBAIC00NzEsMTQgKzQ3MSwxNCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGdudHRhYl9yZXN1bWUodm9pZCkKK2ludCBnbnR0YWJfcmVzdW1lKHZvaWQpCiB7CiAJaWYgKG1heF9ucl9ncmFudF9mcmFtZXMoKSA8IG5yX2dyYW50X2ZyYW1lcykKIAkJcmV0dXJuIC1FTk9TWVM7CiAJcmV0dXJuIGdudHRhYl9tYXAoMCwgbnJfZ3JhbnRfZnJhbWVzIC0gMSk7CiB9CiAKLXN0YXRpYyBpbnQgZ250dGFiX3N1c3BlbmQodm9pZCkKK2ludCBnbnR0YWJfc3VzcGVuZCh2b2lkKQogewogCWFyY2hfZ250dGFiX3VubWFwX3NoYXJlZChzaGFyZWQsIG5yX2dyYW50X2ZyYW1lcyk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9tYW5hZ2UuYyBiL2RyaXZlcnMveGVuL21hbmFnZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNTQ2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL3hlbi9tYW5hZ2UuYwpAQCAtMCwwICsxLDI1MiBAQAorLyoKKyAqIEhhbmRsZSBleHRlcm4gcmVxdWVzdHMgZm9yIHNodXRkb3duLCByZWJvb3QgYW5kIHN5c3JxCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWJvb3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNycS5oPgorI2luY2x1ZGUgPGxpbnV4L3N0b3BfbWFjaGluZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZyZWV6ZXIuaD4KKworI2luY2x1ZGUgPHhlbi94ZW5idXMuaD4KKyNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KKyNpbmNsdWRlIDx4ZW4vZXZlbnRzLmg+CisjaW5jbHVkZSA8eGVuL2h2Yy1jb25zb2xlLmg+CisjaW5jbHVkZSA8eGVuL3hlbi1vcHMuaD4KKworI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8YXNtL3hlbi9wYWdlLmg+CisKK2VudW0gc2h1dGRvd25fc3RhdGUgeworCVNIVVRET1dOX0lOVkFMSUQgPSAtMSwKKwlTSFVURE9XTl9QT1dFUk9GRiA9IDAsCisJU0hVVERPV05fU1VTUEVORCA9IDIsCisJLyogQ29kZSAzIGlzIFNIVVRET1dOX0NSQVNILCB3aGljaCB3ZSBkb24ndCB1c2UgYmVjYXVzZSB0aGUgZG9tYWluIGNhbiBvbmx5CisJICAgcmVwb3J0IGEgY3Jhc2gsIG5vdCBiZSBpbnN0cnVjdGVkIHRvIGNyYXNoIQorCSAgIEhBTFQgaXMgdGhlIHNhbWUgYXMgUE9XRVJPRkYsIGFzIGZhciBhcyB3ZSdyZSBjb25jZXJuZWQuICBUaGUgdG9vbHMgdXNlCisJICAgdGhlIGRpc3RpbmN0aW9uIHdoZW4gd2UgcmV0dXJuIHRoZSByZWFzb24gY29kZSB0byB0aGVtLiAgKi8KKwkgU0hVVERPV05fSEFMVCA9IDQsCit9OworCisvKiBJZ25vcmUgbXVsdGlwbGUgc2h1dGRvd24gcmVxdWVzdHMuICovCitzdGF0aWMgZW51bSBzaHV0ZG93bl9zdGF0ZSBzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKKworI2lmZGVmIENPTkZJR19QTV9TTEVFUAorc3RhdGljIGludCB4ZW5fc3VzcGVuZCh2b2lkICpkYXRhKQoreworCWludCAqY2FuY2VsbGVkID0gZGF0YTsKKwlpbnQgZXJyOworCisJQlVHX09OKCFpcnFzX2Rpc2FibGVkKCkpOworCisJbG9hZF9jcjMoc3dhcHBlcl9wZ19kaXIpOworCisJZXJyID0gZGV2aWNlX3Bvd2VyX2Rvd24oUE1TR19TVVNQRU5EKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAieGVuX3N1c3BlbmQ6IGRldmljZV9wb3dlcl9kb3duIGZhaWxlZDogJWRcbiIsCisJCSAgICAgICBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KKworCXhlbl9tbV9waW5fYWxsKCk7CisJZ250dGFiX3N1c3BlbmQoKTsKKwl4ZW5fcHJlX3N1c3BlbmQoKTsKKworCS8qCisJICogVGhpcyBoeXBlcmNhbGwgcmV0dXJucyAxIGlmIHN1c3BlbmQgd2FzIGNhbmNlbGxlZAorCSAqIG9yIHRoZSBkb21haW4gd2FzIG1lcmVseSBjaGVja3BvaW50ZWQsIGFuZCAwIGlmIGl0CisJICogaXMgcmVzdW1pbmcgaW4gYSBuZXcgZG9tYWluLgorCSAqLworCSpjYW5jZWxsZWQgPSBIWVBFUlZJU09SX3N1c3BlbmQodmlydF90b19tZm4oeGVuX3N0YXJ0X2luZm8pKTsKKworCXhlbl9wb3N0X3N1c3BlbmQoKmNhbmNlbGxlZCk7CisJZ250dGFiX3Jlc3VtZSgpOworCXhlbl9tbV91bnBpbl9hbGwoKTsKKworCWRldmljZV9wb3dlcl91cCgpOworCisJaWYgKCEqY2FuY2VsbGVkKSB7CisJCXhlbl9pcnFfcmVzdW1lKCk7CisJCXhlbl9jb25zb2xlX3Jlc3VtZSgpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBkb19zdXNwZW5kKHZvaWQpCit7CisJaW50IGVycjsKKwlpbnQgY2FuY2VsbGVkID0gMTsKKworCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9TVVNQRU5EOworCisjaWZkZWYgQ09ORklHX1BSRUVNUFQKKwkvKiBJZiB0aGUga2VybmVsIGlzIHByZWVtcHRpYmxlLCB3ZSBuZWVkIHRvIGZyZWV6ZSBhbGwgdGhlIHByb2Nlc3NlcworCSAgIHRvIHByZXZlbnQgdGhlbSBmcm9tIGJlaW5nIGluIHRoZSBtaWRkbGUgb2YgYSBwYWdldGFibGUgdXBkYXRlCisJICAgZHVyaW5nIHN1c3BlbmQuICovCisJZXJyID0gZnJlZXplX3Byb2Nlc3NlcygpOworCWlmIChlcnIpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ4ZW4gc3VzcGVuZDogZnJlZXplIGZhaWxlZCAlZFxuIiwgZXJyKTsKKwkJcmV0dXJuOworCX0KKyNlbmRpZgorCisJZXJyID0gZGV2aWNlX3N1c3BlbmQoUE1TR19TVVNQRU5EKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ayhLRVJOX0VSUiAieGVuIHN1c3BlbmQ6IGRldmljZV9zdXNwZW5kICVkXG4iLCBlcnIpOworCQlnb3RvIG91dDsKKwl9CisKKwlwcmludGsoInN1c3BlbmRpbmcgeGVuYnVzLi4uXG4iKTsKKwkvKiBYWFggdXNlIG5vcm1hbCBkZXZpY2UgdHJlZT8gKi8KKwl4ZW5idXNfc3VzcGVuZCgpOworCisJZXJyID0gc3RvcF9tYWNoaW5lX3J1bih4ZW5fc3VzcGVuZCwgJmNhbmNlbGxlZCwgMCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgImZhaWxlZCB0byBzdGFydCB4ZW5fc3VzcGVuZDogJWRcbiIsIGVycik7CisJCWdvdG8gb3V0OworCX0KKworCWlmICghY2FuY2VsbGVkKQorCQl4ZW5idXNfcmVzdW1lKCk7CisJZWxzZQorCQl4ZW5idXNfc3VzcGVuZF9jYW5jZWwoKTsKKworCWRldmljZV9yZXN1bWUoKTsKKworCS8qIE1ha2Ugc3VyZSB0aW1lciBldmVudHMgZ2V0IHJldHJpZ2dlcmVkIG9uIGFsbCBDUFVzICovCisJY2xvY2tfd2FzX3NldCgpOworb3V0OgorI2lmZGVmIENPTkZJR19QUkVFTVBUCisJdGhhd19wcm9jZXNzZXMoKTsKKyNlbmRpZgorCXNodXR0aW5nX2Rvd24gPSBTSFVURE9XTl9JTlZBTElEOworfQorI2VuZGlmCS8qIENPTkZJR19QTV9TTEVFUCAqLworCitzdGF0aWMgdm9pZCBzaHV0ZG93bl9oYW5kbGVyKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLAorCQkJICAgICBjb25zdCBjaGFyICoqdmVjLCB1bnNpZ25lZCBpbnQgbGVuKQoreworCWNoYXIgKnN0cjsKKwlzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKKwlpbnQgZXJyOworCisJaWYgKHNodXR0aW5nX2Rvd24gIT0gU0hVVERPV05fSU5WQUxJRCkKKwkJcmV0dXJuOworCisgYWdhaW46CisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOworCWlmIChlcnIpCisJCXJldHVybjsKKworCXN0ciA9IChjaGFyICopeGVuYnVzX3JlYWQoeGJ0LCAiY29udHJvbCIsICJzaHV0ZG93biIsIE5VTEwpOworCS8qIElnbm9yZSByZWFkIGVycm9ycyBhbmQgZW1wdHkgcmVhZHMuICovCisJaWYgKFhFTkJVU19JU19FUlJfUkVBRChzdHIpKSB7CisJCXhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAxKTsKKwkJcmV0dXJuOworCX0KKworCXhlbmJ1c193cml0ZSh4YnQsICJjb250cm9sIiwgInNodXRkb3duIiwgIiIpOworCisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDApOworCWlmIChlcnIgPT0gLUVBR0FJTikgeworCQlrZnJlZShzdHIpOworCQlnb3RvIGFnYWluOworCX0KKworCWlmIChzdHJjbXAoc3RyLCAicG93ZXJvZmYiKSA9PSAwIHx8CisJICAgIHN0cmNtcChzdHIsICJoYWx0IikgPT0gMCkgeworCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fUE9XRVJPRkY7CisJCW9yZGVybHlfcG93ZXJvZmYoZmFsc2UpOworCX0gZWxzZSBpZiAoc3RyY21wKHN0ciwgInJlYm9vdCIpID09IDApIHsKKwkJc2h1dHRpbmdfZG93biA9IFNIVVRET1dOX1BPV0VST0ZGOyAvKiA/ICovCisJCWN0cmxfYWx0X2RlbCgpOworI2lmZGVmIENPTkZJR19QTV9TTEVFUAorCX0gZWxzZSBpZiAoc3RyY21wKHN0ciwgInN1c3BlbmQiKSA9PSAwKSB7CisJCWRvX3N1c3BlbmQoKTsKKyNlbmRpZgorCX0gZWxzZSB7CisJCXByaW50ayhLRVJOX0lORk8gIklnbm9yaW5nIHNodXRkb3duIHJlcXVlc3Q6ICVzXG4iLCBzdHIpOworCQlzaHV0dGluZ19kb3duID0gU0hVVERPV05fSU5WQUxJRDsKKwl9CisKKwlrZnJlZShzdHIpOworfQorCitzdGF0aWMgdm9pZCBzeXNycV9oYW5kbGVyKHN0cnVjdCB4ZW5idXNfd2F0Y2ggKndhdGNoLCBjb25zdCBjaGFyICoqdmVjLAorCQkJICB1bnNpZ25lZCBpbnQgbGVuKQoreworCWNoYXIgc3lzcnFfa2V5ID0gJ1wwJzsKKwlzdHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKKwlpbnQgZXJyOworCisgYWdhaW46CisJZXJyID0geGVuYnVzX3RyYW5zYWN0aW9uX3N0YXJ0KCZ4YnQpOworCWlmIChlcnIpCisJCXJldHVybjsKKwlpZiAoIXhlbmJ1c19zY2FuZih4YnQsICJjb250cm9sIiwgInN5c3JxIiwgIiVjIiwgJnN5c3JxX2tleSkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJVbmFibGUgdG8gcmVhZCBzeXNycSBjb2RlIGluICIKKwkJICAgICAgICJjb250cm9sL3N5c3JxXG4iKTsKKwkJeGVuYnVzX3RyYW5zYWN0aW9uX2VuZCh4YnQsIDEpOworCQlyZXR1cm47CisJfQorCisJaWYgKHN5c3JxX2tleSAhPSAnXDAnKQorCQl4ZW5idXNfcHJpbnRmKHhidCwgImNvbnRyb2wiLCAic3lzcnEiLCAiJWMiLCAnXDAnKTsKKworCWVyciA9IHhlbmJ1c190cmFuc2FjdGlvbl9lbmQoeGJ0LCAwKTsKKwlpZiAoZXJyID09IC1FQUdBSU4pCisJCWdvdG8gYWdhaW47CisKKwlpZiAoc3lzcnFfa2V5ICE9ICdcMCcpCisJCWhhbmRsZV9zeXNycShzeXNycV9rZXksIE5VTEwpOworfQorCitzdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCBzaHV0ZG93bl93YXRjaCA9IHsKKwkubm9kZSA9ICJjb250cm9sL3NodXRkb3duIiwKKwkuY2FsbGJhY2sgPSBzaHV0ZG93bl9oYW5kbGVyCit9OworCitzdGF0aWMgc3RydWN0IHhlbmJ1c193YXRjaCBzeXNycV93YXRjaCA9IHsKKwkubm9kZSA9ICJjb250cm9sL3N5c3JxIiwKKwkuY2FsbGJhY2sgPSBzeXNycV9oYW5kbGVyCit9OworCitzdGF0aWMgaW50IHNldHVwX3NodXRkb3duX3dhdGNoZXIodm9pZCkKK3sKKwlpbnQgZXJyOworCisJZXJyID0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzaHV0ZG93bl93YXRjaCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBzZXQgc2h1dGRvd24gd2F0Y2hlclxuIik7CisJCXJldHVybiBlcnI7CisJfQorCisJZXJyID0gcmVnaXN0ZXJfeGVuYnVzX3dhdGNoKCZzeXNycV93YXRjaCk7CisJaWYgKGVycikgeworCQlwcmludGsoS0VSTl9FUlIgIkZhaWxlZCB0byBzZXQgc3lzcnEgd2F0Y2hlclxuIik7CisJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2h1dGRvd25fZXZlbnQoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpub3RpZmllciwKKwkJCSAgdW5zaWduZWQgbG9uZyBldmVudCwKKwkJCSAgdm9pZCAqZGF0YSkKK3sKKwlzZXR1cF9zaHV0ZG93bl93YXRjaGVyKCk7CisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCitzdGF0aWMgaW50IF9faW5pdCBzZXR1cF9zaHV0ZG93bl9ldmVudCh2b2lkKQoreworCXN0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgeGVuc3RvcmVfbm90aWZpZXIgPSB7CisJCS5ub3RpZmllcl9jYWxsID0gc2h1dGRvd25fZXZlbnQKKwl9OworCXJlZ2lzdGVyX3hlbnN0b3JlX25vdGlmaWVyKCZ4ZW5zdG9yZV9ub3RpZmllcik7CisKKwlyZXR1cm4gMDsKK30KKworc3Vic3lzX2luaXRjYWxsKHNldHVwX3NodXRkb3duX2V2ZW50KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jCmluZGV4IDBmODZiMGYuLjk2NzhiM2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY2xpZW50LmMKKysrIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYwpAQCAtMTE3LDcgKzExNyw3IEBACiAJY2hhciAqcGF0aDsKIAogCXZhX3N0YXJ0KGFwLCBwYXRoZm10KTsKLQlwYXRoID0ga3Zhc3ByaW50ZihHRlBfS0VSTkVMLCBwYXRoZm10LCBhcCk7CisJcGF0aCA9IGt2YXNwcmludGYoR0ZQX05PSU8gfCBfX0dGUF9ISUdILCBwYXRoZm10LCBhcCk7CiAJdmFfZW5kKGFwKTsKIAogCWlmICghcGF0aCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5jIGIvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jb21tcy5jCmluZGV4IDZlZmJlM2YuLjA5MGM2MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfY29tbXMuYworKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NvbW1zLmMKQEAgLTIwMyw3ICsyMDMsNiBAQAogaW50IHhiX2luaXRfY29tbXModm9pZCkKIHsKIAlzdHJ1Y3QgeGVuc3RvcmVfZG9tYWluX2ludGVyZmFjZSAqaW50ZiA9IHhlbl9zdG9yZV9pbnRlcmZhY2U7Ci0JaW50IGVycjsKIAogCWlmIChpbnRmLT5yZXFfcHJvZCAhPSBpbnRmLT5yZXFfY29ucykKIAkJcHJpbnRrKEtFUk5fRVJSICJYRU5CVVMgcmVxdWVzdCByaW5nIGlzIG5vdCBxdWllc2NlbnQgIgpAQCAtMjE2LDE4ICsyMTUsMjAgQEAKIAkJaW50Zi0+cnNwX2NvbnMgPSBpbnRmLT5yc3BfcHJvZDsKIAl9CiAKLQlpZiAoeGVuYnVzX2lycSkKLQkJdW5iaW5kX2Zyb21faXJxaGFuZGxlcih4ZW5idXNfaXJxLCAmeGJfd2FpdHEpOworCWlmICh4ZW5idXNfaXJxKSB7CisJCS8qIEFscmVhZHkgaGF2ZSBhbiBpcnE7IGFzc3VtZSB3ZSdyZSByZXN1bWluZyAqLworCQlyZWJpbmRfZXZ0Y2huX2lycSh4ZW5fc3RvcmVfZXZ0Y2huLCB4ZW5idXNfaXJxKTsKKwl9IGVsc2UgeworCQlpbnQgZXJyOworCQllcnIgPSBiaW5kX2V2dGNobl90b19pcnFoYW5kbGVyKHhlbl9zdG9yZV9ldnRjaG4sIHdha2Vfd2FpdGluZywKKwkJCQkJCTAsICJ4ZW5idXMiLCAmeGJfd2FpdHEpOworCQlpZiAoZXJyIDw9IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiWEVOQlVTIHJlcXVlc3QgaXJxIGZhaWxlZCAlaVxuIiwgZXJyKTsKKwkJCXJldHVybiBlcnI7CisJCX0KIAotCWVyciA9IGJpbmRfZXZ0Y2huX3RvX2lycWhhbmRsZXIoCi0JCXhlbl9zdG9yZV9ldnRjaG4sIHdha2Vfd2FpdGluZywKLQkJMCwgInhlbmJ1cyIsICZ4Yl93YWl0cSk7Ci0JaWYgKGVyciA8PSAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiWEVOQlVTIHJlcXVlc3QgaXJxIGZhaWxlZCAlaVxuIiwgZXJyKTsKLQkJcmV0dXJuIGVycjsKKwkJeGVuYnVzX2lycSA9IGVycjsKIAl9CiAKLQl4ZW5idXNfaXJxID0gZXJyOwotCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMKaW5kZXggMjI3ZDUzYjEuLjdmMmY5MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfeHMuYworKysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3hzLmMKQEAgLTI4Myw5ICsyODMsOSBAQAogCWNoYXIgKmJ1ZmZlcjsKIAogCWlmIChzdHJsZW4obmFtZSkgPT0gMCkKLQkJYnVmZmVyID0ga2FzcHJpbnRmKEdGUF9LRVJORUwsICIlcyIsIGRpcik7CisJCWJ1ZmZlciA9IGthc3ByaW50ZihHRlBfTk9JTyB8IF9fR0ZQX0hJR0gsICIlcyIsIGRpcik7CiAJZWxzZQotCQlidWZmZXIgPSBrYXNwcmludGYoR0ZQX0tFUk5FTCwgIiVzLyVzIiwgZGlyLCBuYW1lKTsKKwkJYnVmZmVyID0ga2FzcHJpbnRmKEdGUF9OT0lPIHwgX19HRlBfSElHSCwgIiVzLyVzIiwgZGlyLCBuYW1lKTsKIAlyZXR1cm4gKCFidWZmZXIpID8gRVJSX1BUUigtRU5PTUVNKSA6IGJ1ZmZlcjsKIH0KIApAQCAtMjk3LDcgKzI5Nyw3IEBACiAJKm51bSA9IGNvdW50X3N0cmluZ3Moc3RyaW5ncywgbGVuKTsKIAogCS8qIFRyYW5zZmVyIHRvIG9uZSBiaWcgYWxsb2MgZm9yIGVhc3kgZnJlZWluZy4gKi8KLQlyZXQgPSBrbWFsbG9jKCpudW0gKiBzaXplb2YoY2hhciAqKSArIGxlbiwgR0ZQX0tFUk5FTCk7CisJcmV0ID0ga21hbGxvYygqbnVtICogc2l6ZW9mKGNoYXIgKikgKyBsZW4sIEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKCFyZXQpIHsKIAkJa2ZyZWUoc3RyaW5ncyk7CiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwpAQCAtNzUxLDcgKzc1MSw3IEBACiAJfQogCiAKLQltc2cgPSBrbWFsbG9jKHNpemVvZigqbXNnKSwgR0ZQX0tFUk5FTCk7CisJbXNnID0ga21hbGxvYyhzaXplb2YoKm1zZyksIEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKG1zZyA9PSBOVUxMKSB7CiAJCWVyciA9IC1FTk9NRU07CiAJCWdvdG8gb3V0OwpAQCAtNzYzLDcgKzc2Myw3IEBACiAJCWdvdG8gb3V0OwogCX0KIAotCWJvZHkgPSBrbWFsbG9jKG1zZy0+aGRyLmxlbiArIDEsIEdGUF9LRVJORUwpOworCWJvZHkgPSBrbWFsbG9jKG1zZy0+aGRyLmxlbiArIDEsIEdGUF9OT0lPIHwgX19HRlBfSElHSCk7CiAJaWYgKGJvZHkgPT0gTlVMTCkgewogCQlrZnJlZShtc2cpOwogCQllcnIgPSAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvTWFrZWZpbGUgYi9maXJtd2FyZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGYyZmIzCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvTWFrZWZpbGUKQEAgLTAsMCArMSwxNzUgQEAKKyMKKyMga2J1aWxkIGZpbGUgZm9yIGZpcm13YXJlLworIworCisjIENyZWF0ZSAkKGZ3YWJzKSBmcm9tICQoQ09ORklHX0VYVFJBX0ZJUk1XQVJFX0RJUikgLS0gaWYgaXQgZG9lc24ndCBoYXZlIGEKKyMgbGVhZGluZyAvLCBpdCdzIHJlbGF0aXZlIHRvICQoc3JjdHJlZSkuCitmd2RpciA6PSAkKHN1YnN0ICIsLCQoQ09ORklHX0VYVFJBX0ZJUk1XQVJFX0RJUikpCitmd2FicyA6PSAkKGFkZHByZWZpeCAkKHNyY3RyZWUpLywkKGZpbHRlci1vdXQgLyUsJChmd2RpcikpKSQoZmlsdGVyIC8lLCQoZndkaXIpKQorCitmdy1leHRlcm5hbC15IDo9ICQoc3Vic3QgIiwsJChDT05GSUdfRVhUUkFfRklSTVdBUkUpKQorCisjIFRoZXJlIGFyZSB0aHJlZSBjYXNlcyB0byBjYXJlIGFib3V0OgorIyAxLiBCdWlsZGluZyBrZXJuZWwgd2l0aCBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMPXkgLS0gJChmdy1zaGlwcGVkLXkpIHNob3VsZAorIyAgICBpbmNsdWRlIHRoZSBmaXJtd2FyZSBmaWxlcyB0byBpbmNsdWRlLCBhY2NvcmRpbmcgdG8gLmNvbmZpZworIyAyLiAnbWFrZSBtb2R1bGVzX2luc3RhbGwnLCB3aGljaCB3aWxsIGluc3RhbGwgZmlybXdhcmUgZm9yIG1vZHVsZXMsIGFuZCAKKyMgICAgX2Fsc29fIGZvciB0aGUgaW4ta2VybmVsIGRyaXZlcnMgd2hlbiBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMPW4KKyMgMy4gJ21ha2UgZmlybXdhcmVfaW5zdGFsbCcsIHdoaWNoIGluc3RhbGxzIGFsbCBmaXJtd2FyZSwgdW5jb25kaXRpb25hbGx5LgorCisjIEZvciB0aGUgZm9ybWVyIHR3byBjYXNlcyB3ZSB3YW50ICQoZnctc2hpcHBlZC15KSBhbmQgJChmdy1zaGlwcGVkLW0pIHRvIGJlCisjIGFjY3VyYXRlLiBJbiB0aGUgbGF0dGVyIGNhc2UgaXQgZG9lc24ndCBtYXR0ZXIgLS0gaXQnbGwgdXNlICQoZnctc2hpcHBlZC1hbGwpLgorIyBCdXQgYmUgYXdhcmUgdGhhdCB0aGUgY29uZmlnIGZpbGUgbWlnaHQgbm90IGJlIGluY2x1ZGVkIGF0IGFsbC4KKworZnctc2hpcHBlZC0kKENPTkZJR19BVEFSSV9EU1A1NkspICs9IGRzcDU2ay9ib290c3RyYXAuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX0FUTV9BTUJBU1NBRE9SKSArPSBhdG1zYXIxMS5mdworZnctc2hpcHBlZC0kKENPTkZJR19DT01QVVRPTkUpICs9IGludGVsbGlwb3J0Mi5iaW4KK2Z3LXNoaXBwZWQtJChDT05GSUdfRFZCX1RUVVNCX0JVREdFVCkgKz0gdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19TTUNUUikgKz0gdHJfc21jdHIuYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX1NORF9LT1JHMTIxMikgKz0ga29yZy9rMTIxMi5kc3AKK2Z3LXNoaXBwZWQtJChDT05GSUdfU05EX01BRVNUUk8zKSArPSBlc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncgXAorCQkJCSAgICAgZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdworZnctc2hpcHBlZC0kKENPTkZJR19TTkRfU0IxNl9DU1ApICs9IHNiMTYvbXVsYXdfbWFpbi5jc3Agc2IxNi9hbGF3X21haW4uY3NwIFwKKwkJCQkgICAgIHNiMTYvaW1hX2FkcGNtX2luaXQuY3NwIFwKKwkJCQkgICAgIHNiMTYvaW1hX2FkcGNtX3BsYXliYWNrLmNzcCBcCisJCQkJICAgICBzYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcAorZnctc2hpcHBlZC0kKENPTkZJR19TTkRfWU1GUENJKSArPSB5YW1haGEvZHMxX2N0cmwuZncgeWFtYWhhL2RzMV9kc3AuZncgXAorCQkJCSAgIHlhbWFoYS9kczFlX2N0cmwuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX0RBQlVTQikgKz0gZGFidXNiL2Zpcm13YXJlLmZ3IGRhYnVzYi9iaXRzdHJlYW0uYmluCitmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9FTUkyNikgKz0gZW1pMjYvbG9hZGVyLmZ3IGVtaTI2L2Zpcm13YXJlLmZ3IFwKKwkJCQkgIGVtaTI2L2JpdHN0cmVhbS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfRU1JNjIpICs9IGVtaTYyL2xvYWRlci5mdyBlbWk2Mi9iaXRzdHJlYW0uZncgXAorCQkJCSAgZW1pNjIvc3BkaWYuZncgZW1pNjIvbWlkaS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfS0FXRVRIKSArPSBrYXdldGgvbmV3X2NvZGUuYmluIGthd2V0aC90cmlnZ2VyX2NvZGUuYmluIFwKKwkJCQkgICBrYXdldGgvbmV3X2NvZGVfZml4LmJpbiBcCisJCQkJICAga2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluCitpZmRlZiBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMCitmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9NUFIpICs9IGtleXNwYW4vbXByLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOFgpICs9IGtleXNwYW4vdXNhMTh4LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOSkgKz0ga2V5c3Bhbi91c2ExOS5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMTlRSSkgKz0ga2V5c3Bhbi91c2ExOXFpLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0ExOVFXKSArPSBrZXlzcGFuL3VzYTE5cXcuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTE5VykgKz0ga2V5c3Bhbi91c2ExOXcuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4KSArPSBrZXlzcGFuL3VzYTI4LmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfS0VZU1BBTl9VU0EyOFhBKSArPSBrZXlzcGFuL3VzYTI4eGEuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1VTQTI4WEIpICs9IGtleXNwYW4vdXNhMjh4Yi5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBMjhYKSArPSBrZXlzcGFuL3VzYTI4eC5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXKSArPSBrZXlzcGFuL3VzYTQ5dy5mdworZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX0tFWVNQQU5fVVNBNDlXTEMpICs9IGtleXNwYW4vdXNhNDl3bGMuZncKK2Vsc2UKK2Z3LXNoaXBwZWQtIDo9IGtleXNwYW4vbXByLmZ3IGtleXNwYW4vdXNhMTh4LmZ3IGtleXNwYW4vdXNhMTkuZncJXAorCWtleXNwYW4vdXNhMTlxaS5mdyBrZXlzcGFuL3VzYTE5cXcuZncga2V5c3Bhbi91c2ExOXcuZncJCVwKKwlrZXlzcGFuL3VzYTI4LmZ3IGtleXNwYW4vdXNhMjh4YS5mdyBrZXlzcGFuL3VzYTI4eGIuZncJCVwKKwlrZXlzcGFuL3VzYTI4eC5mdyBrZXlzcGFuL3VzYTQ5dy5mdyBrZXlzcGFuL3VzYTQ5d2xjLmZ3CitlbmRpZgorZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX1RJKSArPSB0aV8zNDEwLmZ3IHRpXzUwNTIuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9FREdFUE9SVCkgKz0gZWRnZXBvcnQvYm9vdC5mdyBlZGdlcG9ydC9ib290Mi5mdyBcCisJCQkJCSAgICBlZGdlcG9ydC9kb3duLmZ3IGVkZ2Vwb3J0L2Rvd24yLmZ3Citmdy1zaGlwcGVkLSQoQ09ORklHX1VTQl9TRVJJQUxfRURHRVBPUlRfVEkpICs9IGVkZ2Vwb3J0L2Rvd24zLmJpbgorZnctc2hpcHBlZC0kKENPTkZJR19VU0JfU0VSSUFMX1dISVRFSEVBVCkgKz0gd2hpdGVoZWF0X2xvYWRlci5mdyB3aGl0ZWhlYXQuZncgXAorCQkJCQkgICAjIHdoaXRlaGVhdF9sb2FkZXJfZGVidWcuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9LRVlTUEFOX1BEQSkgKz0ga2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1NFUklBTF9YSVJDT00pICs9IGtleXNwYW5fcGRhL3hpcmNvbV9wZ3MuZncKK2Z3LXNoaXBwZWQtJChDT05GSUdfVVNCX1ZJQ0FNKSArPSB2aWNhbS9maXJtd2FyZS5mdworZnctc2hpcHBlZC0kKENPTkZJR19WSURFT19DUElBMikgKz0gY3BpYTIvc3R2MDY3Ml92cDQuYmluCisKK2Z3LXNoaXBwZWQtYWxsIDo9ICQoZnctc2hpcHBlZC15KSAkKGZ3LXNoaXBwZWQtbSkgJChmdy1zaGlwcGVkLSkKKworIyBEaXJlY3RvcmllcyB3aGljaCB3ZSBfbWlnaHRfIG5lZWQgdG8gY3JlYXRlLCBzbyB3ZSBoYXZlIGEgcnVsZSBmb3IgdGhlbS4KK2Zpcm13YXJlLWRpcnMgOj0gJChzb3J0ICQocGF0c3Vic3QgJSwkKG9ianRyZWUpLyQob2JqKS8lLywkKGRpciAkKGZ3LWV4dGVybmFsLXkpICQoZnctc2hpcHBlZC1hbGwpKSkpCisKK3F1aWV0X2NtZF9ta2RpciA9IE1LRElSICAgJChwYXRzdWJzdCAkKG9ianRyZWUpLyUsJSwkQCkKKyAgICAgIGNtZF9ta2RpciA9IG1rZGlyIC1wICRACisKK3F1aWV0X2NtZF9paGV4ICA9IElIRVggICAgJEAKKyAgICAgIGNtZF9paGV4ICA9ICQoT0JKQ09QWSkgLUlpaGV4IC1PYmluYXJ5ICQ8ICRACisKK3F1aWV0X2NtZF9paGV4MmZ3ICA9IElIRVgyRlcgJEAKKyAgICAgIGNtZF9paGV4MmZ3ICA9ICQob2JqdHJlZSkvJChvYmopL2loZXgyZncgJDwgJEAKKworcXVpZXRfY21kX2gxNnRvZncgID0gSDE2VE9GVyAkQAorICAgICAgY21kX2gxNnRvZncgID0gJChvYmp0cmVlKS8kKG9iaikvaWhleDJmdyAtdyAkPCAkQAorCitxdWlldF9jbWRfZndiaW4gPSBNS19GVyAgICRACisgICAgICBjbWRfZndiaW4gPSBGV05BTUU9IiQocGF0c3Vic3QgZmlybXdhcmUvJS5nZW4uUywlLCRAKSI7CQkgICAgIFwKKwkJICBGV1NUUj0iJChzdWJzdCAvLF8sJChzdWJzdCAuLF8sJChzdWJzdCAtLF8sJChwYXRzdWJzdAkgICAgIFwKKwkJCQlmaXJtd2FyZS8lLmdlbi5TLCUsJEApKSkpIjsJCSAgICAgXAorCQkgIEFTTV9XT1JEPSQoaWYgJChDT05GSUdfNjRCSVQpLC5xdWFkLC5sb25nKTsJCSAgICAgXAorCQkgIEFTTV9BTElHTj0kKGlmICQoQ09ORklHXzY0QklUKSwzLDIpOwkJCSAgICAgXAorCQkgIFBST0dCSVRTPSQoaWYgJChDT05GSUdfQVJNKSwlLEApcHJvZ2JpdHM7CQkgICAgIFwKKwkJICBlY2hvICIvKiBHZW5lcmF0ZWQgYnkgZmlybXdhcmUvTWFrZWZpbGUgKi8iCQk+ICRAO1wKKwkJICBlY2hvICIgICAgLnNlY3Rpb24gLnJvZGF0YSIJCQkJPj4kQDtcCisJCSAgZWNobyAiICAgIC5wMmFsaWduICQke0FTTV9BTElHTn0iCQkJPj4kQDtcCisJCSAgZWNobyAiX2Z3XyQke0ZXU1RSfV9iaW46IgkJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgLmluY2JpbiBcIiQoMilcIiIJCQkJPj4kQDtcCisJCSAgZWNobyAiX2Z3X2VuZDoiCQkJCQk+PiRAO1wKKwkJICBlY2hvICIgICAuc2VjdGlvbiAucm9kYXRhLnN0cixcImFNU1wiLCQke1BST0dCSVRTfSwxIgk+PiRAO1wKKwkJICBlY2hvICIgICAgLnAyYWxpZ24gJCR7QVNNX0FMSUdOfSIJCQk+PiRAO1wKKwkJICBlY2hvICJfZndfJCR7RldTVFJ9X25hbWU6IgkJCQk+PiRAO1wKKwkJICBlY2hvICIgICAgLnN0cmluZyBcIiQkRldOQU1FXCIiCQkJPj4kQDtcCisJCSAgZWNobyAiICAgIC5zZWN0aW9uIC5idWlsdGluX2Z3LFwiYVwiLCQke1BST0dCSVRTfSIJPj4kQDtcCisJCSAgZWNobyAiICAgIC5wMmFsaWduICQke0FTTV9BTElHTn0iCQkJPj4kQDtcCisJCSAgZWNobyAiICAgICQke0FTTV9XT1JEfSBfZndfJCR7RldTVFJ9X25hbWUiCQk+PiRAO1wKKwkJICBlY2hvICIgICAgJCR7QVNNX1dPUkR9IF9md18kJHtGV1NUUn1fYmluIgkJPj4kQDtcCisJCSAgZWNobyAiICAgICQke0FTTV9XT1JEfSBfZndfZW5kIC0gX2Z3XyQke0ZXU1RSfV9iaW4iCT4+JEA7CisKKyMgT25lIG9mIHRoZXNlIGZpbGVzIHdpbGwgY2hhbmdlLCBvciBjb21lIGludG8gZXhpc3RlbmNlLCB3aGVuZXZlcgorIyB0aGUgY29uZmlndXJhdGlvbiBjaGFuZ2VzIGJldHdlZW4gMzItYml0IGFuZCA2NC1iaXQuIFRoZSAuUyBmaWxlcworIyBuZWVkIHRvIGNoYW5nZSB3aGVuIHRoYXQgaGFwcGVucy4KK3dvcmRzaXplX2RlcHMgOj0gJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy82NGJpdC5oIGluY2x1ZGUvY29uZmlnLzMyYml0LmggXAorCQlpbmNsdWRlL2NvbmZpZy9wcGMzMi5oIGluY2x1ZGUvY29uZmlnL3BwYzY0LmggXAorCQlpbmNsdWRlL2NvbmZpZy9zdXBlcmgzMi5oIGluY2x1ZGUvY29uZmlnL3N1cGVyaDY0LmggXAorCQlpbmNsdWRlL2NvbmZpZy94ODZfMzIuaCBpbmNsdWRlL2NvbmZpZy94ODZfNjQuaCkKKworIyBXb3JrYXJvdW5kIGZvciBtYWtlIDwgMy44MSwgd2hlcmUgLlNFQ09OREVYUEFOU0lPTiBkb2Vzbid0IHdvcmsuCisjIEl0J2xsIGVuZCB1cCBkZXBlbmRpbmcgb24gdGhlc2UgdGFyZ2V0cywgc28gbWFrZSB0aGVtIGEgUEhPTlkgcnVsZSB3aGljaAorIyBkZXBlbmRzIG9uIF9hbGxfIHRoZSBkaXJlY3RvcmllcyBpbiAkKGZpcm13YXJlLWRpcnMpLCBhbmQgaXQnbGwgd29yayBvdXQgT0suCitQSE9OWSArPSAkKG9ianRyZWUpLyQkKCUpICQob2JqdHJlZSkvJChvYmopLyQkKCUpCiskKG9ianRyZWUpLyQkKCUpICQob2JqdHJlZSkvJChvYmopLyQkKCUpOiAkKGZpcm13YXJlLWRpcnMpCisJQHRydWUKKworIyBGb3IgdGhlICQkKGRpciAlKSB0cmljaywgd2hlcmUgd2UgbmVlZCAlIHRvIGJlIGV4cGFuZGVkIGZpcnN0LgorLlNFQ09OREVYUEFOU0lPTjoKKworJChwYXRzdWJzdCAlLCQob2JqKS8lLmdlbi5TLCAkKGZ3LXNoaXBwZWQteSkpOiAlOiAkKHdvcmRzaXplX2RlcHMpIFwKKwkJfCAkKG9ianRyZWUpLyQkKGRpciAlKQorCSQoY2FsbCBjbWQsZndiaW4sJChwYXRzdWJzdCAlLmdlbi5TLCUsJEApKQorJChwYXRzdWJzdCAlLCQob2JqKS8lLmdlbi5TLCAkKGZ3LWV4dGVybmFsLXkpKTogJTogJCh3b3Jkc2l6ZV9kZXBzKSBcCisJCWluY2x1ZGUvY29uZmlnL2V4dHJhL2Zpcm13YXJlL2Rpci5oIHwgJChvYmp0cmVlKS8kJChkaXIgJSkKKwkkKGNhbGwgY21kLGZ3YmluLCQoZndhYnMpLyQocGF0c3Vic3QgJChvYmopLyUuZ2VuLlMsJSwkQCkpCisKKyMgVGhlIC5vIGZpbGVzIGRlcGVuZCBvbiB0aGUgYmluYXJpZXMgZGlyZWN0bHk7IHRoZSAuUyBmaWxlcyBkb24ndC4KKyQocGF0c3Vic3QgJSwkKG9iaikvJS5nZW4ubywgJChmdy1zaGlwcGVkLXkpKTogJS5nZW4ubzogJQorJChwYXRzdWJzdCAlLCQob2JqKS8lLmdlbi5vLCAkKGZ3LWV4dGVybmFsLXkpKTogJChvYmopLyUuZ2VuLm86ICQoZndkaXIpLyUKKworIyAuaWhleCBpcyB1c2VkIGp1c3QgYXMgYSBzaW1wbGUgd2F5IHRvIGhvbGQgYmluYXJ5IGZpbGVzIGluIGEgc291cmNlIHRyZWUKKyMgd2hlcmUgYmluYXJpZXMgYXJlIGZyb3duZWQgdXBvbi4gVGhleSBhcmUgZGlyZWN0bHkgY29udmVydGVkIHdpdGggb2JqY29weS4KKyQob2JqKS8lOiAkKG9iaikvJS5paGV4IHwgJChvYmp0cmVlKS8kKG9iaikvJCQoZGlyICUpCisJJChjYWxsIGNtZCxpaGV4KQorCisjIC5IRVggaXMgYWxzbyBJbnRlbCBIRVgsIGJ1dCB3aGVyZSB0aGUgb2Zmc2V0IGFuZCBsZW5ndGggaW4gZWFjaCByZWNvcmQKKyMgaXMgYWN0dWFsbHkgbWVhbmluZ2Z1bCwgYmVjYXVzZSB0aGUgZmlybXdhcmUgaGFzIHRvIGJlIGxvYWRlZCBpbiBhIGNlcnRhaW4KKyMgb3JkZXIgcmF0aGVyIHRoYW4gYXMgYSBzaW5nbGUgYmluYXJ5IGJsb2IuIFRodXMsIHdlIGNvbnZlcnQgdGhlbSBpbnRvIG91cgorIyBtb3JlIGNvbXBhY3QgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXggcmVjb3JkcyAoPGxpbnV4L2loZXguaD4pCiskKG9iaikvJS5mdzogJChvYmopLyUuSEVYICQob2JqKS9paGV4MmZ3IHwgJChvYmp0cmVlKS8kKG9iaikvJCQoZGlyICUpCisJJChjYWxsIGNtZCxpaGV4MmZ3KQorCisjIC5IMTYgaXMgb3VyIG93biBtb2RpZmllZCBmb3JtIG9mIEludGVsIEhFWCwgd2l0aCAxNi1iaXQgbGVuZ3RoIGZvciByZWNvcmRzLgorJChvYmopLyUuZnc6ICQob2JqKS8lLkgxNiAkKG9iaikvaWhleDJmdyB8ICQob2JqdHJlZSkvJChvYmopLyQkKGRpciAlKQorCSQoY2FsbCBjbWQsaDE2dG9mdykKKworJChmaXJtd2FyZS1kaXJzKToKKwkkKGNhbGwgY21kLG1rZGlyKQorCitvYmoteQkJCQkgKz0gJChwYXRzdWJzdCAlLCUuZ2VuLm8sICQoZnctZXh0ZXJuYWwteSkpCitvYmotJChDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMKSArPSAkKHBhdHN1YnN0ICUsJS5nZW4ubywgJChmdy1zaGlwcGVkLXkpKQorCisjIFJlbW92ZSAuUyBmaWxlcyBhbmQgYmluYXJpZXMgY3JlYXRlZCBmcm9tIGloZXgKKyMgKGR1cmluZyAnbWFrZSBjbGVhbicgLmNvbmZpZyBpc24ndCBpbmNsdWRlZCBzbyB0aGV5J3JlIGFsbCBpbiAkKGZ3LXNoaXBwZWQtKSkKK3RhcmdldHMgOj0gJChmdy1zaGlwcGVkLSkgJChwYXRzdWJzdCAkKG9iaikvJSwlLCBcCisJCQkJJChzaGVsbCBmaW5kICQob2JqKSAtbmFtZSBcKi5nZW4uUyAyPi9kZXYvbnVsbCkpCisKKyMgV2l0aG91dCB0aGlzLCBidWlsdC1pbi5vIHdvbid0IGJlIGNyZWF0ZWQgd2hlbiBpdCdzIGVtcHR5LCBhbmQgdGhlCisjIGZpbmFsIHZtbGludXggbGluayB3aWxsIGZhaWwuCitvYmotbiA6PSBkdW1teQorCitob3N0cHJvZ3MteSA6PSBpaGV4MmZ3CmRpZmYgLS1naXQgYS9maXJtd2FyZS9XSEVOQ0UgYi9maXJtd2FyZS9XSEVOQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZjNTFiMgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL1dIRU5DRQpAQCAtMCwwICsxLDM0MSBAQAorICAgICAgICAgICAgICoqKioqKioqKioKKyAgICAgICAgICAgICAqIFdIRU5DRSAqCisgICAgICAgICAgICAgKioqKioqKioqKgorCitUaGlzIGZpbGUgYXR0ZW1wdHMgdG8gZG9jdW1lbnQgdGhlIG9yaWdpbiBhbmQgbGljZW5zaW5nIGluZm9ybWF0aW9uLAoraWYga25vd24sIGZvciBlYWNoIHBpZWNlIG9mIGZpcm13YXJlIGRpc3RyaWJ1dGVkIGZvciB1c2Ugd2l0aCB0aGUgTGludXgKK2tlcm5lbC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBrb3JnMTIxMiAtLSBLb3JnIDEyMTIgSU8gYXVkaW8gZGV2aWNlCisKK0ZpbGU6IGtvcmcvazEyMTIuZHNwCisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gYWxzYS1maXJtd2FyZSBwYWNrYWdlIGluIGhleCBmb3JtOyBubyBsaWNlbnNpbmcgaW5mb3JtYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogbWFlc3RybzMgLS0gRVNTIEFsbGVncm8gTWFlc3RybzMgYXVkaW8gZGV2aWNlCisKK0ZpbGU6IGVzcy9tYWVzdHJvM19hc3NwX2tlcm5lbC5mdworRmlsZTogZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdworCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGFsc2EtZmlybXdhcmUgcGFja2FnZSBpbiBoZXggZm9ybSB3aXRoIGEgY29tbWVudCBjbGFpbWluZyB0bworYmUgR1BMdjIrLCBidXQgd2l0aG91dCBzb3VyY2UgLS0gYW5kIHdpdGggYW5vdGhlciBjb21tZW50IHNheWluZyAiRVNTCitkcm9wcyBiaW5hcnkgZHNwIGNvZGUgaW1hZ2VzIG9uIG91ciBoZWFkcywgYnV0IHdlIGRvbid0IGdldCB0byBzZWUKK3NwZWNzIG9uIHRoZSBkc3AuIgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IHltZnBjaSAtLSBZYW1haGEgWU1GNzI0Lzc0MC83NDQvNzU0IGF1ZGlvIGRldmljZXMKKworRmlsZTogeWFtYWhhL2RzMV9jdHJsLmZ3CitGaWxlOiB5YW1haGEvZHMxX2RzcC5mdworRmlsZTogeWFtYWhhL2RzMWVfY3RybC5mdworCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGFsc2EtZmlybXdhcmUgcGFja2FnZSBpbiBoZXggZm9ybSwgd2l0aCB0aGUgZm9sbG93aW5nIGNvbW1lbnQ6CisgICBDb3B5cmlnaHQgKGMpIDE5OTctMTk5OSBZYW1haGEgQ29ycG9yYXRpb24uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogc21jdHIgLS0gU01DIElTQS9NQ0EgVG9rZW4gUmluZyBhZGFwdGVyCisKK0ZpbGU6IHRyX3NtY3RyLmJpbgorSW5mbzogTUNULkJJTiB2Ni4zQzEgMDMvMDEvOTUKKworT3JpZ2luYWwgbGljZW5jZSBpbmZvOgorCisgKiBUaGlzIGZpcm13YXJlIGlzIGxpY2Vuc2VkIHRvIHlvdSBzdHJpY3RseSBmb3IgdXNlIGluIGNvbmp1bmN0aW9uCisgKiB3aXRoIHRoZSB1c2Ugb2YgU01DIFRva2VuUmluZyBhZGFwdGVycy4gVGhlcmUgaXMgbm8gd2FyYW50eQorICogZXhwcmVzc2VkIG9yIGltcGxpZWQgYWJvdXQgaXRzIGZpdG5lc3MgZm9yIGFueSBwdXJwb3NlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGthd2V0aCAtLSBVU0IgS0xTSSBLTDVVU0IxMDEtYmFzZWQgRXRoZXJuZXQgZGV2aWNlCisKK0ZpbGU6IGthd2V0aC9uZXdfY29kZS5iaW4KK0ZpbGU6IGthd2V0aC9uZXdfY29kZV9maXguYmluCitGaWxlOiBrYXdldGgvdHJpZ2dlcl9jb2RlLmJpbgorRmlsZToga2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluCisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gaGV4IGZvcm0gaW4gdGhlIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogdHR1c2ItYnVkZ2V0IC0tIFRlY2hub3RyZW5kL0hhdXBwYXVnZSBOb3ZhLVVTQiBkZXZpY2VzCisKK0ZpbGU6IHR0dXNiLWJ1ZGdldC9kc3Bib290Y29kZS5iaW4KKworTGljZW5jZTogVW5rbm93bgorCitGb3VuZCBpbiBoZXggZm9ybSBpbiB0aGUga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBrZXlzcGFuIC0tIFVTQiBLZXlzcGFuIFVTQS14eHggc2VyaWFsIGRldmljZQorCitGaWxlOiBrZXlzcGFuL21wci5mdworRmlsZToga2V5c3Bhbi91c2ExOHguZncKK0ZpbGU6IGtleXNwYW4vdXNhMTkuZncKK0ZpbGU6IGtleXNwYW4vdXNhMTlxaS5mdworRmlsZToga2V5c3Bhbi91c2ExOXF3LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTE5dy5mdworRmlsZToga2V5c3Bhbi91c2EyOC5mdworRmlsZToga2V5c3Bhbi91c2EyOHhhLmZ3CitGaWxlOiBrZXlzcGFuL3VzYTI4eGIuZncKK0ZpbGU6IGtleXNwYW4vdXNhMjh4LmZ3CitGaWxlOiBrZXlzcGFuL3VzYTQ5dy5mdworRmlsZToga2V5c3Bhbi91c2E0OXdsYy5mdworCitDb252ZXJ0ZWQgZnJvbSBJbnRlbCBIRVggZmlsZXMsIHVzZWQgaW4gb3VyIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBpaGV4LgorCitPcmlnaW5hbCBsaWNlbmNlIGluZm9ybWF0aW9uOgorCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBrZXlzcGFuX3BkYSAtLSBVU0IgS2V5c3BhbiBQREEgc2luZ2xlLXBvcnQgc2VyaWFsIGRldmljZQorCitGaWxlOiBrZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5mdworU291cmNlOiBrZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5TCisKK0ZpbGU6IGtleXNwYW5fcGRhL3hpcmNvbV9wZ3MuZncKK1NvdXJjZToga2V5c3Bhbl9wZGEveGlyY29tX3Bncy5TCisKK0xpY2VuY2U6IEdQTHYyKworCitDb21waWxlZCBmcm9tIG9yaWdpbmFsIDgwNTEgc291cmNlIGludG8gSW50ZWwgSEVYLCB1c2VkIGluIG91ciBiaW5hcnkgaWhleCBmb3JtLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGVtaTI2IC0tIEVNSSAyfDYgVVNCIEF1ZGlvIGludGVyZmFjZQorCitGaWxlOiBlbWkyNi9iaXRzdHJlYW0uZncKK0luZm86IFZFUlNJT049MS4xLjEuMTMxIERBVEU9MjAwMWRlYzA2CisKK0ZpbGU6IGVtaTI2L2Zpcm13YXJlLmZ3CitJbmZvOiBWRVJTSU9OPTEuMC4yLjkxNiBEQVRFPTEyLjAyLjIwMDIKKworRmlsZTogZW1pMjYvbG9hZGVyLmZ3CisKK0NvbnZlcnRlZCBmcm9tIEludGVsIEhFWCBmaWxlcywgdXNlZCBpbiBvdXIgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXguCisKK09yaWdpbmFsIGxpY2VuY2UgaW5mb3JtYXRpb246CisvKgorICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQorICoKKyAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYworICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCisgKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAorICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bworICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorICogaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisgKiBpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorICoKKyAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQorICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgorICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAorICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KKyAqLworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IGVtaTYyIC0tIEVNSSA2fDJtIFVTQiBBdWRpbyBpbnRlcmZhY2UKKworRmlsZTogZW1pNjIvYml0c3RyZWFtLmZ3CitJbmZvOiBWRVJTSU9OPTEuMC4wLjE5MSBEQVRFPSAyMDAyb2N0MjgKKworRmlsZTogZW1pNjIvbG9hZGVyLmZ3CitTb3VyY2U6IEVNSUxPQUQuSEVYCitJbmZvOiBWRVJTSU9OPTEuMC4yLjAwMiBEQVRFPTEwLjAxLjIwMDIKKworRmlsZTogZW1pNjIvbWlkaS5mdworU291cmNlOiBFTUk2Mk1GVy5IRVgKK0luZm86IFZFUlNJT049MS4wNC4wNjIgREFURT0xNi4xMC4yMDAyCisKK0ZpbGU6IGVtaTYyL3NwZGlmLmZ3CitTb3VyY2U6IEVNSTYyU0ZXLkhFWAorSW5mbzogVkVSU0lPTj0xLjA0LjA2MiBEQVRFPTE2LjEwLjIwMDIKKworQ29udmVydGVkIGZyb20gSW50ZWwgSEVYIGZpbGVzLCB1c2VkIGluIG91ciBiaW5hcnkgcmVwcmVzZW50YXRpb24gb2YgaWhleC4KKworT3JpZ2luYWwgbGljZW5jZSBpbmZvcm1hdGlvbjogTm9uZQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEcml2ZXI6IHR1X3VzYl8zNDEwXzUwNTIgLS0gVVNCIFRJIDM0MTAvNTA1MiBzZXJpYWwgZGV2aWNlCisKK0ZpbGU6IHRpXzM0MTAuZncKK0luZm86IGZpcm13YXJlIDkvMTAvMDQgRlczNDEwX1NwZWNpYWxfU3RhcnRXZG9nT25TdGFydFBvcnQKKworRmlsZTogdGlfNTA1Mi5mdworSW5mbzogZmlybXdhcmUgOS8xOC8wNAorCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIrLCBidXQgbm8gc291cmNlIHZpc2libGUuIE1hcmtlZDoKKwkgQ29weXJpZ2h0IChDKSAyMDA0IFRleGFzIEluc3RydW1lbnRzCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogd2hpdGVoZWF0IC0tIFVTQiBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgc2VyaWFsIGRldmljZQorCitGaWxlOiB3aGl0ZWhlYXQuZncKK1ZlcnNpb246IDQuMDYKKworRmlsZTogd2hpdGVoZWF0X2xvYWRlci5mdworRmlsZTogd2hpdGVoZWF0X2xvYWRlcl9kZWJ1Zy5mdworCitMaWNlbmNlOiBBbGxlZ2VkbHkgR1BMdjIsIGJ1dCBubyBzb3VyY2UgdmlzaWJsZS4gTWFya2VkOgorCSBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiAgQ29ubmVjdFRlY2ggSW5jCisKK0RlYnVnIGxvYWRlciBjbGFpbXMgdGhlIGZvbGxvd2luZyBiZWhhdmlvdXI6CisJUG9ydCAxIExFRCBmbGFzaGVzIHdoZW4gdGhlIHZlbmRfYXggcHJvZ3JhbSBpcyBydW5uaW5nCisJUG9ydCAyIExFRCBmbGFzaGVzIHdoZW4gYW55IFNFVFVQIGNvbW1hbmQgYXJyaXZlcworCVBvcnQgMyBMRUQgZmxhc2hlcyB3aGVuIGFueSB2YWxpZCBWRU5ET1IgcmVxdWVzdCBvY2N1cnMKKwlQb3J0IDQgTEVEIGZsYXNoZXMgd2hlbiB0aGUgRVhURVJOQUwgUkFNIERPV05MT0FEIHJlcXVlc3Qgb2NjdXJzCisKK0NvbnZlcnRlZCBmcm9tIEludGVsIEhFWCBmaWxlcywgdXNlZCBpbiBvdXIgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXguCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogaXAyIC0tIENvbXB1dG9uZSBJbnRlbGxpUG9ydCBQbHVzIHNlcmlhbCBkZXZpY2UKKworRmlsZTogaW50ZWxsaXBvcnQyLmJpbgorCitMaWNlbmNlOiBVbmtub3duCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogQ1BpQTIgLS0gY2FtZXJhcyBiYXNlZCBvbiBWaXNpb24ncyBDUGlBMgorCitGaWxlOiBjcGlhMi9zdHYwNjcyX3ZwNC5iaW4KKworTGljZW5jZTogQWxsZWdlZGx5IEdQTHYyKywgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisJQ29weXJpZ2h0IChDKSAyMDAxIFNUTWljcm9lbGVjdHJvbmljcywgSW5jLgorCUNvbnRhY3Q6ICBzdGV2ZS5taWxsZXJAc3QuY29tCisJRGVzY3JpcHRpb246IFRoaXMgZmlsZSBjb250YWlucyBwYXRjaCBkYXRhIGZvciB0aGUgQ1BpQTIgKHN0djA2NzIpIFZQNC4KKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBEQUJVU0IgLS0gRGlnaXRhbCBBdWRpbyBCcm9hZGNhc3RpbmcgKERBQikgUmVjZWl2ZXIgZm9yIFVTQiBhbmQgTGludXgKKworRmlsZTogZGFidXNiL2Zpcm13YXJlLmZ3CitGaWxlOiBkYWJ1c2IvYml0c3RyZWFtLmJpbgorCitMaWNlbmNlOiBEaXN0cmlidXRhYmxlCisKKyAqIENvcHlyaWdodCAoQykgMTk5OSBCYXlDb20gR21iSAorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgcmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZQorICogY29kZSByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgY29tbWVudCB3aXRob3V0CisgKiBtb2RpZmljYXRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogVVNCX1ZJQ0FNIC0tIFVTQiAzY29tIEhvbWVDb25uZWN0IChha2EgdmljYW0pCisKK0ZpbGU6IHZpY2FtL2Zpcm13YXJlLmZ3CisKK0xpY2VuY2U6IFVua25vd24KKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBVU0JfU0VSSUFMX0VER0VQT1JUIC0gVVNCIEluc2lkZSBPdXQgRWRnZXBvcnQgU2VyaWFsIERyaXZlcgorCitGaWxlOiBlZGdlcG9ydC9ib290LmZ3CitGaWxlOiBlZGdlcG9ydC9ib290Mi5mdworRmlsZTogZWRnZXBvcnQvZG93bi5mdworRmlsZTogZWRnZXBvcnQvZG93bjIuZncKKworTGljZW5jZTogQWxsZWdlZGx5IEdQTHYyKywgYnV0IG5vIHNvdXJjZSB2aXNpYmxlLiBNYXJrZWQ6CisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworRm91bmQgaW4gaGV4IGZvcm0gaW4ga2VybmVsIHNvdXJjZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBVU0JfU0VSSUFMX0VER0VQT1JUX1RJIC0gVVNCIEluc2lkZSBPdXQgRWRnZXBvcnQgU2VyaWFsIERyaXZlcgorKFRJIERldmljZXMpCisKK0ZpbGU6IGVkZ2Vwb3J0L2Rvd24zLmJpbgorCitMaWNlbmNlOgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0IEJpbmFyeSBJbWFnZSAoZm9yIFRJIGJhc2VkIHByb2R1Y3RzKQorLy8qIEdlbmVyYXRlZCBieSBUSUJpbjJDIHYyLjAwICh3YXRjaHBvcnQpCisvLyogQ29weXJpZ2h0IChDKSAyMDAxIEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK0ZvdW5kIGluIGhleCBmb3JtIGluIGtlcm5lbCBzb3VyY2UuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RyaXZlcjogQVRBUklfRFNQNTZLIC0gQXRhcmkgRFNQNTZrIHN1cHBvcnQKKworRmlsZTogZHNwNTZrL2Jvb3RzdHJhcC5iaW4KK1NvdXJjZTogZHNwNTZrL2Jvb3RzdHJhcC5hc20KKworTGljZW5jZTogR1BMdjIgb3IgbGF0ZXIKKworRFNQNTYwMDEgYXNzZW1ibGVyLCBwb3NzaWJseSBidWlsZGFibGUgd2l0aCBhNTYgZnJvbSAKK2h0dHA6Ly93d3cuemRvbWFpbi5jb20vYTU2Lmh0bWwKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworRHJpdmVyOiBTTkRfU0IxNl9DU1AgLSBTb3VuZCBCbGFzdGVyIDE2L0FXRSBDU1Agc3VwcG9ydAorCitGaWxlOiBzYjE2L211bGF3X21haW4uY3NwCitGaWxlOiBzYjE2L2FsYXdfbWFpbi5jc3AKK0ZpbGU6IHNiMTYvaW1hX2FkcGNtX2luaXQuY3NwCitGaWxlOiBzYjE2L2ltYV9hZHBjbV9wbGF5YmFjay5jc3AKK0ZpbGU6IHNiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwCisKK0xpY2VuY2U6IEFsbGVnZWRseSBHUEx2MissIGJ1dCBubyBzb3VyY2UgdmlzaWJsZS4gTWFya2VkOgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLworCitGb3VuZCBpbiBoZXggZm9ybSBpbiBrZXJuZWwgc291cmNlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvYXRtc2FyMTEuSEVYIGIvZmlybXdhcmUvYXRtc2FyMTEuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZGRjMTkKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9hdG1zYXIxMS5IRVgKQEAgLTAsMCArMSwyMDQgQEAKKzowNDAwMDAwMEEwRDBGMDAwOUMKKzoyQzAwODAwMDQwMUE2ODAwMDAwMDAwMDAzMzVCMDA3QzEzNjAwMDA1MzM1QjEwMDAzQzFBQTBDMDM3NUEwMTgwMDM0MDAwMDgwMDAwMDAwMDE3NjBGRkZCMzM1QjQwMDAyMAorOjJDMDBBQzAwNDAxQTcwMDAxMzYwMDAwMzI0MUIwRkMwQUY5QjQ1MDAyNTA4MDAwODAzNDAwMDA4NDIwMDAwMTA4RjgxMEM5MDMyMjIwMDAyMTA0MDAwMDMzQzAzQTBEMTc0Cis6MkMwMEQ4MDAyNDYzRjgxMDAwNjBGODA5MjQyMTAwMDExMDAwMDAxQUFGODEwQzkwODIwMjAwMTFBRjkwMEM0ODA0NDEwMDBBMzQ0MjAwODA5NjdEMDAwMjk2MDIwMDEyQTQKKzoyQzAxMDQwMDAwMDAwMDAwMTA1RDAwMTEwMDAwMDAwMDA0MTEwMTYxQTY2MjAwMDIxMDAwMDAwREFFNjIwMDBDMzQ4NDgwMDBBMjAyMDAxMTREMDFGRkZGMDAwMDAwMDA1RQorOjJDMDEzMDAwOEY4MzRDMDAwMDAwMDAwMEFGODMwRkVDMDBFMEY4MDkwM0UwMzgyMTAwMDQxNDAwMDQ0MEZGRjcwMDAwMDAwMEFGODA0NjBDOEUxMDAwMDg0RDAxRkZGRjM2Cis6MkMwMTVDMDAwMDAwMDAwMDhGODM0QzAwNDkwMDAwMURBRjgzMEZFQzhGODIwQ0JDOEY5RDBDNEMyNDQyMDAwMTk3QkUwMDAwQUY4MjBDQkMxM0MwMDAwOUFDQTIwMEQ4NzIKKzoyQzAxODgwMEE3QTAwMDAwM0MwMTAwRDEwMDNFMDgyNTk0MjIwMDJDMDQxMTAxM0ZBNDIyMDAwMkFDMjIwMDBDQUMyMDAwMTA4RjlFMEM1NDI3QkQwMDAyMTdCRTAwMDI4QworOjJDMDFCNDAwOENBMjAwQzA4RjlEMEM1MDhGOTcwRkM4QUY5RDBDNEMxMkUyMDAwNTg3ODA0MDAyM0MwMkEwRDEyNDQyRjk0QzAwNDBGODA5MDAwMDAwMDAwMEUwRjgwOTRBCis6MkMwMUUwMDAwM0UwMzgyMTQ1MDBGRkRDOEUxMTAwMEMzQzEzMDBEMTAwMTExMTAyMkM0MzA0MDAxMDYwRkZCOTAwMDIxMTgwMDI2Mjk4MjE4RTc2MDAzQzMyMjIwMDA4QzEKKzoyQzAyMEMwMDE0NDBGRkI3OEU3NzAwMzQ4RTc1MDAzMDNDMDNDRkIwMTZDMDAwMDMwMkQ1MTAyQjA0MTEwMEJFMDAwMDAwMDAxMDQwRkZBNjAwNzAxODI2NEQwMUZGRkZFNQorOjJDMDIzODAwMDAwMDAwMDA4RjgyNEMwMEFGOTc0QzAwQUY4MjBGRUNBQzc2MDAxMDAyNjA5MDIxMzIyMjAwMDIxMDQwMDAwNzhGOTQ0QTAwOTYwMjAwM0EzNDg0MDAwNDkyCis6MkMwMjY0MDAxNDQwMDAwM0FGODIwRkJDM0MwMjkwMDBBRjgyMEZCQzhFMTAwMDA4MzI5NDNGMDA4RTExMDAwQzI2OTRGRjAwMTI4MDAwNzMzQzEzMDBEMTQ5MDEwMDcxNjIKKzoyQzAyOTAwMDMyMzcwMDA4MTZFMDAwNkYwMDExMTEwMjJDNDMwNDAwMTA2MDAwNkMwMDAyQjk4MDAwMDQxNzQwMDQ0MDAwM0EwMjc3OTgyMTEyNzIwMDIzMjZENjAwMzBFMAorOjJDMDJCQzAwQUU1NjAwM0M4RTc2MDAzQzhFNzcwMDM0OEU3NTAwMzAzQzAzQ0ZCMDE2QzAwMDAzMDJENTEwMkIwNDExMDA5MTAwMDAwMDAwMTA0MDAwNjAyRTgyMTAwMDZCCis6MkMwMkU4MDAxNDQwMDAwOTAwNzAxODI2NEQwMUZGRkYwMDAwMDAwMDhGODI0QzAwQUY5NzRDMDBBQzc2MDAxMEFFNDIwMDM0MTAwMEZGRDBBRjgwNDYwQzAwRTBGODA5MEQKKzoyQzAzMTQwMDAzRTAzODIxM0MwM0NGQjAwMDcwMTgyNkFFNDYwMDM0NEQwMUZGRkYwMDAwMDAwMDhGODI0QzAwQUY5NzRDMDBBRjgyMEZFQ0FDNzYwMDEwMTAwMEZGQzM4MgorOjJDMDM0MDAwQUY4MDQ2MEMwMkQ1MTAyQjEwNDAwMDQyM0MxN0NGQjAyRTgyMTAwMDE0NDAwMDA2MDJGMEI4MjY0RDAxRkZGRjAwMDAwMDAwQUVGNjAwMTAxMDAwRkZCOEU5Cis6MkMwMzZDMDBBRjgwNDYwQzAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwOEY4MjRDMDBBRjg2NEMwMEFFRjYwMDEwQUY4MjBGRUMxMDAwRkZBRUFGODA0NjBDN0YKKzoyQzAzOTgwMDMwODRGRkZCOEU1NzAwMzgzMjQyRkZDMDAwMDIxMTgyQTc4MjBGQjhBRjk3MEZCNDg2NUQwMDJBODY1RTAwMDhBNzlEMEZCQTI3OUQwRjE4MzNERTAwNjA0QgorOjJDMDNDNDAwMDNCRUU4MjEwMDFFRjBDMjAzQkVFODIxOEY5NzBDNTg0RDAxRkZGRjAwMDAwMDAwOEY4MzRDMDA4RkEyMDAxQzEyRTMwMDAzM0MwMzBDNDAzQzFFQzAwMDhCCis6MkMwM0YwMDBBRjlFMEZCQ0FDNjIwRkI0OEZBMzAwMTgyNDQyMDAwQzE0NDMwMDAyQUY4MDQ2MEM4RkEyMDAxNEFFNDAwMDNDQUZBMjAwMUM4RTc2MDAzQzhFNzcwMDM0MEQKKzoyQzA0MUMwMDhFNzUwMDMwM0MwM0NGQjAxNkMwMDAwMzAyRDUxMDJCMDQxMTAwM0MwMDAwMDAwMDAwNzAxODI2NEQwMUZGRkYwMDAwMDAwMEFDQTUwMEU0MTA0MDAwMzJENgorOjJDMDQ0ODAwQUY5NzRDMDAxMDAwRkY3RkFDNzYwMDEwMDAwNDE3NDAwNDQwMDAwNzI2RDYwMDMwQUU1NjAwM0MwMEUwRjgwOTAzRTAzODIxQUY4MDQ2MEMxMDAwRkYzOTNFCis6MkMwNDc0MDBBRTQ2MDAzNDhFNTcwMDM4MzI0MkZGQzAwMDAyMTE4MkE3ODIwRkI4QUY5NzBGQjQ4Rjk3MEM1ODAwRTBGODA5MDNFMDM4MjExMkU2MDAwMzNDMDMwQzQwMjkKKzoyQzA0QTAwMDNDMDJDMDAwQUY4MjBGQkM4NjVEMDAyQTg2NUUwMDA4QTc5RDBGQkEyNzlEMEYxODMzREUwMDYwMDNCRUU4MjEwMDFFRjBDMjAzQkVFODIxOEZBMjAwMUMyMworOjJDMDRDQzAwNEQwMUZGRkYwMDAwMDAwMDhGOTc0QzAwQUM2MjBGQjQzMDg0RkZGQjhGQTMwMDE4MjQ0MjAwMEMxNDQzMDAwMkFGODA0NjBDOEZBMjAwMTRBRTQwMDAzQ0MyCis6MkMwNEY4MDBBRkEyMDAxQzREMDFGRkZGMDAwMDAwMDBBQ0E1MDBFNDEwMDBGRjEzQUY5NzRDMDAwMEUwRjgwOTAzRTAzODIxMTAwMEZGMEYwMDAwMDAwMDEwNDAwMDVCNTAKKzoyQzA1MjQwMDg2N0UwMDA4Mjc5RDBGMTgzM0RFMDA2MDAzQkVFODIxMDAxRTEwQzIwM0EyRTgyMThGQjcwMDA4OEZBMjAwMEM4RUY2MDAwNDEyRTIwMDI4ODY2MjAwMDhCQworOjJDMDU1MDAwODIwMzAwMTAwMDAyMTc0MDA0NDEwMDE5MjQ2MzAwMDExMDYwMDAxNzNDMDJEMUIwMDA1MDEwMjY0RDAxRkZGRjAwMDAwMDAwOEY5RTRDMDBBQzU2MDAxMDA4Cis6MkMwNTdDMDAyNkQ2RkZGRTg2MDIwMDEwM0MwM0NGQjAzNDYzMjAwMEE2NjIwMDJBOEVFMjAwMDAyNkY3MDAwOEFFNjIwMDM4OEZBMjAwMjBBRkI3MDAwODI0MTdGRkZGNDYKKzoyQzA1QTgwMDAyQzJBODIxNEQwMUZGRkYwMDAwMDAwMEFGOUU0QzAwMDNFMDAwMDhBRTc1MDAzMDhFRTIwMDAwMjZGNzAwMDhBRTYyMDAzODhGQTIwMDIwQUZCNzAwMDhEQgorOjJDMDVENDAwMjQxN0ZGRkZBNjc3MDAyQTAyQzJBODIxM0MwM0NGQjAwM0UwMDAwOEFFNzUwMDMwMDAxRTE4QzIwMDY1MTgyMThDNjMwMEM4OEZBMjAwMTAwMDAwMDAwMDY0Cis6MkMwNjAwMDAwMDYyQjAyMzFFQzAwMDAzOEZBMTAwMDQxMkMwMDAxQjAwMjJCMDIzMkVDMzAwNDExNDYwMDAwMjNDMTUwMDQwMjQxNjAwNDAwMDE2MUU4MDAwMDMxODgyOUUKKzoyQzA2MkMwMDAwNzUxODI1NEQwMUZGRkYwMDAwMDAwMDhGOTU0QzAwMDAxRUI4NDAwMDc3MTgyMUFDNjI0RDAwMDA1NjEwMjExNDQxMDAwMjI3ODMwRDAwOEZBMjAwMDA0RAorOjJDMDY1ODAwMDJFM0I4MjFBRkEyMDAxMDAyRDcxODIxQUZBMzAwMEM0RDAxRkZGRjAwMDAwMDAwOEVGNjAwMDQxMDAwRkZCNUFGOTU0QzAwM0MxNkRFQURBRTc2MDAzQzgyCis6MkMwNjg0MDBBRTYwMDAzODI2RDVGRkZGMDAwMDEwMjEwM0UwMDAwOEFFNzUwMDMwMkM0MzBBQjIxMDYwMDAwNTJDNDMyNEIyMTAwMDAwMDQyNDAyMEFCMjEwMDAwMDAyQUYKKzoyQzA2QjAwMDI0MDIyNEIxMTA2MEZGRkQzMDQzMDFGRjAwMDMxODQwM0MxREEwRDEyN0JERDZDQzAwN0QxODIxOTQ2MzAwMDAwMDAyRUE0MjAwMDMxQzAwMjdCREZGRkJDMQorOjJDMDZEQzAwMDNFMDAwMDgwM0EzMTAwNjI0MDMwRkMwQUY4MzQ1MDAxMDAwMDAwMjAxMjA2MDIxM0MwQ0NGQjAxMUUwMDA1NjAxODk2MDI2ODVGRTAwMDAwMDAwMDAwMDg5Cis6MkMwNzA4MDAxM0MwMDA0NzNDMDJDRkIwMDdDMDAwMkQwMDFFMUY4MDA0NjEwMDM0MDAxRTFGQzAwNDYwMDAwOTNDMDJEM0IwMDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMTAKKzoyQzA3MzQwMDAwMDAwMDAwOEY4NjRDMDA4Rjk5MEZFQzEwMDAwMDBCQUY5OTRDMDAwMUUyNzgyNjAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwOEY4NjRDMDAxQgorOjJDMDc2MDAwQUY5OTRDMDBBREVGMjAxMDNDMDJEM0IwMDFFMjc4MjY4RjgyMEZDMDhGODMwRkM0QUY4MjREMDA4REUyMDAwNEE1RTAwMDAwQUM2MjAwMDA4QzYyMDAwMDk0Cis6MkMwNzhDMDAyNDAyMDM4MEFGODI0RDAwOEY4MjREMDA4RjgyMEYxNDI0NjMwMDA0MTQ2MjAwMDIyNDE5RkZGRjhGODMwRjEwQUNBNTAwRTRBRjgzMEZDNDREMDFGRkZGOTMKKzoyQzA3QjgwMDAwMDAwMDAwOEY4MjRDODAxMDAwMDAxRkFERTIwMDNDMDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDBBNUUwMDAwMDhGODY0QzAwMTU4MDAwMjIzOAorOjJDMDdFNDAwQUY4RjQ1NDAxMDAwMDAxNzAxRTI3ODI2MDBFMEY4MDkwM0UwMzgyMTREMDFGRkZGMDAwMDAwMDA4Rjg2NEMwMEFGOTk0QzAwQURFRjIwMTAzQzAyQ0ZCMDk3Cis6MkMwODEwMDAwMUUyNzgyNkE1RTAwMDAwNEQwMUZGRkYwMDAwMDAwMDEwMDAwMDA3OEY5OTRDMDAwMEUwRjgwOTAzRTAzODIxNEQwMUZGRkYwMDAwMDAwMDhGODY0QzAwMTUKKzoyQzA4M0MwMDhGOTkwRkVDMTU4MDAwMEFBRjhGNDUwMDAwMDA3ODIxMTAwMDAwMTRBRjE5MDAxNDAwRTBGODA5MDNFMDM4MjE0RDAxRkZGRjAwMDAwMDAwMTE4MEZGRjhDMQorOjJDMDg2ODAwOEY4NjRDMDA4NTIyMDAwMDAxMjA3ODIxMDQ0MDAwMEE4RDI5MDAwODEzMEIwMDA0MDAwQzE2MDJBRjE5MDAxNDhENzkwMDE0MDE2MEMwMjFBRjk5NEMwMDg0Cis6MkMwODk0MDBBRDhFNDAxMDMwNDIwMDNGMDFDMjcwMjEwMDA0MTc4MDA0NDAwMThCOEY4MjRBMDAzMDgxODAwMDMwNDIwMDA0MTQ0MEZGOEQ4RDRCMDAwMDEwMjAwMDBDNDcKKzoyQzA4QzAwMDMwODQ3RkZGOEY4MjBDNDgwMTIwRjAyMTI0NDMwMDM0OEM1RDAwMEMyNDQyMDAwNEFGREQwMDBDMTQ2MkZGRkMyN0RFMDAwNEE1MjEwMDAwMTAwMEZGODJFMAorOjJDMDhFQzAwMjUwODAwMDgxMTYwMDA1ODAwMDAwMDAwODU3RDAwMDg4RDYzMDAwQzk1NjIwMDBBOEQ0MTAwMDQwN0ExMDAyNjAwNjIxODIxQTU2MzAwMEEwMDAzMUMwMjZECis6MkMwOTE4MDAwNDExMDFBMDAwMDMxOEMwMDAxRDE2QzAwNDQxMDAxRjI3QTIwMDgwMDAwMjFDQzAwNDYxMDAwRTAwNDBFODIxMjdCRDAwODA5NTYyMDAwMDk1NjMwMDAyOTMKKzoyQzA5NDQwMDM0NDIwMDBDQUQyMjAwMEMyNDAyMDEwMEE1MjIwMDEwOTU2MjAwMkNBNTIzMDAxNEE1MjIwMDEyQTUyMDAwMTYzNDAyODAwMEE1MjIwMDAwQTU3RDAwMDhEMgorOjJDMDk3MDAwMDdBMDAwMEM4RjgyMEM0QzhGODMwQzUwMjQ0MUZGRTgwMDIzRjAyQjEzQzAwMDAyMDAyMDEwMjEyNDQyMDQwMDk0NUUwMDAwMjQ0MUZGRkUxN0MwRkZGOTk0Cis6MkMwOTlDMDBBRDYyMDAxMEE0NEIwMDAwMTQyQjAwMUNBRDQwMDAwMEFENDAwMDA0MjU0QTAwMDgzMTQyMDA3RjE0NDAwMDBFMDAwNDE3ODAwNDQxMDAwMzhGODIwRkUwM0EKKzoyQzA5QzgwMDEwMDAwMDA2MzQ4NDAwMDEzNDg0MDAwMjI0NDIwMDA4MzQ0MjEwMDAzODQyMTAwMEFGODIwRkUwMzU0QTAxMDAzOTRBMDEwMDM5NDIwMDgwQUY4MjBGRTRCOQorOjJDMDlGNDAwMDAxRDE0QzAwNDQxMDAwMzMzQTJFRkZGMTAwMEZGM0NBNTYyMDAwODA3QTAwMDlGMzNBMkZGRkUxMDAwMDAyMUE1NjIwMDA4OEQ2MjAwMjQwMDFEMUNDMDFECis6MkMwQTIwMDAwNDYxMDAwNEFENDIwMDAwMzNBM0VGRkYxMDAwRkYzMUE1NjMwMDA4MDdBMDAwMDUzM0EzRkZGRUE1NjMwMDA4OEQ0QjAwMDAxMDAwRkZBQTAwMDAwMDAwMUUKKzoyQzBBNEMwMDEwMDAwMDhFMjUwODAwMDgyNTRBMDAwODMxNDIwMDdGMTQ0MDAwMEUwMDA0MTc4MDA0NDEwMDAzOEY4MjBGRTAxMDAwMDAwNjM0ODQwMDAxMzQ4NDAwMDI3NAorOjJDMEE3ODAwMjQ0MjAwMDgzNDQyMTAwMDM4NDIxMDAwQUY4MjBGRTAzNTRBMDEwMDM5NEEwMTAwMzk0MjAwODBBRjgyMEZFNDExMDAwMDAzOEQ0QjAwMDAxMDAwRkY5MzAzCis6MkMwQUE0MDAyNTA4RkZGODhGODIwRkQ4OEY4MzBGREM4RjgxMEZENDEwNjIwMDFEMjQ2MjAwMDg0RDAxRkZGRjAwMDAwMDAwOEY4QzRDMDA4NDdGMDAwMDNDMUUwMEQxMUMKKzoyQzBBRDAwMDMzRkQwM0ZGMDAxRDU5ODAwMTdFNTgyMTg1N0UwMDA4MDAxREU5MDAwMDFFMEYwMDAzRTFGODI1MDdFMDAwMDNBRjgyMEZEQzg3OUUwQ0EwMjc4QjBDOTg2RQorOjJDMEFGQzAwMDdDMTAwNDIzQzAyMDg0MDNDMDFGN0IwOEQ2MjAwMjAwMDIzMDgyNkFDMjIwMDAwOEM2MjAwMDQ5NDYzMDAwMjI0NDJGRkY4MDA0MzEwMjExMDAwMDA0RTEyCis6MkMwQjI4MDBBRDYyMDAyMDhGODIwRkQwODc4MzBDQTAxNDIyMDAwNzI3OEIwQzk4NDEwMDAwNTEzQzAxODAwMEFDQTEwMEUwOENBMTAwQzQwMDAwMDAwMDEwMjIwMDRDNEUKKzoyQzBCNTQwMDAwMjJFODIzOEY5RjBGMEMwN0ExMDAwMkFGODEwRkQ0MDNFMkU4MjMyRkEzMDA0MTE0NjAwMDAyM0MxRTAwNDAyNDFEMDA0MDAwMUQxRTgwMDAwMzE4ODI1NgorOjJDMEI4MDAwMDA3RTE4MjU0RDAxRkZGRjAwMDAwMDAwOEY4QzRDMDBBQzYyNENDMDAwNUQxMDIxMTQ1RjAwMDIyNzgzMENDMDhGODIwRjA4MDNBM0YwMjFBRjgyMEZEMDU5Cis6MkMwQkFDMDBBRjlFMEZEODREMDFGRkZGMDAwMDAwMDAxMDAwRkZDMzI0NjIwMDA4OEQ2MzAwMEM4RDdEMDAxMEE1NjMwMDBBMTNBMDAwMDIwMDAzMUMwMkE3QTAwMDAwRjgKKzoyQzBCRDgwMDAwMDMxOEMwMDQxMTAwRUYwMDY4MTgyMTREMDFGRkZGMDAwMDAwMDA4RjgyMEM0NDhGODMwQzQwQUQ2MjAwMTBBNTYzMDAwNEE1NjMwMDA2MTAwMDAwMjFGQworOjJDMEMwNDAwQUY4QzRDMDBBNTdEMDAwMDhDN0QwMDA0OTQ2MzAwMDJBQzVENEM0MDI3QTIwMDA4QUQ2MjAwMTgwM0EzRTgyMTI3QkRGRkY0QUQ3RDAwMUMyN0JEMDAwNEQ0Cis6MkMwQzMwMDBBRDdEMDAyMDM3QzE4MDAxMDAxRTE3QzAwNDQxRkZFMEE1NjEwMDA4NEQwMUZGRkYwMDAwMDAwMDhGODIwQzQ0OEY4MzBDNDBBRDYyMDAxMEE1NjMwMDA0NzgKKzoyQzBDNUMwMEE1NjMwMDA2OEY4MjBGRDg4RjgzMEZEQzREMDFGRkZGMDAwMDAwMDAxNDYyRkY5NTI0NjIwMDA4QUY4QzRDMDA4NzgzMENBMDI3OEIwQzk4MDQ2MUZFOTdGOAorOjJDMEM4ODAwMDAwNDE3MDAwNDQwMDAwNTk1NjIwMDAwMTE3ODAwMDYwMDAwMDAwMEFGMEUwMDEwQTcwRDAwMDQzMDg0RkZGNzk1NkQwMDA0OEQ2RTAwMTAyNUFERkZEMDc1Cis6MkMwQ0I0MDAwNUExRkU4RkFEMjIwMDBDM0MwQ0ZGQjAwMTg5NjAyNjAwMEQxODIyMjVBRDAwMzA4RDdFMDAxODhENjEwMDFDNEQwMUZGRkYwMDAwMDAwMDEwM0UwMDM2QjkKKzoyQzBDRTAwMDhGOUQ0QzAwM0MwMTA4NDBBQzNFNEM0MDI3REUwMDA4MTFBMDAwMTdBRDdFMDAxODAwMERGNjAwMDE5RTYwMjU0RDAxRkZGRjAwMDAwMDAwQUQ4RTQwMTA1RgorOjJDMEQwQzAwOEY4RDBDNDA5NTdFMDAwNjhGOEUwQzQ0MDNDREYwMjFBNTdFMDAwNjAwMENGNzgyMDAwQzBFMDIwM0MxRjAyMTAwMUUwRjgwMDAwQzYyMDAwMDBDNjIwMkMyCis6MkMwRDM4MDAwMTgxNjAyNTMzREUwMDNDMDE5RTYwMjEzNDAxMDAwMTEwMDAwMDA4QTUyMTAwMDA5NTdFMDAwNjREMDFGRkZGMDAwMDAwMDA4RjhEMEM0MDhGOEUwQzQ0Q0QKKzoyQzBENjQwMDAzQ0RGMDIxQTU3RTAwMDY0RDAxRkZGRjAwMDAwMDAwMDFBM0YwMkIxN0MwMDAwODAwMDNGNjAwMDFBMzY4MjMwMTlFNjAyNTAxODk2MDI2NEQwMUZGRjdDRgorOjJDMEQ5MDAwMDAwMDAwMDAxMDAwRkU1OEFGOUQ0QzAwOEQ3RTAwMTg4RDYxMDAxQzAwMDAwMDAwMTQzRUZGQ0UwMDZEMTgyMzREMDFGRkZGMDAwMDAwMDAyQzYxMDAwODY0Cis6MkMwREJDMDAxMDIwMDAxNzk1NjEwMDA4MDAwMDAwMDAwMDAxRkY4MDA3RTAwMDBCMzQyMTAwMDIwMDZEMTgyMTAwMDMxRTAwMDE4MzYwMjUwMTg5NjAyNjI0MEQwMDJDQzAKKzoyQzBERTgwMEE1NjEwMDA4NEQwMUZGRkYwMDAwMDAwMDEwMDBGRTQwQUY5RDRDMDAzQzFGMEM0MEFGRkU0RkE4MzAyMUZGRkRBNTYxMDAwODNDMENEM0NGMzU4Q0UwMDA2RQorOjJDMEUxNDAwMTAwMDAwMDgzNDAzMDAwMjNDMUYwQzQwQUZGRTRGQTgxMUEwRkZGOTAwMERGNjAwMzQwMzAwMDMwMTlFNjAyNTAxODk2MDI2MzQ4NDAwMDgzNDQyMDAwMkM0Cis6MkMwRTQwMDBBRDIyMDAwQzk1NjIwMDA2QTUyMzAwMDBBRDIyMDAzODREMDFGRkZGMDAwMDAwMDA4NTdFMDAwODhGODIwRkE4OTc4MzBGQUNBRDIyMDAwNDMzQzE3RkZGQTYKKzoyQzBFNkMwMEFENjAwMDEwQTU2MTAwMDgxMDYwRkUyMEFGOUQ0QzAwQTU3RTAwMDgwMDAzMTkwMDMwNjMzRkYwQTU2MzAwMDA4RjgyMEZCMDNDMDMwODQwQUM2MjRDNDAwNworOjJDMEU5ODAwMjQ0MzAwMDhBRDYzMDAxODk3ODMwRkFFMjQ0MkZGRjQwMDYyMTgyMUFENjMwMDFDNEQwMUZGRkYwMDAwMDAwMDhGOEQwQzQwOEY4MzBDNDRBNTZEMDAwNDc0Cis6MkMwRUM0MDBBNTZEMDAwNkFENjMwMDEwMTAwMEZFMEFBRjlENEMwMDhGODIwRkUwMDAwNDBGQzA4QzQzMDAwMDA0MjEwMDFCOEY5RjBGRTQ4QzVEMDAwNEFDNDAwMDA0M0EKKzoyQzBFRjAwMDEwNjAwMDBFQUM0MDAwMDAwMDAwMDAwMDk0NjIwMDI4MDAwMDAwMDAwMDVGMTAyMDhDNDEwMDA0MDAwMDAwMDAxMDIwMDAwM0FDNDMwMDA0MTAwMDAwMDJCNgorOjJDMEYxQzAwQUMyMzAwMjRBQzQzMDAwMDE3QTNGRkY0OEM2MzAwMjQ4RjgyMEZFMDNCRkYwMDgwMjQ0MjAwMDgzNDQyMTAwMDM4NDIxMDAwQUY4MjBGRTBBRjlGMEZFNDZFCis6MkMwRjQ4MDAxMDAwRkU1NzMwODRGRkZFMTA2MDAwMTAwMDAwMDAwMDk0N0QwMDI4MDAwMDAwMDAwM0JGRTgyMDhGQTEwMDA0QUZBMzAwMDQxMDIwMDAwMzhDNUUwMDA0MzkKKzoyQzBGNzQwMDEwMDAwMDAyQUMyMzAwMjRBRkEzMDAwMDhDNjEwMDI0MTdDM0ZFNDhBQzQxMDAwMEFDNDAwMDA0QUM0MDAwMDAxMDAwRkU0NDMwODRGRkZEMkM2MjAxMDA2RgorOjJDMEZBMDAwMTQ0MDAwMEUwMDZBMTAyMTMxNDMwMDdGMDE0MzE4MjMwMDQzMTgyMzMwNjIwMDdGQTU2MjAwMjgwMDYyMTgyMzAwMDMxOTAyOEY4MjBGRTAyNDYzRkZGOEJGCis6MkMwRkNDMDAwMDYyMTgyMTM0NjMxMDAwMTAwMDAwMDMzODYzMTAwMDM0NDMwMTAwMzg2MzAxMDA4QzYyMDAwNDAwMDAwMDAwMTA0MDAwMDNBQzZCMDAwNDAzRTAwMDA4OUEKKzowQzBGRjgwMEFDNEIwMDI0MDNFMDAwMDhBQzZCMDAwMEQwCis6MDIwMDAwMDRBMEQwOEEKKzoyQ0Q1MDAwMDAwMDAwMDAyQTBEMEUwMDAwMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDYwMDAwMDAwODAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMkEwRDBENjQ4MDAwMDAwMDBGNworOjJDRDUyQzAwMDAwMDA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0MzEzMjAwMjQzMTMyMDAyNDMxMzIwMDAwMDAwMDAwMjQ0RDQzNTIyNDIwNDM2RkIyCis6MkNENTU4MDA3MDc5NzI2OTY3Njg3NDIwMjg2MzI5MjA0RDYxNjQ2NzY1MjA0RTY1NzQ3NzZGNzI2QjczMjA0Qzc0NjQyMDMxMzkzOTM1MkUyMDQxNkM2QzIwNzI2OTY3NEMKKzoyQ0Q1ODQwMDY4NzQ3MzIwNzI2NTczNjU3Mjc2NjU2NDJFMDA0RDYxNjQ2NzY1MjA0MTZENjI2MTczNzM2MTY0NkY3MjIwNzYzMTJFMzAzMTAwMDAwMDAwMDAwMDAwMDEyQworOjJDRDVCMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MkNENURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoyQ0Q2MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjBDRDYzNDAwMDAwMDAwMDBGRkYwNDAwMDAwMDAwMDAwQkIKKzoyQ0YwMDAwMDBDMzQzRTJEMDAwMDAwMDAzQzFDQTBEMTI3OUM1NjM4M0MxREEwRDEyN0JEREZEMDNDMDhBMEQxMjUwOERGRDBBRjg3ODAwODBDMzQzQzEzMDAwMDAwMDBFNAorOjJDRjAyQzAwMjQwNDAwMDMwMDk3MDAwRDNDMDhCRkMwMzUwODAyMzA4RDA4MDAwMDAwMDAwMDAwMDEwMDAwMDgwMDAwMDAwMDI3QkRGRkQwQUZCRjAwMUNBRkIxMDAxODY0Cis6MkNGMDU4MDBBRkIwMDAxNDNDMTFGRkYwMDAwMDgwMjEzQzE4MDA1NjM3MTgzQjc5MjYxOTAyMDAxNzIwMDAwMjAzMTkwMDFBMDAwNzAwMEQyNDAxRkZGRjE3MjEwMDA1NkIKKzoyQ0YwODQwMDAwMDAwMDAwM0MwMTgwMDAxNzAxMDAwMjAwMDAwMDAwMDAwNjAwMEQwMDAwMTAxMjAwMTAxODQwM0MwNUEwRDEyNEE1RDZDQzAwQTMyMDIxQTQ4MjAwMDBDNQorOjJDRjBCMDAwMjYxMDAwMDEyQTAxMDIwMDE0MjBGRkVBMDAwMDAwMDAzQzA2QTBEMTI0QzZGOUU0M0MwN0EwRDEyNEU3RDY0OEFDRTYwMDAwM0MwOEEwRDEyNTA4RkIxNEQ5Cis6MkNGMERDMDBBQ0U4MDAwNDNDMDlBMEQxMjUyOUZDOTRBQ0U5MDAwODNDMEFBMEQxMjU0QUZDRDRBQ0VBMDAwQzNDMEJBMEQxMjU2QkZCQThBQ0VCMDAxMDNDMENBMEQxNUMKKzoyQ0YxMDgwMDI1OENGQkM0QUNFQzAwMTQzQzBEQTBEMTI1QURGQkUwQUNFRDAwMTgzQzBFQTBEMTI1Q0VGQkZDQUNFRTAwMUMzQzBGQTBEMTI1RUZGQzE4QUNFRjAwMjBBRAorOjJDRjEzNDAwM0MxOEEwRDEyNzE4RkMzNEFDRjgwMDI0M0MxOUEwRDEyNzM5RkM1MEFDRjkwMDI4M0MwMkEwRDEyNDQyRkM2MEFDRTIwMDJDM0MwM0EwRDEyNDYzRkM3MEE2Cis6MkNGMTYwMDBBQ0UzMDAzMDNDMDRBMEQxMjQ4NEZDODBBQ0U0MDAzNDNDMDVBMEQxMjRBNUZDQjRBQ0U1MDAzODNDMDZBMEQxMjRDNkZFMDhBQ0U2MDAzQzNDMDhBMEQxMTEKKzoyQ0YxOEMwMDI1MDhGRTkwQUNFODAwNDAzQzA5QTBEMTI1MjlGQTM4QUNFOTAwNDQzQzBBQTBEMTI1NEFGQTc0QUNFQTAwNDgyNDEwMDAxMzNDMEJBMEQxMjU2QkY5RDhFNworOjJDRjFCODAwMDAxMDYwODAzQzBFQTBEMTI1Q0VENjQ4MDFDQzY4MjFBREFCMDAwMDI2MTAwMDAxMkEwMTAwMjAxNDIwRkZGNjAwMDAwMDAwOEY5ODgwMDAwMDAwMDAwMDZGCis6MkNGMUU0MDBBRjAwMDEwMDhGODI4MDAwMjQxOTAzRkZBNDU5MDIwMjAwMDA4MDIxOEY4NjgwMDAyNDAzMEZGRjAwMTAyMDQwMjRDNzAzODAwMEU0MjgyMUE0QTMwMDAwQzEKKzoyQ0YyMTAwMDI2MTAwMDAxMkEwMTAwMDgxNDIwRkZGNzAwMDAwMDAwOEY4OTgwMDAzNDA4OUM0MEFEMjgwM0EwOEY4QjgwMDAzQzBBMDBGRjM1NEFGRkZGQUQ2QTAzQTRGQworOjJDRjIzQzAwMDAwMDgwMjE4RjhGODAwMDI0MEMwRkZGMDAxMDY4NDAyNUY4MDMwMDAzMEQ3MDIxQTVDQzAwMDAyNjEwMDAwMTJBMDEwMDA4MTQyMEZGRjcwMDAwMDAwMEFCCis6MkNGMjY4MDA4RjgyODAwMDM0MTk5QzQwQUM1OTAzMjA4Rjg0ODAwMDNDMDMwMEZGMzQ2M0ZGRkZBQzgzMDMyNDhGODY4MDAwMjQwNTAyRkZBNEM1MDIwMjNDMDhBMEMwMEMKKzoyQ0YyOTQwMDM1MDgwMTgwM0MwOUEwRDEyNTI5RDVCODI1MEEwMDI4OEQwQjAwMDA4RDBDMDAwNEFEMkIwMDAwQUQyQzAwMDQyNTA4MDAwODE1MEFGRkZBMjUyOTAwMDgxQgorOjJDRjJDMDAwNDAwMjYwMDAwMDAwMDAwMEFGQTIwMDI4MjQwMzAwMjIzQzA0QTBFMDM0ODQwMDE0QUM4MzAwMDA4RkE1MDAyODAwMDAwMDAwMzRBNjEwMDEwMEMwMTAyMUNCCis6MkNGMkVDMDBBRkE2MDAyODNDMDdGRkJGMzRFN0ZGRkYwMEM3MzgyNDAwRTAxMDIxQUZBNzAwMjg0MDg3NjAwMDAwMDAwMDAwM0MwODAwMDIzNTA4RDg5MDNDMDlGRkZFNTkKKzoyQ0YzMTgwMDM1MjkwMTMwQUQyODAwMDA4RkFBMDAyODNDMEJGMDAwMDE0QjU4MjUwMTYwMTAyMUFGQUIwMDI4MDE2MDYwMjE0MDhDNjAwMDAwMDAwMDAwMDAwMDgwMjE0MQorOjJDRjM0NDAwMDAxMDcwODAwMjJFNzgyMUFERTAwMDAwMjYxMDAwMDEyQTAxMDQwMDE0MjBGRkZBMDAwMDAwMDAyNDE4MDAwMTNDMTlBMEU4QUYzODAwMDAyNDAyMDAxMTdDCis6MkNGMzcwMDAzQzAzQTBGMDM0NjMwMDE3QTA2MjAwMDAzQzA0RjBFQjM0ODQwMDcwM0MwNUZGRjAzNEE1NEEwMEFDQTQwMDAwM0MwNkZDRUIzNEM2MDA3MEFDQTYwMDAwMjcKKzoyQ0YzOUMwMDNDMDdGRkYwMzRFNzQ3MDBBQ0UwMDAwMDAwMDA4MDIxM0MwOEZGRjAzNTA4MEZDMDNDMDlGRkYwMzUyOTQ1MDBBRDI4MDAwMDI2MTAwMDAxMkEwMTAwMDQzMworOjJDRjNDODAwMTQyMEZGRjgwMDAwMDAwMDAwMDA4MDIxM0MwQURFQUQwMDEwNTk4MDNDMDEwMEQxMDAyQjA4MjFBQzJBMDAzQzNDMDEwMEQxMDAyQjA4MjFBQzIwMDAzMEMxCis6MkNGM0Y0MDAzQzAxMDBEMTAwMkIwODIxQUMyMDAwMzgyNDBERkZGRjNDMDEwMEQxMDAyQjA4MjFBQzJEMDAxNDAwMTA3MTAwM0MwMTAwRDEwMDJCMDgyMUE0MkUwMDAwNTQKKzoyQ0Y0MjAwMDNDMDEwMEQxMDAyQjA4MjFBNDIwMDAwNDI0MTgwMDIwM0MwMTAwRDEwMDJCMDgyMUE0MzgwMDA4M0MwMTAwRDEwMDJCMDgyMUFDMjAwMDEwMjYxMDAwMDE3RgorOjJDRjQ0QzAwMkEwMTA0MDAxNDIwRkZFMDAwMDAwMDAwMDAwMDgwMjEwMDEwMThDMDNDMDVBMEQxMjRBNUUwMDAwMEEzMjAyMUFDODAwMDAwM0MwN0EwRDEyNEU3RTAwMEJGCis6MkNGNDc4MDAyNEU4MDAwNDAxMDMzMDIxQUNDMDAwMDAyNjEwMDAwMTJBMDEwMDA5MTQyMEZGRjMwMDAwMDAwMDI0MDkwMzgwM0MwQUZGRjAzNTRBNEQwMEFENDkwMDAwNUYKKzoyQ0Y0QTQwMDNDMENBMDgwMzU4QzAwOUNBRDgwMDAwMDNDMERBMDgwMzVBRDAwQTBBREEwMDAwMDNDMEUxMTAwM0MwRkEwODAzNUVGMDBBOEFERUUwMDAwNDEwMTAwMDNBMAorOjJDRjREMDAwMDAwMDAwMDA0MTAwRkZGRjAwMDAwMDAwM0MxOEEwODAzNzE4MDBFMDhGMTkwMDAwM0MwMUEwRDFBQzM5RDZDODBDMzQzRDQzMDMyMDIwMjE4RkIwMDAxNERFCis6MkNGNEZDMDA4RkJGMDAxQzhGQjEwMDE4MDNFMDAwMDgyN0JEMDAzMDAwODBCODIxM0MxQ0ZGRjBBMzgwMEM4NEEzODAwQzg4OEY5MDQ0MDAwMDAwMjAyMUFGODAwQ0JDN0UKKzoyQ0Y1MjgwMDI0MDIwMEE4Mjc4MzBGMDAyQzVEMDA0MDE3QTAwMDBDM0MxREZGQjAwM0EzRTgyNkFGQjc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQwMUZGRkZGNgorOjJDRjU1NDAwMDAwMDAwMDAyNDQyRkZDMDI0NjMwMDQwMTAwMEZGRjMyNkY3MDA0MDEwNDAwMDBEMDAwMDAwMDAwMDAyRUUwMDNDMDEwMDQwMDNBMUU4MjUzQzAxRkZGMDk5Cis6MkNGNTgwMDAwM0ExRTgyNjAzQTNFODI2QUZCNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RDAxRkZGRjAwMDAwMDAwM0MwNUEwODA4RjgyMEYwODAwMDAwMDAwN0UKKzoyQ0Y1QUMwMEFGODIwRkQ0QUY4MjBGRDBBQ0EyMDBDNDhGODIwRjEwMDAwMDAwMDAwMDAyMUQ4MkFGODMwRkMwMDAwMzFEODAwMDQzMTAyMzNDMDFBMDgwMDA0MTEwMjU0MgorOjJDRjVEODAwQUY4MjBGQzRBRjgyMEYxMDhGODIwRjE0MDAwMDAwMDAwMDQzMTAyMzNDMDFBMDgwMDA0MTEwMjVBRjgyMEYxNDI0MDMwMDAzMjc5RDBGMTgyNEJFMDBDODIzCis6MkNGNjA0MDAyNzgxMEQwMDhGQTIwMDAwMDAwMDAwMDBBRkEyMDAxMEFGQzIwMDAwQUZBMTAwMDhBRkExMDAwQzhGQTIwMDE0MDAwMDAwMDBBRkEyMDAxQzI3QkQwMDI0QjQKKzoyQ0Y2MzAwMDI3REUwMDA0MjQyMTAwNDAxNDYwRkZGMzI0NjNGRkZGOEY4MjBGMDAwMDAwMDAwMEFGODIwRkM4QUNBMjAwQzAyNzgyMDgwMDI0MDMwMDBGQUM0MDAwMDAyQworOjJDRjY1QzAwMjQ0MjAwMDQxNDYwRkZGRDI0NjNGRkZGOEY4MzBGQzAwMDAwMDAwMEFGODM0RDAwOEY4MzREMDA4RjgzMEYxNDhGODIwRjEwMjQ2M0ZGRkNBQzQwMDAwMDkxCis6MkNGNjg4MDAxNDQzRkZGRTI0NDIwMDA0MjQwMjAzODBBRjgyNEQwMDI3OUQwRjE4MjdBMTAwOTA4RkEyMDAxNDhGQTMwMDE4MDAwMDAwMDAwMDYyMTgyMzJDN0YwMDQwMTcKKzoyQ0Y2QjQwMDE3RTAwMDA5M0MxRjAwNDAzN0ZGMDgwMDAzQTBGMDIxNEQwMUZGRkYwMDAwMDAwMEFGRTIwMDAwMjQ0MjAwNDAxMDAwRkZGNjI0NjNGRkMwMTA2MDAwMDY1OQorOjJDRjZFMDAwMzdGRjA4MDAwMDAzMUUwMDAzRTNGODI1NEQwMUZGRkYwMDAwMDAwMEFGRTIwMDAwMjdCRDAwMjQxN0ExRkZFODAwMDAwMDAwMDAwMDM4MjE4RkMyMDAxNDVBCis6MkNGNzBDMDA4RkMzMDAxODAwMDAwMDAwMDA2MjE4MjMyQzdGMDA0MDEzRTAwMDA0M0MxRjAwNDAwMDAzMEUwMDEwMDAwMDAyMDNFMUY4MjUyNDAzMDA0MDM3RkYwODAwODQKKzoyQ0Y3MzgwMDI0MUUwM0U3MDAwMDA4MjE0RDAxRkZGRjAwMDAwMDAwQUZFMjAwMDAwMDIzMDgyMTQ5MDBGRkZCMDAwMDAwMDA4NzgwNDAwMjE3QzBGRkY4MjdERUZGRkZDQQorOjJDRjc2NDAwMTRFMDAwMDQzNEU3NDAwMDAzRTdGODI1MTAwMEZGRjBBRjgxMEM2MEFGODEwQzVDM0MwMUEwRDE4QzIyRDZDODAwMDAwMDAwM0MwMUEwODBBQzIyMDBFMEU3Cis6MkNGNzkwMDAzQzAxQTA4MDhDMjAwMEUwQUY4MDBGQjRBNzgwMEZCOEE3ODAwRkJBQTc4MDBGQkNBNzgwMEZCRTI3ODIwQ0MwQUY4MjBGRENBRjgyMEZEODNDMDJBMEQxNTYKKzoyQ0Y3QkMwMDI0NDJEQUNDQUY4MjBDNENBRjgyMEM1MDI0NDIwNDAwQUY4MjBDNTQyNDAyMDAxRTNDMDNGRkYwMjQ3RDAwNDBBQzdEMDAwODAzQTAxODIxMTQ0MEZGRkM1NQorOjJDRjdFODAwMjQ0MkZGRkYzQzFERkZGMEFDN0QwMDA4M0MwMkM3MDQzNDQyREQ3QkFGODIwQzU4M0MwNzAwMDAyNEU3MDE1ODA4MzQzRkE5MDAwMDAwMDA4RTYyMDAzOEI5Cis6MkNGODE0MDAwMDAwMDAwMDE0NDAwMDA1OEY4MzBDOTQxMkEwMDAyMjI0NjMwMDAxMTAwMDAwMjBBRjgzMEM5NEFGODIwRkI0MzI2MkZGQzAwMDAyMTE4Mjg2NjMwMDJBNzAKKzoyQ0Y4NDAwMEE3ODIwRkI4M0MwMkEwMDBBRjgyMEZCQ0E3ODMwRkJBODY3RTAwMDgyNzlEMEYxODMzREUwMDYwMDNCRUU4MjEwMDFFRjBDMjAzQkVFODIxOEZBMjAwMUNDNgorOjJDRjg2QzAwM0MwMzBDNDA0RDAxRkZGRjAwMDAwMDAwOEY5NzRDMDBBQzYyMEZCNDhGQTMwMDE4MjQ0MjAwMEMxNDQzMDAwMzAwMDAwMDAwOEZBMjAwMTQwMDAwMDAwMEZCCis6MkNGODk4MDBBRkEyMDAxQzREMDFGRkZGMDAwMDAwMDBBQ0E1MDBFNEFGOTc0QzAwMDNFMDAwMDhBRTYwMDAzQzNDMERBMEQxMjVBREQ1MDAxMUEwMDAyMTAwMDAwMDAwNUMKKzoyQ0Y4QzQwMDhEQTkwMDAwMDAwMDAwMDAxMTIwMDAxRDAwMDAwMDAwOERBQTAwMDQ4REFCMDAwODhEQUMwMDBDMDAwOTQ3NDAwNTAxMDAwNDAwMDAwMDAwM0MwOEEwRDE4NQorOjJDRjhGMDAwMjUwOEQ2MzgwMTQ4NTAyMTAwMDk0NzgwMDUwMTAwMDcwMDAwMDAwMDExODAwMDBEMDAwMDAwMDBBRDQwMDAwMDI1NEEwMDA0MTAwMEZGRkIyNThDRkZGQzY2Cis6MkNGOTFDMDAxMTgwMDAwNzAwMDAwMDAwOEQ2RTAwMDAyNTZCMDAwNEFENEUwMDAwMjU0QTAwMDQxMDAwRkZGOTI1OENGRkZDMTAwMEZGRTEyNUFEMDAxMDAzRTAwMDA4QjkKKzoyQ0Y5NDgwMDAwMDAwMDAwM0MwMjEwNDBBQzU3NEZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQwMUZGRkYwMDAwMDAwMDhGODIwRkZDMDAwMDAwMDA1QgorOjJDRjk3NDAwMzA0MjAwMUYwMDAyMTA4MDNDMTdBMEQxMDJFMkI4MjEyNkY3RDY0ODhFRjcwMDAwMDAwMDAwMDAwMkUwMDAwODAwMDAwMDAwMjQwMkZGRkZBRjgyMEZGQ0I5Cis6MkNGOUEwMDA4Rjk3MEZDODNDMDIxMDQwQUM1NzBGRjA4RjgyMEYwNDI2RjcwMDEwMTZFMjAwMDRBRjk3MEZDODhGOTcwRjAwMDAwMDAwMDBBRjk3MEZDODREMDFGRkZGQTYKKzoyQ0Y5Q0MwMDAwMDAwMDAwMDNFMDAwMDgwMDAwMDAwMDNDMUZBMEQxMjdGRkYwMkMxMDAwRkZFRDhGOTcwRkYwM0MwMjAwRDEzMkY3MDNGRjAwMTdCOTgwMDJFMkI4MjVBQQorOjJDRjlGODAwQUVFMDAwM0MyNDAyRkZGRkFFRTIwMDMwQUVFMjAwMTQ5NzgzMEZGNDk3ODIwRkY4M0MxRDAwMDAyN0JEMDY5OEE2RTMwMDA4QTZFMjAwMDJBRjlGMEZFODE5Cis6MkNGQTI0MDAwM0EwRjgwOUE2RTIwMDJDOEY5RjBGRTgxMDAwRkZEOUFFRTIwMDBDOEY5NzBGRjAzQzAyMDBEMTMyRjcwM0ZGMDAxN0I5ODAwMkUyQjgyNTk3ODIwRkY0MjkKKzoyQ0ZBNTAwMDNDMDMwMDAwMjQ2MzA2OThBNkUyMDAwMkFGOUYwRkU4MDA2MEY4MDlBNkUyMDAyQzhGOUYwRkU4MTAwMEZGQ0FBRUUyMDAwQzhGOTcwRkYwM0MwMjAwRDE3NAorOjJDRkE3QzAwMzJGNzAzRkYwMDE3Qjk4MDAyRTJCODI1OTc4MjBGRjQwMDAwMDAwMDk2RTMwMDA4QTZFMjAwMDgwMDQzMTAyNjMwNDIwMDYwMTA0MEZGQkQ4RUUyMDAzQ0YyCis6MkNGQUE4MDBBRUUwMDAzQzEwNDBGRkJBM0MwMjg4MDBBRjgyMEZCQzhFRTIwMDM4QUVFMDAwMzgzMDYzMDA2MDI3OUQwRjE4MDNBM0U4MjEwMDAzMThDMjAzQTNFODIxMTYKKzoyQ0ZBRDQwMDhGQTMwMDFDMTA0MEZGQUZBRjgyMEZCNDNDMDIwQzQwQUM0MzBGQjQ4RkEyMDAxODI0NjMwMDBDMTQ0MzAwMDMwMDAwMDAwMDhGQTMwMDE0MDAwMDAwMDAwRQorOjJDRkIwMDAwQUZBMzAwMUM0RDAxRkZGRjAwMDAwMDAwMTAwMEZGQTIwMDAwMDAwMDhGOTcwRkYwM0MwMjAwRDFBNzk3MEZCODAwMTdCOTgwMzJGN0ZGQzAwMkUyQjgyMTQwCis6MkNGQjJDMDBBRUUwMDAzMDNDMDJERUFEOEVFMzAwM0NBRUUyMDAzQzhFRTIwMDM4MTA2MEZGOTVBRUUwMDAzODNDMDM4ODAwQUY4MzBGQkM4NkUzMDAwODI3OTcwRjE4MjEKKzoyQ0ZCNTgwMDMwNjMwMDYwMDJFM0I4MjEwMDAzMThDMjAyRTNCODIxOEVFMzAwMUMxMDQwRkY4QUFGODIwRkI0M0MwMjBDNDBBQzQzMEZCNDhFRTIwMDE4MjQ2MzAwMEM4NAorOjJDRkI4NDAwMTQ0MzAwMDMwMDAwMDAwMDhFRTMwMDE0MDAwMDAwMDBBRUUzMDAxQzREMDFGRkZGMDAwMDAwMDAxMDAwRkY3RDAwMDAwMDAwOEY4MjBGRjA4Rjk3MEZGNEI4Cis6MkNGQkIwMDA5MDQxMDAwMDAwMDAwMDAwMDAzNzA4MjUxMDAwRkY3NkEwNDEwMDAwOEY4MjBGRjA4Rjk3MEZGNDk0NDEwMDAwMDAwMDAwMDAwMDM3MDgyNTEwMDBGRjZGOUUKKzoyQ0ZCREMwMEE0NDEwMDAwOEY4MjBGRjA4Rjk3MEZGNDhDNDEwMDAwMDAwMDAwMDAwMDM3MDgyNTEwMDBGRjY4QUM0MTAwMDA4RjgyMEZGMDhGOTcwRkY0OTA0MTAwMDA0MAorOjJDRkMwODAwMDJFMEI4MjcwMDM3MDgyNDEwMDBGRjYxQTA0MTAwMDA4RjgyMEZGMDhGOTcwRkY0OTQ0MTAwMDAwMkUwQjgyNzAwMzcwODI0MTAwMEZGNUFBNDQxMDAwMERCCis6MkNGQzM0MDA4RjgyMEZGMDhGOTcwRkY0OEM0MTAwMDAwMkUwQjgyNzAwMzcwODI0MTAwMEZGNTNBQzQxMDAwMDhGODIwRkYwOEY5NzBGRjQxMDAwRkY0RkEwNTcwMDAwOUQKKzoyQ0ZDNjAwMDhGODIwRkYwOEY5NzBGRjQxMDAwRkY0QkE0NTcwMDAwOEY4MjBGRjA4Rjk3MEZGNDEwMDBGRjQ3QUM1NzAwMDA4RjgyMEZGMDAwMDAwMDAwOEM0MjAwMDA3QQorOjJDRkM4QzAwMTAwMEZGNDJBRjgyMEZGNDNDMDFBMEMyOEMyMkMwMDAwMDAwMDAwMEFGODIwRkYwM0MwMUEwQzI4QzIyQzAwNDEwMDBGRjNBQUY4MjBGRjQzQzAxQTBEMTRFCis6MkNGQ0I4MDA4QzIyRDVBQzAwMDAwMDAwQUY4MjBGRjAzQzAxQTBEMThDMjJENUIwMTAwMEZGMzJBRjgyMEZGNDNDMDJBMEYwQUM0MDAwMDA5MDU3MDE1MzAwMDAwMDAwNzYKKzoyQ0ZDRTQwMEEzOTcwQzgwOTA1NzAxNTcwMDAwMDAwMEEzOTcwQzgxOTA1NzAxNUIwMDAwMDAwMEEzOTcwQzg3OTA1NzAxNUYwMDAwMDAwMEEzOTcwQzg2OTA1NzAxNjNCQQorOjJDRkQxMDAwMDAwMDAwMDAzMkY3MDAwN0EzOTcwQzg1OTA1NzAxOTMwMDAwMDAwMEEzOTcwQzhCOTA1NzAxOTcwMDAwMDAwMEEzOTcwQzhBOTA1NzAxOUIwMDAwMDAwMEFFCis6MkNGRDNDMDAzMkY3MDAwN0EzOTcwQzg5OTA1NzAwMEIwMDAwMDAwMDMyRjcwMEUwMDAxNzA5NDI5MDU3MDA0NzAwMDAwMDAwMzJGNzAwNzgwMDM3MDgyNTkwNTcwMDY3QkUKKzoyQ0ZENjgwMDAwMDAwMDAwMzJGNzAwMEYwMDE3QjlDMDAwMzcwODI1OTA1NzAwQzcwMDAwMDAwMDMyRjcwMDJGMDAxN0JBQzAwMDM3MDgyNTkwNTcwMTQ3MDAwMDAwMDAxOQorOjJDRkQ5NDAwMzJGNzAwMUUwMDE3QkMwMDAwMzcwODI1OTA1NzAxODMwMDAwMDAwMDMyRjcwMDYwMDAxN0JDMDAwMDM3MDgyNUFGODEwQzhDM0MwMjE4NDA4Rjk3MEZDODNGCis6MkNGREMwMDAwMDAwMDAwMDhGOTcwRkYwMDAwMDAwMDBBQzU3MEM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDREMDFGRkZGMTcKKzoyQ0ZERUMwMDAwMDAwMDAwM0MwMkEwRDEyNDQyRjk5OEFGODAwQzkwQUY4MDBDOTQwMDQwMDAwODAwMDAwMDAwODc5NzBGRjAzQzEzMDBEMUE2NzcwMDA4M0MwMzAwMDBDMgorOjJDRkUxODAwMjQ2MzA1MjBBRjlGMEZFODAwNjBGODA5MjQwMjAwMDE4RjlGMEZFODEwNDBGRURBOTc5NzBGRjAyNzgzMEYxODAwNzcxODIxMDAxN0I4QzIwMkUzQjgyMUZCCis6MkNGRTQ0MDAzQzAyODgwMEFGODIwRkJDOEU2MjAwMzhBNzgwMEZCOEFGODIwRkI0OEVFMzAwMUMzQzAyMEM0MEFDNDMwRkI0OEVFMjAwMTgyNDYzMDAwQzE0NDMwMDA0ODcKKzoyQ0ZFNzAwMEFFRTMwMDFDOEVFMzAwMTQwMDAwMDAwMEFFRTMwMDFDNEQwMUZGRkYwMDAwMDAwMDEwMDBGRkRGMDAwMDAwMDA4RjgyMEM1QzhGODMwQzYwQUY4MjBGRjAyNgorOjJDRkU5QzAwMTAwMEZFQkVBRjgzMEZGNDIzODkwODAwMDEyMDE4MjEyNDAyMDAwRjIwNkMwMDQwQUM2QzAwMDgwMTgwMTgyMTE0NDBGRkZDMjA0MkZGRkZBQzY5MDAwODg0Cis6MkNGRUM4MDAyNzhCMEM5OEE1NjAwMDAwMjQwM0ZGRkZBRDYzMDAxNDM0MDIwMDAxMzQ0MjAwMjBBNTYyMDAwODI3OEEwRTAwMDE0MDEwMjEwMDAwMTgyMUFDNDAwMDAwMzgKKzoyQ0ZFRjQwMDI0NjMwMDA0MkM2QzAxMDAxNTgwRkZGQzI0NDIwMDA0M0MwMkEwRDEyNDQyRTAwMEFGODIwRkUwM0MxODAwRDEwMTIwNjAyMTAwMDA2ODIxMDAwMDc4MjFDNgorOjI4RkYyMDAwMDAwMDU4MjEwMDAwNDAyMTQwMDI2MDAwMDAwMDAwMDAzNDQyNDAwMTQwODI2MDAwM0MwMjAwMDAyNDQyMDZGODAwNDAwMDA4MDAwMDAwMDA3QQorOjAwMDAwMDAxRkYKKy8qCisgIE1hZGdlIEFtYmFzc2Fkb3IgQVRNIEFkYXB0ZXIgbWljcm9jb2RlLgorICBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OSAgTWFkZ2UgTmV0d29ya3MgTHRkLgorCisgIFRoaXMgbWljcm9jb2RlIGRhdGEgaXMgcGxhY2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwKKyAgUHVibGljIExpY2Vuc2UuIFRoZSBHUEwgaXMgY29udGFpbmVkIGluIC91c3IvZG9jL2NvcHlyaWdodC9HUEwgb24gYQorICBEZWJpYW4gc3lzdGVtIGFuZCBpbiB0aGUgZmlsZSBDT1BZSU5HIGluIHRoZSBMaW51eCBrZXJuZWwgc291cmNlLgorCisgIFdlIHdvdWxkIHByZWZlciB5b3Ugbm90IHRvIGRpc3RyaWJ1dGUgbW9kaWZpZWQgdmVyc2lvbnMgd2l0aG91dAorICBjb25zdWx0YXRpb24gYW5kIG5vdCB0byBhc2sgZm9yIGFzc2VtYmx5L290aGVyIG1pY3JvY29kZSBzb3VyY2UuCisqLworCitGaXJzdCByZWNvcmQgaXMgc3RhcnQgYWRkcmVzcyBpbiBhIF9fYmUzMi4KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2NwaWEyL3N0djA2NzJfdnA0LmJpbi5paGV4IGIvZmlybXdhcmUvY3BpYTIvc3R2MDY3Ml92cDQuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQwYjljZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2NwaWEyL3N0djA2NzJfdnA0LmJpbi5paGV4CkBAIC0wLDAgKzEsNzMgQEAKKzoxMDAwMDAwMDAxQkNFMzAyRTMwM0UzMDRFMzA1RTMwNkUzMDc5MzQ0RUYKKzoxMDAwMTAwMDU2RDQ5MzRFNTY1MTkzNEU1MUQ2OTM0RTRGNTQ5MzRFQzEKKzoxMDAwMjAwMDkyNEY5MkE0OTMwNTkyRjQ5MzFCOTI5MjkxRTY5MjM2OEEKKzoxMDAwMzAwMDkyNzQ5MjRBOTI4QzkyOEVDOEQwMEI0MjAyQTBDQTkyQkQKKzoxMDAwNDAwMDA5MDJDOTEwMEEwQTBBODFFM0I4RTNCMEUzQThFM0EwRjEKKzoxMDAwNTAwMEUzOThFMzkwRTEwMENGRDcwQTEyQ0M5NTA4QjIwQTE4RDIKKzoxMDAwNjAwMEUxMDAwMUVFMEMwODRBMTJDODE4RjA5QUMwMjJGMzFDRjUKKzoxMDAwNzAwMDRBMTNGMzE0QzhBMEYyMTRGMjFDRUIxM0QzQTI2MzE2QjQKKzoxMDAwODAwMDQ4OUVGMDE4QTQwM0YzOTNDMDU4RjcxMzUxOUNFOTIwM0QKKzoxMDAwOTAwMENGRUY2M0Y5OTIyRUQzNUY2M0ZBOTIyRUQzNjc2M0ZCOUYKKzoxMDAwQTAwMDkyMkVEMzZGRTkxQTYzMTY0OEE3RjAyMEE0MDZGMzk0QTIKKzoxMDAwQjAwMEMwMjdGNzE0RjUxMzUxOURGNjEzNjMxOEM0MjBDQkVGMzYKKzoxMDAwQzAwMDYzRkM5MjJFRDM3NzYzRkQ5MjJFRDM3RjYzRkU5MjJFMzQKKzoxMDAwRDAwMEQzODc2M0ZGOTIyRUQzOEY2NDM4OTIyRUQzOTc2NDM5REYKKzoxMDAwRTAwMDkyMkVEMzlGRTEwMEY1M0FGNDNCRjdCRkYyQkNGMjNEMEMKKzoxMDAwRjAwMEUxMDA4MDg3OTA4MDUxRDUwMjIyMDIzMjRCRDNGNzExNjQKKzoxMDAxMDAwMDBCREFFMTAwMEUwMjAyNDAwREI1RTMwMjQ4NTVFNTEyOUMKKzoxMDAxMTAwMEE0MDFFODFCRTM5MEYwMThBNDAxRThCRjhEQjg0QkQxMEYKKzoxMDAxMjAwMDRCRDgwQkNCMEJDMkUxMDBFMzAyRTMwMzUyRDM2MDU5N0YKKzoxMDAxMzAwMEU2OTMwRDIyNTJENEU2OTMwRDJBRTM5OEUzOTBFMTAwNzIKKzoxMDAxNDAwMDAyNUQwMjYzRTMwMkM4MTIwMkNBQzg1MjAyQzI4MjY4OTgKKzoxMDAxNTAwMEUzMDJDODE0MDJDQUM4OTAwMkMyMEFEMEM5OTMwQURBREMKKzoxMDAxNjAwMENDRDIwQUUyNjMxMjAyREEwQTk4MEFBMDBBQThFMzkwNDMKKzoxMDAxNzAwMEUxMDBFMzAyMEFEMEM5OTMwQURBQ0NEMjBBRTI2MzEyQTAKKzoxMDAxODAwMDAyREEwQTk4MEFBMDBBQTg0OTkxRTU2QUE0MDRDODEyRUEKKzoxMDAxOTAwMDAyQ0FDODUyODI4OUM4MTQwMkNBQzg5MDAyQzJFMzkwMzcKKzoxMDAxQTAwMEUxMDAwODYwRTEwMDQ4NTNFODk3MDg1QUUxMDBFMzAyRTMKKzoxMDAxQjAwMEUzMDM1NEQzNjA1OUU2OTMwRDUyRTM5OEUzOTBFMTAwRDIKKzoxMDAxQzAwMDAyOUNFMzAyNTUxMzkzMTc1NTEzOTMxN0UzOTBFMTAwMzQKKzoxMDAxRDAwMDc1MzBFMzAyRTMwMzU1NTU2MDU5RTY5MzBEQjJFMzk4OTkKKzoxMDAxRTAwMEUzOTBFMTAwMDJBRUU3OTJFOTE4RUE5QUU4OThFODEwOTUKKzoxMDAxRjAwMEU4MTFFODUxRDJEQUQyRjNFODEzRDJGQUU4NTBEMkVBQTEKKzoxMDAyMDAwMEU4RDBFOEQxRDMwQTAzMDk0ODIzRTUyQ0EwMDM0ODI0MDkKKzoxMDAyMTAwMEVBMUMwMzA4RDJFM0QzMDNEMzEzRTEwMDAyQ0IwNTkzMTYKKzoxMDAyMjAwMDU3OTNGMDlBQUMwQkUzMDc5MkVBRTI5RkU1MDZFM0IwM0UKKzoxMDAyMzAwMEEwMDJFQjFFODJEN0VBMUVFMjNCODU5QkU5MUVDODkwMTYKKzoxMDAyNDAwMDg1OTQwMkRFMDU4MDU3OTNGMEJBQUMwNjkyRUFFMkJGQ0QKKzoxMDAyNTAwMEU1MDZBMDAxRUJCRjg1ODhFOTNFQzg5MDg1ODFFOTNFQUYKKzoxMDAyNjAwMEYwQkFGMzM5RjAzQTYwMTdGMDNBQzA5MEYwQkFFMTAwMTIKKzoxMDAyNzAwMDAwM0ZFMzAyRTMwMzU4MTA2MDU5RTY5MzBEQTI1ODEyQzEKKzoxMDAyODAwMEU2OTMwREFBRTM5OEUzOTBFMTAwMDMwMUUxMDAwMzAzODQKKzoxMDAyOTAwMDlCN0Q4QjhCRTMwMkUzMDM1ODU2NjA1OUU2OTMwREJBQkUKKzoxMDAyQTAwMEUzOThFMzkwRTEwMDAzMEY5MzExRTEwMEUzMDI0QTExQTgKKzoxMDAyQjAwMDBCNDI5MUFGRTM5MEUxMDBGMjkxRjA5MUEzRkVFMTAwRDcKKzoxMDAyQzAwMDYwOTJDMDVGRjAxM0YwMTM1OTVCRTIxM0YwMTE1QTE5RkEKKzoxMDAyRDAwMEUyMTNFMTAwMDAwMDAzMjc2ODYxNzY2MTZFNjEwMDA2QTkKKzoxMDAyRTAwMDAzMkNFMzAyRTMwM0U5Mzg1OTE1NTk1QUYyOUFCQzBCN0YKKzoxMDAyRjAwMEE0MEE1OTFFRjMxMUYwMUFFMkJCNTkxNUYwMTExOTJBN0MKKzoxMDAzMDAwMEU1MDJBNDAxRUJCRkUzOThFMzkwRTEwMDAzNDIxOTI4NjIKKzoxMDAzMTAwMEUxMDBFOTMwNjA3OUUxMDBFMzAzRTMwNzYwNzk5MzRFOUYKKzoxMDAzMjAwMEUzQjhFMzk4RTEwMEU5MUFGMDFGRTIzM0YwOTFFMjkyQkEKKzowODAzMzAwMEUwMzJGMDMxRTEwMDAwMDBCMQorOjAwMDAwMDAxRkYKKworICBDb3B5cmlnaHQgMjAwMSwgU1RNaWNyb2xlY3Ryb25pY3MsIEluYy4KKyAgQ29udGFjdDogIHN0ZXZlLm1pbGxlckBzdC5jb20KKworICBEZXNjcmlwdGlvbjoKKyAgICAgVGhpcyBmaWxlIGNvbnRhaW5zIHBhdGNoIGRhdGEgZm9yIHRoZSBDUGlBMiAoc3R2MDY3MikgVlA0LgorCisgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2RhYnVzYi9iaXRzdHJlYW0uYmluLmloZXggYi9maXJtd2FyZS9kYWJ1c2IvYml0c3RyZWFtLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMjFhNGIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9kYWJ1c2IvYml0c3RyZWFtLmJpbi5paGV4CkBAIC0wLDAgKzEsNzYxIEBACis6MTAwMDAwMDAwMDA5MEZGMDBGRjAwRkYwMEZGMDAwMDAwMTYxMDAwRDdDCis6MTAwMDEwMDA2NDYxNjI3NTczNjI3NDcyMkU2RTYzNjQwMDYyMDAwQkI5Cis6MTAwMDIwMDA3MzMxMzA3ODZDNzY3MTMxMzAzMDAwNjMwMDBCMzEzOUM4Cis6MTAwMDMwMDAzOTM5MkYzMDM5MkYzMjM0MDA2NDAwMDkzMTMwM0EzNEU1Cis6MTAwMDQwMDAzMjNBMzQzNjAwNjUwMDAwMkVDMEZGMjAxNzVGOUY1QkY4Cis6MTAwMDUwMDBGRUZCQkJCN0JCQkJGQkJGQUZFRkZCREZCN0ZCRkI3RjYxCis6MTAwMDYwMDBCRkI3RUZGMkZGRkJGRUZGRkZFRkZGRkVGRkJGRkZGRjlCCis6MTAwMDcwMDBGRkZGQUZGRkZBRkZGRkZGQzlGRkZGRkZERkZGRkZGRjNCCis6MTAwMDgwMDBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkJGRkEzRkZGQkU0Cis6MTAwMDkwMDBGRUZGQkZFRkUzRkVGRkJGRTNGRUZGQkY2RkZCRjZGRjE4Cis6MTAwMEEwMDBCRkZGNDdGRkZGOUZFRUY5RkVDRjlGRUZGQkNGOUJFRTE5Cis6MTAwMEIwMDBGOEZFRUY4RkVFRkJGRTBCRkZGRkZGRkZGRkZGRkZGRkUyCis6MTAwMEMwMDBGRkZGQkZGRkZGRkJGRkZGQkZGRkZGRkMxN0ZGRkZGRkFGCis6MTAwMEQwMDBGRkZGRkY3RkZGRkZGRjdGRkZGRkZCRkZGRjdGRkZGRkI0Cis6MTAwMEUwMDBGQzNGRkZGRkZGRkZGRkZGRkZGRkZGRkJGRkZGRkZGRkU3Cis6MTAwMEYwMDBGRkZGRkZGRkZGRkU1RkZGRkZGREZGRkZEQkZGRkRGRkQ5Cis6MTAwMTAwMDA3N0ZGRkRGRkZGREZGRUZERkZGRkYyRkZGRkZGRkZGRkI5Cis6MTAwMTEwMDBGRkZERkZGRkZGRkRGRkZGRkZGRkZGRkZGRkZGRkZFMTExCis6MTAwMTIwMDA3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjNGRkZGRjFGCis6MTAwMTMwMDBGRkZGRkZGRkUzRkZGRkZGRkZGRkZGRkZGRkZGRkZCRjJCCis6MTAwMTQwMDBGRkZFRkZGRkZGRkZGRkZGRkY2N0ZGRkZGRkZGRkZGRjU4Cis6MTAwMTUwMDA3RkZGRkZGRjdGRkZGRkZGRkZGRkRGRkZGRkZGMkZGRjlGCis6MTAwMTYwMDBGM0ZERkY3RkRFRjdGREZGN0ZGNzdERkY3RkRGRjdCRDRDCis6MTAwMTcwMDBGRjdGRkYxRkZGRUZGQkZFRkZCRkVGRkJGRUZGRUZGQjZECis6MTAwMTgwMDBGRUZGQkZFRkZCRkVGRkZGM0ZGRTdGOUZFN0Y5RkU3RjE1Cis6MTAwMTkwMDA5RkU3RkE3RjlGRTdGOUZFN0Y5RkU3RkZGQzdGQkZCRkU2Cis6MTAwMUEwMDBFRkZCRkVGRkJGRUZGQkI3QkZFRkZCRkVGRkJGRUZGQkI5Cis6MTAwMUIwMDBGRkUwRkRGOUZFN0Y5RkU3RjlGRTdGOURGOUZFN0Q5RDQzCis6MTAwMUMwMDBFN0Y5RkU3RjlGRURFREZGRkRGRjdGREZGN0ZERkY3RjhFCis6MTAwMUQwMDBERkZERkY3RkRGRjdGREZGN0ZERkZGOUJGRkVGRkJGRTE0Cis6MTAwMUUwMDBGQkJGRUZCQkZFRkZBRkJCQkVGRkJGRUZGQkZFRkZGRkUyCis6MTAwMUYwMDBCN0JGREJGNkJEQkY2QkRCRjZGOUJGNUJENkY5QkY2RkYwCis6MTAwMjAwMDBEQkY2RkRCRkZGMEVGRkZGRkZGRjVGRkZGN0ZGRkY3Rjg2Cis6MTAwMjEwMDBGN0JERkZGRkZGRkZGRkZGRkZERjlGRkZGRkZGRkVGRkI5Cis6MTAwMjIwMDBGRkVGRkVGRUZGRkY3N0ZGRkJGQkZGRkZGRkZGRjgzRjQ3Cis6MTAwMjMwMDBGRkZERkZGRkZGRkRGRkZGRkZGRkZGRkZGRkZGRkZGRkQyCis6MTAwMjQwMDBGRkZGRkZGNDdGRkZGRUZEQkVGRkRGRkVGRkZGRUY3RjNFCis6MTAwMjUwMDBGRkNGRkZDRkZGRkZGRkRGRTZGRkZGN0ZERkY3REQ3RjkxCis6MTAwMjYwMDA3RkRGRjdGRjdGREZEN0ZERkY3RkRGRjdGRkNERkZGMkY3Cis6MTAwMjcwMDBGRkZGNEY3RkY0RkZGRkZGRTdFRkZGRkZGRkZGRkZGRkYxCis6MTAwMjgwMDBGRkZGQkJGRkVGRkZGRUZGRkZGRkVGRkZGRkVGRkZGQkY3Cis6MTAwMjkwMDBGRkZGRkZGRkZGRkZGRjY1RUZGRkZGN0ZGRkZERUZGRkFBCis6MTAwMkEwMDBGRkZGRkVGRkZGRkZGRkZGRkZGRkZGRkVDRkRGRkVGRkIxCis6MTAwMkIwMDBGRkZCRkZGRkZGRkZGM0ZGRkZGRkZGRkZGRkZGRkZGRjVFCis6MTAwMkMwMDBGRURGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjVGCis6MTAwMkQwMDBGRkZGRkZGRkZGRkVCRkZGRkZGRkUzN0ZGRkZGRkZGRjBCCis6MTAwMkUwMDBGRkZGRUZFQkZGRkVCRkZGRUJGRkZDN0ZGRkZGRkZFRTJCCis6MTAwMkYwMDBGRkZGRkZGRkZGRkZEREZGRDZGRkZEQkZGRkZCRkZGRUEwCis6MTAwMzAwMDBGREZGRkZGREVGRkZGRkZGRkZGRkZGREVGRkZGRkZGRjMyCis6MTAwMzEwMDBGRkZGQkZGRkZERkY3RkJGRkY1RkRGRkZGRkJGNzdGRjc3Cis6MTAwMzIwMDBGRkZGN0ZEN0ZGRkZGRkZGRkZDM0ZGRkZGRkZGREZFRkYxCis6MTAwMzMwMDBGRkZGRkVGQkZGRkZERkJGRkZGRkZGRkZFREZGQjdGRjhDCis6MTAwMzQwMDBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkJECis6MTAwMzUwMDBGRkZGRkZBRjdGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjdECis6MTAwMzYwMDBGRkZGRkZGRkZGRkZGRkZGREZCRkRGRjNGREZCRkY1QkQzCis6MTAwMzcwMDBGREZGQkZFRkY3RkZGRjdERkZGRkZGRkZGODNCRkZCRjc0Cis6MTAwMzgwMDA2RkZGRkVGRkJGRkZFQjdERkZFRkZCRkVGRkZGRkZGRkY5Cis6MTAwMzkwMDBGRkYyN0ZGQ0ZGM0ZERkVERkVGRkZGRkZGRkVGNUZGN0E4Cis6MTAwM0EwMDBCNUZGRUZGRkZGRkZFMDNGOUY5RUZGRkZFRkZGREZGRjg3Cis6MTAwM0IwMDBCRjVGQkZDRkYzRkZGRkZGRkZGRkZGNjlBRjMzRkRGRjVECis6MTAwM0MwMDBGQkZGRkZGRkZGRkNGRjdGRDlGRkRGRkZGRkZGRkZGNTE0Cis6MTAwM0QwMDBBM0RGNkVERUZGRkZCREZGRkZGRUZGRkZGRkZFRTdGREI5Cis6MTAwM0UwMDBGRkZGRkZGOUVGQzZGRUI3QURFNUY5RkZGRkZGQ0ZGRjU3Cis6MTAwM0YwMDBGRkZGQ0RGQjdGRkZGRkZGRjlGNjBGREZFQ0NGN0ZGRkE1Cis6MTAwNDAwMDBGQjdGRkZGRkZGRkRGRkZFRjlGRDdGRkY3RkZGRjk1QjM1Cis6MTAwNDEwMDBGRjczRENGRDdCREZGRkZGRkY3QkZGRkZGNzUzRDZGRkEyCis6MTAwNDIwMDBGRkZGRkZEODlGRkVGRkVGN0ZFRUZGRkZGRkZCRURFRDJECis6MTAwNDMwMDBGREZGRkVGRkZGRkI3RkZGRTI3RkZGNkZEODU3RjdGRjU3Cis6MTAwNDQwMDBGRkZGREZGRkU4RkZGRkZERkZGRkZDN0ZGRkU0RkZGQjk3Cis6MTAwNDUwMDBFRkZCRkVERkI3RURGRkZFREY3RkZGRkU3RkI3RkZGRkE1Cis6MTAwNDYwMDBGRkZGODlGRkZGQ0ZGM0ZFN0ZGRkVGRkZGRTdFN0ZGQkU1Cis6MTAwNDcwMDBGRkZGRkZGRkZGRkZGRkYxRkZFQjdBRDVCRjZGREJCRTkyCis6MTAwNDgwMDBGREI3RDhGNkU1QkY2RkZCRkVGNUJEN0UwNkZGREZGN0QzCis6MTAwNDkwMDBGQkY2RkYzRkZGREJGRkZGNkZGQkY3RkZGRkZGRkJGRUZFCis6MTAwNEEwMDBGN0FGRkZCN0VERUZGN0ZFRkZGRkRGRkZGRUZGRUZGRjU4Cis6MTAwNEIwMDBGRkZGRkZCRkY3RkMxRkVFRkJGRUJERkY3RjVGRDdGRDE5Cis6MTAwNEMwMDBGQjQzRkZGRkZERkY1RkZGRjdGRkY5M0ZGRkNGRjNGREFBCis6MTAwNEQwMDBGNzdFRUZBN0Y5RkU4RkE3RTlGMzdFOUZGQkY4RkZGRkZBCis6MTAwNEUwMDAzRkZEN0Y1RkRGRkRGRkZGNUZGRkZENUZGRkZGN0ZGREU0Cis6MTAwNEYwMDA3RkZEOUZGRkUwRkZGQUY4QkU2RjlGRTZGOEJFM0Y5QUQwCis6MTAwNTAwMDBGOUJFNkY5RkUyRjlGRTZGOUZGOUZGRjVGRDdGQ0ZERjI4Cis6MTAwNTEwMDBGREZEN0ZGRkY1RkZGRkZGRjdGNUZEMEZEQkZGRDNGRkNECis6MTAwNTIwMDBFQkZBRkZGRkJGRkZGQUZGRkZDQkZCRkVGRkZGRUJGQThCCis6MTAwNTMwMDBGRUZGRkZCN0ZGRkZGRkZGQkZGRkRGRjVGRkZGRDdGRkE2Cis6MTAwNTQwMDBGRkZGREZEN0Y1RkY3RkZFNEZGRkZERkY3RjdGRkZBRDkyCis6MTAwNTUwMDBFQkZCRkZBREZGRkZGRkZGQUZFQkZCRkZGQzBERkZGRjcyCis6MTAwNTYwMDBERkQyRkRGRkZGRkRGNkZGRkY3RkZGRkYxRkZGRkZGRjU1Cis6MTAwNTcwMDBGRkZCM0Y3REVCMzJGRUJGMkZFQkZBQUVCREUwRkE3RTE0Cis6MTAwNTgwMDBCRkFERUJGQUZFQkZGNTdGRkZERUZFRTNGQkZGRkZGRjMzCis6MTAwNTkwMDBERkVGNEZERkZGN0ZERkZGRjdGRkZGRjg3RkZGRkZFRkFBCis6MTAwNUEwMDBGQkZGRkZGRkVGRkZGRkRGRURGQkRGRkZCRkZGRkZGRjA1Cis6MTAwNUIwMDA4MUZGRkZGRkZGM0ZGRkZGRkZGRkZFRERGRUVGRkRGRkJGCis6MTAwNUMwMDBGRkZCRkVGN0ZGOTNGREZCN0VGRkZFODdFOUZGN0ZCMzk2Cis6MTAwNUQwMDA5RkZFRkVGRkFGRkRGRTdFM0ZGRTY3RkZGRkY3RkZGRkMyCis6MTAwNUUwMDBGQ0Y3REZGREZGN0ZGRkZGN0Y2REZGRkZGRUZGRkYyRkFCCis6MTAwNUYwMDBGRkJGRkZGRkVFRkZCRUZGRkZGRUZGRUZGRkZGRkVGRkFGCis6MTAwNjAwMDBFRkZGRkZGQTVGRkZGRkZCRkZGRkVGRkZGQkZFRkRGRkNBCis6MTAwNjEwMDBGRUZGRkJGRkZGRkY3RkZGRkVCRkRGRkZGQkZGRkZGN0RDCis6MTAwNjIwMDBGQ0ZERkZGRkZGRkZGRjdGRkZGRkZGRkZGRkYyN0ZGRkVDCis6MTAwNjMwMDBGRkZGRkY3RkZGRkZGRkZGRjNGRkZGRkZFRkZCRkZGRjZBCis6MTAwNjQwMDBGRkRGRTJGRkZGRkJGRkZGRkZGRkZGRkZGQkU3RkZGRDE5Cis6MTAwNjUwMDBGRkZGRkZCRkZGRkZGRkVERUZGREZGRkZERkQ3RjVGRDYyCis6MTAwNjYwMDA3RjVERkRGRjdGREY5N0Y0RkQ3QjVGRkZDOUZGRkJGRTMyCis6MTAwNjcwMDBGRkJGRkY1RkZGRkZGN0ZGRUZGREZGRUZGRkZGRkZGRjk0Cis6MTAwNjgwMDBGRkY3RkZEN0ZEN0Q3RkZGRkZGRkZGRUZERkY3RkRGRkU4Cis6MTAwNjkwMDBCQkZGRkY3RkZGRkVFM0ZGRjlGRTdGQkZFRkZCRkVGRjI3Cis6MTAwNkEwMDBCRkY5RkVGRjlGRUZGOUZFRkZCRkYzREFGRjM3Q0RGMzhGCis6MTAwNkIwMDA3Q0RGMzdDREYzN0YzN0NERjM3Q0RGMzdDQ0YzN0Y1QTQ4Cis6MTAwNkMwMDBCREY2RkRCRjZGREJGNkZEQkY2RkRFRkRCRjZGREJGNjc2Cis6MTAwNkQwMDBGREJGNkZGRUYxNkZFQjdBREVCN0FERUI3QURFQjdBRjQxCis6MTAwNkUwMDA3QURFQjdBREVCN0FERUI3RkY3RUZGRkVDREIzNkNEQjEzCis6MTAwNkYwMDAzNkNEQjM2Q0RFQ0RCMzZDREIzNkNEQjM2Q0RGQzlCRkFBCis6MTAwNzAwMDBGN0JERUY3QTlFQTdBOUVBN0FCN0JERUE3QkRFQTdCRDVGCis6MTAwNzEwMDBDQTcyOEQ5MUZGRUZGQkZFRkZCRkVGRkJGRUY3RUZGQjExCis6MTAwNzIwMDBGRUZGQkZFRkZCRkVGRkZFODdGRkY2RkRCRjZGREJGNkIwCis6MTAwNzMwMDBGREJGNkZGNkZEQkY2RkRCRjZGREJGNkZGRTRGRkZCRjY2Cis6MTAwNzQwMDBFRkJCRUVGQkJFRUZCQkVGQkVFRkJCRUVGQkJFRUZCQjA2Cis6MTAwNzUwMDBFRkZDNUZGRkZGRkYzRkNGRjNGQ0ZGM0ZDRkZDRkYzRjBFCis6MTAwNzYwMDBDRkYzRkNGRjNGQ0ZGRDlGRkVCRkFGRUJGQUZFQkZBRjY1Cis6MTAwNzcwMDBFQkZFQkZBRkVCRkFGRUJGQUZFQkZGRTE2RkZERkY3RjFDCis6MTAwNzgwMDBERkY3RkRGRjdGREZGREZGN0ZERkY3RkRGRjdGREZGRjhGCis6MTAwNzkwMDA3QUJGRkJGRURGQjdFREZCN0VERkI3RkI3RURGQjdFRDk5Cis6MTAwN0EwMDBGQjdFREZCN0ZGQzlGRkZGQkZFRkZCRkVGRkJGRUZGQjI1Cis6MTAwN0IwMDBGRkJGRUZGQkZFRkZCRkVFRkJGRUJCRkZGRUZGQkZFRjg5Cis6MTAwN0MwMDBGQkZFRkZCRkVGRkVGRkJGRUZGQkZFRkYzRkNGRkZFN0VDCis6MTAwN0QwMDBGRUZGRjVGRDc3NURENzM1REQ3N0Q3RjVDRDdCNUREN0FFCis6MTAwN0UwMDBGNURENzdGRTI3RkZGRjhCRTJGOEJFMkY4QkUyRjlBRjM2Cis6MTAwN0YwMDA4QkUyRjhCRTJGOEJFMkY5RkUxRkZGNUZEN0Y1RkQ3RjdFCis6MTAwODAwMDA1RkQ3RjVGRjVGRDdGNUZEN0Y1RkQ3RjVGRkZBM0ZGRUI2Cis6MTAwODEwMDBCRkFGRUJGQUZFQkZBRkVCRUNCRkFGRUJGQUZFQkZBRjgzCis6MTAwODIwMDBFQkZGRkU3RkZEN0ZGRkZGRkZGRkZGRkZGRkZGRkZGRkVGCis6MTAwODMwMDBGRkZGRkZGRkZGRkZGRkU2RkZGQURGRjdGREZGN0ZERkIwCis6MTAwODQwMDBGN0ZDRkZERkY3RkRGRjdGREZGN0ZERkZGNUZGRkZGRkExCis6MTAwODUwMDBGRkZGRkZGRkZGRkZGQkZGRkZGRkZGRkZGRkZGRkZGRkFDCis6MTAwODYwMDBGRjAyRkZGRUJGQUJFQkZBQkVCRjIzRUJERTFGQUZFQTFBCis6MTAwODcwMDBGQUZFQUZBRkVCRkQ5N0ZGRjNGQzdCMUZDRkYxRkM3RkUwCis6MTAwODgwMDAxRkYxRkM3NzFGQ0RGMUZDRkYxRkZFODdGRkFGRUZGQUQyCis6MTAwODkwMDBGRUZGQUZFRkZBRkRCRjJCRkI3RUJGQkZFQkZCRkJGQjA5Cis6MTAwOEEwMDBERkZGRkJGN0ZGRkY3RkY3RjdGRkZEREZGRUZDREZGRjVBCis6MTAwOEIwMDBERkZGRkRGRkRBQkZGRkJCRUZGQkY5RkZCRUVGRkJGQjg2Cis6MTAwOEMwMDBCRkVGRkJGRUZGQkZFRkZCRkZGNzdGRkREN0ZGRkY3RjEzCis6MTAwOEQwMDBGRkZGRkZGRUY3RkZGRUZGRjdGRkZGN0ZGRkZGRUNGRkNECis6MTAwOEUwMDBGRkZFREZCRkZGRkJGRUZGQkI2OEFFMUZBRUZCRkJGRkUzCis6MTAwOEYwMDBGRkJGRkZENUZGN0ZGRkZGRjdGRUZFRkZCRkVGOUZGREFFCis6MTAwOTAwMDA3RkZGQ0JGRkZGREZGRkZGQkJGN0JGRkZGRkZGRkZERjc3Cis6MTAwOTEwMDBGRkJGRkJGRkZGRkZERTNGRkZGRkZGRkZGRkE3RkZGRjY0Cis6MTAwOTIwMDBGRkZGRUZGRjdGRkJGREZCN0ZGRkZGRkZGRkNGRjM3Q0IwCis6MTAwOTMwMDBGRjdGOEQ3RkZGRkZGRkZGRkJGRkY3RkJGRUZERkZGRjRDCis6MTAwOTQwMDBGRkZGRjdGREZGN0ZGRDFGRkRGRkZGRkZGRkJGREZGRjg1Cis6MTAwOTUwMDBGRkZFNUNGRjZERkY3RkFCRTdGMUZGRkQ5RkZGRkZBRDhCCis6MTAwOTYwMDBFQjdBM0YxRkZGRkZGRUJGQUZGM0RFRjVGRjhGRkJERjJDCis6MTAwOTcwMDBFNjdGRkZERkYzRkRGRjdFRkZGRkZGRkZGRkZERjdGM0U1Cis6MTAwOTgwMDA3RkRGRjdFRkZGRjYzRjlGREZGRkZGRUVGRkZGRUZGQjlECis6MTAwOTkwMDBGRkZGRjlGQkZFNEZCRkVGQkJGRjY5QUZBRkZDRkYzRkFGCis6MTAwOUEwMDBEREZGRkNCRjhGRkZGREYzQkZFRDlFRkNCRjZGRjVEM0Y2Cis6MTAwOUIwMDBERkZGREJENkY1RUZGREZFRkZCOUZGMUZEMkE5QUZGRkNBCis6MTAwOUMwMDBEQkY3QkZFRjQ2RkZGRkFERUI3QURGRUZGN0ZGN0ZGNzE3Cis6MTAwOUQwMDA5RkVERkY3RkZGQURFQjdGRjU2RkZGRkRGQkQ2RjRGN0RCCis6MTAwOUUwMDBGQkY5N0U3RkZGNUZDMkZFQkZGREZCMzNERkY5NUJGRkRDCis6MTAwOUYwMDBGRkRENjc3RENGRUZEQkVDRkY3N0RERjdGREZGRkZERThGCis6MTAwQTAwMDBBN0JGRDQ5RkZGRkZCRkVGRkVGRkRGRUZCQkZGRkZFRkVFCis6MTAwQTEwMDBFQkZBRkZFRkJERkJGRkUyN0ZGRkRGREZGN0ZEQkZCQkMwCis6MTAwQTIwMDA3M0Y3RkQ3RkRGREVGN0JGRUFEQkY2RkZENkZGRkY2Njc5Cis6MTAwQTMwMDBGRkJFRkZCRjZCRDlGNkRGRkZGQjdFN0ZCNzdFRkZGRUY5Cis6MTAwQTQwMDBGRkNERkZGRTdGRkZGQ0ZEM0ZGQkZCRjdGRkZGRkJGNjRCCis6MTAwQTUwMDA3REZFN0ZGRkZDRkZCOUZGRjlGQUZFQkZBRjVCRDZFRDZECis6MTAwQTYwMDBBRDdCRjZGOUJGRUZGOEZBRkVCRkZFRTZGRkZGRjdGRDNDCis6MTAwQTcwMDBGRjdGQkZFRkYzRkZGRjZGRjdGRUZGRkZGN0ZERkVGNzBFCis6MTAwQTgwMDBFRkZGRkJFRkZCN0VERUZFRkZCRkZGRkVGRkZGRkJGRjg2Cis6MTAwQTkwMDBGRkVGRkI2RkZDMUZGRUU3RkZGRkZGRUZGRkQzQjRCQkQxCis6MTAwQUEwMDBGRkZGRkRCRjZGRTNGRUZGQkZGQ0JGRjdDRkY3RkRGRjBBCis6MTAwQUIwMDAyRkRGQUJFQUZGREZFN0VBOUFBRkVGRkJGRUZGRjUzRjgwCis6MTAwQUMwMDBGRDdFRkZEN0Y1RkJGRkZERjdGRjdGRkVGN0ZERkZEN0FDCis6MTAwQUQwMDBGRkQ3N0ZFRTdGRkE3OUZFMkY4QkU2RjlGRTNGOUVGOTc2Cis6MTAwQUUwMDBCRTJGMEJFN0Y5RkUyRjlGRkRGRkZFN0Q3RjVGRDdGRjM3Cis6MTAwQUYwMDBGRjdGRkZGREZGN0Y1Rjk3RkZGRDdGNUZGRkUzRkZGRjRFCis6MTAwQjAwMDBGQUZFQkZBRkZCRkJGRkZGQ0ZFQkZFQkZBRkZGRkFGRTZFCis6MTAwQjEwMDBCRkZGODdGRkZGRjVGRkZGRkZGRkZERkY3RkZGRkZGRjI5Cis6MTAwQjIwMDBGQkZGRkZGNUZGRkZGRTBGRkZGREVCRkZGRkY3RkZFRjAyCis6MTAwQjMwMDA3QkRGRkVGRkZGREZGN0ZERUI3RkRGRkY1RkZGRkZGRkU4Cis6MTAwQjQwMDBGRkZEQkZGRjdFRkFCRkM3REJGN0JEM0ZGQkZGRjZGRjMwCis6MTAwQjUwMDBGQUFGRkZFQkZBRkUzRjJGRUFGQTNFQURDOUJBRjZBREE3Cis6MTAwQjYwMDBBRkVCRkFGNkJGRkU3RkZGRkZGREZGRjE3RjNGQ0ZGMTU2Cis6MTAwQjcwMDBFRkZGN0ZGRkJDREZERkY3RERGRkUwN0ZGRkZGRkVGRjYyCis6MTAwQjgwMDBGQUVDQkI3RjVGRkZGQkVDRkZFRkI3RkZGN0ZGRkZCNUIyCis6MTAwQjkwMDBGRkZGN0ZGRkZGRkZFRURGNUZERkRFRkZBRUU3NzdGRkU4Cis6MTAwQkEwMDBGRkRGRjdGRkUzRkZGQUJCRkVGRkFGRkRGQkZFQkZBQkNFCis6MTAwQkIwMDBGOUZFRkZCRjdGQkZGRUJERkVEN0ZGOUZGREZGQkVFRjZCCis6MTAwQkMwMDBGRkVFRkRCQjVCRUZGRjdGRUZGRkVGRkY3RkZGNEZGRjEwCis6MTAwQkQwMDBFRkZCQkNGQ0ZGRkZGRkZFRkVGREZBRkVGQkZGRkRGMzlCCis6MTAwQkUwMDBGQkZGRjg1RkZGRkZEN0Y1RkRERkVGRkZGM0RDNUZDRTI0Cis6MTAwQkYwMDBGNUJERkZGRkQ3RkZGRkY5M0ZGRkRGRjdGRkZFRkZGRDZBCis6MTAwQzAwMDBGRkZCRkZGN0I5N0RGRURGRkZGRkZGRkZGOTdGRkZGRTcwCis6MTAwQzEwMDBGRkZGN0ZGRkZFRkZGRkY3RjZGRkJGRjFGOEZGRkZGRkNCCis6MTAwQzIwMDBGRkUwRkZGRkZGRkZGOUZGRkZGRkZGRkZFRkVGRkZGRjE5Cis6MTAwQzMwMDA5QkZCN0ZGRkZGRkZDMUZGREZGRjNGNUZEN0JGRUZCQjI2Cis6MTAwQzQwMDBERUVFRkY3RkRGRkZGRUY1N0ZERkZGOTlGRkZGRkFGRjlDCis6MTAwQzUwMDBCRkZERUI3QUZGQjdGRUZFRkZGRkVGRkZGRkZEQkZGRjFCCis6MTAwQzYwMDA5N0ZGRkRGN0ZGN0ZGN0ZGRkZGRDVGRkVGM0Y5REZERjgzCis6MTAwQzcwMDBGRkZGRkNGRkZGODNGRkZGRkVGRjlFRUNGQkVFRkY5RkVECis6MTAwQzgwMDBCRkVGRkZGRUVEN0JGRkZGRkZGMTVBRkZGRkZERkY3QzkzCis6MTAwQzkwMDA2OTNCREZGRjdGMUZERkZGRkRCQUZGRkZGQkZGNUJCRDhGCis6MTAwQ0EwMDBGRkZGRkZGRkQ3QjZFREU5RkZENkJENkY1RkZCRkZFRjlDCis6MTAwQ0IwMDBGRjVGRkVGNjZGRkZGRkZGRkZGN0VCN0FERkZGOUY3RjFGCis6MTAwQ0MwMDA3RkZGQjdGRkZGRkVERkZGNkNGRkZCRkZCQjZGRUJGRTlECis6MTAwQ0QwMDBDQ0Y3QTVGQTVDRjU3NUJCQjdERkZFNkY1RkM1QkZGRDRFCis6MTAwQ0UwMDA3QkZFRkY5NUU3MjlDRjRGRjU5MUVFNkJERkVGRkQ1NENCCis6MTAwQ0YwMDBGNUJEQjFGRkVGRUVGQkJFQkZBRkZFREVCRDZGREFGMkJBCis6MTAwRDAwMDBGRkFGQkVGRkZGRkQ3RUE3RkZGN0ZGQkZFRjdCRjZGRDQ2Cis6MTAwRDEwMDBCRDRBRjI4NTg1QkY1QkZFQjVGREZBRkY0RkZGRkVERkUyCis6MTAwRDIwMDBGRkVERkZCRkZGQkY3RkZFRkZCNzZERkZGN0JGQkZFRjU4Cis6MTAwRDMwMDBGRDFGRkZGRTdERkY2N0ZGRkZGRjNGN0ZGRUJGRkZFNzU5Cis6MTAwRDQwMDBERkU3RkZFRjZCRkMxRkZGQkZFRkZCRkVERUJGQUZGQTdECis6MTAwRDUwMDBGRkI2RUZGOUZFRkY4RkVGREJFRkFCNkZGQkZFRkZGRkEwCis6MTAwRDYwMDBFRkZERkY3RkZGRkZERUZGRkZFRkZGRkZGRjNGRkY2Q0E5Cis6MTAwRDcwMDBGRkJGRkJGRkZFRkZGQkZFREZGRkZGRUZGRkZGQkZGRjNECis6MTAwRDgwMDBGRkZFRkJGRkQ1N0ZGRkZGRUZGQkZGRkZCRkVGNDNCNThDCis6MTAwRDkwMDBGRDZGQ0ZENkJFM0Y3RkRCRkVDM0ZGRkRGRkFGRUJGQjlBCis6MTAwREEwMDBGQ0ZGM0VFRkU4RkFCRENEQUFGRUZFN0RDRkZGQjdGRjA4Cis6MTAwREIwMDBGN0ZGRkZGRkZERkY3NUNENTJEN0ZERkJGN0RERkJFRjIyCis6MTAwREMwMDBFQkZGRkY0RkZGQkY5RkU3RjlGQzdGOEJDM0Y5QUY4RkFFCis6MTAwREQwMDBFN0U5QkU3RjlGRTZGOUZDNUZGRkZGRjdGREZGN0E1RjYzCis6MTAwREUwMDBEN0VERkZGRkQ3RkZERDdGRTdGRkZDRkZGQzNGRkZGRkY1Cis6MTAwREYwMDBGRkZCRkZGRUJGQUZGRkZERkZFRkZGRUJGRkZGRkZGRkJFCis6MTAwRTAwMDBGRkY3N0ZGRjdGREZGRkZERkQ3RkZFRjdGRDdGREZGRjQ5Cis6MTAwRTEwMDBGREZGRkZERkZCRkZFRUZGRkJGRkY3RkRGRjdBREZGNUQ2Cis6MTAwRTIwMDBGREZBREZGN0ZDRkY3RkRGQkZFREZGQzlGRkRGRkZCRjhDCis6MTAwRTMwMDAyRkZCRkZCQ0FERkZGN0ZGRkZFRkQzRkY3REJGNkZGRkMxCis6MTAwRTQwMDBGQUZGRkVCRkFFRUFGQUJFQURBNUVCQ0VCRkE3RUI1QUU2Cis6MTAwRTUwMDBERUJEQUY2QkZENTdGRkZGRjQ3RjFGN0ZGREZGN0YzNkM5Cis6MTAwRTYwMDBGMERGNzlGRkZGRkZGN0ZEQkZGRjg3RkZGQkYzRkNGRjFDCis6MTAwRTcwMDBGRkZGRkY3RUZGQkZERkZGRkZGRkZGRkZGREJGRjg5RjBDCis6MTAwRTgwMDBGRkZGRkZGRkJGRkZGRkZERjdGQ0JERkZGRUZGRkZGRjAyCis6MTAwRTkwMDBGRkZGRkJGOUJGRkZGRkVCRTJGRUZGQkZFRkE5QkEyRjk5Cis6MTAwRUEwMDBFQkY5RkU3N0RGRjdGRkZGRjk3RkZGRkY3RkVGRDdGRjVCCis6MTAwRUIwMDBGREZGRkJGNUZGQkY2RkRGRkZGRkZERkZGRkYwRkZGRjUzCis6MTAwRUMwMDBGRjNGQ0ZGRkJBRUU5QkJGRUVEN0ZFQ0RFRkZGREZCRkY4Cis6MTAwRUQwMDBGRkZGQzVGRkZGRkQ3RjRGRkRGNkQ5RkY0RkQ2RkRCRkRBCis6MTAwRUUwMDA2RUZGRkZGNDdGRkY3RjhCRkZGRkZGRkZGN0ZGRjlGRTMxCis6MTAwRUYwMDAzN0ZGRDlGQkY1QUZGREZGRkZGQkZGRkYwN0ZGRkZGRjRDCis6MTAwRjAwMDBGQkY3RkZGREZGN0NGQTdFNEZGQ0RGMURDN0ZGRkZGRkY1Cis6MTAwRjEwMDBGRkFFRkZGRkZGRkZGREZCRkZGRkZFRkVGQ0ZGN0Y3RjNECis6MTAwRjIwMDBCRkVGRkVGRkZGRkY1RkZERkZGRkZGRkQ2RjVBRDc3QkE3Cis6MTAwRjMwMDBCRTVGRkUzOUZGRjdGRkY3RkRGRUFBMUZGRkZGRkZGRkIxCis6MTAwRjQwMDBGRUZFQUJBRkZERkVCRkZGRjdGRjdGRkU4RkUzRkJFRUM0Cis6MTAwRjUwMDA3RkZGRkZGRkZGRUJGQkZGRkRCRkVGREZGRkZGRkZGRkFCCis6MTAwRjYwMDBGRkZGRkZGQkU0M0ZGRkRGRkZGRkZGRkZGM0VGQkJGQkY0Cis6MTAwRjcwMDBCRkVGQkJGRkQ3QkZGRkZGRkYyOUFGRjdGRkZGRkJGRkFGCis6MTAwRjgwMDBGQkU2RkYwRkZCM0ZERjBGRkZBRkZGRkZGRkY1QzNERjA4Cis6MTAwRjkwMDA1RkZGRkZGRkZFNkJDQUJFQkNGRjlGRjJCRkZGRkVGQTAyCis6MTAwRkEwMDBGRkZGRUYxNkZGRkZGRkZGRkZGQ0RGOTdGRDc5RkYzNzI1Cis6MTAwRkIwMDBFNzdGRkZGRkI1RkZGRkY2MkZGRkZERkJGRUZGRkZGRDA1Cis6MTAwRkMwMDA1RjU3NUZGRkRCNTJERkZGRkRCRkZGRkZGQ0RCRkY3QkY3Cis6MTAwRkQwMDBCNUZEN0ZGRjcxOUM2RUZGRjYzNUE1OUJGRkZGRkRGRjAyCis6MTAwRkUwMDBGRkRCOUU3RkZFRUZGQkZGRkZCREVGRkZERUI3Rjk0QkEwCis6MTAwRkYwMDBGRkY1RUZGRkZGRkZFODdFRkZFQURGRjdGRkZENjk1QjJDCis6MTAxMDAwMDBGQzlGRUY3OEQ2RkZFQkVGRkZGRkZGRThGRkZGRURGRjYwCis6MTAxMDEwMDBGRkZGRkZFM0Y5RjZCRkZGRkZGRURGRkY3RkZGRkZGRkVDCis6MTAxMDIwMDBEMUZGRkZFN0ZGRkZGRkZGRTdGOUZGQkY3RkQ5RkZGRDFDCis6MTAxMDMwMDBGRTdGRkZGRUZGRjlGRkZCRDZERkJGRUY1QkQ2RkZCRkYyCis6MTAxMDQwMDBGQkY2RkZCRkVGRjhGNkREQkVGRTE2RkZCRkVGRkZGRUJCCis6MTAxMDUwMDBGRkJGRUZGRkZGRkY2RkZCRkZGRkZGNkZGM0ZGRjdFRjM4Cis6MTAxMDYwMDBGQkZGQkZGRkVGRkVGRkJGRkZGRkZGQkVCRkZGRUZGRkI2Cis6MTAxMDcwMDA3RkVGRkZGRDE3RkI3QkZGRkZGRDdGREJGNkY0N0ZGQUMxCis6MTAxMDgwMDBGRUY1QkZFQkUzRjdGRkZGRTlCRkZGQUZGN0ZERjM3RTMwCis6MTAxMDkwMDA4RkEzRUFGRkNCRjNFRUZGQkZFRkY3RjlGRkZFN0ZGRjcxCis6MTAxMEEwMDBGRkZGRkZGNUZCRjZGRkY1MkZGRUZCRDdCRkZGQkVERjBGCis6MTAxMEIwMDA5RkZGRjBGRkZGRjlGRTdGOEZBM0Y4RkU2RjlGRjlGNjA5Cis6MTAxMEMwMDAyRjlGRTdGOUZFMkY5RkUxRkZGRkZGN0ZERkY3RjVGRDgxCis6MTAxMEQwMDA3RjdGRjVGRjlGNUZGQkZFRkY3RkZGRkZDQkZGRkZGQkU3Cis6MTAxMEUwMDBGRUZGQkZBRkZCRkVGRkRGRkVGRUJGRjdGRkZGRkZGRjEwCis6MTAxMEYwMDBGRkM3RkZGRkZERkY3RkRERjdGREZGRkZEN0ZGRkQ3RjkwCis6MTAxMTAwMDBGRkZCRkRGRkZGRkVFRjdGRkRFRkZCRkVGQkZERkY3RjIzCis6MTAxMTEwMDBERkZERkY3QURGRjdGREZGRkZGRkZGMUZGRkZGRDNGN0M0Cis6MTAxMTIwMDBGRkZGNkZEQkZGRkZFRkNCRjRGRkZGRkZGRkZGRkZGRUQzCis6MTAxMTMwMDAyOUZGRThEQTc2OUZBRjZBREFGRTM1RUJEQUQ2QkZBQjg1Cis6MTAxMTQwMDBFQjdBREVCRkQ3N0ZGRkZFRkZCRkVGRkRERjc3QkZGRDhFCis6MTAxMTUwMDAzN0VGRkZFRkZGM0ZGRkZGRkZGRTdGRkZGRkZGRjc3RTUxCis6MTAxMTYwMDBERkZGRkZGRkZBQjc3RkZGRkZGRUZGRkZGRkZGODlGRkYzCis6MTAxMTcwMDBGRkZGRkZGRkZGRkZGRkZGRkY5RkZCRkZGRkZGRTdGRkZCCis6MTAxMTgwMDBGRkZGRkZBQUZGQUJGQkZBRUZCRkZGREZGQTdCQjlGRTYxCis6MTAxMTkwMDBGRUZGRkRGRkY3RkUzRkZGQjdGRkY3RUVGRjdGRUZGRjFDCis6MTAxMUEwMDBGRjdGRkYxRkZCRkZCRkZCRkVGRkJERkZGRjJGRkZCRjRBCis6MTAxMUIwMDBGRjdGREZGQUZGRkZGQ0VFRjVGM0JFRkIwRkVGRjNCRUEwCis6MTAxMUMwMDBFRkZDNUZGRjVBRkZGN0RGRkZGRkZFRDVGQzVGRkJGMjhFCis6MTAxMUQwMDBGRkZGMkZCQkYzRkZGRkJGRkZFRkZGRUZGRkZGRkZGRjlGCis6MTAxMUUwMDBCRkZGRkZGRDdCRkZERkI5RkZGQkZGRDg3RkZGRkZGRkU2Cis6MTAxMUYwMDBGQkZGRkM3RjFGQkZFMERGRjdFRkZGRkQ3RkZFREZGRkEwCis6MTAxMjAwMDBFMEZGRkZGREVGRkJGRkZFRjdERkZGRUI1RkZGRjdGRjA4Cis6MTAxMjEwMDBGRkZGRkZCRkZGRkRGRkZERkZGRkZGRjdGREZGM0JEQzEzCis6MTAxMjIwMDBGRDZEN0I1RjU3RjVGRDdGNUZGRkIxRkZFQkZGRkZGRkJDCis6MTAxMjMwMDBGQkZCRkVGRkJGRkJCRUZGQkZFRkZCRkVGRkFGRkVGN0ZBCis6MTAxMjQwMDBERkRGRkZGRkZGN0ZDRkYzRjhGRkQ3RkJGRjVGQkZGN0M1Cis6MTAxMjUwMDBGQkZGN0ZGRTIzRkZGRkZFN0ZGM0ZGRkJGRUZGRkZGMzlECis6MTAxMjYwMDBGRkZGRjVGOUZGM0ZGRkZGRjA5QUZGQkU3RkZGRkNGOTlDCis6MTAxMjcwMDBGRkZEQUZFQkZFQkZGRkNGRjNGRTdGRkZGRjVCQkRGRkM4Cis6MTAxMjgwMDBCQ0VCRkZEN0Q0QUZBRkZERkZDRkY3RkRGRjdGREZGNzlDCis6MTAxMjkwMDBGREZFRkY2RkZGRkJGRkZGRkZGRDdGNUVGREJGREJGNjg3Cis6MTAxMkEwMDBGREJGNkZGQkVFRkRGRjdBRkZGQUZCRkYzRkZCQjc1RjcxCis6MTAxMkIwMDBENkY3MUY3MURDNzcxREM3MzFEQzc3REZGOUJGRjU1QjJGCis6MTAxMkMwMDBGNEQ3OURBRUZGQkZGREJGREJGNkZEQkY2RkRCRjZGRUMzCis6MTAxMkQwMDAzRDgxRkZFQkZFRkVGRUZGRUI3QURGN0Q3NzdERjU3OTRBCis6MTAxMkUwMDBERjU3RERGNTdEN0VFNkZGRDYzRkJGN0ZGRkQ0RjUzRkJDCis6MTAxMkYwMDBCRkZCQkVFRkIzRUVGQjlFRUZCQkZFOEJGRkZFREZCNzg3Cis6MTAxMzAwMDBFREZGRjdGREZFRkZFRkJCRUVGRkJFRUZCQkVFRUJGQzJDCis6MTAxMzEwMDAxRkZGRkZGREZGRTdGRkY3RkRGRkVGRkVGRkJGRUZGQjQ2Cis6MTAxMzIwMDBGRUZGQkZFQkZBMUZGRkI3RUY1QkZFRkZBRkVCRERFN0EyCis6MTAxMzMwMDBERTc3OURFNzc5REU3NzlEQkZFNjZGRkZGRUZGQkZFRkFCCis6MTAxMzQwMDBGQkZFRkRCRjZGRjZGREJGNkZEQkY2RkRCRkZGN0VGRjRGCis6MTAxMzUwMDBGRkZCRkVGRUZGRUZGQkZERUY3RUY3QkRFRjdCREVGNzUxCis6MTAxMzYwMDBCREVGRkZENUZGQkZGRkVGRkVGRkZDM0YwRkU3RkU3RkE2Cis6MTAxMzcwMDA5RkU3RjlGRTdGOUZFN0ZFRjNGRkZFREZBRERGNjdFRTNECis6MTAxMzgwMDBGQkJGRUZGRUZGQkZFRkZCRkVGRkJGRUZGRjIzRkZGRjQzCis6MTAxMzkwMDBGRkZGN0ZGRkYzQkNEQkZFRkJGRkZCQkVGN0ZCRkY3RjI2Cis6MTAxM0EwMDBERkZGQ0ZGQkZGOUZFM0Y5QkUzRjhGRTc3OUZGOURFN0FDCis6MTAxM0IwMDBGOUZFN0Y5RkU3RjlGRTVGRkZDRkY3RkZGRkZGREZGNzQzCis6MTAxM0MwMDBGRTdGRTdGOUZFN0ZGRkZGRkJGRUZGRkZCRkZGQkZCRjEyCis6MTAxM0QwMDBGRkZFRkZCRkVGRkZGREZGRkZGRkZGRkZGRkY3RkRGRjdBCis6MTAxM0UwMDBGRjNGRkZCRkZGRjdGRkZGN0ZERkZGRkZGRkZGRkZGRkI1Cis6MTAxM0YwMDBGRkZGRkZGRkZGRThFRkZGNUZGN0JGRjlGRURGQjdGRDdECis6MTAxNDAwMDBGRkRGRjdGREZGN0ZERkY3RkRGRkRERkZGMkZGQkZGRjJGCis6MTAxNDEwMDBGRkJGRkZGRjJGRjJGRkJGMkY3QkQyRjdCRjJGRkZCQjE2Cis6MTAxNDIwMDBGRkVFOEZBRkVCRkFGRTNGQTc2OUNFOEZBNEVBRkFFRThDCis6MTAxNDMwMDBCN0FFRUJGREM3RkZGN0Y3RkZGRkZGRkZGRjdGM0VGMzAwCis6MTAxNDQwMDA3NEZGM0Y0RkZGRTdGRjNGRkVBN0ZGRkZERkY3QjdGRjQ4Cis6MTAxNDUwMDBGN0ZGQkFFRjM3RUJGQkZFQkZGQkZFRjNGRkY5REZGRjUxCis6MTAxNDYwMDBCRkZGRkZGRkJGRkZGRkZGRkRERkZGRkRGRkZGRkJGRTM1Cis6MTAxNDcwMDBGREZGRkJCRkZFM0ZFREZGREZCRTNEQTdGQkZBM0ZFNkYyCis6MTAxNDgwMDBFMUZFRkUzRkVGRTNERkY1N0ZGRUZGN0VGRkZGRkZGRkE0Cis6MTAxNDkwMDBFRjZGRjZGRjdERUZEN0RFRkY3REVGRkZGMkZGRkZGRjdGCis6MTAxNEEwMDBGRkZGRkY3QkRFRkJFNkVFRUYzNzZFRjM3RUVCMzdFRjAxCis6MTAxNEIwMDBGRkMxRkZGRUZGRjdFRkZGRkZGRkJGM0ZEMkRGQkYyRkYwCis6MTAxNEMwMDA3QkUyRkZGRTNCQkREQkZGRkVGRkZGRkZGRkZGRUZGRTBBCis6MTAxNEQwMDBGRkZCRkZGRkJGRkZGQkRGRkZCRkZGQjdGRkZGQkZFRjVDCis6MTAxNEUwMDBGRkZGRkZGRkZGRkYwRkZGN0ZGRjFGRUZGMUZERkZGNjg1Cis6MTAxNEYwMDBBRkZGRkZGRkZGRkZFRkZGRkZGRkZFOUZGRkZGRkY3NzQ1Cis6MTAxNTAwMDBFRkY3RkJGRkZFNUZGRkZGQkZDRkZCRjdEREY3RjVGRjU4Cis6MTAxNTEwMDA1RkQ1RjVGRDdGNUZEN0Y1RkZGQjBGRkZGRkE5RUE3QUU3Cis6MTAxNTIwMDBGRkFGOEZGRURGQUZFRkZCRkVGRkJGRUZGQkRGRTU1RjNGCis6MTAxNTMwMDBGRkZGRkZGRkZGQkQ1N0ZGRkY2Rjc3QkZGN0ZCRkY3Rjg5Cis6MTAxNTQwMDBCRkY3RkZGQ0JGRkY5RkZGRkZFRkZGRkVGRkZGRkYxRjg3Cis6MTAxNTUwMDBDRkZGRkNGRkZGRkZGRkZCNjVBRkYzN0NGRjNGREZGRjJCCis6MTAxNTYwMDBGREU5RkU3RkU3RkZGRTdGRkZGRkZGRkZGREUzREZGQkZGCis6MTAxNTcwMDBEQkY2RkRFRjVCRkJGRkRGRkNGRjNGREZGM0ZERkY3RkYzCis6MTAxNTgwMDBERkVGNjZGRkRGQURFQjdBREVGN0Y3RTdEOUZEOUY2N0E4Cis6MTAxNTkwMDBEOUY2N0Q5RkU3REZGNTQ3RkQ2NTVCRDZGNEZFRkZFRkVCCis6MTAxNUEwMDBGRjZERjZEREI3NkREQjc2RENCNzdERkE5QkY2NkQ5REUyCis6MTAxNUIwMDA2NzU5REZGN0RERkZFQkZFQkZBRkVCRkFGRUJGQUZFMzJFCis6MTAxNUMwMDBEMTlGRkZCREJGRUZGRUY3QkZCRkY3RDc3RkRERjc5RDEwCis6MTAxNUQwMDBERjdGREZGN0ZGRTA3RkZEQzFERkY3RkRDNzdGN0ZGQjI4Cis6MTAxNUUwMDBGRkJCRUNGQjNFRkZCRkVDRkJGRkQ4N0ZCRjZDRkZCRTM5Cis6MTAxNUYwMDBGRkJGRURGRkVGRkVGQkJGRUZGQkZFRkZCRkVFRkZDNTQyCis6MTAxNjAwMDBGRkFGNkZGRkZDRkQzRkU3RkZGRUZGRUZGQkZFRkZCRkZECis6MTAxNjEwMDBFRkZCRkVCRjg5RkVGQUJBRkVCRkFGRkJGNkY1RDk3RDQwCis6MTAxNjIwMDA5NzY1RDk3NDVEOTc2NUQzRkVENkZGQkZGN0ZERkY3RjQxCis6MTAxNjMwMDBCRkNGRkJGRUZGRUZGQkZFRkZCRkVGRkJGRkY2OEZGQjE1Cis6MTAxNjQwMDBGRkVGRkI3RURCRkVGRkJFRUZFRUZCQkVFRkJCRUVGQjc0Cis6MTAxNjUwMDBCRUZGRkZERkZGNDNGRkZGRkJFRjVGQjdGRTdGRTdGOTUyCis6MTAxNjYwMDBGRTdGOUZFN0Y5RkU3RkY5QkZGRUFGNzdGREZGMkZBRjRCCis6MTAxNjcwMDBBN0ZFRkZFRkZCRkVGRkJGRUZGQkZFRkZGMTdGRUZERkZCCis6MTAxNjgwMDBGRjk3RjVFRkZGREZGRkZGQkZGRkJGRkZGRkZFRkZGRjhECis6MTAxNjkwMDBGRkUwRkZGRkY5RkUyRjhCRTNGOEJFNzc5RkY5REE3N0MzCis6MTAxNkEwMDA5REU3NzlERTc3OUZEREZGRkRGRDdGNUZEN0ZERkY3RjQzCis6MTAxNkIwMDBFN0ZFN0Y5N0U3RkJGRUZGQkZFRkZGQUJGRkVGRkFGRTEyCis6MTAxNkMwMDBCRkFGRkZGQUZGRkZERkZGRkJGRkY3RkRGRjdGREZGRjhECis6MTAxNkQwMDA2N0ZGRjdGNUZGRkZGRkRGRkRGRkZGRkZGRkZGRkZGRkU2Cis6MTAxNkUwMDBGRkZGRkZGRkZGRUZGRkJERUJGRkZGRjdBREVCRkZERkZFCis6MTAxNkYwMDBGREZGM0ZERkY3RkRGRjdGREZGRjVGRkZGN0ZGRkZGRDMwCis6MTAxNzAwMDBCRkZGQ0JGNEZGN0ZEM0Y3RkQzRjdGRDNGN0ZGRkMzRjU1Cis6MTAxNzEwMDBGRkVBRkFCRUFGQUJFQkJBRjQ5NTZCNTJENEFEMkY0QUU5Cis6MTAxNzIwMDBEMkY2QkZEMjdGRjczRkZGRkZGMzdGRkZGRkY3RkZCQThECis6MTAxNzMwMDBERkZCRkRGRkJGRkZGQkZGRjg3RkVBRkZGRUZFREZGRkUxCis6MTAxNzQwMDBGN0ZGN0ZCQkZGRkZCRkRGRkJGRkZGQkZGRkIxN0ZGRkU3Cis6MTAxNzUwMDBGQkVGRkZGRkZGRkZGRkJGQ0ZGRUZGRkZFRkZGRjdGRjM2Cis6MTAxNzYwMDBGRkZGRjFGRjY5QkVGQUJGQUZFMkZGRkVGREFGRjNGRTgwCis6MTAxNzcwMDBGRkJGRUZGQkZDRkZGRjA3RkQ5NURCREY3RkRGQUZGRjY4Cis6MTAxNzgwMDBGN0FGMzZGRUJGNjVFQkY2RkU5RjZGRkUwN0ZGQ0ZGRjlDCis6MTAxNzkwMDBGOEZFRkZDRkZGRjZGQUU3RkJGRUZGQkJFREY5RkZGRjE4Cis6MTAxN0EwMDBGRjVGRkZGRkZGNzVGRkVGN0VGREUwRTg1RUQzRTVGOTI5Cis6MTAxN0IwMDAzRTVGRDdGN0ZGRkEyRkZCRkZGRkZGRkZGRUZGRkY3RjI0Cis6MTAxN0MwMDA3RkQ3RjU3RDVGNTdENUY1RUZGRkYzN0ZGQzdGRkZDNzMwCis6MTAxN0QwMDBGMUZGRkYxRkNGQjBGRjNGQ0ZGM0ZDRkYzRkNFRkZFNDkxCis6MTAxN0UwMDBGRkRGN0ZGRUY3QkJGRkZGREZFRkVFRkZCRkVGRkJGRThDCis6MTAxN0YwMDBCRkJGRUZGRkQxRkZGRkZGRkRGQkZGRkRGRkZCOUZFOTM5Cis6MTAxODAwMDBGRTdGOUZFN0Y5RkU3RkJGRkZCM0ZGRkZGN0ZGRkZBRjRDCis6MTAxODEwMDBGN0ZGQjYzRkVCRkFGRUJGQUZFQkZBRkVCRkZFQTdGRjQ2Cis6MTAxODIwMDBGRkZGRkZGRkY3RkZGRkZGRkU5RkY3RjlGRjdGOUZFNzM3Cis6MTAxODMwMDBGRkZGRkVBRjZGRkZGRkZGOUZGRkRGRkY3RDVGRERGRjVECis6MTAxODQwMDBGQkJGRTdCQkZGRkJERjZENUY3RUZGRkZGRkZGRkZGRjFGCis6MTAxODUwMDBFQkY3RkZFN0VGRjdGRkZGN0ZGRkY3RkZGQzhGRkZFRkVGCis6MTAxODYwMDBGREZFRkZCRUY0RjI3REQ3Q0ZGRjNGRkZGRkZGRkZGRjdFCis6MTAxODcwMDBGRkNGNkJGRkJGM0ZGQkYyRkM3RkVCRkY5RkZBRkZGRjQ5Cis6MTAxODgwMDAzRkZGRjNGRkZGRkQ3MEY3RkZGRkJGRkZGQkQ3RkVGNTQ0Cis6MTAxODkwMDA3N0ZGMTVERDc3RkRGRjdGREZGN0ZCQ0RCRkZGRkRGRjk2Cis6MTAxOEEwMDBGRkRGMzdDREY5RUNGRUVGQkJGNEZCM0Y0RkIzRkZGRDlECis6MTAxOEIwMDBDQkZGRTk3RTU0OUZFNTRCQjdGRkREN0RDNzcxREQ3NzM4Cis6MTAxOEMwMDA1REQ3NzVDRDdGRDZGRkQzRjZGOTNGNkQ5NUFGN0ZGRTFGCis6MTAxOEQwMDBGRkVGRkJGRUZGQkZFRkZCRkVGNkM3RkZBRDdCQ0FGRkNFCis6MTAxOEUwMDBCRkJGRUZGREUzREZCN0VERkI3RURGMzdFREUzRkJERkVGCis6MTAxOEYwMDBGRjUyNUMxNUZEQ0Y3RkRGRkVFRkVGRkJGRUZGQkZFQzdECis6MTAxOTAwMDA3QkZFRkZGRTNFN0ZEQUY3RkRGRjdGRkZGRkZCRUZCQkI1Cis6MTAxOTEwMDA2RkZCRkVGRkJGRUZGQkZGRjc3REZGRDhGRkZEQkY3RjMzCis6MTAxOTIwMDBGQkZGRkY5RkZCRkU3RjlGRTdGOUZFN0Y5RkVBN0ZGNkFECis6MTAxOTMwMDBCRkJENkE1QUY2RTVCRjc3NUY2RERENzc1REQ3NzVEREIwCis6MTAxOTQwMDA3N0ZGQTVCRkNGRkJGRkZGQkZDRkZCRkRGRkJGRjNGRUMwCis6MTAxOTUwMDBGRkJGRUZGQkZFRkZGREFCRkZCRkJGRkZGQkZGN0ZFRjU2Cis6MTAxOTYwMDBGRkJFRkJFRUZCQkVFRkJCRUVGQkJGRkZCNUZGRDBCQzg3Cis6MTAxOTcwMDBGRDJGNEJGN0ZGRkY5RkY5RkU3RjlGRTdGOUZFN0Y5RjRCCis6MTAxOTgwMDBGQThGRkRBQkZBREFCRkFGQjNGREZGQkZGQkZFRkZCRkJGCis6MTAxOTkwMDBFRkZCRkVGN0JGRkY5RkZGNzdGN0JERkQ3N0RGRkY3RTExCis6MTAxOUEwMDBERkVEQkJGRUZGQkVFRkZCRkVGRkZBM0ZGRkJFNkY4RjFBCis6MTAxOUIwMDBFNkY5RkU3RjlGQzdGRTdGOUZFN0Y5RkU3RjlGRTdGQjZCCis6MTAxOUMwMDA3RkZGN0ZDRkZGRkRGRkZGREZGQkFGQkZFRkZGRkVGRjFFCis6MTAxOUQwMDA5RkVGRkJGRkZDRkZGQkZFRkZGRkZGRkZGRUZGRkZGNzlDCis6MTAxOUUwMDBGRkZGRkZGRkZGRkZGRkZGRkZGNUZGRkZGRjNGREZGN0Y5Cis6MTAxOUYwMDBGRkZGN0ZFRkZFRkZCRkZGRkJGRkZGQkZFRkZGQjM3RkU4Cis6MTAxQTAwMDBGRjdCNUVGN0ZERkY3QjdGRjdGRjdGREZGN0ZERkY3RjRCCis6MTAxQTEwMDBERkY3RkYxN0ZGRkZGRjdGRkZGRkRERjZGQ0JGQ0JGMjE1Cis6MTAxQTIwMDBCQ0JGMkZDQkYyRkNCRkZFOEZGRkZBN0VCRkE3RUJEQTY1Cis6MTAxQTMwMDBGQ0JGQUY3QUZFQkZBRkVBRkFGRUJGQUZGNERGRkVGRjM2Cis6MTAxQTQwMDBGMzNDN0YzRUZGQ0ZGOEJGOEZFM0Y4RkUzRjhGRTdFODIwCis6MTAxQTUwMDBGRkZDOUZGRkZGQ0ZFQkIzRTdGQjdCRjNGRUZGQ0ZEQjhBCis6MTAxQTYwMDBGQkZCQkY2RjZGREZFQzdGRkZGRkY3RkRGREZGRkZGRkFECis6MTAxQTcwMDBGRkIyQkZGRkRFRkRCREVGRkJGNkRGRUFFN0RCRkVCQjNCCis6MTAxQTgwMDBGRkVCRkJCRjlGOEZFOEZFM0Y4RkEzRjhGRTNGOEZGRjZBCis6MTAxQTkwMDBGODdFRkRGRDdGRkZGQkNERkZGREZGNUZFRkZERkZGRjRDCis6MTAxQUEwMDBERkY3RkRGRkJFOTBGRkZGRUVGRjNGQkZGM0JCRkVCN0NBCis6MTAxQUIwMDBBQkZBRkVBRkFERUFGQURFQUJGRjYzRkZGRUYyRkZCM0I3Cis6MTAxQUMwMDBGRkRGRUU3REZGMDNGMUY0M0YxRkMzRjFFQzdGRkU2RkZDCis6MTAxQUQwMDBGRkZCRkJGRjlGRkZCRkZGN0I1RkZERkZERkY3RkRGRDEwCis6MTAxQUUwMDA3RjdGREZGRUNGRkJGRkZGQUZGQkZGMUZFRkE1RkRCRjNCCis6MTAxQUYwMDBERkZCN0RGRkJGREZGQkZGRkQzQkZGRkZGRkZGRkZGREM4Cis6MTAxQjAwMDBBRkYzRkZGQjdGQkZEN0ZCQkY3RkJCRjdGRkY4N0ZGRkM0Cis6MTAxQjEwMDBGQTVGRDdGRkRGN0ZFRkZGRkY3RkRCRjdGREZGN0ZERkEwCis6MTAxQjIwMDBCN0ZCRUNGRkZGRjdCRkVGRkRGQ0ZCRkZFRkYwRkUzRjY1Cis6MTAxQjMwMDA4RkUzRjhGRTNGOEZFRjhERkZGRkVGN0ZCRkZGRkJGRkNGCis6MTAxQjQwMDBEQkJGRkZGRkZGRkZGRkZGRkZGRkZGRUZEOEZGMkU3RjkxCis6MTAxQjUwMDBCRUVGRkU2RUZGQkZGOUZGRkZGM0ZGRkZGRkZGRkZGRkNBCis6MTAxQjYwMDBGQzY2QkU0N0YzN0ZERkZFODc5RkZGRkZGRkZGRTdGRkI3Cis6MTAxQjcwMDBGRkZGRkZGRkZGRDY2RjdDRkI0RkQyRkZGRDJCRkVGRjY5Cis6MTAxQjgwMDBGRkZENUZEN0Q1RjU3REZGRkZGRkJGOUJGRkZGREZCN0YxCis6MTAxQjkwMDBGRkZGREZGRjNGQ0ZGRTdGQkZFRkZCRkNGRjNGRkZEOTIzCis6MTAxQkEwMDBCRkZFOTdFQzhGQjdGRTlCN0RGREI3REQ3NzFEQzc3MTNDCis6MTAxQkIwMDBERDc3NUREN0YzNkZGRDNGNzNEREFGRkQ3QUZGRkZBRkRDCis6MTAxQkMwMDBGRUZEQkZFRkZCRkVGRkJGRUY2NjdGRkZGRkJGQkZGRjY2Cis6MTAxQkQwMDBGQkZGRjdERkZERkI3RERGQjdDREYzN0M1RjNGOTEzRjgwCis6MTAxQkUwMDBGRjNERUY3QkZGRkNGRkNBRUZGRUZGQkRFRkZCMUVFN0YzCis6MTAxQkYwMDBCQkVDN0ZCM0ZGRkQ5RkZGRkZGRUZGRkY3RkJGRkJGRTQwCis6MTAxQzAwMDBGRkJGRUZGQkVFRkJCRkRGNjdGRkZGQkZFRkRCRkZCQ0ZDCis6MTAxQzEwMDBGRTdGRkJGRjlGRUZGOUZFN0Y5RkU3RjlGRTg3RkZFRTU4Cis6MTAxQzIwMDBGQkJFRTVCRkVGRjlENzY1RjdEREU3N0RERjc3NURENzcxCis6MTAxQzMwMDA3RkY4OUJGRUZGQkZFRkZCRkZGRkJGRUZGQkZGN0ZDRkY4Cis6MTAxQzQwMDBGM0ZDRkZCRkVGRkZEQjNGRUZGQkZFRkZERkZGRkVGQjIxCis6MTAxQzUwMDBCQkVGQkZFRkJCRUVGQkJFRUZCQkZGRkM3RkZEM0I1QjEzCis6MTAxQzYwMDBENkU1RkQ0RkMzRkJGRkJGRUZGQkZFRkZCRkVGRkJGRjYyCis6MTAxQzcwMDBCNEZGRkFCQzhGQjJFOUQyMkVDRkZCRkZCRkVGRkJGRTYxCis6MTAxQzgwMDBGRkJGRUZGQkZGRUNGRkZERkQ3RkRGRjdFNERGNUZGRjUyCis6MTAxQzkwMDBGRkZCRkZGRkZGRkZGRkZGRkZGRkMzRkZFRkU2RjhGRUM1Cis6MTAxQ0EwMDAzRjhCODNGOUZFN0ZFN0Y5RkU3RjlGRTdGOUZFN0YxNzAxCis6MTAxQ0IwMDBGREZGRkZGRjdGNUZGNzJDRkZGRkZGRkU3RkZGRTdGOUQwCis6MTAxQ0MwMDBGRTdGOUZGRTJGRkZGRkVGRkZGRUJGRUZBREZGRkY3RjA5Cis6MTAxQ0QwMDBGRkZGRkZGRkZGRkZGRkZGRkVERkZGREZGRkZERkQ3RkQ5Cis6MTAxQ0UwMDBERkY3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZBM0ZGRUYyCis6MTAxQ0YwMDBGN0ZERUY3QUZGQjFCREZGN0ZGN0ZERkY3RkRGRjdGRDU3Cis6MTAxRDAwMDBGRjdGRjMyN0ZGREZGRkRERkZGQzlCRkZDQkZDQkYyRjM3Cis6MTAxRDEwMDBDQkYyRkNCRjJGQzlGRkRFRkZERkFGRUJEQUZFQkJBRkJDCis6MTAxRDIwMDBFQkY4RjdBRkU4RkFGRUJGQUZFQkYyRkZGREZGRkZFRjE2Cis6MTAxRDMwMDBCREQ3QkZGRkZGREU4RkI4REUzNzhEQTM3OERBM0Y4RkM4Cis6MTAxRDQwMDBGRkExRkZGRkZCRkJGRkZGRkZGRkE3QkRGQjc2RkRCRjcyCis6MTAxRDUwMDBFRkRCRkVCQkJGRkUyNzdGRkZGRUZFRkRGNUZGRUZGNUNECis6MTAxRDYwMDBERjFGRTdGREZGN0ZERkY3RkRGRkZGQ0RGREFFRkZGQUQxCis6MTAxRDcwMDAzRTNGQUJGREY4N0U4RkUzRjhGRTNFOEZFM0Y4RkZGRUJCCis6MTAxRDgwMDAxRkVGREZCRkZFREVERkQ5RkZERkJDRkZGRjdGRkZFRjBFCis6MTAxRDkwMDBGRDdGREZGN0Y5M0ZGRUZGRkY2RkZFREVCRkY3RURFQUU1Cis6MTAxREEwMDBGRDhGODNGOEVBM0Y4RkVGRkZGNDdGRkZFRkVGN0JGM0M4Cis6MTAxREIwMDBGMTVGRkZGRkYxM0I3RkRGRjdGREZGRkZGRkZGRTBGRjdDCis6MTAxREMwMDBGRkZGRjdGRjZGRkY3RkZGRkZGN0RFRjdCRkVGRkJGN0M4Cis6MTAxREQwMDBGREZGRkZGNUZBRkZGRkZCRTdGRkYzRjg3RkYzREZGRkZGCis6MTAxREUwMDBGRkZGRkZGRkZGRkYxRkVGQkJGRkZGRkZGRkZGRkZGRDM5Cis6MTAxREYwMDBGRjdGRkY5RkZGRkZGRkZGRkZGRkZGQ0ZGRjM3RkZGRkNCCis6MTAxRTAwMDA3RkRGNzc1REU3RkNGRkJGRjdGNUZCRkZGRkQ3RjVGQjUzCis6MTAxRTEwMDBGRkZGNDVGRDdGRUFGREJFQkZERkY3RkZGRkRCRkJGRUY3Cis6MTAxRTIwMDBGRkJGRUZGRkZGRkZGQjVGN0ZGRkZFRkZGRkZGRkZGRjM3Cis6MTAxRTMwMDBGRkZFRkZFRkZERkY3RkRGRkZFRkZCRjgwRkYzRkZGOTgyCis6MTAxRTQwMDAyRUZCRkVGQ0YzRUZGRkZGQkZGRkZCRTdGRkZFN0VGRjc1Cis6MTAxRTUwMDBDMDZCQ0ZGRjM0REZGMUZERkZFRkZGRkZGRkRGRjdGRENBCis6MTAxRTYwMDBDRjdGOUNGREZENkNGN0ZGRjZGREVCMkI5RkZGRkNGRThCCis6MTAxRTcwMDA3RUZGRkZGRkZGRDdGM0Y3RkZGQkUxQkZGRkVCN0FERTRCCis6MTAxRTgwMDBEN0ZCRkZGOUZFRkZGRkYzREU3RkZERTc3RkZGRkRCQjIyCis6MTAxRTkwMDBGRkZGN0VDQ0Y2QUY1RjdGRkVGNDdERjdGREJCNkVEQjEwCis6MTAxRUEwMDBCN0ZGRjdERjY2RkZGRkY3M0RDRkRFQkRGRkZGREVEQkVECis6MTAxRUIwMDA4REY3N0VERkI3RUY3RkZGRjY4N0ZGRkZFRkZFREVCRjE4Cis6MTAxRUMwMDBGRkZGRkZCQkVGRkRGRjdCREVGNzNGRkZCRkZCREJGRjRECis6MTAxRUQwMDBGMkI2RkRCRDdGRTdGRkZGRkY2RkY3RkZGRkZGRkU3NzY1Cis6MTAxRUUwMDBGRkJGRjhBRkZGREZCRkZGQkY3RkZCRkZGRkZGREJGRUUyCis6MTAxRUYwMDBGRkJGRkZGQUZGRkRGRkY2N0ZGRjlGRkZGRjNGRUZGOEY5Cis6MTAxRjAwMDBFRTdFOUZCQUZFQkY4RkVGRkVGRUY5RkZGQTdGRkU3RUU4Cis6MTAxRjEwMDBCRkFGRkI5NkZEOUZFRjVFNjVCRUVGNUJCNkZGQkVFMzE2Cis6MTAxRjIwMDBGRkI1QkZGRkZERkY3RkZGRUZERkZFRkZCRkZCRkVGRjQzCis6MTAxRjMwMDBCRkNGRkZGRkZGRkQ5QkZGRkVGQkZFREZGRjdGRkZGNzM1Cis6MTAxRjQwMDBGRUZGREZGQkZCRkVGRkZGRkZGRkZGQjdGRUZBRkZBQjZECis6MTAxRjUwMDBFRkZGRkRCNTdCN0ZGQkY3RkRGRkZGRERGRkVGOEZGRkExCis6MTAxRjYwMDAyRkZGRkI3Q0ZGM0ZERjczRUJGRTNGRkZFRkZCRkVGRjJFCis6MTAxRjcwMDBFRkZERkZCRkZEMEZGRkZGRkZGNUY5RkY3RkQ3RkRGRjZGCis6MTAxRjgwMDBERkZGRjdGQkZGN0ZCRkZGRkZGMDlGRkZGRTdGOEJFM0NECis6MTAxRjkwMDBGOURFMjc5QkU2QkU3RjlCQzNGOERFN0Y5REU3RkU3RkQxCis6MTAxRkEwMDBGRkZGNUZEN0ZGRkZGRjRGRkJGRkZGN0ZGRkFGRkY5RkVECis6MTAxRkIwMDA3RkZCRkZFOEZGRkZGRUJGQUZGRkZGRkVCRkVGRjdGRkI2Cis6MTAxRkMwMDBCRkZGRkZGRkZGRkZGN0ZGRkNGRkZGRkQ3RkZGRkZGRkVFCis6MTAxRkQwMDBGRDNGQ0ZGRkZGRkZGRkY3RkZGRDdGRkZGRjkzRkZGRkY5Cis6MTAxRkUwMDA3QURGRjdGRkZGN0I3RkI3RUZGRkZGRkRCRkZERkJGRjUyCis6MTAxRkYwMDBGN0ZGRDdGRkZGRkZGQzlGNkZDQkZGRjRCQkRGRDZGREUyCis6MTAyMDAwMDBCRjJGRDNGN0ZGREZGRkNGRkZGQUJFQkRBRjZBREFCRTQ3Cis6MTAyMDEwMDBCQkFCM0FCRTJEQUVFQkRBRjYzRkFERjVEREZGQ0ZGMTRGCis6MTAyMDIwMDBGRkY5N0ZGRjczRkVGRkNGQzNGNEY3MkZGM0ZGRkNGRjMxCis6MTAyMDMwMDA3QzFGRkYzRjRGRkY3RUZGRUZCREY2RkVGRjJCRUZEQzY3Cis6MTAyMDQwMDBGQkZERkZGQkZGRUE3QkZGRkZGRkZGRkZGQkY3REZGRjZGCis6MTAyMDUwMDBFMzdERkZCN0ZGQkZGRkZGREZGRkY4RkZCRkZGQkZFQjcxCis6MTAyMDYwMDBFN0ZBRkUzREJGRTlGQ0JGRkZGQUZCRkVGRkZGRkZEOTI5Cis6MTAyMDcwMDBGRkZGRkZGNjdGRkZGNjdERkZERkNGRkRCRkZCRUY3RUFCCis6MTAyMDgwMDBGRjdGRkZGRkQzRkZGREZCRkZGQkZGRkZGRkVGRkZCRjY2Cis6MTAyMDkwMDBGRUZGRjdFRkZGRkZGRkZCRkY4N0ZGRkRGRkZGRkZGRkU3Cis6MTAyMEEwMDA3QkZFRkZGRTNCRjdGN0ZGM0ZGRkZGRkZGRkZGMEZGRjRBCis6MTAyMEIwMDBGRkZGRkZGQkZGRkZGRkY3RkZGRkFERkZGRUY3RkZGRjk3Cis6MTAyMEMwMDA1RkZGRkZERkZGRkRGRkY1RkZERkZGQkRGRkU5RkZDNzlDCis6MTAyMEQwMDBGM0ZGRkZGN0ZGRjNGRkY4M0JGRkZGN0JERkJGRkJFRkYzCis6MTAyMEUwMDBGQkZGRkJGN0Y3QkJGRkZGRkZGRkZCRkZGRTdGRjM3RjZECis6MTAyMEYwMDA1RUI3QkZGRDdGRkZGOTdGRkJGRkVCRkQ3RjdGRkZFRjRCCis6MTAyMTAwMDBGQkUwM0ZGRUJGQkZERkZGN0VGRkY3RkZGRkZFQkZGRjJECis6MTAyMTEwMDBEQjc4RkZGRkZGRUVBMUJGRjVERUZCRjdGRkZCRkZGRjY0Cis6MTAyMTIwMDBGRkZGRkJGRkZGRDdGRkZGRkZGRkVGRjBGRkZGRkZGMzE2Cis6MTAyMTMwMDBGN0ZGRUZGRkU3Q0ZGRkZCRkZFRkZGRkY5RjlGRUZGQ0Y2Cis6MTAyMTQwMDAxNkJGRkVGM0U0RkZGRkM2RkZFN0ZGRkZGREZGQkZGRjgzCis6MTAyMTUwMDBGRjNGRkZCRkQ2QUY3RkZFNkI3RTdGRkZBRkZGRkZCRkFFCis6MTAyMTYwMDBGRjVGRkZGRUZGRkZGRUZGRkZCRERCRkZGRTVGRjJGRjM1Cis6MTAyMTcwMDBGRjVGRkZGRkZGRkZGRkZGRUY3RkZGRkZGRkZGREVCRjAwCis6MTAyMTgwMDBGRkZGRUZGQjc3RkVCRDdGNUZGRkZGRkZERjZGRURGRjIwCis6MTAyMTkwMDBGREZGN0ZGRDZGRkZGRjc3REFDRkZENUZGRkJGRkZGRjIyCis6MTAyMUEwMDBERjdGRkZGQkZGRkZGRkZGNjY3RkZGRkVCRkU3QkZGQTlBCis6MTAyMUIwMDBGRkZFRkZGRkZGREZGRjU5RUZGRkVGRkI3Rjg5RkZGRjEwCis6MTAyMUMwMDBFOUZGNkZGRkY1RkZGRkZGRkZGRjdGRjJGN0ZGRkZFRjc0Cis6MTAyMUQwMDBGODdGRkJGRkZERkZGRkQ5RkZFRkJCRkZGRkZGQkZFRjY2Cis6MTAyMUUwMDBERUZGRkY5RjdGREZGRkY3RkZGRkZGRkZERkZGRkZBRjk4Cis6MTAyMUYwMDBGRkZGRjczRkVCOUZGRTdGOUU3RjlGRkU4N0ZGRUREQjlDCis6MTAyMjAwMDA1NkZGQkZBRjBCRDJGRkVGREI2RTdEQkQ2RkY4RkUzRjE5Cis6MTAyMjEwMDBGQTVCRkZGREJGRUZGRkJGNkZEQkU2RkZGRjNGRkZERkI2Cis6MTAyMjIwMDBGRUZGRkZGRkZGREEzRkZGRkJGRUZFRkZGRkRGRjdCRDE0Cis6MTAyMjMwMDBGRkZERkZGRUZGRkJGRkZGRkZGRkYxNUZGRDlGREZGREU3Cis6MTAyMjQwMDBGRkZEN0ZGRkZGRkZGRjc2RkFGRkZGN0ZFM0Y4RkZBRUEyCis6MTAyMjUwMDBGRkZCN0U5RDczRkZGQTdGREZGRkZGN0ZGRkZCQ0RGRjVDCis6MTAyMjYwMDA3RkVGRkJGRkZERkZGNzdGN0ZFRkZGRURGRkZGRkZCNTg4Cis6MTAyMjcwMDBGRkJGRkZCRkZERUZEQkY3RkY5M0ZGRUZFMkY5QkU3RjhDCis6MTAyMjgwMDA4QkU3RjlGRTZCRTdGOUZFN0Y5RkU3RjlGRTdGNDdGRkRCCis6MTAyMjkwMDBGRkZERkY5RkZGRDdGRkZGRkZGRkY1RkY5RkZGRjdGRTRCCis6MTAyMkEwMDBGRkJGRkU2RkZGRkZGQkZGRkZGRkFGRkZGRkZGN0ZGQkU3Cis6MTAyMkIwMDBGRkZFRkZGRkZGRkZGRkZEREZGRkZGRjdGRkZGRkZERjc5Cis6MTAyMkMwMDBGRkZGRkY1RkZGRkZGRkZGNUZGQkZFRkZGODM3RkZGRjMyCis6MTAyMkQwMDBFRkZGN0ZGRUJGRkZGRkZFQkZGRkZGN0ZGRkJGRkRGRkUyCis6MTAyMkUwMDA3RkZBN0ZGRkZGNkZGRkZGN0RGRkNGRkZGRkZGNEZGRkY1Cis6MTAyMkYwMDBGMkZGRkZGRkZGRkZGQUJGRkZBRUVCRkFGRUJCQURFQjU1Cis6MTAyMzAwMDBGQUY3QUY2QkZBRjZCRjI1RTlGMjdGNDVGRkZGRkRGNzVECis6MTAyMzEwMDBGN0JGRkZERkZGRkZCRkZCRkZERkYzRkZGNzNGQ0ZGRjlECis6MTAyMzIwMDBBMUZGRkZCRkU3RkZGRjdGRkYzREZGRkZGRkY3RkYyRjhECis6MTAyMzMwMDBGRkZCRjU3RkZFNTdGRkZGRkZGRkZGRkZGRkZGRkZGN0VDCis6MTAyMzQwMDAzRkZGRkVGRkZGRkZGREZFRjdFRUFGRkVFRUU3RkFGRkY5Cis6MTAyMzUwMDBGRTlERjk1RUZFRkZFQkZGRkZERkE3RkZGRkZGRkNEQjRCCis6MTAyMzYwMDBGRkZGRkY3RUZCRkZGRkVGRkJGREZGREJGRkZGRkZFRjRDCis6MTAyMzcwMDBGRkZGRkZGREJGRkVCRkZGNkY3RkZGRjdGRkZGRjlGRjBFCis6MTAyMzgwMDBGN0ZGQkZERUY3RkZGRkZGRkE3RkZEQkY1RkZGRkZCRjc1Cis6MTAyMzkwMDBGRkVERkZGN0JGRkZGRkVGRkZERkZGRkZGRkU2RkZGQkY0Cis6MTAyM0EwMDA3RkZGRkZGRkZGRkZGN0ZGRkZGRkZGRkZGRkZGRUJGRkQ5Cis6MTAyM0IwMDBGREZGRjVGRkY2N0ZERkJEQ0ZGRkZGRkZGRkRGRkZGRjc0Cis6MTAyM0MwMDBGRkY5RkZGRkZGRkZGRkUzRkZFRUJGRkY3REVGRkVGRjIzCis6MTAyM0QwMDBGRkZGQkZGRkZGRkZGRkZFRkZGRkZGRkZFN0ZGQjVBRTAxCis6MTAyM0UwMDBGRkZGQjZGRUJGRkZGRkJGRkZGRkZGRkZGRkZGRkZGRkM3Cis6MTAyM0YwMDBGRjI3RkZFRkZFN0ZERkZGN0VGRkZGRkZGRkZGRkZGRkY3Cis6MTAyNDAwMDBGRkZGRkRGRkY3Rjk5RkZGNUZGRkZGRkZGRkZGRkY3RjZDCis6MTAyNDEwMDBGRkZGRkVGRkZGRkZGRkZGRkZGRkZGMEZGRkU3QkZGRTE2Cis6MTAyNDIwMDBGRkJGRkZGRkZGRkZGQ0JGRkZGRkZFRkZGRkZGRkZDNDdCCis6MTAyNDMwMDA2QkZGMjkxRkZCQUZGRkZGRkZGRkZGRUYxQkZFRkZGQzQyCis6MTAyNDQwMDA2RkZGRkZGRDZBRjdEN0Y1QkZGRkZFRkZGRkZGRkZGRjNFCis6MTAyNDUwMDBGRUJGRkZGRkZBRkZGRkY3RkJEREJGRkZFN0ZGRkZGRjU4Cis6MTAyNDYwMDBGRkZGRkZGRkZGRkQ3RkZGRkZGNUZGRkZGN0ZEQjNFRjZFCis6MTAyNDcwMDBGRDdFNURGRkZERkZGRkZGRkQ3RkQyRjVGQjdFQ0JCNzRECis6MTAyNDgwMDBGRkZGRkZDNkZGRkRFRTYzRkZGRkZGRkZGRkY2RkQ2NUU5Cis6MTAyNDkwMDA1QkRGRkZENUZGRkZGRkY2RTdCRkY3QTlGRkZGRURGRjBCCis6MTAyNEEwMDBGRkZGRkZGRkVCRkZGRkZGQUZGRkZGRkZGODFCRkZFM0E3Cis6MTAyNEIwMDBEMEJGRkZFMUZGRkZGRkZGRkZEN0ZGRkZGRjVGRkZGRjgxCis6MTAyNEMwMDBGRkZGQUZGRkRCNzZCRkZGN0ZGRkJGRUZGRUZGQkZFRjdBCis6MTAyNEQwMDBGQkZFRkZGRkZGQkZGMjdGRkY5RkZFQkRGRTdGRkZGRjAyCis6MTAyNEUwMDBGRkZGRkZGRkZGRkZGRkZGRkZGNzNGRUM3RkY2OTVCQjBFCis6MTAyNEYwMDBFRkY4RkVGQ0JGMkZEQUZDQkYyRkNCRjJGQ0JGRUZGRkUzCis6MTAyNTAwMDBBOUJGQ0ZGQkZGRkZGRkZFRERCNzZERjZEOUI2NkQ5QjEwCis6MTAyNTEwMDA3NkQ5QkZGQkZEQTNGRkJGRUZGRkVGRkZGRkZGN0ZERjFDCis6MTAyNTIwMDBGREVGN0JERUY3RkRFRjdGRkZGRjA1RkZGQUZFN0ZFRjlDCis6MTAyNTMwMDBFM0ZGRkZGRDdGRkZGRkZGRkY1RkZGRkZGRDdGRkJBRkJGCis6MTAyNTQwMDBGRjYzQzhGRkJGRUZGRkZGRkE3RkZGRkZGRkZFOUZGN0FDCis6MTAyNTUwMDBGRkZBQkZGRTlGRkI3RkZGRkZFRkQ3RkZGRkY1RkZGRkY3Cis6MTAyNTYwMDBGRkZGRkQ3RkZGRkZCRkZGRjlCRkZGQkUyNzlGRTdGOTFBCis6MTAyNTcwMDBGRTdGOEJFN0ZFN0Y5RkUyRjlGRTdGOUZFN0YxN0ZGRjAzCis6MTAyNTgwMDBGRkZGRkJGRUZGRkZGRkQ3RkZGRkZGRkZGNUZGRkZGRjkyCis6MTAyNTkwMDBEN0ZGRkFGRkZFRkZGRkZGRkRGRkZGRkZBRkY3RkZGRkQzCis6MTAyNUEwMDBGRkVCRkZGRkZGQUZGRkM0RkZGN0ZGRkZFRkZGRkZGRkYyCis6MTAyNUIwMDBGRjVGRkZGRkZGRkZEN0ZGRkZGRkZGRkZFQkZGRkI3QTkwCis6MTAyNUMwMDBERkY3RkRGRkZGRkVCRkZGRkY3RkZGQUZGRkZGRkZGNzVFCis6MTAyNUQwMDBFRkUzRkZEREQyRkZERkZGRkZGMkZDQkZDQkY2RkRCRjc1Cis6MTAyNUUwMDAyRkNCRkY3RkRGREVBRkZGREFFRUJGQUZFOUZBRjRCRDNFCis6MTAyNUYwMDBBRjVBQUVCQkFCNkJEQURFQkZBREQ3NUVGRkZGQkZGQzQxCis6MTAyNjAwMDBGRkRGRkRGRkZGRkZGRkRGRjdGRkZGRkZGRkZERkZGQTJCCis6MTAyNjEwMDAxRkZGRkVGQkVGQkZGREZGRkRCRDc3RkZGRkZGRkY5RDJGCis6MTAyNjIwMDBFRkZGRkZGRkVGN0RGRkZCRkVFRkZGRkZGRkZGRkZGNzc5Cis6MTAyNjMwMDBGRkZGRkZGRkZGRkZGRkVFQkZFNEZCRkZGRTNGRkVGRkRDCis6MTAyNjQwMDBGRkZGRkZBRkVBRkVCRkFGRUJGQUZFRkZGRkZGNTVGNjVECis6MTAyNjUwMDBGRkZFRjdGRjdGRkZFQkY3NUZDNUZEN0Y1RkQ3RjVGRjVECis6MTAyNjYwMDA2RkZCRkY4QUZGRkZGRkZGRUJGRkZGRkZGRkZCQkZCRjFCCis6MTAyNjcwMDBFRkZCRkZGRkZGRkZGQkZGNzdERkZCRkZGRDdGRUZGRkMwCis6MTAyNjgwMDBGRkZGQkY3RkZGREZCRkZGRkJGRkZGRkZGRUVGREZGRkFGCis6MTAyNjkwMDBGRUZGOUZFRjdERkZGN0ZGN0ZGRkZGREZGN0ZERkZFRkZGCis6MTAyNkEwMDBERkZGREZGRkZGRkZGRkZGRkZGRkZGRkZGREZGRkZGQjgwCis6MTAyNkIwMDBGREZGQkZERkQxRkZGODNCRkZGRkZGRkZGRkZGRkZGRjg1Cis6MTAyNkMwMDA3RURCRkRGRjc3REJCNzdEQkZGQkZGRjg3RkVEN0I1RTM5Cis6MTAyNkQwMDBGRkZFRkZGRjRGRDdGRDdGREZEN0Y1RkY3RkZGRkZGRjM3Cis6MTAyNkUwMDBGMjNGRkVGRkJGRkZGRkZGRkZCRkVGRkVGRjNCRUVGRjJFCis6MTAyNkYwMDBGQ0VGRkZGRkZGODVGRkZERkVGRkY1RkZGRkZFRkZERkE1Cis6MTAyNzAwMDBGQkZGNUZCRkZGRkRGRkZGRkZGRkE4RkZGRjlGOUVGRkQ3Cis6MTAyNzEwMDBGRkZGN0ZGM0ZGRkZDRkZGRjdGREZGN0ZGRkZGRkMxNkZCCis6MTAyNzIwMDBCRkNGQTNFNUVGN0ZGRkYzRTRGRkNGOTNGQ0ZGM0ZDRkU1Cis6MTAyNzMwMDBGRkZGRkZENjBGN0RCRjZFRkJGNEZDQUY2RERCNzdCN0ZECis6MTAyNzQwMDA2RERCRjZGREJGRkZGRkZGQkY5QkZBREVCN0I3RURGOTBDCis6MTAyNzUwMDA3RUI3QUNFQkQ2QjNBREVCN0FERkZGRkZGRkQ4QkZGRkEwCis6MTAyNzYwMDBCN0VEOUY2RkRERjc2OERCMzdCMzZDREIzNkNEQjM3RjNBCis6MTAyNzcwMDBGRjdGRjU2RkZERUY3OTNERjc5M0U0N0E5RUFERUE3QTNFCis6MTAyNzgwMDA5RUY3QkRFRkZGRkZGRjc2N0ZGQkM2RkZCQkVGREFGRUQ0Cis6MTAyNzkwMDBGREJGRkJGRUZGQkZFRkZCRkZGRkZCRkZBNUZGRkRBQjk4Cis6MTAyN0EwMDA2Rjc4REUxNzhGNzlERkZERkY3RkRGRjdGREZGRkZGQjFGCis6MTAyN0IwMDBGRkZCRkZFRkZCRUZGQkZFRkZCQkRBRjNFRjNCQ0VGM0RDCis6MTAyN0MwMDBCQ0VGM0ZDRkRGRkZCN0ZGRkZGRkNGNzNGRkJGRUZGRkQwCis6MTAyN0QwMDBGM0ZGM0ZDRkYzRkNGRjNEQ0Y5RkZFMDdGRkFGRUJGRUM0Cis6MTAyN0UwMDBGREJGRUZFQkZBRkZBRkVCRkFGRUJGQUZGQkZFM0ZGQjI3Cis6MTAyN0YwMDA5QkZGN0ZERkZGRjNGRUZGREVGN0JGN0JERUY3QkRFRjYyCis6MTAyODAwMDA3QkZFRkZGRkRGM0ZGRUZGQjdGRkVGRjdGRkJGRURGRUYxCis6MTAyODEwMDBERkI3RURGQjdFREZGRkZGRkZGRDVGRUZFQkZBRkVGNUJECis6MTAyODIwMDBCRjZGRkZGRkZGRkZGRkZGRkZGRkZGRkVGOEZGQThGRkU3Cis6MTAyODMwMDBGRkJGRUZGQjZBRkJCN0VGRkJGRkJGRUZGQkZFRkZCRjg2Cis6MTAyODQwMDBFRkZCRkZFMEZGRkZGRDdGNUNENzdEREZGMzVDRjVDREE1Cis6MTAyODUwMDA3MzVFRDdCNUZEN0ZFRkZGREJGRkZGRTJGOEJFMkY4RjgyCis6MTAyODYwMDBFN0Y4QkU2QkUyRjhCRTJGOEJFMkY5RkU3RkU3RkZEN0Y5Cis6MTAyODcwMDBGNUZEN0ZGRkY3RjVGRDdGRDdGNUZEN0Y1RkQ3RjVGRjBFCis6MTAyODgwMDBGRkZGOEZGRkFGRUJGQUZGRkZCRkVCRkFGRjJGRUJGQTczCis6MTAyODkwMDBGRUJGQUZFQkZGRkZGRTVGRkY1RkZGRkZGREZGRkZENzU4Cis6MTAyOEEwMDBGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZCRkZFQjdGREMzCis6MTAyOEIwMDBGRjdFREZGN0FERkY3RkY3RkRGRjdGREZGN0ZERkY3RkQ3Cis6MTAyOEMwMDBGNjdGRkZGRkZGREJGNkZDQUZGRkZGRkZGRkY3RkZGRjI5Cis6MTAyOEQwMDBGRkZGRkZGRkZGRUNCRkZGQUZFQkZBRjZBQjhGRUJGQUFBCis6MTAyOEUwMDBGN0E1RUJGQUJFQkZBRkVCRkFGRjZERkZGRjdGREYzMzVCCis6MTAyOEYwMDBEREZGN0ZGRUY3RkM3RkZCRkZGRkZGRkZGRkZGRkZBOTcwCis6MTAyOTAwMDBGRkZERkZGRkZFRkZGRkRGRkZGRkVGRUZGREZGN0ZGRjlDCis6MTAyOTEwMDBGRkZGRkZGRUE3RkZGRkZGNzdERkY3RkQ5RjdGRkU3NzNCCis6MTAyOTIwMDBFRkZGRkZGRkZGRkZGRkZGRkZBRkJGQUZGRkY5QkVCRjJFCis6MTAyOTMwMDA4RkZCRkVGRUVGRkJGRUZGQkZFRkZCRkZGRkZEREY2RjM4Cis6MTAyOTQwMDBFRkZGN0ZGRkJGQkZERkZGRkNGRkRGRjdGREVGN0ZERkE0Cis6MTAyOTUwMDBGRkZGRkYzRkY2RkZDRkZGREJGQkY3RkZFQjdBRkZGRjQ5Cis6MTAyOTYwMDBGRkJGRUZGQkZGRkZGRkZFNkRGREZGNUZGQkZGRkZGNzBDCis6MTAyOTcwMDBGRjVGRjVGRkZGRkZGRkZGRkZGRkZGRkZGOEZGRkJGRjFDCis6MTAyOTgwMDBGRkZERkZGRkZGRkZFN0Y2QkZGRkZGRkZGRkZCRkZGRkJFCis6MTAyOTkwMDBGRkM5RkZGRkZGQkRGRkJGQUZFRkVGM0ZEMUZDN0ZGQkU0Cis6MTAyOUEwMDBDN0ZGRkZGRkZGRkZFM0ZGRkZGRkZGRkRGRkZGNzdGRjE1Cis6MTAyOUIwMDBERkI3RkRGN0ZERjdGRkZGRkZGRkZGNTdGRkY3QTVGREFGCis6MTAyOUMwMDAzRkRGQkZCRkZFN0ZGRkZGRkZERkZBRkRGRkZGRkZGRTIwCis6MTAyOUQwMDA4N0ZGRTlGRkZFRUZCRkVGRkVGRUZGRUZGRkZGRkZGRjA4Cis6MTAyOUUwMDBGRkZGRkZGRkZBOUZGRjNGRkZGREZENTdERkZERjNGRkY2Cis6MTAyOUYwMDBERkZERkY1RkRGRjVGREZGRkZGOThGRkZGRkZGRUU3RkRDCis6MTAyQTAwMDBGRkZGQkY1RUZFRUNGQjNGN0Y5RkVGRjlGRkZGQ0Q2QjRCCis6MTAyQTEwMDBGRkZGRkZDNUYzRkNGQTM4RkZBRjNGRUU3RjlGRkZEOTAyCis6MTAyQTIwMDBGRkZGRkQ3QUY3RkZGM0ZGQUY2RkRCRjJCOUU5RkJGRkMyCis6MTAyQTMwMDBGRkZGRkVGRkZGRUZGRkZCQzVCRkZGRUZGRjVFQjdBRDgwCis6MTAyQTQwMDBDRDc5N0NGRkZGRkZGRkZGRkZGRkZGRkZGRDkzRkZFRjRGCis6MTAyQTUwMDBFQUZFQkZFRjVCRDJDREY1NkQ3N0RGRjdGREZGN0ZERkRECis6MTAyQTYwMDBGRkZGNjZGRkQ1NjU3RDVGNzU5RDY1N0ZENkZCNEZGRkQ4Cis6MTAyQTcwMDBGRkZGRkZGRkZGRkZGNkM3RkZCRkVGRkFGRUZGQkZFQjUxCis6MTAyQTgwMDBGRkRGRkY3RUZGRkZFRkZEN0VEN0ZGNzhERkZGNUZERjE5Cis6MTAyQTkwMDBGNUJGN0ZERkM1RkYzRkY2N0VGRjBGRUZGMjNFQkZGRkMyCis6MTAyQUEwMDBGQjNGRkZGQjdGRkZCM0ZFRkJGNkZERkZEQUY3RkRGRjA5Cis6MTAyQUIwMDA3RkRGRjdCRkZGRkE3RkZGRkZGRkZGOUZGRkYzRENGOTI4Cis6MTAyQUMwMDBCRkNFRTdGOUZFN0Y5RkU3RkZGRkUyN0ZGRUZGQkZFRjhDCis6MTAyQUQwMDBFQkZBRkY5RjY3MUVGRjhGRTdGOEZFN0Y4RkVGRkZCRENBCis6MTAyQUUwMDBCRkZGRkJGRkZGREZGN0ZGRkNGRkJGRkZGRkZGRkZGRkE1Cis6MTAyQUYwMDBGRkZGRkZGREIzRkZGRkVGRkZGRkJGRURGRkZCRUVGRUFDCis6MTAyQjAwMDBGRkZGRUZGRkZFRkZGRkZGRkZCNUZGQjdGREZENkVGRjBECis6MTAyQjEwMDBGRkZFRkQyRkQ4RkVCRjhGRUJGOUZFM0ZGRkZBQ0ZGRjgwCis6MTAyQjIwMDBFN0Q5RkFCRkRGNzdGQ0ZCM0ZBQkZFRkZCRkVGRkJGRTUxCis6MTAyQjMwMDBGRkZGRUUxRkZGREZGN0ZGRkZGRjVGOTczNUJGNUVGRTcyCis6MTAyQjQwMDBCRkVGRkZGN0ZERkZGRkZBQkZGRkJFNkY5RkU3RjhCRUM1Cis6MTAyQjUwMDAyRjhCNjY5NDdEOURFN0Y5RkU3RjlGRTdGMTdGRkZGRjU2Cis6MTAyQjYwMDBGRkY3RjVGRDdGNUZGQkZEOUVGRkZCRkVGRkZGRUZGRjI1Cis6MTAyQjcwMDBGRkEwRkZGRkZGQkZFRkVCRkFGRUJGQjdGN0Y3RkZGRkM2Cis6MTAyQjgwMDBGREZGRkZGRkZGRkZEREZGRkRGRkZGRkZEN0ZGRkZGRkEzCis6MTAyQjkwMDA3RkY1RkZGRkVGRkZGRkZGQkZGRkZGQUJGRUZCRkVGRjc5Cis6MTAyQkEwMDBGN0FGRkZGRkRFRjdFQjVGREZGN0ZERkY3RkRGRkZGRjM0Cis6MTAyQkIwMDBCM0ZGQzlGRUZGRkZGRkZGRDZGRkZGQ0JGRkZGREZGRjI1Cis6MTAyQkMwMDBGRkZGRkZGRkZDOEZGRkJBQkVCRkFGRUI3OEZFQjdBREQ0Cis6MTAyQkQwMDAzQUZFQjdBRkVCN0FGRUJGQUZGRjlGRkZGRkRGRkNGRjEwCis6MTAyQkUwMDBGRkZFQzNGRUZGRkYzM0ZDRkZCRkRGRjNGRkZGQkI5RjEyCis6MTAyQkYwMDBGRkZGRkZFQkRGRkZGRkFGRjc2RkY5QkZFRkZERkZGRjU5Cis6MTAyQzAwMDBGRkZGRkZFMzdGRkZGRkZGRkJGRkZGQkZGREZCRjdGRkMyCis6MTAyQzEwMDBERkY3RkZGRUVGNUZCREZGRkFGRkY4RkZCRkFGRkJGRTgwCis6MTAyQzIwMDBGRTNGRUZFOEZGREZGM0ZERkZGRkZGRkZGRkVERkZGQkUwCis6MTAyQzMwMDBGREZGQUZGRkZGRkVGRUJGREJGRkZGRkZCRkZGREZGRkJDCis6MTAyQzQwMDBGREZGQ0JGRkZGRkZGRkZGQkY2RkZGN0ZCN0IzRkZGRkFFCis6MTAyQzUwMDBERkZGRkJFRkZGRkZGRjA3RkZGQkZGRkZGRkVERkZGNUQwCis6MTAyQzYwMDA3Q0ZGN0ZGRUZGRkZFRkNGRkZGQkZGRkYyRkZGRkZGRjhDCis6MTAyQzcwMDBGRkYzRkZGQkZGRkVGRkZGRkZGRkZGRkZCRkZGRkZGRkI1Cis6MTAyQzgwMDBGRDFCRkZGRkZGRkZGRkZGRkZGRkZFN0NGRkZGRkZGRkJFCis6MTAyQzkwMDBFRkZGRkZGRkZGRkJCRjdGRkRGRkZGRkZGRkZGRkZGRjFBCis6MTAyQ0EwMDBEQkZGRkZGRkZGRkZGRkZERkZGRkYwN0ZGRkZGRkZGRkU5Cis6MTAyQ0IwMDBGRkZGRkZGRkZGRkJGRkRGRkZGRkZGRkZGRkZEQkZGRThCCis6MTAyQ0MwMDA3RkZGRkZGRkZGRkZGRkZGRkZFRkZFRkZCRkZGRkZGRkU1Cis6MTAyQ0QwMDBGRkZGRUZGQUI1RkZGRkZGRjdGN0ZGRkZGRkZGREZGQjk3Cis6MTAyQ0UwMDBGQ0ZGRkZGRUZGN0ZERkJGRkZDQkJGRjlGRTdGOUZFNzRCCis6MTAyQ0YwMDBGOUZFN0Y5N0UxRkU3OTlGRTdGREZFN0ZERkZFMzdGRjVDCis6MTAyRDAwMDBGQkRFREVCREVGRjNGRUZCQUZFQkZFRkZGRkNGRkZGRTEyCis6MTAyRDEwMDBGRkJGRkY4RkZGRUZGQkZFRkZCRkU3Rjk1RTdGRUZGQjFCCis6MTAyRDIwMDBEQUZGQkZFRkZCRkVGRkZEMUZGRkZGRkZGRkZGRkZERjJGCis6MTAyRDMwMDBGRkZGN0ZGRkZGRjdGQjdGRkZGRkZGRkZGQzNGRkZCRkIyCis6MTAyRDQwMDBFRkZCRkVGRkJGRUY3QjdGQkZFRkZCRkVGRkI1RUZGQkFGCis6MTAyRDUwMDBCRkZBN0ZGQ0ZGM0ZDRkYzRkNGRjNGQ0ZCQ0ZGM0ZFRjRECis6MTAyRDYwMDBGM0ZDRkUzRkNGRkZFRUVGRkJGRUZGQkZFRkZCNkFEN0FBCis6MTAyRDcwMDBCN0ZCRjhGRkI3RUZCQUZFRkZCRjdGRTlGRkY5N0U1RjUxCis6MTAyRDgwMDA5N0U1RjlGRTdGQkZGOTdFNUY5RkU1RkJGRTVGQjdGRjJBCis6MTAyRDkwMDBBM0ZGRjdGREZGN0ZERkY3RkRGRjVFRjc3REZGNzdERjI2Cis6MTAyREEwMDBGN0ZERkY3RkZGRDdGRkZGRkZGRkZGRkZGRERGRkI3RjhCCis6MTAyREIwMDBGRkZGRUZGRkZFRkJGRkZGQkZGRThGRkZERkY3RkRGRDE1Cis6MTAyREMwMDA3RkRGRjdGRDNFREZGNUJERkY3RkRGRjdGREY3RkY5RkZDCis6MTAyREQwMDBGRkZGRkZGRkZGRkZGRkZGRkZGREZGQkVGRkZGRkZGRjQ2Cis6MTAyREUwMDBGRkZGRkZGRDNGRkZERkY3RkRGRjdGREZGN0ZERkZDRkI5Cis6MTAyREYwMDA3N0ZDRkY1RkRGRjdGREZGRjQ3RkZGRkZGRkZGRkZGRkMzCis6MTAyRTAwMDBGRkZGRkZGRkZGRkZGRkZGRkZGREZGRkZGRkVFRkZGRkU1Cis6MTAyRTEwMDBGRkZGRkZGRkZGRkZGRkZGRURGQkZGRkZCRkZGRkZGRjE4Cis6MTAyRTIwMDBGRkZGRTlGRkZGRkZGRkZGRkZGQkZGRkZGRkQzRkZGRkY4Cis6MTAyRTMwMDBCRjNGRkJGRkZGRkZGQkYzRkZGRkZGRkZGRkZGRkZGRkI2Cis6MTAyRTQwMDBGRkZGRkZGRkZGRkVGRkY3RkZGRkZGRkYxN0ZGRkZGRjgzCis6MTAyRTUwMDBERkZGRkRGRkZGRkZGRkZGREZERkZGRkRGRkZGREZGNzBFCis6MTAyRTYwMDBGRjRGRkZGRkZGRkZGRkZGRkZGRkZGRkVGRkZGRkZGRDI1Cis6MTAyRTcwMDBGRkZGRkZGRkZFRkY5RkZGRkZGRkZGRkZGRkZGRkZGRkMzCis6MTAyRTgwMDBGREZGRkZGRkZGRkY3RkZGRkZGRjdBM0ZGRkZGRkZGRjE5Cis6MTAyRTkwMDBGRkZGRkY3RkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGMkNGCis6MTAyRUEwMDA3RkZGRkJGRUZGQkZFRkY4RkVGRkJGRkJGRUZGOEZFQ0Q3Cis6MTAyRUIwMDBGQkZFRkZCRkY4RjdGRUZGQkZFRkZCRkVGREJGQ0ZFQzUxCis6MTAyRUMwMDBGRjNGRUZEQkY4RkZCRkNGRkZGOUZGRkZCRkZGRkJGRkM3Cis6MTAyRUQwMDBGRkZGRUZGQkRGRkZGRkZGRkZGRkJGRkZGRkZGQkJGRkJBCis6MTAyRUUwMDBFRkZCRkVFRkJGRUVFQkZCRkVGRkVGRkVFRUJGRkVFQkY4Cis6MTAyRUYwMDBGRkVGRkYxN0ZGN0VFQkJCRkVCRkJFRkJFRjVCRjdCRDM3Cis6MEEyRjAwMDBGQkNGQkZCRkJCRkI3RUNDRUZGRjkxCis6MDAwMDAwMDFGRgorCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgQmF5Q29tIEdtYkgKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UKKyAqIGNvZGUgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGNvbW1lbnQgd2l0aG91dAorICogbW9kaWZpY2F0aW9uLgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZGFidXNiL2Zpcm13YXJlLkhFWCBiL2Zpcm13YXJlL2RhYnVzYi9maXJtd2FyZS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MyNThkZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2RhYnVzYi9maXJtd2FyZS5IRVgKQEAgLTAsMCArMSw2NDkgQEAKKzowMjAwMDAwMDIxNTc4NgorOjAzMDAwMzAwMDIwMTY2OTEKKzowMzAwMEIwMDAyMDE2Njg5Cis6MDMwMDEzMDAwMjAxNjY4MQorOjAzMDAxQjAwMDIwMTY2NzkKKzowMzAwMjMwMDAyMDE2NjcxCis6MDMwMDJCMDAwMjAxNjY2OQorOjAzMDAzMzAwMDIwMzBGQjYKKzowMzAwM0IwMDAyMDE2NjU5Cis6MDMwMDQzMDAwMjAxMDBCNworOjAzMDA0QjAwMDIwMTY2NDkKKzowMzAwNTMwMDAyMDE2NjQxCis6MDMwMDVCMDAwMjA0QkRERgorOjAzMDA2MzAwMDIwMTY3MzAKKzowMzAxMDAwMDAyMEM1QTk0Cis6MDMwMTA0MDAwMjAxRUQwOAorOjAzMDEwODAwMDIwMjUxOUYKKzowMzAxMEMwMDAyMDI3QzcwCis6MDMwMTEwMDAwMjAyRTQwNAorOjAxMDExNDAwMzJCOAorOjAxMDExODAwMzJCNAorOjAzMDExQzAwMDIwNUZEREMKKzowMzAxMjAwMDAyMDAwMERBCis6MDMwMTI0MDAwMjAwMDBENgorOjAzMDEyODAwMDIwNDNDOTIKKzowMzAxMkMwMDAyMDQ2QTYwCis6MDMwMTMwMDAwMjAwMDBDQQorOjAzMDEzNDAwMDIwMDAwQzYKKzowMzAxMzgwMDAyMDAwMEMyCis6MDMwMTNDMDAwMjAwMDBCRQorOjAzMDE0MDAwMDIwMDAwQkEKKzowMzAxNDQwMDAyMDAwMEI2Cis6MDMwMTQ4MDAwMjAwMDBCMgorOjAzMDE0QzAwMDIwMDAwQUUKKzowMzAxNTAwMDAyMDAwMEFBCis6MDMwMTU0MDAwMjAwMDBBNgorOjBBMDE1NzAwNzU4MTdGRTU4MjYwMDMwMjAxNjFGQgorOjA1MDE2MTAwMTIwNzZGMjE2NDhDCis6MDEwMTY2MDAzMjY2Cis6MEUwMTY3MDBDMEQwQzA4NkMwODJDMDgzQzBFMDkwN0Y5N0UwMDkKKzowRTAxNzUwMDQ0ODBGMDkwN0Y2OUYwRjBGMEYwRjBGMEYwRjBEMAorOjBFMDE4MzAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDRFCis6MEUwMTkxMDBGMEYwRjBGMEYwRjBGMEYwRjBGMDkwN0Y5N0UwN0EKKzowMzAxOUYwMDU1N0ZGMDk5Cis6MEUwMUEyMDA5MDdGOUFFMDMwRTQyMzkwN0Y2OEYwRjBGMEYwNTgKKzowRTAxQjAwMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjAyMQorOjBFMDFCRTAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDEzCis6MEUwMUNDMDBFNUQ4QzJFM0Y1RDhEMEUwRDA4M0QwODJEMDg2NEIKKzowMzAxREEwMEQwRDAzMjUwCis6MDgwMUREMDA3NTg2MDA5MEZGQzM3QzA1NEMKKzowNzAxRTUwMEEzRTU4MjQ1ODM3MEY5RDgKKzowMTAxRUMwMDIyRjAKKzowRTAxRUQwMEMwRTBDMEYwQzA4MkMwODNDMDAyQzAwM0MwRDAxQQorOjBFMDFGQjAwNzVEMDAwQzA4Njc1ODYwMEU1OTFDMkU0RjU5MUNFCis6MEQwMjA5MDA5MDg4MDBFMEY1NDE5MDdGQUI3NDAyRjA5MDBBCis6MDkwMjE2MDA3RkFCNzQwMkYwRTUzMjYwMjFCNworOjA0MDIxRjAwN0EwMDdCMDBFNgorOjBCMDIyMzAwQzNFQTk0MThFQjY0ODA5NDgwNTAxMjMyCis6MEUwMjJFMDA5MDdGNjlGMEYwRjBGMEYwRjBGMEYwMEFCQTAwMDYKKzowMjAyM0MwMDAxMEJCNAorOjAyMDIzRTAwODBFMzVCCis6MDIwMjQwMDBEMDg2NjYKKzowRTAyNDIwMEQwRDBEMDAzRDAwMkQwODNEMDgyRDBGMEQwRTA1NAorOjAxMDI1MDAwMzI3QgorOjBFMDI1MTAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMDM1Cis6MEUwMjVGMDA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwN0ZBQjc0NDAKKzowNDAyNkQwMDA0RjBEMDg2NDMKKzowQjAyNzEwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzI5QgorOjBFMDI3QzAwQzBFMEMwRjBDMDgyQzA4M0MwMDJDMDAzQzAwNDU2Cis6MEUwMjhBMDBDMDA1QzAwNkMwMDdDMDAwQzAwMUMwRDA3NUQwQkUKKzowRDAyOTgwMDAwQzA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwRTYKKzowQzAyQTUwMDdGQUI3NDA4RjA3NTZFMDA3NTZGMDIxMkRDCis6MDYwMkIxMDAxMTQ0NzU3MDM5NzU1RgorOjA2MDJCNzAwNzEwQzc1NzIwMjEyQzkKKzowQzAyQkQwMDExNzU5MDdGRDZFNEYwNzVEODIwRDA4NjMzCis6MEUwMkM5MDBEMEQwRDAwMUQwMDBEMDA3RDAwNkQwMDVEMDA0OTAKKzowRDAyRDcwMEQwMDNEMDAyRDA4M0QwODJEMEYwRDBFMDMyMkUKKzowRTAyRTQwMEMwRTBDMEYwQzA4MkMwODNDMEQwNzVEMDAwQzBBMgorOjBFMDJGMjAwODY3NTg2MDBFNTkxQzJFNEY1OTE5MDdGQUI3NEFECis6MDQwMzAwMDAxMEYwRDA4NkEzCis6MEIwMzA0MDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyMDcKKzowRTAzMEYwMEMwRTBDMEYwQzA4MkMwODNDMDAyQzAwM0MwMDRDMgorOjBFMDMxRDAwQzAwNUMwMDZDMDA3QzAwMEMwMDFDMEQwNzVEMDJBCis6MEMwMzJCMDAwMEMwODY3NTg2MDA3NTZFMDA3NTZGMDJCQworOjA3MDMzNzAwMTIxMTQ0NzU3MDQwNzVCRQorOjA2MDMzRTAwNzEwQzc1NzIwMjEyNDEKKzowRTAzNDQwMDExNzU5MDdGRDY3NDAyRjA5MDdGRDY3NDA2RjA4QgorOjA1MDM1MjAwNzVEODEwRDA4NkYzCis6MEUwMzU3MDBEMEQwRDAwMUQwMDBEMDA3RDAwNkQwMDVEMDA0MDEKKzowRDAzNjUwMEQwMDNEMDAyRDA4M0QwODJEMEYwRDBFMDMyOUYKKzowRDAzNzIwMDkwN0ZBNTc0ODBGMDkwN0ZBNjc0OUFGMDEyMjEKKzowQzAzN0YwMDEwMUI5MDdGQTZFNTQyRjAxMjEwMUI5MEFFCis6MEQwMzhCMDA3RkE2RTU0M0YwMTIxMDFCOTA3RkE1NzQ0MDgzCis6MDEwMzk4MDBGMDc0Cis6MDEwMzk5MDAyMjQxCis6MEQwMzlBMDA5MDdGQTU3NDgwRjA5MDdGQTY3NDlBRjAxMkY5Cis6MEMwM0E3MDAxMDFCOTA3RkE2RTU0NEYwMTIxMDFCOTA4NAorOjBDMDNCMzAwN0ZBNkU1NDVGMDEyMTAxQjkwN0ZBNkU1MjgKKzowQjAzQkYwMDQ2RjAxMjEwMUI5MDdGQTU3NDQwRjA2OAorOjAxMDNDQTAwMjIxMAorOjBBMDNDQjAwNzU0NDAyNzU0NTAwNzU0NjAwMTJFNgorOjA5MDNENTAwMDM5QTc1NDIwMzc1NDMwMDEyRkUKKzowMjAzREUwMDAzNzJBOAorOjAxMDNFMDAwMjJGQQorOjBDMDNFMTAwOTA4ODAwRTUzNkYwOTA4ODAwNzQxMDI1MkMKKzowOTAzRUQwMDM2RjAxMjAxREQ3NTQyMDE3NUM0Cis6MDkwM0Y2MDA0MzE4MTIwMzcyNzU0NDAyNzVFQworOjA5MDNGRjAwNDUwMDc1NDYwMDEyMDM5QTc1RDEKKzowODA0MDgwMDQyMDM3NTQzNDQxMjAzNzIyNAorOjAxMDQxMDAwMjJDOQorOjBFMDQxMTAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMDczCis6MEUwNDFGMDA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwN0ZBQTc0N0YKKzowNDA0MkQwMDAyRjBEMDg2ODMKKzowQjA0MzEwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzJEOQorOjBFMDQzQzAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMDQ4Cis6MEUwNDRBMDA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwN0ZBOTc0NTUKKzowNzA0NTgwMDA0RjA3NTMwMDFEMDg2QUQKKzowQjA0NUYwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzJBQgorOjBFMDQ2QTAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMDFBCis6MEUwNDc4MDA4Njc1ODYwMEU1OTFDMkU0RjU5MTkwN0ZBQTc0MjYKKzowNzA0ODYwMDA0RjA3NTMxMDFEMDg2N0UKKzowQjA0OEQwMEQwRDBEMDgzRDA4MkQwRjBEMEUwMzI3RAorOjBFMDQ5ODAwQzBFMEMwRjBDMDgyQzA4M0MwRDA3NUQwMDBDMEVDCis6MEMwNEE2MDA4Njc1ODYwMEU1OTFDMkU1RjU5MUQwODZEMAorOjBCMDRCMjAwRDBEMEQwODNEMDgyRDBGMEQwRTAzMjU4Cis6MEUwNEJEMDBDMEUwQzBGMEMwODJDMDgzQzBEMDc1RDAwMEMwQzcKKzowQzA0Q0IwMDg2NzU4NjAwRTU5MUMyRTdGNTkxRDA4NkE5Cis6MEIwNEQ3MDBEMEQwRDA4M0QwODJEMEYwRDBFMDMyMzMKKzowQzA0RTIwMDkwN0ZFQUUwRkE4QTIwOTA3Rjk2RTRGMDE4Cis6MDEwNEVFMDAyMkVCCis6MDcwNEVGMDA5MDdGRUFFMEZBOEEyMTg4Cis6MDEwNEY2MDAyMkUzCis6MEUwNEY3MDA5MDE3MTNFMEZBOTAxNzE1RTBGQjc0ODAyQUZBQjQKKzowRTA1MDUwMDc0ODAyQkZCRUEwMzAzNTQzRkZDRUFDNDIzNTQyQQorOjBFMDUxMzAwMUZGQTJDRkFFQjAzMDM1NDNGRkNFQkM0MjM1NEY1Cis6MEIwNTIxMDAxRkZCMkNGQjkwMTcwQUUwRkM2MDAyOUYKKzowMjA1MkMwMDdBMDA1MworOjA3MDUyRTAwOTAxNzBDRTBGQzYwMDJENQorOjAyMDUzNTAwN0IwMDQ5Cis6MEIwNTM3MDBFQTJCRkNDMzEzRjUzQTc1NDQwMjhCNUQKKzowNzA1NDIwMDQ1OEE0NjEyMDM5QTc1NzkKKzowOTA1NDkwMDZFMDg3NTZGMDAxMjExNDQ3NTczCis6MDQwNTUyMDA3MDQ3NzU3MTA4Cis6MDgwNTU2MDAwQzc1NzIwMjEyMTE3NTg1OEIKKzowNTA1NUUwMDNBNzMxMjExQTAyOAorOjAxMDU2MzAwMjI3NQorOjBFMDU2NDAwOTA3Rjk2RTBGQTkwN0Y5Njc0ODA2NTAyRjA5MDhBCis6MEUwNTcyMDA3RkVCRTBGQTkwN0ZFQUUwRkI5MDdGRUZFMEZDODkKKzowRTA1ODAwMDMzOTVFMEZEOEMwNTdDMDA5MDdGRUVFMEZFMzNBRAorOjBFMDU4RTAwOTVFMEZGRUMyRUZDRUQzRkZEOTA3RkU5RTBGRUQ2Cis6MDUwNTlDMDBCRTAxMDI4MDAzMTYKKzowMzA1QTEwMDAyMDVGOTU3Cis6MDYwNUE0MDBCQzAxMjFCRDAwMUU5OAorOjBFMDVBQTAwRUFDNDAzNTRGOEZDRUIyNUUwRkQyQzI0MDBGQzExCis6MEUwNUI4MDBFNDM0MTdGRDkwN0VDMEUwRkU4QzgyOEQ4M0YwNEYKKzowMjA1QzYwMDgwMzE4MgorOjBFMDVDODAwRUFDNDAzNTRGOEZBRUIyNUUwRkIyQUZBMjQwMEZCCis6MEUwNUQ2MDBGQkU0MzQxN0ZDOTA3RUMwRTBGRDhCODI4QzgzMkEKKzowRTA1RTQwMEYwNzQwMTJBMjQwMEZBRTQzNDE3RkI5MDdFQzE2MworOjA3MDVGMjAwRTBGQzhBODI4QjgzRjAxQworOjAzMDVGOTAwNzUzODAxNTEKKzowMTA1RkMwMDIyREMKKzowRTA1RkQwMEMwRTBDMEYwQzA4MkMwODNDMDAyQzAwM0MwMDREMgorOjBFMDYwQjAwQzAwNUMwMDZDMDA3QzAwMEMwMDFDMEQwNzVEMDM5Cis6MEQwNjE5MDAwMEMwODY3NTg2MDBFNTkxQzJFNEY1OTE5MDYxCis6MEQwNjI2MDA3RkFBNzQwMUYwMTIwNTY0NzUzNzAwRDA4NkJDCis6MEUwNjMzMDBEMEQwRDAwMUQwMDBEMDA3RDAwNkQwMDVEMDA0MjIKKzowRDA2NDEwMEQwMDNEMDAyRDA4M0QwODJEMEYwRDBFMDMyQzAKKzowRTA2NEUwMDkwN0ZFQkUwRkE5MDdGRUFFMEZCOTA3RkVFRTAxOQorOjBFMDY1QzAwRkMzMzk1RTBGRDkwN0Y5NkUwRkU5MDdGOTY3NDUzCis6MEUwNjZBMDA4MDY1MDZGMDkwN0YwMDc0MDFGMEVBQzQwMzU0MkUKKzowRTA2NzgwMEY4RkVFQjI1RTBGQjJFRkUyNDAwRkJFNDM0MTcxOQorOjBFMDY4NjAwRkY4QjgyOEY4M0UwRkI3NDAxMkUyNDAwRkVFNEM0Cis6MEUwNjk0MDAzNDE3RkY4RTgyOEY4M0UwRkU5MDdGRTlFMEZGMzcKKzowMzA2QTIwMEJGODEwQTBCCis6MEEwNkE1MDA5MDdGMDBFQkYwOTA3RjAxRUVGMDczCis6MDgwNkFGMDA5MDdGRTlFMEZCQkI4MjFBMTkKKzowMzA2QjcwMEJBMDEwQzc5Cis6MEMwNkJBMDA5MDdGMDBFNEYwOTA3RjAxRTRGMDgwMEJFMgorOjBCMDZDNjAwOTA3RjAwRTRGMDkwN0YwMTc0QjVGMDFECis6MDgwNkQxMDA5MDdGRTlFMEZCQkI4MzFCRjUKKzowMzA2RDkwMEJBMDEwRDU2Cis6MEQwNkRDMDA5MDdGMDA3NDAxRjA5MDdGMDFFNEYwODAwQjJFCis6MEIwNkU5MDA5MDdGMDBFNEYwOTA3RjAxNzQxMkYwOUQKKzowODA2RjQwMDkwN0ZFOUUwRkJCQjg0MUNEMAorOjAzMDZGQzAwQkEwMTBEMzMKKzowRDA2RkYwMDkwN0YwMDc0MDFGMDkwN0YwMUU0RjA4MDBDMEEKKzowQzA3MEMwMDkwN0YwMDc0ODBGMDkwN0YwMTc0MDFGMDc5Cis6MDUwNzE4MDA5MDdGQjVFQ0YwM0MKKzowMTA3MUQwMDIyQjkKKzowQzA3MUUwMDc1MzYwRDkwODgwMDc0MURGMDc1NkI4MDFFCis6MEEwNzJBMDA3NTZDM0MxMjEwRTI3NTZCODA3NUNGCis6MDkwNzM0MDA2QzBGMTIxMEUyNzU2QjgwNzU2OAorOjA5MDczRDAwNkMwNjEyMTBFMjc1NkI4MDc1NjgKKzowNzA3NDYwMDZDMDExMjEwRTI3QTAwQzEKKzowMzA3NEQwMEJBRkYwMEYwCis6MDIwNzUwMDA1MDBBNEQKKzowQTA3NTIwMEMwMDIxMjAxREREMDAyMEE4MEYxOUUKKzowQTA3NUMwMDc1NkI4MDc1NkMzQzEyMTBFMjc1OUQKKzowODA3NjYwMDZCODA3NTZDMEYxMjEwRTJBQworOjAxMDc2RTAwMjI2OAorOjBFMDc2RjAwOTA3RkExRTRGMDkwN0ZBRjc0MDFGMDkwN0Y5MjM0Cis6MEUwNzdEMDA3NDAyRjA3NThFMzE3NTg5MjE3NTg4MDA3NUM4N0IKKzowRTA3OEIwMDAwNzU4RDQwNzU5ODQwNzVDMDQwNzU4NzAwNzVFQgorOjA5MDc5OTAwMjAwMDc1MjEwMDc1MjIwMDc1OTUKKzowNTA3QTIwMDIzMDA3NTQ3MDA3MworOjA3MDdBNzAwQzNFNTQ3OTQyMDUwMTE0NworOjBEMDdBRTAwRTU0NzI0MDBGNTgyRTQzNDE3RjU4M0U0RjBGQworOjA0MDdCQjAwMDU0NzgwRTg4NgorOjA5MDdCRjAwRTRGNTQwRjUzRkU0RjUzQ0Y1REEKKzowNzA3QzgwMDNCRTRGNTNFRjUzRDc1MzEKKzowQjA3Q0YwMDMyMDA3NTM3MDA3NTM5MDA5MDdGOTNGMQorOjBFMDdEQTAwNzQzQ0YwOTA3RjlDNzRGRkYwOTA3Rjk2NzQ4MENBCis6MEUwN0U4MDBGMDkwN0Y5NDc0NzBGMDkwN0Y5RDc0OEZGMDkwNkQKKzowRTA3RjYwMDdGOTdFNEYwOTA3Rjk1NzRDMkYwOTA3Rjk4NzQyNgorOjBFMDgwNDAwMjhGMDkwN0Y5RTc0MjhGMDkwN0ZGMEU0RjA5MDMyCis6MEUwODEyMDA3RkYxRTRGMDkwN0ZGMkU0RjA5MDdGRjNFNEYwRTkKKzowRTA4MjAwMDkwN0ZGNEU0RjA5MDdGRjVFNEYwOTA3RkY2RTQzMgorOjBFMDgyRTAwRjA5MDdGRjdFNEYwOTA3RkY4RTRGMDkwN0ZGOTBGCis6MEUwODNDMDA3NDM4RjA5MDdGRkE3NEEwRjA5MDdGRkI3NEEwRTcKKzowRTA4NEEwMEYwOTA3RkZDNzRBMEYwOTA3RkZENzRBMEYwOTAwMQorOjBFMDg1ODAwN0ZGRTc0QTBGMDkwN0ZGRjc0QTBGMDkwN0ZFMDEwCis6MEUwODY2MDA3NDAzRjA5MDdGRTE3NDAxRjA5MDdGREQ3NDgwRTgKKzowQjA4NzQwMEYwMTIxMjQzMTIwNzFFN0EwMDdCMDBGNgorOjA5MDg3RjAwQzNFQTk0MUVFQjk0MDA1MDE3MkIKKzowQzA4ODgwMDkwODgwMEUwRjU0NzkwODgwQkUwRjU0N0YxCis6MDkwODk0MDA5MDdGNjhGMDBBQkEwMDAxMEIyNAorOjAyMDg5RDAwODBFMEY5Cis6MEMwODlGMDAxMjAzRTE5MDdGRDZFNEYwN0EwMDdCMDBBOQorOjBEMDhBQjAwOEEwNDhCMDVDM0VBOTRFMEVCOTQyRTUwMUFFQQorOjBFMDhCODAwQzAwMkMwMDNDMDA0QzAwNTEyMDFEREQwMDVEMDhGCis6MEEwOEM2MDAwNEQwMDNEMDAyMEFCQTAwMDEwQkFGCis6MDIwOEQwMDA4MEQ5Q0QKKzowRDA4RDIwMDkwN0ZENjc0MDJGMDkwN0ZENjc0MDZGMDkwRUYKKzowRTA4REYwMDdGREU3NDA1RjA5MDdGREY3NDA1RjA5MDdGQUMzMworOjBFMDhFRDAwRTRGMDkwN0ZBRDc0MDVGMDc1QTg4MDc1RjgxMEVBCis6MEQwOEZCMDA5MDdGQUU3NDBCRjA5MDdGRTI3NDg4RjA5MDU3Cis6MEMwOTA4MDA3RkFCNzQwOEYwNzVFODExNzUzMjAxNzVDMgorOjBDMDkxNDAwMzEwMDc1MzAwMEMwMDRDMDA1MTIwNEY3NkIKKzowQTA5MjAwMEQwMDVEMDA0NzUzNDAwNzUzNTAxRDAKKzowRDA5MkEwMDkwN0ZBRTc0MDNGMDhDMDJCQTAwMDI4MDAzQ0YKKzowMzA5MzcwMDAyMEEzRjcyCis6MEMwOTNBMDA4NTMzMzQ5MDdGOUQ3NDhGRjA5MDdGOTc4MAorOjBFMDk0NjAwNzQwOEYwOTA3RjlENzQ4OEYwOTA3RjlBRTBGQTFDCis6MEMwOTU0MDA3NDA1NUFGNTMzOTA3RjlENzQ4RkYwOTA2RAorOjBEMDk2MDAwN0Y5Nzc0MDJGMDkwN0Y5RDc0ODJGMEU1MzM2NAorOjBEMDk2RDAwMjVFMEZBOTA3RjlBRTA1NDA1RkI0QUY1MzMyRgorOjAyMDk3QTAwNjAwQzBGCis6MEMwOTdDMDA5MDdGOTZFMEZBOTA3Rjk2NzQ4MDRBRjAxRAorOjBCMDk4ODAwNzU2RTAwNzU2RjAwQzAwNEMwMDUxMjAyCis6MEUwOTkzMDAxMTQ0RDAwNUQwMDQ5MDE3MTNFMEZBNzQ4MDJBQTYKKzowNjA5QTEwMEZBRTUzM0I0MDQyOTVECis6MDMwOUE3MDBCQUEwMDBGMworOjAyMDlBQTAwNTAyNEQ3Cis6MEQwOUFDMDA5MDE3MTNFMDA0RkIwQjkwMTcxM0VCRjA5MDc1Cis6MEUwOUI5MDAxNzEzRTBGQjkwMTcxNUYwQzAwMkMwMDRDMDA1MzQKKzowOTA5QzcwMDEyMDRGN0QwMDVEMDA0RDAwMjlGCis6MDUwOUQwMDBFNTMzQjQwMjI2MkUKKzowNjA5RDUwMEMzNzQwNDlBNTAyMEQ3Cis6MEQwOURCMDA5MDE3MTNFMEZBMUExQTkwMTcxM0VBRjA5MDIzCis6MEQwOUU4MDAxNzEzRTBGQTkwMTcxNUYwQzAwNEMwMDUxMkI3Cis6MDYwOUY1MDAwNEY3RDAwNUQwMDQ1OAorOjA1MDlGQjAwRTUzM0I0MDgxRDA2Cis6MDQwQTAwMDBFNTM0NzAxOTUwCis6MEEwQTA0MDA3NDAxMjUzNTU0MEZGNTM1ODUzNUQyCis6MEMwQTBFMDA3NTc1NzYwMEMwMDRDMDA1MTIxM0ZFRDAwMAorOjAzMEExQTAwMDVEMDA0MDAKKzowNTBBMUQwMEU1MzNCNDAxMURFQQorOjA0MEEyMjAwRTUzNDcwMTkyRQorOjBBMEEyNjAwRTUzNTI0RkY1NDBGRjUzNTg1MzU0MgorOjBDMEEzMDAwNzU3NTc2MDBDMDA0QzAwNTEyMTNGRUQwREUKKzowMzBBM0MwMDA1RDAwNERFCis6MEUwQTNGMDBDMDA0QzAwNTEyMDFEREQwMDVEMDA0OTA3Rjk2RTIKKzowRTBBNEQwMEUwRkE5MDdGOTY3NDdGNUFGMDkwN0Y5Nzc0MDhCRAorOjBBMEE1QjAwRjBDM0VDOTQwMEVEOTQwMjQwMDg5MworOjA4MEE2NTAwOTA3Rjk2RTBGQTIwRTYwOEZDCis6MDgwQTZEMDBDM0U0OUM3NDA4OUQ1MDEzQzIKKzowRTBBNzUwMDkwN0Y5NkUwRkE5MDdGOTY3NDQwNjUwMkYwN0NDOAorOjA1MEE4MzAwMDA3RDAwODAwNTZDCis6MDUwQTg4MDAwQ0JDMDAwMTBEOTMKKzowNTBBOEQwMEU1MzhCNDAxMEU4NAorOjBEMEE5MjAwQzAwNEMwMDUxMjA0RjdEMDA1RDAwNDc1Mzg2QgorOjAxMEE5RjAwMDA1NgorOjA3MEFBMDAwRTUzMTcwMDMwMjA5MkE5MQorOjBBMEFBNzAwOTA3RkM5RTBGQTcwMDMwMjBDMkRFNQorOjBFMEFCMTAwOTA3Rjk2RTBGQTkwN0Y5Njc0ODA2NTAyRjA5MDM4Cis6MDkwQUJGMDA3REMwRTBGQUJBMkMwMjgwMDNBQworOjAzMEFDODAwMDIwQjM2RTgKKzowNTBBQ0IwMDc1MzIwMDdCMDAwNAorOjAzMEFEMDAwQkI2NDAwMDQKKzowMjBBRDMwMDUwMUNCNQorOjBFMEFENTAwQzAwMkMwMDNDMDA0QzAwNTEyMDFEREQwMDVEMDcwCis6MEQwQUUzMDAwNEQwMDNEMDAyOTA4ODBGRTBGNTQ3MEI4MDhGCis6MDEwQUYwMDBERjI2Cis6MEQwQUYxMDBDMDAyQzAwNEMwMDUxMjA3MUUxMjAzRTExMjZFCis6MEMwQUZFMDAwNEY3RDAwNUQwMDREMDAyNzU2RTAwNzUxRQorOjBEMEIwQTAwNkYwMUMwMDJDMDA0QzAwNTEyMTE0NEQwMDVFNworOjA5MEIxNzAwRDAwNEQwMDI3NTcwNEQ3NTcxMTcKKzowQjBCMjAwMDBDNzU3MjAyQzAwMkMwMDRDMDA1MTI3OAorOjBCMEIyQjAwMTE3NUQwMDVEMDA0RDAwMjAyMEMyRDgzCis6MDMwQjM2MDBCQTJBM0I5RAorOjBEMEIzOTAwOTA3Rjk4NzQyMEYwQzAwMkMwMDRDMDA1MTIyNworOjBFMEI0NjAwMDFEREQwMDVEMDA0RDAwMjkwN0Y5ODc0MjhGMDE1Cis6MDIwQjU0MDA3QjAwMjQKKzowMzBCNTYwMEJCMEEwMEQ3Cis6MDUwQjU5MDA0MDAzMDIwQzJEMTkKKzowRTBCNUUwMEMwMDJDMDAzQzAwNEMwMDUxMjAxREREMDA1RDBFNgorOjA4MEI2QzAwMDREMDAzRDAwMjBCODBFMjZCCis6MDMwQjc0MDBCQTJCMUE3RgorOjA4MEI3NzAwOTA3RkM5RTBGQkJCNDAxMkI2Cis6MEUwQjdGMDBDMDAyQzAwNEMwMDUxMjEyMDVEMDA1RDAwNEQwN0IKKzowNDBCOEQwMDAyMDIwQzJEMjcKKzowMzBCOTEwMEJBMTAxRjc4Cis6MEUwQjk0MDA5MDdGOTZFMEZCOTA3Rjk2NzQ4MDY1MDNGMEMwMjIKKzowRTBCQTIwMDAyQzAwNEMwMDUxMjEwM0REMDA1RDAwNEQwMDJFMAorOjAzMEJCMDAwMDIwQzJEMDcKKzowMzBCQjMwMEJBMTExMjYyCis6MEUwQkI2MDBDMDAyQzAwNEMwMDUxMjEwNkFEMDA1RDAwNEQwRTEKKzowNDBCQzQwMDAyMDIwQzJERjAKKzowMzBCQzgwMEJBMTIxMjRDCis6MEUwQkNCMDBDMDAyQzAwNEMwMDUxMjEwOEZEMDA1RDAwNEQwQTcKKzowNDBCRDkwMDAyMDIwQzJEREIKKzowMzBCREQwMEJBMTMwQjNECis6MEIwQkUwMDA5MDdEQzFFMEZCOTA4ODAwRjA4MDQyOTcKKzowMzBCRUIwMEJBMTQxMTI4Cis6MEUwQkVFMDBDMDAyQzAwNEMwMDUxMjExREREMDA1RDAwNEQwMzUKKzowMzBCRkMwMDAyODAyRTQ2Cis6MDMwQkZGMDBCQTE1MUQwNworOjBDMEMwMjAwOTA3REMxRTBGNTc1OTA3REMyRTBGNTc2QjQKKzowRTBDMEUwMEMwMDJDMDA0QzAwNTEyMTNGRUQwMDVEMDA0RDBGMQorOjAzMEMxQzAwMDI4MDBFNDUKKzowMzBDMUYwMEJBMTYwQkY3Cis6MEIwQzIyMDBDMDA0QzAwNTEyMTNBM0QwMDVEMDA0Q0QKKzowQjBDMkQwMDkwN0ZDOUU0RjA3NTMxMDAwMjA5MkEzNQorOjAxMEMzODAwMjI5OQorOjA3MEMzOTAwNTM1NTUwNDU0RTQ0MDBFNQorOjA3MEM0MDAwNTI0NTUzNTU0RDQ1MDBEQworOjA2MEM0NzAwMjA1NjZGNkMyMDAwMzYKKzowRDBDNEQwMDQ0NDE0MjU1NTM0MjIwNzYzMTJFMzAzMDAwOTQKKzowRTBDNUEwMEMwRTBDMEYwQzA4MkMwODNDMDAyQzAwM0MwMDQ2RQorOjBFMEM2ODAwQzAwNUMwMDZDMDA3QzAwMEMwMDFDMEQwNzVEMEQ2Cis6MEQwQzc2MDAwMEMwODY3NTg2MDBFNTkxQzJFNEY1OTE5MEZFCis6MEUwQzgzMDA3RkFCNzQwMUYwOTA3RkU4RTBGQTkwN0ZFOUUwMkIKKzowNjBDOTEwMEZCQkIwMDAyODAwMzIyCis6MDMwQzk3MDAwMjBEMzgxMworOjAzMEM5QTAwQkE4MDE0MDkKKzowRTBDOUQwMDkwN0YwMDc0MDFGMDkwN0YwMUU0RjA5MDdGQjUyRAorOjA2MENBQjAwNzQwMkYwMDIwRUNEMDAKKzowNTBDQjEwMEJBODIwMjgwMDM3RAorOjAzMENCNjAwMDIwRDFEMEYKKzowODBDQjkwMDkwN0ZFQ0UwRkNCQzAxMDA5RgorOjAyMENDMTAwNDAyMUQwCis6MDYwQ0MzMDBDMzc0MDc5QzQwMUJGNgorOjBFMENDOTAwRUMyNEZGMjVFMEZEMjRDNkY1ODJFNDM0N0ZGNTFGCis6MEQwQ0Q3MDA4M0UwRkQ1MzA1MDE5MDdGMDBFREYwODAyQkMwCis6MDMwQ0U0MDBCQzgxMDBEMAorOjAyMENFNzAwNDAyMUFBCis6MDYwQ0U5MDBDMzc0ODc5QzQwMUI1MAorOjBFMENFRjAwRUMyNDdGMjVFMEZDMjRCNkY1ODJFNDM0N0ZGNThBCis6MEQwQ0ZEMDA4M0UwRkM1MzA0MDE5MDdGMDBFQ0YwODAwNUMzCis6MDUwRDBBMDA5MDdGMDBFNEYwMDEKKzowRTBEMEYwMDkwN0YwMUU0RjA5MDdGQjU3NDAyRjAwMjBFQ0RFQgorOjA1MEQxRDAwQkE4MTAyODAwMzExCis6MDMwRDIyMDAwMjBFQzVGOQorOjBFMEQyNTAwOTA3RjAwRTRGMDkwN0YwMUU0RjA5MDdGQjU3NEMxCis6MDUwRDMzMDAwMkYwMDIwRUNERUMKKzowMzBEMzgwMEJCMDEyRENGCis6MDYwRDNCMDBCQTAwMDMwMjBFQ0QxOAorOjAzMEQ0MTAwQkEwMjExRTIKKzowRDBENDQwMDc1NTkwMEMwMDJDMDAzMTIwRUYwRDAwM0QwOUMKKzowNDBENTEwMDAyMDIwRUNEQkYKKzowNTBENTUwMEJBMjEwMjgwMDMzOQorOjAzMEQ1QTAwMDIwRUNEQjkKKzowQjBENUQwMDc1MzcwMTkwN0ZDNUU0RjAwMjBFQ0Q1OQorOjAzMEQ2ODAwQkIwMzFGQUIKKzowNjBENkIwMEJBMDAwMzAyMEVDREU4Cis6MDUwRDcxMDBCQTAyMDI4MDAzM0MKKzowMzBENzYwMDAyMEVDRDlECis6MEQwRDc5MDA3NTU5MDFDMDAyQzAwMzEyMEVGMEQwMDNEMDY2Cis6MDQwRDg2MDAwMjAyMEVDRDhBCis6MDMwRDhBMDBCQjA2NTQ1MQorOjA1MEQ4RDAwQkE4MDAyODAwM0EyCis6MDMwRDkyMDAwMjBFQzU4OQorOjA4MEQ5NTAwOTA3RkVCRTBGQ0JDMDExNUFFCis6MEMwRDlEMDA3Q0ZCN0QwRjhEMDY3RjAwOTA3RkQ0RUU2NAorOjA5MERBOTAwRjA5MDdGRDVFQ0YwMDIwRUNEQjQKKzowQTBEQjIwMDkwN0ZFQkUwRkNCQzAyMDI4MDAzMUUKKzowMzBEQkMwMDAyMEVDNTVGCis6MEEwREJGMDA5MDdGRUFFMEZDQkMwMDAyODAwMzE0Cis6MDMwREM5MDAwMjBFQzU1MgorOjBDMERDQzAwN0MzQjdEMEY4RDA2N0YwMDkwN0ZENEVFRjUKKzowOTBERDgwMEYwOTA3RkQ1RUNGMDAyMEVDRDg1Cis6MDYwREUxMDBCQjA3MDMwMjBFQzU3MgorOjAzMERFNzAwQkIwODEwMzYKKzowRDBERUEwMEFDNDg5MDdGMDBFQ0YwOTA3RkI1NzQwMUYwRjQKKzowMzBERjcwMDAyMEVDRDFDCis6MDMwREZBMDBCQjA5MzEwMQorOjA1MERGRDAwQkEwMDAyODAwM0IyCis6MDMwRTAyMDAwMjBFQzUxOAorOjBFMEUwNTAwOTA3RkVBRTBGQ0MzNzQwMTlDNTAwMzAyMEVDNTBFCis6MDgwRTEzMDA5MDdGRUFFMEZDQkMwMDBBM0MKKzowQTBFMUIwMDkwMTcyMUU0RjA5MDE3MjJFNEYwOTQKKzowOTBFMjUwMDkwN0ZFQUUwRjU0ODAyMEVDREQxCis6MDMwRTJFMDBCQjBBMjdENQorOjA1MEUzMTAwQkE4MTAyODAwM0ZDCis6MDMwRTM2MDAwMjBFQzVFNAorOjBFMEUzOTAwOTA3RkVDRTBGQTI0MjBGQUU0MzQxN0ZDOEE4MjYxCis6MEUwRTQ3MDA4QzgzRTBGQTkwN0YwMEYwOTA3RkI1NzQwMUYwOEMKKzowMzBFNTUwMDAyMEVDREJECis6MDUwRTU4MDBCQjBCMDI4MDAzNEEKKzowMzBFNUQwMDAyMEVBOUQ5Cis6MEQwRTYwMDA5MDE3MjBFNEYwOTA3RkVDRTBGQUJBMDExQTQwCis6MDgwRTZEMDA5MDdGRURFMEZBQkEwMDEyREIKKzowRTBFNzUwMDkwN0ZFQUUwRkE5MDE3MjFGMEMwMDMxMjA0RTIyOQorOjA0MEU4MzAwRDAwMzgwNDZEMgorOjA4MEU4NzAwOTA3RkVDRTBGQUJBMDIzRTk0Cis6MDgwRThGMDA5MDdGRURFMEZBQkEwMDM2OTUKKzowRDBFOTcwMEMwMDMxMjA0RUZEMDAzOTA3RkVBRTBGQTkwNTAKKzowNTBFQTQwMDE3MjJGMDgwMjQ3QworOjA1MEVBOTAwQkIxMjAyODAxN0RFCis6MDUwRUFFMDBCQjgxMDI4MDBENzQKKzowNTBFQjMwMEJCODMwMjgwMDg3MgorOjA1MEVCODAwQkI4MjAyODAwMzczCis6MDMwRUJEMDBCQjg0MDVFRQorOjA1MEVDMDAwMTIwNjRFODAwODNGCis6MDgwRUM1MDA5MDdGQjQ3NDAzRjA4MDA2NzUKKzowNjBFQ0QwMDkwN0ZCNDc0MDJGMEY2Cis6MDIwRUQzMDBEMDg2QzcKKzowRTBFRDUwMEQwRDBEMDAxRDAwMEQwMDdEMDA2RDAwNUQwMDQ3OAorOjBEMEVFMzAwRDAwM0QwMDJEMDgzRDA4MkQwRjBEMEUwMzIxNgorOjBCMEVGMDAwOTA3RkVDRTBGNTVBQzM5NDAxNDAxRDE4Cis6MDcwRUZCMDBDMzc0MDc5NTVBNDAxNjZECis6MEQwRjAyMDBFNTVBMjRGRjI1RTBGQTI0QzZGNTgyRTQzNDA4Cis6MDkwRjBGMDA3RkY1ODNBQTU5RUFGMDgwMjI2MworOjA3MEYxODAwQzNFNTVBOTQ4MTQwMUI2MAorOjA3MEYxRjAwQzM3NDg3OTU1QTQwMTRDQQorOjBEMEYyNjAwRTU1QTI0RkYyNUUwRkEyNEI2RjU4MkU0MzRGNAorOjA3MEYzMzAwN0ZGNTgzQUE1OUVBRjBFMworOjAxMEYzQTAwMjI5NAorOjBFMEYzQjAwMDkwMkJBMDAwMzAxMDA0MDAwMDkwNDAwMDAwMDkyCis6MEUwRjQ5MDAwMTAxMDAwMDA5MjQwMTAwMDEzRDAwMDEwMTBDMUUKKzowRTBGNTcwMDI0MDIwMTEwMDcwMDAyMDMwMDAwMDAwRDI0MDYxMgorOjBFMEY2NTAwMDMwMTAyMTUwMDAzMDAwMzAwMDAwOTI0MDMwMjJCCis6MEUwRjczMDAwMTAxMDAwMTAwMDkyNDAzMDQwMjAzMDAwMzAwMzEKKzowRTBGODEwMDA5MjQwMzA1MDMwNjAwMDEwMDA5MDQwMTAwMDAxNQorOjBFMEY4RjAwMDEwMjAwMDAwOTA0MDEwMTAxMDEwMjAwMDAwNzM3Cis6MEUwRjlEMDAyNDAxMDIwMTAxMDAwQjI0MDIwMTAyMDIxMDAxRDYKKzowRTBGQUIwMDgwQkIwMDA5MDU4ODA1MDAwMTAxMDAwMDA3MjUzNAorOjBFMEZCOTAwMDEwMDAwMDAwMDA5MDQwMjAwMDIwMDAwMDAwMDE4Cis6MEUwRkM3MDAwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDAwMDAwRkMKKzowRTBGRDUwMDA5MDQwMjAxMDMwMDAwMDAwMDA3MDU4MjAyNDAyQgorOjBFMEZFMzAwMDAwMDA3MDUwMjAyNDAwMDAwMDkwNTg5MDVBMDc0Cis6MEEwRkYxMDAwMTAxMDAwMDAwRkZGRkZGRkYwMEY4Cis6MEUwRkZCMDAxMjAxMDAwMTAwMDAwMDQwNDcwNTk5OTkwMDAxMTUKKzowRTEwMDkwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwOTAyQkExMworOjA0MTAxNzAwMDAwMzAxMDBEMQorOjAyMTAxQjAwN0EwMDU5Cis6MDMxMDFEMDBCQTA1MDAxMQorOjAyMTAyMDAwNTAxNzY3Cis6MDgxMDIyMDA5MDdGQTVFMEZCMzBFMDA1MjIKKzowNTEwMkEwMDkwMDAwMTgwMERBMworOjBBMTAyRjAwQzAwMjEyMDFEREQwMDIwQTgwRTRDNQorOjAzMTAzOTAwOTAwMDAxMjMKKzowMTEwM0MwMDIyOTEKKzowRTEwM0QwMDkwN0RDMUUwRjlBM0UwRkFBM0UwRkI3QzAwN0QwQQorOjA0MTA0QjAwN0VFQjYwMTJDNgorOjBFMTA0RjAwODk4MjhBODNFMEEzQTk4MkFBODM4QzgyOEQ4MzgyCis6MDQxMDVEMDBGMDBDREJFRUNBCis6MDgxMDYxMDA5MDdEQzNFMDkwN0ZCOUYwMUYKKzowMTEwNjkwMDIyNjQKKzowRTEwNkEwMDkwN0RDMUUwRjlBM0UwRkFBM0UwRkI3Q0M0N0QxOQorOjA0MTA3ODAwN0RFQjYwRTVDNworOjBFMTA3QzAwOEM4MjhEODNFMDBDODk4MjhBODNGMEEzQTk4Mjg2Cis6MDQxMDhBMDBBQTgzREJFRTZDCis6MDExMDhFMDAyMjNGCis6MEUxMDhGMDA5MDdGQTU3NDgwRjAwNTg2OTA3REMxRTAwNTg2RjcKKzowRTEwOUQwMEEzRjAxMjEwMUI5MDdGQTYwNTg2QTNBM0UwRjkxNgorOjA1MTBBQjAwNjAxNkEzMDU4NjlDCis6MEQxMEIwMDA5MDdGQTYwNTg2RTBBMzA1ODZGMEMwMDExMjIyCis6MDYxMEJEMDAxMDFCRDAwMUQ5RUQ2QgorOjA2MTBDMzAwOTA3RkE1NzQ0MEYwQ0YKKzowMTEwQzkwMDIyMDQKKzowODEwQ0EwMDkwODgwMjc0MDFGMDdBMDAyNQorOjAzMTBEMjAwQkFGRjAwNjIKKzowMjEwRDUwMDUwMEFCRgorOjBBMTBENzAwQzAwMjEyMDFEREQwMDIwQTgwRjExMAorOjAxMTBFMTAwMjJFQworOjA1MTBFMjAwRTU2QkI0QzAwODNECis6MDgxMEU3MDA5MDg4MDNFNTZDRjA4MDA2MUYKKzowNjEwRUYwMDkwODgwMkU1NkNGMEEwCis6MDQxMEY1MDA3QTAwN0IwMDAyCis6MEIxMEY5MDBDM0VBOTQzMkVCNjQ4MDk0ODA1MDA3M0YKKzowNTExMDQwMDBBQkEwMDAxMEIxNgorOjAyMTEwOTAwODBFRTc2Cis6MDExMTBCMDAyMkMxCis6MEExMTBDMDA5MDg4MDNFNTZERjAwNTM5N0EwMEM0Cis6MDMxMTE2MDBCQTI4MDBGNAorOjAyMTExOTAwNTAwMzgxCis6MDMxMTFCMDAwQTgwRjg0RgorOjA1MTExRTAwRTUzOUI0MTAwOEUyCis6MDgxMTIzMDA5MDg4MDI3NEMwRjA4MDBFRjgKKzowNTExMkIwMEU1MzlCNDIwMDlDNAorOjA5MTEzMDAwOTA4ODAyNzQ4MEYwNzUzOTAwMEEKKzowMjExMzkwMDdBMDAzQQorOjAzMTEzQjAwQkEyODAwQ0YKKzowMjExM0UwMDUwMDM1QworOjAzMTE0MDAwMEE4MEY4MkEKKzowMTExNDMwMDIyODkKKzowNDExNDQwMEU1NkY2MDAyRjEKKzowMjExNDgwMDgwMDcxRQorOjA3MTE0QTAwN0EwMDc1MzkwMDgwMDVGMQorOjA1MTE1MTAwN0E0MDc1MzkxMDIxCis6MDkxMTU2MDBFNTZFMkFGQUU1NkUyNTM5RjU3MworOjBBMTE1RjAwMzk5MDg4MDI3NDgwMkFGMDdBMDBBQgorOjA4MTE2OTAwQzNFQTY0ODA5NEE4NTAwMzVFCis6MDMxMTcxMDAwQTgwRjVGQworOjAxMTE3NDAwMjI1OAorOjA2MTE3NTAwQUE3MEFCNzFBQzcyMjAKKzowQzExN0IwMDhBODI4QjgzOENGMDEyMTRFRUZENjAxODQ5Cis6MEQxMTg3MDA4RDZEQzAwMkMwMDNDMDA0MTIxMTBDRDAwNDE1Cis6MDkxMTk0MDBEMDAzRDAwMjBBQkEwMDAxMEJERAorOjAyMTE5RDAwODBEQ0Y0Cis6MDExMTlGMDAyMjJECis6MEQxMUEwMDBFNTczQzQ1NDBGRkE1MzAyMEZDMzc0MDk5QThCCis6MDIxMUFEMDA1MDA2RUEKKzowNjExQUYwMDc0MzcyQUZCODAwNEU2Cis6MDQxMUI1MDA3NDMwMkFGQjZECis6MEMxMUI5MDA4QjZEQzAwMzEyMTEwQ0QwMDNBQTczNTNGRAorOjA4MTFDNTAwMDIwRkMzNzQwOTlBNTAwNkUxCis6MDYxMUNEMDA3NDM3MkFGQjgwMDRDOAorOjA0MTFEMzAwNzQzMDJBRkI0RgorOjA1MTFENzAwOEI2RDEyMTEwQ0VDCis6MDExMURDMDAyMkYwCis6MDcxMUREMDA5MDdEQzNFMEZBNjAwRkYyCis6MEMxMUU0MDA5MDdEQzFFMEY1NkU5MDdEQzJFMEY1NkZEQgorOjAzMTFGMDAwMTIxMTQ0OTUKKzowQzExRjMwMDkwN0RGRkU0RjA3NTcwQzQ3NTcxN0Q3NThGCis6MDUxMUZGMDA3MjAxMTIxMTc1RTAKKzowMTEyMDQwMDIyQzcKKzowMjEyMDUwMDdBMDQ2OQorOjAzMTIwNzAwQkE0MDAwRUEKKzowMjEyMEEwMDUwMzY1QworOjBFMTIwQzAwRUEyNEMwRjU4MkU0MzQ3REY1ODNFMEZCN0MwMDJCCis6MDMxMjFBMDBCQzA4MDAwRAorOjAyMTIxRDAwNTAyMDVGCis6MDYxMjFGMDA4QjA1RUQzMEU3MEIyQQorOjBCMTIyNTAwOTA3Rjk2NzQ0MkYwNzRDM0YwODAwOEM0Cis6MDgxMjMwMDA5MDdGOTZFNEYwNzQ4MUYwNTgKKzowNzEyMzgwMEVCMjVFMEZCMEM4MERCNUQKKzowMzEyM0YwMDBBODBDNTVECis6MDExMjQyMDAyMjg5Cis6MDQxMjQzMDA3QTAwN0JFRkMzCis6MDMxMjQ3MDBCQTEwMDBEQQorOjAyMTI0QTAwNTAyMDMyCis6MEUxMjRDMDA3NDExMkJGQjI0MDBGQ0U0MzQxOEZEOEM4MjhEMDEKKzowRTEyNUEwMDgzRTRGMEVBMjQwMEY1ODJFNDM0MTlGNTgzRTQxRAorOjA0MTI2ODAwRjAwQTgwREIyRAorOjAxMTI2QzAwMjI1RgorOjBFMTI2RDAwNzRGODI0MDBGNTgyNzQwMzM0ODRGNTgzRTRGMEYxCis6MEUxMjdCMDA3NEY5MjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwRTIKKzowRTEyODkwMDc0RkEyNDAwRjU4Mjc0MDMzNDg0RjU4M0U0RjBEMworOjBFMTI5NzAwNzRGQjI0MDBGNTgyNzQwMzM0ODRGNTgzRTRGMEM0Cis6MEUxMkE1MDA3NEZGMjQwMEY1ODI3NDAzMzQ4NEY1ODNFNEYwQjIKKzowMTEyQjMwMDIyMTgKKzowRTEyQjQwMDEyMDNDQjEyMTI2RDdBQzA3Qjg3N0MwMTc0MDE4RAorOjBFMTJDMjAwMkFGREU0M0JGRThDMDc4QTgyOEI4MzhDRjA3NDNECis6MEUxMkQwMDAwMTEyMTRCRjJERkFFNDNFRkI4RjA0OEQ4MjhFQjYKKzowRTEyREUwMDgzOEZGMDc0MDYxMjE0QkY3NDAxMkFGREU0M0JFNgorOjBFMTJFQzAwRkU4QzA3OEE4MjhCODM4Q0YwRTQxMjE0QkY3NDkwCis6MEUxMkZBMDAwMTJERkFFNDNFRkI4RjA0OEQ4MjhFODM4RkYwNkYKKzowRTEzMDgwMDc0MEIxMjE0QkY3NDAxMkFGREU0M0JGRThDMDcyNworOjBFMTMxNjAwOEE4MjhCODM4Q0YwNzQwODEyMTRCRjc0MDEyRDMwCis6MEUxMzI0MDBGQUU0M0VGQjhGMDQ4RDgyOEU4MzhGRjA3NDAxRkQKKzowRTEzMzIwMDEyMTRCRjJBRkRFNDNCRkU4QzA3OEE4MjhCODNENworOjBFMTM0MDAwOENGMEU0MTIxNEJGNzQwMTJERkFFNDNFRkI4RjEyCis6MEUxMzRFMDAwNDhEODI4RTgzOEZGMDc0MDMxMjE0QkY3RDAwMTUKKzowMzEzNUMwMEJEMDYwMENCCis6MDIxMzVGMDA1MDEyMkEKKzowQjEzNjEwMDhBODI4QjgzOENGMDBBQkEwMDAxMEIxQgorOjA3MTM2QzAwRTQxMjE0QkYwRDgwRTkzQgorOjBEMTM3MzAwOEE4MjhCODM4Q0YwRTU3NDEyMTRCRjc0RjkyQworOjBFMTM4MDAwMjQwMEY1ODI3NDAzMzQ4NEY1ODM3NDBGRjA3NDM2Cis6MEUxMzhFMDBGRTI0MDBGNTgyNzQwMzM0ODRGNTgzNzQwMUYwQUMKKzowNjEzOUMwMDEyMDNFMTEyMDRGNzQ4Cis6MDExM0EyMDAyMjI4Cis6MEQxM0EzMDA5MDdEQzFFMEZBMjQwMEZCRTQzNDE5RkM5MEI5Cis6MEUxM0IwMDA3REMyRTBGRDhCODI4QzgzRjA3NUYwMTFFQUE0MDMKKzowMzEzQkUwMEZBN0IwMEI3Cis6MDMxM0MxMDBCQjEwMDA1RQorOjAyMTNDNDAwNTAyNEIzCis6MEUxM0M2MDBFQTI0MDBGQ0U0MzQxOEZERUIyQ0ZDRTQzREZEQjEKKzowRTEzRDQwMDc0MDQyQjI0QzBGNTgyRTQzNDdERjU4M0UwRkUyMgorOjA4MTNFMjAwOEM4MjhEODNGMDBCODBENzkzCis6MEUxM0VBMDBFQTI0MDBGQUU0MzQxOEZCNzQxMDJBRjU4MkU0QjkKKzowNTEzRjgwMDNCRjU4M0U0RjA2OQorOjAxMTNGRDAwMjJDRAorOjA0MTNGRTAwRTU3NjYwMDIyRQorOjAyMTQwMjAwODAxNjUyCis6MEMxNDA0MDA3NDBGNTU3NUZBOEE3NTI0MDBGNTgyRTQxNworOjBBMTQxMDAwMzQxOUY1ODNFMEY1NzQxMjEyQjRFQworOjBBMTQxQTAwMTIxMENBNzU2RTAwNzU2RjAwMTIwMworOjA2MTQyNDAwMTE0NDc1NzBCOTc1NUEKKzowNjE0MkEwMDcxMTQ3NTcyMDIxMjNDCis6MEIxNDMwMDAxMTc1RTU3NkI0MDIwNDc0MDE4MDAxMjAKKzowMTE0M0IwMEU0Q0MKKzowMzE0M0MwMEZBNzAwRjM0Cis6MEMxNDNGMDA3NDAxMjU3NUY1NzNDMDAyMTIxMUEwRDBENQorOjAzMTQ0QjAwMDI4MDBBMTIKKzowQTE0NEUwMDg1NzU3M0MwMDIxMjExQTBEMDAyRDAKKzowQzE0NTgwMDc1NkUwMDc1NkYwMUMwMDIxMjExNDREMEM3Cis6MDQxNDY0MDAwMkVBNzAxQTBFCis6MEQxNDY4MDA3NUYwMTFFNTc1QTRGQTI0MDBGQUU0MzQxOEJCCis6MDkxNDc1MDBGQjhBNzA4QjcxNzU3MjAxMTI4MworOjA0MTQ3RTAwMTE3NTgwMzYyRQorOjAyMTQ4MjAwN0EwMEVFCis6MDMxNDg0MDBCQTEwMDA5QgorOjAyMTQ4NzAwNTAyRkU0Cis6MEQxNDg5MDBFQTI0MDBGNTgyRTQzNDE5RjU4M0UwRkJFNTY4Cis6MDQxNDk2MDA3NUI1MDMxQjBBCis6MEUxNDlBMDA3NUYwMTFFQUE0RkIyNDAwRkJFNDM0MThGQzhCNkYKKzowOTE0QTgwMDcwOEM3MTc1NzIwMUMwMDIxMjEyCis6MDQxNEIxMDAxMTc1RDAwMkRGCis6MDMxNEI1MDAwQTgwQ0NERQorOjAxMTRCODAwMjIxMQorOjA2MTRCOTAwNTA3MjZGNjcyMDAwNzUKKzowRTE0QkYwMEM4QzBFMEM4QzBFMEU1RjA2MDBCMTQ2MDBGMTQ3OAorOjA3MTRDRDAwNjAxMTE0NjAxMjgwMTU4QworOjA3MTRENDAwRDBFMEE4ODJGNjgwMEVCMworOjA1MTREQjAwRDBFMEYwODAwOUUzCis6MDQxNEUwMDBEMEUwODAwNUQzCis6MDUxNEU0MDBEMEUwQTg4MkYyMzcKKzowNDE0RTkwMEM4RDBFMEM4QkYKKzowMTE0RUQwMDIyREMKKzowRTE0RUUwMEM4QzBFMEU1RjA2MDBEMTQ2MDBGMTQ2MDBGMTQyQworOjA2MTRGQzAwNjAxMDc0RkY4MDBGNzgKKzowNTE1MDIwMEE4ODJFNjgwMEE0QQorOjAzMTUwNzAwRTA4MDA3N0EKKzowNDE1MEEwMEU0OTM4MDAzRTMKKzowMzE1MEUwMEE4ODJFMkNFCis6MDQxNTExMDBGOEQwRTBDODY2Cis6MDExNTE1MDAyMkIzCis6MDAwMDAwMDFGRgorCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgQmF5Q29tIEdtYkgKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UKKyAqIGNvZGUgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIGNvbW1lbnQgd2l0aG91dAorICogbW9kaWZpY2F0aW9uLgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5hc20gYi9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmFzbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGQ4OTE5Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZHNwNTZrL2Jvb3RzdHJhcC5hc20KQEAgLTAsMCArMSw5OCBAQAorOyBBdXRob3I6IEZyZWRlcmlrIE5vcmluZyA8bm9yaW5nQG5vY3Jldy5vcmc+Cis7Cis7IFRoaXMgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCis7IExpY2Vuc2UuICBTZWUgdGhlIGZpbGUgQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBhcmNoaXZlCis7IGZvciBtb3JlIGRldGFpbHMuCisKKzsgRFNQNTZrIGxvYWRlcgorCis7IEhvc3QgSW50ZXJmYWNlCitNX0JDUiAgIEVRVSAgICAgJEZGRkUgICAgICAgICAgIDsgUG9ydCBBIEJ1cyBDb250cm9sIFJlZ2lzdGVyCitNX1BCQyAgIEVRVSAgICAgJEZGRTAgICAgICAgICAgIDsgUG9ydCBCIENvbnRyb2wgUmVnaXN0ZXIKK01fUEJERFIgRVFVICAgICAkRkZFMiAgICAgICAgICAgOyBQb3J0IEIgRGF0YSBEaXJlY3Rpb24gUmVnaXN0ZXIKK01fUEJEICAgRVFVICAgICAkRkZFNCAgICAgICAgICAgOyBQb3J0IEIgRGF0YSBSZWdpc3RlcgorTV9QQ0MgICBFUVUgICAgICRGRkUxICAgICAgICAgICA7IFBvcnQgQyBDb250cm9sIFJlZ2lzdGVyCitNX1BDRERSIEVRVSAgICAgJEZGRTMgICAgICAgICAgIDsgUG9ydCBDIERhdGEgRGlyZWN0aW9uIFJlZ2lzdGVyCitNX1BDRCAgIEVRVSAgICAgJEZGRTUgICAgICAgICAgIDsgUG9ydCBDIERhdGEgUmVnaXN0ZXIKKworTV9IQ1IgICBFUVUgICAgICRGRkU4ICAgICAgICAgICA7IEhvc3QgQ29udHJvbCBSZWdpc3RlcgorTV9IU1IgICBFUVUgICAgICRGRkU5ICAgICAgICAgICA7IEhvc3QgU3RhdHVzIFJlZ2lzdGVyCitNX0hSWCAgIEVRVSAgICAgJEZGRUIgICAgICAgICAgIDsgSG9zdCBSZWNlaXZlIERhdGEgUmVnaXN0ZXIKK01fSFRYICAgRVFVICAgICAkRkZFQiAgICAgICAgICAgOyBIb3N0IFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIKKworOyBTU0ksIFN5bmNocm9ub3VzIFNlcmlhbCBJbnRlcmZhY2UKK01fUlggICAgRVFVICAgICAkRkZFRiAgICAgICAgICAgOyBTZXJpYWwgUmVjZWl2ZSBEYXRhIFJlZ2lzdGVyCitNX1RYICAgIEVRVSAgICAgJEZGRUYgICAgICAgICAgIDsgU2VyaWFsIFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIKK01fQ1JBICAgRVFVICAgICAkRkZFQyAgICAgICAgICAgOyBTU0kgQ29udHJvbCBSZWdpc3RlciBBCitNX0NSQiAgIEVRVSAgICAgJEZGRUQgICAgICAgICAgIDsgU1NJIENvbnRyb2wgUmVnaXN0ZXIgQgorTV9TUiAgICBFUVUgICAgICRGRkVFICAgICAgICAgICA7IFNTSSBTdGF0dXMgUmVnaXN0ZXIKK01fVFNSICAgRVFVICAgICAkRkZFRSAgICAgICAgICAgOyBTU0kgVGltZSBTbG90IFJlZ2lzdGVyCisKKzsgRXhjZXB0aW9uIFByb2Nlc3NpbmcKK01fSVBSICAgRVFVICAgICAkRkZGRiAgICAgICAgICAgOyBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIKKworICAgICAgICBvcmcgICAgIFA6JDAKK3N0YXJ0ICAgam1wICAgICA8JDQwCisKKyAgICAgICAgb3JnICAgICBQOiQ0MAorOyAgICAgICA7IFplcm8gMTYzODQgRFNQIFggYW5kIFkgd29yZHMKKzsgICAgICAgY2xyICAgICBBICMwLHIwCis7ICAgICAgIGNsciAgICAgQiAjMCxyNAorOyAgICAgICBkbyAgICAgICM2NCw8X2Jsb2NrMQorOyAgICAgICByZXAgICAgICMyNTYKKzsgICAgICAgbW92ZSAgICBBLFg6KHIwKSsgQixZOihyNCkrCis7X2Jsb2NrMSAgICAgICAgOyBaZXJvICgzMjc2OC01MTIpIFByb2dyYW0gd29yZHMKKzsgICAgICAgY2xyICAgICBBICM1MTIscjAKKzsgICAgICAgZG8gICAgICAjMTI2LDxfYmxvY2syCis7ICAgICAgIHJlcCAgICAgIzI1NgorOyAgICAgICBtb3ZlICAgIEEsUDoocjApKworO19ibG9jazIKKworICAgICAgICA7IENvcHkgRFNQIHByb2dyYW0gY29udHJvbAorICAgICAgICBtb3ZlICAgICNyZWFsLHIwCisgICAgICAgIG1vdmUgICAgI3VwbG9hZCxyMQorICAgICAgICBkbyAgICAgICN1cGxvYWRfZW5kLXVwbG9hZCw8X2NvcHkKKyAgICAgICAgbW92ZSAgICBQOihyMCkrLHgwCisgICAgICAgIG1vdmUgICAgeDAsUDoocjEpKworX2NvcHkgICBtb3ZlcCAgICM+NCxYOjw8TV9IQ1IKKyAgICAgICAgbW92ZXAgICAjPiRjMDAsWDo8PE1fSVBSCisgICAgICAgIGFuZCAgICAgIzwkZmUsbXIKKyAgICAgICAgam1wICAgICB1cGxvYWQKKworcmVhbAorICAgICAgICBvcmcgICAgIFA6JDdlYTkKK3VwbG9hZAorICAgICAgICBtb3ZlcCAgICM+MSxYOjw8TV9QQkMKKyAgICAgICAgbW92ZXAgICAjPjAsWDo8PE1fQkNSCisKK25leHQgICAgamNsciAgICAjMCxYOjw8TV9IU1IsKgorICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxBCisgICAgICAgIG1vdmUgICAgIz4zLHgwCisgICAgICAgIGNtcCAgICAgeDAsQSAjPjEseDAKKyAgICAgICAgamVxICAgICA8JDAKK19nZXRfYWRkcmVzcworICAgICAgICBqY2xyICAgICMwLFg6PDxNX0hTUixfZ2V0X2FkZHJlc3MKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgscjAKK19nZXRfbGVuZ3RoCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLF9nZXRfbGVuZ3RoCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLHkwCisgICAgICAgIGNtcCAgICAgeDAsQSAjPjIseDAKKyAgICAgICAgamVxICAgICBsb2FkX1gKKyAgICAgICAgY21wICAgICB4MCxBCisgICAgICAgIGplcSAgICAgbG9hZF9ZCisKK2xvYWRfUCAgZG8gICAgICB5MCxfbG9hZAorICAgICAgICBqY2xyICAgICMwLFg6PDxNX0hTUiwqCisgICAgICAgIG1vdmVwICAgWDo8PE1fSFJYLFA6KHIwKSsKK19sb2FkICAgam1wICAgICBuZXh0Citsb2FkX1ggIGRvICAgICAgeTAsX2xvYWQKKyAgICAgICAgamNsciAgICAjMCxYOjw8TV9IU1IsKgorICAgICAgICBtb3ZlcCAgIFg6PDxNX0hSWCxYOihyMCkrCitfbG9hZCAgIGptcCAgICAgbmV4dAorbG9hZF9ZICBkbyAgICAgIHkwLF9sb2FkCisgICAgICAgIGpjbHIgICAgIzAsWDo8PE1fSFNSLCoKKyAgICAgICAgbW92ZXAgICBYOjw8TV9IUlgsWToocjApKworX2xvYWQgICBqbXAgICAgIG5leHQKKwordXBsb2FkX2VuZAorICAgICAgICBlbmQKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2RzcDU2ay9ib290c3RyYXAuYmluLmloZXggYi9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzM2YyMWYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9kc3A1NmsvYm9vdHN0cmFwLmJpbi5paGV4CkBAIC0wLDAgKzEsMjYgQEAKKzoxMDAwMDAwMDBDMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDAKKzoxMDAwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAKKzoxMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjAKKzoxMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAKKzoxMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAKKzoxMDAwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDAwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDAwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDAwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDAwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDAwQzAwMDYwRjQwMDAwMDA0RjYxRjQwMDAwN0VBOTA2MkU4MDAwNUQKKzoxMDAwRDAwMDAwNDcwN0Q4ODQwNzU5ODQwOEY0QTgwMDAwMDQwOEY0RUUKKzoxMDAwRTAwMEJGMDAwQzAwMDBGRUI4MEFGMDgwMDA3RUE5MDhGNEEwNTIKKzoxMDAwRjAwMDAwMDAwMTA4RjRCRTAwMDAwMDBBQTk4MDAwN0VBRDA4REYKKzoxMDAxMDAwMDRFMkI0NEY0MDAwMDAwMDM0NEY0NDUwMDAwMDEwRUEwMEYKKzoxMDAxMTAwMDAwMEFBOTgwMDA3RUI1MDg1MDJCMEFBOTgwMDA3RUI4OEQKKzoxMDAxMjAwMDA4NDYyQjQ0RjQ0NTAwMDAwMjBBRjBBQTAwN0VDOTIwQ0MKKzoxMDAxMzAwMDAwNDUwQUYwQUEwMDdFRDAwNkM2MDAwMDdFQzYwQUE5QzUKKzoxMDAxNDAwMDgwMDA3RUM0MDg1ODZCMEFGMDgwMDA3RUFEMDZDNjAwQjEKKzoxMDAxNTAwMDAwN0VDRDBBQTk4MDAwN0VDQjA4NThBQjBBRjA4MDAwNTMKKzoxMDAxNjAwMDdFQUQwNkM2MDAwMDdFRDQwQUE5ODAwMDdFRDIwODU4NjMKKzowNzAxNzAwMEVCMEFGMDgwMDA3RUFERjgKKzowMDAwMDAwMUZGCisvKiBEU1A1NjAwMSBib290c3RyYXAgY29kZSAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvYm9vdC5IMTYgYi9maXJtd2FyZS9lZGdlcG9ydC9ib290LkgxNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmY4ZTkxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZWRnZXBvcnQvYm9vdC5IMTYKQEAgLTAsMCArMSwyOSBAQAorOjAwMDQwMDAwMDAwMTBDMDAwMkVECis6MDAwMjAwMDAwNDAwRkZGQgorOjAwMDYwMDAwMDAwMjAwODAwMjAwMDM3MworOjAwMDMwMDBCMDAwMjAwMEJFNQorOjAwMDMwMDEzMDAwMjAxQjgyRgorOjAwMDMwMDFCMDAwMjAwMUJDNQorOjAwMDMwMDIzMDAwMjAwMjNCNQorOjAwMDMwMDJCMDAwMjAwMkJBNQorOjAwMDMwMDMzMDAwMjAwMzM5NQorOjAwMDMwMDNCMDAwMjAwM0I4NQorOjAwMDMwMDQzMDAwMjAxQkRGQQorOjAwMDMwMDRCMDAwMjAxRDBERgorOjAwMDMwMDUzMDAwMjAxMjE4NgorOjAwMDMwMDdCMDAwMjAwN0IwNQorOjAxNjYwMDgwMDA3RUIwMDA3QUIzM0ZGMjdFRjgwMDIzN0UwMDAxN0UxMDAwMTIwNzVGNjkyMDAwMEFCRTI0MDAwMDc4MDU3NTkwMEQ4MDAzNzU5MDFERDJCNTdFMDAwMEE1RDhGRDc1QTgwMDc1QjEwMEE5RDU4N0NBMjkxMjA5Q0MxMjA5QTBGNTA5N0FBMTIwMTIwMUU2REEyOUE5RDBDNzdFMDAwNTdBMDFGMTc1RTExMEE5RDdGNEE5RDdFNEE1RDhGMTc1RjEwMDc1RTEzRjc1QTIwMzc1QTMwMDc1QzAwMDc1QzEwMEE5RDFCMUE5RDBCMUE5RDVEM0QyQUZFNDdFMDQyODAwOERFRjFCMDQ3OEZBMDRBOTM0RDMwMzMwRTBFRUJFMjQwMDAwNzgwNTYzOTAzMDgwRTNCMjk1ODBERkJFQjAwMjIyQzBEMEE5MjBERjBGQTkzMURGMDMwMjAxQjU3NTA4MDExMjA4MzM4MEZFNzUwOEZFMTIwODMzNzVBODAwN0VCMzNGRjIzMEUwNEIzMDAxNDZDMjkyN0UyNDgwMDA3RTExMDk3NDA4MTlCMjAwMTA3NDBFMTlCMjAwMDQyRTI0MDEwMEE1RDlFRDdFMjQ4MDAwN0UxMTA5RTRENUUwRkQwOUIyMDAwODIwRTAwQTA5QjIwMDAwMDlCMjAwMTg4MEVCMkUyNDAxMDBBNUQ5RTQ0MzkwMzBEMkFBODAwNUQyQUE0MzkwMzREMkFGQTlEMTg3MDAwMDAwMDAwMEE5MTFERjAzQTlEMkRGNzUwOEZGMTIwODMzQzBEMUNBMDJGRkNBMDY4MzAwMzJEMEQwMzJDMjhCQzJBQTMyNzUwODA4MTIwODMzQTlDMEIxQTlDNUQzQTlDNkQzQTlEMkIxMzJDQUI4NzUwODAyMTIwODMzRTVDMDU0MDM2ODA1MTIwMUVFODBGNURBQjgzMkFFCis6MDAwMTFCQ0EwMDAwMUEKKzowNjREMDFFNjAwRTQ3QUIzM0ZGMTAyMDI2M0NBMEJDQTFCQ0EyQkNBM0JDQTRCQ0E1QkNBNkJDQTdCQ0FFQkMwRjE3RUIzMDEyQkI0MDAwMjgwMTlCNDAxMTYzMEMwMDg3NUYxMDAxMjAyNEQ4MDFGMzBDMTFDNzVGMTAwMTIwMkRFODAxNDMwQzEwODc1RjEwMDEyMDJERTgwMDkzMEMwMDY3NUYxMDAxMjAyNEREMEYxREFFQkRBN0JEQTZCREE1QkRBNEJEQTNCREEyQkRBMUJEQTBCMjJDMkMwN0VCMzAxMkJCNDAyMDcxMjAyNkYwMjAyNjMyMkI0MDFGQzAyMDJBOTdFMDAwMDdBMDMwMTJCN0EwMzAxMkMyMjdFQjMwMTIzNTQ2MDYwMDVCNDQwMTU4MDEzN0VCMzAxMjRCNDA1MEM3NTA4NzExMjA4MzM3RUIzMDEyNkY1OEYyMjc1RjYwMDIyQkU1NzAxMjkyODA0N0U1NzAxMjk3QTBGMDEyRTdBNTcwMTMyMDIwMkE5N0VFRjAxMkU3RUY3MDEzMjdFMDcwMTMyNEQwMDY4MjE3RTAwMDA3RUVCQjBGNUYzQTNBNTA4MUJGNDY4MDRBNUI4MDhGMDdBRUYwMTJFN0FGNzAxMzI3NTA4MDYxMjA4MzM3QTAxRjYyMkMyQzE3NTA4MDMxMjA4MzNBOTM2RTIxNkU1RjU1NEMwNjgwN0E5RDdGNEE5MjdGNEZDNTNFMTNGNDNGMjg4MDIwMzU1N0VCMzAxMkNCNDAyMEZBOUQ0RTQ3RUIwMDA3QUIzMDEyQzdBQjMwMTJCMjJCNDAxMzk3RTIxRTY3QzMyN0UxMzAxMkQyQzIxN0EyMzAxMkQ3RTAwMDAyRTA0MDEzNEU1RTM3QTA5QjAwQjA0QTVEQkY2QTlENEU0NzUwODcwMTIwODMzN0VCMzAxMkQ3RUEzMDEyQUJDQUI3ODAzMTIwM0VDMjIwMjA3NTVFNUU2QjQwODY1QTlDNEUyN0UwMUUzN0UxMUUzN0UzMUUzN0UyMUUzN0U1MUUzN0U0MUUzN0U3MUUzN0U2MUUzN0EwRjAxMjM3QTFGMDEyNzc1MDgwNDEyMDgzMzdBMDEwODEyMDgzMzdBMTEwODEyMDgzMzdBMjEwODEyMDgzMzdBMzEwODEyMDgzMzdBNDEwODEyMDgzMzdBNTEwODEyMDgzMzdBNjEwODEyMDgzMzdBNzEwODEyMDgzM0E5RDRFNEE5RDdGNEE5QzZFMjEyMDNDMDIyNkQwMDdFMTQwMTAyN0EwNzAxMzI3QTAzMDEyRDdFQjMwMTIzMjBFNzBGN0EyMzAxMkM3QTMzMDEyQkJFMDcwMTI5NjgwOTIyN0EzMzAxMkM3QTIzMDEyQjdFQjMwMTIzNTRFMzIzMjMzMEUwMDJEMkU1MzBFNzAyRDJFNDMwRTUwNjMwRTQwMzAyMDc1NTU0M0VGNUYwMDM1NDFGQzMyNUYwOTAwNDE4NzU4NEZGNzMwMjA1NkMwMjA0NjAwMjA2MDkwMjA2MjQwMjA1MDUwMjA0QzYwMjA2M0QwMjA2M0QwMjA2NDAwMjA2NDAwMjA2NDAwMjA2NDAwMjA2NDAwMjA2NDAwMjA2NDAwMjA2NDAwMjA2NDYwMjA2RkEwMjA2NDMwMjA2NDMwMjA2NDMwMjA2NDMwMjA2NDMwMjA2NDM3RUIzMDEyNEI0MDYyQTdFQjMwMTI1NjA1NjdDMEI3RTEzMDEyNjdFMTcwMTI3NzUwODcyMTIwODMzN0EwMTA4MTIwODMzN0ExMTA4MTIwODMzMTIwNzVGNDAzNTAyMDI5NEI0MDgxMDc1MDg3NDEyMDgzMzdFQjMzRkYxRjVGMzc1RjYwMTIyQjQwMDFDNzUwODc1MTIwODMzN0VCMzNGRjIzMEUwMDU3NUYzMDI4MDAzNzVGMzAwNzVGMzAwNzVGNjAyMjIwMjA3NTU3RUIzMDEyNEI0MDAzNTc1MDg3NjEyMDgzMzdFQjMwMTI4NTQwRkY1RjE3RUIzMDEyODIwRTcwOUU1RTEzMEU3MEQ3NDAxODAwQkU1RTEzMEU2MDQ3NDAxODAwMjc0MDA1M0YxODBGNUYzNzVGMzAwNzVGNjAyMjIwMjA3NTVDMEYxN0VCMzAxMjg1NDBGNDJGMTdFQjMwMTI2QjQwMDQ1N0VCMzAxMjRCNDAxMjQ3NTA4NzcxMjA4MzM3RUIzMDEyODU0MEY3ODA1NTNFMTNGODAzNzdFQjMwMTI4MjBFNzA1NTNFMTdGODAyQjUzRTFCRjgwMjZCNDAzMTc3NTA4NzgxMjA4MzM3RUIzMDEyODIwRTcwNTQzRTE4MDgwMTE0M0UxNDA4MDBDNDNFMUMwRDBGMTc1MDgwNzEyMDgzMzIyRDBGMTAyMDI5MDdFQjMwMTI0QjQwOTIzNzUwODc5MTIwODMzN0VCMzAxMjZCRUIzM0ZGMTY4MTFDQUI4QzBGMTEyMDExREQwRjFEQUI4NTA3NjdBQjMzRkYxODA2REI0MDUwODc1MDg3QTEyMDgzMzgwNjJCNDAzMTk3NTA4N0IxMjA4MzM3RUIzMDEyNkI0MDE1NTdFQjMzRkYyNDQwMTdBQjMzRkYyODA0NkI0MDExOTc1MDg3QzEyMDgzMzdFQjMwMTI2QjQwMTM5N0VCMzNGRjI1NEZFN0FCMzNGRjI4MDJBQjQwNzJBN0VCMzAxMjU2MDI0N0MwQjdFMTMwMTI2N0UxNzAxMjc3NTA4NzMxMjA4MzM3QTAxMDgxMjA4MzM3QTExMDgxMjA4MzMxMjA3OEI0MDAzMDIwMjkwMDIwNzU1N0VCMzAxMjRCNDBCRjY3NTA4N0QxMjA4MzM3RUIzMDEyNjdFQTMwMTI4NENBQjc4RTQ4MERGN0VCMzAxMjRCNDBBREI3NTA4N0UxMjA4MzM3RUIzMDEyNjcwQ0ZGNUYzNzVGNjAxMjIwMjA3NTUwMjA3NTUwMjA3NTU3RUIzMDEyNEI0MDQyMDc1MDhDMzEyMDgzMzdFMDQwMDAxN0UxNzAxMjU3RTE4MDEzNDdBMUMwMDAwN0U0NzAxMjkxMjA4M0YwMjA2RjRCNDA2M0E3NTA4QzExMjA4MzM3RTU4MDAwMDdBNUMwMEZFN0RDQTdFRDcwMTI1N0U3ODAxMzQ3QTdDMDAwMDdFNzcwMTI5NzUwOEMxMTIwODMzQzBBOEMwODdDMkFGQTlENTg3MTIwOEQ2RDA4N0QwQTg0MDRGODA0QUI0MDAxQ0MyQUZBOUQ1ODcxMjAyOTBFNDhERUY4REVGOERFRkQ1RTBGN0MwRDFDQTAyRkZDQTA2MDAwMDMyQjQwOTEyN0U1NzAxMjU0RDU1NjgwNUE5RDJCMTgwMDNBOUMyQjE4MDE2QjQwNzE2QzJBRjdFMDcwMTI3N0UxNzAxMjVDMEQxQ0ExOENBMzhDQTI4MzIwMjAyOTAwMjA3NTU3RUIzMDEyNEI0MDMxNTc1MDhDMjEyMDgzMzdFMDQwMDAxN0UxNzAxMjU3RTU3MDEyOTAyMDI5NEI0MDUzOTc1MDhDMDEyMDgzM0MwQThDMDg3QzJBRkE5RDU4NzdFMDgwMTM0N0EwQzAwMDA3RTI0MDBGRTdFMzcwMTI1N0U0NzAxMjkxMjA4M0ZEMDg3RDBBODdFMDgwMTM0N0EwQzAwMDA3RTU3MDEyOTAyMDI5NDAyMDc1NTc1MDgwNzEyMDgzMzQzRTFDMDIyQzBBOEMwODdDMkFGQTlENTg3MTIwN0NBNDAxOTdFMDgwMTM0N0EwQzAwMDBDQTBCQ0E0OTEyMDgzRkRBNTlEQTBCRDA4N0QwQThDMzIyRDA4N0QwQTgyMkMwQThDMDg3QzJBRkE5RDU4NzEyMDdDQTQwMkI3RTU4MDAwMDdBNUMwMEZFN0Y2MTdFNzgwMTM0N0E3QzAwMDA3RTc3MDEyOUJENzQ3ODExNzUwOEMxMTIwODMzMTIwOEQ2NDAwNkQwODdEMEE4QzMyMkQwODdEMEE4RDMyMjdFMjQwMEZFN0UzNDdGQ0EwQjFBNTBDNUYwN0Q2MjdENzU3RDg3N0UzNDdGMDM3RTFCQjBCQzBCNTA0OTNFMDAzRTAwMEE1MDJENzUwQjNBMzA2OTUzMDAwMkJEMzg1MDAyMkQzOEJDMUI1MDMwM0UxMDNFMTAwQTUxMkQzNTY5NDEwMDAyMEIxQTMwQkQzODUwMDIyRDM4QkU0NEZGRkY3ODA1N0UxQjkwMEE0OTRENDQ2ODBDQkU0NDAwRkYyODA0N0U0NDAwRkZDMzIyRDMyMjM0Cis6MDA0MDdGQzAwMDQwMDEwMjAwQ0ExQjAxMEMwMjAwMDA3QzAwMDAwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMTdGMDAwMDAwMDAwMDAwNUQKKzoxMzk3MDgzMzAwQ0EwODdFMDEwODdBMDMzRkYwREEwODIyODA1MDBCMUE2MDBCMzUwQjFBNzAwQjM1MEIxQTgwMEIzNTBCMUE5MDBCMzUwQjFBQTAwQjM1MEIxQUIwMEIzNTBCMUFDMDBCMzUwQjFBRDAwQjM1MUIwQTYwMEIxNTFCMEE3MDBCMTUxQjBBODAwQjE1MUIwQTkwMEIxNTFCMEFBMDBCMTUxQjBBQjAwQjE1MUIwQUMwMEIxNTFCMEFEMDBCMTU5RTQ0MDAxMDUwQUEyRTQ0MDAxMDY4MEU3RTFCQzA3QTBCQzAwQjE0MEIzNDFCNDQ3OEYyMjI3RjZGN0ZGMDFCRkM3QzU0N0QzMjgwMDhDQTFCQ0ExQkNBMUJDQTFCOUU0NDAwMTA1MEYyMkU0NDAwMTA2ODA2Q0E0ODFCNDQ3OEZBN0ZGNjg5RTRDQTZCNUVENDAwM0Y2ODIwN0U4NDAwNDA5RDhEREE2QkJEODczODE2Q0E3OTdENzgxMjA5MDBEQTc5NDAwODlENzg2ODAyODAwNUMyRDcyMkRBNkI0MzkwMzA3NEFBMzlCNTU1NTU3NDU1MzlCNTJBQUE3NEEwMzlCNTU1NTU3RTA0MDA0MDlENzA1MDA2MkQ3MDdEMDc2RDc3N0MzMTdFN0IwMDdBNkIwMDBCN0MwQjZDQTVEOUYzN0YxNjFCMUM3RTU0MjcxMDdFMUIxMEJDMTA2ODA2MUI1NDc4RjU4MDJDNkQwMDdDMjA3RjE2OUYxMDdGMjc5RjIwN0UyQjAwN0UxQjEwQkMwMTc4MTYwQjJDMEIxQ0E1REJFRjdDQjYyMEUwMDM2MzkwMzA0RDc3Nzg5M0MyRDcyMkQyRDcyMjAwMDQwMDA0MDAwMDA2MDQwMjA0MDAwMjAxMDQwMTAyMDAwMDAwMDAwMDAwMDAwMDAyMDIwMjAyMDIwNDAwMDgxMDAyMTAwNDAyMDgwMDAxMDEwODdFMTg3RkJEN0ExQzAwRkYwQjFBMDBCRTEwMTQzODFBMEE1MTIzN0UxODA5NzY3QTFDMDBGRjJEMzUwQjFBNTA2MDA4QTVCODAyMDM0RUEwMDgyMjgwRkU3RUU4N0ZCRjdBRUMwMEZGRTBGNTIyNTRDMDY4MTY3RUU4N0ZCRTdBRUMwMEZGRTA2MDBDMTIwOUEwRjUwOTdBQTEyMDAyMEYwQTIyQzI5NUQyOTQxMjE5RkI1MzkwQ0YxMjE5RkI4MEYxMEQwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBEMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEEwQTBBMEE0NTY0Njc2NTcwNkY3Mjc0MkYzNDIwMkQyMDQ4NjE3MjY0Nzc2MTcyNjUyMDQ0Njk2MTY3NkU2RjczNzQ2OTYzNzMyQzIwNTI2NTc2MjAzMTJFMzAzMDNCMjA0MzZGNzA3OTcyNjk2NzY4NzQyMDMxMzkzOTM4MjA0OTZFNzM2OTY0NjUyMDRGNzU3NDIwNEU2NTc0Nzc2RjcyNkI3MzBEMEEwMDUwNjE3MzczMDA0NjQxNDk0QzIwMjEyMTAwNTA2MTczNzMyMDIwMjAyMDAwNDY0MTQ5NEMyMDIxMjEyMDAwMEQwQTQ0NjU3NDY1NjM3NDIwNTI2MTZEM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTI2MTZEMjA1NDY1NzM3NDNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE0MTY0NjQ3MjY1NzM3MzIwNjI2OTc0MjAzMDJEMzEzNDIwNzQ2NTczNzQzQTIwMjAyMDIwMjAyMDIwMjAyMDAwMEQwQTU3NzI2Rjc0NjUyMDQxNjQ2NDcyNjU3MzczM0EyMDMwMzAzQTAwMjAyMDc3Njk3NDY4MjA2NDYxNzQ2MTNBMjAwMDJDMjA2MTZFNjQyMDcyNjU2MTY0M0EyMDAwMEQwQTRGNkU2NTIwNkY3MjIwNjI2Rjc0NjgyMDZGNjYyMDc0Njg2NTIwNjY2RjZDNkM2Rjc3Njk2RTY3MjA0MTY0NjQ3MjY1NzM3MzIwNjI2OTc0NzMyMDZDNjk3Mzc0NjU2NDIwNjE3MjY1MjA3MzY4NkY3Mjc0NjU2NDBEMEE3NDZGMjA3MzZGNkQ2NTc0Njg2OTZFNjczQTIwMDAyMDYxNkU2NDIwMDAwRDBBNDQ2NTc0NjU2Mzc0MjA1NTYxNzI3NDNBMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAwMDBEMEE1MzYzNzI2MTc0NjM2ODIwNTA2MTY0MkM0NjY5NDY2RjIwNDU2RTYxNjI2QzY1MjAyNjIwNTI1MzU0M0EyMDAwMEQwQTBBMjAyMDIwNTU2MTcyNzQyMDU0NjU3Mzc0NzMyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwNTA2RjcyNzQzMTIwMjAyMDUwNkY3Mjc0MzIyMDIwMjA1MDZGNzI3NDMzMjAyMDIwNTA2RjcyNzQzNDBEMEEyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMDAwRDBBNTA2RjcyNzQyMDQ0NjU2MzZGNjQ2NTcyM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNDQ2OTY3Njk3NDYxNkMyMDRDNkY2RjcwNjI2MTYzNkIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNDE2RTYxNkM2RjY3MjA0QzZGNkY3MDYyNjE2MzZCM0EyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTI1ODQ0MkM1NDU4NDQyMDc0NkYyMDUyNTQ1MzJDNDM1NDUzMkM1MjQ5MjA1MzY4NkY3Mjc0M0EyMDIwMjAyMDIwMDAwRDBBNTI1ODQ0MkM1NDU4NDQyMDc0NkYyMDQ0NTQ1MjJDNDQ1MzUyMkM0MzQ0MjA1MzY4NkY3Mjc0M0EyMDIwMjAyMDIwMDAwRDBBNTI1NDUzNUI0MzU0NTMyQzUyNDk1RDIwNzQ2RjIwNDQ1NDUyMkM0NDUzNTIyQzQzNDQyMDUzNjg2RjcyNzQzQTIwMDAwRDBBNTI1NDUzNUI0MzU0NTMyQzQzNDQ1RDIwNzQ2RjIwNDQ1MzUyMkM1MjQ5MjA1MzY4NkY3Mjc0M0EyMDIwMjAyMDIwMDAwRDBBNDQ1NDUyNUI0NDUzNTIyQzQzNDQ1RDIwNzQ2RjIwNTI1NDUzMkM0MzU0NTMyQzUyNDkyMDUzNjg2RjcyNzQzQTIwMDAwRDBBNDQ1NDUyMjA3NDZGMjA0MzU0NTMyQzQzNDQyMDUzNjg2RjcyNzQzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTI1NDUzMjA3NDZGMjA0MzU0NTMyQzUyNDkyMDRDNkY2RjcwNjI2MTYzNkIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNTI1NDUzMjA3NDZGMjA0MzU0NTMyQzQzNDQyMDRDNkY2RjcwNjI2MTYzNkIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBNDQ1NDUyMjA3NDZGMjA0NDUzNTIyQzQzNDQyMDRDNkY2RjcwNjI2MTYzNkIzQTIwMjAyMDIwMjAyMDIwMjAyMDIwMDAwRDBBMEEyMDIwMjA0NTIwNTIyMDUyMjA0RjIwNTIyMDIxMjEyMTJDMjA0NTIwNTIyMDUyMjA0RjIwNTIyMDIxMjEyMTIwMkMyMDQ1MjA1MjIwNTIyMDRGMjA1MjIwMjEyMTIxMEQwQTBBNDQ2OTYxNjc2RTZGNzM3NDY5NjM3MzIwNkU2Rjc3MjA3NzY5NkM2QzIwNjU2RTc0NjU3MjIwNjEyMDY0NjU2Mjc1NjcyMDZDNkY2RjcwMjA2RjY2MjA3NDY4NjUyMDY2Njk3MjczNzQyMDY0NjU3NDY1NjM3NDY1NjQyMDY1NzI3MjZGNzIyRTAwMEQwQTBBNEU2RjIwNDg2MTcyNjQ3NzYxNzI2NTIwNjU3MjcyNkY3MjczMjA2NDY1NzQ2NTYzNzQ2NTY0MkUwRDBBMDA0MzZGNzA3OTY5NkU2NzIwNjM2RjY0NjUyMDY2NzI2RjZEMjA0RDYxNzM3NDY1NzIyMDc0NkYyMDUzNkM2MTc2NjUyNzczMjA0NTQ1NzA3MjZGNkQyMDJFMkUyRTAwNDQ2RjZFNjUwRDBBMEEyRDNFMjA1NDc1NzI2RTIwNzU2RTY5NzQyMDZGNjY2NjJDMjA2NDY5NzM2MzZGNkU2RTY1NjM3NDIwNjM2MTYyNkM2NTIwNjE2RTY0MjA3Mjc1NkUyMDczNzQ2MTZFNjQ2MTZDNkY2RTY1MjA2NDY5NjE2NzZFNkY3Mzc0Njk2MzczMkUwMEMyQUZDMjA5QzIwQTc1OTAwRDIwMTcwMkQyQjU0MzkwMzA2QzAwN0UxMDAzMTIwRjM4N0U2ODBBMDE3QTZDMDBGRjEyMUE5MzBCMDAzMEI0MDI4MDI0MDIxQjNDMjAwOTFEQzI5NEQyOTUxMjE5RkI1MzkwQ0YxMjE5RkJDMjk1RDI5NDEyMTlGQkE1RDlFNjQzOTAzMDEyMTlGQjIyN0U2ODBBOTQ3QTZDMDBGRjEyMUE5MzdFRTQxMDAwN0U0MDU1N0FFOTQwMEJFNDdFNTBBQTdBRTk1MDFCRTRCRUU5NDA2ODE5N0U2ODBBN0E3QTZDMDBGRjEyMUE5MzEyMUEwODMwMDkxMzdBRTk0MDdFRTkxMDgwRjg3RTY4MEE3NTdBNkMwMEZGMTIxQTkzMEIwMDdFNjgwQUQ4N0E2QzAwRkYxMjFBOTM3RTc4MDAwMDdFNzAwRTdFQTRGRkZGN0VCNEJGRkY3RENCMEVDNDdEREM1RERCNkNCQjdERkE1RUY0N0ZGRjdBN0JCMDBCQjA3REZCNUVGNDdGRkY3QTdCQjAwQkIwN0RGQzVFRjQ3RkZGN0E3QkIwMEJCMDdERkQ1RUY0N0ZGRjdBN0JCMDZDQkI3REZBNUVGNDdGRkZCRTdCQjA3ODQxMEJCMDdERkI1RUY0N0ZGRkJFN0JCMDc4MzQwQkIwN0RGQzVFRjQ3RkZGQkU3QkIwNzgyNzBCQjA3REZENUVGNDdGRkZCRTdCQjA3ODFBMEJCMEJFQzRGRkZFNzg5MjBFQjRBNURGOEI3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODA3N0NBNUJDQTZCN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzdFNjgwQjJBN0E2QzAwRkYxMjFBOTMwQTQ3MTIxQUM5N0U2ODBCNzk3QTZDMDBGRjEyMUE5MzZDNzdEQTZCQ0E2QjBCNzAwRUM0QkVDNEZGRkY3OEY2MUI3MDBBNDcxMjFBQzkxMjFBMDgzMDA5MzBEQTZCREE1QjZDQkI3RTc4MDAwMDdERkE1RUY0N0ZGRjdBN0JCMDdERkI1RUY0N0ZGRjdBN0JCMDdERkM1RUY0N0ZGRjdBN0JCMDdERkQ1RUY0N0ZGRjdBN0JCMDgwRDQ3RTY4MEFCNjdBNkMwMEZGMTIxQTkzMzAxNzBFN0U3ODA0MjA3QTdDMDAwMDdFNDQ3QkUwODAwQzdFNzgwMDAwN0E3QzAwMDE3RTQ0ODAwMDBCMDA3RTQwM0E3QzU0N0Y1NzdEODQ2QzY2N0E1QjUwMEI1QzBCNTBBNURFMDIwQjUwMUI4NDc4RjA3QzU0N0Y1NzdEODQ2QzY2QkU1QjUwNzgxQTBCNUMwQjUwQTVERTAyMEI1MDFCODQ3OEVFN0U2ODBBNzU3QTZDMDBGRjEyMUE5MzgwNEI3RjQ1N0U2ODBBN0E3QTZDMDBGRjEyMUE5MzdFNjgwQUZBN0E2QzAwRkYxMjFBOTM3RDRCMTIxQUM5N0U2ODBCMEY3QTZDMDBGRjEyMUE5MzZDODg3Qzk1MTIxQUM5N0U2ODBCMUQ3QTZDMDBGRjEyMUE5MzdFNEI5MDEyMUFDOTEyMUEwODMwMDkwNTdFNEI5MDgwRkI3RTY4MEI3RjdBNkMwMEZGMTIxQTkzMEIwMEQyOTI3RTI0ODAwMDA5QjIwMDA4QkVCMDAxNzgwQjA5QjIwMDE0QkVCMDYwNzgwMjgwMTc3RTY4MEE3QTdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTExMDlCMjAwMDg4MEZBN0U2ODBBNzU3QTZDMDBGRjEyMUE5MzdFNjgwQkExN0E2QzAwRkYxMjFBOTMwQjAwQzI5MjEyMTlFRTdFMjQ4MDAwN0VBMDU1MTlBMjAwMUM3RUIwMDExOUIyMDAwODA5QjIwMDFDQkNBQjc4MzcwOUIyMDAwODVFQjBDMEJFQjBDMDc4MkI3RUEwQUExOUEyMDAxQzZDQkIxOUIyMDAwODA5QjIwMDFDQkNBQjc4MTYwOUIyMDAwODVFQjBDMDc4MEQ3RTY4MEE3NTdBNkMwMEZGMTIxQTkzODAxQjdFNjgwQTdBN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MEExOUEyMDAxQzA5QjIwMDFDODBGNjdFNjgwQkMzN0E2QzAwRkYxMjFBOTM3RTY4MEM0NTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDk3RUIwMDExOUIyMDAxQzJFMjQwMTAwMEJCMEE1RDlGMzdFMjQ4MDAwN0UxMTA5N0VCMDAxMEIwMDA5QTIwMDFDQkNBQjc4MTY3RTY4MEE4MjdBNkMwMEZGMTIxQTkzMkUyNDAxMDAwQkIwQTVEOUUyODAyNTdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5RTQ3RTI0ODAwMDdFMTEwOTA5QTIwMDFDMkUyNDAxMDBBNUQ5RjU4MEVDN0U2ODBDNjk3QTZDMDBGRjEyMUE5MzEyMTM4QTdFMjQ4MDAwN0UxMTA5MEIwMDc0MTAxOUIyMDAxMDEyMTMwMzJFMjQwMTAwQTVEOUVFN0U2ODBDOEQ3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMEU0MTlCMjAwMTAxMjEzMDMyRTI0MDEwMEE1RDlFRjMwMDAwMzAyMThCNzAyMTNCQjc0MDcxOUIyMDAwODEyMTlGQjA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTRDMjBCN0VCMDU1MTIxMzY0N0VCMEFBMTIxMzY0N0VCMDAwMTIxMzY0N0VCMEZGMTIxMzY0MzAwQjBGN0U2ODBBOEI3QTZDMDBGRjEyMUE5MzEyMUEwODIyN0U2ODBBODI3QTZDMDBGRjEyMUE5MzIyMTlCMjAwMDAxMjE5RUUwOUEyMDAwMEJDQUI3ODAxMjIyMDA5MDNEMjBCMjIxMjFBMDgxOUIyMDAwMDEyMTlFRTA5QTIwMDAwODBGM0QyOTIxMjE5RUVDMjkyMTIxOUVFN0UyNDgwMDA3RTExMDk3NDgwMTlCMjAwMEM3RTU0MDAwMjE5QTIwMDA0MTlCMjAwMDA3NDAzMTlCMjAwMEMyRTI0MDEwMEE1RDlFMTIyN0U2ODBDQjE3QTZDMDBGRjEyMUE5MzdFMjQ4MDAwN0UxMTA5MEIwMDEyMTlFRTA5QjIwMDE4N0VBMDU1MTlBMjAwMDAxMjE5RUUwOUIyMDAxODVFQjAwNTc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAxQTdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MDkxOUEyMDAwMDEyMTlFRTgwRjcyRTI0MDEwMEE1RDlCNjdFNjgwQ0Q1N0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDAxMjE5RUUwOUIyMDAxODdFQTA1NTE5QTIwMDAwMTIxOUVFMDlCMjAwMTg1RUIwMEE3ODBEN0U2ODBBODI3QTZDMDBGRjEyMUE5MzgwMUE3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTA5MTlBMjAwMDAxMjE5RUU4MEY3MkUyNDAxMDBBNUQ5QjYzMDA0MDMwMjE2OEM3RTY4MENGOTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDBBNzgzQzdFQTAwMTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMEE3ODE0N0U2ODBBODI3QTZDMDBGRjEyMUE5MzJFMjQwMTAwQTVEOTlFODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5RTY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MEQ0MTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDA1NzgzQzdFQTAwMjE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMjE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDU3ODE0N0U2ODBBODI3QTZDMDBGRjEyMUE5MzJFMjQwMTAwQTVEOTlFODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5RTY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MEQ4OTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjA1MEJFQjA1MDc4MUY2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjA1MDc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MEY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDlBMjdFNjgwREQxN0E2QzAwRkYxMjFBOTM3RTI0ODAwMDdFMTEwOTBCMDAwOUIyMDAxODdFQTAwMTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwQTBCRUIwQTA3ODFGNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwQTA3ODBEN0U2ODBBODI3QTZDMDBGRjEyMUE5MzgwMjA3RTY4MEE4QjdBNkMwMEZGMTIxQTkzMTIxQTA4MzAwOTBGN0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5OUUwMjE4MkI3RTY4MEQxRDdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDA2NzgzQzdFQTAwMTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDY3ODE0N0U2ODBBODI3QTZDMDBGRjEyMUE5MzJFMjQwMTAwQTVEOTlFODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5RTY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MEQ2NTdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwNkNBQTE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDEyMTlFRTA5QjIwMDE4NUVCMDA5NzgzQzdFQTAwMjE5QTIwMDEwMTIxOUVFMDlCMjAwMTg3RUEwMDMxOUEyMDAxMDdFQTAwMjE5QTIwMDEwMTIxOUVFMDlCMjAwMTg1RUIwMDk3ODE0N0U2ODBBODI3QTZDMDBGRjEyMUE5MzJFMjQwMTAwQTVEOTlFODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5RTY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjE3RTY4MERBRDdBNkMwMEZGMTIxQTkzN0UyNDgwMDA3RTExMDkwQjAwN0VBMDAyMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjA5MEJFQjA5MDc4MUY2Q0FBMTlBMjAwMTAxMjE5RUUwOUIyMDAxODVFQjA5MDc4MEQ3RTY4MEE4MjdBNkMwMEZGMTIxQTkzODAyMDdFNjgwQThCN0E2QzAwRkYxMjFBOTMxMjFBMDgzMDA5MEY3RUEwMDIxOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDlBMjAyMThCNzMwMTcwMzAyMTkzQkMyOEExMjE5MjI3RTI0ODAwMDdFMTEwOTZDQUExOUEyMDAwNDEyMTlFRTBCMDA3RUEwMDgxOUEyMDAxMDEyMTlFRTIwOEIzRTIwODkzQjdFQTAwODE5QTIwMDA0MDlBMjAwMTA0RUEwMDIxOUEyMDAxMDEyMTlFRTMwOEIyMzMwODkyMDA5QTIwMDEwNUVBMEZEMTlBMjAwMTAxMjE5RUU3RUEwMDAxOUEyMDAwNDEyMTlFRTIwOEIwNTIwODkwMjgwMUExMjFBMDgzMDA5MTQ3RUEwMDIxOUEyMDAxMDAwMDA1RUEwRkQxOUEyMDAxMDAwMDA4MEVDMkUyNDAxMDBBNUQ5ODkwMjE5M0IyMDE3RkExMjEzOEExMjE5MjI3RTI0ODAwMDdFMTEwOTBCMDAyMDg5MjY3RUEwRkYxOUEyMDAwNDEyMTlFRTdFQjA1NTE5QjIwMDAwMTIxOUVFMzA4OTBGN0VBMDAwMTlBMjAwMDQxMjE5RUUyMDg5MDI4MDI2MTIxQTA4MzAwOTIwN0VBMEZGMTlBMjAwMDQxMjE5RUU3RUIwNTUxOUIyMDAwMDEyMTlFRTdFQTAwMDE5QTIwMDA0MTIxOUVFODBFMDJFMjQwMTAwQTVEOUE4MDIxOTNCN0UyNDgwMDA3RTExMDk3RUEwMDgxOUEyMDAxMDEyMTlFRTJFMjQwMTAwQTVEOUVGMjIzMDBBMTk3RTY4MERGNTdBNkMwMEZGMTIxQTkzRDIwOTEyMTlFRTEyMTlFRTEyMTlFRTAyMEYxMDMwMTcxQzdFNjgwRTZGN0E2QzAwRkYxMjFBOTM3RTY4MEU5MTdBNkMwMEZGMTIxQTkzMTIxQjNDMDIxOUU2MEIwMDdFNzgxOUEwN0E3QzAwRkY3RjY3N0E2QzAwMDA3RTcwM0U3RTdCQjA3QTZCQjAwQjdDMEI2Q0E1REZGMzdFNzgxOUEwN0E3QzAwMDA4OTc4N0U3ODAwMDA3QTdDMDBGRTdFNjg3RkJGN0E2QzAwRkU3NEFBMzlCNzU1NTU3NDU1MzlCNzJBQUE3NEEwMzlCNzU1NTU2Qzk5N0E2QjkwN0U1NDI3MTA3RTZCODBCQzg5NjgwODFCNTQ3OEY1OEFGRjE5REU4QUZGMTlFNjEyMUEwODdFNkI4MDgwRkI3RTEwRkYxMjFBODU4MEY4Q0FGOTdFRjQwMEZGMUJGNDc4RkNEQUY5MjJDQUY5N0VGNDAwMDAxQkY0NzhGQ0RBRjkyMjIwMDkxOUQyMEExMjE5RkJDMjk1RDI5NDEyMTlGQjEyMTlGQjEyMTlGQjEyMTlGQjQzOTAzMDIyQ0EwQjdFMTAwMzdDMzA2QzIyMEIyMDlFMzAwQTUwRjkyRTMwMEIxQjIwNjgxODEyMTlGQjEyMTlGQjUzOTBDRjEyMTlGQjEyMTlGQjEyMTlGQjQzOTAzMEE1REFFODEyMTlGQjEyMTlGQjFCMzA2ODE5MTIxOUZCMTIxOUZCQzI5NUQyOTQxMjE5RkIxMjE5RkIxMjE5RkI0MzkwMzBBNURCRTc3RTIwMEExMjE5RkJBNURBRkFBNUQ5QTdEQTBCMjIyMDA5MEExMjE5RkJCMjk0MTIxOUZCQjI5NDIyMzAxNzMyMjAwOTJGQ0EyQkNBN0I3RTc4ODAwMDdBN0MwMEZFMTIxQjFDN0U2QkEwNUNBQTY4MTAyOUI3MDAxNDU0NjA2OEY4MzlBNzAwMDAwQjZDODBFOTEyMTlFRUQyQjVEQTdCREEyQjIyMTIxQUQ0N0U2ODAwMEIxMjFBOTMyMkNBNTlDQTVCN0VCNDAwMEI3Q0I4QzQxMjFCMDQ3Q0I4MTIxQjA0N0NCOUM0MTIxQjA0N0NCOTEyMUIwNDdFQjA2ODdBQjlCMDBCQjQ2Q0JCN0FCOUIwREE1OURBNUIyMjVFQjAwRjdDQUI5RUEwMEE0MDA1MkVCMDM3ODAwMzJFQjAzMDdBQjlCMDBCQjQyMkMyQjVDMjkyMTIxOUVFNzQ4MDM5QjcwMDBDN0U1NDAwMDYzOUE3MDAwNDM5QjcwMDAwNzQwMzM5QjcwMDBDMjI3RTc4MDAwMDdBN0MwMEZGN0U1ODAwMDA3QTVDMDAwMTdGNjU3RTc0MjAwMDEyMDhENjQwNTQ3RTc4N0MwMDdBN0MwMEZGN0U1ODAwMDA3QTVDMDAwMTdFNjg3QzAwN0E2QzAwMDE3RTc0MDQwMDEyMDhENjQwMzM3NDgwMTIxQkIxNDAyQzUzOTBDRkQyMDg3RTA0MDAwODdFMTQwMDAwODRBNURCRkNBNURBRjlBNUQ5RjY3NDQwMTIxQkIxNDAwRTdFNjgwRUMwN0E2QzAwRkYxMjFBOTMwMjE5RTZDMjk1RDI5NDgwRkVGNTBBN0U3ODAwMEE3QTdDMDAwMDdFNjg3RkJGN0E2QzAwMDE3RTc0MDAwMTAyMDhENkQyCis6MDAwMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQvNCBCaW5hcnkgSW1hZ2UKKy8vKiBHZW5lcmF0ZWQgYnkgSEVYMkMgdjEuMDYKKy8vKiBDb3B5cmlnaHQgKEMpIDE5OTggSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKglUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLy8qCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisvLyoJdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy8vKgkoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZWRnZXBvcnQvYm9vdDIuSDE2IGIvZmlybXdhcmUvZWRnZXBvcnQvYm9vdDIuSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiMTQyOTUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9ib290Mi5IMTYKQEAgLTAsMCArMSwyOCBAQAorOjAwMDQwMDAwMDAwMjAwMDAwM0Y3Cis6MDAwMjAwMDAwNDAwRkZGQgorOjAwMDYwMDAwMDAwMjAwODAwMjAwMDM3MworOjAwMDMwMDBCMDAwMjAwMEJFNQorOjAwMDMwMDEzMDAwMjAyNTY5MAorOjAwMDMwMDFCMDAwMjAwMUJDNQorOjAwMDMwMDIzMDAwMjAwMjNCNQorOjAwMDMwMDJCMDAwMjAwMkJBNQorOjAwMDMwMDMzMDAwMjAwMzM5NQorOjAwMDMwMDNCMDAwMjAwM0I4NQorOjAwMDMwMDQzMDAwMjAwNDM3NQorOjAwMDMwMDRCMDAwMjAwNEI2NQorOjAwMDMwMDUzMDAwMjAxRjVCMgorOjAwMDMwMDdCMDAwMjAwN0IwNQorOjAyMTYwMDgwMDA3RUIzOTEwMTIwRTMwQzdFQjMzRkYyNTRGRTdBQjMzRkYyODAwQTdFQjMzRkYyNDQwMTdBQjMzRkYyNzQwMDdBQjM5MTAwNzQwMTdBQjM5MTEyN0VGODAwMjQ3RTAwMDE3RTEwMDAxMjA5RDA2OTIwMDAwQTVFNDAxRkJFMjQwMDAwNzgwOTdFMDAwMzdBMDM5MDAwODAwNzdFMDAwMjdBMDM5MDAwNzVCMERGN0UwMDAxN0EwMzk0MDA3QTAzMDEyNDdFMDAwMTdBMDM5MzAwN0UwMDAwQTVEOEZENzVBODAwNzVCMTAwQ0EyOTEyMEM2NjEyMEMzN0Y1MjE3QUExMjAyMDA5MDgyMDBBMEE3RUIwMEM4MDA4N0VCMDAwODAwMzdFQjAwODdBQjM5MjAwMTIwMjk2REEyOTc0MTA3QUIzOTEwMTdFMjAwNDdDQjJDMkQ3MTMxMzEzMTM3QUIzOTEwMDc0MDA3QUIzOTExMDc0NjA3QUIzOTExQzc0MDI3QUIzOTExMkE1REFERjc0MDA3QUIzOTEwMDc0NjA3QUIzOTExQzc0MTA3QUIzOTEwNjc0MTA3QUIzOTEwNzc0MzQ3QUIzOTExMzc0M0Y3QUIzOTExNDc0MDI3QUIzOTEwNjc0MDE3QUIzOTEwNzc0MDM3QUIzOTEwNjc0NDQ3QUIzOTEwNzc0RUY3QUIzOTEwNDc0MDc3QUIzOTEwNjdFQjM5MTA3N0FCMTBBNzUwOTAxRDJBQUQyQUZFNDdFNjAwMjREMjI3ODAzN0U2MDAzN0M3NjdFMDQyODAwOERFRjFCMDQ3OEZBMDQ3RTIwMDc3QTIzOTEwNjdFMjM5MTA3N0UzMTBBQkMzMjY4MjI3QTIxMEE3RTIxMDk2ODE3Q0FCODc0MDM3QUIzOTEwNjdFQjM5MTA3NDQwMjdBQjM5MTA3REFCODc1MDkwMDMwRTBDMTZDNjc3QTYzOTAwMDgwQjlCRUIwMDIyMkMwRDA3NTA4RkUxMjBBQzA3NDAyN0FCMzkxMDY3NDAwN0FCMzkxMDc3NDAzN0FCMzkxMDY3NDAwN0FCMzkxMDc3NDAyN0FCMzkxMDQ3RUIzM0ZGMjMwRTAwODc0MTg3QUIzOTEwMTgwMDY3NDEwN0FCMzkxMDE3NDEwN0FCMzkxMDQwMjAyMzY3NTA4RkYxMjBBQzA3NDAxN0FCMzkxMDQ3NDAzN0FCMzkxMDY3RUIzOTEwNzU0RkM3QUIzOTEwNzMyQ0FCODc1MDgwMjEyMEFDMDdFQjM5MTAzMjBFNTA4MzBFMDJCMTIwMjlFODBGMTdFQjM5MTA0MzBFMDA1REFCODAyMDIzOTMwRTEwNURBQjgwMjAxRjUzMEU2MDUxMjA0MDM4MEQ1MzBFMjA1REFCODAyMDA4MDgwQ0JEQUI4MzI2RAorOjA4MkEwMjk2MDBFNDdBQjMzRkYxMDIwMzQxQ0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCNzQwMDdBQjM5MTAwN0VCMzAxMkVCNDAwMDI4MDFDQjQwMTE5N0VCMzkxMTQ1NDE0NjgwNTEyMDMwNTgwMjM3RUIzOTExNDMwRTUxQzEyMDQ0MzgwMTc3RUIzOTExNDMwRTUwNTEyMDQ0MzgwMEI3RUIzOTExNDU0MTQ2ODAzMTIwMzA1REFFQkRBN0JEQTZCREE1QkRBNEJEQTNCREEyQkRBMUJEQTBCMjIyMEU0MTk3NTA4MEExMjBBQzA3RUIzMDEyRDcwMEE3RUIzMDEyRUI0MDExRjAyMDM5RDAyMDk4Qjc1MDgwQjEyMEFDMDc0MTQ3QUIzOTExNDdFQjMwMTJFQjQwMjBDMTIwMzREMDIwMzQxNzQwNDdBQjM5MTE0MjI3RTAwMDA3QTAzMDEyRTdBMDMwMTJGMjI3RUIzMDEyNTU0NjA2MDA1QjQ0MDFFODAxQzdFQjMwMTI2QjQwNTE1NzUwODcxMTIwQUMwN0VCMzAxMjg3RUEwMDE3QUEzOTEwNjdBQjM5MTA3MjI3NDAwN0FCMzkxMDA3NDEwN0FCMzkxMTIyMkJFNTcwMTJCMjgwNDdFNTcwMTJCN0EwRjAxMzE3QTU3MDEzNTc0MTA3QUIzOTExMjIyNzQwMDdBQjM5MTAwN0VCMzkxMUE3MDUzN0VCMzkxMTQyMEU0NEM3RUVGMDEzMTdFRjcwMTM1N0UwNzAxMzU0RDAwNjgyMTdFMDAwMEUwN0FCMzkxMTdBM0E1MDgxQkY0NjgwNkE1QjgxMEYwODAxOTdFQjAwMDdBQjMwMTJFQkUwMDEwNjgwRDdFQjAwMDdBQjMwMTJFNzQ4MDdBQjM5MTFFN0FFRjAxMzE3QUY3MDEzNTc1MDgwNjEyMEFDMDc0MDQ3QUIzOTExNDIyQ0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCNzUwODAzMTIwQUMwNzQwMDdBQjMwMTJENzQwMDdBQjM5MTAwNzQwMTdBQjM5MTEyMTIwNEIyREFFQkRBN0JEQTZCREE1QkRBNEJEQTNCREEyQkRBMUJEQTBCMjI3NTA4MDMxMjBBQzA3RUIzMDEyRkI0MDIxMTc0MDA3QUIzMDEyRjdBQjMwMTJFNzQyMDdBQjM5MTE0MjJCNDAxNDY3RUIzOTEwNDIwRTY0MjdFMjM5MTFBN0MzMjdFMTMwMTMwMkMyMTdBMjMwMTMwN0UwMDAwMkUwNDAxMzc3RUIzOTExNjdBMDlCMDBCMDRBNURCRjQ3NDIwN0FCMzkxMTQ3NTA4NzAxMjBBQzA3RUIzMDEzMDdFQTMwMTJDQkNBQjc4MDMxMjA1NTIyMjAyMDk4QkRBNTkwMjA0MTU3NEUwN0FCMzkxMDA3RTAzOTExMDdFMTM5MTExN0UzMzkxMTI3RTIzOTExMzdFNTM5MTE0N0U0MzkxMTU3RTczOTExNjdFNjM5MTE3N0EwRjAxMjU3QTFGMDEyOTc1MDgwNDEyMEFDMDdBMDEwODEyMEFDMDdBMTEwODEyMEFDMDdBMjEwODEyMEFDMDdBMzEwODEyMEFDMDdBNDEwODEyMEFDMDdBNTEwODEyMEFDMDdBNjEwODEyMEFDMDdBNzEwODEyMEFDMDc0MDA3QUIzOTEwMDc0NDA3QUIzOTEwNDEyMDUyNjIyNkQwMDdFMTQwMTAyN0EwNzAxMzU3QTAzMDEzMDdFQjMwMTI1MjBFNzBGN0EyMzAxMkY3QTMzMDEyRUJFMDcwMTJCNjgwOTIyN0EzMzAxMkY3QTIzMDEyRTdFQjMwMTI1NTRFMzIzMjMzMEUwMDJEMkU1MzBFNzAyRDJFNDMwRTUwNjMwRTQwMzAyMDk4QjU0M0VGNUYwMDM1NDFGQzMyNUYwOTAwNTdFNzU4NEZGNzMwMjA3MzkwMjA1QzYwMjA3RDIwMjA3RUQwMjA2RDAwMjA2NUIwMjA4MUUwMjA4MUUwMjA4MjEwMjA4MjEwMjA4MjEwMjA4MjEwMjA4MjEwMjA4MjEwMjA4MjEwMjA4MjEwMjA4MjcwMjA4RjkwMjA4MjQwMjA4MjQwMjA4MjQwMjA4MjQwMjA4MjQwMjA4MjQ3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMDEyNkI0MDYyQTdFQjMwMTI3NjA3OTdDMEI3RTEzMDEyODdFMTcwMTI5NzUwODcyMTIwQUMwN0EwMTA4MTIwQUMwN0ExMTA4MTIwQUMwMTIwOUQwNDA1ODAyMDM4NEI0MDgxQzc1MDg3NDEyMEFDMDdFQjMzRkYxN0UwODAxMzc3QTBDMDAwMDdBMEJCMDdFNTQwMDAxMDIwMzg0QjQwMDMzNzUwODc1MTIwQUMwN0UwODAxMzc3QTBDMDAwMENBMEI3RUIzM0ZGMjMwRTAwNzc0MDI3QTBCQjA4MDA1NzQwMDdBMEJCMDBCMTQ3NDAwN0EwQkIwN0U1NDAwMDJEQTBCMDIwMzg0MDIwOThCNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzAxMjZCNDAwNUY3NTA4NzYxMjBBQzA3RUIzMDEyQTU0MEZCNDAyMDU3RUIwNjA4MDE3QjQwMDA1N0VCMDAwODAwRjdFQjMwMTJBMjBFNzA1N0VCMDQwODAwMzdFQjAyMDdBQjM5MTAwN0VCMzkxMTEzMEUwMDQ3NDAxODAwMjc0MDA3RTA4MDEzNzdBMEMwMDAwQ0EwQjdBMEJCMDBCMTQ3NDAwN0EwQkIwNzQwMDdBQjM5MTAwN0U1NDAwMDJEQTBCMDIwMzg0MDIwOThCN0VCMzAxMkE1NDBGQjQwMjA1N0VCMDYwODAxN0I0MDAwNTdFQjAwMDgwMEY3RUIzMDEyQTIwRTcwNTdFQjA0MDgwMDM3RUIwMjA3QUIzOTEwMDdFQjMwMTI4QjQwMDI2N0VCMzAxMjZCNDAxMEU3NTA4NzcxMjBBQzA3NDAxN0FCMzkxMTI4MDFCQjQwMzBFNzUwODc4MTIwQUMwNzQwMTdBQjM5MTExODAwQTc0MDA3QUIzOTEwMDEyMDk4QjIyNzQwMDdBQjM5MTAwMDIwMzc3N0VCMzAxMjZCNDA5MUY3NTA4NzkxMjBBQzA3RUIzMDEyOEJFQjMzRkYxNjgwRENBQjgxMjAxRjFEQUI4NTA3NjdBQjMzRkYxODA2REI0MDUwODc1MDg3QTEyMEFDMDgwNjJCNDAzMTk3NTA4N0IxMjBBQzA3RUIzMDEyOEI0MDE1NTdFQjMzRkYyNDQwMTdBQjMzRkYyODA0NkI0MDExOTc1MDg3QzEyMEFDMDdFQjMwMTI4QjQwMTM5N0VCMzNGRjI1NEZFN0FCMzNGRjI4MDJBQjQwNzJBN0VCMzAxMjc2MDI0N0MwQjdFMTMwMTI4N0UxNzAxMjk3NTA4NzMxMjBBQzA3QTAxMDgxMjBBQzA3QTExMDgxMjBBQzAxMjBBMEE0MDAzMDIwMzc3MDIwOThCN0VCMzAxMjZCNDBCRjY3NTA4N0QxMjBBQzA3RUIzMDEyODdFQTMwMTJBNENBQjc4RTQ4MERGNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzAxMjZCNDBBQ0Y3NTA4N0UxMjBBQzA3RUIzMDEyODcwQzM3RTA4MDEzNzdBMEMwMDAwN0EwQkIwN0U1NDAwMDEwMjAzODQwMjA5OEIwMjA5OEIwMjA5OEI3RUIzMDEyNkI0MDQyMDc1MDhDMzEyMEFDMDdFMDQwMDAxN0UxNzAxMjc3RTE4MDEzNzdBMUMwMDAwN0U0NzAxMkIxMjBBQ0MwMjA4RjNCNDA2NDI3NTA4QzExMjBBQzA3RTU4MDAwMDdBNUMwMEZFN0RDQTdFRDcwMTI3N0U3ODAxMzc3QTdDMDAwMDdFNzcwMTJCNzUwOEMxMTIwQUMwQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDEyMEI2MzdFNDMwMTI0N0E0Mzk0MDBEMEE4NDA2NTgwNjBCNDAwMjRDMkFGN0VCMDAxN0FCMzk0MDA3QUIzMDEyNDEyMDM3N0U0OERFRjhERUY4REVGRDVFMEY3QzBEMUNBMDJGRkNBMDYwMDAwMzJCNDA5MjA3NDAzN0FCMzkxMDY3RTIzOTEwNzdFNTcwMTI3NEQ1NTY4MDU0RTIwMDI4MDAzNUUyMEZEN0EyMzkxMDc4MDE2QjQwNzE2QzJBRjdFMDcwMTI5N0UxNzAxMjdDMEQxQ0ExOENBMzhDQTI4MzIwMjAzNzcwMjA5OEI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMDEyNkI0MDMxNTc1MDhDMjEyMEFDMDdFMDQwMDAxN0UxNzAxMjc3RTU3MDEyQjAyMDM4NEI0MDU0MTc1MDhDMDEyMEFDMEMwQThDMkFGN0U0MDAxN0E0Mzk0MDA3RTA4MDEzNzdBMEMwMDAwN0UyNDAwRkU3RTM3MDEyNzdFNDcwMTJCMTIwQUNDN0U0MzAxMjQ3QTQzOTQwMEQwQTg3RTA4MDEzNzdBMEMwMDAwN0U1NzAxMkIwMjAzODRCNDAxMjA3RTAwMDA3RTEwMDE3NTA4NzIxMjBBQzA3QTAxMDgxMjBBQzA3QTExMDgxMjBBQzAxMjA5RDA0MDAzMDIwMzg0MDIwOThCNzUwODA3MTIwQUMwN0VCMDAyN0FCMzkwMDA3NDAwN0FCMzkxMDA3NDQwN0FCMzkxMTU3NDAxN0FCMzkxMTE3RUIzOTExNTU0NjBCRUIwNDA2ODA4NzQyMDdBQjM5MTE1ODBFRDc0MDE3QUIzOTExMjc0MDQ3QUIzOTExNDc0RkY3QUIzMDEyRDIyQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDEyMEE1NzQwMUY3RTA4MDEzNzdBMEMwMDAwQ0EwQkNBNDkxMjBBQ0NEQTU5REEwQjdFNDMwMTI0N0E0Mzk0MDBEMEE4QzMyMjdFNDMwMTI0N0E0Mzk0MDBEMEE4MjJDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTIwQTU3NDAzMTdFNTgwMDAwN0E1QzAwRkU3RjYxN0U3ODAxMzc3QTdDMDAwMDdFNzcwMTJCQkQ3NDc4MTc3NTA4QzExMjBBQzAxMjBCNjM0MDBDN0U0MzAxMjQ3QTQzOTQwMEQwQThDMzIyN0U0MzAxMjQ3QTQzOTQwMEQwQThEMzIyN0UyNDAwRkU3RTM0N0ZDQTBCMUE1MEM1RjA3RDYyN0Q3NTdEODc3RTM0N0YwMzdFMUJCMEJDMEI1MDQ5M0UwMDNFMDAwQTUwMkQ3NTBCM0EzMDY5NTMwMDAyQkQzODUwMDIyRDM4QkMxQjUwMzAzRTEwM0UxMDBBNTEyRDM1Njk0MTAwMDIwQjFBMzBCRDM4NTAwMjJEMzhCRTQ0RkZGRjc4MDU3RTFCOTAwQTQ5NEQ0NDY4MENCRTQ0MDBGRjI4MDQ3RTQ0MDBGRkMzMjJEMzIyNDgKKzowMDQwN0ZDMDAwNDAwMTAyMDBENzMxMDIwMDAzMDAwMDdDMDAwMDAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxN0YwMDAwMDAwMDAwMDA0NAorOjEwNDMwQUMwMDBDQTA4N0UwMTA4N0EwMzNGRjBEQTA4MjI4MDUwMEIxQTYwMEIzNTBCMUE3MDBCMzUwQjFBODAwQjM1MEIxQTkwMEIzNTBCMUFBMDBCMzUwQjFBQjAwQjM1MEIxQUMwMEIzNTBCMUFEMDBCMzUxQjBBNjAwQjE1MUIwQTcwMEIxNTFCMEE4MDBCMTUxQjBBOTAwQjE1MUIwQUEwMEIxNTFCMEFCMDBCMTUxQjBBQzAwQjE1MUIwQUQwMEIxNTlFNDQwMDEwNTBBQTJFNDQwMDEwNjgwRTdFMUJDMDdBMEJDMDBCMTQwQjM0MUI0NDc4RjIyMjdGNkY3RkYwMUJGQzdDNTQ3RDMyODAwOENBMUJDQTFCQ0ExQkNBMUI5RTQ0MDAxMDUwRjIyRTQ0MDAxMDY4MDZDQTQ4MUI0NDc4RkE3RkY2ODlFNENBNkI1RUQ0MDAzRjY4MjA3RTg0MDA0MDlEOEREQTZCQkQ4NzM4MTZDQTc5N0Q3ODEyMEI4RERBNzk0MDA4OUQ3ODY4MDI4MDA1QzJENzIyREE2QjdFQzAwMzdFRDAwMDdBRDM5MDAwNzRBQTM5QjU1NTU1NzQ1NTM5QjUyQUFBNzRBMDM5QjU1NTU1N0UwNDAwNDA5RDcwNTAwNjJENzA3RDA3NkQ3NzdDMzE3RTdCMDA3QTZCMDAwQjdDMEI2Q0E1RDlGMzdGMTYxQjFDN0U1NDI3MTA3RTFCMTBCQzEwNjgwNjFCNTQ3OEY1ODAyRjZEMDA3QzIwN0YxNjlGMTA3RjI3OUYyMDdFMkIwMDdFMUIxMEJDMDE3ODE5MEIyQzBCMUNBNURCRUY3Q0I2MjBFMDA2NkNEQzdBRDM5MDAwNEQ3Nzc4OTBDMkQ3MjJEMkQ3MjIwMDA0MDAwNDAwMDAwNjA0MDIwNDAwMDIwMTA0MDEwMjAwMDAwMDAwMDAwMDAwMDAwMjAyMDIwMjAyMDQwMDA4MTAwMjEwMDQwMjA4MDAwMTAxMDg3RTE4N0ZCRDdBMUMwMEZGMEIxQTAwNUUxMDFGQkUxMDE0MzgxQTBBNTEyMzdFMTgwQzBEN0ExQzAwRkYyRDM1MEIxQTUwNjAwOEE1QjgwMjAzNEVBMDA4MjI4MEZFN0VFODdGQkY3QUVDMDBGRkUwRjUyMzU0QzA2ODM4N0VFODdGQkU3QUVDMDBGRkUwNjAyRTEyMEMzN0Y1MjE3QUExMjAyMDA5MEMyMDBBMTI3RUIwMEU3QUIzOTIwMDgwMTA3RUIwMDI3QUIzOTIwMDgwMDc3RUIwMEE3QUIzOTIwMDdBQjEwRDAyMENDNDIyN0VCMDAyN0FCMzkwMDAxMjE5MEM3RUIwMDM3QUIzOTAwMDEyMTkwQzgwRUFDMkFGQzIxMUMyMTI3NUIwREY3RTAwMDE3QTAzOTMwMDdFMDAwMDdBMDM5MDAwNkMwMDdFMTAwMzEyMENGNTdFNjgyQzY2N0E2QzAwRkYxMjE5QzQwQjAwODAzMjAyMUE2RTIwMTEyQjdFQjAwMTdBQjM5MDAwMTIxOTBDN0VCMDAzN0FCMzkwMDAxMjE5MEM3RUIwMDI3QUIzOTAwMDEyMTkwQ0E1RDlEQzdFQjAwMDdBQjM5MDAwMTIxOTBDMjI3RTY4MkNGOTdBNkMwMEZGMTIxOUM0N0VFNDEwMDA3RTQwNTU3QUU5NDAwQkU0N0U1MEFBN0FFOTUwMUJFNEJFRTk0MDY4MTk3RTY4MkNERjdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTEzN0FFOTQwN0VFOTEwODBGODdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQwQjAwN0U2ODJEM0Q3QTZDMDBGRjEyMTlDNDdFNzgwMDAwN0U3MDBFN0VBNEZGRkY3RUI0QkZGRjdEQ0IwRUM0N0REQzVEREI2Q0JCN0RGQTVFRjQ3RkZGN0E3QkIwMEJCMDdERkI1RUY0N0ZGRjdBN0JCMDBCQjA3REZDNUVGNDdGRkY3QTdCQjAwQkIwN0RGRDVFRjQ3RkZGN0E3QkIwNkNCQjdERkE1RUY0N0ZGRkJFN0JCMDc4NDEwQkIwN0RGQjVFRjQ3RkZGQkU3QkIwNzgzNDBCQjA3REZDNUVGNDdGRkZCRTdCQjA3ODI3MEJCMDdERkQ1RUY0N0ZGRkJFN0JCMDc4MUEwQkIwQkVDNEZGRkU3ODkyMEVCNEE1REY4QjdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDc3Q0E1QkNBNkI3RTY4MkNGMDdBNkMwMEZGMTIxOUM0N0U2ODJEOEY3QTZDMDBGRjEyMTlDNDBBNDcxMjE5RkE3RTY4MkRERTdBNkMwMEZGMTIxOUM0NkM3N0RBNkJDQTZCMEI3MDBFQzRCRUM0RkZGRjc4RjYxQjcwMEE0NzEyMTlGQTEyMTkxOTMwMTEzMERBNkJEQTVCNkNCQjdFNzgwMDAwN0RGQTVFRjQ3RkZGN0E3QkIwN0RGQjVFRjQ3RkZGN0E3QkIwN0RGQzVFRjQ3RkZGN0E3QkIwN0RGRDVFRjQ3RkZGN0E3QkIwODBENDdFNjgyRDFCN0E2QzAwRkYxMjE5QzQzMDFGMEU3RTc4MDQyMDdBN0MwMDAwN0U0NDdCRTA4MDBDN0U3ODAwMDA3QTdDMDAwMTdFNDQ4MDAwMEIwMDdFNDAzQTdDNTQ3RjU3N0Q4NDZDNjY3QTVCNTAwQjVDMEI1MEE1REUwMjBCNTAxQjg0NzhGMDdDNTQ3RjU3N0Q4NDZDNjZCRTVCNTA3ODFBMEI1QzBCNTBBNURFMDIwQjUwMUI4NDc4RUU3RTY4MkNEQTdBNkMwMEZGMTIxOUM0ODA0QjdGNDU3RTY4MkNERjdBNkMwMEZGMTIxOUM0N0U2ODJENUY3QTZDMDBGRjEyMTlDNDdENEIxMjE5RkE3RTY4MkQ3NDdBNkMwMEZGMTIxOUM0NkM4ODdDOTUxMjE5RkE3RTY4MkQ4MjdBNkMwMEZGMTIxOUM0N0U0QjkwMTIxOUZBMTIxOTE5MzAxMTA1N0U0QjkwODBGQjdFNjgyRTI4N0E2QzAwRkYxMjE5QzQwQjAwN0VCMDgwN0FCMzkxMDA3RUEwNTU3QUEzOTExMDdFQjM5MTA3N0VCMzkxMTBCQ0FCNzgyMDdFQTBBQTdBQTM5MTEwN0VCMzkxMDc3RUIzOTExMEJDQUI3ODBEN0U2ODJDREE3QTZDMDBGRjEyMTlDNDgwMUI3RTY4MkNERjdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBBN0FBMzkxMTA3RUIzOTExMDgwRjY3RTY4MkU0QTdBNkMwMEZGMTIxOUM0MTIxMjMxMEIwMDdFRTQxMDAwN0VBMEE1Q0FBODdBRTlBMDdFQjAzMDdBQjM5NTAwN0VFOUEwN0VCMDAwN0FCMzk1MDAxMjE5MEMwQkU1N0VCMDIwN0FCMzk1MDA3RUU5QjA3RUIwMDA3QUIzOTUwMDdFRTlCMERBQThCQ0FCNzgwRDdFNjgyQ0RBN0E2QzAwRkYxMjE5QzQ4MDFEN0U2ODJDREY3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwQzdFQjAzODdBQjM5NTAwN0VFOUIwODBGQjgwMDA3RTY4MkRFNDdBNkMwMEZGMTIxOUM0MEIwMDc1QjBERjdFMjQ4MDAwMDlCMjAwMDhCRUIwMDE3ODBCMDlCMjAwMTRCRUIwNjA3ODAyODAxNzdFNjgyQ0RGN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMTEwOUIyMDAwODgwRkE3RTY4MkNEQTdBNkMwMEZGMTIxOUM0N0U2ODJFMDY3QTZDMDBGRjEyMTlDNDBCMDA3NUIwRUYxMjE4RkY3RTI0ODAwMDdFQTA1NTE5QTIwMDFDN0VCMDAxMTlCMjAwMDgwOUIyMDAxQ0JDQUI3ODM3MDlCMjAwMDg1RUIwQzBCRUIwQzA3ODJCN0VBMEFBMTlBMjAwMUM2Q0JCMTlCMjAwMDgwOUIyMDAxQ0JDQUI3ODE2MDlCMjAwMDg1RUIwQzA3ODBEN0U2ODJDREE3QTZDMDBGRjEyMTlDNDgwMUI3RTY4MkNERjdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBBMTlBMjAwMUMwOUIyMDAxQzgwRjY3RTY4MkU2QzdBNkMwMEZGMTIxOUM0N0U2ODJFRUU3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxN0VCMDAxMTlCMjAwMUMyRTI0MDEwMDBCQjBBNUQ5RjM3RTI0ODAwMDdFMTEyMTdFQjAwMTBCMDAwOUEyMDAxQ0JDQUI3ODE2N0U2ODJDRTc3QTZDMDBGRjEyMTlDNDJFMjQwMTAwMEJCMEE1RDlFMjgwMjU3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU0N0UyNDgwMDA3RTExMjEwOUEyMDAxQzJFMjQwMTAwQTVEOUY1ODBFQzdFNjgyRjEyN0E2QzAwRkYxMjE5QzQxMjEyMzE3RTI0ODAwMDdFMTEyMTBCMDA3NDEwMTlCMjAwMTAxMjExQUEyRTI0MDEwMEE1RDlFRTdFNjgyRjM2N0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDBFNDE5QjIwMDEwMTIxMUFBMkUyNDAxMDBBNUQ5RUYzMDAwMDMwMjE3M0IwMjEyNkE3NDA3MTlCMjAwMDgxMjE5MEMwOUIyMDAwMDA5QjIwMDE0MDlCMjAwMDAwOUIyMDAxNDA5QjIwMDAwMDlCMjAwMTQwOUIyMDAwMDA5QjIwMDE0QzIxMzdFQjA1NTEyMTIwQjdFQjBBQTEyMTIwQjdFQjAwMDEyMTIwQjdFQjBGRjEyMTIwQjMwMTMwRjdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkyMjdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyMjE5QjIwMDAwMTIxOEZGMDlBMjAwMDBCQ0FCNzgwMTIyMjAxMTAzRDIxMzIyMTIxOTE5MTlCMjAwMDAxMjE4RkYwOUEyMDAwMDgwRjM3NUIwREYxMjE4RkY3NUIwRUYxMjE4RkY3RTI0ODAwMDdFMTEyMTc0ODAxOUIyMDAwQzdFNTQwMDAyMTlBMjAwMDQxOUIyMDAwMDc0MDMxOUIyMDAwQzc0MDYxOUIyMDAwODJFMjQwMTAwQTVEOURCMjI3RTY4MkY1QTdBNkMwMEZGMTIxOUM0N0UyNDgwMDA3RTExMjEwQjAwMTIxOEZGMDlCMjAwMTg3RUEwNTUxOUEyMDAwMDEyMThGRjA5QjIwMDE4NUVCMDA1NzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDFBN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwOTE5QTIwMDAwMTIxOEZGODBGNzJFMjQwMTAwQTVEOUI2N0U2ODJGN0U3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDEyMThGRjA5QjIwMDE4N0VBMDU1MTlBMjAwMDAxMjE4RkYwOUIyMDAxODVFQjAwQTc4MEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAxQTdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMDkxOUEyMDAwMDEyMThGRjgwRjcyRTI0MDEwMEE1RDlCNjMwMDQwMzAyMTU5RjdFNjgyRkEyN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMEE3ODNDN0VBMDAxMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAxMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwQTc4MTQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTFFNjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgyRkVBN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwMDU3ODNDN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODdFQTAwMzE5QTIwMDEwN0VBMDAyMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwNTc4MTQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0MkUyNDAxMDBBNUQ5OUU4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTFFNjdFQTAwMTE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTdFNjgzMDMyN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDA3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDUwQkVCMDUwNzgxRjZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDUwNzgwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUEyN0U2ODMwN0E3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDA5QjIwMDE4N0VBMDAxMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjBBMEJFQjBBMDc4MUY2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjBBMDc4MEQ3RTY4MkNFNzdBNkMwMEZGMTIxOUM0ODAyMDdFNjgyQ0YwN0E2QzAwRkYxMjE5QzQxMjE5MTkzMDExMEY3RUEwMDExOUEyMDAxMDZDQUExOUEyMDAxMDgwRjEyRTI0MDEwMEE1RDk5RTdFNjgzMDlFN0E2QzAwRkYxMjE5QzQ3RTI0ODAwMDdFMTEyMTBCMDAyMEIxMjY3RUEwMDIxOUEyMDAxMDEyMThGRjMwQjExOTZDQUExOUEyMDAxMDEyMThGRjIwQjEwRDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQ4MDIwN0U2ODJDRjA3QTZDMDBGRjEyMTlDNDEyMTkxOTMwMTEwRjdFQTAwMjE5QTIwMDEwNkNBQTE5QTIwMDEwODBGMTJFMjQwMTAwQTVEOUFFMDIxNzNCN0U2ODJGQzY3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwNjc4M0M3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDExOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA2NzgxNDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU2N0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODMwMEU3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDZDQUExOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTAxMjE4RkYwOUIyMDAxODVFQjAwOTc4M0M3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4N0VBMDAzMTlBMjAwMTA3RUEwMDIxOUEyMDAxMDEyMThGRjA5QjIwMDE4NUVCMDA5NzgxNDdFNjgyQ0U3N0E2QzAwRkYxMjE5QzQyRTI0MDEwMEE1RDk5RTgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMUU2N0VBMDAxMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxN0U2ODMwNTY3QTZDMDBGRjEyMTlDNDdFMjQ4MDAwN0UxMTIxMEIwMDdFQTAwMjE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwOTBCRUIwOTA3ODFGNkNBQTE5QTIwMDEwMTIxOEZGMDlCMjAwMTg1RUIwOTA3ODBEN0U2ODJDRTc3QTZDMDBGRjEyMTlDNDgwMjA3RTY4MkNGMDdBNkMwMEZGMTIxOUM0MTIxOTE5MzAxMTBGN0VBMDAyMTlBMjAwMTA2Q0FBMTlBMjAwMTA4MEYxMkUyNDAxMDBBNUQ5QTIyMDFGNjgxMjEyMzExMjE3QTk3RTI0ODAwMDdFMTEyMTBCMDAyMDg5MjY3RUEwRkYxOUEyMDAwNDEyMThGRjdFQjA1NTE5QjIwMDAwMTIxOEZGMzA4OTBGN0VBMDAwMTlBMjAwMDQxMjE4RkYyMDg5MDI4MDI2MTIxOTE5MzAxMTIwN0VBMEZGMTlBMjAwMDQxMjE4RkY3RUIwNTUxOUIyMDAwMDEyMThGRjdFQTAwMDE5QTIwMDA0MTIxOEZGODBFMDJFMjQwMTAwQTVEOUE4MDIxN0MyMDIxODRDN0UyNDgwMDA3RTExMjE3RUEwMDgxOUEyMDAxMDEyMThGRjJFMjQwMTAwQTVEOUVGMjIzMDFGMDMwMjE4NENDMjhBMTIxN0E5MEIwMDEyMTgxNjIwOEIyNDc0MDM3QUIzOTEwNjc0MDI3QUIzOTEwNzc0MEM3QUIzOTEwNjc0MDA3QUIzOTEwNzEyMTkwQzMwOEIwNjEyMTgxNjMwOEJBRDEyMTkxOTMwMTFBNzEyMTgxNjc0MDM3QUIzOTEwNjc0MDI3QUIzOTEwNzEyMTkwQzEyMTgxNjgwRTk3RUEwMDA3NDAyN0FCMzkxMDY3QUEzOTEwNzc0MDM3QUIzOTEwNjdBQTM5MTA3MTIxOEZGNzRFRjdBQjM5MTA0NzQ4MDdBQjM5MTAzNzQwQzdBQjM5MTA2NzQwODdBQjM5MTA3MTIxOTBDMjIzMDEyMTk3RTY4MzBDMjdBNkMwMEZGMTIxOUM0RDIxMTEyMThGRjEyMThGRjEyMThGRjAyMENDQTMwMUYxQzdFNjgzMTNDN0E2QzAwRkYxMjE5QzQ3RTY4MzE1RTdBNkMwMEZGMTIxOUM0MTIxQTZFMDIxOEY3MEIwMDdFNzgxOEIxN0E3QzAwRkY3RjY3N0E2QzAwMDA3RTcwM0U3RTdCQjA3QTZCQjAwQjdDMEI2Q0E1REZGMzdFNzgxOEIxN0E3QzAwMDA4OTc4N0U3ODAwMDA3QTdDMDBGRTdFNjg3RkJGN0E2QzAwRkU3NEFBMzlCNzU1NTU3NDU1MzlCNzJBQUE3NEEwMzlCNzU1NTU2Qzk5N0E2QjkwN0U1NDI3MTA3RTZCODBCQzg5NjgwODFCNTQ3OEY1OEFGRjE4RUY4QUZGMThGNzEyMTkxOTdFNkI4MDgwRkI3RTEwRkYxMjE5QUM4MEY4Q0FGOTdFRjQwMEZGMUJGNDc4RkNEQUY5MjJDQUY5N0VGNDAwMDAxQkY0NzhGQ0RBRjkyMjIwMTEyMEQyMTIxMjE5MEM3RUIwMDI3QUIzOTAwMDEyMTkwQzEyMTkwQzEyMTkwQzEyMTkwQzdFQjAwMDdBQjM5MDAwMjJDQTBCN0UxMDAzN0MzMDZDMjIwQjIwOUUzMDBBNTBGOTJFMzAwQjFCMjA2ODIwMTIxOTBDMTIxOTBDN0VCMDAzN0FCMzkwMDAxMjE5MEMxMjE5MEMxMjE5MEM3RUIwMDA3QUIzOTAwMEE1REFFMDEyMTkwQzEyMTkwQzFCMzA2ODIwMTIxOTBDMTIxOTBDN0VCMDAyN0FCMzkwMDAxMjE5MEMxMjE5MEMxMjE5MEM3RUIwMDA3QUIzOTAwMEE1REJFMDdFMjAwQTEyMTkwQ0E1REFGQUE1RDk5OERBMEIyMjIwMTExNDEyMTkwQzdFQjAwMTdBQjM5MDAwMTIxOTBDN0VCMDAwN0FCMzkwMDAyMjMwMUYzMjIwMTEyRkNBMkJDQTdCN0U3ODgwMDA3QTdDMDBGRTEyMUE0RDdFNkJBMDVDQUE2ODEwMjlCNzAwMTQ1NDYwNjhGODM5QTcwMDAwMEI2QzgwRTkxMjE4RkZEMkI1REE3QkRBMkIyMjEyMUEwNTdFNjgwMDBDMTIxOUM0MjJDQTU5Q0E1QjdFQjQwMDBDN0NCOEM0MTIxQTM1N0NCODEyMUEzNTdDQjlDNDEyMUEzNTdDQjkxMjFBMzU3RUIwNjg3QUI5QjAwQkI0NkNCQjdBQjlCMERBNTlEQTVCMjI1RUIwMEY3Q0FCOUVBMDBBNDAwNTJFQjAzNzgwMDMyRUIwMzA3QUI5QjAwQkI0MjJDMkI1NzVCMEVGMTIxOEZGNzQ4MDM5QjcwMDBDN0U1NDAwMDYzOUE3MDAwNDM5QjcwMDAwNzQwMzM5QjcwMDBDMjI3RTc4MDAwMDdBN0MwMEZGN0U1ODAwMDA3QTVDMDAwMTdGNjU3RTc0MjAwMDEyMEI2MzQwNTg3RTc4N0MwMDdBN0MwMEZGN0U1ODAwMDA3QTVDMDAwMTdFNjg3QzAwN0E2QzAwMDE3RTc0MDQwMDEyMEI2MzQwMzc3NDgwMTIxQUVBNDAzMDdFMDAwMzdBMDM5MDAwRDIxMDdFMDQwMDA4N0UxNDAwMDA4NEE1REJGQ0E1REFGOUE1RDlGNjc0NDAxMjFBRUE0MDBFN0U2ODMxOEQ3QTZDMDBGRjEyMTlDNDAyMThGNzdFQjAwMjdBQjM5MDAwODBGRUY1MEI3RTc4MDAwQjdBN0MwMDAwN0U2ODdGQkY3QTZDMDAwMTdFNzQwMDAxMDIwQjYzNzQKKzowMDAwMDAwMDAxRkYKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKy8vKiBFZGdlcG9ydC80IEJpbmFyeSBJbWFnZQorLy8qIEdlbmVyYXRlZCBieSBIRVgyQyB2MS4wNgorLy8qIENvcHlyaWdodCAoQykgMTk5OCBJbnNpZGUgT3V0IE5ldHdvcmtzLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8qCVRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisvLyoJaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKy8vKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorLy8qCShhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lZGdlcG9ydC9kb3duLkgxNiBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24uSDE2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMzZmZTEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lZGdlcG9ydC9kb3duLkgxNgpAQCAtMCwwICsxLDI5IEBACis6MDAwNDAwMDAwMDAxMTAwMDA0RTcKKzowMDAyMDAwMDA0MDBGRkZCCis6MDAwNjAwMDAwMDAyMDA4MDAyNDRCMDgyCis6MDAwMzAwMEIwMDAyNDQ3MjNBCis6MDAwMzAwMTMwMDAyMDAxM0Q1Cis6MDAwMzAwMUIwMDAyMDAxQkM1Cis6MDAwMzAwMjMwMDAyMDAyM0I1Cis6MDAwMzAwMkIwMDAyMDAyQkE1Cis6MDAwMzAwMzMwMDAyMDAzMzk1Cis6MDAwMzAwM0IwMDAyMDAzQjg1Cis6MDAwMzAwNDMwMDAyMDA0Mzc1Cis6MDAwMzAwNEIwMDAyNkVDNDdFCis6MDAwMzAwNTMwMDAyNzU4REE2Cis6MDAwMzAwN0IwMDAyMDA3QjA1Cis6MDAwNzAwODAwMDdFMTQwMDAwMDI0MDUxNTQKKzowODgyMzAwMDAwMTIzNzI4MTIzMDNFMTIzMDU0MTIzMEU1MTIzMTY4MTIzNTIwMTIzODU4MTIzMTE1MTIzMTQwMTIzMEEwODBFMEU1MjM2MDE5N0UxNDAwMDAwOUIxMDFDRkI0MDAwMjgwMDUxNDE5QjEwMUNGQTUwQkJFMzEyRjc4RUIyMkMyQUY3RUIzM0ZGMUI0MDEwQUMwRjE3NUYxMDIxMjcwRUZEMEYxRDJBRjIyQzJBRkU1MjI2MDQzN0UwNzAxRTFCRTA0MDM4MDM4Mzk3RTA0ODAwMDdFMjAwMDEzNTAyMTA5QTAwMDA0NEVBMDA1MTlBMDAwMDQwQTMyMDk1MzY3OEU1RTUxMjc2ODBCMDlBMDAwMTA0RUEwMDExOUEwMDAxMDJFMDQwMTAwQTUwQUJFMjEyRjc4RDE3NTIyMDBEMkFGMjJDMkFGN0UyMDAwN0UzMDAxN0NCMjIzMEEyQjQ5MzIwMThGQkUzNDAwMDA2ODEyN0VCMTIxQTU0QjdBQjEyMUNBMTk0OTIyMzBENTk5MjREQTE5M0UzMEE1MEFCRTIxMkY3OEQ2RDJBRjIyNDYwRjQ5Njc0Q0JGNTAxNzUzNkY1NkM3NUExRjVENzdDMkFGRTUzMjYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTAyREFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyQ0EyODEyNjdBQkRBMjg0MDA5MEEyMjA5QjI2NzhFRjQ1MjMyMjJDMkFGRTUzNDYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTMyREFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyQ0EyODBBMjIwOTQyMDAzRTEyNjlDMkRBMjgyMkMyQUZFNTM1NjAxNDdFMjAwMDEzNTAwN0NBQjgxMjMxNUREQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjJDQTI4N0U0MDAwMTI2QzVCREEyODIyQzJBRkU1MjM2MDE0N0UyMDAwMTM1MDA3Q0FCODEyMzE4NURBQjhBNTBBQkUyMTJGNzhFRkQyQUYyMjdDQjIyMzBBMkI0OTIyMzE5MDg5MjQzMUEwMzIxMDMyODAzMkYwMzM2MDMzRDAzNDQwMzRCMDdFMjcwMThGQkUyNDAwMDA3ODI0N0UyNDgwMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0OTMwN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxOUY2ODBEN0EyNzAxOUY3RTYwOUM3QTYzMDFDRjgwMkU3RTYzMDFDRkE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMTg2QzAwN0EwMzAxQ0ZDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOTFCRTI0MDAwMDc4MjQ3RTI0ODEwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjRDODg3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBMTY4MEQ3QTI3MDFBMTdFNjA5QzdBNjMwMUQwODAyRTdFNjMwMUQwQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxOTZDMDA3QTAzMDFEMEMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5M0JFMjQwMDAwNzgyNDdFMjQ4MjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEZFMDdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUEzNjgwRDdBMjcwMUEzN0U2MDlDN0E2MzAxRDE4MDJFN0U2MzAxRDFBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFBNkMwMDdBMDMwMUQxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTk1QkUyNDAwMDA3ODI0N0UyNDgzMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1MzM4N0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQTU2ODBEN0EyNzAxQTU3RTYwOUM3QTYzMDFEMjgwMkU3RTYzMDFEMkE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUI2QzAwN0EwMzAxRDJDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOTdCRTI0MDAwMDc4MjQ3RTI0ODQwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjU2OTA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBNzY4MEQ3QTI3MDFBNzdFNjA5QzdBNjMwMUQzODAyRTdFNjMwMUQzQTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxQzZDMDA3QTAzMDFEM0MwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI3MDE5OUJFMjQwMDAwNzgyNDdFMjQ4NTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTlFODdEMjFEQTE5MzBFNjE4N0U2MDAwODAxRUJFMjcwMUE5NjgwRDdBMjcwMUE5N0U2MDlDN0E2MzAxRDQ4MDJFN0U2MzAxRDRBNUJFMDAyNjdFNjAwMTdFQjAwMDdFQTBDODEyNjJCNjQwMTg3NTMxQjMxMjdDMTVDMjFENkMwMDdBMDMwMUQ0QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjcwMTlCQkUyNDAwMDA3ODI0N0UyNDg2MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1RDQwN0QyMURBMTkzMEU2MTg3RTYwMDA4MDFFQkUyNzAxQUI2ODBEN0EyNzAxQUI3RTYwOUM3QTYzMDFENTgwMkU3RTYzMDFENUE1QkUwMDI2N0U2MDAxN0VCMDAwN0VBMEM4MTI2MkI2NDAxODc1MzFCMzEyN0MxNUMyMUU2QzAwN0EwMzAxRDVDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNzAxOURCRTI0MDAwMDc4MjQ3RTI0ODcwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjYwOTg3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDFBRDY4MEQ3QTI3MDFBRDdFNjA5QzdBNjMwMUQ2ODAyRTdFNjMwMUQ2QTVCRTAwMjY3RTYwMDE3RUIwMDA3RUEwQzgxMjYyQjY0MDE4NzUzMUIzMTI3QzE1QzIxRjZDMDA3QTAzMDFENkMwRjE3NUYxMDExMjZGRDlEMEYxMjJDMkFGRTUyNDYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzNTNEREFCOEE1MEFCRTIxMkY3OEVGRDJBRjIyN0NCMjIzMEEyQjQ5MjIzNTQ4ODkyNDM1NTgzNTkyMzVDQzM2MDYzNjQwMzY3QTM2QjQzNkVFN0UyNDgwMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI0OTMwN0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyMEMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODEwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjRDODg3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjIxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MjAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNEZFMDdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjJDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgzMDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1MzM4N0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyM0MwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODQwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjU2OTA3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjI0QzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NTAwMDlCMjAwMTRDQUI4NUVCMDFFREFCODY4MEJDQTE5N0QxMjEyNTlFODdEMjFEQTE5NUVCMDAxN0VBMDkwMTI2MjkzNDAxMjc1MzFCODEyN0MxNUMyMjVDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg2MDAwOUIyMDAxNENBQjg1RUIwMUVEQUI4NjgwQkNBMTk3RDEyMTI1RDQwN0QyMURBMTk1RUIwMDE3RUEwOTAxMjYyOTM0MDEyNzUzMUI4MTI3QzE1QzIyNkMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODcwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjYwOTg3RDIxREExOTVFQjAwMTdFQTA5MDEyNjI5MzQwMTI3NTMxQjgxMjdDMTVDMjI3QzBGMTc1RjEwMTEyNkZEOUQwRjEyMkMyQUZFNTMzNjAxNDdFMjAwMDEzNTAwN0NBQjgxMjM3NDVEQUI4QTUwQUJFMjEyRjc4RUZEMkFGMjI3Q0IyMjMwQTJCNDkyMjM3NTA4OTI0Mzc2MDM3N0YzNzlFMzdCRDM3REMzN0ZCMzgxQTM4Mzk3RTI0ODAwMENBMTk3RDEyMTI0ODFCREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4MTAwQ0ExOTdEMTIxMjRCNzNEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDgyMDBDQTE5N0QxMjEyNEVDQkRBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODMwMENBMTk3RDEyMTI1MjIzREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NDAwQ0ExOTdEMTIxMjU1N0JEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyN0UyNDg1MDBDQTE5N0QxMjEyNThEM0RBMTkxMDA0MDI4MDBDRDIwMUMwRjE3NUYxMDExMjZGRDlEMEYxMjI3RTI0ODYwMENBMTk3RDEyMTI1QzJCREExOTEwMDQwMjgwMENEMjAxQzBGMTc1RjEwMTEyNkZEOUQwRjEyMjdFMjQ4NzAwQ0ExOTdEMTIxMjVGODNEQTE5MTAwNDAyODAwQ0QyMDFDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyQzJBRkMwRjE3NUYxMDFBOTMyRjIxQTdFMDcwMUUxQkUwNDAwMDA3ODEwRTVGNTMzODJFNzQwMDk4NTMxMzExMjdDMTU3NUY2MDBEMEYxRDJBRjIyNDcKKzozQzE1NDAwMDAwN0UwNDAwMDE3RTE0N0ZGODdFMjQwMEZFN0QzMTBCMUE1MDFCMEE1MDdFMTQ0MDFCMDI0MDZBN0VGODAwNkZEMjA0QzI5NEQyOTU3RUY0NDAyQzAyNDA3QzEyN0QzMEY1MkY3QUExMzA3QTExNkUxMjc1Q0ExMjQwREM3RUIzM0ZGMTYwMDMxMjQzRDQ3NUYxMDAxMjc2NkZEMkFGMDIzMDAwN0UwNDAwRkY3RTE4NDA1RjdBMUMwMDAxODkxOEE5MjU4NzAzQTlENTg3RDI5Mzg5MDg3RTA0MDBGRjdFMTg0MDc4N0ExQzAwMDE4OTE4QzI5Mzg5MDg3RTA4MDAyMDdFNDQwNDAwN0U0MDAwN0VFNDQwOEUwMjdDMzA3RTA4MDE2RjdFNDQyODdDN0U0MDAwN0VFNDQwQTAwMjdDMzA3RTA4MDA2RjdFNDQwMTAwN0U0MDUzN0VFNDQwQjIwMjdDMzA3NTZEMjA3NTZDMzA3RTA0MDAwODc1NkE1ODc1NkIwODc1NjcwODc1NjkwMTc1ODkwMTc1OEEwMTc1OEMwMEQyOEM3RTA0MDAwMjdBMDU1ODg5RjQ3NUI3N0Y3NUI4N0Y3NUIzMDc3NUIyMDdEMkE5MjJEMjkyRTRENUUwRkRDMjkyN0UyNDgwMDA3RTExMkY3RUEwMDgxOUEyMDAxMDJFMjQwMTAwQTVEOUYyN0UyMDAwMTI0MTdFMEIyMEJFMjEyRjc4RjYyMjdFMDQ4MDAwNEMwMjc0QkYxOUIwMDAwQzc0MTAxOUIwMDAwODc0ODAxOUIwMDAwQzdFNTQwMDAyMTlBMDAwMDQxOUIwMDAwMDc0MDMxOUIwMDAwQzc0MDdBOTIwMzAwQkE5MzUzMDA1QkUyMDAxMjgwMjc0MEYxOUIwMDAwNEE5MzMzMDE4NzRCRjE5QjAwMDBDNzQyOEE5MjAzMDAyNzQyMDE5QjAwMDA0NzQwMzE5QjAwMDBDNzRBNzE5QjAwMDA4NzQwQzE5QjAwMDEwMjI3RTA0ODAwMDRDMDJFNDE5QjAwMDA0MDlCMDAwMTA1NDA4MTlCMDAwMTA3NEE3MTlCMDAwMDgyMjdDQjIyMzBBMkI0OTIyNDFBNTg5MjQ0MUI1NDFENDQxRjM0MjEyNDIzMTQyNTA0MjZGNDI4RUMyMTBDMjE4QzIyMEMyMDg3RTA0MDlFMzdBMDcwMTZGN0EwNzAxN0Y2RDAwN0EwNzAxOEY3QTA3MDE5RjIyQzIxMUMyMTlDMjIxQzIwOTdFMDQwREUzN0EwNzAxNzE3QTA3MDE4MTZEMDA3QTA3MDE5MTdBMDcwMUExMjJDMjEyQzIxQUMyMjJDMjBBN0UwNDExRTM3QTA3MDE3MzdBMDcwMTgzNkQwMDdBMDcwMTkzN0EwNzAxQTMyMkMyMTNDMjFCQzIyM0MyMEI3RTA0MTVFMzdBMDcwMTc1N0EwNzAxODU2RDAwN0EwNzAxOTU3QTA3MDFBNTIyQzIxNEMyMUNDMjI0QzIwQzdFMDQxOUUzN0EwNzAxNzc3QTA3MDE4NzZEMDA3QTA3MDE5NzdBMDcwMUE3MjJDMjE1QzIxREMyMjVDMjBEN0UwNDFERTM3QTA3MDE3OTdBMDcwMTg5NkQwMDdBMDcwMTk5N0EwNzAxQTkyMkMyMTZDMjFFQzIyNkMyMEU3RTA0MjFFMzdBMDcwMTdCN0EwNzAxOEI2RDAwN0EwNzAxOUI3QTA3MDFBQjIyQzIxN0MyMUZDMjI3QzIwRjdFMDQyNUUzN0EwNzAxN0Q3QTA3MDE4RDZEMDA3QTA3MDE5RDdBMDcwMUFEMjI3Q0IyMjMwQTJCNDkyMjQyQjg4OTI0NDJDODQyRTk0MzBBNDMyQjQzNEM0MzZENDM4RTQzQUYzMDUwMDcyMDY4MDRDMjI4ODAxNjMwNDAwNzIwNjAwNEMyMjg4MDBDMzA0ODA3MjA1ODA0QzIyODgwMDJEMjI4MjIzMDUxMDcyMDY5MDRDMjI5ODAxNjMwNDEwNzIwNjEwNEMyMjk4MDBDMzA0OTA3MjA1OTA0QzIyOTgwMDJEMjI5MjIzMDUyMDcyMDZBMDRDMjJBODAxNjMwNDIwNzIwNjIwNEMyMkE4MDBDMzA0QTA3MjA1QTA0QzIyQTgwMDJEMjJBMjIzMDUzMDcyMDZCMDRDMjJCODAxNjMwNDMwNzIwNjMwNEMyMkI4MDBDMzA0QjA3MjA1QjA0QzIyQjgwMDJEMjJCMjIzMDU0MDcyMDZDMDRDMjJDODAxNjMwNDQwNzIwNjQwNEMyMkM4MDBDMzA0QzA3MjA1QzA0QzIyQzgwMDJEMjJDMjIzMDU1MDcyMDZEMDRDMjJEODAxNjMwNDUwNzIwNjUwNEMyMkQ4MDBDMzA0RDA3MjA1RDA0QzIyRDgwMDJEMjJEMjIzMDU2MDcyMDZFMDRDMjJFODAxNjMwNDYwNzIwNjYwNEMyMkU4MDBDMzA0RTA3MjA1RTA0QzIyRTgwMDJEMjJFMjIzMDU3MDcyMDZGMDRDMjJGODAxNjMwNDcwNzIwNjcwNEMyMkY4MDBDMzA0RjA3MjA1RjA0QzIyRjgwMDJEMjJGMjI0NDM4NDNFNUJFQjAwMjQwMDEyMjIzMEE1QjQ5NTU0M0QwOTk1NEQzMjJBOUM1ODcxMjQ0NDM3RTA0MDVFMzdBMDcwMUQ3N0EwNzAxRDk3RTA0MDFFMzdBMDcwMUREN0EwNzAxREY3RTA0NzRBRDdBMDU2MTc1RjEwMTc1RTExRjc1RTQwNDc1RjQwNDc1RjEwMjc1RTEwMzc1RTQwNDc1RjQwNDQzQTIxQzEyNDBFQjdFMjAwMDEyNDE5QTBCMjBCRTIxMkY3OEY2RDJBODIyQTlENTg3MTI0NDQzRDI5MkMyQTgyMjc1QTMwMDUzQTIwMzc1QzEwMDUzQzAwMzdFMDAwNTdBMDFGMTQzRjQ4MDQzRTQ4MEU1RjI1NDdGNDQwOEY1RjJFNUUyNTQ3RjQ0MDhGNUUyNzVFMTEwQTVEOEUxMjJDQTA5MTIzMDIwMTAwMTEyRDU2NzFFNjM2OTAxN0UwMDZBMkUwMTY5QTVFNkY1Njc4MDEyMjAwMjFFNzU2OTAwODU2QTY3RDIwMjc0MDA4MDBEMzAwMjBGQzIwMjdFMDA2QzJFMDE2OUE1RTY1MzkwQ0Y0MjkwREEwOTMyQzBEMEMwRDFDMEUwQzBGMENBMEJDQTFCQ0EyQkQyMDE3NTMxODkxMjdDMTU3RTE0ODAwMDA5QjEwMDA4MjBFMDAzMDI0NTRGMjA3ODVBQTUwQTA5QjEwMDA4MjBFMDAzMDI0NTY3MjA3OTRCQTUwQTA5QjEwMDA4MjBFMDAzMDI0NTdGQTUwQTA5QjEwMDA4MjBFMDAzMDI0NTk3MjA3QTMwQTUwQTA5QjEwMDA4MjBFMDAzMDI0NUFGQTUwQTA5QjEwMDA4MjBFMDAzMDI0NUM3QTUwQTA5QjEwMDA4MjBFMDAzMDI0NURGQTUwQTA5QjEwMDA4MjBFMDAzMDI0NUY3MzAwNDBDQzIwNEMwRjE3NUYxMDExMjZGRDlEMEYxREEyQkRBMUJEQTBCRDBGMEQwRTBEMEQxRDBEMDMyNzUzMTgwMTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MzJCQ0EwNkM2NDQ4OTU0NzUzMTgxMTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MzZCQ0EwNkM2NDQ4OTU0NzUzMTgyMTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2M0FCQ0EwNkM2NDQ4OTU0NzUzMTgzMTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2M0VCQ0EwNkM2NDQ4OTU0NzUzMTg0MTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2NDJCQ0EwNkM2NDQ4OTU0NzUzMTg1MTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2NDZCQ0EwNkM2NDQ4OTU0NzUzMTg2MTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2NEFCQ0EwNkM2NDQ4OTU0NzUzMTg3MTI3QzE1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2NEVCQ0EwNkM2NDQ4OTU0MTAwODAxMjIyMDI4MDNEMjA4MjI3NTMxQTAxMjdDMTU3RTE0ODAwMDgwMDYyMDI4MDNEMjA4MjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNDkzMDIwRTYwM0QyMDgyMjMwMzA0OUQyNzA3RTM3MDE4RjdFMjcwMUFGOUQzMjQwMzE3RDAyMkUwNTQ4N0EwNTQ4N0EzNzAxOEY3RTM3MDE2RjdENDMyRDQyQkU0NDBERTIzODY4N0E0NzAxNkY3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDcwQzQyMkMyNzAyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOEZCRTI0MDAwMDY4NkFCRTI3MDFBRjI4MDQ3RTI3MDFBRjdFMzcwMThGOUQzMjdEMDIyRTA1NDg3QTA1NDg3QTM3MDE4RjdFMzcwMTZGN0Q0MzJENDJCRTQ0MERFMjM4MTM3QTQ3MDE2Rjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQwREUzOUQyNDEyNjUyQjdFMzQwOUUzN0QyNDJENDM3QTQ3MDE2RjEyNjUyQkJFMjUyMDc4MDMwMjQ2N0YyMkQyMDg3RTA0MDlFMzdBMDcwMTZGN0EwNzAxN0Y3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUJGMkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDAwMDAyRTI3MDFCRjFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM4MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTAyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDAwMDJFNjcwMUJGOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMDdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjQ3RTM3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzgwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMDIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNDdFM0RBQjgwMjQ5MzAwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjY4ODAwMkMyNjhBNUZENUU1MDIwNjgwNEQyNjA4MDAyQzI2MEE1RkQ1RTUwODA2ODA0RDI1ODgwMDJDMjU4MTI0MkM4MDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNDgzNTc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDA5MDEyMjIwMjkwM0QyMDkyMjc1MzFBMTEyN0MxNTdFMTQ4MTAwODAwNjIwMjkwM0QyMDkyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0Qzg4MjBFNjAzRDIwOTIyMzAzMTQ5RDI3MTdFMzcwMTkxN0UyNzAxQjE5RDMyNDAzMTdEMDIyRTA1NEE3QTA1NEE3QTM3MDE5MTdFMzcwMTcxN0Q0MzJENDJCRTQ0MTFFMjM4Njg3QTQ3MDE3MTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzFDNDIyQzI3MTJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5MUJFMjQwMDAwNjg2QUJFMjcwMUIxMjgwNDdFMjcwMUIxN0UzNzAxOTE5RDMyN0QwMjJFMDU0QTdBMDU0QTdBMzcwMTkxN0UzNzAxNzE3RDQzMkQ0MkJFNDQxMUUyMzgxMzdBNDcwMTcxNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDExRTM5RDI0MTI2NTJCN0UzNDBERTM3RDI0MkQ0MzdBNDcwMTcxMTI2NTJCQkUyNTIwNzgwMzAyNDlENzIyRDIwOTdFMDQwREUzN0EwNzAxNzE3QTA3MDE4MTc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQzEyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDEwMDJFMjcwMUMxMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwMzkwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMTIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwMTAwMkU2NzAxQzE5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDAxN0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNEIzQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzOTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjExMjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI0QjNCREFCODAyNEM4ODA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNjk4MDAyQzI2OUE1RkQ1RTUwMjA2ODA0RDI2MTgwMDJDMjYxQTVGRDVFNTA4MDY4MDREMjU5ODAwMkMyNTkxMjQyRTkwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI0QjhENzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEEwMTIyMjAyQTAzRDIwQTIyNzUzMUEyMTI3QzE1N0UxNDgyMDA4MDA2MjAyQTAzRDIwQTIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjRGRTAyMEU2MDNEMjBBMjIzMDMyNDlEMjcyN0UzNzAxOTM3RTI3MDFCMzlEMzI0MDMxN0QwMjJFMDU0QzdBMDU0QzdBMzcwMTkzN0UzNzAxNzM3RDQzMkQ0MkJFNDQxNUUyMzg2ODdBNDcwMTczNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3MkM0MjJDMjcyMkQyMzY4Nzg2RDMzODAxQTdFMjcwMTkzQkUyNDAwMDA2ODZBQkUyNzAxQjMyODA0N0UyNzAxQjM3RTM3MDE5MzlEMzI3RDAyMkUwNTRDN0EwNTRDN0EzNzAxOTM3RTM3MDE3MzdENDMyRDQyQkU0NDE1RTIzODEzN0E0NzAxNzM3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MTVFMzlEMjQxMjY1MkI3RTM0MTFFMzdEMjQyRDQzN0E0NzAxNzMxMjY1MkJCRTI1MjA3ODAzMDI0RDJGMjJEMjBBN0UwNDExRTM3QTA3MDE3MzdBMDcwMTgzNzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDMzJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwMjAwMkUyNzAxQzMxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEyMjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDAyMDAyRTY3MDFDMzlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDI3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0RTkzNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNBMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTIyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjRFOTNEQUI4MDI0RkUwMDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2QTgwMDJDMjZBQTVGRDVFNTAyMDY4MDREMjYyODAwMkMyNjJBNUZENUU1MDgwNjgwNEQyNUE4MDAyQzI1QTEyNDMwQTAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjRFRTU3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwQjAxMjIyMDJCMDNEMjBCMjI3NTMxQTMxMjdDMTU3RTE0ODMwMDgwMDYyMDJCMDNEMjBCMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNTMzODIwRTYwM0QyMEIyMjMwMzM0OUQyNzM3RTM3MDE5NTdFMjcwMUI1OUQzMjQwMzE3RDAyMkUwNTRFN0EwNTRFN0EzNzAxOTU3RTM3MDE3NTdENDMyRDQyQkU0NDE5RTIzODY4N0E0NzAxNzU3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDczQzQyMkMyNzMyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOTVCRTI0MDAwMDY4NkFCRTI3MDFCNTI4MDQ3RTI3MDFCNTdFMzcwMTk1OUQzMjdEMDIyRTA1NEU3QTA1NEU3QTM3MDE5NTdFMzcwMTc1N0Q0MzJENDJCRTQ0MTlFMjM4MTM3QTQ3MDE3NTc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQxOUUzOUQyNDEyNjUyQjdFMzQxNUUzN0QyNDJENDM3QTQ3MDE3NTEyNjUyQkJFMjUyMDc4MDMwMjUwODcyMkQyMEI3RTA0MTVFMzdBMDcwMTc1N0EwNzAxODU3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUM1MkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDAzMDAyRTI3MDFDNTFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNCMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTMyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDMwMDJFNjcwMUM1OUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwMzdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjUxRUI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0IwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxMzIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNTFFQkRBQjgwMjUzMzgwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZCODAwMkMyNkJBNUZENUU1MDIwNjgwNEQyNjM4MDAyQzI2M0E1RkQ1RTUwODA2ODA0RDI1QjgwMDJDMjVCMTI0MzJCMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNTIzRDc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBDMDEyMjIwMkMwM0QyMEMyMjc1MzFBNDEyN0MxNTdFMTQ4NDAwODAwNjIwMkMwM0QyMEMyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1NjkwMjBFNjAzRDIwQzIyMzAzNDQ5RDI3NDdFMzcwMTk3N0UyNzAxQjc5RDMyNDAzMTdEMDIyRTA1NTA3QTA1NTA3QTM3MDE5NzdFMzcwMTc3N0Q0MzJENDJCRTQ0MURFMjM4Njg3QTQ3MDE3Nzc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzRDNDIyQzI3NDJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5N0JFMjQwMDAwNjg2QUJFMjcwMUI3MjgwNDdFMjcwMUI3N0UzNzAxOTc5RDMyN0QwMjJFMDU1MDdBMDU1MDdBMzcwMTk3N0UzNzAxNzc3RDQzMkQ0MkJFNDQxREUyMzgxMzdBNDcwMTc3NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDFERTM5RDI0MTI2NTJCN0UzNDE5RTM3RDI0MkQ0MzdBNDcwMTc3MTI2NTJCQkUyNTIwNzgwMzAyNTNERjIyRDIwQzdFMDQxOUUzN0EwNzAxNzc3QTA3MDE4Nzc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQzcyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDQwMDJFMjcwMUM3MUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0MwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNDIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwNDAwMkU2NzAxQzc5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA0N0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNTU0Mzc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQzBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE0MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1NTQzREFCODAyNTY5MDA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkM4MDAyQzI2Q0E1RkQ1RTUwMjA2ODA0RDI2NDgwMDJDMjY0QTVGRDVFNTA4MDY4MDREMjVDODAwMkMyNUMxMjQzNEMwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1NTk1NzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjEwMEQwMTIyMjAyRDAzRDIwRDIyNzUzMUE1MTI3QzE1N0UxNDg1MDA4MDA2MjAyRDAzRDIwRDIyMDlCMTAwMTRDQUI4NUVCMDFFREFCODY4MDMxMjU5RTgyMEU2MDNEMjBEMjIzMDM1NDlEMjc1N0UzNzAxOTk3RTI3MDFCOTlEMzI0MDMxN0QwMjJFMDU1MjdBMDU1MjdBMzcwMTk5N0UzNzAxNzk3RDQzMkQ0MkJFNDQyMUUyMzg2ODdBNDcwMTc5NzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MTI2NTJCMTA3NUM0MjJDMjc1MkQyMzY4Nzg2RDMzODAxQTdFMjcwMTk5QkUyNDAwMDA2ODZBQkUyNzAxQjkyODA0N0UyNzAxQjk3RTM3MDE5OTlEMzI3RDAyMkUwNTUyN0EwNTUyN0EzNzAxOTk3RTM3MDE3OTdENDMyRDQyQkU0NDIxRTIzODEzN0E0NzAxNzk3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUwMjY1MkI3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTU5RTQ0MjFFMzlEMjQxMjY1MkI3RTM0MURFMzdEMjQyRDQzN0E0NzAxNzkxMjY1MkJCRTI1MjA3ODAzMDI1NzM3MjJEMjBEN0UwNDFERTM3QTA3MDE3OTdBMDcwMTg5NzUzMTk0MTI3QzE1NzUzMTAwMTI3QzE1MjI3NTMxOTIxMjdDMTVEMjA0MDlCMTAwMTRDQUI4NTQ4MkRBQjg3ODcwN0UzNzAxRTE3RTI3MDFDOTJFMjQwMDAyMkQzMkJFMzQwNDAwMzgzQzdEMDIyRTA1NDY3QTA1NDY3QTM3MDFFMTdFMzcwMURGN0Q0MzJENDJCRTQ0MDVFMjM4NDQ3QTQ3MDFERjdFMjQwNTAwMkUyNzAxQzkxQjM4MjAwQjM1N0E1MTMxMTI3QzE1QkU1MDM4NzgwMzAyNjYxNjAyNjVGQjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRDBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE1MjI4MDdEN0E1MTMxMTI3QzE1OUU0NDA1RTM5RDI0N0U2NDA1MDAyRTY3MDFDOTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjY1RkI3RTM0MDFFMzdEMjQyRDQzN0E0NzAxREYwMjY1RkI3QTM5QzA3RTM0MDFFMzdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDU3QTY5QjA3QTc5NzAwQjM1NzUzMTkzMTI3QzE1N0E3MTMxMTI3QzE1QkQwNDY4Mjk3QTA3MDFERjdFNDcwMUUxMkQ0MzdBNDcwMUUxMkUzNTQ2N0EzNTQ2MjIwOUIxMDAxNDIwRTAxMzIyN0UwNDAxRTM4MDJBN0UwNDAxRTM4MDJDN0UwNDAxRTM4MEQxRDIwNDdFMDcwMUUxN0UyNDAzRkU5RDIwMjg0MDdFMDcwMURGN0U0NDA1RTM3RDYwMEIwNEJEMDQ2OEQwN0Q3MDBCMDRCRDA0NjhDRTdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1ODlCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNEMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTUyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjU4OUJEQUI4MDI1OUU4MDlCMTAwMTg3RUEwODg3NTMxOTAxMjdDMTVGNTMxMTI3QzE1QTVGQzVFQjBGMEE1RkQwOUIxMDAxODRDNEI1RUIwRjBCQ0I1NzhGMTVFNDAwRjRDNTQ3Q0I1NUU1MDBCNjgyQUE1RkQ1RTUwMTA2ODA0RDI2RDgwMDJDMjZEQTVGRDVFNTAyMDY4MDREMjY1ODAwMkMyNjVBNUZENUU1MDgwNjgwNEQyNUQ4MDAyQzI1RDEyNDM2RDAyNjI5Mzc1MzE5MTEyN0MxNTA5QjEwMDE0N0FCMTMxMTI3QzE1MjBFMDA4RDIwNDdFQTA4MDAyNjI5M0QyMDQzMEUxMDY3RUEwODAxMjYyOTNDQUI4NUVCMDFDREFCODY4MTI3RUEwQzAwOTYxMDAwMDEyNjJCNjA5QjEwMDE0MjBFMERCMjIwMjU4RUQ3NTMxOTUxMjdDMTUyMjc1MzE5NjEyN0MxNTIyMTAwRTAxMjIyMDJFMDNEMjBFMjI3NTMxQTYxMjdDMTU3RTE0ODYwMDgwMDYyMDJFMDNEMjBFMjIwOUIxMDAxNENBQjg1RUIwMUVEQUI4NjgwMzEyNUQ0MDIwRTYwM0QyMEUyMjMwMzY0OUQyNzY3RTM3MDE5QjdFMjcwMUJCOUQzMjQwMzE3RDAyMkUwNTU0N0EwNTU0N0EzNzAxOUI3RTM3MDE3QjdENDMyRDQyQkU0NDI1RTIzODY4N0E0NzAxN0I3NTMxOTQxMjdDMTU3QTUxMzExMjdDMTUxMjY1MkIxMDc2QzQyMkMyNzYyRDIzNjg3ODZEMzM4MDFBN0UyNzAxOUJCRTI0MDAwMDY4NkFCRTI3MDFCQjI4MDQ3RTI3MDFCQjdFMzcwMTlCOUQzMjdEMDIyRTA1NTQ3QTA1NTQ3QTM3MDE5QjdFMzcwMTdCN0Q0MzJENDJCRTQ0MjVFMjM4MTM3QTQ3MDE3Qjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTAyNjUyQjc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTlFNDQyNUUzOUQyNDEyNjUyQjdFMzQyMUUzN0QyNDJENDM3QTQ3MDE3QjEyNjUyQkJFMjUyMDc4MDMwMjVBOEYyMkQyMEU3RTA0MjFFMzdBMDcwMTdCN0EwNzAxOEI3NTMxOTQxMjdDMTU3NTMxMDAxMjdDMTUyMjc1MzE5MjEyN0MxNUQyMDQwOUIxMDAxNENBQjg1NDgyREFCODc4NzA3RTM3MDFFMTdFMjcwMUNCMkUyNDAwMDIyRDMyQkUzNDA0MDAzODNDN0QwMjJFMDU0NjdBMDU0NjdBMzcwMUUxN0UzNzAxREY3RDQzMkQ0MkJFNDQwNUUyMzg0NDdBNDcwMURGN0UyNDA2MDAyRTI3MDFDQjFCMzgyMDBCMzU3QTUxMzExMjdDMTVCRTUwMzg3ODAzMDI2NjE2MDI2NUZCNzUzMTk5MTI3QzE1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNFMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTYyMjgwN0Q3QTUxMzExMjdDMTU5RTQ0MDVFMzlEMjQ3RTY0MDYwMDJFNjcwMUNCOUUyNDAwMDI0MDE3MUIzODYwMEIzNTEyNjVGQjdFMzQwMUUzN0QyNDJENDM3QTQ3MDFERjAyNjVGQjdBMzlDMDdFMzQwMUUzN0EzOUQwMEIzNDFCNDQ4MEU1OUQzMjdDQjY1NDBGMjMyMzIzNDQwNjdBNjlCMDdBNzk3MDBCMzU3NTMxOTMxMjdDMTU3QTcxMzExMjdDMTVCRDA0NjgyOTdBMDcwMURGN0U0NzAxRTEyRDQzN0E0NzAxRTEyRTM1NDY3QTM1NDYyMjA5QjEwMDE0MjBFMDEzMjI3RTA0MDFFMzgwMkE3RTA0MDFFMzgwMkM3RTA0MDFFMzgwRDFEMjA0N0UwNzAxRTE3RTI0MDNGRTlEMjAyODQwN0UwNzAxREY3RTQ0MDVFMzdENjAwQjA0QkQwNDY4RDA3RDcwMEIwNEJEMDQ2OENFN0Q1NDlENTBCRDI1NDAwMjdEMjU3RDMyMDlCMTAwMTRDQUI4NTQxRkI0MDEzMURBQjg3RTE5QjA3QTA5QjAwQjA0MUIyNDc4RTcwMjVCRjM3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0UwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNjIyREFCODMwRTBEOEJEMzI2ODA3Q0FCODEyNUJGM0RBQjgwMjVENDAwOUIxMDAxODdFQTA4ODc1MzE5MDEyN0MxNUY1MzExMjdDMTVBNUZDNUVCMEYwQTVGRDA5QjEwMDE4NEM0QjVFQjBGMEJDQjU3OEYxNUU0MDBGNEM1NDdDQjU1RTUwMEI2ODJBQTVGRDVFNTAxMDY4MDREMjZFODAwMkMyNkVBNUZENUU1MDIwNjgwNEQyNjY4MDAyQzI2NkE1RkQ1RTUwODA2ODA0RDI1RTgwMDJDMjVFMTI0MzhFMDI2MjkzNzUzMTkxMTI3QzE1MDlCMTAwMTQ3QUIxMzExMjdDMTUyMEUwMDhEMjA0N0VBMDgwMDI2MjkzRDIwNDMwRTEwNjdFQTA4MDEyNjI5M0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MkI2MDlCMTAwMTQyMEUwREIyMjAyNUM0NTc1MzE5NTEyN0MxNTIyNzUzMTk2MTI3QzE1MjIxMDBGMDEyMjIwMkYwM0QyMEYyMjc1MzFBNzEyN0MxNTdFMTQ4NzAwODAwNjIwMkYwM0QyMEYyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI2MDk4MjBFNjAzRDIwRjIyMzAzNzQ5RDI3NzdFMzcwMTlEN0UyNzAxQkQ5RDMyNDAzMTdEMDIyRTA1NTY3QTA1NTY3QTM3MDE5RDdFMzcwMTdEN0Q0MzJENDJCRTQ0MjlFMjM4Njg3QTQ3MDE3RDc1MzE5NDEyN0MxNTdBNTEzMTEyN0MxNTEyNjUyQjEwNzdDNDIyQzI3NzJEMjM2ODc4NkQzMzgwMUE3RTI3MDE5REJFMjQwMDAwNjg2QUJFMjcwMUJEMjgwNDdFMjcwMUJEN0UzNzAxOUQ5RDMyN0QwMjJFMDU1NjdBMDU1NjdBMzcwMTlEN0UzNzAxN0Q3RDQzMkQ0MkJFNDQyOUUyMzgxMzdBNDcwMTdENzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1MDI2NTJCNzUzMTk0MTI3QzE1N0E1MTMxMTI3QzE1OUU0NDI5RTM5RDI0MTI2NTJCN0UzNDI1RTM3RDI0MkQ0MzdBNDcwMTdEMTI2NTJCQkUyNTIwNzgwMzAyNURFNzIyRDIwRjdFMDQyNUUzN0EwNzAxN0Q3QTA3MDE4RDc1MzE5NDEyN0MxNTc1MzEwMDEyN0MxNTIyNzUzMTkyMTI3QzE1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg3MDdFMzcwMUUxN0UyNzAxQ0QyRTI0MDAwMjJEMzJCRTM0MDQwMDM4M0M3RDAyMkUwNTQ2N0EwNTQ2N0EzNzAxRTE3RTM3MDFERjdENDMyRDQyQkU0NDA1RTIzODQ0N0E0NzAxREY3RTI0MDcwMDJFMjcwMUNEMUIzODIwMEIzNTdBNTEzMTEyN0MxNUJFNTAzODc4MDMwMjY2MTYwMjY1RkI3NTMxOTkxMjdDMTUwOUIxMDAwNDU0RkExOUIxMDAwNDMwM0YwQTA5QjEwMDEwNTRGRTE5QjEwMDEwRDIxNzIyODA3RDdBNTEzMTEyN0MxNTlFNDQwNUUzOUQyNDdFNjQwNzAwMkU2NzAxQ0Q5RTI0MDAwMjQwMTcxQjM4NjAwQjM1MTI2NUZCN0UzNDAxRTM3RDI0MkQ0MzdBNDcwMURGMDI2NUZCN0EzOUMwN0UzNDAxRTM3QTM5RDAwQjM0MUI0NDgwRTU5RDMyN0NCNjU0MEYyMzIzMjM0NDA3N0E2OUIwN0E3OTcwMEIzNTc1MzE5MzEyN0MxNTdBNzEzMTEyN0MxNUJEMDQ2ODI5N0EwNzAxREY3RTQ3MDFFMTJENDM3QTQ3MDFFMTJFMzU0NjdBMzU0NjIyMDlCMTAwMTQyMEUwMTMyMjdFMDQwMUUzODAyQTdFMDQwMUUzODAyQzdFMDQwMUUzODBEMUQyMDQ3RTA3MDFFMTdFMjQwM0ZFOUQyMDI4NDA3RTA3MDFERjdFNDQwNUUzN0Q2MDBCMDRCRDA0NjhEMDdENzAwQjA0QkQwNDY4Q0U3RDU0OUQ1MEJEMjU0MDAyN0QyNTdEMzIwOUIxMDAxNENBQjg1NDFGQjQwMTMxREFCODdFMTlCMDdBMDlCMDBCMDQxQjI0NzhFNzAyNUY0Qjc1MzE5OTEyN0MxNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE3MjJEQUI4MzBFMEQ4QkQzMjY4MDdDQUI4MTI1RjRCREFCODAyNjA5ODA5QjEwMDE4N0VBMDg4NzUzMTkwMTI3QzE1RjUzMTEyN0MxNUE1RkM1RUIwRjBBNUZEMDlCMTAwMTg0QzRCNUVCMEYwQkNCNTc4RjE1RTQwMEY0QzU0N0NCNTVFNTAwQjY4MkFBNUZENUU1MDEwNjgwNEQyNkY4MDAyQzI2RkE1RkQ1RTUwMjA2ODA0RDI2NzgwMDJDMjY3QTVGRDVFNTA4MDY4MDREMjVGODAwMkMyNUYxMjQzQUYwMjYyOTM3NTMxOTExMjdDMTUwOUIxMDAxNDdBQjEzMTEyN0MxNTIwRTAwOEQyMDQ3RUEwODAwMjYyOTNEMjA0MzBFMTA2N0VBMDgwMTI2MjkzQ0FCODVFQjAxQ0RBQjg2ODEyN0VBMEMwMDk2MTAwMDAxMjYyQjYwOUIxMDAxNDIwRTBEQjIyMDI1RjlENzUzMTk1MTI3QzE1MjI3NTMxOTYxMjdDMTUyMjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2ODgwMDJDMjY4QTVGRDVFNTAyMDY4MDREMjYwODAwMkMyNjBBNUZENUU1MDgwNjgwNEQyNTg4MDAyQzI1ODAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2OTgwMDJDMjY5QTVGRDVFNTAyMDY4MDREMjYxODAwMkMyNjFBNUZENUU1MDgwNjgwNEQyNTk4MDAyQzI1OTAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2QTgwMDJDMjZBQTVGRDVFNTAyMDY4MDREMjYyODAwMkMyNjJBNUZENUU1MDgwNjgwNEQyNUE4MDAyQzI1QTAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2QjgwMDJDMjZCQTVGRDVFNTAyMDY4MDREMjYzODAwMkMyNjNBNUZENUU1MDgwNjgwNEQyNUI4MDAyQzI1QjAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2QzgwMDJDMjZDQTVGRDVFNTAyMDY4MDREMjY0ODAwMkMyNjRBNUZENUU1MDgwNjgwNEQyNUM4MDAyQzI1QzAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2RDgwMDJDMjZEQTVGRDVFNTAyMDY4MDREMjY1ODAwMkMyNjVBNUZENUU1MDgwNjgwNEQyNUQ4MDAyQzI1RDAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2RTgwMDJDMjZFQTVGRDVFNTAyMDY4MDREMjY2ODAwMkMyNjZBNUZENUU1MDgwNjgwNEQyNUU4MDAyQzI1RTAyNjI3RjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMTA2ODA0RDI2RjgwMDJDMjZGQTVGRDVFNTAyMDY4MDREMjY3ODAwMkMyNjdBNUZENUU1MDgwNjgwNEQyNUY4MDAyQzI1RjAyNjI3RjU0RjBDNEE1RkZDNEE1NEY3NTMxOTAxMjdDMTVGNTMxMTI3QzE1MjJDQTE5NUUyMDA3NENBMjdFNzQyOUUzQ0E3OTdBNzlBMDBCNzQ3QTc5QjAwQjc0REE3OTdFMzAwMjdFNjQwMDAyMDI2MkRFQ0ExOTVFMjAwNzRDQTI3RTc0MjlFM0NBNzk3QTc5QTAwQjc0N0E3OUIwMEI3NDdBNzk2MDBCNzREQTc5N0UzMDAzN0U2NDAwMDMwMjYyREVEMjA0N0UyNzAxRTEyRDI2QkUyNDA0MDAzODJFN0UwNzAxREY3RTQ0MDVFMzdFNzlBMDdBMDlBMDBCMDQwQjc0QkQwNDY4MjNBNURCRUY3QTI3MDFFMTdFMjU0NjJEMjY3QTI1NDY3QTA3MDFERkRBMTlDMkQ3MjI3NTMxOUExMjdDMTVEQTE5RDJENzIyN0UwNDAxRTM4MEQ3NDhCNjQ2MjU0NzFDNDkxNTQ0QzY0NEM2NDgxQjQ0QzY0OTU5NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ5NjA0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0QzBFNDk3RDRBNzQ0QzZENDRDNjQ0QzY0QjczNDRDNjRDQjE0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NENCODQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjRGNjY0Q0Q1NERDQzRGQzU0NEM2NDRDNjRFQ0I0NEM2NTAwOTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1MDEwNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTJCRTUwMkQ1MTI0NTMxRDQ0QzY0NEM2NTIyMzQ0QzY1MzYxNDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjUzNjg0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1NjE2NTM4NTU0N0M1Njc1NDRDNjQ0QzY1NTdCNDRDNjU2Qjk0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NTZDMDQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjU5NkU1NkRENTdENDU5Q0Q0NEM2NDRDNjU4RDM0NEM2NUExMTQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY1QTE4NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NUNDNjVBMzU1QjJDNUQyNTQ0QzY0NEM2NUMyQjQ0QzY1RDY5NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjVENzA0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY2MDFFNUQ4RDVFODQ2MDdENDRDNjQ0QzY1RjgzNDRDNjYwQzE0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NjBDODQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNjQ0QzY0NEM2NDRDNkNBMjkxRTUwNDAwRDdFNTQwQjEwOUNCNUE0MkU1NDY1NDg4OTU0N0UzOTAwN0ExOTAwMEIzNDgwRTkwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1MEIzODAwN0ExOTAwN0ExOTEwMEIzNTBCMzgwMDdBMTkwMDdBMTkxMDBCMzUwQjM4MDA3QTE5MDA3QTE5MTAwQjM1REEyOTIyMUU1MDQwMEQ3RTU0MEIxQzlDQjVBNDJFNTQ2NjE2ODk1NDdFMTkwMDdBMzkwMDBCMzQ4MEU5N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTdFMTkwMDdFMTkxMDFCMzgwMDBCMzU3RTE5MDA3RTE5MTAxQjM4MDAwQjM1N0UxOTAwN0UxOTEwMUIzODAwMEIzNTIyNjc5NjY5NjM2OTdCNkE0OTZBRTQ2QjhFNkJBOTZDM0I2QkM0NkMwNTY5OTY2OUFBN0NCM0JFQjAwQjI4MTQ3NTMxMDkxMjdDMTU3NTZEMTBDMEYxNzVGMTAxNDNFMUMwRDBGMTIyQzBBOEMyQUYyMzZDQUEyRTU0Njc0QjBCNTg1MDg5NTQwMTAyMDQwODEwMjA0MDgwNzUzMUIwMTI3QzE1MEEzMjA5QjM2NzhFNDIzMjE5NDMwMDM2RDBBODIyN0NCMjIzMEEzQjQ5MzM2N0NCMEEyMjA5MzIwMDM2MDlCMjY3OEVBNUJCMDAwNUY0NTIzMzgwMDI0MjMzODkzNDY3REI2ODA5NjgzNzY4NjU2ODkzNjhDMTY4RUY2OTFEMTI0MUI1RDIyOEQyMDhDMjQwQzI0OEMyMzhDMjMwNkQwMDdBMDMwMUNGN0UwNDAwMjA3QTA3MDFBRjdFMDQwMDM4N0EwNzAxQkYxMjQxMTYxMjYwQ0YwMjY5NEIxMjQxRDREMjI5RDIwOUMyNDFDMjQ5QzIzOUMyMzE2RDAwN0EwMzAxRDA3RTA0MDAyMDdBMDcwMUIxN0UwNDAwMzg3QTA3MDFDMTEyNDExNjEyNjEwNTAyNjk0QjEyNDFGM0QyMkFEMjBBQzI0MkMyNEFDMjNBQzIzMjZEMDA3QTAzMDFEMTdFMDQwMDIwN0EwNzAxQjM3RTA0MDAzODdBMDcwMUMzMTI0MTE2MTI2MTNCMDI2OTRCMTI0MjEyRDIyQkQyMEJDMjQzQzI0QkMyM0JDMjMzNkQwMDdBMDMwMUQyN0UwNDAwMjA3QTA3MDFCNTdFMDQwMDM4N0EwNzAxQzUxMjQxMTYxMjYxNzEwMjY5NEIxMjQyMzFEMjJDRDIwQ0MyNDRDMjRDQzIzQ0MyMzQ2RDAwN0EwMzAxRDM3RTA0MDAyMDdBMDcwMUI3N0UwNDAwMzg3QTA3MDFDNzEyNDExNjEyNjFBNzAyNjk0QjEyNDI1MEQyMkREMjBEQzI0NUMyNERDMjNEQzIzNTZEMDA3QTAzMDFENDdFMDQwMDIwN0EwNzAxQjk3RTA0MDAzODdBMDcwMUM5MTI0MTE2MTI2MUREMDI2OTRCMTI0MjZGRDIyRUQyMEVDMjQ2QzI0RUMyM0VDMjM2NkQwMDdBMDMwMUQ1N0UwNDAwMjA3QTA3MDFCQjdFMDQwMDM4N0EwNzAxQ0IxMjQxMTYxMjYyMTMwMjY5NEIxMjQyOEVEMjJGRDIwRkMyNDdDMjRGQzIzRkMyMzc2RDAwN0EwMzAxRDY3RTA0MDAyMDdBMDcwMUJEN0UwNDAwMzg3QTA3MDFDRDEyNDExNjEyNjI0OTAyNjk0QjdFQTBEMDdFNjAwRjEyNjJCNjQwMENDMEYxNzVGMTAxMTI2RkQ5RDBGMUMyRDcyMjc1MzFCMTEyN0MxNTBBNTIyMzZEMDA1OTA1MDA0ODEyNDE3RTEyNDE5QUQwQTgyMjc1MzFCMjEyN0MxNTBBMjIwOUIyNjc4RTQyMjM3RUIwOUMxOUIyMDFDRjEyMzE4NUQwQTgyMjc1MzFCNzEyN0MxNTBBMjIwOUIyNjc4RTQyMjQxMjM1M0REMEE4MjI3NTMxQjkxMjdDMTUwQTMyMDlCMzY3OEU0MjM0MTk0MzAwM0UxMjY5QzJEMEE4MjI3Q0IyMjMwQTBCN0NCNDIwRTAwNDZEMzM4MDA0NDkzMDAxOEY3RUEwRDhBNUVGQ0EwQkNBMjkxMjYyQjZEQTI5REEwQjQwNjI3NTMxQkExMjdDMTU3Q0I0MzBFMDFFNkQzMzU5MzAwMThGN0UzNDA5RTMwQTgyN0U5NDA0MDBBRDg5MkQzOTU5MzAwMTZGNTkzMDAxN0Y3Q0I0MzBFMTEwN0UwNDgwMDA0QzAyMDlCMDAwMDg0NDA0MTlCMDAwMDgwQTAyMDlCMDY3OEU0MjIxRjQ1MjM0N0NCMjIzMEEwQkNBMTk0OTAwMzBENTk5MDREQTE5QzBGMTc1RjEwMTEyNkZEOUQwRjFDMkQ3MjI3RTA0ODAwMDRDMDIwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA4MTkzMDAwMEM3Qzc0NUU3MDAxNjgxMjQ0NDBDQUI4MDlCMDAwMTA0NDAyMTlCMDAwMTBEQUI4ODAwMjU0QkY3Qzc0NUU3MDA4NjgwNDQ0MDg4MDAyNTRGNzA5MzAwMDBDQ0FCODc0QkYxOUIwMDAwQ0RBQjgxOUIwMDAwODE5MzAwMDBDMEE2MjA5QjY2NzhFM0UyMDBBNjI3Qzc0NUU3MDAyNjgyMDQyMjdDQUI4NzQ2MTE5QjAwMDA4N0U0NDAwMTA1OTQ2MDFCRjA5QjAwMDEwNDQwMTE5QjAwMDEwREFCODgwMTFGNDUyMjc3NEExMTlCMDAwMDg3RTQ0MDAzODU5NDYwMUJGRDBBODIyN0M3NDdFMDQ4MDAwNEMwMjBBNjIwOUI2Njc4RUE1RkRGNEE1RkVDQTI4M0UyMDBBNjJBNUVFNTIyNjdFNDQwMDIwNTk0NjAxQUZEQTI4MDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwODdDNzQ1RTcwMDE2ODBDNDQ4MENBQjhBNUVENDIyQURBQjg4MDBBNTQ3RkNBQjhBNUVFNTIyQURBQjg3Qzc0NUU3MDA4NjgwNDQ0MDI4MDAyNTRGRDE5QjAwMDA4MTkzMDAwMEM3Qzc0NUU3MDAyNjgxMEE1RUQ0MjI4NDIyNjdFNDQwMDA4NTk0NjAxQUY4MDA0QTVFRTUyMjg3Qzc0NUU3MDA0NjgxMEE1RUQ0MjI5NDIyNjdFNDQwMDA4NTk0NjAxQUY4MDBCQTVFRTUyMjk3Qzc0NUU3MDAyNzgwMDEyNDJBREQwQTgyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMTk0MDAwMTAxOTMwMDAwQ0QwQTgyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMTk0MDAwMTgxOTMwMDAwQ0QwQTgyMjc1MzFCNTEyN0MxNTdFMDQ4MDAwNEMwMjA5QjAwMDBDNDQ0MDE5QjAwMDBDRTU2RUI0MDcyMzA5QjAwMDEwNEVCMDAyMTlCMDAwMTAwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA0NTRGNzE5QjAwMDA0MTkzMDAwMENEMEE4MjI3NTMxQjYxMjdDMTU3RTA0ODAwMDRDMDJFNTZFQjQwNzE4MDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwNDQ0MDgxOUIwMDAwNDE5MzAwMDBDMDlCMDAwMEM1NEJGMTlCMDAwMENEMEE4MjI3NTMxQjQxMjdDMTU3QTIxMzExMjdDMTU3QTQxMzExMjdDMTUwQTMyMDlCMzY3OEU0MjM1MTI2QzVCRDBBODIyN0VCMDAxN0VBMEM4N0M2NDEyNjJCNjQwMTMwQTMyMDlCMzY3OEVGNDUyMzVDMEYxNzVGMTAxMTI2RkQ5RDBGMTIyNkM4QzZDRDM2RDFBNkQ2MTZEQTg2REVGNkUzNjZFN0Q3NTMxNTUxMjdDMTU3NTMxMDAxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE3RjdFMjcwMThGMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDBERTIzODBGMUIzNDc4RUM3QTE3MDE3RjdBMjcwMThGMDI0NjBGN0UxNDA5RTM4MEVCNzUzMTU1MTI3QzE1NzUzMTAxMTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODE3RTI3MDE5MTJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxMUUyMzgwRjFCMzQ3OEVDN0ExNzAxODE3QTI3MDE5MTAyNDk2NzdFMTQwREUzODBFQjc1MzE1NTEyN0MxNTc1MzEwMjEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTgzN0UyNzAxOTMyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTVFMjM4MEYxQjM0NzhFQzdBMTcwMTgzN0EyNzAxOTMwMjRDQkY3RTE0MTFFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDMxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4NTdFMjcwMTk1MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDE5RTIzODBGMUIzNDc4RUM3QTE3MDE4NTdBMjcwMTk1MDI1MDE3N0UxNDE1RTM4MEVCNzUzMTU1MTI3QzE1NzUzMTA0MTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxODc3RTI3MDE5NzJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxREUyMzgwRjFCMzQ3OEVDN0ExNzAxODc3QTI3MDE5NzAyNTM2RjdFMTQxOUUzODBFQjc1MzE1NTEyN0MxNTc1MzEwNTEyN0MxNTdBNjEzMTEyN0MxNTdBNzEzMTEyN0MxNTdFMTcwMTg5N0UyNzAxOTkyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjFFMjM4MEYxQjM0NzhFQzdBMTcwMTg5N0EyNzAxOTkwMjU2Qzc3RTE0MURFMzgwRUI3NTMxNTUxMjdDMTU3NTMxMDYxMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTU3RTE3MDE4QjdFMjcwMTlCMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDI1RTIzODBGMUIzNDc4RUM3QTE3MDE4QjdBMjcwMTlCMDI1QTFGN0UxNDIxRTM4MEVCNzUzMTU1MTI3QzE1NzUzMTA3MTI3QzE1N0E2MTMxMTI3QzE1N0E3MTMxMTI3QzE1N0UxNzAxOEQ3RTI3MDE5RDJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQyOUUyMzgwRjFCMzQ3OEVDN0ExNzAxOEQ3QTI3MDE5RDAyNUQ3NzdFMTQyNUUzODBFQkNBQjhDMEYxNzUzMTAyMTI3QzE1RTVDMDU0MDM2ODA1MTI3NUNEODBGNTMwQzIwODc1RjEwMTEyNkZEOTgwMTQzMEMzMDg3NUYxMDExMjZFRkQ4MDA5MzBDNDA2NzVGMTAyMTI3MEU5RDBGMURBQjgzMjc1MzExMDEyN0MxNUNBMEJDQTM5Q0E1OUMyQzNBOTIxRTI1Q0U1RTU1NEMwNjg0RkU1RTY2Q0FBN0UzNzAxREIyRDM1QkUzNDA0MDAzODRBN0EzNzAxREI3RTM3MDFEOTdENDMyRDQ1QkU0NDA5RTIzODQwN0E0NzAxRDk3NTMxMTExMjdDMTU3QUIxMzExMjdDMTUxMjcxQjhBOTIxRTUxRkE5RDRFNEE5MjRFNEZDQzJDM0E5MjFFMjNCRTVFNTU0QzA3OEI0MTI3NDVBREE1OURBMzlEQTBCMjI4MDI5ODA1ODc1MzExNjEyN0MxNTgwRUQ3NTMxMTIxMjdDMTU3QUIxMzExMjdDMTU5RTQ0MDlFMzlENTQxMjcxQjg3RTM0MDVFMzdENTQyRDQzODBBMUU1RTU1NDAzNzgxMjc1MzExMzEyN0MxNTdFMEYyOUZGMEIwQzdBMEYyOUZGODBBNzc1MzExNDEyN0MxNTdFMEYyQTAzMEIwQzdBMEYyQTAzQTlEN0U0QTkyN0U0RkM4MDlENzUzMTE1MTI3QzE1N0UwRjJBMDcwQjBDN0EwRjJBMDc4MEU1NzUzMTE4MTI3QzE1Q0EwOUNBMzlDQTJCQzJDMkE5MjFGMjUyRTVGNTMzODJFNzQwNDQ3RTM3MDFFMTdFNTQwMDQwOUQzNTQwNDM3QTM3MDFFMTdFMzcwMUREN0Q0MzJENDVCRTQ0MDVFMjM4NTI3QTQ3MDFERDdENDUxMjczMTZBOTIwRjUyMjc1MzExOTEyN0MxNTdBOTEzMTEyN0MxNTdBODFGNzdBOTFGNkU1RjUzMzgyRTc1MEJDREEyQkRBMzlEQTA5MjI4MDQxODA2NDJENTM2RDMzNzBCNzdFMDQwMUUzN0EwNzAxREY3QTA3MDFEREE5MzJGMkRGODUzMDMxMTI3QzE1NzVGNjAwODBENENBNTk5RTQ0MDVFMzlENTQxMjczMTY3RTM0MDFFMzdENTQyRDQzN0E0NzAxREQxMjczMTZEQTQ5ODA5OUU1RjU1NDAzNzgxRjdFMEYyOUVGMEIwQzdBMEYyOUVGODA5RDdFMEYyOUY3MEIwQzdBMEYyOUY3QTlEN0Y0QTkyN0Y0RkM4MDhBN0UwRjI5RjMwQjBDN0EwRjI5RjM4MEVCRTVGNTU0MDM3ODFGN0UyRjJBMEYwQjJDN0EyRjJBMEY4MDM0N0UyRjJBMTcwQjJDN0EyRjJBMTdBOUQ3RjRBOTI3RjRGQzgwMjE3RTJGMkExMzBCMkM3QTJGMkExMzgwRUJEQTJCREExQkRBMEIyMjc1MzEyODEyN0MxNUNBMEJDQTFCQ0EyQkMyQzRBOTIxRjJCNkU1RjUzMzcyRTc0MEUwN0UwRDQ2N0UxRDRBN0UyRDRFN0UzRDUyN0U4NTU2N0Q5MDREOTE0RDkyNEQ5MzREOTQ0RDk1NEQ5NjREOTc0RDk4Njg3MjdBMTFGMzdBMDFGMzdBMzFGMzdBMjFGMzdBNTFGMzdBNDFGMzdBNzFGMzdBNjFGMzdBOTFGMzdBODFGMzMwN0IxQTdBQjFGMzdBQTFGMzdBRDFGMzdBQzFGMzdBRjFGMzdBRTFGMzdENzg3QUYxRjM3QUUxRjNBOTMwRjUwMzAyNzBENjc1MzEyOTEyN0MxNTIwN0IwQjc1MzEwQTEyN0MxNTc1RjYwQTgwMDk3NTMxMTIxMjdDMTU3NUY2MTI2RDAwN0QxMDdBMEQ0NjdBMEQ0QTdBMEQ0RTdBMEQ1MjdBMDU1NkRBMkJEQTFCREEwQjIyMUVCMDQwMEM3RUEwMEFBNDdFMDQ3MkZCOUQwNTg5MDQ3RUExRTM3QTM5QTAwQjM0ODBFQUI0NDBFMzdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzU3RUExRTNFNUUzMUIzODUwMEIzNTdFQTFFM0U1RTMxQjM4NTAwQjM1N0VBMUUzRTVFMzFCMzg1MDBCMzUyMjFFQjA0MDBDN0VBMDBBQTQ3RTA0NzQ1OTlEMDU4OTA0N0UzOUEwN0FBMUYzMEIzNDgwRUFCNDQwRTMwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MEIzODUwN0FBMUYzRjVGMzBCMzUwQjM4NTA3QUExRjNGNUYzMEIzNTBCMzg1MDdBQTFGM0Y1RjMwQjM1MjJDMkFGN0UzNzAxREI0RDMzNjgzQjdFMDcwMUQ3N0U1NDA5RTM5RDUwQkQzNTQwMDI3RDM1Q0EzOTdFNjU2MTk5NjREQTM5N0UwNzAxREI5RDAzN0EwNzAxREIyRTM3MDFENzdBMzcwMUQ3QkUzNDA5RTIyOEM3N0UzNDA1RTM3QTM3MDFENzgwQkREMkFGMjI3NTMxNTMxMjdDMTU3RTE1NjM4MDExNzUzMTUxMTI3QzE1MEIwODEwMEIwNTlFMzQwMDAyMjg0RDdDQjIyMEU3Mjc1NDA3MjMwQTJCNDkyMjZDN0M3Q0IyNTQ3ODAzMDMwMzdDMkI5RDEzNDAxQTY4MTI3QTE1NjM3QTI1NjU3RTY0NzUzNzdBNjU2MTg5MjQwMjc1NDU3RTY0NzRBRDgwRjIyRDEzOUQzMUNBMzk3RDMxMkQxMENBMTlDQTI5OTkyNERBMjlEQTA5REEzOTgwQTI3QTE1NjM3RTY0NzUyMzREMzM3ODA5N0NCMjIwRTcyQTdFNjQ3NEEyN0E2NTYxMjI3NTMxNTIxMjdDMTU3RTIxNjM3RTA5MzAwQjA0MUIzNDc4ODk4MEQ0NzUzMTU0MTI3QzE1N0UxNTYzN0UyNTY1ODA5MDVFMjAwNzU0Nzg3RTQ0NzVDMTMwRTYxNjREMzM2ODI2MUIzNDdFMDk0MDBCMDQ3RTQ0Njc2MzIwRTMwNDdFNDQ3NUM5Q0EwOUNBMzk5OTQ0REEzOURBMDk3RTY0NzRBRDREMzM2OEE2ODk2NDdBMTU2M0Y1NjU3RTY0NzU4NjgwOTk3RTE1NjNFNTY1ODBDNEMwRDBDMEQxQzBFMENBMTlBOTIwREYxMkE5MjFERjFCNzUzMTAxMTI3QzE1NTNERkY3MTI0MERDODAwRDc1MzFGRTEyN0MxNTdFMTQwMDUzMDI0MDUxREExOUQwRTBEMEQxRDBEMDMyMDNBNUNCMTlCMTgwMDAyMjIyMDI3NjQyQ0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCQzBGMTdFQjMyQTMzQjQwMDAyODAxOUI0MDExNjMwQzAwODc1RjEwMDEyNzYyQzgwMUYzMEMxMUM3NUYxMDAxMjc2QkQ4MDE0MzBDMTA4NzVGMTAwMTI3NkJEODAwOTMwQzAwNjc1RjEwMDEyNzYyQ0QwRjFEQUVCREE3QkRBNkJEQTVCREE0QkRBM0JEQTJCREExQkRBMEIyMkMyQzA3RUIzMkEzM0I0MDIwNzEyNzY0RTAyNzY0MjIyQjQwMUZDMDI3Njg4N0UwMDAwN0EwMzJBMzM3QTAzMkEzNDIyN0VCMzJBMkI1NDYwNjAwNUI0NDAxNTgwMTM3RUIzMkEyQ0I0MDUwQzc1MzE3MTEyN0MxNTdFQjMyQTJFRjU4RjIyNzVGNjAwMjJCRTU3MkEzMTI4MDQ3RTU3MkEzMTdBMEYyQTM2N0E1NzJBM0EwMjc2ODg3RUVGMkEzNjdFRjcyQTNBN0UwNzJBM0E0RDAwNjgyMTdFMDAwMDdFRUJCMEY1RjNBM0E1MDgxQkY0NjgwNEE1QjgwOEYwN0FFRjJBMzY3QUY3MkEzQTc1MzEwNjEyN0MxNTdBMDFGNjIyQzJDMTc1MzEwMzEyN0MxNUE5MzZFMjE2RTVGNTU0QzA2ODA3QTlEN0Y0QTkyN0Y0RkM1M0UxM0Y0M0YyODgwMjc3Mjk3RUIzMkEzNEI0MDIwNEE5RDRFNDIyQjQwMTM5N0UyMUU2N0MzMjdFMTMyQTM1MkMyMTdBMjMyQTM1N0UwMDAwMkUwNDJBM0NFNUUzN0EwOUIwMEIwNEE1REJGNkE5RDRFNDc1MzE3MDEyN0MxNTdFQjMyQTM1N0VBMzJBMzJCQ0FCNzgwMzEyNzdDMDIyMDI3QjI5RTVFNkI0MDg2NUE5QzRFMjdFMDFFMzdFMTFFMzdFMzFFMzdFMjFFMzdFNTFFMzdFNDFFMzdFNzFFMzdFNjFFMzdBMEYyQTJCN0ExRjJBMkY3NTMxMDQxMjdDMTU3QTAxMzExMjdDMTU3QTExMzExMjdDMTU3QTIxMzExMjdDMTU3QTMxMzExMjdDMTU3QTQxMzExMjdDMTU3QTUxMzExMjdDMTU3QTYxMzExMjdDMTU3QTcxMzExMjdDMTVBOUQ0RTRBOUQ3RjRBOUM2RTIxMjc3OTQyMjZEMDA3RTE0MDEwMjdBMDcyQTNBN0EwMzJBMzU3RUIzMkEyQjIwRTcwRjdBMjMyQTM0N0EzMzJBMzNCRTA3MkEzMTY4MDkyMjdBMzMyQTM0N0EyMzJBMzM3RUIzMkEyQjU0RTMyMzIzMzBFMDAyRDJFNTMwRTcwMkQyRTQzMEU1MDYzMEU0MDMwMjdCMjk1NDNFRjVGMDAzNTQxRkMzMjVGMDkwNzdFQzc1ODRGRjczMDI3OTQwMDI3ODM0MDI3OUREMDI3OUY4MDI3OEQ5MDI3ODlBMDI3QTExMDI3QTExMDI3QTE0MDI3QTE0MDI3QTE0MDI3QTE0MDI3QTE0MDI3QTE0MDI3QTE0MDI3QTE0MDI3QTFBMDI3QUNFMDI3QTE3MDI3QTE3MDI3QTE3MDI3QTE3MDI3QTE3MDI3QTE3N0VCMzJBMkNCNDA2MkE3RUIzMkEyRDYwNTY3QzBCN0UxMzJBMkU3RTE3MkEyRjc1MzE3MjEyN0MxNTdBMDEzMTEyN0MxNTdBMTEzMTEyN0MxNTEyN0IzMzQwMzUwMjc2NzNCNDA4MTA3NTMxNzQxMjdDMTU3RUIzM0ZGMUY1RjM3NUY2MDEyMkI0MDAxQzc1MzE3NTEyN0MxNTdFQjMzRkYyMzBFMDA1NzVGMzAyODAwMzc1RjMwMDc1RjMwMDc1RjYwMjIyMDI3QjI5N0VCMzJBMkNCNDAwMzU3NTMxNzYxMjdDMTU3RUIzMkEzMDU0MEZGNUYxN0VCMzJBMzAyMEU3MDlFNUUxMzBFNzBENzQwMTgwMEJFNUUxMzBFNjA0NzQwMTgwMDI3NDAwNTNGMTgwRjVGMzc1RjMwMDc1RjYwMjIyMDI3QjI5QzBGMTdFQjMyQTMwNTQwRjQyRjE3RUIzMkEyRUI0MDA0NTdFQjMyQTJDQjQwMTI0NzUzMTc3MTI3QzE1N0VCMzJBMzA1NDBGNzgwNTUzRTEzRjgwMzc3RUIzMkEzMDIwRTcwNTUzRTE3RjgwMkI1M0UxQkY4MDI2QjQwMzE3NzUzMTc4MTI3QzE1N0VCMzJBMzAyMEU3MDU0M0UxODA4MDExNDNFMTQwODAwQzQzRTFDMEQwRjE3NTMxMDcxMjdDMTUyMkQwRjEwMjc2NkY3RUIzMkEyQ0I0MDkyMzc1MzE3OTEyN0MxNTdFQjMyQTJFQkVCMzNGRjE2ODExQ0FCOEMwRjExMjQzRDREMEYxREFCODUwNzY3QUIzM0ZGMTgwNkRCNDA1MDg3NTMxN0ExMjdDMTU4MDYyQjQwMzE5NzUzMTdCMTI3QzE1N0VCMzJBMkVCNDAxNTU3RUIzM0ZGMjQ0MDE3QUIzM0ZGMjgwNDZCNDAxMTk3NTMxN0MxMjdDMTU3RUIzMkEyRUI0MDEzOTdFQjMzRkYyNTRGRTdBQjMzRkYyODAyQUI0MDcyQTdFQjMyQTJENjAyNDdDMEI3RTEzMkEyRTdFMTcyQTJGNzUzMTczMTI3QzE1N0EwMTMxMTI3QzE1N0ExMTMxMTI3QzE1MTI3QjVGNDAwMzAyNzY2RjAyN0IyOTdFQjMyQTJDQjQwQkY2NzUzMTdEMTI3QzE1N0VCMzJBMkU3RUEzMkEzMDRDQUI3OEU0ODBERjdFQjMyQTJDQjQwQURCNzUzMTdFMTI3QzE1N0VCMzJBMkU3MENGRjVGMzc1RjYwMTIyMDI3QjI5MDI3QjI5MDI3QjI5N0VCMzJBMkNCNDA0MjA3NTMxQzMxMjdDMTU3RTA0MDAwMTdFMTcyQTJEN0UxODJBM0M3QTFDMDAwMDdFNDcyQTMxMTI3QzIxMDI3QUM4QjQwNjNBNzUzMUMxMTI3QzE1N0U1ODAwMDA3QTVDMDBGRTdEQ0E3RUQ3MkEyRDdFNzgyQTNDN0E3QzAwMDA3RTc3MkEzMTc1MzFDMTEyN0MxNUMwQThDMDg3QzJBRkE5RDU4NzEyN0M1QUQwODdEMEE4NDA0RjgwNEFCNDAwMUNDMkFGQTlENTg3MTI3NjZGRTQ4REVGOERFRjhERUZENUUwRjdDMEQxQ0EwMkZGQ0EwNjAwMDAzMkI0MDkxMjdFNTcyQTJENEQ1NTY4MDVBOUQyQjE4MDAzQTlDMkIxODAxNkI0MDcxNkMyQUY3RTA3MkEyRjdFMTcyQTJEQzBEMUNBMThDQTM4Q0EyODMyMDI3NjZGMDI3QjI5N0VCMzJBMkNCNDAzMTU3NTMxQzIxMjdDMTU3RTA0MDAwMTdFMTcyQTJEN0U1NzJBMzEwMjc2NzNCNDA1Mzk3NTMxQzAxMjdDMTVDMEE4QzA4N0MyQUZBOUQ1ODc3RTA4MkEzQzdBMEMwMDAwN0UyNDAwRkU3RTM3MkEyRDdFNDcyQTMxMTI3QzIxRDA4N0QwQTg3RTA4MkEzQzdBMEMwMDAwN0U1NzJBMzEwMjc2NzMwMjdCMjk3NTMxMDcxMjdDMTU0M0UxQzAyMkMwQThDMDg3QzJBRkE5RDU4NzEyN0I5RTQwMTk3RTA4MkEzQzdBMEMwMDAwQ0EwQkNBNDkxMjdDMjFEQTU5REEwQkQwODdEMEE4QzMyMkQwODdEMEE4MjJDMEE4QzA4N0MyQUZBOUQ1ODcxMjdCOUU0MDJCN0U1ODAwMDA3QTVDMDBGRTdGNjE3RTc4MkEzQzdBN0MwMDAwN0U3NzJBMzFCRDc0NzgxMTc1MzFDMTEyN0MxNTEyN0M1QTQwMDZEMDg3RDBBOEMzMjJEMDg3RDBBOEQzMjI3RTI0MDBGRTdFMzQ3RkNBMEIxQTUwQzVGMDdENjI3RDc1N0Q4NzdFMzQ3RkMyN0UxQkIwN0UzNDdGMDNCNDAxMDQ3RTM0N0ZDQzdFMUJCMEJDMEI1MDQ5M0UwMDNFMDAwQTUwMkQ3NTBCM0EzMDY5NTMwMDAyQkQzODUwMDIyRDM4QkMxQjUwMzAzRTEwM0UxMDBBNTEyRDM1Njk0MTAwMDIwQjFBMzBCRDM4NTAwMjJEMzhCRTQ0RkZGRjc4MDU3RTFCOTAwQTQ5NEQ0NDY4MENCRTQ0MDBGRjI4MDQ3RTQ0MDBGRkMzMjJEMzIyRkEKKzowMDA0N0ZDNjAwMDExMDA0MDBBMgorOjAxNEE3QzE1MDBDQTA4N0UwMTMxN0EwMzNGRjBEQTA4MjI3RTFCQzA3QTBCQzAwQjE0MEIzNDFCNDQ3OEYyMjI3RjZGN0ZGMDFCRkM3QzU0N0QzMjgwMDhDQTFCQ0ExQkNBMUJDQTFCOUU0NDAwMTA1MEYyMkU0NDAwMTA2ODA2Q0E0ODFCNDQ3OEZBN0ZGNjg5RTRDQTZCNUVENDAwM0Y2ODIwN0U4NDAwNDA5RDhEREE2QkJEODczODE2Q0E3OTdENzgxMjdDODREQTc5NDAwODlENzg2ODAyODAwNUMyRDcyMkRBNkI0MzkwMzA3NEFBMzlCNTU1NTU3NDU1MzlCNTJBQUE3NEEwMzlCNTU1NTU3RTA0MDA0MDlENzA1MDA2MkQ3MDdEMDc2RDc3N0MzMTdFN0IwMDdBNkIwMDBCN0MwQjZDQTVEOUYzN0YxNjFCMUM3RTU0MjcxMDdFMUIxMEJDMTA2ODA2MUI1NDc4RjU4MDJDNkQwMDdDMjA3RjE2OUYxMDdGMjc5RjIwN0UyQjAwN0UxQjEwQkMwMTc4MTYwQjJDMEIxQ0E1REJFRjdDQjYyMEUwMDM2MzkwMzA0RDc3Nzg5M0MyRDcyMkQyRDcyMjAwMDQwMDA0NDIwODA2MDQwMjA0MDAwMjAxMDQwMTAyODIwODAwMDAwMDAwMDAwMDAyMDIwMjAyMDIwNDAyMDgxMDAyMTAwNDAyMDgwMDAxMDEwODAwMDEwMDAyMDAwMjAyMDgwMjA0MjAwNDdFMTg3RkJEN0ExQzAwRkUwQjFBMDA1RTEwMUZCRTEwMUEzODFBMEE1MTIzN0UxODdDRkE3QTFDMDBGRjJEMzUwQjFBNTA2MDA4QTVCODAyMDM0RUEwMDgyMjgwRkU3MworOjAwMDAwMDAwMDFGRgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCisvLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2CisvLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24yLkgxNiBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24yLkgxNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjRiNGZmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bjIuSDE2CkBAIC0wLDAgKzEsMjkgQEAKKzowMDA0MDAwMDAwMDIwMDAwMDNGNworOjAwMDIwMDAwMDQwMEZGRkIKKzowMDA2MDAwMDAwMDIwMDgwMDI0NTE0MUQKKzowMDAzMDAwQjAwMDI0NEE1MDcKKzowMDAzMDAxMzAwMDI2M0FCREEKKzowMDAzMDAxQjAwMDIwMDFCQzUKKzowMDAzMDAyMzAwMDIwMDIzQjUKKzowMDAzMDAyQjAwMDIwMDJCQTUKKzowMDAzMDAzMzAwMDIwMDMzOTUKKzowMDAzMDAzQjAwMDIwMDNCODUKKzowMDAzMDA0MzAwMDIwMDQzNzUKKzowMDAzMDA0QjAwMDIwMDRCNjUKKzowMDAzMDA1MzAwMDI2NzVGRTIKKzowMDAzMDA3QjAwMDIwMDdCMDUKKzowMDA3MDA4MDAwN0UxNDAwMDAwMjQwNTI1MworOjBCNjYzMDAwMDAxMjMwNjQxMjMwRkYxMjMxMkYxMjMwQjA4MEYyRTUyMzYwMTk3RTE0MDAwMDA5QjEwMUI5QjQwMDAyODAwNTE0MTlCMTAxQjlBNTBBQkUyMTJFNzhFQjIyQzJBRjdFQjMzRkYxQjQwMTAzMTI2NTY3RDJBRjIyQzJBRjdFQjMzRkYxQjQwMTFENzQ0MDdBQjM5MTAwN0VCMzkxMUE2Q0FBNjAwRkNBMEJDQTM5Q0E1OTEyNjQyNERBNTlEQTM5REEwQkQyQUYyMkMyQUZFNTIyNjA0MzdFMDcwMUNCQkUwNDAzODAzODM5N0UwNDgwMDA3RTIwMDAxMzUwMjEwOUEwMDAwNDRFQTAwNTE5QTAwMDA0MEEzMjA5NTMzNTMzNUU1MTI3NjgwQjA5QTAwMDEwNEVBMDAxMTlBMDAwMTAyRTA0MDEwMEE1MEFCRTIxMkU3OEQxNzUyMjAwRDJBRjIyQzJBRkU1MjY2MDM2N0UyMDAwN0UzMDAxRTUyNkE1NUI2ODIxN0NCMjIzMEEyQjQ5MzIwMTc5QkUzNDAwMDA2ODEyN0VCMTIxQTU0QjdBQjEyMUNBMTk0OTIyMzBFRjk5MjREQTE5M0UzMEE1MEFCRTIxMkU3OEQwRDJBRjIyNDY0RjQ5N0M0Q0E5NEZENjUzMDM1NjMwNTk1RDVDOEFDMkFGRTUyNDYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTFDREFCOEE1MEFCRTIxMkU3OEVGRDJBRjIyQ0EyODEyMzU0Q0RBMjg0MDA5MEEyMjA5QjIzNTMzRjQ1MjI0MjJDMkFGRTUyMzYwMTQ3RTIwMDAxMzUwMDdDQUI4MTIzMTRDREFCOEE1MEFCRTIxMkU3OEVGRDJBRjIyN0NCMjIzMEEyQjQ5MjIzMTU3ODkyNDMxNjczMUQwMzIzOTMyQTIzMzBCMzM3NDMzREQzNDQ2N0UyNzAxNzlCRTI0MDAwMDc4MjQ3RTI0ODAwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjQ5NDU3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE4OTY4MEQ3QTI3MDE4OTdFNjA5QzdBNjMwMUI5ODAyNzdFNjMwMUI5QTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxODZDMDA3QTAzMDFCOTEyNjQ4NjIyN0UyNzAxN0JCRTI0MDAwMDc4MjQ3RTI0ODEwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjRDNzI3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE4QjY4MEQ3QTI3MDE4QjdFNjA5QzdBNjMwMUJBODAyNzdFNjMwMUJBQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxOTZDMDA3QTAzMDFCQTEyNjQ4NjIyN0UyNzAxN0RCRTI0MDAwMDc4MjQ3RTI0ODIwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjRGOUY3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE4RDY4MEQ3QTI3MDE4RDdFNjA5QzdBNjMwMUJCODAyNzdFNjMwMUJCQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxQTZDMDA3QTAzMDFCQjEyNjQ4NjIyN0UyNzAxN0ZCRTI0MDAwMDc4MjQ3RTI0ODMwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjUyQ0M3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE4RjY4MEQ3QTI3MDE4RjdFNjA5QzdBNjMwMUJDODAyNzdFNjMwMUJDQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxQjZDMDA3QTAzMDFCQzEyNjQ4NjIyN0UyNzAxODFCRTI0MDAwMDc4MjQ3RTI0ODQwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjU1Rjk3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE5MTY4MEQ3QTI3MDE5MTdFNjA5QzdBNjMwMUJEODAyNzdFNjMwMUJEQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxQzZDMDA3QTAzMDFCRDEyNjQ4NjIyN0UyNzAxODNCRTI0MDAwMDc4MjQ3RTI0ODUwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjU5MjY3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE5MzY4MEQ3QTI3MDE5MzdFNjA5QzdBNjMwMUJFODAyNzdFNjMwMUJFQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxRDZDMDA3QTAzMDFCRTEyNjQ4NjIyN0UyNzAxODVCRTI0MDAwMDc4MjQ3RTI0ODYwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjVDNTM3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE5NTY4MEQ3QTI3MDE5NTdFNjA5QzdBNjMwMUJGODAyNzdFNjMwMUJGQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxRTZDMDA3QTAzMDFCRjEyNjQ4NjIyN0UyNzAxODdCRTI0MDAwMDc4MjQ3RTI0ODcwMDA5QjIwMDE0Q0FCODVFQjAxRURBQjg2ODBCQ0ExOTdEMTIxMjVGODA3RDIxREExOTMwRTYxODdFNjAwMDgwMUVCRTI3MDE5NzY4MEQ3QTI3MDE5NzdFNjA5QzdBNjMwMUMwODAyNzdFNjMwMUMwQTVCRTAwMUY3RTYwMDE3RUIwMDA3RUEwQzgxMjYxMzY0MDExNzUyRkIzMTI3MzM1QzIxRjZDMDA3QTAzMDFDMDEyNjQ4NjIyQzJBRjdFMDcwMUNCQkUwNDAwMDA3ODI4NzQyMDdBQjM5MTAwN0VCMzkxMTUzMEU1MUI3RUIzOTExQUJFQjAzRjM4MEM4NTMxMkYxMjczMzU3NDgwN0FCMzkxMUU3NDIwN0FCMzkxMTVEMkFGMjIzNTNCMzZFODM3MDAzNzFCMzdCNjM4NEUzODY5MzhGQjM4ODQzOEM1N0NCM0JFQjAwOTI4MjI3NTJGMDkxMjczMzU3NTU3MDI3NDIwN0FCMzkxMDA3NDAxN0FCMzkxMTE3NDQwN0FCMzkxMDA3NDAxN0FCMzkxMTEyMkMwQThDMkFGMjM2Q0FBMkU1NDM0RTYwQjU4NTA4OTU0MDEwMjA0MDgxMDIwNDA4MDc1MkZCMDEyNzMzNTBBMjIwOUIyMzUzMzQyMjREMEE4MjI3Q0IyMjMwQTNCNDkzMzM1NTc4OTM0MzU2NzM1OTUzNUMzMzVGMTM2MUYzNjREMzY3QjM2QTkxMjQxQkFEMjI4RDIwOEMyNDBDMjQ4QzIzOEMyMzA2RDAwN0EwMzAxQjk3RTA0MDAyMDdBMDcwMTk5N0UwNDAwMzg3QTA3MDFBOTEyNDEyNzEyNUZCNzAyMzZENzEyNDFEN0QyMjlEMjA5QzI0MUMyNDlDMjM5QzIzMTZEMDA3QTAzMDFCQTdFMDQwMDIwN0EwNzAxOUI3RTA0MDAzODdBMDcwMUFCMTI0MTI3MTI1RkUwMDIzNkQ3MTI0MUY0RDIyQUQyMEFDMjQyQzI0QUMyM0FDMjMyNkQwMDdBMDMwMUJCN0UwNDAwMjA3QTA3MDE5RDdFMDQwMDM4N0EwNzAxQUQxMjQxMjcxMjYwMDkwMjM2RDcxMjQyMTFEMjJCRDIwQkMyNDNDMjRCQzIzQkMyMzM2RDAwN0EwMzAxQkM3RTA0MDAyMDdBMDcwMTlGN0UwNDAwMzg3QTA3MDFBRjEyNDEyNzEyNjAzMjAyMzZENzEyNDIyRUQyMkNEMjBDQzI0NEMyNENDMjNDQzIzNDZEMDA3QTAzMDFCRDdFMDQwMDIwN0EwNzAxQTE3RTA0MDAzODdBMDcwMUIxMTI0MTI3MTI2MDVCMDIzNkQ3MTI0MjRCRDIyREQyMERDMjQ1QzI0REMyM0RDMjM1NkQwMDdBMDMwMUJFN0UwNDAwMjA3QTA3MDFBMzdFMDQwMDM4N0EwNzAxQjMxMjQxMjcxMjYwODQwMjM2RDcxMjQyNjhEMjJFRDIwRUMyNDZDMjRFQzIzRUMyMzY2RDAwN0EwMzAxQkY3RTA0MDAyMDdBMDcwMUE1N0UwNDAwMzg3QTA3MDFCNTEyNDEyNzEyNjBBRDAyMzZENzEyNDI4NUQyMkZEMjBGQzI0N0MyNEZDMjNGQzIzNzZEMDA3QTAzMDFDMDdFMDQwMDIwN0EwNzAxQTc3RTA0MDAzODdBMDcwMUI3MTI0MTI3MTI2MEQ2MDIzNkQ3N0VBMEQwN0U2MDBGMTI2MTM2NDAwNTEyNjQ4NkMyRDcyMjc1MkZCMTEyNzMzNTBBNTIyMzZEMDA1OTA1MDAzMjEyNDE4MzEyNDE5RkQwQTgyMjc1MkZCMjEyNzMzNTBBMjIwOUIyMzUzMzQyMjM3RUIwOUMxOUIyMDFCOTEyMzE0Q0QwQTgyMjdFMDQ4MDAwNEMwMjA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDgxOTMwMDAwQzdDNzQ1RTcwMDE2ODEyNDQ0MENBQjgwOUIwMDAxMDQ0MDIxOUIwMDAxMERBQjg4MDAyNTRCRjdDNzQ1RTcwMDg2ODA0NDQwODgwMDI1NEY3MDkzMDAwMENDQUI4NzRCRjE5QjAwMDBDREFCODE5QjAwMDA4MTkzMDAwMEMwQTYyMDlCNjM1MzMzRTIwMEE2MjdDNzQ1RTcwMDI2ODIwNDIyN0NBQjg3NDYxMTlCMDAwMDg3RTQ0MDAxMDU5NDYwMUE5MDlCMDAwMTA0NDAxMTlCMDAwMTBEQUI4ODAxMUY0NTIyNzc0QTExOUIwMDAwODdFNDQwMDM4NTk0NjAxQTlEMEE4MjI3Qzc0N0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMwOUIwMDAwODdDNzQ1RTcwMDE2ODA0NDQ4MDgwMDI1NDdGN0M3NDVFNzAwODY4MDQ0NDAyODAwMjU0RkQxOUIwMDAwODE5MzAwMDBDMEE2MjA5QjYzNTMzQTVGREY0QTVGRUNBMjgzRTIwMEE2MkRBMjg3Qzc0NUU3MDAyNjgxMEE1RUQ0MjI4NDIyNjdFNDQwMDA4NTk0NjAxOTk4MDA0QTVFRTUyMjg3Qzc0NUU3MDA0NjgxMEE1RUQ0MjI5NDIyNjdFNDQwMDA4NTk0NjAxOTk4MDE1QTVFRTUyMjk3Qzc0NUU3MDAyNzgwQTUyMjY3RTQ0MDAyMDU5NDYwMTk5MTI0MkEyRDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMxOTQwMDAxMDE5MzAwMDBDRDBBODIyN0UwNDgwMDA0QzAyMDkzMDAwMEM3NEJGMTlCMDAwMEMxOTQwMDAxODE5MzAwMDBDRDBBODIyNzUyRkI1MTI3MzM1N0UwNDgwMDA0QzAyMDlCMDAwMEM0NDQwMTlCMDAwMENFNTU4QjQwNzIzMDlCMDAwMTA0RUIwMDIxOUIwMDAxMDA5MzAwMDBDNzRCRjE5QjAwMDBDMDlCMDAwMDQ1NEY3MTlCMDAwMDQxOTMwMDAwQ0QwQTgyMjc1MkZCNjEyNzMzNTdFMDQ4MDAwNEMwMkU1NThCNDA3MTgwOTMwMDAwQzc0QkYxOUIwMDAwQzA5QjAwMDA0NDQwODE5QjAwMDA0MTkzMDAwMEMwOUIwMDAwQzU0QkYxOUIwMDAwQ0QwQTgyMjc1MkZCNDEyNzMzNTdBMjEyRjEyNzMzNTdBNDEyRjEyNzMzNTdFQjAwMTdFQTBDODdDNjQxMjYxMzYxMjY0ODZEMEE4MjIzOTJFMzk3NTM5QkMzQTAzM0E0QTNBOTEzQUQ4M0IxRjc1MkY1NTEyNzMzNTc1MkYwMDEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTY5N0UyNzAxNzkyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MDgyQzM4MEYxQjM0NzhFQzdBMTcwMTY5N0EyNzAxNzkwMjQ2NEY3RTE0MDQyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDExMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE2QjdFMjcwMTdCMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDBDMkMzODBGMUIzNDc4RUM3QTE3MDE2QjdBMjcwMTdCMDI0OTdDN0UxNDA4MkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjAyMTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNkQ3RTI3MDE3RDJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxMDJDMzgwRjFCMzQ3OEVDN0ExNzAxNkQ3QTI3MDE3RDAyNENBOTdFMTQwQzJEODBFQjc1MkY1NTEyNzMzNTc1MkYwMzEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTZGN0UyNzAxN0YyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MTQyQzM4MEYxQjM0NzhFQzdBMTcwMTZGN0EyNzAxN0YwMjRGRDY3RTE0MTAyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDQxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE3MTdFMjcwMTgxMkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDE4MkMzODBGMUIzNDc4RUM3QTE3MDE3MTdBMjcwMTgxMDI1MzAzN0UxNDE0MkQ4MEVCNzUyRjU1MTI3MzM1NzUyRjA1MTI3MzM1N0E2MTJGMTI3MzM1N0E3MTJGMTI3MzM1N0UxNzAxNzM3RTI3MDE4MzJEMjM3RTA5QjAwQjA0N0ExOUIwMEIxNEJFMTQxQzJDMzgwRjFCMzQ3OEVDN0ExNzAxNzM3QTI3MDE4MzAyNTYzMDdFMTQxODJEODBFQjc1MkY1NTEyNzMzNTc1MkYwNjEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTdFMTcwMTc1N0UyNzAxODUyRDIzN0UwOUIwMEIwNDdBMTlCMDBCMTRCRTE0MjAyQzM4MEYxQjM0NzhFQzdBMTcwMTc1N0EyNzAxODUwMjU5NUQ3RTE0MUMyRDgwRUI3NTJGNTUxMjczMzU3NTJGMDcxMjczMzU3QTYxMkYxMjczMzU3QTcxMkYxMjczMzU3RTE3MDE3NzdFMjcwMTg3MkQyMzdFMDlCMDBCMDQ3QTE5QjAwQjE0QkUxNDI0MkMzODBGMUIzNDc4RUM3QTE3MDE3NzdBMjcwMTg3MDI1QzhBN0UxNDIwMkQ4MEVCNjQKKzozMzM1NDAwMDAwN0UwNDAwMDE3RTE0N0ZGODdFMjQwMEZFN0QzMTBCMUE1MDFCMEE1MDdFMTQ0MDFCMDI0MDc0N0VGODAwNTk3NUIwREY3RUIwMDE3QUIzOTAwMDdFRjQ0MDMwMDI0MDhCMTI3NDRFRjUyRTdBQTEyRDdBMTE1ODEyNkIwMjEyNDBFQjdFQjMzRkYxNjAwMzEyNDM3OTEyNkJERUQyQUYwMjMwMDA3RTA0MDBGRjdFMTg0MDYwN0ExQzAwMDE4OTE4N0VCMDAxN0FCMzk0MDA3QUIzMkMzNTdFQjAwMTdBQjM5MzAwODkwODdFMDQwMEZGN0UxODQwODI3QTFDMDAwMTg5MTg3RUIwMDA3QUIzOTMwMDg5MDg3RTA4MDAyMDdFNDQwNDAwN0U0MDAwN0VFNDQwOUQwMjczNTA3RTA4MDE1OTdFNDQyQUREN0U0MDAwN0VFNDQwQUYwMjczNTA3RTA4MDA1OTdFNDQwMTAwN0U0MDUzN0VFNDQwQzEwMjczNTA3NTU3MDE3NTU2MDA3RTA0MDAwODc1NTQ1ODc1NTUwODc1NTEwODc1NTMwMTc1ODkwMTc1OEEwMTc1OEMwMEQyOEM3RTA0MDAwMjdBMDU0Mjg5RjQ3NUI3N0Y3NUI4N0Y3NUIzMDE3NUIyMDFEMkE5MjI3NUIwREZFNEQ1RTBGRDc1QjBFRjdFMjQ4MDAwN0UxMTJFN0VBMDA4MTlBMjAwMTAyRTI0MDEwMEE1RDlGMjdFMjAwMDEyNDE4MzBCMjBCRTIxMkU3OEY2MjI3RTA0ODAwMDRDMDI3NEJGMTlCMDAwMEM3NDEwMTlCMDAwMDg3NDgwMTlCMDAwMEM3RTU0MDAwMjE5QTAwMDA0MTlCMDAwMDA3NDAzMTlCMDAwMEM3NDA3MjA2ODAyNzQwRjE5QjAwMDA0MzA2QjE3NzRCRjE5QjAwMDBDNzQyODIwNjgwMjc0MjAxOUIwMDAwNDc0MDMxOUIwMDAwQzc0QTcxOUIwMDAwODc0MEMxOUIwMDAxMDIyN0UwNDgwMDA0QzAyRTQxOUIwMDAwNDA5QjAwMDEwNTQwODE5QjAwMDEwNzRBNzE5QjAwMDA4MjI3Q0IyMjMwQTJCNDkyMjQxQUE4OTI0NDFCQTQxRDc0MUY0NDIxMTQyMkU0MjRCNDI2ODQyODVDMjEwQzIxOEMyMDg3RTA0MDQyRDdBMDcwMTU5N0EwNzAxNjk2RDAwN0EwNzAxNzk3QTA3MDE4OTIyQzIxMUMyMTlDMjA5N0UwNDA4MkQ3QTA3MDE1QjdBMDcwMTZCNkQwMDdBMDcwMTdCN0EwNzAxOEIyMkMyMTJDMjFBQzIwQTdFMDQwQzJEN0EwNzAxNUQ3QTA3MDE2RDZEMDA3QTA3MDE3RDdBMDcwMThEMjJDMjEzQzIxQkMyMEI3RTA0MTAyRDdBMDcwMTVGN0EwNzAxNkY2RDAwN0EwNzAxN0Y3QTA3MDE4RjIyQzIxNEMyMUNDMjBDN0UwNDE0MkQ3QTA3MDE2MTdBMDcwMTcxNkQwMDdBMDcwMTgxN0EwNzAxOTEyMkMyMTVDMjFEQzIwRDdFMDQxODJEN0EwNzAxNjM3QTA3MDE3MzZEMDA3QTA3MDE4MzdBMDcwMTkzMjJDMjE2QzIxRUMyMEU3RTA0MUMyRDdBMDcwMTY1N0EwNzAxNzU2RDAwN0EwNzAxODU3QTA3MDE5NTIyQzIxN0MyMUZDMjBGN0UwNDIwMkQ3QTA3MDE2NzdBMDcwMTc3NkQwMDdBMDcwMTg3N0EwNzAxOTcyMjdDQjIyMzBBMkI0OTIyNDJBRDg5MjQ0MkJENDJENDQyRUI0MzAyNDMxOTQzMzA0MzQ3NDM1RTMwNDAwNzIwNTgwNEMyMjg4MDBDMzA0ODA3MjA1MDA0QzIyODgwMDJEMjI4MjIzMDQxMDcyMDU5MDRDMjI5ODAwQzMwNDkwNzIwNTEwNEMyMjk4MDAyRDIyOTIyMzA0MjA3MjA1QTA0QzIyQTgwMEMzMDRBMDcyMDUyMDRDMjJBODAwMkQyMkEyMjMwNDMwNzIwNUIwNEMyMkI4MDBDMzA0QjA3MjA1MzA0QzIyQjgwMDJEMjJCMjIzMDQ0MDcyMDVDMDRDMjJDODAwQzMwNEMwNzIwNTQwNEMyMkM4MDAyRDIyQzIyMzA0NTA3MjA1RDA0QzIyRDgwMEMzMDREMDcyMDU1MDRDMjJEODAwMkQyMkQyMjMwNDYwNzIwNUUwNEMyMkU4MDBDMzA0RTA3MjA1NjA0QzIyRTgwMDJEMjJFMjIzMDQ3MDcyMDVGMDRDMjJGODAwQzMwNEYwNzIwNTcwNEMyMkY4MDAyRDIyRjIyNDQ2NjQzOEFCRUIwMDI0MDAxMjIyMzBBNUI0OTU1NDM3NTk5NTREMzIyN0VCMDAwN0FCMzk0MDA3QUIzMkMzNTEyNDQ3QTdFMDQyODJEN0EwNzAxQzE3QTA3MDFDMzdFMDQyNDJEN0EwNzAxQzc3QTA3MDFDOTdFMDQ2NjdGN0EwNTRCNzQyMDdBQjM5MTAwNzQ2MDdBQjM5MTFDNzQxMjdBQjM5MTA2NzQ0MDdBQjM5MTA3NzQxRTdBQjM5MTEwNzQ0ODdBQjM5MTEyNzQxMDdBQjM5MTEzNzQzRjdBQjM5MTE0NzQ0MDdBQjM5MTAwNzQ2MDdBQjM5MTFDNzQxNDdBQjM5MTA2NzQ0MDdBQjM5MTA3NzQxNjdBQjM5MTEwNzQwODdBQjM5MTExNzQyMDdBQjM5MTEzNzQzRjdBQjM5MTE0NzQ2MDdBQjM5MTAwNzQ2MDdBQjM5MTFDNzQxNjdBQjM5MTA2NzQyMDdBQjM5MTA3NzQyRjdBQjM5MTEwNzQ0ODdBQjM5MTEyNzQxMDdBQjM5MTEzNzQzRjdBQjM5MTE0NzQwMjdBQjM5MTA2NzQwRjdBQjM5MTA3MTI0MEZBN0UyMDAwMTI0MTlGMEIyMEJFMjEyRTc4RjZEMkE4MjI3RUIwMDE3QUIzOTQwMDdBQjMyQzM1MTI0NDdBNzVCMERGQzJBODIyNzQwMjdBQjM5MTA2NzQwMTdBQjM5MTA3N0UyMDA0N0NCMkMyRDcxMzEzMTMxMzdBQjM5MTAwNzQ2MDdBQjM5MTFDNzQwMjdBQjM5MTEyQTVEQUU1MjJDQTA5MTIzMDBFMTAwMTM0RDU1MTQwNzQwMDdBQjM5MTAwNzQwMjdBQjM5MTA2N0VCMzkxMDc3NDAzN0FCMzkxMDY3RUIzOTEwNzdFQjM5MTE0N0VCMzkxMDQ2MzUzMDE3RTAwNTQyRTAxNTNBNUU2RjU1MTgwMTIyMDAyMUQ3NTUzMDA4NTU0NTFEMjAyNzQwMzgwMEQzMDAyMEVDMjAyN0UwMDU2MkUwMTUzQTVFNjdBQjM5MDAwREEwOTMyNDU2RjQ1OEI0NUE3NDVDMzQ1REY0NUZCNDYxNzQ2MzNDMEQwQzBEMUMwRTBDMEYwQ0EwQkNBMUJDQTJCRDIwMTc1MkY4OTEyNzMzNTdFQjM5MDAwNjAyODdFMTQ4MDAwN0UwMDAwMTM1MDEzQ0EwQkNBNTk3Q0IwMjMwQTJCNDkyMjQ1MDQ5OTI0REE1OURBMEJBNTBBQTUwOEJFMDEyRTc4RTE4MEQyMzAwNDA1QzIwNDEyNjQ4NkRBMkJEQTFCREEwQkQwRjBEMEUwRDBEMUQwRDAzMjA5QjEwMDA4MjBFMDE0NzUyRjgwMTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MUFCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODExMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYxRUI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4MjEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjIyQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjgzMTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MjZCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODQxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYyQUI4OTU0MjIwOUIxMDAwODIwRTAxNDc1MkY4NTEyNzMzNTU0M0UwQTVCN0U0NDAwRkY2OTUyNjJFQjg5NTQyMjA5QjEwMDA4MjBFMDE0NzUyRjg2MTI3MzM1NTQzRTBBNUI3RTQ0MDBGRjY5NTI2MzJCODk1NDIyMDlCMTAwMDgyMEUwMTQ3NTJGODcxMjczMzU1NDNFMEE1QjdFNDQwMEZGNjk1MjYzNkI4OTU0MjIxMDA4MDEyMjIwMjgwM0QyMDgyMjc1MkZBMDEyNzMzNTdFMTQ4MDAwODAwNjIwMjgwM0QyMDgyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0OTQ1MzAzMDA2MjBFNjRGRDIwODIyMzBFNjAyRDI2MDdFMzcwMTc5N0UyNzAxOTk5RDMyNDAzMTdEMDIyRTA1MzI3QTA1MzI3QTM3MDE3OTdFMzcwMTU5N0Q0MzJENDJCRTQ0MDgyQzM4Njg3QTQ3MDE1OTc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjBDNDIyQzI2MDJEMjM2ODc4NkQzMzgwMUE3RTI3MDE3OUJFMjQwMDAwNjg2QUJFMjcwMTk5MjgwNDdFMjcwMTk5N0UzNzAxNzk5RDMyN0QwMjJFMDUzMjdBMDUzMjdBMzcwMTc5N0UzNzAxNTk3RDQzMkQ0MkJFNDQwODJDMzgxMzdBNDcwMTU5NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDA4MkQ5RDI0MTI2OUYwN0UzNDA0MkQ3RDI0MkQ0MzdBNDcwMTU5MTI2OUYwQkUyNTIwNzgwMzAyNDZDMjIyRDIwODdFMDQwNDJEN0EwNzAxNTk3QTA3MDE2OTc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQTkyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDAwMDJFMjcwMUE5MUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzODBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEwMjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDAwMDAyRTY3MDFBOTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDA3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0ODFFNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM4MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTAyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjQ4MUVEQUI4MDI0OTQ1MDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNTg4MDAyQzI1OEE1RkQ1RTUwODA2ODA0RDI1MDgwMDJDMjUwMTI0MkJEMDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNDg3Mjc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDA5MDEyMjIwMjkwM0QyMDkyMjc1MkZBMTEyNzMzNTdFMTQ4MTAwODAwNjIwMjkwM0QyMDkyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0QzcyMzAzMTA2MjBFNjRGRDIwOTIyMzBFNjAyRDI2MTdFMzcwMTdCN0UyNzAxOUI5RDMyNDAzMTdEMDIyRTA1MzQ3QTA1MzQ3QTM3MDE3QjdFMzcwMTVCN0Q0MzJENDJCRTQ0MEMyQzM4Njg3QTQ3MDE1Qjc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjFDNDIyQzI2MTJEMjM2ODc4NkQzMzgwMUE3RTI3MDE3QkJFMjQwMDAwNjg2QUJFMjcwMTlCMjgwNDdFMjcwMTlCN0UzNzAxN0I5RDMyN0QwMjJFMDUzNDdBMDUzNDdBMzcwMTdCN0UzNzAxNUI3RDQzMkQ0MkJFNDQwQzJDMzgxMzdBNDcwMTVCNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDBDMkQ5RDI0MTI2OUYwN0UzNDA4MkQ3RDI0MkQ0MzdBNDcwMTVCMTI2OUYwQkUyNTIwNzgwMzAyNDlFRjIyRDIwOTdFMDQwODJEN0EwNzAxNUI3QTA3MDE2Qjc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQUIyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDEwMDJFMjcwMUFCMUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzOTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjExMjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDAxMDAyRTY3MDFBQjlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDE3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0QjRCNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDM5MEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTEyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjRCNEJEQUI4MDI0QzcyMDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNTk4MDAyQzI1OUE1RkQ1RTUwODA2ODA0RDI1MTgwMDJDMjUxMTI0MkQ0MDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNEI5Rjc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDBBMDEyMjIwMkEwM0QyMEEyMjc1MkZBMjEyNzMzNTdFMTQ4MjAwODAwNjIwMkEwM0QyMEEyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI0RjlGMzAzMjA2MjBFNjRGRDIwQTIyMzBFNjAyRDI2MjdFMzcwMTdEN0UyNzAxOUQ5RDMyNDAzMTdEMDIyRTA1MzY3QTA1MzY3QTM3MDE3RDdFMzcwMTVEN0Q0MzJENDJCRTQ0MTAyQzM4Njg3QTQ3MDE1RDc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjJDNDIyQzI2MjJEMjM2ODc4NkQzMzgwMUE3RTI3MDE3REJFMjQwMDAwNjg2QUJFMjcwMTlEMjgwNDdFMjcwMTlEN0UzNzAxN0Q5RDMyN0QwMjJFMDUzNjdBMDUzNjdBMzcwMTdEN0UzNzAxNUQ3RDQzMkQ0MkJFNDQxMDJDMzgxMzdBNDcwMTVENzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDEwMkQ5RDI0MTI2OUYwN0UzNDBDMkQ3RDI0MkQ0MzdBNDcwMTVEMTI2OUYwQkUyNTIwNzgwMzAyNEQxQzIyRDIwQTdFMDQwQzJEN0EwNzAxNUQ3QTA3MDE2RDc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQUQyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDIwMDJFMjcwMUFEMUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEyMjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDAyMDAyRTY3MDFBRDlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDI3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI0RTc4NzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNBMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTIyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjRFNzhEQUI4MDI0RjlGMDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNUE4MDAyQzI1QUE1RkQ1RTUwODA2ODA0RDI1MjgwMDJDMjUyMTI0MkVCMDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNEVDQzc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDBCMDEyMjIwMkIwM0QyMEIyMjc1MkZBMzEyNzMzNTdFMTQ4MzAwODAwNjIwMkIwM0QyMEIyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1MkNDMzAzMzA2MjBFNjRGRDIwQjIyMzBFNjAyRDI2MzdFMzcwMTdGN0UyNzAxOUY5RDMyNDAzMTdEMDIyRTA1Mzg3QTA1Mzg3QTM3MDE3RjdFMzcwMTVGN0Q0MzJENDJCRTQ0MTQyQzM4Njg3QTQ3MDE1Rjc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjNDNDIyQzI2MzJEMjM2ODc4NkQzMzgwMUE3RTI3MDE3RkJFMjQwMDAwNjg2QUJFMjcwMTlGMjgwNDdFMjcwMTlGN0UzNzAxN0Y5RDMyN0QwMjJFMDUzODdBMDUzODdBMzcwMTdGN0UzNzAxNUY3RDQzMkQ0MkJFNDQxNDJDMzgxMzdBNDcwMTVGNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDE0MkQ5RDI0MTI2OUYwN0UzNDEwMkQ3RDI0MkQ0MzdBNDcwMTVGMTI2OUYwQkUyNTIwNzgwMzAyNTA0OTIyRDIwQjdFMDQxMDJEN0EwNzAxNUY3QTA3MDE2Rjc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQUYyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDMwMDJFMjcwMUFGMUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjEzMjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDAzMDAyRTY3MDFBRjlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDM3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1MUE1NzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNCMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTMyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjUxQTVEQUI4MDI1MkNDMDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNUI4MDAyQzI1QkE1RkQ1RTUwODA2ODA0RDI1MzgwMDJDMjUzMTI0MzAyMDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNTFGOTc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDBDMDEyMjIwMkMwM0QyMEMyMjc1MkZBNDEyNzMzNTdFMTQ4NDAwODAwNjIwMkMwM0QyMEMyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1NUY5MzAzNDA2MjBFNjRGRDIwQzIyMzBFNjAyRDI2NDdFMzcwMTgxN0UyNzAxQTE5RDMyNDAzMTdEMDIyRTA1M0E3QTA1M0E3QTM3MDE4MTdFMzcwMTYxN0Q0MzJENDJCRTQ0MTgyQzM4Njg3QTQ3MDE2MTc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjRDNDIyQzI2NDJEMjM2ODc4NkQzMzgwMUE3RTI3MDE4MUJFMjQwMDAwNjg2QUJFMjcwMUExMjgwNDdFMjcwMUExN0UzNzAxODE5RDMyN0QwMjJFMDUzQTdBMDUzQTdBMzcwMTgxN0UzNzAxNjE3RDQzMkQ0MkJFNDQxODJDMzgxMzdBNDcwMTYxNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDE4MkQ5RDI0MTI2OUYwN0UzNDE0MkQ3RDI0MkQ0MzdBNDcwMTYxMTI2OUYwQkUyNTIwNzgwMzAyNTM3NjIyRDIwQzdFMDQxNDJEN0EwNzAxNjE3QTA3MDE3MTc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQjEyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDQwMDJFMjcwMUIxMUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzQzBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE0MjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDA0MDAyRTY3MDFCMTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDQ3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1NEQyNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNDMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTQyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjU0RDJEQUI4MDI1NUY5MDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNUM4MDAyQzI1Q0E1RkQ1RTUwODA2ODA0RDI1NDgwMDJDMjU0MTI0MzE5MDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNTUyNjc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDBEMDEyMjIwMkQwM0QyMEQyMjc1MkZBNTEyNzMzNTdFMTQ4NTAwODAwNjIwMkQwM0QyMEQyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1OTI2MzAzNTA2MjBFNjRGRDIwRDIyMzBFNjAyRDI2NTdFMzcwMTgzN0UyNzAxQTM5RDMyNDAzMTdEMDIyRTA1M0M3QTA1M0M3QTM3MDE4MzdFMzcwMTYzN0Q0MzJENDJCRTQ0MUMyQzM4Njg3QTQ3MDE2Mzc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjVDNDIyQzI2NTJEMjM2ODc4NkQzMzgwMUE3RTI3MDE4M0JFMjQwMDAwNjg2QUJFMjcwMUEzMjgwNDdFMjcwMUEzN0UzNzAxODM5RDMyN0QwMjJFMDUzQzdBMDUzQzdBMzcwMTgzN0UzNzAxNjM3RDQzMkQ0MkJFNDQxQzJDMzgxMzdBNDcwMTYzNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDFDMkQ5RDI0MTI2OUYwN0UzNDE4MkQ3RDI0MkQ0MzdBNDcwMTYzMTI2OUYwQkUyNTIwNzgwMzAyNTZBMzIyRDIwRDdFMDQxODJEN0EwNzAxNjM3QTA3MDE3Mzc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQjMyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDUwMDJFMjcwMUIzMUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRDBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE1MjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDA1MDAyRTY3MDFCMzlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDU3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1N0ZGNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNEMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTUyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjU3RkZEQUI4MDI1OTI2MDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNUQ4MDAyQzI1REE1RkQ1RTUwODA2ODA0RDI1NTgwMDJDMjU1MTI0MzMwMDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNTg1Mzc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDBFMDEyMjIwMkUwM0QyMEUyMjc1MkZBNjEyNzMzNTdFMTQ4NjAwODAwNjIwMkUwM0QyMEUyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1QzUzMzAzNjA2MjBFNjRGRDIwRTIyMzBFNjAyRDI2NjdFMzcwMTg1N0UyNzAxQTU5RDMyNDAzMTdEMDIyRTA1M0U3QTA1M0U3QTM3MDE4NTdFMzcwMTY1N0Q0MzJENDJCRTQ0MjAyQzM4Njg3QTQ3MDE2NTc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjZDNDIyQzI2NjJEMjM2ODc4NkQzMzgwMUE3RTI3MDE4NUJFMjQwMDAwNjg2QUJFMjcwMUE1MjgwNDdFMjcwMUE1N0UzNzAxODU5RDMyN0QwMjJFMDUzRTdBMDUzRTdBMzcwMTg1N0UzNzAxNjU3RDQzMkQ0MkJFNDQyMDJDMzgxMzdBNDcwMTY1NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDIwMkQ5RDI0MTI2OUYwN0UzNDFDMkQ3RDI0MkQ0MzdBNDcwMTY1MTI2OUYwQkUyNTIwNzgwMzAyNTlEMDIyRDIwRTdFMDQxQzJEN0EwNzAxNjU3QTA3MDE3NTc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQjUyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDYwMDJFMjcwMUI1MUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRTBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE2MjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDA2MDAyRTY3MDFCNTlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDY3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1QjJDNzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNFMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTYyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjVCMkNEQUI4MDI1QzUzMDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNUU4MDAyQzI1RUE1RkQ1RTUwODA2ODA0RDI1NjgwMDJDMjU2MTI0MzQ3MDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNUI4MDc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjIxMDBGMDEyMjIwMkYwM0QyMEYyMjc1MkZBNzEyNzMzNTdFMTQ4NzAwODAwNjIwMkYwM0QyMEYyMjA5QjEwMDE0Q0FCODVFQjAxRURBQjg2ODAzMTI1RjgwMzAzNzA2MjBFNjRGRDIwRjIyMzBFNjAyRDI2NzdFMzcwMTg3N0UyNzAxQTc5RDMyNDAzMTdEMDIyRTA1NDA3QTA1NDA3QTM3MDE4NzdFMzcwMTY3N0Q0MzJENDJCRTQ0MjQyQzM4Njg3QTQ3MDE2Nzc1MkY5NDEyNzMzNTdBNTEyRjEyNzMzNTEyNjlGMDEwNjdDNDIyQzI2NzJEMjM2ODc4NkQzMzgwMUE3RTI3MDE4N0JFMjQwMDAwNjg2QUJFMjcwMUE3MjgwNDdFMjcwMUE3N0UzNzAxODc5RDMyN0QwMjJFMDU0MDdBMDU0MDdBMzcwMTg3N0UzNzAxNjc3RDQzMkQ0MkJFNDQyNDJDMzgxMzdBNDcwMTY3NzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1MDI2OUYwNzUyRjk0MTI3MzM1N0E1MTJGMTI3MzM1OUU0NDI0MkQ5RDI0MTI2OUYwN0UzNDIwMkQ3RDI0MkQ0MzdBNDcwMTY3MTI2OUYwQkUyNTIwNzgwMzAyNUNGRDIyRDIwRjdFMDQyMDJEN0EwNzAxNjc3QTA3MDE3Nzc1MkY5NDEyNzMzNTc1MkYwMDEyNzMzNTIyNzUyRjkyMTI3MzM1RDIwNDA5QjEwMDE0Q0FCODU0ODJEQUI4Nzg2ODdFMzcwMUNCN0UyNzAxQjcyRTI0MDAwMjJEMzJCRTM0MDQwMDM4MzQ3RDAyMkUwNTMwN0EwNTMwN0EzNzAxQ0I3RTM3MDFDOTdENDMyRDQyQkU0NDI4MkMzODNDN0E0NzAxQzk3RTI0MDcwMDJFMjcwMUI3MUIzODIwMEIzNTdBNTEyRjEyNzMzNTAyNkE2Mzc1MkY5OTEyNzMzNTA5QjEwMDA0NTRGQTE5QjEwMDA0MzAzRjBBMDlCMTAwMTA1NEZFMTlCMTAwMTBEMjE3MjI4MDdGN0E1MTJGMTI3MzM1OUU0NDI4MkQ5RDI0N0U2NDA3MDAyRTY3MDFCNzlFMjQwMDAyNDAxNzFCMzg2MDBCMzUxMjZBNjM3RTM0MjQyRDdEMjQyRDQzN0E0NzAxQzkwMjZBNjM3QTM5QzA3RTM0MjQyRDdBMzlEMDBCMzQxQjQ0ODBFNTlEMzI3Q0I2NTQwRjIzMjMyMzQ0MDc3QTY5QjA3QTc5NzAwQjM1NzUyRjkzMTI3MzM1N0E3MTJGMTI3MzM1QkQwNDY4MkI3QTA3MDFDOTdFNDcwMUNCMkQ0MzdBNDcwMUNCMkUzNTMwN0EzNTMwMjJEMjA0MDlCMTAwMTQyMEUwMTMyMjdFMDQyNDJEODAyODdFMDQyNDJEODAyQTdFMDQyNDJEODBDRjdFMDcwMUNCN0UyNDAzRkU5RDIwMjg0MDdFMDcwMUM5N0U0NDI4MkQ3RDYwMEIwNEJEMDQ2OEQyN0Q3MDBCMDRCRDA0NjhEMDdENTQ5RDUwQkQyNTQwMDI3RDI1N0QzMjA5QjEwMDE0Q0FCODU0MUZCNDAxMzFEQUI4N0UxOUIwN0EwOUIwMEIwNDFCMjQ3OEU3MDI1RTU5NzUyRjk5MTI3MzM1MDlCMTAwMDQ1NEZBMTlCMTAwMDQzMDNGMEEwOUIxMDAxMDU0RkUxOUIxMDAxMEQyMTcyMkRBQjgzMEUwRDhCRDMyNjgwN0NBQjgxMjVFNTlEQUI4MDI1RjgwMDlCMTAwMTg3RUEwODg3NTJGOTAxMjczMzVGNTJGMTI3MzM1QTVGRDVFNTAwQTY4MURBNUZENUU1MDIwNjgwNEQyNUY4MDAyQzI1RkE1RkQ1RTUwODA2ODA0RDI1NzgwMDJDMjU3MTI0MzVFMDI2MTEzNzUyRjkxMTI3MzM1MDlCMTAwMTQ3QUIxMkYxMjczMzUyMEUwMDhEMjA0N0VBMDgwMDI2MTEzRDIwNDMwRTEwNjdFQTA4MDEyNjExM0NBQjg1RUIwMUNEQUI4NjgxMjdFQTBDMDA5NjEwMDAwMTI2MTM2MDlCMTAwMTQyMEUwREIyMjAyNUVBRDc1MkY5NTEyNzMzNTIyNzUyRjk2MTI3MzM1MjI3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNTg4MDAyQzI1OEE1RkQ1RTUwODA2ODA0RDI1MDgwMDJDMjUwMDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjU5ODAwMkMyNTlBNUZENUU1MDgwNjgwNEQyNTE4MDAyQzI1MTAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1QTgwMDJDMjVBQTVGRDVFNTA4MDY4MDREMjUyODAwMkMyNTIwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUI4MDAyQzI1QkE1RkQ1RTUwODA2ODA0RDI1MzgwMDJDMjUzMDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVDODAwMkMyNUNBNUZENUU1MDgwNjgwNEQyNTQ4MDAyQzI1NDAyNjBGRjdDMDI3RTE0ODAwMDRDMjAwOUIxMDAxOEE1RkQ1RTUwMjA2ODA0RDI1RDgwMDJDMjVEQTVGRDVFNTA4MDY4MDREMjU1ODAwMkMyNTUwMjYwRkY3QzAyN0UxNDgwMDA0QzIwMDlCMTAwMThBNUZENUU1MDIwNjgwNEQyNUU4MDAyQzI1RUE1RkQ1RTUwODA2ODA0RDI1NjgwMDJDMjU2MDI2MEZGN0MwMjdFMTQ4MDAwNEMyMDA5QjEwMDE4QTVGRDVFNTAyMDY4MDREMjVGODAwMkMyNUZBNUZENUU1MDgwNjgwNEQyNTc4MDAyQzI1NzAyNjBGRjU0RjBDNEE1RkZDNEE1NEY3NTJGOTAxMjczMzVGNTJGMTI3MzM1MjJDQTE5NUUyMDA3NENBMjdFNzQyQzJEQ0E3OTdBNzlBMDBCNzQ3QTc5QjAwQjc0REE3OTdFMzAwMjdFNjQwMDAyMDI2MTVFQ0ExOTVFMjAwNzRDQTI3RTc0MkMyRENBNzk3QTc5QTAwQjc0N0E3OUIwMEI3NDdBNzk2MDBCNzREQTc5N0UzMDAzN0U2NDAwMDMwMjYxNUVEMjA0N0UyNzAxQ0IyRDI2QkUyNDA0MDAzODJFN0UwNzAxQzk3RTQ0MjgyRDdFNzlBMDdBMDlBMDBCMDQwQjc0QkQwNDY4MjNBNURCRUY3QTI3MDFDQjdFMjUzMDJEMjY3QTI1MzA3QTA3MDFDOURBMTlDMkQ3MjI3NTJGOUExMjczMzVEQTE5RDJENzIyN0UwNDI0MkQ4MEQ3NDhGMTQ2NjU0NzVGNDkyQTQ1MkE0NTJBNDg1NjQ1MkE0OTZFNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ5NzU0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0QzFFNDk5MjRBOEM0QzU3NDUyQTQ1MkE0QjgzNDUyQTRDOUI0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNENBMjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTRGNEI0Q0JGNERCOTRGODQ0NTJBNDUyQTRFQjA0NTJBNEZDODQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0RkNGNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNTI3ODRGRUM1MEU2NTJCMTQ1MkE0NTJBNTFERDQ1MkE1MkY1NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTUyRkM0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1NUE1NTMxOTU0MTM1NURFNDUyQTQ1MkE1NTBBNDUyQTU2MjI0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNTYyOTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTU4RDI1NjQ2NTc0MDU5MEI0NTJBNDUyQTU4Mzc0NTJBNTk0RjQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1OTU2NDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNUJGRjU5NzM1QTZENUMzODQ1MkE0NTJBNUI2NDQ1MkE1QzdDNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTVDODM0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE1RjJDNUNBMDVEOUE1RjY1NDUyQTQ1MkE1RTkxNDUyQTVGQTk0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNUZCMDQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQTQ1MkE0NTJBNDUyQUNBQjg3NTJGMDIxMjczMzU3RUIzOTEwMzIwRTUyMDMwRTAwNTEyNkIwNTgwMzAzMEUxMDUxMjY0ODY4MDI4MzBFMjA1MTI2M0Y1ODAyMDMwRTMxRDEyNjU2MTgwMTg3RUIzOTEwNDMwRTEwMzAyNjc1RjMwRTYwNTEyNkM2QTgwMDYyMEUyMDMwMjAwODBEQUI4MzI3NTJGMTAxMjczMzVDQTBCQ0EzOUNBNTk3NDQwN0FCMzkxMDA3RUIzOTExQTZDQUFCRUIwNDAyODBBMTI2NDI0REE1OURBMzlEQTBCMjI3NDIwN0FCMzkxMTQ4MEYxN0UzNzAxQzUyRDM1QkUzNDA0MDAzODJGN0EzNzAxQzU3RTM3MDFDMzdENDMyRDQ1QkU0NDJDMkMzODI1N0E0NzAxQzM3NTJGMTExMjczMzU3QUIxMkYxMjczMzUxMjY3OUY3NDIwN0FCMzkxMTQxMjY2MzAyMjc1MkYxNjEyNzMzNTgwRjQ3NTJGMTIxMjczMzU3QUIxMkYxMjczMzU5RTQ0MkMyRDlENTQxMjY3OUY3RTM0MjgyRDdENTQyRDQzODBCQzc1MkYxODEyNzMzNUNBMDlDQTM5Q0EyQjc0MjA3QUIzOTEwMDdFNjM5MTFBNzQxMDdBQjM5MTE0N0VCMDgwOUNCNjYwMzg2Q0FBN0UzNzAxQ0I5RDM1NDAzNzdBMzcwMUNCN0UzNzAxQzc3RDQzMkQ0NUJFNDQyODJDMzgzQjdBNDcwMUM3N0Q0NTEyNjhENDdFQjM5MTFFMjBFNTEzNzUyRjE5MTI3MzM1N0E5MTJGMTI3MzM1REEyQkRBMzlEQTA5MjI4MDM0MkQ1MzZEMzM2MDAyODBDMTdFMDQyNDJEN0EwNzAxQzk3QTA3MDFDNzgwRTFDQTU5OUU0NDI4MkQ5RDU0MTI2OEQ0N0UzNDI0MkQ3RDU0MkQ0MzdBNDcwMUM3MTI2OEQ0REE0OTgwQjA3RTBGMkMzRTBCMEM3QTBGMkMzRTc0MjA3QUIzOTExRTc0NjA3QUIzOTExQzc0MDI3QUIzOTExMjgwQTU3RTJGMkM1RTBCMkM3QTJGMkM1RTc0MjA3QUIzOTExRTc0NjA3QUIzOTExQzc0MDI3QUIzOTExMjgwMUZEQTJCREExQkRBMEIyMjc1MkYyODEyNzMzNUNBMEJDQTFCQ0EyQjc0NjA3QUIzOTEwMDc0MTA3QUIzOTExNDdFQjM5MTFBNzBEQjdFMEQzMDdFMUQzNDdFMkQzODdFM0QzQzdFODU0MDdEOTA0RDkxNEQ5MjREOTM0RDk0NEQ5NTREOTY0RDk3NEQ5ODY4Qjg3QTEzOTExNzdBMDM5MTE3N0EzMzkxMTc3QTIzOTExNzdBNTM5MTE3N0E0MzkxMTc3QTczOTExNzdBNjM5MTE3N0E5MzkxMTc3QTgzOTExNzMwNzMyMjdBQjM5MTE3N0FBMzkxMTc3QUQzOTExNzdBQzM5MTE3N0FGMzkxMTc3QUUzOTExNzdENzg3QUYzOTExNzdBRTM5MTE3N0VCMzkxMUUzMEU1MDMwMjY1M0M3NTJGMjkxMjczMzUyMDczMDg3NTJGMEExMjczMzU4MDA2NzUyRjEyMTI3MzM1NzQ4MDdBQjM5MTFFNkQwMDdEMTA3QTBEMzA3QTBEMzQ3QTBEMzg3QTBEM0M3QTA1NDBEQTJCREExQkRBMEIyMjdFMzcwMUM1NEQzMzY4M0I3RTA3MDFDMTdFNTQyQzJEOUQ1MEJEMzU0MDAyN0QzNUNBMzk3RTY1NEI5OTY0REEzOTdFMDcwMUM1OUQwMzdBMDcwMUM1MkUzNzAxQzE3QTM3MDFDMUJFMzQyQzJDMjhDNzdFMzQyODJEN0EzNzAxQzE4MEJEMjI3NTJGNTMxMjczMzU3RTE1NEQ4MDExNzUyRjUxMTI3MzM1MEIwODEwMEIwNTlFMzQwMDAyMjg0RDdDQjIyMEU3Mjc1NDA3MjMwQTJCNDkyMjM5MUU3Q0IyNTQ3ODAzMDMwMzdDMkI5RDEzNDAxQTY4MTI3QTE1NEQ3QTI1NEY3RTY0NjcwOTdBNjU0Qjg5MjQwMjY3MTc3RTY0NjY3RjgwRjIyRDEzOUQzMUNBMzk3RDMxMkQxMENBMTlDQTI5OTkyNERBMjlEQTA5REEzOTgwQTI3QTE1NEQ3RTY0NjZGNTREMzM3ODA5N0NCMjIwRTcyQTdFNjQ2Njc0N0E2NTRCMjI3NTJGNTIxMjczMzU3RTIxNEQ3RTA5MzAwQjA0MUIzNDc4ODk4MEQ0NzUyRjU0MTI3MzM1N0UxNTREN0UyNTRGODA5MDVFMjAwNzU0Nzg3RTQ0Njc3RDMwRTYxNjREMzM2ODI2MUIzNDdFMDk0MDBCMDQ3RTQ0MzRGQTIwRTMwNDdFNDQ2Nzg1Q0EwOUNBMzk5OTQ0REEzOURBMDk3RTY0NjY3RjREMzM2OEE2ODk2NDdBMTU0REY1NEY3RTY0Njc1ODgwOTk3RTE1NERFNTRGODBDNEMwRDBDMEQxQzBFMENBMTk3NTJGRkUxMjczMzU3RTE0MDA1MzAyNDA1MkRBMTlEMEUwRDBEMUQwRDAzMjAzQTVDQjE5QjE4MDAwMjIyMjdFMjQwMDAwN0ZFMTdFQTAwMkE0N0UwNDY4QjE5RDA1N0VCMDI4N0FCMzk1MDA4OTA0Q0EyOUI0ODBFMjdFMjQwMDAwN0ZFMTdFMDAyODdBMDM5NTAwRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTM3RTAwMDA3QTAzOTUwMERBMjkyMjdFMjQwMDAwN0ZFMTdFQTAwMkE0N0UwNDY5RTY5RDA1N0VCMDM4N0FCMzk1MDA4OTA0Q0EyOUI0ODBFMjdFMjQwMDAwN0ZFMTdFMDAzODdBMDM5NTAwRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTM3RTAwMDA3QTAzOTUwMERBMjkyMkNBMjlDQTE5Q0E1ODdFMjQwMDAwN0ZFMURBNTg3RTU0MDIyMDlDQjVBNDdFNTAzMDVFMjAwNzJDNTI3QTUzOTUwMDJFNTQ2QTE3ODk1NEUwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzN0UwMDAwN0EwMzk1MDBEQTE5REEyOTIyQ0ExOUNBNTg3RTI0MDAwMDdGRTFEQTU4N0U1NDAyMzg5Q0I1QTQ3RTUwMjA1RTIwMDcyQzUyN0E1Mzk1MDAyRTU0NkE4ODg5NTRFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBM0UwQTNFMEEzRTBBMzdFMDAwMDdBMDM5NTAwREExOTIyMDI2QkE4Q0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCNzQwMDdBQjM5MTAwN0VCMzJDN0ZCNDAwMDI4MDFDQjQwMTE5N0VCMzkxMTQ1NDE0NjgwNTEyNkI2QzgwMjM3RUIzOTExNDMwRTUxQzEyNkNBQTgwMTc3RUIzOTExNDMwRTUwNTEyNkNBQTgwMEI3RUIzOTExNDU0MTQ2ODAzMTI2QjZDREFFQkRBN0JEQTZCREE1QkRBNEJEQTNCREEyQkRBMUJEQTBCMjIyMEU0MTk3NTJGMEExMjczMzU3RUIzMkM3RTcwMEE3RUIzMkM3RkI0MDExRjAyNkMwNDAyNzFGMjc1MkYwQjEyNzMzNTc0MTQ3QUIzOTExNDdFQjMyQzdGQjQwMjBDMTI2QkI0MDI2QkE4NzQwNDdBQjM5MTE0MjI3RTAwMDA3QTAzMkM3RjdBMDMyQzgwMjI3RUIzMkM3NjU0NjA2MDA1QjQ0MDFFODAxQzdFQjMyQzc3QjQwNTE1NzUyRjcxMTI3MzM1N0VCMzJDNzk3RUEwMDE3QUEzOTEwNjdBQjM5MTA3MjI3NDAwN0FCMzkxMDA3NDEwN0FCMzkxMTIyMkJFNTcyQzdDMjgwNDdFNTcyQzdDN0EwRjJDODI3QTU3MkM4Njc0MTA3QUIzOTExMjIyNzQwMDdBQjM5MTAwN0VCMzkxMUE3MDUzN0VCMzkxMTQyMEU0NEM3RUVGMkM4MjdFRjcyQzg2N0UwNzJDODY0RDAwNjgyMTdFMDAwMEUwN0FCMzkxMTdBM0E1MDgxQkY0NjgwNkE1QjgxMEYwODAxOTdFQjAwMDdBQjMyQzdGQkUwMDEwNjgwRDdFQjAwMDdBQjMyQzdGNzQ4MDdBQjM5MTFFN0FFRjJDODI3QUY3MkM4Njc1MkYwNjEyNzMzNTc0MDQ3QUIzOTExNDIyQ0EwQkNBMUJDQTJCQ0EzQkNBNEJDQTVCQ0E2QkNBN0JDQUVCNzUyRjAzMTI3MzM1NzQwMDdBQjMyQzdFNzQwMDdBQjM5MTAwNzQwMTdBQjM5MTEyMTI2RDE5REFFQkRBN0JEQTZCREE1QkRBNEJEQTNCREEyQkRBMUJEQTBCMjI3NTJGMDMxMjczMzU3RUIzMkM4MEI0MDIxMTc0MDA3QUIzMkM4MDdBQjMyQzdGNzQyMDdBQjM5MTE0MjJCNDAxNDY3RUIzOTEwNDIwRTY0MjdFMjM5MTFBN0MzMjdFMTMyQzgxMkMyMTdBMjMyQzgxN0UwMDAwMkUwNDJDODg3RUIzOTExNjdBMDlCMDBCMDRBNURCRjQ3NDIwN0FCMzkxMTQ3NTJGNzAxMjczMzU3RUIzMkM4MTdFQTMyQzdEQkNBQjc4MDMxMjZEQjkyMjAyNzFGMkRBNTkwMjZDN0M3NEUwN0FCMzkxMDA3RTAzOTExMDdFMTM5MTExN0UzMzkxMTI3RTIzOTExMzdFNTM5MTE0N0U0MzkxMTU3RTczOTExNjdFNjM5MTE3N0EwRjJDNzY3QTFGMkM3QTc1MkYwNDEyNzMzNTdBMDEyRjEyNzMzNTdBMTEyRjEyNzMzNTdBMjEyRjEyNzMzNTdBMzEyRjEyNzMzNTdBNDEyRjEyNzMzNTdBNTEyRjEyNzMzNTdBNjEyRjEyNzMzNTdBNzEyRjEyNzMzNTc0MDA3QUIzOTEwMDc0NDA3QUIzOTEwNDEyNkQ4RDIyNkQwMDdFMTQwMTAyN0EwNzJDODY3QTAzMkM4MTdFQjMyQzc2MjBFNzBGN0EyMzJDODA3QTMzMkM3RkJFMDcyQzdDNjgwOTIyN0EzMzJDODA3QTIzMkM3RjdFQjMyQzc2NTRFMzIzMjMzMEUwMDJEMkU1MzBFNzAyRDJFNDMwRTUwNjMwRTQwMzAyNzFGMjU0M0VGNUYwMDM1NDFGQzMyNUYwOTA2REU1NzU4NEZGNzMwMjZGQTAwMjZFMkQwMjcwMzkwMjcwNTQwMjZGMzcwMjZFQzIwMjcwODUwMjcwODUwMjcwODgwMjcwODgwMjcwODgwMjcwODgwMjcwODgwMjcwODgwMjcwODgwMjcwODgwMjcwOEUwMjcxNjAwMjcwOEIwMjcwOEIwMjcwOEIwMjcwOEIwMjcwOEIwMjcwOEI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMkM3N0I0MDYyQTdFQjMyQzc4NjA3OTdDMEI3RTEzMkM3OTdFMTcyQzdBNzUyRjcyMTI3MzM1N0EwMTJGMTI3MzM1N0ExMTJGMTI3MzM1MTI3MjM3NDA1ODAyNkJFQkI0MDgxQzc1MkY3NDEyNzMzNTdFQjMzRkYxN0UwODJDODg3QTBDMDAwMDdBMEJCMDdFNTQwMDAxMDI2QkVCQjQwMDMzNzUyRjc1MTI3MzM1N0UwODJDODg3QTBDMDAwMENBMEI3RUIzM0ZGMjMwRTAwNzc0MDI3QTBCQjA4MDA1NzQwMDdBMEJCMDBCMTQ3NDAwN0EwQkIwN0U1NDAwMDJEQTBCMDI2QkVCMDI3MUYyNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzJDNzdCNDAwNUY3NTJGNzYxMjczMzU3RUIzMkM3QjU0MEZCNDAyMDU3RUIwNjA4MDE3QjQwMDA1N0VCMDAwODAwRjdFQjMyQzdCMjBFNzA1N0VCMDQwODAwMzdFQjAyMDdBQjM5MTAwN0VCMzkxMTEzMEUwMDQ3NDAxODAwMjc0MDA3RTA4MkM4ODdBMEMwMDAwQ0EwQjdBMEJCMDBCMTQ3NDAwN0EwQkIwNzQwMDdBQjM5MTAwN0U1NDAwMDJEQTBCMDI2QkVCMDI3MUYyN0VCMzJDN0I1NDBGQjQwMjA1N0VCMDYwODAxN0I0MDAwNTdFQjAwMDgwMEY3RUIzMkM3QjIwRTcwNTdFQjA0MDgwMDM3RUIwMjA3QUIzOTEwMDdFQjMyQzc5QjQwMDI2N0VCMzJDNzdCNDAxMEU3NTJGNzcxMjczMzU3NDAxN0FCMzkxMTI4MDFCQjQwMzBFNzUyRjc4MTI3MzM1NzQwMTdBQjM5MTExODAwQTc0MDA3QUIzOTEwMDEyNzFGMjIyNzQwMDdBQjM5MTAwMDI2QkRFN0VCMzJDNzdCNDA5MUY3NTJGNzkxMjczMzU3RUIzMkM3OUJFQjMzRkYxNjgwRENBQjgxMjQzNzlEQUI4NTA3NjdBQjMzRkYxODA2REI0MDUwODc1MkY3QTEyNzMzNTgwNjJCNDAzMTk3NTJGN0IxMjczMzU3RUIzMkM3OUI0MDE1NTdFQjMzRkYyNDQwMTdBQjMzRkYyODA0NkI0MDExOTc1MkY3QzEyNzMzNTdFQjMyQzc5QjQwMTM5N0VCMzNGRjI1NEZFN0FCMzNGRjI4MDJBQjQwNzJBN0VCMzJDNzg2MDI0N0MwQjdFMTMyQzc5N0UxNzJDN0E3NTJGNzMxMjczMzU3QTAxMkYxMjczMzU3QTExMkYxMjczMzUxMjcyNzE0MDAzMDI2QkRFMDI3MUYyN0VCMzJDNzdCNDBCRjY3NTJGN0QxMjczMzU3RUIzMkM3OTdFQTMyQzdCNENBQjc4RTQ4MERGNzQwMDdBQjM5MTAwNzQ2MDdBQjM5MTFDN0VCMzJDNzdCNDBBQ0Y3NTJGN0UxMjczMzU3RUIzMkM3OTcwQzM3RTA4MkM4ODdBMEMwMDAwN0EwQkIwN0U1NDAwMDEwMjZCRUIwMjcxRjIwMjcxRjIwMjcxRjI3RUIzMkM3N0I0MDQyMDc1MkZDMzEyNzMzNTdFMDQwMDAxN0UxNzJDNzg3RTE4MkM4ODdBMUMwMDAwN0U0NzJDN0MxMjczNDEwMjcxNUFCNDA2NDI3NTJGQzExMjczMzU3RTU4MDAwMDdBNUMwMEZFN0RDQTdFRDcyQzc4N0U3ODJDODg3QTdDMDAwMDdFNzcyQzdDNzUyRkMxMTI3MzM1QzBBOEMyQUY3RTQwMDE3QTQzOTQwMDEyNzM3QTdFNDMyQzM1N0E0Mzk0MDBEMEE4NDA2NTgwNjBCNDAwMjRDMkFGN0VCMDAxN0FCMzk0MDA3QUIzMkMzNTEyNkJERUU0OERFRjhERUY4REVGRDVFMEY3QzBEMUNBMDJGRkNBMDYwMDAwMzJCNDA5MjA3NDAzN0FCMzkxMDY3RTIzOTEwNzdFNTcyQzc4NEQ1NTY4MDU0RTIwMDI4MDAzNUUyMEZEN0EyMzkxMDc4MDE2QjQwNzE2QzJBRjdFMDcyQzdBN0UxNzJDNzhDMEQxQ0ExOENBMzhDQTI4MzIwMjZCREUwMjcxRjI3NDAwN0FCMzkxMDA3NDYwN0FCMzkxMUM3RUIzMkM3N0I0MDMxNTc1MkZDMjEyNzMzNTdFMDQwMDAxN0UxNzJDNzg3RTU3MkM3QzAyNkJFQkI0MDU0MTc1MkZDMDEyNzMzNUMwQThDMkFGN0U0MDAxN0E0Mzk0MDA3RTA4MkM4ODdBMEMwMDAwN0UyNDAwRkU3RTM3MkM3ODdFNDcyQzdDMTI3MzQxN0U0MzJDMzU3QTQzOTQwMEQwQTg3RTA4MkM4ODdBMEMwMDAwN0U1NzJDN0MwMjZCRUJCNDAxMjA3RTAwMDA3RTEwMDE3NTJGNzIxMjczMzU3QTAxMkYxMjczMzU3QTExMkYxMjczMzUxMjcyMzc0MDAzMDI2QkVCMDI3MUYyNzUyRjA3MTI3MzM1N0VCMDAyN0FCMzkwMDA3NDAwN0FCMzkxMDA3NDQwN0FCMzkxMTU3NDAxN0FCMzkxMTE3RUIzOTExNTU0NjBCRUIwNDA2ODA4NzQyMDdBQjM5MTE1ODBFRDc0MDE3QUIzOTExMjc0MDQ3QUIzOTExNDc0RkY3QUIzMkM3RTIyQzBBOEMyQUY3RTQwMDE3QTQzOTQwMDEyNzJCRTQwMUY3RTA4MkM4ODdBMEMwMDAwQ0EwQkNBNDkxMjczNDFEQTU5REEwQjdFNDMyQzM1N0E0Mzk0MDBEMEE4QzMyMjdFNDMyQzM1N0E0Mzk0MDBEMEE4MjJDMEE4QzJBRjdFNDAwMTdBNDM5NDAwMTI3MkJFNDAzMTdFNTgwMDAwN0E1QzAwRkU3RjYxN0U3ODJDODg3QTdDMDAwMDdFNzcyQzdDQkQ3NDc4MTc3NTJGQzExMjczMzUxMjczN0E0MDBDN0U0MzJDMzU3QTQzOTQwMEQwQThDMzIyN0U0MzJDMzU3QTQzOTQwMEQwQThEMzIyN0UyNDAwRkU3RTM0N0ZDQTBCMUE1MEM1RjA3RDYyN0Q3NTdEODc3RTM0N0ZDMjdFMUJCMDdFMzQ3RjAzQjQwMTA0N0UzNDdGQ0M3RTFCQjBCQzBCNTA0OTNFMDAzRTAwMEE1MDJENzUwQjNBMzA2OTUzMDAwMkJEMzg1MDAyMkQzOEJDMUI1MDMwM0UxMDNFMTAwQTUxMkQzNTY5NDEwMDAyMEIxQTMwQkQzODUwMDIyRDM4QkU0NEZGRkY3ODA1N0UxQjkwMEE0OTRENDQ2ODBDQkU0NDAwRkYyODA0N0U0NDAwRkZDMzIyRDMyMjc0Cis6MDAwNDdGQzYwMDAyMDAwMzAwQjIKKzowMTQ4NzMzNTAwQ0EwODdFMDEyRjdBMDMzRkYwREEwODIyN0UxQkMwN0EwQkMwMEIxNDBCMzQxQjQ0NzhGMjIyN0Y2RjdGRjAxQkZDN0M1NDdEMzI4MDA4Q0ExQkNBMUJDQTFCQ0ExQjlFNDQwMDEwNTBGMjJFNDQwMDEwNjgwNkNBNDgxQjQ0NzhGQTdGRjY4OUU0Q0E2QjVFRDQwMDNGNjgyMDdFODQwMDQwOUQ4RERBNkJCRDg3MzgxNkNBNzk3RDc4MTI3M0E0REE3OTQwMDg5RDc4NjgwMjgwMDVDMkQ3MjJEQTZCN0VDMDAzN0VEMDAwN0FEMzkwMDA3NEFBMzlCNTU1NTU3NDU1MzlCNTJBQUE3NEEwMzlCNTU1NTU3RTA0MDA0MDlENzA1MDA2MkQ3MDdEMDc2RDc3N0MzMTdFN0IwMDdBNkIwMDBCN0MwQjZDQTVEOUYzN0YxNjFCMUM3RTU0MjcxMDdFMUIxMEJDMTA2ODA2MUI1NDc4RjU4MDJGNkQwMDdDMjA3RjE2OUYxMDdGMjc5RjIwN0UyQjAwN0UxQjEwQkMwMTc4MTkwQjJDMEIxQ0E1REJFRjdDQjYyMEUwMDY2Q0RDN0FEMzkwMDA0RDc3Nzg5MEMyRDcyMkQyRDcyMjAwMDQwMDA0MDAwMDA2MDQwMjA0MDAwMjAxMDQwMTAyMDAwMDAwMDAwMDAwMDAwMDAyMDIwMjAyMDIwNDAwMDgxMDAyMTAwNDAyMDgwMDAxMDEwODdFMTg3RkJEN0ExQzAwRkUwQjFBMDA1RTEwMUZCRTEwMTQzODFBMEE1MTIzN0UxODc0MjQ3QTFDMDBGRjJEMzUwQjFBNTA2MDA4QTVCODAyMDM0RUEwMDgyMjgwRkVDQgorOjAwMDAwMDAwMDFGRgorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorLy8qIEVkZ2Vwb3J0LzQgQmluYXJ5IEltYWdlCisvLyogR2VuZXJhdGVkIGJ5IEhFWDJDIHYxLjA2CisvLyogQ29weXJpZ2h0IChDKSAxOTk4IEluc2lkZSBPdXQgTmV0d29ya3MsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy8vKglpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLy8qCXRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisvLyoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24zLmJpbi5paGV4IGIvZmlybXdhcmUvZWRnZXBvcnQvZG93bjMuYmluLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzkzNWU1MgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VkZ2Vwb3J0L2Rvd24zLmJpbi5paGV4CkBAIC0wLDAgKzEsODE1IEBACis6MTAwMDAwMDAwNDUwMDAwMDg3MzI5QTAyMjdCRjAyMjFCMjAwMDAwMDhDCis6MTAwMDEwMDAwMDAwMDIwMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAwMDIwMDAwMDAwMDIwMTFBODUzRjhDODU0MDhBQzBFMEMwRDBDMDI0Cis6MTAwMDMwMDBGMEMwODJDMDgzQzAwMEMwMDFDMDAyQzAwM0MwMDRDMEMxCis6MTAwMDQwMDAwNUMwMDZDMDA3RTUzRTI0MDhGOEU2NjAyQkU1M0UyNDFGCis6MTAwMDUwMDAxMEY4QTY4MUU1M0U3NUYwMjFBNDI0MDVGNTgyRTQzNDZDCis6MTAwMDYwMDBGOEY1ODM3ODhDRTU4MTA0QzM5OEY5OTQyMjQwMDMwMjYzCis6MTAwMDcwMDAxMURDRTZGMDA4QTNEOUZBNzQwODI1M0VGODA1M0UwODFECis6MTAwMDgwMDBFNjU0ODA3MDBDRTUzRUI0MDdGMzc4MDg3NTNFMDA4MEI2Cis6MTAwMDkwMDBFRkU1M0UyNDEwRjg4NjgxRTUzRTc1RjAyMUE0MjQwNUE1Cis6MTAwMEEwMDBGNTgyRTQzNEY4RjU4Mzc4OENFNTgxMDRDMzk4RjlFMEFGCis6MTAwMEIwMDBGNjA4QTNEOUZBRDAwN0QwMDZEMDA1RDAwNEQwMDNEMEQzCis6MTAwMEMwMDAwMkQwMDFEMDAwRDA4M0QwODJEMEYwRDBEMEQwRTAzMkE2Cis6MTAwMEQwMDAzMDAxNEQzMEI0NDgxMDAwNDU5MEZGMDhFMDU0MjBGODNFCis6MTAwMEUwMDA5MEZGNDhFMDU0MjBGOTkwRkYxMEUwNTQyMEZBOTBGRjcwCis6MTAwMEYwMDA1MEUwNTQyMEZCNzQwMEY1ODI3NEY4RjU4M0UwQzhGMEZBCis6MTAwMTAwMDA2ODYwMDI3RTA0QTNFMEM5RjA2OTYwMDI3RTA0QTNFMDk3Cis6MTAwMTEwMDBDQUYwNkE2MDAyN0UwNEEzRTBDQkYwNkI2MDAyN0UwNDRBCis6MTAwMTIwMDAyMkMwRTBDMEQwQzBGMEMwODJDMDgzQzAwMEMwMDFDMDA3Cis6MTAwMTMwMDAwMkMwMDNDMDA0QzAwNUMwMDZDMDA3NzQxNUY1ODI3NDcwCis6MTAwMTQwMDBGOUY1ODNFMDYwMjM3NDY2RjU4Mjc0RjlGNTgzRTAxNEIxCis6MTAwMTUwMDBGMDcwMTY3NEZGRjA3NDFDRjU4Mjc0RjlGNTgzRTA2MDlBCis6MTAwMTYwMDAwNDE0RjA3MDA0QzI5MDgwRkM5MEZGOTM3NDgxRjBFNTU5Cis6MTAwMTcwMDA4MTk0RkQ0MDAzMDIxMURDODU0MThEODU0MjhCNzRCMjcwCis6MTAwMTgwMDBGNTgyNzRGQUY1ODNFMEI0MDExQkMwODJDMDgzOTBGRjRFCis6MTAwMTkwMDA0QUUwMzBFNzJDOTBGRjRFRTAzMEU3MjVEMDgzRDA4MjU0Cis6MTAwMUEwMDA3NDAyRjA4MDIwQjQwMjFEQzA4MkMwODM5MEZGN0FFMDA4Cis6MTAwMUIwMDAzMEU3MDUxMjI4NEU4MDA5RDA4M0QwODI3NDAzRjA4MDg2Cis6MTAwMUMwMDAwNEQwODNEMDgyQTNFMEI0MDExQkMwODJDMDgzOTBGRjFGCis6MTAwMUQwMDA1MkUwMzBFNzJDOTBGRjU2RTAzMEU3MjVEMDgzRDA4MjA0Cis6MTAwMUUwMDA3NDAyRjA4MDI1QjQwMjIyQzA4MkMwODM5MEZGN0FFMEJFCis6MTAwMUYwMDAzMEU3MDUxMjI4NEU4MDA5RDA4M0QwODI3NDAzRjA4MDQ2Cis6MTAwMjAwMDAwOUQwODNEMDgyODAwMzAyMDI5MDc0MTZGNTgyNzRGOUJCCis6MTAwMjEwMDBGNTgzRTAyMDA0RjEyMDAyMDMzMDAxRUI3NDE5RjU4MjJDCis6MTAwMjIwMDA3NEY5RjU4M0UwMTRGQ0YwQTNFMEZEQTNFMEZFNjQwNEEwCis6MTAwMjMwMDA3MDBGRUM3MDYyN0UwMTEyMDBDOTdDMEE3REZBMDIwMjI2Cis6MTAwMjQwMDA2MTEyMDBDOUVFNjQwNDYwMURFQzcwNEI3QzBBRUQxNDcxCis6MTAwMjUwMDBGRDcwMTVFRTY0MDI2MDA3N0UwMjdEMzIwMjAyNjE3RTRGCis6MTAwMjYwMDAwMTdERkEwMjAyNjE3QzBBNzQxOUY1ODI3NEY5RjU4MzQyCis6MTAwMjcwMDBFQ0YwQTNFREYwQTNFRUYwMTQ2MDE4MjBFMTBGMjAwMUU0Cis6MTAwMjgwMDAwNkQyQjFDMkIwODAxMEMyQjFEMkIwODAwQUMyQjFDMjJGCis6MTAwMjkwMDBCMDgwMDREMkIwRDJCMTc4MTk3OTA5N0EwN0U3NzAwNDM2Cis6MTAwMkEwMDBBNjAwODAwQkU2NjAwODE2RTY3MDA0RTc0NDgwRjcwOEI1Cis6MTAwMkIwMDAwOURBRUFFNTNENjAxMzE0RjUzRDcwMEVFNTNFMjQwOEM5Cis6MTAwMkMwMDBGODc2MDAxMjExNTdEMjhDRDI4REQwMDdEMDA2RDAwNTA3Cis6MTAwMkQwMDBEMDA0RDAwM0QwMDJEMDAxRDAwMEQwODNEMDgyRDBGMDlGCis6MTAwMkUwMDBEMEQwRDBFMDMyOTBGRjA0RTA5MEZBQjlGMDkwRkYwNjUxCis6MTAwMkYwMDBFMEZDQTNFMEZBRUNGRkVBRkVFRkMzOTQwOEVFOTQwMTAxCis6MTAwMzAwMDA1MDAyODAwNDdFMDE3RjA4OEUzQjhGM0M5MEZGMDJFMDBDCis6MTAwMzEwMDBGQ0EzRTBGQUVDRkZFQTkwRkFCREYwRUZBM0YwMTIxQ0E4Cis6MTAwMzIwMDBFMEU0RjU0REU1NERDMzk0MDI1MDBGMTIxQ0MxRTQxMkY4Cis6MTAwMzMwMDAxQUU4MDU0RDA0MTIxQ0IyODBFQTEyMUNFMDkwRkYwMDdFCis6MTAwMzQwMDBFMEZGNTQ2MDI0QzA3MDAzMDIwOEYzMjQ0MDYwMDMwMkZECis6MTAwMzUwMDAwRjZFOTBGQUI5RTBGRTU0MEZGNTRERUUzMEU3MDNEMzdGCis6MTAwMzYwMDA4MDAxQzM5MjBBOTBGRjAxRTAxMjFCRkMwMzg0MDAwNDg5Cis6MTAwMzcwMDA1NzAxMDU2QTAzMDYzMTA1MDY3MzA2MDdENTA4MDgxREVGCis6MTAwMzgwMDAwOTA4NzkwQTA4QjkwQjAwMDAwRjZFRTUzNTIwRTcwMzZDCis6MTAwMzkwMDAwMjBGNkU5MEZBQkRFMDcwMDJBM0UwNjAwMzAyMEY2RUUwCis6MTAwM0EwMDBFNTNDNjQwMjQ1M0I2MDAzMDIwRjZFRUY1NDFGMTQ2MDhFCis6MTAwM0IwMDAyQjE0NjA0NzI0MDI2MDAzMDIwRjZFRUU2MDAzMDIwRkVECis6MTAwM0MwMDA2RTEyMUNDMTc0MDExMjFBRTg3ODY3RTYzMEUwMDgxMjU4Cis6MTAwM0QwMDAxQ0MxNzQwMjEyMUFFODdGMDIwMjMyNkVFNTM1MjBFMTc4Cis6MTAwM0UwMDAwOTkwRkFCOUUwNjAwMzAyMEY2RTkwRkFCOUUwRDM5NDc1Cis6MTAwM0YwMDAwMTQwMDMwMjBGNkU3RjAyMDIzMjZFRTUzNTIwRTEwRUVFCis6MTAwNDAwMDA5MEZBQjlFMEZGNjAwNzY0ODA2MDAzMDIwRjZFMTIwRjdDCis6MTAwNDEwMDBGQTQwMDMwMjBGNkVFNTRENzAxOTMwMEEwQjkwRkY4MDExCis6MTAwNDIwMDAxMjFDQkUxMjFBRTg4MDI0OTBGRjgyMTIxQ0JFMTIxQUZGCis6MTAwNDMwMDBFODgwMTkxNTREMzAwQTBCMTIxRDU1MTIxQ0JDMTIxQUZBCis6MTAwNDQwMDBFODgwMDkxMjFENjMxMjFDQkMxMjFBRTgxMjFDQzExMkFBCis6MTAwNDUwMDAxQUEyNjAwNTc0MDExMjFBRTg3RjAyMDIzMjZFRTUzNUI1Cis6MTAwNDYwMDAzMEU3MDMwMjBGNkVFNTNDNDUzQjYwMDMwMjBGNkUxMjVFCis6MTAwNDcwMDAxRDc5MTQ2MDJEMTQ2MDU5MjQwMjYwMDMwMjBGNkU5MEUwCis6MTAwNDgwMDBGQUJERTA3MDA0QTNFMDY0MDE2MDAzMDIwRjZFOTBGQTBECis6MTAwNDkwMDBCOUUwNjAwMzAyMEY2RTc4NjdFNjU0RkVGNkU0RkYwMkVGCis6MTAwNEEwMDAzMjZFRTUzNTIwRTEwNjIwRTAwMzAyMEY2RUU1MzUzMEJGCis6MTAwNEIwMDBFMDA5OTBGQUI5RTA2MDAzMDIwRjZFRTUzNTMwRTEwQzE3Cis6MTAwNEMwMDA5MEZBQjlFMEQzOTQwMTQwMDMwMjBGNkVFNEZGMDIzMkM4Cis6MTAwNEQwMDA2RTkwRkFCREUwNzAwMkEzRTA2MDAzMDIwRjZFMTIwRjhGCis6MTAwNEUwMDBGQTQwMDMwMjBGNkVFNTM1MjBFMTA2MjBFMDAzMDIwRjFCCis6MTAwNEYwMDA2RUU1MzUzMEUwMDdFNTRENjAwMzAyMEY2RUU1NEQ3MEE3Cis6MTAwNTAwMDAwRjkwRkY4MkUwNTRGN0YwOTBGRjgwRTA1NEY3RjAyMjY0Cis6MTAwNTEwMDBFNTREMjRGRTYwMjAyNEZCNjAzNDI0MDY3MDM1MzAwQTRCCis6MTAwNTIwMDAwQ0EyMEFFNDMzRkQ3RjAzMTIyRTc5ODAyNkU0RkQ3RkJFCis6MTAwNTMwMDAwMzEyMkU3OTgwMUQzMDBBMENBMjBBRTQzM0ZEN0YwNEQ5Cis6MTAwNTQwMDAxMjJFNzk4MDBFRTRGRDdGMDQxMjJFNzk4MDA1N0Y4N0JDCis6MTAwNTUwMDAxMjMxRUYxNTREMzAwQTBCMTIxRDU1RjU4M0UwNTRGNzlCCis6MTAwNTYwMDBGMDgwMDkxMjFENjNGNTgzRTA1NEY3RjBFNEZGMDIzMkQ2Cis6MTAwNTcwMDA2RUU1MzUzMEU3MDMwMjBGNkVFNTNDNDUzQjYwMDMwMjU0Cis6MTAwNTgwMDAwRjZFMTIxRDc5MTQ2MDJEMTQ2MDU1MjQwMjYwMDMwMjUxCis6MTAwNTkwMDAwRjZFOTBGQUJERTA3MDA0QTNFMDY0MDE2MDAzMDIwRkU3Cis6MTAwNUEwMDA2RTkwRkFCOUUwNjAwMzAyMEY2RTc4NjdFNjQ0MDFGNkQ4Cis6MTAwNUIwMDBFNEZGMDIzMjZFRTUzNTIwRTEwNjIwRTAwMzAyMEY2RTEzCis6MTAwNUMwMDBFNTM1MzBFMDA3RTU0RDYwMDMwMjBGNkVFNTM1MzBFMUJCCis6MTAwNUQwMDAwQUU1NEREMzk0MDE0MDAzMDIwRjZFRTRGRjAyMzI2RTMwCis6MTAwNUUwMDA5MEZBQkRFMDcwMDJBM0UwNjAwMzAyMEY2RTkwRkFCOUNBCis6MTAwNUYwMDBFMEZGMTIzMjNGNDAwMzAyMEY2RUU1MzUyMEUxMDYyMDk2Cis6MTAwNjAwMDBFMDAzMDIwRjZFRTU0RDcwMDkzMDBBMDMwMjFFMTQwMjZBCis6MTAwNjEwMDAxRERGRTUzNTIwRTEwMzAyMEY2RTE1NEQzMDBBMEIxMjg4Cis6MTAwNjIwMDAxRDU1RjU4M0UwNDQwOEYwODAwOTEyMUQ2M0Y1ODNFMDUxCis6MTAwNjMwMDA0NDA4RjBFNEZGMDIzMjZFRTUzNTMwRTcwMzAyMEY2RTQ2Cis6MTAwNjQwMDBFNTNDNDUzQjYwMDMwMjBGNkU5MEZBQjlFMDYwMDMwMjlGCis6MTAwNjUwMDAwRjZFMTIxRDc5NjAwMzAyMEY2RUU1MzUzMEUxMDMwMjYzCis6MTAwNjYwMDAwRjZFOTBGQUJFRTA5MEZGRkZGMEUwNjAwNTQzMzUwMUE5Cis6MTAwNjcwMDA4MDAzNTMzNUZFRTRGRjAyMzI2RUU1MzUyMEU3MDMwMkM2Cis6MTAwNjgwMDAwRjZFRTUzQzQ1M0I3MDAzMDIwRjZFMTIxRDc5NjAwMzRGCis6MTAwNjkwMDAwMjBGNkU5MEZBQkRFMEZDQTNFMEZERUMyNEZFNjAzQTkwCis6MTAwNkEwMDAxNDYwNzUyNDAyNjAwMzAyMEY2RUVENjAwMzAyMEY2RThBCis6MTAwNkIwMDAxMjFDRTAxMjFFMEQ3RDAzMTIwRkI1NjAwMzAyMEY2RUI3Cis6MTAwNkMwMDAxMjBGNzI5MEZBQjZFMEZEQTMxMjFEMkIxMjBGRDE1MDNCCis6MTAwNkQwMDAwMjgwMDRBRTNCQUYzQzAyMTAwMjEyMUNFMDkwRjkxNkZGCis6MTAwNkUwMDBFMDMwRTQwRDEyMUUwRDdEMTQxMjBGQjU2MDEwMDIwRkU0Cis6MTAwNkYwMDA2RTEyMUUwRDdEMDQxMjEwMDk2MDAzMDIwRjZFMTIwRkEwCis6MTAwNzAwMDA3MjkwRkFCNkUwRkRBMzEyMUQyQjEyMEZEMTUwMDI4MDk5Cis6MTAwNzEwMDAwNEFFM0JBRjNDMDIxMDAyMTIxRTBEN0QwNTEyMTAwOTAzCis6MTAwNzIwMDA2MDAzMDIwRjZFN0IwMTdBRkE3OUI2MTIxRDI4N0QwMUYzCis6MTAwNzMwMDAxMjI2OTg5MEZBQjdFNDc1RjAwMzEyMUIxQzkwRkFCRUNCCis6MTAwNzQwMDBFMDkwRkFCNUYwRTRGNTRDOTBGQUI1RTBGRkU1NENDMzYzCis6MTAwNzUwMDA5RjUwMjQxMjFEMjIxMjEwMTRGRkZEOTBGQUI3RTQ4RDUxCis6MTAwNzYwMDBGMDEyMUIxQzkwRkFCNkUwQzM5RkYwRDM5NDAwNTAwMzI0Cis6MTAwNzcwMDAwMjBGNkUwNTRDODBEMTEyMUQyMjEyMTAxNDI0RkVGRkIwCis6MTAwNzgwMDA5MEZBQjZGMEZEQTNFNDc1RjAwMjEyMUIxQzdBRjk3OTE5Cis6MTAwNzkwMDA3MjdCMDE4QjM2OEEzNzg5MzhFOTI0MDJGOUU0M0FGQTA4Cis6MTAwN0EwMDAxMjFEMjgxMjI2OTg4RjRDMDU0QzA1NEMxMjFDQzFFNUQxCis6MTAwN0IwMDA0QzEyMUFFODEyMUNDMTkwMDAwMTc0MDMxMjFBRkFBRjBECis6MTAwN0MwMDA0QzdFMDBDM0VGOTUzQ0VFOTUzQjUwMDI4MDA0QUUzQjVGCis6MTAwN0QwMDBBRjNDOEUzOThGM0EwMjJDRDgwMjBGNkVFNTM1MjBFN0Y4Cis6MTAwN0UwMDAwMzAyMEY2RUU1M0M2NDAxNDUzQjYwMDMwMjBGNkU5MDBGCis6MTAwN0YwMDBGQUI5RTA2MDAzMDIwRjZFOTBGQUJERTA3MDAyQTNFMDY4Cis6MTAwODAwMDA2MDAzMDIwRjZFMTIxRDc5NjAwMzAyMEY2RUU1MzUyMDQyCis6MTAwODEwMDBFMDA2MjBFMTAzMDIwRjZFNzUzNjAwNzUzNzAwNzUzODZCCis6MTAwODIwMDAzMjAyMEZGMUU1MzUzMEU3MDMwMjBGNkVFNTNDNDUzQjQwCis6MTAwODMwMDA2MDAzMDIwRjZFOTBGQUI5RTA2MDAzMDIwRjZFRDM5MDZFCis6MTAwODQwMDBGQUJFRTA5NDAxOTBGQUJERTA5NDAwNDAwMzAyMEY2RUZFCis6MTAwODUwMDAxMjFENzk2MDAzMDIwRjZFRTUzNTIwRTAwNjIwRTEwM0VBCis6MTAwODYwMDAwMjBGNkU5MEZBQkVFMEY1MzJFNTMyNzAwODQzMzUwMUIyCis6MTAwODcwMDA1MzM1RkQ4MDA2NTMzNUZFNDMzNTAyRTRGRjAyMzI2RUU4Cis6MTAwODgwMDBFNTM1MjBFNzAzMDIwRjZFRTUzQzY0MDE0NTNCNjAwMzVDCis6MTAwODkwMDAwMjBGNkU5MEZBQjlFMDYwMDMwMjBGNkU5MEZBQkRFMEFECis6MTAwOEEwMDA3MDAyQTNFMDYwMDMwMjBGNkUxMjFENzk2NDAxNjAwMzAxCis6MTAwOEIwMDAwMjBGNkVFNTM1MjBFMTAzMDIwRjZFN0YwMTAyMzI2RUZBCis6MTAwOEMwMDBFNTM1MzBFNzAzMDIwRjZFRTUzQzQ1M0I2MDAzMDIwRjYwCis6MTAwOEQwMDA2RUQzOTBGQUJFRTA5NDAwOTBGQUJERTA5NDAwNDAwMzFECis6MTAwOEUwMDAwMjBGNkUxMjFENzk2NDAxNjAwMzAyMEY2RUU1MzUyMDYwCis6MTAwOEYwMDBFMTAzMDIwRjZFRTRGRjAyMzI2RTkwRkYwMTEyMUUyNDJDCis6MTAwOTAwMDBFRjEyMUFFODkwRkFCOTEyMUUyNDkwMDAwMUVGMTIxQUExCis6MTAwOTEwMDBGQTkwMDAwMkU0MTIxQUZBNzQwMzEyMUNCMjkwRkFCREEzCis6MTAwOTIwMDBFMEZGQTNFMDg1Mzg4Mjg1Mzc4M0NGRjBBM0VGRjA5MDE2Cis6MTAwOTMwMDBGRjAxRTAxMjFCRkMwOTdCMDIwOTlEMDQwOUJGMDUwOUE4Cis6MTAwOTQwMDBFQjA2MEEwOTA3MEEyNzA4MEE0NTA5MEE2MzBCMEIxODcwCis6MTAwOTUwMDA4MDBEQjc4MTBERTg4MjBCNUY4MzBCQTg4NDBCQzc4NUUwCis6MTAwOTYwMDAwQzBDODYwQzU3ODcwQ0U4ODgwRDczODkwQTgxOTIwQTUzCis6MTAwOTcwMDA4MTkzMERBMEIwMEU5QkMwMEVDN0MxMEVEOEMyMDAwMDVGCis6MTAwOTgwMDAwRjVERTUzNTIwRTcwNTdGMDUwMjMxQTkxMjFENzE2MDc1Cis6MTAwOTkwMDAwMzA0NzAwOUVGRkQ3QzAwN0YwNzAyMTE1RUU0RkQ3RjE4Cis6MTAwOUEwMDAwNzAyMkZCNEU1MzUyMEU3MDU3RjA1MDIzMUE5MTIxREE2Cis6MTAwOUIwMDA3MTYwMDMwNDcwMDlFRkZEN0MwMDdGMEMwMjExNUVFNDlFCis6MTAwOUMwMDBGRDdGMDcwMjJGQjRFNTM1MzBFNzAzMDIwRjcxMTIxRUQ5Cis6MTAwOUQwMDA0MjUwMDZFNTNDNDUzQjcwMDU3RjAyMDIzMUE5OTBGQTgyCis6MTAwOUUwMDBCOUUwMjRGRTI0RkQ1MDAyODAwMzAyMzIyQzdGMDcwMjZFCis6MTAwOUYwMDAzMUE5RTUzNTMwRTcwMzAyMEY3MTEyMUQ3MTYwMDMwNDYwCis6MTAwQTAwMDA3MDA5RUZGRDdDMDA3RjA4MDIxMTVFN0YwNzAyMzFBOUFCCis6MTAwQTEwMDBFNTM1MzBFNzAzMDIwRjcxMTIxRDcxNjAwMzA0NzAwOUEwCis6MTAwQTIwMDBFRkZEN0MwMDdGMDkwMjExNUU3RjA3MDIzMUE5RTUzNUU5Cis6MTAwQTMwMDAzMEU3MDMwMjBGNzExMjFENzE2MDAzMDQ3MDA5RUZGREFFCis6MTAwQTQwMDA3QzAwN0YwQTAyMTE1RTdGMDcwMjMxQTlFNTM1MzBFNzlECis6MTAwQTUwMDAwMzAyMEY3MTEyMUQ3MTYwMDMwNDcwMDlFRkZEN0MwMDI5Cis6MTAwQTYwMDA3RjBCMDIxMTVFN0YwNzAyMzFBOUU1MzUzMEU3MDMwMkYzCis6MTAwQTcwMDAwRjcxMTIxRDcxNjAwMzA0NzAwOUVGRkQ3QzAwN0YwRTgxCis6MTAwQTgwMDAwMjExNUU3RjA3MDIzMUE5RTUzNTMwRTc1NjEyMUQ3OTY0Cis6MTAwQTkwMDA3MDRBOTBGRjAyRTBGNTRDRTU0Q0I0ODIwNTc1NEM2MTVDCis6MTAwQUEwMDA4MDEyRTU0Q0I0ODMwNTc1NEM2MjgwMDhFNTRDQzQ1NDUzCis6MTAwQUIwMDBGMDA0RjU0QzEyMUMyMjEyMUUzQjEyMjVGQTEyMUQ4OTVECis6MTAwQUMwMDAxMjFBQkI2MDA1MTIzMjdBODAwNjg1MzMzOTg1MzQzQUIyCis6MTAwQUQwMDA3NTM2MDE3NTM3Rjk3NTM4NzUwMjJDRDhFNEZEN0YwNTM4Cis6MTAwQUUwMDAwMjJGQjQxMjFENzk2MDA1N0YwNTAyMzFBOTEyMUU0MjQyCis6MTAwQUYwMDA0MDA1N0YwMzAyMzFBOTkwRkYwMkUwRjU0Q0U1NENCNEJDCis6MTAwQjAwMDA4MjA1NzU0QzYxODAxMkU1NENCNDgzMDU3NTRDNjI4MDlBCis6MTAwQjEwMDAwOEU1NENDNDU0RjAwNEY1NEMxMjFDMjIwMjMyMkMxMjhECis6MTAwQjIwMDAxRTRDMTIyQUM3MTIxRDMzRTA1NDdGRjAwMDAwMDBFMDczCis6MTAwQjMwMDA5MEZBQkFGMDc4NjgxMjFCRDg5MDAwMDIxMjFBQkIzMEYzCis6MTAwQjQwMDBFN0YyOTAwMDAyRTQxMjFBRkE5MEZBQkFFMDQ0ODBGRjQ5Cis6MTAwQjUwMDBGMDc4N0NFNkZDMDhFNjhDODMxMjFEM0JFRkYwMTIzMjQ1Cis6MTAwQjYwMDA4NEU0RkYwMjMxQTk5MEZBQjlFMDY0MDE3MDFGOTBGQUExCis6MTAwQjcwMDBCREUwRkY3RTAwNzAwNkEzRTBGNTkwODAyREMyQUZFRkQwCis6MTAwQjgwMDBGNDUyOTA5MEZBQkVFMDQyOTBEMkFGODAxRDkwRkFCRDMwCis6MTAwQjkwMDBFMEZGN0UwMDcwMDZBM0UwRjVCMDgwMEVDMkFGRUZGNDc4Cis6MTAwQkEwMDA1MkIwOTBGQUJFRTA0MkIwRDJBRkU0RkYwMjMxQTkxMkQ3Cis6MTAwQkIwMDAxQ0UwOTBGQUI5RTBCNDAxMEExMjFDQzFFNTkwMTIxQUM3Cis6MTAwQkMwMDBFODgwMDgxMjFDQzFFNUIwMTIxQUU4MDIwRkYxOTBGQTkxCis6MTAwQkQwMDBCOUUwRkYyNDEzMTIxQ0YxMjBFMTMzMTIxRDgwRUYyNDMxCis6MTAwQkUwMDBGQzYwMTgwNDcwMjg5MEZBQkFFMDYwMDk5MEZGQTRFMDU1Cis6MTAwQkYwMDA0NDEwRjA4MDE5MTIxRTU2RjA4MDEzOTBGQUJBRTA2MDhCCis6MTAwQzAwMDAwOTkwRkZCNEUwNDQxMEYwODAwNDEyMUU1REYwRTRGRjkwCis6MTAwQzEwMDAwMjMxQTk5MEZBQjlFMEZGMjQxMzEyMUNGMTIwRTEzOTQ2Cis6MTAwQzIwMDAxMjFEODBFRjI0RkM2MDFCMDQ3MDJFOTBGQUJBRTA2MDY1Cis6MTAwQzMwMDAwOTkwRkZBNEUwNDQyMEYwODAxRjkwRkZBNEUwNTRERjVGCis6MTAwQzQwMDBGMDgwMTY5MEZBQkFFMDYwMDk5MEZGQjRFMDQ0MjBGMDFBCis6MTAwQzUwMDA4MDA3OTBGRkI0RTA1NERGRjBFNEZGMDIzMUE5MTIxREQ5Cis6MTAwQzYwMDA4MDEyMUQ3MTYwNEQwNDYwMDMwMjBDRTM5MEZBQkFFMDNCCis6MTAwQzcwMDA2MDBGOTBGRkE0MTIxQ0VBMzBFMTZGMTIxRTJDMDIwQ0QwCis6MTAwQzgwMDBFMzkwRkZBNEUwNTRGQjEyMUNFREZFMzBFMTVDMzBFMjg3Cis6MTAwQzkwMDAxMTMwQjQwNTEyMUUyQzgwNTE5MEZGQTRFMDU0RkRGMEQ5Cis6MTAwQ0EwMDA4MDQ4MzA5NTA1MTIxRTJDODA0MDkwRkZBNEUwNTRGRDMyCis6MTAwQ0IwMDBGMDgwMzc5MEZBQkFFMDYwMTI5MEZGQjQxMjFDRUEzMDZDCis6MTAwQ0MwMDBFMTI4OTBGRkI0RTA0NDAyRjA4MDFGOTBGRkI0RTA1NEFDCis6MTAwQ0QwMDBGQjEyMUNFRDMwRTExMzMwOTMwOTkwRkZCNEUwNDQwMkE1Cis6MTAwQ0UwMDBGMDgwMDc5MEZGQjRFMDU0RkRGMEU0RkYwMjMxQTkxMjU4Cis6MTAwQ0YwMDAxRDgwOTBGQUI5RTAyNEZDNjA0MDA0NzA3ODkwRkFCQTQ0Cis6MTAwRDAwMDBFMDYwMUQ5MEZGQTJFMDQ0NDBGMEEzRTBGRjMwRTc2NTAzCis6MTAwRDEwMDBEMjAzQTNFMDU0REZGMDkwRkZBM0VGNTQ3RkYwODA1NTlGCis6MTAwRDIwMDAzMDAzMEU5MEZGQTNFMDQ0ODBGMEMyMDNBM0UwNDQyMDEwCis6MTAwRDMwMDBGMDkwRkZBMkUwNTRCRkYwODAzQjkwRkFCQUUwNjAxRDUzCis6MTAwRDQwMDA5MEZGQjJFMDQ0NDBGMEEzRTBGRjMwRTcyOEQyMDRBM0Q0Cis6MTAwRDUwMDBFMDU0REZGMDkwRkZCM0VGNTQ3RkYwODAxODMwMDQwRUMyCis6MTAwRDYwMDA5MEZGQjNFMDQ0ODBGMEMyMDRBM0UwNDQyMEYwOTBGRjgxCis6MTAwRDcwMDBCMkUwNTRCRkYwRTRGRjAyMzFBOTEyMUNFMDkwRkFCOUNFCis6MTAwRDgwMDBFMDI0RkM2MDBGMDQ3MDE2OTBGRkE2RTAxMjFDQzExMjU0Cis6MTAwRDkwMDAxQUU4ODAwQTkwRkZCNkUwMTIxQ0MxMTIxQUU4NzUzOUYxCis6MTAwREEwMDAwMDc1M0EwMTAyMkNEODkwRjkxNTc0MDFGMDkwRjkxQ0U1Cis6MTAwREIwMDA3NDE5RjA5MEY5NjY3NEZGRjBFNEZGMDIzMUE5RTRGRkMyCis6MTAwREMwMDAxMjMxQTkxMjFERTc3RjAzMTIxMjYxOTBGOTE2RTAzMDZCCis6MTAwREQwMDBFNDA4OTBGRjkzNzQ4MEYwODAxMDkwRkZGQ0UwNTQ3RjUzCis6MTAwREUwMDBGMDdGRkY3RTAwMTIzMEQzQzI5MEMyQUYwMDgwRkRFNERFCis6MTAwREYwMDBGNTRFRjU0RjkwRkFCRjc0M0VGMEEzRTRGMDkwRkFCN0M5Cis6MTAwRTAwMDBGMEEzNzQxNUYwRTA1NDNGRkZDMzc0NDA5RjkwRkFCQzA4Cis6MTAwRTEwMDBGMEQzOTQwMEU0OTQzRTQwMDg5MEZBQzBFMDkwRkFCQzBECis6MTAwRTIwMDBGMDEyMEY5OEU1MzE0NTMwNzA3MzEyMUNGQTkwRkFCRjNBCis6MTAwRTMwMDAxMjFFMDY2MDI3RDNFRjk0NDBFRTk0MDA0MDA4OTBGQTBCCis6MTAwRTQwMDBCQzc0NDBGMDgwMDg5MEZBQzBFMDkwRkFCQ0YwMTIwRjM5Cis6MTAwRTUwMDA5OEU1MzE0NTMwNzA0NjEyMUNGQTgwRDE3NTRDMDI5MEVECis6MTAwRTYwMDBGQUJGRTRGMEEzMDRGMDkwRkFCN0U0RjBBMzc0MEZGMDMzCis6MTAwRTcwMDA3QjAwN0EwMDc5NEM5MEZBQzBFMEY1NEE3RDBGN0MwMDQ3Cis6MTAwRTgwMDAxMjI5NjA3NTMwMDA4RjMxN0IwMDdBMDA3OTRDRTRGNUNGCis6MTAwRTkwMDAyREY1MkU3RDAxMTIyNjk4RTRGNTMwRjUzMUFGMzEwMkEzCis6MTAwRUEwMDAzMUE5MTIxRDgwMzBFNzEwRTA1NDBGOTBGOTY3RjBEMzlDCis6MTAwRUIwMDA5NDAwNDAxNUMyOTU4MDExOTBGQUJBRTA1NDBGOTBGOTUxCis6MTAwRUMwMDA2NUYwRDM5NDAwNDAwMkMyOTRFNEZGMDIzMUE5MTIxRURGCis6MTAwRUQwMDA0Q0JGMDEwNEQyOTM4MDAyQzI5M0U0RkYwMjMxQTkxMkY1Cis6MTAwRUUwMDAxRDgwNTQwMzE0NjAwQTE0NjAwRjE0NjAwODI0MDM3MEZBCis6MTAwRUYwMDAyQkQyOTE4MDI3QzI5MTgwMjMxMjFFNTYxMjBGQzA2MDAwCis6MTAwRjAwMDAwNEQyOTE4MDE3OTBGRkE0RTA0NDEwMTIwRkMwRkZCRkRECis6MTAwRjEwMDBBMDA0QzI5MTgwMDJEMjkxMTIxRTU2RjA5MEZBQkFFMDVCCis6MTAwRjIwMDA1NDBDRkYxMzEzNTQzRjE0NjAwQTE0NjAwRjE0NjAwODJDCis6MTAwRjMwMDAyNDAzNzAyQkQyOTI4MDI3QzI5MjgwMjMxMjFFNUQxMjRFCis6MTAwRjQwMDAwRkUwNjAwNEQyOTI4MDE3OTBGRkI0RTA0NDEwMTIwRkJCCis6MTAwRjUwMDBFMEZGQkZBMDA0QzI5MjgwMDJEMjkyMTIxRTVERjBFNEI0Cis6MTAwRjYwMDBGRjAyMzFBOUU1MzUzMEU3MDdFNEZEN0YwNTAyMkZCNDI0Cis6MTAwRjcwMDA3RjA1MDIzMUE5MTIzMjdBMjI3QjAxN0FGQTc5QjY5MDgyCis6MTAwRjgwMDBGQUI3RTBGNTJEQTNFMEY1MkU3RDAxMTIyNjk4OTBGQTMwCis6MTAwRjkwMDBCN0U0NzVGMDAzMTIxQjFDQUIzNkFBMzdBOTM4MjJBQTk2Cis6MTAwRkEwMDA0RUE5NEY3QkZGOTBGQUI3RTBGQ0EzRTBGRDkwRkFCQzlFCis6MTAwRkIwMDBFMEY1NEExMjI5NjA3NTMwMDA4RjMxMjIxMjIzNjE3RURDCis6MTAwRkMwMDAwMDhFMzA4RjMxRUYyMkYwN0YwMTEyMTI2MTkwRkZBNjY4Cis6MTAwRkQwMDBFMDkwRkFCQkYwNTRBMDIyMTIyNjk4OEY0QzdFMDBDM0ZBCis6MTAwRkUwMDBFRjk1M0NFRTk1M0IyMkYwN0YwMTEyMTI2MTkwRkZCNjI3Cis6MTAwRkYwMDBFMDkwRkFCQkYwNTRBMDIyNzUzOTAwNzUzQTAxMDIyQzNBCis6MTAxMDAwMDBEODkwRkFCOUUwRkYwMjMyM0Y4RTM5OEYzQTAyMkNEOERECis6MTAxMDEwMDAxMjIzNjE3RTAwOEUzMDhGMzFFRjIyN0QwMTEyMjY5OERGCis6MTAxMDIwMDA5MEZBQjRFMDIyRUY5MEY4MDRGMDIyQzBBOEMyQUZFRTJDCis6MTAxMDMwMDA2MDBBQzAwNTdEN0ZEREZFREVGQUQwMDVFRkMzOTQxNUEyCis6MTAxMDQwMDA1MDAzRDBBODIyMTM3MDAzRDBBODIyRkZENTA3RkREMEVCCis6MTAxMDUwMDBBODIyQzAwMEMwMDFDMDAyQzAwNEMwMDVFNTNFMjQwOEFCCis6MTAxMDYwMDBGODg2MDU1MzA1N0Y3Q0ZGMTIxMEMwN0YwMDdFMDBFNUU3Cis6MTAxMDcwMDA0MzYwNDZGQzkwRjkxREUwNTQ3RjZENzAwRkMwODNDMDQzCis6MTAxMDgwMDA4MkEzRTBGRUEzRTBGRkEzMTU0MzgwMDdBM0EzQTNEQzk0Cis6MTAxMDkwMDBFNjgwMjZEQzA2RDA4MkQwODM4MDFFRTBGOEEzRTBGOTRCCis6MTAxMEEwMDBBM0UwRkFEMDgyRDA4M0U4RjBBM0U5RjBBM0VBRjBBM0FBCis6MTAxMEIwMDBDMDgzQzA4MkEzQTNBMzgwREExMjExNTdEMDA1RDAwNDQ1Cis6MTAxMEMwMDBEMDAyRDAwMUQwMDAyMjg1QTg0NDc1QTg4OEVDNzAwMjE3Cis6MTAxMEQwMDA3QzNGOEMzRDIyRTUzRTI0MDhGODc2MDAxMjExQUU4MDVDCis6MTAxMEUwMDBGQkMwMDBDMDAxQzAwMkMwMDRDMDA2N0NGRjEyMTBDMERCCis6MTAxMEYwMDBFNTQzNjA0MkZFOTBGOTFERTA1NDdGNkY3MDBCQzA4M0EyCis6MTAxMTAwMDBDMDgyQTNBM0EzMTU0MzgwMDdBM0EzQTNERUVBODAyNjdFCis6MTAxMTEwMDBERTA2RDA4MkQwODM4MEQ4RTBGOEEzRTBGOUEzRTBGQTFECis6MTAxMTIwMDBEMDgyRDA4M0U4RjBBM0U5RjBBM0VBRjBBM0MwODNDMEEzCis6MTAxMTMwMDA4MkEzQTNBMzgwREE3ODA4MDg3OTE4MDk3QzAxRTY1NDExCis6MTAxMTQwMDA3RjZGNzAwNjc2MDA3NzAwODAwNjA4MDkwQ0JDMDhFRUY5Cis6MTAxMTUwMDAxMjExNTdEMDA2RDAwNEQwMDJEMDAxRDAwMDIyNzUzRDI0Cis6MTAxMTYwMDAwMDg1NDRBODIyQzBGMEMwODJDMDgzQzNFNTQzMjRFOEMwCis6MTAxMTcwMDA1MDA1MTIxMUFFODBGNEVGNjAzMTkwMzExMUU0OTNDMzQ5Cis6MTAxMTgwMDA5RjQwMkZDMDA0N0NGRjEyMTBDMEQwMDQ0MzA3ODBFNUFECis6MTAxMTkwMDA0Mzc1RjAwM0E0MjQxREY1ODJFNDM0RjlGNTgzRUZGMEUwCis6MTAxMUEwMDBFQ0EzRjBFREEzRjAwNTQzMTIxMTU3RDA4M0QwODJEMDA5Cis6MTAxMUIwMDBGMDIyMDIxMURDQzAwNDdDMjBEMjhDRDI4REQ1MDRGRDNCCis6MTAxMUMwMDBEMDA0MjI3NUE4MDA3NTg4MDA3NUI4MDA3NUYwMDA3NTA4Cis6MTAxMUQwMDBEMDAwRTRGODkwRjgwNEYwOTAwMDAwRjYwOEI4MDBGQkE2Cis6MTAxMUUwMDAwMjAwMDBDMkFGRTQ5MEZGNDhGMDkwRkY1MEYwOTBGRjgzCis6MTAxMUYwMDAwOEYwOTBGRjEwRjA5MEZGODBGMEEzQTNGMEQyQjFDMkVFCis6MTAxMjAwMDBCMDdFRkY3RkZGMTIxMDI0N0VGRjdGRkYxMjEwMjQ3RTJFCis6MTAxMjEwMDBGRjdGRkYxMjEwMjREMkIwRDJCMTdFRkY3RkZGMTIxMEU5Cis6MTAxMjIwMDAyNDdFRkY3RkZGMTIxMDI0N0VGRjdGRkYxMjEwMjQ4MDk4Cis6MTAxMjMwMDBDQ0MzRUU5NDAyNTAwNDdFMDM3RkU4RUZGNEZGRUVGNDlCCis6MTAxMjQwMDBGRTBGQkYwMDAxMEU4RjQyOEU0MTIyQzNFRjk0QkNFRTExCis6MTAxMjUwMDA5NDAyNTAwNDdFMDc3RkQwRUZGNEZGRUVGNEZFMEZCRjQwCis6MTAxMjYwMDAwMDAxMEU4RjQwOEUzRjIyRUY3MDAxMjJDMDAwQzBBODA3Cis6MTAxMjcwMDBDMkFGRTUzRTI0MThGOEE2MDdFNTNFMjQwOEY4QzY1NDk4Cis6MTAxMjgwMDA3RkY2RDBBOEU2MzBFNzAzRDAwMDIyMTIxMUFFODBGNDNBCis6MTAxMjkwMDBDMDAwN0YwMUVGMjQwOEY4RTY2MDA5MEZCRjA4RjUxMkNGCis6MTAxMkEwMDAxMUFFODBFRUQwMDAyMkMwRjBDMDgyQzA4M0MwMDBDMDZBCis6MTAxMkIwMDAwNkMwMDRFRDI0MTBGODc2OUFFRDc1RjAyMUE0MjQwNUZCCis6MTAxMkMwMDBGNTgyRTQzNEY4RjU4M0MwODJDMDgzQTNBM0U0NzgwREVCCis6MTAxMkQwMDBGMEEzRDhGQ0VGNTQ3Rjc1RjAwMkE0MjRGM0Y1ODJFNTY3Cis6MTAxMkUwMDBGMDM0MzBGNTgzRTQ5M0ZFNzQwMTkzRkNEMDgzRDA4MjE0Cis6MTAxMkYwMDBFQ0YwQTNFRUYwRUQyNDA4RjhFRjQ0ODBGNkQwMDREMDMzCis6MTAxMzAwMDAwNkQwMDBEMDgzRDA4MkQwRjAyMjc1M0UwMDc1NDMwMDE1Cis6MTAxMzEwMDA3QTA4NzkxODc4MDg3NjAwNzcwMDA4MDlEQUY4OTBGOEUyCis6MTAxMzIwMDAwNEUwRkM5MDMxMTFFNDkzQzM5QzUwMDVFNDkwRjgwNDcwCis6MTAxMzMwMDBGMDc4MDg3NDgwNDQ3RkY2NzQwMTQ0MTBGNTg5NzVCODFDCis6MTAxMzQwMDAwMEQyQUJEMkE5MjI3NTgxOEJEMjhFRDI4Q0QyQUZFNURFCis6MTAxMzUwMDA0MzYwMzZGRjkwRjkxREUwNTQ4MDYwMjg3ODA4NzkwOEQyCis6MTAxMzYwMDBFMDU0N0ZGQTdCMDBFNjU0N0ZCNTAyMDI3QkZGMDhEOTg4Cis6MTAxMzcwMDBGNUVCNzAxMEVBRjBDMDA3MTIxMjg5QUQwN0FGMDIxMjQ4Cis6MTAxMzgwMDAxMkEwRDAwN0EzQTNBM0RGQ0UxMjExQUU4MEMxOEYyNDc5Cis6MTAxMzkwMDAxMjJBQzcxMjIyQjVBM0EzRTBBMzMwRTcyODc4N0UxMjUxCis6MTAxM0EwMDAyMjk5RTA0NDAxRjAxMjIyRkExMjIyOURFMDIwRTBGNjk4Cis6MTAxM0IwMDAxMjIzNTA3NDAyRjAxMjIyREFFMEEzMzBFNTA3MTIyMzYwCis6MTAxM0MwMDA1MEUwNDQwMUYwNzg4MEU2RkUwOEU2RkY4RTgzMjQwOEIyCis6MTAxM0QwMDAxMjIyQTFFMEZEMTIyMzM5OEE4MzI0MEExMjIyQTFFREYwCis6MTAxM0UwMDBGMDEyMjMwNjI0MDcxMjIyQTFFMEZGMTIyMzVBMjQwOTM3Cis6MTAxM0YwMDAxMjIyQTFFRkYwOTBGOTE2RTAzMEU0MjAwODEyMjJCNzkzCis6MTAxNDAwMDBDMDgzQzA4MkEzRTAyNUUwRkYwNTgyRDU4MjAyMTU4MzU4Cis6MTAxNDEwMDAxNTgyRTAzM0QwODJEMDgzRjBBM0VGRjAxMjIyQjVFMDQyCis6MTAxNDIwMDBGQ0EzRTBGREVDRkYxMjIzMzk4QTgzMjQwODEyMjJBMUQ5Cis6MTAxNDMwMDBFRkYwRUQxMjIzNUEyNDA3MTIyMkExRURGMDEyMjJBOTk3Cis6MTAxNDQwMDBFMDMwRTYwQTEyMjM0MTI0MDkxMjIyQTFFNEYwMTIyMjFDCis6MTAxNDUwMDBBOUUwRkYzMEU3MUIxMjIzMUUyNDA5MTIyMkExRTA2MDNECis6MTAxNDYwMDAwOTEyMjJBOUVGNDQwMkYwODAwNzEyMjJBOUVGNTRGRENECis6MTAxNDcwMDBGMDc4N0UxMjIyQjdBM0EzRTBGRjUzMDdDNzA4RTZGQzZCCis6MTAxNDgwMDAwOEU2RkQxMjIyRTBBM0UwMzBFMzEyOEQ4MjhDODNFNUIyCis6MTAxNDkwMDA4MjI0MDUxMjIyQTFFMDkwMzI1MTkzNDIwNzUzMDdGQkE4Cis6MTAxNEEwMDAxMjIzMUUyNDA2MTIyMkExRTA2MDAzNDMwNzA0NTMwN0ZGCis6MTAxNEIwMDBGQzc4ODAxMjIzMjkyNDA0MTIyMkExRTA0MjA3NDMwNzZBCis6MTAxNEMwMDA4MDEyMjMzOUY1ODI4QTgzQTNBM0VGRjAxMjIzNUEyNEQyCis6MTAxNEQwMDAwNDEyMjJBMUUwRkY4RDgyOEM4M0EzQTNFMEZDQTNFMDkxCis6MTAxNEUwMDBGRDMwRTEwNTUzMDdERjgwMDM0MzA3MjBFQzMwRTQwNUJFCis6MTAxNEYwMDA1MzA3RUY4MDAzNDMwNzEwMTIyMkE5RTBGRTU0MDM2MDU0Cis6MTAxNTAwMDA3MzUzMDdERkVFMzBFMTY5MTIyMzFFMjQwOTEyMjJBMTcyCis6MTAxNTEwMDBFMDEyMUJGQzE1MkMwMDE1NjAwMTE1NjUwMzE1NjAwNTE0Cis6MTAxNTIwMDAxNTY1MDcxNTYwMDkxNTY1MEIxNTYwMEQxNTY1MEYwMDJDCis6MTAxNTMwMDAwMDE1NkRFNTI0NjQwMzcwMjE5MEY5MTZFMDMwRTIwRDhBCis6MTAxNTQwMDAzMEI0MDU0MzA3MDI4MDJDNTMwN0ZEODAyNzMwOTUwNUYyCis6MTAxNTUwMDA0MzA3MDI4MDFGNTMwN0ZEODAxQTMwOTMwNTQzMDcwMjlCCis6MTAxNTYwMDA4MDEyNTMwN0ZEODAwRDQzMDcwMjgwMDg1MzA3RkQ4MDVBCis6MTAxNTcwMDAwMzUzMDdGRDEyMjMyNzI0MDQxMjIyQTFFRkYwOEQ4MkNBCis6MTAxNTgwMDA4QzgzQTNBM0EzRTBGRjEyMjJBOUUwRkU1NDAzNzAwM0ZGCis6MTAxNTkwMDAwMjE2NjBFRTIwRTEwMzAyMTY1RDA4MTIyMzIwMjQwOUUyCis6MTAxNUEwMDAxMjIyQTFFMDEyMUJGQzE1QkYwMDE1RjUwMTE1RjUwMzcxCis6MTAxNUIwMDAxNjI5MDUxNjI5MDcxNjBGMDkxNjBGMEIxNjQzMEQxNkM3Cis6MTAxNUMwMDA0MzBGMDAwMDE2NjBFNTI0NjQwMzcwMjM5MEY5MTZFMEQxCis6MTAxNUQwMDAzMEUyMEYzMEIxMDY1MzA3N0YwMjE2NjA0MzA3ODAwMkU2Cis6MTAxNUUwMDAxNjYwMzA5NDA1NTMwNzdGODA3RDQzMDc4MDgwNzgzMEY0Cis6MTAxNUYwMDA5MjA1NTMwNzdGODA3MDQzMDc4MDgwNkJFNTI0QjQwMzE2Cis6MTAxNjAwMDAwOTkwRkY5RUUwNTRFRkYwODAwNzkwRkY5RUUwNTRERkNBCis6MTAxNjEwMDBGMDUzMDc3RjgwNTFFNTI0QjQwMzA5OTBGRjlFRTA0NDE2Cis6MTAxNjIwMDAxMEYwODAwNzkwRkY5RUUwNDQyMEYwNTMwNzdGODAzNzQyCis6MTAxNjMwMDBFNTI0QjQwMzA5OTBGRjlFRTA1NEVGRjA4MDA3OTBGRjhCCis6MTAxNjQwMDA5RUUwNTRERkYwNDMwNzgwODAxREU1MjRCNDAzMDk5MDM5Cis6MTAxNjUwMDBGRjlFRTA0NDEwRjA4MDA3OTBGRjlFRTA0NDIwRjA0MzlFCis6MTAxNjYwMDAwNzgwODAwMzUzMDc3RjEyMjJEQUUwRkNBM0UwRkQzMEZECis6MTAxNjcwMDBFMDA1NDMwNzIwODAwMzUzMDdERkVDMzBFMzA1NDMwNzExCis6MTAxNjgwMDA0MDgwMDM1MzA3QkZFQzMwRTAwNTQzMDcxMDgwMDM1MzRECis6MTAxNjkwMDAwN0VGRUQzMEU0MDU0MzA3MDg4MDAzNTMwN0Y3RUQzMDBCCis6MTAxNkEwMDBFNTA1NDMwNzA0ODAwMzUzMDdGQkVEMzBFNjA1NDMwN0Q4Cis6MTAxNkIwMDAwMTgwMDM1MzA3RkVFRDMwRTcwNTQzMDcwMjgwMDM1MzIzCis6MTAxNkMwMDAwN0ZENzg3RTEyMjJEQ0EzRUZGMDEyMzI4NDdGMDAyMjI1Cis6MTAxNkQwMDA5MEZGRkE3NDA4RjBBMzc0MTZGMDkwRkZGOTc0MDJGMDBBCis6MTAxNkUwMDA3QjAxN0FGQTc5Q0ZFNEZEMTIyMzYxOTBGQUNGRTQ3NTk5Cis6MTAxNkYwMDBGMDAzMTIxQjFDMTIxOTkyRTUyMzMwRTcwMkQyMDI3QjgxCis6MTAxNzAwMDAwMDdBMDA3OTI0OTBGQUNGRTBGNTJEQTNFMEY1MkU3RDQ0Cis6MTAxNzEwMDAwMTEyMjY5ODkwRkFDRkU0RjBBMzc0MEJGMDdCMDA3QUM0Cis6MTAxNzIwMDAwMDc5MjM3NTJEMDBGNTJFN0QwMTEyMjY5OEU1MjMyNERFCis6MTAxNzMwMDA4MDkwRkZGOEYwRTUyMzY0MDc2MDFFRTUyMzY0MDY2MEVGCis6MTAxNzQwMDAxOEU1MjM2NDE0NjAxMkU1MjM2NDQxNjAwQ0U1MjM2NDBBCis6MTAxNzUwMDAxQTcwNDZFNTI0NjQwMjcwNDBFNTIzQjQwNzE2RDI5NDVCCis6MTAxNzYwMDBEMjk1RDI5MkQyOTM5MEY5MTZFMDQ0MDJGMEEzRTA0NENECis6MTAxNzcwMDAwMkYwODAxRUU1MjNCNDQxMTI5MEY5MTZFMDQ0MDZGMDExCis6MTAxNzgwMDBBM0UwNDQwNkYwRDJCMUQyQjQ4MDA3OTBGOTE2RTA0NDQ5Cis6MTAxNzkwMDAwMUYwOTBGOTE3RTA0NDAxRjBFNTIzNjQ0MjYwMENFNUE0Cis6MTAxN0EwMDAyMzY0NDM2MDA2RTUyMzY0NDQ3MDJFOTBGOTE2RTBGRjNECis6MTAxN0IwMDBFNTIzQjQ0NDA0N0U0MDgwMDI3RTAwRUUyNDgwNEY5MEY2Cis6MTAxN0MwMDBGOTE2RjBBM0UwRkZFNTIzQjQ0NDA0N0U0MDgwMDI3RUQ2Cis6MTAxN0QwMDAwMEVFMjQ4MDRGOTBGOTE3RjA5MEZBQ0ZFNEYwQTM3NDU0Cis6MTAxN0UwMDAwREYwMTIxOTkyOTBGRkY1RTUyM0YwRTRGNTM1RjUzMzhECis6MTAxN0YwMDBGNTM0RjUzMjEyMUUzNDEyMUNFMDEyMUUzQjkwRjk2QUM5Cis6MTAxODAwMDAxMjFCRjM5MEY5NkYxMjFCRjM5MEZGRkZFNEYwOTBGRkFGCis6MTAxODEwMDA4M0UwRTRGMDkwRkY4MTc0ODBGMEEzNzQ4NEYwOTBGRjgzCis6MTAxODIwMDA4MEYwRTRGNTIzRTUyMzEyMUQ1N0Y1ODNFNEYwRTUyMzZBCis6MTAxODMwMDAxMjFENjVGNTgzRTRGMDA1MjNFNTIzQjQwN0U3Nzg3QTA0Cis6MTAxODQwMDA3NkZFMDg3NkYwOTAzMjBBRTQ5M0ZGNzg3OEY2RkRBREU0Cis6MTAxODUwMDAwNzkwMzIxN0U0OTNGRjA4RjZGRkVENTQwRkZEMTIxREI5Cis6MTAxODYwMDA0Nzc0ODRGMEVENzVGMDA4QTQyNDQ3RjU4MkU0MzRGRjUyCis6MTAxODcwMDBGNTgzRUZGMEMzNzRGMDlGNzg3QkY2NzRGRTk0MDAxODQ0Cis6MTAxODgwMDAxMjFDRDhDRUMzMTNDRTEzRDhGOUZGRUQxMjFEQThFRjRBCis6MTAxODkwMDBGMEVEMTIxRENFRTRGNTIzRTUyMzkwMzIwNDkzRkY3ODlBCis6MTAxOEEwMDA3OEY2RkRFNTIzMjVFMDI0MEJGNTgyRTQzNDMyRjU4MzU4Cis6MTAxOEIwMDBFNDkzMDhGNkVEMzBFNzUzMThFNjU0MEZGOTEyMUQ0NzhDCis6MTAxOEMwMDAxMjFEQjYyNDQ3RjU4MkU0MzRGRjEyMUNDOENFQzMxM0EwCis6MTAxOEQwMDBDRTEzRDhGOUZGRTkxMjFEQThFRkYwMTIxQ0NGQ0VDMzJBCis6MTAxOEUwMDAxM0NFMTNEOEY5MTIxREJCMjQ0NUY1ODJFNDM0RkZGNTVECis6MTAxOEYwMDA4M0VGRjBFOTEyMURDRUU5NzVGMDA4QTQyNDQ2RjU4MkM1Cis6MTAxOTAwMDBFNDM0RkZGNTgzNzQ4MEYwMDIxOTY3Nzg3OEU2NTQwRkE5Cis6MTAxOTEwMDBGOTEyMUQ5QTEyMURCNjI0MDdGNTgyRTQzNEZGMTIxQzM5Cis6MTAxOTIwMDBDOENFQzMxM0NFMTNEOEY5MTIxREJCMjQwMUY1ODJFNDJGCis6MTAxOTMwMDAzNEZGRjU4M0VGRjAxMjFDQ0ZDRUMzMTNDRTEzRDhGOUNBCis6MTAxOTQwMDAxMjFEQkIyNDA1RjU4MkU0MzRGRkY1ODNFRkYwRTk3NTQxCis6MTAxOTUwMDBGMDA4QTQyNDAyRjU4MkU0MzRGRkY1ODNFNEYwRTk3NThECis6MTAxOTYwMDBGMDA4QTQyNDA2RjU4MkU0MzRGRkY1ODNFNEYwMDUyM0FGCis6MTAxOTcwMDBFNTIzNjQwNDYwMDMwMjE4OTE5MDMyMDlFNDkzRkY3ODMwCis6MTAxOTgwMDA3OEY2MTIxRDk4RTRGMDkwMzIwODkzRkZGNjEyMUQ0NTg4Cis6MTAxOTkwMDBFNEYwOTBGRkZENzQwNUYwMjI3QjAwN0EwMDc5MjM5MDNCCis6MTAxOUEwMDBGQUNGRTQ3NUYwMDExMjFCMzI4NUYwMkVGNTJEN0QwMTgyCis6MTAxOUIwMDAwMjI2OThFNzA5RjYwOERGRkE4MDQ2RTcwOUYyMDhERjExCis6MTAxOUMwMDBGQTgwM0U4ODgyOEM4M0U3MDlGMEEzREZGQTgwMzJFMzU1Cis6MTAxOUQwMDAwOUY2MDhERkZBODA3OEUzMDlGMjA4REZGQTgwNzA4OEY4Cis6MTAxOUUwMDA4MjhDODNFMzA5RjBBM0RGRkE4MDY0ODk4MjhBODNFMDMyCis6MTAxOUYwMDBBM0Y2MDhERkZBODA1ODg5ODI4QTgzRTBBM0YyMDhERjIxCis6MTAxQTAwMDBGQTgwNEM4MEQyODBGQTgwQzY4MEQ0ODA2OTgwRjI4MENGCis6MTAxQTEwMDAzMzgwMTA4MEE2ODBFQTgwOUE4MEE4ODBEQTgwRTI4MEY1Cis6MTAxQTIwMDBDQTgwMzM4OTgyOEE4M0VDRkFFNDkzQTNDOEM1ODJDODRBCis6MTAxQTMwMDBDQ0M1ODNDQ0YwQTNDOEM1ODJDOENDQzU4M0NDREZFOUI0Cis6MTAxQTQwMDBERUU3ODAwRDg5ODI4QTgzRTQ5M0EzRjYwOERGRjlFQzUwCis6MTAxQTUwMDBGQUE5RjBFREZCMjI4OTgyOEE4M0VDRkFFMEEzQzhDNURCCis6MTAxQTYwMDA4MkM4Q0NDNTgzQ0NGMEEzQzhDNTgyQzhDQ0M1ODNDQzAyCis6MTAxQTcwMDBERkVBREVFODgwREI4OTgyOEE4M0U0OTNBM0YyMDhERjcxCis6MTAxQTgwMDBGOTgwQ0M4OEYwRUY2MDAxMEU0RTYwQzM4OEYwRUQyNDQxCis6MTAxQTkwMDAwMkI0MDQwMDUwQjlGNTgyRUIyNDAyQjQwNDAwNTBBRjQ0Cis6MTAxQUEwMDAyMzIzNDU4MjIzOTAxOUZDNzNCQjAxMDY4OTgyOEE4MzE0Cis6MTAxQUIwMDBFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDBECis6MTAxQUMwMDA5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDk4Cis6MTAxQUQwMDAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEI3Cis6MTAxQUUwMDBFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjdECis6MTAxQUYwMDAwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzlECis6MTAxQjAwMDAyMkY4QkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODNFOEU5Cis6MTAxQjEwMDBGMDIyNTAwNkU5MjU4MkM4RjYyMkJCRkUwNUU5MjU4MjlGCis6MTAxQjIwMDBDOEYyMjJDNUYwRjhBM0UwMjhGMEM1RjBGOEU1ODIxNTY4Cis6MTAxQjMwMDA4MjcwMDIxNTgzRTAzOEYwMjJBM0Y4RTBDNUYwMjVGMEFBCis6MTAxQjQwMDBGMEU1ODIxNTgyNzAwMjE1ODNFMEM4MzhGMEU4MjJCQjA4Cis6MTAxQjUwMDAwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBBM0VCCis6MTAxQjYwMDBFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkUwQTQ5Cis6MTAxQjcwMDBFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODNFOTE3Cis6MTAxQjgwMDA5M0Y1RjBBM0U5OTMyMkJCMDEwQTg5ODI4QTgzRjBFNUU5Cis6MTAxQjkwMDBGMEEzRjAyMjUwMDZGNzA5QTdGMDE5MjJCQkZFMDZGM0M2Cis6MTAxQkEwMDBFNUYwMDlGMzE5MjJGOEJCMDExMUU1ODIyOUY1ODJFNTc4Cis6MTAxQkIwMDA4MzNBRjU4M0U4RjBFNUYwQTNGMDIyNTAwOUU5MjU4MkE1Cis6MTAxQkMwMDBDOEY2MDhBNkYwMjJCQkZFMDlFOTI1ODJDOEYyRTVGMEI2Cis6MTAxQkQwMDAwOEYyMjJBNDI1ODJGNTgyRTVGMDM1ODNGNTgzMjJFNjFBCis6MTAxQkUwMDBGQjA4RTZGQTA4RTZGOTIyRUJGNjA4RUFGNjA4RTlGNjU5Cis6MTAxQkYwMDAyMkUwRkJBM0UwRkFBM0UwRjkyMkVCRjBBM0VBRjBBM0QyCis6MTAxQzAwMDBFOUYwMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MENCCis6MTAxQzEwMDAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjhGCis6MTAxQzIwMDA5MzY4NjBFRkEzQTNBMzgwREZBQjM2QUEzN0E5MzhFNTlBCis6MTAxQzMwMDA0QzEyMUFFODc0MDEyNTM4RjUzOEU0MzUzN0Y1MzdBQjFFCis6MTAxQzQwMDAzNkZBQTkzODc0MTExMjFBRTg3NDAxMjUzOEY1MzhFNDA3Cis6MTAxQzUwMDAzNTM3RjUzNzkwRkYwNkUwQUIzNkFBMzdBOTM4MTIxQUE4Cis6MTAxQzYwMDBFODc0MDEyNTM4RjUzOEU0MzUzN0Y1MzdBQjM2RkFBOThECis6MTAxQzcwMDAzOEU0MTIxQUU4MDQyNTM4RjUzOEU0MzUzN0Y1MzdBQjdGCis6MTAxQzgwMDAzNkZBQTkzOEU0MTIxQUU4MDQyNTM4RjUzOEU0MzUzNzZECis6MTAxQzkwMDBGNTM3OTBGRjA0RTBBQjM2QUEzN0E5MzgxMjFBRTg3NDdBCis6MTAxQ0EwMDAwMTI1MzhGNTM4RTQzNTM3RjUzNzkwRkYwNUUwQUIzNkQ4Cis6MTAxQ0IwMDBBQTM3QTkzODEyMUFFODc0MDEyNTM4RjUzOEU0MzUzN0ZGCis6MTAxQ0MwMDBGNTM3MjJGNTgzRTA1NDA4QUIzNkFBMzdBOTM4MjJGNTU4Cis6MTAxQ0QwMDA4M0VGRjBGRDdDMDBDMzc4N0JFNjlERjYxOEU2OUNGNjZBCis6MTAxQ0UwMDBFNkZFMDhFNjc4MDMyMjc1MzYwMTc1MzdGOTc1Mzg3MjE1Cis6MTAxQ0YwMDAyMkUwNDQwNEYwNzQxMzJGRjU4MkU0MzRGOUY1ODNFMDE0Cis6MTAxRDAwMDAyMjkwRkFCQ0UwRkY3RTAwQzM5MEZBQzBFMDlGRjA5MDAyCis6MTAxRDEwMDBGQUJGRTA5RUYwOTBGQUI3RUU4RkYwMTIxQjFDRUYyNTkxCis6MTAxRDIwMDA0RkY1NEZFRTM1NEVGNTRFMjI3QjAxN0FGQTc5QjQ5MDlECis6MTAxRDMwMDBGQUI3RTBGNTJEQTNFMEY1MkUyMjc4N0NFNkZFMDhFNjYyCis6MTAxRDQwMDA4RTgzMjQwNEY1ODJFNDM1ODNGNTgzMjI1NDBGNzVGMEU1Cis6MTAxRDUwMDAwOEE0MjQ0MEY1ODJFNDM0RkZGNTgzMjJFNTRENzVGMEI0Cis6MTAxRDYwMDAwOEE0MjQ0OEY1ODJFNDM0RkYyMkU1NEQ3NUYwMDhBNDY4Cis6MTAxRDcwMDAyNDA4RjU4MkU0MzRGRjIyOTBGQUI5RTBGRjI0RkMyMjIzCis6MTAxRDgwMDA5MEZGMDBFMDU0MUYyMjkwRkFCRUUwOTBGQUJBRjAyMkQxCis6MTAxRDkwMDA3NTMzMDA4RjM0OTBGOTZGMTIxQkVBOTAwMDAyMjI1NEMxCis6MTAxREEwMDAwRjc1RjAwOEE0MjQwMEY1ODJFNDM0RkZGNTgzMjI3NTUyCis6MTAxREIwMDBGMDA4QTQyNDQxRjU4MkU0MzRGRkY1ODMyMjc0ODBGMDE2Cis6MTAxREMwMDAwOEU2RkZFOTc1RjAwOEE0MjI3NEIyMjUyMkY1ODJFNDQyCis6MTAxREQwMDAzNEZBRjU4MzIyNzVGMDA4QTQyNDQyRjU4MkU0MzRGRjM2Cis6MTAxREUwMDBGNTgzNzQ4MEYwMjI5MEZGODJFMDQ0MDhGMDIyOTBGRjk3Cis6MTAxREYwMDBGRUUwNDQwM0YwOTBGRkZDRTA1NEZERjAyMjc4NjdFNjNCCis6MTAxRTAwMDA1NEZERjY5MEZGRkQ3NDY1RjAyMjEyMUJDQ0UwRkVBMzlBCis6MTAxRTEwMDBFMEZGNEUyMjdCMDE3QUZBNzlCNzIyOTBGRjgwRTA0NEZFCis6MTAxRTIwMDAwOEYwMjI5MEZGODNFMDU0N0ZGMDIyRTBGRjkwRjk2QUVGCis6MTAxRTMwMDAwMjFCRUE5MEZGQTRFMDQ0MDJGMDIyNzUzOTAxNzUzQUQyCis6MTAxRTQwMDAwOTIyN0IwMTdBRjk3OTcyMjJEM0U1M0M5NDA4RTUzQkJCCis6MTAxRTUwMDA5NDAxMjI5MEZBQkVFMEZGOTBGQUJBRjAyMjkwRkZBNDFCCis6MTAxRTYwMDBFMDU0RUYyMjkwRkZCNEUwNTRFRjIyMTIxMDRCNzg4ODM4Cis6MTAxRTcwMDBFRkY2MTIyQUM3MTIyMkZBOEU4MzI0MDkxMjIyQTFFMDU5Cis6MTAxRTgwMDBGRDEyMjJFODkwMDAwQTEyMjMwMjI0MEExMjIyQTFFMDg1Cis6MTAxRTkwMDA5MDAwMEIxMjFBRkExMjIyRkFGNTgyOEU4M0EzQTNBM0UyCis6MTAxRUEwMDBFMEY1NTMxMjIzMDYyNDA0MTIyMkExRTBGNTU0OEY4Mjk4Cis6MTAxRUIwMDA4RTgzQTNBM0UwRjU1NUU1NTNDNDEzMTMxMzU0MDE3ODlGCis6MTAxRUMwMDA4OEY2RDM5NDAwNDAwNkU1NTQzMEUxMDEwNjc4ODhFNkIwCis6MTAxRUQwMDAxMjIyRTc5MDAwMENFRjEyMUFGQTEyMjJCNUEzQTNFMDI3Cis6MTAxRUUwMDBGRUEzRTBGRjUzMDcwQzUzMDZFNkU1NTMzMEU1MDM0MzNBCis6MTAxRUYwMDAwNzAxRTU1NDIwRTUwRUU1NTM1NDdGNzAwOEU1NTMyMEIzCis6MTAxRjAwMDBFNzAzNDMwNzAyRTU1MzMwRTMwMzQzMDcxMEU1NTMzMDhCCis6MTAxRjEwMDBFMjAzNDMwNzIwRTU1MzU0MDM2MDAzNDMwNzQwRTU1M0JFCis6MTAxRjIwMDAzMEUxMDM0MzA3ODBFNTUzMzBFNDAzNDMwNjAxRTU1MzAyCis6MTAxRjMwMDAzMEU2MDM0MzA2MDhFNTU0MjBFNDBFRTU1MzU0N0Y3MDcxCis6MTAxRjQwMDAwOEU1NTMyMEU3MDM0MzA2MTA1MzA3RkI1MzA2Nzk5MDM3Cis6MTAxRjUwMDAwMDA1RUU4RkYwMTIxQjlGRTU1NTMwRTMxMjU0MzBGRjYxCis6MTAxRjYwMDBDNDU0MEYxMjIyRTc5MDAwMDhFRjEyMUFGQTgwMEExMkU2Cis6MTAxRjcwMDAyMkU4OTAwMDA4RTQxMjFBRkFFNTU1NTQwMzEyMjJFNzA5Cis6MTAxRjgwMDA5MDAwMDdFRjEyMUFGQUU1NTU1NDA0RkZDMzEzOTAwMEFFCis6MTAxRjkwMDAwOTEyMUFGQTkwMDAwNzEyMUFCQjcwMTMxMjIyRThFOTBDCis6MTAxRkEwMDAyNDA5RjlFNDNBRkExMjFBQTJGRkMzMTMxMjFBRTgxMjJBCis6MTAxRkIwMDAyMzI3MjQwODEyMjJBMUUwRkU4RDgyOEM4M0U1ODIyNDRGCis6MTAxRkMwMDAwNzEyMjJBMUUwRkRFRUVEMTIyMkU3OTAwMDAzRUU4RjUyCis6MTAxRkQwMDBGMDEyMUI5RjEyMzI4NDdEMEFFNEZGMTIyRkI0MDIxMDBDCis6MTAxRkUwMDBDRTkwRkFFNkUwQjQwMzA2N0UwMDdGNDA4MDA0N0UwMEQ3Cis6MTAxRkYwMDA3RjA4OTBGQURBRUVGMEEzRUZGMDkwMDAwNTEyMUFCQjFBCis6MTAyMDAwMDBGRjdFMDA5MEZBRDZFRUYwQTNFRkYwNzAwMzdGMDgyMjc3Cis6MTAyMDEwMDA5MDAwMDgxMjFCNDhGRjkwRkFEOEU1RjBGMEEzRUZGMDBCCis6MTAyMDIwMDBBRTAyQUYwMThFNTA4RjUxNzQwQTI1NTFGNTUxRTQzNTNGCis6MTAyMDMwMDA1MEY1NTA5MEZBREJFMEZGMTRGRTkwRkFEOUUwNUVGRTE2Cis6MTAyMDQwMDBDM0VGOUVGRjkwRkFEREYwQzM5MEZBRDdFMDlGOTBGQUJECis6MTAyMDUwMDBENkUwOTQwMDUwMDZBM0UwOTBGQURERjAxMjIwQTk2MENCCis6MTAyMDYwMDAwM0UwRkYyMjEyMkUyQjkwRkFENkUwRkVBM0UwRkY0RUYzCis6MTAyMDcwMDA2MDJCOTBGQURBRTBGQ0EzRTBGREQzRUY5REVFOUM0MEVDCis6MTAyMDgwMDAwN0UwOTBGQURERjA4MDA4OTBGQUQ3RTA5MEZBRERGMEYyCis6MTAyMDkwMDAxMjIwQTk2MDAzRTBGRjIyMTIyRTJCODBDQTdCMDA3QTU3Cis6MTAyMEEwMDAwMDc5NTJFNEY1MkRGNTJFN0QwMTEyMjY5ODdGMDAyMjRECis6MTAyMEIwMDBBQTUwQTk1MTdCMDE5MEZBRDhFMEZDQTNFMEZEOTBGQTY4Cis6MTAyMEMwMDBEREUwRjU0QTEyMjk2MDkwRkFEQ0VGRjAyMkVGMjRBRTUxCis6MTAyMEQwMDA2MDUyMjRGRTYwMkUyNEZFNzAwMzAyMjE2OTI0MDY2MEYzCis6MTAyMEUwMDAwMzAyMjFCMTc4NzFFNjU0RkJGNjkwRkZBNUUwRjUyMkRBCis6MTAyMEYwMDA0NDBGRjA3NDMzOTBGQTk0RjBFNTIyQTNGMDkwRkFCMjEyCis6MTAyMTAwMDA3NDAxRjAyMjc4NzJFNjU0RkJGNjkwRkZCNUUwRjUyMkY4Cis6MTAyMTEwMDA0NDBGRjA3NDQzOTBGQTk2RjBFNTIyQTNGMDkwRkFCM0RFCis6MTAyMTIwMDA3NDAxRjAyMjkwRkFBMEUwQTMyMEU1MDMwMjIxQjE5MDBGCis6MTAyMTMwMDBGRkE2RTA5MEZBQ0RGMEEzRjA5MEZBQ0RFMEZGNTQwRkE3Cis6MTAyMTQwMDBGRTYwMTA5MEZGQTYxMjIzMEQ5MEZGQTZFMDkwRkFDRDNFCis6MTAyMTUwMDBGMDgwRTY5MEZBQ0VFMEZGNzQzNEZFMTIyRDg1RUY3MDI5Cis6MTAyMTYwMDA1NzkwRkFDRUUwRkY3NDM0OTBGQTk4RjBFRkEzRjAyMjgzCis6MTAyMTcwMDA5MEZBQUFFMEEzMzBFNTQwOTBGRkI2RTA5MEZBQ0RGMEU3Cis6MTAyMTgwMDBBM0YwOTBGQUNERTBGRjU0MEZGRTYwMTA5MEZGQjYxMjVFCis6MTAyMTkwMDAyMzBEOTBGRkI2RTA5MEZBQ0RGMDgwRTY5MEZBQ0VFMDA1Cis6MTAyMUEwMDBGRjc0NDRGRTEyMkQ4NUVGNzAwRTkwRkFDRUUwRkY3NDlFCis6MTAyMUIwMDA0NDkwRkE5QUYwRUZBM0YwMjJDMEUwQzBGMEMwODNDMEQwCis6MTAyMUMwMDA4MkMwRDA3NUQwMDBDMDAwQzAwMUMwMDJDMDAzQzAwNEVFCis6MTAyMUQwMDBDMDA1QzAwNkMwMDc5MEZGOTJFMEZGOTBGQUNDRjA5MEQ3Cis6MTAyMUUwMDBGRjkyRTRGMEVGMTIxQkZDMjI2OTI2MjI2OTJFMjIwQ0RBCis6MTAyMUYwMDAzMDIyMEMzMjIyMUEzODIyMkMzQTIyNUUzRTIyNDk0NEU2Cis6MTAyMjAwMDAyMjNFNDYyMjU0NTAyMjU0NTIyMjU0NTQyMjU0NTYwMDA0Cis6MTAyMjEwMDAwMDIyNkU5MEZBQ0NFMEZEN0MwMDdGMDExMjExNUU4MEZFCis6MTAyMjIwMDA2MjdDMDA3RDAxN0YwMzEyMTE1RTkwRkZGRUUwNDQyMDdFCis6MTAyMjMwMDBGMDgwNTA3QzAwN0QwMTdGMDIxMjExNUU5MEZGRkVFMDc1Cis6MTAyMjQwMDA0NDQwRjA4MDNFN0MwMDdEMDE3RjA1MTIxMTVFODAzM0FBCis6MTAyMjUwMDA3QzAwN0QwMTdGMDYxMjExNUU4MDI4OTBGQUNDRTBGRkExCis6MTAyMjYwMDAxMjIwQzY4MDFFN0MwMDdEMDE3RjA0MTIxMTVFODAxMzQ3Cis6MTAyMjcwMDAxMjI4NEU4MDBFOTBGQUNDRTAyNDAwRkZFNDM0RkZGRURBCis6MTAyMjgwMDAxMjJEODVEMDA3RDAwNkQwMDVEMDA0RDAwM0QwMDJEMEJGCis6MTAyMjkwMDAwMUQwMDBEMEQwRDA4MkQwODNEMEYwRDBFMDMyNzg3QzkyCis6MTAyMkEwMDBFNkZFMDhFNjI0MDQ4RTgzRjU4MkU0MzU4M0Y1ODMyMjc2Cis6MTAyMkIwMDA3NDEzMjUyNEY1ODJFNDM0RjlGNTgzMjI3ODgwRTZGRTUwCis6MTAyMkMwMDAwOEU2RjU4MjhFODMyMjc4ODBFNkZFMDhFNkFBMDZGODA0Cis6MTAyMkQwMDBBQzAyN0QwMTdCRkY3QTMyNzk1NjdFMDA3RjBBMDIxQUJBCis6MTAyMkUwMDA3Qzc4ODBFNkZDMDhFNkY1ODI4QzgzQTNBMzIyRkY5MDJECis6MTAyMkYwMDBGOTZGMDIxQkVBOTBGOTZBMTIxQkVBOTAwMDA0MDIxQUI1Cis6MTAyMzAwMDBCQjc4N0VFNkZFMDhFNkZGMjJFRDEyMUFGQThGODI4RTc3Cis6MTAyMzEwMDA4M0U1ODIyMkVGRjA5MEZBQ0VFMDU0MEY0RUZFRjBFRjBDCis6MTAyMzIwMDA1NEYwNEVGMDIyNzg4MEU2RkMwOEU2OEM4MzIyNzg3RTFBCis6MTAyMzMwMDBFNkZDMDhFNkZEOEM4MzIyQTYwN0U2MjQ2RUY4RTYyMjdBCis6MTAyMzQwMDA3ODdFRTZGQTA4RTZGQjIyMDhFNkZFMDhFNjhFODMyMjlGCis6MTAyMzUwMDAyNkY2MThFRTM2RjYyMkVGMjQwQkY1ODJFNDNFRjU4M0RFCis6MTAyMzYwMDAyMjhCODI4QTgzRTU4MjIyOEIyNThBMjY4OTI3OEQyOEUzCis6MTAyMzcwMDA5MEZBRDJFNEYwQTM3NDAyRjA3QjAxN0FGQTc5RDE5MDVBCis6MTAyMzgwMDBGQUQyRTBGNTJEQTNFMEY1MkU3RDAxMTIyNjk4OTBGQTAxCis6MTAyMzkwMDBEMUUwNjUyODYwNDZBM0UwRkZBM0UwQTNDRkYwQTNFRjYwCis6MTAyM0EwMDBGMDEyMjNGMDkwRkFEMUUwRkY5MEZBRDRFNDhGRjAxMjBCCis6MTAyM0IwMDAxQjFDMTIyM0YwOTBGQUQ0RTBGRkEzRTA5MEZBRDJDRkQ2Cis6MTAyM0MwMDBGMEEzRUZGMDkwRkFEMUUwQTM3NUYwMDAxMjFCMUM5MDdGCis6MTAyM0QwMDBGQUQyRTQ3NUYwMDQxMjFCMUMwMjIzNzI5MEZBRDNFMEM3Cis6MTAyM0UwMDAyNDAxRkY5MEZBRDJFMDM0MDBBQjI1QUEyNkE5Mjc4RjVBCis6MTAyM0YwMDBGMDEyMUI4MDdGMDAyMjdCMDE3QUZBNzlEMTkwRkFEMjA5Cis6MTAyNDAwMDBFNDc1RjAwMTEyMUIxQzg1RjAyRUY1MkQ3RDAxMDIyNkNFCis6MTAyNDEwMDA5ODhGNjIxMjJBQzcxMjIyRkE4RTgzMjQwQjEyMjJBMUVECis6MTAyNDIwMDBFMDU0RkJGMDQ0MDJGMDA4MTIyMkRDRTBBMzMwRTUwQzlCCis6MTAyNDMwMDAxMjIzMDYyNDBCMTIyMkExRTA0NDAxRjA3ODdDRTZGRTcwCis6MTAyNDQwMDAwOEU2RkZGNTgyOEU4M0UwNTRCOEZERjBFNTYyMjRGRUQ1Cis6MTAyNDUwMDA0NDIwRkM0REYwRTU4MjI0MDQxMjIyQTFFMDU0QjhGMDlGCis6MTAyNDYwMDA0Q0YwOEY4MjhFODNBMzc0MDNGMDE4RTZGRTA4RTZGRjFCCis6MTAyNDcwMDA4RTgzMjQwNTEyMjJBMUMwODNDMDgyRTBGRDc0OTkyNUI5Cis6MTAyNDgwMDA2MkY1ODJFNDM0RkFGNTgzRTA1NEZDNDQwM0ZDRUQ0QzNECis6MTAyNDkwMDBEMDgyRDA4M0YwOEY4MjhFODNFMDQ0ODBGMEU1ODIyNDY2Cis6MTAyNEEwMDAwNDEyMjJBMUUwNDQ4MEYwMTIzMjg0NzQ2RTI1NjJGODk2Cis6MTAyNEIwMDA3NDA0NDZGNjdGMDAyMjEyMTA0QjdGMDIxMjEyNjE3OERDCis6MTAyNEMwMDA2N0U2NDQwMkY2RDJCMEQyQjE5MEY5MTZFMDMwRTcwN0UxCis6MTAyNEQwMDA5MEZGOUVFNEYwODAzNkQyQjM5MEZGQTRFMDkwRkE3RUE1Cis6MTAyNEUwMDBGMDkwRkZCNEUwOTBGQTdGRjA5MEZGQTJFMDkwRkE3Q0M5Cis6MTAyNEYwMDBGMDkwRkZCMkUwOTBGQTdERjA5MEZGQTQ3NDMwRjA5MDdECis6MTAyNTAwMDBGRkI0RjA5MEZGQTI3NDQwRjA5MEZGQjJGMDkwRkFFN0IxCis6MTAyNTEwMDBFNUE4RjA3NUE4ODE5MEZGOTJFMDYwMDRFNEYwODBGNkYxCis6MTAyNTIwMDA5MEZGRkQ3NDNBRjA0Mzg3MDEwMDAwMDA5MEZBN0VFMENFCis6MTAyNTMwMDA5MEZGQTRGMDkwRkE3RkUwOTBGRkI0RjA5MEZBN0NFMDc2Cis6MTAyNTQwMDA5MEZGQTJGMDkwRkE3REUwOTBGRkIyRjA5MEY5MThFMEQxCis6MTAyNTUwMDA2MDAyQzJCMzkwRkFFN0UwRjVBODAyMTBDRThCNUM4QTY1Cis6MTAyNTYwMDA1RDg5NUUxMjJFMEQ5MEZBQzMxMjFCRjNBQTVEQTk1RTVGCis6MTAyNTcwMDA5MEZBQzYxMjFCRjM5MEZBQzdFNDc1RjAwQTEyMUIxQ0ZFCis6MTAyNTgwMDA5MEZBQzYxMjFCRUFFOTI0MDFGOUU0M0FGQTkwRkFDOTcyCis6MTAyNTkwMDAxMjFCRjNBQjVDQUE1REE5NUUxMjJFMTlFMEZGQzMxM0Y4Cis6MTAyNUEwMDBGMEU0Nzg4MkY2OTBGQUMxRTBGRjc4ODJFNkMzOUY1MEFCCis6MTAyNUIwMDA0QTkwRkFDMzEyMkRFRUZGNzg4M0Y2OTBGQUM2MTIyREQ4Cis6MTAyNUMwMDBFRUZFRjQ1RkZGNzg4M0Y2MTIyREVCNUU0RkZGNzg4MzBCCis6MTAyNUQwMDBGNjEyMkRGNDc1RjAwMjEyMUIxQzkwRkFDN0U0NzVGMDg4Cis6MTAyNUUwMDAwMjEyMUIxQ0FCNUNBQTVEQTk1RTkwMDAwNDEyMUFCQjEwCis6MTAyNUYwMDAzMEU0MDMxMjJFMDM3ODgyMDY4MEFBRTQ5MEZBQzJGMDM3Cis6MTAyNjAwMDAyMjhCNTY4QTU3ODk1ODkwRkFDMjc0MDZGMEU0OTBGQUUxCis6MTAyNjEwMDBDMUYwMTIxQUEyMjQ2RTYwMjYxNDcwNzAxMjJEREE2MEI2Cis6MTAyNjIwMDAwOTI0MzA3MDEyMTIyNTU2ODA2MjEyMkUyNDEyMUZEQUVECis6MTAyNjMwMDA5MEZBQzJFRkYwODA1NTkwRkFDMjc0ODFGMDgwNEQxMjhBCis6MTAyNjQwMDAyRERBNjAwOTI0MzA3MDNFMTIyRDMwODAzRkU1NTgyNDg5Cis6MTAyNjUwMDAwM0Y5RTQzNTU3RkE3QjAxQzAwM0MwMDJDMDAxMTIyRTEyCis6MTAyNjYwMDAyNDkwMDAwNTEyMUFCQkZEOTAwMDA4MTIxQjQ4RjUyRTlECis6MTAyNjcwMDA4NUYwMkREMDAxRDAwMkQwMDMxMjI2OTg5MEZBQzFFRjM4Cis6MTAyNjgwMDBGMEU0QTNGMDgwMDY5MEZBQzI3NDgxRjA5MEZBQzJFMDAwCis6MTAyNjkwMDAxMjJFMjQ5MDAwMDIxMjFBRkE5MEZBQzFFMEZGMjI4QjQ3Cis6MTAyNkEwMDAyOThBMkE4OTJCOEQyQ0U1MkM3MDAzQUYyQzIyMTIyRTFGCis6MTAyNkIwMDA1MzcwMTYxMjJFNzJFNTJEOTBGRkYxRjAxMjMxRDg1MEEyCis6MTAyNkMwMDBGMjEyMjcyNTQwMEI3RjAwMjIxMjJFNzIxMjI3MjU1MDZFCis6MTAyNkQwMDBGODkwRkZGMzc0QTFGMEU1MkNCNDAxMDc5MEZGRjBFMDRGCis6MTAyNkUwMDA0NDAyRjA5MEZGRjFFNEYwRjUyRkU1MkMxNEZGRTUyRjA0Cis6MTAyNkYwMDBDMzlGNTAyQTEyMzFDMTQwMDNBRjJGMjJDM0U1MkM5NTRFCis6MTAyNzAwMDAyRkZGQkYwMjA3OTBGRkYwRTA0NDAyRjAxMjJFNjUwNTk0Cis6MTAyNzEwMDAyRjc0MDEyNTJCRjUyQkU0MzUyQUY1MkE4MENDMTIzMUI0Cis6MTAyNzIwMDBDMTQwMDM3RjE4MjIxMjJFNjVBRjJDMjI5MEZGRjFFNUU1Cis6MTAyNzMwMDAyRUYwMDIzMUQ4MTIxMDRCNzg4NDEyMjMzMTMwRTEwODg4Cis6MTAyNzQwMDA3RjEzMTIzMUE5MDIyN0JDNzg4NEU2RjkyNDEzMTIyMkUwCis6MTAyNzUwMDBBREUwRkYzMEU3NDA1NDAzNjAxRUU5QjQwMzBEOTBGRjg1Cis6MTAyNzYwMDA5RUUwNTRGRUYwRTA0NDA0RjA4MDQ2OTBGRjlFRTA1NDZBCis6MTAyNzcwMDBGREYwRTA0NDA4RjA4MDM5RTlCNDAzMEQ5MEZGOUVFMERECis6MTAyNzgwMDA1NEZCRjBFMDQ0MDFGMDgwMjg5MEZGOUVFMDU0RjdGMDA1Cis6MTAyNzkwMDBFMDQ0MDJGMDgwMUJFRjU0MDM2MDE0RTlCNDAzMDk5MDk1Cis6MTAyN0EwMDBGRkE0RTA1NERGRjA4MDA3OTBGRkI0RTA1NERGRjBDMkY0Cis6MTAyN0IwMDBCMzkwRjkxOEUwMDRGMEFGMDExMjIyRUVGRDEyMkZFNUZDCis6MTAyN0MwMDAxMjMxQTkwMjEwQ0U3NUE4NDA3ODdGRTRGNkQ4RkQ3NUM1Cis6MTAyN0QwMDA4MThCMDIyODA5MDIzMThDRTQ5M0EzRjhFNDkzQTM0MDhGCis6MTAyN0UwMDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzhDCis6MTAyN0YwMDAyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1Njg3Cis6MTAyODAwMDA4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MEJFCis6MTAyODEwMDA5MDJCQTlFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOUVGCis6MTAyODIwMDA1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBOEJFCis6MTAyODMwMDA0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MjUxCis6MTAyODQwMDBDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkJGCis6MTAyODUwMDBFOURFRTc4MEJFRTRGNTIyMTIxREMyRTBCNDA0MERFNTE2Cis6MTAyODYwMDAyMjI0MDNGRjEyMzAxMzEyMURDMkU0RjAwNTIyRTUyMkQ4Cis6MTAyODcwMDBDMzk0MDI0MEUzRTRGNTIyNzVGMDAyRTUyMjkwRkE5NDU1Cis6MTAyODgwMDAxMjFFMDM2MDJDMTIyRDg1RUY2MDUyNzVGMDAyRTUyMkI2Cis6MTAyODkwMDA5MEZBOTQxMjFCQ0NFNEYwQTNGMDc1RjAwQUU1MjI5MEI0Cis6MTAyOEEwMDBGQUEwMTIxQkNDRTBBMzMwRTYzMzEyMURDMjc0MDRGMDcwCis6MTAyOEIwMDAyMjc1RjAwMkU1MjI5MEZBOTgxMjFFMDM2MDE2MTIyRDdFCis6MTAyOEMwMDA4NUVGNjAxOTc1RjAwMkU1MjI5MEZBOTgxMjFCQ0NFNEFFCis6MTAyOEQwMDBGMEEzRjAyMjA1MjJFNTIyQzM5NDAyNDA5QjIyRTRGRkVDCis6MTAyOEUwMDA5MEZGODNFMDU0MEZGRUVGQzM5RTUwMTc3NEYwMkZGNTU2Cis6MTAyOEYwMDA4MkU0MzRGRUY1ODNFMDEyMUNDMTEyMUFFODBGMTIxQ0E4Cis6MTAyOTAwMDBCMDgwRERFRkZEQzNFNTNBOURGNTNBRTUzOTk0MDBGNTc5Cis6MTAyOTEwMDAzOUQzRTUzQTk0MDBFNTM5OTQwMDQwMDZFNDkwRkY4MzBBCis6MTAyOTIwMDBGMDIyMTIxRERGMTIxRTM0MTIxRTI2MTIxQUEyMjQ2RTZECis6MTAyOTMwMDA2MDFFMTQ2MDFCMjQ4RTcwMkQ5MDAwMDExMjFBQkJGRkM0Cis6MTAyOTQwMDAyNEZDNjAwMzA0NzAxRkVGRkQ3QzAwN0YwRDAyMTE1RTBDCis6MTAyOTUwMDAxMjFFM0IxMjI1RkExMjFEODkxMjFBQkI2MDAzMDIzMkE1Cis6MTAyOTYwMDA3QUU0RkYxMjMyNkUyMjhCNDU4QTQ2ODk0NzhDNDg4RDY1Cis6MTAyOTcwMDA0OUQyMDAxMjJFNTM3MDE2MTIyRTcyRTU0ODkwRkZGMUM0Cis6MTAyOTgwMDBGMDEyMzFEODUwRjIxMjI5RDU0MDBCN0YxODIyMTIyRUE2Cis6MTAyOTkwMDA3MjEyMjlENTUwRjhFNEY1NEJFNTRBMTRGRkU1NEJDMzE0Cis6MTAyOUEwMDA5RjUwMTcxMjI5QzU0MDAzN0YxODIyMDU0Qjc0MDEyNTNCCis6MTAyOUIwMDA0N0Y1NDdFNDM1NDZGNTQ2ODBERjkwRkZGMEUwNDQwMUY3Cis6MTAyOUMwMDBGMDEyMjlDNTQwMDM3RjE4MjI3RjAwMjJBQjQ1QUE0NjlBCis6MTAyOUQwMDBBOTQ3MTIxQUEyOTBGRkYxRjAwMjMxRDg5MEZGRjFFNTU5Cis6MTAyOUUwMDA0OUYwMDIzMUQ4N0IwMTdBRkE3OUNGRTRGRDEyMjM2MUY0Cis6MTAyOUYwMDA5MEZBQ0ZFNDc1RjAwOTEyMUIxQzdCMDA3QTAwNzkyMzUyCis6MTAyQTAwMDA5MEZBQ0ZFNDc1RjAwMTEyMUIzMjg1RjAyRUY1MkQ3RDgyCis6MTAyQTEwMDAwMTEyMjY5ODkwRkZGN0U1MjMxMjJBMzk5MEZGRjZFNTc4Cis6MTAyQTIwMDAyM0YwOTBGQUNGRTRGMEEzNzQwNjEyMkEzOUU1MjMzMDlDCis6MTAyQTMwMDBFMDA3OTBGRkZDNzQ5NEYwMjI5MEZGRkM3NDkwRjAyMjY5Cis6MTAyQTQwMDBGMDdCMDA3QTAwNzkyMzkwRkFDRkU0NzVGMDAxMTIxQjM1Cis6MTAyQTUwMDAzMjg1RjAyRUY1MkQ3RDAxMDIyNjk4OTBGRjkzNzQ4MTJBCis6MTAyQTYwMDBGMDkwRkZGRkUwNjAwNjkwRkZGQzc0MTBGMDkwRkY5MTgzCis6MTAyQTcwMDBFMDQ0OTBGMEU0OTBGOTE2RjBBM0YwMTIyQjM5MTIxNjBFCis6MTAyQTgwMDBDOTEyMzA2OTdFMDc3RkQwMTIxMjJBN0UwRjdGQTAxMkYyCis6MTAyQTkwMDAxMjQ0RTQ3ODc3RjY3ODc3RTZGRkMzOTQwNjUwMEI3NDE3Cis6MTAyQUEwMDA2RTJGRjhFNEY2Nzg3NzA2ODBFQzdGMDMxMjMwQjI5MDUwCis6MTAyQUIwMDBGOTE2RTAyMEU0MDU3RjA0MTIzMEIyOTBGRjlCRTRGMEE5Cis6MTAyQUMwMDA5MEZGOUFGMDkwRkZFOEUwNTQxRkYwRDJBODIyMTU2NTFECis6MTAyQUQwMDBBODY1QTYwNzMwMDgwNTEyMTFBRTgwRjhEMjA4QTg2NUNGCis6MTAyQUUwMDBFNkZGQjQwMzBGNzg3Qzc2RkYwODc2RTAwODc2RkYwOEVGCis6MTAyQUYwMDA3NkEwODAwRDc4N0M3NkZGMDg3NkUyMDg3NkZGMDg3NjZGCis6MTAyQjAwMDBCMDc4ODA3NkZBMDg3NjlFRUYyNEZENzVGMDBBQTRBRUMwCis6MTAyQjEwMDBGMDEyMjM0OTdCMDE3QUZGNzk0ODc4NjgxMjFCRTFBOEZCCis6MTAyQjIwMDA2NUU2MjRGRDc1RjAwOEE0RkZBRUYwNzg2QTEyMjM0OTJCCis6MTAyQjMwMDA3OTA4Nzg2QjEyMUJFMTc4NkRFRjEyMjM0OTA1NjUyMjQ1Cis6MTAyQjQwMDA5MEZGRjBFMDU0QUJGMEUwNDQyMEYwOTBGQUU2NzQwMjFECis6MTAyQjUwMDBGMDdCMDE3QUZBNzlDRkU0RjUyREY1MkU3RDAxMTIyNjZFCis6MTAyQjYwMDA5ODdFMDA5MEZBRTRFRUYwQTNFRkYwNjQwMTcwMTA5MDBDCis6MTAyQjcwMDBGQUNGRTBCNDUyMDk5MEY5MTZFMDU0RUZGMDgwMjk5MEIyCis6MTAyQjgwMDBGQUU0RTA3MDA0QTNFMDY0MDE3MDEwOTBGQUNGRTBCNEJFCis6MTAyQjkwMDAxMDA5OTBGOTE2RTA0NDEwRjA4MDBEOTBGQUU2NzQwM0U1Cis6MTAyQkEwMDBGMDkwRjkxNkUwNTRFRkYwOTBGRkYwRTA0NDIwRjAyMkFFCis6MTAyQkIwMDAwMzY4MDFGRjQ4MDM2QjAxRkYwODAyNjYwMDAwNDRGQTQ2Cis6MTAyQkMwMDA5ODAwMDAwMDAwNDRGQTk0MDAwMDAwMDA0MkZBQjIwMEFECis6MTAyQkQwMDAwMDQyRkE3RTAwMDA0MkZBN0MwMDAwNDJGOTZERkZGRkRECis6MTAyQkUwMDA0MkZBN0EwMDAwNDFGOTY2RkY0MUY5MUMxOTQxRjkxNUQyCis6MTAyQkYwMDAwMDQzRjkxOTBBMzIwMjQxRjk2ODIwNDFGOTY5MjA0MTdDCis6MTAyQzAwMDBGOTY1MDA0MUY5NjcwMDQ0RjgwMDAwMDAwMDAwNDJGOTRFCis6MTAyQzEwMDAxNjAwMDA0MUY5MTgwMDAxMjAwMDQxRjgwNDAwMDAxMkRDCis6MTAyQzIwMDAxMDRCNzg4QUVGRjYxMjJBQzcxMjIyRUUzMEUwMjk3ODhDCis6MTAyQzMwMDA3QzEyMjJCN0UwNTQ3RkYwNzg2QjEyMUJEODkwMDAwMjEwCis6MTAyQzQwMDAxMjFBQkIzMEU3MDk5MDAwMDJFNDEyMUFGQTgwRTk3ODAwCis6MTAyQzUwMDA3QzEyMjJCN0UwNDQ4MEYwMTIyMkVFMzBFMTFFMTIyMkY0Cis6MTAyQzYwMDA5N0UwNTQ3RkYwMTIzMjE5Nzg2ODEyMUJEODkwMDAwMjU2Cis6MTAyQzcwMDA3NDgwMTIxQUZBMTIyMjk3RTA0NDgwRjAxMjMyODRFNDJGCis6MTAyQzgwMDBGRjEyMzFBOTAyMTBDRTEyMTA0Qjc4ODVFRkY2MTIzMUU3Cis6MTAyQzkwMDA1MDEyMzFBOTc4ODVFNkZGMjQxMzEyMjJBREUwRkUzMEYwCis6MTAyQ0EwMDBFNzE2RUZCNDAzMDk5MEZGOUVFMDU0RkFGMDgwMjI5MEZCCis6MTAyQ0IwMDBGRjlFRTA1NEY1RjA4MDE5RUU1NDAzNjAxNEVGQjQwMzY2Cis6MTAyQ0MwMDAwOTkwRkZBNEUwNDQyMEYwODAwNzkwRkZCNEUwNDQyMDg2Cis6MTAyQ0QwMDBGMDkwRjkxOEUwMTRGMEUwNzAwMkQyQjMwMjEwQ0UxMkI2Cis6MTAyQ0UwMDAxRTFDRTUzQTY0MDk3MDA0RTUzOTY0MDE2MDQ4QzNFNUQ3Cis6MTAyQ0YwMDAzQTk0MDhFNTM5OTQwMDQwMTE3RjA4RUZFNTNBOTQwOENBCis6MTAyRDAwMDBGNTNBRTUzOTk0MDBGNTM5ODAwNUFGM0ExMjFFMzRFNEZFCis6MTAyRDEwMDBGRUVFQzM5RjUwMTkxMjFDQzExMjFBQTJGRDc0RjgyRUE4Cis6MTAyRDIwMDBGNTgyRTQzNEZFRjU4M0VERjAwRTEyMUNCMDgwRTJFRjg0Cis6MTAyRDMwMDA1NDdGOTBGRjgxRjAyMjhCNTk4QTVBODk1QjEyMkUxOTk5Cis6MTAyRDQwMDA3MDA1QTM3NDA4RjAyMkFCNTlBQTVBQTk1QjEyMkUwRDg0Cis6MTAyRDUwMDA5MEZBQzkxMjFCRjNFNTVCMjQwM0Y5RTQzNTVBRkE5MEEzCis6MTAyRDYwMDBGQUMzMTIxQkYzRTQ5MEZBQzJGMDc4OEJGNjkwRkFDMTIyCis6MTAyRDcwMDBFMEZGNzg4QkU2QzM5RjUwMTIxMjJERUJGRjEyMkRGNDZCCis6MTAyRDgwMDAxMjJFMDc3ODhCMDYxMjJFMDM4MEUyMjJBRDA3QUMwNkM2Cis6MTAyRDkwMDA5MDMyMEFFNDkzRkY3ODc0RjY1NDBGMTIxREE4RTAwOEVECis6MTAyREEwMDA3NjAwMDhGNjE4MTIxQ0Q5QzMzM0NFMzNDRUQ4RjlGRkZCCis6MTAyREIwMDA3ODc1RUVGNjA4RUZGNkVFNDRGODE4RjZFRjA4RjY5MEEwCis6MTAyREMwMDBGRjdBRTAyMEU3MDM3RjAwMjI3ODc1RTZGRTA4RTZGNTRCCis6MTAyREQwMDA4MjhFODNFQ0YwQTNFREYwOTBGRjdBNzQwMkYwN0YwMTE1Cis6MTAyREUwMDAyMkFCNTZBQTU3QTk1ODkwMDAwMzEyMUFCQjU0RjAyNERDCis6MTAyREYwMDBBMDIyOTBGQUM5MTIxQkVBMDIxQUEyOTBGQUMzMTIxQjZGCis6MTAyRTAwMDBFQUVGMTIxQUU4OTBGQUNBRTQyMjkwRkFDNEU0NzVGMEU0Cis6MTAyRTEwMDAwMTAyMUIxQzkwMDAwODEyMUI0OEFBRjBGOTdCMDEyMjNBCis6MTAyRTIwMDA5MDAwMDUxMjFBQkI5MEZBQzFGMDIyQUI1NkFBNTdBOTFFCis6MTAyRTMwMDA1ODIyOTBGQURERTBGRjdFMDBDMzkwRkFEN0UwOUZGMEMxCis6MTAyRTQwMDA5MEZBRDZFMDlFRjA5MEZBRDhFRThGRjAxMjFCMUNFRkFECis6MTAyRTUwMDAyNTUxRjU1MUVFMzU1MEY1NTAyMjkwRkZGMEUwNTRGRTJCCis6MTAyRTYwMDBGMEUwNTRGREYwOTBGQUU2RTA2NDAzMjI5MEZGRjJFMDE3Cis6MTAyRTcwMDBBQjI5QUEyQUE5MkIwMjFBRTg5MEZGRjM3NEEwRjAyMjJBCis6MTAyRTgwMDA4RjY0RUQ3MDBGRTU2NEI0MDMwNTdGMDEwMjMxRUY3RkJECis6MTAyRTkwMDAwMjAyMzFFRkFGNjQxMjJBQzc3NDZFMjU2NEY4RTYzMDdGCis6MTAyRUEwMDBFMjBCRDIwOTEyMUQzM0UwNTQ3RkYwODAwMkMyMDlFNTIzCis6MTAyRUIwMDA2NEI0MDMwNzdGODExMjMxRUY4MDA1N0Y4MjEyMzFFRjA2Cis6MTAyRUMwMDAzMDA5MDcxMjFEMzNFMDQ0ODBGMDEyMzI4NDIyMTIxMEMwCis6MTAyRUQwMDA0QjkwRkZGREUwNDQ2MEYwRDIwMTkwRkZGQ0UwNDQwMjIzCis6MTAyRUUwMDBGMDkwRkYwMEUwMzBFNzEzOTBGRjgzRTA0NDgwRjA0MzcwCis6MTAyRUYwMDAzNTgwOTBGRkZDRTA0NDAxRjA4MDBEMTIxRERGNTMzNTVBCis6MTAyRjAwMDA3RjkwRkZGQ0UwNTRGRUYwOTBGRjgxRTA0NDgwRjAxMkRGCis6MTAyRjEwMDAwMkRFMTIxREU3MDIxMENFMTIxMDRCNzg4OUVGRjZEMkI2Cis6MTAyRjIwMDAwMDEyMkFDNzkwRjk2QTEyMUJFQUU5MjQwM0Y5RTQzQTZECis6MTAyRjMwMDBGQUMwMDI3ODgwRTZGRTA4RTZBQTA2RjhBQzAyN0QwMTM3Cis6MTAyRjQwMDBEMDAyMTIyMkQzMTIzMjg0Nzg4OUU2RkYxMjEzODcxMjNDCis6MTAyRjUwMDAzMUE5MDIxMENFOEY2MzEyMkFDNzc4N0MxMjIyQjdFMDAzCis6MTAyRjYwMDA1NDNGRjBFNTgyMjQwNDEyMjJBMUUwNTQzRkYwMTIyM0UyCis6MTAyRjcwMDA0MTI0MEIxMjIyQTFFMDU0RjhGMDEyMzI4NDc0NkUyNTIxCis6MTAyRjgwMDA2M0Y4NzRGQjU2RjY3RjAwMjIxMjEwNEIxMjJBQzcxMjA4Cis6MTAyRjkwMDAyMkZBMjQwNjEyMjI5RkUwRkQxMjIyRTg5MDAwMDMxMjdBCis6MTAyRkEwMDAyMzAyMjQwNTEyMjJBMUUwOTAwMDA0MTIxQUZBMTIzMjIwCis6MTAyRkIwMDA4NDdEMDJFNEZGMTIyRkI0MDIxMENFQUUwNTEyMUQ4RUU2Cis6MTAyRkMwMDBFRjEyMUFGQTBFMEUwRUVFRDM5NTNDRTQ5NTNCNDAwMjNBCis6MTAyRkQwMDBBRTNDRUVEMzk0MDg3NDgwOTQ4MTQwMEE3RTAzOTAwMDQ2Cis6MTAyRkUwMDAwMjc0MDIxMjFBRkFBRjA2MTIzMjZFMjJBRTA3RUQ1NEM0Cis6MTAyRkYwMDAwMzY0MDE2MDAzN0YxMDIyRUQ1NDdDQzM5NDA0NTAwM0VBCis6MTAzMDAwMDA3RjBCMjI3NDZFMkVGODc0MDI0NkY2NzQ5OTJFRjU4MkE4Cis6MTAzMDEwMDBFNDM0RkFGNTgzRURGMDdGMDAyMkJGMDMwNjdDRkY3REU4Cis6MTAzMDIwMDBFMDgwMDQ3Q0ZGN0RFMjhEODI4QzgzRTA0NDgwRjBFNUNCCis6MTAzMDMwMDA4MjI0MDQxMjIyQTFFMDQ0ODBGMDc0NkUyRkY4NzQwNEZDCis6MTAzMDQwMDA0NkY2N0YwMDIyMTIxMDRCRTUzQTY0MDk3MDA0RTUzOTE4Cis6MTAzMDUwMDA2NDAxNjAxNjkwRkY4M0UwNTQwRkZGQzNFNTNBOUZFNURCCis6MTAzMDYwMDAzOTk0MDA0MDA1MTIyOEQ3ODAwMzEyMzI3QTAyMTBDRTFDCis6MTAzMDcwMDA5MEZGRkNFMDIwRTcxRkMyQUY3REZGQUMwNTFERUM2MEI4Cis6MTAzMDgwMDAxNTdFMDQ3RjAwRUYxRkFBMDY3MDAxMUU0QTYwRUM5MEI3Cis6MTAzMDkwMDBGRjkyRTRGMDgwRUYyMjEyMTA0Qjc4NjZFNkZFMDhFNjFECis6MTAzMEEwMDBGRjMwRTAxMjMwRTEwRjkwRkZGQ0UwNDQyMEYwN0YwNDlECis6MTAzMEIwMDAxMjEyNjExMjFERjYwMjEwQ0U4RjIzQzIwODEyMkFDNzA3Cis6MTAzMEMwMDAxMjIyQzA3ODdFMTIyMzQyMjQwQjEyMjJBMUUwNTRGODZGCis6MTAzMEQwMDBGMDEyMzI4NEFGMjMxMjEzODcyMjhFNUY4RjYwRTU2MDc3Cis6MTAzMEUwMDAxNTYwQUU1RjcwMDIxNTVGRDM5NDAwRUU5NDAwNDAwOTQ2Cis6MTAzMEYwMDA3RTA3N0ZEMDEyMTAyNDgwRTUyMjExREMyRUM3MjRCMDc5Cis6MTAzMTAwMDAzMjYwMzA5MDMwM0UzMTZGMkY4MjI3MkUyQzgwMzExMjZBCis6MTAzMTEwMDAzMTMxMUU2NDJGMTEyQzE4MEUxMjEwNEI3ODg2MTIyMzk5Cis6MTAzMTIwMDAzMTIwRTEwNzdGMTIxMjMxQTk4MDBBNzg4NkU2RkYxMjZBCis6MTAzMTMwMDAyNDBBMTIzMUE5MDIxMENFMTIxMDRCNzg4NzEyMjMzMUMzCis6MTAzMTQwMDAyMEUyMDc3RjExMTIzMUE5ODAwQTc4ODdFNkZGMTIyRjRCCis6MTAzMTUwMDA0RTEyMzFBOTAyMTBDRThGNjExMjJGNEVBRjYxMTIyQThBCis6MTAzMTYwMDBDNzEyMjJDMDEyMzI4NDc0NkUyNTYxRjg3NEZENTZGNkJGCis6MTAzMTcwMDBBRjYxMTIxMzg3MjIxMjEwNEJFNTNBNjQwOTcwMDRFNTFGCis6MTAzMTgwMDAzOTY0MDE2MDA1MTIyQ0Q4ODAwNjEyMUUxNDEyMUUxQzEwCis6MTAzMTkwMDAwMjEwQ0UxMjJBNTQxMjEzMDM5MEY4MDRFMEZGNjAwNUM3Cis6MTAzMUEwMDA3RDAxMTIxMkEwMTIyOURFMTIxMzNGMTIxMUJDODBFMzFFCis6MTAzMUIwMDAxMjFEOEVFRjEyMUFGQUU0RjUzM0Y1MzRFRjYwMDMwMkI0Cis6MTAzMUMwMDAzMjdBRTRGRjEyMzI2RTIyOTBGRkYwRTBGRjU0QTA2MEVBCis6MTAzMUQwMDBGN0VGMzBFNTA4OTBGRkYwNDQyMEYwQzMyMkQzMjI5MEFGCis6MTAzMUUwMDBGRkYwRTBGRjU0Mjg2MEY3RUYzMEU1MDg5MEZGRjA0NDZGCis6MTAzMUYwMDAyMEYwQzMyMkQzMjJFRjMwRTcwODEyMUQ0NUUwNTRERjUwCis6MTAzMjAwMDBGMDIyRUYxMjFEOThFMDU0REZGMDIyODEwMTgyMDI4MzQ4Cis6MTAzMjEwMDAwMzg3NDAwMDQwMDA0MDAwNDAwMDQwMDA0MDAwMDgwMDlDCis6MTAzMjIwMDA3ODdFMTIyMkI3QTNBM0UwRkYzMEU3MDY1NDdGRjA0NDc0Cis6MTAzMjMwMDA4MEYwMjI4NTNCMzk4NTNDM0E5MEZGODJFMDU0RjdGMERDCis6MTAzMjQwMDBBM0UwNTQ3RkYwMjJFNEZFRUU5MDMyMDQ5M0I1MDcwMjJGCis6MTAzMjUwMDBEMzIyMEVCRTA3RjJDMzIyMDAwODE4MjgzODAxODE5MDNECis6MTAzMjYwMDAwQTAyMDAwMDExMTMwMDEyMTA0QjdGMDIxMjEwREExMjMyCis6MTAzMjcwMDAxREY2MDIxMENFNzUzOTAwOEYzQTEyMUNFMDEyMkNEOEMwCis6MEUzMjgwMDAyMjEyMUUxQzEyMURERjEyMUUxNDIyQzIwODIyNzIKKzowMDAwMDAwMUZGCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisvLyogRWRnZXBvcnQgQmluYXJ5IEltYWdlIChmb3IgVEkgYmFzZWQgcHJvZHVjdHMpCisvLyogR2VuZXJhdGVkIGJ5IFRJQmluMkMgdjIuMDAgKHdhdGNocG9ydCkKKy8vKiBDb3B5cmlnaHQgKEMpIDIwMDEgSW5zaWRlIE91dCBOZXR3b3JrcywgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTI2L2JpdHN0cmVhbS5IRVggYi9maXJtd2FyZS9lbWkyNi9iaXRzdHJlYW0uSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0NGQzZjYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWkyNi9iaXRzdHJlYW0uSEVYCkBAIC0wLDAgKzEsNDM5MSBAQAorOjEwODAxMDAwRkZGRkZGRkZBQTk5NTU2NjMwMDA4MDAxMDAwMDAwMDdBRQorOjEwODAyMDAwMzAwMTYwMDEwMDAwMDAwQjMwMDEyMDAxMDA4MDNGMkQ3NQorOjEwODAzMDAwMzAwMEMwMDEwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDk5NQorOjEwODA0MDAwMzAwMDIwMDEwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDEyRAorOjEwODA1MDAwMzAwMDQwMDA1MDAwM0UwNDA4MTIxMDAwMDAwMDAwMDBGNAorOjEwODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwODA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDRCQworOjEwODA4MDAwODAwMDAwMDAwMDAwMDAwMDAwMTIxMDAwMDAwMDAwMDA0RQorOjEwODA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwODBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwODQwQworOjEwODBCMDAwODAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDAzRQorOjEwODBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwODBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDA5OAorOjEwODBFMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDIwMDAwMDAwMDAwMDBDRQorOjEwODBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwODExMDAwODAwMDAwMDAwMDAwMDAwMDAwMTIwMDAwMDAwMDAwMDBDRAorOjEwODEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwODEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzQgorOjEwODE0MDAwODAwMDAwMDAwMDAwMDAwMDA4MTMwMDAwMDAwMDAwMDA5NAorOjEwODE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwODE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwODE3MDAwOTAwMDAwMDAwMDAwMDAwMDAwMTIwMDAwMDAwMDAwMDA1RAorOjEwODE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwODE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ1QgorOjEwODFBMDAwOTAwMDAwMDAwMDAwMDAwMEY3MTAwMTE0MDAyNTAwMDVGOQorOjEwODFCMDAwNDAwMTUwMDA5NDAwMTUwMDA3NDAwMUQwMDA5NDAwMjVCNAorOjEwODFDMDAwODAwMTYwMDJEODAwRjYwMDJGODAwMkUwMDREODM3NDQxNgorOjEwODFEMDAwOTAwMDAwMDAwMDAwMDAwMEMwMDVGMjAwQ0M5MDM5MjBBMworOjEwODFFMDAwMEQ5ODAzRDIwMEU3ODAzNzA0MEVGMTgzN0UwMERGOTAwNAorOjEwODFGMDAwMzFFNDhGNzkwMzdDMjBERjIyMzNDMDBDRjAyMjMwMDA4MQorOjEwODIwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTA2MjAwODAyNDIyMjAyNgorOjEwODIxMDAwMDg5ODEyRTIwMDhCODEyMDk0MDg3NDAyMkUwMDhBMDFEMworOjEwODIyMDAwMjJDODA4OTIwMjNEODA4QjYwMjI4MDA4QjAwMjIwMDRBMAorOjEwODIzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDODAwQTAwMDIwMDBGOQorOjEwODI0MDAwMEIxMDAyQzAwMEExMDAyNDA5NEEzMjAyNDgwMEIxMDAwQworOjEwODI1MDAwNjJDMDA5QTA0NkNDMjQ5MzQ5MkE4MDQ4MzAyMjYyMDE5QQorOjEwODI2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBODEyQTgwMDIyMDA0NQorOjEwODI3MDAwMDg5MDAyRTAwMDg5ODAyMjQ0MDhCMDEyQTgwMEE5NDBCQQorOjEwODI4MDAwMjJDMDA4OTA4MkFDMDA5QjA0MkFDNDA4QjAwMjcwMDQ4QgorOjEwODI5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTQ4NDAwRTk4MEIyNjQ2NworOjEwODJBMDAwNERBMDAzRUEyMEU5QzAzNjQwMEVCMDAzNDQwMEZCOTAyNQorOjEwODJCMDAwQjI4ODBEQkMwM0VDMDg1QjAwMzg2MDJDQjA2MzQwMDQ0RQorOjEwODJDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDI2REQ5MDM3NDA5RgorOjEwODJEMDAwNEZFMDEzRjI4MEZEMDAzREEwMEQ3MDAzNzUwMDVFMDBCRAorOjEwODJFMDAwM0ZBNDBERjkwMzVDMTBFQjAwMzcyMDBGMzAwM0I4MDBGQQorOjEwODJGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRTk4MDMyNDA0NworOjEwODMwMDAwMENBMTgzRTgwMEU5MDAzMjQyMEVCMDAzQUM0OEU5MDA1QQorOjEwODMxMDAwM0E4MDBFQTQwM0VDMDBFQjAwQjIwMzBFQjAwQjEwMDQ4NQorOjEwODMyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyRTgwODlEMTIwNDBGOAorOjEwODMzMDAwMDhBMDAyQzAwMDgxODAyMjU4MDhGNTAyMkY0MDhCMDA1RgorOjEwODM0MDAwMjBDMDA4MzA0MzdDMDA4NzAwMjI0MDA4RjAwMjMyMDA0MQorOjEwODM1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0MjAxOUE0NDI4QTIwRAorOjEwODM2MDAwMDgxODAyQzA4MEExODBBMDAwMDgzMDAyOEUwMEFCMDA3NworOjEwODM3MDAwMkM0MDBBMzAwMjBDMDBBMzAwMjA0NDBBMzAwMjM4MDBDRQorOjEwODM4MDAwNTAwMDAwMDAwMDAwMDAwMDYwMDEzMjAwOTY4MjJCQTIyNQorOjEwODM5MDAwODg1QTAyRjIwMDA1ODAyOUEwMDg3ODQyQkUwMDhFODQyNworOjEwODNBMDAwMkY2MTBBRDgwMjRFMTBBNzgwMjAyODA4NzgwMjE4MDBGMgorOjEwODNCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODAwRjIyNDM4ODA1NworOjEwODNDMDAwMkMxQTAzQzQwMEUwNThBMDgwMkUzMDAzODg0MUUzMDIzOQorOjEwODNEMDAwM0M0MDA2MjAwMzhDMDBFMzAwMTAwMDBFMzE0MzEyMDJFMworOjEwODNFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5ODAwRUUwMTM3ODRFRQorOjEwODNGMDAwOUZEOTAzRjA0OEZEMTAzN0MwMDdCMDAzNUMwMEY2MTBBQQorOjEwODQwMDAwMzNDMDBERTEwM0VEMjBERjEwM0Y0ODBGRjAyM0QwMDYwRAorOjEwODQxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAyQ0I4MDMwQzAyRQorOjEwODQyMDAwMENBMDAzRTIwMkM5MDAzQTQwMERCNjAzNjQwMEVCMDA2MQorOjEwODQzMDAwM0VDMDBGQjAwM0VEMDBGQjAxM0VFMDBDQjAwMkVBMDBDRAorOjEwODQ0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAwODcwMDIxQzA2NworOjEwODQ1MDAwMjg2MDAyRDAwMDg1MDAyRDgwNDhGMDgyMUMwMEI3MDAwMworOjEwODQ2MDAwMkQwMDBCNTAwMkRDMDBCN0EwMkY4MDI4N0EwMkQyMDQyNgorOjEwODQ3MDAwNjAwMDAwMDAwMDAwMDAwMEMxMDBCRTAwODc4MDIxRTAxNQorOjEwODQ4MDAwMjg2ODAyRDcwMDg0ODAyREUwNDk3OTA2NTMwOUI1ODAxOQorOjEwODQ5MDAwMkRFMjBCNzgwMkRFODBCNzkwMkRCMDA4NzkwMkYwMDA1MworOjEwODRBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzEwODMwMTI4QzgwMAorOjEwODRCMDAwMDgyMDAyQzIwNjgxMDAyQ0M4ODgzMDYyMEUyMUIzQTBCOQorOjEwODRDMDAwMkNDMTBCQjYwMkNDMDBCMzAwMkNFMDA4MzAwMkQyMDQ2MQorOjEwODREMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwQ0E0MEIwODA4RAorOjEwODRFMDAwMEMyQzAyRjgwMEM2MjAzRjkwMERBMDAzN0IwMUVFRTBBQgorOjEwODRGMDAwM0ZCNDBGRUMwM0U4MDBGQTAwM0ZBMDBDQTAwM0ZBMDQxRAorOjEwODUwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMzAwRjgwOTI2MDBCOQorOjEwODUxMDAwMEZDMTgzRTAxMEY4NDAzQzAwMEY4MDAzRTAwMUY4MDAzOQorOjEwODUyMDAwM0UwMDBGODEwM0UwMDRGODAwM0UxMDBGODAwM0QyMDBFQworOjEwODUzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAyQzkwMDNFNDBDNgorOjEwODU0MDAwNEY5MDYzMjY4NDM5MDJCMjQwMEM5MTAzMjQwMEY5MDA1NQorOjEwODU1MDAwM0U0MDBGOTAwMzI0MDBGMTAwM0E0NDBGOTAwM0MyMDQwMAorOjEwODU2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ0NTAwODk0MDJFNDBEQgorOjEwODU3MDAwMDg5MjBBMjQwMEI5MzEyMjYwODg5NDhBMjQyMEI5MDAyNAorOjEwODU4MDAwMkU0MDBCOTAwMjI0MDBCOTAwMjI2ODBCOTAwMkUwMDBGQworOjEwODU5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNEEwOEQ4NDJGNDA2QQorOjEwODVBMDAwMEJEMTAyMjQwMEI5MDAyMjRBMDgxMDAyMkM0MEI5MDA2NQorOjEwODVCMDAwMkU0MDBCOTAwMjI0MDBCOTAwMkE0MDBCOTAwMkM2MDAwNgorOjEwODVDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQxNDAwODU4MDJENDBEOQorOjEwODVEMDAwMDg1MDAyMDQwQ0I5MDBBMDUwMDgxNDIyMDQwMEIxMDA5NQorOjEwODVFMDAwMkM0MDBCMTAwMjA0MDBCMTI4MjA0QTBCMTMwMkMyMDFEOAorOjEwODVGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwQzA1MDNFODA4OAorOjEwODYwMDAwMEZDMDQzMjAwMEY4MDAzMDAwMkM4MDIzMjAwMEY4NTFEOAorOjEwODYxMDAwM0UxNDhGODUwQjIxNDBGODcwM0EwODBGODQ4M0VFMDNENworOjEwODYyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURDNDAwRjkwNDNFNDAwNgorOjEwODYzMDAwMEY5MDIzRDQwMEZEMDAzRjUwMEY5NDAzRjQwNEZEMDA3RAorOjEwODY0MDAwM0Y0MThGRDA0M0U1MENGOTAyM0Y0QTBGOTIwM0U2MDIwNworOjEwODY1MDAwNzAwMDAwMDAwMDAwMDAwMDg4MDVENDAxRkQwMDNENDBDRQorOjEwODY2MDAwMENEMDEzRjQwMEQ1MDAzMzZBMUNEQzgzMzQwMEQxMDQzMQorOjEwODY3MDAwM0U1MDBDOTEwM0U2QzBEREIwMzM2QTJDOUM4M0U2MDBDQgorOjEwODY4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDA5Rjg4MDJFMDBBMworOjEwODY5MDAwODg4MDAwRTgwMEJBMDAyMkIwMDg4RTAyMjgwMDg4QTg2RQorOjEwODZBMDAwMjYyODA4OEEyMkUyMDA4OEU0MjIzMDA4OEMwMkNFMDRDMAorOjEwODZCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEyODJFNDA3MgorOjEwODZDMDAwMDgxMDAyQzQwMDk5MDAyMDQyNDgxMDAyNjQwMTkxODAwMQorOjEwODZEMDAwMkM0ODA4MTAwMkM0QzA4MTQwMjA0QTA4MTIwMkMyMDE3RQorOjEwODZFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDk0QTkwMjJFNDA5QworOjEwODZGMDAwMEE5MDAyNjQwMEI5MDA4MjYwMDg5MDAyNjYwMDg5MTA0NgorOjEwODcwMDAwMjQ2MjA4OTAwMkU0MDA4OTAyMjI0MDE4OTAwMkM2MDQwNAorOjEwODcxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNjAwQjkwNDNFNDAyMworOjEwODcyMDAwMEM5MDEzRTQwMEQxQzAxMjUwMjg5MDAzNDQwMEQ5MDBFQgorOjEwODczMDAwM0U0MDI4OTIwM0U0MDJEOTAwMzI0MjhDOTAxMkU4MDRCMQorOjEwODc0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNjIwRjkwMDNFNDE1MgorOjEwODc1MDAwMkQ5MDAzRTQwMEY5MjAzRTQwNEY5MDAxQTQwMEY5MDA2MQorOjEwODc2MDAwMzY0MDhGOTIwN0U0MDBGMTAwQkU0MDBGOTAwM0NBMDAyQworOjEwODc3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwQzgwMDNFMjA5QgorOjEwODc4MDAwMEM4MDAzRTA0MEY4MDAzNjEyMkMwMDAzRTBDMEY4MDAzMworOjEwODc5MDAwMzIxMDBEODQwM0EwMDBGODAyM0UwODBGODAwMENBMDRDNgorOjEwODdBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzQTkwOEUwMDJEQTA1NworOjEwODdCMDAwODBFODAyRkEwMEJFNDAyMzgwMDhFODAyRkEwMDhBMDAzRQorOjEwODdDMDAwMzY4MDA4QTAwMkU4MDBCQTAwMkY4MDBCQTAwMzhBMDBDMAorOjEwODdEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0NjAyODMwMDJDODBCNQorOjEwODdFMDAwMDgyMjQyQzY4MEIxNjAyRUY0MDgzODIyQ0UwMEEzMDBEMQorOjEwODdGMDAwMjBDMDA4MzAwMkFDMDBCMTAwMkU0MDBCMzAwMkNBMDA4RAorOjEwODgwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTAyODUwMTJEQzJFMgorOjEwODgxMDAwQTg0NDAyRDQwMEJEMDEyOTQwMTg2OEQyREMwMDhGODAzMgorOjEwODgyMDAwMjVDQzI4NzM0MkRDODBCNTMwMkRDMDFCNzIwMkU4MDBENQorOjEwODgzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTA0QzY4MjNERTBDMQorOjEwODg0MDAwMEM0ODEyRDYxMEY1ODAzQ0EwMEM3MDAzREUwMEU3OTBCNworOjEwODg1MDAwMjNFQTA0N0EwMzlFMDBGNTgwM0RFMDBGN0EwM0VBMDJFMgorOjEwODg2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MERBQzAwOUMwMDNFQzBBRAorOjEwODg3MDAwMEY4MDAzRTQxMEY5MDAzNjAxMEZBMDAzQzAwMEVCMDBFNQorOjEwODg4MDAwM0VEODRFQjA4M0VDMDBGOTAwM0VDMDBGQjQ0MzgyMDZFMAorOjEwODg5MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDVERTAwQ0Y4NDMxRTA3MQorOjEwODhBMDAwMEVDODQzRDYwMENEODAzM0UwQ0REOTAzM0EwMEZGODgwRgorOjEwODhCMDAwMzNFMDBGRjkxM0ZFMjRGRDgwM0YyMDBDRjY4MzEwMDBGNworOjEwODhDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwODUwMDIxQzQ3OQorOjEwODhEMDAwMjg0MDgyRDAwMEQ1MDAyMzgwNDhDOTAyMUMwMEI3MDA4MAorOjEwODhFMDAwMjFDMDBCNzEwMkRFODBCNTEwMkRDMDI4RjAwMjJBMDREMQorOjEwODhGMDAwNjAwMDAwMDAwMDAwMDAwMDEwMDA5QzAwOTYwMDIxQzBGNQorOjEwODkwMDAwMEE0MTAyRjU0MDhEMDAyMTQwMDk1MjAyOTgyMEI3MDAyQgorOjEwODkxMDAwMjFDMDBCNzAwNkRDODBCNTAwMkRDMDA4NzAwMjA0MDA3OQorOjEwODkyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDQzEwOTgwMDAwQzA3RgorOjEwODkzMDAwODgwNDgyQzAwMDkxMDQyMDAzMDkwMDAyOEEwMEIzMEE1RgorOjEwODk0MDAwMjBDNDhCMzQwMkNDMDBCOTAwMkNDMDAwMzAwMjE4MDRDMworOjEwODk1MDAwMzAwMDAwMDAwMDAwMDAwMEY4MTVBQzAwREIwMEIwQzBFMworOjEwODk2MDAwMEU5QzAyQzUwMEMxMTBCMkMwMERCMDBCQTcwOEZGMDBERAorOjEwODk3MDAwQjNDMDBGRkEwM0ZDMDBGRDAwM0VENDBDRjAwQjJFMDQzNAorOjEwODk4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzA0RUQwMDNFNDBBQworOjEwODk5MDAwMEY4NDAzRTU0MEY5NDAzRTYwQ0VCNDQzNjQwMEZCODBBMQorOjEwODlBMDAwM0VDMjBGQjAxM0VDMDBGOTAyM0VDMDRGQjAwM0UxMDAyRAorOjEwODlCMDAwMzAwMDAwMDAwMDAwMDAwMDkwMTBGRjAwQ0UwMDMzQzAyNworOjEwODlDMDAwMEVDMDA3NzQwNEVDMDAxMTgwMENDQTAzRkU2MEZGMDBBNworOjEwODlEMDAwM0ZDMDBGRjA4MzNDMDBERDAwQjM1MDJDRjAwMzIwMDRCNworOjEwODlFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDA0QzA0OEIwQjIyNzA1RQorOjEwODlGMDAwMDgwODAzNjcyMDhBODhBMjAwMjg4NDAyRTcwMEJCMDBEOQorOjEwOEEwMDAwM0VDMDBCQjAwMjJDMDBCOTAwMjI2MTA4QjAwMzYwNDBFOAorOjEwOEExMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIyMDIyRTJFNgorOjEwOEEyMDAwMEE4QzAyMjYwMEE5ODAyQUMwMDhCNDQyRUQwMEJCMDBDRgorOjEwOEEzMDAwMkVDMDBCMzAwMjJDMDBCOTAwMjA4MDA4MzAwMjYwMDBFQworOjEwOEE0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwRTAxODEwMEEwQzBFQQorOjEwOEE1MDAwMDg4MTAyNDQwMDgxMDAyODgxMDgzMjAyQ0MwMEIzMDA2MgorOjEwOEE2MDAwMjhDMDBCMzAwMjBDODBCMTAwMjBDMDA4MzAxMjQyMDEzNworOjEwOEE3MDAwMDAwMDAwMDAwMDAwMDAwMDgwMEQ2QzAwQzIwMTMyQzA0OAorOjEwOEE4MDAwMkU4MDE2MkMwOEU5MDAzQTQwMEM4MDAzRUMwMEY3MDAxOQorOjEwOEE5MDAwMkZDMDBGRjAwQjJDMDBEOTAwMzA0MDBDRjAwMzYwMDMwNgorOjEwOEFBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMERGODA4RkYwMDNGQzBDQgorOjEwOEFCMDAwMEZDMjE3RkMwMEY3MDAzNzAwMEY4NDAzRkMwMEZGMDAxMworOjEwOEFDMDAwM0ZDMDBGRjAwM0VEMDBGRDAwM0Y0MDBGRjAwM0U4MDY0QworOjEwOEFEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwQ0YzMDE3NDgwNworOjEwOEFFMDAwMEM1OTAzQjkwMERGMjgzNTI0MEQ4MkEzN0M4MEZGMDBEOAorOjEwOEFGMDAwM0ZDODBGRjIwM0U0QTBFRjgwM0ZFMThDRDg0MzMwMDA4MQorOjEwOEIwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFRDQ4ODkzNEEzNzA2MAorOjEwOEIxMDAwMjhCMDIzNjAwMDhCQzAyMjQwMDhCNDgyMkY0MEJGRDExMAorOjEwOEIyMDAwNkZGNDhFQkQwMkU3MDBCQjgwM0FFMDA4OTgwQTI4MDQ4MworOjEwOEIzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNEIwOTEwMEE4NTA3QgorOjEwOEI0MDAwMDhCMjAyQzg4NDkzMDAyNDQ5MEIwMjAyNEMwMEIzMDQwQgorOjEwOEI1MDAwMkNDMDBCMzA0Mjg0MDBCMzAwMkUwMDBBQjAxMjIyMDE1OAorOjEwOEI2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTFBQzAyOTkxODJBNDRGNworOjEwOEI3MDAwMDhCODgyQTIwMUJCMDAyODYwMEFBMDEyNkMwMEJCMDBFQQorOjEwOEI4MDAwNkVDMDBBQjAwMkU0MDBCQjAwMkEwMDJBQjAwMjM4MDQxQQorOjEwOEI5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTFFNDA4REFDMDNBNjAwNAorOjEwOEJBMDAwMEMxODBBRUIwNERCMDAzNkUwMDc4NTgzNkMwMEZCMDA0MQorOjEwOEJCMDAwMkVDMDBGQjA0M0U0MDBFQjAwM0U4ODBFMTgwMzEwMDRGMworOjEwOEJDMDAwNzAwMDAwMDAwMDAwMDAwMEUwNDE5QzEwRTkwMDM3NjBFOAorOjEwOEJEMDAwODdGMDE3NzAwMENGMDEzN0MwNEM5ODAzQkMwMEZCMDAzMgorOjEwOEJFMDAwM0ZDMjBGRjAwM0U0MDBGRjQwM0ZFNDBERDkwM0YwMDA2MworOjEwOEJGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNDAwRjQwMDMwNDBCRAorOjEwOEMwMDAwMEZCNDAzOTkwMEZCMDAzRUMwMEQwNDIzMkMwOEZCODgyMQorOjEwOEMxMDAwMzJDMDBGQjAwM0U2MDBEQjEwM0UwMjBGQjA4M0QwMDQ3OQorOjEwOEMyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQjk1MEEyNDgzOAorOjEwOEMzMDAwOEJCMDAzMjAwMEQ3ODAyRUQ4MDA4MDAyM0MwMEJGODA3QworOjEwOEM0MDAwMjNFODhCRjAwMkY0NDA4QjQwMEM0MjAzQjYwMkYyMDBBMgorOjEwOEM1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjI0NDAwQzhFNQorOjEwOEM2MDAwMEIzMDEyOEMwMEEzODAyNEM4MEIwMDBBQ0MwMEIzNDQ0NAorOjEwOEM3MDAwMDRDMDFCMzYwMkM1MDE4MzBDMkNBMDBCMzAwMkY4MDA4NworOjEwOEM4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTA4Qjc5MDIxNjQ4MQorOjEwOEM5MDAwMEJGODAyNEEwNDk3ODEyRkU0MEE3ODAyOUUwMEI3ODBGRAorOjEwOENBMDAwMjFFMDhCNzg4MkQ2ODY4Nzg0MkRBMDBCNzgwMkMwMDBDNQorOjEwOENCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwNDAwRjIwMDMwQzAzRQorOjEwOENDMDAwMEYzMDAzOEMwMEUzMEEzQ0MwMEYxODAzOEMwMEYzMDI0MgorOjEwOENEMDAwMzBDMDFGMzAwMUM2ODBDMzAwM0NDMDBGMTIwM0RBMDI0RgorOjEwOENFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMERCQzAwRkYwMDNGNDFGQworOjEwOENGMDAwMEZGMDAzQjgwOEZGMDgzRkMwMERGMDAzM0MyMEZGMDg0OQorOjEwOEQwMDAwM0JEMjBGRjAwM0Y0NDBFRjAwM0ZDNDBGRDAwM0QwMDY3NgorOjEwOEQxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAwRkUwMDMyQzI3MAorOjEwOEQyMDAwMEMzMDBCMjYwMEZCODAzNkMwMERBMDAzRUMwMEZCRTBFRQorOjEwOEQzMDAwMzJEMDBGQjg0MzY0NDREQjA0M0U4MDBGQjAwM0UyMDAzRQorOjEwOEQ0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjcwMEExQzBBNgorOjEwOEQ1MDAwODg3MDAzMTAwMEI3MjAyMUMwMDg3MDAyREM4MEIzMzA5NworOjEwOEQ2MDAwMzFDODBCNzQwMjE0MDA4NzQwMkRDMDRCNzAwMkQyMDAzMgorOjEwOEQ3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5NjIwQjY4MDIwRTBFNworOjEwOEQ4MDAwMjhGODAyOTQxMEI3ODEyN0UyMDk3ODAyREUwMEI3QTAyNAorOjEwOEQ5MDAwQTlFODBCMzgwMjc2MDA4NzgwMkRBMDBCNTgwMkYwMDA1RQorOjEwOERBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRTEwQjMwMDIwQzREMgorOjEwOERCMDAwMDgyMDAyODAxMEIzMDAyMkM4MDhCMDAyQ0MxMUIzMDIxMAorOjEwOERDMDAwMjhDMDBCMzAwMjA0MDA5MzgwMkNEMjBCMTAwMkQyMDQ3NgorOjEwOEREMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkU0MDMyQTBBRQorOjEwOERFMDAwMENFNDAzOTg4MEZBMDAzN0EwMERFMDgzRTgwMEZFMDA1MQorOjEwOERGMDAwM0E4MDBCQTAwMzY4MDBEOEEwM0Y5MDBGQTAwM0ZBMDRBQworOjEwOEUwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDA4RjgwODNFMDA5NAorOjEwOEUxMDAwMEY4MDAzMjAwMEY4NDAzRTAwMEY4MDAzRTAwMEY4MDRCQworOjEwOEUyMDAwMzAxMDBGODAwM0UwMDJFODAwM0UwMDBGODAwM0QyMDAwNAorOjEwOEUzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjEwMDMyNDBBMworOjEwOEU0MDAwMEU5MDgzQTQwMEM5ODAzRTQwMEU5MDAzQTQwMEY5MDA1OAorOjEwOEU1MDAwM0U0MDBDOTAwM0U0MDBDODAwM0U0MDhGOTAwMzAyMDRBMworOjEwOEU2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk0MEEwNjJFRgorOjEwOEU3MDAwMDgxMDAyMjQxMDg5MDAyRTQwMDg5MDAyMjQwMEI5MDAzNgorOjEwOEU4MDAwMkU1MjA4OTQwMkM0MDA4OTQwMkU0MDBCMTAwMzYwMTAzQgorOjEwOEU5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkxODIyNDQ0QQorOjEwOEVBMDAwMEE5MDAyQUMwMDg5MTAyRUMwMEE5MDAyQTQwMEI5ODA3QQorOjEwOEVCMDAwMkU2MDA4OTgwMkU2MDI4OTA4MkU0MDBCOTAwMjA2MDBGOAorOjEwOEVDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwQjEyMEEwNDgxOQorOjEwOEVEMDAwMDg5MDAyMjQwODgxMjMyQzUwMDgxMDAyMDQ4MEIxMjAzRAorOjEwOEVFMDAwMkM0ODI4MTIwMkU0ODA4MTIwMkM0MDBCOTgwMjQyMDU3NQorOjEwOEVGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg1MDMyMDA5MgorOjEwOEYwMDAwMEU4NTAzQTFFMENBMDAzRTAwMEU4NTAzQTAwMEY4MDAxNAorOjEwOEYxMDAwMkUwMDlDQTAwM0UwMDBDODI4M0UwMDBGODAwMzJFMDExNQorOjEwOEYyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwRjUxMDNGNDQ4MAorOjEwOEYzMDAwMEZEMDAzRjQwMEYxMTAzRDQwOEZENDAzRTQ1MEY5MTAzQQorOjEwOEY0MDAwM0U0NTBGOTEwM0Q0NDBGQzAwM0ZDMDhGRDAyM0U2MDQ4MAorOjEwOEY1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNjIwQ0RBODMzNDA5NgorOjEwOEY2MDAwOEREMDAzMjY4MENEMDAzRDUwMEM5QTAzNjQwMEY5QTBGQgorOjEwOEY3MDAwN0E2QTBGOUE2M0U2ODBDOTgwM0U0MDBGOTAwMzA2MDAyQworOjEwOEY4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTAwODhFMDM2MDBBQQorOjEwOEY5MDAwMDg4MDBBMjE0MkM4MDAyRTI5MENBNDQyMjAwMEI4NDBCMworOjEwOEZBMDAwMkUwMDBCODEwMkUxMDA4ODAyM0EwMTBCQzAwMjBFMDQ4MAorOjEwOEZCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAyODEwODI0NDBDMQorOjEwOEZDMDAwMDkxMDAyMDQwMDkxMDAyQzQwNEIxNDAyNDQwMEI1MTAxQgorOjEwOEZEMDAwMjk0MDBCNTAwMkY1MDBCNTAwMkQ0MDBCRDAwMjAyMDFENAorOjEwOEZFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNjAxODkwMDI2NDA1MgorOjEwOEZGMDAwMDg5NDAyMjQwMTg5MDAyRTQwMUE5MDAyNkMwMEJGMDJERQorOjEwOTAwMDAwMkY0MDBCRDAwMkY0MDJCRDgwMkI0MDhCRDgzQTA2MDRDRgorOjEwOTAxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwQzkwNTM2NDExMgorOjEwOTAyMDAwMEQxQzAzMjQwMEQ5MDAzRTQyMkY5NDAzNjQwMEY5MDA3NAorOjEwOTAzMDAwM0E0MDBGOTAwM0M0MDBGOTAwM0U3MDBGMTAwMzI4MDQ1QgorOjEwOTA0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NDA4RjkyNDNFNDA2MAorOjEwOTA1MDAwMEY5MTAzRTQwMEY5MDAzRTQxMEQxMDAzQTQwMEY5MDA1NAorOjEwOTA2MDAwM0U0MDBGOTAwM0U0MDBDOTAwM0U2NDBGOTAwM0NBMDAyNQorOjEwOTA3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDA4Qzg4MDMyMDIzNAorOjEwOTA4MDAwMEY4MDAzMDAwMEM4MDgzQTEwQ0U4NDAzRTAwMEZDMDAwMworOjEwOTA5MDAwM0YwMDhGQzAwM0YwODBGQzAwM0YxODBGQzA0M0NBMDQ5QworOjEwOTBBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEUwMEExODA5QworOjEwOTBCMDAwMEJFMDAyMjgwMERFQzIyMzkwMDBBMDAyRTgwMEJBMDAwNAorOjEwOTBDMDAwMkU4MDBCQTAwMkU4MDBGQTAwMkU4MDBCQTAwMkNBMDAzRQorOjEwOTBEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTk4MTYwQzA5RAorOjEwOTBFMDAwMEIxMDAyMEMwMDkwMTAyQUZDMEIzMDAyQ0MwMEIzMDBENQorOjEwOTBGMDAwMkNDMDBCMzAwMkNDMDBCMzAwMkNDMDBCMzAwMkNBMDBENQorOjEwOTEwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzgyOTU0MDIxQzAxQQorOjEwOTExMDAwMEI1MDAyMUM4MDkwODAyMzAxMDk3MjEyREMwMEI2MDAwMworOjEwOTEyMDAwMkQwMDBCNDAwMkQwMDBCNDA5MkQwMDRCNDA4MkU4MDAxNgorOjEwOTEzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTgwREQ4MEIxRTA5MworOjEwOTE0MDAwMEZEQTAzMEY4MEQ0ODAzOUUwMEI3QTAzREUwMEY1ODA1QworOjEwOTE1MDAwM0QyMDBGNDgwM0Q2MTBGNjgxM0RFMDhGNjgwM0VBMDJGOAorOjEwOTE2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRUQwMDNFMDAwMworOjEwOTE3MDAwMEY5MTBCRUMxMEY4MDAzRTAwMEVCMDAzRUMwMEY4MDA2RAorOjEwOTE4MDAwM0VDMDRGQjAwM0U4MDBFOTAxM0UwMDBGOTAwM0MyMDY2NQorOjEwOTE5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTIwQkY4MTMzQTQzNQorOjEwOTFBMDAwOEMxOTAzM0UwMENEODAzRkUwMEZGODgzM0UwMEVGODAzNgorOjEwOTFCMDAwM0ZFMDBGRjkxM0ZBMTBGRDgwM0ZBNDBGRDgwM0MwMDA2MQorOjEwOTFDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQkYyMDMxQzIwOAorOjEwOTFEMDAwMDg1QTAyM0MwMjg3MDAyRDk0MEI3MDBBMUM0MDg2MTAyRQorOjEwOTFFMDAwMkQwMDBCNDAwMkQ0MDBGNjAwMkQ0MDRCNjAwMkVBMDQzMworOjEwOTFGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcwMTIzODAxOAorOjEwOTIwMDAwMjg1MDAyMUMwMDg0MDAyREMwMEIzMDAyMUMwMEI1MDA0OQorOjEwOTIxMDAwMkQwMDBCNDAwNkQwNDBCNDA4MkQ4MDBCNDgwMkMwMDA0MgorOjEwOTIyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwQjMwOEEwMjBBMworOjEwOTIzMDAwMDgxMThBMEUwMDgwMDAyQzkwMEIzNzAyMEMwMDkwMDA2MQorOjEwOTI0MDAwMkNDMDBCMzA0MkNDMDRBMzgwMkM1MDBCMzAwMkM4MDQzRAorOjEwOTI1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwRjk4MDMyNjA1QQorOjEwOTI2MDAwMENENDAzM0M4MDg4MDAzRUQwMEZGODAzMjgwMEZBMDA5RAorOjEwOTI3MDAwM0VDMDBGQjAwN0VDMDFCQjgwM0U1NDBGQjAwNkVBMDRCRAorOjEwOTI4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFRTA4Rjk4MDNBQzA5NQorOjEwOTI5MDAwMEY5MDAzRUMwMEY4NDAzRTU4MEZCMDQzRTkwMEVCNDQ1OAorOjEwOTJBMDAwM0UwMDBGODAwM0UwMERGODAwM0U4MDBGODAwM0UwMDBEOQorOjEwOTJCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQ0YwMDMzNDA0RgorOjEwOTJDMDAwMENEMDAzM0MzMENDMDAzQkMwMkRGMDAzRDgwMkNDMDBDNgorOjEwOTJEMDAwM0QwMDBDQzAwM0Y0MDBFRTAyMzc0MDBDRTAwM0MwNDQzNAorOjEwOTJFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzE4ODM4NDIwMDAxRQorOjEwOTJGMDAwNEExMDAyMEMwMEE4NDgyRTYwMDhCMDAyRTkwMDg5NDAxQworOjEwOTMwMDAwMkVDMDA4QjAwMkU4MTBCMTAxMjA4MDBBOTAwM0EwNDBFRQorOjEwOTMxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEI4MjIyMDg1NQorOjEwOTMyMDAwMDg5MDAyMkMxNDg4MDQyQzA4MDhCMDEyRTgwMDhBMDA2NworOjEwOTMzMDAwMkVDMDBBQjAwMkU4MDFCOTAwMjYwNDA4OTAwMkUwMDAzRAorOjEwOTM0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODM4MEEyQzA2MAorOjEwOTM1MDAwMEE5MjAyMkMwMEEyMDAyQzAwMDgzNDAyQzgwMDgzMDBFQworOjEwOTM2MDAwMkMwMDI4MDAwMkM0MDFCQTAwMjJDMDAyMjAwNkMyMDE1QgorOjEwOTM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQ0EwMEIyMDBGOAorOjEwOTM4MDAwMEM5MjBCMkMwNEM4MDQzQTAwMENCNDAzRTgwMEM4MDA4QgorOjEwOTM5MDAwMkUwMDBDODAzM0UxNDBFODAwMzYwMDBDODAwM0MwMDM0RgorOjEwOTNBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDNEMDA3OAorOjEwOTNCMDAwMEZEMTBCRkMwMUZDMDAzRjAwMEZGMDAzRDgwMEZEMDBCMworOjEwOTNDMDAwM0ZDMDBGRjAwM0ZDODBGRjAwM0ZDMDBGRjAwN0E4MDY2RQorOjEwOTNEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVGMzAwQ0Y4MDM1NjA3MQorOjEwOTNFMDAwNEU2ODQzNUMwMEU3ODAzOUMwMENDMTAzN0UwMENGMzQ3NworOjEwOTNGMDAwMzVFMTRERjIwMzdDMDBERjM4M0ZDODBGRjgwM0YwMDA4MQorOjEwOTQwMDAwNzAwMDAwMDAwMDAwMDAwMEMwMThDODAwREI4NDIyNjA2QgorOjEwOTQxMDAwMDhBQzBBMkMwMDhCODAyMjMwMDg5MTIyMkM5MDI3NjEwNgorOjEwOTQyMDAwMjJDQTg4RkMyMkJGMDA4QjYyMkZEMDA5QjgwM0IwMDQ4NworOjEwOTQzMDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVFMjgwQTkwMjI0NDBCRQorOjEwOTQ0MDAwODIzNDQyMDQwMEE5MDAyOEM1NDgzMjAyNEMyMDgzMzBFRgorOjEwOTQ1MDAwMjBDMDA4MzEwMjBEMDBCMzIwMkNDNDBCMzAwMkYyMDFGMQorOjEwOTQ2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVBQTAyQjkwNDIyNjBEQworOjEwOTQ3MDAwMjhCMjAyMjYwMDg5ODgwMkMwMDgzMTEyRUMwMDhCMDA1NQorOjEwOTQ4MDAwMkFEMDA4QjAwMkFDMDAyQjAwMkVDMDBCQjAwMkIwMDRGMgorOjEwOTQ5MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDVFMjAwRTMwMDM2MjA4QworOjEwOTRBMDAwMEVBNDYzNkUwMEUxQzAxQUMxMEM4MDAzNjg3MENCMDA4QgorOjEwOTRCMDAwMzY4MDBEQjAwMzRDMDBGQjA0M0VDMTBGQjAwM0QwMDQ1NgorOjEwOTRDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCODA0REYwMDNGMDA3MQorOjEwOTREMDAwMEZFODAzRkMwMEZEMDAzRjAwMkI5ODAzM0EwMDc3MDBFMworOjEwOTRFMDAwMjdFNDBGRjAwM0ZDMDBERjAwM0VDMDBERjA0M0Y4MDA1RQorOjEwOTRGMDAwNjAwMDAwMDAwMDAwMDAwMDUwMDBBNDY4Q0IyMDNBOTBGQgorOjEwOTUwMDAwMEYyNEEzQUMwMEU5NTAzQUMwMEVCNDgzMkMwOEVCMDA0MgorOjEwOTUxMDAwM0E5MDBFQjA4QkVDODBGQjAwM0VDMDBFQjAwMzkwMDQ3RQorOjEwOTUyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDEwQTAwOEJBMDIwODA3RAorOjEwOTUzMDAwMERBODAyMkMwNDg5NDAyOEU4MDhCMjAyMkMwMEFGMDBENAorOjEwOTU0MDAwMDI4MDA4N0MwMzNEODAzRjAwMkZDMDA4QjAwMjM2MDAzNworOjEwOTU1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0OTAwMDM0MDI4QzA3MgorOjEwOTU2MDAwMkIyODRBMjgwMEExMDA2OEQyMEEyMDQyQTQwMUEzMDBBNworOjEwOTU3MDAwMDI0MDBBMzQwMjBEMDAzMzAwMkNDMDBBMzAwMEI4MDA0QgorOjEwOTU4MDAwNTAwMDAwMDAwMDAwMDAwMEI4MDExQTAwODc5MDIxRTQ5QworOjEwOTU5MDAwMkJDODEyM0EwMDg1QzAyQjIxMjg2ODAyQjYwMEE3ODQ4OAorOjEwOTVBMDAwMjM2MDA4Mzg4MDFFMDBCNzgwMkRFMDA4NzgwMjJFMDA2NgorOjEwOTVCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODAwQzEwMDM4NTRDNgorOjEwOTVDMDAwMEYyNjgzODAwMEUwMzQyOEM4MEUyQzBCOEMwMEUzMDBBQgorOjEwOTVEMDAwNzg0NTBFMzAwMzhFODBGMzAwM0NDODBFMzAwMzkyMDJCMworOjEwOTVFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCODAwRjUwMjNGNDRFQworOjEwOTVGMDAwMEQ5MDAzRjgwMEJEMTQxRkMwMEZFMTIzNUM0NDlGNDI4RgorOjEwOTYwMDAwM0ZDMDBGRjQ4MjdENDBGRjEwM0ZDMDRGNzAwN0QwMDY2RgorOjEwOTYxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAyQ0IwMDM4QzA5MAorOjEwOTYyMDAwM0NBMDAzRUMwMEU5MDAzRUMwMENCMDAzMjAwNEZCMjE4OQorOjEwOTYzMDAwM0U4MDRGQjQwM0NGMDBDQjAwM0VDQzRGQjA0M0VBMDA5NgorOjEwOTY0MDAwNzAwMDAwMDAwMDAwMDAwMEM4OTE5ODAwODcwMDIxQzA1MQorOjEwOTY1MDAwMDg0MDAyREMwNEI1MDAyRDAwMkQ3MDAyMUMxQ0I3MDI2RQorOjEwOTY2MDAwMkRDMDBCNzIwMkRDMDA4NzQwMkRDQThCNzAwMkYyMDQwMQorOjEwOTY3MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBCQTAwODc4ODJCRTAzNgorOjEwOTY4MDAwMTg3ODIyRDYxMUE0ODIyRkUwMDg3ODAyMTIwMEI3OTQyRAorOjEwOTY5MDAwNkQ2MDRCN0EwMkRFNDBCN0EwMkRFMDBCNzgwNkUwMDA0QgorOjEwOTZBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDOTEyODM4MjI4RDQ2MgorOjEwOTZCMDAwOTgwMDA2RUYwNUIxOTAyQ0MxMDlCNDAyMEMwNEIzMDE2NworOjEwOTZDMDAwNkNGMDBCMzAwMkNDMDBCQjAwMkVDMDBCMzAwMkQyMDQ3OQorOjEwOTZEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODQwQ0E4MDNCQTA0MAorOjEwOTZFMDAwNENFNTAyRjg4MEVFMDAzRDgwMkNFMDBGMzg4MEZBMDA1NworOjEwOTZGMDAwM0ZBOTBGQTAwM0U4MDBCQTAyM0U4MDhCQTAwM0ZBMDQ0MgorOjEwOTcwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDEwRjgwMDI2MDJBMQorOjEwOTcxMDAwMEY4NDAzRTAyNEY4MDAzRTAwNEY4MEEzRTAzMEY4MDBGRgorOjEwOTcyMDAwMzYwMjBGODAyM0UwMDQwODAwM0UwMDBGODAwM0QyMDBDMQorOjEwOTczMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRDkwMEI2NDEyRAorOjEwOTc0MDAwNEU5OTBCQTQwMDY5MTAzRTQwMEM5MDAzQTQxMEM5MDA3MAorOjEwOTc1MDAwM0U0MDBEOTIwM0U2MDBGOTAwM0E0MDBFOTAwM0MyMDQyOQorOjEwOTc2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODEwMDIwNDJGRQorOjEwOTc3MDAwMDgxNDlBMjQwMDg5MDA2RTUwMDA5MDAyMjQxMEQ5MDIyNworOjEwOTc4MDAwNkU0MDBCOTQwM0E3MDBCOTAwMjI0MDA4OTAwM0UwMDA0QworOjEwOTc5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUwNjAwOTkwMEE2NDExNgorOjEwOTdBMDAwMEE5MDA2MkMwMEE5MDk2RTUwMDg5MTAyODQwNDg5MDBEMQorOjEwOTdCMDAwMEU0MDBCOTQwMkU1NDlCOTAwMEE0MDBBOTAwMkM2MDAyNworOjEwOTdDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNjAwODEwMDIyNDA2NAorOjEwOTdEMDAwMDgxMjIyMDQ4MUExMDAyQzQwMDgxNjAyMDQwMDkxMjBFNgorOjEwOTdFMDAwMkM0MDBCMTI0Mjg0ODlCMTIwMjA0ODA4MTAwMkMyMDE4QgorOjEwOTdGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRDgwMDM2MDBGNQorOjEwOTgwMDAwMEE4MDAzQTE0MEU4MDAyRTAwMEMwMDIzQTE0MEM4NTBBQworOjEwOTgxMDAwMkUxNDBEODAwM0UwMDBGODUwM0EwMDBFODAwM0VFMDM5MgorOjEwOTgyMDAwNTAwMDAwMDAwMDAwMDAwMDg4MURENDAwRjUwMEJGNDA3QgorOjEwOTgzMDAwMEZEMTAzRjQ0NEREMDIzRDUwMkJEMTIzRjQwMEY5MTA4NQorOjEwOTg0MDAwM0Y0MDBEOTEwM0E0NDhGOTEyM0U0RTFGOTAwM0E2MDIxQgorOjEwOTg1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVGNDAwQzUwNDNCNDAzMworOjEwOTg2MDAwMEZEODAzQTc4MEZEMDBCMzY4MEREODQzQTUxMEM5QTA4OQorOjEwOTg3MDAwMzI1MTRGNUE0MzM2MDBDOUEwN0E2ODBCRDAwM0M2MDE1MworOjEwOTg4MDAwNzAwMDAwMDAwMDAwMDAwMDc4MThDQTg4ODgwMjAyMDBGQQorOjEwOTg5MDAwOEQ4NDIyMjM0MkY4MDAyMjA0Mjg4QUEyQUE5NDg4RTkwRgorOjEwOThBMDAwMjBBODBBODAwQTIxNDA4MEUyMkUyODBCODAwMkNFMDRFNAorOjEwOThCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNDIwQTEwNEE4QzAzQQorOjEwOThDMDAwMEIxQzJBMjQwMDM5MDQyMDQwMkExRTAyRTQ4MEIxMTAxNworOjEwOThEMDAwMkE0ODA5MTQ0NjA0MDA4MTM4MkM1QjBCMTAwMkQyMDA4MAorOjEwOThFMDAwMzAwMDAwMDAwMDAwMDAwMDE4MDVBNDEyQTkyNDIyNDA0NgorOjEwOThGMDAwMjk5MDAyMjQwMDM5MDAwMjU4MDgxODEwRTYwMUI5MDAyNgorOjEwOTkwMDAwQUE0NDA4OTAwMjI0MDA4OTAwMEU0MTBCOTAwMkM2MDQ2QworOjEwOTkxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDVFNDAwRTEwMTJBNjRFRQorOjEwOTkyMDAwMkY5NDEzMjQwMjcxNjAxMjYwNEQ5MDAwQzUwMkY5MDA1QgorOjEwOTkzMDAwM0E0MDBGOTAyMzI0MDJDOTAyM0E0MDBGOTAwMkU4MDRGMworOjEwOTk0MDAwNTAwMDAwMDAwMDAwMDAwMDY4MDFBNDAwRDkwMDNFNjA0MworOjEwOTk1MDAwQUY5MDgzNjQ4OEY5MjAzRTYyMDM5MDgzQTQwMEM5MDAxRAorOjEwOTk2MDAwMzY2MDBGMTAwM0M0MDBGOTAwN0U0MDBGOTAwM0RBMDA0OAorOjEwOTk3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MDBBMTAwQzg4MjMyMDA0MgorOjEwOTk4MDAwNkYwMDAzQTAwMEQ4NDAzMDAwMEU4MDAzNjAwNEY4MDE4RgorOjEwOTk5MDAwM0UxMDRGODA4QjIyMDBGODAwMzIwMTBFODAwM0NBMDQ3MworOjEwOTlBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDEzODAwMEUwMEE5OTBFRgorOjEwOTlCMDAwMkZFNjIwODgwMDlFODAyMzgwMEFFODAzMjgwMEJBMDA1MgorOjEwOTlDMDAwMTg4MDBERUMwMjM4ODBCQTAwQTI4MDA4QTAwMzhBMDAzQgorOjEwOTlEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU2QzAyODM4MDIwQzhDMQorOjEwOTlFMDAwMEIyMDAyMEMwMTkyMTA2OEMwM0EzQzAyQ0MxMDNCMDJFMgorOjEwOTlGMDAwMENDMDI4M0MwMjRFMDBCMzAwMjhDMDI4MzAwMkNBMDAyOAorOjEwOUEwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNDAwODc0MjJCQzA5RAorOjEwOUExMDAwMjk3MDIyOUMwMEI2MDAyQkMyMEE2MDg2MUMwMEI3MjE2OAorOjEwOUEyMDAwMjlDMDAwNzQwMjVDMDAzNzkxMDFFMDA4NzQwMkE4MDBBQworOjEwOUEzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwQzc4MDIxRTBEMAorOjEwOUE0MDAwMkY3ODAyOUUwMDk2ODAzOUUwMkVGODAzREUzMEY3RDBBMgorOjEwOUE1MDAwMkRGMjAwNzgwMzUyMDBGN0EyM0JFMDBFNzgwN0VBMDJFRAorOjEwOUE2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURCNDAwRkIwMDBDQzA1NgorOjEwOUE3MDAwMEYzMDAzRUMxMEQzMDBCNEMwMkY4MDAzNkM0OEZCMDAwMAorOjEwOUE4MDAwM0VDODREOTAwM0E0MDBGQjIwMUVDMDBGQjAwM0MyMDZDOQorOjEwOUE5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwQ0M4MDJCMkNDMAorOjEwOUFBMDAwMkZGODAzN0UwMDZFODAzQkExMEREODQzM0UwMEZGOTA0RgorOjEwOUFCMDAwMzNFMDBGRTkzM0ZFMDBDRkMwM0ZFMjBGRDgwM0MwMDAxMAorOjEwOUFDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTFCNDQwODcwMDIxMDRDRAorOjEwOUFEMDAwMDg3ODAyMUMwMDg2MDAyMUMwMjg5MDAyREMwMEI3MTAyNAorOjEwOUFFMDAwMjFDMDBGNzMwMkNDMDA4NzAwMkRDMDBCNTAwMkVBMDA4QQorOjEwOUFGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5RDAwQTQwMDI5NDg1NAorOjEwOUIwMDAwNkFGMDgyNEMwMEFFMDBBMUM0Mjk3NDAyNUM0MEEzMTAyQworOjEwOUIxMDAwNjFDMjBCNjAwNkM4MDA4NzAwMkRDMDBCNTAwMkMwMDQ1NAorOjEwOUIyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRFNjAxQTMwMjIwNDBGNQorOjEwOUIzMDAwMjgzQzAyMEMwMDgzNDIyMEM4MDgxMDAyQ0QwMEIzMDA2QworOjEwOUI0MDAwMjhGMDBCMzAwMkNDMDE4MzA0MkNDMDgzMTAwMkM4MDQxRgorOjEwOUI1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQTgwRUIwMDM4QzAwQgorOjEwOUI2MDAwMEE5MDAzN0MyMkEyNDAzMjQ4MERCMDBCM0UwMEZGMDA1OQorOjEwOUI3MDAwMzNGNDBGOTAwM0VDMDA4RjAyM0ZDMDBGOTAwM0VBMDQxMAorOjEwOUI4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFMDAwRDkwMjNFQzAzQworOjEwOUI5MDAwMEVCNjAzRUMwMEZBMjAzRUMwNEYyNDIzQUM2MEZCMDA1RAorOjEwOUJBMDAwQTZDMDBFOTAwM0U0MDBGQjAwM0NDMTBGOTAwM0UwMDA1MAorOjEwOUJCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGODAyQ0YwMDMzRTA4OAorOjEwOUJDMDAwMkNGMDEzQkMwMDJFMTBCMTY0MkVGMDAyM0MwMEZGMDJGQQorOjEwOUJEMDAwM0ZDMTRERUM2M0ZFMDBCNzAwM0JDMDBDRDgwM0MwNDQ0RQorOjEwOUJFMDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2QzI4ODE4MTIyRTAyOQorOjEwOUJGMDAwMEEzODAyM0MwNEJBQzkzMkUwMjA4NDAyMkMwMEJCMDBCRgorOjEwOUMwMDAwMkVDMDBCOUMwMkU3ODFCQjA0MjJDMDBBOTkwMkUwMDAyRgorOjEwOUMxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyODQwODg4MDIyODg5NQorOjEwOUMyMDAwMjhCQzQyQUMwMEJBMDAyQTgwMDg4NDAyQUMwMEJCMDAwOQorOjEwOUMzMDAwMkVDMDBCQjA4MkU4OTBBQjAwNjJDMDA4QjAxMkUwMDAwQQorOjEwOUM0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAwODkwMDJBODA5NQorOjEwOUM1MDAwMjhCMjAyMEMwMEJBMDAyMEMwMDgwMDAyOEMwMEIzMDAzOQorOjEwOUM2MDAwMkNDMDBCMzAyMDRDMTRCMzAwMjBDMDA4MzAwMkMyMDFCRAorOjEwOUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2ODAwQzgwMEIyQzAzNQorOjEwOUM4MDAwMkNCMjAzQUMwMEZBMDAzQUMwNEVBNTAzQkMwMEZGMDBBMgorOjEwOUM5MDAwM0ZDMDA5QTAwM0U5MDRFRjAwQkFDMDBDQjAwMUMwMDE0NQorOjEwOUNBMDAwMTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRjUwMDM1QzAwNQorOjEwOUNCMDAwQUYzNDAzRkMwMEY0MDAzOUMwMEZDMjAzN0MwMEZGMDE4NQorOjEwOUNDMDAwM0ZDMDBGRjAwM0ZDQTBGRjAwM0ZDMDBGRjAwM0U4MDUwQQorOjEwOUNEMDAwNjAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwRkYyOTNEMjBERQorOjEwOUNFMDAwOEVDMTAzMzI0OERDODAyMzI1MEVGMjAzM0NDMERGODRBMgorOjEwOUNGMDAwMzNDOTBGRjIwM0ZDMDBDRjgwMzM0MDBDRjIwMzMwMDA3NQorOjEwOUQwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQ0MwQkI2MDJFMDg1NgorOjEwOUQxMDAwMDg4MTAyMjAwNDg4MjAyMDQ4MDhGMTgyMkRDMDgzMDA5OQorOjEwOUQyMDAwMjJENDA5RjUwMkZDMDg4QjAxMjI0MDI4QjQwMjIwMDQ0OQorOjEwOUQzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzIwQjMwOTJDODIxMAorOjEwOUQ0MDAwMDgxMDE2QTAxMDkwMDgyODQ4MEEzMjAyMEMwMEJCMDAyOAorOjEwOUQ1MDAwMkNDMDBCMzAwMkNDMDI5MzAxMjAwMDhBMzEyMkUyMDE5OAorOjEwOUQ2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA0QkIwMDJDODA5NworOjEwOUQ3MDAwMDg4NjAyQTAyMEEwMDAyQTYwMEFCMDEwMkMwMEFCMENCQworOjEwOUQ4MDAwNkVDMDA5QjAwMkNDMDA5QjAwMjI2MDBBQjAwMkYwMDQ1MQorOjEwOUQ5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFQzAwQkIwMDNFMzQzNQorOjEwOURBMDAwMDhBMDBCODMwMEQ5MDIzQUUwMkVCMDBCMkMwMEY4ODBGQgorOjEwOURCMDAwM0VDMDRGQjAwM0VDMDBDQTQwQjI3MjBFQjAwQkMwMDRGQworOjEwOURDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzEwRkIwMDNGMDAzQworOjEwOUREMDAwMERGODEzNzA0OERENDAzN0MyOERGMDAzREMwMEREQzg5QworOjEwOURFMDAwMTNDMDBGRjAwM0ZDMDBFRTQwN0Y0MDBENzAwMzM4MDBGRAorOjEwOURGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwMTMyQzAxOQorOjEwOUUwMDAwMDQxMDAzMjA0MEU4MTAzQUMwMERCMDAzQUMwOEY4NDAzRAorOjEwOUUxMDAwQjJDMDJDQjAzM0E0ODJEQTQwQkE0MDBGQjAwM0QwMDRGMQorOjEwOUUyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzQzA4QkY4MDIyQzhEOAorOjEwOUUzMDAwMDhCNzAwMjM0NDg4RDAyMkQwMDg3MDgyRkMwMEIyRTAyQQorOjEwOUU0MDAwMDNGNDA4RjUwMjM3MDQ4QkQxMjI2MDRCRkQwMkYyMDBDNworOjEwOUU1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjMxMEE0NDBFQQorOjEwOUU2MDAwMDgwMDAyNDgwMEEwNDIyQUQwMDEzMDAyOEMwMEIzODBEMgorOjEwOUU3MDAwMkNDMDA5MzEwMkNDMDA4OTAwMjJFODAzMzgwMkY4MDAyNgorOjEwOUU4MDAwNTAwMDAwMDAwMDAwMDAwMDYwMDExRTAwQjc4MDI3NjQ0MQorOjEwOUU5MDAwNjg0QTAyNTIwMDhDODAyMUUwMDg3ODAyREUwMEI3ODAxOAorOjEwOUVBMDAwMkRFMjE5MzkwMjVFMzA4NTk4MjFFNDBCNzkwMkQ4MDA0MQorOjEwOUVCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRjMyMDM0MDBCRgorOjEwOUVDMDAwMENCODAzNDg4MEUyMjIzOEMwMEQzMDAzOEMwMEYzMDA0OAorOjEwOUVEMDAwM0VDMDBEMzEwM0VDMDBDQjAwMzgwNjBGMzA4M0QyMDJCOAorOjEwOUVFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwRkYwMDNCMDExRQorOjEwOUVGMDAwMEZEMDAzOTAwMEY2MDAzRkMwMEZGNDAxRkMwMEZGMDFGQgorOjEwOUYwMDAwMzNDMjBFRjUxM0JDMDBFRDAwM0ZDNDBGRjAwM0QwMDZDMgorOjEwOUYxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzAwRkIwMDNDQzA1MQorOjEwOUYyMDAwMEVBMDAxNjQwMUQ4MDAzMkUwMkNCNTAzMkMwMEYyMDAzMQorOjEwOUYzMDAwN0FDMDBEQjQwMzJEODBDOTAyMzJDMDBDQjAwMzJBMDBEMAorOjEwOUY0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzgwQjcwMDJEQzA4OAorOjEwOUY1MDAwMEQ2MDAyRDAwMTg0MDAyMUMwMDgzMDAyMUQwMEI3MDA0RQorOjEwOUY2MDAwMjFDODBCRjQwMzFFQzA4NjAwMjFDMDA4N0MwMzUyMDRFNAorOjEwOUY3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RUMwQjc5MDJERTAwRgorOjEwOUY4MDAwMDg3ODA2RDYwMUI0ODIyMUUwMDg3ODBBMUUwMEI1QzAyMAorOjEwOUY5MDAwMjlFODA5NzgwMjM2QzE5NzgwMjhCMDBBN0EwMjMwMDA5MQorOjEwOUZBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQkIwMDJDRTBBMgorOjEwOUZCMDAwMDkzNTgyQzBDMUEwNTEyMEU0MDgzMDAyOEMwMEJCQzQyNgorOjEwOUZDMDAwMjBDMDBCMzAwMjA2MDA5MzE4QUFCMDJBMzAwQTUyMDRBRgorOjEwOUZEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkEwMTNEQUNDOAorOjEwOUZFMDAwNENFQzEzNzgxMEY2ODBCMzkwMENBMDAzMjgwMEZFMDAxMAorOjEwOUZGMDAwM0E4MTBEQTAwRjJBODBERTA0M0JBMDBFQTAwMzNBMDQ5NAorOjEwQTAwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAwRjgwMDNFMDA5MgorOjEwQTAxMDAwMEQ4MDAyRTEwMEQ4NDgzRTEyMEY4MDEzNjAwMEY4NjAwNgorOjEwQTAyMDAwM0UwMDA3ODAwM0EwMDJFODA0MjYwODA1ODAwMzkyMDA5MgorOjEwQTAzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjkwNDNBNDA3RAorOjEwQTA0MDAwMEMxMjAzMjQ4MkM5MDAzNjQ0MEYxMDAzMjQwMEY5MDBDNworOjEwQTA1MDAwMzY0MDA0OTAwMzA0MDBDOTAwMTI0MDBDOTAwMzAyMDQyRgorOjEwQTA2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk4MTIyNDAzQworOjEwQTA3MDAwMDg5MDFBMjQwMDg5MDAyMjY4MEI5OTAyMjQwMEI5MDA3NAorOjEwQTA4MDAwMjI0MDY4OTAwQTI0MDA4OTAwQTI0MDA4OTAwQTIwMDAxQgorOjEwQTA5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkxMDIyRTBBNAorOjEwQTBBMDAwMDg5NDAwMDQwNDhCMDgyNkMwMEI5MDAyMjQwNEI5MEMwOQorOjEwQTBCMDAwMjQ0MDBBMTAwMjI0MDAyMzAyMkE0MEE4MTAwMjA2MDBBRAorOjEwQTBDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDkwQjEyMDIyNDA3RAorOjEwQTBEMDAwMDgxMjAyMEMxMDgxMDJBMDUwMEIxMjAyMDQ4MEIxMDU3QworOjEwQTBFMDAwMDA0ODBBMTAwMjA0QTBBMTAwMjg0QTA4MTIwMDAyMDEzOAorOjEwQTBGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg1MEJBMTRFNAorOjEwQTEwMDAwMEM4NTAzMDE0MkM4NTAzNDAwMEY4NTAzMjE0MEY4MDAzQworOjEwQTExMDAwMzYwMDBFODAxMzIwODBFMDAwMUEwODBDMDAwMzJFMDM4NgorOjEwQTEyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDQ0RjkxMDNGNDA3QQorOjEwQTEzMDAwMkZEMTEzRjQwNEY1MDAzRjQwMEY5MTBCRTQ0MEZGMjhBQQorOjEwQTE0MDAwQkU0RTBEOTY4M0Q0QTJERDI4Mzc0QTBGOTM4M0U2MDZEMAorOjEwQTE1MDAwNzAwMDAwMDAwMDAwMDAwMDk4MDVFNDEwQ0QwMDNGNDBCMgorOjEwQTE2MDAwMEZEMDAzMzUwMjVEMDEzMTQ0MEZEMDAzMjQwMEY5MDAwNAorOjEwQTE3MDAwMzI2MDBDOTg4M0U2NDBEOTAwMzY2QTBDOUU4MzI2MDEzMworOjEwQTE4MDAwNjAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwODgwMDJFMDA5MQorOjEwQTE5MDAwMEI4MDQyMDI4MDhBMDAyMjIwODg4MDAzMjAwOEI4ODIzNworOjEwQTFBMDAwMjIyMTA4ODg4MkUyNDI4OEE4MjIyMDA4Q0UwMjBFMDREQQorOjEwQTFCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAyODEwMDY4NDA3MworOjEwQTFDMDAwMEIxMDAyODQwMUI5MDAyMDQwNDkxMDBBMDQwMEI1MDhCMAorOjEwQTFEMDAwMjE0NjA4NTAwMkQ0MDA4RDIwMjU0QTBCNTAwMjQyMDEyRQorOjEwQTFFMDAwMzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwODkwNDZFNTQyMworOjEwQTFGMDAwMEIxMDEyQTQwMUE5MDBBMjQwMTg5MDE2MjQwMEI5MDA2NworOjEwQTIwMDAwMjM0MDE4RDAwMkY0MDA4RDQwMjE0QTBCRDAwMjQ2MDRBRQorOjEwQTIxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwQzkwMDNBNTBGMgorOjEwQTIyMDAwOEY5NjBCODQwMkYxMDEzMDQ4OEQ5MDAzMjQxMEY5MDBDMQorOjEwQTIzMDAwQjI0MDJDOTAwM0U2NDBEMUMwMzY1MDJGOTAwQjY4MDRGQQorOjEwQTI0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMDNFNjAzQQorOjEwQTI1MDAwMEY5OUMzNjQwMEQ5MjgzRTQwMEQ5MDAzQTQwMEY5NDAzMworOjEwQTI2MDAwM0U0MDBGOTAwM0U0MjBGOTQwM0U0MDBDOTAwMzhBMDBFQQorOjEwQTI3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjgwMTM2MDA3NworOjEwQTI4MDAwOEY4MDAzRTAwMkY4MDQzMjAwMEQ4MDQzMjAwMkNDMDBFRQorOjEwQTI5MDAwM0YwMDBGQzAxMzkwMDJEQzQwM0YxMDRDQzAyMzBBMDQ2MworOjEwQTJBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQkEwMDIyODBERAorOjEwQTJCMDAwMEJFODIwRjgwMDRFQzAyM0EwMDhBMDAzNjgwMDhBMDAyNQorOjEwQTJDMDAwMkU4MDFGQTAwMjJBMDY4QTAwMkVBMDAyNjAwMzBBMDAyOAorOjEwQTJEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU2QzAwQjMwMDIwQzAxMgorOjEwQTJFMDAwMEIzRDAyQzAwMzIzMDAyMEUwMDFCMDA2NEMwMDhCMDBCMAorOjEwQTJGMDAwMkVDMDRCMzAwMjhFMDg4MzgwMkNDNDAwMzQ4RTRBMDA1RQorOjEwQTMwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzgwQjU4MDYxQzA2QQorOjEwQTMxMDAwMEI0MDAyRDQwMDg0MDgyM0MyMDg1MDAyNUVDMDg0MDFBRQorOjEwQTMyMDAwMkQwMDhBMDgwMjEwMjQ4NDA4NkQwMDBBMDMxMjI4MDBGOAorOjEwQTMzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjU4MjIxNjAxNworOjEwQTM0MDAwMEY3ODAzRDYwNEFFODAzMUUwMEQ1ODIzN0UwMEM2ODAxRQorOjEwQTM1MDAwMkRFMDBCNzgwMzhFMDBENzgyM0RGMDBDN0EwMzZBMDI2MQorOjEwQTM2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjEwMEJBRDg5OQorOjEwQTM3MDAwMEY4MDAzRTQxMkY4MDBCRTgwMEUxMDAzRUMwMEY5MDAxOQorOjEwQTM4MDAwM0UwMDVGODAwM0UwMDhGODA0M0MwMDBGODAwM0MyMDYzMworOjEwQTM5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTIwRkY4MDNGRjA0QworOjEwQTNBMDAwMEZGODAzRDIwMEVGODRCMzYxMENCOTAzRkUwMEZGODAwNQorOjEwQTNCMDAwMzNFMDBDRjgxMzIyMTFDRDkwM0Y2MDBDRTgwMzEwMDAzRAorOjEwQTNDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwRjUwMDJEQzBFNgorOjEwQTNEMDAwMEIwMDAyRDQwNDg0MjAyMzQwMDg1QTAyREMwMEI0MDA5RAorOjEwQTNFMDAwMjEwMDI4QzIwMjFFMDQ4NjA0MkQ4ODA4RDAwMjJBMDRGNworOjEwQTNGMDAwNjAwMDAwMDAwMDAwMDAwMDEwMDA5QzAwQjUwMDJENDAyRgorOjEwQTQwMDAwMEI3MDAyRjQyMEE3MDQyMUMwMEE1MDAyREMwMEJFMDAzOQorOjEwQTQxMDAwMjFDMDA4NzAxMjAwMDA4NTAwMkQ0MDg4NjgwQTA0MDBFMQorOjEwQTQyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDQzAwQTEwMDJFQzAzRAorOjEwQTQzMDAwMUIwODA2QzQyMDgwMDAyMDk4MUExMDAyQ0MwMEIxMDgyNgorOjEwQTQ0MDAwMjAwMDA4MDAwMjBDMDE4MkMwMkNBQzI4OTAyMjE4MDRDNQorOjEwQTQ1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwQjMwMDNFNDAyMgorOjEwQTQ2MDAwMEZCQTAzRTUwMkU5MDQzMjkwQUVCMDAzRkMxMEZCNDBFMgorOjEwQTQ3MDAwQjIwMDBDODAwQjJDMDI4MjE4M0ZBMDBDRDAwMzJFMDREQgorOjEwQTQ4MDAwNjAwMDAwMDAwMDAwMDAwMDkwMDBFQzA0RkIwMTNFNDA3MgorOjEwQTQ5MDAwMEZCNjQzRTQwMEY4MDAzRTgwMDE5MDAzRUMwMEY4ODEyMQorOjEwQTRBMDAwM0VEMDBEQjQ1M0UwMDBGOTQwM0U0MDBGQTAwM0UwMDA2MQorOjEwQTRCMDAwMzAwMDAwMDAwMDAwMDAwMDgwMTBEQzAyQ0Q4MDMzNjAxRQorOjEwQTRDMDAwMkNEQTAzRkMwMEVDMDAzMzQwMEZGMjAzN0MwNEZFMDBBNgorOjEwQTREMDAwMzIwMDBDQzgwMzNDMDBDRTAwMzE4MDBDRDEwMzI0MDRCMAorOjEwQTRFMDAwMzAwMDAwMDAwMDAwMDAwMDkxMDQ2QzAwMDkwMDJBNjRBNAorOjEwQTRGMDAwMDg4RTAyQzIxMEEwMTAzRTEwMEI5ODAyRUMwMEI5MDBBQQorOjEwQTUwMDAwMDJEODA4QkUyMjIwMDA4OTAwMjI1MDA4QTAwMjIwNDA2NAorOjEwQTUxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwMEIyMDIyNDBFRAorOjEwQTUyMDAwMDhBMDAyRTU0MkFCMDQyMjE4MEJCMDAyNkMwMEIzMDA5NQorOjEwQTUzMDAwMjAwNDA4MDEwMjAwMDRBODQwMjIxMDA4ODAwMjIwMDAyNAorOjEwQTU0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzA4ODMwMDI4NDBDMAorOjEwQTU1MDAwMDgwNDAyQzQwMkE4MDAyQzAwMEIxMjAyQ0MwMEIwMDBCOAorOjEwQTU2MDAwMjBDMDQwMzAwMjBDMDA4QjAwQThDMDA4MzAwMjAyMTE0RAorOjEwQTU3MDAwMDAwMDAwMDAwMDAwMDAwMDgwMEQ2QzAwQzkwMDMzNDBBNgorOjEwQTU4MDAwMENCMDAzRUMwMkVCMDAzMjQwMEZCMDAzNkMwMEZBMDA5OQorOjEwQTU5MDAwMzIwMDBDODAwMzIwODBDODAwMzAwMDBDODAwMzIwMDNCMAorOjEwQTVBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRkQwMDNGNDAyQQorOjEwQTVCMDAwMEZDMjEzRjAwMEY0MDAzRjAwNEZENDAzRkMwMEY1MDA3RAorOjEwQTVDMDAwM0ZDMDhGRjAwM0ZDNDBGRjAwMzdDMDJGRjAwM0U4MDZDOAorOjEwQTVEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMDAwQ0MwMDMzMDA1NworOjEwQTVFMDAwMEVEMDBCMzMwMENDMDAzM0UwMEZDMDgzN0MwMENGMjBCMworOjEwQTVGMDAwN0IwOThDRjgwM0ZFNTBDRjM4M0ZFMTBEQzIwM0YwMDAxOQorOjEwQTYwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMjAwOTgwODIwODAyOAorOjEwQTYxMDAwMDg5ODAyMjAwMDg4RDAyMkUwMEVCNDIyN0QxOTlGNjk5QworOjEwQTYyMDAwMkU5MDA4MzA5MjI4ODFEQjY0MkVFMTg4MTZBMkUwMDQ4NworOjEwQTYzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDODAwOTAyNDIwMDFDMAorOjEwQTY0MDAwMDgxMDE2MDA4MjgzMDEyOEMxMEIwMjgyMENFMEEzMTBCRgorOjEwQTY1MDAwMjgwRTFCOTIwMjg0ODQ5MzIwMkVDMDA4MzEwMkUyMDE0RQorOjEwQTY2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBODEwOTgwMDIyODBCMworOjEwQTY3MDAwMDg5MDAyMDA2MDhBMTAyQUMwMEEyMDAyNkMxOEJCMDBGMQorOjEwQTY4MDAwNkU2MDJCOTAwMjQ2MjA4QjAwMkVDMjA4QjE4MkYwMDQyRgorOjEwQTY5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTFFNDAyQ0IwMEIyNDA2NgorOjEwQTZBMDAwMkM5MjAzMjcwMDg4MDBCQUMwMEY4ODAzMkMwMEVCMDQwQgorOjEwQTZCMDAwM0FBMENGMkNBM0VEMDA5QjAwM0NGMDJEOEMzM0QwMDRBRQorOjEwQTZDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDA0RUYwMDNGQzA5MworOjEwQTZEMDAwMEQ1MTAzRjAwMEYxODEzN0MwMEVGNDAzOUMxMENGMDA0MAorOjEwQTZFMDAwM0Q4MDBDRUMwN0I4MDhGRjAyMUZDNDBGQzgwM0Y4MDAzOAorOjEwQTZGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTA5RTAwQzMwMDM4NDBEMQorOjEwQTcwMDAwMEM5MjAzQTQ4MEZCMjAzQUMwMEQ5NDAzMkM0MEZCMDA2NAorOjEwQTcxMDAwM0UwMTBGODAwM0U1MDBFQjAwM0FDMDBEODQwQjEwMDRFRQorOjEwQTcyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzA4OEIwMjIyQzA5OQorOjEwQTczMDAwMDg5MjAzMjEwMDhCNDgyMkMwMEJCNzAyM0Q0MDNGMDEyNQorOjEwQTc0MDAwMjI3NDBCOTAwMjI4MDRCRjAwQjJDMDBCODUwMjMyMDBCNQorOjEwQTc1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0MDAxODAwMDI4MDBFQgorOjEwQTc2MDAwMDgyQzEyODg0MEIwNDAwOEMwMEIxODAyMEUwMEIzMDAzRAorOjEwQTc3MDAwMjgyMDExMzAwMjBDMDBCMzAwMjQwMDA5MDAwNjM4MDAyNAorOjEwQTc4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExMjAwODQ4MDIxQTA4MQorOjEwQTc5MDAwMjg2ODEyM0EwMDg0ODAyNUUwOEI1ODAyMUU0MEI3ODI1OAorOjEwQTdBMDAwMjFBNjBCNzgwMjFBMDBCNzgwMjEyMDBCNTgwMjA4MDA1RQorOjEwQTdCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODAwQzgyMTM4MDlENworOjEwQTdDMDAwMEMyODAzODAwMUYxMDAzOEMwMEQ4NTAyMEMwMEZCMDA0RAorOjEwQTdEMDAwMzg4NTBGMTAwMzhDMDBFQjEwM0NDODBEMzAwMzEyMDJCQgorOjEwQTdFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5ODAwRkMwMTNGODBCOAorOjEwQTdGMDAwMEY2ODAzRDA0MEZDMDAzQkMwMERDMDAzRkMyMEZGMDBFRAorOjEwQTgwMDAwM0JDNTBGRjAwQkI0NDBGRjE4M0YwMDBGRjEwM0QwMDYxQgorOjEwQTgxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAwRUIwMEIwNDE2QgorOjEwQTgyMDAwMENBMDAzRTAwNENBMDRCMEUwMEVCMDAzRUM4MENCMjAxRgorOjEwQTgzMDAwMzI4MTBDQTAwM0VFMDBEQjAwM0UwMDBFQjAwMzJBMDBDNAorOjEwQTg0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDA0ODcwMDIxQzAzRgorOjEwQTg1MDAwNDg2MDAyRjAwMDg3MDAyMUMwMDg3MDAyRkNBMDgzMjgzNQorOjEwQTg2MDAwQTM4MDA4NjAwMkRDMDA4NzIwMkRDMDBCNzAwMjEyMDQ1OAorOjEwQTg3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QzAyQTM4MDIxNjA3NgorOjEwQTg4MDAwMDg2ODAyRDIwMDg3ODAyMUUwMjk3ODAyREU4MDg3OTA2NAorOjEwQTg5MDAwMjFBMDE5NDgwMkZFMDA5NzgwMkRFMDBBMzg4MjMwMDA3RQorOjEwQThBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAxODM4MDIwQzA3QworOjEwQThCMDAwMDgyMDQyQzAzMDgzNzBBMEMwODkzNDAyQ0MwMjgzMDBEQgorOjEwQThDMDAwNjBDMDI5MDAwMkNFMDA4MzAwMkNDODBCQkMwMjEyMDQxOQorOjEwQThEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBOTAwRUFFMjMyOTAxNAorOjEwQThFMDAwMkNFMDAzRkIwMkNFQzAzMjgwMEZFNDAzRTgwMDhBMDBCNAorOjEwQThGMDAwMzM4ODBENjRDM0ZBMDBEQTAwM0Q5MDBFRTAwQjNBMDQ5MQorOjEwQTkwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBDMDI0RjgwODNFMTI2QgorOjEwQTkxMDAwMEZDMDAzRTA0OEYwMDAzRTAwMEU4MDkzQzAwMEY4MDAzNgorOjEwQTkyMDAwN0UwMTBFODBDMkUwNDBGODAwN0UwMDhGODQwM0QyMDBEQQorOjEwQTkzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNTAwQzEwMTMyNDhBRQorOjEwQTk0MDAwMEM5ODAzRTY0MEM5MDAzMjQwMEY5MDAzNjYwMEM5MDAyRQorOjEwQTk1MDAwMTg2MTBDOTAwMzY0MjBGOTA1M0U0MDBDOTA4MzAyMDRCQQorOjEwQTk2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NjIwODkwMDIwNTJCMgorOjEwQTk3MDAwMjgxMEMyMjYwMkE5MDAyMjQwMEI5MDBBMjcwMEE5MDAzNQorOjEwQTk4MDAwMjI3MDA4OTAwMjI0MDhCOTAwMkU0MDBBOTAwQTIwMDA4NAorOjEwQTk5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAyOEQwMDIzNDA3NAorOjEwQTlBMDAwMDhEMTAyODQyMDg5MDAyMjYwMEIxMUYyMjRCMDgxMDBCQQorOjEwQTlCMDAwMkE0NjA4OTA0MjY0MDhCOTAwMkU0MDA4OTIwMjA2MDAxOAorOjEwQTlDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQxNDgwODUyMDIzNDg5NworOjEwQTlEMDAwMDg1MjAyODQwODgxMDAyMDQwMEIxMjAyMDQ4MEExMjA0QQorOjEwQTlFMDAwMjg0OTI4OTAwMjA0MDAzMTIwMkU0MDA4MzIwMjAyMDEzQQorOjEwQTlGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwQzg1MEIyMTQ1NAorOjEwQUEwMDAwMENDMDAzQTE0MEM4MDBCMjAwMDc4NTAzMjE0MEM4NTAxNAorOjEwQUExMDAwM0ExNTBDODUwMzYxNDBGODUxM0UwMDJDODUwMzJFMDM0NgorOjEwQUEyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURDNDQ4RjkxMDNFNDQ4QQorOjEwQUEzMDAwNEY5MTAzNzQwMEY1NDQzRTQwMEZEMTAzRTQ0MEY5MTBGOAorOjEwQUE0MDAwMzc0NDBGRDAwM0Q0MDBGOTEwM0ZDMDBGRDEwM0U2MDZGRQorOjEwQUE1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVGNkEwREQ4QzMzNzhBRgorOjEwQUE2MDAwMEVEQTAzMzUwMENEQTAzMzQwMERGODBCMzY4MUU5ODBCNgorOjEwQUE3MDAwMzM3MDBDOTEwM0U0NDBGOUMwM0VDMDBGREMwM0M2MDAwNAorOjEwQUE4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTA0Qjg0MDIwM0NENQorOjEwQUE5MDAwMEM4NTAyMDI4NDhBNDAyMjAwMDg4RjgyMjMwMEI4RThENQorOjEwQUFBMDAwMjIyMDA4ODgwMkUyMDBCOEQwMkUwMDBCOEMwMkNFMDRDRgorOjEwQUFCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwOTEwMDYwNDg1QworOjEwQUFDMDAwNEIxMDAyMDQ4QTgxNDA2MDQwNDkxMDAyOERBMEExNDFEMAorOjEwQUFEMDAwMjA1MDA5MTIyMkM0ODBCMTIwMkM0MDRCM0UwMkMyMDFGQQorOjEwQUFFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDA4QjkwNEEwNDA4MAorOjEwQUFGMDAwNDhCMDAyMjQwMDg5MDA4MjQwMDg5MEE2QTQwMEI5MDQ0RQorOjEwQUIwMDAwMjI1NDI5OTUwMkU1NDBCOTAwNkU0MDBCOTIwMkM2MDQxQQorOjEwQUIxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDVFNDAwOTEwMDMyNDA0OQorOjEwQUIyMDAwMEY5MDA5MjQwMDg5OTAzMjQwMEQ5NDAzQTQwMEU5MDI5QgorOjEwQUIzMDAwNzI2MDBEOTQwM0U0MDFGOTAxM0U2MDBGOTAwM0U4MDQ5NAorOjEwQUI0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDQwRjkwMDNFNDAxMQorOjEwQUI1MDAwNEY5MDAzRTcxMEY5ODAzRTQwMEYxMDEzNjQwMEYxMDA5RQorOjEwQUI2MDAwQkU0MDBFOTAwM0U2MDhGOTAxM0U2NDBGOTAwM0NBMDA1MAorOjEwQUI3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MDBBMDAwRjgwMDMyMDg3QgorOjEwQUI4MDAwMEMwMTBCMjA0MEM4NDAzMjAwMEU4NDgzMjAwMEY4MDRFMgorOjEwQUI5MDAwM0UwNDBGODAwMzIxMDBFODAwM0UxMDBGODgwM0NBMDQyMgorOjEwQUJBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzODAwM0UwNDIzODAzQgorOjEwQUJCMDAwMDhFQzEyMzk0NEE2MDAyODgxMDhFMDAwMzgwOEJBMDBFMQorOjEwQUJDMDAwM0Y4MDBCQTAwMkE4MDA4QTAyMkU4MDBCRTAwMkNBMDA4MAorOjEwQUJEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0ODAwMzEwMDI0RDA5QgorOjEwQUJFMDAwMDgzRTEyQUUwODgxQTAyQ0MwMEEzODAwNEMwMEIzMDAwOQorOjEwQUJGMDAwNkVDMDBBMzAwMjBDMDBBMzAwNkNDMDBCMzAwMkNBMDAwOQorOjEwQUMwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExODAwQjUxMDI1QzA5MQorOjEwQUMxMDAwMjg2MDEyOTAxMEE1MDgyREMyMDg2NDIyNTgxOEI3MDBBOQorOjEwQUMyMDAwMkQ4MDBCNzkwMkJFQzA4NzAxNkRDMDBCNjAwMkU4MDA2OQorOjEwQUMzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjU4NDM1MjAzOAorOjEwQUM0MDAwOEMxODAyOTIxMEM1ODAzRDYwMEVDODBCNUEwODc3RjMyRAorOjEwQUM1MDAwM0RBMDBGRjgwMzFFQjBFNzg1M0RFMDBGNzgwM0VBMDI0MAorOjEwQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjEwNEJBMDE2MworOjEwQUM3MDAwMEZBMDQzNjAwOUUxMDAzODQwMEVBMDAzQTgxNEZCMjA5OAorOjEwQUM4MDAwM0E4MDBGQjQxQjRDODBGQjI5M0VDMDBGQjAyM0MyMDY5NAorOjEwQUM5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQTAwQ0Q4MDNCRTBFRAorOjEwQUNBMDAwNEVGODAzRjIwMkQ0ODEzQkUwOEU5ODA3M0U0NEVGOTFDOAorOjEwQUNCMDAwM0ZFMDRGRkMwN0VFRDBDRjk4MzNFNDBGRjgwM0MwMDAxRAorOjEwQUNDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MDE5ODAwODUxMDJEQzQ0RAorOjEwQUNEMDAwMEQxMTAyRjAwMDg1MjAzMUM0MEI3QjAwMzg0MEQ3MTBFNQorOjEwQUNFMDAwMkQ4MDBCNzA2MkZFRTE4NzE0MzlDMDBCNjAwMkVBMDQwQworOjEwQUNGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMTBCQzQwQTUwMDI5NDBEQQorOjEwQUQwMDAwMEI1MDgyREM0MDg0MDQyREMwMEIxMDA2NTg0NEE3MTA2MQorOjEwQUQxMDAwMkQ4MDBCNzEwMkRDMDA4NzA0MjFDMjBCNTAwMkMwMTA5MQorOjEwQUQyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzBBQTEwMTJDNDBFQgorOjEwQUQzMDAwODkxODAyQzEwMEExMDgyMEMwMEIzNDA2NDAwMDkzMDUwOQorOjEwQUQ0MDAwMkMxNDBCM0M4NkNFMTA4MzAxMjhGMTBCMTQwMkM4MDQ4RQorOjEwQUQ1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBMDAwRUQwMDNBQzA3RgorOjEwQUQ2MDAwMDdCQzYzRUQwMDgxNDAzRUMwMEU4ODAzNjQwMEVGMDAyNQorOjEwQUQ3MDAwN0U1MDBGRjAwMkZENDJDRjAwNzJDMDFGQjQwM0VBMDQwMAorOjEwQUQ4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFODAwOTkwMDNFRTA0NAorOjEwQUQ5MDAwNEZCNDgzRUQ5MDA5NDAzRUMwMEZBMTgzQTgwMUVCMDFBMQorOjEwQURBMDAwM0UwMDBGQjExM0VDMENGQjAwM0FDMDVGMjAyM0UwMDAyMworOjEwQURCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGODAwRkQwNDNGQjA2QQorOjEwQURDMDAwMEQ2MDAzM0UwMENEMDAzM0YwMEZGMjAxRjAwMEZGMDNGMQorOjEwQUREMDAwM0YwMzBGRjAwMUZDMDBGQjAyMzNDMjBGRjBFMzAwNDQxRAorOjEwQURFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QTAwQjkwMjJFQTBCQgorOjEwQURGMDAwNEFBQzAyMEU4MEY5QzAzNkUxMEJBMDAyMkEwOEJCMDA2MworOjEwQUUwMDAwMkUyMDBFQjAwMkVDMDBFQjAwMjJDMDhCQjAwMjIwNDBERQorOjEwQUUxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDEyMzAwQTkwMDI4QzBFRAorOjEwQUUyMDAwMDlCMjIyNkM0MDg5ODkyQUMwMEIxNDA2MjYwMEFCMDJBNQorOjEwQUUzMDAwNkVFMDA5QjAwNjZDMDBCMzAyMjJDMDBCQjAwMjIwMDAyNQorOjEwQUU0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwODAwQjEwMDJDQzAxMQorOjEwQUU1MDAwMEEzMDAyMkMwMEJCMDA2NEMwMEIzMjBBMDgwMDMzMDAyOQorOjEwQUU2MDAwNkM4MDAyMzA0NkNDMThBMzAwMjBDMDBCMjgwMjAyMTFDRgorOjEwQUU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2ODAwRTkwMDM4QzE4MworOjEwQUU4MDAwMERCMTBCMkMwMDg5MDAzQUMwMEI5MDAzNjAwMEZGMDI0QgorOjEwQUU5MDAwM0U4MDBGRjAwM0ZDODBGRjAwMzJDMDhGODAwQjAwMDM2OAorOjEwQUVBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTFEODAwRkQwNDNGQzBDOQorOjEwQUVCMDAwMkZGMjAzRkMxMUVGMDAzRkMwMEZGNDQzNzAwMEZGMDBCRQorOjEwQUVDMDAwM0YwMDQ2RjAwM0ZEMDBFRjAwM0ZDMDBGQzAwM0U4MDY1RgorOjEwQUVEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGRTAwRkY4MDNERTBBMworOjEwQUVFMDAwMENGOTEzREUwMDdGODBCM0UwMEZGQzAzQkU0MENGODA3RgorOjEwQUVGMDAwMzNGMDBGRjgwMzdDMDRDQzgwMzNBMDBDRjAwQjMwMDE0RQorOjEwQUYwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMDIwODgwMDJFMjA2QgorOjEwQUYxMDAwMDg4MjEyRTA4MEE4ODEyMjAyMEI4MDAyMjA4MEE4ODA5MworOjEwQUYyMDAwMjIwODBCODAwMjJDMDI4ODA0QUEyMDA4QjAwMjIwMDQwOAorOjEwQUYzMDAwMjAwMDAwMDAwMDAwMDAwMDg4MDVFQzAwQTMwODJDODAyMQorOjEwQUY0MDAwMDgzMjAyQzQyMEEzMDAyODQwMEI5MjAyODQwMEE5MDEwOQorOjEwQUY1MDAwMjhDODFCMTI4MkNDNDBBODAwMjRFMDBBMzA0MjIyMDFGQgorOjEwQUY2MDAwMzAwMDAwMDAwMDAwMDAwMEMwMTFBODgwQTgwMjJFNDBBMAorOjEwQUY3MDAwNjg4MDEwQzgwMEI4NDAyQTkwMEJBMDAwMjgwMEFBMDhEQQorOjEwQUY4MDAwMkEwMjAzMjAwMjhDMDBBODg4MkUyMDBBQjAwMjMwMDQ3NgorOjEwQUY5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFODA0RkEwMDNDNDA5QQorOjEwQUZBMDAwMENBMDAzRTgwMEVCMDAzQUMwMEYyMDUzQTgwMEUzNDBEOAorOjEwQUZCMDAwMkE0MDBGQTAwMzZDMDBBODgwMzQyMDFFQjAwMzEwMDRBOAorOjEwQUZDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDAwOUQ5MTNGODA4RgorOjEwQUZEMDAwMEZEQTIzRjQwMENDMjAzNzAwMDdEMDEzNzQwMEJDMDAzNAorOjEwQUZFMDAwQjc4MDBCRDA0MzdDMDBEQzA0M0IwMDZERjAwM0Y4MDAxRAorOjEwQUZGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBODAwRkE4MDNBMDA0NQorOjEwQjAwMDAwMkNBMDBCMjAwMkNCNjIzRTUwMEU4ODAzMjAwMEQ5MTBFQQorOjEwQjAxMDAwM0U3MDhDODAzM0VDODBEODQwM0EwMjBEQjAwMzEwMDRBRgorOjEwQjAyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDEwQzAwMzk4MDIyQzA5MAorOjEwQjAzMDAwMEM5RDgyMkMxMEQwNDAyRUEwMDhCODAzNEUwMjhBNDBFRQorOjEwQjA0MDAwMEVBMDBEQjAwMzNEMDBEMDkwMzYxMDBCRjAwMkIyMDAwMAorOjEwQjA1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjEwMDYwQzBBRQorOjEwQjA2MDAwOEExODAyOEMwODgwNDAwQ0EwMDIzMDAyQ0UwMDgyNDg3MAorOjEwQjA3MDAwMkM4MDJCMzAwNjhDMDA4MTAyMjA5MDA5QjAwMjM4MDAxMQorOjEwQjA4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExMjAwQjY5MEEzMzAyNAorOjEwQjA5MDAwMDhFODIyQjIxNDg3ODAyRDYwMDg0OTEyMTI2MTk1OTA0OQorOjEwQjBBMDAwMkQ2MTBBNDgxNjFFODA5NTgwMjUyMDBCNzgwMjg4MDBBNQorOjEwQjBCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRjEwMDI4OEM0RgorOjEwQjBDMDAwOEUxMDAzODQ4MDgwMDAyQzAyMEE5QTAyRTQwMEQwMDBEMworOjEwQjBEMDAwM0U4MDBCOTEwMzhFODBDMjA4Mzg4MDBEQjAwMzEyMDJBRgorOjEwQjBFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCMDAwRjYwMDNGNDREQQorOjEwQjBGMDAwMEYyMTEzNzgwMEZGMDAzREMwMEZFMDAzNzgwMEVGMDQzQworOjEwQjEwMDAwM0Y0MDhERTgwM0RDMDRGNjAwM0YwMDBGRjA4M0QwMDZEQgorOjEwQjExMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAwRTg4MDMyNDA2MAorOjEwQjEyMDAwMEY4ODBCMjgwMDc4MDIzRTgwMEUyODAzMjgwMENBODA3MgorOjEwQjEzMDAwMzIwMDBGQTAwM0VDMDBDOTgwMzI4MDBGQjAwMzJBMDA1OAorOjEwQjE0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE4QzAwOEYwMEExODBGQQorOjEwQjE1MDAwMEI3MDQyMTQwMEI3MDAyRDQxMEI1MDQyMTQwMEE1MDBBMworOjEwQjE2MDAwQTFDMDBCNTAwMkZDODBBNTAwMjEwMDBCRjIwMjEyMDRDQQorOjEwQjE3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDBCQTAwQTQ4MDI5MzA3OAorOjEwQjE4MDAwNEI0ODA2NTIwOEI0ODAyRDIwMEI0ODQyMzIwMDg0ODA4MAorOjEwQjE5MDAwMjEyMDBCNDgxMkRFNDA4NjgxMjlBMDBCNzgwQTMwMDA1RQorOjEwQjFBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwODMwNTIwRTBDRgorOjEwQjFCMDAwMEIzNDAyNkMxMEIzMDAyQ0MwMEIzNjRBMEQwREEzMDBFQgorOjEwQjFDMDAwMjBDMDBCMzQ4MkNDMDJBMjAwMjgwMDBCMzAwMjEyMDRGMworOjEwQjFEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBOTIwRUE0MDMwQTA3RgorOjEwQjFFMDAwMDdBMDQzNjk0MEZBMDAzQzgwMEZBMDAzMDg0MENBMDA1MgorOjEwQjFGMDAwMzBBMDBGQTQwM0U4MDBDRTAwM0I5ODBGQTAwMzNBMDQ1MAorOjEwQjIwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBEMjAwRkMwODNGMDA4MQorOjEwQjIxMDAwMEJDMjAzQjAwMEZDMDAzRjAwMEZDMDAzRjAwMEZDMDBCNQorOjEwQjIyMDAwM0YwNDBGQzAwM0UwMDBGODAwQjYwMjBGODAwM0QyMDAxNQorOjEwQjIzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRDkwMDNFNjg2MworOjEwQjI0MDAwNEM5MTAxRTQwOEM5MDAzRTQwMkM5MjAzRTQwMkM5QTBERAorOjEwQjI1MDAwM0U3MDBFOTAwM0M2NDJDOTAwM0U0MDBGMTAwMzAyMDQyOAorOjEwQjI2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODk4NjBFNjA0OQorOjEwQjI3MDAwMDg5ODAyRTQwODg5MTAyRTYwMDg5MDAyRTQwMDg5MEMwNgorOjEwQjI4MDAwMkU2MDA4OTAwMkU2ODg4OTAwMkU0MDBCOTAwMkEwMDBGNAorOjEwQjI5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOUQxMDJGNDA0MQorOjEwQjJBMDAwMjhEMDA2RjQwMkFEMDAyRjYwMDhEMDAyRjQwMDhEMDAxMworOjEwQjJCMDAwMkY0MDBBRDAwMkU0MDA4OTAwMkU2MDBCOTAwMjA2MDBBNQorOjEwQjJDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQzNDAwODUwMDJENDAwQworOjEwQjJEMDAwMDg1ODAyRDQwMEE1MDIyRDQwMDg1MDAwRDQwMDg1MDA3MworOjEwQjJFMDAwMkQ0MDA4NTQwMkM0ODA4MTAwMkM2MDBCMTQwMjgyMDE5RQorOjEwQjJGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRDg1MjNFMDA4MAorOjEwQjMwMDAwMEMwNTAzRTE0MEU4MDQzRTE0MEM4NTAzRTE0MEM4MDA0RAorOjEwQjMxMDAwM0UxNDBFQzAwM0UwMDBDMDAyM0UwMDRGODAyMzJFMDMwNworOjEwQjMyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDAwRjkwMTNFNDBBQworOjEwQjMzMDAwNEY5MDEzRTQwMEQ5MDAxRTQwMEY5MDAzQzQxMEYxMDA5OQorOjEwQjM0MDAwMUU0MDBGOTAwM0U0RTBGRDI4M0Y0MDBGOTQwM0U2MDYwMworOjEwQjM1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVBNDAwRkQwMDNGNDA0MAorOjEwQjM2MDAwNEQ1MDAyRTQwMDk1MDQzMzQwMjhEMDAzRjQwMEZEMDA2MgorOjEwQjM3MDAwMzM0MDBGOTEwMzM0MDBDRDQwMzM0MDBGOTg4MTA2MDBENQorOjEwQjM4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDEwQjgwMDJFMDAyRgorOjEwQjM5MDAwMEI4MDAyRTAxMEI4MDAyMjAwMDg4MDAyRTAwMEI4MDAzNAorOjEwQjNBMDAwMjIwMDBCODgwM0MyODA4ODgwMjIwMDBCOEMwMjBFMDRDRQorOjEwQjNCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDRDNDAwQjEwMDJDQzBGMAorOjEwQjNDMDAwMEIxMDAyQzQwMEJCMDAyMjQwMDgxMDAyQzQwMUI5MDBFNworOjEwQjNEMDAwMjA0MDFCOTAwMjA0MjI4OTAwMjA2MDBCMTI4MjAyMDE4RgorOjEwQjNFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDQ0QjkwMDJFQzAzMQorOjEwQjNGMDAwNEI5MDAyRTQxMEI5MDIwMjQwMDg5MTQyRTQwMEI5ODA4NworOjEwQjQwMDAwMjI0MDBCOTIwMkM0MDA5OTQwMjI0MDRCOTAxMjA2MDQ0NQorOjEwQjQxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNjAwQjkwMTNFNThFMQorOjEwQjQyMDAwMEQ5MDAzRTYwMEQxMDAzMjYwMEM5ODAyRTY0MEY5MDA2RQorOjEwQjQzMDAwQjI0MDBGMTgwMzI0MDBDOTgwMzI1MDBGOTAyMzI4MDQxMworOjEwQjQ0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMDNFNDI0NgorOjEwQjQ1MDAwMEI5MDAzRTcwOEY5MDBCRTQ4MEY5MDAzRTQwMEY5MDBFMQorOjEwQjQ2MDAwM0U0MDBGOTgwM0E0MDBFOUEwQkU0MDBGMTAwQjRBMDAxNQorOjEwQjQ3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRDgwMTNFMDA3RAorOjEwQjQ4MDAwMEY4MDhCMjAwMEY4MjAzRTAxMEY4MTAzRTAwMEY4MDhCOAorOjEwQjQ5MDAwM0EwMDBDODAwM0UwMDBEODQwMzIwMDBGODAxMzBBMDQwOQorOjEwQjRBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEE4MDJGOTE1RAorOjEwQjRCMDAwMEJFRTAyMjgwMUJFMDAyMDgwMEJBMDAyRUE4MEI2NDhGNQorOjEwQjRDMDAwMjI4MDBEQTAwMkZBMDI4NjQxQTNBNjBCQTAwMzBBMDA2NworOjEwQjREMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTM4MDJDQzBCNAorOjEwQjRFMDAwMEIzMDAyMEMxMEIzMDAyOEMwMEIzODAyQ0MwMEIzMDBBNAorOjEwQjRGMDAwMjhDMDA5MzAwMkM2MDE4MzYwMjA3MDBCMzAwQTRBMDA2MAorOjEwQjUwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDEyRTg4ODUwODJEODA1QQorOjEwQjUxMDAwNEJGODA2MUM4MEI3MDAyMUMwMEI1MDAyRDQwMEI2MDBDNworOjEwQjUyMDAwMjk2MDA5NzAwMkQwQTA4RDAwMjE0MDBCMzIwMjI4MDA1MgorOjEwQjUzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRDU4MDNERTA4QgorOjEwQjU0MDAwOEY3ODAzMUU4NEI3ODIzRDYwMEY1OTAzREUwMEY3ODBCOQorOjEwQjU1MDAwMjk2MDE1NzgwM0RFMDBDNzgwMzE2MDBGN0MwMzZBMDIyMgorOjEwQjU2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzQwRTkwMDNFODAyMworOjEwQjU3MDAwMEZBMDAzRUQzMEZCMDAzNkMxMEY5NjAzRTQwMEIzMDBDQgorOjEwQjU4MDAwMzQ0MDBGQjc4M0VDNDAyMTAwM0U0MDBGQjAwM0MyMDZBOQorOjEwQjU5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkY4MTMzRTBCNQorOjEwQjVBMDAwMEZGOTAzREUyMENGODEzRkUwMDc3ODAzM0UwMEZGODBFNAorOjEwQjVCMDAwM0ZFMDA0RjgxM0ZFMDJERTgwMzM2MDBGRjgwMzAwMDA2MgorOjEwQjVDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQjcwMDIxQzQxQQorOjEwQjVEMDAwMEI1QTAyREM0ODg2NTAyREMwMEIzMTAyOTQ2MEI0MTgxRgorOjEwQjVFMDAwMkQ0MDQ4NzAwMkU4MDBBNTEwMjE0MDBCNzEwMjJBMDQ4QQorOjEwQjVGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQkQwMDIxNDIyRgorOjEwQjYwMDAwMEI3MDAyRkMwMjg1MDAyNTQwMEI1MDAyOUMwMEI3MDAyNQorOjEwQjYxMDAwMkY0MDI4NzEwMkRDMDBBNjAwMjFDMDBCNzAwMjAwMDA0MAorOjEwQjYyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTQ2RDgwQjEyMEEwNTAxOAorOjEwQjYzMDAwMEJCMjA2Q0UwMEEwMzQyRUYwMEIxODAyODUyMEIzNEFDMAorOjEwQjY0MDAwMkM1NDg4MzgwMkNDMTBBMTAwMjBCMDBCMzAwMjA4MDQyMgorOjEwQjY1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCRTgwRjMwODEwNTQ2MAorOjEwQjY2MDAwMEI4ODEzRkYwMEMwODAzRTY0MEZCNDgzMDcwMEY5QzA0RAorOjEwQjY3MDAwM0VGMDBDRkMxM0Y0MDBFQTAwMzI3MDBGRjAwQjJBMDRDOQorOjEwQjY4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRjkwMDNFMTBBNworOjEwQjY5MDAwMDc5MTAzRUNDMDU4MDAzRTQ0MEY5MjAzRTQwMEY5MDAwOAorOjEwQjZBMDAwM0VDMDhGQjMwM0UwMDBCQjAwQkU0NDBGQjAwM0UwMDAxOAorOjEwQjZCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAyQ0QwNDMzRTA2NworOjEwQjZDMDAwMENDMDAzM0MwOEZFMDAzMzYwMkNEMDAyQjQ4MENGMDBENQorOjEwQjZEMDAwM0Y1MjA3RjAxM0ZDMDBDRTEwMzM0MjBDQjAwM0MwNDRCRAorOjEwQjZFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzAwODkwMDJBQjBENgorOjEwQjZGMDAwMDg4ODAyMkMwMEJBMDAzNjQ0MDg5MDAwMjYwMERCQzBGRgorOjEwQjcwMDAwMkU0MDBCQjAwMkVDMDA4M0MwMjg0MDBBQjAwMkUwNDA5QgorOjEwQjcxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIwMDIyMDhCMworOjEwQjcyMDAwMUFBMjAyMkMxMEI5MjAyMjQwMDgzMDAyMkMwNEFBNTQ3QworOjEwQjczMDAwMkVDMDBCQjAxMkNDMDA4QjA4MjI0MDA4QjAwMkUwMDBGMworOjEwQjc0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODMwNDJBMDBGMAorOjEwQjc1MDAwMEEwODgyMEMwMEI4MDA2NDQwMDgzMDAyQTQwMEIwMDA1RgorOjEwQjc2MDAwMkNDMDhCMzAxMEM4MDI4QjAwMkE0MDBBMzAwMkMyMDE2NAorOjEwQjc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQzkwMDMyMDA1NQorOjEwQjc4MDAwMUE4MjAzM0MwMEY5MDAzMjQwMENEMTAzQUMwMEVCMDBGQworOjEwQjc5MDAwM0U0MDBGRjAwM0VEMDBDMzAwMzJDMDhDQjAwM0MwMDM4NQorOjEwQjdBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRjUwMDNGMDA2MAorOjEwQjdCMDAwMEQ4MDRCRkMwMDdDMDAzRjQwMEZEMjBCNzQwMERGMDA3QgorOjEwQjdDMDAwMUQ0MDhGRjAwM0ZDQTBGRjAwM0Y4MDBGRjAwM0U4MDY1MAorOjEwQjdEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwREY4NDNCRTBCQQorOjEwQjdFMDAwMEZGODBCM0UwMEVDODAzM0UxMEMzMDAzM0M4MENGNDg3NworOjEwQjdGMDAwMzdDMDBFNDAwM0UwQzBDNzkxQjMwNDBDRjAwMzMwMDAyMworOjEwQjgwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFRjA0OEI4MDIyNDFENworOjEwQjgxMDAwMEJCMDgyMkUwMDg4ODBBMkUwMEFBMjkyQUQ4MDg3NDJGRgorOjEwQjgyMDAwMjNEODhBQUQwMkUwQzA4QjAwMjA0QzQ4QTQwMjIwMDQzQgorOjEwQjgzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzU4QkIwMDI4ODBDNAorOjEwQjg0MDAwMEJCMjQyMjQwMEE4MDAyQUMwMEExMDAyMDQ2MEEzMjAwMAorOjEwQjg1MDAwMjREMjA4MDA0MjhDODM5QjAxMjA0OTA4MzNDMjIyMDE3NAorOjEwQjg2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzAwQUI4ODIyQTBGMgorOjEwQjg3MDAwMEJCODAyMjYwQ0E4MDAyQUMwMEE5MjAyQTQwMEFCMDY0QworOjEwQjg4MDAwMjJDMDBBQjAwMkU4MDA5QjAwMDI0MDA4QTA0MjMwMDQzNworOjEwQjg5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwRDM4MDNBRTA5QQorOjEwQjhBMDAwMEYxODAxMDYwMEU4MzAzODY2MEVCODAzMkE0MEVCMDA5NgorOjEwQjhCMDAwMzZDMTBFOTYwM0UyODBEQTA4MzI4MDJDQkIwMzEwMDRGNgorOjEwQjhDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDE5QzAwREYwMDNGQzBBRAorOjEwQjhEMDAwMEZEMDAzRjQwMERDODAzNzYwMEZFODAzRkEwMERGMDFDQgorOjEwQjhFMDAwM0ZDMDBGQzA0M0U2NENFRkEwM0Y0NDBGQTAwM0Y4MDA1OQorOjEwQjhGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzQwREIwMDM2ODAxQgorOjEwQjkwMDAwMEM5ODAzMjYwMEY4MDAzRUMwMEUxODAzODQwMkUzMDFFMQorOjEwQjkxMDAwMzhDMTBFQjQwM0FDODBDQTE4M0FEMDJDMzAwMzEwMDRERQorOjEwQjkyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzRjQwQjk4ODJFODBCQworOjEwQjkzMDAwMDhCQzAyQTMwMEIwMDAwRUMwMDhCMDA2MjAwMDhGMDRBRgorOjEwQjk0MDAwMjNDMTA4QjkxMjJGMDA4MzgwMzY0MDA4QUQwMjMyMDBBRgorOjEwQjk1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjIwMDJDQzBEOAorOjEwQjk2MDAwMDkzMjAyODQwMDMzMDAyQ0IyMEEzNjEyOEMwODkzMDU4NworOjEwQjk3MDAwMjBDMDBCMTgwMkVEMDA5MTgwNkEwMDA4MTAwMjM4MDAwOAorOjEwQjk4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwQjc4MDJERTBFNAorOjEwQjk5MDAwMDk3ODAyOTc0MEI0ODAyRkEwMDhFODAyMEU0MDk3ODJGMQorOjEwQjlBMDAwMjFFMDk4Njg4MjFBMTg5RDkwMkRBMTE4NTgwMjA4MDA2RAorOjEwQjlCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQ0MwRjMwMDNFQzAzQQorOjEwQjlDMDAwMERCMDQzODQ0MEYwMDAzQzgyMEUzODEyOEM0NEYzMzBCQQorOjEwQjlEMDAwQkFDMTFFMTA0NzhFMjJEMTEwMzgxODBDMzA4MzEyMDJDMworOjEwQjlFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzQwRkYwMDNGQzAwMAorOjEwQjlGMDAwMEVFMDAzRjQ0MEZDMDAzREM0MEZEMDAxRjQ0MUVGMTgwOQorOjEwQkEwMDAwM0ZDNDFGRjAwM0Y4NDhFRjE0MzM4MDBGQzEwM0QwMDY4MgorOjEwQkExMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVGQzQwRkIwMDNFQzBFNAorOjEwQkEyMDAwMEY5ODAzMjQwMENCMDAzRTQwMEZCMDAzQTgwMERCMjg5MgorOjEwQkEzMDAwM0VDNDFGOTAyM0VDMDBDQTAwMzJFMDBDOTAwM0VBMDBFMQorOjEwQkE0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzgwQjcwMDJEQzA2RAorOjEwQkE1MDAwNEI1MDUyMTQwMEQ0MDEyRDgwMEI2MDAyRDgwMEE3MjA1NworOjEwQkE2MDAwMkRDNTBCNDAxNkRDMDA4NDAwMjNDMDA4NDAwMkQyMDQyMAorOjEwQkE3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTgwQjc4MDJERTA0NAorOjEwQkE4MDAwMEI3ODBBOTYwMDk0ODAyRDYwMUI3ODA2RDIwMEE3ODA2MAorOjEwQkE5MDAwMkRFMDBCNzgyMkRFMDA4NzgyMjFFMDA4NTgwMkYwMDBCQQorOjEwQkFBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjNFNDJDQzBDQgorOjEwQkFCMDAwMUIyMTAyODEwMDkwMDAyQ0M4MEIzOTAyQ0UwMEEzMDA4QworOjEwQkFDMDAwMkNDMDBCMzAwMkNEMDA4QjIwMjBGMDA4QjIwMkQyMDQzMworOjEwQkFEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkVBMDNGODIzMgorOjEwQkFFMDAwMEZFODAzOTgzMEQ2MDAzRkEwMEZFMDAzQkFDMEZBMDA3OQorOjEwQkFGMDAwM0U4MDBGRUMzM0Y4MDJDRTAwQjNCODJDRUM4M0ZBMDQ4RQorOjEwQkIwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDE4Rjg0MDNFMDAxRgorOjEwQkIxMDAwMEY4MDAyNjA4NEY4MDUyRTA0OEY4MDQxRTAwMDc4MDJENworOjEwQkIyMDAwM0UwMDBGODE4M0UwMjBGODAwQkUwMjBGODAwM0QyMDBBOAorOjEwQkIzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNjE4RjkyMDNFNDAyOAorOjEwQkI0MDAwMEY5QzAzRTQ0MEM5MDAzMjYxMEM5MDEzQzQwOEM5MDE4MgorOjEwQkI1MDAwM0U0MTBGMTgwMzI0MDBDOUEwMzI0MDBGOTg0MzAyMDQ0RAorOjEwQkI2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NTAwQjFDMDIyNDBFOQorOjEwQkI3MDAwMEI5QzAyRTcxMDg5MDAyODQ0MDg5NDIyRTQxMDg5MDBGNQorOjEwQkI4MDAwMkU0MDBCOUYyMjI2NjA4OTgwMjI0MDBCOTEwQTIwMDBDNAorOjEwQkI5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDgwQjkwMDJFQzAyRAorOjEwQkJBMDAwNEJCNDAyRTQyMDg5MjAyMjQwMDg5NDAyRUMwMDg5MDA3MgorOjEwQkJCMDAwMkU0MTBCOTAwMjA0MDA4OTQwMjI0MDBCOTAwMjA2MDBBNworOjEwQkJDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjEwNDIwNDAxMAorOjEwQkJEMDAwOEIxMDAyRTQwNTgxMDAyODQwMjgxMjEyQzQ4MjgxMjBDMworOjEwQkJFMDAwMkM0ODBCMTIwQTA0ODI4MTAwMjA0ODBCMTIwMjAyMDEyOQorOjEwQkJGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2OEEwRkEwMjNFMTQyQQorOjEwQkMwMDAwMEY4NTAzRTAwMEM4MDAzMjAwMEM4NTAzQzE0MEM4NTMxMworOjEwQkMxMDAwM0UxNDBGODAwMzAxNDhDMDUwQjIxNDBGODUwMzJFMDM1OQorOjEwQkMyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDAwRkQwMEJGNDAyRgorOjEwQkMzMDAwMEY1MDEzRDQwMkZEMDAyRkMwMEZEMTAzRjQ0MEY5MTBCMAorOjEwQkM0MDAwM0U0NDBGRDEwM0Y0NDBGRjAwQkY0NDBGRDEwM0U2MDY4QQorOjEwQkM1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNkEwRkQwMTNFNDQ1MQorOjEwQkM2MDAwMEZEMTAzRDQwMEM1MDAzMzQxMEZEQjAzMjcyMEQ5RTBGNworOjEwQkM3MDAwQjI3MDBEREE4M0Y2NDBDRjEwMzI3ODJEREEwMzA2MDA2OQorOjEwQkM4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTAwQjgwMDJFMjgwRAorOjEwQkM5MDAwMEI4ODQyRTAxMEQ4MDAyMjAwMEI4QzBBMjMwMDg4QzBEOQorOjEwQkNBMDAwMjIyODA4ODQwMkMyODA4MEEwMjIzMDQ4QUE4MjBFMDQ4MgorOjEwQkNCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDJDNDA2NgorOjEwQkNDMDAwOEIxMjAyQzQwMDk5MDIyODQwOEIxNjAyODQ4MTkxMzBBNQorOjEwQkNEMDAwMjA1ODA5MTAwMkM1MDA4MTAwNjQ0RDA4MzQwMjAyMDE5OQorOjEwQkNFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBQzBDQjkwNDJFNDhDQworOjEwQkNGMDAwMEI5NDA2RTQwMDk5NDBBQTQwMEI5MjIyQTQwMDg5MDAwQworOjEwQkQwMDAwNjA0MDA4OTQwMkU0MDA4OTgwQTY1MDA4OTIwMjA2MDQ2QworOjEwQkQxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjk5ODNFNDgxMworOjEwQkQyMDAwMEY5ODAzRTUyMEQ5MDAzQTY0MEY5NDgzQTRDMEQ5MDI4OAorOjEwQkQzMDAwNzI0MDREOTA0MkU0ODJDOTQwMzY0MDBDOTAwQjI4MDQ3QQorOjEwQkQ0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBQzI4Rjk4ODNFNDA4NworOjEwQkQ1MDAwMEY5OTEzRTcwMEY5QzAzNjYwMEY5MDAzNjYwMEYxMDBGOQorOjEwQkQ2MDAwN0U0MDBGOTkwN0U0NjBGOTAwMzg0MDBGOTgwM0NBMDAzRAorOjEwQkQ3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjgxMDMyMDA1MQorOjEwQkQ4MDAwMEY4MjBCMjEwMEU4MDAzNjA0MEM4NjAzRTEwMEQ4MDA4NgorOjEwQkQ5MDAwMzIwMDBGODAwMzYxMDBDODAwMzIwMDBGMDAwMzBBMDQ2NAorOjEwQkRBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODIwQkUwMDIyODA5RQorOjEwQkRCMDAwMjhFQzAyMTkwNDgyMDAwMzgwMERFNDgyRTgwMDhBMDE2NQorOjEwQkRDMDAwQUE4MDhCRUQ4MjNCODA4RTkwMzY4MDBCRTAwMzRBMDA4OAorOjEwQkREMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0MjAwQjM4MDIwQzBBMQorOjEwQkRFMDAwNkIzNDE2NDBDMDgzMTAyNDcyODhCMDAyRUMwMDgzMDBDQworOjEwQkRGMDAwMjRDMDBCMDQwMjZGMDk5QjAwMjRDMDBCMzAwMjBBMDAxMAorOjEwQkUwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNDAwQjc4MDIzRTRFRgorOjEwQkUxMDAwMjg3ODgyNzQxNDhGMDA2MUUwMDk1MDEyREMwNDg3MjJCNAorOjEwQkUyMDAwMjVDODFCNzgwMjE0MDA5NDQwQTVDMDBCNjAyMjY4MDA0RQorOjEwQkUzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxMjIwQjc4MEIxRTAxOAorOjEwQkU0MDAwOEZGODAzMTIwMkU3ODAzNUUwMEM2ODA2Q0ZDMkNGQjA0RQorOjEwQkU1MDAwMjVGNDBGNTgwMzVBMDJENTgwNzVGQTRGRjgwMzJBMDJDOQorOjEwQkU2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBNTkwRjMwMDNEQzA4OAorOjEwQkU3MDAwNEZCMDEzQTgwNEZCMDAzQ0MwMEY4MDQzRUM4MEVCNjA4NAorOjEwQkU4MDAwM0FDOTBGMzAwM0VDMDBFOTAwM0VDODBGQTAwM0MyMDYxOAorOjEwQkU5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGNjAwRUU4MDNGRTBCQQorOjEwQkVBMDAwMEQ4OTAzRDI0MEU1ODEzOUUwM0NGOTA3RkUwMENGODhENworOjEwQkVCMDAwM0ZFMDBGRTgwM0YyMDhDRTgwMzNFMDBDRjgwMzAwMDAwNworOjEwQkVDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5NDQ0QzYwMDJGQzBCQworOjEwQkVEMDAwMDg1ODAyRDBDNDg1MjQyMTkwMDg1NDEyREM4MjA3MDAzRgorOjEwQkVFMDAwMkRDMDBCNzAwNkQ0MDA4RTQ4MjFDMDBBNjAwMjJBMDRCRgorOjEwQkVGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQTc0MDJEQzA3MgorOjEwQkYwMDAwMDg0MjAyRDAwMEFEMDAyOUMwMDg3MDIyREMyODg3MDA1QQorOjEwQkYxMDAwMkRDMDBCNDAwMjk4MDA5NzAwQTBDNDA4NzAwMjAwMDBEQQorOjEwQkYyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzA4OTMwMDJDRTA0QQorOjEwQkYzMDAwMDgzQzIyQzEwMDgxMDAyMDgwODgxNTAyQ0UzMDgzMDA5OQorOjEwQkY0MDAwMkNDMDBCM0MwMkNDMDQ5M0MwMjBGNDRBMEM4MjA4MDRBMQorOjEwQkY1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBMDAwRTNDMDFGRTBCMgorOjEwQkY2MDAwNkMxMDgzRTAwNEVCMDAzQTUyNENCNDAzRkUwMkNGMDBBNQorOjEwQkY3MDAwM0ZDMDBGODQ0M0UxMDJEOEMyMzNDMDBDODQwQjJBMDRCMworOjEwQkY4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFOTAwRUIxMDNFQzRFQgorOjEwQkY5MDAwMEU5NDAzRTQwMEZCMTgzRUMyMEZCNjAzRUMwMEZCMDE1NQorOjEwQkZBMDAwM0VDMDBGMzUwM0M0MjhFQTQyM0VDMDBGODEwM0UwMDBDMworOjEwQkZCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzQwRkYwMDMzQzAxMgorOjEwQkZDMDAwMENDMEEzMzAyOENEQTAzM0MwMENFODAzMEMwMEVGMDU1MworOjEwQkZEMDAwM0RDMDBDQ0E4MzNDMDBDRDA4M0ZDMjBDQTAwM0MwNDQ0NgorOjEwQkZFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2NzAwQkI4MDIwQzAxQQorOjEwQkZGMDAwMDhBQTAyMDgwMEExMDEzNEQxMDhBNDEyMkMwMDhCMDA2OQorOjEwQzAwMDAwNkVDMDg4QjIwMjJDMDg4OTgwMkVDMDBBQTgwM0EwNDAwNgorOjEwQzAxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwQkE4MEEyQzBDMworOjEwQzAyMDAwMDhBODBBQTAwMDhCMDBBMkMwNDgxMTAyQUMwNDhCMDAzMworOjEwQzAzMDAwMkVDMDAwODAxMjJBMDg4QjE0MkNDMDA4ODgwMkUwMDA1MQorOjEwQzA0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQjIwMDIyQzAwNAorOjEwQzA1MDAwMDhCMjEyODAwMEFCMDEyNEMwMDgwMDAyMEMwNDgzMDA2NworOjEwQzA2MDAwMkNDMDA4MzAwMjA3MDA4MjAwMjRDMDA4MDgwMjgyMDFBOAorOjEwQzA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwRkIwMDMyQzA1QQorOjEwQzA4MDAwMENBMjAzQTAwMEM5MDAzMkMwMjQ5NDAzM0MwMkNGMDBEQworOjEwQzA5MDAwMkZDMDA0ODAwQjA5MDJDQjAxM0ZDMDJDQTAwM0MwMDNCQQorOjEwQzBBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlEQzAwRkQwMjNGQzBBRAorOjEwQzBCMDAwNEZFNDEzNzAwMEZEMDAzRkMwMEZDMjgzRkMwMEZGMDA3RgorOjEwQzBDMDAwM0ZDMDBGRjAwM0ZDMDBGRjAwM0ZDMDBGQzAwM0E4MDZGNQorOjEwQzBEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzIwRUYzMDNGMDRBRAorOjEwQzBFMDAwNkM4ODAzM0E0MkU0OTEzRjBEMEQ0ODAzM0NDMEZGMDJDNworOjEwQzBGMDAwMzM0NDBDRjQwM0ZDODJERjMwMzM2MDBERjEwMzMwMDA3NQorOjEwQzEwMDAwNzAwMDAwMDAwMDAwMDAwMEEwMTBFRDAwOEI3MDJFMThFMQorOjEwQzExMDAwODgyMjRBMkM4MkVBMjYyRTBDMEJCODQyM0Q4MEJGOTAyMgorOjEwQzEyMDAwMkE1NDI4QjQwMkNEMDBEQjQwMkE0QTQ4MzAwMkEwMDQzOQorOjEwQzEzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQ0IwQTMwMDZDMTBBNworOjEwQzE0MDAwMDkwMDgyMjA4MkEwMjAyQzg4NEI4MDAwMEM0MEIzMDE4MworOjEwQzE1MDAwMjA0ODBCMzYwMjhDRTA4MzY0MjQ0MDI4MzIwMjIyMDFGRQorOjEwQzE2MDAwNzAwMDAwMDAwMDAwMDAwMEUwMTFBQzAwOEIwMDJFMDAwOQorOjEwQzE3MDAwMDk4MDgwQTYwMEJBMTEyRTg4MEJCMDAwMkMwMEJCMDJFQgorOjEwQzE4MDAwMDI0MDA5QjAwMkVDMDA4QjAwMkNDODA4Qjg4MkIwMDQ1MQorOjEwQzE5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwRUIwMDNFOTI0MworOjEwQzFBMDAwMEQ4MDAzMEEyMEU5MDAzRTUwNDU4MDAxMkMwNEYzMDA3NQorOjEwQzFCMDAwOTA2MDA5QjAwM0VDMDA4QjAyMjY1MDhEQkMwMzEwMDQ4NAorOjEwQzFDMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDFCQzAwRkYwMjNGODBDMgorOjEwQzFEMDAwMEVGOTAyN0MyMkFGMDAzRjYwMDNDMDBCRkMxMEZGMDA5MQorOjEwQzFFMDAwM0Y0QTRFRjAwM0ZDMDBGNzAwMkI2MDBGNzAwM0Y4MDA4RAorOjEwQzFGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwMEIwMDAzOAorOjEwQzIwMDAwMEY4MjBCQTkwMEM5MDAzMkQyMEZBMDgzQUMwMENCMTA2MworOjEwQzIxMDAwM0U0MDBDQjAwM0VDMDBEQjAwMzI1MDJDOTUwMzEwMDRDMAorOjEwQzIyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzQzA0QkYwMjIyODA3RQorOjEwQzIzMDAwMEI5ODAwMjkwMENCNDAyMkMwMEIyNDAyM0MwODhGNTBGMQorOjEwQzI0MDAwMkU1MDBERjAwMkZENDI4RjU4MjJFMDQ4QjUwMjMyMDAxOAorOjEwQzI1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2QzAwQjMwMDI0NDAzNgorOjEwQzI2MDAwNEI5NDAwNDkwMDkwODAwNDMwMDkwMDBFNEMwMDgzODBGQworOjEwQzI3MDAwMkNDMDA5MzAyMjZFNDI4MzgwMjA0ODA4MzgwMjM4MDBFMgorOjEwQzI4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwQjc4MDY1MjA2MworOjEwQzI5MDAwMEI3ODgyN0EwODhDQzAyNUEzNEI3ODAyNUUwNDg3ODREMQorOjEwQzJBMDAwMkQ2MTg5NzgwMkRFMDQ4NzgwRTk2MjA4NzgwMjA4MDAzRgorOjEwQzJCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRkIwMDM0NDg2QgorOjEwQzJDMDAwMEYzQjAzNDgwMDkzNDgzNDUwMEQwMDAzNkMwMEMzMTAyQgorOjEwQzJEMDAwMUNDMjA1MzAwM0NDNDBDQjAwMzI0MDBDMjAwMzEyMDJCQworOjEwQzJFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzIwRkYwMTAzNDBEMgorOjEwQzJGMDAwMEZGMDIzMUMwMEZGMDAzQjgwMEZCMDIzM0MwMkZGNTBENworOjEwQzMwMDAwM0RDNDBGRjEwM0VDMDBFRjAwQjdDMDBGRTEwM0QwMDYwRQorOjEwQzMxMDAwNjAwMDAwMDAwMDAwMDAwMDg4MDVFQzAwRkIwMjNFRTAyOQorOjEwQzMyMDAwMEM4MDAzNDgwMkM4ODEzMjAwMEY5MDQyRUNBMEZCMTA0MQorOjEwQzMzMDAwM0VFMDBDQjEwM0VDNDBGQjEwMzI0MDFGRjAwMzJBMDAzQQorOjEwQzM0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjcyNDJEODAwMAorOjEwQzM1MDAwMDg3MDQyRDgxMDhDMDIyMTQwMEI1MDAyREQwMEU3MjAwQgorOjEwQzM2MDAwMkY0MDA4NzAwMkRDMDVCNzAwMjFDMDBCRjAwMjEyMDQ1OAorOjEwQzM3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc5MDJGNDA0OQorOjEwQzM4MDAwMEE2ODAyN0EwMDk3ODAyMUUwMEI3ODAyREUwMEI3ODAwRAorOjEwQzM5MDAwMkRFMDA4NzgwNkRFMDBCN0EwMjE2MDBCNzg0MjMwMDA1RgorOjEwQzNBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjMwMDJDQzBBNgorOjEwQzNCMDAwMEEzNDAyQzgwMDgzNEEyMEY4MEIzMTAyQ0MwMEEzMDBFMworOjEwQzNDMDAwMkNDMDA4MzAwMkNDMDBCMzAwMjBCMjBCMjA0MjEyMDQ3MworOjEwQzNEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwQkEwMDNGODgwNworOjEwQzNFMDAwMkVFMDQzNTk4OERFMDAzM0IwMEY2QzAzRTgwMEZBMDBGQQorOjEwQzNGMDAwM0U4MDJDQTAwM0U4MDRGQTAwMjNCODBGRTA4QjNBMDQzNworOjEwQzQwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDA0RjgwMTNFMDA2OQorOjEwQzQxMDAwMDk4MjIxRTAwMEY4NDBCRTE0MEY4NDgxRTAwMEU4MDBBQQorOjEwQzQyMDAwM0UwMDFGODAwM0UwMDBGODAwQkUwMDBGODgwM0QyMDAyQQorOjEwQzQzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRTEwMDMyNDA3RAorOjEwQzQ0MDAwMEM5MDQzRTQyMEQ5MDAzQzQ0MDg5MDAzMjQwMEY5MDFGNworOjEwQzQ1MDAwM0U0ODBGMTA0MzI1MDBDOTAwQjI0MDBDOTAwMzAyMDQ2RgorOjEwQzQ2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjkwMEEwNDAxQgorOjEwQzQ3MDAwMDg5ODAyRTYwOEE5NjAyRTQ5MDg5NDAyMjQwMEI5MDAzMQorOjEwQzQ4MDAwMkU3MDBCOTAwMjI2MDI4OTAwQTA0MDBBOTAwQTIwMDAxQworOjEwQzQ5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkwMDIyNDAzMAorOjEwQzRBMDAwMDg5ODA0RTYwMDk5ODAyRTQwMEFCMTAyMjQwMEI5MDBFMQorOjEwQzRCMDAwMEU0MDBCOTAwQTA0MDA4MTAxMjJDMDA4MTAwMjA2MDAwMQorOjEwQzRDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwQjEyMDIyNDg2MQorOjEwQzREMDAwMDgxODA2QzQwMEExMDAyQzQ4MkEzMDAyMDQ4MEIxMjJBQQorOjEwQzRFMDAwMkM0ODBCMTIwMjA1ODA4MTYwMjI1MDBBMTQwMjAyMDFCRQorOjEwQzRGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg1MDMyMTQ0OAorOjEwQzUwMDAwMEM4NTAzRTE0MEQ4NTAzRTE0MEU4MDBCMjE0MEZBMDAwOAorOjEwQzUxMDAwM0U5NDBGODUwMzIwMDBDMDAwMzIwMDBDODAwMzJFMDNFMAorOjEwQzUyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDQxRjkxMDNENDU1NgorOjEwQzUzMDAwMEZEMDAzRjQwMEZGMDAzRjQ1MEREMDAzRTQ0MEY5MTA5NQorOjEwQzU0MDAwM0Y0NDBGOTEwM0U0NDJGOTEwM0Y0MDBGRDQwM0U2MDY0NQorOjEwQzU1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNDAwRjkwMDNFNDBGMworOjEwQzU2MDAwMENEMDAzRjQwODhEMDIzRjQwMEZEMDAzRTQwMENEMDA0RgorOjEwQzU3MDAwMzM0MDBDOTAwMzI0MDBGOTAwMzI0MDRDOTgyMzA2MDAwRAorOjEwQzU4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwRTgwMDJFMDBGRAorOjEwQzU5MDAwNDg4MDAyRTgwMEQwMDAyRTgwMEI4MDEyRTAwMjg4MDA2NAorOjEwQzVBMDAwQTIwMDBBODAxMjIyMDBCODgxMjIyODA4Q0YwMjBFMDRCRAorOjEwQzVCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDJDNDA1RAorOjEwQzVDMDAwMjgxMDAyQzQwMDgxMDAyQzQwMEIxMDAyQzQwMDkxMDAwRQorOjEwQzVEMDAwMjY0MDA5MTAwMjU0QTBCNTJDQTU0MjA4NTA4MjAyMDE0MQorOjEwQzVFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwQTkwMDJFNTBFMworOjEwQzVGMDAwNTg5MDAyRTQ4MDlCMDAyRTQ1OEI5MjAyRTQwMDk5MDA0MworOjEwQzYwMDAwMjY0NDBCOTAwMjY0MDhCNTAwMjU0QTA4NTEwMjA2MDQyRQorOjEwQzYxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjkwMDNFNTQ5NgorOjEwQzYyMDAwMEM5MDQzQzQwMEM5OTAzRTcwMEY5ODAzRTQwMEQ5MDBGOQorOjEwQzYzMDAwMzQ2MDREOTAwQTY0MDBGOTAwMzY0MDJDOUUwMzI4MDRCMworOjEwQzY0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMDNDNDAzOAorOjEwQzY1MDAwMEY5QzAzRTYzMEY5MDAzRTYyMEY5MDAzRTQwMEU5MDAwRQorOjEwQzY2MDAwM0E0MDRFOTAwM0E0MDA3OTBDM0E0MDBGOTAxQkNBMDA0OAorOjEwQzY3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjgwMDNFMDA0QworOjEwQzY4MDAwMEM4MTEzRTEwOEM4NDgzMjAwM0M4MDAzQzAwMEYwMTA2MAorOjEwQzY5MDAwM0UwNjBDODAwM0YwMDhDQzAwMzMwNDBDQzAwMzBBMDRFRgorOjEwQzZBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQkEwMDJFODBBRAorOjEwQzZCMDAwMDhFQzQyRkEyMDhFMDAyM0EwMDhFODQyRTgwMEJFODA4MQorOjEwQzZDMDAwMkY4MDA4QTAwMkU4MDBEQTAwMjI4MDQ4RTAwMjBBMDA3OQorOjEwQzZEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjMwMDJDQzAwMgorOjEwQzZFMDAwMDkzNDgyQzkwMDgzODAyMEYwMDgzMDgyQ0MwMEIzODBGNgorOjEwQzZGMDAwMkNGMDA4QjAwMkMxMjA4MDAwQTAzMjA4MDAwMjBBMDAxRAorOjEwQzcwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQ0MwQjcwMTJGQzhBRAorOjEwQzcxMDAwODk1MDAyRDgwMjg3QzQyMUUyNDg3MDgyREMwMEI3MDA0OQorOjEwQzcyMDAwMkM0MDA4NzIwMkNFMDA5NzA4MjNDMDA4NzAwMjI4MDAyRgorOjEwQzczMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjdFMTNERThFRQorOjEwQzc0MDAwMkQ2ODAzRjIwMEM3ODBCMEUwMDg2ODAzREY4MEY2ODA0MAorOjEwQzc1MDAwM0RFMDhDN0UwM0RBMDBDQzgwMzEyMDBDQzgwQjJBMDIyRAorOjEwQzc2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzA4RkIwMDNDQzBGOQorOjEwQzc3MDAwMEU4MDAzRTAwOEY5MDAzRTQwMEZCMDAyRUMwMEZBMDAyMgorOjEwQzc4MDAwM0U0MDJGQjAwM0U0MDBGQjAwM0NDMDJGQjAwM0MyMDZDNAorOjEwQzc5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkY5MjdGRUEzQworOjEwQzdBMDAwMENGODAzRkUwMENDQTAzRjIwMERGOTAzM0UwMENGODAyMworOjEwQzdCMDAwMzM2MDBGRjgwM0Y2MDBFRjg0MzNFMDJDQzgwMzAwMDA2OQorOjEwQzdDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQjcwMDJGQzhGNgorOjEwQzdEMDAwMDg1NDAyRDgwMEQ2MDQyRDAxMDg2OTAyMUMwMDg1MDAwNworOjEwQzdFMDAwMjE0MzBCNzAwMzlBQzA4QzAwQTMwMjA4RjEwMjJBMDRCMworOjEwQzdGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcwMTJEQ0M4QworOjEwQzgwMDAwMDg3MDAyRDQwMDk0MjgyREMyMDhDMjAyNUMwMDg2MDA4MQorOjEwQzgxMDAwMjE4MDBCNzEwMkRDMDBBNzEwMjFDMDA4NDgwMjQwMDBGMworOjEwQzgyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzA4QjMwMDJDRjAxMQorOjEwQzgzMDAwMDgwNTAyQzAyMDkwODAyRTAwMDgwMDgyNEMwMjgwMDA3MworOjEwQzg0MDAwQTA2MTBCMzAwMkEwMDA4MDAwQTAzMDg4QjEwQTQ4MDQyQgorOjEwQzg1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwRkYwMDJEQzgzQgorOjEwQzg2MDAwMEMzRDAzRTQwMERCMDIzRUYwMkM5MDRCN0MwMEMxMDA0OQorOjEwQzg3MDAwMzIyMDRGRjAxM0UwMDBFODAxMzIwMDhDQUMwMzZBMDQ3MAorOjEwQzg4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwNDNFQzJERAorOjEwQzg5MDAwNEZCMDAzRTAwNEZBNDAzRUMyNEU5ODIzQUMxMEY4MDBCQgorOjEwQzhBMDAwM0U1MDA3QjAxM0FDMDBGQjAwM0VDMjBGOTIwM0EwMDA0NQorOjEwQzhCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQ0YwMDNGQzA4RAorOjEwQzhDMDAwMENDODIzMzY4MkNGODAzRjgwMENFMDAzRUMwMEY5MjBCNworOjEwQzhEMDAwMzNDMDBFRjAwM0Y4MTBEQzAwMzMwMDRDRTgyMTAwNDRCNAorOjEwQzhFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzAwQUIwMDJFQzA4RQorOjEwQzhGMDAwNEE4RDQyMjEwMDhCNDIyRUQyMDhCMDAzRUMwMEI4ODg0QQorOjEwQzkwMDAwMzQ2MjBEQjAwMkU0MDA4QjAwMjJDMDA4OTAwQTIwNDA3RgorOjEwQzkxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIwMDJFQzBERAorOjEwQzkyMDAwMDhBMDAyMEQwMDg5MTAyRTA4Mjg5MjAyRUMwNEJCMDAxQQorOjEwQzkzMDAwMjJBMDA4QjAwMjY0MDJCMzAyMjBDMDA4QTIwMkEwMDAzNAorOjEwQzk0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQTMwMDJFQzBGRQorOjEwQzk1MDAwMEE5MDIyMEMxMDgwMDAyQzAwMTgwMjgyQ0MwMEIwMDAzQgorOjEwQzk2MDAwMjY0MDA5MzAwMkM4MjA4MDAwMjAwMDA4MTAwNjgyMDFGRAorOjEwQzk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQ0IwMDJFQzA4NQorOjEwQzk4MDAwMENBMTAyMjQwMDg4MDAzQzAwMEM4MDAzRUMwMEZCMDA5QQorOjEwQzk5MDAwMzI4MDBFQjAwM0NDODBEQjAwMzJDMDBDQTAwMzgwMDNEOQorOjEwQzlBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDNGQzA4MAorOjEwQzlCMDAwNEZDMjEzRDQxMEZDMDAzRjAwMEYwMDAzQkMwMEZDMDA2QQorOjEwQzlDMDAwM0Y0MDBGRjAyM0UwMTJGQzAxQkYwMDBGRDAwMzY4MDJDQworOjEwQzlEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzAwQzc4MDMzQzBFQworOjEwQzlFMDAwOEJCNDAzQjBDMENGMkUxRjBDNEZDMzAzMzA4MEZGMDFBOAorOjEwQzlGMDAwM0YwODBGRjAwMDdDMDBGRjIxMzNFNDBDRTAwMzMwMDAxRgorOjEwQ0EwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFRTAwOEI4MjIzRjAxOAorOjEwQ0ExMDAwMEJCNTEyMEQ4ODg4QzAwRTk4MEI4NjAyMjEwMEJCQzA5MgorOjEwQ0EyMDAwMkVFNDRCRjc4MzJGNDRCRjkwMjJDODQ4QTY4MjIwMDRFRgorOjEwQ0EzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzA5OEEwMDIwNTA2QQorOjEwQ0E0MDAwNEJCMjBBODBDQzgzMDEwQzhDMEIyMzBBMDQ2MEIzMTQxNAorOjEwQ0E1MDAwMjQ0MDRCMzAwMkNDMTBCMzAwMjBDOEU5MTEwNjYyMDExQgorOjEwQ0E2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzAxOEE4MEEyNDRFNAorOjEwQ0E3MDAwMEJCMDAyQTEwNDg4NDAyRUEwMEIyMDAyMjgyMEJCNDA0RQorOjEwQ0E4MDAwMkU0MDBCQjAwMjJDMDhCQjAwMjJDMDA5QjAwMjcwMDQ3QgorOjEwQ0E5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwQzM4MzMyRTA5RAorOjEwQ0FBMDAwOEYwMDAzQTAwMkNCQzQzRTI4MDc4QjAzMjEwMEY5QzBFRQorOjEwQ0FCMDAwM0UxMDBGQjAwM0VDMDA3QjAwMzJDMDBEQTAwMzUwMDQwOQorOjEwQ0FDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDE5QzAyRkYwMDNGRTA1OQorOjEwQ0FEMDAwMEZGNDQzNUU4MEZDOTQzRjAwMEZDMDJCRjI1MEZEMjEwOQorOjEwQ0FFMDAwN0U4NDhGRjAwMzZDMENGRjAwM0ZDMDBFNjIwM0I4MDAyMQorOjEwQ0FGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRUIwMDMyNDA3RAorOjEwQ0IwMDAwMkM4MDAzNjkwMENCMzBCMjAwNEZCMzQzRTUwMENCNDAyQgorOjEwQ0IxMDAwNzIxODJDQjAwM0VDMjhDMzIxM0FDMTBGOTQwMzEwMDRGRgorOjEwQ0IyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzQzAwOEIyMDIyNTBCRgorOjEwQ0IzMDAwMDhCMDAyMjgwMDg4QzAyQTAwOEJCNDAyRTgwMERCMDA5RAorOjEwQ0I0MDAwNjIzMDA4RjAwMkZDMDA4RjgwMjJDMDBCOTU0NzMyMDA1MworOjEwQ0I1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjEwMDIwQzJEMQorOjEwQ0I2MDAwNDgzMDAyNDk4MDgzNDI2MDEyMEIzMDAyQzgwMDgyMDJDMgorOjEwQ0I3MDAwMkMzMDA5QjAwMkNGMDE4MzUwMkFDMDBCMjAwMkI4MDAyQworOjEwQ0I4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwOUQ4MEEwRTA3OQorOjEwQ0I5MDAwMDg3OTIyNUU2MDg3OTAyOUEwMEI3ODAyQzYwMDkyODFGNgorOjEwQ0JBMDAwMDVFMDA5NzgwMkRFNDA4NzgwMjFFMDBCMjkwMjA4MDBCOQorOjEwQ0JCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzQwRjIwMDMwQzBCNworOjEwQ0JDMDAwMDgzQTAzNDQwNEMzMTQzMEMwMEYyMjAzQ0M4MEMyMDBDRgorOjEwQ0JEMDAwQTREMjBEMzAxM0NDMjBDMzAwMzhDNDRGMDQ0MzEyMDIzQQorOjEwQ0JFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5QzAwRUUwMDNGRTAzRgorOjEwQ0JGMDAwMEY3MDAzQjQwMkY0MTAzRkMwOEZBMDAzRkMwMDdFMDA0RQorOjEwQ0MwMDAwM0JDMDBFRjA4M0VDMDBGNzAwM0ZDMDBGQzAwM0QwMDYxRQorOjEwQ0MxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVGQzAwRjkwMDNFQzAxNAorOjEwQ0MyMDAwMEZBMDAzQUExMkNCMDEzMjgwMEZCMDEzMjgxNEY5ODA5MQorOjEwQ0MzMDAwM0E0MDAzQjQwM0VDNDJDQjE4M0VDMDBGQjAwMzJBMDBDNQorOjEwQ0M0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5RDAwQjUwMDJEQzREOAorOjEwQ0M1MDAwMEI3MDRCN0MwMDg0MDAyMTgwMEI3MDAyOTQxMEIyMDA5QQorOjEwQ0M2MDAwMjlDMDBCNzI4MkRDMDA4NzIwMkRDMTBFNzAwMjEyMDRENQorOjEwQ0M3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc4MDJERTBCMgorOjEwQ0M4MDAwMEI2ODAyOUUwMDgzODAyMUUwNUIzODAyMUUwMEI0QzA2NgorOjEwQ0M5MDAwMjVFMDA5NzgzMkNFMDA5NzgwMkRFMDBCNUM0RTMwMDAwNQorOjEwQ0NBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjM0NDJDQzA1OQorOjEwQ0NCMDAwMEIzQzAyQ0M0MDkzMDgyMEUwMEIzMDAyOEMxMEIzQzAzOAorOjEwQ0NDMDAwMjhEODFCMzAwMkNDMDg5MzAxNkNDMDBBQjg4MjEyMDQyOQorOjEwQ0NEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRjYxMDNFODBCQgorOjEwQ0NFMDAwNEJFRDgzQjgwMENFRTRCM0EzMEZFMDAzMzgwMEZFMDBBMQorOjEwQ0NGMDAwM0I4MDBEQTAwMkU4MDBEQTAwM0U4MDBGRTgwMjNBMDQxMworOjEwQ0QwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDEwRjg0MDNFMDAxNQorOjEwQ0QxMDAwMEY4MDEzNjAwMEUwMDAzRTAwNDMwODAzRTAwMEY4MDhDNQorOjEwQ0QyMDAwM0EwMDBGODAwM0UwMDBFODQwM0UwMDBFODAyM0QyMDA2RQorOjEwQ0QzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBDNDAwRDlDMEJFNDA1MAorOjEwQ0Q0MDAwMEY5MDAzRTYwMEY5MDAzMjQwMDE5QTAzMjQwMEY5MDAzNQorOjEwQ0Q1MDAwM0U0MDBGOTAwM0M0NDAwOTEwMEU0MDBGOUEwMzAyMDQ5NgorOjEwQ0Q2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA0ODkwNEEyNjAxOAorOjEwQ0Q3MDAwOEI5RDgwQTYwMEI5ODAyMjQwNDg5ODAyMjQwMEI5MDAwQgorOjEwQ0Q4MDAwMkU0MDhCOTAwMkU0OTQ4OTYwMkU0MDBCOTQwQjIwMDA3RgorOjEwQ0Q5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOTkwOEFFNDhBQgorOjEwQ0RBMDAwNEIxMDAyRTU4MUI5MTAyMDQ0MUI5NDAyMjQxMEI5MDBGNQorOjEwQ0RCMDAwNkU2MDBCOTAwMkU0MDA4OTAwMkU0MDBCOTQwMjA2MDA4NgorOjEwQ0RDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwODkwMEEwNjgwMgorOjEwQ0REMDAwMEIxMjAyODQ4OUIxMjAyMDQ4MUExMjEyMDQ4MEIxMjI1OQorOjEwQ0RFMDAwMEM0ODBCMTIwMkM0ODFBMTIwMkM0MDBCMTIwMjAyMDEzQworOjEwQ0RGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwRDgwMEJFMDA3OAorOjEwQ0UwMDAwMEYwNTBCRTE0MEY4MDAzMjE0MEY4NTAzMjE0MEY4MDBCNAorOjEwQ0UxMDAwMkU4MDBGODUxM0UwMDJDODAwM0UxNDBGMDUwMTJFMDM3QgorOjEwQ0UyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDQwRkQwMEJGNDREOQorOjEwQ0UzMDAwMEZEMTAzRjQ0MDdEMTBCRjQ0NDVGMTJCRjQ0MEZEMTBBOQorOjEwQ0U0MDAwM0Y0NDBGOTEwM0U0NDBEOTEwM0U0MDBGRDEwM0E2MDZBMgorOjEwQ0U1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjAwRkQwMDFGNjJEMQorOjEwQ0U2MDAwMEZEODgyMzYwMEJEQTAzQjY4MENEQzgzMjZDOEQ5QTA1MQorOjEwQ0U3MDAwMzM2MDBEOTk4MzU2MjBENUE4MkU0NDBDRDg4Mzg2MDRBMAorOjEwQ0U4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTQ4QjgwMDJFMDBEQgorOjEwQ0U5MDAwMEIwQTgyMjIyMEI4NTAyMkJBMDg4QTIyMjI4MDg4MDBGNworOjEwQ0VBMDAwMjIwMTA4MEMwMjIwMDA4ODAwMkUyODg4ODgwMkNFMDQ2NworOjEwQ0VCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDJDNDA1NAorOjEwQ0VDMDAwMUIxMDBBODQ0MEIxMDAyODU4MEEzMjAyMDUwMDk5NDAxQworOjEwQ0VEMDAwMjA2NTA5MTA0MkM0MDA5MTAwMkM0MDBBMzA4MkMyMDEzMgorOjEwQ0VFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwQjkwMDJFNDBERQorOjEwQ0VGMDAwMUI5MDAyQTU4MEI5MTAyMjQ4MDgxMDQyMDQxMDA5MDBCNgorOjEwQ0YwMDAwMjI0MDA4OTAwMkU0MDA5QjAwMkM0MDBBOTQyMkM2MDRCMAorOjEwQ0YxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjkyMDNFNDA4MQorOjEwQ0YyMDAwMEY5MDEzQTcxMEY5NjBCQTUwMkU5QzBBMjU4NEQxRjBGNworOjEwQ0YzMDAwQjI2MDBEOTAwM0U0MDBEOTAwM0U0MDBFOTAwM0E4MDBCQgorOjEwQ0Y0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDBDRjk5MDNFNkE2NworOjEwQ0Y1MDAwOEY5MDIzNjYwMEYxMDgzQzQwMEY5QzQzRTQ0MEY5ODAyOQorOjEwQ0Y2MDAwM0E0NDBGOTAwMzI0MDRFOTAyM0U0MDJEOTExM0NBMDA3NQorOjEwQ0Y3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRTgyMDNFMDEzMgorOjEwQ0Y4MDAwMEMwMDAzQTEyMEU4NTAzMjEwMkM4QzAzMjEwMEU4MDA5MworOjEwQ0Y5MDAwMzIwMjBGMDAxMzIwODhDODA4MzIwMDBGOEMwM0NBMDAyOQorOjEwQ0ZBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODIwOEVFMzJGOTBCQworOjEwQ0ZCMDAwMEFFMDA2M0IwMEVFMDQyMzkwMDhFMDAyMjgwODhBMDJGQgorOjEwQ0ZDMDAwNzU5MDhCQTA0MTU4OTA4RTgwMkE4MTBCRTAwMzhBMTBDNworOjEwQ0ZEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0RTAwQTMwMDZDNjAyNworOjEwQ0ZFMDAwMDgzODFBOEU0MEEwODAyMENDMDkzMDAyMEMwNUEzMDQxQQorOjEwQ0ZGMDAwMjhDNDBCMzAwMjBEMDE4M0MwMjBDMDBCMzAwMkNBMDBEMAorOjEwRDAwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTA4ODcwMDJENjJGMworOjEwRDAxMDAwMEI3MDkyMUMwOEEwMDA2MUMwMDk2MDA2MUM4MEE3MDA2QworOjEwRDAyMDAwMjFDMDBCNzIwMjU4MDE4Nzg4MjlDMDBCNjAxMkE4MDAyQQorOjEwRDAzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRTY4MDNENjBERgorOjEwRDA0MDAwMEM3ODQyOTYwMEU0ODBBMzYwMEQ3ODAzM0YwMEUzODBGMworOjEwRDA1MDAwMjFFMDBGN0IwMzE2MDhDNzgwMzFFMjRGNzg0M0VBMDJENAorOjEwRDA2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MUQ4QzAxRjgwMDNDNDA5QQorOjEwRDA3MDAwMEVCMDAyRUMwMEY4MDEzRTQwNEUzMDMzRUQyMERCMDFGMworOjEwRDA4MDAwQkVDMDBGQjQwM0VDMDBGQjAwM0VEODBGQTAwM0MyMDZFNQorOjEwRDA5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwQzc4NDIzNjA1RgorOjEwRDBBMDAwMEM3ODBCQkUwMEZEODAzRkUwMEZFQjAzM0UwMENGODAwRAorOjEwRDBCMDAwM0IyNTBDRjg4MzdFNDBDRDgwMzNFMjBCRjkwMzAwMDA2MgorOjEwRDBDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAyODcwMDE1NDhCNQorOjEwRDBEMDAwMDg3MDAyMTQyMEI2MDAzNTlBNDlDODAzOUM4NEE3MDA0MgorOjEwRDBFMDAwMzlEMDBBNzAwMjFBMDhBNDAwMjFDMDA5NjE0MjJBMDQzQQorOjEwRDBGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwODcwMDIxNDA0QworOjEwRDEwMDAwMDg3MTAyOTQwMEI1MDAyRDQwMEJGMTIyNUMwMjA3MDg2MworOjEwRDExMDAwMkM1MDA4NzAwMjUwMDA4NzAwMkRDNDBCNTA0MjAwMDBCNAorOjEwRDEyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwODMwMjI0NDBGNgorOjEwRDEzMDAwMTgzRDBBMDEwMEIwNTgyNDIwMDkzMDAyOEY0MDgzRTBENgorOjEwRDE0MDAwMkNDMTBBMzA0MjA4MDBCMzAxNkNDMDA5MDgxNjA4MDQ1QgorOjEwRDE1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTU4QzAwOEIwMDMyNDA1OQorOjEwRDE2MDAwMEMyNTAzQTg0OEY4ODEzRTgwMEY4MDYzN0MwMENCODBBQgorOjEwRDE3MDAwM0FDMDBDRjAwMzZDMDBDQTAyQkZDMDBGOTg4QjJBMDQ5RgorOjEwRDE4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRjkwMDNFNTA0QworOjEwRDE5MDAwMkZBNDBCQzgwMEYwNDAzRUQwMEZBMDMzRUMyMEZCMDRCRQorOjEwRDFBMDAwN0FFMDBGQjAwM0VEMDhFOTAzMzJDMDBEOTAwM0UwMDAxMAorOjEwRDFCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBFQzQwRUUwMDNFQzAxNgorOjEwRDFDMDAwMENEQTAzNzAwNENDMDJCMUEwMEVGMDIzRUMwMEZGMDBENworOjEwRDFEMDAwMzcyMENEQjA3M0VDODhGQjgwM0ZDMDBGMzAwMzAwNDQ5NAorOjEwRDFFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2RTAwODg4MDJDRTEwNworOjEwRDFGMDAwMDg5NDBBQTkwMjg4NDAyMkQwMDhCOTQyRUMwNEJCMDA3NgorOjEwRDIwMDAwMkNENDBEQjAwMkVEMjBCQkQwMkVDMDBCQjAwMkEwNDAzQworOjEwRDIxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNDAwQUI4MDJFRjAwQworOjEwRDIyMDAwMjlBMDgyNkQwMDg4MDgyMjA0MDg5MDQyRUMwMEJCMDAwRgorOjEwRDIzMDAwMkE4MTA4QjAwMkU0MDlCQTA0MkVDMTRCOTg4MjIwMDA2QQorOjEwRDI0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwODMwMDJDQzAxRgorOjEwRDI1MDAwMEEyMTAyODQxMDgyMDBFMDAwMTgwQTEyQ0MwMEIzMDBGOAorOjEwRDI2MDAwMENDMDA5MzAwMkNDOTBCMDAwMkNDMDBCMTAwMjgyMDExRgorOjEwRDI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2NDAwRUIwMDNFMDAxNAorOjEwRDI4MDAwMkNCNDAzNjQwODg4MDBCMjAwMENCMjQzRkMwMEZCMDAxRAorOjEwRDI5MDAwNTYwMDBDRjAwMUU0MDBGQjAwM0ZDMDBGODAwQjAwMDNDMAorOjEwRDJBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGNDAwRkYwMDNGNDBGRgorOjEwRDJCMDAwMkRGMDYxRjAwMEY0MDAyNzAxMERCMTExRkMwMEZGMDIxOAorOjEwRDJDMDAwMDdDMDBGRjAwM0VDNDBGRjAwM0ZDMDBGQzAwMzY4MDYyQgorOjEwRDJEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGNjAwRUY5MDNENEMxQgorOjEwRDJFMDAwMkNDMDEzRjQwOEZEMjAzNzRDOEU4MjgzNzQ4NERDQzI3QQorOjEwRDJGMDAwM0ZEODBERjIwM0VDQzBGRjgxM0YwMDBDRjgwM0YwMDBCMworOjEwRDMwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFNjAwOEIyNDJFNUNGRQorOjEwRDMxMDAwMDg4RDAyRkY0OEI5OTAyRjU0MEI4NDgyM0U0MEEwODBCNAorOjEwRDMyMDAwMkVDNDBBRkM0MkVEODBCOTgwMkU2MDBBOTgxMkUwMDRGNworOjEwRDMzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVFNDAxQTMwMDI4NDgzOAorOjEwRDM0MDAwMEEwMDQyQzQwMEIxMDAyQzQ5MEIwQTQyMDRBMjkxMjFGOAorOjEwRDM1MDAwMkNDOTA4MzEwMjhDQzFBMzAwMkM0MDA4MTgwMkEyMDE3QworOjEwRDM2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBMDIwOEI4MjJFNDQzOQorOjEwRDM3MDAwNTg4MDAyRTQwMEJCMTAyRTQwMEJBMTEyMEMwMTg5MTA1MgorOjEwRDM4MDAwMkVDMDBBQjAwMkVDMDFCODgwMkVFMjBBQTEwMkYwMDQxRAorOjEwRDM5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQjQwRUI0MDNFNjBFNAorOjEwRDNBMDAwMEU4NzMzRTQwMEI5QTEzNkMwMEVBODBCMjYwMERBQzAwMAorOjEwRDNCMDAwM0VDMDhEQjAwM0VDMDBGQjg1M0VFMTA4QjgwMzkwMDU0QworOjEwRDNDMDAwMjAwMDAwMDAwMDAwMDAwMEUwMDFCODAwRkYwMjJGNjAxNAorOjEwRDNEMDAwMDNFODgzRkMxMEZEODAxRjQwMUZEMDEzQkU0MEVFMDQwNQorOjEwRDNFMDAwM0ZDMDBGRjA0M0ZDMDhGRDAwM0NDMDBGRDAxMUY4MDAxNworOjEwRDNGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNDAwREIwMEIyNDAwQworOjEwRDQwMDAwMEU5NDAzMjQwMEQ5MDBCQUMwMEMyMDAzRTQ5MEZCMDA2MgorOjEwRDQxMDAwM0FDMDBDQjAwM0VDMDFGQTAwM0VEMDJDOTgwMzkwMDQwMworOjEwRDQyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUwMzAwOEIwMDIyNDgxNworOjEwRDQzMDAwMDg4NDIyMkMwMEI5MDAyMkMwMDhBMDAyRUQwMDhCQTBCNQorOjEwRDQ0MDAwMjFDMDA4RjAwMkZDMDBCOTgwMkVDMDA4QTAwMjMyMDAwMgorOjEwRDQ1MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0NTIwOTMwMDIyRjg5NQorOjEwRDQ2MDAwMEIzMDBBODQ0MEIyMDAyMDQwMDgxMDAyQzQwMDgwODBDMworOjEwRDQ3MDAwMjhDMDI4MzkwMjRDMDBCMTAwMkNDMDA4MzAwMkI4MDA4NgorOjEwRDQ4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDEzNjAwOUY4MDIxNjA1NQorOjEwRDQ5MDAwMDkzODAyOUUwMEIyQzAyMDYwNDg0ODEyRDZDNjg2RDAyNQorOjEwRDRBMDAwMjFFMDA4NzgwMERFODBCNzgyMkRFMDA4RjgwMjA4MDA0RAorOjEwRDRCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzIwRDMxMDMwQzhENQorOjEwRDRDMDAwMEYzMDAzODQwMEYxMDAzMDQwMjQxOTAzRTRDMEUwNDAzMQorOjEwRDREMDAwM0FDMDBDMzIwM0NFODBCMTI4M0NDMDBDMzAxMzkyMDIwQgorOjEwRDRFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUQ5QzAwRTYwMDdGQzAxRQorOjEwRDRGMDAwMEVGMDIzNzQ0MEZGMTAzRjQwNEZEMDAzRkNEMkNFMDQwNworOjEwRDUwMDAwM0ZDMDBGRjQwM0ZDMDBGRTAwM0ZDMDBGNzEwM0QwMTJCOAorOjEwRDUxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFRTAwQ0IwMDE2QzA2RgorOjEwRDUyMDAwMEQ4MDAzMjcyMENCMDAzRUMyMEFCMDUzRTQyOEMxODFGRQorOjEwRDUzMDAwMzJDMTBFQjkwMzJDMDBGMTgwMzVFMDBDQjgwMzJBMDQ4NworOjEwRDU0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAyODcxMDJENDA3MAorOjEwRDU1MDAwMDg3MDAzNUMwMEE3MDAyRDQwMjg3MDAyRDQwNDg3MDRFMworOjEwRDU2MDAwQTFEMDBCNzIwMjFEMDBGNzAwMjFDMDBENTAwMjEyMDQ2MQorOjEwRDU3MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwODU4MDI1RTBFMworOjEwRDU4MDAwMDk3ODAyMzcwMzg3ODAyRkUwMDg3ODEyQzYxMDhEODA1MworOjEwRDU5MDAwMjVFODBCMzgwMjFFODBCQzg0MjVFMDA4NTgwMjcwMDA4NAorOjEwRDVBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRDgwODM4ODJDQzBCQgorOjEwRDVCMDAwMDgzQzAyNEUwMUEzRDIyRUM0MDhCMTAyQ0MwMDgzODBFNQorOjEwRDVDMDAwMjRDMTBCMzAwMjBDMDBCMzQwQTBEMjA5MzAxMjUyMDAyQgorOjEwRDVEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQTAwQ0FDMDM2ODAyNAorOjEwRDVFMDAwMEQ2NzEzMjgwMENFMDAzRUEwMENFRDAzRTgwMENFRTA0RQorOjEwRDVGMDAwMzY4MDFFQTAwQjI4MDRGRTAwQjdCMjBDRTAwQjdBMDBBOAorOjEwRDYwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDQwRjgxMDJFMTAwQworOjEwRDYxMDAwMEY4MDAzRTAwMUQ4MEEzRTAwMEY4MDAzQzAwMkY4MDgyMworOjEwRDYyMDAwM0EwMDBGODAwM0UwMTBFODIwQkUwMDBGODAxMzkyMDA0NAorOjEwRDYzMDAwMjAwMDAwMDAwMDAwMDAwMDA4MTBFNTAwRkIwMDNFNDA1NAorOjEwRDY0MDAwMEM5MTAzMjYwMDYxODAzMjQwMEM5MDAzMjQwMEM5MDAzNQorOjEwRDY1MDAwMUU0MDBDOUMwM0U0MDFGOTAwM0U0MDBGOTAwM0MyMDAwMQorOjEwRDY2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NzAwQjkwMDJDNDA3QQorOjEwRDY3MDAwMDA5QzAyQTYwMDc5MDAyMjQwMjg5MDAyMjQwMDg5MDAyNAorOjEwRDY4MDAwMkM0NDA4OTgwMkU0MDBCOTgwMkU0MDBCOTAwMkUwMDE3RgorOjEwRDY5MDAwMDAwMDAwMDAwMDAwMDAwMDE4MDEyNDAwQkIwMDI2NTAxQworOjEwRDZBMDAwMjg5MDgyMjQ4NDk5MjAyMjQwNDk5MDAyMjQwMDg5MDBGNQorOjEwRDZCMDAwMkU0MDA4OTAwMkU0MDBCOTYwMkU0MDBCOTAwMkM2MDQ5MAorOjEwRDZDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNjAwQjEwMDJFNDhFMQorOjEwRDZEMDAwMDgxMjAyODQ4MEIxMjBBMDQ4MDkxMjBBMDQ4MDgxMDA0NworOjEwRDZFMDAwMkM0ODI4MTI0MkM0ODgzMTAwMkM0MDBCMTgwMkMyMDE3OQorOjEwRDZGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwRjg1MDM2MTQ3MworOjEwRDcwMDAwMEM4MDAzMjAwMEU4MDAzMjE0MEM4NTAzMjE0MEM4NTAyRgorOjEwRDcxMDAwM0UxNDBDODAwM0UxNDAzODAwM0UwMDhGODAwM0VFMDM4RQorOjEwRDcyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURENDAwRkIwNDNENDRBMAorOjEwRDczMDAwMEY1MTIzRDQ0OEVEMTAzRDQ0NEVEMTIzRjQ0MkZEMDA1NworOjEwRDc0MDAwM0U0NDhGOTEwM0U0NThGRDAwM0Y1MDBGNTAwM0U2MDYxRQorOjEwRDc1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNDAwRjkwMDNENDBEMgorOjEwRDc2MDAwMENEMDAzRjQwMEREMDIzRTQwMEM5MDAzRTQ0MEM5MTBFRAorOjEwRDc3MDAwMzc0MDA3RDAwNzI0MDBFNTAwMkY2QTBGNzAwMzA2MDAyQQorOjEwRDc4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwQjgwMDNBMDAwRgorOjEwRDc5MDAwODA4MDAyRTAwMDg4MDAyRTAwMEE4MDUzQTI4MDJDQTAyNgorOjEwRDdBMDAwMjIwMDBCODAwQTIwMDBCODAwMkUxMDA5ODAwMzBFMDQwRQorOjEwRDdCMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMDZDNDAwQgorOjEwRDdDMDAwMkExMDAyODQwMTgxODAyRTQwMDkxMDAyRjQwMDhEMDQ4OQorOjEwRDdEMDAwMjA0MDBCMTAwMjg0MDBCMTAwMkM0MDBCOTgwMjQyMDE0MworOjEwRDdFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNDIwQjkwMDJBNDBCOQorOjEwRDdGMDAwODhCNDAyRTYwMUE5MjAyRTQ4MEE5MDAwQTQ0MEFENDA1QQorOjEwRDgwMDAwMjI0MDBCOTAxMkE0MDRCOTAxMkU0MTBCOTAwMjA2MDQ5MQorOjEwRDgxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjlDMDNFNjBCOAorOjEwRDgyMDAwMEM5NDEzQTYwMkQ5NDIxQzYwMEM5RTAxQzYwNEMxMDBEMAorOjEwRDgzMDAwQjI0MDFGOTAwMkE0MDBFOTA4M0U2ODRGOTgwQjY4MDRBQworOjEwRDg0MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNjQwRjkyMDM4NzA5OAorOjEwRDg1MDAwMEY5MTAzRTQwMEQ5ODAzRTQwMEY5QzEzQTQwMEY5MDAwRgorOjEwRDg2MDAwM0U0MDBGMTAwMzY0MTBGOTBBM0U1MDBEOUEwM0NBMDA5RgorOjEwRDg3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMTAwRDgwNDNFMDA1NQorOjEwRDg4MDAwMEM4MTEzQzAwMkQ4MjAzRTAwMkQ4NDAzRTAwMENDMDg5OAorOjEwRDg5MDAwM0EwMDBGODA0M0UwMDBGODQxMzIwMDA3ODE4QjBBMDQxMAorOjEwRDhBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzQTYwOEEwMDJGQTgzMAorOjEwRDhCMDAwMEFFMDIyRTgwMjdFNDgyRTgwMDhBMDQyRTgwNDhFMDA5QQorOjEwRDhDMDAwMjNBODBCQTg4MkU4MDBFRTAwQTI4MDRCNjAwMjBBMDBBOQorOjEwRDhEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTMwMDZDQzBEMAorOjEwRDhFMDAwMDgzMDAyQ0MwMDEzODEyQ0MwMDgzMDAyQ0U0MDgyNDBBOAorOjEwRDhGMDAwMjhFMDBCMzgwMkNDMDBCMzEwMjRDMDhCMzgwMjBBMDA5OQorOjEwRDkwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTAwODcyMDJGQzA3MgorOjEwRDkxMDAwMEE3MDAyREMwQUI2MDAyQ0M4ODg3MjA2RDgwMDg2MDA5RAorOjEwRDkyMDAwMjFDMDBCNzAwMkRDODRBRjgwQTVDMDBCRDAwMjI4MDBBMAorOjEwRDkzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRDc4MDNEQTBBNQorOjEwRDk0MDAwMUM3ODEzRDYwMkQ3ODAzREVDMDg3RTIzRkUwMENFODBFMworOjEwRDk1MDAwMzk2MDBGNzgwM0RGMDBGNjgwNzVFMDBGNzgwMzJBMDI0NAorOjEwRDk2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MUQ4QzAwRkIxMDNFODAzRAorOjEwRDk3MDAwMUZBMDIxQ0MwMEZBMDAzRUMwMEVCMDAzRTgwMkZBMDA1RQorOjEwRDk4MDAwM0U0MDBGQjAxM0VDMDBFQTAxM0FDMDBGOTAwM0MyMDYwQworOjEwRDk5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQzAwRkY4MDNGNjAwOAorOjEwRDlBMDAwMDg5OTA3N0UwMEREODAzRkUyMENGODAzRjYwMkRGODA3NQorOjEwRDlCMDAwQjNFMDBDRjgwMzNFNDFDQzgwMzNFNDBGRjgwM0MwMDAyMQorOjEwRDlDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzQwQjcwMDJEQzBBRQorOjEwRDlEMDAwMEQ1QTIyREM4MDc1MDAyREMwMDg3MTAyRjAyMDg3MDBFRQorOjEwRDlFMDAwMjFDMDBBNzAwMjFDMDBENDI4MjFDMDBCNzIwMkVBMDQ3NAorOjEwRDlGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzQwQjcwMDJEMDAwNworOjEwREEwMDAwMDg3MjIyRjQwMDg3MDAyREMyMDg3MDAyRDQwMDg3ODBCQgorOjEwREExMDAwMjU0MDA5MzAwMjVDMDFBRDAwMjlEMDRCNzAwMkMwMDBFNgorOjEwREEyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwQkJDODJDQTA4NworOjEwREEzMDAwMDkyMDAyQ0UwMEEzMDAyQ0UwQTgzRDQyQzIwMDhCODA0QQorOjEwREE0MDAwMjQ0MDBCMzAwQTZDMDhBMzQwQThFMDBCMzQwMkM4MDQ0MQorOjEwREE1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBRDAwRkY0ODNDMjg4MQorOjEwREE2MDAwMENBOTIzNkM4MDhCMDAzRkMwMENGQzAzRUMwMEQ4ODAxOQorOjEwREE3MDAwMzQ0MDBEMzAwMzdDMDJBMzQwMzg2ODBGMjQwM0VBMDRDRAorOjEwREE4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFRDg4RkIwMDNFNTBCOAorOjEwREE5MDAwMEZBMTAzRUMwNDNBQzAzRUMwMEZCMDgzRTgwMkY4MTBCNworOjEwREFBMDAwM0E0MTBFOTAwM0FDMDA5QjA4QjY0MDBGODEwM0UwMDBBMgorOjEwREFCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkYwMEIzMjA1NworOjEwREFDMDAwMEM1MDEzMUMwOUNEODMzM0MwODM3MDAwM0MwMERDMTA2NAorOjEwREFEMDAwMzI2MDBFRjE0MzJDMDBDRTA0M0I3MDBDRjA4MzAwNDQwNgorOjEwREFFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2NzgwQkIwMTYyMjE1QgorOjEwREFGMDAwOEE4OTIwMkMwMDgwRTAyMkMwMEJCMDAzRDgxMDhDMDQ0RgorOjEwREIwMDAwMjI0MDA1OTAwMkFDMDBEODgwMzY0MDBBOTAwMjIwNDBBNgorOjEwREIxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNjAwQkIwMDIyMDY2NworOjEwREIyMDAwMDg4MDAyMkUwMDg4MjAyMkMwMDlCMDAyQTQwMDk5MDBCQgorOjEwREIzMDAwNjJDNDA4QjAwNjJDMDA4ODgwMjI0MTA4QTAwMjIwMDBBMAorOjEwREI0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQjMwMDIwNDA2QQorOjEwREI1MDAwMEEwMDgyMEMwMDgwMDAyMEMwMEIzMDIyQTAwMDgxMDA0RgorOjEwREI2MDAwQTBDMDA5MzAwMjhDMDA5MDAwMjQ0MDBBMjgwMjAyMDE2MworOjEwREI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2MDAwRkIwMjIwMDAxQgorOjEwREI4MDAwMkM5MjAzMkMwMjg4MDAzMUMwMEJCNTAyQTQwMEQxMDRGMgorOjEwREI5MDAwMzI0MDBFOTAwMzJDNDBDOTAwM0E0MDhDQTAwMzAwMDM5MQorOjEwREJBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGNDAwRkYwMDJGMDA0NgorOjEwREJCMDAwMEZDMDAzREMwMEZDMDAzRkMxMEZGMDQzRjAwMEZEMDA4QworOjEwREJDMDAwM0Y0MDRGRDAwM0ZDMDBGNTAwM0Y0MDBGRTAwM0U4MDY2NAorOjEwREJEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVEODgwQ0MwMEI3MDQzMQorOjEwREJFMDAwNEVFMTAzM0MyMERGMTAzMTgwMDZGMDAzN0YwMEZGQzBEMAorOjEwREJGMDAwM0JDMDBFRjIwMzVFMDBFRjEwMzNEMDJDRjIwMzMwMDA3NgorOjEwREMwMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTBFOTAwODhDNjIwNUMyMQorOjEwREMxMDAwMDhBNDU3NjUwMDhGNTIyQUYwMDlGQzAyMDQwMEJCMDBEQgorOjEwREMyMDAwMkREOTA5NzQ4MzY0Mjg4MzQ0MjI4NDg4MDY4MjMwMDRCMQorOjEwREMzMDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVDOTAwODAxMDIwMDg2NgorOjEwREM0MDAwMDgzMTEyMDRCMkEzMDAyMDg0MUIzNDAyMEM4MEIzMjBEQworOjEwREM1MDAwMkNDNzA5MzYwMjhDODA5MzQwQUNDODA4MzEyODMyMDFBOQorOjEwREM2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBOTAwODgwMEEyNTA0QworOjEwREM3MDAwMDgzNTAyMjQwMDhCMDQyRUMxMDlCMDAyMjQ5NEJCMDA5NQorOjEwREM4MDAwMkVDMDBCQjAwMkNDNjA4QjAwMkU4MDA4ODAwMDMwMDRDOAorOjEwREM5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFNzAyQ0IxOEIyODAxMQorOjEwRENBMDAwMkNBQzBBMkUwOEVCMDAzMjEyNEVCMDAzMkI4MEZCMDA4NgorOjEwRENCMDAwM0FDMDBBQjAwM0FCMDhFQjA0MkU0ODBDQjg4MzAwMDQ0QQorOjEwRENDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNjgwRkY4MDM5Q0E0QgorOjEwRENEMDAwMERFODAzRDY0MEU3MDQzQjY2NEU3MDAzQjgwMEZGMDEzMQorOjEwRENFMDAwM0ZDMDZDRjAwMzcwMDZFNzAwMzEwNDBGQzE0M0Y4MDAzOQorOjEwRENGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTA4NTAwQ0I0MDMyOTAyMgorOjEwREQwMDAwMkZCMDBCNjQ4MEZCMDhCQTEwMERCMEE3MkQwMEZCMDRFOAorOjEwREQxMDAwM0VDMDhFQjAwMzZEMDBEQjAxMzI0MDhDMzMwMzkwMDRCMworOjEwREQyMDAwMjAwMDAwMDAwMDAwMDAwMEMwMDUyNDAwODNFMEEyRDAxNQorOjEwREQzMDAwNDBCMDAyMjUwNEJGODBBMDUwMDhGODAyMjAwMDhCMDJFQQorOjEwREQ0MDAwMkZEMDA4RjAwMjI0MDA4RjgwMzYwMTA4ODQ0MjM2MDA2QworOjEwREQ1MDAwNDAwMDAwMDAwMDAwMDAwMEU4MDU0NDAwODM0ODIwQzRBMworOjEwREQ2MDAwMDkwMDAyNDYwMEIzMDFBODkwMTkzMDEyOEMwMEEzMDRFOAorOjEwREQ3MDAwMkVFMjBBQjAwMjBDMDA4MzQ5MjhDMDA5M0MwMjM4MDA5OAorOjEwREQ4MDAwNTAwMDAwMDAwMDAwMDAwMEYwMDEzNjA0ODM4MDIxRTExMworOjEwREQ5MDAwMDgzODEyMUUyOEIzOTgyMUEwMTkzODgyOTYwMDg3ODM2QworOjEwRERBMDAwMkRFMjA4NzgyMjM2OEM4NzgwMkRFMDA5NzkwMjNFMDAyQQorOjEwRERCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwNDAwQzMzMDMwQzhFNAorOjEwRERDMDAwNEQwMDBCNEM4MEYzMTIzOEMwMEQzQTAyOEM4MEYzMDBFQQorOjEwREREMDAwM0NDMDBFMzAwQjBFMDBDMzBDM0FDMDBEMzAwMzEyMDJEMworOjEwRERFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCNDA2RkYxMDNGQzAwRQorOjEwRERGMDAwMEZCMDEzQkMwMEZGMTA3RkMwMEVGMUEzN0MwMEZGMTIxOAorOjEwREUwMDAwM0ZDMjBGRjUyM0JDNDFFRjE4Mzc4MEFFQzAwMzUwMDY2OAorOjEwREUxMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFNDAwREIwMDNFREExRQorOjEwREUyMDAwMEM4MDAzNjYxMDhCMDAzMjgwOENCNjAzNEEwMDRCODA1NgorOjEwREUzMDAwMzJDODBDQjQwMzBBMTBEQjAwM0VDMTBDQjA0MzJBMDAwOAorOjEwREU0MDAwNzAwMDAwMDAwMDAwMDAwMEM4MTFCNDAwODcwNDJDQzA1RQorOjEwREU1MDAwMEQ3MDAzMUMwODg3NDgyMDgxMEQ3MjgyNUMwMEQ3MDA3QQorOjEwREU2MDAwMjFDQzI4RjAwMjFDMTA4NzIwMkMwMDA4NDAwQTMyMDQyNAorOjEwREU3MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDA5NjAwQjc4MTJERTBFNworOjEwREU4MDAwMDg0ODAyMEUwNDg3ODAyMUUwMDg3ODAyM0UwMTg3ODA1RQorOjEwREU5MDAwMjFFMDE4NzkwMjNBMDE5N0EwMkQ2MDA4MzgwMjIwMDA4RAorOjEwREVBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDNjAwQTNDNjJDQzBEQgorOjEwREVCMDAwMDkzMDAyMEMwMTgzMDAyMEUwMDkzMDAyNEUwMDkzMDA3QgorOjEwREVDMDAwMjBDMDQ5MzAyMjBGNjQ4MzAyNkNENDI4MzAwMjEyMDQyRgorOjEwREVEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTFBQjgwRkFFMDNDODg1MAorOjEwREVFMDAwMENFMDAyMjgwMkNBMDBCM0E5MENBMDAzM0IxMENBMDAzMAorOjEwREVGMDAwQTI4MDBDQTAwQjM4MDBEQTAwM0ZCMDBDRTYwMzNBMDQxNQorOjEwREYwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBDMDIwOTgwODNFMDBBQgorOjEwREYxMDAwMEY4MDBCRTEwMEY4MDEzQzEwNEYwMDAzQTA0MEY4MDAxNworOjEwREYyMDAwM0UxMDBFODAwM0UwMDBGODAwM0MwMjJGMDQ5M0QyMDA2NAorOjEwREYzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwQzFDMTMyNDBDMQorOjEwREY0MDAwMEM5ODAzMjY0MEY5MDAzMjQwMEM5ODAzMjQyNEY5MDA3MQorOjEwREY1MDAwM0M2MDBDMTAwM0E0MDBGOTgyMzI0MDBDOTAwMzAyMDREMAorOjEwREY2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODkwMDIyNTA5RQorOjEwREY3MDAwMEQ5ODAyMjU4MEI5MDAyMjUyMEQ5QzAyMjQwMEI5MDBBMAorOjEwREY4MDAwMkU2MDA4OTA0MjI0MDBCOTQwMzY0MDA4OTAwQTIwMDBENAorOjEwREY5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOEQwMDIzNDA0MAorOjEwREZBMDAwMDgxMjAyMjQwMEExMTBBMjYwMDg5MjhBMjQwMEI5MDE3QworOjEwREZCMDAwMkU0NjA4OTAwMkE0MDBCMTUwMjI0MDI4OTA4MjA2MDAwQworOjEwREZDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDg0ODUyMEExRDg1RgorOjEwREZEMDAwMDkxMDAyMDQ4MEIzMjAyMDQwMjkxMjA2MDQwMEIxMDE3OAorOjEwREZFMDAwMkM0ODI4MTIwMjA0MDBCMTIwMjQ0ODA4MTIwMjAyMDEyMQorOjEwREZGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQyOEEwMEIzMDA3QworOjEwRTAwMDAwMEMwNTAzMjE0MEUwNTBCMjAwMkM4MDAyMjE0MEYwNTA2QQorOjEwRTAxMDAwM0MxNDBDODUxM0ExNTBGODUwMzIxNDBDODUyMzJFMDNBOAorOjEwRTAyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwRjkxMDNFNDQyQworOjEwRTAzMDAwMEZENDBCRjQ0NEY5MTAzRjUwNEYxMTAzRjQwMEY5MDBEMgorOjEwRTA0MDAwM0U0NDBGOTE1M0Y0MTRGOTEwM0Y0NDBGRDEwM0U2MDJGQworOjEwRTA1MDAwNzAwMDAwMDAwMDAwMDAwMDk4MDVFNkEwREQ4OEIzNjZBRgorOjEwRTA2MDAwMENEQzgzMzY4OEJEQTAzNzZBMENEQTBCMjUwMkM5NDA2OAorOjEwRTA3MDAwM0Y3ODRGOThCM0U1MDRDREEwNzI3ODBDRDg4QjI2MTQ2NgorOjEwRTA4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMzAwODg0MjIyMzFEOAorOjEwRTA5MDAwMDgwQTAyMjJBMEI4RjkyMjEwMEQ4NDEyNkE4MDg4ODAzMgorOjEwRTBBMDAwMkUyMDBCMDgwMkUyODBBOEE4QTIzODQ4QTgwMjBFMDA4MQorOjEwRTBCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNEEyODEwMDIwNDg5NAorOjEwRTBDMDAwMDgxMjQyNDUwMEIxMDAyNDQwMDkxNDAyMjQwMDgxMjBCNgorOjEwRTBEMDAwMkM1ODBCMTA4MkM0MDQ5MTQwNjQ2QzA4MzA4MjEyMDVFNQorOjEwRTBFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwODkwMDIyNDEwMworOjEwRTBGMDAwMDg5MDhBNjQ4MEI5MDAyMjUwMDk5MDA2NjQwODk5MDA0QgorOjEwRTEwMDAwMkU0MDBCOTAwNkM0MDFCOTAyMjY2MTg4OTAwMjA2MDRENQorOjEwRTExMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwQzkwMDIyNDBEQgorOjEwRTEyMDAwMkM5NDIzNjQwMEI5MDAzNjQwMDk5MDEzMDUwMEM5MDBGRgorOjEwRTEzMDAwM0U0MDRGOTAxM0U1QzBEOTAwMjY0MDJDOTQwMzI4MDBBMAorOjEwRTE0MDAwNzAwMDAwMDAwMDAwMDAwMDY4MDFBNDAyRTkwODNDNDBFMworOjEwRTE1MDAwMEY5MDBCQTQwMEYxMDAzRTQxMEY5MDQzQTQ4OEU5MDQwNgorOjEwRTE2MDAwM0U0MDBGOTAwM0U2MDBFMTAwM0E0MDlGOTI2M0RBMDBFMAorOjEwRTE3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTA4MDEwRTAwMTMyMDA2NAorOjEwRTE4MDAwOEY4MDAzMjAwMEQ4MDgzMDAxOEMwMDAzRTEwMkM4MDQwRQorOjEwRTE5MDAwM0UwMDBDODAwQjIxMDBDODAwNzgwMDBGODYwMzBBMDBBNworOjEwRTFBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEU0MDJCODI3RgorOjEwRTFCMDAwMEJBMDAyM0EwMDhFODAyMzgyMDhFMjAyMjgxMDhBMDAxNworOjEwRTFDMDAwMkY5ODI4QTAxMjI4MDA4RTIwMkU4MDRCRTQwMjBBMDBFRgorOjEwRTFEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAyQTI0MDIwODAwMgorOjEwRTFFMDAwMEJCMDAyNEU0MDkzQzBBMDIwMDgzNjAyOEMwMDkzMDA3MgorOjEwRTFGMDAwMkNFMjA4MzAwNjRDMTI5MzA4MjhDMDBCQjAwMjBBMDAyQgorOjEwRTIwMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzA4ODI0MDI5NDBDRQorOjEwRTIxMDAwMEI3MDAyNUUwODg0MDgyMzQwMDg3MDA2MUM4MDg3MDA4QgorOjEwRTIyMDAwMkQyMDA4NzkxMjVDMDA5NDAwMkRDMDBCMzA0MjI4MDA4QworOjEwRTIzMDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTAwRTQ4MDMxQTE3QQorOjEwRTI0MDAwMEY1ODEzNzYwMEQwODAzMUMwMEMzODAzQkU4MEQ3ODFDMAorOjEwRTI1MDAwM0YyMDhDNzkwMzdGMDFENjgwMzlFODRGNjgwMzJBMDA3QworOjEwRTI2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURCRTAwRkEwMDNFMDA5MworOjEwRTI3MDAwOEY5NjBCQTQwMEVBMDAzQ0MwMEY5MDAzQUMyMEZCNDAzQgorOjEwRTI4MDAwMkUwMDBGQjIwM0FEQTBFQTAwM0VDMDBGQTAxQkMyMDRENworOjEwRTI5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTA4REU4MTMzQTQ5RAorOjEwRTJBMDAwMEVGQzEzM0UwMEZDODAxMzIwMEM2ODAzM0UyMEZGQzhDOAorOjEwRTJCMDAwM0Y2MDFERjgwMzdFMDBDNzgwMzNFMjBDRDgwMzEwMDBENgorOjEwRTJDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwODY0MTMxQzRDRAorOjEwRTJEMDAwMDg3OTQyOUMwMEJDMTAyMTQwODUzNTAzNUMwMEI3MDBFMgorOjEwRTJFMDAwMkRDMDA4NzIwMjJDMDBBNzAxMzdDMDA4NTE0MjJBMDAzNQorOjEwRTJGMDAwNjAwMDAwMDAwMDAwMDAwMDEwMDA4QzQwODIwMDI0ODFCQgorOjEwRTMwMDAwMDhEODAyMTQyMEI1MDAyMDQwMDk2MDAyMUM0MEI3MDA2NAorOjEwRTMxMDAwMkM0MDBCMzAyMkRDMDA5NzAwMjFDNDA4NDAwMjQ0MDA0RQorOjEwRTMyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRFQzAwOTIwNjIwOTAyNQorOjEwRTMzMDAwMzgxNTAyODYwMEI4MDA2MDUwMDkzMDAyNEUwMUJCMDA1QgorOjEwRTM0MDAwMkU0MDBCMzAwMkNFMjBCMzAwMjRGMDQ4MDIwQTU4MDRCRAorOjEwRTM1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwQ0EwMEE2OTQxMAorOjEwRTM2MDAwMkM5MDAzMkUwMEZCMDVCMjg1MEQ5MDAzM0Y5MEZGMDAxQgorOjEwRTM3MDAwN0U4MDFGRjA0M0ZDMjE5QTAwMzNDODNDQjIwMzZBMDQzQworOjEwRTM4MDAwNjAwMDAwMDAwMDAwMDAwMDkwMDBFQzAyRUE0MDNEODBDOAorOjEwRTM5MDAwMEYxMDkzRUQwMEZCNDAzRTkwOEYzMDAzRUM4MEZCMDBBQworOjEwRTNBMDAwM0U5MTFDQjAwMzJDMTBFODAwM0VDODFGOTAwM0E1MTAzRQorOjEwRTNCMDAwMzAwMDAwMDAwMDAwMDAwMDgwMTBGQzAyRTQwMDczQTBBOAorOjEwRTNDMDAwMENGQzAzN0MwMkZGMTAxM0M0MUNDMDAzM0MwMEZGMDBDNAorOjEwRTNEMDAwMzdFMDBERjAwM0ZDMDBFRDgwMzFDMDBDMzI2MzIwMDQwNworOjEwRTNFMDAwMzAwMDAwMDAwMDAwMDAwMDg0MDA2QzAwOEFDMDIyQjFGMAorOjEwRTNGMDAwOEFCODQzNEExMERCMjAyMEYwMEE5NDAzNkMwMEJCMDc2NAorOjEwRTQwMDAwMjJCODA4QjAwMkVDMTFFOEMwQjJDMDJBOTIxQTIwMDA2QgorOjEwRTQxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDEyQzAwQUE4MDIyOTg1QgorOjEwRTQyMDAwMDg5MDAyMkYwM0JCMDEyQTgzMDhCMjRFMkMwNEFCMDJEMgorOjEwRTQzMDAwMjJDNDI4QjAyMkVDMDlCMzUwNjJDMDA4QjAwMjIwMDAwOAorOjEwRTQ0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAxODMwMDYwODAxMAorOjEwRTQ1MDAwMDgxMjBBNDQwMDkzMDAyQTgwNEEzMDAyMEMwMEIzMDBEQworOjEwRTQ2MDAwNjBDMDA4MzAwMkNDMDBCMzAyNjBDMDA4MDA0NjAyMDE2MAorOjEwRTQ3MDAwMDAwMDAwMDAwMDAwMDAwMDgwMEQ2QzAwRTgwMjIyODAxNworOjEwRTQ4MDAwMkNGMjQzMkMwMEZCMDBCQUMwMDhBNTAyM0MwMEVGMDBCMAorOjEwRTQ5MDAwMzZDMDRERjAxM0ZENTFGQjAwMzJDMDBDQjAwMzIwMDExQgorOjEwRTRBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwN0UwNDNGODAyMgorOjEwRTRCMDAwMEYzMTQzRjAwMkZGMDAzN0MwMEZGMDAzRkMwOEZGMDBFQworOjEwRTRDMDAwM0ZDMDBGRjAwM0ZDMDBFRjAwM0JDMDBGQzAwM0U4MTY5NQorOjEwRTREMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMjQwRkM4MDNGMjRGNgorOjEwRTRFMDAwMEREODUzRDYwNERGMzIzRkNDNENDMDQzRkMwMERGNjA3NAorOjEwRTRGMDAwMzdDMDBGQzQwMzdDRDBERjIwMzNEODBERjg0M0YwMDBDMQorOjEwRTUwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMThFODgwQjAwMTJFMDhCNAorOjEwRTUxMDAwODg5MDAyRUMyMDhCNzAyRkNDMDhCMzgyRkRFMEJGNDBDNgorOjEwRTUyMDAwMjJEODBCOTMwMkZEQzBBRjEwMjhGMDA4QkMxMkYwMDRGMworOjEwRTUzMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDAwQjAwMDJFMDE3QgorOjEwRTU0MDAwMEExMjgyRUM4MEIzMDAyQ0M4MEEwMDMyOEMwMEEzMzA3RgorOjEwRTU1MDAwMjBEMjA5MDAwMjhDODA4MzAwMjhEODBCMzQxMkYyMDFFQgorOjEwRTU2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVBQzAxQjgwMjJFMDBFMQorOjEwRTU3MDAwMEE5MDEyRUMxMDhCMDAyRUMwMEFCMDAwRUMwMEIzMDAyMQorOjEwRTU4MDAwMjJDMTBCOTIwMkNDMDFBQjAwMkFDMDAyQjAwMkYwMDRGRgorOjEwRTU5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFMDAwRkEwQzNFQzBFMgorOjEwRTVBMDAwMEZBMDEzRUUyMERCMDAzRUMwMkU4ODUzRUMwMEZCMDBEMgorOjEwRTVCMDAwQjJDMDhGQUM4M0FDMDhEQjAwMUFDMDRGQjAwM0MwMDRGQworOjEwRTVDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCODAwRkUwMDNGQzA0NQorOjEwRTVEMDAwMkRFMDAzRkU4MDdGMDAzRkMwMEREMjAzRkMwMEJGMDE5MQorOjEwRTVFMDAwM0VDMDBEQzgwM0ZDMENGRjAwM0ZDMDA5RjAyM0Y4MDAzQgorOjEwRTVGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNDAwRkE0MDMyQzE5QQorOjEwRTYwMDAwMEZBMDAzMjkwOERCMDAzRUMwMEU4NTAzRUMyMENCMDBFMQorOjEwRTYxMDAwM0FDMDBFQTQwM0VDMDBGQjAwM0FDMjBFQjAwMzEwMDQ5MworOjEwRTYyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQkE2MDIwQzBENworOjEwRTYzMDAwMEJBMDAyMDgwMEFGMDAyRkQwMEJCNTAyRkUwMjhGMDAyNgorOjEwRTY0MDAwMkZDMDBEODAwQTNDMDBCNzAwMjNDMjA1RjAyMjM2MDAxRgorOjEwRTY1MDAwNDAwMDAwMDAwMDAwMDAwMEMwMDQ0MDAwQjE4ODIwMDAxRAorOjEwRTY2MDAwMEIxMDAyMEMwMDgzMDAyRUM4MEIwODA2NEQ0MDgzMDBERgorOjEwRTY3MDAwMjBDMDA4MzAwNjBDMDg5MzIwMEFFMDRBMzAwMjM4MDAxNworOjEwRTY4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMTA1QTAwQjU5MDIxMjAyQQorOjEwRTY5MDAwMEI1ODQyM0UwMEE3ODAyREUwMEI2OTAyREU0MDg3OTJCNgorOjEwRTZBMDAwMkRFMDA5MTgwMjlFMDFCNzgwMjlFMDAzNzAwMjNFMDBBOAorOjEwRTZCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDg0NDAwRjEwMTMwMDA2NAorOjEwRTZDMDAwNUYxODAzMEMxMDgzMDAzQ0M0MEUwNDAzRUMwMDgzMDBBRAorOjEwRTZEMDAwMzBDNDBDMzEwMzhDMDBGMzAwMzhDODBFMzEwMzEyMDIzMQorOjEwRTZFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMTVCQzAwRkQwNEJGMDQ1NQorOjEwRTZGMDAwNEY1ODAzRjgwOEVGMDgzRkMwMEZGMDAxRkMwMEZGNEMzMworOjEwRTcwMDAwM0ZDMTBGRDAwMzNDMDBGNzAwMzdDMjBENzIwM0QwMDZBMworOjEwRTcxMDAwNjAwMDAwMDAwMDAwMDAwMDA4MDVFMjAwREIwMDMyQzBERAorOjEwRTcyMDAwNERBODAzMkMwOEZCMDA3RUM4OEZCMDBCNkY0NUVCQzJEMQorOjEwRTczMDAwMzZDMDA3QTAwM0VGMjBDQjUwQjJDMDBDNzkwMzJBMDBFQgorOjEwRTc0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTk5ODAwOEYwMDIxQzBGMAorOjEwRTc1MDAwMEI2MDAzNUMwMDM3MDAyREQyMEIzMDAyMENBODg3MjQxRAorOjEwRTc2MDAwMjFEMDA5NzAwMkREODg4NzJBMjNFODA4NzAwMjMyMDQ2QworOjEwRTc3MDAwNjAwMDAwMDAwMDAwMDAwMDIwMDBCNjAwOTc4MDIxRTA0QgorOjEwRTc4MDAwMEI2ODAyMUUwMEI3ODAyREU4OEI0ODgyMUU4MEEzODQ5MAorOjEwRTc5MDAwMjVFODBCNjgwMkNFMDI4NzgwMjFFMDA4N0EwMjIwMDA3QgorOjEwRTdBMDAwMjAwMDAwMDAwMDAwMDAwMDY4MDRDQzA4ODM4MjIwRTAwNAorOjEwRTdCMDAwOEIyQTAyNDg0MEIzMDAyQ0MwMEIzMDgyMEMwMDgzMDAyRgorOjEwRTdDMDAwMDBDMTA5MzEwMkNDMDA4MzAwMjBDMDA4MzAwQTEyMDRDNQorOjEwRTdEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVFODAwREFBMDMyQThEMAorOjEwRTdFMDAwOERBODAzM0IwMEZBMDAzRTgwMEZFNDAzNjgwMEVBMDJCNAorOjEwRTdGMDAwMzY4MDBGRTQwM0U4MDBDQTAwMzI4MDJDQTAwMzNBMDRGQworOjEwRTgwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDFBMDEwRjgwMEJFMjBEOQorOjEwRTgxMDAwOEZDMTAzRTAyNEY4MDAzRTEwMEY4NDAzRTAwMEY4MDFFQworOjEwRTgyMDAwM0UwMDBGODAwM0UwMDBGODAxQkUxMDBGODAwM0QyMDAwRAorOjEwRTgzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBBNDAwRjk0MDMyNDA0MQorOjEwRTg0MDAwQ0Y5MDAzRTQwMEM5MDAwRTUwMEYxQTAzMjYwMEY5MDAxMAorOjEwRTg1MDAwM0U0MDBGOTA4MUU0MDBGOTgwMzI0MDBDOTAwM0MyMDRFNgorOjEwRTg2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA0QjEwNDIyNDA3NQorOjEwRTg3MDAwMEI5MDAyRTQwMEE5MDAyRTUzMEI5MjBBMjY0OEI5MDQxQgorOjEwRTg4MDAwMkU0MDBCOTAwMkU0MDBCOTgwMDI1MDA4OTAwMkUwMDA5NAorOjEwRTg5MDAwMTAwMDAwMDAwMDAwMDAwMDM4MDUyNDAwQkQwMDIzNDBFNworOjEwRThBMDAwMEJEMDEyQzQwMDg5MDIyRTQwMEI5MDIyMjQwMEI5MDAyNAorOjEwRThCMDAwMkU0MDBCOTAwMkU0MDBCMTIwMjA0MDY4OTAyMkM2MDA1OAorOjEwRThDMDAwNDAwMDAwMDAwMDAwMDAwMDI4MTQxNDAwQkYxMkExNDAwNgorOjEwRThEMDAwMEI1MDAyQzQwMEExMjAyQzQ4MEIxMjAyMDQxMEIxMTFFRAorOjEwRThFMDAwMkM0ODBCMTMyMkM0MDBCMTQwMjA1QTA4MTAwMkMyMDE2OAorOjEwRThGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjg0MDMyMTQzNAorOjEwRTkwMDAwMEY0NTAzRTE0MEM4NTAzRTE1OEY4NTAzMjFFOEY4NjhBNAorOjEwRTkxMDAwM0UxNDBGODQwM0UxRTBGMDI4MzJBOENDODAyM0VFMDNGQworOjEwRTkyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MTVDNDEwRjkyMDNFNDA3RgorOjEwRTkzMDAwMEY5MDAzRjQwMEY5MTAzRTQ0MEZEMTAzRTQwMEY5MjBENgorOjEwRTk0MDAwM0U0NDBGRDMwM0U0MDBGOTAwQkU0MDBGOTQwM0U2MDZGMworOjEwRTk1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVFNDAwRkQxMDMzNDBCNgorOjEwRTk2MDAwMENEMDAzMjQwMEQ5MDAzRjQwNENEMDAzRjYwMEZEOTBBQQorOjEwRTk3MDAwM0E0MDBDOTAwM0U2QTBGREE4Mzc2ODBDRDg4MzI2MDAyNworOjEwRTk4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDA4QzhBMDIyMDA1RAorOjEwRTk5MDAwMDg4MDAyMjAwMDg4MDAyRTAwMEM4MDEyRTAwMEI4ODA2MQorOjEwRTlBMDAwMjIwMDBEMEEwMkUzODBCMEMwMjAzNDA4ODQwMzRFMDQyNAorOjEwRTlCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDA4NDA5QTEwMDIwNDE1MAorOjEwRTlDMDAwMDg5MDAyMjQwMDkxMDAyQzQwMDgxMDAyQzUwMEIxNjA5QworOjEwRTlEMDAwMjA0MDA4MTBBMkM0MjBCMTI4MjQ0QTA4MTAwMjUyMDE4NQorOjEwRTlFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTRBNDAxODEwMEEyNDA4MworOjEwRTlGMDAwQTg5MDAwMjU0MDg5MDEyQzQwMDg5NDAyRTQwMEI5MDA0OQorOjEwRUEwMDAwMkE0MDA5OTAwMkU0MDFCOTA0MjI0MTQ4OTAwMjQ2MDREOAorOjEwRUExMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTRBNTIwRTkwMDMyNDBDMgorOjEwRUEyMDAwNEMxMDBCMjYwMEQ5MDAzRTQwMkM5ODAzRTQwMEY5MDA1RQorOjEwRUEzMDAwQjI0MDBDOTAwM0U0MDBGOTAwMzY0MDJDOTAwMzY4MDRDNworOjEwRUE0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MDFBNDAwRTkwMDNFNDAwMgorOjEwRUE1MDAwMEY5MDAzRTYwMEY5MDAzRTQwMEU5QTAzRTQwMEY5MDAyRgorOjEwRUE2MDAwMzY0MDBGOTAwM0U0MDBGOTAwM0M0MDBGOTAwM0RBMDBCOQorOjEwRUE3MDAwNjAwMDAwMDAwMDAwMDAwMDA4MTBBMTAwRjgwMDMyMDA1MworOjEwRUE4MDAwMEY4MDEzQTAwMEM4MDAzMjA0OEM4MDAzQTBDMEY4MDBERgorOjEwRUE5MDAwM0EwMDBGODAwMzIwMDBDMDA5MzIwMDRDODAwMTBBMDRCNAorOjEwRUFBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQkUwMDIwODA5MworOjEwRUFCMDAwMEJFMDAyODgwMEFBMDAwM0EwMEFFNjAyRkEwMDhBMDAxRQorOjEwRUFDMDAwMzI4MDBCQTAwMjI4MDA4RTgwQTM4MDI4MjAwMjhBMDBCQQorOjEwRUFEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU2QzAwQjM0ODIwNDAwMgorOjEwRUFFMDAwMEIxMDAyMEMwMDgzMDAyMEMwMDgzNDgyOEUwNDk5MDBCMQorOjEwRUFGMDAwMEFDMDFCMzAwMjBDMDI5MDUwMjA2MDA4MzAwMjBBMDA0RAorOjEwRUIwMDAwNTAwMDAwMDAwMDAwMDAwMDgwMTExQzgwQkQwQTIxNDg1OAorOjEwRUIxMDAwMEI1MjAyOUM0MEEzQTAyMDgwMEE2MDAyQ0UwMDg1MjBGOAorOjEwRUIyMDAwMjFDNDBCN0EwNjFFODA5NTIwMjE5MDA4NzAwMjI4MDBDRgorOjEwRUIzMDAwNDAwMDAwMDAwMDAwMDAwMDg4MDgxRTgwRjc4MEIxNzlDNgorOjEwRUI0MDAwMEZEQjAyM0UyMEM3QTBCMTYwQ0M3ODEzOTYwMEYxRjAzNQorOjEwRUI1MDAwMzlFMjBGN0IxMzBGMDBENEEwMzE2MDJDNzAwMzJBMDIxRQorOjEwRUI2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MTVBQzAwRjcwMDNFNDA2NworOjEwRUI3MDAwMEY5MDAzRUQ4MEZCMTAzRTQwMEJCMDIzRUMwMEY5MjAxQQorOjEwRUI4MDAwM0FEODBGQjAwQkVEODFFRDEwM0U4MDBGMzAwM0MyMDY3NgorOjEwRUI5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMDRCRTIwRUU4MDMzNjAzMgorOjEwRUJBMDAwMENEODgzMUUwMDZGODAzM0UwMEZCODExMzIwNEY1ODA1QgorOjEwRUJCMDAwMzNFMDBGRjg4MzJGNDBGRTgwQjNFMDBDRjgwMzEwMDAyMQorOjEwRUJDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTg5QzAwQkMwMEExNDREOAorOjEwRUJEMDAwMDgxMDAzNUMwMDhGMDAyMTgwMEJFQTIyMUM4MEI1MDEyNQorOjEwRUJFMDAwMjFDMDBCRjAwMjFFODBCRTAwMjM4MDJBNzAwMjJBMDQ3RQorOjEwRUJGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzIwQTcwMDIzNDBFRgorOjEwRUMwMDAwMEI1MDBBM0MwMEE3MDAyNUMwMEE0MzAyMTAwMEI1MDBDMworOjEwRUMxMDAwMjFDMDBCNzA4MjFDODBCNDAwMjFDMDA4NzAwMjA0MDA2NworOjEwRUMyMDAwMjAwMDAwMDAwMDAwMDAwMDIwMDQ4RTA0QjMwMDIyNDBGOQorOjEwRUMzMDAwMDkxNDAyNEMwMDgzMDAyMEMwMEIyNDgyMDQwMEIxMDBBMAorOjEwRUM0MDAwMjBDMDhCM0EwMjJDMDFCMDAwMjA4MDBBMzAwMjFBMDQ0NgorOjEwRUM1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTU5RTAwRUIwNDMzNDBDNworOjEwRUM2MDAwMkREQzAzMUQ2MEVGMDAzMjAwQ0Y5QTAzMjgwMEZEMDA2OQorOjEwRUM3MDAwMzNDMThCRkMwQjNDMDBGQzAwMzI4MDBDOTAwMzJBMDQ1NworOjEwRUM4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBBQzEwRjgwMDNFNDA3MgorOjEwRUM5MDAwMEU5ODIzQUMwNEZCMDAzQzAwMEY4NDIwRUQwMEY5MDAyQgorOjEwRUNBMDAwM0VDMDRGQjAwM0VDMDBGRDAwM0U4MDBGOTAwM0U0MDAzNworOjEwRUNCMDAwMzAwMDAwMDAwMDAwMDAwMDIxMTBGQzAwQ0Y4MDMzNDAzNQorOjEwRUNDMDAwMENEMDgzRkMwMEVGMDAzRjQwMENGMTQxMzAxMENEMDAzMAorOjEwRUNEMDAwM0ZDMDAwNzAxMzNDMDBFNDAwQjFEMDBDMTAwMzIwMDRDRQorOjEwRUNFMDAwMzAwMDAwMDAwMDAwMDAwMEExMDQyQzAwOEFFNDJBNDA0QgorOjEwRUNGMDAwMjg5MDAyRUMwMDhCMDAzRTAyMEE4MDAyMkM4Mjg5MDREQworOjEwRUQwMDAwMkVDMTBBQjAwQTJDMDA4OTAyMjJGMjJBOTgwMjIwMDBBMQorOjEwRUQxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAyODAxNDJBNDAzMgorOjEwRUQyMDAwMDg5MDAyRUMwOEFCMDQyRTg0MDgxMDgyODAxMDg5MDMzRQorOjEwRUQzMDAwMkNDMDRBQjAyMjJDMDBBQTAwMjI4MDA4OTEwMjIwMDA5OAorOjEwRUQ0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MTQyQzAwODAwMDI4NDA1MworOjEwRUQ1MDAwMDgxMTAyRUMwMDgzMDAyQzgxMEEwMDVBODgwMDAxMDA4RgorOjEwRUQ2MDAwMkNDMDBBMzAwMjBDMDA4MjAwMjA4MDBBMTAwMjAyMDEyRQorOjEwRUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQzkwMDNBNDBENworOjEwRUQ4MDAwMENENDAzRkMwMEVCMDAzRTQwMEM5MjAzQTAwMDREMDBBRAorOjEwRUQ5MDAwM0ZDMDBFRjAzMzNDODBFODAwMzJDMDBDOTAwMzIwMDNFQgorOjEwRURBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTFGQzAwRkMwMDNENDBFRAorOjEwRURCMDAwMEY1MDAzRkMwMjNGMDQzQjAxNEZDNDEzNzAwMEZEMDBFMQorOjEwRURDMDAwM0ZDMDFGRjAwMUZDNDBGQzAwM0ZDMDBGRDAxM0U4MDYxRAorOjEwRUREMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGOEUwRkY4MDNEQzBBQQorOjEwRURFMDAwMERGMzgyRjA4MEZGNDAzMUNCMENGMzAzRkQwNEVGQzE0MworOjEwRURGMDAwMzNFMDBGNzkwM0ZFMDBDRjQyMzNGMDRDRjgwMzMwMDBDQworOjEwRUUwMDAwNzAwMDAwMDAwMDAwMDAwMEUwMTBFOTA4Qjk4MTJGRjA1OAorOjEwRUUxMDAwMDhGNDUyRTkyMEJGNDAyM0YwMEFGMzAyRkQwODhCMDBGQQorOjEwRUUyMDAwMzZFMDBCODAyMkU4ODA4RjQwMjJDMDA4QjA4MjMwMDQ5OAorOjEwRUUzMDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVDQzAwQjE4MDJDQzVFNworOjEwRUU0MDAwMDkzMjQyQzhDMEIzMzEyMEMxMDgzMjAyQ0NENEJCMjA0MQorOjEwRUU1MDAwNjhDMDBCMzAwMkNDMjA5MzYwMjA4ODA4MzIwMjMyMDE1NworOjEwRUU2MDAwNzAwMDAwMDAwMDAwMDAwMEUwMTVBMDAwQkI4MDJFQzA3NAorOjEwRUU3MDAwMDhCMDAyRUEwMEJCMDA2MkMxMEFCMDAyQ0MwMEFCMDBERAorOjEwRUU4MDAwMkVDMDBCQTAwMEU4MDA4MzAwMjJDMTA4MzAwMjMwMDQyRAorOjEwRUU5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFODkwRkI4MDNFQzAwQworOjEwRUVBMDAwMERCMDAzRTIxMEZCMDAzMkMwNENCMDEzRUMwMEU5NTQ4QgorOjEwRUVCMDAwM0FDMDBGQjAwM0U2MDBDQjAwQjI0MDBDQjAwMzA0MDQyQworOjEwRUVDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCODAwRkYwMDNGQzAzQgorOjEwRUVEMDAwOEZGMDAzRjAwMEY3MDJCRkMxMEZGMDIzRkMwMERGMDY0NAorOjEwRUVFMDAwMzdDMDhGQzkwN0ZBOTJGRjA0M0Y1MDJGRjAwM0Y4MDA5NAorOjEwRUVGMDAwNjAwMDAwMDAwMDAwMDAwMDUwMTBBQzAwQzkwMDNFQzJERAorOjEwRUYwMDAwMEVCMDIzRTQwMEVCMDAzQUM4MEVCMDAzRUMwMEY5MDBBOQorOjEwRUYxMDAwM0VDMDBGQjQwM0E0MDBGQjAwM0U4MDBGQjA4M0QwMDRCQQorOjEwRUYyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyODAwOEI3NDJEQzBFMAorOjEwRUYzMDAwMDhGMDAyRTQwMDhGMDAyMUYwMDhGMDAyRkMxMEQzMDA3QQorOjEwRUY0MDAwMkVDMDBCOTAxMjJDMDBFRjAwMkVDMDBCQjYwMkY2MDA2NAorOjEwRUY1MDAwNDAwMDAwMDAwMDAwMDAwMEU4MDU0ODAwQTMwMDJDQzRBOQorOjEwRUY2MDAwMEEzMDAyQzAwMEEzMDA2OEYwMEEzMDEyQ0MwNEEyMDBFQworOjEwRUY3MDAwMkNDMDBCMzAwMkVDMDBCMzAxMkVDMDBCMzQwMkY4MDBBMQorOjEwRUY4MDAwNTAwMDAwMDAwMDAwMDAwMEIwMDEwQzAwODc4MDJERTg1OAorOjEwRUY5MDAwMDg3ODQyREEwMDg3ODAyNUUwMDg3OTAyQ0UwMDk2ODA2MgorOjEwRUZBMDAwMkRFMDBCRDkwMkRFMDBBNzgwMkRFMDBCNzgwMkZDMDBEQgorOjEwRUZCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzQwRTMxMDNDQzA4NgorOjEwRUZDMDAwMEEzODAzRTgwMEVCMDAzOEMyMEEzMDAzQ0MwMEUzNDAwMworOjEwRUZEMDAwM0NDMDBGMzQwM0NEMDBGMzIwM0M4ODBGMzAwM0QyMDIzNQorOjEwRUZFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCNDgwRkYwNDNGQzg4NgorOjEwRUZGMDAwMEZGMDgzRjg0MEZGMTgzQkMwMEZGNDgzRkMwMEVFMDJEMworOjEwRjAwMDAwM0ZDMDBGRjAwMzNDMDBFRjA4M0Y4MDBGRjAxM0QwMDYyNQorOjEwRjAxMDAwNjAwMDAwMDAwMDAwMDAwMDg4MDVFODAwQ0IwMDNFRjIyMAorOjEwRjAyMDAwNERCMjEzRTgwNENCMDEzMkY4NERCMjEzNkQyMEY4MDA1NQorOjEwRjAzMDAwM0VDMDBGMzAwMzI0MDBGQjAwM0U0MDhGQjgwMzJBMDA3RgorOjEwRjA0MDAwNzAwMDAwMDAwMDAwMDAwMEM4MTE4QzAwODYwMDJDQzA3OQorOjEwRjA1MDAwMDg3MzAyRDgxMjg3MzAyMENCMDhGMjAyMUQwNUI1MDBENAorOjEwRjA2MDAwMkRDMDBCNjAwMzUwMTBCNzA5MkRDMDBCRjAwMjMyMDQwNQorOjEwRjA3MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDA5RTAwODc4MDJERTRGQQorOjEwRjA4MDAwMDk3QTAyQ0UwMTg3ODAyMUVDMDk3ODAyNUU4MEI3QzA0MAorOjEwRjA5MDAwMkRFMDBCRjgwMjFFMDBCN0EwMkQ2MDBCNzgwMjIwMDBCNworOjEwRjBBMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRFRTAwODI4MDJDQzAwOAorOjEwRjBCMDAwMDgzMDAyRUMwMDgzMDBBMEMwMDgzMDAyMEMwMEIzODBDRQorOjEwRjBDMDAwMkNDMTBCMzAwMjRFMDBCMzAwMkNGMTBCMzAwQTEyMDQ5RAorOjEwRjBEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQTgwQzYwMDNFODA0NQorOjEwRjBFMDAwMERBMDAzRjg0MENBMDAzMjgwMERBMDEzNjgwMEZFMDI5NAorOjEwRjBGMDAwN0U4MDBGRUQ4MzM5MTBGQTAwM0Y4QzBGQTAwMzNBMDQ5NQorOjEwRjEwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDEyRjg5MDNFMDA5RgorOjEwRjExMDAwMEY4MDAzRTAwMEY4MDUzRTAwMEUwMDAzRTAwMEY4ODBEOQorOjEwRjEyMDAwM0UwMDBGODAwM0UwNjBGODAwN0UwMDBGODAwM0QyMDBGNQorOjEwRjEzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwQzk4MDMyNjRDNAorOjEwRjE0MDAwMEY5MDQzRTQwNkMxMDQzQTQwMEY5MDAzRTQwMEU5MDA0NQorOjEwRjE1MDAwMzI0MDBGOTAwMzI0MDBDMTAxMzI0MDBDOTAwM0MyMDRERQorOjEwRjE2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODlDMDIyNDBEQworOjEwRjE3MDAwMEI5MDAyMjQwMDg5MDAyMjUwMUI5MDIyMjQwMDgxMDA2MQorOjEwRjE4MDAwMjI0MDBCOTAyMjI0MDhDOTAwMjA0MDA4OTQwMkUwMDA4RAorOjEwRjE5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwOTkyMDIyNDAwMworOjEwRjFBMDAwMEIxMDAyQTQwMDg5MDAyQTU4MEI5MDAyODQwMEE5MDBDOQorOjEwRjFCMDAwMjI0MDBCMTAwQTA0MDA5OTAyMjJDMTA4OTA4MkM2MDA2NgorOjEwRjFDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwOTEwMkEwQzhGNAorOjEwRjFEMDAwMEIxMjAyMDQ4MDgxMjIyMDQ4OUIxMjAyMDQ5MDg5MDFCNAorOjEwRjFFMDAwMjA0MDBCMTAwMjA0MDI4MTIyMjI0MDA4MTAwMkMyMDFCQQorOjEwRjFGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQyREEwMTMyMDE5OQorOjEwRjIwMDAwMEY4NTAzQTE0MEMwNTAzQTAxOEI4NTIzQTE0NEU4NTBFQgorOjEwRjIxMDAwQjIwMDBGODUwMzIxNDhEODUxMzIxNDJDODUwM0VFMDMyOAorOjEwRjIyMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNTAwRUQwMjNFNDQ3MworOjEwRjIzMDAwMEY5MTAzRjQ0MEY5MTAzRTQ0MEY5MTAzRTQ0MEZEMDBBOAorOjEwRjI0MDAwM0U0MDBGRDAwM0Y0MDBFOTEwQkY0MDBGOTAwMzY2MDY2NAorOjEwRjI1MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNjIxQzUwMDMzNjhCQQorOjEwRjI2MDAwMEY5QTAzNkY4OEM5QzAzMzY4MEM5RTAzMjc4MEQ5NDA2QQorOjEwRjI3MDAwM0U0MDBGOTAwM0M1MTBEOUU4MzY1MDBDRDAwM0U2MDA4RAorOjEwRjI4MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTA4ODgwMDgyMDBEMworOjEwRjI5MDAwMEI4RTgyRUJDODg4RTAyMjAwMjg4ODQyQTI4MDhBODBGOAorOjEwRjJBMDAwMjIwMDBCQUEwMkUyMDA4OEMwMjJBOTA4OEEwMzhFMDQ2OQorOjEwRjJCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNDAwODEwMDIwRDA5QworOjEwRjJDMDAwMEIxMTMyODQ4NDgxNjA2MDUwMDgxNjA2MDUwMDkxMjA3RAorOjEwRjJEMDAwMjA0MDBCMTA4MkU0MDk5MTIwMjQ0MDA4MTBDMkQyMDE4MgorOjEwRjJFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDA0ODkwNDIyNDBFQQorOjEwRjJGMDAwMEI5MDAyQzQwMEE5MDAyMjQxMDA5MDAyQTQwMDgxMDBFQQorOjEwRjMwMDAwMjI0MDBCOTIyMkU1ODA5OTAxMjI2MTA4OTAwMjg2MDQzNgorOjEwRjMxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTRBNTgyODE5MDMyNDAyRgorOjEwRjMyMDAwMEY5MDEzNjcwMkM5MDAzMjQwMEM5MDIzMjQwNEQ5QzAwNworOjEwRjMzMDAwQjI0MDBGOUMwM0U2MDBEOTAwMzY1MDBDOTAwM0U4MDQ1RAorOjEwRjM0MDAwNzAwMDAwMDAwMDAwMDAwMDY4MDBBNjgwRjkwMDNFNDA0OAorOjEwRjM1MDAwMEY5MDAzRTcwMEQ5MDBCQzQyMEY5MDUzRTQwNEY5MTA2QQorOjEwRjM2MDAwM0U0MDBGOTgwM0U2MDRFMTAwM0U0MDJGOTAwM0RBMDA5MAorOjEwRjM3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTA4MTEwNDgxMDMyMDhEMgorOjEwRjM4MDAwMEM4MDBGMjEwMkM4MDAzQTA0MEY4MDA3NjAwMEY4NDA4QgorOjEwRjM5MDAwQjIwMDBGODQwQjIwMDBEODAwMzYxMDBDODAwM0NBMDQ4MgorOjEwRjNBMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDQyODA0OEU4MDIzODAzNAorOjEwRjNCMDAwMDhBMDQyMjgwMDhBMDAyM0EwNEJBMDAyRTgwMEJBMDA1RgorOjEwRjNDMDAwNzY4MDBCQTAwMjA4MDA4QTAwMzI4MDA4RTAwM0NBMDBBMQorOjEwRjNEMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwODIwMDIwRDAwMgorOjEwRjNFMDAwMDgzMDAyMEMwMDlCMDAyOEMwMUFCMDAyNkMwMEIzMDI2NworOjEwRjNGMDAwMjBDMDBCMzAwMjBDMDBBMzAwMjJDMDI4MzQ4MkNBMDBCNworOjEwRjQwMDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExQzAwODcwMDIwRTBFOAorOjEwRjQxMDAwMDg3ODAyMEMwMDk3MjAyNUMwMEI3MTAyREM4MUI3MjAxMAorOjEwRjQyMDAwMjFDMDBCN0E0MjNDODA4NzIwMjFDMDA4NzAwMkU4MDA4RQorOjEwRjQzMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDgwRTgyQzc4MEIxRTBGNAorOjEwRjQ0MDAwMkNGQTA2MUUwOEQzQjEzOTYwNEU3ODEyNUVBMEZGRjA4OAorOjEwRjQ1MDAwMjFFMDBGRjgwMzFGMDhFM0EwMzNFMDBDNjgwM0VBMDI4MQorOjEwRjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzQwRkIwMDNFQzA5MgorOjEwRjQ3MDAwMEZCMjAzRURBOEVCMTAzQTgwMEZCMEMzRUM0MEZCMDBENQorOjEwRjQ4MDAwM0VDMDBGQjA4M0VDODBFQjcwQkVDNDBGQjAwMzgyMDZBOQorOjEwRjQ5MDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTAwQ0U4MEIzNjA2OAorOjEwRjRBMDAwMEZGQzgzN0UyMEVGQjAzQkUwMEZCODAzM0UwMENGODExRQorOjEwRjRCMDAwM0ZFMDhGRjg4M0VGNDBGRkMyMzNFMTBDRjgwM0QwMDA0OAorOjEwRjRDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzgyODcxODIxODBCNQorOjEwRjREMDAwMEIzMDAyMUM2MEQ3MTAyMUQwMEI3QjAyM0MwMEQ3MDAwMAorOjEwRjRFMDAwMkRDMDBCNzAwMkRFMDBCRjAwQTNDNDA4NzAwM0FBMDQ4NQorOjEwRjRGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDBCQzExODcwMDIxQzA3NworOjEwRjUwMDAwMEIzMDAyMUMwMDkzMjA2OUMwMEI3MDAyMUMwMDg3MDBBNgorOjEwRjUxMDAwMkRDMDBCNzEwMkRDMjBCNzEwMjFDMDA4NjAwMjg0MDBFRQorOjEwRjUyMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDRDAwODM0MDIwQzBENworOjEwRjUzMDAwNEIzMDAyMEMwMTgzMDAyMEMwMEIzMDAyMEMwMDkzODA4MgorOjEwRjU0MDAwMkNDMDBCMzAwMkNDMDFCMzAwMjBDMDA4MzAyMjk4MDQzQworOjEwRjU1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCRjIwQ0FDMDMyODBBMworOjEwRjU2MDAwMEZGMDAzM0UwMDlGMDAzQTgwMEZGMDBCM0MwMENGOTg1NQorOjEwRjU3MDAwM0VDMDBGRjYwM0ZGMDBGRjAwMzFFMDJDQjAwM0FFMDRFNQorOjEwRjU4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBDQzgwRkIwMDNFNTBDNgorOjEwRjU5MDAwMEZCMDAzQUMwMkZCMDA3RTUwMEZCMDAzRUMwMEZCMDA4OQorOjEwRjVBMDAwM0VDMDBGQjIwM0VDMjBGMzAwM0VDNjBGOTAwM0EwMDA1NAorOjEwRjVCMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAyQ0Y5ODczQzg2QQorOjEwRjVDMDAwMEY3MDAzM0MwMEZGMDAzMzI4MEZCMDAyMUMwMDRGMDBGNworOjEwRjVEMDAwM0ZDMDBGRjAwM0ZDMDBGRjAxMzNDMDBDRTQwM0U0MDQ2MAorOjEwRjVFMDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2QzAwODM4MEEyRjg1RQorOjEwRjVGMDAwMEJCMDQyMkMwMEJCMDAzMjEwMEZCMDAzNkMwNEFCMDAwOAorOjEwRjYwMDAwMkVDMDBCQjAxMkVDMDRFQjAwMjJDMDRBOTQ4MkUwMDA0MgorOjEwRjYxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDU2QzAwOEEwMDIyMDAzRAorOjEwRjYyMDAwMEJCMDAyMkMwMEIzMDBBMkMwMEIzMDAyQUMwMEFCMDQ0NAorOjEwRjYzMDAwMkVDMDBCQjA0MkVDMDBCQjAwMjJDMDA4QjAyMkUwMDA5QworOjEwRjY0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDAwQzAwOEIwMTIwMDBCQQorOjEwRjY1MDAwMEIzMDA2MEMwMEIzMDAyMEMwMEEzMjBBQ0MwMEEzMDAxNQorOjEwRjY2MDAwMkNDMDBCMzAwMkNDMDBBMzAwMjJDMDRBMDAxMkMyMDEwMQorOjEwRjY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2QzAwOEIwNDIyQzBBNQorOjEwRjY4MDAwMEZGMTAzMUMwMEZGMDQzMkMwMEJGMjAzQkMwMEVGMDBCQgorOjEwRjY5MDAwM0VDMDA3RjAwM0ZDODBGRjAwQjJDMDBDQTAwM0UwMDNGMworOjEwRjZBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlEQzAwRjUwMDNGQzA4MQorOjEwRjZCMDAwMEZGMDAzRkMwMUZGMDIzQkMwMEZGMTAzN0MwMEZGMDBEMQorOjEwRjZDMDAwM0ZDMDBGRjAxM0ZDNDBFRjAwM0ZDMDBGQzAwM0U4MDYzRgorOjEwRjZEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVGMjQwQ0M4MDM3MjAxMAorOjEwRjZFMDAwMENEODAzQjA0NEZDMDgzRjBFMEZDMTAzRkMwMENDOTRCRgorOjEwRjZGMDAwM0YwQTJFQzQwMzdEODBDRjEwM0ZDMDBGQzA4MzMwMDA2RgorOjEwRjcwMDAwNzAwMDAwMDAwMDAwMDAwMDgwMDhFMDkwODgwMjIyODE2NAorOjEwRjcxMDAwMDg5MjEzQTQ0MDNCNjAyMjE4MEI4MTAyRkNENDgxMDBBNAorOjEwRjcyMDAwM0FCMDBBOTQwMjNENDBBRjYzMkZERjBCOTgwMDIwMDRFQgorOjEwRjczMDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVFMDAwODgwMDIwNDA0NAorOjEwRjc0MDAwODgzMDgyQzAwMEIwMDgyODgwMEExMDAyQ0MyMDgwMDFENgorOjEwRjc1MDAwMkM0MDFCMDYwMjhDOTA5MzYwNjhDMDRBMDA0MjIyMDEzNAorOjEwRjc2MDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVBMDAyODgwMDIyQzA1OAorOjEwRjc3MDAwMDhCMDAyRTQyMEJCODgyNjk4MEI4MDQyQ0MxODhBMDA4RgorOjEwRjc4MDAwMkVDMjFCOTgwMkFDMDBBQjAwMkVDMDBCOTg4MjMwMDQzNgorOjEwRjc5MDAwNjAwMDAwMDAwMDAwMDAwMDAwMTFFM0MwQ0IwMjMyMDA1NgorOjEwRjdBMDAwMkM4MDAzQUUwOEI5MDAzRTcwMEZCOTAzRUMwMjQ4NDg0NAorOjEwRjdCMDAwM0NDMDBGOEM5M0VDMDBEQjAwMUFDMDBFQUMwMzEwMDRBRAorOjEwRjdDMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCMjAwRkYwMEJCODBGQworOjEwRjdEMDAwMEZDMDQzQjY0MEJEMDAzQjYwMEZFODAzRkMwMEZGOTQ0MAorOjEwRjdFMDAwM0JFNDBFNjAwRjZDMDhFRjAxM0ZDMDBGNjAwM0Y4MDBCMAorOjEwRjdGMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBMTAwRkIwMDNFNjAxRgorOjEwRjgwMDAwMEZBMDAzRUQwMEY5NDAzQTAwMEY5MDAzRUMwMkM5MDQ4OQorOjEwRjgxMDAwMzJEMDBGOTAwMzJDMDhEQjAwQjZDMDBEQjQwM0QwMDQyNworOjEwRjgyMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUwMDAwQjM4OTJFRTBBMQorOjEwRjgzMDAwMEJBNDAzQTQwMUI5MDAyRTAxMEI5MDQyRkMxMDg5NTBDNworOjEwRjg0MDAwQTJDMDhEQjQwMjNDNDQ4RjAwMjNDMDA4QjAwMkYyMDA3NQorOjEwRjg1MDAwNDAwMDAwMDAwMDAwMDAwMEMwMDQwQzAwQjA4MDJFMDAzQQorOjEwRjg2MDAwMEIxMjAyQzgwMEJBMDAyQ0MwMEIyMDAyQ0MwMEEyMDA3MAorOjEwRjg3MDAwMjAwMDJCMkQ5QTJFNDI4MzAwMjhDMDA4MjAwMkY4MDA3OQorOjEwRjg4MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDAxRTA0QjQ4MDJEQTBFNQorOjEwRjg5MDAwMEI1ODAyOTIwMEI2ODAyREUwMEI2ODAyREU0MEE2ODA3NQorOjEwRjhBMDAwMjEyNDI5NDgwMjFFODA4NzgwNjlFMDA4NjEwMkM4MDA3RgorOjEwRjhCMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MTgwQzAwRjAzMDNDNENGNAorOjEwRjhDMDAwMEYzMjAzQzg4MEIyMDAzODgwMEYxQjAzRUMwMEUwMzAxOQorOjEwRjhEMDAwMzAwNDBGQjEwMzBFODVDQjAwM0FDMDBDMzEwM0QyMDJDNQorOjEwRjhFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMUNCQzAwRkMxMTNGQzRGMAorOjEwRjhGMDAwMEZCODEzQjAwNEZFMDIzRjgwMEZDMDAzRkQwMERGMTJGQgorOjEwRjkwMDAwMUQwNDBGRDA0M0JDMDFFRjEwMzNDNDBFRjMwM0QwMDYyNworOjEwRjkxMDAwNjAwMDAwMDAwMDAwMDAwMDA4MDVFRTAwQ0IwMDNFMDA4MworOjEwRjkyMDAwMEY4MDAzMjgwMEY4MDAzRTQwM0RCMDAzRUYwOEM5MDBGNworOjEwRjkzMDAwM0EwMDBDQTAwM0VDOThGQjIwMzJEMjBDQTgwMzJBMDI1OAorOjEwRjk0MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwODcwMTJEODAxRAorOjEwRjk1MDAwMEI0MDQyMUMwNDM3MDBBMTQwMDg2MDAyQ0M4MDg3MDBBNQorOjEwRjk2MDAwMkQ4MDJFNzAwMkRDQTlCNzI4MjFEMDA4NzAwMjEyMDA2OQorOjEwRjk3MDAwNjAwMDAwMDAwMDAwMDAwMDIwMDBCRTAyODc4MDJENjBCMworOjEwRjk4MDAwNEJFODAyNUEwMUI0ODgyOEUwODg3OEMyREU1Mjg2QzA2QgorOjEwRjk5MDAwMjk2MDA4NjgwMkRFNDBCMzkyRTFFODI4MjgwMjcwMDA3RQorOjEwRjlBMDAwMjAwMDAwMDAwMDAwMDAwMDY4MTRDQzAwOEI4MDJFQzBGNgorOjEwRjlCMDAwMEIyMDAyNEQ4MDlCMjAyMEUwMDgzODAyQ0MwMDgzODA4MQorOjEwRjlDMDAwMkNDMDBBQjAwMkNDMDhCMzAwMjBDMDA4MzEwMjUyMDQ5NworOjEwRjlEMDAwMzAwMDAwMDAwMDAwMDAwMEU4MDVBODAwQ0FFMDNFODBGQQorOjEwRjlFMDAwMUZBNDBCNzkwMEZFMDAzRjgyMURFMDAzRTgwMENFNDAxQgorOjEwRjlGMDAwM0I4ODJDRTQwM0U4MDFGQTAwMzI4MDBDRTgwMzdBMDQyNworOjEwRkEwMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MTFBMDAwRjgwOTNFMDA1RQorOjEwRkExMDAwOEZDMDgzQTAxOEY4MDAzQzIwMEY4ODAzRTAwMEY4MDg4RQorOjEwRkEyMDAwM0UyMDBFODA4M0UxMDFGMDAwM0MwMDBGODAwQjkyMDAyRAorOjEwRkEzMDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBBNDAwRjk0MjMyNDAyRAorOjEwRkE0MDAwNEM5ODAzMDQwMEM5MDAzQTQwMEY5MDIzMjQwMEI5ODE2OAorOjEwRkE1MDAwM0M0MDBDOTIwMzI0MDBGOTA1MzI0MDZDOTBDM0MyMDQ3MAorOjEwRkE2MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQyNDE0QjkwMEEyNTRGQgorOjEwRkE3MDAwMDg5QjFBMjQwMjg5MDAyMjQwMjg5MDAyQTQwMEI5OTAxMQorOjEwRkE4MDAwMkU0MDI4OUM4MjI1MDRCOTAwMjI0MDA4OTgxMkUwMDBFQworOjEwRkE5MDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQUQwMDIzNDAwNQorOjEwRkFBMDAwMDg1MDAyNjQwMDg5MDAyQTQwMDgxMDAyNjQwMEI5MDA2RQorOjEwRkFCMDAwNkU0MDA4OTAwMjI1MDBBOTAwMjI0MDA4OTEwNkM2MDA2OQorOjEwRkFDMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQxNDAwQjUxMEExNDQyQworOjEwRkFEMDAwMjg1MDAyNDQ4MDgxMzAyMDQ4MDgxMjAyODQ0MEIxODBCRQorOjEwRkFFMDAwNkNDODA4MTIwMjA0ODBCMTM0MjA0ODA4MTIwMkMyMDExNgorOjEwRkFGMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRTg0MDMyOTBCNgorOjEwRkIwMDAwMENDNTAzNjE0MEMwNDAzQTE0MEY4NTAzMjFCMEY4NTA4MgorOjEwRkIxMDAwM0UwMDBDODUwMzIxNDBGODQwQjAxNDBDODAwM0VFMDEzOAorOjEwRkIyMDAwNTAwMDAwMDAwMDAwMDAwMEI4MURDNDA0RjkyMjBFNDg3NworOjEwRkIzMDAwMEYxMDEzQjQ0MEZEMzAzRjQ0NEZEMTAwRTQ4NEZGMDE2NworOjEwRkI0MDAwM0Q0NDBGRDEwQkU0NDBGOTMwM0U0NDBGRDEwM0U2MDRBRAorOjEwRkI1MDAwNzAwMDAwMDAwMDAwMDAwMDM4MDVFNDAwREQ0MDNGNTA2OAorOjEwRkI2MDAwMENEMDAzMkMwMEM5MDAzNjQwMEY5MDEzMjcwNEY1MDE3OAorOjEwRkI3MDAwMzc0MDBDRjAwM0Y2MjBGOUE4MzI2ODBDRDAwM0M2MDAxOQorOjEwRkI4MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDBFMDAwODhBMDJFMjg4RgorOjEwRkI5MDAwMjg4MDAyMjAwMDg4QTAyMjAwMEI4MDBBNjI4MEI4MDAyMgorOjEwRkJBMDAwMjIwMDA4ODAwMkUxMDBCOEUwMjIzQTA4QTAwMkNFMDQ1OAorOjEwRkJCMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDA4NDAyODEwMDJFNDA1OAorOjEwRkJDMDAwMDgxMDBBNDQwMjgxMDgyNDQwMEExMDAyNDU4MEI5MDA0NgorOjEwRkJEMDAwMjQ0MDI5MTAwMkM0MDBCMTA4MjQ0NDA4MTAwMkMyMDFDNAorOjEwRkJFMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTRBNDA0ODkwMTJFNTBDOQorOjEwRkJGMDAwNDhCMjAyNjQwMDkxMDAyMjQ2MEI5MDAyNjQwMEI5MDFGMQorOjEwRkMwMDAwMjZDMDA5QjAxMkU0MDBCMTAwMjY0MDA4OTAwMkM2MDRFNAorOjEwRkMxMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDRFNDAwQzkwMDNDNDBCNworOjEwRkMyMDAwMEM5MDAzNjQwMEM5MDIzNjUwMEU5MzAzMjQwMEY5OTAyRgorOjEwRkMzMDAwMzY0ODBEOTQ4M0U0MDhGOTAwQjY0MDBDOTQwM0U4MDRCOAorOjEwRkM0MDAwNzAwMDAwMDAwMDAwMDAwMDY4MTBBNDAwRTkwMDNFNDBDMQorOjEwRkM1MDAwMEY5MDEzQTQwMEU5MDIyRTYxMDU5MDAzQTQwMEY5MDA5RgorOjEwRkM2MDAwM0E0MDBFOTA0M0U0MTBGOTAwMzg0MDJGOTAwM0NBMDA0OAorOjEwRkM3MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRDgwMTMyMDQzRAorOjEwRkM4MDAwMEY4MDQzQzAwMUM4MDBCMjAxMEM4MDAzMjAwMEM4NDBBRgorOjEwRkM5MDAwMzAwMDhDODQ4M0UwMDBDODAwMzIwMDZDODQwM0NBMDQwNgorOjEwRkNBMDAwMjAwMDAwMDAwMDAwMDAwMDA4MDQyODAwQkEwMDIzODBBMworOjEwRkNCMDAwMEJFQTAyRTgwMEFBMDAyMjgwMDhBMDAyMjgwMDg2MjBBMQorOjEwRkNDMDAwMzdBMDhERTQwMkY4MDBEQTAwMjI4MDA4QTAwMkNBMDAwMgorOjEwRkNEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDU2QzAwQjMwMDIwQzBEOAorOjEwRkNFMDAwMEJCODAyNEMwNDgzMDAyMEMwMDhCMDAyMEMwMjgzMDA1MQorOjEwRkNGMDAwMjA0MDI4MzQwMkNFOTA4MzAwQTBDMDA4MzAwMkNBMDAwMQorOjEwRkQwMDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExQ0MwQjU4ODIxNDAwOAorOjEwRkQxMDAwMEI3MDAyREM4MEEzMjAyMUUwNDgzMjQyMEU5MDhFMDE1RAorOjEwRkQyMDAwNjU1MDA5NzAwMkRFMjA5MzIxMjFDMDA4NzAwMkU4MDBBRQorOjEwRkQzMDAwNDAwMDAwMDAwMDAwMDAwMDI4MTgxRTAwRkY4MEIxQTA1NQorOjEwRkQ0MDAwMEY0ODAyN0UwMDg3QTAzM0UwMjg3QTBCMUYwMEM0ODA5MgorOjEwRkQ1MDAwMzE2MDhDNTgwM0ZFMDBDN0M4MzNFODBDNTgwM0VBMDIzMAorOjEwRkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRkYwMDNFMDA4NQorOjEwRkQ3MDAwMEY5MDIzRUNBMEZCNDAzRUMwOEZCNTAzRUQ4MEY4MDA1MAorOjEwRkQ4MDAwM0M0MDBGQjAwM0U4MDBGQjAyM0VEMDBGOTAwM0MyMDZEOAorOjEwRkQ5MDAwNjAwMDAwMDAwMDAwMDAwMDYwMDRCRTAwRkY4MDNGRTA0MworOjEwRkRBMDAwMEZEOTAzRkUyMENGQzgzM0VBOEZGQzAzM0YwMEZEODA0QworOjEwRkRCMDAwM0Y2MDBFRTgwM0YyMDBDRjgwMkZGRTBDNzgwMzAwMDBCNgorOjEwRkRDMDAwNzAwMDAwMDAwMDAwMDAwMEE4MDA5QzAwQjUwMjJEQzBEQgorOjEwRkREMDAwMEI1ODQyREM4MENGMDAyMUMxMEIzMDEyMUM0MEI0MDIxMgorOjEwRkRFMDAwMkQ0NjA4NzExMkM4MDBFNzAwMkRDNDA4NzAwMzZBMDQ4QworOjEwRkRGMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcwMDJEMDIyMQorOjEwRkUwMDAwMEI0NjAyREMwODk3MDAyMUM5MEEzMDIyMUMwMEI0MDAwRQorOjEwRkUxMDAwMkQ0MDBBNTA4MkM0MDBCNzAwMkNDODI4NTAwMjQwMTA2MAorOjEwRkUyMDAwMjAwMDAwMDAwMDAwMDAwMDQwMTQ4QzE4QjMwMDJFMjBCOQorOjEwRkUzMDAwMEIxODAyQ0Y0QTgzQzIyMEMxMEIzNDIyMEMwNEI4NThERAorOjEwRkU0MDAwMkM0MDBCMjgwMkM4MDBBMzAwMkNDMDA4MTQwMjQ4MDQ1MAorOjEwRkU1MDAwMzAwMDAwMDAwMDAwMDAwMEE4MDVCQzAwRkIwMDNFODA1MAorOjEwRkU2MDAwMEZBMDAyRkMwMERGQTBCM0MwMEVGMDBCM0MwMEZCQzBGMworOjEwRkU3MDAwM0NBMDBFQkQwM0VDMDBGRjAwM0ZDMDBDMzAwMzZBMDQ0MQorOjEwRkU4MDAwNjAwMDAwMDAwMDAwMDAwMEEwMTBFQzAwRjkwMDNFMDEzRQorOjEwRkU5MDAwOEZCMTQzRUMwMEYzMDAzRUMwNEZCMDEzRUMwMEZCMDAwOQorOjEwRkVBMDAwM0U4MDBDODQwM0UxMDA3MzAwM0VDMTBGQjI0M0UwMDBDQQorOjEwRkVCMDAwMzAwMDAwMDAwMDAwMDAwMDAxNTBGQzEwRkY4MDM3QzAzRgorOjEwRkVDMDAwMENFMDAzRkMyMEZGMDgzM0MwMEZGMDgzQkMwMEZGMDBGMAorOjEwRkVEMDAwMzNDMDJFNDAwMzFDMDFDRjAwMTFDMDRDRDAwMzAwNDQ5RQorOjEwRkVFMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzA0QjMwMjIyNzJBNAorOjEwRkVGMDAwMDhBMTE2RUMwMEJCMDQyMkMwMEJCMDQyRUMwMEJBMTlGQQorOjEwRkYwMDAwQjZEMDA4OUM0QTI2ODBEQjAwMjJDMDA4OTAwMzYwNDBERgorOjEwRkYxMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwQjkxMDYyMjBENQorOjEwRkYyMDAwNDhBMDAyRUMwMEJCMDAyMkMwMEJCMDAyRUMxMEJCMDBFQQorOjEwRkYzMDAwNjYwODBBQTgxMjI2MTA5QjAwMkFDMDI4QjAyNjIwMDBCNgorOjEwRkY0MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDAwQzAwQjkwMDIwMDA4NAorOjEwRkY1MDAwMDgzMjAyQ0MwNEIzMDAyMEMwNEIzMDAyQ0MwMEIzMDAwNgorOjEwRkY2MDAwMjAwMDA4MDAwMjAxMDA5MzAwMjhDMDA4MzAwNjQyMTE1QQorOjEwRkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMUM2QzAwRjkwMEIyNDAwRQorOjEwRkY4MDAwMEM4MjAyREMwMUZGMDBCMkMwMEJGMTAzQkMwMEY5MDBERgorOjEwRkY5MDAwMjY0MDJFODAwMzIxMDRDRjAwQkJDMDBDOTAwMzAwMDMzOQorOjEwRkZBMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkQwMDNGNDBDQworOjEwRkZCMDAwMEY4MTAzRkMwMEZGMDAzRkMwMEZGMDIzRkMwMEZDMDA5QQorOjEwRkZDMDAwMkQ0MDJGQzAwM0YwODhGRjAwMzdDMDhGRDAwM0U4MDIxOAorOjEwRkZEMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGRTQwRkY4MDMzQzIzQQorOjEwRkZFMDAwMENGODAzN0NBMEZGOTAzRkM0MkNCNDAzQkM4MENGNDAyRQorOjEwRkZGMDAwMzdFMDBGRjE5MzZFNDRCRjMwM0YyMDJDRjg2M0YwMDREQworOjEwODAxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQzAwRUIyMDIzRjA1NgorOjEwODAyMDAwMDhCODUyM0QwMEIzMDAyRURDMDhGNDQyMUM0MjhCNDBERAorOjEwODAzMDAwMjJDODBCRjYwMzZDODhCQjMwMkUwMDA4QjIwMkUwMDRBNQorOjEwODA0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzAwQkIwODIwQzAwNAorOjEwODA1MDAwMDgzMDAyNENBMEIzMjAyNjgwODgzNjAyQ0NBMDkzNjA2MgorOjEwODA2MDAwQTRDMjBBMzI0MjRDOTBCMzIwMkMwQjg4MzA4MkUyMDEyOQorOjEwODA3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA4QkIyMkEyQzBDOAorOjEwODA4MDAwMDhCMDAyMkMwMEJCMDAyRTkwMDhCMDAyRUMwMDlCMDA1MAorOjEwODA5MDAwMjJDMDBCQjAwMjZDMDBCQjAyMkUyMDA4QjAwMkYwMDAyMAorOjEwODBBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwQjE4MzMyQzAwOQorOjEwODBCMDAwMEMxQTAzNkMxMEZCMDAzNEMwMENCMDAzRUMwOERBMDA5RgorOjEwODBDMDAwMzZDMDBFQjAwQjZDMDBGQjAwM0UyODBDQjAwMkQwMDA5NgorOjEwODBEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzAwRUQ4MDNGQzAyNworOjEwODBFMDAwMEZENDAzRUMwMEZGMDAzRkM4MEZCMDAzM0MwMEVFNDA4QworOjEwODBGMDAwM0ZDMDBGNzAwM0ZDMDBGRjAwM0Y4MDBGRjAwM0Y4MDA0QgorOjEwODEwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIyMEIwQzA4OAorOjEwODExMDAwMEZCNDAzQUMwMkNCMDAzMjkwMEVCMDAzNkMwMEVCMDA0NgorOjEwODEyMDAwM0FDMDBDQjAwMkVDMDBGQjAwM0U5MTBGQjAwMzkwMDA4RgorOjEwODEzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQkI4MDIzRDdGMQorOjEwODE0MDAwMEI5MDAyM0MxNDhCMDA2QTA4MjhGMDAwQkMwMDgzMDBFRQorOjEwODE1MDAwQkVDMDg4RjAxMzJDMDBFRjAwMkU4MDBCQjAwN0IyMDBEOQorOjEwODE2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQjM0MDIwRDBCQgorOjEwODE3MDAwMEIyODAyOEMwMDgzMDEyMEMwMUFCODAwNkMxMEExMDBFQgorOjEwODE4MDAwNjhDMDJBMzAwMjhDMDBCMzAyMkUwMDRCMzAwMkY4MDQ4MworOjEwODE5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAwQjdBMDIxRTBGOAorOjEwODFBMDAwMEJFQ0MyMUUwNDg3ODAyOUU0MDg3OTgyOUU0MEFGOTBDMAorOjEwODFCMDAwMjlFMDBBMzgwMDFFMDBBNzkwMkQyNDBCNzgwMjg4MDBDMQorOjEwODFDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzUwRkIwOTMwQzBDRgorOjEwODFEMDAwMEYyMDAyOEM0MEMzMDAyMEMwMEEzODAzNEM0NEUxMDA0OQorOjEwODFFMDAwQUFDMDBFMzE0MzhFMDBGMzAwM0MwMDBGMzAwM0QyMDJEMAorOjEwODFGMDAwMDAwMDAwMDAwMDAwMDAwMDQwNERCQzAwRkYyMDNGRDAwOAorOjEwODIwMDAwNEY3MDAzRkMwMEZGMDAzREMwMEZGMzQzRkM0MEQ3MDA1QworOjEwODIxMDAwQkZDMDBERjRDM0ZDNDBGRjAwM0Y0MDBGRjAwM0QwMDY4OQorOjEwODIyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzAwRkIwMDMyRDA1OAorOjEwODIzMDAwMEQ5MDAxRURDMEZCMDAzRUMwMUZCQTAzQUNDMEM4MDBFQQorOjEwODI0MDAwMzJFMDhEQjQ0M0VDMDBGQjAwMzZBMDBDQjAwMzZBMDBCMgorOjEwODI1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjcwMDIxQzgxOQorOjEwODI2MDAwMDg2MDAyREMyMEI3MDAyREMwMEY3NEEyMUMyOEQ2MDBDNQorOjEwODI3MDAwMzVDMDA4NzIwMjVDMDhCNzQ0QTE4MDQ4NzAwMjEyMDA0MQorOjEwODI4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc4MDIwRTRGNQorOjEwODI5MDAwMDk3ODI2REUwMEI3ODAyREUyMEE3MDEyOEM4ODgxODA3MgorOjEwODJBMDAwMjFFMDA5NzgwMkRFMDBCM0EwMjVBMDI4NzgwMjcwMDQzRQorOjEwODJCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAxQkI4MDIwQzA1QQorOjEwODJDMDAwMDgzMDQyRUMwMEIzMDAyQ0MwMEEzMDIyMEMwMDkzMDBBRQorOjEwODJEMDAwMjRDMTA4MzAwMkNDMDBCMzAwMjBFMDA4QjAwMjEyMDQzMAorOjEwODJFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwRkEwOEIyODA4NQorOjEwODJGMDAwMERFMjAzRTgwMEZBMDAzRjgwMEFBMDAzQTgwMENFNTA3OAorOjEwODMwMDAwMzI4MDA1QTAwM0U4MDBGQTAwMzdBODBDQTAwMzdBMDQyNQorOjEwODMxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDA2MDA4RjgwMDNDMDAxOQorOjEwODMyMDAwMEY4ODAxRTAwMEY4MDQzQzAwNEYwMDEzQzAwMEY4MDA4MworOjEwODMzMDAwM0UwMDBGODAwMzYwMDBGODAyM0UwMTBGODAwM0QyMDA3MAorOjEwODM0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjk5MDEyNDAyNgorOjEwODM1MDAwMEM5MDAzQTQwMEM5MDAzRTcwMEU5NDMzMjQwOEM5MDA5OQorOjEwODM2MDAwMkE0MDBCOTAwM0U0MDBGOTAwM0E0MDBGOTAwMzAyMDQwNgorOjEwODM3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk0MjIyNjA2OAorOjEwODM4MDAwMDgxMDAyMjQwMDg5MDMyRTQwMDg5MDAyQTQwMTgxMDRGMQorOjEwODM5MDAwM0U0MDBCOTAwMkU0MDBCOTAyMjI0MDBFOTAwMjIwMDAwMQorOjEwODNBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjk0MDJBNEEwRgorOjEwODNCMDAwMDg5MTAyQTQwMDg5MDAyRTQwMUE5MDBBMjQwNDg5MDAyMgorOjEwODNDMDAwMkE0MDBCOTAwMkU0MDBCMTAwMkE0MDBCOTAwMjA2MDAwNAorOjEwODNEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjEwMUE4NDhBQgorOjEwODNFMDAwODg5MDAyMDQ4MDgxNDAyQzUwMTgxNDBBODQxMDg5NDAxRgorOjEwODNGMDAwMkM0MDBCMTAwMkM0MDAzMTIwMjA0MDBBMTAwQTAyMDE1OAorOjEwODQwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRjA1MDNBMDA4QworOjEwODQxMDAwMkNBMDAyQTE0MkM4MDAzRTAwREUwMDIzMjE0Mjg4MDBCOQorOjEwODQyMDAwMzgxNDBGODUwM0UxNDBGODUwMzgxNDBGMDUwMzJFMDE2RQorOjEwODQzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURFNDA4RkQwMDM2NDRENAorOjEwODQ0MDAwMEZEMDAzNjQ0MEY5MDAzRDUwMEY5NDAzRTUwMDdENDBEOAorOjEwODQ1MDAwM0U0MDBGOTQwM0U0MDBGOTEwM0Y0MDBFOTAwM0U2MDQwMQorOjEwODQ2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNDAwRkQ0MDMzNjhDMworOjEwODQ3MDAwMENEMDAzRTc4MUY5MDAzMzc4MEREODEzMjZBMENEQTBFNgorOjEwODQ4MDAwMzI0MDBEOUIwMzI0MDBGOUEwM0M0NDJDOTAwNzg2MDA0OQorOjEwODQ5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMDAwQjhBMEEyMTAzQQorOjEwODRBMDAwMTg4MDAzODI4NEI4ODAzNjJDMkUwRjAyQTNBMEQ4RTA1NworOjEwODRCMDAwMzYyMjhCMDgwMzQyQTBGOEUwMkUyODA4ODgwMkNFMDQ1QQorOjEwODRDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwQjEwMEEwNTAwQQorOjEwODREMDAwMjgzMDAyQzU4MEIxMDgyMDQwMDkxMEEyNDQwODgxNDgxNAorOjEwODRFMDAwMjA0MDBCMTQwMjA0ODBCMTM4MkM0ODA4MTI4MjgyMDEwQgorOjEwODRGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwQjEwMDIyNDAyQworOjEwODUwMDAwMDg5MjAyRTQwMEI5MDIyNjU4NEE5MDAyRTQwODk5NDAxMQorOjEwODUxMDAwMjY0MDBCOTAwMjY0MDhCOTAxMkM0ODA4OTAxMkM2MDQ0QQorOjEwODUyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjk4MDMyNDA2NworOjEwODUzMDAwMDg5ODgzRTQwNEI5MDEzMDQwMEQ5MDBCNjQwMkM5MDAyRgorOjEwODU0MDAwMzI0MDBGOTAwMzI0MDBGOTAwMUU1ODBDOTAwM0E4MDQzOQorOjEwODU1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkyMDNDNDA0OQorOjEwODU2MDAwMEY5ODAzQTQwMEI5MDAzRTQyOEUxMDRCODQwNEY5MDAxQQorOjEwODU3MDAwM0U0MDhGOTAwM0U0MDBFOTAwM0U0MDBGOTAwM0NBMDBBNAorOjEwODU4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRDgwMDMyMDhBMQorOjEwODU5MDAwMEY4NDgzQTAwNEM4MDQzRTAwODM4MDAxMjAwMEMwMDAzMworOjEwODVBMDAwMzIwMDBGMDAwM0EwMDBDODAwMzIxMDRFODAxM0NBMDQyRQorOjEwODVCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEU5MEEzODAwNQorOjEwODVDMDAwMEJFNDAyMjgwMENBMDAyRjgwNEFBMDEzQTgwMEFBMDBDQQorOjEwODVEMDAwMzY4MTBCQTAwMjI4MDA4QTAwMjI4MDA4QTAwMzhBMDBBRQorOjEwODVFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTNDMDIwRDA4RgorOjEwODVGMDAwMEIzNDAyOEMwMDhCMDAyQ0YwOEIxODAyNEMwMDgzMDA5MworOjEwODYwMDAwNjBDMDBCMzAwMjhDMDI4MzAwMjhDMTBBMzAwMkNBMDAwRAorOjEwODYxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExRTAwQjQwQjY5QzA2MworOjEwODYyMDAwMDk1ODA2MUU4MDk3MTAyRkMyNDg3MDgyOUM4MEE3MDhBOAorOjEwODYzMDAwMjVDQzBCNzAwMjFFODE4N0EyQUJDNDA4NzMwMkU4MDAzMAorOjEwODY0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTEwREM4NDIxRTA4QgorOjEwODY1MDAwMEY3ODQyOUYwMkM3ODgzREUwMkY3MTAzNEUwMENGODAwNAorOjEwODY2MDAwMjFFMjBGNzg4MzlFNDlDRkQwMzlFODBFNzgwM0VBMDJFMQorOjEwODY3MDAwMDAwMDAwMDAwMDAwMDAwMDA4NERBQzQwQ0EwMDM2MDBCOQorOjEwODY4MDAwOEYzMDIzRUNBOEVCNDAzQ0MwMEY5NjQzRUQ4MEZCMDBGRAorOjEwODY5MDAwM0VEODhGQjE0M0VEODBGQjIwMzZDQTBGQjBBMzgyMDZDRgorOjEwODZBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTgwRkM4MDMxRTA1QQorOjEwODZCMDAwMDVBQTEwRkU0NEZGOTAzRkUxQ0ZGOTE3M0YyMEQ3ODA3NQorOjEwODZDMDAwOEJFNDBGRjgwMzNFMzBGRjgwMzdFMDBGRjgwMDQwMDBFNgorOjEwODZEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQkQxMDIxQzAyNworOjEwODZFMDAwMDg0QTAyRENDMEI3MDAyREMyMENEMzAyMUM4MDg3MDBGMAorOjEwODZGMDAwMjlDMDRCNzIwMjFDMDBCNzAxMjFDMDBCRjAxMjJBMDRFMgorOjEwODcwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzkwMzQwMDIxODAwOAorOjEwODcxMDAwMDk3MDAwNUMwQ0I3MDAyREM0MDg1MDFBMEMwMDk3MDBCQgorOjEwODcyMDAwMjFDMDRCMzAwMjFDMDBCNzAwMjVDMDBCNzAwMjQwMDA3NgorOjEwODczMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzAwQjAwMDYwMDAwOQorOjEwODc0MDAwMDgzRTAyQ0MwMEIzMDIwQ0UwMkJCMDAyMEMwMDkzMDBGOAorOjEwODc1MDAwMjhDMDBCQjAwMjJDMTBCMzAwMjBENjAzMzAwMjA4MDQ0RQorOjEwODc2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwRkIwMEIyMDBCMworOjEwODc3MDAwMDVCRTAzN0MwMEZGMDAzRTIwMENCMDAzM0MwMEQ5ODAwNgorOjEwODc4MDAwMzNDMDhCRjAwMzNDMDBGRjAwMzdFMDBGRjAwMzZBMDRCNgorOjEwODc5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwNDNFMDBEMAorOjEwODdBMDAwMEZBNDIzQ0MwMEZCMDAzRTgxMDg5MDAzRUMwMEU5MTRFOQorOjEwODdCMDAwM0VDMDBGQjAwM0VDMTBGQjAwM0VDMDBGQjAwM0UwMDA2MgorOjEwODdDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkYwMDM3ODBCNgorOjEwODdEMDAwMEZGQTAzRkMwMENGMDAzRjkwMDZEQzIzM0MwMEZEMTBBNQorOjEwODdFMDAwMzNDMDBGRjAwQjNDMDA0MzAwMzNDMDBGRjAwM0MwNDQxNAorOjEwODdGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDA2QzA5QkIxOTIyMzIyQgorOjEwODgwMDAwMEJCRTAzNkMwMDhCMDAyQzkwMERCODAyQUMwMEIxMDBDNQorOjEwODgxMDAwRjJDMDBCQjAxMkFDMDA4QjAwMjJDMDBCQjAwM0EwNDAyMgorOjEwODgyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzEwQjMwMDI2MjA3RQorOjEwODgzMDAwMEI5MDEyRUMwMThCMDAyQUMyMEE5MDAyMkMwMEJCMDBBNAorOjEwODg0MDAwQTJDMDBCQjAwMjJDMDBBQjAwMkFDMDBCQjAwMkUwMDBBQgorOjEwODg1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAxQjMwMDIwMDBFQworOjEwODg2MDAwMEIwMDAyOEMwMDgzMDAyRUMwMEIzNDAyOEMwMEJCMDA3NgorOjEwODg3MDAwMjBDMDBCMzAwMjBEMDBBMzAwQTBDMDBCMzAwMjgyMDEwQgorOjEwODg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQkIwNDM2ODBGQQorOjEwODg5MDAwMEZCMjAyRkMwMkNGMDIzOEMwMEVGMDAzM0MwMEZCMDAxNgorOjEwODhBMDAwMjNDMDBGRjAwMzNEMDJFRjAwMzNDMDBGRjA0M0MwMDNCRAorOjEwODhCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDNGMDA3MQorOjEwODhDMDAwMEZGNDIzN0MwMEZGMDAzRkMwMEREMDAzRkMwMEZGMDAyRAorOjEwODhEMDAwM0JDMDBGRjAwM0ZDODhERjAwM0ZDMDBGRjAwM0E4MDY4OQorOjEwODhFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMDUwQ0UxMjMzRDAzMAorOjEwODhGMDAwNEM4NjgzMzA4MDVGNjgzM0M0MEZGMzgzM0NDMENDMzgzMAorOjEwODkwMDAwQjMwODBDQzYwM0YxQTBGRjAwMzMyNDBDQzIwM0YwMDAyRgorOjEwODkxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQzgwRDIyMDIzRDhGRQorOjEwODkyMDAwMEQ5NjAyODg2MEFGNDAyM0RDMEJGNjAyM0NDMjg4NjBFMworOjEwODkzMDAwMjI1MjA4OTEyMkUxMDBCNzI0QTI0ODhBODQ4MjYwMDQ2RQorOjEwODk0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDAwODEwMEUwQzQ4MQorOjEwODk1MDAwMEEwMDAyMDQ4MEEzMjBBOEMwMUIzMDBBMEMwMEEwMDA1QgorOjEwODk2MDAwMjgwQzA5MDIwMkM0ODBCMzFDMjIwODE5MDMwMkUyMTE3OAorOjEwODk3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBNDAwOTk4MDYyQzBEMworOjEwODk4MDAwMEJBMDMyQTQ1MUFCMDAyQUMwOEJCMDAwMEMwMEE5QzBEMAorOjEwODk5MDAwMkEyMTA4QjgyMkUyMDBCQjAwMjI4NDFCQTg0MjcwMDRFRQorOjEwODlBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFMjAwQ0JDOTMyQzBBQQorOjEwODlCMDAwMEU4QjEzMjIxMERCMDEzMkMwMEZCMDBCMkMwMDY4ODEyQworOjEwODlDMDAwM0EyMjJDODgyM0UzMDBGQjAwMzAzMDhEOUM4M0QwMDRCNgorOjEwODlEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQTQwRjcwNDNFQzI1MQorOjEwODlFMDAwMEREODIzRDgwMDdCMDAzN0MwMEY3MDMzRkMxMEQyMDBBNQorOjEwODlGMDAwMzVDMDhGQzAwM0Y0MDBGNzAyM0ZFMDBFODAwM0Y4MDA5QgorOjEwOEEwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTA4MTIwQzgwODMwQzA1NQorOjEwOEExMDAwMEMwMDgzMjQ0MEMzODkzQUMwMEVCMDBCMkMwOEM5NDgwRgorOjEwOEEyMDAwNzI1NDBGOTEwM0VEMDJFQjhBM0E2MjhDODAwQjEwMDRCMgorOjEwOEEzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQjA0ODg0MEEzQzJFRAorOjEwOEE0MDAwMDJBRTEyMjc0MjhGNDQyM0MyMEJGNDAyM0QwMDBBNDBCQgorOjEwOEE1MDAwMjJFMDBCQjUwMkVDMjA4RjQ0QTI0MDhEQkQyMzMyMDBGMgorOjEwOEE2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0OTQwODM4MTI0QzE2RgorOjEwOEE3MDAwMDgyODAyMDEwMDkzMDBBMEU4MEEzMDgyOEY2MEIzOTBCQQorOjEwOEE4MDAwNjBCODBCMjgxMjRBMDA5MzAwMjA5MDA5MjAwMjc4MDA1OQorOjEwOEE5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTAyODdBODI1RTAxMQorOjEwOEFBMDAwMEE3QjAyMUEwNDg3ODAyMUU0MEI3ODgyOEUwMjk2OTE1OQorOjEwOEFCMDAwMjEyMTBCNjk0MERCNDA5NzkyMjNBMDg5NTg4MjA4MDA0RQorOjEwOEFDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgyNTgyQzMwMDM0QzBCOAorOjEwOEFEMDAwMEM5QjQzMDhEMEQzMjAzOEMwMEVCMDAzOEMwMEIzMDBFOQorOjEwOEFFMDAwMjA4MDA3MTAwM0UwMDBEMzEwMzgxODBEMzAwMzUyMDIyNQorOjEwOEFGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCNDAwN0YyMDFCRDBEQgorOjEwOEIwMDAwMEZGMTAzRjg0MEVGMDAzRkMwMEZCNDAzN0MyMENGMDQwNworOjEwOEIxMDAwQkY0MDBGRjAwM0U0MTBFRjE4M0RDMDBGRTAwM0QwMDY5NAorOjEwOEIyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAwRTMwMEIyQzRGNworOjEwOEIzMDAwMENBMDAzMjQwMERCNjgzMkM4MENCNDAzRUM4MEM4ODBBRQorOjEwOEI0MDAwQjZFMDBDQTAwMzJFMDBDQkUwQjI2MDBDQjgwQjJBMDBGQworOjEwOEI1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAyODcwMEExQzhCRQorOjEwOEI2MDAwMDg3MDAyMUMwODk3MDIyMUQ0MDg3NDAyRENDMDA3MDBCOAorOjEwOEI3MDAwMjFDMDg4NzAwMjE4MDA4MzA4MjFDMDA4NTAwMjEyMDQyNgorOjEwOEI4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTIwQUQ4MDI5RTBEMQorOjEwOEI5MDAwMDg1ODAyMUUwMDk3QjAyMUU4MDg3ODAyREUxMDE1ODAwMAorOjEwOEJBMDAwMjFBMTA4NDgwMjVFMDA4N0E0NjVBMDA4NzgwMjMwMDA3MQorOjEwOEJCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRjEwODE3MEE4QzAwMQorOjEwOEJDMDAwMzgzMDBBMEQwMDkzMDBBMEMxMjgzMDAyQ0MwMjgzODhGRgorOjEwOEJEMDAwMjBFMDM4MzQwQTRENzI4MzAwMjRFODI4MzQ4MjEyMDRERAorOjEwOEJFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQTQwRUVDMEJBODA3NgorOjEwOEJGMDAwMENFMDAzMzkxMERBMDAzMjgwMENBMDAzRTgwMERFQzg3NAorOjEwOEMwMDAwMzNBMDBDRTAwMzdCMDBDQTAwMzdCMTBDRTQyMzNBMDQyNAorOjEwOEMxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBDMTAwRjgwMDM2MDBCRAorOjEwOEMyMDAwMEY4MDAzQzAyMDM4MDAzRTAwMEYwMDAzRTAwMEY4MDI3MAorOjEwOEMzMDAwM0EyNDBGODA4M0EwMDFGODA0M0EwNDBEODAxM0QyMDA3NworOjEwOEM0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDQ0QzEwMDMyNDA4MQorOjEwOEM1MDAwMEM5MDMyMjQwQ0MxMDYzODQwMEQ5MDA5MDQwMEQ5MDA1NAorOjEwOEM2MDAwM0U0MDBGMTgwMzI0MDBGOTAxM0U0MDBGOTAwM0MyMDQ1OAorOjEwOEM3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA2ODkwMDJBNTBEMworOjEwOEM4MDAwMDg5NDBBMjQwMDg5NDIyMjUwMEE5MDEyMjUwMDg5MDA4MworOjEwOEM5MDAwMkU1MDBCOUMwQTI1MTBCOTAwMkU1MDBCOTAwMkUwMDBCQworOjEwOENBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDIwODkwMDIwNDI2OAorOjEwOENCMDAwMDgxMEMyQUMxMDg5MDgyQTQyMDk5MDAyMjQyMDk5MDBBOQorOjEwOENDMDAwMkU0MjBBQjE4MjJDMjBCOTAwNkU0MjBCOTAwMkM2MDBERgorOjEwOENEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwODMwMDI4NDg1MQorOjEwOENFMDAwMDgxMjYyOEM4MDgxMDAyMDQwMDIxMDAyODQ4MDgxMjA2MgorOjEwOENGMDAwMkM0OTBCMTIwNjA0ODRCMzAyNkM0MDBCMTIwMkMyMDExMQorOjEwOEQwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ0MUUwQzg3ODMwMTRGOQorOjEwOEQxMDAwNEMwNTEzQTE0MkMwNzgzODFFMEQ4NzgzMDE0MEQwNTAwNgorOjEwOEQyMDAwM0MxNDBFMDUwMzAxNDBGODc4M0MxNDBGMDUwM0VFMDNENAorOjEwOEQzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGQzAwRkYwMDBFNDRFMQorOjEwOEQ0MDAwMkZGMTAzNzQ0MEY5MDAzRTQwMEQ5MDAzNjQ0MEZEMTA4NAorOjEwOEQ1MDAwM0Y0NDBGRDEwMUY0NDBGOTAxM0ZDMDBGRDEwM0U2MDZCMworOjEwOEQ2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVFNjIyRTk4OEIyNDAwQgorOjEwOEQ3MDAwMEY5MDAzMjQxNkM5OEMzNjdCOEY5QzgzQTc5MEM5MDA2MworOjEwOEQ4MDAwM0U1MDA0OTQxMzI0NTBDOUUwM0U1MDBGOTAwMzA2MDA1NworOjEwOEQ5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMjgwODhBMDIyMjg0NworOjEwOERBMDAwMEI4QTAyMkE4MDg4QTQyMjMwMDg4RTBBMjIwMjg4QTAxOAorOjEwOERCMDAwMkUyODg4QUExMjIyOTA4OEY0MkUyMDBCQzgwMjBFMDRCNgorOjEwOERDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVENDIwQTUwODIxNDI2MgorOjEwOEREMDAwMEI1MDgyMTQzMTg1MDgyNTQwMEE1MDIyOTQ0MDg1MDhBMgorOjEwOERFMDAwNkQ0MDA4NTAwMjU0MDI5NTAwMkQ0ODBCNTA4MjQyMDFGQworOjEwOERGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTU4NDAwOEQxMDIzNDA1MgorOjEwOEUwMDAwMEJEMDAwMzQwMThEMDAyMzQxNThEMDAyMzQwMDhEMDg2RQorOjEwOEUxMDAwMkY1MDA4RDIwMjc0ODA5RDAwMkY0ODBCREMwMjQ2MDRCQworOjEwOEUyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNzQwRTlDMDMyNDBFQgorOjEwOEUzMDAwMEY5MDA5MjYwMEM5MDQzNjQwMUY5MDIzQTQwOEM5NDA5QQorOjEwOEU0MDAwM0U0MDBDOTQwQjY0MjBEOTAyM0U0MTBGOTQwMzY4MDQwOQorOjEwOEU1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjk4MDNFNDBERQorOjEwOEU2MDAwMEYxNDAzQzUwOEY5MDAzRTQwMUY5MDIzRTQwMEY5MDBFOQorOjEwOEU3MDAwM0M0MEFGOTgwMzg2MDBFOTAwM0U0MDBGMTAwQjhBMDA4QgorOjEwOEU4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBCMDAwREM0MEIzMDBDQgorOjEwOEU5MDAwMEZDMDAzMzEwMkM0MDRCMTAwM0M0MDAzMTAwMEZDNDA4OQorOjEwOEVBMDAwMzMwMDBDQzQwM0IxMDBDQzAwQjMwMDBDQzQwM0NBMDRFQgorOjEwOEVCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwOEE4MDIyQTA3MQorOjEwOEVDMDAwMEJBMDAyMkEwMDhBODQyMkExMDhBMDAyMjgwOEJBMDE2NQorOjEwOEVEMDAwMjI4MDA4QTAyQjI4MDA4QTgwMkE4MDA4RTAwMkNBMDA4RAorOjEwOEVFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAyOUI4MTIwRTBBQgorOjEwOEVGMDAwOEIzODA2Q0UwMDkzODAyMEMwMDgzODAyMEMwMEIzODA2NworOjEwOEYwMDAwNkNFMDBBQjAwMjRDMDA5MzAwMjBFMDA4MzAwMkNBMDA3NgorOjEwOEYxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExMDA0ODAwODIxMDJBMQorOjEwOEYyMDAwNEI0NDA2RDAyMDkwMDgyMTAyODA0NDAyMTAwMEI0QzBCNworOjEwOEYzMDAwMkQxMDQ4NDAwMjAwMDA5NDg5MjkzMDA4NDAwMkU4MDBDMgorOjEwOEY0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzMjAwRDY4MDMxQTBEOAorOjEwOEY1MDAwMEZFODBCQ0EwMEQ2ODAyM0EwMDRGODBCMUEwMEZGODA4QworOjEwOEY2MDAwQkZBMDJFQzgxM0RBMDI1RTgwNzNBMDJDNzgwM0VBMDIzOQorOjEwOEY3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjkwMDNFNDBBOQorOjEwOEY4MDAwMEY5MDAzMjQwMEU5MDAzRTQwMEU4MDAzRTQwMEY4MDA0NworOjEwOEY5MDAwMzI0MDBGQjAwM0U0MDFFOTA0MzY0MDBGODAwM0MyMDZGQgorOjEwOEZBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwQ0Q4MDMzNjA3RQorOjEwOEZCMDAwMENEODQzMzYwMENEODAzMzYwMENEOTIzQkUwMDREODBFMQorOjEwOEZDMDAwMzM2MDA4RjgwQjNFMDBGRDg0M0Y2MDBGRjkwM0MwMDBEQQorOjEwOEZEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5MDA0REUwMDIzODA1MworOjEwOEZFMDAwMDg2MDAyQjgyMDhFMDQyMzgwMDg2ODAyMTAwMDhFMjBEQQorOjEwOEZGMDAwMjM4MjA4NDAwMjEyMDBGNjAwMkQ4MDBCNDFBMEVBMDRGMworOjEwOTAwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5MDAwODQwMDIxMDBDQgorOjEwOTAxMDAwMDg0MTAyNTA0MDk0MDAyMTAwMEE1MjAyRDgwMDg1MDIwMworOjEwOTAyMDAwMjUwNDA4NDAyMjE4MDhCNDAwMkQxMDBCNzg0MEMwMDAxOQorOjEwOTAzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRFRTIyOTMwMDIwQzA1OQorOjEwOTA0MDAwMDgzODAyRUMwMDkzMDAyMEMxMkEyMDAyNjQwMjgyMTAzQQorOjEwOTA1MDAwMjRGMDBBM0M0MjI0MjhCMzAwMkNFMDBCODg4MkM4MDQ4OAorOjEwOTA2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBRDAwQ0IwMEIyQzAyOQorOjEwOTA3MDAwQUNCRTAzNkUwMkRCMDBCMkMwMUVBMDAzRTQwMENBMTE0NgorOjEwOTA4MDAwQjZEMEFDQkMwMzI0MDBGQjAwM0VDMENGODQwM0VBMDQ4RQorOjEwOTA5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFMDQwRjgwMDNDMDA5QworOjEwOTBBMDAwMkY4MjAzQTAwMEU4MDAzRTAwMUQ5MDEzQTgwMEY5MDBFNQorOjEwOTBCMDAwM0EwMDgxODM0M0U4MDBFODAzM0UwNDBGQjAwM0UwMDA3OAorOjEwOTBDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBFMDAwRDYwMDM3ODBGMgorOjEwOTBEMDAwMENBMDAzRjgwMENFMDAzMzgwMERBMDEzMjAwOENFMDBCMgorOjEwOTBFMDAwMzM4MjBDNDA3MzMwMThDRTAwMUY4MDRGQzE0MzAwNDRDMAorOjEwOTBGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ3QzAwOEQwMDIzNDA0RgorOjEwOTEwMDAwMEFEMDAyRjQwMDhEMDAyMzQwMDhENDgwM0U0MjhENDBGNgorOjEwOTExMDAwMjM0MDA4RjAwMjNFNDA4RDAwMEY0MDBCRjQwMjIwNDAzNworOjEwOTEyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOTkwMEE2NDBGRgorOjEwOTEzMDAwMDg5MDA2RTQwMDkxMDAyMDQwODgwMDAyMjQwODgwNDA0NgorOjEwOTE0MDAwMjA0MDBBQjAwMjI0MDA4OTAwMEU0MDBCODQwMjIwMDA1NworOjEwOTE1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAwODIwMDIwODBBMQorOjEwOTE2MDAwMEEyMTA2QzgwMTgyMDAyMDgwMDgzMjgyMDgwODgzMDA5NAorOjEwOTE3MDAwNjA4MDBBMDAxMjA4ODA4MjAwMkM4MDBCMzAwQTAyMDFGNQorOjEwOTE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2MDAwRDgwMDM2MDA2NAorOjEwOTE5MDAwMEM4NDIzRTAwMEM4MDAzMjAwMEQ4MjBCMjAwMkM4MDBCRQorOjEwOTFBMDAwMzIwMDBFMDAwMzIwMDJDODAwM0UwMDBGODAwMzAwMDNCRgorOjEwOTFCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwQkYwMDNGQzBFOAorOjEwOTFDMDAwMEZGMDAzRkMwMEZGMDBCRkMwOEZCMDAzRkMwOEZGMDJEQworOjEwOTFEMDAwM0ZDMDBERjAwM0VEMDBGRjAyM0ZDMDBGRjAwM0U4MDZCMworOjEwOTFFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDFGMDhDRkYwMDNENjAzNgorOjEwOTFGMDAwMkNCMjgzN0M5MERGMzgzMUUwMEZGODAzM0MwMEZGMjA3NQorOjEwOTIwMDAwM0ZDNDBFRjQwMzdDMDBGNDgwMzMwMDBERjgwM0YwMDAzQgorOjEwOTIxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMTIwQkI2MjJFNDJDMAorOjEwOTIyMDAwMjhGNDQyM0U0MDhGNDQyMkUwMEJCMDgzN0Y0NEJGQzEwQworOjEwOTIzMDAwMkREQzJBRjYwMjNGNDVCODgwMjI2MTg4QjgwMkUwMDQ5RQorOjEwOTI0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNTgwQjIxODJFQzg1QworOjEwOTI1MDAwMjkzMDMyMEMwOEIzMjAyMEMwNEI5MjAyMEMwMEIzNDBERQorOjEwOTI2MDAwMkNDMDg5MzQxMjRDMDBCMDAwMjRDMTQ5MzAwMkUyMDEwNAorOjEwOTI3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTFBNDAwQkEwQzJFRTAzNQorOjEwOTI4MDAwQTlCMDA2MkMwMDhCMDBBMkMwMEI5MDAwNkMwMEJCMDBBNAorOjEwOTI5MDAwMkVDMDBCMzAwMjZDMDBCQTgwMjZGMDA4QjAwMkYwMDQzOQorOjEwOTJBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTFFRTAwRkJDNDNFNzhBQQorOjEwOTJCMDAwMkRCMDAzNkMwOEZCMDAzMkMwOEIyNDgzMkMwMEZCMDAxNAorOjEwOTJDMDAwM0VDMDhGQjAwQjZDMDhCMkUwMTY2MDhEQjAyM0QwMDRBNgorOjEwOTJEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCRTk4RkY0MDNGQzBBOQorOjEwOTJFMDAwMEU3MDAzREMwMEZGMDAzRkMwMEZFMDAzRkMwMEZGMDAzNgorOjEwOTJGMDAwM0ZDMDBFRjAwM0FDMDBGRTAwQjlDMDBGRjAwM0Y4MDA1MQorOjEwOTMwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBRDAwRkE0MDNFRDBCOAorOjEwOTMxMDAwMEVCMjAzRUMwMEMzMDAzRUMwMENBMDAzMkMwMUZCMDAwNgorOjEwOTMyMDAwM0NDMDBFQjgwM0VDMDBEQTAwM0FEMDRGQjAyM0QwMDRCMgorOjEwOTMzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQkEwMDJDQzA2RQorOjEwOTM0MDAwMDhGNDA3QkMxNERGMDAzRUMwMUFBMDUyQkMwMEJGMDRFMgorOjEwOTM1MDAwM0ZDMDhBRjAwM0JDMDBGQTAwMjJDODBGQjAwM0YyMDAzRAorOjEwOTM2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0ODAxQjEwMDZDQzJCMAorOjEwOTM3MDAwMEEzMDQyQ0MwMDgzMDUyQ0MwMDgzMDAyOEMwMUIzMDRCMworOjEwOTM4MDAwMkNDMDBBMzAyMjhDMDA4MDgwMjhDMDBCMzAyMkY4MDBDQworOjEwOTM5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTA4Qjc4MDZGRTBCMAorOjEwOTNBMDAwMTg3ODAyOEU0MEI3ODAyREUwMEE3ODAyOUUwMEI3ODBDMAorOjEwOTNCMDAwMjlFMTBBNzgwMjlFMDFCQzgwMjlFNDBCNzgwMkM4MDBFQQorOjEwOTNDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwOTQwRjEyMDNDQzRCMworOjEwOTNEMDAwMEUzOTAyQ0MwMEMzMDAyQ0M0MDg5MjAzOEM4OEIzMTA1MQorOjEwOTNFMDAwMkNDNDBFQjAwNzhDMDBDMjA4MzhDMDBGMzA0M0QyMDIyNAorOjEwOTNGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzEwRkMwMDdGQzAwOQorOjEwOTQwMDAwMEZGMDgzRkMyMURGMDgzQkMwOEY5MDAxRkMyMUZGMEM5MworOjEwOTQxMDAwM0ZDMjBGRjEwM0VDMDBFRjAwNzdDMDFFRjAwMzkwMDY4RgorOjEwOTQyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFODAxRjkwMDMyQzA1QgorOjEwOTQzMDAwMEZCMjAzRUU5MERCRTEzQUMwNEQzODEzMkQzMEZCMDA0NAorOjEwOTQ0MDAwM0VFMDRGQkE0MzJDNDBGQTAwM0ZDMDhDQjAwM0VBMDAyNAorOjEwOTQ1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwQjEwMDIxQzAxNQorOjEwOTQ2MDAwMEI3MTAyQ0MyMEE3MjgyMUMwMEI3MDEzNUMwOEI3MTAyOQorOjEwOTQ3MDAwMkRDNDRCMzQ4MzFDQzFCNzAyMkRDMDFBNzAwMkQyMDQxNAorOjEwOTQ4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QTIwQjRDNDI1QTJDMworOjEwOTQ5MDAwMEI3ODA2REUwMDgzODAyOUUwMUJGODAyNUU4MEE3QTAxRgorOjEwOTRBMDAwMkRDODBBNzIwMjFFMDBBNjgwMjhFMDA4NzgwMkYwMDA4QgorOjEwOTRCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRFRDAwQjM0MDI0QzM2OQorOjEwOTRDMDAwMEIzMDQyQ0MwMEEzMDAyMEMwMUIzNDAyNEMwMEIzMDA4MAorOjEwOTREMDAwMkNDMDRCMzAwMjBDMDBCMzg4MkNENDBBMzAwMkQyMDRDQQorOjEwOTRFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODAwRkU0MEI3QTAwMgorOjEwOTRGMDAwMEZBMDAzRTgwMERBMDAzQTgwMEZFMjAzNjgwMEZBMDBFOAorOjEwOTUwMDAwM0U4MDBGQTAwQjI4MDBFRUUwM0ZCMDA0QTAwM0ZBMDQ1OQorOjEwOTUxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDA0RjAwODNBMTA3RAorOjEwOTUyMDAwMEY4NDAzRTAxMEY4MDAzRTAwNEY4MDgzRTAwMEY4MDA1NQorOjEwOTUzMDAwM0MwMDBGODAwMzgwMDBGODQwM0UwOTBGODAwM0QyMDBGQQorOjEwOTU0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDIwRTkwMDMyNDQ3MAorOjEwOTU1MDAwMEM5MDAzMjQwMEY5MDAzRTQwMEY5MDEzRTQwMEI5MDA4MgorOjEwOTU2MDAwMUU0MDBDMTAwMzI0MDBDOUEwM0M2NDBDOTAwMzgyMDQyQworOjEwOTU3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODkwMDIyNjhDMAorOjEwOTU4MDAwMDgxMzAyMjQwOEY5MDAyRTQ4MUI5MDAyRTQwMEI5MDBEOQorOjEwOTU5MDAwM0U0MDBDOTAwMjI0MDhGOTQwMkU2MDBBOTAwNkUwMDAzQworOjEwOTVBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDEyNDAwQTkwMDIwNDA2NQorOjEwOTVCMDAwMDg5MDAyMjQwMEI5MDEyRTQwMEI5MDAyRTQwMEI5MDA4QgorOjEwOTVDMDAwMkU0MDA4OTIyMjI0MDA4OTAwMkU0MDA4OTAwMkM2MDBGNgorOjEwOTVEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgwODEyMUUwNTBFOQorOjEwOTVFMDAwMjgxNjBBMDQ4MEExNDAyQzQwNEIxNDIyQzQwMEIxMDA2QworOjEwOTVGMDAwMkM1MDA5MTQwMjA0MDRCMTAwMkM0MDBBMTAwMkMyMDFDQworOjEwOTYwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRTg1MDMyMDA4QQorOjEwOTYxMDAwOEM4MDAyMjAwMEI4MDAzRTAwMEI4MDMzRTAxMEY4MDA4MAorOjEwOTYyMDAwM0UwMDBDODAwMzIwMDhDQTAwM0UwMDBDODAwM0FFMDNGRAorOjEwOTYzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGQzQwRkQxMDJGNDE2QworOjEwOTY0MDAwNEY5MTAzRTQ0MEY5NDAzRTQwNEZEMDYzRTUwMEY5NDBCQworOjEwOTY1MDAwM0E1MDJFOTQwMzY1MDBFRDAwM0Y1MDBGOTAwM0U2MDY0QworOjEwOTY2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVFNjAwRjlFMDMzNTAxQgorOjEwOTY3MDAwMENEQTAzQTYwMEQ5ODAzRjQwMEY5MTAzQTYwMEY5ODhCOQorOjEwOTY4MDAwM0U2ODBDREUwMzY2MDBFRDAwM0I2OTBDOTAwM0M2MDBFQgorOjEwOTY5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMTA4QjhFMDIwMjA1MQorOjEwOTZBMDAwMTg4RTI2RTEwMDgwQTAyRTAwNEI4ODQyRTE1MEI4NDA4MQorOjEwOTZCMDAwMkUyQTBEMEEwMjIwMDhCODAwMkUxNDBEODAwMkNFMDRCNgorOjEwOTZDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNTAwQjE2MDIwNDAyNworOjEwOTZEMDAwMDgzMUEyQzUwMDkxNDgyQzQwMUIxMjAyODQwMEIxMDA0MQorOjEwOTZFMDAwMkM1MDA5MTYwMjA1MDBBMzA0Mjg0MDA4MTAwMkMyMDFFQworOjEwOTZGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVBNDAwQjkwODIwNzBFOAorOjEwOTcwMDAwMjg5MDAyRTQwMDg5MDAyRTQwMEI5MDAyRTQwOEI5MDM3RgorOjEwOTcxMDAwMkM0MDI5OTAwMjY0MDBCOTAwMkU2MjA5OTAwMkM2MDQxMAorOjEwOTcyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMDVFNTAwRjlEMEIyNzA2NAorOjEwOTczMDAwMDg5MDAzRTQwMEQ5MDQzRTQwMEY5MDAzQTQxMEY5MDJGRQorOjEwOTc0MDAwM0U0MDBEOTAyQjY0MDBFOThEM0E2MDBDOTAwM0U4MDRENAorOjEwOTc1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjk4MDNFNDJEMworOjEwOTc2MDAwMEY5MDAzRTQwMEY5MDAzRTQwMEY5QTAzRTQwMEY5MDA3MworOjEwOTc3MDAwM0U0MDJGMTAwM0E0MDBGOTIyM0M0MDRGOTAwM0NBMDA0MgorOjEwOTc4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MDBBMDAwRjA0MDMyMDA0RgorOjEwOTc5MDAwMEM4MDAzQzAwMEY4MDAzMjIwMUY4MDAzRTAwMEM4MDBFNgorOjEwOTdBMDAwMzIwMDBDODAwMjIwMDBDOEMwM0UwMDBDODAwM0NBMDRCNgorOjEwOTdCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MTUyODEwQkEwMDIzQTA5NworOjEwOTdDMDAwMEFFNDAyRTgwMEJBMDAyQkExMEJBMDAyRTgwMEFBMDBGQworOjEwOTdEMDAwMkE4MTBBQTAwM0U4MDhERTAwMkU4MDBBQTAwMkNBMDAzRgorOjEwOTdFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjMwNEEwQjFCOAorOjEwOTdGMDAwMDgzNjIyQ0MwMEIzMDAyMEU0MEIzMDAyQ0MwMDgzMDBGQQorOjEwOTgwMDAwMjBDMDA4MTgwMjBDMDA5MTAxMkNDMDA4MzAwNkNBMDBDNAorOjEwOTgxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQ0M4QjMyMTIxQzJCQworOjEwOTgyMDAwMkE3MDAyREMwMEI3QTAyOUMwMEI3MjAyQ0UwMEE3ODEwQgorOjEwOTgzMDAwMjlDMDRBNzQwMkZFMDA5NzAxMkNDMDBBNzAxMkU4MDA4OQorOjEwOTg0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTgwRjdDMDMxRTBDMgorOjEwOTg1MDAwMEM0ODAzREUxMUY3ODAyMUUwMEI3QTAzREUwMEMzODBBMQorOjEwOTg2MDAwMzNEODZDNzgwMzNFMDBENjgwM0RFMDBDNzgwM0VBMDJFMgorOjEwOTg3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MERBQzA4RkI4MDNFQzBBNgorOjEwOTg4MDAwMEZEMDAzRUMwNEZCM0MzRUMwMEZCNjA3NkMwMUZCMDA5RAorOjEwOTg5MDAwM0VEMDBGOTQwN0VDMDFFQTAwM0VDMDBGQjAwM0MyMDZCMQorOjEwOThBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDFGRTAwQ0ZBNDNCNjA0QgorOjEwOThCMDAwMDhEOTAzN0UwMENGODAzRjI1NEZGQzg3QkUwMENGODBCNAorOjEwOThDMDAwN0ZGQzBDRkMwMzdDMDBGNjkwMzNFMDBGRjgwM0MwMDAzMworOjEwOThEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzA4OEYyODIxNDBBMworOjEwOThFMDAwMDhEMDAyMUM0MEE3MjAzMTA0MUI3ODAyREM4MEQ3MDA3RQorOjEwOThGMDAwMkZDNDFBRDAwMjFFNDhCNjAwNjFDMDBCNzAwNkVBMDRERAorOjEwOTkwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA4QzAwODczMDY5NDQwNworOjEwOTkxMDAwMDg1MDIyMEMwMDg3MDEyRDQ0OEI3MDA2OEMxMDg3MDBBNAorOjEwOTkyMDAwMjlDOTA4NTAwMjFDNDRBNjAwNjFDMDBCNzAwMkMwMDA4NworOjEwOTkzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDRDAwODM4ODYwNDA1QgorOjEwOTk0MDAwMDAxMDAyNEMwMDJCMDAyQzQxMUIzMDAyQ0MwMDkzMDA3NQorOjEwOTk1MDAwMkNDMDBBMzA0MjBDMDBCMjQwMjBGMTBCMzAwMkM4MDQ4NworOjEwOTk2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCRDQxQ0ZDMEJBRjBEMworOjEwOTk3MDAwMjg5MDFCNkMwOENGMDAyQ0MwMEZGMDAzQUMwMDhCMDBBQworOjEwOTk4MDAwM0ZDMDZDQjA0QjJDMDFGQjQwMjJDODBGQjAwM0VBMDQ2RgorOjEwOTk5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzA0RkIwNDNGRDRFNQorOjEwOTlBMDAwMEYxMDAzQUMwMEZCMDAzMkMwNUZCMDAzRUMwMEZCMDRGRgorOjEwOTlCMDAwM0VDMDRGMTAxM0VDMDBGQjg4M0VDMDRGQjAwM0UwMDBFOAorOjEwOTlDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQzcwMDMzNjIxRQorOjEwOTlEMDAwMENDMDBCM0MwMEVGMDAzM0UwMUNGMDEzM0MwOEY3MDAxOAorOjEwOTlFMDAwMzFDMDBFRDgwM0JDMDBGRTAwM0RDNjBDRjAwM0MwNDRERAorOjEwOTlGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzAwQ0IwMzIyNDcwRgorOjEwOUEwMDAwMDg5ODQyMkMwMDlCMDAyQUMwMEFCMDAyMkMwMEJCMDQxQworOjEwOUExMDAwMkFDMDBBQjAwMkFDMDhGQTAwMkU2MDA4QjAwMkUwNDA4QQorOjEwOUEyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOUIwMDIwNDA3QQorOjEwOUEzMDAwMDg5ODAyMkMwMEJCMDAyMjg4MDgzMDAyMkMwMEJCMDBEMgorOjEwOUE0MDAwMjJDMDhBOTIwMkFDMDBBQTgwMkVDMDA4QjAwNkUwMDBCNAorOjEwOUE1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODMwMEEwNDA0QgorOjEwOUE2MDAwMDgxMDAyMEMwMEIzMDAyODgwMEEzMjEyMEMwMEIzMDQ2NAorOjEwOUE3MDAwMjhDMDBBMzAyMjhDMjBCMjAwMkNDMDA4MzAwMkMyMDE1QgorOjEwOUE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAyQ0IwMDMwNDAyMAorOjEwOUE5MDAwMUM5NDAzMkMwMEVGMDAzMkMwODhGMDhCMkMwMEZCMDBEQworOjEwOUFBMDAwMzNDMEFFRjAwM0FDODBFQTAxM0VDMDJDQjAwM0MwMDM2QgorOjEwOUFCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkYwMDJGNDAyRgorOjEwOUFDMDAwMDdEMjgzRkMwMERGMDQzRkMwMEZCMDAzRkMwMEZGMDA5RgorOjEwOUFEMDAwM0ZDMDBGRDAwQkVDMDBFRTAwM0Y0MDBGRjAwM0U4MDY1NAorOjEwOUFFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGNTAwQ0YwODNGNDhFRQorOjEwOUFGMDAwMEZDMzkzNzBEMERDMzAzRkQ4MENCMjAzM0NDMEZGNDBBMgorOjEwOUIwMDAwMzNDNDJDRjEwMzYyNTBGQzM0MzMwMDBGNUMwM0YwMDBDQgorOjEwOUIxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBDNDgwOEIwMDJGNUFFRAorOjEwOUIyMDAwMEJBNjEyMjFDMDg5NzAyRkRDMDhGMkMyM0REMEJGNDBDNQorOjEwOUIzMDAwMzdEQzg4RjUwQTIwODBFODEwMkExNjBCOTAwMkUwMDQzMgorOjEwOUI0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDMDAwODMwODJDNDQ5RAorOjEwOUI1MDAwMEIwMjAyMEMwMDgwMDAyQ0M4MDgzMzQyOEM5MEIzMzBGQQorOjEwOUI2MDAwMjhDODRBMzIxMjgwMENCMEEwMjgyODBCMTIwMkUyMDE0OQorOjEwOUI3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBMjAwOEIwMDJFNDhGRAorOjEwOUI4MDAwMEJBMDIyMjAyMDg4ODAyRUMwMjhCMDBBQUMwMEJCMDA4OQorOjEwOUI5MDAwMkVDMDBBQjAwMkEwMDBBQjgyMkFBMDBCQjIwMkYwMDREMQorOjEwOUJBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFNzAwQ0IwMDNFQzA1MAorOjEwOUJCMDAwQ0Y5QzBCMjEwMEQ4ODgzRUMwMENCMDAzQUMwMEZCMDA0QQorOjEwOUJDMDAwM0FDMDBFQjA0M0U4NDBGODgwM0E2MDBGOTgwM0QwMDRFMgorOjEwOUJEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNDAwRkYwMDBGRTA5MgorOjEwOUJFMDAwMDdBMTAzRTgwMkZCMDAzRkMwMEY3MDIzN0MwMEZGMDJDNworOjEwOUJGMDAwMzVDMDREQjAwMzc0MjBGQzAxM0YwMDBGRjgwM0Y4MDA5RQorOjEwOUMwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNTAwQ0IwMEJBNDAzQQorOjEwOUMxMDAwMEMxNDBCMkYyMkM5NDAzMkMwOEVCMDAzQUMwMEZCMDBFNQorOjEwOUMyMDAwM0VDMDBFQjAwM0U0MDBDOTAwMzIwMDJDOTAwMzEwMDRDMworOjEwOUMzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDEyNDAwOEYwMDIyNDAyNgorOjEwOUM0MDAwMkNBNTQyMjkwMDhCMDRBM0MxMERGMDBBM0MwMEJGMDBFMworOjEwOUM1MDAwM0ZDMDA4RjAwMTY5MDBEQTA1MjJEMDA4OTQwMzcyMDBDMQorOjEwOUM2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2MDQwODMwMTIwQzBDQgorOjEwOUM3MDAwMDkwMDAyMjAwMDgyNjAyMkMwMDgzMDQyNEMxMEJCMDI2MgorOjEwOUM4MDAwMkNDMDA4QjAxMjA1MDA5QjAwMjA4MjA5MzIwMjM4MDA2NworOjEwOUM5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjkwODc4MDIwRTBBNgorOjEwOUNBMDAwMDg1ODAyMTYxNDg0ODEyMUUwMjkzOTAyNUUwMEI3ODAyOQorOjEwOUNCMDAwMjhFMDA4NzgwMjdBODA5NjgxMjFFMDA5RjgwMjQ4MDBCRAorOjEwOUNDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODA5OEIxMDM4NDREQworOjEwOUNEMDAwNEQyNTEyMEMwMEMyMTAyMkM4MEEzODAzQ0MwMEYzMTAyNAorOjEwOUNFMDAwMkNDMDBDMzAwMzhBQzBEOTEwMzI0MDJEMTAwMzEyMDI1MAorOjEwOUNGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzgwRkYwMDNGNDA0RAorOjEwOUQwMDAwMEZGMDAzRjQ0MEVEMDAzRkMwMEVGMzAzQkMwNEZGMDA2RQorOjEwOUQxMDAwM0ZDMjBGRjAwQkQ0MDBGRjEwQkY4MDBFRjAwM0QwMDYzRgorOjEwOUQyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVGQTAwQ0IwMjNFQzA2MQorOjEwOUQzMDAwMEY5MDAzQTAwMENCMDAzQUNBMENCMzEzQUYyNENCNDg1QQorOjEwOUQ0MDAwMUVDODBGQjYwMzJDMDBGQTAwM0VDMDBGOTAwM0VBMDBCNQorOjEwOUQ1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzA4ODcyMDJEQzRGRQorOjEwOUQ2MDAwMEI1MDEyREMwNDg3MDAyQ0MwMDg3MEEyMUQwMEE3NDAxNQorOjEwOUQ3MDAwMjVDQjhCNzQ4MjFDMDBCNzAwMkRDMTBCNzAwMkQyMDQ1RQorOjEwOUQ4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QTAxODc5MDJERTBGNAorOjEwOUQ5MDAwMEI3ODAyQ0UwMDg2ODAyREU0Mjk3QTAyOUU4MDg3QTA2RgorOjEwOURBMDAwNkRFODBCNzgwMjFFMDBCNTgwMkQ2MDBCNzgwMkYwMDA4NAorOjEwOURCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDRDAwODMwMjJDRTBDOQorOjEwOURDMDAwMEIzMDAyQ0MwMDgzRTAyQ0MwMDgzMDAyMEMwMEEzMDA1MgorOjEwOUREMDAwMjRDMDBCQjAwMjBFMjBCMzA4MkNDMDBCMzAwMkQyMDRGQQorOjEwOURFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODgyQ0EwMDNFQTg1QworOjEwOURGMDAwMEZFMDAzRjgwMjhFODAzRTgwMERBMDVCQTgwMENBMDAzMQorOjEwOUUwMDAwM0U4MDBGQTAwMzNCODBGRTQyMkY4MDBGQTgwM0ZBMDQ4MAorOjEwOUUxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDIwRjgwMDNFMDA2NAorOjEwOUUyMDAwMEYwNjAzQzAwMEY4MTEzRTAwMEYwMDAzRTAwMEY4MDAyOQorOjEwOUUzMDAwMzYwMDBGODAwQkUwMDBGODA0M0UyMDBGODEwM0QyMDBCMworOjEwOUU0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAwRjkwMDNFNDA2RgorOjEwOUU1MDAwMEM5QTAzMjQ0MEM5QzAzRTQwNEM5MDAzMjQwMEY5MDBGMgorOjEwOUU2MDAwMzY0MDA3OTAwMzI0MDBDOTA0MzI2MDBGOTAwM0MyMDRGNworOjEwOUU3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjkwMjJFNDBBMQorOjEwOUU4MDAwMEE5MjAyMjUwMjg5RTAyRTQwOTg5MDAyMjQwMEI5MDAyRgorOjEwOUU5MDAwMjI0MDA5OTAwMjA0MDBEOTAwMjI0NDBCOUMwMkUwMDBGOQorOjEwOUVBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyQzAwQjkwMDJDNDAzNAorOjEwOUVCMDAwMDg5MDAyMjQyODg5MDAyQzQwNjg5MDQyMjQwQ0IxMDRBOAorOjEwOUVDMDAwMjY0MDBCOTAwQTJDODA4MTAwMjI0MENCOTI4MkM2MDA1MworOjEwOUVEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjEyMDJDNDhFRAorOjEwOUVFMDAwMEExMjAyMDQ4MDgxMjEyQzRDMDgxMTAyMDQwOEIxMTBDRQorOjEwOUVGMDAwMjA0QzA5MTIwMjI0MDE5MTIwQTA0ODBCMTAwMkMyMDEzQgorOjEwOUYwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ0MUUwRjg1MDNFMTREMQorOjEwOUYxMDAwMEM4NTAzMjE0MEM4NTAzRTEwMDgwNjgzMDFGMEY4NjgwNAorOjEwOUYyMDAwMzYxMDBGMDUwMzI5NDBDODUwMzI5NDBGODUwM0VFMDMwNQorOjEwOUYzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDAwRjkxMDNGNDQ5QworOjEwOUY0MDAwMEZEMTBCRjQ0MEZEMTIyRTRDMDM5MjBCRTQwMEY5MjBDQworOjEwOUY1MDAwM0U0QzBGOTEwM0ZDMDBGRDEwM0Y0NDBGRDAwM0U2MDY3QQorOjEwOUY2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjIwQzkwMTNFNDAwNgorOjEwOUY3MDAwMEZEMDAzM0MwMEJEMDAzMjYzMEM5RTQzMjcwMEU5QzBCNAorOjEwOUY4MDAwM0U2ODBDOTgwMzM0MDBGOTEwM0Y0MDBGRDAwM0M2MDAyMAorOjEwOUY5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBDMjIwRDgwMDJFMDAyMQorOjEwOUZBMDAwMEI4MDUyMjgwNEI4MDAyMjM4MDg4ODAzNjIwMDg4RjAyOQorOjEwOUZCMDAwMkUzQTQ4OEYwQTIwMDBCMDgwMkUwMDBCODAwMkNFMDQ3QgorOjEwOUZDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDgwODEwMDJDNDAyMworOjEwOUZEMDAwMEIxMDAyMDQwMEIxMDAyMDQyNDgxNDQyMDU4MEExMjA2OQorOjEwOUZFMDAwMkM0NDA4MTA4MjA0MDBCMTIwMkM0MDBCMTAwMkMyMDE0NgorOjEwOUZGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNTAxOTkwMDJFNDAxNworOjEwQTAwMDAwMEI5MDAyMjQ0MEJCMDEyMjQxMDg5MDEyMjQwMEE5MDBCOQorOjEwQTAxMDAwMkM0MDA4MTA0MDI0MDhCOTQwNkU1MDBCOTIwMkM2MDQzMAorOjEwQTAyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNzE0QzkwNTNFNDFEMworOjEwQTAzMDAwMEY5MDBCMjQwNEY5MDhCMjQwMkM5MDBBMjQwMEU5MDA4OAorOjEwQTA0MDAwM0U0MDJDOTAwMzI3MDBGOTgwM0U2MDBGOTAwM0U4MDQwNworOjEwQTA1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NDg4RjkwMDNFNDhEQworOjEwQTA2MDAwMEY5OTAzRTYwMEY5MDIzQzQwQUYxMDAzRTQxMkQ5MDQ1MworOjEwQTA3MDAwM0U0MDBGOTAwM0U1MDBGOUMwM0U2NDBGOTA4M0NBMDA5NAorOjEwQTA4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMTAwQzgwMDNFMDA5MQorOjEwQTA5MDAwMEY4MDAzMjEwMEM4NDBCMjAwMEM4MDAzMjAxMEM4MDBDQworOjEwQTBBMDAwMzIwMDBDODAwM0UwODBGODA0MzIwMDJDODAwQjBBMDQ5QworOjEwQTBCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwQ0EwMDJFODBCMworOjEwQTBDMDAwMEJFODBBMzgxMDhFQzAyMjgwMERBMDAyMjgwMDBBMDQ3NgorOjEwQTBEMDAwMDI4MDI4QTAwMkZCMDBCQTAwMzdCMDQ4RUEwMjBBMDA1QQorOjEwQTBFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwOTMwMTJDQzAzNworOjEwQTBGMDAwOEJCMDQyMEM5MDlCMjAyMEMwNDgzMDQyMkMwMDgzMDA0MworOjEwQTEwMDAwMjBDMDA4MzAwMkNENDBCMzAwMjRDODA4MzgwMjBBMDAzRAorOjEwQTExMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNDAwODcwMDJEQzBDNgorOjEwQTEyMDAwMEIyNDA2MTYwMDkzMDgyMUM4MDkzMTAyMEM4MDg3QTA3MQorOjEwQTEzMDAwMjFDMDE4NzIwMkRDMDBCN0I0MjRFMzA4NzgwMjI4MDBCQQorOjEwQTE0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAyOTdBMDNERjA5QgorOjEwQTE1MDAwMEY0ODAzM0UwMEQ2ODAzMEUwMkM3QTAyMUU4MkMzRjAwNgorOjEwQTE2MDAwMzNFQzBDN0MwM0Q2MDBGNzgwMzVFMDBDRDgwMzJBMDJEMAorOjEwQTE3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MTlBNUEwRkIwMDNFQ0E3NgorOjEwQTE4MDAwMEY4MDAzRUMwMkVBMDAzRUM2MEZCNDBCRUQ0MEZCMDA2QgorOjEwQTE5MDAwQkVDMDBGQjY0M0UwMDBGQjAyM0U4MDBGOTAwM0MyMDYzNAorOjEwQTFBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAyQ0Y4ODNGRTBENAorOjEwQTFCMDAwMENCOTAzRkUwMEREODEzM0UwOENGQzAzM0YwNENGODA0QgorOjEwQTFDMDAwMzNFMjRGRkMwMzNFMDBDRkMwMzM2NDBDRjgwM0MwMDAwMQorOjEwQTFEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5NDQwODcwMDJGQzEwQgorOjEwQTFFMDAwMEQ2OUEyRDA0MEJDMDAyM0MwMDhGMDAyOUMwMDg3MDA4QgorOjEwQTFGMDAwMjFDMDBCNzAwQTNDMDQ4NzEwMjE0QzA4NjAwMkVBMDQ1RAorOjEwQTIwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5RTAwODcwMDJEQzBEQworOjEwQTIxMDAwMDk2MjAyRDgwMDk3MDAyMUM0MDg3MDAyMEM0MDk3MDAyMAorOjEwQTIyMDAwMjFDNDBCMzAwMjU4MDBBNzA4MjE4MDA4NjA4MkMwMDBCQQorOjEwQTIzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRFNDI1ODMwMDJDQzA1MgorOjEwQTI0MDAwMDkyMjAyQ0MyMEIyMDAyMEMwMjhCMDAyOEMwMDkzMDA2QQorOjEwQTI1MDAwMjBDMDBCMzA0MjZDMjA4MzA4MjBFMjA4QjgwMkM4MDRGQQorOjEwQTI2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBNDAwQ0YwMDNGQzA4RgorOjEwQTI3MDAwMEQ5QzAzRTgwMERCODAzM0MwMENGMDBCM0MwNkRGMDBENAorOjEwQTI4MDAwQjNDMDBCRjAwNzY4MDBFRjQwMzJBODBDQTgwM0VBMDQ0MworOjEwQTI5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwMDJFQzAwOQorOjEwQTJBMDAwMEY5NDAzQzU0MEZBMzAzRUMwMEZCMDAzNkMwMEVCMDBDMgorOjEwQTJCMDAwM0VDMDBGMzAxM0FENDBGQjAyM0VEMDBGQjQwM0UwMDBCMAorOjEwQTJDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBFNDAwQzcwMDMxQzFCMAorOjEwQTJEMDAwOENEMDAzMzQwMENEMDAzREMwMENGMDAxN0MwMERCMDFDQworOjEwQTJFMDAwM0RDMDRDRjAwQjMwMDJDMzAwMzIwMDBGRDAwMzAwNDRERAorOjEwQTJGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2RTQwOEIwMDJBQzA4NgorOjEwQTMwMDAwMjg4NDQyMjI4MDg4ODAzQUMwMERCMDAyQUMwODhCMDBCRAorOjEwQTMxMDAwMkVDMDA4QjAwMjIzMjA4QjAwMjIzMDhCOEMwMjIwNDBGQworOjEwQTMyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNDAwOEIwMDIyQzAwNworOjEwQTMzMDAwMDgzODg2MkEwMDg5ODAyQUMwMDhCMDAyQ0MwMDlCMDAxOQorOjEwQTM0MDAwMkVDMDA4QjA0MjI2MDA4QjAwMjI3MTBCOEMwMjIwMDAyOAorOjEwQTM1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwODMwMDI4QzAzQQorOjEwQTM2MDAwMDgzMjQyMDAwMDgxMDAyOEMwMDkzMDUyOEMwODgzMDA2NgorOjEwQTM3MDAwMkNDMDE4MzAwNjAwMDA4MzAwQTAwMDBCMDAwMjAyMDE3MAorOjEwQTM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3NDAyOEIwMDMzQzBDQworOjEwQTM5MDAwMEM5MjBCMjAwMkM4MDAzQkMwMENGNTAzRkMwMERGMDE0RgorOjEwQTNBMDAwM0ZDMTA0RjAzMzIxNDBDRjAwMzIwMDBGODAwQjAwMDM4NworOjEwQTNCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMTlGQzAwRkYwMDNGQzA5QQorOjEwQTNDMDAwMEZDNDAzRjAwMDlDMDAzQkMwMEZGMDAzRkMwMEZGMDAzMworOjEwQTNEMDAwMkZDMDBGRjAwM0YwODBGRjAwM0YwMDBGQzAwM0U4MDYxRQorOjEwQTNFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMEMwRkZBMDMxMjQ5NAorOjEwQTNGMDAwMEVGMDYzMTAwNEVGNjQzRkMwNENGMzAzMUM4MERGMDhEMQorOjEwQTQwMDAwMzdDMDBGRjAwM0YwQTBGQzAwMzEwODJDRDIwM0YwMDA5RAorOjEwQTQxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMTAwQkJDMTIyNDg3NQorOjEwQTQyMDAwMDhGRDAyMkUwMDk3MDAyRkMyNDg3MTIzN0U0MEJGMDAxNgorOjEwQTQzMDAwMjFDNTRCRjUwMkVGMDBCQjQwMzZFMDA4QTgwMkUwMDQ1RQorOjEwQTQ0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNTg0QjMxMUEyQzlENworOjEwQTQ1MDAwMEEzMDAyMDAwMUIzMzAyOEM0MDgzMjQyMEMwMEEzMDhCRAorOjEwQTQ2MDAwQTBDQTBBMzI4MjgwMTBCMDQxMjQxMTA4MzEwMkUyMDFGMAorOjEwQTQ3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBNTAwQkIwMDIyRTEzNAorOjEwQTQ4MDAwMjhCMDAyMkM4MDlCMDAyRUMwMDhCMDAyNkMwMEIzMDBFNAorOjEwQTQ5MDAwMjJDMDBCQjAwMEVDMjBCQjAwMjZDMDA4ODAwMkYwMDRGNAorOjEwQTRBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFMzQwRjcwNDMyQzBFNworOjEwQTRCMDAwNEVCMDIzMkUyMEVCMDAxRUMwMENCMDAxMkMwMEZCMDA4MAorOjEwQTRDMDAwMzZDMDFGQjAwM0UxNDBGQjAwMzY5ODBDOTAwM0QwMDQ2NworOjEwQTREMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNjA0RkYwMjNGQzA3MQorOjEwQTRFMDAwMEZGMDAzRkUwMEVGMDIzREMwMEZGMDIzRkMwMEZGMDA2MQorOjEwQTRGMDAwM0ZDMDRGRjAwM0ZDMDBGNDAwM0I0MDBGQTAxM0Y4MDBGNgorOjEwQTUwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQTIwRUIxMDM2QzBFMAorOjEwQTUxMDAwMERCMDA3RUMyMERCMDAzMkMwMENCMDAyNkMyMEVCMDA2OQorOjEwQTUyMDAwM0VDMTBEQjAwM0UwMjBEQkEwMzI5MDRDQjAwQjEwMDQxNAorOjEwQTUzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyRDAwOEY4MDIwQzExMQorOjEwQTU0MDAwMDg3MDEyQ0YwMDhGMDBBM0MwMERGMDAyM0MwMDhGMDBGNgorOjEwQTU1MDAwMzdDMDg4RjAwMkVDMDA4ODAwMjA0MDA4ODAwMjMyMDBGQQorOjEwQTU2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QzAwQTM4MDI0ODFCMgorOjEwQTU3MDAwMDkzMDA2Q0M0MDkzMDAyOEMxMDhCMDAyQ0Y0MEEzMDBBOAorOjEwQTU4MDAwMkNDMDA5MzAwMkNEMDA5MDQwNjA0MDI4MTAwMjM4MDBGNQorOjEwQTU5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDEwRTAwODc4MDIzRTAzMgorOjEwQTVBMDAwNDg3OTAyREU0MTk3ODAyOUUwMTk3ODA2OUUwMDg3ODA2RAorOjEwQTVCMDAwMjVFMDA4NzgwMkQyMDM4MzgwMjFBMDA4NjgwMjA4MDAwMQorOjEwQTVDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwQTMwMDM0QzA1OAorOjEwQTVEMDAwMEQzMDQyQ0MwMUQzMTAzQUM1MEMzOTAzQ0MwMEUzMDQ1MgorOjEwQTVFMDAwM0NDNDBEMzAwM0NFMDBEMDAwMzA0MDBDMzAwMzEyMDJDQQorOjEwQTVGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwRjcwMDNGQzA0QworOjEwQTYwMDAwMUZGMDUzRkMwMEVGMDgzN0QxMEZGMDgzN0MwMEY3NDBCOAorOjEwQTYxMDAwM0ZDMTBGRjEwM0QwMDBGRjAwQkY4NDBGQzgwM0QwMDY3NQorOjEwQTYyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFMDAwRkIwMDNFRTAyNAorOjEwQTYzMDAwMkNCRTgzRUMwMEVCNDAzRUMwMEZCNDAzRUQyMEZCMTBCQQorOjEwQTY0MDAwQjZEMjBGQjQ4M0VDMDBEQjgwMzZDMTBDOTAyMTJBMDAxNworOjEwQTY1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAwQjcwMDJGQzBGNworOjEwQTY2MDAwMDgzNjAyMEMwODg3MzAyREQ5OEI3Mjg2REQwMEIzMjBBNgorOjEwQTY3MDAwMjFDODBCNzQwMkQwMDI4NDAwQTAwMDI4MjAwMjEyMDQxQQorOjEwQTY4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5QTAwQjc4MDJERTBDQworOjEwQTY5MDAwMDg3QTAyOUQwMEE3QTAyREUwMEI3ODAyOUU4MEE3ODA3QgorOjEwQTZBMDAwMjFFNDA4N0EyNjlFMTg4MzA0MjFFMDA4NzgwQTcwMDBDNQorOjEwQTZCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwQjMwMDJDRTA5MworOjEwQTZDMDAwNTgzMDEyMEU4MjgzMDAyQ0MwMEIzMDAyQ0MwMUIzMDAzNAorOjEwQTZEMDAwMjBDMTBCMzAwMkMwMDg4OEQyMjAyMDA4MDAwMjUyMDQ5QQorOjEwQTZFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODYwRkEwMDNGODI2QQorOjEwQTZGMDAwMENBMDAzRkEwMEFBMDAxRTgwOEZBMDAzRTgwMEYyMDA1RAorOjEwQTcwMDAwMzI4MDFGQTAwM0U4MDBEQTAwMzY4OEFDRTAwMzdBMDQ0OAorOjEwQTcxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMTAwRjgwMDNFMjA1QQorOjEwQTcyMDAwNEY4MDAzRTEwMEYwMDAzQzAwMEI4MDAzRTAwMEY4MDJFMgorOjEwQTczMDAwM0EwMDBGODA0M0YxMDBGQzBBM0QwMDBGQzAwMzkyMDA3NQorOjEwQTc0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNjAwQzk5MDNFNDAwNAorOjEwQTc1MDAwMEY5MjAzRTQwMEQ5MDAzMjQwMDQ5MDA3RTcwMEY5MTA5QgorOjEwQTc2MDAwMzA0MDBDOTA0M0U0MDlEOTgwMjI0MDJDMTAwQjAyMDRBNQorOjEwQTc3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDYwODlDMDJFNDBBQQorOjEwQTc4MDAwMEI5ODI2QzU4MDg5MDAyMjQwMjg5MDEyRTcxMEI5MDA1NgorOjEwQTc5MDAwMzY0MDI4OTAxMkM1ODNDOTgwQjY0MDA4OTAwMjIwMDAzOAorOjEwQTdBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUwNDAwODk0MDJFNDE0MAorOjEwQTdCMDAwNEI5MDAyRTQwMDk5MDBBMjQwMEE5MDAyRTUwMEI5MDAyMworOjEwQTdDMDAwRTI0MTA4OTA0MkU0MDA5RDUwQUI0QTA4RDAyNjA2MDBDMgorOjEwQTdEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDgyODEyMDJDNTA4QQorOjEwQTdFMDAwMEIxMDAyRTQwMDgxNDAyMDUwNEExNDMyQzQwMEIxNDBGMgorOjEwQTdGMDAwMjQ1MTE4MTQxMkQ0MDA4NTQwMkQ0MDA4NTAwNjAyMDEzRgorOjEwQTgwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwQzgwMDNFMDBEQworOjEwQTgxMDAwMEY4MDAyRTAwMEQ4MDAzMjAwMEE4MDAyRTAxMEY4MDA0OQorOjEwQTgyMDAwMzIwMDA0ODAwM0UwMDBEODAwM0EwMDBDQzAwMzJFMDM3RAorOjEwQTgzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwRjkxMDNGNDE1NgorOjEwQTg0MDAwMEY5NDAzRjUwMEY5NDAzRTUwMEQ5NDAzRTUxMEY5NDBENAorOjEwQTg1MDAwM0U1MDRGOTQwM0M1MDBFOTQxMzY1MDBGOTQwM0U2MDY3RAorOjEwQTg2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjAwRkRBODNBNDA0NgorOjEwQTg3MDAwMENEODIzMzYwMEU5QTAzRTc4MEY5RTAzQjY4MENERTJDNworOjEwQTg4MDAwMzI2ODBDOUIwMzM2ODI0REEwMzc2ODhDOTgwMzA2MDAxMworOjEwQTg5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFQkEwQjg0MDIwMjAzRAorOjEwQThBMDAwMDg4NTAyMjE1MTg4QzAyRTI5MEI4RTAyRTEwMEQ4RTBENAorOjEwQThCMDAwMjIzMjBEOEQyMzYxNDg5OEQ0QTIxMDI4ODQwMjBFMDQwMAorOjEwQThDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNTAwQjMwMDJBNEE1RgorOjEwQThEMDAwMjgxMDRFQTQwOEExNjgyODQ0MEIxNDAyQzUwMDgxNDAyQQorOjEwQThFMDAwQTA1MDA4MTAwMjA0MDI5MTJBMjA0NDI4MTQ0QTAyMDFCMAorOjEwQThGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBQzgwQjkwMDIyNDA3NAorOjEwQTkwMDAwNDg5MDA2QTQwMEE5MDAyRTQwMEI5MDIyRTQwMDk5MDA3NAorOjEwQTkxMDAwMjI0MDA5MTAwMjY0MDI5OTAwMjI0MDA4OTAwMjA2MDRCNQorOjEwQTkyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRjkwMDM4NThBNQorOjEwQTkzMDAwMEM5MDUzODQxNEE5MDQzRTQwMEY5MDAzRTQwMEM5MDAxNgorOjEwQTk0MDAwMzI0MDBDOTAwMzI0MDREOTAwQjY0MDRDOTAwQjI4MDRFQworOjEwQTk1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDAwRjkwMjNFNDkzOAorOjEwQTk2MDAwMEYxMDQzNjQwMEQ5MDAzRTQwMEY5MDAzQzQwMEYxMDI3MQorOjEwQTk3MDAwM0U0MDBGOTAwM0M0MDJFOTA0M0M0MDBGMUMwM0NBMDA5MAorOjEwQTk4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMTgwQzgyMDNFMDBFOAorOjEwQTk5MDAwOEM4MDBCMjAwMEU4MDIzRTAwMEY4MDAzQTA4MkM4MDBEQworOjEwQTlBMDAwNkMwMDBGODAwMzIwMTBDODAwMzIwMjBDODAwMzBBMDRFMAorOjEwQTlCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzODAwODYwMDJFODBERQorOjEwQTlDMDAwNjhBODgwM0EwMDhBMDAyRTgwMEJBMDAyRjgwMDhBMDA1NgorOjEwQTlEMDAwMkU4MDBCQTAwQTNBMDA4RTEwMjM4MDA4QTAwMzBBMDBFNAorOjEwQTlFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0RDAwODMwMDJDQzAzRQorOjEwQTlGMDAwMDgzODAwMEM2MDIzMDAyQ0MwMEIzMDAyQ0M0MDgzMDBEMAorOjEwQUEwMDAwMkNDMDBCMzAwMjBDMDI4QTgwQTBFMDI4MzAwQTRBMDBEOQorOjEwQUExMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExNjIwODcwMjJEQzE5OAorOjEwQUEyMDAwNDg3MDEyN0MwMEE3MjAyREM5MEI3MjAwREMwMDg3MDgzQgorOjEwQUEzMDAwMkRDNDFCMzIwMjFEMDE4NzQyMjFDMjA4NzAwMjI4MDA2QQorOjEwQUE0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgzRTAyQzc4MDNERUM2NgorOjEwQUE1MDAwMEM1ODAzMUUwMEU3ODAzREVDMEY3RjAzOTYwMEM3ODA3MworOjEwQUE2MDAwMkRFMjA3NzkwMzBBMDZDMzgwMzAyMDhDMzgwMzZBMDI3RQorOjEwQUE3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRkIwMDNFQzAwQworOjEwQUE4MDAwMEYxMDQzOEMwMERCMzgzRUQ4MEZCMDAzQ0MwNEZCNDRERQorOjEwQUE5MDAwM0VDMDhGQjYxM0VDMDJGRjAyM0UwMDBGQjAwM0MyMDZBOQorOjEwQUFBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQTAwRkY4MDMxRTNCNAorOjEwQUFCMDAwMEVGODIzRkUwMkRGODBCN0UyMEVGODAzN0UwMDZERDBCMQorOjEwQUFDMDAwMzNFMDBDRjg5Qjc2QzBERjg0QjNFMDA0RjgwM0MwMDBFOQorOjEwQUFEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5MDQwQjcwMjIxQzRERgorOjEwQUFFMDAwMDg3QjQyREMwMDg3MDAyMUM0MEIzMDAwMTA4MDhEMDAwMQorOjEwQUFGMDAwMjNDMDBERjIwMjA0NDI4RjAwMjlDODI4NzAwMkVBMDQyNAorOjEwQUIwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5NDAwQjYwMDIzQzBCOAorOjEwQUIxMDAwMEE3MjAyOEMwMDg3MDAyMUMwMEEzMDAyMDQwMUE3MDJEOQorOjEwQUIyMDAwMjFDMDA4NzA0MjAwOEE4NzAwMjFDMDI4NzAwMkMwMDAzRQorOjEwQUIzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDNTAwQjAwMEEwRDBEQworOjEwQUI0MDAwMDhCMDAyQzk0MjhCMDAyMEMwMEIzMDIyMDQwMDgzMDBGMQorOjEwQUI1MDAwQTBDMDQ5MzAwMjQ1NDA5M0MwQThENDAwMzUwMkM4MDRDMworOjEwQUI2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwQkIwMDMxQzBBMAorOjEwQUI3MDAwMEVCMDIzQ0QwMERGMDAzN0MwMEVGMDAxNjgwMEUzMDAwNworOjEwQUI4MDAwMzNDMDFDRjAwMzQ1MDBEQUM4OTJENDJDQjQwM0VBMDRBNQorOjEwQUI5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFNTIwRkIwMDNFQzBENworOjEwQUJBMDAwMEZCMDAzRUMwMEZCMDAzRUMwNEZCMDAzQUQwMEZCMDA1NAorOjEwQUJCMDAwN0VDMDFGMzAwM0E0ODBFOTIwM0NDMDBGMzIwM0UwMDBCOAorOjEwQUJDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBEQzAwQzcwMDMzQzJBQworOjEwQUJEMDAwMkNGMDAzM0UyMERCMDAxM0MwMEM3MDAzM0M4MEVGMDQxQworOjEwQUJFMDAwNzNDMTBGRjAyMjMwMDBDNjAwQjJDMDBDRjAwMzAwNDQ2NQorOjEwQUJGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDA2OTAwOEI0NEEyQzEwOQorOjEwQUMwMDAwODhCMDAzNkMwMDhCMDAyMkMwMjhCMDBBMkQwMEJCMDA2NgorOjEwQUMxMDAwNjJDMDBCQjAwMjI2MDI4QjgwMjJDMDA4QjAwMzIwNDAyNQorOjEwQUMyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyODAxOEEwODIyQzBGMgorOjEwQUMzMDAwMDhCMjAyNkM0MDlCMDAyOEMwNDhCMDE2MjkwNEI5MDEzNAorOjEwQUM0MDAwMjJDMDQ5QjAwNkFFMDk4QjgwMjJFMDQ4QjAwMjIwMDA0NQorOjEwQUM1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAyODIwMDIyQzA0MgorOjEwQUM2MDAwODhCMDAyNDQwMDgzMDAyOEMwMDgzMDAyMDgwMEIxMDAwOAorOjEwQUM3MDAwMjBDMDBCMzAwMjhDMDA4MzgwMjBFMDA4MzAwQTAyMDFFMworOjEwQUM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2NDAwQ0EwMDMzQzA5NgorOjEwQUM5MDAwMENCMjAzMkMwMERGMDAzQkMwNENGNTEzMkMwNEVGMDA3QQorOjEwQUNBMDAwQTNDMDBERjAwM0E4NDBDQjAwQjIwMDJDQjAwMzAwMDNGQQorOjEwQUNCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGMDAwRjQwMDNGQzBBNAorOjEwQUNDMDAwMEZCMTAzRjAwMEZGMDAzN0MwMEZGMDAzRkMwMEZGMDBERQorOjEwQUNEMDAwM0ZDMDA3RjAwQjdDMDhGRjAxM0YwMDBGRjAwM0E4MDYwMAorOjEwQUNFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMEM1RUQzMzNCQ0M1MworOjEwQUNGMDAwMENGMDAzMzA0MEZGMjUzRkNDMENGMzgzM0NEMERGNDgwMQorOjEwQUQwMDAwMzczMDRDRjMwM0ZEODBDRjI4MzNEODBDRjEwMzMwMDBFQgorOjEwQUQxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQ0QwQkIzMTIwQ0M5RgorOjEwQUQyMDAwODhGMzQyMjA1MEJGOTAyRkM0MEFGNjAyN0RDMDhGNDBBNgorOjEwQUQzMDAwMjY0MDhGRjYwMkZEMDBGRjA4MzlDODA4RjYwMkEwMDQ3RAorOjEwQUQ0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDgwQTEyMDI4Qzk1MAorOjEwQUQ1MDAwMDgzMDlBMDAwOUIzMDAyQ0MwMjAzMDAyNEM5MDgzMjBBOAorOjEwQUQ2MDAwMDIwODBCMzMxMkNEODA5MzIwMjREODA4MzQyMjIyMDEwQworOjEwQUQ3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTFBRTAwQkIxMDIyQzAzNworOjEwQUQ4MDAwMDhCMDAyMjYwMTNCMDE2RUMwMDhCMDAyNEMwODhCMDBERgorOjEwQUQ5MDAwQTI4OTBCQjAwMkVDMDBBQjAwNkFDMTI4QjAwMkIwMDQ3QgorOjEwQURBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTU2RTAwRThDMTNBQzBERAorOjEwQURCMDAwMkNCMDQzMjYwMEZCMDYzRUMxMENCMDBCMkMwMkNCMDA4RQorOjEwQURDMDAwMzQyMjlGQjA0M0VDMDA5QjAyMzZDMThDQjAwMzEwMDRDOAorOjEwQUREMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzAwRkM4MDNERDBERAorOjEwQURFMDAwMkZGMDAzRkMwMEZCMDAzREMwMDczMDAzQkMwMEVGMDQ2NAorOjEwQURGMDAwM0ZFMDVFQjAwMUZDMDBGRjAwMUJDMDBGRjAwM0Y4MDA1NQorOjEwQUUwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwQ0IwMTNFQzkxMworOjEwQUUxMDAwMENCMDE3MjA4NEVCMDBCMkMxMERCMDAzNkMwMEMzMDA2RQorOjEwQUUyMDAwMzI1MDBGQjAwMzBDNDBDMzAwN0VDMDBDMzAwMzEwMDQzRQorOjEwQUUzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwOEE1ODJFRTAwOQorOjEwQUU0MDAwNDhGMDAyMkQwMEVGMDEyM0MwMDhGMDIyM0MwNDhGNjA3RgorOjEwQUU1MDAwMzY1NDBCRjAwQTNENDA4RjAwMkZDMDA4RjAwMzcyMDBGQgorOjEwQUU2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0MDAwODk4MDJDMTAzOAorOjEwQUU3MDAwMDhCMDAyNDkwMEEzQTAyNEMwMDkzMDAyNEMwMDgzQzlENQorOjEwQUU4MDAwMjA5MDQyMzAxMjREMDA4MzAwNkFDMDA5MzAwMjM4MDAyMQorOjEwQUU5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjAwODU4MDZENjI1NworOjEwQUVBMDAwMDg3RTAyNTY0MDI3ODAyNUUwMTk3ODA2MEUwMDgzODAzMAorOjEwQUVCMDAwNjFBMDBCNzgwMjRFMDA4NzgyNkRFMDA5NzkwMjQ4MDA5QworOjEwQUVDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgyQzAyQzM2MTNDODhEQworOjEwQUVEMDAwMkNCQTEyNDkxMEUzMkMzNkMwMEQzMDUzNEM0NEMzMDAzOQorOjEwQUVFMDAwMjAwMTBGMzEwMzRDMDBDMzAxM0NDMDJEQjEwMzEyMDJGRAorOjEwQUVGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwRkYwMDNGMDBGQgorOjEwQUYwMDAwNEZGMTA5QjAwMEZGMDAzQkMwMEVGNDAxRkQyNEZGNDBFQgorOjEwQUYxMDAwQkZDMDA3RjAwM0JDMDA2RjEwM0ZDNDFFRjE4M0QwMDYxMgorOjEwQUYyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVDNDAwRTgwNDMyMDAzMgorOjEwQUYzMDAwMENCNjAzRTgwMkNCMDAzNkNBMEZCNTAzQUQwMEZCMjAwOAorOjEwQUY0MDAwM0U0MDBGQjMwM0VDODBGQkE4MzJDNjhDQjYwMzJBMDA0OAorOjEwQUY1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAyRTYwMDIwMDA4QworOjEwQUY2MDAwMDg3MzAyREMwMDg3NzAyREQwMEJGMDAyMUM4NEI3MjAyMAorOjEwQUY3MDAwMkRDMDBCNzA4MkREMjRCNzQwMzRDOTI4NzI4MjkyMDQ0MAorOjEwQUY4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDBCRTAyQUM4MEExMjBGNAorOjEwQUY5MDAwMDg3OTAwQ0UwNDg3ODA2NUUwMEI3QTAyOUUwMEI3OTBBNgorOjEwQUZBMDAwNkRBMDBCNzgwMkRFMDBCNzgwMjFFMDA4NzgwMjMwMDA0NworOjEwQUZCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRFRDgyQUJFMDIwRTQxNworOjEwQUZDMDAwMDgzMDAyRUUwNDgzMDAyQ0MxMUIzMDAyMEMwOEIzMDBEMQorOjEwQUZEMDAwNjRGNjBCQjAwMkNDMDRCMzAwMjZDMDA4MzAwMjkyMDQyMQorOjEwQUZFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQjgwRUU0OTMxQTBGMQorOjEwQUZGMDAwMkNBMDAzRkEwMENBMDIzNjgwMEZBMDAzQTgwMEZBMDJCMAorOjEwQjAwMDAwM0Y5MDBGQTA2M0U4MDBGQTAwMzI4MDBDQTAyMzNBMDRCRQorOjEwQjAxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDBBRTgwMDNFMDg3MAorOjEwQjAyMDAwMEY4MDAzRTM1MEYwMDAzRTAwMEY4MDEzRTAwMEY4MDBCMworOjEwQjAzMDAwM0UwMDBGODAwM0UwMDFGODAxN0UwMDBGODAwM0QyMDA4NAorOjEwQjA0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDQwQzlBMTMyNDBCOAorOjEwQjA1MDAwMjAxMTAxQTY0MEM5ODQzNjQwMEQ5MDAzNDQwMDQxMDBGMAorOjEwQjA2MDAwMzI0MDBGOTAwQjI0MDBGOTAwM0U0MDRDMTAwMzAyMDRDNAorOjEwQjA3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwODk4MkEyNDBDQgorOjEwQjA4MDAwMDg5QzAyMjUwMDg5QzgyMjQwMDg5MDQyMjQwMDg5MjA5QgorOjEwQjA5MDAwMjI2MDBCOTAwMjI0MTBCOTAwMkU0MDA4OTAwMzYwMDAzQgorOjEwQjBBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwODkwNDIyQ0FENgorOjEwQjBCMDAwMEE5MDBBMjUwMjg5MjAyMDQwMjgxMDAyNjQwMUE5MDA3NAorOjEwQjBDMDAwMjI0QjBCOTAwMjI0MDFCOTAwMkU0MTI4OTAwMjA2MDA2OQorOjEwQjBEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDkwODFBMDIwNDgwNworOjEwQjBFMDAwMEEzMjAyMDQ4MDgxMDAyMDQ0MDgxMTAyMDREMEExMjAwOQorOjEwQjBGMDAwMjA0MDBCMTEwMjA2MDBCMTMxMkM0ODA4MTQwMjQyMDExNQorOjEwQjEwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQyQzg1NDMyMTQ3NQorOjEwQjExMDAwMEU4NTAzMjE0NEM4MjhCMjFBNEM4NjkzNjExNEU4NTA2NgorOjEwQjEyMDAwMjIxNDBGODY4MzIxNDBGMDQwMUUxNDBDMDAwMzJFMDNDRQorOjEwQjEzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MUQ3NDQ0RjUxMDNGNDRDQQorOjEwQjE0MDAwMEQ5MTAzNzQ0MEY5MDAzRTQ4MEI5MjAzRTRDMkQ5MTBGQworOjEwQjE1MDAwQkY0MDBGOTIwM0U1MDRGOTMwM0U0NDBGOTQ0M0U2MDZFNgorOjEwQjE2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjIyQ0RBMTMzNjEzOAorOjEwQjE3MDAwMENEOEQzMzQxMENEQTgzRTYwOEU5QzkzQTcwOENEODAwOAorOjEwQjE4MDAwMzM0MDBFOUFEMzM2QTBDOTgwMzI2MDBDOTkwMzA2MDA3MgorOjEwQjE5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMzg4OEFBMDIwMjgxQQorOjEwQjFBMDAwMDg4MDIyMjAxMjg4NDAyQzI4MDg4QTAyMjIwMDg4MDA2OQorOjEwQjFCMDAwMjIwMDBCOEMwMzIxMDA4OEQwQTIzRTI4OEQwMjBFMDRCMQorOjEwQjFDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDRTIwQTE0ODIwNTJGOQorOjEwQjFEMDAwMjkxMDAyMjQwMzgxMDAyQzUyMEExMDEyODUxMDkxNDA3QworOjEwQjFFMDAwQTQ0MDBBMTI4MjQ0MDA5MTI4MjQ0MDI4MTIwMjAyMDEzRAorOjEwQjFGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwQTkxNDIyNDBFRgorOjEwQjIwMDAwMDk5MDAyQTQwMTg5MDQyQzQwMDg5MDAyMjQwMDk5MDBBRQorOjEwQjIxMDAwMjI0NDRCMTA0MjI0MTQ5OTAwMjY0MDA4MTAwMjA2MDREMAorOjEwQjIyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDQwRTk0MEIyNzg5MgorOjEwQjIzMDAwMEQ5MDBCMjQyMkM5MDMzRTQxMEU5MDAzQTQwMkQ5MDBCNQorOjEwQjI0MDAwMTY1ODA2OTAwQjY0MDJEOTAwMzY0MDBDOTAwQjI4MDQ2NworOjEwQjI1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NDAwRDk4MDNFNEFGMAorOjEwQjI2MDAwMEU5MDAzNjQyMEY5MDgzRTQxMEY5MDAzRTQwMEUxMDhDQQorOjEwQjI3MDAwM0U0MDBGOTAwM0M0MDBFMTAwMzg0MDBGOTAwM0NBMDAyNQorOjEwQjI4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDA5RjA0MEIwMTA4RAorOjEwQjI5MDAwNEMwMDBCMjAwMEY4MDAzQTAwMUMwMDAzRTAwMEM4MDAzRQorOjEwQjJBMDAwMzYwMDBDODAwMzIwMDBDODAwMzIwMDBGODAwMzBBMDQxRgorOjEwQjJCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyODAwM0U4ODIzQTI4RQorOjEwQjJDMDAwNDhFMDAwMTk4MEJFODgyRTgwMERBMDQyRTgwMDhFMDA2NAorOjEwQjJEMDAwMjM5MDA4QTAwQTNBMDBEQTAwMzY4MDBCQTAwQTBBMDA4MAorOjEwQjJFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjM4MDIwRTA3MgorOjEwQjJGMDAwMjgzMEMyMEYxMEIzNDAyOEMwMEIzMDAyRUMxMTgzNDAzRAorOjEwQjMwMDAwMjhEMjBBMzAwMjBDQzA4MzAwMjBDMDBCMzAwMjBBMDA5MQorOjEwQjMxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzAwQjYwMDIxQzA4OQorOjEwQjMyMDAwMDgyMEMyMUMxMEI1MDAyREM4MEE3MjAyREM0MDg1MDgzNgorOjEwQjMzMDAwMjlBMjFBNzIyMjBDMDA5MzMwMDVDNDBCMzIyMjI4MDA3NQorOjEwQjM0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxNjAwQjI4MDMxMjA3NAorOjEwQjM1MDAwMEM1ODAzMUUwMEY3ODAzOUY4MEI3QzIyQ0U0MENGODBCQQorOjEwQjM2MDAwOUI2MDJFM0IwMzFBMDBDN0E4MTFFMDBGNzgwMzJBMDI0NgorOjEwQjM3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBNDAwRkEwMDNFQzAwQworOjEwQjM4MDAwMEY5MDIzRTgwMEZCMDAzRUQwMkRCNjAzRUQwMkY5MDAzQworOjEwQjM5MDAwMzI0MDBEQjAwN0VDMDBGQjYwM0VDODBGQjUwM0MyMDY5QgorOjEwQjNBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkY4MDMzQTBFOAorOjEwQjNCMDAwMENGODBCMzI0MENFODEzN0YwMENCQzAzRkUwMEZGODQ0QQorOjEwQjNDMDAwMzNFMDJDRjg4M0U2MDJDRjg1MzNGMDBDRkMwMzAwMTQ0NQorOjEwQjNEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwQkUwMDM1QzZFRgorOjEwQjNFMDAwMjgzMDAyMzA0MDg3MDAyM0MwMDg3QTAyREMwMEJFMDAwQgorOjEwQjNGMDAwMjNDMDA4NzAxMkZFMDA4NzAwMjFDMDA4RjAwMjJBMDQ1MgorOjEwQjQwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5NTIwQjYwMDIwODBEMQorOjEwQjQxMDAwMDgzMTAyNUMwMTg3MDAyNUMwMDg3MjAyREMwMEI2MDAxQQorOjEwQjQyMDAwMjFEMDA5NzAwMkQ0MDg5MzAwMjBDMDA4NzAwMjAwMDBFNworOjEwQjQzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDNDAwQjBFMDI0NjBFMAorOjEwQjQ0MDAwMDgyMDA2NDgwMTgwMDAyMEMwMDgzMDAyQ0MwNEIzMDA2OAorOjEwQjQ1MDAwMjA4NDBCMzAwMkU4MDA5QjAwMjBDMDA4MzAwMjA4MDQ2MgorOjEwQjQ2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwQjlFMDMyODBGOAorOjEwQjQ3MDAwNkNCMDIzNkYwMEMzMDAzN0MxM0NGMDAzRkMwMEZBMDAzRQorOjEwQjQ4MDAwQjBDMDA5RjAwM0VDMTBERjAwNzNDMDBDRjAwQjJBMDAxMQorOjEwQjQ5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzEwRjgwMDNFNDI1OAorOjEwQjRBMDAwMEYyNDAzQTg2MEY4MDAzQ0MxMEZCMDAzRUMwMEY5NDA4MgorOjEwQjRCMDAwM0U4MDA0QjAyM0UxMDBFQjAwM0VDMDBGQjAwM0UwMDA4QgorOjEwQjRDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGNDAwRUUwMDNEMzBFQworOjEwQjREMDAwMENDMDAzMTQwMENDQTBCM0MwNEM3MDAzNUMxMERGMDBBMAorOjEwQjRFMDAwM0YwMDBDRjAwM0Y4MDBDRjAwMjNDMDBDRjAwMzAwNDAzNQorOjEwQjRGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2NDAwQkE4MTJFNTg3MgorOjEwQjUwMDAwMDg4ODAyMjc4MDg5MjAyMkMwMjhCMDAyMkMwMDg4ODM2NgorOjEwQjUxMDAwMkUyMDA1QjA2MkUzMDA4QjAwMkFDMDA4QjAwMzYwNDAxMworOjEwQjUyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyNjAwQjk4MTJFNDBCOAorOjEwQjUzMDAwMDg4QzA2MjYwMDg4MDAyMkMwMDhCMDE2NkMwMDk4ODg4NworOjEwQjU0MDAwMkUyMDA4QjAwNEUzMDEwQjAwMjhDMDA4MzAwMjIwMDBDMAorOjEwQjU1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwQjAwMDJDQzBGRgorOjEwQjU2MDAwMjgwMDBFMDAxMDgwMDAyMEMwMDgzMjAyMEMwMDgwMDQ2OQorOjEwQjU3MDAwMkUyMDA5MzAwMkM0MTI4MzAwMjhDMDA4MzAwMjQyMDE4NAorOjEwQjU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwRkEwMDNFMDAwQQorOjEwQjU5MDAwMkM5MTAzMjAwMDhBMDAzM0MwMENGMDAzN0MwMEQ4MDBGQgorOjEwQjVBMDAwMkU0MDBDRjAwM0UwODBDRjAwM0JDMDBDRjAwMzAwMDMwMgorOjEwQjVCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGQzAwRkMwMTNGNDAwNgorOjEwQjVDMDAwMEZDMDEzRjAwMEY0MDAzRkMxMEZGNDIzRkMwOEZDMDA4RgorOjEwQjVEMDAwM0YwMDBGRjAwM0YwNDBGRjAwM0ZDMDBGRjAwM0U4MDYwQworOjEwQjVFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGQzIwQ0QxMDM5QzgyQworOjEwQjVGMDAwMERDMTAzM0M4MEVGOTAyM0Q4MEZGODAwRkUwMENGODBGMAorOjEwQjYwMDAwMUZEMDBGRjkwM0ZGMDBFN0MwMzNDNDBGRjAwM0IwMDBGMQorOjEwQjYxMDAwNzAwMDAwMDAwMDAwMDAwMEMwMTBGRTAyODk0MDIzRjAwRQorOjEwQjYyMDAwMDg4NTEwM0MwMDhCMDBBM0RDNEJCMjgyRUMyMDhCMDAyMQorOjEwQjYzMDAwMjZDMDRCQjAwMkVDMTBCOTA0MkFDOTBCQjU4MEYwMDQ0NworOjEwQjY0MDAwMzAwMDAwMDAwMDAwMDAwMEM4MDVDQzAwODE2NDI4QzQ2MAorOjEwQjY1MDAwMDlCMjBBMENGMEEzMjAyMEM4MEIzMjAyRUMwMjgzMDhDNgorOjEwQjY2MDAwMkNDODA5MzIwMkNDODBBQkEwMjBDODBCMzIwMEIyMDEzQQorOjEwQjY3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzEwODkwMDIyQzA1RQorOjEwQjY4MDAwMDhCMjEyMkMwMjBCMDAyMkMwMEJCODAyRUMwMDhCMDA5NworOjEwQjY5MDAwMjZDMDRCQjA0NkVDMDBCOTAwMEFDMDBCQjAwMkYwMDQ2MworOjEwQjZBMDAwNjAwMDAwMDAwMDAwMDAwMEQwMTVFQzEwQzlFMDNBQzBCNgorOjEwQjZCMDAwMEQyODAzMkMwMEVCMTAzMkMwMEY4MjAzQzQwMENCMDAxNgorOjEwQjZDMDAwM0VDMTBGQjAwNkVDMDhFOTAwQjJDMDBGQjAxMzkwMDQwMQorOjEwQjZEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDE5QzAwRjVBMDNGQzBFOQorOjEwQjZFMDAwMEZFODAzRkMwOEZGMDAzRkMwOEZDMDAzRkMwMEZGMDAxMQorOjEwQjZGMDAwMzdDMDBGRjAwM0ZDMDBGRjA0M0VDMDBGRjAwM0Y4MDA1QQorOjEwQjcwMDAwNjAwMDAwMDAwMDAwMDAwMDUwMTBBQzAwRjk0MDM0QzBBMAorOjEwQjcxMDAwMERCNDAzMkMwMERCNDAzRUMwMkM4MDAzNjQwOEZCMTBGQQorOjEwQjcyMDAwM0VDNjhGQjAwM0VDMDBGOTgwMzJDMDBDQjAwQjE0MDQ5RAorOjEwQjczMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUzRTIwRTlDODM3RDQwMgorOjEwQjc0MDAwNDhBQTIyMUMwMDhCMDA2RkUwMDg4NTgyRUQ0MEJCODQ3NAorOjEwQjc1MDAwMkZDMDRCQjgwM0FENDBCMzAwMjNENDA4RjcwMjMyMDAyQQorOjEwQjc2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDE0QzAwQjE2NEE0QzBGMworOjEwQjc3MDAwMDkyMDBBMEMwNEI4MDA2Q0MwMDgzODAyQzg0MEIzODAyNQorOjEwQjc4MDAwMkNEMTBCMzAwMkNDMDRCMzAwMjhDMDA4MzAwMjNBMDBBMAorOjEwQjc5MDAwNTAwMDAwMDAwMDAwMDAwMEIwMDExRTAwQTU4MDI1RTA2MAorOjEwQjdBMDAwODgzQTEyMUUwMEE2OTAyREUyMDg3OTAyREEwMEI3ODJDQworOjEwQjdCMDAwMkRFMDAzNzg4MjlFMDBCQ0MxMjlFMDA4NzgwMjJDMTA5RAorOjEwQjdDMDAwNDAwMDAwMDAwMDAwMDAwMDQ5MDgwQzAwRjMwMDM0QzBGNQorOjEwQjdEMDAwMEQzRTAzMEMwMEYwNDAyRUMwMEMzMDQzQzgwMEYzMDBCNworOjEwQjdFMDAwM0NDMDA3MzAwM0NDODBGMjAwMzhDMDBDMzAwMzEyMDI5QQorOjEwQjdGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMTlCRDIwRjcwMDNGQzIxQgorOjEwQjgwMDAwMEZGMTBCREMyMERFMDQzRkQyMDdGMDEzRjg0MEZGMDBGRAorOjEwQjgxMDAwM0ZDMDA3RjAwM0ZDMDBGRDAwMzdDMDBGNzAwM0QwMDZFNworOjEwQjgyMDAwNjAwMDAwMDAwMDAwMDAwMEFBMDVDRjAwREMwMDNFQ0E1NgorOjEwQjgzMDAwMEZBMDAwQUM5MkM5MDAzMkMwMEZCMDExQTQwOEZCMDBFOQorOjEwQjg0MDAwMkVDMDRGQjAyM0VDMDBGOTAwM0VDNDBGQjAwM0VBMDA1NQorOjEwQjg1MDAwNzAwMDAwMDAwMDAwMDAwMEM4OTE5QzAwODQwMDAxQzAzRQorOjEwQjg2MDAwNEI3MDIyMUNDMDg3MDAyMUMwNEI3MDAyMUMwMEI3MDEyNgorOjEwQjg3MDAwMjVEODBCNzAyMkRDMDBCNjAwMkRDMDBCNzIyMkYyMDQxQQorOjEwQjg4MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDA5RTgwOTc4MEE5RTAxQQorOjEwQjg5MDAwMEJGODAyQ0UwODg1ODAyOUU4MEJGQzAyMTcwMEI3ODA2MAorOjEwQjhBMDAwMkRFMDhCNzgwMkRFMDBCNEMwMkRFODBCNzkwMkUwMDBCOQorOjEwQjhCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwODMwOEEwQzA1NQorOjEwQjhDMDAwOEIzQzAyNEMwMDgzMDBBMEMwMUIzQzBBMEYyOUIzMDAzNAorOjEwQjhEMDAwMjRDMDBCMzAwMkNDMDBCMzgwMkNDMDBCMzAwMkQyMDQ0OQorOjEwQjhFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwREUwMDNBODBFQgorOjEwQjhGMDAwMEZFQTAyRTgwMENFMDAzQTgwMEZFMDAzMzgwMEZBMDBCOQorOjEwQjkwMDAwM0U4MDBGQTAwM0U4MDBGRTAwM0U4MDBCQTAwM0ZBMDQ3NworOjEwQjkxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAwRjgwNEJBMDFFOAorOjEwQjkyMDAwMEY4MjBCODAwNEY4ODAzRTAwMEY4NjAzNjAwMEY4MDA1MQorOjEwQjkzMDAwMzYwMDBGODAyM0UxMDBGODAwM0UwMDBGODAwM0QyMDBBNAorOjEwQjk0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAxRjkwMDMyNDA1RgorOjEwQjk1MDAwMEY5MDAzRTQwMDQ5MDAzMjQwMEI5MDAzMjQwMDQ5MDA5QgorOjEwQjk2MDAwM0M0MDBEOTAwM0U0MDhDOTAwM0U2MDBDOTAwMzAyMDRDMworOjEwQjk3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDAwQjk0MEEyNjRCMAorOjEwQjk4MDAwMEIxODAyMjUwMEQxNTAzNjUwNEU5MDBBMjQwMjg5NDBFRgorOjEwQjk5MDAwM0E1MTA4OTQwMkU1MjI4OTQ0MkU2MDI4OTAwQTIwMDAzQQorOjEwQjlBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDEyNDAwQjEwODIyNDAyRgorOjEwQjlCMDAwNEI5MjgyQTUwMEE5MDgyMjUwMEExMDAyMEMwMEE5NDA0RgorOjEwQjlDMDAwNkU1MDBCOTQwMkM0MDQ4OTQ0NkM0ODg4MTAwMjQ2MDBFRgorOjEwQjlEMDAwNDAwMDAwMDAwMDAwMDAwMDAwMDQwNDAwQjE0MEUwNDAwRQorOjEwQjlFMDAwMUIxNDBBMDQwMEI5MDAyNDQwMUExMDIyMDQwMEExMDAwQworOjEwQjlGMDAwMjg0MDBBMTAxMkM0MDA4MTAyNkM0MDA4MTIwMjQyMDE2MQorOjEwQkEwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDA4QjAwMDMyMDAyNworOjEwQkExMDAwNEY4MDAyQTE1MEUwNTAzMjE0MEVBNTIzMjE0MEU4NTA3RgorOjEwQkEyMDAwM0UxNDBGODUwM0UxNDBDODUwMUUxNDBDODU0MzZFMDM3RAorOjEwQkEzMDAwNTAwMDAwMDAwMDAwMDAwMEQ4MTlFNTAwRkQ0MDNFNTAxNQorOjEwQkE0MDAwMEY3NDAzQTUwMDVEMDAzRTUwMEE1MDEzRjQwMEQ5MDBBNgorOjEwQkE1MDAwM0E1MDBEOTAxM0U0MDBGRjAwM0U1MDBGOTEwM0E2MDZFQworOjEwQkE2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNjkwQkRFODIzNkI5MAorOjEwQkE3MDAwMEJEQTBCMzY4MEM5MDAzMjY4NDY5MDQzRTQwMDQ5MDA3NworOjEwQkE4MDAwMzI2ODBDOTAwMzI0NDBGOTAwMzI2MDBDOUMwM0M2MDExQworOjEwQkE5MDAwNjAwMDAwMDAwMDAwMDAwMDc4MTBFMTAwQjhFMEEyMTE5MgorOjEwQkFBMDAwMEI4RTBBMjMyMjg4ODAyQTMxMjg4ODAyNjIwMDg4ODAyRgorOjEwQkFCMDAwQTIzMDI4ODg4QTIyMDBCOEE4QTIzOTA4Q0EwMkNFMDQ3NworOjEwQkFDMDAwMzAwMDAwMDAwMDAwMDAwMDQ4MDVDNTA4MjEwMDAwNDBDQgorOjEwQkFEMDAwMDMxNDgyODU4MEFEMDgyMTUyOTg1MDgyMzQyMzg1MDg1MgorOjEwQkFFMDAwMjE1MjA4NTAwNjU0MDBCNTIwMjE1QTA5NTQwMkQyMDFBRgorOjEwQkFGMDAwMzAwMDAwMDAwMDAwMDAwMDE4MTFBNDAwQjk2MTIyNDBDRAorOjEwQkIwMDAwMEI5MDA2MDQwMEFEMDA2OTQwMDhEMDAyNzQwMDg1MDA2NworOjEwQkIxMDAwMDE0MDAwNzAwNjc0MDRCNTAwMjM0MDA5RDAwMkM2MDQzOQorOjEwQkIyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTRBNDAwRTkwMDMyNDAwMgorOjEwQkIzMDAwNEY5NTBCQTQwMEU5MDAzMjQwOEM5MDAzMjQwMEM5MDAwQgorOjEwQkI0MDAwMzI0MDBDOTAwMzY0MDhGOTAwMzI0MDNEOTAwM0U4MDQ1MQorOjEwQkI1MDAwNzAwMDAwMDAwMDAwMDAwMDY4MDFBNDA4RjkwMDNFNDBFOQorOjEwQkI2MDAwNEY5MDhCRTQwNEQ5MDEzRTQwMEQ5MDAzNjQwMEQ5MDE0RAorOjEwQkI3MDAwM0U0MDBGOTAwM0E0MDBGOTAwM0M0MDBFOTAwM0RBMDAxMQorOjEwQkI4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwRjg0MDM2MjBFRgorOjEwQkI5MDAwMTc4NDAzMjAyMUM4MDA3RTAyMkM4MDQzMjAwMEU4MDI4NQorOjEwQkJBMDAwM0UwMTBGODAwM0UwMDBDODQwMUUwMDBGODAwM0NBMDQ1RQorOjEwQkJCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUyQTg4QjYwMjIzQTAwQgorOjEwQkJDMDAwMEJFQzQyMkIwMEQyODA2RUIxMDhBMDIyMDgwMEVBMDRFMAorOjEwQkJEMDAwM0E4MDlGQTAwM0E4MDA4QTA0MkU4MDBCQTgwMkNBMDAwNgorOjEwQkJFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQjIwMEE0RTE2NQorOjEwQkJGMDAwOEJCNDMyNDc0NTgzOTAyQ0Y0NEIzODEyMEU0NEEzMDE4QQorOjEwQkMwMDAwMkNDMDRCMzAwMkNFMDA5MzAwNkNDMDBCMzgwMkNBMDAyRgorOjEwQkMxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzAwQjc0NDIxQzIzOQorOjEwQkMyMDAwMEI1NDAyNTQwNTg3MDAyQzQwOUI2QzAyMTgxMEE3MDQ4QgorOjEwQkMzMDAwMjlDMDBBNzAwMjlCMDA5NzA0MEQ4MDBCNjA4MkU4MDAwNworOjEwQkM0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwRjM4MDM1RTA1RQorOjEwQkM1MDAwMEIzODAyNTIxMDg0ODAyREEwMEZGODBCMUUwMEU2ODBENgorOjEwQkM2MDAwMURBMDBCNjgwM0ZFMDJENjgwM0RFMDBGNzgwM0VBMDJCOAorOjEwQkM3MDAwMDAwMDAwMDAwMDAwMDAwMDBBMURBQzAwRkIwMDNFQzFGNworOjEwQkM4MDAwOEI5MDBCODAwQUI4MDEyRTAwMENCMDAzRTgwMEZBMDA3QworOjEwQkM5MDAwM0VDMDBGQTA0M0VDMDBFQjAwM0U4MDBGQTYyM0MyMDI4MworOjEwQkNBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRTAwRkU4MDMzMjA2MAorOjEwQkNCMDAwNEVDOTEyRjY1MEVGOTAzRkUwMEMxOTAwQjY0MkNGMjE2QQorOjEwQkNDMDAwM0ZFMDBFRjkwMkU2QzBGRjgwM0ZFMDRDREMwMzQwMDA5RAorOjEwQkNEMDAwNzAwMDAwMDAwMDAwMDAwMEFBMTE5NDAwQjcwMDgxNDAyRAorOjEwQkNFMDAwMDgwMzAyMTRDNDg3MDEyREM4MDg2QTEyMzg0MDg3MDI2RAorOjEwQkNGMDAwMkRDMDA4NzExMkQyODBCNzAwMkQ4MDA4NjAwMjJBMDQ3RQorOjEwQkQwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwQjcxMDIxODBDRgorOjEwQkQxMDAwMDhGNDEyOTQwNEE2MDAyQ0MwMThEMjAyMTQ0ODg2MTAwRAorOjEwQkQyMDAwMkQ4MDBBNjEzMkQ0MDBCNjE4MkRDNDA4NTgwMjAwMTBDNAorOjEwQkQzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDNDAwQjMwMDIwQzA1OAorOjEwQkQ0MDAwNDBCMDIyMDQwMDgyODEwQ0MwMDgzMDBBMEEwMDhBMDAzOAorOjEwQkQ1MDAwMkVDMDA4QTAwMkM0MDBCQjAwMkU4MDA4MjAwMjA4MDRFOAorOjEwQkQ2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwRkIwMEEwQzBERgorOjEwQkQ3MDAwMjQ5NDIzQUMxMEVCQTAwRUMwMENCMDAyMkUyMEM5MDBGRQorOjEwQkQ4MDAwMkU0MDBFOTAwM0VDMDBGOTgwM0U0MDZDQTAwQjJBMDQ3QworOjEwQkQ5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBDQzAwRkIwMDNFQzBGRQorOjEwQkRBMDAwODk5MDAzMkMwMEZCMDIzRTQwNEZBMDAzNkQwMUZCNDEzNAorOjEwQkRCMDAwM0VDMDhGQjQwM0U4MDBGQjIwM0U1MDBGQTQwM0UwMDAxOAorOjEwQkRDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwQzMyMEIyQzBFMQorOjEwQkREMDAwMEREMDAzMzgwMENEMDAzRjgwMERGMDAzRkMwMEZEMDJDNAorOjEwQkRFMDAwMzYwMDBDRDAwMzNGMDhGQzA0MTJDMDBDQTAwM0MwNDQ3MgorOjEwQkRGMDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2QzAyOEJDODIyQzBFQworOjEwQkUwMDAwMDg5ODBBMkE0MDg5MjAyRTAxOEVCMDEyRUM4MEJCRjBERgorOjEwQkUxMDAwMjJFNTA4QkQwMjJFMDBCQjkwMjJFRDA4QTIwMkUwMDA0MAorOjEwQkUyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwOEIwMTIyMDBBMworOjEwQkUzMDAwNDlBODFFMDQwMDhCMDEyRUMwNDk5MDAyRTQwMEI5MDBGRAorOjEwQkU0MDAwMjI0MDBBOTAwMjJDMDBCOTAwMkE0MDA4ODAwMkUwMDAzQgorOjEwQkU1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDAwODEwMDIwNDBCMQorOjEwQkU2MDAwMDgyMDAyMDQwMDgzMDAyQ0MwMEEyMDQyQ0MwMEIzMDA0QQorOjEwQkU3MDAwMjBDMDAyMzAwMjA4ODRCMzA0MDg0MDA4MjAwMkMyMTEyNgorOjEwQkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwOEIwMEIyODA3QworOjEwQkU5MDAwMERCMTAzMjQwMkNCMDEzRUMwNEQ5MDQzRTQwMEY5MDBGNAorOjEwQkVBMDAwQjIwMDJFOTAwQjJDODBGODAwQkFDMDJDODAwM0MwMDM4NworOjEwQkVCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGNDAwN0QwMDNGQzAwNQorOjEwQkVDMDAwMEY3MjAzRDQwMEZGMDAzRkMwMEVGMTQ3RkMwMEZGMDBEQgorOjEwQkVEMDAwM0JDMDBERjAxM0ZDNTBGRjAwMzdDMDBGRTAwM0U4MDYzNQorOjEwQkVFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMEM0Q0MzMzNGMDQyNworOjEwQkVGMDAwMkNGNjAzMzg2MENDOTBCMzIwMEZGMTIzRjA2MEZGMDFFMworOjEwQkYwMDAwMjNDODBDRjI4QTNDODFERjMwM0Y2NDBDRDgwMzMwMDQzNAorOjEwQkYxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFMEMyOEEzMDJFMTg3RgorOjEwQkYyMDAwMDhGNTMwQTU5NDU4MjIyMjIxNEJGMzAyRTEwMDlGNzBCRQorOjEwQkYzMDAwMkJFNDBBRjQxMjFENDBBRjcyMkM0OTJGMzA4MkEwMDY2OAorOjEwQkY0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDNDgwODBBMDJDOTgwQworOjEwQkY1MDAwMDgzMjIyMDgwMDgyMDAyODAwMDMzMjAyQzA4NEIzMEM5OQorOjEwQkY2MDAwMjBDMDU4MzI5MjhDMzBBMzIwMkVDMDQ4MTI0MjYyMDE2OQorOjEwQkY3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBODAwOEIwMDJFMjBGQgorOjEwQkY4MDAwMDhCMDBBMjAwMTk4MDAyQTIyMEJCMDAyRTYwMDlCMDBBQworOjEwQkY5MDAwMjJDMDBBQjAxMkFDMDRBQjAwMkVDMDAzQjAwMkYwMDAwNQorOjEwQkZBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMTVFNTAwQzgwMDNFQjA4MQorOjEwQkZCMDAwMENCMDAzMjkwMEM4MDAzQTIwNEZCMDAzRTIyMEZCMDE3NworOjEwQkZDMDAwQjBDMDBDQjAwMzJDMDBGQjAyM0M0MTBDOTA0MzQ4MDQ3MQorOjEwQkZEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFBMjgwRkU0MDNFMDA3MgorOjEwQkZFMDAwMEZGMDYzRUMwMEJGQzQxNzQyMEZGMDAzRUMwMEZGMDAzQQorOjEwQkZGMDAwMUZDMTBGQjAwMzVDMDBGQjAwM0Y0MDRGRjAwMEI4MDBEMgorOjEwQzAwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBNTAyQzgwMDNFOTA0MworOjEwQzAxMDAwMkNCMDBCMDEwNkNCMDEzRTUwNUZCMDEzMjExMENCMDBCQQorOjEwQzAyMDAwN0VDMDBDQjAwQjJDMDBDQjAwMzJDMDBDOTAwMzEwMDQ2RgorOjEwQzAzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyODAxOEJEMDJDMzQyRgorOjEwQzA0MDAwNDhGRjAyMzAwMEFBMDQyRTY5MEZGMDAzNjgxMERGMDBEOQorOjEwQzA1MDAwMkZENDBERjAwMjNFMDA1RjA0QjZDMDA4QjAwMzcyMDA5QQorOjEwQzA2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2OTkwODE4MDJDMDA4NQorOjEwQzA3MDAwNDhCODAyMDgwOTk5MDA0Q0IwMEIzMDAyMEMwMDhCMDA0NAorOjEwQzA4MDAwMkNDMDA5QjA0MDBDNDA4MzAwMDA0MDBBOTAwMjMwMDBGMAorOjEwQzA5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjAwODQ4ODJERTRGQworOjEwQzBBMDAwNDgzOTAyMTYwMEI0ODAyREUwMEE3QjA2NUUwMDk3ODBCNgorOjEwQzBCMDAwMkRFMjA5NzgwMjFFOTA5NzgwMjU2NDhBNzgwMjQ4MDA1NAorOjEwQzBDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwRDAwODExMDJDOTY4MAorOjEwQzBEMDAwMDgzMTIzMEMwMDkwMjAzQ0M0MUJCODAyMDg0MEMzMDA2OAorOjEwQzBFMDAwMkNDNDBEMzAwMzBFNDBDMzEwMzBDMDRFMTAwNzFBMTI3RQorOjEwQzBGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURCQzAwN0QwNTNGQzVBMQorOjEwQzEwMDAwMEZCMTBCRjQwMEVGMDAxRjQ1MEZGMDQzRkMwMUZGNDA5RgorOjEwQzExMDAwM0RDNDFGRjAwNkZDMTBGRjAwM0JDMTJERjEwM0QwMDYwQgorOjEwQzEyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzA0Q0IwNDNFQTA2NQorOjEwQzEzMDAwNDRCNjAzMjgwNENCODAzMjgwMEZCMzkzNjAwOEZCMjAwMQorOjEwQzE0MDAwM0VEMjFGQjMwMzJEODBGQjYxN0U0MDhDOTgwMzJBMDBGMgorOjEwQzE1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE4NDBDODYwNTJEQzAwRQorOjEwQzE2MDAwMDhGNDgyOEM5MDg1MDBBMUMwMEJGMDAyNUMwMDM3MDBCRgorOjEwQzE3MDAwMkREMDBCNzEwMjFDQzhCNzQ4MkQ0MDBBNzAwMjEyMDQ2MgorOjEwQzE4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwODc4MDJEQTExQworOjEwQzE5MDAwNjA3ODRBMTZEMEE3ODAyOUUwMEI3ODUyOTYwMUI3OTBCNAorOjEwQzFBMDAwMkRFODBCN0EyMjVFNDBCN0EwMkZFMTQ4NTAyMjMwMDBFNAorOjEwQzFCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzEwODM4NDJDQzAzNAorOjEwQzFDMDAwMDgzMDAyQTQxMDgzQ0IyOEUwMEIzMDJBNEY0MDkzMDBBNAorOjEwQzFEMDAwMkNDMDBCMzAwMjRDMTBCMzAyMkNDMEFBMzAwMjEyMDQ0NworOjEwQzFFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCODAwQ0VBMDNGODAzRAorOjEwQzFGMDAwNENBMDJCM0EwMENFNDAzQkI4MEZBMDAzQjkwMEJBMDBDOAorOjEwQzIwMDAwM0U4MDBGQTAwMzY4MDBGQTAwN0U4MDFDQTAwQjNBMDQ1OQorOjEwQzIxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAyRjgwMDNFMDQ1QQorOjEwQzIyMDAwOEYwMDAzRTA0QUY4MTAyNjE4MEY4MDAzQTA4MEY4MDI2MAorOjEwQzIzMDAwM0UwMDhGMDAwQkEwMDBGODAyM0UwMDBGODAxM0QyMDBEQQorOjEwQzI0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDIwQzkwMDMyNDA2NworOjEwQzI1MDAwNEQ5OTAzMjQwMEM5MDIzRTY4MEY5MDAyMjQwMEU5MDBCMgorOjEwQzI2MDAwMzA0MDhDOTAwMzA0NDBDOTAwM0U0MDBDOTAwMzAyMDQwRgorOjEwQzI3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDIwODkwNjIyNTA4NQorOjEwQzI4MDAwOEI5Q0MyMjQwMEQ5MDEyRTQwMEI5MDQyMjQwOEI5MDE5NgorOjEwQzI5MDAwMjI0NjBEOTAwQTI2MDI4OTAwMkM0MDBBMTAwMjIwMDAzNgorOjEwQzJBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDEwNjAwOTE0MDQyNzBEQworOjEwQzJCMDAwMEI5MDEyMkMwMjhCMDAyRTQwMEIxMDIyRTQxMEIxMDBDOAorOjEwQzJDMDAwQTI0MDQ4OTAxMjI0MDg5OTAyMkU0MDA4OTAwMjA2MDBDRAorOjEwQzJEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDkyOTEyMEUwNDhBMworOjEwQzJFMDAwMEIxMjAyMDQwMjkxMTAyQ0MwMEIxMDA2ODRDMEIxMTA3NgorOjEwQzJGMDAwMjA0ODg5MTEwMjA1ODA5MTQwMkU0NDJBOTQwMjAyMDFBRgorOjEwQzMwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MTQwRDg1MDMwMTQ1QgorOjEwQzMxMDAwMEY4NTBCMjFFMDgwNDAzRTAwMEY4NzhCRTEwQ0Y4NkMwRAorOjEwQzMyMDAwMzIwMDg0MDY4MzIwMDREODI4M0UxMDBDMDAwMzJFMDMxQworOjEwQzMzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQwQUQxMDNGNDU4MworOjEwQzM0MDAwMEY5MTAzRkMxODdEMjAxRjQxMEY5MDAzNzRDMEY5MjE0OQorOjEwQzM1MDAwM0U0NDBGOTIwMUU0NDBFOTAwM0Q0ODRGRDAwM0U2MDYxOQorOjEwQzM2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDVGNzgwRkRFMDMzNzA0OQorOjEwQzM3MDAwMENEQTAzMjYyMEM5NDAzMTQwMEU5QTAzMjQwMEY5ODBDQworOjEwQzM4MDAwM0I2MDBGOUM4MzM2QTBGOUExQjA0MDBGOTEwM0M2MDAxQgorOjEwQzM5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFMjkwQjhBMDIyMjhEMQorOjEwQzNBMDAwMjg4ODBBMjIwMjg4QTAyMjAwMDg4ODAyQzI4MEI4ODg1MQorOjEwQzNCMDAwMjIwNDBCOEUwMzIyODBCOEQwMkEyMDBCODgwMkNFMDRFMAorOjEwQzNDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNTgwQjE2MTAwNTg4MQorOjEwQzNEMDAwNDgxNjhBMDRBMDg5MDEyMjQwMUExNDg4MDQyMEIxNDAxQQorOjEwQzNFMDAwMjg0MDBCMTAwQTA0MjBCMTJDMjA0QTBCMTIwMkMyMDE3MworOjEwQzNGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNTkwQkI0MDIwNDAxMAorOjEwQzQwMDAwMDg5MDAyMjQ0MDg5NDI2MjU4MDgxMDAyRTUwMEI5MDNFRQorOjEwQzQxMDAwMjJDMDBCOTAwMkE0MTQzMTAwMkE0NDBCOTAwMkM2MDRERgorOjEwQzQyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTBBNTAwRjkwMTMyNDBFQgorOjEwQzQzMDAwOEM5MDAzMjcwMEMxOTQzMDQwMEU5MDAzMjQwMEY5MDAzMworOjEwQzQ0MDAwM0E0MDBGOTAwMzI0MDBGOTAwMzI2MDA3OTAyN0U4MDU3NgorOjEwQzQ1MDAwMjAwMDAwMDAwMDAwMDAwMDI4MDBBNDE4RjkwMEJFNDRERAorOjEwQzQ2MDAwMEY5MDAzQzQwMEY5MDBCRTYxOEY5MDAzQTQwMEYxMDA5NworOjEwQzQ3MDAwMUU0MDBGMTAwMzI0MDhGOTAwN0U0MDBGOTAwM0NBMDBFRAorOjEwQzQ4MDAwMjAwMDAwMDAwMDAwMDAwMDI4MTBBMTgxRjgwMDMyMDQwNAorOjEwQzQ5MDAwMEMwMEQzMjEwMEQ4MDQzQTE0OUM4MDAzMjEwMUM4MDA2OQorOjEwQzRBMDAwMzYwMDBDODAxMzIwMTBDODAwMzIwMDJDODAwM0NBMDQxMAorOjEwQzRCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDQzQTAwQkU4NDIzODUwQworOjEwQzRDMDAwMDhFQzgzNjgwNDhBMDAyRjkwNERBMDAyMjgwMURBMDA0RQorOjEwQzREMDAwMjNCMDBBQTAwMjJBMDhEQTAxMjI4MDBGQTAwMkNBMDBCMworOjEwQzRFMDAwMDAwMDAwMDAwMDAwMDAwMDI4MDU0QzAwQkJGMDIwQzA0OAorOjEwQzRGMDAwMDgzQzBBMEMwMDkzMDEyOEM4ODkzMDA2NEMwMDgzMDJDRQorOjEwQzUwMDAwMkNGNjA4MzAwMjA0MDBBMzAwMjBDMDBBMzAwMkNBMDA0MgorOjEwQzUxMDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRDExQjMwMEEwQzA2OQorOjEwQzUyMDAwMDg1MDAyNUMxMDg3MDE2RDgxNDkzMjUyMUVDMzg3MDA5QQorOjEwQzUzMDAwMjhFMDBBMzIyNjFGMDAzNzAwMjNFMDBCNzIwMkM4MDBGMQorOjEwQzU0MDAwNDAwMDAwMDAwMDAwMDAwMDI4MDgxMjAwQjc4MjMxMjBERgorOjEwQzU1MDAwMDgwODM3MEYwOEQ3RTAzOTYwMTk3QTBCNUUwQzgzQjJGMAorOjEwQzU2MDAwN0RFMDBDN0EwQjNFMDJBRkEwQjFFMDBFN0EwM0NBMDI2NgorOjEwQzU3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBMDEwRkIwMDNFQzBFRAorOjEwQzU4MDAwNkZCMDQzRUMxMUZCMDAzRTQwMEZCNTAzRUMyMEZCNTBCNQorOjEwQzU5MDAwMzYwMDBGQjU0M0U1QTFEQjc4M0VDMDBGQjQwM0MyMDZGOQorOjEwQzVBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMDVGRTAwRkZBMDNGQTA2QQorOjEwQzVCMDAwMERDOTEzM0UwMENGRDAzREU4MDJGRjEzM0UwMENGODJFRAorOjEwQzVDMDAwM0Y2MDBDRkMyMzNFMTBFRjgwMzNGMjBDRkM4MzEwMDAyNAorOjEwQzVEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzQwQjUwMTJERDBBMworOjEwQzVFMDAwMDg1ODAyMUM0MDU3MTAyRDVBMjgzMTAyQkMwMTk3MTBFMAorOjEwQzVGMDAwMkQwMDBBNzAwMjg0MDRDRjAwMjlDMDBBRjAwMjJBMDQyOAorOjEwQzYwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5MDAwQjcyQTJEODJBQQorOjEwQzYxMDAwMDg0MjIyM0MwMDg3MTEwRENDODgzMjAyMUQwMDk3MDA5MQorOjEwQzYyMDAwMkNDNDA4MzAwMjE0MDBBNzAwMjNDMDA5NzA4MjAwMDA0NworOjEwQzYzMDAwMjAwMDAwMDAwMDAwMDAwMDYwMTRDMDIwQjAyMDJDNTAzQQorOjEwQzY0MDAwMDgxMDAyMkRDMDkzRTIyQzIxMDgzMDAyMEUwODkzMDAzRQorOjEwQzY1MDAwMkM0MDBBMzAwMjhDMDA5MzAwMkFDMDBCMzAwMjE4MDREMAorOjEwQzY2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBQzAwRjhDMDNFODBCQgorOjEwQzY3MDAwMkNBMDBCM0YwMEM3NjAzRUQwMENGMDBCM0MwMENGMDA1RAorOjEwQzY4MDAwM0U4MDBDRjAwQjJDMDBFRjAwMzNDMTBERjAwQjJBMDRBMAorOjEwQzY5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzQwRjM0MDNFNTBDRAorOjEwQzZBMDAwOEVCNDAzRUMxMEZCMDAzRTA5MEZCMDEzRUM0MkVCMDAxQworOjEwQzZCMDAwM0MwMDhGQjAxM0M0MTFFMzAwM0VDMDBFQjAwM0UwMDA5NQorOjEwQzZDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkM4MDMxMjI1RQorOjEwQzZEMDAwMENBODAzM0MwMENGMDAzM0EwMEVGMDAzREMwMENGMDAxOQorOjEwQzZFMDAwMUZGMDBDRjAwM0Y0MDBDRjAyMzNDMDBDRjAwMjAwNTQzMgorOjEwQzZGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2RjAwQkJDMDIyNzAwOQorOjEwQzcwMDAwMEFCOTQyMkMxMDhCMDA3NjExODNCMDAyRUMxMEFCMDBGQQorOjEwQzcxMDAwMkVCMDBBQjAwM0VDMDQ4QjAwQTJDMDI4QjAwMjIwNDA2NworOjEwQzcyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDU2NTQwQjgyMDIyNDQ5MQorOjEwQzczMDAwNTgzNDBBMkMwMDhCMDAyMjg0NEJCMDAyRUMwMDhCMDA5MgorOjEwQzc0MDAwNkVDMDA4QjA0MkU2MDQ4QjAwMDJDMDA4MzAwMkEwMDFBRgorOjEwQzc1MDAwNDAwMDAwMDAwMDAwMDAwMDBDMDAwMDAwQjEwMDIwQzBGQworOjEwQzc2MDAwMEEzMDBBMEMwMDhCMDMyNDgwMEIzMDAyQ0MwMEEzMDA5QgorOjEwQzc3MDAwNkMwMDBBMzAwMjhEMDA4MzAwMjBDMDE4MzAwMjgyMDA1NQorOjEwQzc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2NDAwRjgwMDMwMDAxNQorOjEwQzc5MDAwNENBMDBCMkMwMkNGMDAyMjQwMEVGNTAzRkMwMENGMDE3MQorOjEwQzdBMDAwM0UwMDBDRjAxMkREMDJDRjAyMzNDMDRDRjAwQjgwMDNEMAorOjEwQzdCMDAwMTAwMDAwMDAwMDAwMDAwMEE0MTlGMDAwRkMwMDNGNDA0MQorOjEwQzdDMDAwMEZCMTAzREMwMEJGMDEzRjAwMEZGMjIzRkMxMEZGMDA5QworOjEwQzdEMDAwM0YwMDBGRjAwMUY0ODRGRjAwM0RDMDRGRjAxMzY4MDZFNgorOjEwQzdFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGRTQwREY4MDMzQzg3QworOjEwQzdGMDAwMENGODAzM0MwQTlGQzAzRkYwMDhCODAyM0UwMEZGODBERgorOjEwQzgwMDAwM0ZEODBDRjk2MTJFNDA2RjkwM0ZFNDhGRjE4MzMwMDBFOAorOjEwQzgxMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFQzA0OEI4MDIzRjAwQQorOjEwQzgyMDAwMDhCODAyM0Q0MEFCMDAwRTA4NDgyMjgyNkMyMEJCMDBENQorOjEwQzgzMDAwMkZEMDQ4QjAwMjJDMDBCQjAwMkVDMTBCQjAwMjMwMDQzOAorOjEwQzg0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDQzAyODMwMUEwQzU3NAorOjEwQzg1MDAwMDhCMDRBNENBMDgwMjQyOEM4MDkzMjAyNEMwMEIzMDgxMgorOjEwQzg2MDAwMkVEMTI5QjIzQTBDODRBMzIxMkNDODRCQjIwQTMyMDEzMgorOjEwQzg3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA4OEIwMDIyQzA1MgorOjEwQzg4MDAwMDhCMDAyNEMwMDg4MjEyNDIxMDlCMDQ2NkMwMEJCMDY4OAorOjEwQzg5MDAwMkVDMDA5QjAwMjJDMTBCQjAwMkVDMDBCQjAwMjMwMDQxOQorOjEwQzhBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwQ0IwMDMyQzAyQQorOjEwQzhCMDAwMENCOTAyNkMwMENCQzgzQUMwMkQ5MDBCMkMwOEZCMDBDMQorOjEwQzhDMDAwM0VDMDBEMzA0MjJDMDBFQjAwM0VDMDBGQjAxMzAwMDQwMAorOjEwQzhEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCQzAwRUYwMDNEQzA1RgorOjEwQzhFMDAwMEZGMDAzQkMwNkVGODIzRjQwNEVDOTgzQkMwMEZGMDAzRgorOjEwQzhGMDAwN0ZDMDFDRjAxMzdDMDBGRjA0M0ZDMDBGRjAwM0Y4MDA2MgorOjEwQzkwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwMjNFQzBEMAorOjEwQzkxMDAwMEVCMDAzQUMyMEQ4NDAzRUMwOEM5MDBCMkMwMEZCMDAyNgorOjEwQzkyMDAwM0VDOTBEQjAzM0VDMDhGQjAyM0VDMDBGQjAwQjU0MDRGRgorOjEwQzkzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyQzAwQjMwMDJGQzAzQworOjEwQzk0MDAwMEIzMDEyRkMwMDg4QTAyRTQwMjg5NDAyMkMxMEJCMDQ0RgorOjEwQzk1MDAwMkRDMDI4QjAwMkVDMDBCQjAwMkVDMDBCNzIwNjMyMDBDNgorOjEwQzk2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU2QzAwQjMwMDJDRTA3NworOjEwQzk3MDAwMEExMDAyQ0QwMDkzMDAyQ0MwMDhCMDAyNEMwMEIzMDA5NgorOjEwQzk4MDAwMjhDMDA4MzAwMkNDMDBCMzAwMkNDMDBCMzAwMjNBMDBBMworOjEwQzk5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExRTQwQjc4MDJERTI4MgorOjEwQzlBMDAwMEI1ODAyREUwMjk3ODEyRkEwMDg2ODAyNUUwMEI3ODE1MworOjEwQzlCMDAwMkZFMDA4NzkwMkRFMDBCNzgxMkRFMDBCNzgwMjNDMDAwMQorOjEwQzlDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwQzAwRjMwMDNDQzBEQworOjEwQzlEMDAwMEUzMjAzQ0M4MEQzMDAzQ0M0MEMzOTAzNEMwOEYzMUE0QworOjEwQzlFMDAwM0NDNjBEMzAwM0NFMjBGMzA4M0NDMDBGMzAwMzUyMDI4QQorOjEwQzlGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMURBQzAwRkIwMDJFQzA0NQorOjEwQ0EwMDAwMEJCMDAzQ0MyMEVCMDAzQzgwMEZCMDQxQUMwMEZCMDAyRQorOjEwQ0ExMDAwM0NDMjBGQjAwM0VDNDBGQjAwM0VDMDBGMzAwM0QwMDYxOQorOjEwQ0EyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFRTAyQzM4MDMwQ0VDOAorOjEwQ0EzMDAwMEQ5ODAzQUNBMEMzODBCMkMwMEZCMDAzRUMwMEZCMDBBNAorOjEwQ0E0MDAwM0VEMjRGQjAwOTJFMDg0QjAxM0VDMDI0QjAwM0VBMDA4RAorOjEwQ0E1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5QzAwODcwMTIxQzAwOAorOjEwQ0E2MDAwNDg1MDEyNEMwMDg3MDAzNUMwNEI2MDAyREMwNEI3MDEwRgorOjEwQ0E3MDAwMkRDMDBCNzAwMjFDMDA4NzAwMkRDMTBDNzIwMkYyMDQ0NQorOjEwQ0E4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwODc4MDIzRTBERQorOjEwQ0E5MDAwMDhGODAyREU4MDhGODEyMUUwNEI3ODEyREUwNDM3ODBCNworOjEwQ0FBMDAwMkRFODBCRjgwMjNFMTg4NzgwMkZFMDA5NzkwMkUwMDA5QworOjEwQ0FCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzAwODMwMEEwQzA0QgorOjEwQ0FDMDAwMjgzMDQyNEMwMDgzMDAyNEMwMEIzODA2Q0MwNEIzMDA0RAorOjEwQ0FEMDAwMkNDMDBCMzAwMjBDMDI4MzAwMkNDMDA4MzAwMkQyMDRBMAorOjEwQ0FFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVBODAwQ0EwMDMxODBGNgorOjEwQ0FGMDAwMDhFMDAyOTgwMkNFMDAzMzg0MEJFQTAzRTgwMEJBMDA5MworOjEwQ0IwMDAwM0Y4MTBGQTAwMzI4MDBDQTAwM0U4MDBERTAwM0ZBMDQxNQorOjEwQ0IxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDAwRjgwMDNFMDA1NworOjEwQ0IyMDAwMEU4NDIzQTAwMEY4MDAzQTEwMEY4MDAzRTAwMEY4MDAwNAorOjEwQ0IzMDAwM0UxMDBGODAxM0UwMDBGODAwM0UwMDBEODAwM0QyMDA4RAorOjEwQ0I0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTBFNDAxRjkwMDNFNDA0MQorOjEwQ0I1MDAwMEM5QTEzRTQwMEM5MDAzRTQwMEM5ODIzRTQ4MEY5MDBDRAorOjEwQ0I2MDAwM0U0MDJDOTgwMzY0MDBGOTAwM0U0MDBDOTAwM0MyMDQ0MAorOjEwQ0I3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA0QjkwMDJFNDA3MgorOjEwQ0I4MDAwNjg5QzIyRTQwMjg5MDE3QzUwOEQ5ODIyRTQ4MEI5MjBCRgorOjEwQ0I5MDAwMkU1MDQ4MTAwQjI1MDBCOTQ0MkM0MDI4OTAwMEUwMDA4RQorOjEwQ0JBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjkwMDJFNTBGRAorOjEwQ0JCMDAwMDg5MDAyRTQwNDg5MDAyRTUwMEE5MjAyRTQwMEI5MDBCMQorOjEwQ0JDMDAwMkM0MDA4OTEwMjI0MDBCOTAwMkU0MDA4OTAwMkM2MDBCMworOjEwQ0JEMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNTAwQjEwMTJDNDBFNgorOjEwQ0JFMDAwNDgzMDAyRTQwMDgxMDAyQTQwNEIxMDAyQzQwMEIxMDAyQQorOjEwQ0JGMDAwMENDMDA4OTAwMjBDMDBCMzAwMkU0MDQ4MTIwMkMyMDE4MworOjEwQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2MDAwQjgwMTNFMDAwOAorOjEwQ0MxMDAwMUM4MDA3RTE1MEM4NTAyRTE0MUU4NTAzRTE0MUY4NTBENgorOjEwQ0MyMDAwM0UxNDBDODUxMzIxNDhGODUwM0UxNDBDODU0M0VFMDM0NgorOjEwQ0MzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MTlDNDAwRjkwMDNFNTFBNworOjEwQ0M0MDAwMEY1MDAzRTUwMEZEMDAzRjQwMUREMDAzRjQxMEY5MDAzNAorOjEwQ0M1MDAwM0U1MDBGNTAwMDk0MDBGOTAwM0Q0MDBGOTEwM0U2MDY0RQorOjEwQ0M2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDFFNDUwQ0QwMDMxNjBBOQorOjEwQ0M3MDAwMDREMDAzMzY4MEMxNDIyRTUwMUY5NDAzRTUwMEU5MDIyMAorOjEwQ0M4MDAwMkU3MjBBOTAyMjA1MDhFOTQwM0U1MDQwOUMwMzI2MDA3RgorOjEwQ0M5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBDMjgyODgwMDIyMTVEOQorOjEwQ0NBMDAwMDg4MDAyMjM1ODg4QTAyRTI4MEJBQTQyRTI4Mjg4ODA5RQorOjEwQ0NCMDAwMkUzODI4ODgwMjIyODBCOEEwM0EyODA4Q0QwMjBFMDQxNworOjEwQ0NDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwODEwMEE2NDBGQworOjEwQ0NEMDAwMjgxMDBBMjQyNjk1MDAwRDQwMEI1MDAyNzQwMDg1MDg4OAorOjEwQ0NFMDAwMkY0MDc5RDJBQTE0MDBBNTAxMkY0MDM4NTAwMjEyMDExQQorOjEwQ0NGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDA0ODkwMDI2NDAwMAorOjEwQ0QwMDAwMDg5MTAyMjQxMDlEMDgyRjQwMEJEMDAyRjQwMDhEMDJFMAorOjEwQ0QxMDAwMkY0MDA5RDAwMDM0MDBCRDAwMEI0MDE4NzAwMjA2MDRGQgorOjEwQ0QyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVDNDAwQzkwNTM2NDFFNQorOjEwQ0QzMDAwNEM5MDYzMjQwMEQ5MDAzRTQwMEI5MDAzNDQwOEM5MDA4NgorOjEwQ0Q0MDAwM0U0MDE1MTAwMzI0MDBFOTAwM0M0MDBDOTAwMzI4MDRFOQorOjEwQ0Q1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDFBNDA0RjkwMDNBNDAxRgorOjEwQ0Q2MDAwNEY5ODAzRTQwMEU5OTkzRTQwNEY5MDAzRTQyMEY5MEEwQworOjEwQ0Q3MDAwM0U0MDBFOTA0MzY0MjRGOTA4M0E0MjBGOTA4QkRBMDA0QgorOjEwQ0Q4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwQzgwMDEyMDA5MQorOjEwQ0Q5MDAwMEM4MDQzRTAwMEM4NDAzMjAwMEY4NDUzRTAxMEY4MDBEQworOjEwQ0RBMDAwM0UwMDBEODAyMzIwMDBEODAwM0UwMDBGODAwMzBBMDRCRgorOjEwQ0RCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzODAyODIwMEExODg0MQorOjEwQ0RDMDAwMDg2MDIyQzgwMDhBNDAzNkExMEJBMDAyRTkxMEJBNDRDQworOjEwQ0REMDAwMkM4MDBDQTQxMjI5MDI4QTQ0MkU5ODBCQTQwMjBBMDA2QgorOjEwQ0RFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0QzEwODMwMDIwRTBGNworOjEwQ0RGMDAwMTgzMDkyQzQwODkzNDAyMEUwMEIzMDAyQ0QwMEIzNDBCRAorOjEwQ0UwMDAwMkNDMDBCM0E0MkNEMDA4MzQwMkNEMDBCMzgwMjRBMDA5NAorOjEwQ0UxMDAwNTAwMDAwMDAwMDAwMDAwMEEwNDExQzAwODcwMDIxQzA1RAorOjEwQ0UyMDAwMjg3MDAyRDEwMDlEODAyNUMyNEI2MDAyREMwOEI3MDI0OQorOjEwQ0UzMDAwMkNDMDBBNzQwMkZFMDA4NzAwMkRDMDBCMzQwMjY4MDA2QgorOjEwQ0U0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgxRTAwQzc4NDMxRTA3OAorOjEwQ0U1MDAwMEM2ODAzRDYwMDk3ODAzMUEwMEY1ODEzREUwOEY3ODJDNAorOjEwQ0U2MDAwM0RBMDBGRjgwQkRFMDBDNzgwM0RFMDBGNzg4QjZBMDIxMworOjEwQ0U3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBRDgwRjMwMDNFQzE2RQorOjEwQ0U4MDAwMEZBMDIzQzAwMkU5MDAzRTgxMEY4MDAzRUMwMEZCMDBFRAorOjEwQ0U5MDAwM0VDMDBEQjAxMzJDMDBFQjAwM0VDMDBGQjAwMzgyMDI2OQorOjEwQ0VBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGRjMyQzc4MDMzNjAxMgorOjEwQ0VCMDAwMEY3ODAzM0VDODRFODAyMzY0MENGODAzM0EwMENFODBGRQorOjEwQ0VDMDAwMTNFQzA2RDgwMzNBMDBERTgwMzNBNDBDQzgwM0QwMDA2QworOjEwQ0VEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTE5QzAwODcxMDAxQzAzNQorOjEwQ0VFMDAwMEI3MDAyMTg1MDg0MDAyQjQ0MDg2MDEyOTgwMDg2MTNCRgorOjEwQ0VGMDAwMjFDNDg4NTAwMjE4ODA4NjAwMjE4MDA4NjEwMkVBMDQ1QgorOjEwQ0YwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwODcwMDIxNDAzRAorOjEwQ0YxMDAwMEJGMTAyNUM4MDA2MDAyMTAwODhEMDAyNUMwMDg3MDBEMworOjEwQ0YyMDAwMjA4OThBRjEwMjFDMDg4NzEwMjE4MTg4NDgwMkM2MDBFNgorOjEwQ0YzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzEwODMwNEEwQzFEOQorOjEwQ0Y0MDAwMEIzMDBBNDgwQzg4MDY2MDM4MDgwNDQyRUMwMThCMDQ1OAorOjEwQ0Y1MDAwMjJDMTA4MzAwQTJDMDA4QjAwMjI4MDAwMjAwMkQ4MDQ1NQorOjEwQ0Y2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVCQzAwQzMwMDIyODBCMworOjEwQ0Y3MDAwOEY5MDAzNjQwQUNCMDJCMkYyMjAzNTEyNjQwQUM5MDAxMgorOjEwQ0Y4MDAwQjI0MDBFQTAwMzI0MEFDOTAwQTI0MDJDQTAwM0VFMDQ2NAorOjEwQ0Y5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFQzAwRkIwMDNDODAwRQorOjEwQ0ZBMDAwMEY5MDAzQTUwMERCNDAzRUQwNERCNDEzQTQwOEZCMDE1NQorOjEwQ0ZCMDAwM0VDMDFDQTAwMzZDMDBGQjA0M0U1MDRGQTQwM0UwMDBFNQorOjEwQ0ZDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwRkYwMDMzQzAzMgorOjEwQ0ZEMDAwMENFODQzMjYwMERGODBCM0UwMEZGODAzN0MwMENEMDBBRgorOjEwQ0ZFMDAwMzMwNDBDRTAyMzM0NDBDRDAwMjM0MDBDRTAwM0UwMDQ4NAorOjEwQ0ZGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2QzEwQkIwMEEyRDJEMQorOjEwRDAwMDAwMDgyODAyMDQ2MDhCMTkyMkM2MEVCMThBMkU0MDhCOTAyQworOjEwRDAxMDAwMjJDMTA4QTQ4MjJDMDA4QjkwMjI2NDQ4QTQwMkUwMDA2NAorOjEwRDAyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDUyQzAwQkIwMDIyMDA2MgorOjEwRDAzMDAwMDg5MTJFMjQwMDlCMDAyMkMwOEJCMDEyMjAwNDg4MDA4RgorOjEwRDA0MDAwMjI0MDA4MTAyMjIwMDA4ODAxMkFEMDA4ODA0MkUwMDBGNworOjEwRDA1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwQzAwQjMwNDIwODAyMQorOjEwRDA2MDAwMDgxMDA2MDQxMDgzMDAyMEMwOEJCMDEyMDAwMDgyMDA1QworOjEwRDA3MDAwMjBDMDI4MTA0MjA5MDY4MjAwMjhDMDA4MjAwMkMyMDFGMAorOjEwRDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3QzAwQkIwMDMyNDBFQQorOjEwRDA5MDAwMkNCMDAzMjQwMEQzMDAzMkMwNUZCNTAzMEMwMkMxMDBFMgorOjEwRDBBMDAwQjIwMDBDQjAwQjA1MDBDMTAwQjhDMDJDODAxM0UwMDMyNworOjEwRDBCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMUREQzAwRkYwMDFGQzBBOQorOjEwRDBDMDAwODdGMDAxRjQwMEZGMDAzRkMwMEU3MDQzRkMxMDdGMDBBQQorOjEwRDBEMDAwM0ZDMDBGNzAwM0ZDMDBGRjAwMzdDMDBGRTAwM0U4MDZGRAorOjEwRDBFMDAwNzAwMDAwMDAwMDAwMDAwMEMwMDVGMTg0RkU2MTMxRDgyRQorOjEwRDBGMDAwMENCMkMzRkNFMENDODA3QkMwMEVGMTAzN0NFMENDODM5RgorOjEwRDEwMDAwM0YyMDBGRjBDQjMyNDREQzg0M0YyNTRDRjI0MzMwMDAwQgorOjEwRDExMDAwNzAwMDAwMDAwMDAwMDAwMDgwMTBFNDQ4QjAxMDIyREMyNQorOjEwRDEyMDAwMDhCNjAyRkQ5Mjg4ODUyM0Y0NDBGMTAyRUQwMDg4MkRCNworOjEwRDEzMDAwMEU2MDBCQkMxMjJDMTBBODgyMkUwMDBBRkMyMkEwMDQ0OAorOjEwRDE0MDAwMzAwMDAwMDAwMDAwMDAwMDg4MDVDMDgwQjMyMjI4QzAyNQorOjEwRDE1MDAwMDgzMDgyQ0MwMTg4MDAyQ0MwNEEzMjAyQ0MwMDAxMDE4OAorOjEwRDE2MDAwMjgwMDRCQjAwMkEwMDA4MDAwMkMwOTA4MzQwMjYyMDFBNAorOjEwRDE3MDAwNzAwMDAwMDAwMDAwMDAwMEMwMTVBQzA0QjIxMDJBQzEwRAorOjEwRDE4MDAwMDhCMDAyRUMxMDg5ODAyMkMwMDhCMDAyRUMwODg4MDBDOAorOjEwRDE5MDAwMkU0MDgzQjAwMkEwNDBCOTgwMkMyMTBBQjAwMkYwMDRENgorOjEwRDFBMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTVFQzAwRkEwMEJBQzA2QQorOjEwRDFCMDAwMkNCMDQzRUMwMEMwODAzRUMwOEVCMDAzNEMwQ0M4MTBCNQorOjEwRDFDMDAwM0U4MDhGQjAwMzgyMTBEODgyM0UyODBDQjAwQjUwMDRGMgorOjEwRDFEMDAwNzAwMDAwMDAwMDAwMDAwMEUwMDFCNjgwRkQwMjM3QzFEMQorOjEwRDFFMDAwMEZCMDAzRkMwMEZEMDAzRUMwMEZCMDUzRkMwMkZGMDE3NgorOjEwRDFGMDAwMkZBNDhCRjA4MzdDMDBBRDAyMkY0MDAzNzAwM0I4MDA5NgorOjEwRDIwMDAwNjAwMDAwMDAwMDAwMDAwMDQwMTBBQzAwRkIwNDMyQzBEMQorOjEwRDIxMDAwNENCMDIzMkMwMEY4NDAzRUMyMENCMDAzMkMwMEZCNDE2NAorOjEwRDIyMDAwMzJDMjBGQjA0MzJEMDBDODUwM0U0MDBDQjAwQjEwMDQ2QQorOjEwRDIzMDAwMjAwMDAwMDAwMDAwMDAwMEM4MDUyRjkwQjk1MDAzQzA3NgorOjEwRDI0MDAwMThGMDFBM0MwMEI5MzIyREUwMzhGMDYwM0MwNEY5MDBDNworOjEwRDI1MDAwM0VGMDBCN0M4MDJDMDBEOUMwMkU0MDBERjAwMjMyMDAzNQorOjEwRDI2MDAwNDAwMDAwMDAwMDAwMDAwMEUwMDU0QjI0QjIxMDAyQzFBNQorOjEwRDI3MDAwMjgzMDAyNkMwNEIyQzEyQ0MwMDgzMDAwMEMwMEIyMDA4RgorOjEwRDI4MDAwMjgyNDAzM0MwQTAwMDA4MkM4MkNBMDA4MzAwMjM4MDA4MQorOjEwRDI5MDAwNTAwMDAwMDAwMDAwMDAwMDIwMDExNjAwQjQ4MDIxRTRDRQorOjEwRDJBMDAwNDg3QjAyNUUwMEI2ODA2REUyNDg3OTIyMUU0MEFDODQ2NQorOjEwRDJCMDAwMkRFMDBCRkEwMDUyNDA5NjgwMkRFODE5MzgwMjA4MDA0NAorOjEwRDJDMDAwNDAwMDAwMDAwMDAwMDAwMDQ4MDgwODQwRjMxMEIwQzQwRgorOjEwRDJEMDAwMDgzQTAyNEM5MEYzMTAzQ0NDMDgzMTAzMEM0OUIwNDBBMgorOjEwRDJFMDAwMzAwNTBGMzAwNzIxNDA0MzAxM0VDMjFDMzA0MzEyMDI3QgorOjEwRDJGMDAwMDAwMDAwMDAwMDAwMDAwMDQwMERCQzEwRkMxMDNGQzUwNQorOjEwRDMwMDAwMEZGMTAxQkMwNEZGMDQzRkM0MEZCMTRCRkM2NEY3MDBGNAorOjEwRDMxMDAwMzdDMDBGNzI1M0FDNDRGRjAxM0ZDOTBGRjQwM0QwMDY2RQorOjEwRDMyMDAwNjAwMDAwMDAwMDAwMDAwMEE4MDVFQzA4RkEwMDNFRTBFNAorOjEwRDMzMDAwMENCMDAzMkMwMENCMDIzRUNBMEZCMjA3MkUwMERCMDI1QQorOjEwRDM0MDAwMzIwODBGMzEwMzJDMDBDQjA0M0U4MDBDMzUwMzJBMDAzOQorOjEwRDM1MDAwNzAwMDAwMDAwMDAwMDAwMDQ4MTE5NDAwQjUwMDJEQzhDNgorOjEwRDM2MDAwMDg3MDBBMUMyMjg3MDAyREM5MEJGMjgyOUM4MEE2MDAzRgorOjEwRDM3MDAwMDk4QjBCNzAwQTFDMDI4NTAwMkQ0MDA4NzAwMjkyMDQ3NAorOjEwRDM4MDAwNjAwMDAwMDAwMDAwMDAwMEMwMDA5RTAwQjc4MDJDRUM5MAorOjEwRDM5MDAwMDg3QjAyNUU0MDg1ODkyREVDOEI3QjAyNEU4NDhGODA1QQorOjEwRDNBMDAwMjU2NDBCRkEwMjEyMDg5NzgwNkZFMTA4N0EwMjMwMDBCOAorOjEwRDNCMDAwMjAwMDAwMDAwMDAwMDAwMDQ4MTRDQzIwQjM2NDJDQzAwMgorOjEwRDNDMDAwMDgzMDA2MEMxMDgzOEE2Q0MwNUIzMDQyQ0MwMEFCMTA3NgorOjEwRDNEMDAwMkNGMjBCMzAwMjBEMDA5MzA0MkNENTA4MzAwQTkyMDQ3NQorOjEwRDNFMDAwMzAwMDAwMDAwMDAwMDAwMEU4MTVCQjAwRkVDMDNFODBEOQorOjEwRDNGMDAwMkNBMDAzNjgwMEM2NDAzRjgwMEZBMDAyNjgwMENFNDQwNgorOjEwRDQwMDAwMzY5MDRGNjAwMzFCNzBERUQ4M0ZBMDBDMjAwMzNBMDQxNworOjEwRDQxMDAwNjAwMDAwMDAwMDAwMDAwMDQ4MDBFMDQwRjgxMDNFMDBGRQorOjEwRDQyMDAwMEY4MDAzQTAxMEY4NDIzRTEwMUY4MDAzQTAwMEU4MENGQworOjEwRDQzMDAwM0EwNDFGODAwM0UwMDBFODQ1N0UwMjJGODAwM0QyMDBGQgorOjEwRDQ0MDAwMzAwMDAwMDAwMDAwMDAwMDA4MTA2NDAwRTk4MDMyNDA1NQorOjEwRDQ1MDAwMEY5MDBCMDQwOEQ5ODAzNjQwMEYxMDEzMjQwOEY5MDBGMAorOjEwRDQ2MDAwNzI3MDBGOTExMzI0MTBDOTEwM0U2OTBDOTAwMzAyMDRDRQorOjEwRDQ3MDAwMzAwMDAwMDAwMDAwMDAwMDgwMDQ2NDA4Qjk4MDIyNDBGMQorOjEwRDQ4MDAwMEIxMDAyMjQwMDg5QzQyMjUyMEI5MDQyMjQwMEI5MDBFMAorOjEwRDQ5MDAwMjJFMDBCOTAxMjI0MDREOTRBMkU2MDA4OTAwMzYwMDAwOQorOjEwRDRBMDAwMTAwMDAwMDAwMDAwMDAwMDE4MDUyNDAwQjExODIyNDAwMAorOjEwRDRCMDAwMEI5MDAyMjQwMDhCMjAyNjQ5MEI5MDAyNjQwMEI5MDBENworOjEwRDRDMDAwQTI0MDBCOTA4QTI0MDA4QjAwMkM0MEE4OTAwMjA2MDBGQQorOjEwRDREMDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwNDg0QjEyMEEwNDhCRgorOjEwRDRFMDAwMEIxMTA2MDQwMDgzMDAwMDQwNEIxMTAyMDQ0OUIxMTBFNworOjEwRDRGMDAwMjg0MDBCMTAwMjI0NDE5MTAwMkM1MDA4MTAwMjQyMDFEOAorOjEwRDUwMDAwMDAwMDAwMDAwMDAwMDAwMEI4MEQ2OTQwRTg1MDMyMTQyRgorOjEwRDUxMDAwMEY4NjkzMjFFMkM4MDAzNjBBMEI4NjhCNjFBOEY4NDA3QgorOjEwRDUyMDAwMjI4MDBGODJBMzIxMDhDODAyM0UwMDBDODA0MzJFMDNGNAorOjEwRDUzMDAwNTAwMDAwMDAwMDAwMDAwMDk4MURGNDQ4RkQxMjNFNDQxOQorOjEwRDU0MDAwMEYxMjAzQzQwMDdEMDExRTQwMEI5MjAzRTQ4MEY1MjBGRQorOjEwRDU1MDAwMzY0MDBGOTAwM0Q0OTA3RDAwM0Q0MDBGOTQwM0U2MDZDMworOjEwRDU2MDAwNzAwMDAwMDAwMDAwMDAwMDE4MDFGNkMxREQ4ODMyNzI3MgorOjEwRDU3MDAwMEM5ODAzMjYyMkREMDAzRjYyMkM5OTgzNDZBMEM5NDAwNworOjEwRDU4MDAwQjI0MDBGRDgwMzI0MDBGRDAwMzM1MTJDRDg4MzA2MDA4RAorOjEwRDU5MDAwNzAwMDAwMDAwMDAwMDAwMDM4MTBFM0MyODhDMDIyMzA5NAorOjEwRDVBMDAwMDg4QzQyMjIxMThBMDEyRTAwMDg4ODUyMjMwMDgwQTM5MQorOjEwRDVCMDAwMkEwMDRCODA0MjIyQTBCODAwMjIyODA4ODQwMjhFMDQ1MAorOjEwRDVDMDAwMzAwMDAwMDAwMDAwMDAwMDA4MDVDNDAwODEyRDIwNDg0NAorOjEwRDVEMDAwNjgxNDgwMDQyMDgxMDAyRTQwMEIxMjEyMDQyNDgxMjA0NAorOjEwRDVFMDAwMjA0MDBCOTQzMjA0OTBCOTAwMjA0MDQ4MTA0QTAyMDFCOAorOjEwRDVGMDAwNzAwMDAwMDAwMDAwMDAwMDE4MTVBNDAwODkyMDIyNDBERgorOjEwRDYwMDAwMDg5MDEyMjQwMDg5MDAyRTQwMDg5MDAyMjQwODg5NDBDNgorOjEwRDYxMDAwMjI1MDBCQjAwMjI0MjBCOTA5QTI0NDA4OTAwMjg2MDRDQgorOjEwRDYyMDAwNjAwMDAwMDAwMDAwMDAwMEEwMTVFNDAwRDkwOEIyNDAyRQorOjEwRDYzMDAwNEMxMDIzMDQwNEQ5QzEzRTQwOEY5MDBCMDQwOEMxNDAxNAorOjEwRDY0MDAwMTI0MDBGOTA0MzI0MDRGMTQxMzA3ODBDOTAwMzI4MDREOQorOjEwRDY1MDAwNzAwMDAwMDAwMDAwMDAwMDI4MDE4NjY0Rjk4MDNFNDA1MAorOjEwRDY2MDAwMEY5MDBCRTQwMEY5OTgzRTQwMkYxMDAzQTQwMkY5MTAyQworOjEwRDY3MDAwM0U0MDBGOTAwQkU2NDBGOTkwM0U2MDBGOTAwM0NBMDBDOQorOjEwRDY4MDAwNjAwMDAwMDAwMDAwMDAwMDI4MTBBMDAwQzg0MTMyMDAyNworOjEwRDY5MDAwMEM4MDA3MjAxMEM4MTAzRTBDMEU4MDAzRTAwNEM4MDA2OAorOjEwRDZBMDAwQkEwMDBGODE0MzIwMDBGODcwM0UwMDBGMDAwQjBBMDRGRgorOjEwRDZCMDAwMjAwMDAwMDAwMDAwMDAwMDI4MDUzOTAyOEUyMEEzODAxMQorOjEwRDZDMDAwMjhFMDBBMzgxMEFFMDQzREExOEVFMDAyRjgwMDhFMDA3QQorOjEwRDZEMDAwNzY4MDBCNjAwMzc4MDBCRTQwMkY4MjBCQTAwM0NBMDA0NworOjEwRDZFMDAwNDAwMDAwMDAwMDAwMDAwMDI4MDU0RDAwOEI4ODIyQzA4QgorOjEwRDZGMDAwMTgzMDAyMEMwMDgzNDQyQ0QwMUIzMDEyQ0MwNjgzMDA1RgorOjEwRDcwMDAwMjBDMTBCMzA4MjBDMDFCMzAwMkM0MDBCMzAwMjBBMDAwOAorOjEwRDcxMDAwNTAwMDAwMDAwMDAwMDAwMEEwMDExQzAwODUwMDIwQ0M4QgorOjEwRDcyMDAwMDg3MDA2MUM4NEE3MDEyOUMwMEI3MjIyREM4MDg3MzQ5NAorOjEwRDczMDAwNjE4MDBCMTAwMjVDMDBCNzAwMkRDMDBCNzAwMkU4MDA4NgorOjEwRDc0MDAwNDAwMDAwMDAwMDAwMDAwMEE4MDgwRTAwOEM4MDMxRTBCRQorOjEwRDc1MDAwMENGRTAyM0YwMEM1ODAyREUwMEU3ODAzREZBMEM3QTBCRAorOjEwRDc2MDAwMjE2MDBGNzgwMzFFODBGNzgwM0RFMDBGNzgwMzJBMDJDNgorOjEwRDc3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MURBQzAwRjkwMDNFQzBFMQorOjEwRDc4MDAwMEZCMDAzRUMwMEZBMDAzRUMwMDZCMDAzRUM4MEZCMjhBQgorOjEwRDc5MDAwMzZEODRGQTAwM0VDMTBGQTAwM0U1MDBGMzAwM0MyMDZGQgorOjEwRDdBMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDVGQTAwQ0M4MEIzRTAzQgorOjEwRDdCMDAwMEZGODAzM0UwMENGOTAzRjYwNEZGOEMzM0UwMEVGODA2QworOjEwRDdDMDAwMzNGMDBDN0EwMzNFNzBDNTkwMzNGMTBDNzgwMzAwMDBGRgorOjEwRDdEMDAwNzAwMDAwMDAwMDAwMDAwMEE4MTFCODAwODcwMDIxQzAwMAorOjEwRDdFMDAwMEI3MDRBMUMwMDg3MTAyREMwNEI3MTBBM0M0NDhGMTJFRAorOjEwRDdGMDAwMjE4NjBENzIwMjFFMDA4NzAwMjM0MDA4NzAwQTJBMDQ0OQorOjEwRDgwMDAwNjAwMDAwMDAwMDAwMDAwMDAwMDA5QzAwODQwMDI1QzBCMworOjEwRDgxMDAwMEI3MTBBMEMwMEE3MTIyRDg0MEI3MDBBMUMwMEI3MDhBQworOjEwRDgyMDAwMjM0MDA5RjMxQTVDODY5NzA4MjU0MDA4NzAwMjAwMDAxRgorOjEwRDgzMDAwMjAwMDAwMDAwMDAwMDAwMDIwMTRDQzIwODEyMDI2QzAyMQorOjEwRDg0MDAwMEIzMDAyMkMwMDgyNDIyQzgwMEIzMDIyMEMwODlCODA3MworOjEwRDg1MDAwMjBFMDA5MjAwMjREMDg5MjAwMjRFNTA4MzAwQTA4MDQ1RgorOjEwRDg2MDAwMzAwMDAwMDAwMDAwMDAwMEE4MTVBRTgyQ0FFMEI3QzA3QQorOjEwRDg3MDAwMEZGMDEzM0MwQUM5QzgzRTQwMEZGMDAzM0MwNEZGODQ3QworOjEwRDg4MDAwMzJDMDBEOTAxMzdDMDBEOTAwRjZDMDJDMTAwMzJBMDQ3RQorOjEwRDg5MDAwNjAwMDAwMDAwMDAwMDAwMDgwMDBFNDAwRjMwMDNBQzFENgorOjEwRDhBMDAwNEZCMDAzRUMwMEY5MDgzQzAwMEYzMDEzRUMwMEVCMDQyMAorOjEwRDhCMDAwQkUxODBGOTAyM0FDNjBFOTAyM0E0MDRGOTAwM0UwMDA5RAorOjEwRDhDMDAwMzAwMDAwMDAwMDAwMDAwMDAxMTBGQzAwQ0EwMDMzQzA1RQorOjEwRDhEMDAwMENGMDAzRkMwMENEMDI3RjQwMENGMDQyM0MwMENGMDg2RQorOjEwRDhFMDAwMzcxMDBGRDAwM0ZDMTBDRDA4M0Y2NjJDRDkwMzAwNDQzRAorOjEwRDhGMDAwMzAwMDAwMDAwMDAwMDAwMDgxMDQ2MzgwOEJFMDIyQzA0MworOjEwRDkwMDAwMDhCMDIyRUMwMEQ4ODA2RTIwNjhCMDFBMkMwMUZCMDAxMQorOjEwRDkxMDAwMjIxODBCODg0MzRDMDA4OEEwMkNDMDFEOTAwMjIwNDA4OAorOjEwRDkyMDAwMTAwMDAwMDAwMDAwMDAwMDgwMDEwODgwOEIyMDIyQzA1MQorOjEwRDkzMDAwMDhCMDIyRUMwMDg4ODgyRTYyNDhCMDFBQ0MwMDhCMDAxOAorOjEwRDk0MDAwMjZDMDRBODgwMkVDMDAwODg0MkU0MDA5OTAwMjIwMDA3QworOjEwRDk1MDAwNDAwMDAwMDAwMDAwMDAwMDA4MDQwMDAwODMwMDYwQzBEOAorOjEwRDk2MDAwMDgzMDAyQ0MwMDkwMDY2QzAwMDgzMDAyOEMwMEEzMDQ0MgorOjEwRDk3MDAwMjAwMDhCMDAwNjRDMjE4MDAwNkNDMDQ5MTAwQTAyMDE3NworOjEwRDk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2QzAwQ0EwMEIyQzFFMQorOjEwRDk5MDAwODhCNDAzRUMxMEM4MDAyRTAwMENCMDBCQkMwODhGMDAzQworOjEwRDlBMDAwMzYwMDA2ODAwM0VDODBDODAyM0ZDMTBDOTAwMzAwMDNFMAorOjEwRDlCMDAwNTAwMDAwMDAwMDAwMDAwMEEwMURGMDAwRkYwMDNGQzA2QworOjEwRDlDMDAwMEY3MjgzRkMxOEZDMDMzRjAwOEY3MDAzN0MwMEZGMDA4NAorOjEwRDlEMDAwM0QwMDBGQzAyMzhDMDZGQzAwM0Y0MDBFRDAwM0U4MDYzQworOjEwRDlFMDAwNzAwMDAwMDAwMDAwMDAwMDAwQzU0MTAzNzA0MERDMTAyMgorOjEwRDlGMDAwMzcwNDBEQzEwMzcwNDBEQzEwMzcwNDBEQzEwMTcwNDBDNQorOjEwREEwMDAwOUMxMDE3MTQwNUMxMDM3MDQwREMxMDE3MDQwREMwMzFDMQorOjEwREExMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0NDA1NzEwMTVDNDBFQQorOjEwREEyMDAwNTcxMDE1QzQwNTIxMDE1QzQwNTcxMDE1QzQwMTcxMDE0MAorOjEwREEzMDAwNUM0MDE3MTAwNUM0MDU3MTA1NUM0MTU3MTAxNUMwMTFGNQorOjEwREE0MDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwMjAxMjA4MDQ4MjBGQgorOjEwREE1MDAwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODBEQworOjEwREE2MDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDEyMDgwNDgwMjBFNworOjEwREE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMDAwNjAwMDU4MDA2RQorOjEwREE4MDAwMTYwMDA1ODAwMTYwMDA1ODAwMTYwMDA1ODAwNTYwMDA0MgorOjEwREE5MDAwNTgwMDE2MTgwMTgwMDE2MDAwNTgwMDU2MDAwNTgwMjBDQgorOjEwREFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0ODA1MjIwMTFDODBBNQorOjEwREFCMDAwNDcyMDExQzgwNDcyMDE1QzgwNTcyMDExQzgwNDcyNDFDQworOjEwREFDMDAwNUM4MDU3MjAxMUM4MDQ3MjAxMUM4MDQ3MjAxNUMwMzFBQQorOjEwREFEMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0MDAwNjAwMDE4MDA3OQorOjEwREFFMDAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDA1MAorOjEwREFGMDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMDA2MDAwMTgwMzE1NworOjEwREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0ODA0MjIwMTA4ODA1OQorOjEwREIxMDAwNDIyMDEwODgwNDIyMDEwODgwNDIyMDEwODAwNDIzMDE0MgorOjEwREIyMDAwMDg4MDQyMjAxMDg4MDQyMjAxMDgwMDQyMjAxMDgwMjEzMQorOjEwREIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0QTA1NDI4MTUwQTAxRQorOjEwREI0MDAwNDQyQzExMEIwNDQyODExMEUwNTQyODExMDIwMDQyODE0MAorOjEwREI1MDAwMTBBMDQ0MzgxMTBCMDU0MjgxMTAyMTE0MjgxNTAwMzEwMgorOjEwREI2MDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwQzAxNTcwMDU0QzA2RAorOjEwREI3MDAwMTUzMDA0NEMwMTEzMDA1NEMwMTU3MDA1NEMwMTUzMDBCRQorOjEwREI4MDAwNTRDMDE1MzA4NTRDMDExMzAwNTRDMDE1MzAwNTQwMjE5OAorOjEwREI5MDAwNDAwMDAwMDAwMDAwMDAwMDAwODAwMDAwNDAwMDEwMDA3NQorOjEwREJBMDAwMDQwMDAwNDAwMDEwMDAxMDYyMDQwMDAxMDgwNDQxMDA1RAorOjEwREJCMDAwMTAwMDQ0MTgxMTAwMDAxMDAwMTA4MDA0MDAwMTAxMjAyMgorOjEwREJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2MDAyMDgwMDgyMDAyNAorOjEwREJEMDAwMjA4MDA4NjAwMjE4MDA4MjAwMjA4MDA4MjAwMDA4MjBCMQorOjEwREJFMDAwODIwMDAwODA4MDIwMDIxODAwODIwMDIwODAwODAxMzExRAorOjEwREJGMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0MDA1NjQwMTU4MDAwRQorOjEwREMwMDAwNTYwMDE1ODAwNTYwMDE1ODAwNTY0MDE1ODAwNTYwMDFEQQorOjEwREMxMDAwNTgwMDU2MDAxNTgwMDU2MDAxNTgwMDc2MDAxNTgwMzFDNworOjEwREMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MDAzNjAwMEQ4MDBCNAorOjEwREMzMDAwMzYwMDBEODAwMzYwMDA5ODAwMzYwMDFEODgwNTYwMDBFNgorOjEwREM0MDAwRDgwMDE2MDAwRDgwMDM2MDAwRDg4MDQ2MDAwRDgwMzE5QQorOjEwREM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MjA0MzA4MTBDMjBEQworOjEwREM2MDAwNDMwODEwQzIwNDMwODEwQzIyNDEwODE4QzIwNDMwODlENAorOjEwREM3MDAwMEMyMDAzMDgxMEMyMDQzMDgxMEMyMDQzMDgxMEMwMTA4RgorOjEwREM4MDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwMDAwMzAwMDBDMDA4OAorOjEwREM5MDAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDA5MgorOjEwRENBMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDAzMDAwMEMwMDFBNQorOjEwRENCMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwMjAxMzA4MDRDMjBDNQorOjEwRENDMDAwMTMwODA0QzIwMTMwODA0QzIwMTMwODA0QzMwMTMwODBDMworOjEwRENEMDAwNEMyMDEzMDgwNEMyMDEzMDgwNEMzMDEzMDgwNEMwMjFDQQorOjEwRENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MjA1NjA4MTU4MjBDRgorOjEwRENGMDAwNTYwODExODIwNTYwODE1ODIwNTYwODExODMwMDYwODEwMgorOjEwREQwMDAwNTgyMDQ2MDgxMTgyMDQ2MDgxMTgzMDU2MDgxNTgwMzA2QQorOjEwREQxMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0MjAwMjA4MDA4MjBFNAorOjEwREQyMDAwMDIwODAwODIwMDIwODAwODIwMDIwODAwODIwMDMwODA2MworOjEwREQzMDAwMDgyMDAyMDAwMDgyMDAyMDgwMDgyMDAzMDgwMDgwMzFCMworOjEwREQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MjA0NjA4MTE4MjBBRgorOjEwREQ1MDAwNDY0ODExOTIwNDYwODExOTIwNDYyODExODIwMDM0ODFCRQorOjEwREQ2MDAwMTgyMDQ2NDgxMTkyMDQ2MDgxMTgyMDQzMDgxMTgwMTE0MAorOjEwREQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU2MDA0NTgwMTU2MDBDQgorOjEwREQ4MDAwNTU4MDE1NjAwNDU4MDExNjAwNTU4MDAxNjAwNDE4MDE4MworOjEwREQ5MDAwNTYwMDQ1ODAxMTYwMDQ1ODAxMTYwMDQxODAxMTQwMzE0MQorOjEwRERBMDAwNTAwMDAwMDAwMDAwMDAwMDAwODAwNjAxNDE4MDUwNjAyQgorOjEwRERCMDAwMTQxODA1MDYwMTQxODA1MDYwMDQxODA1MDYwMDQxODBEMgorOjEwRERDMDAwMTA2MDE0MTgwNTA2MDE0MTgwNTA2MDE0MTgwNTAwMjBFOQorOjEwREREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMDA4MDQwMjA2MAorOjEwRERFMDAwMTA0ODA0MTIwMTAwODA0MTIwMTAwODA0MDIwMTA0ODA0MAorOjEwRERGMDAwNDAyMDUwNDgwNDEyMDEwMDg0NDAyMDEwMDgwNDAwMjBGNAorOjEwREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0NjAzNTE4MEQ0NjBGRgorOjEwREUxMDAwMzAxODBENDYwMzUxODBENTYwMzUxODBENDYwMzA1ODAzNgorOjEwREUyMDAwRDQ2MDE1MTgwRDQ2MDMxMTgwRDQ2MDM1MTgwRDQwMzFBQgorOjEwREUzMDAwNTAwMDAwMDAwMDAwMDAwMDAwQzU0NjA1NzE4MDVDNjBENQorOjEwREU0MDAwOTcxODE1QzYwNTcxODE1QzIwNTcxODE1QzYwMzcwODE5NworOjEwREU1MDAwNUM2MDU3MTgxMUM2MDUzMTgxNUM2MDc3MTgxNUMwMzFCOAorOjEwREU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0NjAzNzE4MERDNjBGNworOjEwREU3MDAwMzcxODBEQzYwMzcxODBERDYwMzcxODA1QzYwMTc1ODEzRQorOjEwREU4MDAwREM2MDM3MTgwREM2MDM3MTg0NUM2MDE3MTgxOUMwMTE2NworOjEwREU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0NjA1NzE4MTVDNjA0NAorOjEwREVBMDAwNTcxODE0ODYwNTcxODE1QzYwNTcxODA1QzYwNDMxODFDNgorOjEwREVCMDAwNUM2MDU3MTgxNUM2MDU3MTgwNUM2MDQzMTgxNUMwMTE2OQorOjEwREVDMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMjA4MDQ4MjBGNworOjEwREVEMDAwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTcwODAwOAorOjEwREVFMDAwNDgyMDEyMDgwNDgyMDEyMDgwNDgyMDE3MDgwNDgwMDA3RQorOjEwREVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAxNjE4MDU4NjA4MgorOjEwREYwMDAwMTYxODQxODYwMTYxODAxODYwMDYzQzA1ODYwNDYxODAxMAorOjEwREYxMDAwMTg2MDE2MTgwMTg2MDA2MTgwNTg2MDU2MTgxNTgwMTAyOAorOjEwREYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0MDA1NzAwMTVDMDA5QQorOjEwREYzMDAwNTcwMDE1QzAwNDcwMDE1QzAwNTcwMDEwQzAwNDcwMDA0OQorOjEwREY0MDAwMUMwMDQ3MDAxMUMwMDQ3MDAxNUMwMDQ3MDAwMUMwMTFCMworOjEwREY1MDAwNTAwMDAwMDAwMDAwMDAwMDAwNDU0MjAwNjA4MDE4MjBEMgorOjEwREY2MDAwMDYwODAxODIwMDYwODAxODIwMDYwODAwODIwMDYwODA5OAorOjEwREY3MDAwMTgyMDA2MDgwMTgyMDA2MDgwMTgyMDA2MDgwMTgwMTEyMAorOjEwREY4MDAwNDAwMDAwMDAwMDAwMDAwMDAwMDU0MjA0MjA4MTA4MjAzRAorOjEwREY5MDAwNDIwODEwODIwNDIwODEwODIwNDIwODExODIwNDIwODA1NworOjEwREZBMDAwMDgyMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDgwMDgwMTFDNQorOjEwREZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0MjA1NDA4MTUwMjBBNAorOjEwREZDMDAwNTQwODE1MDIwNTQwODExMDIwNTQwQzE1NDIwMDQwODE3MAorOjEwREZEMDAwNTAyMDQ0MDgxMTAyMDU0MDgxMTAyMDE0MDgwNTAwMTE0QQorOjEwREZFMDAwNTAwMDAwMDAwMDAwMDAwMDAwMDEwMzAxNTBDMDU0MzA0OAorOjEwREZGMDAwMTUwODA1NDIwMTUwQzA1NDMwMTUwQzA1NDMwMTUwQzBBRQorOjEwRTAwMDAwNTQzMDE1MEMwNTQyMDE1MEMwNTQzMDE1MEMwNTQwMTAxOQorOjEwRTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAwNDIwMDEwODAyNgorOjEwRTAyMDAwMDQyMDAxODgwMDYyMDAxMDgwMDQwMDExMDgwMDQyMDBGMgorOjEwRTAzMDAwMTA4MDA0MjAwMTA4MDA0MjAxMTA4MDA0MjAwMTAwMDAyQgorOjEwRTA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU0MjAyMDA4MDgwMjAyNworOjEwRTA1MDAwMjAwODA4MDIwMjIwODA4MDIwMjAyODAwMDIwMjAwODA4MAorOjEwRTA2MDAwODAyMDIwMEEwODAyMDIwMDgwMDAyMDIwMDgwODAwMTFGOQorOjEwRTA3MDAwNTAwMDAwMDAwMDAwMDAwMDAwNDU0MDA1NjAwMTU4MDAwRAorOjEwRTA4MDAwNTYwMDA1ODAwNTYwMDE1ODA4NTYwMDE1ODAwNzYwMDI5QgorOjEwRTA5MDAwNTgwMDU2NDAxNTgwMDU2MDAzMTgwMDc2MDAxNTgwMTE2MQorOjEwRTBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzU0MDAzNjAwMEQ4MDAzMAorOjEwRTBCMDAwMzYwMDBEODAwMTYwMDBEODBBMzYwMDBEODAwNTcwMDkxOQorOjEwRTBDMDAwRDgwMTM2MDAwRDgwMDM2MDAwRDgwMDU3MDAwRDgwMDA5NQorOjEwRTBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MzAwMTBDMDBGRgorOjEwRTBFMDAwNDMwMDEwQzAwMDMwMDEwQzAwNDMyMDEwQzAwNDYwMDE0OAorOjEwRTBGMDAwMEMwMDQzNDA1MEMxMDQzMDAxMEMwMDQ2MDAxMEMwMDAyOQorOjEwRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDBDMDBEMworOjEwRTExMDAwMDEwMDAwQzAwMDMwMDAwQzAwMDMwMDAwRDAwMDIwMDAwRgorOjEwRTEyMDAwMEMwMDAzNDAwMEMwMDAzMDAwMEQwMDAyMDAwMEMwMDBFMQorOjEwRTEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAxMzE0MDRDNTBDQworOjEwRTE0MDAwMTMxMDA0QzQwMTMxNDA0QzUwMTMxNDA0QzUxMTMxNDE2MworOjEwRTE1MDAwNEM1MDEzMTQwNEM1MDEzMTQwNEM1MDEzMTQwNEMwMDAzQQorOjEwRTE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMzA1NjhDMTVBMzBENAorOjEwRTE3MDAwNTY4QzExQTMwNDY4QzExQTMwNTY4QzExQTMwNTY4QzBDRgorOjEwRTE4MDAwNUEzMDQ2OEMxMUEzMDQ2OEMxNUEzMDE2OEMxNTgwMDA5MQorOjEwRTE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDA4MDA1NworOjEwRTFBMDAwMDIwMDAwODAwMDIwMDAwODAwMDIyMDAwOTAwMDIwMDBGMworOjEwRTFCMDAwMDgwMDAyNDAwMDgwMDAyMDAwMDkwMDAyMDAwMDgwMDBFQQorOjEwRTFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ0NjIwMTE4ODQwNAorOjEwRTFEMDAwNDYyMTExODg0NDYyMTExODg0NDYwMTExODg0NDYyMTA1NgorOjEwRTFFMDAwMTg4NDQ2MjExMTg4NDQ2MjExMTg4NDA2MjExMTgwMDA4OAorOjEwRTFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NTAxMTU0MDQyMQorOjEwRTIwMDAwNTUwMTExNDA0NTUwMTExNDAwNDUwMTExNDA0NDUwMDA4MgorOjEwRTIxMDAwMTQwNDQ1MDAxNTQwNDQ1MDExMTQwNDU1MDExMTQwMDBFOAorOjEwRTIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIxNDIwODUwODJBOQorOjEwRTIzMDAwMTQyMDg1MDgyMTQyMDg1MDgyMDQyMDg1MDgyMTQyMDhDNAorOjEwRTI0MDAwNTA4MjE0MjAwNTA4MjE0MjA4NTA4MjE0MjA4NTAwMDBDNQorOjEwRTI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTAxMDI4MDQwQTA1MQorOjEwRTI2MDAwMTAyODA0MEEwMTAyODA0MEEwMTAyODQwMEEwMTAyODAwMAorOjEwRTI3MDAwNDBBMDEwMjg0NDBBMDEwMjgwNDBBMDEwMjgwNDAwMDA5OQorOjEwRTI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAzNTMwMEQ0QzA5OAorOjEwRTI5MDAwMzUzMDBENEMwMTUzMDBENEMwMzUxMDBDNEMwMzUzMDBFNQorOjEwRTJBMDAwRDRDMDM1MzAwRDRDMDM1MzAwRDRDMDM1MzAwRDQwMDA4MAorOjEwRTJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA1NzIwMTVDODAwMgorOjEwRTJDMDAwMTcyMDA1QzgwNjcyMDE1QzgwNTcyMDE1QzgwMjcyMDEyQworOjEwRTJEMDAwNUM4MDU3MjAxNUM4MDU3MjAxNUM4MDM3MjAxMUMwMDA5MgorOjEwRTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMzE4NDBDNjEyMzFBQQorOjEwRTJGMDAwODQ4QzIxMjMwODQ4QzYxMjMwODQwQzYxMjMxMDQ4QzI0NAorOjEwRTMwMDAwMTIzMTg0OEMwMTIzMDg0OEM2MTIzMTA0OEM2MTAwMDA0QworOjEwRTMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGNEZGRkQzRkY5RgorOjEwRTMyMDAwRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkYyMworOjEwRTMzMDAwRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDAwMDBDRAorOjEwRTM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwRTM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwRTM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwRTM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQ0RCMEZCNkMyQ0Q0MgorOjEwRTM4MDAwQjBCMzZDMkNEQjBCMzZDMkRGQjBCMzZDMkNEQjBCN0U3NgorOjEwRTM5MDAwQzJDREIwQjdGRDJDREIwQjM2QzJDREIwQjM2QzAwMDBFNAorOjEwRTNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMzNDNEZDRjEzMzM5QQorOjEwRTNCMDAwQzRDQ0YxMzMzQzRDQ0YxMzNGQzRDQ0YxMzMzQzRDRkZDNQorOjEwRTNDMDAwMTMzM0M0Q0ZGRDMzM0M0Q0NGMTMzM0M0Q0NGMTAwMDAyNgorOjEwRTNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQjdFNEVERjkzQjcwRAorOjEwRTNFMDAwRTRFQzc5M0IxRTRFREY5M0JGRTQ4REY5M0I3ODRFRkZBMgorOjEwRTNGMDAwOTNCN0U0RURGRDNCMUU0RURGOTNCNzg0RURGOTAwMDBDQgorOjEwRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAyNzA0MDlDMTBBRAorOjEwRTQxMDAwMjcxQzA5QzEwMTMwNDAxQzEwNjcwNDA5QzEwMjcwNDE2QQorOjEwRTQyMDAwOUMxMTA3MTQwMUMxMDI3MDQwOUM1MDA3MUMwMUMwMDBFMAorOjEwRTQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDA1NzEwMTVDNDBDNQorOjEwRTQ0MDAwNTcxMDU1QzQwMTMxMDA1QzQwNTcxMDE1QzQwNTcxMDFDNworOjEwRTQ1MDAwREM0MDE3MTgxREM0MDU3MTA1NUM0MDU3MTAxREMwMDAzNQorOjEwRTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMjA4MDQ4MjBBMQorOjEwRTQ3MDAwMTIwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODBCQQorOjEwRTQ4MDAwNDgyMDEyMDgwNDgyMDEyMDgwNDg2MDEyMDgwNDgwMDA5RAorOjEwRTQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAwMDE4MDAwNAorOjEwRTRBMDAwMDYwMDQxODAwMDYwMDAxODAwNDYwMDAxODAwMDYwMDAwNgorOjEwRTRCMDAwMTAwMDA2MTAwMTgwMDA2MDAwMTgyMDQ2MTAwMTgwMDA0NgorOjEwRTRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA0NzIwMTFDODAzMQorOjEwRTREMDAwNDcyMDExQzgwNDcyMDExQzgwMDcyMDExQzgwNDczMDA3MgorOjEwRTRFMDAwMUM4MDQ3MjAxMUNDMDQ3MjAxMUM4MDQ3MjAxMUMwMDAwMQorOjEwRTRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAwMDE4MDBBNAorOjEwRTUwMDAwMDYwMDAxODQwMDYwMDAxODAwMDYwMDAxODAwMDYwNDBFMQorOjEwRTUxMDAwMTgwMDA2MDQwMTgxMDA2MDAwMTgwMDA2MTQwMTgwMDA0NAorOjEwRTUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA0MjIwMTA4ODAzNAorOjEwRTUzMDAwNDI3MDEwOEMwNDIyMDEwOEMwMDIyMDEwODgwNDIyMDBCRQorOjEwRTU0MDAwMDg4MDQyNTAxMDA4MDQyMjAxMDkwMDQyNDAxMDgwMDA1NworOjEwRTU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRTA0NEE4MTEyQTAwQworOjEwRTU2MDAwNDRBODExMkEwNDRBODExMkEwMDRBODExMkEwNDRCODA0RAorOjEwRTU3MDAwMTJBMDQ0ODgwMTJFMDQ0QTgxMTIyMDA0OTgwMTAwMDA1MAorOjEwRTU4MDAwMDAwMDAwMDAwMDAwMDAwMDA4QzAwRTAwNTMwMDE0QzA4RQorOjEwRTU5MDAwMDUzMDAxNEMwMDUzMDAxNEUwMDUzMDAxNEMwMDUzMDBERAorOjEwRTVBMDAwMDRDMDA1MzAwMDRDMDAwMzAwMTRDMDA1MzAwMDQwMTBDQQorOjEwRTVCMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzAwNDAwNDAwMDEwMDAzRgorOjEwRTVDMDAwMDQ1ODAxMDQwMDQwMDAxMDAwMDQwMDAxMDAwMDQxMDA1NAorOjEwRTVEMDAwMDQwMDQ0NTgxMDQ0MDAwMDAwMTE4MDA0NTAxMDQwMzBFMgorOjEwRTVFMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzA0MDAyMDAwMDgwMDBBMQorOjEwRTVGMDAwMjAwMDA4MDA0MDAwMDAwMDAwMjAwMDA4MDAwMjAwMDA4OQorOjEwRTYwMDAwODQwMDAwMDAwODQwMDIwMDAwODAwMDIwMDAwODQwMzAyNAorOjEwRTYxMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzA0MDAwNjAwMTE4MDA3OQorOjEwRTYyMDAwNDYwMDAxODAwNjYwMDE5ODAwNDYwMDExODAwNDYwMDFFOAorOjEwRTYzMDAwMTgwMDQ2MDAxMTgwMDQyMDAxMTgwMDY2MDAxMTgwMzA4NworOjEwRTY0MDAwMDAwMDAwMDAwMDAwMDAwMDEwMDE0MDAwNjAwMDk4MDA4MQorOjEwRTY1MDAwMjYwMDA5ODAwMjYwMDE5ODAwMDYwMDBDODAwMjYwMDAxQworOjEwRTY2MDAwMTgwMDA2MDAwMTgwMDI2MDAwOTg4MDA2MDAwMTgyMDAwOAorOjEwRTY3MDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MjAwMzA4MTBDMjBGNgorOjEwRTY4MDAwNDMwODEwQzIyNDMwODE4QzIwMDMwODEwQzIwNDIwODA2QgorOjEwRTY5MDAwMEMyMDAzMDgxOEMyMDQzMDgxMEMyMDQzMDgxOEMwMTE1NAorOjEwRTZBMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDAwMDAwMzAwMDBDMDA5RQorOjEwRTZCMDAwMDMwMDAwQzA0MDMwMDAwQzAwMDMwMDAwODAwMDMwMDA2OAorOjEwRTZDMDAwMEMwMDAzMjAwMEMwMDAzMDAwMEMwMDAzMjAwMEMwMDAzQworOjEwRTZEMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDEwMjEwMzA4MDBDMjAwQgorOjEwRTZFMDAwMDMwODAwQzIwMDMwODAwQzIwMDMwODAwQzIwMTIwODAxMworOjEwRTZGMDAwMEMyMDAzMkMwMEMyMDAzMDgwMEMzMDQzMkMwMEMwMDBFMgorOjEwRTcwMDAwNDAwMDAwMDAwMDAwMDAwMDQwNDU0MjA0NjA4MTE4MjBFNQorOjEwRTcxMDAwNDYwODExODIwNDYwODAxODIwNDYwODExODIwNDYwODEzNgorOjEwRTcyMDAwMTgyMDQ2MEMxMUMyMDQ2MDgxMTgzMDQ2MEMxMUMwMTEyQgorOjEwRTczMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDE0MjAwMjA4MDA4MjAzRQorOjEwRTc0MDAwMDIyODAwODIwMDIwODAwODIwMDIwODAwODIwMDIwODAyOQorOjEwRTc1MDAwMDgyMDAyMDgwMTgyMDAyMDgwMDgyMDAzMDgwMTgwMDBCMAorOjEwRTc2MDAwMDAwMDAwMDAwMDAwMDAwMDUwMDE0MjA0NjA4MTE4MjBGOQorOjEwRTc3MDAwNDYyODExODIwNDYwODAxODIwNDYwODExODIwNDYwODFCNgorOjEwRTc4MDAwMTgyMDQ2MDgxMDgyMDQ2MDgxMTgyMDQzMDgxMDgwMDA3OQorOjEwRTc5MDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MDA0NTAwMTE0MDA0QgorOjEwRTdBMDAwNDUwMDExNDAyNTAwMDAxNDAwNDUwMDExNDAwNDUwMDFBRgorOjEwRTdCMDAwMTQwMDQ1MDAwMDQwMDQ1MDAxNDAwMDAxMDAwMDQyMTFENworOjEwRTdDMDAwNTAwMDAwMDAwMDAwMDAwMDQ4MDAwNjAwNDE4MDEwNjA3QQorOjEwRTdEMDAwMDQxODAxMDYwMDQxODAxMDYwMDQxODAxMDYwMDQxODAwMQorOjEwRTdFMDAwMTA2MDA0MTgwMTA2MDA0MTgwMTA2MDA0MTgwMTAwMDA0OAorOjEwRTdGMDAwMDAwMDAwMDAwMDAwMDAwMDQ4MDAwMjA1MDA4MDQwMjFFOQorOjEwRTgwMDAwMTAwODA0MDAwMTAwODA0MDIwMTAwODA0MDIwMTAwODA2QworOjEwRTgxMDAwNDAyMDUwMDgxNDAyMTEwMDg0NDAyMDEwMDgxNDAwMDAwOQorOjEwRTgyMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0NjAxNTE4MEQ0NjAxNworOjEwRTgzMDAwMzUxODBENDYwMzUxODBENDYwMTUxODBENDYwMzUxODBEQworOjEwRTg0MDAwNTQ2MDE1MTgwRDQ2MDM1MTgwRDQ2MDM1MTgwRDQwMTFFMQorOjEwRTg1MDAwNTAwMDAwMDAwMDAwMDAwMDAwMDE0NjA0NzE4MTFDNjBBRgorOjEwRTg2MDAwNDUxODExRDYwNDcxODExQzYwNjcxODExQzYwNDcxODFBNgorOjEwRTg3MDAwOUM2MDQ3MTgxMUM2MDQ3MTgxMUM2MDY3MTgxMUMwMDBBNAorOjEwRTg4MDAwMDAwMDAwMDAwMDAwMDAwMDQwMDU0NjAyNzE4MDlDNjAwRQorOjEwRTg5MDAwMjcxODA5QzYwMDcxODA5QzYwNjcxODA5QzYwMjcxODAzQworOjEwRThBMDAwOUM2MTI3MTgwMUM2MDI3MTgwOUM2MDA3MTgwMUMwMDA5NgorOjEwRThCMDAwMDAwMDAwMDAwMDAwMDAwMDUwNDU0NjA1NzE4MTVDNjBDQQorOjEwRThDMDAwNTcxODU1RDYwMTcxODE1QzYwNTcxODE1QzYwNTcxODFCRQorOjEwRThEMDAwNUM2MDU3MTgxOEM2MDU3MTgxNUM2MDQzMTgxODgyMTE3NgorOjEwRThFMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDQ1MjAxMjA4MDQ4MjAzOQorOjEwRThGMDAwMTI0ODA0OTAwMTIwODA0OTIwMTIwODA0ODIwMTI0ODBEQgorOjEwRTkwMDAwNDgyMDEyNDgwMDkyMDEyMDgwNDgyMDE3NDgwNDgwMDFDNgorOjEwRTkxMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwNjAwNjE4MDE4NjA1OAorOjEwRTkyMDAwMDYzQzAxODYwMDYxODAxODYwNDYxODAxODYwMDYxODBGRgorOjEwRTkzMDAwMTg2MDA2MTgwMTg2MDA2MTgwMTg2MDQ2MTgwMTgwMDE4MQorOjEwRTk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwNDE2MDA0NzgwMTFFMDA4QgorOjEwRTk1MDAwNDc4MDExRTAyNDc4MDExRTAwMDc4MDExRTAwNDc4MDE0RgorOjEwRTk2MDAwMUUwMDQ3ODAxMUUwMDQzODAxMUUwMDQ3ODAxMUMwMTFDRAorOjEwRTk3MDAwNTAwMDAwMDAwMDAwMDAwMDQwMDExMjAwNjA4MDE4MjBEQworOjEwRTk4MDAwMDY0ODAxOTIwMDYwODAxOTIwMDYwODAxODIwMDY0ODAxOAorOjEwRTk5MDAwMTgyMDA2NDgwMTkzMDAyMDgwMTgyMDA2NDgwMTgwMDBCNgorOjEwRTlBMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDE0MjA0MjA4MTA4MjAxNworOjEwRTlCMDAwNDIwODEwODIwNDIwODEwODIwMDIwODEwODIwNDIwODE2RAorOjEwRTlDMDAwMDgyMDQyMDgxMDhBMDQ2MDgxMDgyMDQyMDgxMDgwMDA1NAorOjEwRTlEMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MjA0NDA4MTEwMjA3QgorOjEwRTlFMDAwNDQwODExMDIwNDQwODExMDIwMDQwODExMDIwNDQwODFFRgorOjEwRTlGMDAwMTAyMTQ0MDgwMTAyMDQ1MDgxMTAyMDA0MDgwMTAwMTE3NAorOjEwRUEwMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDAwMzAwNTBDMDE0MzAxRgorOjEwRUExMDAwMDUwQzAxNDMwMDUwQzAxNDMwMDUwQzAxNDMwMDUwODAyOAorOjEwRUEyMDAwMTQzMDA1MDgwMTRBMDA1MEMwMTQzMDA1MDgwMTQwMDBBOAorOjEwRUEzMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDAwODAwNDIwMDEwODBCQworOjEwRUE0MDAwMDQyMDAxMDgwMDQyMDAxMDgwMDQyMDAxMDgwMDQyMDA1OAorOjEwRUE1MDAwMTA4MDA0MjAxMTAwMDA0MjAwMTA4MDA0MjAxMTAwMTBEQQorOjEwRUE2MDAwNDAwMDAwMDAwMDAwMDAwMDQwNDU0MjAyMDA4MDgwMjA3RAorOjEwRUE3MDAwMjAwODA4MDIwMDAwODA4MDIwMjAwODA4MDIwMjAwODA5MAorOjEwRUE4MDAwODAyMDIwMDgwODAyMDIwMDgwODAyMDIwMDgwODAwMTE1MQorOjEwRUE5MDAwNTAwMDAwMDAwMDAwMDAwMDQwMDE0MDAwNjAwMTE4MDAyQworOjEwRUFBMDAwNDYwMDExODAwNjYwMDExODAwNDYwMDExODAwNDYwMDFENAorOjEwRUFCMDAwMTgwMDQ2MDAxMTgwMDQ2MDAxMTgwMDY2MDAxMTgwMTBFMworOjEwRUFDMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDE0MDAyNjQwMDk4MDBDNworOjEwRUFEMDAwMjYwMDA5OTAwNjYwMDE5ODAwMjY0MDA5ODAwMjYwMDAyNworOjEwRUFFMDAwOTgwMDI2MDAwMDkwMDI2MDAwOTgwMDA3MDAwMTgwMDA1NgorOjEwRUFGMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU2MDA0MzgwNTBFMDBFMgorOjEwRUIwMDAwNDM4MDEwRTA0NDM4MDEwRTAwNDM4MDEwRTAwNDM4MDFENworOjEwRUIxMDAwMEUwMDQzODAxOEEwMDQzODAxMEUwMDQ2ODAxODgwMTFCMgorOjEwRUIyMDAwNTAwMDAwMDAwMDAwMDAwMDUwMDAwMTAwMzA0MDBDMTBCOAorOjEwRUIzMDAwMDMwNDAwQzUwMDMwNDAwQzEwMDMxNDAwQzEwMDMwNDAzNQorOjEwRUI0MDAwMEMxMDAzMDQwMDg3NDAzMDQwMEMxMDAyMDQwMDgwMDBDOQorOjEwRUI1MDAwMDAwMDAwMDAwMDAwMDAwMDQwMDQwNTAwMzU0MDBDNTA5QgorOjEwRUI2MDAwMDMxNDAwRDUwNDMxNDEwQzUwMDM1QzAwQzUwMDMxMDA5MgorOjEwRUI3MDAwMEM1MDAzMTAwMDk0MDAzMTQwMEM1MDQzMTAwMEMyMDBCMAorOjEwRUI4MDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MzA1MjBDMTE4MzA4RgorOjEwRUI5MDAwNDYwQzExOTcwMDYwQzAxODMwNDYxQzExODMwNDYwQzFGOAorOjEwRUJBMDAwMTgzMDUyMEMxMTg3MDQ2MEMxMTgzMDQ2MEMxMTgwMTFDNgorOjEwRUJCMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDEwMDAwMjE0MDA4MDA1QgorOjEwRUJDMDAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDBGOQorOjEwRUJEMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAyMDAwMDgwMDAwMQorOjEwRUJFMDAwMDAwMDAwMDAwMDAwMDAwMDQwMDE0ODQ0MjIwMTE4ODQ5OQorOjEwRUJGMDAwNDYyMTExOTgwMDYyMTAxODg0NDQyMDExODg0NDYyMTE0MworOjEwRUMwMDAwMTg4NDQyMjExMTgwNDQ2MjExMTg4NDQ2MjExMTgwMDAyOQorOjEwRUMxMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0MDA0NTAxMTE0MDRCMgorOjEwRUMyMDAwNDUwMDExNDEwMDUwMTAxNDAwNDUwMTExNDA0NDUwMTE5RAorOjEwRUMzMDAwMTQwNDQ1MDEwMTQwNDQ1MDExMTQwNDA1MDEwMTQwMTEyMAorOjEwRUM0MDAwNTAwMDAwMDAwMDAwMDAwMDQwMDAwODIwNDIwODEwODIzMAorOjEwRUM1MDAwMDQyMDAxMDgyMDQyMDgxMDgyMDQyMDgxMDgyMDQyMDg3NAorOjEwRUM2MDAwMTA4MjA0MjI4MTA4MjA1MjA4MTA4QTA0MjI4MTAwMDBBOAorOjEwRUM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwQTAxMDI4NDQwQTExRQorOjEwRUM4MDAwMTAyODAwMEEwMTAyODA0MEEwMTAyODA0MEEwMTAyODAxNgorOjEwRUM5MDAwNDBBMDEwMkMxNDBBMDAwMjgwNDBCMDEwMkMxNDAwMDA3OAorOjEwRUNBMDAwMDAwMDAwMDAwMDAwMDAwMDQwNDU0RDAzNTM0MEQ0RDA1OAorOjEwRUNCMDAwMzUzMDBDNEQwMzUzNDBENEQwMzUzNDBENEQwMzUzNDAwMworOjEwRUNDMDAwRDREMDM1MzQwRDREMDIxMzQwRDREMDM1MzQwRDQwMTExRAorOjEwRUNEMDAwNTAwMDAwMDAwMDAwMDAwMDQwMDEwODA0NzIwMTFDODA4OAorOjEwRUNFMDAwNDcyMDE1QzgwNDcyMDExQzgwNDcyMDExQzgwNDcyMTEwNgorOjEwRUNGMDAwMUM4MDQ3MjYxMUM4NDQ3MjAxMUM5MDY3MjYxMUMwMDA3MQorOjEwRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMzA4NDBDNjEyMzE4RgorOjEwRUQxMDAwODQ4QzAxMDMwODQ4QzYxMjMwODQwQzYxMjMxODQ4QzI1MQorOjEwRUQyMDAwMTIzMTg0OEMwMTAzMDg0OEM2MTIzMTA0OEMwMTAwMDBBMgorOjEwRUQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGNEZGRkQzRkY3NQorOjEwRUQ0MDAwRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZGOQorOjEwRUQ1MDAwRDNGRkY0RkZGRDNGRkY0RkZGRDNGRkY0RkZGRDAwMDBBMworOjEwRUQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwRUQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwRUQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwRUQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyREZCMEZCNkMyQ0RGNworOjEwRURBMDAwQjBCN0ZEM0ZGQjBCMzZDMkRGQjBGQjZDMkNEQjBCN0UzQworOjEwRURCMDAwQzJDREIwQjdGRDNGRkIwQjM2QzJDREY0QjdGRDAwMDBBRQorOjEwRURDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzM0ZDNEZDRjEzMzNCMAorOjEwRUREMDAwQzRDRkZEM0ZGQzRDQ0YxMzNGQzRGQ0YxMzMzQzRDRkY5MAorOjEwRURFMDAwMTMzM0M0Q0ZGRDNGRkM0Q0NGMTMzM0Y0Q0ZGRDAwMDBGMQorOjEwRURGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQjdFNEVERjkzQjdFMworOjEwRUUwMDAwRTRFREY5M0ZGRTRFREY5M0I3RTRFREY5M0I3RTRFQzdFQworOjEwRUUxMDAwOTNCN0U0RUM2MTIzMUU0RURGOTNCNzg0RUM2MTAwMDBFRQorOjEwRUUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1MjRBMTRBMjRFQQorOjEwRUUzMDAwNjMwMTE0MDI0NDAwODEwQjI4NzEwMjEwODI0MDM4MTFEMgorOjEwRUU0MDAwNDEwNDUwMDgxODgyODczODMxQzMyQzUyMEExMDAwMDA0MAorOjEwRUU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQ1MTI4MTQ0ODAwRQorOjEwRUU2MDAwNzEyMTFDMEEwNzFBODEwMkEwNTIyMDE0NDgwNzEyODEzRQorOjEwRUU3MDAwQzY4MDYwMjAwODg4NDcwMjAxNEE4MDcwMjAxMDAwMDA4OAorOjEwRUU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkM1MkMwMTRBMDA0NAorOjEwRUU5MDAwNTIwOTFDODAwNzI0MjEwODA4NzEwMjEwODA0NTIwQTExNgorOjEwRUVBMDAwNDkyODUyMDExNEMwNDUwMDkxQzQwMDcyMDIxMDAwMDBBQworOjEwRUVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjA3MjAwMUMxMDA2NworOjEwRUVDMDAwNzEwOTEwODAwNzAwMDEwMTAwNzAwODE4ODAwNzAwMDExNworOjEwRUVEMDAwODkyMDUyMDEwQzgwNDYzMDgxNDUwNDYwMDAxMDAwMDBGQQorOjEwRUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMyMDIyMDAwODhBRQorOjEwRUVGMDAwMjAyMjAwMDhDMjIyODA0MDg4MDIyMjAwMDg4MjBBQTA0NAorOjEwRUYwMDAwMENBODAyMjIwMDA4ODAwQTAwODA4QzAyMjIwMDAwMDA2NworOjEwRUYxMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMjQzMDAwMDQwMjA0NAorOjEwRUYyMDAwMzAwODA0NDA0MTMwMTBDODAwMDAwMDAwMDIwMzAwMTAwNworOjEwRUYzMDAwQzAwMDExMDgwMEMyNDMxMDgwQzAyMDAxMDgwMDAyMDA3OAorOjEwRUY0MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwOEMzMEEyMEMxOEM3NworOjEwRUY1MDAwMTIyMjA0ODgwMTM2MjBDMzA4MTIyODA0MDgwMTA0MDA4NAorOjEwRUY2MDAwNEFBODIyMDEwNEM4NDEyNjMwQzA4ODAyMjEwMDAyMDBCQworOjEwRUY3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODAwMEExMEMxODAyNgorOjEwRUY4MDAwMzIyMTBDODg0MzAyODA0NDgwMTIyOTA0MDg0MjBBOTBFRQorOjEwRUY5MDAwOEE4MDAwMjAwNDQ4MDMwQTEwODI4MDAwMjAwMDAyMDBCQQorOjEwRUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTg3MDJBMTgwQUMwMQorOjEwRUZCMDAwNDMyOTE0OEE4NDAyQTEwMEFDNDEyMDEwMDgwNjI2MzE5RQorOjEwRUZDMDAwODBBNDYwMjAxNDRBNDQzMjgxODFBQzYwMkExODAyMDA3NworOjEwRUZEMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODA3MjIwMUM1ODBCMgorOjEwRUZFMDAwNzMyMTFDQzgwNzJBMDEwQzgwNzIyMDEwNDg0NzI2MTE4MworOjEwRUZGMDAwQzU4MDczMjAxQzg4MDcyQTExNDk4MDcwMjAxNDAyMDBFNAorOjEwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDQ1MTAzMUM5MEM5RAorOjEwRjAxMDAwNzMwMjFDQzA0NzA0MDEwQTBDNTEwQTEwODI0NzIwMzFCOAorOjEwRjAyMDAwQzgwMDcyMDIxQzQwMDUzMDExQzQwMDcyMDExODAyMDBCMQorOjEwRjAzMDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAxMDA2MjQwMTQ1MDQzNAorOjEwRjA0MDAwNTE4MTE4OTA0NzE0MDEwNDA0NzE4ODEwMTIwNTM0MDE4RAorOjEwRjA1MDAwNDQwNDUxNDAxOEQwMDczODAxQzQwNDUyMDExNEMyMDRCQQorOjEwRjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3MDAyMTg5MEM2MworOjEwRjA3MDAwNjAwMTFDRDA0NTI0MDFDMTBDNDIwMTAwMDBDNTIwMzFCMworOjEwRjA4MDAwNDEwODQwMDAxODgwNDUwMDIxNDEwQzcwNDIxQ0MyMDAxQworOjEwRjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAxMUM4MEM0MjBFRAorOjEwRjBBMDAwMzEwODEwNDI0MjA4ODBDNjIwMzEwOTAwMjAwMzFDOTAxQworOjEwRjBCMDAwQzQyMDAxNDkwQzQyNDMxMDgwNDQyMDMxMDgxMDAwMDA1NAorOjEwRjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMDgzMjAzMDQ4MENFOQorOjEwRjBEMDAwMzI0MDEwOTA4MTI0MjBDODA0MzI0MDEwMjBDMzIwODA4OAorOjEwRjBFMDAwQzgwMDAyNEEwQ0EwMDEyNDEwQzgwODMyNDExMDAwMDBEOAorOjEwRjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA5MDAzMDAwMEM5MDRBMAorOjEwRjEwMDAwMzA0MDAwOTAwMDIwMDA4MDAwMTA0MDEwMDA0MDIwMTA4RgorOjEwRjExMDAwQzIwMDAwODAwODIwNDMwODEwODEwMDMyNDAwQ0MwMDQ2NworOjEwRjEyMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwNDAwMDAwMDA0RgorOjEwRjEzMDAwMTAwMDAwRjAxMDIwMDAwMDAwMTAwMDAwRjAxMDgwNDBDRgorOjEwRjE0MDAwMDAwMDAwNDAwMEYwMTA5MDgwMDAwMDAwMDAwMEMwMDBBRgorOjEwRjE1MDAwMDAwMDAwMDAwMDAwMDAwMDNDM0MxMDgwOTA0MDAwMDBENworOjEwRjE2MDAwMDA4MDEwOTBBMDkwMDAwMDAwMDAwMDEwOTA4MDgwMDBBRgorOjEwRjE3MDAwMDAwMDAwMDAxMDkwODA5MDAwMDAwMDAwNDAxMDhGMEZGMQorOjEwRjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNEM2QkEwNkMwMUNGOQorOjEwRjE5MDAwNDkyODYxMTQyQjFDMEU0MDNGRDlCRkQ5QUFCQzFBNUY2NQorOjEwRjFBMDAwMDAxMEE2NTAzQjYxQjMyNUJDNDAxOUJGRkZFOTgwMDBBOQorOjEwRjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDkyMTQ5NDgwMEM3OQorOjEwRjFDMDAwMDczRjJCOTQ4NjE0ODQ4MDI4MDAwMDQ5MTQwNDg2MTI3QgorOjEwRjFEMDAwODAwMDQxMjczNEQwOTA4NDkyMDAyRDhBMjExRTgwMDAyNworOjEwRjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QTI3NQorOjEwRjFGMDAwQjEwMTAxMDAwMDAwMDAwODg0QjE3ODI4MDAwMDAwMDA3RgorOjEwRjIwMDAwMDhCMTMyMTQxNDAwMDAwMDAwMDhBODIzNTQyMTQwMDA2MworOjEwRjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBGMgorOjEwRjIyMDAwMDAwMDAwMkZGRkZFRjdDMDAwMDAwMDAwMkZEN0ZFRUYwOAorOjEwRjIzMDAwQzAwMDAwMDAwMDNGRkY3RkZGQzAwMDAwMDAwMDAwMDA5MgorOjEwRjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBDMgorOjEwRjI1MDAwMDAwMDAwMEZFRjc3RkZDMDAwMDAwMDAwM0VGRkZFRUY1MAorOjEwRjI2MDAwNDAwMDAwMDAwMDNGRkZCRkZGNDAwMDAwMDAwMDAwMDAyMgorOjEwRjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA5MgorOjEwRjI4MDAwMDAwMDAwM0ZGRkRGRkZDMDAwMDAwMDAwM0ZGRkZGRkY2NgorOjEwRjI5MDAwQzAwMDAwMDAwMDNGN0YyRkZGQzAwMDAwMDAwMDAwMDAwMgorOjEwRjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA2MgorOjEwRjJCMDAwMDAwMDAwMUZGRkZGRUZDMDAwMDAwMDAwMUZFRkVGRUY5NgorOjEwRjJDMDAwQzAwMDAwMDAwMDJGRkZGRkZGQzAwMDAwMDAwMDAwMDA5MgorOjEwRjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDAzMgorOjEwRjJFMDAwMDAwMDAwM0ZGRkVGRkZDMDAwMDAwMDAwMkZBRkRGRkY3NgorOjEwRjJGMDAwQzAwMDAwMDAwMDNGRUZGRkY3QzAwMDAwMDAwMDAwMDA2QQorOjEwRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDAwMQorOjEwRjMxMDAwMDAwMDAwM0ZERkRGRkZDMDAwMDAwMDAwM0ZGRkZGRkZGNQorOjEwRjMyMDAwQzAwMDAwMDAwMDFGRkZERkZGQzAwMDAwMDAwMDAwMDA2MQorOjEwRjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkM0MjRBMTAwMkMxNgorOjEwRjM0MDAwNTIwQjE4QzI4NjJDQTE4MDM4NjIwQTA4NDBDNDJDQTEzNgorOjEwRjM1MDAwMDgyODQyMEIxNDAwODUxNEExMDgyODQzMEExMDAwMDA1NQorOjEwRjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODA0MTIwMTAzODBGQgorOjEwRjM3MDAwNjEyMDEwMDgwNzEyNDE0MjgwNzAyMDFDMDgwNDFBMDEwNQorOjEwRjM4MDAwODQ4MTQwMjAxODA4NDYzNjgxMDU4MDYzMjAxMDAwMDFFMgorOjEwRjM5MDAwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0MjQyMTAwMEMxOAorOjEwRjNBMDAwNTIwMjE0MDA4NzI4MjE4MTA4NzIwNjFDODI4NDIwMjFDMQorOjEwRjNCMDAwNDgxODQyMDM1NDgwNDUzMDI1NEExODUzMDIxMDAwMDE3MgorOjEwRjNDMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwODA0MjIwMTAxODA2RAorOjEwRjNEMDAwNDIyMDE4Qzg0NDIyMDE4MDg0NDIyMDFDODgwNDIyMDE1MworOjEwRjNFMDAwMDA4MDQwMjAxMDg4NDQzNjAxNDA4MDQxMDAxMDAwMDAxOQorOjEwRjNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwMDgyMDAwMEMxOQorOjEwRjQwMDAwMjIwMzA0NDA4MTAwMjA4NDA4MDMwMDAwODBDMjAwMjAwMQorOjEwRjQxMDAwQzQwODAwMDMwODg4ODIxNkEwNDA4ODMyMjI4MDAwMDBCOQorOjEwRjQyMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMjAxMDA4MDA0MjAyRAorOjEwRjQzMDAwMTAwODBDQzIxMjEwODRDODIyMTIwODA0MDIwMzAwODhBQgorOjEwRjQ0MDAwMDAyMTAwMEMwQzQwNDEzMDAwODQyMDEwMDgwMDAyMDAxNAorOjEwRjQ1MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODgyMDYyMDA4OEM2MAorOjEwRjQ2MDAwMzIyMjBDODg4MTI2MjA0RDg4MjMyMjgwODg4MzA2MjAyMgorOjEwRjQ3MDAwMDg4ODAwMjMwNDhBODEzNjIwNEI4ODMyMjIwMDAwMDA0RAorOjEwRjQ4MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODAyMDIwMDA5ODBERgorOjEwRjQ5MDAwMzIyMDA0ODg2MDIyMDA4OTg0MDAyMDA4OTgwMDAyMDAzRAorOjEwRjRBMDAwMDA4MDAwMjAwMDA4MDIzQTgwNDg4MDMwMjAwMDAyMDBERQorOjEwRjRCMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwQUM0MUFBMTgwQTg5MworOjEwRjRDMDAwNDEyQTEwQ0FDNzFBQTEwNEFENzEyQTE4NEFENDA2QjEzQworOjEwRjREMDAwMDBBODcxMkExMDA4ODQyNjI5MDZBQzUyMkExMDAyMDBCRQorOjEwRjRFMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwODA0MkEwMTQxODAxQworOjEwRjRGMDAwNDIyMDFDMDAwNDBBMDEwOTg0NTEyMDFDODg0NDAyMDE5NgorOjEwRjUwMDAwMDg4MDQwMjAxMDRBNDcwMjAxNDg4MDYzMjAxMDAyMDAxMgorOjEwRjUxMDAwODAwMDAwMDAwMDAwMDAwMDA4MDAwMEM0MTAyMTgxMENFMQorOjEwRjUyMDAwNDEwMjBDMDBDMDIwNjEwRDBFNzIwMjFDNDBDNDA4MzE2MworOjEwRjUzMDAwMDQxODQyMDIxMDgwODcyMEIxQzQwQzUzMDIxMDAwMDA0RQorOjEwRjU0MDAwMDAwMDAwMDAwMDAwMDAwMDA4MTAyMDA3MjQwMUNDMDA4QgorOjEwRjU1MDAwNzI0MDE0MDAwNDI0MDEwODAwNzM0MTEwQzAwNzMwMTFFOAorOjEwRjU2MDAwQ0MwMDcxMDExMDAyMDQyMDgxNDYxMDQyNDAxMDAyMDRCOAorOjEwRjU3MDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMEM1MTAyMTAwMDg4NQorOjEwRjU4MDAwNjIwMjFDOTBDNTI0MjEwMDBDNzA4MjFDMTBDNDIwMzEyMgorOjEwRjU5MDAwODgwMjQwMDYxQzAwODUwMEExMDAwQzQwNDIwMDAyMDBDOQorOjEwRjVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjA1MTQ4MDAxMjA3RgorOjEwRjVCMDAwMzAwODBDNDIwNjAwODAwMTI0NTEwODBDMDI0MTAwODBGMgorOjEwRjVDMDAwNEMyMDAwMDgwQzMwNDIwNDAwMDQyMDAwMDgwMDAwMDAxOQorOjEwRjVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMEM2MjQyMDAwMEMwNQorOjEwRjVFMDAwMzJDMjA0ODBDNzMwMjAwMDBDNTNDMjA0MTBDMjI4NzBGRAorOjEwRjVGMDAwMEMwOTAyMDI0QzgwODEwNDMwMDkwQzAyNDIxMDAwMDAwOAorOjEwRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTA4MDAxMzgwMDAyMDAyRgorOjEwRjYxMDAwMTI0MDBDMjAwNzM0MDQwMjAwNjMwMTA4MTAwMDI0MTA3QgorOjEwRjYyMDAwMDQwMDAyMDEwNDgyMDEwODgwMDkxMDAyNDAxMDAwMDQ1NQorOjEwRjYzMDAwMzAwMDAwMDAwMDAwMDAwMDAwMDAzMDIwMTA4MDAwMDBCQQorOjEwRjY0MDAwMjA4MDAwRjAyMDEwODAwMDAwMjA4MDAwRDA4MDAwMDA4QQorOjEwRjY1MDAwNDAwMDAwMDAwMDMwMTAwMDgwMDAwMDAwMDAwMENDNDA5RQorOjEwRjY2MDAwMDAwMDAwMDAwMDAwMDAwMDNDM0MxMDgwODAwMDAwMDAxMgorOjEwRjY3MDAwMDAwMDEwOTA4MDgwMDAwMDAwMDAwMDEwOTA4MDAwOTAzQQorOjEwRjY4MDAwODAwMDEwMDAwMDEwQTA4MDAwMDAwMDIwMDAxMDhDMDhGNgorOjEwRjY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNDFBQkUxNzgwMDBDNworOjEwRjZBMDAwM0U0MDI2NkZCQUUzMjQ4MDAwMTY1OUJEODI4MTgyRDg3RAorOjEwRjZCMDAwODAwMDAwMTk5OTg2ODA2NDgwQzAzRkQ5OTk4MDAwMDEzQworOjEwRjZDMDAwRjAwMDAwMDAwMDAwMDAwMDAwMDAwNjE2MDI5NDAwMTY4MgorOjEwRjZEMDAwQzAxNjk0ODI5MDE2MTA4MDIxMTgyODI4MDIwQTAyMDg2OQorOjEwRjZFMDAwODAwMDAwMDAwMDAyODI4MDE0MDAwMTE0MTFBMDQwMDA3QworOjEwRjZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4ODQ3RQorOjEwRjcwMDAwMDI4NEE4ODAwMDAwMDAwODkxMjI4NDQxQTIwODI0MDFGQworOjEwRjcxMDAwMzAwMDAwMDAwMDAwMDAwMDAwMDg4NDAxNDQwMTAwMDBFNworOjEwRjcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBERAorOjEwRjczMDAwMDAwMDAwM0VGN0ZGRjdDMDAwMDAwMDAwMkZFN0I3RkYxMgorOjEwRjc0MDAwQzAwMDAwMDAwMDJGRkU3RkY3QzAwMDAwMDAwMDAwMDA5NgorOjEwRjc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBBRAorOjEwRjc2MDAwMDAwMDAwMzZCRkZFREZDMDAwMDAwMDAwMEZGN0RGRkYyMworOjEwRjc3MDAwQzAwMDAwMDAwMDNEQjdCN0VGQzAwMDAwMDAwMDAwMDA2RgorOjEwRjc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA3RAorOjEwRjc5MDAwMDAwMDAwMUZERkRGRkZDMDAwMDAwMDAwMEZERkRGRkYwMQorOjEwRjdBMDAwQzAwMDAwMDAwMDNGRUZGRkZGQzAwMDAwMDAwMDAwMDBBRAorOjEwRjdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDA0RAorOjEwRjdDMDAwMDAwMDAwM0ZCRjdGRkZDMDAwMDAwMDAwM0ZGRjdGRjc0OQorOjEwRjdEMDAwQzAwMDAwMDAwMDNGREZGRkZGQzAwMDAwMDAwMDAwMDA4RAorOjEwRjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDAxRAorOjEwRjdGMDAwMDAwMDAwM0Y3RUZGRkY0MDAwMDAwMDAwM0ZGRUZGRkZEMworOjEwRjgwMDAwQzAwMDAwMDAwMDNGRkZGRkZGQzAwMDAwMDAwMDAwMDAzQworOjEwRjgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkZGRkZGRkMwMDBFQworOjEwRjgyMDAwMDAwMDAwMzdGRjZGRkZDMDAwMDAwMDAwM0ZGRkZGRkYzOAorOjEwRjgzMDAwQzAwMDAwMDAwMDNGRkZGRkZGQzAwMDAwMDAwMDAwMDAwQworOjEwRjg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwRjg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwRjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwRjg3MDAwMDAwMDAwMDAwMDAwMDAwMDMwMDAyMDAxMDIwMDAwMDAzNQorOjEwRjg4MDAwMzAwMDQzMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwRjg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwRjhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwRjhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwRjhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwRjhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwRjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwRjhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDAwMDAwMDAwMzBFOAorOjEwRjkwMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwRjkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwRjkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwRjkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwRjk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwRjk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMDBDNworOjEwRjk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwRjk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwRjk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwRjk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwRjlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwRjlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAzMEMwMzA0NworOjEwRjlDMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwRjlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwRjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwRjlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwRkExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDAwMDAwMDAwMEZDOAorOjEwRkEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwRkEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwRkE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwRkE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwRkE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwRkE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0Y0OAorOjEwRkE4MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwRkE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwRkFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwRkFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwRkFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwRkFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDMwQzAzMEMwMEYyOAorOjEwRkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwRkFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwRkIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwRkIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwRkIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTM2QjAwQzAwMENGMkM4QworOjEwRkI0MDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwRkI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwRkI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwRkI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwRkI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwRkI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMDA0NworOjEwRkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwRkJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwRkJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwRkJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwRkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwRkJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDBGMDAwRjAwMzBDNworOjEwRkMwMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwRkMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwRkMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwRkMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwRkM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwRkM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAzRkMwMDBBNgorOjEwRkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwRkM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwRkM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwRkM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwRkNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwRkNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDNGQzAzRkMwMzAyNgorOjEwRkNDMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwRkNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwRkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwRkNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwRkQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwRjAwMEZBNworOjEwRkQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwRkQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwRkQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwRkQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwRkQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwRkQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDBGMDAwRjAwM0YyNworOjEwRkQ4MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwRkQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwRkRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwRkRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwRkRDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwRkREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDNGQzAzRkMwMEYwNworOjEwRkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwRkRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwRkUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwRkUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwRkUzMDAwMDAwMDAwMDAwMDAwMDAwMDA2MzM1RDgwQzAwMEZEQUM0MworOjEwRkU0MDAwMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwRkU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwRkU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwRkU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwRkU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwRkU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwRkVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwRkVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwRkVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwRkVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwRkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwRkVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDAwMDAwMDAwMzBFMgorOjEwRkYwMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwRkYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwRkYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwRkYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwRkY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwRkY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwQzAzMEMwMDBDMQorOjEwRkY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwRkY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwRkY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwRkY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwRkZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwRkZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAzMEMwMzA0MQorOjEwRkZDMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwRkZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwRkZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwRkZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwODAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwODAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDAwMDAwMDAwMEYzMgorOjEwODAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwODA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwODA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwODA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwODA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDAwMDAwMDAwM0ZCMgorOjEwODA5MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwODBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwODBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwODBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwODBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwODBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDMwQzAzMEMwMEY5MgorOjEwODBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwODExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwODEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwODEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwODE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMTM3NEMwQzAwMEYwRUM0QworOjEwODE1MDAwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwODE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwODE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwODE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwODE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwODFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMDAwRjAwMDBCMQorOjEwODFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwODFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwODFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwODFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwODFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDBGMDAwRjAwMzAzMAorOjEwODIxMDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwODIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwODIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwODI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwODI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwODI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGQzAzRkMwMDAxMAorOjEwODI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwODI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwODI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwODJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwODJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwODJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTk4NjEwODAzMDgyM0Q5MAorOjEwODJEMDAwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwODJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwODJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwODMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwODMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwRjAwMEYxMQorOjEwODMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwODM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwODM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwODM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwODM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwODM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDBGMDAwRjAwM0Y5MQorOjEwODM5MDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwODNBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwODNCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwODNDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwODNEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwODNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDNGQzAzRkMwMEY3MQorOjEwODNGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjEwODQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QworOjEwODQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QworOjEwODQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQworOjEwODQ0MDAwMDAwMDAwMDAwMDAwMDAwMDM3NjUyNUU0ODAwMEIwODhDRgorOjEwODQ1MDAwQUI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQworOjEwODQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQworOjEwODQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjEwODQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQworOjEwODRBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQworOjEwODRCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQworOjEwODRDMDAwMDAwMDAwMDAzMDAwMjAwMTAyMDIwMDAwMzAwMDQzMDBFNAorOjEwODREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QworOjEwODRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QworOjEwODRGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QworOjEwODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjEwODUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QgorOjEwODUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwODUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwODU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwODU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwODU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwODU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwODU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwODVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwODVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwODVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwODVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwODVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwODVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjEwODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwODYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwODYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwODYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwODY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwODY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwODY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwODY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwODY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwODY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwODZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwODZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQQorOjEwODZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjEwODZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QQorOjEwODZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QQorOjEwODZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjEwODcxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OQorOjEwODcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OQorOjEwODczMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOQorOjEwODc0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjEwODc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOQorOjEwODc2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOQorOjEwODc3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOQorOjEwODc4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjEwODc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOQorOjEwODdBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOQorOjEwODdCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOQorOjEwODdDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjEwODdEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OQorOjEwODdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OQorOjEwODdGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OQorOjEwODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjEwODgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1OAorOjEwODgyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0OAorOjEwODgzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzOAorOjEwODg0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjEwODg1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOAorOjEwODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOAorOjEwODg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGOAorOjEwODg4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjEwODg5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEOAorOjEwODhBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDOAorOjEwODhCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCOAorOjEwODhDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjEwODhEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5OAorOjEwODhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4OAorOjEwODhGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3OAorOjEwODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjEwODkxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NworOjEwODkyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NworOjEwODkzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNworOjEwODk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjEwODk1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNworOjEwODk2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNworOjEwODk3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNworOjEwODk4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjEwODk5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENworOjEwODlBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNworOjEwODlCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNworOjEwODlDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjEwODlEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NworOjEwODlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NworOjEwODlGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NworOjEwOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjEwOEExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NgorOjEwOEEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NgorOjEwOEEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNgorOjEwOEE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjEwOEE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNgorOjEwOEE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNgorOjEwOEE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNgorOjEwOEE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjEwOEE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENgorOjEwOEFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNgorOjEwOEFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNgorOjEwOEFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjEwOEFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NgorOjEwOEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NgorOjEwOEFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NgorOjEwOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjEwOEIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NQorOjEwOEIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NQorOjEwOEIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNQorOjEwOEI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjEwOEI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNQorOjEwOEI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNQorOjEwOEI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNQorOjEwOEI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjEwOEI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENQorOjEwOEJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNQorOjEwOEJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNQorOjEwOEJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjEwOEJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NQorOjEwOEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NQorOjEwOEJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NQorOjEwOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjEwOEMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NAorOjEwOEMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NAorOjEwOEMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzNAorOjEwOEM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwOEM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwOEM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwOEM4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwOEM5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwOENBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNAorOjEwOENCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCNAorOjEwOENDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjEwOENEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5NAorOjEwOENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NAorOjEwOENGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3NAorOjEwOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjEwOEQxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MworOjEwOEQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MworOjEwOEQzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjEwOEQ0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjEwOEQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMworOjEwOEQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMworOjEwOEQ3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMworOjEwOEQ4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjEwOEQ5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMworOjEwOERBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwOERCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwOERDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjEwOEREMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MworOjEwOERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjEwOERGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjEwOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjEwOEUxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MgorOjEwOEUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MgorOjEwOEUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMgorOjEwOEU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjEwOEU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMgorOjEwOEU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMgorOjEwOEU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMgorOjEwOEU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMgorOjEwOEU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMgorOjEwOEVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMgorOjEwOEVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMgorOjEwOEVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjEwOEVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MgorOjEwOEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MgorOjEwOEVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjEwOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwOEYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwOEYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwOEYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwOEY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwOEY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwOEY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwOEY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwOEY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwOEY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMQorOjEwOEZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMQorOjEwOEZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwOEZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMQorOjEwOEZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwOEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwOEZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwOTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwOTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwOTAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwOTA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwOTA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwOTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwOTA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwOTA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwOTA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwOTBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwOTBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwOTBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwOTBEMDAwMzAwMDAwMDEwMDAwNDQ3MjMwMDA4MDAxMDAwMDAwMDNGNQorOjEwOTBFMDAwMzAwMDQwMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwOTBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwOTExMDAwMDAwMDAwMDAzMDAwODAwMTAwMDAwMDA1MzAwMEEwMDFDOAorOjEwOTEyMDAwMDAwMDAwMDAzMDAwMDAwMTAwMDBFMTVBMDAwMDAwMDBEMworOjBDOTEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzowMDAwMDAwMUZGCisvKgorICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQorICoKKyAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYworICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCisgKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAorICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bworICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorICogaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisgKiBpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorICoKKyAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQorICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgorICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAorICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KKyAqCisvLy8gVkVSU0lPTj0xLjEuMS4xMzEKKy8vIERBVEU9MjAwMWRlYzA2CisvLyBQUk9EVUNUPUVNSSAyfDYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTI2L2Zpcm13YXJlLkhFWCBiL2Zpcm13YXJlL2VtaTI2L2Zpcm13YXJlLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2E0MDBlCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pMjYvZmlybXdhcmUuSEVYCkBAIC0wLDAgKzEsMTI2MSBAQAorOjAzMDAwMDAwMDI0MzU2NjIKKzowMzAwMDMwMDAyNEJDREUwCis6MDMwMDBCMDAwMjRCRDJEMworOjAzMDAxMzAwMDI0QjkyMEIKKzowMzAwMUIwMDAyNEJENUMwCis6MDMwMDIzMDAwMjFCMzk4NAorOjAzMDAyQjAwMDI0M0UyQUIKKzowMzAwMzMwMDAyM0ZGMzk2Cis6MDMwMDNCMDAwMjRCQzBCNQorOjAzMDA0MzAwMDI0NzAwNzEKKzowMzAwNEIwMDAyM0ZGQzc1Cis6MDMwMDUzMDAwMjM3RkE3NworOjAzMDA1QjAwMDI0QkM3OEUKKzowMzAwNjMwMDAyNDZGQzU2Cis6MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODAxMDEwMDAxMDEwMjBGCis6MTAwNTEwMDAwMDAxMDkwMkI4MDEwMzAxMDA4MEEwMDkwNDAwMDAwMEU1Cis6MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCis6MTAwNTMwMDAwMjAxMDEwMTAwMDYwMDAwMDAwMDE1MjQwNjA1MDEwMjY5Cis6MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTlGCis6MTAwNTUwMDAyNDAzMDIwNDAzMDAwNTAwMEMyNDAyMDMwMTAyMDAwMjJDCis6MTAwNTYwMDAwMDAwMDAwMDBEMjQwNjA2MDMwMjAzMDAwMDAwMDAwMDQ2Cis6MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCis6MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Cis6MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCis6MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Cis6MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDYwMDA5MDQwMTg0Cis6MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDBFMjQwMkMyCis6MTAwNUQwMDAwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTBBMDU0QzZDCis6MTAwNUUwMDAwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNThGMDEwM0FBCis6MTAwNUYwMDAwMDAxMDYwMDA5MDQwMTAzMDIwMTAyMDAwMDA3MjQwMUIyCis6MTAwNjAwMDAwMTAwMDEwMDBFMjQwMjAxMDYwMzE4MDI0NEFDMDA4MDIwCis6MTAwNjEwMDBCQjAwMDkwNTBBMDU3MjAzMDEwMDhGMDcyNTAxMDEwMENGCis6MTAwNjIwMDAwMDAwMDkwNThGMDEwMzAwMDEwNjAwMDkwNDAxMDQwMjBFCis6MTAwNjMwMDAwMTAyMDAwMDA3MjQwMTAxMDAwMTAwMEIyNDAyMDEwMjU1Cis6MTAwNjQwMDAwMzE4MDEwMDc3MDEwOTA1MEEwNTQ2MDIwMTAwOEYwNzFBCis6MTAwNjUwMDAyNTAxMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA2MDAwOUMyCis6MTAwNjYwMDAwNDAyMDAwMDAxMDIwMDAwMDkwNDAyMDEwMTAxMDIwMDZECis6MTAwNjcwMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDEwMjAyMTAwM0ZBCis6MTAwNjgwMDA0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMwNTg0MDEwMUEyCis6MTAwNjkwMDAwMDAwMDcyNTAxMDEwMjAwMDAwOTA0MDIwMjAxMDEwMjE1Cis6MTAwNkEwMDAwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTAyMDMxOEM0Cis6MTAwNkIwMDAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzA1NDYwMkFECis6MTAwNkMwMDAwMTAwMDAwNzI1MDEwMTAyMDAwMDA1MEMwOTAxQTEwMTNDCis6MTAwNkQwMDAwNTBDMDlFOTA1MEMwOUVBMTUwMDI1MDE5NTAyNzUwMUNCCis6MTAwNkUwMDA4MTQyOTUwMTc1MDY4MTAxMDUwQzA5MDAwNTBDMDkwMDgwCis6MTAwNkYwMDAxNTAwMjUwMTk1MDI3NTAxOTEwNjk1MDE3NTA2OTEwMzc2Cis6MTAwNzAwMDBDMDA0MDMwOTA0MTgwMzQ1MDA0RDAwNDEwMDQ3MDA0OTk3Cis6MTAwNzEwMDAwMDQzMDAyMDAwNDcwMDZEMDA2MjAwNDgwMDFFMDM0NUIyCis6MTAwNzIwMDAwMDZEMDA2MTAwNjcwMDY5MDA2MzAwMjAwMDQ1MDA0RDE2Cis6MTAwNzMwMDAwMDQ5MDAyMDAwMzIwMDdDMDAzNjAwMkEwMzQzMDA2RjhECis6MTAwNzQwMDAwMDZFMDA2NjAwNjkwMDY3MDA3NTAwNzIwMDYxMDA3NDQ5Cis6MTAwNzUwMDAwMDY5MDA2RjAwNkUwMDIwMDA1MzAwNzQwMDcyMDA2OTkxCis6MTAwNzYwMDAwMDZFMDA2NzAwMjIwMzQ5MDA2RTAwNzQwMDY1MDA3MjhECis6MTAwNzcwMDAwMDY2MDA2MTAwNjMwMDY1MDAyMDAwNTMwMDc0MDA3MjkxCis6MDkwNzgwMDAwMDY5MDA2RTAwNjcwMDAwMDAzMgorOjEwMDc4OTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk4MworOjAxMDc5OTAwMjIzRAorOjEwMDc5QTAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFOQorOjEwMDdBQTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBFNQorOjEwMDdCQTAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NUU1MTg4RAorOjEwMDdDQTAwQjQwMjAzMDIwN0Q5QjQwMTAzMDIwN0RFMDIwN0ZBN0Q2NQorOjEwMDdEQTAwMDEwMjA4MTZFNTE5MTRGNTE5QzNCNTEzMDMwMjA3RjU0MgorOjEwMDdFQTAwNTAwOUI0MDBFQTc1MTkwQTAyMDdEOTdEMDAwMjA4MTZGMQorOjEwMDdGQTAwRTUxOTE0RjUxOUMzQjUxNDAzMDIwODExNTAwOUI0MDAxOAorOjEwMDgwQTAwQ0U3NTE5MEEwMjA3RDk3RDAyMDIwODE2N0MwNTkwN0Y2NworOjEwMDgxQTAwOTlFMDU0NDBEQzAzMDIwODQzQjQwMDFEOTA3RkUzNzQ1RQorOjEwMDgyQTAwN0JGMEEzNzQ4MEYwOTA3RkUyNzQ0MEYwOTA3RkU1RjA1MworOjEwMDgzQTAwOTA3RkUyNzQwMEYwMDIwODE4MDU4NjkwN0ZFMjc0ODBDNworOjEwMDg0QTAwRjA5MDc5NjVFMEI0MDEwMzAyMDg5RUI0MDIwMzAyMDgzRAorOjEwMDg1QTAwOTZCNDAzMDMwMjA4OEVCNDA0MDMwMjA4ODZCNDA1MDM5RgorOjEwMDg2QTAwMDIwODdFQjQwNjAzMDIwODc2MDIwOEY0MDU4NjkwN0YyMQorOjEwMDg3QTAwNkMwMjA4RTkwNTg2OTA3RjZDMDIwOEREMDU4NjkwN0Y4OAorOjEwMDg4QTAwNkMwMjA4Q0YwNTg2OTA3RjZDMDIwOEMwMDU4NjkwN0ZBRgorOjEwMDg5QTAwNkMwMjA4QjIwNTg2OTA3RjZDRjAwMEYwMDBGMDAwRjA2MAorOjEwMDhBQTAwMERFREI0MkRGNDAyMDhGNEYwRjBGMEYwRjBGMDBERURENworOjEwMDhCQTAwQjQyREY1MDIwOEY0RjAwMEYwMDBGMDAwRjAwREVEQjRFQworOjEwMDhDQTAwMzFGNDAyMDhGNEYwRjBGMEYwRjBGMDBERURCNDMxRjU4NworOjEwMDhEQTAwMDIwOEY0RjBGMEYwRjAwREVEQjQ2MUY3MDIwOEY0RjA1QworOjEwMDhFQTAwRjBGMEYwRjBGMDBERURCNDYxRjU5MDdGRTI3NDAwRjBGNQorOjEwMDhGQTAwRDA4NUQwODQwNTg2RDA4M0QwODJEMEUwRkNEMEUwRkRCQworOjA1MDkwQTAwRDBFMEZFRDBFMDhBCis6MDYwOTBGMDBGRkQwRTBEMEQwMjI3MQorOjEwMDkxNTAwQzBEMEMwRTBDMDgyQzA4MzkwN0Y2RkU1MENGMEU1MERDQworOjBEMDkyNTAwRjBFNTBFRjBEMDgzRDA4MkQwRTBEMEQwMjJEQgorOjEwMDkzMjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODNFMworOjEwMDk0MjAwMDU4NkMwODRDMDg1OTA3OTcwRTBGRkJGMDAwMzAyMEE2QgorOjEwMDk1MjAwQjg5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0ZDMAorOjEwMDk2MjAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0YwQgorOjEwMDk3MjAwRjA5MDdGRTI3NDgwRjA5MDc5ODhFMEI0MDEwMzAyMDk3QworOjEwMDk4MjAwQkVCNDAyMDMwMjA5QzNCNDAzMDMwMjA5QUNCNDA0MDNGNAorOjEwMDk5MjAwMDIwOTlBMDU4NjAyMEFCMkVGNTQwM0ZFRUYwMzAzNTREQQorOjEwMDlBMjAwM0ZGRjkwN0Y2MzA1ODYwMjA5QzlFRjU0MDNGRUVGMDMwMAorOjEwMDlCMjAwMDM1NDNGRkY5MDdGNjMwNTg2MDIwQTM2MDU4NjAyMEFDQQorOjEwMDlDMjAwQTUwNTg2MDIwQThFRTBFMEUwRTBFMEUwMDU4NkUwRTBEMAorOjEwMDlEMjAwRTAwNTg2RTBFMEUwRTBFMEUwMDU4NkUwRTBFMDA1ODZCNAorOjEwMDlFMjAwRTBFMEUwRTBFMEUwMDU4NkUwRTBFMDA1ODZFMEUwRTA2RgorOjEwMDlGMjAwRTBFMEUwMDU4NkUwRTBFMDA1ODZERkNBRUVCNDAwMDM1MQorOjEwMEEwMjAwMDIwQUIyQjQwMTAzMDIwQTI1RTBFMEUwRTBFMEUwMDVGOAorOjEwMEExMjAwODZFMEUwRTAwNTg2RTBFMEUwRTBFMEUwMDU4NkUwRTA5OAorOjEwMEEyMjAwRTAwNTg2RTBFMEUwRTBFMEUwMDU4NkUwRTBFMDA1ODY2MworOjEwMEEzMjAwMDIwQUIyRTBFMEUwRTAwNTg2RTBFMDA1ODZFMEUwRTAwMAorOjBEMEE0MjAwRTAwNTg2RTBFMDA1ODZFMEUwRTBFMDA1ODZFNgorOjEwMEE0RjAwRTBFMDA1ODZFMEUwRTBFMDA1ODZFMEUwMDU4NkRGRDY0MQorOjEwMEE1RjAwRUVCNDAwMDMwMjBBQjJCNDAxMDMwMjBBODBFMEUwRTA0MAorOjEwMEE2RjAwRTAwNTg2RTBFMDA1ODZFMEUwRTBFMDA1ODZFMEUwMDVGMQorOjEwMEE3RjAwODZFMEUwRTBFMDA1ODZFMEUwMDU4NjAyMEFCMkUwRTAwRAorOjEwMEE4RjAwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTBFMEUwRTA1NworOjEwMEE5RjAwREZFQzAyMEFCMkUwRTBFMEUwRTBFMEUwRTBFMEUwRTAxRQorOjEwMEFBRjAwRTBERkYyOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDAyRAorOjBFMEFCRjAwODNEMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjg1Cis6MTAwQUNEMDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQkM0Cis6MEEwQUREMDBEMEUwRjhEMEUwRDA4M0QwODIyMkYwCis6MTAwQUU3MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMEE1Cis6MTAwQUY3MDA4Q0UwQzBFMDc1ODYwMEMwODJDMDgzMDU4NkMwODRDMEQ0Cis6MTAwQjA3MDA4NTdFMDA5MDc5OEVFMEI0MDAxNjc0MDFGMDkwMDZDQUQ1Cis6MTAwQjE3MDBBM0EzQTNBM0EzQTNBM0UwRkY5MDc5OERGMDAyMEIzOUFFCis6MTAwQjI3MDA5MDc5OERFMEZGOTA3OThGRTBGRDkwNzk5MEUwRkMwMjVECis6MTAwQjM3MDAwQjQ2OTAwNkNBMDU4NjkwN0YwMDA1ODYwMjBCNTE4REVECis6MTAwQjQ3MDA4NDhDODUwNTg2OTA3RjAwMDU4NkUwQTMwNTg2RjBBMzQzCis6MTAwQjU3MDAwRUVFQjQ0MDAzMDIwQjZDMDU4NkRGRUU5MDc5OEU3NEJGCis6MTAwQjY3MDAwMEYwMDIwQjgyMDU4NkFEODRBQzg1OTA3OThGRURGMDlECis6MTAwQjc3MDA5MDc5OTBFQ0YwOTA3OThEMUZFRkYwOTA3RkI1RUVGMEMzCis6MTAwQjg3MDBEMDg1RDA4NDA1ODZEMDgzRDA4MkQwRTBGQ0QwRTBGRDJDCis6MEIwQjk3MDBEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODQKKzoxMDBCQTIwMEMwRDBDMEUwQzA4MkMwODM5MDdGQUVFMDU0RTBGMDkwM0QKKzoxMDBCQjIwMDdGOTZFMDQ0MDg1NEZCRjA5MDdGOTdFMDU0QkZGMDkwOUEKKzoxMDBCQzIwMDdGRTM3NDdCRjA5MDdGRTQ3NDQwRjA5MDc5NzhFMDkwNUEKKzoxMDBCRDIwMDdCNDBGMDkwN0ZFMjc0NDhGMDkwN0ZFNUUwOTA3RkUyMDYKKzoxMDBCRTIwMDc0MDBGMDkwN0Y5NkUwNTRGNzQ0MDRGMDkwN0ZFMzc0MzEKKzoxMDBCRjIwMDdCRjA5MDdGRTQ3NDQwRjA5MDc5NzlFMDkwN0I0MEYwNTQKKzoxMDBDMDIwMDkwN0ZFMjc0NDhGMDkwN0ZFNUUwOTA3RkUyNzQwMEYwMUMKKzoxMDBDMTIwMDkwN0Y5NkUwNTRGM0YwOTA3RkFFRTA0NDFGRjBEMDgzRDMKKzowNzBDMjIwMEQwODJEMEUwRDBEMDIyMDcKKzoxMDBDMjkwMEMwRDBDMEUwQzA4M0MwODI5MDc5MkZFMDY0RkZDMzI0QTQKKzowQjBDMzkwMDAxRjBEMDgyRDA4M0QwRTBEMEQwMjJBOAorOjEwMEM0NDAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJBRQorOjA5MEM1NDAwRTMyMjg5ODI4QTgzRTQ5MzIyRTEKKzoxMDBDNUQwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwNEMKKzoxMDBDNkQwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyOTYKKzowRDBDN0QwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQjAKKzoxMDBDOEEwMEJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxNDkKKzowMjBDOUEwMEYzMjI0MworOjEwMEM5QzAwRjhCQjAxMERFNTgyMjlGNTgyRTU4MzNBRjU4M0U4RjA4RQorOjEwMENBQzAwMjI1MDA2RTkyNTgyQzhGNjIyQkJGRTA1RTkyNTgyQzgzQQorOjAyMENCQzAwRjIyMjIyCis6MTAwQ0JFMDBDMkQ1RUMzMEU3MDlCMkQ1RTRDMzlERkRFNDlDRkNFRTUxCis6MTAwQ0NFMDAzMEU3MTVCMkQ1RTRDMzlGRkZFNDlFRkUxMjBFNDBDMzdCCis6MTAwQ0RFMDBFNDlERkRFNDlDRkM4MDAzMTIwRTQwMzBENTA3QzNFNDc2Cis6MDYwQ0VFMDA5RkZGRTQ5RUZFMjJDMAorOjEwMENGNDAwQzVGMEY4QTNFMDI4RjBDNUYwRjhFNTgyMTU4MjcwMDI4QgorOjA2MEQwNDAwMTU4M0UwMzhGMDIyMjcKKzoxMDBEMEEwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwMjcKKzoxMDBEMUEwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFMDQKKzoxMDBEMkEwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzNEEKKzowODBEM0EwMEU5OTNGNUYwQTNFOTkzMjIwRgorOjEwMEQ0MjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkM1MAorOjEwMEQ1MjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRDRQorOjEwMEQ2MjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUIyRAorOjEwMEQ3MjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlGMgorOjBGMEQ4MjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyNUYKKzoxMDBEOTEwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwQjgKKzowMTBEQTEwMDIyMkYKKzoxMDBEQTIwMEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzMDIwRUExQTYKKzoxMDBEQjIwMDUwMDdFOTI1ODJGODAyMEU5NUJCRkUwN0U5MjU4MkY4NjUKKzoxMDBEQzIwMDAyMEVBREU1ODIyOUY1ODJFNTgzM0FGNTgzMDIwRUI5N0EKKzoxMDBERDIwMEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzMDIwRUQ1NDIKKzoxMDBERTIwMDUwMDdFOTI1ODJGODAyMEVDOUJCRkUwN0U5MjU4MkY4MDEKKzowNDBERjIwMDAyMEVFMTIyRUEKKzoxMDBERjYwMEJCMDEwREU1ODIyOUY1ODJFNTgzM0FGNTgzMDIwRjA2RUMKKzoxMDBFMDYwMDUwMDdFOTI1ODJGODAyMEVFREJCRkUwN0U5MjU4MkY4QjgKKzowNDBFMTYwMDAyMEYzNzIyNkUKKzoxMDBFMUEwMEQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzNjcKKzoxMDBFMkEwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwN0IKKzowNjBFM0EwMEVGQTNBM0EzODBERjdCCis6MTAwRTQwMDBCQzAwMEJCRTAwMjlFRjhERjA4NEZGQURGMDIyRTRDQzk2Cis6MTAwRTUwMDBGODc1RjAwOEVGMkZGRkVFMzNGRUVDMzNGQ0VFOURFQzVGCis6MTAwRTYwMDA5ODQwMDVGQ0VFOURGRTBGRDVGMEU5RTRDRUZEMjJFREE1Cis6MTAwRTcwMDBGOEY1RjBFRTg0MjBEMjFDRkVBREYwNzVGMDA4RUYyRkVGCis6MTAwRTgwMDBGRkVEMzNGRDQwMDc5ODUwMDZENUYwRjIyMkMzOThGREUwCis6MDUwRTkwMDAwRkQ1RjBFQTIyN0QKKzowQzBFOTUwMEU2RkMwOEU2RkQwOEU2RkUwOEU2RkYyMjg5Cis6MEMwRUExMDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGMjJDNAorOjBDMEVBRDAwRTJGQzA4RTJGRDA4RTJGRTA4RTJGRjIyODEKKzoxMDBFQjkwMEU0OTNGQ0EzRTQ5M0ZEQTNFNDkzRkVBM0U0OTNGRjIyNEMKKzowQzBFQzkwMEVDRjYwOEVERjYwOEVFRjYwOEVGRjYyMjU1Cis6MEMwRUQ1MDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI5MAorOjBDMEVFMTAwRUNGMjA4RURGMjA4RUVGMjA4RUZGMjIyNEQKKzoxMDBFRUQwMEQwODNEMDgyRTQ5M0Y2MDg3NDAxOTNGNjA4NzQwMjkzQ0MKKzowOTBFRkQwMEY2MDg3NDAzOTNGNjc0MDQ3MzAzCis6MTAwRjA2MDBBODgyODU4M0YwRDA4M0QwODIxMjBGMUQxMjBGMUQxMjg2Cis6MTAwRjE2MDAwRjFEMTIwRjFERTQ3M0U0OTNBM0M1ODNDNUYwQzU4M0FCCis6MTAwRjI2MDBDOEM1ODJDOEYwQTNDNTgzQzVGMEM1ODNDOEM1ODJDODM1Cis6MDEwRjM2MDAyMjk4Cis6MTAwRjM3MDBEMDgzRDA4MkU0OTNGMjA4NzQwMTkzRjIwODc0MDI5Mzg5Cis6MDkwRjQ3MDBGMjA4NzQwMzkzRjI3NDA0NzNDMAorOjEwMEY1MDAwQzJBRkQyMkM5MDdGOTM3NDMwRjA5MDdGOUM3NEJGRjAxRQorOjEwMEY2MDAwOTA3Rjk2RTA1NDMwRjA5MDdGOTQ3NDMwRjA5MDdGOURBNQorOjEwMEY3MDAwNzRDRkYwOTA3Rjk3NzRBMEYwOTA3Rjk1NzRDQ0YwRTREQworOjEwMEY4MDAwOTA3RjlFRjBDMjJEQzIyQUMyMkJDMjJFOTA3OTc0MDQ4QgorOjEwMEY5MDAwRjAxMjJFOTQxMjQ5RTIxMjRCRTYxMjMyMEQxMjNCMEQ2MgorOjEwMEZBMDAwMTI0MUZEMTIzRTk5RTUxRjcwMTg3NTFGMDExMjE3RkZCRgorOjEwMEZCMDAwMTIyRkZGMTI0OUM4MTI0QkQ4MTI0QkRBMTI0OTZGMTI4NgorOjEwMEZDMDAwMUI0MDEyMzk4RDkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA3RQorOjEwMEZEMDAwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RkFERjA5MDdGREUwNworOjEwMEZFMDAwRjA5MDdGREZGMDkwN0ZBQkYwOTA3RkE5RjA5MDdGQUEyOAorOjEwMEZGMDAwRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODIwNDNBODgwMjI3MQorOjEwMTAwMDAwOTA3OTYzRTAxNDYwNDQxNDcwMDIyMUQwMTQ3MDAyNDE5RQorOjEwMTAxMDAwRDkxNDcwMDI2MUQ3MjQwNDYwMDI4MTU2RTQ5MDc5Nzg3MworOjEwMTAyMDAwRjA5MDc5N0JFMDkwNzk3OUYwNDQwMUYwNTRGREYwOTBGNAorOjEwMTAzMDAwNzk3QkYwRTQ5MDc5ODhGMEEyQUYzM0Y1MTJDMkFGMTI1OQorOjEwMTA0MDAwMEJBMkU1MTI3MDAyODE1NkQyQUYyMjkwNzkyREUwNjQ5NgorOjEwMTA1MDAwMDE3MDc5OTA3RkYyRjA5MDdGRjM3NDMwRjA5MDdGRkYxMQorOjEwMTA2MDAwNzRGQ0YwRTQ5MDc5NzhGMDkwNzk3QkUwOTA3OTc5RjBGNQorOjEwMTA3MDAwNDQwMUYwNDQwMkYwOTA3OTdCRjBBMkFGRTQzM0Y1MTIyMgorOjEwMTA4MDAwQzJBRjEyMEJBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA0QworOjEwMTA5MDAwNzk3OUYwOTA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkU5NAorOjEwMTBBMDAwRjA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5NzlFMDU0RkQ3RgorOjEwMTBCMDAwRjA1NEZCRjA5MDc5ODRGMDEyMEJBMjkwNzk4Mjc0MDRDMgorOjEwMTBDMDAwRjA5MDc5ODgxNEYwRTUxMjYwMDJEMkFGOTA3OTJERTBBQgorOjEwMTBEMDAwNjQwMjcwNzk5MDdGRjJGMDkwN0ZGMzc0MzRGMDkwN0YyNworOjEwMTBFMDAwRkY3NEZDRjBFNDkwNzk3OEYwOTA3OTdCRTA5MDc5Nzk2NgorOjEwMTBGMDAwRjA0NDAxRjA0NDAyRjA5MDc5N0JGMEEyQUZFNDMzRjVDNAorOjEwMTEwMDAwMTJDMkFGMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTg0RTA0OQorOjEwMTExMDAwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk3OUUwNTQ4MQorOjEwMTEyMDAwRkVGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwNDQwRAorOjEwMTEzMDAwMDJGMDU0RkJGMDkwNzk4NEYwMTIwQkEyOTA3OTgyNzQ0MworOjEwMTE0MDAwMDRGMDkwNzk4ODE0RjBFNTEyNjAwMkQyQUY5MDc5MkQwNgorOjEwMTE1MDAwRTA2NDAzNjAwMjgxNTY5MDdGRjJGMDkwN0ZGMzc0NjQ0NAorOjEwMTE2MDAwRjA5MDdGRkY3NEZDRjBFNDkwNzk3OEYwOTA3OTdCRTA2OAorOjEwMTE3MDAwOTA3OTc5RjA0NDAxRjA0NDAyRjA5MDc5N0JGMEEyQUZDRAorOjEwMTE4MDAwRTQzM0Y1MTJDMkFGMTIwQkEyOTA3OTc4NzQwMkYwOTA5QQorOjEwMTE5MDAwNzk4NEUwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwNzlEMQorOjEwMTFBMDAwNzlFMDU0RkVGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3RAorOjEwMTFCMDAwNzlFMDQ0MDRGMDkwNzk4NEYwMTIwQkEyOTA3OTgyNzQ2MworOjEwMTFDMDAwMDRGMDkwNzk4ODE0RjBFNTEyNzAwMjgxNTZEMkFGMjJCMworOjEwMTFEMDAwOTA3OTJERTA2NDAxNzA3QTkwN0ZGMkYwOTA3RkYzNzQ0MworOjEwMTFFMDAwODhGMDkwN0ZGRjc0RkNGMEU0OTA3OTc4RjA5MDc5N0I0MAorOjEwMTFGMDAwRTA5MDc5NzlGMDQ0MDFGMDU0RkRGMDkwNzk3QkYwQTIxMQorOjEwMTIwMDAwQUZFNDMzRjUxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjBGQQorOjEwMTIxMDAwOTA3OTg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTAzOQorOjEwMTIyMDAwNzk3OUUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTBGQworOjEwMTIzMDAwNzk3OUUwNTRGREYwNTRGQkYwOTA3OTg0RjAxMjBCQTIyMAorOjEwMTI0MDAwOTA3OTgyNzQwQ0YwOTA3OTg4NzQwMUYwRTUxMjYwMDI1NAorOjEwMTI1MDAwRDJBRjkwNzkyREUwNjQwMjYwMDI4MTU2OTA3RkYyRjA2NworOjEwMTI2MDAwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwRTQ5MDc5NzhCMQorOjEwMTI3MDAwRjA5MDc5N0JFMDkwNzk3OUYwNDQwMUYwNTRGREYwOTBBMgorOjEwMTI4MDAwNzk3QkYwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMjkwNzlEMgorOjEwMTI5MDAwNzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGRTAyOQorOjEwMTJBMDAwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5RTBGMworOjEwMTJCMDAwNDQwMUYwOTA3OTc5RTA0NDAyRjA1NEZCRjA5MDc5ODQ5NQorOjEwMTJDMDAwRjAxMjBCQTI5MDc5ODI3NDBDRjA5MDc5ODg3NDAxRjA3RQorOjEwMTJEMDAwRTUxMjcwMDI4MTU2RDJBRjIyOTA3OTJERTA2NDAxNzA0MAorOjEwMTJFMDAwNzc5MDdGRjJGMDkwN0ZGMzc0Q0NGMDkwN0ZGRjc0RkNFNgorOjEwMTJGMDAwRjBFNDkwNzk3OEYwOTA3OTdCRTA5MDc5NzlGMDU0RkM4MworOjEwMTMwMDAwRjA5MDc5N0JGMEEyQUZFNDMzRjUxMkMyQUYxMjBCQTJEQQorOjEwMTMxMDAwOTA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwNzlGRQorOjEwMTMyMDAwN0ZFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwNzk2QworOjEwMTMzMDAwNzlFMDQ0MDFGMDkwNzk3OUUwNTRGREYwNTRGQkYwOTBBRAorOjEwMTM0MDAwNzk4NEYwMTIwQkEyOTA3OTgyNzQxMkYwOTA3OTg4NzRFQgorOjEwMTM1MDAwMDJGMEU1MTI2MDAyRDJBRjkwNzkyREUwNjQwMjcwNzc1RQorOjEwMTM2MDAwOTA3RkYyRjA5MDdGRjM3NEUwRjA5MDdGRkY3NEZDRjBEOAorOjEwMTM3MDAwRTQ5MDc5NzhGMDkwNzk3QkUwOTA3OTc5RjA1NEZDRjAwMgorOjEwMTM4MDAwOTA3OTdCRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQkEyOTBCQQorOjEwMTM5MDAwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MDc5N0Y4RgorOjEwMTNBMDAwRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MDc5NzlGMgorOjEwMTNCMDAwRTA0NDAxRjA5MDc5NzlFMDQ0MDJGMDU0RkJGMDkwNzkzOAorOjEwMTNDMDAwODRGMDEyMEJBMjkwNzk4Mjc0MTJGMDkwNzk4ODc0MDJFMgorOjEwMTNEMDAwRjBFNTEyNjAwMkQyQUY5MDc5MkRFMDY0MDM3MDc3OTA0RgorOjEwMTNFMDAwN0ZGMkYwOTA3RkYzNzQ5NEYwOTA3RkZGNzRGQ0YwRTQ1MAorOjEwMTNGMDAwOTA3OTc4RjA5MDc5N0JFMDkwNzk3OUYwNTRGRUYwNDQyMAorOjEwMTQwMDAwMDJGMDkwNzk3QkYwQTJBRkU0MzNGNTEyQzJBRjEyMEI3OQorOjEwMTQxMDAwQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUYwOTBENAorOjEwMTQyMDAwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDA3OTA2QgorOjEwMTQzMDAwNzk3OUUwNDQwMUYwOTA3OTc5RTA0NDA0RjA5MDc5ODQ3RQorOjEwMTQ0MDAwRjAxMjBCQTI5MDc5ODI3NDA2RjA5MDc5ODg3NDA0RjBGRgorOjA3MTQ1MDAwRTUxMjYwMDJEMkFGMjI5OQorOjEwMTQ1NzAwQzIyOEMyMjk5MDdGRThFMDEyMEUxQTE0ODQwMDE0RTAxMworOjEwMTQ2NzAwMDExNEY2MDIxNjdDMjExNkJFMjIxNTkxODAxNUQxODEzMgorOjEwMTQ3NzAwMTYyRTgyMTZDRkExMTcwNUEyMDAwMDE3MEE5MDdGRTk0MgorOjEwMTQ4NzAwRTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzcwNDBCOQorOjEwMTQ5NzAwMTI0QTJBRTExNjEyNEJFMDQwMDJFMTE2OTA3RkVBRTA3OQorOjEwMTRBNzAwQjQwMTA0QzIyQUUxMTY5MDdGQjRFMDQ0MDFGMEUxMTZDQQorOjEwMTRCNzAwMTI0QkUyOTA3RkVBRTBCNDAxMDREMjJBRTExNjkwN0Y1MgorOjEwMTRDNzAwQjRFMDQ0MDFGMEUxMTY5MDdGQjRFMDQ0MDFGMEUxMTY4NgorOjEwMTRENzAwOTA3RkI0RTA0NDAxRjBFMTE2OTA3RkU5RTAyNEY1NzBENQorOjEwMTRFNzAwMDUxMjQ3OUNFMTE2OTA3RkI0RTA0NDAxRjBFMTE2OTBBNQorOjEwMTRGNzAwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMkExODgxMjRCRTBEQQorOjEwMTUwNzAwNDAwMkUxMTY5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTRGNworOjEwMTUxNzAwODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODI2MQorOjEwMTUyNzAwRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTNGRAorOjEwMTUzNzAwMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjBBQgorOjEwMTU0NzAwRTExNjkwN0ZCNEUwNDQwMUYwRTExNjEyNEJFMjQwMDI0RAorOjEwMTU1NzAwRTExNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkY4MgorOjEwMTU2NzAwQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3OAorOjEwMTU3NzAwN0ZGNTgzNzQwMUYwRTExNjkwN0ZCNEUwNDQwMUYwRTE1OAorOjEwMTU4NzAwMTY5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGRTlFMDYwMTIyNQorOjEwMTU5NzAwMjRGODYwMDkyNDAyNzAyOTEyMTcxRUUxMTYxMjRCQTBDNQorOjEwMTVBNzAwRTExNjEyNEJERUEyMkFFNDMzRkYyNUUwRkZBMjJCRTQ2QgorOjEwMTVCNzAwMzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwRTEyMQorOjEwMTVDNzAwMTY5MDdGQjRFMDQ0MDFGMEUxMTY5MDdGRTlFMDYwMzdDMAorOjEwMTVENzAwMjRGNjYwMkUyNDA0NzA0MTkwN0ZFQkUwMjRERTYwMEUzOQorOjEwMTVFNzAwMDQ3MDE2RDIyOTkwN0ZCNEUwNDQwMUYwRTExNkQyMjlBNQorOjEwMTVGNzAwOTA3RkI0RTA0NDAxRjBFMTE2OTA3RkI0RTA0NDAxRjAzRAorOjEwMTYwNzAwRTExNjEyNDQ2M0UxMTYxMjRCREVFNDkwN0YwMEYwQTM2QgorOjEwMTYxNzAwRjA5MDdGQjU3NDAyRjBFMTE2MjAyOTA3OTA3RkI0RTBCRgorOjEwMTYyNzAwNDQwMUYwQzIyOUUxMTY5MDdGRTlFMDI0RjQ2MDM0MjRGNAorOjEwMTYzNzAwMEM3MDM5MTI0QkRFOTA3RkVDRTBGNDU0ODBGRkM0NTRGOQorOjEwMTY0NzAwMEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjUzQgorOjEwMTY1NzAwODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDIxRgorOjEwMTY2NzAwRjBFMTE2OTA3RkI0RTA0NDAxRjBFMTE2OTA3RkI0RTAxQQorOjEwMTY3NzAwNDQwMUYwRTExNjkwN0ZFOUUwMjRGNjYwMTIxNDYwMUE0NQorOjEwMTY4NzAwMjQwMjcwMUREMjI4OTA3RkI0RTA0NDAxRjA4MDEyRDI2QQorOjEwMTY5NzAwMjg5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFENAorOjEwMTZBNzAwRjAyMDI4MEY5MDc5ODU3NDAxRjAxMjQ5NkY5MDdGQzU1QgorOjEwMTZCNzAwNzQwMkYwQzIyODgwNTg5MDc5ODY3NDAxRjAxMjQ5NkYzRAorOjEwMTZDNzAwOTA3RkM1NzQwMkYwODA0NzkwN0ZFOUUwMjRGRTYwMTJBNgorOjEwMTZENzAwMTQ2MDFBMjQwMjcwMUREMjI4OTA3RkI0RTA0NDAxRjBGMAorOjEwMTZFNzAwODAxMkQyMjg5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjQ0NQorOjEwMTZGNzAwRTA0NDAxRjAyMDI4MDMxMjFBN0JDMjI4ODAxMTEyMkMyMworOjEwMTcwNzAwMkI4MDBDMTI0QkU0NTAwNzkwN0ZCNEUwNDQwMUYwOTAxQgorOjA3MTcxNzAwN0ZCNEUwNDQwMkYwMjI2MAorOjEwMTcxRTAwMTI0QkRDNDAwMkUxRTM5MDdGRUJFMDI0RkU2MDFFMTRFRQorOjEwMTcyRTAwNjA0NjE0NjA2RTE0NzAwMkUxRDQyNDA0NjAwMkUxRENBMQorOjEwMTczRTAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUFFQworOjEwMTc0RTAwRTBGRjEyM0ZBMjhCMzM4QTM0ODkzNUVBNDk2MDExQ0UwRAorOjEwMTc1RTAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjI5NgorOjEwMTc2RTAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ4MDAzRgorOjEwMTc3RTAwOEIzMzhBMzQ4OTM1RUE0OTYwMTFDRUVBQ0VFRTkwN0ZGQQorOjEwMTc4RTAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQzNAorOjEwMTc5RTAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIyNworOjEwMTdBRTAwMTI0NEQyOEIzMzhBMzQ4OTM1RUE0OTYwMTFDRUVBQ0U5RgorOjEwMTdCRTAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZERgorOjEwMTdDRTAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YxNworOjA1MTdERTAwQjRFMDQ0MDFGMDNECis6MDExN0UzMDAyMkUzCis6MTAxN0U0MDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RjQ3Cis6MEIxN0Y0MDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyNTAKKzowMTE3RkYwMDIyQzcKKzoxMDE4MDAwMEU0OTA3ODE1RjA3QjAxOTA3ODEyMDRGMEEzNzQ3OEYwREUKKzoxMDE4MTAwMEEzNzQ1OEYwOTA3ODEyRTBGQkEzRTBGQUEzRTBGOTkwRUIKKzoxMDE4MjAwMDAwMDExMjBDNURGRjkwNzk5QUUwNkY2MDE4OTA3ODE1QjYKKzoxMDE4MzAwMEUwQzM5NDA2NTAwRkUwMDRGMDkwNzgxM0U0NzVGMDBGQzUKKzoxMDE4NDAwMDEyMENGNDgwQ0Y5MDc4MTVFMEI0MDYwODkwN0ZCNEUwRDUKKzoxMDE4NTAwMDQ0MDFGMDIyOTA3ODEyRTBGQkEzRTBGQUEzRTBGOTEyMzEKKzoxMDE4NjAwMDBDNDRGRjI0QkY3MDAyNDE3QTI0RTA3MDAyNDE0QzI0RjIKKzoxMDE4NzAwMDIxNjAwMjQxNzM5MDc5OTdFMDI0RkU3MDAyMjE5QTE0NEUKKzoxMDE4ODAwMDcwMDIyMUVGMjQwMjYwMDI0MTQ0OTA3OTJERTBBM0YwMjAKKzoxMDE4OTAwMDkwNzkyM0UwRkZFNEZDRkRGRUZCRkE3OTAxRjgxMjBEREMKKzoxMDE4QTAwMDQyQzhFQ0M4QzlFREM5Q0FFRUNBQ0JFRkNCOTA3OTIyQzkKKzoxMDE4QjAwMEUwRkVFNEZDRkQyQkZCRUEzRUZBRUQzOUY5RUMzOEY4RUEKKzoxMDE4QzAwMDkwNzkyMUUwRkZFNEZFRUIyRkZGRUUzQUZFRUQzOUZEQ0IKKzoxMDE4RDAwMEVDMzhGQzkwNzgxMkUwRkJBM0UwRkFBM0UwRjk5MDAwNkEKKzoxMDE4RTAwMDAyMTIwREQyOTAwMDAyMTIwREEyN0I0NDdBQUM3OTAwNTQKKzoxMDE4RjAwMDc4MDBDMzEyMEQ5MTcwMDU5MDc5MkQwNEYwOTA3ODEyNDQKKzoxMDE5MDAwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDIxMjBEQTI3QjgwQjUKKzoxMDE5MTAwMDdBQkI3OTAwNzgwMEMzMTIwRDkxNzAwNjkwNzkyRDc0MEUKKzoxMDE5MjAwMDAyRjA5MDc4MTJFMEZCQTNFMEZBQTNFMEY5OTAwMDAyNDUKKzoxMDE5MzAwMDEyMERBMjdCMDA3QTc3NzkwMTc4MDBDMzEyMEQ5MTcwQTUKKzoxMDE5NDAwMDA2OTA3OTJENzQwM0YwOTA3OTJERTBGRkI0MDEwOTc1QUMKKzoxMDE5NTAwMDBDNjc3NTBEMDY3NTBFMEJFRkI0MDIwOEU0RjUwQ0Y1NzcKKzoxMDE5NjAwMDBENzUwRTBDRUZCNDAzMDhFNEY1MENGNTBENzUwRTE4QUIKKzoxMDE5NzAwMEVGQjQwMzBEOTA3OTJFRTA2NDAzNjAwNUQyMkYxMjNEODEKKzoxMDE5ODAwMDc5OTA3OTJERTA2NDAzNjAwQUEzRTBCNDAzMDVDMjJGQzcKKzoxMDE5OTAwMDEyM0Q3OTEyMTAwMDEyMjgwMTIyOTA3OTIzRTBGRkU0MTEKKzoxMDE5QTAwMEZDRkRGRUZCRkE3OTAxRjgxMjBENDJDOEVDQzhDOUVENDYKKzoxMDE5QjAwMEM5Q0FFRUNBQ0JFRkNCOTA3OTIyRTBGRUU0RkNGRDJCNDYKKzoxMDE5QzAwMEZCRUEzRUZBRUQzOUY5RUMzOEY4OTA3OTIxRTBGRkU0RDIKKzoxMDE5RDAwMEZFRUIyRkZGRUUzQUZFRUQzOUZERUMzOEZDOTA3ODEyNkQKKzoxMDE5RTAwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDYxMjBERDIyMjkwRUEKKzoxMDE5RjAwMDc5MjNFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIwRDQyQzkKKzoxMDFBMDAwMEM4RUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwNzkyMkUwQzkKKzoxMDFBMTAwMEZFRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwRDgKKzoxMDFBMjAwMDc5MjFFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMEQKKzoxMDFBMzAwMDM4RkM5MDc4MTJFMEZCQTNFMEZBQTNFMEY5OTAwMDBBRUEKKzoxMDFBNDAwMDEyMEREMjIyOTA3RkI0RTA0NDAxRjAyMjkwNzk5N0UwMDkKKzoxMDFBNTAwMDE0NzAxODkwNzkyMUUwRkY5MDc4MTJFMEZCQTNFMEZBNkYKKzoxMDFBNjAwMEEzRTBGOTkwMDAwRUVGMTIwQzlDMjI5MDdGQjRFMDQ0QUEKKzowQTFBNzAwMDAxRjAyMjkwN0ZCNEUwNDQwMUYwODEKKzowMTFBN0EwMDIyNDkKKzoxMDFBN0IwMEU0RkZGRTdCMDE5MDc4MEYwNEYwQTM3NDc4RjBBMzc0NUQKKzoxMDFBOEIwMDJCRjA5MDc4MEZFMEZCQTNFMEZBQTNFMEY5OTAwMDAyQjMKKzoxMDFBOUIwMDEyMEM1REZEOTA3RkVDRTA2RDYwMTNFRkMzOTQwNTUwNkQKKzoxMDFBQUIwMDBEMEY5MDc4MTBFNDc1RjAwMzEyMENGNDgwRDQ4RDMzODUKKzoxMDFBQkIwMDkwNzgwRkUwRkJBM0UwRkFBM0UwRjk5MDAwMDExMjBDODEKKzoxMDFBQ0IwMDVERkQ5MDdGRURFMDZENjAxM0VFQzM5NDBCNTAwRDBFM0EKKzoxMDFBREIwMDkwNzgxMEU0NzVGMDAzMTIwQ0Y0ODBENDkwN0ZFREUwNTUKKzoxMDFBRUIwMEY1MzRFRjY0MDU2MDAzQkUwQjA4OTA3RkI0RTA0NDAxNEUKKzoxMDFBRkIwMEYwMjI5MDc4MEZFMEZCQTNFMEZBQTNFMEY5MTIwQzQ0N0MKKzoxMDFCMEIwMEZGMjRGMDYwMDgyNDBGNzAwRTEyNDkyQTIyMTI0QjgzMTcKKzowRTFCMUIwMDkwNzkyMEU1MzRGMDIyOTA3RkI0RTA0NDAxRjA5MAorOjAxMUIyOTAwMjI5OQorOjBGMUIyQTAwOTA3RkVBRTBCNEZGMDQxMjM0MTYyMjEyMzgwMDIyMzIKKzowNzFCMzkwMDUzOThGRTUzOThGRDMyQTIKKzoxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjAyMUYzRTAwMDAwMEExCis6MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzoxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKKzoxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzoxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzoxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjA1MjdGQzAwMDAwMDAwMDAyMkI2Cis6MTAyODAxMDA5MDc5NjRFMDE0NjA0NjE0NzAwMjQxM0MyNDAyNjAwMjM1Cis6MTAyODExMDA4MTJBOTA3RkZDNzRDQ0YwOTA3RkZGNzRGQ0YwOTA3OTVBCis6MTAyODIxMDA3ODc0MDFGMDkwNzk3Q0UwOTA3OTc5RjA1NEZERjA0NDZFCis6MTAyODMxMDAwMUYwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQjM0Cis6MTAyODQxMDBBMkU1MTI2MDAyRDJBRkU0OTA3OTdBRjAyMjkwNzkyRDVDCis6MTAyODUxMDBFMDY0MDE2MDAyMDFGMTkwN0ZGQzc0Q0NGMDkwN0ZGRjk1Cis6MTAyODYxMDA3NEZDRjA5MDc5Nzg3NDAxRjA5MDc5N0NFMDkwNzk3OTNBCis6MTAyODcxMDBGMDQ0MDFGMDQ0MDJGMDkwNzk3RUUwQjQwMTA5OTA3OUNFCis6MTAyODgxMDA3OUUwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkYwOTA3OTg1Cis6MTAyODkxMDA3OUUwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQjZDCis6MTAyOEExMDBBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OTc5RjA5MDJGCis6MTAyOEIxMDA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDgwMDc5MEM2Cis6MTAyOEMxMDA3OTc5RTA0NDAxRjA5MDc5NzlFMDU0RkRGMDU0RkJGMDFFCis6MTAyOEQxMDA5MDc5ODRGMDEyMEJBMjkwNzk3QTc0MDFGMDkwNzk2NTY1Cis6MTAyOEUxMDBGMEU1MTI2MDAyRDJBRkU0OTA3OThDRjA5MDc5OEJGMDMwCis6MTAyOEYxMDA5MDc5MkRFMDY0MDI2MDAyMjE5NjkwN0ZGQzc0QzhGMDBCCis6MTAyOTAxMDA5MDdGRkY3NEZDRjA5MDc5Nzg3NDAxRjA5MDc5N0NFMDBECis6MTAyOTExMDA5MDc5NzlGMDQ0MDFGMDQ0MDJGMDkwNzk3RUUwQjQwMUJECis6MTAyOTIxMDAwOTkwNzk3OUUwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkNCCis6MTAyOTMxMDBGMDkwNzk3OUUwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMjlFCis6MTAyOTQxMDBBRjEyMEJBMjkwNzk3ODc0MDJGMDkwNzk4NEUwOTA3OUJCCis6MTAyOTUxMDA3OUYwOTA3OTdGRTBCNDAxMDk5MDc5NzlFMDU0RkVGMDQzCis6MTAyOTYxMDA4MDA3OTA3OTc5RTA0NDAxRjA5MDc5NzlFMDQ0MDJGMEIwCis6MTAyOTcxMDA1NEZCRjA5MDc5ODRGMDEyMEJBMjkwNzk3QTc0MDFGMEYzCis6MTAyOTgxMDA5MDc5NjU3NDAzRjBFNTEyNjAwMkQyQUZFNDkwNzk4QzFFCis6MTAyOTkxMDBGMDkwNzk4QkYwOTA3OTJERTA2NDAzNjAwMjgxMkE5MEE4Cis6MTAyOUExMDA3RkZDNzQ5OEYwOTA3RkZGNzRGQ0YwOTA3OTc4NzQwMTRCCis6MTAyOUIxMDBGMDkwNzk3Q0UwOTA3OTc5RjA0NDAxRjA0NDAyRjA5MDU0Cis6MTAyOUMxMDA3OTdFRTBCNDAxMDk5MDc5NzlFMDQ0MDRGMDgwMDc5MEMwCis6MTAyOUQxMDA3OTc5RTA1NEZCRjA5MDc5NzlFMDkwNzk3Q0YwQTJBRkJECis6MTAyOUUxMDBFNDMzRjUxMkMyQUYxMjBCQTI5MDc5Nzg3NDAyRjA5MDIxCis6MTAyOUYxMDA3OTg0RTA5MDc5NzlGMDkwNzk3RkUwQjQwMTA5OTA3OTU4Cis6MTAyQTAxMDA3OUUwNTRGRUYwODAwNzkwNzk3OUUwNDQwMUYwOTA3OTAzCis6MTAyQTExMDA3OUUwNTRGREYwNDQwNEYwOTA3OTg0RjAxMjBCQTI5MDE3Cis6MTAyQTIxMDA3OTdBNzQwMUYwOTA3OTY1NzQwNUYwRTUxMjYwMDJEMjRCCis6MTAyQTMxMDBBRkU0OTA3OThDRjA5MDc5OEJGMDIyOTA3OTJERTA2NDVECis6MTAyQTQxMDAwMTYwMDI0MUUwOTA3RkZDNzRCNEYwOTA3RkZGNzRGQzYwCis6MTAyQTUxMDBGMDkwNzk3ODc0MDFGMDkwNzk3Q0UwOTA3OTc5RjA1NDc0Cis6MTAyQTYxMDBGRUYwNDQwMkYwOTA3OTdFRTBCNDAxMDk5MDc5NzlFMEJBCis6MTAyQTcxMDA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjA5MDc5NzlFMDkzCis6MTAyQTgxMDA5MDc5N0NGMEEyQUZFNDMzRjUxMkMyQUYxMjBCQTI5MEExCis6MTAyQTkxMDA3OTc4NzQwMkYwOTA3OTg0RTA5MDc5NzlGMDkwNzk3Rjc3Cis6MTAyQUExMDBFMEI0MDEwOTkwNzk3OUUwNTRGRUYwODAwNzkwNzk3OURBCis6MTAyQUIxMDBFMDQ0MDFGMDkwNzk3OUUwNTRGREYwNTRGQkYwOTA3OTE1Cis6MTAyQUMxMDA4NEYwMTIwQkEyOTA3OTdBNzQwMUYwOTA3OTY1MDRGMDg4Cis6MTAyQUQxMDBFNTEyNjAwMkQyQUZFNDkwNzk4Q0YwOTA3OThCRjA5MDlFCis6MTAyQUUxMDA3OTJERTA2NDAyNjAwMjYxODU5MDdGRkM3NEIwRjA5MDAyCis6MTAyQUYxMDA3RkZGNzRGQ0YwOTA3OTc4NzQwMUYwOTA3OTdDRTA5MDFDCis6MTAyQjAxMDA3OTc5RjA1NEZFRjA0NDAyRjA5MDc5N0VFMEI0MDEwOTQ1Cis6MTAyQjExMDA5MDc5NzlFMDQ0MDRGMDgwMDc5MDc5NzlFMDU0RkJGMEYyCis6MTAyQjIxMDA5MDc5NzlFMDkwNzk3Q0YwQTJBRkU0MzNGNTEyQzJBRkVECis6MTAyQjMxMDAxMjBCQTI5MDc5Nzg3NDAyRjA5MDc5ODRFMDkwNzk3OUZGCis6MTAyQjQxMDBGMDkwNzk3RkUwQjQwMTA5OTA3OTc5RTA1NEZFRjA4MDRBCis6MTAyQjUxMDAwNzkwNzk3OUUwNDQwMUYwOTA3OTc5RTA0NDAyRjA1NEVBCis6MTAyQjYxMDBGQkYwOTA3OTg0RjAxMjBCQTI5MDc5N0E3NDAxRjA5MEM1Cis6MTAyQjcxMDA3OTY1NzQwNEYwRTUxMjYwMDJEMkFGRTQ5MDc5OENGMENCCis6MTAyQjgxMDA5MDc5OEJGMDkwNzkyREUwNjQwMzYwMDI4MTJBOTA3RjI3Cis6MTAyQjkxMDBGQzc0NjhGMDkwN0ZGRjc0RkNGMDkwNzk3ODc0MDFGMDE4Cis6MTAyQkExMDA5MDc5N0NFMDkwNzk3OUYwNTRGRUYwNDQwMkYwOTA3OUNDCis6MTAyQkIxMDA3RUUwQjQwMTA5OTA3OTc5RTA0NDA0RjA4MDA3OTA3OUNFCis6MTAyQkMxMDA3OUUwNTRGQkYwOTA3OTc5RTA5MDc5N0NGMEEyQUZFNDYwCis6MTAyQkQxMDAzM0Y1MTJDMkFGMTIwQkEyOTA3OTc4NzQwMkYwOTA3OTlBCis6MTAyQkUxMDA4NEUwOTA3OTc5RjA5MDc5N0ZFMEI0MDEwOTkwNzk3OTY2Cis6MTAyQkYxMDBFMDU0RkVGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OTEyCis6MTAyQzAxMDBFMDU0RkRGMDQ0MDRGMDkwNzk4NEYwMTIwQkEyOTA3OTI1Cis6MTAyQzExMDA3QTc0MDFGMDkwNzk2NTc0MDZGMEU1MTI2MDAyRDJBRjIyCis6MEEyQzIxMDBFNDkwNzk4Q0YwOTA3OThCRjAyMjlBCis6MTAyQzJCMDBFNEZGN0IwMTkwNzgxNjA0RjBBMzc0NzhGMEEzNzQ1ODNBCis6MTAyQzNCMDBGMDkwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwMDExMjA0Cis6MTAyQzRCMDAwQzVERkU5MDdGRUNFMDZFNjAxM0VGQzM5NDA2NTAwREFECis6MTAyQzVCMDAwRjkwNzgxN0U0NzVGMDBGMTIwQ0Y0ODBENEJGMDYwOEIwCis6MTAyQzZCMDA5MDdGQjRFMDQ0MDFGMDIyOTA3ODE2RTBGQkEzRTBGQUU5Cis6MTAyQzdCMDBBM0UwRjkxMjBDNDRGRjI0OUY3MDAyQzE2NjI0MjE2MDZCCis6MTAyQzhCMDAwMkMxOEM5MDdGRTlFMDI0N0U3MDAyQTEzMDE0NzAwMkE3Cis6MTAyQzlCMDBBMUM4MjQwMjYwMDJDMTVFOTAwMDAyMTIwREEyN0I0NDA3Cis6MTAyQ0FCMDA3QUFDNzkwMDc4MDBDMzEyMEQ5MTcwMTM5MDdGMDA3NDg5Cis6MTAyQ0JCMDA0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MEYwCis6MTAyQ0NCMDA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwMjEyMERBMjQ0Cis6MTAyQ0RCMDA3QjgwN0FCQjc5MDA3ODAwQzMxMjBEOTE3MDEzOTA3RkMzCis6MTAyQ0VCMDAwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwMzgxCis6MTAyQ0ZCMDBGMDkwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwMDIxMjQzCis6MTAyRDBCMDAwREEyN0IwMDdBNzc3OTAxNzgwMEMzMTIwRDkxNjAwMkQ2Cis6MTAyRDFCMDBDMTkzOTA3RjAwRjBBMzc0NzdGMEEzNzQwMUYwOTA3RkMwCis6MTAyRDJCMDBCNTc0MDNGMDIyOTA3ODE2RTBGQkEzRTBGQUEzRTBGOTY4Cis6MTAyRDNCMDA5MDAwMDYxMjBEQTI3QjQ0N0FBQzc5MDA3ODAwQzMxMjg2Cis6MTAyRDRCMDAwRDkxNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBMzY2Cis6MTAyRDVCMDBGMDkwN0ZCNTc0MDNGMDkwNzgxNkUwRkJBM0UwRkFBMzM0Cis6MTAyRDZCMDBFMEY5OTAwMDA2MTIwREEyN0I4MDdBQkI3OTAwNzgwMDA3Cis6MTAyRDdCMDBDMzEyMEQ5MTcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMDlECis6MTAyRDhCMDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc4MTZFMEZCQTNFMDFBCis6MTAyRDlCMDBGQUEzRTBGOTkwMDAwNjEyMERBMjdCMDA3QTc3NzkwMTc1Cis6MTAyREFCMDA3ODAwQzMxMjBEOTE2MDAyQzE5MzkwN0YwMEYwQTM3NDYxCis6MTAyREJCMDA3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwNzgxNjJFCis6MTAyRENCMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDBBMTIwREEyN0I0NDBBCis6MTAyRERCMDA3QUFDNzkwMDc4MDBDMzEyMEQ5MTcwMTM5MDdGMDA3NDU4Cis6MTAyREVCMDA0NEYwQTM3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MEJGCis6MTAyREZCMDA3ODE2RTBGQkEzRTBGQUEzRTBGOTkwMDAwQTEyMERBMjBCCis6MTAyRTBCMDA3QjgwN0FCQjc5MDA3ODAwQzMxMjBEOTE3MDEzOTA3RjkxCis6MTAyRTFCMDAwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwMzRGCis6MTAyRTJCMDBGMDkwNzgxNkUwRkJBM0UwRkFBM0UwRjk5MDAwMEExMjA5Cis6MTAyRTNCMDAwREEyN0IwMDdBNzc3OTAxNzgwMEMzMTIwRDkxNzA0ODRGCis6MTAyRTRCMDA5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NEJBCis6MTAyRTVCMDAwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAyNDVDCis6MTAyRTZCMDA3RjcwMTY5MDc4MTZFMEZCQTNFMEZBQTNFMEY5OTAwMEQwCis6MTAyRTdCMDAwRTEyMEM1RDkwN0YwMEYwMjI5MDdGQjRFMDQ0MDFGMEM1Cis6MDgyRThCMDAyMjkwN0ZCNEUwNDQwMUYwNDUKKzowMTJFOTMwMDIyMUMKKzoxMDJFOTQwMDc1MzYyNTc1MzcyNDkwNzk3NEUwNjQwMTcwNTRGMEY1MjMKKzoxMDJFQTQwMDM1NzUyMjAxRTUyMjY0MDE3MDQ4OTA3RkE1RTA0NDgwRDUKKzoxMDJFQjQwMEYwOTA3RkE2RTUzNkYwMTI0NkMwNzQ0RjI1MzVGNTgyQjIKKzoxMDJFQzQwMEU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI0NkMwNzQzNTI1OEEKKzoxMDJFRDQwMDM1RjU4MkU0MzQ3OUY1ODNFMDkwN0ZBNkYwMTI0NkMwOUMKKzoxMDJFRTQwMDkwN0ZBNTc0NDBGMDEyMEFDRDA1MzVFNTM1QzM5NDBERTUKKzoxMDJFRjQwMDQwQjI5MDc5NzVFMDY0MDE2MDAyRTFERUYwOTA3OTIwREYKKzoxMDJGMDQwMEUwNjQwNTYwMDJFMThEN0IwMTkwNzk1QzA0RjBBMzc0QjgKKzoxMDJGMTQwMDc4RjBBMzc0QjJGMDc1MzMwNzkwNzk1Q0UwRkJBM0UwMUEKKzoxMDJGMjQwMEZBQTNFMEY5OTAwMDAxMTIwQzVENzAwRjkwMDAwNDEyRjYKKzoxMDJGMzQwMDBDNUQ5MDc5MkZGMDEyMEMyOTgwMDY5MDc5MkY3NEZGODQKKzoxMDJGNDQwMEYwRTRGNTM1NzUyMjAxNzUzNDAyRTUyMjY0MDE3MDM5MjcKKzoxMDJGNTQwMDkwN0ZBNUUwNDQ4MEYwOTA3RkE2RTUzNkYwMTI0NkMwNEQKKzoxMDJGNjQwMEFGMzQwNTM0OTA3RkE2RUZGMDEyNDZDMDkwNzkyRkUwN0QKKzoxMDJGNzQwMDkwN0ZBNkYwMTI0NkMwOTA3RkE1NzQ0MEYwMTIwQUNENEYKKzoxMDJGODQwMDA1MzVFNTM1QzM5NDA2NDBDMTkwNzkyMEUwNjQwNjcwQTgKKzoxMDJGOTQwMDQ5N0IwMTkwNzk1RjA0RjBBMzc0NzhGMEEzNzRGRkYwODcKKzoxMDJGQTQwMDc1MzMwMzkwNzk1RkUwRkJBM0UwRkFBM0UwRjk5MDAwQTYKKzoxMDJGQjQwMDAxMTIwQzVENzAxQzkwMDAwNDEyMEM1RDkwNzkzM0YwQ0EKKzoxMDJGQzQwMDcwMDM3NEZGRjA5MDc5MzNFMDU0N0ZGRkYwMjVFMEYwNTQKKzowQTJGRDQwMDgwMDVFNDkwNzkzM0YwMTI0N0RGMjYKKzowMTJGREUwMDIyRDAKKzoxMDJGREYwMDkwNzk3ODc0MDNGMDkwNzk4M0UwOTA3OTc5RjBBMkFGQ0IKKzoxMDJGRUYwMEU0MzNGNTEyQzJBRjEyMEJBMkU1MTI2MDAyRDJBRjIyODgKKzowMTJGRkYwMDIyQUYKKzoxMDMwMDAwMEU0RkU5MDc5MjBFMEZEQjQwNTExOTA3ODI1NzQwMUYwN0MKKzoxMDMwMTAwMEEzNzQ3OEYwQTM3NEIyRjA3NTM1MDdFREI0MDYxMTkwN0YKKzoxMDMwMjAwMDc4MjU3NDAxRjBBMzc0NzhGMEEzNzRGRkYwNzUzNTAzNkMKKzoxMDMwMzAwMDkwN0ZFQkUwMTQ2MDExMTQ2MDVCMjQwMjYwMDI0MTA1OTQKKzoxMDMwNDAwMDkwN0ZCNEUwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDNENUUKKzoxMDMwNTAwMEU0RkZFRkMzOTUzNTUwMkY5MDc4MjVFMEZCQTNFMEZBMEQKKzoxMDMwNjAwMEEzRTBGOTkwMDAwMTEyMEM1REZEQ0NFRUNDMEU3NDAwRDMKKzoxMDMwNzAwMDJDRjU4MkU0MzQ3RkY1ODNFREYwOTA3ODI2RTQ3NUYwNEEKKzoxMDMwODAwMDBCMTIwQ0Y0MEY4MENCOTA3RkI1RUVGMDIyOTA3RkI0NDIKKzoxMDMwOTAwMEUwNDQwMUYwMjI5MDdGRTlFMDI0N0U2MDY0MTQ3MDAyMzUKKzoxMDMwQTAwMDIxNTUxNDcwMDIyMUE5MjQwMzYwMDIyMUZERTRGRkVGRTEKKzoxMDMwQjAwMEMzOTUzNTUwNDY5MDc4MjVFMEZCQTNFMEZBQTNFMEY5RUMKKzoxMDMwQzAwMDkwMDAwMzEyMEM1REZEQ0NFRUNDMEU3NDAwMkNGNTgyNEEKKzoxMDMwRDAwMEU0MzQ3RkY1ODNFREYwOTAwMDA0MTIwQzVERkRDQ0VFM0UKKzoxMDMwRTAwMENDMEU3NDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MDc4RkIKKzoxMDMwRjAwMDI2RTQ3NUYwMEIxMjBDRjQwRjgwQjQ5MDdGQjVFRUYwNUYKKzoxMDMxMDAwMDIyRTRGRkVGQzM5NTM1NTA0NjkwNzgyNUUwRkJBM0UwMUQKKzoxMDMxMTAwMEZBQTNFMEY5OTAwMDA1MTIwQzVERkRDQ0VFQ0MwRTc0MjQKKzoxMDMxMjAwMDAwMkNGNTgyRTQzNDdGRjU4M0VERjA5MDAwMDYxMjBDNUMKKzoxMDMxMzAwMDVERkRDQ0VFQ0MwRTc0MDAyQ0Y1ODJFNDM0N0ZGNTgzN0IKKzoxMDMxNDAwMEVERjA5MDc4MjZFNDc1RjAwQjEyMENGNDBGODBCNDkwM0IKKzoxMDMxNTAwMDdGQjVFRUYwMjJFNEZGRUZDMzk1MzU1MDQ2OTA3ODI1MTkKKzoxMDMxNjAwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDcxMjBDNURGRENDQjAKKzoxMDMxNzAwMEVFQ0MwRTc0MDAyQ0Y1ODJFNDM0N0ZGNTgzRURGMDkwRjQKKzoxMDMxODAwMDAwMDgxMjBDNURGRENDRUVDQzBFNzQwMDJDRjU4MkU0MzAKKzoxMDMxOTAwMDM0N0ZGNTgzRURGMDkwNzgyNkU0NzVGMDBCMTIwQ0Y0OTMKKzoxMDMxQTAwMDBGODBCNDkwN0ZCNUVFRjAyMkU0RkZFRkMzOTUzNTUwNjkKKzoxMDMxQjAwMDQ2OTA3ODI1RTBGQkEzRTBGQUEzRTBGOTkwMDAwOTEyMUQKKzoxMDMxQzAwMDBDNURGRENDRUVDQzBFNzQwMDJDRjU4MkU0MzQ3RkY1NjIKKzoxMDMxRDAwMDgzRURGMDkwMDAwQTEyMEM1REZEQ0NFRUNDMEU3NDAwNzUKKzoxMDMxRTAwMDJDRjU4MkU0MzQ3RkY1ODNFREYwOTA3ODI2RTQ3NUYwRDkKKzoxMDMxRjAwMDBCMTIwQ0Y0MEY4MEI0OTA3RkI1RUVGMDIyOTA3RkI0RTgKKzowQzMyMDAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMEIzCis6MDEzMjBDMDAyMjlGCis6MTAzMjBEMDA3QjAxN0E3ODc5MkI5MDc4MDBFQkYwQTNFQUYwQTNFOUIzCis6MTAzMjFEMDBGMDc0MDExMjBDOEE5MDc4MDBFMEZCQTNFMEZBQTNFMEIxCis6MTAzMjJEMDBGOTkwMDAwMTc0MDExMjBDOUM5MDAwMDJFNDEyMEM5Q0E4Cis6MTAzMjNEMDA5MDc4MDFFNDc1RjAwMzEyMENGNDkwNzgwMEUwRkJBMzk0Cis6MTAzMjREMDBFMEZBQTNFMEY5NzQxMDEyMEM4QTkwNzgwMEUwRkJBMzY5Cis6MTAzMjVEMDBFMEZBQTNFMEY5OTAwMDAxNzQwNTEyMEM5QzkwMDAwMkI1Cis6MTAzMjZEMDBFNDEyMEM5QzkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODQ0Cis6MTAzMjdEMDAwMEUwRkJBM0UwRkFBM0UwRjk3NDAyMTIwQzhBOTA3ODQ3Cis6MTAzMjhEMDAwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDAyMTIwQzM4Cis6MTAzMjlEMDA5QzkwMDAwMkU0MTIwQzlDOTA3ODAxRTQ3NUYwMDMxMkVFCis6MTAzMkFEMDAwQ0Y0OTA3ODAwRTBGQkEzRTBGQUEzRTBGOTc0MDExMkFFCis6MTAzMkJEMDAwQzhBOTA3ODAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMUZFCis6MTAzMkNEMDA3NDAzMTIwQzlDOTAwMDAyRTQxMjBDOUM5MDc4MDFFNEEzCis6MTAzMkREMDA3NUYwMDMxMjBDRjQ5MDc4MDBFMEZCQTNFMEZBQTNFMDg0Cis6MTAzMkVEMDBGOTc0MTAxMjBDOEE5MDc4MDBFMEZCQTNFMEZBQTNFMEM5Cis6MTAzMkZEMDBGOTkwMDAwMTc0MDYxMjBDOUM5MDAwMDJFNDEyMEM5Q0QzCis6MTAzMzBEMDA5MDc4MDFFNDc1RjAwMzEyMENGNDkwNzgwMEUwRkJBM0MzCis6MTAzMzFEMDBFMEZBQTNFMEY5NzQwMjEyMEM4QTkwNzgwMEUwRkJBM0E2Cis6MTAzMzJEMDBFMEZBQTNFMEY5OTAwMDAxNzQwNDEyMEM5QzkwMDAwMkU1Cis6MTAzMzNEMDBFNDEyMEM5QzkwNzgwMUU0NzVGMDAzMTIwQ0Y0OTA3ODczCis6MTAzMzREMDAwMEUwRkJBM0UwRkFBM0UwRjk3NDAyMTIwQzhBOTA3ODc2Cis6MTAzMzVEMDAwMEUwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDA0MTIwQzY1Cis6MTAzMzZEMDA5QzkwMDAwMjc0MDQxMjBDOUM5MDc4MDFFNDc1RjAwMzlCCis6MTAzMzdEMDAxMjBDRjQ5MDc4MDBFMEZCQTNFMEZBQTNFMEY5NzQwMkRDCis6MTAzMzhEMDAxMjBDOEE5MDc4MDBFMEZCQTNFMEZBQTNFMEY5OTAwMDFDCis6MTAzMzlEMDAwMTc0MDMxMjBDOUM5MDAwMDI3NDA0MTIwQzlDOTA3ODIyCis6MTAzM0FEMDAwMUU0NzVGMDAzMTIwQ0Y0OTA3ODAwRTBGQkEzRTBGQTUxCis6MTAzM0JEMDBBM0UwRjk3NDAyMTIwQzhBOTA3ODAwRTBGQkEzRTBGQTA2Cis6MTAzM0NEMDBBM0UwRjk5MDAwMDE3NDAyMTIwQzlDOTAwMDAyNzQwNEE5Cis6MTAzM0REMDAxMjBDOUM5MDc4MDFFNDc1RjAwMzEyMENGNDkwNzgwMEI3Cis6MTAzM0VEMDBFMEZCQTNFMEZBQTNFMEY5NzQwMjEyMEM4QTkwNzgwMEQ2Cis6MTAzM0ZEMDBFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQwMTEyMEM5QzJDCis6MDgzNDBEMDA5MDAwMDI3NDA0MTIwQzlDRjMKKzowMTM0MTUwMDIyOTQKKzoxMDM0MTYwMEU0RkU5MDc5MjBFMEZEQjQwNTExOTA3ODFGNzQwMUYwNjgKKzoxMDM0MjYwMEEzNzQ3OEYwQTM3NEIyRjA3NTM1MDdFREI0MDYxMTkwNjUKKzoxMDM0MzYwMDc4MUY3NDAxRjBBMzc0NzhGMEEzNzRGRkYwNzUzNTAzNTgKKzoxMDM0NDYwMDkwNzk5OUUwMTQ2MDExMTQ2MDVCMjQwMjYwMDJDMTA2NTEKKzoxMDM0NTYwMDkwN0ZCNEUwNDQwMUYwMjI5MDc5OTdFMDE0NzAzRUU0NDYKKzoxMDM0NjYwMEZGRUZDMzk1MzU1MDJGQ0RFRUNEMEU3NDIxMkRGNTgyOEQKKzoxMDM0NzYwMEU0MzQ3OUY1ODNFMEZEOTA3ODFGRTBGQkEzRTBGQUEzM0UKKzoxMDM0ODYwMEUwRjk5MDAwMDFFRDEyMEM5QzkwNzgyMEU0NzVGMDBCQTkKKzoxMDM0OTYwMDEyMENGNDBGODBDQjkwNzk3NTc0MDFGMDIyOTA3RkI0RjIKKzoxMDM0QTYwMEUwNDQwMUYwMjI5MDc5OTdFMDI0RkU2MDYzMTQ3MDAyRjQKKzoxMDM0QjYwMEExNjQxNDcwMDJBMUIyMjQwMzYwMDJBMUZFRTRGRkVGMkUKKzoxMDM0QzYwMEMzOTUzNTUwNDRDREVFQ0QwRTc0MjEyREY1ODJFNDM0RUUKKzoxMDM0RDYwMDc5RjU4M0UwRkQ5MDc4MUZFMEZCQTNFMEZBQTNFMEY5MUQKKzoxMDM0RTYwMDkwMDAwM0VEMTIwQzlDQ0RFRUNEMEU3NDIxMkRGNTgyQ0QKKzoxMDM0RjYwMEU0MzQ3OUY1ODNFMDkwMDAwNDEyMEM5QzkwNzgyMEU0ODMKKzoxMDM1MDYwMDc1RjAwQjEyMENGNDBGODBCNjkwNzk3NTc0MDFGMDIyRTkKKzoxMDM1MTYwMEU0RkZFRkMzOTUzNTQwMDJDMTBEQ0RFRUNEMEU3NDIxMEIKKzoxMDM1MjYwMDJERjU4MkU0MzQ3OUY1ODNFMEZEOTA3ODFGRTBGQkEzNjYKKzoxMDM1MzYwMEUwRkFBM0UwRjk5MDAwMDVFRDEyMEM5Q0NERUVDRDBFNUQKKzoxMDM1NDYwMDc0MjEyREY1ODJFNDM0NzlGNTgzRTA5MDAwMDYxMjBDOUYKKzoxMDM1NTYwMDlDOTA3ODIwRTQ3NUYwMEIxMjBDRjQwRjgwQjRFNEZGMTUKKzoxMDM1NjYwMEVGQzM5NTM1NDAwMkMxMERDREVFQ0QwRTc0MjEyREY1N0MKKzoxMDM1NzYwMDgyRTQzNDc5RjU4M0UwRkQ5MDc4MUZFMEZCQTNFMEZBNUUKKzoxMDM1ODYwMEEzRTBGOTkwMDAwN0VEMTIwQzlDQ0RFRUNEMEU3NDIxNTAKKzoxMDM1OTYwMDJERjU4MkU0MzQ3OUY1ODNFMDkwMDAwODEyMEM5QzkwQjYKKzoxMDM1QTYwMDc4MjBFNDc1RjAwQjEyMENGNDBGODBCNEU0RkZFRkMzM0YKKzoxMDM1QjYwMDk1MzU1MDUzQ0RFRUNEMEU3NDIxMkRGNTgyRTQzNDc5MzgKKzoxMDM1QzYwMEY1ODNFMEZEOTA3ODFGRTBGQkEzRTBGQUEzRTBGOTkwMTUKKzoxMDM1RDYwMDAwMDlFRDEyMEM5Q0NERUVDRDBFNzQyMTJERjU4MkU0ODIKKzoxMDM1RTYwMDM0NzlGNTgzRTA5MDAwMEExMjBDOUM5MDc4MjBFNDc1RkIKKzoxMDM1RjYwMEYwMEIxMjBDRjQwRjgwQjY5MDdGQjRFMDQ0MDFGMDIyNzkKKzowNzM2MDYwMDkwN0ZCNEUwNDQwMUYwRTUKKzowMTM2MEQwMDIyOUEKKzoxMDM2MEUwMEU0RkU5MDc5MjBFMEZEQjQwNTEwOTA3ODI4NzQwMUYwNjYKKzoxMDM2MUUwMEEzNzQ3OEYwQTM3NEIyRjA3RjA3RURCNDA2MTA5MDc4MUYKKzoxMDM2MkUwMDI4NzQwMUYwQTM3NDc4RjBBMzc0RkZGMDdGMDM5MDc4RjAKKzoxMDM2M0UwMDI4RTBGQkEzRTBGQUEzRTBGOTEyMEM0NEZEOTA3RkVBMjgKKzoxMDM2NEUwMEUwNkQ2MDEyRUVDMzlGNTAwRDkwNzgyOUU0NzVGMDBCN0IKKzoxMDM2NUUwMDEyMENGNDBFODBEODkwN0ZFQkUwMTQ2MDExMTQ2MDQ2Q0IKKzoxMDM2NkUwMDI0MDI2MDAyRTE5QTkwN0ZCNEUwNDQwMUYwMjI5MDdGNDAKKzoxMDM2N0UwMEU5RTAyNDdGNzAyOEVFNkY3MDA4OTA3RkI0RTA0NDAxN0IKKzoxMDM2OEUwMEYwMjI5MDc4MjhFMEZCQTNFMEZBQTNFMEY5OTAwMDAxODUKKzoxMDM2OUUwMDEyMEM1RDkwN0YwMEYwOTA3RkI1NzQwMUYwMjI5MDdGNDgKKzoxMDM2QUUwMEI0RTA0NDAxRjAyMjkwN0ZFOUUwMjQ3RTYwNDAxNDYwOTMKKzoxMDM2QkUwMDZGMTQ3MDAyRTE2MDI0MDM2MDAyRTE5MkVFNkY3MDA4RjUKKzoxMDM2Q0UwMDkwN0ZCNEUwNDQwMUYwMjI5MDc4MjhFMEZCQTNFMEZBNkEKKzoxMDM2REUwMEEzRTBGOTkwMDAwMzEyMEM1RDkwN0YwMEYwOTAwMDA0QkYKKzoxMDM2RUUwMDEyMEM1RDkwN0YwMUYwOTA3RkI1NzQwMkYwMjJFRTZGQTgKKzoxMDM2RkUwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3ODI4RTBGQkEzOUMKKzoxMDM3MEUwMEUwRkFBM0UwRjk5MDAwMDUxMjBDNUQ5MDdGMDBGMDkwQjYKKzoxMDM3MUUwMDAwMDYxMjBDNUQ5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyQ0UKKzoxMDM3MkUwMEVFNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNzgyOEUwQUMKKzoxMDM3M0UwMEZCQTNFMEZBQTNFMEY5OTAwMDA3MTIwQzVEOTA3RjAwNjYKKzoxMDM3NEUwMEYwOTAwMDA4MTIwQzVEOTA3RjAxRjA5MDdGQjU3NDAyMkUKKzoxMDM3NUUwMEYwMjJFRTZGNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDc4NzIKKzoxMDM3NkUwMDI4RTBGQkEzRTBGQUEzRTBGOTkwMDAwOTEyMEM1RDkwQUIKKzoxMDM3N0UwMDdGMDBGMDkwMDAwQTEyMEM1RDkwN0YwMUYwOTA3RkI1RjMKKzoxMDM3OEUwMDc0MDJGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwMDYKKzowMzM3OUUwMDQ0MDFGMEYzCis6MDEzN0ExMDAyMjA1Cis6MTAzN0EyMDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEExCis6MTAzN0IyMDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRjVDCis6MTAzN0MyMDBDMEUwNTM5MUVGOTA3RkFCNzQxMEYwOTA3OTgzRTA1NDk2Cis6MTAzN0QyMDBGREYwMTIyRkRGRDBFMEZGRDBFMEZFRDBFMEZERDBFMDIwCis6MTAzN0UyMDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMEM1Cis6MDgzN0YyMDA4MkQwODNEMEYwRDBFMDMyNTgKKzowNjM3RkEwMDUzOTFCRkQyMjYzMkZDCis6MTAzODAwMDBFNEZFOTA3OTIwRTBGREI0MDUxMDkwNzgyMjc0MDFGMDc4Cis6MTAzODEwMDBBMzc0NzhGMEEzNzRCMkYwN0YwN0VEQjQwNjEwOTA3ODJCCis6MTAzODIwMDAyMjc0MDFGMEEzNzQ3OEYwQTM3NEZGRjA3RjAzOTA3ODAyCis6MTAzODMwMDAyMkUwRkJBM0UwRkFBM0UwRjkxMjBDNDRGRDkwNzk5ODkyCis6MTAzODQwMDBFMDZENjAxMkVFQzM5RjUwMEQ5MDc4MjNFNDc1RjAwQjhECis6MTAzODUwMDAxMjBDRjQwRTgwRDg5MDc5OTlFMDE0NjAxMTE0NjA0ODJECis6MTAzODYwMDAyNDAyNjAwMjIxODU5MDdGQjRFMDQ0MDFGMDIyOTA3OTI3Cis6MTAzODcwMDA5N0UwMTQ3MDJCRUU2RjcwMDk5MDdGQjRFMDQ0MDFGMDc0Cis6MTAzODgwMDA4MDE3OTA3OTIxRTBGRDkwNzgyMkUwRkJBM0UwRkFBMzc1Cis6MTAzODkwMDBFMEY5OTAwMDAxRUQxMjBDOUM5MDc5NzU3NDAxRjAyMjEyCis6MTAzOEEwMDA5MDdGQjRFMDQ0MDFGMDIyOTA3OTk3RTAyNEZFNjA0M0Q5Cis6MTAzOEIwMDAxNDYwNkUxNDcwMDIyMTRGMjQwMzYwMDIyMTdERUU2RkFDCis6MTAzOEMwMDA3MDA5OTA3RkI0RTA0NDAxRjA4MDIxOTA3OTIxRTBGREZGCis6MTAzOEQwMDA5MDc4MjJFMEZCQTNFMEZBQTNFMEY5OTAwMDAzRUQxMjU4Cis6MTAzOEUwMDAwQzlDOTA3OTIyRTA5MDAwMDQxMjBDOUM5MDc5NzU3NEU1Cis6MTAzOEYwMDAwMUYwMjJFRTZGNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDU2Cis6MTAzOTAwMDA3OTIxRTBGRDkwNzgyMkUwRkJBM0UwRkFBM0UwRjk5MEIyCis6MTAzOTEwMDAwMDA1RUQxMjBDOUM5MDc5MjJFMDkwMDAwNjEyMEM5Q0EwCis6MTAzOTIwMDAyMkVFNkY3MDA4OTA3RkI0RTA0NDAxRjAyMjkwNzkyMTdDCis6MTAzOTMwMDBFMEZEOTA3ODIyRTBGQkEzRTBGQUEzRTBGOTkwMDAwNzE1Cis6MTAzOTQwMDBFRDEyMEM5QzkwNzkyMkUwOTAwMDA4MTIwQzlDMjJFRTYzCis6MTAzOTUwMDA2RjcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3OTIxRTBGRTdFCis6MTAzOTYwMDA5MDc4MjJFMEZCQTNFMEZBQTNFMEY5OTAwMDA5RUUxMkMwCis6MTAzOTcwMDAwQzlDOTA3OTIyRTA5MDAwMEExMjBDOUMyMjkwN0ZCNDVCCis6MEMzOTgwMDBFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyQworOjAxMzk4QzAwMjIxOAorOjEwMzk4RDAwQTJBRkU0MzNGNTEyRTQ5MDc5ODNGMDEyMkZERjkwN0YyQworOjEwMzk5RDAwRTA3NDkwRjA5MDdGRTE3NDA0RjBFNDkwN0ZEREYwOTA5RQorOjEwMzlBRDAwN0ZBMUYwNTM4RUY4NzU4ODA1NzVCODIwNzVGODAxNDMyMQorOjEwMzlCRDAwOEUzMEY1Qzg3NUNBN0Y3NUNCRjg0M0E4MjA5MDc5NzQwMQorOjEwMzlDRDAwMDRGMEMyMjJFNEY1MEY5MDc5NzhGMEEzRjA5MDc5NjJCQgorOjEwMzlERDAwRjBBM0YwQTNGMDkwNzk2NkYwQTNGMDkwNzk3QkYwQTNCQgorOjEwMzlFRDAwRjA5MDc5ODRGMDkwNzk3REYwOTA3OTc1RjBBM0YwQTM0MworOjEwMzlGRDAwRjBDMjIzQzIyNEMyMjVDMjI2QzIyMDkwN0Y5QkUwRjVDRgorOjEwM0EwRDAwMEE1NDIwRjUwQTcwMDY5MDc5N0VGMDgwMDY5MDc5N0UzMgorOjEwM0ExRDAwNzQwMUYwOTA3RjlCRTBGNTBBNTQwMkY1MEE3MDA2OTA1MAorOjEwM0EyRDAwNzk3RkYwODAwNjkwNzk3Rjc0MDFGMDkwNzk3ODc0MDIzNworOjEwM0EzRDAwRjA5MDc5ODRFMDkwNzk3OUYwOTA3OTdGRTBCNDAxMDk4NAorOjEwM0E0RDAwOTA3OTc5RTA1NEZFRjA4MDA3OTA3OTc5RTA0NDAxRjBBNworOjEwM0E1RDAwOTA3OTc5RTA5MDc5ODRGMDEyMEJBMjkwNzk3ODc0MDFDNQorOjEwM0E2RDAwRjA5MDc5N0NFMDkwNzk3OUYwOTA3OTdFRTBCNDAxMDk1RAorOjEwM0E3RDAwOTA3OTc5RTA0NDA0RjA4MDA3OTA3OTc5RTA1NEZCRjA3NworOjEwM0E4RDAwOTA3OTc5RTA5MDc5N0NGMDEyMEJBMkU0OTA3OTc4RjAzRQorOjEwM0E5RDAwQTMwNEYwRTQ5MDc5ODhGMDEyMEJBMjkwN0ZGQzc0REQwMgorOjEwM0FBRDAwRjA5MDdGRkY3NEZGRjA5MDc5Nzg3NDAxRjBBM0YwMTIxRAorOjEwM0FCRDAwMEJBMkU0OTA3OTdBRjA5MDc5ODMwNEYwMTIyRkRGRTQ3MQorOjEwM0FDRDAwOTA3OTMwRjA5MDc5ODVGMEEzRjBBM0YwMTIyRTk0OTBCOAorOjEwM0FERDAwNzkyRDc0MDJGMDkwNzk4ODE0RjBDMjJGRTQ5MDc5NjhGMgorOjEwM0FFRDAwRjA5MDc5OEFGMDkwNzk2QUYwQTNGMDc1MTMwODc1MTQ0NworOjEwM0FGRDAwMDhGNTE2RjUxNUY1MTc5MDc5OENGMDkwNzk4QkYwMjI2NQorOjEwM0IwRDAwN0IwMTdBNzg3OTU4OTA3ODAzRUJGMEEzRUFGMEEzRTk3QQorOjEwM0IxRDAwRjA3NDQwMTIwQzhBOTA3ODAzRTBGQkEzRTBGQUEzRTA2NgorOjEwM0IyRDAwRjk5MDAwMDE3NDBBMTIwQzlDOTAwMDAyMTIwREY2MDAxRgorOjEwM0IzRDAwMDBCQjgwOTAwMDA2MTIwREY2MDAwMEFDNDQ5MDAwMEEwOAorOjEwM0I0RDAwMTIwREY2MDAwMTc3MDA5MDc4MDRFNDc1RjAwRjEyMEM1OQorOjEwM0I1RDAwRjQ5MDc4MDNFMEZCQTNFMEZBQTNFMEY5NzQ0MDEyMENCMworOjEwM0I2RDAwOEE5MDc4MDNFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzREQQorOjEwM0I3RDAwOEMxMjBDOUM5MDAwMDIxMjBERjYwMDAwQkI4MDkwMDA4MAorOjEwM0I4RDAwMDYxMjBERjYwMDAwQUM0NDkwMDAwQTEyMERGNjAwMDE2RAorOjEwM0I5RDAwNzcwMDkwNzgwNEU0NzVGMDBGMTIwQ0Y0OTA3ODAzRTA0MAorOjEwM0JBRDAwRkJBM0UwRkFBM0UwRjk3NDQwMTIwQzhBOTA3ODAzRTBDRAorOjEwM0JCRDAwRkJBM0UwRkFBM0UwRjk5MDAwMDE3NDhGMTIwQzlDOTAyNgorOjEwM0JDRDAwNzgwNEU0NzVGMDBGMTIwQ0Y0OTA3ODAzRTBGQkEzRTA5OQorOjEwM0JERDAwRkFBM0UwRjk3NDQxMTIwQzhBOTA3ODAzRTBGQkEzRTA5QworOjEwM0JFRDAwRkFBM0UwRjk5MDAwMDE3NDg0MTIwQzlDOTA3ODA0RTQxRgorOjEwM0JGRDAwNzVGMDBGMTIwQ0Y0OTA3ODAzRTBGQkEzRTBGQUEzRTA0QworOjEwM0MwRDAwRjk3NDYxMTIwQzhBOTA3ODAzRTBGQkEzRTBGQUEzRTA0QgorOjEwM0MxRDAwRjk5MDAwMDE3NDgxMTIwQzlDOTA3ODA0RTQ3NUYwMEZGQQorOjEwM0MyRDAwMTIwQ0Y0OTA3ODAzRTBGQkEzRTBGQUEzRTBGOTc0NjFDMQorOjEwM0MzRDAwMTIwQzhBOTA3ODAzRTBGQkEzRTBGQUEzRTBGOTkwMDA2MAorOjA2M0M0RDAwMDE3NDAxMTIwQzlDNDEKKzowMTNDNTMwMDIyNEUKKzoxMDNDNTQwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwRUEKKzoxMDNDNjQwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGQTUKKzowMjNDNzQwMEMwRTBBRQorOjEwM0M3NjAwOTA3RkEyRTBGNTBCOTA3Rjc0RTA5MDc5NzBGMDkwN0ZEMgorOjEwM0M4NjAwNzVFMDkwNzk3MUYwOTA3OTgzRTBGRkZFNTQwMkZFNzA0MgorOjEwM0M5NjAwMERFRjQ0MDJGMDEyMkZERjkwNzk3NDc0MDFGMEU1MEJGQQorOjEwM0NBNjAwMjBFMjI4OTA3OTcwRTBGRUEzRTA3QzAwMjQwMEY1MTE2NAorOjEwM0NCNjAwRUMzRUY1MTA5MDc5ODJFMEZEQUUxMEFGMTExMjBDQkUwRAorOjEwM0NDNjAwOTA3OTcwRUZGMDkwNzk4OTc0MDFGMDEyNDg0MzEyNDhBOAorOjEwM0NENjAwNzY5MDc5ODlFMDY0MDE3MDMyMTI0MTA4OTA3OTg5RTQxRQorOjEwM0NFNjAwRjA5MDdGOThFMDQ0NDBGMDkwN0Y5RUUwNDQ0MEYwOTA1MgorOjEwM0NGNjAwN0Y5NTc0ODBGMDc1RTgwMTEyMDkzMjc1RTgwRDkwN0ZBMgorOjEwM0QwNjAwOTU3NEMwRjA3NUU4MEREMjIwODAwNTc1RTgwMUMyMjBEMworOjEwM0QxNjAwMjAyMDJCOTA3OTJERTBGRkI0MDEwOTc1MEM2Nzc1MERGNQorOjEwM0QyNjAwMDY3NTBFMEJFRkI0MDIwOTc1MEMwMDc1MEQwMDc1MEVDNQorOjEwM0QzNjAwMENFRkI0MDMwOTc1MEMwMDc1MEQwMDc1MEUxODc1Q0FFNQorOjEwM0Q0NjAwNkY3NUNCRkVEMkNBNTM5MUVGOTA3RkFCNzQwMkYwRjA0MQorOjEwM0Q1NjAwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDAyQworOjEwM0Q2NjAwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjAxRAorOjAzM0Q3NjAwRDBFMDMyNjgKKzoxMDNENzkwMDc1MzMyNTc1MzQyNDkwNzk1Qzc0MDFGMEEzNzQ3OEYwNTcKKzoxMDNEODkwMEEzNzRCMkYwMjAyRjAyQzExN0U0RjUzNTc1MjIwMTkwMTIKKzoxMDNEOTkwMDc5NUNFMEZCQTNFMEZBQTNFMEY5OTAwMDA0MTIwQzVENjIKKzoxMDNEQTkwMEY1MzY3NTM1MDY3NDQyMjUzNUY1ODJFNDM0NzlGNTgzOUYKKzoxMDNEQjkwMEU1MzZGMDA1MzVFNTM1QjQwQ0VCRTUzNUMzOTQwRDQwMzIKKzoxMDNEQzkwMDAyQzE5OEU1MjI2NDAxNjAwMkMxOTg5MDdGQTVFMDQ0OTAKKzoxMDNERDkwMDgwRjA5MDdGQTZFNTMzRjAxMjQ2QzA3NDRGMjUzNUY1ODMKKzoxMDNERTkwMDgyRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2QzA3NDQyRUMKKzoxMDNERjkwMDI1MzVGNTgyRTQzNDc5RjU4M0UwOTA3RkE2RjAxMjQ2MDMKKzoxMDNFMDkwMEMwOTA3RkE1NzQ0MEYwMTIwQUNEMDUzNTgwQUNFNEY1NjkKKzoxMDNFMTkwMDM1NzUyMjAxOTA3OTVDRTBGQkEzRTBGQUEzRTBGOTkwMDMKKzoxMDNFMjkwMDAwMDQxMjBDNURGNTM2NzUzNTA2NzQzNTI1MzVGNTgyQjUKKzoxMDNFMzkwMEU0MzQ3OUY1ODNFNTM2RjAwNTM1RTUzNUI0MENFQkU1ODEKKzoxMDNFNDkwMDM1QzM5NDBENTA0OUU1MjI2NDAxNzA0MzkwN0ZBNUUwODQKKzoxMDNFNTkwMDQ0ODBGMDkwN0ZBNkU1MzNGMDEyNDZDMDc0NEYyNTM1QjMKKzoxMDNFNjkwMEY1ODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyNDZDMDc0QjgKKzoxMDNFNzkwMDM1MjUzNUY1ODJFNDM0NzlGNTgzRTA5MDdGQTZGMDEyOTMKKzowRjNFODkwMDQ2QzA5MDdGQTU3NDQwRjAxMjBBQ0QwNTM1ODBCMDc5Cis6MDEzRTk4MDAyMjA3Cis6MTAzRTk5MDA5MDc4MDk3NDAxRjBBMzc0NzhGMEEzNzRCMkYwRTRGRjg4Cis6MTAzRUE5MDBGRTkwNzgwOUUwRkJBM0UwRkFBM0UwRjlFRjEyMEM4QThGCis6MTAzRUI5MDA5MDc4MDlFMEZCQTNFMEZBQTNFMEY5OTAwMDAxRTQxMjhECis6MTAzRUM5MDAwQzlDOTAwMDAyNzQxNTEyMEM5QzkwMDAwM0U0MTIwQ0Q3Cis6MTAzRUQ5MDA5QzkwMDAwNDc0RkYxMjBDOUM5MDAwMDVFNDEyMEM5QzQ5Cis6MTAzRUU5MDA5MDAwMDY3NEMzMTIwQzlDOTAwMDA3RTQxMjBDOUM5MDdECis6MTAzRUY5MDAwMDA4RTQxMjBDOUM5MDAwMDlFNDEyMEM5QzkwMDAwQTQyCis6MTAzRjA5MDA3NDAxMTIwQzlDOTA3ODBBRTQ3NUYwMEIxMjBDRjQwRkYyCis6MTAzRjE5MDAwRUJFMDc4RDkwNzgwOTc0MDFGMEEzNzQ3OEYwQTM3NDJDCis6MTAzRjI5MDBGRkYwRTRGRkZFOTA3ODA5RTBGQkEzRTBGQUEzRTBGOUQzCis6MTAzRjM5MDBFRjEyMEM4QTkwNzgwOUUwRkJBM0UwRkFBM0UwRjk5MDZDCis6MTAzRjQ5MDAwMDAxRTQxMjBDOUM5MDAwMDI3NDE1MTIwQzlDOTAwMDY0Cis6MTAzRjU5MDAwM0U0MTIwQzlDOTAwMDA0NzQ4MDEyMEM5QzkwMDAwNUUwCis6MTAzRjY5MDBFNDEyMEM5QzkwMDAwNjc0QzMxMjBDOUM5MDAwMDdFNEE4Cis6MTAzRjc5MDAxMjBDOUM5MDAwMDhFNDEyMEM5QzkwMDAwOUU0MTIwQ0FECis6MTAzRjg5MDA5QzkwMDAwQTc0MDExMjBDOUM5MDc4MEFFNDc1RjAwQjVECis6MDgzRjk5MDAxMjBDRjQwRjBFQkUwMzhEQTMKKzowMTNGQTEwMDIyRkQKKzoxMDNGQTIwMEU0RkU3NTNERkY3NTNFMDU3NTNGMTJBQjNEQUEzRUE5ODUKKzoxMDNGQjIwMDNGOTAwMDAxMTIwQzVENjQwMjcwMkZDREVFQ0QwRUVEMkMKKzoxMDNGQzIwMDZGNzAwMTIyOTAwMDAyMTIwRDBBODVGMDNCRjUzQzYyRUYKKzoxMDNGRDIwMDNCRTUzQjYyM0NFNTNDNjIzQjI5RkRFNTNCM0FDOUVERjIKKzoxMDNGRTIwMEM5NzUzREZGRjUzRTg5M0Y4MEMxN0IwMDdBMDA3OTAwQUIKKzowMTNGRjIwMDIyQUMKKzowOTNGRjMwMDUzRDhFRjQzRDgyMEMyMkQzMjRGCis6MDQzRkZDMDA1MzkxREYzMkNDCis6MTA0MDAwMDA5MDc5ODdFMEI0MDExRDkwNzk4NUUwQjQwMTAzMTI0MkY0Cis6MTA0MDEwMDBBQTkwNzk4NkUwQjQwMTAzMTIxODAwRTQ5MDc5ODVGMDQzCis6MTA0MDIwMDBBM0YwQTNGMDEyMkU5NDkwN0Y5QkUwRjUwQTU0MDJGNUMyCis6MTA0MDMwMDAwQTcwMDQ5MDc5N0ZGMDkwN0Y5QkUwRjUwQTU0MDJGRkFDCis6MTA0MDQwMDBGNTBBQkYwMjA2OTA3OTdGNzQwMUYwOTA3RjlCRTBGNTNFCis6MTA0MDUwMDAwQTU0MjBGNTBBNzAwNDkwNzk3RUYwOTA3RjlCRTBGNTc5Cis6MTA0MDYwMDAwQTU0MjBGRkY1MEFCRjIwMDY5MDc5N0U3NDAxRjA5MDczCis6MTA0MDcwMDA3OTdGRTBGRjkwNzk4MUUwNkY2MDM4OTA3OTc4NzQwMjAxCis6MTA0MDgwMDBGMDkwNzk4NEUwOTA3OTc5RjBFRkI0MDEwNkUwNTRGRTg1Cis6MTA0MDkwMDBGMDgwMDc5MDc5NzlFMDQ0MDFGMDkwNzk3OUUwOTA3OUE3Cis6MTA0MEEwMDA4NEYwQTJBRkU0MzNGNTEyQzJBRjEyMEJBMkU1MTI2MEE2Cis6MTA0MEIwMDAwMkQyQUY5MDc5N0VFMEZGOTA3OTgwRTA2RjYwMzg5MDE3Cis6MTA0MEMwMDA3OTc4NzQwMUYwOTA3OTdDRTA5MDc5NzlGMEVGQjQwMTFGCis6MTA0MEQwMDAwNkUwNDQwNEYwODAwNzkwNzk3OUUwNTRGQkYwOTA3OTkxCis6MTA0MEUwMDA3OUUwOTA3OTdDRjBBMkFGRTQzM0Y1MTJDMkFGMTIwQjA1Cis6MTA0MEYwMDBBMkU1MTI2MDAyRDJBRjkwNzk3RkUwOTA3OTgxRjA5MEQyCis6MDg0MTAwMDA3OTdFRTA5MDc5ODBGMDIyNDUKKzoxMDQxMDgwMDkwNzkyREUwNjQwMTcwMzU5MDc5NzBFMEZGRDM5NDJEOUIKKzoxMDQxMTgwMDQwMkI5MDc5Njk3NDAxRjA5MDc5NjhFMDA0RjBFMEQzNUQKKzoxMDQxMjgwMDk0MEY0MDE5RTRGMEVGRDM5NDMxNDAwODkwNzkyRDc0M0UKKzoxMDQxMzgwMDAzRjA4MDA2OTA3OTJENzQwMkYwMTIxMDAwOTA3OTJEMEEKKzoxMDQxNDgwMEUwQjQwMjJDOTA3OTcwRTBGRkMzOTQyRjUwMjJFRkQzOTMKKzoxMDQxNTgwMDk0MkE0MDFDOTA3OTY5NzQwMUYwOTA3OTY4RTAwNEYwMjEKKzoxMDQxNjgwMEUwRDM5NDBGNDAwQUU0RjA5MDc5MkQwNEYwMTIxMDAwODcKKzoxMDQxNzgwMDkwNzkyREUwQjQwMjI2OTA3OTcwRTBEMzk0MzE0MDFERjcKKzoxMDQxODgwMDkwNzk2OTc0MDFGMDkwNzk2OEUwMDRGMEUwRDM5NDBGQjUKKzoxMDQxOTgwMDQwMEJFNEYwOTA3OTJENzQwM0YwMTIxMDAwOTA3OTJEMDMKKzoxMDQxQTgwMEUwNjQwMzcwM0Y5MDc5NzBFMEZGQzM5NDVGNTAzNTkwRUUKKzoxMDQxQjgwMDc5Njk3NDAxRjA5MDc5NjhFMDA0RjBFMEQzOTQwRjQwRDUKKzoxMDQxQzgwMDIzRTRGMEVGQzM5NDJGNTAwQ0VGRDM5NDJBNDAwNjkwQzkKKzoxMDQxRDgwMDc5MkQ3NDAxRjBFRkQzOTQyRjQwMDY5MDc5MkQ3NDAyNTUKKzoxMDQxRTgwMEYwMTIxMDAwOTA3OTY5RTA3MDA1OTA3OTY4RjAyMkU0ODcKKzowNTQxRjgwMDkwNzk2OUYwMjIzRQorOjEwNDFGRDAwN0IwMTdBNzg3OTRDOTA3ODA2RUJGMEEzRUFGMEEzRTk4RAorOjEwNDIwRDAwRjBFNDEyMEM4QTkwNzgwNkUwRkJBM0UwRkFBM0UwRjk0MworOjEwNDIxRDAwOTAwMDAxNzQwMTEyMEM5QzkwNzgwN0U0NzVGMDAzMTI2NAorOjEwNDIyRDAwMENGNDkwNzgwNkUwRkJBM0UwRkFBM0UwRjlFNDEyMEM5RAorOjEwNDIzRDAwOEE5MDc4MDZFMEZCQTNFMEZBQTNFMEY5OTAwMDAxNzQwMAorOjEwNDI0RDAwMDIxMjBDOUM5MDc4MDdFNDc1RjAwMzEyMENGNDkwNzgzMAorOjEwNDI1RDAwMDZFMEZCQTNFMEZBQTNFMEY5RTQxMjBDOEE5MDc4MDZERAorOjEwNDI2RDAwRTBGQkEzRTBGQUEzRTBGOTkwMDAwMTc0MDMxMjBDOUNBQgorOjEwNDI3RDAwOTA3ODA3RTQ3NUYwMDMxMjBDRjQ5MDc4MDZFMEZCQTMzOAorOjEwNDI4RDAwRTBGQUEzRTBGOUU0MTIwQzhBOTA3ODA2RTBGQkEzRTBEMworOjBDNDI5RDAwRkFBM0UwRjk5MDAwMDE3NDA0MTIwQzlDREMKKzowMTQyQTkwMDIyRjIKKzoxMDQyQUEwMEU0RkZGRTdCMDE5MDc4MEMwNEYwQTM3NDc4RjBBMzc0MDkKKzoxMDQyQkEwMDJCRjA5MDc4MENFMEZCQTNFMEZBQTNFMEY5OTAwMDAyNUYKKzoxMDQyQ0EwMDEyMEM1REZEOTA3OTlBRTA2RDYwMTNFRkMzOTQwNTUwNkUKKzoxMDQyREEwMDBEMEY5MDc4MERFNDc1RjAwMzEyMENGNDgwRDQ4RDMzMzEKKzoxMDQyRUEwMDkwNzgwQ0UwRkJBM0UwRkFBM0UwRjk5MDAwMDExMjBDMkQKKzoxMDQyRkEwMDVERkQ5MDc5OUJFMEZDNkQ2MDEzRUVDMzk0MEI1MDBENEQKKzoxMDQzMEEwMDBFOTA3ODBERTQ3NUYwMDMxMjBDRjQ4MEQzOEMzNEVGMjAKKzoxMDQzMUEwMDY0MDU2MDAzQkUwQjA4OTA3RkI0RTA0NDAxRjAyMjkwNkMKKzoxMDQzMkEwMDc4MENFMEZCQTNFMEZBQTNFMEY5MTIwQzQ0RkYyNEYwQjYKKzoxMDQzM0EwMDYwMDgyNDBFNzAwRTEyNDk0RDIyOTA3OTIwRTUzNEYwNUYKKzowQjQzNEEwMDEyMUIyQTIyOTA3RkI0RTA0NDAxRjAxNworOjAxNDM1NTAwMjI0NQorOjBDNDM1NjAwNzg3RkU0RjZEOEZENzU4MTNGMDI0MzlEOUUKKzoxMDQzNjIwMDAyNDhBOUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyODAKKzoxMDQzNzIwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzNUMKKzoxMDQzODIwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGMkIKKzoxMDQzOTIwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDQ2NjFFNDdFMTQKKzoxMDQzQTIwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzMjAKKzoxMDQzQjIwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRTcKKzoxMDQzQzIwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMTIKKzoxMDQzRDIwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQ0EKKzoxMDQzRTIwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwNTUKKzoxMDQzRjIwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGMTAKKzoxMDQ0MDIwMEMwRTBDMkNBQzJDRjkwNzk3QUUwQjQwMTFGMTI0QkFFQUIKKzoxMDQ0MTIwMDEyNDc1ODUzQThBMDkwN0ZBRUU0RjAxMjA3QUExMjRCOUQKKzoxMDQ0MjIwMEI3OTA3RkFFNzQxRkYwNDNBODA1ODAwMzUzQThBMDUzMzIKKzoxMDQ0MzIwMEE4RkE3NUU4MDExMjA5MTU3NUU4MEQ0M0E4MDVEMEUwNDAKKzoxMDQ0NDIwMEZGRDBFMEZFRDBFMEZERDBFMEZDRDBFMEZCRDBFMEZBMEYKKzoxMDQ0NTIwMEQwRTBGOUQwRTBGOEQwRDBEMDgyRDA4M0QwRjBEMEUwNTQKKzowMTQ0NjIwMDMyMjcKKzoxMDQ0NjMwMDkwN0ZFQ0UwRjUwOTE0NjAxRDE0NjAyQTE0NjAzNzE0ODIKKzoxMDQ0NzMwMDYwNDQyNDA0NzA1MDkwNzk2MkUwOTA3RjAwRjA5MDdGNTQKKzoxMDQ0ODMwMEI1NzQwMUYwODA0NzkwNzk2M0UwOTA3RjAwRjA5MDdGRUUKKzoxMDQ0OTMwMEI1NzQwMUYwODAzNzkwNzk2NEUwOTA3RjAwRjA5MDdGRUQKKzoxMDQ0QTMwMEI1NzQwMUYwODAyNzkwNzk2NkUwOTA3RjAwRjA5MDdGRUIKKzoxMDQ0QjMwMEI1NzQwMUYwODAxNzkwNzk2N0UwOTA3RjAwRjA5MDdGRUEKKzowRjQ0QzMwMEI1NzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwRDMyMjdDCis6MDQ0NEQyMDA4RDM2OEIzNzYxCis6MTA0NEQ2MDAxMjNGQTJFQTQ5NjA1NzEyMEM0NDdFMDAyOUZGRUUzQUM5Cis6MTA0NEU2MDBDOUVGQzk3NTM4RkZGNTM5ODkzQUFCMzhBQTM5QTkzQUZGCis6MTA0NEY2MDA5MDAwMDExMjBDNURGRjY0MDQ2MDA1RUY2NDA1NzAyRUU4Cis6MTA0NTA2MDBFRkI0MDQxNTkwMDAwMjEyMEM1RDY1MzY3MDBCOTAwMDM2Cis6MTA0NTE2MDAwMzEyMEM1RDY1Mzc3MDAxMjIxMjBDNDQ3RTAwMjlGRkUwCis6MTA0NTI2MDBFRTNBQzlFRkM5NzUzOEZGRjUzOTg5M0E4MEJDN0IwMDg4Cis6MDQ0NTM2MDA3QTAwNzkwMDhFCis6MDE0NTNBMDAyMjVFCis6MTA0NTNCMDBFNEZGN0IwMTkwNzgxQzA0RjBBMzc0NzhGMEEzNzQ0QzE3Cis6MTA0NTRCMDBGMDkwNzgxQ0UwRkJBM0UwRkFBM0UwRjk5MDAwMDIxMkQ0Cis6MTA0NTVCMDAwQzVERkU5MDdGRUNFMDZFNjAxM0VGQzM5NDA0NTAwRDg2Cis6MTA0NTZCMDA5MDc4MURFNDc1RjAwMzEyMENGNDBGODBENEJGMDQwOThFCis6MTA0NTdCMDA5MDdGQjRFMDQ0MDFGMDgwMTQ5MDc5MjFFMEZGOTA3OEIzCis6MTA0NThCMDAxQ0UwRkJBM0UwRkFBM0UwRjlFRjEyMEM4QTkwN0ZDNUM1Cis6MDM0NTlCMDA3NDAxRjBCOAorOjAxNDU5RTAwMjJGQQorOjBFNDU5RjAwQzBFMEMwODNDMDgyQzBEMEVFQzBFMEVGQzBFMDNDCis6MTA0NUFEMDA5MDc5ODVFMDY0MDE2MDA1QTNFMEI0MDEyRDkwNzk4N0QxCis6MTA0NUJEMDA3NDAxRjBFNEZGOTA3RkM1RTBGRUVGQzM5RTUwMUI3NEM1Cis6MTA0NUNEMDBDMDJGRjU4MkU0MzQ3RUY1ODNFMEZFNzQyMTJGRjU4MjUxCis6MTA0NUREMDBFNDM0NzlGNTgzRUVGMDBGODBEQjUzOTFFRjkwN0ZBQUYxCis6MDQ0NUVEMDBFMDQ0MDFGMEI1Cis6MEY0NUYxMDBEMEUwRkZEMEUwRkVEMEQwRDA4MkQwODNEMEUwMzIzNworOjEwNDYwMDAwRTRGRjdCMDE5MDc4MTkwNEYwQTM3NDc4RjBBMzc0NEM1NAorOjEwNDYxMDAwRjA5MDc4MTlFMEZCQTNFMEZBQTNFMEY5OTAwMDAyMTIxMQorOjEwNDYyMDAwMEM1REZFOTA3RkVDRTA2RTYwMTNFRkMzOTQwNDUwMERDMAorOjEwNDYzMDAwOTA3ODFBRTQ3NUYwMDMxMjBDRjQwRjgwRDRCRjA0MDhDQworOjEwNDY0MDAwOTA3RkI0RTA0NDAxRjAyMjkwNzgxOUUwRkJBM0UwRkFGNworOjEwNDY1MDAwQTNFMEY5MTIwQzQ0OTA3RjAwRjA5MDdGQjU3NDAxRjA1NAorOjAxNDY2MDAwMjIzNworOjEwNDY2MTAwMDExODAyMDExOTBBMDExQzAwQzEyOEMxMjkwMTFGMDFGOQorOjBGNDY3MTAwNDQ3OTlGMDAwMDAwMDA0MTc5QTMwMDQxNzlBNDAwMjMKKzowNDQ2ODAwMDQxNzk4OTAwRjMKKzoxMDQ2ODQwMDAxMjIwMTQxNzkzMUZGNDE3OTM0MDA0RDc5MzUzRjNGQjEKKzoxMDQ2OTQwMDAwMDgwMDAxMDAwMDAwMDAwMDAwMTU0RDc5NDIzRjNGNzIKKzoxMDQ2QTQwMDA2MDgwNDA3MDAwMDAwMDAwMDAwMTU0RDc5NEYwQTBBQUYKKzowQjQ2QjQwMDA5MDAwMTA5MDIwMzA0MDUwNjA3MDhDNQorOjAxNDZCRjAwMDBGQQorOjEwNDZDMDAwMTIwQUNEOTA3RkE1RTBGNTIxRTUyMTU0MDFGNTIxNjQ4MgorOjEwNDZEMDAwMDE2MDI4RTUyMjY0MDE3MDIyOTA3RkE1RTBGNTIxNTQ1NQorOjEwNDZFMDAwMDJGNTIxNzAwMzc1MjIwMTkwN0ZBNUUwRjUyMTU0MDRBNQorOjBDNDZGMDAwRkZGNTIxQkYwNEQzNzUyMjAxODBDRTIyMEIKKzowNDQ2RkMwMDUzRDhGNzMyNjYKKzoxMDQ3MDAwMDAyNDlGQTAwMDIzQzU0MDAwMjE3RTQwMDAyNEExMjAwNzcKKzoxMDQ3MTAwMDAyMzdBMjAwMDI0N0ZGMDAwMjRBNDEwMDAyNDU5RjAwMDMKKzoxMDQ3MjAwMDAyNDk4RTAwMDI0OUFCMDAwMjRBNTgwMDAyNEE2RjAwNUIKKzoxMDQ3MzAwMDAyNEE4NjAwMDI0QTlEMDAwMjRBQjQwMDAyNEFDQjAwQTcKKzoxMDQ3NDAwMDAyNEFFMjAwMDI0QUY5MDAwMjRCMTAwMDAyNEIyNzAwMjUKKzowODQ3NTAwMDAyNEIzRTAwMDI0QjU1MDAzNAorOjEwNDc1ODAwRTUxODcwMTQ5MDc5OENFMDA0RjA5MDc5OEJFMEMzOTQ5QworOjEwNDc2ODAwMDA0MDE1RTAxNEYwODAxMDkwNzk4QkUwMDRGMEEzRTA4RAorOjEwNDc3ODAwQzM5NDAwNDAwM0UwMTRGMDkwNzk4QkUwRDM5NDE0NDA4NAorOjEwNDc4ODAwMDRFNEY1MThGMDkwNzk4Q0UwRDM5NDE0NDAwNTc1MTg3QQorOjA0NDc5ODAwMDFFNEYwMjIyNgorOjEwNDc5QzAwOTA3RkQ3RTBGNTMzOTA3RkVDRTBGNTA5MTQ2MDExMTRBRAorOjEwNDdBQzAwNjAxQjI0MDI3MDI0OTA3RkVBRTA5MDc5NjJGMDgwMjFGMworOjEwNDdCQzAwOTA3RkVBRTA5MDc5NjNGMDEyMTAwMDgwMTQ5MDdGRUEwOQorOjEwNDdDQzAwRTA5MDc5NjRGMDEyMjgwMTgwMDc5MDdGQjRFMDQ0MDFGNgorOjAyNDdEQzAwRjBEMzE4Cis6MDE0N0RFMDAyMkI4Cis6MTA0N0RGMDA5MDc5Nzg3NDA0RjA5MDc5MzNFMDkwNzk3OUYwQTJBRjAyCis6MTA0N0VGMDBFNDMzRjUxMkMyQUYxMjBCQTJFNTEyNjAwMkQyQUYyMjcwCis6MDE0N0ZGMDAzMjg3Cis6MDI0ODAwMDA4RjM2RjEKKzoxMDQ4MDIwMEU0RjUzNzc1MzhGRjc1MzkwNzc1M0EwMUFCMzhBQTM5QkYKKzoxMDQ4MTIwMEE5M0E5MDAwMDExMjBDNURCNDAzMUZBRjM3MDUzN0VGQzAKKzoxMDQ4MjIwMDY1MzY3MDAxMjIxMjBDNDQ3RTAwMjlGRkVFM0FDOUVGNzAKKzoxMDQ4MzIwMEM5NzUzOEZGRjUzOTg5M0E4MEQyN0IwMDdBMDA3OTAwNTAKKzowMTQ4NDIwMDIyNTMKKzoxMDQ4NDMwMDMwMjYyRkMyMjY5MDc5MkRFMEZGQjQwMTA5RTRGNTBDNDAKKzoxMDQ4NTMwMDc1MERGODc1MEUwQUVGQjQwMjA5RTRGNTBDNzUwREYwNDkKKzoxMDQ4NjMwMDc1MEUwQkVGQjQwMzA5RTRGNTBDNzUwREY4NzUwRTE3MEYKKzowMzQ4NzMwMEQyMjIyMjJDCis6MTA0ODc2MDAzMDI1MkZDMjI1OTA3OTJERTBGRkI0MDEwOTc1MENDMEIzCis6MTA0ODg2MDA3NTBEMTQ3NTBFMEJFRkI0MDIwOUU0RjUwQzc1MEQxMEQ5Cis6MTA0ODk2MDA3NTBFMENFRkI0MDMwOUU0RjUwQzc1MEQxODc1MEUxOEJBCis6MDM0OEE2MDBEMjIyMjJGOQorOjEwNDhBOTAwRTRGNTMyMTIwRjUwMjAyRTEwRTUzMkMzOTQwMjUwMDk1QworOjEwNDhCOTAwMDUzMkQyMzAxMjQ5MDU4MEVEMzAyRTA1MTIxNDU3QzI0NworOjBGNDhDOTAwMkUzMDJEMDYxMjA3OUExMjQ4RDkxMjQwMDA4MEVBQUQKKzowMTQ4RDgwMDIyQkQKKzoxMDQ4RDkwMDkwN0ZENkUwRjUxRDU0ODBGNTFENjQ4MDcwMURDMkFGMzAKKzoxMDQ4RTkwMEUwNDQ4MEYwRTA0NDAxRjA3RjBDN0UwMDEyNEI2QzkwQjQKKzowQzQ4RjkwMDdGRDZFMDU0RkVGMDUzODdGRUQyQUYyMkMxCis6MTA0OTA1MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAzMDA0RTA0NEZBCis6MTA0OTE1MDAwMkYwN0ZEQzdFMDUxMjRCNkM5MDdGRDZFMDU0RjdGMEY5Cis6MDU0OTI1MDBFMDQ0MDRGMDIyNTMKKzoxMDQ5MkEwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyMEEKKzoxMDQ5M0EwMDQ2MDAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MjQKKzowMzQ5NEEwMDAxRjAyMjU3Cis6MTA0OTREMDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0NTMyCis6MTA0OTVEMDAzQjIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMTBCCis6MDI0OTZEMDBGMDIyMzYKKzoxMDQ5NkYwMEU0RkY3NEU4MkZGNTgyRTQzNDdGRjU4M0UwRkU3NDk2NUMKKzowRTQ5N0YwMDJGRjU4MkU0MzQ3OUY1ODNFRUYwMEZCRjA4RTRFMworOjAxNDk4RDAwMjIwNworOjEwNDk4RTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAyRjA1MworOjBENDk5RTAwOTA3RkI3NzQwM0YwRDA4MkQwODNEMEUwMzI1OAorOjEwNDlBQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjAzNQorOjBENDlCQjAwOTA3RkM3NzQwM0YwRDA4MkQwODNEMEUwMzIyQgorOjEwNDlDODAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTJCOQorOjBBNDlEODAwNEI2QzkwN0ZENkUwNTRGRUYwMjJGNQorOjEwNDlFMjAwRTRGNTFBNzUxQjAxOTA3OTkxMDRGMEEzRjBFNEEzRjBBOQorOjA4NDlGMjAwQTM3NDBBRjBFNEEzRjAyMjEzCis6MTA0OUZBMDBDMEUwQzA4M0MwODJEMjJFNTM5MUVGOTA3RkFCNzQwMTg2Cis6MDg0QTBBMDBGMEQwODJEMDgzRDBFMDMyMkQKKzoxMDRBMTIwMEMwRTBDMDgzQzA4MkQyMkQ1MzkxRUY5MDdGQUI3NDA4NjcKKzowODRBMjIwMEYwRDA4MkQwODNEMEUwMzIxNQorOjEwNEEyQTAwOTA3RkVBRTBGNTA4RTQ5MDc5NjJGMEEzRjBBM0YwOTBCMQorOjA3NEEzQTAwNzk2NkYwQTNGMEQzMjIxRQorOjEwNEE0MTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjBBMAorOjA3NEE1MTAwRDA4MkQwODNEMEUwMzJENworOjEwNEE1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjA4NgorOjA3NEE2ODAwRDA4MkQwODNEMEUwMzJDMAorOjEwNEE2RjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjA2RQorOjA3NEE3RjAwRDA4MkQwODNEMEUwMzJBOQorOjEwNEE4NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjA1NAorOjA3NEE5NjAwRDA4MkQwODNEMEUwMzI5MgorOjEwNEE5RDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjAzQworOjA3NEFBRDAwRDA4MkQwODNEMEUwMzI3QgorOjEwNEFCNDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjAxRQorOjA3NEFDNDAwRDA4MkQwODNEMEUwMzI2NAorOjEwNEFDQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjAwNgorOjA3NEFEQjAwRDA4MkQwODNEMEUwMzI0RAorOjEwNEFFMjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjBFMAorOjA3NEFGMjAwRDA4MkQwODNEMEUwMzIzNgorOjEwNEFGOTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjBDOAorOjA3NEIwOTAwRDA4MkQwODNEMEUwMzIxRQorOjEwNEIxMDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjA5MQorOjA3NEIyMDAwRDA4MkQwODNEMEUwMzIwNworOjEwNEIyNzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjA3OQorOjA3NEIzNzAwRDA4MkQwODNEMEUwMzJGMAorOjEwNEIzRTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjAyMworOjA3NEI0RTAwRDA4MkQwODNEMEUwMzJEOQorOjEwNEI1NTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjAwQgorOjA3NEI2NTAwRDA4MkQwODNEMEUwMzJDMgorOjEwNEI2QzAwOEUzMzhGMzRFNTM0MTUzNEFFMzM3MDAyMTUzMzRFNjAwQQorOjA3NEI3QzAwMDUxMjA3ODk4MEVFMjJGQgorOjBGNEI4MzAwOTA3RkVBRTBCNEZGMDQxMjMwMDAyMjEyMzYwRTIyQjcKKzowRTRCOTIwMEMwRTBDMjhCRDIyNDMwMjMwMkMyMjNEMEUwMzIxNgorOjBFNEJBMDAwOTA3RjAwRTUwOEYwOTA3RkI1NzQwMUYwRDMyMkZECis6MDk0QkFFMDAzMDI0MDVDMjI0NzUxODAxMjIwRgorOjA5NEJCNzAwMzAyMzA1QzIyM0U0RjUxODIyQTUKKzowNzRCQzAwMDUzQzBGRTUzQzBGRDMyOUIKKzowNjRCQzcwMDUzOTE3RkQyMjUzMjVDCis6MDU0QkNEMDBDMjg5RDIyMzMyNzEKKzowMzRCRDIwMEMyOEQzMjVGCis6MDM0QkQ1MDBDMjhGMzI1QQorOjAyNEJEODAwRDMyMkU2Cis6MDI0QkRBMDBEMzIyRTQKKzowMjRCREMwMEQzMjJFMgorOjAyNEJERTAwRDMyMkUwCis6MDI0QkUwMDBEMzIyREUKKzowMjRCRTIwMEQzMjJEQworOjAyNEJFNDAwQzMyMkVBCis6MDE0QkU2MDAyMkFDCis6MDAwMDAwMDFGRgorLyoKKyAqIFRoaXMgZmlybXdhcmUgaXMgZm9yIHRoZSBFbWFnaWMgRU1JIDJ8NiBBdWRpbyBJbnRlcmZhY2UKKyAqCisgKiBUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcyBDb3B5cmlnaHQgKGMpIDE5OTktMjAwMiBFbWFnaWMKKyAqIGFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZAorICogb3IgcHVibGljIGFjY2VzcyB0byB0aGlzIGZpcm13YXJlIHdoaWNoIGlzIGEgdHJhZGUgc2VjcmV0IG9mIEVtYWdpYywKKyAqIGFuZCB3aGljaCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8KKyAqIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0IEVtYWdpYydzIHdyaXR0ZW4gY29uc2VudC4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aCB0aGUKKyAqIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZS4gRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YKKyAqIGFueSBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4gcGFydCwKKyAqIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuCisgKi8KKy8qCitWRVJTSU9OPTEuMC4yLjkxNgorREFURT0xMi4wMi4yMDAyCisqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pMjYvbG9hZGVyLkhFWCBiL2Zpcm13YXJlL2VtaTI2L2xvYWRlci5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdjNDM5ZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTI2L2xvYWRlci5IRVgKQEAgLTAsMCArMSwxMTYgQEAKKzowMzAwMDAwMDAyMDMxQ0RDCis6MDMwMDQzMDAwMjA0MDBCNAorOjEwMDEwMDAwOTA3RkU5RTAyNDVCNjA2MDI0MDI2MDAzMDIwMUJFOTBGRQorOjEwMDExMDAwN0ZFQUUwNzUwQTAwRjUwQkEzRTBGRUU0RUU0MjBBOTBFOAorOjEwMDEyMDAwN0ZFRUUwNzUxNTAwRjUxNkEzRTBGRUU0RUU0MjE1RTU1RQorOjEwMDEzMDAwMTY0NTE1NzAwMzAyMDFCRUU0OTA3RkM1RjA5MDdGQjRCMAorOjEwMDE0MDAwRTAyMEUzRjk5MDdGQzVFMEY1MEMxMjAyNzdBRjBDN0U1QQorOjEwMDE1MDAwMDBFRjI1MEJGNTBCRUUzNTBBRjUwQUMzRTUxNjlGRjUwMgorOjEwMDE2MDAwMTZFNTE1OUVGNTE1ODBDNzkwN0ZFQUUwNzUwQTAwRjU0MworOjEwMDE3MDAwMEJBM0UwRkVFNEVFNDIwQTkwN0ZFRUUwNzUxNTAwRjU3OQorOjEwMDE4MDAwMTZBM0UwRkVFNEVFNDIxNUU1MTY0NTE1NjAzMEU0OTA1NgorOjEwMDE5MDAwN0ZDNUYwOTA3RkI0RTAyMEUzRjk5MDdGQzVFMEY1MENENworOjEwMDFBMDAwMTIwMjhGQUYwQzdFMDBFRjI1MEJGNTBCRUUzNTBBRjUzMgorOjBGMDFCMDAwMEFDM0U1MTY5RkY1MTZFNTE1OUVGNTE1ODBDQUMzMUYKKzowMTAxQkYwMDIyMUQKKzoxMDAxQzAwMEMyMjBEMkU4NDNEODIwOTA3RkFCNzRGRkYwOTA3RkE5ODMKKzoxMDAxRDAwMEYwOTA3RkFBRjA1MzkxRUY5MDdGOTVFMDQ0QzBGMDkwQUIKKzoxMDAxRTAwMDdGOThFMDQ0QzBGMDkwN0Y5RUUwNDRDMEYwRTQ5MDdGQjAKKzoxMDAxRjAwMDk0RjA5MDdGOURFMDQ0MEZGMDkwN0Y5N0UwNTRGMEYwRjIKKzoxMDAyMDAwMDkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGQkMKKzoxMDAyMTAwMDkwN0Y5N0UwNTRGMEYwMjAyMDQyNzUxNDAwNzUxMzAwOTEKKzoxMDAyMjAwMDc1MTIwMDc1MTEwMDdGNDg3RTkyN0QwMDdDMDBBQjE0MzIKKzoxMDAyMzAwMEFBMTNBOTEyQTgxMUMzMTIwNDlBNTBEQjIwMjBEODdBNUQKKzoxMDAyNDAwMDAwNzkwMDc4MDBFNTE0MjQwMUY1MTRFQTM1MTNGNTEzNUMKKzoxMDAyNTAwMEU5MzUxMkY1MTJFODM1MTFGNTExODBDQTMwMjBGRDEyOEEKKzoxMDAyNjAwMDAxMDA1MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0NzcKKzowNjAyNzAwMDAyRjBDMjIwODBFNjRFCis6MDEwMjc2MDAyMjY1Cis6MTAwMjc3MDBFNTBDRkZFNTBCRjU4MkU1MEFGNTgzNzU5MjdFNzRDMDAwCis6MDgwMjg3MDBGOEUyMDhGMEEzREZGQTIyRkYKKzoxMDAyOEYwMDkwN0Y5Njg1ODM5MkE4ODI3OTAyOTAwMDAwRTBCNDAwNTcKKzoxMDAyOUYwMDM3NzQwMUYwOTA3RjkzRTA1NEZDRjA5MDdGOTZFMDU0MTgKKzoxMDAyQUYwMEZDRjA5MDdGOUNFMDQ0MDNGMDkwN0Y5NEUwNTQ3RkYwNEIKKzoxMDAyQkYwMDkwN0Y5N0UwNDQ4MEYwOTA3RjlERTA0NDgwRjA5MDdGQTYKKzoxMDAyQ0YwMDk3RTA1NDdGRjA0NDgwRjBFNTBDRkY5MDdFQzBFMEY1OUUKKzoxMDAyREYwMDI4RTRBMjQ3MzNGMjY5RjJFNEEyNDYzM0YyNjlGMkU0NkEKKzoxMDAyRUYwMEEyNDUzM0YyNjlGMkU0QTI0NDMzRjI2OUYyRTRBMjQzODUKKzoxMDAyRkYwMDMzRjI2OUYyRTRBMjQyMzNGMjY5RjJFNEEyNDEzM0YyM0IKKzowRDAzMEYwMDY5RjJFNEEyNDAzM0YyNjlGMkEzREZDMjIyREEKKzowQzAzMUMwMDc4N0ZFNEY2RDhGRDc1ODEyOTAyMDM2M0E4Cis6MTAwMzI4MDAwMjAxQzBFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjJBCis6MTAwMzM4MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0Q2Cis6MTAwMzQ4MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkE1Cis6MTAwMzU4MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwNDg0RTQ3RUFECis6MTAwMzY4MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzlBCis6MTAwMzc4MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzYxCis6MTAwMzg4MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQThDCis6MTAwMzk4MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTQ0Cis6MTAwM0E4MDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3Rjk3Cis6MEIwM0I4MDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyQTAKKzoxMDAzQzMwMEMwRTBDMDgzQzA4MkQyMjA1MzkxRUY5MDdGQUI3NDAxMTEKKzowODAzRDMwMEYwRDA4MkQwODNEMEUwMzJBQgorOjEwMDNEQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDAyQQorOjA2MDNFQjAwODJEMDgzRDBFMDMyNTUKKzowMTAzRjEwMDMyRDkKKzowMTAzRjIwMDMyRDgKKzowMTAzRjMwMDMyRDcKKzowMTAzRjQwMDMyRDYKKzowMTAzRjUwMDMyRDUKKzowMTAzRjYwMDMyRDQKKzowMTAzRjcwMDMyRDMKKzowMTAzRjgwMDMyRDIKKzowMTAzRjkwMDMyRDEKKzowMTAzRkEwMDMyRDAKKzowMTAzRkIwMDMyQ0YKKzowMTAzRkMwMDMyQ0UKKzowMTAzRkQwMDMyQ0QKKzowMTAzRkUwMDMyQ0MKKzowMTAzRkYwMDMyQ0IKKzoxMDA0MDAwMDAyMDNDMzAwMDIwM0RCMDAwMjAzQTgwMDAyMDQ2RTAwMjMKKzoxMDA0MTAwMDAyMDQ1ODAwMDIwM0YxMDAwMjAzRjIwMDAyMDNGMzAwOTkKKzoxMDA0MjAwMDAyMDNGNDAwMDIwM0Y1MDAwMjAzRjYwMDAyMDNGNzAwRTIKKzoxMDA0MzAwMDAyMDNGODAwMDIwM0Y5MDAwMjAzRkEwMDAyMDNGQjAwQzIKKzoxMDA0NDAwMDAyMDNGQzAwMDIwM0ZEMDAwMjAzRkUwMDAyMDNGRjAwQTIKKzowODA0NTAwMDAyMDRBQjAwMDIwNEFDMDA0MQorOjEwMDQ1ODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDA5RQorOjA2MDQ2ODAwODJEMDgzRDBFMDMyRDcKKzoxMDA0NkUwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDhGMEQwOTAKKzowNjA0N0UwMDgyRDA4M0QwRTAzMkMxCis6MTAwNDg0MDAwMjBBMDAwRjAxMEMxMTA0MEQwMDAwMDAwMDQxMDAwMERECis6MDEwNDk0MDAwMDY3Cis6MDQwNDk1MDAwMjE3MDAwMDRBCis6MDEwNDk5MDAwMDYyCis6MTAwNDlBMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMEI4Cis6MDEwNEFBMDAyMjJGCis6MDEwNEFCMDAzMjFFCis6MDEwNEFDMDAzMjFECis6MTAxMTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODAxMDEwMDAxMDEwMjAzCis6MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCis6MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCis6MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Cis6MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Cis6MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCis6MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Cis6MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCis6MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Cis6MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Cis6MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCis6MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCis6MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCis6MDIxMUQwMDAwMDAwMUQKKzowMDAwMDAwMUZGCisvKgorICogVGhpcyBmaXJtd2FyZSBpcyBmb3IgdGhlIEVtYWdpYyBFTUkgMnw2IEF1ZGlvIEludGVyZmFjZQorICoKKyAqIFRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzIENvcHlyaWdodCAoYykgMTk5OS0yMDAyIEVtYWdpYworICogYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkCisgKiBvciBwdWJsaWMgYWNjZXNzIHRvIHRoaXMgZmlybXdhcmUgd2hpY2ggaXMgYSB0cmFkZSBzZWNyZXQgb2YgRW1hZ2ljLAorICogYW5kIHdoaWNoIG1heSBub3QgYmUgcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0bworICogYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQgRW1hZ2ljJ3Mgd3JpdHRlbiBjb25zZW50LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIHRoZQorICogRW1hZ2ljIEVNSSAyfDYgQXVkaW8gSW50ZXJmYWNlLiBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZgorICogYW55IGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbiBwYXJ0LAorICogcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4KKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZW1pNjIvYml0c3RyZWFtLkhFWCBiL2Zpcm13YXJlL2VtaTYyL2JpdHN0cmVhbS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M2ZWNjMwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2VtaTYyL2JpdHN0cmVhbS5IRVgKQEAgLTAsMCArMSw0MzcyIEBACis6MTA4MDEwMDBGRkZGRkZGRkFBOTk1NTY2MzAwMDgwMDEwMDAwMDAwN0FFCis6MTA4MDIwMDAzMDAxNjAwMTAwMDAwMDBCMzAwMTIwMDEwMDgwM0YyRDc1Cis6MTA4MDMwMDAzMDAwQzAwMTAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwOTk1Cis6MTA4MDQwMDAzMDAwMjAwMTAwMDAwMDAwMzAwMDgwMDEwMDAwMDAwMTJECis6MTA4MDUwMDAzMDAwNDAwMDUwMDAzRTA0MDgxMjEwMDAwMDAwMDAwMEY0Cis6MTA4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA4MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNEJDCis6MTA4MDgwMDA4MDAwMDAwMDAwMDAwMDAwMDAxMjEwMDAwMDAwMDAwMDRFCis6MTA4MDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTA4MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDA4NDBDCis6MTA4MEIwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMDNFCis6MTA4MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA4MEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDk4Cis6MTA4MEUwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMjAwMDAwMDAwMDAwMENFCis6MTA4MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTA4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTA4MTEwMDA4MDAwMDAwMDAwMDAwMDAwMDAxMjAwMDAwMDAwMDAwMENECis6MTA4MTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTA4MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDNCCis6MTA4MTQwMDA4MDAwMDAwMDAwMDAwMDAwMDgxMzAwMDAwMDAwMDAwMDk0Cis6MTA4MTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTA4MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTA4MTcwMDA5MDAwMDAwMDAwMDAwMDAwMDAxMjAwMDAwMDAwMDAwMDVECis6MTA4MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTA4MTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDVCCis6MTA4MUEwMDA5MDAwMDAwMDAwMDAwMDAwRjcxMDAxMTQwMDI1MDAwNUY5Cis6MTA4MUIwMDA0MDAxNTAwMDk0MDAxNTAwMDc0MDAxRDAwMDk0MDAyNUI0Cis6MTA4MUMwMDA4MDAxNjAwMkQ4MDBGNjAwMkY4MDAyRTAwNEQ4Mzc0NDE2Cis6MTA4MUQwMDA5MDAwMDAwMDAwMDAwMDAwQzAwNUYyMDBDQzkwMzkyMEEzCis6MTA4MUUwMDAwRDk4MDNEMjAwRTc4MDM3MDQwRUYxODM3RTAwREY5MDA0Cis6MTA4MUYwMDAzMUU0OEY3OTAzN0MyMERGMjIzM0MwMENGMDIyMzAwMDgxCis6MTA4MjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMDYyMDA4MDI0MjIyMDI2Cis6MTA4MjEwMDAwODk4MTJFMjAwOEI4MTIwOTQwODc0MDIyRTAwOEEwMUQzCis6MTA4MjIwMDAyMkM4MDg5MjAyM0Q4MDhCNjAyMjgwMDhCMDAyMjAwNEEwCis6MTA4MjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM4MDBBMDAwMjAwMEY5Cis6MTA4MjQwMDAwQjEwMDJDMDAwQTEwMDI0MDk0QTMyMDI0ODAwQjEwMDBDCis6MTA4MjUwMDA2MkMwMDlBMDQ2Q0MyNDkzNDkyQTgwNDgzMDIyNjIwMTlBCis6MTA4MjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MTJBODAwMjIwMDQ1Cis6MTA4MjcwMDAwODkwMDJFMDAwODk4MDIyNDQwOEIwMTJBODAwQTk0MEJBCis6MTA4MjgwMDAyMkMwMDg5MDgyQUMwMDlCMDQyQUM0MDhCMDAyNzAwNDhCCis6MTA4MjkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNDg0MDBFOTgwQjI2NDY3Cis6MTA4MkEwMDA0REEwMDNFQTIwRTlDMDM2NDAwRUIwMDM0NDAwRkI5MDI1Cis6MTA4MkIwMDBCMjg4MERCQzAzRUMwODVCMDAzODYwMkNCMDYzNDAwNDRFCis6MTA4MkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MjZERDkwMzc0MDlGCis6MTA4MkQwMDA0RkUwMTNGMjgwRkQwMDNEQTAwRDcwMDM3NTAwNUUwMEJECis6MTA4MkUwMDAzRkE0MERGOTAzNUMxMEVCMDAzNzIwMEYzMDAzQjgwMEZBCis6MTA4MkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBFOTgwMzI0MDQ3Cis6MTA4MzAwMDAwQ0ExODNFODAwRTkwMDMyNDIwRUIwMDNBQzQ4RTkwMDVBCis6MTA4MzEwMDAzQTgwMEVBNDAzRUMwMEVCMDBCMjAzMEVCMDBCMTAwNDg1Cis6MTA4MzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJFODA4OUQxMjA0MEY4Cis6MTA4MzMwMDAwOEEwMDJDMDAwODE4MDIyNTgwOEY1MDIyRjQwOEIwMDVGCis6MTA4MzQwMDAyMEMwMDgzMDQzN0MwMDg3MDAyMjQwMDhGMDAyMzIwMDQxCis6MTA4MzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQyMDE5QTQ0MjhBMjBECis6MTA4MzYwMDAwODE4MDJDMDgwQTE4MEEwMDAwODMwMDI4RTAwQUIwMDc3Cis6MTA4MzcwMDAyQzQwMEEzMDAyMEMwMEEzMDAyMDQ0MEEzMDAyMzgwMENFCis6MTA4MzgwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMTMyMDA5NjgyMkJBMjI1Cis6MTA4MzkwMDA4ODVBMDJGMjAwMDU4MDI5QTAwODc4NDJCRTAwOEU4NDI3Cis6MTA4M0EwMDAyRjYxMEFEODAyNEUxMEE3ODAyMDI4MDg3ODAyMTgwMEYyCis6MTA4M0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBGMjI0Mzg4MDU3Cis6MTA4M0MwMDAyQzFBMDNDNDAwRTA1OEEwODAyRTMwMDM4ODQxRTMwMjM5Cis6MTA4M0QwMDAzQzQwMDYyMDAzOEMwMEUzMDAxMDAwMEUzMTQzMTIwMkUzCis6MTA4M0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDk4MDBFRTAxMzc4NEVFCis6MTA4M0YwMDA5RkQ5MDNGMDQ4RkQxMDM3QzAwN0IwMDM1QzAwRjYxMEFBCis6MTA4NDAwMDAzM0MwMERFMTAzRUQyMERGMTAzRjQ4MEZGMDIzRDAwNjBECis6MTA4NDEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDJDQjgwMzBDMDJFCis6MTA4NDIwMDAwQ0EwMDNFMjAyQzkwMDNBNDAwREI2MDM2NDAwRUIwMDYxCis6MTA4NDMwMDAzRUMwMEZCMDAzRUQwMEZCMDEzRUUwMENCMDAyRUEwMENECis6MTA4NDQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDA4NzAwMjFDMDY3Cis6MTA4NDUwMDAyODYwMDJEMDAwODUwMDJEODA0OEYwODIxQzAwQjcwMDAzCis6MTA4NDYwMDAyRDAwMEI1MDAyREMwMEI3QTAyRjgwMjg3QTAyRDIwNDI2Cis6MTA4NDcwMDA2MDAwMDAwMDAwMDAwMDAwQzEwMEJFMDA4NzgwMjFFMDE1Cis6MTA4NDgwMDAyODY4MDJENzAwODQ4MDJERTA0OTc5MDY1MzA5QjU4MDE5Cis6MTA4NDkwMDAyREUyMEI3ODAyREU4MEI3OTAyREIwMDg3OTAyRjAwMDUzCis6MTA4NEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMTA4MzAxMjhDODAwCis6MTA4NEIwMDAwODIwMDJDMjA2ODEwMDJDQzg4ODMwNjIwRTIxQjNBMEI5Cis6MTA4NEMwMDAyQ0MxMEJCNjAyQ0MwMEIzMDAyQ0UwMDgzMDAyRDIwNDYxCis6MTA4NEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBDQTQwQjA4MDhECis6MTA4NEUwMDAwQzJDMDJGODAwQzYyMDNGOTAwREEwMDM3QjAxRUVFMEFCCis6MTA4NEYwMDAzRkI0MEZFQzAzRTgwMEZBMDAzRkEwMENBMDAzRkEwNDFECis6MTA4NTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUzMDBGODA5MjYwMEI5Cis6MTA4NTEwMDAwRkMxODNFMDEwRjg0MDNDMDAwRjgwMDNFMDAxRjgwMDM5Cis6MTA4NTIwMDAzRTAwMEY4MTAzRTAwNEY4MDAzRTEwMEY4MDAzRDIwMEVDCis6MTA4NTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDJDOTAwM0U0MEM2Cis6MTA4NTQwMDA0RjkwNjMyNjg0MzkwMkIyNDAwQzkxMDMyNDAwRjkwMDU1Cis6MTA4NTUwMDAzRTQwMEY5MDAzMjQwMEYxMDAzQTQ0MEY5MDAzQzIwNDAwCis6MTA4NTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDQ1MDA4OTQwMkU0MERCCis6MTA4NTcwMDAwODkyMEEyNDAwQjkzMTIyNjA4ODk0OEEyNDIwQjkwMDI0Cis6MTA4NTgwMDAyRTQwMEI5MDAyMjQwMEI5MDAyMjY4MEI5MDAyRTAwMEZDCis6MTA4NTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0QTA4RDg0MkY0MDZBCis6MTA4NUEwMDAwQkQxMDIyNDAwQjkwMDIyNEEwODEwMDIyQzQwQjkwMDY1Cis6MTA4NUIwMDAyRTQwMEI5MDAyMjQwMEI5MDAyQTQwMEI5MDAyQzYwMDA2Cis6MTA4NUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0MDA4NTgwMkQ0MEQ5Cis6MTA4NUQwMDAwODUwMDIwNDBDQjkwMEEwNTAwODE0MjIwNDAwQjEwMDk1Cis6MTA4NUUwMDAyQzQwMEIxMDAyMDQwMEIxMjgyMDRBMEIxMzAyQzIwMUQ4Cis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBDMDUwM0U4MDg4Cis6MTA4NjAwMDAwRkMwNDMyMDAwRjgwMDMwMDAyQzgwMjMyMDAwRjg1MUQ4Cis6MTA4NjEwMDAzRTE0OEY4NTBCMjE0MEY4NzAzQTA4MEY4NDgzRUUwM0Q3Cis6MTA4NjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREM0MDBGOTA0M0U0MDA2Cis6MTA4NjMwMDAwRjkwMjNENDAwRkQwMDNGNTAwRjk0MDNGNDA0RkQwMDdECis6MTA4NjQwMDAzRjQxOEZEMDQzRTUwQ0Y5MDIzRjRBMEY5MjAzRTYwMjA3Cis6MTA4NjUwMDA3MDAwMDAwMDAwMDAwMDAwODgwNUQ0MDFGRDAwM0Q0MENFCis6MTA4NjYwMDAwQ0QwMTNGNDAwRDUwMDMzNkExQ0RDODMzNDAwRDEwNDMxCis6MTA4NjcwMDAzRTUwMEM5MTAzRTZDMEREQjAzMzZBMkM5QzgzRTYwMENCCis6MTA4NjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDlGODgwMkUwMEEzCis6MTA4NjkwMDA4ODgwMDBFODAwQkEwMDIyQjAwODhFMDIyODAwODhBODZFCis6MTA4NkEwMDAyNjI4MDg4QTIyRTIwMDg4RTQyMjMwMDg4QzAyQ0UwNEMwCis6MTA4NkIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTI4MkU0MDcyCis6MTA4NkMwMDAwODEwMDJDNDAwOTkwMDIwNDI0ODEwMDI2NDAxOTE4MDAxCis6MTA4NkQwMDAyQzQ4MDgxMDAyQzRDMDgxNDAyMDRBMDgxMjAyQzIwMTdFCis6MTA4NkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0OTRBOTAyMkU0MDlDCis6MTA4NkYwMDAwQTkwMDI2NDAwQjkwMDgyNjAwODkwMDI2NjAwODkxMDQ2Cis6MTA4NzAwMDAyNDYyMDg5MDAyRTQwMDg5MDIyMjQwMTg5MDAyQzYwNDA0Cis6MTA4NzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU2MDBCOTA0M0U0MDIzCis6MTA4NzIwMDAwQzkwMTNFNDAwRDFDMDEyNTAyODkwMDM0NDAwRDkwMEVCCis6MTA4NzMwMDAzRTQwMjg5MjAzRTQwMkQ5MDAzMjQyOEM5MDEyRTgwNEIxCis6MTA4NzQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE2MjBGOTAwM0U0MTUyCis6MTA4NzUwMDAyRDkwMDNFNDAwRjkyMDNFNDA0RjkwMDFBNDAwRjkwMDYxCis6MTA4NzYwMDAzNjQwOEY5MjA3RTQwMEYxMDBCRTQwMEY5MDAzQ0EwMDJDCis6MTA4NzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODAwM0UyMDlCCis6MTA4NzgwMDAwQzgwMDNFMDQwRjgwMDM2MTIyQzAwMDNFMEMwRjgwMDMzCis6MTA4NzkwMDAzMjEwMEQ4NDAzQTAwMEY4MDIzRTA4MEY4MDAwQ0EwNEM2Cis6MTA4N0EwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTNBOTA4RTAwMkRBMDU3Cis6MTA4N0IwMDA4MEU4MDJGQTAwQkU0MDIzODAwOEU4MDJGQTAwOEEwMDNFCis6MTA4N0MwMDAzNjgwMDhBMDAyRTgwMEJBMDAyRjgwMEJBMDAzOEEwMEMwCis6MTA4N0QwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQ2MDI4MzAwMkM4MEI1Cis6MTA4N0UwMDAwODIyNDJDNjgwQjE2MDJFRjQwODM4MjJDRTAwQTMwMEQxCis6MTA4N0YwMDAyMEMwMDgzMDAyQUMwMEIxMDAyRTQwMEIzMDAyQ0EwMDhECis6MTA4ODAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDI4NTAxMkRDMkUyCis6MTA4ODEwMDBBODQ0MDJENDAwQkQwMTI5NDAxODY4RDJEQzAwOEY4MDMyCis6MTA4ODIwMDAyNUNDMjg3MzQyREM4MEI1MzAyREMwMUI3MjAyRTgwMEQ1Cis6MTA4ODMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDRDNjgyM0RFMEMxCis6MTA4ODQwMDAwQzQ4MTJENjEwRjU4MDNDQTAwQzcwMDNERTAwRTc5MEI3Cis6MTA4ODUwMDAyM0VBMDQ3QTAzOUUwMEY1ODAzREUwMEY3QTAzRUEwMkUyCis6MTA4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDgwREFDMDA5QzAwM0VDMEFECis6MTA4ODcwMDAwRjgwMDNFNDEwRjkwMDM2MDEwRkEwMDNDMDAwRUIwMEU1Cis6MTA4ODgwMDAzRUQ4NEVCMDgzRUMwMEY5MDAzRUMwMEZCNDQzODIwNkUwCis6MTA4ODkwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNURFMDBDRjg0MzFFMDcxCis6MTA4OEEwMDAwRUM4NDNENjAwQ0Q4MDMzRTBDREQ5MDMzQTAwRkY4ODBGCis6MTA4OEIwMDAzM0UwMEZGOTEzRkUyNEZEODAzRjIwMENGNjgzMTAwMEY3Cis6MTA4OEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NTAwMjFDNDc5Cis6MTA4OEQwMDAyODQwODJEMDAwRDUwMDIzODA0OEM5MDIxQzAwQjcwMDgwCis6MTA4OEUwMDAyMUMwMEI3MTAyREU4MEI1MTAyREMwMjhGMDAyMkEwNEQxCis6MTA4OEYwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDlDMDA5NjAwMjFDMEY1Cis6MTA4OTAwMDAwQTQxMDJGNTQwOEQwMDIxNDAwOTUyMDI5ODIwQjcwMDJCCis6MTA4OTEwMDAyMUMwMEI3MDA2REM4MEI1MDAyREMwMDg3MDAyMDQwMDc5Cis6MTA4OTIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENDMTA5ODAwMDBDMDdGCis6MTA4OTMwMDA4ODA0ODJDMDAwOTEwNDIwMDMwOTAwMDI4QTAwQjMwQTVGCis6MTA4OTQwMDAyMEM0OEIzNDAyQ0MwMEI5MDAyQ0MwMDAzMDAyMTgwNEMzCis6MTA4OTUwMDAzMDAwMDAwMDAwMDAwMDAwRjgxNUFDMDBEQjAwQjBDMEUzCis6MTA4OTYwMDAwRTlDMDJDNTAwQzExMEIyQzAwREIwMEJBNzA4RkYwMERECis6MTA4OTcwMDBCM0MwMEZGQTAzRkMwMEZEMDAzRUQ0MENGMDBCMkUwNDM0Cis6MTA4OTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDRFRDAwM0U0MEFDCis6MTA4OTkwMDAwRjg0MDNFNTQwRjk0MDNFNjBDRUI0NDM2NDAwRkI4MEExCis6MTA4OUEwMDAzRUMyMEZCMDEzRUMwMEY5MDIzRUMwNEZCMDAzRTEwMDJECis6MTA4OUIwMDAzMDAwMDAwMDAwMDAwMDAwOTAxMEZGMDBDRTAwMzNDMDI3Cis6MTA4OUMwMDAwRUMwMDc3NDA0RUMwMDExODAwQ0NBMDNGRTYwRkYwMEE3Cis6MTA4OUQwMDAzRkMwMEZGMDgzM0MwMEREMDBCMzUwMkNGMDAzMjAwNEI3Cis6MTA4OUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDRDMDQ4QjBCMjI3MDVFCis6MTA4OUYwMDAwODA4MDM2NzIwOEE4OEEyMDAyODg0MDJFNzAwQkIwMEQ5Cis6MTA4QTAwMDAzRUMwMEJCMDAyMkMwMEI5MDAyMjYxMDhCMDAzNjA0MEU4Cis6MTA4QTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjIwMjJFMkU2Cis6MTA4QTIwMDAwQThDMDIyNjAwQTk4MDJBQzAwOEI0NDJFRDAwQkIwMENGCis6MTA4QTMwMDAyRUMwMEIzMDAyMkMwMEI5MDAyMDgwMDgzMDAyNjAwMEVDCis6MTA4QTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBFMDE4MTAwQTBDMEVBCis6MTA4QTUwMDAwODgxMDI0NDAwODEwMDI4ODEwODMyMDJDQzAwQjMwMDYyCis6MTA4QTYwMDAyOEMwMEIzMDAyMEM4MEIxMDAyMEMwMDgzMDEyNDIwMTM3Cis6MTA4QTcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBDMjAxMzJDMDQ4Cis6MTA4QTgwMDAyRTgwMTYyQzA4RTkwMDNBNDAwQzgwMDNFQzAwRjcwMDE5Cis6MTA4QTkwMDAyRkMwMEZGMDBCMkMwMEQ5MDAzMDQwMENGMDAzNjAwMzA2Cis6MTA4QUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwREY4MDhGRjAwM0ZDMENCCis6MTA4QUIwMDAwRkMyMTdGQzAwRjcwMDM3MDAwRjg0MDNGQzAwRkYwMDEzCis6MTA4QUMwMDAzRkMwMEZGMDAzRUQwMEZEMDAzRjQwMEZGMDAzRTgwNjRDCis6MTA4QUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBDRjMwMTc0ODA3Cis6MTA4QUUwMDAwQzU5MDNCOTAwREYyODM1MjQwRDgyQTM3QzgwRkYwMEQ4Cis6MTA4QUYwMDAzRkM4MEZGMjAzRTRBMEVGODAzRkUxOENEODQzMzAwMDgxCis6MTA4QjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVENDg4OTM0QTM3MDYwCis6MTA4QjEwMDAyOEIwMjM2MDAwOEJDMDIyNDAwOEI0ODIyRjQwQkZEMTEwCis6MTA4QjIwMDA2RkY0OEVCRDAyRTcwMEJCODAzQUUwMDg5ODBBMjgwNDgzCis6MTA4QjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0QjA5MTAwQTg1MDdCCis6MTA4QjQwMDAwOEIyMDJDODg0OTMwMDI0NDkwQjAyMDI0QzAwQjMwNDBCCis6MTA4QjUwMDAyQ0MwMEIzMDQyODQwMEIzMDAyRTAwMEFCMDEyMjIwMTU4Cis6MTA4QjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUFDMDI5OTE4MkE0NEY3Cis6MTA4QjcwMDAwOEI4ODJBMjAxQkIwMDI4NjAwQUEwMTI2QzAwQkIwMEVBCis6MTA4QjgwMDA2RUMwMEFCMDAyRTQwMEJCMDAyQTAwMkFCMDAyMzgwNDFBCis6MTA4QjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUU0MDhEQUMwM0E2MDA0Cis6MTA4QkEwMDAwQzE4MEFFQjA0REIwMDM2RTAwNzg1ODM2QzAwRkIwMDQxCis6MTA4QkIwMDAyRUMwMEZCMDQzRTQwMEVCMDAzRTg4MEUxODAzMTAwNEYzCis6MTA4QkMwMDA3MDAwMDAwMDAwMDAwMDAwRTA0MTlDMTBFOTAwMzc2MEU4Cis6MTA4QkQwMDA4N0YwMTc3MDAwQ0YwMTM3QzA0Qzk4MDNCQzAwRkIwMDMyCis6MTA4QkUwMDAzRkMyMEZGMDAzRTQwMEZGNDAzRkU0MEREOTAzRjAwMDYzCis6MTA4QkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBGNDAwMzA0MEJECis6MTA4QzAwMDAwRkI0MDM5OTAwRkIwMDNFQzAwRDA0MjMyQzA4RkI4ODIxCis6MTA4QzEwMDAzMkMwMEZCMDAzRTYwMERCMTAzRTAyMEZCMDgzRDAwNDc5Cis6MTA4QzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCOTUwQTI0ODM4Cis6MTA4QzMwMDA4QkIwMDMyMDAwRDc4MDJFRDgwMDgwMDIzQzAwQkY4MDdDCis6MTA4QzQwMDAyM0U4OEJGMDAyRjQ0MDhCNDAwQzQyMDNCNjAyRjIwMEEyCis6MTA4QzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMjQ0MDBDOEU1Cis6MTA4QzYwMDAwQjMwMTI4QzAwQTM4MDI0QzgwQjAwMEFDQzAwQjM0NDQ0Cis6MTA4QzcwMDAwNEMwMUIzNjAyQzUwMTgzMEMyQ0EwMEIzMDAyRjgwMDg3Cis6MTA4QzgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDhCNzkwMjE2NDgxCis6MTA4QzkwMDAwQkY4MDI0QTA0OTc4MTJGRTQwQTc4MDI5RTAwQjc4MEZECis6MTA4Q0EwMDAyMUUwOEI3ODgyRDY4Njg3ODQyREEwMEI3ODAyQzAwMEM1Cis6MTA4Q0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA0MDBGMjAwMzBDMDNFCis6MTA4Q0MwMDAwRjMwMDM4QzAwRTMwQTNDQzAwRjE4MDM4QzAwRjMwMjQyCis6MTA4Q0QwMDAzMEMwMUYzMDAxQzY4MEMzMDAzQ0MwMEYxMjAzREEwMjRGCis6MTA4Q0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAwREJDMDBGRjAwM0Y0MUZDCis6MTA4Q0YwMDAwRkYwMDNCODA4RkYwODNGQzAwREYwMDMzQzIwRkYwODQ5Cis6MTA4RDAwMDAzQkQyMEZGMDAzRjQ0MEVGMDAzRkM0MEZEMDAzRDAwNjc2Cis6MTA4RDEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBGRTAwMzJDMjcwCis6MTA4RDIwMDAwQzMwMEIyNjAwRkI4MDM2QzAwREEwMDNFQzAwRkJFMEVFCis6MTA4RDMwMDAzMkQwMEZCODQzNjQ0NERCMDQzRTgwMEZCMDAzRTIwMDNFCis6MTA4RDQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzAwQTFDMEE2Cis6MTA4RDUwMDA4ODcwMDMxMDAwQjcyMDIxQzAwODcwMDJEQzgwQjMzMDk3Cis6MTA4RDYwMDAzMUM4MEI3NDAyMTQwMDg3NDAyREMwNEI3MDAyRDIwMDMyCis6MTA4RDcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDk2MjBCNjgwMjBFMEU3Cis6MTA4RDgwMDAyOEY4MDI5NDEwQjc4MTI3RTIwOTc4MDJERTAwQjdBMDI0Cis6MTA4RDkwMDBBOUU4MEIzODAyNzYwMDg3ODAyREEwMEI1ODAyRjAwMDVFCis6MTA4REEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENFMTBCMzAwMjBDNEQyCis6MTA4REIwMDAwODIwMDI4MDEwQjMwMDIyQzgwOEIwMDJDQzExQjMwMjEwCis6MTA4REMwMDAyOEMwMEIzMDAyMDQwMDkzODAyQ0QyMEIxMDAyRDIwNDc2Cis6MTA4REQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGRTQwMzJBMEFFCis6MTA4REUwMDAwQ0U0MDM5ODgwRkEwMDM3QTAwREUwODNFODAwRkUwMDUxCis6MTA4REYwMDAzQTgwMEJBMDAzNjgwMEQ4QTAzRjkwMEZBMDAzRkEwNEFDCis6MTA4RTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDhGODA4M0UwMDk0Cis6MTA4RTEwMDAwRjgwMDMyMDAwRjg0MDNFMDAwRjgwMDNFMDAwRjgwNEJDCis6MTA4RTIwMDAzMDEwMEY4MDAzRTAwMkU4MDAzRTAwMEY4MDAzRDIwMDA0Cis6MTA4RTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGMTAwMzI0MEEzCis6MTA4RTQwMDAwRTkwODNBNDAwQzk4MDNFNDAwRTkwMDNBNDAwRjkwMDU4Cis6MTA4RTUwMDAzRTQwMEM5MDAzRTQwMEM4MDAzRTQwOEY5MDAzMDIwNEEzCis6MTA4RTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQwQTA2MkVGCis6MTA4RTcwMDAwODEwMDIyNDEwODkwMDJFNDAwODkwMDIyNDAwQjkwMDM2Cis6MTA4RTgwMDAyRTUyMDg5NDAyQzQwMDg5NDAyRTQwMEIxMDAzNjAxMDNCCis6MTA4RTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTE4MjI0NDRBCis6MTA4RUEwMDAwQTkwMDJBQzAwODkxMDJFQzAwQTkwMDJBNDAwQjk4MDdBCis6MTA4RUIwMDAyRTYwMDg5ODAyRTYwMjg5MDgyRTQwMEI5MDAyMDYwMEY4Cis6MTA4RUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODBCMTIwQTA0ODE5Cis6MTA4RUQwMDAwODkwMDIyNDA4ODEyMzJDNTAwODEwMDIwNDgwQjEyMDNECis6MTA4RUUwMDAyQzQ4MjgxMjAyRTQ4MDgxMjAyQzQwMEI5ODAyNDIwNTc1Cis6MTA4RUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwMzIwMDkyCis6MTA4RjAwMDAwRTg1MDNBMUUwQ0EwMDNFMDAwRTg1MDNBMDAwRjgwMDE0Cis6MTA4RjEwMDAyRTAwOUNBMDAzRTAwMEM4MjgzRTAwMEY4MDAzMkUwMTE1Cis6MTA4RjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGNTEwM0Y0NDgwCis6MTA4RjMwMDAwRkQwMDNGNDAwRjExMDNENDA4RkQ0MDNFNDUwRjkxMDNBCis6MTA4RjQwMDAzRTQ1MEY5MTAzRDQ0MEZDMDAzRkMwOEZEMDIzRTYwNDgwCis6MTA4RjUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjBDREE4MzM0MDk2Cis6MTA4RjYwMDA4REQwMDMyNjgwQ0QwMDNENTAwQzlBMDM2NDAwRjlBMEZCCis6MTA4RjcwMDA3QTZBMEY5QTYzRTY4MEM5ODAzRTQwMEY5MDAzMDYwMDJDCis6MTA4RjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDA4OEUwMzYwMEFBCis6MTA4RjkwMDAwODgwMEEyMTQyQzgwMDJFMjkwQ0E0NDIyMDAwQjg0MEIzCis6MTA4RkEwMDAyRTAwMEI4MTAyRTEwMDg4MDIzQTAxMEJDMDAyMEUwNDgwCis6MTA4RkIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDI4MTA4MjQ0MEMxCis6MTA4RkMwMDAwOTEwMDIwNDAwOTEwMDJDNDA0QjE0MDI0NDAwQjUxMDFCCis6MTA4RkQwMDAyOTQwMEI1MDAyRjUwMEI1MDAyRDQwMEJEMDAyMDIwMUQ0Cis6MTA4RkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE2MDE4OTAwMjY0MDUyCis6MTA4RkYwMDAwODk0MDIyNDAxODkwMDJFNDAxQTkwMDI2QzAwQkYwMkRFCis6MTA5MDAwMDAyRjQwMEJEMDAyRjQwMkJEODAyQjQwOEJEODNBMDYwNENGCis6MTA5MDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTA1MzY0MTEyCis6MTA5MDIwMDAwRDFDMDMyNDAwRDkwMDNFNDIyRjk0MDM2NDAwRjkwMDc0Cis6MTA5MDMwMDAzQTQwMEY5MDAzQzQwMEY5MDAzRTcwMEYxMDAzMjgwNDVCCis6MTA5MDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0MDhGOTI0M0U0MDYwCis6MTA5MDUwMDAwRjkxMDNFNDAwRjkwMDNFNDEwRDEwMDNBNDAwRjkwMDU0Cis6MTA5MDYwMDAzRTQwMEY5MDAzRTQwMEM5MDAzRTY0MEY5MDAzQ0EwMDI1Cis6MTA5MDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDhDODgwMzIwMjM0Cis6MTA5MDgwMDAwRjgwMDMwMDAwQzgwODNBMTBDRTg0MDNFMDAwRkMwMDAzCis6MTA5MDkwMDAzRjAwOEZDMDAzRjA4MEZDMDAzRjE4MEZDMDQzQ0EwNDlDCis6MTA5MEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTAwQTE4MDlDCis6MTA5MEIwMDAwQkUwMDIyODAwREVDMjIzOTAwMEEwMDJFODAwQkEwMDA0Cis6MTA5MEMwMDAyRTgwMEJBMDAyRTgwMEZBMDAyRTgwMEJBMDAyQ0EwMDNFCis6MTA5MEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5OTgxNjBDMDlECis6MTA5MEUwMDAwQjEwMDIwQzAwOTAxMDJBRkMwQjMwMDJDQzAwQjMwMEQ1Cis6MTA5MEYwMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyQ0EwMEQ1Cis6MTA5MTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDODI5NTQwMjFDMDFBCis6MTA5MTEwMDAwQjUwMDIxQzgwOTA4MDIzMDEwOTcyMTJEQzAwQjYwMDAzCis6MTA5MTIwMDAyRDAwMEI0MDAyRDAwMEI0MDkyRDAwNEI0MDgyRTgwMDE2Cis6MTA5MTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFODBERDgwQjFFMDkzCis6MTA5MTQwMDAwRkRBMDMwRjgwRDQ4MDM5RTAwQjdBMDNERTAwRjU4MDVDCis6MTA5MTUwMDAzRDIwMEY0ODAzRDYxMEY2ODEzREUwOEY2ODAzRUEwMkY4Cis6MTA5MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBFRDAwM0UwMDAzCis6MTA5MTcwMDAwRjkxMEJFQzEwRjgwMDNFMDAwRUIwMDNFQzAwRjgwMDZECis6MTA5MTgwMDAzRUMwNEZCMDAzRTgwMEU5MDEzRTAwMEY5MDAzQzIwNjY1Cis6MTA5MTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMjBCRjgxMzNBNDM1Cis6MTA5MUEwMDA4QzE5MDMzRTAwQ0Q4MDNGRTAwRkY4ODMzRTAwRUY4MDM2Cis6MTA5MUIwMDAzRkUwMEZGOTEzRkExMEZEODAzRkE0MEZEODAzQzAwMDYxCis6MTA5MUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRjIwMzFDMjA4Cis6MTA5MUQwMDAwODVBMDIzQzAyODcwMDJEOTQwQjcwMEExQzQwODYxMDJFCis6MTA5MUUwMDAyRDAwMEI0MDAyRDQwMEY2MDAyRDQwNEI2MDAyRUEwNDMzCis6MTA5MUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAxMjM4MDE4Cis6MTA5MjAwMDAyODUwMDIxQzAwODQwMDJEQzAwQjMwMDIxQzAwQjUwMDQ5Cis6MTA5MjEwMDAyRDAwMEI0MDA2RDA0MEI0MDgyRDgwMEI0ODAyQzAwMDQyCis6MTA5MjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCMzA4QTAyMEEzCis6MTA5MjMwMDAwODExOEEwRTAwODAwMDJDOTAwQjM3MDIwQzAwOTAwMDYxCis6MTA5MjQwMDAyQ0MwMEIzMDQyQ0MwNEEzODAyQzUwMEIzMDAyQzgwNDNECis6MTA5MjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGOTgwMzI2MDVBCis6MTA5MjYwMDAwQ0Q0MDMzQzgwODgwMDNFRDAwRkY4MDMyODAwRkEwMDlECis6MTA5MjcwMDAzRUMwMEZCMDA3RUMwMUJCODAzRTU0MEZCMDA2RUEwNEJECis6MTA5MjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVFMDhGOTgwM0FDMDk1Cis6MTA5MjkwMDAwRjkwMDNFQzAwRjg0MDNFNTgwRkIwNDNFOTAwRUI0NDU4Cis6MTA5MkEwMDAzRTAwMEY4MDAzRTAwREY4MDAzRTgwMEY4MDAzRTAwMEQ5Cis6MTA5MkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDRjAwMzM0MDRGCis6MTA5MkMwMDAwQ0QwMDMzQzMwQ0MwMDNCQzAyREYwMDNEODAyQ0MwMEM2Cis6MTA5MkQwMDAzRDAwMENDMDAzRjQwMEVFMDIzNzQwMENFMDAzQzA0NDM0Cis6MTA5MkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMTg4Mzg0MjAwMDFFCis6MTA5MkYwMDA0QTEwMDIwQzAwQTg0ODJFNjAwOEIwMDJFOTAwODk0MDFDCis6MTA5MzAwMDAyRUMwMDhCMDAyRTgxMEIxMDEyMDgwMEE5MDAzQTA0MEVFCis6MTA5MzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjgyMjIwODU1Cis6MTA5MzIwMDAwODkwMDIyQzE0ODgwNDJDMDgwOEIwMTJFODAwOEEwMDY3Cis6MTA5MzMwMDAyRUMwMEFCMDAyRTgwMUI5MDAyNjA0MDg5MDAyRTAwMDNECis6MTA5MzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzgwQTJDMDYwCis6MTA5MzUwMDAwQTkyMDIyQzAwQTIwMDJDMDAwODM0MDJDODAwODMwMEVDCis6MTA5MzYwMDAyQzAwMjgwMDAyQzQwMUJBMDAyMkMwMDIyMDA2QzIwMTVCCis6MTA5MzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQTAwQjIwMEY4Cis6MTA5MzgwMDAwQzkyMEIyQzA0QzgwNDNBMDAwQ0I0MDNFODAwQzgwMDhCCis6MTA5MzkwMDAyRTAwMEM4MDMzRTE0MEU4MDAzNjAwMEM4MDAzQzAwMzRGCis6MTA5M0EwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0QwMDc4Cis6MTA5M0IwMDAwRkQxMEJGQzAxRkMwMDNGMDAwRkYwMDNEODAwRkQwMEIzCis6MTA5M0MwMDAzRkMwMEZGMDAzRkM4MEZGMDAzRkMwMEZGMDA3QTgwNjZFCis6MTA5M0QwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUYzMDBDRjgwMzU2MDcxCis6MTA5M0UwMDA0RTY4NDM1QzAwRTc4MDM5QzAwQ0MxMDM3RTAwQ0YzNDc3Cis6MTA5M0YwMDAzNUUxNERGMjAzN0MwMERGMzgzRkM4MEZGODAzRjAwMDgxCis6MTA5NDAwMDA3MDAwMDAwMDAwMDAwMDAwQzAxOEM4MDBEQjg0MjI2MDZCCis6MTA5NDEwMDAwOEFDMEEyQzAwOEI4MDIyMzAwODkxMjIyQzkwMjc2MTA2Cis6MTA5NDIwMDAyMkNBODhGQzIyQkYwMDhCNjIyRkQwMDlCODAzQjAwNDg3Cis6MTA5NDMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUUyODBBOTAyMjQ0MEJFCis6MTA5NDQwMDA4MjM0NDIwNDAwQTkwMDI4QzU0ODMyMDI0QzIwODMzMEVGCis6MTA5NDUwMDAyMEMwMDgzMTAyMEQwMEIzMjAyQ0M0MEIzMDAyRjIwMUYxCis6MTA5NDYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUFBMDJCOTA0MjI2MERDCis6MTA5NDcwMDAyOEIyMDIyNjAwODk4ODAyQzAwODMxMTJFQzAwOEIwMDU1Cis6MTA5NDgwMDAyQUQwMDhCMDAyQUMwMDJCMDAyRUMwMEJCMDAyQjAwNEYyCis6MTA5NDkwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNUUyMDBFMzAwMzYyMDhDCis6MTA5NEEwMDAwRUE0NjM2RTAwRTFDMDFBQzEwQzgwMDM2ODcwQ0IwMDhCCis6MTA5NEIwMDAzNjgwMERCMDAzNEMwMEZCMDQzRUMxMEZCMDAzRDAwNDU2Cis6MTA5NEMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDRERjAwM0YwMDcxCis6MTA5NEQwMDAwRkU4MDNGQzAwRkQwMDNGMDAyQjk4MDMzQTAwNzcwMEUzCis6MTA5NEUwMDAyN0U0MEZGMDAzRkMwMERGMDAzRUMwMERGMDQzRjgwMDVFCis6MTA5NEYwMDA2MDAwMDAwMDAwMDAwMDAwNTAwMEE0NjhDQjIwM0E5MEZCCis6MTA5NTAwMDAwRjI0QTNBQzAwRTk1MDNBQzAwRUI0ODMyQzA4RUIwMDQyCis6MTA5NTEwMDAzQTkwMEVCMDhCRUM4MEZCMDAzRUMwMEVCMDAzOTAwNDdFCis6MTA5NTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTBBMDA4QkEwMjA4MDdECis6MTA5NTMwMDAwREE4MDIyQzA0ODk0MDI4RTgwOEIyMDIyQzAwQUYwMEQ0Cis6MTA5NTQwMDAwMjgwMDg3QzAzM0Q4MDNGMDAyRkMwMDhCMDAyMzYwMDM3Cis6MTA5NTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ5MDAwMzQwMjhDMDcyCis6MTA5NTYwMDAyQjI4NEEyODAwQTEwMDY4RDIwQTIwNDJBNDAxQTMwMEE3Cis6MTA5NTcwMDAwMjQwMEEzNDAyMEQwMDMzMDAyQ0MwMEEzMDAwQjgwMDRCCis6MTA5NTgwMDA1MDAwMDAwMDAwMDAwMDAwQjgwMTFBMDA4NzkwMjFFNDlDCis6MTA5NTkwMDAyQkM4MTIzQTAwODVDMDJCMjEyODY4MDJCNjAwQTc4NDg4Cis6MTA5NUEwMDAyMzYwMDgzODgwMUUwMEI3ODAyREUwMDg3ODAyMkUwMDY2Cis6MTA5NUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBDMTAwMzg1NEM2Cis6MTA5NUMwMDAwRjI2ODM4MDAwRTAzNDI4QzgwRTJDMEI4QzAwRTMwMEFCCis6MTA5NUQwMDA3ODQ1MEUzMDAzOEU4MEYzMDAzQ0M4MEUzMDAzOTIwMkIzCis6MTA5NUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI4MDBGNTAyM0Y0NEVDCis6MTA5NUYwMDAwRDkwMDNGODAwQkQxNDFGQzAwRkUxMjM1QzQ0OUY0MjhGCis6MTA5NjAwMDAzRkMwMEZGNDgyN0Q0MEZGMTAzRkMwNEY3MDA3RDAwNjZGCis6MTA5NjEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDJDQjAwMzhDMDkwCis6MTA5NjIwMDAzQ0EwMDNFQzAwRTkwMDNFQzAwQ0IwMDMyMDA0RkIyMTg5Cis6MTA5NjMwMDAzRTgwNEZCNDAzQ0YwMENCMDAzRUNDNEZCMDQzRUEwMDk2Cis6MTA5NjQwMDA3MDAwMDAwMDAwMDAwMDAwQzg5MTk4MDA4NzAwMjFDMDUxCis6MTA5NjUwMDAwODQwMDJEQzA0QjUwMDJEMDAyRDcwMDIxQzFDQjcwMjZFCis6MTA5NjYwMDAyREMwMEI3MjAyREMwMDg3NDAyRENBOEI3MDAyRjIwNDAxCis6MTA5NjcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEJBMDA4Nzg4MkJFMDM2Cis6MTA5NjgwMDAxODc4MjJENjExQTQ4MjJGRTAwODc4MDIxMjAwQjc5NDJECis6MTA5NjkwMDA2RDYwNEI3QTAyREU0MEI3QTAyREUwMEI3ODA2RTAwMDRCCis6MTA5NkEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEM5MTI4MzgyMjhENDYyCis6MTA5NkIwMDA5ODAwMDZFRjA1QjE5MDJDQzEwOUI0MDIwQzA0QjMwMTY3Cis6MTA5NkMwMDA2Q0YwMEIzMDAyQ0MwMEJCMDAyRUMwMEIzMDAyRDIwNDc5Cis6MTA5NkQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4NDBDQTgwM0JBMDQwCis6MTA5NkUwMDA0Q0U1MDJGODgwRUUwMDNEODAyQ0UwMEYzODgwRkEwMDU3Cis6MTA5NkYwMDAzRkE5MEZBMDAzRTgwMEJBMDIzRTgwOEJBMDAzRkEwNDQyCis6MTA5NzAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTBGODAwMjYwMkExCis6MTA5NzEwMDAwRjg0MDNFMDI0RjgwMDNFMDA0RjgwQTNFMDMwRjgwMEZGCis6MTA5NzIwMDAzNjAyMEY4MDIzRTAwNDA4MDAzRTAwMEY4MDAzRDIwMEMxCis6MTA5NzMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBEOTAwQjY0MTJECis6MTA5NzQwMDA0RTk5MEJBNDAwNjkxMDNFNDAwQzkwMDNBNDEwQzkwMDcwCis6MTA5NzUwMDAzRTQwMEQ5MjAzRTYwMEY5MDAzQTQwMEU5MDAzQzIwNDI5Cis6MTA5NzYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4MTAwMjA0MkZFCis6MTA5NzcwMDAwODE0OUEyNDAwODkwMDZFNTAwMDkwMDIyNDEwRDkwMjI3Cis6MTA5NzgwMDA2RTQwMEI5NDAzQTcwMEI5MDAyMjQwMDg5MDAzRTAwMDRDCis6MTA5NzkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTA2MDA5OTAwQTY0MTE2Cis6MTA5N0EwMDAwQTkwMDYyQzAwQTkwOTZFNTAwODkxMDI4NDA0ODkwMEQxCis6MTA5N0IwMDAwRTQwMEI5NDAyRTU0OUI5MDAwQTQwMEE5MDAyQzYwMDI3Cis6MTA5N0MwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA2MDA4MTAwMjI0MDY0Cis6MTA5N0QwMDAwODEyMjIwNDgxQTEwMDJDNDAwODE2MDIwNDAwOTEyMEU2Cis6MTA5N0UwMDAyQzQwMEIxMjQyODQ4OUIxMjAyMDQ4MDgxMDAyQzIwMThCCis6MTA5N0YwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODAwMzYwMEY1Cis6MTA5ODAwMDAwQTgwMDNBMTQwRTgwMDJFMDAwQzAwMjNBMTQwQzg1MEFDCis6MTA5ODEwMDAyRTE0MEQ4MDAzRTAwMEY4NTAzQTAwMEU4MDAzRUUwMzkyCis6MTA5ODIwMDA1MDAwMDAwMDAwMDAwMDAwODgxREQ0MDBGNTAwQkY0MDdCCis6MTA5ODMwMDAwRkQxMDNGNDQ0REQwMjNENTAyQkQxMjNGNDAwRjkxMDg1Cis6MTA5ODQwMDAzRjQwMEQ5MTAzQTQ0OEY5MTIzRTRFMUY5MDAzQTYwMjFCCis6MTA5ODUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUY0MDBDNTA0M0I0MDMzCis6MTA5ODYwMDAwRkQ4MDNBNzgwRkQwMEIzNjgwREQ4NDNBNTEwQzlBMDg5Cis6MTA5ODcwMDAzMjUxNEY1QTQzMzYwMEM5QTA3QTY4MEJEMDAzQzYwMTUzCis6MTA5ODgwMDA3MDAwMDAwMDAwMDAwMDAwNzgxOENBODg4ODAyMDIwMEZBCis6MTA5ODkwMDA4RDg0MjIyMzQyRjgwMDIyMDQyODhBQTJBQTk0ODhFOTBGCis6MTA5OEEwMDAyMEE4MEE4MDBBMjE0MDgwRTIyRTI4MEI4MDAyQ0UwNEU0Cis6MTA5OEIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0MjBBMTA0QThDMDNBCis6MTA5OEMwMDAwQjFDMkEyNDAwMzkwNDIwNDAyQTFFMDJFNDgwQjExMDE3Cis6MTA5OEQwMDAyQTQ4MDkxNDQ2MDQwMDgxMzgyQzVCMEIxMDAyRDIwMDgwCis6MTA5OEUwMDAzMDAwMDAwMDAwMDAwMDAwMTgwNUE0MTJBOTI0MjI0MDQ2Cis6MTA5OEYwMDAyOTkwMDIyNDAwMzkwMDAyNTgwODE4MTBFNjAxQjkwMDI2Cis6MTA5OTAwMDBBQTQ0MDg5MDAyMjQwMDg5MDAwRTQxMEI5MDAyQzYwNDZDCis6MTA5OTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU0MDBFMTAxMkE2NEVFCis6MTA5OTIwMDAyRjk0MTMyNDAyNzE2MDEyNjA0RDkwMDBDNTAyRjkwMDVCCis6MTA5OTMwMDAzQTQwMEY5MDIzMjQwMkM5MDIzQTQwMEY5MDAyRTgwNEYzCis6MTA5OTQwMDA1MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDBEOTAwM0U2MDQzCis6MTA5OTUwMDBBRjkwODM2NDg4RjkyMDNFNjIwMzkwODNBNDAwQzkwMDFECis6MTA5OTYwMDAzNjYwMEYxMDAzQzQwMEY5MDA3RTQwMEY5MDAzREEwMDQ4Cis6MTA5OTcwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEExMDBDODgyMzIwMDQyCis6MTA5OTgwMDA2RjAwMDNBMDAwRDg0MDMwMDAwRTgwMDM2MDA0RjgwMThGCis6MTA5OTkwMDAzRTEwNEY4MDhCMjIwMEY4MDAzMjAxMEU4MDAzQ0EwNDczCis6MTA5OUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwMTM4MDAwRTAwQTk5MEVGCis6MTA5OUIwMDAyRkU2MjA4ODAwOUU4MDIzODAwQUU4MDMyODAwQkEwMDUyCis6MTA5OUMwMDAxODgwMERFQzAyMzg4MEJBMDBBMjgwMDhBMDAzOEEwMDNCCis6MTA5OUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDI4MzgwMjBDOEMxCis6MTA5OUUwMDAwQjIwMDIwQzAxOTIxMDY4QzAzQTNDMDJDQzEwM0IwMkUyCis6MTA5OUYwMDAwQ0MwMjgzQzAyNEUwMEIzMDAyOEMwMjgzMDAyQ0EwMDI4Cis6MTA5QTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDA4NzQyMkJDMDlECis6MTA5QTEwMDAyOTcwMjI5QzAwQjYwMDJCQzIwQTYwODYxQzAwQjcyMTY4Cis6MTA5QTIwMDAyOUMwMDA3NDAyNUMwMDM3OTEwMUUwMDg3NDAyQTgwMEFDCis6MTA5QTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBDNzgwMjFFMEQwCis6MTA5QTQwMDAyRjc4MDI5RTAwOTY4MDM5RTAyRUY4MDNERTMwRjdEMEEyCis6MTA5QTUwMDAyREYyMDA3ODAzNTIwMEY3QTIzQkUwMEU3ODA3RUEwMkVECis6MTA5QTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREI0MDBGQjAwMENDMDU2Cis6MTA5QTcwMDAwRjMwMDNFQzEwRDMwMEI0QzAyRjgwMDM2QzQ4RkIwMDAwCis6MTA5QTgwMDAzRUM4NEQ5MDAzQTQwMEZCMjAxRUMwMEZCMDAzQzIwNkM5Cis6MTA5QTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDQzgwMkIyQ0MwCis6MTA5QUEwMDAyRkY4MDM3RTAwNkU4MDNCQTEwREQ4NDMzRTAwRkY5MDRGCis6MTA5QUIwMDAzM0UwMEZFOTMzRkUwMENGQzAzRkUyMEZEODAzQzAwMDEwCis6MTA5QUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMUI0NDA4NzAwMjEwNENECis6MTA5QUQwMDAwODc4MDIxQzAwODYwMDIxQzAyODkwMDJEQzAwQjcxMDI0Cis6MTA5QUUwMDAyMUMwMEY3MzAyQ0MwMDg3MDAyREMwMEI1MDAyRUEwMDhBCis6MTA5QUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlEMDBBNDAwMjk0ODU0Cis6MTA5QjAwMDA2QUYwODI0QzAwQUUwMEExQzQyOTc0MDI1QzQwQTMxMDJDCis6MTA5QjEwMDA2MUMyMEI2MDA2QzgwMDg3MDAyREMwMEI1MDAyQzAwNDU0Cis6MTA5QjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEU2MDFBMzAyMjA0MEY1Cis6MTA5QjMwMDAyODNDMDIwQzAwODM0MjIwQzgwODEwMDJDRDAwQjMwMDZDCis6MTA5QjQwMDAyOEYwMEIzMDAyQ0MwMTgzMDQyQ0MwODMxMDAyQzgwNDFGCis6MTA5QjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFBODBFQjAwMzhDMDBCCis6MTA5QjYwMDAwQTkwMDM3QzIyQTI0MDMyNDgwREIwMEIzRTAwRkYwMDU5Cis6MTA5QjcwMDAzM0Y0MEY5MDAzRUMwMDhGMDIzRkMwMEY5MDAzRUEwNDEwCis6MTA5QjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEUwMDBEOTAyM0VDMDNDCis6MTA5QjkwMDAwRUI2MDNFQzAwRkEyMDNFQzA0RjI0MjNBQzYwRkIwMDVECis6MTA5QkEwMDBBNkMwMEU5MDAzRTQwMEZCMDAzQ0MxMEY5MDAzRTAwMDUwCis6MTA5QkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY4MDJDRjAwMzNFMDg4Cis6MTA5QkMwMDAyQ0YwMTNCQzAwMkUxMEIxNjQyRUYwMDIzQzAwRkYwMkZBCis6MTA5QkQwMDAzRkMxNERFQzYzRkUwMEI3MDAzQkMwMENEODAzQzA0NDRFCis6MTA5QkUwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMjg4MTgxMjJFMDI5Cis6MTA5QkYwMDAwQTM4MDIzQzA0QkFDOTMyRTAyMDg0MDIyQzAwQkIwMEJGCis6MTA5QzAwMDAyRUMwMEI5QzAyRTc4MUJCMDQyMkMwMEE5OTAyRTAwMDJGCis6MTA5QzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI4NDA4ODgwMjI4ODk1Cis6MTA5QzIwMDAyOEJDNDJBQzAwQkEwMDJBODAwODg0MDJBQzAwQkIwMDA5Cis6MTA5QzMwMDAyRUMwMEJCMDgyRTg5MEFCMDA2MkMwMDhCMDEyRTAwMDBBCis6MTA5QzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4OTAwMkE4MDk1Cis6MTA5QzUwMDAyOEIyMDIwQzAwQkEwMDIwQzAwODAwMDI4QzAwQjMwMDM5Cis6MTA5QzYwMDAyQ0MwMEIzMDIwNEMxNEIzMDAyMEMwMDgzMDAyQzIwMUJECis6MTA5QzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY4MDBDODAwQjJDMDM1Cis6MTA5QzgwMDAyQ0IyMDNBQzAwRkEwMDNBQzA0RUE1MDNCQzAwRkYwMEEyCis6MTA5QzkwMDAzRkMwMDlBMDAzRTkwNEVGMDBCQUMwMENCMDAxQzAwMTQ1Cis6MTA5Q0EwMDAxMDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGNTAwMzVDMDA1Cis6MTA5Q0IwMDBBRjM0MDNGQzAwRjQwMDM5QzAwRkMyMDM3QzAwRkYwMTg1Cis6MTA5Q0MwMDAzRkMwMEZGMDAzRkNBMEZGMDAzRkMwMEZGMDAzRTgwNTBBCis6MTA5Q0QwMDA2MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBGRjI5M0QyMERFCis6MTA5Q0UwMDA4RUMxMDMzMjQ4REM4MDIzMjUwRUYyMDMzQ0MwREY4NEEyCis6MTA5Q0YwMDAzM0M5MEZGMjAzRkMwMENGODAzMzQwMENGMjAzMzAwMDc1Cis6MTA5RDAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDQzBCQjYwMkUwODU2Cis6MTA5RDEwMDAwODgxMDIyMDA0ODgyMDIwNDgwOEYxODIyREMwODMwMDk5Cis6MTA5RDIwMDAyMkQ0MDlGNTAyRkMwODhCMDEyMjQwMjhCNDAyMjAwNDQ5Cis6MTA5RDMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMjBCMzA5MkM4MjEwCis6MTA5RDQwMDAwODEwMTZBMDEwOTAwODI4NDgwQTMyMDIwQzAwQkIwMDI4Cis6MTA5RDUwMDAyQ0MwMEIzMDAyQ0MwMjkzMDEyMDAwOEEzMTIyRTIwMTk4Cis6MTA5RDYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDRCQjAwMkM4MDk3Cis6MTA5RDcwMDAwODg2MDJBMDIwQTAwMDJBNjAwQUIwMTAyQzAwQUIwQ0JDCis6MTA5RDgwMDA2RUMwMDlCMDAyQ0MwMDlCMDAyMjYwMEFCMDAyRjAwNDUxCis6MTA5RDkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUVDMDBCQjAwM0UzNDM1Cis6MTA5REEwMDAwOEEwMEI4MzAwRDkwMjNBRTAyRUIwMEIyQzAwRjg4MEZCCis6MTA5REIwMDAzRUMwNEZCMDAzRUMwMENBNDBCMjcyMEVCMDBCQzAwNEZDCis6MTA5REMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMTBGQjAwM0YwMDNDCis6MTA5REQwMDAwREY4MTM3MDQ4REQ0MDM3QzI4REYwMDNEQzAwRERDODlDCis6MTA5REUwMDAxM0MwMEZGMDAzRkMwMEVFNDA3RjQwMEQ3MDAzMzgwMEZECis6MTA5REYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAxMzJDMDE5Cis6MTA5RTAwMDAwNDEwMDMyMDQwRTgxMDNBQzAwREIwMDNBQzA4Rjg0MDNECis6MTA5RTEwMDBCMkMwMkNCMDMzQTQ4MkRBNDBCQTQwMEZCMDAzRDAwNEYxCis6MTA5RTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDhCRjgwMjJDOEQ4Cis6MTA5RTMwMDAwOEI3MDAyMzQ0ODhEMDIyRDAwODcwODJGQzAwQjJFMDJBCis6MTA5RTQwMDAwM0Y0MDhGNTAyMzcwNDhCRDEyMjYwNEJGRDAyRjIwMEM3Cis6MTA5RTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMzEwQTQ0MEVBCis6MTA5RTYwMDAwODAwMDI0ODAwQTA0MjJBRDAwMTMwMDI4QzAwQjM4MEQyCis6MTA5RTcwMDAyQ0MwMDkzMTAyQ0MwMDg5MDAyMkU4MDMzODAyRjgwMDI2Cis6MTA5RTgwMDA1MDAwMDAwMDAwMDAwMDAwNjAwMTFFMDBCNzgwMjc2NDQxCis6MTA5RTkwMDA2ODRBMDI1MjAwOEM4MDIxRTAwODc4MDJERTAwQjc4MDE4Cis6MTA5RUEwMDAyREUyMTkzOTAyNUUzMDg1OTgyMUU0MEI3OTAyRDgwMDQxCis6MTA5RUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMzIwMzQwMEJGCis6MTA5RUMwMDAwQ0I4MDM0ODgwRTIyMjM4QzAwRDMwMDM4QzAwRjMwMDQ4Cis6MTA5RUQwMDAzRUMwMEQzMTAzRUMwMENCMDAzODA2MEYzMDgzRDIwMkI4Cis6MTA5RUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGRjAwM0IwMTFFCis6MTA5RUYwMDAwRkQwMDM5MDAwRjYwMDNGQzAwRkY0MDFGQzAwRkYwMUZCCis6MTA5RjAwMDAzM0MyMEVGNTEzQkMwMEVEMDAzRkM0MEZGMDAzRDAwNkMyCis6MTA5RjEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDBGQjAwM0NDMDUxCis6MTA5RjIwMDAwRUEwMDE2NDAxRDgwMDMyRTAyQ0I1MDMyQzAwRjIwMDMxCis6MTA5RjMwMDA3QUMwMERCNDAzMkQ4MEM5MDIzMkMwMENCMDAzMkEwMEQwCis6MTA5RjQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDODBCNzAwMkRDMDg4Cis6MTA5RjUwMDAwRDYwMDJEMDAxODQwMDIxQzAwODMwMDIxRDAwQjcwMDRFCis6MTA5RjYwMDAyMUM4MEJGNDAzMUVDMDg2MDAyMUMwMDg3QzAzNTIwNEU0Cis6MTA5RjcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFQzBCNzkwMkRFMDBGCis6MTA5RjgwMDAwODc4MDZENjAxQjQ4MjIxRTAwODc4MEExRTAwQjVDMDIwCis6MTA5RjkwMDAyOUU4MDk3ODAyMzZDMTk3ODAyOEIwMEE3QTAyMzAwMDkxCis6MTA5RkEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCQjAwMkNFMEEyCis6MTA5RkIwMDAwOTM1ODJDMEMxQTA1MTIwRTQwODMwMDI4QzAwQkJDNDI2Cis6MTA5RkMwMDAyMEMwMEIzMDAyMDYwMDkzMThBQUIwMkEzMDBBNTIwNEFGCis6MTA5RkQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGQTAxM0RBQ0M4Cis6MTA5RkUwMDA0Q0VDMTM3ODEwRjY4MEIzOTAwQ0EwMDMyODAwRkUwMDEwCis6MTA5RkYwMDAzQTgxMERBMDBGMkE4MERFMDQzQkEwMEVBMDAzM0EwNDk0Cis6MTBBMDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODAwM0UwMDkyCis6MTBBMDEwMDAwRDgwMDJFMTAwRDg0ODNFMTIwRjgwMTM2MDAwRjg2MDA2Cis6MTBBMDIwMDAzRTAwMDc4MDAzQTAwMkU4MDQyNjA4MDU4MDAzOTIwMDkyCis6MTBBMDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTA0M0E0MDdECis6MTBBMDQwMDAwQzEyMDMyNDgyQzkwMDM2NDQwRjEwMDMyNDAwRjkwMEM3Cis6MTBBMDUwMDAzNjQwMDQ5MDAzMDQwMEM5MDAxMjQwMEM5MDAzMDIwNDJGCis6MTBBMDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTgxMjI0MDNDCis6MTBBMDcwMDAwODkwMUEyNDAwODkwMDIyNjgwQjk5MDIyNDAwQjkwMDc0Cis6MTBBMDgwMDAyMjQwNjg5MDBBMjQwMDg5MDBBMjQwMDg5MDBBMjAwMDFCCis6MTBBMDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTEwMjJFMEE0Cis6MTBBMEEwMDAwODk0MDAwNDA0OEIwODI2QzAwQjkwMDIyNDA0QjkwQzA5Cis6MTBBMEIwMDAyNDQwMEExMDAyMjQwMDIzMDIyQTQwQTgxMDAyMDYwMEFECis6MTBBMEMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTBCMTIwMjI0MDdECis6MTBBMEQwMDAwODEyMDIwQzEwODEwMkEwNTAwQjEyMDIwNDgwQjEwNTdDCis6MTBBMEUwMDAwMDQ4MEExMDAyMDRBMEExMDAyODRBMDgxMjAwMDIwMTM4Cis6MTBBMEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwQkExNEU0Cis6MTBBMTAwMDAwQzg1MDMwMTQyQzg1MDM0MDAwRjg1MDMyMTQwRjgwMDNDCis6MTBBMTEwMDAzNjAwMEU4MDEzMjA4MEUwMDAxQTA4MEMwMDAzMkUwMzg2Cis6MTBBMTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDRGOTEwM0Y0MDdBCis6MTBBMTMwMDAyRkQxMTNGNDA0RjUwMDNGNDAwRjkxMEJFNDQwRkYyOEFBCis6MTBBMTQwMDBCRTRFMEQ5NjgzRDRBMkREMjgzNzRBMEY5MzgzRTYwNkQwCis6MTBBMTUwMDA3MDAwMDAwMDAwMDAwMDAwOTgwNUU0MTBDRDAwM0Y0MEIyCis6MTBBMTYwMDAwRkQwMDMzNTAyNUQwMTMxNDQwRkQwMDMyNDAwRjkwMDA0Cis6MTBBMTcwMDAzMjYwMEM5ODgzRTY0MEQ5MDAzNjZBMEM5RTgzMjYwMTMzCis6MTBBMTgwMDA2MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDA4ODAwMkUwMDkxCis6MTBBMTkwMDAwQjgwNDIwMjgwOEEwMDIyMjA4ODgwMDMyMDA4Qjg4MjM3Cis6MTBBMUEwMDAyMjIxMDg4ODgyRTI0Mjg4QTgyMjIwMDhDRTAyMEUwNERBCis6MTBBMUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDI4MTAwNjg0MDczCis6MTBBMUMwMDAwQjEwMDI4NDAxQjkwMDIwNDA0OTEwMEEwNDAwQjUwOEIwCis6MTBBMUQwMDAyMTQ2MDg1MDAyRDQwMDhEMjAyNTRBMEI1MDAyNDIwMTJFCis6MTBBMUUwMDAzMDAwMDAwMDAwMDAwMDAwMTgxMUE0MDA4OTA0NkU1NDIzCis6MTBBMUYwMDAwQjEwMTJBNDAxQTkwMEEyNDAxODkwMTYyNDAwQjkwMDY3Cis6MTBBMjAwMDAyMzQwMThEMDAyRjQwMDhENDAyMTRBMEJEMDAyNDYwNEFFCis6MTBBMjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTAwM0E1MEYyCis6MTBBMjIwMDA4Rjk2MEI4NDAyRjEwMTMwNDg4RDkwMDMyNDEwRjkwMEMxCis6MTBBMjMwMDBCMjQwMkM5MDAzRTY0MEQxQzAzNjUwMkY5MDBCNjgwNEZBCis6MTBBMjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0U2MDNBCis6MTBBMjUwMDAwRjk5QzM2NDAwRDkyODNFNDAwRDkwMDNBNDAwRjk0MDMzCis6MTBBMjYwMDAzRTQwMEY5MDAzRTQyMEY5NDAzRTQwMEM5MDAzOEEwMEVBCis6MTBBMjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODAxMzYwMDc3Cis6MTBBMjgwMDA4RjgwMDNFMDAyRjgwNDMyMDAwRDgwNDMyMDAyQ0MwMEVFCis6MTBBMjkwMDAzRjAwMEZDMDEzOTAwMkRDNDAzRjEwNENDMDIzMEEwNDYzCis6MTBBMkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCQTAwMjI4MERECis6MTBBMkIwMDAwQkU4MjBGODAwNEVDMDIzQTAwOEEwMDM2ODAwOEEwMDI1Cis6MTBBMkMwMDAyRTgwMUZBMDAyMkEwNjhBMDAyRUEwMDI2MDAzMEEwMDI4Cis6MTBBMkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDBCMzAwMjBDMDEyCis6MTBBMkUwMDAwQjNEMDJDMDAzMjMwMDIwRTAwMUIwMDY0QzAwOEIwMEIwCis6MTBBMkYwMDAyRUMwNEIzMDAyOEUwODgzODAyQ0M0MDAzNDhFNEEwMDVFCis6MTBBMzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDODBCNTgwNjFDMDZBCis6MTBBMzEwMDAwQjQwMDJENDAwODQwODIzQzIwODUwMDI1RUMwODQwMUFFCis6MTBBMzIwMDAyRDAwOEEwODAyMTAyNDg0MDg2RDAwMEEwMzEyMjgwMEY4Cis6MTBBMzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGNTgyMjE2MDE3Cis6MTBBMzQwMDAwRjc4MDNENjA0QUU4MDMxRTAwRDU4MjM3RTAwQzY4MDFFCis6MTBBMzUwMDAyREUwMEI3ODAzOEUwMEQ3ODIzREYwMEM3QTAzNkEwMjYxCis6MTBBMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGMTAwQkFEODk5Cis6MTBBMzcwMDAwRjgwMDNFNDEyRjgwMEJFODAwRTEwMDNFQzAwRjkwMDE5Cis6MTBBMzgwMDAzRTAwNUY4MDAzRTAwOEY4MDQzQzAwMEY4MDAzQzIwNjMzCis6MTBBMzkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMjBGRjgwM0ZGMDRDCis6MTBBM0EwMDAwRkY4MDNEMjAwRUY4NEIzNjEwQ0I5MDNGRTAwRkY4MDA1Cis6MTBBM0IwMDAzM0UwMENGODEzMjIxMUNEOTAzRjYwMENFODAzMTAwMDNECis6MTBBM0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBGNTAwMkRDMEU2Cis6MTBBM0QwMDAwQjAwMDJENDA0ODQyMDIzNDAwODVBMDJEQzAwQjQwMDlECis6MTBBM0UwMDAyMTAwMjhDMjAyMUUwNDg2MDQyRDg4MDhEMDAyMkEwNEY3Cis6MTBBM0YwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDlDMDBCNTAwMkQ0MDJGCis6MTBBNDAwMDAwQjcwMDJGNDIwQTcwNDIxQzAwQTUwMDJEQzAwQkUwMDM5Cis6MTBBNDEwMDAyMUMwMDg3MDEyMDAwMDg1MDAyRDQwODg2ODBBMDQwMEUxCis6MTBBNDIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENDMDBBMTAwMkVDMDNECis6MTBBNDMwMDAxQjA4MDZDNDIwODAwMDIwOTgxQTEwMDJDQzAwQjEwODI2Cis6MTBBNDQwMDAyMDAwMDgwMDAyMEMwMTgyQzAyQ0FDMjg5MDIyMTgwNEM1Cis6MTBBNDUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBCMzAwM0U0MDIyCis6MTBBNDYwMDAwRkJBMDNFNTAyRTkwNDMyOTBBRUIwMDNGQzEwRkI0MEUyCis6MTBBNDcwMDBCMjAwMEM4MDBCMkMwMjgyMTgzRkEwMENEMDAzMkUwNERCCis6MTBBNDgwMDA2MDAwMDAwMDAwMDAwMDAwOTAwMEVDMDRGQjAxM0U0MDcyCis6MTBBNDkwMDAwRkI2NDNFNDAwRjgwMDNFODAwMTkwMDNFQzAwRjg4MTIxCis6MTBBNEEwMDAzRUQwMERCNDUzRTAwMEY5NDAzRTQwMEZBMDAzRTAwMDYxCis6MTBBNEIwMDAzMDAwMDAwMDAwMDAwMDAwODAxMERDMDJDRDgwMzM2MDFFCis6MTBBNEMwMDAyQ0RBMDNGQzAwRUMwMDMzNDAwRkYyMDM3QzA0RkUwMEE2Cis6MTBBNEQwMDAzMjAwMENDODAzM0MwMENFMDAzMTgwMENEMTAzMjQwNEIwCis6MTBBNEUwMDAzMDAwMDAwMDAwMDAwMDAwOTEwNDZDMDAwOTAwMkE2NEE0Cis6MTBBNEYwMDAwODhFMDJDMjEwQTAxMDNFMTAwQjk4MDJFQzAwQjkwMEFBCis6MTBBNTAwMDAwMkQ4MDhCRTIyMjAwMDg5MDAyMjUwMDhBMDAyMjA0MDY0Cis6MTBBNTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDAwQjIwMjI0MEVECis6MTBBNTIwMDAwOEEwMDJFNTQyQUIwNDIyMTgwQkIwMDI2QzAwQjMwMDk1Cis6MTBBNTMwMDAyMDA0MDgwMTAyMDAwNEE4NDAyMjEwMDg4MDAyMjAwMDI0Cis6MTBBNTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDg4MzAwMjg0MEMwCis6MTBBNTUwMDAwODA0MDJDNDAyQTgwMDJDMDAwQjEyMDJDQzAwQjAwMEI4Cis6MTBBNTYwMDAyMEMwNDAzMDAyMEMwMDhCMDBBOEMwMDgzMDAyMDIxMTRECis6MTBBNTcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBDOTAwMzM0MEE2Cis6MTBBNTgwMDAwQ0IwMDNFQzAyRUIwMDMyNDAwRkIwMDM2QzAwRkEwMDk5Cis6MTBBNTkwMDAzMjAwMEM4MDAzMjA4MEM4MDAzMDAwMEM4MDAzMjAwM0IwCis6MTBBNUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGRDAwM0Y0MDJBCis6MTBBNUIwMDAwRkMyMTNGMDAwRjQwMDNGMDA0RkQ0MDNGQzAwRjUwMDdECis6MTBBNUMwMDAzRkMwOEZGMDAzRkM0MEZGMDAzN0MwMkZGMDAzRTgwNkM4Cis6MTBBNUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwMDBDQzAwMzMwMDU3Cis6MTBBNUUwMDAwRUQwMEIzMzAwQ0MwMDMzRTAwRkMwODM3QzAwQ0YyMEIzCis6MTBBNUYwMDA3QjA5OENGODAzRkU1MENGMzgzRkUxMERDMjAzRjAwMDE5Cis6MTBBNjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUyMDA5ODA4MjA4MDI4Cis6MTBBNjEwMDAwODk4MDIyMDAwODhEMDIyRTAwRUI0MjI3RDE5OUY2OTlDCis6MTBBNjIwMDAyRTkwMDgzMDkyMjg4MURCNjQyRUUxODgxNkEyRTAwNDg3Cis6MTBBNjMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM4MDA5MDI0MjAwMUMwCis6MTBBNjQwMDAwODEwMTYwMDgyODMwMTI4QzEwQjAyODIwQ0UwQTMxMEJGCis6MTBBNjUwMDAyODBFMUI5MjAyODQ4NDkzMjAyRUMwMDgzMTAyRTIwMTRFCis6MTBBNjYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MTA5ODAwMjI4MEIzCis6MTBBNjcwMDAwODkwMDIwMDYwOEExMDJBQzAwQTIwMDI2QzE4QkIwMEYxCis6MTBBNjgwMDA2RTYwMkI5MDAyNDYyMDhCMDAyRUMyMDhCMTgyRjAwNDJGCis6MTBBNjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUU0MDJDQjAwQjI0MDY2Cis6MTBBNkEwMDAyQzkyMDMyNzAwODgwMEJBQzAwRjg4MDMyQzAwRUIwNDBCCis6MTBBNkIwMDAzQUEwQ0YyQ0EzRUQwMDlCMDAzQ0YwMkQ4QzMzRDAwNEFFCis6MTBBNkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDRFRjAwM0ZDMDkzCis6MTBBNkQwMDAwRDUxMDNGMDAwRjE4MTM3QzAwRUY0MDM5QzEwQ0YwMDQwCis6MTBBNkUwMDAzRDgwMENFQzA3QjgwOEZGMDIxRkM0MEZDODAzRjgwMDM4Cis6MTBBNkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDlFMDBDMzAwMzg0MEQxCis6MTBBNzAwMDAwQzkyMDNBNDgwRkIyMDNBQzAwRDk0MDMyQzQwRkIwMDY0Cis6MTBBNzEwMDAzRTAxMEY4MDAzRTUwMEVCMDAzQUMwMEQ4NDBCMTAwNEVFCis6MTBBNzIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDg4QjAyMjJDMDk5Cis6MTBBNzMwMDAwODkyMDMyMTAwOEI0ODIyQzAwQkI3MDIzRDQwM0YwMTI1Cis6MTBBNzQwMDAyMjc0MEI5MDAyMjgwNEJGMDBCMkMwMEI4NTAyMzIwMEI1Cis6MTBBNzUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQwMDE4MDAwMjgwMEVCCis6MTBBNzYwMDAwODJDMTI4ODQwQjA0MDA4QzAwQjE4MDIwRTAwQjMwMDNECis6MTBBNzcwMDAyODIwMTEzMDAyMEMwMEIzMDAyNDAwMDkwMDA2MzgwMDI0Cis6MTBBNzgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTEyMDA4NDgwMjFBMDgxCis6MTBBNzkwMDAyODY4MTIzQTAwODQ4MDI1RTA4QjU4MDIxRTQwQjc4MjU4Cis6MTBBN0EwMDAyMUE2MEI3ODAyMUEwMEI3ODAyMTIwMEI1ODAyMDgwMDVFCis6MTBBN0IwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDBDODIxMzgwOUQ3Cis6MTBBN0MwMDAwQzI4MDM4MDAxRjEwMDM4QzAwRDg1MDIwQzAwRkIwMDRECis6MTBBN0QwMDAzODg1MEYxMDAzOEMwMEVCMTAzQ0M4MEQzMDAzMTIwMkJCCis6MTBBN0UwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDk4MDBGQzAxM0Y4MEI4Cis6MTBBN0YwMDAwRjY4MDNEMDQwRkMwMDNCQzAwREMwMDNGQzIwRkYwMEVECis6MTBBODAwMDAzQkM1MEZGMDBCQjQ0MEZGMTgzRjAwMEZGMTAzRDAwNjFCCis6MTBBODEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBFQjAwQjA0MTZCCis6MTBBODIwMDAwQ0EwMDNFMDA0Q0EwNEIwRTAwRUIwMDNFQzgwQ0IyMDFGCis6MTBBODMwMDAzMjgxMENBMDAzRUUwMERCMDAzRTAwMEVCMDAzMkEwMEM0Cis6MTBBODQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDQ4NzAwMjFDMDNGCis6MTBBODUwMDA0ODYwMDJGMDAwODcwMDIxQzAwODcwMDJGQ0EwODMyODM1Cis6MTBBODYwMDBBMzgwMDg2MDAyREMwMDg3MjAyREMwMEI3MDAyMTIwNDU4Cis6MTBBODcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlDMDJBMzgwMjE2MDc2Cis6MTBBODgwMDAwODY4MDJEMjAwODc4MDIxRTAyOTc4MDJERTgwODc5MDY0Cis6MTBBODkwMDAyMUEwMTk0ODAyRkUwMDk3ODAyREUwMEEzODgyMzAwMDdFCis6MTBBOEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDE4MzgwMjBDMDdDCis6MTBBOEIwMDAwODIwNDJDMDMwODM3MEEwQzA4OTM0MDJDQzAyODMwMERCCis6MTBBOEMwMDA2MEMwMjkwMDAyQ0UwMDgzMDAyQ0M4MEJCQzAyMTIwNDE5Cis6MTBBOEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE5MDBFQUUyMzI5MDE0Cis6MTBBOEUwMDAyQ0UwMDNGQjAyQ0VDMDMyODAwRkU0MDNFODAwOEEwMEI0Cis6MTBBOEYwMDAzMzg4MEQ2NEMzRkEwMERBMDAzRDkwMEVFMDBCM0EwNDkxCis6MTBBOTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMwMjRGODA4M0UxMjZCCis6MTBBOTEwMDAwRkMwMDNFMDQ4RjAwMDNFMDAwRTgwOTNDMDAwRjgwMDM2Cis6MTBBOTIwMDA3RTAxMEU4MEMyRTA0MEY4MDA3RTAwOEY4NDAzRDIwMERBCis6MTBBOTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU1MDBDMTAxMzI0OEFFCis6MTBBOTQwMDAwQzk4MDNFNjQwQzkwMDMyNDAwRjkwMDM2NjAwQzkwMDJFCis6MTBBOTUwMDAxODYxMEM5MDAzNjQyMEY5MDUzRTQwMEM5MDgzMDIwNEJBCis6MTBBOTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY2MjA4OTAwMjA1MkIyCis6MTBBOTcwMDAyODEwQzIyNjAyQTkwMDIyNDAwQjkwMEEyNzAwQTkwMDM1Cis6MTBBOTgwMDAyMjcwMDg5MDAyMjQwOEI5MDAyRTQwMEE5MDBBMjAwMDg0Cis6MTBBOTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDI4RDAwMjM0MDc0Cis6MTBBOUEwMDAwOEQxMDI4NDIwODkwMDIyNjAwQjExRjIyNEIwODEwMEJBCis6MTBBOUIwMDAyQTQ2MDg5MDQyNjQwOEI5MDAyRTQwMDg5MjAyMDYwMDE4Cis6MTBBOUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0ODA4NTIwMjM0ODk3Cis6MTBBOUQwMDAwODUyMDI4NDA4ODEwMDIwNDAwQjEyMDIwNDgwQTEyMDRBCis6MTBBOUUwMDAyODQ5Mjg5MDAyMDQwMDMxMjAyRTQwMDgzMjAyMDIwMTNBCis6MTBBOUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBDODUwQjIxNDU0Cis6MTBBQTAwMDAwQ0MwMDNBMTQwQzgwMEIyMDAwNzg1MDMyMTQwQzg1MDE0Cis6MTBBQTEwMDAzQTE1MEM4NTAzNjE0MEY4NTEzRTAwMkM4NTAzMkUwMzQ2Cis6MTBBQTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREM0NDhGOTEwM0U0NDhBCis6MTBBQTMwMDA0RjkxMDM3NDAwRjU0NDNFNDAwRkQxMDNFNDQwRjkxMEY4Cis6MTBBQTQwMDAzNzQ0MEZEMDAzRDQwMEY5MTAzRkMwMEZEMTAzRTYwNkZFCis6MTBBQTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUY2QTBERDhDMzM3OEFGCis6MTBBQTYwMDAwRURBMDMzNTAwQ0RBMDMzNDAwREY4MEIzNjgxRTk4MEI2Cis6MTBBQTcwMDAzMzcwMEM5MTAzRTQ0MEY5QzAzRUMwMEZEQzAzQzYwMDA0Cis6MTBBQTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDRCODQwMjAzQ0Q1Cis6MTBBQTkwMDAwQzg1MDIwMjg0OEE0MDIyMDAwODhGODIyMzAwQjhFOEQ1Cis6MTBBQUEwMDAyMjIwMDg4ODAyRTIwMEI4RDAyRTAwMEI4QzAyQ0UwNENGCis6MTBBQUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA5MTAwNjA0ODVDCis6MTBBQUMwMDA0QjEwMDIwNDhBODE0MDYwNDA0OTEwMDI4REEwQTE0MUQwCis6MTBBQUQwMDAyMDUwMDkxMjIyQzQ4MEIxMjAyQzQwNEIzRTAyQzIwMUZBCis6MTBBQUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDhCOTA0QTA0MDgwCis6MTBBQUYwMDA0OEIwMDIyNDAwODkwMDgyNDAwODkwQTZBNDAwQjkwNDRFCis6MTBBQjAwMDAyMjU0Mjk5NTAyRTU0MEI5MDA2RTQwMEI5MjAyQzYwNDFBCis6MTBBQjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU0MDA5MTAwMzI0MDQ5Cis6MTBBQjIwMDAwRjkwMDkyNDAwODk5MDMyNDAwRDk0MDNBNDAwRTkwMjlCCis6MTBBQjMwMDA3MjYwMEQ5NDAzRTQwMUY5MDEzRTYwMEY5MDAzRTgwNDk0Cis6MTBBQjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0NDBGOTAwM0U0MDExCis6MTBBQjUwMDA0RjkwMDNFNzEwRjk4MDNFNDAwRjEwMTM2NDAwRjEwMDlFCis6MTBBQjYwMDBCRTQwMEU5MDAzRTYwOEY5MDEzRTY0MEY5MDAzQ0EwMDUwCis6MTBBQjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEEwMDBGODAwMzIwODdCCis6MTBBQjgwMDAwQzAxMEIyMDQwQzg0MDMyMDAwRTg0ODMyMDAwRjgwNEUyCis6MTBBQjkwMDAzRTA0MEY4MDAzMjEwMEU4MDAzRTEwMEY4ODAzQ0EwNDIyCis6MTBBQkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDAzRTA0MjM4MDNCCis6MTBBQkIwMDAwOEVDMTIzOTQ0QTYwMDI4ODEwOEUwMDAzODA4QkEwMEUxCis6MTBBQkMwMDAzRjgwMEJBMDAyQTgwMDhBMDIyRTgwMEJFMDAyQ0EwMDgwCis6MTBBQkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQ4MDAzMTAwMjREMDlCCis6MTBBQkUwMDAwODNFMTJBRTA4ODFBMDJDQzAwQTM4MDA0QzAwQjMwMDA5Cis6MTBBQkYwMDA2RUMwMEEzMDAyMEMwMEEzMDA2Q0MwMEIzMDAyQ0EwMDA5Cis6MTBBQzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE4MDBCNTEwMjVDMDkxCis6MTBBQzEwMDAyODYwMTI5MDEwQTUwODJEQzIwODY0MjI1ODE4QjcwMEE5Cis6MTBBQzIwMDAyRDgwMEI3OTAyQkVDMDg3MDE2REMwMEI2MDAyRTgwMDY5Cis6MTBBQzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGNTg0MzUyMDM4Cis6MTBBQzQwMDA4QzE4MDI5MjEwQzU4MDNENjAwRUM4MEI1QTA4NzdGMzJECis6MTBBQzUwMDAzREEwMEZGODAzMUVCMEU3ODUzREUwMEY3ODAzRUEwMjQwCis6MTBBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGMTA0QkEwMTYzCis6MTBBQzcwMDAwRkEwNDM2MDA5RTEwMDM4NDAwRUEwMDNBODE0RkIyMDk4Cis6MTBBQzgwMDAzQTgwMEZCNDFCNEM4MEZCMjkzRUMwMEZCMDIzQzIwNjk0Cis6MTBBQzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBDRDgwM0JFMEVECis6MTBBQ0EwMDA0RUY4MDNGMjAyRDQ4MTNCRTA4RTk4MDczRTQ0RUY5MUM4Cis6MTBBQ0IwMDAzRkUwNEZGQzA3RUVEMENGOTgzM0U0MEZGODAzQzAwMDFECis6MTBBQ0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgwMTk4MDA4NTEwMkRDNDRECis6MTBBQ0QwMDAwRDExMDJGMDAwODUyMDMxQzQwQjdCMDAzODQwRDcxMEU1Cis6MTBBQ0UwMDAyRDgwMEI3MDYyRkVFMTg3MTQzOUMwMEI2MDAyRUEwNDBDCis6MTBBQ0YwMDA2MDAwMDAwMDAwMDAwMDAwMDAxMEJDNDBBNTAwMjk0MERBCis6MTBBRDAwMDAwQjUwODJEQzQwODQwNDJEQzAwQjEwMDY1ODQ0QTcxMDYxCis6MTBBRDEwMDAyRDgwMEI3MTAyREMwMDg3MDQyMUMyMEI1MDAyQzAxMDkxCis6MTBBRDIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMEFBMTAxMkM0MEVCCis6MTBBRDMwMDA4OTE4MDJDMTAwQTEwODIwQzAwQjM0MDY0MDAwOTMwNTA5Cis6MTBBRDQwMDAyQzE0MEIzQzg2Q0UxMDgzMDEyOEYxMEIxNDAyQzgwNDhFCis6MTBBRDUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUEwMDBFRDAwM0FDMDdGCis6MTBBRDYwMDAwN0JDNjNFRDAwODE0MDNFQzAwRTg4MDM2NDAwRUYwMDI1Cis6MTBBRDcwMDA3RTUwMEZGMDAyRkQ0MkNGMDA3MkMwMUZCNDAzRUEwNDAwCis6MTBBRDgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU4MDA5OTAwM0VFMDQ0Cis6MTBBRDkwMDA0RkI0ODNFRDkwMDk0MDNFQzAwRkExODNBODAxRUIwMUExCis6MTBBREEwMDAzRTAwMEZCMTEzRUMwQ0ZCMDAzQUMwNUYyMDIzRTAwMDIzCis6MTBBREIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY4MDBGRDA0M0ZCMDZBCis6MTBBREMwMDAwRDYwMDMzRTAwQ0QwMDMzRjAwRkYyMDFGMDAwRkYwM0YxCis6MTBBREQwMDAzRjAzMEZGMDAxRkMwMEZCMDIzM0MyMEZGMEUzMDA0NDFECis6MTBBREUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZBMDBCOTAyMkVBMEJCCis6MTBBREYwMDA0QUFDMDIwRTgwRjlDMDM2RTEwQkEwMDIyQTA4QkIwMDYzCis6MTBBRTAwMDAyRTIwMEVCMDAyRUMwMEVCMDAyMkMwOEJCMDAyMjA0MERFCis6MTBBRTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTIzMDBBOTAwMjhDMEVECis6MTBBRTIwMDAwOUIyMjI2QzQwODk4OTJBQzAwQjE0MDYyNjAwQUIwMkE1Cis6MTBBRTMwMDA2RUUwMDlCMDA2NkMwMEIzMDIyMkMwMEJCMDAyMjAwMDI1Cis6MTBBRTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA4MDBCMTAwMkNDMDExCis6MTBBRTUwMDAwQTMwMDIyQzAwQkIwMDY0QzAwQjMyMEEwODAwMzMwMDI5Cis6MTBBRTYwMDA2QzgwMDIzMDQ2Q0MxOEEzMDAyMEMwMEIyODAyMDIxMUNGCis6MTBBRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTY4MDBFOTAwMzhDMTgzCis6MTBBRTgwMDAwREIxMEIyQzAwODkwMDNBQzAwQjkwMDM2MDAwRkYwMjRCCis6MTBBRTkwMDAzRTgwMEZGMDAzRkM4MEZGMDAzMkMwOEY4MDBCMDAwMzY4Cis6MTBBRUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxMUQ4MDBGRDA0M0ZDMEM5Cis6MTBBRUIwMDAyRkYyMDNGQzExRUYwMDNGQzAwRkY0NDM3MDAwRkYwMEJFCis6MTBBRUMwMDAzRjAwNDZGMDAzRkQwMEVGMDAzRkMwMEZDMDAzRTgwNjVGCis6MTBBRUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFMDBGRjgwM0RFMEEzCis6MTBBRUUwMDAwQ0Y5MTNERTAwN0Y4MEIzRTAwRkZDMDNCRTQwQ0Y4MDdGCis6MTBBRUYwMDAzM0YwMEZGODAzN0MwNENDODAzM0EwMENGMDBCMzAwMTRFCis6MTBBRjAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUwMjA4ODAwMkUyMDZCCis6MTBBRjEwMDAwODgyMTJFMDgwQTg4MTIyMDIwQjgwMDIyMDgwQTg4MDkzCis6MTBBRjIwMDAyMjA4MEI4MDAyMkMwMjg4MDRBQTIwMDhCMDAyMjAwNDA4Cis6MTBBRjMwMDAyMDAwMDAwMDAwMDAwMDAwODgwNUVDMDBBMzA4MkM4MDIxCis6MTBBRjQwMDAwODMyMDJDNDIwQTMwMDI4NDAwQjkyMDI4NDAwQTkwMTA5Cis6MTBBRjUwMDAyOEM4MUIxMjgyQ0M0MEE4MDAyNEUwMEEzMDQyMjIwMUZCCis6MTBBRjYwMDAzMDAwMDAwMDAwMDAwMDAwQzAxMUE4ODBBODAyMkU0MEEwCis6MTBBRjcwMDA2ODgwMTBDODAwQjg0MDJBOTAwQkEwMDAyODAwQUEwOERBCis6MTBBRjgwMDAyQTAyMDMyMDAyOEMwMEE4ODgyRTIwMEFCMDAyMzAwNDc2Cis6MTBBRjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUU4MDRGQTAwM0M0MDlBCis6MTBBRkEwMDAwQ0EwMDNFODAwRUIwMDNBQzAwRjIwNTNBODAwRTM0MEQ4Cis6MTBBRkIwMDAyQTQwMEZBMDAzNkMwMEE4ODAzNDIwMUVCMDAzMTAwNEE4Cis6MTBBRkMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDA5RDkxM0Y4MDhGCis6MTBBRkQwMDAwRkRBMjNGNDAwQ0MyMDM3MDAwN0QwMTM3NDAwQkMwMDM0Cis6MTBBRkUwMDBCNzgwMEJEMDQzN0MwMERDMDQzQjAwNkRGMDAzRjgwMDFECis6MTBBRkYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE4MDBGQTgwM0EwMDQ1Cis6MTBCMDAwMDAyQ0EwMEIyMDAyQ0I2MjNFNTAwRTg4MDMyMDAwRDkxMEVBCis6MTBCMDEwMDAzRTcwOEM4MDMzRUM4MEQ4NDAzQTAyMERCMDAzMTAwNEFGCis6MTBCMDIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTBDMDAzOTgwMjJDMDkwCis6MTBCMDMwMDAwQzlEODIyQzEwRDA0MDJFQTAwOEI4MDM0RTAyOEE0MEVFCis6MTBCMDQwMDAwRUEwMERCMDAzM0QwMEQwOTAzNjEwMEJGMDAyQjIwMDAwCis6MTBCMDUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMTAwNjBDMEFFCis6MTBCMDYwMDA4QTE4MDI4QzA4ODA0MDBDQTAwMjMwMDJDRTAwODI0ODcwCis6MTBCMDcwMDAyQzgwMkIzMDA2OEMwMDgxMDIyMDkwMDlCMDAyMzgwMDExCis6MTBCMDgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTEyMDBCNjkwQTMzMDI0Cis6MTBCMDkwMDAwOEU4MjJCMjE0ODc4MDJENjAwODQ5MTIxMjYxOTU5MDQ5Cis6MTBCMEEwMDAyRDYxMEE0ODE2MUU4MDk1ODAyNTIwMEI3ODAyODgwMEE1Cis6MTBCMEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMTAwMjg4QzRGCis6MTBCMEMwMDA4RTEwMDM4NDgwODAwMDJDMDIwQTlBMDJFNDAwRDAwMEQzCis6MTBCMEQwMDAzRTgwMEI5MTAzOEU4MEMyMDgzODgwMERCMDAzMTIwMkFGCis6MTBCMEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREIwMDBGNjAwM0Y0NERBCis6MTBCMEYwMDAwRjIxMTM3ODAwRkYwMDNEQzAwRkUwMDM3ODAwRUYwNDNDCis6MTBCMTAwMDAzRjQwOERFODAzREMwNEY2MDAzRjAwMEZGMDgzRDAwNkRCCis6MTBCMTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDBFODgwMzI0MDYwCis6MTBCMTIwMDAwRjg4MEIyODAwNzgwMjNFODAwRTI4MDMyODAwQ0E4MDcyCis6MTBCMTMwMDAzMjAwMEZBMDAzRUMwMEM5ODAzMjgwMEZCMDAzMkEwMDU4Cis6MTBCMTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMThDMDA4RjAwQTE4MEZBCis6MTBCMTUwMDAwQjcwNDIxNDAwQjcwMDJENDEwQjUwNDIxNDAwQTUwMEEzCis6MTBCMTYwMDBBMUMwMEI1MDAyRkM4MEE1MDAyMTAwMEJGMjAyMTIwNENBCis6MTBCMTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMEJBMDBBNDgwMjkzMDc4Cis6MTBCMTgwMDA0QjQ4MDY1MjA4QjQ4MDJEMjAwQjQ4NDIzMjAwODQ4MDgwCis6MTBCMTkwMDAyMTIwMEI0ODEyREU0MDg2ODEyOUEwMEI3ODBBMzAwMDVFCis6MTBCMUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzA1MjBFMENGCis6MTBCMUIwMDAwQjM0MDI2QzEwQjMwMDJDQzAwQjM2NEEwRDBEQTMwMEVCCis6MTBCMUMwMDAyMEMwMEIzNDgyQ0MwMkEyMDAyODAwMEIzMDAyMTIwNEYzCis6MTBCMUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE5MjBFQTQwMzBBMDdGCis6MTBCMUUwMDAwN0EwNDM2OTQwRkEwMDNDODAwRkEwMDMwODQwQ0EwMDUyCis6MTBCMUYwMDAzMEEwMEZBNDAzRTgwMENFMDAzQjk4MEZBMDAzM0EwNDUwCis6MTBCMjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEQyMDBGQzA4M0YwMDgxCis6MTBCMjEwMDAwQkMyMDNCMDAwRkMwMDNGMDAwRkMwMDNGMDAwRkMwMEI1Cis6MTBCMjIwMDAzRjA0MEZDMDAzRTAwMEY4MDBCNjAyMEY4MDAzRDIwMDE1Cis6MTBCMjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBEOTAwM0U2ODYzCis6MTBCMjQwMDA0QzkxMDFFNDA4QzkwMDNFNDAyQzkyMDNFNDAyQzlBMERECis6MTBCMjUwMDAzRTcwMEU5MDAzQzY0MkM5MDAzRTQwMEYxMDAzMDIwNDI4Cis6MTBCMjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTg2MEU2MDQ5Cis6MTBCMjcwMDAwODk4MDJFNDA4ODkxMDJFNjAwODkwMDJFNDAwODkwQzA2Cis6MTBCMjgwMDAyRTYwMDg5MDAyRTY4ODg5MDAyRTQwMEI5MDAyQTAwMEY0Cis6MTBCMjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5RDEwMkY0MDQxCis6MTBCMkEwMDAyOEQwMDZGNDAyQUQwMDJGNjAwOEQwMDJGNDAwOEQwMDEzCis6MTBCMkIwMDAyRjQwMEFEMDAyRTQwMDg5MDAyRTYwMEI5MDAyMDYwMEE1Cis6MTBCMkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDM0MDA4NTAwMkQ0MDBDCis6MTBCMkQwMDAwODU4MDJENDAwQTUwMjJENDAwODUwMDBENDAwODUwMDczCis6MTBCMkUwMDAyRDQwMDg1NDAyQzQ4MDgxMDAyQzYwMEIxNDAyODIwMTlFCis6MTBCMkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODUyM0UwMDgwCis6MTBCMzAwMDAwQzA1MDNFMTQwRTgwNDNFMTQwQzg1MDNFMTQwQzgwMDRECis6MTBCMzEwMDAzRTE0MEVDMDAzRTAwMEMwMDIzRTAwNEY4MDIzMkUwMzA3Cis6MTBCMzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0MDBGOTAxM0U0MEFDCis6MTBCMzMwMDA0RjkwMTNFNDAwRDkwMDFFNDAwRjkwMDNDNDEwRjEwMDk5Cis6MTBCMzQwMDAxRTQwMEY5MDAzRTRFMEZEMjgzRjQwMEY5NDAzRTYwNjAzCis6MTBCMzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUE0MDBGRDAwM0Y0MDQwCis6MTBCMzYwMDA0RDUwMDJFNDAwOTUwNDMzNDAyOEQwMDNGNDAwRkQwMDYyCis6MTBCMzcwMDAzMzQwMEY5MTAzMzQwMENENDAzMzQwMEY5ODgxMDYwMEQ1Cis6MTBCMzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMTBCODAwMkUwMDJGCis6MTBCMzkwMDAwQjgwMDJFMDEwQjgwMDIyMDAwODgwMDJFMDAwQjgwMDM0Cis6MTBCM0EwMDAyMjAwMEI4ODAzQzI4MDg4ODAyMjAwMEI4QzAyMEUwNENFCis6MTBCM0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNEM0MDBCMTAwMkNDMEYwCis6MTBCM0MwMDAwQjEwMDJDNDAwQkIwMDIyNDAwODEwMDJDNDAxQjkwMEU3Cis6MTBCM0QwMDAyMDQwMUI5MDAyMDQyMjg5MDAyMDYwMEIxMjgyMDIwMThGCis6MTBCM0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0NDRCOTAwMkVDMDMxCis6MTBCM0YwMDA0QjkwMDJFNDEwQjkwMjAyNDAwODkxNDJFNDAwQjk4MDg3Cis6MTBCNDAwMDAyMjQwMEI5MjAyQzQwMDk5NDAyMjQwNEI5MDEyMDYwNDQ1Cis6MTBCNDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU2MDBCOTAxM0U1OEUxCis6MTBCNDIwMDAwRDkwMDNFNjAwRDEwMDMyNjAwQzk4MDJFNjQwRjkwMDZFCis6MTBCNDMwMDBCMjQwMEYxODAzMjQwMEM5ODAzMjUwMEY5MDIzMjgwNDEzCis6MTBCNDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0U0MjQ2Cis6MTBCNDUwMDAwQjkwMDNFNzA4RjkwMEJFNDgwRjkwMDNFNDAwRjkwMEUxCis6MTBCNDYwMDAzRTQwMEY5ODAzQTQwMEU5QTBCRTQwMEYxMDBCNEEwMDE1Cis6MTBCNDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAxM0UwMDdECis6MTBCNDgwMDAwRjgwOEIyMDAwRjgyMDNFMDEwRjgxMDNFMDAwRjgwOEI4Cis6MTBCNDkwMDAzQTAwMEM4MDAzRTAwMEQ4NDAzMjAwMEY4MDEzMEEwNDA5Cis6MTBCNEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4QTgwMkY5MTVECis6MTBCNEIwMDAwQkVFMDIyODAxQkUwMDIwODAwQkEwMDJFQTgwQjY0OEY1Cis6MTBCNEMwMDAyMjgwMERBMDAyRkEwMjg2NDFBM0E2MEJBMDAzMEEwMDY3Cis6MTBCNEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzgwMkNDMEI0Cis6MTBCNEUwMDAwQjMwMDIwQzEwQjMwMDI4QzAwQjM4MDJDQzAwQjMwMEE0Cis6MTBCNEYwMDAyOEMwMDkzMDAyQzYwMTgzNjAyMDcwMEIzMDBBNEEwMDYwCis6MTBCNTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTJFODg4NTA4MkQ4MDVBCis6MTBCNTEwMDA0QkY4MDYxQzgwQjcwMDIxQzAwQjUwMDJENDAwQjYwMEM3Cis6MTBCNTIwMDAyOTYwMDk3MDAyRDBBMDhEMDAyMTQwMEIzMjAyMjgwMDUyCis6MTBCNTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBENTgwM0RFMDhCCis6MTBCNTQwMDA4Rjc4MDMxRTg0Qjc4MjNENjAwRjU5MDNERTAwRjc4MEI5Cis6MTBCNTUwMDAyOTYwMTU3ODAzREUwMEM3ODAzMTYwMEY3QzAzNkEwMjIyCis6MTBCNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDNDBFOTAwM0U4MDIzCis6MTBCNTcwMDAwRkEwMDNFRDMwRkIwMDM2QzEwRjk2MDNFNDAwQjMwMENCCis6MTBCNTgwMDAzNDQwMEZCNzgzRUM0MDIxMDAzRTQwMEZCMDAzQzIwNkE5Cis6MTBCNTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjgxMzNFMEI1Cis6MTBCNUEwMDAwRkY5MDNERTIwQ0Y4MTNGRTAwNzc4MDMzRTAwRkY4MEU0Cis6MTBCNUIwMDAzRkUwMDRGODEzRkUwMkRFODAzMzYwMEZGODAzMDAwMDYyCis6MTBCNUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCNzAwMjFDNDFBCis6MTBCNUQwMDAwQjVBMDJEQzQ4ODY1MDJEQzAwQjMxMDI5NDYwQjQxODFGCis6MTBCNUUwMDAyRDQwNDg3MDAyRTgwMEE1MTAyMTQwMEI3MTAyMkEwNDhBCis6MTBCNUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCRDAwMjE0MjJGCis6MTBCNjAwMDAwQjcwMDJGQzAyODUwMDI1NDAwQjUwMDI5QzAwQjcwMDI1Cis6MTBCNjEwMDAyRjQwMjg3MTAyREMwMEE2MDAyMUMwMEI3MDAyMDAwMDQwCis6MTBCNjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNDZEODBCMTIwQTA1MDE4Cis6MTBCNjMwMDAwQkIyMDZDRTAwQTAzNDJFRjAwQjE4MDI4NTIwQjM0QUMwCis6MTBCNjQwMDAyQzU0ODgzODAyQ0MxMEExMDAyMEIwMEIzMDAyMDgwNDIyCis6MTBCNjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJFODBGMzA4MTA1NDYwCis6MTBCNjYwMDAwQjg4MTNGRjAwQzA4MDNFNjQwRkI0ODMwNzAwRjlDMDRECis6MTBCNjcwMDAzRUYwMENGQzEzRjQwMEVBMDAzMjcwMEZGMDBCMkEwNEM5Cis6MTBCNjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGOTAwM0UxMEE3Cis6MTBCNjkwMDAwNzkxMDNFQ0MwNTgwMDNFNDQwRjkyMDNFNDAwRjkwMDA4Cis6MTBCNkEwMDAzRUMwOEZCMzAzRTAwMEJCMDBCRTQ0MEZCMDAzRTAwMDE4Cis6MTBCNkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDJDRDA0MzNFMDY3Cis6MTBCNkMwMDAwQ0MwMDMzQzA4RkUwMDMzNjAyQ0QwMDJCNDgwQ0YwMEQ1Cis6MTBCNkQwMDAzRjUyMDdGMDEzRkMwMENFMTAzMzQyMENCMDAzQzA0NEJECis6MTBCNkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDA4OTAwMkFCMEQ2Cis6MTBCNkYwMDAwODg4MDIyQzAwQkEwMDM2NDQwODkwMDAyNjAwREJDMEZGCis6MTBCNzAwMDAyRTQwMEJCMDAyRUMwMDgzQzAyODQwMEFCMDAyRTA0MDlCCis6MTBCNzEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAwMjIwOEIzCis6MTBCNzIwMDAxQUEyMDIyQzEwQjkyMDIyNDAwODMwMDIyQzA0QUE1NDdDCis6MTBCNzMwMDAyRUMwMEJCMDEyQ0MwMDhCMDgyMjQwMDhCMDAyRTAwMEYzCis6MTBCNzQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzA0MkEwMEYwCis6MTBCNzUwMDAwQTA4ODIwQzAwQjgwMDY0NDAwODMwMDJBNDAwQjAwMDVGCis6MTBCNzYwMDAyQ0MwOEIzMDEwQzgwMjhCMDAyQTQwMEEzMDAyQzIwMTY0Cis6MTBCNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDOTAwMzIwMDU1Cis6MTBCNzgwMDAxQTgyMDMzQzAwRjkwMDMyNDAwQ0QxMDNBQzAwRUIwMEZDCis6MTBCNzkwMDAzRTQwMEZGMDAzRUQwMEMzMDAzMkMwOENCMDAzQzAwMzg1Cis6MTBCN0EwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGNTAwM0YwMDYwCis6MTBCN0IwMDAwRDgwNEJGQzAwN0MwMDNGNDAwRkQyMEI3NDAwREYwMDdCCis6MTBCN0MwMDAxRDQwOEZGMDAzRkNBMEZGMDAzRjgwMEZGMDAzRTgwNjUwCis6MTBCN0QwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBERjg0M0JFMEJBCis6MTBCN0UwMDAwRkY4MEIzRTAwRUM4MDMzRTEwQzMwMDMzQzgwQ0Y0ODc3Cis6MTBCN0YwMDAzN0MwMEU0MDAzRTBDMEM3OTFCMzA0MENGMDAzMzAwMDIzCis6MTBCODAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVGMDQ4QjgwMjI0MUQ3Cis6MTBCODEwMDAwQkIwODIyRTAwODg4MEEyRTAwQUEyOTJBRDgwODc0MkZGCis6MTBCODIwMDAyM0Q4OEFBRDAyRTBDMDhCMDAyMDRDNDhBNDAyMjAwNDNCCis6MTBCODMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDNThCQjAwMjg4MEM0Cis6MTBCODQwMDAwQkIyNDIyNDAwQTgwMDJBQzAwQTEwMDIwNDYwQTMyMDAwCis6MTBCODUwMDAyNEQyMDgwMDQyOEM4MzlCMDEyMDQ5MDgzM0MyMjIwMTc0Cis6MTBCODYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDBBQjg4MjJBMEYyCis6MTBCODcwMDAwQkI4MDIyNjBDQTgwMDJBQzAwQTkyMDJBNDAwQUIwNjRDCis6MTBCODgwMDAyMkMwMEFCMDAyRTgwMDlCMDAwMjQwMDhBMDQyMzAwNDM3Cis6MTBCODkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBEMzgwM0FFMDlBCis6MTBCOEEwMDAwRjE4MDEwNjAwRTgzMDM4NjYwRUI4MDMyQTQwRUIwMDk2Cis6MTBCOEIwMDAzNkMxMEU5NjAzRTI4MERBMDgzMjgwMkNCQjAzMTAwNEY2Cis6MTBCOEMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDBERjAwM0ZDMEFECis6MTBCOEQwMDAwRkQwMDNGNDAwREM4MDM3NjAwRkU4MDNGQTAwREYwMUNCCis6MTBCOEUwMDAzRkMwMEZDMDQzRTY0Q0VGQTAzRjQ0MEZBMDAzRjgwMDU5Cis6MTBCOEYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDNDBEQjAwMzY4MDFCCis6MTBCOTAwMDAwQzk4MDMyNjAwRjgwMDNFQzAwRTE4MDM4NDAyRTMwMUUxCis6MTBCOTEwMDAzOEMxMEVCNDAzQUM4MENBMTgzQUQwMkMzMDAzMTAwNERFCis6MTBCOTIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNGNDBCOTg4MkU4MEJDCis6MTBCOTMwMDAwOEJDMDJBMzAwQjAwMDBFQzAwOEIwMDYyMDAwOEYwNEFGCis6MTBCOTQwMDAyM0MxMDhCOTEyMkYwMDgzODAzNjQwMDhBRDAyMzIwMEFGCis6MTBCOTUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMjAwMkNDMEQ4Cis6MTBCOTYwMDAwOTMyMDI4NDAwMzMwMDJDQjIwQTM2MTI4QzA4OTMwNTg3Cis6MTBCOTcwMDAyMEMwMEIxODAyRUQwMDkxODA2QTAwMDgxMDAyMzgwMDA4Cis6MTBCOTgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCNzgwMkRFMEU0Cis6MTBCOTkwMDAwOTc4MDI5NzQwQjQ4MDJGQTAwOEU4MDIwRTQwOTc4MkYxCis6MTBCOUEwMDAyMUUwOTg2ODgyMUExODlEOTAyREExMTg1ODAyMDgwMDZECis6MTBCOUIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDQzBGMzAwM0VDMDNBCis6MTBCOUMwMDAwREIwNDM4NDQwRjAwMDNDODIwRTM4MTI4QzQ0RjMzMEJBCis6MTBCOUQwMDBCQUMxMUUxMDQ3OEUyMkQxMTAzODE4MEMzMDgzMTIwMkMzCis6MTBCOUUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDNDBGRjAwM0ZDMDAwCis6MTBCOUYwMDAwRUUwMDNGNDQwRkMwMDNEQzQwRkQwMDFGNDQxRUYxODA5Cis6MTBCQTAwMDAzRkM0MUZGMDAzRjg0OEVGMTQzMzgwMEZDMTAzRDAwNjgyCis6MTBCQTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZDNDBGQjAwM0VDMEU0Cis6MTBCQTIwMDAwRjk4MDMyNDAwQ0IwMDNFNDAwRkIwMDNBODAwREIyODkyCis6MTBCQTMwMDAzRUM0MUY5MDIzRUMwMENBMDAzMkUwMEM5MDAzRUEwMEUxCis6MTBCQTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDODBCNzAwMkRDMDZECis6MTBCQTUwMDA0QjUwNTIxNDAwRDQwMTJEODAwQjYwMDJEODAwQTcyMDU3Cis6MTBCQTYwMDAyREM1MEI0MDE2REMwMDg0MDAyM0MwMDg0MDAyRDIwNDIwCis6MTBCQTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFODBCNzgwMkRFMDQ0Cis6MTBCQTgwMDAwQjc4MEE5NjAwOTQ4MDJENjAxQjc4MDZEMjAwQTc4MDYwCis6MTBCQTkwMDAyREUwMEI3ODIyREUwMDg3ODIyMUUwMDg1ODAyRjAwMEJBCis6MTBCQUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCM0U0MkNDMENCCis6MTBCQUIwMDAxQjIxMDI4MTAwOTAwMDJDQzgwQjM5MDJDRTAwQTMwMDhDCis6MTBCQUMwMDAyQ0MwMEIzMDAyQ0QwMDhCMjAyMEYwMDhCMjAyRDIwNDMzCis6MTBCQUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGRUEwM0Y4MjMyCis6MTBCQUUwMDAwRkU4MDM5ODMwRDYwMDNGQTAwRkUwMDNCQUMwRkEwMDc5Cis6MTBCQUYwMDAzRTgwMEZFQzMzRjgwMkNFMDBCM0I4MkNFQzgzRkEwNDhFCis6MTBCQjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMThGODQwM0UwMDFGCis6MTBCQjEwMDAwRjgwMDI2MDg0RjgwNTJFMDQ4RjgwNDFFMDAwNzgwMkQ3Cis6MTBCQjIwMDAzRTAwMEY4MTgzRTAyMEY4MDBCRTAyMEY4MDAzRDIwMEE4Cis6MTBCQjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU2MThGOTIwM0U0MDI4Cis6MTBCQjQwMDAwRjlDMDNFNDQwQzkwMDMyNjEwQzkwMTNDNDA4QzkwMTgyCis6MTBCQjUwMDAzRTQxMEYxODAzMjQwMEM5QTAzMjQwMEY5ODQzMDIwNDRECis6MTBCQjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY1MDBCMUMwMjI0MEU5Cis6MTBCQjcwMDAwQjlDMDJFNzEwODkwMDI4NDQwODk0MjJFNDEwODkwMEY1Cis6MTBCQjgwMDAyRTQwMEI5RjIyMjY2MDg5ODAyMjQwMEI5MTBBMjAwMEM0Cis6MTBCQjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0ODBCOTAwMkVDMDJECis6MTBCQkEwMDA0QkI0MDJFNDIwODkyMDIyNDAwODk0MDJFQzAwODkwMDcyCis6MTBCQkIwMDAyRTQxMEI5MDAyMDQwMDg5NDAyMjQwMEI5MDAyMDYwMEE3Cis6MTBCQkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTA0MjA0MDEwCis6MTBCQkQwMDA4QjEwMDJFNDA1ODEwMDI4NDAyODEyMTJDNDgyODEyMEMzCis6MTBCQkUwMDAyQzQ4MEIxMjBBMDQ4MjgxMDAyMDQ4MEIxMjAyMDIwMTI5Cis6MTBCQkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDY4QTBGQTAyM0UxNDJBCis6MTBCQzAwMDAwRjg1MDNFMDAwQzgwMDMyMDAwQzg1MDNDMTQwQzg1MzEzCis6MTBCQzEwMDAzRTE0MEY4MDAzMDE0OEMwNTBCMjE0MEY4NTAzMkUwMzU5Cis6MTBCQzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0MDBGRDAwQkY0MDJGCis6MTBCQzMwMDAwRjUwMTNENDAyRkQwMDJGQzAwRkQxMDNGNDQwRjkxMEIwCis6MTBCQzQwMDAzRTQ0MEZEMTAzRjQ0MEZGMDBCRjQ0MEZEMTAzRTYwNjhBCis6MTBCQzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2QTBGRDAxM0U0NDUxCis6MTBCQzYwMDAwRkQxMDNENDAwQzUwMDMzNDEwRkRCMDMyNzIwRDlFMEY3Cis6MTBCQzcwMDBCMjcwMEREQTgzRjY0MENGMTAzMjc4MkREQTAzMDYwMDY5Cis6MTBCQzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDBCODAwMkUyODBECis6MTBCQzkwMDAwQjg4NDJFMDEwRDgwMDIyMDAwQjhDMEEyMzAwODhDMEQ5Cis6MTBCQ0EwMDAyMjI4MDg4NDAyQzI4MDgwQTAyMjMwNDhBQTgyMEUwNDgyCis6MTBCQ0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDY2Cis6MTBCQ0MwMDA4QjEyMDJDNDAwOTkwMjI4NDA4QjE2MDI4NDgxOTEzMEE1Cis6MTBCQ0QwMDAyMDU4MDkxMDAyQzUwMDgxMDA2NDREMDgzNDAyMDIwMTk5Cis6MTBCQ0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUFDMENCOTA0MkU0OENDCis6MTBCQ0YwMDAwQjk0MDZFNDAwOTk0MEFBNDAwQjkyMjJBNDAwODkwMDBDCis6MTBCRDAwMDA2MDQwMDg5NDAyRTQwMDg5ODBBNjUwMDg5MjAyMDYwNDZDCis6MTBCRDEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTk4M0U0ODEzCis6MTBCRDIwMDAwRjk4MDNFNTIwRDkwMDNBNjQwRjk0ODNBNEMwRDkwMjg4Cis6MTBCRDMwMDA3MjQwNEQ5MDQyRTQ4MkM5NDAzNjQwMEM5MDBCMjgwNDdBCis6MTBCRDQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUFDMjhGOTg4M0U0MDg3Cis6MTBCRDUwMDAwRjk5MTNFNzAwRjlDMDM2NjAwRjkwMDM2NjAwRjEwMEY5Cis6MTBCRDYwMDA3RTQwMEY5OTA3RTQ2MEY5MDAzODQwMEY5ODAzQ0EwMDNECis6MTBCRDcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODEwMzIwMDUxCis6MTBCRDgwMDAwRjgyMEIyMTAwRTgwMDM2MDQwQzg2MDNFMTAwRDgwMDg2Cis6MTBCRDkwMDAzMjAwMEY4MDAzNjEwMEM4MDAzMjAwMEYwMDAzMEEwNDY0Cis6MTBCREEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MjBCRTAwMjI4MDlFCis6MTBCREIwMDAyOEVDMDIxOTA0ODIwMDAzODAwREU0ODJFODAwOEEwMTY1Cis6MTBCREMwMDBBQTgwOEJFRDgyM0I4MDhFOTAzNjgwMEJFMDAzNEEwMDg4Cis6MTBCREQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTQyMDBCMzgwMjBDMEExCis6MTBCREUwMDA2QjM0MTY0MEMwODMxMDI0NzI4OEIwMDJFQzAwODMwMENDCis6MTBCREYwMDAyNEMwMEIwNDAyNkYwOTlCMDAyNEMwMEIzMDAyMEEwMDEwCis6MTBCRTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDBCNzgwMjNFNEVGCis6MTBCRTEwMDAyODc4ODI3NDE0OEYwMDYxRTAwOTUwMTJEQzA0ODcyMkI0Cis6MTBCRTIwMDAyNUM4MUI3ODAyMTQwMDk0NDBBNUMwMEI2MDIyNjgwMDRFCis6MTBCRTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODEyMjBCNzgwQjFFMDE4Cis6MTBCRTQwMDA4RkY4MDMxMjAyRTc4MDM1RTAwQzY4MDZDRkMyQ0ZCMDRFCis6MTBCRTUwMDAyNUY0MEY1ODAzNUEwMkQ1ODA3NUZBNEZGODAzMkEwMkM5Cis6MTBCRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREE1OTBGMzAwM0RDMDg4Cis6MTBCRTcwMDA0RkIwMTNBODA0RkIwMDNDQzAwRjgwNDNFQzgwRUI2MDg0Cis6MTBCRTgwMDAzQUM5MEYzMDAzRUMwMEU5MDAzRUM4MEZBMDAzQzIwNjE4Cis6MTBCRTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUY2MDBFRTgwM0ZFMEJBCis6MTBCRUEwMDAwRDg5MDNEMjQwRTU4MTM5RTAzQ0Y5MDdGRTAwQ0Y4OEQ3Cis6MTBCRUIwMDAzRkUwMEZFODAzRjIwOENFODAzM0UwMENGODAzMDAwMDA3Cis6MTBCRUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTk0NDRDNjAwMkZDMEJDCis6MTBCRUQwMDAwODU4MDJEMEM0ODUyNDIxOTAwODU0MTJEQzgyMDcwMDNGCis6MTBCRUUwMDAyREMwMEI3MDA2RDQwMDhFNDgyMUMwMEE2MDAyMkEwNEJGCis6MTBCRUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBBNzQwMkRDMDcyCis6MTBCRjAwMDAwODQyMDJEMDAwQUQwMDI5QzAwODcwMjJEQzI4ODcwMDVBCis6MTBCRjEwMDAyREMwMEI0MDAyOTgwMDk3MDBBMEM0MDg3MDAyMDAwMERBCis6MTBCRjIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDg5MzAwMkNFMDRBCis6MTBCRjMwMDAwODNDMjJDMTAwODEwMDIwODA4ODE1MDJDRTMwODMwMDk5Cis6MTBCRjQwMDAyQ0MwMEIzQzAyQ0MwNDkzQzAyMEY0NEEwQzgyMDgwNEExCis6MTBCRjUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUEwMDBFM0MwMUZFMEIyCis6MTBCRjYwMDA2QzEwODNFMDA0RUIwMDNBNTI0Q0I0MDNGRTAyQ0YwMEE1Cis6MTBCRjcwMDAzRkMwMEY4NDQzRTEwMkQ4QzIzM0MwMEM4NDBCMkEwNEIzCis6MTBCRjgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU5MDBFQjEwM0VDNEVCCis6MTBCRjkwMDAwRTk0MDNFNDAwRkIxODNFQzIwRkI2MDNFQzAwRkIwMTU1Cis6MTBCRkEwMDAzRUMwMEYzNTAzQzQyOEVBNDIzRUMwMEY4MTAzRTAwMEMzCis6MTBCRkIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDNDBGRjAwMzNDMDEyCis6MTBCRkMwMDAwQ0MwQTMzMDI4Q0RBMDMzQzAwQ0U4MDMwQzAwRUYwNTUzCis6MTBCRkQwMDAzREMwMENDQTgzM0MwMENEMDgzRkMyMENBMDAzQzA0NDQ2Cis6MTBCRkUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY3MDBCQjgwMjBDMDFBCis6MTBCRkYwMDAwOEFBMDIwODAwQTEwMTM0RDEwOEE0MTIyQzAwOEIwMDY5Cis6MTBDMDAwMDA2RUMwODhCMjAyMkMwODg5ODAyRUMwMEFBODAzQTA0MDA2Cis6MTBDMDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCQTgwQTJDMEMzCis6MTBDMDIwMDAwOEE4MEFBMDAwOEIwMEEyQzA0ODExMDJBQzA0OEIwMDMzCis6MTBDMDMwMDAyRUMwMDA4MDEyMkEwODhCMTQyQ0MwMDg4ODAyRTAwMDUxCis6MTBDMDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMjAwMjJDMDA0Cis6MTBDMDUwMDAwOEIyMTI4MDAwQUIwMTI0QzAwODAwMDIwQzA0ODMwMDY3Cis6MTBDMDYwMDAyQ0MwMDgzMDAyMDcwMDgyMDAyNEMwMDgwODAyODIwMUE4Cis6MTBDMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBGQjAwMzJDMDVBCis6MTBDMDgwMDAwQ0EyMDNBMDAwQzkwMDMyQzAyNDk0MDMzQzAyQ0YwMERDCis6MTBDMDkwMDAyRkMwMDQ4MDBCMDkwMkNCMDEzRkMwMkNBMDAzQzAwM0JBCis6MTBDMEEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOURDMDBGRDAyM0ZDMEFECis6MTBDMEIwMDA0RkU0MTM3MDAwRkQwMDNGQzAwRkMyODNGQzAwRkYwMDdGCis6MTBDMEMwMDAzRkMwMEZGMDAzRkMwMEZGMDAzRkMwMEZDMDAzQTgwNkY1Cis6MTBDMEQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMjBFRjMwM0YwNEFECis6MTBDMEUwMDA2Qzg4MDMzQTQyRTQ5MTNGMEQwRDQ4MDMzQ0MwRkYwMkM3Cis6MTBDMEYwMDAzMzQ0MENGNDAzRkM4MkRGMzAzMzYwMERGMTAzMzAwMDc1Cis6MTBDMTAwMDA3MDAwMDAwMDAwMDAwMDAwQTAxMEVEMDA4QjcwMkUxOEUxCis6MTBDMTEwMDA4ODIyNEEyQzgyRUEyNjJFMEMwQkI4NDIzRDgwQkY5MDIyCis6MTBDMTIwMDAyQTU0MjhCNDAyQ0QwMERCNDAyQTRBNDgzMDAyQTAwNDM5Cis6MTBDMTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDQjBBMzAwNkMxMEE3Cis6MTBDMTQwMDAwOTAwODIyMDgyQTAyMDJDODg0QjgwMDAwQzQwQjMwMTgzCis6MTBDMTUwMDAyMDQ4MEIzNjAyOENFMDgzNjQyNDQwMjgzMjAyMjIwMUZFCis6MTBDMTYwMDA3MDAwMDAwMDAwMDAwMDAwRTAxMUFDMDA4QjAwMkUwMDA5Cis6MTBDMTcwMDAwOTgwODBBNjAwQkExMTJFODgwQkIwMDAyQzAwQkIwMkVCCis6MTBDMTgwMDAwMjQwMDlCMDAyRUMwMDhCMDAyQ0M4MDhCODgyQjAwNDUxCis6MTBDMTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBFQjAwM0U5MjQzCis6MTBDMUEwMDAwRDgwMDMwQTIwRTkwMDNFNTA0NTgwMDEyQzA0RjMwMDc1Cis6MTBDMUIwMDA5MDYwMDlCMDAzRUMwMDhCMDIyNjUwOERCQzAzMTAwNDg0Cis6MTBDMUMwMDA3MDAwMDAwMDAwMDAwMDAwQzAwMUJDMDBGRjAyM0Y4MEMyCis6MTBDMUQwMDAwRUY5MDI3QzIyQUYwMDNGNjAwM0MwMEJGQzEwRkYwMDkxCis6MTBDMUUwMDAzRjRBNEVGMDAzRkMwMEY3MDAyQjYwMEY3MDAzRjgwMDhECis6MTBDMUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAwQjAwMDM4Cis6MTBDMjAwMDAwRjgyMEJBOTAwQzkwMDMyRDIwRkEwODNBQzAwQ0IxMDYzCis6MTBDMjEwMDAzRTQwMENCMDAzRUMwMERCMDAzMjUwMkM5NTAzMTAwNEMwCis6MTBDMjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDRCRjAyMjI4MDdFCis6MTBDMjMwMDAwQjk4MDAyOTAwQ0I0MDIyQzAwQjI0MDIzQzA4OEY1MEYxCis6MTBDMjQwMDAyRTUwMERGMDAyRkQ0MjhGNTgyMkUwNDhCNTAyMzIwMDE4Cis6MTBDMjUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTZDMDBCMzAwMjQ0MDM2Cis6MTBDMjYwMDA0Qjk0MDA0OTAwOTA4MDA0MzAwOTAwMEU0QzAwODM4MEZDCis6MTBDMjcwMDAyQ0MwMDkzMDIyNkU0MjgzODAyMDQ4MDgzODAyMzgwMEUyCis6MTBDMjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCNzgwNjUyMDYzCis6MTBDMjkwMDAwQjc4ODI3QTA4OENDMDI1QTM0Qjc4MDI1RTA0ODc4NEQxCis6MTBDMkEwMDAyRDYxODk3ODAyREUwNDg3ODBFOTYyMDg3ODAyMDgwMDNGCis6MTBDMkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGQjAwMzQ0ODZCCis6MTBDMkMwMDAwRjNCMDM0ODAwOTM0ODM0NTAwRDAwMDM2QzAwQzMxMDJCCis6MTBDMkQwMDAxQ0MyMDUzMDAzQ0M0MENCMDAzMjQwMEMyMDAzMTIwMkJDCis6MTBDMkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMjBGRjAxMDM0MEQyCis6MTBDMkYwMDAwRkYwMjMxQzAwRkYwMDNCODAwRkIwMjMzQzAyRkY1MEQ3Cis6MTBDMzAwMDAzREM0MEZGMTAzRUMwMEVGMDBCN0MwMEZFMTAzRDAwNjBFCis6MTBDMzEwMDA2MDAwMDAwMDAwMDAwMDAwODgwNUVDMDBGQjAyM0VFMDI5Cis6MTBDMzIwMDAwQzgwMDM0ODAyQzg4MTMyMDAwRjkwNDJFQ0EwRkIxMDQxCis6MTBDMzMwMDAzRUUwMENCMTAzRUM0MEZCMTAzMjQwMUZGMDAzMkEwMDNBCis6MTBDMzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzI0MkQ4MDAwCis6MTBDMzUwMDAwODcwNDJEODEwOEMwMjIxNDAwQjUwMDJERDAwRTcyMDBCCis6MTBDMzYwMDAyRjQwMDg3MDAyREMwNUI3MDAyMUMwMEJGMDAyMTIwNDU4Cis6MTBDMzcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzkwMkY0MDQ5Cis6MTBDMzgwMDAwQTY4MDI3QTAwOTc4MDIxRTAwQjc4MDJERTAwQjc4MDBECis6MTBDMzkwMDAyREUwMDg3ODA2REUwMEI3QTAyMTYwMEI3ODQyMzAwMDVGCis6MTBDM0EwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzAwMkNDMEE2Cis6MTBDM0IwMDAwQTM0MDJDODAwODM0QTIwRjgwQjMxMDJDQzAwQTMwMEUzCis6MTBDM0MwMDAyQ0MwMDgzMDAyQ0MwMEIzMDAyMEIyMEIyMDQyMTIwNDczCis6MTBDM0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBCQTAwM0Y4ODA3Cis6MTBDM0UwMDAyRUUwNDM1OTg4REUwMDMzQjAwRjZDMDNFODAwRkEwMEZBCis6MTBDM0YwMDAzRTgwMkNBMDAzRTgwNEZBMDAyM0I4MEZFMDhCM0EwNDM3Cis6MTBDNDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDRGODAxM0UwMDY5Cis6MTBDNDEwMDAwOTgyMjFFMDAwRjg0MEJFMTQwRjg0ODFFMDAwRTgwMEFBCis6MTBDNDIwMDAzRTAwMUY4MDAzRTAwMEY4MDBCRTAwMEY4ODAzRDIwMDJBCis6MTBDNDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBFMTAwMzI0MDdECis6MTBDNDQwMDAwQzkwNDNFNDIwRDkwMDNDNDQwODkwMDMyNDAwRjkwMUY3Cis6MTBDNDUwMDAzRTQ4MEYxMDQzMjUwMEM5MDBCMjQwMEM5MDAzMDIwNDZGCis6MTBDNDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTAwQTA0MDFCCis6MTBDNDcwMDAwODk4MDJFNjA4QTk2MDJFNDkwODk0MDIyNDAwQjkwMDMxCis6MTBDNDgwMDAyRTcwMEI5MDAyMjYwMjg5MDBBMDQwMEE5MDBBMjAwMDFDCis6MTBDNDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTAwMjI0MDMwCis6MTBDNEEwMDAwODk4MDRFNjAwOTk4MDJFNDAwQUIxMDIyNDAwQjkwMEUxCis6MTBDNEIwMDAwRTQwMEI5MDBBMDQwMDgxMDEyMkMwMDgxMDAyMDYwMDAxCis6MTBDNEMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODBCMTIwMjI0ODYxCis6MTBDNEQwMDAwODE4MDZDNDAwQTEwMDJDNDgyQTMwMDIwNDgwQjEyMkFBCis6MTBDNEUwMDAyQzQ4MEIxMjAyMDU4MDgxNjAyMjUwMEExNDAyMDIwMUJFCis6MTBDNEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODUwMzIxNDQ4Cis6MTBDNTAwMDAwQzg1MDNFMTQwRDg1MDNFMTQwRTgwMEIyMTQwRkEwMDA4Cis6MTBDNTEwMDAzRTk0MEY4NTAzMjAwMEMwMDAzMjAwMEM4MDAzMkUwM0UwCis6MTBDNTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDFGOTEwM0Q0NTU2Cis6MTBDNTMwMDAwRkQwMDNGNDAwRkYwMDNGNDUwREQwMDNFNDQwRjkxMDk1Cis6MTBDNTQwMDAzRjQ0MEY5MTAzRTQ0MkY5MTAzRjQwMEZENDAzRTYwNjQ1Cis6MTBDNTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU0MDBGOTAwM0U0MEYzCis6MTBDNTYwMDAwQ0QwMDNGNDA4OEQwMjNGNDAwRkQwMDNFNDAwQ0QwMDRGCis6MTBDNTcwMDAzMzQwMEM5MDAzMjQwMEY5MDAzMjQwNEM5ODIzMDYwMDBECis6MTBDNTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBFODAwMkUwMEZECis6MTBDNTkwMDA0ODgwMDJFODAwRDAwMDJFODAwQjgwMTJFMDAyODgwMDY0Cis6MTBDNUEwMDBBMjAwMEE4MDEyMjIwMEI4ODEyMjI4MDhDRjAyMEUwNEJECis6MTBDNUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDVECis6MTBDNUMwMDAyODEwMDJDNDAwODEwMDJDNDAwQjEwMDJDNDAwOTEwMDBFCis6MTBDNUQwMDAyNjQwMDkxMDAyNTRBMEI1MkNBNTQyMDg1MDgyMDIwMTQxCis6MTBDNUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDBBOTAwMkU1MEUzCis6MTBDNUYwMDA1ODkwMDJFNDgwOUIwMDJFNDU4QjkyMDJFNDAwOTkwMDQzCis6MTBDNjAwMDAyNjQ0MEI5MDAyNjQwOEI1MDAyNTRBMDg1MTAyMDYwNDJFCis6MTBDNjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTAwM0U1NDk2Cis6MTBDNjIwMDAwQzkwNDNDNDAwQzk5MDNFNzAwRjk4MDNFNDAwRDkwMEY5Cis6MTBDNjMwMDAzNDYwNEQ5MDBBNjQwMEY5MDAzNjQwMkM5RTAzMjgwNEIzCis6MTBDNjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAwM0M0MDM4Cis6MTBDNjUwMDAwRjlDMDNFNjMwRjkwMDNFNjIwRjkwMDNFNDAwRTkwMDBFCis6MTBDNjYwMDAzQTQwNEU5MDAzQTQwMDc5MEMzQTQwMEY5MDFCQ0EwMDQ4Cis6MTBDNjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODAwM0UwMDRDCis6MTBDNjgwMDAwQzgxMTNFMTA4Qzg0ODMyMDAzQzgwMDNDMDAwRjAxMDYwCis6MTBDNjkwMDAzRTA2MEM4MDAzRjAwOENDMDAzMzA0MENDMDAzMEEwNEVGCis6MTBDNkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCQTAwMkU4MEFECis6MTBDNkIwMDAwOEVDNDJGQTIwOEUwMDIzQTAwOEU4NDJFODAwQkU4MDgxCis6MTBDNkMwMDAyRjgwMDhBMDAyRTgwMERBMDAyMjgwNDhFMDAyMEEwMDc5Cis6MTBDNkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzAwMkNDMDAyCis6MTBDNkUwMDAwOTM0ODJDOTAwODM4MDIwRjAwODMwODJDQzAwQjM4MEY2Cis6MTBDNkYwMDAyQ0YwMDhCMDAyQzEyMDgwMDBBMDMyMDgwMDAyMEEwMDFECis6MTBDNzAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDQzBCNzAxMkZDOEFECis6MTBDNzEwMDA4OTUwMDJEODAyODdDNDIxRTI0ODcwODJEQzAwQjcwMDQ5Cis6MTBDNzIwMDAyQzQwMDg3MjAyQ0UwMDk3MDgyM0MwMDg3MDAyMjgwMDJGCis6MTBDNzMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGN0UxM0RFOEVFCis6MTBDNzQwMDAyRDY4MDNGMjAwQzc4MEIwRTAwODY4MDNERjgwRjY4MDQwCis6MTBDNzUwMDAzREUwOEM3RTAzREEwMENDODAzMTIwMENDODBCMkEwMjJECis6MTBDNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDhGQjAwM0NDMEY5Cis6MTBDNzcwMDAwRTgwMDNFMDA4RjkwMDNFNDAwRkIwMDJFQzAwRkEwMDIyCis6MTBDNzgwMDAzRTQwMkZCMDAzRTQwMEZCMDAzQ0MwMkZCMDAzQzIwNkM0Cis6MTBDNzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjkyN0ZFQTNDCis6MTBDN0EwMDAwQ0Y4MDNGRTAwQ0NBMDNGMjAwREY5MDMzRTAwQ0Y4MDIzCis6MTBDN0IwMDAzMzYwMEZGODAzRjYwMEVGODQzM0UwMkNDODAzMDAwMDY5Cis6MTBDN0MwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCNzAwMkZDOEY2Cis6MTBDN0QwMDAwODU0MDJEODAwRDYwNDJEMDEwODY5MDIxQzAwODUwMDA3Cis6MTBDN0UwMDAyMTQzMEI3MDAzOUFDMDhDMDBBMzAyMDhGMTAyMkEwNEIzCis6MTBDN0YwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAxMkRDQzhDCis6MTBDODAwMDAwODcwMDJENDAwOTQyODJEQzIwOEMyMDI1QzAwODYwMDgxCis6MTBDODEwMDAyMTgwMEI3MTAyREMwMEE3MTAyMUMwMDg0ODAyNDAwMEYzCis6MTBDODIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDhCMzAwMkNGMDExCis6MTBDODMwMDAwODA1MDJDMDIwOTA4MDJFMDAwODAwODI0QzAyODAwMDczCis6MTBDODQwMDBBMDYxMEIzMDAyQTAwMDgwMDBBMDMwODhCMTBBNDgwNDJCCis6MTBDODUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGRjAwMkRDODNCCis6MTBDODYwMDAwQzNEMDNFNDAwREIwMjNFRjAyQzkwNEI3QzAwQzEwMDQ5Cis6MTBDODcwMDAzMjIwNEZGMDEzRTAwMEU4MDEzMjAwOENBQzAzNkEwNDcwCis6MTBDODgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjA0M0VDMkRECis6MTBDODkwMDA0RkIwMDNFMDA0RkE0MDNFQzI0RTk4MjNBQzEwRjgwMEJCCis6MTBDOEEwMDAzRTUwMDdCMDEzQUMwMEZCMDAzRUMyMEY5MjAzQTAwMDQ1Cis6MTBDOEIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDRjAwM0ZDMDhECis6MTBDOEMwMDAwQ0M4MjMzNjgyQ0Y4MDNGODAwQ0UwMDNFQzAwRjkyMEI3Cis6MTBDOEQwMDAzM0MwMEVGMDAzRjgxMERDMDAzMzAwNENFODIxMDA0NEI0Cis6MTBDOEUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDBBQjAwMkVDMDhFCis6MTBDOEYwMDA0QThENDIyMTAwOEI0MjJFRDIwOEIwMDNFQzAwQjg4ODRBCis6MTBDOTAwMDAzNDYyMERCMDAyRTQwMDhCMDAyMkMwMDg5MDBBMjA0MDdGCis6MTBDOTEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAwMkVDMERECis6MTBDOTIwMDAwOEEwMDIwRDAwODkxMDJFMDgyODkyMDJFQzA0QkIwMDFBCis6MTBDOTMwMDAyMkEwMDhCMDAyNjQwMkIzMDIyMEMwMDhBMjAyQTAwMDM0Cis6MTBDOTQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBBMzAwMkVDMEZFCis6MTBDOTUwMDAwQTkwMjIwQzEwODAwMDJDMDAxODAyODJDQzAwQjAwMDNCCis6MTBDOTYwMDAyNjQwMDkzMDAyQzgyMDgwMDAyMDAwMDgxMDA2ODIwMUZECis6MTBDOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQjAwMkVDMDg1Cis6MTBDOTgwMDAwQ0ExMDIyNDAwODgwMDNDMDAwQzgwMDNFQzAwRkIwMDlBCis6MTBDOTkwMDAzMjgwMEVCMDAzQ0M4MERCMDAzMkMwMENBMDAzODAwM0Q5Cis6MTBDOUEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0ZDMDgwCis6MTBDOUIwMDA0RkMyMTNENDEwRkMwMDNGMDAwRjAwMDNCQzAwRkMwMDZBCis6MTBDOUMwMDAzRjQwMEZGMDIzRTAxMkZDMDFCRjAwMEZEMDAzNjgwMkNDCis6MTBDOUQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMDBDNzgwMzNDMEVDCis6MTBDOUUwMDA4QkI0MDNCMEMwQ0YyRTFGMEM0RkMzMDMzMDgwRkYwMUE4Cis6MTBDOUYwMDAzRjA4MEZGMDAwN0MwMEZGMjEzM0U0MENFMDAzMzAwMDFGCis6MTBDQTAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVFMDA4QjgyMjNGMDE4Cis6MTBDQTEwMDAwQkI1MTIwRDg4ODhDMDBFOTgwQjg2MDIyMTAwQkJDMDkyCis6MTBDQTIwMDAyRUU0NEJGNzgzMkY0NEJGOTAyMkM4NDhBNjgyMjAwNEVGCis6MTBDQTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDk4QTAwMjA1MDZBCis6MTBDQTQwMDA0QkIyMEE4MENDODMwMTBDOEMwQjIzMEEwNDYwQjMxNDE0Cis6MTBDQTUwMDAyNDQwNEIzMDAyQ0MxMEIzMDAyMEM4RTkxMTA2NjIwMTFCCis6MTBDQTYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDE4QTgwQTI0NEU0Cis6MTBDQTcwMDAwQkIwMDJBMTA0ODg0MDJFQTAwQjIwMDIyODIwQkI0MDRFCis6MTBDQTgwMDAyRTQwMEJCMDAyMkMwOEJCMDAyMkMwMDlCMDAyNzAwNDdCCis6MTBDQTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBDMzgzMzJFMDlECis6MTBDQUEwMDA4RjAwMDNBMDAyQ0JDNDNFMjgwNzhCMDMyMTAwRjlDMEVFCis6MTBDQUIwMDAzRTEwMEZCMDAzRUMwMDdCMDAzMkMwMERBMDAzNTAwNDA5Cis6MTBDQUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDJGRjAwM0ZFMDU5Cis6MTBDQUQwMDAwRkY0NDM1RTgwRkM5NDNGMDAwRkMwMkJGMjUwRkQyMTA5Cis6MTBDQUUwMDA3RTg0OEZGMDAzNkMwQ0ZGMDAzRkMwMEU2MjAzQjgwMDIxCis6MTBDQUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBFQjAwMzI0MDdECis6MTBDQjAwMDAyQzgwMDM2OTAwQ0IzMEIyMDA0RkIzNDNFNTAwQ0I0MDJCCis6MTBDQjEwMDA3MjE4MkNCMDAzRUMyOEMzMjEzQUMxMEY5NDAzMTAwNEZGCis6MTBDQjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNDMDA4QjIwMjI1MEJGCis6MTBDQjMwMDAwOEIwMDIyODAwODhDMDJBMDA4QkI0MDJFODAwREIwMDlECis6MTBDQjQwMDA2MjMwMDhGMDAyRkMwMDhGODAyMkMwMEI5NTQ3MzIwMDUzCis6MTBDQjUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMTAwMjBDMkQxCis6MTBDQjYwMDA0ODMwMDI0OTgwODM0MjYwMTIwQjMwMDJDODAwODIwMkMyCis6MTBDQjcwMDAyQzMwMDlCMDAyQ0YwMTgzNTAyQUMwMEIyMDAyQjgwMDJDCis6MTBDQjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDA5RDgwQTBFMDc5Cis6MTBDQjkwMDAwODc5MjI1RTYwODc5MDI5QTAwQjc4MDJDNjAwOTI4MUY2Cis6MTBDQkEwMDAwNUUwMDk3ODAyREU0MDg3ODAyMUUwMEIyOTAyMDgwMEI5Cis6MTBDQkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNDBGMjAwMzBDMEI3Cis6MTBDQkMwMDAwODNBMDM0NDA0QzMxNDMwQzAwRjIyMDNDQzgwQzIwMENGCis6MTBDQkQwMDBBNEQyMEQzMDEzQ0MyMEMzMDAzOEM0NEYwNDQzMTIwMjNBCis6MTBDQkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDlDMDBFRTAwM0ZFMDNGCis6MTBDQkYwMDAwRjcwMDNCNDAyRjQxMDNGQzA4RkEwMDNGQzAwN0UwMDRFCis6MTBDQzAwMDAzQkMwMEVGMDgzRUMwMEY3MDAzRkMwMEZDMDAzRDAwNjFFCis6MTBDQzEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZDMDBGOTAwM0VDMDE0Cis6MTBDQzIwMDAwRkEwMDNBQTEyQ0IwMTMyODAwRkIwMTMyODE0Rjk4MDkxCis6MTBDQzMwMDAzQTQwMDNCNDAzRUM0MkNCMTgzRUMwMEZCMDAzMkEwMEM1Cis6MTBDQzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlEMDBCNTAwMkRDNEQ4Cis6MTBDQzUwMDAwQjcwNEI3QzAwODQwMDIxODAwQjcwMDI5NDEwQjIwMDlBCis6MTBDQzYwMDAyOUMwMEI3MjgyREMwMDg3MjAyREMxMEU3MDAyMTIwNEQ1Cis6MTBDQzcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMkRFMEIyCis6MTBDQzgwMDAwQjY4MDI5RTAwODM4MDIxRTA1QjM4MDIxRTAwQjRDMDY2Cis6MTBDQzkwMDAyNUUwMDk3ODMyQ0UwMDk3ODAyREUwMEI1QzRFMzAwMDA1Cis6MTBDQ0EwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzQ0MkNDMDU5Cis6MTBDQ0IwMDAwQjNDMDJDQzQwOTMwODIwRTAwQjMwMDI4QzEwQjNDMDM4Cis6MTBDQ0MwMDAyOEQ4MUIzMDAyQ0MwODkzMDE2Q0MwMEFCODgyMTIwNDI5Cis6MTBDQ0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGNjEwM0U4MEJCCis6MTBDQ0UwMDA0QkVEODNCODAwQ0VFNEIzQTMwRkUwMDMzODAwRkUwMEExCis6MTBDQ0YwMDAzQjgwMERBMDAyRTgwMERBMDAzRTgwMEZFODAyM0EwNDEzCis6MTBDRDAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTBGODQwM0UwMDE1Cis6MTBDRDEwMDAwRjgwMTM2MDAwRTAwMDNFMDA0MzA4MDNFMDAwRjgwOEM1Cis6MTBDRDIwMDAzQTAwMEY4MDAzRTAwMEU4NDAzRTAwMEU4MDIzRDIwMDZFCis6MTBDRDMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEM0MDBEOUMwQkU0MDUwCis6MTBDRDQwMDAwRjkwMDNFNjAwRjkwMDMyNDAwMTlBMDMyNDAwRjkwMDM1Cis6MTBDRDUwMDAzRTQwMEY5MDAzQzQ0MDA5MTAwRTQwMEY5QTAzMDIwNDk2Cis6MTBDRDYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDQ4OTA0QTI2MDE4Cis6MTBDRDcwMDA4QjlEODBBNjAwQjk4MDIyNDA0ODk4MDIyNDAwQjkwMDBCCis6MTBDRDgwMDAyRTQwOEI5MDAyRTQ5NDg5NjAyRTQwMEI5NDBCMjAwMDdGCis6MTBDRDkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5OTA4QUU0OEFCCis6MTBDREEwMDA0QjEwMDJFNTgxQjkxMDIwNDQxQjk0MDIyNDEwQjkwMEY1Cis6MTBDREIwMDA2RTYwMEI5MDAyRTQwMDg5MDAyRTQwMEI5NDAyMDYwMDg2Cis6MTBDREMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODA4OTAwQTA2ODAyCis6MTBDREQwMDAwQjEyMDI4NDg5QjEyMDIwNDgxQTEyMTIwNDgwQjEyMjU5Cis6MTBDREUwMDAwQzQ4MEIxMjAyQzQ4MUExMjAyQzQwMEIxMjAyMDIwMTNDCis6MTBDREYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBEODAwQkUwMDc4Cis6MTBDRTAwMDAwRjA1MEJFMTQwRjgwMDMyMTQwRjg1MDMyMTQwRjgwMEI0Cis6MTBDRTEwMDAyRTgwMEY4NTEzRTAwMkM4MDAzRTE0MEYwNTAxMkUwMzdCCis6MTBDRTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0NDBGRDAwQkY0NEQ5Cis6MTBDRTMwMDAwRkQxMDNGNDQwN0QxMEJGNDQ0NUYxMkJGNDQwRkQxMEE5Cis6MTBDRTQwMDAzRjQ0MEY5MTAzRTQ0MEQ5MTAzRTQwMEZEMTAzQTYwNkEyCis6MTBDRTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MDBGRDAwMUY2MkQxCis6MTBDRTYwMDAwRkQ4ODIzNjAwQkRBMDNCNjgwQ0RDODMyNkM4RDlBMDUxCis6MTBDRTcwMDAzMzYwMEQ5OTgzNTYyMEQ1QTgyRTQ0MENEODgzODYwNEEwCis6MTBDRTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxNDhCODAwMkUwMERCCis6MTBDRTkwMDAwQjBBODIyMjIwQjg1MDIyQkEwODhBMjIyMjgwODgwMEY3Cis6MTBDRUEwMDAyMjAxMDgwQzAyMjAwMDg4MDAyRTI4ODg4ODAyQ0UwNDY3Cis6MTBDRUIwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwMkM0MDU0Cis6MTBDRUMwMDAxQjEwMEE4NDQwQjEwMDI4NTgwQTMyMDIwNTAwOTk0MDFDCis6MTBDRUQwMDAyMDY1MDkxMDQyQzQwMDkxMDAyQzQwMEEzMDgyQzIwMTMyCis6MTBDRUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCOTAwMkU0MERFCis6MTBDRUYwMDAxQjkwMDJBNTgwQjkxMDIyNDgwODEwNDIwNDEwMDkwMEI2Cis6MTBDRjAwMDAyMjQwMDg5MDAyRTQwMDlCMDAyQzQwMEE5NDIyQzYwNEIwCis6MTBDRjEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTIwM0U0MDgxCis6MTBDRjIwMDAwRjkwMTNBNzEwRjk2MEJBNTAyRTlDMEEyNTg0RDFGMEY3Cis6MTBDRjMwMDBCMjYwMEQ5MDAzRTQwMEQ5MDAzRTQwMEU5MDAzQTgwMEJCCis6MTBDRjQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MENGOTkwM0U2QTY3Cis6MTBDRjUwMDA4RjkwMjM2NjAwRjEwODNDNDAwRjlDNDNFNDQwRjk4MDI5Cis6MTBDRjYwMDAzQTQ0MEY5MDAzMjQwNEU5MDIzRTQwMkQ5MTEzQ0EwMDc1Cis6MTBDRjcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBFODIwM0UwMTMyCis6MTBDRjgwMDAwQzAwMDNBMTIwRTg1MDMyMTAyQzhDMDMyMTAwRTgwMDkzCis6MTBDRjkwMDAzMjAyMEYwMDEzMjA4OEM4MDgzMjAwMEY4QzAzQ0EwMDI5Cis6MTBDRkEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MjA4RUUzMkY5MEJDCis6MTBDRkIwMDAwQUUwMDYzQjAwRUUwNDIzOTAwOEUwMDIyODA4OEEwMkZCCis6MTBDRkMwMDA3NTkwOEJBMDQxNTg5MDhFODAyQTgxMEJFMDAzOEExMEM3Cis6MTBDRkQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRFMDBBMzAwNkM2MDI3Cis6MTBDRkUwMDAwODM4MUE4RTQwQTA4MDIwQ0MwOTMwMDIwQzA1QTMwNDFBCis6MTBDRkYwMDAyOEM0MEIzMDAyMEQwMTgzQzAyMEMwMEIzMDAyQ0EwMEQwCis6MTBEMDAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDg4NzAwMkQ2MkYzCis6MTBEMDEwMDAwQjcwOTIxQzA4QTAwMDYxQzAwOTYwMDYxQzgwQTcwMDZDCis6MTBEMDIwMDAyMUMwMEI3MjAyNTgwMTg3ODgyOUMwMEI2MDEyQTgwMDJBCis6MTBEMDMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBFNjgwM0Q2MERGCis6MTBEMDQwMDAwQzc4NDI5NjAwRTQ4MEEzNjAwRDc4MDMzRjAwRTM4MEYzCis6MTBEMDUwMDAyMUUwMEY3QjAzMTYwOEM3ODAzMUUyNEY3ODQzRUEwMkQ0Cis6MTBEMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxRDhDMDFGODAwM0M0MDlBCis6MTBEMDcwMDAwRUIwMDJFQzAwRjgwMTNFNDA0RTMwMzNFRDIwREIwMUYzCis6MTBEMDgwMDBCRUMwMEZCNDAzRUMwMEZCMDAzRUQ4MEZBMDAzQzIwNkU1Cis6MTBEMDkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDNzg0MjM2MDVGCis6MTBEMEEwMDAwQzc4MEJCRTAwRkQ4MDNGRTAwRkVCMDMzRTAwQ0Y4MDBECis6MTBEMEIwMDAzQjI1MENGODgzN0U0MENEODAzM0UyMEJGOTAzMDAwMDYyCis6MTBEMEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDI4NzAwMTU0OEI1Cis6MTBEMEQwMDAwODcwMDIxNDIwQjYwMDM1OUE0OUM4MDM5Qzg0QTcwMDQyCis6MTBEMEUwMDAzOUQwMEE3MDAyMUEwOEE0MDAyMUMwMDk2MTQyMkEwNDNBCis6MTBEMEYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NzAwMjE0MDRDCis6MTBEMTAwMDAwODcxMDI5NDAwQjUwMDJENDAwQkYxMjI1QzAyMDcwODYzCis6MTBEMTEwMDAyQzUwMDg3MDAyNTAwMDg3MDAyREM0MEI1MDQyMDAwMEI0Cis6MTBEMTIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDA4MzAyMjQ0MEY2Cis6MTBEMTMwMDAxODNEMEEwMTAwQjA1ODI0MjAwOTMwMDI4RjQwODNFMEQ2Cis6MTBEMTQwMDAyQ0MxMEEzMDQyMDgwMEIzMDE2Q0MwMDkwODE2MDgwNDVCCis6MTBEMTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNThDMDA4QjAwMzI0MDU5Cis6MTBEMTYwMDAwQzI1MDNBODQ4Rjg4MTNFODAwRjgwNjM3QzAwQ0I4MEFCCis6MTBEMTcwMDAzQUMwMENGMDAzNkMwMENBMDJCRkMwMEY5ODhCMkEwNDlGCis6MTBEMTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGOTAwM0U1MDRDCis6MTBEMTkwMDAyRkE0MEJDODAwRjA0MDNFRDAwRkEwMzNFQzIwRkIwNEJFCis6MTBEMUEwMDA3QUUwMEZCMDAzRUQwOEU5MDMzMkMwMEQ5MDAzRTAwMDEwCis6MTBEMUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEVDNDBFRTAwM0VDMDE2Cis6MTBEMUMwMDAwQ0RBMDM3MDA0Q0MwMkIxQTAwRUYwMjNFQzAwRkYwMEQ3Cis6MTBEMUQwMDAzNzIwQ0RCMDczRUM4OEZCODAzRkMwMEYzMDAzMDA0NDk0Cis6MTBEMUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZFMDA4ODgwMkNFMTA3Cis6MTBEMUYwMDAwODk0MEFBOTAyODg0MDIyRDAwOEI5NDJFQzA0QkIwMDc2Cis6MTBEMjAwMDAyQ0Q0MERCMDAyRUQyMEJCRDAyRUMwMEJCMDAyQTA0MDNDCis6MTBEMjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI0MDBBQjgwMkVGMDBDCis6MTBEMjIwMDAyOUEwODI2RDAwODgwODIyMDQwODkwNDJFQzAwQkIwMDBGCis6MTBEMjMwMDAyQTgxMDhCMDAyRTQwOUJBMDQyRUMxNEI5ODgyMjAwMDZBCis6MTBEMjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MzAwMkNDMDFGCis6MTBEMjUwMDAwQTIxMDI4NDEwODIwMEUwMDAxODBBMTJDQzAwQjMwMEY4Cis6MTBEMjYwMDAwQ0MwMDkzMDAyQ0M5MEIwMDAyQ0MwMEIxMDAyODIwMTFGCis6MTBEMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY0MDBFQjAwM0UwMDE0Cis6MTBEMjgwMDAyQ0I0MDM2NDA4ODgwMEIyMDAwQ0IyNDNGQzAwRkIwMDFECis6MTBEMjkwMDA1NjAwMENGMDAxRTQwMEZCMDAzRkMwMEY4MDBCMDAwM0MwCis6MTBEMkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDBGRjAwM0Y0MEZGCis6MTBEMkIwMDAyREYwNjFGMDAwRjQwMDI3MDEwREIxMTFGQzAwRkYwMjE4Cis6MTBEMkMwMDAwN0MwMEZGMDAzRUM0MEZGMDAzRkMwMEZDMDAzNjgwNjJCCis6MTBEMkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY2MDBFRjkwM0Q0QzFCCis6MTBEMkUwMDAyQ0MwMTNGNDA4RkQyMDM3NEM4RTgyODM3NDg0RENDMjdBCis6MTBEMkYwMDAzRkQ4MERGMjAzRUNDMEZGODEzRjAwMENGODAzRjAwMEIzCis6MTBEMzAwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEU2MDA4QjI0MkU1Q0ZFCis6MTBEMzEwMDAwODhEMDJGRjQ4Qjk5MDJGNTQwQjg0ODIzRTQwQTA4MEI0Cis6MTBEMzIwMDAyRUM0MEFGQzQyRUQ4MEI5ODAyRTYwMEE5ODEyRTAwNEY3Cis6MTBEMzMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUU0MDFBMzAwMjg0ODM4Cis6MTBEMzQwMDAwQTAwNDJDNDAwQjEwMDJDNDkwQjBBNDIwNEEyOTEyMUY4Cis6MTBEMzUwMDAyQ0M5MDgzMTAyOENDMUEzMDAyQzQwMDgxODAyQTIwMTdDCis6MTBEMzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUEwMjA4QjgyMkU0NDM5Cis6MTBEMzcwMDA1ODgwMDJFNDAwQkIxMDJFNDAwQkExMTIwQzAxODkxMDUyCis6MTBEMzgwMDAyRUMwMEFCMDAyRUMwMUI4ODAyRUUyMEFBMTAyRjAwNDFECis6MTBEMzkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVCNDBFQjQwM0U2MEU0Cis6MTBEM0EwMDAwRTg3MzNFNDAwQjlBMTM2QzAwRUE4MEIyNjAwREFDMDAwCis6MTBEM0IwMDAzRUMwOERCMDAzRUMwMEZCODUzRUUxMDhCODAzOTAwNTRDCis6MTBEM0MwMDAyMDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRjAyMkY2MDE0Cis6MTBEM0QwMDAwM0U4ODNGQzEwRkQ4MDFGNDAxRkQwMTNCRTQwRUUwNDA1Cis6MTBEM0UwMDAzRkMwMEZGMDQzRkMwOEZEMDAzQ0MwMEZEMDExRjgwMDE3Cis6MTBEM0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBEQjAwQjI0MDBDCis6MTBENDAwMDAwRTk0MDMyNDAwRDkwMEJBQzAwQzIwMDNFNDkwRkIwMDYyCis6MTBENDEwMDAzQUMwMENCMDAzRUMwMUZBMDAzRUQwMkM5ODAzOTAwNDAzCis6MTBENDIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTAzMDA4QjAwMjI0ODE3Cis6MTBENDMwMDAwODg0MjIyQzAwQjkwMDIyQzAwOEEwMDJFRDAwOEJBMEI1Cis6MTBENDQwMDAyMUMwMDhGMDAyRkMwMEI5ODAyRUMwMDhBMDAyMzIwMDAyCis6MTBENDUwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ1MjA5MzAwMjJGODk1Cis6MTBENDYwMDAwQjMwMEE4NDQwQjIwMDIwNDAwODEwMDJDNDAwODA4MEMzCis6MTBENDcwMDAyOEMwMjgzOTAyNEMwMEIxMDAyQ0MwMDgzMDAyQjgwMDg2Cis6MTBENDgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTM2MDA5RjgwMjE2MDU1Cis6MTBENDkwMDAwOTM4MDI5RTAwQjJDMDIwNjA0ODQ4MTJENkM2ODZEMDI1Cis6MTBENEEwMDAyMUUwMDg3ODAwREU4MEI3ODIyREUwMDhGODAyMDgwMDRECis6MTBENEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMjBEMzEwMzBDOEQ1Cis6MTBENEMwMDAwRjMwMDM4NDAwRjEwMDMwNDAyNDE5MDNFNEMwRTA0MDMxCis6MTBENEQwMDAzQUMwMEMzMjAzQ0U4MEIxMjgzQ0MwMEMzMDEzOTIwMjBCCis6MTBENEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxRDlDMDBFNjAwN0ZDMDFFCis6MTBENEYwMDAwRUYwMjM3NDQwRkYxMDNGNDA0RkQwMDNGQ0QyQ0UwNDA3Cis6MTBENTAwMDAzRkMwMEZGNDAzRkMwMEZFMDAzRkMwMEY3MTAzRDAxMkI4Cis6MTBENTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVFMDBDQjAwMTZDMDZGCis6MTBENTIwMDAwRDgwMDMyNzIwQ0IwMDNFQzIwQUIwNTNFNDI4QzE4MUZFCis6MTBENTMwMDAzMkMxMEVCOTAzMkMwMEYxODAzNUUwMENCODAzMkEwNDg3Cis6MTBENTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDI4NzEwMkQ0MDcwCis6MTBENTUwMDAwODcwMDM1QzAwQTcwMDJENDAyODcwMDJENDA0ODcwNEUzCis6MTBENTYwMDBBMUQwMEI3MjAyMUQwMEY3MDAyMUMwMEQ1MDAyMTIwNDYxCis6MTBENTcwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NTgwMjVFMEUzCis6MTBENTgwMDAwOTc4MDIzNzAzODc4MDJGRTAwODc4MTJDNjEwOEQ4MDUzCis6MTBENTkwMDAyNUU4MEIzODAyMUU4MEJDODQyNUUwMDg1ODAyNzAwMDg0Cis6MTBENUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENEODA4Mzg4MkNDMEJCCis6MTBENUIwMDAwODNDMDI0RTAxQTNEMjJFQzQwOEIxMDJDQzAwODM4MEU1Cis6MTBENUMwMDAyNEMxMEIzMDAyMEMwMEIzNDBBMEQyMDkzMDEyNTIwMDJCCis6MTBENUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBMDBDQUMwMzY4MDI0Cis6MTBENUUwMDAwRDY3MTMyODAwQ0UwMDNFQTAwQ0VEMDNFODAwQ0VFMDRFCis6MTBENUYwMDAzNjgwMUVBMDBCMjgwNEZFMDBCN0IyMENFMDBCN0EwMEE4Cis6MTBENjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwNDBGODEwMkUxMDBDCis6MTBENjEwMDAwRjgwMDNFMDAxRDgwQTNFMDAwRjgwMDNDMDAyRjgwODIzCis6MTBENjIwMDAzQTAwMEY4MDAzRTAxMEU4MjBCRTAwMEY4MDEzOTIwMDQ0Cis6MTBENjMwMDAyMDAwMDAwMDAwMDAwMDAwMDgxMEU1MDBGQjAwM0U0MDU0Cis6MTBENjQwMDAwQzkxMDMyNjAwNjE4MDMyNDAwQzkwMDMyNDAwQzkwMDM1Cis6MTBENjUwMDAxRTQwMEM5QzAzRTQwMUY5MDAzRTQwMEY5MDAzQzIwMDAxCis6MTBENjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY3MDBCOTAwMkM0MDdBCis6MTBENjcwMDAwMDlDMDJBNjAwNzkwMDIyNDAyODkwMDIyNDAwODkwMDI0Cis6MTBENjgwMDAyQzQ0MDg5ODAyRTQwMEI5ODAyRTQwMEI5MDAyRTAwMTdGCis6MTBENjkwMDAwMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBCQjAwMjY1MDFDCis6MTBENkEwMDAyODkwODIyNDg0OTkyMDIyNDA0OTkwMDIyNDAwODkwMEY1Cis6MTBENkIwMDAyRTQwMDg5MDAyRTQwMEI5NjAyRTQwMEI5MDAyQzYwNDkwCis6MTBENkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA2MDBCMTAwMkU0OEUxCis6MTBENkQwMDAwODEyMDI4NDgwQjEyMEEwNDgwOTEyMEEwNDgwODEwMDQ3Cis6MTBENkUwMDAyQzQ4MjgxMjQyQzQ4ODMxMDAyQzQwMEIxODAyQzIwMTc5Cis6MTBENkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBGODUwMzYxNDczCis6MTBENzAwMDAwQzgwMDMyMDAwRTgwMDMyMTQwQzg1MDMyMTQwQzg1MDJGCis6MTBENzEwMDAzRTE0MEM4MDAzRTE0MDM4MDAzRTAwOEY4MDAzRUUwMzhFCis6MTBENzIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREQ0MDBGQjA0M0Q0NEEwCis6MTBENzMwMDAwRjUxMjNENDQ4RUQxMDNENDQ0RUQxMjNGNDQyRkQwMDU3Cis6MTBENzQwMDAzRTQ0OEY5MTAzRTQ1OEZEMDAzRjUwMEY1MDAzRTYwNjFFCis6MTBENzUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY0MDBGOTAwM0Q0MEQyCis6MTBENzYwMDAwQ0QwMDNGNDAwREQwMjNFNDAwQzkwMDNFNDQwQzkxMEVECis6MTBENzcwMDAzNzQwMDdEMDA3MjQwMEU1MDAyRjZBMEY3MDAzMDYwMDJBCis6MTBENzgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBCODAwM0EwMDBGCis6MTBENzkwMDA4MDgwMDJFMDAwODgwMDJFMDAwQTgwNTNBMjgwMkNBMDI2Cis6MTBEN0EwMDAyMjAwMEI4MDBBMjAwMEI4MDAyRTEwMDk4MDAzMEUwNDBFCis6MTBEN0IwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwNkM0MDBCCis6MTBEN0MwMDAyQTEwMDI4NDAxODE4MDJFNDAwOTEwMDJGNDAwOEQwNDg5Cis6MTBEN0QwMDAyMDQwMEIxMDAyODQwMEIxMDAyQzQwMEI5ODAyNDIwMTQzCis6MTBEN0UwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MjBCOTAwMkE0MEI5Cis6MTBEN0YwMDA4OEI0MDJFNjAxQTkyMDJFNDgwQTkwMDBBNDQwQUQ0MDVBCis6MTBEODAwMDAyMjQwMEI5MDEyQTQwNEI5MDEyRTQxMEI5MDAyMDYwNDkxCis6MTBEODEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOUMwM0U2MEI4Cis6MTBEODIwMDAwQzk0MTNBNjAyRDk0MjFDNjAwQzlFMDFDNjA0QzEwMEQwCis6MTBEODMwMDBCMjQwMUY5MDAyQTQwMEU5MDgzRTY4NEY5ODBCNjgwNEFDCis6MTBEODQwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE2NDBGOTIwMzg3MDk4Cis6MTBEODUwMDAwRjkxMDNFNDAwRDk4MDNFNDAwRjlDMTNBNDAwRjkwMDBGCis6MTBEODYwMDAzRTQwMEYxMDAzNjQxMEY5MEEzRTUwMEQ5QTAzQ0EwMDlGCis6MTBEODcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExMDBEODA0M0UwMDU1Cis6MTBEODgwMDAwQzgxMTNDMDAyRDgyMDNFMDAyRDg0MDNFMDAwQ0MwODk4Cis6MTBEODkwMDAzQTAwMEY4MDQzRTAwMEY4NDEzMjAwMDc4MThCMEEwNDEwCis6MTBEOEEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTNBNjA4QTAwMkZBODMwCis6MTBEOEIwMDAwQUUwMjJFODAyN0U0ODJFODAwOEEwNDJFODA0OEUwMDlBCis6MTBEOEMwMDAyM0E4MEJBODgyRTgwMEVFMDBBMjgwNEI2MDAyMEEwMEE5Cis6MTBEOEQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzAwNkNDMEQwCis6MTBEOEUwMDAwODMwMDJDQzAwMTM4MTJDQzAwODMwMDJDRTQwODI0MEE4Cis6MTBEOEYwMDAyOEUwMEIzODAyQ0MwMEIzMTAyNEMwOEIzODAyMEEwMDk5Cis6MTBEOTAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDA4NzIwMkZDMDcyCis6MTBEOTEwMDAwQTcwMDJEQzBBQjYwMDJDQzg4ODcyMDZEODAwODYwMDlECis6MTBEOTIwMDAyMUMwMEI3MDAyREM4NEFGODBBNUMwMEJEMDAyMjgwMEEwCis6MTBEOTMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBENzgwM0RBMEE1Cis6MTBEOTQwMDAxQzc4MTNENjAyRDc4MDNERUMwODdFMjNGRTAwQ0U4MEUzCis6MTBEOTUwMDAzOTYwMEY3ODAzREYwMEY2ODA3NUUwMEY3ODAzMkEwMjQ0Cis6MTBEOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxRDhDMDBGQjEwM0U4MDNECis6MTBEOTcwMDAxRkEwMjFDQzAwRkEwMDNFQzAwRUIwMDNFODAyRkEwMDVFCis6MTBEOTgwMDAzRTQwMEZCMDEzRUMwMEVBMDEzQUMwMEY5MDAzQzIwNjBDCis6MTBEOTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZDMDBGRjgwM0Y2MDA4Cis6MTBEOUEwMDAwODk5MDc3RTAwREQ4MDNGRTIwQ0Y4MDNGNjAyREY4MDc1Cis6MTBEOUIwMDBCM0UwMENGODAzM0U0MUNDODAzM0U0MEZGODAzQzAwMDIxCis6MTBEOUMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDNDBCNzAwMkRDMEFFCis6MTBEOUQwMDAwRDVBMjJEQzgwNzUwMDJEQzAwODcxMDJGMDIwODcwMEVFCis6MTBEOUUwMDAyMUMwMEE3MDAyMUMwMEQ0MjgyMUMwMEI3MjAyRUEwNDc0Cis6MTBEOUYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDNDBCNzAwMkQwMDA3Cis6MTBEQTAwMDAwODcyMjJGNDAwODcwMDJEQzIwODcwMDJENDAwODc4MEJCCis6MTBEQTEwMDAyNTQwMDkzMDAyNUMwMUFEMDAyOUQwNEI3MDAyQzAwMEU2Cis6MTBEQTIwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCQkM4MkNBMDg3Cis6MTBEQTMwMDAwOTIwMDJDRTAwQTMwMDJDRTBBODNENDJDMjAwOEI4MDRBCis6MTBEQTQwMDAyNDQwMEIzMDBBNkMwOEEzNDBBOEUwMEIzNDAyQzgwNDQxCis6MTBEQTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFEMDBGRjQ4M0MyODgxCis6MTBEQTYwMDAwQ0E5MjM2QzgwOEIwMDNGQzAwQ0ZDMDNFQzAwRDg4MDE5Cis6MTBEQTcwMDAzNDQwMEQzMDAzN0MwMkEzNDAzODY4MEYyNDAzRUEwNENECis6MTBEQTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVEODhGQjAwM0U1MEI4Cis6MTBEQTkwMDAwRkExMDNFQzA0M0FDMDNFQzAwRkIwODNFODAyRjgxMEI3Cis6MTBEQUEwMDAzQTQxMEU5MDAzQUMwMDlCMDhCNjQwMEY4MTAzRTAwMEEyCis6MTBEQUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwQjMyMDU3Cis6MTBEQUMwMDAwQzUwMTMxQzA5Q0Q4MzMzQzA4MzcwMDAzQzAwREMxMDY0Cis6MTBEQUQwMDAzMjYwMEVGMTQzMkMwMENFMDQzQjcwMENGMDgzMDA0NDA2Cis6MTBEQUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY3ODBCQjAxNjIyMTVCCis6MTBEQUYwMDA4QTg5MjAyQzAwODBFMDIyQzAwQkIwMDNEODEwOEMwNDRGCis6MTBEQjAwMDAyMjQwMDU5MDAyQUMwMEQ4ODAzNjQwMEE5MDAyMjA0MEE2Cis6MTBEQjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI2MDBCQjAwMjIwNjY3Cis6MTBEQjIwMDAwODgwMDIyRTAwODgyMDIyQzAwOUIwMDJBNDAwOTkwMEJCCis6MTBEQjMwMDA2MkM0MDhCMDA2MkMwMDg4ODAyMjQxMDhBMDAyMjAwMEEwCis6MTBEQjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMzAwMjA0MDZBCis6MTBEQjUwMDAwQTAwODIwQzAwODAwMDIwQzAwQjMwMjJBMDAwODEwMDRGCis6MTBEQjYwMDBBMEMwMDkzMDAyOEMwMDkwMDAyNDQwMEEyODAyMDIwMTYzCis6MTBEQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYwMDBGQjAyMjAwMDFCCis6MTBEQjgwMDAyQzkyMDMyQzAyODgwMDMxQzAwQkI1MDJBNDAwRDEwNEYyCis6MTBEQjkwMDAzMjQwMEU5MDAzMkM0MEM5MDAzQTQwOENBMDAzMDAwMzkxCis6MTBEQkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDBGRjAwMkYwMDQ2Cis6MTBEQkIwMDAwRkMwMDNEQzAwRkMwMDNGQzEwRkYwNDNGMDAwRkQwMDhDCis6MTBEQkMwMDAzRjQwNEZEMDAzRkMwMEY1MDAzRjQwMEZFMDAzRTgwNjY0Cis6MTBEQkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUQ4ODBDQzAwQjcwNDMxCis6MTBEQkUwMDA0RUUxMDMzQzIwREYxMDMxODAwNkYwMDM3RjAwRkZDMEQwCis6MTBEQkYwMDAzQkMwMEVGMjAzNUUwMEVGMTAzM0QwMkNGMjAzMzAwMDc2Cis6MTBEQzAwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMEU5MDA4OEM2MjA1QzIxCis6MTBEQzEwMDAwOEE0NTc2NTAwOEY1MjJBRjAwOUZDMDIwNDAwQkIwMERCCis6MTBEQzIwMDAyREQ5MDk3NDgzNjQyODgzNDQyMjg0ODgwNjgyMzAwNEIxCis6MTBEQzMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUM5MDA4MDEwMjAwODY2Cis6MTBEQzQwMDAwODMxMTIwNEIyQTMwMDIwODQxQjM0MDIwQzgwQjMyMERDCis6MTBEQzUwMDAyQ0M3MDkzNjAyOEM4MDkzNDBBQ0M4MDgzMTI4MzIwMUE5Cis6MTBEQzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE5MDA4ODAwQTI1MDRDCis6MTBEQzcwMDAwODM1MDIyNDAwOEIwNDJFQzEwOUIwMDIyNDk0QkIwMDk1Cis6MTBEQzgwMDAyRUMwMEJCMDAyQ0M2MDhCMDAyRTgwMDg4MDAwMzAwNEM4Cis6MTBEQzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU3MDJDQjE4QjI4MDExCis6MTBEQ0EwMDAyQ0FDMEEyRTA4RUIwMDMyMTI0RUIwMDMyQjgwRkIwMDg2Cis6MTBEQ0IwMDAzQUMwMEFCMDAzQUIwOEVCMDQyRTQ4MENCODgzMDAwNDRBCis6MTBEQ0MwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2ODBGRjgwMzlDQTRCCis6MTBEQ0QwMDAwREU4MDNENjQwRTcwNDNCNjY0RTcwMDNCODAwRkYwMTMxCis6MTBEQ0UwMDAzRkMwNkNGMDAzNzAwNkU3MDAzMTA0MEZDMTQzRjgwMDM5Cis6MTBEQ0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDg1MDBDQjQwMzI5MDIyCis6MTBERDAwMDAyRkIwMEI2NDgwRkIwOEJBMTAwREIwQTcyRDAwRkIwNEU4Cis6MTBERDEwMDAzRUMwOEVCMDAzNkQwMERCMDEzMjQwOEMzMzAzOTAwNEIzCis6MTBERDIwMDAyMDAwMDAwMDAwMDAwMDAwQzAwNTI0MDA4M0UwQTJEMDE1Cis6MTBERDMwMDA0MEIwMDIyNTA0QkY4MEEwNTAwOEY4MDIyMDAwOEIwMkVBCis6MTBERDQwMDAyRkQwMDhGMDAyMjQwMDhGODAzNjAxMDg4NDQyMzYwMDZDCis6MTBERDUwMDA0MDAwMDAwMDAwMDAwMDAwRTgwNTQ0MDA4MzQ4MjBDNEEzCis6MTBERDYwMDAwOTAwMDI0NjAwQjMwMUE4OTAxOTMwMTI4QzAwQTMwNEU4Cis6MTBERDcwMDAyRUUyMEFCMDAyMEMwMDgzNDkyOEMwMDkzQzAyMzgwMDk4Cis6MTBERDgwMDA1MDAwMDAwMDAwMDAwMDAwRjAwMTM2MDQ4MzgwMjFFMTEzCis6MTBERDkwMDAwODM4MTIxRTI4QjM5ODIxQTAxOTM4ODI5NjAwODc4MzZDCis6MTBEREEwMDAyREUyMDg3ODIyMzY4Qzg3ODAyREUwMDk3OTAyM0UwMDJBCis6MTBEREIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA0MDBDMzMwMzBDOEU0Cis6MTBEREMwMDA0RDAwMEI0QzgwRjMxMjM4QzAwRDNBMDI4QzgwRjMwMEVBCis6MTBEREQwMDAzQ0MwMEUzMDBCMEUwMEMzMEMzQUMwMEQzMDAzMTIwMkQzCis6MTBEREUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0MDZGRjEwM0ZDMDBFCis6MTBEREYwMDAwRkIwMTNCQzAwRkYxMDdGQzAwRUYxQTM3QzAwRkYxMjE4Cis6MTBERTAwMDAzRkMyMEZGNTIzQkM0MUVGMTgzNzgwQUVDMDAzNTAwNjY4Cis6MTBERTEwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU0MDBEQjAwM0VEQTFFCis6MTBERTIwMDAwQzgwMDM2NjEwOEIwMDMyODA4Q0I2MDM0QTAwNEI4MDU2Cis6MTBERTMwMDAzMkM4MENCNDAzMEExMERCMDAzRUMxMENCMDQzMkEwMDA4Cis6MTBERTQwMDA3MDAwMDAwMDAwMDAwMDAwQzgxMUI0MDA4NzA0MkNDMDVFCis6MTBERTUwMDAwRDcwMDMxQzA4ODc0ODIwODEwRDcyODI1QzAwRDcwMDdBCis6MTBERTYwMDAyMUNDMjhGMDAyMUMxMDg3MjAyQzAwMDg0MDBBMzIwNDI0Cis6MTBERTcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDk2MDBCNzgxMkRFMEU3Cis6MTBERTgwMDAwODQ4MDIwRTA0ODc4MDIxRTAwODc4MDIzRTAxODc4MDVFCis6MTBERTkwMDAyMUUwMTg3OTAyM0EwMTk3QTAyRDYwMDgzODAyMjAwMDhECis6MTBERUEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEM2MDBBM0M2MkNDMERCCis6MTBERUIwMDAwOTMwMDIwQzAxODMwMDIwRTAwOTMwMDI0RTAwOTMwMDdCCis6MTBERUMwMDAyMEMwNDkzMDIyMEY2NDgzMDI2Q0Q0MjgzMDAyMTIwNDJGCis6MTBERUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxMUFCODBGQUUwM0M4ODUwCis6MTBERUUwMDAwQ0UwMDIyODAyQ0EwMEIzQTkwQ0EwMDMzQjEwQ0EwMDMwCis6MTBERUYwMDBBMjgwMENBMDBCMzgwMERBMDAzRkIwMENFNjAzM0EwNDE1Cis6MTBERjAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMwMjA5ODA4M0UwMEFCCis6MTBERjEwMDAwRjgwMEJFMTAwRjgwMTNDMTA0RjAwMDNBMDQwRjgwMDE3Cis6MTBERjIwMDAzRTEwMEU4MDAzRTAwMEY4MDAzQzAyMkYwNDkzRDIwMDY0Cis6MTBERjMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBDMUMxMzI0MEMxCis6MTBERjQwMDAwQzk4MDMyNjQwRjkwMDMyNDAwQzk4MDMyNDI0RjkwMDcxCis6MTBERjUwMDAzQzYwMEMxMDAzQTQwMEY5ODIzMjQwMEM5MDAzMDIwNEQwCis6MTBERjYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTAwMjI1MDlFCis6MTBERjcwMDAwRDk4MDIyNTgwQjkwMDIyNTIwRDlDMDIyNDAwQjkwMEEwCis6MTBERjgwMDAyRTYwMDg5MDQyMjQwMEI5NDAzNjQwMDg5MDBBMjAwMEQ0Cis6MTBERjkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA4RDAwMjM0MDQwCis6MTBERkEwMDAwODEyMDIyNDAwQTExMEEyNjAwODkyOEEyNDAwQjkwMTdDCis6MTBERkIwMDAyRTQ2MDg5MDAyQTQwMEIxNTAyMjQwMjg5MDgyMDYwMDBDCis6MTBERkMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODQ4NTIwQTFEODVGCis6MTBERkQwMDAwOTEwMDIwNDgwQjMyMDIwNDAyOTEyMDYwNDAwQjEwMTc4Cis6MTBERkUwMDAyQzQ4MjgxMjAyMDQwMEIxMjAyNDQ4MDgxMjAyMDIwMTIxCis6MTBERkYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDI4QTAwQjMwMDdDCis6MTBFMDAwMDAwQzA1MDMyMTQwRTA1MEIyMDAyQzgwMDIyMTQwRjA1MDZBCis6MTBFMDEwMDAzQzE0MEM4NTEzQTE1MEY4NTAzMjE0MEM4NTIzMkUwM0E4Cis6MTBFMDIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGOTEwM0U0NDJDCis6MTBFMDMwMDAwRkQ0MEJGNDQ0RjkxMDNGNTA0RjExMDNGNDAwRjkwMEQyCis6MTBFMDQwMDAzRTQ0MEY5MTUzRjQxNEY5MTAzRjQ0MEZEMTAzRTYwMkZDCis6MTBFMDUwMDA3MDAwMDAwMDAwMDAwMDAwOTgwNUU2QTBERDg4QjM2NkFGCis6MTBFMDYwMDAwQ0RDODMzNjg4QkRBMDM3NkEwQ0RBMEIyNTAyQzk0MDY4Cis6MTBFMDcwMDAzRjc4NEY5OEIzRTUwNENEQTA3Mjc4MENEODhCMjYxNDY2Cis6MTBFMDgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzMDA4ODQyMjIzMUQ4Cis6MTBFMDkwMDAwODBBMDIyMkEwQjhGOTIyMTAwRDg0MTI2QTgwODg4MDMyCis6MTBFMEEwMDAyRTIwMEIwODAyRTI4MEE4QThBMjM4NDhBODAyMEUwMDgxCis6MTBFMEIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0QTI4MTAwMjA0ODk0Cis6MTBFMEMwMDAwODEyNDI0NTAwQjEwMDI0NDAwOTE0MDIyNDAwODEyMEI2Cis6MTBFMEQwMDAyQzU4MEIxMDgyQzQwNDkxNDA2NDZDMDgzMDgyMTIwNUU1Cis6MTBFMEUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDA4OTAwMjI0MTAzCis6MTBFMEYwMDAwODkwOEE2NDgwQjkwMDIyNTAwOTkwMDY2NDA4OTkwMDRCCis6MTBFMTAwMDAyRTQwMEI5MDA2QzQwMUI5MDIyNjYxODg5MDAyMDYwNEQ1Cis6MTBFMTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBDOTAwMjI0MERCCis6MTBFMTIwMDAyQzk0MjM2NDAwQjkwMDM2NDAwOTkwMTMwNTAwQzkwMEZGCis6MTBFMTMwMDAzRTQwNEY5MDEzRTVDMEQ5MDAyNjQwMkM5NDAzMjgwMEEwCis6MTBFMTQwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDJFOTA4M0M0MEUzCis6MTBFMTUwMDAwRjkwMEJBNDAwRjEwMDNFNDEwRjkwNDNBNDg4RTkwNDA2Cis6MTBFMTYwMDAzRTQwMEY5MDAzRTYwMEUxMDAzQTQwOUY5MjYzREEwMEUwCis6MTBFMTcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMDgwMTBFMDAxMzIwMDY0Cis6MTBFMTgwMDA4RjgwMDMyMDAwRDgwODMwMDE4QzAwMDNFMTAyQzgwNDBFCis6MTBFMTkwMDAzRTAwMEM4MDBCMjEwMEM4MDA3ODAwMEY4NjAzMEEwMEE3Cis6MTBFMUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTQwMkI4MjdGCis6MTBFMUIwMDAwQkEwMDIzQTAwOEU4MDIzODIwOEUyMDIyODEwOEEwMDE3Cis6MTBFMUMwMDAyRjk4MjhBMDEyMjgwMDhFMjAyRTgwNEJFNDAyMEEwMEVGCis6MTBFMUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDJBMjQwMjA4MDAyCis6MTBFMUUwMDAwQkIwMDI0RTQwOTNDMEEwMjAwODM2MDI4QzAwOTMwMDcyCis6MTBFMUYwMDAyQ0UyMDgzMDA2NEMxMjkzMDgyOEMwMEJCMDAyMEEwMDJCCis6MTBFMjAwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDg4MjQwMjk0MENFCis6MTBFMjEwMDAwQjcwMDI1RTA4ODQwODIzNDAwODcwMDYxQzgwODcwMDhCCis6MTBFMjIwMDAyRDIwMDg3OTEyNUMwMDk0MDAyREMwMEIzMDQyMjgwMDhDCis6MTBFMjMwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMDBFNDgwMzFBMTdBCis6MTBFMjQwMDAwRjU4MTM3NjAwRDA4MDMxQzAwQzM4MDNCRTgwRDc4MUMwCis6MTBFMjUwMDAzRjIwOEM3OTAzN0YwMUQ2ODAzOUU4NEY2ODAzMkEwMDdDCis6MTBFMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREJFMDBGQTAwM0UwMDkzCis6MTBFMjcwMDA4Rjk2MEJBNDAwRUEwMDNDQzAwRjkwMDNBQzIwRkI0MDNCCis6MTBFMjgwMDAyRTAwMEZCMjAzQURBMEVBMDAzRUMwMEZBMDFCQzIwNEQ3Cis6MTBFMjkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDhERTgxMzNBNDlECis6MTBFMkEwMDAwRUZDMTMzRTAwRkM4MDEzMjAwQzY4MDMzRTIwRkZDOEM4Cis6MTBFMkIwMDAzRjYwMURGODAzN0UwMEM3ODAzM0UyMENEODAzMTAwMEQ2Cis6MTBFMkMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NjQxMzFDNENECis6MTBFMkQwMDAwODc5NDI5QzAwQkMxMDIxNDA4NTM1MDM1QzAwQjcwMEUyCis6MTBFMkUwMDAyREMwMDg3MjAyMkMwMEE3MDEzN0MwMDg1MTQyMkEwMDM1Cis6MTBFMkYwMDA2MDAwMDAwMDAwMDAwMDAwMTAwMDhDNDA4MjAwMjQ4MUJCCis6MTBFMzAwMDAwOEQ4MDIxNDIwQjUwMDIwNDAwOTYwMDIxQzQwQjcwMDY0Cis6MTBFMzEwMDAyQzQwMEIzMDIyREMwMDk3MDAyMUM0MDg0MDAyNDQwMDRFCis6MTBFMzIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNEVDMDA5MjA2MjA5MDI1Cis6MTBFMzMwMDAzODE1MDI4NjAwQjgwMDYwNTAwOTMwMDI0RTAxQkIwMDVCCis6MTBFMzQwMDAyRTQwMEIzMDAyQ0UyMEIzMDAyNEYwNDgwMjBBNTgwNEJECis6MTBFMzUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBDQTAwQTY5NDEwCis6MTBFMzYwMDAyQzkwMDMyRTAwRkIwNUIyODUwRDkwMDMzRjkwRkYwMDFCCis6MTBFMzcwMDA3RTgwMUZGMDQzRkMyMTlBMDAzM0M4M0NCMjAzNkEwNDNDCis6MTBFMzgwMDA2MDAwMDAwMDAwMDAwMDAwOTAwMEVDMDJFQTQwM0Q4MEM4Cis6MTBFMzkwMDAwRjEwOTNFRDAwRkI0MDNFOTA4RjMwMDNFQzgwRkIwMEFDCis6MTBFM0EwMDAzRTkxMUNCMDAzMkMxMEU4MDAzRUM4MUY5MDAzQTUxMDNFCis6MTBFM0IwMDAzMDAwMDAwMDAwMDAwMDAwODAxMEZDMDJFNDAwNzNBMEE4Cis6MTBFM0MwMDAwQ0ZDMDM3QzAyRkYxMDEzQzQxQ0MwMDMzQzAwRkYwMEM0Cis6MTBFM0QwMDAzN0UwMERGMDAzRkMwMEVEODAzMUMwMEMzMjYzMjAwNDA3Cis6MTBFM0UwMDAzMDAwMDAwMDAwMDAwMDAwODQwMDZDMDA4QUMwMjJCMUYwCis6MTBFM0YwMDA4QUI4NDM0QTEwREIyMDIwRjAwQTk0MDM2QzAwQkIwNzY0Cis6MTBFNDAwMDAyMkI4MDhCMDAyRUMxMUU4QzBCMkMwMkE5MjFBMjAwMDZCCis6MTBFNDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTJDMDBBQTgwMjI5ODVCCis6MTBFNDIwMDAwODkwMDIyRjAzQkIwMTJBODMwOEIyNEUyQzA0QUIwMkQyCis6MTBFNDMwMDAyMkM0MjhCMDIyRUMwOUIzNTA2MkMwMDhCMDAyMjAwMDA4Cis6MTBFNDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDE4MzAwNjA4MDEwCis6MTBFNDUwMDAwODEyMEE0NDAwOTMwMDJBODA0QTMwMDIwQzAwQjMwMERDCis6MTBFNDYwMDA2MEMwMDgzMDAyQ0MwMEIzMDI2MEMwMDgwMDQ2MDIwMTYwCis6MTBFNDcwMDAwMDAwMDAwMDAwMDAwMDAwODAwRDZDMDBFODAyMjI4MDE3Cis6MTBFNDgwMDAyQ0YyNDMyQzAwRkIwMEJBQzAwOEE1MDIzQzAwRUYwMEIwCis6MTBFNDkwMDAzNkMwNERGMDEzRkQ1MUZCMDAzMkMwMENCMDAzMjAwMTFCCis6MTBFNEEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDA3RTA0M0Y4MDIyCis6MTBFNEIwMDAwRjMxNDNGMDAyRkYwMDM3QzAwRkYwMDNGQzA4RkYwMEVDCis6MTBFNEMwMDAzRkMwMEZGMDAzRkMwMEVGMDAzQkMwMEZDMDAzRTgxNjk1Cis6MTBFNEQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYyNDBGQzgwM0YyNEY2Cis6MTBFNEUwMDAwREQ4NTNENjA0REYzMjNGQ0M0Q0MwNDNGQzAwREY2MDc0Cis6MTBFNEYwMDAzN0MwMEZDNDAzN0NEMERGMjAzM0Q4MERGODQzRjAwMEMxCis6MTBFNTAwMDA3MDAwMDAwMDAwMDAwMDAwODAxOEU4ODBCMDAxMkUwOEI0Cis6MTBFNTEwMDA4ODkwMDJFQzIwOEI3MDJGQ0MwOEIzODJGREUwQkY0MEM2Cis6MTBFNTIwMDAyMkQ4MEI5MzAyRkRDMEFGMTAyOEYwMDhCQzEyRjAwNEYzCis6MTBFNTMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0MDBCMDAwMkUwMTdCCis6MTBFNTQwMDAwQTEyODJFQzgwQjMwMDJDQzgwQTAwMzI4QzAwQTMzMDdGCis6MTBFNTUwMDAyMEQyMDkwMDAyOEM4MDgzMDAyOEQ4MEIzNDEyRjIwMUVCCis6MTBFNTYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUFDMDFCODAyMkUwMEUxCis6MTBFNTcwMDAwQTkwMTJFQzEwOEIwMDJFQzAwQUIwMDBFQzAwQjMwMDIxCis6MTBFNTgwMDAyMkMxMEI5MjAyQ0MwMUFCMDAyQUMwMDJCMDAyRjAwNEZGCis6MTBFNTkwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUwMDBGQTBDM0VDMEUyCis6MTBFNUEwMDAwRkEwMTNFRTIwREIwMDNFQzAyRTg4NTNFQzAwRkIwMEQyCis6MTBFNUIwMDBCMkMwOEZBQzgzQUMwOERCMDAxQUMwNEZCMDAzQzAwNEZDCis6MTBFNUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRTAwM0ZDMDQ1Cis6MTBFNUQwMDAyREUwMDNGRTgwN0YwMDNGQzAwREQyMDNGQzAwQkYwMTkxCis6MTBFNUUwMDAzRUMwMERDODAzRkMwQ0ZGMDAzRkMwMDlGMDIzRjgwMDNCCis6MTBFNUYwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE0MDBGQTQwMzJDMTlBCis6MTBFNjAwMDAwRkEwMDMyOTA4REIwMDNFQzAwRTg1MDNFQzIwQ0IwMEUxCis6MTBFNjEwMDAzQUMwMEVBNDAzRUMwMEZCMDAzQUMyMEVCMDAzMTAwNDkzCis6MTBFNjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQTYwMjBDMEQ3Cis6MTBFNjMwMDAwQkEwMDIwODAwQUYwMDJGRDAwQkI1MDJGRTAyOEYwMDI2Cis6MTBFNjQwMDAyRkMwMEQ4MDBBM0MwMEI3MDAyM0MyMDVGMDIyMzYwMDFGCis6MTBFNjUwMDA0MDAwMDAwMDAwMDAwMDAwQzAwNDQwMDBCMTg4MjAwMDFECis6MTBFNjYwMDAwQjEwMDIwQzAwODMwMDJFQzgwQjA4MDY0RDQwODMwMERGCis6MTBFNjcwMDAyMEMwMDgzMDA2MEMwODkzMjAwQUUwNEEzMDAyMzgwMDE3Cis6MTBFNjgwMDA1MDAwMDAwMDAwMDAwMDAwMjAxMDVBMDBCNTkwMjEyMDJBCis6MTBFNjkwMDAwQjU4NDIzRTAwQTc4MDJERTAwQjY5MDJERTQwODc5MkI2Cis6MTBFNkEwMDAyREUwMDkxODAyOUUwMUI3ODAyOUUwMDM3MDAyM0UwMEE4Cis6MTBFNkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODQ0MDBGMTAxMzAwMDY0Cis6MTBFNkMwMDA1RjE4MDMwQzEwODMwMDNDQzQwRTA0MDNFQzAwODMwMEFECis6MTBFNkQwMDAzMEM0MEMzMTAzOEMwMEYzMDAzOEM4MEUzMTAzMTIwMjMxCis6MTBFNkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxNUJDMDBGRDA0QkYwNDU1Cis6MTBFNkYwMDA0RjU4MDNGODA4RUYwODNGQzAwRkYwMDFGQzAwRkY0QzMzCis6MTBFNzAwMDAzRkMxMEZEMDAzM0MwMEY3MDAzN0MyMEQ3MjAzRDAwNkEzCis6MTBFNzEwMDA2MDAwMDAwMDAwMDAwMDAwMDgwNUUyMDBEQjAwMzJDMERECis6MTBFNzIwMDA0REE4MDMyQzA4RkIwMDdFQzg4RkIwMEI2RjQ1RUJDMkQxCis6MTBFNzMwMDAzNkMwMDdBMDAzRUYyMENCNTBCMkMwMEM3OTAzMkEwMEVCCis6MTBFNzQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxOTk4MDA4RjAwMjFDMEYwCis6MTBFNzUwMDAwQjYwMDM1QzAwMzcwMDJERDIwQjMwMDIwQ0E4ODcyNDFECis6MTBFNzYwMDAyMUQwMDk3MDAyREQ4ODg3MkEyM0U4MDg3MDAyMzIwNDZDCis6MTBFNzcwMDA2MDAwMDAwMDAwMDAwMDAwMjAwMEI2MDA5NzgwMjFFMDRCCis6MTBFNzgwMDAwQjY4MDIxRTAwQjc4MDJERTg4QjQ4ODIxRTgwQTM4NDkwCis6MTBFNzkwMDAyNUU4MEI2ODAyQ0UwMjg3ODAyMUUwMDg3QTAyMjAwMDdCCis6MTBFN0EwMDAyMDAwMDAwMDAwMDAwMDAwNjgwNENDMDg4MzgyMjBFMDA0Cis6MTBFN0IwMDA4QjJBMDI0ODQwQjMwMDJDQzAwQjMwODIwQzAwODMwMDJGCis6MTBFN0MwMDAwMEMxMDkzMTAyQ0MwMDgzMDAyMEMwMDgzMDBBMTIwNEM1Cis6MTBFN0QwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUU4MDBEQUEwMzJBOEQwCis6MTBFN0UwMDA4REE4MDMzQjAwRkEwMDNFODAwRkU0MDM2ODAwRUEwMkI0Cis6MTBFN0YwMDAzNjgwMEZFNDAzRTgwMENBMDAzMjgwMkNBMDAzM0EwNEZDCis6MTBFODAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMUEwMTBGODAwQkUyMEQ5Cis6MTBFODEwMDA4RkMxMDNFMDI0RjgwMDNFMTAwRjg0MDNFMDAwRjgwMUVDCis6MTBFODIwMDAzRTAwMEY4MDAzRTAwMEY4MDFCRTEwMEY4MDAzRDIwMDBECis6MTBFODMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEE0MDBGOTQwMzI0MDQxCis6MTBFODQwMDBDRjkwMDNFNDAwQzkwMDBFNTAwRjFBMDMyNjAwRjkwMDEwCis6MTBFODUwMDAzRTQwMEY5MDgxRTQwMEY5ODAzMjQwMEM5MDAzQzIwNEU2Cis6MTBFODYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDRCMTA0MjI0MDc1Cis6MTBFODcwMDAwQjkwMDJFNDAwQTkwMDJFNTMwQjkyMEEyNjQ4QjkwNDFCCis6MTBFODgwMDAyRTQwMEI5MDAyRTQwMEI5ODAwMjUwMDg5MDAyRTAwMDk0Cis6MTBFODkwMDAxMDAwMDAwMDAwMDAwMDAwMzgwNTI0MDBCRDAwMjM0MEU3Cis6MTBFOEEwMDAwQkQwMTJDNDAwODkwMjJFNDAwQjkwMjIyNDAwQjkwMDI0Cis6MTBFOEIwMDAyRTQwMEI5MDAyRTQwMEIxMjAyMDQwNjg5MDIyQzYwMDU4Cis6MTBFOEMwMDA0MDAwMDAwMDAwMDAwMDAwMjgxNDE0MDBCRjEyQTE0MDA2Cis6MTBFOEQwMDAwQjUwMDJDNDAwQTEyMDJDNDgwQjEyMDIwNDEwQjExMUVECis6MTBFOEUwMDAyQzQ4MEIxMzIyQzQwMEIxNDAyMDVBMDgxMDAyQzIwMTY4Cis6MTBFOEYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGODQwMzIxNDM0Cis6MTBFOTAwMDAwRjQ1MDNFMTQwQzg1MDNFMTU4Rjg1MDMyMUU4Rjg2OEE0Cis6MTBFOTEwMDAzRTE0MEY4NDAzRTFFMEYwMjgzMkE4Q0M4MDIzRUUwM0ZDCis6MTBFOTIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxNUM0MTBGOTIwM0U0MDdGCis6MTBFOTMwMDAwRjkwMDNGNDAwRjkxMDNFNDQwRkQxMDNFNDAwRjkyMEQ2Cis6MTBFOTQwMDAzRTQ0MEZEMzAzRTQwMEY5MDBCRTQwMEY5NDAzRTYwNkYzCis6MTBFOTUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUU0MDBGRDEwMzM0MEI2Cis6MTBFOTYwMDAwQ0QwMDMyNDAwRDkwMDNGNDA0Q0QwMDNGNjAwRkQ5MEFBCis6MTBFOTcwMDAzQTQwMEM5MDAzRTZBMEZEQTgzNzY4MENEODgzMjYwMDI3Cis6MTBFOTgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDhDOEEwMjIwMDVECis6MTBFOTkwMDAwODgwMDIyMDAwODgwMDJFMDAwQzgwMTJFMDAwQjg4MDYxCis6MTBFOUEwMDAyMjAwMEQwQTAyRTM4MEIwQzAyMDM0MDg4NDAzNEUwNDI0Cis6MTBFOUIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwMDg0MDlBMTAwMjA0MTUwCis6MTBFOUMwMDAwODkwMDIyNDAwOTEwMDJDNDAwODEwMDJDNTAwQjE2MDlDCis6MTBFOUQwMDAyMDQwMDgxMEEyQzQyMEIxMjgyNDRBMDgxMDAyNTIwMTg1Cis6MTBFOUUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNEE0MDE4MTAwQTI0MDgzCis6MTBFOUYwMDBBODkwMDAyNTQwODkwMTJDNDAwODk0MDJFNDAwQjkwMDQ5Cis6MTBFQTAwMDAyQTQwMDk5MDAyRTQwMUI5MDQyMjQxNDg5MDAyNDYwNEQ4Cis6MTBFQTEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE1MjBFOTAwMzI0MEMyCis6MTBFQTIwMDA0QzEwMEIyNjAwRDkwMDNFNDAyQzk4MDNFNDAwRjkwMDVFCis6MTBFQTMwMDBCMjQwMEM5MDAzRTQwMEY5MDAzNjQwMkM5MDAzNjgwNEM3Cis6MTBFQTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgwMUE0MDBFOTAwM0U0MDAyCis6MTBFQTUwMDAwRjkwMDNFNjAwRjkwMDNFNDAwRTlBMDNFNDAwRjkwMDJGCis6MTBFQTYwMDAzNjQwMEY5MDAzRTQwMEY5MDAzQzQwMEY5MDAzREEwMEI5Cis6MTBFQTcwMDA2MDAwMDAwMDAwMDAwMDAwMDgxMEExMDBGODAwMzIwMDUzCis6MTBFQTgwMDAwRjgwMTNBMDAwQzgwMDMyMDQ4QzgwMDNBMEMwRjgwMERGCis6MTBFQTkwMDAzQTAwMEY4MDAzMjAwMEMwMDkzMjAwNEM4MDAxMEEwNEI0Cis6MTBFQUEwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBCRTAwMjA4MDkzCis6MTBFQUIwMDAwQkUwMDI4ODAwQUEwMDAzQTAwQUU2MDJGQTAwOEEwMDFFCis6MTBFQUMwMDAzMjgwMEJBMDAyMjgwMDhFODBBMzgwMjgyMDAyOEEwMEJBCis6MTBFQUQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTZDMDBCMzQ4MjA0MDAyCis6MTBFQUUwMDAwQjEwMDIwQzAwODMwMDIwQzAwODM0ODI4RTA0OTkwMEIxCis6MTBFQUYwMDAwQUMwMUIzMDAyMEMwMjkwNTAyMDYwMDgzMDAyMEEwMDRECis6MTBFQjAwMDA1MDAwMDAwMDAwMDAwMDAwODAxMTFDODBCRDBBMjE0ODU4Cis6MTBFQjEwMDAwQjUyMDI5QzQwQTNBMDIwODAwQTYwMDJDRTAwODUyMEY4Cis6MTBFQjIwMDAyMUM0MEI3QTA2MUU4MDk1MjAyMTkwMDg3MDAyMjgwMENGCis6MTBFQjMwMDA0MDAwMDAwMDAwMDAwMDAwODgwODFFODBGNzgwQjE3OUM2Cis6MTBFQjQwMDAwRkRCMDIzRTIwQzdBMEIxNjBDQzc4MTM5NjAwRjFGMDM1Cis6MTBFQjUwMDAzOUUyMEY3QjEzMEYwMEQ0QTAzMTYwMkM3MDAzMkEwMjFFCis6MTBFQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxNUFDMDBGNzAwM0U0MDY3Cis6MTBFQjcwMDAwRjkwMDNFRDgwRkIxMDNFNDAwQkIwMjNFQzAwRjkyMDFBCis6MTBFQjgwMDAzQUQ4MEZCMDBCRUQ4MUVEMTAzRTgwMEYzMDAzQzIwNjc2Cis6MTBFQjkwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNEJFMjBFRTgwMzM2MDMyCis6MTBFQkEwMDAwQ0Q4ODMxRTAwNkY4MDMzRTAwRkI4MTEzMjA0RjU4MDVCCis6MTBFQkIwMDAzM0UwMEZGODgzMkY0MEZFODBCM0UwMENGODAzMTAwMDIxCis6MTBFQkMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxODlDMDBCQzAwQTE0NEQ4Cis6MTBFQkQwMDAwODEwMDM1QzAwOEYwMDIxODAwQkVBMjIxQzgwQjUwMTI1Cis6MTBFQkUwMDAyMUMwMEJGMDAyMUU4MEJFMDAyMzgwMkE3MDAyMkEwNDdFCis6MTBFQkYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMjBBNzAwMjM0MEVGCis6MTBFQzAwMDAwQjUwMEEzQzAwQTcwMDI1QzAwQTQzMDIxMDAwQjUwMEMzCis6MTBFQzEwMDAyMUMwMEI3MDgyMUM4MEI0MDAyMUMwMDg3MDAyMDQwMDY3Cis6MTBFQzIwMDAyMDAwMDAwMDAwMDAwMDAwMjAwNDhFMDRCMzAwMjI0MEY5Cis6MTBFQzMwMDAwOTE0MDI0QzAwODMwMDIwQzAwQjI0ODIwNDAwQjEwMEEwCis6MTBFQzQwMDAyMEMwOEIzQTAyMkMwMUIwMDAyMDgwMEEzMDAyMUEwNDQ2Cis6MTBFQzUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNTlFMDBFQjA0MzM0MEM3Cis6MTBFQzYwMDAyRERDMDMxRDYwRUYwMDMyMDBDRjlBMDMyODAwRkQwMDY5Cis6MTBFQzcwMDAzM0MxOEJGQzBCM0MwMEZDMDAzMjgwMEM5MDAzMkEwNDU3Cis6MTBFQzgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEFDMTBGODAwM0U0MDcyCis6MTBFQzkwMDAwRTk4MjNBQzA0RkIwMDNDMDAwRjg0MjBFRDAwRjkwMDJCCis6MTBFQ0EwMDAzRUMwNEZCMDAzRUMwMEZEMDAzRTgwMEY5MDAzRTQwMDM3Cis6MTBFQ0IwMDAzMDAwMDAwMDAwMDAwMDAwMjExMEZDMDBDRjgwMzM0MDM1Cis6MTBFQ0MwMDAwQ0QwODNGQzAwRUYwMDNGNDAwQ0YxNDEzMDEwQ0QwMDMwCis6MTBFQ0QwMDAzRkMwMDA3MDEzM0MwMEU0MDBCMUQwMEMxMDAzMjAwNENFCis6MTBFQ0UwMDAzMDAwMDAwMDAwMDAwMDAwQTEwNDJDMDA4QUU0MkE0MDRCCis6MTBFQ0YwMDAyODkwMDJFQzAwOEIwMDNFMDIwQTgwMDIyQzgyODkwNERDCis6MTBFRDAwMDAyRUMxMEFCMDBBMkMwMDg5MDIyMkYyMkE5ODAyMjAwMEExCis6MTBFRDEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDI4MDE0MkE0MDMyCis6MTBFRDIwMDAwODkwMDJFQzA4QUIwNDJFODQwODEwODI4MDEwODkwMzNFCis6MTBFRDMwMDAyQ0MwNEFCMDIyMkMwMEFBMDAyMjgwMDg5MTAyMjAwMDk4Cis6MTBFRDQwMDA0MDAwMDAwMDAwMDAwMDAwMDgxNDJDMDA4MDAwMjg0MDUzCis6MTBFRDUwMDAwODExMDJFQzAwODMwMDJDODEwQTAwNUE4ODAwMDEwMDhGCis6MTBFRDYwMDAyQ0MwMEEzMDAyMEMwMDgyMDAyMDgwMEExMDAyMDIwMTJFCis6MTBFRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDOTAwM0E0MEQ3Cis6MTBFRDgwMDAwQ0Q0MDNGQzAwRUIwMDNFNDAwQzkyMDNBMDAwNEQwMEFECis6MTBFRDkwMDAzRkMwMEVGMDMzM0M4MEU4MDAzMkMwMEM5MDAzMjAwM0VCCis6MTBFREEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxMUZDMDBGQzAwM0Q0MEVECis6MTBFREIwMDAwRjUwMDNGQzAyM0YwNDNCMDE0RkM0MTM3MDAwRkQwMEUxCis6MTBFREMwMDAzRkMwMUZGMDAxRkM0MEZDMDAzRkMwMEZEMDEzRTgwNjFECis6MTBFREQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY4RTBGRjgwM0RDMEFBCis6MTBFREUwMDAwREYzODJGMDgwRkY0MDMxQ0IwQ0YzMDNGRDA0RUZDMTQzCis6MTBFREYwMDAzM0UwMEY3OTAzRkUwMENGNDIzM0YwNENGODAzMzAwMENDCis6MTBFRTAwMDA3MDAwMDAwMDAwMDAwMDAwRTAxMEU5MDhCOTgxMkZGMDU4Cis6MTBFRTEwMDAwOEY0NTJFOTIwQkY0MDIzRjAwQUYzMDJGRDA4OEIwMEZBCis6MTBFRTIwMDAzNkUwMEI4MDIyRTg4MDhGNDAyMkMwMDhCMDgyMzAwNDk4Cis6MTBFRTMwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUNDMDBCMTgwMkNDNUU3Cis6MTBFRTQwMDAwOTMyNDJDOEMwQjMzMTIwQzEwODMyMDJDQ0Q0QkIyMDQxCis6MTBFRTUwMDA2OEMwMEIzMDAyQ0MyMDkzNjAyMDg4MDgzMjAyMzIwMTU3Cis6MTBFRTYwMDA3MDAwMDAwMDAwMDAwMDAwRTAxNUEwMDBCQjgwMkVDMDc0Cis6MTBFRTcwMDAwOEIwMDJFQTAwQkIwMDYyQzEwQUIwMDJDQzAwQUIwMERECis6MTBFRTgwMDAyRUMwMEJBMDAwRTgwMDgzMDAyMkMxMDgzMDAyMzAwNDJECis6MTBFRTkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU4OTBGQjgwM0VDMDBDCis6MTBFRUEwMDAwREIwMDNFMjEwRkIwMDMyQzA0Q0IwMTNFQzAwRTk1NDhCCis6MTBFRUIwMDAzQUMwMEZCMDAzRTYwMENCMDBCMjQwMENCMDAzMDQwNDJDCis6MTBFRUMwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI4MDBGRjAwM0ZDMDNCCis6MTBFRUQwMDA4RkYwMDNGMDAwRjcwMkJGQzEwRkYwMjNGQzAwREYwNjQ0Cis6MTBFRUUwMDAzN0MwOEZDOTA3RkE5MkZGMDQzRjUwMkZGMDAzRjgwMDk0Cis6MTBFRUYwMDA2MDAwMDAwMDAwMDAwMDAwNTAxMEFDMDBDOTAwM0VDMkRECis6MTBFRjAwMDAwRUIwMjNFNDAwRUIwMDNBQzgwRUIwMDNFQzAwRjkwMEE5Cis6MTBFRjEwMDAzRUMwMEZCNDAzQTQwMEZCMDAzRTgwMEZCMDgzRDAwNEJBCis6MTBFRjIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTI4MDA4Qjc0MkRDMEUwCis6MTBFRjMwMDAwOEYwMDJFNDAwOEYwMDIxRjAwOEYwMDJGQzEwRDMwMDdBCis6MTBFRjQwMDAyRUMwMEI5MDEyMkMwMEVGMDAyRUMwMEJCNjAyRjYwMDY0Cis6MTBFRjUwMDA0MDAwMDAwMDAwMDAwMDAwRTgwNTQ4MDBBMzAwMkNDNEE5Cis6MTBFRjYwMDAwQTMwMDJDMDAwQTMwMDY4RjAwQTMwMTJDQzA0QTIwMEVDCis6MTBFRjcwMDAyQ0MwMEIzMDAyRUMwMEIzMDEyRUMwMEIzNDAyRjgwMEExCis6MTBFRjgwMDA1MDAwMDAwMDAwMDAwMDAwQjAwMTBDMDA4NzgwMkRFODU4Cis6MTBFRjkwMDAwODc4NDJEQTAwODc4MDI1RTAwODc5MDJDRTAwOTY4MDYyCis6MTBFRkEwMDAyREUwMEJEOTAyREUwMEE3ODAyREUwMEI3ODAyRkMwMERCCis6MTBFRkIwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNDBFMzEwM0NDMDg2Cis6MTBFRkMwMDAwQTM4MDNFODAwRUIwMDM4QzIwQTMwMDNDQzAwRTM0MDAzCis6MTBFRkQwMDAzQ0MwMEYzNDAzQ0QwMEYzMjAzQzg4MEYzMDAzRDIwMjM1Cis6MTBFRkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0ODBGRjA0M0ZDODg2Cis6MTBFRkYwMDAwRkYwODNGODQwRkYxODNCQzAwRkY0ODNGQzAwRUUwMkQzCis6MTBGMDAwMDAzRkMwMEZGMDAzM0MwMEVGMDgzRjgwMEZGMDEzRDAwNjI1Cis6MTBGMDEwMDA2MDAwMDAwMDAwMDAwMDAwODgwNUU4MDBDQjAwM0VGMjIwCis6MTBGMDIwMDA0REIyMTNFODA0Q0IwMTMyRjg0REIyMTM2RDIwRjgwMDU1Cis6MTBGMDMwMDAzRUMwMEYzMDAzMjQwMEZCMDAzRTQwOEZCODAzMkEwMDdGCis6MTBGMDQwMDA3MDAwMDAwMDAwMDAwMDAwQzgxMThDMDA4NjAwMkNDMDc5Cis6MTBGMDUwMDAwODczMDJEODEyODczMDIwQ0IwOEYyMDIxRDA1QjUwMEQ0Cis6MTBGMDYwMDAyREMwMEI2MDAzNTAxMEI3MDkyREMwMEJGMDAyMzIwNDA1Cis6MTBGMDcwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDlFMDA4NzgwMkRFNEZBCis6MTBGMDgwMDAwOTdBMDJDRTAxODc4MDIxRUMwOTc4MDI1RTgwQjdDMDQwCis6MTBGMDkwMDAyREUwMEJGODAyMUUwMEI3QTAyRDYwMEI3ODAyMjAwMEI3Cis6MTBGMEEwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVFMDA4MjgwMkNDMDA4Cis6MTBGMEIwMDAwODMwMDJFQzAwODMwMEEwQzAwODMwMDIwQzAwQjM4MENFCis6MTBGMEMwMDAyQ0MxMEIzMDAyNEUwMEIzMDAyQ0YxMEIzMDBBMTIwNDlECis6MTBGMEQwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBODBDNjAwM0U4MDQ1Cis6MTBGMEUwMDAwREEwMDNGODQwQ0EwMDMyODAwREEwMTM2ODAwRkUwMjk0Cis6MTBGMEYwMDA3RTgwMEZFRDgzMzkxMEZBMDAzRjhDMEZBMDAzM0EwNDk1Cis6MTBGMTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMTJGODkwM0UwMDlGCis6MTBGMTEwMDAwRjgwMDNFMDAwRjgwNTNFMDAwRTAwMDNFMDAwRjg4MEQ5Cis6MTBGMTIwMDAzRTAwMEY4MDAzRTA2MEY4MDA3RTAwMEY4MDAzRDIwMEY1Cis6MTBGMTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBDOTgwMzI2NEM0Cis6MTBGMTQwMDAwRjkwNDNFNDA2QzEwNDNBNDAwRjkwMDNFNDAwRTkwMDQ1Cis6MTBGMTUwMDAzMjQwMEY5MDAzMjQwMEMxMDEzMjQwMEM5MDAzQzIwNERFCis6MTBGMTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OUMwMjI0MERDCis6MTBGMTcwMDAwQjkwMDIyNDAwODkwMDIyNTAxQjkwMjIyNDAwODEwMDYxCis6MTBGMTgwMDAyMjQwMEI5MDIyMjQwOEM5MDAyMDQwMDg5NDAyRTAwMDhECis6MTBGMTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA5OTIwMjI0MDAzCis6MTBGMUEwMDAwQjEwMDJBNDAwODkwMDJBNTgwQjkwMDI4NDAwQTkwMEM5Cis6MTBGMUIwMDAyMjQwMEIxMDBBMDQwMDk5MDIyMkMxMDg5MDgyQzYwMDY2Cis6MTBGMUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA5MTAyQTBDOEY0Cis6MTBGMUQwMDAwQjEyMDIwNDgwODEyMjIwNDg5QjEyMDIwNDkwODkwMUI0Cis6MTBGMUUwMDAyMDQwMEIxMDAyMDQwMjgxMjIyMjQwMDgxMDAyQzIwMUJBCis6MTBGMUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDJEQTAxMzIwMTk5Cis6MTBGMjAwMDAwRjg1MDNBMTQwQzA1MDNBMDE4Qjg1MjNBMTQ0RTg1MEVCCis6MTBGMjEwMDBCMjAwMEY4NTAzMjE0OEQ4NTEzMjE0MkM4NTAzRUUwMzI4Cis6MTBGMjIwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY1MDBFRDAyM0U0NDczCis6MTBGMjMwMDAwRjkxMDNGNDQwRjkxMDNFNDQwRjkxMDNFNDQwRkQwMEE4Cis6MTBGMjQwMDAzRTQwMEZEMDAzRjQwMEU5MTBCRjQwMEY5MDAzNjYwNjY0Cis6MTBGMjUwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjFDNTAwMzM2OEJBCis6MTBGMjYwMDAwRjlBMDM2Rjg4QzlDMDMzNjgwQzlFMDMyNzgwRDk0MDZBCis6MTBGMjcwMDAzRTQwMEY5MDAzQzUxMEQ5RTgzNjUwMENEMDAzRTYwMDhECis6MTBGMjgwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDg4ODAwODIwMEQzCis6MTBGMjkwMDAwQjhFODJFQkM4ODhFMDIyMDAyODg4NDJBMjgwOEE4MEY4Cis6MTBGMkEwMDAyMjAwMEJBQTAyRTIwMDg4QzAyMkE5MDg4QTAzOEUwNDY5Cis6MTBGMkIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM0MDA4MTAwMjBEMDlDCis6MTBGMkMwMDAwQjExMzI4NDg0ODE2MDYwNTAwODE2MDYwNTAwOTEyMDdECis6MTBGMkQwMDAyMDQwMEIxMDgyRTQwOTkxMjAyNDQwMDgxMEMyRDIwMTgyCis6MTBGMkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDQ4OTA0MjI0MEVBCis6MTBGMkYwMDAwQjkwMDJDNDAwQTkwMDIyNDEwMDkwMDJBNDAwODEwMEVBCis6MTBGMzAwMDAyMjQwMEI5MjIyRTU4MDk5MDEyMjYxMDg5MDAyODYwNDM2Cis6MTBGMzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE1ODI4MTkwMzI0MDJGCis6MTBGMzIwMDAwRjkwMTM2NzAyQzkwMDMyNDAwQzkwMjMyNDA0RDlDMDA3Cis6MTBGMzMwMDBCMjQwMEY5QzAzRTYwMEQ5MDAzNjUwMEM5MDAzRTgwNDVECis6MTBGMzQwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMEE2ODBGOTAwM0U0MDQ4Cis6MTBGMzUwMDAwRjkwMDNFNzAwRDkwMEJDNDIwRjkwNTNFNDA0RjkxMDZBCis6MTBGMzYwMDAzRTQwMEY5ODAzRTYwNEUxMDAzRTQwMkY5MDAzREEwMDkwCis6MTBGMzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMDgxMTA0ODEwMzIwOEQyCis6MTBGMzgwMDAwQzgwMEYyMTAyQzgwMDNBMDQwRjgwMDc2MDAwRjg0MDhCCis6MTBGMzkwMDBCMjAwMEY4NDBCMjAwMEQ4MDAzNjEwMEM4MDAzQ0EwNDgyCis6MTBGM0EwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNDI4MDQ4RTgwMjM4MDM0Cis6MTBGM0IwMDAwOEEwNDIyODAwOEEwMDIzQTA0QkEwMDJFODAwQkEwMDVGCis6MTBGM0MwMDA3NjgwMEJBMDAyMDgwMDhBMDAzMjgwMDhFMDAzQ0EwMEExCis6MTBGM0QwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA4MjAwMjBEMDAyCis6MTBGM0UwMDAwODMwMDIwQzAwOUIwMDI4QzAxQUIwMDI2QzAwQjMwMjY3Cis6MTBGM0YwMDAyMEMwMEIzMDAyMEMwMEEzMDAyMkMwMjgzNDgyQ0EwMEI3Cis6MTBGNDAwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFDMDA4NzAwMjBFMEU4Cis6MTBGNDEwMDAwODc4MDIwQzAwOTcyMDI1QzAwQjcxMDJEQzgxQjcyMDEwCis6MTBGNDIwMDAyMUMwMEI3QTQyM0M4MDg3MjAyMUMwMDg3MDAyRTgwMDhFCis6MTBGNDMwMDA0MDAwMDAwMDAwMDAwMDAwMjgwODBFODJDNzgwQjFFMEY0Cis6MTBGNDQwMDAyQ0ZBMDYxRTA4RDNCMTM5NjA0RTc4MTI1RUEwRkZGMDg4Cis6MTBGNDUwMDAyMUUwMEZGODAzMUYwOEUzQTAzM0UwMEM2ODAzRUEwMjgxCis6MTBGNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDNDBGQjAwM0VDMDkyCis6MTBGNDcwMDAwRkIyMDNFREE4RUIxMDNBODAwRkIwQzNFQzQwRkIwMEQ1Cis6MTBGNDgwMDAzRUMwMEZCMDgzRUM4MEVCNzBCRUM0MEZCMDAzODIwNkE5Cis6MTBGNDkwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDBDRTgwQjM2MDY4Cis6MTBGNEEwMDAwRkZDODM3RTIwRUZCMDNCRTAwRkI4MDMzRTAwQ0Y4MTFFCis6MTBGNEIwMDAzRkUwOEZGODgzRUY0MEZGQzIzM0UxMENGODAzRDAwMDQ4Cis6MTBGNEMwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDODI4NzE4MjE4MEI1Cis6MTBGNEQwMDAwQjMwMDIxQzYwRDcxMDIxRDAwQjdCMDIzQzAwRDcwMDAwCis6MTBGNEUwMDAyREMwMEI3MDAyREUwMEJGMDBBM0M0MDg3MDAzQUEwNDg1Cis6MTBGNEYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMEJDMTE4NzAwMjFDMDc3Cis6MTBGNTAwMDAwQjMwMDIxQzAwOTMyMDY5QzAwQjcwMDIxQzAwODcwMEE2Cis6MTBGNTEwMDAyREMwMEI3MTAyREMyMEI3MTAyMUMwMDg2MDAyODQwMEVFCis6MTBGNTIwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNENEMDA4MzQwMjBDMEQ3Cis6MTBGNTMwMDA0QjMwMDIwQzAxODMwMDIwQzAwQjMwMDIwQzAwOTM4MDgyCis6MTBGNTQwMDAyQ0MwMEIzMDAyQ0MwMUIzMDAyMEMwMDgzMDIyOTgwNDNDCis6MTBGNTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJGMjBDQUMwMzI4MEEzCis6MTBGNTYwMDAwRkYwMDMzRTAwOUYwMDNBODAwRkYwMEIzQzAwQ0Y5ODU1Cis6MTBGNTcwMDAzRUMwMEZGNjAzRkYwMEZGMDAzMUUwMkNCMDAzQUUwNEU1Cis6MTBGNTgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMENDODBGQjAwM0U1MEM2Cis6MTBGNTkwMDAwRkIwMDNBQzAyRkIwMDdFNTAwRkIwMDNFQzAwRkIwMDg5Cis6MTBGNUEwMDAzRUMwMEZCMjAzRUMyMEYzMDAzRUM2MEY5MDAzQTAwMDU0Cis6MTBGNUIwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDJDRjk4NzNDODZBCis6MTBGNUMwMDAwRjcwMDMzQzAwRkYwMDMzMjgwRkIwMDIxQzAwNEYwMEY3Cis6MTBGNUQwMDAzRkMwMEZGMDAzRkMwMEZGMDEzM0MwMENFNDAzRTQwNDYwCis6MTBGNUUwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMDA4MzgwQTJGODVFCis6MTBGNUYwMDAwQkIwNDIyQzAwQkIwMDMyMTAwRkIwMDM2QzA0QUIwMDA4Cis6MTBGNjAwMDAyRUMwMEJCMDEyRUMwNEVCMDAyMkMwNEE5NDgyRTAwMDQyCis6MTBGNjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTZDMDA4QTAwMjIwMDNECis6MTBGNjIwMDAwQkIwMDIyQzAwQjMwMEEyQzAwQjMwMDJBQzAwQUIwNDQ0Cis6MTBGNjMwMDAyRUMwMEJCMDQyRUMwMEJCMDAyMkMwMDhCMDIyRTAwMDlDCis6MTBGNjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwMDBDMDA4QjAxMjAwMEJBCis6MTBGNjUwMDAwQjMwMDYwQzAwQjMwMDIwQzAwQTMyMEFDQzAwQTMwMDE1Cis6MTBGNjYwMDAyQ0MwMEIzMDAyQ0MwMEEzMDAyMkMwNEEwMDEyQzIwMTAxCis6MTBGNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODZDMDA4QjA0MjJDMEE1Cis6MTBGNjgwMDAwRkYxMDMxQzAwRkYwNDMyQzAwQkYyMDNCQzAwRUYwMEJCCis6MTBGNjkwMDAzRUMwMDdGMDAzRkM4MEZGMDBCMkMwMENBMDAzRTAwM0YzCis6MTBGNkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOURDMDBGNTAwM0ZDMDgxCis6MTBGNkIwMDAwRkYwMDNGQzAxRkYwMjNCQzAwRkYxMDM3QzAwRkYwMEQxCis6MTBGNkMwMDAzRkMwMEZGMDEzRkM0MEVGMDAzRkMwMEZDMDAzRTgwNjNGCis6MTBGNkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUYyNDBDQzgwMzcyMDEwCis6MTBGNkUwMDAwQ0Q4MDNCMDQ0RkMwODNGMEUwRkMxMDNGQzAwQ0M5NEJGCis6MTBGNkYwMDAzRjBBMkVDNDAzN0Q4MENGMTAzRkMwMEZDMDgzMzAwMDZGCis6MTBGNzAwMDA3MDAwMDAwMDAwMDAwMDAwODAwOEUwOTA4ODAyMjI4MTY0Cis6MTBGNzEwMDAwODkyMTNBNDQwM0I2MDIyMTgwQjgxMDJGQ0Q0ODEwMEE0Cis6MTBGNzIwMDAzQUIwMEE5NDAyM0Q0MEFGNjMyRkRGMEI5ODAwMjAwNEVCCis6MTBGNzMwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUUwMDA4ODAwMjA0MDQ0Cis6MTBGNzQwMDA4ODMwODJDMDAwQjAwODI4ODAwQTEwMDJDQzIwODAwMUQ2Cis6MTBGNzUwMDAyQzQwMUIwNjAyOEM5MDkzNjA2OEMwNEEwMDQyMjIwMTM0Cis6MTBGNzYwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUEwMDI4ODAwMjJDMDU4Cis6MTBGNzcwMDAwOEIwMDJFNDIwQkI4ODI2OTgwQjgwNDJDQzE4OEEwMDhGCis6MTBGNzgwMDAyRUMyMUI5ODAyQUMwMEFCMDAyRUMwMEI5ODgyMzAwNDM2Cis6MTBGNzkwMDA2MDAwMDAwMDAwMDAwMDAwMDAxMUUzQzBDQjAyMzIwMDU2Cis6MTBGN0EwMDAyQzgwMDNBRTA4QjkwMDNFNzAwRkI5MDNFQzAyNDg0ODQ0Cis6MTBGN0IwMDAzQ0MwMEY4QzkzRUMwMERCMDAxQUMwMEVBQzAzMTAwNEFECis6MTBGN0MwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUIyMDBGRjAwQkI4MEZDCis6MTBGN0QwMDAwRkMwNDNCNjQwQkQwMDNCNjAwRkU4MDNGQzAwRkY5NDQwCis6MTBGN0UwMDAzQkU0MEU2MDBGNkMwOEVGMDEzRkMwMEY2MDAzRjgwMEIwCis6MTBGN0YwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEExMDBGQjAwM0U2MDFGCis6MTBGODAwMDAwRkEwMDNFRDAwRjk0MDNBMDAwRjkwMDNFQzAyQzkwNDg5Cis6MTBGODEwMDAzMkQwMEY5MDAzMkMwOERCMDBCNkMwMERCNDAzRDAwNDI3Cis6MTBGODIwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTAwMDBCMzg5MkVFMEExCis6MTBGODMwMDAwQkE0MDNBNDAxQjkwMDJFMDEwQjkwNDJGQzEwODk1MEM3Cis6MTBGODQwMDBBMkMwOERCNDAyM0M0NDhGMDAyM0MwMDhCMDAyRjIwMDc1Cis6MTBGODUwMDA0MDAwMDAwMDAwMDAwMDAwQzAwNDBDMDBCMDgwMkUwMDNBCis6MTBGODYwMDAwQjEyMDJDODAwQkEwMDJDQzAwQjIwMDJDQzAwQTIwMDcwCis6MTBGODcwMDAyMDAwMkIyRDlBMkU0MjgzMDAyOEMwMDgyMDAyRjgwMDc5Cis6MTBGODgwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMDFFMDRCNDgwMkRBMEU1Cis6MTBGODkwMDAwQjU4MDI5MjAwQjY4MDJERTAwQjY4MDJERTQwQTY4MDc1Cis6MTBGOEEwMDAyMTI0Mjk0ODAyMUU4MDg3ODA2OUUwMDg2MTAyQzgwMDdGCis6MTBGOEIwMDA0MDAwMDAwMDAwMDAwMDAwNDgxODBDMDBGMDMwM0M0Q0Y0Cis6MTBGOEMwMDAwRjMyMDNDODgwQjIwMDM4ODAwRjFCMDNFQzAwRTAzMDE5Cis6MTBGOEQwMDAzMDA0MEZCMTAzMEU4NUNCMDAzQUMwMEMzMTAzRDIwMkM1Cis6MTBGOEUwMDAwMDAwMDAwMDAwMDAwMDAwNDAxQ0JDMDBGQzExM0ZDNEYwCis6MTBGOEYwMDAwRkI4MTNCMDA0RkUwMjNGODAwRkMwMDNGRDAwREYxMkZCCis6MTBGOTAwMDAxRDA0MEZEMDQzQkMwMUVGMTAzM0M0MEVGMzAzRDAwNjI3Cis6MTBGOTEwMDA2MDAwMDAwMDAwMDAwMDAwMDgwNUVFMDBDQjAwM0UwMDgzCis6MTBGOTIwMDAwRjgwMDMyODAwRjgwMDNFNDAzREIwMDNFRjA4QzkwMEY3Cis6MTBGOTMwMDAzQTAwMENBMDAzRUM5OEZCMjAzMkQyMENBODAzMkEwMjU4Cis6MTBGOTQwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDA4NzAxMkQ4MDFECis6MTBGOTUwMDAwQjQwNDIxQzA0MzcwMEExNDAwODYwMDJDQzgwODcwMEE1Cis6MTBGOTYwMDAyRDgwMkU3MDAyRENBOUI3MjgyMUQwMDg3MDAyMTIwMDY5Cis6MTBGOTcwMDA2MDAwMDAwMDAwMDAwMDAwMjAwMEJFMDI4NzgwMkQ2MEIzCis6MTBGOTgwMDA0QkU4MDI1QTAxQjQ4ODI4RTA4ODc4QzJERTUyODZDMDZCCis6MTBGOTkwMDAyOTYwMDg2ODAyREU0MEIzOTJFMUU4MjgyODAyNzAwMDdFCis6MTBGOUEwMDAyMDAwMDAwMDAwMDAwMDAwNjgxNENDMDA4QjgwMkVDMEY2Cis6MTBGOUIwMDAwQjIwMDI0RDgwOUIyMDIwRTAwODM4MDJDQzAwODM4MDgxCis6MTBGOUMwMDAyQ0MwMEFCMDAyQ0MwOEIzMDAyMEMwMDgzMTAyNTIwNDk3Cis6MTBGOUQwMDAzMDAwMDAwMDAwMDAwMDAwRTgwNUE4MDBDQUUwM0U4MEZBCis6MTBGOUUwMDAxRkE0MEI3OTAwRkUwMDNGODIxREUwMDNFODAwQ0U0MDFCCis6MTBGOUYwMDAzQjg4MkNFNDAzRTgwMUZBMDAzMjgwMENFODAzN0EwNDI3Cis6MTBGQTAwMDA2MDAwMDAwMDAwMDAwMDAwNDgxMUEwMDBGODA5M0UwMDVFCis6MTBGQTEwMDA4RkMwODNBMDE4RjgwMDNDMjAwRjg4MDNFMDAwRjgwODhFCis6MTBGQTIwMDAzRTIwMEU4MDgzRTEwMUYwMDAzQzAwMEY4MDBCOTIwMDJECis6MTBGQTMwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEE0MDBGOTQyMzI0MDJECis6MTBGQTQwMDA0Qzk4MDMwNDAwQzkwMDNBNDAwRjkwMjMyNDAwQjk4MTY4Cis6MTBGQTUwMDAzQzQwMEM5MjAzMjQwMEY5MDUzMjQwNkM5MEMzQzIwNDcwCis6MTBGQTYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDI0MTRCOTAwQTI1NEZCCis6MTBGQTcwMDAwODlCMUEyNDAyODkwMDIyNDAyODkwMDJBNDAwQjk5MDExCis6MTBGQTgwMDAyRTQwMjg5QzgyMjUwNEI5MDAyMjQwMDg5ODEyRTAwMEVDCis6MTBGQTkwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBBRDAwMjM0MDA1Cis6MTBGQUEwMDAwODUwMDI2NDAwODkwMDJBNDAwODEwMDI2NDAwQjkwMDZFCis6MTBGQUIwMDA2RTQwMDg5MDAyMjUwMEE5MDAyMjQwMDg5MTA2QzYwMDY5Cis6MTBGQUMwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDE0MDBCNTEwQTE0NDJDCis6MTBGQUQwMDAyODUwMDI0NDgwODEzMDIwNDgwODEyMDI4NDQwQjE4MEJFCis6MTBGQUUwMDA2Q0M4MDgxMjAyMDQ4MEIxMzQyMDQ4MDgxMjAyQzIwMTE2Cis6MTBGQUYwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBFODQwMzI5MEI2Cis6MTBGQjAwMDAwQ0M1MDM2MTQwQzA0MDNBMTQwRjg1MDMyMUIwRjg1MDgyCis6MTBGQjEwMDAzRTAwMEM4NTAzMjE0MEY4NDBCMDE0MEM4MDAzRUUwMTM4Cis6MTBGQjIwMDA1MDAwMDAwMDAwMDAwMDAwQjgxREM0MDRGOTIyMEU0ODc3Cis6MTBGQjMwMDAwRjEwMTNCNDQwRkQzMDNGNDQ0RkQxMDBFNDg0RkYwMTY3Cis6MTBGQjQwMDAzRDQ0MEZEMTBCRTQ0MEY5MzAzRTQ0MEZEMTAzRTYwNEFECis6MTBGQjUwMDA3MDAwMDAwMDAwMDAwMDAwMzgwNUU0MDBERDQwM0Y1MDY4Cis6MTBGQjYwMDAwQ0QwMDMyQzAwQzkwMDM2NDAwRjkwMTMyNzA0RjUwMTc4Cis6MTBGQjcwMDAzNzQwMENGMDAzRjYyMEY5QTgzMjY4MENEMDAzQzYwMDE5Cis6MTBGQjgwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMEUwMDA4OEEwMkUyODhGCis6MTBGQjkwMDAyODgwMDIyMDAwODhBMDIyMDAwQjgwMEE2MjgwQjgwMDIyCis6MTBGQkEwMDAyMjAwMDg4MDAyRTEwMEI4RTAyMjNBMDhBMDAyQ0UwNDU4Cis6MTBGQkIwMDAzMDAwMDAwMDAwMDAwMDAwNDgwMDg0MDI4MTAwMkU0MDU4Cis6MTBGQkMwMDAwODEwMEE0NDAyODEwODI0NDAwQTEwMDI0NTgwQjkwMDQ2Cis6MTBGQkQwMDAyNDQwMjkxMDAyQzQwMEIxMDgyNDQ0MDgxMDAyQzIwMUM0Cis6MTBGQkUwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNEE0MDQ4OTAxMkU1MEM5Cis6MTBGQkYwMDA0OEIyMDI2NDAwOTEwMDIyNDYwQjkwMDI2NDAwQjkwMUYxCis6MTBGQzAwMDAyNkMwMDlCMDEyRTQwMEIxMDAyNjQwMDg5MDAyQzYwNEU0Cis6MTBGQzEwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNEU0MDBDOTAwM0M0MEI3Cis6MTBGQzIwMDAwQzkwMDM2NDAwQzkwMjM2NTAwRTkzMDMyNDAwRjk5MDJGCis6MTBGQzMwMDAzNjQ4MEQ5NDgzRTQwOEY5MDBCNjQwMEM5NDAzRTgwNEI4Cis6MTBGQzQwMDA3MDAwMDAwMDAwMDAwMDAwNjgxMEE0MDBFOTAwM0U0MEMxCis6MTBGQzUwMDAwRjkwMTNBNDAwRTkwMjJFNjEwNTkwMDNBNDAwRjkwMDlGCis6MTBGQzYwMDAzQTQwMEU5MDQzRTQxMEY5MDAzODQwMkY5MDAzQ0EwMDQ4Cis6MTBGQzcwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAxMzIwNDNECis6MTBGQzgwMDAwRjgwNDNDMDAxQzgwMEIyMDEwQzgwMDMyMDAwQzg0MEFGCis6MTBGQzkwMDAzMDAwOEM4NDgzRTAwMEM4MDAzMjAwNkM4NDAzQ0EwNDA2Cis6MTBGQ0EwMDAyMDAwMDAwMDAwMDAwMDAwMDgwNDI4MDBCQTAwMjM4MEEzCis6MTBGQ0IwMDAwQkVBMDJFODAwQUEwMDIyODAwOEEwMDIyODAwODYyMEExCis6MTBGQ0MwMDAzN0EwOERFNDAyRjgwMERBMDAyMjgwMDhBMDAyQ0EwMDAyCis6MTBGQ0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNTZDMDBCMzAwMjBDMEQ4Cis6MTBGQ0UwMDAwQkI4MDI0QzA0ODMwMDIwQzAwOEIwMDIwQzAyODMwMDUxCis6MTBGQ0YwMDAyMDQwMjgzNDAyQ0U5MDgzMDBBMEMwMDgzMDAyQ0EwMDAxCis6MTBGRDAwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFDQzBCNTg4MjE0MDA4Cis6MTBGRDEwMDAwQjcwMDJEQzgwQTMyMDIxRTA0ODMyNDIwRTkwOEUwMTVECis6MTBGRDIwMDA2NTUwMDk3MDAyREUyMDkzMjEyMUMwMDg3MDAyRTgwMEFFCis6MTBGRDMwMDA0MDAwMDAwMDAwMDAwMDAwMjgxODFFMDBGRjgwQjFBMDU1Cis6MTBGRDQwMDAwRjQ4MDI3RTAwODdBMDMzRTAyODdBMEIxRjAwQzQ4MDkyCis6MTBGRDUwMDAzMTYwOEM1ODAzRkUwMEM3QzgzM0U4MEM1ODAzRUEwMjMwCis6MTBGRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGRjAwM0UwMDg1Cis6MTBGRDcwMDAwRjkwMjNFQ0EwRkI0MDNFQzA4RkI1MDNFRDgwRjgwMDUwCis6MTBGRDgwMDAzQzQwMEZCMDAzRTgwMEZCMDIzRUQwMEY5MDAzQzIwNkQ4Cis6MTBGRDkwMDA2MDAwMDAwMDAwMDAwMDAwNjAwNEJFMDBGRjgwM0ZFMDQzCis6MTBGREEwMDAwRkQ5MDNGRTIwQ0ZDODMzRUE4RkZDMDMzRjAwRkQ4MDRDCis6MTBGREIwMDAzRjYwMEVFODAzRjIwMENGODAyRkZFMEM3ODAzMDAwMEI2Cis6MTBGREMwMDA3MDAwMDAwMDAwMDAwMDAwQTgwMDlDMDBCNTAyMkRDMERCCis6MTBGREQwMDAwQjU4NDJEQzgwQ0YwMDIxQzEwQjMwMTIxQzQwQjQwMjEyCis6MTBGREUwMDAyRDQ2MDg3MTEyQzgwMEU3MDAyREM0MDg3MDAzNkEwNDhDCis6MTBGREYwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzAwMkQwMjIxCis6MTBGRTAwMDAwQjQ2MDJEQzA4OTcwMDIxQzkwQTMwMjIxQzAwQjQwMDBFCis6MTBGRTEwMDAyRDQwMEE1MDgyQzQwMEI3MDAyQ0M4Mjg1MDAyNDAxMDYwCis6MTBGRTIwMDAyMDAwMDAwMDAwMDAwMDAwNDAxNDhDMThCMzAwMkUyMEI5Cis6MTBGRTMwMDAwQjE4MDJDRjRBODNDMjIwQzEwQjM0MjIwQzA0Qjg1OERECis6MTBGRTQwMDAyQzQwMEIyODAyQzgwMEEzMDAyQ0MwMDgxNDAyNDgwNDUwCis6MTBGRTUwMDAzMDAwMDAwMDAwMDAwMDAwQTgwNUJDMDBGQjAwM0U4MDUwCis6MTBGRTYwMDAwRkEwMDJGQzAwREZBMEIzQzAwRUYwMEIzQzAwRkJDMEYzCis6MTBGRTcwMDAzQ0EwMEVCRDAzRUMwMEZGMDAzRkMwMEMzMDAzNkEwNDQxCis6MTBGRTgwMDA2MDAwMDAwMDAwMDAwMDAwQTAxMEVDMDBGOTAwM0UwMTNFCis6MTBGRTkwMDA4RkIxNDNFQzAwRjMwMDNFQzA0RkIwMTNFQzAwRkIwMDA5Cis6MTBGRUEwMDAzRTgwMEM4NDAzRTEwMDczMDAzRUMxMEZCMjQzRTAwMENBCis6MTBGRUIwMDAzMDAwMDAwMDAwMDAwMDAwMDE1MEZDMTBGRjgwMzdDMDNGCis6MTBGRUMwMDAwQ0UwMDNGQzIwRkYwODMzQzAwRkYwODNCQzAwRkYwMEYwCis6MTBGRUQwMDAzM0MwMkU0MDAzMUMwMUNGMDAxMUMwNENEMDAzMDA0NDlFCis6MTBGRUUwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDRCMzAyMjI3MkE0Cis6MTBGRUYwMDAwOEExMTZFQzAwQkIwNDIyQzAwQkIwNDJFQzAwQkExOUZBCis6MTBGRjAwMDBCNkQwMDg5QzRBMjY4MERCMDAyMkMwMDg5MDAzNjA0MERGCis6MTBGRjEwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCOTEwNjIyMEQ1Cis6MTBGRjIwMDA0OEEwMDJFQzAwQkIwMDIyQzAwQkIwMDJFQzEwQkIwMEVBCis6MTBGRjMwMDA2NjA4MEFBODEyMjYxMDlCMDAyQUMwMjhCMDI2MjAwMEI2Cis6MTBGRjQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwMDBDMDBCOTAwMjAwMDg0Cis6MTBGRjUwMDAwODMyMDJDQzA0QjMwMDIwQzA0QjMwMDJDQzAwQjMwMDA2Cis6MTBGRjYwMDAyMDAwMDgwMDAyMDEwMDkzMDAyOEMwMDgzMDA2NDIxMTVBCis6MTBGRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQzZDMDBGOTAwQjI0MDBFCis6MTBGRjgwMDAwQzgyMDJEQzAxRkYwMEIyQzAwQkYxMDNCQzAwRjkwMERGCis6MTBGRjkwMDAyNjQwMkU4MDAzMjEwNENGMDBCQkMwMEM5MDAzMDAwMzM5Cis6MTBGRkEwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRDAwM0Y0MENDCis6MTBGRkIwMDAwRjgxMDNGQzAwRkYwMDNGQzAwRkYwMjNGQzAwRkMwMDlBCis6MTBGRkMwMDAyRDQwMkZDMDAzRjA4OEZGMDAzN0MwOEZEMDAzRTgwMjE4Cis6MTBGRkQwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFNDBGRjgwMzNDMjNBCis6MTBGRkUwMDAwQ0Y4MDM3Q0EwRkY5MDNGQzQyQ0I0MDNCQzgwQ0Y0MDJFCis6MTBGRkYwMDAzN0UwMEZGMTkzNkU0NEJGMzAzRjIwMkNGODYzRjAwNERDCis6MTA4MDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDMDBFQjIwMjNGMDU2Cis6MTA4MDIwMDAwOEI4NTIzRDAwQjMwMDJFREMwOEY0NDIxQzQyOEI0MERECis6MTA4MDMwMDAyMkM4MEJGNjAzNkM4OEJCMzAyRTAwMDhCMjAyRTAwNEE1Cis6MTA4MDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDBCQjA4MjBDMDA0Cis6MTA4MDUwMDAwODMwMDI0Q0EwQjMyMDI2ODA4ODM2MDJDQ0EwOTM2MDYyCis6MTA4MDYwMDBBNEMyMEEzMjQyNEM5MEIzMjAyQzBCODgzMDgyRTIwMTI5Cis6MTA4MDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDhCQjIyQTJDMEM4Cis6MTA4MDgwMDAwOEIwMDIyQzAwQkIwMDJFOTAwOEIwMDJFQzAwOUIwMDUwCis6MTA4MDkwMDAyMkMwMEJCMDAyNkMwMEJCMDIyRTIwMDhCMDAyRjAwMDIwCis6MTA4MEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBCMTgzMzJDMDA5Cis6MTA4MEIwMDAwQzFBMDM2QzEwRkIwMDM0QzAwQ0IwMDNFQzA4REEwMDlGCis6MTA4MEMwMDAzNkMwMEVCMDBCNkMwMEZCMDAzRTI4MENCMDAyRDAwMDk2Cis6MTA4MEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBFRDgwM0ZDMDI3Cis6MTA4MEUwMDAwRkQ0MDNFQzAwRkYwMDNGQzgwRkIwMDMzQzAwRUU0MDhDCis6MTA4MEYwMDAzRkMwMEY3MDAzRkMwMEZGMDAzRjgwMEZGMDAzRjgwMDRCCis6MTA4MTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjIwQjBDMDg4Cis6MTA4MTEwMDAwRkI0MDNBQzAyQ0IwMDMyOTAwRUIwMDM2QzAwRUIwMDQ2Cis6MTA4MTIwMDAzQUMwMENCMDAyRUMwMEZCMDAzRTkxMEZCMDAzOTAwMDhGCis6MTA4MTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQjgwMjNEN0YxCis6MTA4MTQwMDAwQjkwMDIzQzE0OEIwMDZBMDgyOEYwMDBCQzAwODMwMEVFCis6MTA4MTUwMDBCRUMwODhGMDEzMkMwMEVGMDAyRTgwMEJCMDA3QjIwMEQ5Cis6MTA4MTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBCMzQwMjBEMEJCCis6MTA4MTcwMDAwQjI4MDI4QzAwODMwMTIwQzAxQUI4MDA2QzEwQTEwMEVCCis6MTA4MTgwMDA2OEMwMkEzMDAyOEMwMEIzMDIyRTAwNEIzMDAyRjgwNDgzCis6MTA4MTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDBCN0EwMjFFMEY4Cis6MTA4MUEwMDAwQkVDQzIxRTA0ODc4MDI5RTQwODc5ODI5RTQwQUY5MEMwCis6MTA4MUIwMDAyOUUwMEEzODAwMUUwMEE3OTAyRDI0MEI3ODAyODgwMEMxCis6MTA4MUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDNTBGQjA5MzBDMENGCis6MTA4MUQwMDAwRjIwMDI4QzQwQzMwMDIwQzAwQTM4MDM0QzQ0RTEwMDQ5Cis6MTA4MUUwMDBBQUMwMEUzMTQzOEUwMEYzMDAzQzAwMEYzMDAzRDIwMkQwCis6MTA4MUYwMDAwMDAwMDAwMDAwMDAwMDAwNDA0REJDMDBGRjIwM0ZEMDA4Cis6MTA4MjAwMDA0RjcwMDNGQzAwRkYwMDNEQzAwRkYzNDNGQzQwRDcwMDVDCis6MTA4MjEwMDBCRkMwMERGNEMzRkM0MEZGMDAzRjQwMEZGMDAzRDAwNjg5Cis6MTA4MjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDBGQjAwMzJEMDU4Cis6MTA4MjMwMDAwRDkwMDFFREMwRkIwMDNFQzAxRkJBMDNBQ0MwQzgwMEVBCis6MTA4MjQwMDAzMkUwOERCNDQzRUMwMEZCMDAzNkEwMENCMDAzNkEwMEIyCis6MTA4MjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCNzAwMjFDODE5Cis6MTA4MjYwMDAwODYwMDJEQzIwQjcwMDJEQzAwRjc0QTIxQzI4RDYwMEM1Cis6MTA4MjcwMDAzNUMwMDg3MjAyNUMwOEI3NDRBMTgwNDg3MDAyMTIwMDQxCis6MTA4MjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMjBFNEY1Cis6MTA4MjkwMDAwOTc4MjZERTAwQjc4MDJERTIwQTcwMTI4Qzg4ODE4MDcyCis6MTA4MkEwMDAyMUUwMDk3ODAyREUwMEIzQTAyNUEwMjg3ODAyNzAwNDNFCis6MTA4MkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDFCQjgwMjBDMDVBCis6MTA4MkMwMDAwODMwNDJFQzAwQjMwMDJDQzAwQTMwMjIwQzAwOTMwMEFFCis6MTA4MkQwMDAyNEMxMDgzMDAyQ0MwMEIzMDAyMEUwMDhCMDAyMTIwNDMwCis6MTA4MkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBGQTA4QjI4MDg1Cis6MTA4MkYwMDAwREUyMDNFODAwRkEwMDNGODAwQUEwMDNBODAwQ0U1MDc4Cis6MTA4MzAwMDAzMjgwMDVBMDAzRTgwMEZBMDAzN0E4MENBMDAzN0EwNDI1Cis6MTA4MzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMDYwMDhGODAwM0MwMDE5Cis6MTA4MzIwMDAwRjg4MDFFMDAwRjgwNDNDMDA0RjAwMTNDMDAwRjgwMDgzCis6MTA4MzMwMDAzRTAwMEY4MDAzNjAwMEY4MDIzRTAxMEY4MDAzRDIwMDcwCis6MTA4MzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTkwMTI0MDI2Cis6MTA4MzUwMDAwQzkwMDNBNDAwQzkwMDNFNzAwRTk0MzMyNDA4QzkwMDk5Cis6MTA4MzYwMDAyQTQwMEI5MDAzRTQwMEY5MDAzQTQwMEY5MDAzMDIwNDA2Cis6MTA4MzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQyMjI2MDY4Cis6MTA4MzgwMDAwODEwMDIyNDAwODkwMzJFNDAwODkwMDJBNDAxODEwNEYxCis6MTA4MzkwMDAzRTQwMEI5MDAyRTQwMEI5MDIyMjQwMEU5MDAyMjAwMDAxCis6MTA4M0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTQwMkE0QTBGCis6MTA4M0IwMDAwODkxMDJBNDAwODkwMDJFNDAxQTkwMEEyNDA0ODkwMDIyCis6MTA4M0MwMDAyQTQwMEI5MDAyRTQwMEIxMDAyQTQwMEI5MDAyMDYwMDA0Cis6MTA4M0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTAxQTg0OEFCCis6MTA4M0UwMDA4ODkwMDIwNDgwODE0MDJDNTAxODE0MEE4NDEwODk0MDFGCis6MTA4M0YwMDAyQzQwMEIxMDAyQzQwMDMxMjAyMDQwMEExMDBBMDIwMTU4Cis6MTA4NDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBGMDUwM0EwMDhDCis6MTA4NDEwMDAyQ0EwMDJBMTQyQzgwMDNFMDBERTAwMjMyMTQyODgwMEI5Cis6MTA4NDIwMDAzODE0MEY4NTAzRTE0MEY4NTAzODE0MEYwNTAzMkUwMTZFCis6MTA4NDMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREU0MDhGRDAwMzY0NEQ0Cis6MTA4NDQwMDAwRkQwMDM2NDQwRjkwMDNENTAwRjk0MDNFNTAwN0Q0MEQ4Cis6MTA4NDUwMDAzRTQwMEY5NDAzRTQwMEY5MTAzRjQwMEU5MDAzRTYwNDAxCis6MTA4NDYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU0MDBGRDQwMzM2OEMzCis6MTA4NDcwMDAwQ0QwMDNFNzgxRjkwMDMzNzgwREQ4MTMyNkEwQ0RBMEU2Cis6MTA4NDgwMDAzMjQwMEQ5QjAzMjQwMEY5QTAzQzQ0MkM5MDA3ODYwMDQ5Cis6MTA4NDkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUwMDBCOEEwQTIxMDNBCis6MTA4NEEwMDAxODgwMDM4Mjg0Qjg4MDM2MkMyRTBGMDJBM0EwRDhFMDU3Cis6MTA4NEIwMDAzNjIyOEIwODAzNDJBMEY4RTAyRTI4MDg4ODAyQ0UwNDVBCis6MTA4NEMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDBCMTAwQTA1MDBBCis6MTA4NEQwMDAyODMwMDJDNTgwQjEwODIwNDAwOTEwQTI0NDA4ODE0ODE0Cis6MTA4NEUwMDAyMDQwMEIxNDAyMDQ4MEIxMzgyQzQ4MDgxMjgyODIwMTBCCis6MTA4NEYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCMTAwMjI0MDJDCis6MTA4NTAwMDAwODkyMDJFNDAwQjkwMjI2NTg0QTkwMDJFNDA4OTk0MDExCis6MTA4NTEwMDAyNjQwMEI5MDAyNjQwOEI5MDEyQzQ4MDg5MDEyQzYwNDRBCis6MTA4NTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTgwMzI0MDY3Cis6MTA4NTMwMDAwODk4ODNFNDA0QjkwMTMwNDAwRDkwMEI2NDAyQzkwMDJGCis6MTA4NTQwMDAzMjQwMEY5MDAzMjQwMEY5MDAxRTU4MEM5MDAzQTgwNDM5Cis6MTA4NTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTIwM0M0MDQ5Cis6MTA4NTYwMDAwRjk4MDNBNDAwQjkwMDNFNDI4RTEwNEI4NDA0RjkwMDFBCis6MTA4NTcwMDAzRTQwOEY5MDAzRTQwMEU5MDAzRTQwMEY5MDAzQ0EwMEE0Cis6MTA4NTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBEODAwMzIwOEExCis6MTA4NTkwMDAwRjg0ODNBMDA0QzgwNDNFMDA4MzgwMDEyMDAwQzAwMDMzCis6MTA4NUEwMDAzMjAwMEYwMDAzQTAwMEM4MDAzMjEwNEU4MDEzQ0EwNDJFCis6MTA4NUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4RTkwQTM4MDA1Cis6MTA4NUMwMDAwQkU0MDIyODAwQ0EwMDJGODA0QUEwMTNBODAwQUEwMENBCis6MTA4NUQwMDAzNjgxMEJBMDAyMjgwMDhBMDAyMjgwMDhBMDAzOEEwMEFFCis6MTA4NUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5M0MwMjBEMDhGCis6MTA4NUYwMDAwQjM0MDI4QzAwOEIwMDJDRjA4QjE4MDI0QzAwODMwMDkzCis6MTA4NjAwMDA2MEMwMEIzMDAyOEMwMjgzMDAyOEMxMEEzMDAyQ0EwMDBECis6MTA4NjEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFFMDBCNDBCNjlDMDYzCis6MTA4NjIwMDAwOTU4MDYxRTgwOTcxMDJGQzI0ODcwODI5QzgwQTcwOEE4Cis6MTA4NjMwMDAyNUNDMEI3MDAyMUU4MTg3QTJBQkM0MDg3MzAyRTgwMDMwCis6MTA4NjQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMTBEQzg0MjFFMDhCCis6MTA4NjUwMDAwRjc4NDI5RjAyQzc4ODNERTAyRjcxMDM0RTAwQ0Y4MDA0Cis6MTA4NjYwMDAyMUUyMEY3ODgzOUU0OUNGRDAzOUU4MEU3ODAzRUEwMkUxCis6MTA4NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDg0REFDNDBDQTAwMzYwMEI5Cis6MTA4NjgwMDA4RjMwMjNFQ0E4RUI0MDNDQzAwRjk2NDNFRDgwRkIwMEZECis6MTA4NjkwMDAzRUQ4OEZCMTQzRUQ4MEZCMjAzNkNBMEZCMEEzODIwNkNGCis6MTA4NkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFODBGQzgwMzFFMDVBCis6MTA4NkIwMDAwNUFBMTBGRTQ0RkY5MDNGRTFDRkY5MTczRjIwRDc4MDc1Cis6MTA4NkMwMDA4QkU0MEZGODAzM0UzMEZGODAzN0UwMEZGODAwNDAwMEU2Cis6MTA4NkQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRDEwMjFDMDI3Cis6MTA4NkUwMDAwODRBMDJEQ0MwQjcwMDJEQzIwQ0QzMDIxQzgwODcwMEYwCis6MTA4NkYwMDAyOUMwNEI3MjAyMUMwMEI3MDEyMUMwMEJGMDEyMkEwNEUyCis6MTA4NzAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDOTAzNDAwMjE4MDA4Cis6MTA4NzEwMDAwOTcwMDA1QzBDQjcwMDJEQzQwODUwMUEwQzAwOTcwMEJCCis6MTA4NzIwMDAyMUMwNEIzMDAyMUMwMEI3MDAyNUMwMEI3MDAyNDAwMDc2Cis6MTA4NzMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMDBCMDAwNjAwMDA5Cis6MTA4NzQwMDAwODNFMDJDQzAwQjMwMjBDRTAyQkIwMDIwQzAwOTMwMEY4Cis6MTA4NzUwMDAyOEMwMEJCMDAyMkMxMEIzMDAyMEQ2MDMzMDAyMDgwNDRFCis6MTA4NzYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBGQjAwQjIwMEIzCis6MTA4NzcwMDAwNUJFMDM3QzAwRkYwMDNFMjAwQ0IwMDMzQzAwRDk4MDA2Cis6MTA4NzgwMDAzM0MwOEJGMDAzM0MwMEZGMDAzN0UwMEZGMDAzNkEwNEI2Cis6MTA4NzkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjA0M0UwMEQwCis6MTA4N0EwMDAwRkE0MjNDQzAwRkIwMDNFODEwODkwMDNFQzAwRTkxNEU5Cis6MTA4N0IwMDAzRUMwMEZCMDAzRUMxMEZCMDAzRUMwMEZCMDAzRTAwMDYyCis6MTA4N0MwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwMzc4MEI2Cis6MTA4N0QwMDAwRkZBMDNGQzAwQ0YwMDNGOTAwNkRDMjMzQzAwRkQxMEE1Cis6MTA4N0UwMDAzM0MwMEZGMDBCM0MwMDQzMDAzM0MwMEZGMDAzQzA0NDE0Cis6MTA4N0YwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDZDMDlCQjE5MjIzMjJCCis6MTA4ODAwMDAwQkJFMDM2QzAwOEIwMDJDOTAwREI4MDJBQzAwQjEwMEM1Cis6MTA4ODEwMDBGMkMwMEJCMDEyQUMwMDhCMDAyMkMwMEJCMDAzQTA0MDIyCis6MTA4ODIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMTBCMzAwMjYyMDdFCis6MTA4ODMwMDAwQjkwMTJFQzAxOEIwMDJBQzIwQTkwMDIyQzAwQkIwMEE0Cis6MTA4ODQwMDBBMkMwMEJCMDAyMkMwMEFCMDAyQUMwMEJCMDAyRTAwMEFCCis6MTA4ODUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDFCMzAwMjAwMEVDCis6MTA4ODYwMDAwQjAwMDI4QzAwODMwMDJFQzAwQjM0MDI4QzAwQkIwMDc2Cis6MTA4ODcwMDAyMEMwMEIzMDAyMEQwMEEzMDBBMEMwMEIzMDAyODIwMTBCCis6MTA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBCQjA0MzY4MEZBCis6MTA4ODkwMDAwRkIyMDJGQzAyQ0YwMjM4QzAwRUYwMDMzQzAwRkIwMDE2Cis6MTA4OEEwMDAyM0MwMEZGMDAzM0QwMkVGMDAzM0MwMEZGMDQzQzAwM0JECis6MTA4OEIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwM0YwMDcxCis6MTA4OEMwMDAwRkY0MjM3QzAwRkYwMDNGQzAwREQwMDNGQzAwRkYwMDJECis6MTA4OEQwMDAzQkMwMEZGMDAzRkM4OERGMDAzRkMwMEZGMDAzQTgwNjg5Cis6MTA4OEUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwNTBDRTEyMzNEMDMwCis6MTA4OEYwMDA0Qzg2ODMzMDgwNUY2ODMzQzQwRkYzODMzQ0MwQ0MzODMwCis6MTA4OTAwMDBCMzA4MENDNjAzRjFBMEZGMDAzMzI0MENDMjAzRjAwMDJGCis6MTA4OTEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDODBEMjIwMjNEOEZFCis6MTA4OTIwMDAwRDk2MDI4ODYwQUY0MDIzREMwQkY2MDIzQ0MyODg2MEUzCis6MTA4OTMwMDAyMjUyMDg5MTIyRTEwMEI3MjRBMjQ4OEE4NDgyNjAwNDZFCis6MTA4OTQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0MDA4MTAwRTBDNDgxCis6MTA4OTUwMDAwQTAwMDIwNDgwQTMyMEE4QzAxQjMwMEEwQzAwQTAwMDVCCis6MTA4OTYwMDAyODBDMDkwMjAyQzQ4MEIzMUMyMjA4MTkwMzAyRTIxMTc4Cis6MTA4OTcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE0MDA5OTgwNjJDMEQzCis6MTA4OTgwMDAwQkEwMzJBNDUxQUIwMDJBQzA4QkIwMDAwQzAwQTlDMEQwCis6MTA4OTkwMDAyQTIxMDhCODIyRTIwMEJCMDAyMjg0MUJBODQyNzAwNEVFCis6MTA4OUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUyMDBDQkM5MzJDMEFBCis6MTA4OUIwMDAwRThCMTMyMjEwREIwMTMyQzAwRkIwMEIyQzAwNjg4MTJDCis6MTA4OUMwMDAzQTIyMkM4ODIzRTMwMEZCMDAzMDMwOEQ5QzgzRDAwNEI2Cis6MTA4OUQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJBNDBGNzA0M0VDMjUxCis6MTA4OUUwMDAwREQ4MjNEODAwN0IwMDM3QzAwRjcwMzNGQzEwRDIwMEE1Cis6MTA4OUYwMDAzNUMwOEZDMDAzRjQwMEY3MDIzRkUwMEU4MDAzRjgwMDlCCis6MTA4QTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMDgxMjBDODA4MzBDMDU1Cis6MTA4QTEwMDAwQzAwODMyNDQwQzM4OTNBQzAwRUIwMEIyQzA4Qzk0ODBGCis6MTA4QTIwMDA3MjU0MEY5MTAzRUQwMkVCOEEzQTYyOEM4MDBCMTAwNEIyCis6MTA4QTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJCMDQ4ODQwQTNDMkVECis6MTA4QTQwMDAwMkFFMTIyNzQyOEY0NDIzQzIwQkY0MDIzRDAwMEE0MEJCCis6MTA4QTUwMDAyMkUwMEJCNTAyRUMyMDhGNDRBMjQwOERCRDIzMzIwMEYyCis6MTA4QTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ5NDA4MzgxMjRDMTZGCis6MTA4QTcwMDAwODI4MDIwMTAwOTMwMEEwRTgwQTMwODI4RjYwQjM5MEJBCis6MTA4QTgwMDA2MEI4MEIyODEyNEEwMDkzMDAyMDkwMDkyMDAyNzgwMDU5Cis6MTA4QTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDI4N0E4MjVFMDExCis6MTA4QUEwMDAwQTdCMDIxQTA0ODc4MDIxRTQwQjc4ODI4RTAyOTY5MTU5Cis6MTA4QUIwMDAyMTIxMEI2OTQwREI0MDk3OTIyM0EwODk1ODgyMDgwMDRFCis6MTA4QUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODI1ODJDMzAwMzRDMEI4Cis6MTA4QUQwMDAwQzlCNDMwOEQwRDMyMDM4QzAwRUIwMDM4QzAwQjMwMEU5Cis6MTA4QUUwMDAyMDgwMDcxMDAzRTAwMEQzMTAzODE4MEQzMDAzNTIwMjI1Cis6MTA4QUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREI0MDA3RjIwMUJEMERCCis6MTA4QjAwMDAwRkYxMDNGODQwRUYwMDNGQzAwRkI0MDM3QzIwQ0YwNDA3Cis6MTA4QjEwMDBCRjQwMEZGMDAzRTQxMEVGMTgzREMwMEZFMDAzRDAwNjk0Cis6MTA4QjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDBFMzAwQjJDNEY3Cis6MTA4QjMwMDAwQ0EwMDMyNDAwREI2ODMyQzgwQ0I0MDNFQzgwQzg4MEFFCis6MTA4QjQwMDBCNkUwMENBMDAzMkUwMENCRTBCMjYwMENCODBCMkEwMEZDCis6MTA4QjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDI4NzAwQTFDOEJFCis6MTA4QjYwMDAwODcwMDIxQzA4OTcwMjIxRDQwODc0MDJEQ0MwMDcwMEI4Cis6MTA4QjcwMDAyMUMwODg3MDAyMTgwMDgzMDgyMUMwMDg1MDAyMTIwNDI2Cis6MTA4QjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMjBBRDgwMjlFMEQxCis6MTA4QjkwMDAwODU4MDIxRTAwOTdCMDIxRTgwODc4MDJERTEwMTU4MDAwCis6MTA4QkEwMDAyMUExMDg0ODAyNUUwMDg3QTQ2NUEwMDg3ODAyMzAwMDcxCis6MTA4QkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENGMTA4MTcwQThDMDAxCis6MTA4QkMwMDAzODMwMEEwRDAwOTMwMEEwQzEyODMwMDJDQzAyODM4OEZGCis6MTA4QkQwMDAyMEUwMzgzNDBBNEQ3MjgzMDAyNEU4MjgzNDgyMTIwNERECis6MTA4QkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJBNDBFRUMwQkE4MDc2Cis6MTA4QkYwMDAwQ0UwMDMzOTEwREEwMDMyODAwQ0EwMDNFODAwREVDODc0Cis6MTA4QzAwMDAzM0EwMENFMDAzN0IwMENBMDAzN0IxMENFNDIzM0EwNDI0Cis6MTA4QzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEMxMDBGODAwMzYwMEJECis6MTA4QzIwMDAwRjgwMDNDMDIwMzgwMDNFMDAwRjAwMDNFMDAwRjgwMjcwCis6MTA4QzMwMDAzQTI0MEY4MDgzQTAwMUY4MDQzQTA0MEQ4MDEzRDIwMDc3Cis6MTA4QzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0NDRDMTAwMzI0MDgxCis6MTA4QzUwMDAwQzkwMzIyNDBDQzEwNjM4NDAwRDkwMDkwNDAwRDkwMDU0Cis6MTA4QzYwMDAzRTQwMEYxODAzMjQwMEY5MDEzRTQwMEY5MDAzQzIwNDU4Cis6MTA4QzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDY4OTAwMkE1MEQzCis6MTA4QzgwMDAwODk0MEEyNDAwODk0MjIyNTAwQTkwMTIyNTAwODkwMDgzCis6MTA4QzkwMDAyRTUwMEI5QzBBMjUxMEI5MDAyRTUwMEI5MDAyRTAwMEJDCis6MTA4Q0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MjA4OTAwMjA0MjY4Cis6MTA4Q0IwMDAwODEwQzJBQzEwODkwODJBNDIwOTkwMDIyNDIwOTkwMEE5Cis6MTA4Q0MwMDAyRTQyMEFCMTgyMkMyMEI5MDA2RTQyMEI5MDAyQzYwMERGCis6MTA4Q0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MzAwMjg0ODUxCis6MTA4Q0UwMDAwODEyNjI4QzgwODEwMDIwNDAwMjEwMDI4NDgwODEyMDYyCis6MTA4Q0YwMDAyQzQ5MEIxMjA2MDQ4NEIzMDI2QzQwMEIxMjAyQzIwMTExCis6MTA4RDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDQxRTBDODc4MzAxNEY5Cis6MTA4RDEwMDA0QzA1MTNBMTQyQzA3ODM4MUUwRDg3ODMwMTQwRDA1MDA2Cis6MTA4RDIwMDAzQzE0MEUwNTAzMDE0MEY4NzgzQzE0MEYwNTAzRUUwM0Q0Cis6MTA4RDMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREZDMDBGRjAwMEU0NEUxCis6MTA4RDQwMDAyRkYxMDM3NDQwRjkwMDNFNDAwRDkwMDM2NDQwRkQxMDg0Cis6MTA4RDUwMDAzRjQ0MEZEMTAxRjQ0MEY5MDEzRkMwMEZEMTAzRTYwNkIzCis6MTA4RDYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUU2MjJFOTg4QjI0MDBCCis6MTA4RDcwMDAwRjkwMDMyNDE2Qzk4QzM2N0I4RjlDODNBNzkwQzkwMDYzCis6MTA4RDgwMDAzRTUwMDQ5NDEzMjQ1MEM5RTAzRTUwMEY5MDAzMDYwMDU3Cis6MTA4RDkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUyODA4OEEwMjIyODQ3Cis6MTA4REEwMDAwQjhBMDIyQTgwODhBNDIyMzAwODhFMEEyMjAyODhBMDE4Cis6MTA4REIwMDAyRTI4ODhBQTEyMjI5MDg4RjQyRTIwMEJDODAyMEUwNEI2Cis6MTA4REMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUQ0MjBBNTA4MjE0MjYyCis6MTA4REQwMDAwQjUwODIxNDMxODUwODI1NDAwQTUwMjI5NDQwODUwOEEyCis6MTA4REUwMDA2RDQwMDg1MDAyNTQwMjk1MDAyRDQ4MEI1MDgyNDIwMUZDCis6MTA4REYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNTg0MDA4RDEwMjM0MDUyCis6MTA4RTAwMDAwQkQwMDAzNDAxOEQwMDIzNDE1OEQwMDIzNDAwOEQwODZFCis6MTA4RTEwMDAyRjUwMDhEMjAyNzQ4MDlEMDAyRjQ4MEJEQzAyNDYwNEJDCis6MTA4RTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU3NDBFOUMwMzI0MEVCCis6MTA4RTMwMDAwRjkwMDkyNjAwQzkwNDM2NDAxRjkwMjNBNDA4Qzk0MDlBCis6MTA4RTQwMDAzRTQwMEM5NDBCNjQyMEQ5MDIzRTQxMEY5NDAzNjgwNDA5Cis6MTA4RTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTgwM0U0MERFCis6MTA4RTYwMDAwRjE0MDNDNTA4RjkwMDNFNDAxRjkwMjNFNDAwRjkwMEU5Cis6MTA4RTcwMDAzQzQwQUY5ODAzODYwMEU5MDAzRTQwMEYxMDBCOEEwMDhCCis6MTA4RTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEIwMDBEQzQwQjMwMENCCis6MTA4RTkwMDAwRkMwMDMzMTAyQzQwNEIxMDAzQzQwMDMxMDAwRkM0MDg5Cis6MTA4RUEwMDAzMzAwMENDNDAzQjEwMENDMDBCMzAwMENDNDAzQ0EwNEVCCis6MTA4RUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDA4QTgwMjJBMDcxCis6MTA4RUMwMDAwQkEwMDIyQTAwOEE4NDIyQTEwOEEwMDIyODA4QkEwMTY1Cis6MTA4RUQwMDAyMjgwMDhBMDJCMjgwMDhBODAyQTgwMDhFMDAyQ0EwMDhECis6MTA4RUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDI5QjgxMjBFMEFCCis6MTA4RUYwMDA4QjM4MDZDRTAwOTM4MDIwQzAwODM4MDIwQzAwQjM4MDY3Cis6MTA4RjAwMDA2Q0UwMEFCMDAyNEMwMDkzMDAyMEUwMDgzMDAyQ0EwMDc2Cis6MTA4RjEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTEwMDQ4MDA4MjEwMkExCis6MTA4RjIwMDA0QjQ0MDZEMDIwOTAwODIxMDI4MDQ0MDIxMDAwQjRDMEI3Cis6MTA4RjMwMDAyRDEwNDg0MDAyMDAwMDk0ODkyOTMwMDg0MDAyRTgwMEMyCis6MTA4RjQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODMyMDBENjgwMzFBMEQ4Cis6MTA4RjUwMDAwRkU4MEJDQTAwRDY4MDIzQTAwNEY4MEIxQTAwRkY4MDhDCis6MTA4RjYwMDBCRkEwMkVDODEzREEwMjVFODA3M0EwMkM3ODAzRUEwMjM5Cis6MTA4RjcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGOTAwM0U0MEE5Cis6MTA4RjgwMDAwRjkwMDMyNDAwRTkwMDNFNDAwRTgwMDNFNDAwRjgwMDQ3Cis6MTA4RjkwMDAzMjQwMEZCMDAzRTQwMUU5MDQzNjQwMEY4MDAzQzIwNkZCCis6MTA4RkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBDRDgwMzM2MDdFCis6MTA4RkIwMDAwQ0Q4NDMzNjAwQ0Q4MDMzNjAwQ0Q5MjNCRTAwNEQ4MEUxCis6MTA4RkMwMDAzMzYwMDhGODBCM0UwMEZEODQzRjYwMEZGOTAzQzAwMERBCis6MTA4RkQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTkwMDRERTAwMjM4MDUzCis6MTA4RkUwMDAwODYwMDJCODIwOEUwNDIzODAwODY4MDIxMDAwOEUyMERBCis6MTA4RkYwMDAyMzgyMDg0MDAyMTIwMEY2MDAyRDgwMEI0MUEwRUEwNEYzCis6MTA5MDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDkwMDA4NDAwMjEwMENCCis6MTA5MDEwMDAwODQxMDI1MDQwOTQwMDIxMDAwQTUyMDJEODAwODUwMjAzCis6MTA5MDIwMDAyNTA0MDg0MDIyMTgwOEI0MDAyRDEwMEI3ODQwQzAwMDE5Cis6MTA5MDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEVFMjI5MzAwMjBDMDU5Cis6MTA5MDQwMDAwODM4MDJFQzAwOTMwMDIwQzEyQTIwMDI2NDAyODIxMDNBCis6MTA5MDUwMDAyNEYwMEEzQzQyMjQyOEIzMDAyQ0UwMEI4ODgyQzgwNDg4Cis6MTA5MDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFEMDBDQjAwQjJDMDI5Cis6MTA5MDcwMDBBQ0JFMDM2RTAyREIwMEIyQzAxRUEwMDNFNDAwQ0ExMTQ2Cis6MTA5MDgwMDBCNkQwQUNCQzAzMjQwMEZCMDAzRUMwQ0Y4NDAzRUEwNDhFCis6MTA5MDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEUwNDBGODAwM0MwMDlDCis6MTA5MEEwMDAyRjgyMDNBMDAwRTgwMDNFMDAxRDkwMTNBODAwRjkwMEU1Cis6MTA5MEIwMDAzQTAwODE4MzQzRTgwMEU4MDMzRTA0MEZCMDAzRTAwMDc4Cis6MTA5MEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEUwMDBENjAwMzc4MEYyCis6MTA5MEQwMDAwQ0EwMDNGODAwQ0UwMDMzODAwREEwMTMyMDA4Q0UwMEIyCis6MTA5MEUwMDAzMzgyMEM0MDczMzAxOENFMDAxRjgwNEZDMTQzMDA0NEMwCis6MTA5MEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDdDMDA4RDAwMjM0MDRGCis6MTA5MTAwMDAwQUQwMDJGNDAwOEQwMDIzNDAwOEQ0ODAzRTQyOEQ0MEY2Cis6MTA5MTEwMDAyMzQwMDhGMDAyM0U0MDhEMDAwRjQwMEJGNDAyMjA0MDM3Cis6MTA5MTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA5OTAwQTY0MEZGCis6MTA5MTMwMDAwODkwMDZFNDAwOTEwMDIwNDA4ODAwMDIyNDA4ODA0MDQ2Cis6MTA5MTQwMDAyMDQwMEFCMDAyMjQwMDg5MDAwRTQwMEI4NDAyMjAwMDU3Cis6MTA5MTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4MjAwMjA4MEExCis6MTA5MTYwMDAwQTIxMDZDODAxODIwMDIwODAwODMyODIwODA4ODMwMDk0Cis6MTA5MTcwMDA2MDgwMEEwMDEyMDg4MDgyMDAyQzgwMEIzMDBBMDIwMUY1Cis6MTA5MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYwMDBEODAwMzYwMDY0Cis6MTA5MTkwMDAwQzg0MjNFMDAwQzgwMDMyMDAwRDgyMEIyMDAyQzgwMEJFCis6MTA5MUEwMDAzMjAwMEUwMDAzMjAwMkM4MDAzRTAwMEY4MDAzMDAwM0JGCis6MTA5MUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBCRjAwM0ZDMEU4Cis6MTA5MUMwMDAwRkYwMDNGQzAwRkYwMEJGQzA4RkIwMDNGQzA4RkYwMkRDCis6MTA5MUQwMDAzRkMwMERGMDAzRUQwMEZGMDIzRkMwMEZGMDAzRTgwNkIzCis6MTA5MUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwMUYwOENGRjAwM0Q2MDM2Cis6MTA5MUYwMDAyQ0IyODM3QzkwREYzODMxRTAwRkY4MDMzQzAwRkYyMDc1Cis6MTA5MjAwMDAzRkM0MEVGNDAzN0MwMEY0ODAzMzAwMERGODAzRjAwMDNCCis6MTA5MjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUxMjBCQjYyMkU0MkMwCis6MTA5MjIwMDAyOEY0NDIzRTQwOEY0NDIyRTAwQkIwODM3RjQ0QkZDMTBDCis6MTA5MjMwMDAyRERDMkFGNjAyM0Y0NUI4ODAyMjYxODhCODAyRTAwNDlFCis6MTA5MjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM1ODBCMjE4MkVDODVDCis6MTA5MjUwMDAyOTMwMzIwQzA4QjMyMDIwQzA0QjkyMDIwQzAwQjM0MERFCis6MTA5MjYwMDAyQ0MwODkzNDEyNEMwMEIwMDAyNEMxNDkzMDAyRTIwMTA0Cis6MTA5MjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUE0MDBCQTBDMkVFMDM1Cis6MTA5MjgwMDBBOUIwMDYyQzAwOEIwMEEyQzAwQjkwMDA2QzAwQkIwMEE0Cis6MTA5MjkwMDAyRUMwMEIzMDAyNkMwMEJBODAyNkYwMDhCMDAyRjAwNDM5Cis6MTA5MkEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMUVFMDBGQkM0M0U3OEFBCis6MTA5MkIwMDAyREIwMDM2QzA4RkIwMDMyQzA4QjI0ODMyQzAwRkIwMDE0Cis6MTA5MkMwMDAzRUMwOEZCMDBCNkMwOEIyRTAxNjYwOERCMDIzRDAwNEE2Cis6MTA5MkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJFOThGRjQwM0ZDMEE5Cis6MTA5MkUwMDAwRTcwMDNEQzAwRkYwMDNGQzAwRkUwMDNGQzAwRkYwMDM2Cis6MTA5MkYwMDAzRkMwMEVGMDAzQUMwMEZFMDBCOUMwMEZGMDAzRjgwMDUxCis6MTA5MzAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFEMDBGQTQwM0VEMEI4Cis6MTA5MzEwMDAwRUIyMDNFQzAwQzMwMDNFQzAwQ0EwMDMyQzAxRkIwMDA2Cis6MTA5MzIwMDAzQ0MwMEVCODAzRUMwMERBMDAzQUQwNEZCMDIzRDAwNEIyCis6MTA5MzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCQTAwMkNDMDZFCis6MTA5MzQwMDAwOEY0MDdCQzE0REYwMDNFQzAxQUEwNTJCQzAwQkYwNEUyCis6MTA5MzUwMDAzRkMwOEFGMDAzQkMwMEZBMDAyMkM4MEZCMDAzRjIwMDNECis6MTA5MzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQ4MDFCMTAwNkNDMkIwCis6MTA5MzcwMDAwQTMwNDJDQzAwODMwNTJDQzAwODMwMDI4QzAxQjMwNEIzCis6MTA5MzgwMDAyQ0MwMEEzMDIyOEMwMDgwODAyOEMwMEIzMDIyRjgwMENDCis6MTA5MzkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFMDhCNzgwNkZFMEIwCis6MTA5M0EwMDAxODc4MDI4RTQwQjc4MDJERTAwQTc4MDI5RTAwQjc4MEMwCis6MTA5M0IwMDAyOUUxMEE3ODAyOUUwMUJDODAyOUU0MEI3ODAyQzgwMEVBCis6MTA5M0MwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA5NDBGMTIwM0NDNEIzCis6MTA5M0QwMDAwRTM5MDJDQzAwQzMwMDJDQzQwODkyMDM4Qzg4QjMxMDUxCis6MTA5M0UwMDAyQ0M0MEVCMDA3OEMwMEMyMDgzOEMwMEYzMDQzRDIwMjI0Cis6MTA5M0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMTBGQzAwN0ZDMDA5Cis6MTA5NDAwMDAwRkYwODNGQzIxREYwODNCQzA4RjkwMDFGQzIxRkYwQzkzCis6MTA5NDEwMDAzRkMyMEZGMTAzRUMwMEVGMDA3N0MwMUVGMDAzOTAwNjhGCis6MTA5NDIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUU4MDFGOTAwMzJDMDVCCis6MTA5NDMwMDAwRkIyMDNFRTkwREJFMTNBQzA0RDM4MTMyRDMwRkIwMDQ0Cis6MTA5NDQwMDAzRUUwNEZCQTQzMkM0MEZBMDAzRkMwOENCMDAzRUEwMDI0Cis6MTA5NDUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDBCMTAwMjFDMDE1Cis6MTA5NDYwMDAwQjcxMDJDQzIwQTcyODIxQzAwQjcwMTM1QzA4QjcxMDI5Cis6MTA5NDcwMDAyREM0NEIzNDgzMUNDMUI3MDIyREMwMUE3MDAyRDIwNDE0Cis6MTA5NDgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMjBCNEM0MjVBMkMzCis6MTA5NDkwMDAwQjc4MDZERTAwODM4MDI5RTAxQkY4MDI1RTgwQTdBMDFGCis6MTA5NEEwMDAyREM4MEE3MjAyMUUwMEE2ODAyOEUwMDg3ODAyRjAwMDhCCis6MTA5NEIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVEMDBCMzQwMjRDMzY5Cis6MTA5NEMwMDAwQjMwNDJDQzAwQTMwMDIwQzAxQjM0MDI0QzAwQjMwMDgwCis6MTA5NEQwMDAyQ0MwNEIzMDAyMEMwMEIzODgyQ0Q0MEEzMDAyRDIwNENBCis6MTA5NEUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4MDBGRTQwQjdBMDAyCis6MTA5NEYwMDAwRkEwMDNFODAwREEwMDNBODAwRkUyMDM2ODAwRkEwMEU4Cis6MTA5NTAwMDAzRTgwMEZBMDBCMjgwMEVFRTAzRkIwMDRBMDAzRkEwNDU5Cis6MTA5NTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDRGMDA4M0ExMDdECis6MTA5NTIwMDAwRjg0MDNFMDEwRjgwMDNFMDA0RjgwODNFMDAwRjgwMDU1Cis6MTA5NTMwMDAzQzAwMEY4MDAzODAwMEY4NDAzRTA5MEY4MDAzRDIwMEZBCis6MTA5NTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MjBFOTAwMzI0NDcwCis6MTA5NTUwMDAwQzkwMDMyNDAwRjkwMDNFNDAwRjkwMTNFNDAwQjkwMDgyCis6MTA5NTYwMDAxRTQwMEMxMDAzMjQwMEM5QTAzQzY0MEM5MDAzODIwNDJDCis6MTA5NTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTAwMjI2OEMwCis6MTA5NTgwMDAwODEzMDIyNDA4RjkwMDJFNDgxQjkwMDJFNDAwQjkwMEQ5Cis6MTA5NTkwMDAzRTQwMEM5MDAyMjQwOEY5NDAyRTYwMEE5MDA2RTAwMDNDCis6MTA5NUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBBOTAwMjA0MDY1Cis6MTA5NUIwMDAwODkwMDIyNDAwQjkwMTJFNDAwQjkwMDJFNDAwQjkwMDhCCis6MTA5NUMwMDAyRTQwMDg5MjIyMjQwMDg5MDAyRTQwMDg5MDAyQzYwMEY2Cis6MTA5NUQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODA4MTIxRTA1MEU5Cis6MTA5NUUwMDAyODE2MEEwNDgwQTE0MDJDNDA0QjE0MjJDNDAwQjEwMDZDCis6MTA5NUYwMDAyQzUwMDkxNDAyMDQwNEIxMDAyQzQwMEExMDAyQzIwMUNDCis6MTA5NjAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBFODUwMzIwMDhBCis6MTA5NjEwMDA4QzgwMDIyMDAwQjgwMDNFMDAwQjgwMzNFMDEwRjgwMDgwCis6MTA5NjIwMDAzRTAwMEM4MDAzMjAwOENBMDAzRTAwMEM4MDAzQUUwM0ZECis6MTA5NjMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREZDNDBGRDEwMkY0MTZDCis6MTA5NjQwMDA0RjkxMDNFNDQwRjk0MDNFNDA0RkQwNjNFNTAwRjk0MEJDCis6MTA5NjUwMDAzQTUwMkU5NDAzNjUwMEVEMDAzRjUwMEY5MDAzRTYwNjRDCis6MTA5NjYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUU2MDBGOUUwMzM1MDFCCis6MTA5NjcwMDAwQ0RBMDNBNjAwRDk4MDNGNDAwRjkxMDNBNjAwRjk4OEI5Cis6MTA5NjgwMDAzRTY4MENERTAzNjYwMEVEMDAzQjY5MEM5MDAzQzYwMEVCCis6MTA5NjkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUxMDhCOEUwMjAyMDUxCis6MTA5NkEwMDAxODhFMjZFMTAwODBBMDJFMDA0Qjg4NDJFMTUwQjg0MDgxCis6MTA5NkIwMDAyRTJBMEQwQTAyMjAwOEI4MDAyRTE0MEQ4MDAyQ0UwNEI2Cis6MTA5NkMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1MDBCMTYwMjA0MDI3Cis6MTA5NkQwMDAwODMxQTJDNTAwOTE0ODJDNDAxQjEyMDI4NDAwQjEwMDQxCis6MTA5NkUwMDAyQzUwMDkxNjAyMDUwMEEzMDQyODQwMDgxMDAyQzIwMUVDCis6MTA5NkYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUE0MDBCOTA4MjA3MEU4Cis6MTA5NzAwMDAyODkwMDJFNDAwODkwMDJFNDAwQjkwMDJFNDA4QjkwMzdGCis6MTA5NzEwMDAyQzQwMjk5MDAyNjQwMEI5MDAyRTYyMDk5MDAyQzYwNDEwCis6MTA5NzIwMDA2MDAwMDAwMDAwMDAwMDAwQTAwNUU1MDBGOUQwQjI3MDY0Cis6MTA5NzMwMDAwODkwMDNFNDAwRDkwNDNFNDAwRjkwMDNBNDEwRjkwMkZFCis6MTA5NzQwMDAzRTQwMEQ5MDJCNjQwMEU5OEQzQTYwMEM5MDAzRTgwNEQ0Cis6MTA5NzUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTgwM0U0MkQzCis6MTA5NzYwMDAwRjkwMDNFNDAwRjkwMDNFNDAwRjlBMDNFNDAwRjkwMDczCis6MTA5NzcwMDAzRTQwMkYxMDAzQTQwMEY5MjIzQzQwNEY5MDAzQ0EwMDQyCis6MTA5NzgwMDA2MDAwMDAwMDAwMDAwMDAwMjgwMEEwMDBGMDQwMzIwMDRGCis6MTA5NzkwMDAwQzgwMDNDMDAwRjgwMDMyMjAxRjgwMDNFMDAwQzgwMEU2Cis6MTA5N0EwMDAzMjAwMEM4MDAyMjAwMEM4QzAzRTAwMEM4MDAzQ0EwNEI2Cis6MTA5N0IwMDAyMDAwMDAwMDAwMDAwMDAwMjgxNTI4MTBCQTAwMjNBMDk3Cis6MTA5N0MwMDAwQUU0MDJFODAwQkEwMDJCQTEwQkEwMDJFODAwQUEwMEZDCis6MTA5N0QwMDAyQTgxMEFBMDAzRTgwOERFMDAyRTgwMEFBMDAyQ0EwMDNGCis6MTA5N0UwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzA0QTBCMUI4Cis6MTA5N0YwMDAwODM2MjJDQzAwQjMwMDIwRTQwQjMwMDJDQzAwODMwMEZBCis6MTA5ODAwMDAyMEMwMDgxODAyMEMwMDkxMDEyQ0MwMDgzMDA2Q0EwMEM0Cis6MTA5ODEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDQzhCMzIxMjFDMkJDCis6MTA5ODIwMDAyQTcwMDJEQzAwQjdBMDI5QzAwQjcyMDJDRTAwQTc4MTBCCis6MTA5ODMwMDAyOUMwNEE3NDAyRkUwMDk3MDEyQ0MwMEE3MDEyRTgwMDg5Cis6MTA5ODQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFODBGN0MwMzFFMEMyCis6MTA5ODUwMDAwQzQ4MDNERTExRjc4MDIxRTAwQjdBMDNERTAwQzM4MEExCis6MTA5ODYwMDAzM0Q4NkM3ODAzM0UwMEQ2ODAzREUwMEM3ODAzRUEwMkUyCis6MTA5ODcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwREFDMDhGQjgwM0VDMEE2Cis6MTA5ODgwMDAwRkQwMDNFQzA0RkIzQzNFQzAwRkI2MDc2QzAxRkIwMDlECis6MTA5ODkwMDAzRUQwMEY5NDA3RUMwMUVBMDAzRUMwMEZCMDAzQzIwNkIxCis6MTA5OEEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMUZFMDBDRkE0M0I2MDRCCis6MTA5OEIwMDAwOEQ5MDM3RTAwQ0Y4MDNGMjU0RkZDODdCRTAwQ0Y4MEI0Cis6MTA5OEMwMDA3RkZDMENGQzAzN0MwMEY2OTAzM0UwMEZGODAzQzAwMDMzCis6MTA5OEQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDg4RjI4MjE0MEEzCis6MTA5OEUwMDAwOEQwMDIxQzQwQTcyMDMxMDQxQjc4MDJEQzgwRDcwMDdFCis6MTA5OEYwMDAyRkM0MUFEMDAyMUU0OEI2MDA2MUMwMEI3MDA2RUEwNERECis6MTA5OTAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDhDMDA4NzMwNjk0NDA3Cis6MTA5OTEwMDAwODUwMjIwQzAwODcwMTJENDQ4QjcwMDY4QzEwODcwMEE0Cis6MTA5OTIwMDAyOUM5MDg1MDAyMUM0NEE2MDA2MUMwMEI3MDAyQzAwMDg3Cis6MTA5OTMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENEMDA4Mzg4NjA0MDVCCis6MTA5OTQwMDAwMDEwMDI0QzAwMkIwMDJDNDExQjMwMDJDQzAwOTMwMDc1Cis6MTA5OTUwMDAyQ0MwMEEzMDQyMEMwMEIyNDAyMEYxMEIzMDAyQzgwNDg3Cis6MTA5OTYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJENDFDRkMwQkFGMEQzCis6MTA5OTcwMDAyODkwMUI2QzA4Q0YwMDJDQzAwRkYwMDNBQzAwOEIwMEFDCis6MTA5OTgwMDAzRkMwNkNCMDRCMkMwMUZCNDAyMkM4MEZCMDAzRUEwNDZGCis6MTA5OTkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDRGQjA0M0ZENEU1Cis6MTA5OUEwMDAwRjEwMDNBQzAwRkIwMDMyQzA1RkIwMDNFQzAwRkIwNEZGCis6MTA5OUIwMDAzRUMwNEYxMDEzRUMwMEZCODgzRUMwNEZCMDAzRTAwMEU4Cis6MTA5OUMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDNzAwMzM2MjFFCis6MTA5OUQwMDAwQ0MwMEIzQzAwRUYwMDMzRTAxQ0YwMTMzQzA4RjcwMDE4Cis6MTA5OUUwMDAzMUMwMEVEODAzQkMwMEZFMDAzREM2MENGMDAzQzA0NERECis6MTA5OUYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMDBDQjAzMjI0NzBGCis6MTA5QTAwMDAwODk4NDIyQzAwOUIwMDJBQzAwQUIwMDIyQzAwQkIwNDFDCis6MTA5QTEwMDAyQUMwMEFCMDAyQUMwOEZBMDAyRTYwMDhCMDAyRTA0MDhBCis6MTA5QTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA5QjAwMjA0MDdBCis6MTA5QTMwMDAwODk4MDIyQzAwQkIwMDIyODgwODMwMDIyQzAwQkIwMEQyCis6MTA5QTQwMDAyMkMwOEE5MjAyQUMwMEFBODAyRUMwMDhCMDA2RTAwMEI0Cis6MTA5QTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzAwQTA0MDRCCis6MTA5QTYwMDAwODEwMDIwQzAwQjMwMDI4ODAwQTMyMTIwQzAwQjMwNDY0Cis6MTA5QTcwMDAyOEMwMEEzMDIyOEMyMEIyMDAyQ0MwMDgzMDAyQzIwMTVCCis6MTA5QTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDJDQjAwMzA0MDIwCis6MTA5QTkwMDAxQzk0MDMyQzAwRUYwMDMyQzA4OEYwOEIyQzAwRkIwMERDCis6MTA5QUEwMDAzM0MwQUVGMDAzQUM4MEVBMDEzRUMwMkNCMDAzQzAwMzZCCis6MTA5QUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGRjAwMkY0MDJGCis6MTA5QUMwMDAwN0QyODNGQzAwREYwNDNGQzAwRkIwMDNGQzAwRkYwMDlGCis6MTA5QUQwMDAzRkMwMEZEMDBCRUMwMEVFMDAzRjQwMEZGMDAzRTgwNjU0Cis6MTA5QUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUY1MDBDRjA4M0Y0OEVFCis6MTA5QUYwMDAwRkMzOTM3MEQwREMzMDNGRDgwQ0IyMDMzQ0MwRkY0MEEyCis6MTA5QjAwMDAzM0M0MkNGMTAzNjI1MEZDMzQzMzAwMEY1QzAzRjAwMENCCis6MTA5QjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEM0ODA4QjAwMkY1QUVECis6MTA5QjIwMDAwQkE2MTIyMUMwODk3MDJGREMwOEYyQzIzREQwQkY0MEM1Cis6MTA5QjMwMDAzN0RDODhGNTBBMjA4MEU4MTAyQTE2MEI5MDAyRTAwNDMyCis6MTA5QjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUMwMDA4MzA4MkM0NDlECis6MTA5QjUwMDAwQjAyMDIwQzAwODAwMDJDQzgwODMzNDI4QzkwQjMzMEZBCis6MTA5QjYwMDAyOEM4NEEzMjEyODAwQ0IwQTAyODI4MEIxMjAyRTIwMTQ5Cis6MTA5QjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUEyMDA4QjAwMkU0OEZECis6MTA5QjgwMDAwQkEwMjIyMDIwODg4MDJFQzAyOEIwMEFBQzAwQkIwMDg5Cis6MTA5QjkwMDAyRUMwMEFCMDAyQTAwMEFCODIyQUEwMEJCMjAyRjAwNEQxCis6MTA5QkEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUU3MDBDQjAwM0VDMDUwCis6MTA5QkIwMDBDRjlDMEIyMTAwRDg4ODNFQzAwQ0IwMDNBQzAwRkIwMDRBCis6MTA5QkMwMDAzQUMwMEVCMDQzRTg0MEY4ODAzQTYwMEY5ODAzRDAwNEUyCis6MTA5QkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI0MDBGRjAwMEZFMDkyCis6MTA5QkUwMDAwN0ExMDNFODAyRkIwMDNGQzAwRjcwMjM3QzAwRkYwMkM3Cis6MTA5QkYwMDAzNUMwNERCMDAzNzQyMEZDMDEzRjAwMEZGODAzRjgwMDlFCis6MTA5QzAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE1MDBDQjAwQkE0MDNBCis6MTA5QzEwMDAwQzE0MEIyRjIyQzk0MDMyQzA4RUIwMDNBQzAwRkIwMEU1Cis6MTA5QzIwMDAzRUMwMEVCMDAzRTQwMEM5MDAzMjAwMkM5MDAzMTAwNEMzCis6MTA5QzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwMTI0MDA4RjAwMjI0MDI2Cis6MTA5QzQwMDAyQ0E1NDIyOTAwOEIwNEEzQzEwREYwMEEzQzAwQkYwMEUzCis6MTA5QzUwMDAzRkMwMDhGMDAxNjkwMERBMDUyMkQwMDg5NDAzNzIwMEMxCis6MTA5QzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTYwNDA4MzAxMjBDMENCCis6MTA5QzcwMDAwOTAwMDIyMDAwODI2MDIyQzAwODMwNDI0QzEwQkIwMjYyCis6MTA5QzgwMDAyQ0MwMDhCMDEyMDUwMDlCMDAyMDgyMDkzMjAyMzgwMDY3Cis6MTA5QzkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2OTA4NzgwMjBFMEE2Cis6MTA5Q0EwMDAwODU4MDIxNjE0ODQ4MTIxRTAyOTM5MDI1RTAwQjc4MDI5Cis6MTA5Q0IwMDAyOEUwMDg3ODAyN0E4MDk2ODEyMUUwMDlGODAyNDgwMEJECis6MTA5Q0MwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4MDk4QjEwMzg0NERDCis6MTA5Q0QwMDA0RDI1MTIwQzAwQzIxMDIyQzgwQTM4MDNDQzAwRjMxMDI0Cis6MTA5Q0UwMDAyQ0MwMEMzMDAzOEFDMEQ5MTAzMjQwMkQxMDAzMTIwMjUwCis6MTA5Q0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDODBGRjAwM0Y0MDRECis6MTA5RDAwMDAwRkYwMDNGNDQwRUQwMDNGQzAwRUYzMDNCQzA0RkYwMDZFCis6MTA5RDEwMDAzRkMyMEZGMDBCRDQwMEZGMTBCRjgwMEVGMDAzRDAwNjNGCis6MTA5RDIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUZBMDBDQjAyM0VDMDYxCis6MTA5RDMwMDAwRjkwMDNBMDAwQ0IwMDNBQ0EwQ0IzMTNBRjI0Q0I0ODVBCis6MTA5RDQwMDAxRUM4MEZCNjAzMkMwMEZBMDAzRUMwMEY5MDAzRUEwMEI1Cis6MTA5RDUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDg4NzIwMkRDNEZFCis6MTA5RDYwMDAwQjUwMTJEQzA0ODcwMDJDQzAwODcwQTIxRDAwQTc0MDE1Cis6MTA5RDcwMDAyNUNCOEI3NDgyMUMwMEI3MDAyREMxMEI3MDAyRDIwNDVFCis6MTA5RDgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMDE4NzkwMkRFMEY0Cis6MTA5RDkwMDAwQjc4MDJDRTAwODY4MDJERTQyOTdBMDI5RTgwODdBMDZGCis6MTA5REEwMDA2REU4MEI3ODAyMUUwMEI1ODAyRDYwMEI3ODAyRjAwMDg0Cis6MTA5REIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENEMDA4MzAyMkNFMEM5Cis6MTA5REMwMDAwQjMwMDJDQzAwODNFMDJDQzAwODMwMDIwQzAwQTMwMDUyCis6MTA5REQwMDAyNEMwMEJCMDAyMEUyMEIzMDgyQ0MwMEIzMDAyRDIwNEZBCis6MTA5REUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4ODJDQTAwM0VBODVDCis6MTA5REYwMDAwRkUwMDNGODAyOEU4MDNFODAwREEwNUJBODAwQ0EwMDMxCis6MTA5RTAwMDAzRTgwMEZBMDAzM0I4MEZFNDIyRjgwMEZBODAzRkEwNDgwCis6MTA5RTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMjBGODAwM0UwMDY0Cis6MTA5RTIwMDAwRjA2MDNDMDAwRjgxMTNFMDAwRjAwMDNFMDAwRjgwMDI5Cis6MTA5RTMwMDAzNjAwMEY4MDBCRTAwMEY4MDQzRTIwMEY4MTAzRDIwMEIzCis6MTA5RTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDBGOTAwM0U0MDZGCis6MTA5RTUwMDAwQzlBMDMyNDQwQzlDMDNFNDA0QzkwMDMyNDAwRjkwMEYyCis6MTA5RTYwMDAzNjQwMDc5MDAzMjQwMEM5MDQzMjYwMEY5MDAzQzIwNEY3Cis6MTA5RTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTAyMkU0MEExCis6MTA5RTgwMDAwQTkyMDIyNTAyODlFMDJFNDA5ODkwMDIyNDAwQjkwMDJGCis6MTA5RTkwMDAyMjQwMDk5MDAyMDQwMEQ5MDAyMjQ0MEI5QzAyRTAwMEY5Cis6MTA5RUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTJDMDBCOTAwMkM0MDM0Cis6MTA5RUIwMDAwODkwMDIyNDI4ODkwMDJDNDA2ODkwNDIyNDBDQjEwNEE4Cis6MTA5RUMwMDAyNjQwMEI5MDBBMkM4MDgxMDAyMjQwQ0I5MjgyQzYwMDUzCis6MTA5RUQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMTIwMkM0OEVECis6MTA5RUUwMDAwQTEyMDIwNDgwODEyMTJDNEMwODExMDIwNDA4QjExMENFCis6MTA5RUYwMDAyMDRDMDkxMjAyMjQwMTkxMjBBMDQ4MEIxMDAyQzIwMTNCCis6MTA5RjAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDQxRTBGODUwM0UxNEQxCis6MTA5RjEwMDAwQzg1MDMyMTQwQzg1MDNFMTAwODA2ODMwMUYwRjg2ODA0Cis6MTA5RjIwMDAzNjEwMEYwNTAzMjk0MEM4NTAzMjk0MEY4NTAzRUUwMzA1Cis6MTA5RjMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0MDBGOTEwM0Y0NDlDCis6MTA5RjQwMDAwRkQxMEJGNDQwRkQxMjJFNEMwMzkyMEJFNDAwRjkyMENDCis6MTA5RjUwMDAzRTRDMEY5MTAzRkMwMEZEMTAzRjQ0MEZEMDAzRTYwNjdBCis6MTA5RjYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MjBDOTAxM0U0MDA2Cis6MTA5RjcwMDAwRkQwMDMzQzAwQkQwMDMyNjMwQzlFNDMyNzAwRTlDMEI0Cis6MTA5RjgwMDAzRTY4MEM5ODAzMzQwMEY5MTAzRjQwMEZEMDAzQzYwMDIwCis6MTA5RjkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEMyMjBEODAwMkUwMDIxCis6MTA5RkEwMDAwQjgwNTIyODA0QjgwMDIyMzgwODg4MDM2MjAwODhGMDI5Cis6MTA5RkIwMDAyRTNBNDg4RjBBMjAwMEIwODAyRTAwMEI4MDAyQ0UwNDdCCis6MTA5RkMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0ODA4MTAwMkM0MDIzCis6MTA5RkQwMDAwQjEwMDIwNDAwQjEwMDIwNDI0ODE0NDIwNTgwQTEyMDY5Cis6MTA5RkUwMDAyQzQ0MDgxMDgyMDQwMEIxMjAyQzQwMEIxMDAyQzIwMTQ2Cis6MTA5RkYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE1MDE5OTAwMkU0MDE3Cis6MTBBMDAwMDAwQjkwMDIyNDQwQkIwMTIyNDEwODkwMTIyNDAwQTkwMEI5Cis6MTBBMDEwMDAyQzQwMDgxMDQwMjQwOEI5NDA2RTUwMEI5MjAyQzYwNDMwCis6MTBBMDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU3MTRDOTA1M0U0MUQzCis6MTBBMDMwMDAwRjkwMEIyNDA0RjkwOEIyNDAyQzkwMEEyNDAwRTkwMDg4Cis6MTBBMDQwMDAzRTQwMkM5MDAzMjcwMEY5ODAzRTYwMEY5MDAzRTgwNDA3Cis6MTBBMDUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0ODhGOTAwM0U0OERDCis6MTBBMDYwMDAwRjk5MDNFNjAwRjkwMjNDNDBBRjEwMDNFNDEyRDkwNDUzCis6MTBBMDcwMDAzRTQwMEY5MDAzRTUwMEY5QzAzRTY0MEY5MDgzQ0EwMDk0Cis6MTBBMDgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExMDBDODAwM0UwMDkxCis6MTBBMDkwMDAwRjgwMDMyMTAwQzg0MEIyMDAwQzgwMDMyMDEwQzgwMENDCis6MTBBMEEwMDAzMjAwMEM4MDAzRTA4MEY4MDQzMjAwMkM4MDBCMEEwNDlDCis6MTBBMEIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDBDQTAwMkU4MEIzCis6MTBBMEMwMDAwQkU4MEEzODEwOEVDMDIyODAwREEwMDIyODAwMEEwNDc2Cis6MTBBMEQwMDAwMjgwMjhBMDAyRkIwMEJBMDAzN0IwNDhFQTAyMEEwMDVBCis6MTBBMEUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDA5MzAxMkNDMDM3Cis6MTBBMEYwMDA4QkIwNDIwQzkwOUIyMDIwQzA0ODMwNDIyQzAwODMwMDQzCis6MTBBMTAwMDAyMEMwMDgzMDAyQ0Q0MEIzMDAyNEM4MDgzODAyMEEwMDNECis6MTBBMTEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE0MDA4NzAwMkRDMEM2Cis6MTBBMTIwMDAwQjI0MDYxNjAwOTMwODIxQzgwOTMxMDIwQzgwODdBMDcxCis6MTBBMTMwMDAyMUMwMTg3MjAyREMwMEI3QjQyNEUzMDg3ODAyMjgwMEJBCis6MTBBMTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDI5N0EwM0RGMDlCCis6MTBBMTUwMDAwRjQ4MDMzRTAwRDY4MDMwRTAyQzdBMDIxRTgyQzNGMDA2Cis6MTBBMTYwMDAzM0VDMEM3QzAzRDYwMEY3ODAzNUUwMENEODAzMkEwMkQwCis6MTBBMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxOUE1QTBGQjAwM0VDQTc2Cis6MTBBMTgwMDAwRjgwMDNFQzAyRUEwMDNFQzYwRkI0MEJFRDQwRkIwMDZCCis6MTBBMTkwMDBCRUMwMEZCNjQzRTAwMEZCMDIzRTgwMEY5MDAzQzIwNjM0Cis6MTBBMUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDJDRjg4M0ZFMEQ0Cis6MTBBMUIwMDAwQ0I5MDNGRTAwREQ4MTMzRTA4Q0ZDMDMzRjA0Q0Y4MDRCCis6MTBBMUMwMDAzM0UyNEZGQzAzM0UwMENGQzAzMzY0MENGODAzQzAwMDAxCis6MTBBMUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTk0NDA4NzAwMkZDMTBCCis6MTBBMUUwMDAwRDY5QTJEMDQwQkMwMDIzQzAwOEYwMDI5QzAwODcwMDhCCis6MTBBMUYwMDAyMUMwMEI3MDBBM0MwNDg3MTAyMTRDMDg2MDAyRUEwNDVECis6MTBBMjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlFMDA4NzAwMkRDMERDCis6MTBBMjEwMDAwOTYyMDJEODAwOTcwMDIxQzQwODcwMDIwQzQwOTcwMDIwCis6MTBBMjIwMDAyMUM0MEIzMDAyNTgwMEE3MDgyMTgwMDg2MDgyQzAwMEJBCis6MTBBMjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEU0MjU4MzAwMkNDMDUyCis6MTBBMjQwMDAwOTIyMDJDQzIwQjIwMDIwQzAyOEIwMDI4QzAwOTMwMDZBCis6MTBBMjUwMDAyMEMwMEIzMDQyNkMyMDgzMDgyMEUyMDhCODAyQzgwNEZBCis6MTBBMjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUE0MDBDRjAwM0ZDMDhGCis6MTBBMjcwMDAwRDlDMDNFODAwREI4MDMzQzAwQ0YwMEIzQzA2REYwMEQ0Cis6MTBBMjgwMDBCM0MwMEJGMDA3NjgwMEVGNDAzMkE4MENBODAzRUEwNDQzCis6MTBBMjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjAwMkVDMDA5Cis6MTBBMkEwMDAwRjk0MDNDNTQwRkEzMDNFQzAwRkIwMDM2QzAwRUIwMEMyCis6MTBBMkIwMDAzRUMwMEYzMDEzQUQ0MEZCMDIzRUQwMEZCNDAzRTAwMEIwCis6MTBBMkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEU0MDBDNzAwMzFDMUIwCis6MTBBMkQwMDA4Q0QwMDMzNDAwQ0QwMDNEQzAwQ0YwMDE3QzAwREIwMUNDCis6MTBBMkUwMDAzREMwNENGMDBCMzAwMkMzMDAzMjAwMEZEMDAzMDA0NERECis6MTBBMkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZFNDA4QjAwMkFDMDg2Cis6MTBBMzAwMDAyODg0NDIyMjgwODg4MDNBQzAwREIwMDJBQzA4OEIwMEJECis6MTBBMzEwMDAyRUMwMDhCMDAyMjMyMDhCMDAyMjMwOEI4QzAyMjA0MEZDCis6MTBBMzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI0MDA4QjAwMjJDMDA3Cis6MTBBMzMwMDAwODM4ODYyQTAwODk4MDJBQzAwOEIwMDJDQzAwOUIwMDE5Cis6MTBBMzQwMDAyRUMwMDhCMDQyMjYwMDhCMDAyMjcxMEI4QzAyMjAwMDI4Cis6MTBBMzUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDA4MzAwMjhDMDNBCis6MTBBMzYwMDAwODMyNDIwMDAwODEwMDI4QzAwOTMwNTI4QzA4ODMwMDY2Cis6MTBBMzcwMDAyQ0MwMTgzMDA2MDAwMDgzMDBBMDAwMEIwMDAyMDIwMTcwCis6MTBBMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDc0MDI4QjAwMzNDMENDCis6MTBBMzkwMDAwQzkyMEIyMDAyQzgwMDNCQzAwQ0Y1MDNGQzAwREYwMTRGCis6MTBBM0EwMDAzRkMxMDRGMDMzMjE0MENGMDAzMjAwMEY4MDBCMDAwMzg3Cis6MTBBM0IwMDA1MDAwMDAwMDAwMDAwMDAwQTAxOUZDMDBGRjAwM0ZDMDlBCis6MTBBM0MwMDAwRkM0MDNGMDAwOUMwMDNCQzAwRkYwMDNGQzAwRkYwMDMzCis6MTBBM0QwMDAyRkMwMEZGMDAzRjA4MEZGMDAzRjAwMEZDMDAzRTgwNjFFCis6MTBBM0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzBGRkEwMzEyNDk0Cis6MTBBM0YwMDAwRUYwNjMxMDA0RUY2NDNGQzA0Q0YzMDMxQzgwREYwOEQxCis6MTBBNDAwMDAzN0MwMEZGMDAzRjBBMEZDMDAzMTA4MkNEMjAzRjAwMDlECis6MTBBNDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUxMDBCQkMxMjI0ODc1Cis6MTBBNDIwMDAwOEZEMDIyRTAwOTcwMDJGQzI0ODcxMjM3RTQwQkYwMDE2Cis6MTBBNDMwMDAyMUM1NEJGNTAyRUYwMEJCNDAzNkUwMDhBODAyRTAwNDVFCis6MTBBNDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM1ODRCMzExQTJDOUQ3Cis6MTBBNDUwMDAwQTMwMDIwMDAxQjMzMDI4QzQwODMyNDIwQzAwQTMwOEJECis6MTBBNDYwMDBBMENBMEEzMjgyODAxMEIwNDEyNDExMDgzMTAyRTIwMUYwCis6MTBBNDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE1MDBCQjAwMjJFMTM0Cis6MTBBNDgwMDAyOEIwMDIyQzgwOUIwMDJFQzAwOEIwMDI2QzAwQjMwMEU0Cis6MTBBNDkwMDAyMkMwMEJCMDAwRUMyMEJCMDAyNkMwMDg4MDAyRjAwNEY0Cis6MTBBNEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUUzNDBGNzA0MzJDMEU3Cis6MTBBNEIwMDA0RUIwMjMyRTIwRUIwMDFFQzAwQ0IwMDEyQzAwRkIwMDgwCis6MTBBNEMwMDAzNkMwMUZCMDAzRTE0MEZCMDAzNjk4MEM5MDAzRDAwNDY3Cis6MTBBNEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2MDRGRjAyM0ZDMDcxCis6MTBBNEUwMDAwRkYwMDNGRTAwRUYwMjNEQzAwRkYwMjNGQzAwRkYwMDYxCis6MTBBNEYwMDAzRkMwNEZGMDAzRkMwMEY0MDAzQjQwMEZBMDEzRjgwMEY2Cis6MTBBNTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFBMjBFQjEwMzZDMEUwCis6MTBBNTEwMDAwREIwMDdFQzIwREIwMDMyQzAwQ0IwMDI2QzIwRUIwMDY5Cis6MTBBNTIwMDAzRUMxMERCMDAzRTAyMERCQTAzMjkwNENCMDBCMTAwNDE0Cis6MTBBNTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJEMDA4RjgwMjBDMTExCis6MTBBNTQwMDAwODcwMTJDRjAwOEYwMEEzQzAwREYwMDIzQzAwOEYwMEY2Cis6MTBBNTUwMDAzN0MwODhGMDAyRUMwMDg4MDAyMDQwMDg4MDAyMzIwMEZBCis6MTBBNTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRDMDBBMzgwMjQ4MUIyCis6MTBBNTcwMDAwOTMwMDZDQzQwOTMwMDI4QzEwOEIwMDJDRjQwQTMwMEE4Cis6MTBBNTgwMDAyQ0MwMDkzMDAyQ0QwMDkwNDA2MDQwMjgxMDAyMzgwMEY1Cis6MTBBNTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTBFMDA4NzgwMjNFMDMyCis6MTBBNUEwMDA0ODc5MDJERTQxOTc4MDI5RTAxOTc4MDY5RTAwODc4MDZECis6MTBBNUIwMDAyNUUwMDg3ODAyRDIwMzgzODAyMUEwMDg2ODAyMDgwMDAxCis6MTBBNUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBBMzAwMzRDMDU4Cis6MTBBNUQwMDAwRDMwNDJDQzAxRDMxMDNBQzUwQzM5MDNDQzAwRTMwNDUyCis6MTBBNUUwMDAzQ0M0MEQzMDAzQ0UwMEQwMDAzMDQwMEMzMDAzMTIwMkNBCis6MTBBNUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGNzAwM0ZDMDRDCis6MTBBNjAwMDAxRkYwNTNGQzAwRUYwODM3RDEwRkYwODM3QzAwRjc0MEI4Cis6MTBBNjEwMDAzRkMxMEZGMTAzRDAwMEZGMDBCRjg0MEZDODAzRDAwNjc1Cis6MTBBNjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUUwMDBGQjAwM0VFMDI0Cis6MTBBNjMwMDAyQ0JFODNFQzAwRUI0MDNFQzAwRkI0MDNFRDIwRkIxMEJBCis6MTBBNjQwMDBCNkQyMEZCNDgzRUMwMERCODAzNkMxMEM5MDIxMkEwMDE3Cis6MTBBNjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDBCNzAwMkZDMEY3Cis6MTBBNjYwMDAwODM2MDIwQzA4ODczMDJERDk4QjcyODZERDAwQjMyMEE2Cis6MTBBNjcwMDAyMUM4MEI3NDAyRDAwMjg0MDBBMDAwMjgyMDAyMTIwNDFBCis6MTBBNjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlBMDBCNzgwMkRFMENDCis6MTBBNjkwMDAwODdBMDI5RDAwQTdBMDJERTAwQjc4MDI5RTgwQTc4MDdCCis6MTBBNkEwMDAyMUU0MDg3QTI2OUUxODgzMDQyMUUwMDg3ODBBNzAwMEM1Cis6MTBBNkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDBCMzAwMkNFMDkzCis6MTBBNkMwMDA1ODMwMTIwRTgyODMwMDJDQzAwQjMwMDJDQzAxQjMwMDM0Cis6MTBBNkQwMDAyMEMxMEIzMDAyQzAwODg4RDIyMDIwMDgwMDAyNTIwNDlBCis6MTBBNkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4NjBGQTAwM0Y4MjZBCis6MTBBNkYwMDAwQ0EwMDNGQTAwQUEwMDFFODA4RkEwMDNFODAwRjIwMDVECis6MTBBNzAwMDAzMjgwMUZBMDAzRTgwMERBMDAzNjg4QUNFMDAzN0EwNDQ4Cis6MTBBNzEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUxMDBGODAwM0UyMDVBCis6MTBBNzIwMDA0RjgwMDNFMTAwRjAwMDNDMDAwQjgwMDNFMDAwRjgwMkUyCis6MTBBNzMwMDAzQTAwMEY4MDQzRjEwMEZDMEEzRDAwMEZDMDAzOTIwMDc1Cis6MTBBNzQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU2MDBDOTkwM0U0MDA0Cis6MTBBNzUwMDAwRjkyMDNFNDAwRDkwMDMyNDAwNDkwMDdFNzAwRjkxMDlCCis6MTBBNzYwMDAzMDQwMEM5MDQzRTQwOUQ5ODAyMjQwMkMxMDBCMDIwNEE1Cis6MTBBNzcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0NjA4OUMwMkU0MEFBCis6MTBBNzgwMDAwQjk4MjZDNTgwODkwMDIyNDAyODkwMTJFNzEwQjkwMDU2Cis6MTBBNzkwMDAzNjQwMjg5MDEyQzU4M0M5ODBCNjQwMDg5MDAyMjAwMDM4Cis6MTBBN0EwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTA0MDA4OTQwMkU0MTQwCis6MTBBN0IwMDA0QjkwMDJFNDAwOTkwMEEyNDAwQTkwMDJFNTAwQjkwMDIzCis6MTBBN0MwMDBFMjQxMDg5MDQyRTQwMDlENTBBQjRBMDhEMDI2MDYwMEMyCis6MTBBN0QwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODI4MTIwMkM1MDhBCis6MTBBN0UwMDAwQjEwMDJFNDAwODE0MDIwNTA0QTE0MzJDNDAwQjE0MEYyCis6MTBBN0YwMDAyNDUxMTgxNDEyRDQwMDg1NDAyRDQwMDg1MDA2MDIwMTNGCis6MTBBODAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBDODAwM0UwMERDCis6MTBBODEwMDAwRjgwMDJFMDAwRDgwMDMyMDAwQTgwMDJFMDEwRjgwMDQ5Cis6MTBBODIwMDAzMjAwMDQ4MDAzRTAwMEQ4MDAzQTAwMENDMDAzMkUwMzdECis6MTBBODMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBGOTEwM0Y0MTU2Cis6MTBBODQwMDAwRjk0MDNGNTAwRjk0MDNFNTAwRDk0MDNFNTEwRjk0MEQ0Cis6MTBBODUwMDAzRTUwNEY5NDAzQzUwMEU5NDEzNjUwMEY5NDAzRTYwNjdECis6MTBBODYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MDBGREE4M0E0MDQ2Cis6MTBBODcwMDAwQ0Q4MjMzNjAwRTlBMDNFNzgwRjlFMDNCNjgwQ0RFMkM3Cis6MTBBODgwMDAzMjY4MEM5QjAzMzY4MjREQTAzNzY4OEM5ODAzMDYwMDEzCis6MTBBODkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEVCQTBCODQwMjAyMDNECis6MTBBOEEwMDAwODg1MDIyMTUxODhDMDJFMjkwQjhFMDJFMTAwRDhFMEQ0Cis6MTBBOEIwMDAyMjMyMEQ4RDIzNjE0ODk4RDRBMjEwMjg4NDAyMEUwNDAwCis6MTBBOEMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1MDBCMzAwMkE0QTVGCis6MTBBOEQwMDAyODEwNEVBNDA4QTE2ODI4NDQwQjE0MDJDNTAwODE0MDJBCis6MTBBOEUwMDBBMDUwMDgxMDAyMDQwMjkxMkEyMDQ0MjgxNDRBMDIwMUIwCis6MTBBOEYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUFDODBCOTAwMjI0MDc0Cis6MTBBOTAwMDA0ODkwMDZBNDAwQTkwMDJFNDAwQjkwMjJFNDAwOTkwMDc0Cis6MTBBOTEwMDAyMjQwMDkxMDAyNjQwMjk5MDAyMjQwMDg5MDAyMDYwNEI1Cis6MTBBOTIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBGOTAwMzg1OEE1Cis6MTBBOTMwMDAwQzkwNTM4NDE0QTkwNDNFNDAwRjkwMDNFNDAwQzkwMDE2Cis6MTBBOTQwMDAzMjQwMEM5MDAzMjQwNEQ5MDBCNjQwNEM5MDBCMjgwNEVDCis6MTBBOTUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDBGOTAyM0U0OTM4Cis6MTBBOTYwMDAwRjEwNDM2NDAwRDkwMDNFNDAwRjkwMDNDNDAwRjEwMjcxCis6MTBBOTcwMDAzRTQwMEY5MDAzQzQwMkU5MDQzQzQwMEYxQzAzQ0EwMDkwCis6MTBBOTgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEExODBDODIwM0UwMEU4Cis6MTBBOTkwMDA4QzgwMEIyMDAwRTgwMjNFMDAwRjgwMDNBMDgyQzgwMERDCis6MTBBOUEwMDA2QzAwMEY4MDAzMjAxMEM4MDAzMjAyMEM4MDAzMEEwNEUwCis6MTBBOUIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDA4NjAwMkU4MERFCis6MTBBOUMwMDA2OEE4ODAzQTAwOEEwMDJFODAwQkEwMDJGODAwOEEwMDU2Cis6MTBBOUQwMDAyRTgwMEJBMDBBM0EwMDhFMTAyMzgwMDhBMDAzMEEwMEU0Cis6MTBBOUUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTREMDA4MzAwMkNDMDNFCis6MTBBOUYwMDAwODM4MDAwQzYwMjMwMDJDQzAwQjMwMDJDQzQwODMwMEQwCis6MTBBQTAwMDAyQ0MwMEIzMDAyMEMwMjhBODBBMEUwMjgzMDBBNEEwMEQ5Cis6MTBBQTEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTE2MjA4NzAyMkRDMTk4Cis6MTBBQTIwMDA0ODcwMTI3QzAwQTcyMDJEQzkwQjcyMDBEQzAwODcwODNCCis6MTBBQTMwMDAyREM0MUIzMjAyMUQwMTg3NDIyMUMyMDg3MDAyMjgwMDZBCis6MTBBQTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODNFMDJDNzgwM0RFQzY2Cis6MTBBQTUwMDAwQzU4MDMxRTAwRTc4MDNERUMwRjdGMDM5NjAwQzc4MDczCis6MTBBQTYwMDAyREUyMDc3OTAzMEEwNkMzODAzMDIwOEMzODAzNkEwMjdFCis6MTBBQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGQjAwM0VDMDBDCis6MTBBQTgwMDAwRjEwNDM4QzAwREIzODNFRDgwRkIwMDNDQzA0RkI0NERFCis6MTBBQTkwMDAzRUMwOEZCNjEzRUMwMkZGMDIzRTAwMEZCMDAzQzIwNkE5Cis6MTBBQUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBGRjgwMzFFM0I0Cis6MTBBQUIwMDAwRUY4MjNGRTAyREY4MEI3RTIwRUY4MDM3RTAwNkREMEIxCis6MTBBQUMwMDAzM0UwMENGODlCNzZDMERGODRCM0UwMDRGODAzQzAwMEU5Cis6MTBBQUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTkwNDBCNzAyMjFDNERGCis6MTBBQUUwMDAwODdCNDJEQzAwODcwMDIxQzQwQjMwMDAxMDgwOEQwMDAxCis6MTBBQUYwMDAyM0MwMERGMjAyMDQ0MjhGMDAyOUM4Mjg3MDAyRUEwNDI0Cis6MTBBQjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDk0MDBCNjAwMjNDMEI4Cis6MTBBQjEwMDAwQTcyMDI4QzAwODcwMDIxQzAwQTMwMDIwNDAxQTcwMkQ5Cis6MTBBQjIwMDAyMUMwMDg3MDQyMDA4QTg3MDAyMUMwMjg3MDAyQzAwMDNFCis6MTBBQjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM1MDBCMDAwQTBEMERDCis6MTBBQjQwMDAwOEIwMDJDOTQyOEIwMDIwQzAwQjMwMjIwNDAwODMwMEYxCis6MTBBQjUwMDBBMEMwNDkzMDAyNDU0MDkzQzBBOEQ0MDAzNTAyQzgwNEMzCis6MTBBQjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBCQjAwMzFDMEEwCis6MTBBQjcwMDAwRUIwMjNDRDAwREYwMDM3QzAwRUYwMDE2ODAwRTMwMDA3Cis6MTBBQjgwMDAzM0MwMUNGMDAzNDUwMERBQzg5MkQ0MkNCNDAzRUEwNEE1Cis6MTBBQjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU1MjBGQjAwM0VDMEQ3Cis6MTBBQkEwMDAwRkIwMDNFQzAwRkIwMDNFQzA0RkIwMDNBRDAwRkIwMDU0Cis6MTBBQkIwMDA3RUMwMUYzMDAzQTQ4MEU5MjAzQ0MwMEYzMjAzRTAwMEI4Cis6MTBBQkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMERDMDBDNzAwMzNDMkFDCis6MTBBQkQwMDAyQ0YwMDMzRTIwREIwMDEzQzAwQzcwMDMzQzgwRUYwNDFDCis6MTBBQkUwMDA3M0MxMEZGMDIyMzAwMEM2MDBCMkMwMENGMDAzMDA0NDY1Cis6MTBBQkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwMDY5MDA4QjQ0QTJDMTA5Cis6MTBBQzAwMDA4OEIwMDM2QzAwOEIwMDIyQzAyOEIwMEEyRDAwQkIwMDY2Cis6MTBBQzEwMDA2MkMwMEJCMDAyMjYwMjhCODAyMkMwMDhCMDAzMjA0MDI1Cis6MTBBQzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI4MDE4QTA4MjJDMEYyCis6MTBBQzMwMDAwOEIyMDI2QzQwOUIwMDI4QzA0OEIwMTYyOTA0QjkwMTM0Cis6MTBBQzQwMDAyMkMwNDlCMDA2QUUwOThCODAyMkUwNDhCMDAyMjAwMDQ1Cis6MTBBQzUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDI4MjAwMjJDMDQyCis6MTBBQzYwMDA4OEIwMDI0NDAwODMwMDI4QzAwODMwMDIwODAwQjEwMDA4Cis6MTBBQzcwMDAyMEMwMEIzMDAyOEMwMDgzODAyMEUwMDgzMDBBMDIwMUUzCis6MTBBQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDY0MDBDQTAwMzNDMDk2Cis6MTBBQzkwMDAwQ0IyMDMyQzAwREYwMDNCQzA0Q0Y1MTMyQzA0RUYwMDdBCis6MTBBQ0EwMDBBM0MwMERGMDAzQTg0MENCMDBCMjAwMkNCMDAzMDAwM0ZBCis6MTBBQ0IwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREYwMDBGNDAwM0ZDMEE0Cis6MTBBQ0MwMDAwRkIxMDNGMDAwRkYwMDM3QzAwRkYwMDNGQzAwRkYwMERFCis6MTBBQ0QwMDAzRkMwMDdGMDBCN0MwOEZGMDEzRjAwMEZGMDAzQTgwNjAwCis6MTBBQ0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzVFRDMzM0JDQzUzCis6MTBBQ0YwMDAwQ0YwMDMzMDQwRkYyNTNGQ0MwQ0YzODMzQ0QwREY0ODAxCis6MTBBRDAwMDAzNzMwNENGMzAzRkQ4MENGMjgzM0Q4MENGMTAzMzAwMEVCCis6MTBBRDEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDRDBCQjMxMjBDQzlGCis6MTBBRDIwMDA4OEYzNDIyMDUwQkY5MDJGQzQwQUY2MDI3REMwOEY0MEE2Cis6MTBBRDMwMDAyNjQwOEZGNjAyRkQwMEZGMDgzOUM4MDhGNjAyQTAwNDdECis6MTBBRDQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0ODBBMTIwMjhDOTUwCis6MTBBRDUwMDAwODMwOUEwMDA5QjMwMDJDQzAyMDMwMDI0QzkwODMyMEE4Cis6MTBBRDYwMDAwMjA4MEIzMzEyQ0Q4MDkzMjAyNEQ4MDgzNDIyMjIwMTBDCis6MTBBRDcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMUFFMDBCQjEwMjJDMDM3Cis6MTBBRDgwMDAwOEIwMDIyNjAxM0IwMTZFQzAwOEIwMDI0QzA4OEIwMERGCis6MTBBRDkwMDBBMjg5MEJCMDAyRUMwMEFCMDA2QUMxMjhCMDAyQjAwNDdCCis6MTBBREEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNTZFMDBFOEMxM0FDMERECis6MTBBREIwMDAyQ0IwNDMyNjAwRkIwNjNFQzEwQ0IwMEIyQzAyQ0IwMDhFCis6MTBBREMwMDAzNDIyOUZCMDQzRUMwMDlCMDIzNkMxOENCMDAzMTAwNEM4Cis6MTBBREQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBGQzgwM0REMERECis6MTBBREUwMDAyRkYwMDNGQzAwRkIwMDNEQzAwNzMwMDNCQzAwRUYwNDY0Cis6MTBBREYwMDAzRkUwNUVCMDAxRkMwMEZGMDAxQkMwMEZGMDAzRjgwMDU1Cis6MTBBRTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBDQjAxM0VDOTEzCis6MTBBRTEwMDAwQ0IwMTcyMDg0RUIwMEIyQzEwREIwMDM2QzAwQzMwMDZFCis6MTBBRTIwMDAzMjUwMEZCMDAzMEM0MEMzMDA3RUMwMEMzMDAzMTAwNDNFCis6MTBBRTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDA4QTU4MkVFMDA5Cis6MTBBRTQwMDA0OEYwMDIyRDAwRUYwMTIzQzAwOEYwMjIzQzA0OEY2MDdGCis6MTBBRTUwMDAzNjU0MEJGMDBBM0Q0MDhGMDAyRkMwMDhGMDAzNzIwMEZCCis6MTBBRTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTQwMDA4OTgwMkMxMDM4Cis6MTBBRTcwMDAwOEIwMDI0OTAwQTNBMDI0QzAwOTMwMDI0QzAwODNDOUQ1Cis6MTBBRTgwMDAyMDkwNDIzMDEyNEQwMDgzMDA2QUMwMDkzMDAyMzgwMDIxCis6MTBBRTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDA4NTgwNkQ2MjU3Cis6MTBBRUEwMDAwODdFMDI1NjQwMjc4MDI1RTAxOTc4MDYwRTAwODM4MDMwCis6MTBBRUIwMDA2MUEwMEI3ODAyNEUwMDg3ODI2REUwMDk3OTAyNDgwMDlDCis6MTBBRUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODJDMDJDMzYxM0M4OERDCis6MTBBRUQwMDAyQ0JBMTI0OTEwRTMyQzM2QzAwRDMwNTM0QzQ0QzMwMDM5Cis6MTBBRUUwMDAyMDAxMEYzMTAzNEMwMEMzMDEzQ0MwMkRCMTAzMTIwMkZECis6MTBBRUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDBGRjAwM0YwMEZCCis6MTBBRjAwMDA0RkYxMDlCMDAwRkYwMDNCQzAwRUY0MDFGRDI0RkY0MEVCCis6MTBBRjEwMDBCRkMwMDdGMDAzQkMwMDZGMTAzRkM0MUVGMTgzRDAwNjEyCis6MTBBRjIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUM0MDBFODA0MzIwMDMyCis6MTBBRjMwMDAwQ0I2MDNFODAyQ0IwMDM2Q0EwRkI1MDNBRDAwRkIyMDA4Cis6MTBBRjQwMDAzRTQwMEZCMzAzRUM4MEZCQTgzMkM2OENCNjAzMkEwMDQ4Cis6MTBBRjUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDJFNjAwMjAwMDhDCis6MTBBRjYwMDAwODczMDJEQzAwODc3MDJERDAwQkYwMDIxQzg0QjcyMDIwCis6MTBBRjcwMDAyREMwMEI3MDgyREQyNEI3NDAzNEM5Mjg3MjgyOTIwNDQwCis6MTBBRjgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMEJFMDJBQzgwQTEyMEY0Cis6MTBBRjkwMDAwODc5MDBDRTA0ODc4MDY1RTAwQjdBMDI5RTAwQjc5MEE2Cis6MTBBRkEwMDA2REEwMEI3ODAyREUwMEI3ODAyMUUwMDg3ODAyMzAwMDQ3Cis6MTBBRkIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNEVEODJBQkUwMjBFNDE3Cis6MTBBRkMwMDAwODMwMDJFRTA0ODMwMDJDQzExQjMwMDIwQzA4QjMwMEQxCis6MTBBRkQwMDA2NEY2MEJCMDAyQ0MwNEIzMDAyNkMwMDgzMDAyOTIwNDIxCis6MTBBRkUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJCODBFRTQ5MzFBMEYxCis6MTBBRkYwMDAyQ0EwMDNGQTAwQ0EwMjM2ODAwRkEwMDNBODAwRkEwMkIwCis6MTBCMDAwMDAzRjkwMEZBMDYzRTgwMEZBMDAzMjgwMENBMDIzM0EwNEJFCis6MTBCMDEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMEFFODAwM0UwODcwCis6MTBCMDIwMDAwRjgwMDNFMzUwRjAwMDNFMDAwRjgwMTNFMDAwRjgwMEIzCis6MTBCMDMwMDAzRTAwMEY4MDAzRTAwMUY4MDE3RTAwMEY4MDAzRDIwMDg0Cis6MTBCMDQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0NDBDOUExMzI0MEI4Cis6MTBCMDUwMDAyMDExMDFBNjQwQzk4NDM2NDAwRDkwMDM0NDAwNDEwMEYwCis6MTBCMDYwMDAzMjQwMEY5MDBCMjQwMEY5MDAzRTQwNEMxMDAzMDIwNEM0Cis6MTBCMDcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDA4OTgyQTI0MENCCis6MTBCMDgwMDAwODlDMDIyNTAwODlDODIyNDAwODkwNDIyNDAwODkyMDlCCis6MTBCMDkwMDAyMjYwMEI5MDAyMjQxMEI5MDAyRTQwMDg5MDAzNjAwMDNCCis6MTBCMEEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDA4OTA0MjJDQUQ2Cis6MTBCMEIwMDAwQTkwMEEyNTAyODkyMDIwNDAyODEwMDI2NDAxQTkwMDc0Cis6MTBCMEMwMDAyMjRCMEI5MDAyMjQwMUI5MDAyRTQxMjg5MDAyMDYwMDY5Cis6MTBCMEQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTA4MUEwMjA0ODA3Cis6MTBCMEUwMDAwQTMyMDIwNDgwODEwMDIwNDQwODExMDIwNEQwQTEyMDA5Cis6MTBCMEYwMDAyMDQwMEIxMTAyMDYwMEIxMzEyQzQ4MDgxNDAyNDIwMTE1Cis6MTBCMTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDJDODU0MzIxNDc1Cis6MTBCMTEwMDAwRTg1MDMyMTQ0QzgyOEIyMUE0Qzg2OTM2MTE0RTg1MDY2Cis6MTBCMTIwMDAyMjE0MEY4NjgzMjE0MEYwNDAxRTE0MEMwMDAzMkUwM0NFCis6MTBCMTMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxRDc0NDRGNTEwM0Y0NENBCis6MTBCMTQwMDAwRDkxMDM3NDQwRjkwMDNFNDgwQjkyMDNFNEMyRDkxMEZDCis6MTBCMTUwMDBCRjQwMEY5MjAzRTUwNEY5MzAzRTQ0MEY5NDQzRTYwNkU2Cis6MTBCMTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2MjJDREExMzM2MTM4Cis6MTBCMTcwMDAwQ0Q4RDMzNDEwQ0RBODNFNjA4RTlDOTNBNzA4Q0Q4MDA4Cis6MTBCMTgwMDAzMzQwMEU5QUQzMzZBMEM5ODAzMjYwMEM5OTAzMDYwMDcyCis6MTBCMTkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzODg4QUEwMjAyODFBCis6MTBCMUEwMDAwODgwMjIyMDEyODg0MDJDMjgwODhBMDIyMjAwODgwMDY5Cis6MTBCMUIwMDAyMjAwMEI4QzAzMjEwMDg4RDBBMjNFMjg4RDAyMEUwNEIxCis6MTBCMUMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUNFMjBBMTQ4MjA1MkY5Cis6MTBCMUQwMDAyOTEwMDIyNDAzODEwMDJDNTIwQTEwMTI4NTEwOTE0MDdDCis6MTBCMUUwMDBBNDQwMEExMjgyNDQwMDkxMjgyNDQwMjgxMjAyMDIwMTNECis6MTBCMUYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDBBOTE0MjI0MEVGCis6MTBCMjAwMDAwOTkwMDJBNDAxODkwNDJDNDAwODkwMDIyNDAwOTkwMEFFCis6MTBCMjEwMDAyMjQ0NEIxMDQyMjQxNDk5MDAyNjQwMDgxMDAyMDYwNEQwCis6MTBCMjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0NDBFOTQwQjI3ODkyCis6MTBCMjMwMDAwRDkwMEIyNDIyQzkwMzNFNDEwRTkwMDNBNDAyRDkwMEI1Cis6MTBCMjQwMDAxNjU4MDY5MDBCNjQwMkQ5MDAzNjQwMEM5MDBCMjgwNDY3Cis6MTBCMjUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg0MDBEOTgwM0U0QUYwCis6MTBCMjYwMDAwRTkwMDM2NDIwRjkwODNFNDEwRjkwMDNFNDAwRTEwOENBCis6MTBCMjcwMDAzRTQwMEY5MDAzQzQwMEUxMDAzODQwMEY5MDAzQ0EwMDI1Cis6MTBCMjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDlGMDQwQjAxMDhECis6MTBCMjkwMDA0QzAwMEIyMDAwRjgwMDNBMDAxQzAwMDNFMDAwQzgwMDNFCis6MTBCMkEwMDAzNjAwMEM4MDAzMjAwMEM4MDAzMjAwMEY4MDAzMEEwNDFGCis6MTBCMkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTI4MDAzRTg4MjNBMjhFCis6MTBCMkMwMDA0OEUwMDAxOTgwQkU4ODJFODAwREEwNDJFODAwOEUwMDY0Cis6MTBCMkQwMDAyMzkwMDhBMDBBM0EwMERBMDAzNjgwMEJBMDBBMEEwMDgwCis6MTBCMkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMzgwMjBFMDcyCis6MTBCMkYwMDAyODMwQzIwRjEwQjM0MDI4QzAwQjMwMDJFQzExODM0MDNECis6MTBCMzAwMDAyOEQyMEEzMDAyMENDMDgzMDAyMEMwMEIzMDAyMEEwMDkxCis6MTBCMzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDBCNjAwMjFDMDg5Cis6MTBCMzIwMDAwODIwQzIxQzEwQjUwMDJEQzgwQTcyMDJEQzQwODUwODM2Cis6MTBCMzMwMDAyOUEyMUE3MjIyMEMwMDkzMzAwNUM0MEIzMjIyMjgwMDc1Cis6MTBCMzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODE2MDBCMjgwMzEyMDc0Cis6MTBCMzUwMDAwQzU4MDMxRTAwRjc4MDM5RjgwQjdDMjJDRTQwQ0Y4MEJBCis6MTBCMzYwMDA5QjYwMkUzQjAzMUEwMEM3QTgxMUUwMEY3ODAzMkEwMjQ2Cis6MTBCMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREE0MDBGQTAwM0VDMDBDCis6MTBCMzgwMDAwRjkwMjNFODAwRkIwMDNFRDAyREI2MDNFRDAyRjkwMDNDCis6MTBCMzkwMDAzMjQwMERCMDA3RUMwMEZCNjAzRUM4MEZCNTAzQzIwNjlCCis6MTBCM0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRjgwMzNBMEU4Cis6MTBCM0IwMDAwQ0Y4MEIzMjQwQ0U4MTM3RjAwQ0JDMDNGRTAwRkY4NDRBCis6MTBCM0MwMDAzM0UwMkNGODgzRTYwMkNGODUzM0YwMENGQzAzMDAxNDQ1Cis6MTBCM0QwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDBCRTAwMzVDNkVGCis6MTBCM0UwMDAyODMwMDIzMDQwODcwMDIzQzAwODdBMDJEQzAwQkUwMDBCCis6MTBCM0YwMDAyM0MwMDg3MDEyRkUwMDg3MDAyMUMwMDhGMDAyMkEwNDUyCis6MTBCNDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDk1MjBCNjAwMjA4MEQxCis6MTBCNDEwMDAwODMxMDI1QzAxODcwMDI1QzAwODcyMDJEQzAwQjYwMDFBCis6MTBCNDIwMDAyMUQwMDk3MDAyRDQwODkzMDAyMEMwMDg3MDAyMDAwMEU3Cis6MTBCNDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM0MDBCMEUwMjQ2MEUwCis6MTBCNDQwMDAwODIwMDY0ODAxODAwMDIwQzAwODMwMDJDQzA0QjMwMDY4Cis6MTBCNDUwMDAyMDg0MEIzMDAyRTgwMDlCMDAyMEMwMDgzMDAyMDgwNDYyCis6MTBCNDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBCOUUwMzI4MEY4Cis6MTBCNDcwMDA2Q0IwMjM2RjAwQzMwMDM3QzEzQ0YwMDNGQzAwRkEwMDNFCis6MTBCNDgwMDBCMEMwMDlGMDAzRUMxMERGMDA3M0MwMENGMDBCMkEwMDExCis6MTBCNDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMTBGODAwM0U0MjU4Cis6MTBCNEEwMDAwRjI0MDNBODYwRjgwMDNDQzEwRkIwMDNFQzAwRjk0MDgyCis6MTBCNEIwMDAzRTgwMDRCMDIzRTEwMEVCMDAzRUMwMEZCMDAzRTAwMDhCCis6MTBCNEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEY0MDBFRTAwM0QzMEVDCis6MTBCNEQwMDAwQ0MwMDMxNDAwQ0NBMEIzQzA0QzcwMDM1QzEwREYwMEEwCis6MTBCNEUwMDAzRjAwMENGMDAzRjgwMENGMDAyM0MwMENGMDAzMDA0MDM1Cis6MTBCNEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDY0MDBCQTgxMkU1ODcyCis6MTBCNTAwMDAwODg4MDIyNzgwODkyMDIyQzAyOEIwMDIyQzAwODg4MzY2Cis6MTBCNTEwMDAyRTIwMDVCMDYyRTMwMDhCMDAyQUMwMDhCMDAzNjA0MDEzCis6MTBCNTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTI2MDBCOTgxMkU0MEI4Cis6MTBCNTMwMDAwODhDMDYyNjAwODgwMDIyQzAwOEIwMTY2QzAwOTg4ODg3Cis6MTBCNTQwMDAyRTIwMDhCMDA0RTMwMTBCMDAyOEMwMDgzMDAyMjAwMEMwCis6MTBCNTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDBCMDAwMkNDMEZGCis6MTBCNTYwMDAyODAwMEUwMDEwODAwMDIwQzAwODMyMDIwQzAwODAwNDY5Cis6MTBCNTcwMDAyRTIwMDkzMDAyQzQxMjgzMDAyOEMwMDgzMDAyNDIwMTg0Cis6MTBCNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBGQTAwM0UwMDBBCis6MTBCNTkwMDAyQzkxMDMyMDAwOEEwMDMzQzAwQ0YwMDM3QzAwRDgwMEZCCis6MTBCNUEwMDAyRTQwMENGMDAzRTA4MENGMDAzQkMwMENGMDAzMDAwMzAyCis6MTBCNUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREZDMDBGQzAxM0Y0MDA2Cis6MTBCNUMwMDAwRkMwMTNGMDAwRjQwMDNGQzEwRkY0MjNGQzA4RkMwMDhGCis6MTBCNUQwMDAzRjAwMEZGMDAzRjA0MEZGMDAzRkMwMEZGMDAzRTgwNjBDCis6MTBCNUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZDMjBDRDEwMzlDODJDCis6MTBCNUYwMDAwREMxMDMzQzgwRUY5MDIzRDgwRkY4MDBGRTAwQ0Y4MEYwCis6MTBCNjAwMDAxRkQwMEZGOTAzRkYwMEU3QzAzM0M0MEZGMDAzQjAwMEYxCis6MTBCNjEwMDA3MDAwMDAwMDAwMDAwMDAwQzAxMEZFMDI4OTQwMjNGMDBFCis6MTBCNjIwMDAwODg1MTAzQzAwOEIwMEEzREM0QkIyODJFQzIwOEIwMDIxCis6MTBCNjMwMDAyNkMwNEJCMDAyRUMxMEI5MDQyQUM5MEJCNTgwRjAwNDQ3Cis6MTBCNjQwMDAzMDAwMDAwMDAwMDAwMDAwQzgwNUNDMDA4MTY0MjhDNDYwCis6MTBCNjUwMDAwOUIyMEEwQ0YwQTMyMDIwQzgwQjMyMDJFQzAyODMwOEM2Cis6MTBCNjYwMDAyQ0M4MDkzMjAyQ0M4MEFCQTAyMEM4MEIzMjAwQjIwMTNBCis6MTBCNjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMTA4OTAwMjJDMDVFCis6MTBCNjgwMDAwOEIyMTIyQzAyMEIwMDIyQzAwQkI4MDJFQzAwOEIwMDk3Cis6MTBCNjkwMDAyNkMwNEJCMDQ2RUMwMEI5MDAwQUMwMEJCMDAyRjAwNDYzCis6MTBCNkEwMDA2MDAwMDAwMDAwMDAwMDAwRDAxNUVDMTBDOUUwM0FDMEI2Cis6MTBCNkIwMDAwRDI4MDMyQzAwRUIxMDMyQzAwRjgyMDNDNDAwQ0IwMDE2Cis6MTBCNkMwMDAzRUMxMEZCMDA2RUMwOEU5MDBCMkMwMEZCMDEzOTAwNDAxCis6MTBCNkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMTlDMDBGNUEwM0ZDMEU5Cis6MTBCNkUwMDAwRkU4MDNGQzA4RkYwMDNGQzA4RkMwMDNGQzAwRkYwMDExCis6MTBCNkYwMDAzN0MwMEZGMDAzRkMwMEZGMDQzRUMwMEZGMDAzRjgwMDVBCis6MTBCNzAwMDA2MDAwMDAwMDAwMDAwMDAwNTAxMEFDMDBGOTQwMzRDMEEwCis6MTBCNzEwMDAwREI0MDMyQzAwREI0MDNFQzAyQzgwMDM2NDA4RkIxMEZBCis6MTBCNzIwMDAzRUM2OEZCMDAzRUMwMEY5ODAzMkMwMENCMDBCMTQwNDlECis6MTBCNzMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTNFMjBFOUM4MzdENDAyCis6MTBCNzQwMDA0OEFBMjIxQzAwOEIwMDZGRTAwODg1ODJFRDQwQkI4NDc0Cis6MTBCNzUwMDAyRkMwNEJCODAzQUQ0MEIzMDAyM0Q0MDhGNzAyMzIwMDJBCis6MTBCNzYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwMTRDMDBCMTY0QTRDMEYzCis6MTBCNzcwMDAwOTIwMEEwQzA0QjgwMDZDQzAwODM4MDJDODQwQjM4MDI1Cis6MTBCNzgwMDAyQ0QxMEIzMDAyQ0MwNEIzMDAyOEMwMDgzMDAyM0EwMEEwCis6MTBCNzkwMDA1MDAwMDAwMDAwMDAwMDAwQjAwMTFFMDBBNTgwMjVFMDYwCis6MTBCN0EwMDA4ODNBMTIxRTAwQTY5MDJERTIwODc5MDJEQTAwQjc4MkNDCis6MTBCN0IwMDAyREUwMDM3ODgyOUUwMEJDQzEyOUUwMDg3ODAyMkMxMDlECis6MTBCN0MwMDA0MDAwMDAwMDAwMDAwMDAwNDkwODBDMDBGMzAwMzRDMEY1Cis6MTBCN0QwMDAwRDNFMDMwQzAwRjA0MDJFQzAwQzMwNDNDODAwRjMwMEI3Cis6MTBCN0UwMDAzQ0MwMDczMDAzQ0M4MEYyMDAzOEMwMEMzMDAzMTIwMjlBCis6MTBCN0YwMDAwMDAwMDAwMDAwMDAwMDAwNDAxOUJEMjBGNzAwM0ZDMjFCCis6MTBCODAwMDAwRkYxMEJEQzIwREUwNDNGRDIwN0YwMTNGODQwRkYwMEZECis6MTBCODEwMDAzRkMwMDdGMDAzRkMwMEZEMDAzN0MwMEY3MDAzRDAwNkU3Cis6MTBCODIwMDA2MDAwMDAwMDAwMDAwMDAwQUEwNUNGMDBEQzAwM0VDQTU2Cis6MTBCODMwMDAwRkEwMDBBQzkyQzkwMDMyQzAwRkIwMTFBNDA4RkIwMEU5Cis6MTBCODQwMDAyRUMwNEZCMDIzRUMwMEY5MDAzRUM0MEZCMDAzRUEwMDU1Cis6MTBCODUwMDA3MDAwMDAwMDAwMDAwMDAwQzg5MTlDMDA4NDAwMDFDMDNFCis6MTBCODYwMDA0QjcwMjIxQ0MwODcwMDIxQzA0QjcwMDIxQzAwQjcwMTI2Cis6MTBCODcwMDAyNUQ4MEI3MDIyREMwMEI2MDAyREMwMEI3MjIyRjIwNDFBCis6MTBCODgwMDA2MDAwMDAwMDAwMDAwMDAwODAwMDlFODA5NzgwQTlFMDFBCis6MTBCODkwMDAwQkY4MDJDRTA4ODU4MDI5RTgwQkZDMDIxNzAwQjc4MDYwCis6MTBCOEEwMDAyREUwOEI3ODAyREUwMEI0QzAyREU4MEI3OTAyRTAwMEI5Cis6MTBCOEIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzA4QTBDMDU1Cis6MTBCOEMwMDA4QjNDMDI0QzAwODMwMEEwQzAxQjNDMEEwRjI5QjMwMDM0Cis6MTBCOEQwMDAyNEMwMEIzMDAyQ0MwMEIzODAyQ0MwMEIzMDAyRDIwNDQ5Cis6MTBCOEUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBERTAwM0E4MEVCCis6MTBCOEYwMDAwRkVBMDJFODAwQ0UwMDNBODAwRkUwMDMzODAwRkEwMEI5Cis6MTBCOTAwMDAzRTgwMEZBMDAzRTgwMEZFMDAzRTgwMEJBMDAzRkEwNDc3Cis6MTBCOTEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODA0QkEwMUU4Cis6MTBCOTIwMDAwRjgyMEI4MDA0Rjg4MDNFMDAwRjg2MDM2MDAwRjgwMDUxCis6MTBCOTMwMDAzNjAwMEY4MDIzRTEwMEY4MDAzRTAwMEY4MDAzRDIwMEE0Cis6MTBCOTQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDFGOTAwMzI0MDVGCis6MTBCOTUwMDAwRjkwMDNFNDAwNDkwMDMyNDAwQjkwMDMyNDAwNDkwMDlCCis6MTBCOTYwMDAzQzQwMEQ5MDAzRTQwOEM5MDAzRTYwMEM5MDAzMDIwNEMzCis6MTBCOTcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDBCOTQwQTI2NEIwCis6MTBCOTgwMDAwQjE4MDIyNTAwRDE1MDM2NTA0RTkwMEEyNDAyODk0MEVGCis6MTBCOTkwMDAzQTUxMDg5NDAyRTUyMjg5NDQyRTYwMjg5MDBBMjAwMDNBCis6MTBCOUEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTI0MDBCMTA4MjI0MDJGCis6MTBCOUIwMDA0QjkyODJBNTAwQTkwODIyNTAwQTEwMDIwQzAwQTk0MDRGCis6MTBCOUMwMDA2RTUwMEI5NDAyQzQwNDg5NDQ2QzQ4ODgxMDAyNDYwMEVGCis6MTBCOUQwMDA0MDAwMDAwMDAwMDAwMDAwMDAwNDA0MDBCMTQwRTA0MDBFCis6MTBCOUUwMDAxQjE0MEEwNDAwQjkwMDI0NDAxQTEwMjIwNDAwQTEwMDBDCis6MTBCOUYwMDAyODQwMEExMDEyQzQwMDgxMDI2QzQwMDgxMjAyNDIwMTYxCis6MTBCQTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDhCMDAwMzIwMDI3Cis6MTBCQTEwMDA0RjgwMDJBMTUwRTA1MDMyMTQwRUE1MjMyMTQwRTg1MDdGCis6MTBCQTIwMDAzRTE0MEY4NTAzRTE0MEM4NTAxRTE0MEM4NTQzNkUwMzdECis6MTBCQTMwMDA1MDAwMDAwMDAwMDAwMDAwRDgxOUU1MDBGRDQwM0U1MDE1Cis6MTBCQTQwMDAwRjc0MDNBNTAwNUQwMDNFNTAwQTUwMTNGNDAwRDkwMEE2Cis6MTBCQTUwMDAzQTUwMEQ5MDEzRTQwMEZGMDAzRTUwMEY5MTAzQTYwNkVDCis6MTBCQTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY2OTBCREU4MjM2QjkwCis6MTBCQTcwMDAwQkRBMEIzNjgwQzkwMDMyNjg0NjkwNDNFNDAwNDkwMDc3Cis6MTBCQTgwMDAzMjY4MEM5MDAzMjQ0MEY5MDAzMjYwMEM5QzAzQzYwMTFDCis6MTBCQTkwMDA2MDAwMDAwMDAwMDAwMDAwNzgxMEUxMDBCOEUwQTIxMTkyCis6MTBCQUEwMDAwQjhFMEEyMzIyODg4MDJBMzEyODg4MDI2MjAwODg4MDJGCis6MTBCQUIwMDBBMjMwMjg4ODhBMjIwMEI4QThBMjM5MDhDQTAyQ0UwNDc3Cis6MTBCQUMwMDAzMDAwMDAwMDAwMDAwMDAwNDgwNUM1MDgyMTAwMDA0MENCCis6MTBCQUQwMDAwMzE0ODI4NTgwQUQwODIxNTI5ODUwODIzNDIzODUwODUyCis6MTBCQUUwMDAyMTUyMDg1MDA2NTQwMEI1MjAyMTVBMDk1NDAyRDIwMUFGCis6MTBCQUYwMDAzMDAwMDAwMDAwMDAwMDAwMTgxMUE0MDBCOTYxMjI0MENECis6MTBCQjAwMDAwQjkwMDYwNDAwQUQwMDY5NDAwOEQwMDI3NDAwODUwMDY3Cis6MTBCQjEwMDAwMTQwMDA3MDA2NzQwNEI1MDAyMzQwMDlEMDAyQzYwNDM5Cis6MTBCQjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNEE0MDBFOTAwMzI0MDAyCis6MTBCQjMwMDA0Rjk1MEJBNDAwRTkwMDMyNDA4QzkwMDMyNDAwQzkwMDBCCis6MTBCQjQwMDAzMjQwMEM5MDAzNjQwOEY5MDAzMjQwM0Q5MDAzRTgwNDUxCis6MTBCQjUwMDA3MDAwMDAwMDAwMDAwMDAwNjgwMUE0MDhGOTAwM0U0MEU5Cis6MTBCQjYwMDA0RjkwOEJFNDA0RDkwMTNFNDAwRDkwMDM2NDAwRDkwMTRECis6MTBCQjcwMDAzRTQwMEY5MDAzQTQwMEY5MDAzQzQwMEU5MDAzREEwMDExCis6MTBCQjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBGODQwMzYyMEVGCis6MTBCQjkwMDAxNzg0MDMyMDIxQzgwMDdFMDIyQzgwNDMyMDAwRTgwMjg1Cis6MTBCQkEwMDAzRTAxMEY4MDAzRTAwMEM4NDAxRTAwMEY4MDAzQ0EwNDVFCis6MTBCQkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTJBODhCNjAyMjNBMDBCCis6MTBCQkMwMDAwQkVDNDIyQjAwRDI4MDZFQjEwOEEwMjIwODAwRUEwNEUwCis6MTBCQkQwMDAzQTgwOUZBMDAzQTgwMDhBMDQyRTgwMEJBODAyQ0EwMDA2Cis6MTBCQkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCMjAwQTRFMTY1Cis6MTBCQkYwMDA4QkI0MzI0NzQ1ODM5MDJDRjQ0QjM4MTIwRTQ0QTMwMThBCis6MTBCQzAwMDAyQ0MwNEIzMDAyQ0UwMDkzMDA2Q0MwMEIzODAyQ0EwMDJGCis6MTBCQzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDBCNzQ0MjFDMjM5Cis6MTBCQzIwMDAwQjU0MDI1NDA1ODcwMDJDNDA5QjZDMDIxODEwQTcwNDhCCis6MTBCQzMwMDAyOUMwMEE3MDAyOUIwMDk3MDQwRDgwMEI2MDgyRTgwMDA3Cis6MTBCQzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBGMzgwMzVFMDVFCis6MTBCQzUwMDAwQjM4MDI1MjEwODQ4MDJEQTAwRkY4MEIxRTAwRTY4MEQ2Cis6MTBCQzYwMDAxREEwMEI2ODAzRkUwMkQ2ODAzREUwMEY3ODAzRUEwMkI4Cis6MTBCQzcwMDAwMDAwMDAwMDAwMDAwMDAwMEExREFDMDBGQjAwM0VDMUY3Cis6MTBCQzgwMDA4QjkwMEI4MDBBQjgwMTJFMDAwQ0IwMDNFODAwRkEwMDdDCis6MTBCQzkwMDAzRUMwMEZBMDQzRUMwMEVCMDAzRTgwMEZBNjIzQzIwMjgzCis6MTBCQ0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZFMDBGRTgwMzMyMDYwCis6MTBCQ0IwMDA0RUM5MTJGNjUwRUY5MDNGRTAwQzE5MDBCNjQyQ0YyMTZBCis6MTBCQ0MwMDAzRkUwMEVGOTAyRTZDMEZGODAzRkUwNENEQzAzNDAwMDlECis6MTBCQ0QwMDA3MDAwMDAwMDAwMDAwMDAwQUExMTk0MDBCNzAwODE0MDJECis6MTBCQ0UwMDAwODAzMDIxNEM0ODcwMTJEQzgwODZBMTIzODQwODcwMjZECis6MTBCQ0YwMDAyREMwMDg3MTEyRDI4MEI3MDAyRDgwMDg2MDAyMkEwNDdFCis6MTBCRDAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDBCNzEwMjE4MENGCis6MTBCRDEwMDAwOEY0MTI5NDA0QTYwMDJDQzAxOEQyMDIxNDQ4ODYxMDBECis6MTBCRDIwMDAyRDgwMEE2MTMyRDQwMEI2MTgyREM0MDg1ODAyMDAxMEM0Cis6MTBCRDMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNEM0MDBCMzAwMjBDMDU4Cis6MTBCRDQwMDA0MEIwMjIwNDAwODI4MTBDQzAwODMwMEEwQTAwOEEwMDM4Cis6MTBCRDUwMDAyRUMwMDhBMDAyQzQwMEJCMDAyRTgwMDgyMDAyMDgwNEU4Cis6MTBCRDYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBGQjAwQTBDMERGCis6MTBCRDcwMDAyNDk0MjNBQzEwRUJBMDBFQzAwQ0IwMDIyRTIwQzkwMEZFCis6MTBCRDgwMDAyRTQwMEU5MDAzRUMwMEY5ODAzRTQwNkNBMDBCMkEwNDdDCis6MTBCRDkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMENDMDBGQjAwM0VDMEZFCis6MTBCREEwMDA4OTkwMDMyQzAwRkIwMjNFNDA0RkEwMDM2RDAxRkI0MTM0Cis6MTBCREIwMDAzRUMwOEZCNDAzRTgwMEZCMjAzRTUwMEZBNDAzRTAwMDE4Cis6MTBCREMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBDMzIwQjJDMEUxCis6MTBCREQwMDAwREQwMDMzODAwQ0QwMDNGODAwREYwMDNGQzAwRkQwMkM0Cis6MTBCREUwMDAzNjAwMENEMDAzM0YwOEZDMDQxMkMwMENBMDAzQzA0NDcyCis6MTBCREYwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDZDMDI4QkM4MjJDMEVDCis6MTBCRTAwMDAwODk4MEEyQTQwODkyMDJFMDE4RUIwMTJFQzgwQkJGMERGCis6MTBCRTEwMDAyMkU1MDhCRDAyMkUwMEJCOTAyMkVEMDhBMjAyRTAwMDQwCis6MTBCRTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDA4QjAxMjIwMEEzCis6MTBCRTMwMDA0OUE4MUUwNDAwOEIwMTJFQzA0OTkwMDJFNDAwQjkwMEZECis6MTBCRTQwMDAyMjQwMEE5MDAyMkMwMEI5MDAyQTQwMDg4MDAyRTAwMDNCCis6MTBCRTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0MDA4MTAwMjA0MEIxCis6MTBCRTYwMDAwODIwMDIwNDAwODMwMDJDQzAwQTIwNDJDQzAwQjMwMDRBCis6MTBCRTcwMDAyMEMwMDIzMDAyMDg4NEIzMDQwODQwMDgyMDAyQzIxMTI2Cis6MTBCRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDA4QjAwQjI4MDdDCis6MTBCRTkwMDAwREIxMDMyNDAyQ0IwMTNFQzA0RDkwNDNFNDAwRjkwMEY0Cis6MTBCRUEwMDBCMjAwMkU5MDBCMkM4MEY4MDBCQUMwMkM4MDAzQzAwMzg3Cis6MTBCRUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREY0MDA3RDAwM0ZDMDA1Cis6MTBCRUMwMDAwRjcyMDNENDAwRkYwMDNGQzAwRUYxNDdGQzAwRkYwMERCCis6MTBCRUQwMDAzQkMwMERGMDEzRkM1MEZGMDAzN0MwMEZFMDAzRTgwNjM1Cis6MTBCRUUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYwQzRDQzMzM0YwNDI3Cis6MTBCRUYwMDAyQ0Y2MDMzODYwQ0M5MEIzMjAwRkYxMjNGMDYwRkYwMUUzCis6MTBCRjAwMDAyM0M4MENGMjhBM0M4MURGMzAzRjY0MENEODAzMzAwNDM0Cis6MTBCRjEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEUwQzI4QTMwMkUxODdGCis6MTBCRjIwMDAwOEY1MzBBNTk0NTgyMjIyMjE0QkYzMDJFMTAwOUY3MEJFCis6MTBCRjMwMDAyQkU0MEFGNDEyMUQ0MEFGNzIyQzQ5MkYzMDgyQTAwNjY4Cis6MTBCRjQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUM0ODA4MEEwMkM5ODBDCis6MTBCRjUwMDAwODMyMjIwODAwODIwMDI4MDAwMzMyMDJDMDg0QjMwQzk5Cis6MTBCRjYwMDAyMEMwNTgzMjkyOEMzMEEzMjAyRUMwNDgxMjQyNjIwMTY5Cis6MTBCRjcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUE4MDA4QjAwMkUyMEZCCis6MTBCRjgwMDAwOEIwMEEyMDAxOTgwMDJBMjIwQkIwMDJFNjAwOUIwMEFDCis6MTBCRjkwMDAyMkMwMEFCMDEyQUMwNEFCMDAyRUMwMDNCMDAyRjAwMDA1Cis6MTBCRkEwMDA2MDAwMDAwMDAwMDAwMDAwMDAxNUU1MDBDODAwM0VCMDgxCis6MTBCRkIwMDAwQ0IwMDMyOTAwQzgwMDNBMjA0RkIwMDNFMjIwRkIwMTc3Cis6MTBCRkMwMDBCMEMwMENCMDAzMkMwMEZCMDIzQzQxMEM5MDQzNDgwNDcxCis6MTBCRkQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUEyODBGRTQwM0UwMDcyCis6MTBCRkUwMDAwRkYwNjNFQzAwQkZDNDE3NDIwRkYwMDNFQzAwRkYwMDNBCis6MTBCRkYwMDAxRkMxMEZCMDAzNUMwMEZCMDAzRjQwNEZGMDAwQjgwMEQyCis6MTBDMDAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEE1MDJDODAwM0U5MDQzCis6MTBDMDEwMDAyQ0IwMEIwMTA2Q0IwMTNFNTA1RkIwMTMyMTEwQ0IwMEJBCis6MTBDMDIwMDA3RUMwMENCMDBCMkMwMENCMDAzMkMwMEM5MDAzMTAwNDZGCis6MTBDMDMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTI4MDE4QkQwMkMzNDJGCis6MTBDMDQwMDA0OEZGMDIzMDAwQUEwNDJFNjkwRkYwMDM2ODEwREYwMEQ5Cis6MTBDMDUwMDAyRkQ0MERGMDAyM0UwMDVGMDRCNkMwMDhCMDAzNzIwMDlBCis6MTBDMDYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTY5OTA4MTgwMkMwMDg1Cis6MTBDMDcwMDA0OEI4MDIwODA5OTkwMDRDQjAwQjMwMDIwQzAwOEIwMDQ0Cis6MTBDMDgwMDAyQ0MwMDlCMDQwMEM0MDgzMDAwMDQwMEE5MDAyMzAwMEYwCis6MTBDMDkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDA4NDg4MkRFNEZDCis6MTBDMEEwMDA0ODM5MDIxNjAwQjQ4MDJERTAwQTdCMDY1RTAwOTc4MEI2Cis6MTBDMEIwMDAyREUyMDk3ODAyMUU5MDk3ODAyNTY0OEE3ODAyNDgwMDU0Cis6MTBDMEMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBEMDA4MTEwMkM5NjgwCis6MTBDMEQwMDAwODMxMjMwQzAwOTAyMDNDQzQxQkI4MDIwODQwQzMwMDY4Cis6MTBDMEUwMDAyQ0M0MEQzMDAzMEU0MEMzMTAzMEMwNEUxMDA3MUExMjdFCis6MTBDMEYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREJDMDA3RDA1M0ZDNUExCis6MTBDMTAwMDAwRkIxMEJGNDAwRUYwMDFGNDUwRkYwNDNGQzAxRkY0MDlGCis6MTBDMTEwMDAzREM0MUZGMDA2RkMxMEZGMDAzQkMxMkRGMTAzRDAwNjBCCis6MTBDMTIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDRDQjA0M0VBMDY1Cis6MTBDMTMwMDA0NEI2MDMyODA0Q0I4MDMyODAwRkIzOTM2MDA4RkIyMDAxCis6MTBDMTQwMDAzRUQyMUZCMzAzMkQ4MEZCNjE3RTQwOEM5ODAzMkEwMEYyCis6MTBDMTUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTg0MEM4NjA1MkRDMDBFCis6MTBDMTYwMDAwOEY0ODI4QzkwODUwMEExQzAwQkYwMDI1QzAwMzcwMEJGCis6MTBDMTcwMDAyREQwMEI3MTAyMUNDOEI3NDgyRDQwMEE3MDAyMTIwNDYyCis6MTBDMTgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NzgwMkRBMTFDCis6MTBDMTkwMDA2MDc4NEExNkQwQTc4MDI5RTAwQjc4NTI5NjAxQjc5MEI0Cis6MTBDMUEwMDAyREU4MEI3QTIyNUU0MEI3QTAyRkUxNDg1MDIyMzAwMEU0Cis6MTBDMUIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMTA4Mzg0MkNDMDM0Cis6MTBDMUMwMDAwODMwMDJBNDEwODNDQjI4RTAwQjMwMkE0RjQwOTMwMEE0Cis6MTBDMUQwMDAyQ0MwMEIzMDAyNEMxMEIzMDIyQ0MwQUEzMDAyMTIwNDQ3Cis6MTBDMUUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUI4MDBDRUEwM0Y4MDNECis6MTBDMUYwMDA0Q0EwMkIzQTAwQ0U0MDNCQjgwRkEwMDNCOTAwQkEwMEM4Cis6MTBDMjAwMDAzRTgwMEZBMDAzNjgwMEZBMDA3RTgwMUNBMDBCM0EwNDU5Cis6MTBDMjEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDJGODAwM0UwNDVBCis6MTBDMjIwMDA4RjAwMDNFMDRBRjgxMDI2MTgwRjgwMDNBMDgwRjgwMjYwCis6MTBDMjMwMDAzRTAwOEYwMDBCQTAwMEY4MDIzRTAwMEY4MDEzRDIwMERBCis6MTBDMjQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MjBDOTAwMzI0MDY3Cis6MTBDMjUwMDA0RDk5MDMyNDAwQzkwMjNFNjgwRjkwMDIyNDAwRTkwMEIyCis6MTBDMjYwMDAzMDQwOEM5MDAzMDQ0MEM5MDAzRTQwMEM5MDAzMDIwNDBGCis6MTBDMjcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MjA4OTA2MjI1MDg1Cis6MTBDMjgwMDA4QjlDQzIyNDAwRDkwMTJFNDAwQjkwNDIyNDA4QjkwMTk2Cis6MTBDMjkwMDAyMjQ2MEQ5MDBBMjYwMjg5MDAyQzQwMEExMDAyMjAwMDM2Cis6MTBDMkEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwMTA2MDA5MTQwNDI3MERDCis6MTBDMkIwMDAwQjkwMTIyQzAyOEIwMDJFNDAwQjEwMjJFNDEwQjEwMEM4Cis6MTBDMkMwMDBBMjQwNDg5MDEyMjQwODk5MDIyRTQwMDg5MDAyMDYwMENECis6MTBDMkQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0OTI5MTIwRTA0OEEzCis6MTBDMkUwMDAwQjEyMDIwNDAyOTExMDJDQzAwQjEwMDY4NEMwQjExMDc2Cis6MTBDMkYwMDAyMDQ4ODkxMTAyMDU4MDkxNDAyRTQ0MkE5NDAyMDIwMUFGCis6MTBDMzAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYxNDBEODUwMzAxNDVCCis6MTBDMzEwMDAwRjg1MEIyMUUwODA0MDNFMDAwRjg3OEJFMTBDRjg2QzBECis6MTBDMzIwMDAzMjAwODQwNjgzMjAwNEQ4MjgzRTEwMEMwMDAzMkUwMzFDCis6MTBDMzMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDBBRDEwM0Y0NTgzCis6MTBDMzQwMDAwRjkxMDNGQzE4N0QyMDFGNDEwRjkwMDM3NEMwRjkyMTQ5Cis6MTBDMzUwMDAzRTQ0MEY5MjAxRTQ0MEU5MDAzRDQ4NEZEMDAzRTYwNjE5Cis6MTBDMzYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwNUY3ODBGREUwMzM3MDQ5Cis6MTBDMzcwMDAwQ0RBMDMyNjIwQzk0MDMxNDAwRTlBMDMyNDAwRjk4MENDCis6MTBDMzgwMDAzQjYwMEY5QzgzMzZBMEY5QTFCMDQwMEY5MTAzQzYwMDFCCis6MTBDMzkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUyOTBCOEEwMjIyOEQxCis6MTBDM0EwMDAyODg4MEEyMjAyODhBMDIyMDAwODg4MDJDMjgwQjg4ODUxCis6MTBDM0IwMDAyMjA0MEI4RTAzMjI4MEI4RDAyQTIwMEI4ODAyQ0UwNEUwCis6MTBDM0MwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM1ODBCMTYxMDA1ODgxCis6MTBDM0QwMDA0ODE2OEEwNEEwODkwMTIyNDAxQTE0ODgwNDIwQjE0MDFBCis6MTBDM0UwMDAyODQwMEIxMDBBMDQyMEIxMkMyMDRBMEIxMjAyQzIwMTczCis6MTBDM0YwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE1OTBCQjQwMjA0MDEwCis6MTBDNDAwMDAwODkwMDIyNDQwODk0MjYyNTgwODEwMDJFNTAwQjkwM0VFCis6MTBDNDEwMDAyMkMwMEI5MDAyQTQxNDMxMDAyQTQ0MEI5MDAyQzYwNERGCis6MTBDNDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxMEE1MDBGOTAxMzI0MEVCCis6MTBDNDMwMDA4QzkwMDMyNzAwQzE5NDMwNDAwRTkwMDMyNDAwRjkwMDMzCis6MTBDNDQwMDAzQTQwMEY5MDAzMjQwMEY5MDAzMjYwMDc5MDI3RTgwNTc2Cis6MTBDNDUwMDAyMDAwMDAwMDAwMDAwMDAwMjgwMEE0MThGOTAwQkU0NERECis6MTBDNDYwMDAwRjkwMDNDNDAwRjkwMEJFNjE4RjkwMDNBNDAwRjEwMDk3Cis6MTBDNDcwMDAxRTQwMEYxMDAzMjQwOEY5MDA3RTQwMEY5MDAzQ0EwMEVECis6MTBDNDgwMDAyMDAwMDAwMDAwMDAwMDAwMjgxMEExODFGODAwMzIwNDA0Cis6MTBDNDkwMDAwQzAwRDMyMTAwRDgwNDNBMTQ5QzgwMDMyMTAxQzgwMDY5Cis6MTBDNEEwMDAzNjAwMEM4MDEzMjAxMEM4MDAzMjAwMkM4MDAzQ0EwNDEwCis6MTBDNEIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNDNBMDBCRTg0MjM4NTBDCis6MTBDNEMwMDAwOEVDODM2ODA0OEEwMDJGOTA0REEwMDIyODAxREEwMDRFCis6MTBDNEQwMDAyM0IwMEFBMDAyMkEwOERBMDEyMjgwMEZBMDAyQ0EwMEIzCis6MTBDNEUwMDAwMDAwMDAwMDAwMDAwMDAwMjgwNTRDMDBCQkYwMjBDMDQ4Cis6MTBDNEYwMDAwODNDMEEwQzAwOTMwMTI4Qzg4OTMwMDY0QzAwODMwMkNFCis6MTBDNTAwMDAyQ0Y2MDgzMDAyMDQwMEEzMDAyMEMwMEEzMDAyQ0EwMDQyCis6MTBDNTEwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFEMTFCMzAwQTBDMDY5Cis6MTBDNTIwMDAwODUwMDI1QzEwODcwMTZEODE0OTMyNTIxRUMzODcwMDlBCis6MTBDNTMwMDAyOEUwMEEzMjI2MUYwMDM3MDAyM0UwMEI3MjAyQzgwMEYxCis6MTBDNTQwMDA0MDAwMDAwMDAwMDAwMDAwMjgwODEyMDBCNzgyMzEyMERGCis6MTBDNTUwMDAwODA4MzcwRjA4RDdFMDM5NjAxOTdBMEI1RTBDODNCMkYwCis6MTBDNTYwMDA3REUwMEM3QTBCM0UwMkFGQTBCMUUwMEU3QTAzQ0EwMjY2Cis6MTBDNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREEwMTBGQjAwM0VDMEVECis6MTBDNTgwMDA2RkIwNDNFQzExRkIwMDNFNDAwRkI1MDNFQzIwRkI1MEI1Cis6MTBDNTkwMDAzNjAwMEZCNTQzRTVBMURCNzgzRUMwMEZCNDAzQzIwNkY5Cis6MTBDNUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAwNUZFMDBGRkEwM0ZBMDZBCis6MTBDNUIwMDAwREM5MTMzRTAwQ0ZEMDNERTgwMkZGMTMzRTAwQ0Y4MkVECis6MTBDNUMwMDAzRjYwMENGQzIzM0UxMEVGODAzM0YyMENGQzgzMTAwMDI0Cis6MTBDNUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDNDBCNTAxMkREMEEzCis6MTBDNUUwMDAwODU4MDIxQzQwNTcxMDJENUEyODMxMDJCQzAxOTcxMEUwCis6MTBDNUYwMDAyRDAwMEE3MDAyODQwNENGMDAyOUMwMEFGMDAyMkEwNDI4Cis6MTBDNjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDkwMDBCNzJBMkQ4MkFBCis6MTBDNjEwMDAwODQyMjIzQzAwODcxMTBEQ0M4ODMyMDIxRDAwOTcwMDkxCis6MTBDNjIwMDAyQ0M0MDgzMDAyMTQwMEE3MDAyM0MwMDk3MDgyMDAwMDQ3Cis6MTBDNjMwMDAyMDAwMDAwMDAwMDAwMDAwNjAxNEMwMjBCMDIwMkM1MDNBCis6MTBDNjQwMDAwODEwMDIyREMwOTNFMjJDMjEwODMwMDIwRTA4OTMwMDNFCis6MTBDNjUwMDAyQzQwMEEzMDAyOEMwMDkzMDAyQUMwMEIzMDAyMTgwNEQwCis6MTBDNjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFDMDBGOEMwM0U4MEJCCis6MTBDNjcwMDAyQ0EwMEIzRjAwQzc2MDNFRDAwQ0YwMEIzQzAwQ0YwMDVECis6MTBDNjgwMDAzRTgwMENGMDBCMkMwMEVGMDAzM0MxMERGMDBCMkEwNEEwCis6MTBDNjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDNDBGMzQwM0U1MENECis6MTBDNkEwMDA4RUI0MDNFQzEwRkIwMDNFMDkwRkIwMTNFQzQyRUIwMDFDCis6MTBDNkIwMDAzQzAwOEZCMDEzQzQxMUUzMDAzRUMwMEVCMDAzRTAwMDk1Cis6MTBDNkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGQzgwMzEyMjVFCis6MTBDNkQwMDAwQ0E4MDMzQzAwQ0YwMDMzQTAwRUYwMDNEQzAwQ0YwMDE5Cis6MTBDNkUwMDAxRkYwMENGMDAzRjQwMENGMDIzM0MwMENGMDAyMDA1NDMyCis6MTBDNkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZGMDBCQkMwMjI3MDA5Cis6MTBDNzAwMDAwQUI5NDIyQzEwOEIwMDc2MTE4M0IwMDJFQzEwQUIwMEZBCis6MTBDNzEwMDAyRUIwMEFCMDAzRUMwNDhCMDBBMkMwMjhCMDAyMjA0MDY3Cis6MTBDNzIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTY1NDBCODIwMjI0NDkxCis6MTBDNzMwMDA1ODM0MEEyQzAwOEIwMDIyODQ0QkIwMDJFQzAwOEIwMDkyCis6MTBDNzQwMDA2RUMwMDhCMDQyRTYwNDhCMDAwMkMwMDgzMDAyQTAwMUFGCis6MTBDNzUwMDA0MDAwMDAwMDAwMDAwMDAwMEMwMDAwMDBCMTAwMjBDMEZDCis6MTBDNzYwMDAwQTMwMEEwQzAwOEIwMzI0ODAwQjMwMDJDQzAwQTMwMDlCCis6MTBDNzcwMDA2QzAwMEEzMDAyOEQwMDgzMDAyMEMwMTgzMDAyODIwMDU1Cis6MTBDNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODY0MDBGODAwMzAwMDE1Cis6MTBDNzkwMDA0Q0EwMEIyQzAyQ0YwMDIyNDAwRUY1MDNGQzAwQ0YwMTcxCis6MTBDN0EwMDAzRTAwMENGMDEyREQwMkNGMDIzM0MwNENGMDBCODAwM0QwCis6MTBDN0IwMDAxMDAwMDAwMDAwMDAwMDAwQTQxOUYwMDBGQzAwM0Y0MDQxCis6MTBDN0MwMDAwRkIxMDNEQzAwQkYwMTNGMDAwRkYyMjNGQzEwRkYwMDlDCis6MTBDN0QwMDAzRjAwMEZGMDAxRjQ4NEZGMDAzREMwNEZGMDEzNjgwNkU2Cis6MTBDN0UwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUZFNDBERjgwMzNDODdDCis6MTBDN0YwMDAwQ0Y4MDMzQzBBOUZDMDNGRjAwOEI4MDIzRTAwRkY4MERGCis6MTBDODAwMDAzRkQ4MENGOTYxMkU0MDZGOTAzRkU0OEZGMTgzMzAwMEU4Cis6MTBDODEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEVDMDQ4QjgwMjNGMDBBCis6MTBDODIwMDAwOEI4MDIzRDQwQUIwMDBFMDg0ODIyODI2QzIwQkIwMEQ1Cis6MTBDODMwMDAyRkQwNDhCMDAyMkMwMEJCMDAyRUMxMEJCMDAyMzAwNDM4Cis6MTBDODQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUNDMDI4MzAxQTBDNTc0Cis6MTBDODUwMDAwOEIwNEE0Q0EwODAyNDI4QzgwOTMyMDI0QzAwQjMwODEyCis6MTBDODYwMDAyRUQxMjlCMjNBMEM4NEEzMjEyQ0M4NEJCMjBBMzIwMTMyCis6MTBDODcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDg4QjAwMjJDMDUyCis6MTBDODgwMDAwOEIwMDI0QzAwODgyMTI0MjEwOUIwNDY2QzAwQkIwNjg4Cis6MTBDODkwMDAyRUMwMDlCMDAyMkMxMEJCMDAyRUMwMEJCMDAyMzAwNDE5Cis6MTBDOEEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBDQjAwMzJDMDJBCis6MTBDOEIwMDAwQ0I5MDI2QzAwQ0JDODNBQzAyRDkwMEIyQzA4RkIwMEMxCis6MTBDOEMwMDAzRUMwMEQzMDQyMkMwMEVCMDAzRUMwMEZCMDEzMDAwNDAwCis6MTBDOEQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUJDMDBFRjAwM0RDMDVGCis6MTBDOEUwMDAwRkYwMDNCQzA2RUY4MjNGNDA0RUM5ODNCQzAwRkYwMDNGCis6MTBDOEYwMDA3RkMwMUNGMDEzN0MwMEZGMDQzRkMwMEZGMDAzRjgwMDYyCis6MTBDOTAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjAyM0VDMEQwCis6MTBDOTEwMDAwRUIwMDNBQzIwRDg0MDNFQzA4QzkwMEIyQzAwRkIwMDI2Cis6MTBDOTIwMDAzRUM5MERCMDMzRUMwOEZCMDIzRUMwMEZCMDBCNTQwNEZGCis6MTBDOTMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJDMDBCMzAwMkZDMDNDCis6MTBDOTQwMDAwQjMwMTJGQzAwODhBMDJFNDAyODk0MDIyQzEwQkIwNDRGCis6MTBDOTUwMDAyREMwMjhCMDAyRUMwMEJCMDAyRUMwMEI3MjA2MzIwMEM2Cis6MTBDOTYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTZDMDBCMzAwMkNFMDc3Cis6MTBDOTcwMDAwQTEwMDJDRDAwOTMwMDJDQzAwOEIwMDI0QzAwQjMwMDk2Cis6MTBDOTgwMDAyOEMwMDgzMDAyQ0MwMEIzMDAyQ0MwMEIzMDAyM0EwMEEzCis6MTBDOTkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTFFNDBCNzgwMkRFMjgyCis6MTBDOUEwMDAwQjU4MDJERTAyOTc4MTJGQTAwODY4MDI1RTAwQjc4MTUzCis6MTBDOUIwMDAyRkUwMDg3OTAyREUwMEI3ODEyREUwMEI3ODAyM0MwMDAxCis6MTBDOUMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODBDMDBGMzAwM0NDMERDCis6MTBDOUQwMDAwRTMyMDNDQzgwRDMwMDNDQzQwQzM5MDM0QzA4RjMxQTRDCis6MTBDOUUwMDAzQ0M2MEQzMDAzQ0UyMEYzMDgzQ0MwMEYzMDAzNTIwMjhBCis6MTBDOUYwMDAwMDAwMDAwMDAwMDAwMDAwNDAxREFDMDBGQjAwMkVDMDQ1Cis6MTBDQTAwMDAwQkIwMDNDQzIwRUIwMDNDODAwRkIwNDFBQzAwRkIwMDJFCis6MTBDQTEwMDAzQ0MyMEZCMDAzRUM0MEZCMDAzRUMwMEYzMDAzRDAwNjE5Cis6MTBDQTIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVFMDJDMzgwMzBDRUM4Cis6MTBDQTMwMDAwRDk4MDNBQ0EwQzM4MEIyQzAwRkIwMDNFQzAwRkIwMEE0Cis6MTBDQTQwMDAzRUQyNEZCMDA5MkUwODRCMDEzRUMwMjRCMDAzRUEwMDhECis6MTBDQTUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTlDMDA4NzAxMjFDMDA4Cis6MTBDQTYwMDA0ODUwMTI0QzAwODcwMDM1QzA0QjYwMDJEQzA0QjcwMTBGCis6MTBDQTcwMDAyREMwMEI3MDAyMUMwMDg3MDAyREMxMEM3MjAyRjIwNDQ1Cis6MTBDQTgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDA4NzgwMjNFMERFCis6MTBDQTkwMDAwOEY4MDJERTgwOEY4MTIxRTA0Qjc4MTJERTA0Mzc4MEI3Cis6MTBDQUEwMDAyREU4MEJGODAyM0UxODg3ODAyRkUwMDk3OTAyRTAwMDlDCis6MTBDQUIwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMDA4MzAwQTBDMDRCCis6MTBDQUMwMDAyODMwNDI0QzAwODMwMDI0QzAwQjM4MDZDQzA0QjMwMDRECis6MTBDQUQwMDAyQ0MwMEIzMDAyMEMwMjgzMDAyQ0MwMDgzMDAyRDIwNEEwCis6MTBDQUUwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUE4MDBDQTAwMzE4MEY2Cis6MTBDQUYwMDAwOEUwMDI5ODAyQ0UwMDMzODQwQkVBMDNFODAwQkEwMDkzCis6MTBDQjAwMDAzRjgxMEZBMDAzMjgwMENBMDAzRTgwMERFMDAzRkEwNDE1Cis6MTBDQjEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwMDBGODAwM0UwMDU3Cis6MTBDQjIwMDAwRTg0MjNBMDAwRjgwMDNBMTAwRjgwMDNFMDAwRjgwMDA0Cis6MTBDQjMwMDAzRTEwMEY4MDEzRTAwMEY4MDAzRTAwMEQ4MDAzRDIwMDhECis6MTBDQjQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMEU0MDFGOTAwM0U0MDQxCis6MTBDQjUwMDAwQzlBMTNFNDAwQzkwMDNFNDAwQzk4MjNFNDgwRjkwMENECis6MTBDQjYwMDAzRTQwMkM5ODAzNjQwMEY5MDAzRTQwMEM5MDAzQzIwNDQwCis6MTBDQjcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDRCOTAwMkU0MDcyCis6MTBDQjgwMDA2ODlDMjJFNDAyODkwMTdDNTA4RDk4MjJFNDgwQjkyMEJGCis6MTBDQjkwMDAyRTUwNDgxMDBCMjUwMEI5NDQyQzQwMjg5MDAwRTAwMDhFCis6MTBDQkEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCOTAwMkU1MEZECis6MTBDQkIwMDAwODkwMDJFNDA0ODkwMDJFNTAwQTkyMDJFNDAwQjkwMEIxCis6MTBDQkMwMDAyQzQwMDg5MTAyMjQwMEI5MDAyRTQwMDg5MDAyQzYwMEIzCis6MTBDQkQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA1MDBCMTAxMkM0MEU2Cis6MTBDQkUwMDA0ODMwMDJFNDAwODEwMDJBNDA0QjEwMDJDNDAwQjEwMDJBCis6MTBDQkYwMDAwQ0MwMDg5MDAyMEMwMEIzMDAyRTQwNDgxMjAyQzIwMTgzCis6MTBDQzAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDYwMDBCODAxM0UwMDA4Cis6MTBDQzEwMDAxQzgwMDdFMTUwQzg1MDJFMTQxRTg1MDNFMTQxRjg1MEQ2Cis6MTBDQzIwMDAzRTE0MEM4NTEzMjE0OEY4NTAzRTE0MEM4NTQzRUUwMzQ2Cis6MTBDQzMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxOUM0MDBGOTAwM0U1MUE3Cis6MTBDQzQwMDAwRjUwMDNFNTAwRkQwMDNGNDAxREQwMDNGNDEwRjkwMDM0Cis6MTBDQzUwMDAzRTUwMEY1MDAwOTQwMEY5MDAzRDQwMEY5MTAzRTYwNjRFCis6MTBDQzYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMUU0NTBDRDAwMzE2MEE5Cis6MTBDQzcwMDAwNEQwMDMzNjgwQzE0MjJFNTAxRjk0MDNFNTAwRTkwMjIwCis6MTBDQzgwMDAyRTcyMEE5MDIyMDUwOEU5NDAzRTUwNDA5QzAzMjYwMDdGCis6MTBDQzkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEMyODI4ODAwMjIxNUQ5Cis6MTBDQ0EwMDAwODgwMDIyMzU4ODhBMDJFMjgwQkFBNDJFMjgyODg4MDlFCis6MTBDQ0IwMDAyRTM4Mjg4ODAyMjI4MEI4QTAzQTI4MDhDRDAyMEUwNDE3Cis6MTBDQ0MwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA4MTAwQTY0MEZDCis6MTBDQ0QwMDAyODEwMEEyNDI2OTUwMDBENDAwQjUwMDI3NDAwODUwODg4Cis6MTBDQ0UwMDAyRjQwNzlEMkFBMTQwMEE1MDEyRjQwMzg1MDAyMTIwMTFBCis6MTBDQ0YwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDQ4OTAwMjY0MDAwCis6MTBDRDAwMDAwODkxMDIyNDEwOUQwODJGNDAwQkQwMDJGNDAwOEQwMkUwCis6MTBDRDEwMDAyRjQwMDlEMDAwMzQwMEJEMDAwQjQwMTg3MDAyMDYwNEZCCis6MTBDRDIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUM0MDBDOTA1MzY0MUU1Cis6MTBDRDMwMDA0QzkwNjMyNDAwRDkwMDNFNDAwQjkwMDM0NDA4QzkwMDg2Cis6MTBDRDQwMDAzRTQwMTUxMDAzMjQwMEU5MDAzQzQwMEM5MDAzMjgwNEU5Cis6MTBDRDUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMUE0MDRGOTAwM0E0MDFGCis6MTBDRDYwMDA0Rjk4MDNFNDAwRTk5OTNFNDA0RjkwMDNFNDIwRjkwQTBDCis6MTBDRDcwMDAzRTQwMEU5MDQzNjQyNEY5MDgzQTQyMEY5MDhCREEwMDRCCis6MTBDRDgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODAwMTIwMDkxCis6MTBDRDkwMDAwQzgwNDNFMDAwQzg0MDMyMDAwRjg0NTNFMDEwRjgwMERDCis6MTBDREEwMDAzRTAwMEQ4MDIzMjAwMEQ4MDAzRTAwMEY4MDAzMEEwNEJGCis6MTBDREIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM4MDI4MjAwQTE4ODQxCis6MTBDREMwMDAwODYwMjJDODAwOEE0MDM2QTEwQkEwMDJFOTEwQkE0NENDCis6MTBDREQwMDAyQzgwMENBNDEyMjkwMjhBNDQyRTk4MEJBNDAyMEEwMDZCCis6MTBDREUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTRDMTA4MzAwMjBFMEY3Cis6MTBDREYwMDAxODMwOTJDNDA4OTM0MDIwRTAwQjMwMDJDRDAwQjM0MEJECis6MTBDRTAwMDAyQ0MwMEIzQTQyQ0QwMDgzNDAyQ0QwMEIzODAyNEEwMDk0Cis6MTBDRTEwMDA1MDAwMDAwMDAwMDAwMDAwQTA0MTFDMDA4NzAwMjFDMDVECis6MTBDRTIwMDAyODcwMDJEMTAwOUQ4MDI1QzI0QjYwMDJEQzA4QjcwMjQ5Cis6MTBDRTMwMDAyQ0MwMEE3NDAyRkUwMDg3MDAyREMwMEIzNDAyNjgwMDZCCis6MTBDRTQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODFFMDBDNzg0MzFFMDc4Cis6MTBDRTUwMDAwQzY4MDNENjAwOTc4MDMxQTAwRjU4MTNERTA4Rjc4MkM0Cis6MTBDRTYwMDAzREEwMEZGODBCREUwMEM3ODAzREUwMEY3ODhCNkEwMjEzCis6MTBDRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFEODBGMzAwM0VDMTZFCis6MTBDRTgwMDAwRkEwMjNDMDAyRTkwMDNFODEwRjgwMDNFQzAwRkIwMEVECis6MTBDRTkwMDAzRUMwMERCMDEzMkMwMEVCMDAzRUMwMEZCMDAzODIwMjY5Cis6MTBDRUEwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZGMzJDNzgwMzM2MDEyCis6MTBDRUIwMDAwRjc4MDMzRUM4NEU4MDIzNjQwQ0Y4MDMzQTAwQ0U4MEZFCis6MTBDRUMwMDAxM0VDMDZEODAzM0EwMERFODAzM0E0MENDODAzRDAwMDZDCis6MTBDRUQwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMTlDMDA4NzEwMDFDMDM1Cis6MTBDRUUwMDAwQjcwMDIxODUwODQwMDJCNDQwODYwMTI5ODAwODYxM0JGCis6MTBDRUYwMDAyMUM0ODg1MDAyMTg4MDg2MDAyMTgwMDg2MTAyRUEwNDVCCis6MTBDRjAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NzAwMjE0MDNECis6MTBDRjEwMDAwQkYxMDI1QzgwMDYwMDIxMDA4OEQwMDI1QzAwODcwMEQzCis6MTBDRjIwMDAyMDg5OEFGMTAyMUMwODg3MTAyMTgxODg0ODAyQzYwMEU2Cis6MTBDRjMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMTA4MzA0QTBDMUQ5Cis6MTBDRjQwMDAwQjMwMEE0ODBDODgwNjYwMzgwODA0NDJFQzAxOEIwNDU4Cis6MTBDRjUwMDAyMkMxMDgzMDBBMkMwMDhCMDAyMjgwMDAyMDAyRDgwNDU1Cis6MTBDRjYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUJDMDBDMzAwMjI4MEIzCis6MTBDRjcwMDA4RjkwMDM2NDBBQ0IwMkIyRjIyMDM1MTI2NDBBQzkwMDEyCis6MTBDRjgwMDBCMjQwMEVBMDAzMjQwQUM5MDBBMjQwMkNBMDAzRUUwNDY0Cis6MTBDRjkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEVDMDBGQjAwM0M4MDBFCis6MTBDRkEwMDAwRjkwMDNBNTAwREI0MDNFRDA0REI0MTNBNDA4RkIwMTU1Cis6MTBDRkIwMDAzRUMwMUNBMDAzNkMwMEZCMDQzRTUwNEZBNDAzRTAwMEU1Cis6MTBDRkMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBGRjAwMzNDMDMyCis6MTBDRkQwMDAwQ0U4NDMyNjAwREY4MEIzRTAwRkY4MDM3QzAwQ0QwMEFGCis6MTBDRkUwMDAzMzA0MENFMDIzMzQ0MENEMDAyMzQwMENFMDAzRTAwNDg0Cis6MTBDRkYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDZDMTBCQjAwQTJEMkQxCis6MTBEMDAwMDAwODI4MDIwNDYwOEIxOTIyQzYwRUIxOEEyRTQwOEI5MDJDCis6MTBEMDEwMDAyMkMxMDhBNDgyMkMwMDhCOTAyMjY0NDhBNDAyRTAwMDY0Cis6MTBEMDIwMDAxMDAwMDAwMDAwMDAwMDAwODAwNTJDMDBCQjAwMjIwMDYyCis6MTBEMDMwMDAwODkxMkUyNDAwOUIwMDIyQzA4QkIwMTIyMDA0ODgwMDhGCis6MTBEMDQwMDAyMjQwMDgxMDIyMjAwMDg4MDEyQUQwMDg4MDQyRTAwMEY3Cis6MTBEMDUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDBDMDBCMzA0MjA4MDIxCis6MTBEMDYwMDAwODEwMDYwNDEwODMwMDIwQzA4QkIwMTIwMDAwODIwMDVDCis6MTBEMDcwMDAyMEMwMjgxMDQyMDkwNjgyMDAyOEMwMDgyMDAyQzIwMUYwCis6MTBEMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDdDMDBCQjAwMzI0MEVBCis6MTBEMDkwMDAyQ0IwMDMyNDAwRDMwMDMyQzA1RkI1MDMwQzAyQzEwMEUyCis6MTBEMEEwMDBCMjAwMENCMDBCMDUwMEMxMDBCOEMwMkM4MDEzRTAwMzI3Cis6MTBEMEIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxRERDMDBGRjAwMUZDMEE5Cis6MTBEMEMwMDA4N0YwMDFGNDAwRkYwMDNGQzAwRTcwNDNGQzEwN0YwMEFBCis6MTBEMEQwMDAzRkMwMEY3MDAzRkMwMEZGMDAzN0MwMEZFMDAzRTgwNkZECis6MTBEMEUwMDA3MDAwMDAwMDAwMDAwMDAwQzAwNUYxODRGRTYxMzFEODJFCis6MTBEMEYwMDAwQ0IyQzNGQ0UwQ0M4MDdCQzAwRUYxMDM3Q0UwQ0M4MzlGCis6MTBEMTAwMDAzRjIwMEZGMENCMzI0NERDODQzRjI1NENGMjQzMzAwMDBCCis6MTBEMTEwMDA3MDAwMDAwMDAwMDAwMDAwODAxMEU0NDhCMDEwMjJEQzI1Cis6MTBEMTIwMDAwOEI2MDJGRDkyODg4NTIzRjQ0MEYxMDJFRDAwODgyREI3Cis6MTBEMTMwMDAwRTYwMEJCQzEyMkMxMEE4ODIyRTAwMEFGQzIyQTAwNDQ4Cis6MTBEMTQwMDAzMDAwMDAwMDAwMDAwMDAwODgwNUMwODBCMzIyMjhDMDI1Cis6MTBEMTUwMDAwODMwODJDQzAxODgwMDJDQzA0QTMyMDJDQzAwMDEwMTg4Cis6MTBEMTYwMDAyODAwNEJCMDAyQTAwMDgwMDAyQzA5MDgzNDAyNjIwMUE0Cis6MTBEMTcwMDA3MDAwMDAwMDAwMDAwMDAwQzAxNUFDMDRCMjEwMkFDMTBECis6MTBEMTgwMDAwOEIwMDJFQzEwODk4MDIyQzAwOEIwMDJFQzA4ODgwMEM4Cis6MTBEMTkwMDAyRTQwODNCMDAyQTA0MEI5ODAyQzIxMEFCMDAyRjAwNEQ2Cis6MTBEMUEwMDA2MDAwMDAwMDAwMDAwMDAwNDAxNUVDMDBGQTAwQkFDMDZBCis6MTBEMUIwMDAyQ0IwNDNFQzAwQzA4MDNFQzA4RUIwMDM0QzBDQzgxMEI1Cis6MTBEMUMwMDAzRTgwOEZCMDAzODIxMEQ4ODIzRTI4MENCMDBCNTAwNEYyCis6MTBEMUQwMDA3MDAwMDAwMDAwMDAwMDAwRTAwMUI2ODBGRDAyMzdDMUQxCis6MTBEMUUwMDAwRkIwMDNGQzAwRkQwMDNFQzAwRkIwNTNGQzAyRkYwMTc2Cis6MTBEMUYwMDAyRkE0OEJGMDgzN0MwMEFEMDIyRjQwMDM3MDAzQjgwMDk2Cis6MTBEMjAwMDA2MDAwMDAwMDAwMDAwMDAwNDAxMEFDMDBGQjA0MzJDMEQxCis6MTBEMjEwMDA0Q0IwMjMyQzAwRjg0MDNFQzIwQ0IwMDMyQzAwRkI0MTY0Cis6MTBEMjIwMDAzMkMyMEZCMDQzMkQwMEM4NTAzRTQwMENCMDBCMTAwNDZBCis6MTBEMjMwMDAyMDAwMDAwMDAwMDAwMDAwQzgwNTJGOTBCOTUwMDNDMDc2Cis6MTBEMjQwMDAxOEYwMUEzQzAwQjkzMjJERTAzOEYwNjAzQzA0RjkwMEM3Cis6MTBEMjUwMDAzRUYwMEI3QzgwMkMwMEQ5QzAyRTQwMERGMDAyMzIwMDM1Cis6MTBEMjYwMDA0MDAwMDAwMDAwMDAwMDAwRTAwNTRCMjRCMjEwMDJDMUE1Cis6MTBEMjcwMDAyODMwMDI2QzA0QjJDMTJDQzAwODMwMDAwQzAwQjIwMDhGCis6MTBEMjgwMDAyODI0MDMzQzBBMDAwMDgyQzgyQ0EwMDgzMDAyMzgwMDgxCis6MTBEMjkwMDA1MDAwMDAwMDAwMDAwMDAwMjAwMTE2MDBCNDgwMjFFNENFCis6MTBEMkEwMDA0ODdCMDI1RTAwQjY4MDZERTI0ODc5MjIxRTQwQUM4NDY1Cis6MTBEMkIwMDAyREUwMEJGQTAwNTI0MDk2ODAyREU4MTkzODAyMDgwMDQ0Cis6MTBEMkMwMDA0MDAwMDAwMDAwMDAwMDAwNDgwODA4NDBGMzEwQjBDNDBGCis6MTBEMkQwMDAwODNBMDI0QzkwRjMxMDNDQ0MwODMxMDMwQzQ5QjA0MEEyCis6MTBEMkUwMDAzMDA1MEYzMDA3MjE0MDQzMDEzRUMyMUMzMDQzMTIwMjdCCis6MTBEMkYwMDAwMDAwMDAwMDAwMDAwMDAwNDAwREJDMTBGQzEwM0ZDNTA1Cis6MTBEMzAwMDAwRkYxMDFCQzA0RkYwNDNGQzQwRkIxNEJGQzY0RjcwMEY0Cis6MTBEMzEwMDAzN0MwMEY3MjUzQUM0NEZGMDEzRkM5MEZGNDAzRDAwNjZFCis6MTBEMzIwMDA2MDAwMDAwMDAwMDAwMDAwQTgwNUVDMDhGQTAwM0VFMEU0Cis6MTBEMzMwMDAwQ0IwMDMyQzAwQ0IwMjNFQ0EwRkIyMDcyRTAwREIwMjVBCis6MTBEMzQwMDAzMjA4MEYzMTAzMkMwMENCMDQzRTgwMEMzNTAzMkEwMDM5Cis6MTBEMzUwMDA3MDAwMDAwMDAwMDAwMDAwNDgxMTk0MDBCNTAwMkRDOEM2Cis6MTBEMzYwMDAwODcwMEExQzIyODcwMDJEQzkwQkYyODI5QzgwQTYwMDNGCis6MTBEMzcwMDAwOThCMEI3MDBBMUMwMjg1MDAyRDQwMDg3MDAyOTIwNDc0Cis6MTBEMzgwMDA2MDAwMDAwMDAwMDAwMDAwQzAwMDlFMDBCNzgwMkNFQzkwCis6MTBEMzkwMDAwODdCMDI1RTQwODU4OTJERUM4QjdCMDI0RTg0OEY4MDVBCis6MTBEM0EwMDAyNTY0MEJGQTAyMTIwODk3ODA2RkUxMDg3QTAyMzAwMEI4Cis6MTBEM0IwMDAyMDAwMDAwMDAwMDAwMDAwNDgxNENDMjBCMzY0MkNDMDAyCis6MTBEM0MwMDAwODMwMDYwQzEwODM4QTZDQzA1QjMwNDJDQzAwQUIxMDc2Cis6MTBEM0QwMDAyQ0YyMEIzMDAyMEQwMDkzMDQyQ0Q1MDgzMDBBOTIwNDc1Cis6MTBEM0UwMDAzMDAwMDAwMDAwMDAwMDAwRTgxNUJCMDBGRUMwM0U4MEQ5Cis6MTBEM0YwMDAyQ0EwMDM2ODAwQzY0MDNGODAwRkEwMDI2ODAwQ0U0NDA2Cis6MTBENDAwMDAzNjkwNEY2MDAzMUI3MERFRDgzRkEwMEMyMDAzM0EwNDE3Cis6MTBENDEwMDA2MDAwMDAwMDAwMDAwMDAwNDgwMEUwNDBGODEwM0UwMEZFCis6MTBENDIwMDAwRjgwMDNBMDEwRjg0MjNFMTAxRjgwMDNBMDAwRTgwQ0ZDCis6MTBENDMwMDAzQTA0MUY4MDAzRTAwMEU4NDU3RTAyMkY4MDAzRDIwMEZCCis6MTBENDQwMDAzMDAwMDAwMDAwMDAwMDAwMDgxMDY0MDBFOTgwMzI0MDU1Cis6MTBENDUwMDAwRjkwMEIwNDA4RDk4MDM2NDAwRjEwMTMyNDA4RjkwMEYwCis6MTBENDYwMDA3MjcwMEY5MTEzMjQxMEM5MTAzRTY5MEM5MDAzMDIwNENFCis6MTBENDcwMDAzMDAwMDAwMDAwMDAwMDAwODAwNDY0MDhCOTgwMjI0MEYxCis6MTBENDgwMDAwQjEwMDIyNDAwODlDNDIyNTIwQjkwNDIyNDAwQjkwMEUwCis6MTBENDkwMDAyMkUwMEI5MDEyMjQwNEQ5NEEyRTYwMDg5MDAzNjAwMDA5Cis6MTBENEEwMDAxMDAwMDAwMDAwMDAwMDAwMTgwNTI0MDBCMTE4MjI0MDAwCis6MTBENEIwMDAwQjkwMDIyNDAwOEIyMDI2NDkwQjkwMDI2NDAwQjkwMEQ3Cis6MTBENEMwMDBBMjQwMEI5MDhBMjQwMDhCMDAyQzQwQTg5MDAyMDYwMEZBCis6MTBENEQwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDA0ODRCMTIwQTA0OEJGCis6MTBENEUwMDAwQjExMDYwNDAwODMwMDAwNDA0QjExMDIwNDQ5QjExMEU3Cis6MTBENEYwMDAyODQwMEIxMDAyMjQ0MTkxMDAyQzUwMDgxMDAyNDIwMUQ4Cis6MTBENTAwMDAwMDAwMDAwMDAwMDAwMDAwQjgwRDY5NDBFODUwMzIxNDJGCis6MTBENTEwMDAwRjg2OTMyMUUyQzgwMDM2MEEwQjg2OEI2MUE4Rjg0MDdCCis6MTBENTIwMDAyMjgwMEY4MkEzMjEwOEM4MDIzRTAwMEM4MDQzMkUwM0Y0Cis6MTBENTMwMDA1MDAwMDAwMDAwMDAwMDAwOTgxREY0NDhGRDEyM0U0NDE5Cis6MTBENTQwMDAwRjEyMDNDNDAwN0QwMTFFNDAwQjkyMDNFNDgwRjUyMEZFCis6MTBENTUwMDAzNjQwMEY5MDAzRDQ5MDdEMDAzRDQwMEY5NDAzRTYwNkMzCis6MTBENTYwMDA3MDAwMDAwMDAwMDAwMDAwMTgwMUY2QzFERDg4MzI3MjcyCis6MTBENTcwMDAwQzk4MDMyNjIyREQwMDNGNjIyQzk5ODM0NkEwQzk0MDA3Cis6MTBENTgwMDBCMjQwMEZEODAzMjQwMEZEMDAzMzUxMkNEODgzMDYwMDhECis6MTBENTkwMDA3MDAwMDAwMDAwMDAwMDAwMzgxMEUzQzI4OEMwMjIzMDk0Cis6MTBENUEwMDAwODhDNDIyMjExOEEwMTJFMDAwODg4NTIyMzAwODBBMzkxCis6MTBENUIwMDAyQTAwNEI4MDQyMjJBMEI4MDAyMjI4MDg4NDAyOEUwNDUwCis6MTBENUMwMDAzMDAwMDAwMDAwMDAwMDAwMDgwNUM0MDA4MTJEMjA0ODQ0Cis6MTBENUQwMDA2ODE0ODAwNDIwODEwMDJFNDAwQjEyMTIwNDI0ODEyMDQ0Cis6MTBENUUwMDAyMDQwMEI5NDMyMDQ5MEI5MDAyMDQwNDgxMDRBMDIwMUI4Cis6MTBENUYwMDA3MDAwMDAwMDAwMDAwMDAwMTgxNUE0MDA4OTIwMjI0MERGCis6MTBENjAwMDAwODkwMTIyNDAwODkwMDJFNDAwODkwMDIyNDA4ODk0MEM2Cis6MTBENjEwMDAyMjUwMEJCMDAyMjQyMEI5MDlBMjQ0MDg5MDAyODYwNENCCis6MTBENjIwMDA2MDAwMDAwMDAwMDAwMDAwQTAxNUU0MDBEOTA4QjI0MDJFCis6MTBENjMwMDA0QzEwMjMwNDA0RDlDMTNFNDA4RjkwMEIwNDA4QzE0MDE0Cis6MTBENjQwMDAxMjQwMEY5MDQzMjQwNEYxNDEzMDc4MEM5MDAzMjgwNEQ5Cis6MTBENjUwMDA3MDAwMDAwMDAwMDAwMDAwMjgwMTg2NjRGOTgwM0U0MDUwCis6MTBENjYwMDAwRjkwMEJFNDAwRjk5ODNFNDAyRjEwMDNBNDAyRjkxMDJDCis6MTBENjcwMDAzRTQwMEY5MDBCRTY0MEY5OTAzRTYwMEY5MDAzQ0EwMEM5Cis6MTBENjgwMDA2MDAwMDAwMDAwMDAwMDAwMjgxMEEwMDBDODQxMzIwMDI3Cis6MTBENjkwMDAwQzgwMDcyMDEwQzgxMDNFMEMwRTgwMDNFMDA0QzgwMDY4Cis6MTBENkEwMDBCQTAwMEY4MTQzMjAwMEY4NzAzRTAwMEYwMDBCMEEwNEZGCis6MTBENkIwMDAyMDAwMDAwMDAwMDAwMDAwMjgwNTM5MDI4RTIwQTM4MDExCis6MTBENkMwMDAyOEUwMEEzODEwQUUwNDNEQTE4RUUwMDJGODAwOEUwMDdBCis6MTBENkQwMDA3NjgwMEI2MDAzNzgwMEJFNDAyRjgyMEJBMDAzQ0EwMDQ3Cis6MTBENkUwMDA0MDAwMDAwMDAwMDAwMDAwMjgwNTREMDA4Qjg4MjJDMDhCCis6MTBENkYwMDAxODMwMDIwQzAwODM0NDJDRDAxQjMwMTJDQzA2ODMwMDVGCis6MTBENzAwMDAyMEMxMEIzMDgyMEMwMUIzMDAyQzQwMEIzMDAyMEEwMDA4Cis6MTBENzEwMDA1MDAwMDAwMDAwMDAwMDAwQTAwMTFDMDA4NTAwMjBDQzhCCis6MTBENzIwMDAwODcwMDYxQzg0QTcwMTI5QzAwQjcyMjJEQzgwODczNDk0Cis6MTBENzMwMDA2MTgwMEIxMDAyNUMwMEI3MDAyREMwMEI3MDAyRTgwMDg2Cis6MTBENzQwMDA0MDAwMDAwMDAwMDAwMDAwQTgwODBFMDA4QzgwMzFFMEJFCis6MTBENzUwMDAwQ0ZFMDIzRjAwQzU4MDJERTAwRTc4MDNERkEwQzdBMEJECis6MTBENzYwMDAyMTYwMEY3ODAzMUU4MEY3ODAzREUwMEY3ODAzMkEwMkM2Cis6MTBENzcwMDAwMDAwMDAwMDAwMDAwMDAwMDgxREFDMDBGOTAwM0VDMEUxCis6MTBENzgwMDAwRkIwMDNFQzAwRkEwMDNFQzAwNkIwMDNFQzgwRkIyOEFCCis6MTBENzkwMDAzNkQ4NEZBMDAzRUMxMEZBMDAzRTUwMEYzMDAzQzIwNkZCCis6MTBEN0EwMDA2MDAwMDAwMDAwMDAwMDAwMDAwNUZBMDBDQzgwQjNFMDNCCis6MTBEN0IwMDAwRkY4MDMzRTAwQ0Y5MDNGNjA0RkY4QzMzRTAwRUY4MDZDCis6MTBEN0MwMDAzM0YwMEM3QTAzM0U3MEM1OTAzM0YxMEM3ODAzMDAwMEZGCis6MTBEN0QwMDA3MDAwMDAwMDAwMDAwMDAwQTgxMUI4MDA4NzAwMjFDMDAwCis6MTBEN0UwMDAwQjcwNEExQzAwODcxMDJEQzA0QjcxMEEzQzQ0OEYxMkVECis6MTBEN0YwMDAyMTg2MEQ3MjAyMUUwMDg3MDAyMzQwMDg3MDBBMkEwNDQ5Cis6MTBEODAwMDA2MDAwMDAwMDAwMDAwMDAwMDAwMDlDMDA4NDAwMjVDMEIzCis6MTBEODEwMDAwQjcxMEEwQzAwQTcxMjJEODQwQjcwMEExQzAwQjcwOEFDCis6MTBEODIwMDAyMzQwMDlGMzFBNUM4Njk3MDgyNTQwMDg3MDAyMDAwMDFGCis6MTBEODMwMDAyMDAwMDAwMDAwMDAwMDAwMjAxNENDMjA4MTIwMjZDMDIxCis6MTBEODQwMDAwQjMwMDIyQzAwODI0MjJDODAwQjMwMjIwQzA4OUI4MDczCis6MTBEODUwMDAyMEUwMDkyMDAyNEQwODkyMDAyNEU1MDgzMDBBMDgwNDVGCis6MTBEODYwMDAzMDAwMDAwMDAwMDAwMDAwQTgxNUFFODJDQUUwQjdDMDdBCis6MTBEODcwMDAwRkYwMTMzQzBBQzlDODNFNDAwRkYwMDMzQzA0RkY4NDdDCis6MTBEODgwMDAzMkMwMEQ5MDEzN0MwMEQ5MDBGNkMwMkMxMDAzMkEwNDdFCis6MTBEODkwMDA2MDAwMDAwMDAwMDAwMDAwODAwMEU0MDBGMzAwM0FDMUQ2Cis6MTBEOEEwMDA0RkIwMDNFQzAwRjkwODNDMDAwRjMwMTNFQzAwRUIwNDIwCis6MTBEOEIwMDBCRTE4MEY5MDIzQUM2MEU5MDIzQTQwNEY5MDAzRTAwMDlECis6MTBEOEMwMDAzMDAwMDAwMDAwMDAwMDAwMDExMEZDMDBDQTAwMzNDMDVFCis6MTBEOEQwMDAwQ0YwMDNGQzAwQ0QwMjdGNDAwQ0YwNDIzQzAwQ0YwODZFCis6MTBEOEUwMDAzNzEwMEZEMDAzRkMxMENEMDgzRjY2MkNEOTAzMDA0NDNECis6MTBEOEYwMDAzMDAwMDAwMDAwMDAwMDAwODEwNDYzODA4QkUwMjJDMDQzCis6MTBEOTAwMDAwOEIwMjJFQzAwRDg4MDZFMjA2OEIwMUEyQzAxRkIwMDExCis6MTBEOTEwMDAyMjE4MEI4ODQzNEMwMDg4QTAyQ0MwMUQ5MDAyMjA0MDg4Cis6MTBEOTIwMDAxMDAwMDAwMDAwMDAwMDAwODAwMTA4ODA4QjIwMjJDMDUxCis6MTBEOTMwMDAwOEIwMjJFQzAwODg4ODJFNjI0OEIwMUFDQzAwOEIwMDE4Cis6MTBEOTQwMDAyNkMwNEE4ODAyRUMwMDA4ODQyRTQwMDk5MDAyMjAwMDdDCis6MTBEOTUwMDA0MDAwMDAwMDAwMDAwMDAwMDgwNDAwMDA4MzAwNjBDMEQ4Cis6MTBEOTYwMDAwODMwMDJDQzAwOTAwNjZDMDAwODMwMDI4QzAwQTMwNDQyCis6MTBEOTcwMDAyMDAwOEIwMDA2NEMyMTgwMDA2Q0MwNDkxMDBBMDIwMTc3Cis6MTBEOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDZDMDBDQTAwQjJDMUUxCis6MTBEOTkwMDA4OEI0MDNFQzEwQzgwMDJFMDAwQ0IwMEJCQzA4OEYwMDNDCis6MTBEOUEwMDAzNjAwMDY4MDAzRUM4MEM4MDIzRkMxMEM5MDAzMDAwM0UwCis6MTBEOUIwMDA1MDAwMDAwMDAwMDAwMDAwQTAxREYwMDBGRjAwM0ZDMDZDCis6MTBEOUMwMDAwRjcyODNGQzE4RkMwMzNGMDA4RjcwMDM3QzAwRkYwMDg0Cis6MTBEOUQwMDAzRDAwMEZDMDIzOEMwNkZDMDAzRjQwMEVEMDAzRTgwNjNDCis6MTBEOUUwMDA3MDAwMDAwMDAwMDAwMDAwMDBDNTQxMDM3MDQwREMxMDIyCis6MTBEOUYwMDAzNzA0MERDMTAzNzA0MERDMTAzNzA0MERDMTAxNzA0MEM1Cis6MTBEQTAwMDA5QzEwMTcxNDA1QzEwMzcwNDBEQzEwMTcwNDBEQzAzMUMxCis6MTBEQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ0MDU3MTAxNUM0MEVBCis6MTBEQTIwMDA1NzEwMTVDNDA1MjEwMTVDNDA1NzEwMTVDNDAxNzEwMTQwCis6MTBEQTMwMDA1QzQwMTcxMDA1QzQwNTcxMDU1QzQxNTcxMDE1QzAxMUY1Cis6MTBEQTQwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDAyMDEyMDgwNDgyMEZCCis6MTBEQTUwMDAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MERDCis6MTBEQTYwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTIwODA0ODAyMEU3Cis6MTBEQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDA2MDAwNTgwMDZFCis6MTBEQTgwMDAxNjAwMDU4MDAxNjAwMDU4MDAxNjAwMDU4MDA1NjAwMDQyCis6MTBEQTkwMDA1ODAwMTYxODAxODAwMTYwMDA1ODAwNTYwMDA1ODAyMENCCis6MTBEQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ4MDUyMjAxMUM4MEE1Cis6MTBEQUIwMDA0NzIwMTFDODA0NzIwMTVDODA1NzIwMTFDODA0NzI0MUNDCis6MTBEQUMwMDA1QzgwNTcyMDExQzgwNDcyMDExQzgwNDcyMDE1QzAzMUFBCis6MTBEQUQwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQwMDA2MDAwMTgwMDc5Cis6MTBEQUUwMDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDE4MDAwNjAwMDUwCis6MTBEQUYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAwMDYwMDAxODAzMTU3Cis6MTBEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ4MDQyMjAxMDg4MDU5Cis6MTBEQjEwMDA0MjIwMTA4ODA0MjIwMTA4ODA0MjIwMTA4MDA0MjMwMTQyCis6MTBEQjIwMDAwODgwNDIyMDEwODgwNDIyMDEwODAwNDIyMDEwODAyMTMxCis6MTBEQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTRBMDU0MjgxNTBBMDFFCis6MTBEQjQwMDA0NDJDMTEwQjA0NDI4MTEwRTA1NDI4MTEwMjAwNDI4MTQwCis6MTBEQjUwMDAxMEEwNDQzODExMEIwNTQyODExMDIxMTQyODE1MDAzMTAyCis6MTBEQjYwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDBDMDE1NzAwNTRDMDZECis6MTBEQjcwMDAxNTMwMDQ0QzAxMTMwMDU0QzAxNTcwMDU0QzAxNTMwMEJFCis6MTBEQjgwMDA1NEMwMTUzMDg1NEMwMTEzMDA1NEMwMTUzMDA1NDAyMTk4Cis6MTBEQjkwMDA0MDAwMDAwMDAwMDAwMDAwMDA4MDAwMDA0MDAwMTAwMDc1Cis6MTBEQkEwMDAwNDAwMDA0MDAwMTAwMDEwNjIwNDAwMDEwODA0NDEwMDVECis6MTBEQkIwMDAxMDAwNDQxODExMDAwMDEwMDAxMDgwMDQwMDAxMDEyMDIyCis6MTBEQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTYwMDIwODAwODIwMDI0Cis6MTBEQkQwMDAyMDgwMDg2MDAyMTgwMDgyMDAyMDgwMDgyMDAwMDgyMEIxCis6MTBEQkUwMDA4MjAwMDA4MDgwMjAwMjE4MDA4MjAwMjA4MDA4MDEzMTFECis6MTBEQkYwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQwMDU2NDAxNTgwMDBFCis6MTBEQzAwMDA1NjAwMTU4MDA1NjAwMTU4MDA1NjQwMTU4MDA1NjAwMURBCis6MTBEQzEwMDA1ODAwNTYwMDE1ODAwNTYwMDE1ODAwNzYwMDE1ODAzMUM3Cis6MTBEQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQwMDM2MDAwRDgwMEI0Cis6MTBEQzMwMDAzNjAwMEQ4MDAzNjAwMDk4MDAzNjAwMUQ4ODA1NjAwMEU2Cis6MTBEQzQwMDBEODAwMTYwMDBEODAwMzYwMDBEODgwNDYwMDBEODAzMTlBCis6MTBEQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDQzMDgxMEMyMERDCis6MTBEQzYwMDA0MzA4MTBDMjA0MzA4MTBDMjI0MTA4MThDMjA0MzA4OUQ0Cis6MTBEQzcwMDAwQzIwMDMwODEwQzIwNDMwODEwQzIwNDMwODEwQzAxMDhGCis6MTBEQzgwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAzMDAwMEMwMDg4Cis6MTBEQzkwMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDBDMDAwMzAwMDkyCis6MTBEQ0EwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMDMwMDAwQzAwMUE1Cis6MTBEQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAyMDEzMDgwNEMyMEM1Cis6MTBEQ0MwMDAxMzA4MDRDMjAxMzA4MDRDMjAxMzA4MDRDMzAxMzA4MEMzCis6MTBEQ0QwMDA0QzIwMTMwODA0QzIwMTMwODA0QzMwMTMwODA0QzAyMUNBCis6MTBEQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDU2MDgxNTgyMENGCis6MTBEQ0YwMDA1NjA4MTE4MjA1NjA4MTU4MjA1NjA4MTE4MzAwNjA4MTAyCis6MTBERDAwMDA1ODIwNDYwODExODIwNDYwODExODMwNTYwODE1ODAzMDZBCis6MTBERDEwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQyMDAyMDgwMDgyMEU0Cis6MTBERDIwMDAwMjA4MDA4MjAwMjA4MDA4MjAwMjA4MDA4MjAwMzA4MDYzCis6MTBERDMwMDAwODIwMDIwMDAwODIwMDIwODAwODIwMDMwODAwODAzMUIzCis6MTBERDQwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQyMDQ2MDgxMTgyMEFGCis6MTBERDUwMDA0NjQ4MTE5MjA0NjA4MTE5MjA0NjI4MTE4MjAwMzQ4MUJFCis6MTBERDYwMDAxODIwNDY0ODExOTIwNDYwODExODIwNDMwODExODAxMTQwCis6MTBERDcwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTYwMDQ1ODAxNTYwMENCCis6MTBERDgwMDA1NTgwMTU2MDA0NTgwMTE2MDA1NTgwMDE2MDA0MTgwMTgzCis6MTBERDkwMDA1NjAwNDU4MDExNjAwNDU4MDExNjAwNDE4MDExNDAzMTQxCis6MTBEREEwMDA1MDAwMDAwMDAwMDAwMDAwMDA4MDA2MDE0MTgwNTA2MDJCCis6MTBEREIwMDAxNDE4MDUwNjAxNDE4MDUwNjAwNDE4MDUwNjAwNDE4MEQyCis6MTBEREMwMDAxMDYwMTQxODA1MDYwMTQxODA1MDYwMTQxODA1MDAyMEU5Cis6MTBEREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEwMDgwNDAyMDYwCis6MTBEREUwMDAxMDQ4MDQxMjAxMDA4MDQxMjAxMDA4MDQwMjAxMDQ4MDQwCis6MTBEREYwMDA0MDIwNTA0ODA0MTIwMTAwODQ0MDIwMTAwODA0MDAyMEY0Cis6MTBERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQ2MDM1MTgwRDQ2MEZGCis6MTBERTEwMDAzMDE4MEQ0NjAzNTE4MEQ1NjAzNTE4MEQ0NjAzMDU4MDM2Cis6MTBERTIwMDBENDYwMTUxODBENDYwMzExODBENDYwMzUxODBENDAzMUFCCis6MTBERTMwMDA1MDAwMDAwMDAwMDAwMDAwMDBDNTQ2MDU3MTgwNUM2MEQ1Cis6MTBERTQwMDA5NzE4MTVDNjA1NzE4MTVDMjA1NzE4MTVDNjAzNzA4MTk3Cis6MTBERTUwMDA1QzYwNTcxODExQzYwNTMxODE1QzYwNzcxODE1QzAzMUI4Cis6MTBERTYwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQ2MDM3MTgwREM2MEY3Cis6MTBERTcwMDAzNzE4MERDNjAzNzE4MERENjAzNzE4MDVDNjAxNzU4MTNFCis6MTBERTgwMDBEQzYwMzcxODBEQzYwMzcxODQ1QzYwMTcxODE5QzAxMTY3Cis6MTBERTkwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQ2MDU3MTgxNUM2MDQ0Cis6MTBERUEwMDA1NzE4MTQ4NjA1NzE4MTVDNjA1NzE4MDVDNjA0MzE4MUM2Cis6MTBERUIwMDA1QzYwNTcxODE1QzYwNTcxODA1QzYwNDMxODE1QzAxMTY5Cis6MTBERUMwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEyMDgwNDgyMEY3Cis6MTBERUQwMDAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxNzA4MDA4Cis6MTBERUUwMDA0ODIwMTIwODA0ODIwMTIwODA0ODIwMTcwODA0ODAwMDdFCis6MTBERUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDE2MTgwNTg2MDgyCis6MTBERjAwMDAxNjE4NDE4NjAxNjE4MDE4NjAwNjNDMDU4NjA0NjE4MDEwCis6MTBERjEwMDAxODYwMTYxODAxODYwMDYxODA1ODYwNTYxODE1ODAxMDI4Cis6MTBERjIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQwMDU3MDAxNUMwMDlBCis6MTBERjMwMDA1NzAwMTVDMDA0NzAwMTVDMDA1NzAwMTBDMDA0NzAwMDQ5Cis6MTBERjQwMDAxQzAwNDcwMDExQzAwNDcwMDE1QzAwNDcwMDAxQzAxMUIzCis6MTBERjUwMDA1MDAwMDAwMDAwMDAwMDAwMDA0NTQyMDA2MDgwMTgyMEQyCis6MTBERjYwMDAwNjA4MDE4MjAwNjA4MDE4MjAwNjA4MDA4MjAwNjA4MDk4Cis6MTBERjcwMDAxODIwMDYwODAxODIwMDYwODAxODIwMDYwODAxODAxMTIwCis6MTBERjgwMDA0MDAwMDAwMDAwMDAwMDAwMDAwNTQyMDQyMDgxMDgyMDNECis6MTBERjkwMDA0MjA4MTA4MjA0MjA4MTA4MjA0MjA4MTE4MjA0MjA4MDU3Cis6MTBERkEwMDAwODIwNDIwODEwODIwNDIwODEwODIwNDIwODAwODAxMUM1Cis6MTBERkIwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQyMDU0MDgxNTAyMEE0Cis6MTBERkMwMDA1NDA4MTUwMjA1NDA4MTEwMjA1NDBDMTU0MjAwNDA4MTcwCis6MTBERkQwMDA1MDIwNDQwODExMDIwNTQwODExMDIwMTQwODA1MDAxMTRBCis6MTBERkUwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMTAzMDE1MEMwNTQzMDQ4Cis6MTBERkYwMDAxNTA4MDU0MjAxNTBDMDU0MzAxNTBDMDU0MzAxNTBDMEFFCis6MTBFMDAwMDA1NDMwMTUwQzA1NDIwMTUwQzA1NDMwMTUwQzA1NDAxMDE5Cis6MTBFMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDA0MjAwMTA4MDI2Cis6MTBFMDIwMDAwNDIwMDE4ODAwNjIwMDEwODAwNDAwMTEwODAwNDIwMEYyCis6MTBFMDMwMDAxMDgwMDQyMDAxMDgwMDQyMDExMDgwMDQyMDAxMDAwMDJCCis6MTBFMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTQyMDIwMDgwODAyMDI3Cis6MTBFMDUwMDAyMDA4MDgwMjAyMjA4MDgwMjAyMDI4MDAwMjAyMDA4MDgwCis6MTBFMDYwMDA4MDIwMjAwQTA4MDIwMjAwODAwMDIwMjAwODA4MDAxMUY5Cis6MTBFMDcwMDA1MDAwMDAwMDAwMDAwMDAwMDA0NTQwMDU2MDAxNTgwMDBECis6MTBFMDgwMDA1NjAwMDU4MDA1NjAwMTU4MDg1NjAwMTU4MDA3NjAwMjlCCis6MTBFMDkwMDA1ODAwNTY0MDE1ODAwNTYwMDMxODAwNzYwMDE1ODAxMTYxCis6MTBFMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDBDNTQwMDM2MDAwRDgwMDMwCis6MTBFMEIwMDAzNjAwMEQ4MDAxNjAwMEQ4MEEzNjAwMEQ4MDA1NzAwOTE5Cis6MTBFMEMwMDBEODAxMzYwMDBEODAwMzYwMDBEODAwNTcwMDBEODAwMDk1Cis6MTBFMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzMDAxMEMwMEZGCis6MTBFMEUwMDA0MzAwMTBDMDAwMzAwMTBDMDA0MzIwMTBDMDA0NjAwMTQ4Cis6MTBFMEYwMDAwQzAwNDM0MDUwQzEwNDMwMDEwQzAwNDYwMDEwQzAwMDI5Cis6MTBFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMDAwMEMwMEQzCis6MTBFMTEwMDAwMTAwMDBDMDAwMzAwMDBDMDAwMzAwMDBEMDAwMjAwMDBGCis6MTBFMTIwMDAwQzAwMDM0MDAwQzAwMDMwMDAwRDAwMDIwMDAwQzAwMEUxCis6MTBFMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MDEzMTQwNEM1MENDCis6MTBFMTQwMDAxMzEwMDRDNDAxMzE0MDRDNTAxMzE0MDRDNTExMzE0MTYzCis6MTBFMTUwMDA0QzUwMTMxNDA0QzUwMTMxNDA0QzUwMTMxNDA0QzAwMDNBCis6MTBFMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMDU2OEMxNUEzMEQ0Cis6MTBFMTcwMDA1NjhDMTFBMzA0NjhDMTFBMzA1NjhDMTFBMzA1NjhDMENGCis6MTBFMTgwMDA1QTMwNDY4QzExQTMwNDY4QzE1QTMwMTY4QzE1ODAwMDkxCis6MTBFMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDAwMDgwMDU3Cis6MTBFMUEwMDAwMjAwMDA4MDAwMjAwMDA4MDAwMjIwMDA5MDAwMjAwMEYzCis6MTBFMUIwMDAwODAwMDI0MDAwODAwMDIwMDAwOTAwMDIwMDAwODAwMEVBCis6MTBFMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDQ2MjAxMTg4NDA0Cis6MTBFMUQwMDA0NjIxMTE4ODQ0NjIxMTE4ODQ0NjAxMTE4ODQ0NjIxMDU2Cis6MTBFMUUwMDAxODg0NDYyMTExODg0NDYyMTExODg0MDYyMTExODAwMDg4Cis6MTBFMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU1MDExNTQwNDIxCis6MTBFMjAwMDA1NTAxMTE0MDQ1NTAxMTE0MDA0NTAxMTE0MDQ0NTAwMDgyCis6MTBFMjEwMDAxNDA0NDUwMDE1NDA0NDUwMTExNDA0NTUwMTExNDAwMEU4Cis6MTBFMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MjE0MjA4NTA4MkE5Cis6MTBFMjMwMDAxNDIwODUwODIxNDIwODUwODIwNDIwODUwODIxNDIwOEM0Cis6MTBFMjQwMDA1MDgyMTQyMDA1MDgyMTQyMDg1MDgyMTQyMDg1MDAwMEM1Cis6MTBFMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMDEwMjgwNDBBMDUxCis6MTBFMjYwMDAxMDI4MDQwQTAxMDI4MDQwQTAxMDI4NDAwQTAxMDI4MDAwCis6MTBFMjcwMDA0MEEwMTAyODQ0MEEwMTAyODA0MEEwMTAyODA0MDAwMDk5Cis6MTBFMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMDM1MzAwRDRDMDk4Cis6MTBFMjkwMDAzNTMwMEQ0QzAxNTMwMEQ0QzAzNTEwMEM0QzAzNTMwMEU1Cis6MTBFMkEwMDBENEMwMzUzMDBENEMwMzUzMDBENEMwMzUzMDBENDAwMDgwCis6MTBFMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDU3MjAxNUM4MDAyCis6MTBFMkMwMDAxNzIwMDVDODA2NzIwMTVDODA1NzIwMTVDODAyNzIwMTJDCis6MTBFMkQwMDA1QzgwNTcyMDE1QzgwNTcyMDE1QzgwMzcyMDExQzAwMDkyCis6MTBFMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMTg0MEM2MTIzMUFBCis6MTBFMkYwMDA4NDhDMjEyMzA4NDhDNjEyMzA4NDBDNjEyMzEwNDhDMjQ0Cis6MTBFMzAwMDAxMjMxODQ4QzAxMjMwODQ4QzYxMjMxMDQ4QzYxMDAwMDRDCis6MTBFMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkY0RkZGRDNGRjlGCis6MTBFMzIwMDBGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRjIzCis6MTBFMzMwMDBEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEMDAwMENECis6MTBFMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTBFMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTBFMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTBFMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDREIwRkI2QzJDRDQyCis6MTBFMzgwMDBCMEIzNkMyQ0RCMEIzNkMyREZCMEIzNkMyQ0RCMEI3RTc2Cis6MTBFMzkwMDBDMkNEQjBCN0ZEMkNEQjBCMzZDMkNEQjBCMzZDMDAwMEU0Cis6MTBFM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzM0M0RkNGMTMzMzlBCis6MTBFM0IwMDBDNENDRjEzMzNDNENDRjEzM0ZDNENDRjEzMzNDNENGRkM1Cis6MTBFM0MwMDAxMzMzQzRDRkZEMzMzQzRDQ0YxMzMzQzRDQ0YxMDAwMDI2Cis6MTBFM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCN0U0RURGOTNCNzBECis6MTBFM0UwMDBFNEVDNzkzQjFFNEVERjkzQkZFNDhERjkzQjc4NEVGRkEyCis6MTBFM0YwMDA5M0I3RTRFREZEM0IxRTRFREY5M0I3ODRFREY5MDAwMENCCis6MTBFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDI3MDQwOUMxMEFECis6MTBFNDEwMDAyNzFDMDlDMTAxMzA0MDFDMTA2NzA0MDlDMTAyNzA0MTZBCis6MTBFNDIwMDA5QzExMDcxNDAxQzEwMjcwNDA5QzUwMDcxQzAxQzAwMEUwCis6MTBFNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MDU3MTAxNUM0MEM1Cis6MTBFNDQwMDA1NzEwNTVDNDAxMzEwMDVDNDA1NzEwMTVDNDA1NzEwMUM3Cis6MTBFNDUwMDBEQzQwMTcxODFEQzQwNTcxMDU1QzQwNTcxMDFEQzAwMDM1Cis6MTBFNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDEyMDgwNDgyMEExCis6MTBFNDcwMDAxMjAwMDQ4MjAxMjA4MDQ4MjAxMjA4MDQ4MjAxMjA4MEJBCis6MTBFNDgwMDA0ODIwMTIwODA0ODIwMTIwODA0ODYwMTIwODA0ODAwMDlECis6MTBFNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMTgwMDA0Cis6MTBFNEEwMDAwNjAwNDE4MDAwNjAwMDE4MDA0NjAwMDE4MDAwNjAwMDA2Cis6MTBFNEIwMDAxMDAwMDYxMDAxODAwMDYwMDAxODIwNDYxMDAxODAwMDQ2Cis6MTBFNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQ3MjAxMUM4MDMxCis6MTBFNEQwMDA0NzIwMTFDODA0NzIwMTFDODAwNzIwMTFDODA0NzMwMDcyCis6MTBFNEUwMDAxQzgwNDcyMDExQ0MwNDcyMDExQzgwNDcyMDExQzAwMDAxCis6MTBFNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MDAwMTgwMEE0Cis6MTBFNTAwMDAwNjAwMDE4NDAwNjAwMDE4MDAwNjAwMDE4MDAwNjA0MEUxCis6MTBFNTEwMDAxODAwMDYwNDAxODEwMDYwMDAxODAwMDYxNDAxODAwMDQ0Cis6MTBFNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQyMjAxMDg4MDM0Cis6MTBFNTMwMDA0MjcwMTA4QzA0MjIwMTA4QzAwMjIwMTA4ODA0MjIwMEJFCis6MTBFNTQwMDAwODgwNDI1MDEwMDgwNDIyMDEwOTAwNDI0MDEwODAwMDU3Cis6MTBFNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFMDQ0QTgxMTJBMDBDCis6MTBFNTYwMDA0NEE4MTEyQTA0NEE4MTEyQTAwNEE4MTEyQTA0NEI4MDRECis6MTBFNTcwMDAxMkEwNDQ4ODAxMkUwNDRBODExMjIwMDQ5ODAxMDAwMDUwCis6MTBFNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDBFMDA1MzAwMTRDMDhFCis6MTBFNTkwMDAwNTMwMDE0QzAwNTMwMDE0RTAwNTMwMDE0QzAwNTMwMERECis6MTBFNUEwMDAwNEMwMDUzMDAwNEMwMDAzMDAxNEMwMDUzMDAwNDAxMENBCis6MTBFNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDA0MDA0MDAwMTAwMDNGCis6MTBFNUMwMDAwNDU4MDEwNDAwNDAwMDEwMDAwNDAwMDEwMDAwNDEwMDU0Cis6MTBFNUQwMDAwNDAwNDQ1ODEwNDQwMDAwMDAxMTgwMDQ1MDEwNDAzMEUyCis6MTBFNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDQwMDIwMDAwODAwMEExCis6MTBFNUYwMDAyMDAwMDgwMDQwMDAwMDAwMDAyMDAwMDgwMDAyMDAwMDg5Cis6MTBFNjAwMDA4NDAwMDAwMDA4NDAwMjAwMDA4MDAwMjAwMDA4NDAzMDI0Cis6MTBFNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDhDMDQwMDA2MDAxMTgwMDc5Cis6MTBFNjIwMDA0NjAwMDE4MDA2NjAwMTk4MDA0NjAwMTE4MDA0NjAwMUU4Cis6MTBFNjMwMDAxODAwNDYwMDExODAwNDIwMDExODAwNjYwMDExODAzMDg3Cis6MTBFNjQwMDAwMDAwMDAwMDAwMDAwMDAwMTAwMTQwMDA2MDAwOTgwMDgxCis6MTBFNjUwMDAyNjAwMDk4MDAyNjAwMTk4MDAwNjAwMEM4MDAyNjAwMDFDCis6MTBFNjYwMDAxODAwMDYwMDAxODAwMjYwMDA5ODgwMDYwMDAxODIwMDA4Cis6MTBFNjcwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQyMDAzMDgxMEMyMEY2Cis6MTBFNjgwMDA0MzA4MTBDMjI0MzA4MThDMjAwMzA4MTBDMjA0MjA4MDZCCis6MTBFNjkwMDAwQzIwMDMwODE4QzIwNDMwODEwQzIwNDMwODE4QzAxMTU0Cis6MTBFNkEwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAzMDAwMEMwMDlFCis6MTBFNkIwMDAwMzAwMDBDMDQwMzAwMDBDMDAwMzAwMDA4MDAwMzAwMDY4Cis6MTBFNkMwMDAwQzAwMDMyMDAwQzAwMDMwMDAwQzAwMDMyMDAwQzAwMDNDCis6MTBFNkQwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTAyMTAzMDgwMEMyMDBCCis6MTBFNkUwMDAwMzA4MDBDMjAwMzA4MDBDMjAwMzA4MDBDMjAxMjA4MDEzCis6MTBFNkYwMDAwQzIwMDMyQzAwQzIwMDMwODAwQzMwNDMyQzAwQzAwMEUyCis6MTBFNzAwMDA0MDAwMDAwMDAwMDAwMDAwNDA0NTQyMDQ2MDgxMTgyMEU1Cis6MTBFNzEwMDA0NjA4MTE4MjA0NjA4MDE4MjA0NjA4MTE4MjA0NjA4MTM2Cis6MTBFNzIwMDAxODIwNDYwQzExQzIwNDYwODExODMwNDYwQzExQzAxMTJCCis6MTBFNzMwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTQyMDAyMDgwMDgyMDNFCis6MTBFNzQwMDAwMjI4MDA4MjAwMjA4MDA4MjAwMjA4MDA4MjAwMjA4MDI5Cis6MTBFNzUwMDAwODIwMDIwODAxODIwMDIwODAwODIwMDMwODAxODAwMEIwCis6MTBFNzYwMDAwMDAwMDAwMDAwMDAwMDAwNTAwMTQyMDQ2MDgxMTgyMEY5Cis6MTBFNzcwMDA0NjI4MTE4MjA0NjA4MDE4MjA0NjA4MTE4MjA0NjA4MUI2Cis6MTBFNzgwMDAxODIwNDYwODEwODIwNDYwODExODIwNDMwODEwODAwMDc5Cis6MTBFNzkwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQwMDQ1MDAxMTQwMDRCCis6MTBFN0EwMDA0NTAwMTE0MDI1MDAwMDE0MDA0NTAwMTE0MDA0NTAwMUFGCis6MTBFN0IwMDAxNDAwNDUwMDAwNDAwNDUwMDE0MDAwMDEwMDAwNDIxMUQ3Cis6MTBFN0MwMDA1MDAwMDAwMDAwMDAwMDAwNDgwMDA2MDA0MTgwMTA2MDdBCis6MTBFN0QwMDAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDEwNjAwNDE4MDAxCis6MTBFN0UwMDAxMDYwMDQxODAxMDYwMDQxODAxMDYwMDQxODAxMDAwMDQ4Cis6MTBFN0YwMDAwMDAwMDAwMDAwMDAwMDAwNDgwMDAyMDUwMDgwNDAyMUU5Cis6MTBFODAwMDAxMDA4MDQwMDAxMDA4MDQwMjAxMDA4MDQwMjAxMDA4MDZDCis6MTBFODEwMDA0MDIwNTAwODE0MDIxMTAwODQ0MDIwMTAwODE0MDAwMDA5Cis6MTBFODIwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQ2MDE1MTgwRDQ2MDE3Cis6MTBFODMwMDAzNTE4MEQ0NjAzNTE4MEQ0NjAxNTE4MEQ0NjAzNTE4MERDCis6MTBFODQwMDA1NDYwMTUxODBENDYwMzUxODBENDYwMzUxODBENDAxMUUxCis6MTBFODUwMDA1MDAwMDAwMDAwMDAwMDAwMDAwMTQ2MDQ3MTgxMUM2MEFGCis6MTBFODYwMDA0NTE4MTFENjA0NzE4MTFDNjA2NzE4MTFDNjA0NzE4MUE2Cis6MTBFODcwMDA5QzYwNDcxODExQzYwNDcxODExQzYwNjcxODExQzAwMEE0Cis6MTBFODgwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNTQ2MDI3MTgwOUM2MDBFCis6MTBFODkwMDAyNzE4MDlDNjAwNzE4MDlDNjA2NzE4MDlDNjAyNzE4MDNDCis6MTBFOEEwMDA5QzYxMjcxODAxQzYwMjcxODA5QzYwMDcxODAxQzAwMDk2Cis6MTBFOEIwMDAwMDAwMDAwMDAwMDAwMDAwNTA0NTQ2MDU3MTgxNUM2MENBCis6MTBFOEMwMDA1NzE4NTVENjAxNzE4MTVDNjA1NzE4MTVDNjA1NzE4MUJFCis6MTBFOEQwMDA1QzYwNTcxODE4QzYwNTcxODE1QzYwNDMxODE4ODIxMTc2Cis6MTBFOEUwMDA1MDAwMDAwMDAwMDAwMDAwNDAwNDUyMDEyMDgwNDgyMDM5Cis6MTBFOEYwMDAxMjQ4MDQ5MDAxMjA4MDQ5MjAxMjA4MDQ4MjAxMjQ4MERCCis6MTBFOTAwMDA0ODIwMTI0ODAwOTIwMTIwODA0ODIwMTc0ODA0ODAwMUM2Cis6MTBFOTEwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDA2MDA2MTgwMTg2MDU4Cis6MTBFOTIwMDAwNjNDMDE4NjAwNjE4MDE4NjA0NjE4MDE4NjAwNjE4MEZGCis6MTBFOTMwMDAxODYwMDYxODAxODYwMDYxODAxODYwNDYxODAxODAwMTgxCis6MTBFOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MTYwMDQ3ODAxMUUwMDhCCis6MTBFOTUwMDA0NzgwMTFFMDI0NzgwMTFFMDAwNzgwMTFFMDA0NzgwMTRGCis6MTBFOTYwMDAxRTAwNDc4MDExRTAwNDM4MDExRTAwNDc4MDExQzAxMUNECis6MTBFOTcwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTEyMDA2MDgwMTgyMERDCis6MTBFOTgwMDAwNjQ4MDE5MjAwNjA4MDE5MjAwNjA4MDE4MjAwNjQ4MDE4Cis6MTBFOTkwMDAxODIwMDY0ODAxOTMwMDIwODAxODIwMDY0ODAxODAwMEI2Cis6MTBFOUEwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQyMDQyMDgxMDgyMDE3Cis6MTBFOUIwMDA0MjA4MTA4MjA0MjA4MTA4MjAwMjA4MTA4MjA0MjA4MTZECis6MTBFOUMwMDAwODIwNDIwODEwOEEwNDYwODEwODIwNDIwODEwODAwMDU0Cis6MTBFOUQwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQyMDQ0MDgxMTAyMDdCCis6MTBFOUUwMDA0NDA4MTEwMjA0NDA4MTEwMjAwNDA4MTEwMjA0NDA4MUVGCis6MTBFOUYwMDAxMDIxNDQwODAxMDIwNDUwODExMDIwMDQwODAxMDAxMTc0Cis6MTBFQTAwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDAzMDA1MEMwMTQzMDFGCis6MTBFQTEwMDAwNTBDMDE0MzAwNTBDMDE0MzAwNTBDMDE0MzAwNTA4MDI4Cis6MTBFQTIwMDAxNDMwMDUwODAxNEEwMDUwQzAxNDMwMDUwODAxNDAwMEE4Cis6MTBFQTMwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMDA4MDA0MjAwMTA4MEJDCis6MTBFQTQwMDAwNDIwMDEwODAwNDIwMDEwODAwNDIwMDEwODAwNDIwMDU4Cis6MTBFQTUwMDAxMDgwMDQyMDExMDAwMDQyMDAxMDgwMDQyMDExMDAxMERBCis6MTBFQTYwMDA0MDAwMDAwMDAwMDAwMDAwNDA0NTQyMDIwMDgwODAyMDdECis6MTBFQTcwMDAyMDA4MDgwMjAwMDA4MDgwMjAyMDA4MDgwMjAyMDA4MDkwCis6MTBFQTgwMDA4MDIwMjAwODA4MDIwMjAwODA4MDIwMjAwODA4MDAxMTUxCis6MTBFQTkwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTQwMDA2MDAxMTgwMDJDCis6MTBFQUEwMDA0NjAwMTE4MDA2NjAwMTE4MDA0NjAwMTE4MDA0NjAwMUQ0Cis6MTBFQUIwMDAxODAwNDYwMDExODAwNDYwMDExODAwNjYwMDExODAxMEUzCis6MTBFQUMwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQwMDI2NDAwOTgwMEM3Cis6MTBFQUQwMDAyNjAwMDk5MDA2NjAwMTk4MDAyNjQwMDk4MDAyNjAwMDI3Cis6MTBFQUUwMDA5ODAwMjYwMDAwOTAwMjYwMDA5ODAwMDcwMDAxODAwMDU2Cis6MTBFQUYwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTYwMDQzODA1MEUwMEUyCis6MTBFQjAwMDA0MzgwMTBFMDQ0MzgwMTBFMDA0MzgwMTBFMDA0MzgwMUQ3Cis6MTBFQjEwMDAwRTAwNDM4MDE4QTAwNDM4MDEwRTAwNDY4MDE4ODAxMUIyCis6MTBFQjIwMDA1MDAwMDAwMDAwMDAwMDAwNTAwMDAxMDAzMDQwMEMxMEI4Cis6MTBFQjMwMDAwMzA0MDBDNTAwMzA0MDBDMTAwMzE0MDBDMTAwMzA0MDM1Cis6MTBFQjQwMDAwQzEwMDMwNDAwODc0MDMwNDAwQzEwMDIwNDAwODAwMEM5Cis6MTBFQjUwMDAwMDAwMDAwMDAwMDAwMDAwNDAwNDA1MDAzNTQwMEM1MDlCCis6MTBFQjYwMDAwMzE0MDBENTA0MzE0MTBDNTAwMzVDMDBDNTAwMzEwMDkyCis6MTBFQjcwMDAwQzUwMDMxMDAwOTQwMDMxNDAwQzUwNDMxMDAwQzIwMEIwCis6MTBFQjgwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQzMDUyMEMxMTgzMDhGCis6MTBFQjkwMDA0NjBDMTE5NzAwNjBDMDE4MzA0NjFDMTE4MzA0NjBDMUY4Cis6MTBFQkEwMDAxODMwNTIwQzExODcwNDYwQzExODMwNDYwQzExODAxMUM2Cis6MTBFQkIwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTAwMDAyMTQwMDgwMDVCCis6MTBFQkMwMDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMDA4MDAwMjAwMEY5Cis6MTBFQkQwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDIwMDAwODAwMDAxCis6MTBFQkUwMDAwMDAwMDAwMDAwMDAwMDAwNDAwMTQ4NDQyMjAxMTg4NDk5Cis6MTBFQkYwMDA0NjIxMTE5ODAwNjIxMDE4ODQ0NDIwMTE4ODQ0NjIxMTQzCis6MTBFQzAwMDAxODg0NDIyMTExODA0NDYyMTExODg0NDYyMTExODAwMDI5Cis6MTBFQzEwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTQwMDQ1MDExMTQwNEIyCis6MTBFQzIwMDA0NTAwMTE0MTAwNTAxMDE0MDA0NTAxMTE0MDQ0NTAxMTlECis6MTBFQzMwMDAxNDA0NDUwMTAxNDA0NDUwMTExNDA0MDUwMTAxNDAxMTIwCis6MTBFQzQwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMDA4MjA0MjA4MTA4MjMwCis6MTBFQzUwMDAwNDIwMDEwODIwNDIwODEwODIwNDIwODEwODIwNDIwODc0Cis6MTBFQzYwMDAxMDgyMDQyMjgxMDgyMDUyMDgxMDhBMDQyMjgxMDAwMEE4Cis6MTBFQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDBBMDEwMjg0NDBBMTFFCis6MTBFQzgwMDAxMDI4MDAwQTAxMDI4MDQwQTAxMDI4MDQwQTAxMDI4MDE2Cis6MTBFQzkwMDA0MEEwMTAyQzE0MEEwMDAyODA0MEIwMTAyQzE0MDAwMDc4Cis6MTBFQ0EwMDAwMDAwMDAwMDAwMDAwMDAwNDA0NTREMDM1MzQwRDREMDU4Cis6MTBFQ0IwMDAzNTMwMEM0RDAzNTM0MEQ0RDAzNTM0MEQ0RDAzNTM0MDAzCis6MTBFQ0MwMDBENEQwMzUzNDBENEQwMjEzNDBENEQwMzUzNDBENDAxMTFECis6MTBFQ0QwMDA1MDAwMDAwMDAwMDAwMDAwNDAwMTA4MDQ3MjAxMUM4MDg4Cis6MTBFQ0UwMDA0NzIwMTVDODA0NzIwMTFDODA0NzIwMTFDODA0NzIxMTA2Cis6MTBFQ0YwMDAxQzgwNDcyNjExQzg0NDcyMDExQzkwNjcyNjExQzAwMDcxCis6MTBFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzMDg0MEM2MTIzMThGCis6MTBFRDEwMDA4NDhDMDEwMzA4NDhDNjEyMzA4NDBDNjEyMzE4NDhDMjUxCis6MTBFRDIwMDAxMjMxODQ4QzAxMDMwODQ4QzYxMjMxMDQ4QzAxMDAwMEEyCis6MTBFRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkY0RkZGRDNGRjc1Cis6MTBFRDQwMDBGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkQzRkZGNEZGRkY5Cis6MTBFRDUwMDBEM0ZGRjRGRkZEM0ZGRjRGRkZEM0ZGRjRGRkZEMDAwMEEzCis6MTBFRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTBFRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTBFRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTBFRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJERkIwRkI2QzJDREY3Cis6MTBFREEwMDBCMEI3RkQzRkZCMEIzNkMyREZCMEZCNkMyQ0RCMEI3RTNDCis6MTBFREIwMDBDMkNEQjBCN0ZEM0ZGQjBCMzZDMkNERjRCN0ZEMDAwMEFFCis6MTBFREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzRkM0RkNGMTMzM0IwCis6MTBFREQwMDBDNENGRkQzRkZDNENDRjEzM0ZDNEZDRjEzMzNDNENGRjkwCis6MTBFREUwMDAxMzMzQzRDRkZEM0ZGQzRDQ0YxMzMzRjRDRkZEMDAwMEYxCis6MTBFREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCN0U0RURGOTNCN0UzCis6MTBFRTAwMDBFNEVERjkzRkZFNEVERjkzQjdFNEVERjkzQjdFNEVDN0VDCis6MTBFRTEwMDA5M0I3RTRFQzYxMjMxRTRFREY5M0I3ODRFQzYxMDAwMEVFCis6MTBFRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUyNEExNEEyNEVBCis6MTBFRTMwMDA2MzAxMTQwMjQ0MDA4MTBCMjg3MTAyMTA4MjQwMzgxMUQyCis6MTBFRTQwMDA0MTA0NTAwODE4ODI4NzM4MzFDMzJDNTIwQTEwMDAwMDQwCis6MTBFRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4NDUxMjgxNDQ4MDBFCis6MTBFRTYwMDA3MTIxMUMwQTA3MUE4MTAyQTA1MjIwMTQ0ODA3MTI4MTNFCis6MTBFRTcwMDBDNjgwNjAyMDA4ODg0NzAyMDE0QTgwNzAyMDEwMDAwMDg4Cis6MTBFRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQzUyQzAxNEEwMDQ0Cis6MTBFRTkwMDA1MjA5MUM4MDA3MjQyMTA4MDg3MTAyMTA4MDQ1MjBBMTE2Cis6MTBFRUEwMDA0OTI4NTIwMTE0QzA0NTAwOTFDNDAwNzIwMjEwMDAwMEFDCis6MTBFRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDcyMDAxQzEwMDY3Cis6MTBFRUMwMDA3MTA5MTA4MDA3MDAwMTAxMDA3MDA4MTg4MDA3MDAwMTE3Cis6MTBFRUQwMDA4OTIwNTIwMTBDODA0NjMwODE0NTA0NjAwMDEwMDAwMEZBCis6MTBFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QzIwMjIwMDA4OEFFCis6MTBFRUYwMDAyMDIyMDAwOEMyMjI4MDQwODgwMjIyMDAwODgyMEFBMDQ0Cis6MTBFRjAwMDAwQ0E4MDIyMjAwMDg4MDBBMDA4MDhDMDIyMjAwMDAwMDY3Cis6MTBFRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAyNDMwMDAwNDAyMDQ0Cis6MTBFRjIwMDAzMDA4MDQ0MDQxMzAxMEM4MDAwMDAwMDAwMjAzMDAxMDA3Cis6MTBFRjMwMDBDMDAwMTEwODAwQzI0MzEwODBDMDIwMDEwODAwMDIwMDc4Cis6MTBFRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4QzMwQTIwQzE4Qzc3Cis6MTBFRjUwMDAxMjIyMDQ4ODAxMzYyMEMzMDgxMjI4MDQwODAxMDQwMDg0Cis6MTBFRjYwMDA0QUE4MjIwMTA0Qzg0MTI2MzBDMDg4MDIyMTAwMDIwMEJDCis6MTBFRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDAwQTEwQzE4MDI2Cis6MTBFRjgwMDAzMjIxMEM4ODQzMDI4MDQ0ODAxMjI5MDQwODQyMEE5MEVFCis6MTBFRjkwMDA4QTgwMDAyMDA0NDgwMzBBMTA4MjgwMDAyMDAwMDIwMEJBCis6MTBFRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBODcwMkExODBBQzAxCis6MTBFRkIwMDA0MzI5MTQ4QTg0MDJBMTAwQUM0MTIwMTAwODA2MjYzMTlFCis6MTBFRkMwMDA4MEE0NjAyMDE0NEE0NDMyODE4MUFDNjAyQTE4MDIwMDc3Cis6MTBFRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDcyMjAxQzU4MEIyCis6MTBFRkUwMDA3MzIxMUNDODA3MkEwMTBDODA3MjIwMTA0ODQ3MjYxMTgzCis6MTBFRkYwMDBDNTgwNzMyMDFDODgwNzJBMTE0OTgwNzAyMDE0MDIwMEU0Cis6MTBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwNDUxMDMxQzkwQzlECis6MTBGMDEwMDA3MzAyMUNDMDQ3MDQwMTBBMEM1MTBBMTA4MjQ3MjAzMUI4Cis6MTBGMDIwMDBDODAwNzIwMjFDNDAwNTMwMTFDNDAwNzIwMTE4MDIwMEIxCis6MTBGMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDgxMDEwMDYyNDAxNDUwNDM0Cis6MTBGMDQwMDA1MTgxMTg5MDQ3MTQwMTA0MDQ3MTg4MTAxMjA1MzQwMThECis6MTBGMDUwMDA0NDA0NTE0MDE4RDAwNzM4MDFDNDA0NTIwMTE0QzIwNEJBCis6MTBGMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcwMDIxODkwQzYzCis6MTBGMDcwMDA2MDAxMUNEMDQ1MjQwMUMxMEM0MjAxMDAwMEM1MjAzMUIzCis6MTBGMDgwMDA0MTA4NDAwMDE4ODA0NTAwMjE0MTBDNzA0MjFDQzIwMDFDCis6MTBGMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMDExQzgwQzQyMEVECis6MTBGMEEwMDAzMTA4MTA0MjQyMDg4MEM2MjAzMTA5MDAyMDAzMUM5MDFDCis6MTBGMEIwMDBDNDIwMDE0OTBDNDI0MzEwODA0NDIwMzEwODEwMDAwMDU0Cis6MTBGMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwODMyMDMwNDgwQ0U5Cis6MTBGMEQwMDAzMjQwMTA5MDgxMjQyMEM4MDQzMjQwMTAyMEMzMjA4MDg4Cis6MTBGMEUwMDBDODAwMDI0QTBDQTAwMTI0MTBDODA4MzI0MTEwMDAwMEQ4Cis6MTBGMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDkwMDMwMDAwQzkwNEEwCis6MTBGMTAwMDAzMDQwMDA5MDAwMjAwMDgwMDAxMDQwMTAwMDQwMjAxMDhGCis6MTBGMTEwMDBDMjAwMDA4MDA4MjA0MzA4MTA4MTAwMzI0MDBDQzAwNDY3Cis6MTBGMTIwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDMwMDA0MDAwMDAwMDRGCis6MTBGMTMwMDAxMDAwMDBGMDEwMjAwMDAwMDAxMDAwMDBGMDEwODA0MENGCis6MTBGMTQwMDAwMDAwMDA0MDAwRjAxMDkwODAwMDAwMDAwMDAwQzAwMEFGCis6MTBGMTUwMDAwMDAwMDAwMDAwMDAwMDAwM0MzQzEwODA5MDQwMDAwMEQ3Cis6MTBGMTYwMDAwMDgwMTA5MEEwOTAwMDAwMDAwMDAwMTA5MDgwODAwMEFGCis6MTBGMTcwMDAwMDAwMDAwMDEwOTA4MDkwMDAwMDAwMDA0MDEwOEYwRkYxCis6MTBGMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0QzZCQTA2QzAxQ0Y5Cis6MTBGMTkwMDA0OTI4NjExNDJCMUMwRTQwM0ZEOUJGRDlBQUJDMUE1RjY1Cis6MTBGMUEwMDAwMDEwQTY1MDNCNjFCMzI1QkM0MDE5QkZGRkU5ODAwMEE5Cis6MTBGMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwOTIxNDk0ODAwQzc5Cis6MTBGMUMwMDAwNzNGMkI5NDg2MTQ4NDgwMjgwMDAwNDkxNDA0ODYxMjdCCis6MTBGMUQwMDA4MDAwNDEyNzM0RDA5MDg0OTIwMDJEOEEyMTFFODAwMDI3Cis6MTBGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBMjc1Cis6MTBGMUYwMDBCMTAxMDEwMDAwMDAwMDA4ODRCMTc4MjgwMDAwMDAwMDdGCis6MTBGMjAwMDAwOEIxMzIxNDE0MDAwMDAwMDAwOEE4MjM1NDIxNDAwMDYzCis6MTBGMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEYyCis6MTBGMjIwMDAwMDAwMDAyRkZGRkVGN0MwMDAwMDAwMDAyRkQ3RkVFRjA4Cis6MTBGMjMwMDBDMDAwMDAwMDAwM0ZGRjdGRkZDMDAwMDAwMDAwMDAwMDkyCis6MTBGMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEMyCis6MTBGMjUwMDAwMDAwMDAwRkVGNzdGRkMwMDAwMDAwMDAzRUZGRkVFRjUwCis6MTBGMjYwMDA0MDAwMDAwMDAwM0ZGRkJGRkY0MDAwMDAwMDAwMDAwMDIyCis6MTBGMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDkyCis6MTBGMjgwMDAwMDAwMDAzRkZGREZGRkMwMDAwMDAwMDAzRkZGRkZGRjY2Cis6MTBGMjkwMDBDMDAwMDAwMDAwM0Y3RjJGRkZDMDAwMDAwMDAwMDAwMDAyCis6MTBGMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDYyCis6MTBGMkIwMDAwMDAwMDAxRkZGRkZFRkMwMDAwMDAwMDAxRkVGRUZFRjk2Cis6MTBGMkMwMDBDMDAwMDAwMDAwMkZGRkZGRkZDMDAwMDAwMDAwMDAwMDkyCis6MTBGMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDMyCis6MTBGMkUwMDAwMDAwMDAzRkZGRUZGRkMwMDAwMDAwMDAyRkFGREZGRjc2Cis6MTBGMkYwMDBDMDAwMDAwMDAwM0ZFRkZGRjdDMDAwMDAwMDAwMDAwMDZBCis6MTBGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDAxCis6MTBGMzEwMDAwMDAwMDAzRkRGREZGRkMwMDAwMDAwMDAzRkZGRkZGRkY1Cis6MTBGMzIwMDBDMDAwMDAwMDAwMUZGRkRGRkZDMDAwMDAwMDAwMDAwMDYxCis6MTBGMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQzQyNEExMDAyQzE2Cis6MTBGMzQwMDA1MjBCMThDMjg2MkNBMTgwMzg2MjBBMDg0MEM0MkNBMTM2Cis6MTBGMzUwMDAwODI4NDIwQjE0MDA4NTE0QTEwODI4NDMwQTEwMDAwMDU1Cis6MTBGMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQxMjAxMDM4MEZCCis6MTBGMzcwMDA2MTIwMTAwODA3MTI0MTQyODA3MDIwMUMwODA0MUEwMTA1Cis6MTBGMzgwMDA4NDgxNDAyMDE4MDg0NjM2ODEwNTgwNjMyMDEwMDAwMUUyCis6MTBGMzkwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwODQyNDIxMDAwQzE4Cis6MTBGM0EwMDA1MjAyMTQwMDg3MjgyMTgxMDg3MjA2MUM4Mjg0MjAyMUMxCis6MTBGM0IwMDA0ODE4NDIwMzU0ODA0NTMwMjU0QTE4NTMwMjEwMDAwMTcyCis6MTBGM0MwMDAyMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDQyMjAxMDE4MDZECis6MTBGM0QwMDA0MjIwMThDODQ0MjIwMTgwODQ0MjIwMUM4ODA0MjIwMTUzCis6MTBGM0UwMDAwMDgwNDAyMDEwODg0NDM2MDE0MDgwNDEwMDEwMDAwMDE5Cis6MTBGM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzAwODIwMDAwQzE5Cis6MTBGNDAwMDAyMjAzMDQ0MDgxMDAyMDg0MDgwMzAwMDA4MEMyMDAyMDAxCis6MTBGNDEwMDBDNDA4MDAwMzA4ODg4MjE2QTA0MDg4MzIyMjgwMDAwMEI5Cis6MTBGNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAyMDEwMDgwMDQyMDJECis6MTBGNDMwMDAxMDA4MENDMjEyMTA4NEM4MjIxMjA4MDQwMjAzMDA4OEFCCis6MTBGNDQwMDAwMDIxMDAwQzBDNDA0MTMwMDA4NDIwMTAwODAwMDIwMDE0Cis6MTBGNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4ODIwNjIwMDg4QzYwCis6MTBGNDYwMDAzMjIyMEM4ODgxMjYyMDREODgyMzIyODA4ODgzMDYyMDIyCis6MTBGNDcwMDAwODg4MDAyMzA0OEE4MTM2MjA0Qjg4MzIyMjAwMDAwMDRECis6MTBGNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDIwMjAwMDk4MERGCis6MTBGNDkwMDAzMjIwMDQ4ODYwMjIwMDg5ODQwMDIwMDg5ODAwMDIwMDNECis6MTBGNEEwMDAwMDgwMDAyMDAwMDgwMjNBODA0ODgwMzAyMDAwMDIwMERFCis6MTBGNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDBBQzQxQUExODBBODkzCis6MTBGNEMwMDA0MTJBMTBDQUM3MUFBMTA0QUQ3MTJBMTg0QUQ0MDZCMTNDCis6MTBGNEQwMDAwMEE4NzEyQTEwMDg4NDI2MjkwNkFDNTIyQTEwMDIwMEJFCis6MTBGNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDA4MDQyQTAxNDE4MDFDCis6MTBGNEYwMDA0MjIwMUMwMDA0MEEwMTA5ODQ1MTIwMUM4ODQ0MDIwMTk2Cis6MTBGNTAwMDAwODgwNDAyMDEwNEE0NzAyMDE0ODgwNjMyMDEwMDIwMDEyCis6MTBGNTEwMDA4MDAwMDAwMDAwMDAwMDAwMDgwMDAwQzQxMDIxODEwQ0UxCis6MTBGNTIwMDA0MTAyMEMwMEMwMjA2MTBEMEU3MjAyMUM0MEM0MDgzMTYzCis6MTBGNTMwMDAwNDE4NDIwMjEwODA4NzIwQjFDNDBDNTMwMjEwMDAwMDRFCis6MTBGNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDgxMDIwMDcyNDAxQ0MwMDhCCis6MTBGNTUwMDA3MjQwMTQwMDA0MjQwMTA4MDA3MzQxMTBDMDA3MzAxMUU4Cis6MTBGNTYwMDBDQzAwNzEwMTEwMDIwNDIwODE0NjEwNDI0MDEwMDIwNEI4Cis6MTBGNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwQzUxMDIxMDAwODg1Cis6MTBGNTgwMDA2MjAyMUM5MEM1MjQyMTAwMEM3MDgyMUMxMEM0MjAzMTIyCis6MTBGNTkwMDA4ODAyNDAwNjFDMDA4NTAwQTEwMDBDNDA0MjAwMDIwMEM5Cis6MTBGNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyMDUxNDgwMDEyMDdGCis6MTBGNUIwMDAzMDA4MEM0MjA2MDA4MDAxMjQ1MTA4MEMwMjQxMDA4MEYyCis6MTBGNUMwMDA0QzIwMDAwODBDMzA0MjA0MDAwNDIwMDAwODAwMDAwMDE5Cis6MTBGNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwQzYyNDIwMDAwQzA1Cis6MTBGNUUwMDAzMkMyMDQ4MEM3MzAyMDAwMEM1M0MyMDQxMEMyMjg3MEZECis6MTBGNUYwMDAwQzA5MDIwMjRDODA4MTA0MzAwOTBDMDI0MjEwMDAwMDA4Cis6MTBGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDgwMDEzODAwMDIwMDJGCis6MTBGNjEwMDAxMjQwMEMyMDA3MzQwNDAyMDA2MzAxMDgxMDAwMjQxMDdCCis6MTBGNjIwMDAwNDAwMDIwMTA0ODIwMTA4ODAwOTEwMDI0MDEwMDAwNDU1Cis6MTBGNjMwMDAzMDAwMDAwMDAwMDAwMDAwMDAwMDMwMjAxMDgwMDAwMEJBCis6MTBGNjQwMDAyMDgwMDBGMDIwMTA4MDAwMDAyMDgwMDBEMDgwMDAwMDhBCis6MTBGNjUwMDA0MDAwMDAwMDAwMzAxMDAwODAwMDAwMDAwMDAwQ0M0MDlFCis6MTBGNjYwMDAwMDAwMDAwMDAwMDAwMDAwM0MzQzEwODA4MDAwMDAwMDEyCis6MTBGNjcwMDAwMDAwMTA5MDgwODAwMDAwMDAwMDAwMTA5MDgwMDA5MDNBCis6MTBGNjgwMDA4MDAwMTAwMDAwMTBBMDgwMDAwMDAwMjAwMDEwOEMwOEY2Cis6MTBGNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0MUFCRTE3ODAwMEM3Cis6MTBGNkEwMDAzRTQwMjY2RkJBRTMyNDgwMDAxNjU5QkQ4MjgxODJEODdECis6MTBGNkIwMDA4MDAwMDAxOTk5ODY4MDY0ODBDMDNGRDk5OTgwMDAwMTNDCis6MTBGNkMwMDBGMDAwMDAwMDAwMDAwMDAwMDAwMDA2MTYwMjk0MDAxNjgyCis6MTBGNkQwMDBDMDE2OTQ4MjkwMTYxMDgwMjExODI4MjgwMjBBMDIwODY5Cis6MTBGNkUwMDA4MDAwMDAwMDAwMDI4MjgwMTQwMDAxMTQxMUEwNDAwMDdDCis6MTBGNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4NDdFCis6MTBGNzAwMDAwMjg0QTg4MDAwMDAwMDA4OTEyMjg0NDFBMjA4MjQwMUZDCis6MTBGNzEwMDAzMDAwMDAwMDAwMDAwMDAwMDAwODg0MDE0NDAxMDAwMEU3Cis6MTBGNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMERECis6MTBGNzMwMDAwMDAwMDAzRUY3RkZGN0MwMDAwMDAwMDAyRkU3QjdGRjEyCis6MTBGNzQwMDBDMDAwMDAwMDAwMkZGRTdGRjdDMDAwMDAwMDAwMDAwMDk2Cis6MTBGNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEFECis6MTBGNzYwMDAwMDAwMDAzNkJGRkVERkMwMDAwMDAwMDAwRkY3REZGRjIzCis6MTBGNzcwMDBDMDAwMDAwMDAwM0RCN0I3RUZDMDAwMDAwMDAwMDAwMDZGCis6MTBGNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDdECis6MTBGNzkwMDAwMDAwMDAxRkRGREZGRkMwMDAwMDAwMDAwRkRGREZGRjAxCis6MTBGN0EwMDBDMDAwMDAwMDAwM0ZFRkZGRkZDMDAwMDAwMDAwMDAwMEFECis6MTBGN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDRECis6MTBGN0MwMDAwMDAwMDAzRkJGN0ZGRkMwMDAwMDAwMDAzRkZGN0ZGNzQ5Cis6MTBGN0QwMDBDMDAwMDAwMDAwM0ZERkZGRkZDMDAwMDAwMDAwMDAwMDhECis6MTBGN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMDFECis6MTBGN0YwMDAwMDAwMDAzRjdFRkZGRjQwMDAwMDAwMDAzRkZFRkZGRkQzCis6MTBGODAwMDBDMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDAwMDAwMDAwMDNDCis6MTBGODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGRkZGRkZGQzAwMEVDCis6MTBGODIwMDAwMDAwMDAzN0ZGNkZGRkMwMDAwMDAwMDAzRkZGRkZGRjM4Cis6MTBGODMwMDBDMDAwMDAwMDAwM0ZGRkZGRkZDMDAwMDAwMDAwMDAwMDBDCis6MTBGODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTBGODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTBGODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTBGODcwMDAwMDAwMDAwMDAwMDAwMDAwMzAwMDIwMDEwMjAwMDAwMDM1Cis6MTBGODgwMDAzMDAwNDMwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTBGODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTBGOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTBGOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTBGOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTBGOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTBGOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTBGOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMDAwMDAwMDAzMEU4Cis6MTBGOTAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTBGOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTBGOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTBGOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTBGOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTBGOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAwMEM3Cis6MTBGOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTBGOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTBGOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTBGOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTBGOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTBGOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDMwQzAzMDQ3Cis6MTBGOUMwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTBGOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTBGOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTBGOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTBGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTBGQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMDAwMDAwMDAwRkM4Cis6MTBGQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTBGQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTBGQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTBGQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTBGQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTBGQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMDAwMDAwMDAzRjQ4Cis6MTBGQTgwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTBGQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTBGQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTBGQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTBGQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTBGQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMzBDMDMwQzAwRjI4Cis6MTBGQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTBGQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTBGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTBGQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTBGQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTBGQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzZCMDBDMDAwQ0YyQzhDCis6MTBGQjQwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTBGQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTBGQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTBGQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTBGQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTBGQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwMDQ3Cis6MTBGQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTBGQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTBGQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTBGQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTBGQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTBGQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMEYwMDBGMDAzMEM3Cis6MTBGQzAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTBGQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTBGQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTBGQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTBGQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTBGQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDNGQzAwMEE2Cis6MTBGQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTBGQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTBGQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTBGQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTBGQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTBGQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwM0ZDMDNGQzAzMDI2Cis6MTBGQ0MwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTBGQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTBGQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTBGQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTBGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTBGRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDBGMDAwRkE3Cis6MTBGRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTBGRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTBGRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTBGRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTBGRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTBGRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMEYwMDBGMDAzRjI3Cis6MTBGRDgwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTBGRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTBGREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTBGREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTBGREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTBGREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwM0ZDMDNGQzAwRjA3Cis6MTBGREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTBGREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTBGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTBGRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTBGRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTBGRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDYzMzVEODBDMDAwRkRBQzQzCis6MTBGRTQwMDAwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTBGRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTBGRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTBGRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTBGRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTBGRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTBGRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTBGRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTBGRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTBGRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTBGRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTBGRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMDAwMDAwMDAzMEUyCis6MTBGRjAwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTBGRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTBGRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTBGRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTBGRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTBGRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzBDMDMwQzAwMEMxCis6MTBGRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTBGRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTBGRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTBGRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTBGRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTBGRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMzBDMDMwQzAzMDQxCis6MTBGRkMwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTBGRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTBGRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTBGRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTA4MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTA4MDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMDAwMDAwMDAwRjMyCis6MTA4MDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTA4MDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTA4MDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA4MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTA4MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMDAwMDAwMDAzRkIyCis6MTA4MDkwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA4MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTA4MEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTA4MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA4MEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTA4MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMzBDMDMwQzAwRjkyCis6MTA4MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTA4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTA4MTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTA4MTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTA4MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTA4MTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzc0QzBDMDAwRjBFQzRDCis6MTA4MTUwMDA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTA4MTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTA4MTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTA4MTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTA4MTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTA4MUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwMDBGMDAwMEIxCis6MTA4MUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTA4MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTA4MUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTA4MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTA4MUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTA4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMEMwMEYwMDBGMDAzMDMwCis6MTA4MjEwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTA4MjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTA4MjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTA4MjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTA4MjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTA4MjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0ZDMDNGQzAwMDEwCis6MTA4MjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTA4MjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTA4MjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTA4MkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTA4MkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTA4MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAxOTg2MTA4MDMwODIzRDkwCis6MTA4MkQwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTA4MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTA4MkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTA4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTA4MzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTA4MzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwMEYwMDBGMDAwRjExCis6MTA4MzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTA4MzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTA4MzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTA4MzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTA4MzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTA4MzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRkMwMEYwMDBGMDAzRjkxCis6MTA4MzkwMDBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTA4M0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTA4M0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTA4M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTA4M0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTA4M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAwM0ZDMDNGQzAwRjcxCis6MTA4M0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTA4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTA4NDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTA4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTA4NDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTA4NDQwMDAwMDAwMDAwMDAwMDAwMDAwMzc2NTI1RTQ4MDAwQjA4OENGCis6MTA4NDUwMDBBQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTA4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTA4NDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTA4NDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTA4NDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTA4NEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTA4NEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTA4NEMwMDAwMDAwMDAwMDMwMDAyMDAxMDIwMjAwMDAzMDAwNDMwMEU0Cis6MTA4NEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTA4NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTA4NEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTA4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTA4NTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTA4NTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTA4NTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTA4NTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTA4NTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTA4NTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTA4NTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTA4NTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTA4NTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTA4NUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTA4NUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTA4NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTA4NUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTA4NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTA4NUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTA4NjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTA4NjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTA4NjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTA4NjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTA4NjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTA4NjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTA4NjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTA4NjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTA4NjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTA4NkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTA4NkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTA4NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTA4NkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTA4NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTA4NkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTA4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTA4NzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTA4NzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTA4NzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTA4NzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTA4NzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTA4NzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTA4NzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTA4NzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTA4NzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTA4N0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTA4N0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTA4N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTA4N0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTA4N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTA4N0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTA4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTA4ODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTA4ODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTA4ODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTA4ODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTA4ODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTA4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTA4ODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTA4ODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTA4ODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTA4OEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTA4OEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTA4OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTA4OEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTA4OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTA4OEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTA4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTA4OTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTA4OTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTA4OTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTA4OTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTA4OTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTA4OTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTA4OTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTA4OTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTA4OTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTA4OUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTA4OUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTA4OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTA4OUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTA4OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTA4OUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTA4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTA4QTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTA4QTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTA4QTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTA4QTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTA4QTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTA4QTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTA4QTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTA4QTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTA4QTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTA4QUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTA4QUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTA4QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTA4QUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTA4QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTA4QUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTA4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTA4QjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTA4QjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTA4QjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTA4QjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTA4QjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTA4QjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTA4QjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTA4QjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTA4QjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTA4QkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTA4QkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTA4QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTA4QkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTA4QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTA4QkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTA4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTA4QzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTA4QzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTA4QzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTA4QzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTA4QzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTA4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTA4QzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTA4QzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTA4QzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTA4Q0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTA4Q0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTA4Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTA4Q0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTA4Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTA4Q0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTA4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTA4RDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTA4RDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTA4RDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTA4RDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTA4RDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTA4RDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTA4RDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTA4RDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTA4RDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTA4REEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTA4REIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTA4REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTA4REQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTA4REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTA4REYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTA4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTA4RTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTA4RTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTA4RTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTA4RTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTA4RTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTA4RTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTA4RTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTA4RTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTA4RTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTA4RUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTA4RUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTA4RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTA4RUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTA4RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTA4RUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTA4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTA4RjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTA4RjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTA4RjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTA4RjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTA4RjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTA4RjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTA4RjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTA4RjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTA4RjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTA4RkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTA4RkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTA4RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTA4RkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTA4RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTA4RkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTA5MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTA5MDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTA5MDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTA5MDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTA5MDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTA5MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTA5MDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTA5MDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTA5MDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTA5MEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTA5MEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTA5MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTA5MEQwMDAzMDAwMDAwMTAwMDA0NDcyMzAwMDgwMDEwMDAwMDAwM0Y1Cis6MTA5MEUwMDAzMDAwNDAwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTA5MEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTA5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTA5MTEwMDAwMDAwMDAwMDMwMDA4MDAxMDAwMDAwMDUzMDAwQTAwMUM4Cis6MTA5MTIwMDAwMDAwMDAwMDMwMDAwMDAxMDAwMEUxNUEwMDAwMDAwMEQzCis6MEM5MTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMworOjAwMDAwMDAxRkYKKy8vIFZFUlNJT049IDEuMC4wLjE5MQorLy8gREFURT0gMjAwMm9jdDI4CmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWk2Mi9sb2FkZXIuSEVYIGIvZmlybXdhcmUvZW1pNjIvbG9hZGVyLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWRiMmRjCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pNjIvbG9hZGVyLkhFWApAQCAtMCwwICsxLDEwNyBAQAorOjAzMDAwMDAwMDIwMjg3NzIKKzowMzAwNDMwMDAyMDQwMEI0Cis6MTAwMTAwMDBFNEZGRkVDMjIwRDJFODQzRDgyMDkwN0ZBQjc0RkZGMDFBCis6MTAwMTEwMDA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3Rjk1NzRDMEUzCis6MTAwMTIwMDBGMDkwN0Y5RUYwOTA3Rjk4RjBFNDkwN0Y5NEYwOTA3RjI1Cis6MTAwMTMwMDA5RDc0RkZGMDkwN0Y5Nzc0QTBGMDkwN0Y5M0UwNTRGQzQzCis6MTAwMTQwMDBGMDkwN0Y5Qzc0MDNGMEU0OTA3Rjk2RjA5MDdGQUZFMDk2Cis6MTAwMTUwMDA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUYwRkJGMDAwMTNDCis6MTAwMTYwMDAwRUJFMDdGOEJGMDhGNTIwMjA0Mjc1MTQwMDc1MTMwMDc1Cis6MTAwMTcwMDA3NTEyMDA3NTExMDA3RjQ4N0U5MjdEMDA3QzAwQUIxNEUzCis6MTAwMTgwMDBBQTEzQTkxMkE4MTFDMzEyMDNFRDUwREIyMDIwRDg3QUJDCis6MTAwMTkwMDAwMDc5MDA3ODAwRTUxNDI0MDFGNTE0RUEzNTEzRjUxMzBECis6MTAwMUEwMDBFOTM1MTJGNTEyRTgzNTExRjUxMTgwQ0EzMDIwRkQxMjNCCis6MTAwMUIwMDAwMUM3NTAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDYxCis6MDYwMUMwMDAwMkYwQzIyMDgwRTZGRgorOjAxMDFDNjAwMjIxNgorOjEwMDFDNzAwOTA3RkU5RTAyNDVCNjA2MDI0MDI2MDAzMDIwMjg1OTA2RgorOjEwMDFENzAwN0ZFQUUwNzUwQTAwRjUwQkEzRTBGRUU0RUU0MjBBOTAyMQorOjEwMDFFNzAwN0ZFRUUwNzUxNTAwRjUxNkEzRTBGRUU0RUU0MjE1RTU5NworOjEwMDFGNzAwMTY0NTE1NzAwMzAyMDI4NUU0OTA3RkM1RjA5MDdGQjQyMQorOjEwMDIwNzAwRTAyMEUzRjk5MDdGQzVFMEY1MEMxMjAzMTNBRjBDN0VGNQorOjEwMDIxNzAwMDBFRjI1MEJGNTBCRUUzNTBBRjUwQUMzRTUxNjlGRjUzQQorOjEwMDIyNzAwMTZFNTE1OUVGNTE1ODBDNzkwN0ZFQUUwNzUwQTAwRjU3QgorOjEwMDIzNzAwMEJBM0UwRkVFNEVFNDIwQTkwN0ZFRUUwNzUxNTAwRjVCMQorOjEwMDI0NzAwMTZBM0UwRkVFNEVFNDIxNUU1MTY0NTE1NjAzMEU0OTA4RQorOjEwMDI1NzAwN0ZDNUYwOTA3RkI0RTAyMEUzRjk5MDdGQzVFMEY1MEMwRgorOjEwMDI2NzAwMTIwMzJCQUYwQzdFMDBFRjI1MEJGNTBCRUUzNTBBRjVDRAorOjBGMDI3NzAwMEFDM0U1MTY5RkY1MTZFNTE1OUVGNTE1ODBDQUMzNTcKKzowMTAyODYwMDIyNTUKKzowQzAyODcwMDc4N0ZFNEY2RDhGRDc1ODEyOTAyMDJDRUQ0Cis6MTAwMjkzMDAwMjAxMDBFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjgwCis6MTAwMkEzMDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzZDCis6MTAwMkIzMDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjNCCis6MTAwMkMzMDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwNDZFRTQ3RTU5Cis6MTAwMkQzMDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzMwCis6MTAwMkUzMDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0Y3Cis6MTAwMkYzMDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTIyCis6MTAwMzAzMDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUQ5Cis6MTAwMzEzMDBFNTBDRkZFNTBCRjU4MkU1MEFGNTgzNzU5MjdFNzRDMDYzCis6MDgwMzIzMDBGOEUyMDhGMEEzREZGQTIyNjIKKzoxMDAzMkIwMDkwN0Y5Njg1ODM5MkE4ODI3OTAyOTAwMDAwRTBCNDAwQkEKKzoxMDAzM0IwMDBENzQwMUYwOTA3Rjk3RTA1NDdGRjA0NDgwRjBFNTBDNTIKKzoxMDAzNEIwMEZGOTA3RUMwRTBGNTI4RTRBMjQ3MzNGMjY5RjJFNEEyMDUKKzoxMDAzNUIwMDQ2MzNGMjY5RjJFNEEyNDUzM0YyNjlGMkU0QTI0NDMzODQKKzoxMDAzNkIwMEYyNjlGMkU0QTI0MzMzRjI2OUYyRTRBMjQyMzNGMjY5OTYKKzoxMDAzN0IwMEYyRTRBMjQxMzNGMjY5RjJFNEEyNDAzM0YyNjlGMkEzNTAKKzowMzAzOEIwMERGQzIyMkFDCis6MTAwMzhFMDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RkIxCis6MEIwMzlFMDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyQkEKKzoxMDAzQTkwMEMwRTBDMDgzQzA4MkQyMjA1MzkxRUY5MDdGQUI3NDAxMkIKKzowODAzQjkwMEYwRDA4MkQwODNEMEUwMzJDNQorOjEwMDNDMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwMkYwRDA0NAorOjA2MDNEMTAwODJEMDgzRDBFMDMyNkYKKzoxMDAzRDcwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMEQwMjAKKzowNjAzRTcwMDgyRDA4M0QwRTAzMjU5Cis6MTAwM0VEMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDY2Cis6MDEwM0ZEMDAyMkRECis6MDEwM0ZFMDAzMkNDCis6MDEwM0ZGMDAzMkNCCis6MTAwNDAwMDAwMjAzQTkwMDAyMDNDMTAwMDIwMzhFMDAwMjA0NTgwMDg3Cis6MTAwNDEwMDAwMjAzRDcwMDAyMDNGRTAwMDIwM0ZGMDAwMjA0ODQwMDZGCis6MTAwNDIwMDAwMjA0ODUwMDAyMDQ4NjAwMDIwNDg3MDAwMjA0ODgwMDlBCis6MTAwNDMwMDAwMjA0ODkwMDAyMDQ4QTAwMDIwNDhCMDAwMjA0OEMwMDdBCis6MTAwNDQwMDAwMjA0OEQwMDAyMDQ4RTAwMDIwNDhGMDAwMjA0OTAwMDVBCis6MDgwNDUwMDAwMjA0OTEwMDAyMDQ5MjAwNzUKKzoxMDA0NTgwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MDhGMEQwQTYKKzowNjA0NjgwMDgyRDA4M0QwRTAzMkQ3Cis6MTAwNDZFMDAwMjBBMDAwRjAxMEMxMTA0MEQwMDAwMDAwMDQxMDAwMEYzCis6MDEwNDdFMDAwMDdECis6MDQwNDdGMDAwMjE3MDAwMDYwCis6MDEwNDgzMDAwMDc4Cis6MDEwNDg0MDAzMjQ1Cis6MDEwNDg1MDAzMjQ0Cis6MDEwNDg2MDAzMjQzCis6MDEwNDg3MDAzMjQyCis6MDEwNDg4MDAzMjQxCis6MDEwNDg5MDAzMjQwCis6MDEwNDhBMDAzMjNGCis6MDEwNDhCMDAzMjNFCis6MDEwNDhDMDAzMjNECis6MDEwNDhEMDAzMjNDCis6MDEwNDhFMDAzMjNCCis6MDEwNDhGMDAzMjNBCis6MDEwNDkwMDAzMjM5Cis6MDEwNDkxMDAzMjM4Cis6MDEwNDkyMDAzMjM3Cis6MTAxMTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODAxMDEwMDAxMDEwMjAzCis6MTAxMTEwMDAwMDAxMDkwMjIwMDAwMTAxMDNBMDAwMDkwNDAwMDAwMkVGCis6MTAxMTIwMDBGRjAwMDAwNDA3MDU4MjAyNDAwMDAwMDcwNTAyMDI0MDlDCis6MTAxMTMwMDAwMDAwMDQwMzA5MDQyNjAzNDEwMDZFMDA2MzAwNjgwMEY4Cis6MTAxMTQwMDA2RjAwNzIwMDIwMDA0MzAwNjgwMDY5MDA3MDAwNzMwMEE3Cis6MTAxMTUwMDAyQzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyODAzNDYwMDhBCis6MTAxMTYwMDA2OTAwNzIwMDZEMDA3NzAwNjEwMDcyMDA2NTAwMjAwMDY4Cis6MTAxMTcwMDA0NjAwNzIwMDYxMDA2RDAwNjUwMDU3MDA2RjAwNzIwMDRDCis6MTAxMTgwMDA2QjAwNzMwMDJBMDM0MzAwNkYwMDZFMDA2NjAwNjkwMDY1Cis6MTAxMTkwMDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDA2RjAwNkUwMEU2Cis6MTAxMUEwMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjIwMzgzCis6MTAxMUIwMDA0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA2MTAwNjMwMDAzCis6MTAxMUMwMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RTAwNjcwMDIzCis6MDIxMUQwMDAwMDAwMUQKKzowMDAwMDAwMUZGCisvKgorU291cmNlOiBFTUlMT0FELkhFWAorVkVSU0lPTj0xLjAuMi4wMDIKK0RBVEU9MTAuMDEuMjAwMgorRU1JMjZfNjIKKyovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lbWk2Mi9taWRpLkhFWCBiL2Zpcm13YXJlL2VtaTYyL21pZGkuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYTBkNjUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9lbWk2Mi9taWRpLkhFWApAQCAtMCwwICsxLDEyNjYgQEAKKzowMzAwMDAwMDAyNDZCOUZDCis6MDMwMDAzMDAwMjBGRkRFQworOjAzMDAwQjAwMDI0RTBGOTMKKzowMzAwMTMwMDAyMTdGREQ0Cis6MDMwMDFCMDAwMjRFMTI4MAorOjAzMDAyMzAwMDI0REVGOUMKKzowMzAwMkIwMDAyNDgwMDg4Cis6MDMwMDMzMDAwMjRERTY5NQorOjAzMDAzQjAwMDI0REY2N0QKKzowMzAwNDMwMDAyNDkwMDZGCis6MDMwMDRCMDAwMjRFMDM1RgorOjAzMDA1MzAwMDI0OEZBNjYKKzowMzAwNUIwMDAyNERGRDU2Cis6MDMwMDYzMDAwMjRFMDc0MworOjEwMDUwMDAwMTIwMTEwMDEwMDAwMDA0MDZBMDgxMTAxMDAwMTAxMDJGRgorOjEwMDUxMDAwMDAwMTA5MDIwODAyMDUwMTAwODAzMjA5MDQwMDAwMDAwMAorOjEwMDUyMDAwMDEwMTAwMDAwQTI0MDEwMDAxNTYwMDAyMDEwMjBDMjQwRQorOjEwMDUzMDAwMDIwMTAxMDEwMDAyMDAwMDAwMDAwRDI0MDYwNTAxMDI3NQorOjEwMDU0MDAwMDMwMDAwMDAwMDAwMDAwOTI0MDMwMjA0MDMwMDA1MDA2QQorOjEwMDU1MDAwMEMyNDAyMDMwNTAyMDAwNjAwMDAwMDAwMTUyNDA2MDYxNAorOjEwMDU2MDAwMDMwMjAwMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDA3NAorOjEwMDU3MDAwMDAwOTI0MDMwNDAxMDEwMDA2MDAwOTA0MDEwMDAwMDEzMAorOjEwMDU4MDAwMDIwMDAwMDkwNDAxMDEwMjAxMDIwMDAwMDcyNDAxMDEyOAorOjEwMDU5MDAwMDAwMTAwMTEyNDAyMDEwMjAyMTAwMzQ0QUMwMDgwQkJFMAorOjEwMDVBMDAwMDAwMDc3MDEwOTA1MEEwNTg0MDEwMTAwOEYwNzI1MDE3NAorOjEwMDVCMDAwMDEwMDAwMDAwOTA1OEYwMTAzMDAwMTA1MDAwOTA0MDE4NQorOjEwMDVDMDAwMDIwMjAxMDIwMDAwMDcyNDAxMDEwMDAxMDAxMTI0MDJCRgorOjEwMDVEMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU0OQorOjEwMDVFMDAwMEEwNTQ2MDIwMTAwOEYwNzI1MDEwMTAwMDAwMDA5MDVFOAorOjEwMDVGMDAwOEYwMTAzMDAwMTA1MDAwOTA0MDIwMDAwMDEwMjAwMDA1MAorOjEwMDYwMDAwMDkwNDAyMDEwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDBBNQorOjEwMDYxMDAwMEUyNDAyMDEwNjAyMTAwMjQ0QUMwMDgwQkIwMDA5MDU1MgorOjEwMDYyMDAwOEMwNTRDMDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDRBRQorOjEwMDYzMDAwMDIwMjAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDBFMjQ0RgorOjEwMDY0MDAwMDIwMTA2MDMxODAyNDRBQzAwODBCQjAwMDkwNThDMDVCQQorOjEwMDY1MDAwNzIwMzAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNDAyMDNFMworOjEwMDY2MDAwMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMTEyNDAyMDExRAorOjEwMDY3MDAwMDIwMjEwMDM0NEFDMDA4MEJCMDAwMDc3MDEwOTA1OEMyNgorOjEwMDY4MDAwMDU4NDAxMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDJBMQorOjEwMDY5MDAwMDQwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDJFQQorOjEwMDZBMDAwMDEwMjAzMTgwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU3OAorOjEwMDZCMDAwOEMwNTQ2MDIwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQyNAorOjEwMDZDMDAwMDMwMDAwMDEwMTAwMDAwOTI0MDEwMDAxMDkwMDAxMDRFOAorOjEwMDZEMDAwMDkwNDA0MDAwMjAxMDMwMDAwMDcyNDAxMDAwMTI0MDBCMgorOjEwMDZFMDAwMDYyNDAyMDEwNzAwMDkyNDAzMDIwODAxMDcwMTAwMDY4RAorOjEwMDZGMDAwMjQwMjAyMDkwMDA5MjQwMzAxMEEwMTA5MDEwMDA5MDU3NQorOjEwMDcwMDAwMDEwMjA0MDAwMDAwMDAwNTI1MDEwMTA3MDkwNTgxMDIxRQorOjEwMDcxMDAwMDQwMDAwMDAwMDA1MjUwMTAxMEEwNDAzMDkwNDE4MDM3MAorOjEwMDcyMDAwNDUwMDZEMDA2MTAwNjcwMDY5MDA2MzAwMjAwMDQ3MDAxQworOjEwMDczMDAwNkQwMDYyMDA0ODAwMjIwMzQ1MDA2RDAwNjEwMDY3MDAwMworOjEwMDc0MDAwNjkwMDYzMDAyMDAwNDUwMDREMDA0OTAwMjAwMDM2MDA4QworOjEwMDc1MDAwN0MwMDMyMDAyMDAwNkQwMDJBMDM0MzAwNkYwMDZFMDAxMQorOjEwMDc2MDAwNjYwMDY5MDA2NzAwNzUwMDcyMDA2MTAwNzQwMDY5MDAyRQorOjEwMDc3MDAwNkYwMDZFMDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2QworOjEwMDc4MDAwNjcwMDIyMDM0OTAwNkUwMDc0MDA2NTAwNzIwMDY2MDA3NQorOjEwMDc5MDAwNjEwMDYzMDA2NTAwMjAwMDUzMDA3NDAwNzIwMDY5MDA2RQorOjA2MDdBMDAwNkUwMDY3MDAwMDAwN0UKKzoxMDA3QTYwMEU0OTA3NjY2RjAxMjQ0QUQyMDI2MTM5MDc2NjZFMEMzOTgKKzoxMDA3QjYwMDk0MDI1MDBBRTAwNEYwRDI0MjEyNEI3RjgwRUEzMDI2QkYKKzoxMDA3QzYwMDA1MTIyODAxQzIyNjMwMjUyQjkwNzY5NkUwNTRGQ0YwQkYKKzoxMDA3RDYwMDkwODAwM0YwMTIxNDk2OTA3Njk2RTA0NDAzRjA5MDgwOTEKKzoxMDA3RTYwMDAzRjBFNDkwNzY2N0YwOTA3NjY3RTAwNEYwRTBCNDRCQUYKKzowQTA3RjYwMEY2MTI0N0ZBMTI0MTFCODBDNTIyREIKKzoxMDA4MDAwMEU0OTA3NjMxRjA5MDc2MzFFMEZGNzVGMDAzQTQyNDBGODgKKzoxMDA4MTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENEEKKzoxMDA4MjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MzFFMDA0RjA4MEQ1NTEKKzoxMDA4MzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQjEKKzoxMDA4NDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MzNGMDI0MjkKKzoxMDA4NTAwMEYwNjAwQTI0MEU2MDAyODE4NzEyNEJDNzIyOTA3RkVENjAKKzoxMDA4NjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzc3NDAxNDUKKzoxMDA4NzAwMEYwOTA3NjM5NzQwM0YwOTA3NjIxRjBFNDkwNzYyMEYwRDEKKzoxMDA4ODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjIwRTBGRjc1RjAwQUE0RjQKKzoxMDA4OTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENUEKKzoxMDA4QTAwMEVFNkQ2MDEyOTA3NjIxRTBGRUVGQzM5RTUwMDg5MDc2QzgKKzoxMDA4QjAwMDIwRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTUKKzoxMDA4QzAwMDE4NzQwNkYwOTA3NjM3NzQwNEYwOTA3NjM5NzQwQUYwNTQKKzoxMDA4RDAwMDkwNzYyMUYwOTA3NjIwNzQwM0YwOTA3RkVBRTBGNDYwNDcKKzoxMDA4RTAwMDJGOTA3NjIwRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjQKKzoxMDA4RjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2ODQKKzoxMDA5MDAwMDIxRTBGRUVGQzM5RTUwMDg5MDc2MjBFMDA0RjA4MEQxRjUKKzoxMDA5MTAwMDkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RUQKKzoxMDA5MjAwMEY1ODNFMDkwNzIyOUYwRTQ5MDc2M0JGMDkwNzYyMUUwMzgKKzoxMDA5MzAwMEZFRUY2RTcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRjAKKzoxMDA5NDAwMEUwMTQ2MDEzMTQ3MDAyMjFFMjI0MDI2MDAyODE3RjkwOUYKKzoxMDA5NTAwMDdGQjRFMDQ0MDFGMDIyOTA3RkU5RTAxNDcwN0M5MDdGNDYKKzoxMDA5NjAwMEVBRTBGNDcwNDg5MDc2MzdFMDkwNzYyMEYwOTA3NjM5OUYKKzoxMDA5NzAwMEUwRkU5MDc2MjBFMEZEQzM5RTUwMkI5MDc2M0JFMEZFOUIKKzoxMDA5ODAwMDA0RjA3NEMwMkVGNTgyRTQzNDdFRjU4M0UwRkVFRDc1NEMKKzoxMDA5OTAwMEYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0VFRjA5MDc2OEEKKzoxMDA5QTAwMDIwRTAwNEYwODBDNzkwNzYzRjc0MDFGMDIyOTA3RUMwNzIKKzoxMDA5QjAwMEUwRkVFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzMEMKKzoxMDA5QzAwMEVFRjBFMEI0MDEwODkwNzYzRTc0MDFGMDgwMDVFNDkwMEEKKzoxMDA5RDAwMDc2M0VGMDkwNzYzRjc0MDFGMDIyOTA3RkI0RTA0NDAxQkYKKzoxMDA5RTAwMEYwMjI5MDdGRTlFMDI0RkU3MDAyNDFBMzE0NzAwMjYxQkUKKzoxMDA5RjAwMDNGMTQ3MDAyNjFEQjI0MDM2MDAyODE3NzkwN0ZFQUUwOUMKKzoxMDBBMDAwMEY0NzA2QjkwNzYzN0UwOTA3NjIwRjA5MDc2MzlFMEZGQzYKKzoxMDBBMTAwMDkwNzYyMEUwRkVDMzlGNTA0RTkwNzYzQkUwRkYwNEYwQkUKKzoxMDBBMjAwMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMDBBQTIKKzoxMDBBMzAwMEE0MjRBQ0Y1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkUwQzYKKzoxMDBBNDAwMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFRkUKKzoxMDBBNTAwMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwQzcKKzoxMDBBNjAwMDc2MjBFMDA0RjA4MEE0OTA3NjQwNzQwMUYwMjI5MDdFMUQKKzoxMDBBNzAwMEMwRTBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QUNGNTgyNzkKKzoxMDBBODAwMEU0MzQ3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBNzcKKzoxMDBBOTAwMEE0MjRBREY1ODJFNDM0NzVGNTgzRUZGMDkwNzY0MTc0Q0IKKzoxMDBBQTAwMDAxRjAyMjkwN0ZFQUUwRjQ3MDY2OTA3NjM3RTA5MDc2NkQKKzoxMDBBQjAwMDIwRjA5MDc2MzlFMEZGOTA3NjIwRTBGRUMzOUY0MDAyNjAKKzoxMDBBQzAwMDgxOEU5MDc2M0JFMEZGMDRGMDc0QzAyRkY1ODJFNDM0MTEKKzoxMDBBRDAwMDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRUY1ODJFNDM0REYKKzoxMDBBRTAwMDc1RjU4M0VGRjA5MDc2M0JFMEZGMDRGMDc0QzAyRkY1Q0UKKzoxMDBBRjAwMDgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUE0MjRBRkY1QkUKKzoxMDBCMDAwMDgyRTQzNDc1RjU4M0VGRjA5MDc2MjBFMDA0RjA4MEEyNjMKKzoxMDBCMTAwMDkwN0VDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFFM0YKKzoxMDBCMjAwMEY1ODJFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1NTkKKzoxMDBCMzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwMzcKKzoxMDBCNDAwMDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjIwRjA5MDc2NTkKKzoxMDBCNTAwMDM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjgxOEU5MDc2QzAKKzoxMDBCNjAwMDNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwQUYKKzoxMDBCNzAwMEZGRUU3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0VGMzYKKzoxMDBCODAwMEYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjEKKzoxMDBCOTAwMEY1ODNFMEZGRUU3NUYwMEFBNDI0QjFGNTgyRTQzNDc1MjQKKzoxMDBCQTAwMEY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjkwN0VDMEUwMjQKKzoxMDBCQjAwMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRCMEY1ODJFNDM0QkMKKzoxMDBCQzAwMDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NUYwMEFBNDI0ODYKKzoxMDBCRDAwMEIxRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRUFFMEY0MUEKKzoxMDBCRTAwMDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRjkwNEUKKzoxMDBCRjAwMDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NjNCRTBGRjA0QUEKKzoxMDBDMDAwMEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwREEKKzoxMDBDMTAwMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRkYwOTA3NjNCQjQKKzoxMDBDMjAwMEUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEZGMkEKKzoxMDBDMzAwMEVFNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1ODNFRkYwODEKKzoxMDBDNDAwMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMEZGOTA3NjIwQjUKKzoxMDBDNTAwMEUwRkU3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0VGNjIKKzoxMDBDNjAwMEYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNEIzRjU4MkU0QjMKKzoxMDBDNzAwMDM0NzVGNTgzRUZGMDIyOTA3RkI0RTA0NDAxRjAyMjkwQzgKKzowRjBDODAwMDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjAxCis6MTAwQzhGMDA0MTc2NjgwMTQxNzY2QTAyNDE3NjZCMEFDMTIwQzEyMTIzCis6MDIwQzlGMDBDMTJGNjMKKzowNDBDQTEwMDQxNzYyMzAwNzUKKzoxMDBDQTUwMDQxNzIwMTAxNDU3MjA1MDAwMkM5MDAwMDQ1NzIwQTAwNDIKKzoxMDBDQjUwMDAxMDIwMzA0NEQ3MjBGRDEwMEQxMDAwMDAwMDAwMDAwQjUKKzoxMDBDQzUwMDI4MjgwOTAwNEQ3MjFDMDEwMDAxMDIwMzA0MDUwNjA3Q0UKKzoxMDBDRDUwMDA4MDkwQTBCNDE3MjJFMjI0MTcyMkYyMzQxNzIzMDIwREUKKzoxMDBDRTUwMDQxNzIzMTIxNjJEMjcyM0EwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDBDRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDBEMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDBEMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDBEMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDBEMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDBENDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDBENTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDBENjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDBENzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAxMDEwMTAxNjgKKzoxMDBEODUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxNEUKKzoxMDBEOTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxM0UKKzoxMDBEQTUwMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMkUKKzoxMDBEQjUwMDAxMDEwMTAxMDEwMTAxMDEwMjAyMDIwMjAyMDIwMjAyMTYKKzoxMDBEQzUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRkUKKzoxMDBERDUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyRUUKKzoxMDBERTUwMDAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyREUKKzoxMDBERjUwMDAyMDIwMjAyMDIwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQzMKKzoxMDBFMDUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzQUQKKzoxMDBFMTUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOUQKKzoxMDBFMjUwMDAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzOEQKKzoxMDBFMzUwMDAzMDMwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NkYKKzoxMDBFNDUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NUQKKzoxMDBFNTUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0NEQKKzoxMDBFNjUwMDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0M0QKKzoxMDBFNzUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MUQKKzoxMDBFODUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MEQKKzoxMDBFOTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1RkQKKzoxMDBFQTUwMDA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNjA2RUIKKzoxMDBFQjUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2Q0QKKzoxMDBFQzUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QkQKKzoxMDBFRDUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2QUQKKzoxMDBFRTUwMDA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNzA3MDcwODA4OTYKKzoxMDBFRjUwMDA4MDkwOTA5MEEwQTBBMEIwQjBCMEMwQzBDMEQwRDBENDAKKzoxMDBGMDUwMDBFMEUwRTBGMEYwRjEwMTAxMDExMTExMTEyMTIxMjEzRDkKKzoxMDBGMTUwMDEzMTMxNDE0MTQxNTE1MTUxNjE2MTYxNzE3MTcxODE4NzQKKzoxMDBGMjUwMDE4MTkxOTE5MTkxQTFBMUExQTFCMUIxQjFCMUMxQzFDMTgKKzoxMDBGMzUwMDFDMUQxRDFEMUQxRTFFMUUxRTFGMUYxRjFGMjAyMDIwQzgKKzoxMDBGNDUwMDIxMjEyMTIyMjIyMjIzMjMyNDI0MjUyNTI2MjYyNzI3NjEKKzoxMDBGNTUwMDI4MjgyOTI5MkEyQTJCMkIyQzJDMkQyRDJFMkUyRjJGRDQKKzoxMDBGNjUwMDMwMzAzMTMxMzIzMjMzMzMzNDM0MzUzNTM2MzYzNzM3NDQKKzoxMDBGNzUwMDM4MzgzOTM5M0EzQTNCM0MzRDNFM0Y0MDQxNDI0MzQ0OUIKKzoxMDBGODUwMDQ1NDY0NzQ4NDk0OTRBNEI0QjRDNEQ0RTRGNTA1MTUyQTcKKzoxMDBGOTUwMDUzNTQ1NTU1NTY1NjU3NTc1ODVBNUI1RDVFNUY2MTYyQjcKKzoxMDBGQTUwMDYzNjQ2NTY2Njc2ODY5NkE2QjZDNkQ2RjcxNzI3Mzc0OEIKKzoxMDBGQjUwMDc1NzY3Nzc4Nzk3QTdCN0M3RTgwMDEzNzAxMDEzODAwRjgKKzowMTBGQzUwMDAwMkIKKzoxMDBGQzYwMEU0RkY3NDQ2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDIwNjAKKzoxMDBGRDYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ0RTJGRjU4MkU0MkIKKzoxMDBGRTYwMDM0NzZGNTgzRTBGRTc0MzAyRkY1ODJFNDM0ODBGNTgzQTEKKzowNjBGRjYwMEVFRjAwRkJGMDhDQzc1Cis6MDEwRkZDMDAyMkQyCis6MDMwRkZEMDBDMjg5MzI3NAorOjEwMTAwMDAwRTQ5MDc2MkNGMDkwNzYyQ0UwRkY3NUYwMDNBNDI0MEY4QQorOjEwMTAxMDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVERTBGREVFNkQ0MgorOjEwMTAyMDAwNjAwRUVGQzM5NDBCNTAwODkwNzYyQ0UwMDRGMDgwRDU0RQorOjEwMTAzMDAwRUZCNDBCMDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDNBOQorOjEwMTA0MDAwQTQyNDBFRjU4MkU0MzQ3NUY1ODNFMDkwNzYyRUYwMjQyNgorOjEwMTA1MDAwRjA2MDBBMjQwRjYwMDI4MTdEMTI0QkE0MjI5MDdGRUQ4NAorOjEwMTA2MDAwRTA2NDA1NzA1MTkwNzYxODc0MDVGMDkwNzYzODc0MDEzQworOjEwMTA3MDAwRjA5MDc2M0E3NDAzRjA5MDc2MUNGMEU0OTA3NjFCRjBEMgorOjEwMTA4MDAwOTA3RkVBRTBGNDYwMkY5MDc2MUJFMEZGNzVGMDBBQTRGMQorOjEwMTA5MDAwMjRBQUY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQUUwRkQ1MgorOjEwMTBBMDAwRUU2RDYwMTI5MDc2MUNFMEZFRUZDMzlFNTAwODkwNzZDNQorOjEwMTBCMDAwMUJFMDA0RjA4MEQxOTA3RkVERTA2NDA2NzA1MjkwNzZFMgorOjEwMTBDMDAwMTg3NDA2RjA5MDc2Mzg3NDA0RjA5MDc2M0E3NDBBRjA0QQorOjEwMTBEMDAwOTA3NjFDRjA5MDc2MUI3NDAzRjA5MDdGRUFFMEY0NjA0OQorOjEwMTBFMDAwMkY5MDc2MUJFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ2MQorOjEwMTBGMDAwNzVGNTgzRTBGRTkwN0ZFQUUwRkRFRTZENjAxMjkwNzY3QworOjEwMTEwMDAwMUNFMEZFRUZDMzlFNTAwODkwNzYxQkUwMDRGMDgwRDFGNworOjEwMTExMDAwRTQ5MDc2MUVGMDkwNzYxQ0UwRkY5MDc2MUJFMEZFNkY2OAorOjEwMTEyMDAwNzAwODkwN0ZCNEUwNDQwMUYwMjI5MDdGRUJFMDE0NjBGRgorOjEwMTEzMDAwMTMxNDcwMDIyMUJGMjQwMjYwMDI4MTc1OTA3RkI0RTAxNQorOjEwMTE0MDAwNDQwMUYwMjI5MDdGRTlFMDI0N0Y3MDZCOTA3RkVBRTAxOQorOjEwMTE1MDAwRjQ3MDRBOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MworOjEwMTE2MDAwOTA3NjFCRTBGREMzOUY1MDJCRUQ3NUYwMEFBNDI0QUJENQorOjEwMTE3MDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRDA0RjAxRgorOjEwMTE4MDAwNzQwMDJERjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTA1OAorOjEwMTE5MDAwMDRGMDgwQzc5MDc2MUVFMDkwN0ZCNUYwMjJFRTc1RjBFNworOjEwMTFBMDAwMEFBNDI0QUJGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA2NworOjEwMTFCMDAwOTA3RkI1NzQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA1QQorOjEwMTFDMDAwN0ZFOUUwMjQ3RTcwMDI0MTdFMTQ3MDAyNjEyMzE0NzA3NgorOjEwMTFEMDAwMDI2MUM4MjQwMzYwMDI4MTZEOTA3RkVBRTBGNDcwNkRDMworOjEwMTFFMDAwOTA3NjM4RTA5MDc2MUJGMDkwNzYzQUUwRkY5MDc2MUI5MAorOjEwMTFGMDAwRTBDMzlGNTA0RkUwRkY3NUYwMEFBNDI0QUNGNTgyRTRGMQorOjEwMTIwMDAwMzQ3NUY1ODNFMEZFOTA3NjFFRTBGRDA0RjA3NDAwMkQ0OQorOjEwMTIxMDAwRjU4MkU0MzQ3RkY1ODNFRUYwRUY3NUYwMEFBNDI0QUQ5NworOjEwMTIyMDAwRjU4MkU0MzQ3NUY1ODNFMEZGOTA3NjFFRTBGRTA0RjA2RAorOjEwMTIzMDAwNzQwMDJFRjU4MkU0MzQ3RkY1ODNFRkYwOTA3NjFCRTBBNgorOjEwMTI0MDAwMDRGMDgwQTQ5MDc2MUVFMDkwN0ZCNUYwMjI5MDc2MUI4QgorOjEwMTI1MDAwRTBGRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzRTA3MAorOjEwMTI2MDAwOTA3RjAwRjBFRjc1RjAwQUE0MjRBREY1ODJFNDM0NzVBOAorOjEwMTI3MDAwRjU4M0UwOTA3RjAxRjA5MDdGQjU3NDAyRjAyMjkwN0ZCQgorOjEwMTI4MDAwRUFFMEY0NzA2RDkwNzYzOEUwOTA3NjFCRjA5MDc2M0E1NAorOjEwMTI5MDAwRTBGRjkwNzYxQkUwQzM5RjUwNEZFMEZGNzVGMDBBQTQ3QgorOjEwMTJBMDAwMjRBRUY1ODJFNDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQxMQorOjEwMTJCMDAwMDRGMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVEMQorOjEwMTJDMDAwRjAwQUE0MjRBRkY1ODJFNDM0NzVGNTgzRTBGRjkwNzY0QworOjEwMTJEMDAwMUVFMEZFMDRGMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUYwNworOjEwMTJFMDAwRjA5MDc2MUJFMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjUyRAorOjEwMTJGMDAwRjAyMjkwNzYxQkUwRkY3NUYwMEFBNDI0QUVGNTgyRTQ5QworOjEwMTMwMDAwMzQ3NUY1ODNFMDkwN0YwMEYwRUY3NUYwMEFBNDI0QUYwOAorOjEwMTMxMDAwRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMUYwOTA3RkI1NzQzOQorOjEwMTMyMDAwMDJGMDIyOTA3RkVBRTBGNDcwNkQ5MDc2MzhFMDkwNzZEQgorOjEwMTMzMDAwMUJGMDkwNzYzQUUwRkY5MDc2MUJFMEMzOUY1MDRGRTBBMQorOjEwMTM0MDAwRkY3NUYwMEFBNDI0QjBGNTgyRTQzNDc1RjU4M0UwRkU1RAorOjEwMTM1MDAwOTA3NjFFRTBGRDA0RjA3NDAwMkRGNTgyRTQzNDdGRjVGNAorOjEwMTM2MDAwODNFRUYwRUY3NUYwMEFBNDI0QjFGNTgyRTQzNDc1RjU0QworOjEwMTM3MDAwODNFMEZGOTA3NjFFRTBGRTA0RjA3NDAwMkVGNTgyRTQxOAorOjEwMTM4MDAwMzQ3RkY1ODNFRkYwOTA3NjFCRTAwNEYwODBBNDkwNzYzNAorOjEwMTM5MDAwMUVFMDkwN0ZCNUYwMjI5MDc2MUJFMEZGNzVGMDBBQTQ2NgorOjEwMTNBMDAwMjRCMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVBQQorOjEwMTNCMDAwRjAwQUE0MjRCMUY1ODJFNDM0NzVGNTgzRTA5MDdGMDE0RQorOjEwMTNDMDAwRjA5MDdGQjU3NDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTBBNworOjEwMTNEMDAwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCRTA0RQorOjEwMTNFMDAwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzRBNQorOjEwMTNGMDAwNzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJERjU5NworOjEwMTQwMDAwODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEIzRjU5RgorOjEwMTQxMDAwODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNzRGQworOjEwMTQyMDAwMDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDQyNAorOjEwMTQzMDAwRjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCRTBCRAorOjEwMTQ0MDAwRkY3NUYwMEFBNDI0QjJGNTgyRTQzNDc1RjU4M0UwOTBDOAorOjEwMTQ1MDAwN0YwMEYwRUY3NUYwMEFBNDI0QjNGNTgyRTQzNDc1RjU0QgorOjEwMTQ2MDAwODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQjQwQQorOjEwMTQ3MDAwRTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjQ3OAorOjA1MTQ4MDAwRTA0NDAxRjAyMjMwCis6MTAxNDg1MDA3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTdBCis6MDExNDk1MDAyMjM0Cis6MTAxNDk2MDA5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkUwCis6MTAxNEE2MDBDMEQwQzBFMDhGRTBDMEUwOEVFMEMwRTA4REUwQzBFMERDCis6MTAxNEI2MDA4Q0UwQzBFMEMwODJDMDgzMDU4NkMwODRDMDg1N0QwMDA0Cis6MTAxNEM2MDA5MDdGRTM3NDdCRjBBMzc0ODBGMDdDMTE5MDdGOTlFMEE5Cis6MTAxNEQ2MDA1NDQwREMwMzAyMTRGM0I0MDAxMzkwN0ZFMjc0NDBGMDJFCis6MTAxNEU2MDA5MDdGRTVGMDkwN0ZFMjc0MDBGMDAyMTREMjkwNzY5MDNGCis6MTAxNEY2MDBFMEI0MDExMjkwNzY4RkUwMkRGRDkwN0ZFMjc0ODBGMENCCis6MTAxNTA2MDA5MDdGNkMwMjE1NTdCNDAyMTI5MDc2OEZFMDJERkQ5MEY1Cis6MTAxNTE2MDA3RkUyNzQ4MEYwOTA3RjZDMDIxNTk2QjQwMzEyOTA3Njg5Cis6MTAxNTI2MDA4RkUwMkRGRDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTVFMUQ0Cis6MTAxNTM2MDBCNDA0MTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjA5MEQ3Cis6MTAxNTQ2MDA3RjZDMDIxNjEwOTA3RkUyNzQ4MEYwOTA3RjZDMDIxNjFBCis6MTAxNTU2MDA0MEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERjI3REI5Cis6MTAxNTY2MDAwMjA1ODY5MDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNEZECis6MTAxNTc2MDAwMDA1MDU4NjAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMDJECis6MTAxNTg2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRERENDAyMTY0MEZDCis6MTAxNTk2MDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMDQ1Cis6MTAxNUE2MDBGMEYwRERFQzdEMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjFFCis6MTAxNUI2MDA5QkUwNTQwNEI0MDAwNTA1ODYwMjE2NDA5MDdGRTI3NDUxCis6MTAxNUM2MDA4MEYwMDU4NkYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERBCis6MDYxNUQ2MDBGMEYwRjBGMEYwRjA2RgorOjEwMTVEQzAwRERDRTAyMTY0MEYwRjBGMEYwRERGQTdEMDIwNTg2OTBDQgorOjEwMTVFQzAwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1ODYwNAorOjEwMTVGQzAwMDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwREQ4QQorOjEwMTYwQzAwREMwMjE2NDBGMEYwRjBGMEYwRjBEREY4N0QwMjA1ODYxQgorOjEwMTYxQzAwOTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjQwMDA1MDVDOQorOjEwMTYyQzAwODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjBGMEYwRjBCMAorOjEwMTYzQzAwRjBGMEREREE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODY3RQorOjEwMTY0QzAwRDA4M0QwODJEMEUwRkNEMEUwRkREMEUwRkVEMEUwRkYzMworOjA1MTY1QzAwRDBFMEQwRDAyMjE3Cis6MTAxNjYxMDBDMEQwQzBFMEMwODJDMDgzOTA3NjdDRTA5MDdGNkZGMEY0Cis6MTAxNjcxMDA5MDc2N0RFMDkwN0Y2RkYwOTA3NjdFRTA5MDdGNkZGMEM2Cis6MDkxNjgxMDBEMDgzRDA4MkQwRTBEMEQwMjI0OQorOjEwMTY4QTAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwQzA4MkMwODM3RQorOjEwMTY5QTAwMDU4NkMwODRDMDg1OTA3Njg3RTBGRkJGMDAwMzAyMTdFNQorOjEwMTZBQTAwMDE5MDdGOTZFMDQ0ODBGMDkwN0ZFMjc0ODBGMDkwN0YxMgorOjEwMTZCQTAwNjJFMDA1ODY5MDdGRTI3NDAwRjA5MDdGOTZFMDU0N0ZBNgorOjEwMTZDQTAwRjA5MDdGRTI3NDgwRjA5MDc2OEVFMEI0MDEwNTA1ODY5MgorOjEwMTZEQTAwMDIxNkY2QjQwMjA1MDU4NjAyMTZFQjA1ODYwMjE2RkIwQgorOjEwMTZFQTAwRTBFMEUwRTBFMEUwREZGODAyMTZGQkUwRTBFMEUwREY2NworOjEwMTZGQTAwRkE5MDdGRTI3NDAwRjBEMDg1RDA4NDA1ODZEMDgzRDAzQQorOjBDMTcwQTAwODJEMEUwRkVEMEUwRkZEMEUwRDBEMDIyODIKKzoxMDE3MTYwMEMwODJDMDgzQzBFMEU4QzBFMDc4RDFFODE0Rjg3MEZCNkUKKzowQTE3MjYwMEQwRTBGOEQwRTBEMDgzRDA4MjIyOUEKKzoxMDE3MzAwMEMwODJDMDgzQzBFMEU4QzBFMDc4NzhFODE0Rjg3MEZCQUQKKzowQTE3NDAwMEQwRTBGOEQwRTBEMDgzRDA4MjIyODAKKzowNzE3NEEwMDkwN0ZDNTc0MDJGMDIyM0MKKzoxMDE3NTEwMDkwN0VDMEUwOTA3NjQ1RjA5MDdFQzFFMDkwNzY0NEYwQjYKKzoxMDE3NjEwMDkwN0VDMkUwOTA3NjQzRjBCNDAwMDMwMjE3Nzg5MDc2NDEKKzoxMDE3NzEwMDE5NzQwM0YwMDIxNzhFOTA3NjQ0RTBCNEJCMDk5MDc2OTkKKzoxMDE3ODEwMDE5NzQwMkYwMDIxNzhFOTA3NjE5NzQwMUYwOTA3NjQyNjYKKzowMzE3OTEwMEU0RjAyMjVGCis6MDQxNzk0MDA4RDI5OEIyQUU2Cis6MTAxNzk4MDAxMjRBNTVFQTQ5NjA1NzEyMzY5MjdFMDAyOUZGRUUzQUZFCis6MTAxN0E4MDBDOUVGQzk3NTJCRkZGNTJDODkyREFCMkJBQTJDQTkyREI4Cis6MTAxN0I4MDA5MDAwMDExMjM2QUJGRjY0MDQ2MDA1RUY2NDA1NzAyRURCCis6MTAxN0M4MDBFRkI0MDQxNTkwMDAwMjEyMzZBQjY1Mjk3MDBCOTAwMDM3Cis6MTAxN0Q4MDAwMzEyMzZBQjY1MkE3MDAxMjIxMjM2OTI3RTAwMjlGRjY5Cis6MTAxN0U4MDBFRTNBQzlFRkM5NzUyQkZGRjUyQzg5MkQ4MEJDN0IwMDFCCis6MDQxN0Y4MDA3QTAwNzkwMEZBCis6MDExN0ZDMDAyMkNBCis6MDMxN0ZEMDBDMjhCMzI2QQorOjEwMTgwMDAwOTA3NjkwRTAxNDYwMzcxNDcwMDIwMUQ4MTQ3MDAyMjFCMQorOjEwMTgxMDAwNzIxNDcwMDI0MTNCMjQwNDYwMDI2MTAzOTA3RkZDNzRFNworOjEwMTgyMDAwQ0NGMDkwN0ZGRjc0RkNGMDkwNzY5NUUwNDQwMUYwNTQ4QQorOjEwMTgzMDAwMDVGMDkwODAwMUYwRTQ5MDc2MUFGMEMyMkUyMjkwNzZBNgorOjEwMTg0MDAwOTVFMDQ0MDFGMDQ0MDJGMDMwM0UwNkUwNDQwNEYwODBBQworOjEwMTg1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3QQorOjEwMTg2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTIyOTAyNworOjEwMTg3MDAwN0ZGQzc0NzRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkI3MworOjEwMTg4MDAwRjA5MDc2OTdFMDU0RkRGMEU0OTA3NjgxRjA5MDc2ODBDOQorOjEwMTg5MDAwRjBFRkI0MDIyMjkwN0ZGQzc0NjhGMDkwN0ZGRjc0RkMzQworOjEwMThBMDAwRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJGMEU0OTBGOQorOjEwMThCMDAwNzY4MUYwOTA3NjgwRjAzMDNGMDk5MDc2OTdFMDU0RkU4NAorOjEwMThDMDAwRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDU0RkIyMworOjEwMThEMDAwRjA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTRGRUYwNDRGMworOjEwMThFMDAwMDJGMDMwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTQyNAorOjEwMThGMDAwRkJGMDkwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFCNAorOjEwMTkwMDAwRjA5MDc2MTlFMEZGQjQwMTIyOTA3RkZDNzQzMEYwOTBFMworOjEwMTkxMDAwN0ZGRjc0RkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGNAorOjEwMTkyMDAwRkRGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjIyOTBBMgorOjEwMTkzMDAwN0ZGQzc0MUNGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkYwNgorOjEwMTk0MDAwRjA5MDc2OTdFMDQ0MDJGMEU0OTA3NjgxRjA5MDc2ODAxMworOjEwMTk1MDAwRjAzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTczQworOjEwMTk2MDAwRTA0NDAxRjA5MDc2OTdFMDU0RkJGMDkwODAwMkYwRDJEMgorOjEwMTk3MDAwMkUyMjkwNzY5NUUwNDQwMUYwNDQwMkYwNDQwOEYwMzBDNQorOjEwMTk4MDAwM0UwNkUwNDQwNEYwODAwNzkwNzY5NUUwNTRGQkYwOTAyQQorOjEwMTk5MDAwNzYxQUUwQjQwMTA4OTA3Njk1RTA5MDgwMDFGMDkwNzY5OAorOjEwMTlBMDAwMTlFMEZGQjQwMTI1OTA3RkZDNzRDQ0YwOTA3RkZGNzRBOAorOjEwMTlCMDAwRkNGMDkwNzY4Rjc0MkJGMDkwNzY5N0UwNTRGREYwNTQwNQorOjEwMTlDMDAwRkJGMEU0OTA3NjgxRjA5MDc2ODBGMEVGQjQwMjI1OTAwMQorOjEwMTlEMDAwN0ZGQzc0QzhGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkZCQQorOjEwMTlFMDAwRjA5MDc2OTdFMDQ0MDJGMDU0RkJGMEU0OTA3NjgxRjBCQQorOjEwMTlGMDAwOTA3NjgwRjBFRkI0MDMyNTkwN0ZGQzc0OThGMDkwN0Y5MAorOjEwMUEwMDAwRkY3NEZDRjA5MDc2OEY3NDVGRjA5MDc2OTdFMDU0RkQ1MQorOjEwMUExMDAwRjA0NDA0RjBFNDkwNzY4MUYwOTA3NjgwRjAzMDNGMDk1NQorOjEwMUEyMDAwOTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjBCRQorOjEwMUEzMDAwOTA3Njk3RTA5MDgwMDJGMEQyMkUyMjkwNzY5NUUwNTQzNgorOjEwMUE0MDAwRkVGMDQ0MDJGMDQ0MDhGMDMwM0UwNkUwNDQwNEYwODAyQQorOjEwMUE1MDAwMDc5MDc2OTVFMDU0RkJGMDkwNzYxQUUwQjQwMTA4OTA3OAorOjEwMUE2MDAwNzY5NUUwOTA4MDAxRjA5MDc2MTlFMEZGQjQwMTI1OTAyMgorOjEwMUE3MDAwN0ZGQzc0QjRGMDkwN0ZGRjc0RkNGMDkwNzY4Rjc0MkIzMQorOjEwMUE4MDAwRjA5MDc2OTdFMDU0RkRGMDU0RkJGMEU0OTA3NjgxRjAwRQorOjEwMUE5MDAwOTA3NjgwRjBFRkI0MDIyNTkwN0ZGQzc0QjBGMDkwN0ZEOAorOjEwMUFBMDAwRkY3NEZDRjA5MDc2OEY3NDJGRjA5MDc2OTdFMDQ0MDJFQworOjEwMUFCMDAwRjA1NEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDM4MAorOjEwMUFDMDAwMjU5MDdGRkM3NDY4RjA5MDdGRkY3NEZDRjA5MDc2OEYxNworOjEwMUFEMDAwNzQ1RkYwOTA3Njk3RTA1NEZERjA0NDA0RjBFNDkwNzY2MworOjEwMUFFMDAwODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFRjBEOAorOjEwMUFGMDAwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDIxRQorOjA0MUIwMDAwRjBEMjJFMjJDRgorOjEwMUIwNDAwMzAyQzM4QzIyQzkwNzYxOUUwRkZCNDAxMEU5MDc2N0MwQworOjEwMUIxNDAwNzRDMEYwQTM3NDE0RjBBMzc0MEJGMEVGQjQwMjBERTREQQorOjEwMUIyNDAwOTA3NjdDRjBBMzc0MTBGMEEzNzQwQ0YwRUZCNDAzMEI2NAorOjBDMUIzNDAwRTQ5MDc2N0NGMEEzNzQxOEYwQTNGMDIyN0IKKzoxMDFCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDFCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDFCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDFCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDFCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDFCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDFCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDFCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDFCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDFCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDFCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDFCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDFDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDFDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDFDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDFDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDFDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDFDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDFDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDFDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDFDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDFEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDFENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDFENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDFENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDFENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDFEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDFEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDFEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDFEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDFEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDFERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDFERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDFERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDFFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDFFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDFFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDFFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDFFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDFFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDFFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDFFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDFFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDFFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzowRTFFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjEwMUVCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNAorOjEwMUVDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNAorOjEwMUVERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGNAorOjEwMUVFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjEwMUVGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBENAorOjEwMUYwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMworOjEwMUYxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMworOjEwMUYyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjAyMUYzRTAwMDAwMEExCis6MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MEUyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIzN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIzOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIzOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIzQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIzQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIzQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIzREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIzRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIzRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDI0MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDI0MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDI0MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDI0M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDI0NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDI0NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDI0NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDI0N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDI0OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDI0OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDI0QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDI0QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDI0Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDI0REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDI0RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI0RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI1MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI1MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI1MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI1M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI1NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI1NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI1NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI1N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI1OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI1OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI1QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI1QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI1Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI1REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI1RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzoxMDI1RkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDI2MEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDI2MUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKKzoxMDI2MkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDI2M0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDI2NEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDI2NUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDI2NkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDI2N0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDI2OEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDI2OUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzoxMDI2QUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzoxMDI2QkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDI2Q0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDI2REUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzowRTI2RUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjZGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjcwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjcxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjcyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjczQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjc0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjc1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjEwMjc2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RAorOjEwMjc3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RAorOjEwMjc4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRAorOjEwMjc5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjEwMjdBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMjdCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRAorOjEwMjdDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwMjdEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRAorOjEwMjdFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERAorOjA1MjdGQzAwMDAwMDAwMDAyMkI2Cis6MTAyODAxMDBDMjIwQzIyMUMyMkE5MDdGRThFMDEyMzdGOTI4MzAwMEE1Cis6MTAyODExMDAyODhDMDEyOEEyMDIyQTFGMjEyQTZBMjIyOTNEODAyOTA3Cis6MTAyODIxMDA3RDgxMjlEMTgyMkE4NEExMkFCQUEyMDAwMDJBQkY5MERGCis6MTAyODMxMDA3RkU5RTAxNDYwMTEyNEZFNjAyODI0RkU2MDNCMjRGQzQzCis6MTAyODQxMDA3MDQwMTIzRkU1NDFDQjEyNEUxRDQwMDI0MUNCOTA3RkJCCis6MTAyODUxMDBFQUUwQjQwMTA0QzIyMjQxQ0I5MDdGQjRFMDQ0MDFGMDJDCis6MTAyODYxMDA0MUNCMTI0RTFGOTA3RkVBRTBCNDAxMDREMjIyNDFDQjRBCis6MTAyODcxMDA5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDlCCis6MTAyODgxMDA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTAyNDVCCis6MTAyODkxMDBGNTcwMDUxMjQ4NjM0MUNCOTA3RkI0RTA0NDAxRjA0MUVCCis6MTAyOEExMDBDQjkwN0ZFOUUwMjRGRDYwNTQyNDAyNjAwMjIxMzQxMkMwCis6MTAyOEIxMDA0RTFENDAwMjQxQ0I5MDdGRUFFMDcwMzg5MDdGRUNFMDAyCis6MTAyOEMxMDBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEQzCis6MTAyOEQxMDBGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRkVGCis6MTAyOEUxMDAxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NEQ4Cis6MTAyOEYxMDAyMEYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjEyNEUxRjU4Cis6MTAyOTAxMDA0MDAyNDFDQjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NEVDCis6MTAyOTExMDA4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MjUzCis6MTAyOTIxMDBFNDM0N0ZGNTgzNzQwMUYwNDFDQjkwN0ZCNEUwNDQwMTNFCis6MTAyOTMxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMERFCis6MTAyOTQxMDA2MDEyMjRGODYwMDkyNDAyNzAyOTEyNDNFNzQxQ0IxMjc2Cis6MTAyOTUxMDA0RENBNDFDQjEyNEUxQkEyMjJFNDMzRkYyNUUwRkZBMjU4Cis6MTAyOTYxMDAyM0U0MzM0RjkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMjJECis6MTAyOTcxMDBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I5MDdGRTlFMDlFCis6MTAyOTgxMDA2MDMzMjRGNjYwMkEyNDA0NzAzRDkwN0ZFQkUwMjRERTVFCis6MTAyOTkxMDA2MDBDMDQ3MDEyOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjUxCis6MTAyOUExMDBCNEUwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjZECis6MTAyOUIxMDAxMjQ3NDU0MUNCMTI0RTFCRTQ5MDdGMDBGMEEzRjA5MEVCCis6MTAyOUMxMDA3RkI1NzQwMkYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjdDCis6MTAyOUQxMDA5MDdGRTlFMDI0RjQ2MDM0MjQwQzcwMzkxMjRFMUI5MDhFCis6MTAyOUUxMDA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNTFGCis6MTAyOUYxMDBFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMDU4Cis6MTAyQTAxMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDg1Cis6MTAyQTExMDA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RjgxCis6MTAyQTIxMDBFOUUwMjRGNjYwMTIxNDYwMUEyNDAyNzAxREQyMjA5MDhECis6MTAyQTMxMDA3RkI0RTA0NDAxRjA4MDEyRDIyMDkwN0ZCNEUwNDQwMUUxCis6MTAyQTQxMDBGMDgwMDc5MDdGQjRFMDQ0MDFGMDIwMjAxODkwN0ZFRUUxCis6MTAyQTUxMDBFMDcwMDRBM0UwNjAwQkQyMjlEMjI3MTIxNzRBRDIyQUQwCis6MTAyQTYxMDA4MDAzMTIwODAwQzIyMDgwNjE5MDdGRUVFMDcwMDRBMzExCis6MTAyQTcxMDBFMDYwMEJEMjI5RDIyODEyMTc0QUQyMkE4MDRDMTIzODkwCis6MTAyQTgxMDA3NDgwNDc5MDdGRTlFMDI0RkU2MDEyMTQ2MDFBMjQwMkVBCis6MTAyQTkxMDA3MDFERDIyMTkwN0ZCNEUwNDQwMUYwODAxMkQyMjE5MEM4Cis6MTAyQUExMDA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDVFCis6MTAyQUIxMDAyMTAzMTIxMDAwQzIyMTgwMTExMjJBRDY4MDBDMTI0RTVECis6MTAyQUMxMDAyMTUwMDc5MDdGQjRFMDQ0MDFGMDIwMkEwNzkwN0ZCNEExCis6MDUyQUQxMDBFMDQ0MDJGMDIyQzgKKzoxMDJBRDYwMEU0OTA3NjI3RjA5MDc2MjdFMEZGNzVGMDBGQTQyNDQyNjUKKzoxMDJBRTYwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZENTMKKzoxMDJBRjYwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjdFMDA0RjA4MEQ1NjgKKzoxMDJCMDYwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGQjEKKzoxMDJCMTYwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MjhGMDI0MDgKKzoxMDJCMjYwMDlGNzAwMkExNzQyNDIxNjAwMkExQTE5MDdGRTlFMDI0OTQKKzoxMDJCMzYwMDdFNzAwMjYxRkMxNDcwMDI4MUI1MjQwMjYwMDJBMTZDRjEKKzoxMDJCNDYwMEVGNzVGMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQjkKKzoxMDJCNTYwMEEzRTBGREEzRTBGRUEzRTBGRjdCNDQ3QUFDNzkwMDc4MTYKKzoxMDJCNjYwMDAwQzMxMjM3QUI3MDEzOTA3RjAwNzQ0NEYwQTM3NEFDQUIKKzoxMDJCNzYwMEYwRTRBM0YwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwNEIKKzoxMDJCODYwMDBGQTQyNDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZENEQKKzoxMDJCOTYwMEEzRTBGRUEzRTBGRjdCODA3QUJCNzkwMDc4MDBDMzEyMzYKKzoxMDJCQTYwMDM3QUI3MDEzOTA3RjAwNzQ4MEYwQTM3NEJCRjBFNEEzN0UKKzoxMDJCQjYwMEYwOTA3RkI1NzQwM0YwOTA3NjI3RTA3NUYwMEZBNDI0QUIKKzoxMDJCQzYwMDQzRjU4MkU0MzQ3NUY1ODNFMEZDQTNFMEZEQTNFMEZFNjMKKzoxMDJCRDYwMEEzRTBGRjdCMDA3QTc3NzkwMTc4MDBDMzEyMzdBQjYwRjgKKzoxMDJCRTYwMDAyQTFBODkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwN0YKKzoxMDJCRjYwMDdGQjU3NDAzRjAyMjkwNzYyN0UwNzVGMDBGQTQyNDQ3ODIKKzoxMDJDMDYwMEY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzQzIKKzoxMDJDMTYwMEUwRkY3QjQ0N0FBQzc5MDA3ODAwQzMxMjM3QUI3MDEzQkYKKzoxMDJDMjYwMDkwN0YwMDc0NDRGMEEzNzRBQ0YwRTRBM0YwOTA3RkI1RjkKKzoxMDJDMzYwMDc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0M0MKKzoxMDJDNDYwMDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCODMKKzoxMDJDNTYwMDgwN0FCQjc5MDA3ODAwQzMxMjM3QUI3MDEzOTA3RjAwN0YKKzoxMDJDNjYwMDc0ODBGMEEzNzRCQkYwRTRBM0YwOTA3RkI1NzQwM0YwMTYKKzoxMDJDNzYwMDkwNzYyN0UwNzVGMDBGQTQyNDQ3RjU4MkU0MzQ3NUY1QzUKKzoxMDJDODYwMDgzRTBGQ0EzRTBGREEzRTBGRUEzRTBGRjdCMDA3QTc3RjAKKzoxMDJDOTYwMDc5MDE3ODAwQzMxMjM3QUI2MDAyQTFBODkwN0YwMEYwREIKKzoxMDJDQTYwMEEzNzQ3N0YwQTM3NDAxRjA5MDdGQjU3NDAzRjAyMjkwQkIKKzoxMDJDQjYwMDc2MjdFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzOEUKKzoxMDJDQzYwMEUwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5NDEKKzoxMDJDRDYwMDAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzRTIKKzoxMDJDRTYwMDc0QUNGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwMUYKKzoxMDJDRjYwMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzNEMKKzoxMDJEMDYwMEUwRkRBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQkMKKzoxMDJEMTYwMEMzMTIzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwQkUKKzoxMDJEMjYwMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGN0EKKzoxMDJEMzYwMEE0MjQ0QkY1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRkYKKzoxMDJENDYwMEUwRkVBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QjMKKzoxMDJENTYwMEFCNzA0RjkwN0YwMEYwQTM3NDc3RjBBMzc0MDFGMDkwRUUKKzoxMDJENjYwMDdGQjU3NDAzRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGOTcKKzoxMDJENzYwMEU5RTAyNDdGNzAxRTkwNzYyN0UwNzVGMDBGQTQyNDRGQkIKKzoxMDJEODYwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwN0ZCNTc0QUEKKzoxMDJEOTYwMDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0RjYKKzowMzJEQTYwMDAxRjAyMjE3Cis6MTAyREE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkyCis6MTAyREI5MDAzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDBGRjU4MkRGCis6MTAyREM5MDBFNDM0NzVGNTgzNzQwMUYwRUY3NUYwMDNBNDI0MTBGNTZDCis6MTAyREQ5MDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRkEwCis6MTAyREU5MDA3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEFDCis6MTAyREY5MDBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwNUE3Cis6MTAyRTA5MDBGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNDNBCis6MTAyRTE5MDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTk3Cis6MTAyRTI5MDA4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRjdFCis6MTAyRTM5MDBGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDg4Cis6MTAyRTQ5MDAxMEY1ODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMDA5Cis6MTAyRTU5MDBFMEZGNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDVDCis6MTAyRTY5MDAwMUYwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4M0JFCis6MTAyRTc5MDA3NDAzRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNUJBCis6MTAyRTg5MDA4M0U0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNEMzCis6MTAyRTk5MDAwRUY1ODJFNDM0NzVGNTgzNzQxMEYwRUY3NUYwMDNBNDMwCis6MTAyRUE5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA2RjBFRjc1RjAwM0E5Cis6MTAyRUI5MDBBNDI0MTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMEM1Cis6MTAyRUM5MDAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNUVGCis6MTAyRUQ5MDA4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUNFCis6MTAyRUU5MDBGNTgzNzQwNEYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDNCCis6MTAyRUY5MDA3NUY1ODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0IxCis6MTAyRjA5MDBBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMEFDCis6MTAyRjE5MDAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQwOEYwRUY3NTgyCis6MTAyRjI5MDBGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjA5MDU5Cis6MTAyRjM5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDkwCis6MTAyRjQ5MDAzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQyNDBGRjU4MjRDCis6MTAyRjU5MDBFNDM0NzVGNTgzNzQwQUYwRUY3NUYwMDNBNDI0MTBGNUQxCis6MTAyRjY5MDA4MkU0MzQ3NUY1ODM3NDA0RjA5MDc2MzZFMDA0RjBFMDc5Cis6MTAyRjc5MDBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQwMjE5Cis6MTAyRjg5MDBGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODM3NDJBCis6MTAyRjk5MDAwOUYwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjU4Mzg0Cis6MTAyRkE5MDA3NDA0RjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDkxCis6MTAyRkI5MDAwRUY1ODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDFECis6MTAyRkM5MDAyNDBGRjU4MkU0MzQ3NUY1ODM3NDA3RjBFRjc1RjAwMzg3Cis6MEUyRkQ5MDBBNDI0MTBGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyMEMKKzoxMDJGRTcwMEMwRTBDMDgzQzA4MkQyMjY1MzkxRUY5MDdGQUI3NDAxQkIKKzowODJGRjcwMEYwRDA4MkQwODNEMEUwMzI1QgorOjAxMkZGRjAwMzI5RgorOjEwMzAwMDAwOTA3RkI2RTAyMEUxMDJDMjNERDIzNjIwMzYwMjQxNkUwQQorOjEwMzAxMDAwMzAzRDAyNDE2RTkwODAwN0UwNjAwNEQyMzY4MDAyQzJFQgorOjEwMzAyMDAwMzYyMDM2MDI0MTJFRDIzNUU0RjUxQTkwODAwNEUwRjVDMAorOjEwMzAzMDAwMTk3NDA4MjUwRUY4QTYxOTg1MTkxOEU1MTgyMEU3MDQ1MworOjEwMzA0MDAwRDIzODgwMDJDMjM4MzAzODAyMjFENEU0RjUxNkU1MTlBRQorOjEwMzA1MDAwQjRGMDBDRDIzOTc1MDgwNDc1MDlGMDA1MEU4MDAyMDUyQworOjEwMzA2MDAwMTZFNTE5NjRGNzcwM0RDMjM5RTUwRTI0RkU2MDE3MTRBOQorOjEwMzA3MDAwNjAyMjI0MDM3MDI5NzUwODA1NzUwOUY3RTRGNTBBRjUzRgorOjEwMzA4MDAwMEI3NTBFMDQ4MDIwNzUwODA2NzUwQUY3RTRGNTBCNzVCQworOjEwMzA5MDAwMEUwNDgwMTI3NTA4MDc3NTBCRjc3NTBFMDQ4MDA3MTI3MQorOjEwMzBBMDAwNEREQTgwMDIwNTE2RTUxOTU0Rjg2NEY4NzAzQkMyMzUxNAorOjEwMzBCMDAwRTUxOTI0MDc2MDBDMjRGQzYwMDgyNDA1MjRGODUwMDY1OAorOjEwMzBDMDAwODAwOEQyM0E4MDA2QzIzQTgwMDJEMjNBNzUxQTAxMjBBQworOjEwMzBEMDAwM0ExOTkwN0U4MDc0MEZGMEEzRTUxOUYwRTRBM0YwQTNGMQorOjEwMzBFMDAwRjA5MDdGQjc3NDA0RjA4MDAyMDUxNjIwMzk2REU1MTk2MQorOjEwMzBGMDAwNjRGNzYwNjdFNTFBNzA2M0U1MTg1NEYwNjRGMDcwNTk3RQorOjEwMzEwMDAwODUxODE5RjUwRUU1MTkyNDBGNjAxQjI0RkU2MDE3MjQ5RAorOjEwMzExMDAwRkQ2MDIyMTQ2MDFGMjQwNTcwMkY3NTA4MDMwNTBFODVCRAorOjEwMzEyMDAwMTgwOUQyMzc4MDI4NzUwODAyMDUwRTg1MTgwOTc1MTQwQworOjEwMzEzMDAwMDFEMjM3ODAxOTc1MDgwNTA1MEU4NTE4MDlFNEY1MEFDRQorOjEwMzE0MDAwRjUwQjc1MEUwM0QyMzc4MDA1MTI0RERBQzIzNTMwMzVENgorOjEwMzE1MDAwMEE4NTA4MTM4NTE4MTI4MDAyMDUxNjg1MTgxOUU1MTZDOAorOjEwMzE2MDAwNjQwNDcwNjJGNTBFRTUxOTU0RjBGNTE5RjUxNTg1MTgyQgorOjEwMzE3MDAwMTlFNTE1MjQ3MDYwMTgyNEYwNjAxNDI0RjA2MDEwMjQwMAorOjEwMzE4MDAwRjA2MDFFMjRGMDYwMUEyNEYwNjAwNDI0NjA3MDI3RTVDQgorOjEwMzE5MDAwMTVDNDU0MEZGNTE5RjUwODA1MEU4NTE4MDlEMjM3ODBBNgorOjEwMzFBMDAwMUFFNTE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5NzVBQgorOjEwMzFCMDAwMTQwMUQyMzc4MDA1MTI0RERBQzIzNTMwMzUwQTg1MTkyRgorOjEwMzFDMDAwMTM4NTE4MTI4MDAyMDUxNkU1MTZEMzk0MDU0MDU3MTI5MAorOjEwMzFEMDAwNEREQTgwNTIzMDM5MTdFNTBFNzAwQTg1MDgwOTc1MDhGNgorOjEwMzFFMDAwMDQwNTBFODA0MTc0MDgyNTBFRjhBNjE5ODAzODIwMzc5MgorOjEwMzFGMDAwMkFFNTBFQjQwMTBGODUwODBBODUwOTBCODUxMzA4ODU5OQorOjEwMzIwMDAwMTIwOTc1MEUwNEU1MTRCNDAxMUM4NTA4MEFFNEY1MEJENworOjEwMzIxMDAwODUxMzA4ODUxMjA5NzUwRTA0ODAwQkU1MTRCNDAxMDZBOAorOjEwMzIyMDAwRTRGNTBCNzUwRTA0RTRGNTFBMzAzNTAyMDUwRUU1MEVEMworOjEwMzIzMDAwRDM5NDAzNTAwMjAxMEJDMjM3RTRGNTBFRjUxMEMyMzZFOQorOjEwMzI0MDAwRDIzREY1MTQ3NDA4MjUxMEY4RTZGRjc0ODAyNTEwRjVCQQorOjEwMzI1MDAwODJFNDM0N0VGNTgzRUZGMDc0MDgyNTEwRjhFNEY2MDU3NworOjBGMzI2MDAwMTBFNTEwQjQwNERFOTA3RkI3NzQwNEYwMDEwQjIyNjgKKzoxMDMyNkYwMDkwNzYxOEUwRkY2NDA1NzA0MjkwNzVBQkUwQjQwMTE5RDkKKzoxMDMyN0YwMDkwNzIzNzc0MDFGMEU0OTA4MDIwRjA5MDgwMzFGMDkwREMKKzoxMDMyOEYwMDgwMjhGMDkwODAzOUYwODAyMkU0OTA3MjM3RjA5MDc1QUEKKzoxMDMyOUYwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNzEKKzoxMDMyQUYwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNTIKKzoxMDMyQkYwMDgxOTk5MDcyMzk3NDA0RjA5MDcyMzlFMEZGMjRGRTkwNzYKKzoxMDMyQ0YwMDcyMDRGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1QkYKKzoxMDMyREYwMDgzRTA2NDAxNzA1NDkwNzIzNjA0RjA5MDcyMDRFMEZGNDIKKzoxMDMyRUYwMDI0RkQ2MDI4MjRGRTYwMjQyNDAzMjRGQjUwMDQ2MDFDNkEKKzoxMDMyRkYwMDgxOEM3NDIwMkZGNTgyRTQzNDgwRjU4M0U0RjA3NDI4RjgKKzoxMDMzMEYwMDJGRjU4MkU0MzQ4MEY1ODNFNEYwODE4QzkwNzIwNEUwMzEKKzoxMDMzMUYwMEZGMjQzMEY1ODJFNDM0ODBGNTgzRTRGMDc0MzgyRkY1MjAKKzoxMDMzMkYwMDgyRTQzNDgwRjU4M0U0RjA4MThDRTQ5MDcyMzZGMDkwN0YKKzoxMDMzM0YwMDcyMzlFMDc1RjAwQUE0MjRBREY1ODJFNDM0NzVGNTgzOTMKKzoxMDMzNEYwMEUwRkY3RTAwOTA3NTBDRUVGMEEzRUZGMDcwMDY5MDcyMjgKKzoxMDMzNUYwMDAyNzQzQkYwOTA3NTBDRTBGRUEzRTBGRjY0ODA0RTcwQUEKKzoxMDMzNkYwMDA0OTA3MjAyRjBFRjRFNzAwMjgxMzVFRjY0ODA0RTcwNjAKKzoxMDMzN0YwMDAyODEzNUVGRjhFNDkwNzUwREYwRTg5MDc1MENGMDkwNDAKKzoxMDMzOEYwMDcyMzRFMDc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNDkKKzoxMDMzOUYwMEUwRkY5MDcyMDJGMDkwNzUwREUwMkZGMDkwNzUwQ0UwNDkKKzoxMDMzQUYwMDM0MDBGMEUwRkVBM0UwRkZFNEZDRkQ3QkQ2N0FBNUY5NDQKKzoxMDMzQkYwMEY4RDMxMjM3OTU0MDBBOTA3NTBDNzRBNUYwQTM3NEQ2MDQKKzoxMDMzQ0YwMEYwOTA3NTBERTAyNDJBRjA5MDc1MENFMDM0NUFGMEUwN0YKKzoxMDMzREYwMEZFQTNFMDc4MDVDRUEyRTcxM0NFMTNEOEY4RkY5MDc1QzEKKzoxMDMzRUYwMDBDRUVGMEEzRUZGMDkwNzIyQ0VFRjBBM0VGRjBEMzk0NkQKKzoxMDMzRkYwMEQyRUU2NDgwOTQ4MjQwMEE5MDcyMkM3NDAyRjBBMzc0MEYKKzoxMDM0MEYwMEQyRjBDMzkwNzIyQ0UwNjQ4MDk0ODA1MDA0RTRGMEEzNTcKKzoxMDM0MUYwMEYwOTA3MjJDRTBGRUEzRTAyNDNBRjU4MkVFMzQ3MkY1QzAKKzoxMDM0MkYwMDgzRTA5MDcyMDJGMDkwNzIwNEUwRkYyNEZENjAyRDI0N0YKKzoxMDM0M0YwMEZFNjAyOTI0MDMyNEZCNTAwNDYwMjE4MDQwOTA3MjAyMTcKKzoxMDM0NEYwMEUwRkU3NDIwMkZGNTgyRTQzNDgwRjU4M0VFRjA3NDI4Q0IKKzoxMDM0NUYwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwODAyMTkwNzIwMkUwNDQKKzoxMDM0NkYwMEZGOTA3MjA0RTBGRTI0MzBGNTgyRTQzNDgwRjU4M0VGQTAKKzoxMDM0N0YwMEYwNzQzODJFRjU4MkU0MzQ4MEY1ODNFRkYwOTA3MjM5RDIKKzowQjM0OEYwMEUwMDRGMEUwNjQwQTYwMDI0MUM3MjI4NAorOjEwMzQ5QTAwOTA3NjE4RTBGRkI0MDUyMzkwNzIzN0UwNzAxRDkwNzU5RQorOjEwMzRBQTAwQURFMDkwNzIyQkYwRTAyNDgwRjBFMDkwODAyMEYwOTA2NAorOjEwMzRCQTAwODAzMUYwOTA4MDI4RjA5MDgwMzlGMEVGNjQwNjYwMDI0NQorOjEwMzRDQTAwQzE5MTkwNzIzNkUwNjAwMkMxOTE5MDc2NDBFMDcwMzEwRAorOjEwMzREQTAwOTA3MjAzNzQwM0YwOTA3MjAzRTBGRjc1RjAwQUE0MjQ1QgorOjEwMzRFQTAwQUFGNTgyRTQzNDc1RjU4M0UwRkU5MDcyMjlFMEZERUVEOAorOjEwMzRGQTAwNkQ2MDBFRUZDMzk0MEE1MDA4OTA3MjAzRTAwNEYwODBFNgorOjEwMzUwQTAwRDU5MDcyMzk3NDA0RjA5MDc2NDBFMDcwMDg5MDcyMDM5NgorOjEwMzUxQTAwRTA5MDcyMzlGMDkwNzIzOUUwRkQyNEZFOTA3MjJBRjA0MAorOjEwMzUyQTAwRUQ3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0UwRkY2NQorOjEwMzUzQTAwN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjAyNzRBNAorOjEwMzU0QTAwODBGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MDA0OTA1QQorOjEwMzU1QTAwNzIwMkYwRUY0RTcwMDJDMTFCRUY2NDgwNEU3MDAyQzExRQorOjEwMzU2QTAwMUJFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjBFRDc1RjAyRQorOjEwMzU3QTAwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwRkY5MDcyMDI2NAorOjEwMzU4QTAwRjA5MDc1MERFMDJGRjA5MDc1MENFMDM0MDBGMEUwRkUzRAorOjEwMzU5QTAwQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOUY4RDMxMjM3OTVCMAorOjEwMzVBQTAwNDAwQTkwNzUwQzc0QTVGMEEzNzRENkYwOTA3NTBERTBERQorOjEwMzVCQTAwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMEZFQTNFMDc4MDU3NgorOjEwMzVDQTAwQ0VBMkU3MTNDRTEzRDhGOEZGOTA3NTBDRUVGMEEzRUY1NgorOjEwMzVEQTAwRjA5MDcyMkNFRUYwQTNFRkYwRDM5NEQyRUU2NDgwOTRDNAorOjEwMzVFQTAwODI0MDBBOTA3MjJDNzQwMkYwQTM3NEQyRjBDMzkwNzJEMworOjEwMzVGQTAwMkNFMDY0ODA5NDgwNTAwNEU0RjBBM0YwOTA3MjJDRTBGNAorOjEwMzYwQTAwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNTgzRTA5MDcyMDI2QQorOjEwMzYxQTAwRjA5MDcyMkFFMEZGMjRGRDYwMkQyNEZFNjAyOTI0MDMyNQorOjEwMzYyQTAwMjRGQjUwMDQ2MDIxODA0MDkwNzIwMkUwRkU3NDIwMkYzNworOjEwMzYzQTAwRjU4MkU0MzQ4MEY1ODNFRUYwNzQyODJGRjU4MkU0MzRDMQorOjEwMzY0QTAwODBGNTgzRUVGMDgwMjE5MDcyMDJFMEZGOTA3MjJBRTAwQQorOjEwMzY1QTAwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkYwNzQzODJFRjVEOQorOjEwMzY2QTAwODJFNDM0ODBGNTgzRUZGMDkwNzY0MEUwNzAwNjkwNzI0MQorOjEwMzY3QTAwMzk3NDBBRjA5MDcyMzlFMDA0RjBFMEMzOTQwQTUwMDJGNworOjA4MzY4QTAwQTExMUU0OTA3NjQwRjAyMjRBCis6MTAzNjkyMDBCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMjM2Cis6MDkzNkEyMDBFMzIyODk4MjhBODNFNDkzMjI2OQorOjEwMzZBQjAwQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTBENAorOjEwMzZCQjAwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjIxRQorOjBEMzZDQjAwRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjIzOAorOjEwMzZEODAwQzJENUVDMzBFNzA5QjJENUU0QzM5REZERTQ5Q0ZDRUUwRAorOjEwMzZFODAwMzBFNzE1QjJENUU0QzM5RkZGRTQ5RUZFMTIzODFGQzMyRQorOjEwMzZGODAwRTQ5REZERTQ5Q0ZDODAwMzEyMzgxRjMwRDUwN0MzRTQyOQorOjA2MzcwODAwOUZGRkU0OUVGRTIyN0IKKzoxMDM3MEUwMEJCMDExMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTBGNUYwRjkKKzoxMDM3MUUwMEEzRTAyMjUwMDlFOTI1ODJGODg2RjAwOEU2MjJCQkZFRDYKKzoxMDM3MkUwMDBBRTkyNTgyRjhFMkY1RjAwOEUyMjJFNTgzMkFGNTgzMUMKKzowODM3M0UwMEU5OTNGNUYwQTNFOTkzMjJFMQorOjEwMzc0NjAwRTg4RkYwQTRDQzhCRjBBNDJDRkNFOThFRjBBNDJDRkMyMgorOjEwMzc1NjAwOEFGMEVEQTQyQ0ZDRUE4RUYwQTRDREE4RjA4QkYwQTRBMAorOjEwMzc2NjAwMkRDQzM4MjVGMEZERTk4RkYwQTQyQ0NEMzVGMEZDRUJGRgorOjEwMzc3NjAwOEVGMEE0RkVBOUYwRUI4RkYwQTRDRkM1RjAyRUNEMzlDNAorOjBGMzc4NjAwRkVFNDNDRkNFQUE0MkRDRTM1RjBGREU0M0NGQzIyMzEKKzoxMDM3OTUwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEVDNjQ4MEM4QUIKKzowNjM3QTUwMDY0ODA5ODQ1RjAyMjRCCis6MTAzN0FCMDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDc0Cis6MDEzN0JCMDAyMkVCCis6MEMzN0JDMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjI4MAorOjEwMzdDODAwQTg4Mjg1ODNGMEQwODNEMDgyMTIzN0RGMTIzN0RGMTJDOAorOjEwMzdEODAwMzdERjEyMzdERkU0NzNFNDkzQTNDNTgzQzVGMEM1ODNFRAorOjEwMzdFODAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzg0QgorOjAxMzdGODAwMjJBRQorOjEwMzdGOTAwRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM1RgorOjEwMzgwOTAwOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjA3MgorOjA2MzgxOTAwRUZBM0EzQTM4MERGNzIKKzoxMDM4MUYwMEJDMDAwQkJFMDAyOUVGOERGMDg0RkZBREYwMjJFNENDOEQKKzoxMDM4MkYwMEY4NzVGMDA4RUYyRkZGRUUzM0ZFRUMzM0ZDRUU5REVDNTYKKzoxMDM4M0YwMDk4NDAwNUZDRUU5REZFMEZENUYwRTlFNENFRkQyMkVEOUMKKzoxMDM4NEYwMEY4RjVGMEVFODQyMEQyMUNGRUFERjA3NUYwMDhFRjJGRTYKKzoxMDM4NUYwMEZGRUQzM0ZENDAwNzk4NTAwNkQ1RjBGMjIyQzM5OEZERDcKKzowNTM4NkYwMDBGRDVGMEVBMjI3NAorOjEwMzg3NDAwRTQ5MDc2MjlGMDkwNzYyOUUwRkY3NUYwMEZBNDI0NDJCNQorOjEwMzg4NDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRBNworOjEwMzg5NDAwNjAwRUVGQzM5NDA2NTAwODkwNzYyOUUwMDRGMDgwRDVCQQorOjEwMzhBNDAwRUZCNDA2MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMEYwNgorOjEwMzhCNDAwQTQyNDQxRjU4MkU0MzQ3NUY1ODNFMDkwNzYyQUYwMjQ1QgorOjEwMzhDNDAwQkY3MDAyNDE0MTI0RTA3MDAyNDExMjI0MjE2MDAyNDE5MAorOjEwMzhENDAwM0E5MDdGRTlFMDI0RkU2MDdEMTQ3MDAyMjFCMjI0MDI1NAorOjEwMzhFNDAwNjAwMjQxMEExMjE3NTE5MDc2NDJFMEZDQTNFMEZEQTM2NgorOjEwMzhGNDAwRTBGRUEzRTBGRjkwNzYyOUUwNzVGMDBGQTQyNDQzRjVFMQorOjEwMzkwNDAwODJFNDM0NzVGNTgzMTIzN0JDOTA3NjE5RTBGRkI0MDE3NAorOjEwMzkxNDAwMTI5MDc2N0M3NDY3RjA5MDc2N0Q3NDA2RjA5MDc2N0VEMworOjEwMzkyNDAwNzQwQkYwRUZCNDAyMEZFNDkwNzY3Q0YwOTA3NjdERjBBNworOjEwMzkzNDAwOTA3NjdFNzQwQ0YwRUZCNDAzMEZFNDkwNzY3Q0YwOTBGNAorOjEwMzk0NDAwNzY3REYwOTA3NjdFNzQxOEYwOTA3NjFBNzQwMUYwMTJGOQorOjEwMzk1NDAwM0U5RjEyMTgwMDIyOTA3RUMyRTBGRkU0RkNGREZFRkJCNQorOjEwMzk2NDAwRkE3OTAxRjgxMjM3NDZDOEVDQzhDOUVEQzlDQUVFQ0FEQgorOjEwMzk3NDAwQ0JFRkNCOTA3RUMxRTBGRUU0RkNGRDJCRkJFQTNFRkFFQworOjEwMzk4NDAwRUQzOUY5RUMzOEY4OTA3RUMwRTBGRkU0RkVFQjJGRkY1MAorOjEwMzk5NDAwRUUzQUZFRUQzOUZERUMzOEZDOTA3NjI5RTA3NUYwMEYzNworOjEwMzlBNDAwQTQyNDQ3RjU4MkU0MzQ3NUY1ODMxMjM3QkMyMjkwN0U1MworOjEwMzlCNDAwQzJFMEZGRTRGQ0ZERkVGQkZBNzkwMUY4MTIzNzQ2QzhDOQorOjEwMzlDNDAwRUNDOEM5RURDOUNBRUVDQUNCRUZDQjkwN0VDMUUwRkUwQworOjEwMzlENDAwRTRGQ0ZEMkJGQkVBM0VGQUVEMzlGOUVDMzhGODkwN0U3NQorOjEwMzlFNDAwQzBFMEZGRTRGRUVCMkZGRkVFM0FGRUVEMzlGREVDMzhDQworOjEwMzlGNDAwRkM5MDc2MjlFMDc1RjAwRkE0MjQ0QkY1ODJFNDM0NzUyRAorOjEwM0EwNDAwRjU4MzEyMzdCQzIyOTA3RkI0RTA0NDAxRjAyMjkwN0YwQQorOjEwM0ExNDAwRTlFMDE0NzAxOTkwN0VDMEUwRkY5MDc2MjlFMDc1RjAxQgorOjEwM0EyNDAwMEZBNDI0NEZGNTgyRTQzNDc1RjU4M0VGRjAyMjkwN0ZFMAorOjBFM0EzNDAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjlGCis6MTAzQTQyMDBFNDkwNzYzNUYwOTA3NjM1RTBGRkMzOTQwMzQwMDI0MTZFCis6MTAzQTUyMDBGRkVGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUY1ODNFRjJBCis6MTAzQTYyMDBGMEVGNzVGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFNDMzCis6MTAzQTcyMDBGMEVGNzVGMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODM3NDkyCis6MTAzQTgyMDBGMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzA1Cis6MTAzQTkyMDA3NEZGRjBFRjc1RjAwQUE0MjRBRUY1ODJFNDM0NzVGNUY0Cis6MTAzQUEyMDA4M0U0RjBFRjc1RjAwQUE0MjRBRkY1ODJFNDM0NzVGNUVGCis6MTAzQUIyMDA4Mzc0ODBGMEVGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUMzCis6MTAzQUMyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUNECis6MTAzQUQyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUJDCis6MTAzQUUyMDBGNTgzRTRGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUFCCis6MTAzQUYyMDBGNTgzNzQwMUYwOTA3NjM1RTAwNEYwNDE0NzkwNzYzQzBFCis6MTAzQjAyMDA3NDBBRjBFNEEzRjA5MDc2MzU3NDAzRjA5MDc2M0NFMDBBCis6MTAzQjEyMDBGRjkwNzYzNUUwRkVDMzlGNDAwMjYxRDI5MDc2M0RFMDkxCis6MTAzQjIyMDBGRjA0RjBFRTc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNUQ4Cis6MTAzQjMyMDA4M0VGRjBFRTc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTU4Cis6MTAzQjQyMDA4M0U0RjBFRTc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTUyCis6MTAzQjUyMDA4Mzc0NUVGMEVFNzVGMDBBQTQyNEFERjU4MkU0MzQ3NTQ4Cis6MTAzQjYyMDBGNTgzNzRCQUYwRUU3NUYwMEFBNDI0QUVGNTgyRTQzNDVCCis6MTAzQjcyMDA3NUY1ODM3NDA1RjBFRTc1RjAwQUE0MjRBRkY1ODJFNEJFCis6MTAzQjgyMDAzNDc1RjU4Mzc0ODBGMEVFNzVGMDBBQTQyNEIwRjU4MkUyCis6MTAzQjkyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIxRjU4MkZECis6MTAzQkEyMDBFNDM0NzVGNTgzRTRGMEVFNzVGMDBBQTQyNEIyRjU4MkVDCis6MTAzQkIyMDBFNDM0NzVGNTgzNzQxNUYwRUU3NUYwMEFBNDI0QjNGNUI4Cis6MTAzQkMyMDA4MkU0MzQ3NUY1ODNFNEYwOTA3NjM1RTAwNEYwNjEwRTFBCis6MDEzQkQyMDAyMkQwCis6MTAzQkQzMDBFNDkwNzYzNkYwRTBGQjc1RjAwRkE0MjQ0MUY1ODJFNDFGCis6MTAzQkUzMDAzNDc1RjU4Mzc0NDBGMEVCNzVGMDBGQTQyNDQyRjU4MjJECis6MTAzQkYzMDBFNDM0NzVGNTgzNzQwQUYwRUI3NUYwMEZBNDI0NDNGNUYwCis6MTAzQzAzMDA4MkU0MzQ3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMEQ5Cis6MTAzQzEzMDAwRkE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMEY2Cis6MTAzQzIzMDBBQzQ0RUI3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0IzCis6MTAzQzMzMDAxMjM3QzgwMDAxNzcwMDkwNzYzNkUwMDRGMEUwRkI3NTk4Cis6MTAzQzQzMDBGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQwRjBFQjVFCis6MTAzQzUzMDA3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0OENGMDc3Cis6MTAzQzYzMDBFQjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzMTIzNzIyCis6MTAzQzczMDBDODAwMDBBQzQ0RUI3NUYwMEZBNDI0NDdGNTgyRTQzNDhDCis6MTAzQzgzMDA3NUY1ODMxMjM3QzgwMDAwQUM0NEVCNzVGMDBGQTQyNDFDCis6MTAzQzkzMDA0QkY1ODJFNDM0NzVGNTgzMTIzN0M4MDAwMTc3MDA5MDQxCis6MTAzQ0EzMDA3NjM2RTAwNEYwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNERBCis6MTAzQ0IzMDAzNDc1RjU4Mzc0NDBGMEVGNzVGMDBGQTQyNDQyRjU4MjU4Cis6MTAzQ0MzMDBFNDM0NzVGNTgzNzQ4RkYwOTA3NjM2RTAwNEYwRTBGRjBBCis6MTAzQ0QzMDA3NUYwMEZBNDI0NDFGNTgyRTQzNDc1RjU4Mzc0NDFGMDQzCis6MTAzQ0UzMDBFRjc1RjAwRkE0MjQ0MkY1ODJFNDM0NzVGNTgzNzQ4NEYwCis6MTAzQ0YzMDBGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTcwCis6MTAzRDAzMDA4MkU0MzQ3NUY1ODM3NDYxRjBFRjc1RjAwRkE0MjQ0MkY3Cis6MTAzRDEzMDBGNTgyRTQzNDc1RjU4Mzc0ODFGMDkwNzYzNkUwMDRGMDJGCis6MTAzRDIzMDBFMEZGNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQ0Cis6MTAzRDMzMDA2MUYwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4MzQ2Cis6MDQzRDQzMDA3NDAxRjAyMkY1Cis6MTAzRDQ3MDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMEY2Cis6MTAzRDU3MDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkIxCis6MTAzRDY3MDBDMEUwOTA3RkEyRTA5MDc2N0ZGMDkwN0Y3NEUwOTA3NjNECis6MTAzRDc3MDA4N0YwOTA3Rjc1RTA5MDc2ODhGMDkwN0Y5OEUwNDQwMjE2Cis6MTAzRDg3MDBGMDkwNzY5NkUwRkYyMEUxMEM0NDAyRjA5MDgwMDNGMDdCCis6MTAzRDk3MDBEMjMyMTI0QjI4OTA3NjdGRTAyMEUyNTA5MDc2ODdFMDZGCis6MTAzREE3MDBGRUEzRTA3QzAwMjQwMEY1MzRFQzNFRjUzMzkwNzY5OEQyCis6MTAzREI3MDBFMEZEQUUzM0FGMzQxMjM2RDg5MDc2ODdFRkYwRDIyRkNFCis6MTAzREM3MDAzMDMxMjkyMDNGMjZDMjMxOTA3Rjk0RTA1NENGRjA5MEM0Cis6MTAzREQ3MDA3RjlBRTAzMEU0MDREMjJEQzIyQzkwN0Y5QUUwMjBFNTUwCis6MTAzREU3MDAwNEMyMkREMjJDOTA3Rjk0RTA0NDMwRjAxMjQ4QkQxMkNCCis6MTAzREY3MDAxQjA0MzAyRjEyMTI0MjFGQzIyRjc1RTgwMTEyMTY4QUI4Cis6MTAzRTA3MDA3NUU4MEREMjJCODAwNTc1RTgwMUMyMkIyMDJCMzQ5MDY1Cis6MTAzRTE3MDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjAwCis6MTAzRTI3MDBGMEEzNzQwQkYwRUZCNDAyMEI5MDc2N0NFNEYwQTNGMEYwCis6MTAzRTM3MDBBMzc0MENGMEVGQjQwMzBCOTA3NjdDRTRGMEEzRjBBMzJCCis6MTAzRTQ3MDA3NDE4RjA3NUNBRDM3NUNCRkVEMkNBMzAzNDA0QzIzNEE1Cis6MTAzRTU3MDA4MDAyRDIzNDMwMzQwRDkwNzY4OUUwQzM5NDAzNDAwNDU1Cis6MTAzRTY3MDBFMDI0RkRGMDUzOTFFRjkwN0ZBQjc0MDJGMEYwOTA3RjY4Cis6MTAzRTc3MDA5OEUwNTRGREYwRDBFMEZGRDBFMEZFRDBFMEZERDBFMEM4Cis6MTAzRTg3MDBGQ0QwRTBGQkQwRTBGQUQwRTBGOUQwRTBGOEQwRDBEMDE5Cis6MDgzRTk3MDA4MkQwODNEMEYwRDBFMDMyQUMKKzoxMDNFOUYwMDkwNzY5MkUwMTQ2MDFEMTQ3MDAyRTE1NDI0MDI2MDAyQzcKKzoxMDNFQUYwMEUxRTQ5MDc2OTQ3NDAxRjA5MDgwMDBGMEU0OTA3NjhFQzcKKzoxMDNFQkYwMEYwRDIzMTIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RkYyMkIKKzoxMDNFQ0YwMEYwOTA3RkYzNzQzMEYwOTA3RkZGNzRGQ0YwOTA3Njk3NTIKKzoxMDNFREYwMEUwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkYwREUKKzoxMDNFRUYwMDkwN0ZGMzc0MzRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwM0UKKzoxMDNFRkYwMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDkwMUIKKzoxMDNGMEYwMDdGRjM3NDY0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDQ0MzkKKzoxMDNGMUYwMDA0RjA5MDc2OTRFMDQ0MDFGMDkwODAwMEYwMzAzRjA5NzcKKzoxMDNGMkYwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwOEEKKzoxMDNGM0YwMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA0RjA5MDc2RTcKKzoxMDNGNEYwMDhFNzQwMUYwMjI5MDc2MTlFMEZGQjQwMTFCRTQ5MDdGOEMKKzoxMDNGNUYwMEYyRjA5MDdGRjM3NDQ0RjA5MDdGRkY3NEZDRjA5MDc2NTIKKzoxMDNGNkYwMDk3RTA1NEZERjA1NEZCRjBFRkI0MDIxQkU0OTA3RkYyQTYKKzoxMDNGN0YwMEYwOTA3RkYzNzQ0Q0YwOTA3RkZGNzRGQ0YwOTA3Njk3ODUKKzoxMDNGOEYwMEUwNDQwMkYwNTRGQkYwRUZCNDAzMThFNDkwN0ZGMkYwM0EKKzoxMDNGOUYwMDkwN0ZGMzc0OTRGMDkwN0ZGRjc0RkNGMDkwNzY5N0UwMkQKKzoxMDNGQUYwMDQ0MDRGMDkwNzY5NEUwNTRGRUYwOTA4MDAwRjAzMDNGOUYKKzoxMDNGQkYwMDA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRTEKKzoxMDNGQ0YwMEYwOTA3Njk3RTA5MDgwMDJGMDkwNzY5ODc0MDZGMDkwREIKKzowNjNGREYwMDc2OEU3NDAyRjAyMjUwCis6MTAzRkU1MDA5MDdGRUFFMDkwNzY4MkYwRTQ5MDc2OTFGMDkwNzY5Mjc4Cis6MEIzRkY1MDBGMDkwNzY5MEYwOTA3NjkzRjBEMzIyQ0QKKzoxMDQwMDAwMEU1MTFEMzk0MDA1MDAyMjEwNjkwNzY4OUUwQzM5NDA4MEMKKzoxMDQwMTAwMDQwMDIyMTA2NzQ0MDI1MEZGNTgyRTQzNDdFRjU4M0UwRUEKKzoxMDQwMjAwMEY1MTdFNTBENjAwRTkwODAwNUU1MTdGMDkwNzY4OUUwQjQKKzoxMDQwMzAwMDA0RjAwMURBRTUxNzEyMzdGOTQwQzEwMjQwNjcwNTQwODQKKzoxMDQwNDAwMDdBMDY0MDk4MDc0MEMxMEM0MEMxMEQ0MEM3MEY0MENCRDUKKzoxMDQwNTAwMEY2NDBDQkY4NDBDQkZBNDBDQkZCNDBDQkZDNDBDQkZFNEMKKzoxMDQwNjAwMDQwQ0JGRjAwMDA0MERBOTA3RTQxRTA5MDgwMDVGMDkwNjgKKzoxMDQwNzAwMDc2ODlFMDA0RjA3NTExMDE4MDYwOTA3RTQxRTA5MDgwQzcKKzoxMDQwODAwMDA1RjA5MDdFNDJFMDkwODAwNUYwOTA3Njg5RTAwNEYwQTMKKzoxMDQwOTAwMEUwMDRGMDc1MTEwMTgwNDI5MDdFNDFFMDkwODAwNUYwQ0YKKzoxMDQwQTAwMDkwN0U0MkUwOTA4MDA1RjA5MDdFNDNFMDkwODAwNUYwQTUKKzoxMDQwQjAwMDkwNzY4OUUwMDRGMEUwMDRGMEUwMDRGMDc1MTEwMTgwRUUKKzoxMDQwQzAwMDE5RDIzQkQyM0M4MDEzRDIzQjgwMEY5MDgwMDVFNTE3N0MKKzoxMDQwRDAwMEYwOTA3Njg5RTAwNEYwNzUxMTAxMjAzQjA0MDUwRDgwMTUKKzoxMDQwRTAwMDFGMzAzQzFDOTA3RTQxRTA5MDgwMDVGMDkwN0U0MkUwQzUKKzoxMDQwRjAwMDkwODAwNUYwOTA3Njg5RTAwNEYwRTAwNEYwNzUxMTAxRkQKKzoxMDQxMDAwMDA1MEYxNTExMDEwMEU1MTE3MDEwQzIzM0Y1MERGNTBGMDMKKzowQjQxMTAwMDkwN0ZDNzc0MDRGMEMyM0JDMjNDMjI0OQorOjEwNDExQjAwOTA3NjhERTA2NDAxNzAyNzMwMjcwOEMyMjcxMjA4MDBDMworOjEwNDEyQjAwMTIxNzRBMzAyODA4QzIyODEyMzg3NDEyMTc0QTMwMkEzQworOjEwNDEzQjAwMEVFNDkwNzY4REYwQzIyQTkwN0ZCNEUwNDQwMkYwOTBBQQorOjEwNDE0QjAwNzYzRkUwQjQwMTA1RTRGMDEyMzI2RjkwNzY0MUUwQjRCMworOjEwNDE1QjAwMDEwNUU0RjAxMjM0OUE5MDc2NDBFMEI0MDEwMzEyMzQ3NgorOjEwNDE2QjAwOUExMjMwMDAzMDMzMDMxMjQwMDA5MDdGOUJFMDIwRTQyMgorOjEwNDE3QjAwMDJDMjNGOTA3RjlCRTAzMEU0MDJEMjNGOTA3RjlCRTBGNgorOjEwNDE4QjAwMjBFNTAyQzIzRTkwN0Y5QkUwMzBFNTAyRDIzRUEyNDE4OQorOjEwNDE5QjAwMzAzRjAxQjM1MDFGQTIzRjkyNDEzMDNGMDk5MDc2OTdCOQorOjEwNDFBQjAwRTA1NEZFRjA4MDA3OTA3Njk3RTA0NDAxRjA5MDc2OTcwQworOjEwNDFCQjAwRTA5MDgwMDJGMDMwM0YzNDkwNzYxOUUwRkZCNDAxMEVBRQorOjEwNDFDQjAwOTA3NjdDNzQ2N0YwQTM3NDA2RjBBMzc0MEJGMEVGQjRENQorOjEwNDFEQjAwMDIwQkU0OTA3NjdDRjBBM0YwQTM3NDBDRjBFRkI0MDMyNQorOjEwNDFFQjAwMEJFNDkwNzY3Q0YwQTNGMEEzNzQxOEYwQTI0MDMwM0U2MQorOjEwNDFGQjAwMDFCMzUwMUZBMjNFOTI0MDMwM0UwOTkwNzY5NUUwNDRBOQorOjEwNDIwQjAwMDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwNzY5NUUwOTA2MworOjA0NDIxQjAwODAwMUYwMjIwQworOjEwNDIxRjAwOTA3NjE5RTA2NDAxNzAzNTkwNzY4N0UwRkZEMzk0MkQ4NgorOjEwNDIyRjAwNDAyQjkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDMxMQorOjEwNDIzRjAwOTQwRjQwMTlFNEYwRUZEMzk0MzE0MDA4OTA3NjE5NzQzRAorOjEwNDI0RjAwMDNGMDgwMDY5MDc2MTk3NDAyRjAxMjNFOUY5MDc2MTk1MworOjEwNDI1RjAwRTBCNDAyMkM5MDc2ODdFMEZGQzM5NDJGNTAyMkVGRDM2NworOjEwNDI2RjAwOTQyQTQwMUM5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBENQorOjEwNDI3RjAwRTBEMzk0MEY0MDBBRTRGMDkwNzYxOTA0RjAxMjNFOUZCOQorOjEwNDI4RjAwOTA3NjE5RTBCNDAyMjY5MDc2ODdFMEQzOTQzMTQwMURFMgorOjEwNDI5RjAwOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwRTBEMzk0MEY2OQorOjEwNDJBRjAwNDAwQkU0RjA5MDc2MTk3NDAzRjAxMjNFOUY5MDc2MTk0QworOjEwNDJCRjAwRTA2NDAzNzAzRjkwNzY4N0UwRkZDMzk0NUY1MDM1OTBDMgorOjEwNDJDRjAwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNDA4OQorOjEwNDJERjAwMjNFNEYwRUZDMzk0MkY1MDBDRUZEMzk0MkE0MDA2OTBCMQorOjEwNDJFRjAwNzYxOTc0MDFGMEVGRDM5NDJGNDAwNjkwNzYxOTc0MDI2QgorOjEwNDJGRjAwRjAxMjNFOUY5MDc2ODZFMDcwMDU5MDc2ODVGMDIyRTQ2RQorOjA1NDMwRjAwOTA3Njg2RjAyMjBCCis6MTA0MzE0MDBFNDkwNzY5NkYwOTA4MDAzRjA5MDdGRTA3NDkwRjA5MEIzCis6MTA0MzI0MDA3RkUxNzQwNEYwRTQ5MDdGRERGMDkwN0ZBMUYwNTM4RTgwCis6MTA0MzM0MDBGODc1ODgwNTc1QjgyMDc1RjgwMTQzOEUzMEY1Qzg3NTkxCis6MTA0MzQ0MDBDQTdGNzVDQkY4NDNBODIwMTI0NTY1QzIyQ0MyMkRDMjgyCis6MTA0MzU0MDAyQkMyMkY5MDdGRkM3NERERjA5MDdGRkY3NEZGRjA5MEYwCis6MTA0MzY0MDA3Rjk3RTA0NDAxRjA5MDc2MTk3NDAxRjBFNDkwNzY4NTJCCis6MTA0Mzc0MDBGMEEzRjA5MDc2ODFGMDkwNzY4MEYwMTI0OUFFMTIwRjlGCis6MTA0Mzg0MDBDNjEyNEFGMTkwN0Y5N0UwNDQwOEYwRTA1NEI5RjBEMkE1Cis6MTA0Mzk0MDAzMDIwMzAxODEyNEFBNjEyMzAwMDEyNDAwMDEyNDIxRjc4Cis6MTA0M0E0MDAxMjQ4QkQxMjFCMDQxMjE2NjExMjQyMUYxMjRBQTZDMjAxCis6MTA0M0I0MDAyRkMyMzFDMjMyQzIzNEMyMzNDMjI5QzIyN0MyMjhFNDU2Cis6MTA0M0M0MDBGNTExOTA3Njg5RjA5MDc2M0ZGMDkwNzY0MUYwOTA3NkYyCis6MTA0M0Q0MDA0MEYwOTA3NjhBRjBBM0YwQTMwNEYwRTRBM0YwOTA3NjgyCis6MDM0M0U0MDA5OUYwMjIyQgorOjEwNDNFNzAwMTI0RTE5NDAwMjgxQUM5MDdGRUJFMDI0RkU2MDFFMTQ1MAorOjEwNDNGNzAwNjA0NjE0NjA2RTE0NzAwMjgxOUQyNDA0NjAwMjgxQTVEQQorOjEwNDQwNzAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUFGNgorOjEwNDQxNzAwRTBGRjEyNEE1NThCMjA4QTIxODkyMkVBNDk2MDExQ0U5MgorOjEwNDQyNzAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjJBMAorOjEwNDQzNzAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ3Qjc5MworOjEwNDQ0NzAwOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0VFRTkwN0YzRAorOjEwNDQ1NzAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQzRQorOjEwNDQ2NzAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIzMQorOjEwNDQ3NzAwMTIxNzk0OEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0U0RAorOjEwNDQ4NzAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZFOQorOjEwNDQ5NzAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YyMQorOjA1NDRBNzAwQjRFMDQ0MDFGMDQ3Cis6MDE0NEFDMDAyMkVECis6MTA0NEFEMDBDMkFGRDIyNDkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkJGMDk4Cis6MTA0NEJEMDA5MDdGOTZFMDQ0MzBGMEUwNTQzMEYwOTA3Rjk0NzQzMDZCCis6MTA0NENEMDBGMDkwN0Y5RDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NUMyCis6MTA0NEREMDA3NEMwRjA5MDdGOUU3NDAzRjA5MDdGOTlFMDMwRTIwOUY0Cis6MTA0NEVEMDA5MDA1MTk3NEEwRjBFNEEzRjBDMjI1QzIyMkMyMjNDMjI0Cis6MTA0NEZEMDAyNjEyNEIyODEyMkRBOTEyM0JEMzEyNDYxOTEyM0E0MkZECis6MTA0NTBEMDA5MDc2Njg3NDAxRjA3MDBGMTI0QzI5MTI0RTE1MTI0RUYwCis6MTA0NTFEMDAxNzEyMUI0MDEyMTQ5NjEyNDMxNDkwN0ZBRkUwNDQwMTAyCis6MTA0NTJEMDBGMDkwN0ZBRUUwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RjcxCis6MTA0NTNEMDBBREYwOTA3RkRFRjA5MDdGREZGMDkwN0ZBQkYwOTA3RjVECis6MTA0NTREMDBBOUYwOTA3RkFBRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODM5Cis6MDg0NTVEMDAyMDUzQThBMDQzQTg4MDIyMEUKKzoxMDQ1NjUwMDkwNzY5QTc0MDJGMEU0OTA3NjkxRjBBM0YwOTA3NjkwQUMKKzoxMDQ1NzUwMEYwOTA3NjkzRjA5MDc2OTY3NDAzRjA5MDgwMDNGMEU0RDMKKzoxMDQ1ODUwMDkwNzY5N0YwOTA4MDAyRjA5MDc2OTQwNEYwOTA4MDAwRjkKKzoxMDQ1OTUwMEYwRTQ5MDc2OEVGMDkwNzYxQUYwOTA3Njk1MDRGMEMyNUQKKzoxMDQ1QTUwMDJFOTA3RjlCRTBGRjU0MTBGRjcwMDJDMjNGOTA3RjlCQ0YKKzoxMDQ1QjUwMEUwRkY1NDEwRkVGRkJFMTAwMkQyM0Y5MDdGOUJFMEZGNEMKKzoxMDQ1QzUwMDU0MjBGRjcwMDJDMjNFOTA3RjlCRTBGRjU0MjBGRUZGMDcKKzoxMDQ1RDUwMEJFMjAwMkQyM0UzMDNGMDk5MDc2OTdFMDU0RkVGMDgwMkYKKzoxMDQ1RTUwMDA3OTA3Njk3RTA0NDAxRjA5MDc2OTdFMDkwODAwMkYwOEUKKzoxMDQ1RjUwMDMwM0UwOTkwNzY5NUUwNDQwNEYwODAwNzkwNzY5NUUwOEEKKzoxMDQ2MDUwMDU0RkJGMDkwNzY5NUUwOTA4MDAxRjBBMjNFOTI0MEEyOTYKKzowMzQ2MTUwMDNGOTI0MTkwCis6MDE0NjE4MDAyMjdGCis6MTA0NjE5MDBFNDkwNzYzNkYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNEU1Cis6MTA0NjI5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNERGCis6MTA0NjM5MDAzNDc1RjU4Mzc0MDFGMDkwNzYzNkUwMDRGMEUwRkY3NTg3Cis6MTA0NjQ5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NUMwCis6MTA0NjU5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDAyRjA5MEYxCis6MTA0NjY5MDA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQzMkY1ODJFNDI1Cis6MTA0Njc5MDAzNDc1RjU4M0U0RjBFRjc1RjAwM0E0MjQzM0Y1ODJFNDhGCis6MTA0Njg5MDAzNDc1RjU4Mzc0MDNGMDkwNzYzNkUwMDRGMEUwRkY3NTM1Cis6MTA0Njk5MDBGMDAzQTQyNDMyRjU4MkU0MzQ3NUY1ODNFNEYwRUY3NTcwCis6MTA0NkE5MDBGMDAzQTQyNDMzRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBECis6MEM0NkI5MDA3ODdGRTRGNkQ4RkQ3NTgxMzgwMjQ3MDBEOAorOjEwNDZDNTAwMDIwN0E2RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjI1RQorOjEwNDZENTAwMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNGNgorOjEwNDZFNTAwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZDNQorOjEwNDZGNTAwRTQ4MDBCMDEwMjA0MDgxMDIwNDA4MDkwMEM4RkU0N0VCQQorOjEwNDcwNTAwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNCOQorOjEwNDcxNTAwQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTM4MAorOjEwNDcyNTAwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FBQgorOjEwNDczNTAwRjBBM0M4QzU4MkM4Q0FDNTgzQ0FERkU5REVFNzgwQkU2MworOjEwNDc0NTAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDFEMTQ2MDJBMTRFRAorOjEwNDc1NTAwNjAzNzE0NjA0NDI0MDQ3MDUwOTA3NjkxRTA5MDdGMDA5NworOjEwNDc2NTAwRjA5MDdGQjU3NDAxRjA4MDQ3OTA3NjkyRTA5MDdGMDBERAorOjEwNDc3NTAwRjA5MDdGQjU3NDAxRjA4MDM3OTA3NjkwRTA5MDdGMDBERgorOjEwNDc4NTAwRjA5MDdGQjU3NDAxRjA4MDI3OTA3Njg0RTA5MDdGMDBFQgorOjEwNDc5NTAwRjA5MDdGQjU3NDAxRjA4MDE3OTA3NjkzRTA5MDdGMDBEQworOjEwNDdBNTAwRjA5MDdGQjU3NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA4QworOjAyNDdCNTAwRDMyMjBECis6MDI0N0I3MDA4RjJFNDMKKzoxMDQ3QjkwMEU0RjUyRjc1MzBGRjc1MzEwNzc1MzIxQUFCMzBBQTMxMjAKKzoxMDQ3QzkwMEE5MzI5MDAwMDExMjM2QUJCNDAzMUZBRjJGMDUyRkVGQUEKKzoxMDQ3RDkwMDY1MkU3MDAxMjIxMjM2OTI3RTAwMjlGRkVFM0FDOUVGNEEKKzoxMDQ3RTkwMEM5NzUzMEZGRjUzMTg5MzI4MEQyN0IwMDdBMDA3OTAwQjIKKzowMTQ3RjkwMDIyOUQKKzowNjQ3RkEwMDEyNEIyOEMyMzEyMjFGCis6MTA0ODAwMDBDMEUwQzBGMEMwODNDMDgyQzBEMEU4QzBFMEU5QzBFMDMyCis6MTA0ODEwMDBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkVECis6MTA0ODIwMDBDMEUwQzJDQUMyQ0Y5MDdGOThFMDQ0MDFGMDMwMkUwM0FFCis6MTA0ODMwMDAxMjE0QTY5MDdGOThFMDU0RkVGMDUzQThGQTEyMTY2MTY1Cis6MTA0ODQwMDBEMEUwRkZEMEUwRkVEMEUwRkREMEUwRkNEMEUwRkJEMDM3Cis6MTA0ODUwMDBFMEZBRDBFMEY5RDBFMEY4RDBEMEQwODJEMDgzRDBGMDI4Cis6MDM0ODYwMDBEMEUwMzI3MworOjEwNDg2MzAwOTA3RkVDRTA5MDc2ODNGMEUwMTQ2MDE3MTQ2MDIxMTRERAorOjEwNDg3MzAwNjAyQjE0NjAzMjI0MDQ3MDM4OTA3RkVBRTA5MDc2OTFDNAorOjEwNDg4MzAwRjA4MDM1OTA3RkVBRTA5MDc2OTJGMDEyM0U5RjgwMjg4OAorOjEwNDg5MzAwOTA3RkVBRTA5MDc2OTBGMDEyMTgwMDgwMUI5MDdGRUFGOAorOjEwNDhBMzAwRTA5MDc2ODRGMDgwMTE5MDdGRUFFMDkwNzY5M0YwODAzOAorOjBBNDhCMzAwMDc5MDdGQjRFMDQ0MDFGMEQzMjIyNworOjEwNDhCRDAwMzAyRDM5QzIyRDkwNzYxOUUwRkZCNDAxMERFNDkwNzZCQworOjEwNDhDRDAwN0NGMEEzNzRGOEYwQTM3NDBBRjBFRkI0MDIwREU0OTAzOQorOjEwNDhERDAwNzY3Q0YwQTM3NEYwRjBBMzc0MEJGMEVGQjQwMzBERTQ0OQorOjBENDhFRDAwOTA3NjdDRjBBMzc0RjhGMEEzNzQxN0YwMjIwRAorOjA2NDhGQTAwNTM5MUJGRDIyRDMyRTQKKzoxMDQ5MDAwMDAyMkZFNzAwMDIzRDQ3MDAwMjREQjQwMDAyNEM0MzAwNzUKKzoxMDQ5MTAwMDAyNEJFOTAwMDIyRkZGMDAwMjRDNUIwMDAyNEMwQTAwMzAKKzoxMDQ5MjAwMDAyNEM3MjAwMDI0QjVBMDAwMjRDODkwMDAyNENBMDAwNUIKKzoxMDQ5MzAwMDAyNENCNzAwMDI0Q0NFMDAwMjRDRTUwMDAyNENGQzAwRDkKKzoxMDQ5NDAwMDAyNEQxMzAwMDI0RDJBMDAwMjRENDEwMDAyNEQ1ODAwNTUKKzowODQ5NTAwMDAyNEQ2RjAwMDI0RDg2MDBDQworOjEwNDk1ODAwRTQ5MDc2MjZGMDkwNzYyNkUwRkY3NUYwMDNBNDI0MzRFMAorOjEwNDk2ODAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkRCMgorOjEwNDk3ODAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNkUwMDRGMDgwRDVDQQorOjEwNDk4ODAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyRUY3NUYwMDMxRgorOjEwNDk5ODAwQTQyNDMyRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwOTAyQQorOjA2NDlBODAwN0ZCNTc0MDFGMDIyNEUKKzoxMDQ5QUUwMDkwNzY0Njc0ODBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjYKKzoxMDQ5QkUwMEYwQTNGMEEzRjBBM0YwQTM3NDgwRjBFNEEzRjBBM0YwQUYKKzoxMDQ5Q0UwMEEzRjBBM0YwQTNGMEEzRjBBMzc0NDBGMEU0QTNGMEEzMkMKKzoxMDQ5REUwMDc0NDBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjBBM0YwQ0YKKzoxMDQ5RUUwMEEzNzQ0MEYwRTRBM0YwQTM3NDQwRjBFNEEzRjBBM0YwQUEKKzowNTQ5RkUwMEEzRjBBM0YwMjI2QworOjEwNEEwMzAwRTQ5MDc2MjVGMDkwNzYyNUUwRkY3NUYwMDNBNDI0MzQzNgorOjEwNEExMzAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQwNgorOjEwNEEyMzAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNUUwMDRGMDgwRDUxRgorOjEwNEEzMzAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyOTA3RUMwRTAxQworOjEwNEE0MzAwRkVFRjc1RjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRUVBQQorOjAyNEE1MzAwRjAyMjRGCis6MTA0QTU1MDBFNEZFNzUxREZGNzUxRTA1NzUxRjEyQUIxREFBMUVBOTY3Cis6MTA0QTY1MDAxRjkwMDAwMTEyMzZBQjY0MDI3MDJGQ0RFRUNEMEVFRDE2Cis6MTA0QTc1MDA2RjcwMDEyMjkwMDAwMjEyMzcwRTg1RjAxQkY1MUM2MjQzCis6MTA0QTg1MDAxQkU1MUI2MjFDRTUxQzYyMUIyOUZERTUxQjNBQzlFREY0Cis6MTA0QTk1MDBDOTc1MURGRkY1MUU4OTFGODBDMTdCMDA3QTAwNzkwMDRECis6MDE0QUE1MDAyMkVFCis6MTA0QUE2MDBFNDkwNzY5QkYwOTA3NjlCRTBGRjA0RjBFRjYwMDhFMEUwCis6MTA0QUI2MDAyNDA4RjhFNEY2ODBFRTkwNzY5NkUwNDQwNEYwNDQwODg0Cis6MTA0QUM2MDBGMDkwODAwM0YwRTRGNTE4RDIzNUY1MEVGNTEwRDIzNkU1Cis6MTA0QUQ2MDA3NTEyMTE3NTEzMjJDMjM3QzIzOUMyMzhGNTE2RjUxNDhDCis6MEI0QUU2MDBGNTFBRjUwREMyM0JDMjNDQzIzRDIyOTgKKzoxMDRBRjEwMEU0RkY3NDU2MkZGNTgyRTQzNDc2RjU4M0UwRkU3NDI4RTIKKzoxMDRCMDEwMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQ1RTJGRjU4MkU0QjQKKzoxMDRCMTEwMDM0NzZGNTgzRTBGRTc0MzgyRkY1ODJFNDM0ODBGNTgzMzIKKzowNjRCMjEwMEVFRjAwRkJGMDhDQzBFCis6MDE0QjI3MDAyMjZCCis6MTA0QjI4MDBFNDkwNzIzNkYwQTNGMDkwN0Y5N0UwNTRGQkYwRTQ5MEE1Cis6MTA0QjM4MDA3MjMzRjA5MDcyMzJGMDkwNzIwMTA0RjBFNDkwNzIzM0E0Cis6MTA0QjQ4MDBGMDkwNzIzMkYwOTA3MjAxMDRGMDkwN0Y5N0UwNDQwNDg0Cis6MDI0QjU4MDBGMDIyNDkKKzoxMDRCNUEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMkYwODQKKzoxMDRCNkEwMDkwN0ZDN0UwRjUxMTc1MEYwMDc1MEQwMEQyMzNEMDgyMjIKKzowNTRCN0EwMEQwODNEMEUwMzIwMQorOjEwNEI3RjAwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwNDIwNEUwNDQ2QworOjEwNEI4RjAwMDJGMDdGREM3RTA1MTI0RDlEOTA3RkQ2RTA1NEY3RjA0QQorOjA1NEI5RjAwRTA0NDA0RjAyMkQ3Cis6MTA0QkE0MDA5MDdGRUJFMDE0NzAxNDkwN0ZFOUUwMjQ3RjcwMDQxMjhFCis6MTA0QkI0MDA0OTU4MjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDRECis6MDM0QkM0MDAwMUYwMjJEQgorOjEwNEJDNzAwOTA3RkVCRTAxNDcwMTM5MDdGRTlFMDE0NzAwNDEyNEFCMQorOjEwNEJENzAwMDMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFDNworOjAyNEJFNzAwRjAyMkJBCis6MTA0QkU5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDEwRjA5MDA2Cis6MTA0QkY5MDA3Njk2RTA1NEZERjA5MDgwMDNGMEQwODJEMDgzRDBFMDI3Cis6MDE0QzA5MDAzMjc4Cis6MTA0QzBBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDFGMEQ0Cis6MEY0QzFBMDBDMjI5OTA3NjhENzQwMUYwRDA4MkQwODNEMEUwMzIyMQorOjEwNEMyOTAwOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMTQ3RTAwMTI1NQorOjBBNEMzOTAwNEQ5RDkwN0ZENkUwNTRGRUYwMjI1RQorOjEwNEM0MzAwQzBFMEMwODNDMDgyRDIyNTUzOTFFRjkwN0ZBQjc0MDgzQworOjA4NEM1MzAwRjBEMDgyRDA4M0QwRTAzMkUyCis6MTA0QzVCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDFGMDg0Cis6MDc0QzZCMDBEMDgyRDA4M0QwRTAzMkJCCis6MTA0QzcyMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDJGMDZDCis6MDc0QzgyMDBEMDgyRDA4M0QwRTAzMkE0Cis6MTA0Qzg5MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDRGMDUzCis6MDc0Qzk5MDBEMDgyRDA4M0QwRTAzMjhECis6MTA0Q0EwMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDRGMDNCCis6MDc0Q0IwMDBEMDgyRDA4M0QwRTAzMjc2Cis6MTA0Q0I3MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MDhGMDIxCis6MDc0Q0M3MDBEMDgyRDA4M0QwRTAzMjVGCis6MTA0Q0NFMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MDhGMDA5Cis6MDc0Q0RFMDBEMDgyRDA4M0QwRTAzMjQ4Cis6MTA0Q0U1MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MTBGMEVCCis6MDc0Q0Y1MDBEMDgyRDA4M0QwRTAzMjMxCis6MTA0Q0ZDMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MTBGMEQzCis6MDc0RDBDMDBEMDgyRDA4M0QwRTAzMjE5Cis6MTA0RDEzMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0MjBGMEFDCis6MDc0RDIzMDBEMDgyRDA4M0QwRTAzMjAyCis6MTA0RDJBMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0MjBGMDk0Cis6MDc0RDNBMDBEMDgyRDA4M0QwRTAzMkVCCis6MTA0RDQxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0NDBGMDVFCis6MDc0RDUxMDBEMDgyRDA4M0QwRTAzMkQ0Cis6MTA0RDU4MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0NDBGMDQ2Cis6MDc0RDY4MDBEMDgyRDA4M0QwRTAzMkJECis6MTA0RDZGMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQTlFMDQ0ODBGMEYwCis6MDc0RDdGMDBEMDgyRDA4M0QwRTAzMkE2Cis6MTA0RDg2MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUFFMDQ0ODBGMEQ4Cis6MDc0RDk2MDBEMDgyRDA4M0QwRTAzMjhGCis6MTA0RDlEMDA4RTM1OEYzNkU1MzYxNTM2QUUzNTcwMDIxNTM1NEU2MENCCis6MDc0REFEMDAwNTEyMTQ4NTgwRUUyMkJGCis6MTA0REI0MDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDA0RjBEMDA1Cis6MDY0REM0MDA4MkQwODNEMEUwMzIzMgorOjEwNERDQTAwOTA3NjgyRTA5MDdGMDBGMDkwN0ZCNTc0MDFGMEQzMjI1NAorOjBDNEREQTAwQzIzN0U0RjUwRUY1MTBDMjM2RjUxNDIyQzUKKzowOTRERTYwMEMyMjU1M0Q4RUY0M0Q4MjAzMjU2Cis6MDc0REVGMDA1Mzk4RkU1Mzk4RkQzMkJBCis6MDc0REY2MDA1M0MwRkU1M0MwRkQzMjYzCis6MDY0REZEMDA1MzkxN0ZEMjJDMzIxRAorOjA0NEUwMzAwNTM5MURGMzJCNgorOjA0NEUwNzAwNTNEOEY3MzI1MworOjA0NEUwQjAwMTIxNzMwMjIyOAorOjAzNEUwRjAwQzI4RDMyMUYKKzowMzRFMTIwMEMyOEYzMjFBCis6MDI0RTE1MDBEMzIyQTYKKzowMjRFMTcwMEQzMjJBNAorOjAyNEUxOTAwRDMyMkEyCis6MDI0RTFCMDBEMzIyQTAKKzowMjRFMUQwMEQzMjI5RQorOjAyNEUxRjAwRDMyMjlDCis6MDI0RTIxMDBDMzIyQUEKKzowMDAwMDAwMUZGCisvKgorU291cmNlOiBFTUk2Mk1GVy5IRVgKK1ZFUlNJT049MS4wNC4wNjIKK0RBVEU9MTYuMTAuMjAwMgorKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2VtaTYyL3NwZGlmLkhFWCBiL2Zpcm13YXJlL2VtaTYyL3NwZGlmLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjJkNTBjCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZW1pNjIvc3BkaWYuSEVYCkBAIC0wLDAgKzEsMTI1NyBAQAorOjAzMDAwMDAwMDI0NUY5QkQKKzowMzAwMDMwMDAyMEZGREVDCis6MDMwMDBCMDAwMjREOUIwOAorOjAzMDAxMzAwMDIxN0ZERDQKKzowMzAwMUIwMDAyNEQ5RUY1Cis6MDMwMDIzMDAwMjRENzUxNgorOjAzMDAyQjAwMDI0NkY3OTMKKzowMzAwMzMwMDAyNEQ2QzBGCis6MDMwMDNCMDAwMjREN0NGNworOjAzMDA0MzAwMDI0OTAwNkYKKzowMzAwNEIwMDAyNEQ4RkQ0Cis6MDMwMDUzMDAwMjREODNEOAorOjAzMDA1QjAwMDI0RDg5Q0EKKzowMzAwNjMwMDAyNEQ5M0I4Cis6MTAwNTAwMDAxMjAxMTAwMTAwMDAwMDQwNkEwODExMDEwMDAxMDEwMkZGCis6MTAwNTEwMDAwMDAxMDkwMkFDMDEwMzAxMDA4MDMyMDkwNDAwMDAwMDVGCis6MTAwNTIwMDAwMTAxMDAwMDBBMjQwMTAwMDE1NjAwMDIwMTAyMEMyNDBFCis6MTAwNTMwMDAwMjAxMDEwMTAwMDIwMDAwMDAwMDBEMjQwNjA1MDEwMjc1Cis6MTAwNTQwMDAwMzAwMDAwMDAwMDAwMDA5MjQwMzAyMDQwMzAwMDUwMDZBCis6MTAwNTUwMDAwQzI0MDIwMzA1MDIwMDA2MDAwMDAwMDAxNTI0MDYwNjE0Cis6MTAwNTYwMDAwMzAyMDAwMDAzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDc0Cis6MTAwNTcwMDAwMDA5MjQwMzA0MDEwMTAwMDYwMDA5MDQwMTAwMDAwMTMwCis6MTAwNTgwMDAwMjAwMDAwOTA0MDEwMTAyMDEwMjAwMDAwNzI0MDEwMTI4Cis6MTAwNTkwMDAwMDAxMDAxMTI0MDIwMTAyMDIxMDAzNDRBQzAwODBCQkUwCis6MTAwNUEwMDAwMDAwNzcwMTA5MDUwQTA1ODQwMTAxMDA4RjA3MjUwMTc0Cis6MTAwNUIwMDAwMTAwMDAwMDA5MDU4RjAxMDMwMDAxMDUwMDA5MDQwMTg1Cis6MTAwNUMwMDAwMjAyMDEwMjAwMDAwNzI0MDEwMTAwMDEwMDExMjQwMkJGCis6MTAwNUQwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTQ5Cis6MTAwNUUwMDAwQTA1NDYwMjAxMDA4RjA3MjUwMTAxMDAwMDAwMDkwNUU4Cis6MTAwNUYwMDA4RjAxMDMwMDAxMDUwMDA5MDQwMjAwMDAwMTAyMDAwMDUwCis6MTAwNjAwMDAwOTA0MDIwMTAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMEE1Cis6MTAwNjEwMDAwRTI0MDIwMTA2MDIxMDAyNDRBQzAwODBCQjAwMDkwNTUyCis6MTAwNjIwMDA4QzA1NEMwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDkwNEFFCis6MTAwNjMwMDAwMjAyMDEwMTAyMDAwMDA3MjQwMTA0MDAwMTAwMEUyNDRGCis6MTAwNjQwMDAwMjAxMDYwMzE4MDI0NEFDMDA4MEJCMDAwOTA1OEMwNUJBCis6MTAwNjUwMDA3MjAzMDEwMDAwMDcyNTAxMDAwMjAwMDAwOTA0MDIwM0UzCis6MTAwNjYwMDAwMTAxMDIwMDAwMDcyNDAxMDQwMDAxMDAxMTI0MDIwMTFECis6MTAwNjcwMDAwMjAyMTAwMzQ0QUMwMDgwQkIwMDAwNzcwMTA5MDU4QzI2Cis6MTAwNjgwMDAwNTg0MDEwMTAwMDAwNzI1MDEwMDAyMDAwMDA5MDQwMkExCis6MTAwNjkwMDAwNDAxMDEwMjAwMDAwNzI0MDEwNDAwMDEwMDExMjQwMkVBCis6MTAwNkEwMDAwMTAyMDMxODAzNDRBQzAwODBCQjAwMDA3NzAxMDkwNTc4Cis6MTAwNkIwMDA4QzA1NDYwMjAxMDAwMDA3MjUwMTAwMDIwMDAwMDQwMzJBCis6MTAwNkMwMDAwOTA0MTgwMzQ1MDA2RDAwNjEwMDY3MDA2OTAwNjMwMEJDCis6MTAwNkQwMDAyMDAwNDcwMDZEMDA2MjAwNDgwMDIyMDM0NTAwNkQwMEM1Cis6MTAwNkUwMDA2MTAwNjcwMDY5MDA2MzAwMjAwMDQ1MDA0RDAwNDkwMDdCCis6MTAwNkYwMDAyMDAwMzYwMDdDMDAzMjAwMjAwMDZEMDAyQTAzNDMwMEY5Cis6MTAwNzAwMDA2RjAwNkUwMDY2MDA2OTAwNjcwMDc1MDA3MjAwNjEwMDhFCis6MTAwNzEwMDA3NDAwNjkwMDZGMDA2RTAwMjAwMDUzMDA3NDAwNzIwMEM2Cis6MTAwNzIwMDA2OTAwNkUwMDY3MDAyMjAzNDkwMDZFMDA3NDAwNjUwMEQ2Cis6MTAwNzMwMDA3MjAwNjYwMDYxMDA2MzAwNjUwMDIwMDA1MzAwNzQwMEQxCis6MEEwNzQwMDA3MjAwNjkwMDZFMDA2NzAwMDAwMEZGCis6MTAwNzRBMDA5MDc2OUE3NDAyRjBFNDkwNzY5MUYwQTNGMDkwNzY5MDA1Cis6MTAwNzVBMDBGMDkwNzY5M0YwOTA3Njk2NzQwM0YwOTA4MDAzRjBFNDJDCis6MTAwNzZBMDA5MDc2OTdGMDkwODAwMkYwOTA3Njk0MDRGMDkwODAwMDUyCis6MTAwNzdBMDBGMEU0OTA3NjhFRjA5MDc2MUFGMDkwNzY5NTA0RjBDMkI2Cis6MTAwNzhBMDAyRTkwN0Y5QkUwRkY1NDEwRkY3MDAyQzIzRjkwN0Y5QjI4Cis6MTAwNzlBMDBFMEZGNTQxMEZFRkZCRTEwMDJEMjNGOTA3RjlCRTBGRkE1Cis6MTAwN0FBMDA1NDIwRkY3MDAyQzIzRTkwN0Y5QkUwRkY1NDIwRkVGRjYwCis6MTAwN0JBMDBCRTIwMDJEMjNFMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDg4Cis6MTAwN0NBMDAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA5MDgwMDJGMEU3Cis6MTAwN0RBMDAzMDNFMDk5MDc2OTVFMDQ0MDRGMDgwMDc5MDc2OTVFMEUzCis6MTAwN0VBMDA1NEZCRjA5MDc2OTVFMDkwODAwMUYwQTIzRTkyNDBBMkYwCis6MDMwN0ZBMDAzRjkyNDFFQQorOjAxMDdGRDAwMjJEOQorOjAyMDdGRTAwRDMyMjA0Cis6MTAwODAwMDBFNDkwNzYzMUYwOTA3NjMxRTBGRjc1RjAwM0E0MjQwRjg4Cis6MTAwODEwMDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRURFMEZERUU2RDRBCis6MTAwODIwMDA2MDBFRUZDMzk0MEI1MDA4OTA3NjMxRTAwNEYwODBENTUxCis6MTAwODMwMDBFRkI0MEIwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwM0IxCis6MTAwODQwMDBBNDI0MEVGNTgyRTQzNDc1RjU4M0UwOTA3NjMzRjAyNDI5Cis6MTAwODUwMDBGMDYwMEEyNDBFNjAwMjgxODcxMjRCM0UyMjkwN0ZFREU5Cis6MTAwODYwMDBFMDY0MDU3MDUxOTA3NjE4NzQwNUYwOTA3NjM3NzQwMTQ1Cis6MTAwODcwMDBGMDkwNzYzOTc0MDNGMDkwNzYyMUYwRTQ5MDc2MjBGMEQxCis6MTAwODgwMDA5MDdGRUFFMEY0NjAyRjkwNzYyMEUwRkY3NUYwMEFBNEY0Cis6MTAwODkwMDAyNEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVBRTBGRDVBCis6MTAwOEEwMDBFRTZENjAxMjkwNzYyMUUwRkVFRkMzOUU1MDA4OTA3NkM4Cis6MTAwOEIwMDAyMEUwMDRGMDgwRDE5MDdGRURFMDY0MDY3MDUyOTA3NkU1Cis6MTAwOEMwMDAxODc0MDZGMDkwNzYzNzc0MDRGMDkwNzYzOTc0MEFGMDU0Cis6MTAwOEQwMDA5MDc2MjFGMDkwNzYyMDc0MDNGMDkwN0ZFQUUwRjQ2MDQ3Cis6MTAwOEUwMDAyRjkwNzYyMEUwRkY3NUYwMEFBNDI0QUFGNTgyRTQzNDY0Cis6MTAwOEYwMDA3NUY1ODNFMEZFOTA3RkVBRTBGREVFNkQ2MDEyOTA3Njg0Cis6MTAwOTAwMDAyMUUwRkVFRkMzOUU1MDA4OTA3NjIwRTAwNEYwODBEMUY1Cis6MTAwOTEwMDA5MDc2MjBFMEZGNzVGMDBBQTQyNEFBRjU4MkU0MzQ3NUVECis6MTAwOTIwMDBGNTgzRTA5MDcyMjlGMEU0OTA3NjNCRjA5MDc2MjFFMDM4Cis6MTAwOTMwMDBGRUVGNkU3MDA4OTA3RkI0RTA0NDAxRjAyMjkwN0ZFQkYwCis6MTAwOTQwMDBFMDE0NjAxMzE0NzAwMjIxRTIyNDAyNjAwMjgxN0Y5MDlGCis6MTAwOTUwMDA3RkI0RTA0NDAxRjAyMjkwN0ZFOUUwMTQ3MDdDOTA3RjQ2Cis6MTAwOTYwMDBFQUUwRjQ3MDQ4OTA3NjM3RTA5MDc2MjBGMDkwNzYzOTlGCis6MTAwOTcwMDBFMEZFOTA3NjIwRTBGREMzOUU1MDJCOTA3NjNCRTBGRTlCCis6MTAwOTgwMDAwNEYwNzRDMDJFRjU4MkU0MzQ3RUY1ODNFMEZFRUQ3NTRDCis6MTAwOTkwMDBGMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFRUYwOTA3NjhBCis6MTAwOUEwMDAyMEUwMDRGMDgwQzc5MDc2M0Y3NDAxRjAyMjkwN0VDMDcyCis6MTAwOUIwMDBFMEZFRUY3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU4MzBDCis6MTAwOUMwMDBFRUYwRTBCNDAxMDg5MDc2M0U3NDAxRjA4MDA1RTQ5MDBBCis6MTAwOUQwMDA3NjNFRjA5MDc2M0Y3NDAxRjAyMjkwN0ZCNEUwNDQwMUJGCis6MTAwOUUwMDBGMDIyOTA3RkU5RTAyNEZFNzAwMjQxQTMxNDcwMDI2MUJFCis6MTAwOUYwMDAzRjE0NzAwMjYxREIyNDAzNjAwMjgxNzc5MDdGRUFFMDlDCis6MTAwQTAwMDBGNDcwNkI5MDc2MzdFMDkwNzYyMEYwOTA3NjM5RTBGRkM2Cis6MTAwQTEwMDA5MDc2MjBFMEZFQzM5RjUwNEU5MDc2M0JFMEZGMDRGMEJFCis6MTAwQTIwMDA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRTc1RjAwQUEyCis6MTAwQTMwMDBBNDI0QUNGNTgyRTQzNDc1RjU4M0VGRjA5MDc2M0JFMEM2Cis6MTAwQTQwMDBGRjA0RjA3NEMwMkZGNTgyRTQzNDdFRjU4M0UwRkZFRUZFCis6MTAwQTUwMDA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MEM3Cis6MTAwQTYwMDA3NjIwRTAwNEYwODBBNDkwNzY0MDc0MDFGMDIyOTA3RTFECis6MTAwQTcwMDBDMEUwRkY5MDc2MjBFMEZFNzVGMDBBQTQyNEFDRjU4Mjc5Cis6MTAwQTgwMDBFNDM0NzVGNTgzRUZGMDkwN0VDMUUwRkZFRTc1RjAwQTc3Cis6MTAwQTkwMDBBNDI0QURGNTgyRTQzNDc1RjU4M0VGRjA5MDc2NDE3NENCCis6MTAwQUEwMDAwMUYwMjI5MDdGRUFFMEY0NzA2NjkwNzYzN0UwOTA3NjZECis6MTAwQUIwMDAyMEYwOTA3NjM5RTBGRjkwNzYyMEUwRkVDMzlGNDAwMjYwCis6MTAwQUMwMDA4MThFOTA3NjNCRTBGRjA0RjA3NEMwMkZGNTgyRTQzNDExCis6MTAwQUQwMDA3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUVGNTgyRTQzNERGCis6MTAwQUUwMDA3NUY1ODNFRkYwOTA3NjNCRTBGRjA0RjA3NEMwMkZGNUNFCis6MTAwQUYwMDA4MkU0MzQ3RUY1ODNFMEZGRUU3NUYwMEFBNDI0QUZGNUJFCis6MTAwQjAwMDA4MkU0MzQ3NUY1ODNFRkYwOTA3NjIwRTAwNEYwODBBMjYzCis6MTAwQjEwMDA5MDdFQzBFMEZGOTA3NjIwRTBGRTc1RjAwQUE0MjRBRTNGCis6MTAwQjIwMDBGNTgyRTQzNDc1RjU4M0VGRjA5MDdFQzFFMEZGRUU3NTU5Cis6MTAwQjMwMDBGMDBBQTQyNEFGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDM3Cis6MTAwQjQwMDA3RkVBRTBGNDcwNjY5MDc2MzdFMDkwNzYyMEYwOTA3NjU5Cis6MTAwQjUwMDAzOUUwRkY5MDc2MjBFMEZFQzM5RjQwMDI4MThFOTA3NkMwCis6MTAwQjYwMDAzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUY1ODNFMEFGCis6MTAwQjcwMDBGRkVFNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFRjM2Cis6MTAwQjgwMDBGMDkwNzYzQkUwRkYwNEYwNzRDMDJGRjU4MkU0MzQ3RUYxCis6MTAwQjkwMDBGNTgzRTBGRkVFNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NTI0Cis6MTAwQkEwMDBGNTgzRUZGMDkwNzYyMEUwMDRGMDgwQTI5MDdFQzBFMDI0Cis6MTAwQkIwMDBGRjkwNzYyMEUwRkU3NUYwMEFBNDI0QjBGNTgyRTQzNEJDCis6MTAwQkMwMDA3NUY1ODNFRkYwOTA3RUMxRTBGRkVFNzVGMDBBQTQyNDg2Cis6MTAwQkQwMDBCMUY1ODJFNDM0NzVGNTgzRUZGMDIyOTA3RkVBRTBGNDFBCis6MTAwQkUwMDA3MDY2OTA3NjM3RTA5MDc2MjBGMDkwNzYzOUUwRkY5MDRFCis6MTAwQkYwMDA3NjIwRTBGRUMzOUY0MDAyODE4RTkwNzYzQkUwRkYwNEFBCis6MTAwQzAwMDBGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRkVFNzVGMERBCis6MTAwQzEwMDAwQUE0MjRCMkY1ODJFNDM0NzVGNTgzRUZGMDkwNzYzQkI0Cis6MTAwQzIwMDBFMEZGMDRGMDc0QzAyRkY1ODJFNDM0N0VGNTgzRTBGRjJBCis6MTAwQzMwMDBFRTc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVGNTgzRUZGMDgxCis6MTAwQzQwMDA5MDc2MjBFMDA0RjA4MEEyOTA3RUMwRTBGRjkwNzYyMEI1Cis6MTAwQzUwMDBFMEZFNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFRjYyCis6MTAwQzYwMDBGMDkwN0VDMUUwRkZFRTc1RjAwQUE0MjRCM0Y1ODJFNEIzCis6MTAwQzcwMDAzNDc1RjU4M0VGRjAyMjkwN0ZCNEUwNDQwMUYwMjI5MEM4Cis6MEYwQzgwMDA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjIwMQorOjEwMEM4RjAwNDE3NjY4MDE0MTc2NkEwMjQxNzY2QjBBQzEyMEMxMjEyMworOjAyMEM5RjAwQzEyRjYzCis6MDQwQ0ExMDA0MTc2MjMwMDc1Cis6MTAwQ0E1MDA0MTcyMDEwMTQ1NzIwNTAwMDJDOTAwMDA0NTcyMEEwMDQyCis6MTAwQ0I1MDAwMTAyMDMwNDRENzIwRkQxMDBEMTAwMDAwMDAwMDAwMEI1Cis6MTAwQ0M1MDAyODI4MDkwMDRENzIxQzAxMDAwMTAyMDMwNDA1MDYwN0NFCis6MTAwQ0Q1MDAwODA5MEEwQjQxNzIyRTIyNDE3MjJGMjM0MTcyMzAyMERFCis6MTAwQ0U1MDA0MTcyMzEyMTYyRDI3MjNBMDAwMDAwMDAwMDAwMDAwMDFBCis6MTAwQ0Y1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAwRDA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAwRDE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAwRDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAwRDM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAwRDQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAwRDU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAwRDY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAwRDc1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMTAxMDEwMTY4Cis6MTAwRDg1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTRFCis6MTAwRDk1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTNFCis6MTAwREE1MDAwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTJFCis6MTAwREI1MDAwMTAxMDEwMTAxMDEwMTAxMDIwMjAyMDIwMjAyMDIwMjE2Cis6MTAwREM1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkZFCis6MTAwREQ1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkVFCis6MTAwREU1MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMkRFCis6MTAwREY1MDAwMjAyMDIwMjAyMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0MzCis6MTAwRTA1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwM0FECis6MTAwRTE1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzlECis6MTAwRTI1MDAwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzhECis6MTAwRTM1MDAwMzAzMDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDZGCis6MTAwRTQ1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDVECis6MTAwRTU1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDRECis6MTAwRTY1MDAwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDA0MDQwNDNECis6MTAwRTc1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTFECis6MTAwRTg1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTBECis6MTAwRTk1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNUZECis6MTAwRUE1MDAwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDUwNTA1MDYwNkVCCis6MTAwRUI1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkNECis6MTAwRUM1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkJECis6MTAwRUQ1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDYwNkFECis6MTAwRUU1MDAwNjA2MDYwNjA2MDYwNjA2MDYwNjA2MDcwNzA3MDgwODk2Cis6MTAwRUY1MDAwODA5MDkwOTBBMEEwQTBCMEIwQjBDMEMwQzBEMEQwRDQwCis6MTAwRjA1MDAwRTBFMEUwRjBGMEYxMDEwMTAxMTExMTExMjEyMTIxM0Q5Cis6MTAwRjE1MDAxMzEzMTQxNDE0MTUxNTE1MTYxNjE2MTcxNzE3MTgxODc0Cis6MTAwRjI1MDAxODE5MTkxOTE5MUExQTFBMUExQjFCMUIxQjFDMUMxQzE4Cis6MTAwRjM1MDAxQzFEMUQxRDFEMUUxRTFFMUUxRjFGMUYxRjIwMjAyMEM4Cis6MTAwRjQ1MDAyMTIxMjEyMjIyMjIyMzIzMjQyNDI1MjUyNjI2MjcyNzYxCis6MTAwRjU1MDAyODI4MjkyOTJBMkEyQjJCMkMyQzJEMkQyRTJFMkYyRkQ0Cis6MTAwRjY1MDAzMDMwMzEzMTMyMzIzMzMzMzQzNDM1MzUzNjM2MzczNzQ0Cis6MTAwRjc1MDAzODM4MzkzOTNBM0EzQjNDM0QzRTNGNDA0MTQyNDM0NDlCCis6MTAwRjg1MDA0NTQ2NDc0ODQ5NDk0QTRCNEI0QzRENEU0RjUwNTE1MkE3Cis6MTAwRjk1MDA1MzU0NTU1NTU2NTY1NzU3NTg1QTVCNUQ1RTVGNjE2MkI3Cis6MTAwRkE1MDA2MzY0NjU2NjY3Njg2OTZBNkI2QzZENkY3MTcyNzM3NDhCCis6MTAwRkI1MDA3NTc2Nzc3ODc5N0E3QjdDN0U4MDAxMzcwMTAxMzgwMEY4Cis6MDEwRkM1MDAwMDJCCis6MTAwRkM2MDBFNEZGNzQ0NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyMDYwCis6MTAwRkQ2MDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NEUyRkY1ODJFNDJCCis6MTAwRkU2MDAzNDc2RjU4M0UwRkU3NDMwMkZGNTgyRTQzNDgwRjU4M0ExCis6MDYwRkY2MDBFRUYwMEZCRjA4Q0M3NQorOjAxMEZGQzAwMjJEMgorOjAzMEZGRDAwQzI4OTMyNzQKKzoxMDEwMDAwMEU0OTA3NjJDRjA5MDc2MkNFMEZGNzVGMDAzQTQyNDBGOEEKKzoxMDEwMTAwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFREUwRkRFRTZENDIKKzoxMDEwMjAwMDYwMEVFRkMzOTQwQjUwMDg5MDc2MkNFMDA0RjA4MEQ1NEUKKzoxMDEwMzAwMEVGQjQwQjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzQTkKKzoxMDEwNDAwMEE0MjQwRUY1ODJFNDM0NzVGNTgzRTA5MDc2MkVGMDI0MjYKKzoxMDEwNTAwMEYwNjAwQTI0MEY2MDAyODE3RDEyNEIxQjIyOTA3RkVEMEQKKzoxMDEwNjAwMEUwNjQwNTcwNTE5MDc2MTg3NDA1RjA5MDc2Mzg3NDAxM0MKKzoxMDEwNzAwMEYwOTA3NjNBNzQwM0YwOTA3NjFDRjBFNDkwNzYxQkYwRDIKKzoxMDEwODAwMDkwN0ZFQUUwRjQ2MDJGOTA3NjFCRTBGRjc1RjAwQUE0RjEKKzoxMDEwOTAwMDI0QUFGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUFFMEZENTIKKzoxMDEwQTAwMEVFNkQ2MDEyOTA3NjFDRTBGRUVGQzM5RTUwMDg5MDc2QzUKKzoxMDEwQjAwMDFCRTAwNEYwODBEMTkwN0ZFREUwNjQwNjcwNTI5MDc2RTIKKzoxMDEwQzAwMDE4NzQwNkYwOTA3NjM4NzQwNEYwOTA3NjNBNzQwQUYwNEEKKzoxMDEwRDAwMDkwNzYxQ0YwOTA3NjFCNzQwM0YwOTA3RkVBRTBGNDYwNDkKKzoxMDEwRTAwMDJGOTA3NjFCRTBGRjc1RjAwQUE0MjRBQUY1ODJFNDM0NjEKKzoxMDEwRjAwMDc1RjU4M0UwRkU5MDdGRUFFMEZERUU2RDYwMTI5MDc2N0MKKzoxMDExMDAwMDFDRTBGRUVGQzM5RTUwMDg5MDc2MUJFMDA0RjA4MEQxRjcKKzoxMDExMTAwMEU0OTA3NjFFRjA5MDc2MUNFMEZGOTA3NjFCRTBGRTZGNjgKKzoxMDExMjAwMDcwMDg5MDdGQjRFMDQ0MDFGMDIyOTA3RkVCRTAxNDYwRkYKKzoxMDExMzAwMDEzMTQ3MDAyMjFCRjI0MDI2MDAyODE3NTkwN0ZCNEUwMTUKKzoxMDExNDAwMDQ0MDFGMDIyOTA3RkU5RTAyNDdGNzA2QjkwN0ZFQUUwMTkKKzoxMDExNTAwMEY0NzA0QTkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTMKKzoxMDExNjAwMDkwNzYxQkUwRkRDMzlGNTAyQkVENzVGMDBBQTQyNEFCRDUKKzoxMDExNzAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkQwNEYwMUYKKzoxMDExODAwMDc0MDAyREY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwNTgKKzoxMDExOTAwMDA0RjA4MEM3OTA3NjFFRTA5MDdGQjVGMDIyRUU3NUYwRTcKKzoxMDExQTAwMDBBQTQyNEFCRjU4MkU0MzQ3NUY1ODNFMDkwN0YwMEYwNjcKKzoxMDExQjAwMDkwN0ZCNTc0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwNUEKKzoxMDExQzAwMDdGRTlFMDI0N0U3MDAyNDE3RTE0NzAwMjYxMjMxNDcwNzYKKzoxMDExRDAwMDAyNjFDODI0MDM2MDAyODE2RDkwN0ZFQUUwRjQ3MDZEQzMKKzoxMDExRTAwMDkwNzYzOEUwOTA3NjFCRjA5MDc2M0FFMEZGOTA3NjFCOTAKKzoxMDExRjAwMEUwQzM5RjUwNEZFMEZGNzVGMDBBQTQyNEFDRjU4MkU0RjEKKzoxMDEyMDAwMDM0NzVGNTgzRTBGRTkwNzYxRUUwRkQwNEYwNzQwMDJENDkKKzoxMDEyMTAwMEY1ODJFNDM0N0ZGNTgzRUVGMEVGNzVGMDBBQTQyNEFEOTcKKzoxMDEyMjAwMEY1ODJFNDM0NzVGNTgzRTBGRjkwNzYxRUUwRkUwNEYwNkQKKzoxMDEyMzAwMDc0MDAyRUY1ODJFNDM0N0ZGNTgzRUZGMDkwNzYxQkUwQTYKKzoxMDEyNDAwMDA0RjA4MEE0OTA3NjFFRTA5MDdGQjVGMDIyOTA3NjFCOEIKKzoxMDEyNTAwMEUwRkY3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4M0UwNzAKKzoxMDEyNjAwMDkwN0YwMEYwRUY3NUYwMEFBNDI0QURGNTgyRTQzNDc1QTgKKzoxMDEyNzAwMEY1ODNFMDkwN0YwMUYwOTA3RkI1NzQwMkYwMjI5MDdGQkIKKzoxMDEyODAwMEVBRTBGNDcwNkQ5MDc2MzhFMDkwNzYxQkYwOTA3NjNBNTQKKzoxMDEyOTAwMEUwRkY5MDc2MUJFMEMzOUY1MDRGRTBGRjc1RjAwQUE0N0IKKzoxMDEyQTAwMDI0QUVGNTgyRTQzNDc1RjU4M0UwRkU5MDc2MUVFMEZEMTEKKzoxMDEyQjAwMDA0RjA3NDAwMkRGNTgyRTQzNDdGRjU4M0VFRjBFRjc1RDEKKzoxMDEyQzAwMEYwMEFBNDI0QUZGNTgyRTQzNDc1RjU4M0UwRkY5MDc2NEMKKzoxMDEyRDAwMDFFRTBGRTA0RjA3NDAwMkVGNTgyRTQzNDdGRjU4M0VGMDcKKzoxMDEyRTAwMEYwOTA3NjFCRTAwNEYwODBBNDkwNzYxRUUwOTA3RkI1MkQKKzoxMDEyRjAwMEYwMjI5MDc2MUJFMEZGNzVGMDBBQTQyNEFFRjU4MkU0OUMKKzoxMDEzMDAwMDM0NzVGNTgzRTA5MDdGMDBGMEVGNzVGMDBBQTQyNEFGMDgKKzoxMDEzMTAwMEY1ODJFNDM0NzVGNTgzRTA5MDdGMDFGMDkwN0ZCNTc0MzkKKzoxMDEzMjAwMDAyRjAyMjkwN0ZFQUUwRjQ3MDZEOTA3NjM4RTA5MDc2REIKKzoxMDEzMzAwMDFCRjA5MDc2M0FFMEZGOTA3NjFCRTBDMzlGNTA0RkUwQTEKKzoxMDEzNDAwMEZGNzVGMDBBQTQyNEIwRjU4MkU0MzQ3NUY1ODNFMEZFNUQKKzoxMDEzNTAwMDkwNzYxRUUwRkQwNEYwNzQwMDJERjU4MkU0MzQ3RkY1RjQKKzoxMDEzNjAwMDgzRUVGMEVGNzVGMDBBQTQyNEIxRjU4MkU0MzQ3NUY1NEMKKzoxMDEzNzAwMDgzRTBGRjkwNzYxRUUwRkUwNEYwNzQwMDJFRjU4MkU0MTgKKzoxMDEzODAwMDM0N0ZGNTgzRUZGMDkwNzYxQkUwMDRGMDgwQTQ5MDc2MzQKKzoxMDEzOTAwMDFFRTA5MDdGQjVGMDIyOTA3NjFCRTBGRjc1RjAwQUE0NjYKKzoxMDEzQTAwMDI0QjBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjBFRjc1QUEKKzoxMDEzQjAwMEYwMEFBNDI0QjFGNTgyRTQzNDc1RjU4M0UwOTA3RjAxNEUKKzoxMDEzQzAwMEYwOTA3RkI1NzQwMkYwMjI5MDdGRUFFMEY0NzA2RDkwQTcKKzoxMDEzRDAwMDc2MzhFMDkwNzYxQkYwOTA3NjNBRTBGRjkwNzYxQkUwNEUKKzoxMDEzRTAwMEMzOUY1MDRGRTBGRjc1RjAwQUE0MjRCMkY1ODJFNDM0QTUKKzoxMDEzRjAwMDc1RjU4M0UwRkU5MDc2MUVFMEZEMDRGMDc0MDAyREY1OTcKKzoxMDE0MDAwMDgyRTQzNDdGRjU4M0VFRjBFRjc1RjAwQUE0MjRCM0Y1OUYKKzoxMDE0MTAwMDgyRTQzNDc1RjU4M0UwRkY5MDc2MUVFMEZFMDRGMDc0RkMKKzoxMDE0MjAwMDAwMkVGNTgyRTQzNDdGRjU4M0VGRjA5MDc2MUJFMDA0MjQKKzoxMDE0MzAwMEYwODBBNDkwNzYxRUUwOTA3RkI1RjAyMjkwNzYxQkUwQkQKKzoxMDE0NDAwMEZGNzVGMDBBQTQyNEIyRjU4MkU0MzQ3NUY1ODNFMDkwQzgKKzoxMDE0NTAwMDdGMDBGMEVGNzVGMDBBQTQyNEIzRjU4MkU0MzQ3NUY1NEIKKzoxMDE0NjAwMDgzRTA5MDdGMDFGMDkwN0ZCNTc0MDJGMDIyOTA3RkI0MEEKKzoxMDE0NzAwMEUwNDQwMUYwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3RkI0NzgKKzowNTE0ODAwMEUwNDQwMUYwMjIzMAorOjEwMTQ4NTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjk3QQorOjAxMTQ5NTAwMjIzNAorOjEwMTQ5NjAwOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJFMAorOjEwMTRBNjAwQzBEMEMwRTA4RkUwQzBFMDhFRTBDMEUwOERFMEMwRTBEQworOjEwMTRCNjAwOENFMEMwRTBDMDgyQzA4MzA1ODZDMDg0QzA4NTdEMDAwNAorOjEwMTRDNjAwOTA3RkUzNzQ3QkYwQTM3NDgwRjA3QzExOTA3Rjk5RTBBOQorOjEwMTRENjAwNTQ0MERDMDMwMjE0RjNCNDAwMTM5MDdGRTI3NDQwRjAyRQorOjEwMTRFNjAwOTA3RkU1RjA5MDdGRTI3NDAwRjAwMjE0RDI5MDc2OTAzRgorOjEwMTRGNjAwRTBCNDAxMTI5MDc2OEZFMDJERkQ5MDdGRTI3NDgwRjBDQgorOjEwMTUwNjAwOTA3RjZDMDIxNTU3QjQwMjEyOTA3NjhGRTAyREZEOTBGNQorOjEwMTUxNjAwN0ZFMjc0ODBGMDkwN0Y2QzAyMTU5NkI0MDMxMjkwNzY4OQorOjEwMTUyNjAwOEZFMDJERkQ5MDdGRTI3NDgwRjA5MDdGNkMwMjE1RTFENAorOjEwMTUzNjAwQjQwNDEyOTA3NjhGRTAyREZEOTA3RkUyNzQ4MEYwOTBENworOjEwMTU0NjAwN0Y2QzAyMTYxMDkwN0ZFMjc0ODBGMDkwN0Y2QzAyMTYxQQorOjEwMTU1NjAwNDBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEREYyN0RCOQorOjEwMTU2NjAwMDIwNTg2OTA3RkUyNzQwMEYwOTA3RjlCRTA1NDA0QjRGRAorOjEwMTU3NjAwMDAwNTA1ODYwMjE2NDA5MDdGRTI3NDgwRjAwNTg2RjAyRAorOjEwMTU4NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMERERDQwMjE2NDBGQworOjEwMTU5NjAwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjA0NQorOjEwMTVBNjAwRjBGMERERUM3RDAyMDU4NjkwN0ZFMjc0MDBGMDkwN0YxRQorOjEwMTVCNjAwOUJFMDU0MDRCNDAwMDUwNTg2MDIxNjQwOTA3RkUyNzQ1MQorOjEwMTVDNjAwODBGMDA1ODZGMEYwRjBGMEYwRjBGMEYwRjBGMEYwRjBEQQorOjA2MTVENjAwRjBGMEYwRjBGMEYwNkYKKzoxMDE1REMwMEREQ0UwMjE2NDBGMEYwRjBGMERERkE3RDAyMDU4NjkwQ0IKKzoxMDE1RUMwMDdGRTI3NDAwRjA5MDdGOUJFMDU0MDRCNDAwMDUwNTg2MDQKKzoxMDE1RkMwMDAyMTY0MDkwN0ZFMjc0ODBGMDA1ODZGMEYwRjBGMEREOEEKKzoxMDE2MEMwMERDMDIxNjQwRjBGMEYwRjBGMEYwRERGODdEMDIwNTg2MUIKKzoxMDE2MUMwMDkwN0ZFMjc0MDBGMDkwN0Y5QkUwNTQwNEI0MDAwNTA1QzkKKzoxMDE2MkMwMDg2MDIxNjQwOTA3RkUyNzQ4MEYwMDU4NkYwRjBGMEYwQjAKKzoxMDE2M0MwMEYwRjBERERBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2N0UKKzoxMDE2NEMwMEQwODNEMDgyRDBFMEZDRDBFMEZERDBFMEZFRDBFMEZGMzMKKzowNTE2NUMwMEQwRTBEMEQwMjIxNworOjEwMTY2MTAwQzBEMEMwRTBDMDgyQzA4MzkwNzY3Q0UwOTA3RjZGRjBGNAorOjEwMTY3MTAwOTA3NjdERTA5MDdGNkZGMDkwNzY3RUUwOTA3RjZGRjBDNgorOjA5MTY4MTAwRDA4M0QwODJEMEUwRDBEMDIyNDkKKzoxMDE2OEEwMEMwRDBDMEUwOEZFMEMwRTA4RUUwQzBFMEMwODJDMDgzN0UKKzoxMDE2OUEwMDA1ODZDMDg0QzA4NTkwNzY4N0UwRkZCRjAwMDMwMjE3RTUKKzoxMDE2QUEwMDAxOTA3Rjk2RTA0NDgwRjA5MDdGRTI3NDgwRjA5MDdGMTIKKzoxMDE2QkEwMDYyRTAwNTg2OTA3RkUyNzQwMEYwOTA3Rjk2RTA1NDdGQTYKKzoxMDE2Q0EwMEYwOTA3RkUyNzQ4MEYwOTA3NjhFRTBCNDAxMDUwNTg2OTIKKzoxMDE2REEwMDAyMTZGNkI0MDIwNTA1ODYwMjE2RUIwNTg2MDIxNkZCMEIKKzoxMDE2RUEwMEUwRTBFMEUwRTBFMERGRjgwMjE2RkJFMEUwRTBFMERGNjcKKzoxMDE2RkEwMEZBOTA3RkUyNzQwMEYwRDA4NUQwODQwNTg2RDA4M0QwM0EKKzowQzE3MEEwMDgyRDBFMEZFRDBFMEZGRDBFMEQwRDAyMjgyCis6MTAxNzE2MDBDMDgyQzA4M0MwRTBFOEMwRTA3OEQxRTgxNEY4NzBGQjZFCis6MEExNzI2MDBEMEUwRjhEMEUwRDA4M0QwODIyMjlBCis6MTAxNzMwMDBDMDgyQzA4M0MwRTBFOEMwRTA3ODc4RTgxNEY4NzBGQkFECis6MEExNzQwMDBEMEUwRjhEMEUwRDA4M0QwODIyMjgwCis6MDcxNzRBMDA5MDdGQzU3NDAyRjAyMjNDCis6MTAxNzUxMDA5MDdFQzBFMDkwNzY0NUYwOTA3RUMxRTA5MDc2NDRGMEI2Cis6MTAxNzYxMDA5MDdFQzJFMDkwNzY0M0YwQjQwMDAzMDIxNzc4OTA3NjQxCis6MTAxNzcxMDAxOTc0MDNGMDAyMTc4RTkwNzY0NEUwQjRCQjA5OTA3Njk5Cis6MTAxNzgxMDAxOTc0MDJGMDAyMTc4RTkwNzYxOTc0MDFGMDkwNzY0MjY2Cis6MDMxNzkxMDBFNEYwMjI1RgorOjA0MTc5NDAwOEQyOThCMkFFNgorOjEwMTc5ODAwMTI0OUZGRUE0OTYwNTcxMjM2OTI3RTAwMjlGRkVFM0E1NQorOjEwMTdBODAwQzlFRkM5NzUyQkZGRjUyQzg5MkRBQjJCQUEyQ0E5MkRCOAorOjEwMTdCODAwOTAwMDAxMTIzNkFCRkY2NDA0NjAwNUVGNjQwNTcwMkVEQgorOjEwMTdDODAwRUZCNDA0MTU5MDAwMDIxMjM2QUI2NTI5NzAwQjkwMDAzNworOjEwMTdEODAwMDMxMjM2QUI2NTJBNzAwMTIyMTIzNjkyN0UwMDI5RkY2OQorOjEwMTdFODAwRUUzQUM5RUZDOTc1MkJGRkY1MkM4OTJEODBCQzdCMDAxQgorOjA0MTdGODAwN0EwMDc5MDBGQQorOjAxMTdGQzAwMjJDQQorOjAzMTdGRDAwQzI4QjMyNkEKKzoxMDE4MDAwMDkwNzY5MEUwMTQ2MDM3MTQ3MDAyMDFEODE0NzAwMjIxQjEKKzoxMDE4MTAwMDcyMTQ3MDAyNDEzQjI0MDQ2MDAyNjEwMzkwN0ZGQzc0RTcKKzoxMDE4MjAwMENDRjA5MDdGRkY3NEZDRjA5MDc2OTVFMDQ0MDFGMDU0OEEKKzoxMDE4MzAwMDA1RjA5MDgwMDFGMEU0OTA3NjFBRjBDMjJFMjI5MDc2QTYKKzoxMDE4NDAwMDk1RTA0NDAxRjA0NDAyRjAzMDNFMDZFMDQ0MDRGMDgwQUMKKzoxMDE4NTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwN0EKKzoxMDE4NjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyMjkwMjcKKzoxMDE4NzAwMDdGRkM3NDc0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCNzMKKzoxMDE4ODAwMEYwOTA3Njk3RTA1NEZERjBFNDkwNzY4MUYwOTA3NjgwQzkKKzoxMDE4OTAwMEYwRUZCNDAyMjI5MDdGRkM3NDY4RjA5MDdGRkY3NEZDM0MKKzoxMDE4QTAwMEYwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRjBFNDkwRjkKKzoxMDE4QjAwMDc2ODFGMDkwNzY4MEYwMzAzRjA5OTA3Njk3RTA1NEZFODQKKzoxMDE4QzAwMEYwODAwNzkwNzY5N0UwNDQwMUYwOTA3Njk3RTA1NEZCMjMKKzoxMDE4RDAwMEYwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0RkVGMDQ0RjMKKzoxMDE4RTAwMDAyRjAzMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0MjQKKzoxMDE4RjAwMEZCRjA5MDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxQjQKKzoxMDE5MDAwMEYwOTA3NjE5RTBGRkI0MDEyMjkwN0ZGQzc0MzBGMDkwRTMKKzoxMDE5MTAwMDdGRkY3NEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RjQKKzoxMDE5MjAwMEZERjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyMjkwQTIKKzoxMDE5MzAwMDdGRkM3NDFDRjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGMDYKKzoxMDE5NDAwMEYwOTA3Njk3RTA0NDAyRjBFNDkwNzY4MUYwOTA3NjgwMTMKKzoxMDE5NTAwMEYwMzAzRjA5OTA3Njk3RTA1NEZFRjA4MDA3OTA3Njk3M0MKKzoxMDE5NjAwMEUwNDQwMUYwOTA3Njk3RTA1NEZCRjA5MDgwMDJGMEQyRDIKKzoxMDE5NzAwMDJFMjI5MDc2OTVFMDQ0MDFGMDQ0MDJGMDQ0MDhGMDMwQzUKKzoxMDE5ODAwMDNFMDZFMDQ0MDRGMDgwMDc5MDc2OTVFMDU0RkJGMDkwMkEKKzoxMDE5OTAwMDc2MUFFMEI0MDEwODkwNzY5NUUwOTA4MDAxRjA5MDc2OTgKKzoxMDE5QTAwMDE5RTBGRkI0MDEyNTkwN0ZGQzc0Q0NGMDkwN0ZGRjc0QTgKKzoxMDE5QjAwMEZDRjA5MDc2OEY3NDJCRjA5MDc2OTdFMDU0RkRGMDU0MDUKKzoxMDE5QzAwMEZCRjBFNDkwNzY4MUYwOTA3NjgwRjBFRkI0MDIyNTkwMDEKKzoxMDE5RDAwMDdGRkM3NEM4RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJGQkEKKzoxMDE5RTAwMEYwOTA3Njk3RTA0NDAyRjA1NEZCRjBFNDkwNzY4MUYwQkEKKzoxMDE5RjAwMDkwNzY4MEYwRUZCNDAzMjU5MDdGRkM3NDk4RjA5MDdGOTAKKzoxMDFBMDAwMEZGNzRGQ0YwOTA3NjhGNzQ1RkYwOTA3Njk3RTA1NEZENTEKKzoxMDFBMTAwMEYwNDQwNEYwRTQ5MDc2ODFGMDkwNzY4MEYwMzAzRjA5NTUKKzoxMDFBMjAwMDkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYwQkUKKzoxMDFBMzAwMDkwNzY5N0UwOTA4MDAyRjBEMjJFMjI5MDc2OTVFMDU0MzYKKzoxMDFBNDAwMEZFRjA0NDAyRjA0NDA4RjAzMDNFMDZFMDQ0MDRGMDgwMkEKKzoxMDFBNTAwMDA3OTA3Njk1RTA1NEZCRjA5MDc2MUFFMEI0MDEwODkwNzgKKzoxMDFBNjAwMDc2OTVFMDkwODAwMUYwOTA3NjE5RTBGRkI0MDEyNTkwMjIKKzoxMDFBNzAwMDdGRkM3NEI0RjA5MDdGRkY3NEZDRjA5MDc2OEY3NDJCMzEKKzoxMDFBODAwMEYwOTA3Njk3RTA1NEZERjA1NEZCRjBFNDkwNzY4MUYwMEUKKzoxMDFBOTAwMDkwNzY4MEYwRUZCNDAyMjU5MDdGRkM3NEIwRjA5MDdGRDgKKzoxMDFBQTAwMEZGNzRGQ0YwOTA3NjhGNzQyRkYwOTA3Njk3RTA0NDAyRUMKKzoxMDFBQjAwMEYwNTRGQkYwRTQ5MDc2ODFGMDkwNzY4MEYwRUZCNDAzODAKKzoxMDFBQzAwMDI1OTA3RkZDNzQ2OEYwOTA3RkZGNzRGQ0YwOTA3NjhGMTcKKzoxMDFBRDAwMDc0NUZGMDkwNzY5N0UwNTRGREYwNDQwNEYwRTQ5MDc2NjMKKzoxMDFBRTAwMDgxRjA5MDc2ODBGMDMwM0YwOTkwNzY5N0UwNTRGRUYwRDgKKzoxMDFBRjAwMDgwMDc5MDc2OTdFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyMUUKKzowNDFCMDAwMEYwRDIyRTIyQ0YKKzoxMDFCMDQwMDMwMkMzOEMyMkM5MDc2MTlFMEZGQjQwMTBFOTA3NjdDMEMKKzoxMDFCMTQwMDc0QzBGMEEzNzQxNEYwQTM3NDBCRjBFRkI0MDIwREU0REEKKzoxMDFCMjQwMDkwNzY3Q0YwQTM3NDEwRjBBMzc0MENGMEVGQjQwMzBCNjQKKzowQzFCMzQwMEU0OTA3NjdDRjBBMzc0MThGMEEzRjAyMjdCCis6MTAxQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAxQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAxQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAxQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAxQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAxQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAxQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAxQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAxQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAxQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAxQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAxQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAxQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAxQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAxQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAxQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAxQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAxQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAxQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MEUxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDFFQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDFFQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDFFREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDFFRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDFFRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDFGMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDFGMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDFGMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzowMjFGM0UwMDAwMDBBMQorOjEwMUY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MQorOjEwMUY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MQorOjEwMUY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MQorOjEwMUY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MQorOjEwMUY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MQorOjEwMUY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MQorOjEwMUZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMQorOjEwMUZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMQorOjEwMUZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMQorOjEwMUZEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMQorOjEwMUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMQorOjEwMUZGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMQorOjEwMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEMAorOjEwMjAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDMAorOjEwMjAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMAorOjEwMjAzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjEwMjA0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5MAorOjEwMjA1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MAorOjEwMjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MAorOjEwMjA3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjEwMjA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1MAorOjEwMjA5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0MAorOjEwMjBBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzMAorOjEwMjBCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjEwMjBDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMAorOjEwMjBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAorOjEwMjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGMAorOjEwMjBGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMAorOjEwMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwMjExMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRgorOjEwMjEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRgorOjEwMjEzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RgorOjEwMjE0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RgorOjEwMjE1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RgorOjEwMjE2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RgorOjEwMjE3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RgorOjEwMjE4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RgorOjEwMjE5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRgorOjEwMjFBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRgorOjEwMjFCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRgorOjEwMjFDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRgorOjEwMjFEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRgorOjEwMjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRgorOjEwMjFGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERgorOjEwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRQorOjEwMjIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRQorOjEwMjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRQorOjEwMjIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RQorOjEwMjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RQorOjEwMjI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RQorOjEwMjI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RQorOjEwMjI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1RQorOjEwMjI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjEwMjI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzRQorOjEwMjJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRQorOjEwMjJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxRQorOjEwMjJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRQorOjEwMjJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRQorOjEwMjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFRQorOjEwMjJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBERQorOjEwMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRAorOjEwMjMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCRAorOjEwMjMyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBRAorOjEwMjMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5RAorOjEwMjM0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4RAorOjEwMjM1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3RAorOjEwMjM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2RAorOjBFMjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMzdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMzhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMzlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyM0FFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyM0JFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyM0NFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyM0RFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyM0VFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyM0ZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyNDBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyNDFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyNDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyNDNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyNDRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyNDVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyNDZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyNDdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyNDhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyNDlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyNEFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyNEJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyNENFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyNERFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyNEVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyNEZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyNTBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyNTFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyNTJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyNTNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyNTRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyNTVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyNTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyNTdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyNThFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyNTlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyNUFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyNUJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyNUNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyNURFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyNUVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNUZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyNjBFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNjFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNjJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNjNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNjRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNjVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNjZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNjdFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNjhFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNjlFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNkFFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNkJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNkNFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNkRFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MEUyNkVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDI2RkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDI3MEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDI3MUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDI3MkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDI3M0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDI3NEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDI3NUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDI3NkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDI3N0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDI3OEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDI3OUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDI3QUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDI3QkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDI3Q0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDI3REMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDI3RUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzowNTI3RkMwMDAwMDAwMDAwMjJCNgorOjEwMjgwMTAwQzIyMEMyMjFDMjJBOTA3RkU4RTAxMjM3RjkyODMwMDBBNQorOjEwMjgxMTAwMjg4QzAxMjhBMjAyMkExRjIxMkE2QTIyMjkzRDgwMjkwNworOjEwMjgyMTAwN0Q4MTI5RDE4MjJBODRBMTJBQkFBMjAwMDAyQUJGOTBERgorOjEwMjgzMTAwN0ZFOUUwMTQ2MDExMjRGRTYwMjgyNEZFNjAzQjI0RkM0MworOjEwMjg0MTAwNzA0MDEyNEJBMDQxQ0IxMjREQTc0MDAyNDFDQjkwN0Y2QgorOjEwMjg1MTAwRUFFMEI0MDEwNEMyMjI0MUNCOTA3RkI0RTA0NDAxRjAyQworOjEwMjg2MTAwNDFDQjEyNERBOTkwN0ZFQUUwQjQwMTA0RDIyMjQxQ0JDMQorOjEwMjg3MTAwOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkI0RTA0NDAxRjA5QgorOjEwMjg4MTAwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0ZFOUUwMjQ1QgorOjEwMjg5MTAwRjU3MDA1MTI0ODAwNDFDQjkwN0ZCNEUwNDQwMUYwNDE0RQorOjEwMjhBMTAwQ0I5MDdGRTlFMDI0RkQ2MDU0MjQwMjYwMDIyMTM0MTJDMAorOjEwMjhCMTAwNERBNzQwMDI0MUNCOTA3RkVBRTA3MDM4OTA3RkVDRTA3OQorOjEwMjhDMTAwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjREMworOjEwMjhEMTAwRjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkZFRgorOjEwMjhFMTAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDREOAorOjEwMjhGMTAwMjBGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0IxMjREQTlDRgorOjEwMjkwMTAwNDAwMjQxQ0I5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTRFQworOjEwMjkxMTAwODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODI1MworOjEwMjkyMTAwRTQzNDdGRjU4Mzc0MDFGMDQxQ0I5MDdGQjRFMDQ0MDEzRQorOjEwMjkzMTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTBERQorOjEwMjk0MTAwNjAxMjI0Rjg2MDA5MjQwMjcwMjkxMjQzREI0MUNCMTI4MgorOjEwMjk1MTAwNEQ1QzQxQ0IxMjREQTVBMjIyRTQzM0ZGMjVFMEZGQTIzRAorOjEwMjk2MTAwMjNFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDIyRAorOjEwMjk3MTAwRjA0MUNCOTA3RkI0RTA0NDAxRjA0MUNCOTA3RkU5RTA5RQorOjEwMjk4MTAwNjAzMzI0RjY2MDJBMjQwNDcwM0Q5MDdGRUJFMDI0REU1RQorOjEwMjk5MTAwNjAwQzA0NzAxMjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y1MQorOjEwMjlBMTAwQjRFMDQ0MDFGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I2RAorOjEwMjlCMTAwMTI0Njg1NDFDQjEyNERBNUU0OTA3RjAwRjBBM0YwOTAyMworOjEwMjlDMTAwN0ZCNTc0MDJGMDQxQ0I5MDdGQjRFMDQ0MDFGMDQxQ0I3QworOjEwMjlEMTAwOTA3RkU5RTAyNEY0NjAzNDI0MEM3MDM5MTI0REE1OTAwNQorOjEwMjlFMTAwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjUxRgorOjEwMjlGMTAwRTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDA1OAorOjEwMkEwMTAwRjBFNEEzRjA5MDdGQjU3NDAyRjA0MUNCOTA3RkI0RTA4NQorOjEwMkExMTAwNDQwMUYwNDFDQjkwN0ZCNEUwNDQwMUYwNDFDQjkwN0Y4MQorOjEwMkEyMTAwRTlFMDI0RjY2MDEyMTQ2MDFBMjQwMjcwMUREMjIwOTA4RAorOjEwMkEzMTAwN0ZCNEUwNDQwMUYwODAxMkQyMjA5MDdGQjRFMDQ0MDFFMQorOjEwMkE0MTAwRjA4MDA3OTA3RkI0RTA0NDAxRjAyMDIwMTg5MDdGRUVFMQorOjEwMkE1MTAwRTA3MDA0QTNFMDYwMEJEMjI5RDIyNzEyMTc0QUQyMkFEMAorOjEwMkE2MTAwODAwMzEyMDgwMEMyMjA4MDYxOTA3RkVFRTA3MDA0QTMxMQorOjEwMkE3MTAwRTA2MDBCRDIyOUQyMjgxMjE3NEFEMjJBODA0QzEyMzg5MAorOjEwMkE4MTAwNzQ4MDQ3OTA3RkU5RTAyNEZFNjAxMjE0NjAxQTI0MDJFQQorOjEwMkE5MTAwNzAxREQyMjE5MDdGQjRFMDQ0MDFGMDgwMTJEMjIxOTBDOAorOjEwMkFBMTAwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwMjA1RQorOjEwMkFCMTAwMjEwMzEyMTAwMEMyMjE4MDExMTIyQUQ2ODAwQzEyNEQ1RQorOjEwMkFDMTAwQUI1MDA3OTA3RkI0RTA0NDAxRjAyMDJBMDc5MDdGQjQxNworOjA1MkFEMTAwRTA0NDAyRjAyMkM4Cis6MTAyQUQ2MDBFNDkwNzYyN0YwOTA3NjI3RTBGRjc1RjAwRkE0MjQ0MjY1Cis6MTAyQUU2MDBGNTgyRTQzNDc1RjU4M0UwRkU5MDdGRUNFMEZERUU2RDUzCis6MTAyQUY2MDA2MDBFRUZDMzk0MDY1MDA4OTA3NjI3RTAwNEYwODBENTY4Cis6MTAyQjA2MDBFRkI0MDYwODkwN0ZCNEUwNDQwMUYwMjJFRjc1RjAwRkIxCis6MTAyQjE2MDBBNDI0NDFGNTgyRTQzNDc1RjU4M0UwOTA3NjI4RjAyNDA4Cis6MTAyQjI2MDA5RjcwMDJBMTc0MjQyMTYwMDJBMUExOTA3RkU5RTAyNDk0Cis6MTAyQjM2MDA3RTcwMDI2MUZDMTQ3MDAyODFCNTI0MDI2MDAyQTE2Q0YxCis6MTAyQjQ2MDBFRjc1RjAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0I5Cis6MTAyQjU2MDBBM0UwRkRBM0UwRkVBM0UwRkY3QjQ0N0FBQzc5MDA3ODE2Cis6MTAyQjY2MDAwMEMzMTIzN0FCNzAxMzkwN0YwMDc0NDRGMEEzNzRBQ0FCCis6MTAyQjc2MDBGMEU0QTNGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDRCCis6MTAyQjg2MDAwRkE0MjQ0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGRDRECis6MTAyQjk2MDBBM0UwRkVBM0UwRkY3QjgwN0FCQjc5MDA3ODAwQzMxMjM2Cis6MTAyQkE2MDAzN0FCNzAxMzkwN0YwMDc0ODBGMEEzNzRCQkYwRTRBMzdFCis6MTAyQkI2MDBGMDkwN0ZCNTc0MDNGMDkwNzYyN0UwNzVGMDBGQTQyNEFCCis6MTAyQkM2MDA0M0Y1ODJFNDM0NzVGNTgzRTBGQ0EzRTBGREEzRTBGRTYzCis6MTAyQkQ2MDBBM0UwRkY3QjAwN0E3Nzc5MDE3ODAwQzMxMjM3QUI2MEY4Cis6MTAyQkU2MDAwMkExQTg5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MDdGCis6MTAyQkY2MDA3RkI1NzQwM0YwMjI5MDc2MjdFMDc1RjAwRkE0MjQ0NzgyCis6MTAyQzA2MDBGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0MyCis6MTAyQzE2MDBFMEZGN0I0NDdBQUM3OTAwNzgwMEMzMTIzN0FCNzAxM0JGCis6MTAyQzI2MDA5MDdGMDA3NDQ0RjBBMzc0QUNGMEU0QTNGMDkwN0ZCNUY5Cis6MTAyQzM2MDA3NDAzRjA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDNDCis6MTAyQzQ2MDAzNDc1RjU4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjgzCis6MTAyQzU2MDA4MDdBQkI3OTAwNzgwMEMzMTIzN0FCNzAxMzkwN0YwMDdGCis6MTAyQzY2MDA3NDgwRjBBMzc0QkJGMEU0QTNGMDkwN0ZCNTc0MDNGMDE2Cis6MTAyQzc2MDA5MDc2MjdFMDc1RjAwRkE0MjQ0N0Y1ODJFNDM0NzVGNUM1Cis6MTAyQzg2MDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRkY3QjAwN0E3N0YwCis6MTAyQzk2MDA3OTAxNzgwMEMzMTIzN0FCNjAwMkExQTg5MDdGMDBGMERCCis6MTAyQ0E2MDBBMzc0NzdGMEEzNzQwMUYwOTA3RkI1NzQwM0YwMjI5MEJCCis6MTAyQ0I2MDA3NjI3RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4MzhFCis6MTAyQ0M2MDBFMEZDQTNFMEZEQTNFMEZFQTNFMEZGN0I0NDdBQUM3OTQxCis6MTAyQ0Q2MDAwMDc4MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDQ0RjBBM0UyCis6MTAyQ0U2MDA3NEFDRjBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDFGCis6MTAyQ0Y2MDA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBMzRDCis6MTAyRDA2MDBFMEZEQTNFMEZFQTNFMEZGN0I4MDdBQkI3OTAwNzgwMEJDCis6MTAyRDE2MDBDMzEyMzdBQjcwMTM5MDdGMDA3NDgwRjBBMzc0QkJGMEJFCis6MTAyRDI2MDBFNEEzRjA5MDdGQjU3NDAzRjA5MDc2MjdFMDc1RjAwRjdBCis6MTAyRDM2MDBBNDI0NEJGNTgyRTQzNDc1RjU4M0UwRkNBM0UwRkRBM0ZGCis6MTAyRDQ2MDBFMEZFQTNFMEZGN0IwMDdBNzc3OTAxNzgwMEMzMTIzN0IzCis6MTAyRDU2MDBBQjcwNEY5MDdGMDBGMEEzNzQ3N0YwQTM3NDAxRjA5MEVFCis6MTAyRDY2MDA3RkI1NzQwM0YwMjI5MDdGQjRFMDQ0MDFGMDIyOTA3Rjk3Cis6MTAyRDc2MDBFOUUwMjQ3RjcwMUU5MDc2MjdFMDc1RjAwRkE0MjQ0RkJCCis6MTAyRDg2MDBGNTgyRTQzNDc1RjU4M0UwOTA3RjAwRjA5MDdGQjU3NEFBCis6MTAyRDk2MDAwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NEY2Cis6MDMyREE2MDAwMUYwMjIxNworOjEwMkRBOTAwRTQ5MDc2MzZGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MgorOjEwMkRCOTAwMzQ3NUY1ODM3NDAxRjBFRjc1RjAwM0E0MjQwRkY1ODJERgorOjEwMkRDOTAwRTQzNDc1RjU4Mzc0MDFGMEVGNzVGMDAzQTQyNDEwRjU2QworOjEwMkREOTAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkZBMAorOjEwMkRFOTAwNzVGMDAzQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDEwRjBBQworOjEwMkRGOTAwRUY3NUYwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDVBNworOjEwMkUwOTAwRjBFRjc1RjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzRTQzQQorOjEwMkUxOTAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDBFRjU5NworOjEwMkUyOTAwODJFNDM0NzVGNTgzNzQwMkYwRUY3NUYwMDNBNDI0MEY3RQorOjEwMkUzOTAwRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQ4OAorOjEwMkU0OTAwMTBGNTgyRTQzNDc1RjU4M0U0RjA5MDc2MzZFMDA0RjAwOQorOjEwMkU1OTAwRTBGRjc1RjAwM0E0MjQwRUY1ODJFNDM0NzVGNTgzNzQ1QworOjEwMkU2OTAwMDFGMEVGNzVGMDAzQTQyNDBGRjU4MkU0MzQ3NUY1ODNCRQorOjEwMkU3OTAwNzQwM0YwRUY3NUYwMDNBNDI0MTBGNTgyRTQzNDc1RjVCQQorOjEwMkU4OTAwODNFNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjRDMworOjEwMkU5OTAwMEVGNTgyRTQzNDc1RjU4Mzc0MTBGMEVGNzVGMDAzQTQzMAorOjEwMkVBOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwNkYwRUY3NUYwMDNBOQorOjEwMkVCOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODNFNEYwOTA3NjM2RTBDNQorOjEwMkVDOTAwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjVFRgorOjEwMkVEOTAwODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVDRQorOjEwMkVFOTAwRjU4Mzc0MDRGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQzQgorOjEwMkVGOTAwNzVGNTgzRTRGMDkwNzYzNkUwMDRGMEUwRkY3NUYwMDNCMQorOjEwMkYwOTAwQTQyNDBFRjU4MkU0MzQ3NUY1ODM3NDAyRjBFRjc1RjBBQworOjEwMkYxOTAwMDNBNDI0MEZGNTgyRTQzNDc1RjU4Mzc0MDhGMEVGNzU4MgorOjEwMkYyOTAwRjAwM0E0MjQxMEY1ODJFNDM0NzVGNTgzNzQwNEYwOTA1OQorOjEwMkYzOTAwNzYzNkUwMDRGMEUwRkY3NUYwMDNBNDI0MEVGNTgyRTQ5MAorOjEwMkY0OTAwMzQ3NUY1ODM3NDAyRjBFRjc1RjAwM0E0MjQwRkY1ODI0QworOjEwMkY1OTAwRTQzNDc1RjU4Mzc0MEFGMEVGNzVGMDAzQTQyNDEwRjVEMQorOjEwMkY2OTAwODJFNDM0NzVGNTgzNzQwNEYwOTA3NjM2RTAwNEYwRTA3OQorOjEwMkY3OTAwRkY3NUYwMDNBNDI0MEVGNTgyRTQzNDc1RjU4Mzc0MDIxOQorOjEwMkY4OTAwRjBFRjc1RjAwM0E0MjQwRkY1ODJFNDM0NzVGNTgzNzQyQQorOjEwMkY5OTAwMDlGMEVGNzVGMDAzQTQyNDEwRjU4MkU0MzQ3NUY1ODM4NAorOjEwMkZBOTAwNzQwNEYwOTA3NjM2RTAwNEYwRTBGRjc1RjAwM0E0MjQ5MQorOjEwMkZCOTAwMEVGNTgyRTQzNDc1RjU4Mzc0MDJGMEVGNzVGMDAzQTQxRAorOjEwMkZDOTAwMjQwRkY1ODJFNDM0NzVGNTgzNzQwN0YwRUY3NUYwMDM4NworOjBFMkZEOTAwQTQyNDEwRjU4MkU0MzQ3NUY1ODM3NDA0RjAyMjBDCis6MTAyRkU3MDBDMEUwQzA4M0MwODJEMjI2NTM5MUVGOTA3RkFCNzQwMUJCCis6MDgyRkY3MDBGMEQwODJEMDgzRDBFMDMyNUIKKzowMTJGRkYwMDMyOUYKKzoxMDMwMDAwMDkwN0ZCNkUwMjBFMTAyQzIzREQyMzYyMDM2MDI0MTZFMEEKKzoxMDMwMTAwMDMwM0QwMjQxNkU5MDgwMDdFMDYwMDREMjM2ODAwMkMyRUIKKzoxMDMwMjAwMDM2MjAzNjAyNDEyRUQyMzVFNEY1MUE5MDgwMDRFMEY1QzAKKzoxMDMwMzAwMDE5NzQwODI1MEVGOEE2MTk4NTE5MThFNTE4MjBFNzA0NTMKKzoxMDMwNDAwMEQyMzg4MDAyQzIzODMwMzgwMjIxRDRFNEY1MTZFNTE5QUUKKzoxMDMwNTAwMEI0RjAwQ0QyMzk3NTA4MDQ3NTA5RjAwNTBFODAwMjA1MkMKKzoxMDMwNjAwMDE2RTUxOTY0Rjc3MDNEQzIzOUU1MEUyNEZFNjAxNzE0QTkKKzoxMDMwNzAwMDYwMjIyNDAzNzAyOTc1MDgwNTc1MDlGN0U0RjUwQUY1M0YKKzoxMDMwODAwMDBCNzUwRTA0ODAyMDc1MDgwNjc1MEFGN0U0RjUwQjc1QkMKKzoxMDMwOTAwMDBFMDQ4MDEyNzUwODA3NzUwQkY3NzUwRTA0ODAwNzEyNzEKKzoxMDMwQTAwMDQ4RjM4MDAyMDUxNkU1MTk1NEY4NjRGODcwM0JDMjM1MDAKKzoxMDMwQjAwMEU1MTkyNDA3NjAwQzI0RkM2MDA4MjQwNTI0Rjg1MDA2NTgKKzoxMDMwQzAwMDgwMDhEMjNBODAwNkMyM0E4MDAyRDIzQTc1MUEwMTIwQUMKKzoxMDMwRDAwMDNBMTk5MDdFODA3NDBGRjBBM0U1MTlGMEU0QTNGMEEzRjEKKzoxMDMwRTAwMEYwOTA3RkI3NzQwNEYwODAwMjA1MTYyMDM5NkRFNTE5NjEKKzoxMDMwRjAwMDY0Rjc2MDY3RTUxQTcwNjNFNTE4NTRGMDY0RjA3MDU5N0UKKzoxMDMxMDAwMDg1MTgxOUY1MEVFNTE5MjQwRjYwMUIyNEZFNjAxNzI0OUQKKzoxMDMxMTAwMEZENjAyMjE0NjAxRjI0MDU3MDJGNzUwODAzMDUwRTg1QkQKKzoxMDMxMjAwMDE4MDlEMjM3ODAyODc1MDgwMjA1MEU4NTE4MDk3NTE0MEMKKzoxMDMxMzAwMDAxRDIzNzgwMTk3NTA4MDUwNTBFODUxODA5RTRGNTBBQ0UKKzoxMDMxNDAwMEY1MEI3NTBFMDNEMjM3ODAwNTEyNDhGM0MyMzUzMDM1QzIKKzoxMDMxNTAwMDBBODUwODEzODUxODEyODAwMjA1MTY4NTE4MTlFNTE2QzgKKzoxMDMxNjAwMDY0MDQ3MDYyRjUwRUU1MTk1NEYwRjUxOUY1MTU4NTE4MkIKKzoxMDMxNzAwMDE5RTUxNTI0NzA2MDE4MjRGMDYwMTQyNEYwNjAxMDI0MDAKKzoxMDMxODAwMEYwNjAxRTI0RjA2MDFBMjRGMDYwMDQyNDYwNzAyN0U1Q0IKKzoxMDMxOTAwMDE1QzQ1NDBGRjUxOUY1MDgwNTBFODUxODA5RDIzNzgwQTYKKzoxMDMxQTAwMDFBRTUxNUM0NTQwRkY1MTlGNTA4MDUwRTg1MTgwOTc1QUIKKzoxMDMxQjAwMDE0MDFEMjM3ODAwNTEyNDhGM0MyMzUzMDM1MEE4NTE5MUIKKzoxMDMxQzAwMDEzODUxODEyODAwMjA1MTZFNTE2RDM5NDA1NDA1NzEyOTAKKzoxMDMxRDAwMDQ4RjM4MDUyMzAzOTE3RTUwRTcwMEE4NTA4MDk3NTA4RTIKKzoxMDMxRTAwMDA0MDUwRTgwNDE3NDA4MjUwRUY4QTYxOTgwMzgyMDM3OTIKKzoxMDMxRjAwMDJBRTUwRUI0MDEwRjg1MDgwQTg1MDkwQjg1MTMwODg1OTkKKzoxMDMyMDAwMDEyMDk3NTBFMDRFNTE0QjQwMTFDODUwODBBRTRGNTBCRDcKKzoxMDMyMTAwMDg1MTMwODg1MTIwOTc1MEUwNDgwMEJFNTE0QjQwMTA2QTgKKzoxMDMyMjAwMEU0RjUwQjc1MEUwNEU0RjUxQTMwMzUwMjA1MEVFNTBFRDMKKzoxMDMyMzAwMEQzOTQwMzUwMDIwMTBCQzIzN0U0RjUwRUY1MTBDMjM2RTkKKzoxMDMyNDAwMEQyM0RGNTE0NzQwODI1MTBGOEU2RkY3NDgwMjUxMEY1QkEKKzoxMDMyNTAwMDgyRTQzNDdFRjU4M0VGRjA3NDA4MjUxMEY4RTRGNjA1NzcKKzowRjMyNjAwMDEwRTUxMEI0MDRERTkwN0ZCNzc0MDRGMDAxMEIyMjY4Cis6MTAzMjZGMDA5MDc2MThFMEZGNjQwNTcwNDI5MDc1QUJFMEI0MDExOUQ5Cis6MTAzMjdGMDA5MDcyMzc3NDAxRjBFNDkwODAyMEYwOTA4MDMxRjA5MERDCis6MTAzMjhGMDA4MDI4RjA5MDgwMzlGMDgwMjJFNDkwNzIzN0YwOTA3NUFBCis6MTAzMjlGMDBBREUwOTA3MjJCRjBFMDI0ODBGMEUwOTA4MDIwRjA5MDcxCis6MTAzMkFGMDA4MDMxRjA5MDgwMjhGMDkwODAzOUYwRUY2NDA2NjAwMjUyCis6MTAzMkJGMDA4MTk5OTA3MjM5NzQwNEYwOTA3MjM5RTBGRjI0RkU5MDc2Cis6MTAzMkNGMDA3MjA0RjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNUJGCis6MTAzMkRGMDA4M0UwNjQwMTcwNTQ5MDcyMzYwNEYwOTA3MjA0RTBGRjQyCis6MTAzMkVGMDAyNEZENjAyODI0RkU2MDI0MjQwMzI0RkI1MDA0NjAxQzZBCis6MTAzMkZGMDA4MThDNzQyMDJGRjU4MkU0MzQ4MEY1ODNFNEYwNzQyOEY4Cis6MTAzMzBGMDAyRkY1ODJFNDM0ODBGNTgzRTRGMDgxOEM5MDcyMDRFMDMxCis6MTAzMzFGMDBGRjI0MzBGNTgyRTQzNDgwRjU4M0U0RjA3NDM4MkZGNTIwCis6MTAzMzJGMDA4MkU0MzQ4MEY1ODNFNEYwODE4Q0U0OTA3MjM2RjA5MDdGCis6MTAzMzNGMDA3MjM5RTA3NUYwMEFBNDI0QURGNTgyRTQzNDc1RjU4MzkzCis6MTAzMzRGMDBFMEZGN0UwMDkwNzUwQ0VFRjBBM0VGRjA3MDA2OTA3MjI4Cis6MTAzMzVGMDAwMjc0M0JGMDkwNzUwQ0UwRkVBM0UwRkY2NDgwNEU3MEFBCis6MTAzMzZGMDAwNDkwNzIwMkYwRUY0RTcwMDI4MTM1RUY2NDgwNEU3MDYwCis6MTAzMzdGMDAwMjgxMzVFRkY4RTQ5MDc1MERGMEU4OTA3NTBDRjA5MDQwCis6MTAzMzhGMDA3MjM0RTA3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU4MzQ5Cis6MTAzMzlGMDBFMEZGOTA3MjAyRjA5MDc1MERFMDJGRjA5MDc1MENFMDQ5Cis6MTAzM0FGMDAzNDAwRjBFMEZFQTNFMEZGRTRGQ0ZEN0JENjdBQTVGOTQ0Cis6MTAzM0JGMDBGOEQzMTIzNzk1NDAwQTkwNzUwQzc0QTVGMEEzNzRENjA0Cis6MTAzM0NGMDBGMDkwNzUwREUwMjQyQUYwOTA3NTBDRTAzNDVBRjBFMDdGCis6MTAzM0RGMDBGRUEzRTA3ODA1Q0VBMkU3MTNDRTEzRDhGOEZGOTA3NUMxCis6MTAzM0VGMDAwQ0VFRjBBM0VGRjA5MDcyMkNFRUYwQTNFRkYwRDM5NDZECis6MTAzM0ZGMDBEMkVFNjQ4MDk0ODI0MDBBOTA3MjJDNzQwMkYwQTM3NDBGCis6MTAzNDBGMDBEMkYwQzM5MDcyMkNFMDY0ODA5NDgwNTAwNEU0RjBBMzU3Cis6MTAzNDFGMDBGMDkwNzIyQ0UwRkVBM0UwMjQzQUY1ODJFRTM0NzJGNUMwCis6MTAzNDJGMDA4M0UwOTA3MjAyRjA5MDcyMDRFMEZGMjRGRDYwMkQyNDdGCis6MTAzNDNGMDBGRTYwMjkyNDAzMjRGQjUwMDQ2MDIxODA0MDkwNzIwMjE3Cis6MTAzNDRGMDBFMEZFNzQyMDJGRjU4MkU0MzQ4MEY1ODNFRUYwNzQyOENCCis6MTAzNDVGMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDgwMjE5MDcyMDJFMDQ0Cis6MTAzNDZGMDBGRjkwNzIwNEUwRkUyNDMwRjU4MkU0MzQ4MEY1ODNFRkEwCis6MTAzNDdGMDBGMDc0MzgyRUY1ODJFNDM0ODBGNTgzRUZGMDkwNzIzOUQyCis6MEIzNDhGMDBFMDA0RjBFMDY0MEE2MDAyNDFDNzIyODQKKzoxMDM0OUEwMDkwNzYxOEUwRkZCNDA1MjM5MDcyMzdFMDcwMUQ5MDc1OUUKKzoxMDM0QUEwMEFERTA5MDcyMkJGMEUwMjQ4MEYwRTA5MDgwMjBGMDkwNjQKKzoxMDM0QkEwMDgwMzFGMDkwODAyOEYwOTA4MDM5RjBFRjY0MDY2MDAyNDUKKzoxMDM0Q0EwMEMxOTE5MDcyMzZFMDYwMDJDMTkxOTA3NjQwRTA3MDMxMEQKKzoxMDM0REEwMDkwNzIwMzc0MDNGMDkwNzIwM0UwRkY3NUYwMEFBNDI0NUIKKzoxMDM0RUEwMEFBRjU4MkU0MzQ3NUY1ODNFMEZFOTA3MjI5RTBGREVFRDgKKzoxMDM0RkEwMDZENjAwRUVGQzM5NDBBNTAwODkwNzIwM0UwMDRGMDgwRTYKKzoxMDM1MEEwMEQ1OTA3MjM5NzQwNEYwOTA3NjQwRTA3MDA4OTA3MjAzOTYKKzoxMDM1MUEwMEUwOTA3MjM5RjA5MDcyMzlFMEZEMjRGRTkwNzIyQUYwNDAKKzoxMDM1MkEwMEVENzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODNFMEZGNjUKKzoxMDM1M0EwMDdFMDA5MDc1MENFRUYwQTNFRkYwNzAwNjkwNzIwMjc0QTQKKzoxMDM1NEEwMDgwRjA5MDc1MENFMEZFQTNFMEZGNjQ4MDRFNzAwNDkwNUEKKzoxMDM1NUEwMDcyMDJGMEVGNEU3MDAyQzExQkVGNjQ4MDRFNzAwMkMxMUUKKzoxMDM1NkEwMDFCRUZGOEU0OTA3NTBERjBFODkwNzUwQ0YwRUQ3NUYwMkUKKzoxMDM1N0EwMDBBQTQyNEFDRjU4MkU0MzQ3NUY1ODNFMEZGOTA3MjAyNjQKKzoxMDM1OEEwMEYwOTA3NTBERTAyRkYwOTA3NTBDRTAzNDAwRjBFMEZFM0QKKzoxMDM1OUEwMEEzRTBGRkU0RkNGRDdCRDY3QUE1RjlGOEQzMTIzNzk1QjAKKzoxMDM1QUEwMDQwMEE5MDc1MEM3NEE1RjBBMzc0RDZGMDkwNzUwREUwREUKKzoxMDM1QkEwMDI0MkFGMDkwNzUwQ0UwMzQ1QUYwRTBGRUEzRTA3ODA1NzYKKzoxMDM1Q0EwMENFQTJFNzEzQ0UxM0Q4RjhGRjkwNzUwQ0VFRjBBM0VGNTYKKzoxMDM1REEwMEYwOTA3MjJDRUVGMEEzRUZGMEQzOTREMkVFNjQ4MDk0QzQKKzoxMDM1RUEwMDgyNDAwQTkwNzIyQzc0MDJGMEEzNzREMkYwQzM5MDcyRDMKKzoxMDM1RkEwMDJDRTA2NDgwOTQ4MDUwMDRFNEYwQTNGMDkwNzIyQ0UwRjQKKzoxMDM2MEEwMEZFQTNFMDI0M0FGNTgyRUUzNDcyRjU4M0UwOTA3MjAyNkEKKzoxMDM2MUEwMEYwOTA3MjJBRTBGRjI0RkQ2MDJEMjRGRTYwMjkyNDAzMjUKKzoxMDM2MkEwMDI0RkI1MDA0NjAyMTgwNDA5MDcyMDJFMEZFNzQyMDJGMzcKKzoxMDM2M0EwMEY1ODJFNDM0ODBGNTgzRUVGMDc0MjgyRkY1ODJFNDM0QzEKKzoxMDM2NEEwMDgwRjU4M0VFRjA4MDIxOTA3MjAyRTBGRjkwNzIyQUUwMEEKKzoxMDM2NUEwMEZFMjQzMEY1ODJFNDM0ODBGNTgzRUZGMDc0MzgyRUY1RDkKKzoxMDM2NkEwMDgyRTQzNDgwRjU4M0VGRjA5MDc2NDBFMDcwMDY5MDcyNDEKKzoxMDM2N0EwMDM5NzQwQUYwOTA3MjM5RTAwNEYwRTBDMzk0MEE1MDAyRjcKKzowODM2OEEwMEExMTFFNDkwNzY0MEYwMjI0QQorOjEwMzY5MjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDIzNgorOjA5MzZBMjAwRTMyMjg5ODI4QTgzRTQ5MzIyNjkKKzoxMDM2QUIwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwRDQKKzoxMDM2QkIwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyMUUKKzowRDM2Q0IwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyMzgKKzoxMDM2RDgwMEMyRDVFQzMwRTcwOUIyRDVFNEMzOURGREU0OUNGQ0VFMEQKKzoxMDM2RTgwMDMwRTcxNUIyRDVFNEMzOUZGRkU0OUVGRTEyMzgxRkMzMkUKKzoxMDM2RjgwMEU0OURGREU0OUNGQzgwMDMxMjM4MUYzMEQ1MDdDM0U0MjkKKzowNjM3MDgwMDlGRkZFNDlFRkUyMjdCCis6MTAzNzBFMDBCQjAxMTBFNTgyMjlGNTgyRTU4MzNBRjU4M0UwRjVGMEY5Cis6MTAzNzFFMDBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRUQ2Cis6MTAzNzJFMDAwQUU5MjU4MkY4RTJGNUYwMDhFMjIyRTU4MzJBRjU4MzFDCis6MDgzNzNFMDBFOTkzRjVGMEEzRTk5MzIyRTEKKzoxMDM3NDYwMEU4OEZGMEE0Q0M4QkYwQTQyQ0ZDRTk4RUYwQTQyQ0ZDMjIKKzoxMDM3NTYwMDhBRjBFREE0MkNGQ0VBOEVGMEE0Q0RBOEYwOEJGMEE0QTAKKzoxMDM3NjYwMDJEQ0MzODI1RjBGREU5OEZGMEE0MkNDRDM1RjBGQ0VCRkYKKzoxMDM3NzYwMDhFRjBBNEZFQTlGMEVCOEZGMEE0Q0ZDNUYwMkVDRDM5QzQKKzowRjM3ODYwMEZFRTQzQ0ZDRUFBNDJEQ0UzNUYwRkRFNDNDRkMyMjMxCis6MTAzNzk1MDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFQzY0ODBDOEFCCis6MDYzN0E1MDA2NDgwOTg0NUYwMjI0QgorOjEwMzdBQjAwRUI5RkY1RjBFQTlFNDJGMEU5OUQ0MkYwRTg5QzQ1RjA3NAorOjAxMzdCQjAwMjJFQgorOjBDMzdCQzAwRUNGMEEzRURGMEEzRUVGMEEzRUZGMDIyODAKKzoxMDM3QzgwMEE4ODI4NTgzRjBEMDgzRDA4MjEyMzdERjEyMzdERjEyQzgKKzoxMDM3RDgwMDM3REYxMjM3REZFNDczRTQ5M0EzQzU4M0M1RjBDNTgzRUQKKzoxMDM3RTgwMEM4QzU4MkM4RjBBM0M1ODNDNUYwQzU4M0M4QzU4MkM4NEIKKzowMTM3RjgwMDIyQUUKKzoxMDM3RjkwMEQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzNUYKKzoxMDM4MDkwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwNzIKKzowNjM4MTkwMEVGQTNBM0EzODBERjcyCis6MTAzODFGMDBCQzAwMEJCRTAwMjlFRjhERjA4NEZGQURGMDIyRTRDQzhECis6MTAzODJGMDBGODc1RjAwOEVGMkZGRkVFMzNGRUVDMzNGQ0VFOURFQzU2Cis6MTAzODNGMDA5ODQwMDVGQ0VFOURGRTBGRDVGMEU5RTRDRUZEMjJFRDlDCis6MTAzODRGMDBGOEY1RjBFRTg0MjBEMjFDRkVBREYwNzVGMDA4RUYyRkU2Cis6MTAzODVGMDBGRkVEMzNGRDQwMDc5ODUwMDZENUYwRjIyMkMzOThGREQ3Cis6MDUzODZGMDAwRkQ1RjBFQTIyNzQKKzoxMDM4NzQwMEU0OTA3NjI5RjA5MDc2MjlFMEZGNzVGMDBGQTQyNDQyQjUKKzoxMDM4ODQwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQTcKKzoxMDM4OTQwMDYwMEVFRkMzOTQwNjUwMDg5MDc2MjlFMDA0RjA4MEQ1QkEKKzoxMDM4QTQwMEVGQjQwNjA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDBGMDYKKzoxMDM4QjQwMEE0MjQ0MUY1ODJFNDM0NzVGNTgzRTA5MDc2MkFGMDI0NUIKKzoxMDM4QzQwMEJGNzAwMjQxNDEyNEUwNzAwMjQxMTIyNDIxNjAwMjQxOTAKKzoxMDM4RDQwMDNBOTA3RkU5RTAyNEZFNjA3RDE0NzAwMjIxQjIyNDAyNTQKKzoxMDM4RTQwMDYwMDI0MTBBMTIxNzUxOTA3NjQyRTBGQ0EzRTBGREEzNjYKKzoxMDM4RjQwMEUwRkVBM0UwRkY5MDc2MjlFMDc1RjAwRkE0MjQ0M0Y1RTEKKzoxMDM5MDQwMDgyRTQzNDc1RjU4MzEyMzdCQzkwNzYxOUUwRkZCNDAxNzQKKzoxMDM5MTQwMDEyOTA3NjdDNzQ2N0YwOTA3NjdENzQwNkYwOTA3NjdFRDMKKzoxMDM5MjQwMDc0MEJGMEVGQjQwMjBGRTQ5MDc2N0NGMDkwNzY3REYwQTcKKzoxMDM5MzQwMDkwNzY3RTc0MENGMEVGQjQwMzBGRTQ5MDc2N0NGMDkwRjQKKzoxMDM5NDQwMDc2N0RGMDkwNzY3RTc0MThGMDkwNzYxQTc0MDFGMDEyRjkKKzoxMDM5NTQwMDNFOEYxMjE4MDAyMjkwN0VDMkUwRkZFNEZDRkRGRUZCQzUKKzoxMDM5NjQwMEZBNzkwMUY4MTIzNzQ2QzhFQ0M4QzlFREM5Q0FFRUNBREIKKzoxMDM5NzQwMENCRUZDQjkwN0VDMUUwRkVFNEZDRkQyQkZCRUEzRUZBRUMKKzoxMDM5ODQwMEVEMzlGOUVDMzhGODkwN0VDMEUwRkZFNEZFRUIyRkZGNTAKKzoxMDM5OTQwMEVFM0FGRUVEMzlGREVDMzhGQzkwNzYyOUUwNzVGMDBGMzcKKzoxMDM5QTQwMEE0MjQ0N0Y1ODJFNDM0NzVGNTgzMTIzN0JDMjI5MDdFNTMKKzoxMDM5QjQwMEMyRTBGRkU0RkNGREZFRkJGQTc5MDFGODEyMzc0NkM4QzkKKzoxMDM5QzQwMEVDQzhDOUVEQzlDQUVFQ0FDQkVGQ0I5MDdFQzFFMEZFMEMKKzoxMDM5RDQwMEU0RkNGRDJCRkJFQTNFRkFFRDM5RjlFQzM4Rjg5MDdFNzUKKzoxMDM5RTQwMEMwRTBGRkU0RkVFQjJGRkZFRTNBRkVFRDM5RkRFQzM4Q0MKKzoxMDM5RjQwMEZDOTA3NjI5RTA3NUYwMEZBNDI0NEJGNTgyRTQzNDc1MkQKKzoxMDNBMDQwMEY1ODMxMjM3QkMyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGMEEKKzoxMDNBMTQwMEU5RTAxNDcwMTk5MDdFQzBFMEZGOTA3NjI5RTA3NUYwMUIKKzoxMDNBMjQwMDBGQTQyNDRGRjU4MkU0MzQ3NUY1ODNFRkYwMjI5MDdGRTAKKzowRTNBMzQwMEI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUYwMjI5RgorOjEwM0E0MjAwRTQ5MDc2MzVGMDkwNzYzNUUwRkZDMzk0MDM0MDAyNDE2RQorOjEwM0E1MjAwRkZFRjc1RjAwQUE0MjRBQUY1ODJFNDM0NzVGNTgzRUYyQQorOjEwM0E2MjAwRjBFRjc1RjAwQUE0MjRBQkY1ODJFNDM0NzVGNTgzRTQzMworOjEwM0E3MjAwRjBFRjc1RjAwQUE0MjRBQ0Y1ODJFNDM0NzVGNTgzNzQ5MgorOjEwM0E4MjAwRjBGMEVGNzVGMDBBQTQyNEFERjU4MkU0MzQ3NUY1ODMwNQorOjEwM0E5MjAwNzRGRkYwRUY3NUYwMEFBNDI0QUVGNTgyRTQzNDc1RjVGNAorOjEwM0FBMjAwODNFNEYwRUY3NUYwMEFBNDI0QUZGNTgyRTQzNDc1RjVFRgorOjEwM0FCMjAwODM3NDgwRjBFRjc1RjAwQUE0MjRCMEY1ODJFNDM0NzVDMworOjEwM0FDMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMUY1ODJFNDM0NzVDRAorOjEwM0FEMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCMkY1ODJFNDM0NzVCQworOjEwM0FFMjAwRjU4M0U0RjBFRjc1RjAwQUE0MjRCM0Y1ODJFNDM0NzVBQgorOjEwM0FGMjAwRjU4Mzc0MDFGMDkwNzYzNUUwMDRGMDQxNDc5MDc2M0MwRQorOjEwM0IwMjAwNzQwQUYwRTRBM0YwOTA3NjM1NzQwM0YwOTA3NjNDRTAwQQorOjEwM0IxMjAwRkY5MDc2MzVFMEZFQzM5RjQwMDI2MUQyOTA3NjNERTA5MQorOjEwM0IyMjAwRkYwNEYwRUU3NUYwMEFBNDI0QUFGNTgyRTQzNDc1RjVEOAorOjEwM0IzMjAwODNFRkYwRUU3NUYwMEFBNDI0QUJGNTgyRTQzNDc1RjU1OAorOjEwM0I0MjAwODNFNEYwRUU3NUYwMEFBNDI0QUNGNTgyRTQzNDc1RjU1MgorOjEwM0I1MjAwODM3NDVFRjBFRTc1RjAwQUE0MjRBREY1ODJFNDM0NzU0OAorOjEwM0I2MjAwRjU4Mzc0QkFGMEVFNzVGMDBBQTQyNEFFRjU4MkU0MzQ1QgorOjEwM0I3MjAwNzVGNTgzNzQwNUYwRUU3NUYwMEFBNDI0QUZGNTgyRTRCRQorOjEwM0I4MjAwMzQ3NUY1ODM3NDgwRjBFRTc1RjAwQUE0MjRCMEY1ODJFMgorOjEwM0I5MjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMUY1ODJGRAorOjEwM0JBMjAwRTQzNDc1RjU4M0U0RjBFRTc1RjAwQUE0MjRCMkY1ODJFQworOjEwM0JCMjAwRTQzNDc1RjU4Mzc0MTVGMEVFNzVGMDBBQTQyNEIzRjVCOAorOjEwM0JDMjAwODJFNDM0NzVGNTgzRTRGMDkwNzYzNUUwMDRGMDYxMEUxQQorOjAxM0JEMjAwMjJEMAorOjEwM0JEMzAwRTQ5MDc2MzZGMEUwRkI3NUYwMEZBNDI0NDFGNTgyRTQxRgorOjEwM0JFMzAwMzQ3NUY1ODM3NDQwRjBFQjc1RjAwRkE0MjQ0MkY1ODIyRAorOjEwM0JGMzAwRTQzNDc1RjU4Mzc0MEFGMEVCNzVGMDBGQTQyNDQzRjVGMAorOjEwM0MwMzAwODJFNDM0NzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjBEOQorOjEwM0MxMzAwMEZBNDI0NDdGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDBGNgorOjEwM0MyMzAwQUM0NEVCNzVGMDBGQTQyNDRCRjU4MkU0MzQ3NUY1ODNCMworOjEwM0MzMzAwMTIzN0M4MDAwMTc3MDA5MDc2MzZFMDA0RjBFMEZCNzU5OAorOjEwM0M0MzAwRjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0MEYwRUI1RQorOjEwM0M1MzAwNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM3NDhDRjA3NworOjEwM0M2MzAwRUI3NUYwMEZBNDI0NDNGNTgyRTQzNDc1RjU4MzEyMzcyMgorOjEwM0M3MzAwQzgwMDAwQUM0NEVCNzVGMDBGQTQyNDQ3RjU4MkU0MzQ4QworOjEwM0M4MzAwNzVGNTgzMTIzN0M4MDAwMEFDNDRFQjc1RjAwRkE0MjQxQworOjEwM0M5MzAwNEJGNTgyRTQzNDc1RjU4MzEyMzdDODAwMDE3NzAwOTA0MQorOjEwM0NBMzAwNzYzNkUwMDRGMEUwRkY3NUYwMEZBNDI0NDFGNTgyRTREQQorOjEwM0NCMzAwMzQ3NUY1ODM3NDQwRjBFRjc1RjAwRkE0MjQ0MkY1ODI1OAorOjEwM0NDMzAwRTQzNDc1RjU4Mzc0OEZGMDkwNzYzNkUwMDRGMEUwRkYwQQorOjEwM0NEMzAwNzVGMDBGQTQyNDQxRjU4MkU0MzQ3NUY1ODM3NDQxRjA0MworOjEwM0NFMzAwRUY3NUYwMEZBNDI0NDJGNTgyRTQzNDc1RjU4Mzc0ODRGMAorOjEwM0NGMzAwRjA5MDc2MzZFMDA0RjBFMEZGNzVGMDBGQTQyNDQxRjU3MAorOjEwM0QwMzAwODJFNDM0NzVGNTgzNzQ2MUYwRUY3NUYwMEZBNDI0NDJGNworOjEwM0QxMzAwRjU4MkU0MzQ3NUY1ODM3NDgxRjA5MDc2MzZFMDA0RjAyRgorOjEwM0QyMzAwRTBGRjc1RjAwRkE0MjQ0MUY1ODJFNDM0NzVGNTgzNzQ0NAorOjEwM0QzMzAwNjFGMEVGNzVGMDBGQTQyNDQyRjU4MkU0MzQ3NUY1ODM0NgorOjA0M0Q0MzAwNzQwMUYwMjJGNQorOjEwM0Q0NzAwQzBFMEMwRjBDMDgzQzA4MkMwRDBFOEMwRTBFOUMwRTBGNgorOjEwM0Q1NzAwRUFDMEUwRUJDMEUwRUNDMEUwRURDMEUwRUVDMEUwRUZCMQorOjEwM0Q2NzAwQzBFMDkwN0ZBMkUwOTA3NjdGRjA5MDdGNzRFMDkwNzYzRAorOjEwM0Q3NzAwODdGMDkwN0Y3NUUwOTA3Njg4RjA5MDdGOThFMDQ0MDIxNgorOjEwM0Q4NzAwRjA5MDc2OTZFMEZGMjBFMTBDNDQwMkYwOTA4MDAzRjA3QgorOjEwM0Q5NzAwRDIzMjEyNEFDNDkwNzY3RkUwMjBFMjUwOTA3Njg3RTBENAorOjEwM0RBNzAwRkVBM0UwN0MwMDI0MDBGNTM0RUMzRUY1MzM5MDc2OThEMgorOjEwM0RCNzAwRTBGREFFMzNBRjM0MTIzNkQ4OTA3Njg3RUZGMEQyMkZDRQorOjEwM0RDNzAwMzAzMTI5MjAzRjI2QzIzMTkwN0Y5NEUwNTRDRkYwOTBDNAorOjEwM0RENzAwN0Y5QUUwMzBFNDA0RDIyREMyMkM5MDdGOUFFMDIwRTU1MAorOjEwM0RFNzAwMDRDMjJERDIyQzkwN0Y5NEUwNDQzMEYwMTI0QTUwMTIzNgorOjEwM0RGNzAwMUIwNDMwMkYxMjEyNDIxNkMyMkY3NUU4MDExMjE2OEFDMQorOjEwM0UwNzAwNzVFODBERDIyQjgwMDU3NUU4MDFDMjJCMjAyQjM0OTA2NQorOjEwM0UxNzAwNzYxOUUwRkZCNDAxMEU5MDc2N0M3NDY3RjBBMzc0MDYwMAorOjEwM0UyNzAwRjBBMzc0MEJGMEVGQjQwMjBCOTA3NjdDRTRGMEEzRjBGMAorOjEwM0UzNzAwQTM3NDBDRjBFRkI0MDMwQjkwNzY3Q0U0RjBBM0YwQTMyQgorOjEwM0U0NzAwNzQxOEYwNzVDQUQzNzVDQkZFRDJDQTMwMzQwNEMyMzRBNQorOjEwM0U1NzAwODAwMkQyMzQ1MzkxRUY5MDdGQUI3NDAyRjBGMDkwN0ZFMQorOjEwM0U2NzAwOThFMDU0RkRGMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBEOAorOjEwM0U3NzAwRkNEMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDAyOQorOjA4M0U4NzAwODJEMDgzRDBGMEQwRTAzMkJDCis6MTAzRThGMDA5MDc2OTJFMDE0NjAxRDE0NzAwMkUxNDQyNDAyNjAwMkU3Cis6MTAzRTlGMDBFMUQ0OTA3Njk0NzQwMUYwOTA4MDAwRjBFNDkwNzY4RUU3Cis6MTAzRUFGMDBGMEQyMzEyMjkwNzYxOUUwRkZCNDAxMUJFNDkwN0ZGMjNCCis6MTAzRUJGMDBGMDkwN0ZGMzc0MzBGMDkwN0ZGRjc0RkNGMDkwNzY5NzYyCis6MTAzRUNGMDBFMDU0RkRGMDU0RkJGMEVGQjQwMjFCRTQ5MDdGRjJGMEVFCis6MTAzRURGMDA5MDdGRjM3NDM0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDRFCis6MTAzRUVGMDA0NDAyRjA1NEZCRjBFRkI0MDMxOEU0OTA3RkYyRjA5MDJCCis6MTAzRUZGMDA3RkYzNzQ2NEYwOTA3RkZGNzRGQ0YwOTA3Njk3RTA0NDRBCis6MTAzRjBGMDAwNEYwOTA3Njk0RTA0NDAxRjA5MDgwMDBGMDMwM0YwOTg3Cis6MTAzRjFGMDA5MDc2OTdFMDU0RkVGMDgwMDc5MDc2OTdFMDQ0MDFGMDlBCis6MTAzRjJGMDA5MDc2OTdFMDkwODAwMkYwOTA3Njk4NzQwNEYwOTA3NkY3Cis6MTAzRjNGMDA4RTc0MDFGMDIyOTA3NjE5RTBGRkI0MDExQkU0OTA3RjlDCis6MTAzRjRGMDBGMkYwOTA3RkYzNzQ0NEYwOTA3RkZGNzRGQ0YwOTA3NjYyCis6MTAzRjVGMDA5N0UwNTRGREYwNTRGQkYwRUZCNDAyMUJFNDkwN0ZGMkI2Cis6MTAzRjZGMDBGMDkwN0ZGMzc0NENGMDkwN0ZGRjc0RkNGMDkwNzY5Nzk1Cis6MTAzRjdGMDBFMDQ0MDJGMDU0RkJGMEVGQjQwMzE4RTQ5MDdGRjJGMDRBCis6MTAzRjhGMDA5MDdGRjM3NDk0RjA5MDdGRkY3NEZDRjA5MDc2OTdFMDNECis6MTAzRjlGMDA0NDA0RjA5MDc2OTRFMDU0RkVGMDkwODAwMEYwMzAzRkFGCis6MTAzRkFGMDAwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5N0UwNDQwMUYxCis6MTAzRkJGMDBGMDkwNzY5N0UwOTA4MDAyRjA5MDc2OTg3NDA2RjA5MEVCCis6MDYzRkNGMDA3NjhFNzQwMkYwMjI2MAorOjEwM0ZENTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDAyRjAxNQorOjEwM0ZFNTAwOTA3RkM3RTBGNTExNzUwRjAwNzUwRDAwRDIzM0QwODJCMworOjA1M0ZGNTAwRDA4M0QwRTAzMjkyCis6MDYzRkZBMDAxMjRBQzRDMjMxMjI4QworOjEwNDAwMDAwRTUxMUQzOTQwMDUwMDIyMTA2OTA3Njg5RTBDMzk0MDgwQworOjEwNDAxMDAwNDAwMjIxMDY3NDQwMjUwRkY1ODJFNDM0N0VGNTgzRTBFQQorOjEwNDAyMDAwRjUxN0U1MEQ2MDBFOTA4MDA1RTUxN0YwOTA3Njg5RTBCNAorOjEwNDAzMDAwMDRGMDAxREFFNTE3MTIzN0Y5NDBDMTAyNDA2NzA1NDA4NAorOjEwNDA0MDAwN0EwNjQwOTgwNzQwQzEwQzQwQzEwRDQwQzcwRjQwQ0JENQorOjEwNDA1MDAwRjY0MENCRjg0MENCRkE0MENCRkI0MENCRkM0MENCRkU0QworOjEwNDA2MDAwNDBDQkZGMDAwMDQwREE5MDdFNDFFMDkwODAwNUYwOTA2OAorOjEwNDA3MDAwNzY4OUUwMDRGMDc1MTEwMTgwNjA5MDdFNDFFMDkwODBDNworOjEwNDA4MDAwMDVGMDkwN0U0MkUwOTA4MDA1RjA5MDc2ODlFMDA0RjBBMworOjEwNDA5MDAwRTAwNEYwNzUxMTAxODA0MjkwN0U0MUUwOTA4MDA1RjBDRgorOjEwNDBBMDAwOTA3RTQyRTA5MDgwMDVGMDkwN0U0M0UwOTA4MDA1RjBBNQorOjEwNDBCMDAwOTA3Njg5RTAwNEYwRTAwNEYwRTAwNEYwNzUxMTAxODBFRQorOjEwNDBDMDAwMTlEMjNCRDIzQzgwMTNEMjNCODAwRjkwODAwNUU1MTc3QworOjEwNDBEMDAwRjA5MDc2ODlFMDA0RjA3NTExMDEyMDNCMDQwNTBEODAxNQorOjEwNDBFMDAwMUYzMDNDMUM5MDdFNDFFMDkwODAwNUYwOTA3RTQyRTBDNQorOjEwNDBGMDAwOTA4MDA1RjA5MDc2ODlFMDA0RjBFMDA0RjA3NTExMDFGRAorOjEwNDEwMDAwMDUwRjE1MTEwMTAwRTUxMTcwMTBDMjMzRjUwREY1MEYwMworOjBCNDExMDAwOTA3RkM3NzQwNEYwQzIzQkMyM0MyMjQ5Cis6MTA0MTFCMDA5MDc2OERFMDY0MDE3MDI3MzAyNzA4QzIyNzEyMDgwMEMzCis6MTA0MTJCMDAxMjE3NEEzMDI4MDhDMjI4MTIzODc0MTIxNzRBMzAyQTNDCis6MTA0MTNCMDAwRUU0OTA3NjhERjBDMjJBOTA3RkI0RTA0NDAyRjA5MEFBCis6MTA0MTRCMDA3NjNGRTBCNDAxMDVFNEYwMTIzMjZGOTA3NjQxRTBCNEIzCis6MTA0MTVCMDAwMTA1RTRGMDEyMzQ5QTkwNzY0MEUwQjQwMTAzMTIzNDc2Cis6MTA0MTZCMDA5QTkwN0Y5QkUwMjBFNDAyQzIzRjkwN0Y5QkUwMzBFNDdCCis6MTA0MTdCMDAwMkQyM0Y5MDdGOUJFMDIwRTUwMkMyM0U5MDdGOUJFMDA2Cis6MTA0MThCMDAzMEU1MDJEMjNFQTI0MTMwM0YwMUIzNTAxRkEyM0Y5MjE1Cis6MTA0MTlCMDA0MTMwM0YwOTkwNzY5N0UwNTRGRUYwODAwNzkwNzY5Nzc4Cis6MTA0MUFCMDBFMDQ0MDFGMDkwNzY5N0UwOTA4MDAyRjAzMDNGMzQ5MDNECis6MTA0MUJCMDA3NjE5RTBGRkI0MDEwRTkwNzY3Qzc0NjdGMEEzNzQwNjU5Cis6MTA0MUNCMDBGMEEzNzQwQkYwRUZCNDAyMEJFNDkwNzY3Q0YwQTNGMDQ5Cis6MTA0MURCMDBBMzc0MENGMEVGQjQwMzBCRTQ5MDc2N0NGMEEzRjBBMzg0Cis6MTA0MUVCMDA3NDE4RjBBMjQwMzAzRTAxQjM1MDFGQTIzRTkyNDAzMEYzCis6MTA0MUZCMDAzRTA5OTA3Njk1RTA0NDA0RjA4MDA3OTA3Njk1RTA1NDY0Cis6MEI0MjBCMDBGQkYwOTA3Njk1RTA5MDgwMDFGMDIyMUYKKzoxMDQyMTYwMDkwNzYxOUUwNjQwMTcwMzU5MDc2ODdFMEZGRDM5NDJEOEYKKzoxMDQyMjYwMDQwMkI5MDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzMUEKKzoxMDQyMzYwMDk0MEY0MDE5RTRGMEVGRDM5NDMxNDAwODkwNzYxOTc0NDYKKzoxMDQyNDYwMDAzRjA4MDA2OTA3NjE5NzQwMkYwMTIzRThGOTA3NjE5NkMKKzoxMDQyNTYwMEUwQjQwMjJDOTA3Njg3RTBGRkMzOTQyRjUwMjJFRkQzNzAKKzoxMDQyNjYwMDk0MkE0MDFDOTA3Njg2NzQwMUYwOTA3Njg1RTAwNEYwREUKKzoxMDQyNzYwMEUwRDM5NDBGNDAwQUU0RjA5MDc2MTkwNEYwMTIzRThGRDIKKzoxMDQyODYwMDkwNzYxOUUwQjQwMjI2OTA3Njg3RTBEMzk0MzE0MDFERUIKKzoxMDQyOTYwMDkwNzY4Njc0MDFGMDkwNzY4NUUwMDRGMEUwRDM5NDBGNzIKKzoxMDQyQTYwMDQwMEJFNEYwOTA3NjE5NzQwM0YwMTIzRThGOTA3NjE5NjUKKzoxMDQyQjYwMEUwNjQwMzcwM0Y5MDc2ODdFMEZGQzM5NDVGNTAzNTkwQ0IKKzoxMDQyQzYwMDc2ODY3NDAxRjA5MDc2ODVFMDA0RjBFMEQzOTQwRjQwOTIKKzoxMDQyRDYwMDIzRTRGMEVGQzM5NDJGNTAwQ0VGRDM5NDJBNDAwNjkwQkEKKzoxMDQyRTYwMDc2MTk3NDAxRjBFRkQzOTQyRjQwMDY5MDc2MTk3NDAyNzQKKzoxMDQyRjYwMEYwMTIzRThGOTA3Njg2RTA3MDA1OTA3Njg1RjAyMkU0ODcKKzowNTQzMDYwMDkwNzY4NkYwMjIxNAorOjEwNDMwQjAwRTQ5MDc2OTZGMDkwODAwM0YwOTA3RkUwNzQ5MEYwOTBCQworOjEwNDMxQjAwN0ZFMTc0MDRGMEU0OTA3RkRERjA5MDdGQTFGMDUzOEU4OQorOjEwNDMyQjAwRjg3NTg4MDU3NUI4MjA3NUY4MDE0MzhFMzBGNUM4NzU5QQorOjEwNDMzQjAwQ0E3Rjc1Q0JGODQzQTgyMDEyMDc0QUMyMkNDMjJEQzJFNAorOjEwNDM0QjAwMkJDMjJGOTA3RkZDNzREREYwOTA3RkZGNzRGRkYwOTBGOQorOjEwNDM1QjAwN0Y5N0UwNDQwMUYwOTA3NjE5NzQwMUYwRTQ5MDc2ODUzNAorOjEwNDM2QjAwRjBBM0YwOTA3NjgxRjA5MDc2ODBGMDEyNDk1ODEyMEZGRQorOjEwNDM3QjAwQzYxMjRBOEQ5MDdGOTdFMDQ0MDhGMEUwNTRCOUYwRDIxMgorOjEwNDM4QjAwMzAyMDMwMTgxMjQ3QjQxMjMwMDAxMjQwMDAxMjQyMTY3RgorOjEwNDM5QjAwMTI0QTUwMTIxQjA0MTIxNjYxMTI0MjE2QzIyRkMyMzE1RQorOjEwNDNBQjAwQzIzMkMyMzRDMjMzQzIyOUMyMjdDMjI4RTRGNTExOTBFQgorOjEwNDNCQjAwNzY4OUYwOTA3NjNGRjA5MDc2NDFGMDkwNzY0MEYwOTBEMQorOjEwNDNDQjAwNzY4QUYwQTNGMEEzMDRGMEU0QTNGMDkwNzY5OUYwMjJBMAorOjEwNDNEQjAwMTI0REEzNDAwMjgxQTA5MDdGRUJFMDI0RkU2MDFFMTRERgorOjEwNDNFQjAwNjA0NjE0NjA2RTE0NzAwMjgxOTEyNDA0NjAwMjgxOTlGRQorOjEwNDNGQjAwNzQwNTkwN0ZENEYwNzQwMDkwN0ZENUYwMjI5MDdGRUEwMworOjEwNDQwQjAwRTBGRjEyNDlGRjhCMjA4QTIxODkyMkVBNDk2MDExQ0VGNQorOjEwNDQxQjAwRUFDRUVFOTA3RkQ0RjBDRkU5Q0ZFRjkwN0ZENUYwMjJBQworOjEwNDQyQjAwOTA3RkI0RTA0NDAxRjAyMjkwN0ZFQUUwRkYxMjQ4QjBBNQorOjEwNDQzQjAwOEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0VFRTkwN0Y0OQorOjEwNDQ0QjAwRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZCNEUwNDQ0QQorOjEwNDQ1QjAwMDFGMDIyOTA3RkVBRTBGRjkwN0VDMEUwRkRBM0UwRkIzRAorOjEwNDQ2QjAwMTIxNzk0OEIyMDhBMjE4OTIyRUE0OTYwMTFDRUVBQ0U1OQorOjEwNDQ3QjAwRUU5MDdGRDRGMENGRTlDRkVGOTA3RkQ1RjAyMjkwN0ZGNQorOjEwNDQ4QjAwQjRFMDQ0MDFGMDIyOTA3RkI0RTA0NDAxRjAyMjkwN0YyRAorOjA1NDQ5QjAwQjRFMDQ0MDFGMDUzCis6MDE0NEEwMDAyMkY5Cis6MTA0NEExMDBDMkFGRDIyNDkwN0Y5Mzc0MzBGMDkwN0Y5Qzc0QkJGMEE0Cis6MTA0NEIxMDA5MDdGOTZFMDQ0MzBGMEUwNTQzMEYwOTA3Rjk0NzQzMDc3Cis6MTA0NEMxMDBGMDkwN0Y5RDc0Q0ZGMDkwN0Y5Nzc0QTBGMDkwN0Y5NUNFCis6MTA0NEQxMDA3NEMwRjA5MDdGOUU3NDAzRjA5MDdGOTlFMDMwRTIwOTAwCis6MTA0NEUxMDA5MDA1MTk3NEEwRjBFNEEzRjBDMjI1QzIyMkMyMjNDMjMwCis6MTA0NEYxMDAyNjEyNEFDNDEyMkRBOTEyM0JEMzEyNDU1OTEyM0E0MjJGCis6MTA0NTAxMDA5MDc2Njg3NDAxRjA3MDBGMTI0QkJCMTIwN0ZFMTI0RENBCis6MTA0NTExMDBBMTEyMUI0MDEyMTQ5NjEyNDMwQjkwN0ZBRkUwNDQwMThECis6MTA0NTIxMDBGMDkwN0ZBRUUwNDQxRkYwOTA3RkFDNzRGRkYwOTA3RjdECis6MTA0NTMxMDBBREYwOTA3RkRFRjA5MDdGREZGMDkwN0ZBQkYwOTA3RjY5Cis6MTA0NTQxMDBBOUYwOTA3RkFBRjA1MzkxRUY0M0Q4MjBEMkU4NDNEODQ1Cis6MDg0NTUxMDAyMDUzQThBMDQzQTg4MDIyMUEKKzoxMDQ1NTkwMEU0OTA3NjM2RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0QTYKKzoxMDQ1NjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0QTAKKzoxMDQ1NzkwMDM0NzVGNTgzNzQwMUYwOTA3NjM2RTAwNEYwRTBGRjc1NDgKKzoxMDQ1ODkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1ODEKKzoxMDQ1OTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDJGMDkwQjIKKzoxMDQ1QTkwMDc2MzZFMDA0RjBFMEZGNzVGMDAzQTQyNDMyRjU4MkU0RTYKKzoxMDQ1QjkwMDM0NzVGNTgzRTRGMEVGNzVGMDAzQTQyNDMzRjU4MkU0NTAKKzoxMDQ1QzkwMDM0NzVGNTgzNzQwM0YwOTA3NjM2RTAwNEYwRTBGRjc1RjYKKzoxMDQ1RDkwMEYwMDNBNDI0MzJGNTgyRTQzNDc1RjU4M0U0RjBFRjc1MzEKKzoxMDQ1RTkwMEYwMDNBNDI0MzNGNTgyRTQzNDc1RjU4Mzc0MDRGMDIyQ0UKKzowQzQ1RjkwMDc4N0ZFNEY2RDhGRDc1ODEzODAyNDY0MDVBCis6MTA0NjA1MDAwMjQ3NUFFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjJBCis6MTA0NjE1MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0I2Cis6MTA0NjI1MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjg1Cis6MTA0NjM1MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwQzhGRTQ3RTdBCis6MTA0NjQ1MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzdBCis6MTA0NjU1MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzQxCis6MTA0NjY1MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTZDCis6MTA0Njc1MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTI0Cis6MTA0Njg1MDA5MDdGRUNFMDkwNzY4M0YwRTAxNDYwMUQxNDYwMkExNEFFCis6MTA0Njk1MDA2MDM3MTQ2MDQ0MjQwNDcwNTA5MDc2OTFFMDkwN0YwMDU4Cis6MTA0NkE1MDBGMDkwN0ZCNTc0MDFGMDgwNDc5MDc2OTJFMDkwN0YwMDlFCis6MTA0NkI1MDBGMDkwN0ZCNTc0MDFGMDgwMzc5MDc2OTBFMDkwN0YwMEEwCis6MTA0NkM1MDBGMDkwN0ZCNTc0MDFGMDgwMjc5MDc2ODRFMDkwN0YwMEFDCis6MTA0NkQ1MDBGMDkwN0ZCNTc0MDFGMDgwMTc5MDc2OTNFMDkwN0YwMDlECis6MTA0NkU1MDBGMDkwN0ZCNTc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDRECis6MDI0NkY1MDBEMzIyQ0UKKzoxMDQ2RjcwMEMwRTBDMEYwQzA4M0MwODJDMEQwRThDMEUwRTlDMEUwM0QKKzoxMDQ3MDcwMEVBQzBFMEVCQzBFMEVDQzBFMEVEQzBFMEVFQzBFMEVGRjcKKzoxMDQ3MTcwMEMwRTBDMkNBQzJDRjkwN0Y5OEUwNDQwMUYwMzAyRTAzQjgKKzoxMDQ3MjcwMDEyMTRBNjkwN0Y5OEUwNTRGRUYwNTNBOEZBMTIxNjYxNkYKKzoxMDQ3MzcwMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwNDEKKzoxMDQ3NDcwMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4MkQwODNEMEYwMzIKKzowMzQ3NTcwMEQwRTAzMjdECis6MTA0NzVBMDBFNDkwNzY2NkYwMTI0NEExMjAyNjEzOTA3NjY2RTBDM0IwCis6MTA0NzZBMDA5NDAyNTAwQUUwMDRGMEQyNDIxMjRBRjY4MEVBMzAyNjU1Cis6MTA0NzdBMDAwNTEyMjgwMUMyMjYzMDI1MkI5MDc2OTZFMDU0RkNGMENCCis6MTA0NzhBMDA5MDgwMDNGMDEyMTQ5NjkwNzY5NkUwNDQwM0YwOTA4MDlECis6MTA0NzlBMDAwM0YwRTQ5MDc2NjdGMDkwNzY2N0UwMDRGMEUwQjQ0QkJCCis6MEE0N0FBMDBGNjEyM0ZGQTEyNDExQjgwQzUyMkVGCis6MTA0N0I0MDBFNDkwNzY5QkYwOTA3NjlCRTBGRjA0RjBFRjYwMDhFMEQ1Cis6MTA0N0M0MDAyNDA4RjhFNEY2ODBFRTkwNzY5NkUwNTRGQkYwNTRGNzczCis6MTA0N0Q0MDBGMDkwODAwM0YwRTRGNTE4RDIzNUY1MEVGNTEwRDIzNkRBCis6MTA0N0U0MDA3NTEyMTE3NTEzMjJDMjM3QzIzOUMyMzhGNTE2RjUxNDgxCis6MEI0N0Y0MDBGNTFBRjUwREMyM0JDMjNDQzIzRDIyOEQKKzoxMDQ4MDAwMDkwN0ZFQ0UwOTA3NjgzRjBFMDE0NjAxNzE0NjAyMTE0NDAKKzoxMDQ4MTAwMDYwMkIxNDYwMzIyNDA0NzAzODkwN0ZFQUUwOTA3NjkxMjcKKzoxMDQ4MjAwMEYwODAzNTkwN0ZFQUUwOTA3NjkyRjAxMjNFOEY4MDI4RkIKKzoxMDQ4MzAwMDkwN0ZFQUUwOTA3NjkwRjAxMjE4MDA4MDFCOTA3RkVBNUIKKzoxMDQ4NDAwMEUwOTA3Njg0RjA4MDExOTA3RkVBRTA5MDc2OTNGMDgwOUIKKzowQTQ4NTAwMDA3OTA3RkI0RTA0NDAxRjBEMzIyOEEKKzoxMDQ4NUEwMEU0OTA3NjI2RjA5MDc2MjZFMEZGNzVGMDAzQTQyNDM0REYKKzoxMDQ4NkEwMEY1ODJFNDM0NzVGNTgzRTBGRTkwN0ZFQ0UwRkRFRTZEQjEKKzoxMDQ4N0EwMDYwMEVFRkMzOTQwNDUwMDg5MDc2MjZFMDA0RjA4MEQ1QzkKKzoxMDQ4OEEwMEVGQjQwNDA4OTA3RkI0RTA0NDAxRjAyMkVGNzVGMDAzMUUKKzoxMDQ4OUEwMEE0MjQzMkY1ODJFNDM0NzVGNTgzRTA5MDdGMDBGMDkwMjkKKzowNjQ4QUEwMDdGQjU3NDAxRjAyMjRECis6MDI0OEIwMDA4RjJFNDkKKzoxMDQ4QjIwMEU0RjUyRjc1MzBGRjc1MzEwNjc1MzJCRUFCMzBBQTMxODMKKzoxMDQ4QzIwMEE5MzI5MDAwMDExMjM2QUJCNDAzMUZBRjJGMDUyRkVGQjAKKzoxMDQ4RDIwMDY1MkU3MDAxMjIxMjM2OTI3RTAwMjlGRkVFM0FDOUVGNTAKKzoxMDQ4RTIwMEM5NzUzMEZGRjUzMTg5MzI4MEQyN0IwMDdBMDA3OTAwQjgKKzowMTQ4RjIwMDIyQTMKKzowQzQ4RjMwMEMyMzdFNEY1MEVGNTEwQzIzNkY1MTQyMkIxCis6MTA0OTAwMDAwMjJGRTcwMDAyM0Q0NzAwMDI0RDQ2MDAwMjRCRDUwMDUyCis6MTA0OTEwMDAwMjRCNjAwMDAyMkZGRjAwMDI0QkVEMDAwMjRCODEwMEIyCis6MTA0OTIwMDAwMjRDMDQwMDAyM0ZENTAwMDI0QzFCMDAwMjRDMzIwMDM2Cis6MTA0OTMwMDAwMjRDNDkwMDAyNEM2MDAwMDI0Qzc3MDAwMjRDOEUwMDkxCis6MTA0OTQwMDAwMjRDQTUwMDAyNENCQzAwMDI0Q0QzMDAwMjRDRUEwMDExCis6MDg0OTUwMDAwMjREMDEwMDAyNEQxODAwQTgKKzoxMDQ5NTgwMDkwNzY0Njc0ODBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzNEMKKzoxMDQ5NjgwMEYwQTNGMEEzRjBBM0YwQTM3NDgwRjBFNEEzRjBBM0YwMDUKKzoxMDQ5NzgwMEEzRjBBM0YwQTNGMEEzRjBBMzc0NDBGMEU0QTNGMEEzODIKKzoxMDQ5ODgwMDc0NDBGMEU0QTNGMEEzRjBBM0YwQTNGMEEzRjBBM0YwMjUKKzoxMDQ5OTgwMEEzNzQ0MEYwRTRBM0YwQTM3NDQwRjBFNEEzRjBBM0YwMDAKKzowNTQ5QTgwMEEzRjBBM0YwMjJDMgorOjEwNDlBRDAwRTQ5MDc2MjVGMDkwNzYyNUUwRkY3NUYwMDNBNDI0MzQ4RAorOjEwNDlCRDAwRjU4MkU0MzQ3NUY1ODNFMEZFOTA3RkVDRTBGREVFNkQ1RAorOjEwNDlDRDAwNjAwRUVGQzM5NDA0NTAwODkwNzYyNUUwMDRGMDgwRDU3NgorOjEwNDlERDAwRUZCNDA0MDg5MDdGQjRFMDQ0MDFGMDIyOTA3RUMwRTA3MworOjEwNDlFRDAwRkVFRjc1RjAwM0E0MjQzMkY1ODJFNDM0NzVGNTgzRUUwMQorOjAyNDlGRDAwRjAyMkE2Cis6MTA0OUZGMDBFNEZFNzUxREZGNzUxRTA1NzUxRjEyQUIxREFBMUVBOUJFCis6MTA0QTBGMDAxRjkwMDAwMTEyMzZBQjY0MDI3MDJGQ0RFRUNEMEVFRDZDCis6MTA0QTFGMDA2RjcwMDEyMjkwMDAwMjEyMzcwRTg1RjAxQkY1MUM2Mjk5Cis6MTA0QTJGMDAxQkU1MUI2MjFDRTUxQzYyMUIyOUZERTUxQjNBQzlFRDRBCis6MTA0QTNGMDBDOTc1MURGRkY1MUU4OTFGODBDMTdCMDA3QTAwNzkwMEEzCis6MDE0QTRGMDAyMjQ0Cis6MTA0QTUwMDAzMDJEMzlDMjJEOTA3NjE5RTBGRkI0MDEwREU0OTA3NjI3Cis6MTA0QTYwMDA3Q0YwQTM3NEY4RjBBMzc0MEFGMEVGQjQwMjBERTQ5MEE0Cis6MTA0QTcwMDA3NjdDRjBBMzc0RjBGMEEzNzQwQkYwRUZCNDAzMERFNEI0Cis6MEQ0QTgwMDA5MDc2N0NGMEEzNzRGOEYwQTM3NDE3RjAyMjc4Cis6MTA0QThEMDBFNEZGNzQ1NjJGRjU4MkU0MzQ3NkY1ODNFMEZFNzQyODQ2Cis6MTA0QTlEMDAyRkY1ODJFNDM0ODBGNTgzRUVGMDc0NUUyRkY1ODJFNDE5Cis6MTA0QUFEMDAzNDc2RjU4M0UwRkU3NDM4MkZGNTgyRTQzNDgwRjU4Mzk3Cis6MDY0QUJEMDBFRUYwMEZCRjA4Q0M3MworOjAxNEFDMzAwMjJEMAorOjEwNEFDNDAwRTQ5MDcyMzZGMEEzRjA5MDdGOTdFMDU0RkJGMEU0OTAwQQorOjEwNEFENDAwNzIzM0YwOTA3MjMyRjA5MDcyMDEwNEYwRTQ5MDcyMzMwOQorOjEwNEFFNDAwRjA5MDcyMzJGMDkwNzIwMTA0RjA5MDdGOTdFMDQ0MDRFOQorOjAyNEFGNDAwRjAyMkFFCis6MTA0QUY2MDA5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzA0MjA0RTA0NEY2Cis6MTA0QjA2MDAwMkYwN0ZEQzdFMDUxMjREMkY5MDdGRDZFMDU0RjdGMDQxCis6MDU0QjE2MDBFMDQ0MDRGMDIyNjAKKzoxMDRCMUIwMDkwN0ZFQkUwMTQ3MDE0OTA3RkU5RTAyNDdGNzAwNDEyMTcKKzoxMDRCMkIwMDQ4NUEyMjkwN0ZCNEUwNDQwMUYwMjI5MDdGQjRFMDQ0RDUKKzowMzRCM0IwMDAxRjAyMjY0Cis6MTA0QjNFMDA5MDdGRUJFMDE0NzAxMzkwN0ZFOUUwMTQ3MDA0MTI0OTNCCis6MTA0QjRFMDBBRDIyOTA3RkI0RTA0NDAxRjAyMjkwN0ZCNEUwNDQwMUE2Cis6MDI0QjVFMDBGMDIyNDMKKzoxMDRCNjAwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDkwOEYKKzoxMDRCNzAwMDc2OTZFMDU0RkRGMDkwODAwM0YwRDA4MkQwODNEMEUwQjAKKzowMTRCODAwMDMyMDIKKzoxMDRCODEwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQUUwNDQwMUYwNUUKKzowRjRCOTEwMEMyMjk5MDc2OEQ3NDAxRjBEMDgyRDA4M0QwRTAzMkFCCis6MTA0QkEwMDA5MDdGRUFFMDkwNzY4MkYwRTQ5MDc2OTFGMDkwNzY5MkIxCis6MEI0QkIwMDBGMDkwNzY5MEYwOTA3NjkzRjBEMzIyMDYKKzoxMDRCQkIwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyQzQKKzowQTRCQ0IwMDREMkY5MDdGRDZFMDU0RkVGMDIyM0IKKzoxMDRCRDUwMEMwRTBDMDgzQzA4MkQyMjU1MzkxRUY5MDdGQUI3NDA4QUIKKzowODRCRTUwMEYwRDA4MkQwODNEMEUwMzI1MQorOjEwNEJFRDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAxRjBGMworOjA3NEJGRDAwRDA4MkQwODNEMEUwMzIyQQorOjEwNEMwNDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDAyRjBEQQorOjA3NEMxNDAwRDA4MkQwODNEMEUwMzIxMgorOjEwNEMxQjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA0RjBDMQorOjA3NEMyQjAwRDA4MkQwODNEMEUwMzJGQgorOjEwNEMzMjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA0RjBBOQorOjA3NEM0MjAwRDA4MkQwODNEMEUwMzJFNAorOjEwNEM0OTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDA4RjA4RgorOjA3NEM1OTAwRDA4MkQwODNEMEUwMzJDRAorOjEwNEM2MDAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDA4RjA3NworOjA3NEM3MDAwRDA4MkQwODNEMEUwMzJCNgorOjEwNEM3NzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDEwRjA1OQorOjA3NEM4NzAwRDA4MkQwODNEMEUwMzI5RgorOjEwNEM4RTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDEwRjA0MQorOjA3NEM5RTAwRDA4MkQwODNEMEUwMzI4OAorOjEwNENBNTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDIwRjAxQgorOjA3NENCNTAwRDA4MkQwODNEMEUwMzI3MQorOjEwNENCQzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDIwRjAwMworOjA3NENDQzAwRDA4MkQwODNEMEUwMzI1QQorOjEwNENEMzAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDQwRjBDRAorOjA3NENFMzAwRDA4MkQwODNEMEUwMzI0MworOjEwNENFQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDQwRjBCNQorOjA3NENGQTAwRDA4MkQwODNEMEUwMzIyQworOjEwNEQwMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkE5RTA0NDgwRjA1RQorOjA3NEQxMTAwRDA4MkQwODNEMEUwMzIxNAorOjEwNEQxODAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFBRTA0NDgwRjA0NgorOjA3NEQyODAwRDA4MkQwODNEMEUwMzJGRAorOjEwNEQyRjAwOEUzNThGMzZFNTM2MTUzNkFFMzU3MDAyMTUzNTRFNjAzOQorOjA3NEQzRjAwMDUxMjE0ODU4MEVFMjIyRAorOjEwNEQ0NjAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQwNEYwRDA3MworOjA2NEQ1NjAwODJEMDgzRDBFMDMyQTAKKzoxMDRENUMwMDkwNzY4MkUwOTA3RjAwRjA5MDdGQjU3NDAxRjBEMzIyQzIKKzowOTRENkMwMEMyMjU1M0Q4RUY0M0Q4MjAzMkQwCis6MDc0RDc1MDA1Mzk4RkU1Mzk4RkQzMjM0Cis6MDc0RDdDMDA1M0MwRkU1M0MwRkQzMkRECis6MDY0RDgzMDA1MzkxQkZEMjJEMzI1NgorOjA2NEQ4OTAwNTM5MTdGRDIyQzMyOTEKKzowNDREOEYwMDUzOTFERjMyMkIKKzowNDREOTMwMDUzRDhGNzMyQzgKKzowNDREOTcwMDEyMTczMDIyOUQKKzowMzREOUIwMEMyOEQzMjk0Cis6MDM0RDlFMDBDMjhGMzI4RgorOjAyNERBMTAwRDMyMjFCCis6MDI0REEzMDBEMzIyMTkKKzowMjREQTUwMEQzMjIxNworOjAyNERBNzAwRDMyMjE1Cis6MDI0REE5MDBEMzIyMTMKKzowMjREQUIwMEMzMjIyMQorOjAwMDAwMDAxRkYKKy8qCitTb3VyY2U6IEVNSTYyU0ZXLkhFWAorVkVSU0lPTj0xLjA0LjA2MgorREFURT0xNi4xMC4yMDAyCisqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3LmloZXggYi9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZncuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzNjNGMzCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvZXNzL21hZXN0cm8zX2Fzc3Bfa2VybmVsLmZ3LmloZXgKQEAgLTAsMCArMSwxMjAgQEAKKzoxMDAwMDAwMDgwNzkzMDAwODA3OUI0MDM4MDc5QjQwMzgwNzlGQjAwNzMKKzoxMDAwMTAwMDgwNzlERDAwODA3OUI0MDM4MDc5MzIwMzgwNzk4NzAyQUEKKzoxMDAwMjAwMDgwNzlCNDAzODA3OUI0MDM4MDc5QjQwMzgwNzlCNDAzMTAKKzoxMDAwMzAwMDgwNzkxQTAzODA3OUI0MDM4MDc5MkYwMjgwNzlCNDAzMjAKKzoxMDAwNDAwMDgwNzlCNDAzODA3OUI0MDM4MDc5QjQwMzgwNzlCNDAzRjAKKzoxMDAwNTAwMDgwNzk2MzAwODA3OTZCMDA4MDc5QjQwMzgwNzlCNDAzODAKKzoxMDAwNjAwMDgwQkY3QzJDMDY4ODA0ODg0MEJFMjBCQzA5QUUwMDEwRUUKKzoxMDAwNzAwMDBBQUUwMTAwMzg2OTA4RUI1MzAwNUE2OTA4RUJENjAwNTQKKzoxMDAwODAwMDA5MDA4ODhCODA2OTg4RTMzNjAwMzBCRTIwQkMwOTY5OEUKKzoxMDAwOTAwMDAxQjgwOTkwNDFCRTQxQkUyODY5ODhFQjc4MDA0MUJFOTUKKzoxMDAwQTAwMDQwQkU4MDc5MzgwMDQxQkU0MUJFM0E5MDM4NjkwOEUzQ0QKKzoxMDAwQjAwMDU2MDAzQTkwNDFCRTQwQkUwMEVGM0E5MDM5NjkwOEUzREQKKzoxMDAwQzAwMDVFMDAzQTkwMDBFRjBCNjkwQzY2OENFRjBBNjkwQzY2RDMKKzoxMDAwRDAwMDBCNjIwOTY2MDBFRjEwNjkwRjY2MDRFRjg4RTM3NTAwOTQKKzoxMDAwRTAwMDBFNjkwRjY2MTA2MjBENjYwMEVGMEU2OTBENjYwMEVGNzcKKzoxMDAwRjAwMDcwQUUwMTAwMjBCQzI3QUUwMTAwMzk2OTA4RUI1RDAwM0QKKzoxMDAxMDAwMDI2NjkwMUI4MjY5MDI2MDA4ODhCODA2OTg4RTNDQjAwOTkKKzoxMDAxMTAwMDI4OTAyODBEMTE0MjAwRTE3QTAwMTE0NzAwRTFBMDAwNkIKKzoxMDAxMjAwMDgwN0E2MzAwMTFCODBBNjYwOTYyMDRFMzdBMDAwQjBDNTYKKzoxMDAxMzAwMDA1NDAwQTEwMDFCQTEyOTAxMjBDMDI0MDgwNzlBRjAwRkIKKzoxMDAxNDAwMDgwN0E2QjAwMDJCRTBFNjIwRDY2MTBCQTQ0RTM3QTAwM0MKKzoxMDAxNTAwMDEwMEMwNTQwMEUxMDAxQkExMjkwMTIwQzAyNDAwMzEwNTAKKzoxMDAxNjAwMDAyQkExMjkwMTIwQzAwNDAwMzEwODhFM0JBMDAwNDEwODcKKzoxMDAxNzAwMDgwNzlCQzAwMDQxMDAxQkExMjkwMTIwQzAxNDAwNTBDRTkKKzoxMDAxODAwMDAzNDAwNjBDMDQ0MDExMTBCMEJGRkYwMTEyOTAxMjBDODYKKzoxMDAxOTAwMDA2NDAyMEJDMDBFRjI2QUUyODEwNzA2OUQwQkYwMTAwRDkKKzoxMDAxQTAwMDcwOTA4OEUzN0EwMDI4QUUwMDAwMDBFRjcwQUUwMDAzODQKKzoxMDAxQjAwMDcwMEMwQ0IwNUFBRTAwMDAwMEVGODA3QThBMDM3RjY5QTEKKzoxMDAxQzAwMDAxQjg3RjkwNTYwMDg4OEJBMDBDMDhCMDcxQUYwMEIwQ0EKKzoxMDAxRDAwMDcxNEUwMEUyRjMwMDU2QUU1NzEwNTYwMEEwMEMwOEIwNjYKKzoxMDAxRTAwMDU2ODA4MDc5QTEwMzEwMDhBMEJGNTkxMDA0RTNBMTAzMzEKKzoxMDAxRjAwMDU2ODA4MDc5QTEwMzgwN0E4QTAzMDFCRjQzQkU1OUJFMkQKKzoxMDAyMDAwMDdDOTAzNzY5ODhFMzBEMDEwMUJBMDhFMzBDMDE3MUFFRjcKKzoxMDAyMTAwMDA0MDA3MTBDMDA1MDM2NjkzNzkwMEFCRjlFMTA4QThCMUIKKzoxMDAyMjAwMDgwQUYxNDgwODA0QzBBQkY2MDA1MDBGNTBBQkYyMDA1MkUKKzoxMDAyMzAwMDAwQjkxN0JCQTA5MDE3Njk4OEUzNDgwMTE3MEQwMEUxQ0EKKzoxMDAyNDAwMDI3MDEwQ0JGNzgwNTBEQkY3QzA1ODA3OTJCMDEwQ0JGMDEKKzoxMDAyNTAwMDM4MDUwREJGM0MwNTAwNjkwOEUzMzUwMThDOEI1OUJFOUMKKzoxMDAyNjAwMDA3QkJBMDkwMjBCQzgwNzk1NzAxMEMwMzhCOEIwM0I5OEUKKzoxMDAyNzAwMDA5ODhDNkJFM0UwMUFDNjlBQjkwQUQ2OUFCOTAxMzA4NkUKKzoxMDAyODAwMDBBNjY0NEUzNDQwMTA5MDMwQzgzMjBCQzgwNzk1NzAxQ0EKKzoxMDAyOTAwMDU1Njk4OEUzNTcwMTM4N0MwQkJGNzgwNTAwRjUwQkJGMjMKKzoxMDAyQTAwMDM4MDUwN0I5MDk4OEM2QkU1NjAxQUIxMEFBOTA3NDY5MTMKKzoxMDAyQjAwMDg4RTM2MzAxNzJBRTQwMDUwMEY1NzJBRTAwMDU2MUFFRTEKKzoxMDAyQzAwMDNCMTA4MDdBRjYwMjc4Njk4OEUzODIwMThDOEIwQ0JGNDAKKzoxMDAyRDAwMDYwMDUwMEU1NDA3QzE0MDgyMEJBMTI4ODNENzM4MDdBREUKKzoxMDAyRTAwMDgwMDMzRTczODA3QTgwMDM4QzhCMENCRjZDMDUwMEU1MjUKKzoxMDAyRjAwMDQwN0MxNDA4MkNCQTEyODgzRjczODA3QTgwMDM0MDczQzQKKzoxMDAzMDAwMDgwN0E4MDAzNzU2OTg4RTM4RTAxNzJBRTQ4MDUwMEY1MzYKKzoxMDAzMTAwMDcyQUUwODA1NjFBRTQxMTA4MDdBRjYwMjc5Njk4OEUzMTEKKzoxMDAzMjAwMEFEMDE4QzhCMENCRjYwMDUwMEU1NDA3QzE0MDgxOEJBNDkKKzoxMDAzMzAwMDEyODg0MzczODA3QTgwMDM0NDczODA3QTgwMDM4QzhCQTUKKzoxMDAzNDAwMDBDQkY2QzA1MDBFNTQwN0MxNDA4MjRCQTEyODg0NTczODQKKzoxMDAzNTAwMDgwN0E4MDAzNDY3MzgwN0E4MDAzNzY2OTg4RTNCOTAxRTYKKzoxMDAzNjAwMDcyQUU1ODA1MDBGNTcyQUUxODA1NjFBRTQ3MTA4MDdBN0UKKzoxMDAzNzAwMEY2MDI3QTY5ODhFM0Q4MDE4QzhCMENCRjYwMDUwMEU1MzIKKzoxMDAzODAwMDQwN0MxNDA4MDhCQTEyODg0OTczODA3QTgwMDM0QTczNDMKKzoxMDAzOTAwMDgwN0E4MDAzOEM4QjBDQkY2QzA1MDBFNTQwN0MxNDA4RDAKKzoxMDAzQTAwMDE0QkExMjg4NEI3MzgwN0E4MDAzNEM3MzgwN0E4MDAzNkUKKzoxMDAzQjAwMDIxQkMxQ0FFOTAxMDhBOEIwQUJGNjAwNTAwRTU0MDdDMTIKKzoxMDAzQzAwMDEyMDgwNEI4MTM4ODhEOEIwREJGNkMwNTAwRTU0MDdDQzYKKzoxMDAzRDAwMDE1MDgwNEI4MTE4ODgwN0E0QTAzOEE4QjBBQkY2MDA1MjEKKzoxMDAzRTAwMDAwRTU0MDdDMUY3MzAzQjkwOTg4QzZCRUY5MDE4QTU0MzEKKzoxMDAzRjAwMDAzQkVBMDk4MjA3MzAzQjkwOTg4QzZCRTAxMDI4QTU0QkYKKzoxMDA0MDAwMDAzQkVBMDk4MjAxRjFGMkYyNjk4MjBCQzM1Njk4OEUzQzMKKzoxMDA0MTAwMEExMDMzMzY5MDFCODMzOTBBMEJGRUUwMjA4RTNBMTAzNDIKKzoxMDA0MjAwMDMzOTAwMEJGNTE2OTg4RTMxRjAyMzQ3MzgwQkU2MDU3NjgKKzoxMDA0MzAwMDAzQkU3RTlGNTlCRTM0OTA3RTY5NTEwRDEzOTAyMEJDM0YKKzoxMDA0NDAwMDVDNjk4OEUzQTEwMzVFNzM4MEJFNjA1NzAzQkU3RTlGMzQKKzoxMDA0NTAwMDU5QkU1RTkwN0U2OTVDMEQxMzkwODA3OUExMDM4MDdBMEQKKzoxMDA0NjAwMDhBMDMwMUJGNDNCRTc3Njk4OEUzNEUwMjYxQUU0RDEwMzcKKzoxMDA0NzAwMDYxMDA4ODhCODA2OTg4RTM0RTAyNzE5MDcxMEQwQjAwREEKKzoxMDA0ODAwMEEwQUYxMDgwQTBBRjEwODAxMDA4MEE2NjA4RTM0OTAyRjAKKzoxMDA0OTAwMDA5MDAxMDA4MEM2Njg4RTM0RTAyMEI4MDIwQkM3QjY5QzMKKzoxMDA0QTAwMDg4RTNBMTAzMEFCRjlFMTA4QThCODBBRjE0ODA4MDRDMjIKKzoxMDA0QjAwMDAwRTE2NjAyN0M2OTkwQkY2MDA1NzI5MDcyMDM3QzY5RkUKKzoxMDA0QzAwMDkwQkY2NDA1NzM5MDczMDQ4MDc5NzAwMjdDNjk5MEJGNUIKKzoxMDA0RDAwMDIwMDU3MjkwNzIwMzdDNjk5MEJGMjQwNTczOTA3MzA0QTkKKzoxMDA0RTAwMDdDNjkwMUI4N0M5MDBBQkZGRDEwOEE4QjgwQUYxMDgwQjgKKzoxMDA0RjAwMDRGNzM4QTU0MDNCRTgwOTgyMUJDMjY3MzhCNTQwM0JFNkQKKzoxMDA1MDAwMDhCNjE4Qzk4MDNCRTgwNjE4MDk4ODA3OUExMDM4MDdBOEEKKzoxMDA1MTAwMDhBMDMyODBEMTE0NzAwRTFCRTAyMTJBRjA2NDAxMjY5OUUKKzoxMDA1MjAwMEIwQkYwMDBDODhFM0I2MDJBMEJGMDAwODg4RTNCMjAyQTcKKzoxMDA1MzAwMDEyNjlCMEJGMDAwQ0EwQkYwMDA0ODhFM0EzMDIwOTY5RTAKKzoxMDA1NDAwMDBCOTA4MDc5QTUwMjBCQUYwNTQwMDE2OTA1OTAwMjY5MDcKKzoxMDA1NTAwMDA2OTAxMTQzMDBFMUVEMDIxMTY5QzBCRjAwMjAxMTkwMjcKKzoxMDA1NjAwMDgwNzlFRDAyMDk2OTBCOTA4MDc5QjgwMjBCQUYwNTQwRTQKKzoxMDA1NzAwMDA1QUYwMzQwMDZBRjA0NDA4MDc5RUQwMjEyQUYwNjQwOUMKKzoxMDA1ODAwMDEyNjlCMEJGMDAwQzg4RTNFNzAyQTBCRjAwMDg4OEUzNEYKKzoxMDA1OTAwMEUzMDIxMjY5QjBCRjAwMENBMEJGMDAwNDg4RTNENDAyREMKKzoxMDA1QTAwMDBENjkxMDkwODA3OUQ2MDIxMEFGMDU0MDAxNjkwNTkwNjEKKzoxMDA1QjAwMDAyNjkwNjkwMTE0MzAwRTFFRDAyMTE2OUMwQkYwMDIwRkQKKzoxMDA1QzAwMDExOTA4MDc5RUQwMjBENjkxMDkwODA3OUU5MDIxMEFGRTkKKzoxMDA1RDAwMDA1NDAwNUFGMDM0MDA2QUYwNDQwMjBCQzcwNjk3MTkwMzAKKzoxMDA1RTAwMDgwN0E3ODAwNzE2OTcwOTA4MDc5QTEwMzIwQkM2MTAzRTIKKzoxMDA1RjAwMDhCOEI4MDY5ODhFRjcyMDI3MjAzMDQ3ODcxOTA3MTBEQTEKKzoxMDA2MDAwMDhBOEIwQjAwMDNCOTA5ODhDNkJFMDkwM0E4NjlBQjkwQTEKKzoxMDA2MTAwMEE4NjlBQTkwMTAwODBBNjY0NEUzMEYwMzA5MDAxMDA4QUQKKzoxMDA2MjAwMDBDNjY4OEUzMTQwMzBCODAyMEJDNjE2OTAxQjg2MTkwRkIKKzoxMDA2MzAwMDgwNzlGNzAyODA3QThBMDMzNTVEMDEwMDM0NjkwMUI4NTgKKzoxMDA2NDAwMDM0OTAwQUJGOUUxMDhBOEI4MEFGMTQ4MDgwNDg3MkFFQUYKKzoxMDA2NTAwMDUwMDUwMEY1NzJBRTEwMDU2MUFFNTExMDgwN0FGNjAyQjkKKzoxMDA2NjAwMDgwNzlBMTAzODA3QThBMDMzNTVEMDIwMDVFNjkwMUI4NTIKKzoxMDA2NzAwMDVFOTAwQUJGOUUxMDhBOEI4MEFGMTQ4MDgwNDc3MkFFNTYKKzoxMDA2ODAwMDU4MDUwMEY1NzJBRTE4MDU2MUFFNUMxMDgwN0FGNjAyNkUKKzoxMDA2OTAwMDgwNzlBMTAzMUMwMDg4OEI4MDY5ODhFRjFEOTAxRDBENTcKKzoxMDA2QTAwMDBGMTAxMDY2OENFMzU4MDMwRTY5MTA2NjBGNjIwRDY2MUEKKzoxMDA2QjAwMDBGQkEwMUUzN0EwMzEwMDQ4QThCMDNCOTA5ODhDNkJFMTYKKzoxMDA2QzAwMDZDMDM4QzZBQUE2MUFCOTg4QzZBQUI2MUFEOTg4QzZBM0EKKzoxMDA2RDAwMEFENjFBOTk4OEM2QUE5NjFBQTk4MDQ3QzhCOEIwNDdDNzMKKzoxMDA2RTAwMDhEOEIwNDdDODk4QjA0N0MxNDA4MEU2NjA4RTM3OTAzRTcKKzoxMDA2RjAwMDBEMDQxMDg0MjFCQzFDNjkwMUI4MUM5MDgwNzk0QTAzNDgKKzoxMDA3MDAwMDAzQjkwOTg4OEE4QkM2QkU4ODAzQUM1NDAzQkU4QzYxQ0EKKzoxMDA3MTAwMEFBOTgwMEVGMjBCQzQ2QkUwOTA4NkI5MDBBMDg2QzkwQUUKKzoxMDA3MjAwMDBCMDg2RDkwMUEwODYyOTAxQjA4NjM5MDFFMDg2NDkwNzUKKzoxMDA3MzAwMDU5QkUxRTg4NjU4MDY2ODE2NzgyNjg4MzY5ODQ2QTg1ODAKKzoxMDA3NDAwMDAwRUYyMEJDNkI2OTA5ODg2QzY5MEE4ODZENjkwQjg4QTkKKzoxMDA3NTAwMDYyNjkxQTg4NjM2OTFCODg2NDY5MUU4ODY1MDA2NjAxN0UKKzowQTA3NjAwMDY3MDI2ODAzNjkwNDZBMDUzQUJFRTcKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3LmloZXggYi9maXJtd2FyZS9lc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJjMDAzMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2Vzcy9tYWVzdHJvM19hc3NwX21pbmlzcmMuZncuaWhleApAQCAtMCwwICsxLDUxIEBACis6MTAwMDAwMDA4MEJGMUUxMDZFOTA2RTAwODg4QjgwNjk4OEVGNkY5MEE1Cis6MTAwMDEwMDA2RjBEMDA2OTA4RUIxMjA0MjBCQzZFNjkwMUI4NkU5MDg4Cis6MTAwMDIwMDA4MDc5MDMwNDBFQjkwNzg4NDNCRTAxQkY0N0JFNDFCRUI1Cis6MTAwMDMwMDA4MDdBMkEwMDQwQkUyOTMwQ0NFRjQxQkU4MDdBMjgwMDY5Cis6MTAwMDQwMDA0MEJFMjgzMENDRUYwNzY5MDhFMzJBMDQwOTY5MkM5MEU4Cis6MTAwMDUwMDA4MDc5MkMwNDBENjkyQzkwMDkxMDFBODgwQTEwMDFCQUI1Cis6MTAwMDYwMDAxQjg4MEQxMDFDODgwRTEwMDFCQTFEODg4MEJGRUQwMDgyCis6MTAwMDcwMDAxRTg4MEMwNTI0MDEwNEI5Mjc5MDE4NjkwOEUzQjMwNDBECis6MTAwMDgwMDAyRDkwMTM2OUEwQkY5ODc1MDRGNzJEQUVGRjAwOEQ4QkRFCis6MTAwMDkwMDAxOTY5MDhFMzYzMDQxQTY5MDhFMzU2MDQwN0I5MDk4ODczCis6MTAwMEEwMDBDNkJFNTMwNEE5MTBBRDkwODA3OTdDMDQwM0I5MDk4OEI5Cis6MTAwMEIwMDBDNkJFNjAwNDg5MTgyMjZDQUQ5MEE5MTAyMzZFMjI2QzE0Cis6MTAwMEMwMDBBRDkwODA3OTdDMDQxQTEwMDhFMzZGMDQwM0I5MDk4OEE1Cis6MTAwMEQwMDBDNkJFNkMwNEE5MTBBMDkwQUQ5MDgwNzk3QzA0MDFCOUQzCis6MTAwMEUwMDAwOTg4QzZCRTdCMDQ4OTE4MjI2Q0EwOTBBRDkwQTkxMDI3Cis6MTAwMEYwMDAyMzZFMjI2Q0EwOTBBRDkwMkQ2OTA4RTM5QzA0MjQwMTJFCis6MTAwMTAwMDAwM0I3MDJCOTE4ODg4OThCMkMwMjhBMTAwNDdDQTA5MDRFCis6MTAwMTEwMDAyQjY5MUY4ODgwN0U1QjA1MkE2OTA5ODg4OThCQTA5OUQ1Cis6MTAwMTIwMDA4QTEwQTA5MDJCNjkxRjg4ODA3RTVCMDUyQTY5MDk4ODQ4Cis6MTAwMTMwMDA4OThCQUY5OTk5N0I4NDA0MjQwMTBGMDYxQjEwMTMyMDJGCis6MTAwMTQwMDAxQjkwQTBCRkZGN0Y0NEUzQUMwNDFCOTA4OThCODA3QTk3Cis6MTAwMTUwMDAxQTA1Mjc2OTAxQkEyNzkwODA3QTIzMDUyNzY5MDhFM0UxCis6MTAwMTYwMDA5RTA0ODA3OTBGMDUyNDA2MjYxMDEzMjAyNjkwQTBCRjM4Cis6MTAwMTcwMDBGRjdGMDRFM0MwMDQ4RDhCODA3QTFBMDU4MDc5QjQwNDc0Cis6MTAwMTgwMDAyNjkwMTMxMDI2MzAxQjkwOEQ4QjgwN0ExQTA1ODA3QTZBCis6MTAwMTkwMDAyMzA1MjcxMDAxQkEyNzkwMDhFM0I0MDQyNDAxMEYwNkIxCis6MTAwMUEwMDA4OThCMUE2OTA4RTNFQTA0MTk2OTg4RTNFMDA0MDNCOTUyCis6MTAwMUIwMDAwOTg4QzZCRUREMDRBMDFGQUUyRkE5OTg4MDc5MEYwNTVGCis6MTAwMUMwMDAwMUI5MTg4ODA3QjkwOTg4QzZCRUU3MDRFRTEwQTk5MERFCis6MTAwMUQwMDA4MDc5MEYwNTE5NjkwOEUzRkUwNDAzQjkwOTg4NDZCRTUyCis6MTAwMUUwMDBDNkJFRkEwNEEwMTcxRUJFQUUxRkJGQkYwMEZGMTNCRURGCis6MTAwMUYwMDBERkJGODA4MEE5OTk0N0JFODA3OTBGMDUwMUI5MDk4OEMyCis6MTAwMjAwMDBDNkJFMEUwNUEwMTZBMDI2QjdCRjAwRkYxRUJFQTAxRUNDCis6MTAwMjEwMDBBRTJFQkZCRjAwRkYxM0JFREZCRjgwODBBOTk5MEM4NTQzCis6MTAwMjIwMDAwRjg2MDc2OTg4RTMxNjA1MDcwRDEwODU1OUJFMUU4OERECis6MTAwMjMwMDA0QUJFMDBFRjFFMTAxQzkwMUYxMDFEOTBBMDEwMUU5MEIzCis6MTAwMjQwMDBBMDEwMUY5MDAwRUYxRTEwMUMzMDIwOTAxQjczMjA1NDM0Cis6MTAwMjUwMDAwM0JFMjU5ODI1MTAxQzIwMjU5MDI1NzMxNDU0MDNCRTM5Cis6MTAwMjYwMDA4RThCODA5ODJGNjk4OEUzMzkwNTU5QkUwN0JCODA2MTYyCis6MTAwMjcwMDA4MDk4QTA4QjFGMTAxRDMwMjE5MDFCNzMyMTU0MDNCRTRBCis6MTAwMjgwMDAyRTk4MkUxMDFEMjAyRTkwMkU3MzE1NTQwM0JFODA5ODhDCis6MTAwMjkwMDAyRjY5ODhFMzRGMDU1OUJFMDdCQjgwNjE4MDk4QTA4QjBBCis6MTAwMkEwMDAxODY5MDhFRjI1NzMxNjU0MDNCRUEwOTgyRTczMTc1NENGCis6MTAwMkIwMDAwM0JFQTA5ODAwRUZBMDhCQzZCRTZCMDU1OUJFMDRCQjYxCis6MTAwMkMwMDA5MEFBMDRCRTFFQkVFMDk5RTA4QkEwNjlEMDkwQTA2OTAwCis6MTAwMkQwMDBEMDkwMUYwODA1QjgxRjg4OTA4QkEwNjlEMDkwQTA2OUE2Cis6MTAwMkUwMDA5MDkwRDA4QkQ4OEIxRkJFMDBFRjAwMDAwMDAwMDAwMDY0Cis6MTAwMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAwMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MDIwMzEwMDAwMDAwRUIKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS9paGV4MmZ3LmMgYi9maXJtd2FyZS9paGV4MmZ3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjYwYjE5MQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2loZXgyZncuYwpAQCAtMCwwICsxLDI2OCBAQAorLyoKKyAqIFBhcnNlci9sb2FkZXIgZm9yIElIRVggZm9ybWF0dGVkIGRhdGEuCisgKgorICogQ29weXJpZ2h0IMKpIDIwMDggRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPgorICogQ29weXJpZ2h0IMKpIDIwMDUgSmFuIEhhcmtlcyA8amFoYXJrZXNAY3MuY211LmVkdT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjZGVmaW5lIF9HTlVfU09VUkNFCisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKworc3RydWN0IGloZXhfYmlucmVjIHsKKwlzdHJ1Y3QgaWhleF9iaW5yZWMgKm5leHQ7IC8qIG5vdCBwYXJ0IG9mIHRoZSByZWFsIGRhdGEgc3RydWN0dXJlICovCisgICAgICAgIHVpbnQzMl90IGFkZHI7CisgICAgICAgIHVpbnQxNl90IGxlbjsKKyAgICAgICAgdWludDhfdCBkYXRhW107Cit9OworCisvKioKKyAqIG55YmJsZS9oZXggYXJlIGxpdHRsZSBoZWxwZXJzIHRvIHBhcnNlIGhleGFkZWNpbWFsIG51bWJlcnMgdG8gYSBieXRlIHZhbHVlCisgKiovCitzdGF0aWMgdWludDhfdCBueWJibGUoY29uc3QgdWludDhfdCBuKQoreworICAgICAgIGlmICAgICAgKG4gPj0gJzAnICYmIG4gPD0gJzknKSByZXR1cm4gbiAtICcwJzsKKyAgICAgICBlbHNlIGlmIChuID49ICdBJyAmJiBuIDw9ICdGJykgcmV0dXJuIG4gLSAoJ0EnIC0gMTApOworICAgICAgIGVsc2UgaWYgKG4gPj0gJ2EnICYmIG4gPD0gJ2YnKSByZXR1cm4gbiAtICgnYScgLSAxMCk7CisgICAgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1aW50OF90IGhleChjb25zdCB1aW50OF90ICpkYXRhLCB1aW50OF90ICpjcmMpCit7CisgICAgICAgdWludDhfdCB2YWwgPSAobnliYmxlKGRhdGFbMF0pIDw8IDQpIHwgbnliYmxlKGRhdGFbMV0pOworICAgICAgICpjcmMgKz0gdmFsOworICAgICAgIHJldHVybiB2YWw7Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vzc19paGV4KHVpbnQ4X3QgKmRhdGEsIHNzaXplX3Qgc2l6ZSk7CitzdGF0aWMgdm9pZCBmaWxlX3JlY29yZChzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZCk7CitzdGF0aWMgaW50IG91dHB1dF9yZWNvcmRzKGludCBvdXRmZCk7CisKK3N0YXRpYyBpbnQgc29ydF9yZWNvcmRzID0gMDsKK3N0YXRpYyBpbnQgd2lkZV9yZWNvcmRzID0gMDsKKworaW50IHVzYWdlKHZvaWQpCit7CisJZnByaW50ZihzdGRlcnIsICJpaGV4MmZ3OiBDb252ZXJ0IGloZXggZmlsZXMgaW50byBiaW5hcnkgIgorCQkicmVwcmVzZW50YXRpb24gZm9yIHVzZSBieSBMaW51eCBrZXJuZWxcbiIpOworCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6IGloZXgyZncgWzxvcHRpb25zPl0gPHNyYy5IRVg+IDxkc3QuZnc+XG4iKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgICAgICAtdzogd2lkZSByZWNvcmRzICgxNi1iaXQgbGVuZ3RoKVxuIik7CisJZnByaW50ZihzdGRlcnIsICIgICAgICAgLXM6IHNvcnQgcmVjb3JkcyBieSBhZGRyZXNzXG4iKTsKKwlyZXR1cm4gMTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBpbmZkLCBvdXRmZDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwl1aW50OF90ICpkYXRhOworCWludCBvcHQ7CisKKwl3aGlsZSAoKG9wdCA9IGdldG9wdChhcmdjLCBhcmd2LCAid3MiKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAndyc6CisJCQl3aWRlX3JlY29yZHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJc29ydF9yZWNvcmRzID0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJcmV0dXJuIHVzYWdlKCk7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kICsgMiAhPSBhcmdjKQorCQlyZXR1cm4gdXNhZ2UoKTsKKworCWlmICghc3RyY21wKGFyZ3Zbb3B0aW5kXSwgIi0iKSkKKwkgICAgaW5mZCA9IDA7CisJZWxzZQorCQlpbmZkID0gb3Blbihhcmd2W29wdGluZF0sIE9fUkRPTkxZKTsKKwlpZiAoaW5mZCA9PSAtMSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBvcGVuIHNvdXJjZSBmaWxlOiAlcyIsCisJCQlzdHJlcnJvcihlcnJubykpOworCQlyZXR1cm4gdXNhZ2UoKTsKKwl9CisJaWYgKGZzdGF0KGluZmQsICZzdCkpIHsKKwkJcGVycm9yKCJzdGF0Iik7CisJCXJldHVybiAxOworCX0KKwlkYXRhID0gbW1hcChOVUxMLCBzdC5zdF9zaXplLCBQUk9UX1JFQUQsIE1BUF9TSEFSRUQsIGluZmQsIDApOworCWlmIChkYXRhID09IE1BUF9GQUlMRUQpIHsKKwkJcGVycm9yKCJtbWFwIik7CisJCXJldHVybiAxOworCX0KKworCWlmICghc3RyY21wKGFyZ3Zbb3B0aW5kKzFdLCAiLSIpKQorCSAgICBvdXRmZCA9IDE7CisJZWxzZQorCQlvdXRmZCA9IG9wZW4oYXJndltvcHRpbmQrMV0sIE9fVFJVTkN8T19DUkVBVHxPX1dST05MWSwgMDY0NCk7CisJaWYgKG91dGZkID09IC0xKSB7CisJCWZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIG9wZW4gZGVzdGluYXRpb24gZmlsZTogJXMiLAorCQkJc3RyZXJyb3IoZXJybm8pKTsKKwkJcmV0dXJuIHVzYWdlKCk7CisJfQorCWlmIChwcm9jZXNzX2loZXgoZGF0YSwgc3Quc3Rfc2l6ZSkpCisJCXJldHVybiAxOworCisJb3V0cHV0X3JlY29yZHMob3V0ZmQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2Nlc3NfaWhleCh1aW50OF90ICpkYXRhLCBzc2l6ZV90IHNpemUpCit7CisJc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmQ7CisJdWludDMyX3Qgb2Zmc2V0ID0gMDsKKwl1aW50OF90IHR5cGUsIGNyYyA9IDAsIGNyY2J5dGUgPSAwOworCWludCBpLCBqOworCWludCBsaW5lID0gMTsKKwlpbnQgbGVuOworCisJaSA9IDA7CituZXh0X3JlY29yZDoKKwkvKiBzZWFyY2ggZm9yIHRoZSBzdGFydCBvZiByZWNvcmQgY2hhcmFjdGVyICovCisJd2hpbGUgKGkgPCBzaXplKSB7CisJCWlmIChkYXRhW2ldID09ICdcbicpIGxpbmUrKzsKKwkJaWYgKGRhdGFbaSsrXSA9PSAnOicpIGJyZWFrOworCX0KKworCS8qIE1pbmltdW0gcmVjb3JkIGxlbmd0aCB3b3VsZCBiZSBhYm91dCAxMCBjaGFyYWN0ZXJzICovCisJaWYgKGkgKyAxMCA+IHNpemUpIHsKKwkJZnByaW50ZihzdGRlcnIsICJDYW4ndCBmaW5kIHZhbGlkIHJlY29yZCBhdCBsaW5lICVkXG4iLCBsaW5lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJbGVuID0gaGV4KGRhdGEgKyBpLCAmY3JjKTsgaSArPSAyOworCWlmICh3aWRlX3JlY29yZHMpIHsKKwkJbGVuIDw8PSA4OworCQlsZW4gKz0gaGV4KGRhdGEgKyBpLCAmY3JjKTsgaSArPSAyOworCX0KKwlyZWNvcmQgPSBtYWxsb2MoKHNpemVvZiAoKnJlY29yZCkgKyBsZW4gKyAzKSAmIH4zKTsKKwlpZiAoIXJlY29yZCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIm91dCBvZiBtZW1vcnkgZm9yIHJlY29yZHNcbiIpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJbWVtc2V0KHJlY29yZCwgMCwgKHNpemVvZigqcmVjb3JkKSArIGxlbiArIDMpICYgfjMpOworCXJlY29yZC0+bGVuID0gbGVuOworCisJLyogbm93IGNoZWNrIGlmIHdlIGhhdmUgZW5vdWdoIGRhdGEgdG8gcmVhZCBldmVyeXRoaW5nICovCisJaWYgKGkgKyA4ICsgKHJlY29yZC0+bGVuICogMikgPiBzaXplKSB7CisJCWZwcmludGYoc3RkZXJyLCAiTm90IGVub3VnaCBkYXRhIHRvIHJlYWQgY29tcGxldGUgcmVjb3JkIGF0IGxpbmUgJWRcbiIsCisJCQlsaW5lKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmVjb3JkLT5hZGRyICA9IGhleChkYXRhICsgaSwgJmNyYykgPDwgODsgaSArPSAyOworCXJlY29yZC0+YWRkciB8PSBoZXgoZGF0YSArIGksICZjcmMpOyBpICs9IDI7CisJdHlwZSA9IGhleChkYXRhICsgaSwgJmNyYyk7IGkgKz0gMjsKKworCWZvciAoaiA9IDA7IGogPCByZWNvcmQtPmxlbjsgaisrLCBpICs9IDIpCisJCXJlY29yZC0+ZGF0YVtqXSA9IGhleChkYXRhICsgaSwgJmNyYyk7CisKKwkvKiBjaGVjayBDUkMgKi8KKwljcmNieXRlID0gaGV4KGRhdGEgKyBpLCAmY3JjKTsgaSArPSAyOworCWlmIChjcmMgIT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkNSQyBmYWlsdXJlIGF0IGxpbmUgJWQ6IGdvdCAweCVYLCBleHBlY3RlZCAweCVYXG4iLAorCQkJbGluZSwgY3JjYnl0ZSwgKHVuc2lnbmVkIGNoYXIpKGNyY2J5dGUtY3JjKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIERvbmUgcmVhZGluZyB0aGUgcmVjb3JkICovCisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSAwOgorCQkvKiBvbGQgc3R5bGUgRU9GIHJlY29yZD8gKi8KKwkJaWYgKCFyZWNvcmQtPmxlbikKKwkJCWJyZWFrOworCisJCXJlY29yZC0+YWRkciArPSBvZmZzZXQ7CisJCWZpbGVfcmVjb3JkKHJlY29yZCk7CisJCWdvdG8gbmV4dF9yZWNvcmQ7CisKKwljYXNlIDE6IC8qIEVuZC1PZi1GaWxlIFJlY29yZCAqLworCQlpZiAocmVjb3JkLT5hZGRyIHx8IHJlY29yZC0+bGVuKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIkJhZCBFT0YgcmVjb3JkICh0eXBlIDAxKSBmb3JtYXQgYXQgbGluZSAlZCIsCisJCQkJbGluZSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlicmVhazsKKworCWNhc2UgMjogLyogRXh0ZW5kZWQgU2VnbWVudCBBZGRyZXNzIFJlY29yZCAoSEVYODYpICovCisJY2FzZSA0OiAvKiBFeHRlbmRlZCBMaW5lYXIgQWRkcmVzcyBSZWNvcmQgKEhFWDM4NikgKi8KKwkJaWYgKHJlY29yZC0+YWRkciB8fCByZWNvcmQtPmxlbiAhPSAyKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIkJhZCBIRVg4Ni9IRVgzODYgcmVjb3JkICh0eXBlICUwMlgpIGF0IGxpbmUgJWRcbiIsCisJCQkJdHlwZSwgbGluZSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCS8qIFdlIHNob3VsZG4ndCByZWFsbHkgYmUgdXNpbmcgdGhlIG9mZnNldCBmb3IgSEVYODYgYmVjYXVzZQorCQkgKiB0aGUgd3JhcGFyb3VuZCBjYXNlIGlzIHNwZWNpZmllZCBxdWl0ZSBkaWZmZXJlbnRseS4gKi8KKwkJb2Zmc2V0ID0gcmVjb3JkLT5kYXRhWzBdIDw8IDggfCByZWNvcmQtPmRhdGFbMV07CisJCW9mZnNldCA8PD0gKHR5cGUgPT0gMiA/IDQgOiAxNik7CisJCWdvdG8gbmV4dF9yZWNvcmQ7CisKKwljYXNlIDM6IC8qIFN0YXJ0IFNlZ21lbnQgQWRkcmVzcyBSZWNvcmQgKi8KKwljYXNlIDU6IC8qIFN0YXJ0IExpbmVhciBBZGRyZXNzIFJlY29yZCAqLworCQlpZiAocmVjb3JkLT5hZGRyIHx8IHJlY29yZC0+bGVuICE9IDQpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiQmFkIFN0YXJ0IEFkZHJlc3MgcmVjb3JkICh0eXBlICUwMlgpIGF0IGxpbmUgJWRcbiIsCisJCQkJdHlwZSwgbGluZSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCS8qIFRoZXNlIHJlY29yZHMgY29udGFpbiB0aGUgQ1MvSVAgb3IgRUlQIHdoZXJlIGV4ZWN1dGlvbgorCQkgKiBzdGFydHMuIERvbid0IHJlYWxseSBrbm93IHdoYXQgdG8gZG8gd2l0aCB0aGVtLiAqLworCQlnb3RvIG5leHRfcmVjb3JkOworCisJZGVmYXVsdDoKKwkJZnByaW50ZihzdGRlcnIsICJVbmtub3duIHJlY29yZCAodHlwZSAlMDJYKVxuIiwgdHlwZSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGloZXhfYmlucmVjICpyZWNvcmRzOworCitzdGF0aWMgdm9pZCBmaWxlX3JlY29yZChzdHJ1Y3QgaWhleF9iaW5yZWMgKnJlY29yZCkKK3sKKwlzdHJ1Y3QgaWhleF9iaW5yZWMgKipwID0gJnJlY29yZHM7CisKKwl3aGlsZSAoKCpwKSAmJiAoIXNvcnRfcmVjb3JkcyB8fCAoKnApLT5hZGRyIDwgcmVjb3JkLT5hZGRyKSkKKwkJcCA9ICYoKCpwKS0+bmV4dCk7CisKKwlyZWNvcmQtPm5leHQgPSAqcDsKKwkqcCA9IHJlY29yZDsKK30KKworc3RhdGljIGludCBvdXRwdXRfcmVjb3JkcyhpbnQgb3V0ZmQpCit7CisJdW5zaWduZWQgY2hhciB6ZXJvZXNbNV0gPSB7MCwgMCwgMCwgMCwgMH07CisJc3RydWN0IGloZXhfYmlucmVjICpwID0gcmVjb3JkczsKKworCXdoaWxlIChwKSB7CisJCXVpbnQxNl90IHdyaXRlbGVuID0gKHAtPmxlbiArIDkpICYgfjM7CisKKwkJcC0+YWRkciA9IGh0b25sKHAtPmFkZHIpOworCQlwLT5sZW4gPSBodG9ubChwLT5sZW4pOworCQl3cml0ZShvdXRmZCwgJnAtPmFkZHIsIHdyaXRlbGVuKTsKKwkJcCA9IHAtPm5leHQ7CisJfQorCS8qIEVPRiByZWNvcmQgaXMgemVybyBsZW5ndGgsIHNpbmNlIHdlIGRvbid0IGJvdGhlciB0byByZXByZXNlbnQKKwkgICB0aGUgdHlwZSBmaWVsZCBpbiB0aGUgYmluYXJ5IHZlcnNpb24gKi8KKwl3cml0ZShvdXRmZCwgemVyb2VzLCA1KTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2ludGVsbGlwb3J0Mi5iaW4uaWhleCBiL2Zpcm13YXJlL2ludGVsbGlwb3J0Mi5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWNmZThjCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvaW50ZWxsaXBvcnQyLmJpbi5paGV4CkBAIC0wLDAgKzEsMjE0NyBAQAorOjEwMDAwMDAwM0M0MjM3MTgwMjAxMDMwMDAwMDAwMDAwMDAwMDAwMDAxRAorOjEwMDAxMDAwNTc2NTY0MjA0NDY1NjMyMDMwMzEyMDMxMzIzQTMyMzRGMAorOjEwMDAyMDAwM0EzMzMwMjAzMTM5MzkzOTAwMDAwMDAwMDAwMDAwMDAzNworOjEwMDAzMDAwRTk2QzBGNDI2NTQ3Njk0RTZFNDk2RTQ3MjA2RjQ2MjA1NgorOjEwMDA0MDAwNjM0RjY0NDVDQzEzNUExNUU4MTY3NjE4MDQxQTkyMUJCMAorOjEwMDA1MDAwMjAxREFFMUUzQzIwQ0EyMTU4MjNFNjI0NzQyNjAyMjgwNworOjEwMDA2MDAwOTAyOTFFMkJBQzJDM0EyRUM4MkY1NjMxRTQzMjcyMzQxNAorOjEwMDA3MDAwMDAzNjhFMzcxQzM5QUEzQTM4M0NDNjNENTQzRkUyNDAyMAorOjEwMDA4MDAwNzA0MkZFNDM4QzQ1MUE0N0E4NDgzNjRBQzQ0QjUyNEQyRAorOjEwMDA5MDAwRTA0RTZFNTBGQzUxOEE1MzE4NTVBNjU2MzQ1OEMyNTkzQQorOjEwMDBBMDAwNTA1QkRFNUM2QzVFRkE1Rjg4NjExNjYzQTQ2NDMyNjY0NgorOjEwMDBCMDAwQzA2NzRFNjlEQzZBNkE2Q0Y4NkQ4NjZGMTQ3MUEyNzI1MworOjEwMDBDMDAwMzA3NEJFNzU0Qzc3NkM3NzhDNzdBQzc3MzNEQjhBREMxOQorOjEwMDBEMDAwNTMzM0RCMjUwNzAwNzUwQThBMUUwODAxODNFMzBDRUIwNgorOjEwMDBFMDAwMjA5MDNDMDE3NTBBOEExRTA4MDE4MEUzQzBFQjEyOTA0MworOjEwMDBGMDAwOEExRTBEMDEzQzAyNzUwNjgwRTMwQ0VCMDQ5MDgwRTM0MAorOjEwMDEwMDAwQzA1MzUwOEIxRUJBMTM4RURCRTg2QTY1NTU4QkVDNTNENworOjEwMDExMDAwMUUyQkMwOEVEODhCNUUwNEMxRTMwNDAzNUUwNkQxRTNDMAorOjEwMDEyMDAwMkU4QjlGNDQwMDhENDcyQTFFNUExRjVCNURDMzU1OEI0MworOjEwMDEzMDAwRUM1MzFFMkJDMDhFRDg4QjVFMDRDMUUzMDQwMzVFMDYxNQorOjEwMDE0MDAwRDFFMzJFOEI5RjQ0MDA4RDQ3MzQxRTVBMUY1QjVEQzM0NQorOjEwMDE1MDAwRkI1NThCRUM1MzUxNTI1NjU3MUUwNjFFMDczM0MwOEU2QgorOjEwMDE2MDAwRDg4QjVFMDQyNjhBNDc1OTI1MDMwMDhCRjBEMUU2MkVGMgorOjEwMDE3MDAwOEJCNEM0MDBDMUUwMDQyNjAyNDcxQUQxRTA4QkU4MkVGQworOjEwMDE4MDAwOEJBRTQ0MDA4OTJDMjY4QTQ3MUM4ODQ0MEYyNjhBNDc1OAorOjEwMDE5MDAwMUQ4ODQ0MTAyNjhBNDcxRTg4NDQxMTI2OEE0NzFGODhENgorOjEwMDFBMDAwNDQxMjI2OEE0NzIwODg0NDEzMjY4QTQ3MjM4ODQ0MTQwOQorOjEwMDFCMDAwMjY4QTQ3MjQ4ODQ0MTUyNjhBNDc1QTg4NDQwRTMzQzAyNQorOjEwMDFDMDAwODk0NDA2ODk0NDA4ODg0NDBCODg0NDBBQjAyMUI0NjRGMQorOjEwMDFEMDAwODk0NDA0ODk0NDAyQjA1NTg4NDQwRDg4NDQwQ0U4NkE3NworOjEwMDFFMDAwMDA3MjVCRThDOTAwRThDMTEwODk0NDA4ODA3QzBGMDFGNworOjEwMDFGMDAwNzQyOUU4MkIwMkU4N0YwMjgwN0MwRjAzNzQxREU4QTlCNAorOjEwMDIwMDAwMTA4QkY4MkI0NDA4M0RBMDBGNzIxMDg5N0MwODMzQzA3NgorOjEwMDIxMDAwODc0NDA2ODVDMDc1MDRDNjQ0MEFGRjhBNDQwQTg0QzAyMAorOjEwMDIyMDAwNzUwQkI4MDgwMEU4NkE0QUU4QTkwMTczQkZFODRGMDFGNgorOjEwMDIzMDAwODE2NjQ4N0ZGRjgzNjY3QUJGQjAwMkU4MDQwRThBNDQ3NQorOjEwMDI0MDAwMEE5ODA3MUY1RjVFNUE1OTVCNURDMzgxNEU0ODgwMDA2NAorOjEwMDI1MDAwQjA0MEU4M0Q0QUU4ODk0MDczMkFFODREMTA4QkQ4QjA5OQorOjEwMDI2MDAwMDVFODJFNEFGNjQ2MjcwMjc1MUFFODNEMTAyQkMzM0RENQorOjEwMDI3MDAwNTgxQjcyRUI4MTY2NDg3RkZGQjAwMkU4QzQwREM2NDQ4QworOjEwMDI4MDAwMEEwMUY5QzM4MzRFN0E0MEY4QzNGQkIwMDFFODAyNEE4MQorOjEwMDI5MDAwRkFFODk5MUVFNDBBODRDMDc1RjBCMDRFRTYwQUZCQjA5NQorOjEwMDJBMDAwMDFFOEVFNDlGQUU4ODUxRUU0MEE4NEMwNzVGMEMzRkE1NQorOjEwMDJCMDAwRTg3QTFFRTRFQzg4NDQxNkU0RTQ4ODQ0MTdFNEY4ODhGRAorOjEwMDJDMDAwNDQxOEU0RjA4ODQ0MTlFNDEwODg0NDFBRTQxMjg4NDQ3RAorOjEwMDJEMDAwMUJFNDE0ODg0NDFDRTQzNDg4NDQxREU0MzY4ODQ0MUUxRQorOjEwMDJFMDAwRTREODI0MDE4QUUwRTREQTI0MDIwQUM0ODg0NDFGOEE5QworOjEwMDJGMDAwNDQxMEU4Q0QxRjhBNDQxMUU4MzUyMThBNDQxMkU4ODk2OAorOjEwMDMwMDAwMjE4QTQ0MTNFODQzMjFDNjg2QTEwMDAwRTQxNDI0MTA4NgorOjEwMDMxMDAwRTYxNEU0MTIyNDNERTYxMjhBNDQxNTNDMDE3MjFFNzc2RAorOjEwMDMyMDAwMTZCMDExRTYzNEIwMTNFNjM2RTQxNDBDMTBFNjE0RTQwQgorOjEwMDMzMDAwMTIwQzQwRTYxMkVCMDZFNDEyMEMwMkU2MTI4QTQ0MEY5RAorOjEwMDM0MDAwM0MwMTc0MDYzQzAyNzQwQUVCMEVFNDEyMEMwOEU2MTIzRgorOjEwMDM1MDAwRUIwNkU0MTIwQzEwRTYxMkU4MkZGRjhBNDQxNDNDMDI2QworOjEwMDM2MDAwNzUwOEIwNTU4ODQ0MEM4ODQ0MERCMDIxQjQ2NDg5NDRBNAorOjEwMDM3MDAwMDQ4OTQ0MDJFNDBDMEMxMEU2MENFOEVEMzlGQkMzRThGOAorOjEwMDM4MDAwNUYzRjczMDhGQkIwMEFFODA4NDlFQkYzRkFFODlEMURFQworOjEwMDM5MDAwOEE2NDE2OEE0NDE3ODk4Njk0MDBFNkU0OEFDNEU2RUNFNworOjEwMDNBMDAwOEE2NDE4OEE0NDE5ODk4Njk2MDBFNkYwOEFDNEU2RjhCOQorOjEwMDNCMDAwOEE0NDFBRTYxMDhBNDQxQkU2MTI4QTQ0MUNFNjE0OEExMAorOjEwMDNDMDAwNDQxREU2MzQ4QTQ0MUVFNjM2OEE0NDFGRTZEOEU2REEzRgorOjEwMDNEMDAwRTlCN0ZFOTBGQThBNDQwRUU2RkVFNDAyQTgwMTc1MDUyQworOjEwMDNFMDAwMzNDMEZCRjhDMzMzQzBFNDAwRkJGOUMzOEE2NDE0ODA1NAorOjEwMDNGMDAwRkMwMjc0MkJGRUMwRkVDNzgwRkY0RTcyMUM3NDA5ODA4NQorOjEwMDQwMDAwRkY1MDczMDhCMDBBRUIxN0IwMERFQjEzMDJEQzMyRkY5QworOjEwMDQxMDAwODBGQjdGN0MwMkIzMjE4QUMzM0M3RjdDMDJCMDIxQzM3NgorOjEwMDQyMDAwRkE4MDdDMEIwNDc2MDJGQkMzOEI0NjI0M0QwODAwNzJFNQorOjEwMDQzMDAwRjY4RTQ2MDI4QjdFMjI4QTQ0MEM4QjVDMDJBQUU4QUJDNQorOjEwMDQ0MDAwRkZBQUU4QTdGRkFBRThBM0ZGQUFFODlGRkY4ODQ0MEMzOQorOjEwMDQ1MDAwODk1QzAyODA0NDBCMDQ4OTdFMjI4MzZFMjQwNDgzNDZENworOjEwMDQ2MDAwMUEwNDgwN0UyNjAyNzQwNjgwNjYyNkZERkJDMzYwQjBGNworOjEwMDQ3MDAwRkRFODAyM0Y2MUZCQzNGQTgwN0MwRjAzNzUwOUM2NDRBNworOjEwMDQ4MDAwMEIwMEU4RTUzOEZCQzNDNDdFMTQ4QjRFM0E4NUM5NzU3MgorOjEwMDQ5MDAwMzUyNjhCMEQ0NzQ3RTNFQTNCN0UwNDc2MjJCODAyMDBGRgorOjEwMDRBMDAwMzk0NjJFNzcwN0M3NDYyRTAwMDBFQjEzOEI1RTJDODk0QQorOjEwMDRCMDAwNUUwNDI2QzcwNzAwMDA0MzQzODk1RTJDMjk0NjJFODUyQgorOjEwMDRDMDAwQzk3OENFODk0RTNBOEE0NDBEOEI1QzA0MjY4QTI1NDcyQQorOjEwMDREMDAwM0FDNDc1MTZGRTRDMEJGRjQ0MDZFODBGRkZFMkVEODhBOAorOjEwMDRFMDAwNDQwRDg5NUMwNDg5NEUzQUVCQTdDNjQ0MEFGRUU4NzlCQworOjEwMDRGMDAwMzhGQkMzOTBFOEIzMEQ4QUU4OEEwRUNCMTNCMzA3OEFBMgorOjEwMDUwMDAwQzFFRUVCMDBFQzNBQzE3NTA5MDJDREZFQ0I3NUYwRUIwNAorOjEwMDUxMDAwMEM5MDg4MEVDQjEzOEFFOEJCRkZGRkY5QzM4ODBFQ0I4MworOjEwMDUyMDAwMTNGOEMzOTBCQjNGM0Y4QThFOUUwMEJBRkUwMEVDOEE1MAorOjEwMDUzMDAwRTgzMkMxMjJDMzc1MDJGOEMzRjlDMzkwRThFNUZGNzMzRQorOjEwMDU0MDAwMDFDM0JBRDAwMEJCMDMwMzhBOEU5RjAwRUM4QUU4MzI1NQorOjEwMDU1MDAwQzEyMkMzNzUwMkY4QzNGOUMzOTAzM0MwOEVEODhFQzBEMAorOjEwMDU2MDAwODAzRUM4MTMwMDc1MDdCMDBBRTgyNjQ3RUJGMkZCMzM1QworOjEwMDU3MDAwREI4QTFFQzkxMzQzNDM4M0ZCN0U3NjA3MzNEQkIwMDI1RAorOjEwMDU4MDAwRTgwRjQ3MkU4QkFGNDQwMDgzN0UwODAwNzRFNzg4MUU3NworOjEwMDU5MDAwQzkxM0IwMDJFOEZCNDZGQUY3NDYzODQwMDA3NDE0RTg4NQorOjEwMDVBMDAwOTYxQkU4N0ZGRjcyMUMzM0QyOEE5NjlGMDA4M0MyMEU4RgorOjEwMDVCMDAwRUIwQzkwRTg3NzFCRTg4M0ZGNzIwOEJBNDgwMEU4MzMzOQorOjEwMDVDMDAwRkY3M0FCMjNDQjg5OEU5QTAwODk5NjlDMDBGRTg2QjU3QgorOjEwMDVEMDAwMDBDNjA2QzgxMzAwQjAwQUU4NjcwQUZCRUI4OTEwMThDQQorOjEwMDVFMDAwMDgyODMzQzBBMDA1MDE4QUM4MjQ0MDc1MjRDNzA2N0NBQQorOjEwMDVGMDAwMTI4RTQ1QzcwNjQyMTIwMTAwQzYwNjU0MTIwMkIwMDgwOAorOjEwMDYwMDAwRjZDMTAxNzQwMkIwMDRBMzQ2MTJBMjRDMTJBMjk0MTJDNQorOjEwMDYxMDAwQzNDNzA2N0MxMkI2NDVBMDBGMDE4NEMwNzUwRTZBMDBFMAorOjEwMDYyMDAwMUZDNjA2OTMxMjFFOUMwRUU4QjEwQzkwQzcwNjQ0MTIxQQorOjEwMDYzMDAwMDEwMEEzNDIxMjhCRDhDMUUzMDQ4ODFFOTQxMkJFRTJDQgorOjEwMDY0MDAwMDUyQkYwOEJDODMzREI4QkZCMkVBQzg4ODU0ODEyOEFEOAorOjEwMDY1MDAwRDgwQzA1RTZGRThBRTBFQjAwRTRGRTMyQzRBODNGNzQ0NQorOjEwMDY2MDAwMDNFOTlFMDBFNDAwODg4NTUwMTI4QUUwMjQzMEJBMTAyNQorOjEwMDY3MDAwRkYzQzMwNzQxMjgwRkMwNDc0MEFCQTA0MDNGNjA2MDhDNgorOjEwMDY4MDAwMDFGRTc0MDNCQTA4MEY4ODk1NEMxMjAyRkEzMkMwRjZDNAorOjEwMDY5MDAwQzQwODc0MDJCMDAxODg4NTU4MTI4QUM0M0MzNTc0NUI2MgorOjEwMDZBMDAwM0MzNjc0NTczQzM0NzQ1MzNDMDQ3NDRGM0MxNDc0NEJDNAorOjEwMDZCMDAwM0MxNTc0NDdBODQwNzQyNUM2ODU1NDEyMDREMUU3QjQ4QworOjEwMDZDMDAwMDM4QUMzODk4NTVDMTI4QUMzOEFFMzgwQ0MwMTg5ODU0OQorOjEwMDZEMDAwNjQxMkQxRUY0N0UyMDNFQjFBOTBFOTZDRkZDNjg1NTQzMAorOjEwMDZFMDAwMTIwMkQxRTc4QUU2OEFDMzBDMDQ4OTg1NUMxMkQxRUYzNQorOjEwMDZGMDAwNDdFMkU3MzNDMDhBQzdBMzQ2MTJDM0M2ODU1NDEyMDYzMQorOjEwMDcwMDAwRUJCQkM2ODU1NDEyMDAzM0MwODg4NTUwMTI4ODg1NENENworOjEwMDcxMDAwMTI4ODg1NTgxMkVCQTZDNzQ2MjYwMjEyOEI0NjFFODkwMAorOjEwMDcyMDAwNDYwMDg5NDYyMjhCNDYyMDg5NDYyNEM3NDYxQTAwMDA4NworOjEwMDczMDAwQzNDNzQ2M0M4MDAwQzc0NjM4MDEwMDFFNTY4Qjc2MzA0MgorOjEwMDc0MDAwODk3NjA0ODk3NjE0OEU1RTA2MzNDMDg5MDQ0NjQ2ODkwQworOjEwMDc1MDAwNzYyQzg5NDYzQThCNDYzMjQ4NDg4OTQ2MkU1RTFGQzMxRQorOjEwMDc2MDAwMzNDMDg5NDY0ODg5NDY0QUM3NDY0NkFFMDE4OTQ2NEU0NworOjEwMDc3MDAwOEI0NjQ0ODk0NjUwOEI0NjQyODk0NjQwODk0NjA4QzM4OQorOjEwMDc4MDAwMzNDMDg5NDY3Njg5NDY3OEM3NDY3QTEwMDA1NjFFOEI1NAorOjEwMDc5MDAwNzY3MDg5NzYxMDg5NzYwQzhFNUUxMkM3MDQwMDAwOEIwNQorOjEwMDdBMDAwNDY3Mjg5NDY3NDFGNUVDMzg5NTYxODg5NTYwMjg5NTY1NworOjEwMDdCMDAwMDY4OTU2MEE4OTU2MEU4OTU2MTI4OTU2MTY4QkQ4NEJDOQorOjEwMDdDMDAwNEJDMUUzMDJCRjAyMDA4OTdFMUUwM0ZCODk3RTMwMDMxQQorOjEwMDdEMDAwRkI4OTdFNDIwM0ZCODk3RTcwODNFQjA4ODk1RTIwODk1QQorOjEwMDdFMDAwNUUzMjg5NUU0NDg5NUU3MjUwRTgyQkZGRTg3MUZGRTg1MworOjEwMDdGMDAwM0ZGRkU4OEJGRjU4QzNCODMwNzVDMUU4MDQwRTVCMDNCOAorOjEwMDgwMDAwQzNBM0JBMTM4MzNFNDIxMjAwNzQwNzgwM0U5NDEyMDBDMQorOjEwMDgxMDAwNzUwRTZBMDAxRkM2MDY5MzEyMUU5QzBFRThCRDBBOTA1NAorOjEwMDgyMDAwQjgzMDdBQzFFODA0NDBBM0MwMTMyQjA2MTIwMUY3RDhGMAorOjEwMDgzMDAwMzNEMjhCQ0E4QTBFOTQxMkY3RjEzRDgwMDA3NzBFNkE4QworOjEwMDg0MDAwMDAxRkM2MDY5MzEyMjU5QzBFRTg5MDBBOTA0ODNERkZCMworOjEwMDg1MDAwMDc3MjAzQjhGRjA3QTNDMjEzMzNDOThBMEU5NDEyMzM3OQorOjEwMDg2MDAwRjZCODAwMDkyRThCQUM0NDAwODk0NjRDNDA0NjQ2RTI1RgorOjEwMDg3MDAwRjM4QTBFOTQxMjMzRjY4QjE2QzAxM0ExQzIxMzJFOEI3QgorOjEwMDg4MDAwQUM0NDAwRTgyMkZGMDNEMDQ2NDZFMkYyQzMzM0MwMkU1OAorOjEwMDg5MDAwOEJBRDQ0MDA4OTQ2MDg0NzQ3RTJGNEMzNTEzM0MwMEE5MAorOjEwMDhBMDAwQzIyRThCQUQ0NDAwODk4NjlFMDA4MTRFMzgwMDIwNDdDMQorOjEwMDhCMDAwNDdGRUM0ODBGQzA0NzIwNDMyRTRGRUMwRTJFMzU5ODNDNAorOjEwMDhDMDAwRTkxMDc0MDVGN0Q5RThDNEZGQzM1MTMzQzAwQUMyMkUzQQorOjEwMDhEMDAwOEJBRDQ0MDA4OTg2OUUwMDgzNEUzODQwNDc0NzgwQzRENAorOjEwMDhFMDAwMTA3OTA0MzJFNEZFQzBFMkU2NTk4M0U5MTA3NDA1Rjc5QQorOjEwMDhGMDAwRDlFODk5RkZDM0U4RDJGRkMzOEQwODlDMDhDQTA4RjU2MAorOjEwMDkwMDAwMDg4QjBFNDIxMjMzRjY1MTU2MzNEQjhCQ0I4QTk0NDg1OAorOjEwMDkxMDAwMTI4QThDNEMxMjhBOUM1NDEyOEJGRUMxRTcwNTg1REIyRgorOjEwMDkyMDAwNzUwMkIxMTAyRUZGOTdGOTA4NUU1OTQ2RTJEOUMzMDE0RQorOjEwMDkzMDAwQ0MwM0QwMDBFODAyRDAwMEU4MDFEMDAwRTgwMEQwMDBFRAorOjEwMDk0MDAwRTgwNEQwQThEQTAwREMwMERFMDFEODAzQ0MwM0NDMDMzNQorOjEwMDk1MDAwQ0MwNEQwQThEQTIwREMwMERFMDNDQzAzQ0MwM0NDMDAyRQorOjEwMDk2MDAwRDgwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDMwMworOjEwMDk3MDAwQ0MwM0NDMDNDQzAzQ0MwM0NDMDNDQzAzQ0MwM0NDMDNGRgorOjEwMDk4MDAwQ0MwNEQwMDBEQTIwREMwM0RFMDFEODAzQ0MwM0NDMDM5NgorOjEwMDk5MDAwQ0MwM0NDMDBEODAwQ0MwMEQwMDAwMDU2NTIxRTBFMUY1NQorOjEwMDlBMDAwQkUyRjA5MzNEMkZDQUQ4NUMwNzQwRDhBRDRFRUFEODU1RgorOjEwMDlCMDAwQzA3NDA1OEFENEVFRUJFRTFGNUE1RUMzRTQ4MDg0QzA5NworOjEwMDlDMDAwNzQxNjc4MTRCMDI3RTZGQ0IwMTFFNjM0RTRGQzNDMjczQQorOjEwMDlEMDAwNzUwNkU0MTE3NTAyRjhDM0Y5QzM4M0MyMDZCMEJGRUUxMQorOjEwMDlFMDAwODNFQTAyQjAxMEVFODg4NkFGMDBCMDExODNDMjA0RUUzNQorOjEwMDlGMDAwODNDMjAyRUVCMDEzODNDMjAyRUU4M0MyMDJFRTJFQTFDNgorOjEwMEEwMDAwNEMyRDg5ODY5NDAwODNFQTBFRUU4M0MyMDI4QUM0RUVERQorOjEwMEExMDAwODNDMjA0QjAwM0VFODg4NkE4MDA4M0VBMDQzMkMwRUVFNQorOjEwMEEyMDAwODNDMjAyQjA4OUVFODg4NkE2MDAwQzA2RUVCMDQwQjQwMAorOjEwMEEzMDAwMzg4OTQ2MUNDNzQ2MzYzODAwODNDMjA0MzJDMEVFODg2NworOjEwMEE0MDAwODZBNzAwQzM4M0MyMDZCMEJGRUU4M0VBMDJFQzNBODZGMworOjEwMEE1MDAwQUYwMDc1MjQ4M0MyMDRFQzNDMTE3NTFDODNDMjA2RUMwNAorOjEwMEE2MDAwM0MxMzc1MTQ4M0VBMDg4QTg2QTgwMEVFODNFQTAyRUMzOAorOjEwMEE3MDAwMjRDMDNDQzA3NTAyRjhDM0Y5QzMzM0M5OEJEMThCRjFENAorOjEwMEE4MDAwOEEwRTk0MTJDMUU5MDIyRThCQUM0NDAwRjc0NjM4MDA1RQorOjEwMEE5MDAwMjA3NDBFOEE4NjlFMDBFNkZFMzJDMEU2ODA0MkU4RkFBNgorOjEwMEFBMDAwRkU4M0M2MDhFMkUxODVEMjc0MDNFODA1MDhDMzMzQzlCMgorOjEwMEFCMDAwOEJGMThBMEU5NDEyMkU4QkFDNDQwMEY3NDYzODQwMDAxRQorOjEwMEFDMDAwNzQwNkU4NzMxNkU4MTJGRjQ2NDZFMkVBQzMzM0M5OEJBMAorOjEwMEFEMDAwRjE4QTBFOTQxMkMxRTkwMjJFOEJBQzQ0MDBGNzQ2MzgxRAorOjEwMEFFMDAwMDAyMDc0MTZFODQ2MTZFOEQyRkU3MzBFNkEwMDFGQzY5MAorOjEwMEFGMDAwMDY5MzEyMUM5QzBFRThFMzA3OTA4M0M2MDhFMkQ5QzM1NAorOjEwMEIwMDAwMzNDOThCRjE4QTBFOTQxMjJFOEJBQzQ0MDBGNzQ2MzgxMQorOjEwMEIxMDAwNDAwMDc0MTZFODIxMTZFODJBRkY3MzBFNkEwMDFGQzYwQgorOjEwMEIyMDAwMDY5MzEyMUM5QzBFRThCMzA3OTA0NjQ2RTJEQUMzMEMwQgorOjEwMEIzMDAwMDAwMDEwMDAxMzEyMDAwMDE0MDAyODNDMDAxQjNFMDBBRgorOjEwMEI0MDAwMDAyQTAwMDAyQzAwMDA0MjAwMTREODAwMDBEQTAwMDA0NworOjEwMEI1MDAwMzQwMDExMzYwMDEzMzgwMDExM0EwMDEzMDAwMDU2NTBDQgorOjEwMEI2MDAwNTJCRTJGMEIyRUFEODVDMDc0MDY5MjJFQUNFRUVCRjQ2OAorOjEwMEI3MDAwNUE1ODVFQzM1MzJFQTE2MDIyRTZFNEU2RjA4QUM0RTYyQQorOjEwMEI4MDAwRUNFNkY4RThEOEZGQjA0QkU2MTBCMDUwRTYxMkIwMzgwQgorOjEwMEI5MDAwRTYxNEU4QUUxNUIwNDZFNjBBRThBNzE1QjAxQUU2MEE2QworOjEwMEJBMDAwRThBMDE1QjAyMkU2MEFFODk5MTVFOEZEMDY4QkQ4RTQxRQorOjEwMEJCMDAwMTZBODA0NzUxOEU4RjIwNjJCQzMzRDMyMDA3MkYwNkFERAorOjEwMEJDMDAwMDAxRkM2MDY5MzEyMjM5QzBFRTgxMDA3OTBFOERBMDY3MQorOjEwMEJEMDAwMkJDMzNEMjQwMDc3MUJCMDMxRTZGQzU2NTE1NUI5MTBBQworOjEwMEJFMDAwMDAyRThCQUM0NDAwODE0RTM4ODAwMDQ2NDZFMkYyNUQxOAorOjEwMEJGMDAwNTk1RUU4NjlGRkU4NEIxNUIwNDZFNjBBRTg0NDE1NUIyNAorOjEwMEMwMDAwQzMzM0Y2OEIwRTQyMTIyRThCQUM0NDAwRjc0NjM4MDBFRAorOjEwMEMxMDAwMjA3NDA2RTgxNzE1RTg1QkZGODNDNjIwRTJFOUMzOEI2MgorOjEwMEMyMDAwQzIwNTA0MDA4OTQ2MjgyRUExNEMyRDg5ODY4RTAwODk5NAorOjEwMEMzMDAwODY5MDAwODk4NjkyMDBDNjg2QTMwMDBBQzY4NkMzMDBGNQorOjEwMEM0MDAwMDM1MjgzQzIwNDhBODZBNjAwMEMwNkVFNUE4M0MyMDJBRgorOjEwMEM1MDAwQjAwNUVFODg4NkE1MDBDM0U4MDNGRkU4RTUxNEIwNDJCRQorOjEwMEM2MDAwRTYwQUY3NDYzODgwMDA3NDA2MkVBMTlDMjJFQjA0MkU3QgorOjEwMEM3MDAwQTE2QzIyQzc0NjFDMEMwMDg5ODY5NDAwODk4Njk2MDBDOAorOjEwMEM4MDAwODk4NjhFMDA4OTg2OTAwMDg5ODY5MjAwRTZGMEU2RTRFNworOjEwMEM5MDAwOEFDNEU2RjhFNkVDQzY4NkMzMDAwM0U4QTUxNEIwMUFEOQorOjEwMENBMDAwRTYwQUIwMTA4ODg2QTUwMEU2MENDMzMzQzk4QkYxOEEyQQorOjEwMENCMDAwMEU5NDEyMkU4QkFDNDQwMEY3NDYzODQwMDA3NDA2RThDMAorOjEwMENDMDAwNzYxNEU4NUFGRjQ2NDZFMkVBQzMzM0M5OEJGMThBMEUyRQorOjEwMENEMDAwOTQxMjJFOEJBQzQ0MDBGNzQ2MzgwMDIwNzQwNkU4NEM4MgorOjEwMENFMDAwMTRFODc0RkY0NjQ2RTJFQUMzOTA4MzNFNDQxMjAwNzU1RQorOjEwMENGMDAwMTRCMDAxQkEwNjAxRUUyQUMwRUVCMDAyRUVCMDA0RUU2NgorOjEwMEQwMDAwQjgwMDAyRUIwRkJBMDYwMUIwNDBFRUI4MDEwMDhBMEUzRgorOjEwMEQxMDAwMEUwMUQzRTBBMzg4MTJDM0ExODgxMkEzODQxMjJEMjA1MAorOjEwMEQyMDAwMDBBMzhBMTIyRDIwMDBBMzgyMTJDNzA2ODYxMjIwMDA3QgorOjEwMEQzMDAwQzcwNjgwMTIzMjAwQzM4MzNFNDQxMjAwNzQ3NjhCMEVDNQorOjEwMEQ0MDAwNDIxMjMzRjY4QUE0NTQxMjg0RTQ3NDVGOEE4NDQ4MTJFRgorOjEwMEQ1MDAwMEMwNEU2RkVGNkM0MDQ3NDI1QjAxQkJBMDAwMEVFRUJFQQorOjEwMEQ2MDAwMDAyQUMwQkEwMjAwRUVFQjAwQjAwM0VFRUIwMDMyQzA4NgorOjEwMEQ3MDAwQkEwMjAwRUVFQjAwQkEwMDAwQjAwMEVFRUIyREIwMUY5RgorOjEwMEQ4MDAwQkEwMDAwRUVFQjAwMkFDMEJBMDIwMEVFRUIwMEIwMDM5RQorOjEwMEQ5MDAwRUVFQjAwRDFFNjhBODQ1RDEyRDFFRUY2RDBCQTAyMDAwNQorOjEwMERBMDAwRUVFQjAwQkEwMDAwQjAwQUVFRUIwMEU0MDRFQjAwRTQ2NgorOjEwMERCMDAwMDQ0NkUyOTBDMzkwQjgxNDAwQkEzRUZGRUZCODA2MDBCNAorOjEwMERDMDAwQkEzMkZGRUZCODBGMDBCQTM0RkZFRkJBMzZGRkVGODM0NQorOjEwMEREMDAwM0U0NDEyMDA3NTE2QjgxMTAwQkEzOEZGRUZCODEyMDA4MQorOjEwMERFMDAwQkEzQUZGRUZCODFCMDBCQTNDRkZFRkMzQjgxMTAwQkEyNAorOjEwMERGMDAwMzhGRkVGQjgxMjAwQkEzQUZGRUZCODFCMDBCQTNDRkY1OQorOjEwMEUwMDAwRUZDM0I4RkMwMEJBMjhGRkVGRkI4MzNFNDQxMjAwNzQyNgorOjEwMEUxMDAwMDdCOENDMDBCQTI4RkZFRkMzMDBGRkZGMjAyNDI4RkY0QgorOjEwMEUyMDAwMkNGRkZGMzAzNDM4RkZGRjNDOTAzQzBGNzcwRUJCMTk4RQorOjEwMEUzMDAwMEUyRUQ3M0NGRjc0MDU4QUQ4RjhDMzkwMkFEQkY5QzM3RAorOjEwMEU0MDAwODMzRTQ0MTIwMDc0MjdBMDA2MDE4MDI2MDYwMTMwODBFQworOjEwMEU1MDAwM0UwNjAxMzA3NTE4QjkwMjAwQkZDNDEzQkEwNjAxRUM5MgorOjEwMEU2MDAwQTgyMDc1RjhCQTA0MDFFREFCRTJGMUVCMTY5MEI5MDRENQorOjEwMEU3MDAwMDBCRkM0MTNCQTA2MDFFQ0E4MjA3NUY4QkEwNDAxRUM0RgorOjEwMEU4MDAwQUFFMkYxRkE5MEJFQzQxM0FEODBFNDNGODBGQzAyNzQ4NAorOjEwMEU5MDAwMEU2QTAwMUZDNjA2OTMxMjBBOUMwRUU4M0UwNDkwQUQyRgorOjEwMEVBMDAwM0MwRjc1RUQ4QUM0RTg4MUZGNzJFNjg4MUUxQTAxQzYwMAorOjEwMEVCMDAwMDY4RTEyMDBCMDAwMEEwNjFBMDFCQTAwMDFFRUM2MDYzQworOjEwMEVDMDAwOEYxMjQwODMzRTQ0MTIwMDc1MDZCODBDMDBFQjA0OTA2QworOjEwMEVEMDAwQjg0QzAwQkEyOEZGRUZDMzgzM0U0NDEyMDA3NTAxQzMyQgorOjEwMEVFMDAwQTE1MDEyMEIwNjUyMTIwQUM0QTgwODc0RjJBMDBGMDFGNgorOjEwMEVGMDAwMkFFNDUwRkYzNkJBMTMxRkU4NTA1NjgzQzQwMjZBMDAzMgorOjEwMEYwMDAwMUYzM0MwQTNCQzEzQTAwRjAxQTNCRTEzOEIxRUJDMTNDMQorOjEwMEYxMDAwOEE4NzUwMTJGNjg3NTAxMjA4NzQwRDI0MDc4QUUwQkVBMworOjEwMEYyMDAwQ0MwMEEwQkMxM0U4OTQzREZGMDZCQzEzRkYwRUJFMTMxQgorOjEwMEYzMDAwNzVEQUMzOTAxRTMzQzA4RUQ4QjAwMUU4NTQzRDFGQzM4QworOjEwMEY0MDAwMzNDOThCRjE4QTBFOTQxMjJFOEJBQzQ0MDBDNzQ2NjJEMworOjEwMEY1MDAwMzg0NEM3NDY3Q0ZDM0JDNzQ2N0VFMjNCQzc4NjgwMDBFMAorOjEwMEY2MDAwRUMzQ0U4QUIxNkM2ODZDMDAwMTE4MzdFMDgwMDc0MDcwRgorOjEwMEY3MDAwNTE1NkU4MzMzMzVFNTk0NjQ2RTJDREMzMzNDOThCRjE0RgorOjEwMEY4MDAwOEJGOThBMEU5NDEyQzFFOTAyRTMxMzJFOEJBQzQ0MDA1NAorOjEwMEY5MDAwOEE4NjlFMDA4ODg1NkMxMjgzQzYwODQ3RTJFREMzRkFGNAorOjEwMEZBMDAwRkNCMEMwQkEwMDAxRUUzM0MwOEVEODhFQzA4RUQwQkY2OAorOjEwMEZCMDAwMTYwMUI5Q0M3NzJCQ0ZEMUU5RjNBQkJDNDAxMkU4RDlGRAorOjEwMEZDMDAwMDJFODcwM0NCRUNDMEZFOEYyM0NGNDkwMzNDMDhFRDhGRgorOjEwMEZEMDAwOEVDMDhFRDBGNjA2MEEwMTgwNzQwQkJFMzU1NUU4REI1NAorOjEwMEZFMDAwM0NCMDAxRThBQzNDRThCMzAwRThGNkY1RTgwOEY4RTgwNgorOjEwMEZGMDAwMEZGOUU4ODVGQUU4QjZGQUU4RUZGQ0U4QzIxMEU4MDM3MgorOjEwMTAwMDAwM0NFOEIyRkRFODMwRkRFODU0MDJDNjA2OEYxMkMwRThBNQorOjEwMTAxMDAwQkJGQUU4RUJGQUU4RTlGQkU4QUZGQ0U4OERGQ0U4MUY3NworOjEwMTAyMDAwRkZFODU4RkZFOERCRkRFODE2RkUzM0MwQkU1QTA1RThDRQorOjEwMTAzMDAwOEEzQ0U4QTNGRUU4RTBGQ0ZCQkVBNDQ0RTg3RDNDRTk3MgorOjEwMTA0MDAwQ0EyRDU2OTg4QkYwOEI0MjUyODVDMDc1MjdDNzQyNTJFNQorOjEwMTA1MDAwMDEwMDUzMzY4QjlDMkMwMUY2QzMwMTc1MEMzNjg5Njg1MAorOjEwMTA2MDAwNTIzNjg5QUMyQzAxNUI1RUMzMzY4OUFDMkMwMTM2ODlDMworOjEwMTA3MDAwQUMxQzAxNUI1RUMzNTY5ODhCRjAzM0VEMzY4Qjg0MUM0MQorOjEwMTA4MDAwMDFBODAxNzUxNThCRTgzM0MwODc0MjUyMzY4OTg0MUM0QworOjEwMTA5MDAwMDFBODAxNzQwNTM2ODk4NDJDMDE1RUMzNTY1MTMzRjZDQworOjEwMTBBMDAwQjgwMTAwQjkwODAwODk4NDFDMDE4OTg0MkMwMTQ2NDZENgorOjEwMTBCMDAwRTJGNDU5NUVDMzkwQkIwMTAwOEJFOEZGNEU2RTc0MEFFOAorOjEwMTBDMDAwOEJERDhCNDY1OEE4MDE3NEYwQzM4QjQ2NDhBOTA4MDBGNQorOjEwMTBEMDAwNzQ0NUY3NDYzODQwMDA3NDI3RTg1QzEwODBDMjA2OEFFMQorOjEwMTBFMDAwODZBODAwMjRCRjg4ODZBODAwRUU2MEIwRkVFODg2MzI5RAorOjEwMTBGMDAwNjFCMDAyRTg0Q0ZGOEI0NjQ4MjRGNzg5NDY0OEVCMTc1RAorOjEwMTEwMDAwRTgyQTEwODE0RTI2MDA0MDhBODZBNTAwMEMwMjg4ODZCNworOjEwMTExMDAwQTUwMEU2MEM4QjQ2NDhBOTA0MDA3NDE0QjAwMkU4MjEyRgorOjEwMTEyMDAwRkY4QjQ2NDgyNEZCODk0NjQ4NjBCMERGRTg0NzMyNjFDMAorOjEwMTEzMDAwMzNDMDg3NDY1OEY2QzMwMTc1MEIzNjg5NDc1OEE4MDE1NgorOjEwMTE0MDAwNzUwREU5NzRGRkEzMjIwMUE4MDE3NTAzRTk2QUZGODlGRgorOjEwMTE1MDAwMUUzMjAxQzNCQjAxMDA4QkU4Rjc0NjM4NDAwMDc0MTUwRQorOjEwMTE2MDAwRThENTBGODBDMjBBRUNBODQwNzUwQThCREQ4QjQ2NTY4NQorOjEwMTE3MDAwQTgwMTc0RTNDMzhCNDYyNjgwRTRGRTgwQ0MwMjg5NDYzNgorOjEwMTE4MDAwMjZCMDAyRThCQ0ZFMzNDMDg3NDY1NkY2QzMwMTc1MEE5NgorOjEwMTE5MDAwMzY4OTQ3NTZBODAxNzUwQkVCQkRBMzIwMDFBODAxNzU0MAorOjEwMTFBMDAwMDJFQkI0ODkxRTMwMDFDMzYwMUUwNjJCQzA4RUQ4QTA4RQorOjEwMTFCMDAwOTAxMjg0QzA3NTQ5QTEyMjAxQTgwMTc1MDNFOEY2RkVDQQorOjEwMTFDMDAwQTEyMDAxQTgwMTc1MDNFODhBRkZBMUFDMTM0ODc4MDVBNgorOjEwMTFEMDAwNzQ0NUEzQUMxM0ExQUUxMzQ4NzgwNTc0NTFBM0FFMTNBNAorOjEwMTFFMDAwQTFCMDEzNDg3ODA1NzQ2M0EzQjAxM0ExN0UxMjQwNzhCMAorOjEwMTFGMDAwMDNBMzdFMTJCODAwODBCQTIyRkZFRjA3MUY2MUNGQTBDMQorOjEwMTIwMDAwOTExMjQwM0MwMjcyMEIzM0MwQTI5MTEyRkYxNjdDMTI2NQorOjEwMTIxMDAwRUJBNEEyOTExMkVCOUZBMDhFMTIzMjA2OEYxMkEyOEUyNworOjEwMTIyMDAwMTIwQTA2MUEwMUJBMDAwMUVFQjgyQzAxRUJBNDgzM0VBMworOjEwMTIzMDAwODQxMjEwNzIxMUJBMjhGRkVEMEM4MUVGRTg1MzM3QkEwRgorOjEwMTI0MDAwMjhGRkVEMjQ3RUVGQjgwNDAwRUI5MkM2MDY4RDEyMDE1NAorOjEwMTI1MDAwRTgzRjM3QzYwNjhEMTIwMEExQjIxM0VCOEI5MDhBMUVCMQorOjEwMTI2MDAwMEIwMTJBRkY2QkMzMTlCQTYyRkZFRkI4MEEwMEJBNjAxQworOjEwMTI3MDAwRkZFRkI4MDFFMEJBNjZGRkVGQjhGRkZGQkE1MkZGRUYyOQorOjEwMTI4MDAwQjgwOUMwQkE1NkZGRUZDNzA2QUMxMzJDMDFDNzA2QUVBQgorOjEwMTI5MDAwMTMwNDAwQzYwNjkxMTIwMEMzOTA4QTFFMEIwMTJBRkY5OAorOjEwMTJBMDAwNkJDMzA1RDFFOEEzMTgwMUMzOTA1MkJBNTBGRkVENUFBMQorOjEwMTJCMDAwQzM5MDUzNTE4QjFFMTgwMUI5MzIwNTkwRTJGRTRCNzU1NQorOjEwMTJDMDAwRjc1OTVCQzNCMDgwQkEwMDAxMEEwNjFBMDFFRUMzOTA1OQorOjEwMTJEMDAwQjA0MEVCRjJCMEMwRUJFRUIwMDBFQkVBRkE2MDA2MUVGNQorOjEwMTJFMDAwMTYyQkRCOEVEQjJFQTFCQTRDMkVBMzkyNENBMDkzMTJCMAorOjEwMTJGMDAwOTg4QkU4ODkyNjJEN0E4MDNFQ0ExMzAwNzQwM0U5NkIyNworOjEwMTMwMDAwNDJFOEMwRkZFOEFCRkZFOEE4RkZCMDIwQzYwNjkwMTI5NQorOjEwMTMxMDAwMDBGRjE2N0MxMjhCRkQ4M0ZGMEE3MjExRThCOUZGRTgwQgorOjEwMTMyMDAwOTBGRkU4QUJGRkU4OEFGRjgzRUYwQUVCRUEwQkZGNzQ1QworOjEwMTMzMDAwMEZFOEE0RkZFODdCRkZFODlBRkZFODc1RkY0Rjc1RjExRgorOjEwMTM0MDAwRTg5NUZGRTg2Q0ZGRUJCOThBODZBNTAwMjRGREVFODhERQorOjEwMTM1MDAwODZBNTAwQzM4QTg2QTYwMDBDMDJFRUMzOEI3NjM4RjdGQQorOjEwMTM2MDAwQzYwMTAwNzRFRjhCNEUzNjhCNDYyRTNCQzE3MzAyOEI0OQorOjEwMTM3MDAwQzgyQkMxODk0NjJFMDE0RTM0QzQ3RTA0MjYwMTBEOEIzNAorOjEwMTM4MDAwN0UyQzgzRUEwNEYzNkM4RUMxODk3RTJDM0I0NjNDNzIzMgorOjEwMTM5MDAwMTJGN0M2MjAwMDc1MEI4M0NFMjA4OTc2MzhCMDAwRTg5RQorOjEwMTNBMDAwQTBGQ0MzRjdDNjA0MDA3NDFCOEJEODgzQ0UxMDg5NzZDQgorOjEwMTNCMDAwMzg4QTg2QTcwMDI0RkU4ODg2QTcwMDgzQzIwOEVFODNBOQorOjEwMTNDMDAwRUEwODhCQzMzRDQwMDA3MjAxQzM4MTRFMzgwMDA0ODM5QworOjEwMTNEMDAwQzIwMjhBODZBNTAwMjRGQTg4ODZBNTAwRUVDMzhBODYwMgorOjEwMTNFMDAwQTYwMDBDMDJFRUMzRjc0NjM4MDEwMDc0RjE4QjRFMkVCNgorOjEwMTNGMDAwMzJEQjhBQkVBMzAwODNDMjA2QzQ3NjA0OEI3RTJDODNCNAorOjEwMTQwMDAwRjkwODcyMkNFQ0E4MDE3NDE2OEFFMDgzRUEwQUVDODNDRQorOjEwMTQxMDAwQzIwQTg0RTc3NTUxQUFGRUMzNDk4M0Y5MDg3M0U1MzIwRAorOjEwMTQyMDAwRkYyNjAxMUMwMTVFMzQ4OTc2MDQ4OTRFMkU4OTdFMkNBQworOjEwMTQzMDAwM0I0RTNDNzIxMUY2NDYzODIwNzQwMUMzODM0RTM4MjA2RgorOjEwMTQ0MDAwQjAwMEU4RkRGQkMzRjY0NjM4MDQ3NDE1ODM0RTM4MTAyRgorOjEwMTQ1MDAwOEE4NkE3MDAyNEZFODg4NkE3MDA4M0VBMDJFRTgzQzI1QworOjEwMTQ2MDAwMDIzRDQwMDA3MjVEQzMzMkZGMjYwMzFDODVEQjc0MDkxOAorOjEwMTQ3MDAwMjY4OTFDOEJGNzQ3NDc0OTQ5ODBFNDFFODBDQ0MwMjY0QgorOjEwMTQ4MDAwODkwNEY2QzQxMDc0Mjc4Qjc2MzhGN0M2MDAxMDc0MEJFNQorOjEwMTQ5MDAwNTBGRTg2QjIwMEIwMEFFOEE4RkI1OEY3QzYwMDAxNzRGNworOjEwMTRBMDAwMERFODgyMjY4Qjc2Mzg4QjRFMkU4QjdFMDRBQjhCRjcyNQorOjEwMTRCMDAwMzNDMEFCMzJEQjhBQkVBMzAwNDk0OTgzRjkwODcyMTdGNworOjEwMTRDMDAwRTk0MUZGODE0RTM4MDAwNDgzQzJGODhBODZBNTAwMjREMgorOjEwMTREMDAwRkE4ODg2QTUwMEVFQzNFOTQ1RkY4M0MyMDhFQzg4ODYzQQorOjEwMTRFMDAwQUEwMEMwRTgwNDhBRTA4QUM4ODY4NkE5MDAzMkUwOEI5OAorOjEwMTRGMDAwNUUzRTg0RTM3NDRGOEFDMThCNEUyNkY2QzUwNDc0MEM5RAorOjEwMTUwMDAwQTgwODc0MDU4MEUxQkZFQjAzODBDOTQwRjZDNTA4NzRFNAorOjEwMTUxMDAwMENBODAyNzQwNTgwRTE3RkVCMDM4MEM5ODA4ODRFMjYwOQorOjEwMTUyMDAwOEJGMDhBODZBNTAwODRDOTc0MDhBODAyNzQxNTI0RkQ2RQorOjEwMTUzMDAwRUIwNkE4MDI3NTBEMEMwMjg4ODZBNTAwODNFQTBBRUU2OAorOjEwMTU0MDAwODNDMjBBOEJDNjg0RTc3NTAxQzNDNjg2QkEwMDAxQjBBMAorOjEwMTU1MDAwMEVFOEVFRkFGNzQ2MzgwMDAyNzRFRTgzN0UyRTA2NzIyRAorOjEwMTU2MDAwRTg4QUE2QUEwMEM0NUUwNDhCN0UyQ0IwRkZBQUIwMDI1MworOjEwMTU3MDAwQUIyNjgzMDcwMzgzNkUyRTAzODk3RTJDRjY0NjM4MjAyNAorOjEwMTU4MDAwNzQwMUMzODM0RTM4MjBCMDAwRThCNkZBQzM5MDgzRUFGMgorOjEwMTU5MDAwMDhFOUI0RkQ4M0MyMDY4QjVFMjZGNkMzQzA3NUVGOEJFNworOjEwMTVBMDAwNEUxQ0VDODg4NkE0MDA4M0VBMEFBODIwNzUwMjhBQ0QyNgorOjEwMTVCMDAwMzJFRDhCNDYxQTNCQzg3MzE4MDE0RTJBMkJDMTg5NDY1RgorOjEwMTVDMDAwMUFDNTc2MDBGMzZFOEVEOTg5NzYwMDNEMjAwMDcyMzAwMAorOjEwMTVEMDAwQzM4NUMwNzQzMThCQzgwMTQ2MkFDNTc2MDBGMzZFOEU3MAorOjEwMTVFMDAwRDk4MENCMDI4OTVFMjZFODMyRjFGNkM3MDE3NTE2ODNGMQorOjEwMTVGMDAwQzIwMkU4NTNGREY2QzcxMDc1MEJCMDAyRTg0M0ZBQzMwOAorOjEwMTYwMDAwRjZDNzAxNzRGMEMzODBDQjAyODk1RTI2RjZDNzAxNzQ2OQorOjEwMTYxMDAwREU4M0MyMDJFODMxRkRGNjg2QTQwMDQwNzQwQjgwRTc0OQorOjEwMTYyMDAwRkU4MENGMDI4OTVFMjZFQkNDQjAwNEU4MTRGQUMzQzA3QQorOjEwMTYzMDAwQzJDOENBQzRDNkNDQ0VEMEQyRDhEQUQ0RDZEQ0RFOTBFQQorOjEwMTY0MDAwRTkwRTAxRTRDNDhBRTBFNEM0OEJEMDgzRjkwODcyRjBBNworOjEwMTY1MDAwMjY4MzNGMDA3NDA0OEJERjQ5NDk4QkZCOEFERTgzRTNEQQorOjEwMTY2MDAwMEYyRThBQTcyRjE2QUJGNkM0MTA3NDI0RjdDNjAwMTBFRAorOjEwMTY3MDAwNzQwQjUwRkU4NkIyMDBCMDBBRThDNkY5NThGN0M2MDBFRgorOjEwMTY4MDAwMDE3NDBERThBMDI0OEI3NjM4OEI0RTJFOEI3RTA0QUIzNAorOjEwMTY5MDAwODk3RTA0MzNDMEFCNDk0OTg5NEUyRTg5N0UyQzhCQzE4QgorOjEwMTZBMDAwRUI0RTkwRUI5RTkwRTRENjg0QzA3OTYzRTZEMDhBQzg3NgorOjEwMTZCMDAwMjUwMzAwMDNEOEQxRTMyRThCQUY0NDAwODg4RUFFMDAwMworOjEwMTZDMDAwOEI0RTJFQzQ1RTA0OEI3RTJDOEI3NjM4RTQ4NjI0MDdFQQorOjEwMTZEMDAwM0MwMzc1Q0ZFNDFDOTEzQkMxNzMwMjhCQzgyQkMxODlCRAorOjEwMTZFMDAwNDYyRTAxNEUzNDI2MDEwRkJBQzQwMEYzNkM4OTdFMkNCRAorOjEwMTZGMDAwM0I0NjNDNzIxQ0Y3QzYyMDAwNzUwQjgzQ0UyMDg5NzZEMgorOjEwMTcwMDAwMzhCMDAwRTgzQ0Y5OEE4NkFFMDAyNDNGRTZENkMzRjkzQgorOjEwMTcxMDAwQzNGN0M2MEEwMDc0MzVGN0M2MTAwMDc1MkY4M0NFMTBDNAorOjEwMTcyMDAwODk3NjM4RjdDNjAyMDA3NDBFNTBFNEQ4MjRGRUU2RDg1NQorOjEwMTczMDAwNThGN0M2MDgwMDc0MTU1MDUxQjlFODAzRTQwQTg0QzA4QworOjEwMTc0MDAwRTBGQTg0QzA3NTA0QjAyNEU2MEE1OTU4M0Q0MDAwNzM5RAorOjEwMTc1MDAwQjU4QTg2QTUwMDI0RUY4ODg2QTUwMEU2MEM4MUNFMTAwOAorOjEwMTc2MDAwMDQ4OTc2MzhFQkEwMDAwODA0MEMwMTA5MDUwRDAyMEE3MworOjEwMTc3MDAwMDYwRTAzMEIwNzBGMDA0MDgwQzAyMDYwQTBFMDEwNTA1MQorOjEwMTc4MDAwOTBEMDMwNzBCMEYwRTREMkU2RDA4QUM4MjUwMzAwMDNEMAorOjEwMTc5MDAwRDhEMUUzMkU4QkFGNDQwMDg4OEVBRTAwRTREOEMwRThFOQorOjEwMTdBMDAwMDQ4QkQ4MkU4QTg3NjYxNzhBRTA4QUM4ODY4NkE5MDBBNQorOjEwMTdCMDAwMzJFMEU0OTg4QjVFM0U4NEUzNzQ1NDhBQzE4QjRFMjZGQgorOjEwMTdDMDAwRjZDNTA0NzQwQ0E4MDg3NDA1ODBFMUJGRUIwMzgwQzk1QQorOjEwMTdEMDAwNDBGNkM1MDg3NDBDQTgwMjc0MDU4MEUxN0ZFQjAzODAxNQorOjEwMTdFMDAwQzk4MDg4NEUyNjhCRjA4QTg2QTUwMEY2QzFGRDc0MDg1NAorOjEwMTdGMDAwQTgwNjc0MTkyNEY5RUIwRkE4MDY3NTExRjZDNTAxNzUzMgorOjEwMTgwMDAwMDQwQzA0RUIwMjBDMDI4ODg2QTUwMEU2MEM4QkM2ODQ0RgorOjEwMTgxMDAwRTc3NTA5OEE4NkFFMDAyNDNGRTZEMkMzQzY4NkJBMDBDMQorOjEwMTgyMDAwMDFCMDBFRTgxQ0Y4Rjc0NjM4MDAwMjc0RTY4MzdFMkVGRAorOjEwMTgzMDAwMDY3MkUwOEE4NkE5MDA4QUUwODY4NkFBMDA4QUM4MzJGMworOjEwMTg0MDAwQzQ4MEM5MEIyMkMxQzBFNDA0MEFFMEM0NUUwNDhCN0VEQworOjEwMTg1MDAwMkNCMEZGQUFCMDAyQUIyNjgzMDcwMzgzNkUyRTAzODk0OAorOjEwMTg2MDAwN0UyQ0Y2NDYzODIwNzVBQjgzNEUzODIwQjAwMEU4RDE4OAorOjEwMTg3MDAwRjdFQkEwOTBFNDEyMjRERkU2MTI4MUUzRkU5Rjg5NUU3RAorOjEwMTg4MDAwMjY4MzY2NDhGN0VCNzM5MEY2QzcyMDc1RTdFNDEyMENFMQorOjEwMTg5MDAwMjBFNjEyMzJDMEU2QzZCMDgzRTZDNjgwQ0YyMDg5NUU1RAorOjEwMThBMDAwMjY4QTg2QTUwMDBDMDI4ODg2QTUwMEU2MENFQjc0OTBCQgorOjEwMThCMDAwRjZDNzQwNzVEM0U0MTIwQzIwRTYxMjMyQzBFNkM2QjA3QgorOjEwMThDMDAwODFFNkM2ODBFN0RGODBDQjAxODk1RTI2QjAwNkU4NzEzRAorOjEwMThEMDAwRjc5MDhBODZBNTAwMjRGOUU2MEM4ODg2QTUwMEVCNDNEQworOjEwMThFMDAwRTRENEU2RDA4QkY4MjUwMzAwMDNEOEQxRTMyRThCQUZFOAorOjEwMThGMDAwNDQwMDhCNUUyNkY2Qzc2MDc1QjZGNkMzQzA3NUQzQkFEMgorOjEwMTkwMDAwQzYwMDhCNEUxQzhCNDYxQTNCQzg3MzFFMDE0RTJBMkJGOQorOjEwMTkxMDAwQzE4OTQ2MUFDNTc2MDBGMzZFOEVEOTg5NzYwMDNEMjBCRQorOjEwMTkyMDAwMDA3MjNEOEJDNzI0M0ZFNkQ0QzM4NUMwNzQzOThCQzg5MQorOjEwMTkzMDAwMDE0NjJBQzU3NjAwRjM2RThFRDk4M0NCMDI4OTVFMjZENgorOjEwMTk0MDAwRThEOUVERjZDNzAxNzUzOThBODZBNTAwMjRGOUU2MENCOQorOjEwMTk1MDAwODg4NkE1MDBGNkM3MTA3NUNBQjAwMkU4RTRGNkVCQzNBNgorOjEwMTk2MDAwRjZDNzAxNzRFRkVCQkNGNkM3MDE3NERDOEE4NkE1MDBFQworOjEwMTk3MDAwQTgwMjc0MTE4MUUzRkZGRTgxQ0IwMDAyODk1RTI2RUI5MQorOjEwMTk4MDAwQzc4QTg2QTUwMDI0RkIwQzAyRTYwQzg4ODZBNTAwRUIxRQorOjEwMTk5MDAwOTI5MEZERjdERjdGRkVGQkVGQkYwMDA0MDAwNDA1MDQxQgorOjEwMTlBMDAwMDUwNDAxMDQwMDA0MDUwNDA1MDQwNjA0MDYwNDA1MDRGNgorOjEwMTlCMDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwMjA0MDAwNDA1MDRFNQorOjEwMTlDMDAwMDUwNDAxMDQwMDA0MDUwNDA1MDQwNjA0MDYwNDA1MDRENgorOjEwMTlEMDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwNzA0MDcwNDA1MDRCOQorOjEwMTlFMDAwMDUwNDA3MDQwNzA0MDUwNDA1MDQwNjA0MDYwNDA1MDRBOQorOjEwMTlGMDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwNzA0MDcwNDA1MDQ5OQorOjEwMUEwMDAwMDUwNDA3MDQwNzA0MDUwNDA1MDQwNjA0MDYwNDA1MDQ4OAorOjEwMUExMDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwMzA0MDAwNDA1MDQ4MworOjEwMUEyMDAwMDUwNDAxMDQwMDA0MDUwNDA1MDQwNjA0MDYwNDA1MDQ3NQorOjEwMUEzMDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwMjA0MDAwNDA1MDQ2NAorOjEwMUE0MDAwMDUwNDAxMDQwMDA0MDUwNDA1MDQwNjA0MDYwNDA1MDQ1NQorOjEwMUE1MDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwNzA0MDcwNDA1MDQzOAorOjEwMUE2MDAwMDUwNDA3MDQwNzA0MDUwNDA1MDQwNjA0MDYwNDA1MDQyOAorOjEwMUE3MDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQwNzA0MDcwNDA1MDQxOAorOjEwMUE4MDAwMDUwNDA3MDQwNzA0MDUwNDA1MDQwNjA0MDYwNDA1MDQwOAorOjEwMUE5MDAwMDUwNDA2MDQwNjA0MDUwNDA1MDQzM0RCOEFEODhBODc5NgorOjEwMUFBMDAwNkMxMkU2RkVDMUUzMDJFNENFQTgwNDc1MDlBODAyNzQzNAorOjEwMUFCMDAwMDNFOTJDRkVGOUMzNTA1M0U4Q0JGQzVCNThBODAyNzQzMQorOjEwMUFDMDAwMDNFOTFDRkVGOEMzMzNEQjhBRDg4QTg3NkMxMkU2RkU3MgorOjEwMUFEMDAwQzFFMzAyRTlEMEZCOUExQUM2MUEwMDAwMDIwMDA0MDAxMgorOjEwMUFFMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDBEOAorOjEwMUFGMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwQTAwMDIwMDA0MDBDNgorOjEwMUIwMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDBCNworOjEwMUIxMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwQzAwMDIwMDA0MDBBMworOjEwMUIyMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDA5NworOjEwMUIzMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwQTAwMDIwMDA0MDA4NQorOjEwMUI0MDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDA3NworOjEwMUI1MDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwRTAwMDIwMDA0MDA2MQorOjEwMUI2MDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDA1NworOjEwMUI3MDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwQTAwMDIwMDA0MDA0NQorOjEwMUI4MDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDAzNworOjEwMUI5MDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwQzAwMDIwMDA0MDAyMworOjEwMUJBMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDAxNworOjEwMUJCMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwQTAwMDIwMDA0MDAwNQorOjEwMUJDMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDAwODAwMDIwMDA0MDBGNworOjEwMUJEMDAwMDIwMDA2MDAwMjAwMDQwMDAyMDBDMzkwREExNDk0MTUwQgorOjEwMUJFMDAwNUMxM0U2MTNEQTFCREExQkU2MTNEQTFCOEI5NDY0MTIyMAorOjEwMUJGMDAwQzFFNjA0QTgwMTc0MzU1MDMzQzA4QUMyRTZGRUU0QTBGMQorOjEwMUMwMDAwODVDMDc0Mjc4QkQ4MkU4QTlGREExQTUyNTYyRThCQTgzRAorOjEwMUMxMDAwNDQwMDhCNTYyOEVDQTgwMTc1MEQ4ODg2QUQwMDI0MEU3MworOjEwMUMyMDAwOEFEODJFRkY5N0RDMUI1RTVBRUJDRDU4QTgwMjc0MzY3QgorOjEwMUMzMDAwODNDNjEwMzNDMDhBQzZFNkZFRTRBMDg1QzA3NDI3OEIzNQorOjEwMUM0MDAwRDgyRThBOUZEQTFBNTI1NjJFOEJBODQ0MDA4QjU2MjgxQgorOjEwMUM1MDAwRUNBODAxNzUwRDg4ODZBRDAwMjQwRThBRDgyRUZGOTc1QQorOjEwMUM2MDAwREMxQjVFNUFFQkNEQzM5MDMyRTQ4QkQ4OEJEMDJFOEEyRQorOjEwMUM3MDAwOUY5QTE5MkUyMjk3OTIxOTU2NTI4QUMzMjQwMzAzQzY5QgorOjEwMUM4MDAwODBFMzA0RDBFQjJFRkY5N0Q2MUE1ODVFQTk1NTAwNzU1NQorOjEwMUM5MDAwRDlDMzYwMUUwNjJCQzA4RUQ4QTE1QzEyRTZGRUU0MDBGQworOjEwMUNBMDAwMjJDNDc0MDgzM0Y2RThCRkZGRUJFRTkwRTQwNDA3RTRDNworOjEwMUNCMDAwMDQxRkI4MDA4MEJBMjJGRkVGNjFDRjkwNjAxRTA2MkI5MAorOjEwMUNDMDAwQzA4RUQ4QTE1RTEyRTZGRUU0MDAyMkM0NzQwOEJFMDRGMQorOjEwMUNEMDAwMDBFODk0RkZFQkVERTQwNDA3RTQwNDFGQjgwMDgwQkFDOQorOjEwMUNFMDAwMjJGRkVGNjFDRjkwNjAxRTA2MkJDMDhFRDhBMTVDMTI0MAorOjEwMUNGMDAwRTZGRUU0MDAyMkM0NzQxODMzRjZFODZCRkZBMTYwMTIxQworOjEwMUQwMDAwRTZGRUU0MDAyMkM0NzRFNUJFMDgwMEU4NUFGRkVCRERGRAorOjEwMUQxMDAwQTE2MDEyRTZGRUU0MDAyMkM0NzVFREU0MDQwN0U0MDRDOQorOjEwMUQyMDAwQTE1QzEyRTZGRUU0MDQxRkU0MDRCODAwODBCQTIyRkZCRQorOjEwMUQzMDAwRUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExNUUxMkU2RkUyQQorOjEwMUQ0MDAwRTQwMDIyQzQ3NDE5QkUwNDAwRTgxQ0ZGQTE2MjEyRTY3QworOjEwMUQ1MDAwRkVFNDAwMjJDNDc0RTRCRTBDMDBFODBCRkZFQkRDQTEzRgorOjEwMUQ2MDAwNjIxMkU2RkVFNDAwMjJDNDc1RURFNDA0MDdFNDA0QTE3NworOjEwMUQ3MDAwNUUxMkU2RkVFNDA0MUZFNDA0QjgwMDgwQkEyMkZGRUYxRQorOjEwMUQ4MDAwNjFDRjYwMUUwNjJCQzA4RUQ4QTE1QzEyRTZGRUU0ODBGNworOjEwMUQ5MDAwODRDNDc0MDgzM0Y2RTg1M0ZFRUJFRTkwQjgwMDgwQkFDMgorOjEwMURBMDAwMjJGRkVGMDcxRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTFDNworOjEwMURCMDAwNUUxMkU2RkVFNDgwODRDNDc0MDhCRTAyMDBFODJDRkVENQorOjEwMURDMDAwRUJFREI4MDA4MEJBMjJGRkVGMDcxRjYxQ0Y5MDYwMUVENQorOjEwMUREMDAwMDYyQkMwOEVEOEExNjAxMkU2RkVFNDgwODRDNDc0MDg4RAorOjEwMURFMDAwQkUwNDAwRTgwNkZFRUJFREI4MDA4MEJBMjJGRkVGMDc2NAorOjEwMURGMDAwMUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExNjIxMkU2RkUzNgorOjEwMUUwMDAwRTQ4MDg0QzQ3NDA4QkUwNjAwRThFMEZERUJFREI4MDA5MQorOjEwMUUxMDAwODBCQTIyRkZFRjA3MUY2MUNGOTA2MDFFMDYyQkMwOEU5NQorOjEwMUUyMDAwRDhBMTVDMTJFNkZFRTQwMDIyQzQ3NDE4MzNGNkU4Mzc0OQorOjEwMUUzMDAwRkVBMTYwMTJFNkZFRTQ4MDg0QzQ3NEU1QkUwNDAwRThGRQorOjEwMUU0MDAwQUFGREVCRERBMTYwMTJFNkZFRTQ4MDg0QzQ3NUVEQTE3RAorOjEwMUU1MDAwNUMxMkU2RkVFNDA0MDdFNDA0MUZCODAwODBCQTIyRkYyNworOjEwMUU2MDAwRUY2MUNGOTA2MDFFMDYyQkMwOEVEOEExNUUxMkU2RkVGOQorOjEwMUU3MDAwRTQwMDIyQzQ3NDE5QkUwNDAwRThFQ0ZEQTE2MjEyRTY3RAorOjEwMUU4MDAwRkVFNDgwODRDNDc0RTRCRTA2MDBFODVGRkRFQkRDQTFFMAorOjEwMUU5MDAwNjIxMkU2RkVFNDgwODRDNDc1RURBMTVFMTJFNkZFRTQwMworOjEwMUVBMDAwMDQwN0U0MDQxRkI4MDA4MEJBMjJGRkVGNjFDRjYwMUU3MAorOjEwMUVCMDAwMDYyQkMwOEVEOEExNUMxMkU2RkVFNDgwODRDNDc0MThBMAorOjEwMUVDMDAwMzNGNkU4MjdGREExNjAxMkU2RkVFNDAwMjJDNDc0RTVDMworOjEwMUVEMDAwQkUwODAwRTg5MkZERUJEREExNjAxMkU2RkVFNDAwMjIwMAorOjEwMUVFMDAwQzQ3NUVERTQwNDA3RTQwNDFGQjgwMDgwQkEyMkZGRUZENAorOjEwMUVGMDAwNjFDRjYwMUUwNjJCQzA4RUQ4QTE1RTEyRTZGRUU0ODA4NAorOjEwMUYwMDAwODRDNDc0MTlCRTAyMDBFOEUyRkNBMTYyMTJFNkZFRTQ5OQorOjEwMUYxMDAwMDAyMkM0NzRFNEJFMEMwMEU4NERGREVCRENBMTYyMTJBQgorOjEwMUYyMDAwRTZGRUU0MDAyMkM0NzVFREU0MDQwN0U0MDQxRkI4MDBGMworOjEwMUYzMDAwODBCQTIyRkZFRjYxQ0Y5MDYwMUUwNjJCQzA4RUQ4QTEyMQorOjEwMUY0MDAwNUMxMkU2RkVFNDgwODRDNDc0MTgzM0Y2RTg5REZDQTFCQworOjEwMUY1MDAwNjAxMkU2RkVFNDgwODRDNDc0RTVCRTA0MDBFODhDRkNGNAorOjEwMUY2MDAwRUJEREExNjAxMkU2RkVFNDgwODRDNDc1RUQwNzFGQjhDNgorOjEwMUY3MDAwMDA4MEJBMjJGRkVGNjFDRjYwMUUwNjJCQzA4RUQ4QTE3MQorOjEwMUY4MDAwNUUxMkU2RkVFNDgwODRDNDc0MTlCRTAyMDBFODVDRkNDNAorOjEwMUY5MDAwQTE2MjEyRTZGRUU0ODA4NEM0NzRFNEJFMDYwMEU4NEI0RAorOjEwMUZBMDAwRkNFQkRDQTE2MjEyRTZGRUU0ODA4NEM0NzVFRDA3MUY0MQorOjEwMUZCMDAwQjgwMDgwQkEyMkZGRUY2MUNGOTA2MDFFMDYyQkMwOEU2MgorOjEwMUZDMDAwRDg5MDJBQzBFNkZFRTRDRUE4MDE3NDE0MzNEQkU4RDUyRAorOjEwMUZEMDAwRjZFQkVGOTBCODAwODBCQTIyRkZFRjA3MUY2MUNGOTBCOQorOjEwMUZFMDAwRjYwNjA1MDEwMTc1RURCMDAxRTZGRUU0Q0VBODAxNzQyOAorOjEwMUZGMDAwRTNCQjA0MDBFOEFGRjZFQkM5OTA2MDFFMDYyQkMwOEU3MQorOjEwMjAwMDAwRDg5MEZCOTBGQTJBQzBFNkZFRTRDRUE4MDI3NDEzMzNGRgorOjEwMjAxMDAwREJFOENDRjhFQkVDQjgwMDgwQkEyMkZGRUYwNzFGNjFEOQorOjEwMjAyMDAwQ0Y5MEE4MDQ3NEYwMzNEQkU4NUJGN0VCRDU5MDYwMUUyQgorOjEwMjAzMDAwMDYyQkMwOEVEODkwRkI5MEZBQjAwMUU2RkVFNENFQTg0NQorOjEwMjA0MDAwMDI3NDE1QkIwNDAwRTg5N0Y4RUJFQjkwQjgwMDgwQkE3NworOjEwMjA1MDAwMjJGRkVGMDcxRjYxQ0Y5MEE4MDQ3NEYwQkIwNDAwRThEMworOjEwMjA2MDAwMjRGN0VCRDI2QTAwMUZDNjA2OTMxMjA5OUMwRUU4NkI5OAorOjEwMjA3MDAwRjI5MDZBMDAxRkM2MDY5MzEyMjk5QzBFRTg1REYyOTA0QQorOjEwMjA4MDAwNzIyMDcyMjA3MjIwQ0UxRDkyMUNFNjFDMUExRTcyMjAzNQorOjEwMjA5MDAwODIxREFFMUUzODFGNzIyMDgyMUQ3MjIwNzIyMDM4MUZEMgorOjEwMjBBMDAwNzIyMDcyMjA3MjIwRjQxREJDMUMzNDFENjQxRTcyMjAyQworOjEwMjBCMDAwQTgxREYyMUU3ODFGNzIyMEE4MUQ3MjIwNzIyMDc4MUZBMgorOjEwMjBDMDAwRkNCOTQwMDA4Q0NCQjg2NDIwMkJGRkFCOTNBQjkzRTIwMAorOjEwMjBEMDAwRkFDNzA2NEMwMEE4MTE4MzNFNDQxMjAwNzUyMEM3MDZCQgorOjEwMjBFMDAwM0MwMDA4NEJDNzA2MzAwMEJBMUZDNzA2MzQwMEZBMUY3MQorOjEwMjBGMDAwRjYwNjA1MDEwMTc1MDZDNzA2MzgwMDJFMjBDM0M3MDY3RgorOjEwMjEwMDAwM0MwMDU2NEIzM0RCOEExRTU0MTJDMUUzMDIwMjFFNTZCQQorOjEwMjExMDAwMTIyRThCODc4MDIwQTMzMDAwOEExRTU1MTJDMUUzMDI0NQorOjEwMjEyMDAwMDIxRTU3MTIyRThCODdBMDIwQTMzNDAwQzM4Qjg2OUVERAorOjEwMjEzMDAwMDBFNkZFODZDNEU2RDBDMzhCODY5RTAwRTZGRTMzRDI2MAorOjEwMjE0MDAwOEFENEMzNTFCOTEwMjdFNDBBOTA5MDg0QzA3NDA1RTI4MAorOjEwMjE1MDAwRjY1OUY5QzM1OUY4QzM4NEMwNzgxRTUxOEFFODhBQzg3MQorOjEwMjE2MDAwQjgwMTAwRDNFMDA5ODY5ODAwM0FBRUEwMDA1OTc1MTA3NgorOjEwMjE3MDAwRThBOUU1ODM0RTI2MDJGOUMzOTg4OTg2OTgwMEVCRjAxQQorOjEwMjE4MDAwRjhDMzg0QzA3ODEyNTE4QUUwOEFDOEI4MDEwMEQzRTA0RAorOjEwMjE5MDAwNTlGN0QwMjE4Njk4MDBDM0M3ODY5ODAwMDAwMEMzODNGMgorOjEwMjFBMDAwQzIwNDhBODZBNjAwMEMwNEVFODNFQTA0QzNFODkzRkYwNworOjEwMjFCMDAwNzIwNEIwODJFNjBBQzM4QjQ2MjZBOEZENzQxMThBODY5MworOjEwMjFDMDAwQTUwMEE4MDY3NDA4MjRGOTg4ODZBNTAwRTYwQ0MzRjZDNQorOjEwMjFEMDAwQzQwMTc0MEE4QTg2QTUwMDI0RkIwQzAyRUIwQ0E4MDIzOQorOjEwMjFFMDAwNzUwRjhBODZBNTAwMjRGRDBDMDQzQTg2QTUwMDc1RDhEMworOjEwMjFGMDAwQzM4QTg2QTUwMEVCQ0ZFNEQ4MzNEQjhBRDhDMEVCMDREMgorOjEwMjIwMDAwMkU4QTlGNjYxNzg4OUVBOTAwOEI1RTI2ODBFMzNGRjY4NAorOjEwMjIxMDAwQzcwNDc0MDdBODEwNzUwMzgwQ0I0MEY2QzcwODc0MDc3RAorOjEwMjIyMDAwQTg4MDc1MDM4MENCNDA4ODVFMjY4QTg2QTUwMEY2QzMwOQorOjEwMjIzMDAwRkQ3NDBEQTgwNjc0MDgyNEY5ODg4NkE1MDBFNjBDQzM3MQorOjEwMjI0MDAwRjZDNzAxNzQwNDBDMDJFQkYwRjZDMzAyNzVFOTBDMDQ0NgorOjEwMjI1MDAwRUJFN0M0MDRDNDA0ODUwNDU5MDQ0ODA0NDEwNEMzMDNERgorOjEwMjI2MDAwODIwMzQxMDM4MjAyNTcwMjQxMDI4MjAxNDEwMTgyMDAzRQorOjEwMjI3MDAwNDEwMDRFMDJBRDAxNTcwMTJEMDAyQjAwMjcwMDIxMDAyNworOjEwMjI4MDAwMTYwMEY0MDRGNDA0QTMwNDZGMDQ1QjA0NTEwNEY0MDM4MworOjEwMjI5MDAwQTMwMzUxMDNBMzAyNkQwMjUxMDJBMzAxNTEwMUEzMDA0NAorOjEwMjJBMDAwNTEwMDYyMDJEOTAxNkQwMTM4MDAzNjAwMzEwMDI5MDA2OQorOjEwMjJCMDAwMUIwMDUxNTdCRjAyMDBFQjBGOTA1MTU2QkYwMTAwRUJCRQorOjEwMjJDMDAwMDc5MDUxNTZCRjAzMDA5MDNDMTk3NjAyQjAxNzk4OEJDNworOjEwMjJEMDAwRjA4QTgyQzQwMDJBRTQ4QkYwODNGRTE4NzM0NkQxRTZBQworOjEwMjJFMDAwMkU4QjhDNTIyMkY3NDYzODgwMDA3NDA1MkU4QjhDODIwMAorOjEwMjJGMDAwMjJGN0M3MDIwMDc0MTIzQjhFOTQwMDc0MEM4OThFOTRFRQorOjEwMjMwMDAwMDA4QUM1RTZFQzhBQzFFNkU0RjdDNzAxMDA3NDEyM0IxNworOjEwMjMxMDAwOEU5NjAwNzQwQzg5OEU5NjAwOEFDNUU2Rjg4QUMxRTYwRQorOjEwMjMyMDAwRjA1RTU5QzM3NzA2OEI4RThFMDBFQkM1OEI4RTkwMDBDNgorOjEwMjMzMDAwRUJCRkQ1MDNGNjAwM0UwMDEwMDAwNDAwQ0EwNDMzMDFEMQorOjEwMjM0MDAwNEQwMDE0MDAwNTAwMDEwMzA1MDcwOTAwMDEwMjAzMDQwNAorOjEwMjM1MDAwODA4NDFFMDBBMDI1MjYwMDAwMDA2MDhCRjAzM0ZGMkUzNQorOjEwMjM2MDAwQTE1MDIzMkU4QjE2NTIyM0JCMzIyM0Y3NDYzODgwMDAxMAorOjEwMjM3MDAwNzQwQzJFQTE1NDIzMkU4QjE2NTYyM0JCM0MyM0I5MDU3NworOjEwMjM4MDAwMDAyRTNCMzE3MzBBNDc0N0UyRjdCOEZGRkZFQjFEOTA4MQorOjEwMjM5MDAwRDFFRjJFOEE4RDQ2MjMyQUVERDFFQUQxRDhFMkZBRjc4MQorOjEwMjNBMDAwRjYwNTAyMDBDMUU4MDIyRThBQTU0QjIzMkVBMzU4MjM2RQorOjEwMjNCMDAwNjEyRUExNTgyM0MzMDgwMDIwMDA4MDAwMDAwMjYwMDk5QworOjEwMjNDMDAwMDgwMDIwMDA4MDAwMDAwMjAwMDgwMDAwMDEwMDAyMDA1OAorOjEwMjNEMDAwMDMwMDA0MDA1MjU2NTc4NUMwNzQwNTNEMDEwOTc2MDM3OQorOjEwMjNFMDAwQjgwMTA5QkY1QjAxRjc0NjM4ODAwMDc0MDNCRkIyMDEzMgorOjEwMjNGMDAwMzNGNjJFM0I4NEI2MjM3NjA0NDY0NkVCRjVGN0U3MkVGQworOjEwMjQwMDAwOEJCQ0MwMjMwM0M3ODNEMjAwRDFFN0Y3RjcyRThBQTQ4MQorOjEwMjQxMDAwQ0EyMzVGNUU1QUMzRTQzRTgwQkVDMzAwMDM3NTBDRjc1NworOjEwMjQyMDAwNDY3QTIwMDA3NDA1MEM4MEU2M0VDMzI0N0ZFNjNFQzM1NgorOjEwMjQzMDAwMjQwMzg4ODZDMzAwOEFFMEU0MTAyNEZDMEFDNEU2MTA2MgorOjEwMjQ0MDAwODA4RUExMDA0MkU4Q0VGRkMzOTA1NjhCRjA4M0U2MDc1MgorOjEwMjQ1MDAwRDFFNjJFRkZBNDU4MjQ5MDY4MjQ2QzI0NzAyNDc0MjRBMAorOjEwMjQ2MDAwNzgyNDg3MjQ4NzI0ODcyNEI0MDBFQjBFQjRDMEVCMEFCOQorOjEwMjQ3MDAwQjQ0MEVCMDZCNDIwRUIwMkI0QTBFNDEwMjQxRjBBQzQ1RAorOjEwMjQ4MDAwRTYxMDgwOEVBMTAwNDI1RUMzOTAzQzAyNzcxMjhBRTA4MworOjEwMjQ5MDAwRTQxMDI0RjNDMEU0MDIwQUM0RTYxMDgwOEVBMTAwNDJENgorOjEwMjRBMDAwQzM5MDhCNUUzODg0QzA3NDFGM0MwMjc0MjA4M0NCMDhCOQorOjEwMjRCMDAwOEI0NjJFM0I0NjNDNzcwQ0U4ODhGQzcyMDdCMDI0RTYzRQorOjEwMjRDMDAwMEE4M0NCMTA4OTVFMzhDMzgzRTNGN0VCRjdGN0MzMTBCOQorOjEwMjREMDAwMDA3NEY1RTg2REZDNzJFQzhBODZDMDAwRTYzOEIwMjMyMworOjEwMjRFMDAwRTYwQUVCRTA4QjVFMzg4QjQ2MkUzQjQ2M0NFNEQ4NzcyMQorOjEwMjRGMDAwMEIyNEZFODBDQjEyRTZEODg5NUUzOEMzMEMwMTgwQ0I1QQorOjEwMjUwMDAwMDJFQkYzNTAzM0RCQzFFODA0MjUwRjBGOEFEODJFOEE4MworOjEwMjUxMDAwODc2NjE3OEFEQzJFOEFBNzY2MTcwOTQ2M0U1OEMzNTA3RAorOjEwMjUyMDAwMzNEQkMxRTgwNDI1MEYwRjhBRDgyRThBODc2NjE3OEEwNQorOjEwMjUzMDAwREMyRThBQTc2NjE3RjdEMDIxNDYzRTU4QzM4QjQ2M0U0RAorOjEwMjU0MDAwMzNEQjhBRDgwQURDMkU4QTg3NzYxN0U2MkM4QUUwRTQwOQorOjEwMjU1MDAwMkEyNDBGMEFDNEU2MkE4QTg2QTUwMDg0RTQ3NTBEQThGOQorOjEwMjU2MDAwODA3NDExMjQ3Rjg4ODZBNTAwRTYwQ0MzQTg4MDc1MDRCQQorOjEwMjU3MDAwMEM4MEVCRjFDMzFFNjAzM0M5MzNEMjMzRjY4RUQ5OEQ5NAorOjEwMjU4MDAwQkVGRDAwNTc4QjA1ODRDMDc0MTY4QkQxNDI4QkZFNEY2NQorOjEwMjU5MDAwNzgwOTM4QTNFNDAwNzQwODRGNzlGNzg4QTJFNDAwNDY2QworOjEwMjVBMDAwNUY4M0M3MDk0MTgzRjkxMDcyRDk4OUI2ODYwMDg5OTY3RAorOjEwMjVCMDAwODQwMDYxMUZDMzUzQzc0NjY2MDAwMDhCNDY2NEE5NDA3MAorOjEwMjVDMDAwMDA3NDBEQjMwMEE5ODAwMDc0MDJCMzdGODg5RUMxMDAxRgorOjEwMjVEMDAwMzJEQkE5MDIwMDc0MDM4MENCNDBBOTAwNDA3NDAzODA2MQorOjEwMjVFMDAwQ0IwMkE5MDA4MDc0MDM4MENCMDFBOTMwMUU3NDAzODA0NAorOjEwMjVGMDAwQ0JCQ0E5MDAyMDc0MDM4MENCMDhBOTA0MDE3NDAzODAxQworOjEwMjYwMDAwQ0IxMEE5MDgwMDc0MDM4MENCMjA4ODlFQzIwMDVCQzM1NgorOjEwMjYxMDAwMDY1MTU3NTAxNjA3OERCRUM0MDBCOTFGMDAzM0MwQUExQgorOjEwMjYyMDAwNDBFMkZDOEI4NjkyMDA4OTg2OEUwMDg5ODY5MDAwNTg1NQorOjEwMjYzMDAwNUY1OTA3QzNFNEQ4QzBFODA0NTMyNTBGMDA4QkQ4MkU5OAorOjEwMjY0MDAwOEE4NzY2MTc4ODg2QTkwMDVBQzMwODg2QUMwMEM2ODZBMgorOjEwMjY1MDAwQkEwMDAxQjAwRUU4RUFFOUMzQUQzNkEzQjQxM0FEMzY1MworOjEwMjY2MDAwQTNCNjEzQUQzNkEzQjgxMzgzRTkwNjM2RjcwNkI2MTMzRgorOjEwMjY3MDAwMEYwMEMzOEE0NjI2Rjc0NjQ4ODAwMDc0MDIwQzEwODg3MworOjEwMjY4MDAwODZCRDAwMzJDMDgzN0UxQTAwNzUwRThCNUU0MDQzODA4QgorOjEwMjY5MDAwRTNGRTNCNUUwODc1MDIwQzAxODM3RTNBMDA3NTBEMUU1OQorOjEwMjZBMDAwQzU1RTE0OEIxRjFGODVEQjc1MDIwQzAyRjc0NjM4MTBDMAorOjEwMjZCMDAwMDA3NDAyMEMwNDhCNUU3QUY3QzMwMjAwNzQwMjBDMDhFQgorOjEwMjZDMDAwRjdDMzA0MDA3NDAyMEMxMEY3QzMwODAwNzQwMjBDMjA1NgorOjEwMjZEMDAwRjdDMzQwMDA3NDAyMEM0MDg4ODZCRjAwQzM5MDZBMDBCNAorOjEwMjZFMDAwMUZDNjA2OTMxMjBEOUMwRUU4RjFFQjkwQjAwMkU2REFERAorOjEwMjZGMDAwRjhDMzMzQzBFNkRBRjhDM0IwMDFFNkQ4RjhDMzMzQzA5NAorOjEwMjcwMDAwRTZEOEY4QzNCMEZGRTg0RUZBRThBMUZBRjhDM0FDNDkzRQorOjEwMjcxMDAwRThBRkZCRjhDMzkwQUM0OUU4MTVGREY4QzM5MEFDNDlBRAorOjEwMjcyMDAwRTg2N0ZERjhDMzkwQUM0OUU4MUZGREY4QzM5MEFDNDlEOQorOjEwMjczMDAwRTYzNEY4QzNBQzQ5RTYzNkY4QzNBQzQ5M0MwMjc3MUYyRgorOjEwMjc0MDAwODRDMDc1MURFNDE0MjRFRkU2MTRFNDEyMjQzRkU2MTI1RAorOjEwMjc1MDAwRTQxNkE4MDQ3NDA5RThFQUY5NzIwNEIwMThFNjBBRjg2NQorOjEwMjc2MDAwQzM4QUUwRTQxNDBDMTBFNjE0RTQxMjBDQzBGNkM0MDFCMQorOjEwMjc3MDAwNzQwMjI0N0ZFNjEyRjhDM0FDNDlFODI1RkRGOEMzOTA0MworOjEwMjc4MDAwQjgwMDQwRTg3REZERThCNEZERThBOEZFQjAwMUU4Qjk3NgorOjEwMjc5MDAwRkVGOEMzOTBCODAwNDBFODg1RkRFOEEwRkRGOEMzOTBCRQorOjEwMjdBMDAwQjgwMDEwRTg1REZERTg5NEZERTg4OEZFQjAwOEU4OTlGRgorOjEwMjdCMDAwRkVGOEMzOTBCODAwMTBFODY1RkRFODgwRkRGOEMzOTAwRQorOjEwMjdDMDAwQjgwMDgwRTgzREZERTg3NEZERTg2OEZFQjAwMkU4NzlGNQorOjEwMjdEMDAwRkVGOEMzOTBCODAwODBFODQ1RkRFODYwRkRGOEMzOTBCRQorOjEwMjdFMDAwQjgwMDIwRTgxREZERTg1NEZERTg0OEZFQjAwNEU4NTlCMworOjEwMjdGMDAwRkVGOEMzOTBCODAwMjBFODI1RkRFODQwRkRGOEMzOTAzRQorOjEwMjgwMDAwQUM0OUU4NDgxNEU0M0MyNEU3MEFDNEU2M0NGOEMzOTAyOQorOjEwMjgxMDAwQjhGQzNCODk0NjdDRTQzQzBDMThFNjNDRjhDM0U0MTI2NworOjEwMjgyMDAwMEMwMkU2MTJGOEMzRTQxMjI0RkRFQkY2RThCNUZDRjg1RQorOjEwMjgzMDAwQzM5MDgzNjYzOEZERjhDM0FDNDlBODAxNzQwNjgzNEU4MworOjEwMjg0MDAwN0EyMEVCMDQ4MzY2N0FERkU4Q0JGQkY4QzM5MDhBODZCNAorOjEwMjg1MDAwQTUwMDBDMDIyNEZCODg4NkE1MDBFNjBDODE0RTI2MDEwQgorOjEwMjg2MDAwMjBBQzQ5MzJFNDg5NDY2RTgzNEU0ODA4NDk0NkY5QzM5NAorOjEwMjg3MDAwOEE4NkE1MDAwQzAyMjRGQjg4ODZBNTAwRTYwQzgxNEUwMgorOjEwMjg4MDAwMjYwMTIwQUNCNDBBRjZFNEVCRDhFOEZBMTNFNDNDMjRDMQorOjEwMjg5MDAwRjgwQUM0RTYzQ0Y4QzM5MEFENDk0OTg5NDY2NEE5MDFFOQorOjEwMjhBMDAwMDA3NDFCOEJEODgzRTNGQTc1MUFBOTA0MDA3NDBGRTQzMworOjEwMjhCMDAwM0UwQzAyRTYzRUI4Mzg0NDg5NDY2MkY4QzM5MEU0M0VENgorOjEwMjhDMDAwMjRGQ0VCRUZFNDNFMjRGQ0U2M0VFOEU4RkNCOEFBNDAzQQorOjEwMjhEMDAwRUJFNkU4NkVGODcyMDVCMDE4RTYwQUY4QzM5MEFDNDk2QQorOjEwMjhFMDAwRThDRkY5RjhDMzkwQUM0OUU4Q0ZGOUY4QzM5MEU4NjhBRAorOjEwMjhGMDAwRkQ3NTA2MzJDMEU2REFGOEMzQjAwMkU2REEzNkEwQjRGNworOjEwMjkwMDAwMTMyNDEwMzQxMEU4MTYwMTM2QTFCNDEzQTkwMTAwNzQ4MQorOjEwMjkxMDAwMDVFOEZDRkVFQjBFQTkwMjAwNzQwNDMyQzBFQjAyQjAyNQorOjEwMjkyMDAwMDFFOERFRkUzNkExQjQxM0U4QjUxM0U0M0MyNEY4MEE0RQorOjEwMjkzMDAwQzRFNjNDMzZBMUI0MTNDMUU4MDUyNTAxMDBFOEZBRkU1RgorOjEwMjk0MDAwMzZBMEI1MTMyNDEwRTg1OUZCMzJDMDM2OEEyNkI1MTNEOQorOjEwMjk1MDAwRjZDNDA0NzQwOUZFQzBGNkM0MDg3NDAyRkVDMEU4REJDNQorOjEwMjk2MDAwRkQzNkExQjYxMzI1MEYwMEU4NTdGOTM2QTFCNjEzQzFGRAorOjEwMjk3MDAwRTgwNDI1MDMwMEU4QjhGQTM2QTFCNjEzQzFFODA1MjUzNgorOjEwMjk4MDAwMDIwMEU4MDVGQjM2QTFCNjEzRjZDNDAxNzUwNDMyQzA5NworOjEwMjk5MDAwRUIwOTgwRTQwMkQwRUNCMDAyMkFDNEU4QUNGQTM2RjZDNworOjEwMjlBMDAwMDZCNzEzNDA3NDA1RTg4M0ZFRUIwM0U4ODRGRTM2RjZCMQorOjEwMjlCMDAwMDZCNzEzMjA3NDA1RTg2NUZFRUIwM0U4NjhGRUY4QzM2QworOjEwMjlDMDAwRTQxMjBDMDFFNjEyRjhDM0U0MTIyNEZFRUJGNkU0MTQ2MAorOjEwMjlEMDAwMjRGMDBDMDVFNjE0RTQyQTI0RjAwQzA2RTYyQUY4QzNEOQorOjEwMjlFMDAwRTQyQTI0RjBFNjJBRTQxNDI0RjAwQzA3RTYxNEY4QzNFMQorOjEwMjlGMDAwQUQ0OTQ5RTg2NEY5ODk4NjhFMDBGOEMzQUQ0OTQ5RThENAorOjEwMkEwMDAwNThGOTg5ODY5MDAwRjhDMzgzNEUyNjA0RThBOEY3RjhBMQorOjEwMkExMDAwQzM5MDgzNjYyNkZCRTg5RUY3RjhDMzkwQUM0OTg0QzA1OAorOjEwMkEyMDAwNzUwREU0MTAyNEVGRTYxMDgwOEVBMTAwNDJGOEMzRTQ5NworOjEwMkEzMDAwMTAwQzEwRUJGMTkwQUM0OTNDMDI3NjAyMzJDMEMwRTBDMQorOjEwMkE0MDAwMDRBODIwNzQwMjBDMDgyNDE4OEFFMEU0MTIyNEU3MEE3RgorOjEwMkE1MDAwQzRFNjEyODA4RUExMDA0NEY4QzNBQzQ5ODg4NkMwMDA0OQorOjEwMkE2MDAwRjhDM0FDNDlFNjNBRjhDM0FDNDk4NEMwNzQwOEU0MTIzMAorOjEwMkE3MDAwMEMwNEU2MTJGOEMzRTQxMjI0RkJFQkY2QUM0OUU4RDZFQQorOjEwMkE4MDAwRjY3MzAzRTgyN0Y3RjhDM0U0MTJBODAyNzQwNDI0RkRFMAorOjEwMkE5MDAwRTYxMkI4RjAwMEU4ODdGQTgxNjYyNkZGRjNFODU3RjdGOAorOjEwMkFBMDAwRTg5QUZBRjhDMzkwQjg4MDAwRTg1N0ZBODA0RTI3MDhGMQorOjEwMkFCMDAwRTg0NEY3RTg4N0ZBRjhDM0I4ODAwMEU4NjFGQTgxNjY2RAorOjEwMkFDMDAwMjZGRkY3RTgzMUY3RTg3NEZBRjhDMzkwQjgxMDAwRTg4OQorOjEwMkFEMDAwMzFGQTgwNEUyNzA0RTgxRUY3RTg2MUZBRjhDM0I4MTAwRgorOjEwMkFFMDAwMDBFODNCRkE4MTY2MjZGRkZCRTgwQkY3RTg0RUZBRjhCMAorOjEwMkFGMDAwQzM5MDMzQzBBQzQ5M0MwMTczMDRCMDAxRUIwNjNDMENGRAorOjEwMkIwMDAwNzYwMkIwMEM4OTQ2MUNGOEMzOTA4MTRFMjYwMDIwOEFCQworOjEwMkIxMDAwODZBNTAwMEMwMjI0RkI4ODg2QTUwMEU2MEM4MzRFMjZDMQorOjEwMkIyMDAwMDFGOEMzOTA4MTRFMjYwMDQwOEE4NkE1MDAwQzAyODhEOQorOjEwMkIzMDAwODZBNTAwRTYwQ0Y4QzM5MEFDNDk1MEU4MDVGNjU4NzIzQgorOjEwMkI0MDAwMDhFNjM4QjAyM0U2MEFGOEMzRjlDMzkwQUM1MEFERTgwNAorOjEwMkI1MDAwODJGODVBRjZDMjAxNzQxMjM5ODY5NjAwNzQwQzg5ODY3RQorOjEwMkI2MDAwOTYwMEU2RjA4NkUwRTZGODg2RTBGNkMyMDI3NDEwMzlEOAorOjEwMkI3MDAwODY5NDAwNzQwQTg5ODY5NDAwRTZFNDg2RTBFNkVDODM5NQorOjEwMkI4MDAwRTkwM0MzOTBFNDE2ODg4NkJDMDBFOEU2RkEzM0RCRTQ4OAorOjEwMkI5MDAwMENBODA2NzQwMzgwQ0IwMUE4MTA3NDAzODBDQjAyQTg5NAorOjEwMkJBMDAwODA3NDAzODBDQjA0RTQxMjhBRTAyNDE4MEFEOEU0REFBMworOjEwMkJCMDAwRjZDNDAyNzQwN0E4NDA3NTAzODBDQjIwQTgwMjc1MDlFQgorOjEwMkJDMDAwRTQyQUE4MEY3NDAzODBDQjQwRjc0NjM4MDIwMDc0MDk0QQorOjEwMkJEMDAwRTREOEE4MDE3NTAzODBDQjgwODg5RUJFMDBGRTg2QjQzMQorOjEwMkJFMDAwMDBCMDBBRTg1Q0U0RjhDM0FDNDkzQzAyNzQ0MTc3MUZDQQorOjEwMkJGMDAwNTBFODRGRjU1ODcyMEM4NEMwNzQwQUIwMTJFNjBBODA4RgorOjEwMkMwMDAwNEUzODAxRjhDM0IwMTFFNjBBODA2NjM4RkVGOEMzOEI2RgorOjEwMkMxMDAwNDYzODI1RkZGNzg5NDYzOEE5MDAwNDc1RTY4QTg2QTU1NworOjEwMkMyMDAwMDBBODEwNzVERTBDMTA4ODg2QTUwMEU2MENGOEMzODE5QworOjEwMkMzMDAwNEUzODAwMDg4QTg2QTUwMEE4MTA3NEM3MjRFRkVCRTc3OQorOjEwMkM0MDAwQUQ0OTQ5M0MwMTcyMTEzQzBDNzcwRDUwOEFFMEU0MTQwNworOjEwMkM1MDAwMjVGMDBGMEFDNEU2MTQ1ODhBQzQ4NEMwNzQwMkU2NDIwMAorOjEwMkM2MDAwRjhDM0U4Q0ZGOUZFODZCOTAwQjAwRUU4RDRFM0Y4QzNBNAorOjEwMkM3MDAwM0E4NkFGMDA3NDFGODg4NkFGMDA4QUUwODBDMjA2QjAzMworOjEwMkM4MDAwQkZFRTgwRUEwMjhBQzRFRThBODZBODAwODBDMjAyRUUwNQorOjEwMkM5MDAwODBFQTA2OEFDNEMzOEI0NjNFODVDMDhBODZBNTAwNzQzNgorOjEwMkNBMDAwMTJBODA4NzUwRDBDMDg4ODg2QTUwMDgwQzIwMkVFODA2NworOjEwMkNCMDAwRUEwMkMzQTgwODc0RkIyNEY3RUJFQzhCNDYyNjg0QzAxOQorOjEwMkNDMDAwNzQxNjhBODZBNTAwQTgwMjc0MEQyNEZEODg4NkE1MDBDNgorOjEwMkNEMDAwODNDMjAyRUU4M0VBMDJDMzhBODZBNTAwQTgwMjc1RjdDMgorOjEwMkNFMDAwMEMwMkVCRTg1MjgzQzIwQ0VDQzBFODA0ODg4NkE5MDAxMQorOjEwMkNGMDAwOEI1RTI2ODBFMzNGRjZDNzA0NzQwN0E4MDg3NTAzODAzRgorOjEwMkQwMDAwQ0I0MEY2QzcwODc0MDdBODAyNzUwMzgwQ0I4MDg4NUVBNQorOjEwMkQxMDAwMjY4QTg2QTUwMDg0REI3NDEwQTgwMjc0MEEyNEZEODgyNAorOjEwMkQyMDAwODZBNTAwODNFQTBBRUU1QUMzQTgwMjc1RkEwQzAyRUJFNAorOjEwMkQzMDAwRUU5MEZGRkYwMDQ4MDAzMEJBMjBDNDFBMDAxODAwMTJCRAorOjEwMkQ0MDAwMDAwQzAwMDYwMDAzMDAwMjgwMDFDMDAwNjAwMDMwMDA5QgorOjEwMkQ1MDAwMTgwMENEMDEwMDAxODAwMDEwMDAxMDAwMEUwMDBDMDBEMgorOjEwMkQ2MDAwMDgwMDAwMDAwMDAwMDYwMDA0MDAwMzAwMDIwMDAxMDA0QgorOjEwMkQ3MDAwNTI1MTU2M0MxRTc3NDc5ODhCRjA4QTgyQzQwMDMyRTQ0OQorOjEwMkQ4MDAwODNGRTE4NzQzRDgzRkUxOTc0M0U4M0ZFMUU3NzJGRDE5NworOjEwMkQ5MDAwRTYyRThCOEMzMjJEM0I4RTk0MDA3NDIyODk4RTk0MDAwQgorOjEwMkRBMDAwODNDMjA2OEE4NkE4MDA4QUUwMEM4MEVFODNFQTA2OEEzRgorOjEwMkRCMDAwQzFFRTgzQzIwMjhBQzVFRTgzQzIwNDhBQzRFRTVFNTlBNAorOjEwMkRDMDAwNUFDMzhCOEU4RTAwRUJDRThCOEU5MDAwRUJDODUyNTE4NworOjEwMkREMDAwM0QwNTAwNzcwM0I4MDUwMDhCQzhCQTAyMDBCODAwRDBFMworOjEwMkRFMDAwRjdGMTA1MDEwMEQxRTg1OTVBQzM4QjQ2N0FBODIwNzQzRgorOjEwMkRGMDAwMEI4MEJFQzMwMDAzNzUwNDBDMDFFQjAyMjRGRTg5NDY2MAorOjEwMkUwMDAwN0FDMzI0MDM4ODg2QzMwMDhBQTZBODAwOEFEQzgwRTRFQgorOjEwMkUxMDAwRkMwQUM0M0FDMzc0MEI4ODg2QTgwMDgzQzIwNkVFODNGQQorOjEwMkUyMDAwRUEwNkU4QzVGRkMzMDAwODE4MzgyODkwM0MwNDc3MjM1OQorOjEwMkUzMDAwMzJFNDhCRDgyRThBODcyNjJFOEFBNkE4MDA4QURDODBDOAorOjEwMkU0MDAwRTRDNzBBQzQzQUMzNzQwQjg4ODZBODAwODNDMjA2RUU5RQorOjEwMkU1MDAwODNFQTA2QzM4NEMwNzQwMkIwMDQ4QUE2QTgwMDhBREM5MAorOjEwMkU2MDAwODBFNEZCMEFDNDNBQzM3NDBCODg4NkE4MDA4M0MyMDZCOAorOjEwMkU3MDAwRUU4M0VBMDZDMzkwOEI1RTM4ODRDMDc0MzQzQzAyNzRERgorOjEwMkU4MDAwM0I4QTg2QUYwMDBDMDRFOEU2RkQ4QjQ2MkUzQjQ2M0NCMQorOjEwMkU5MDAwNzcxQkY3QzMwMDA0NzUxNTgxQ0IwMDA0ODNDMjAyOEEzNworOjEwMkVBMDAwODZBNTAwMjRGQTg4ODZBNTAwRUU4M0VBMDI4OTVFMzhBQQorOjEwMkVCMDAwQzM4QTg2QUYwMDI0RkJFOEI2RkRFQkYxRjdDMzEwMDAzMAorOjEwMkVDMDAwNzRFRkVCRUQ4M0MyMENFQzgzRUEwQ0MwRTgwNDg4ODY1NworOjEwMkVEMDAwQTkwMEMzOTA4QTg2QTcwMDBDMDE4ODg2QTcwMDhCREExOAorOjEwMkVFMDAwODBDMjA4RUU4QkQzRjhDMzhBODZBNzAwMjRGRUVCRUFFMworOjEwMkVGMDAwOEE4NkE3MDAwQzAyRUJFMjhBODZBNzAwMjRGREVCREFBMworOjEwMkYwMDAwQjBGRkU4NTJGMkU4OTdGMkY4QzNBQzQ5RTg2MUZFRjg4NgorOjEwMkYxMDAwQzM5MEFDNDlFOEVCRkVGOEMzOTBBQzQ5RTgzNUZGRjg0NAorOjEwMkYyMDAwQzM5MEFDNDlFODA1RkZGOEMzOTA1MjgzQzIwNkIwQkYxNgorOjEwMkYzMDAwRUU1MjgzQzIwMkFDNDlFRTVBOEE4NkE4MDBFRTVBRjhENQorOjEwMkY0MDAwQzM5MDUyODNDMjA2QjBCRkVFNTI4M0MyMDZFQkU2OTAzNgorOjEwMkY1MDAwQUM0OTNDMDI3NzBEODRDMDc1MEI4QTg2QUYwMDI0RkQxNgorOjEwMkY2MDAwRTgwREZERjhDMzUwOEE4NkFGMDAwQzAyRTgwMUZENUI1NgorOjEwMkY3MDAwODNDMjA4OEE4NkE3MDBGNkMzMDE3NDBDMjRERjg4ODYwMgorOjEwMkY4MDAwQTcwMEVFODNFQTA4RjhDMzBDMjBFQkYyQUM0OUU4RTVCMQorOjEwMkY5MDAwRkVGOEMzOTBCODAwNDBFODY5RjVFOEY5RkNFODI0RkZDMgorOjEwMkZBMDAwQjAwMUU4QTVGNkY4QzM5MEI4MDA0MEU4NzFGNUU4RTU4RgorOjEwMkZCMDAwRkNGOEMzOTBCODAwMTBFODQ5RjVFOEQ5RkNFODA0RkYzNAorOjEwMkZDMDAwQjAwOEU4ODVGNkY4QzM5MEI4MDAxMEU4NTFGNUU4QzVGOAorOjEwMkZEMDAwRkNGOEMzOTBCODAwODBFODI5RjVFOEI5RkNFOEU0RkUwNQorOjEwMkZFMDAwQjAwMkU4NjVGNkY4QzM5MEI4MDA4MEU4MzFGNUU4QTVDRQorOjEwMkZGMDAwRkNGOEMzOTBCODAwMjBFODA5RjVFODk5RkNFOEM0RkVBNQorOjEwMzAwMDAwQjAwNEU4NDVGNkY4QzM5MEI4MDAyMEU4MTFGNUU4ODU2QgorOjEwMzAxMDAwRkNGOEMzOTBBQzQ5RTgzNDBDRjhDMzkwQjhGQzNCODk4OQorOjEwMzAyMDAwNDY3Q0Y4QzM4QTg2QUYwMDBDODBFODQzRkNGOEMzOTA2NgorOjEwMzAzMDAwOEE4NkFGMDAyNDdGRUJGMjhBODZBRjAwMEM0MEU4MkYyRgorOjEwMzA0MDAwRkNGOEMzOTA4QTg2QUYwMDI0QkZFQkYyQUM0OUE4MDExQworOjEwMzA1MDAwNzQwNzgzNEU3QTIwRUIwNTkwODM2NjdBREZFODhBRkQ1OQorOjEwMzA2MDAwRjhDMzgzQzIwNjhBODZBODAwMEM0MDg4ODZBODAwRUVCMgorOjEwMzA3MDAwODNFQTA2QUM0OTMyRTQ4OTQ2NkU4MzRFMjYwMTgzNEVDQworOjEwMzA4MDAwNDgwOEIwMDZFOEJCREY0OTQ2RjlDMzkwODNDMjA2OEEwOAorOjEwMzA5MDAwODZBODAwMEM0MDg4ODZBODAwRUU4M0VBMDZBQ0I0MEEzNQorOjEwMzBBMDAwRjZFNEVCRDBFOEUwMEJGOEMzOTBBRDQ5NDk4OTQ2NjRGQgorOjEwMzBCMDAwQTkwMTAwNzQxOThCRDg4M0UzRkE3NTBBQTkwNDAwNzQ3NgorOjEwMzBDMDAwMERCOEUyM0ZFQjBCRThFQ0Y0QjhBQTQwRUIwM0I4MzhEQworOjEwMzBEMDAwNDQ4OTQ2NjJGOEMzOEE4NkFGMDBBODAyNzQwQTI0RkRCOAorOjEwMzBFMDAwRTg4REZCMEMwMkU4ODhGQkY4QzNBQzQ5RTg4MUZDRjhFQQorOjEwMzBGMDAwQzM5MEFDNDlFODc5RkNGOEMzOTBFODVDRjU3NTA1RTg0NQorOjEwMzEwMDAwRTZGREY4QzNFOENERkQzNkEwQjQxMzI0MTAzNDEwRTg3MgorOjEwMzExMDAwMjYwMTM2QTFCNDEzQTkwMTAwNzQwNUU4RkVGRUVCMEVFQQorOjEwMzEyMDAwQTkwMjAwNzQwNDMyQzBFQjAyQjAwMUU4RThGRTM2QTE0NworOjEwMzEzMDAwQjQxM0U4QUIwQjM2QTFCNDEzQzFFODA1MjUwMTAwRThEMAorOjEwMzE0MDAwMENGRjM2QTBCNTEzMjQxMEU4MkJGRDMyQzAzNjhBMjZCQQorOjEwMzE1MDAwQjUxM0Y2QzQwNDc0MDlGRUMwRjZDNDA4NzQwMkZFQzBCOAorOjEwMzE2MDAwRThFRkZEMzZBMUI2MTMyNTBGMDBFODAzRkMzNkExQjY0MworOjEwMzE3MDAwMTNDMUU4MDQyNTAzMDBFODg4RkMzNkExQjYxM0MxRThCMgorOjEwMzE4MDAwMDUyNTAyMDBFOENERkMzNkExQjYxM0Y2QzQwMTc1MDQ4RQorOjEwMzE5MDAwMzJDMEVCMDk4MEU0MDJEMEVDQjAwMjJBQzRFODhDRkMxNworOjEwMzFBMDAwMzZGNjA2QjcxMzQwNzQwNUU4OERGRUVCMDNFODk0RkU4RgorOjEwMzFCMDAwMzZGNjA2QjcxMzIwNzQwNUU4NjlGRUVCMDNFODcwRkVFNworOjEwMzFDMDAwRjhDM0Y4QzM4QjQ2MzhBOTA0MDA3NTIzMEQwNDAwODlBMQorOjEwMzFEMDAwNDYzODgzQzIwODhCNDYyRTNCNDYzQzczMTQ4MzRFMzhEOAorOjEwMzFFMDAwMTA4QTg2QTcwMDI0RkU4ODg2QTcwMEVFODNFQTA4RjhFNgorOjEwMzFGMDAwQzM4QTg2QTcwMDBDMDFFQkVFOTA4QjQ2MzhBOTA0MDAyOQorOjEwMzIwMDAwNzQwNjI1RkJGRjg5NDYzOEY4QzNBRDQ5NDlFOEJFRkI4MworOjEwMzIxMDAwODk4NjhFMDBGOEMzQUQ0OTQ5RThCMkZCODk4NjkwMDBFMworOjEwMzIyMDAwRjhDMzgzNEUyNjA0RTg5MkZBRjhDMzkwODM2NjI2RkIxRgorOjEwMzIzMDAwRTg4OEZBRjhDMzkwQUM0OTg0QzA3NTA3ODA4RUEzMDA3MworOjEwMzI0MDAwMDRGOEMzODBBNkEzMDBGQkY4QzNBQzQ5ODNDMjA4M0NDMgorOjEwMzI1MDAwMDI3NjAyMzJDMDNDMDE3NDEyNzcwQjhBODZBNzAwMjRFMgorOjEwMzI2MDAwRUY4ODg2QTcwMEVFODNFQTA4RjhDMzhBODZBNzAwMENEOQorOjEwMzI3MDAwMTBFQkVFOTA1MjgzQzIwNkIwQkZFRTUyODNDMjA0QUM5NAorOjEwMzI4MDAwNDlFRTVBOEE4NkE4MDBFRTVBRjhDMzkwNTI4M0MyMDZDNQorOjEwMzI5MDAwQjBCRkVFNTI4M0MyMDhFQkU2OTBBQzQ5RjhDM0FDNDkyQworOjEwMzJBMDAwRThCNEVFNzMwM0U4RjdFRUY4QzM4QTg2QUYwMDI0N0YzNAorOjEwMzJCMDAwRThCREY5QjhGMDAwRTg2NkYyODE2NjI2RkZGM0U4MjM3RQorOjEwMzJDMDAwRkFFOEQyRjlGOEMzQjg4MDAwRTgzN0YyODA0RTI3MDg1MAorOjEwMzJEMDAwRTgxMUZBRThDMEY5RjhDM0I4ODAwMEU4NDFGMjgxNjY2NQorOjEwMzJFMDAwMjZGRkY3RThGRUY5RThBREY5RjhDMzkwQjgxMDAwRTg1QQorOjEwMzJGMDAwMTFGMjgwNEUyNzA0RThFQkY5RTg5QUY5RjhDM0I4MTAwOAorOjEwMzMwMDAwMDBFOEZGRjE4MTY2MjZGRkZCRThEOEY5RjhDM0FDNDk3NQorOjEwMzMxMDAwRjhDMzgzQzIwNjhBODZBODAwMEM0MDg4ODZBODAwRUVGRgorOjEwMzMyMDAwODNFQTA2RjhDMzkwODNDMjA2OEE4NkE4MDAyNEJGRUIwRQorOjEwMzMzMDAwRUE5MEFDNDk4QUUwODBDMjBBRUM4MEVBMEFBODIwNzRDQworOjEwMzM0MDAwMDU4QUM0RUVGOEMzMDY1MTU3OEI0RTI0RTMzNDQ5ODlFRAorOjEwMzM1MDAwNEUyNEZGNDYxQThFNDYwMjhCN0UyMjhBQzRBQTg5N0U5QworOjEwMzM2MDAwMjI4QjQ2MjYyNEZEODk0NjI2NzUyOThBODZBNTAwQTgzMworOjEwMzM3MDAwMDI3NTIxODBDMjAyMEMwMjg4ODZBNTAwRUU4MEVBMDI1NgorOjEwMzM4MDAwRUIxMkM0N0UwMDNCN0UxRTc2MEE0RjI2ODgyNTg5N0U3RQorOjEwMzM5MDAwMDBGRjQ2MUE1RjU5MDdGOEMzOTBBQ0FEODNFOTAzODU3NworOjEwMzNBMDAwQzA3NDA1M0QwMDIwNzIwNUI4RkZGRkVCMDNDMUUwMDNDOAorOjEwMzNCMDAwM0I4Njk0MDA3NDI2ODk4Njk0MDA4QkQ4NTI4M0MyMDY3QgorOjEwMzNDMDAwOEE4NkE4MDA4QUUwMEM4MEVFODNFQTA2OEFDM0VFODMzMAorOjEwMzNEMDAwQzIwMjhBQzdFRTgzQzIwNDhBQzRFRTVBRjhDM0IwODgxOAorOjEwMzNFMDAwODg4NkJDMDBFODhDRjIzM0RCOEE4NkE1MDBBODAyNzRDQworOjEwMzNGMDAwMDM4MENCMDFBODA1NzQwMzgwQ0IwMkE4MDg3NDAzODA2NgorOjEwMzQwMDAwQ0IwNEY2ODZBNzAwMTA3NDAzODBDQjEwOEE4NkE5MDAyRgorOjEwMzQxMDAwRjZDMzA0NzUwQTgzQzIwQ0VDODNFQTBDQzBFODA0OEE4NAorOjEwMzQyMDAwRTA4QTg2QUYwMEE4ODA3NDA4RjZDNDAxNzUwMzgwQ0JEQgorOjEwMzQzMDAwMjBGNjg2QTcwMDAyNzUwQUY3NDYzODA0MDA3NDAzODA1OAorOjEwMzQ0MDAwQ0I0MDg4OUVCRTAwRkU4NkI0MDBCMDBBRThGM0RCRjhFRAorOjEwMzQ1MDAwQzNGRTg2QjQwMEIwMEFFOEU4REJGOEMzQUM0OTNDMDIxRQorOjEwMzQ2MDAwNzQzNzc3MTA4NEMwNzQwNjgwNEUzODAxRjhDMzgwNjZDNAorOjEwMzQ3MDAwMzhGRUY4QzM4QjQ2MzgyNUZGRjc4OTQ2MzhBOTAwMDQ4MworOjEwMzQ4MDAwNzVFQThBODZBNTAwQTgwMTc1RTIwQzA1ODNDMjAyODg0OAorOjEwMzQ5MDAwODZBNTAwRUU4M0VBMDJGOEMzODE0RTM4MDAwODhBODZDQQorOjEwMzRBMDAwQTUwMEE4MDE3NEM2MjRGQUVCRTJBRDQ5NDlGOEMzOTAxRgorOjEwMzRCMDAwRTgxMUZBRkU4NkI5MDBCMDBFRTg4NkRCRjhDM0IwRkY2QgorOjEwMzRDMDAwRThCRkVDRjhDMzkwODM2NjdBRkJCMDAwRTg3M0RCRjhFMgorOjEwMzREMDAwQzM5MEFDNDlFODUzRDk3MjExMzY4ODFFMUEwMTM2QTA0MAorOjEwMzRFMDAwOEUxMjBBQzM1MkJBMDAwMUVFNUFGOEMzQUM0OTMyRTQ1NAorOjEwMzRGMDAwMzZBMzg2MTIwNTA2MDAzNjhCMUU4ODEyMkJEODM2ODkxNQorOjEwMzUwMDAwMUU4QTEyRjhDMzkwQUQ4QkQ4QUQ4M0U5MDQwM0MzMkI5OAorOjEwMzUxMDAwNDY3Njg5NDY3OEY3NDY3QTAyMDA3NDBBODM2NjdBRkQxMQorOjEwMzUyMDAwQjgwMDAwRTgxQ0RCRjhDMzA2MTYwN0FDNDkyNTBGMDBGRAorOjEwMzUzMDAwNkJDMDA5OERCRUZEMDAwM0Y4QUM0OTI1MEYwMEFBODVCQworOjEwMzU0MDAwQzA3NDA4MkJDODUxOEJDOEYzQTQ1OUU4MjdGMEU4NDQ4RAorOjEwMzU1MDAwMDMwN0Y4QzMzM0MwQUM0OTM2QTNCMjEzMzZBM0IwMTM4NAorOjEwMzU2MDAwRjhDMzgzNjY3QUVGRTgyQzAzRjhDMzkwODM0RTdBMTA5MQorOjEwMzU3MDAwRUJGNEU4OUJGMEY4QzM5MEFEM0MxOTc3MEUzQzE5Nzc1QgorOjEwMzU4MDAwMEE4QkY4ODFFN0ZGMDA4OEE2QzQwMEY4QzM5MDgzNEUzOQorOjEwMzU5MDAwMjYyMEFDNDkzMkU0RDFFMDhCRDhDMUUzMDIwM0MzODlEMQorOjEwMzVBMDAwNDY2RTgzNEU0ODA0QjAwNkU4OTdEQTQ5NDZGOUMzOTA2MAorOjEwMzVCMDAwRkU4NkIzMDBCMDBBRTg4OURBRjhDMzkwMzNDMEFDNDk5QworOjEwMzVDMDAwNkJDMDBBODk4NjhBMDBGOEMzOTBBQzQ5MzJFNDNEMEE5MAorOjEwMzVEMDAwMDA3NzA1QjgwQTAwRUIwODNENUEwMDcyMDNCODVBMDA5QworOjEwMzVFMDAwNTFGN0Q4MDU2NDAwOEJDODhCNDY0NEY3RTFCOTY0MDBGNQorOjEwMzVGMDAwRjdGMTg5NDY0NjU5RjhDM0FDNDlFODg1RUJGOEMzOTAyMgorOjEwMzYwMDAwQUM0OTg0QzA3NTA3ODE2NjM4RkZGREY4QzM4MTRFMzgyOAorOjEwMzYxMDAwMDAwMkY3NDYzODQwMDA3NTA4OEE4NkE5MDA4ODg2QUEwNQorOjEwMzYyMDAwMDBGOEMzOTA1MTU2RTg3RjBDNUU1OUY4QzM5MEZFODZBRgorOjEwMzYzMDAwQjYwMEIwMEFFODBCREFGOEMzOTBGRTg2QjcwMEIwMEEwRAorOjEwMzY0MDAwRThGRkQ5RjhDMzkwRkU4NkI4MDBCMDBBRThGM0Q5RjhDRAorOjEwMzY1MDAwQzM5MDAwOTA1MTU1QUMyRUEyNTIzNjMzQzlBRDhCRjlCMAorOjEwMzY2MDAwQzFFNzA1QTkwMTAwNzQyMzJFOEJBRDQ0MDA4MzdFMDhCOQorOjEwMzY3MDAwMDA3NDE4MkU4MDNFNTIzNjAxNzQwOTYwQjAwNEU4QkIxNQorOjEwMzY4MDAwMEM2MUVCMDc2MEIwRkJFOEVDMEM2MTQ3NDdEMUU4NzVEMworOjEwMzY5MDAwRDI0MTgzRjkwNDcyQzY1RDU5ODNFOTA1Rjc0NjM4NDA4MworOjEwMzZBMDAwMDA3NDA1RTg4N0VBRjhDM0U4OERFQUY4QzM5MDM2QzZFNworOjEwMzZCMDAwMDZDODEzMDFGOEMzMzNDMEFDNDkzNkEzODAxMkFDNDkyNQorOjEwMzZDMDAwMzYyQjA2ODgxMkY3RDgzNkEzODIxMkY4QzM5MERFMjY2RQorOjEwMzZEMDAwREUyNkVDMjZGMjI2RjgyNkZFMjYwNDI3MEUyNzE2MjdERAorOjEwMzZFMDAwMUUyNzI2MjcyRTI3MzQyN0JFMzRDNjM0RDIzNDNBMjc0NQorOjEwMzZGMDAwNzgyNzgwMjc5NDI3QTAyN0I0MjdDMDI3RDQyN0UwMjczRQorOjEwMzcwMDAwRjQyNzAwMjgxMDI4RUMzNERFMjYxRTI4MjYyODJDMjgzMgorOjEwMzcxMDAwMzIyODM4Mjg0RTI4OEEyODA2MzUyODM1OTgyOEJFMjg4OQorOjEwMzcyMDAwRDIyOERFMjhFNjI4NTQzNTYyMzU2QzM1RUUyOEMwMjlDQgorOjEwMzczMDAwQzgyOUNFMjlFMDI5NzIzNTc4MzVGMDI5RkMyOThFMzU0MworOjEwMzc0MDAwMDgyQTEyMkExQzJBQjAzNTM2MkFCQzM1NUEyQTYyMkE3RgorOjEwMzc1MDAwNjgyQUNBMzU3QzJBRjgzNTg4MkFBNjJBQjgyQUNDMkFBQgorOjEwMzc2MDAwREUyQUYyMkEwMDM2MEEyQjI0MkIyNDM2MzgyQjRDMkI0NworOjEwMzc3MDAwODQyQjJFMzYzQTM2NDYzNjU0MzZFODJCQUUzNjQwMkM1RAorOjEwMzc4MDAwNjIyQ0I2MzY3MDI4REUyNkRFMjZENDJFRTgyRUYwMkVFOQorOjEwMzc5MDAwRjgyRTAwMkYwQTJGMTIyRjFBMkYyMjJGMkEyRjQyMkZGNgorOjEwMzdBMDAwQkUzNEM2MzREMjM0NTAyRjhDMkY5NDJGQTgyRkI0MkY3MAorOjEwMzdCMDAwQzgyRkQ0MkZFODJGRjQyRjA4MzAxNDMwMUMzMEVDMzRFRAorOjEwMzdDMDAwREUyNjI0MzAzMDMwMzgzMDQ0MzA0QzMwNjIzMEE0MzA4MworOjEwMzdEMDAwMDYzNTI4MzVBQTMwQ0UzMEQ2MzBFQTMwRjIzMDU0MzVBRQorOjEwMzdFMDAwNjIzNTZDMzVGQTMwQzIzMUMyMzFDNDMxRkEzMTcyMzVDQQorOjEwMzdGMDAwNzgzNTBBMzIxNjMyOEUzNTIyMzIyQzMyMzYzMkIwMzVENgorOjEwMzgwMDAwNEEzMkJDMzU3NDMyOEMzMjlBMzJDQTM1OUUzMkY4MzUxRgorOjEwMzgxMDAwQUEzMkM2MzJEODMyRUMzMkZFMzIwRTMzMDAzNjEyMzNDMAorOjEwMzgyMDAwMjYzMzI0MzYzMjMzOUEzM0RFMzMyRTM2M0EzNjQ2MzY1MgorOjEwMzgzMDAwNTQzNjVDMzRBRTM2QUEzNEIwMzRCNjM2OEMzMEUzMjgxNQorOjEwMzg0MDAwRjc0NjM4NDAwMDc1MzJFOEUzRTgzM0MwQUM0OTNENUJFOQorOjEwMzg1MDAwMDA3NzE5OEJEOEQxRTMyRUZGOTdDRTM2NzIwQjg1QzkyRQorOjEwMzg2MDAwNzVFODhCNDY0OEU4MUEwQ0MzNEU0MUMzNkEwMDFGQzY3MAorOjEwMzg3MDAwMDY5MzEyMEM5QzBFRTg2M0RBRThCQ0U4MzNDMEFDNDk0RQorOjEwMzg4MDAwM0Q1QjAwNzdFNzhCRDhEMUUzMkVGRjk3ODYzNzcyRDk1RgorOjEwMzg5MDAwODVDOTc1RThDM0Y3NDY3QTEwMDA3NTBGODNCRTg0MDBBQQorOjEwMzhBMDAwMDA3NDA4Qjg0ODNBODk4NjgwMDBDMzgxQkU4MDAwRUM2NQorOjEwMzhCMDAwM0M3NEY3ODNCRTg4MDAwMDc1MDVCOEVDM0NFQkU3Rjc3NQorOjEwMzhDMDAwNDY3QTA4MDA3NTQwMUU2MDhCOEU4ODAwM0I0RTc0NzdFOAorOjEwMzhEMDAwMzMzQjRFNzg3NzJFQzQ3RTEwOEJERjI2MDMzRDQ3NDc1RgorOjEwMzhFMDAwMzNDMDhFRDg4REI2RjQwMDhCQzFGNzQ2N0EwMTAwNzVDRgorOjEwMzhGMDAwMURGM0E0MjYwMTA3Mjk0Njc4MDE0Njc2Mjk0Njc0QjBBRgorOjEwMzkwMDAwMENFODNFRDc2MTFGQzc4Njg4MDAwMDAwRUJBQ0UzRTNGQworOjEwMzkxMDAwNTA5MEFDMjQ3RkFBRTJGQTU4RUJEODkwOEI4RTg4MDBBNgorOjEwMzkyMDAwRTM0NjhCOUU4QTAwODVEQjc0M0VCQTUwRkZFRDJCODYwMgorOjEwMzkzMDAwODIwMDNCQzM3MjM3OERCNkY0MDBDNDdFMTA4QkRGMjY0NQorOjEwMzk0MDAwMDMzRDQ3NDc4QkMxMTYxRkY3NDY3QTAxMDA3NTI0RjNFNAorOjEwMzk1MDAwQTQyNjAxMDcyOTQ2NzgwMTQ2NzYyOTQ2NzRDNzg2ODgzOQorOjEwMzk2MDAwMDAwMDAwQjAwQ0U4REFENjgzNjY3QUY3QzNCMDAwRTg0RQorOjEwMzk3MDAwRDBENkMzRTNEQzUwQUMyNDdGQUFFMkZBNThFQkQyOTA1NQorOjEwMzk4MDAwMUU2MDMzQzA4RUQ4OERCNkZEMDA4Qjg2ODgwMDhCOTY2NgorOjEwMzk5MDAwODQwMDNBMDQ3NTEwOEJERTQ2OEJDODhEQkVGNDAwRjNBQworOjEwMzlBMDAwQTY3NDY2OEJGMzkwODNDNjA5NEE3NUU2OERCNkZEMDA1MgorOjEwMzlCMDAwOEI5Njg0MDAzQTA0NzMxMDhCREU0NjhCQzg4REJFRjQ2MAorOjEwMzlDMDAwMDBGM0E2NzQ3NjhCRjM5MDgzQzYwOTRBNzVFNjhEQjYyQworOjEwMzlEMDAwRjQwMEFDRjc0NjdBMDEwMDc0MDIyNDdGMUVDNTVFMTAyNQorOjEwMzlFMDAwOEIzNzg4NDAwMjQ2ODkzN0ZGNEU3OEZGNDY3NkZGNEU3OAorOjEwMzlGMDAwNzQxRjhCOEU4ODAwNDk4OThFODgwMEUzNDM4REI2RjQ0RQorOjEwM0EwMDAwMDA4QkZFNDZGM0E0RTk3REZGQzU3NjEwOEIxQzg1REI5OQorOjEwM0ExMDAwNzQwODAzRjM4M0M2MDM4M0U2RkU4Qjg2ODQwMDJCQzJGRgorOjEwM0EyMDAwQjQ4MDg5MDQ0NjQ2QzcwNDAwMDA4OTc2MTA4MzRFN0EyNAorOjEwM0EzMDAwMDRDNzg2ODgwMDAwMDA2MTFGRjlDMzMzQzA2MTFGQzMzQgorOjEwM0E0MDAwQjA4MDg0QzA2MTFGQzM5MDhCNEU3ODJCOEU4ODAwNzYyNworOjEwM0E1MDAwMjc4OUI2OEMwMDhCNUU3NDNCQ0I3MjAyOEJDQjNCQzg0NAorOjEwM0E2MDAwNzIwMjhCQzg4QkMxRTM0NDMzRDI4RUMyOEJEMTgzQkUyQQorOjEwM0E3MDAwODgwMDAwNzQwNkU5OEUwMDMzQzBDMzhCNUUxMDAzMUZGQworOjEwM0E4MDAwNDM0MzUyRjc0NjdBMDEwMDc1MkFBQzhEQkVFNDAwOEJBMQorOjEwM0E5MDAwOEU4NjAwRjJBRTc0MzQ4ODA3NDM0QTc1RUQ1ODhCNUUwQgorOjEwM0FBMDAwMTAwMTA3Mjk0Njc4MDE0Njc2Mjk0Njc0OEJDNjJCODY3NQorOjEwM0FCMDAwOEMwMEMzOTBBQzhEQkVFNDAwOEI4RTg2MDBGMkFFNzQ5OQorOjEwM0FDMDAwMEEyNDdGODgwNzQzNEE3NUVCRUJEMjg4ODZGNDAwQzc0NworOjEwM0FEMDAwODY4ODAwMDEwMDU4MkJDMjc0MEU4QjVFMTAwMTA3MjlFNgorOjEwM0FFMDAwNDY3ODAxNDY3NjI5NDY3NDQwRTg5NEZFNzJCRTRBNzVDRgorOjEwM0FGMDAwMTU4M0JFOEEwMDAwNzRCNEJBNTBGRkVEODk4NjgyMDAzNworOjEwM0IwMDAwODM0RTdBMDhFQkE2OERCRUY0MDAwM0JFODgwMEE0RkZBNgorOjEwM0IxMDAwODY4ODAwRTg2QUZFNzI5NDc5MDY0QTc0OEZFOTVCRkYzMgorOjEwM0IyMDAwNEE3NENFRUJFMTkwNTBFODExQ0M4QjQ2NzQzOTQ2NzI2MgorOjEwM0IzMDAwNzQyNzFFNTY1MTMzQzlDNTc2MENBRDc0MTA3ODA5MDMyRAorOjEwM0I0MDAwQzgwNTAxMDAyNEZFMDNGMDNCNzYxMDc2RUQyOTRFNzY4MQorOjEwM0I1MDAwMDE0RTc4RTgzN0NDNTk1RTFGNThDMzkwQzQ3RTEwMjZCQQorOjEwM0I2MDAwOEIxRDgzQzMwMzI2ODkxRDRCMDNGQkFCOTFBQUI4MDNBRQorOjEwM0I3MDAwMDAyOTQ2NzgwMTQ2NzYyOTQ2NzRDMzkwQzQ3RTEwMjZGMworOjEwM0I4MDAwOEIxRDQzMjY4OTFENDMwM0ZCQUFGRjRFNzhGRjQ2NzYxMworOjEwM0I5MDAwRkY0RTc0QzNFOEU1RkZDMzgwODE4NDg1ODI4Mzg2ODdGNgorOjEwM0JBMDAwNTA1MzhBREM4M0UzMEVEMUVCMkU4QTg3OTgzQjA4ODYzQworOjEwM0JCMDAwQjAwMEZFODZCMTAwQjAwQUU4ODdENDVCNThDMzUwOEFEMworOjEwM0JDMDAwQzhCOEZGMDBFODk1RkY1OEMzOTA4QTg2QkIwMEU4QUJGMQorOjEwM0JEMDAwRkZDM0U4Q0JGRkU4RjJGRkMzOTBFOEMzRkZFOEI0RkYwMAorOjEwM0JFMDAwQzM5MDMzQzBFODk1RkZDM0I4RkYwMDMzQzlFODZDRkY0QQorOjEwM0JGMDAwQzM5MEI4RkYwMUIxMTBFODYyRkZDMzkwQzNGQzNCRTI4MQorOjEwM0MwMDAwM0JGMjNCRjIzQkZDM0JFMjNCRTgzQkU4M0JGQzNCRTI2QworOjEwM0MxMDAwM0JFODNCRTgzQkZDM0JFMjNCRTIzQkUyM0IwMDEwMDA4NQorOjEwM0MyMDAwMDAwMDEwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDEwMDA1NAorOjEwM0MzMDAwMDAwMDEwMDAwMDAwMTAwMDAwMDAxMDAwMDAwMDA4MDA0QworOjEwM0M0MDAwMDAwMDA4MDAwMDAwMDgwMDAwMDAwODAwMDA1MTUzOEIyRAorOjEwM0M1MDAwNEUzODgxRTFGRkVFQTgwNDc0MDQ4MUM5MDAwMThBRTBCNgorOjEwM0M2MDAwODBFNDAzMjQxOEQwRTQwQUM0MzNEQjhBRDgyRThCODc3RgorOjEwM0M3MDAwRkQzQjg5NDY3QzJFMEI4RjFEM0M4OTRFMzhEMUVCMkVBNworOjEwM0M4MDAwOEFBNzNEM0M1QjU5QzNBQzQ5M0MwMTcyMUQ3NDIwM0M4MgorOjEwM0M5MDAwMDM3MjIzNzQyODNDMDg3MjJCNzQzMDNDMjA3MjM3NzRGMgorOjEwM0NBMDAwM0FCQkRBM0IzMkU0ODk1RTdFQzNCQkEwM0JFQkY1QkI5QgorOjEwM0NCMDAwOTQzQkI0MDFFQkYwQkJGQzNCQjQwMkVCRTlCQkUyM0I1MQorOjEwM0NDMDAwQjQwM0VCRTJCQkJFM0JCNDA0RUJEQkJCQ0EzQkFDNDk4OQorOjEwM0NEMDAwODg4NkJCMDBFQkNFQkJEMjNCRUJGM0JCRkMzQkVCQzQxQgorOjEwM0NFMDAwQTkwNDAwNzVEMUE5MDgwMDc1REFFQkQxOEI1RTc0OEIzRAorOjEwM0NGMDAwNEU3ODNCQ0I3MjAyOEJDQjNCQzg3MjAyOEJDODhCQzExOAorOjEwM0QwMDAwRTMyQ0M0N0UxMDhCREYyNjAzM0Q0NzQ3Rjc0NjdBMDEzQworOjEwM0QxMDAwMDA3NTFDRjdDNzAxMDA3NDAyNDlBNEQxRTlGM0E1NzMyQgorOjEwM0QyMDAwMDFBNDI2MDEwNzI5NDY3ODAxNDY3NjI5NDY3NEMzNTAyNgorOjEwM0QzMDAwNTNCQjdGN0ZGN0M3MDEwMDc0MDU0OUFDMjJDM0FBRDFFQQorOjEwM0Q0MDAwRTlFMzFEOUNBRDIzQzNBQjQ5NzQxNEFEMjNDM0FCNDk1OAorOjEwM0Q1MDAwNzQwREFEMjNDM0FCNDk3NDA2QUQyM0MzQUJFMkU1OUQzRgorOjEwM0Q2MDAwNzMwNEFDMjJDM0FCNUI1OEVCQjhFOENFQzk4QjVFMzhBQQorOjEwM0Q3MDAwRjdDMzEwMDQ3NTAxQzNGN0MzNDAwMDc0MDVFOEI4RTM0NgorOjEwM0Q4MDAwRUIwM0U4QThFMzgxNjYzOEVGRkJGNkMzMTA3NDNDRjY1QQorOjEwM0Q5MDAwQzMwMjc0MDZFNEQ4MEMwMUU2RDhGNkMzMDQ3NDExODM5OAorOjEwM0RBMDAwQzIwODhBODZBNzAwMEMwMUVFODg4NkE3MDA4M0VBMDg2RAorOjEwM0RCMDAwRjZDMzA4NzQwRkU4OEJFMzcyMEE4QTg2QzAwMEU2MzhGRgorOjEwM0RDMDAwQjAyM0U2MEFGN0MzMDAwNDc1MDFDM0Y3QzMwMDA4NzUwMgorOjEwM0REMDAwRjk4QTg2QTUwMEY2QzM0MDc1MERBODEwNzVFQzBDMTA4NQorOjEwM0RFMDAwODg4NkE1MDBFNjBDQzNBODAxNzVERjgzQzIwMjBDMDUxNgorOjEwM0RGMDAwRUU4ODg2QTUwMEMzQjAwMEU4NDdEMkVCMEZCMDAyRTgxQQorOjEwM0UwMDAwOTAwRUVCMDg4MzY2MzhERjgzNEU3QTAyMzNDMDhFRDg3QgorOjEwM0UxMDAwRkFBMDkyMTI0MEEyOTIxMjNDMDU3MjFFQzYwNjkyMTI5RAorOjEwM0UyMDAwMDBGQkIwMDFFODZCMEVGQUExMjYwMTIzMDYyQTAxQThDNworOjEwM0UzMDAwMDE3NTA3RThFMjA3RTg2MTA5OTBCMDAwRTgzN0QyRkJCNgorOjEwM0U0MDAwODVFRDc0QjlGQUY3NDY3QTQ2MDA3NUMwOEI0Njc4M0QyMQorOjEwM0U1MDAwMEEwMDcyQjA4QjRFNzQ4M0Y5NTA3MjlBODM2NjM4REYxMQorOjEwM0U2MDAwQzU3NjE0OEI0NjNBODVDMDc1NThBRDg1QzA3NTBGRTg4OAorOjEwM0U3MDAwRjhGRUY3NDY3QTA4MDA3NDkzRThBMEZBRUI4RTNCNzZEQQorOjEwM0U4MDAwMDQ3NjIxQjkwMjAwMzk0RTJFNzcwNUM3NDYyRTAwMDA3MAorOjEwM0U5MDAwNTY4Qjc2MkM4OTc2MDRDNzA0MDAwMDQ2NDY4OTc2MkMxQQorOjEwM0VBMDAwMjk0RTJFNUU4NUMwNzkxN0Y2QzQxMDc0MDVGRjU2N0MyNgorOjEwM0VCMDAwRUIwM0ZGNTY3RTg5NzYxNEIwMENFODg1RDFFQjg2ODkzQQorOjEwM0VDMDAwNDYzQUZGOTY4MDAwMjk0NjNBODk3NjE0QjAwQ0U4NzE4QworOjEwM0VEMDAwRDFFOTcxRkYwMDAwMDAwMDAwMDAwMDAwMDgwNDEwMDI5QQorOjEwM0VFMDAwMDEyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCMQorOjEwM0VGMDAwMDAwMDAwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODBDMgorOjEwM0YwMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODBCMQorOjEwM0YxMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODBBMQorOjEwM0YyMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA5MQorOjEwM0YzMDAwODA4MDgwODA4MEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMQorOjEwM0Y0MDAwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwQzBDMEMwODBCMQorOjEwM0Y1MDAwODA4MDgwMDA4MDgwODA4MDgwODA4MDgwODA4MDgwODBFMQorOjEwM0Y2MDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA1MQorOjEwM0Y3MDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA0MQorOjEwM0Y4MDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODAzMQorOjEwM0Y5MDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODAyMQorOjEwM0ZBMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODAxMQorOjEwM0ZCMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODAwMQorOjEwM0ZDMDAwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODA4MDgwODBGMQorOjEwM0ZEMDAwODA4MDgwODA0RTQxNzg0MUQwNDFGNDQxMDY0MjE4NDJCMQorOjEwM0ZFMDAwQzM5MDhFNDYwMjhCN0UyMjg5N0U2QzgwNjYyN0ZEOEI3NQorOjEwM0ZGMDAwNTYyNDgzRkEwNDcyRTk4M0VBMDI4QkQ5M0JDQTc2MDIxQgorOjEwNDAwMDAwOEJDQUIwMEE1NzUxOEJGRUYyQUU4QkMxNTk1Rjc1MUUzOQorOjEwNDAxMDAwNTA0MDJCQzg3NDA2MkJEMTJCRDlGM0E0NTk0QjRBNEFENAorOjEwNDAyMDAwQjAwREFBQTQzQkNBNzYwMjhCQ0FFMzEzRUJENDJCRDlGQQorOjEwNDAzMDAwRjdDNjAxMDA3NDAyQTQ0OUQxRTlGM0E1NzMwMUE0ODk2QworOjEwNDA0MDAwN0UyMjJCN0U2QzI5N0UyNDAxN0UxQThCQ0I4MDdFMjZERAorOjEwNDA1MDAwMDI3NDA1ODA2NjI2RkRDMzYwQjBGREU4MTgwMzYxQzNFNQorOjEwNDA2MDAwQzM5MEU4N0MwMjcyRjk5MDgzNEUyNjIwOEI0NjZBODlDMQorOjEwNDA3MDAwNDY2RThCNDY0ODBEMDQwMDI1QkZGRjg5NDY0OEIwMDZCMgorOjEwNDA4MDAwRThCRkNGQzM4OTdFMjIyQjdFNkMwMTdFMUEyOTdFMjQ1NQorOjEwNDA5MDAwODA3RTI2MDI3NDA1ODM2NjI2RkRDMzYwQjBGREU4RDVFOAorOjEwNDBBMDAwMDI2MUMzOTA4QUJFQzIwMEVCMjRGNzQ2NDg0MDAwNzUwNworOjEwNDBCMDAwQjE4RTQ2MDI4QjdFMjI4OTdFNkM4QjU2MjQ4M0VBMEE1RgorOjEwNDBDMDAwNzg5RTAzRDc4MDY2MjdGRDMzQzA4QUJFQzIwMEUzQjQ2MgorOjEwNDBEMDAwM0JGQTc3QjBBQzQ5OTMyRThBODdENDNFOTMyMkRGNzVBMgorOjEwNDBFMDAwMTdBQUUzQTAzQkZBNzc5Q0FDNDk5MzJFOEE4N0Q0M0U2QgorOjEwNDBGMDAwOTMyMkRGNzUwM0FBRUJENkY2QzM3Rjc1MDVGRjQ2NjZFQworOjEwNDEwMDAwRUJERkY2QzM0MDc1MEM4QkQ4ODNFQjA4RDFFMzJFRkZCMQorOjEwNDExMDAwQTdENDNGRkY0NjY2MkMyMEVCQzc4NUMwNzQyQzg5NDY4OAorOjEwNDEyMDAwNkE4MzRFNDg0MDg5N0UyMjJCN0U2QzAxN0UxQTI5N0U0RQorOjEwNDEzMDAwMjQ4MDdFMjYwMjc0MDg4MzY2MjZGREU4QTMwMUMzNjBGRQorOjEwNDE0MDAwQjBGREU4MzEwMjYxRTg5ODAxQzNFOTU3RkY5MDhCNUU0QQorOjEwNDE1MDAwNjY0Qjc4MDM4OTVFNjZBQThCNUU2NEY3QzMwMDIwNzVBMAorOjEwNDE2MDAwMDNFOTQwRkZGN0MzNDAwMDc0MDg4QTg2QzEwMEFBRTk0QQorOjEwNDE3MDAwMzJGRkI4MzIwMEVCQTM5MDhCNUU2Njg5NUU2ODgzQzMyMgorOjEwNDE4MDAwMDg4MEUzRjg4OTVFNjY4QjVFNjQ4MUUzMDAxODgxRkIzQQorOjEwNDE5MDAwMDAxODc0MkRBQTg1REI3NDI1Rjc0NjY0NDAwMDc1MTg1NQorOjEwNDFBMDAwODFGQjAwMTA3NDBDOEI0NjY2MkI0NjY4QzFFMDA0RTk2NQorOjEwNDFCMDAwNjhGRkI4NjQwMEU5NjJGRjhBODZDMTAwQUFBQUU5RTM0MQorOjEwNDFDMDAwRkU1MThCNEU2NjJCNEU2OEIwMjBGM0FBNTlFOUQ0RkVGRgorOjEwNDFEMDAwOEI1RTY2ODk1RTY4OEI1RTY0RjdDMzI0MDA3NDEwQzdDQgorOjEwNDFFMDAwNDY2NjAwMDBGN0MzMDQwMDc0MDVCMDBEQUFCMDBBQUEyMQorOjEwNDFGMDAwRUI0ODkwOTBBQUY3NDY2NDAwNDA3NDA2QjhEMDA3RTlFRgorOjEwNDIwMDAwMThGRkU5OUZGRTkwQUFGNzQ2NjQwMDgwNzQwNkI4RDBCNAorOjEwNDIxMDAwMDdFOTA2RkZFOThERkU5MDhCNUU2Njg5NUU2ODg1REJBNworOjEwNDIyMDAwNzUwQzhCNUU2NEY3QzMxMDAwNzQwNkU5NzZGRThCNUUzNgorOjEwNDIzMDAwNjRGN0MzMDgwMDc0MjdCMDBBQUFGN0MzMjAwMDc1MUZFQgorOjEwNDI0MDAwRjdDMzAwMDE3NTAzRTk1QkZFRjdDMzQwMDA3NTA2QjhDQworOjEwNDI1MDAwNjQwMEU5QzVGRThBODZDMTAwQUFBQUU5NDZGRUFBQzc4QgorOjEwNDI2MDAwNDY2NjAwMDBGN0MzMDAwNjc0RjFGN0MzNDAwMDc0MTlGNgorOjEwNDI3MDAwOEE4NkMxMDA4MUUzMDAwNjgxRkIwMDA0NzIwNjc2MDI5MworOjEwNDI4MDAwQUFBQUFBQUFBQUFBRTkxQkZFODFFMzAwMDY4MUZCMDA0QQorOjEwNDI5MDAwMDQ3MjBFNzYwNkI4OTYwMEU5N0ZGRUI4NjQwMEU5NzlFQworOjEwNDJBMDAwRkU4QjQ2NjhFOTczRkU5MDM2OEIwRURBMTI4M0Y5MzI4NAorOjEwNDJCMDAwNzMxRDFFMDYzM0MwOEVEODhFQzA4RDc2NENCRkRDMTJBNworOjEwNDJDMDAwMDNGOUE1QTVBNTgzQzEwNjg5MEVEQTEyMDcxRkMzQjA5RAorOjEwNDJEMDAwMDhFODZFQ0RDMzkwODM2NjQ4RkVFODkzQzRFOEM4RkY0MworOjEwNDJFMDAwQzNGNjQ2MjcwMjc1MEY5Q0ZBODM3RTFBMDA3NDA5ODA3NAorOjEwNDJGMDAwNEUyNzAxOURGOUMzRjhDMzUwNTJGNzQ2Mzg0MDAwNzQ2OQorOjEwNDMwMDAwMURFODM0REU4M0MyMEFFQ0E4NDA3NTI3ODNFQTA4OEFEOAorOjEwNDMxMDAwODZBNTAwMEMwMjg4ODZBNTAwRUU1QTU4RUJEMUU4MEM2MQorOjEwNDMyMDAwREU4QTg2QTUwMDI0RkIwQzAyODg4NkE1MDBFNjBDNUFDRQorOjEwNDMzMDAwNThFQkJDODA0RTI3MDI1QTU4OURGOEMzMDg0NjI2OUM2RAorOjEwNDM0MDAwRkE4QThFQTUwMEY3NDYzODQwMDA3NTE0RjZDMTA2NzQ0NworOjEwNDM1MDAwMjNFOEQ5REQ4QUMxMjRGOTg4ODZBNTAwRTYwQzlEQzMyRgorOjEwNDM2MDAwRjZDMTAyNzQwRkU4RDBERDgzQzIwMjhBQzEyNEZEODg0MQorOjEwNDM3MDAwODZBNTAwRUU5REMzOEI1RTI2MjJDMzg4NDYyNjc0MDE2NworOjEwNDM4MDAwQzM4MDY2MjdGRDlDRkE4QThFQTUwMEY3NDYzODQwMDA1OAorOjEwNDM5MDAwNzUxNkY2QzEwNDc1MEZFODkzREQ4QUMxMjRGRDBDMDQ3RgorOjEwNDNBMDAwODg4NkE1MDBFNjBDOURDM0Y2QzEwMjc1RjlFODg4REQ5NAorOjEwNDNCMDAwODNDMjBBRUNBODIwNzUwRTgzRUEwODhBQzEwQzAyODgyMQorOjEwNDNDMDAwODZBNTAwRUU5REMzODNFQTBBMzNDOThBNEUxQzhCNDYzQworOjEwNDNEMDAwMUEzQkM4NzMxQjAxNEUyQTJCQzE4OTQ2MUExRUM1NzY4QgorOjEwNDNFMDAwMDBGMzZFMUY4OTc2MDA4M0MyMDI4QTg2QTUwMEVCQ0Q5QQorOjEwNDNGMDAwODVDMDc0MTIwMTQ2MkE4QkM4MUVDNTc2MDBGMzZFMUY1NQorOjEwNDQwMDAwODk3NjAwODk0RTFBRjZDNzAxNzUyMzgwQ0IwMjg5NUUzMgorOjEwNDQxMDAwMjZFODA4QzM4M0MyMDI4QTg2QTUwMDI0RkRFRTg4ODZBQQorOjEwNDQyMDAwQTUwMEY2QzcxMDc1MDVCMDAyRTgxNkNDOURDMzgzQzI3RgorOjEwNDQzMDAwMDI4QTg2QTUwMEVCODY5MDhCRDE4QjQ2MjQzQkM4NzZGQQorOjEwNDQ0MDAwMDI4QkM4MkJEMTJCQzE4QkQ5RTMyMjgwNjYyN0ZEOEUyRQorOjEwNDQ1MDAwNDYwMjhCN0UyMkY3QzYwMTAwNzQwMkE0NDlEMUU5RjMxQgorOjEwNDQ2MDAwQTU3MzAxQTQ4OTdFMjI4OTQ2MjQwMTVFMUE4QkNBODAyNQorOjEwNDQ3MDAwN0UyNjAyNzQwNTgwNjYyNkZEQzM2MEIwRkRFOEY2RkU2OAorOjEwNDQ4MDAwNjFDMzUwRTQwQTg0QzA3NTBBODY4NkExMDA4NEMwNzRBMgorOjEwNDQ5MDAwMEFFNjBBNTgwQzIwODk0NjQ4RjlDMzU4MjRERjg5NDZBMQorOjEwNDRBMDAwNDhGOEMzOTBGQkIwMDJFOEU4MDdGQUU4MkUwMUZCQjAzOQorOjEwNDRCMDAwMDFFOERFMDdGQUIwMDJFOEJDQ0JGQjg1RUQ3NEU1RkE1MworOjEwNDRDMDAwOEU1RTBBRkI5MEZBOEI0NjQ4OEI3NjQwQTg4Qzc1REU5MAorOjEwNDREMDAwQTgyMDc0MUE1MEU4NTVEQzU4RThBNkZGNzMxMEIwMDIwMworOjEwNDRFMDAwRTg1RkNCRUJDOTkwMjVGRjAwOEJDOEVCMzY5MEE4MDFBNQorOjEwNDRGMDAwNzUyMjQ2ODNFNkZFM0I3NjA4NzQ3OUFEOEFGQ0IzRjBGQworOjEwNDUwMDAwMjJGQjNBRkI3NEUwM0FCRUEwMDA3NDJFRThEMkZENzNBMQorOjEwNDUxMDAwNzdFQjlCOTA4QUUwMjRGQzg4NDY0ODhCNEU0QUY2QzQ5MQorOjEwNDUyMDAwMDI3NDFERThCQkZENzI4NkU4MTNGMzg5NzY0MEUzOTNCRAorOjEwNDUzMDAwODM0RTQ4MDM4OTRFNEFFOTc0RkYyNUZGMEY4QkM4OTBDQworOjEwNDU0MDAwOEI4Njk4MDA4NUMwNzQxQTUxOEE4RUEwMDBDMEU5MDQzOQorOjEwNDU1MDAwQkEwMTAwRDNFMjU5MjNDMjc0MDgwM0YxODk3NjQwRTkxNQorOjEwNDU2MDAwNjFGRkZGNTY2MkUzRjU4MzRFNDgwMTg5NEU0QTg5NzYyMgorOjEwNDU3MDAwNDBFOTNBRkY4MTRFMjYwMDEwOEI0NjUwM0I0NjQ2Nzc3NQorOjEwNDU4MDAwMDNFODUyRkRFOTI3RkY5MDg4QkVBMDAwRUJBQzBBMDZDNQorOjEwNDU5MDAwOTAxMjhBRTBCQTA2MDFCMDA0RUVFQzg0QzA3NTEyQjA0NQorOjEwNDVBMDAwMDRFRThBQzRFRTMyRTRBODgwNzQwNkM3MDY4NDEyMDBDMgorOjEwNDVCMDAwMDA4ODI2OTAxMkMzMEEwNjkwMTI4QUUwQkEwNjAxRUMxRgorOjEwNDVDMDAwQTgwMTc1RURCQTA4MDE4QUM0RUUzMkU0QTg4MDc0RTE0RQorOjEwNDVEMDAwQzcwNjg0MTIwMDAwODgyNjkwMTJDMzkwMzZGNzA2MjQ3RQorOjEwNDVFMDAwMDEwMTAwNzUzMDM2OEIwRURBMTI4MEY5MzY3MzI2MzNFRQorOjEwNDVGMDAwQzA4RUMwOEVEOEJGREMxMjAzRjlCMDA4RTg3N0NBODUzOAorOjEwNDYwMDAwRUQ3NDBFOEQ3NjRDQTVBNUE1ODBDMTA2ODBGOTM2NzI5NQorOjEwNDYxMDAwRTk4OTBFREExMkMzQzM5MEY3MDYyNjAxMDEwMDc1RjY4OAorOjEwNDYyMDAwOEIwRTIwMTM4NUM5NzVFRTMzQzA4RUMwOEVEOEJGMjQ4MworOjEwNDYzMDAwMTNCOTM2MDBCMDBBRTgzRENBODVFRDc1MDZFOTEyMDFFNgorOjEwNDY0MDAwRTkwQTAxMzNEQjhBNDY0QzhBQTZCMzAwRkVDQzc4MEUxOQorOjEwNDY1MDAwODhBNkIzMDAwQURDQjQwQUFCODNFOTAyNzZFMjhBQTYzNAorOjEwNDY2MDAwQjIwMEZFQ0M3ODBFODhBNkIyMDAwQURDQjQwOEFCODM5OAorOjEwNDY3MDAwRTkwMjc2Q0M4QUE2QjEwMEZFQ0M3ODE4OEFCRUIwMDBEQQorOjEwNDY4MDAwNzUwNDg4QTZCMDAwODhBNkIxMDAwQURDOEFFN0FCODM2RgorOjEwNDY5MDAwRTkwMjc2QUM4QUE2QjQwMEZFQ0M3ODFGODhBNkI0MDBFNgorOjEwNDZBMDAwMEFEQ0I0MEJBQjhBODZCQzAwOEFBNkJEMDBBQjhCODY0NQorOjEwNDZCMDAwQkUwMEFCODNFOTA2NzY4ODhBNDY0QzhBQTZCNjAwRkUyMQorOjEwNDZDMDAwQ0M3ODE5ODhBNkI2MDAwQURDQjQwQ0FCRThEQkNCQUIxRgorOjEwNDZEMDAwOEI0NjJBQUI4M0U5MDY3Njc0OEE0NjRDOEFBNkI3MDBENQorOjEwNDZFMDAwRkVDQzc4MTk4OEE2QjcwMDBBRENCNDBEQUJFOEJBQ0JDQgorOjEwNDZGMDAwQUI4QjQ2MzRBQjgzRTkwNjc2NTM4QTQ2NEM4QUE2QjgyMAorOjEwNDcwMDAwMDBGRUNDNzgxOTg4QTZCODAwMEFEQ0I0MEVBQkExNTAyNAorOjEwNDcxMDAwMTJBQkExNTIxMkFCODNFOTA2NzYzMjhBNDY0QzhBQTZDNgorOjEwNDcyMDAwQjUwMEZFQ0M3ODE4ODhBNkI1MDAwQURDQjQwRkFCOEJCOAorOjEwNDczMDAwODY5QTAwQUI4Qjg2OUMwMEFCODNFOTA2NzYwRjg0REIwMAorOjEwNDc0MDAwNzUwM0U5RUZGRUIwMEFFOEY4QzhFOUU3RkVCMDBBRTg0OQorOjEwNDc1MDAwRjBDOEY3RDk4M0MxMzY4QkMxMEQ4MDAwODZDNEEzMjI2RgorOjEwNDc2MDAwMTM0MTQxODkwRTIwMTNDM0ExODQxMjJCQzE3MjExQTNERQorOjEwNDc3MDAwODQxMkJFMjIxM0QxRTlGMzZGOTA4OTBFMjAxM0Y4QzM3RgorOjEwNDc4MDAwRjlDM0MzODFFRjZBMTM3NEY5OEJDNzBEODAwMDg2QzQyNworOjEwNDc5MDAwQTM2ODEzNDc0Nzg5M0U2NjEzQzNGNzA2MkEwMTAxMDA0MQorOjEwNDdBMDAwNzVFMDhCMEU2NjEzRTMwNzgwRjkyMDc3RDU0OTQ5MzMwRQorOjEwNDdCMDAwQzA4RUMwOEVEOEJGNkExMzhCRjcwM0Y5ODNDNjM0M0IxMworOjEwNDdDMDAwRkU3N0MwQjAwRUU4QUVDODg1RUQ3NEI3OEE0NjRDOEE1NQorOjEwNDdEMDAwQjZCOTAwRkVDRTc4MTU4OEI2QjkwMDhBQTZBOTAwODBDMQorOjEwNDdFMDAwQ0NDMEFCODRGNjc0MDVCMDBFRTg1NkM4OEFCNkJBMDBFMQorOjEwNDdGMDAwRkVDRTc4Q0I4QTlFQTkwMDhBQkVBQjAwOEE1NjNGOEEzRAorOjEwNDgwMDAwRjMzMkY3MEFCNkFDMDBDNjg2QUMwMDAwMjJGMjc0NEI1NQorOjEwNDgxMDAwRjZDNjA4NzQwRkI0MDJGNkMzMDg3NTAyQjQwM0FCODA4MQorOjEwNDgyMDAwRTZGNzc0MzdGNkM2MDE3NDBGQjQwMEY2QzMwMTc1MDJEQgorOjEwNDgzMDAwQjQwMUFCODBFNkZFNzQyM0Y2QzYwMjc0MEZCNDA0RjYyRQorOjEwNDg0MDAwQzMwMjc1MDJCNDA1QUI4MEU2RkQ3NDBGRjZDNjA0NzRBRQorOjEwNDg1MDAwMEFCNDA2RjZDMzA0NzUwMkI0MDdBQkM2ODZCQTAwMDBGNAorOjEwNDg2MDAwODg5RUFCMDBFOTU4RkY5MEExODQxMjJCQzE3MjExQTM1RQorOjEwNDg3MDAwODQxMkJFNjgxM0QxRTlGMzZGOTA4OTBFNjYxM0Y4QzNGMgorOjEwNDg4MDAwRjlDM0ExODQxMjQxNDEyQkMxNzIyM0EzODQxMjhCQzFBRAorOjEwNDg5MDAwNDg0ODMyRTQwQzgwODZDNEVGOTA5MDkwOTA5MEJFREM0MworOjEwNDhBMDAwMTI0OTQ5RDFFOUYzNkY5MDg5MEVEQTEyRjhDM0Y5QzNCRQorOjEwNDhCMDAwOEFDODhBNDY0Q0I0MDE4M0VCMDZFRjkwOTA5MDkwOTBBMgorOjEwNDhDMDAwQjgwMTAwRUY5MDkwOTA5MDkwOEFDMUVGOTA5MDkwOTBGNgorOjEwNDhEMDAwOTBFOTk3MDBFOUFDMDAzM0MwOEVEODg5MUU4NDEyQzNEQQorOjEwNDhFMDAwMzY4QjFFODQxMkZCOTBGQUIwMENFODg5Qzc4NUVENzRGNAorOjEwNDhGMDAwRTZDNTc2MEM4M0ZCMTQ3MkRCRkI5MEZBQUQ4NUMwNzhCRAorOjEwNDkwMDAwQUY3NEUyOEJGRTAzRjgzNjhCMEU4NjEyM0JDMTc3MDI0MgorOjEwNDkxMDAwOEJDODgzRUIwNDNCRDk3NzAyOEJDQjMzQzA4QTQ2NENFMAorOjEwNDkyMDAwRUY5MDkwOTA5MDkwOEJDMUVGOTA5MDkwOTA5MDQxODBGQworOjEwNDkzMDAwRTFGRTJCRDk1MUQxRTlGMzZGOTA1OThCQzc0MDI0RkU4QQorOjEwNDk0MDAwM0JDNjc0MjcyQkZFNEU0RTUzOEI1RTEwM0JGMzcyMTMwNworOjEwNDk1MDAwMDMxRjgzQzMwMzgwRTNGRUM3MDcwMDAwODM2RTc0MDI1NgorOjEwNDk2MDAwODk1RTEwNUI4OTNDODk3NjBDRUI4OTg5NzYwQzM5NzZGNworOjEwNDk3MDAwMTA3NzgxNzIwODgzM0MwMDc0MDNFOTc3RkZFODBEQkU2RAorOjEwNDk4MDAwRTk2MkZGMzY4OTFFODQxMkIwMENFOEI1QzYzM0MwOEVDQQorOjEwNDk5MDAwRDhDM0ExODQxMjNEMTAwMDcyNzdCQTA0MDEzQjA2ODg4NworOjEwNDlBMDAwMTI3NTA2QzcwNjdFMTIwMDAwOEIwRURBMTJFMzBCRThDMgorOjEwNDlCMDAwRDBGRTcyNTdDNzA2N0UxMkZGN0Y4QjBFMjAxM0UzMEJDQgorOjEwNDlDMDAwRThBNUZENzI0NkM3MDY3RTEyRkY3RjhCMEU2NjEzRTNENQorOjEwNDlEMDAwMEJFODk0RkU3MjM1QzcwNjdFMTJGRjdGQTEyODAxQTk1RAorOjEwNDlFMDAwMDEwMDc1MDNFOEY5RkU4MDNFOEQxMjAwNzUxREExODQ1QgorOjEwNDlGMDAwMTIzRDIwMDA3NjE1M0IwNjgyMTI3NjA5QTE3RTEyM0JGRAorOjEwNEEwMDAwMDY4MDEyNzIwQzgwMEU5MDEyODBDM0IwODBGRjE2N0M1QworOjEwNEExMDAwMTJDMzgwMEU5MDEyNDBDMzZBMDAxRkM2MDY5MzEyMTc3RAorOjEwNEEyMDAwOUMwRUU4QjdDODZBMDAxRkM2MDY5MzEyMjA5QzBFRThDOQorOjEwNEEzMDAwQUFDODZBMDAxRkM2MDY5MzEyMTY5QzBFRTg5REM4OTA2RAorOjEwNEE0MDAwQkEwNjAxRUNBODIwNzVDQUZCOTBGQUJBMDQwMUVEOTBGMQorOjEwNEE1MDAwOTA5MDkwOTAzQTA2OTQxMjc3QkUzM0RCOEFEOEQxRTNENworOjEwNEE2MDAwMkU4QkFGNDQwMEM0N0UwODg1RkY3NEI5RjZDNEMwNzVCMAorOjEwNEE3MDAwNTUzMkMwQzFFMDAyODBFNEYwOEJGMEVEOTA5MDkwOTA1MAorOjEwNEE4MDAwOTA4NUMwNzRCQjhCQzg0MTgwRTFGRTBCQzY4QjVFNTAyNQorOjEwNEE5MDAwNEI0QjJCRDk3ODlDQUI4QkMxNDA0MDAxNDY0RUQxRTlBMgorOjEwNEFBMDAwRjM2RDkwODk1RTUwODk3RTA4OEI0NjI2ODBFNEVGODlGRAorOjEwNEFCMDAwNDYyNkY2QzQwMTc1MENGNzQ2NDgwQzAwNzUwNUIwMDI5MQorOjEwNEFDMDAwRTg3RkM1RTk3QUZGODZDNDhCQzg4M0UxM0Y0MTgwRTE3NgorOjEwNEFEMDAwRkVFMzBBM0M4MDcyMDkyNDNGQjRGMEVCQjBFOTYwRkZDQQorOjEwNEFFMDAwMjUzRjAwMzNGRjhFQzdCRjk2MTI4QkY3RDFFOUYzNkREOAorOjEwNEFGMDAwOTA4QkM4RTg0OEVERTk0N0ZGOTA2QTAwMUZDNjA2OTMwRgorOjEwNEIwMDAwMTIxQjlDMEVFOEQ1Qzc5MDYwMUUwNjMzQzA4RUQ4OEU0RgorOjEwNEIxMDAwQzBCQTA2MDFFQ0E4MDQ3NEUxQjAwNkVFRUNBMjhDMTI1NworOjEwNEIyMDAwQTg0MDc0MTFBMTg4MTJBMzg0MTJDNjA2OEQxMjAwRTg1MQorOjEwNEIzMDAwNjBGRUEwOEMxMkE4ODA3NDAzRTgwNEZGQjgwMDgwQkE1RAorOjEwNEI0MDAwMjJGRkVGMDcxRjYxQ0Y5MDZBMDAxRkM2MDY5MzEyMUI1QQorOjEwNEI1MDAwOUMwRUU4ODdDNzkwNjAxRTA2MzNDMDhFRDg4RUMwQkEwMAorOjEwNEI2MDAwMDYwMUVDQTgwNDc0RTFCQTA4MDFFQ0EyOEMxMkE4NDA3QQorOjEwNEI3MDAwNzQxMUExODgxMkEzODQxMkM2MDY4RDEyMDBFODEyRkVEOQorOjEwNEI4MDAwQTA4QzEyQTg4MDc0MDNFOEI2RkVCODAwODBCQTIyRkY5OQorOjEwNEI5MDAwRUYwNzFGNjFDRjkwRUU4NkUwRUU4NkUwRUM4NkUwRUM1QQorOjEwNEJBMDAwODZFMDgwRTFGRUYzNkM5MDgwRTFGRUYzNkU5MDA1MDBGQworOjEwNEJCMDAwNzU0N0E4NEIwNTAwNzU0OEE4NEIwNTAwQTM0OEE4NEJBRQorOjEwNEJDMDAwMDUwMDM1NDlBODRCMDYwMDk4NDg5NjRCMDYwMEJBNDhBMAorOjEwNEJEMDAwOTY0QjA2MDBDMzQ4OTY0QjA2MDBDQjQ4OTY0QjA2MDAwMgorOjEwNEJFMDAwMjA0OTk2NEIwNjAwMjg0OTk2NEIwNjAwNEU0QTlDNEI5RQorOjEwNEJGMDAwMDYwMDdCNEE5QzRCMDUwMDlFNEFBMjRCMDUwMEVDNEFFRQorOjEwNEMwMDAwQTI0QjAwMDAxRTA2ODMzRTQ0MTIwMDc0MDlBMDA2MDE1OAorOjEwNEMxMDAwMjQzMDNDMzA3NDFBOENDODhFRDg4RUMwQkJBRTRCOEJGRgorOjEwNEMyMDAwMEZFMzBEOEI3RjAyOEI3NzA0RjNBNDgzQzMwNkVCRUZCNgorOjEwNEMzMDAwMDcxRkMzOTAzM0MwQTMzRTAxQjkwQzAxQkU0MDAxOEJENgorOjEwNEM0MDAwRkU4MUM2QjQwRjg5MDQ4QkM2MkJGMTNCQzc3N0Y2QTM1MAorOjEwNEM1MDAwM0MwMUMzOTAxRTA2NjAzNjhCMkUzRTAxOEI1RTAwM0JFRQorOjEwNEM2MDAwRUI3NDJCOEI3NjAyODkxQzg5NzcwMjM2QTEzQzAxODk3MworOjEwNEM3MDAwNDYwMDM2ODkyRTNDMDE4QkVCRkY0RTA2NzQwODhCNkU4NgorOjEwNEM4MDAwMDBGRjRFMDY3NUY4MzY4OTJFM0UwMThCNjYwNDYxMDdEQgorOjEwNEM5MDAwMUZDMzFFMDY2MDM2OEIyRTNFMDE5ODg5NDYwNjg5NjYyNAorOjEwNENBMDAwMDQzQjZFMDA3NDEwOEI2RTAwRkY0RTA2NzVGODM2ODk1QgorOjEwNENCMDAwMkUzRTAxOEI2NjA0NjEwNzFGQzNDMzkwMUUwNjYwOUNENQorOjEwNENDMDAwRkEzM0VEOEVERDhCMkUzQzAxODVFRDc0M0Q4QjRFMDA2RAorOjEwNENEMDAwODkwRTNDMDE4QkNDOERBNjBBMDE1NjFFMDY2MDg5NjZBMgorOjEwNENFMDAwMDRDNzQ2MDgwRjFBQzc0NjA2MDEwMDhCMUUzRTAxODUwMQorOjEwNENGMDAwREI3NDFEOEJDNTg3MDc4OTQ2MDA4OTVFMDI4QkQ4ODlDNgorOjEwNEQwMDAwNkYwMjhCRTE5RDYxMDcxRkY4QzM5RDYxMDcxRkY5QzMwNworOjEwNEQxMDAwODkyRTNFMDE4OTZFMDA4OTZFMDI4N0UxOUQ4QkUxRUI1MQorOjEwNEQyMDAwRTQwMDBEMEE1NDY1NzI2RDY5NkU2MTZDNzMyMDczNzVEMQorOjEwNEQzMDAwNzA3MDZGNzI3NDY1NjQzQTBEMEEzMTI5MjA0MTRFNTNDOAorOjEwNEQ0MDAwNDkyMDYzNkY2RDcwNjE3NDY5NjI2QzY1MEQwQTMyMjk2OAorOjEwNEQ1MDAwMjA1Nzc5NzM2NTIwMzMzMDBEMEE1MDZDNjU2MTczNjU5NworOjEwNEQ2MDAwMjA3MzY1NkM2NTYzNzQzQTIwMDAwRDBBNjM2RjY0NjU5NworOjEwNEQ3MDAwMjA3MzY1Njc2RDY1NkU3NDNEMDAwRDBBNEQ2RjZFNjkzOQorOjEwNEQ4MDAwNzQ2RjcyMjA3NjMyMkUzNTBBMEQwQTNFMDAwRDBBNTBERAorOjEwNEQ5MDAwNjE3MjY0NkY2RTNGMDAwRDBBNEU2RjIwNjE2NDY0NzIzMQorOjEwNERBMDAwNjU3MzczMjA3MzcwNjU2MzY5NjY2OTY1NjQwMDBEMEFENQorOjEwNERCMDAwM0EwMDBEMEEwMDRDNkY2MzNEMDAwRDBBNDY0MTU0NDExNAorOjEwNERDMDAwNEMyMDQ1NTI1MjRGNTIzRDAwMEQwQTRENkY2RTY5NzQ5MgorOjEwNEREMDAwNkY3MjIwNjM2RjZENkQ2MTZFNjQ3MzNBMkQwRDBBMjBFMgorOjEwNERFMDAwMjAyMDQ0MkM2NDVCNUI3ODc4Nzg3ODNBNUQ3ODc4NzgxQQorOjEwNERGMDAwNzg1RDIwMkQyMDY0NzU2RDcwMjA2RDY1NkQ2RjcyNzkwMgorOjEwNEUwMDAwMEQwQTIwMjAyMDRDMkM2QzVCNUI3ODc4Nzg3ODNBNUQxQQorOjEwNEUxMDAwNzg3ODc4Nzg1RDIwMkQyMDY0NzU2RDcwMjA3MzY5NkVDOAorOjEwNEUyMDAwNjc2QzY1MjA2QzY5NkU2NTBEMEEyMDIwMjA0NTJDNjUzNQorOjEwNEUzMDAwNUI1Qjc4Nzg3ODc4M0E1RDc4Nzg3ODc4NUQyMDJEMjA5QgorOjEwNEU0MDAwNjU2NDY5NzQyMDZENjU2RDZGNzI3OTBEMEEyMDIwMjA4QworOjEwNEU1MDAwNDYyQzY2NUI1Qjc4Nzg3ODc4MjA1RDc4Nzg3ODc4NUQyQQorOjEwNEU2MDAwMjAyRDIwNjY2OTZDNkMyMDZENjU2RDZGNzI3OTIwNzBFNQorOjEwNEU3MDAwNjE3MjYxNjc3MjYxNzA2ODczMEQwQTIwMjAyMDQ5NUI1RQorOjEwNEU4MDAwNzg3ODc4Nzg1RDIwMjAyMDIwMjAyMDIwMjAyMDIwMkQ3OAorOjEwNEU5MDAwMjA3NzZGNzI2NDIwNjk2RTcwNzU3NDIwNjY3MjZGNkQxMgorOjEwNEVBMDAwMjA3MDZGNzI3NDBEMEEyMDIwMjA2OTVCNzg3ODc4NzgwMgorOjEwNEVCMDAwNUQyMDIwMjAyMDIwMjAyMDIwMjAyMDJEMjA2Mjc5NzRCOQorOjEwNEVDMDAwNjUyMDY5NkU3MDc1NzQyMDY2NzI2RjZEMjA3MDZGNzJFOAorOjEwNEVEMDAwNzQwRDBBMjAyMDIwNEY3ODc4Nzg3ODIwNzg3ODIwMjA2OAorOjEwNEVFMDAwMjAyMDIwMjAyMDIwMjAyRDIwNkY3NTc0NzA3NTc0MjBDNAorOjEwNEVGMDAwNzc2RjcyNjQyMDc0NkYyMDcwNkY3Mjc0MEQwQTIwMjBCNworOjEwNEYwMDAwMjA2Rjc4Nzg3ODc4MjA3ODc4MjAyMDIwMjAyMDIwMjA0MgorOjEwNEYxMDAwMjAyMDJEMjA2Rjc1NzQ3MDc1NzQyMDYyNzk3NDY1MjA1RgorOjEwNEYyMDAwNzQ2RjIwNzA2RjcyNzQwRDBBMjAyMDIwNDc1QjVCNzhDRAorOjEwNEYzMDAwNzg3ODc4M0E1RDc4Nzg3ODc4NUQyMDIwMjAyRDIwNjcyMQorOjEwNEY0MDAwNkY3NDZGMjA2MTY0NjQ3MjY1NzM3MzBEMEEyMDIwMjA5MgorOjEwNEY1MDAwNTc1QjVCNzg3ODc4NzgzQTVENzg3ODc4Nzg1RDIwMjA1MAorOjEwNEY2MDAwMjAyRDIwNzc2MTc0NjM2ODIwNjEyMDc3NkY3MjY0MEQ1MworOjEwNEY3MDAwMEEyMDIwMjA0MzIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyNAorOjEwNEY4MDAwMjAyMDIwMjAyMDJEMjA2OTZFNzQ2NTcyNzI3NTcwNzQ0NworOjEwNEY5MDAwNzMyMDZGNjY2NjBEMEEyMDIwMjA1MzIwMjAyMDIwMjBEOQorOjEwNEZBMDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJEMjA2OTZFNzQwOQorOjEwNEZCMDAwNjU3MjcyNzU3MDc0NzMyMDZGNkUwRDBBMjAyMDIwNzNGNQorOjEwNEZDMDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjBFMQorOjEwNEZEMDAwMkQyMDczNjk2RTY3NkM2NTIwNzM3NDY1NzAwRDBBMjBFRgorOjEwNEZFMDAwMjAyMDQyNzg3ODc4NzgyMDIwMjAyMDIwMjAyMDIwMjAzRgorOjEwNEZGMDAwMjAyMDIwMkQyMDYyNzI2NTYxNkI3MDZGNjk2RTc0MjBCNQorOjEwNTAwMDAwNzM2NTc0MEQwQTIwMjAyMDYyMjAyMDIwMjAyMDIwMjA5QgorOjEwNTAxMDAwMjAyMDIwMjAyMDIwMjAyMDIwMkQyMDYyNzI2NTYxNkIxRQorOjEwNTAyMDAwNzA2RjY5NkU3NDIwNjM2QzY1NjE3MjBEMEEyMDIwMjBCOAorOjEwNTAzMDAwNTIyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAzRQorOjEwNTA0MDAwMjAyRDIwNzI2NTczNzQ2MTcyNzQyMDYyNzI2NTYxNkJDOQorOjEwNTA1MDAwNzA2RjY5NkU3NDBEMEEyMDIwMjA3MjIwMjAyMDIwMjA5RAorOjEwNTA2MDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJEMjA3MjY1Njc1NQorOjEwNTA3MDAwNjk3Mzc0NjU3MjczMjA2MTc0MjA2MjcyNkI3MDc0MEQ1MQorOjEwNTA4MDAwMEEyMDIwMjA1ODJDNzgyMDZFMjAyMDIwMjAyMDIwMjA0QworOjEwNTA5MDAwMjAyMDIwMjAyMDJEMjA2NTc4NjE2RDY5NkU2NTIwNjNCOQorOjEwNTBBMDAwNjg2MTZFNkU2NTZDMjA2RTBEMEEyMDIwMjA0ODJDM0ZEMgorOjEwNTBCMDAwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDIwMjAyMDJEMjBFMworOjEwNTBDMDAwNzQ2ODY5NzMyMDZENjU3MzczNjE2NzY1MDAxQjVCMzI3QgorOjEwNTBEMDAwNEExQjVCMzEzQjMxNDg0MTRFNTM0OTIwNTQ2NTcyNkQ0OAorOjEwNTBFMDAwNjk2RTYxNkMwRDBBMEEwMDFCNUI0QjAwMUI1QjRBMDA3QQorOjEwNTBGMDAwMUI1QjMyNEExQjVCMzEzQjMxNDgwMDFCNUI0NDIwMUI2RQorOjEwNTEwMDAwNUI0NDAwMUI1QjMxM0IzNzMyNDgwMDFCNUIwMDNCMDBCQworOjEwNTExMDAwNDgwMDFCNUI3MzAwMUI1Qjc1MDAxQjdBMkIwQjdGMUIwRQorOjEwNTEyMDAwN0EyRTBDN0YxQjdBMkQwODdGMUI3QTJDMEE3RjFCN0EyNAorOjEwNTEzMDAwMjIwODdGMUE1Nzc5NzM2NTIwMzMzMDIwNTQ2NTcyNkRDOQorOjEwNTE0MDAwNjk2RTYxNkMwRDBBMDAxQjU0MDAxQjU5MDAxQTAwMUU4OQorOjEwNTE1MDAwMDAwODIwMDgwMDAwMUIzRDAwMDAwMDFCNDYwMDBEMDA1OQorOjEwNTE2MDAwM0Y0NDY0NDU2NTQ2NjY0NzY3NDg2ODQ5Njk0RjZGNDNGMQorOjEwNTE3MDAwNjM1MzczNDI2MjUyNzI1Nzc3NTg3ODRDNkMzQzYwRDREOAorOjEwNTE4MDAwNTdENDU3NTA1ODUwNThENjU5RDY1OUI0NTlCNDU5M0M5OQorOjEwNTE5MDAwNjAzQzYwNkM1NzQ4NTcyNjU3MDY1NzkwNTc5MDU3OTg3MQorOjEwNTFBMDAwNTc0ODVGMEM1RjU4NUYzMzVGNDA1RkEwNTdBMDU3RkVDMgorOjEwNTFCMDAwNTlGRTU5REM1N0RDNTc4ODYxOTg2MUMwNjFDQzYxRDhEMQorOjEwNTFDMDAwNjFGNjYxMDI2MjIyNjJGODU2NEE2MjU4NjI2MDU5MjBCMgorOjEwNTFEMDAwMjA2NjZDNjE2NzczM0QwMDIwMjA2MTc4M0QwMDIwMjBDRgorOjEwNTFFMDAwNjI3ODNEMDAyMDIwNjM3ODNEMDAyMDIwNjQ3ODNEMDBGNworOjEwNTFGMDAwMjAyMDYzNzMzRDAwMjAyMDY0NzMzRDAwMjAyMDY1NzNGMAorOjEwNTIwMDAwM0QwMDIwMjA3MzczM0QwMDIwMjA2NDY5M0QwMDIwMjA3NAorOjEwNTIxMDAwNzM2OTNEMDAyMDIwNjI3MDNEMDAyMDIwNzM3MDNEMDBDNgorOjEwNTIyMDAwMjAyMDY5NzAzRDAwMjA2MzY4NjE2RTY1NkMzRDAwMjA0MAorOjEwNTIzMDAwMjAyMDIwNzM2NTY3M0QwMDIwNzQ2OTVGNzM3NDcyM0RBMAorOjEwNTI0MDAwMDAyMDc0Njk1Rjc0NkY3MzNEMDAyMDc0Njk1RjZENjE0NQorOjEwNTI1MDAwNzgzRDAwMjA3NDY5NUY2MjYxNzMzRDAwMjA3NDY5NUY2RQorOjEwNTI2MDAwNzM2OTdBM0QwMDIwNzQ2OTVGNzM3NDY2M0QwMDIwNzQzMQorOjEwNTI3MDAwNjk1RjcyNkY2RjNEMDAyMDc0Njk1RjY2NkM2NzNEMDAwNworOjEwNTI4MDAwMjA3NDY5NUY3NDZGNzQzRDAwMjA3MjY5NUY3MDYzNkU5MworOjEwNTI5MDAwM0QwMDIwNzI2OTVGNzM3NDcyM0QwMDIwNzI2OTVGNzMxNAorOjEwNTJBMDAwNzQ2NjNEMDAyMDcyNjk1RjcyNkY2RjNEMDAyMDcyNjkwNQorOjEwNTJCMDAwNUY2MjYxNzMzRDAwMjA3MjY5NUY3MzY5N0EzRDAwMjAwRgorOjEwNTJDMDAwNzI2OTVGNzQ2Rjc0M0QwMDIwNzI2OTVGNkQ2OTZFM0QzNQorOjEwNTJEMDAwMDAyMDcyNjk1RjY2NkM2NzNEMDAyMDcyNjk1Rjc0NkZDMQorOjEwNTJFMDAwNzMzRDAwMjA3MjY5NUY3NDY4NzIzRDAwMjA3NDY4NUZDRQorOjEwNTJGMDAwNzM3NDY2M0QwMDIwNzQ2ODVGNzM3NDcyM0QwMDIwNzQ5RgorOjEwNTMwMDAwNjg1RjYyNjE3MzNEMDAyMDc0Njg1RjczNjk3QTNEMDA3NQorOjEwNTMxMDAwMjA3NDY4NUY3NDcyNjczRDAwMjA3NDY4NUY2NjZDNjcxNAorOjEwNTMyMDAwM0QwMDIwNzQ2ODVGNjM2RTc0M0QwMDIwNzI2ODVGNzM5NworOjEwNTMzMDAwNzQ3MjNEMDAyMDcyNjg1RjczNzQ2NjNEMDAyMDcyNjg2RAorOjEwNTM0MDAwNUY2MjYxNzMzRDAwMjA3MjY4NUY3MzY5N0EzRDAwMjA3RgorOjEwNTM1MDAwNzI2ODVGNzM3MDYxM0QwMDIwNzI2ODVGNjE3MzZGM0RCQQorOjEwNTM2MDAwMDAyMDcyNjg1RjcyNkY2RjNEMDAyMDcyNjg1RjY2NkMyQworOjEwNTM3MDAwNjczRDAwMjA2RDVGNjM2MTcyNjUzRDAwMjA3MDc0NUY2MgorOjEwNTM4MDAwNjY2QzZGM0QwMDIwNjE3MzVGNjY2QzZGM0QwMDIwNzIzQworOjEwNTM5MDAwNkQ1RjY2NkM2RjNEMDAyMDIwMjA3MTVGNjk2RTNEMDA3RgorOjEwNTNBMDAwMjAyMDcxNUY2Rjc1NzQzRDAwMjA3MTVGNjQ3MjYxNkVDMworOjEwNTNCMDAwM0QwMDIwMjA3MTVGNzQ2OTZEM0QwMDIwMjAyMDcxNUZFOQorOjEwNTNDMDAwNjY2MzNEMDAyMDcxNUY3Mzc0NjE3NDNEMDAyMDcxNUZGRQorOjEwNTNEMDAwNjQ2MTc0NjEzRDAwMjA3MTVGNkQ2RjY0NkQzRDAwMjBGQworOjEwNTNFMDAwNjg2MTZFNjQ1RjZGM0QwMDIwNjg2MTZFNjQ1RjYyM0Q1RQorOjEwNTNGMDAwMDAyMDY4NjE2RTY0NUY2NTNEMDAyMDY4NjE2RTY0NUZENworOjEwNTQwMDAwNjkzRDAwMjAyMDZGNzA2RjczNzQzRDAwMjAyMDc0NjkyNworOjEwNTQxMDAwNkQ2NTZGM0QwMDIwNjM3NTczNzQ2RDMxM0QwMDIwNjNEMQorOjEwNTQyMDAwNzU3Mzc0NkQzMjNEMDAyMDYzNzU3Mzc0NkQ2NDNEMDA1NworOjEwNTQzMDAwMjA3NDc4NzI2MTc0NjUzRDAwMjA3Mjc4NzI2MTc0NjVDMQorOjEwNTQ0MDAwM0QwMDIwMjA2MzVGNkQ2MTcwM0QwMDIwNjM1RjYxNjRGQgorOjEwNTQ1MDAwNjQ3MjNEMDAyMDYzNUY2MTY5NzM3MjNEMDAyMDYzNUY4OQorOjEwNTQ2MDAwNzg3NDYxNjczRDAwMjA2MzVGNjQ2NTY2NzIzRDAwMjA2QgorOjEwNTQ3MDAwNjM1RjY2NkM3MzY4M0QwMDIwNzQ3ODZENjE3ODczM0Q3RQorOjEwNTQ4MDAwMDAyMDcyNjk1RjY1NkQ3MzNEMDAyMDIwNjM1RjZDNzM1RgorOjEwNTQ5MDAwNzIzRDAwMjAyMDYzNUY2OTY1NzIzRDAwMjAyMDYzNUZEQworOjEwNTRBMDAwNjY2MzcyM0QwMDIwMjA2MzVGNkQ2MzcyM0QwMDIwMjBDMworOjEwNTRCMDAwNjM1RjZDNjM3MjNEMDAyMDIwNjM1RjY0NzM3MzNEMDAyMworOjEwNTRDMDAwMjA2MzVGNjQ3MzczNjkzRDAwMjA2MzVGNjQ3MzczNzI2QworOjEwNTREMDAwM0QwMDIwMjA2MzVGNjk3MzcyM0QwMDIwMjA2MzVGNjM5RAorOjEwNTRFMDAwNjE3MjNEMDAyMDIwNjM1RjY1NjY3MjNEMDAyMDYzNUY0RQorOjEwNTRGMDAwNjU3MjczNzQzRDAwMjA2MzVGNjU2MzZFNzQzRDAwMjBDOAorOjEwNTUwMDAwNjM1RjYyNzI2QjYzM0QwMDIwNjM1RjYyNkY2QjYzM0QzQworOjEwNTUxMDAwMDAyMDYzNUY3MjY1NzA2QzNEMDAyMDYzNUY2MzYzNzM5RQorOjEwNTUyMDAwNzIzRDAwMjA2MzVGNzM3NDc0MzEzRDAwMjA2MzVGNzNDQworOjEwNTUzMDAwNzQ3NDMyM0QwMDJCQzA4RUQ4OEVDMEU4QzIwMEU4RTVGRQorOjEwNTU0MDAwMDBGQUJGODQwMEM3MDVEQzU2OEM0RDAyQkYwQzAwQzdCMworOjEwNTU1MDAwMDU2RTVFOEM0RDAyQkYwNDAwQzcwNUJBNUU4QzREMDIxRAorOjEwNTU2MDAwRThGMTAwOTBFODQ5MDFFODE2MDBGNDkwRThFNTAwQkU5MworOjEwNTU3MDAwQkE0REU4MDkwQ0EwOTMxMkU4NUQwQ0U4QzIwOUVCRTQwRgorOjEwNTU4MDAwRThENTBDRThDNDBDMEFDMDc0RjY4QjFFRjg3OTNDMEQwMworOjEwNTU5MDAwNzQyRTNDMDg3NDE3M0M3Rjc0MTM4M0ZCMjA3RkUxODhEMgorOjEwNTVBMDAwODdENjc5NDM4OTFFRjg3OUU4NzcwQ0VCRDMwQkRCNzQ0NworOjEwNTVCMDAwQ0Y0Qjg5MUVGODc5OEIzNjE2N0FFOEMxMEJFQkMxOTA3OAorOjEwNTVDMDAwRTgwMjAwRUJCQkM2ODdENjc5MDAwQkRCNzQxRUEwRDZDMQorOjEwNTVEMDAwNzlCRjYwNTFCOTFEMDA4QkQ5MDYwRTA3RjJBRTA3NzU3MQorOjEwNTVFMDAwMTc0MTJCRDlEMUUzMkVGRjk3N0Q1MTkwMzNDMEEzRjhGQgorOjEwNTVGMDAwNzlCRTg5NERFODg3MEJDM0JFOEQ0REU4ODAwQkVCRUM3RgorOjEwNTYwMDAwQkEwMDAyQjA5M0VFQjA1NUVFQkExMDAyQjA5M0VFQjAwRAorOjEwNTYxMDAwQUFFRUJBMDAwMkVDM0M1NTc1MDhCQTEwMDJFQzNDQUE5RQorOjEwNTYyMDAwNzQwM0U4MkZGNkMzQkEwNDAyQjAxQUVFQjAyMEVFQjA0RAorOjEwNTYzMDAwMzBFRUIwNDBFRUIwODBFRUJBMDAwMkIwMTNFRUIwMDcyQworOjEwNTY0MDAwRUVCQTA4MDJCMDgwRUVCQTAyMDJCMEJCRUVCQTA0MDJCMworOjEwNTY1MDAwQjAwNUVFQzNDNjA2Q0ExMzAxQzcwNkY4NzkwMDAwQzYzNgorOjEwNTY2MDAwMDZGNjc5MDFDNzA2RDA3OTAwMDBDNzA2RDI3OTAwMDA5NgorOjEwNTY3MDAwQzcwNkQ0NzkwMDAwQzcwNkZBNzkwMDAwQzcwNkZDNzk4RQorOjEwNTY4MDAwMDAwMEM3MDZGRTc5MDAwMEM3MDYwMDdBMDAwMEM3MDZDMgorOjEwNTY5MDAwMDI3QUNFNTk4QzBFMDQ3QUM3MDYwNjdBMDAwMEM3MDYzNQorOjEwNTZBMDAwMjc3QTAwMDBDNjA2Mjk3QTAwQzYwNjJBN0EwMEMzOTAyNworOjEwNTZCMDAwQkUyMjRERThDODBBRTgzRjAwMkMzMTNDMDE3N0Y3RThFQworOjEwNTZDMDAwODEwOThCMzYwQzdBRThCNTBBQkU2QTRERThBRjBBMEUzRQorOjEwNTZEMDAwNThFOEY4MEFCRTdBNERFOEE0MEFDMzkwNjBEMUUzODM4MworOjEwNTZFMDAwRkIxODczMTExRUJBMDAwMDhFREEyRUZGOTdCNzUxOEI4QworOjEwNTZGMDAwRUM4OTQ2MTAxRjYxQ0Y5MEU4NEYwQjBBQzA3NTA1RTg5MgorOjEwNTcwMDAwNTYwQkVCRjRDMzkwODMzRUY4NzkwMTc0MTZCRUQ3NzkzQgorOjEwNTcxMDAwRTgzMTBBOEJEMEFDM0MyQzc0MDQzQzIwNzUwNUU4MjM5RQorOjEwNTcyMDAwMEFFRUMzRTlEMkZFODMzRUY4NzkwMTc0RjZCRUQ3Nzk1QQorOjEwNTczMDAwRTgxMTBBOEJEMEFDM0MyQzc0MDgzQzIwNzQwNEU5QjcwNworOjEwNTc0MDAwRkU5MEU4RkYwOUVGQzM5MDhCMTYwNjdBODMzRUY4Nzk0NgorOjEwNTc1MDAwMDE3NDBCQkVENzc5RThFQjA5OEJEMEEzMDY3QUIwMjA5MQorOjEwNTc2MDAwRTg1NzBCOEIxNjA2N0FFQ0U4NkYwQkMzOEIxNjA2N0E5QworOjEwNTc3MDAwODMzRUY4NzkwMTc0MEJCRUQ3NzlFOEM3MDk4QkQwQTNCMworOjEwNTc4MDAwMDY3QUIwMjBFODMzMEI4QjE2MDY3QUVERTg2NzBCQzM3OAorOjEwNTc5MDAwRkFDNjA2RjY3OTAwQzM5MEM2MDZGNjc5MDFGQkMzOTBGNworOjEwNTdBMDAwMDZFODU4MDlCMDIwRTgxMTBCMjY4QjA1RTg0NzBCQjAzNgorOjEwNTdCMDAwMDhFODA2MEJFODAzMEJFODAwMEJFOEZEMEFCODAxMDA1NworOjEwNTdDMDAwRThDRkY0QkEwMjAyRUMyNDAxNzUwMkVCRENCQTA2MDI1RgorOjEwNTdEMDAwRUMwN0MzOTBDNzA2MDg3QTEwMDBFQjA2QzcwNjA4N0FFNAorOjEwNTdFMDAwMDEwMDA2OEUwNkZDNzk4QjNFRkE3OUU4MEUwOUU4MEI3QgorOjEwNTdGMDAwMDA4OTNFRkE3OThDMDZGQzc5MDdDMzkwQkVCMjRERTg2OQorOjEwNTgwMDAwN0MwOThCMTYwODdBNTJFODJBMDlFODBGMEFFODBDMEE4NAorOjEwNTgxMDAwMzNEQkI5MTAwMDkwMjY4QTAxRThCQzA5RThGRDA5NDM5MgorOjEwNTgyMDAwRTJGNEU4RjcwOUU4RjQwOTMzREJCOTEwMDA5MDI2OEFCRQorOjEwNTgzMDAwMDEzQzIwNzIwNTNDN0U3NjAzOTBCMDJFRThFMzA5NDNEQworOjEwNTg0MDAwRTJFQ0JFQjI0REU4MzYwOTgzQzcxMDVBNEE3NUI3QzNCOQorOjEwNTg1MDAwMDY4RTA2MDA3QThCM0VGRTc5RThBMDA4ODkzRUZFNzkyNgorOjEwNTg2MDAwOEMwNjAwN0E1NzhCMzYwRTdBRTgxMjA5QzcwNjA4N0EzQQorOjEwNTg3MDAwMTAwMEJBMDAwMkU4RTgwMEU4ODFGRjVGQkEwMDAwRTgyMworOjEwNTg4MDAwREUwMEJFQjU0REU4RjYwODhDQzBFODNGMDlCMDNBRTg0NgorOjEwNTg5MDAwOTAwOThCQzdFODM1MDlFODdFMDhFOEMzMDA5MEU4QjdBRgorOjEwNThBMDAwMDlFOEE2MDkwQUMwNzRGNjNDMEI3NTA2ODNFRjEwRUJGNQorOjEwNThCMDAwMTk5MDNDMEE3NTA2ODNDNzEwRUIwRjkwM0MwQzc1MDREOQorOjEwNThDMDAwNDdFQjA3OTAzQzA4NzUyNDRGOTA4QjM2RkU3OThCQzdDOQorOjEwNThEMDAwMkJDNjNEMDAwMTcyQTUzRDEwMDE3MjA0ODNFRTIwOTA5RAorOjEwNThFMDAwODNDNjEwODkzNkZFNzk1NzhCRkVFQjgwM0MyRTc1MDhGNworOjEwNThGMDAwQkEwMTEzRTg2QTAwMDdDM0M2MDYwQTdBMDIzMkM5OTBFMQorOjEwNTkwMDAwM0MzMDcyNEMzQzM5NzYwQzI0NUYzQzQxNzI0MjNDNDY0MAorOjEwNTkxMDAwNzczRTJDMDcyQzMwNTBFOENDMDg1ODAyQzhGRTBFMEFGRgorOjEwNTkyMDAwN0E3NDBGQzBFMTA0RTgyRjA5RTgxRTA5MEFDMDc0RjY3MgorOjEwNTkzMDAwRUJDRTI2ODgwREU4RTAwNzhBRDBFODIzMDA4QUMxM0MzOAorOjEwNTk0MDAwMjA3MjA1M0M3RTc2MDM5MEIwMkVFOEQ1MDhFOTcwRkYwMgorOjEwNTk1MDAwRThDNTA3RTgwQTAwMjY4QTA1RTg3QzA4RTkxREZGOTBFQgorOjEwNTk2MDAwRjYwNjI2N0EwMjc1MDI4NkYyNTI4QjM2MUE3QUU4MEQwRQorOjEwNTk3MDAwMDg1QTUyOEFDNjAyMDYyNDdBRjYwNjI2N0EwMTc1MDY2NQorOjEwNTk4MDAwRTg5RjA4RUIwRDkwMzJFNEU4MEQwODhCMzYxQzdBRThBRQorOjEwNTk5MDAwRUMwNzVBOEFDMjAyMDYyNTdBRjYwNjI2N0EwMTc1MDZBRgorOjEwNTlBMDAwRTg3RjA4RUIwNjkwMzJFNEU4RUQwNzhCMzYxRTdBRThENAorOjEwNTlCMDAwQ0MwN0MzOTAwNjhFMDYwNDdBOEIzRTAyN0FFODNDMDczOQorOjEwNTlDMDAwODkzRTAyN0E4QzA2MDQ3QTA3RkYxRTAyN0FDM0JFOTdDQworOjEwNTlEMDAwNERFOEFBMDdDQjkwMDY1N0JFRDc3OUU4NjYwNzhCRDg2MworOjEwNTlFMDAwRTg2MTA3OEJDODJCQ0I3ODExOEVDM0JGMDAwMEI4RkZDRQorOjEwNTlGMDAwRkY1MUI5MDgwMEYzQUI1OUUyRjc1RjA3QzM5MDA2QkU0OQorOjEwNUEwMDAwRDc3OUU4M0YwNzhCRDhEMUUzMkU4QjlGNDQwMEJFMjY4MQorOjEwNUExMDAwNTJFOEYxMDg4QkMzRThERDA4QjgwMTAwRTg3M0YyRTg0QQorOjEwNUEyMDAwRTAwOEJFMkY1MkU4REQwODhCNDcxOEU4QzgwOEJFNzdBQgorOjEwNUEzMDAwNTJFOEQxMDg4QjQ3MjZFOEJDMDhCRTUzNTJFOEM1MDg5NworOjEwNUE0MDAwOEI0NzFFRThCMDA4QkU1QzUyRThCOTA4OEI0NzIwRThENworOjEwNUE1MDAwQTQwOEJFNkU1MkU4QUQwODhCNDcyNEU4OTgwOEJFODBDMworOjEwNUE2MDAwNTJFOEExMDg4QjQ3MkFFODhDMDhFODk1MDhCRTM4NTIwRQorOjEwNUE3MDAwRTg5MjA4OEIwN0U4N0UwOEJFNDE1MkU4ODcwODhCNDcwQQorOjEwNUE4MDAwMUFFODcyMDhCRTRBNTJFODdCMDg4QjQ3MUNFODY2MDg5MQorOjEwNUE5MDAwQkU2NTUyRTg2RjA4OEI0NzIyRTg1QTA4RTg2MzA4QkVFMworOjEwNUFBMDAwRDE1MkU4NjAwODhCNDczOEU4NEIwOEJFQUQ1MkU4NTQ0NQorOjEwNUFCMDAwMDg4QjQ3MzBFODNGMDhCRUI2NTJFODQ4MDg4QjQ3MzJBQgorOjEwNUFDMDAwRTgzMzA4QkVBNDUyRTgzQzA4OEI0NzJFRTgyNzA4QkVGRQorOjEwNUFEMDAwQkY1MkU4MzAwODhCNDczNEU4MUIwOEU4MjQwOEJFODkyOQorOjEwNUFFMDAwNTJFODIxMDg4QjQ3MDRFODBDMDhCRTkyNTJFODE1MDhEQQorOjEwNUFGMDAwOEI0NzE0RTgwMDA4QkU5QjUyRTgwOTA4OEI0NzJDRTg0NgorOjEwNUIwMDAwRjQwN0JFQzg1MkU4RkQwNzhCNDczNkU4RTgwN0JFREE1RgorOjEwNUIxMDAwNTJFOEYxMDc4QjQ3M0FFOERDMDdCRUUzNTJFOEU1MDdCNQorOjEwNUIyMDAwOEI0NzNDRThEMDA3RThEOTA3QkUxOTUzRThENjA3OEI2NgorOjEwNUIzMDAwNDc0OEU4QzEwN0JFRkU1MkU4Q0EwNzhCNDc0MkU4QjVBRQorOjEwNUI0MDAwMDdCRTA3NTNFOEJFMDc4QjQ3NDRFOEE5MDdCRTdDNTM0RQorOjEwNUI1MDAwRThCMjA3OEI0NzRDRTg5RDA3QkU4NTUzRThBNjA3OEI0NAorOjEwNUI2MDAwNDc0RUU4OTEwN0JFOEU1M0U4OUEwNzhCNDc1MEU4ODU2OQorOjEwNUI3MDAwMDdFODhFMDdCRTIyNTNFODhCMDc4QjQ3NEFFODc2MDc3MworOjEwNUI4MDAwQkVFQzUyRTg3RjA3OEI0NzA4RTg2QTA3QkVGNTUyRTg4QgorOjEwNUI5MDAwNzMwNzhCNDc0MEU4NUUwN0JFMTA1M0U4NjcwNzhCNDdFMworOjEwNUJBMDAwNDZFODUyMDdFODVCMDdCRTZBNTNFODU4MDc4QjQ3N0ExNgorOjEwNUJCMDAwRTg0MzA3QkUzRDUzRTg0QzA3OEI0NzcwRTgzNzA3QkUwNAorOjEwNUJDMDAwNDY1M0U4NDAwNzhCNDc3MkU4MkIwN0JFNEY1M0U4MzQzMworOjEwNUJEMDAwMDc4QjQ3NzRFODFGMDdFODI4MDdCRTJCNTNFODI1MDcwMworOjEwNUJFMDAwOEI0NzBDRTgxMDA3QkUzNDUzRTgxOTA3OEI0NzEwRThDMQorOjEwNUJGMDAwMDQwN0JFNTg1M0U4MEQwNzhCNDc3NkU4RjgwNkJFNjFFOAorOjEwNUMwMDAwNTNFODAxMDc4QjQ3NzhFOEVDMDZCRTczNTNFOEY1MDZDNgorOjEwNUMxMDAwOEI0NzNFRThFMDA2RThFOTA2QkU5NzUzRThFNjA2OEJDOAorOjEwNUMyMDAwNDc1MkU4RDEwNkJFQTA1M0U4REEwNjhCNDc1NEU4QzVEMAorOjEwNUMzMDAwMDZCRUE5NTNFOENFMDY4QjQ3NTZFOEI5MDZCRUIyNTM1NgorOjEwNUM0MDAwRThDMjA2OEI0NzU4RThBRDA2QkVCQjUzRThCNjA2OEJFNAorOjEwNUM1MDAwNDc1QUU4QTEwNkJFQzQ1M0U4QUEwNjhCNDc1Q0U4OTVGQworOjEwNUM2MDAwMDZFODlFMDZCRUNENTNFODlCMDY4QjQ3NUVFODg2MDY5NworOjEwNUM3MDAwQkVENjUzRTg4RjA2OEI0NzYwRTg3QTA2QkVERjUzRTg0RQorOjEwNUM4MDAwODMwNjhCNDc2MkU4NkUwNkJFRTg1M0U4NzcwNjhCNDdDQgorOjEwNUM5MDAwN0NFODYyMDZCRUYxNTNFODZCMDY4QjQ3N0VFODU2MDY0OQorOjEwNUNBMDAwQkVGQTUzRTg1RjA2OEI4NzgwMDBFODQ5MDZFODUyMDY5MworOjEwNUNCMDAwQkU0MjU0RTg0RjA2OEI4NzlFMDBFODM5MDZCRTAzNTQ2NworOjEwNUNDMDAwRTg0MjA2OEI0NzY0RTgyRDA2QkUwQzU0RTgzNjA2OEI4NgorOjEwNUNEMDAwNDc2RUU4MjEwNkJFMTU1NEU4MkEwNjhCODc4RTAwRTgzOQorOjEwNUNFMDAwMTQwNkJFMUU1NEU4MUQwNjhCODc5MDAwRTgwNzA2QkUwQQorOjEwNUNGMDAwMjc1NEU4MTAwNjhCODc5MjAwRThGQTA1RTgwMzA2QkVGMQorOjEwNUQwMDAwMzA1NEU4MDAwNjhCODc5NDAwRThFQTA1QkUzOTU0RTg3MQorOjEwNUQxMDAwRjMwNThCODc5NjAwRThERDA1QkU2RjU0RThFNjA1OEIzQQorOjEwNUQyMDAwODc5ODAwRThEMDA1QkU1RDU0RThEOTA1OEE4N0EwMDBCMQorOjEwNUQzMDAwRThBNzA1QkU1NDU0RThDQzA1OEE0NzI4RTg5QjA1QkU3MQorOjEwNUQ0MDAwNjY1NEU4QzAwNThBODdBMTAwRTg4RTA1RThCMzA1QkU2MQorOjEwNUQ1MDAwNzg1NEU4QjAwNThBODdBMjAwRTg3RTA1QkU4MTU0RTg0MQorOjEwNUQ2MDAwQTMwNThBODdBMzAwRTg3MTA1QkU4QTU0RTg5NjA1OEFEMAorOjEwNUQ3MDAwODdBNDAwRTg2NDA1QkU5MzU0RTg4OTA1OEE4N0E1MDBENgorOjEwNUQ4MDAwRTg1NzA1QkU5QzU0RTg3QzA1OEE4N0E2MDBFODRBMDVDQQorOjEwNUQ5MDAwQkVBNTU0RTg2RjA1OEE4N0E3MDBFODNEMDVCRUFFNTQ0RQorOjEwNURBMDAwRTg2MjA1OEE4N0E4MDBFODMwMDVFODU1MDVCRUI3NTRDMworOjEwNURCMDAwRTg1MjA1OEE4N0E5MDBFODIwMDVCRUMwNTRFODQ1MDVEOQorOjEwNURDMDAwOEE4N0FBMDBFODEzMDVCRUM5NTRFODM4MDU4QTg3QUI1QworOjEwNUREMDAwMDBFODA2MDVCRUQyNTRFODJCMDU4QTg3QUQwMEU4RjkzNQorOjEwNURFMDAwMDRCRURCNTRFODFFMDU4QTg3QUUwMEU4RUMwNEJFRTQ3RQorOjEwNURGMDAwNTRFODExMDU4QTg3QUYwMEU4REYwNEJFRUQ1NEU4MDREQgorOjEwNUUwMDAwMDU4QTg3QjAwMEU4RDIwNEU4RjcwNEJFRjY1NEU4RjQ0NworOjEwNUUxMDAwMDQ4QTg3QjEwMEU4QzIwNEJFRkY1NEU4RTcwNDhBODcxOQorOjEwNUUyMDAwQjIwMEU4QjUwNEJFMDg1NUU4REEwNDhBODdCMzAwRTg5MgorOjEwNUUzMDAwQTgwNEJFMTE1NUU4Q0QwNDhBODdCQjAwRTg5QjA0RTg5RQorOjEwNUU0MDAwQzAwNEJFMUE1NUU4QkQwNDhBODdCQzAwRTg4QjA0QkVCNgorOjEwNUU1MDAwMjM1NUU4QjAwNDhBODdCRTAwRTg3RTA0QkUyQzU1RThDRQorOjEwNUU2MDAwQTMwNDhBODdCRjAwRTg3MTA0RTg5NjA0MDdDMzYwMDZBQworOjEwNUU3MDAwMUUxNjhCRUNGRjRFMTZGNzQ2MUEwMDAyNzQwMUZCQjg5MworOjEwNUU4MDAwMDAwMDhFRDg4RUMwODkyRTJEN0FFOENCMDA4MTY2MUE0QworOjEwNUU5MDAwRkZGRUM2MDYyQTdBMDBFOEQ4MDBCODAwNUZBMzJCN0E3NgorOjEwNUVBMDAwRTg1RDAwODAzRTJBN0EwMDc0MEE4MTRFMUEwMDAxQzYxRAorOjEwNUVCMDAwMDYyQTdBMDAxNzFGMDc2MUNGOTA2MDA2MUUxNjhCRUMyQQorOjEwNUVDMDAwRjc0NjFBMDAwMjc0MDFGQkI4MDAwMDhFRDg4RUMwODkxNAorOjEwNUVEMDAwMkUyRDdBODE2NjFBRkZGRUM2MDYyQTdBMDBFODkyMDAwNQorOjEwNUVFMDAwQjgwMDVGQTMyQjdBRTgxNzAwODAzRTJBN0EwMDc0MEE3NAorOjEwNUVGMDAwODE0RTFBMDAwMUM2MDYyQTdBMDAxNzFGMDc2MUNGOTA0QgorOjEwNUYwMDAwQjhGMDAwRTg4Q0VERkYyNjJCN0FDMzkwMDY1MzU2ODAzQworOjEwNUYxMDAwM0UyOTdBMDA3NDAzRTgzRjAwQkVENzc5RTgyNTAyOEI1QQorOjEwNUYyMDAwRDhBMzI3N0EyRThBMDdBMjI5N0FCMENDMkU4ODA3NUVCQQorOjEwNUYzMDAwNUIwN0MzQzYwNjJBN0EwMEI4MEE1RkEzMkI3QUMzOTAxMAorOjEwNUY0MDAwOEIyRTJEN0FFODJCMDBDM0M2MDYyQTdBMDFFODA4MDBCQQorOjEwNUY1MDAwQjgwQTVGQTMyQjdBQzM5MDU3ODAzRTI5N0EwMDc0MEY0QQorOjEwNUY2MDAwOEIzRTI3N0FBMDI5N0EyRTg4MDVDNjA2Mjk3QTAwNUZGQgorOjEwNUY3MDAwQzM5MEJFQjI0REU4MDYwMkJFRDg1MUU4MDAwMkZGNzZEQgorOjEwNUY4MDAwMTQ1OEU4NDcwMkJFREU1MUU4RjMwMUZGNzYwRTU4RThFOAorOjEwNUY5MDAwM0EwMkJFRTQ1MUU4RTYwMUZGNzYxMjU4RTgyRDAyQkU0RgorOjEwNUZBMDAwRUE1MUU4RDkwMUZGNzYxMDU4RTgyMDAyQkUxNDUyRTgwMQorOjEwNUZCMDAwQ0MwMUZGNzYwQTU4RTgxMzAyQkUxQTUyRThCRjAxRkY2RgorOjEwNUZDMDAwNzYwQzU4RTgwNjAyQkVDRjUxRThCMjAxRkY3NjFBNThBNworOjEwNUZEMDAwRThGOTAxQkVCMjRERThBNTAxQkVGMDUxRTg5RjAxRkYwRQorOjEwNUZFMDAwNzYxODU4RThFNjAxQkVGNjUxRTg5MjAxRkY3NjAyNThBRAorOjEwNUZGMDAwRThEOTAxQkVGQzUxRTg4NTAxRkY3NjA0NThFOENDMDFFMAorOjEwNjAwMDAwQkUwMjUyRTg3ODAxRkY3NjAwNThFOEJGMDFCRTA4NTI5MAorOjEwNjAxMDAwRTg2QjAxRkY3NjA2NThFOEIyMDFCRTBFNTJFODVFMDE1OQorOjEwNjAyMDAwRkY3NjA4NThFOEE1MDFCRTIwNTJFODUxMDFGRjc2MTYxOAorOjEwNjAzMDAwNThFODk4MDFCRTg5NERFODQ0MDFDMzkwQkVDOTRERThCNworOjEwNjA0MDAwM0MwMUMzM0MwMDc0MDUzQzAxNzQ1OUMzQzcwNjBDN0E3QgorOjEwNjA1MDAwQ0Q1MEM3MDYwRTdBRjA1MEM3MDYxMDdBRTg1MEM3MDYzMgorOjEwNjA2MDAwMTI3QUVDNTBDNzA2MTQ3QUY0NTBDNzA2MTY3QUZCNTAyMQorOjEwNjA3MDAwQzcwNjE4N0EwMzUxQzcwNjFBN0EwQjUxQzcwNjFDN0E0RAorOjEwNjA4MDAwMEU1MUM3MDYxRTdBMTA1MUM3MDYyMDdBMTI1MUM3MDY1NAorOjEwNjA5MDAwMjI3QTE2NTFDNjA2MjQ3QTAxQzYwNjI1N0EwMUM2MDY1QQorOjEwNjBBMDAwMjY3QTAzQzNDNzA2MEM3QTFBNTFDNzA2MEU3QTRENTFEOQorOjEwNjBCMDAwQzcwNjEwN0E0NzUxQzcwNjEyN0E0QTUxQzcwNjE0N0FBMgorOjEwNjBDMDAwNEY1MUM3MDYxNjdBNTE1MUM3MDYxODdBNTU1MUM3MDY1RgorOjEwNjBEMDAwMUE3QTU2NTFDNzA2MUM3QTU5NTFDNzA2MUU3QTVBNTE2OAorOjEwNjBFMDAwQzcwNjIwN0E1QjUxQzcwNjIyN0E1RTUxQzYwNjI0N0ExQgorOjEwNjBGMDAwMjBDNjA2MjU3QTIwQzYwNjI2N0EwMkMzQTFGODc5NDg2QQorOjEwNjEwMDAwNzQxNEJFRDc3OUU4M0MwMDhCRjhBQzNDM0E3NTA3OEUyNgorOjEwNjExMDAwQzdFODMwMDA4QkY4QzM5MDhCQzcyQjA2RkU3OThBRjA1NgorOjEwNjEyMDAwMjQwRjhBRDAwMkQwMDJEMDgwQzIwQkMwRUUwNDgwQzZGOQorOjEwNjEzMDAwMDMwNDNEQzM4Q0MwRTg5MzAwQjAzQUU4RTQwMDhCQzc4OQorOjEwNjE0MDAwRTg4OTAwQzM1MTMzQzk5MEFDM0MyMDc0RkI5MDBBQzA2RAorOjEwNjE1MDAwNzQyNjJDMzA3MjIyM0MwOTc2MTQzQzExNzIxQTJDMDdEQQorOjEwNjE2MDAwM0MwRjc2MEEzQzJBNzIxMDJDMjAzQzBGNzcwQTk4QzEwQgorOjEwNjE3MDAwRTEwNDAzQzhBQ0VCRDc5MDRFOEJDMTU5QzM5MDA2OEM5OQorOjEwNjE4MDAwQzg4RUMwRTgwMjAwMDdDMzI2OEEwNDQ2MEFDMDc0MDYwNworOjEwNjE5MDAwRTg4RjAwRUJGMzkwQzM5MDBCQzA3NDdBNTEzM0QyQjlGRgorOjEwNjFBMDAwRTgwM0Y3RjE4QkNBRTgwMzAwOEJDMTU5QkE2NDAwRjYyMworOjEwNjFCMDAwRjJFODBDMDA4QUM0OThCMjBBRjZGMkU4MDIwMDhBQzQzNworOjEwNjFDMDAwNTAwQUYwNzQwNTA0MzBFODU4MDA1OEMzODZDNEU4MDc0NAorOjEwNjFEMDAwMDA4NkM0RTgwMjAwQzM5MEMxQzgwNEU4MDgwMEMxQzAzQQorOjEwNjFFMDAwMDRFODAyMDBDMzkwNTM1MDI0MEZCQkNBNjIyRUQ3RThDNAorOjEwNjFGMDAwMzAwMDU4NUJDMzkwODZDNEU4MDcwMDg2QzRFODAyMDBGQworOjEwNjIwMDAwQzM5MDUwQjkwODAwOEFFMDMyQzBEMUMwMDQzMEU4MTExMAorOjEwNjIxMDAwMDBFMkY1NThDMzkwQjAzMEU4MDcwMEMzQjAyMEU4MDFCMQorOjEwNjIyMDAwMDBDMzU2OEIzNkQwNzk4ODg0RDA3NzQ2ODFFNkZGMDE0QgorOjEwNjIzMDAwRkYwNkQ0Nzk4OTM2RDA3OTgxM0VENDc5RkUwMTc1MDg3QworOjEwNjI0MDAwNTZFODE0MDA1RUVCRjE5MDVFQzNCQTAyMDJFQzI0MDE0MgorOjEwNjI1MDAwNzQwNEJBMDYwMkVDQzM5MDgwM0VGNjc5MDA3NDA5NjBCQgorOjEwNjI2MDAwQjgwMTAwRTgyQ0VBNjE5MEJBMDIwMkVDQTgwNDc0Mjg5NAorOjEwNjI3MDAwOEIzNkQyNzk4MzNFRDQ3OTAwNzQxRDhBODREMDc3NDZEOAorOjEwNjI4MDAwODFFNkZGMDE4OTM2RDI3OUZGMEVENDc5QkEwNjAyRUU5MworOjEwNjI5MDAwQkEwMjAyRUNBODA0NzVEQ0ExRDQ3OUMzNTJCQTA2MDI5MgorOjEwNjJBMDAwRUU1QUMzOTA1MjUwQkEwMjAyRUNBODA0NzQwODU4NUEyRAorOjEwNjJCMDAwRThFOUZGRjlDMzkwNTg1QUY4QzM1MjUwQkEwMjAyRUMwOQorOjEwNjJDMDAwQTgwNDc0RkI1ODVBRThEM0ZGQzMzMDMxMzIzMzM0MzU1NQorOjEwNjJEMDAwMzYzNzM4Mzk0MTQyNDM0NDQ1NDY1MzUwOEFFMDgwRTREQQorOjEwNjJFMDAwMEZCQkNBNjJDMEU4MDQyRUQ3RThDRUZGOEFDNDJFRDdGRgorOjEwNjJGMDAwRThDN0ZGNTg1QkMzODZFMEU4REZGRjg2RTBFOERBRkYyNworOjEwNjMwMDAwQzM5MEJFQjI0RDUwMkVBQzNDMDA3NDA1RThBQkZGRUIyMQorOjEwNjMxMDAwRjU1OEMzOTBDODA4MDAwMDU2NTc4Qjc2MDRCRjA0MDA5OAorOjEwNjMyMDAwQzc0NkZDMDAwMEM3NDZGQTAwMDBDNzQ2RjgwMDAwODNENQorOjEwNjMzMDAwN0UwNjAwNzUwRTU2RThCNjBFNTkwQkMwNzUwNThCQzc2NAorOjEwNjM0MDAwRTk1QjAxOEI0NkZDODk0NkZFMEJGRjc1MDVCODAxMDAzMQorOjEwNjM1MDAwRUIwMjMzQzA1MDU2RThBNDBENTk1OUI0MDA4OTQ2RkNFRAorOjEwNjM2MDAwOEI1RUZDODNGQjA4NzYwM0U5MkIwMUQxRTMyRUZGQTdBQworOjEwNjM3MDAwQjI2NEI4MDMwMEU5MjYwMTgzN0VGQTAwNzQxNEM3NDZBQworOjEwNjM4MDAwRkEwMDAwOEE0NDU4OTg1MDhBNDQ1OTk4NTBFOEMyMEYzRAorOjEwNjM5MDAwNTk1OTgzN0VGODAwNzQwQUM3NDZGODAwMDA1NkU4OUJGNgorOjEwNjNBMDAwMDg1OTgzN0UwNjAwNzUwNThCQzdFOUYxMDA4M0ZGMDQ1OQorOjEwNjNCMDAwNzUwM0U5RTYwMDhCQzdFOUU0MDA4MzdFRkUwMDc1MDMwMAorOjEwNjNDMDAwQkYwMjAwRTlENTAwODM3RUZFMDA3NTAzQkYwMTAwRTkyRQorOjEwNjNEMDAwQzkwMDhCNUVGRTgzRkIwNzc2MDNFOTg2MDBEMUUzMkVCRQorOjEwNjNFMDAwRkZBN0EyNjQzM0ZGRTk3RjAwQkYwNDAwODA3QzU4MEY0MQorOjEwNjNGMDAwNzQyMjgzN0VGODAwNzUxQ0ZFNDQ1ODZBMDg1NkU4N0VCNQorOjEwNjQwMDAwMEM1OTU5OEE0NDU4MDQ4MDUwNTZFODcyMEM1OTU5Qzc5RgorOjEwNjQxMDAwNDZGQTAxMDA4MzdFRjgwMDc0MEFDNzQ2RjgwMDAwNTY2OQorOjEwNjQyMDAwRTgxOTA4NTlFQjQyQkYwNDAwODA3QzU4MDA3NDIyODNBRAorOjEwNjQzMDAwN0VGODAwNzUxQ0ZFNEM1ODZBMDg1NkU4NDEwQzU5NTkwNAorOjEwNjQ0MDAwOEE0NDU4MDQ4MDUwNTZFODM1MEM1OTU5Qzc0NkZBMDExOQorOjEwNjQ1MDAwMDA4MzdFRjgwMDc0MEFDNzQ2RjgwMDAwNTZFOERDMDc5RgorOjEwNjQ2MDAwNTlFQjA1QkYwNDAwRUIwMEVCMzFCRjA0MDBFQjJDQzc3OAorOjEwNjQ3MDAwNDZGODAxMDA2QTA4NTZFODA1MEM1OTU5ODA3QzU4MDkwRAorOjEwNjQ4MDAwN0QwNEIwMEZFQjAyQjAwMDA0ODA1MDU2RThGMDBCNTlDOQorOjEwNjQ5MDAwNTlCRjA0MDBFQjA1QkYwNDAwRUIwMEU5QTVGRTVGNUVGOQorOjEwNjRBMDAwQzlDM0U0NjM2MzY0NjM2NDYzNjQ2MzY0RTk2MzI2NjQyNworOjEwNjRCMDAwNTE2NDc4NjNCQTYzQzY2Mzk2NjREMjYzNkE2NDZBNjQzQgorOjEwNjRDMDAwNkY2NDcyNjNDODA4MDAwMDU2NTc4Qjc2MDQ4QjdFMDg5MQorOjEwNjREMDAwNkEwMTU2RThBOTBCNTk1OThBNDYwNkMwRTAwNjA0ODBBRAorOjEwNjRFMDAwNTA1NkU4OUEwQjU5NTlDNzQ2RkUwMDAwODk3RUY4RUJEMgorOjEwNjRGMDAwMDNGRjQ2RkU4QjVFRjhGRjQ2Rjg4MDNGMDA3NUYyODM4RgorOjEwNjUwMDAwN0VGRTEwN0QyNUI4MTAwMDJCNDZGRUQxRjg4OTQ2RkM5MgorOjEwNjUxMDAwQzc0NkZBMDAwMEVCMEI2QTIwNTZFODYyMEI1OTU5RkY5OAorOjEwNjUyMDAwNDZGQThCNDZGQTNCNDZGQzdDRURFQjBDOEJERjQ3OEE0OAorOjEwNjUzMDAwMDc1MDU2RTg0OTBCNTk1OTgwM0QwMDc1RUY2QTAyNTZERAorOjEwNjU0MDAwRTgzQzBCNTk1OUVCMDA1RjVFQzlDM0M4MDQwMDAwNTYxNAorOjEwNjU1MDAwNTc4QjdFMDRDNzQ2RkUwMDAwQkUxNDAwRTkwOTAxOEI3QworOjEwNjU2MDAwNUVGRTgzQzMwNDJCREY4QTg3QUMwQjg4NDQ1QUM2NDQ4MworOjEwNjU3MDAwNTgwODhBNDZGRTg4NDQ1OUM3NDQwNjAwMDBDNjQ0MTk5NAorOjEwNjU4MDAwMDBDNjQ0MUEwMEM2NDQxQjAwQzY0NDFEMERDNjQ0MUU2NgorOjEwNjU5MDAwMDNDNjQ0MUYwMEM2NDQyMDAwQzY0NDIxMDBDNjQ0NUIxNQorOjEwNjVBMDAwMDBDNjQ0NUQwMEM2NDQ1RTAwQzY0NDVGMDBDNjQ0NjA0OQorOjEwNjVCMDAwMDBDNzQ2RkMwMDAwRUIwRDhCNUVGQ0QxRTNDNzQwMzAwQQorOjEwNjVDMDAwMDAwMEZGNDZGQzgzN0VGQzEwN0NFREM3NDZGQzAwMDAwQgorOjEwNjVEMDAwRUIwQThCNUVGQ0M2NDA1MDAwRkY0NkZDODM3RUZDMDQ0OQorOjEwNjVFMDAwN0NGMEM3NDQ1NDAwMDBDNzQ0NTYwMDAwOEE0NDVBOThCRgorOjEwNjVGMDAwQkFGODAwMjNEMEI4MDUwMDBCQzI4OTQ2RkM5Q0ZBOEE4MQorOjEwNjYwMDAwNDZGQ0JBRkUwMEVFQkEwMDAwRUM5RDI0MDg4ODQ2RkM2OQorOjEwNjYxMDAwODM3RUZDMDA3NTAyRUI0QUZGNzZGRUU4N0EwQzU5NjgyRgorOjEwNjYyMDAwMzUwMjU2RTgzMjBBNTk1OTBCQzA3NTM0NjgzODAyNTY5QgorOjEwNjYzMDAwRTgyNTBBNTk1OTBCQzA3NTI3Njg0MjAyNTZFODE4MEExRQorOjEwNjY0MDAwNTk1OTBCQzA3NTFBNjg0QzAyNTZFODBCMEE1OTU5MEI3OAorOjEwNjY1MDAwQzA3NTBENjg1NjAyNTZFOEZFMDk1OTU5MEJDMDc0MDIwMAorOjEwNjY2MDAwRUIwMEZGNDZGRTgzQzY2MjM5N0VGRTdEMDNFOUVGRkU0NgorOjEwNjY3MDAwRUIwMDVGNUVDOUMzQzgwODAwMDA1NjU3OEI0NjA0QkFEQQorOjEwNjY4MDAwNjIwMEY3RUEwNTE0MDA4QkYwODM3RTA2MDA3NDA1QjhGQgorOjEwNjY5MDAwMTAwMEVCMDNCODA4MDA4OTQ0MDQ4QTQ2MDg4ODQ0NUM2QgorOjEwNjZBMDAwNTZFODU5MDQ1OThCRjg4QkM3ODk0NDU2ODk0NDU0OEE1MworOjEwNjZCMDAwNDQ1RDg4NDQyRjBCRkY3NTFENjhDMjBGNkEwMTU2RThDMAorOjEwNjZDMDAwMDJGRTgzQzQwNkVCMDA2QTAxNTZFODQ3RkM1OTU5MEJFOQorOjEwNjZEMDAwQzA3NUY0QkYwMTAwODk3RUZBQjkwNTAwQkJFOTZBMkVENgorOjEwNjZFMDAwOEIwNzNCNDZGQTc0MDc0MzQzRTJGNEU5QTQwMzJFRkYwOQorOjEwNjZGMDAwNjcwQUM3NDQwNjAyMDBDNzQ0MDhGNDA4OEI1RTA0RDE0OQorOjEwNjcwMDAwRTM4Qjg3RkMwODg5NDQwQTMzQzA4QkY4ODk0NDU0RTkzOQorOjEwNjcxMDAwODAwMzU2RThCQjA1NTlCRjAxMDA4QTQ0NUQ4ODQ0NjA4OAorOjEwNjcyMDAwRTk2RjAzODM3QzA0MDg3NTMwODA3QzVDMDE3NTE1OEFGMQorOjEwNjczMDAwNDQ1REI0MDBEMUUwOEJEOEZGQjdFNDA4NTZFOEY3MDgxMQorOjEwNjc0MDAwNTk1OUVCMTM4QTQ0NURCNDAwRDFFMDhCRDhGRkI3QzQyQworOjEwNjc1MDAwMDg1NkU4RTIwODU5NTlFQjJFODA3QzVDMDE3NTE1OEFEMQorOjEwNjc2MDAwNDQ1REI0MDBEMUUwOEJEOEZGQjdENDA4NTZFOEM3MDgyMQorOjEwNjc3MDAwNTk1OUVCMTM4QTQ0NURCNDAwRDFFMDhCRDhGRkI3QjQwQworOjEwNjc4MDAwMDg1NkU4QjIwODU5NTk2QTAxNTZFODg3RkI1OTU5OEJFRgorOjEwNjc5MDAwRDg4M0ZCMDM3NzJBRDFFMzJFRkZBN0UxNkFCRjAxMDA2QworOjEwNjdBMDAwOEE0NDVEODg0NDVFRUIxODhBNDQ1RDA0RkYyNDA3ODhCMAorOjEwNjdCMDAwNDQ1REVCMEM4QTQ0NURGRUMwMjQwNzg4NDQ1REVCMDAxOQorOjEwNjdDMDAwRTlDRjAyOEE0NDVEQjQwMEQxRTA4QkQ4RkZCN0ZEMDI2NworOjEwNjdEMDAwNTZFODYzMDg1OTU5NjgxRDAzNTZFODVBMDg1OTU5NkExQQorOjEwNjdFMDAwMDE1NkU4MkZGQjU5NTk4QkQ4ODNGQjAzNzczNkQxRTM0OQorOjEwNjdGMDAwMkVGRkE3RDk2QUJGMDEwMDhBNDQ1RDg4NDQ1RkVCMjQ1RAorOjEwNjgwMDAwOEE0NDVEMDRGRjhBNTQwNDgwQzJGRjIyQzI4ODQ0NUQyQQorOjEwNjgxMDAwRUIxMjhBNDQ1REZFQzA4QTU0MDQ4MEMyRkYyMkMyODgwMworOjEwNjgyMDAwNDQ1REVCMDBFOTZCMDI4QjVDMDY4M0MzRkVEMUUzOEIxNgorOjEwNjgzMDAwNDAwODg5MDQ4QjFDRkY3NzA2NkEwMDU2RTg4NUZDODNCNAorOjEwNjg0MDAwQzQwNjhCNUMwNjRCRDFFMzhCNDAwODg5NDQwMjhCNUMwOQorOjEwNjg1MDAwMDJGRjc3MDY2QTAxNTZFODZBRkM4M0M0MDY2QTAxNTY5RAorOjEwNjg2MDAwRThCMUZBNTk1OThCRDg4M0ZCMDM3NjAzRTkxRjAyRDFBQgorOjEwNjg3MDAwRTMyRUZGQTdEMTZBOEI1QzAyOEI0NzA0ODk0NDAyOEIwRAorOjEwNjg4MDAwNUMwMjgwM0Y0NDc1MEQ4QjVDMDI4QTQ3MDFCNDAwM0I3QgorOjEwNjg5MDAwNDQwNDdERTI4QjQ2MDREMUUwOEIxQzAzRDg4QjQ0MDI3OAorOjEwNjhBMDAwODk0NzA4OEI1QzA2NEJEMUUzOEI0NDAyODk0MDA4RTk5OQorOjEwNjhCMDAwREUwMThCNUMwMjhCNDcwMjg5NDQwMjhCNUMwMjgwM0ZDNQorOjEwNjhDMDAwNDQ3NTBEOEI1QzAyOEE0NzAxQjQwMDNCNDQwNDdERTJCMQorOjEwNjhEMDAwOEI0NjA0RDFFMDhCMUMwM0Q4OEI0NDAyODk0NzA4OEI3QworOjEwNjhFMDAwNUMwNjRCRDFFMzhCNDQwMjg5NDAwOEU5QTIwMUJGMDE1OQorOjEwNjhGMDAwMDBFOTlDMDE4QjVDMDI4QTA3QjQwMDg5NDZGOEI5MEM1OAorOjEwNjkwMDAwMDBCQkExNkEyRThCMDczQjQ2Rjg3NDA3NDM0M0UyRjRCMQorOjEwNjkxMDAwRTk3NzAxMkVGRjY3MTg4QjQ2MDREMUUwOEI1QzAyMDNGOAorOjEwNjkyMDAwRDg4QjQ3MDg4QjVDMDZGRjQ0MDZEMUUzODk0MDA4OEI2RgorOjEwNjkzMDAwMUM4MDdGMDEwMDc0MTI4QjVDMDI4QTQ3MDE4QjFDOEFDOQorOjEwNjk0MDAwNTcwMUI2MDA4QkRBODg0MDE4RTk0MDAxRkY0QzA2RTk5MAorOjEwNjk1MDAwM0EwMThCNUMwMjhBNDcwMThCMUM4QTU3MDFCNjAwOEI3NworOjEwNjk2MDAwREE4ODQwMThFOTI1MDE4QjVDMDI4QTQ3MDE4QjFDOEE3MgorOjEwNjk3MDAwNTcwMUI2MDA4QkRBODg0MDE4RkY0QzA2RTkwRDAxOEJGMQorOjEwNjk4MDAwNUMwMjhBNDcwMThCMUM4QTU3MDFCNjAwOEJEQTMwNDBDMworOjEwNjk5MDAwMThFOUY4MDBCOEYwMTA4QkY4ODk0NDU0OEE0NDVGODhFRAorOjEwNjlBMDAwNDQ1REU5RTcwMDhBNDQxQzk4M0QwMjAwNzQwNzNEMDNGQQorOjEwNjlCMDAwMDA3NDAyRUIwN0M3NDZGRTAwMDBFQjJCOEE0NDFDOThDQworOjEwNjlDMDAwRDFFMDhCRDhGRkI3NjkwMjU2RTg2QjA2NTk1OTZBMDFDNgorOjEwNjlEMDAwNTZFODQwRjk1OTU5ODk0NkZFODM3RUZFMDA3NDA2ODNDNQorOjEwNjlFMDAwN0VGRTAzNzVFOUVCMDA4MzdFRkUwMzc0NjI4QTQ0MUMxRAorOjEwNjlGMDAwOThEMUUwOEJEOEZGQjc2RDAyNTZFODNBMDY1OTU5NTY0MAorOjEwNkEwMDAwRTg0RDk3NTk4OTQ2RkM4QjVFRkM4M0VCRkU4M0ZCMDNDNAorOjEwNkExMDAwNzczM0QxRTMyRUZGQTc5OTZBNjhBQzAyNTZFODE3MDZEMAorOjEwNkEyMDAwNTk1OUVCMjM2ODhGMDI1NkU4MEMwNjU5NTlFQjE4Njg0MAorOjEwNkEzMDAwNzUwMjU2RTgwMTA2NTk1OUVCMEQ2OEM2MDI1NkU4RjY4QworOjEwNkE0MDAwMDU1OTU5RUIwMkVCMDA2QTAxNTZFOEM3Rjg1OTU5QkZERQorOjEwNkE1MDAwMDEwMEVCMzg2OEREMDI1NkU4REMwNTU5NTk2QTAxNTYzOQorOjEwNkE2MDAwRThCMUY4NTk1OUJGMDEwMEVCMjJCOEQwMzA4QkY4ODk1MgorOjEwNkE3MDAwNDQ1NDhBNDQ2MDg4NDQ1REVCMTJCOEUwMjA4QkY4ODk2NgorOjEwNkE4MDAwNDQ1NDhBNDQ1RTg4NDQ1REVCMDJFQjAwRUIwMkVCMDA2OQorOjEwNkE5MDAwRUIwMEU5NDFGQzVGNUVDOUMzMTk2QTI0NkEyRjZBM0FCOAorOjEwNkFBMDAwNkEwMDAwMDEwMDAyMDAwNDAwNDEwMDQyMDA0MzAwNDQ2QgorOjEwNkFCMDAwMDA4MDAwODEwMDgyMDBGRjAwMTc2OTU0NkE3QTZBQTU4RAorOjEwNkFDMDAwNjk1MjY5OTQ2OTZBNkE2NzY5NTI2OTdGNjk2NzY5NEM0MgorOjEwNkFEMDAwNjlGNDY4NzY2OEIyNjhFRTY4RjU2NzAwNjgxMjY4RjU3MAorOjEwNkFFMDAwNjc5RDY3QTg2N0I0Njc5RDY3MDAwMDAxMDBGMDEwRTAyQworOjEwNkFGMDAwMjBEMDMwMjc2OEYyNjZDMzY3MjM2NzEyNjdDODA0MDA5NgorOjEwNkIwMDAwMDA1NjU3OEI3NjA0OEE0NDU5OTg4OTQ2RkM2QTA5OEI0QgorOjEwNkIxMDAwNDZGQzA1ODQwMTUwRTg5MzA4NTk1OThCRjg4QkM3MjUyQQorOjEwNkIyMDAwMDBGMDNEMDAxMDc1NTU4QkM3MjVGMDAwM0RGMDAwNzU1NQorOjEwNkIzMDAwNEI4QkM3MjUwMDBGQzFGODA4ODk0NkZFOEI0NDA0M0JFOAorOjEwNkI0MDAwNDZGRTdEMDUzM0MwRTlFRjAwOEJDNzI1MEYwMEJBMEY2NQorOjEwNkI1MDAwMDAyQkQwM0I1NkZFNzQwNTMzQzBFOURCMDBDNzQ0MDI2RQorOjEwNkI2MDAwMDQwOThBNDZGRTg4NDQ1Rjg4NDQ1RDhCNUVGQ0QxRTM1RAorOjEwNkI3MDAwQzc4N0ZDMDgwNDA5QjhGMDEwRTlCQzAwOEJDNzI1MDBFMgorOjEwNkI4MDAwRjAzRDAwMjA3NTUyOEJDNzI1RjAwMDNERTAwMDc1NDhCMAorOjEwNkI5MDAwOEJDNzI1MDAwRkMxRjgwODg5NDZGRTgzN0VGRTA4N0U1QworOjEwNkJBMDAwMDUzM0MwRTk5MjAwOEJDNzI1MEYwMEJBMEYwMDJCRDAyOAorOjEwNkJCMDAwM0I1NkZFNzQwNTMzQzBFQjdGOTBDNzQ0MDIwQzA5OEEzNAorOjEwNkJDMDAwNDZGRTg4NDQ1RTg4NDQ1RDhCNUVGQ0QxRTNDNzg3RkM0QgorOjEwNkJEMDAwMDgwQzA5QjhFMDIwRUI2MDhCQzcyNTAwRjAzRDAwMzBDMQorOjEwNkJFMDAwNzU1MjhCQzcyNUYwMDAzREQwMDA3NTQ4OEJDNzI1MDAzNgorOjEwNkJGMDAwMEZDMUY4MDg4OTQ2RkU4QjQ0MDQzQjQ2RkU3RDA0MzNGMgorOjEwNkMwMDAwQzBFQjM1OEJDNzI1MEYwMEJBMEYwMDJCRDAzQjU2RkVDQgorOjEwNkMxMDAwNzQwNDMzQzBFQjIyQzc0NDAyMTQwOThBNDZGRTg4NDQzOAorOjEwNkMyMDAwNjA4ODQ0NUQ4QjVFRkNEMUUzQzc4N0ZDMDgxNDA5QjgxQgorOjEwNkMzMDAwRDAzMEVCMDQzM0MwRUIwMDVGNUVDOUMzQzgwNjAwMDA3MAorOjEwNkM0MDAwNTY4Qjc2MDQ2QTA4NTZFODM1MDQ1OTU5OEE0NDU4MDQyNAorOjEwNkM1MDAwODA1MDU2RTgyOTA0NTk1OThCNDQ1NDNCNDQ1Njc1MEFEMAorOjEwNkM2MDAwOEE0NDVEM0E0NDJGNzUwMkVCNjQ4QjQ0NTQ4OTQ0NTY0MAorOjEwNkM3MDAwOEI1QzAyOEE0NzAxODg0NDJGOEE0NDVEQjQwMEMxRTBERQorOjEwNkM4MDAwMDg4QjU0NTQwQkQwOEE0NDVEQjQwMEJCMEYwMDJCRDg0MgorOjEwNkM5MDAwMEJEMzg5NTZGRTZBMTA4QTQ0NTk5ODA1MDQwMDk5MDU1OQorOjEwNkNBMDAwNDAwMTgzRDIwMDUyNTBFODU0MDg4M0M0MDY4OTU2RkM0MAorOjEwNkNCMDAwODk0NkZBOEI0NkZFMDk0NkZBODM0RUZDMDA2QTE5RkZBNAorOjEwNkNDMDAwNzZGQ0ZGNzZGQUU4NzMwNzgzQzQwNkU4RkUwNzVFQzkyMAorOjEwNkNEMDAwQzNDODFDMDAwMDU2NTc4QjVFMDQ4QTQ3NTk5ODhCRjAzNgorOjEwNkNFMDAwOEI1RTA0OEE0NzVEQjQwMDg5NDZFNjgzN0VFNjAwN0RCQworOjEwNkNGMDAwMEE4QjVFMDQ4QjQ3MDQ0ODg5NDZFNjhCNUUwNDhCNDcwQgorOjEwNkQwMDAwMDQzQjQ2RTY3RjA1Qzc0NkU2MDAwMDhCNUUwNDhBNDZFNAorOjEwNkQxMDAwRTY4ODQ3NUQ4QkRFRDFFMzhCOUY1OTAyQzY0NzAyMjA5MAorOjEwNkQyMDAwOEJERUQxRTM4QjlGNTkwMkM2NDcwMzMwOEJERUQxRTM2NAorOjEwNkQzMDAwOEI5RjYxMDJDNjQ3MDIyMDhCREVEMUUzOEI5RjYxMDJFRAorOjEwNkQ0MDAwQzY0NzAzMzA4QjQ2RTY4OTQ2RkE4MzdFRkEwMDc0MThGQworOjEwNkQ1MDAwOEI0NkZBQkIwQTAwMzNEMkY3RjM4MEMyMzA4QkRFRDEwOAorOjEwNkQ2MDAwRTM4QjlGNTkwMjg4NTcwM0JCMEEwMDhCNDZGQTMzRDI0NAorOjEwNkQ3MDAwRjdGMzg5NDZGQTgzN0VGQTAwNzQxODhCNDZGQUJCMEE0OQorOjEwNkQ4MDAwMDAzM0QyRjdGMzgwQzIzMDhCREVEMUUzOEI5RjU5MDIwMAorOjEwNkQ5MDAwODg1NzAyOEI0NkU2ODk0NkZBODM3RUZBMDA3NDE4OEI4MAorOjEwNkRBMDAwNDZGQUJCMEEwMDMzRDJGN0YzODBDMjMwOEJERUQxRTM2MAorOjEwNkRCMDAwOEI5RjYxMDI4ODU3MDNCQjBBMDA4QjQ2RkEzM0QyRjdEOAorOjEwNkRDMDAwRjM4OTQ2RkE4MzdFRkEwMDc0MTg4QjQ2RkFCQjBBMDBGMAorOjEwNkREMDAwMzNEMkY3RjM4MEMyMzA4QkRFRDFFMzhCOUY2MTAyODgyMAorOjEwNkRFMDAwNTcwMjhCNUVFNkQxRTNGRkI3MTIwMjZBMDBGRjc2MDQxQQorOjEwNkRGMDAwRThEMUY2ODNDNDA2NjhEMzBGNkEwMUZGNzYwNEU4QzNCRQorOjEwNkUwMDAwRjY4M0M0MDZGRjc2RTY1NkU4MDE5MzU5NTk4OTU2RjI4RgorOjEwNkUxMDAwODk0NkYwRkY3NkU2NTZFODE0OTM1OTU5ODk1NkVFODk2QgorOjEwNkUyMDAwNDZFQzlDRkFDNDVFRjAyNjhCMDc4OTQ2RUFDNDVFRUMwOQorOjEwNkUzMDAwMjY4QjA3ODk0NkU4QkE1MEZGRUQ4OTQ2RkU5REM3NDY3NgorOjEwNkU0MDAwRTQwMTAwRThFRUEwQkE1MEZGRUQ4OTQ2RkM4QjQ2RkM1OQorOjEwNkU1MDAwMkI0NkZFM0RFODAzNzMwM0U5ODAwMTlDRkFCQTUwRkYxQworOjEwNkU2MDAwRUQ4OTQ2RkM4QjQ2RkMyQjQ2RkU4OTQ2RjhDNDVFRjA1NQorOjEwNkU3MDAwMjY4QjA3MkI0NkVBODk0NkY2QzQ1RUYwMjY4QjA3ODlFNworOjEwNkU4MDAwNDZFQUM0NUVFQzI2OEIwNzJCNDZFODg5NDZGNEM0NUVDRQorOjEwNkU5MDAwRUMyNjhCMDc4OTQ2RThCQTUwRkZFRDg5NDZGRTlEODFCNgorOjEwNkVBMDAwN0VGOEU4MDM3NjFDRkY3NkY4RkY3NkY2RTg3NjAxNTk1RgorOjEwNkVCMDAwNTk4OTQ2RjZGRjc2RjhGRjc2RjRFODY4MDE1OTU5ODk1MgorOjEwNkVDMDAwNDZGNEJGMEUwMEVCMTc4QkRFRDFFMzhCOUY1OTAyQzY1MQorOjEwNkVEMDAwMDEyMDhCREVEMUUzOEI5RjYxMDJDNjAxMjA0NzgzRkYzNworOjEwNkVFMDAwMTE3NkU0OEJERUQxRTM4QjlGNTkwMkM2NDcwRDMwOEJDMAorOjEwNkVGMDAwREVEMUUzOEI5RjYxMDJDNjQ3MEQzMDgzN0VGNjA5NzdCMgorOjEwNkYwMDAwMDVCODBEMDBFQjI2ODM3RUY2NjM3NzA1QjgwRTAwRUIxRgorOjEwNkYxMDAwMUI4MTdFRjZFNzAzNzcwNUI4MEYwMEVCMEY4MTdFRjY0NQorOjEwNkYyMDAwMEYyNzc3MDVCODEwMDBFQjAzQjgxMTAwOEJGOEVCMjU5RAorOjEwNkYzMDAwOEI0NkY2QkIwQTAwMzNEMkY3RjM4MEMyMzA4QkRFRDEyQQorOjEwNkY0MDAwRTM4QjlGNTkwMjg4MTE0RkJCMEEwMDhCNDZGNjMzRDI2MAorOjEwNkY1MDAwRjdGMzg5NDZGNjgzN0VGNjAwNzVENTgzN0VGNDA5NzdDQworOjEwNkY2MDAwMDVCODBEMDBFQjI2ODM3RUY0NjM3NzA1QjgwRTAwRUJDMQorOjEwNkY3MDAwMUI4MTdFRjRFNzAzNzcwNUI4MEYwMEVCMEY4MTdFRjRFOQorOjEwNkY4MDAwMEYyNzc3MDVCODEwMDBFQjAzQjgxMTAwOEJGOEVCMjUzRAorOjEwNkY5MDAwOEI0NkY0QkIwQTAwMzNEMkY3RjM4MEMyMzA4QkRFRDFDQworOjEwNkZBMDAwRTM4QjlGNjEwMjg4MTE0RkJCMEEwMDhCNDZGNDMzRDJGQQorOjEwNkZCMDAwRjdGMzg5NDZGNDgzN0VGNDAwNzVENThCREVEMUUzRkZDOQorOjEwNkZDMDAwQjc1OTAyRkY3NjA0RTg2RTAwNTk1OThCREVEMUUzRkYxMgorOjEwNkZEMDAwQjc2MTAyRkY3NjA0RTg1RTAwNTk1OTZBMDBGRjc2MDQ0MworOjEwNkZFMDAwRTgzMUYzNTk1OThCRDg4M0ZCMDQ3NzFGRDFFMzJFRkY4NworOjEwNkZGMDAwQTcxQjcwRUIyMkM3NDZFNDAwMDBGRjRFRTZFQjBDQzc3MAorOjEwNzAwMDAwNDZFNDAwMDBGRjQ2RTZFQjAyRUIwMDgzN0VFNDAwNzRGQQorOjEwNzAxMDAwMDNFOTJBRkVFOUQ0RkM1RjVFQzlDM0YzNkZGNTZGRkY5NQorOjEwNzAyMDAwNkZGMzZGMDk3MDU1OEJFQzhCNDYwNEI5RTgwM0Y3RTFGOQorOjEwNzAzMDAwOEI0RTA2RjdGMTVEQzM1NThCRUM1NjhCNzYwNkVCMEU0NworOjEwNzA0MDAwOEJERTQ2OEEwNzUwRkY3NjA0RTgzMzAwNTk1OTgwM0NBRQorOjEwNzA1MDAwMDA3NUVERUIwMDVFNURDMzU1OEJFQzU2OEI3NjA2RUI1MQorOjEwNzA2MDAwMTQ4QkRFNDY4QTA3NTBGRjc2MDRFODQ1MDA1OTU5MEIxOQorOjEwNzA3MDAwQzA3NDAyRUIwNzgwM0MwMDc1RTdFQjAwNUU1REMzQzg5RgorOjEwNzA4MDAwMDIwMDAwNTY4Qjc2MDQ4QTQ0NUE5ODg5NDZGRTlDRkE4MAorOjEwNzA5MDAwOEE0NkZFQkFGRTAwRUVCQTAyMDBFQ0E4MDI3NDA2OUQxMworOjEwNzBBMDAwRTg5MTlFRUJFOUJBMDAwMDhBNDYwNkVFOURFQjAwNUU5MQorOjEwNzBCMDAwQzlDM0M4MDQwMDAwNTY4Qjc2MDQ4QTQ0NUE5ODg5NDY4RQorOjEwNzBDMDAwRkVFOEU2QTE4OTQ2RkNFOEUwQTEyQjQ2RkMzREI4MEJCMgorOjEwNzBEMDAwNzYwNUI4MDEwMEVCMjM5Q0ZBOEE0NkZFQkFGRTAwRUU2NAorOjEwNzBFMDAwQkEwMjAwRUNBODAyNzQwNjlERTg0ODlFRUJEOUJBMDBFQgorOjEwNzBGMDAwMDA4QTQ2MDZFRTlEMzNDMEVCMDA1RUM5QzNDODA0MDA5QgorOjEwNzEwMDAwMDA1NjU3OEI3NjA0ODM3RTA2MDA3NDA3NTZFODAzMDEwOQorOjEwNzExMDAwNTlFQjA1NTZFOEEyMDA1OTg4NDZGRjgwN0VGRjA4NzdBNAorOjEwNzEyMDAwMDY4QTQ2RkZFOTg0MDA4MDdFRkYwRjc2MDNFQjc5OTBBNAorOjEwNzEzMDAwOEE0NkZGQjQwMDJEMEEwMDhCRDg4M0ZCMDQ3NzY3RDEwMQorOjEwNzE0MDAwRTMyRUZGQTdBRjcxQjAwMEVCNjE1NkU4NkIwMDU5QjRCNgorOjEwNzE1MDAwMDAyNTBGMDA4OTQ2RkM1NkU4NUUwMDU5QjQwMDhCRjgwNAorOjEwNzE2MDAwNTZFODU1MDA1OUI0MDBDMUUwMDg4QkQ3MDNEMDhCRkExQworOjEwNzE3MDAwOEI1RUZDRDFFMzg5NzgzMEVCMkU1NkU4M0IwMDU5ODhEMgorOjEwNzE4MDAwNDQ1QkVCMjQ1NkU4MzEwMDU5ODg0NDUwNTZFODI5MDAwNgorOjEwNzE5MDAwNTk4ODQ0NTE1NkU4MjEwMDU5ODg0NDUyNTZFODE5MDA0QworOjEwNzFBMDAwNTk4ODQ0NTNFQjAyRUIwMEU5NUJGRjVGNUVDOUMzNDZCRAorOjEwNzFCMDAwNzFBNjcxNEE3MTdBNzE4NDcxQzgwNDAwMDA1NjhCNzY4OQorOjEwNzFDMDAwMDQ4QTQ0NUE5ODg5NDZGRTlDRkE4QTQ2RkVCQUZFMDAxMgorOjEwNzFEMDAwRUVCQTAyMDBFQ0E4MDE3NTA2OURFODU3OURFQkU5QkFFRQorOjEwNzFFMDAwMDAwMEVDODg0NkZEOUQ4QTQ2RkRFQjAwNUVDOUMzQzhFMQorOjEwNzFGMDAwMDIwMDAwNTY4Qjc2MDQ4QTQ0NUE5ODg5NDZGRTlDRkEwRgorOjEwNzIwMDAwOEE0NkZFQkFGRTAwRUVCQTAyMDBFQzMyRTQyNDAxOUQ4QQorOjEwNzIxMDAwNUVDOUMzQzgwNjAwMDA1NjhCNzYwNDhBNDQ1QTk4ODkxMgorOjEwNzIyMDAwNDZGRUU4ODVBMDg5NDZGQUU4N0ZBMDJCNDZGQTNEQjhERAorOjEwNzIzMDAwMEI3NjA0QjAwOEVCMjQ5Q0ZBOEE0NkZFQkFGRTAwRUVGOAorOjEwNzI0MDAwQkEwMjAwRUNBODAxNzUwNjlERThFODlDRUJEQUJBMDBFQQorOjEwNzI1MDAwMDBFQzg4NDZGRDlEOEE0NkZERUIwMDVFQzlDMzU1OEI1OAorOjEwNzI2MDAwRUM1NjhCNTYwNDhBNDYwNkVFMzNGNkVCMDM1MDU4NDYyRQorOjEwNzI3MDAwODNGRTE0N0NGODVFNURDM0M4MDIwMDAwNTY4QjU2MDQ4MgorOjEwNzI4MDAwRUM4ODQ2RkYzM0Y2RUIwMzUwNTg0NjgzRkUxNDdDRjgzNworOjEwNzI5MDAwOEE0NkZGRUIwMDVFQzlDM0M4MDIwMDAwNTY1NzhCNzZEMgorOjEwNzJBMDAwMDQ4MzNFQjAwQjAwNzUxRkJBODgwMUIwMDBFRUJBODZBOQorOjEwNzJCMDAwMDFCMDAwRUU2QTA5NkEwMDY4MzAwMUU4N0QwMTgzQzQwQworOjEwNzJDMDAwMDZDNzA2QjAwQjAxMDA2QTA5OEJDNjA1ODAwMTUwRThBRAorOjEwNzJEMDAwREEwMDU5NTk4QkY4OEJDN0MxRTgwQzI1MEYwMDg5NDY5NQorOjEwNzJFMDAwRkU4QkM3QzFFODA4MjUwRjAwOEI1NkZFODNGMjBDM0JDRQorOjEwNzJGMDAwQzI3NTIxOEJDN0MxRTgwNDI1MEYwMDhCNTZGRTgzRjJBRgorOjEwNzMwMDAwMDYzQkMyNzUwRjhCQzcyNTBGMDA4QjU2RkU4M0YyMDkxMworOjEwNzMxMDAwM0JDMjc0MEQ2QTA3NTZFODM4MDA1OTU5Qzc0NkZFMDc0NAorOjEwNzMyMDAwMDA4QTQ2RkUwNDgwQTIzMzAyOEJDNkJBNjIwMEY3RUFFNgorOjEwNzMzMDAwOEE1NkZFOEJEODg4OTc2QzAwNjgzMjAyOEJDNkJBNjI3OAorOjEwNzM0MDAwMDBGN0VBMDUxNDAwNTBFODBFRkQ1OTU5RUIwMDVGNUVBNgorOjEwNzM1MDAwQzlDM0M4MDIwMDAwNTY4Qjc2MDY4M0U2MEY4QkM2QzFGMAorOjEwNzM2MDAwRTAwQzhCRDY4M0YyMENDMUUyMDgwQkMyOEJENjgzRjIwMQorOjEwNzM3MDAwMDZDMUUyMDQwQkMyOEJENjgzRjIwOTBCQzI4OTQ2RkUxQQorOjEwNzM4MDAwNkExOTZBMTA4QjQ2MDQ5OTA1NDAwMTgzRDIwMDUyNTA1NQorOjEwNzM5MDAwRTg2QjAxODNDNDA2MEI0NkZFODNDQTAwNTI1MEU4OUE4QworOjEwNzNBMDAwMDA4M0M0MDZFODI1MDFFQjAwNUVDOUMzNTU4QkVDNTY4QgorOjEwNzNCMDAwNTczM0ZGNkEwMTY4ODYwMUU4QTNGRTU5NTlCMTEwMkFDNAorOjEwNzNDMDAwNEUwNkQzNjYwNDMzRjZFQjJFODE3RTA0MDA4MDcyMDRGMQorOjEwNzNEMDAwQjAwMUVCMDJCMDAwNTA2ODg4MDFFODgxRkU1OTU5NkE5QgorOjEwNzNFMDAwMDM2ODg2MDFFODc3RkU1OTU5NkEwMTY4ODYwMUU4NkRFRAorOjEwNzNGMDAwRkU1OTU5RDE2NjA0NDYzQjc2MDY3Q0NEMzNGNkVCMjQyNAorOjEwNzQwMDAwRDFFNzZBMDM2ODg2MDFFODU0RkU1OTU5NkEwMTY4ODYyMworOjEwNzQxMDAwMDFFODRBRkU1OTU5Njg4ODAxRTg1Q0ZFNTk5ODI1MDEzRgorOjEwNzQyMDAwMDAwQkY4NDY4M0ZFMTA3Q0Q3NkEwMDY4ODYwMUU4MkRDMQorOjEwNzQzMDAwRkU1OTU5OEJDN0VCMDA1RjVFNURDMzU1OEJFQzU2NTcwOQorOjEwNzQ0MDAwOEI3RTA4NkEwMTY4ODYwMUU4MTNGRTU5NTlCODIwMDA0RQorOjEwNzQ1MDAwMkJDNzUwRkY3NjA2RkY3NjA0RThBMjAwODNDNDA2ODk5NgorOjEwNzQ2MDAwNTYwNjg5NDYwNDMzRjZFQjQ3ODE3RTA2MDA4MDcyMEM4RgorOjEwNzQ3MDAwNzUwNjgzN0UwNDAwNzIwNEIwMDFFQjAyQjAwMDUwNjgxMAorOjEwNzQ4MDAwODgwMUU4RDlGRDU5NTk2QTAzNjg4NjAxRThDRkZENTk5QQorOjEwNzQ5MDAwNTk2QTAxNjg4NjAxRThDNUZENTk1OTZBMDFGRjc2MDZGNworOjEwNzRBMDAwRkY3NjA0RTg1ODAwODNDNDA2ODk1NjA2ODk0NjA0NDZEOAorOjEwNzRCMDAwM0JGNzdDQjU2QTAwNjg4NjAxRThBMkZENTk1OTZBMDA2RAorOjEwNzRDMDAwNjg4NjAxRTg5OEZENTk1OTVGNUU1REMzNTU4QkVDNTY5RgorOjEwNzREMDAwNkEwMTY4ODYwMUU4ODZGRDU5NTkzM0Y2RUIwMDY4ODgzMQorOjEwNzRFMDAwMDFFODk0RkQ1OUE4MDE3NTA4OEJDNjQ2M0Q2NDAwN0NFRgorOjEwNzRGMDAwRUQ2QTAwNjg4NjAxRTg2NUZENTk1OTVFNURDM0M4MDQwMAorOjEwNzUwMDAwMDAwMDhCNDYwNDhCNTYwNjhCNEUwOEUzMDZEMUUwRDE3MworOjEwNzUxMDAwRDJFMkZBODk0NkZDODk1NkZFOEI1NkZFOEI0NkZDRUI3RQorOjEwNzUyMDAwMDBDOUMzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDRgorOjEwNzUzMDAwNTA3MjY1NzY2OTZGNzU3MzIwNEQ2NTZFNzUwMDQyNjU5MgorOjEwNzU0MDAwNjc2OTZFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGRAorOjEwNzU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwNzU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwNzU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwNzU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwNzU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwNzVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwNzVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwNzVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwNzVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwNzVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwNzVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QQorOjEwNzYxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjEwNzYyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1QQorOjEwNzYzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QQorOjEwNzY0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQQorOjEwNzY1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjEwNzY2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQQorOjEwNzY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQQorOjEwNzY4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQQorOjEwNzY5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjEwNzZBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQQorOjEwNzZCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQQorOjEwNzZDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTA2RjcyNzQxNQorOjEwNzZEMDAwMjAzMDAwNTA2RjcyNzQyMDMxMDA1MDZGNzI3NDIwMzI2RAorOjEwNzZFMDAwMDA1MDZGNzI3NDIwMzMwMDUwNkY3Mjc0MjAzNDAwNTA1OQorOjEwNzZGMDAwNkY3Mjc0MjAzNTAwNTA2RjcyNzQyMDM2MDA1MDZGNzJCNAorOjEwNzcwMDAwNzQyMDM3MDA1MDZGNzI3NDIwMzgwMDUwNkY3Mjc0MjBFQworOjEwNzcxMDAwMzkwMDUwNkY3Mjc0MjAzMTMwMDA1MDZGNzI3NDIwMzExNAorOjEwNzcyMDAwMzEwMDUwNkY3Mjc0MjAzMTMyMDA1MDZGNzI3NDIwMzEwQQorOjEwNzczMDAwMzMwMDUwNkY3Mjc0MjAzMTM0MDA1MDZGNzI3NDIwMzFGNgorOjEwNzc0MDAwMzUwMDlDMDFBMzAxQUEwMUIxMDFCODAxQkYwMUM2MDEyNgorOjEwNzc1MDAwQ0QwMUQ0MDFEQjAxRTIwMUVBMDFGMjAxRkEwMTAyMDJFQQorOjEwNzc2MDAwMEEwMjA4MDAwMDA3ODEwMDAzODA4MDgwOUY5MTk1OTFBNAorOjEwNzc3MDAwOUYwMDAzODE4NDhFOTU4NDg0ODQ4NDAwMDM4Mjg0ODRBMgorOjEwNzc4MDAwODQ4NDk1OEU4NDAwMDQ4ODAwQjIwQkM2MEJEQTBCRUU1RAorOjEwNzc5MDAwMEIwMjBDMTYwQzJBMEMzRTBDNTIwQzc3MEM5QzBDQkVFNworOjEwNzdBMDAwMENFMDBDMDIwRDAxODAyMDU0NjU3Mzc0MjA1MDYxNzM0RAorOjEwNzdCMDAwNzM2NTY0MjAxRjIwNTA3MjY1NzM3MzIwODAwMjAwMDE3RQorOjEwNzdDMDAwODAyMDRENjk3MzczNjk2RTY3MjA1Mjc4MjA0NDYxNzQxQworOjEwNzdEMDAwNjExRjIwNTA3MjY1NzM3MzIwODAwMjAwMDE4MDIwNDI3NworOjEwNzdFMDAwNjE2NDIwNTI3ODIwNDQ2MTc0NjEyMDFGMjA1MDcyNjVDQQorOjEwNzdGMDAwNzM3MzIwODAwMjAwMDE4MDIwNTg2RDc0NzIyMDQyNzVERQorOjEwNzgwMDAwNzM3OTFGMjA1MDcyNjU3MzczMjA4MDAyMDAwMTgwMjBGRAorOjEwNzgxMDAwNkU2Rjc0MjA2Mzc1NzI3MjY1NkU3NDZDNzkxRjIwMjBCMAorOjEwNzgyMDAwNjk2RDcwNkM2NTZENjU2RTc0NjU2NDAyMDAyNDBEMkY2MgorOjEwNzgzMDAwMEQzQTBENDUwRDUwMEQ1QjBENjYwRDcxMEQ3QzBEODdEQworOjEwNzg0MDAwMEQ5MjBEOUQwREE4MERCMzBEQkUwREM5MEQ1MzgwMkNDRAorOjEwNzg1MDAwMzI1NDQ0MjA1Mzg2MkMzMzQ0NTQ1MjIwNTM4MjJDMzNDOAorOjEwNzg2MDAwNTI1NDUzMjAxRjUzODEyQzMyNTI0NDIwNTM4NTJDMzJDMgorOjEwNzg3MDAwNDM0NDIwNTM4MzJDMzM0MzU0NTMyMDUzODQyQzMzNDRBOAorOjEwNzg4MDAwNTM1MjIwNTM4NzJDMzI1MjQ5MjcwMjAwMDE4MDIwMjA3NgorOjEwNzg5MDAwNDQ0MzQ0MjAyRDIwNzA2OTZFMjAzMjMwMUYyNzUzODVDOQorOjEwNzhBMDAwMkUzMTgxODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk1NgorOjEwNzhCMDAwOEE4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA0NDUzNTJBQQorOjEwNzhDMDAwMjAyRDIwNzA2OTZFMjAzMTMxMUYyNzUzODQyRTMxODE4NQorOjEwNzhEMDAwODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM2NQorOjEwNzhFMDAwOEQ4RThGMjcwMjAwMDE4MDIwMjA0MzU0NTMyMDJEMjBBRAorOjEwNzhGMDAwNzA2OTZFMjAzNDFGMjc1MzgzMkUzMTgxODI2MzkwODBGQworOjEwNzkwMDAwODE4MjgzODQ4NTg2ODc4ODg5OEE4QjhDOEQ4RThGMjc1OAorOjEwNzkxMDAwMDIwMDAxODAyMDIwNTI0OTIwMkQyMDcwNjk2RTIwMzIwMworOjEwNzkyMDAwMzIxRjI3NTM4NzJFMzE4MTgyNjM5MDgwODE4MjgzODQyNgorOjEwNzkzMDAwODU4Njg3ODg4OThBOEI4QzhEOEU4RjI3MDIwMDAxODBBRgorOjEwNzk0MDAwMjAyMDQ0NTQ1MjIwMkQyMDcwNjk2RTIwMzYyRjM4MUY3RAorOjEwNzk1MDAwMjc1Mzg2MkUzMTgxODI2MzkwODA4MTgyODM4NDg1ODYzRAorOjEwNzk2MDAwODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA0QQorOjEwNzk3MDAwNTI1NDUzMjAyRDIwNzA2OTZFMjAzNTFGMjc1MzgyMkVCQworOjEwNzk4MDAwMzE4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEExOQorOjEwNzk5MDAwOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNTI3ODQ0MjAwRQorOjEwNzlBMDAwMkQyMDcwNjk2RTIwMzIxRjI3NTM4MTJFMzA1MzREODE1OAorOjEwNzlCMDAwODI2MzkwODA4MTgyODM4NDg1ODY4Nzg4ODk4QThCOEM4NAorOjEwNzlDMDAwOEQ4RThGMjcwMjAwMDE4MDIwMjA1NDc4NDQyMDJEMjBBNgorOjEwNzlEMDAwNzA2OTZFMjAzMzFGMjc1MzgwMkUzMDUzNEQ4MTgyNjM5MAorOjEwNzlFMDAwOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEUxRQorOjEwNzlGMDAwOEYyNzAyMDAwMTgwMjAyMDQ0NDM0NDIwMkQyMDcwNjlGRAorOjEwN0EwMDAwNkUyMDM1MUYyNzUzODUyRTMxODE4MjYzOTA4MDgxODJCRAorOjEwN0ExMDAwODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDA0OAorOjEwN0EyMDAwMDE4MDIwMjA0NDUzNTIyMDJEMjA3MDY5NkUyMDM1MUY4NAorOjEwN0EzMDAwMjc1Mzg0MkUzMTgxODI2MzkwODA4MTgyODM4NDg1ODY1RQorOjEwN0E0MDAwODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjA2OQorOjEwN0E1MDAwNDM1NDUzMjAyRDIwNzA2OTZFMjAzMTFGMjc1MzgzMkVFRAorOjEwN0E2MDAwMzE4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEEzOAorOjEwN0E3MDAwOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNTI0OTIwMkQ3MworOjEwN0E4MDAwMjAyODZFMkU2MzJFMjkxRjI3NTM4NzJFMzE4MTgyNjM3MworOjEwN0E5MDAwOTA4MDgxODI4Mzg0ODU4Njg3ODg4OThBOEI4QzhEOEU2RAorOjEwN0FBMDAwOEYyNzAyMDAwMTgwMjAyMDQ0NTQ1MjIwMkQyMDcwNjkyRAorOjEwN0FCMDAwNkUyMDMyMUYyNzUzODYyRTMxODE4MjYzOTA4MDgxODIwRgorOjEwN0FDMDAwODM4NDg1ODY4Nzg4ODk4QThCOEM4RDhFOEYyNzAyMDA5OAorOjEwN0FEMDAwMDE4MDIwMjA1MjU0NTMyMDJEMjA3MDY5NkUyMDM3MUZDMgorOjEwN0FFMDAwMjc1MzgyMkUzMTgxODI2MzkwODA4MTgyODM4NDg1ODZCMAorOjEwN0FGMDAwODc4ODg5OEE4QjhDOEQ4RThGMjcwMjAwMDE4MDIwMjBCOQorOjEwN0IwMDAwNTI3ODQ0MjAyRDIwNzA2OTZFMjAzNjFGMjc1MzgxMkUxNQorOjEwN0IxMDAwMzA1MzREODE4MjYzOTA4MDgxODI4Mzg0ODU4Njg3ODhGQgorOjEwN0IyMDAwODk4QThCOEM4RDhFOEYyNzAyMDAwMTgwMjAyMDU0NzhDQgorOjEwN0IzMDAwNDQyMDJEMjA3MDY5NkUyMDMzMUYyNzUzODAyRTMwNTMzMAorOjEwN0I0MDAwNEQ4MTgyNjM5MDgwODE4MjgzODQ4NTg2ODc4ODg5OEEzQgorOjEwN0I1MDAwOEI4QzhEOEU4RjI3MDIwMDAxODAyMDIwNDQ0MzQ0MjA4RgorOjEwN0I2MDAwMkQyMDcwNjk2RTIwMzUxRjIwMjAyMDIwMjc1Mzg1MkU2MAorOjEwN0I3MDAwMzE4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDBBMQorOjEwN0I4MDAwMDE4MDIwMjA0NDUzNTIyMDJEMjA3MDY5NkUyMDM1MUYyMworOjEwN0I5MDAwMjAyMDIwMjAyNzUzODQyRTMxODE4MjYzODg4MDgxODI5NworOjEwN0JBMDAwODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNDM1NDUzMjA0OAorOjEwN0JCMDAwMkQyMDcwNjk2RTIwMzExRjIwMjAyMDIwMjc1MzgzMkUxNgorOjEwN0JDMDAwMzE4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDA1MQorOjEwN0JEMDAwMDE4MDIwMjA1MjQ5MjAyRDIwMjg2RTJFNjMyRTI5MUYzRgorOjEwN0JFMDAwMjAyMDIwMjAyNzUzODcyRTMxODE4MjYzODg4MDgxODI0NAorOjEwN0JGMDAwODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNDQ1NDUyMjBGOAorOjEwN0MwMDAwMkQyMDcwNjk2RTIwMzIxRjIwMjAyMDIwMjc1Mzg2MkVDMQorOjEwN0MxMDAwMzE4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDAwMAorOjEwN0MyMDAwMDE4MDIwMjA1MjU0NTMyMDJEMjA3MDY5NkUyMDM3MUY3MAorOjEwN0MzMDAwMjAyMDIwMjAyNzUzODIyRTMxODE4MjYzODg4MDgxODJGOAorOjEwN0M0MDAwODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNTI3ODQ0MjA4MworOjEwN0M1MDAwMkQyMDcwNjk2RTIwMzYxRjIwMjAyMDIwMjc1MzgxMkU3MgorOjEwN0M2MDAwMzA1MzREODE4MjYzODg4MDgxODI4Mzg0ODU4Njg3MjcxMworOjEwN0M3MDAwMDIwMDAxODAyMDIwNTQ3ODQ0MjAyRDIwNzA2OTZFMjA1RAorOjEwN0M4MDAwMzMxRjIwMjAyMDIwMjc1MzgwMkUzMDUzNEQ4MTgyNjNDNAorOjEwN0M5MDAwODg4MDgxODI4Mzg0ODU4Njg3MjcwMjAwMDE4MDIwMjA1NgorOjEwN0NBMDAwNDQ0MzQ0MjAyRDIwNzA2OTZFMjAzMjMwMUYyMDIwMjA1NAorOjEwN0NCMDAwMjAyNzUzODUyRTMxODE4MjYzODg4MDgxODI4Mzg0ODU0OQorOjEwN0NDMDAwODY4NzI3MDIwMDAxODAyMDIwNDQ1MzUyMjAyRDIwNzBGNworOjEwN0NEMDAwNjk2RTIwMzEzMTFGMjAyMDIwMjAyNzUzODQyRTMxODFDRQorOjEwN0NFMDAwODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDAxODA2MQorOjEwN0NGMDAwMjAyMDQzNTQ1MzIwMkQyMDcwNjk2RTIwMzQxRjIwMjBGMworOjEwN0QwMDAwMjAyMDI3NTM4MzJFMzE4MTgyNjM4ODgwODE4MjgzODQ1RgorOjEwN0QxMDAwODU4Njg3MjcwMjAwMDE4MDIwMjA1MjQ5MjAyRDIwNzA2RgorOjEwN0QyMDAwNjk2RTIwMzIzMjFGMjAyMDIwMjAyNzUzODcyRTMxODE3OAorOjEwN0QzMDAwODI2Mzg4ODA4MTgyODM4NDg1ODY4NzI3MDIwMDAxODAxMAorOjEwN0Q0MDAwMjAyMDQ0NTQ1MjIwMkQyMDcwNjk2RTIwMzYyRjM4MUY3OQorOjEwN0Q1MDAwMjAyMDIwMjAyNzUzODYyRTMxODE4MjYzODg4MDgxODJEMworOjEwN0Q2MDAwODM4NDg1ODY4NzI3MDIwMDAxODAyMDIwNTI1NDUzMjA3NworOjEwN0Q3MDAwMkQyMDcwNjk2RTIwMzUxRjIwMjAyMDIwMjc1MzgyMkU1MQorOjEwN0Q4MDAwMzE4MTgyNjM4ODgwODE4MjgzODQ4NTg2ODcyNzAyMDA4RgorOjEwN0Q5MDAwMDE4MDIwMjA1Mjc4NDQyMDJEMjA3MDY5NkUyMDMyMUZFRgorOjEwN0RBMDAwMjAyMDIwMjAyNzUzODEyRTMwNTM0RDgxODI2Mzg4ODBFQworOjEwN0RCMDAwODE4MjgzODQ4NTg2ODcyNzAyMDAwMTgwMjAyMDU0Nzg3MQorOjEwN0RDMDAwNDQyMDJEMjA3MDY5NkUyMDMzMUYyMDIwMjAyMDI3NTM0RgorOjEwN0REMDAwODAyRTMwNTM0RDgxODI2Mzg4ODA4MTgyODM4NDg1ODZBMgorOjEwN0RFMDAwODcyNzAyMDA2ODA0OTYwNEI2MDMzQzA0MEUwNDg5MDM0NgorOjEwN0RGMDAwNUMwM0UyMDM2MDA4OEEwOEJFMDczODA4MEUwODk1MDc4RQorOjEwN0UwMDAwNkMwN0U2MDcxQzA1NzQwNUZBMDVDNDA0RjAwNENDMDVFQworOjEwN0UxMDAwQTAwNTQ4MDU3ODA2QzgwNjQyMDcyODA2NTAwNjE4MDczOAorOjEwN0UyMDAwRjAwNkEwMDYwMDAwRjQwOEY0MDhENDBEMDQwOTA0MDlDMworOjEwN0UzMDAwMDQwOTA0MDk0MjAwMEMwOTFDMDlFNTBEMDIwMDE0MDk5QgorOjEwN0U0MDAwMDQwOUY0MEQ0MzAwMUMwOTBDMDkwNTBFMDAwNDA0MDk4MworOjEwN0U1MDAwMTQwOTEyMEUyQzA5MkMwOTJDMDkyQzA5MDAwMDNDMDlDQworOjEwN0U2MDAwNkMwOTFFMEU3NDA5NzQwOTc0MDk3NDA5MDAwMTRDMDkyNworOjEwN0U3MDAwMkMwOTJEMEU3NDA5NzQwOTc0MDk3NDA5MDAwMjVDMDkzNworOjEwN0U4MDAwM0MwOTNEMEU3NDA5NzQwOTc0MDk3NDA5MDAwMzZDMDlGNgorOjEwN0U5MDAwNEMwOTREMEU3NDA5NzQwOTc0MDk3NDA5RkYwMDJDMDkwQQorOjEwN0VBMDAwNUMwOTAwMDAwMDA1ODQwOUVDMDk1RTBFRjQwOUY0MDk4MAorOjEwN0VCMDAwRjQwOUY0MDkwMDA2OTQwOTc0MDk2ODBFQUMwQUFDMEFDNgorOjEwN0VDMDAwQUMwQUFDMEEwMDA3QTQwOTg0MDk3MjBFQkMwQUJDMEFGOQorOjEwN0VEMDAwQkMwQUJDMEEwMDA4QjQwOTk0MDk3QzBFRDQwQUQ0MEE2RQorOjEwN0VFMDAwRDQwQUQ0MEEwMDBCQzQwOUE0MDk4MzBFRkMwQUZDMEFCNAorOjEwN0VGMDAwRkMwQUZDMEEwMDBDRDQwOUI0MDk5MDBFMTQwQjE0MEJGNAorOjEwN0YwMDAwMTQwQjE0MEIwMDAyRTQwOUM0MDlBMDBFMkMwQjJDMEI1QgorOjEwN0YxMDAwMkMwQjJDMEIwNDAwRUMwOUQ0MDkwRTAwRkYwMDc0MDk5MworOjEwN0YyMDAwRTQwOTAwMDA4MjAxRkMwOUE0MEFBQzBFODIwMjA0MEFFMgorOjEwN0YzMDAwRjQwOUFGMEU4MjAzMEMwQUZDMDlCMjBFODIwNDE0MEE4MworOjEwN0Y0MDAwMDQwQUI2MEU4MjA1MUMwQTBDMEFCQzBFODIwNjI0MEExQworOjEwN0Y1MDAwMTQwQUMwMEU4MjA3MkMwQTFDMEFDNDBFODIwODM0MEFCNgorOjEwN0Y2MDAwMjQwQUM4MEU4MjA5M0MwQTJDMEFDQzBFODIwQTQ0MEE1MgorOjEwN0Y3MDAwMzQwQUQxMEU4MjEwNEMwQTNDMEFENjBFODIwQjU0MEFFNworOjEwN0Y4MDAwNDQwQURCMEU4MjExNUMwQTRDMEFFMDBFODIwQzY0MEE4MQorOjEwN0Y5MDAwNTQwQUU1MEU4MjEyNkMwQTVDMEFFQTBFODIwRDc0MEExQgorOjEwN0ZBMDAwNjQwQUVGMEU4MjBFN0MwQTZDMEFGNDBFODIwRjg0MEFCOQorOjEwN0ZCMDAwNzQwQUZCMEU4MjEzOEMwQTdDMEEwMjBGODIxNDk0MEE0NAorOjEwN0ZDMDAwODQwQTA5MEY4MjE1OUMwQThDMEExMDBGODIxNkE0MEFEMworOjEwN0ZEMDAwOTQwQTE3MEY4MjE3RjQwOTlDMEExRTBGODIwMkI0MEEzMgorOjEwN0ZFMDAwQjQwQTI2MEY4MjAzQUMwQUFDMEEyRDBGODIwMEM0MEEyMQorOjEwN0ZGMDAwQ0MwQTM0MEY4MjAxQ0MwQUJDMEEzRjBGODIwMkJDMEFCMQorOjEwODAwMDAwQzQwQTREMEY4MjAwREMwQUY0MEE1OTBGODIwMUU0MEEwNworOjEwODAxMDAwRDQwQTYzMEY4MjAyRUMwQURDMEE2RTBGODIwM0Y0MEFCMAorOjEwODAyMDAwRTQwQTdBMEY4MjA0RDQwQUVDMEE4NzBGODIwMDA0MEI1OAorOjEwODAzMDAwMEMwQjkzMEY4MjAxMEMwQkZDMEE5QjBGODIwMkZDMEFCMworOjEwODA0MDAwMDQwQkE3MEY4MjAwMUMwQjI0MEJCMDBGODIwMTI0MEIyMgorOjEwODA1MDAwMTQwQkI1MEY4MjAyMTQwQjFDMEJCRTBGNDQwMDM0MEIyMworOjEwODA2MDAwQTQwQjlDMDE0NDAxM0MwQjJDMEJBMzAxNDQwMjQ0MEJDOAorOjEwODA3MDAwMzQwQkFBMDE0NDAzNEMwQjNDMEJCMTAxNDQwNDU0MEJEOAorOjEwODA4MDAwNDQwQkI4MDE0NDA1NUMwQjRDMEJCRjAxNDQwNjY0MEI2OAorOjEwODA5MDAwNTQwQkM2MDE0NDA3NkMwQjVDMEJDRDAxNDQwODc0MEJGOAorOjEwODBBMDAwNjQwQkQ0MDE0NDA5N0MwQjZDMEJEQjAxNDQwQTg0MEI4OAorOjEwODBCMDAwNzQwQkUyMDE0NDBCOEMwQjdDMEJFQTAxNDQwQzk0MEIxNworOjEwODBDMDAwODQwQkYyMDE0NDBEOUMwQjhDMEJGQTAxNDQwRUE0MEJBMworOjEwODBEMDAwOTQwQjAyMDI0NDBGMkMwQjlDMEIwQTAyMTcxRjBGMkY0QworOjEwODBFMDAwMDAwMDAxODA3ODc4M0EyMDc0NzgyMDYzNzA3MzIwMkEyOQorOjEwODBGMDAwMkEyQTJBMkEwMjAwMDE4MDc4NzgzQTIwNzQ3ODIwNjM5QworOjEwODEwMDAwNzA3MzIwMkEyQTJBMkEyQTAyMDAwMTgwNzg3ODNBMjBDRAorOjEwODExMDAwNzQ3ODIwNjM3MDczMjAyQTJBMkEyQTJBMDIwMDAxODA5OAorOjEwODEyMDAwNzg3ODNBMjA3NDc4MjA2MzcwNzMyMDJBMkEyQTJBMkFDMQorOjEwODEzMDAwMDIwMDAxQzA3ODc4M0EyMDcyNjMyMDYzNzA3MzIwMkFBRAorOjEwODE0MDAwMkEyQTJBMkEwMjAwMDFDMDc4NzgzQTIwNzI2MzIwNjMyMgorOjEwODE1MDAwNzA3MzIwMkEyQTJBMkEyQTAyMDAwMUMwNzg3ODNBMjAzRAorOjEwODE2MDAwNzI2MzIwNjM3MDczMjAyQTJBMkEyQTJBMDIwMDAxQzAxRgorOjEwODE3MDAwNzg3ODNBMjA3MjYzMjA2MzcwNzMyMDJBMkEyQTJBMkE4OAorOjEwODE4MDAwMDIwMDAxODA0OTZFNzM3NDYxNkM2QzIwNEM2RjZGNzBEQgorOjEwODE5MDAwNjI2MTYzNkIxRjUwNzI2NTczNzMyMDgwMjA3NDZGMjA1RgorOjEwODFBMDAwNzM3NDYxNzI3NDAyMDAwMTgwMjA0MzYxNjI2QzY1MjAwNworOjEwODFCMDAwNzQ2RjIwNTI2NTZENkY3NDY1MUY1MDcyNjU3MzczMjAwNAorOjEwODFDMDAwODAyMDc0NkYyMDczNzQ2MTcyNzQwMjAwMDE4MDIwNENFRgorOjEwODFEMDAwNkY2MzYxNkMyMDRDNkY2RjcwNjI2MTYzNkIyMDFGMjA1NgorOjEwODFFMDAwMjA1Mjc1NkU2RTY5NkU2NzIwMkUyRTJFMDIwMDAxODA2MQorOjEwODFGMDAwNTI2NTZENkY3NDY1MjA0QzZGNkY3MDYyNjE2MzZCMjBBOAorOjEwODIwMDAwMUYyMDIwNTI3NTZFNkU2OTZFNjcyMDJFMkUyRTAyMDA4MgorOjEwODIxMDAwMDE4MDIwNDk2RTc0NzI2RTZDMjA0QzZGNkY3MDYyNjFDOQorOjEwODIyMDAwNjM2QjFGMjAyMDUyNzU2RTZFNjk2RTY3MjAyRTJFMkU5NgorOjEwODIzMDAwMDIwMDAxODA1NDcyNjE2RTczNkQ2OTc0MjA1MDYxNzQyNAorOjEwODI0MDAwNzQ2NTcyNkUxRjIwMjA1Mjc1NkU2RTY5NkU2NzIwMkVFNworOjEwODI1MDAwMkUyRTAyMDAwMTgwMjAyMDMwM0EyMDI3NDM4MDAwMDE4QQorOjEwODI2MDAwODAyMDIwMzEzQTIwMjc0MzgxMDAwMTgwMjAyMDMyM0FBQgorOjEwODI3MDAwMjAyNzQzODIwMDAxODAyMDIwMzMzQTIwMjc0MzgzMDBCNworOjEwODI4MDAwMDE4MDIwMjAzNDNBMjAyNzQzODQwMDAxODAyMDIwMzVCQgorOjEwODI5MDAwM0EyMDI3NDM4NTAwMDE4MDIwMjAzNjNBMjAyNzQzODY1NAorOjEwODJBMDAwMDAwMTgwMjAyMDM3M0EyMDI3NDM4NzAwMDE4MDIwMjBDQQorOjEwODJCMDAwMzgzQTIwMjc0Mzg4MDAwMTgwMjAyMDM5M0EyMDI3NDM3QworOjEwODJDMDAwODkwMDAxODAyMDMxMzAzQTIwMjc0MzhBMDAwMTgwMjAzNAorOjEwODJEMDAwMzEzMTNBMjAyNzQzOEIwMDAxODAyMDMxMzIzQTIwMjc2OAorOjEwODJFMDAwNDM4QzAwMDE4MDIwMzEzMzNBMjAyNzQzOEQwMDAxODBFOAorOjEwODJGMDAwMjAzMTM0M0EyMDI3NDM4RTAwMDE4MDIwMzEzNTNBMjA0NgorOjEwODMwMDAwMjc0MzhGMDAyQTJBMjA0RDYxNjk2RTIwMjA0RDY1NkUxQgorOjEwODMxMDAwNzUyMDJBMkEwMDRENkY2RTY5NzQ2RjcyMjA2MTIwNTA5QgorOjEwODMyMDAwNkY3Mjc0MDA0RDZGNkU2OTc0NkY3MjIwNjEyMDUzNjlCMworOjEwODMzMDAwNjc2RTYxNkMwMDQ1NzM3NDY5NkQ2MTc0NjUyMDQzNTBBQworOjEwODM0MDAwNTMwMDQ0Njk2MTY3NkU2RjczNzQ2OTYzNzMwMDRDNkZBNworOjEwODM1MDAwNjM2MTZDMjA0QzZGNkY3MDYyNjE2MzZCMDA1MjY1NkQ3RQorOjEwODM2MDAwNkY3NDY1MjA0QzZGNkY3MDYyNjE2MzZCMDA0OTZFNzQ0RgorOjEwODM3MDAwNzI2RTZDMjA0QzZGNkY3MDYyNjE2MzZCMDA1NDcyNjEzRgorOjEwODM4MDAwNkU3MzZENjk3NDIwNTA2MTc0NzQ2NTcyNkUwMDQyNjEyMQorOjEwODM5MDAwNzU2NDIwNTI2MTc0NjUwMDQ0NjE3NDYxMjA0MjY5NzQ5RgorOjEwODNBMDAwNzMwMDUzNzQ2RjcwMjA0MjY5NzQ3MzAwNTA2MTcyNjk3NgorOjEwODNCMDAwNzQ3OTAwNDQ2MTc0NjEyMDUwNjE3NDc0NjU3MjZFMDA1OAorOjEwODNDMDAwNTQ3ODIwNDY2QzZGNzcyMDQzNkY2RTc0NzI2RjZDMDAyOAorOjEwODNEMDAwNTA2RjcyNzQyMDRFNzU2RDYyNjU3MjAwMzUzMDAwMzdEMworOjEwODNFMDAwMzUwMDMxMzEzMDAwMzEzMzM0MkUzNTAwMzEzNTMwMDAzNQorOjEwODNGMDAwMzIzMDMwMDAzMzMwMzAwMDM2MzAzMDAwMzEzMjMwMzBGRgorOjEwODQwMDAwMDAzMTM4MzAzMDAwMzIzMDMwMzAwMDMyMzQzMDMwMDAxQgorOjEwODQxMDAwMzMzNjMwMzAwMDM0MzgzMDMwMDAzNzMyMzAzMDAwMzlDNQorOjEwODQyMDAwMzYzMDMwMDAzMTM5MkMzMjMwMzAwMDMzMzgyQzM0MzA5MworOjEwODQzMDAwMzAwMDM1MzYyQzMwMzAzMDAwMzUzNzJDMzYzMDMwMDBCNworOjEwODQ0MDAwMzYzNDJDMzAzMDMwMDAzNzM2MkMzODMwMzAwMDMxMzE3MworOjEwODQ1MDAwMzUyQzMyMzAzMDAwMzcyMDYyNjk3NDczMDAzODIwNjI2NgorOjEwODQ2MDAwNjk3NDczMDAzMTIwNzM3NDZGNzAyMDYyNjk3NDAwMzExNQorOjEwODQ3MDAwMkUzNTIwNzM3NDZGNzAyMDYyNjk3NDczMDAzMjIwNzMxQworOjEwODQ4MDAwNzQ2RjcwMjA2MjY5NzQ3MzAwNkU2RjIwNzA2MTcyNjkxRQorOjEwODQ5MDAwNzQ3OTAwNkY2NDY0MjA3MDYxNzI2OTc0NzkwMDY1NzYyNAorOjEwODRBMDAwNjU2RTIwNzA2MTcyNjk3NDc5MDA3MzcwNjE2MzY1MjAxNAorOjEwODRCMDAwNzA2MTcyNjk3NDc5MDA2RDYxNzI2QjIwNzA2MTcyNjlBQworOjEwODRDMDAwNzQ3OTAwNDM2RjZDNzU2RDZFNzMwMDQyNjE3MjYyNjUwMgorOjEwODREMDAwNzIyMDUwNkY2QzY1MDA1NTU1NTU1NTU1MkUyRTJFMDA0NworOjEwODRFMDAwNEU2RjZFNjUwMDU4NkY2RTJGNTg2RjY2NjYwMDQzNTQ2RQorOjEwODRGMDAwNTMwMDUwNzI2NTczNzMyMDgwMjA2NjZGNzIyMDZENjUyMworOjEwODUwMDAwNkU3NTAwMjg2MzZGNzU2RTc0Njk2RTY3MkUyRTJFMjk0NgorOjEwODUxMDAwMDAwMDY1NEU2NDIwNEY2NjIwNDM2RjQ0NjUwMDAwMDBGNAorOjEwODUyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0QgorOjEwODUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzQgorOjEwODU0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjEwODU1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxQgorOjEwODU2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQgorOjEwODU3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGQgorOjEwODU4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjEwODU5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBEQgorOjEwODVBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDQgorOjEwODVCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCQgorOjEwODVDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjEwODVEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5QgorOjEwODVFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4QgorOjEwODVGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3QgorOjAwMDAwMDAxRkYKKy8qICBJbnRlbGxpcG9ydCBJSSBsb2Fkd2FyZSAqLworLyogLTMxMjMyIGJ5dGVzIHJlYWQgZnJvbSBmZi5sb2QgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZS5iaW4uaWhleCBiL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZS5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTJkNDBmCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2F3ZXRoL25ld19jb2RlLmJpbi5paGV4CkBAIC0wLDAgKzEsMjA2IEBACis6MTAwMDAwMDBCNkMzQUFCQkNDREQ5RkNGREUwNkU3NTcwMDAwQzQwNjBGCis6MTAwMDEwMDA5N0MxRTc2N0ZGMUYyOEMwRTc4NzAwMDQyNEMwRTc2NzkwCis6MTAwMDIwMDBGRkY5MjJDMDk3Q0ZENzA5MDBDMEU3MDlBMkMwQkUwNkRBCis6MTAwMDMwMDA5RkFGMzYwMEU3MDUwMEMwQTdDRkJDMDY5N0NGRTc1N0I0Cis6MTAwMDQwMDAwMDAwQjgwNkE3QTFCODA2OTdDRkU3NTcwMDAwMTQwODJDCis6MTAwMDUwMDAwQUMwRTc1NzAwMDBBNEMwQTdDMDdBMDY5RkFGOTIwNzY2Cis6MTAwMDYwMDBFNzA3MDAwMDE0MDhFNzU3RkZGRkJBMDY5RkEwMzgwMDEzCis6MTAwMDcwMDBFNzU5QkEwNkJFMDY5RkEwMzgwMEM4MDlDQTA2MDg2MjNBCis6MTAwMDgwMDA5RkExMzYwOEMwMDk3NjA2MDA2MEE3QzA3QTA2OUZBRjE4Cis6MTAwMDkwMDBDQzAyRTc1NzAwMDBCODA2QTdDMTdBMDY5RkFGMDQwMDVDCis6MTAwMEEwMDBFNzU3MDAwMDhFMDYwQUMxRTcwOTIwQzAxMDA4RTdEMDE0Cis6MTAwMEIwMDAxMDA4RTc2NzQwMDAxMDA4OUZBRjkyMENDMDA5RDAwNkY3Cis6MTAwMEMwMDAwMDYwMDVDNEMwNTlCRTA2MDJDMDlGQUZFQzAwOUZBRkUwCis6MTAwMEQwMDAzNDAyRTc1NzAwMDBBNjA2OUZBMDdBMDJBN0NGN0EwNjRGCis6MTAwMEUwMDA0ODAyRTcwOUJFMDZEMDA2QzgzNzA0MDA5RkFGMDgwM0UwCis6MTAwMEYwMDA5N0NGRTc1NzAwMDBDRTA2OTdDMEQ3MDkwMEMwQzFERkYxCis6MTAwMTAwMDBDODA5QzYwNjA4NjIxNEMwMjcwNEM2MDYxMDk0RjAwNzgyCis6MTAwMTEwMDAxMDA4MDIwMEMxMDcwMTAwNzAwMDA0MDBGMDA3MzAwMTYwCis6MTAwMTIwMDAwNjAwNTBBRkU3MDdGRkZGRDAwNkU3MDcwMDAwQ0UwNjQ2Cis6MTAwMTMwMDBFNzA1MDBDMDk3Q0ZENzA5MDBDMEMxREY0ODAyRDAwOTRBCis6MTAwMTQwMDBDNjA2MjcwMkM2MDZFNzA1MDBDMDk3Q0Y0ODAyQzgzNzkzCis6MTAwMTUwMDAwNDAwMDAwQzBDMDAwMDYwMjFDMEMwMzczRTAwMjNDOTIxCis6MTAwMTYwMDBDMDU3QjQwNTFCQzhDMDE3M0YwMEMwNjdDMEZGMzAwMEIwCis6MTAwMTcwMDAwODAwRjAwNzAwMDAwNDAwMDAwMkMwMTc0QzAwMzAwMDI3Cis6MTAwMTgwMDAwNjAwRjAwN0EwMDEwQTAwNDgwMkMxMDcwMjAwRDcwOUQzCis6MTAwMTkwMDAwMEMwQzFERjUxQUZFNzA1MDBDMDk3Q0Y5RkFGMDgwMzk0Cis6MTAwMUEwMDA5RkFGN0EwMjk3Q0Y5RkFGN0EwMkM5MzcwNDAwQzFERkIxCis6MTAwMUIwMDBDODA5QTIwNjUwMDI2NzAyQTIwNkQxMDcwMDAwMjdEODhDCis6MTAwMUMwMDBBQTA2QzBERjlGQUZDNDAxOTdDRkU3NTcwMDAwRDIwNjUxCis6MTAwMUQwMDA5N0MxRTc1NzAxMDBBODA2OTdDMEM4MDlBMDA2MDg2MkEyCis6MTAwMUUwMDA5N0MwMDAwMkMwMTcwRTAwMjcwMDM0MDEyNzBDMEMwMDM2Cis6MTAwMUYwMDAzNjAxRTcwNzUwQzMxMkMwRTcwN0NDMEIwMjAwRTcwNzQwCis6MTAwMjAwMDAwMTAwQTgwNkU3MDcwNTAwOTBDMDk3Q0ZDODA5QTQwNjFCCis6MTAwMjEwMDAwODYyMDJDMDEwNjQwN0MxRTcwNzAwMDA5RTA2RTcwN0Y2Cis6MTAwMjIwMDA3MjA0MjQwMDk3Q0YyNzA0QTQwNkM4MTcwRTAwMjcwMkUzCis6MTAwMjMwMDA5RTA2RTcwNzgwMDQyNDAwOTdDRkQ3MDkwMEMwQzFERkRFCis6MTAwMjQwMDBFNzU3MDAwMDkwMDYxM0MxOUZBRjA2MDJFNzU3MDAwMDcyCis6MTAwMjUwMDA5RTA2MTNDMEU3MDk5RTA2MzAwMUU3MDdGMjA1MzIwMTRBCis6MTAwMjYwMDBFNzA3MTAwMDk2QzBFNzA5OUUwNjkwMDYwNENGRTc1N0ZGCis6MTAwMjcwMDAwMDAwOUUwNjAyQzE5RkFGMDYwMkU3MDUwMEMwOTdDRkFGCis6MTAwMjgwMDBENzA5MDBDMEMxREYwODkyRTc1NzAyMDBBQTA2MDJDM0RGCis6MTAwMjkwMDBDODA5QTQwNjI3MDJBNjA2MDg2MjAzQzFFNzA1MDBDMDM0Cis6MTAwMkEwMDA5N0NGMjcwNEE0MDZFNzA1MDBDMEYwMDc0MDAwMDgwMDI4Cis6MTAwMkIwMDBGMDA3MDAwMDA0MDAwMDAyQzAxNzBDMDAzMDAwMDYwMDI4Cis6MTAwMkMwMDBGMDA3NDYwMTBBMDBDODE3MDQwMEMxMDcwMjAwNTFBRjM5Cis6MTAwMkQwMDA5N0NGRTc1NzAwMDA5NjA2OTdDMEMxREZDODA5OTYwNjdBCis6MTAwMkUwMDAyNzA0OTYwNjI3NTI5ODA2MDNDMUU3MDc5NjA2OTgwNjQ0Cis6MTAwMkYwMDBDMERGMTcwMkM4MTcwRTAwOUZBRkJBMDNDODA1MDA2MDIxCis6MTAwMzAwMDAwM0MwOUZBRjI0MDM5N0NGOUZBRjA4MDM5N0NGNTcwMjM3Cis6MTAwMzEwMDBDOTA3QTQwNkQ3MDkwMEMwQzFERjA4NjIxQkMwNTAwNDhBCis6MTAwMzIwMDAxMTAyRTcwNTAwQzBDOTA1OTdDRjk3MDJDQTA5RDYwNjkyCis6MTAwMzMwMDBGMjE3MDEwMDA0MDBGMjI3MDAwMDA2MDBDQTE3MkMwMDgzCis6MTAwMzQwMDBGODc3MDEwMDBFMDAwNkMwQ0FEOUY4NTdGRjAwMEUwMDZBCis6MTAwMzUwMDAwMUMxQ0FEOTIyMUMwQzAwRTIyNzAwMDBFMjE3MDEwMEVCCis6MTAwMzYwMDBFMjI3MDAwMENBMDUwMDBDMEMwMEMwMTc0MTAwQzA2NzVFCis6MTAwMzcwMDBDMEZGMzAwMDA4MDAwMDAyQzAxNzBDMDAzMDAwMDYwMDZCCis6MTAwMzgwMDBGMDA3REEwMDBBMDBGMDA3MDAwMDA0MDAwMDBDMDgwMDgzCis6MTAwMzkwMDA0MEQxMDEwMEMwMTlDRTA2QzA1OUMyMDYwNEM5NDlBRkY4Cis6MTAwM0EwMDA5RkFGRUMwMDRBQUY2NzEwQ0UwNkM4MTcwNDAwQzEwNzI0Cis6MTAwM0IwMDAwMTAwRDcwOTAwQzBDMURGNTBBRkU3MDUwMEMwOTdDRkVCCis6MTAwM0MwMDBDMDA3MDEwMEMxMDlBQzA2QzE3NzAxMDA5N0MxRDg3NzA5Cis6MTAwM0QwMDAwMTAwMTJDMEM5MDc2QTA2OUZBRjA4MDQwNEMxQzE3N0IzCis6MTAwM0UwMDAwODAwMTNDMDk3Q0ZDMTc3MDIwMDk3QzFDMTc3MTAwMEYyCis6MTAwM0YwMDAwQ0MwOUZBRjJDMDQ5N0NGQzE3NzA0MDAwNkMwQzkwNzdCCis6MTAwNDAwMDA3MDA2OUZBRjA4MDQ5N0MwMDBDRjAwOTA5N0NGNTA1NDVDCis6MTAwNDEwMDA5N0MxNzA1QzAyMDAwMjAwOTdDMTcwNUMwNDAwMDQwMDg4Cis6MTAwNDIwMDA5N0NGODAwMUMwMDA2MDAwMzAwMDE4MDAwQzAwMDYwMDZCCis6MTAwNDMwMDAwMDAwQ0IwOUIyMDZDQzA5QjQwNjBCNTMxMUMwQzkwMkE3Cis6MTAwNDQwMDBDQTA3MUMwNDlGQUYwODA0OTdDMDBBQzg4MjA4MEFDRkQ1Cis6MTAwNDUwMDA4MjA4OUZBRjA4MDQ5N0MwMDVDMjg5MzA4MjYwNzhDMUM2Cis6MTAwNDYwMDAwMDkwOTdDRjg5MTAwOTUzNzlDMjg5MzA4MjA4N0FDRkRBCis6MTAwNDcwMDBDMERGOTdDRkMwREY5N0NGRTcwOTk2QzA5MjA2RTcwOUE0Cis6MTAwNDgwMDA5OEMwOTQwNjBGQ0ZFNzA5OTZDMDkyMDZFNzA5OThDMDc2Cis6MTAwNDkwMDA5NDA2RTcwOTlFMDYzMDAxRTcwN0YyMDUzMjAxRTcwN0Y3Cis6MTAwNEEwMDAxMDAwOTZDMEQ3MDkwMEMwMTcwMkM4MDk5MDA2QzgzN0M3Cis6MTAwNEIwMDAwRTAwRTc3NzJBMDA5MjA2MzBDMDk3MDJDQTA5RDYwNkQ2Cis6MTAwNEMwMDBFNzc3MjAwMDkyMDYwRUMwRjIxNzAxMDAxMDAwRjIyNzE1Cis6MTAwNEQwMDAwMDAwMTIwMEU3NzcwQTAwOTIwNkNBMDUxRUMwOTcwMkM0Cis6MTAwNEUwMDBDQTA5RDYwNkYyMTcwMTAwMEMwMEYyMjcwMDAwMEUwMDIwCis6MTAwNEYwMDBFNzc3MDIwMDkyMDYwN0MwRjIxNzAxMDA0NDAwRjIyN0Q2Cis6MTAwNTAwMDAwMDAwNDYwMDA2Q0ZGMjE3MDEwMDYwMDBGMjI3MDAwMDRECis6MTAwNTEwMDA2MjAwQ0EwNTlGQUYwODAzMEZDRjU3MDIwOTAyRjEwOTE1Cis6MTAwNTIwMDA5NDA2MEMwMEYxREEwQzAwQzgwOTk4MDY1MDAyNjcwMjI0Cis6MTAwNTMwMDA5ODA2RDEwNzAwMDBDOTA1RTcwOTlFMDY5MDA2RTc1NzBGCis6MTAwNTQwMDAwMDAwOTAwNjAyQzA5RkFGMDYwMkM4MDVFNzA1MDBDMDg0Cis6MTAwNTUwMDBDMERGOTdDRkQ3MDkwMEMwMTcwMDE3MDI5NzAyQzAwOTY0Cis6MTAwNTYwMDA5MkMwRTcwNzA0MDA5MEMwQ0EwOUQ2MDZFNzA3MDAwMDVBCis6MTAwNTcwMDBBODA2RTcwNzZBMDQwMjAwQzA3NzAyMDAwOEMwRjIxNzY1Cis6MTAwNTgwMDAwMTAwNTAwMEYyMjcwMDAwNTIwMDlGQ0YyNDA2QzA3N0UwCis6MTAwNTkwMDAxMDAwMDZDMEYyMTcwMTAwNTgwMEYyMjcwMDAwNUEwMEIwCis6MTAwNUEwMDBDMDc3ODAwMDA2QzBGMjE3MDEwMDcwMDBGMjI3MDAwMDNCCis6MTAwNUIwMDA3MjAwQzA3NzA4MDAxREMxRjIxNzAxMDAwODAwRjIyNzgxCis6MTAwNUMwMDAwMDAwMEEwMEMwNzcwMDAyMDZDMEYyMTcwMTAwNjQwMEI0Cis6MTAwNUQwMDBGMjI3MDAwMDY2MDBDMDc3NDAwMDA2QzBGMjE3MDEwMDU1Cis6MTAwNUUwMDA1QzAwRjIyNzAwMDA1RTAwQzA3NzAxMDAwMUMwMUJDRjU1Cis6MTAwNUYwMDAxQUNGRjIxNzAxMDAwMDAwRjIyNzAwMDAwMjAwQzgwOTFDCis6MTAwNjAwMDAzNDAxQ0ExNzE0MDBEODc3MDEwMDA1QzBDQUQ5RDg1N0Q5Cis6MTAwNjEwMDBGRjAwMDFDMENBRDlFMjE5OTRDMEUyMjcwMDAwRTIxNzI2Cis6MTAwNjIwMDAwMTAwRTIyNzAwMDA5RkFGNDAwNjlGQUZDNDAxRTc1N0RCCis6MTAwNjMwMDAwMDAwRDIwNjlGQTEwRTBBQ0EwNUM4MDVDMDA1RTcwNTNECis6MTAwNjQwMDAwMEMwQzBERjk3Q0ZDODA5QTAwNjA4NjI5N0MwMjcwNDgyCis6MTAwNjUwMDBBMDA2Mjc1MkEyMDYwM0MxRTcwN0EwMDZBMjA2OUZBRjg1Cis6MTAwNjYwMDAwODAzRTc1NzAwMDBBQTA2MDJDMDI3REFBQTA2OTdDRkI4Cis6MTAwNjcwMDBGRkZGRkZGRkZGRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAwNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTAwNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTAwNkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTAwNkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTAwNkMwMDAwMDAwMDAwMDAwMDAwMDAwM0YwMDAwMDAwMDAwMDAwMEVCCis6MTAwNkQwMDAwMDAwMDAwMDAwMDBGRkZGMDEwMDAwMDAwMDAwMDAwMDFCCis6MTAwNkUwMDBGRkZGRkIxM0U3NTcwMDgwQjIwMDA2QzJFNzA3RUUwQkRGCis6MTAwNkYwMDAxMjAwRTcwNzM0MENCMjAwRTcwN0M2MDdGMjAyQzgwOTg4Cis6MTAwNzAwMDBCNDAwRjgwNzAyMDAwRDAwRDcwOTBFQzBFNzA3MDAwMDhCCis6MTAwNzEwMDAwRUMwQzgwOURFMDBDODE3MDkwMEM5MDdEQTA2QzAwN0ZECis6MTAwNzIwMDAwNDAwNjgwQTAwREE3REMxRTcwOUMwMDA3QzA2RTcwOTE5Cis6MTAwNzMwMDBCRTAwNzgwNkU3MDkxMDAwQkMwNkM4MDdENjA3OUZBRkMxCis6MTAwNzQwMDBBRTA3OUZBRjAwMEFDODA5REUwMDAwMEUwRjAwNDE5MEZGCis6MTAwNzUwMDA5RkRFMDYwMDQ0QUYyNzAwQjIwNjI3MDBCNDA2MjcwMDNDCis6MTAwNzYwMDBCNjA2QzAwNzc0MDA0NEFGMjcwMEQ2MDYwODAwMDA5MDA0Cis6MTAwNzcwMDBDMTA3M0EwMDIwMDAwMURBN0RDMTlGQUZCQTA5QzAwNzY2Cis6MTAwNzgwMDA0NDAwNDhBRjI3MDA3QTA2OUZBRjk2MEFFNzA3MDEwMEFBCis6MTAwNzkwMDBDMDA2RTcwNTBFQzA5N0NGNDlBRkU3ODc0MzAwMEVDMEZDCis6MTAwN0EwMDBFNzA3RkZGRkJFMDY5RkFGQUUwQUMwMDcwMTAwNjBBRkJDCis6MTAwN0IwMDA0QUFGOTdDRjAwMDgwOTA4MTEwODAwREE3Q0MxOTdDRjJCCis6MTAwN0MwMDA2NzA0Q0MwMkMwREY1MTk0QjFBRjA2MDBDMURGQzkwOTk0Cis6MTAwN0QwMDBDQzAyNDk2Mjc1QzFDMERGQTdDRkQ2MDIwRTAwMjQwMDRCCis6MTAwN0UwMDA4MDA0MjIwMDRFMDVEMDAwMEUwQUFBMDAzMDA4QkUwMDg4Cis6MTAwN0YwMDA0QTBBMTAwMDIwMDAwNDAwNkUwNDAyMDA2QTA0MDYwMDg5Cis6MTAwODAwMDAwMDAwMjRDMDA0MDQyOEMwRkVGQjFFQzAwMDA0MjJDMDU3Cis6MTAwODEwMDBGRkY0QzAwMDkwMDkwMDAwMDAwMEZGRkY1NjA4NjAwOEM4Cis6MTAwODIwMDBEMDA4REEwODAwMDkwNDA5MDgwOTMyMDk0MjA5NTAwOTA4Cis6MTAwODMwMDA1MjA5NUEwOTVBMDkyNzAyQ0EwNjk3Q0ZFNzA3MDAwMDRBCis6MTAwODQwMDBDQTA2MEEwRTAxMDBDQTU3MEUwMDlGQzM1QTA5Q0EzN0NBCis6MTAwODUwMDAwMDAwOUZDMjVBMDkwQUQyQjJDRjE2MDhDODA5REUwMEFBCis6MTAwODYwMDAwNzA2OUZDRjZDMDkxNzAyQzgwOURFMDAwMDBFMEYwMEIzCis6MTAwODcwMDA0MTkwOUZERTA2MDBDODA1MzA1MDA2MDA5RkM4NUEwOTA3Cis6MTAwODgwMDAyNzBDMDIwMEIwMDZDMDA5QjIwNjI3MDBCNDA2RTcwNzJECis6MTAwODkwMDAwMDAwQUUwNjI3MDA4MDA2MDAxQzA2MDAyNzAwQjYwNkYyCis6MTAwOEEwMDA0MTkwNjc1MEIwMDYwREMwNjcwMDdFMDYyNzBDMDYwMDE5Cis6MTAwOEIwMDA4MjA2RTcwN0JDMDg4NDA2QzgwNzdFMDY0MTkwNTFBRjUwCis6MTAwOEMwMDA5N0NGOUZBRjQ4MENFNzA5QjYwNkI0MDZFNzA5QjAwNjE0Cis6MTAwOEQwMDBBRTA2NTlBRjk3Q0YyNzBDMDIwMEFDMDY1OUFGOTdDRkExCis6MTAwOEUwMDAwOTBDMDIwMDA5REE0OUQyQzkxOUQ2MDZDODA3N0UwNkUyCis6MTAwOEYwMDBFMDA3MDAwMDYwMDJFMDA3MDQwMEQwMDdDQzA4NDhEQkY2Cis6MTAwOTAwMDA0MTkwNTBBRjk3Q0Y1OUFGOTdDRjU5QUY5N0NGRjA1NzhFCis6MTAwOTEwMDAwNjAwMDYwMDI1QzFFNzA3NzAwNjgwMDY0MTkwNjcwMEMzCis6MTAwOTIwMDA3RTA2MjcwQzA2MDA4MjA2RTcwNzhDMDk4NDA2QzgwN0E2Cis6MTAwOTMwMDA3RTA2NDE5MDUxQUY5N0NGMDcwQzA2MDBDNzU3MDYwMEJGCis6MTAwOTQwMDAwRkMxQzgwNzcwMDYxNUNGMDAwQzAyMDAwMERBNDBEMUI1Cis6MTAwOTUwMDAyNzAwQzIwNjFFQ0YxRENGMjcwQzAyMDBDQzA2MTlDRkUwCis6MTAwOTYwMDAyNzAyMjAwMUU3MDcwODAwMjIwMUU3MDcxMzAwQjBDMEIzCis6MTAwOTcwMDA5N0NGNDE5MDY3MDA3RTA2RTcwMTgyMDYyNzAyODAwNjM2Cis6MTAwOTgwMDBFNzA3OEMwOTg0MDZDODA3N0UwNkMxMDcwMDgwNTBBRkMwCis6MTAwOTkwMDA5N0NGNTlBRjk3Q0YwMDYwMDVDMEU3MDcwMDAwQzQwNkE2Cis6MTAwOUEwMDBBN0NGN0MwNjlGQUYwMDBBRTcwNzAxMDBDNDA2NDlBRjQ2Cis6MTAwOUIwMDBENzA5MDBDMDA3QUZFNzA1MDBDMDRBQUZBN0NGN0MwNjQ0Cis6MTAwOUMwMDBDMDA3RkU3RjQ0QUY0MDAwQzAzNzAwMDE0MTkwQzAzN0YwCis6MTAwOUQwMDAwODAwREZERTUwMDZDMDU3MTAwMDAyQzJDMDA3MTAwMDNBCis6MTAwOUUwMDAyNzAwOUEwNjQxOTA5RkRFNDAwNjQ0QUYyNzAwOUMwNkYwCis6MTAwOUYwMDBDMDA5OUEwNjQxOTAwMEQyMDBEODlGREUwODAwNDRBRjlCCis6MTAwQTAwMDAyNzAwQzgwNjk3Q0ZFNzg3MDA4NDI4QzBFNzY3RkZGQjY5Cis6MTAwQTEwMDAyNEMwOTdDRkU3ODcwMTAwRDIwNkU3NTcwMDAwQTgwNjU5Cis6MTAwQTIwMDA5N0MxOUZBRjAwMEFFNzg3MDAwNjIyQzBFNzA3MDAwMEQyCis6MTAwQTMwMDA5MEMwRTc2N0ZFRkYzRUMwRTcwNzI2MDAwQUMwRTc4N0QxCis6MTAwQTQwMDAwMTAwM0VDMEU3MDdGRkZGQkUwNjlGQUYxMDBCOTdDRjI4Cis6MTAwQTUwMDAxNzAwQTdBRjc4MDZDMDA1MjcwMDc2MDZFNzg3MDEwMEQ0Cis6MTAwQTYwMDBEMjA2OUZBRjAwMEFFNzA3MEMwMDQwQzA5RkFGMTAwQkYzCis6MTAwQTcwMDAwMDkwMjcwMEE2MDYyNzAwQUEwNkU3MDlCMjA2QjQwNkRBCis6MTAwQTgwMDAyNzAwQUUwNjI3MDBBQzA2OUZBRkFFMEFDMDA3MDAwMEU1Cis6MTAwQTkwMDAyNzAwQjIwMjI3MDBCNDAyMjcwMDhFMDZDMDA3MDYwMDE2Cis6MTAwQUEwMDBDODA5REUwMEM4MTcwMzAwQzkwNzcwMDYyOTBBMDBEQTYyCis6MTAwQUIwMDA3REMxOTdDRkQ3MDkwMEMwQzFERjAwOTAyNzAwOTYwNkZGCis6MTAwQUMwMDBFNzA3OTYwNjk4MDYyNzAwQTAwNkU3MDdBMDA2QTIwNkY1Cis6MTAwQUQwMDAyNzAwQTYwNjI3MDA5MDA2MjcwMDlFMDZDODA5OUMwNjQ4Cis6MTAwQUUwMDBDMTA5OUEwNkM5MDdBNDA2MTEwMjA5MDJDODE3NDAwNkRGCis6MTAwQUYwMDAwMURBN0FDMTUxOTRDODA5QzgwNkM5MDdDNjA2QzEwOUY2Cis6MTAwQjAwMDA5QTA2MTEwMjA5MDJDODE3MDgwMDAxREE3QUMxNTE5NDQ1Cis6MTAwQjEwMDBFNzA1MDBDMDk3Q0ZFNzU3MDAwMDc2MDY5N0MwOUZBRjY0Cis6MTAwQjIwMDAwNDAwRTcwOUJFMDZCQTA2RTc1N0ZGRkZCQTA2MDRDMThDCis6MTAwQjMwMDBFNzA3MTAwQkI4MDY5N0NGRTcxNzMyMDBCQTA2RTc2NzRBCis6MTAwQjQwMDBGRjA3QkEwNkU3MDc0NjBCQjgwNjk3Q0ZFNzU3MDAwMDNFCis6MTAwQjUwMDBDMDA2MjNDMEU3MDcwNDAwOTBDMEU3MDcwMDgwODBDMEZDCis6MTAwQjYwMDBFNzA3MDAwMDgwQzBFNzA3MDA4MDgwQzBDMDA3MDAwMEUyCis6MTAwQjcwMDBDMDA3MDAwMEMwMDcwMDAwRTcwNzAwMDA4MEMwRTcwN0NCCis6MTAwQjgwMDAwMDgwODBDMEU3MDcwMDgwNDBDMEMwMDcwMDAwRTcwNzgyCis6MTAwQjkwMDAwMDAwNDBDMEU3MDcwMDAwODBDMEU3MDcwNDAwOTBDMEU1Cis6MTAwQkEwMDBFNzA3MDAwMjQwQzBFNzA3MEMwMjQwQzBFNzA3MDAwMDZCCis6MTAwQkIwMDBDMDA2RTcwNzAwMDBCODA2RTcwNzAwMDBEMjA2RDcwOTFECis6MTAwQkMwMDAwMEMwQzFERjlGQUYzNDAyRTcwNTAwQzA5RkFGQzQwMTgyCis6MTAwQkQwMDA5N0NGRDcwOTAwQzAxNzAwMTcwMjk3MDJFNzU3MDAwMDA4Cis6MTAwQkUwMDBBODA2MDZDMEMwMDk5MkMwQzA3NzA5MDI5RkMxNUMwNTczCis6MTAwQkYwMDA5RkNGMzIwNkQ3MDkwRUMwRTcwNzAwMDAwRUMwOUZBRjk3Cis6MTAwQzAwMDAwMjBDRTcwNTBFQzA5N0NGRDcwOTAwQzAxNzAyQzgwOTJDCis6MTAwQzEwMDBCMEMwRTc2N0ZFN0ZCMEMwQzg3NzAwMjA5RkMxNjRFQjFCCis6MTAwQzIwMDBFNzU3MDAwMEM4MDI5RkMxODBFQkM4OTlDQTAyQzg2Nzk1Cis6MTAwQzMwMDAwNDAwOUZDMTk2RUI5RkNGNENFQkU3MDcwMDAwQTZDMEQ2Cis6MTAwQzQwMDBFNzA5QjBDMEM4MDJFNzA3MDMwMEIwQzA5N0NGQzAwOUVBCis6MTAwQzUwMDBCMDA2QzAzNzAxMDA5N0M5QzkwOUIyMDYwMjAwNDE5MDI5Cis6MTAwQzYwMDA0ODAyQzkxNzA2MDA5RkFGMDgwNDlGQTI3MjBDMDJEQTVGCis6MTAwQzcwMDA3N0MxNDE2MDcxQzE5N0NGMTcwMjU3MDI0MzA0MjEwNDI1Cis6MTAwQzgwMDBFMDAwNDMwNDIxMDRFMDAwNDMwNDIxMDRFMDAwQzEwNzI0Cis6MTAwQzkwMDAwMTAwQzkwNUM4MDU5N0NGRTcwNzAxMDA4RTA2QzgwNzAwCis6MTAwQ0EwMDA4NjA2RTcwNzAwMDA4NjA2RTcwNzEwMDg4ODA2RTcwN0JDCis6MTAwQ0IwMDAwNDAwOEEwNkU3MDdCQzBDOEMwNkMxMDcwMzgwNTBBRjBFCis6MEMwQ0MwMDA5N0NGRTcwNzAwMDA4RTA2OTdDRjAwMDBEQQorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2thd2V0aC9uZXdfY29kZV9maXguYmluLmloZXggYi9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGVfZml4LmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiMzVkM2QKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvbmV3X2NvZGVfZml4LmJpbi5paGV4CkBAIC0wLDAgKzEsNDAgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NERDAyMDAwODAwMjgwMDJDMDAzNDAwRDcKKzoxMDAwMTAwMDNDMDA0MDAwNDgwMDU0MDA1ODAwNUUwMDY0MDA2ODAwNDYKKzoxMDAwMjAwMDZFMDA2QzAwNzIwMDc2MDA3QzAwODAwMDg2MDA4QTAwMDIKKzoxMDAwMzAwMDkwMDA5NDAwOTgwMDlFMDBBNjAwQUEwMEIwMDBCNDAwQjIKKzoxMDAwNDAwMEI4MDBDMDAwQzYwMENBMDBEMDAwRDQwMEQ4MDBFMDAwNEMKKzoxMDAwNTAwMERFMDBFODAwRjAwMEZDMDAwNDAxMEEwMTE4MDEyMjAxQTIKKzoxMDAwNjAwMDI4MDEzQTAxM0UwMTdFMDE5ODAxOUMwMUEyMDFBQzAxRTgKKzoxMDAwNzAwMEIyMDFCQTAxQzAwMUM4MDFEMDAxRDYwMUY0MDFGQzAxRUUKKzoxMDAwODAwMDA4MDIxNjAyMUEwMjIyMDIyQTAyMkUwMjNFMDI0NDAyMkMKKzoxMDAwOTAwMDRBMDI1MDAyNjQwMjYyMDI2QzAyNzIwMjg2MDI4QzAyMDAKKzoxMDAwQTAwMDkwMDI5RTAyQkMwMkQwMDJEODAyREMwMkUwMDJFODAyMEEKKzoxMDAwQjAwMEU2MDJGNDAyRkUwMjA0MDMwQzAzMjgwMzdDMDM5MDAzMEYKKzoxMDAwQzAwMDk0MDM5QzAzQTIwM0MwMDNEMDAzRDQwM0VFMDNGQTAzRkEKKzoxMDAwRDAwMEZFMDMyRTA0MzIwNDNDMDQ0MDA0NEUwNDc2MDQ3QzA0RTcKKzoxMDAwRTAwMDg0MDQ4QTA0OEUwNEE2MDRCMDA0QjgwNEJFMDREMjA0QjYKKzoxMDAwRjAwMERDMDRFRTA0MTAwNTFBMDUyNDA1MkEwNTM2MDUzNDA1MkUKKzoxMDAxMDAwMDNDMDU0MjA1NjQwNTZBMDU2RTA1ODYwNTIyMDYyNjA2M0QKKzoxMDAxMTAwMDJDMDYzMDA2NDIwNjRBMDY0RTA2NTYwNjU0MDY1QTA2NzUKKzoxMDAxMjAwMDYwMDY2NjA2RTgwNkVFMDZGNDA2MTYwNzI2MDcyQzA3QTQKKzoxMDAxMzAwMDMyMDczNjA3M0EwNzNFMDc1MjA3NTYwNzVBMDc2NDA3NDEKKzoxMDAxNDAwMDc2MDc3QTA3ODAwNzg0MDc4QTA3OUUwN0EyMDdEQTA3REYKKzoxMDAxNTAwMERFMDdFMjA3RTYwN0VBMDdFRTA3RjIwN0Y2MDcwRTA4RjIKKzoxMDAxNjAwMDE2MDgxODA4MUEwODFDMDgxRTA4MjAwODIyMDgyNDA4NjcKKzoxMDAxNzAwMDI2MDgyODA4MkEwODJDMDgyRTA4MzIwODNBMDg0NjA4QkIKKzoxMDAxODAwMDRFMDg1NDA4NUUwODc4MDg3RTA4ODIwODg2MDg4QzA4QTUKKzoxMDAxOTAwMDkwMDg5ODA4OUUwOEE0MDhBQTA4QjAwOEFFMDhCNDA4RjkKKzoxMDAxQTAwMEJFMDhDNDA4QzIwOENBMDhDODA4RDQwOEU0MDhFODA4OTkKKzoxMDAxQjAwMEY2MDgxNDA5MTIwOTFBMDkyMDA5MjYwOTI0MDkyQTA5MkUKKzoxMDAxQzAwMDNFMDk0QzA5NTYwOTcwMDk3NDA5NzgwOTdFMDk3QzA5QjEKKzoxMDAxRDAwMDgyMDk5ODA5OUMwOUEwMDlBNjA5QjgwOURDMDlFODA5NUYKKzoxMDAxRTAwMEVDMDlGQzA5MTIwQTE4MEExRTBBNDIwQTQ2MEE0RTBBQkIKKzoxMDAxRjAwMDU0MEE1QTBBNUUwQTY4MEE2RTBBNzIwQTc4MEE3NjBBNkQKKzoxMDAyMDAwMDdDMEE4MDBBODQwQTk0MEFBNDBBQjgwQUJFMEFCQzBBQjQKKzoxMDAyMTAwMEMyMEFDODBBQzYwQUNDMEFEMDBBRDQwQUQ4MEFEQzBBMUEKKzoxMDAyMjAwMEUwMEFGMjBBRjYwQUZBMEExNDBCMUEwQjIwMEIxRTBCNEMKKzoxMDAyMzAwMDI2MEIyRTBCMkMwQjM2MEIzQzBCNDIwQjQwMEI0QTBCQTgKKzoxMDAyNDAwMEFBMEJCMDBCQjYwQkMwMEJDODBCREEwQkU4MEJFQzBCMTAKKzoxMDAyNTAwMEZBMEI0QTBDNTQwQzYyMEM2NjBDOTYwQzlBMENBMDBDMEYKKzowRTAyNjAwMEE2MENBNDBDQUMwQ0IyMENCMDBDQzAwQzAwMDAzMAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2thd2V0aC90cmlnZ2VyX2NvZGUuYmluLmloZXggYi9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzZTE2NTgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlLmJpbi5paGV4CkBAIC0wLDAgKzEsMTMgQEAKKzoxMDAwMDAwMEI2QzNBQUJCQ0NEREM4MDdBMDAwRjAwNzVFMDAwNjAwOUYKKzoxMDAwMTAwMEYwMDcwQTAwMDgwMEYwMDkwMDAwMDIwMEU3MDczNjAwQjgKKzoxMDAwMjAwMDAwMDBGMDA3MDAwMDA0MDBFNzA3NTBDMzEwQzBGMDA5MEIKKzoxMDAwMzAwMDBFQzAwMDAwRTc4NzAxMDAwRUMwOTdDRkQ3MDkwMEMwQUYKKzoxMDAwNDAwMDE3MDJDODA3QTAwMEU3MTc1MEMzMTBDMDMwRDgwNDAwM0IKKzoxMDAwNTAwMDMwNUMwODAwMDQwMEIwQzAwNjAwQzgwNUU3MDUwMEMwMTkKKzoxMDAwNjAwMEMwREY5N0NGNDlBRkMwMDcwMDAwNjBBRjRBQUYwMDBDQjgKKzoxMDAwNzAwMDBDMDA0MEQyMDAxQzBDMDA0MEQyMzAwMDA4MDBGMDA3RjkKKzoxMDAwODAwMDAwMDAwNDAwRjAwNzg2MDAwNjAwNjdDRjI3MEMwMjAwN0UKKzoxMDAwOTAwMDAwMDAyNzBDMDAwMDBFQzA0OUFGNjRBRkMwMDcwMDAwOEQKKzoxMDAwQTAwMDRCQUY0QUFGNUFDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzowNjAwQjAwMDk0MDAwNTAwMDAwMEIxCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluLmloZXggYi9maXJtd2FyZS9rYXdldGgvdHJpZ2dlcl9jb2RlX2ZpeC5iaW4uaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzEyZjczCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2F3ZXRoL3RyaWdnZXJfY29kZV9maXguYmluLmloZXgKQEAgLTAsMCArMSwzIEBACis6MTAwMDAwMDBCNkMzQUFCQkNDREQwMjAwMDYwMDE4MDAzRTAwODAwMDhCCis6MDYwMDEwMDA5ODAwQUEwMDAwMDBBOAorOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vbXByLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vbXByLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTNiYTEwCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi9tcHIuSEVYCkBAIC0wLDAgKzEsMTA0IEBACis6MDMwMDMzMDAwMjAwMUFBRQorOjA0MDAxQTAwNTNEOEVGMzI5NgorOjEwMDAwMzAwOEU1NjhGNTdFNTU3MTU1N0FFNTY3MDAyMTU1NjRFNjBFQworOjA3MDAxMzAwMDUxMjBGQTI4MEVFMjI4RQorOjAzMDAyMzAwMDIwMDQ2OTIKKzoxMDAwNDYwMEMwRTBDMDgzQzA4MkMwODY3NTg2MDBDMEQwNzVEMDA4NjcKKzoxMDAwNTYwMDMwOTkwRTMwMEIwN0EyMEU5MjlCODUzNjk5QzI5OUQyMjMKKzoxMDAwNjYwMDEyMjAxMjAzMDIwMkY5QzIxMjMwMDMxOTdFN0U3RjQwNkIKKzoxMDAwNzYwMDc1MUE3RTc1MUI0MDc1MTcwMDdFN0Q3RkMwNzUxODdEQ0QKKzoxMDAwODYwMDc1MTlDMDgwMTc3RTdEN0ZDMDc1MUE3RDc1MUJDMDc1N0EKKzoxMDAwOTYwMDE3MDE3RTdFN0Y0MDc1MTg3RTc1MTk0MDIwMEIwMzAyN0UKKzoxMDAwQTYwMDAxODRFNTNBQzM5NTUzNTAzQzIwMEMzNDIwMDkzMTkwMjUKKzoxMDAwQjYwMDdGOUJFMDU1Mzg3MDI5MzAxMDEyQUYzQTA1M0FFNTFCQTAKKzoxMDAwQzYwMDJGRjU4MkU0MzUxQUY1ODNFMDEzOTIwRUFGM0EwNTNBMUUKKzoxMDAwRDYwMEU1MUIyRkY1ODJFNDM1MUFGNTgzRTBGNTM2MDIwMkY3QzMKKzoxMDAwRTYwMEMyMEIwMjAyRjczMDAzMTE5MDdGQzdFNEYwQTNFMDU0N0QKKzoxMDAwRjYwMDAyRjUxREEzRTBGNTFDODAxMTkwN0ZDOUU0RjA5MDdGMDYKKzowMzAwNDMwMDAyMEYwMEE5Cis6MDMwMDAwMDAwMjAwMjZENQorOjBDMDAyNjAwNzg3RkU0RjZEOEZENzU4MTVBMDIwQTMzOTkKKzo0MDAxMDYwMEM2RTA1NDAyRjUxREEzRTBGNTFDRTUxNzI0RkY5MjAzMzAwRDBEQzIwRDkwN0ZCQjc0MDFGMEMyMEIwMjAyRjdFNTFENjAwNUMyMEIwMjAyRjc4NTFDNTM4NTE5ODI4NTE4ODNFMDEzOTIwRDc1MTJGRjIwMEMzQTIwMDkzNzkwODIKKzo0MDAxNDYwMDdGOUJFMDU1Mzg3MDJGMzAxMDFDODUxOTgyODUxODgzQTNFMDEzOTIwRTg1MTk4Mjg1MTg4M0EzQTNFMEY1MzY3NTNBMDMwMjAyRjc3NTNBMDI4NTE5ODI4NTE4ODNBM0UwRjUzNjAyMDJGNzc1M0EwMUMyMEIwMjAyRjczMDAzRkUKKzo0MDAxODYwMDBFOTA3RkM2RTA1NDAyRjUxREEzRTBGNTFDODAwQzkwN0ZDOEUwNTQwMkY1MURBM0UwRjUxQ0U1M0FDMzk1NTM1MDAzMDIwMjY4RTUxRDYwMDdDMjE0QzIwNTAyMDJGNzg1MUM1Mzg1MUI4Mjg1MUE4M0UwMTM5MjBENzUxMkZGNjEKKzo0MDAxQzYwMDMwMEMwMzAyMDI2MDMwMDkwMzAyMDI2MDkwN0Y5QkUwNTUzODYwMDMwMjAyNjAzMDEwMUI4NTFCODI4NTFBODNBM0UwMTM5MjlCODUxQjgyODUxQTgzQTNBM0UwRjU5OTc1M0EwMzgwMEQ4NTFCODI4NTFBODNBM0UwRjU5OTc1NzUKKzo0MDAyMDYwMDNBMDJFNTNBQzM5NTUzNDAyNjMwMDMwNzkwN0ZDN0U0RjA4MDA1OTA3RkM5RTRGMEU1MTcyNEZGOTIwMzIwMEQwMzAyMDJGN0MyMEQ5MDdGQkI3NDAxRjAwMjAyRjczMDEwMTJBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzOTQKKzo0MDAyNDYwMEUwMTM5MjBFQUYzQTA1M0FFNTFCMkZGNTgyRTQzNTFBRjU4M0UwRjUzNkQyMEIwMjAyRjc3NTNBMDFDMjE0MDIwMkY3MzAwQzAzMDIwMkY1MzAwOTAzMDIwMkY1OTA3RjlCRTA1NTM4NzA3OTMwMTAxMkFGM0EwNTNBRTUxQjJGRjIKKzo0MDAyODYwMEY1ODJFNDM1MUFGNTgzRTAxMzkyOUJBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzRTBGNTk5RTUzQUMzOTU1MzQwMjIzMDAzMDc5MDdGQzdFNEYwODAwNTkwN0ZDOUU0RjBFNTE3MjRGRjkyMDMzMDBEMzZDMjBEOTA3RkJCMEUKKzo0MDAyQzYwMDc0MDFGMDgwMkMzMDEwMTJBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzRTAxMzkyMEVBRjNBMDUzQUU1MUIyRkY1ODJFNDM1MUFGNTgzRTBGNTM2RDIwQjgwMDJDMjE0RDIwMTIwOTgwMzAyMDQzNUMyOTgyMDAyMDMwMjAzODMKKzo0MDAzMDYwMEEyMjAxNTI3QUYzOTA1Mzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMTA0REFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjA4MDNBODU5OTU1RTU1NUI1NDcwNEQyMDk4MDJFRTU1NUI1NDYwNEMyMDk4MDI1MUMKKzo0MDAzNDYwMEFGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTU1RjAzMDEwMTFBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwRDIwRkU1MzlDMzk1NDM1MDAzMDIwNDMzOTA3RkI4RTAzMEUxMTZFNTM5QzM5NDQwNTAwMzAyRjUKKzo0MDAzODYwMDA0MzMxNTM5MTUzOTA1MkI0MzM0MDEwMjA0MzM5MDdGQjdFNTM5RjA3NTM5MDBDMjAyMDIwNDMzMjAxNTI3QUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OTlGMDMwMTA0REFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1OTQKKzo0MDAzQzYwMDgzRTU5OEYwODAzQTg1OTk1NUU1NTVCNTQ3MDREMjA5ODAyRUU1NTVCNTQ2MDRDMjA5ODAyNUFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTU1RjAzMDEwMTFBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OEYwRUEKKzo0MDA0MDYwMEQyMEZFNTM5QzM5NTQzNDAyNDkwN0ZCNkUwMzBFMTEyRTUzOUMzOTQ0MDQwMTYxNTM5MTUzOTA1MkI0MzM0MDE4MDBCOTA3RkI5RTUzOUYwNzUzOTAwRDIwMkQyMDEzMDAxMDVDMjAxMDIwMDU2RDBEMEQwODZEMDgyRDA4M0QwMkYKKzo0MDA0NDYwMEUwMzI5MDdGQkNFMDIwRTE1NEU1MzQ2MDUwRTUzMTcwNENFNTM0MzBFMTBCRTRGNTJGNzUzNDAxNzUzMTAyODAwRUEyMDhFNDMzRjUyRkMyMDhFNEY1MzQ3NTMxMTBFNEY1NTY3RTAwN0IwMDc0MjQyNTU2RjlFRTM0MDBGQTEyRDgKKzo0MDA0ODYwMDBDNzlGRjc0MDAyNTU2RjU4MkU0MzQ3REY1ODNFRkYwMDU1NkU1NTZCNDBDREI5MDdGQkQ3NDBDRjA5MDdGQ0FFMDMwRTEwMzAyMDVEMUU0RjU1Njc0NDAyNTU2RjU4MkU0MzQ3REY1ODNFMEZGRTU1NjdDMDA3QjAwMjQzQkY5MDMKKzo0MDA0QzYwMEVDMzQwMEZBRUYxMjBDOTIwNTU2RTU1NkI0MThEQkU1M0I2MDExNzVDOTIwNzVDODM2ODUzQ0NBODUzRENCRTQ5MDdGOUZGMEU1M0UxMzkyMTA5MjlGODUzRjM4RTU0MDEzOTIxNUU1NDE2MDA5OTA3Rjk4RTA1NEZCRjA4MDA3NDQKKzo0MDA1MDYwMDkwN0Y5OEUwNDQwNEYwRTU0MjYwMDk5MDdGOThFMDU0N0ZGMDgwMDc5MDdGOThFMDQ0ODBGMEU1NDg2MDBCQzIwQ0MyMDk5MDdGOTVFMDQ0MDJGMEU1NDk2MDBDRDIwOTQzMzQwMTkwN0Y5NUUwNDQwMkYwRTU0QTYwMERDMkFGQkIKKzo0MDA1NDYwMEMyMEJEMjAwRTRGNTUzRjUzQUQyQUZFNTRCNjAwNTMwMTUwMkQyMDlFNTRDNjAxNTkwN0Y5NUUwNTRGREYwOTA3RjlFRTA0NDAyRjA5MDdGOThFMDU0RkRGMEU1NEQ2MDBBRDI5Q0MyOTg3NTJDMDE3NTMxMUVFNTRFNjAwN0MyMjcKKzo0MDA1ODYwMDlDRTRGNTM5RjUyQ0U1NEY2MDAzRTRGNTM5RTU1MDYwMDJEMjA3RTU1MTYwMEFFNTRENzAwMkY1MzFFNTUxNDIzNEU1NTI2MDFGOTA3RkQ3NzQxMUYwNzQzMUYwNzQxMkYwNzQzMkYwNzQxM0YwNzQzM0YwNzQxNEYwNzQzNEYwNjcKKzo0MDA1QzYwMEQyMDNEMjAyRDIwOEU0OTA3RkNCRjBBMjBDRTQzM0ZGNjUyOTYwMDU4RjI5NDMzNDAxQTIwOUU0MzNGRjY1MkE2MDA1OEYyQTQzMzQwMTkwN0Y5QkUwRkY1NDA4NjQwOEY1NTc2NTI1NjAwNjg1NTcyNTQzMzQwMUVGNTQxMDY0M0EKKzo0MDA2MDYwMDEwRjU1NzY1MjY2MDA2ODU1NzI2NDMzNDAxRUY1NDQwNjQ0MEY1NTc2NTI3NjAwNjg1NTcyNzQzMzQwMUVGNTQyMDY0MjBGNTU3NjUyODYwMDY4NTU3Mjg0MzM0MDE5MDdGOUFFMDU0NDA2NDQwRjU1NzY1MkU2MDA2ODU1NzJFNUIKKzo0MDA2NDYwMDQzMzQwMTMwMDczNUMyQUYzMDAyMTg5MDdGQjhFMDIwRTEyN0U1Mzk2MDA5OTA3RkI3RjBFNEY1MzlDMjAyQzIwNzgwMTY5MDdGQjZFMDIwRTEwRkU1Mzk2MDA5OTA3RkI5RjBFNEY1MzlEMjAyQzIwN0QyQUYyMDA1M0QzMDAzREIKKzo0MDA2ODYwMDFFOTA3RkM2RTAyMEUxMzM5MDdFNDBFMDEzOTIwRDc1M0EwMTkwN0ZDN0UwRjU1M0QyMDU3NTEyRkY4MDFDOTA3RkM4RTAyMEUxMTU5MDdEQzBFMDEzOTIwRDc1M0EwMTkwN0ZDOUUwRjU1M0QyMDU3NTEyRkYyMDE0MzMyMDAwRTYKKzo0MDA2QzYwMDA2RTUzQTY1NTM3MDJBMzAwNTFBMzAwMzA5RTQ5MDdGQzdGMEMyMDM4MDA3RTQ5MDdGQzlGMEQyMDNDMjA1RTRGNTUzRjUzQTMwMEQwQUMyMERDMjAwOTA3RkJCNzQwMUYwMzAxNDAzMDIwN0JGMjAwNTAzMDIwN0JGMzAwQzAzMTQKKzo0MDA3MDYwMDAyMDdCRjMwMDkwMzAyMDdCRjkwN0Y5QkUwNTUzODYwMDMwMjA3QkYzMDAzMEM3RTdFN0Y0MDc1NTg3RTc1NTk0MDgwMEE3RTdEN0ZDMDc1NTg3RDc1NTlDMDMwMTAxMkFGM0EwNTNBRTU1OTJGRjU4MkU0MzU1OEY1ODNFMDEzN0MKKzo0MDA3NDYwMDkyMUFBRjNBMDUzQUU1NTkyRkY1ODJFNDM1NThGNTgzRTBGNTU3RTUzQUMzOTU1MzUwMkEzMDEwMTJBRjNBMDUzQUU1NTkyRkY1ODJFNDM1NThGNTgzRTAxMzkyMEVBRjNBMDUzQUU1NTkyRkY1ODJFNDM1NThGNTgzRTBGNTM2ODgKKzo0MDA3ODYwMEQyMEI4MDE1QzIwQjMwMDMwOUU0OTA3RkM3RjBDMjAzODAwN0U0OTA3RkM5RjBEMjAzMzAxMDA0QTIxQTkyOUJEMjE0QzJBRjg1NTc5OTIwMEIwRDMwMEQwQUMyMERDMjAwOTA3RkJCNzQwMUYwRDJBRjIyOTA3RkU5RTAxMjBDNzAKKzo0MDA3QzYwMEE0MDkxQzAwMDk4OTAxMDlFNjAzMDdFMzA2MDkwRDA4MDkwMTA5MDhFOTBBMDhGODBCMDAwMDBBMjQ5MDdGRUJFMDI0RkU2MDFDMTQ3MDAzMDIwODc5MjQwMjYwMDMwMjBBMjQ3NDBEOTA3RkQ0RjA3NDg3OTA3RkQ1RjAwMjBBRTYKKzo0MDA4MDYwMDJCOTA3RkVBRTBCNDAxMDQ3RjAyODAwMjdGMDM3NTgyRDg3NTgzMERFRkYwNzU4MkQxNzU4MzBERjA3NTgyQ0E3NTgzMERGMDc1ODJDMzc1ODMwREYwOTA3RkVBRTAwNDc1ODI5RTc1ODMwREYwOTA3RkVGRTBGRTkwN0ZFRUUwN0IKKzo0MDA4NDYwMDdDMDAyNDAwRjU1QUVDM0VGNTU5NzUxNTBENzUxNjk5NzU4MjlCNzU4MzBERTA3NTEzMDBGNTE0RDNFNTE0OTU1QUU1MTM5NTU5NDAwNjg1NTkxMzg1NUExNDEyMEJCQTAyMEEyQjkwN0ZFQUUwNzAwQjc1NTZGRjc1NTcwRDc1MDMKKzo0MDA4ODYwMDU4REM4MDJEOTA3RkVBRTBCNDAxMEI3NTU2RkY3NTU3MEQ3NTU4RTA4MDFCOTA3RkVBRTBCNDAyMEI3NTU2RkY3NTU3MEQ3NTU4RjA4MDA5NzU1NkZGNzU1NzBFNzU1ODFFOTA3RkVFRTA3NTU5MDBGNTVBQUU1N0FGNTg4RTE1MTIKKzo0MDA4QzYwMDhGMTY4RjgyOEU4M0UwRkVBM0UwOEUxM0Y1MTREMzk1NUFFNTEzOTU1OTQwMDY4NTU5MTM4NTVBMTQxMjBCQkEwMjBBMkI5MDdGMDBFNTExRjA5MDdGQjU3NDAxRjAwMjBBMkI5MDdGRUFFMEY1MTEwMjBBMkIxMjBDMjQ5MDdGODQKKzo0MDA5MDYwMEVBRTBGNTEwMDIwQTJCOTA3RjAwRTUxMEYwOTA3RkI1NzQwMUYwMDIwQTJCOTA3RkU4RTAyNDdGNjAyNzE0NjAzNDI0MDI2MDAzMDIwQTI0QTIxNkU0MzNGRjI1RTBGRkEyMThFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0NTUKKzo0MDA5NDYwMDAyRjAwMjBBMkJFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEEyQjkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMEIKKzo0MDA5ODYwMDAyMEEyQjkwN0ZFOEUwMjRGRTYwMTcyNDAyNjAwMzAyMEEyQjkwN0ZFQUUwNjQwMTYwMDMwMjBBMjRDMjE2MDIwQTJCOTA3RkVBRTA3MDc2OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0OEQKKzo0MDA5QzYwMDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNDU5MDdGRThFMDI0RkU2MDEwMjQwMjcwMzk5MDdGRUFFMDY0MDE3MDJBRDIxNjgwMkQ5MDdGRUFFMDcwMjA5MDdGNzcKKzo0MDBBMDYwMEVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkMyMTBFNEY1MTBGNTM0QzIwOUMyMENDMjBCQzIxNEMyMERDMjE1QTUKKzo0MDBBNDYwMEMyMTFDMjA3QzIxMkMyMEZDMjA4RjUzNUY1MzlGNTUzRjUzQUY1MzNGNTMwRjUyRkY1MkVGNTJERjUyQ0Y1MkJGNTJBRjUyOUY1MjhGNTI3RjUyNkY1MjVGNTI0QzIwNUMyMTdDMjE5QzIxNkMyMThDMjA0RDIxM0MyMDZDMjAxNzgKKzo0MDBBODYwMDkwN0Y5MkUwNTRGREYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBGRjA5MDdGQUM3NDBFRjBEMkFGRDJCQ0QyNDcKKzo0MDBBQzYwMDFBMTIwRjdEQzIxNzMwMDQwMzEyMDQ0ODMwMDQyQTMwMDYyN0MyMDZFNTEyNjAxNjE1MTI5MDdGRDhFMDMwRTYwNDdGMDA4MDAyN0YyMDkwN0Y5NkVGRjA4MDA2OTA3Rjk2NzQyMEYwMTIwQjE0ODBDRDMwMTcwN0MyMTcxMjA3NDEKKzo0MDBCMDYwMEMwODBDMzMwMTlDMEMyMTkxMjBFREM4MEI5MjJFNTMxNjAwMjE1MzFFNTM5NjA1NTY1MzU3MDRCRTUzM0Y0NjAwMjA1MzNFNTMzQzM5NTQ0NDA0M0MyQUYzMDAyMUI5MDdGQjhFMDIwRTEyRDkwN0ZCN0U1MzlGMEMyMDJFNEY1QUEKKzo0MDBCNDYwMDM5RjUzM0Y1MzU3NTEyRkY4MDE5OTA3RkI2RTAyMEUxMTI5MDdGQjlFNTM5RjBEMjAyRTRGNTM5RjUzM0Y1MzU3NTEyRkZEMkFGODAwNjg1MzkzNUU0RjUzM0U1MkM2MDMwMjAwRjA3OTA3RjlCRTAzMEUwMEZFNTJENjAwNkU0OTcKKzo0MDBCODYwMEY1MkQ0MzM0MDFFNEY1MzA4MDE0RTUzMEQzOTU0NTUwMERFNTMwQjU0NTA2NzUyRDAxNDMzNDAxMDUzMEMyMEYyMjkwN0ZEOUUwMzBFMjA0N0YwMDgwMDI3RjIwOTA3Rjk2RUZGMDIyRTUxNDQ1MTM2MDU3QUUxM0FGMTREM0VGMEYKKzo0MDBCQzYwMDk0NDBFRTk0MDA0MDA0N0UwMDdGNDBDM0U1MTQ5RkY1MTRFNTEzOUVGNTEzRTRGREVEQzM5RkU0OUU1MDFGODUxNjgyODUxNTgzRTBGQzc0MDAyREY1ODJFNDM0N0ZGNTgzRUNGMDBEMDUxNkU1MTY3MDAyMDUxNTgwREE5MDdGQzQKKzo0MDBDMDYwMEE5NzQwMUYwOTA3RkFDRTA0NDAxRjA5MDdGQjVFRkYwMjI5MDdGQUNFMDU0RkVGMEU0OTA3RkI1RjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTQ3NDAxRjA5MDdGOUQ3NEZGRjA5MDdGOTc3NDg2REYKKzo0MDBDNDYwMEYwOTA3Rjk1NzQwM0YwOTA3RjlFNzQ4NEYwOTA3Rjk4RjBFNDkwN0ZDN0YwOTA3RkM5RjA5MDdGQ0JGMDc1OTg0MDQzQTgxMDkwN0ZERTc0MUZGMDkwN0ZERjc0MEZGMEQyMDQyMkJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQzMKKzo0MDBDODYwMEJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzNjcKKzo0MDBDQzYwMEEzQTM4MERGRTQ5MDdGOTVGMDkwN0Y5NEYwOTA3RjkzRjA5MDdGOURFMDQ0MDJGMDkwN0Y5N0UwNDQ0MkYwOTA3RjlDNzQxMEYwRTQ5MDdGOTZGMDkwN0Y5RDc0QkVGMDMwMTYwNDdGODA4MDAyN0YwMDkwN0Y5N0VGRjBFNDkwNDUKKzo0MDBEMDYwMDdGOTVGMDkwN0Y5RUYwOTA3Rjk4RjAyMkMwRTBDMEYwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBDMEQwNzVEMDA4NTM5MUVGOTA3RkE5NzQwMUYwMTIwQkJBRDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBGMEQwRTAzMkMwNkEKKzo0MDBENDYwMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzo0MDBEODYwMDAwMTIwMTEwMDFGRkZGRkY0MENEMDYxQzAxMDEwMDAxMDIwMDAyMDkwMjQzMDAwMTAxMDA4MDMyMDkwNDAwMDAwN0ZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTgxMDI0MDAwMDIKKzo0MDBEQzYwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDQwMzA5MDQxMDAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJFMDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MDAwQTMKKzo0MDBFMDYwMDUzMDA0ODAwMzEwMDMxMDAzMjAwMkQwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIyMDM1NTAwNTMwMDQxMDAyRDAwMzUwMDMzMDAyMDAwMzIwMDMwMDAzMDAwMzIwMDYxMDA3MDAwNzIwMDMyMDAzNjAwMDAwMEMwRTBDMDgzREIKKzo0MDBFNDYwMEMwODJDMDg1QzA4NEMwODY3NTg2MDA1MzkxRUY5MDdGQUI3NDAyRjBEMjA2RDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE3NTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwMUYKKzo0MDBFODYwMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxOTUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwODQKKzo0MDBFQzYwMDUzOTFFRjkwN0ZBOTc0MDJGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMTIwQ0NBMTIwRkIzOTA3RkQ2RTAzMEU3MTJFMDQ0MDFGMDdGMEQ3RTAwMTIwMDAzOTA3RkQ2RTA1NEZFRjAxMjBDMjQyMjAwMDIwRTY5MDAwMjBFQTMKKzo0MDBGMDYwMDQyMDAwMjBENDUwMDAyMEU5MDAwMDIwRjEwMDAwMjBGMTQwMDAyMEQxMjAwMDIwRjFDMDAwMjBFQjcwMDAyMEYyNDAwMDIwRjMzMDAwMjBGMkMwMDAyMEY1OEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwQTkKKzo0MDBGNDYwMDdGQTk3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDUzOTFFRjkwN0ZBOTc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3RkQ2RTA1NEZCRjBFMDQ0QzEKKzozRDBGODYwMDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIwMDAzOTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyMkMKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKKworc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNTNbXSA9CisJIjA0LzI2LzIwMDIgIDAyOjQ3cCAgICAgICAgICAgICAgMTEsNTcwIFVTQTUzIjsKKwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOHguSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOHguSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZmY3MGUKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE4eC5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMTJGN0JGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDA3RjBFNDkwN0Y5OEYwMjIxNQorOjEwMDA0NjAwMzAwOTE4MTIxMzFCRUZDMzk1M0M0MDAzMDIwMEQ4OTBFOQorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMDlDMjAwODA3NzMwMDMzQjkwN0ZGNgorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMTMxQkVGQzM5NDQwNTA2NDkwN0VFRQorOjEwMDA3NjAwNDBFMDEzOTIwOTkwN0ZDN0UwMTRGNTE5MjAwMDExNjA0MworOjEwMDA4NjAwMEZGNTA4N0U3RTdGNDE3NTBDN0U3NTBENDExMjBDQkEwOAorOjEwMDA5NjAwQzIwM0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzI0OAorOjEwMDBBNjAwMTIxMzFCRUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMDlCMAorOjEwMDBCNjAwOTA3RkM5RTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0RDOAorOjEwMDBDNjAwN0ZDMTc1MEM3RDc1MERDMTEyMENCQUQyMDNFNDkwN0YwOQorOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTYwMTIxMUQ2OEZCRAorOjEwMDBFNjAwMTkxMjEzMjc4RjM2RTUxOUMzOTUzQTUwMEYxMjEyRUJFMgorOjEwMDBGNjAwRUYzMEUwMDhFNTM2MjBFNzAzMzAwQjVFQzIwQkU1MTk2QQorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMTMwMEE1Cis6MDMwMDAwMDAwMjBFMDBFRAorOjQwMDEwNjAwNjA1OEI0ODAwMzQzMzYwMkU1MzYzMEU3MjZFNTE5RDM5NDIwNDAwMzc1MTkyMDg1MTkwODdFN0U3RjgwNzUwQzdFNzUwRDgwQUYzNjEyMEY0QkU1MTkyNUUwOTA3RkI3RjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDhENAorOjQwMDE0NjAwOTA3RTgwRTUzNkYwN0U3RTdGODE3NTBDN0U3NTBEODExMjBDREZFNTE5MDQ5MDdGQjdGMDkwN0ZDRUUwMzBFMTA2MjAwNTAzMDIwM0MxQzIwNUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0FGMQorOjQwMDE4NjAwN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEVEMjA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExQjE3RjAzN0RDRDEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTBFMAorOjQwMDFDNjAwN0UxM0YwODAzMDkwN0UwMUUwRkYxMjEwMzU5MDdFMDJFMEZGMTIxMDVCN0YwMTkwN0UxMUUwRkQxMjExQjE3RjAzN0QwNzEyMTFCMTQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTAzRQorOjQwMDIwNjAwQzAwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDJEQQorOjQwMDI0NjAwN0Y1MzQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQTc5MDdFMEJFMEZGMTIxMENEQUY0MjEyMTA4MTkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwODE5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkRCNAorOjQwMDI4NjAwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4QgorOjQwMDJDNjAwODAwMzUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEyREZFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIwRgorOjQwMDMwNjAwMTFCMUU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExQjE3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOThGMgorOjQwMDM0NjAwNzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUIxNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUIxRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTI4NAorOjQwMDM4NjAwRjBFNTQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzRTQ5MDdGQ0ZGMDMwMUE1MkU1Mzg5MgorOjQwMDNDNjAwNjAwMjE1MzgyMDEzNDlFNTEzRDM5NDAwNDAwNDE1MTM4MDNFNzUxMzBBMzAxQjAyRDIxMzEyMTJERkVGNTQwMUY1MTk2NTJBNjAwNTg1MTkyQUQyMDcxMjEzMzNFRjU0ODBGNTE5NjUyNjYwMDU4NTE5MjZEMjA3MzAwRDExMTI3RgorOjQwMDQwNjAwMTMzM0VGNTQxMEY1MTk2NTI1NjAwNTg1MTkyNUQyMDcyMDFCMDMwMjA3RUMzMDBBMTgxMjEzNkZFRkMzOTUzRDQwMDMwMjA0QUU5MDdGQzE3NDAxRjBDMjBBQzIwMDgwNzczMDA0M0I5MDdGQ0FFMDIwRTE2RDEyMTM2RkVGQzM1QQorOjQwMDQ0NjAwOTQ0MDUwNjQ5MDdENDBFMDEzOTIwQTkwN0ZDQkUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEN0Y0MTc1MEM3RDc1MEQ0MTEyMEQwNEMyMDRFNDkwN0ZDQkYwODAzOTkwN0ZDQ0UwMjBFMTMyMTIxMzZGRUZDMzk0NDA1MDI5OTBCQworOjQwMDQ4NjAwN0NDMEUwMTM5MjBBOTA3RkNERTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0M3RkMxNzUwQzdDNzUwREMxMTIwRDA0RDIwNEU0OTA3RkNERjA5MDdGQkFFMDMwRTEwMzAyMDUzNjEyMTIyMDhGMTkxMjEzN0I4RjM3RTUxOUMzOTUyQgorOjQwMDRDNjAwM0I1MDBGMTIxMzU3RUYzMEUwMDhFNTM3MjBFNzAzMzAwQzVFQzIwQ0U1MTk2MDU4QjQ4MDAzNDMzNzAyRTUzNzMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RDdGODA3NTBDN0Q3NTBEODBBRjM3MTIwRjg0RTUwMworOjQwMDUwNjAwMTkyNUUwOTA3RkJCRjA4MDI3RTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MDg5MDdEODBFNTM3RjA3RTdEN0Y4MTc1MEM3RDc1MEQ4MTEyMEQyOUU1MTkwNDkwN0ZCQkYwOTA3RkQwRTAzMEUxMDYyMDA2MDMwMjA3OTdDMjA2RTRGOAorOjQwMDU0NjAwRjUxODc0QzAyNTE4RjU4MkU0MzQ3QkY1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5MjAyNDIwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMjBFMDYwNjg5MDdFMjNFMDYwMjQ3RjAxRTRGRDEyMTFGQjdGMDMyOQorOjQwMDU4NjAwN0RDRDEyMTFGQjQzNDc4MDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEU0OTA3RTMzRjA4MDMwOTA3RTIxRTBGRjEyMTExOTkwN0UyMkUwRkYxMjExM0Y3RjAxOTA3RTMxRTBGRDEyMTFGQjdGMDM3RDA3MTIxMUZCNDM0NzgwOTA0OAorOjQwMDVDNjAwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0Y5ODc0MEFGMEU1NDE0NDA2OTBDMDAwRjA5MDdFMjNFMDcwMDY5MDdFMzNFMDcwMDhFNDkwN0UzM0YwNzUyRUZGOTA3RTI1RTA2MDEyQTNFMDU0M0ZGNTQ1OTA3Rjk4NzQwQkYwOTBFQgorOjQwMDYwNjAwQzAwMEU1NDVGMDkwN0UyN0UwNjAyQkEzRTA2MDA1NDM0MzgwODAwMzUzNDM3RjUzNDNGQzkwN0UyOUUwNjAxMTQzNDMwMkEzRTBGRjEyMTE2NTkwN0UyQkUwRkYxMjExOEJBRjQzMTIxMEYzOTA3RTIzRTA2MDA4NTM0MzdGQUZGRQorOjQwMDY0NjAwNDMxMjEwRjM5MDdFMkNFMDYwMThBM0UwNjAwNTQzNDcwMjgwMDM1MzQ3RkQ5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMkVFMDYwMThBM0UwNjAwNTQzNDcwMTgwMDM1MzQ3RkU5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBENAorOjQwMDY4NjAwOTA3RTMyRTBGNTNCQTNFMDEzOTIwRUEzRTBGNTNEQTNFMDYwMDU0MzQ3MTA4MDAzNTM0N0VGOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTM2RTA2MDMyNTM0NUJGOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0Y3OQorOjQwMDZDNjAwOTg3NDA5RjAxMjEzNEJFRjU0RkU5MEMwMDBGMDUzM0ZGREU0RkZBRDNGMTIxMUZCRTRGNTMzRjUzMkQyMDg5MDdFMzdFMDYwMEY0MzNGMDJFNEZGQUQzRjEyMTFGQjc1MzIwMUQyMDg5MDdFMzhFMDYwMTA5MDdGOTg3NDBBRjA0MworOjQwMDcwNjAwRTU0MTQ0MDQ5MEMwMDBGMEQyMDA5MDdFMzlFMDYwMTE0MzQ1NDA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3RTNBRTA2MDBGNTMzRkZFRTRGRkFEM0YxMjExRkI3NTM0MDFEMjA4OTA3RTNCRTA2MDBGNDMzRjAxRTRFOQorOjQwMDc0NjAwRkZBRDNGMTIxMUZCRTRGNTM0RDIwODkwN0UzQ0UwNjAwRTkwN0Y5ODc0MEFGMEU1NDE0NDAyOTBDMDAwRjA5MDdFM0RFMDYwMDJEMjBDOTA3RTNFRTA2MDA4NzUzNTAxRTRGNTM5RDIwODkwN0UzRkUwNjAxMTkwN0ZENzc0MTM4OQorOjQwMDc4NjAwRjA3NDMzRjA3NDE2RjA3NDM2RjBEMjA0RTQ5MDdGRDFGMDMwMUE1MkU1Mzk2MDAyMTUzOTMwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJDMjEzMTIxMzRCRUY1NDAxRjUxOTY1MzM2MDA1ODUxOTMzRDI3OQorOjQwMDdDNjAwMDgxMjEzODdFRjU0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzg3RUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyRTBGNTE2OTAzNQorOjQwMDgwNjAwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyMEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVCRAorOjQwMDg0NjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFMzQwMEZBMTI5NworOjQwMDg4NjAwMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4RjlFRTM0MDA4MworOjQwMDhDNjAwRkExMjBFOENGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRThDRkY3NDgwMjVGMgorOjQwMDkwNjAwMThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRTQwQTA4MDAwQTdDMDEwQUU4MDMwOTQ0MDYwOUZCMDgwOUY1MDkwOUREMEEwOUVDMEIwMDAwMEIzNzkwN0YzRAorOjQwMDk0NjAwRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDM3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyNzQ3NTgzMTlCMgorOjQwMDk4NjAwRjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjNFOTA3RkVBRTBGRjEyMEYwQUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjA4NQorOjQwMDlDNjAwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEIzRTkwN0ZFQUUwRjUwOTAyMEIzRTEyMEI0NjAyMEIzRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNQorOjQwMEEwNjAwMEIzRTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCM0VFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0YwNAorOjQwMEE0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkU4RTAyNEZFNjAxRDI0MDIwRgorOjQwMEE4NjAwNjAwMzAyMEIzRTkwN0ZFQUUwQjQwMTA1QzIxMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZCNgorOjQwMEFDNjAwRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0RTA0NDAxRjA0OQorOjQwMEIwNjAwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJENAorOjQwMEI0NjAwRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5RTQzNDAwRkE4QgorOjQwMEI4NjAwRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExQjE3RjEwOEY0MjEyMTA4MTkwN0YwMgorOjQwMEJDNjAwOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUIxRTRGRjdFQTNBRDA2OEQzRTEyMTFCMTkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTE4RQorOjQwMEMwNjAwQjE3RjAxMTIxMjZBN0YwMzdEMDcxMjExQjEyMDFCMDMwMjBDQjc3NTJEMDE3NTE4MDE3QjAwNzQyRDI1MThGOUU0MzQwMEZBRTQxMjBFRDIwNTE4RTUxOEI0MDlFQTc1M0IwMUU0RjUzOUY1MTNGNTM3QzIwOEMyMENDMjA2QzJDRAorOjQwMEM0NjAwMDBDMjBBQzIxMzkwN0Y5ODc0MEJGMDc1NDUwMzkwQzAwMDc0MDNGMDdGMENFNEZEMTIxMUZCN0YxMDhGNDMxMjEwRjM5MDdGOTg3NDBBRjA3RjAxOEY0MUVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQwQ0YwNzU0NzgwOTBDMDAwNzQ0RQorOjQwMEM4NjAwODBGMDBGRTRGRDEyMTFGQkU0RkY3RUEzQUQwNjhEM0YxMjExRkI5MDdGOTg3NDA5RjA5MEMwMDBFNEYwN0YwNTdEN0YxMjExRkI3RjAxMTIxMjhCN0YwMzdEMDcxMjExRkJEMjEyMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJBNQorOjQwMENDNjAwRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0YyMAorOjQwMEQwNjAwOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU1QworOjQwMEQ0NjAwODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkQyMTk5MDdGOTJFMDQ0MDJGMDkwN0ZBRUUwRkZEMzkyMTBFNDMzRkVFRjRFRjA4OQorOjQwMEQ4NjAwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDIxQTEyMTI0NUMyMTFFNEY1MEJGNTEzQzIxN0MyMTJENAorOjQwMERDNjAwOTA3RkExMDRGMDkwN0ZEOEUwNjUxNzYwMTAzMDEyMDVEMjFBMTIwMDQ2OTA3RkQ4RTBGNTE3ODAwODMwMTIwNUMyMUExMjAwNDYzMDExMDdDMjExMTIwOTIxODBENjMwMThEM0MyMTgxMjEzOTM4MENDMjI3ODdGRTRGNkQ4RkRDNworOjQwMEUwNjAwNzU4MTQ3MDIwRTQ3MDIwRDZGRTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGRTQ4MDBCMDEwMjA0MDgxMDIwNDBGNQorOjQwMEU0NjAwODA5MDEyQUNFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBRjBBM0M4QzU4MkM4Q0FDNTgzQ0ExRQorOjQwMEU4NjAwREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTVCOAorOjQwMEVDNjAwODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNDMQorOjQwMEYwNjAwQTNBMzgwREY4RjE4RTRGNTE5NzUxQUZGNzUxQjE5NzUxQzg2QUIxQUFBMUJBOTFDOTAwMDAxMTIwRUE1QjQwMzFEQUYxOTA1MTlFRkI1MTgwMTIyMTIwRThDN0UwMDI5RkZFRTNBQTkwNzc1MUFGRkY1MUI4OTFDODBENDdCMDBBNQorOjQwMEY0NjAwN0EwMDc5MDAyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjAwMzYwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzI3OEYxQUVGNDIzNjgwQ0EyMjhGMUFGQworOjQwMEY4NjAwMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIxMzNGMDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTM3QjhGMUFFRjQyMzc4MENBMjJDMEUwQzA4M0MwODJDMDg1QzA4OAorOjQwMEZDNjAwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDBDNgorOjQwMTAwNjAwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTA4QQorOjQwMTA0NjAwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTM0OQorOjQwMTA4NjAwRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1NDREOQorOjQwMTBDNjAwNTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQUYwOTAyQQorOjQwMTEwNjAwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA4RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBBRgorOjQwMTE0NjAwQzAwMDc0QkZGMDkwN0Y5ODc0MDlGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBDRjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTU0N0ZFQworOjQwMTE4NjAwOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEVGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTA3NQorOjQwMTFDNjAwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjEzMEY4RjFBMTIxMzBGOEYxQkU1MUE2NTFCNjAxMjEyMTMwRjhGMUFFNTFBNjUxQjYwMDcxMjEzMEY4RjFCODBFOEFGMUEyMjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTA5OAorOjQwMTIwNjAwQzAwMEYwOTA3Rjk4NzQwRkYwOTBDMDAwRUZGMDkwN0Y5ODc0MERGMDkwQzAwMEVERjAyMjEyMTM2MzhGMUExMjEzNjM4RjFCRTUxQTY1MUI2MDEyMTIxMzYzOEYxQUU1MUE2NTFCNjAwNzEyMTM2MzhGMUI4MEU4QUYxQTIyOTBDOAorOjQwMTI0NjAwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxMkM4OTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyQUUwN0U0RkZFNTNFNTQ3RkZEMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUzRTQ0ODBFOAorOjQwMTI4NjAwRkQxMjExQjEyMkFFMDdFNEZGRTUzRjU0N0ZGRDEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEVFRjBFNEU1M0Y0NDgwRkQxMjExRkIyMjA1MEUwMjAwMDAwMDAwMDMxNDAzMDAwMEMxMTFDMTE4QzE5NUMxMTBDMTE2MDEwQTAwQzE5QworOjQwMTJDNjAwMUIwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDUxMjBENEU4MEVFMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMDAwMDAwMDAwMjBGRTcwMDAyMTMwQQorOjQwMTMwNjAwMDQwMDAyMEZCRDAwMDIxMDBFOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTA1MAorOjQwMTM0NjAwQzAwMEUwRkYyMjkwN0Y5ODc0MDlGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MENGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkZDNQorOjQwMTM4NjAwMjI5MDdGOTg3NDBFRjA5MEMwMDBFMEZGMjIxMjAwMDMxMjBENUYxMjBCNDYyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxMjAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3NAorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjE0MUEwNjAwNzIwMDEwMDMzMDAwMzAwMDMwMDAzMDAwMzAwMDMwMDAzMDAwMDAwMEY3Cis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTE5LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTkuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZDE0OTYKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5LkhFWApAQCAtMCwwICsxLDEwMSBAQAorOjBBMDAyNjAwMTIwREJGMTIwRjQ3MTIwRDZCMjJERQorOjAzMDAzMzAwMDIwMDFBQUUKKzowNDAwMUEwMDUzRDhFRjMyOTYKKzoxMDAwMDMwMDhFMTM4RjE0RTUxNDE1MTRBRTEzNzAwMjE1MTM0RTYwN0UKKzowNzAwMTMwMDA1MTIwRjM2ODBFRTIyRkEKKzowMzAwMjMwMDAyMDA0NjkyCis6MTAwMDQ2MDBDMEUwQzA4M0MwODJDMDg2NzU4NjAwQzBEMDc1RDAwODY3Cis6MTAwMDU2MDAzMDk5MEUzMDA4MDdBMjBCOTI5Qjg1MzU5OUMyOTlEMjJBCis6MTAwMDY2MDAwRjIwMEYwMzAyMDQzMUMyMEYyMDAyMDMwMjAyNTYyMEEyCis6MTAwMDc2MDAwODAzMDIwMTI3RTUzN0MzOTU1MDUwM0UyMDA5MzYyMDc0Cis6MTAwMDg2MDAwNjMzOTA3RjlCRTAzMEUzMDMyMDBFMjkzMDBEMTJBRjNDCis6MTAwMDk2MDAzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MkZBCis6MTAwMEE2MDAwQkFGMzcwNTM3NzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEQ1Cis6MTAwMEI2MDBGNTM1MDIwNDJGQzIwODAyMDQyRjkwN0ZDN0U0RjBDMjcwCis6MTAwMEM2MDAwMjMwMEEwQ0MyMEE5MDdGQkIwNEYwQzIwODAyMDQyRjU5Cis6MTAwMEQ2MDA5MDdGQzhFMDMwRTEwNUMyMDgwMjA0MkY5MDdGQzlFMDk2Cis6MTAwMEU2MDBGNTUwOTA3REMwRTAxMzkyMEEyMDA5MkQyMDA2MkE5MDMzCis6MTAwMEY2MDA3RjlCRTAzMEUzMDMyMDBFMjAzMDBEMTE5MDdEQzFFMEEwCis6MDMwMDQzMDAwMjBGMDBBOQorOjAzMDAwMDAwMDIwQzYxOEUKKzo0MDAxMDYwMDEzOTIwQkEzRTBGNTM1NzUzNzAzMDIwNDJGNzUzNzAyOTA3REMxRTBGNTM1MDIwNDJGNzUzNzAxQzIwODAyMDQyRkU1MzdDMzk1NTA1MDAzMDIwMUNGOTA3RkM2RTAzMEUxMDdDMjEwQzIwMzAyMDQyRjkwN0ZDN0UwRjU1MDkwMDQKKzo0MDAxNDYwMDdFNDBFMDEzOTIwQTMwMDkwMzAyMDFDNzIwMDY3MjIwMDA2RjkwN0Y5QkUwMzBFMzAzMjAwRTY1MzAwRDEwOTA3RTQxRTAxMzkyOUJBM0UwRjU5OTc1MzcwMzgwMDk5MDdFNDFFMEY1OTk3NTM3MDJFNTM3QzM5NTUwNDAxNzkwQjEKKzo0MDAxODYwMDdGQzdFNEYwQzIwMjIwMEEwMzAyMDQyRkMyMEE5MDdGQkIwNEYwMDIwNDJGMzAwRDEyQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNUQyMDgwMjA0NUQKKzo0MDAxQzYwMDJGNzUzNzAxQzIxMDAyMDQyRjMwMDkwMzAyMDI1MTIwMDY3OTkwN0Y5QkUwMzBFMzAzMjAwRTZGMzAwRDEyQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjlCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwNDYKKzo0MDAyMDYwMEY1OTlFNTM3QzM5NTUwNDAxNzkwN0ZDN0U0RjBDMjAyMjAwQTAzMDIwNDJGQzIwQTkwN0ZCQjA0RjAwMjA0MkYzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0ODMKKzo0MDAyNDYwMDdFRjU4M0UwRjUzNUQyMDgwMjA0MkZDMjEwMDIwNDJGMjAwODAzMDIwMzA4RTUzN0MzOTU1MDUwM0UyMDA5MzYyMDA2MzM5MDdGOUJFMDMwRTMwMzIwMEUyOTMwMEQxMkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzREUKKzo0MDAyODYwMDkyMEJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM1MDIwNDJGQzIwODAyMDQyRjkwN0ZDOUU0RjBEMjAyMzAwQTBDQzIwQTkwN0ZCQjA0RjBDMjA4MDIwNDJGOTA3RkM2RTAzMEUxMDVDMjA4MDIwNDJGOTA3RkM3NjUKKzo0MDAyQzYwMEUwRjU1MDkwN0U0MEUwMTM5MjBBMjAwOTJEMjAwNjJBOTA3RjlCRTAzMEUzMDMyMDBFMjAzMDBEMTE5MDdFNDFFMDEzOTIwQkEzRTBGNTM1NzUzNzAzMDIwNDJGNzUzNzAyOTA3RTQxRTBGNTM1MDIwNDJGNzUzNzAxQzIwODAyRUYKKzo0MDAzMDYwMDA0MkZFNTM3QzM5NTUwNTAwMzAyMDNCMDkwN0ZDOEUwMzBFMTA3QzIxMEMyMDMwMjA0MkY5MDdGQzlFMEY1NTA5MDdEQzBFMDEzOTIwQTMwMDkwMzAyMDNBODIwMDY3MjIwMDA2RjkwN0Y5QkUwMzBFMzAzMjAwRTY1MzAwRDEwMzQKKzo0MDAzNDYwMDkwN0RDMUUwMTM5MjlCQTNFMEY1OTk3NTM3MDM4MDA5OTA3REMxRTBGNTk5NzUzNzAyRTUzN0MzOTU1MDQwMTc5MDdGQzlFNEYwRDIwMjIwMEEwMzAyMDQyRkMyMEE5MDdGQkIwNEYwMDIwNDJGMzAwRDEyQUYzNzA1Mzc3NEMwRjUKKzo0MDAzODYwMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIwQkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzVEMjA4MDIwNDJGNzUzNzAxQzIxMDAyMDQyRjMwMDkwMzAyMDQyRDIwMDY3NDkwN0Y5QkUwMzBFMzAzMjAwRTZBMzAwRDEyOEUKKzo0MDAzQzYwMEFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTI5QkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1OTlFNTM3QzM5NTUwNDAxMzkwN0ZDOUU0RjBEMjAyMzAwQTM1QzIwQTkwN0ZCQjA0RjA4MDJDMzAwRDEyQ0MKKzo0MDA0MDYwMEFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIwQkFGMzcwNTM3NzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzVEMjA4ODAwMkMyMTBEMjEyMjA5ODAzMDIwNTZEQzI5ODIwMDEwMzAyMDREQTIwMTEyN0FGMzYwNTM2RjMKKzo0MDA0NDYwMDc0ODAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAwRDREQUYzNjA1MzY3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5MTBFNTEwQjU0NDA0RDIwNjgwMkVFNTEwQjU0MzA0QzIwNjgwMjVBRjM2MDUzNjc0ODAyRkY1QUIKKzo0MDA0ODYwMDgyRTQzNDdFRjU4M0U1MTBGMDMwMEQxMUFGMzYwNTM2NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBDRTUzNkMzOTU0MDUwMDMwMjA1NkI5MDdGQjhFMDMwRTExNkU1MzZDMzk0NDA1MDAzMDIwNTZCMTUzNjE1MzYwNTJCREQKKzo0MDA0QzYwMDQzMzMwMTAyMDU2QjkwN0ZCN0U1MzZGMDc1MzYwMEMyMDEwMjA1NkIyMDExMjdBRjM2MDUzNjc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAwRDREQUYzNjA1MzY3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5MzcKKzo0MDA1MDYwMDEwRTUxMEI1NDQwNEQyMDY4MDJFRTUxMEI1NDMwNEMyMDY4MDI1QUYzNjA1MzY3NDAwMkZGNTgyRTQzNDdFRjU4M0U1MTBGMDMwMEQxMUFGMzYwNTM2NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBDRTUzNkMzOTU0MDQwQ0UKKzo0MDA1NDYwMDI0OTA3RkI2RTAzMEUxMTJFNTM2QzM5NDQwNDAxNjE1MzYxNTM2MDUyQjQzMzMwMTgwMEI5MDdGQjlFNTM2RjA3NTM2MDBEMjAxRDIxMjMwMTIwNUMyMTIwMjAwNTZEMEQwRDA4NkQwODJEMDgzRDBFMDMyOTA3RkNBRTAzMEUxQ0EKKzo0MDA1ODYwMDAzMDIwNkFCRTRGNTEzNzQ0MDI1MTNGNTgyRTQzNDdERjU4M0UwRkZFNTEzN0MwMDdCMDAyNDM4RjlFQzM0MDBGQUVGMTIwRDMzMDUxM0U1MTNCNDE4REJFNTM4NjAwQzc1QzkyMDc1QzgzNDg1MzlDQTg1M0FDQkU1M0IxMzkyQkYKKzo0MDA1QzYwMDBEOTI5RkU1M0MxMzkyMEVFNTNEMTM5MjExRTUzRTYwMDk5MDdGOThFMDU0RkJGMDgwMDc5MDdGOThFMDQ0MDRGMEU1M0Y2MDA5OTA3Rjk4RTA1NDdGRjA4MDA3OTA3Rjk4RTA0NDgwRjBFNTQ1NjAwQkMyMDlDMjA2OTA3Rjk1MEUKKzo0MDA2MDYwMEUwNDQwMkYwRTU0NjYwMENEMjA2NDMzMzAxOTA3Rjk1RTA0NDAyRjBFNTQ3NjAwREMyQUZDMjA4RDIwMEU0RjU1MEY1MzdEMkFGRTU0ODYwMDUzMDExMDJEMjA2RTU0OTYwMTU5MDdGOTVFMDU0RkRGMDkwN0Y5RUUwNDQwMkYwQUEKKzo0MDA2NDYwMDkwN0Y5OEUwNTRGREYwRTU0QTYwMEFEMjlDQzI5ODc1MkMwMTc1MzExRUU1NEI2MDA3QzI5Q0U0RjUzNkY1MkNFNTRDNjAwM0U0RjUzNkU1NEQ2MDAyRDIwNEU1NEU2MDBBRTU0QTcwMDJGNTMxRTU0RTQyMzNFNTRGNjAxRjkwNjQKKzo0MDA2ODYwMDdGRDc3NDExRjA3NDMxRjA3NDEyRjA3NDMyRjA3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjBEMjAyRDIwMUQyMDVFNDkwN0ZDQkYwQTIwOUU0MzNGRjY1Mjk2MDA1OEYyOTQzMzMwMUEyMDZFNDMzRkY2NTJBNjAwNThGMkE0MzMzQkEKKzo0MDA2QzYwMDAxOTA3RjlCRTA1NDA4QjUyNTBBRTA1NDA4NjQwOEY1MjU0MzMzMDE5MDdGOUJFMDU0MTBCNTI2MEFFMDU0MTA2NDEwRjUyNjQzMzMwMTkwN0Y5QkUwNTQ0MEI1MjcwQUUwNTQ0MDY0NDBGNTI3NDMzMzAxOTA3RjlCRTA1NDIwMjYKKzo0MDA3MDYwMEI1MjgwQUUwNTQyMDY0MjBGNTI4NDMzMzAxMzAwNDM1QzJBRjMwMDExODkwN0ZCOEUwMjBFMTI3RTUzNjYwMDk5MDdGQjdGMEU0RjUzNkMyMDFDMjA0ODAxNjkwN0ZCNkUwMjBFMTBGRTUzNjYwMDk5MDdGQjlGMEU0RjUzNkQyMzQKKzo0MDA3NDYwMDAxQzIwNEQyQUYyMDAzMzczMDAyMUI5MDdGQzZFMDIwRTEyRDkwN0U0MEUwMTM5MjBBNzUzNzAxOTA3RkM3RTBGNTUwRDIwMzgwMTk5MDdGQzhFMDIwRTExMjkwN0RDMEUwMTM5MjBBNzUzNzAxOTA3RkM5RTBGNTUwRDIwMzIwRTkKKzo0MDA3ODYwMDEwMzMyMDAwMDZFNTM3NjU1MDcwMkEzMDAzMUEzMDAyMDlFNDkwN0ZDN0YwQzIwMjgwMDdFNDkwN0ZDOUYwRDIwMkMyMDNFNEY1NTBGNTM3MzAwQTBBQzIwQUMyMDA5MDdGQkI3NDAxRjAzMDEwMDMwMjA4QzUyMDAzMDMwMjA4MDUKKzo0MDA3QzYwMEM1MzAwRTBBOTA3RjlCRTAzMEUzMDMwMjA4QzUzMDA2MDMwMjA4QzUzMDA5MDMwMjA4QzUzMDAyNjIzMDBEMTJBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMTlBRjM3MDUzNzc0NDAyRkY1ODJFNDM0N0VGNTgzQ0YKKzo0MDA4MDYwMEUwRjUxNEU1MzdDMzk1NTA1MDJBMzAwRDEyQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBCQUYzNzA1Mzc3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNUQyMDg4MDZCQzIwOEU0OTA3RkM3RjBDMjAyODA2MDMwODEKKzo0MDA4NDYwMDBEMTJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMTlBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTE0RTUzN0MzOTU1MDUwMkEzMDBEMTJBRjM3MDUzNzc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyOUYKKzo0MDA4ODYwMDBCQUYzNzA1Mzc3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjUzNUQyMDg4MDA5QzIwOEU0OTA3RkM5RjBEMjAyMzAwRDA0QTIxOTkyOUJEMjEwQzJBRjg1MTQ5OTIwMDgwRDMwMEEwQUMyMEFDMjAwOTA3RkJCNzQwMUYwRDJBRjkwNzIKKzo0MDA4QzYwMDdGQkNFMDIwRTE1MUU1MzM2MDRERTUzMTcwNDlFNTMzMzBFMTA4RTRGNTJGNzUzMzAxODAwQkEyMDVFNDMzRjUyRkMyMDVFNEY1MzNFNEY1MTM3RTAwN0IwMDc0MjQyNTEzRjlFRTM0MDBGQTEyMENFREZGNzQwMDI1MTNGNTgyRDgKKzo0MDA5MDYwMEU0MzQ3REY1ODNFRkYwMDUxM0U1MTNCNDBDREI5MDdGQkQ3NDBDRjA3NTMxMTAyMjkwN0ZFOUUwMTIwRDQ1MEEwMzAwMEE3NzAxMEFFMzAzMDk0MTA2MDlGNDA4MDlFODA5MDlEMDBBMDlERjBCMDAwMDBCMzI5MDdGRUJFMDI0RUIKKzo0MDA5NDYwMEZFNjAxNjE0NjA1NzI0MDI3MDc2NzQwRjkwN0ZENEYwNzQ2NDkwN0ZENUYwMDIwQjM5OTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MkI1NzU4MzBGRUZGMDc1ODJBRTc1ODMwRkYwNzU4MkE3NzU4MzBGRjA3NTgyQTA3NTgzQkEKKzo0MDA5ODYwMDBGRjA5MDdGRUFFMDA0NzU4MjdCNzU4MzBGRjA3NDBGOTA3RkQ0RjA3NDc2OTA3RkQ1RjAwMjBCMzk5MDdGRUFFMEZGMTIwRTQ4RUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMEIzOTkwN0ZCNEUwNDQwMUYwMDIwQjM5RDQKKzo0MDA5QzYwMDkwN0ZCNEUwNDQwMUYwMDIwQjM5OTA3RjAwRTUxOUYwOTA3RkI1NzQwMUYwMDIwQjM5OTA3RkVBRTBGNTE5MDIwQjM5OTA3RkVBRTBGNTE4MTIwRDZCMDIwQjM5OTA3RjAwRTUxOEYwOTA3RkI1NzQwMUYwMDIwQjM5OTA3RkU4MjIKKzo0MDBBMDYwMEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTNFNDMzRkYyNUUwRkZBMjE3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCMzlFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMEIzOTkwN0ZFQ0UwRjQ1NDgwQjYKKzo0MDBBNDYwMEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzOTkwN0ZCNEUwNDQwMUYwMDIwQjM5OTA3RkU4RTAyNEZFNjAxRDI0MDI2MDAzMDIwQjM5MDQKKzo0MDBBODYwMDkwN0ZFQUUwQjQwMTA1QzIxMzAyMEIzOTkwN0ZCNEUwNDQwMUYwMDIwQjM5OTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGQ0MKKzo0MDBBQzYwMDEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTM4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBMzYKKzo0MDBCMDYwMEUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjIyMDE1MDMwMjBCM0UKKzo0MDBCNDYwMEQzRTUzMTYwMDIxNTMxRTUzNjYwNEY2NTM0NzA0NUU1MzJGNDYwMDIwNTMyRTUzMkMzOTU0MTQwM0RDMkFGMzAwMTE4OTA3RkI4RTAyMEUxMjc5MDdGQjdFNTM2RjBDMjAxRTRGNTM2RjUzMkY1MzQ4MDE2OTA3RkI2RTAyMEUxM0QKKzo0MDBCODYwMDBGOTA3RkI5RTUzNkYwRDIwMUU0RjUzNkY1MzJGNTM0RDJBRjgwMDY4NTM2MzRFNEY1MzJFNTJDNjAyRjIwMEMwNzkwN0Y5QkUwMzBFMDBGRTUyRDYwMDZFNEY1MkQ0MzMzMDFFNEY1MzA4MDE0RTUzMEQzOTU0MjUwMERFNTMwREIKKzo0MDBCQzYwMEI1NDIwNjc1MkQwMTQzMzMwMTA1MzBDMjBDMjI3NTEyMDFDMjE0QzIxOEMyMTNDMjE3QzIxNUMyMTJEMjE2RTRGNTE4OTA3RjkyRTA1NEZERjA5MDdGQUVFMEZGRDM5MjEzRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0REIKKzo0MDBDMDYwMDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwRDJBRkQyQkNEMjE5MTIwRURBQzIxNDMwMTUwMzEyMDU4MDkwN0ZEOEUwNjUxMTYwMDhFMEY1Q0EKKzo0MDBDNDYwMDExMTIwQjQxODBFQTMwMTQwN0MyMTQxMjA5MUU4MEUwMzAxOEREQzIxODEyMDAyNjgwRDYyMjc4N0ZFNEY2RDhGRDc1ODE1MDAyMENBODAyMEJENEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4M0IKKzo0MDBDODYwMDU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwRTA0RTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwOEUKKzo0MDBDQzYwMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyNDIKKzo0MDBEMDYwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwRTEKKzo0MDBENDYwMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMDkwN0Y5Njc0MTBGMDkwN0Y5NDc0MDFGMDkwN0Y5RDA0RTIKKzo0MDBEODYwMEYwOTA3Rjk3NzQyMEYwOTA3Rjk1NzQwM0YwOTA3RjlFNzQ4NEYwRTQ5MDdGOThGMDkwN0ZDN0YwOTA3RkM5RjA5MDdGQ0JGMDc1OTg0MDQzQTgxMDkwN0ZERTc0MUZGMDkwN0ZERjc0MEZGMEQyMTUyMkU0OTA3Rjk1RjA5MDdGRjcKKzo0MDBEQzYwMDk0RjA5MDdGOTNGMDkwN0Y5REUwNDQwMkYwOTA3Rjk3RTA0NDAyRjA5MDdGOURFMDU0RkRGMDkwN0Y5Qzc0MjBGMEU0OTA3Rjk2RjA5MDdGOURFMDQ0RkRGMEU0OTA3Rjk3RjA5MDdGOUU3NEZGRjBFNDkwN0Y5OEYwMjIwQzI0RDAKKzo0MDBFMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMzAwMDAxMzMwMTAxMzIwMDAxMzcwMDAxNTAwMDAxMzYwMDAxMzQwMEMxMDVDMTBDQzEwM0MxMEZDMTA0QzEwRUMxMTFDMTBBQzExMEMxMDhDMTA5QzEwNkMxMDBDMTBEQzE4MUMxMDkKKzo0MDBFNDYwMDgyMDA4RjEzRTRGNTE0NzUxNUZGNzUxNjBGNzUxN0I5QUIxNUFBMTZBOTE3OTAwMDAxMTIwRDA2QjQwMzFEQUYxNDA1MTRFRkI1MTMwMTIyMTIwQ0VEN0UwMDI5RkZFRTNBQTkwNzc1MTVGRkY1MTY4OTE3ODBENDdCMDA3QTAwNkQKKzo0MDBFODYwMDc5MDAyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTQ1MzkxQzcKKzo0MDBFQzYwMEVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxOTA0RTA0NDAyRjA3RkY0N0UwMTEyMDAwMzkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMjAwMDIwRUIzMDAwMjBGQzAKKzo0MDBGMDYwMDA0MDAwMjBFODkwMDAyMEYwRkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5QjkKKzo0MDBGNDYwMDIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMDAwNDBDRDA2MDcwMTAxMDAwMTAyMDAwMjA5MDI0MzAwMDEwMTAwODAzMjA5MDQwMDAwMDdGRjAwOEEKKzo0MDBGODYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA0MDMwOTA0MTAwMzRCMDA2NTAwNzkwMDczMzIKKzoxNzBGQzYwMDAwNzAwMDYxMDA2RTAwMEUwMzUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDAwMDA2NAorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXFpLkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxaS5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUzYmZjZgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxaS5IRVgKQEAgLTAsMCArMSwxMDEgQEAKKzowMzAwMzMwMDAyMDAxQUFFCis6MDQwMDFBMDA1M0Q4RUYzMjk2Cis6MTAwMDAzMDA4RTExOEYxMkU1MTIxNTEyQUUxMTcwMDIxNTExNEU2MDhBCis6MDcwMDEzMDAwNTEyMEY4NDgwRUUyMkFDCis6MDMwMDIzMDAwMjAwNDY5MgorOjEwMDA0NjAwQzBFMEMwODNDMDgyQzA4Njc1ODYwMEMwRDA3NUQwMDg2NworOjEwMDA1NjAwMzA5OTBFMzAwQjA3QTIwRTkyOUI4NTM2OTlDMjk5RDIyMworOjEwMDA2NjAwMTIyMDEyMDMwMjA0MUVDMjEyMjAwMzAzMDIwMjRFMjBCMworOjEwMDA3NjAwMEIwMzAyMDEyNkU1M0FDMzk1NTM1MDNDMjAwQzM0MjA2RAorOjEwMDA4NjAwMDkzMTkwN0Y5QkUwNTUzODcwMjkzMDEwMTJBRjNBMDU0MAorOjEwMDA5NjAwM0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBFQUY3NgorOjEwMDBBNjAwM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1MzY1RQorOjEwMDBCNjAwMDIwNDFDQzIwQjAyMDQxQzkwN0ZDN0U0RjBDMjAzMzA4QQorOjEwMDBDNjAwMEQwQ0MyMEQ5MDdGQkIwNEYwQzIwQjAyMDQxQzkwN0Y4NgorOjEwMDBENjAwQzhFMDMwRTEwNUMyMEIwMjA0MUM5MDdGQzlFMEY1NTM2RAorOjEwMDBFNjAwOTA3REMwRTAxMzkyMEQ3NTE2RkYyMDBDMkIyMDA5Mjg3OQorOjEwMDBGNjAwOTA3RjlCRTA1NTM4NzAyMDMwMTAxMTkwN0RDMUUwMTM0MQorOjAzMDA0MzAwMDIwRTAwQUEKKzowMzAwMDAwMDAyMDAyNkQ1Cis6MEMwMDI2MDA3ODdGRTRGNkQ4RkQ3NTgxNTQwMjBCMjhBOQorOjQwMDEwNjAwOTIwRUEzRTBGNTM2NzUzQTAzMDIwNDFDNzUzQTAyOTA3REMxRTBGNTM2MDIwNDFDNzUzQTAxQzIwQjAyMDQxQ0U1M0FDMzk1NTM1MDAzMDIwMUM5OTA3RkM2RTAzMEUxMDdDMjE0QzIwNTAyMDQxQzkwN0ZDN0UwRjU1MzkwN0VDQgorOjQwMDE0NjAwNDBFMDEzOTIwRDc1MTZGRjIwMEM3MDIwMDk2RDkwN0Y5QkUwNTUzODcwNjUzMDEwMTA5MDdFNDFFMDEzOTI5QkEzRTBGNTk5NzUzQTAzODAwOTkwN0U0MUUwRjU5OTc1M0EwMkU1M0FDMzk1NTM0MDE3OTA3RkM3RTRGMEMyMDNGNgorOjQwMDE4NjAwMjAwRDAzMDIwNDFDQzIwRDkwN0ZCQjA0RjAwMjA0MUMzMDEwMTJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyMEVBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGNTM2RDIwQjAyMDQxQzc1M0EwMUMyMTRBMworOjQwMDFDNjAwMDIwNDFDMzAwQzAzMDIwMjQ5MjAwOTc3OTA3RjlCRTA1NTM4NzA2RjMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMDEzOTI5QkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODNFMEY1OTlFNTNBQzM5NTUzNDBBQgorOjQwMDIwNjAwMTc5MDdGQzdFNEYwQzIwMzIwMEQwMzAyMDQxQ0MyMEQ5MDdGQkIwNEYwMDIwNDFDMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBFQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUzNkQyMEI0NAorOjQwMDI0NjAwMDIwNDFDQzIxNDAyMDQxQzIwMEIwMzAyMDJGRkU1M0FDMzk1NTM1MDNDMjAwQzM0MjAwOTMxOTA3RjlCRTA1NTM4NzAyOTMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIwRUFGM0EwNTNBNzRDMDJGRjVGOQorOjQwMDI4NjAwODJFNDM0N0RGNTgzRTBGNTM2MDIwNDFDQzIwQjAyMDQxQzkwN0ZDOUU0RjBEMjAzMzAwRDBDQzIwRDkwN0ZCQjA0RjBDMjBCMDIwNDFDOTA3RkM2RTAzMEUxMDVDMjBCMDIwNDFDOTA3RkM3RTBGNTUzOTA3RTQwRTAxMzkyMERBRgorOjQwMDJDNjAwNzUxNkZGMjAwQzJCMjAwOTI4OTA3RjlCRTA1NTM4NzAyMDMwMTAxMTkwN0U0MUUwMTM5MjBFQTNFMEY1MzY3NTNBMDMwMjA0MUM3NTNBMDI5MDdFNDFFMEY1MzYwMjA0MUM3NTNBMDFDMjBCMDIwNDFDRTUzQUMzOTU1MzUwMDM4MQorOjQwMDMwNjAwMDIwM0EyOTA3RkM4RTAzMEUxMDdDMjE0QzIwNTAyMDQxQzkwN0ZDOUUwRjU1MzkwN0RDMEUwMTM5MjBENzUxNkZGMjAwQzcwMjAwOTZEOTA3RjlCRTA1NTM4NzA2NTMwMTAxMDkwN0RDMUUwMTM5MjlCQTNFMEY1OTk3NTNBMDM3QQorOjQwMDM0NjAwODAwOTkwN0RDMUUwRjU5OTc1M0EwMkU1M0FDMzk1NTM0MDE3OTA3RkM5RTRGMEQyMDMyMDBEMDMwMjA0MUNDMjBEOTA3RkJCMDRGMDAyMDQxQzMwMTAxMkFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIwRUFGM0E4MQorOjQwMDM4NjAwMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTM2RDIwQjAyMDQxQzc1M0EwMUMyMTQwMjA0MUMyMDBDNzUyMDA5NzI5MDdGOUJFMDU1Mzg3MDZBMzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjlCQUYwMgorOjQwMDNDNjAwM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1OTlFNTNBQzM5NTUzNDAxMzkwN0ZDOUU0RjBEMjAzMzAwRDM1QzIwRDkwN0ZCQjA0RjA4MDJDMzAxMDEyQUYzQTA1M0E3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjBFQUYzRAorOjQwMDQwNjAwM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzZEMjBCODAwMkMyMTREMjAxMjA5ODAzMDIwNTVBQzI5ODIwMDIwMzAyMDRDNzIwMTYyN0FGMzkwNTM5NzQ4MDJGRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDEwNERBRjM5MDVDOAorOjQwMDQ0NjAwMzk3NDgwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5MTBFNTEwQjU0NzA0RDIwOTgwMkVFNTEwQjU0NjA0QzIwOTgwMjVBRjM5MDUzOTc0ODAyRkY1ODJFNDM0N0VGNTgzRTUxMEYwMzAxMDExQUYzOTA1Mzk3NDgwMkYxMQorOjQwMDQ4NjAwRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBGRTUzOUMzOTU0MzUwMDMwMjA1NTg5MDdGQjhFMDMwRTExNkU1MzlDMzk0NDA1MDAzMDIwNTU4MTUzOTE1MzkwNTJCNDMzNDAxMDIwNTU4OTA3RkI3RTUzOUYwNzUzOTAwQzIwMjAyMDVEMworOjQwMDRDNjAwNTgyMDE2MjdBRjM5MDUzOTc0MDAyRkY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxMDREQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1OThGMDgwM0E4NTk5MTBFNTEwQjU0NzA0RDIwOTgwMkVFNTEwQjU0NjA0QzIwOTgwMjU3MworOjQwMDUwNjAwQUYzOTA1Mzk3NDAwMkZGNTgyRTQzNDdFRjU4M0U1MTBGMDMwMTAxMUFGMzkwNTM5NzQwMDJGRjU4MkU0MzQ3RUY1ODNFNTk4RjBEMjBGRTUzOUMzOTU0MzQwMjQ5MDdGQjZFMDMwRTExMkU1MzlDMzk0NDA0MDE2MTUzOTE1MzkwOQorOjQwMDU0NjAwMDUyQjQzMzQwMTgwMEI5MDdGQjlFNTM5RjA3NTM5MDBEMjAyRDIwMTMwMDEwNUMyMDEwMjAwNTZEMEQwRDA4NkQwODJEMDgzRDBFMDMyOTA3RkJDRTAyMEUxNTFFNTM0NjA0REU1MzE3MDQ5RTUzNDMwRTEwOEU0RjUyRjc1MzRENAorOjQwMDU4NjAwMDE4MDBCQTIwOEU0MzNGNTJGQzIwOEU0RjUzNEU0RjUxMTdFMDA3QjAwNzQyNDI1MTFGOUVFMzQwMEZBMTIwRDA2RkY3NDAwMjUxMUY1ODJFNDM0N0RGNTgzRUZGMDA1MTFFNTExQjQwQ0RCOTA3RkJENzQwQ0YwNzUzMTEwOTBDRAorOjQwMDVDNjAwN0ZDQUUwMzBFMTAzMDIwNkYzRTRGNTExNzQ0MDI1MTFGNTgyRTQzNDdERjU4M0UwRkZFNTExN0MwMDdCMDAyNDNCRjlFQzM0MDBGQUVGMTIwRDFGMDUxMUU1MTFCNDE4REJFNTNCNjAxMTc1QzkyMDc1QzgzNjg1M0NDQTg1M0Q5OAorOjQwMDYwNjAwQ0JFNDkwN0Y5RkYwRTUzRTEzOTIxMDkyOUY4NTNGMzhFNTQwMTM5MjE2RTU0MTYwMDk5MDdGOThFMDU0RkJGMDgwMDc5MDdGOThFMDQ0MDRGMEU1NDI2MDA5OTA3Rjk4RTA1NDdGRjA4MDA3OTA3Rjk4RTA0NDgwRjBFNTQ4NjBCRQorOjQwMDY0NjAwMEJDMjBDQzIwOTkwN0Y5NUUwNDQwMkYwRTU0OTYwMENEMjA5NDMzNDAxOTA3Rjk1RTA0NDAyRjBFNTRBNjAwREMyQUZDMjBCRDIwMEU0RjU1M0Y1M0FEMkFGRTU0QjYwMDUzMDE2MDJEMjA5RTU0QzYwMTU5MDdGOTVFMDU0RkRCNAorOjQwMDY4NjAwRjA5MDdGOUVFMDQ0MDJGMDkwN0Y5OEUwNTRGREYwRTU0RDYwMEFEMjlDQzI5ODc1MkMwMTc1MzExRUU1NEU2MDA3QzI5Q0U0RjUzOUY1MkNFNTRGNjAwM0U0RjUzOUU1NTA2MDAyRDIwN0U1NTE2MDBBRTU0RDcwMDJGNTMxRTU1QworOjQwMDZDNjAwNTE0MjM0RTU1MjYwMUY5MDdGRDc3NDExRjA3NDMxRjA3NDEyRjA3NDMyRjA3NDEzRjA3NDMzRjA3NDE0RjA3NDM0RjBEMjAzRDIwMkQyMDhFNDkwN0ZDQkYwQTIwQ0U0MzNGRjY1Mjk2MDA1OEYyOTQzMzQwMUEyMDlFNDMzRkY4NAorOjQwMDcwNjAwNjUyQTYwMDU4RjJBNDMzNDAxOTA3RjlCRTBGRjU0MDg2NDA4RkU2NTI1NjAwNThFMjU0MzM0MDFFRjU0MTA2NDEwRkU2NTI2NjAwNThFMjY0MzM0MDFFRjU0NDA2NDQwRkU2NTI3NjAwNThFMjc0MzM0MDFFRjU0MjA2NDIwRkUxQworOjQwMDc0NjAwNjUyODYwMDU4RTI4NDMzNDAxOTA3RjlBRTA1NDQwNjQ0MEZFNjUyRTYwMDU4RTJFNDMzNDAxMzAwNzM1QzJBRjMwMDIxODkwN0ZCOEUwMjBFMTI3RTUzOTYwMDk5MDdGQjdGMEU0RjUzOUMyMDJDMjA3ODAxNjkwN0ZCNkUwMjAzQgorOjQwMDc4NjAwRTEwRkU1Mzk2MDA5OTA3RkI5RjBFNEY1MzlEMjAyQzIwN0QyQUYyMDA1M0QzMDAzMUU5MDdGQzZFMDIwRTEzMzkwN0U0MEUwMTM5MjBENzUzQTAxOTA3RkM3RTBGNTUzRDIwNTc1MTZGRjgwMUM5MDdGQzhFMDIwRTExNTkwN0REMworOjQwMDdDNjAwQzBFMDEzOTIwRDc1M0EwMTkwN0ZDOUUwRjU1M0QyMDU3NTE2RkYyMDE0MzMyMDAwMDZFNTNBNjU1MzcwMkEzMDA1MUEzMDAzMDlFNDkwN0ZDN0YwQzIwMzgwMDdFNDkwN0ZDOUYwRDIwM0MyMDVFNEY1NTNGNTNBMzAwRDBBQzI2NQorOjQwMDgwNjAwMERDMjAwOTA3RkJCNzQwMUYwMzAxNDAzMDIwOTE0MjAwNTAzMDIwOTE0MzAwQzAzMDIwOTE0MzAwOTAzMDIwOTE0OTA3RjlCRTA1NTM4NjAwMzAyMDkxNDMwMDM2MTMwMTAxMkFGM0EwNTNBNzQ0MDJGRjU4MkU0MzQ3RUY1ODMzRgorOjQwMDg0NjAwRTAxMzkyMUJBRjNBMDUzQTc0NDAyRkY1ODJFNDM0N0VGNTgzRTBGRUU1M0FDMzk1NTM1MDJBMzAxMDEyQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjBFQUYzQTA1M0E3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjU0NgorOjQwMDg4NjAwMzZEMjBCODA2QUMyMEJFNDkwN0ZDN0YwQzIwMzgwNUYzMDEwMTJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMUJBRjNBMDUzQTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGRUU1M0FDMzk1NTM1MDJBMzAxMDEyQUZFNworOjQwMDhDNjAwM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMDEzOTIwRUFGM0EwNTNBNzRDMDJGRjU4MkU0MzQ3REY1ODNFMEY1MzZEMjBCODAwOUMyMEJFNDkwN0ZDOUYwRDIwMzMwMTAwNEEyMUI5MjlCRDIxNEMyQUY4RTk5MjAwQjBEMzAxRAorOjQwMDkwNjAwMEQwQUMyMERDMjAwOTA3RkJCNzQwMUYwRDJBRjIyOTA3RkU5RTAxMjBEMzEwQTExMDAwQTdFMDEwQURCMDMwOTM4MDYwQTAyMDgwOUY2MDkwOURFMEEwOUVEMEIwMDAwMEIxOTkwN0ZFQkUwMjRGRTYwMTkxNDYwNUEyNDAyNjA0MQorOjQwMDk0NjAwMDMwMjBCMTk3NDBEOTA3RkQ0RjA3NDg3OTA3RkQ1RjAwMjBCMjA5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyRDg3NTgzMERFRkYwNzU4MkQxNzU4MzBERjA3NTgyQ0E3NTgzMERGMDc1ODJDMzc1ODMwREYwOTA3RkVBRTA3OAorOjQwMDk4NjAwMDQ3NTgyOUU3NTgzMERGMDc0MEQ5MDdGRDRGMDc0OTk5MDdGRDVGMDAyMEIyMDkwN0ZFQUUwNzAwQjc1MTFGRjc1MTIwRDc1MTNEQzgwMUI5MDdGRUFFMEI0MDEwQjc1MTFGRjc1MTIwRDc1MTNFMDgwMDk3NTExRkY3NTEyMEQxOQorOjQwMDlDNjAwNzUxM0YwQUExMkE5MTNBRTAyRUU5MDdGRDRGMEFGMDFFRjkwN0ZENUYwMDIwQjIwOTA3RjAwRTUxNUYwOTA3RkI1NzQwMUYwMDIwQjIwOTA3RkVBRTBGNTE1MDIwQjIwMTIwQ0IxOTA3RkVBRTBGNTE0MDIwQjIwOTA3RjAwRTVCRgorOjQwMEEwNjAwMTRGMDkwN0ZCNTc0MDFGMDAyMEIyMDkwN0ZFOEUwMjQ3RjYwMjcxNDYwMzQyNDAyNjAwMzAyMEIxOUEyMTdFNDMzRkYyNUUwRkZBMjE5RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCMjBFNDkwN0YwMEYwQTNCNworOjQwMEE0NjAwRjA5MDdGQjU3NDAyRjAwMjBCMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIyMDkwN0ZFOEUwMjRGRTYwMTcyNgorOjQwMEE4NjAwMjQwMjYwMDMwMjBCMjA5MDdGRUFFMDY0MDE2MDAzMDIwQjE5QzIxNzAyMEIyMDkwN0ZFQUUwNzA3NjkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBENgorOjQwMEFDNjAwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0ZEN0YwRTA0NDIwRjA4MDQ1OTA3RkU4RTAyNEZFNjAxMDI0MDI3MDM5OTA3RkVBRTA2NDAxNzAyQUQyMTc4MDJEOTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NgorOjQwMEIwNjAwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjJDMjEwRTRGNTE0RjUzNEMyMDlDMjBDQzIwQkMyMTRDMjBEQzIxNkMyMTFDMjA3QzIxMkMyMEZDMjA4RjUzOAorOjQwMEI0NjAwMzVGNTM5RjU1M0Y1M0FGNTMzRjUzMEY1MkZGNTJFRjUyREY1MkNGNTJCRjUyQUY1MjlGNTI4RjUyN0Y1MjZGNTI1RjUyNEMyMDVDMjE4QzIxQUMyMTdDMjE5QzIxNUMyMDREMjEzQzIwNkMyMDE5MDdGOTJFMDU0RkRGMEQyRTgyMAorOjQwMEI4NjAwNDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MEZGMDkwN0ZBQzc0MEVGMEQyQUZEMkJDRDIxQjEyMEY1RkMyMTgzMDA0MDMxNgorOjQwMEJDNjAwMTIwNTZEMzAwNDJBMzAwNjI3QzIwNkU1MTY2MDE2MTUxNjkwN0ZEOEUwMzBFNjA0N0YwMDgwMDI3RjIwOTA3Rjk2RUZGMDgwMDY5MDdGOTY3NDIwRjAxMjBDMEI4MENEMzAxODA3QzIxODEyMDkxNTgwQzMzMDFBQzBDMjFBMTI4RQorOjQwMEMwNjAwMEZCQjgwQjkyMkU1MzE2MDAyMTUzMUU1Mzk2MDU1NjUzNTcwNEJFNTMzRjQ2MDAyMDUzM0U1MzNDMzk1NDQ0MDQzQzJBRjMwMDIxQjkwN0ZCOEUwMjBFMTJEOTA3RkI3RTUzOUYwQzIwMkU0RjUzOUY1MzNGNTM1NzUxNkZGODAyRAorOjQwMEM0NjAwMTk5MDdGQjZFMDIwRTExMjkwN0ZCOUU1MzlGMEQyMDJFNEY1MzlGNTMzRjUzNTc1MTZGRkQyQUY4MDA2ODUzOTM1RTRGNTMzRTUyQzYwMzAyMDBGMDc5MDdGOUJFMDMwRTAwRkU1MkQ2MDA2RTRGNTJENDMzNDAxRTRGNTMwODAwMAorOjQwMEM4NjAwMTRFNTMwRDM5NTQ1NTAwREU1MzBCNTQ1MDY3NTJEMDE0MzM0MDEwNTMwQzIwRjIyOTA3RkQ5RTAzMEUyMDQ3RjAwODAwMjdGMjA5MDdGOTZFRkYwMjJFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwOTA3Rjk2NzQyMEYwOTA3Rjk0NzQ4QQorOjQwMENDNjAwMDFGMDkwN0Y5RDc0QkZGMDkwN0Y5Nzc0ODZGMDkwN0Y5NTc0MDNGMDkwN0Y5RTc0ODRGMDkwN0Y5OEYwRTQ5MDdGQzdGMDkwN0ZDOUYwOTA3RkNCRjA3NTk4NDA0M0E4MTA5MDdGREU3NDFGRjA5MDdGREY3NDBGRjBEMjA0MjIxQQorOjQwMEQwNjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNFQgorOjQwMEQ0NjAwRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjAwMDAwMDAwMDA3QgorOjQwMEQ4NjAwMDAxMjAxMTAwMUZGMDAwMDQwQ0QwNjBDMDEwMTAwMDEwMjAwMDIwOTAyNDMwMDAxMDEwMDgwMzIwOTA0MDAwMDA3RkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1ODEwMjQwMDAxMAorOjQwMERDNjAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNDAzMDkwNDEwMDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMEUwMzUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDAwMDAwMjBFQTIwMDAyMEU0MQorOjQwMEUwNjAwN0IwMDAyMEQ1NzAwMDIwRUM5MDAwMjBFMTAwMDAyMEUxNDAwMDIwRTE4MDAwMjBFMUMwMDAyMEVGMDAwMDIwRTI0MDAwMjBGMTUwMDAyMEUyQzAwMDIwRjNBRTQ5MDdGOTVGMDkwN0Y5NEYwOTA3RjkzRjA5MDdGOURFMDQ0MDIwQQorOjQwMEU0NjAwRjA5MDdGOTdFMDQ0MDJGMDkwN0Y5Qzc0MTBGMEU0OTA3Rjk2RjA5MDdGOUQ3NEZFRjAzMDE3MDQ3RjgwODAwMjdGMDA5MDdGOTdFRkYwRTQ5MDdGOTVGMDkwN0Y5RUYwOTA3Rjk4RjAyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzAwRQorOjQwMEU4NjAwODY3NTg2MDA1MzkxRUY5MDdGQUI3NDAyRjBEMjA2RDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjE4NTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNFQgorOjQwMEVDNjAwRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxQTUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTA3RkE5NzRDMgorOjQwMEYwNjAwMDJGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwNTM5MUVGOTA3RkE5NzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODZENworOjQwMEY0NjAwNzU4NjAwNTM5MUVGOTA3RkE5NzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGRDZFMDU0RkJGMEUwNDQwOEYwMzAxQjA0RTA0NDAyRjA3RkY0N0UwMTEyMDAwMzkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMjc0MDBCOQorOjQwMEY4NjAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjI5MDdGRDZFMDQ0MDFGMDdGMEQ3RTAwMTIwMDAzOTA3RkQ2RTA1NEZFRjAyMjEyMEUzMzEyMEY5NTkwN0ZENkUwMzBGQQorOjA5MEZDNjAwRTcwMzEyMEZBNTEyMENCMTIyODEKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhMTlxdy5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cXcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhODkxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5cXcuSEVYCkBAIC0wLDAgKzEsMTQyIEBACis6MDMwMDMzMDAwMjAwMkQ5QgorOjA0MDAyRDAwNTNEOEVGMzI4MworOjEwMDA0NjAwMzAxMDE5MTIwRTBGRUZDMzk1MTQ0MDAzMDIwMERGOTAxMworOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMTBDMjBCMDIwMERGMzAwRDNFOTA2QworOjEwMDA2NjAwN0ZDNkUwMjBFMTczMTIwRTBGRUZDMzk0NDA1MDZBOTBGMgorOjEwMDA3NjAwN0U0MEUwMTM5MjEwOTA3RkM3RTAxNEY1MzYyMDBCMTFGNgorOjEwMDA4NjAwNjAwRkY1MjQ3RTdFN0Y0MTc1Mjk3RTc1MkE0MTEyMDkwRgorOjEwMDA5NjAwMTBDMjBERTQ5MDdGQzdGMDc1MjZGRjgwM0M5MDdGQzhBNAorOjEwMDBBNjAwRTAyMEUxMzUxMjBFMEZFRkMzOTQ0MDUwMkM5MDdEQzAzNgorOjEwMDBCNjAwRTAxMzkyMTA5MDdGQzlFMDE0RjUzNjIwMEIxMTYwMEYwMworOjEwMDBDNjAwRjUyNDdFN0Q3RkMxNzUyOTdENzUyQUMxMTIwOTEwRDI1RQorOjEwMDBENjAwMERFNDkwN0ZDOUYwNzUyNkZGOTA3RkI2RTAzMEUxMDMwRQorOjEwMDBFNjAwMDIwMTY4MTIwQ0ZGOEYzNjEyMEUxQjhGMTFFNTM2QzMwNAorOjEwMDBGNjAwOTUxMzUwMEYxMjBEREVFRjMwRTAwOEU1MTEyMEU3MDNFRgorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMEUwMEFBCis6MTAwMDAzMDBDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDZFCis6MTAwMDEzMDA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMEFCCis6MEEwMDIzMDA4NEQwODVEMDgyRDA4M0QwRTAzMjczCis6MDMwMDAwMDAwMjA5QzUyRAorOjQwMDEwNjAwMzAxMzVGQzIxM0U1MzY2MDU5QjQ4MDAzNDMxMTAyRTUxMTMwRTcyNEU1MzZEMzk0MjA0MDAzNzUzNjIwODUzNjI0N0U3RTdGODA3NTI5N0U3NTJBODAxMjBCOUFFNTM2MjVFMDkwN0ZCN0YwODAyQUU1MzZEMzk0M0Y0MDAzNzUzQgorOjQwMDE0NjAwMzYzRjg1MzYyNDkwN0U4MEU1MTFGMDdFN0U3RjgxNzUyOTdFNzUyQTgxMTIwOTM1RTUzNjA0OTA3RkI3RjA3NTI2RkY5MDdGQ0VFMDMwRTEwNjIwMEUwMzAyMDNDNEU0RjUzNTc0NDAyNTM1RjU4MkU0MzQ3Q0Y1ODNFMEZGRTU4OQorOjQwMDE4NjAwMzU3QzAwN0IwMTdBN0U3OTAwMjQwMEY5RUMzNDdFRkFFRjEyMEE5NzA1MzVFNTM1QjQyMEQ3OTA3RTAwRTA2MDZFN0YwMTkwN0UxMUUwRkQxMjBDREE5MDdFMDFFMEZGMTIwQzFDOTA3RTAyRTBGRjEyMEM0MkQyMTFEMjEyNzU2MgorOjQwMDFDNjAwMzYwNDkwN0UwM0UwNjAwNUMyMTI0MzM2QzA5MDdFMDRFMEI0MDEwN0MyMTI0MzM2MEI4MDEwOTA3RTA0RTA2MDA3QzIxMTQzMzYwOTgwMDM0MzM2MDI3RjAzQUQzNjEyMENEQTQzMUE4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1MUE3MgorOjQwMDIwNjAwRjA5MDdGOTg3NDEyRjBFNTE3NDQwNjkwQzAwMEYwOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTE5OTA3Rjk4NzQxM0YwOTBDMDAwRTUxOUYwOTA3RTA3RTA2MDQyOTA3RTEzRTA2MDA1NDMxNjA0ODAwMzUzMTZGQkU0RkZBRDE2MTI0NworOjQwMDI0NjAwMENEQTkwN0UwOEUwNjAwNTQzMTg4MDgwMDM1MzE4N0Y1MzE4RkM5MDdFMDlFMDYwMTE0MzE4MDJBM0UwRkYxMjBDOEU5MDdFMEJFMEZGMTIwQ0I0QUYxODEyMEM2ODkwN0UwRUUwNjAxOEEzRTA2MDA1NDMxQTAxODAwMzUzMUFENAorOjQwMDI4NjAwRkU5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMENFMDYwMThBM0UwNjAwNTQzMUEwMjgwMDM1MzFBRkQ5MDdGOTg3NDE0RjA5MEMwMDBFNTFBRjA5MDdFMTJFMEY1MTNBM0UwMTM5MjE0QTNFMEY1MTRBM0UwNjAwNTQzMUFDMworOjQwMDJDNjAwMTA4MDAzNTMxQUVGOTA3Rjk4NzQxNEYwOTBDMDAwRTUxQUYwOTA3RTE2RTA2MDMyNTMxOUJGOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMEREMkVGNTRGRTkwQzAwMEYwNTMxNkZERTRGRkFEMTYyMQorOjQwMDMwNjAwMTIwQ0RBRTRGNTBFRjUwREQyMEY5MDdFMTdFMDYwMEY0MzE2MDJFNEZGQUQxNjEyMENEQTc1MEQwMUQyMEY5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTE3NDQwNDkwQzAwMEYwRDIwQjkwN0UxOUUwNjAxMTQzMTk0MDkwN0YwRAorOjQwMDM0NjAwOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMxNkZFRTRGRkFEMTYxMjBDREE3NTBGMDFEMjBGOTA3RTFCRTA2MDBGNDMxNjAxRTRGRkFEMTYxMjBDREFFNEY1MEZEMjBGOTA3RTFDRTA2MDBFOTA3Rjk4NzRBOQorOjQwMDM4NjAwMTJGMEU1MTc0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjEzOTA3RTFFRTA2MDA4NzUxMDAxRTRGNTEyRDIwRjkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMERDMjBFRTQ5MDdGQ0ZGMDMwMTY3NAorOjQwMDNDNjAwNzFFNTEyNjAwMjE1MTJFNTMwRDM5NDAwNDAwNDE1MzA4MDYwNzUzMDBBMTIwREQyRUY1NDAxRjUzNjY1MEU2MDA3ODUzNjBFRDIwRjgwMTExMjBFMjdFRjU0MTBGNTM2NjUwOTYwMDU4NTM2MDlEMjBGMTIwRTI3RUY1NDgwRjVDMQorOjQwMDQwNjAwMzY2NTBBNjAwNTg1MzYwQUQyMEYxMjBFMjdFRjU0MjBGNTM2NjUwQjYwMDg4NTM2MEIzMDExMDJEMjBGMTIwRTI3RUY1NDQwRjUzNjY1MEM2MDA4ODUzNjBDMzAxMjAyRDIwRjMwMTYyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTAzNQorOjQwMDQ0NjAwNjAwOUUwRjUzMjkwN0I0MkUwRjUzMzkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDUyOUU1Mjc3MDQwMzAwRjM5RTUxMjcwMzVDMjBGRjUzNTdFMDA3QjAwNzQwODI1MzVEQgorOjQwMDQ4NjAwRjlFRTM0MDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDlEQjkwN0ZDMzc0MDlGMDc1MTIxMEU0RjUxMDc1MjcwMjIyRTUyNzY0MDI3MDM2MzAwNTJGQzIwNUY1MzU3RTAwN0IwMDc0MkI5NgorOjQwMDRDNjAwMjUzNUY5RUUzNDAwRkExMjBBNTFGRjc0ODAyNTM1RjU4MkU0MzQ3QkY1ODNFRkYwMDUzNUU1MzVCNDA1REI5MDdGQzM3NDA1RjA3NTI3MDMyMkU1MzI2MDMzNzUzMTAzMTUzMkU0RjUzNTdFMDA3QjAwNzQzMTI1MzVGOUVFMzRDRAorOjQwMDUwNjAwMDBGQTEyMEE1MUZGNzQ4MDI1MzVGNTgyRTQzNDdCRjU4M0VGRjAwNTM1RTUzNUI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUyNzIyOTA3RkU5RTAxMjBBQTkwNjA4MDAwNjdDMDEwNkU5MDMwNTREMDYwNUY5MDgwNUVEMDkwNUQ1MEEwMgorOjQwMDU0NjAwMDVFNDBCMDAwMDA3Mzk5MDdGRUJFMDI0RkU2MDE2MTQ2MDUwMjQwMjcwNkY3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjA3NDA5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4Mjc0NzU4MzE5RjA2RQorOjQwMDU4NjAwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjA3NDA5MDdGRUFFMEZGMTIwQjFDRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDAyMDc0MDkwN0ZCNEUwNDQ5QgorOjQwMDVDNjAwMDFGMDAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwNzQwOTA3RkVBRTBGNTI1MDIwNzQwMTIwNzQ4OTA3RkVBRTBGNTIzMDIwNzQwOTA3RjAwRTUyM0YwOTA3RkI1NzQwMUYwMDIxNgorOjQwMDYwNjAwMDc0MDkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDFFNDMzRkYyNUUwRkZBMjA3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3NDBFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDc0MDkwN0YyQworOjQwMDY0NjAwRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDc0MDkwN0ZCNEUwNDQwMUYwMDIwNzQwOTA3RkU4RTAyNEZFNjAxRTI0MDIxNgorOjQwMDY4NjAwNjAwMzAyMDc0MDkwN0ZFQUUwQjQwMTA2MTIwREY5MDIwNzQwOTA3RkI0RTA0NDAxRjAwMjA3NDA5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTBGOAorOjQwMDZDNjAwN0ZFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA2MDkwN0ZCNEUwNDQwMUYwODA1NzkwN0ZFOEUwMjRGRTYwMTkyNDAyNzA0QjkwN0ZFQUUwQjQwMTA1MTIwREY2ODAzRjkwN0ZCNEUwNDQ4NworOjQwMDcwNjAwMDFGMDgwMzY5MDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGOQorOjQwMDc0NjAwRjAyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjA5MDdGOTY3NDIwRjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDEwRjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUwODdGMDE3QjAwNzQwODJGRjlFNDM0MDAyMworOjQwMDc4NjAwRkFFNDEyMEE5NzBGQkYwOUVFNzUxMzAxRTRGNTEyRjUzMEY1MTFDMjBGQzIxM0MyMEVDMjBCQzIxMEMyMDQ5MDdGOTg3NDEzRjA3NTE5MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMENEQTdGMTA4RjE4MTIwQzY4OTA3Rjk4NzRDMgorOjQwMDdDNjAwMTJGMDdGMDE4RjE3RUY0NDA2OTBDMDAwRjAwRkU0RkQxMjBDREFFNEZGN0VBM0FEMDY4RDE2MTIwQ0RBOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIwQ0RBN0YwMTEyMEQ2QTdGMDM3RDA3MTIwQ0RBRTRGRkU1MTY3QgorOjQwMDgwNjAwNTQ3RkZEMTIwQ0RBMTIwRTBGOEYxNUU0RkZFNTE2NDQ4MEZEMTIwQ0RBRTUxNTMwRTcwNEMyMDg4MDAyRDIwODkwN0Y5ODc0MTRGMDc1MUE4MDkwQzAwMDc0ODBGMEQyMDMyMkQyMTU5MDdGOTJFMDQ0MDJGMDEyMERGOUQyRTg3QworOjQwMDg0NjAwNDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIxNjEyMEQyNEMyMDJFNEY1MjhGNTMwQzIwOUY1MjNDMjAzOTBGNworOjQwMDg4NjAwN0ZBMTA0RjA5MDdGRDhFMDY1MzQ2MDQ4MzAwMzA1RDIxNjEyMDA0NkU1MEY2MDIyRTUyNjYwMTYxNTI2OTA3RkQ4RTAzMEU2MDQ3RjIwODAwMjdGMzA5MDdGOTZFRkYwODAxQTkwN0Y5Njc0MzBGMDgwMTI5MDdGRDlFMDMwRTJGOAorOjQwMDhDNjAwMDQ3RjMwODAwMjdGMjA5MDdGOTZFRkYwOTA3RkQ4RTBGNTM0ODAyMDMwMDMwN0MyMTYxMjAwNDY4MDE2RTUwRjcwMTI5MDdGRDlFMDMwRTIwNDdGMzA4MDAyN0YyMDkwN0Y5NkVGRjAzMDAyMDdDMjAyMTIwNTJBODA4NjMwMEFFNAorOjQwMDkwNjAwODNDMjBBMTIwQjVEMDIwODhBMjI5MDdGOTg3NDEwRjBBRjI0RTUyQUY1ODJFNTI5RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBMworOjQwMDk0NjAwQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUZDRAorOjQwMDk4NjAwMjRFNTJBRjU4MkU1MjlGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyNzg0QgorOjQwMDlDNjAwN0ZFNEY2RDhGRDc1ODEzOTAyMEEwQzAyMDgzOEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIxMQorOjQwMEEwNjAwMDQwODEwMjA0MDgwOTAwRDhCRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJCMAorOjQwMEE0NjAwQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjVCQgorOjQwMEE4NjAwODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI4RgorOjQwMEFDNjAwOTM2ODYwRUZBM0EzQTM4MERGRTQ5MDdGOTNGMDkwN0Y5Qzc0MjBGMDMwMDEwM0ZGODAwMjdGMDA5MDdGOTZFRkYwRTQ5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAzMDA4MTE5MDdGOTVGMDkwN0Y5RTc0RkZGMDkwN0YwNQorOjQwMEIwNjAwOTg3NDIwRjAyMkU0OTA3Rjk1RjA5MDdGOUU3NERGRjBFNDkwN0Y5OEYwMjI4RjM1RTRGNTM2NzUzN0ZGNzUzODE5NzUzOTg2QUIzN0FBMzhBOTM5OTAwMDAxMTIwQTZBQjQwMzFEQUYzNjA1MzZFRkI1MzUwMTIyMTIwQTUxN0U1QworOjQwMEI0NjAwMDAyOUZGRUUzQUE5MDc3NTM3RkZGNTM4ODkzOTgwRDQ3QjAwN0EwMDc5MDAyMjkwN0ZEOEUwRjUzNTEyMEFDRjIwMDgwNzkwN0Y5MkUwNTRGREYwOTA3RkQ2RTA0NDgwRjAxMjA5QjU5MDdGRDZFMDMwRTcwRTMwMDEwNTEyMEQ5QworOjQwMEI4NjAwQkM4MDA2MTIwRDQ5RUY2MEUxOTA3RjkyRTA0NDAyRjAxMjA3NDgyMjA1MkFFNTJBQUUyOTcwMDIwNTI5MTRGNTgyOEU4M0U1MTFGMDEyMDAzNjA1MkFFNTJBQUMyOTcwMDIwNTI5MTRGNTgyOEM4M0VGRjAxNTI0RTUyNDYwMDdDNworOjQwMEJDNjAwMTIwRTFCOEYxMTgwQ0QyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMDI1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMEE5RgorOjQwMEMwNjAwNTM5MUVGOTA3RkFCNzQwOEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxOTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzRFOAorOjQwMEM0NjAwMTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU3QworOjQwMEM4NjAwMTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE5NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjBGRQorOjQwMENDNjAwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1MTk1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MEMwMDBFRkYwOTA3Rjk4NzQxNUYwOTBDMDAwRURGMDIyMTIwREVBOEYzNzEyMEQ5MQorOjQwMEQwNjAwRUE4RjM4RTUzNzY1Mzg2MDEyMTIwREVBOEYzN0U1Mzc2NTM4NjAwNzEyMERFQThGMzg4MEU4QUYzNzIyOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMTYwNEUwNDQwMkYwN0ZGNDdFMDExMjBEQTU5MDdGRDZFMDU0RjdGMEUwNDQ0OAorOjQwMEQ0NjAwMDRGMDIyOTA3RkQ4RTBGNTM2MTIwNzQ4MTIwRTI3RUYzMEU2MEI5MDdGRDhFMDY1MzY2MEYxN0YwMTIyMTIwQUNGN0YwMDIyQUUwN0U0RkZFNTE2NTQ3RkZEMTIwQ0RBOTA3Rjk4NzQxMUYwOTBDMDAwRUVGMEU0RTUxNjQ0ODA4NAorOjQwMEQ4NjAwRkQxMjBDREEyMjA1MkIwMjAwMDAwMDAwMDMzMTAzMDAwMEMxODZDMTAyQzEwQUMxMDFDMTA3MDEyNzAwMDA4RTM2OEYzN0U1MzcxNTM3QUUzNjcwMDIxNTM2NEU2MDA1MTIwOUE0ODBFRTIyOTA3RkQ2RTA0NDAxRjA3RjBEN0U4RAorOjQwMERDNjAwMDAxMjBEQTU5MDdGRDZFMDU0RkVGMDIyOTA3Rjk4NzQxMUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxMkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxM0YwOTBDMDAwRTBGRjIyRDIwMTIyQzIwMTIyMDAwMDAwMDAwMjBCQ0UwMDAyMEVGMQorOjQwMEUwNjAwMDQwMDAyMDAwMzAwMDIwQkY1OTA3Rjk4NzQxNEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQxNkYwOTBDMDAwRTBGRjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0RQorOjQwMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjQwMEU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjQwMEVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjQwMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjQwMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjQwMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjQwMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjQwMTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjQwMTA0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjQwMTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjQwMTBDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjQwMTEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjQwMTE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjQwMTE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjQwMTFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjQwMTIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjQwMTI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjQwMTI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjQwMTJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjQwMTMwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjQwMTM0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjQwMTM4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYxOTAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA2RAorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2ExOXcuSEVYCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzYjg0MzEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9rZXlzcGFuL3VzYTE5dy5IRVgKQEAgLTAsMCArMSwxNDEgQEAKKzowMzAwMzMwMDAyMEQ1QzVGCis6MTAwMDAzMDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMEJGCis6MTAwMDEzMDA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjA5MDMxCis6MEYwMDIzMDA3Rjk1RjA5MDdGOUU3NDE3RjBFNDkwN0Y5OEYwMjIwNQorOjEwMDA0NjAwMzAwRjE4MTIwRDM4RUZDMzk1MTQ0MDAzMDIwMEQ4OTBGNAorOjEwMDA1NjAwN0ZCRjc0MDFGMEMyMEZDMjBBODA3NzMwMEMzQjkwN0ZERAorOjEwMDA2NjAwQzZFMDIwRTE2RDEyMEQzOEVGQzM5NDQwNTA2NDkwN0VENworOjEwMDA3NjAwNDBFMDEzOTIwRjkwN0ZDN0UwMTRGNTFDMjAwQTExNjAzMAorOjEwMDA4NjAwMEZGNTIzN0U3RTdGNDE3NTI3N0U3NTI4NDExMjA4MDE3NAorOjEwMDA5NjAwQzIwQ0U0OTA3RkM3RjA4MDM5OTA3RkM4RTAyMEUxMzIzRgorOjEwMDBBNjAwMTIwRDM4RUZDMzk0NDA1MDI5OTA3REMwRTAxMzkyMEY5MworOjEwMDBCNjAwOTA3RkM5RTAxNEY1MUMyMDBBMTE2MDBGRjUyMzdFN0RBMAorOjEwMDBDNjAwN0ZDMTc1Mjc3RDc1MjhDMTEyMDgwMUQyMENFNDkwN0Y4NworOjEwMDBENjAwQzlGMDkwN0ZCNkUwMzBFMTAzMDIwMTVFMTIwQzQxOEY1OQorOjEwMDBFNjAwMUMxMjBENDQ4RjExRTUxQ0MzOTUxMzUwMEYxMjBEMjBFMQorOjEwMDBGNjAwRUYzMEUwMDhFNTExMjBFNzAzMzAxMjVDQzIxMkU1MUM4MAorOjBDMDAzNjAwOTA3Rjk4NzQxMEYwOTBDMDAwRTBGRjIyNTIKKzowMzAwNDMwMDAyMEUwMEFBCis6MDMwMDAwMDAwMjA4QjYzRAorOjQwMDEwNjAwNjA1NkI0ODAwMzQzMTEwMkU1MTEzMEU3MjRFNTFDRDM5NDIwNDAwMzc1MUMyMDg1MUMyMzdFN0U3RjgwNzUyNzdFNzUyODgwMTIwQTg2RTUxQzI1MUM5MDdGQjdGMDgwMjdFNTFDRDM5NDNGNDAwMzc1MUMzRjg1MUMyMzkwN0UwNgorOjQwMDE0NjAwODBFNTExRjA3RTdFN0Y4MTc1Mjc3RTc1Mjg4MTEyMDgyNkU1MUMwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDBEMDMwMjAzQkFFNEY1MUI3NDQwMjUxQkY1ODJFNDM0N0NGNTgzRTBGRkU1MUI3QzAwN0IwMTdBN0U3OTAwMjQ0QQorOjQwMDE4NjAwMDBGOUVDMzQ3RUZBRUYxMjBBMEQwNTFCRTUxQkI0MjBENzkwN0UwMEUwNjA2RTdGMDE5MDdFMTFFMEZEMTIwQzFDOTA3RTAxRTBGRjEyMEI1RTkwN0UwMkUwRkYxMjBCODREMjEwRDIxMTc1MUMwNDkwN0UwM0UwNjAwNUMyMTFENworOjQwMDFDNjAwNDMxQ0MwOTA3RTA0RTBCNDAxMDdDMjExNDMxQzBCODAxMDkwN0UwNEUwNjAwN0MyMTA0MzFDMDk4MDAzNDMxQzAyN0YwM0FEMUMxMjBDMUM0MzE5ODA5MDdGOTg3NDE0RjA5MEMwMDBFNTE5RjA5MDdGOTg3NDEyRjBFNTE2NDRDRQorOjQwMDIwNjAwMDY5MEMwMDBGMDkwN0UwNUUwNjAxMkEzRTA1NDNGRjUxODkwN0Y5ODc0MTNGMDkwQzAwMEU1MThGMDkwN0UwN0UwNjA0MjkwN0UxM0UwNjAwNTQzMTUwNDgwMDM1MzE1RkJFNEZGQUQxNTEyMEMxQzkwN0UwOEUwNjAwNTQzMTdCQworOjQwMDI0NjAwODA4MDAzNTMxNzdGNTMxN0ZDOTA3RTA5RTA2MDExNDMxNzAyQTNFMEZGMTIwQkQwOTA3RTBCRTBGRjEyMEJGNkFGMTcxMjBCQUE5MDdFMEVFMDYwMThBM0UwNjAwNTQzMTkwMTgwMDM1MzE5RkU5MDdGOTg3NDE0RjA5MEMwMDA0NgorOjQwMDI4NjAwRTUxOUYwOTA3RTBDRTA2MDE4QTNFMDYwMDU0MzE5MDI4MDAzNTMxOUZEOTA3Rjk4NzQxNEYwOTBDMDAwRTUxOUYwOTA3RTEyRTBGNTEzQTNFMDEzOTIxM0EzRTBGNTE0QTNFMDYwMDU0MzE5MTA4MDAzNTMxOUVGOTA3Rjk4NzQyRAorOjQwMDJDNjAwMTRGMDkwQzAwMEU1MTlGMDkwN0UxNkUwNjAzMjUzMThCRjkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjBEMTRFRjU0RkU5MEMwMDBGMDUzMTVGREU0RkZBRDE1MTIwQzFDRTRGNTBFRjUwREQyMEVFQgorOjQwMDMwNjAwOTA3RTE3RTA2MDBGNDMxNTAyRTRGRkFEMTUxMjBDMUM3NTBEMDFEMjBFOTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTUxNjQ0MDQ5MEMwMDBGMEQyMEE5MDdFMTlFMDYwMTE0MzE4NDA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzA2NAorOjQwMDM0NjAwMDBGMDkwN0UxQUUwNjAwRjUzMTVGRUU0RkZBRDE1MTIwQzFDNzUwRjAxRDIwRTkwN0UxQkUwNjAwRjQzMTUwMUU0RkZBRDE1MTIwQzFDRTRGNTBGRDIwRTkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTJGMEU1MTY0NDAyOTBDMDAwRjBEOAorOjQwMDM4NjAwOTA3RTFERTA2MDAyRDIxMjkwN0UxRUUwNjAwODc1MTAwMUU0RjUxMkQyMEU5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjBDQzIwREU0OTA3RkNGRjAzMDE1NzFFNTEyNjAwMjE1MTJFNTJFRDMyNgorOjQwMDNDNjAwOTQwMDQwMDQxNTJFODA2MDc1MkUwQTEyMEQxNEVGNTQwMUY1MUM2NTBFNjAwNzg1MUMwRUQyMEU4MDExMTIwRDUwRUY1NDEwRjUxQzY1MDk2MDA1ODUxQzA5RDIwRTEyMEQ1MEVGNTQ4MEY1MUM2NTBBNjAwNTg1MUMwQUQyMEVGQgorOjQwMDQwNjAwMTIwRDUwRUY1NDIwRjUxQzY1MEI2MDA4ODUxQzBCMzAxMDAyRDIwRTEyMEQ1MEVGNTQ0MEY1MUM2NTBDNjAwODg1MUMwQzMwMTEwMkQyMEUzMDE1MkE5MDdGRDJFMDIwRTEyMzkwN0I0MEUwNjAwOUUwRjUzMDkwN0I0MkUwRjU3MgorOjQwMDQ0NjAwMzE5MDdCNDFFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjBFNDkwN0ZEM0YwOTA3RkMyRTAzMEUxMDMwMjA1MUZFNTI1NzA0MDMwMEUzOUU1MTI3MDM1QzIwRUY1MUI3RTAwN0IwMDc0MDgyNTFCRjlFRTM0MDBGQTEyMDlDN0ZGNzQ0NworOjQwMDQ4NjAwODAyNTFCRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDA5REI5MDdGQzM3NDA5RjA3NTEyMTBFNEY1MTA3NTI1MDIyMkU1MjU2NDAyNzAzNjMwMDUyRkMyMDVGNTFCN0UwMDdCMDA3NDI5MjUxQkY5RUUzNDAwRkExMjA5QzdDMgorOjQwMDRDNjAwRkY3NDgwMjUxQkY1ODJFNDM0N0JGNTgzRUZGMDA1MUJFNTFCQjQwNURCOTA3RkMzNzQwNUYwNzUyNTAzMjJFNTMwNjAzMzc1MkYwMzE1MzBFNEY1MUI3RTAwN0IwMDc0MkYyNTFCRjlFRTM0MDBGQTEyMDlDN0ZGNzQ4MDI1MUIyNgorOjQwMDUwNjAwRjU4MkU0MzQ3QkY1ODNFRkYwMDUxQkU1MUJCNDAzREI5MDdGQzM3NDAzRjBFNEY1MjUyMjkwN0ZFOUUwMTIwQTFGMDVGNjAwMDY2QTAxMDZENzAzMDU0MzA2MDVFOTA4MDVFMzA5MDVDQjBBMDVEQTBCMDAwMDA3Mjc5MDdGRUJDOQorOjQwMDU0NjAwRTAyNEZFNjAxNjE0NjA1MDI0MDI3MDZGNzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwNzJFOTA3RkVBRTA3MDA0N0YwMjgwMDI3RjAzNzU4MjgyNzU4MzE5RUZGMDc1ODI3NDc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUE2NQorOjQwMDU4NjAwRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwNzJFOTA3RkVBRTBGRjEyMEE0NUVBNDk2MDBERUE5MDdGRDRGMEU5OTA3RkQ1RjAwMjA3MkU5MDdGQjRFMDQ0MDFGMDAyMDcyRTkwN0ZCNEUwNDREMQorOjQwMDVDNjAwMDFGMDAyMDcyRTkwN0YwMEU1MjRGMDkwN0ZCNTc0MDFGMDAyMDcyRTkwN0ZFQUUwRjUyNDAyMDcyRTEyMDczNjAyMDcyRTkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIwNzJFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIyMQorOjQwMDYwNjAwMDFFNDMzRkYyNUUwRkZBMjA3RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA3MkVFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDcyRTkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRDRAorOjQwMDY0NjAwRjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDcyRTkwN0ZCNEUwNDQwMUYwMDIwNzJFOTA3RkU4RTAyNEZFNjAxRTI0MDI2MDAzMDIwNzJFOTA3RkVBRTBCNDAxMDYxMjBENjMwMjA3MkU1MworOjQwMDY4NjAwOTA3RkI0RTA0NDAxRjAwMjA3MkU5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGRkZFMDU0MDcyRjkwN0Y2OQorOjQwMDZDNjAwRDdGMEUwNDQyMEYwODA2MDkwN0ZCNEUwNDQwMUYwODA1NzkwN0ZFOEUwMjRGRTYwMTkyNDAyNzA0QjkwN0ZFQUUwQjQwMTA1MTIwRDYwODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZBRAorOjQwMDcwNjAwQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxRjA4MDEwOTA3RkI0RTA0NDAxRjA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA2QgorOjQwMDc0NjAwOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQxOEYwRTRGNThFOTA3RkRGNzRGRkYwOTA3RkRFRjBFNEY1MDg3RjAxN0IwMDc0MDgyRkY5RTQzNDAwRkFFNDEyMEEwRDBGQkYwOUVFNzUxMzAxRTRGNTEyRjUyRUY1MTFBMgorOjQwMDc4NjAwQzIwRUMyMTJDMjBEQzIwQUMyMEZDMjA0OTA3Rjk4NzQxM0YwNzUxODAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjBDMUM3RjEwOEYxNzEyMEJBQTkwN0Y5ODc0MTJGMDdGMDE4RjE2RUY0NDA2OTBDMDAwRjAwRkU0RkQxMjBDMUM3MQorOjQwMDdDNjAwRTRGRjdFQTNBRDA2OEQxNTEyMEMxQzkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMEMxQzdGMDExMjBDQUM3RjAzN0QwNzEyMEMxQzkwN0Y5ODc0MTRGMDc1MTk4MDkwQzAwMDc0ODBGMEQyMDMyMjkwN0Y5ODc0MTA1OQorOjQwMDgwNjAwRjBBRjIzRTUyOEY1ODJFNTI3RjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjc2RgorOjQwMDg0NjAwMDU4NkQyQUYyMjkwN0Y5ODc0MDhGMEFGMjNFNTI4RjU4MkU1MjdGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYyM0U1MjhGNTgyRTUyN0Y1ODNDMkFGMDU4NjkwQzA0NQorOjQwMDg4NjAwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyNzg3RkU0RjZEOEZENzU4MTMxMDIwOEZEMDIwOTQyRTQzQgorOjQwMDhDNjAwOTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDBDQ0RFNDdFMDE5MzYwQkMzNgorOjQwMDkwNjAwQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRDIxNDkwN0Y4MworOjQwMDk0NjAwOTJFMDQ0MDJGMDEyMEQ2M0QyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRTc0MERGMEQyQUZEMjE1MTIwQzY2QzIwMkU0RjU1NworOjQwMDk4NjAwMjZGNTJFQzIwOEMyMDM5MDdGQTEwNEYwOTA3RkQ4RTA2NTFBNjAxMDMwMDMwNUQyMTUxMjAwNDY5MDdGRDhFMEY1MUE4MDA4MzAwMzA1QzIxNTEyMDA0NjMwMDIwN0MyMDIxMjA1MjA4MEQ2MzAwOUQzQzIwOTEyMEFCQTgwQ0M0MAorOjQwMDlDNjAwMjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTUxRgorOjQwMEEwNjAwODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEY1OAorOjQwMEE0NjAwMUJFNEY1MUM3NTFERkY3NTFFMTk3NTFGODZBQjFEQUExRUE5MUY5MDAwMDExMjA5RTBCNDAzMURBRjFDMDUxQ0VGQjUxQjAxMjIxMjA5Qzc3RTAwMjlGRkVFM0FBOTA3NzUxREZGRjUxRTg5MUY4MEQ0N0IwMDdBMDA3OTAwMjJGMworOjQwMEE4NjAwMDUyOEU1MjhBRTI3NzAwMjA1MjcxNEY1ODI4RTgzRTUxMUYwMTIwMDM2MDUyOEU1MjhBQzI3NzAwMjA1MjcxNEY1ODI4QzgzRUZGMDE1MjNFNTIzNjAwNzEyMEQ0NDhGMTE4MENEMjI5MDdGRDhFMEY1MUIxMjAwMDM5MDdGRDZBQgorOjQwMEFDNjAwRTA0NDgwRjAxMjA4QTY5MDdGRDZFMDMwRTcwRTMwMDEwNTEyMENGRTgwMDYxMjBDOEJFRjYwRTExMjA3MzYyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDBERgorOjQwMEIwNjAwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjAyNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDAyNQorOjQwMEI0NjAwRDIwOTUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMEYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEU1MTg1NDdGOTBDMDAwRjAyMjkwN0ZEQgorOjQwMEI4NjAwOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMkYwOTBDMDAwRUZGMDkwN0Y5ODc0MTMwNworOjQwMEJDNjAwRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTUxODU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzRGMgorOjQwMEMwNjAwMTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNTE4NTQ3RjkwQzAwMEYwOTA3Rjk4NzQxN0YwOTBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMEQyQzhGMUQ0NAorOjQwMEM0NjAwMTIwRDJDOEYxRUU1MUQ2NTFFNjAxMjEyMEQyQzhGMURFNTFENjUxRTYwMDcxMjBEMkM4RjFFODBFOEFGMUQyMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDE1MDRFMDQ0MDJGMDdGRjQ3RTAxMTIwQ0U3OTA3RkQ2RTA1NEY3RjBEOAorOjQwMEM4NjAwRTA0NDA0RjAyMjkwN0ZEOEUwRjUxQzEyMDczNjEyMEQ1MEVGMzBFNjBCOTA3RkQ4RTA2NTFDNjBGMTdGMDEyMjEyMDAwMzdGMDAyMkFFMDdFNEZGRTUxNTU0N0ZGRDEyMEMxQzkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1MTU5OQorOjQwMENDNjAwNDQ4MEZEMTIwQzFDMjIwNTI5MDIwMDAwMDAwMDAzMkYwMzAwMDBDMTg2QzEwMkMxMDlDMTAxQzEwNzAxMjUwMDAwOEUxQzhGMURFNTFEMTUxREFFMUM3MDAyMTUxQzRFNjAwNTEyMDg5NTgwRUUyMjkwN0ZENkUwNDQwMUYwN0Y4NgorOjQwMEQwNjAwMEQ3RTAwMTIwQ0U3OTA3RkQ2RTA1NEZFRjAyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0YyQgorOjQwMEQ0NjAwOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI1M0Q4RUYzMkQyMDEyMkMyMDEyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MworOjQwMEQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyRAorOjQwMERDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjBCMTAwMDAyMEVDMAorOjQwMEUwNjAwMDQwMDAyMEFFNjAwMDIwQjM3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3MgorOjQwMEU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QworOjQwMEU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQworOjQwMEVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQworOjQwMEYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQgorOjQwMEY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QgorOjQwMEY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQgorOjQwMEZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQgorOjQwMTAwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBQQorOjQwMTA0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2QQorOjQwMTA4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyQQorOjQwMTBDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFQQorOjQwMTEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOQorOjQwMTE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OQorOjQwMTE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOQorOjQwMTFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOQorOjQwMTIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBOAorOjQwMTI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2OAorOjQwMTI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyOAorOjQwMTJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFOAorOjQwMTMwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNworOjQwMTM0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NworOjQwMTM4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNworOjQwMTNDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNworOjQwMTQwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNgorOjQwMTQ0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NgorOjQwMTQ4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNgorOjQwMTRDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNgorOjQwMTUwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNQorOjQwMTU0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NQorOjQwMTU4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNQorOjQwMTVDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNQorOjQwMTYwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBNAorOjQwMTY0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2NAorOjQwMTY4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyNAorOjQwMTZDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFNAorOjQwMTcwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMworOjQwMTc0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MworOjQwMTc4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMworOjQwMTdDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFMworOjQwMTgwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMgorOjQwMTg0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MgorOjQwMTg4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMgorOjQwMThDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjAxMTAwMUZGMDBCRgorOjQwMTkwNjAwMDA0MENEMDYwODAxMDAwMDAxMDIwMDAyMDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3RQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyMDAwNTUwMDUzMDA0MjAwMjAwMDUzMDA2NTAwNzIwMDY5MDA2MTAwNkMwMDIwMDA0MTAwNjQwMDYxMDA3MDAwNzQwMDY1MDBGOQorOjA0MUEwNjAwNzIwMDAwMDA2QQorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbi91c2EyOC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDBjOTc4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOC5IRVgKQEAgLTAsMCArMSwxNDggQEAKKzowQTAwMjYwMDEyMTdEQjEyMThCNTEyMTRDMzIyRTIKKzowMzAwMzMwMDAyMDAxREFCCis6MDQwMDFEMDA1M0Q4RUYzMjkzCis6MTAwMDA2MDA4RTEyOEYxM0U1MTMxNTEzQUUxMjcwMDIxNTEyNEU2MDgxCis6MDcwMDE2MDAwNTEyMThBNDgwRUUyMjgwCis6MDMwMDAzMDAwMjAwNDZCMgorOjEwMDA0NjAwQzBFMEMwODNDMDgyQzA4Njc1ODYwMEMwRDA3NUQwMDg2NworOjEwMDA1NjAwMzA5OTBFMzAxMTA3QTIxNzkyOUI4NTQ2OTlDMjk5RDIwNAorOjEwMDA2NjAwMUYzMEMxMEUzMDEyMDdBMjE4OTJDMzg1NDdDMUMyQzEwNAorOjEwMDA3NjAwRDIyMDIwMUYwMzAyMDQ0MkMyMUYyMDAzMDMwMjAyNjc4QworOjEwMDA4NjAwMjAxMTAzMDIwMTM4RTU0QUMzOTU3QzUwM0UyMDEzMzYwMQorOjEwMDA5NjAwMjAwQjMzOTA3RjlCRTAyMEUzMDMyMDFDMjkzMDFCMTJBQQorOjEwMDBBNjAwQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFRjU4M0UwMTNBOQorOjEwMDBCNjAwOTIxN0FFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMworOjEwMDBDNjAwRTBGNTQ2MDIwNDQwQzIxMTAyMDQ0MDkwN0ZDN0U0RjAwNgorOjEwMDBENjAwQzIwMzMwMTUwQ0MyMTU5MDdGQkYwNEYwQzIxMTAyMDQ5MgorOjEwMDBFNjAwNDA5MDdGQzhFMDMwRTEwNUMyMTEwMjA0NDA5MDdGQzkwQworOjEwMDBGNjAwRTBGNTdDOTA3REMwRTAxMzkyMTUyMDEzMkQyMDBCMkE4RAorOjAzMDA0MzAwMDIxQjAwOUQKKzowMzAwMjMwMDAyMDA0NjkyCis6MDMwMDNCMDAwMjAwNDY3QQorOjAzMDAwMDAwMDIxNjNEQTgKKzo0MDAxMDYwMDkwN0Y5QkUwMjBFMzAzMjAxQzIwMzAxQjExOTA3REMxRTAxMzkyMTdBM0UwRjU0Njc1NEEwMzAyMDQ0MDc1NEEwMjkwN0RDMUUwRjU0NjAyMDQ0MDc1NEEwMUMyMTEwMjA0NDBFNTRBQzM5NTdDNTAwMzAyMDFFMDkwN0ZDNkUwOEEKKzo0MDAxNDYwMDMwRTEwN0MyMjFDMjA1MDIwNDQwOTA3RkM3RTBGNTdDOTA3RTQwRTAxMzkyMTUzMDEzMDMwMjAxRDgyMDBCNzIyMDAwNkY5MDdGOUJFMDIwRTMwMzIwMUM2NTMwMUIxMDkwN0U0MUUwMTM5MjlCQTNFMEY1OTk3NTRBMDM4MDA5QkUKKzo0MDAxODYwMDkwN0U0MUUwRjU5OTc1NEEwMkU1NEFDMzk1N0M0MDE3OTA3RkM3RTRGMEMyMDMyMDE1MDMwMjA0NDBDMjE1OTA3RkJGMDRGMDAyMDQ0MDMwMUIxMkFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMDEzOTIxN0FFNEEwNTRBQTcKKzo0MDAxQzYwMDc0NDAyRUY1ODJFNDM0N0VGNTgzRTBGNTQ2RDIxMTAyMDQ0MDc1NEEwMUMyMjEwMjA0NDAzMDEzMDMwMjAyNjIyMDBCNzk5MDdGOUJFMDIwRTMwMzIwMUM2RjMwMUIxMkFFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMDEzREMKKzo0MDAyMDYwMDkyOUJBRTRBMDU0QTc0NDAyRUY1ODJFNDM0N0VGNTgzRTBGNTk5RTU0QUMzOTU3QzQwMTc5MDdGQzdFNEYwQzIwMzIwMTUwMzAyMDQ0MEMyMTU5MDdGQkYwNEYwMDIwNDQwMzAxQjEyQUU0QTA1NEE3NDQwMkVGNTgyRTQzNDdFQjYKKzo0MDAyNDYwMEY1ODNFMDEzOTIxN0FFNEEwNTRBNzQ0MDJFRjU4MkU0MzQ3RUY1ODNFMEY1NDZEMjExMDIwNDQwQzIyMTAyMDQ0MDIwMTEwMzAyMDMxOUU1NEFDMzk1N0M1MDNFMjAxMzM2MjAwQjMzOTA3RjlCRTAyMEUzMDMyMDFDMjkzMDFCNUYKKzo0MDAyODYwMDEyQUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUU0QTA1NEE3NEMwMkVGNTgyRTQzNDdERjU4M0UwRjU0NjAyMDQ0MEMyMTEwMjA0NDA5MDdGQzlFNEYwRDIwMzMwMTUwQ0MyMTU5MDdGQkYwNEYwQzIxMTAyNzYKKzo0MDAyQzYwMDA0NDA5MDdGQzZFMDMwRTEwNUMyMTEwMjA0NDA5MDdGQzdFMEY1N0M5MDdFNDBFMDEzOTIxNTIwMTMyRDIwMEIyQTkwN0Y5QkUwMjBFMzAzMjAxQzIwMzAxQjExOTA3RTQxRTAxMzkyMTdBM0UwRjU0Njc1NEEwMzAyMDQ0MDc1OUUKKzo0MDAzMDYwMDRBMDI5MDdFNDFFMEY1NDYwMjA0NDA3NTRBMDFDMjExMDIwNDQwRTU0QUMzOTU3QzUwMDMwMjAzQzE5MDdGQzhFMDMwRTEwN0MyMjFDMjA1MDIwNDQwOTA3RkM5RTBGNTdDOTA3REMwRTAxMzkyMTUzMDEzMDMwMjAzQjkyMDBCNDgKKzo0MDAzNDYwMDcyMjAwMDZGOTA3RjlCRTAyMEUzMDMyMDFDNjUzMDFCMTA5MDdEQzFFMDEzOTI5QkEzRTBGNTk5NzU0QTAzODAwOTkwN0RDMUUwRjU5OTc1NEEwMkU1NEFDMzk1N0M0MDE3OTA3RkM5RTRGMEQyMDMyMDE1MDMwMjA0NDBDMjE1NzMKKzo0MDAzODYwMDkwN0ZCRjA0RjAwMjA0NDAzMDFCMTJBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMTdBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ2RDIxMTAyMDQ0MDc1NEEwMUMyMjEwMjA0NDAzMDEzMDMwMjA0NjMKKzo0MDAzQzYwMDNFMjAwQjc0OTA3RjlCRTAyMEUzMDMyMDFDNkEzMDFCMTJBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyOUJBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTBGNTk5RTU0QUMzOTU3QzQwMTM5MDdGQzlFNEYwOUQKKzo0MDA0MDYwMEQyMDMzMDE1MzVDMjE1OTA3RkJGMDRGMDgwMkMzMDFCMTJBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTAxMzkyMTdBRTRBMDU0QTc0QzAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ2RDIxMTgwMDJDMjIxRDIyNTIwMjAwMzAyMzAKKzo0MDA0NDYwMDA4MENDMjIwMjAwNDAzMDIwNjMxMjAxMjAzMDIwNTAyRTU0QkMzOTU3RDUwM0UyMDE0MzYyMDBEMzM5MDdGOUFFMDIwRTUwMzIwMUUyOTMwMUQxMkFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMDEzOTIxOEFFNEIwNTRCOTkKKzo0MDA0ODYwMDc0NDAyRUY1ODJFNDM0N0RGNTgzRTBGNTQ3MDIwODBBQzIxMjAyMDgwQTkwN0ZDQkU0RjBDMjA0MzAxNjBDQzIxNjkwN0ZDMTA0RjBDMjEyMDIwODBBOTA3RkNDRTAzMEUxMDVDMjEyMDIwODBBOTA3RkNERTBGNTdEOTA3Q0MwQkIKKzo0MDA0QzYwMEUwMTM5MjE2MjAxNDJEMjAwRDJBOTA3RjlBRTAyMEU1MDMyMDFFMjAzMDFEMTE5MDdDQzFFMDEzOTIxOEEzRTBGNTQ3NzU0QjAzMDIwODBBNzU0QjAyOTA3Q0MxRTBGNTQ3MDIwODBBNzU0QjAxQzIxMjAyMDgwQUU1NEJDMzk1NjYKKzo0MDA1MDYwMDdENTAwMzAyMDVBQTkwN0ZDQUUwMzBFMTA3QzIyMkMyMDYwMjA4MEE5MDdGQ0JFMEY1N0Q5MDdENDBFMDEzOTIxNjMwMTQwMzAyMDVBMjIwMEQ3MjIwMDA2RjkwN0Y5QUUwMjBFNTAzMjAxRTY1MzAxRDEwOTA3RDQxRTAxMzkyMEQKKzo0MDA1NDYwMEMzQTNFMEY1QzE3NTRCMDM4MDA5OTA3RDQxRTBGNUMxNzU0QjAyRTU0QkMzOTU3RDQwMTc5MDdGQ0JFNEYwQzIwNDIwMTYwMzAyMDgwQUMyMTY5MDdGQzEwNEYwMDIwODBBMzAxRDEyQUU0QjA1NEI3NDQwMkVGNTgyRTQzNDdEMjQKKzo0MDA1ODYwMEY1ODNFMDEzOTIxOEFFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMEY1NDdEMjEyMDIwODBBNzU0QjAxQzIyMjAyMDgwQTMwMTQwMzAyMDYyQzIwMEQ3OTkwN0Y5QUUwMjBFNTAzMjAxRTZGMzAxRDEyQUU0QjA1NEI3NDQwRTkKKzo0MDA1QzYwMDJFRjU4MkU0MzQ3REY1ODNFMDEzOTJDM0FFNEIwNTRCNzQ0MDJFRjU4MkU0MzQ3REY1ODNFMEY1QzFFNTRCQzM5NTdENDAxNzkwN0ZDQkU0RjBDMjA0MjAxNjAzMDIwODBBQzIxNjkwN0ZDMTA0RjAwMjA4MEEzMDFEMTJBRTRCOTEKKzo0MDA2MDYwMDA1NEI3NDQwMkVGNTgyRTQzNDdERjU4M0UwMTM5MjE4QUU0QjA1NEI3NDQwMkVGNTgyRTQzNDdERjU4M0UwRjU0N0QyMTIwMjA4MEFDMjIyMDIwODBBMjAxMjAzMDIwNkUzRTU0QkMzOTU3RDUwM0UyMDE0MzYyMDBEMzM5MDdGMUEKKzo0MDA2NDYwMDlBRTAyMEU1MDMyMDFFMjkzMDFEMTJBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRTRCMDU0Qjc0QzAyRUY1ODJFNDM0N0NGNTgzRTBGNTQ3MDIwODBBQzIxMjAyMDgwQTkwN0ZDREU0RjBEMjA0MzAxNjBDNDMKKzo0MDA2ODYwMEMyMTY5MDdGQzEwNEYwQzIxMjAyMDgwQTkwN0ZDQUUwMzBFMTA1QzIxMjAyMDgwQTkwN0ZDQkUwRjU3RDkwN0Q0MEUwMTM5MjE2MjAxNDJEMjAwRDJBOTA3RjlBRTAyMEU1MDMyMDFFMjAzMDFEMTE5MDdENDFFMDEzOTIxOEEzNTIKKzo0MDA2QzYwMEUwRjU0Nzc1NEIwMzAyMDgwQTc1NEIwMjkwN0Q0MUUwRjU0NzAyMDgwQTc1NEIwMUMyMTIwMjA4MEFFNTRCQzM5NTdENTAwMzAyMDc4QjkwN0ZDQ0UwMzBFMTA3QzIyMkMyMDYwMjA4MEE5MDdGQ0RFMEY1N0Q5MDdDQzBFMDEzQUMKKzo0MDA3MDYwMDkyMTYzMDE0MDMwMjA3ODMyMDBENzIyMDAwNkY5MDdGOUFFMDIwRTUwMzIwMUU2NTMwMUQxMDkwN0NDMUUwMTM5MkMzQTNFMEY1QzE3NTRCMDM4MDA5OTA3Q0MxRTBGNUMxNzU0QjAyRTU0QkMzOTU3RDQwMTc5MDdGQ0RFNEYwQUUKKzo0MDA3NDYwMEQyMDQyMDE2MDMwMjA4MEFDMjE2OTA3RkMxMDRGMDAyMDgwQTMwMUQxMkFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMDEzOTIxOEFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMEY1NDdEMjEyMDIwODBBNzU0QjAxNzMKKzo0MDA3ODYwMEMyMjIwMjA4MEEzMDE0MDMwMjA4MDgyMDBENzQ5MDdGOUFFMDIwRTUwMzIwMUU2QTMwMUQxMkFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMDEzOTJDM0FFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMEY1QzFFNTRCM0YKKzo0MDA3QzYwMEMzOTU3RDQwMTM5MDdGQ0RFNEYwRDIwNDMwMTYzNUMyMTY5MDdGQzEwNEYwODAyQzMwMUQxMkFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMDEzOTIxOEFFNEIwNTRCNzRDMDJFRjU4MkU0MzQ3Q0Y1ODNFMEY1NDdEMjEyMkEKKzo0MDA4MDYwMDgwMDJDMjIyRDIyNTIwOTgwMzAyMDkzRUMyOTgyMDAxMDMwMjA4QjAyMDIzMjdBRTQ4MDU0ODc0ODAyRUY1ODJFNDM0N0VGNTgzRTU5OUYwMzAxQjQ5QUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0U1OThGMDgwMzZBRjk5NkUKKzo0MDA4NDYwMEVGQjU1ODA0RDIwQjgwMkNFRkI1NTcwNEMyMEI4MDI0QUU0ODA1NDg3NDgwMkVGNTgyRTQzNDdFRjU4M0VGRjAzMDFCMTFBRTQ4MDU0ODc0ODAyRUY1ODJFNDM0N0VGNTgzRTU5OEYwRDIxOUU1NDhDMzk1NTQ1MDAzMDIwOTNDOUYKKzo0MDA4ODYwMDkwN0ZCOEUwMzBFMTE1RTU0OEMzOTQ0MDUwMDMwMjA5M0MxNTQ4MTU0ODA1MkREMjBDMDIwOTNDOTA3RkI3RTU0OEYwNzU0ODAwQzIwMTAyMDkzQzIwMjMyN0FFNDgwNTQ4NzQwMDJFRjU4MkU0MzQ3RUY1ODNFNTk5RjAzMDFCQkYKKzo0MDA4QzYwMDQ5QUU0ODA1NDg3NDAwMkVGNTgyRTQzNDdFRjU4M0U1OThGMDgwMzZBRjk5RUZCNTU4MDREMjBCODAyQ0VGQjU1NzA0QzIwQjgwMjRBRTQ4MDU0ODc0MDAyRUY1ODJFNDM0N0VGNTgzRUZGMDMwMUIxMUFFNDgwNTQ4NzQwMDJFNTEKKzo0MDA5MDYwMEY1ODJFNDM0N0VGNTgzRTU5OEYwRDIxOUU1NDhDMzk1NTQ0MDIzOTA3RkI2RTAzMEUxMTFFNTQ4QzM5NDQwNDAxNTE1NDgxNTQ4MDUyREQyMEM4MDBCOTA3RkI5RTU0OEYwNzU0ODAwRDIwMUQyMjUyMEMwMDMwMjBBNzBDMkMwMTYKKzo0MDA5NDYwMDIwMDIwMzAyMDlFMjIwMjQyN0FFNDkwNTQ5NzQ4MDJFRjU4MkU0MzQ3REY1ODNFNUMxRjAzMDFENDlBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRTVDMEYwODAzNkFGQzFFRkI1NzAwNEQyMEQ4MDJDRUZCNTZGMDRDMjBEQUUKKzo0MDA5ODYwMDgwMjRBRTQ5MDU0OTc0ODAyRUY1ODJFNDM0N0RGNTgzRUZGMDMwMUQxMUFFNDkwNTQ5NzQ4MDJFRjU4MkU0MzQ3REY1ODNFNUMwRjBEMjFBRTU0OUMzOTU2QzUwMDMwMjBBNkU5MDdGQkNFMDMwRTExNUU1NDlDMzk0NDA1MDAzNTEKKzo0MDA5QzYwMDAyMEE2RTE1NDkxNTQ5MDUzOUQyMEUwMjBBNkU5MDdGQkJFNTQ5RjA3NTQ5MDBDMjAyMDIwQTZFMjAyNDI3QUU0OTA1NDk3NDAwMkVGNTgyRTQzNDdERjU4M0U1QzFGMDMwMUQ0OUFFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1NTUKKzo0MDBBMDYwMDgzRTVDMEYwODAzNkFGQzFFRkI1NzAwNEQyMEQ4MDJDRUZCNTZGMDRDMjBEODAyNEFFNDkwNTQ5NzQwMDJFRjU4MkU0MzQ3REY1ODNFRkYwMzAxRDExQUU0OTA1NDk3NDAwMkVGNTgyRTQzNDdERjU4M0U1QzBGMEQyMUFFNTQ5ODMKKzo0MDBBNDYwMEMzOTU2QzQwMjM5MDdGQkFFMDMwRTExMUU1NDlDMzk0NDA0MDE1MTU0OTE1NDkwNTM5RDIwRTgwMEI5MDdGQkRFNTQ5RjA3NTQ5MDBEMjAyRDIyNTMwMjUwNUMyMjUwMjAwNTZEMEQwRDA4NkQwODJEMDgzRDBFMDMyOTA3RkNFOTkKKzo0MDBBODYwMEUwMzBFMTAzMDIwQkE1RTRGNTEyNzQ0MDI1MTJGNTgyRTQzNDdDRjU4M0UwRkZFNTEyN0MwMDdCMDAyNDRDRjlFQzM0MDBGQUVGMTIxNUNEMDUxMkU1MTJCNDE4REJFNTRDNjAwQzc1QzkyMDc1QzgzNjg1NERDQTg1NEVDQkU1QkMKKzo0MDBBQzYwMDRGMTM5MjFCOTI5RkU1NTAxMzkyMUNFNTUxMTM5MjIzRTU1MjYwMDk5MDdGOThFMDU0RkJGMDgwMDc5MDdGOThFMDQ0MDRGMEU1NTM2MDA5OTA3Rjk4RTA1NDdGRjA4MDA3OTA3Rjk4RTA0NDgwRjBFNTU5NjAwQkMyMTNDMjBCMTgKKzo0MDBCMDYwMDkwN0Y5NUUwNDQwMkYwRTU1QTYwMEJEMjBCRDIwQzkwN0Y5NUUwNDQwMkYwRTU1QjYwMERDMkFGQzIxMUQyMDBFNEY1N0NGNTRBRDJBRkU1NUM2MDA1MzAyMzAyRDIwQkU1NUQ2MDE1OTA3Rjk1RTA1NEZERjA5MDdGOUVFMDQ0RDkKKzo0MDBCNDYwMDAyRjA5MDdGOThFMDU0RkRGMEU1NUU2MDBBRDI5Q0MyOTg3NTJFMDE3NTQwMjhFNTVGNjAwN0MyOUNFNEY1NDhGNTJFRTU2MDYwMDNFNEY1NDhFNTYxNjAwMkQyMDdFNTYyNjAwOEU1NUU3MDAyRjU0MEQyMENFNTYzNjAxOTkwNjAKKzo0MDBCODYwMDdGRDc3NDExRjA3NDMxRjA3NDEyRjA3NDMyRjA3NDE1RjA3NDM1RjBEMjAzRDIwMUQyMDlFNDkwN0ZDRkYwQTIxM0U0MzNGRjY1MkI2MDA0OEYyQkQyMENBMjBCRTQzM0ZGNjUyQzYwMDQ4RjJDRDIwQzkwN0Y5QkUwNTQwODY1ODkKKzo0MDBCQzYwMDI3NjAwN0UwNTQwOEY1MjdEMjBDOTA3RjlCRTA1NDQwQjUyOTA5RTA1NDQwNjQ0MEY1MjlEMjBDMzAwNzM1QzJBRjMwMDExODkwN0ZCOEUwMjBFMTI3RTU0ODYwMDk5MDdGQjdGMEU0RjU0OEMyMDFDMjA3ODAxNjkwN0ZCNkUwRTkKKzo0MDBDMDYwMDIwRTEwRkU1NDg2MDA5OTA3RkI5RjBFNEY1NDhEMjAxQzIwN0QyQUYyMDA1MzczMDAzMUI5MDdGQzZFMDIwRTEyRDkwN0U0MEUwMTM5MjE1NzU0QTAxOTA3RkM3RTBGNTdDRDIwNTgwMTk5MDdGQzhFMDIwRTExMjkwN0RDMEUwQ0YKKzo0MDBDNDYwMDEzOTIxNTc1NEEwMTkwN0ZDOUUwRjU3Q0QyMDUyMDIxMzMyMDAwMDZFNTRBNjU3QzcwMkEzMDA1MUEzMDAzMDlFNDkwN0ZDN0YwQzIwMzgwMDdFNDkwN0ZDOUYwRDIwM0MyMDVFNEY1N0NGNTRBMzAxNTBBQzIxNUMyMDA5MDdGNUMKKzo0MDBDODYwMEJGNzQwMUYwMzAyMTAzMDIwRDk0MjAwNTAzMDIwRDk0MzAxQzBBOTA3RjlCRTAyMEUzMDMwMjBEOTQzMDBCMDMwMjBEOTQzMDEzMDMwMjBEOTQzMDAzNjIzMDFCMTJBRjRBMDU0QTc0NDAyRkY1ODJFNDM0N0VGNTgzRTAxMzkyQ0UKKzo0MDBDQzYwMDJEQUY0QTA1NEE3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjUxM0U1NEFDMzk1N0M1MDJBMzAxQjEyQUY0QTA1NEE3NDQwMkZGNTgyRTQzNDdFRjU4M0UwMTM5MjE3QUY0QTA1NEE3NDQwMkZGNTgyRTQzNDdFRjU4M0UwRjU0NkQyNjYKKzo0MDBEMDYwMDExODA2QkMyMTFFNDkwN0ZDN0YwQzIwMzgwNjAzMDFCMTJBRjRBMDU0QTc0QzAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMkRBRjRBMDU0QTc0QzAyRkY1ODJFNDM0N0RGNTgzRTBGNTEzRTU0QUMzOTU3QzUwMkEzMDFCMTJBRjRBNjcKKzo0MDBENDYwMDA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwMTM5MjE3QUY0QTA1NEE3NEMwMkZGNTgyRTQzNDdERjU4M0UwRjU0NkQyMTE4MDA5QzIxMUU0OTA3RkM5RjBEMjAzMzAxQjA0QTIyRDkyOUJEMjIxQzJBRjg1MTM5OTIwMTEwRDMwNDMKKzo0MDBEODYwMDE1MEFDMjE1QzIwMDkwN0ZCRjc0MDFGMEQyQUY5MDdGRDBFMDMwRTEwMzAyMEVCNUU0RjUxMjc0QzAyNTEyRjU4MkU0MzQ3QkY1ODNFMEZGRTUxMjdDMDA3QjAwMjQ2NEY5RUMzNDAwRkFFRjEyMTVDRDA1MTJFNTEyQjQxOERCNTEKKzo0MDBEQzYwMEU1NjQ2MDBCNzU4OTYwNzU4ODQwRDJERjg1NjU4REU1NjcxMzkyMUQ5MkM3RTU2ODEzOTIxRUU1NjkxMzkyMjRFNTZBNjAwOTkwN0Y5N0UwNTRFRkYwODAwNzkwN0Y5N0UwNDQxMEYwRTU2QjYwMDk5MDdGOTdFMDU0N0ZGMDgwQTQKKzo0MDBFMDYwMDA3OTA3Rjk3RTA0NDgwRjBFNTcxNjAwQkMyMTRDMjBEOTA3Rjk0RTA0NDA4RjBFNTcyNjAwQkQyMEREMjBFOTA3Rjk0RTA0NDA4RjBFNTczNjAwREMyQUZDMjEyRDIwMEU0RjU3REY1NEJEMkFGRTU3NDYwMDUzMDI0MDJEMjBEMjAKKzo0MDBFNDYwMEU1NzU2MDE1OTA3Rjk0RTA1NEY3RjA5MDdGOURFMDQ0MDhGMDkwN0Y5N0UwNTRGN0YwRTU3NjYwMEFEMkM0QzJDMDc1M0EwMTc1NDEyOEU1Nzc2MDA3QzJDNEU0RjU0OUY1M0FFNTc4NjAwM0U0RjU0OUU1Nzk2MDAyRDIwOEU1RjAKKzo0MDBFODYwMDdBNjAwOEU1NzY3MDAyRjU0MUQyMEVFNTdCNjAxOTkwN0ZENzc0MTNGMDc0MzNGMDc0MTRGMDc0MzRGMDc0MTZGMDc0MzZGMEQyMDREMjAyRDIwQUU0OTA3RkQxRjBBMjE0RTQzM0ZGNjUzNzYwMDQ4RjM3RDIwRUEyMERFNDMzMDQKKzo0MDBFQzYwMEZGNjUzODYwMDQ4RjM4RDIwRTkwN0Y5QUUwNTQyMDY1MzM2MDA3RTA1NDIwRjUzM0QyMEU5MDdGOUFFMDU0NDBCNTM1MDlFMDU0NDA2NDQwRjUzNUQyMEUzMDA4MzVDMkFGMzAwMjE4OTA3RkJDRTAyMEUxMjdFNTQ5NjAwOTkwOTkKKzo0MDBGMDYwMDdGQkJGMEU0RjU0OUMyMDJDMjA4ODAxNjkwN0ZCQUUwMjBFMTBGRTU0OTYwMDk5MDdGQkRGMEU0RjU0OUQyMDJDMjA4RDJBRjIwMDYzNzMwMDQxQjkwN0ZDQUUwMjBFMTJEOTA3RDQwRTAxMzkyMTY3NTRCMDE5MDdGQ0JFMEY1MDMKKzo0MDBGNDYwMDdERDIwNjgwMTk5MDdGQ0NFMDIwRTExMjkwN0NDMEUwMTM5MjE2NzU0QjAxOTA3RkNERTBGNTdERDIwNjIwMjIzMzIwMDAwNkU1NEI2NTdENzAyQTMwMDYxQTMwMDQwOUU0OTA3RkNCRjBDMjA0ODAwN0U0OTA3RkNERjBEMjA0MkMKKzo0MDBGODYwMEMyMDZFNEY1N0RGNTRCMzAxNjBBQzIxNkMyMDA5MDdGQzE3NDAxRjAzMDIyMDMwMjEwQTQyMDA2MDMwMjEwQTQzMDFFMEE5MDdGOUFFMDIwRTUwMzAyMTBBNDMwMEQwMzAyMTBBNDMwMTQwMzAyMTBBNDMwMDQ2MjMwMUQxMkFGOEUKKzo0MDBGQzYwMDRCMDU0Qjc0NDAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMkRBRjRCMDU0Qjc0NDAyRkY1ODJFNDM0N0RGNTgzRTBGNTEzRTU0QkMzOTU3RDUwMkEzMDFEMTJBRjRCMDU0Qjc0NDAyRkY1ODJFNDM0N0RGNTgzRTAxMzkyMThBRjRCNzgKKzo0MDEwMDYwMDA1NEI3NDQwMkZGNTgyRTQzNDdERjU4M0UwRjU0N0QyMTI4MDZCQzIxMkU0OTA3RkNCRjBDMjA0ODA2MDMwMUQxMkFGNEIwNTRCNzRDMDJGRjU4MkU0MzQ3Q0Y1ODNFMDEzOTIyREFGNEIwNTRCNzRDMDJGRjU4MkU0MzQ3Q0Y1RjIKKzo0MDEwNDYwMDgzRTBGNTEzRTU0QkMzOTU3RDUwMkEzMDFEMTJBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNTgzRTAxMzkyMThBRjRCMDU0Qjc0QzAyRkY1ODJFNDM0N0NGNTgzRTBGNTQ3RDIxMjgwMDlDMjEyRTQ5MDdGQ0RGMEQyMDQzMDFERjQKKzo0MDEwODYwMDA0QTIyRDkyQzNEMjIyQzJBRjg1MTNDMTIwMTIwRDMwMTYwQUMyMTZDMjAwOTA3RkMxNzQwMUYwRDJBRjkwN0ZDMkUwMzBFMTAzMDIxMTdBRTUxQTcwNDYzMDBDM0ZFNTQwNzAzQkEyMDkzM0Y1MzFDMjA5QzIwQ0U0RjUxMjdFMEQKKzo0MDEwQzYwMDAwN0IwMDc0MjYyNTEyRjlFRTM0MDBGQTEyMTU4N0ZGNzQ4MDI1MTJGNTgyRTQzNDdCRjU4M0VGRjAwNTEyRTUxMkI0MENEQjkwN0ZDMzc0MENGMDc1NDAxMDIyNzUxQTAxMjJFNTFBNjQwMTcwNDUzMDBFM0VFNTQxNzAzQUEyQzUKKzo0MDExMDYwMDBBMzNGNTNEQzIwQUMyMEVFNEY1MTI3RTAwN0IwMDc0MzIyNTEyRjlFRTM0MDBGQTEyMTU4N0ZGNzQ4MDI1MTJGNTgyRTQzNDdCRjU4M0VGRjAwNTEyRTUxMkI0MENEQjkwN0ZDMzc0MENGMDc1NDExMDc1MUEwMjIyRTUxQzYwQ0EKKzo0MDExNDYwMDMwMTUxQ0U0RjUxMjdFMDA3QjAwNzQxQjI1MTJGOUVFMzQwMEZBMTIxNTg3RkY3NDgwMjUxMkY1ODJFNDM0N0JGNTgzRUZGMDA1MTJFNTEyQjQwM0RCOTA3RkMzNzQwM0YwRTRGNTFBMjI5MDdGRTlFMDEyMTYxNzEyNDAwMDEyQTcKKzo0MDExODYwMEI0MDExMzIwMDMxMTlFMDYxMjMzMDgxMjJEMDkxMjIwMEExMzc2MEIwMDAwMTM2RjkwN0ZFQkUwMjRGRTYwMTYxNDYwNDAyNDAyNzA2OTc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMTM3NjkwN0ZFQUUwRkYxMjE3NEI4QjEyNjEKKzo0MDExQzYwMDhBMTM4OTE0RUE0OTYwMTFBRTAyRUU5MDdGRDRGMEFGMDFFRjkwN0ZENUYwMDIxMzc2OTA3RkI0RTA0NDAxRjAwMjEzNzY5MDdGRUFFMEZGMTIxNzlBOEIxMjhBMTM4OTE0RUE0OTYwMTFBRTAyRUU5MDdGRDRGMEFGMDFFRjkwODMKKzo0MDEyMDYwMDdGRDVGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RkI0RTA0NDAxRjAwMjEzNzY5MDdGMDA3NDAxRjA5MDdGQjVGMDAyMTM3NjEyMTRDMzAyMTM3NjkwN0YwMDc0MDFGMDkwN0ZCNUYwMDIxMzc2OTA3RkU4RTAyNDdGQkYKKzo0MDEyNDYwMDYwMjQxNDYwMzEyNDAyNzA1QkEyMjZFNDMzRkYyNUUwRkZBMjJCRTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjEzNzZFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMTM3NjkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MjkKKzo0MDEyODYwMDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RkU4RTAyNEZFNjAxRDI0MDI2MDAzMDIxMzc2OTA3RkVBMEIKKzo0MDEyQzYwMEUwQjQwMTA1QzIyNjAyMTM3NjkwN0ZCNEUwNDQwMUYwMDIxMzc2OTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRTRGMDkwN0ZFQ0UwNTQ4MEZGMTMxMzEzQTcKKzo0MDEzMDYwMDU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMjY4MDNGOTA3RkI0RTA0NDAxRjA4MDM2OTA3RkVBRTA3MDIwQTMKKzo0MDEzNDYwMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwNDQwMkYwMjIyMDI4MDMwMjE0QzJFNTQwNjMKKzo0MDEzODYwMDYwMDIxNTQwRTU0ODYwNEY2NTQ0NzA0NUU1NDJGNDYwMDIwNTQyRTU0MkMzOTU1NTQwM0RDMkFGMzAwMTE4OTA3RkI4RTAyMEUxMjc5MDdGQjdFNTQ4RjBDMjAxRTRGNTQ4RjU0MkY1NDQ4MDE2OTA3RkI2RTAyMEUxMEY5MDdGMDcKKzo0MDEzQzYwMEI5RTU0OEYwRDIwMUU0RjU0OEY1NDJGNTQ0RDJBRjgwMDY4NTQ4NDRFNEY1NDJFNTJFNjAyRDIwMTkwNzkwN0Y5QkUwMzBFMDBFRTUyRjYwMDVFNEY1MkZEMjBDRTRGNTNFODAxM0U1M0VEMzk1NTY1MDBDRTUzRUI1NTYwNTc1MDQKKzo0MDE0MDYwMDJGMDFEMjBDMDUzRUMyMTlFNTQxNjAwMjE1NDFFNTQ5NjA0RjY1NDU3MDQ1RTU0M0Y0NjAwMjA1NDNFNTQzQzM5NTZENDAzREMyQUYzMDAyMTg5MDdGQkNFMDIwRTEyNzkwN0ZCQkU1NDlGMEMyMDJFNEY1NDlGNTQzRjU0NTgwRTIKKzo0MDE0NDYwMDE2OTA3RkJBRTAyMEUxMEY5MDdGQkRFNTQ5RjBEMjAyRTRGNTQ5RjU0M0Y1NDVEMkFGODAwNjg1NDk0NUU0RjU0M0U1M0E2MDJEMjAxQTA3OTA3RjlBRTAzMEUyMEVFNTNCNjAwNUU0RjUzQkQyMEVFNEY1M0Y4MDEzRTUzRkQzNUUKKzo0MDE0ODYwMDk1NkU1MDBDRTUzRkI1NkUwNTc1M0IwMUQyMEUwNTNGQzIxQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTFDOTA3QjQyRTBGNTFEOTA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDIyRTQ5MDdGQzUKKzo0MDE0QzYwMDkzRjA5MDdGOUM3NDMwRjA5MDdGOTZFMDQ0MTBGMDkwN0Y5NDc0MERGMDkwN0Y5RDc0OUFGMDkwN0Y5N0UwNTRGREYwOTA3Rjk1NzQyM0YwOTA3RjlFNzQ4NEYwRTQ5MDdGQzdGMDkwN0ZDOUYwOTA3RkNGRjA3NTk4NDA0M0E4OUUKKzo0MDE1MDYwMDEwQzIxQkMyMDVDMjIxQzIwQkMyMTNGNTdDRjU0QUMyMTFDMjE1RjU0MkMyMTlGNTQ0RjU0OEMyMjNDMjFDRjUyREY1MkZDMjA3QzIwMEMyMUZGNTNFQzIwOUQyMENGNTI2OTA3RkNCRjA5MDdGQ0RGMDkwN0ZEMUYwNzVDMDQwNDMKKzo0MDE1NDYwMDQzQTg0MEMyMURDMjA2QzIyMkMyMERDMjE0RjU3REY1NEJDMjEyQzIxNkY1NDNDMjFBRjU0NUY1NDlDMjI0QzIxRUY1MzlGNTNCQzIwOEMyMDBDMjIwRjUzRkMyMEFEMjBFNzUzMjAxOTA3RkRGNzRGRkYwOTA3RkRFRjBEMjI4REUKKzo0MDE1ODYwMDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1NTMKKzo0MDE1QzYwMDgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBBM0UwMjI1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRTBBRTkyNTgyRjhFMkY1MTEKKzo0MDE2MDYwMEYwMDhFMjIyRTU4MzJBRjU4M0U5OTNGNUYwQTNFOTkzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGNzg3RkU0RjZEOEZENzU4MTdEMEUKKzo0MDE2NDYwMDAyMTY4NDAyMTZDOUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDE4MUEKKzo0MDE2ODYwMEM1RTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFMzkKKzo0MDE2QzYwMEU3ODBCRTc1MTEwMTkwN0Y5MkUwNTRGREYwOTA3RkFFRTBGRkQzOTIyNkU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0QzUKKzo0MDE3MDYwMDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMkJDRDJCRUQyMkQxMjE4N0ZDMjI3QzIyNUMyMjgzMDI4MDMxMjBBODM5MDdGRDhFMDY1MTA2MDA4RTBGNTEwMTIxMzdFODBFQTMwMjcwN0MyMjcxMjExN0I4MEUwMzAyQ0REQzIyQzEyQzUKKzo0MDE3NDYwMDAwMjY4MEQ2MjJFNEZFNzUxN0ZGNzUxODE5NzUxOTEyQUIxN0FBMThBOTE5OTAwMDAxMTIxNUEwNjQwMjcwMkRBRDA2MEVFREI1MDcwMTIyOTAwMDAyMTIxNURGODVGMDE1RjUxNjYyMTVFNTE1NjIxNkU1MTY2MjE1MjlGREU1NTEKKzo0MDE3ODYwMDE1M0FBOTA1NzUxN0ZGRjUxODg5MTk4MEMzN0IwMDdBMDA3OTAwMjI4RjE1RTRGNTE2NzUxN0ZGNzUxODE5NzUxOTg2QUIxN0FBMThBOTE5OTAwMDAxMTIxNUEwQjQwMzFEQUYxNjA1MTZFRkI1MTUwMTIyMTIxNTg3N0UwMDI5QkUKKzo0MDE3QzYwMEZGRUUzQUE5MDc3NTE3RkZGNTE4ODkxOTgwRDQ3QjAwN0EwMDc5MDAyMkU0OTA3RjkzRjA5MDdGOUNGMDkwN0Y5NEYwOTA3RjlENzQwMkYwOTA3Rjk3RjBFNDkwN0Y5NUYwOTA3RjlFNzRGRkYwRTQ5MDdGOThGMDkwN0Y5REYwMDMKKzo0MDE4MDYwMDIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIyNzUzOTFFRjkwMjQKKzo0MDE4NDYwMDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMkM1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0ZENkUwNTRGQkYwREQKKzo0MDE4ODYwMEUwNDQwOEYwMzAyRDA0RTA0NDAyRjA3RkY0N0UwMTEyMDAwNjkwN0ZENkUwNTRGN0YwRTA0NDA0RjAyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkMxMjUKKzo0MDE4QzYwMEFBMDExQTAwMDMxQjAzMDAwMEMxMjdDMTJDQzEyNkMxMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwMzEKKzo0MDE5MDYwMDAwNDBDRDA2MEYwMTAwMDAwMTAyMDAwMTA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNzgKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDEwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjMKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzo0MDFBMDYwMDcyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzo0MDFBNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzo0MDFBODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzo0MDFBQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxODMxMDAwMjFCNzgKKzowOTFCMDYwMDA0MDAwMjE4MDcwMDAyMTg1ODNGCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eC5IRVggYi9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eC5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYwZjdmYQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhMjh4LkhFWApAQCAtMCwwICsxLDE0MSBAQAorOjAzMDAzMzAwMDIxMkY3QkYKKzoxMDAwMDMwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwQkYKKzoxMDAwMTMwMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwMzEKKzowRjAwMjMwMDdGOTVGMDkwN0Y5RTc0MDdGMEU0OTA3Rjk4RjAyMjE1Cis6MTAwMDQ2MDAzMDA5MTgxMjEzMUJFRkMzOTUzQzQwMDMwMjAwRDg5MEU5Cis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzFCRUZDMzk0NDA1MDY0OTA3RUVFCis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENCQTA4Cis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMUJFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOUIwCis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0JBRDIwM0U0OTA3RjA5Cis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRDY4RkJECis6MTAwMEU2MDAxOTEyMTMyNzhGMzZFNTE5QzM5NTNBNTAwRjEyMTJFQkUyCis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzowMzAwMDAwMDAyMEUwMEVECis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjRCRTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEQ0Cis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENERkU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFDMjA1RTRGNTE4NzQ0MDI1MThGNTgyRTQzNDdDRjU4M0UwRkZFNTE4N0MwMDdCMDE3QUYxCis6NDAwMTg2MDA3RTc5MDAyNDAwRjlFQzM0N0VGQUVGMTIwRUQyMDUxOEU1MThCNDIwRDc5MDdFMDBFMDYwNjg5MDdFMDNFMDYwMjQ3RjAxRTRGRDEyMTFCMTdGMDM3RENEMTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwRTQ5MEUwCis6NDAwMUM2MDA3RTEzRjA4MDMwOTA3RTAxRTBGRjEyMTAzNTkwN0UwMkUwRkYxMjEwNUI3RjAxOTA3RTExRTBGRDEyMTFCMTdGMDM3RDA3MTIxMUIxNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3Rjk4NzQxMkYwRTU0MDQ0MDY5MDNFCis6NDAwMjA2MDBDMDAwRjA5MDdFMDNFMDcwMDY5MDdFMTNFMDcwMDhFNDkwN0UxM0YwNzUyNUZGOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTQ0OTA3Rjk4NzQxM0YwOTBDMDAwRTU0NEYwOTA3RTA3RTA2MDJCQTNFMDYwMDU0MzQyODA4MDAzNTM0MkRBCis6NDAwMjQ2MDA3RjUzNDJGQzkwN0UwOUUwNjAxMTQzNDIwMkEzRTBGRjEyMTBBNzkwN0UwQkUwRkYxMjEwQ0RBRjQyMTIxMDgxOTA3RTAzRTA2MDA4NTM0MjdGQUY0MjEyMTA4MTkwN0UwQ0UwNjAxOEEzRTA2MDA1NDM0NjAyODAwMzUzNDZGREI0Cis6NDAwMjg2MDA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMEVFMDYwMThBM0UwNjAwNTQzNDYwMTgwMDM1MzQ2RkU5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTJFMEY1M0FBM0UwMTM5MjBEQTNFMEY1M0NBM0UwNjAwNTQzNDYxMDhCCis6NDAwMkM2MDA4MDAzNTM0NkVGOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTE2RTA2MDMyNTM0NEJGOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMTJERkVGNTRGRTkwQzAwMEYwNTMzRUZERTRGRkFEM0UxMjBGCis6NDAwMzA2MDAxMUIxRTRGNTJBRjUyOUQyMDc5MDdFMTdFMDYwMEY0MzNFMDJFNEZGQUQzRTEyMTFCMTc1MjkwMUQyMDc5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTQwNDQwNDkwQzAwMEYwRDIwMDkwN0UxOUUwNjAxMTQzNDQ0MDkwN0Y5OEYyCis6NDAwMzQ2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMzRUZFRTRGRkFEM0UxMjExQjE3NTJCMDFEMjA3OTA3RTFCRTA2MDBGNDMzRTAxRTRGRkFEM0UxMjExQjFFNEY1MkJEMjA3OTA3RTFDRTA2MDBFOTA3Rjk4NzQxMjg0Cis6NDAwMzg2MDBGMEU1NDA0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjBCOTA3RTFFRTA2MDA4NzUyQzAxRTRGNTM4RDIwNzkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMDNFNDkwN0ZDRkYwMzAxQTUyRTUzODkyCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJEMjEzMTIxMkRGRUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTMzM0VGNTQ4MEY1MTk2NTI2NjAwNTg1MTkyNkQyMDczMDBEMTExMjdGCis6NDAwNDA2MDAxMzMzRUY1NDEwRjUxOTY1MjU2MDA1ODUxOTI1RDIwNzIwMUIwMzAyMDdFQzMwMEExODEyMTM2RkVGQzM5NTNENDAwMzAyMDRBRTkwN0ZDMTc0MDFGMEMyMEFDMjAwODA3NzMwMDQzQjkwN0ZDQUUwMjBFMTZEMTIxMzZGRUZDMzVBCis6NDAwNDQ2MDA5NDQwNTA2NDkwN0Q0MEUwMTM5MjBBOTA3RkNCRTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0Q3RjQxNzUwQzdENzUwRDQxMTIwRDA0QzIwNEU0OTA3RkNCRjA4MDM5OTA3RkNDRTAyMEUxMzIxMjEzNkZFRkMzOTQ0MDUwMjk5MEJDCis6NDAwNDg2MDA3Q0MwRTAxMzkyMEE5MDdGQ0RFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3QzdGQzE3NTBDN0M3NTBEQzExMjBEMDREMjA0RTQ5MDdGQ0RGMDkwN0ZCQUUwMzBFMTAzMDIwNTM2MTIxMjIwOEYxOTEyMTM3QjhGMzdFNTE5QzM5NTJCCis6NDAwNEM2MDAzQjUwMEYxMjEzNTdFRjMwRTAwOEU1MzcyMEU3MDMzMDBDNUVDMjBDRTUxOTYwNThCNDgwMDM0MzM3MDJFNTM3MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdEN0Y4MDc1MEM3RDc1MEQ4MEFGMzcxMjBGODRFNTAzCis6NDAwNTA2MDAxOTI1RTA5MDdGQkJGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwODkwN0Q4MEU1MzdGMDdFN0Q3RjgxNzUwQzdENzUwRDgxMTIwRDI5RTUxOTA0OTA3RkJCRjA5MDdGRDBFMDMwRTEwNjIwMDYwMzAyMDc5N0MyMDZFNEY4Cis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRDIwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMUZCN0YwMzI5Cis6NDAwNTg2MDA3RENEMTIxMUZCNDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTE5OTA3RTIyRTBGRjEyMTEzRjdGMDE5MDdFMzFFMEZEMTIxMUZCN0YwMzdEMDcxMjExRkI0MzQ3ODA5MDQ4Cis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTY1OTA3RTJCRTBGRjEyMTE4QkFGNDMxMjEwRjM5MDdFMjNFMDYwMDg1MzQzN0ZBRkZFCis6NDAwNjQ2MDA0MzEyMTBGMzkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEQ0Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM0QkVGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjExRkJFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMUZCNzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMDQzCis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTFGQjc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNEU5Cis6NDAwNzQ2MDBGRkFEM0YxMjExRkJFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzg5Cis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRFNDkwN0ZEMUYwMzAxQTUyRTUzOTYwMDIxNTM5MzAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkMyMTMxMjEzNEJFRjU0MDFGNTE5NjUzMzYwMDU4NTE5MzNEMjc5Cis6NDAwN0M2MDAwODEyMTM4N0VGNTQ4MEY1MTk2NTJGNjAwNTg1MTkyRkQyMDgzMDBFMTExMjEzODdFRjU0MTBGNTE5NjUyRTYwMDU4NTE5MkVEMjA4MzAxQTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MTU5MDdCNDJFMEY1MTY5MDM1Cis6NDAwODA2MDA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwOTIwRTUwQTcwNDAzMDA3MzlFNTM4NzAzNUMyMDdGNTE4N0UwMDdCMDA3NDI0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUJECis6NDAwODQ2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzODEwRTRGNTJDNzUwQTAxMjJFNTBBNjQwMTcwNDAzMDA4MzlFNTM5NzAzNUMyMDhGNTE4N0UwMDdCMDA3NDJEMjUxOEY5RUUzNDAwRkExMjk3Cis6NDAwODg2MDAwRThDRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzOTEwRTRGNTM1NzUwQTAyMjJFNTBBNjQwMjcwMzYzMDE0MkZDMjE0RjUxODdFMDA3QjAwNzQwRTI1MThGOUVFMzQwMDgzCis6NDAwOEM2MDBGQTEyMEU4Q0ZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDVEQjkwN0ZDMzc0MDVGMDc1MEEwMzIyRTUxNTYwMzAxNTE1RTRGNTE4N0UwMDdCMDA3NDE0MjUxOEY5RUUzNDAwRkExMjBFOENGRjc0ODAyNUYyCis6NDAwOTA2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTBBMjI5MDdGRTlFMDEyMEVFNDBBMDgwMDBBN0MwMTBBRTgwMzA5NDQwNjA5RkIwODA5RjUwOTA5REQwQTA5RUMwQjAwMDAwQjM3OTA3RjNECis6NDAwOTQ2MDBFQkUwMjRGRTYwMTkxNDYwNjEyNDAyNjAwMzAyMDlEMzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyN0I3NTgzMTlGMDc1ODI3NDc1ODMxOUIyCis6NDAwOTg2MDBGMDc1ODI2Njc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMEZGMTIwRjBBRUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDg1Cis6NDAwOUM2MDAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RjAwRTUwOUYwOTA3RkI1NzQwMUYwMDIwQjNFOTA3RkVBRTBGNTA5MDIwQjNFMTIwQjQ2MDIwQjNFOTA3RjAwNzQwMUYwOTA3RkI1RjAwMjA1Cis6NDAwQTA2MDAwQjNFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxMEU0MzNGRjI1RTBGRkEyMTZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RjA0Cis6NDAwQTQ2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRThFMDI0RkU2MDFEMjQwMjBGCis6NDAwQTg2MDA2MDAzMDIwQjNFOTA3RkVBRTBCNDAxMDVDMjEwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkI2Cis6NDAwQUM2MDBFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMDgwM0Y5MDdGQjRFMDQ0MDFGMDQ5Cis6NDAwQjA2MDA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkQ0Cis6NDAwQjQ2MDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTI0NzUxODAxN0IwMDc0MjQyNTE4RjlFNDM0MDBGQThCCis6NDAwQjg2MDBFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQTAxRTRGNTM4RjUxM0Y1MzZDMjA3QzIwQkMyMDVDMjAwQzIwOUMyMTM5MDdGOTg3NDEzRjA3NTQ0MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFCMTdGMTA4RjQyMTIxMDgxOTA3RjAyCis6NDAwQkM2MDA5ODc0MTJGMDdGMDE4RjQwRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDE0RjA3NTQ2ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjExQjFFNEZGN0VBM0FEMDY4RDNFMTIxMUIxOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMThFCis6NDAwQzA2MDBCMTdGMDExMjEyNkE3RjAzN0QwNzEyMTFCMTIwMUIwMzAyMENCNzc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVEMjA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5RjUxM0Y1MzdDMjA4QzIwQ0MyMDZDMkNECis6NDAwQzQ2MDAwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExRkI3RjEwOEY0MzEyMTBGMzkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDBDRjA3NTQ3ODA5MEMwMDA3NDRFCis6NDAwQzg2MDA4MEYwMEZFNEZEMTIxMUZCRTRGRjdFQTNBRDA2OEQzRjEyMTFGQjkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTFGQjdGMDExMjEyOEI3RjAzN0QwNzEyMTFGQkQyMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkE1Cis6NDAwQ0M2MDBFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3RjIwCis6NDAwRDA2MDA5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTVDCis6NDAwRDQ2MDA4NkRGRjcwNTg2RDJBRjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENkUwNDQ4MEYwNDM4NzAxMDAwMDAwMDAwMDIyRDIxOTkwN0Y5MkUwNDQwMkYwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMDg5Cis6NDAwRDg2MDBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA5MDdGQUI3NEZGRjA5MDdGQTlGMDkwN0ZBQUYwNTM5MUVGOTA3RkFGRTA0NDAxRjA5MDdGQUVFMDQ0MERGMEQyQUZEMjFBMTIxMjQ1QzIxMUU0RjUwQkY1MTNDMjE3QzIxMkQ0Cis6NDAwREM2MDA5MDdGQTEwNEYwOTA3RkQ4RTA2NTE3NjAxMDMwMTIwNUQyMUExMjAwNDY5MDdGRDhFMEY1MTc4MDA4MzAxMjA1QzIxQTEyMDA0NjMwMTEwN0MyMTExMjA5MjE4MEQ2MzAxOEQzQzIxODEyMTM5MzgwQ0MyMjc4N0ZFNEY2RDhGREM3Cis6NDAwRTA2MDA3NTgxNDcwMjBFNDcwMjBENkZFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MEY1Cis6NDAwRTQ2MDA4MDkwMTJBQ0U0N0UwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5M0EzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzRkFFNDkzQTNGOEU0OTNBM0M4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQTFFCis6NDAwRTg2MDBERkU5REVFNzgwQkVCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNUI4Cis6NDAwRUM2MDA4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4MkY4RTQ5MzcwMTI3NDAxOTM3MDBEQTNBMzkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0MxCis6NDAwRjA2MDBBM0EzODBERjhGMThFNEY1MTk3NTFBRkY3NTFCMTk3NTFDODZBQjFBQUExQkE5MUM5MDAwMDExMjBFQTVCNDAzMURBRjE5MDUxOUVGQjUxODAxMjIxMjBFOEM3RTAwMjlGRkVFM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMEE1Cis6NDAwRjQ2MDA3QTAwNzkwMDIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMDAzNjA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzMjc4RjFBRUY0MjM2ODBDQTIyOEYxQUZDCis6NDAwRjg2MDAwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjEzM0YwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDBBMTIxMzdCOEYxQUVGNDIzNzgwQ0EyMkMwRTBDMDgzQzA4MkMwODVDMDg4Cis6NDAwRkM2MDA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjExNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMEM2Cis6NDAxMDA2MDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMDhBCis6NDAxMDQ2MDBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDExRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxMzQ5Cis6NDAxMDg2MDBGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTJGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE0RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NEQ5Cis6NDAxMEM2MDA1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTZGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBBRjA5MDJBCis6NDAxMTA2MDBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDhGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEFGCis6NDAxMTQ2MDBDMDAwNzRCRkYwOTA3Rjk4NzQwOUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MENGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RkVDCis6NDAxMTg2MDA5MEMwMDBGMDIyOTA3Rjk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwRUYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDE3RjA5MDc1Cis6NDAxMUM2MDBDMDAwRUZGMDkwN0Y5ODc0MTVGMDkwQzAwMEVERjAyMjEyMTMwRjhGMUExMjEzMEY4RjFCRTUxQTY1MUI2MDEyMTIxMzBGOEYxQUU1MUE2NTFCNjAwNzEyMTMwRjhGMUI4MEU4QUYxQTIyOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MDk4Cis6NDAxMjA2MDBDMDAwRjA5MDdGOTg3NDBGRjA5MEMwMDBFRkYwOTA3Rjk4NzQwREYwOTBDMDAwRURGMDIyMTIxMzYzOEYxQTEyMTM2MzhGMUJFNTFBNjUxQjYwMTIxMjEzNjM4RjFBRTUxQTY1MUI2MDA3MTIxMzYzOEYxQjgwRThBRjFBMjI5MEM4Cis6NDAxMjQ2MDA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDMwMUEwNEUwNDQwMkYwN0ZGNDdFMDExMjEyQzg5MDdGRDZFMDU0RjdGMEUwNDQwNEYwMjJBRTA3RTRGRkU1M0U1NDdGRkQxMjExQjE5MDdGOTg3NDExRjA5MEMwMDBFRUYwRTRFNTNFNDQ4MEU4Cis6NDAxMjg2MDBGRDEyMTFCMTIyQUUwN0U0RkZFNTNGNTQ3RkZEMTIxMUZCOTA3Rjk4NzQwOUYwOTBDMDAwRUVGMEU0RTUzRjQ0ODBGRDEyMTFGQjIyMDUwRTAyMDAwMDAwMDAwMzE0MDMwMDAwQzExMUMxMThDMTk1QzExMEMxMTYwMTBBMDBDMTlDCis6NDAxMkM2MDA5QjAwOEUxODhGMTlFNTE5MTUxOUFFMTg3MDAyMTUxODRFNjAwNTEyMEQ0RTgwRUUyMjkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAwMDAwMDAwMDAyMEZFNzAwMDIxMzhBCis6NDAxMzA2MDAwNDAwMDIwRkJEMDAwMjEwMEU5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA4RjA5MDUwCis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQ0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwREYwOTBDMDAwRTBGRkM1Cis6NDAxMzg2MDAyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMDAwMzEyMEQ1RjEyMEI0NjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjEwMDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDc2Cis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAwMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUY0Cis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eGEuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhhLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTQ5MzJlCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhhLkhFWApAQCAtMCwwICsxLDE0MSBAQAorOjAzMDAzMzAwMDIxMkY5QkQKKzoxMDAwMDMwMEU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwQkYKKzoxMDAwMTMwMDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDkwMzEKKzowRjAwMjMwMDdGOTVGMDkwN0Y5RTc0MDdGMEU0OTA3Rjk4RjAyMjE1Cis6MTAwMDQ2MDAzMDA5MTgxMjEzMjdFRkMzOTUzQzQwMDMwMjAwRDg5MERECis6MTAwMDU2MDA3RkJGNzQwMUYwQzIwOUMyMDA4MDc3MzAwMzNCOTA3RkY2Cis6MTAwMDY2MDBDNkUwMjBFMTZEMTIxMzI3RUZDMzk0NDA1MDY0OTA3RUUyCis6MTAwMDc2MDA0MEUwMTM5MjA5OTA3RkM3RTAxNEY1MTkyMDAwMTE2MDQzCis6MTAwMDg2MDAwRkY1MDg3RTdFN0Y0MTc1MEM3RTc1MEQ0MTEyMENDOEZBCis6MTAwMDk2MDBDMjAzRTQ5MDdGQzdGMDgwMzk5MDdGQzhFMDIwRTEzMjQ4Cis6MTAwMEE2MDAxMjEzMjdFRkMzOTQ0MDUwMjk5MDdEQzBFMDEzOTIwOUE0Cis6MTAwMEI2MDA5MDdGQzlFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3REM4Cis6MTAwMEM2MDA3RkMxNzUwQzdENzUwREMxMTIwQ0M4RDIwM0U0OTA3RkZCCis6MTAwMEQ2MDBDOUYwOTA3RkI2RTAzMEUxMDMwMjAxNjAxMjExRTQ4RkFGCis6MTAwMEU2MDAxOTEyMTMzMzhGMzZFNTE5QzM5NTNBNTAwRjEyMTMwRkIxCis6MTAwMEY2MDBFRjMwRTAwOEU1MzYyMEU3MDMzMDBCNUVDMjBCRTUxOTZBCis6MEMwMDM2MDA5MDdGOTg3NDEwRjA5MEMwMDBFMEZGMjI1MgorOjAzMDA0MzAwMDIxMzAwQTUKKzowMzAwMDAwMDAyMEUwRURGCis6NDAwMTA2MDA2MDU4QjQ4MDAzNDMzNjAyRTUzNjMwRTcyNkU1MTlEMzk0MjA0MDAzNzUxOTIwODUxOTA4N0U3RTdGODA3NTBDN0U3NTBEODBBRjM2MTIwRjU5RTUxOTI1RTA5MDdGQjdGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwOEM2Cis6NDAwMTQ2MDA5MDdFODBFNTM2RjA3RTdFN0Y4MTc1MEM3RTc1MEQ4MTEyMENFREU1MTkwNDkwN0ZCN0YwOTA3RkNFRTAzMEUxMDYyMDA1MDMwMjAzQzFDMjA1RTRGNTE4NzQ0MDI1MThGNTgyRTQzNDdDRjU4M0UwRkZFNTE4N0MwMDdCMDE3QUUzCis6NDAwMTg2MDA3RTc5MDAyNDAwRjlFQzM0N0VGQUVGMTIwRUUwMDUxOEU1MThCNDIwRDc5MDdFMDBFMDYwNjg5MDdFMDNFMDYwMjQ3RjAxRTRGRDEyMTFCRjdGMDM3RENEMTIxMUJGNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwRTQ5MEI2Cis6NDAwMUM2MDA3RTEzRjA4MDMwOTA3RTAxRTBGRjEyMTA0MzkwN0UwMkUwRkYxMjEwNjk3RjAxOTA3RTExRTBGRDEyMTFCRjdGMDM3RDA3MTIxMUJGNDM0NjgwOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3Rjk4NzQxMkYwRTU0MDQ0MDY5MDA2Cis6NDAwMjA2MDBDMDAwRjA5MDdFMDNFMDcwMDY5MDdFMTNFMDcwMDhFNDkwN0UxM0YwNzUyNUZGOTA3RTA1RTA2MDEyQTNFMDU0M0ZGNTQ0OTA3Rjk4NzQxM0YwOTBDMDAwRTU0NEYwOTA3RTA3RTA2MDJCQTNFMDYwMDU0MzQyODA4MDAzNTM0MkRBCis6NDAwMjQ2MDA3RjUzNDJGQzkwN0UwOUUwNjAxMTQzNDIwMkEzRTBGRjEyMTBCNTkwN0UwQkUwRkYxMjEwREJBRjQyMTIxMDhGOTA3RTAzRTA2MDA4NTM0MjdGQUY0MjEyMTA4RjkwN0UwQ0UwNjAxOEEzRTA2MDA1NDM0NjAyODAwMzUzNDZGRDdDCis6NDAwMjg2MDA5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMEVFMDYwMThBM0UwNjAwNTQzNDYwMTgwMDM1MzQ2RkU5MDdGOTg3NDE0RjA5MEMwMDBFNTQ2RjA5MDdFMTJFMEY1M0FBM0UwMTM5MjBEQTNFMEY1M0NBM0UwNjAwNTQzNDYxMDhCCis6NDAwMkM2MDA4MDAzNTM0NkVGOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTE2RTA2MDMyNTM0NEJGOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTFGMDEyMTJFREVGNTRGRTkwQzAwMEYwNTMzRUZERTRGRkFEM0UxMjAxCis6NDAwMzA2MDAxMUJGRTRGNTJBRjUyOUQyMDc5MDdFMTdFMDYwMEY0MzNFMDJFNEZGQUQzRTEyMTFCRjc1MjkwMUQyMDc5MDdFMThFMDYwMTA5MDdGOTg3NDEyRjBFNTQwNDQwNDkwQzAwMEYwRDIwMDkwN0UxOUUwNjAxMTQzNDQ0MDkwN0Y5OEQ2Cis6NDAwMzQ2MDA3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwOTA3RTFBRTA2MDBGNTMzRUZFRTRGRkFEM0UxMjExQkY3NTJCMDFEMjA3OTA3RTFCRTA2MDBGNDMzRTAxRTRGRkFEM0UxMjExQkZFNEY1MkJEMjA3OTA3RTFDRTA2MDBFOTA3Rjk4NzQxMjY4Cis6NDAwMzg2MDBGMEU1NDA0NDAyOTBDMDAwRjA5MDdFMURFMDYwMDJEMjBCOTA3RTFFRTA2MDA4NzUyQzAxRTRGNTM4RDIwNzkwN0UxRkUwNjAxMTkwN0ZENzc0MTFGMDc0MzFGMDc0MTVGMDc0MzVGMEQyMDNFNDkwN0ZDRkYwMzAxQTUyRTUzODkyCis6NDAwM0M2MDA2MDAyMTUzODIwMTM0OUU1MTNEMzk0MDA0MDA0MTUxMzgwM0U3NTEzMEEzMDFCMDJEMjEzMTIxMkVERUY1NDAxRjUxOTY1MkE2MDA1ODUxOTJBRDIwNzEyMTMzRkVGNTQ4MEY1MTk2NTI2NjAwNTg1MTkyNkQyMDczMDBEMTExMjY1Cis6NDAwNDA2MDAxMzNGRUY1NDEwRjUxOTY1MjU2MDA1ODUxOTI1RDIwNzIwMUIwMzAyMDdFQzMwMEExODEyMTM3QkVGQzM5NTNENDAwMzAyMDRBRTkwN0ZDMTc0MDFGMEMyMEFDMjAwODA3NzMwMDQzQjkwN0ZDQUUwMjBFMTZEMTIxMzdCRUZDMzM2Cis6NDAwNDQ2MDA5NDQwNTA2NDkwN0Q0MEUwMTM5MjBBOTA3RkNCRTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0Q3RjQxNzUwQzdENzUwRDQxMTIwRDEyQzIwNEU0OTA3RkNCRjA4MDM5OTA3RkNDRTAyMEUxMzIxMjEzN0JFRkMzOTQ0MDUwMjk5MEEyCis6NDAwNDg2MDA3Q0MwRTAxMzkyMEE5MDdGQ0RFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3QzdGQzE3NTBDN0M3NTBEQzExMjBEMTJEMjA0RTQ5MDdGQ0RGMDkwN0ZCQUUwMzBFMTAzMDIwNTM2MTIxMjJFOEYxOTEyMTM4NzhGMzdFNTE5QzM5NTAzCis6NDAwNEM2MDAzQjUwMEYxMjEzNjNFRjMwRTAwOEU1MzcyMEU3MDMzMDBDNUVDMjBDRTUxOTYwNThCNDgwMDM0MzM3MDJFNTM3MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdEN0Y4MDc1MEM3RDc1MEQ4MEFGMzcxMjBGOTJFNUU5Cis6NDAwNTA2MDAxOTI1RTA5MDdGQkJGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwODkwN0Q4MEU1MzdGMDdFN0Q3RjgxNzUwQzdENzUwRDgxMTIwRDM3RTUxOTA0OTA3RkJCRjA5MDdGRDBFMDMwRTEwNjIwMDYwMzAyMDc5N0MyMDZFNEVBCis6NDAwNTQ2MDBGNTE4NzRDMDI1MThGNTgyRTQzNDdCRjU4M0UwRkZFNTE4N0MwMDdCMDE3QTdFNzkyMDI0MjBGOUVDMzQ3RUZBRUYxMjBFRTAwNTE4RTUxOEI0MjBENzkwN0UyMEUwNjA2ODkwN0UyM0UwNjAyNDdGMDFFNEZEMTIxMjA5N0YwMzBDCis6NDAwNTg2MDA3RENEMTIxMjA5NDM0NzgwOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwRTQ5MDdFMzNGMDgwMzA5MDdFMjFFMEZGMTIxMTI3OTA3RTIyRTBGRjEyMTE0RDdGMDE5MDdFMzFFMEZEMTIxMjA5N0YwMzdEMDcxMjEyMDk0MzQ3ODA5MEZGCis6NDAwNUM2MDA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3Rjk4NzQwQUYwRTU0MTQ0MDY5MEMwMDBGMDkwN0UyM0UwNzAwNjkwN0UzM0UwNzAwOEU0OTA3RTMzRjA3NTJFRkY5MDdFMjVFMDYwMTJBM0UwNTQzRkY1NDU5MDdGOTg3NDBCRjA5MEVCCis6NDAwNjA2MDBDMDAwRTU0NUYwOTA3RTI3RTA2MDJCQTNFMDYwMDU0MzQzODA4MDAzNTM0MzdGNTM0M0ZDOTA3RTI5RTA2MDExNDM0MzAyQTNFMEZGMTIxMTczOTA3RTJCRTBGRjEyMTE5OUFGNDMxMjExMDE5MDdFMjNFMDYwMDg1MzQzN0ZBRkQzCis6NDAwNjQ2MDA0MzEyMTEwMTkwN0UyQ0UwNjAxOEEzRTA2MDA1NDM0NzAyODAwMzUzNDdGRDkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UyRUUwNjAxOEEzRTA2MDA1NDM0NzAxODAwMzUzNDdGRTkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMEM1Cis6NDAwNjg2MDA5MDdFMzJFMEY1M0JBM0UwMTM5MjBFQTNFMEY1M0RBM0UwNjAwNTQzNDcxMDgwMDM1MzQ3RUY5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdFMzZFMDYwMzI1MzQ1QkY5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjc5Cis6NDAwNkM2MDA5ODc0MDlGMDEyMTM1N0VGNTRGRTkwQzAwMEYwNTMzRkZERTRGRkFEM0YxMjEyMDlFNEY1MzNGNTMyRDIwODkwN0UzN0UwNjAwRjQzM0YwMkU0RkZBRDNGMTIxMjA5NzUzMjAxRDIwODkwN0UzOEUwNjAxMDkwN0Y5ODc0MEFGMDE5Cis6NDAwNzA2MDBFNTQxNDQwNDkwQzAwMEYwRDIwMDkwN0UzOUUwNjAxMTQzNDU0MDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdFM0FFMDYwMEY1MzNGRkVFNEZGQUQzRjEyMTIwOTc1MzQwMUQyMDg5MDdFM0JFMDYwMEY0MzNGMDFFNERBCis6NDAwNzQ2MDBGRkFEM0YxMjEyMDlFNEY1MzREMjA4OTA3RTNDRTA2MDBFOTA3Rjk4NzQwQUYwRTU0MTQ0MDI5MEMwMDBGMDkwN0UzREUwNjAwMkQyMEM5MDdFM0VFMDYwMDg3NTM1MDFFNEY1MzlEMjA4OTA3RTNGRTA2MDExOTA3RkQ3NzQxMzdBCis6NDAwNzg2MDBGMDc0MzNGMDc0MTZGMDc0MzZGMEQyMDRFNDkwN0ZEMUYwMzAxQTUyRTUzOTYwMDIxNTM5MzAxMzQ5RTUxM0QzOTQwMDQwMDQxNTEzODAzRTc1MTMwQTMwMUIwMkMyMTMxMjEzNTdFRjU0MDFGNTE5NjUzMzYwMDU4NTE5MzNEMjZECis6NDAwN0M2MDAwODEyMTM5M0VGNTQ4MEY1MTk2NTJGNjAwNTg1MTkyRkQyMDgzMDBFMTExMjEzOTNFRjU0MTBGNTE5NjUyRTYwMDU4NTE5MkVEMjA4MzAxQTJBOTA3RkQyRTAyMEUxMjM5MDdCNDBFMDYwMDlFMEY1MTU5MDdCNDJFMEY1MTY5MDFECis6NDAwODA2MDA3QjQxRTA2MDA5OTA3RkQ3NzQxN0YwNzQzN0YwRTQ5MDdGRDNGMDkwN0ZDMkUwMzBFMTAzMDIwOTIwRTUwQTcwNDAzMDA3MzlFNTM4NzAzNUMyMDdGNTE4N0UwMDdCMDA3NDI0MjUxOEY5RUUzNDAwRkExMjBFOUFGRjc0ODAyNUFGCis6NDAwODQ2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzODEwRTRGNTJDNzUwQTAxMjJFNTBBNjQwMTcwNDAzMDA4MzlFNTM5NzAzNUMyMDhGNTE4N0UwMDdCMDA3NDJEMjUxOEY5RUUzNDAwRkExMjk3Cis6NDAwODg2MDAwRTlBRkY3NDgwMjUxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwOURCOTA3RkMzNzQwOUYwNzUzOTEwRTRGNTM1NzUwQTAyMjJFNTBBNjQwMjcwMzYzMDE0MkZDMjE0RjUxODdFMDA3QjAwNzQwRTI1MThGOUVFMzQwMDc1Cis6NDAwOEM2MDBGQTEyMEU5QUZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDVEQjkwN0ZDMzc0MDVGMDc1MEEwMzIyRTUxNTYwMzAxNTE1RTRGNTE4N0UwMDdCMDA3NDE0MjUxOEY5RUUzNDAwRkExMjBFOUFGRjc0ODAyNUQ2Cis6NDAwOTA2MDAxOEY1ODJFNDM0N0JGNTgzRUZGMDA1MThFNTE4QjQwM0RCOTA3RkMzNzQwM0YwRTRGNTBBMjI5MDdGRTlFMDEyMEVGMjBBMDgwMDBBN0MwMTBBRTgwMzA5NDQwNjA5RkIwODA5RjUwOTA5REQwQTA5RUMwQjAwMDAwQjM3OTA3RjJGCis6NDAwOTQ2MDBFQkUwMjRGRTYwMTkxNDYwNjEyNDAyNjAwMzAyMDlEMzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMEIzRTkwN0ZFQUUwNzAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyN0I3NTgzMTlGMDc1ODI3NDc1ODMxOUIyCis6NDAwOTg2MDBGMDc1ODI2Njc1ODMxOUYwNzU4MjU4NzU4MzE5RjA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA3NDE5OTA3RkQ0RjA3NDEyOTA3RkQ1RjAwMjBCM0U5MDdGRUFFMEZGMTIwRjE4RUE0OTYwMERFQTkwN0ZENEYwRTk5MDdGRDVGMDc3Cis6NDAwOUM2MDAwMjBCM0U5MDdGQjRFMDQ0MDFGMDAyMEIzRTkwN0ZCNEUwNDQwMUYwMDIwQjNFOTA3RjAwRTUwOUYwOTA3RkI1NzQwMUYwMDIwQjNFOTA3RkVBRTBGNTA5MDIwQjNFMTIwQjQ2MDIwQjNFOTA3RjAwNzQwMUYwOTA3RkI1RjAwMjA1Cis6NDAwQTA2MDAwQjNFOTA3RkU4RTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIxMEU0MzNGRjI1RTBGRkEyMTZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEIzRUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RjA0Cis6NDAwQTQ2MDBFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRThFMDI0RkU2MDFEMjQwMjBGCis6NDAwQTg2MDA2MDAzMDIwQjNFOTA3RkVBRTBCNDAxMDVDMjEwMDIwQjNFOTA3RkI0RTA0NDAxRjAwMjBCM0U5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkI2Cis6NDAwQUM2MDBFQ0UwNTQ4MEZGMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIxMDgwM0Y5MDdGQjRFMDQ0MDFGMDQ5Cis6NDAwQjA2MDA4MDM2OTA3RkVBRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkQ0Cis6NDAwQjQ2MDBFNDkwN0Y5M0YwOTA3RjlDNzQzMEYwRTQ5MDdGOTZGMDkwN0Y5NTc0QzBGMDkwN0Y5RTc0M0ZGMDkwN0Y5ODc0MThGMEU0RjU4RTkwN0ZERjc0RkZGMDkwN0ZERUYwRTRGNTI0NzUxODAxN0IwMDc0MjQyNTE4RjlFNDM0MDBGQThCCis6NDAwQjg2MDBFNDEyMEVFMDA1MThFNTE4QjQwOUVBNzUzQTAxRTRGNTM4RjUxM0Y1MzZDMjA3QzIwQkMyMDVDMjAwQzIwOUMyMTM5MDdGOTg3NDEzRjA3NTQ0MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTFCRjdGMTA4RjQyMTIxMDhGOTA3RkQ4Cis6NDAwQkM2MDA5ODc0MTJGMDdGMDE4RjQwRUY0NDA2OTBDMDAwRjA5MDdGOTg3NDE0RjA3NTQ2ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjExQkZFNEZGN0VBM0FEMDY4RDNFMTIxMUJGOTA3Rjk4NzQxMUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMTcyCis6NDAwQzA2MDBCRjdGMDExMjEyNzg3RjAzN0QwNzEyMTFCRjdGMTM3RDAxMTIxMUJGMjAxQjAzMDIwQ0M1NzUyRDAxNzUxODAxN0IwMDc0MkQyNTE4RjlFNDM0MDBGQUU0MTIwRUUwMDUxOEU1MThCNDA5RUE3NTNCMDFFNEY1MzlGNTEzRjUzN0I3Cis6NDAwQzQ2MDBDMjA4QzIwQ0MyMDZDMjAwQzIwQUMyMTM5MDdGOTg3NDBCRjA3NTQ1MDM5MEMwMDA3NDAzRjA3RjBDRTRGRDEyMTIwOTdGMTA4RjQzMTIxMTAxOTA3Rjk4NzQwQUYwN0YwMThGNDFFRjQ0MDY5MEMwMDBGMDkwN0Y5ODc0MENGMDBFCis6NDAwQzg2MDA3NTQ3ODA5MEMwMDA3NDgwRjAwRkU0RkQxMjEyMDlFNEZGN0VBM0FEMDY4RDNGMTIxMjA5OTA3Rjk4NzQwOUYwOTBDMDAwRTRGMDdGMDU3RDdGMTIxMjA5N0YwMTEyMTI5OTdGMDM3RDA3MTIxMjA5N0YxMzdEMDExMjEyMDlEMjhECis6NDAwQ0M2MDAxMjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDEwRjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwRTAwNTY4Cis6NDAwRDA2MDA4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1ODJFNTBDRjU4M0MyQUYwNTg2OTBDMDAwMDU4NkUwQTMwNTg2RjAwNTg2REZGN0QyQUYyMjkwN0Y5ODc0MDhGMEFGMDhFNTBERjU4MkU1MENGNTc3Cis6NDAwRDQ2MDA4M0MyQUYwNTg2OTBDMDAwRTAwNTg2RjBBMzA1ODZERkY3MDU4NkQyQUYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMkQyMTk5MDdGOTJFMDQ0MDJGMDBBCis6NDAwRDg2MDA5MDdGQUVFMEZGRDM5MjEwRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDBERjBEMkFGRDIxQTU2Cis6NDAwREM2MDAxMjEyNTNDMjExRTRGNTBCRjUxM0MyMTdDMjEyOTA3RkExMDRGMDkwN0ZEOEUwNjUxNzYwMTAzMDEyMDVEMjFBMTIwMDQ2OTA3RkQ4RTBGNTE3ODAwODMwMTIwNUMyMUExMjAwNDYzMDExMDdDMjExMTIwOTIxODBENjMwMThEMzhBCis6NDAwRTA2MDBDMjE4MTIxMzlGODBDQzIyNzg3RkU0RjZEOEZENzU4MTQ3MDIwRTU1MDIwRDdERTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDMxCis6NDAwRTQ2MDAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDEyQkFFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDODI4Cis6NDAwRTg2MDBDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTQ4Cis6NDAwRUM2MDA4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMURFCis6NDAwRjA2MDA5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY4RjE4RTRGNTE5NzUxQUZGNzUxQjE5NzUxQzg2QUIxQUFBMUJBOTFDOTAwMDAxMTIwRUIzQjQwMzFEQUYxOTA1MTlFRkI1MTgwMTIyMTIwRTlBN0UwMDI5RkZFRUI2Cis6NDAwRjQ2MDAzQUE5MDc3NTFBRkZGNTFCODkxQzgwRDQ3QjAwN0EwMDc5MDAyMjhGMUEwNTBERTUwREFFMEM3MDAyMDUwQzE0RjU4MjhFODNFNTFBRjAxMjAwMzYwNTBERTUwREFDMEM3MDAyMDUwQzE0RjU4MjhDODNFRkYwMTUwOEU1MDg2MDdCCis6NDAwRjg2MDAwQTEyMTMzMzhGMUFFRjQyMzY4MENBMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIxMzRCMDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1MDhFNTA4NjAwQTEyMTM4NzhGMUFFRkY4Cis6NDAwRkM2MDA0MjM3ODBDQTIyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA3RkM0RTRGMDUzOTFFRjkwN0ZBQjc0MDRGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIxMTIzCis6NDAxMDA2MDA1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4RjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMjkwN0Y5ODMzCis6NDAxMDQ2MDA3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxMUYwOTBDMDAwRUZGMDkwN0Y5ODc0MTNGMEMwCis6NDAxMDg2MDBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwOTA3Rjk4NzQxNEIzCis6NDAxMEM2MDBGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQwQkNDCis6NDAxMTA2MDBGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEFGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDA4RjA5MEMwMDBFRkYwOTA3Rjk4NzQwQkYwRTU0NTgyCis6NDAxMTQ2MDA1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDlGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDBDRjA5MEMzCis6NDAxMTg2MDBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEVGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjBFNUNDCis6NDAxMUM2MDA0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTdGMDkwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjEzMUI4RjFBMTIxMzFCOEYxQkU1MUE2NTFCNjAxMjEyMTMxQjhGMUFFNTFBNjUxQjYwMDcxMjEzMUI4RjFCODBFOEVECis6NDAxMjA2MDBBRjFBMjI5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjk4NzQwRkYwOTBDMDAwRUZGMDkwN0Y5ODc0MERGMDkwQzAwMEVERjAyMjEyMTM2RjhGMUExMjEzNkY4RjFCRTUxQTY1MUI2MDEyMTIxMzZGOEYxQUU1MUE2NUFECis6NDAxMjQ2MDAxQjYwMDcxMjEzNkY4RjFCODBFOEFGMUEyMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxMkQ2OTA3RkQ2RTA1NEY3RjBFMDQ0MDRGMDIyQUUwN0U0RkZFNTNFNTQ3RkZEMTIxMUJGOTA3RjJGCis6NDAxMjg2MDA5ODc0MTFGMDkwQzAwMEVFRjBFNEU1M0U0NDgwRkQxMjExQkYyMkFFMDdFNEZGRTUzRjU0N0ZGRDEyMTIwOTkwN0Y5ODc0MDlGMDkwQzAwMEVFRjBFNEU1M0Y0NDgwRkQxMjEyMDkyMjA1MEUwMjAwMDAwMDAwMDMxNDAzMDAwMERGCis6NDAxMkM2MDBDMTExQzExOEMxOTVDMTEwQzExNjAxMEEwMEMxOUIwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDUxMjBENUM4MEVFMjI5MDdGOTg3NDExRjA5MEMwMDBFMEZGMjI1M0Q4RUYzMjAwMDAwMDAyMEZGNTAwMDIxMzY3Cis6NDAxMzA2MDAwNDAwMDIwRkNCMDAwMjEwMUM5MDdGOTg3NDEyRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDEzRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE0RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE1RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MDJBCis6NDAxMzQ2MDBDMDAwRTBGRjIyOTA3Rjk4NzQwOEYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwOUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQUYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQkYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwQ0YwOTBDMDAwRTBGRkNBCis6NDAxMzg2MDAyMjkwN0Y5ODc0MERGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MEVGMDkwQzAwMEUwRkYyMjEyMDAwMzEyMEQ2RDEyMEI0NjIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6NDAxM0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6NDAxNDA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6NDAxNDQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6NDAxNDg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6NDAxNEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6NDAxNTA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6NDAxNTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6NDAxNTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6NDAxNUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6NDAxNjA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6NDAxNjQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6NDAxNjg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6NDAxNkM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6NDAxNzA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6NDAxNzQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6NDAxNzg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6NDAxN0M2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6NDAxODA2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6NDAxODQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6NDAxODg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6NDAxOEM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMDExMDAxRkYwMEJGCis6NDAxOTA2MDAwMDQwQ0QwNjE1MDEwMDAwMDEwMjAwMDIwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDcxCis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAzNjAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQyMDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMEY5Cis6MDQxQTA2MDA3MjAwMDAwMDZBCis6MDAwMDAwMDFGRgorCisJVGhlIGZpcm13YXJlIGNvbnRhaW5lZCBoZXJlaW4gaXMKKworCQlDb3B5cmlnaHQgKEMpIDE5OTktMjAwMQorCQlLZXlzcGFuLCBBIGRpdmlzaW9uIG9mIElubm9TeXMgSW5jb3Jwb3JhdGVkICgiS2V5c3BhbiIpCisKKwlhcyBhbiB1bnB1Ymxpc2hlZCB3b3JrLiBUaGlzIG5vdGljZSBkb2VzIG5vdCBpbXBseSB1bnJlc3RyaWN0ZWQgb3IKKwlwdWJsaWMgYWNjZXNzIHRvIHRoZSBzb3VyY2UgY29kZSBmcm9tIHdoaWNoIHRoaXMgZmlybXdhcmUgaW1hZ2UgaXMKKwlkZXJpdmVkLiAgRXhjZXB0IGFzIG5vdGVkIGJlbG93IHRoaXMgZmlybXdhcmUgaW1hZ2UgbWF5IG5vdCBiZQorCXJlcHJvZHVjZWQsIHVzZWQsIHNvbGQgb3IgdHJhbnNmZXJyZWQgdG8gYW55IHRoaXJkIHBhcnR5IHdpdGhvdXQKKwlLZXlzcGFuJ3MgcHJpb3Igd3JpdHRlbiBjb25zZW50LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKworCVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQgZm9yIHRoZSBkaXN0cmlidXRpb24gb2YgdGhpcyBmaXJtd2FyZQorCWltYWdlIGFzIHBhcnQgb2YgYSBMaW51eCBvciBvdGhlciBPcGVuIFNvdXJjZSBvcGVyYXRpbmcgc3lzdGVtIGtlcm5lbAorCWluIHRleHQgb3IgYmluYXJ5IGZvcm0gYXMgcmVxdWlyZWQuCisKKwlUaGlzIGZpcm13YXJlIG1heSBub3QgYmUgbW9kaWZpZWQgYW5kIG1heSBvbmx5IGJlIHVzZWQgd2l0aAorCUtleXNwYW4gaGFyZHdhcmUuICBEaXN0cmlidXRpb24gYW5kL29yIE1vZGlmaWNhdGlvbiBvZiB0aGUKKwlrZXlzcGFuLmMgZHJpdmVyIHdoaWNoIGluY2x1ZGVzIHRoaXMgZmlybXdhcmUsIGluIHdob2xlIG9yIGluCisJcGFydCwgcmVxdWlyZXMgdGhlIGluY2x1c2lvbiBvZiB0aGlzIHN0YXRlbWVudC4iCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rZXlzcGFuL3VzYTI4eGIuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhiLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2NiNzA4Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2EyOHhiLkhFWApAQCAtMCwwICsxLDE0MiBAQAorOjAzMDAzMzAwMDIwMDJEOUIKKzowNDAwMkQwMDUzRDhFRjMyODMKKzoxMDAwNDYwMDMwMDkxODEyMTMzM0VGQzM5NTNDNDAwMzAyMDBEODkwRDEKKzoxMDAwNTYwMDdGQkY3NDAxRjBDMjA5QzIwMDgwNzczMDAzM0I5MDdGRjYKKzoxMDAwNjYwMEM2RTAyMEUxNkQxMjEzMzNFRkMzOTQ0MDUwNjQ5MDdFRDYKKzoxMDAwNzYwMDQwRTAxMzkyMDk5MDdGQzdFMDE0RjUxOTIwMDAxMTYwNDMKKzoxMDAwODYwMDBGRjUwODdFN0U3RjQxNzUwQzdFNzUwRDQxMTIwQ0NDRjYKKzoxMDAwOTYwMEMyMDNFNDkwN0ZDN0YwODAzOTkwN0ZDOEUwMjBFMTMyNDgKKzoxMDAwQTYwMDEyMTMzM0VGQzM5NDQwNTAyOTkwN0RDMEUwMTM5MjA5OTgKKzoxMDAwQjYwMDkwN0ZDOUUwMTRGNTE5MjAwMDExNjAwRkY1MDg3RTdEQzgKKzoxMDAwQzYwMDdGQzE3NTBDN0Q3NTBEQzExMjBDQ0NEMjAzRTQ5MDdGRjcKKzoxMDAwRDYwMEM5RjA5MDdGQjZFMDMwRTEwMzAyMDE2MDEyMTFGNThGOUUKKzoxMDAwRTYwMDE5MTIxMzNGOEYzNkU1MTlDMzk1M0E1MDBGMTIxMzFCOTkKKzoxMDAwRjYwMEVGMzBFMDA4RTUzNjIwRTcwMzMwMEI1RUMyMEJFNTE5NkEKKzowQzAwMzYwMDkwN0Y5ODc0MTBGMDkwQzAwMEUwRkYyMjUyCis6MDMwMDQzMDAwMjEzMDBBNQorOjEwMDAwMzAwQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwOTA2RQorOjEwMDAxMzAwN0ZDNEU0RjA1MzkxRUY5MDdGQUI3NDA0RjBEMDg2RDBBQgorOjBBMDAyMzAwODREMDg1RDA4MkQwODNEMEUwMzI3MworOjAzMDAwMDAwMDIwRTEyREIKKzo0MDAxMDYwMDYwNThCNDgwMDM0MzM2MDJFNTM2MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdFN0Y4MDc1MEM3RTc1MEQ4MEFGMzYxMjBGNURFNTE5MjVFMDkwN0ZCN0YwODAyN0U1MTlEMzk0M0Y0MDAzNzUxOTNGODUxOTA4QzIKKzo0MDAxNDYwMDkwN0U4MEU1MzZGMDdFN0U3RjgxNzUwQzdFNzUwRDgxMTIwQ0YxRTUxOTA0OTA3RkI3RjA5MDdGQ0VFMDMwRTEwNjIwMDUwMzAyMDNDMUU0RjUxODc0NDAyNTE4RjU4MkU0MzQ3Q0Y1ODNFMEZGRTUxODdDMDA3QjAxN0E3RTc5QUYKKzo0MDAxODYwMDAwMjQwMEY5RUMzNDdFRkFFRjEyMEVFNDA1MThFNTE4QjQyMEQ3OTA3RTAwRTA2MDY4OTA3RTAzRTA2MDI0N0YwMUU0RkQxMjExRDA3RjAzN0RDRDEyMTFEMDQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMEU0OTA3RTEzRjYKKzo0MDAxQzYwMEYwODAzMDkwN0UwMUUwRkYxMjEwNTQ5MDdFMDJFMEZGMTIxMDdBN0YwMTkwN0UxMUUwRkQxMjExRDA3RjAzN0QwNzEyMTFEMDQzNDY4MDkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0Y5ODc0MTJGMEU1NDA0NDA2OTBDMDAwOTMKKzo0MDAyMDYwMEYwOTA3RTAzRTA3MDA2OTA3RTEzRTA3MDA4RTQ5MDdFMTNGMDc1MjVGRjkwN0UwNUUwNjAxMkEzRTA1NDNGRjU0NDkwN0Y5ODc0MTNGMDkwQzAwMEU1NDRGMDkwN0UwN0UwNjAyQkEzRTA2MDA1NDM0MjgwODAwMzUzNDI3RjUzQzgKKzo0MDAyNDYwMDQyRkM5MDdFMDlFMDYwMTE0MzQyMDJBM0UwRkYxMjEwQzY5MDdFMEJFMEZGMTIxMEVDQUY0MjEyMTBBMDkwN0UwM0UwNjAwODUzNDI3RkFGNDIxMjEwQTA5MDdFMENFMDYwMThBM0UwNjAwNTQzNDYwMjgwMDM1MzQ2RkQ5MDdGRkIKKzo0MDAyODYwMDk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTBFRTA2MDE4QTNFMDYwMDU0MzQ2MDE4MDAzNTM0NkZFOTA3Rjk4NzQxNEYwOTBDMDAwRTU0NkYwOTA3RTEyRTBGNTNBQTNFMDEzOTIwREEzRTBGNTNDQTNFMDYwMDU0MzQ2MTA4MDAzMTcKKzo0MDAyQzYwMDUzNDZFRjkwN0Y5ODc0MTRGMDkwQzAwMEU1NDZGMDkwN0UxNkUwNjAzMjUzNDRCRjkwN0Y5ODc0MTNGMEU1NDQ1NDdGOTBDMDAwRjA5MDdGOTg3NDExRjAxMjEzMEZFRjU0RkU5MEMwMDBGMDUzM0VGREU0RkZBRDNFMTIxMUQwODAKKzo0MDAzMDYwMEU0RjUyQUY1MjlEMjA3OTA3RTE3RTA2MDBGNDMzRTAyRTRGRkFEM0UxMjExRDA3NTI5MDFEMjA3OTA3RTE4RTA2MDEwOTA3Rjk4NzQxMkYwRTU0MDQ0MDQ5MEMwMDBGMEQyMDA5MDdFMTlFMDYwMTE0MzQ0NDA5MDdGOTg3NDEzMEUKKzo0MDAzNDYwMEYwRTU0NDU0N0Y5MEMwMDBGMDkwN0UxQUUwNjAwRjUzM0VGRUU0RkZBRDNFMTIxMUQwNzUyQjAxRDIwNzkwN0UxQkUwNjAwRjQzM0UwMUU0RkZBRDNFMTIxMUQwRTRGNTJCRDIwNzkwN0UxQ0UwNjAwRTkwN0Y5ODc0MTJGMEU1RjgKKzo0MDAzODYwMDQwNDQwMjkwQzAwMEYwOTA3RTFERTA2MDAyRDIwQjkwN0UxRUUwNjAwODc1MkMwMUU0RjUzOEQyMDc5MDdFMUZFMDYwMTE5MDdGRDc3NDExRjA3NDMxRjA3NDE1RjA3NDM1RjBEMjAzQzIwNUU0OTA3RkNGRjAzMDFBNTRFNTM4OUUKKzo0MDAzQzYwMDYwMDIxNTM4MjAxMzRCRTUxM0QzOTQwMDQwMDQxNTEzODA0MDc1MTMwQTMwMUIwMkQyMTMxMjEzMEZFRjU0MDFGNTE5NjUyQTYwMDU4NTE5MkFEMjA3MTIxMzRCRUY1NDgwNjQ4MEY1MTk2NTI2NjAwNTg1MTkyNkQyMDczMDBENzEKKzo0MDA0MDYwMDExMTIxMzRCRUY1NDEwRjUxOTY1MjU2MDA1ODUxOTI1RDIwNzIwMUIwMzAyMDdGMDMwMEExODEyMTM4N0VGQzM5NTNENDAwMzAyMDRCMDkwN0ZDMTc0MDFGMEMyMEFDMjAwODA3NzMwMDQzQjkwN0ZDQUUwMjBFMTZEMTIxMzg3OUIKKzo0MDA0NDYwMEVGQzM5NDQwNTA2NDkwN0Q0MEUwMTM5MjBBOTA3RkNCRTAxNEY1MTkyMDAwMTE2MDBGRjUwODdFN0Q3RjQxNzUwQzdENzUwRDQxMTIwRDE2QzIwNEU0OTA3RkNCRjA4MDM5OTA3RkNDRTAyMEUxMzIxMjEzODdFRkMzOTQ0MDUwOTkKKzo0MDA0ODYwMDI5OTA3Q0MwRTAxMzkyMEE5MDdGQ0RFMDE0RjUxOTIwMDAxMTYwMEZGNTA4N0U3QzdGQzE3NTBDN0M3NTBEQzExMjBEMTZEMjA0RTQ5MDdGQ0RGMDkwN0ZCQUUwMzBFMTAzMDIwNTM4MTIxMjNGOEYxOTEyMTM5MzhGMzdFNTE5N0YKKzo0MDA0QzYwMEMzOTUzQjUwMEYxMjEzNkZFRjMwRTAwOEU1MzcyMEU3MDMzMDBDNUVDMjBDRTUxOTYwNThCNDgwMDM0MzM3MDJFNTM3MzBFNzI2RTUxOUQzOTQyMDQwMDM3NTE5MjA4NTE5MDg3RTdEN0Y4MDc1MEM3RDc1MEQ4MEFGMzcxMjBGRkMKKzo0MDA1MDYwMDk2RTUxOTI1RTA5MDdGQkJGMDgwMjdFNTE5RDM5NDNGNDAwMzc1MTkzRjg1MTkwODkwN0Q4MEU1MzdGMDdFN0Q3RjgxNzUwQzdENzUwRDgxMTIwRDNCRTUxOTA0OTA3RkJCRjA5MDdGRDBFMDMwRTEwNjIwMDYwMzAyMDc5OUU0MzEKKzo0MDA1NDYwMEY1MTg3NEMwMjUxOEY1ODJFNDM0N0JGNTgzRTBGRkU1MTg3QzAwN0IwMTdBN0U3OTIwMjQyMEY5RUMzNDdFRkFFRjEyMEVFNDA1MThFNTE4QjQyMEQ3OTA3RTIwRTA2MDY4OTA3RTIzRTA2MDI0N0YwMUU0RkQxMjEyMUE3RjAzRjcKKzo0MDA1ODYwMDdEQ0QxMjEyMUE0MzQ3ODA5MDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjBFNDkwN0UzM0YwODAzMDkwN0UyMUUwRkYxMjExMzg5MDdFMjJFMEZGMTIxMTVFN0YwMTkwN0UzMUUwRkQxMjEyMUE3RjAzN0QwNzEyMTIxQTQzNDc4MDkwQUEKKzo0MDA1QzYwMDdGOTg3NDBDRjA5MEMwMDBFNTQ3RjA5MDdGOTg3NDBBRjBFNTQxNDQwNjkwQzAwMEYwOTA3RTIzRTA3MDA2OTA3RTMzRTA3MDA4RTQ5MDdFMzNGMDc1MkVGRjkwN0UyNUUwNjAxMkEzRTA1NDNGRjU0NTkwN0Y5ODc0MEJGMDkwRUIKKzo0MDA2MDYwMEMwMDBFNTQ1RjA5MDdFMjdFMDYwMkJBM0UwNjAwNTQzNDM4MDgwMDM1MzQzN0Y1MzQzRkM5MDdFMjlFMDYwMTE0MzQzMDJBM0UwRkYxMjExODQ5MDdFMkJFMEZGMTIxMUFBQUY0MzEyMTExMjkwN0UyM0UwNjAwODUzNDM3RkFGQTAKKzo0MDA2NDYwMDQzMTIxMTEyOTA3RTJDRTA2MDE4QTNFMDYwMDU0MzQ3MDI4MDAzNTM0N0ZEOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwOTA3RTJFRTA2MDE4QTNFMDYwMDU0MzQ3MDE4MDAzNTM0N0ZFOTA3Rjk4NzQwQ0YwOTBDMDAwRTU0N0YwQjQKKzo0MDA2ODYwMDkwN0UzMkUwRjUzQkEzRTAxMzkyMEVBM0UwRjUzREEzRTA2MDA1NDM0NzEwODAwMzUzNDdFRjkwN0Y5ODc0MENGMDkwQzAwMEU1NDdGMDkwN0UzNkUwNjAzMjUzNDVCRjkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjA5MDdGNzkKKzo0MDA2QzYwMDk4NzQwOUYwMTIxMzYzRUY1NEZFOTBDMDAwRjA1MzNGRkRFNEZGQUQzRjEyMTIxQUU0RjUzM0Y1MzJEMjA4OTA3RTM3RTA2MDBGNDMzRjAyRTRGRkFEM0YxMjEyMUE3NTMyMDFEMjA4OTA3RTM4RTA2MDEwOTA3Rjk4NzQwQUYwRUIKKzo0MDA3MDYwMEU1NDE0NDA0OTBDMDAwRjBEMjAwOTA3RTM5RTA2MDExNDM0NTQwOTA3Rjk4NzQwQkYwRTU0NTU0N0Y5MEMwMDBGMDkwN0UzQUUwNjAwRjUzM0ZGRUU0RkZBRDNGMTIxMjFBNzUzNDAxRDIwODkwN0UzQkUwNjAwRjQzM0YwMUU0QzkKKzo0MDA3NDYwMEZGQUQzRjEyMTIxQUU0RjUzNEQyMDg5MDdFM0NFMDYwMEU5MDdGOTg3NDBBRjBFNTQxNDQwMjkwQzAwMEYwOTA3RTNERTA2MDAyRDIwQzkwN0UzRUUwNjAwODc1MzUwMUU0RjUzOUQyMDg5MDdFM0ZFMDYwMTE5MDdGRDc3NDEzNjkKKzo0MDA3ODYwMEYwNzQzM0YwNzQxNkYwNzQzNkYwRDIwNEMyMDZFNDkwN0ZEMUYwMzAxQTU0RTUzOTYwMDIxNTM5MzAxMzRCRTUxM0QzOTQwMDQwMDQxNTEzODA0MDc1MTMwQTMwMUIwMkMyMTMxMjEzNjNFRjU0MDFGNTE5NjUzMzYwMDU4NTE5OTgKKzo0MDA3QzYwMDMzRDIwODEyMTM5RkVGNTQ4MDY0ODBGNTE5NjUyRjYwMDU4NTE5MkZEMjA4MzAwRTExMTIxMzlGRUY1NDEwRjUxOTY1MkU2MDA1ODUxOTJFRDIwODMwMUEyQTkwN0ZEMkUwMjBFMTIzOTA3QjQwRTA2MDA5RTBGNTE1OTA3QjQyOTcKKzo0MDA4MDYwMEUwRjUxNjkwN0I0MUUwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMEU0OTA3RkQzRjA5MDdGQzJFMDMwRTEwMzAyMDkyNEU1MEE3MDQwMzAwNzM5RTUzODcwMzVDMjA3RjUxODdFMDA3QjAwNzQyNDI1MThGOUVFMzQwMEZBMTIwRTlFNDQKKzo0MDA4NDYwMEZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzgxMEU0RjUyQzc1MEEwMTIyRTUwQTY0MDE3MDQwMzAwODM5RTUzOTcwMzVDMjA4RjUxODdFMDA3QjAwNzQyRDI1MThGOUVFQkYKKzo0MDA4ODYwMDM0MDBGQTEyMEU5RUZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDlEQjkwN0ZDMzc0MDlGMDc1MzkxMEU0RjUzNTc1MEEwMjIyRTUwQTY0MDI3MDM2MzAxNDJGQzIxNEY1MTg3RTAwN0IwMDc0MEUyNTE4NEMKKzo0MDA4QzYwMEY5RUUzNDAwRkExMjBFOUVGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDA1REI5MDdGQzM3NDA1RjA3NTBBMDMyMkU1MTU2MDMwMTUxNUU0RjUxODdFMDA3QjAwNzQxNDI1MThGOUVFMzQwMEZBMTIwRTlFQ0IKKzo0MDA5MDYwMEZGNzQ4MDI1MThGNTgyRTQzNDdCRjU4M0VGRjAwNTE4RTUxOEI0MDNEQjkwN0ZDMzc0MDNGMEU0RjUwQTIyOTA3RkU5RTAxMjBFRjYwQTBDMDAwQTgwMDEwQUVDMDMwOTQ4MDYwOUZGMDgwOUY5MDkwOUUxMEEwOUYwMEIwMDAwNDQKKzo0MDA5NDYwMDBCM0I5MDdGRUJFMDI0RkU2MDE5MTQ2MDYxMjQwMjYwMDMwMjA5RDc3NDE5OTA3RkQ0RjA3NDAwOTA3RkQ1RjAwMjBCNDI5MDdGRUFFMDcwMDQ3RjAyODAwMjdGMDM3NTgyODI3NTgzMTlFRkYwNzU4MjdCNzU4MzE5RjA3NTgyREEKKzo0MDA5ODYwMDc0NzU4MzE5RjA3NTgyNjY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwNzQxOTkwN0ZENEYwNzQxMjkwN0ZENUYwMDIwQjQyOTA3RkVBRTBGRjEyMEYxQ0VBNDk2MDBERUE5MDdGRDRGMEU5QkUKKzo0MDA5QzYwMDkwN0ZENUYwMDIwQjQyOTA3RkI0RTA0NDAxRjAwMjBCNDI5MDdGQjRFMDQ0MDFGMDAyMEI0MjkwN0YwMEU1MDlGMDkwN0ZCNTc0MDFGMDAyMEI0MjkwN0ZFQUUwRjUwOTAyMEI0MjEyMEI0QTAyMEI0MjkwN0YwMDc0MDFGMDkwM0IKKzo0MDBBMDYwMDdGQjVGMDAyMEI0MjkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMTBFNDMzRkYyNUUwRkZBMjE2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjBCNDJFNDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMkUKKzo0MDBBNDYwMDBCNDI5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMEI0MjkwN0ZCNEUwNDQwMUYwMDIwQjQyOTA3RkU4RTAyNEZFNEUKKzo0MDBBODYwMDYwMUQyNDAyNjAwMzAyMEI0MjkwN0ZFQUUwQjQwMTA1QzIxMDAyMEI0MjkwN0ZCNEUwNDQwMUYwMDIwQjQyOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzRUEKKzo0MDBBQzYwMEU0RjA5MDdGRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0MDEwNEQyMTA4MDNGOTA3RkI0N0IKKzo0MDBCMDYwMEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGQjRFMDQ0MDFGMDkwN0ZCNEUwMTcKKzo0MDBCNDYwMDQ0MDJGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0MzBGMEU0OTA3Rjk2RjA5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDE4RjBFNEY1OEU5MDdGREY3NEZGRjA5MDdGREVGMEU0RjUyNDc1MTgwMTdCMDA3NDI0MjUxOEY5NDUKKzo0MDBCODYwMEU0MzQwMEZBRTQxMjBFRTQwNTE4RTUxOEI0MDlFQTc1M0EwMUU0RjUzOEY1MTNGNTM2QzIwN0MyMEJDMjA1QzIwMEMyMDlDMjEzOTA3Rjk4NzQxM0YwNzU0NDAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjExRDA3RjEwOEY0MjEyNUYKKzo0MDBCQzYwMDEwQTA5MDdGOTg3NDEyRjA3RjAxOEY0MEVGNDQwNjkwQzAwMEYwOTA3Rjk4NzQxNEYwNzU0NjgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMUQwRTRGRjdFQTNBRDA2OEQzRTEyMTFEMDkwN0Y5ODc0MTFGMDkwQzAwMEU0RjA3RjA1QjAKKzo0MDBDMDYwMDdEN0YxMjExRDA3RjAxMTIxMjg5N0YwMzdEMDcxMjExRDA3RjEzN0QwOTEyMTFEMDIwMUIwMzAyMENDOTc1MkQwMTc1MTgwMTdCMDA3NDJEMjUxOEY5RTQzNDAwRkFFNDEyMEVFNDA1MThFNTE4QjQwOUVBNzUzQjAxRTRGNTM5NzgKKzo0MDBDNDYwMEY1MTNGNTM3QzIwOEMyMENDMjA2QzIwMEMyMEFDMjEzOTA3Rjk4NzQwQkYwNzU0NTAzOTBDMDAwNzQwM0YwN0YwQ0U0RkQxMjEyMUE3RjEwOEY0MzEyMTExMjkwN0Y5ODc0MEFGMDdGMDE4RjQxRUY0NDA2OTBDMDAwRjA5MDdGQzAKKzo0MDBDODYwMDk4NzQwQ0YwNzU0NzgwOTBDMDAwNzQ4MEYwMEZFNEZEMTIxMjFBRTRGRjdFQTNBRDA2OEQzRjEyMTIxQTkwN0Y5ODc0MDlGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTIxQTdGMDExMjEyQUE3RjAzN0QwNzEyMTIxQTdGMTM3RDA5MjcKKzo0MDBDQzYwMDEyMTIxQUQyMTIyMjkwN0Y5ODc0MTBGMEFGMDhFNTBERjU4MkU1MENGNTgzQzJBRjA1ODY5MEMwMDAwNTg2RTBBMzA1ODZGMDA1ODZERkY3RDJBRjIyOTA3Rjk4NzQxMEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwRkQKKzo0MDBEMDYwMEMwMDBFMDA1ODZGMEEzMDU4NkRGRjcwNTg2RDJBRjIyOTA3Rjk4NzQwOEYwQUYwOEU1MERGNTgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMDA1ODZFMEEzMDU4NkYwMDU4NkRGRjdEMkFGMjI5MDdGOTg3NDA4RjBBRjA4RTUwREY1M0EKKzo0MDBENDYwMDgyRTUwQ0Y1ODNDMkFGMDU4NjkwQzAwMEUwMDU4NkYwQTMwNTg2REZGNzA1ODZEMkFGMjI3NDAwRjU4NjkwRkRBNTdDMDVBM0U1ODI0NTgzNzBGOTIyOTA3RkQ2RTA0NDgwRjA0Mzg3MDEwMDAwMDAwMDAwMjJEMjE5OTA3RjkyQjgKKzo0MDBEODYwMEUwNDQwMkYwOTA3RkFFRTBGRkQzOTIxMEU0MzNGRUVGNEVGMEQyRTg0M0Q4MjA5MDdGREU3NDAxRjA5MDdGREZGMDkwN0ZBQjc0RkZGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwNDQwREYwQUQKKzo0MDBEQzYwMEQyQUZEMjFBMTIxMjY0QzIxMUU0RjUwQkY1MTNDMjE3QzIxMjkwN0ZBMTA0RjA5MDdGRDhFMDY1MTc2MDEwMzAxMjA1RDIxQTEyMDA0NjkwN0ZEOEUwRjUxNzgwMDgzMDEyMDVDMjFBMTIwMDQ2MzAxMTA3QzIxMTEyMDkyNTgwRjkKKzo0MDBFMDYwMEQ2MzAxOEQzQzIxODEyMTNBQjgwQ0MyMjc4N0ZFNEY2RDhGRDc1ODE0NzAyMEU1OTAyMEQ4MUU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwRkEKKzo0MDBFNDYwMDA0RjQ1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxMkNCRTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzMjAKKzo0MDBFODYwMEM4QzU4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTAyRTMyMjg5ODI4QTgzRTQ5MzIyQkIwMTBDRTU4MjI5RjU4MkU1ODMzQUY1ODNFMDIyRDUKKzo0MDBFQzYwMDUwMDZFOTI1ODJGOEU2MjJCQkZFMDZFOTI1ODJGOEUyMjJFNTgyMjlGNTgyRTU4MzNBRjU4M0U0OTMyMkJCMDEwNjg5ODI4QTgzRjAyMjUwMDJGNzIyQkJGRTAxRjMyMkQwODNEMDgyRjhFNDkzNzAxMjc0MDE5MzcwMERBM0EzN0EKKzo0MDBGMDYwMDkzRjg3NDAxOTNGNTgyODg4M0U0NzM3NDAyOTM2ODYwRUZBM0EzQTM4MERGOEYxOEU0RjUxOTc1MUFGRjc1MUIxOTc1MUM4NkFCMUFBQTFCQTkxQzkwMDAwMTEyMEVCN0I0MDMxREFGMTkwNTE5RUZCNTE4MDEyMjEyMEU5RTdFQzQKKzo0MDBGNDYwMDAwMjlGRkVFM0FBOTA3NzUxQUZGRjUxQjg5MUM4MEQ0N0IwMDdBMDA3OTAwMjI4RjFBMDUwREU1MERBRTBDNzAwMjA1MEMxNEY1ODI4RTgzRTUxQUYwMTIwMDM2MDUwREU1MERBQzBDNzAwMjA1MEMxNEY1ODI4QzgzRUZGMDE1QkEKKzo0MDBGODYwMDA4RTUwODYwMEExMjEzM0Y4RjFBRUY0MjM2ODBDQTIyOEYxQTA1MERFNTBEQUUwQzcwMDIwNTBDMTRGNTgyOEU4M0U1MUFGMDEyMTM1NzA1MERFNTBEQUMwQzcwMDIwNTBDMTRGNTgyOEM4M0VGRjAxNTA4RTUwODYwMEExMjEzQUEKKzo0MDBGQzYwMDkzOEYxQUVGNDIzNzgwQ0EyMkU0OTA3RjkzRjA5MDdGOUM3NDMwRjBFNDkwN0Y5NkYwOTA3Rjk1RjA5MDdGOUU3NDI3RjA5MDdGOTg3NDIwRjA5MDdGOUU3NDA3RjBFNDkwN0Y5NEYwOTA3RjlENzRGRkYwRTQ5MDdGOTdGMDIyN0MKKzo0MDEwMDYwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTE1MzkxRUY5MDdGQUI3NDAxRjBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRTAzMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEQyMTg1MzkxRUY5MDdGQUI3NDA4N0UKKzo0MDEwNDYwMEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEwRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwOTBDMDAwNzRCRkYwMEMKKzo0MDEwODYwMDkwN0Y5ODc0MTFGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDEyRjA5MEMwMDBFRkYwOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDIyMEEKKzo0MDEwQzYwMDkwN0Y5ODc0MTNGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MTRGMDkwQzAwMEVGRjA5MDdGOTg3NDEzRjBFNTQ0NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDEzRjA5MEMwMDA3NEJGRjA5MDdGOTg3NDE2RjA5MEMwMDBFRkYwOTA3Rjk4MDcKKzo0MDExMDYwMDc0MTNGMEU1NDQ1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEFGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGOTg3NDBCRjA5MEMwMDA3NEJGRjA5MDdGRkEKKzo0MDExNDYwMDk4NzQwOEYwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MDlGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwMjI5MDdGNzEKKzo0MDExODYwMDk4NzQwQkYwOTBDMDAwNzRCRkYwOTA3Rjk4NzQwQ0YwOTBDMDAwRUZGMDkwN0Y5ODc0MEJGMEU1NDU1NDdGOTBDMDAwRjAyMjkwN0Y5ODc0MEJGMDkwQzAwMDc0QkZGMDkwN0Y5ODc0MEVGMDkwQzAwMEVGRjA5MDdGOTg3NDBCRkQKKzo0MDExQzYwMEYwRTU0NTU0N0Y5MEMwMDBGMDIyOTA3Rjk4NzQxM0YwRTU0NDU0N0Y5MEMwMDBGMDkwN0Y5ODc0MTdGMDkwQzAwMEVGRjA5MDdGOTg3NDE1RjA5MEMwMDBFREYwMjIxMjEzMjc4RjFBMTIxMzI3OEYxQkU1MUE2NTFCNjAxMjEyOTIKKzo0MDEyMDYwMDEzMjc4RjFBRTUxQTY1MUI2MDA3MTIxMzI3OEYxQjgwRThBRjFBMjI5MDdGOTg3NDBCRjBFNTQ1NTQ3RjkwQzAwMEYwOTA3Rjk4NzQwRkYwOTBDMDAwRUZGMDkwN0Y5ODc0MERGMDkwQzAwMEVERjAyMjEyMTM3QjhGMUExMjEzMjUKKzo0MDEyNDYwMDdCOEYxQkU1MUE2NTFCNjAxMjEyMTM3QjhGMUFFNTFBNjUxQjYwMDcxMjEzN0I4RjFCODBFOEFGMUEyMjkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDFBMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxMkU3OTA3RkQ2RTA1NEY3RjBFMDQ0RTEKKzo0MDEyODYwMDA0RjAyMkFFMDdFNEZGRTUzRTU0N0ZGRDEyMTFEMDkwN0Y5ODc0MTFGMDkwQzAwMEVFRjBFNEU1M0U0NDgwRkQxMjExRDAyMkFFMDdFNEZGRTUzRjU0N0ZGRDEyMTIxQTkwN0Y5ODc0MDlGMDkwQzAwMEVFRjBFNEU1M0Y0NDgwOTUKKzo0MDEyQzYwMEZEMTIxMjFBMjIwNTBFMDIwMDAwMDAwMDAzMTQwMzAwMDBDMTExQzExOEMxOTVDMTEwQzExNjAxMEEwMEMxOUIwMDhFMTg4RjE5RTUxOTE1MTlBRTE4NzAwMjE1MTg0RTYwMDUxMjBENjA4MEVFMjIwMDAwMDIxMDA2MDAwMjEzN0UKKzo0MDEzMDYwMDA0MDAwMjAwMDMwMDAyMTAyRDkwN0Y5ODc0MTFGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTJGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTNGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTRGMDkwQzAwMEUwRkYyMjkwN0Y5ODc0MTVGMDkwRjUKKzo0MDEzNDYwMEMwMDBFMEZGMjI5MDdGOTg3NDE2RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA4RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDA5RjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBBRjA5MEMwMDBFMEZGMjI5MDdGOTg3NDBCRjA5MEMwMDBFMEZGQzAKKzo0MDEzODYwMDIyOTA3Rjk4NzQwQ0YwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwREYwOTBDMDAwRTBGRjIyOTA3Rjk4NzQwRUYwOTBDMDAwRTBGRjIyMTIwRkNGMTIwRDcxMTIwQjRBMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzo0MDEzQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzo0MDE0MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzo0MDE0NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzo0MDE0ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzo0MDE0QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzo0MDE1MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzo0MDE1NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzo0MDE1ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzo0MDE1QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzo0MDE2MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzo0MDE2NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzo0MDE2ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzo0MDE2QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzo0MDE3MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzo0MDE3NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzo0MDE3ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzo0MDE3QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzo0MDE4MDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzo0MDE4NDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzo0MDE4ODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzo0MDE4QzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIwMTEwMDFGRjAwQkYKKzo0MDE5MDYwMDAwNDBDRDA2MTAwMTAwMDAwMTAyMDAwMjA5MDI3NDAwMDEwMTAwQTAzMjA5MDQwMDAwMEVGRjAwMDAwMDA3MDUwMTAyNDAwMDAwMDcwNTAyMDI0MDAwMDAwNzA1MDMwMjQwMDAwMDA3MDUwNDAyNDAwMDAwMDcwNTA1MDI0MDAwNzYKKzo0MDE5NDYwMDAwMDcwNTA2MDI0MDAwMDAwNzA1MDcwMjQwMDAwMDA3MDU4MTAyNDAwMDAxMDcwNTgyMDI0MDAwMDAwNzA1ODMwMjQwMDAwMTA3MDU4NDAyNDAwMDAxMDcwNTg1MDI0MDAwMDEwNzA1ODYwMjQwMDAwMTA3MDU4NzAyNDAwMDAxRjQKKzo0MDE5ODYwMDA0MDMwOTA0NDgwMzRCMDA2NTAwNzkwMDczMDA3MDAwNjEwMDZFMDAyQzAwMjAwMDYxMDAyMDAwNjQwMDY5MDA3NjAwNjkwMDczMDA2OTAwNkYwMDZFMDAyMDAwNkYwMDY2MDAyMDAwNDkwMDZFMDA2RTAwNkYwMDUzMDA3OTAwNDAKKzo0MDE5QzYwMDczMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDM2MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMjAwMDU1MDA1MzAwNDIwMDIwMDA1MzAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNDEwMDY0MDA2MTAwNzAwMDc0MDA2NTAwRjkKKzowNDFBMDYwMDcyMDAwMDAwNkEKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3LkhFWCBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTViM2QxCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbi91c2E0OXcuSEVYCkBAIC0wLDAgKzEsMTQ1IEBACis6MDMwMDMzMDAwMjE4RkJCNQorOjBDMDAzNjAwOTA3ODQxNzQwMUYwOTBDMDAwRTBGRjIyQkYKKzoxMDAwNDYwMEU0RkY3NDQwMkZGNTgyRTQzNDdCRjU4M0UwRkVFNTE1OEEKKzoxMDAwNTYwMDI0MDRGREU0MzUxNEZBQTkwNTdCMDFFRjdDMDAyOUY5OTcKKzoxMDAwNjYwMEVDM0FGQUVFMTIxMUYxMEZCRjIyRDdFNTE1MjQwNUY1ODkKKzoxMDAwNzYwMDgyRTQzNTE0RjU4M0UwNzAwMzAyMDEzNEU1MTUyNDA5QTIKKzoxMDAwODYwMEY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MEFGNTgyNTEKKzoxMDAwOTYwMEU0MzUxNEY1ODNFMDYwMTg3RjAxRTRGRDEyMTY0N0U1QTgKKzoxMDAwQTYwMDE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NENGRjA4MDQxMTAKKzoxMDAwQjYwMEU1MTUyNDA2RjU4MkU0MzUxNEY1ODNFMEZGMTIxNjc2N0QKKzoxMDAwQzYwMEU1MTUyNDA3RjU4MkU0MzUxNEY1ODNFMEZGMTIwMDAzRjUKKzoxMDAwRDYwMDdGMDFFNTE1MjQwOEY1ODJFNDM1MTRGNTgzRTBGRDEyNjkKKzoxMDAwRTYwMDE2NDdFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDMwRUUKKzoxMDAwRjYwMEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQ4MEYwMDMKKzoxMDAwMDMwMDkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MEQKKzoxMDAwMTMwMDAxRjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTI0RUYKKzoxMDAwMjMwMDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyNjUKKzowMzAwNDMwMDAyMUIwMDlECis6MDMwMDAwMDAwMjEwOTU1NgorOjQwMDEwNjAwOTA3ODQxNzQwNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjA5MDc4NDE3NDAyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDA2OTBDMDAwRjBFNTE1MjQwQkY1ODJFNDM1MTRGNTgzRTA2MDMyRTUxNTI0MEMwQgorOjQwMDE0NjAwRjU4MkU0MzUxNEY1ODNFMDU0M0ZGRkU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQwREY1ODJFNDM1MTRGNTgzRTA3MDAzMDIwMjRGRTU4OAorOjQwMDE4NjAwMTUyNDE3RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDA0RjA4MDBGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGQkYwRTRGRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMEZEMTIxNjQ3RTU1RQorOjQwMDFDNjAwMTUyNDBFRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDgwRjA4MDBGRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTQ3RkYwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0UwNTRGQ0YwRTUxNTI0MEZFQgorOjQwMDIwNjAwRjU4MkU0MzUxNEY1ODNFMDYwMkZFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQxMEY1ODJFNDM1MTRGNTgzRTBGRjEyMTVFN0U1MTUyNDExRjU4MkU0MzUxNEY1ODNFMEZGMTIxNjE3RTUxNTI0MzNGNTgyRTQ1RQorOjQwMDI0NjAwMzUxNEY1ODNFMEZGMTIxNUI3RTUxNTI0MTRGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDE1RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDAxRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU4MQorOjQwMDI4NjAwODNFMDU0RkVGMDkwNzg0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTJGNTgyRTQzNTE0RjU4M0UwNjA0NEU1MTUyNDEzRjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRFNgorOjQwMDJDNjAwRjU4M0UwNDQwMkYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RkRGMDkwNzg0MTc0MDRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MTZGNTgyRTQzNTE0RjU4M0UwRkZFNTE1MjQzNUY1ODIwQQorOjQwMDMwNjAwRTQzNTE0RjU4M0VGRjBFNTE1MjQxN0Y1ODJFNDM1MTRGNTgzRTAzMEUwMTFFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDQwRjA4MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRCRkYwRTUxNTI0MThGNTgyRTQzNTE0RjU3NgorOjQwMDM0NjAwODNFMEZGRTUxNTI0M0JGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQxOUY1ODJFNDM1MTRGNTgzRTA2MDExRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNDQxMEYwODAwRkU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDU0RUZGMDkwNzg2OQorOjQwMDM4NjAwNDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDFBRjU4MkU0MzUxNEY1ODNFMDYwNkJFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NEJGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGRgorOjQwMDNDNjAwRjU4M0UwNTQ3RjkwQzAwMEYwOTA3ODQxNzQwMUYwMTIwMDM2RUY1NEZFOTBDMDAwRjBFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZERkZGMEZERTRGRjEyMTY0N0U1MTUyNDJDRjU4MkU0MzUxNEY1ODNFNEYwRTUxNTI0MkJCNworOjQwMDQwNjAwRjU4MkU0MzUxNEY1ODNFNEYwRTUxNjQyMTNFNTE1MjQxQkY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyOEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDJGRkYwRkRFNEZGMTIxNjQ3RTU0NworOjQwMDQ0NjAwMTUyNDJCRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE2NDIxM0U1MTUyNDFDRjU4MkU0MzUxNEY1ODNFMEZGNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMkE5MDc4NDE3NDAyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTBDNgorOjQwMDQ4NjAwNDQwNDkwQzAwMEYwRUY2MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwNEYwRTUxNTI0MURGNTgyRTQzNTE0RjU4M0UwNjAyN0U1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDQ0NDBGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU1MAorOjQwMDRDNjAwODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjBFNTE1MjQxRUY1ODJFNDM1MTRGNTgzRTA2MDI4RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNTRGRUZGRjBGREU0RkYxMjE2NDdFNTE1MjQyREY1ODJFNDM1MTRGNTgzNzQwMUYwRTU4RgorOjQwMDUwNjAwMTY0MjEzRTUxNTI0MUZGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMjdFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDAxRkZGMEZERTRGRjEyMTY0N0U1MTUyNDJERjU4MkU0MzUxNEY1ODM5NworOjQwMDU0NjAwRTRGMEU1MTY0MjEzRTUxNTI0MjBGNTgyRTQzNTE0RjU4M0UwNzAwRUU1MTUyNDI1RjU4MkU0MzUxNEY1ODNFMDYwMTg5MDc4NDE3NDAyRjBFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRTA0NDAyOTBDMDAwRjBFNTE1MjQyMUY1ODJBNworOjQwMDU4NjAwRTQzNTE0RjU4M0UwNjAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDIyRjU4MkU0MzUxNEY1ODNFMDYwMUZFNTE1MjQyRUY1ODJFNDM1MTRGNTgzNzQwMUYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBGMAorOjQwMDVDNjAwRTUxNjQyMTNFNTE1MjQyM0Y1ODJFNDM1MTRGNTgzRTA2MDAzMTIxODg1RTUxNTI0MjRGNTgyRTQzNTE0RjU4M0UwNjAxQkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MDhGMDkwN0Y5OEUwRkZFNTE2RjRGRUVGNUVGMEU1MTU2QworOjQwMDYwNjAwMjQyNUY1ODJFNDM1MTRGNTgzRTA2MDE2RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRGN0YwOTA3Rjk4RTA0NTE2RjAyMjkwN0ZFOUUwMTIxMjAzMDc4MzAwMDdGNzAxMDg2MzAzMDY0QzA2MDc3NDA4MDc2ODA5MDc1MDBBMDdDRQorOjQwMDY0NjAwNUYwQjAwMDAwOEIyOTA3RkVCRTAyNEZFNjAxQzE0NzAwMzAyMDZGRTI0MDI2MDAzMDIwNzQ2NzQxOTkwN0ZENEYwNzQwMDkwN0ZENUYwMDIwOEI5OTA3RkVBRTAwNDc1ODIxNzc1ODMxOUYwOTA3RkVBRTAzMEUwMDQ3RjAzODAyRAorOjQwMDY4NjAwMDI3RjAyNzU4MjgyNzU4MzE5RUZGMDc1ODI2RDc1ODMxOUYwNzU4MjY2NzU4MzE5RjA3NTgyNUY3NTgzMTlGMDc1ODI1ODc1ODMxOUYwOTA3RkVBRTAzMEUxMDQ3RjY0ODAwMjdGMzI3NTgyMUE3NTgzMTlFRkYwOTA3RkVGRTBGQgorOjQwMDZDNjAwRkU5MDdGRUVFMDdDMDAyNDAwRjUxOUVDM0VGNTE4NzUzMzE5NzUzNDEyNzU4MjE0NzU4MzE5RTA3NTI3MDBGNTI4RDNFNTI4OTUxOUU1Mjc5NTE4NDAwNjg1MTgyNzg1MTkyODEyMTMxMjAyMDhCOTkwN0ZFQUUwRkYxMjE0MkJDOQorOjQwMDcwNjAwRUE0OTYwMzI5MDdGRUVFMDc1MTgwMEY1MTlBRTAyQUYwMThFMzM4RjM0OEY4MjhFODNFMEZFQTNFMDhFMjdGNTI4RDM5NTE5RTUyNzk1MTg0MDA2ODUxODI3ODUxOTI4MTIxMzEyMDIwOEI5OTA3RkI0RTA0NDAxRjAwMjA4Qjk5RQorOjQwMDc0NjAwOTA3RkI0RTA0NDAxRjAwMjA4Qjk5MDdGMDBFNTI1RjA5MDdGQjU3NDAxRjAwMjA4Qjk5MDdGRUFFMEY1MjUwMjA4Qjk5MDdGRUFFMEY1MjIxMjBBQjgwMjA4Qjk5MDdGMDBFNTIyRjA5MDdGQjU3NDAxRjAwMjA4Qjk5MDdGRThCRAorOjQwMDc4NjAwRTAyNDdGNjAyNDE0NjAzMTI0MDI3MDVCQTIwMEU0MzNGRjI1RTBGRkEyMDZFNDMzNEY5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDhCOUU0OTA3RjAwRjBBM0YwOTA3RkI1NzQwMkYwMDIwOEI5OTA3RkVDRTBGNDU0ODA2MworOjQwMDdDNjAwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0UwNTRGRDkwN0YwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwOEI5OTA3RkI0RTA0NDAxRjAwMjA4Qjk5MDdGRThFMDI0RkU2MDFEMjQwMjYwMDMwMjA4QjkxMAorOjQwMDgwNjAwOTA3RkVBRTBCNDAxMDVDMjAwMDIwOEI5OTA3RkI0RTA0NDAxRjAwMjA4Qjk5MDdGRUFFMDcwMzg5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFNEYwOTA3RkVDRTA1NDgwRkY2NworOjQwMDg0NjAwMTMxMzEzNTQxRkZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwN0ZFOEUwMjRGRTYwMTgyNDAyNzA0QTkwN0ZFQUUwQjQwMTA0RDIwMDgwM0Y5MDdGQjRFMDQ0MDFGMDgwMzY5MDdGRUFDQgorOjQwMDg4NjAwRTA3MDIwOTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzNzQwMUYwODAxMDkwN0ZCNEUwNDQwMUYwODAwNzkwN0ZCNEUwNDQwMUYwOTA3RkI0RTA0NDAyRjAyMkU1MTE1NDBGNzAzRAorOjQwMDhDNjAwMDMwMjA5QjIxMjE2QTVFRjIwRTE3NTEyMTcwM0VGMTRGNTE5MTIxOENDRUYyNTE5RkZFNDMzRkVDM0VGOTQ4MEVFNjQ4MDk0ODA1MDU5ODUxNTgyODUxNDgzRTBGRUEzRTBGRkY1ODI4RTgzRTAzMEUwMTFFNTE1MjQzMUY1ODI1MAorOjQwMDkwNjAwRTQzNTE0RjU4M0UwNDQ4MEYwODAwRkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0N0ZGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDIwRTIxMkU1MTk2MDBFRjUyM0VGMjQwMUY1MkRFNDNFRjUyQzEyMTRBREU0RkYxMjE0RTNDMAorOjQwMDk0NjAwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFNzVEMTIxOENDRTUxNTI0M0JGNTgyRTQzNTE0RjU4M0UwRkVFRkMzOUU1MDQ4RTUxNTI0MkZGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0N0I5OQorOjQwMDk4NjAwRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTRGMEU1MTY0MjEzOTA3RkMyRTAzMEUxMTBFNTE1MjQyNkY1ODJFNDM1MTRGNTgzRTBGNTI0ODAwMzEyMTJBMTEyMTZENEVGMzBFMTAzMDIwQUI3MTIxN0QyOEYxOTEyMThEOEU1MTVENQorOjQwMDlDNjAwMjQzOEY1ODJFNDM1MTRGNTgzRUZGMEU1MTUyNDM1RjU4MkU0MzUxNEY1ODNFMEZGRTUxOUMzOUY1MDI4MTIxOEI0RUYzMEUwMjFFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTAyMEU3MTJFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTBDMAorOjQwMEEwNjAwMjBFMTAzMDIwQUI3RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRGREYwRTUxOTcwMDMwMjBBQjdCNDgwMEZFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTA0NDAyRjBFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTBGRjMwRTcyOUU1MTlDRgorOjQwMEE0NjAwRDM5NDIwNDAwMzc1MTkyMDg1MTkyMzg1MTU4Mjg1MTQ4M0EzQTNFMEZDQTNFMDhDMkNGNTJEMTIxM0RERTUxOTI1RTBGRjEyMTUxOTIyRTUxOUQzOTQzRjQwMDM3NTE5M0Y4NTE5MjNFNTE1MjQzOEY1ODJFNDM1MTRGNTgzRTA1MworOjQwMEE4NjAwRkY4NTE1ODI4NTE0ODNBM0EzRTBGQ0EzRTBGNTgyOEM4M0VGRjA4NTE1ODI4NTE0ODNBM0EzRTBGRUEzRTAyNDAxRjUyREU0M0VGNTJDMTIxNDZDRTUxOTA0RkYxMjE1MTkyMkU0OTA3RjkzRjA5MDdGOUM3NEYwRjA5MDdGOTY3NworOjQwMEFDNjAwRjBFNDkwN0Y5NEYwOTA3ODRBMDRGMEY1OEU5MDdGOTU3NEMwRjA5MDdGOUU3NDNGRjA5MDdGOTg3NDFGRjA5MDc4NDM3NEZGRjBFNDkwNzg0MUYwOTA3RkRGNzQ5RkYwOTA3RkRFRjA5MDdGOTJFMDQ0MDJGMDdFN0I3RkMwNzU4MQorOjQwMEIwNjAwMTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTEyMEYxMjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxRTUxNTI0MjZGNTgyRTQzNTE0RjU4M0U0RjA3RTdFN0Y0MDg1MTU4Mjg1MTQ4Mzc0N0VGMEEzNzRGNQorOjQwMEI0NjAwNDBGMDdFN0U3RjgwODUxNTgyODUxNDgzQTNBMzc0N0VGMEEzNzQ4MEYwN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDIxMjBGMTI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMkU1MTUzNgorOjQwMEI4NjAwMjQyNkY1ODJFNDM1MTRGNTgzNzQwMUYwN0U3RDdGQzA4NTE1ODI4NTE0ODM3NDdERjBBMzc0QzBGMDdFN0U3RjAwODUxNTgyODUxNDgzQTNBMzc0N0VGMEEzNzQwMEYwN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjAxOAorOjQwMEJDNjAwNzUxNjA0MTIwRjEyN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDRFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQwMkYwN0U3RDdGNDA4NTE1ODI4NTE0ODM3NDdERjBBMzc0NDBGMDdFN0Q3RjgwODUxNTgyODVEMworOjQwMEMwNjAwMTQ4M0EzQTM3NDdERjBBMzc0ODBGMDdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk2NzQ3RkYwNzUxNjA4MTIwRjEyN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTY3NDdGRjA3NTE2MDhFNTE1MjQyNkY1ODJFNDM1MTRGNTgzNzQxQworOjQwMEM0NjAwMDNGMDdFN0M3RkMwODUxNTgyODUxNDgzNzQ3Q0YwQTM3NEMwRjA3RTdEN0YwMDg1MTU4Mjg1MTQ4M0EzQTM3NDdERjBBMzc0MDBGMEMyMEFDMjA5RDIwMjIyRTUxMDA0NTQwM0Y1MTAxNDYwMUYxNDYwMzExNDYwNDMyNDAzNzAxQgorOjQwMEM4NjAwNTI3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5Njc0RUZGMDc1MTYwMTgwM0Q3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjgwMjg3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5Njc0QkZGMDc1MTYwNDgwMTM3RQorOjQwMENDNjAwN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTY3NDdGRjA3NTE2MDhFNTMyNTUxNjcwMDMwMjBFMTFFNTE2RjRGRjUyMzJFNTI2NTQ3RkZFNzAwRkU1MkE1NTE2NjAyNDkwN0Y5OEUwNDUxNkYwODAxQkJFMjAxOEU1MTUyNDMxRjU0MworOjQwMEQwNjAwODJFNDM1MTRGNTgzRTAzMEUzMDlFNEY1MkE5MDdGOThFMDVGRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTA2MDAzRTAxNEYwRTUxNTI0MzRGNTgyRTQzNTE0RjU4M0UwNjAwM0UwMTRGMEUwNjAwMzAyMEUxMTc0MEFGMDEyMDA5RAorOjQwMEQ0NjAwMzZFRjU0MDFGRkY1MTlFNTE1MjQyQ0Y1ODJFNDM1MTRGNTgzRTA2RjYwMDdFNTE5RjBFNTE2NDIxMzEyMThFNDhGMTlFNTE1MjQyN0Y1ODJFNDM1MTRGNTgzRTBGRkU1MTk1NDEwRkU2RjYwMDZFRUYwRTUxNjQyMTNFNTE1MjQxNQorOjQwMEQ4NjAwMjhGNTgyRTQzNTE0RjU4M0UwRkZFNTE5NTQ4MEZFNkY2MDA2RUVGMEU1MTY0MjEzRTUxNTI0MjlGNTgyRTQzNTE0RjU4M0UwRkZFNTE5NTQyMEZFNkY2MDE1RUVGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTQwNEU1MTY2NQorOjQwMERDNjAwNDIxM0U1MTI1NTE2RkZGNTE5RTUxNTI0MkFGNTgyRTQzNTE0RjU4M0UwNkY2MDE2RTUxOUYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFNTA0RTUxNjQyMTNFNTE3NTUxNkZGRjUxOUU1MTUyNDMwRjU4MkU0MzUxNEY1ODM4MAorOjQwMEUwNjAwRTA2RjYwMDdFNTE5RjBFNTE2NDIxMzIyMzAwOTAzMDIwRjExRTUyNDE0NjAyQTE0NjA0MTE0NjA1ODE0NjA2RjI0MDQ2MDAzMDIwRUNGN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTY3NEVGRjA3NTE2MDExMjEyQTE3NTI0MDE1QQorOjQwMEU0NjAwMjI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5Njc0REZGMDc1MTYwMjEyMTJBMTc1MjQwMjIyN0U3QzdGNDA3NTE0N0M3NTE1NDA5MDdGOTY3NEJGRjA3NTE2MDQxMjEyQTE3NTI0MDMyMjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA1MQorOjQwMEU4NjAwN0Y5Njc0N0ZGMDc1MTYwODEyMTJBMTc1MjQwNDIyMzAwNDMzQzIwNDUzMTNERkU0RjUxOTdFMDA3QjAwNzQyRTI1MTlGOUVFMzQwMEZBMTIxMUFCRkY3NDgwMjUxOUY1ODJFNDM0N0JGNTgzRUZGMDA1MTlFNTE5QjQwM0RCOTAyRAorOjQwMEVDNjAwN0ZDMzc0MDNGMDc1MjQwNTIyRTUzNjYwM0JENTM2MEE1MzEzRUYzMDBBMDREMjA5QzIwQUU0RjUxOTdFMDA3QjAwNzQzNTI1MTlGOUVFMzQwMEZBMTIxMUFCRkY3NDgwMjUxOUY1ODJFNDM0N0JGNTgzRUZGMDA1MTlFNTE5QjQ2NworOjQwMEYwNjAwMDNEQjkwN0ZDMzc0MDNGMEU0RjUyNDIyRTRGNTFBN0UwMDdCMDFFNTE1MjUxQUY5RUUzNTE0RkFFNDEyMTFGMTA1MUFFNTFBQjQzQ0U4RTUxNTI0MzVGNTgyRTQzNTE0RjU4Mzc0MDFGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU2OQorOjQwMEY0NjAwODJFNDM1MTRGNTgzNzQwM0YwOTBDMDAwRjA3RjBDRTRGRDEyMTY0NzdGMTBFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRUZGMDEyMTVCNzkwNzg0MTc0MDJGMDdGMDFFNTE1MjQzNkY1ODJFNDM1MTRGNTgzRUZGMDQ0MDY5MEMwMDBGMQorOjQwMEY4NjAwRjA5MDc4NDE3NDA0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzNzQ4MEYwOTBDMDAwRjAwRkU0RkQxMjE2NDdFNEZGN0VBM0U1MTUyNDMyRjU4MkU0MzUxNEY1ODNFRUYwRkQxMjE2NDc5MDc4NDE3NDAxRjA5MEMwMDBFNEYwN0Y4OQorOjQwMEZDNjAwMDU3RDdGMTIxNjQ3N0YwMTEyMTU0RjdGMDM3RDA3MTIxNjQ3MjI1MzEzM0Y5MDdCRjFFMDMwRTMxNjdFN0I3RkMwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxMTIwOEMxOTA3QzMxRTAzMEUzMTY3RTdDN0YwMDc1MTQxNworOjQwMTAwNjAwN0M3NTE1MDA5MDdGOTY3NERGRjA3NTE2MDIxMjA4QzE5MDdDNzFFMDMwRTMxNjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0MTIwOEMxOTA3Q0IxRTAzMEUzMTY3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0YzNworOjQwMTA0NjAwOTY3NDdGRjA3NTE2MDgxMjA4QzEwNTExRTUxMTU0MEZGNTE4NzAxRjkwNzg0MUUwNTRGN0YwOTA3Rjk5RTBGNTE3OTA3ODQxRTA0NDA4RjA5MDdGOTlFMEY0RjUxMjEyMTEyMTIyRTUxOEI0MDEwNDEyMEM3MzIyOTA3RkMyRTAxOAorOjQwMTA4NjAwMjBFMTA4RTUxMzYwMDQxMjBFMTIyMjEyMEM3MzIyNzg3RkU0RjZEOEZENzU4MTM3MDIxMERDMDIxMjI5RTQ5M0EzRjhFNDkzQTM0MDAzRjY4MDAxRjIwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzM0M0NTQwRjQ0MjA3RQorOjQwMTBDNjAwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERkU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDE4NTBFNDdFMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOTU0MUZGRUU0OTNBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0ZBRTQ5M0EzRjhBMgorOjQwMTEwNjAwRTQ5M0EzQzhDNTgyQzhDQUM1ODNDQUYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFOTA3RkQyRTAzMEUxMDMwMjExQUFDMjA5OTA3QjQwRTAxNDYwMjYxNDYwM0IxNDYwNTAyNDgzNjA2NDI0ODA3MDYzN0U3QjdGQzAxQworOjQwMTE0NjAwNzUxNDdCNzUxNUMwOTA3Rjk2NzRFRkYwNzUxNjAxMTIwMDQ2ODA0QjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk2NzRERkYwNzUxNjAyMTIwMDQ2ODAzMzdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk2NzRCRkYwNzUxNjA0MTJGQgorOjQwMTE4NjAwMDA0NjgwMUI3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5Njc0N0ZGMDc1MTYwODEyMDA0NjgwMDMxMjE3NUNFNDkwN0ZEM0YwMjJCQjAxMDY4OTgyOEE4M0UwMjI1MDAyRTcyMkJCRkUwMkUzMjI4OTgyOEE4M0U0OTMyMkJCMDE4OQorOjQwMTFDNjAwMENFNTgyMjlGNTgyRTU4MzNBRjU4M0UwMjI1MDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRTU4MjI5RjU4MkU1ODMzQUY1ODNFNDkzMjJCQjAxMDY4OTgyOEE4M0YwMjI1MDAyRjcyMkJCRkUwMUYzMjJEMDgzRDA4NgorOjQwMTIwNjAwODJGOEU0OTM3MDEyNzQwMTkzNzAwREEzQTM5M0Y4NzQwMTkzRjU4Mjg4ODNFNDczNzQwMjkzNjg2MEVGQTNBM0EzODBERjkwN0ZBRUUwRkZEMzkyMDBFNDMzRkVFRjRFRjBEMkU4NDNEODIwOTA3RkRFNzQwMUYwOTA3RkRGRjA4RQorOjQwMTI0NjAwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGQUFGMDUzOTFFRjkwN0ZBRjc0MDFGMDkwN0ZBRTc0MERGMEQyQUZEMjBCMTIxODE0QzIwMUU0RjUyQkY1MzFDMjA3QzIwMjc1MjlGMDkwN0ZEOEUwNjUyNjYwMDY3NTMyMEZFMEY1MjZDOQorOjQwMTI4NjAwMzAwMjAzMTIwRkQ5MzAwMTA3QzIwMTEyMDYyOTgwRTIzMDA4REZDMjA4MTIxODM1ODBEODIyRTUxMzU1MTY2MDZBRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0UwNzA1Q0U1MTZGNDUyMTNFNTE1MjQyNkZGRTQzNTE0RkVFNEZEMEZBMgorOjQwMTJDNjAwRUZBQTA2NzAwMTBFMTRGNTgyOEE4M0UwRkM3NDgwMkRGNTgyRTQzNDdCRjU4M0VDRjAwREJEMEJFMjkwN0ZDMzc0MEJGMEU1MTUyNDNBRjU4MkU0MzUxNEY1ODM3NDEwRjBFNTE1MjQyRUY1ODJFNDM1MTRGNTgzRTRGMEU1MTVDMQorOjQwMTMwNjAwMjQyRkY1ODJFNDM1MTRGNTgzRTRGMDIyRTUyODQ1Mjc2MDU3QUUyN0FGMjhEM0VGOTQ0MEVFOTQwMDQwMDQ3RTAwN0Y0MEMzRTUyODlGRjUyOEU1Mjc5RUY1MjdFNEZERURDMzlGRTQ5RTUwMUY4NTM0ODI4NTMzODNFMEZDNzQ5NAorOjQwMTM0NjAwMDAyREY1ODJFNDM0N0ZGNTgzRUNGMDBEMDUzNEU1MzQ3MDAyMDUzMzgwREE5MDdGQTk3NDAxRjA5MDdGQUNFMDQ0MDFGMDkwN0ZCNUVGRjAyMjkwN0ZBQ0UwNTRGRUYwRTQ5MDdGQjVGMDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0RjBBNworOjQwMTM4NjAwRjA5MDdGOTZGMEU0OTA3ODRBRjA5MDdGOTRGMDkwN0Y5RDc0RkZGMEU0OTA3Rjk3RjAzMDAwMDdFNTI5NTRGMEZGODAwMjdGMDBFRjQ0MDg5MDc4NDFGMEU0OTA3Rjk4RjA5MDdGOTVGMDkwN0Y5RTc0RkZGMEU0OTA3Rjk4RjBDOQorOjQwMTNDNjAwOTA3RjkzRjA5MDdGOUM3NEYwRjBFNDkwN0Y5NkYwOTA3RjkyRTA1NEZERjAyMjhGMUEwNTJERTUyREFFMkM3MDAyMDUyQzE0RjU4MjhFODNFNTFBRjAxMjE4RjAwNTJERTUyREFDMkM3MDAyMDUyQzE0RjU4MjhDODNFRkYwMTU5RAorOjQwMTQwNjAwMjNFNTIzNjAxRkU1MTUyNDM4RjU4MkU0MzUxNEY1ODNDMDgzQzA4MkUwRkUxMjE4RDg4RjFBRUU0RkQwODJEMDgzRjA4MEI1MjI4RjFBRTRGNTFCNzUxQ0ZGNzUxRDE5NzUxRTg2QUIxQ0FBMURBOTFFOTAwMDAxMTIxMUM0QjRFMQorOjQwMTQ0NjAwMDMxREFGMUIwNTFCRUZCNTFBMDEyMjEyMTFBQjdFMDAyOUZGRUUzQUE5MDc3NTFDRkZGNTFEODkxRTgwRDQ3QjAwN0EwMDc5MDAyMkU0OTA3ODQxRjA5MDc4NEY3NEMwRjBFNDkwNzg1MEYwRTUyQzkwNzg1MUYwQUUyQ0U1MkRGOAorOjQwMTQ4NjAwOTA3ODUyRjA5MDc4NTRFNTIzRjA5MDc4NTc3NDA0RjA5MDdGRTJFMDQ0MTBGMEUwNTRGN0YwRTQ5MDc4NTVGMDkwNzg1NUUwNjBGQTIyRTQ5MDc4NDFGMEU1MkM5MDc4NEZGMEFFMkNFNTJEOTA3ODUwRjA5MDc4NTE3NEMwRjA4MQorOjQwMTRDNjAwRTQ5MDc4NTJGMDkwNzg1NEU1MjNGMDkwNzg1Nzc0MDRGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRjE0NjAxMzE0NjAxNzgwMDA5MDdGQzdFRkYwODAxMzkwN0ZDOUVGRjA4MQorOjQwMTUwNjAwODAwQzkwN0ZDQkVGRjA4MDA1OTA3RkNERUZGMEU1MTY0MjJBMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEYxNDYwMTMxNDYwMTc4MDAwOTA3RkI3RUZGMDgwMTM5MDdGQjlFRkYwODAwQzkwN0ZCQkVGRjA4MDA1OTAzQgorOjQwMTU0NjAwN0ZCREVGRjBFNTE2NDIyQTIyQUUwN0U0RkZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NDdGRkQxMjE2NDc5MDc4NDE3NDAxRjA5MEMwMDBFRUYwRTRFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA0NDgwRkQxMjE2NDcyMkMwRTBBMAorOjQwMTU4NjAwQzBGMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwQzBEMDc1RDAwODUzOTFFRjkwN0ZBOTc0MDFGMDEyMTMxMkQwRDBEMDg2RDA4NEQwODVEMDgyRDA4M0QwRjBEMEUwMzI5MDc4NDE3NDAzRjA5MEMwMDA3NEJGRjA5MDc4NDFEMAorOjQwMTVDNjAwNzQwMkYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzQwNEYwOTBDMDAwRUZGMDkwNzg0MTc0MDNGMEU1MTU2RAorOjQwMTYwNjAwMjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0MDNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0MDZGMDkwQzAwMEVGRjA5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjBGRgorOjQwMTY0NjAwMjI5MDc4NDE3NDAzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjA5MDc4NDE3NDA3RjA5MEMwMDBFRkYwOTA3ODQxNzQwNUYwOTBDMDAwRURGMDIyOTA3ODQxNzQwM0YwOTBDMDAwNzRCRkYwRTQ5MDc4NDFGQQorOjQwMTY4NjAwRjA5MEMwMDBFRkYwOTA3ODQxNzQwM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkM2RTBGRjIyOTA3RkM4RTAxNQorOjQwMTZDNjAwRkYyMjkwN0ZDQUUwRkYyMjkwN0ZDQ0UwRkYyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQjZFMEZGMjI5MDdGQjhFMEZGMjI5MDdGQkFFMEZGMjI5MDdGQkNFMEZGMjJFNTE1MjQ5RQorOjQwMTcwNjAwMDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZDN0UwRkYyMjkwN0ZDOUUwRkYyMjkwN0ZDQkUwRkYyMjkwN0ZDREUwRkYyMkMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMDkwN0ZDNEU0RjA5NgorOjQwMTc0NjAwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzI5MDdCNDFFMEY1MzY0MzEzMTBBM0UwNjAwOTkwN0ZENzc0MTdGMDc0MzdGMDkwN0I0M0UwRjUzN0EzRTA1NEYwRjUyOUUwNjAwMkQyMEEyMkMwRTAyNAorOjQwMTc4NjAwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjAxNTM5MUVGOTA3RkFCNzQwMUYwRDA4NkQwODREMDg1RDA4MkQwODNEMEUwMzJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDBEMjA4NTM5MUVGOTA3RkFCNzQwOEYwRDBGNworOjQwMTdDNjAwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMTIxOEMwQUUwNzEyMThDMEFEMDdFRTZENjAxMDEyMThDMEFFMDdFRTZENjAwNzEyMThDMEFEMDc4MEVDQUYwNjIyNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMjkwN0ZENQorOjQwMTgwNjAwRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDAwMDAyMjkwN0ZENkUwNDQwNEYwRTA0NDA4RjAzMDBCMDRFMDQ0MDJGMDdGRjQ3RTAxMTIxODZCOTA3RkQ2RTA1NEY3RjAyMjEyMTM3QzEyMTgwNDkwN0ZENkUwMzBFNzBBN0YwNTdFMDA3RAorOjQwMTg0NjAwMTIxODZCMTIxODlFMTIwQUI4MjIwMzM1ODAwMDAwMDMyRTgxMDAwMEMxODVDMTgxQzEwOEMxMDBDMTA2MDEyMjAwMDEyNDAwMDA4RTE4OEYxOUU1MTkxNTE5QUUxODcwMDIxNTE4NEU2MDA4MTIxN0YzMTIxN0YzODBFQjIyRTU0NQorOjQwMTg4NjAwMTUyNDA0RjU4MkU0MzUxNEY1ODNFMDA0RkY0NDEwOTA3RkQ3RjBFRjQ0MzBGMDIyOTA3RkQ2RTA0NDAxRjA3RjBEN0UwMDEyMTg2QjkwN0ZENkUwNTRGRUYwMjI5MDc4NDE3NDAyRjA5MEMwMDBFMEZGMjI5MDc4NDE3NDAzRjBENQorOjQwMThDNjAwOTBDMDAwRTBGRjIyOTA3ODQxNzQwNEYwOTBDMDAwRTBGRjIyOTA3ODQxNzQwNUYwOTBDMDAwRTBGRjIyOTA3ODQxNzQwNkYwOTBDMDAwRTBGRjIyRTQ5MDc4NDFGMDkwQzAwMEUwRkYyMjUzRDhFRjMyMDAxMjAxMTAwMUZGMDBBQgorOjQwMTkwNjAwMDA0MENEMDYwQTAxMDAwMDAxMDIwMDA0MDkwMjc0MDAwMTAxMDBBMDMyMDkwNDAwMDAwRUZGMDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1MDIwMjQwMDAwMDA3MDUwMzAyNDAwMDAwMDcwNTA0MDI0MDAwMDAwNzA1MDUwMjQwMDA3QQorOjQwMTk0NjAwMDAwNzA1MDYwMjQwMDAwMDA3MDUwNzAyNDAwMDAwMDcwNTgxMDI0MDAwMDEwNzA1ODIwMjQwMDAwMTA3MDU4MzAyNDAwMDAxMDcwNTg0MDI0MDAwMDEwNzA1ODUwMjQwMDAwMTA3MDU4NjAyNDAwMDAxMDcwNTg3MDI0MDAwMDFGMworOjQwMTk4NjAwMDQwMzA5MDQ0ODAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDJDMDAyMDAwNjEwMDIwMDA2NDAwNjkwMDc2MDA2OTAwNzMwMDY5MDA2RjAwNkUwMDIwMDA2RjAwNjYwMDIwMDA0OTAwNkUwMDZFMDA2RjAwNTMwMDc5MDA0MAorOjQwMTlDNjAwNzMwMDIwMDA0OTAwNkUwMDYzMDAyRTAwMzYwMzU1MDA1MzAwNDIwMDIwMDAzNDAwMkQwMDcwMDA2RjAwNzIwMDc0MDAyMDAwNTMwMDY1MDA3MjAwNjkwMDYxMDA2QzAwMjAwMDQxMDA2NDAwNjEwMDcwMDA3NDAwNjUwMDcyMDAzQworOjQwMUEwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBMAorOjQwMUE0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2MAorOjQwMUE4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMAorOjQwMUFDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjE3ODQwMDAyMUIyNgorOjE1MUIwNjAwMDQwMDAyMTczMjAwMDIxN0FCMDAwMjFCMTAwMDAyMUIxNDAwMDIxNTg0QkUKKzowMDAwMDAwMUZGCisKKwlUaGUgZmlybXdhcmUgY29udGFpbmVkIGhlcmVpbiBpcworCisJCUNvcHlyaWdodCAoQykgMTk5OS0yMDAxCisJCUtleXNwYW4sIEEgZGl2aXNpb24gb2YgSW5ub1N5cyBJbmNvcnBvcmF0ZWQgKCJLZXlzcGFuIikKKworCWFzIGFuIHVucHVibGlzaGVkIHdvcmsuIFRoaXMgbm90aWNlIGRvZXMgbm90IGltcGx5IHVucmVzdHJpY3RlZCBvcgorCXB1YmxpYyBhY2Nlc3MgdG8gdGhlIHNvdXJjZSBjb2RlIGZyb20gd2hpY2ggdGhpcyBmaXJtd2FyZSBpbWFnZSBpcworCWRlcml2ZWQuICBFeGNlcHQgYXMgbm90ZWQgYmVsb3cgdGhpcyBmaXJtd2FyZSBpbWFnZSBtYXkgbm90IGJlCisJcmVwcm9kdWNlZCwgdXNlZCwgc29sZCBvciB0cmFuc2ZlcnJlZCB0byBhbnkgdGhpcmQgcGFydHkgd2l0aG91dAorCUtleXNwYW4ncyBwcmlvciB3cml0dGVuIGNvbnNlbnQuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorCisJUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCBmb3IgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpcm13YXJlCisJaW1hZ2UgYXMgcGFydCBvZiBhIExpbnV4IG9yIG90aGVyIE9wZW4gU291cmNlIG9wZXJhdGluZyBzeXN0ZW0ga2VybmVsCisJaW4gdGV4dCBvciBiaW5hcnkgZm9ybSBhcyByZXF1aXJlZC4KKworCVRoaXMgZmlybXdhcmUgbWF5IG5vdCBiZSBtb2RpZmllZCBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3aXRoCisJS2V5c3BhbiBoYXJkd2FyZS4gIERpc3RyaWJ1dGlvbiBhbmQvb3IgTW9kaWZpY2F0aW9uIG9mIHRoZQorCWtleXNwYW4uYyBkcml2ZXIgd2hpY2ggaW5jbHVkZXMgdGhpcyBmaXJtd2FyZSwgaW4gd2hvbGUgb3IgaW4KKwlwYXJ0LCByZXF1aXJlcyB0aGUgaW5jbHVzaW9uIG9mIHRoaXMgc3RhdGVtZW50LiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3bGMuSEVYIGIvZmlybXdhcmUva2V5c3Bhbi91c2E0OXdsYy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQwNmViMQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL2tleXNwYW4vdXNhNDl3bGMuSEVYCkBAIC0wLDAgKzEsMTUzIEBACis6MDE3RjkyMDAwMUVECis6MDMwMDMzMDAwMjE4RkJCNQorOjBEMDAzNjAwRTUxMTA0OTA3ODQxRjA5MEMwMDBFMEZGMjIzOQorOjEwMDA0NjAwRTRGRjc0NDAyRkY1ODJFNDM0N0JGNTgzRTBGRUU1MTU4QQorOjEwMDA1NjAwMjQwNEZERTQzNTE0RkFBOTA1N0IwMUVGN0MwMDI5Rjk5NworOjEwMDA2NjAwRUMzQUZBRUUxMjExRUMwRkJGMjJEN0U1MTUyNDA1RjU4RQorOjEwMDA3NjAwODJFNDM1MTRGNTgzRTA3MDAzMDIwMTM0RTUxNTI0MDlBMgorOjEwMDA4NjAwRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQwQUY1ODI1MQorOjEwMDA5NjAwRTQzNTE0RjU4M0UwNjAxODdGMDFFNEZEMTIxNjZCRTU4NAorOjEwMDBBNjAwMTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0Q0ZGMDgwNDExMAorOjEwMDBCNjAwRTUxNTI0MDZGNTgyRTQzNTE0RjU4M0UwRkYxMjAwMDMwNgorOjEwMDBDNjAwRTUxNTI0MDdGNTgyRTQzNTE0RjU4M0UwRkYxMjE1QUIzOAorOjEwMDBENjAwN0YwMUU1MTUyNDA4RjU4MkU0MzUxNEY1ODNFMEZEMTI2OQorOjEwMDBFNjAwMTY2QkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0MzBDQQorOjEwMDBGNjAwRjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDgwRjAwMworOjEwMDAwMzAwOTA3ODQxNzRGM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzQxRAorOjEwMDAxMzAwRjBGMDkwQzAwMEVGRjA5MDc4NDE3NEYzRjBFNTE1MjQxMAorOjEwMDAyMzAwMzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI2NQorOjAzMDA0MzAwMDIxQjAwOUQKKzowMzAwMDAwMDAyMTA5MDVCCis6NDAwMTA2MDA5MDc4NDE3NEY0RjBFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMDkwNzg0MTc0RjJGMEU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFMDQ0MDY5MEMwMDBGMEU1MTUyNDBCRjU4MkU0MzUxNEY1ODNFMDYwMzJFNTE1MjQwQzJCCis6NDAwMTQ2MDBGNTgyRTQzNTE0RjU4M0UwNTQzRkZGRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0VGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA5MEMwMDBGMEU1MTUyNDBERjU4MkU0MzUxNEY1ODNFMDcwMDMwMjAyNEZFNTk4Cis6NDAwMTg2MDAxNTI0MTdGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDRGMDgwMEZFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZCRjBFNEZGRTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwRkQxMjE2NkJFNTNBCis6NDAwMUM2MDAxNTI0MEVGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDgwMEZFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA1NDdGRjBFNTE1MjQzM0Y1ODJFNDM1MTRGNTgzRTA1NEZDRjBFNTE1MjQwRkVCCis6NDAwMjA2MDBGNTgyRTQzNTE0RjU4M0UwNjAyRkU1MTUyNDMzRjU4MkU0MzUxNEY1ODNFMDQ0MDJGMEU1MTUyNDEwRjU4MkU0MzUxNEY1ODNFMEZGMTIxNjBCRTUxNTI0MTFGNTgyRTQzNTE0RjU4M0UwRkYxMjE2M0JFNTE1MjQzM0Y1ODJFNDE1Cis6NDAwMjQ2MDAzNTE0RjU4M0UwRkYxMjE1REJFNTE1MjQxNEY1ODJFNDM1MTRGNTgzRTA2MDQ0RTUxNTI0MTVGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDQ0MDFGMDgwMEZFNTE1MjQzOUY1ODJFNDM1MTRGNTVECis6NDAwMjg2MDA4M0UwNTRGRUYwOTA3ODQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxMkY1ODJFNDM1MTRGNTgzRTA2MDQ0RTUxNTI0MTNGNTgyRTQzNTE0RjU4M0UwNjAxMUU1MTUyNDM5RjU4MkU0MzUxNEY2Cis6NDAwMkM2MDBGNTgzRTA0NDAyRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNTRGREYwOTA3ODQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwOTBDMDAwRjBFNTE1MjQxNkY1ODJFNDM1MTRGNTgzRTBGRkU1MTUyNDM1RjU4MjFBCis6NDAwMzA2MDBFNDM1MTRGNTgzRUZGMEU1MTUyNDE3RjU4MkU0MzUxNEY1ODNFMDMwRTAxMUU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0NDBGMDgwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NEJGRjBFNTE1MjQxOEY1ODJFNDM1MTRGNTc2Cis6NDAwMzQ2MDA4M0UwRkZFNTE1MjQzQkY1ODJFNDM1MTRGNTgzRUZGMEU1MTUyNDE5RjU4MkU0MzUxNEY1ODNFMDYwMTFFNTE1MjQzOUY1ODJFNDM1MTRGNTgzRTA0NDEwRjA4MDBGRTUxNTI0MzlGNTgyRTQzNTE0RjU4M0UwNTRFRkYwOTA3ODY5Cis6NDAwMzg2MDA0MTc0RjRGMEU1MTUyNDM5RjU4MkU0MzUxNEY1ODNFMDkwQzAwMEYwRTUxNTI0MUFGNTgyRTQzNTE0RjU4M0UwNjA2QkU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0QkZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNDFGCis6NDAwM0M2MDBGNTgzRTA1NDdGOTBDMDAwRjA5MDc4NDE3NEYxRjAxMjAwMzZFRjU0RkU5MEMwMDBGMEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0RkRGRkYwRkRFNEZGMTIxNjZCRTUxNTI0MkNGNTgyRTQzNTE0RjU4M0U0RjBFNTE1MjQyQkEzCis6NDAwNDA2MDBGNTgyRTQzNTE0RjU4M0U0RjBFNTE2NDIxM0U1MTUyNDFCRjU4MkU0MzUxNEY1ODNFMDcwMEVFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI4RTUxNTI0MzJGNTgyRTQzNTE0RjU4M0UwNDQwMkZGRjBGREU0RkYxMjE2NkJFNTIzCis6NDAwNDQ2MDAxNTI0MkJGNTgyRTQzNTE0RjU4Mzc0MDFGMEU1MTY0MjEzRTUxNTI0MUNGNTgyRTQzNTE0RjU4M0UwRkY3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyQTkwNzg0MTc0RjJGMEU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFMEQ2Cis6NDAwNDg2MDA0NDA0OTBDMDAwRjBFRjYwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA0NDA0RjBFNTE1MjQxREY1ODJFNDM1MTRGNTgzRTA2MDI3RTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNDQ0MEYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTYwCis6NDAwNEM2MDA4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMEU1MTUyNDFFRjU4MkU0MzUxNEY1ODNFMDYwMjhFNTE1MjQzMkY1ODJFNDM1MTRGNTgzRTA1NEZFRkZGMEZERTRGRjEyMTY2QkU1MTUyNDJERjU4MkU0MzUxNEY1ODM3NDAxRjBFNTZCCis6NDAwNTA2MDAxNjQyMTNFNTE1MjQxRkY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAyN0U1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0MDFGRkYwRkRFNEZGMTIxNjZCRTUxNTI0MkRGNTgyRTQzNTE0RjU4MzczCis6NDAwNTQ2MDBFNEYwRTUxNjQyMTNFNTE1MjQyMEY1ODJFNDM1MTRGNTgzRTA3MDBFRTUxNTI0MjVGNTgyRTQzNTE0RjU4M0UwNjAxODkwNzg0MTc0RjJGMEU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFMDQ0MDI5MEMwMDBGMEU1MTUyNDIxRjU4MkI3Cis6NDAwNTg2MDBFNDM1MTRGNTgzRTA2MDBGRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwMkYwRTUxNTI0MjJGNTgyRTQzNTE0RjU4M0UwNjAxRkU1MTUyNDJFRjU4MkU0MzUxNEY1ODM3NDAxRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzRTRGMEYwCis6NDAwNUM2MDBFNTE2NDIxM0U1MTUyNDIzRjU4MkU0MzUxNEY1ODNFMDYwMDMxMjE4N0FFNTE1MjQyNEY1ODJFNDM1MTRGNTgzRTA2MDIzRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNDQwOEYwRTUxNkM0NTRGMEZGNDIxMTkwN0Y5NkUwNEZGMDAwCis6NDAwNjA2MDA5MDc4NDFFMDRGRjBFNTE1MjQyNUY1ODJFNDM1MTRGNTgzRTA2MDI0RTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTRGN0YwRTUxNkM0NTRGMEY0RkY1MjExOTA3Rjk2RTA1RkYwOTA3ODQxRTA1RkYwMjI5MDdGRTlFMDEyMTFGRTQzCis6NDAwNjQ2MDAwNzk5MDAwODBEMDEwODc5MDMwNjYyMDYwNzhBMDgwNzdFMDkwNzY2MEEwNzc1MEIwMDAwMDhDODkwN0ZFQkUwMjRGRTYwMUMxNDcwMDMwMjA3MTQyNDAyNjAwMzAyMDc1Qzc0MTk5MDdGRDRGMDc0MDA5MDdGRDVGMDAyMDhDRjRDCis6NDAwNjg2MDA5MDdGRUFFMDA0NzU4MjE3NzU4MzE5RjA5MDdGRUFFMDMwRTAwNDdGMDI4MDAyN0YwMzc1ODI4Mjc1ODMxOUVGRjA3NTgyNkQ3NTgzMTlGMDc1ODI2Njc1ODMxOUYwNzU4MjVGNzU4MzE5RjA3NTgyNTg3NTgzMTlGMDkwN0ZFQTBBCis6NDAwNkM2MDBFMDMwRTEwNDdGNjQ4MDAyN0YzMjc1ODIxQTc1ODMxOUVGRjA5MDdGRUZFMEZFOTA3RkVFRTA3QzAwMjQwMEY1MThFQzNFRjUxNzc1MzMxOTc1MzQxMjc1ODIxNDc1ODMxOUUwNzUyNzAwRjUyOEQzRTUyODk1MThFNTI3OTUxN0Q2Cis6NDAwNzA2MDA0MDA2ODUxNzI3ODUxODI4MTIxMzBEMDIwOENGOTA3RkVBRTBGRjEyMTQ1RkVBNDk2MDMyOTA3RkVFRTA3NTE3MDBGNTE4QUUwMkFGMDE4RTMzOEYzNDhGODI4RTgzRTBGRUEzRTA4RTI3RjUyOEQzOTUxOEU1Mjc5NTE3NDAwNjhCCis6NDAwNzQ2MDA4NTE3Mjc4NTE4MjgxMjEzMEQwMjA4Q0Y5MDdGQjRFMDQ0MDFGMDAyMDhDRjkwN0ZCNEUwNDQwMUYwMDIwOENGOTA3RjAwRTUyNUYwOTA3RkI1NzQwMUYwMDIwOENGOTA3RkVBRTBGNTI1MDIwOENGOTA3RkVBRTBGNTIyMTIwQTlCCis6NDAwNzg2MDBDRTAyMDhDRjkwN0YwMEU1MjJGMDkwN0ZCNTc0MDFGMDAyMDhDRjkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyMDBFNDMzRkYyNUUwRkZBMjA2RTQzMzRGOTA3RjAwRjBFNEEzRjA5MDdGQjU3NDAyRjAwMjA4Q0ZFNEM5Cis6NDAwN0M2MDA5MDdGMDBGMEEzRjA5MDdGQjU3NDAyRjAwMjA4Q0Y5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODNFMDU0RkQ5MDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDhDRjkwN0ZCNDVDCis6NDAwODA2MDBFMDQ0MDFGMDAyMDhDRjkwN0ZFOEUwMjRGRTYwMUQyNDAyNjAwMzAyMDhDRjkwN0ZFQUUwQjQwMTA1QzIwMDAyMDhDRjkwN0ZCNEUwNDQwMUYwMDIwOENGOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NTQwRkZGRTA1NDkwCis6NDAwODQ2MDAwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4M0U0RjA5MDdGRUNFMDU0ODBGRjEzMTMxMzU0MUZGRkUwNTQwNzJGOTA3RkQ3RjBFMDQ0MjBGMDgwNUY5MDdGQjRFMDQ0MDFGMDgwNTY5MDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MENBCis6NDAwODg2MDA3RkVBRTBCNDAxMDREMjAwODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwN0ZFQUUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGRjU4Mzc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDQ2Cis6NDAwOEM2MDA4MDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyRTUxMjU0MEY3MDAzMDIwOUM4MTIxNjlBRUYyMEUxNzUxMjE2RjhFRjE0RjUxODEyMThDNUVGMjUxOEZGRTQzM0ZFQzNFRjk0ODBFRTY0ODA5NDgwNTA1OTg1MTU4MjAxCis6NDAwOTA2MDA4NTE0ODNFMEZFQTNFMEZGRjU4MjhFODNFMDMwRTAxMUU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDQ0ODBGMDgwMEZFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTA1NDdGRjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAyMEUyMTJFNUNDCis6NDAwOTQ2MDAxODYwMEVGNTIzRUYyNDAxRjUyREU0M0VGNTJDMTIxNEEwRTRGRjEyMTREN0U1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTc1RDEyMThDNUU1MTUyNDNCRjU4MkU0MzUxNEY1ODNFMEZFRUZDMzlFNTA0OEU1MTUyNDJGRjU4MjA3Cis6NDAwOTg2MDBFNDM1MTRGNTgzNzQwMUYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwNTQ3QkYwRTUxNTI0M0FGNTgyRTQzNTE0RjU4M0U0RjBFNTE2NDIxMzkwN0ZDMkUwMzBFMTEwRTUxNTI0MjZGNTgyRTQzNTE0RjU4M0UwRjUyNDgwMDMxMkM1Cis6NDAwOUM2MDAxMjlDMTIxNkM5RUYzMEUxMDMwMjBBQ0QxMjE3Qzc4RjE4MTIxOEQzRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0VGRjBFNTE1MjQzNUY1ODJFNDM1MTRGNTgzRTBGRkU1MThDMzlGNTAyODEyMThBOUVGMzBFMDIxRTUxNTI0MzhGNTJFCis6NDAwQTA2MDA4MkU0MzUxNEY1ODNFMDIwRTcxMkU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDIwRTEwMzAyMEFDREU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDU0RkRGMEU1MTg3MDAzMDIwQUNEQjQ4MDBGRTUxNTI0MzhGNTgyRTQzNTE0RjU4M0RFCis6NDAwQTQ2MDBFMDQ0MDJGMEU1MTUyNDM4RjU4MkU0MzUxNEY1ODNFMEZGMzBFNzI5RTUxOEQzOTQyMDQwMDM3NTE4MjA4NTE4MjM4NTE1ODI4NTE0ODNBM0EzRTBGQ0EzRTA4QzJDRjUyRDEyMTNDRkU1MTgyNUUwRkYxMjE1MEQyMkU1MThEM0MzCis6NDAwQTg2MDA5NDNGNDAwMzc1MTgzRjg1MTgyM0U1MTUyNDM4RjU4MkU0MzUxNEY1ODNFMEZGODUxNTgyODUxNDgzQTNBM0UwRkNBM0UwRjU4MjhDODNFRkYwODUxNTgyODUxNDgzQTNBM0UwRkVBM0UwMjQwMUY1MkRFNDNFRjUyQzEyMTQxRDRGCis6NDAwQUM2MDBFNTE4MDRGRjEyMTUwRDIyRTQ5MDdGOTNGMDkwN0Y5Qzc0RkZGMEU0OTA3Rjk2RjA5MDdGOTRGMDkwNzg0QTA0RjBGNThFOTA3Rjk1NzRDMEYwOTA3RjlFNzQzRkYwOTA3Rjk4NzQyRkYwOTA3ODQzNzRGN0YwRTQ5MDc4NDFGMDJDCis6NDAwQjA2MDA5MDdGREY3NDlGRjA5MDdGREVGMDkwN0Y5MkUwNDQwMkYwN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDExMjBGMjg3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5ODc0MkVGMDc1MTYwMUU1MTUyNDI2RjU4MjkwCis6NDAwQjQ2MDBFNDM1MTRGNTgzRTRGMDdFN0U3RjQwODUxNTgyODUxNDgzNzQ3RUYwQTM3NDQwRjA3RTdFN0Y4MDg1MTU4Mjg1MTQ4M0EzQTM3NDdFRjBBMzc0ODBGMDdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyMTIwRjBBCis6NDAwQjg2MDAyODdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyRTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MDFGMDdFN0Q3RkMwODUxNTgyODUxNDgzNzQ3REYwQTM3NEMwRjA3RTdFN0YwMDg1MTU4Mjg1MTQ4M0EzQTM3NEVFCis6NDAwQkM2MDA3RUYwQTM3NDAwRjA3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNDEyMEYyODdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk4NzQyQkYwNzUxNjA0RTUxNTI0MjZGNTgyRTQzNTE0RjU4Mzc0MDJGMDdFN0Q3RjU3Cis6NDAwQzA2MDA0MDg1MTU4Mjg1MTQ4Mzc0N0RGMEEzNzQ0MEYwN0U3RDdGODA4NTE1ODI4NTE0ODNBM0EzNzQ3REYwQTM3NDgwRjA3RTdDN0Y4MDc1MTQ3Qzc1MTU4MDkwN0Y5ODc0MjdGMDc1MTYwODEyMEYyODdFN0M3RjgwNzUxNDdDNzUxNTkwCis6NDAwQzQ2MDA4MDkwN0Y5ODc0MjdGMDc1MTYwOEU1MTUyNDI2RjU4MkU0MzUxNEY1ODM3NDAzRjA3RTdDN0ZDMDg1MTU4Mjg1MTQ4Mzc0N0NGMEEzNzRDMEYwN0U3RDdGMDA4NTE1ODI4NTE0ODNBM0EzNzQ3REYwQTM3NDAwRjBDMjBBQzIwOUQzCis6NDAwQzg2MDBFNEY1MTFEMjAyMjJFNTEwMDQ1NDAzRjUxMDE0NjAxRjE0NjAzMTE0NjA0MzI0MDM3MDUyN0U3QjdGQzA3NTE0N0I3NTE1QzA5MDdGOTg3NDJFRjA3NTE2MDE4MDNEN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTY0Cis6NDAwQ0M2MDAxNjAyODAyODdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk4NzQyQkYwNzUxNjA0ODAxMzdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4RTUzMjU1MTY3MDAzMDIwRTI3RTUxNkY0NTIzMkU1MjY1NDdGRkY3MDk1Cis6NDAwRDA2MDAxN0U1MkE1NTE2NjAzNDkwN0Y5NkUwRkVFNTE2QzQ1NEYwRjRGREVFNURGMDgwMjNCRjIwMjBFNTE1MjQzMUY1ODJFNDM1MTRGNTgzRTAzMEUzMTFFNEY1MkE5MDdGOTZFMEZGRTUxNkM0NTRGMEZFRUY0RUYwRTUxNTI0M0FGNUMzCis6NDAwRDQ2MDA4MkU0MzUxNEY1ODNFMDYwMDNFMDE0RjBFNTE1MjQzNEY1ODJFNDM1MTRGNTgzRTA2MDAzRTAxNEYwRTA2MDAzMDIwRTI3NzQwQUYwMTIwMDM2RUY1NDAxRkZGNTE4RTUxNTI0MkNGNTgyRTQzNTE0RjU4M0UwNkY2MDA3RTUxOEYxCis6NDAwRDg2MDBGMEU1MTY0MjEzMTIxOEUxOEYxOEU1MTUyNDI3RjU4MkU0MzUxNEY1ODNFMEZGRTUxODU0MTBGRTZGNjAwNkVFRjBFNTE2NDIxM0U1MTUyNDI4RjU4MkU0MzUxNEY1ODNFMEZGRTUxODU0ODBGRTZGNjAwNkVFRjBFNTE2NDIxMzg2Cis6NDAwREM2MDBFNTE1MjQyOUY1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDIwRkU2RjYwMTVFRUYwRTUxNTI0MzFGNTgyRTQzNTE0RjU4M0UwMzBFNDA0RTUxNjQyMTNFNTE1MjQyQUY1ODJFNDM1MTRGNTgzRTBGRkU1MTg1NDQwRkU2RjYwMTVFRTIzCis6NDAwRTA2MDBGMEU1MTUyNDMxRjU4MkU0MzUxNEY1ODNFMDMwRTUwNEU1MTY0MjEzRTUxNTI0MzBGNTgyRTQzNTE0RjU4M0U0RjAyMjMwMDkwMzAyMEYyN0U1MjQxNDYwMkExNDYwNDExNDYwNTgxNDYwNkYyNDA0NjAwMzAyMEVFNTdFN0I3RjMxCis6NDAwRTQ2MDBDMDc1MTQ3Qjc1MTVDMDkwN0Y5ODc0MkVGMDc1MTYwMTEyMTI5Qzc1MjQwMTIyN0U3QzdGMDA3NTE0N0M3NTE1MDA5MDdGOTg3NDJERjA3NTE2MDIxMjEyOUM3NTI0MDIyMjdFN0M3RjQwNzUxNDdDNzUxNTQwOTA3Rjk4NzQyQjA1Cis6NDAwRTg2MDBGMDc1MTYwNDEyMTI5Qzc1MjQwMzIyN0U3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDgxMjEyOUM3NTI0MDQyMjMwMDQzM0MyMDQ1MzEzREZFNEY1MTg3RTAwN0IwMDc0MkUyNTE4RjlFRTM0MDBGQTEyMTFBNkNBCis6NDAwRUM2MDBGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjA3NTI0MDUyMkU1MzY2MDNCRDUzNjBBNTMxM0VGMzAwQTA0RDIwOUMyMEFFNEY1MTg3RTAwN0IwMDc0MzUyNTE4RjlFRTM0MDBGQUNDCis6NDAwRjA2MDAxMjExQTZGRjc0ODAyNTE4RjU4MkU0MzQ3QkY1ODNFRkYwMDUxOEU1MThCNDAzREI5MDdGQzM3NDAzRjBFNEY1MjQyMkU0RjUxOTdFMDA3QjAxRTUxNTI1MTlGOUVFMzUxNEZBRTQxMjExRUMwNTE5RTUxOUI0M0NFOEU1MTUyNEZBCis6NDAwRjQ2MDAzNUY1ODJFNDM1MTRGNTgzNzQwMUYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4Mzc0MDNGMDkwQzAwMEYwN0YwQ0U0RkQxMjE2NkI3RjEwRTUxNTI0MzNGNTgyRTQzNTE0RjU4M0VGRjAxMjE1REI5MDc4NDE3NDY0Cis6NDAwRjg2MDBGMkYwN0YwMUU1MTUyNDM2RjU4MkU0MzUxNEY1ODNFRkYwNDQwNjkwQzAwMEYwOTA3ODQxNzRGNEYwRTUxNTI0MzlGNTgyRTQzNTE0RjU4Mzc0ODBGMDkwQzAwMEYwMEZFNEZEMTIxNjZCRTRGRjdFQTNFNTE1MjQzMkY1ODJFNDg2Cis6NDAwRkM2MDAzNTE0RjU4M0VFRjBGRDEyMTY2QjkwNzg0MTc0RjFGMDkwQzAwMEU0RjA3RjA1N0Q3RjEyMTY2QjdGMDExMjE1NDM3RjAzN0QwNzEyMTY2QjIyNTMxMzNGOTA3QkYxRTAzMEUzMTY3RTdCN0ZDMDc1MTQ3Qjc1MTVDMDkwN0Y5ODZCCis6NDAxMDA2MDA3NDJFRjA3NTE2MDExMjA4RDc5MDdDMzFFMDMwRTMxNjdFN0M3RjAwNzUxNDdDNzUxNTAwOTA3Rjk4NzQyREYwNzUxNjAyMTIwOEQ3OTA3QzcxRTAzMEUzMTY3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNEM0Cis6NDAxMDQ2MDAxMjA4RDc5MDdDQjFFMDMwRTMxNjdFN0M3RjgwNzUxNDdDNzUxNTgwOTA3Rjk4NzQyN0YwNzUxNjA4MTIwOEQ3MDUxMkU1MTI1NDBGRjUxNzcwMDQxMjExMUMyMkU1MTdCNDAxMDQxMjBDOEMyMjkwN0ZDMkUwMjBFMTA4RTUxMzcwCis6NDAxMDg2MDA2MDA0MTIwRTI4MjIxMjBDOEMyMjc4N0ZFNEY2RDhGRDc1ODEzNzAyMTBENzAyMTIyNEU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyMDhERkY0ODAyOUU0OTNBM0Y4NTQwNzI0MENDOEMzMzNDNDU0MEY0NDIwQzg4MzQwMDRGNEQ3Cis6NDAxMEM2MDA1NjgwMDE0NkY2REZFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAxODQ1RTQ3RTAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzQTM2MDAxMEVDRjU0QzAyNUUwNjBBODQwQjhFNDkzQTNGQUU0OTNBM0Y4RTQ5M0EzQzhDNTg5Cis6NDAxMTA2MDA4MkM4Q0FDNTgzQ0FGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTkwN0ZEMkUwMzBFMTAzMDIxMUE1QzIwOTkwN0I0MEUwMTQ2MDI2MTQ2MDNCMTQ2MDUwMjQ4MzYwNjQyNDgwNzA2MzdFN0I3RkMwNzUxNDdCNzUxNTNBCis6NDAxMTQ2MDBDMDkwN0Y5ODc0MkVGMDc1MTYwMTEyMDA0NjgwNEI3RTdDN0YwMDc1MTQ3Qzc1MTUwMDkwN0Y5ODc0MkRGMDc1MTYwMjEyMDA0NjgwMzM3RTdDN0Y0MDc1MTQ3Qzc1MTU0MDkwN0Y5ODc0MkJGMDc1MTYwNDEyMDA0NjgwMUI3RTJCCis6NDAxMTg2MDA3QzdGODA3NTE0N0M3NTE1ODA5MDdGOTg3NDI3RjA3NTE2MDgxMjAwNDY4MDAzMTIxNzUxRTQ5MDdGRDNGMDIyQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFMzIyODk4MjhBODNFNDkzMjJCQjAxMENFNTgyMjlGNUI4Cis6NDAxMUM2MDA4MkU1ODMzQUY1ODNFMDIyNTAwNkU5MjU4MkY4RTYyMkJCRkUwNkU5MjU4MkY4RTIyMkU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyQkIwMTA2ODk4MjhBODNGMDIyNTAwMkY3MjJCQkZFMDFGMzIyRDA4M0QwODJGOEU0OTM3MEI2Cis6NDAxMjA2MDAxMjc0MDE5MzcwMERBM0EzOTNGODc0MDE5M0Y1ODI4ODgzRTQ3Mzc0MDI5MzY4NjBFRkEzQTNBMzgwREY5MDdGQUVFMEZGRDM5MjAwRTQzM0ZFRUY0RUYwRDJFODQzRDgyMDkwN0ZERTc0MDFGMDkwN0ZERkYwOTA3RkFCNzRGRkMyCis6NDAxMjQ2MDBGMDkwN0ZBOUYwOTA3RkFBRjA1MzkxRUY5MDdGQUY3NDAxRjA5MDdGQUU3NDBERjBEMkFGRDIwQjEyMTgwOUMyMDFFNEY1MkJGNTMxQzIwN0MyMDI3NTI5MEY5MDdGRDhFMDY1MjY2MDA2NzUzMjBGRTBGNTI2MzAwMjAzMTIwRjhDCis6NDAxMjg2MDBFRjMwMDEwN0MyMDExMjA2M0Y4MEUyMzAwOERGQzIwODEyMTgyQTgwRDgyMkU1MTM1NTE2NjA2QUU1MTUyNDNBRjU4MkU0MzUxNEY1ODNFMDcwNUNFNTE2RjQ1MjEzRTUxNTI0MjZGRkU0MzUxNEZFRTRGRDBGRUZBQTA2NzAwMUM3Cis6NDAxMkM2MDAwRTE0RjU4MjhBODNFMEZDNzQ4MDJERjU4MkU0MzQ3QkY1ODNFQ0YwMERCRDBCRTI5MDdGQzM3NDBCRjBFNTE1MjQzQUY1ODJFNDM1MTRGNTgzNzQxMEYwRTUxNTI0MkVGNTgyRTQzNTE0RjU4M0U0RjBFNTE1MjQyRkY1ODJFNDIzCis6NDAxMzA2MDAzNTE0RjU4M0U0RjAyMkU1Mjg0NTI3NjA1N0FFMjdBRjI4RDNFRjk0NDBFRTk0MDA0MDA0N0UwMDdGNDBDM0U1Mjg5RkY1MjhFNTI3OUVGNTI3RTRGREVEQzM5RkU0OUU1MDFGODUzNDgyODUzMzgzRTBGQzc0MDAyREY1ODJFNEJBCis6NDAxMzQ2MDAzNDdGRjU4M0VDRjAwRDA1MzRFNTM0NzAwMjA1MzM4MERBOTA3RkE5NzQwMUYwOTA3RkFDRTA0NDAxRjA5MDdGQjVFRkYwMjI5MDdGQUNFMDU0RkVGMEU0OTA3RkI1RjAyMjkwN0Y5ODc0MEZGMEU0OTA3ODRBRjA5MDdGOTRGMEUxCis6NDAxMzg2MDA5MDdGOUQ3NEZGRjBFNDkwN0Y5N0YwOTA3ODQxRjA5MDdGOTNGMDkwN0Y5Qzc0RkZGMDMwMDAwN0U1Mjk1NDBGRkY4MDAyN0YwMDkwN0Y5NkVGRjA5MDdGOTg3NDFGRjBFNDkwN0Y5NUYwOTA3RjlFNzQzRkYwOTA3Rjk4NzRERkFECis6NDAxM0M2MDBGMDkwN0Y5MkUwNTRGREYwMjI4RjE5MDUyREU1MkRBRTJDNzAwMjA1MkMxNEY1ODI4RTgzRTUxOUYwMTIxOEVGMDUyREU1MkRBQzJDNzAwMjA1MkMxNEY1ODI4QzgzRUZGMDE1MjNFNTIzNjAxRkU1MTUyNDM4RjU4MkU0MzUxNDE2Cis6NDAxNDA2MDBGNTgzQzA4M0MwODJFMEZFMTIxOEQzOEYxOUVFNEZEMDgyRDA4M0YwODBCNTIyOTA3ODQxRTUxMUYwOTA3ODRGNzRDMEYwRTQ5MDc4NTBGMEU1MkM5MDc4NTFGMEFFMkNFNTJEOTA3ODUyRjA5MDc4NTRFNTIzRjA5MDc4NTc3NDcwCis6NDAxNDQ2MDAwNEYwOTA3RkUyRTA0NDEwRjBFMDU0RjdGMEU0OTA3ODU1RjA5MDc4NTVFMDYwRkEyMjhGMTlFNEY1MUE3NTFCRkY3NTFDMTk3NTFEODZBQjFCQUExQ0E5MUQ5MDAwMDExMjExQkZCNDAzMURBRjFBMDUxQUVGQjUxOTAxMjIxMkY5Cis6NDAxNDg2MDAxMUE2N0UwMDI5RkZFRTNBQTkwNzc1MUJGRkY1MUM4OTFEODBENDdCMDA3QTAwNzkwMDIyOTA3ODQxRTUxMUYwRTUyQzkwNzg0RkYwQUUyQ0U1MkQ5MDc4NTBGMDkwNzg1MTc0QzBGMEU0OTA3ODUyRjA5MDc4NTRFNTIzRjA5MDdECis6NDAxNEM2MDA3ODU3NzQwNEYwRTQ5MDc4NTVGMDkwNzg1NUUwNjBGQTIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBGMTQ2MDEzMTQ2MDE3ODAwMDkwN0ZDN0VGRjA4MDEzOTA3RkM5RUZGMDgwMEM5MDdGQ0JFRkYwODAwNTkwN0ZDREVECis6NDAxNTA2MDBFRkYwRTUxNjQyMkEyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDE0NjAwRjE0NjAxMzE0NjAxNzgwMDA5MDdGQjdFRkYwODAxMzkwN0ZCOUVGRjA4MDBDOTA3RkJCRUZGMDgwMDU5MDdGQkRFRkYwRTUxNjQyMkEyMkFFMDdFNEE0Cis6NDAxNTQ2MDBGRkU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDU0N0ZGRDEyMTY2QjkwNzg0MTc0RjFGMDkwQzAwMEVFRjBFNEU1MTUyNDMyRjU4MkU0MzUxNEY1ODNFMDQ0ODBGRDEyMTY2QjIyQzBFMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4NkExCis6NDAxNTg2MDA3NTg2MDBDMEQwNzVEMDA4NTM5MUVGOTA3RkE5NzQwMUYwMTIxMzBERDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBGMEQwRTAzMjkwNzg0MTc0RjNGMDkwQzAwMDc0QkZGMDkwNzg0MTc0RjFGMDkwQzAwMEVGRjA5MDc4NDE3NEE4Cis6NDAxNUM2MDBGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RjkwQzAwMEYwMjI5MDc4NDE3NEYzRjA5MEMwMDA3NEJGRjA5MDc4NDE3NEYyRjA5MEMwMDBFRkYwOTA3ODQxNzRGM0YwRTUxNTI0MzdGNTgyRTQzNTE0RjU4M0UwNTQ3RkQ3Cis6NDAxNjA2MDA5MEMwMDBGMDIyOTA3ODQxNzRGM0YwOTBDMDAwNzRCRkYwOTA3ODQxNzRGNEYwOTBDMDAwRUZGMDkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDIyOTA3ODQxNzRGM0YwOTBDMDAwNzRCRjE2Cis6NDAxNjQ2MDBGMDkwNzg0MTc0RjZGMDkwQzAwMEVGRjA5MDc4NDE3NEYzRjBFNTE1MjQzN0Y1ODJFNDM1MTRGNTgzRTA1NDdGOTBDMDAwRjAyMjkwNzg0MTc0RjNGMEU1MTUyNDM3RjU4MkU0MzUxNEY1ODNFMDU0N0Y5MEMwMDBGMDkwNzg0MTJGCis6NDAxNjg2MDA3NEY3RjA5MEMwMDBFRkYwOTA3ODQxNzRGNUYwOTBDMDAwRURGMDIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDBFMTQ2MDExMTQ2MDE0ODAwMDkwN0ZDNkUwRkYyMjkwN0ZDOEUwRkYyMjkwN0ZDQUUwRkYyMjkwN0ZDQzE5Cis6NDAxNkM2MDBFMEZGMjJFNTE1MjQwNEY1ODJFNDM1MTRGNTgzRTAxNDYwMEUxNDYwMTExNDYwMTQ4MDAwOTA3RkI2RTBGRjIyOTA3RkI4RTBGRjIyOTA3RkJBRTBGRjIyOTA3RkJDRTBGRjIyRTUxNTI0MDRGNTgyRTQzNTE0RjU4M0UwMTQ2MDAwCis6NDAxNzA2MDAwRTE0NjAxMTE0NjAxNDgwMDA5MDdGQzdFMEZGMjI5MDdGQzlFMEZGMjI5MDdGQ0JFMEZGMjI5MDdGQ0RFMEZGMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NTg2MDA5MDdGQzRFNEYwNTM5MUVGOTA3RkFCNzQwNEYwRDA4NkJGCis6NDAxNzQ2MDBEMDg0RDA4NUQwODJEMDgzRDBFMDMyOTA3QjQxRTBGNTM2NDMxMzEwQTNFMDYwMDk5MDdGRDc3NDE3RjA3NDM3RjA5MDdCNDNFMEY1MzdBM0UwNTRGMEY1MjlFMDYwMDJEMjBBMjJDMEUwQzA4M0MwODJDMDg1QzA4NEMwODY3NUE2Cis6NDAxNzg2MDA4NjAwRDIwMTUzOTFFRjkwN0ZBQjc0MDFGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQzBFMEMwODNDMDgyQzA4NUMwODRDMDg2NzU4NjAwRDIwODUzOTFFRjkwN0ZBQjc0MDhGMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDNDCis6NDAxN0M2MDAzMjEyMThCN0FFMDcxMjE4QjdBRDA3RUU2RDYwMTAxMjE4QjdBRTA3RUU2RDYwMDcxMjE4QjdBRDA3ODBFQ0FGMDYyMjc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MjI5MDdGRDZFMDQ0ODBGMDQzODcwMTAwMDAwMDQ4Cis6NDAxODA2MDAwMDAwMjI5MDdGRDZFMDQ0MDRGMEUwNDQwOEYwMzAwQjA0RTA0NDAyRjA3RkY0N0UwMTEyMTg2MDkwN0ZENkUwNTRGN0YwMjIxMjEzNzcxMjE3Rjk5MDdGRDZFMDMwRTcwQTdGMDU3RTAwMTIxODYwMTIxODkzMTIwQUNFMjIwMzc4Cis6NDAxODQ2MDAzNTgwMDAwMDAzMkU4MTAwMDBDMTg1QzE4MUMxMDhDMTAwQzEwNjAxMjIwMDAxMjQwMDAwOEUxNzhGMThFNTE4MTUxOEFFMTc3MDAyMTUxNzRFNjAwODEyMTdFODEyMTdFODgwRUIyMkU1MTUyNDA0RjU4MkU0MzUxNEY1ODNFMDdFCis6NDAxODg2MDAwNEZGNDQxMDkwN0ZEN0YwRUY0NDMwRjAyMjkwN0ZENkUwNDQwMUYwN0YwRDdFMDAxMjE4NjA5MDdGRDZFMDU0RkVGMDIyRTUxMTI0MDI5MDc4NDFGMDkwQzAwMEUwRkYyMkU1MTEyNDAzOTA3ODQxRjA5MEMwMDBFMEZGMjJFNTk3Cis6NDAxOEM2MDAxMTI0MDQ5MDc4NDFGMDkwQzAwMEUwRkYyMkU1MTEyNDA1OTA3ODQxRjA5MEMwMDBFMEZGMjJFNTExMjQwNjkwNzg0MUYwOTBDMDAwRTBGRjIyOTA3ODQxRTUxMUYwOTBDMDAwRTBGRjIyNTNEOEVGMzIwMDEyMDExMDAxRkZGRkRFCis6NDAxOTA2MDBGRjQwQ0QwNjJBMDEwMDAwMDEwMjAwMDQwOTAyNzQwMDAxMDEwMEEwMzIwOTA0MDAwMDBFRkYwMDAwMDAwNzA1MDEwMjQwMDAwMDA3MDUwMjAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDUwNTAyNDAwMDVCCis6NDAxOTQ2MDAwMDA3MDUwNjAyNDAwMDAwMDcwNTA3MDI0MDAwMDAwNzA1ODEwMjQwMDAwMTA3MDU4MjAyNDAwMDAxMDcwNTgzMDI0MDAwMDEwNzA1ODQwMjQwMDAwMTA3MDU4NTAyNDAwMDAxMDcwNTg2MDI0MDAwMDEwNzA1ODcwMjQwMDAwMUYzCis6NDAxOTg2MDAwNDAzMDkwNDQ4MDM0QjAwNjUwMDc5MDA3MzAwNzAwMDYxMDA2RTAwMkMwMDIwMDA2MTAwMjAwMDY0MDA2OTAwNzYwMDY5MDA3MzAwNjkwMDZGMDA2RTAwMjAwMDZGMDA2NjAwMjAwMDQ5MDA2RTAwNkUwMDZGMDA1MzAwNzkwMDQwCis6NDAxOUM2MDA3MzAwMjAwMDQ5MDA2RTAwNjMwMDJFMDAyNDAzNEIwMDY1MDA3OTAwNzMwMDcwMDA2MTAwNkUwMDIwMDA1NTAwNTMwMDQxMDAyRDAwMzQwMDM5MDA1NzAwNEMwMDQzMDAyMjAzNTUwMDUzMDA0MTAwMkQwMDM2MDAzNTAwMjAwMEI1Cis6NDAxQTA2MDAzMjAwMzAwMDMwMDAzMzAwNkEwMDYxMDA2RTAwMzMwMDMxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6NDAxQTQ2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6NDAxQTg2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6NDAxQUM2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMTc3OTAwMDIxQjMxCis6MTUxQjA2MDAwNDAwMDIxNzI3MDAwMjE3QTAwMDAyMUIxMDAwMDIxQjE0MDAwMjE1NzhFMAorOjAwMDAwMDAxRkYKKworCVRoZSBmaXJtd2FyZSBjb250YWluZWQgaGVyZWluIGlzCisKKwkJQ29weXJpZ2h0IChDKSAxOTk5LTIwMDMKKwkJS2V5c3BhbiwgQSBkaXZpc2lvbiBvZiBJbm5vU3lzIEluY29ycG9yYXRlZCAoIktleXNwYW4iKQorCisJYXMgYW4gdW5wdWJsaXNoZWQgd29yay4gVGhpcyBub3RpY2UgZG9lcyBub3QgaW1wbHkgdW5yZXN0cmljdGVkIG9yCisJcHVibGljIGFjY2VzcyB0byB0aGUgc291cmNlIGNvZGUgZnJvbSB3aGljaCB0aGlzIGZpcm13YXJlIGltYWdlIGlzCisJZGVyaXZlZC4gIEV4Y2VwdCBhcyBub3RlZCBiZWxvdyB0aGlzIGZpcm13YXJlIGltYWdlIG1heSBub3QgYmUKKwlyZXByb2R1Y2VkLCB1c2VkLCBzb2xkIG9yIHRyYW5zZmVycmVkIHRvIGFueSB0aGlyZCBwYXJ0eSB3aXRob3V0CisJS2V5c3BhbidzIHByaW9yIHdyaXR0ZW4gY29uc2VudC4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKKwlQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIGZvciB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlybXdhcmUKKwlpbWFnZSBhcyBwYXJ0IG9mIGEgTGludXggb3Igb3RoZXIgT3BlbiBTb3VyY2Ugb3BlcmF0aW5nIHN5c3RlbSBrZXJuZWwKKwlpbiB0ZXh0IG9yIGJpbmFyeSBmb3JtIGFzIHJlcXVpcmVkLgorCisJVGhpcyBmaXJtd2FyZSBtYXkgbm90IGJlIG1vZGlmaWVkIGFuZCBtYXkgb25seSBiZSB1c2VkIHdpdGgKKwlLZXlzcGFuIGhhcmR3YXJlLiAgRGlzdHJpYnV0aW9uIGFuZC9vciBNb2RpZmljYXRpb24gb2YgdGhlCisJa2V5c3Bhbi5jIGRyaXZlciB3aGljaCBpbmNsdWRlcyB0aGlzIGZpcm13YXJlLCBpbiB3aG9sZSBvciBpbgorCXBhcnQsIHJlcXVpcmVzIHRoZSBpbmNsdXNpb24gb2YgdGhpcyBzdGF0ZW1lbnQuIgorCitzdGF0aWMgY2hhciB0aGVGaXJtd2FyZURhdGU0OVtdID0KKyAgICAgICAgIjAyLzE0LzIwMDIgIDAyOjM3cCAgICAgICAgICAgICAgMTksMzQ3IFVTQTQ5IjsKKworc3RhdGljIGNoYXIgdGhlRmlybXdhcmVEYXRlNjVbXSA9CisgICAgICAgICIwMS8zMS8yMDAzICAwOTozNGEgICAgICAgICAgICAgIDE5LDMzMSBVU0E2NSI7CisKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLkhFWCBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL2tleXNwYW5fcGRhLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmNmMDJiCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuSEVYCkBAIC0wLDAgKzEsODMgQEAKKzowMzAwMDAwMDAyMDIwMEY5Cis6MDQwMDIzMDAwMjA1NUYwMDczCis6MDQwMDQzMDAwMjAxMDAwMEI2Cis6MDUwMDMwMDAwMDAwMDAwMDAwQ0IKKzoxMDAxMDAwMDAyMDI5NjAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwNEYKKzoxMDAxMTAwMDAyMDAwMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwRDcKKzoxMDAxMjAwMDAyMDAwMDAwMDIwMDAwMDAwMjA0NjEwMDAyMDQ4OTAwRDUKKzoxMDAyMDAwMDc1ODE1RUU0RjUzMkY1MzNGNTMwRjUzMUY1MzRDMjAwMzEKKzoxMDAyMTAwMEMyMDFBOTAwNzRGRTkwMTAwMEYwQTNEOUZDNzRGRDkwRjcKKzoxMDAyMjAwMDExMDBGMEEzRDlGQzc0MDI5MDdGOURGMDc0MDA5MDdGQzAKKzoxMDAyMzAwMDk3RjA3NDg2OTA3RjlFRjA5MDdGOTU3NDAzRjA5MDdGODYKKzoxMDAyNDAwMEFGRTBEMkUwRjA3NDAxOTA3RkFCRjA5MDdGQUVGMDkwMjEKKzoxMDAyNTAwMDdGQUM3NDA0RjA5MDdGQUQ3NDA0RjA5MDdGQzlGMDc0QUIKKzoxMDAyNjAwMDg0OTA3Rjk4RjA3NDAwRjU5ODc1QzgzMDdCMDU5MTIwRDQKKzoxMDAyNzAwMEQyQ0E3NTk4NTBEMkU4RDJBRkQyQUM3NDAwRjU4NjkwNEQKKzoxMDAyODAwMDdGRDY3NDAyRjA3OTJFN0EwMDdCMDBEQkZFREFGQUQ5OTEKKzoxMDAyOTAwMEY2NzQwNkYwODBGRUMwODZDMDgyQzA4M0MwODRDMDg1MkMKKzoxMDAyQTAwMEMwRTBFNTkxQzJFNEY1OTE5MDdGQUI3NDAxRjA5MDdGREUKKzoxMDAyQjAwMEU4RTBGOUEzRTBGQUEzRTBGQkEzRTBGQ0U5NTQ2MEI0QjIKKzoxMDAyQzAwMDAwMDMwMjAzMzlCNDQwNkVCQTAwMEIxMjA0MjA0MDAzNEQKKzoxMDAyRDAwMDAyMDQwMjAyMDQwQUJBMDEwMzAyMDQwQUJBMDIwMzAyNzcKKzoxMDAyRTAwMDA0MEFCQTAzMDMwMjA0NDRCQTA0MUVCQjAwMEE5MDdGNDYKKzoxMDAyRjAwMDk1RTA0NDAyRjAwMjA0MDI5MDdGOThFMDU0RkRGMDkwRjMKKzoxMDAzMDAwMDdGOTVFMDU0RkRGMDAyMDQwMkJBMDUwMzAyMDQwQUJBMjQKKzoxMDAzMTAwMDA2MTlCQjAwMDhFNTMzRDM5NTMyMDIwM0RFQkIwMTA4QTIKKzoxMDAzMjAwMEU1MzJDMzk1MzMwMjAzREUwMjA0MEFCQTA3MDU4QjM0QjMKKzoxMDAzMzAwMDAyMDQwMjAyMDQwQTAyMDQwQUJBMDAyMEI5ODAxMDkwRTIKKzoxMDAzNDAwMDdGMDBFNEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDQwMkI5REMKKzoxMDAzNTAwMDgyMDI4MEVCQjk4MTAyODBFNjAyMDQwQUJBMDEwRkJCNzcKKzoxMDAzNjAwMDAwMDMwMjA0MEFCQjAxMDMwMjA0MDIwMjA0MEFCQTAzRTYKKzoxMDAzNzAwMDBGQkIwMDAzMDIwNDBBQkIwMTAzMDIwNDAyMDIwNDBBQzkKKzoxMDAzODAwMEJBMDY1NkJDMDEwRjkwN0ZENDc0MDZGMDkwN0ZENTc0RTYKKzoxMDAzOTAwMDEyRjAwMjA0MDJCQzAyMTJCQjAwNkY5MDdGRDQ3NDA2RkMKKzoxMDAzQTAwMEYwOTA3RkQ1NzQyNEYwMDIwNDAyQkMwMzI5NzQwNEMzQzYKKzoxMDAzQjAwMDlCNDA1NzYwNTVFQjJCOTAwNjQ0MjU4MkY1ODI3NDAwRDQKKzoxMDAzQzAwMDM1ODNGNTgzRTBGOUEzRTBGQTkwN0ZENEU5RjA5MDdGREMKKzoxMDAzRDAwMEQ1RUFGMDAyMDQwMjAyMDQwQUJBMDgwRjc0MDE5MDdGMDEKKzoxMDAzRTAwMDAwRjA3NDAxOTA3RkI1RjAwMjA0MDJCQTA5MDMwMjA0MjAKKzoxMDAzRjAwMDAyQkEwQTA1NzQwMDAyMDNERUJBMEIwMzAyMDQwMjAyMDkKKzoxMDA0MDAwMDA0MEE5MDdGQjQ3NDAyRjA4MDA5OTA3RkI0RTA0NDAxNDQKKzoxMDA0MTAwMEYwODAwMEQwRTBEMDg1RDA4NEQwODNEMDgyRDA4NjMyRTYKKzoxMDA0MjAwMEVCMjBFNzFFQzM5NDBBNTAxOUVCMjMyNEZFRjU4Mjc0RDcKKzoxMDA0MzAwMDA1MzQwMEY1ODNFMEY1Q0JGNUNEQTNFMEY1Q0FGNUNDQTYKKzoxMDA0NDAwMEMzMjJEMzIyQjk0MTExRUI2NEZGNTQ4NEZCOTA3Rjk4RkYKKzoxMDA0NTAwMEUwNTQ3QjRCRjAwMjA0MDI5MDdGOUJFMDY0RkYwMjAzQjgKKzoxMDA0NjAwMERFQzA4NkMwODJDMDgzQzA4NEMwODVDMEUwRTU5MUMyODIKKzoxMDA0NzAwMEU0RjU5MTkwN0ZBOTc0MDRGMDEyMDVBMEQwRTBEMDg1MzYKKzoxMDA0ODAwMEQwODREMDgzRDA4MkQwODYzMkMwODZDMDgyQzA4M0MwNjAKKzoxMDA0OTAwMDg0QzA4NUMwRTBFNTkxQzJFNEY1OTE5MDdGQUE3NDA0MjAKKzoxMDA0QTAwMEYwOTA3RkM5RTBGOUU0RjU4NjkwN0RDMDc1ODUxMDg1RjAKKzoxMDA0QjAwMDMyODRFMDA1ODYwNTg0RjBFNTg0QjUzMzAyODAwOTA1QzEKKzoxMDA0QzAwMDMyMDU4NkEzRDlFQzgwMDA5MDdGQzlGMEIxMzFEMEUwMkQKKzoxMDA0RDAwMEQwODVEMDg0RDA4M0QwODJEMDg2MzJFNEY1ODY5MDdGRDgKKzoxMDA0RTAwMEJDRTAyMEUxNEI5MDdEMDBFNTMyRjBBM0U1MzNGMEEzQzIKKzoxMDA0RjAwMEU1MzBGMEEzRTUzMUYwQTNFNDMwMDAwMTA0RjBBMzA1RkEKKzoxMDA1MDAwMDg2OTAxMDAwNzkxMEUwQTMwNTg2RjBBMzA1ODZEOUY2NDEKKzoxMDA1MTAwMDA1ODY3NEZDRjBBMzA1ODY5MDExMDA3OTEwRTBBMzA1MTAKKzoxMDA1MjAwMDg2RjBBMzA1ODZEOUY2RTRGNTg2OTA3RkJENzQyNkYwQTMKKzoxMDA1MzAwMDIyMjAwMDEzRTUzMkI1MzMwMTIyMDUzMzc1ODMxMDg1N0YKKzoxMDA1NDAwMDMzODJFMEY1OTlEMjAwNzQwMEI1MzQwMTIyRTUzM0QzNEIKKzoxMDA1NTAwMDk1MzJDMzk1MzQ0MEY1NzUzNDAwRDIwMTAyMDVBMEMwMzAKKzoxMDA1NjAwMDg2QzA4MkMwODNDMDg0QzA4NUMwRTAzMDk5MDdDMjk5MkMKKzoxMDA1NzAwMEMyMDAxMjA1MzQzMDk4MDUxMjA1OEFDMjk4RDBFMEQwMjYKKzoxMDA1ODAwMDg1RDA4NEQwODNEMDgyRDA4NjMyNzU4MzExODUzMDgyMjUKKzoxMDA1OTAwMDA1ODJFNTk5RjBFNTgyQjUzMTAxMjIwNTMwQjFBMDIyNEUKKzoxMDA1QTAwMDkwN0ZCOEUwMjBFMTM4MjAwMTM2RTUzMEI1MzEwMTIyRjYKKzoxMDA1QjAwMEU0RjU4Njc1ODMxMTA1ODY5MDdFMDBGMEEzMDU4Njc5QTMKKzoxMDA1QzAwMDAxRTUzMEI1MzEwMjgwMTAwNTMxODUzMTgyRTAwNTg2QzQKKzoxMDA1RDAwMEYwQTMwNTg2MDlCOTQwRTk5MDdGQjlFOTYwMDFGMDIyRUUKKzoxMDA1RTAwMEMyMDFFNEY1ODY5MDdFMDA3NDAxRjBBMzc0MDJGMDkwREQKKzoxMDA1RjAwMDdGQjlGMDIyQzI5OUY1OTkzMDk5RkRDMjk5MjJFNTVFNDIKKzoxMDA2MDAwMEY2M0NGRDhGRkVDOEZGNjRGRkIyRkZEOUZGRURGRkYzOUMKKzoxMDA2MTAwMEZGRkExMjAxMDAwMUZGRkZGRjQwQ0QwNjA0MDE4OUFCODQKKzoxMDA2MjAwMDAxMDIwMzAxMDkwMjIwMDAwMTAxMDA4MDMyMDkwNDAwRDcKKzoxMDA2MzAwMDAwMDJGRkZGRkYwMDA3MDU4MjAzNDAwMDAxMDcwNTAyREIKKzoxMDA2NDAwMDAyNDAwMDAwMDY0QzA2NTAwNjcyMDZBMDA0MDMwMDAwOUIKKzoxMDA2NTAwMDIyMDM0MTAwNDMwMDREMDA0NTAwMjAwMDc1MDA3MzAwNTcKKzoxMDA2NjAwMDYyMDAyMDAwNzcwMDY5MDA2NDAwNjcwMDY1MDA3NDAwODQKKzoxMDA2NzAwMDczMDAyRTAzNDEwMDQzMDA0RDAwNDUwMDIwMDA1NTAwNEIKKzoxMDA2ODAwMDUzMDA0MjAwMjAwMDczMDA2NTAwNzIwMDY5MDA2MTAwQTEKKzoxMDA2OTAwMDZDMDAyMDAwNzcwMDY5MDA2NDAwNjcwMDY1MDA3NDAwNEEKKzowNjA2QTAwMDA2MDMzNDAwMzcwMEUwCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL2tleXNwYW5fcGRhLlMgYi9maXJtd2FyZS9rZXlzcGFuX3BkYS9rZXlzcGFuX3BkYS5TCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL3VzYi9zZXJpYWwva2V5c3Bhbl9wZGEuUwpyZW5hbWUgdG8gZmlybXdhcmUva2V5c3Bhbl9wZGEva2V5c3Bhbl9wZGEuUwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5IRVggYi9maXJtd2FyZS9rZXlzcGFuX3BkYS94aXJjb21fcGdzLkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWIwMGQ3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5IRVgKQEAgLTAsMCArMSw4NyBAQAorOjAzMDAwMDAwMDIwMjAwRjkKKzowNDAwMjMwMDAyMDU5QjAwMzcKKzowNTAwMzAwMDAwMDAwMDAwMDBDQgorOjA0MDA0MzAwMDIwMTAwMDBCNgorOjEwMDEwMDAwMDIwMkJBMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDAyQgorOjEwMDExMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDAwMDAwMDIwMDAwMDBENworOjEwMDEyMDAwMDIwMDAwMDAwMjAwMDAwMDAyMDQ4NTAwMDIwNEI5MDA4MQorOjEwMDIwMDAwNzU4MTVFRTRGNTMyRjUzM0Y1MzBGNTMxRjUzNEMyMDAzMQorOjEwMDIxMDAwQzIwMUE5MDA3NEZFOTAxMDAwRjBBM0Q5RkM3NEZEOTBGNworOjEwMDIyMDAwMTEwMEYwQTNEOUZDOTA3Rjk0NzRCRkYwOTA3Rjk1NzQ3NworOjEwMDIzMDAwRUZGMDc0MTA5MDdGOUVGMDc0MDA5MDdGOThGMDc0NDBGRgorOjEwMDI0MDAwOTA3RjlERjA3NDAwOTA3Rjk3RjA3NDgyOTA3RjlFRjA3NQorOjEwMDI1MDAwOTA3Rjk1NzQwM0YwOTA3RkFGRTBEMkUwRjA3NDAxOTA0RQorOjEwMDI2MDAwN0ZBQkYwOTA3RkFFRjA5MDdGQUM3NDA0RjA5MDdGQURFOAorOjEwMDI3MDAwNzQwNEYwOTA3RkM5RjA3NDA3OTA3RkFGRjA3NDIwOTAwMQorOjEwMDI4MDAwN0Y5Q0YwNzQ4MDkwN0Y5OEYwNzQ1M0Y1OTg3NUM4MzAxNworOjEwMDI5MDAwN0IwNTkxNDREMkNBNzU5ODUwRDJFOEQyQUZEMkFDNzRFMworOjEwMDJBMDAwMDBGNTg2OTA3RkQ2NzQwMkYwNzkyRTdBMDA3QjAwREIxMQorOjEwMDJCMDAwRkVEQUZBRDlGNjc0MDZGMDgwRkVDMDg2QzA4MkMwODNFQQorOjEwMDJDMDAwQzA4NEMwODVDMEUwRTU5MUMyRTRGNTkxOTA3RkFCNzQzNQorOjEwMDJEMDAwMDFGMDkwN0ZFOEUwRjlBM0UwRkFBM0UwRkJBM0UwRkNFMworOjEwMDJFMDAwRTk1NDYwQjQwMDAzMDIwMzVEQjQ0MDZFQkEwMDBCMTIxRgorOjEwMDJGMDAwMDQ0NDQwMDMwMjA0MjYwMjA0MkVCQTAxMDMwMjA0MkUyMQorOjEwMDMwMDAwQkEwMjAzMDIwNDJFQkEwMzAzMDIwNDY4QkEwNDFFQkIzNQorOjEwMDMxMDAwMDAwQTkwN0Y5NUUwNDQwMkYwMDIwNDI2OTA3Rjk4RTA2NgorOjEwMDMyMDAwNTRGREYwOTA3Rjk1RTA1NEZERjAwMjA0MjZCQTA1MDNEOQorOjEwMDMzMDAwMDIwNDJFQkEwNjE5QkIwMDA4RTUzM0QzOTUzMjAyMDQzNQorOjEwMDM0MDAwMDJCQjAxMDhFNTMyQzM5NTMzMDIwNDAyMDIwNDJFQkE0RgorOjEwMDM1MDAwMDcwNThCMzQwMjA0MjYwMjA0MkUwMjA0MkVCQTAwMjA2NAorOjEwMDM2MDAwQjk4MDEwOTA3RjAwRTRGMEEzRjA5MDdGQjU3NDAyRjBBNAorOjEwMDM3MDAwMDIwNDI2Qjk4MjAyODBFQkI5ODEwMjgwRTYwMjA0MkVEMworOjEwMDM4MDAwQkEwMTBGQkIwMDAzMDIwNDJFQkIwMTAzMDIwNDI2MDJDNAorOjEwMDM5MDAwMDQyRUJBMDMwRkJCMDAwMzAyMDQyRUJCMDEwMzAyMDRBOAorOjEwMDNBMDAwMjYwMjA0MkVCQTA2NTZCQzAxMEY5MDdGRDQ3NDA2RjBDNAorOjEwMDNCMDAwOTA3RkQ1NzQ1QUYwMDIwNDI2QkMwMjEyQkIwMDZGOTBFNQorOjEwMDNDMDAwN0ZENDc0MDZGMDkwN0ZENTc0NkNGMDAyMDQyNkJDMDNEMQorOjEwMDNEMDAwMjk3NDA0QzM5QjQwNTc2MDU1RUIyQjkwMDY4QzI1ODJGMworOjEwMDNFMDAwRjU4Mjc0MDAzNTgzRjU4M0UwRjlBM0UwRkE5MDdGRDRCOQorOjEwMDNGMDAwRTlGMDkwN0ZENUVBRjAwMjA0MjYwMjA0MkVCQTA4MEYzNQorOjEwMDQwMDAwNzQwMTkwN0YwMEYwNzQwMTkwN0ZCNUYwMDIwNDI2QkE2OQorOjEwMDQxMDAwMDkwMzAyMDQyNkJBMEEwNTc0MDAwMjA0MDJCQTBCMDM5NworOjEwMDQyMDAwMDIwNDI2MDIwNDJFOTA3RkI0NzQwMkYwODAwOTkwN0ZBQgorOjEwMDQzMDAwQjRFMDQ0MDFGMDgwMDBEMEUwRDA4NUQwODREMDgzRDBGNworOjEwMDQ0MDAwODJEMDg2MzJFQjIwRTcxRUMzOTQwQTUwMTlFQjIzMjQ5NgorOjEwMDQ1MDAwNDZGNTgyNzQwNjM0MDBGNTgzRTBGNUNCRjVDREEzRTBENAorOjEwMDQ2MDAwRjVDQUY1Q0NDMzIyRDMyMkI5NDExMUVCNjRGRjU0ODAwNQorOjEwMDQ3MDAwRkI5MDdGOThFMDU0N0Y0QkYwMDIwNDI2OTA3RjlCRTAzNgorOjEwMDQ4MDAwNjRGRjAyMDQwMkMwODZDMDgyQzA4M0MwODRDMDg1QzBFRAorOjEwMDQ5MDAwRTBFNTkxQzJFNEY1OTE5MDdGQTk3NDA0RjA3NDIwOTA5NgorOjEwMDRBMDAwN0Y5Q0YwMTIwNURDNzQyMDkwN0Y5Q0YwRDBFMEQwODUxQQorOjEwMDRCMDAwRDA4NEQwODNEMDgyRDA4NjMyQzA4NkMwODJDMDgzQzAzMAorOjEwMDRDMDAwODRDMDg1QzBFMDc0MTA5MDdGOUNGMEU1OTFDMkU0RjU5MworOjEwMDREMDAwOTE5MDdGQUE3NDA0RjA5MDdGQzlFMEY5RTRGNTg2OTBDQQorOjEwMDRFMDAwN0RDMDc1ODUxMDg1MzI4NEUwMDU4NjA1ODRGMEU1ODQzRAorOjEwMDRGMDAwQjUzMzAyODAwOTA1MzIwNTg2QTNEOUVDODAwMDkwN0ZEMAorOjEwMDUwMDAwQzlGMEIxNkQ3NDIwOTA3RjlDRjBEMEUwRDA4NUQwODQ4QworOjEwMDUxMDAwRDA4M0QwODJEMDg2MzJFNEY1ODY5MDdGQkNFMDIwRTFBMworOjEwMDUyMDAwNEI5MDdEMDBFNTMyRjBBM0U1MzNGMEEzRTUzMEYwQTM3NgorOjEwMDUzMDAwRTUzMUYwQTNFNDMwMDAwMTA0RjBBMzA1ODY5MDEwMDAzQgorOjEwMDU0MDAwNzkxMEUwQTMwNTg2RjBBMzA1ODZEOUY2MDU4Njc0RkMyQworOjEwMDU1MDAwRjBBMzA1ODY5MDExMDA3OTEwRTBBMzA1ODZGMEEzMDVBRAorOjEwMDU2MDAwODZEOUY2RTRGNTg2OTA3RkJENzQyNkYwMjIyMDAwMTMyQworOjEwMDU3MDAwRTUzMkI1MzMwMTIyMDUzMzc1ODMxMDg1MzM4MkUwRjUwQQorOjEwMDU4MDAwOTlEMjAwNzQwMEI1MzQwMTIyRTUzM0QzOTUzMkMzOTU3NgorOjEwMDU5MDAwMzQ0MEY1NzUzNDAwRDIwMTAyMDVEQ0MwODZDMDgyQzA0QgorOjEwMDVBMDAwODNDMDg0QzA4NUMwRTAzMDk5MDdDMjk5QzIwMDEyMDU5QgorOjEwMDVCMDAwNzAzMDk4MDUxMjA1QzZDMjk4RDBFMEQwODVEMDg0RDA5RQorOjEwMDVDMDAwODNEMDgyRDA4NjMyNzU4MzExODUzMDgyMDU4MkU1OTk4OQorOjEwMDVEMDAwRjBFNTgyQjUzMTAxMjIwNTMwQjFEQzIyNzQxMDkwN0Y0NAorOjEwMDVFMDAwOUNGMDkwN0ZCOEUwMjBFMTNFMjAwMTNDRTUzMEI1MzE0MQorOjEwMDVGMDAwMDEyMkU0RjU4Njc1ODMxMTA1ODY5MDdFMDBGMEEzMDUzRgorOjEwMDYwMDAwODY3OTAxRTUzMEI1MzEwMjgwMTAwNTMxODUzMTgyRTAwRgorOjEwMDYxMDAwMDU4NkYwQTMwNTg2MDlCOTQwRTk3NDEwOTA3RjlDRjAyNworOjEwMDYyMDAwOTA3RkI5RTk2MDAxRjAyMkMyMDFFNEY1ODY5MDdFMDA3NgorOjEwMDYzMDAwNzQwMUYwQTM3NDAyRjA5MDdGQjlGMDIyQzI5OUY1OTk4OQorOjEwMDY0MDAwMzA5OUZEQzI5OTIyRTU1RUY2M0NGRDhGRkVDOEZGNjQzRAorOjEwMDY1MDAwRkZCMkZGRDlGRkVERkZGM0ZGRkExMjAxMDAwMUZGRkYyOAorOjEwMDY2MDAwRkY0MENEMDYwNDAxODlBQjAxMDIwMzAxMDkwMjIwMDAwRAorOjEwMDY3MDAwMDEwMTAwODAzMjA5MDQwMDAwMDJGRkZGRkYwMDA3MDVBRQorOjEwMDY4MDAwODIwMzQwMDAwMTA3MDUwMjAyNDAwMDAwMDY5NDA2OTgxQworOjEwMDY5MDAwMDZCQTA2RTgwNDAzMDAwMDIyMDM0MTAwNDMwMDREMDBBRgorOjEwMDZBMDAwNDUwMDIwMDA3NTAwNzMwMDYyMDAyMDAwNzcwMDY5MDA5QgorOjEwMDZCMDAwNjQwMDY3MDA2NTAwNzQwMDczMDAyRTAzNDEwMDQzMDA2RQorOjEwMDZDMDAwNEQwMDQ1MDAyMDAwNTUwMDUzMDA0MjAwMjAwMDczMDBGQgorOjEwMDZEMDAwNjUwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNzcwMDY5MDAwRAorOjBFMDZFMDAwNjQwMDY3MDA2NTAwNzQwMDA2MDMzNDAwMzcwMEY0Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3MuUyBiL2Zpcm13YXJlL2tleXNwYW5fcGRhL3hpcmNvbV9wZ3MuUwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy91c2Ivc2VyaWFsL3hpcmNvbV9wZ3MuUwpyZW5hbWUgdG8gZmlybXdhcmUva2V5c3Bhbl9wZGEveGlyY29tX3Bncy5TCmRpZmYgLS1naXQgYS9maXJtd2FyZS9rb3JnL2sxMjEyLmRzcC5paGV4IGIvZmlybXdhcmUva29yZy9rMTIxMi5kc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTUxOTk3Ci0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUva29yZy9rMTIxMi5kc3AuaWhleApAQCAtMCwwICsxLDk4NyBAQAorOjEwMDAwMDAwMDFGRjE4RkZGNUZGQ0ZGRjAwRkYwMEZGRkZGRjAwRkYxQworOjEwMDAxMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZFQQorOjEwMDAyMDAwMjZGRjE4RkZGRkZGMEZGRjAwRkYwMEZGRkZGRjAwRkY4RAorOjEwMDAzMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZDQQorOjEwMDA0MDAwMDBGRjBBRkZGRkZGMUZGRjAwRkYwMEZGRkZGRjAwRkY5MQorOjEwMDA1MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZBQQorOjEwMDA2MDAwMDBGRjBBRkZGRkZGMUZGRjAwRkYwMEZGRkZGRjAwRkY3MQorOjEwMDA3MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY4QQorOjEwMDA4MDAwMDBGRjBBRkZGRkZGMUZGRjAwRkYwMEZGRkZGRjAwRkY1MQorOjEwMDA5MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY2QQorOjEwMDBBMDAwMzhGRjE4RkZGRkZGREZGRjAwRkYwMEZGRkZGRjAwRkYyQgorOjEwMDBCMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY0QQorOjEwMDBDMDAwMDBGRjBBRkZGRkZGMUZGRjAwRkYwMEZGRkZGRjAwRkYxMQorOjEwMDBEMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYyQQorOjEwMDBFMDAwMDNGRjNDRkZGRkZGRkNGRjY3RkY0MEZGRkZGRkMwRkY3OAorOjEwMDBGMDAwRkZGRjkzRkZGRkZGRTBGRjAwRkYwQ0ZGRkZGRjBDRkY4MAorOjEwMDEwMDAwMENGRjBDRkZGRkZGMDBGRjMwRkYwQ0ZGRkZGRjAwRkZBNQorOjEwMDExMDAwMEZGRjQwRkZGRkZGRjRGRjQ3RkY4MEZGRkZGRjBBRkZENQorOjEwMDEyMDAwODJGRjIzRkZGRkZGMEZGRjhERkY5M0ZGRkZGRjdBRkY4QgorOjEwMDEzMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkY3MgorOjEwMDE0MDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkY5QgorOjEwMDE1MDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkYzRAorOjEwMDE2MDAwMDBGRjA0RkZGRkZGMUNGRjAwRkYwNEZGRkZGRjFDRkY1OQorOjEwMDE3MDAwMDBGRjA0RkZGRkZGMUNGRjAwRkYwNEZGRkZGRjFDRkY0OQorOjEwMDE4MDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkY1MQorOjEwMDE5MDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkY0MQorOjEwMDFBMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYzMQorOjEwMDFCMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYyMQorOjEwMDFDMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYxMQorOjEwMDFEMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYwMQorOjEwMDFFMDAwNzJGRjFDRkZGRkZGNUZGRjAyRkY0MEZGRkZGRjQwRkZBQQorOjEwMDFGMDAwMTFGRjkwRkZGRkZGMjBGRjAwRkY0OEZGRkZGRjAwRkYwMAorOjEwMDIwMDAwOEJGRjkzRkZGRkZGMjBGRjAwRkY0MEZGRkZGRjAwRkY3QQorOjEwMDIxMDAwODZGRjkzRkZGRkZGNzBGRjhCRkY5M0ZGRkZGRjMwRkYxMQorOjEwMDIyMDAwOERGRjkzRkZGRkZGNDBGRjAyRkY5MUZGRkZGRjgwRkY2NQorOjEwMDIzMDAwMDJGRjkxRkZGRkZGOTBGRjhERkY5M0ZGRkZGRkMwRkZDNQorOjEwMDI0MDAwNDZGRjkwRkZGRkZGMjBGRjhERkY5M0ZGRkZGRkQwRkZEMgorOjEwMDI1MDAwMDBGRjQ4RkZGRkZGMDBGRjhCRkY5M0ZGRkZGRjQwRkYwMgorOjEwMDI2MDAwRkZGRjQ3RkZGRkZGRjBGRjhERkY5M0ZGRkZGRkUwRkY2MgorOjEwMDI3MDAwMDBGRjM0RkZGRkZGMTdGRjAwRkYzOEZGRkZGRjE3RkZFRQorOjEwMDI4MDAwODBGRjM3RkZGRkZGMDJGRjg0RkYzQkZGRkZGRjAyRkZGRQorOjEwMDI5MDAwMDJGRjM0RkZGRkZGNEFGRjAyRkYzOEZGRkZGRjRBRkY2NAorOjEwMDJBMDAwMDFGRjM0RkZGRkZGMkJGRjAxRkYzOEZGRkZGRjJCRkY5NAorOjEwMDJCMDAwODBGRjQzRkZGRkZGMDBGRjgyRkY5M0ZGRkZGRjUwRkYyMAorOjEwMDJDMDAwODFGRjQzRkZGRkZGMjBGRjgyRkY5M0ZGRkZGRjYwRkZERgorOjEwMDJEMDAwODRGRjQzRkZGRkZGMDBGRjgyRkY5M0ZGRkZGRjcwRkZEQworOjEwMDJFMDAwODVGRjQzRkZGRkZGMjBGRjgzRkY5M0ZGRkZGRkMwRkY1QQorOjEwMDJGMDAwODJGRjM3RkZGRkZGODFGRjAwRkYzNEZGRkZGRjg5RkYxMQorOjEwMDMwMDAwODhGRjQzRkZGRkZGMDBGRjAwRkY2OEZGRkZGRjA3RkZCRAorOjEwMDMxMDAwODJGRjgzRkZGRkZGNjBGRjAwRkY2OEZGRkZGRjA3RkYxMworOjEwMDMyMDAwOENGRjQzRkZGRkZGMDBGRjAwRkY2OEZGRkZGRjA3RkY5OQorOjEwMDMzMDAwODNGRjgzRkZGRkZGQzBGRjAwRkY2OEZGRkZGRjA3RkY5MgorOjEwMDM0MDAwOEFGRjQzRkZGRkZGMDBGRjAwRkY2OEZGRkZGRjA3RkY3QgorOjEwMDM1MDAwODJGRjgzRkZGRkZGNTBGRjAwRkY2OEZGRkZGRjA3RkZFMworOjEwMDM2MDAwOEVGRjQzRkZGRkZGMDBGRjAwRkY2OEZGRkZGRjA3RkY1NworOjEwMDM3MDAwODJGRjgzRkZGRkZGNzBGRjAwRkY2OEZGRkZGRjA3RkZBMworOjEwMDM4MDAwODNGRjM3RkZGRkZGMDFGRjAwRkYzNEZGRkZGRjg5RkZGRgorOjEwMDM5MDAwMDBGRjM0RkZGRkZGMjZGRjMwRkYwQ0ZGRkZGRjAwRkZEMQorOjEwMDNBMDAwMDBGRjQwRkZGRkZGMjZGRjIwRkY0MEZGRkZGRjA0RkY4RAorOjEwMDNCMDAwODBGRjQxRkZGRkZGMDJGRkUwRkYyMEZGRkZGRjBGRkY3NQorOjEwMDNDMDAwMDBGRjY4RkZGRkZGQjZGRjYzRkYyMkZGRkZGRjBGRkY4NQorOjEwMDNEMDAwNjJGRjZBRkZGRkZGQTZGRjYyRkY2QUZGRkZGRkE2RkY0MworOjEwMDNFMDAwMDBGRjY4RkZGRkZGQTZGRjAwRkYwOUZGRkZGRjA3RkZGOQorOjEwMDNGMDAwNDBGRjQxRkZGRkZGMDJGRkUwRkYyMEZGRkZGRjBGRkY3NQorOjEwMDQwMDAwMDBGRjY4RkZGRkZGQjZGRjYzRkYyMkZGRkZGRjBGRkY0NAorOjEwMDQxMDAwNjJGRjZBRkZGRkZGQTZGRjYyRkY2QUZGRkZGRkE2RkYwMgorOjEwMDQyMDAwMDBGRjY4RkZGRkZGQTZGRjA1RkY0MUZGRkZGRjAyRkY4MAorOjEwMDQzMDAwRTBGRjIwRkZGRkZGMEZGRjhCRkY5M0ZGRkZGRkJCRkZERQorOjEwMDQ0MDAwMDJGRjQxRkZGRkZGODJGRkUwRkYyMEZGRkZGRjBGRkZFMgorOjEwMDQ1MDAwOEJGRjkzRkZGRkZGQ0JGRjA1RkY0MUZGRkZGRkUyRkY5NQorOjEwMDQ2MDAwRTBGRjIwRkZGRkZGMEZGRjhCRkY5M0ZGRkZGRkRCRkY4RQorOjEwMDQ3MDAwMjBGRjBDRkZGRkZGMDBGRjMwRkYwQ0ZGRkZGRjAwRkYxRQorOjEwMDQ4MDAwMDBGRjQwRkZGRkZGMjZGRjAwRkY0MUZGRkZGRjAyRkZDRAorOjEwMDQ5MDAwRTBGRjIwRkZGRkZGMEZGRjgzRkY5M0ZGRkZGRjgyRkZCRgorOjEwMDRBMDAwODNGRjkzRkZGRkZGOUJGRjAzRkY0MUZGRkZGRjAyRkY1RgorOjEwMDRCMDAwRTBGRjIwRkZGRkZGMEZGRjgzRkY5M0ZGRkZGRkEyRkY3RgorOjEwMDRDMDAwODNGRjkzRkZGRkZGQkJGRjIwRkYwQ0ZGRkZGRjAwRkYzOQorOjEwMDREMDAwMDBGRjQwRkZGRkZGMDBGRjQ0RkY5MEZGRkZGRjYwRkZCMgorOjEwMDRFMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYxNgorOjEwMDRGMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYwNgorOjEwMDUwMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZGNQorOjEwMDUxMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZFNQorOjEwMDUyMDAwMjFGRjQwRkZGRkZGNjBGRjQwRkY5MEZGRkZGRjIwRkYyNAorOjEwMDUzMDAwMDJGRjM1RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkY1MgorOjEwMDU0MDAwMDBGRjNDRkZGRkZGODVGRjBBRkYxNEZGRkZGRkFFRkYyOAorOjEwMDU1MDAwMDBGRkEwRkZGRkZGMDNGRjAwRkYzNUZGRkZGRjAwRkZDRAorOjEwMDU2MDAwMDBGRjM0RkZGRkZGMDhGRjAyRkYzQ0ZGRkZGRjA1RkYxNgorOjEwMDU3MDAwMEFGRjE0RkZGRkZGRkVGRjAwRkZBMEZGRkZGRjAzRkZDNgorOjEwMDU4MDAwMDNGRjM1RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkYwMQorOjEwMDU5MDAwMDJGRjNDRkZGRkZGMDVGRjBCRkYxNEZGRkZGRjRFRkZCNQorOjEwMDVBMDAwMDBGRkEwRkZGRkZGMDNGRjAwRkYzNUZGRkZGRjAxRkY3QworOjEwMDVCMDAwNzhGRjFDRkZGRkZGNUZGRjAzRkYzNUZGRkZGRjAxRkYxOQorOjEwMDVDMDAwNzhGRjFDRkZGRkZGNUZGRjVCRkY0MEZGRkZGRkYwRkZCNworOjEwMDVEMDAwRkZGRjkzRkZGRkZGMzBGRjgwRkY0MkZGRkZGRjcwRkYzMQorOjEwMDVFMDAwRkZGRjkzRkZGRkZGNjBGRkRGRkY0MEZGRkZGRkYwRkYxNAorOjEwMDVGMDAwRkVGRjkzRkZGRkZGRjBGRjgwRkY0MkZGRkZGRjcwRkY1MgorOjEwMDYwMDAwRkZGRjkzRkZGRkZGMjBGRkMxRkY0MUZGRkZGRjgwRkZDMAorOjEwMDYxMDAwRkZGRjkzRkZGRkZGRjBGRjAzRkYzQ0ZGRkZGRkZDRkYyNworOjEwMDYyMDAwMDBGRjNDRkZGRkZGMDRGRjAyRkYzQ0ZGRkZGRjIzRkYzMworOjEwMDYzMDAwMDBGRjQ4RkZGRkZGMDBGRjhCRkY5M0ZGRkZGRjIwRkYzRQorOjEwMDY0MDAwNTlGRjE4RkZGRkZGREZGRjAwRkY0OEZGRkZGRjAwRkYxQworOjEwMDY1MDAwOEJGRjkzRkZGRkZGMjBGRjE4RkYyM0ZGRkZGRjBGRkYxQworOjEwMDY2MDAwMENGRjE0RkZGRkZGRTRGRjhCRkY4M0ZGRkZGRjI0RkY1RQorOjEwMDY3MDAwMDBGRjIyRkZGRkZGMEZGRjBERkYxOEZGRkZGRjBGRkYxRgorOjEwMDY4MDAwOEJGRjgzRkZGRkZGMjBGRjAwRkY0MEZGRkZGRjE0RkZGMgorOjEwMDY5MDAwRTBGRjIyRkZGRkZGMEZGRjEwRkYxOEZGRkZGRkQwRkY1QgorOjEwMDZBMDAwOEJGRjgzRkZGRkZGMjBGRjAwRkY0MEZGRkZGRjI0RkZDMgorOjEwMDZCMDAwRTBGRjIyRkZGRkZGMEZGRjEwRkYxOEZGRkZGRjMwRkZEQgorOjEwMDZDMDAwOEJGRjgzRkZGRkZGMjBGRjAwRkY0MEZGRkZGRjQ0RkY4MgorOjEwMDZEMDAwRTBGRjIyRkZGRkZGMEZGRjIyRkYxOEZGRkZGRjkwRkY0OQorOjEwMDZFMDAwOEJGRjgzRkZGRkZGMjBGRjAwRkY0MEZGRkZGRjg0RkYyMgorOjEwMDZGMDAwRTBGRjIyRkZGRkZGMEZGRjIyRkYxOEZGRkZGRjkwRkYyOQorOjEwMDcwMDAwMENGRjE4RkZGRkZGNkZGRjAwRkY0MEZGRkZGRjAwRkYyMAorOjEwMDcxMDAwODZGRjkzRkZGRkZGNzBGRjc2RkYxQ0ZGRkZGRjlGRkYyOQorOjEwMDcyMDAwODZGRjgzRkZGRkZGNTBGRjg2RkY4M0ZGRkZGRjY0RkYwRAorOjEwMDczMDAwNjBGRjIyRkZGRkZGMEZGRjc0RkYxOEZGRkZGRjgxRkYyNQorOjEwMDc0MDAwMDBGRjM1RkZGRkZGMDBGRjYwRkYxQ0ZGRkZGRjdGRkY4MworOjEwMDc1MDAwNjFGRjFDRkZGRkZGQUZGRjc3RkYxQ0ZGRkZGRkFGRkYzNQorOjEwMDc2MDAwNjNGRjFDRkZGRkZGNEZGRjA1RkYzNUZGRkZGRjAwRkY4QgorOjEwMDc3MDAwOTJGRjNCRkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkY3QQorOjEwMDc4MDAwMDBGRjM4RkZGRkZGMDhGRjAwRkYzQ0ZGRkZGRjY1RkY5MgorOjEwMDc5MDAwMEZGRjE0RkZGRkZGNkVGRjAwRkY2MEZGRkZGRjAzRkY2RgorOjEwMDdBMDAwMDBGRjYwRkZGRkZGMTNGRjAwRkY3OEZGRkZGRjEzRkY1NQorOjEwMDdCMDAwMDBGRjc4RkZGRkZGMDNGRjA1RkYzNUZGRkZGRkUwRkZBRQorOjEwMDdDMDAwN0ZGRjM4RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkY0MAorOjEwMDdEMDAwMDBGRjM4RkZGRkZGMDhGRjAwRkYzQ0ZGRkZGRjY1RkY0MgorOjEwMDdFMDAwMTBGRjE0RkZGRkZGMEVGRjAwRkY2MEZGRkZGRjAzRkY3RQorOjEwMDdGMDAwMDBGRjYwRkZGRkZGMTNGRjAwRkY1OEZGRkZGRjEzRkYyNQorOjEwMDgwMDAwMDBGRjU4RkZGRkZGMDNGRjc5RkYxQ0ZGRkZGRkZGRkYwMworOjEwMDgxMDAwMDBGRjBBRkZGRkZGMEZGRjBFRkYxQ0ZGRkZGRjFGRkY4MAorOjEwMDgyMDAwOERGRjgzRkZGRkZGRTBGRjc4RkYyMkZGRkZGRjBGRkYzOQorOjEwMDgzMDAwMTVGRjFDRkZGRkZGODVGRjc1RkYxQ0ZGRkZGRjhGRkZFQworOjEwMDg0MDAwMDBGRjQwRkZGRkZGNDBGRjhCRkY5M0ZGRkZGRjgwRkY5NAorOjEwMDg1MDAwMDJGRjQwRkZGRkZGNjBGRjExRkY5MEZGRkZGRjIwRkYzRgorOjEwMDg2MDAwMTZGRjE4RkZGRkZGMUZGRjBFRkYxQ0ZGRkZGRjFGRkZGQworOjEwMDg3MDAwNzVGRjFDRkZGRkZGOEZGRjgwRkYzNUZGRkZGRjAwRkZBRAorOjEwMDg4MDAwMDBGRjM0RkZGRkZGMDhGRjAwRkY0MEZGRkZGRjAwRkZGNgorOjEwMDg5MDAwNDBGRjNDRkZGRkZGMDVGRjExRkYxNEZGRkZGRjRFRkY2RQorOjEwMDhBMDAwMDBGRjY4RkZGRkZGMDNGRjg3RkY4M0ZGRkZGRkYwRkZFRAorOjEwMDhCMDAwODZGRjkzRkZGRkZGODBGRjkwRkYzN0ZGRkZGRjAwRkZFMgorOjEwMDhDMDAwMDJGRjM0RkZGRkZGMDhGRjAwRkY2MEZGRkZGRjAzRkY5MQorOjEwMDhEMDAwODlGRjkzRkZGRkZGMjBGRjAwRkY2MEZGRkZGRjAzRkY4MworOjEwMDhFMDAwODlGRjkzRkZGRkZGMzBGRjAwRkY2MEZGRkZGRjAzRkY2MworOjEwMDhGMDAwODlGRjkzRkZGRkZGNDBGRjAwRkY2MEZGRkZGRjAzRkY0MworOjEwMDkwMDAwODlGRjkzRkZGRkZGNTBGRjg2RkY5N0ZGRkZGRjkwRkZEOAorOjEwMDkxMDAwMDNGRjM1RkZGRkZGMDBGRjYwRkYxQ0ZGRkZGRjdGRkZBRQorOjEwMDkyMDAwNjNGRjFDRkZGRkZGN0ZGRjAwRkY0MEZGRkZGRjAwRkY5MworOjEwMDkzMDAwOERGRjkzRkZGRkZGNjBGRjgyRkY5M0ZGRkZGRjQwRkZFQworOjEwMDk0MDAwODZGRjkzRkZGRkZGQTBGRjgzRkYzN0ZGRkZGRjgwRkZCRQorOjEwMDk1MDAwNzVGRjFDRkZGRkZGMUZGRjgzRkY0M0ZGRkZGRjAwRkYyQgorOjEwMDk2MDAwODdGRjkzRkZGRkZGRTBGRjZBRkYxQ0ZGRkZGRjBGRkYwMgorOjEwMDk3MDAwNDBGRjQxRkZGRkZGMDBGRjhCRkY5M0ZGRkZGRjkwRkY1MgorOjEwMDk4MDAwODBGRjQxRkZGRkZGMDBGRjhCRkY5M0ZGRkZGRkEwRkZGMgorOjEwMDk5MDAwOEJGRjg3RkZGRkZGOTBGRjdFRkYzOEZGRkZGRjAwRkYwOQorOjEwMDlBMDAwNDBGRjM0RkZGRkZGMDhGRjAwRkYzOEZGRkZGRjA4RkY5NQorOjEwMDlCMDAwMDBGRjNDRkZGRkZGNTVGRjEzRkYxNEZGRkZGRkJFRkZDQgorOjEwMDlDMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkY1QgorOjEwMDlEMDAwMDBGRjU4RkZGRkZGMTNGRjAwRkY1OEZGRkZGRjAzRkY1QgorOjEwMDlFMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkYzQgorOjEwMDlGMDAwMDBGRjU4RkZGRkZGMTNGRjAwRkY1OEZGRkZGRjAzRkYzQgorOjEwMEEwMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkYxQQorOjEwMEExMDAwMDBGRjU4RkZGRkZGMTNGRjAwRkY1OEZGRkZGRjAzRkYxQQorOjEwMEEyMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjAzRkYwQQorOjEwMEEzMDAwOEJGRjk3RkZGRkZGOTBGRjA1RkY0MUZGRkZGRjAwRkZDOAorOjEwMEE0MDAwOTJGRjQzRkZGRkZGMDFGRjg2RkY5M0ZGRkZGRkYwRkZEMQorOjEwMEE1MDAwODZGRjkzRkZGRkZGRTFGRjhERkY4M0ZGRkZGRkUwRkZCNgorOjEwMEE2MDAwNzhGRjIyRkZGRkZGMEZGRjE1RkYxQ0ZGRkZGRjg1RkYzMQorOjEwMEE3MDAwNzVGRjFDRkZGRkZGOEZGRjhERkY4M0ZGRkZGRjQwRkYxMAorOjEwMEE4MDAwNzhGRjIyRkZGRkZGMEZGRjUzRkYxOEZGRkZGRkI0RkZBOAorOjEwMEE5MDAwNzJGRjFDRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjAwRkY4MworOjEwMEFBMDAwOEJGRjkzRkZGRkZGMzBGRjAyRkY0MEZGRkZGRjYwRkY2MAorOjEwMEFCMDAwMTFGRjkwRkZGRkZGMjBGRjE2RkYxOEZGRkZGRjRGRkYwMgorOjEwMEFDMDAwMzhGRjQyRkZGRkZGNTBGRjQ4RkY5MEZGRkZGRkEwRkZFRQorOjEwMEFEMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYyMAorOjEwMEFFMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYxMAorOjEwMEFGMDAwMzBGRjQwRkZGRkZGMDBGRjQ3RkY5MEZGRkZGRjUwRkY2OQorOjEwMEIwMDAwMDBGRjBBRkZGRkZGMEZGRjFFRkYxQ0ZGRkZGRjBGRkY4RAorOjEwMEIxMDAwMjBGRjFDRkZGRkZGQ0ZGRjE2RkYxOEZGRkZGRjFGRkY4NworOjEwMEIyMDAwMDBGRjQwRkZGRkZGMDBGRjQ2RkY5MEZGRkZGRjcwRkY0OQorOjEwMEIzMDAwMThGRjFDRkZGRkZGRUZGRjZBRkYxQ0ZGRkZGRkJGRkY1NworOjEwMEI0MDAwNUNGRjFDRkZGRkZGN0ZGRjE4RkYxQ0ZGRkZGRkVGRkY5NQorOjEwMEI1MDAwNjdGRjFDRkZGRkZGM0ZGRjVDRkYxQ0ZGRkZGRjdGRkZFNgorOjEwMEI2MDAwMDhGRjQwRkZGRkZGMDBGRjQ2RkY5MEZGRkZGRjcwRkYwMQorOjEwMEI3MDAwMThGRjFDRkZGRkZGRUZGRjY5RkYxQ0ZGRkZGRjBGRkZDOAorOjEwMEI4MDAwNURGRjFDRkZGRkZGMkZGRjE4RkYxQ0ZGRkZGRkVGRkZBNAorOjEwMEI5MDAwNzlGRjFDRkZGRkZGMUZGRjVDRkYxQ0ZGRkZGRjdGRkZCNAorOjEwMEJBMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkYzNQorOjEwMEJCMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkYyNQorOjEwMEJDMDAwMThGRjFDRkZGRkZGRUZGRjVERkYxQ0ZGRkZGRjJGRkY2NAorOjEwMEJEMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkYwNQorOjEwMEJFMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkZGNQorOjEwMEJGMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkZFNQorOjEwMEMwMDAwMThGRjFDRkZGRkZGRUZGRjVERkYxQ0ZGRkZGRjJGRkYyMworOjEwMEMxMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkZDNAorOjEwMEMyMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkZCNAorOjEwMEMzMDAwMThGRjFDRkZGRkZGRUZGRjVDRkYxQ0ZGRkZGRjdGRkZBNAorOjEwMEM0MDAwMThGRjFDRkZGRkZGRUZGRjVERkYxQ0ZGRkZGRjJGRkZFMworOjEwMEM1MDAwMThGRjFDRkZGRkZGRUZGRjY2RkYxQ0ZGRkZGRjFGRkZEQQorOjEwMEM2MDAwNUNGRjFDRkZGRkZGN0ZGRjE2RkYxOEZGRkZGRjRGRkYxQQorOjEwMEM3MDAwOEJGRjg3RkZGRkZGNjFGRjAwRkYzNEZGRkZGRjg5RkY0RQorOjEwMEM4MDAwMDBGRjM0RkZGRkZGMjZGRjAwRkY2MEZGRkZGRjA2RkZBRQorOjEwMEM5MDAwODNGRjkzRkZGRkZGRDBGRjAwRkY2MEZGRkZGRjA2RkYxMgorOjEwMENBMDAwODNGRjkzRkZGRkZGRTBGRjM4RkYyMkZGRkZGRjBGRkZFRgorOjEwMENCMDAwMTlGRjE0RkZGRkZGODVGRjhCRkY4M0ZGRkZGRjUwRkYyRQorOjEwMENDMDAwNzhGRjIyRkZGRkZGMEZGRjAwRkY2MEZGRkZGRjA3RkYxRQorOjEwMENEMDAwMDRGRjBERkZGRkZGMzBGRjAwRkY2MEZGRkZGRjA3RkY3NgorOjEwMENFMDAwODNGRjkzRkZGRkZGRjBGRjAwRkY2MEZGRkZGRjA3RkZBMQorOjEwMENGMDAwMDhGRjBERkZGRkZGMzBGRjAwRkY2MEZGRkZGRjA3RkY1MgorOjEwMEQwMDAwODZGRjkzRkZGRkZGNDBGRjAwRkY0MEZGRkZGRjAxRkY1MworOjEwMEQxMDAwOEJGRjkzRkZGRkZGNTFGRjAwRkYzNEZGRkZGRjQ2RkZGNAorOjEwMEQyMDAwMDBGRjA5RkZGRkZGMDZGRjhCRkY5N0ZGRkZGRjYxRkYzQgorOjEwMEQzMDAwODNGRjhCRkZGRkZGRDBGRjgzRkY4QkZGRkZGRkUxRkZGMAorOjEwMEQ0MDAwODdGRjM3RkZGRkZGMDFGRjZFRkYxQ0ZGRkZGRkJGRkZBNQorOjEwMEQ1MDAwODdGRjM3RkZGRkZGMDBGRjkyRkYzN0ZGRkZGRjAxRkYxNQorOjEwMEQ2MDAwN0ZGRjM4RkZGRkZGMDBGRjdFRkYzOEZGRkZGRjAxRkYxRgorOjEwMEQ3MDAwMjNGRjFDRkZGRkZGRkZGRjdFRkYzOEZGRkZGRjAwRkY4OQorOjEwMEQ4MDAwODNGRjg3RkZGRkZGRjFGRjg2RkY4QkZGRkZGRjQxRkYyMAorOjEwMEQ5MDAwNkNGRjFDRkZGRkZGMkZGRjg3RkYzN0ZGRkZGRjAwRkZFOAorOjEwMERBMDAwOEJGRjhCRkZGRkZGQTBGRjAwRkYzNEZGRkZGRjA4RkY1QgorOjEwMERCMDAwNDBGRjM4RkZGRkZGMDhGRjAwRkYzQ0ZGRkZGRjU1RkYyQworOjEwMERDMDAwMUJGRjE0RkZGRkZGQ0VGRjAwRkY2MEZGRkZGRjAzRkZDRAorOjEwMEREMDAwMDBGRjYwRkZGRkZGMTNGRjAwRkY3OEZGRkZGRjEzRkYxRgorOjEwMERFMDAwMDBGRjc4RkZGRkZGMDNGRjAwRkY2MEZGRkZGRjAzRkYyRgorOjEwMERGMDAwMDBGRjYwRkZGRkZGMTNGRjAwRkY3OEZGRkZGRjEzRkZGRgorOjEwMEUwMDAwMDBGRjc4RkZGRkZGMDNGRjAwRkY2MEZGRkZGRjAzRkYwRQorOjEwMEUxMDAwMDBGRjYwRkZGRkZGMTNGRjAwRkY3OEZGRkZGRjEzRkZERQorOjEwMEUyMDAwMDBGRjc4RkZGRkZGMDNGRjhCRkY4M0ZGRkZGRkUxRkY2MgorOjEwMEUzMDAwOEJGRjgzRkZGRkZGRjBGRjAwRkY3OEZGRkZGRjEzRkYzMworOjEwMEU0MDAwMDBGRjc4RkZGRkZGMDNGRjhCRkY5QkZGRkZGRkEwRkY2QgorOjEwMEU1MDAwOEJGRjg3RkZGRkZGOTBGRjdFRkYzOEZGRkZGRjAwRkY0NAorOjEwMEU2MDAwNDBGRjM0RkZGRkZGMDhGRjAwRkYzOEZGRkZGRjA4RkZEMAorOjEwMEU3MDAwMDBGRjNDRkZGRkZGNTVGRjFERkYxNEZGRkZGRjNFRkY3QworOjEwMEU4MDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkY5NgorOjEwMEU5MDAwMDBGRjU4RkZGRkZGMTNGRjAwRkY1OEZGRkZGRjAzRkY5NgorOjEwMEVBMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkY3NgorOjEwMEVCMDAwMDBGRjU4RkZGRkZGMTNGRjAwRkY1OEZGRkZGRjAzRkY3NgorOjEwMEVDMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkY1NgorOjEwMEVEMDAwMDBGRjU4RkZGRkZGMTNGRjAwRkY1OEZGRkZGRjAzRkY1NgorOjEwMEVFMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjAzRkY0NgorOjEwMEVGMDAwOEJGRjk3RkZGRkZGOTBGRjAwRkYwQUZGRkZGRjBGRkYzMQorOjEwMEYwMDAwOEJGRjg3RkZGRkZGNjFGRjAwRkYzNEZGRkZGRjg5RkZCQgorOjEwMEYxMDAwMDBGRjM0RkZGRkZGMjZGRjAwRkY2MEZGRkZGRjA2RkYxQgorOjEwMEYyMDAwODNGRjkzRkZGRkZGRDBGRjAwRkY2MEZGRkZGRjA2RkY3RgorOjEwMEYzMDAwODNGRjkzRkZGRkZGRTBGRjhCRkY4M0ZGRkZGRjUxRkY2NgorOjEwMEY0MDAwNzlGRjIyRkZGRkZGMEZGRjc0RkYxOEZGRkZGRkI0RkZDMQorOjEwMEY1MDAwMzhGRjIyRkZGRkZGMEZGRjFFRkYxNEZGRkZGRkQ1RkYyQgorOjEwMEY2MDAwOEJGRjgzRkZGRkZGNTBGRjc4RkYyMkZGRkZGRjBGRkY4NAorOjEwMEY3MDAwMDBGRjYwRkZGRkZGMDdGRjA0RkYwREZGRkZGRjMwRkZEMworOjEwMEY4MDAwMDBGRjYwRkZGRkZGMDdGRjgzRkY5M0ZGRkZGRkYwRkZGRQorOjEwMEY5MDAwMDBGRjYwRkZGRkZGMDdGRjA4RkYwREZGRkZGRjMwRkZBRgorOjEwMEZBMDAwMDBGRjYwRkZGRkZGMDdGRjg2RkY5M0ZGRkZGRjQwRkY4QgorOjEwMEZCMDAwMDBGRjQwRkZGRkZGMDFGRjhCRkY5M0ZGRkZGRjUxRkY4QgorOjEwMEZDMDAwMDBGRjM0RkZGRkZGNDZGRjAwRkYwOUZGRkZGRjA2RkZBMgorOjEwMEZEMDAwOEJGRjk3RkZGRkZGNjFGRjgzRkY4QkZGRkZGRkQwRkZCQQorOjEwMEZFMDAwODNGRjhCRkZGRkZGRTFGRjg3RkYzN0ZGRkZGRjAxRkY1RAorOjEwMEZGMDAwNkVGRjFDRkZGRkZGQkZGRjg3RkYzN0ZGRkZGRjAwRkZGNAorOjEwMTAwMDAwOTJGRjM3RkZGRkZGMDFGRjdGRkYzOEZGRkZGRjAwRkY2OQorOjEwMTAxMDAwMjNGRjFDRkZGRkZGRkZGRjdFRkYzOEZGRkZGRjAwRkZFNgorOjEwMTAyMDAwODNGRjg3RkZGRkZGRjFGRjg2RkY4QkZGRkZGRjQxRkY3RAorOjEwMTAzMDAwNkNGRjFDRkZGRkZGMkZGRjAwRkYwQUZGRkZGRjBGRkZFQQorOjEwMTA0MDAwOERGRjhGRkZGRkZGQzVGRjIwRkYxNEZGRkZGRkFFRkZFNworOjEwMTA1MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkY4MQorOjEwMTA2MDAwOEJGRjgzRkZGRkZGODRGRjAwRkYyM0ZGRkZGRjBGRkZDNgorOjEwMTA3MDAwOEJGRjkzRkZGRkZGOEFGRjY0RkYxQ0ZGRkZGRkUwRkY3MgorOjEwMTA4MDAwN0VGRjM4RkZGRkZGMDBGRjAwRkYzOEZGRkZGRjA4RkY3NAorOjEwMTA5MDAwMDBGRjNDRkZGRkZGRTVGRjIxRkYxNEZGRkZGRjVFRkZBNgorOjEwMTBBMDAwMDBGRjQwRkZGRkZGMDBGRjAwRkY1OEZGRkZGRjAzRkZBRgorOjEwMTBCMDAwMDBGRjBBRkZGRkZGMEZGRjA4RkY0MEZGRkZGRjEwRkZDOQorOjEwMTBDMDAwNDdGRjkwRkZGRkZGMjBGRjAwRkYwNEZGRkZGRjFDRkYxMworOjEwMTBEMDAwMDBGRjA0RkZGRkZGMUNGRjAwRkYwNEZGRkZGRjFDRkZEQQorOjEwMTBFMDAwMDBGRjA0RkZGRkZGMUNGRjAwRkYwNEZGRkZGRjEwRkZENgorOjEwMTBGMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkZEMgorOjEwMTEwMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkZDMQorOjEwMTExMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkZCMQorOjEwMTEyMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkZBMQorOjEwMTEzMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkY5MQorOjEwMTE0MDAwMDBGRjA0RkZGRkZGMTBGRjAyRkY0MEZGRkZGRjQwRkYxMworOjEwMTE1MDAwMTFGRjkwRkZGRkZGMjBGRjc4RkY0MkZGRkZGRjUwRkZDRQorOjEwMTE2MDAwNDhGRjkwRkZGRkZGQTBGRjAwRkYwMEZGRkZGRjAwRkYxMQorOjEwMTE3MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY3OQorOjEwMTE4MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY2OQorOjEwMTE5MDAwQjBGRjQwRkZGRkZGMDBGRjQ3RkY5MEZGRkZGRjUwRkY0MgorOjEwMTFBMDAwMDBGRjQwRkZGRkZGMDBGRjhERkY5M0ZGRkZGRjQwRkZBOQorOjEwMTFCMDAwOERGRjkzRkZGRkZGNTBGRjAwRkY0MEZGRkZGRjAxRkY4OAorOjEwMTFDMDAwOEJGRjkzRkZGRkZGNTFGRjAwRkY0MEZGRkZGRjAwRkY3QQorOjEwMTFEMDAwNDZGRjkwRkZGRkZGNzBGRjhERkY4M0ZGRkZGRkQwRkZGMworOjEwMTFFMDAwNzhGRjIyRkZGRkZGMEZGRjBDRkYxOEZGRkZGRjkwRkZBQworOjEwMTFGMDAwMENGRjE4RkZGRkZGNkZGRjIwRkYwQ0ZGRkZGRjAwRkYzQQorOjEwMTIwMDAwMDBGRjM0RkZGRkZGMDlGRjAwRkYzNEZGRkZGRjA4RkY2RgorOjEwMTIxMDAwMDBGRjM4RkZGRkZGMDhGRjAwRkYzOEZGRkZGRjA5RkY1NworOjEwMTIyMDAwMDBGRjM4RkZGRkZGMDZGRjAwRkYzNEZGRkZGRjI2RkYzMAorOjEwMTIzMDAwOThGRkNDRkZGRkZGMzdGRjAwRkYzQ0ZGRkZGRkE1RkYzQworOjEwMTI0MDAwMjRGRjE0RkZGRkZGRkVGRjAwRkY2MEZGRkZGRjczRkY5RgorOjEwMTI1MDAwMDhGRjBERkZGRkZGMTRGRjk4RkYyMEZGRkZGRjBGRkZBOAorOjEwMTI2MDAwMDBGRjUwRkZGRkZGQzZGRjY5RkZDQ0ZGRkZGRjM3RkYwNgorOjEwMTI3MDAwMDBGRjA1RkZGRkZGMDBGRjAwRkY1OEZGRkZGRkM2RkY1NQorOjEwMTI4MDAwOThGRjIwRkZGRkZGMEZGRjAwRkY2MEZGRkZGRjcyRkZDRgorOjEwMTI5MDAwMDhGRjBERkZGRkZGMTRGRjAwRkY1MEZGRkZGRkM2RkYxOQorOjEwMTJBMDAwNjlGRkNDRkZGRkZGMzdGRjAwRkYwNUZGRkZGRjAwRkZENworOjEwMTJCMDAwMDBGRjU4RkZGRkZGQzZGRjk4RkYyMEZGRkZGRjBGRkY1MworOjEwMTJDMDAwMDBGRjYwRkZGRkZGNzNGRjA4RkYwREZGRkZGRjE0RkYyQworOjEwMTJEMDAwMDBGRjUwRkZGRkZGQzZGRjY5RkYyMEZGRkZGRjBGRkY2QQorOjEwMTJFMDAwMDBGRjA1RkZGRkZGMDBGRjAwRkY1OEZGRkZGRkM2RkZFNQorOjEwMTJGMDAwMzBGRjBDRkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkZBMworOjEwMTMwMDAwMDBGRjBDRkZGRkZGMzBGRjQ3RkY4MEZGRkZGRjU4RkY4QworOjEwMTMxMDAwMTBGRjBGRkZGRkZGMDFGRjY2RkYyM0ZGRkZGRjBGRkYxRgorOjEwMTMyMDAwMjZGRjE4RkZGRkZGOTRGRjAwRkY0OEZGRkZGRjAwRkZBRAorOjEwMTMzMDAwOEJGRjkzRkZGRkZGNDBGRjgwRkY0MEZGRkZGRjAwRkY5OQorOjEwMTM0MDAwNDlGRjkwRkZGRkZGNDBGRjE2RkYwRkZGRkZGRjAyRkY2NworOjEwMTM1MDAwNjZGRjIzRkZGRkZGMEZGRjM4RkYxOEZGRkZGRkI0RkZGQgorOjEwMTM2MDAwMEZGRjQwRkZGRkZGRjRGRjQ3RkY4MEZGRkZGRjBBRkY3MworOjEwMTM3MDAwODJGRjIzRkZGRkZGMEZGRjhERkY5M0ZGRkZGRjdBRkYyOQorOjEwMTM4MDAwN0FGRjI2RkZGRkZGMEZGRjEwRkYyN0ZGRkZGRjBGRkY3MgorOjEwMTM5MDAwMzhGRjE4RkZGRkZGQjRGRjI3RkYxOEZGRkZGRkQyRkY0MgorOjEwMTNBMDAwMDBGRjQ4RkZGRkZGMDBGRjhCRkY5M0ZGRkZGRjMwRkZCMQorOjEwMTNCMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkZFMAorOjEwMTNDMDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkYwOQorOjEwMTNEMDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkZBQgorOjEwMTNFMDAwMDBGRjBBRkZGRkZGMUZGRjEwRkYyN0ZGRkZGRjBGRkY5OAorOjEwMTNGMDAwMjlGRjE4RkZGRkZGOTJGRjQ2RkY4MEZGRkZGRjAwRkY1RQorOjEwMTQwMDAwOEJGRjkzRkZGRkZGMjBGRjhERkY4M0ZGRkZGRjcwRkYyOAorOjEwMTQxMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZCMworOjEwMTQyMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZCNAorOjEwMTQzMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwNEZGRkZGRjFDRkY2QQorOjEwMTQ0MDAwMDBGRjA0RkZGRkZGMUNGRjAwRkYwNEZGRkZGRjFDRkY2NgorOjEwMTQ1MDAwMDBGRjA0RkZGRkZGMUNGRjAwRkYwNEZGRkZGRjEwRkY2MgorOjEwMTQ2MDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkY1RQorOjEwMTQ3MDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkY0RQorOjEwMTQ4MDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYzRQorOjEwMTQ5MDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYyRQorOjEwMTRBMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjEwRkYxRQorOjEwMTRCMDAwMDBGRjA0RkZGRkZGMTBGRjAwRkYwNEZGRkZGRjAzRkYxQgorOjEwMTRDMDAwMERGRjE4RkZGRkZGMEZGRjEwRkYyN0ZGRkZGRjBGRkZBQworOjEwMTREMDAwMzFGRjE4RkZGRkZGMTJGRjMwRkYwQ0ZGRkZGRjAwRkY3RgorOjEwMTRFMDAwMDhGRjBDRkZGRkZGMDBGRkZGRkY0RkZGRkZGRjg5RkYxQgorOjEwMTRGMDAwOTBGRjM3RkZGRkZGMDBGRjAyRkYzNEZGRkZGRjA4RkZGMQorOjEwMTUwMDAwMDBGRjM0RkZGRkZGMzRGRjAwRkYzNEZGRkZGRjU1RkZGNAorOjEwMTUxMDAwNDZGRjgwRkZGRkZGMDhGRjAwRkYwRUZGRkZGRjBGRkZFQQorOjEwMTUyMDAwMDBGRjBERkZGRkZGNEVGRkE3RkYyM0ZGRkZGRjBGRkY5MQorOjEwMTUzMDAwMDBGRjY4RkZGRkZGQTNGRjAwRkYwREZGRkZGRjRBRkY1MworOjEwMTU0MDAwNDZGRjgwRkZGRkZGMThGRjAwRkYwRUZGRkZGRjBGRkZBQQorOjEwMTU1MDAwMDBGRjBERkZGRkZGNUVGRkFGRkYyM0ZGRkZGRjBGRkY0OQorOjEwMTU2MDAwMDBGRjY4RkZGRkZGQTBGRjAwRkYwREZGRkZGRjVBRkYxNgorOjEwMTU3MDAwNDZGRjgwRkZGRkZGNDhGRjEwRkYwRkZGRkZGRkZFRkY0QQorOjEwMTU4MDAwODdGRjkzRkZGRkZGRkVGRjAwRkYwREZGRkZGRjJFRkYxMgorOjEwMTU5MDAwMDJGRjQwRkZGRkZGMDZGRkUwRkYyMEZGRkZGRjBGRkZGRQorOjEwMTVBMDAwMDBGRjQwRkZGRkZGMDFGRjYzRkYyMkZGRkZGRjBGRkY3MAorOjEwMTVCMDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkY4OAorOjEwMTVDMDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkZCNgorOjEwMTVEMDAwMDBGRjBERkZGRkZGNUFGRjYzRkYyMkZGRkZGRjBGRkYxQQorOjEwMTVFMDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkY1OAorOjEwMTVGMDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkY4NgorOjEwMTYwMDAwNjNGRjIyRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRBRkZGOQorOjEwMTYxMDAwNDlGRjZBRkZGRkZGQTNGRjAwRkYwREZGRkZGRjVBRkYxNworOjEwMTYyMDAwMDBGRjY4RkZGRkZGQTBGRjYzRkYyMkZGRkZGRjBGRkYyOAorOjEwMTYzMDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkYwNworOjEwMTY0MDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkYzNQorOjEwMTY1MDAwNjNGRjIyRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRBRkZBOQorOjEwMTY2MDAwNDlGRjZBRkZGRkZGQTNGRjAwRkYwREZGRkZGRjVBRkZDNworOjEwMTY3MDAwMDBGRjY4RkZGRkZGQTBGRjYzRkYyMkZGRkZGRjBGRkZEOAorOjEwMTY4MDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkZCNworOjEwMTY5MDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkZFNQorOjEwMTZBMDAwNjNGRjIyRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRBRkY1OQorOjEwMTZCMDAwNDlGRjZBRkZGRkZGQTNGRjAwRkYwREZGRkZGRjVBRkY3NworOjEwMTZDMDAwMDBGRjY4RkZGRkZGQTFGRjQ2RkY4MEZGRkZGRjI4RkYyRAorOjEwMTZEMDAwMDBGRjBFRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRFRkY5QworOjEwMTZFMDAwQTdGRjIzRkZGRkZGMEZGRjAwRkY2OEZGRkZGRkEzRkYyMAorOjEwMTZGMDAwMDBGRjBERkZGRkZGNEFGRjQ2RkY4MEZGRkZGRjM4RkY5RgorOjEwMTcwMDAwMDBGRjBFRkZGRkZGMEZGRjAwRkYwREZGRkZGRjVFRkY1QgorOjEwMTcxMDAwQUZGRjIzRkZGRkZGMEZGRjAwRkY2OEZGRkZGRkEwRkZFQQorOjEwMTcyMDAwMDBGRjBERkZGRkZGNUFGRjYzRkYyMkZGRkZGRjBGRkZDOAorOjEwMTczMDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkYwNgorOjEwMTc0MDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkYzNAorOjEwMTc1MDAwNjNGRjIyRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRBRkZBOAorOjEwMTc2MDAwNDlGRjZBRkZGRkZGQTNGRjAwRkYwREZGRkZGRjVBRkZDNgorOjEwMTc3MDAwMDBGRjY4RkZGRkZGQTBGRjYzRkYyMkZGRkZGRjBGRkZENworOjEwMTc4MDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkZCNgorOjEwMTc5MDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkZFNAorOjEwMTdBMDAwNjNGRjIyRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRBRkY1OAorOjEwMTdCMDAwNDlGRjZBRkZGRkZGQTNGRjAwRkYwREZGRkZGRjVBRkY3NgorOjEwMTdDMDAwMDBGRjY4RkZGRkZGQTBGRjYzRkYyMkZGRkZGRjBGRkY4NworOjEwMTdEMDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkY2NgorOjEwMTdFMDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEwRkY5NAorOjEwMTdGMDAwNjNGRjIyRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRBRkYwOAorOjEwMTgwMDAwNDlGRjZBRkZGRkZGQTNGRjAwRkYwREZGRkZGRjVBRkYyNQorOjEwMTgxMDAwMDBGRjY4RkZGRkZGQTBGRjYzRkYyMkZGRkZGRjBGRkYzNgorOjEwMTgyMDAwMDBGRjBERkZGRkZGNEFGRjQ5RkY2QUZGRkZGRkEzRkYxNQorOjEwMTgzMDAwMDBGRjBERkZGRkZGNUFGRjAwRkY2OEZGRkZGRkEzRkY0MAorOjEwMTg0MDAwRkZGRjRGRkZGRkZGRjBGRjg2RkY5M0ZGRkZGRjUwRkZGQgorOjEwMTg1MDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkYzQgorOjEwMTg2MDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkY2NAorOjEwMTg3MDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkYwNgorOjEwMTg4MDAwMDBGRjBBRkZGRkZGMUZGRjEwRkYyN0ZGRkZGRjBGRkZGMworOjEwMTg5MDAwMzJGRjE4RkZGRkZGNDJGRjhCRkY4M0ZGRkZGRkU0RkZENAorOjEwMThBMDAwOEJGRjgzRkZGRkZGRjVGRjQ2RkY5MEZGRkZGRjQ0RkYyNQorOjEwMThCMDAwMDhGRjIyRkZGRkZGMEZGRkZGRkY0RkZGRkZGRjg5RkYyMgorOjEwMThDMDAwMDBGRjBERkZGRkZGOEFGRjAwRkYwRUZGRkZGRjBGRkY2RQorOjEwMThEMDAwMDBGRjBERkZGRkZGNEVGRkE3RkYyM0ZGRkZGRjBGRkZERQorOjEwMThFMDAwNDZGRjkwRkZGRkZGNUFGRjhERkY4M0ZGRkZGRjcwRkY1MgorOjEwMThGMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZDRgorOjEwMTkwMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZDRgorOjEwMTkxMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY3QworOjEwMTkyMDAwMTBGRjI3RkZGRkZGMEZGRjM1RkYxOEZGRkZGRkQyRkY1QworOjEwMTkzMDAwMDBGRjRDRkZGRkZGMDBGRjAwRkY5M0ZGRkZGRjAwRkZEMgorOjEwMTk0MDAwMEJGRjQwRkZGRkZGODBGRjExRkY5MEZGRkZGRkYwRkY0NQorOjEwMTk1MDAwMDBGRjQwRkZGRkZGMTBGRjExRkY5MEZGRkZGRkUwRkZDMAorOjEwMTk2MDAwNDZGRjgwRkZGRkZGMEFGRjdBRkYyNkZGRkZGRjBGRkYwMgorOjEwMTk3MDAwMzVGRjFDRkZGRkZGMjRGRjEwRkYyN0ZGRkZGRjBGRkZCNgorOjEwMTk4MDAwMzNGRjE4RkZGRkZGQzVGRjAwRkY0MEZGRkZGRkMwRkY1MQorOjEwMTk5MDAwMTFGRjkwRkZGRkZGNjBGRjhERkY5M0ZGRkZGRkQwRkY2MAorOjEwMTlBMDAwMDBGRjQ4RkZGRkZGMDBGRjhERkY4M0ZGRkZGRjcwRkY3OQorOjEwMTlCMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkYwRQorOjEwMTlDMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkYwRgorOjEwMTlEMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkZCQworOjEwMTlFMDAwMTBGRjI3RkZGRkZGMEZGRjM0RkYxOEZGRkZGRjg1RkZFQQorOjEwMTlGMDAwMDBGRjQwRkZGRkZGNDBGRjExRkY5MEZGRkZGRjYwRkY3MAorOjEwMUEwMDAwOERGRjkzRkZGRkZGRDBGRjhERkY4M0ZGRkZGRjcwRkY3MAorOjEwMUExMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZBRAorOjEwMUEyMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZBRQorOjEwMUEzMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY1QgorOjEwMUE0MDAwMDBGRjQwRkZGRkZGMDBGRjExRkY5MEZGRkZGRjYwRkY1RgorOjEwMUE1MDAwOERGRjkzRkZGRkZGRDBGRjhERkY4M0ZGRkZGRjcwRkYyMAorOjEwMUE2MDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkY1RAorOjEwMUE3MDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkY1RQorOjEwMUE4MDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkYwQgorOjEwMUE5MDAwMDBGRjQ4RkZGRkZGMDBGRjhERkY5M0ZGRkZGRjgwRkY2OAorOjEwMUFBMDAwMDBGRjQ4RkZGRkZGMDBGRjAwRkY5M0ZGRkZGRjAwRkY2NQorOjEwMUFCMDAwMERGRjQwRkZGRkZGRjBGRjExRkY5MEZGRkZGRkYwRkY2MgorOjEwMUFDMDAwMDBGRjQwRkZGRkZGMTBGRjExRkY5MEZGRkZGRkUwRkY0RgorOjEwMUFEMDAwRkZGRjQwRkZGRkZGRjBGRjkwRkYyN0ZGRkZGRjBGRkYxQgorOjEwMUFFMDAwMDBGRjBBRkZGRkZGMEZGRjEwRkYyN0ZGRkZGRjBGRkZBMQorOjEwMUFGMDAwMzdGRjE4RkZGRkZGNDJGRjQ2RkY4MEZGRkZGRjAwRkY5OQorOjEwMUIwMDAwODlGRjkzRkZGRkZGQTBGRjQ2RkY4MEZGRkZGRjEwRkY0RAorOjEwMUIxMDAwODlGRjkzRkZGRkZGQjBGRjQ2RkY4MEZGRkZGRjIwRkYxRAorOjEwMUIyMDAwODlGRjkzRkZGRkZGQzBGRjQ2RkY4MEZGRkZGRjMwRkZFRAorOjEwMUIzMDAwODlGRjkzRkZGRkZGRDBGRjQ2RkY4MEZGRkZGRjQwRkZCRAorOjEwMUI0MDAwODlGRjkzRkZGRkZGRTBGRjQ2RkY4MEZGRkZGRjUwRkY4RAorOjEwMUI1MDAwODlGRjkzRkZGRkZGRjBGRjAwRkY0MEZGRkZGRjEwRkYzMworOjEwMUI2MDAwODZGRjkzRkZGRkZGNjBGRjhERkY4M0ZGRkZGRjcwRkY4NgorOjEwMUI3MDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkY0QworOjEwMUI4MDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkY0RAorOjEwMUI5MDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkZGQQorOjEwMUJBMDAwMTBGRjI3RkZGRkZGMEZGRjM5RkYxOEZGRkZGRjIyRkY4NgorOjEwMUJCMDAwNDZGRjgwRkZGRkZGMDBGRjhERkY5M0ZGRkZGRjIwRkYyOQorOjEwMUJDMDAwNDZGRjgwRkZGRkZGMTBGRjhERkY5M0ZGRkZGRjMwRkZGOQorOjEwMUJEMDAwNDZGRjgwRkZGRkZGMjBGRjc4RkYyMkZGRkZGRjBGRkY4MAorOjEwMUJFMDAwMzhGRjFDRkZGRkZGODRGRjAwRkY0MEZGRkZGRjAwRkZFNworOjEwMUJGMDAwNDZGRjkwRkZGRkZGMjBGRjAwRkY0OEZGRkZGRjAwRkZCMQorOjEwMUMwMDAwOERGRjkzRkZGRkZGNDBGRjhERkY4M0ZGRkZGRjcwRkZGRQorOjEwMUMxMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZBQgorOjEwMUMyMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZBQworOjEwMUMzMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY1OQorOjEwMUM0MDAwMDBGRjQ4RkZGRkZGMDBGRjhERkY5M0ZGRkZGRjUwRkZFNgorOjEwMUM1MDAwMDBGRjBBRkZGRkZGMEZGRjAwRkYwQ0ZGRkZGRjIwRkY0OQorOjEwMUM2MDAwMDBGRjBBRkZGRkZGMUZGRjAwRkYwQ0ZGRkZGRjMwRkYxOQorOjEwMUM3MDAwMDBGRjQ4RkZGRkZGMDBGRjhCRkY5M0ZGRkZGRjUwRkZCOAorOjEwMUM4MDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkYwOQorOjEwMUM5MDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRkY0RkY4QgorOjEwMUNBMDAwRTBGRjIyRkZGRkZGMEZGRjQxRkYxOEZGRkZGRjMwRkZBNAorOjEwMUNCMDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRkU0RkY3QgorOjEwMUNDMDAwRTBGRjIyRkZGRkZGMEZGRjQyRkYxOEZGRkZGRjQwRkY3MworOjEwMUNEMDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRkQ0RkY2QgorOjEwMUNFMDAwRTBGRjIyRkZGRkZGMEZGRjQ3RkYxOEZGRkZGRkEwRkZFRQorOjEwMUNGMDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRkM0RkY1QgorOjEwMUQwMDAwRTBGRjIyRkZGRkZGMEZGRjQ2RkYxOEZGRkZGRkQwRkY5RQorOjEwMUQxMDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRkI0RkY0QQorOjEwMUQyMDAwRTBGRjIyRkZGRkZGMEZGRjQ4RkYxOEZGRkZGRkUwRkY2QworOjEwMUQzMDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRkE0RkYzQQorOjEwMUQ0MDAwRTBGRjIyRkZGRkZGMEZGRjRBRkYxOEZGRkZGRjYwRkZDQQorOjEwMUQ1MDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRjk0RkYyQQorOjEwMUQ2MDAwRTBGRjIyRkZGRkZGMEZGRjRDRkYxOEZGRkZGRjAwRkYwOAorOjEwMUQ3MDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRjg0RkYxQQorOjEwMUQ4MDAwRTBGRjIyRkZGRkZGMEZGRjRERkYxOEZGRkZGRkUwRkYwNworOjEwMUQ5MDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRjc0RkYwQQorOjEwMURBMDAwRTBGRjIyRkZGRkZGMEZGRjRGRkYxOEZGRkZGRjIwRkZBNQorOjEwMURCMDAwOERGRjgzRkZGRkZGNzBGRjBGRkY0MEZGRkZGRjY0RkZGQQorOjEwMURDMDAwRTBGRjIyRkZGRkZGMEZGRjRGRkYxOEZGRkZGRkYwRkZCNQorOjEwMUREMDAwOERGRjgzRkZGRkZGNzBGRjBFRkY0MEZGRkZGRkY0RkY0QgorOjEwMURFMDAwRTBGRjIyRkZGRkZGMEZGRjQ0RkYxOEZGRkZGRjQwRkY1MAorOjEwMURGMDAwOERGRjgzRkZGRkZGNzBGRjBFRkY0MEZGRkZGRkU0RkYzQgorOjEwMUUwMDAwRTBGRjIyRkZGRkZGMEZGRjQ1RkYxOEZGRkZGRjUwRkYxRQorOjEwMUUxMDAwOERGRjgzRkZGRkZGNzBGRjBBRkY0MEZGRkZGRjA0RkZGRQorOjEwMUUyMDAwRTBGRjIyRkZGRkZGMEZGRjNERkYxOEZGRkZGRkQwRkY4NgorOjEwMUUzMDAwOERGRjgzRkZGRkZGNzBGRjBBRkY0MEZGRkZGRjE0RkZDRQorOjEwMUU0MDAwRTBGRjIyRkZGRkZGMEZGRjNGRkYxOEZGRkZGRjEwRkYyNAorOjEwMUU1MDAwOERGRjgzRkZGRkZGNzBGRjBBRkY0MEZGRkZGRjI0RkY5RQorOjEwMUU2MDAwRTBGRjIyRkZGRkZGMEZGRjNGRkYxOEZGRkZGRjgwRkY5NAorOjEwMUU3MDAwOERGRjgzRkZGRkZGNzBGRjBBRkY0MEZGRkZGRjM0RkY2RQorOjEwMUU4MDAwRTBGRjIyRkZGRkZGMEZGRjNGRkYxOEZGRkZGRkYwRkYwNAorOjEwMUU5MDAwOERGRjgzRkZGRkZGNzBGRjBBRkY0MEZGRkZGRjQ0RkYzRQorOjEwMUVBMDAwRTBGRjIyRkZGRkZGMEZGRjQwRkYxOEZGRkZGRjYwRkY3MworOjEwMUVCMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkZENQorOjEwMUVDMDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkZGRQorOjEwMUVEMDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkZBMAorOjEwMUVFMDAwMDBGRjBBRkZGRkZGMUZGRjhERkY4M0ZGRkZGRjcwRkY1MworOjEwMUVGMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZDOQorOjEwMUYwMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZDOQorOjEwMUYxMDAwMDBGRjBDRkZGRkZGMDhGRjAwRkY0MEZGRkZGRjAwRkY3NworOjEwMUYyMDAwRkZGRjkzRkZGRkZGRjBGRjAwRkY0MEZGRkZGRjAwRkZGOQorOjEwMUYzMDAwNDRGRjkwRkZGRkZGNjBGRjAwRkYwMEZGRkZGRjAwRkY3NworOjEwMUY0MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY5QgorOjEwMUY1MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY4QgorOjEwMUY2MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY3QgorOjEwMUY3MDAwMDBGRjAwRkZGRkZGMDBGRjIxRkY0MEZGRkZGRjgwRkY4QQorOjEwMUY4MDAwRkZGRjkzRkZGRkZGRjBGRjhERkY4M0ZGRkZGRjcwRkY1OQorOjEwMUY5MDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkYyOAorOjEwMUZBMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkYyOQorOjEwMUZCMDAwMjVGRjQwRkZGRkZGODBGRkZGRkY5M0ZGRkZGRkYwRkZDNAorOjEwMUZDMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkZDNAorOjEwMUZEMDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkZFRAorOjEwMUZFMDAwNDZGRjkwRkZGRkZGNkFGRkU5RkY0MUZGRkZGRjgwRkYxMQorOjEwMUZGMDAwRkZGRjkzRkZGRkZGRjBGRjhERkY4M0ZGRkZGRjcwRkZFOQorOjEwMjAwMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZCNworOjEwMjAxMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZCOAorOjEwMjAyMDAwRURGRjQxRkZGRkZGODBGRkZGRkY5M0ZGRkZGRkYwRkY4QQorOjEwMjAzMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkY1MworOjEwMjA0MDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkY3QworOjEwMjA1MDAwNDZGRjkwRkZGRkZGNkFGRjAwRkY0MEZGRkZGRjAwRkYwQQorOjEwMjA2MDAwNDRGRjkwRkZGRkZGNjBGRjAwRkYwMEZGRkZGRjAwRkY0NgorOjEwMjA3MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY2QQorOjEwMjA4MDAwMDBGRjAwRkZGRkZGMDBGRkYxRkY0MUZGRkZGRjgwRkZBOAorOjEwMjA5MDAwRkZGRjkzRkZGRkZGRjBGRjQ2RkY4NEZGRkZGRjAwRkZGRQorOjEwMjBBMDAwMDBGRjM0RkZGRkZGMDhGRjAwRkY2MEZGRkZGRjAzRkY5QgorOjEwMjBCMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYyQQorOjEwMjBDMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYxQQorOjEwMjBEMDAwNDZGRjkwRkZGRkZGNjBGRkY3RkY0RkZGRkZGRkY0RkY5QQorOjEwMjBFMDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkYzMAorOjEwMjBGMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZDNworOjEwMjEwMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZDNworOjEwMjExMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY3NAorOjEwMjEyMDAwNDZGRjg0RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkZCMworOjEwMjEzMDAwMDBGRjM0RkZGRkZGMDZGRjAwRkYwMEZGRkZGRjAwRkY2RgorOjEwMjE0MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY5OQorOjEwMjE1MDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY4MEZGRkZGRjEwRkZCMworOjEwMjE2MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY3OQorOjEwMjE3MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY2OQorOjEwMjE4MDAwMDBGRjY4RkZGRkZGMDJGRjAwRkYwMEZGRkZGRjAwRkZFRgorOjEwMjE5MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY0OQorOjEwMjFBMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkY2MEZGRkZGRjIyRkZCNworOjEwMjFCMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYyOQorOjEwMjFDMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYxOQorOjEwMjFEMDAwNDZGRjkwRkZGRkZGNjJGRkY3RkY0RkZGRkZGRkY0RkY5NworOjEwMjFFMDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkYyRgorOjEwMjFGMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZDNgorOjEwMjIwMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZDNgorOjEwMjIxMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY3MworOjEwMjIyMDAwNDZGRjg4RkZGRkZGMDBGRjAwRkYzOEZGRkZGRjA4RkZBQQorOjEwMjIzMDAwMDBGRjUwRkZGRkZGMDNGRjAwRkYwMEZGRkZGRjAwRkY1NQorOjEwMjI0MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY5OAorOjEwMjI1MDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY5MEZGRkZGRjYwRkY1MgorOjEwMjI2MDAwRjdGRjRGRkZGRkZGRjRGRjQ2RkY5MEZGRkZGRjc0RkZGNAorOjEwMjI3MDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkYxMQorOjEwMjI4MDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkYzQQorOjEwMjI5MDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkZEQworOjEwMjJBMDAwMDBGRjBBRkZGRkZGMUZGRjQ2RkY4OEZGRkZGRjAwRkY0MQorOjEwMjJCMDAwMDBGRjM4RkZGRkZGMDhGRjAwRkYzOEZGRkZGRjA0RkZBQworOjEwMjJDMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYxOAorOjEwMjJEMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYwOAorOjEwMjJFMDAwNDZGRjgwRkZGRkZGMTBGRjAwRkY1OEZGRkZGRjAzRkZDNworOjEwMjJGMDAwMDBGRjUwRkZGRkZGMjNGRjAwRkYwMEZGRkZGRjAwRkY3NQorOjEwMjMwMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZENworOjEwMjMxMDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY5MEZGRkZGRjYyRkY4RgorOjEwMjMyMDAwRjdGRjRGRkZGRkZGRjRGRjQ2RkY5MEZGRkZGRjc0RkYzMworOjEwMjMzMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkY1MAorOjEwMjM0MDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkY3OQorOjEwMjM1MDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkYxQgorOjEwMjM2MDAwMDBGRjBBRkZGRkZGMUZGRjQ2RkY4MEZGRkZGRjAwRkY4OAorOjEwMjM3MDAwRkZGRjkzRkZGRkZGRTBGRkZGRkY4M0ZGRkZGRkUyRkY5MQorOjEwMjM4MDAwNDZGRjkwRkZGRkZGNjJGRkY3RkY0RkZGRkZGRkY0RkZFNQorOjEwMjM5MDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkY3RAorOjEwMjNBMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkYxNAorOjEwMjNCMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkYxNQorOjEwMjNDMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkZDMgorOjEwMjNEMDAwMDNGRjBERkZGRkZGMEZGRjAwRkYwMEZGRkZGRjAwRkZFOAorOjEwMjNFMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZGNworOjEwMjNGMDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY5MEZGRkZGRjYwRkZCMQorOjEwMjQwMDAwMENGRjBERkZGRkZGRjBGRjAwRkYwMEZGRkZGRjAwRkZDRAorOjEwMjQxMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZDNgorOjEwMjQyMDAwMDBGRjAwRkZGRkZGMDBGRkY3RkY0RkZGRkZGRkY0RkY3QworOjEwMjQzMDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkZEQworOjEwMjQ0MDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkY3MworOjEwMjQ1MDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkY3NAorOjEwMjQ2MDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkYyMQorOjEwMjQ3MDAwNDZGRjgwRkZGRkZGMDJGRjAwRkYwMEZGRkZGRjAwRkY5RQorOjEwMjQ4MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY1NgorOjEwMjQ5MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY0NgorOjEwMjRBMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYzNgorOjEwMjRCMDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY4MEZGRkZGRjEzRkY0RAorOjEwMjRDMDAwMDBGRjQwRkZGRkZGMDBGRjExRkY5MEZGRkZGRjYwRkZENQorOjEwMjREMDAwOERGRjkzRkZGRkZGRDBGRjExRkY5MEZGRkZGRkYyRkY4MworOjEwMjRFMDAwMTFGRjkwRkZGRkZGRTNGRkY3RkY0RkZGRkZGRkY0RkYzOAorOjEwMjRGMDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkYxQworOjEwMjUwMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZCMgorOjEwMjUxMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZCMworOjEwMjUyMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY2MAorOjEwMjUzMDAwNDZGRjg0RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkY5RgorOjEwMjU0MDAwMDBGRjM0RkZGRkZGMDZGRjAwRkYwMEZGRkZGRjAwRkY1QgorOjEwMjU1MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY4NQorOjEwMjU2MDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY4MEZGRkZGRjEwRkY5RgorOjEwMjU3MDAwRkZGRjkzRkZGRkZGRTBGRjAwRkY2MEZGRkZGRjIyRkY3MQorOjEwMjU4MDAwNjdGRjQwRkZGRkZGNDBGRkZGRkY5M0ZGRkZGRkUwRkZGQworOjEwMjU5MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY0NQorOjEwMjVBMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkYzNQorOjEwMjVCMDAwNDZGRjkwRkZGRkZGNjJGRkY3RkY0RkZGRkZGRkY0RkZCMworOjEwMjVDMDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkY0QgorOjEwMjVEMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZFMgorOjEwMjVFMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZFMworOjEwMjVGMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY5MAorOjEwMjYwMDAwNDZGRjg0RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkZDRQorOjEwMjYxMDAwMDBGRjM0RkZGRkZGMDZGRjAwRkYwMEZGRkZGRjAwRkY4QQorOjEwMjYyMDAwMDBGRjAwRkZGRkZGMDBGRjQ2RkY4MEZGRkZGRjEwRkZERQorOjEwMjYzMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZBNAorOjEwMjY0MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY5NAorOjEwMjY1MDAwNDZGRjgwRkZGRkZGMjNGRkZGRkY5M0ZGRkZGRkUwRkYyOQorOjEwMjY2MDAwMDBGRjY4RkZGRkZGMzJGRjAwRkY2MEZGRkZGRjcyRkYwOAorOjEwMjY3MDAwNjdGRjQwRkZGRkZGNDBGRkZGRkY5M0ZGRkZGRkUwRkYwQgorOjEwMjY4MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY1NAorOjEwMjY5MDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkY0NAorOjEwMjZBMDAwNDZGRjkwRkZGRkZGNjdGRkY3RkY0RkZGRkZGRkY0RkZCRAorOjEwMjZCMDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkY1QQorOjEwMjZDMDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkZGMQorOjEwMjZEMDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkZGMgorOjEwMjZFMDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkY5RgorOjEwMjZGMDAwNDZGRjgwRkZGRkZGMDVGRjAzRkYwREZGRkZGRjBGRkZGQQorOjEwMjcwMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZEMworOjEwMjcxMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZDMworOjEwMjcyMDAwMENGRjBERkZGRkZGRjVGRjAwRkYwMEZGRkZGRjAwRkZBNQorOjEwMjczMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZBMworOjEwMjc0MDAwMDBGRjAwRkZGRkZGMDBGRkY3RkY0RkZGRkZGRkY0RkY1OQorOjEwMjc1MDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkZCOQorOjEwMjc2MDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkY1MAorOjEwMjc3MDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkY1MQorOjEwMjc4MDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkZGRQorOjEwMjc5MDAwNDZGRjgwRkZGRkZGMDBGRjhERkY5M0ZGRkZGRkMwRkY5RAorOjEwMjdBMDAwOERGRjgzRkZGRkZGQzdGRjQ2RkY5MEZGRkZGRjY3RkYxRgorOjEwMjdCMDAwRjdGRjRGRkZGRkZGRjRGRjQ2RkY5MEZGRkZGRjc0RkY5RgorOjEwMjdDMDAwOERGRjgzRkZGRkZGNzBGRjQ3RkY5MEZGRkZGRjAwRkZCQworOjEwMjdEMDAwMDBGRjQ4RkZGRkZGMDRGRkEwRkYyM0ZGRkZGRjBGRkZFNQorOjEwMjdFMDAwNDZGRjkwRkZGRkZGNkFGRjAwRkYwQ0ZGRkZGRjIwRkY4NworOjEwMjdGMDAwMDBGRjBBRkZGRkZGMUZGRjQ2RkY4MEZGRkZGRjAwRkZGNAorOjEwMjgwMDAwOERGRjkzRkZGRkZGRTBGRjhERkY4M0ZGRkZGRkU3RkZEQgorOjEwMjgxMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZDMgorOjEwMjgyMDAwMDBGRjAwRkZGRkZGMDBGRjAwRkYwMEZGRkZGRjAwRkZCMgorOjEwMjgzMDAwNDZGRjkwRkZGRkZGNjdGRkY3RkY0RkZGRkZGRkY0RkYyQgorOjEwMjg0MDAwNDZGRjkwRkZGRkZGNzRGRjhERkY4M0ZGRkZGRjcwRkZDOAorOjEwMjg1MDAwNDdGRjkwRkZGRkZGMDBGRjAwRkY0OEZGRkZGRjA0RkY1RgorOjEwMjg2MDAwQTBGRjIzRkZGRkZGMEZGRjQ2RkY5MEZGRkZGRjZBRkY2MAorOjEwMjg3MDAwMDBGRjBDRkZGRkZGMjBGRjAwRkYwQUZGRkZGRjFGRkYwRAorOjEwMjg4MDAwOERGRjgzRkZGRkZGRDBGRjAwRkY0MEZGRkZGRjI0RkYwRQorOjEwMjg5MDAwQTBGRjIzRkZGRkZGMEZGRjExRkY5MEZGRkZGRjZBRkY2NQorOjEwMjhBMDAwMDBGRjQwRkZGRkZGMTRGRjE4RkYyM0ZGRkZGRjBGRkY5NAorOjEwMjhCMDAwNTFGRjE0RkZGRkZGODFGRjkwRkY4MEZGRkZGRjYwRkZDQworOjEwMjhDMDAwODBGRjIzRkZGRkZGMEZGRjhERkY4M0ZGRkZGRkQwRkY4MAorOjEwMjhEMDAwMDBGRjQwRkZGRkZGMTRGRkEwRkYyM0ZGRkZGRjBGRkZEQworOjEwMjhFMDAwMTFGRjkwRkZGRkZGNkFGRjMwRkYwQ0ZGRkZGRjAwRkZBQgorOjEwMjhGMDAwMDBGRjQwRkZGRkZGMTZGRjEwRkY0MEZGRkZGRjA3RkYzNQorOjEwMjkwMDAwOTBGRjM0RkZGRkZGNzFGRjAwRkYzNEZGRkZGRjA5RkY1RgorOjEwMjkxMDAwMEZGRjQwRkZGRkZGRjVGRjAwRkY2MEZGRkZGRjA3RkYxNgorOjEwMjkyMDAwODhGRjYzRkZGRkZGMjdGRkU4RkY2MEZGRkZGRjA3RkY1MAorOjEwMjkzMDAwNjJGRjYxRkZGRkZGMjdGRjg4RkYyQkZGRkZGRjhCRkY3OQorOjEwMjk0MDAwRThGRjYwRkZGRkZGMDdGRjYyRkY2MUZGRkZGRjE3RkY2OAorOjEwMjk1MDAwODhGRjJGRkZGRkZGRkJGRjg5RkYyM0ZGRkZGRjBGRkYxNAorOjEwMjk2MDAwOThGRjIwRkZGRkZGMEZGRkVBRkYyMEZGRkZGRjBGRkY5MQorOjEwMjk3MDAwMDBGRjBERkZGRkZGQUJGRjAwRkYwREZGRkZGRkI4RkZFNAorOjEwMjk4MDAwMDBGRjBERkZGRkZGQ0ZGRjYyRkYyMUZGRkZGRjBGRkZFMworOjEwMjk5MDAwMTBGRjIyRkZGRkZGMEZGRjYyRkYyMUZGRkZGRjBGRkY2RQorOjEwMjlBMDAwMDBGRjQwRkZGRkZGMjRGRjkwRkY4MEZGRkZGRjYwRkY1RAorOjEwMjlCMDAwODBGRjIzRkZGRkZGMEZGRjUxRkYxOEZGRkZGRjAwRkYwNgorOjEwMjlDMDAwOEJGRjkzRkZGRkZGRUJGRjhCRkY5M0ZGRkZGRkZDRkZFRQorOjEwMjlEMDAwMDBGRjBBRkZGRkZGMEZGRjUxRkYxQ0ZGRkZGRjBGRkY2QworOjEwMjlFMDAwOERGRjkzRkZGRkZGQUNGRjgyRkYzQ0ZGRkZGRjQ1RkYyMgorOjEwMjlGMDAwNTRGRjE0RkZGRkZGMkVGRkZGRkYzRkZGRkZGRkY1RkYxOAorOjEwMkEwMDAwNTRGRjE0RkZGRkZGMUVGRjAwRkYwMEZGRkZGRjAwRkY0QQorOjEwMkExMDAwMDBGRjAwRkZGRkZGMDBGRjUxRkYxQ0ZGRkZGRjBGRkY0NAorOjEwMkEyMDAwMDBGRjBERkZGRkZGMENGRjhERkY4M0ZGRkZGRkE0RkZFMworOjEwMkEzMDAwRTBGRjIyRkZGRkZGMEZGRjUzRkYxOEZGRkZGRkIzRkY3MQorOjEwMkE0MDAwOERGRjgzRkZGRkZGRDBGRjAwRkY0MEZGRkZGRjI0RkY0QworOjEwMkE1MDAwQTBGRjIzRkZGRkZGMEZGRjAwRkYwREZGRkZGRkJBRkZFNworOjEwMkE2MDAwOEJGRjgzRkZGRkZGRjVGRjExRkY5MEZGRkZGRjZCRkY2MQorOjEwMkE3MDAwMDBGRjQwRkZGRkZGMTRGRjE4RkYyM0ZGRkZGRjBGRkZDMgorOjEwMkE4MDAwNTVGRjE0RkZGRkZGMjFGRjkwRkY4MEZGRkZGRjYwRkY1NgorOjEwMkE5MDAwODBGRjIzRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjIwRkYyRQorOjEwMkFBMDAwMDBGRjQwRkZGRkZGMDFGRjhCRkY4M0ZGRkZGRkU0RkZGRAorOjEwMkFCMDAwOEJGRjgzRkZGRkZGRjVGRjA4RkYwQ0ZGRkZGRjAwRkYwOQorOjEwMkFDMDAwNjBGRjIyRkZGRkZGMEZGRjQ5RkYyQUZGRkZGRkVBRkYyMgorOjEwMkFEMDAwMDBGRjBERkZGRkZGNEVGRjhCRkY5M0ZGRkZGRkVFRkY5OQorOjEwMkFFMDAwMDBGRjBERkZGRkZGNUFGRjhCRkY5M0ZGRkZGRkZBRkY3MQorOjEwMkFGMDAwOERGRjgzRkZGRkZGMjBGRjhERkY4M0ZGRkZGRjMxRkY2RgorOjEwMkIwMDAwRTBGRjIyRkZGRkZGMEZGRkM5RkYyQUZGRkZGRkVBRkZFMQorOjEwMkIxMDAwNTRGRjE4RkZGRkZGRDVGRjAwRkYwREZGRkZGRjRFRkYyMworOjEwMkIyMDAwMDBGRjBERkZGRkZGNUFGRjgyRkY0RkZGRkZGRkYwRkY4NworOjEwMkIzMDAwRkZGRjRGRkZGRkZGRjFGRkUwRkYyMkZGRkZGRjBGRkY0RgorOjEwMkI0MDAwQzlGRjJBRkZGRkZGRUFGRjU2RkYxOEZGRkZGRkI0RkY5MAorOjEwMkI1MDAwNTRGRjE4RkZGRkZGREZGRjAwRkY0MEZGRkZGRjIwRkZENAorOjEwMkI2MDAwNDdGRjkwRkZGRkZGMjBGRjBDRkYwQ0ZGRkZGRjAwRkY2MAorOjEwMkI3MDAwMDJGRjQwRkZGRkZGNjBGRjExRkY5MEZGRkZGRjIwRkZGQworOjEwMkI4MDAwMTZGRjE4RkZGRkZGNEZGRjhERkY4M0ZGRkZGRkQwRkZGMgorOjEwMkI5MDAwMDBGRjQwRkZGRkZGMjRGRkEwRkYyM0ZGRkZGRjBGRkYwOQorOjEwMkJBMDAwMTFGRjkwRkZGRkZGNkFGRjAwRkY0MEZGRkZGRjE0RkZEMAorOjEwMkJCMDAwMThGRjIzRkZGRkZGMEZGRjU3RkYxNEZGRkZGRjkxRkZEOQorOjEwMkJDMDAwOTBGRjgwRkZGRkZGNjBGRjgwRkYyM0ZGRkZGRjBGRkZFRAorOjEwMkJEMDAwOERGRjgzRkZGRkZGRDBGRjAwRkY0MEZGRkZGRjE0RkZDQgorOjEwMkJFMDAwQTBGRjIzRkZGRkZGMEZGRjExRkY5MEZGRkZGRjZBRkYxMgorOjEwMkJGMDAwMzBGRjBDRkZGRkZGMDBGRjAwRkY0MEZGRkZGRjE2RkY0RAorOjEwMkMwMDAwMTBGRjQwRkZGRkZGMDdGRjkwRkYzNEZGRkZGRjcxRkY0MgorOjEwMkMxMDAwMDBGRjM0RkZGRkZGMDlGRjBGRkY0MEZGRkZGRkY1RkYzRAorOjEwMkMyMDAwMDBGRjYwRkZGRkZGMDdGRjg4RkY2M0ZGRkZGRjI3RkYzNQorOjEwMkMzMDAwRThGRjYwRkZGRkZGMDdGRjYyRkY2MUZGRkZGRjI3RkY2NQorOjEwMkM0MDAwODhGRjJCRkZGRkZGOEJGRkU4RkY2MEZGRkZGRjA3RkYwMQorOjEwMkM1MDAwNjJGRjYxRkZGRkZGMTdGRjg4RkYyRkZGRkZGRkZCRkZGMgorOjEwMkM2MDAwODlGRjIzRkZGRkZGMEZGRjk4RkYyMEZGRkZGRjBGRkZFQworOjEwMkM3MDAwRUFGRjIwRkZGRkZGMEZGRjAwRkYwREZGRkZGRkFCRkY4RAorOjEwMkM4MDAwMDBGRjBERkZGRkZGQjhGRjAwRkYwREZGRkZGRkNGRkZBRAorOjEwMkM5MDAwNjJGRjIxRkZGRkZGMEZGRjEwRkYyMkZGRkZGRjBGRkY2QgorOjEwMkNBMDAwNjJGRjIxRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjI0RkYzOAorOjEwMkNCMDAwOTBGRjgwRkZGRkZGNjBGRjgwRkYyM0ZGRkZGRjBGRkZGQworOjEwMkNDMDAwNTdGRjE4RkZGRkZGMTBGRjhCRkY5M0ZGRkZGRkVCRkY4NgorOjEwMkNEMDAwOEJGRjkzRkZGRkZGRkNGRjVDRkYxQ0ZGRkZGRjNGRkYyRAorOjEwMkNFMDAwMDBGRjBBRkZGRkZGMEZGRjU3RkYxQ0ZGRkZGRjFGRkY0MworOjEwMkNGMDAwOERGRjkzRkZGRkZGQUNGRjgyRkYzQ0ZGRkZGRjQ1RkYwRgorOjEwMkQwMDAwNUFGRjE0RkZGRkZGNEVGRkZGRkYzRkZGRkZGRkY1RkZERQorOjEwMkQxMDAwNUFGRjE0RkZGRkZGM0VGRjAwRkYwMEZGRkZGRjAwRkYxMQorOjEwMkQyMDAwMDBGRjAwRkZGRkZGMDBGRjU3RkYxQ0ZGRkZGRjFGRkYxQgorOjEwMkQzMDAwMDBGRjBERkZGRkZGMENGRjhERkY4M0ZGRkZGRkE0RkZEMAorOjEwMkQ0MDAwRTBGRjIyRkZGRkZGMEZGRjU5RkYxOEZGRkZGRkQzRkYzOAorOjEwMkQ1MDAwNUNGRjFDRkZGRkZGM0ZGRjhERkY4M0ZGRkZGRkQwRkZFNgorOjEwMkQ2MDAwMDBGRjQwRkZGRkZGMjRGRkEwRkYyM0ZGRkZGRjBGRkYzNworOjEwMkQ3MDAwMDBGRjBERkZGRkZGQkFGRjhCRkY4M0ZGRkZGRkY1RkY5MworOjEwMkQ4MDAwNUNGRjFDRkZGRkZGM0ZGRjExRkY5MEZGRkZGRjZCRkY4QQorOjEwMkQ5MDAwMDBGRjQwRkZGRkZGMTRGRjE4RkYyM0ZGRkZGRjBGRkY5RgorOjEwMkRBMDAwNUJGRjE0RkZGRkZGNjFGRjkwRkY4MEZGRkZGRjYwRkZFRAorOjEwMkRCMDAwODBGRjIzRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjIwRkYwQgorOjEwMkRDMDAwMDBGRjQwRkZGRkZGMDFGRjhCRkY4M0ZGRkZGRkU0RkZEQQorOjEwMkREMDAwOEJGRjgzRkZGRkZGRjVGRjA4RkYwQ0ZGRkZGRjAwRkZFNgorOjEwMkRFMDAwNjBGRjIyRkZGRkZGMEZGRjQ5RkYyQUZGRkZGRkVBRkZGRgorOjEwMkRGMDAwMDBGRjBERkZGRkZGNEVGRjhCRkY5M0ZGRkZGRkVFRkY3NgorOjEwMkUwMDAwOEJGRjkzRkZGRkZGRkFGRjVFRkYxQ0ZGRkZGRjBGRkYyQgorOjEwMkUxMDAwNUJGRjE4RkZGRkZGMEZGRjhCRkY4M0ZGRkZGRjIwRkYwQworOjEwMkUyMDAwNzhGRjIyRkZGRkZGMEZGRjBERkYxOEZGRkZGRjA1RkZEOQorOjEwMkUzMDAwMDBGRjBBRkZGRkZGMEZGRjA4RkYwQ0ZGRkZGRjAwRkY2RgorOjEwMkU0MDAwMDBGRjQwRkZGRkZGMTRGRjAwRkY0MEZGRkZGRjA1RkZGMworOjEwMkU1MDAwOEJGRjgzRkZGRkZGRTBGRjhCRkY4M0ZGRkZGRkYxRkY4RgorOjEwMkU2MDAwNjBGRjIyRkZGRkZGMEZGRjQ5RkYyQUZGRkZGRkVBRkY3RQorOjEwMkU3MDAwOEJGRjkzRkZGRkZGRkFGRjhCRkY5M0ZGRkZGRkVFRkYzOAorOjEwMkU4MDAwMENGRjBDRkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkYxQgorOjEwMkU5MDAwMDhGRjBDRkZGRkZGMDBGRjAwRkY0MEZGRkZGRjE0RkZENAorOjEwMkVBMDAwMDBGRjQwRkZGRkZGMDVGRjhCRkY4M0ZGRkZGRkUwRkZGOQorOjEwMkVCMDAwOEJGRjgzRkZGRkZGRjFGRjYwRkYyMkZGRkZGRjBGRkY4QworOjEwMkVDMDAwNDlGRjJBRkZGRkZGRUFGRjhCRkY5M0ZGRkZGRkZBRkY5NworOjEwMkVEMDAwOEJGRjkzRkZGRkZGRUVGRjBDRkYwQ0ZGRkZGRjAwRkZEOAorOjEwMkVFMDAwOERGRjgzRkZGRkZGNDBGRjc4RkYyMkZGRkZGRjBGRkZGMworOjEwMkVGMDAwNUVGRjFDRkZGRkZGMDRGRjAwRkYwQUZGRkZGRjBGRkY0NQorOjEwMkYwMDAwMDhGRjBDRkZGRkZGMDBGRjhERkY4M0ZGRkZGRjUwRkY1NworOjEwMkYxMDAwNzhGRjIyRkZGRkZGMEZGRjVGRkYxQ0ZGRkZGRjU0RkY0MworOjEwMkYyMDAwMEZGRjQwRkZGRkZGRjVGRjkwRkY4MEZGRkZGRkE4RkZBRgorOjEwMkYzMDAwMTBGRjBGRkZGRkZGMDhGRjkwRkY4MEZGRkZGRjkwRkZENAorOjEwMkY0MDAwODhGRjI3RkZGRkZGMEZGRkI2RkYyN0ZGRkZGRjBGRkZFMQorOjEwMkY1MDAwOEJGRjgzRkZGRkZGRkFGRkYyRkYyMkZGRkZGRjBGRkY1MAorOjEwMkY2MDAwMDBGRjBERkZGRkZGMEFGRjAwRkY0MEZGRkZGRjE0RkYwMAorOjEwMkY3MDAwRTJGRjIyRkZGRkZGMEZGRjc0RkYxOEZGRkZGRkUyRkZEQQorOjEwMkY4MDAwMzhGRjIzRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjI0RkY3RAorOjEwMkY5MDAwRTJGRjIyRkZGRkZGMEZGRjc0RkYxOEZGRkZGRkUyRkZCQQorOjEwMkZBMDAwMDBGRjBBRkZGRkZGMEZGRjBGRkY0MEZGRkZGRkY1RkZDRQorOjEwMkZCMDAwOTBGRjgwRkZGRkZGODBGRjhCRkY4M0ZGRkZGRkUyRkY5QgorOjEwMkZDMDAwODhGRjI3RkZGRkZGMEZGRjk4RkYyMEZGRkZGRjBGRkY4NgorOjEwMkZEMDAwMTBGRjQwRkZGRkZGMDdGRkU4RkYyMEZGRkZGRjBGRkY4RAorOjEwMkZFMDAwMDBGRjBERkZGRkZGQUNGRkYyRkYyMkZGRkZGRjBGRkYwRgorOjEwMkZGMDAwMDBGRjBERkZGRkZGMEFGRjAxRkY0MEZGRkZGRjA0RkY3RgorOjEwMzAwMDAwRTJGRjIyRkZGRkZGMEZGRjc0RkYxOEZGRkZGRkUyRkY0OQorOjEwMzAxMDAwMzhGRjIzRkZGRkZGMEZGRjAyRkY0MEZGRkZGRjA0RkYwQQorOjEwMzAyMDAwRTJGRjIyRkZGRkZGMEZGRjc0RkYxOEZGRkZGRkUyRkYyOQorOjEwMzAzMDAwMDBGRjBBRkZGRkZGMEZGRjAwRkYzNEZGRkZGRjA4RkY0NQorOjEwMzA0MDAwMDBGRjM0RkZGRkZGRDRGRjAwRkYzNEZGRkZGRjg1RkZDOQorOjEwMzA1MDAwRkZGRjRGRkZGRkZGODlGRjAwRkYwOUZGRkZGRjAxRkY5OQorOjEwMzA2MDAwODlGRjgzRkZGRkZGQjhGRjAwRkYwRUZGRkZGRjBGRkY4OQorOjEwMzA3MDAwMDBGRjBERkZGRkZGNEVGRkE3RkYyM0ZGRkZGRjBGRkYyNgorOjEwMzA4MDAwMDBGRjY4RkZGRkZGQTNGRjg5RkY4M0ZGRkZGRkE4RkY4QgorOjEwMzA5MDAwMDBGRjBFRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRFRkZDMgorOjEwMzBBMDAwQTdGRjIzRkZGRkZGMEZGRjAwRkY2OEZGRkZGRkEzRkY0NgorOjEwMzBCMDAwMDBGRjA5RkZGRkZGMDNGRjhCRkY4M0ZGRkZGRkIwRkY1MAorOjEwMzBDMDAwMDBGRjY4RkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkY4OQorOjEwMzBEMDAwMDJGRjM1RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkY4NworOjEwMzBFMDAwMDBGRjM0RkZGRkZGMjZGRjg5RkY4M0ZGRkZGRkQ4RkZBQworOjEwMzBGMDAwMDBGRjBFRkZGRkZGMEZGRjAwRkYwREZGRkZGRjRFRkY2MgorOjEwMzEwMDAwQTdGRjIzRkZGRkZGMEZGRjAwRkY2OEZGRkZGRkEzRkZFNQorOjEwMzExMDAwODlGRjgzRkZGRkZGQzhGRjAwRkYwRUZGRkZGRjBGRkZDOAorOjEwMzEyMDAwMDBGRjBERkZGRkZGNEVGRkE3RkYyM0ZGRkZGRjBGRkY3NQorOjEwMzEzMDAwMDBGRjY4RkZGRkZGQTNGRjAwRkYwOUZGRkZGRjAzRkY4MgorOjEwMzE0MDAwOEJGRjgzRkZGRkZGRDBGRjAwRkY2OEZGRkZGRjAyRkY0MQorOjEwMzE1MDAwMDFGRjQwRkZGRkZGODBGRjAwRkY2OEZGRkZGRjAyRkY0RQorOjEwMzE2MDAwMDBGRjQwRkZGRkZGMjBGRjAwRkY2OEZGRkZGRjAzRkY5RQorOjEwMzE3MDAwMDBGRjBBRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjEwRkZGMAorOjEwMzE4MDAwOEJGRjkzRkZGRkZGNDBGRjMwRkY0MEZGRkZGRjAwRkY3QgorOjEwMzE5MDAwNDlGRjkwRkZGRkZGNDBGRjAwRkYwQUZGRkZGRjBGRkYwNworOjEwMzFBMDAwMDBGRjQwRkZGRkZGNjBGRjAwRkY5MUZGRkZGRkYwRkYwOAorOjEwMzFCMDAwMDBGRjBBRkZGRkZGMEZGRjAxRkY0MkZGRkZGRjgwRkYzRAorOjEwMzFDMDAwMDBGRjkxRkZGRkZGNzBGRjA3RkY0MkZGRkZGRjgwRkYzRgorOjEwMzFEMDAwMDNGRjkxRkZGRkZGNzBGRjAyRkY0MkZGRkZGRjAwRkZCMQorOjEwMzFFMDAwMDBGRjkxRkZGRkZGRjBGRjA4RkY0MkZGRkZGRjAwRkYxRQorOjEwMzFGMDAwMDNGRjkxRkZGRkZGRjBGRjAwRkY0MEZGRkZGRjIwRkZGNQorOjEwMzIwMDAwMDFGRjkxRkZGRkZGNzBGRjAwRkY0MEZGRkZGRjIwRkY2NgorOjEwMzIxMDAwMDRGRjkxRkZGRkZGNzBGRjAwRkYwQUZGRkZGRjBGRkY5QQorOjEwMzIyMDAwMDRGRjQyRkZGRkZGMDBGRjQ5RkY5MEZGRkZGRjIwRkY2OQorOjEwMzIzMDAwNjJGRjFDRkZGRkZGRkZGRjAwRkYwQUZGRkZGRjBGRkYwMgorOjEwMzI0MDAwMDBGRjQwRkZGRkZGMjBGRjAwRkY5MUZGRkZGRkYwRkZBNworOjEwMzI1MDAwMDFGRjQyRkZGRkZGMDBGRjQ5RkY5MEZGRkZGRjIwRkYzQworOjEwMzI2MDAwNjJGRjFDRkZGRkZGRkZGRjAwRkYwQUZGRkZGRjBGRkZEMgorOjEwMzI3MDAwMDBGRjQwRkZGRkZGNDBGRjhCRkY5M0ZGRkZGRjgwRkYzQQorOjEwMzI4MDAwMDVGRjM1RkZGRkZGMDBGRjkyRkYzQkZGRkZGRjAwRkY0MQorOjEwMzI5MDAwMDBGRjM0RkZGRkZGMDhGRjAwRkYzOEZGRkZGRjA4RkZCQworOjEwMzJBMDAwMDBGRjNDRkZGRkZGNjVGRjY1RkYxNEZGRkZGRjlFRkY3MAorOjEwMzJCMDAwMDBGRjYwRkZGRkZGMDNGRjAwRkY2MEZGRkZGRjEzRkY0MgorOjEwMzJDMDAwMDBGRjc4RkZGRkZGMTNGRjAwRkY3OEZGRkZGRjAzRkYwMgorOjEwMzJEMDAwMDFGRjQyRkZGRkZGMDBGRjQ5RkY5MEZGRkZGRjIwRkZCQworOjEwMzJFMDAwNjJGRjFDRkZGRkZGRkZGRjA1RkY4MUZGRkZGRkMwRkYyNQorOjEwMzJGMDAwNzhGRjIyRkZGRkZGMEZGRjIxRkYxOEZGRkZGRjcxRkY4NQorOjEwMzMwMDAwMDBGRjBBRkZGRkZGMEZGRjQ5RkY4MEZGRkZGRjQ4RkY5RAorOjEwMzMxMDAwMTBGRjBGRkZGRkZGMDNGRjY2RkYyM0ZGRkZGRjBGRkZGRAorOjEwMzMyMDAwNzRGRjE4RkZGRkZGNTRGRjg2RkY4M0ZGRkZGRkMwRkZGRQorOjEwMzMzMDAwNDlGRjkwRkZGRkZGMjBGRjYyRkYxQ0ZGRkZGRkZGRkYyMQorOjEwMzM0MDAwODZGRjgzRkZGRkZGODBGRjAxRkY0MEZGRkZGRjA0RkZCOQorOjEwMzM1MDAwRTBGRjIyRkZGRkZGMEZGRjg2RkY5M0ZGRkZGRjhBRkZDMworOjEwMzM2MDAwNjdGRjFDRkZGRkZGMDBGRjg2RkY4N0ZGRkZGRkQwRkYwNworOjEwMzM3MDAwNzVGRjFDRkZGRkZGMUZGRjAwRkYwQUZGRkZGRjBGRkY4RQorOjEwMzM4MDAwMDBGRjQ4RkZGRkZGMDBGRjgyRkY5M0ZGRkZGRjQwRkZBQQorOjEwMzM5MDAwMDBGRjBBRkZGRkZGMEZGRjA4RkYwQ0ZGRkZGRjAwRkYwQQorOjEwMzNBMDAwODZGRjhCRkZGRkZGQjBGRjAwRkYzOEZGRkZGRjA4RkYyNgorOjEwMzNCMDAwMDBGRjM4RkZGRkZGRjRGRkZGRkY0RkZGRkZGRjg5RkYxNAorOjEwMzNDMDAwOERGRjgzRkZGRkZGNjBGRjg5RkY4M0ZGRkZGRjQ0RkY0NworOjEwMzNEMDAwMDBGRjQwRkZGRkZGMDFGRjg5RkY4M0ZGRkZGRjU1RkY1NQorOjEwMzNFMDAwNjBGRjI2RkZGRkZGMEZGRjQ5RkYyMkZGRkZGRjBGRkZEOAorOjEwMzNGMDAwMDBGRjc4RkZGRkZGQTNGRjEwRkYyMkZGRkZGRjBGRkY3QgorOjEwMzQwMDAwMDBGRjc4RkZGRkZGQTBGRjhERkY4M0ZGRkZGRjYwRkYzRQorOjEwMzQxMDAwODlGRjgzRkZGRkZGMjRGRjAwRkY0MEZGRkZGRjAxRkY0NQorOjEwMzQyMDAwODlGRjgzRkZGRkZGMzVGRjYwRkYyNkZGRkZGRjBGRkZEMAorOjEwMzQzMDAwNDlGRjIyRkZGRkZGMEZGRjAwRkY3OEZGRkZGRkEzRkYwMQorOjEwMzQ0MDAwMTBGRjIyRkZGRkZGMEZGRjAwRkY3OEZGRkZGRkEzRkYyQQorOjEwMzQ1MDAwOERGRjgzRkZGRkZGNjBGRjIwRkY0MEZGRkZGRjA0RkZBMgorOjEwMzQ2MDAwNjBGRjIyRkZGRkZGMEZGRjhERkY5M0ZGRkZGRjZBRkY0QgorOjEwMzQ3MDAwMENGRjBDRkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkYyNQorOjEwMzQ4MDAwMDhGRjBDRkZGRkZGMDBGRjg2RkY4N0ZGRkZGRkIwRkY3NQorOjEwMzQ5MDAwMDBGRjM0RkZGRkZGMDhGRjAxRkYzNEZGRkZGRjA0RkZDMQorOjEwMzRBMDAwMDBGRjM0RkZGRkZGMzVGRkZGRkY0RkZGRkZGRjg5RkZFNgorOjEwMzRCMDAwMDBGRjA5RkZGRkZGMDFGRjg3RkY4QkZGRkZGRkUwRkYxQQorOjEwMzRDMDAwMDBGRjM4RkZGRkZGODhGRjAwRkY3MEZGRkZGRjAzRkZEMworOjEwMzREMDAwMDBGRjY4RkZGRkZGMDBGRjAwRkY3MEZGRkZGRjAzRkYxQgorOjEwMzRFMDAwMDBGRjY4RkZGRkZGMDNGRjg3RkY5QkZGRkZGRkUwRkY3OQorOjEwMzRGMDAwMENGRjBDRkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkZBNQorOjEwMzUwMDAwMDFGRjNDRkZGRkZGMDVGRjZBRkYxNEZGRkZGRjlFRkY2NworOjEwMzUxMDAwNjdGRjFDRkZGRkZGM0ZGRjY5RkYxQ0ZGRkZGRjBGRkY1RgorOjEwMzUyMDAwNjZGRjFDRkZGRkZGMUZGRjM4RkYyMkZGRkZGRjBGRkY5QgorOjEwMzUzMDAwNkFGRjE0RkZGRkZGODVGRjhCRkY4M0ZGRkZGRjQwRkY0NAorOjEwMzU0MDAwNzhGRjIyRkZGRkZGMEZGRjAwRkYwMEZGRkZGRjAwRkZEQworOjEwMzU1MDAwMDBGRjBBRkZGRkZGMEZGRjgyRkY4M0ZGRkZGRjQwRkYxNworOjEwMzU2MDAwNzhGRjIyRkZGRkZGMEZGRjZBRkYxQ0ZGRkZGRkY0RkY0MgorOjEwMzU3MDAwMDBGRjBBRkZGRkZGMEZGRjAwRkY0MEZGRkZGRjEwRkZFQworOjEwMzU4MDAwNDdGRjkwRkZGRkZGMjBGRjg3RkY4M0ZGRkZGRkYwRkY1NAorOjEwMzU5MDAwODZGRjkzRkZGRkZGODBGRjAwRkY0MEZGRkZGRjAwRkY1QworOjEwMzVBMDAwOERGRjkzRkZGRkZGNjBGRjgyRkY5M0ZGRkZGRjQwRkY1MAorOjEwMzVCMDAwODZGRjg3RkZGRkZGOTBGRjAyRkYzNEZGRkZGRjA4RkYzQQorOjEwMzVDMDAwMDBGRjYwRkZGRkZGMDNGRjg5RkY5M0ZGRkZGRjIwRkY2NgorOjEwMzVEMDAwMDBGRjYwRkZGRkZGMDNGRjg5RkY5M0ZGRkZGRjMwRkY0NgorOjEwMzVFMDAwMDBGRjYwRkZGRkZGMDNGRjg5RkY5M0ZGRkZGRjQwRkYyNgorOjEwMzVGMDAwMDBGRjYwRkZGRkZGMDNGRjg5RkY5M0ZGRkZGRjUwRkYwNgorOjEwMzYwMDAwODZGRjk3RkZGRkZGOTBGRjAwRkYwQUZGRkZGRjBGRkZGRQorOjEwMzYxMDAwMDBGRjM0RkZGRkZGNjRGRjAwRkYzNEZGRkZGRjM1RkZCMworOjEwMzYyMDAwMDFGRjM0RkZGRkZGOTZGRjAwRkYzOEZGRkZGRjM0RkY2RAorOjEwMzYzMDAwMDBGRjM4RkZGRkZGNjVGRjAxRkYzOEZGRkZGRjk2RkYyOAorOjEwMzY0MDAwMDBGRjM4RkZGRkZGMDhGRjAyRkYzNEZGRkZGRjQ5RkZDNQorOjEwMzY1MDAwMDJGRjM4RkZGRkZGNDlGRjEwRkY0MEZGRkZGRjA2RkY5QgorOjEwMzY2MDAwMTBGRjQwRkZGRkZGMDJGRjMwRkYwQ0ZGRkZGRjAwRkZENgorOjEwMzY3MDAwMDBGRjNDRkZGRkZGMjVGRjZERkYxNEZGRkZGRkJFRkZCNAorOjEwMzY4MDAwOThGRjUwRkZGRkZGNzNGRjg4RkY1MEZGRkZGRjczRkY5RQorOjEwMzY5MDAwODNGRjY4RkZGRkZGQzVGRjg4RkY2OEZGRkZGRkM0RkZEMAorOjEwMzZBMDAwODNGRjY4RkZGRkZGQzVGRjAwRkY2OEZGRkZGRkM2RkY0NgorOjEwMzZCMDAwOThGRjUwRkZGRkZGNzNGRjg4RkY1MEZGRkZGRjczRkY2RQorOjEwMzZDMDAwODNGRjc4RkZGRkZGQzRGRjg4RkY3OEZGRkZGRkM1RkY4MAorOjEwMzZEMDAwODNGRjc4RkZGRkZGQzRGRjAwRkY3OEZGRkZGRkM2RkZGNworOjEwMzZFMDAwOThGRjUwRkZGRkZGNzNGRjg4RkY1MEZGRkZGRjczRkYzRQorOjEwMzZGMDAwODNGRjY4RkZGRkZGQzVGRjg4RkY2OEZGRkZGRkM0RkY3MAorOjEwMzcwMDAwODNGRjY4RkZGRkZGQzVGRjAwRkY2OEZGRkZGRkM2RkZFNQorOjEwMzcxMDAwMDBGRjNDRkZGRkZGMjVGRjZFRkYxNEZGRkZGRjhFRkY0MgorOjEwMzcyMDAwOThGRjUwRkZGRkZGNzNGRjg4RkY1MEZGRkZGRjczRkZGRAorOjEwMzczMDAwODNGRjc4RkZGRkZGQzRGRjg4RkY3OEZGRkZGRkM0RkYxMAorOjEwMzc0MDAwMDBGRjc4RkZGRkZGQzRGRjIwRkYwQ0ZGRkZGRjAwRkYxQgorOjEwMzc1MDAwMDBGRjBBRkZGRkZGMEZGRjAwRkYzNEZGRkZGRkU5RkYzRAorOjEwMzc2MDAwMDFGRjM4RkZGRkZGMjhGRjAxRkYzOEZGRkZGRjI5RkZBMAorOjEwMzc3MDAwMDBGRjM4RkZGRkZGNjZGRjAwRkYzOEZGRkZGRjM0RkY0OQorOjEwMzc4MDAwMDBGRjM4RkZGRkZGNzVGRjEwRkY0MEZGRkZGRjA2RkY0MAorOjEwMzc5MDAwMDBGRjQxRkZGRkZGMDdGRjMwRkYwQ0ZGRkZGRjAwRkZBRgorOjEwMzdBMDAwOThGRjcwRkZGRkZGMjBGRjAwRkYzQ0ZGRkZGRjI1RkY5QQorOjEwMzdCMDAwNzBGRjE0RkZGRkZGMkVGRjgwRkY3MEZGRkZGRjQyRkYyRgorOjEwMzdDMDAwNjNGRjcyRkZGRkZGMjBGRjgwRkY2OEZGRkZGRkE3RkY3RgorOjEwMzdEMDAwMDBGRjcwRkZGRkZGNDFGRjYzRkY3MkZGRkZGRjI0RkY0OQorOjEwMzdFMDAwODBGRjY4RkZGRkZGQTdGRjAwRkY3MEZGRkZGRjQ2RkY5RQorOjEwMzdGMDAwNjNGRjcyRkZGRkZGMjRGRjgwRkY2OEZGRkZGRkE3RkY0QgorOjEwMzgwMDAwMDBGRjcwRkZGRkZGNDVGRjYzRkY3MkZGRkZGRjIwRkYxOAorOjEwMzgxMDAwMDBGRjY4RkZGRkZGQTdGRjgwRkY3MEZGRkZGRjQyRkY3MQorOjEwMzgyMDAwNjNGRjcyRkZGRkZGMjBGRjgwRkY3MEZGRkZGRjQxRkY3QworOjEwMzgzMDAwNjNGRjZBRkZGRkZGQTdGRjAwRkY3MEZGRkZGRjI0RkY4QQorOjEwMzg0MDAwODBGRjY4RkZGRkZGQTdGRjAwRkY3MEZGRkZGRjQ0RkYzRgorOjEwMzg1MDAwNjNGRjcyRkZGRkZGMjRGRjgwRkY2OEZGRkZGRkE3RkZFQQorOjEwMzg2MDAwRjBGRjQwRkZGRkZGMDVGRjAwRkY0RkZGRkZGRjA0RkZEQQorOjEwMzg3MDAwMDBGRjBERkZGRkZGMEJGRjgwRkYyN0ZGRkZGRjBGRkY4NAorOjEwMzg4MDAwODhGRjIzRkZGRkZGMEZGRkVBRkYyMEZGRkZGRjBGRkY2RgorOjEwMzg5MDAwNzRGRjIyRkZGRkZGMEZGRjAwRkY2OEZGRkZGRkE3RkY3RQorOjEwMzhBMDAwMDBGRjcwRkZGRkZGMjRGRjgwRkY3MEZGRkZGRjQ0RkY1QQorOjEwMzhCMDAwNjNGRjcyRkZGRkZGMjRGRjgwRkY2OEZGRkZGRkE3RkY4QQorOjEwMzhDMDAwMDBGRjRGRkZGRkZGMDRGRjAwRkYwREZGRkZGRjBCRkY5NworOjEwMzhEMDAwODBGRjI3RkZGRkZGMEZGRjg4RkYyM0ZGRkZGRjBGRkY4MgorOjEwMzhFMDAwRUFGRjIwRkZGRkZGMEZGRjc0RkYyMkZGRkZGRjBGRkYyNAorOjEwMzhGMDAwMDBGRjY4RkZGRkZGQTdGRjAwRkYwQUZGRkZGRjBGRkZBQQorOjEwMzkwMDAwMzhGRjIyRkZGRkZGMEZGRjcyRkYxNEZGRkZGRjM1RkY5RAorOjEwMzkxMDAwOEJGRjgzRkZGRkZGMzBGRjc4RkYyMkZGRkZGRjBGRkZDQQorOjEwMzkyMDAwMDBGRjBBRkZGRkZGMEZGRjBFRkY0MEZGRkZGRjAwRkYzQQorOjEwMzkzMDAwMTBGRjkwRkZGRkZGMTBGRjA4RkY0MEZGRkZGRjAwRkY5OQorOjEwMzk0MDAwMTBGRjkwRkZGRkZGOTBGRjAyRkY0MEZGRkZGRjQwRkZDRgorOjEwMzk1MDAwMTFGRjkwRkZGRkZGMjBGRjAwRkY0MEZGRkZGRjAwRkY3MAorOjEwMzk2MDAwMTBGRjkwRkZGRkZGQjBGRkIwRkY0MEZGRkZGRjAwRkYyMQorOjEwMzk3MDAwNDdGRjkwRkZGRkZGNTBGRjMwRkY0MEZGRkZGRjAwRkZCQQorOjEwMzk4MDAwNDdGRjkwRkZGRkZGNDBGRjc4RkY0MkZGRkZGRjUwRkYyMAorOjEwMzk5MDAwNDhGRjkwRkZGRkZGQTBGRjQwRkY0MEZGRkZGRjAwRkYzOQorOjEwMzlBMDAwNDlGRjkwRkZGRkZGNzBGRjE4RkY0MEZGRkZGRjAwRkY4MAorOjEwMzlCMDAwNDdGRjkwRkZGRkZGNzBGRjE4RkY0MEZGRkZGRjEwRkY2MgorOjEwMzlDMDAwNDdGRjkwRkZGRkZGNzBGRjE4RkY0MEZGRkZGRjAwRkY2MgorOjEwMzlEMDAwNDdGRjkwRkZGRkZGNzBGRjAwRkY0MEZGRkZGRjAwRkY2QQorOjEwMzlFMDAwMTFGRjkwRkZGRkZGNjBGRjhERkY5M0ZGRkZGRkQwRkZGMAorOjEwMzlGMDAwMEJGRjQwRkZGRkZGODBGRjExRkY5MEZGRkZGRkYwRkY3NQorOjEwM0EwMDAwMDBGRjQwRkZGRkZGMTBGRjExRkY5MEZGRkZGRkUwRkZFRgorOjEwM0ExMDAwMDBGRjQ4RkZGRkZGMDBGRjAwRkY5M0ZGRkZGRjAwRkZENQorOjEwM0EyMDAwMDBGRjBBRkZGRkZGMEZGRjA4RkY0MEZGRkZGRjAwRkYzRgorOjEwM0EzMDAwNDdGRjkwRkZGRkZGMjBGRjIyRkYxOEZGRkZGRjlGRkZDMAorOjEwM0E0MDAwMDBGRjQ4RkZGRkZGMTBGRjg2RkY5M0ZGRkZGRjcwRkY5RgorOjEwM0E1MDAwMjJGRjE4RkZGRkZGOUZGRjAwRkY0OEZGRkZGRjAwRkY0RgorOjEwM0E2MDAwODZGRjkzRkZGRkZGNzBGRjIyRkYxOEZGRkZGRjlGRkZGRQorOjEwM0E3MDAwMDBGRjQ4RkZGRkZGMjBGRjg2RkY5M0ZGRkZGRjcwRkY1RgorOjEwM0E4MDAwMjJGRjE4RkZGRkZGOUZGRjAwRkYzNEZGRkZGRjQ4RkZFQgorOjEwM0E5MDAwMDBGRjYwRkZGRkZGMDNGRjg2RkY5M0ZGRkZGRkIwRkYwNAorOjEwM0FBMDAwMDBGRjYwRkZGRkZGMDNGRjg2RkY5M0ZGRkZGRkMwRkZFNAorOjEwM0FCMDAwODZGRjk3RkZGRkZGRDBGRjAwRkYwQUZGRkZGRjBGRkYwQQorOjEwM0FDMDAwODBGRjM3RkZGRkZGMDJGRjg0RkYzQkZGRkZGRjAyRkY4NgorOjEwM0FEMDAwMDBGRjYwRkZGRkZGMEJGRjBDRkYwREZGRkZGRjkwRkZEQworOjEwM0FFMDAwMDBGRjcwRkZGRkZGMEJGRjBDRkYwREZGRkZGRkIwRkY5QworOjEwM0FGMDAwODhGRjM3RkZGRkZGMDNGRjhDRkYzQkZGRkZGRjAzRkY0NAorOjEwM0IwMDAwMDBGRjQwRkZGRkZGMDFGRjhCRkY5M0ZGRkZGRjUxRkYwRgorOjEwM0IxMDAwODJGRjQzRkZGRkZGODBGRjhCRkY5M0ZGRkZGRjYwRkZFQworOjEwM0IyMDAwMDBGRjM0RkZGRkZGODlGRjAwRkY0MEZGRkZGRjAwRkZBMgorOjEwM0IzMDAwMENGRjBERkZGRkZGODBGRjBDRkYwREZGRkZGRkEwRkYzRAorOjEwM0I0MDAwMDBGRjBBRkZGRkZGMEZGRjgwRkYzN0ZGRkZGRjAwRkZBRgorOjEwM0I1MDAwMDBGRjM0RkZGRkZGMDhGRjAyRkYzQ0ZGRkZGRjQ1RkZCMAorOjEwM0I2MDAwNzZGRjE0RkZGRkZGREVGRjAwRkZBMEZGRkZGRjAzRkY1NAorOjEwM0I3MDAwODRGRjM3RkZGRkZGMDBGRjAwRkYzNEZGRkZGRjA4RkY1OAorOjEwM0I4MDAwMDJGRjNDRkZGRkZGNDVGRjc3RkYxNEZGRkZGRjJFRkYwMworOjEwM0I5MDAwMDBGRkEwRkZGRkZGMDNGRjdFRkYzOEZGRkZGRjAwRkZENgorOjEwM0JBMDAwMDBGRjM4RkZGRkZGMDhGRjAwRkYzQ0ZGRkZGRkU1RkZCRQorOjEwM0JCMDAwNzdGRjE0RkZGRkZGOEVGRjAwRkY0MEZGRkZGRjAwRkZCNgorOjEwM0JDMDAwMDBGRjU4RkZGRkZGMDNGRjAwRkYwQUZGRkZGRjBGRkY4QgorOjEwM0JEMDAwNjRGRjFDRkZGRkZGNEZGRjM4RkYyMkZGRkZGRjBGRkZCNworOjEwM0JFMDAwNzdGRjE0RkZGRkZGRTVGRjhCRkY4M0ZGRkZGRjQwRkYyMQorOjEwM0JGMDAwNzhGRjIyRkZGRkZGMEZGRjY0RkYxQ0ZGRkZGRjhGRkYxNworOjEwM0MwMDAwMzhGRjIyRkZGRkZGMEZGRjc4RkYxNEZGRkZGRjM1RkY5NAorOjEwM0MxMDAwOEJGRjgzRkZGRkZGNDBGRjc4RkYyMkZGRkZGRjBGRkZCNworOjEwM0MyMDAwMDBGRjBBRkZGRkZGMEZGRjAwRkYzNEZGRkZGRjA5RkY0OAorOjEwM0MzMDAwMDBGRjM0RkZGRkZGODVGRjAwRkYzNEZGRkZGRjU2RkY0QgorOjEwM0M0MDAwMDBGRjA5RkZGRkZGMDZGRjIwRkY0MEZGRkZGRjAwRkYwRgorOjEwM0M1MDAwMDFGRjQwRkZGRkZGQzFGRjAwRkY0MEZGRkZGRjQ0RkZFOAorOjEwM0M2MDAwMDBGRjY4RkZGRkZGMDVGRjAwRkY2OEZGRkZGRjE1RkY3NAorOjEwM0M3MDAwMDBGRjY4RkZGRkZGMDVGRjAwRkY2OEZGRkZGRjQ1RkYzNAorOjEwM0M4MDAwMDBGRjBBRkZGRkZGMEZGRjg2RkY4N0ZGRkZGRkYwRkYyOAorOjEwM0M5MDAwODZGRjhCRkZGRkZGRTBGRjAwRkYzNEZGRkZGRkM4RkY0MQorOjEwM0NBMDAwMDBGRjM4RkZGRkZGQzhGRjAwRkY2MEZGRkZGRjAzRkZCQgorOjEwM0NCMDAwMDBGRjYwRkZGRkZGMTNGRjAwRkY3OEZGRkZGRjEzRkYxMAorOjEwM0NDMDAwMDBGRjc4RkZGRkZGMDNGRjg2RkY5N0ZGRkZGRkYwRkY3NgorOjEwM0NEMDAwODZGRjlCRkZGRkZGRTBGRjA1RkY4MUZGRkZGRkMwRkZBNworOjEwM0NFMDAwNzhGRjIyRkZGRkZGMEZGRjIxRkYxOEZGRkZGRjcxRkY4QgorOjEwM0NGMDAwMDBGRjBBRkZGRkZGMEZGRjdGRkYzOEZGRkZGRjAxRkZGRAorOjEwM0QwMDAwMDBGRjM4RkZGRkZGMDlGRjAwRkYzOEZGRkZGRjA2RkYzRQorOjEwM0QxMDAwN0VGRjQwRkZGRkZGMDBGRjAwRkY0MEZGRkZGRkIxRkZGRQorOjEwM0QyMDAwMDhGRjBDRkZGRkZGMDBGRjAwRkYzQ0ZGRkZGRkM1RkY4OAorOjEwM0QzMDAwN0FGRjE0RkZGRkZGQkVGRjAwRkY1MEZGRkZGRjQ2RkZBQgorOjEwM0Q0MDAwRTFGRjIyRkZGRkZGMEZGRjdBRkYxQ0ZGRkZGRkUwRkZGNQorOjEwM0Q1MDAwNjBGRjIyRkZGRkZGMEZGRjAwRkY1OEZGRkZGRkE3RkZERAorOjEwM0Q2MDAwMENGRjBDRkZGRkZGMDBGRjAwRkYwQUZGRkZGRjBGRkYyQworOjEwM0Q3MDAwMDBGRjQwRkZGRkZGQzRGRjAwRkYwQUZGRkZGRjBGRkYzMAorOjEwM0Q4MDAwRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkY0MworOjA0M0Q5MDAwRkZGRkZGRkYzMworOjAwMDAwMDAxRkYKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvYWxhd19tYWluLmNzcC5paGV4IGIvZmlybXdhcmUvc2IxNi9hbGF3X21haW4uY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ1MDI3MAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvYWxhd19tYWluLmNzcC5paGV4CkBAIC0wLDAgKzEsODcgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDgwMDAwNDQwMEIxMDA0NDAwNjEwMDQ0QjYKKzoxMDAwMTAwMDA4NTAwMDQ0MERGMjYxQTg0NDA0MDQxOTAwMDA0MDQ1NTIKKzoxMDAwMjAwMDQwNDkzOUFDNTU1NTcxOEI1MDA1NjM4MDAwMDAwNjM5NDUKKzoxMDAwMzAwMEZGMkUyMTQ5RkYwRkQ0NDkyMDAxMDkwRTIwMDA3MThCQUEKKzoxMDAwNDAwMEE4MDFBODgwODgwMUE4ODBBODAwMDA4MEQyMDA3MThCMzgKKzoxMDAwNTAwMDg4MDBBODgwQTgwNEIzODAyMDA3QjM4MDg4MDNCMTgwRkIKKzoxMDAwNjAwMEMwMDAwOTVDQzIwMTAwODJBMTAwNzE4QkNEMDAwNDE5OUYKKzoxMDAwNzAwMDIxMjA3MThCQ0YwMDA0MTkwMDAwQjE4MEMyMDAwNDE5NDcKKzoxMDAwODAwMDAwNDAwMDE0MDg0MDA0MjQwMDAwMzQ0OTBDNDAwMDQ0OUYKKzoxMDAwOTAwMDQ0MDQwNDM5MDAwMDQwNDUzMjAwMDk1QzAwMDAwQzM5N0EKKzoxMDAwQTAwMDAwMDA0MDQ1NDA0MDA5RUZGRjIwMDlDRjAwMDQ2M0ExNTQKKzoxMDAwQjAwMDUwMDMzMzgwMDAwNEEzODAwMEZGQzI4QjAwRDAwNDU0OUYKKzoxMDAwQzAwMDA0RTAwMEM0MjAwMzgwQzAzMDAwMDA4ODAwMDA3QTBBRTkKKzoxMDAwRDAwMEQwMDEwMDgyMDA2MDAwNDRDMDAwMDA5OTAwNjAwMDQ0MkMKKzoxMDAwRTAwMDAwRkZDMjhCMjAwMDAwODAwMDBENDI4QjA4MzIwMEM0NEMKKzoxMDAwRjAwMDAwMEU0MjhCMDBBMjAwQzQwMDFFNDI4QjBDQjIwMEM0NTIKKzoxMDAxMDAwMDAwOEU0MjhCMDA2MjAwQzQwMDlFNDI4QjA4NTIwMEM0RTUKKzoxMDAxMTAwMDAwQkU0MjhCMDg1MjAwQzQwMDA0NDI4QjA0NzIwMEM0MkIKKzoxMDAxMjAwMDAwMjQ0MjhCMDBEMjAwQzQwMDU1NDI4QjAwNjAwMEM0MDIKKzoxMDAxMzAwMDAwMDA0MDQ1MjAwMTc5ODAwMDMwNDI4QjA4ODIwMEM0RDUKKzoxMDAxNDAwMDAwMDA0MDQ1MDAwMDcxOEI0MDAxMDA4MDAwNjAwMDQ0QzkKKzoxMDAxNTAwMEZGMDBFMkFCMDBCMjAwQzQwRkYyQThBODIwMDBCMTg4RjMKKzoxMDAxNjAwMDAwMDA0MTAyNERGMjAwMzlDMDAxMDA4MjAwNjAwMDQ0RUQKKzoxMDAxNzAwMDBERjJBM0E4NERGMjAwMzkwMDYwMDA0NEZGMDBFMkFCOEQKKzoxMDAxODAwMDIwMDAwMDg4MDAwMDYxMDI0REYyMDQxOTAwNjAwMDQ0NjQKKzoxMDAxOTAwMEZGMDBFMkFCQTAwMDAwODgwMDAwNjExMDRERjIwNDE5REUKKzoxMDAxQTAwMDAwNjAwMDQ0RkYyMEUyQUI2MDAwMDA4ODAwMDA3MUMwRTYKKzoxMDAxQjAwMDRERjIwNDE5MDA2MDAwNDQwMDAwNzk4MDAwRTIwMDg0RTAKKzoxMDAxQzAwMDAzMDMwNDQ5MDRDMjAwNTQwMDYwMDQ2NDAwNjAwMDQ0NTYKKzoxMDAxRDAwMDAwMDA2MzgwMDAwMDA2MTkwMzAwMDQ0OTAwNjAwMDQ0MjkKKzoxMDAxRTAwMDIwMDE2MzgwMDAwMDA2MTkwMDIwRTI4QjBDRjIwMDg0REQKKzoxMDAxRjAwMEJFMDA1MThCQzAyMDAwMzkwODAxMDA0NEVDMDA1MThCMzcKKzoxMDAyMDAwMEMwMjAwMDM5MDAwMkUyOEIwNDIxMDA4NDNGMDA1MThCQTIKKzoxMDAyMTAwMEMyMjAwMDM5MDAxMTAwNDQzRDAwNTE4QkMyMjAwMDM5M0EKKzoxMDAyMjAwMEU1MDA3MThCQ0QwMDAwMzkwMDAwQjE4MEM5MjAwNDE5QjAKKzoxMDAyMzAwMENCMjAwNDE5QzEyMDA0MTlDMzIwMDQxOTEwMDA3MThCQUMKKzoxMDAyNDAwMEM3MjAwNDE5REUwMDUxOEJDRjAwMDAzOTAwMDFCMTgwQjYKKzoxMDAyNTAwMEM0MjAwNDE5QzYyMDA0MTlDODIwMDQxOUNBMjAwNDE5OEUKKzoxMDAyNjAwMDIwMDA3MThCQ0MyMDA0MTkwMzAwMDQ0OTAwNjAwMDQ0NzUKKzoxMDAyNzAwMDA5MDQ2MUE4QzEwMDA0MTkwQjA0NjFBOENBMDAwNDE5OEIKKzoxMDAyODAwMDA0NjAwMEQ0MEQwMDYxMEE5MDQwMDk4RjAwMDEwMDQ1MTAKKzoxMDAyOTAwMDBGMDA2MTBBMDA0MDA5OEYwMDAxMDA0NTgyMDAwOTJFMEQKKzoxMDAyQTAwMDgwNDAwOUNGMDIwMDYxMjI0MzI1NjEyMjQwMzMwMDgwNTMKKzoxMDAyQjAwMDA4NDgwMDQ0MjBCMTQ5NUM5MjAwMDk0RTAyMDMwOTJFMEYKKzoxMDAyQzAwMDAwMDBBMzAyQzAwMDcxQzAyMDAwRUI4MDAwMDRDMjhCQkMKKzoxMDAyRDAwMDIwMDQ2MTgwMDAwNDdBMDJDMDAwMDA4MjBDQzMwODQ5MzcKKzoxMDAyRTAwMEIwMDFGMzgwMDAwMDEwMzkyMDAwMEM4OTBDODgwODQ5MDcKKzoxMDAyRjAwMDAzMDBBODE4MDAwMDEwMzlCREZGNjI4QjIwMDEwMDgwQTgKKzoxMDAzMDAwMDAwMDA2M0NCMDAwMDdBMDI0MDAwMDE1QjIwMDAwMDgwMDcKKzoxMDAzMTAwMDAwMDA0QUNCMjAwMDEzODAyMDAwN0E4MEUwMjEwMEMwM0EKKzoxMDAzMjAwMDA4MDAwODQ5MTA0MTA5OEVBRUFFNjI4QjAwMDQ2MTIyQkMKKzoxMDAzMzAwMDAwMDMwMDQ1MjIwMTMzODAyMDAxQTMwMjAwMDA3QTgwREYKKzoxMDAzNDAwMEMwMDAwMDgyMDcyMDQwMEEwOEEzMDA4NDQwMjEwMDgwRUEKKzoxMDAzNTAwMDQwMDU5MzEwQzcyMDAwMzkwMDAwNDA0NTA3MjA0MDBBOUYKKzoxMDAzNjAwMDBDOTMwMDg0MDgwMDAwODIwQzI0NjE1MDQwMDEwMDgwM0UKKzoxMDAzNzAwMEM3MjAwMDM5MDAwMDQwNDUwMDA0NjM4MDAwMDAwNjM5QjIKKzoxMDAzODAwMDQyMDEwOTBFMDIyMDYxMEEwMDAxMDA0NTBDMjA2MDBBQUEKKzoxMDAzOTAwMDAwQzMwMDg0MDAwNEIxODAwMDAwMDYzOTBDNjEwNEQ0NUQKKzoxMDAzQTAwMDAwMjQ3MUMwMjAzMzMzQzBFMDAxQTM4MjIyMDM3QTAyMEIKKzoxMDAzQjAwMEMzMDFBMzgyMjAwMTMzODAwMDAwN0E4MEMyMDFCMzUwQzAKKzoxMDAzQzAwMENDMjAwMDM5MDAwMDcxODAwMDA4MDA0NDBDMjA2MDBBMzUKKzoxMDAzRDAwMDAwRjMwMDg0MDAwNEIxODAwMDAwMDYzOTBDNjEwNEQ0RUQKKzoxMDAzRTAwMDAwMDA3MUMwMDAwMDkzMTBDQzIwMDAzOTAwMDgwMDQ0QzgKKzoxMDAzRjAwMENDMjAwMDM5MDAyMDAwQzAwMDMwNzFDMDAwMDgwMDQ0NEIKKzoxMDA0MDAwMDIwMDEwMDgwQUVBRTYyOEIyMDAxMzM4MDAwMDA4MzgwMkIKKzoxMDA0MTAwMDIwMDA3QTgwMjBBMTQ5NUM4MjAwMDk2RTgwNEEwOThFMDIKKzoxMDA0MjAwMEUwMDFCMzgyMjAwNEEzODAwMDAwN0FDQjI4MDRFQTEwMDQKKzoxMDA0MzAwMDBDMDQ3QTEwNzAwMEMwOEIwMDAwMTAzOTkwMDMwMDgwMEIKKzoxMDA0NDAwMDQwMDAyMTVCOTAwMDYxODAwQzhBMDg0OTAwMDAxQzE5NjMKKzoxMDA0NTAwMDQwMDAwODVCMDgwMDA4NDkyMDAyMDA4MDAzMDBBODE4M0IKKzoxMDA0NjAwMDAwMDAxNDE5NDAwMDIxQ0IwMDAwNDEwMjAwMDBFQjgwODUKKzoxMDA0NzAwMEYyMDEwMDgyNDAyMTMzMDIwODIwNjEwQUM0MDAwNDE5RkQKKzoxMDA0ODAwMEM3MDAwMDk5MDIwMDYxMEEwQzBBMDQxNDAxMDA2MTBBMDUKKzoxMDA0OTAwMDAzMDA0ODBBMDA1ODA0NTRDMzAwMDQxOTBDNTgwMDQ0Q0YKKzoxMDA0QTAwMDA4MDBDODBBMEM1ODA0NTRDODAwMDQxOTBBMDA2MTBBNUMKKzoxMDA0QjAwMDA5MDA0ODBBMDBDODA0NTRDOTAwMDQxOTBDQzgwMDQ0QzMKKzoxMDA0QzAwMDBCMDBDODBBMENDODA0NTRDQjAwMDQxOTA0MDA2MTBBQ0MKKzoxMDA0RDAwMDA2MDA0ODBBMDBEODA0NTRDNjAwMDQxOTBDRDgwMDQ0ODkKKzoxMDA0RTAwMDA1MDBDODBBMENEODA0NTRDNTAwMDQxOTA3MDA2MTBBQTUKKzoxMDA0RjAwMDBDMDA0ODBBMDAwQTA0NTRDQzAwMDQxOTBDMEEwMDQ0RjkKKzoxMDA1MDAwMDBFMDBDODBBMEMwQTA0NTRDRTAwMDQxOTAwMDA0MDQ1MkQKKzowODA1MTAwMDIwMTA3MThCMDg0MjA2MDA2NworOjAwMDAwMDAxRkYKKy8qCisgKiAgQ29weXJpZ2h0IChjKSAxOTk0IENyZWF0aXZlIFRlY2hub2xvZ3kgTHRkLgorICogIE1pY3JvY29kZSBmaWxlcyBmb3IgU0IxNiBBZHZhbmNlZCBTaWduYWwgUHJvY2Vzc29yCisgKi8KZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcC5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhNTBhNTgKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9jYXB0dXJlLmNzcC5paGV4CkBAIC0wLDAgKzEsMTIxIEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MDA3MDAwNDQwOEQwMDA0NDgwCis6MTAwMDEwMDAwMEYwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NUJBCis6MTAwMDIwMDAwMDA0NjM4MDAwMDAwNjM5RkYyRTIxNDlGRjBDRDQ0OUVCCis6MTAwMDMwMDA0MDQ5MzlBQzU1NTU3MThCNTAwMUIxODAwMDAwNzE4QjJFCis6MTAwMDQwMDBDMjMwMDQxOUMwQTAwNDE5QzJBMDA0MTk4OTAwNzE4QjIwCis6MTAwMDUwMDBDODMwMDQxOTcxMDA3MThCQ0QwMDA0MTlDRjAwMDQxOTQ4Cis6MTAwMDYwMDA4MDAwNzE4QkNCMjAwNDE5MjAwMDcxOEJDNDIwMDQxOUVGCis6MTAwMDcwMDA0NzAwNTE4QkMwMjAwMDM5MDAwMDYzODBDMUEwMDQxOUUzCis6MTAwMDgwMDA5MzAwMDE0RkNEMzAwMDA5Q0YzMDAwMDkwQzQwMDAxNDFGCis6MTAwMDkwMDAwMDYwMDAxNDAwMDQ2MUE4MDIwNDYxQTgwQzYwMDQyNDNDCis6MTAwMEEwMDAwMDAwMzQ0OTA4NTAwMDQ0NDQwNDA0MzkwMDAwNDA0NTJECis6MTAwMEIwMDAwODMwNjEwQTA1QjBFODE4MENDMDA0NTRDODMwMDQxOUFGCis6MTAwMEMwMDAwOTA0MDBBODBCMDQwMEE4MDAwMDQwNDUwOTA0NjFBODI5Cis6MTAwMEQwMDBDMTAwMDQxOTBCMDQ2MUE4Q0EwMDA0MTkwRDAwNjEwQUNCCis6MTAwMEUwMDAwMDAxMDA0NTBGMDA2MTBBMDA0MDA5OEYwMDAxMDA0NTMyCis6MTAwMEYwMDA0MDQwMDlFRkZGMjAwOUNGMDAwNDYzQTE1MDAzMzM4MDgzCis6MTAwMTAwMDAwMDA0QTM4MDAwRkZDMjhCMEMxMjA0NTQwODEyMDBDNDI4Cis6MTAwMTEwMDAyMDAzODBDMDMwMDAwMDg4MDAwMDdBMEFEMDAxMDA4MkVECis6MTAwMTIwMDAwNDUwMDA0NEMwMDAwMDk5MDQ1MDAwNDQwMEZGQzI4QkZBCis6MTAwMTMwMDAyMDAwMDA4MDAwMEQ0MjhCMDQ0MjAwQzQwMDBFNDI4QjYwCis6MTAwMTQwMDAwODUyMDBDNDAwMUU0MjhCMDBFMjAwQzQwMDhFNDI4QkE1Cis6MTAwMTUwMDAwOEQyMDBDNDAwOUU0MjhCMDRGMjAwQzQwMEJFNDI4QjUxCis6MTAwMTYwMDAwNEYyMDBDNDAwMDQ0MjhCMDQxMTAwQzQwMDI0NDI4QjNBCis6MTAwMTcwMDAwQzYxMDBDNDAwNTU0MjhCMDQ1MDAwQzQwMDNGNDI4QjA4Cis6MTAwMTgwMDAwQzAxMDBDNDAwMDA0MDQ1MjAwMTc5ODAwMDMwNDI4QjAyCis6MTAwMTkwMDAwNDYyMDBDNDAwMDA0MDQ1MDAwMDcxOEI0MDAxMDA4MEYzCis6MTAwMUEwMDAwNDUwMDA0NEZGMDBFMkFCMDhDMjAwQzQwRkYyQThBODRDCis6MTAwMUIwMDAyMDAwQjE4ODAwMDA0MTAyNERGMjAwMzlDMDAxMDA4MkU4Cis6MTAwMUMwMDAwNDUwMDA0NDBERjJBM0E4NERGMjAwMzkwNDUwMDA0NDNECis6MTAwMUQwMDBGRjAwRTJBQjIwMDAwMDg4MDAwMDYxMDI0REYyMDQxOTJDCis6MTAwMUUwMDAwNDUwMDA0NEZGMDBFMkFCQTAwMDAwODgwMDAwNjExMDUyCis6MTAwMUYwMDA0REYyMDQxOTA0NTAwMDQ0RkYyMEUyQUI2MDAwMDA4ODc3Cis6MTAwMjAwMDAwMDAwNzFDMDRERjIwNDE5MDQ1MDAwNDQwMDAwN0EwQTQ1Cis6MTAwMjEwMDAyMDAxRjA4MDAxQTA0MTBBMDAxMTAwQzQyMDAxRjA4MEZCCis6MTAwMjIwMDBDMTMwMDQxOTA0NTAwMDQ0MDAwMDc5ODAwQzQxMDA4NDVFCis6MTAwMjMwMDA4OTAwNzE4QkM4MzAwNDE5OTcwMDcxOEJDRDAwMDAzOThCCis6MTAwMjQwMDAwMDAxQjE4MDgwMDAwNDE5ODIwMDA0MTlDMTIwMDQxOTQyCis6MTAwMjUwMDBDMzIwMDQxOUMyMzAwNDE5Q0QxMDA0MTlDRjEwMDQxOTk5Cis6MTAwMjYwMDBCMDAwNzE4Qjg0MDAwNDE5ODYwMDA0MTk4MDAwNzE4QjIyCis6MTAwMjcwMDBDQjIwMDQxOTkzMDAwMTRGQ0QzMDAwMDlDRjMwMDAwOTg1Cis6MTAwMjgwMDAwMzAyMDQ0OTA4NDEwMDE0MDQ1MDAwNDQwMDAwNjM4MDQ0Cis6MTAwMjkwMDAwMDAwMDYxOTAzMDAwNDQ5MDQ1MDAwNDQyMDAxNjM4MDUzCis6MTAwMkEwMDAwMDAwMDYxOTAwMjBFMjhCMDBDMTAwODQ0NzAwNTE4QjNBCis6MTAwMkIwMDBDMDIwMDAzOTAwMDA2MzgwQzFBMDA0MTkwMEUxMDA0NDlGCis6MTAwMkMwMDBCRDAwNTE4QkMwMjAwMDM5MDAwMEIxODBDMUEwMDQxOUNECis6MTAwMkQwMDAwMzAwMDQ0OTA0NTAwMDQ0MDAyMDYxMEEwMDAxMDA0NTY1Cis6MTAwMkUwMDAwMjMwNjEwQTBDODMwMEM0MEM3ODA4NDQwNDVBMDg0NEE0Cis6MTAwMkYwMDBCMjAwMDk0RjEwNDIwOThFMDVCMEUwMTgwNDIzMDA4NEIzCis6MTAwMzAwMDAwQzAxMDAxMTA4MDU2MTEwMDA0OTA4NDQwMDQ4MDg0NDI4Cis6MTAwMzEwMDBCMjAwMDk0RjgwMDA3MThCQzAwMDAwODIwQzAxMzMxMEM1Cis6MTAwMzIwMDAyODAxQTMxMDAwMDE3QTgwOEMwMTAwODAwMjMwNjEwQTRDCis6MTAwMzMwMDAyMDAwMDQxOTBDODMwMEM0MDVCMEM4MTgwODQzMDBDNDg5Cis6MTAwMzQwMDAwMTMwQzgwQTBDMzgwMEM0MDg4ODAwNDQwQzc4MDg0NEZFCis6MTAwMzUwMDAwNDVBMDg0NDAwMDBBMzE4ODAwMDA0MTkwQjA0NjFBODgzCis6MTAwMzYwMDBDMzIwMDAzOUMzMzAwNDE5MEYxMDYxMEFDQTMwMDQxOUMwCis6MTAwMzcwMDAwOTA0NDFBOEUxMjAwMDM5RDEwMDA5NEYwMDA0NjEwMkJECis6MTAwMzgwMDAwODYzMDA0NDAzMzA0MTBBMjAwMDAwMzlBMzAwMDk0RkVDCis6MTAwMzkwMDAwMDA0NjEwMjAwNDgwODQ0MDg4ODAwNDQwMjMwNjEwQUYxCis6MTAwM0EwMDAwMDA4MDBDNDBDNzgwODQ0MDQ1QTA4NDRCMjAwMDkwRjNECis6MTAwM0IwMDAxMDQwMDk4RTAwMDA2ODVCMjAwNEIxODAwMjAwNjE1QjgwCis6MTAwM0MwMDA4ODAzN0E4MEFDMDEwMDgwMDVCMEUwMTgwMEQzMDA4NDc3Cis6MTAwM0QwMDAwMDQ5MDg0NDAwNDgwODQ0QjIwMDA5MEY4MDAwNzE4QkFFCis6MTAwM0UwMDBDMDAwMDA4MjAyMzA2MTBBMDAwODAwQzQwNUIwQzgxOENECis6MTAwM0YwMDAwQzE4MDBDNDAxMzBDODBBMEMzODAwQzQwODg4MDA0NDM2Cis6MTAwNDAwMDAwQzc4MDg0NDAwMDA2MTE4MjAwNUIxODAwMDAwNjhDQjFBCis6MTAwNDEwMDA4MDAwMDQxOTBEMTA2MTBBQzMzMDA0MTkwQjA0NDFBOEFGCis6MTAwNDIwMDAwOTA0NDFBOEUxMjAwMDM5MDgzODAwNDQwMzMwNDEwQTlBCis6MTAwNDMwMDAyMDA0QjE4MDAwNDgwODQ0MDg4ODAwNDQwMDAwQjE4MENFCis6MTAwNDQwMDBDMjMwMDQxOTBDQjgwMEQ0MEYzMDYxMEEwRDMwQzgwQTRDCis6MTAwNDUwMDAwQ0I4MDBDNDkzMDAwMTRGRTcwMDAxNkYwRjMwNjEwQTMwCis6MTAwNDYwMDAyMDAwMDA4ODAyMDA2MTAyNDEwNDA0MTkwMjA0NjEwMkI0Cis6MTAwNDcwMDA0MzA0MDQzOUNGMzAwMDA5MjAwMDA5NDkwMDU5MDA0NEUxCis6MTAwNDgwMDA5MzAwMDE0RkU3MDAwMTZGMEQzMDYxMEEyMDAwNjE4ODgxCis6MTAwNDkwMDBDMjAwMDA4MkMyMDMwMDgyQ0QzMDAwMDkyMDAwMDk0OTU5Cis6MTAwNEEwMDAwRjMwNjEwQTBEMzBDODBBMEM1ODAwODQwMjMwNjEwQTBFCis6MTAwNEIwMDAwNUIwQTgxOEMyMzAwNDE5MDAwMDAwNDY5MDQwMDk4RjBBCis6MTAwNEMwMDAxMjA0MDk2RTAzMDAwOTBFMDAwMTcxODIyMDAxMDA4MEYwCis6MTAwNEQwMDAwMDAwNjFDQjgwMDRCMTgwMDAwMUUwNjAwQ0Q4MDQxNEZFCis6MTAwNEUwMDAwMDAxRUI4MDQwMDA1MjFCODAwMDc5ODBDMDAxNzFDMjg2Cis6MTAwNEYwMDAyMDAwQzA4MDA4MEEwNDU0QzAwNEE4ODI4MDAwNzIxQjM3Cis6MTAwNTAwMDA4MDAwMDA4MDAwMDFGMDgwMjAwMEMwODAwQzJBMDQ1NDhDCis6MTAwNTEwMDBDMDA0QTg4MjEwMDA3MjFCODAwMDAwODAwMDAxRjA4MERGCis6MTAwNTIwMDAyMDAwQzA4MDA4M0EwNDU0QzAwNEE4ODIyMDAwNzIxQjM2Cis6MTAwNTMwMDA4MDAwMDA4MEMwMDNGMDgyMjAwMEEwODAwMDAxMDAxMTM0Cis6MTAwNTQwMDA0MDAwQzI4QjAwQUEwMEM0MDAwMEU5ODAwNUIwQTgxOEQyCis6MTAwNTUwMDAwMDAxQTgyMkQwMDEwMDgyRjAwMEUyMUIwNjIwQTgwQUI4Cis6MTAwNTYwMDAyRDEwNjEwQUQxMDAwOTJFMDAwMUE4MDIwRTEwQzgwQTQwCis6MTAwNTcwMDAwQ0JBMDQxNDBFMTA2MTBBMDQ0QTAwNDQwQzEwQzgwQTk0Cis6MTAwNTgwMDAwNDRBMDQ1NDBDMTA2MTBBRDAwMTAwODIwMDEwQTgxODFCCis6MTAwNTkwMDBBMDAwMDA4ODAwMDE3MTgyMDMwMDA5MEU5QTAxMDA2MDJBCis6MTAwNUEwMDAzMjAwMDkyRTAwMDAwMDQ2MDAwMTcxODIyMDAxMDA4MDA3Cis6MTAwNUIwMDAwMDAwNjFDQjgwMjRCMUMwMDAzMUUwNjAwQ0NBMDQxNDlCCis6MTAwNUMwMDAwMDAxRUI4MDQwMDA1MjFCODAwMDc5ODBDMDAxNzFDMkE1Cis6MTAwNUQwMDAyMDAwQzA4MDA4REEwNDU0QzAwNEE4ODI4MDAwNzIxQjg2Cis6MTAwNUUwMDA4MDAwMDA4MDAwMDFGMDgwMjAwMEMwODAwQ0ZBMDQ1NERDCis6MTAwNUYwMDBDMDA0QTg4MjEwMDA3MjFCODAwMDAwODAwMDAxRjA4MEZGCis6MTAwNjAwMDAyMDAwQzA4MDA4MjkwNDU0QzAwNEE4ODIyMDAwNzIxQjY2Cis6MTAwNjEwMDA4MDAwMDA4MEMwMDNGMDgyMjAwMEEwODAwMDAxMDAxMTUzCis6MTAwNjIwMDA0MDAwQzI4QjAwMzkwMEM0MDAwMEU5ODAwNUIwQTgxODYyCis6MTAwNjMwMDAwMDAxQTgyMkQwMDEwMDgyQjAwMEUyMUIwNjIwQTgwQTE3Cis6MTAwNjQwMDAyRjEwNjEwQUYxMDAwOTJFMDAwMUE4MDIwRTEwQzgwQTNECis6MTAwNjUwMDAwQ0E5MDQxNDBFMTA2MTBBMDQ5OTAwNDQwQzEwQzgwQTc1Cis6MTAwNjYwMDAwNDk5MDQ1NDBDMTA2MTBBRDAwMTAwODIwMDEwQTgxOEVCCis6MTAwNjcwMDBBMDAwMDA4ODAwMDE3MTgyOUYwMTAwNjAwMDAwMDA0NjE4Cis6MTAwNjgwMDAwMDAwMzM4MDAwMDA4MzgwMjAwMDdBODAyMDA3MzM4MEMwCis6MTAwNjkwMDAwMDAwODM4MDIwMDQ3QTgwMjAwMTAwODAwMDAwMDA0NjUyCis6MTAwNkEwMDAwMjAwNjEwQTA0MUIwNDE0MDEwMDYxMEEwMzAwNDgwQUU1Cis6MTAwNkIwMDAwQzc5MDQ1NEMzMDAwNDE5MDRDOTAwNDQwODAwQzgwQTkyCis6MTAwNkMwMDAwNEM5MDQ1NEM4MDAwNDE5MEEwMDYxMEEwOTAwNDgwQTUwCis6MTAwNkQwMDAwQ0U5MDQ1NEM5MDAwNDE5MDREOTAwNDQwQjAwQzgwQUU5Cis6MTAwNkUwMDAwNEQ5MDQ1NENCMDAwNDE5MDQwMDYxMEEwNjAwNDgwQTI2Cis6MTAwNkYwMDAwQ0Y5MDQ1NEM2MDAwNDE5MDQwQjAwNDQwNTAwQzgwQTkwCis6MTAwNzAwMDAwNDBCMDQ1NEM1MDAwNDE5MDcwMDYxMEEwQzAwNDgwQUQwCis6MTAwNzEwMDAwQzJCMDQ1NENDMDAwNDE5MDQxQjAwNDQwRTAwQzgwQTFFCis6MTAwNzIwMDAwNDFCMDQ1NENFMDAwNDE5MDAwMDQwNDU5MjIwNzE4QjM0Cis6MDQwNzMwMDBBNkM1MTEwMDQ5Cis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21faW5pdC5jc3AuaWhleCBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2luaXQuY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTg5OWE5ZQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvaW1hX2FkcGNtX2luaXQuY3NwLmloZXgKQEAgLTAsMCArMSw3MCBAQAorOjEwMDAwMDAwMDAxMDAwNDQwMDAwNDA0NTAwMDA0MDQ1MDAwMDQwNDUwRAorOjEwMDAxMDAwMDAwMDQwNDVBQUFBNzE4QjQ0MDQwNDE5MDAwMDQwNDUyMQorOjEwMDAyMDAwRkY2RTIxNDlGRjBGRDQ0OTQwNDkzOUFDNTU1NTcxOEJCQQorOjEwMDAzMDAwNTAwNUIxODA2MjAwMTkwRTIxMDA3MThCODgwMDAwODA4QworOjEwMDA0MDAwQjAwMDcxOEI4ODAwMDA4MDQwMDA3MThCODgwMDAwODBCOAorOjEwMDA1MDAwNjAwMDcxOEI4ODAwMDA4MDUwMDA3MThCODgwMDAwODBFOAorOjEwMDA2MDAwNzAwMDcxOEI4ODAwMDA4MEMwMDA3MThCODgwMDAwODA1OAorOjEwMDA3MDAwRTAwMDcxOEI4ODAwMDA4MEQwMDA3MThCODgwMDAwODBDOAorOjEwMDA4MDAwMDIwMDcxOEI4ODAwMDA4MDIyMDA3MThCODgwMDAwODA0NAorOjEwMDA5MDAwMzIwMDcxOEI4ODAwMDA4MEEyMDA3MThCODgwMDAwODA4NAorOjEwMDBBMDAwQjIwMDcxOEI4ODAwMDA4MDYyMDA3MThCODgwMDAwODAzNAorOjEwMDBCMDAwQzIwMDcxOEI4ODAwMDA4MEYyMDA3MThCODgwMDAwODA4NAorOjEwMDBDMDAwMTEwMDcxOEI4ODAwMDA4MEExMDA3MThCODgwMDAwODA3NgorOjEwMDBEMDAwNjEwMDcxOEI4ODAwMDA4MEUxMDA3MThCODgwMDAwODBENgorOjEwMDBFMDAwMTMwMDcxOEI4ODAwMDA4MEIzMDA3MThCODgwMDAwODA0MgorOjEwMDBGMDAwQzMwMDcxOEI4ODAwMDA4MDE4MDA3MThCODgwMDAwODAxRAorOjEwMDEwMDAwNjgwMDcxOEI4ODAwMDA4MDBBMDA3MThCODgwMDAwODA3NQorOjEwMDExMDAwNEEwMDcxOEI4ODAwMDA4MDI5MDA3MThCODgwMDAwODA2NAorOjEwMDEyMDAwNzkwMDcxOEI4ODAwMDA4MDlCMDA3MThCODgwMDAwODBCMworOjEwMDEzMDAwMTQwMDcxOEI4ODAwMDA4MEY0MDA3MThCODgwMDAwODBBRgorOjEwMDE0MDAwRTYwMDcxOEI4ODAwMDA4MEU1MDA3MThCODgwMDAwODBEQworOjEwMDE1MDAwRDcwMDcxOEI4ODAwMDA4MDJFMDA3MThCODgwMDAwODA5MgorOjEwMDE2MDAwOUQwMDcxOEI4ODAwMDA4MEVGMDA3MThCODgwMDAwODBGQgorOjEwMDE3MDAwQjIyMDcxOEI4ODAwMDA4MDMzMjA3MThCODgwMDAwODA1MgorOjEwMDE4MDAwMkEyMDcxOEI4ODAwMDA4MDNCMjA3MThCODgwMDAwODBDMgorOjEwMDE5MDAwNDYyMDcxOEI4ODAwMDA4MDJDMjA3MThCODgwMDAwODBBNQorOjEwMDFBMDAwREQyMDcxOEI4ODAwMDA4MDAxMTA3MThCODgwMDAwODAzOQorOjEwMDFCMDAwOUExMDcxOEI4ODAwMDA4MDE2MTA3MThCODgwMDAwODA2NworOjEwMDFDMDAwOEUxMDcxOEI4ODAwMDA4MEMyMzA3MThCODgwMDAwODA5NworOjEwMDFEMDAwQzkzMDcxOEI4ODAwMDA4MDNDMzA3MThCODgwMDAwODBCMgorOjEwMDFFMDAwODE4MDcxOEI4ODAwMDA4MEQ0ODA3MThCODgwMDAwODBCMgorOjEwMDFGMDAwMTBBMDcxOEI4ODAwMDA4MDM0QTA3MThCODgwMDAwODA3MworOjEwMDIwMDAwMDI5MDcxOEI4ODAwMDA4MDc1OTA3MThCODgwMDAwODA0RgorOjEwMDIxMDAwOUFCMDcxOEI4ODAwMDA4MDEyNDA3MThCODgwMDAwODAzQQorOjEwMDIyMDAwMEQ0MDcxOEI4ODAwMDA4MDNDNjA3MThCODgwMDAwODBERAorOjEwMDIzMDAwRTc1MDcxOEI4ODAwMDA4MDBFNzA3MThCODgwMDAwODAwMQorOjEwMDI0MDAwRkZDMDcxOEI4ODAwMDA4MEM4RDA3MThCODgwMDAwODA0RgorOjEwMDI1MDAwNTdGMDcxOEI4ODAwMDA4MEM4MjI3MThCODgwMDAwODA2NQorOjEwMDI2MDAwQjAzMjcxOEI4ODAwMDA4MEREODI3MThCODgwMDAwODA0NQorOjEwMDI3MDAwOTBCMjcxOEI4ODAwMDA4MDhBNjI3MThCODgwMDAwODA0OAorOjEwMDI4MDAwQ0U3MjcxOEI4ODAwMDA4MEE1RDI3MThCODgwMDAwODBBRgorOjEwMDI5MDAwOTcyMTcxOEI4ODAwMDA4MEEyQTE3MThCODgwMDAwODA1QgorOjEwMDJBMDAwNUM0MTcxOEI4ODAwMDA4MEZFQzE3MThCODgwMDAwODBFQQorOjEwMDJCMDAwN0EyMzcxOEI4ODAwMDA4MDc4OTM3MThCODgwMDAwODA4RQorOjEwMDJDMDAwNjc3MzcxOEI4ODAwMDA4MDE3Mjg3MThCODgwMDAwODAwRAorOjEwMDJEMDAwODg0ODcxOEI4ODAwMDA4MERCRjg3MThCODgwMDAwODA3MworOjEwMDJFMDAwMkJCQTcxOEI4ODAwMDA4MEYxMDk3MThCODgwMDAwODAyNworOjEwMDJGMDAwREM2OTcxOEI4ODAwMDA4MDE5OEI3MThCODgwMDAwODAwRAorOjEwMDMwMDAwRkZGQjcxOEI4ODAwMDA4MDIwMDA3MThCODgwMDAwODBDQgorOjEwMDMxMDAwNTIwMDcxOEJDMjAwMDA4MkZGRkY3MThCQzIwMDAwODIwRAorOjEwMDMyMDAwQzIwMDAwODJDMjAwMDA4MkMyMDAwMDgyMTAwMDcxOEJGNQorOjEwMDMzMDAwQzIwMDAwODI4MDAwNzE4QkMyMDAwMDgyOTAwMDcxOEIyRAorOjEwMDM0MDAwQzIwMDAwODI0MDAwNzE4QkMyMDAwMDgyRkZGRjcxOEJFRgorOjEwMDM1MDAwQzIwMDAwODJDMjAwMDA4MkMyMDAwMDgyQzIwMDAwODI4RAorOjEwMDM2MDAwMTAwMDcxOEJDMjAwMDA4MjgwMDA3MThCQzIwMDAwODI3RAorOjEwMDM3MDAwOTAwMDcxOEJDMjAwMDA4MjQwMDA3MThCQzIwMDAwODIyRAorOjEwMDM4MDAwRkZGQjcxOEJDMjAwMDA4MjAwMDQ3MThCQzIwMDAwODJFRgorOjEwMDM5MDAwNEEwMDcxOEJDMjAwMDA4MjAwMDA3MThCQzIwMDAwODI5MworOjEwMDNBMDAwMDAwMDcxOEJDMjAwMDA4MkMyMDAwMDgyQzIzMDA0MTlCQQorOjEwMDNCMDAwMTAwMDA5NEZDMjAxMDA4MkMyMDEwMDgyQzIwMTAwODIwNgorOjEwMDNDMDAwQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyQzIwMTAwODIxOQorOjEwMDNEMDAwQzIwMTAwODJDMjAxMDA4MkMyMDEwMDgyQzIwMTAwODIwOQorOjEwMDNFMDAwQzIwMTAwODJDMjAxMDA4MjAwMTA3MThCQzEzMDA0MTk2OQorOjEwMDNGMDAwOTMwMDAxNEZDRDMwMDAwOUNGMzAwMDA5MDAwMDM0NDk4RgorOjA4MDQwMDAwMDAwODAwNDRDODU0MTEwMDdCCis6MDAwMDAwMDFGRgorLyoKKyAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCisgKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKKyAqLwpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L2ltYV9hZHBjbV9wbGF5YmFjay5jc3AuaWhleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDlmMThjCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvc2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwLmloZXgKQEAgLTAsMCArMSwxMjIgQEAKKzoxMDAwMDAwMDAwMTAwMDQ0MDgwMDAwNDQwQzUwMDA0NDAwNzAwMDQ0RkMKKzoxMDAwMTAwMDA0NzAwMDQ0MERGMjYxQTg0NDA0MDQxOTAwMDA0MDQ1MzYKKzoxMDAwMjAwMDAwMDQ2MzgwMDAwMDA2MzlGRjJFMjE0OUZGMERENDQ5RUEKKzoxMDAwMzAwMDQwNDkzOUFDNTU1NTcxOEI1MDAxQjE4MDAwMDFCMTgwRjgKKzoxMDAwNDAwMEM5MjAwNDE5NTEwMDcxOEJDRDAwMDQxOUU0MjA3MThCNzMKKzoxMDAwNTAwMENGMDAwNDE5ODAwMDcxOEJDQjIwMDQxOTEwMDA3MThCMjQKKzoxMDAwNjAwMEM0MjAwNDE5NjUwMDUxOEJDMjIwMDAzOTAwMDBCMTgwMDIKKzoxMDAwNzAwMEMyMzAwNDE5MDAwMDYzODBDMUEwMDQxOTkzMDAwMTRGMkQKKzoxMDAwODAwMENEMzAwMDA5Q0YzMDAwMDkwNDQwMDAxNDBDNDAwMDE0QUEKKzoxMDAwOTAwMDAwMDQ2MUE4MDIwNDYxQTgwNDYwMDQyNDAwMDAzNDQ5M0IKKzoxMDAwQTAwMDAwNTAwMDQ0NDQwNDA0MzkwMDAwNDA0NTAwMDA0MDQ1MkQKKzoxMDAwQjAwMDBGMDA2MTBBMDAwMTAwNDU0MDQwMDlFRkZGMjAwOUNGMTEKKzoxMDAwQzAwMDAwMDQ2M0ExNTAwMzMzODAwMDA0QTM4MDAwRkZDMjhCQUYKKzoxMDAwRDAwMDA4RjAwNDU0MENEMDAwQzQyMDAzODBDMDMwMDAwMDg4MTUKKzoxMDAwRTAwMDAwMDA3QTBBRDAwMTAwODIwODUwMDA0NEMwMDAwMDk5NDQKKzoxMDAwRjAwMDA4NTAwMDQ0MDBGRkMyOEIyMDAwMDA4MDAwMEQ0MjhCOUUKKzoxMDAxMDAwMDAwQTIwMEM0MDAwRTQyOEIwQzkyMDBDNDAwMUU0MjhCNjEKKzoxMDAxMTAwMDA0NjIwMEM0MDA4RTQyOEIwQzUyMDBDNDAwOUU0MjhCQ0QKKzoxMDAxMjAwMDAwQzIwMEM0MDBCRTQyOEIwMEMyMDBDNDAwMDQ0MjhCNjcKKzoxMDAxMzAwMDAwRjIwMEM0MDAyNDQyOEIwMDkxMDBDNDAwNTU0MjhCQTEKKzoxMDAxNDAwMDA4NTAwMEM0MDAzRjQyOEIwOEUyMDBDNDAwMDA0MDQ1NTQKKzoxMDAxNTAwMDIwMDE3OTgwMDAzMDQyOEIwMDkyMDBDNDAwMDA0MDQ1QUQKKzoxMDAxNjAwMDAwMDA3MThCNDAwMTAwODAwODUwMDA0NEZGMDBFMkFCQUEKKzoxMDAxNzAwMDBDNDIwMEM0MEZGMkE4QTgyMDAwQjE4ODAwMDA0MTAyODAKKzoxMDAxODAwMDRERjIwMDM5QzAwMTAwODIwODUwMDA0NDBERjJBM0E4Q0UKKzoxMDAxOTAwMDRERjIwMDM5MDg1MDAwNDRGRjAwRTJBQjIwMDAwMDg4MTcKKzoxMDAxQTAwMDAwMDA2MTAyNERGMjA0MTkwODUwMDA0NEZGMDBFMkFCNjgKKzoxMDAxQjAwMEEwMDAwMDg4MDAwMDYxMTA0REYyMDQxOTA4NTAwMDQ0QUUKKzoxMDAxQzAwMEZGMjBFMkFCNjAwMDAwODgwMDAwNzFDMDRERjIwNDE5MEUKKzoxMDAxRDAwMDA4NTAwMDQ0MDAwMDdBMEEyMDAxRjA4MDAxQTA0MTBBODIKKzoxMDAxRTAwMDA0RDIwMEM0MjAwMUYwODBDMTMwMDQxOTA4NTAwMDQ0M0EKKzoxMDAxRjAwMDAwMDA3OTgwMDBBMTAwODRCNTAwNTE4QkNGMDAwMDM5NDgKKzoxMDAyMDAwMDAwMDFCMTgwODgwMDA0MTk4QTAwMDQxOUM4MjAwNDE5NkIKKzoxMDAyMTAwMENBMjAwNDE5QzIzMDA0MTlDRDEwMDQxOUNGMTAwNDE5RDIKKzoxMDAyMjAwMEIwMDA3MThCOEMwMDA0MTk4RTAwMDQxOTEwMDA3MThCQzIKKzoxMDAyMzAwMEM0MjAwNDE5OTMwMDAxNEZDRDMwMDAwOUNGMzAwMDA5Q0MKKzoxMDAyNDAwMDAzMDMwNDQ5MDQ4MTAwNTQwODUwMDQ2NDA4NTAwMDQ0MjYKKzoxMDAyNTAwMDAwMDA2MzgwMDAwMDA2MTkwMzAwMDQ0OTA4NTAwMDQ0QjAKKzoxMDAyNjAwMDIwMDE2MzgwMDAwMDA2MTkwMDAyRTI4QjA4NDEwMDg0MkYKKzoxMDAyNzAwMDY1MDA1MThCQzIyMDAwMzkwMDAwNjM4MEMxQTAwNDE5QzEKKzoxMDAyODAwMDA4NjEwMDQ0MkQwMDUxOEJDMjIwMDAzOTAwMDBCMTgwNkMKKzoxMDAyOTAwMEMxQTAwNDE5MDMwMDA0NDkwODUwMDA0NDAyMjA2MTBBNjcKKzoxMDAyQTAwMDAwMDEwMDQ1MDIzMDYxMEEwNDAzMDBDNDA1QjBDODE4MEIKKzoxMDAyQjAwMDA0NzEwMEM0MDAxMzAwNDQwMDc5MDg0NDAwMDQ3OTgwRUMKKzoxMDAyQzAwMDAwNDkwMEM0Q0EyMDA0MTk0QTA0MDQxOUZGMDBFMjhCNDMKKzoxMDAyRDAwMDBDRjkwODQ0Q0YxMDA0MTkwQzJCMDg0NDhFMDAwNDE5QTMKKzoxMDAyRTAwMDAzMzA2MTBBQzgyMDAwMzk0ODA0MDAzOTBBMzA2MTBBMjUKKzoxMDAyRjAwMDBDRjkwODQ0Q0QxMDA0MTkwQzJCMDg0NDhDMDAwNDE5ODcKKzoxMDAzMDAwMDBDRDkwODQ0MEM1QTAwNDQwMDc5MDg0NDAwMDQ3OTgwNTAKKzoxMDAzMTAwMDAwNDkwMEM0QzMzMDA0MTlDQTMwMDA5OTBDRDkwODQ0RkMKKzoxMDAzMjAwMDQyMEEwOTBFMDAwMTMzMTE4QzAxQTM4MDAwMDE3QTEwRUEKKzoxMDAzMzAwMDgwMDVCMTgwMDVCMEUwMTgwMDkzMDA4NDAwNzkwODQ0N0UKKzoxMDAzNDAwMDAwMDQ3OTgwMDA0OTAwQzQwQzFCMDg0NDg4MDAwNDE5OEIKKzoxMDAzNTAwMDhBMDAwMDk5MENEOTA4NDQ0MjBBMDkwRTgwMDA3MThCNkEKKzoxMDAzNjAwMEMwMDRCMTgyMTAwMEUwMEIwMDQzMDA4NDAyMzA2MTBBMzcKKzoxMDAzNzAwMDAxMzBDODBBMDA0MzAwODQwMDAwQjE4MEMyMzAwNDE5NzMKKzoxMDAzODAwMDBDQTgwMDQ0MDIzMDYxMEEwMEQzMDBDNDA1QjBDODE4QUMKKzoxMDAzOTAwMDA0NjMwMEM0MDhGMzAwNDQwMDc5MDg0NDAwMDQ3OTgwMzEKKzoxMDAzQTAwMDAwNDkwMEM0MjAwMDA0MTlGRjAwRTI4QjBDRjkwODQ0NDYKKzoxMDAzQjAwMENEMTAwNDE5Q0YxMDA0MTkwQzJCMDg0NDhDMDAwNDE5MUIKKzoxMDAzQzAwMDhFMDAwNDE5MDMzMDYxMEFDODIwMDAzOUNBMjAwMDM5QTAKKzoxMDAzRDAwMDQ4MDQwMDM5NEEwNDAwMzkwQ0Q5MDg0NDBDNUEwMDQ0MzYKKzoxMDAzRTAwMDAwNzkwODQ0MDAwNDc5ODAwMDQ5MDBDNEMzMzAwNDE5MkUKKzoxMDAzRjAwMDBDRDkwODQ0NDIwQTA5MEUwNUIwRTAxODAwMTgwMDg0MjAKKzoxMDA0MDAwMDAwNzkwODQ0MDAwNDc5ODAwMDQ5MDBDNDBDMUIwODQ0QUEKKzoxMDA0MTAwMDgwMDEwMDgwMENEOTA4NDQ0MjBBMDkwRTgwMDA3MThCQ0IKKzoxMDA0MjAwMEMwMDRCMTgyMTAwMEUwMEIwMDg4MDA4NDAyMzA2MTBBMzEKKzoxMDA0MzAwMDAxMzBDODBBMDA4ODAwODQwMDAwQjE4MEMyMzAwNDE5NkQKKzoxMDA0NDAwMDAwMDEwMDExMDAwRkUyOEIwMDAwNDFDQjhDMDAwMDgwMDYKKzoxMDA0NTAwMDAwMDA0OENCMjAwMDdBODA4MDAxMDA4MDgyMEMwOTZFNjkKKzoxMDA0NjAwMDAzMDgwOTBFODA0MDA5Q0YwMDAxNzFDMjAwMDhDMjFCQjkKKzoxMDA0NzAwMDA0QjgwMEM0MjAwNUE4ODAyMDAxRjA4MDAwMDFDMjFCNDAKKzoxMDA0ODAwMDA0NDgwMEM0MjAwNUE4ODAyMDAxRjA4MDAwMDJDMjFCOUYKKzoxMDA0OTAwMDA0NjgwMEM0MjAwNUE4ODAyMDAxRjA4MDIwMDNBODgwMDMKKzoxMDA0QTAwMDAwMDEwMDExMDAwNEMyOEIwODc4MDBDNDAwMDBFOTgwM0MKKzoxMDA0QjAwMDA1QjBBODE4MDAwMDRBQ0IyMDAwQTgyMkQwMDEwMDgyNzUKKzoxMDA0QzAwMDQwMDEwMDgwQzQwMDA0MTlCMDAwRTI4QjA2MjBBODBBOTUKKzoxMDA0RDAwMDJEMTA2MTBBRDEwODA5MkUwMDAxQTgwMjBDRjkwODQ0NjgKKzoxMDA0RTAwMENEMTAwNDE5MEMyQjA4NDQwMzA4MDkwRTlBMjVCMTYwOUQKKzoxMDA0RjAwMEEyMEUwOTZFMDMwMDA5MEYwMDAxNzE4MjIwMDEwMDgwMjUKKzoxMDA1MDAwMDAwMDA2MUNCODAwMTAwODAwMzAwMDkwRjAwMDE3MUMyNkYKKzoxMDA1MTAwMDAwMDhDMjFCMEMyQTAwQzQyMDA1QTg4MDIwMDFGMDgwMUUKKzoxMDA1MjAwMDAwMDFDMjFCMEMxQTAwQzQyMDA1QTg4MDIwMDFGMDgwMjUKKzoxMDA1MzAwMDAwMDJDMjFCMEMzQTAwQzQyMDA1QTg4MDIwMDFGMDgwRjQKKzoxMDA1NDAwMDIwMDNBODgwMDAwMTAwMTEwMDA0QzI4QjA0QUEwMEM0OEIKKzoxMDA1NTAwMDAwMDBFOTgwMDVCMEE4MTgwMDAwNEFDQjIwMDBBODIyQkUKKzoxMDA1NjAwMEQwMDEwMDgyNDAwMTAwODBDNzAwMDQxOUIwMDBFMjhCNzYKKzoxMDA1NzAwMDA2MjBBODBBMkYxMDYxMEFGMTA4MDkyRTAwMDFBODAyMUUKKzoxMDA1ODAwMDBDRjkwODQ0Q0YxMDA0MTkwQzJCMDg0NDlGMzVCMTYwQjYKKzoxMDA1OTAwMDAzMDgwOTBFMDAwMTcxODIyMDAxMDA4MDAwMDA2MUNCNzgKKzoxMDA1QTAwMDgwMDEwMDgwRTQyMDcxOEIwMDAxMDA0NTkwNDAwOThGOUMKKzoxMDA1QjAwMDAwMDU2MzgwMDAwMDA2MzkwODE5MDRENDkzMDAwMTRGMzgKKzoxMDA1QzAwMEU3MDAwMTZGMEQzMDYxMEEyMDA0NjFBOEMyMDAwMDgyQkIKKzoxMDA1RDAwMDAyMDQ2MUE4QzIwMDAwODJDRDMwMDAwOTAyMDAwMDAyQkUKKzoxMDA1RTAwMDAyMDAwMDAyQzA4MDAwMDkyMDAwMDk0OTBGMzA2MTBBQTIKKzoxMDA1RjAwMDBEMzBDODBBMDAyOTAwQzQwMDgwQzgwQTAwMjkwMEM0QzAKKzoxMDA2MDAwMDAwMDRCMTgwMDAwMDA2MzlDOTIwMDQzOTAwMzkwMDQ0RDMKKzoxMDA2MTAwMDAwMDQ2MzgwMDAwMDA2MzkwMDA0QjE4MEM5MjAwNDM5NTkKKzoxMDA2MjAwMDAwMzkwMDQ0MDkyMDIzMEEwMDAwMDYxOUM5MjAwNDE5RDIKKzoxMDA2MzAwMDAwMDA0MDQ1MDIwMDYxMEEwQ0I5MDQxNDA0MDA2MTBBN0MKKzoxMDA2NDAwMDA2MDA0ODBBMDBBOTA0NTRDNjAwMDQxOTBDQTkwMDQ0NzUKKzoxMDA2NTAwMDA1MDBDODBBMENBOTA0NTRDNTAwMDQxOTA3MDA2MTBBNjIKKzoxMDA2NjAwMDBDMDA0ODBBMDBCOTA0NTRDQzAwMDQxOTBDQjkwMDQ0MjkKKzoxMDA2NzAwMDBFMDBDODBBMENCOTA0NTRDRTAwMDQxOTBDNUEwMDQ0RTgKKzoxMDA2ODAwMDgyMEQwOTJFODA0MDA5Q0YwMERGNzE4QjgwMDEwMDgwMzAKKzoxMDA2OTAwMDAyQzEwMDIyMDNDMTAwMjIwMDAxNjU4MEQyMDU2NTgyRUIKKzoxMDA2QTAwMDQwMjEwMDgwRDMwMzAwODI0MDMzMDA4MDBDNUEwMDQ0NzQKKzoxMDA2QjAwMDBGMzA2MTBBMEQzMEM4MEEwOEQ5MDBDNDkzMDAwMTRGRjkKKzoxMDA2QzAwMEU3MDAwMTZGMEYzMDYxMEEyMDAwMDA4ODAyMDA2MTAyMUMKKzoxMDA2RDAwMDAyMDAwMDAzQ0YzMDAwMDkyMDAwMDk0OTAwMDQ2MzgwQjQKKzoxMDA2RTAwMDA0RDkwMDQ0MDAwNEIxODAwMDAwMDA0NjAyMzA2MTBBRDEKKzoxMDA2RjAwMDA1QjBBODE4QzIzMDA0MTkwMDAwMDA0NjBFMTBDODBBNDAKKzoxMDA3MDAwMDBDMEIwNDE0MEUxMDYxMEEwNDJCMDA0NDBDMTBDODBBRDAKKzoxMDA3MTAwMDA0MkIwNDU0MEMxMDYxMEEwMDAwMDA0NjAwMTBBODE4QjUKKzoxMDA3MjAwMEEwMDAwMDg4MDAwMTcxODIwMDAwMDA0NjAwMDQzMzgwQjAKKzoxMDA3MzAwMDAwMDA4MzgwMjAwNDdBODAyMDAxMzM4MDAwMDA4MzgwQzEKKzoxMDA3NDAwMDIwMDA3QTgwMjAwMzAwODAwMDAwMDA0NjE2Q0UxMTAwQjEKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS9zYjE2L211bGF3X21haW4uY3NwLmloZXggYi9maXJtd2FyZS9zYjE2L211bGF3X21haW4uY3NwLmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0YjU2NQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3NiMTYvbXVsYXdfbWFpbi5jc3AuaWhleApAQCAtMCwwICsxLDg0IEBACis6MTAwMDAwMDAwMDEwMDA0NDA4MDAwMDQ0MDBCMTAwNDQwMDYxMDA0NEI2Cis6MTAwMDEwMDAwODUwMDA0NDBERjI2MUE4NDQwNDA0MTkwMDAwNDA0NTUyCis6MTAwMDIwMDA0MDQ5MzlBQzU1NTU3MThCNTAwNTYzODAwMDAwMDYzOTQ1Cis6MTAwMDMwMDBGRjJFMjE0OUZGMEZENDQ5MjAwMTA5MEUyMDAwNzE4QkFBCis6MTAwMDQwMDBBODAxQTg4MDg4MDFBODgwQTgwMDAwODBEMjAwNzE4QjM4Cis6MTAwMDUwMDA4ODAwQTg4MEE4MDRCMzgwMjAwN0IzODA4ODAzQjE4MEZCCis6MTAwMDYwMDBDMDAwMDk1Q0MyMDEwMDgyQTEwMDcxOEJDRDAwMDQxOTlGCis6MTAwMDcwMDBBMjIwNzE4QkNGMDAwNDE5MDAwMEIxODBDMjAwMDQxOUM2Cis6MTAwMDgwMDAwMDQwMDAxNDA4NDAwNDI0MDAwMDM0NDkwQzQwMDA0NDlGCis6MTAwMDkwMDA0NDA0MDQzOTAwMDA0MDQ1MzIwMDA5NUMwMDAwMEMzOTdBCis6MTAwMEEwMDAwMDAwNDA0NTQwNDAwOUVGRkYyMDA5Q0YwMDA0NjNBMTU0Cis6MTAwMEIwMDA1MDAzMzM4MDAwMDRBMzgwMDBGRkMyOEIwMEQwMDQ1NDlGCis6MTAwMEMwMDAwNEUwMDBDNDIwMDM4MEMwMzAwMDAwODgwMDAwN0EwQUU5Cis6MTAwMEQwMDBEMDAxMDA4MjAwNjAwMDQ0QzAwMDAwOTkwMDYwMDA0NDJDCis6MTAwMEUwMDAwMEZGQzI4QjIwMDAwMDgwMDAwRDQyOEIwODMyMDBDNDRDCis6MTAwMEYwMDAwMDBFNDI4QjAwQTIwMEM0MDAxRTQyOEIwQ0IyMDBDNDUyCis6MTAwMTAwMDAwMDhFNDI4QjAwNjIwMEM0MDA5RTQyOEIwODUyMDBDNEU1Cis6MTAwMTEwMDAwMEJFNDI4QjA4NTIwMEM0MDAwNDQyOEIwNDcyMDBDNDJCCis6MTAwMTIwMDAwMDI0NDI4QjAwRDIwMEM0MDA1NTQyOEIwMDYwMDBDNDAyCis6MTAwMTMwMDAwMDAwNDA0NTIwMDE3OTgwMDAzMDQyOEIwODgyMDBDNEQ1Cis6MTAwMTQwMDAwMDAwNDA0NTAwMDA3MThCNDAwMTAwODAwMDYwMDA0NEM5Cis6MTAwMTUwMDBGRjAwRTJBQjAwQjIwMEM0MEZGMkE4QTgyMDAwQjE4OEYzCis6MTAwMTYwMDAwMDAwNDEwMjRERjIwMDM5QzAwMTAwODIwMDYwMDA0NEVECis6MTAwMTcwMDAwREYyQTNBODRERjIwMDM5MDA2MDAwNDRGRjAwRTJBQjhECis6MTAwMTgwMDAyMDAwMDA4ODAwMDA2MTAyNERGMjA0MTkwMDYwMDA0NDY0Cis6MTAwMTkwMDBGRjAwRTJBQkEwMDAwMDg4MDAwMDYxMTA0REYyMDQxOURFCis6MTAwMUEwMDAwMDYwMDA0NEZGMjBFMkFCNjAwMDAwODgwMDAwNzFDMEU2Cis6MTAwMUIwMDA0REYyMDQxOTAwNjAwMDQ0MDAwMDc5ODAwMEUyMDA4NEUwCis6MTAwMUMwMDAwMzAzMDQ0OTA4QzIwMDU0MDA2MDA0NjQwMDYwMDA0NDUyCis6MTAwMUQwMDAwMDAwNjM4MDAwMDAwNjE5MDMwMDA0NDkwMDYwMDA0NDI5Cis6MTAwMUUwMDAyMDAxNjM4MDAwMDAwNjE5MDAyMEUyOEIwQ0YyMDA4NERECis6MTAwMUYwMDAzRTAwNTE4QkMwMjAwMDM5MDgwMTAwNDQ2QzAwNTE4QjM3Cis6MTAwMjAwMDBDMDIwMDAzOTAwMDJFMjhCMDQyMTAwODRGRDAwNTE4QkU0Cis6MTAwMjEwMDBDMjIwMDAzOTAwMTEwMDQ0RkUwMDUxOEJDMjIwMDAzOTc5Cis6MTAwMjIwMDBFNTAwNzE4QkNEMDAwMDM5MDAwMEIxODBDOTIwMDQxOUIwCis6MTAwMjMwMDBDQjIwMDQxOUMxMjAwNDE5QzMyMDA0MTkxMDAwNzE4QkFDCis6MTAwMjQwMDBDNzIwMDQxOTVFMDA3MThCQ0YwMDAwMzkwMDAwQjE4MDE3Cis6MTAwMjUwMDBDNDIwMDQxOUM2MjAwNDE5QzgyMDA0MTlDQTIwMDQxOThFCis6MTAwMjYwMDAyMDAwNzE4QkNDMjAwNDE5MDMwMDA0NDkwMDYwMDA0NDc1Cis6MTAwMjcwMDAwOTA0NjFBOEMxMDAwNDE5MEIwNDYxQThDQTAwMDQxOThCCis6MTAwMjgwMDAwNDYwMDBENDBEMDA2MTBBOTA0MDA5OEYwMDAxMDA0NTEwCis6MTAwMjkwMDAwRjAwNjEwQTAwNDAwOThGMDAwMTAwNDU4MjAwMDkyRTBECis6MTAwMkEwMDA4MDQwMDlDRjAyMDA2MTIyNDMyNTYxMjI0MDMzMDA4MDUzCis6MTAwMkIwMDAwOEE4MDA0NDIwMzE0OTVDOTIwMDA5NEUwMjAzMDkyRTJGCis6MTAwMkMwMDAwMDAwQTMwMkMwMDA3MUMwMjAwMEVCODAwMDA0QzI4QkJDCis6MTAwMkQwMDAyMDA0NjE4MDAwMDQ3QTAyQ0IwMEE4NThCMDA1RjM4MEE2Cis6MTAwMkUwMDAyMDA0QTgxMDAwMDAxMDM5QjAwMEUwOEIyMDAxMDA4MDJECis6MTAwMkYwMDAwMDAwNjNDQjAwMDA3QTAyNDAwMDAxNUIyMDAwMDA4MDE4Cis6MTAwMzAwMDAwMDAwNEFDQjIwMDAxMzgwMjAwMDdBODBFMDIxMDBDMDRBCis6MTAwMzEwMDAwODAwMDg0OTEwNDEwOThFRkZGRjYyOEIwMDA0NjEyMjJBCis6MTAwMzIwMDAwMDAzMDA0NTIyMDEzMzgwMjAwMUEzMDIwMDAwN0E4MEVGCis6MTAwMzMwMDBDMDAwMDA4MjA3MjA0MDBBMDg4MzAwODQ0MDIxMDA4MDFBCis6MTAwMzQwMDA0MDA1OTMxMEM3MjAwMDM5MDAwMDQwNDUwNzIwNDAwQUFGCis6MTAwMzUwMDAwQ0EzMDA4NDA4MDAwMDgyMEMyNDYxNTA0MDAxMDA4MDNFCis6MTAwMzYwMDBDNzIwMDAzOTAwMDA0MDQ1MDAwNDYzODAwMDAwMDYzOUMyCis6MTAwMzcwMDA0MjAxMDkwRTAyMjA2MTBBMDAwMTAwNDUwQzIwNjAwQUJBCis6MTAwMzgwMDAwMDczMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENEJECis6MTAwMzkwMDAwMDI0NzFDMDIwMzMzM0MwRTAwMUEzODIyMjAzN0EwMjFCCis6MTAwM0EwMDBDMzAxQTM4MjIwMDEzMzgwMDAwMDdBODBDMjAxQjM1MEQwCis6MTAwM0IwMDBDQzIwMDAzOTAwMDA3MTgwMDBGMzAwNDQwQzIwNjAwQTVBCis6MTAwM0MwMDAwMEQzMDA4NDAwMDRCMTgwMDAwMDA2MzkwQzYxMDRENDFECis6MTAwM0QwMDAwMDAwQjMxMENDMjAwMDM5MDAwMDcxQzAwMEYzMDA0NENECis6MTAwM0UwMDBDQzIwMDAzOTAwMjA3MUMwMDAzMDcxQzAwMEYzMDA0NEZGCis6MTAwM0YwMDAyMDAxMDA4MEZGRkY2MjhCMjAwMTMzODAwMDAwODM4MDlBCis6MTAwNDAwMDAyMDAwN0E4MDIwRTEwOTVDODIwMDA5MkY4MDRBMDk4RTUxCis6MTAwNDEwMDBFMDAxQjM4MjIwMDRBMzgwMDAwMDdBQ0IwMzAwQTgxODc3Cis6MTAwNDIwMDAwMDAwMTAzOTA4MDRFQTEwMDgwNDdBMTAyMDAwMDA4MDQ3Cis6MTAwNDMwMDA0MDAwMjFDQjBDMDBFODEwMDAwMDQxMDIwQzAwRUIxMDQyCis6MTAwNDQwMDBGMjAxMDA4MjQwMjEzMzAyMDgyMDYxMEFDNDAwMDQxOTJECis6MTAwNDUwMDBDNzAwMDA5OTAyMDA2MTBBMENFODA0MTQwMTAwNjEwQTU3Cis6MTAwNDYwMDAwMzAwNDgwQTAwQjgwNDU0QzMwMDA0MTkwQ0I4MDA0NDNGCis6MTAwNDcwMDAwODAwQzgwQTBDQjgwNDU0QzgwMDA0MTkwQTAwNjEwQTJDCis6MTAwNDgwMDAwOTAwNDgwQTAwNjgwNDU0QzkwMDA0MTkwQzY4MDA0NEIzCis6MTAwNDkwMDAwQjAwQzgwQTBDNjgwNDU0Q0IwMDA0MTkwNDAwNjEwQTVDCis6MTAwNEEwMDAwNjAwNDgwQTAwNzgwNDU0QzYwMDA0MTkwQzc4MDA0NDc5Cis6MTAwNEIwMDAwNTAwQzgwQTBDNzgwNDU0QzUwMDA0MTkwNzAwNjEwQTM1Cis6MTAwNEMwMDAwQzAwNDgwQTAwRTgwNDU0Q0MwMDA0MTkwQ0U4MDA0NDZECis6MTAwNEQwMDAwRTAwQzgwQTBDRTgwNDU0Q0UwMDA0MTkwMDAwNDA0NTgwCis6MDgwNEUwMDAyMDEwNzE4QjA5M0YwNzAwOTkKKzowMDAwMDAwMUZGCisvKgorICogIENvcHlyaWdodCAoYykgMTk5NCBDcmVhdGl2ZSBUZWNobm9sb2d5IEx0ZC4KKyAqICBNaWNyb2NvZGUgZmlsZXMgZm9yIFNCMTYgQWR2YW5jZWQgU2lnbmFsIFByb2Nlc3NvcgorICovCmRpZmYgLS1naXQgYS9maXJtd2FyZS90aV8zNDEwLmZ3LmloZXggYi9maXJtd2FyZS90aV8zNDEwLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIyYzA0MgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3RpXzM0MTAuZncuaWhleApAQCAtMCwwICsxLDg2MiBAQAorOjEwMDAwMDAwQzIzNTAwMDIwMDFFMDIxQURCRkZGRkZGRkZGRjAyMzJCMworOjEwMDAxMDAwQ0JGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRjAyMzNFRAorOjEwMDAyMDAwNzY3NTgxQ0U5MEZERTg4NTgzQTAxMjM0RUFFQzRENjBCMAorOjEwMDAzMDAwNkE3OEFCODAwMzc2MDAxOEI4OUNGQTc4N0Y4MDAzNzZFNAorOjEwMDA0MDAwMDAxOEI4NjVGQTc4MjA4MDAzNzYwMDE4QjgyMEZBOTA3NgorOjEwMDA1MDAwRkREREFFODNBRjgyOTBGQkY4MTIwMEExNjAwNUU0RjBGNQorOjEwMDA2MDAwQTM4MEY2OTBGREU4QTg4MjkwRkRFOEE5ODJFOEMzOTlGNAorOjEwMDA3MDAwNTAwNTc2MDAwODgwRjY5MDAwRkYxMjAwQUE5MDAxMDM1OAorOjEwMDA4MDAwMTIwMEFBOTAwMTA3MTIwMEFBOTAwMTBCMTIwMEM4OTA1QQorOjEwMDA5MDAwMDExMTEyMDBDODkwMDExNzEyMDBDODc1RDAwMDEyMzM2OAorOjEwMDBBMDAwQzgwMjAxMURFRjY1ODI3MDAzRUU2NTgzMjJFNDkzRjhCOAorOjEwMDBCMDAwNzQwMTkzRjk3NDAyOTNGRTc0MDM5M0Y1ODI4RTgzRThCRQorOjEwMDBDMDAwNjk3MDAxMjJFNDkzRjZBMzA4ODBGNEU0OTNGQzc0MDFDMAorOjEwMDBEMDAwOTNGRDc0MDI5M0ZFNzQwMzkzRkY3NDA0OTNGODc0MDUwNAorOjEwMDBFMDAwOTNGNTgyODg4MzEyMDBBMTcwMDEyMkU0OTNBM0E4ODM3MAorOjEwMDBGMDAwQTk4MjhDODM4RDgyRjBBM0FDODNBRDgyODg4Mzg5ODJCMAorOjEwMDEwMDAwODBFMzIxMjEwNDkyODA4MDA0OTJBQ0FFMDQ5MkZERTg0OQorOjEwMDExMDAwMDQ5NDA0OTRGQkYzMDQ5OTA0OTRGQkYzMDRGOTA0RjlBNAorOjEwMDEyMDAwODBGRUQwRjAzMEYwMDkyMEYzMDNGNjgwMTBGNzgwMEQ0OAorOjEwMDEzMDAwMzBGMTA5MjBGMzAzRjI4MDA0RjM4MDAxRjAyMEY0MDQ4RAorOjEwMDE0MDAwRkNEMEUwQ0MyMkNDQzBFMDEyMDE1QTAyMDE0QkJDMDAzMgorOjEwMDE1MDAwMDVEMEYwQUNGMDIyQzMxM0RDRkMwMjAxMjFCRjAwMDk4MgorOjEwMDE2MDAwRUQyNTgyNzVGMDAxRjhFNjIyQkYwMTBGRUQyNTgyRjUzRAorOjEwMDE3MDAwODJFRTM1ODNGNTgzNzVGMDA0RTAyMkVEMjU4Mjc1RjA3QgorOjEwMDE4MDAwMDJGOEUyMjJEMDgzRDA4MkY1RjBDM0U0OTNBM0M1RjA1NQorOjEwMDE5MDAwOTVGMEMwRTBDM0QwRjBFNDkzQTM5NUYwNDAxMkEzQTM4MAorOjEwMDFBMDAwQzNFNUYwMzM1MDAyMDU4MzI1ODJGNTgyNTAwMjA1ODNCMgorOjEwMDFCMDAwNzQwMTkzQzBFMEU0OTNDMEUwMjJEMDgzRDA4MkY1RjBENAorOjEwMDFDMDAwRTQ5MzcwMDk3NDAxOTM3MDA0QTNBMzgwMEM3NDAyOTNFOAorOjEwMDFEMDAwNjVGMDYwMDVBM0EzQTM4MEU3NzQwMTkzQzBFMEU0OTNGNgorOjEwMDFFMDAwQzBFMDIyMTIwMjVCMDIwMUYyMTIwMkFGMDIwMUYyMTIxRgorOjEwMDFGMDAwMDJEMzAyMDFGMjMwRTAwNzIwRTMwMkU2MjJFNzIyMzBEOAorOjEwMDIwMDAwRTEwNzIwRTMwMkUyMjJFMzIyMzBFMjAyRTAyMkU0OTM2QgorOjEwMDIxMDAwMjIxMjAyRDMwMjAyMUExMjAyQUYwMjAyMUFBQkYwMTIyOQorOjEwMDIyMDAwMDIyNENCQzVGMENCMjIzMEUwMTAyMEUzMDZFNkY1RjA0NworOjEwMDIzMDAwMDhFNjIyRTdGNUYwMDlFNzE5MjIzMEUxMTAyMEUzMDY4RAorOjEwMDI0MDAwRTJGNUYwMDhFMjIyRTNGNUYwMDlFMzE5MjIzMEUyMDZENAorOjEwMDI1MDAwRTBGNUYwQTNFMDIyRTQ5M0Y1RjA3NDAxOTMyMkJCMDBGMworOjEwMDI2MDAwMDM3NDA5MjJCQjAxMDc4OTgyOEE4Mzc0MDQyMkJCMDJCQQorOjEwMDI3MDAwMDc4OTgyOEE4Mzc0MTAyMjc0MEEyMjAyMDI3QkJCMDBERgorOjEwMDI4MDAwMDdFOTI1ODJGODc0MDEyMkJCMDEwREU5MjU4MkY1ODI3OAorOjEwMDI5MDAwRUEzNTgzRjU4Mzc0MDQyMkJCMDIwREU5MjU4MkY1ODJEOQorOjEwMDJBMDAwRUEzNTgzRjU4Mzc0MTAyMkU5MjU4MkY4NzQwMjIyMDI2QworOjEwMDJCMDAwMDJBRkJGMDAwNUVERjg3NDAxMjJCRjAxMDc4RDgyOEVFOQorOjEwMDJDMDAwODM3NDA0MjJCRjAyMDc4RDgyOEU4Mzc0MTAyMkVERjg5RQorOjEwMDJEMDAwNzQwMjIyMDIwMkQzQkYwMDA3RUQyNTgyRjg3NDAxMjJDNgorOjEwMDJFMDAwQkYwMTBERUQyNTgyRjU4MkVFMzU4M0Y1ODM3NDA0MjI3RQorOjEwMDJGMDAwQkYwMjBERUQyNTgyRjU4MkVFMzU4M0Y1ODM3NDEwMjI2MQorOjEwMDMwMDAwRUQyNTgyRjg3NDAyMjIwMjAzMDdDMEUwMTIwMjVCMDJBQworOjEwMDMxMDAwMDMxRkMwRTAxMjAyQUYwMjAzMUZDMEUwMTIwMkQzMDJBQgorOjEwMDMyMDAwMDMxRjMwRTAwQjIwRTMwNEQwRTBGNjIyRDBFMEY3MjJGOAorOjEwMDMzMDAwMzBFMTBCMjBFMzA0RDBFMEYyMjJEMEUwRjMyMkQwRTA2MQorOjEwMDM0MDAwRjAyMkM5Q0RDOUNBQ0VDQUNCQ0ZDQjEyMDM1MkVERjkyOAorOjEwMDM1MDAwRUVGQUVGRkIyMkJCMDAyRkJGMDAwQUZBRURGOEU3RjYzQQorOjEwMDM2MDAwMDgwOURBRkEyMkJGMDExMjhEODI4RTgzRjgwMjAzNkYyOAorOjEwMDM3MDAwMDlBM0U3RjBEOEZBMjIwMjAzN0FGQUVERjhFN0YyMDhDNworOjEwMDM4MDAwMDlEQUZBMjIwMjAzODRCQjAxNERCRjAwMTQ4OTgyOEE3NAorOjEwMDM5MDAwODNGOUVERjgwMjAzOTYwOEEzRTBGNkQ5RkEyMjAyMDNFNgorOjEwMDNBMDAwQTdCRjAxMjI4RDgyOEU4M0ZCMDhDOUM1ODJDOUNBQzUzOQorOjEwMDNCMDAwODNDQUUwQTNDOUM1ODJDOUNBQzU4M0NBRjBBM0RCRUE2MAorOjEwMDNDMDAwRDhFODIyMDIwM0NBOEQ4MjhFODNGOUVERjhFMEYyMDhBNAorOjEwMDNEMDAwQTNEOUZBMjIwMjAzRDRCQjAyNERCRjAwMTI4OTgyOEEzQworOjEwMDNFMDAwODNGOUVERjgwMjAzRTYwOEEzRTQ5M0Y2RDlGOTIyQkZGNgorOjEwMDNGMDAwMDEyMzhEODI4RTgzRkIwOEM5QzU4MkM5Q0FDNTgzQ0EwMQorOjEwMDQwMDAwRTQ5M0EzQzlDNTgyQzlDQUM1ODNDQUYwQTNEQkU5RDhFRQorOjEwMDQxMDAwRTcyMjAyMDQxOTg5ODI4QTgzRjlFREY4RTQ5M0YyMDg0RAorOjEwMDQyMDAwQTNEOUY5MjIwMjA0MkFCRjAwMERGQUVERjhFM0Y2MDg3OQorOjEwMDQzMDAwMDlEQUZBMjIwMjA0MzRCRjAxMTI4RDgyOEU4M0Y4MDI5NworOjEwMDQ0MDAwMDQ0MTA5QTNFM0YwRDhGQTIyMDIwNDRDRkFFREY4RTNFMAorOjEwMDQ1MDAwRjIwODA5REFGQTIyMDIwNDU2RTZGQjA4RTZGQTA4RTY5MAorOjEwMDQ2MDAwRjkwNEY2MTg3MDAxMDYyMkU2RkYwOEU2RkUwOEU2RkQyQworOjEwMDQ3MDAwMjJFRkYwQTNFRUYwQTNFREYwMjJFQkYwQTNFQUYwQTM1RAorOjEwMDQ4MDAwRTlGMDIyRTBGRkEzRTBGRUEzRTBGRDIyRTBGQkEzRTAxMQorOjEwMDQ5MDAwRkFBM0UwRjkyMjAwMDAwMDAwMDAwMDAwMDRGOTAwNjE2NgorOjEwMDRBMDAwMDU2ODAwMjYwNThGMDAzMzBBMDAwMDYxMEE2QzAwNjZBQgorOjEwMDRCMDAwMTUxRDAwNjEwQ0YwMDA2MTA5QTAwMDYxMDlENzAwNjEwMQorOjEwMDRDMDAwMERCNzAwNjEwQkU4MDA2MTBBMTMwMDYxMEE0ODAwNjE4MgorOjEwMDREMDAwMTcxNTAwMzMxNzI4MDAzNDFERjYwMDQzMUVBMTAwNDRGMQorOjEwMDRFMDAwMjAwRTAwNDQxRkZDMDA0NzFFQzgwMDQ3MUY2RDAwNEQzMgorOjEwMDRGMDAwMUZCRTAwNEYxRUVBMDA1ODMyNTYwMDYxN0NDQzdERkZDMworOjEwMDUwMDAwMTIxQ0E3MjI5MEZGRkNFMDIwRTcyREMyQUZBRTU5QUYyRQorOjEwMDUxMDAwNTg3NTVBMjBFNTVBMTRDNTVBNjAxOUU0RkU3RjA1RUU1NQorOjEwMDUyMDAwNEZDRTI0RkZDRUNGMzRGRkNGNjAwN0U0OTBGRjkyRjA5MAorOjEwMDUzMDAwODBFRDgwRTA4RTU5OEY1ODIyMTIwNTAxN0QwNzdDQjcyRgorOjEwMDU0MDAwMTIzMjcyN0QwRjdDNkUxMjMyOEM3ODlEN0EwNkU0RjY0MAorOjEwMDU1MDAwMDhEQUZDN0EwNjEyMDVDNDdDMDMxMjBFNEMxMjIxNEFGQQorOjEwMDU2MDAwRTRGRUZGN0MwRjEyMzFGQkQyQTgyMjEyMzBFNkU0OTBBOQorOjEwMDU3MDAwRkMzOEYwOTBGRkYwRTAzMEU0MDg3NDAxOTBGQzM5RjBCMgorOjEwMDU4MDAwODAwNUU0OTBGQzM5RjA3RDBBN0MwMDEyMjUyNjEyMzFBQQorOjEwMDU5MDAwNjkyMjEyMzBFNjkwRkMzOUUwMTQ3MDBFOTBGRkYwRTAxMgorOjEwMDVBMDAwNDQxMEYwN0MwMDEyMjVCRjgwMTk5MEZDMzlFMDcwMEVEOQorOjEwMDVCMDAwOTBGRkYwRTA1NEVGRjA3QzAwMTIyNUJGODAwNTdDMTcxRgorOjEwMDVDMDAwMTIyNUJGMTIzMTY5MjI5MEZGRjBFMDU0QUJGMDkwRkY4QQorOjEwMDVEMDAwRjBFMDQ0MjBGMDIyOEMzNzhEMzY3ODgyRURGNjA4RUM3RQorOjEwMDVFMDAwRjZFREZFRUNGRDdGMDE5MDAwMDUxMjAxRUM3ODgwRjYzRgorOjEwMDVGMDAwNzg4MkU2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDQ0QworOjEwMDYwMDAwMTIwMUVDNTQwRkZDN0Q4MDEyMTc0Njc4ODBFNjcwMERDNQorOjEwMDYxMDAwQUQzQUFFMzlBRjM4RTQxMjAzMEY3QzA4MjI5MEZGRjBGOAorOjEwMDYyMDAwRTA1NEZFRjA5MEZGRjBFMDU0RkRGMDgwMUU3ODgyRTY4QQorOjEwMDYzMDAwRkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEVDNQorOjEwMDY0MDAwMjVFMDQ0MDE5MEZGRjNGMDAyMDZEMDc4ODJFNkZEMDgzMQorOjEwMDY1MDAwRTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNjEyMDIwRTU0RkU1QQorOjEwMDY2MDAwOTBGRkYzRjA4MDJCNzg4MkU2RkQwOEU2RkNFREZFRUNDRgorOjEwMDY3MDAwRkQ3RjAxOTAwMDA4MTIwMjBFRkFFQjkwRkZGMUYwMTJEQworOjEwMDY4MDAwMDhCRjQwMERBRDNBQUUzOUFGMzhFNDEyMDMwRjdDMTgwNQorOjEwMDY5MDAwMjI3ODgyRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDA4RAorOjEwMDZBMDAwMDgxMjAyMEU5MEZGRjFGMDEyMDhCRjQwMERBRDNBQUVGNQorOjEwMDZCMDAwMzlBRjM4RTQxMjAzMEY3QzE4MjI3ODgyRTZGRDA4RTY5MQorOjEwMDZDMDAwRkNFREZFRUNGRDdGMDE5MDAwMDYxMjAyMEU0NDAxOTA0RAorOjEwMDZEMDAwRkZGM0YwNzg4M0U2MjQwM0Y2MThFNjM0MDBGNjc4ODAxQQorOjEwMDZFMDAwRTYyNEZFNTAwOTkwRkZGMEUwNTRGREYwODAwNzkwRkZGMworOjEwMDZGMDAwRjBFMDQ0MDJGMEU0OTBGRkYxRjA3ODgxNzYwMDc4ODAzOQorOjEwMDcwMDAwRTYyNEZGRkNFNDM0RkZGRDc4ODFFNjdGMDBGRUVDRDNCNQorOjEwMDcxMDAwOUVFRjY0ODBDRDY0ODA5RDQwMkYxMjA4QTQ0MDBGNzgyNgorOjEwMDcyMDAwODFFNkFEM0FBRTM5QUYzODEyMDMwRjdDMTgyMjkwRkY0NAorOjEwMDczMDAwRjJFMEZDNzg4Mjg2ODMwODg2ODJFQ0YwNzg4MTA2QTM1QQorOjEwMDc0MDAwNzg4MkE2ODMwOEE2ODI4MEI1MTIwOEE0NDAwRjc4ODExQgorOjEwMDc1MDAwRTZBRDNBQUUzOUFGMzgxMjAzMEY3QzE4MjI5MEZGRjJBMworOjEwMDc2MDAwRTBGQzc4ODI4NjgzMDg4NjgyRUNGMDc4ODBFNkFEM0FGOQorOjEwMDc3MDAwQUUzOUFGMzgxMjAzMEY3QzAwMjI4QzM3OEQzNjc4ODI2OQorOjEwMDc4MDAwRURGNjA4RUNGNkVERkVFQ0ZEN0YwMTkwMDAwNTEyMDFBMAorOjEwMDc5MDAwRUM3ODgxRjY3ODgyRTZGRDA4RTZGQ0VERkVFQ0ZEN0Y2NAorOjEwMDdBMDAwMDE5MDAwMDQxMjAxRUM1NDBGRkM3RDgxMTIxNzQ2Nzg3MQorOjEwMDdCMDAwODFFNjcwMDM3QzA4MjI5MEZGRjBFMDU0RkVGMDkwRkY4OQorOjEwMDdDMDAwRjBFMDU0RkRGMDgwMUI3ODgyRTZGRDA4RTZGQ0VERkVDQgorOjEwMDdEMDAwRUNGRDdGMDE5MDAwMDgxMjAyMEUyNUUwOTBGRkYzRjA3RgorOjEwMDdFMDAwODA1Qjc4ODJFNkZEMDhFNkZDRURGRUVDRkQ3RjAxOTA4MworOjEwMDdGMDAwMDAwNjEyMDIwRTU0RkU5MEZGRjNGMDgwMjE3ODgyRTY4QworOjEwMDgwMDAwRkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwMDgxMjAyMEVGMworOjEwMDgxMDAwRkFFQjkwRkZGMUYwMTIwOEJGNDAwMzdDMTgyMjc4ODJCNworOjEwMDgyMDAwRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwODEyMDJGQgorOjEwMDgzMDAwMEU5MEZGRjFGMDEyMDhCRjQwMDM3QzE4MjI3ODgzRTY4NworOjEwMDg0MDAwMjQwQUY2MThFNjM0MDBGNjc4ODA3NjAwNzg4MUU2MjRFQgorOjEwMDg1MDAwRkZGQ0U0MzRGRkZENzg4MEU2N0YwMEZFRUNEMzlFRUZFMgorOjEwMDg2MDAwNjQ4MENENjQ4MDlENDAyMTc4ODI4NjgzMDg4NjgyRTAwMgorOjEwMDg3MDAwOTBGRkYxRjAxMjA4QkY0MDAzN0MxODIyNzg4MDA2NzhDMAorOjEwMDg4MDAwODMwNkU2MTg3MDAxMDY4MEMzOTBGRkYwRTA0NDAxRjA5MworOjEwMDg5MDAwNzg4Mjg2ODMwODg2ODJFMDkwRkZGMUYwMTIwOEJGNDBEQworOjEwMDhBMDAwMDM3QzE4MjI3QzAwMjI5MEZGRjBFMDIwRTcxMjkwRkZFQQorOjEwMDhCMDAwRjBFMDMwRTUwOTkwRkZGMEUwNDQyMEYwQzMyMjgwRTc0QgorOjEwMDhDMDAwRDMyMjkwRkZGMEUwMjBFMzEyOTBGRkYwRTAzMEU1MDk0MgorOjEwMDhEMDAwOTBGRkYwRTA0NDIwRjBDMzIyODBFN0QzMjI4QzQyOERDOQorOjEwMDhFMDAwNDE3QzAwRUQ1NEYwRkRFQzcwMDNFRDY0MzA3MDA1NzU1MworOjEwMDhGMDAwM0UwMzgwMDM3NTNFMDRBQzNFMTIwRjY5NzU4MzAwODU4QworOjEwMDkwMDAwODM0MEU1NDE1NDBGRjUzRkU1NDA3MDA0RTUzRjY0MDM0MworOjEwMDkxMDAwNzAzNUU1M0UyNEZENzVGMDBBQTQyNDAyRjU4MkU0MzQyNgorOjEwMDkyMDAwRkNGNTgzRTAzMEU2MDUxMjEwNEI4MDE5RTUzRTI0OUQ2RQorOjEwMDkzMDAwRjhDNjU0RkJGNjc4QTlFNjI0MDVGNTgyMThFNjM0MDBEQgorOjEwMDk0MDAwRjU4Mzc0MEZGMDgwNTlFNTQwNzAwNEU1M0Y2NDA0NzA0RQorOjEwMDk1MDAwNDhFNTNFMjRGRDc1RjAwQUE0MjQwMkY1ODJFNDM0RkM0NworOjEwMDk2MDAwRjU4M0UwMzBFNTA3QUM0MkFENDExMjFDM0NFNTQyMzA3NgorOjEwMDk3MDAwRTIxNTc4QURFNjMwRTAwRjc4QURFNjMwRTEwOUU0RkY0RQorOjEwMDk4MDAwMDRGRTdDMDQxMjMxRkI3OEE5RTYyNDA2RjU4MjE4RTYwMQorOjEwMDk5MDAwMzQwMEY1ODM3NDBGRjA4MDA3RTRGQzdERUUxMjFDM0NGQworOjEwMDlBMDAwQzIwMzIyMTIzMEU2MTIwRjY5NzhBOUU2MjQwNkY1ODIwNgorOjEwMDlCMDAwMThFNjM0MDBGNTgzRTA5MEZDMzhGMDc4QTlFNjI0MDVDOQorOjEwMDlDMDAwRjU4MjE4RTYzNDAwRjU4M0UwOTBGQzM5RjBDMjAzN0QyRgorOjEwMDlEMDAwMDI3QzAwMTIyNTI2MTIzMTY5MjIxMjMwRTY3ODk1RUM0RAorOjEwMDlFMDAwRjZFQzI0OURGOEU2MzBFMTA3N0MxMzEyMjVCRjgwMEY1QQorOjEwMDlGMDAwOTBGQzM5RTBGRDc4OTVFNkZDMTIxM0M4MTIyNUJGMTI3MQorOjEwMEEwMDAwMzE2OTIyMTIzMEU2Nzg5NUVDRjY3RDAwMTIwRjA5MTI1QQorOjEwMEExMDAwMjVCRjEyMzE2OTIyMTIzMEU2Nzg5NUVDRjZFQzI0OUQ2MAorOjEwMEEyMDAwRjhFNjMwRTIwNzdDMTMxMjI1QkY4MDFCNzg5NUU2MjQ5OAorOjEwMEEzMDAwOURGOEU2MjBFMTA3N0MxMjEyMjVCRjgwMEE3ODk1RTYzMgorOjEwMEE0MDAwRkMxMjEzRUMxMjI1QkYxMjMxNjkyMjEyMzBFNjc4OTVBMAorOjEwMEE1MDAwRUNGNkVDMjQ5REY4RTYyMEUyMDc3QzExMTIyNUJGODAxRAorOjEwMEE2MDAwMEE3ODk1RTZGQzEyMTRFRDEyMjVCRjEyMzE2OTIyMTJBNAorOjEwMEE3MDAwMzBFNjc4OTVFQ0Y2MTIwRjY5NzhBOUU2MjQwOUY1ODIzQworOjEwMEE4MDAwMThFNjM0MDBGNTgzRTA5MEZDM0ZGMDc4QTlFNjI0MEFFQworOjEwMEE5MDAwRjU4MjE4RTYzNDAwRjU4M0UwOTBGQzQwRjA3OEE5RTY5MgorOjEwMEFBMDAwMjQwM0Y1ODIxOEU2MzQwMEY1ODNFMEZDNzhBOUU2MjRGNworOjEwMEFCMDAwMDRGNTgyMThFNjM0MDBGNTgzRTBGNTYyNzhBOUU2MjRBRgorOjEwMEFDMDAwMDJGNTgyMThFNjM0MDBGNTgzRTBGNTYzOEM2MUU0RUMwRQorOjEwMEFEMDAwMzMzMzU0MDE3ODk1RjY2MDA4RTU2MjMwRTEwMzc4OTU4OAorOjEwMEFFMDAwMDY3ODk1RTY5MEZDNDFGMDc4QTdFNjI0MDJGNTgyMTg5NgorOjEwMEFGMDAwRTYzNDAwRjU4M0UwRkRBM0UwNTQwQ0ZDRUQ1NEU2OENGNQorOjEwMEIwMDAwNjVGNTY0RTU2MTMwRTUwMzQzNjUwMUU1NjIyMEU1MEVDNgorOjEwMEIxMDAwRTU2MTU0N0Y3MDA4RTU2MTIwRTcwMzQzNjUwMkU1NjEwNAorOjEwMEIyMDAwMzBFMzAzNDM2NTEwRTU2MTMwRTIwMzQzNjUyMEU1NjE4RQorOjEwMEIzMDAwNTQwMzYwMDM0MzY1NDBFNTYxMzBFMTAzNDM2NTgwRTVBQworOjEwMEI0MDAwNjEzMEU0MDM0MzY0MDFFNTYxMzBFNjAzNDM2NDA4RTU5MgorOjEwMEI1MDAwNjIyMEU0MEVFNTYxNTQ3RjcwMDhFNTYxMjBFNzAzNDNGRAorOjEwMEI2MDAwNjQxMDUzNjVGQjUzNjQ3OUFENjRFNTY1OTBGQzNBQ0Q0MAorOjEwMEI3MDAwRjBBM0NERjBFNTYzMzBFMzBERTU2MzU0MzBDNDU0MEZDQQorOjEwMEI4MDAwOTBGQzNERjA4MDA1RTQ5MEZDM0RGMEU1NjM1NDAzOTA1QgorOjEwMEI5MDAwRkMzQ0YwRTU2MzU0MDRDMzEzOTBGQzNFRjA5MEZDM0MzNQorOjEwMEJBMDAwRTA3MDBFN0QzNTdFRkM3RjAxNzQwMTkwMDAwOTEyMDExQQorOjEwMEJCMDAwNDI3OEE5RTYyNDA4RjU4MjE4RTYzNDAwRjU4M0UwN0M0MworOjEwMEJDMDAwMDBGRDc4QTlFNjI0MDdGNTgyMThFNjM0MDBGNTgzRTBGNQorOjEwMEJEMDAwN0YwMDRDRkVFRjREOTBGQzM4RjBBM0NFRjBDRUMyMDM2OAorOjEwMEJFMDAwN0QwQTdDMDAxMjI1MjYxMjMxNjkyMjEyMzBFNjc4OTVBMgorOjEwMEJGMDAwRUNGNjc4OUE3NjAxMDg3NkZDMDg3NjM4Nzg5Nzc2MENDOQorOjEwMEMwMDAwNzg5QTEyMDQ2NTEyMDIxNDc4OThDQkY2Q0IwOEY2N0YxNgorOjEwMEMxMDAwMDBFRjI0RUE0MDFGRTRFRjI1RTA5MDM1MkNGRDkzQ0Q1MgorOjEwMEMyMDAwMDQ5Mzc4OTk2NjcwMDNFRDE4NjY3MDA2Nzg5Nzc2MDBERAorOjEwMEMzMDAwODAwMzBGODBEQzc4OTZFRkY2Nzg5QTEyMDQ2NTkwMDBCNgorOjEwMEM0MDAwMDIxMjAyMEU3ODk4Q0JGNkNCMDhGNjU0MDRDQjU0ODZFOQorOjEwMEM1MDAwNEI2MDA0Nzg5Nzc2MEI3ODk5RTYzMEUzMTM3ODlBMTIxNAorOjEwMEM2MDAwMDQ2NTkwMDAwNTEyMDFFQzI0RkI1MDA0Nzg5Nzc2MEQ4MgorOjEwMEM3MDAwNzg5OUU2NTRDMDdEMDA2NEMwNEQ3MDA0Nzg5Nzc2MEI3NworOjEwMEM4MDAwNzg5QTEyMDQ2NTkwMDAwNDEyMDFFQzI0RkM1MDA0Nzg1OAorOjEwMEM5MDAwOTc3NjBGNzg5QTEyMDQ2NTkwMDAwNjEyMDFFQzI0RkRGNQorOjEwMENBMDAwNTAwNDc4OTc3NjBFNzg5QTEyMDQ2NTkwMDAwOTEyMDEyNAorOjEwMENCMDAwRUMyNEZENTAwNDc4OTc3NjBBNzg5N0U2NzAyQTc4OTVBOAorOjEwMENDMDAwRTZGQzEyMEY2OTc4OUExMjA0NjU3OEE3RTZGOTc4QTYwRgorOjEwMENEMDAwRTZGQTdCMDE3NDBBNzgwMDEyMDMzRkMyMDM3ODk1RTZCNgorOjEwMENFMDAwRkMxMjExMDc3ODk3RUNGNjc4OTdFNkZDMTIyNUJGMTJGNAorOjEwMENGMDAwMzE2OTIyMTIzMEU2Nzg5NUVDRjYxMjBGNjk3ODk1RTZBNAorOjEwMEQwMDAwMjRGRDc1RjAwQUE0MjQxNEY1ODJFNDM0RkNGNTgzQUNDOAorOjEwMEQxMDAwODJBRDgzNzhBNjg2ODMwODg2ODJFQ0Y5RURGQTdCMEE5OQorOjEwMEQyMDAwNzgwMTEyMDNBN0MyMDM3ODk1RTZGQzEyMTEwNzEyMzE2RAorOjEwMEQzMDAwNjkyMjhEMkI4QzJBRUQ2MDQwNzUyNzAxNzUyOTQ4NzUzNQorOjEwMEQ0MDAwMjhGRkU1MkEyNEZERkNFNDM0RkZGREVDN0MwMzI1RTBDQworOjEwMEQ1MDAwQ0QzM0NERENGOUZDRTUyOTJDRjUyOUU1MjgzREY1MjgzNgorOjEwMEQ2MDAwQUQyOUFFMjhBRjI3NzQ4MDkwMDAwNjEyMDMxNzc0ODA1NworOjEwMEQ3MDAwOTAwMDAyMTIwMzE3MTIwRkI3RTUyQjE0NjAzQjc1Mjc4MgorOjEwMEQ4MDAwMDE3NTI5MDg3NTI4RkZFNTJBMjRGREZDRTQzNEZGRkRFMAorOjEwMEQ5MDAwRUM3QzAzMjVFMENEMzNDRERDRjlGQ0U1MjkyQ0Y1MjlFRAorOjEwMERBMDAwRTUyODNERjUyOEFEMjlBRTI4QUYyN0U0OTAwMDA2MTJDRQorOjEwMERCMDAwMDMxN0U0OTAwMDAyMTIwMzE3MjIxMjMwRTY3ODk1RUMzNAorOjEwMERDMDAwRjZFQzI0OURGOEU2MzBFMjA5Nzg5NUU2RkMxMjE0RUQ4NQorOjEwMEREMDAwRDIwMDc4OTVFNkZDMTIwRjY5Nzg5Njc2MDA5MEZDMzk3RgorOjEwMERFMDAwRTAzMEU3MDQ3ODk2NzYwMTc4OTZFNkZENzg5NUU2RkNBMworOjEwMERGMDAwMTIwRDJGQzIwMzMwMDAwNzc4OTVFNkZDMTIxM0VDN0MyRAorOjEwMEUwMDAwMDAxMjI1QkYxMjMxNjkyMjc4QTlFNjI0MDRGNTgyMTg2MAorOjEwMEUxMDAwRTYzNDAwRjU4M0UwNDQwMUYwNzhBOUU2MjQwNEY1ODI4NQorOjEwMEUyMDAwMThFNjM0MDBGNTgzRTAzMEUwMDI4MEVENzhBOUU2MjQ4RQorOjEwMEUzMDAwMEJGNTgyMThFNjM0MDBGNTgzRTA1NEY4RjA3OEE5RTY2MworOjEwMEU0MDAwMjQwMkY1ODIxOEU2MzQwMEY1ODNFMDQ0ODBGMDIyQzJFMworOjEwMEU1MDAwMDM4QzU4MTIwRjY5NzhBNjg2ODMwODg2ODI3OTVEN0E5QQorOjEwMEU2MDAwMzU3QjBBNzgwMTEyMDNGNTEyMEUwNUFDNTg3RDAyMTI4QgorOjEwMEU3MDAwMEQyRkMyMDNBQzU4MTIxMTA3MjI4RDUzOEU1MjhGNTE4MQorOjEwMEU4MDAwOEM1MDEyMEY2OTc1NEYwMDc4QTlFNjI0MDVGNTgyMTg3OQorOjEwMEU5MDAwRTYzNDAwRjU4M0UwMjBFNDFGRTU0RjI0RjY0MDE5MDUxMQorOjEwMEVBMDAwNEZDMjAzN0MxODEyMzJBOTkwRkY5M0UwNDQwMUYwQjJDNAorOjEwMEVCMDAwQjNBQzUwMTIwRjY5ODBEMDc4QTlFNjI0MDVGNTgyMThFQQorOjEwMEVDMDAwRTYzNDAwRjU4M0UwMjBFNDA1QzIwMzdDMDIyMjc4QTkyMQorOjEwMEVEMDAwRTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwNTQwRjYwMTYyOQorOjEwMEVFMDAwNzhBOUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDU0MEY2RQorOjEwMEVGMDAwRjBDMjAzN0MwMTIyNzhBODg2ODMwODg2ODJFMEFENTM4NQorOjEwMEYwMDAwQUU1MkFGNTExMjAzMEZDMjAzN0MwMDIyOEQzMThDMzBFMAorOjEwMEYxMDAwMTIxNEVERTUzMTYwMEZFNTMwQjQwMzBBN0MwMTEyMjRCMAorOjEwMEYyMDAwRUU3QzgxMTIyNEVFQUMzMDEyMEY2OUU1MzE2MDFBNzg0NAorOjEwMEYzMDAwQUE4NjgzMDg4NjgyRTA1NEU3RjBBM0EzQTNBM0UwNTQyMworOjEwMEY0MDAwRTdGMEFDMzA3RDAyMTIwRDJGNzhBNjg2ODMwODg2ODJFQQorOjEwMEY1MDAwNzk2NzdBMzU3QjBBNzgwMTEyMDNGNUMyMDNFNTMwMjRGQworOjEwMEY2MDAwOURGOEM2NTRGREY2QUMzMDEyMTEwNzIyOEMyNjMwMDNEMgorOjEwMEY3MDAwMDUxMjMyNDg4MEY4N0MwQTEyMzE1QkQyMDNFNTI2MjQ0MAorOjEwMEY4MDAwRkQ3OEEzRjY3MDA3NzhBQTc2RkYwODc2RTA3OEEzRTZFNgorOjEwMEY5MDAwNzVGMDEwQTRBREYwRkMyNEEwNzhBOUY2RUQzNEZGMTg4QworOjEwMEZBMDAwRjY3OEEzRTY3NUYwMEFBNDI0MDBGQ0U0MzRGQ0ZENzg4RQorOjEwMEZCMDAwQTZFREY2MDhFQ0Y2MTIzMUY0MjI3OEE5RTYyNDAyRjU0MworOjEwMEZDMDAwODIxOEU2MzQwMEY1ODNFMDMwRTcyMjc4QTlFNjI0MDJBRgorOjEwMEZEMDAwRjU4MjE4RTYzNDAwRjU4M0UwNTQ3RkYwNzhBOUU2MjQyMgorOjEwMEZFMDAwMDJGNTgyMThFNjM0MDBGNTgzRTA0NDgwRjAyMjc4QUEwNgorOjEwMEZGMDAwODY4MzA4ODY4MkUwNTQ3RkYwQUQ4M0U1ODIyNDA0RkM3QQorOjEwMTAwMDAwRTQzRDhDODJGNTgzRTA1NDdGRjA3OEE5RTYyNDBCRjU2QgorOjEwMTAxMDAwODIxOEU2MzQwMEY1ODNFMDU0RjhGMDc4QUJFNjI0MDE1QQorOjEwMTAyMDAwRjU4MjE4RTYzNDAwRjU4M0UwNDQwM0YwNzhBQkU2MjQ1QgorOjEwMTAzMDAwMDVGNTgyMThFNjM0MDBGNTgzRTA0NDAzRjA3OEE5RTY2QworOjEwMTA0MDAwMjQwNUY1ODIxOEU2MzQwMEY1ODM3NDBGRjAyMjc4QUE5RgorOjEwMTA1MDAwODY4MzA4ODY4MkUwNTQzRkYwQUQ4M0U1ODIyNDA0RkM1OQorOjEwMTA2MDAwRTQzRDhDODJGNTgzRTA1NDNGRjA3OEEzRTYyNEE0RjhCNQorOjEwMTA3MDAwRTZGQzc4QUJFNjI0MDFGNTgyMThFNjM0MDBGNTgzRUM1MworOjEwMTA4MDAwRjA3OEEzRTYyNEE0RjhFNkZDNzhBQkU2MjQwNUY1ODIyNAorOjEwMTA5MDAwMThFNjM0MDBGNTgzRUNGMDc4QTlFNjI0MEJGNTgyMTgwNQorOjEwMTBBMDAwRTYzNDAwRjU4M0UwNTRGQjQ0MDJGNTI2NzhBN0U2MjRGNQorOjEwMTBCMDAwMDJGNTgyMThFNjM0MDBGNTgzRTAzMEU1MDM0MzI2MDFBQgorOjEwMTBDMDAwNzhBOUU2MjQwNUY1ODIxOEU2MzQwMEY1ODNFMDMwRTBERgorOjEwMTBEMDAwMDMxMjBGQjdFNTI2RkM3OEE5RTYyNDBCRjU4MjE4RTY4MworOjEwMTBFMDAwMzQwMEY1ODNFQ0YwNzhBOUU2MjQwNUY1ODIxOEU2MzQ5RgorOjEwMTBGMDAwMDBGNTgzNzQwRkYwNzhBQTg2ODMwODg2ODJFMDQ0ODAyNgorOjEwMTEwMDAwRjBBM0EzQTNBM0UwNDQ4MEYwMjI4QzJBMTIwRjY5NzhGNQorOjEwMTExMDAwQTdFNjI0MDhGNTgyMThFNjM0MDBGNTgzRTBGQzc4QTlGOAorOjEwMTEyMDAwRTYyNDBBRjU4MjE4RTYzNDAwRjU4M0VDRjA3OEE3RTZBOQorOjEwMTEzMDAwMjQwN0Y1ODIxOEU2MzQwMEY1ODNFMEZDNzhBOUU2MjQ1QworOjEwMTE0MDAwMDlGNTgyMThFNjM0MDBGNTgzRUNGMDc4QTY4NjgzMDg2QQorOjEwMTE1MDAwODY4MkUwRkRBM0UwRkNFREZFNzhBOUU2MjQwOEY1ODI5NgorOjEwMTE2MDAwMThFNjM0MDBGNTgzRUVGMEVDRkU3OEE5RTYyNDA3RjVFNgorOjEwMTE3MDAwODIxOEU2MzQwMEY1ODNFRUYwOEMyOThEMjhDM0VDOTRCOAorOjEwMTE4MDAwMDVFRDk0MEM0MDA1NzUyNzdDODAzM0QzRTUyOTk0MDE0NworOjEwMTE5MDAwRTUyODk0MDM0MDA1NzUyNzNDODAyM0QzRTUyOTk0ODFGNQorOjEwMTFBMDAwRTUyODk0MDE0MDA1NzUyNzE4ODAxM0QzRTUyOTk0NjAzQworOjEwMTFCMDAwRTUyODk0MDA0MDA1NzUyNzBDODAwMzc1MjcwOEFGMjdBNAorOjEwMTFDMDAwRTRFRjU0N0M0NDgzRkY4RjI3RTUyN0ZDNzhBQkU2MjRDQgorOjEwMTFEMDAwMDFGNTgyMThFNjM0MDBGNTgzRUNGMEU1MjdGQzc4QUJFNgorOjEwMTFFMDAwRTYyNDA1RjU4MjE4RTYzNDAwRjU4M0VDRjBFNTI3RkNFQgorOjEwMTFGMDAwNzhBM0U2MjRBNEY4RUNGNjc4QTlFNjI0MDJGNTgyMTg5MAorOjEwMTIwMDAwRTYzNDAwRjU4M0UwRjUyNzc4QTdFNjI0MDJGNTgyMTg5NgorOjEwMTIxMDAwRTYzNDAwRjU4M0EzRTAzMEUzMTc1MzI3Qzc3OEE3RTY0OQorOjEwMTIyMDAwMjQwNUY1ODIxOEU2MzQwMEY1ODNFMDkwMzU1ODkzNDJBMgorOjEwMTIzMDAwMjc1MzI3RkI3OEE3RTYyNDA2RjU4MjE4RTYzNDAwRjU0NQorOjEwMTI0MDAwODNFMDYwMDM0MzI3MDQ1MzI3RkM3OEE3RTYyNDA0RjVEMgorOjEwMTI1MDAwODIxOEU2MzQwMEY1ODNFMDQyMjc0MzI3ODBFNTI3RkMyNworOjEwMTI2MDAwNzhBOUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNFQ0YwNzhEQworOjEwMTI3MDAwQTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTBGNTI3NzgyMgorOjEwMTI4MDAwQTdFNjI0MDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwRTFGNgorOjEwMTI5MDAwMDU1MzI3REY4MDAzNDMyNzIwNzhBN0U2MjQwMkY1ODI0MQorOjEwMTJBMDAwMThFNjM0MDBGNTgzRTAzMEU0MDU1MzI3RUY4MDAzNDM2QworOjEwMTJCMDAwMjcxMDc4QTdFNjI0MDlGNTgyMThFNjM0MDBGNTgzRTBDNAorOjEwMTJDMDAwQjQwMjAzNDMyNzAyRTUyN0ZDNzhBOUU2MjQwNEY1ODI0QgorOjEwMTJEMDAwMThFNjM0MDBGNTgzRUNGMDc4QTlFNjI0MDNGNTgyMThDQgorOjEwMTJFMDAwRTYzNDAwRjU4M0UwRjUyNzc4QTdFNjI0MDlGNTgyMThBRgorOjEwMTJGMDAwRTYzNDAwRjU4M0UwNzAwNTUzMjc3RjgwMDM0MzI3ODBBMQorOjEwMTMwMDAwNzhBN0U2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzBERQorOjEwMTMxMDAwRTAwNTQzMjcyMDgwMDM1MzI3REY3OEE3RTYyNDAyRjU2MgorOjEwMTMyMDAwODIxOEU2MzQwMEY1ODNFMDMwRTMwNTQzMjc0MDgwMDM2QworOjEwMTMzMDAwNTMyN0JGNzhBN0U2MjQwMkY1ODIxOEU2MzQwMEY1ODMyOAorOjEwMTM0MDAwRTAzMEUwMDU0MzI3MTA4MDAzNTMyN0VGNzhBN0U2MjQxOQorOjEwMTM1MDAwMDJGNTgyMThFNjM0MDBGNTgzQTNFMDMwRTQwNTQzMjc2NAorOjEwMTM2MDAwMDg4MDAzNTMyN0Y3NzhBN0U2MjQwMkY1ODIxOEU2MzRBRAorOjEwMTM3MDAwMDBGNTgzQTNFMDMwRTUwNTQzMjcwNDgwMDM1MzI3RkJGMgorOjEwMTM4MDAwNzhBN0U2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwMzA1RQorOjEwMTM5MDAwRTYwNTQzMjcwMTgwMDM1MzI3RkU3OEE3RTYyNDAyRjVEQworOjEwMTNBMDAwODIxOEU2MzQwMEY1ODNBM0UwMzBFNzA1NDMyNzAyODA4NgorOjEwMTNCMDAwMDM1MzI3RkRFNTI3RkM3OEE5RTYyNDAzRjU4MjE4RTYwOAorOjEwMTNDMDAwMzQwMEY1ODNFQ0YwQzIwMzdDMDAyMjhEMjc4QzI2RURERgorOjEwMTNEMDAwNTQwMzE0NjAwMzdDMTAyMkU1Mjc1NDdDMjRGQzQwMDM1MgorOjEwMTNFMDAwN0MwQjIyRTUyNjI0OURGOEM2NDQwMkY2N0MwMDIyOEM2NAorOjEwMTNGMDAwMzAxMjBGNjlFNTMwMjQ5REY4RTYyMEUyNEZBQzMwN0RENQorOjEwMTQwMDAwMDIxMjBEMkZFNTMwMjRGRTQ0MjhGQzc4QUE4NjgzMDhCQQorOjEwMTQxMDAwODY4MkVDRjBBRjgzRTU4MjI0MDRGRUU0M0ZGRkVDOEU4RAorOjEwMTQyMDAwODI4RjgzRjA3QzAzOEMyQ0U1MkNGQzc4QUJFNjI0MDFDNgorOjEwMTQzMDAwRjU4MjE4RTYzNDAwRjU4M0VDRjBFNTJDRkM3OEFCRTY5OQorOjEwMTQ0MDAwMjQwNUY1ODIxOEU2MzQwMEY1ODNFQ0YwNzUyRDAxNzU1RQorOjEwMTQ1MDAwMkY0ODc1MkVGRkU1MzAyNEZERkNFNDM0RkZGREVDN0NDNQorOjEwMTQ2MDAwMDMyNUUwQ0QzM0NERENGOUZDRTUyRjJDRjUyRkU1MkU1RgorOjEwMTQ3MDAwM0RGNTJFNzhBQkU2MjQwNEY1ODIxOEU2MzQwMEY1ODNCQQorOjEwMTQ4MDAwRTA1NEU3RjUyQ0FEMkZBRTJFQUYyREU0OTAwMDAyMTIwNAorOjEwMTQ5MDAwMDMxN0U0OTAwMDA2MTIwMzE3MTIwMUU2MzBFNTAzNDMzOAorOjEwMTRBMDAwMkMxMEU1MkNGQzc4QUJFNjI0MDRGNTgyMThFNjM0MDAxOQorOjEwMTRCMDAwRjU4M0VDRjAxMjEwNEI3OEE5RTYyNDA2RjU4MjE4RTZDNQorOjEwMTRDMDAwMzQwMEY1ODNFMEMyMDNGQ0U1MzAyNDlERjhDNjQ0MDRGMworOjEwMTREMDAwRjY4QzJDRTUzMDU0MEZDNDU0RjA3RTAwRkZFRUVGNDQ0MAorOjEwMTRFMDAwMDQ3RDAwRkZFQzRFRkNFRDRGRkQxMjFDQTc3QzAwMjI5QQorOjEwMTRGMDAwOEMyRjEyMEY2OTEyMEZFQjc4QUE4NjgzMDg4NjgyRTA4MAorOjEwMTUwMDAwNTQwOEYwQTNBM0EzQTNFMDU0MDhGMEFDMkY3RDAyMTI2QgorOjEwMTUxMDAwMEQyRkMyMDNFNTJGMjQ5REY4QzY1NEZCRjY3QzAwMjI1NAorOjEwMTUyMDAwMTIzMEU2Nzg5NkVDRjZFQzI0OURGOEU2MzBFMTBBN0Q4MAorOjEwMTUzMDAwMDA3QzEzMTIyNTI2MTIzMTY5Nzg5NkU2MjQ5REY4QzZBMAorOjEwMTU0MDAwNDQwMUY2Nzg5NkU2RkMxMjBGNjk3ODk2RTYyNEZENzU1QworOjEwMTU1MDAwRjAwQUE0MjQxNEY1ODJFNDM0RkNGNTgzNzhBNkU2RkFCNAorOjEwMTU2MDAwMDhFNkY5N0IwQTc4MDExMjAzQTc3OEE2ODY4MzA4ODYyNQorOjEwMTU3MDAwODI3OTY3N0EzNTdCMEE3ODAxMTIwM0Y1MTIwRkI3QzJCOAorOjEwMTU4MDAwMDM3ODk2RTZGQzEyMTEwNzc4OTVFQ0Y2RUM2MDBBN0Q3QworOjEwMTU5MDAwMDA3QzA4MTIyNTI2MTIzMTY5Nzg5NkU2RkMxMjBGNjk0NAorOjEwMTVBMDAwNzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFMDQ0MTBCNworOjEwMTVCMDAwNTRERkZDNzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1ODNBQworOjEwMTVDMDAwRUNGMDc4OTVFQ0Y2QzIwMzdDQzgxMjMyQTk3ODk2RTY2NgorOjEwMTVEMDAwRkMxMjBGNjk3OEE5RTYyNDA0RjU4MjE4RTYzNDAwRjVCOAorOjEwMTVFMDAwODNFMDU0RUZGMEMyMDM3Q0M4MTIzMkE5Nzg5NkU2RkM3RgorOjEwMTVGMDAwMTIwRjY5NzhBOUU2MjQwNEY1ODIxOEU2MzQwMEY1ODMxMQorOjEwMTYwMDAwRTA0NDEwRjBDMjAzN0NDODEyMzJBOTc4OTZFNkZDMTJCRQorOjEwMTYxMDAwMEY2OTc4QTlFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTAyMgorOjEwMTYyMDAwNDQyMEYwQzIwMzdDRjAxMjMyQTk3ODk2RTZGQzEyMEYzNworOjEwMTYzMDAwNjk3OEE5RTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwMzBFMAorOjEwMTY0MDAwRTQxNUMyMDM3ODk2RTY0NDEwN0YwMEZFN0MwNzEyMzE1MQorOjEwMTY1MDAwRkIxMjMxNjkwMjE3MTQ3OEE5RTYyNDA0RjU4MjE4RTYxMgorOjEwMTY2MDAwMzQwMEY1ODNFMDU0Q0ZGMEMyMDM3Q0M4MTIzMkE5Nzg2RAorOjEwMTY3MDAwOTZFNkZDMTIwRjY5NzhBOUU2MjQwNEY1ODIxOEU2MzQ5MAorOjEwMTY4MDAwMDBGNTgzRTA0NDMwRjBDMjAzN0NGMDEyMzJBOTc4OTY3MgorOjEwMTY5MDAwRTZGQzEyMEY2OTc4QTlFNjI0MDVGNTgyMThFNjM0MDAwNQorOjEwMTZBMDAwRjU4M0UwMzBFNDE0QzIwMzc4OTZFNjQ0MTA3RjAwRkUzMAorOjEwMTZCMDAwN0MwNzEyMzFGQjEyMzE2OTgwNUQ3OEE5RTYyNDA0RjVCQworOjEwMTZDMDAwODIxOEU2MzQwMEY1ODNFMDU0RUZGMDc4QTlFNjI0MDRBQworOjEwMTZEMDAwRjU4MjE4RTYzNDAwRjU4M0UwNTRERkYwNzg5NkU2MjRDRQorOjEwMTZFMDAwRkQ3NUYwMEFBNDI0MTRGNTgyRTQzNEZDRjU4M0FDODI4MQorOjEwMTZGMDAwQUQ4Mzc4QTY4NjgzMDg4NjgyRUNGOUVERkE3QjBBNzhCQQorOjEwMTcwMDAwMDExMjAzQTdDMjAzNzg5NkU2RkMxMjExMDc3RDAwN0M0NAorOjEwMTcxMDAwMEIxMjI1MjYxMjMxNjkyMjEyMzBFNkU0OTBGQzM5RjBEMgorOjEwMTcyMDAwN0QwMjdDMDAxMjI1MjYxMjMxNjkyMjEyMzBFNjdDMDBFRgorOjEwMTczMDAwMTIyNUJGMTIzMTY5MjI3NDNDOTBGQkUwRjA3NDNFOTA5OAorOjEwMTc0MDAwRkJFMEYwRTQ5MEZDMjhGMDIyOEQzNThDMzRFQ0I0MDEwMQorOjEwMTc1MDAwMDI4MDAzRDM0MDAyODAyOEI0MDIwMjgwMDNEMzQwMDhGMQorOjEwMTc2MDAwQTgzNUM2MjVFMEY2ODAxOEI0MDQwMjgwMDNEMzQwMEFFOQorOjEwMTc3MDAwQTgzNUM2MjVFMDI1RTBGNjgwMDZBODM1NzYwMDgwMDA2RAorOjEwMTc4MDAwMjI4QzNDOEQzQkVERkVFQ0ZEN0YwMTc1NjYwNjc1Njc5NgorOjEwMTc5MDAwMDA5MEZDMjkxMjA0NkUxMjAxRTZCNDgwMDI4MDA2RDM4OAorOjEwMTdBMDAwNTAwMzAyMTg0NzkwRkMyOTEyMDQ4MDkwMDAwMzEyMDE5NAorOjEwMTdCMDAwRUM1NEYwQjQzMDAyODAwM0QzNDA1RjkwRkMyOTEyMDQ1MworOjEwMTdDMDAwODA5MDAwMDgxMjAyMEVGQUZERUJGRTdGMDE5MEZDMkNDNworOjEwMTdEMDAwMTIwNDZFRUVDRDkwMzU3MUZDRTQ5M0ZGNzQwMTkzRkUxQworOjEwMTdFMDAwRjlFRkZBN0IwMUVBRkZFOUZFRUNDMzlFRUQ5RjQwMjU4RAorOjEwMTdGMDAwOTAzNTczRTQ5M0ZENzQwMTkzRkNFREZFRUNGRDdGMDFFNQorOjEwMTgwMDAwRUVDREZDOTBGQzJFRTBEMzlDOTBGQzJERTA5RDUwMDU4RAorOjEwMTgxMDAwNzU2NjgwODAzMzEyMTk2NTgwMkVCNDYwMDI4MDAzRDMxMAorOjEwMTgyMDAwNDAwQkFDM0NBRDNCMTIwNzc3OEM2NjgwMUJCNDEwMDNCOQorOjEwMTgzMDAwQjM0MDEwQzNCNDIwMDNCMzQwMDlDM0I0NDAwMjgwMDNEMworOjEwMTg0MDAwRDM0MDAwNzU2NjgxODAwMDgwNzVCNDgxMDI4MDAzRDMyNworOjEwMTg1MDAwNDA2QjkwRkMyOTEyMDQ4MDkwMDAwMzEyMDFFQzU0RjBCQworOjEwMTg2MDAwQjQzMDAyODAwM0QzNDAxRDkwRkMyOTEyMDQ4MDkwMDAwNAorOjEwMTg3MDAwMDgxMjAyMEVGQUZERUJGRTdGMDE5MEZDMkYxMjA0NkU5RgorOjEwMTg4MDAwMTIxOENGODAzNkI0NjAwMjgwMDNEMzQwMTM3NTNBNjdENAorOjEwMTg5MDAwRTRGNTM5RjUzOEFDM0NBRDNCMTIwNUQzOEM2NjgwMUJDMgorOjEwMThBMDAwQjQxMDAzQjM0MDEwQzNCNDIwMDNCMzQwMDlDM0I0NDAyMQorOjEwMThCMDAwMDI4MDAzRDM0MDAwNzU2NjgxODAwMDgwMDI4MDAwRTVDRAorOjEwMThDMDAwNjZGQzkwRkMyOTEyMDQ4MEVDOTAwMDAyMTIwMzE3QUMxNQorOjEwMThEMDAwNjcyMjkwRkMyOTEyMDQ4MDkwMDAwNDEyMDFFQzYwMDQzRAorOjEwMThFMDAwNzQwMTgwMDFFNEEyRTA5MjAxOTBGQzI5MTIwNDgwRUREMQorOjEwMThGMDAwMjQwM0ZENTAwMTBFOTBGQzJDMTIwNDZFOTBGQzI5MTI2MgorOjEwMTkwMDAwMDQ4MDkwMDAwNTEyMDFFQ0Y1Njc5MDAwMDQxMjAxRUNEMAorOjEwMTkxMDAwNTQwRkZDN0Q2NzEyMTc0NkU1Njc3MDA0NzU2NjA4MjI1MAorOjEwMTkyMDAwNzU2NjAwNzg4NDc2MDA3ODg0RTZDMzk1Njc1MDM4OTBCMQorOjEwMTkzMDAwRkMyRjEyMDQ4MDEyMDFFNkZDOTBGQzJDMTIwNDgwRUNCNworOjEwMTk0MDAwMTIwMzBGMzAwMTBFOTBGQzMxRTAwNEYwOTBGQzMwNzA3NworOjEwMTk1MDAwMDNFMDA0RjA3ODg0MDY5MEZDMkVFMDA0RjA5MEZDMkQ2NworOjEwMTk2MDAwNzAwM0UwMDRGMDgwQzAyMjkwRkMyQUUwRkRBM0UwRkNCQworOjEwMTk3MDAwRURGRUVDRkQ3RjAxRUQyNDBBRkQ1MDAxMEU5MEZDMzJERQorOjEwMTk4MDAwMTIwNDZFOTBGQzI5MTIwNDgwOTAwMDA0MTIwMUVDNTRBMQorOjEwMTk5MDAwMEZCNDAxMDI4MDAzRDM0MDE3OTBGQzMyMTIwNDgwMEQ3MworOjEwMTlBMDAwRUQ3MDAxMEU5MEZDMkYxMjA0NkU3ODg4NzYwMTgwNEU0NworOjEwMTlCMDAwQjQwMjAyODAwM0QzNDAxOTkwRkMzMjEyMDQ4MEVEMjQ1QgorOjEwMTlDMDAwMDJGRDUwMDEwRTkwRkMyRjEyMDQ2RTc4ODg3NjAyODA4MgorOjEwMTlEMDAwMkRCNDA0MDI4MDAzRDM0MDE5OTBGQzMyMTIwNDgwRUQzMAorOjEwMTlFMDAwMjQwNEZENTAwMTBFOTBGQzJGMTIwNDZFNzg4ODc2MDRCQQorOjEwMTlGMDAwODAwQ0I0MDAwMjgwMDNEMzQwMDA3NTY2MDgyMjkwRkM3RQorOjEwMUEwMDAwMjkxMjA0ODA5MDAwMDUxMjAxRUNGNTY3Nzg4NTc2MDBCNAorOjEwMUExMDAwNzg4NUU2QzM5NTY3NDAwMzAyMUFDRDc4ODY3NjAwNzgwQworOjEwMUEyMDAwODZFNkMzNzg4ODk2NTA3NjkwRkMyQzEyMDQ4MDEyMDFDQQorOjEwMUEzMDAwRTZGQzkwRkMzMjEyMDQ4OTEyMDFFMEY0NUNGQzEyMDExNQorOjEwMUE0MDAwRTBGODkwRkMyRjEyMDQ4MEU4QzBFMDEyMDFFNkM4RDA1NAorOjEwMUE1MDAwRTBDODU4NENGQzkwRkMyQzEyMDQ4MEVDMTIwMzBGNzg2OAorOjEwMUE2MDAwODdFQ0Y2OTBGQzMxRTAwNEYwOTBGQzMwNzAwM0UwMDQ2OQorOjEwMUE3MDAwRjAwOUU5NzAwMTBBOTBGQzMyMTIwNDc3OTBGQzI5MTJGNworOjEwMUE4MDAwMDQ4MDkwMDAwNDEyMDFFQzMwRTQwRTkwRkMyRUUwMDQ3RgorOjEwMUE5MDAwRjA5MEZDMkQ3MDAzRTAwNEYwNzg4NjA2ODA4MTc4ODg1MQorOjEwMUFBMDAwRTZGREU0RkVGRkVFQ0RGQzkwRkMzMUUwMkNGMDkwRkM3NgorOjEwMUFCMDAwMzBFMDNERjA3ODg4RTZGREU0RkVGRkVFQ0RGQzkwRkNFMgorOjEwMUFDMDAwMzRFMDJDRjA5MEZDMzNFMDNERjA3ODg1MDYwMjFBMERFRQorOjEwMUFEMDAwNzU2NjAwMjJFNTNEMDUzRDA0NzAwMkIyQjAyMkMwRTAwQgorOjEwMUFFMDAwQzBGMEMwODJDMDgzQzBEMEU4QzBFMEU5QzBFMEVBQzA3NgorOjEwMUFGMDAwRTBFQkMwRTBFQ0MwRTBFREMwRTBFRUMwRTBFRkMwRTA0NQorOjEwMUIwMDAwOTBGRjkyRTAxMjAxQjcxQjI5MzAxQjI5MzIxQjM4Mzg5NQorOjEwMUIxMDAwMUI0QTNBMUI1QzNFMUI3NDQ0MUI2ODQ2MUI4MDUwMUJDRgorOjEwMUIyMDAwQzI1MjFCQTE1NDFCRTM1NjAwMDAxQzA0OTBGRjkyRTAxQworOjEwMUIzMDAwN0YwMEZFN0MwMTEyMzFGQjAyMUMxNEU0RkYwNEZFN0NEQQorOjEwMUI0MDAwMDMxMjMxRkI3NDIwOTBGRkZFRjAwMjFDMTRFNEZGMDQyQQorOjEwMUI1MDAwRkU3QzAyMTIzMUZCNzQ0MDkwRkZGRUYwMDIxQzE0RTQ4NAorOjEwMUI2MDAwRkYwNEZFN0MwNDEyMzFGQjAyMUMxNEU0RkYwNEZFN0MyMworOjEwMUI3MDAwMDUxMjMxRkIwMjFDMTRFNEZGMDRGRTdDMDYxMjMxRkI0QgorOjEwMUI4MDAwMDIxQzE0OTBGRkE1RTA3RDAwOTBGQkY4Q0RGMEEzQ0RFMgorOjEwMUI5MDAwRjA5MEZCRjlFMEZDRjU4MzkwRkJGOEUwNDQzM0ZEMTI5NAorOjEwMUJBMDAwMUNBNzgwNzM5MEZGQjVFMDdEMDA5MEZCRkFDREYwQTNGOQorOjEwMUJCMDAwQ0RGMDkwRkJGQkUwRkNGNTgzOTBGQkZBRTA0NDQzRkRBNQorOjEwMUJDMDAwMTIxQ0E3ODA1MjkwRkZBNkUwN0QwMDkwRkJGQ0NERjA5OAorOjEwMUJEMDAwQTNDREYwOTBGQkZERTBGQ0Y1ODM5MEZCRkNFMDQ0MzRFQQorOjEwMUJFMDAwRkQxMjFDQTc4MDMxOTBGRkI2RTA3RDAwOTBGQkZFQ0Q3QQorOjEwMUJGMDAwRjBBM0NERjA5MEZCRkZFMEZDRjU4MzkwRkJGRUUwNDQwQQorOjEwMUMwMDAwNDRGRDEyMUNBNzgwMTA5MEZGOTJFMDdEMDBGQ0VENDQ4MworOjEwMUMxMDAwQUFGRDEyMUNBNzgwMDBFNDkwRkY5MkYwRDBFMEZGRDA1NAorOjEwMUMyMDAwRTBGRUQwRTBGREQwRTBGQ0QwRTBGQkQwRTBGQUQwRTA3OAorOjEwMUMzMDAwRjlEMEUwRjhEMEQwRDA4M0QwODJEMEYwRDBFMDMyMDUxNworOjEwMUM0MDAwODEwNTgxMDU4MTA1ODFBODgxMTgxODE4RURGNjA4RUMzOQorOjEwMUM1MDAwRjY5MEZGNUFFMDIwRTcwMjgwRjc5MEZGNTlFMDdEMDAwMAorOjEwMUM2MDAwQTg4MTE4Q0RGNkNEMDhGNjdEMDNBODgxRTYxOEZDRTYxQworOjEwMUM3MDAwQ0MyNUUwQ0MzM0NDRERGOUNDRjZDQzA4RjZBODgxMTgyNQorOjEwMUM4MDAwRTY0NEY4RjZBODgxMTgxODE4RTZGRDA4RTZGQ0E4ODFENQorOjEwMUM5MDAwMTg4NjgzMDg4NjgyRURGMEEzRUNGMDc0MDI5MEZGNUE1OAorOjEwMUNBMDAwRjAxNTgxMTU4MTE1ODExNTgxMjJFNTgxMjQwNUY1ODFDNQorOjEwMUNCMDAwRTRBODgxMThGNkE4ODExODE4MTgxOEVERjYwOEVDRjZCMworOjEwMUNDMDAwOTBGQkY1RTAyNEY4NTAwMzAyMURDOEU0QTg4MTE4MTgyMQorOjEwMUNEMDAwRjZBODgxMThFNkZFQTg4MTE4MTgxODE4RTZGRDA4RTY4RgorOjEwMUNFMDAwRkM3RjAwRUYyNEY4NDA0REU0RUYyNUUwMjQ3REY1ODJGMQorOjEwMUNGMDAwRTQzNEZDRjU4M0UwRkJBM0UwNkM3MDAzRkFFQjZENzA1OQorOjEwMUQwMDAwMDk3NDAxQTg4MTE4MThGNjgwMkJFNEVGMjVFMDI0N0RFMgorOjEwMUQxMDAwRjU4MkU0MzRGQ0Y1ODM3QTAwRTA1NEYwQ0NGOENDQ0RDNQorOjEwMUQyMDAwRjlDREZCNzgwMEU5NTRGMEY5RUE2ODcwMDJFQjY5NzBDQworOjEwMUQzMDAwMDEwRTBGODBBRUE4ODExOEVFRjZBODgxMTgxODE4MThBOQorOjEwMUQ0MDAwRURGNjA4RUNGNkE4ODFFRkY2QTg4MTE4MThFNjcwNzk5MAorOjEwMUQ1MDAwQTg4MTE4RTYyNEY3NDA3MUE4ODExODE4MTgxOEU2NTRDRAorOjEwMUQ2MDAwMEZBODgxRjY2NDA0NjAxN0E4ODFFNjY0MDM2MDEwQThEOAorOjEwMUQ3MDAwODExODE4MTgxOEU2RkQwOEU2RkMxMjFDM0M4MDRBN0MwNQorOjEwMUQ4MDAwMEExMjMxNUJBODgxMTgxODE4MThFNkZEMDhFNkZDOTBDNQorOjEwMUQ5MDAwRkJGNEUwMjVFMDI0N0RGNTgyRTQzNEZDRjU4M0VERjBFRQorOjEwMURBMDAwQTNFQ0YwOTBGQkY0RTBGRkU0RUYwNDU0MDdGRjkwRkI5QQorOjEwMURCMDAwRjRGMDkwRkJGNUUwMDRGMDEyMzFGNDkwRkJGNkUwNzBFMworOjEwMURDMDAwMDhFNEZFRkY3QzBGMTIzMUZCODAyNzkwRkJGN0UwMDQ1NAorOjEwMUREMDAwRjA1NDNGNzAxRDkwRkJGN0UwNDRGRTdEMDBGQzkwRkI0QgorOjEwMURFMDAwRjRFMDI1RTAyNDdERjU4MkU0MzRGQ0Y1ODNFREYwQTNGNgorOjEwMURGMDAwRUNGMEU1ODEyNEZCRjU4MTIyNzg4Qjc2MDA3ODhDNzZGNworOjEwMUUwMDAwMDA3NDAxOTBGQkY2RjAxMjMwRTY5MEZCRjVFMDYwNTdBRAorOjEwMUUxMDAwN0MwQTEyMzE1QjkwRkJGM0UwMjVFMDI0N0RGNTgyRTQzRgorOjEwMUUyMDAwMzRGQ0Y1ODNFMEZEQTNFMEZDOTBGQkYzRTAyNUUwMjQyNworOjEwMUUzMDAwN0RGNTgyRTQzNEZDRjU4M0U0RjBBM0YwOTBGQkYzRTA1RAorOjEwMUU0MDAwRkZFNEVGMDQ1NDA3RkY5MEZCRjNGMDkwRkJGNUUwMTQ4MAorOjEwMUU1MDAwRjA3ODg5RURGNjA4RUNGNjEyMzFGNDc4ODlFNkZEMDhBMQorOjEwMUU2MDAwRTZGQzEyMDhEQTgwQTMxMjMyNDg5MEZGOTNFMDQ0MDFBNgorOjEwMUU3MDAwRjBCMkIzNzg4QjA2QjYwMDExNzg4Qjc2MDA3ODhDRTZEQQorOjEwMUU4MDAwRjQwNDA0QTJFMDkyQjQ3ODhDRjYwMjFFMDdFNDkwRkJGRQorOjEwMUU5MDAwRjZGMDkwRkJGNUUwN0QwMEZDRUQ0NENGRkQxMjFDM0MxQworOjEwMUVBMDAwMTIzMTY5MjIxMjMwRTZFNTcwNjQ0OTQ1NkY2MDE1OTA4MQorOjEwMUVCMDAwRkY4M0UwNTQwRjdEMDBEMzk1NzBFRDk1NkY1MDA1MTJCMAorOjEwMUVDMDAwMkYyRjgwMDMxMjJGRkYxMjMxNjkyMjEyMzBFNkU1NzBBNgorOjEwMUVEMDAwNjQ0OTQ1NkY2MDA1MTIzMDM5ODAwRTkwRkY4MEUwNDQwMAorOjEwMUVFMDAwMDhGMDkwRkY4M0UwNTQ3RkYwMTIzMTY5MjIxMjMwRTY0RgorOjEwMUVGMDAwOEM1NEVDNTRGMEI0MTAxNTc1NkEzNTc1NjlGQzc1NjgyRQorOjEwMUYwMDAwMDFFNTZBMjQwM0Y1NkFFNTY5MzQwMEY1NjlFNEY1NTdFQgorOjEwMUYxMDAwRjU1NkU1NTZDMzk0MDE1MDI3RTU1NDU0MEZGQ0FENkFCRAorOjEwMUYyMDAwQUU2OUFGNjgxMjBFNzc4QzU1RUM2MDAyODAxMjA1NkFCQworOjEwMUYzMDAwRTU2QTcwMDIwNTY5MDU1N0U1NTc3MDAyMDU1NjgwRDJCQgorOjEwMUY0MDAwRTU1NDU0MEYyNDlERjhDNjU0RkVGNkU1NTQ1NDBGN0YxMworOjEwMUY1MDAwMDBGRTdDMTIxMjMxRkJFNTU1MTQ3MDA5N0QwMDdDMDlFRQorOjEwMUY2MDAwMTIyNTI2ODAwN0FENTc3QzAwMTIyNTI2MTIzMTY5MjJFMgorOjEwMUY3MDAwMTIzMEU2OTBGRkZDRTA0NDAyRjA5MEZGMDBFMDMwRTcxMgorOjEwMUY4MDAwMTM5MEZGODNFMDQ0ODBGMDQzNkQ4MDkwRkZGQ0UwNDRCOQorOjEwMUY5MDAwMDFGMDgwMTE5MEZGODJFMDQ0MDhGMDUzNkQ3RjkwRkZDNAorOjEwMUZBMDAwRkNFMDU0RkVGMDkwRkY4MUUwNDQ4MEYwMTIyNUQ5OTBDRgorOjEwMUZCMDAwRkZGRUUwNDQwNUYwOTBGRkZDRTA1NEZERjAxMjMxNjlCMworOjEwMUZDMDAwMjIxMjMwRTY3QzAxMTIzMkE5NzhBREU2NDQwMkY2NzRBMgorOjEwMUZEMDAwRkVGQzA0RkQxMjFDQTc5MEZGNUFFMDMwRTcwMjgwRjdEOAorOjEwMUZFMDAwRTRGNTRFNzU0RDEwQUM0RUFENERFNTRFMTU0RTcwMDJGQworOjEwMUZGMDAwMTU0REVDNEQ2MDAyODBFRTQzODcwMTEyMzE2OTIyMTJDQgorOjEwMjAwMDAwMzBFNjdDMDIxMjMxNzU3OEFERTY1NEZERjYxMjMxNjk4NgorOjEwMjAxMDAwMjIxMjMwRTY3OEFERTYzMEUwMkM3OEFERTYzMEUxMjZFRAorOjEwMjAyMDAwNzhBREU2RkNGNTgzMThFNjQ0RjBGRDEyMUMzQzkwRkYwOQorOjEwMjAzMDAwRkNFMDQ0MjBGMDdDMDIxMjMyQTk3OEFERTY1NEZERjZCMworOjEwMjA0MDAwNzQxQTkwRkZGRUYwNzhBREU2RkNGNTgzMThFNjQ0RjFEMworOjEwMjA1MDAwRkQxMjFDM0MxMjMxNjkyMjc1NkQwMDkwRkZGRkUwNjA5QgorOjEwMjA2MDAwMDM0MzZEMDE3NTZFMDBFNEY1NkNGNTZCRTRGNTZGNzU3NworOjEwMjA3MDAwNzA0OTc0ODQ5MEZGODJGMDc0ODQ5MEZGODBGMDc0ODBDMworOjEwMjA4MDAwOTBGRjU4RjA3NDgwOTBGRjVBRjBBRDQ2QUY0NTdFMDA0NworOjEwMjA5MDAwRUUyNEZFNTAwMzAyMjEyNEU0RUU3NUYwMDdBNDI0N0YxMQorOjEwMjBBMDAwRjU4MkU0MzRGOEY1ODNFMEZGRTRFRjU0ODBGREU0RUZEQgorOjEwMjBCMDAwNTQwRjE0RkZFRDYwMzhFNEVGNzVGMDA4QTQyNDQ4RjVFMAorOjEwMjBDMDAwODJFNDM0RkZGNTgzNzQ5MEYwRTRFRjc1RjAwOEE0MjQwMworOjEwMjBEMDAwNEFGNTgyRTQzNEZGRjU4Mzc0ODBGMEU0RUY3NUYwMDg4QworOjEwMjBFMDAwQTQyNDRFRjU4MkU0MzRGRkY1ODM3NDgwRjA4MDM0RTQ1OAorOjEwMjBGMDAwRUY3NUYwMDhBNDI0MDhGNTgyRTQzNEZGRjU4Mzc0OTBBQQorOjEwMjEwMDAwRjBFNEVGNzVGMDA4QTQyNDBBRjU4MkU0MzRGRkY1ODNDNworOjEwMjExMDAwRTRGMEU0RUY3NUYwMDhBNDI0MEVGNTgyRTQzNEZGRjU1MgorOjEwMjEyMDAwODNFNEYwMEUwMjIwOEQ4RDQ2OEU0NDhGNDU3NDdGOTA5RgorOjEwMjEzMDAwRkZGREYwNzQ5MDkwRkZGQ0YwMjI4QzU4RUMyNEY2NTBEOAorOjEwMjE0MDAwMDZFNTU4MjQzN0ZDMjJFNTU4MjQzMEZDMjIxMjI1MjNDQQorOjEwMjE1MDAwRUM3MDAzMDIyMjVFNzU1QzAzQUU1QjdGMDBFNTVDMTVFQworOjEwMjE2MDAwNUM2NDgwMjQ3RjUwMzVFRjI0MDBGNTgyRTQzNEZCRjU3NQorOjEwMjE3MDAwODNFMEZFMjRGRTUwMUVFRjdEMDBGQ0U0RkI3NDc0QzM3QworOjEwMjE4MDAwOUNGQUVCOURGQkVFN0QwMEZDRUFDMzlDRUQ2NDgwQ0JFQQorOjEwMjE5MDAwNjQ4MDlCNTAwMjgwMDVFRjJFRkY4MEMxOEU1QjhGNUFCQQorOjEwMjFBMDAwRTU1QzY0ODAyNDdGNTAwMzAyMjI1RUU1NUEyNDhFNTA1MQorOjEwMjFCMDAwMDMwMjIyNUU4NTVBNUQ3NTVCMDBBRTVBQUY1QjkwMzVCNworOjEwMjFDMDAwOUNFNDkzRjU1Q0U1NUMxNTVDNjQ4MDI0N0Y1MDE4RUUxQworOjEwMjFEMDAwMjQwMEY1ODJFNDM0RkJGNTgzRTBGQ0VGOTAzNTlDOTMxQQorOjEwMjFFMDAwNkM3MDA0MEUwRjgwREU4RTVBOEY1QkU1NUM2NDgwMjQ3OQorOjEwMjFGMDAwN0Y0MDZFNzU1RTAxNzU2MEU4NzU1RkZGRTU1RDI0MDJFNgorOjEwMjIwMDAwRjU1QTc1NUMwN0U1NUMzMzQwNTdBRDYwQUU1RkFGNUU3NQorOjEwMjIxMDAwRTU1Q0Y1ODIzMzk1RTBGNTgzMTIwMUVDQzQ1NDBGRkNDNAorOjEwMjIyMDAwMTIyMTM3RTU1QTI0MDBGNTgyRTQzNEZCRjU4M0VDRjAwMworOjEwMjIzMDAwMDU1QTA1NUFBRDYwQUU1RkFGNUVFNTVDRjU4MjMzOTUzOQorOjEwMjI0MDAwRTBGNTgzMTIwMUVDNTQwRkZDMTIyMTM3RTU1QTI0MDAwQgorOjEwMjI1MDAwRjU4MkU0MzRGQkY1ODNFQ0YwMDU1QTA1NUExNTVDODBGMQorOjEwMjI2MDAwQTQ3NDAyOTBGODUxRjA5MEY4NkI3OTc1N0EzNTdCMjc1OQorOjEwMjI3MDAwNzgwMTEyMDNGNTc1NkEzNTc1NjlGQzc1NjgwMUU0OTA5QgorOjEwMjI4MDAwRkY4M0YwNzQ4MDkwRkY4MUYwNzU1OTAyRTU1OTc1RjA3NQorOjEwMjI5MDAwMDdBNDI0N0ZGNTgyRTQzNEY4RjU4M0UwNzg4RkY2RkMxOAorOjEwMjJBMDAwNTQwRjE0RkM3ODhGRUNGNkU1NTk3NUYwMDdBNDI0ODFERgorOjEwMjJCMDAwRjU4MkU0MzRGOEY1ODNFMDc4OTI3NkZEMDg3NkU4RkM2MAorOjEwMjJDMDAwNzg4RkU2NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODM5RQorOjEwMjJEMDAwRTRGMDc4OEZFNjc1RjAwOEE0MjQ0RkY1ODJFNDM0RkYyQgorOjEwMjJFMDAwRjU4M0VDRjA3ODkyRTZGRjA4RTY3RTAzQ0ZDMzEzQ0ZDOAorOjEwMjJGMDAwMTNERUY5RkU3ODhGRTY3NUYwMDhBNDI0NDlGNTgyRTQzMAorOjEwMjMwMDAwMzRGRkY1ODNFRUYwNzg4RkU2NzVGMDA4QTQyNDRBRjVFMworOjEwMjMxMDAwODJFNDM0RkZGNTgzNzQ4MEYwNzg5MEVDRjY3RDAwNzhFOQorOjEwMjMyMDAwOTNFNjJDRjYxOEU2M0RGNjc4OTJFNkZEMDhFNjdDMDM4NworOjEwMjMzMDAwQ0RDMzEzQ0QxM0RDRjlGQzc4OEZFNjc1RjAwOEE0MjQyNworOjEwMjM0MDAwNERGNTgyRTQzNEZGRjU4M0VDRjA3ODhGRTY3NUYwMDgwNAorOjEwMjM1MDAwQTQyNDRFRjU4MkU0MzRGRkY1ODNFNEYwNzg5MkU2RkRBMAorOjEwMjM2MDAwMDhFNkZDNzg4RkU2RkY3RTAwRUUyNEZFNTAwMzAyMjQ5MAorOjEwMjM3MDAwRERFNEVFNzVGMDA3QTQyNDdGRjU4MkU0MzRGOEY1ODNGQworOjEwMjM4MDAwRTBGRkU0RUY1NDgwRkFFNEVGNTQwRjE0RkZFNEVFNzUzRAorOjEwMjM5MDAwRjAwN0E0MjQ4MUY1ODJFNDM0RjhGNTgzRTA3ODkwRjYyMAorOjEwMjNBMDAwRTRFRTEzMTM1NDgwMjRGMEY4RTQzNEZERjlFOEZDRTk3QQorOjEwMjNCMDAwRkQ4QTVBRUE3MDAzMDIyNDRBRTRFRjc1RjAwOEE0MjQ2NworOjEwMjNDMDAwNDhGNTgyRTQzNEZGRjU4M0U0RjA3ODkwRTZGQUU0RUYzMAorOjEwMjNEMDAwNzVGMDA4QTQyNDRGRjU4MkU0MzRGRkY1ODNFQUYwRURBQworOjEwMjNFMDAwRkJFQzdBMDNDQkMzMTNDQjEzREFGOUZBRTRFRjc1RjAwNQorOjEwMjNGMDAwMDhBNDI0NDlGNTgyRTQzNEZGRjU4M0VBRjA3ODkwRTZGNgorOjEwMjQwMDAwN0IwMEZBRUMyQUZDRUQzQkZERkJFQzdBMDNDQkMzMTMxQgorOjEwMjQxMDAwQ0IxM0RBRjlGQUU0RUY3NUYwMDhBNDI0NERGNTgyRTQ2MQorOjEwMjQyMDAwMzRGRkY1ODNFQUYwRTRFRjc1RjAwOEE0MjQ0QUY1ODI1RQorOjEwMjQzMDAwRTQzNEZGRjU4Mzc0ODBGMEU0RUY3NUYwMDhBNDI0NEVEMworOjEwMjQ0MDAwRjU4MkU0MzRGRkY1ODM3NDgwRjAwMjI0RDlFNEVGNzU1QgorOjEwMjQ1MDAwRjAwOEE0MjQwOEY1ODJFNDM0RkZGNTgzRTRGMDc4OTBEMgorOjEwMjQ2MDAwRTZGQUU0RUY3NUYwMDhBNDI0MEZGNTgyRTQzNEZGRjVGMgorOjEwMjQ3MDAwODNFQUYwRURGQkVDN0EwM0NCQzMxM0NCMTNEQUY5RkE2MgorOjEwMjQ4MDAwRTRFRjc1RjAwOEE0MjQwOUY1ODJFNDM0RkZGNTgzRUE0QgorOjEwMjQ5MDAwRjA3ODkwRTY3QjAwRkFFQzJBRkNFRDNCRkRGQkVDN0E1MQorOjEwMjRBMDAwMDNDQkMzMTNDQjEzREFGOUZBRTRFRjc1RjAwOEE0MjRENQorOjEwMjRCMDAwMERGNTgyRTQzNEZGRjU4M0VBRjBFNEVGNzVGMDA4QTQ0QgorOjEwMjRDMDAwMjQwQUY1ODJFNDM0RkZGNTgzRTRGMEU0RUY3NUYwMDhDNAorOjEwMjREMDAwQTQyNDBFRjU4MkU0MzRGRkY1ODNFNEYwMEUwMjIzNjZCMworOjEwMjRFMDAwOEU1OTc4OTJFREY2MDhFQ0Y2Nzg4RkVGRjYxMjIwNTVCQgorOjEwMjRGMDAwMjI4QzI2RUMzMEU3MThFNTI2NTQwRjE0NzVGMDA4QTQ1QQorOjEwMjUwMDAwMjQ0OEY1ODJFNDM0RkZGNTgzRTA1NERGRjA4MDE2RTVEQgorOjEwMjUxMDAwMjY1NDBGMTQ3NUYwMDhBNDI0MDhGNTgyRTQzNEZGRjU1RQorOjEwMjUyMDAwODNFMDU0REZGMDIyN0MwMDIyRUM5MEZDMzdGMDhDMjQxNgorOjEwMjUzMDAwRUQyNDAzRjUyNTdEMDBEMzk1NzJFRDk1NzE0MDAzODU1QgorOjEwMjU0MDAwNzIyNUU1MjUyNEI3NTAwOTc1MjUwMzc0MDI5MEZDMzdFMAorOjEwMjU1MDAwRjBBQzI1MTIzMDI0MjJFNEY1NkNGNTZCMTIyNTVEMjJENworOjEwMjU2MDAwOTBGQzM1RTA2NTczNjAwRTc0MDQ5MEZDMzdGMEU0RjU4MAorOjEwMjU3MDAwNkI3NTZDMDM4MDQ2N0Q3M0U0RkVGRjc5MzU3QUZDN0JENgorOjEwMjU4MDAwMDE3NDA1NzgwMDEyMDMzRkU1NkMyNDAzRjU2Q0U1NkJEQworOjEwMjU5MDAwMzQwMEY1NkJFNTZDRDM5NTcyRTU2Qjk1NzE0MDA2ODU1QgorOjEwMjVBMDAwNzI2Qzg1NzE2QkQzRTU2Qzk0NDhFNTZCOTQwMDQwMENCQworOjEwMjVCMDAwNzQwMjkwRkMzN0YwRTRGNTZCNzU2QzAzQUM2QzEyMzA3MAorOjEwMjVDMDAwMjQyMkVDOTBGQzM3RjBFNEY1NkNGNTZCOEMzMkVDNjA3NworOjEwMjVEMDAwMDUxMjMwMTU4MDA1N0MwMDEyMzAyNDIyOTBGRjkzRTAxNAorOjEwMjVFMDAwNDQwMUYwQjJCMzkwRkYwNEUwRjU0QTkwRkYwNkUwRkQyRAorOjEwMjVGMDAwQTNFMEVEN0QwMEZDN0QwMEZDOTBGRjA2RTBGRkEzRTA4MgorOjEwMjYwMDAwN0UwMEZGRTRGRUVDNEVGQ0VENEZGREMzRUM5NDQ4RUQ4NAorOjEwMjYxMDAwOTQwMDUwMjI5MEZGMDZFMEZEQTNFMEVEN0QwMEZDN0REQworOjEwMjYyMDAwMDBGQzkwRkYwNkUwRkZBM0UwN0UwMEZGRTRGRUVDNEUxRQorOjEwMjYzMDAwRkNFRDRGRkQ4MDA0RTRGRDdDNDg4QzcyOEQ3MTkwRkZCMQorOjEwMjY0MDAwMDJFMEZEQTNFMEVEN0QwMEZDN0QwMEZDOTBGRjAyRTBEOAorOjEwMjY1MDAwRkZBM0UwN0UwMEZGRTRGRUVDNEVGNTRDRUQ0RkY1NEJBMgorOjEwMjY2MDAwNzU2QTM1NzU2OUZDNzU2ODAxN0QzNTdFRkM3RjAxNzk3OQorOjEwMjY3MDAwNzNFNEZBRkI3NDA1NzgwMDEyMDMzRjc1NDkwMEU1NDlERAorOjEwMjY4MDAwMjRGRTQwMTlBRDZBQUU2OUFGNjhFNDEyMDMwRjA1NDkzNAorOjEwMjY5MDAwMERFRDcwMDEwRThENkE4RTY5OEY2ODgwRTE3NTZBMzU2NworOjEwMjZBMDAwNzU2OUZDNzU2ODAxOTBGRjAwRTA1NDYwQjQwMDAyODAxOQorOjEwMjZCMDAwMDZEMzUwMDMwMjJDNkRFNTRBNTQwRkY1NDlFNTRBNTQwMAorOjEwMjZDMDAwODBBMkUwOTIwMjkwRkYwMUUwMTIwMTgxMDAwQjJDNjhEMQorOjEwMjZEMDAwMjZFNTI4MDMyQzY4MjkwRjJDNjgyOUYyMkEyNjJCOEQ0MQorOjEwMjZFMDAwMkI5MDJCRDAyQzExMkMzRkU1NkQzMEU3MEVFNTRDNDU5RgorOjEwMjZGMDAwNEI3MDA4RTU3MjY0MDI0NTcxNjAwMzAyMkM2QTkwRkYxQQorOjEwMjcwMDAwMDBFMDU0MUZCNDAwMDI4MDAzRDM0MDI5RTU0QTYwMDM2RgorOjEwMjcxMDAwMDIyODAwQUQ2QUFFNjlBRjY4NzQwMTEyMDMwRjc4QUQ4QworOjEwMjcyMDAwRTYzMEUwMEJBRDZBQUU2OUFGNjg3NDAyMTIwMzBGN0M0RAorOjEwMjczMDAwMDIxMjMwMjQyMkI0MDEwMjgwMDNEMzQwMUJFNTZEMjAzNQorOjEwMjc0MDAwRTEwN0U1NEE2MDAzMDIyODAwRTU0QTI0RkU1MDAzMDIzRgorOjEwMjc1MDAwMjgwMDdDMDIxMjMwMjQyMkI0MDIwMjgwMDZEMzUwMDNFNworOjEwMjc2MDAwMDIyN0ZFRTU2RDIwRTEwREU1NEE2MDA5RTU0QTY0ODAzNworOjEwMjc3MDAwNjAwMzAyMjgwMEFDNEExMjMwQUI0MDAzMDIyODAwRTU5NworOjEwMjc4MDAwNDk3MDI1MzAwMjExOTBGRjgwRTA1NDA4QUQ2QUFFNjlBRgorOjEwMjc5MDAwQUY2ODEyMDMwRjgwMEY5MEZGODJFMDU0MDhBRDZBQUU1RAorOjEwMjdBMDAwNjlBRjY4MTIwMzBGODAzRDE1NDkzMDAyMURFNTQ5NzU3OAorOjEwMjdCMDAwRjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTA1NDA4QUQyMgorOjEwMjdDMDAwNkFBRTY5QUY2ODEyMDMwRjgwMUJFNTQ5NzVGMDA4QTQ3MworOjEwMjdEMDAwMjQwOEY1ODJFNDM0RkZGNTgzRTA1NDA4QUQ2QUFFNjk1RAorOjEwMjdFMDAwQUY2ODEyMDMwRkFENkFBRTY5QUY2ODEyMDFFNjYwMEIwNQorOjEwMjdGMDAwQUQ2QUFFNjlBRjY4NzQwMTEyMDMwRjdDMDIxMjMwMjQxNworOjEwMjgwMDAwMjI4MDAwMDIyQzZBRTU2RDIwRTcwNkU1NzI0NTcxNjBDMgorOjEwMjgxMDAwMDMwMjJDNkE5MEZGMDBFMDU0MUZCNDAwMDI4MDAzRDMyRgorOjEwMjgyMDAwNDAxQUU1NEMxNDQ1NEI3MDA0RTU0QTYwMDMwMjI5MEMzQworOjEwMjgzMDAwNzhBREU2NTRGRUY2N0MwMDEyMzAyNDIyQjQwMTAyODAwQQorOjEwMjg0MDAwMDNEMzQwMkFFNTZEMjBFMTA4RTU2RDIwRTAwMzAyMjk2RAorOjEwMjg1MDAwMENFNTZEMzBFMDA0RTU0QTcwMEJFNTZEMzBFMTA5RTUwQgorOjEwMjg2MDAwNEEyNEZFNTAwMzAyMjkwQzdDMDAxMjMwMjQyMkI0MDJCOAorOjEwMjg3MDAwMDI4MDA2RDM1MDAzMDIyOTBBRTU0QzQ1NEI2MDAzMDI0RgorOjEwMjg4MDAwMjkwQ0FDNEExMjMwQUI0MDAzMDIyOTBDRTU2RDIwRTE2MworOjEwMjg5MDAwMDdFNTZEMjBFMDAyODA3N0U1NkQzMEUwMDZFNTQ5NjBGMAorOjEwMjhBMDAwMDI4MDZDRTU0OTcwMEY5MEZGODJFMDU0RjdGMDkwRkZEMgorOjEwMjhCMDAwODBFMDU0RjdGMDIyRTU0OUI0MDEwMjgwMDNEMzQwMDlENworOjEwMjhDMDAwN0QwMTdDMDMxMjBGMDk4MDExQjQwMjAyODAwM0QzNDAwMgorOjEwMjhEMDAwMDk3RDAxN0MwNDEyMEYwOTgwMDAxNTQ5MzAwMjE1RTVCRAorOjEwMjhFMDAwNDk3NUYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4M0UwNTRFOAorOjEwMjhGMDAwRjdGMDgwMTNFNTQ5NzVGMDA4QTQyNDA4RjU4MkU0MzQ2NAorOjEwMjkwMDAwRkZGNTgzRTA1NEY3RjA3QzAwMTIzMDI0MjI4MDAwMDJBRgorOjEwMjkxMDAwMkM2QUU1NkQyMEU3MDZFNTcyNDU3MTYwMDMwMjJDNkFCQQorOjEwMjkyMDAwOTBGRjAwRTA1NDFGQjQwMDAyODAwM0QzNDAxQUU1NEMyRQorOjEwMjkzMDAwMTQ0NTRCNzAwNEU1NEE2MDAzMDIyOUVGNzhBREU2NDQ4NAorOjEwMjk0MDAwMDFGNjdDMDAxMjMwMjQyMkI0MDEwMjgwMDNEMzQwMjkxNgorOjEwMjk1MDAwRTU2RDIwRTEwOEU1NkQyMEUwMDMwMjI5RUZFNTZEMzAyQgorOjEwMjk2MDAwRTAwNEU1NDk3MDBCRTU2RDMwRTEwOEU1NDkyNEZFNTBDRgorOjEwMjk3MDAwMDI4MDdGN0MwMDEyMzAyNDIyQjQwMjAyODAwM0QzNDAwNAorOjEwMjk4MDAwNkZFNTRDNDU0QjYwMDI4MDY5QUM0QTEyMzBBQjQwMDJBNworOjEwMjk5MDAwODA2MEU1NkQyMEUxMDdFNTZEMjBFMDAyODA1NEU1NDlBNworOjEwMjlBMDAwNzAxNDMwMDIwOTkwRkY4MEUwNDQwOEYwODAwNzkwRkYyNworOjEwMjlCMDAwODJFMDQ0MDhGMDIyRTU2RDMwRTEzMzE1NDkzMDAyMTUxQworOjEwMjlDMDAwRTU0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzRTA3NgorOjEwMjlEMDAwNDQwOEYwODAxM0U1NDk3NUYwMDhBNDI0MDhGNTgyRTQ2MgorOjEwMjlFMDAwMzRGRkY1ODNFMDQ0MDhGMDdDMDAxMjMwMjQyMjgwMDI5QQorOjEwMjlGMDAwODAwMDAyMkM2QUU1NkQyMEU3MTJFNTcyNDU3MTcwMENDQgorOjEwMkEwMDAwRTU0QTcwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzZBRTU1RAorOjEwMkExMDAwNEM5MEZGRkZGMDkwRkZGRkUwNjAwNTQzNkQwMTgwMDNFNQorOjEwMkEyMDAwNTM2REZFN0MwMDEyMzAyNDIyRTU2RDMwRTcwRUU1NzIxNgorOjEwMkEzMDAwNDU3MTYwMDg5MEZGMDBFMDU0MUY2MDAzMDIyQzZBQURFRQorOjEwMkE0MDAwNEJFNTRDRUQ3RDAwRkM3RDAwRkNCRDAwMDI4MDAzMDJFNworOjEwMkE1MDAwMkI4OEI0MDEwMjgwMDNEMzQwMzJFNTRBNzAwNUU1NEM2RgorOjEwMkE2MDAwRkM2MDAzMDIyQjhBNzU2QTQwNzU2OUY4NzU2ODAxRDNBQQorOjEwMkE3MDAwRTU3Mjk0MTJFNTcxOTQwMDQwMDZFNEZEN0MxMjgwMDQzNgorOjEwMkE4MDAwQUM3MkFENzE4QzcwOEQ2RjEyMzAzOTIyQjQwMjAyODAzRAorOjEwMkE5MDAwMDNEMzQwNTlFNTRBNjAwMzAyMkI4QUU1NENGQzcwMjdCQQorOjEwMkFBMDAwNzU2QTUyNzU2OUY4NzU2ODAxRDNFNTcyOTQxOUU1NzExNAorOjEwMkFCMDAwOTQwMDQwMDZFNEZEN0MxOTgwMDRBQzcyQUQ3MThDNzAwQQorOjEwMkFDMDAwOEQ2RjEyMzAzOTgwMjU3NTZBNkI3NTY5Rjg3NTY4MDFFQworOjEwMkFEMDAwRDNFNTcyOTQyN0U1NzE5NDAwNDAwNkU0RkQ3QzI3ODBERAorOjEwMkFFMDAwMDRBQzcyQUQ3MThDNzA4RDZGMTIzMDM5MjJCNDAzMDI1OAorOjEwMkFGMDAwODAwNkQzNTAwMzAyMkI4OEU1NENGNTQ5NzAwRjkwRkZGOAorOjEwMkIwMDAwMDRFMEZEQTNFMDRENjAwMzAyMkI4QTgwMTg5MEZCMDJENQorOjEwMkIxMDAwRTBGREEzRTBGQzkwRkYwNUUwNkM3MDA3OTBGRjA0RTA4RgorOjEwMkIyMDAwNkQ2MDAyODA2OEU0RjU3MEY1NkY3RjAwRTU0OTE0QzVCQgorOjEwMkIzMDAwNDk2MDBGRUYyNDAwRjU4MkU0MzRGQkY1ODNFMDJGRkZCQQorOjEwMkI0MDAwODBFQThGNEFFNTRBMjQwMEY1ODJFNDM0RkJGNTgzRTAwRAorOjEwMkI1MDAwN0QwMEQzOTU3MkVEOTU3MTQwMDZBQzcyQUQ3MTgwMEYxQQorOjEwMkI2MDAwRTU0QTI0MDBGNTgyRTQzNEZCRjU4M0UwN0QwMEZDOEMyQgorOjEwMkI3MDAwNzA4RDZGRTU0QTI0MDBGQ0U0MzRGQkZERkVFQ0ZEN0YyNAorOjEwMkI4MDAwMDE4RDZBOEU2OThGNjgxMjMwMzkyMjgwMDAwMjJDNkFBQQorOjEwMkI5MDAwMDIyQzZBRTU2RDMwRTcxOUU1NzIxNDQ1NzE3MDEyRTU5MworOjEwMkJBMDAwNEE3MDBFRTU0QzQ1NEI3MDA4OTBGRjAwRTA1NDFGNjBFMgorOjEwMkJCMDAwMDMwMjJDNkFFNTZEMjBFMDA4RTU2RDIwRTEwMzAyMkM5QworOjEwMkJDMDAwNkE3NTZBNkVFNEY1NjlGNTY4RTRGNTZGMDRGNTcwMTJFQworOjEwMkJEMDAwMzAzOTIyRTU2RDIwRTcxMkU1NzI0NTcxNzAwQ0U1NEE0NworOjEwMkJFMDAwNzAwODkwRkYwMEUwNTQxRjYwMDMwMjJDNkFFNTZEMjAxRQorOjEwMkJGMDAwRTAwN0U1NkQyMEUxMDI4MDc0ODU0QzZFRTU2RTcwMDg5QgorOjEwMkMwMDAwNDM2RDAxNTM2REZEODAwNjUzNkRGRTQzNkQwMjdDMDBFNAorOjEwMkMxMDAwMTIzMDI0MjJFNTZEMzBFNzFBRTU3MjE0NDU3MTcwMTMwNQorOjEwMkMyMDAwRTU0QTcwMEZFNTRDNDU0QjcwMDk5MEZGMDBFMDU0MUZEQQorOjEwMkMzMDAwMTQ2MDAyODAzOEU1NkQyMEUxMDI4MDMxN0MwMTEyMzBBMQorOjEwMkM0MDAwMjQyMkU1NkQyMEU3MTVFNTcyNDU3MTcwMEZFNTRDNDVDRQorOjEwMkM1MDAwNEI3MDA5OTBGRjAwRTA1NDFGMTQ2MDAyODAwRkU1NkQ3NworOjEwMkM2MDAwMjBFMTAyODAwODdDMDAxMjMwMjQyMjgwMDAwMjJGMkJGOQorOjEwMkM3MDAwQjQ0MDAyODAwNkQzNTAwMzAyMkYyMTkwRkYwMUUwOTA2MAorOjEwMkM4MDAwRkMzNUYwRTU0QTkwRkMzNkYwRTQ5MEZDMzdGMEU1NkE1QworOjEwMkM5MDAwMjQwM0Y1NkFFNTY5MzQwMEY1NjlBRDRCRTU0Qzg1NkFCNgorOjEwMkNBMDAwODI4NTY5ODNDREYwQTNDREYwOTBGRjAxRTAxMjAxQjdEQQorOjEwMkNCMDAwMkNEODAxMkNGRTAyMkQyODAzMkQ1MjA0MkRBMDA1MkQwOQorOjEwMkNDMDAwREQwNjJFMDMwNzJFMjkwODJFNTUwOTJFN0IwQjJFQTE3QgorOjEwMkNEMDAwMEMyRUIwODAyRUIwODEwMDAwMkYwRUU1NkQyMEU3MDY4RgorOjEwMkNFMDAwN0MwNTEyMjVCRjIyN0QyNDdFMzU3RjAyNzkzODdBRkM0RgorOjEwMkNGMDAwN0IwMTc0MDg3ODAwMTIwMzNGN0QwODdDMDAxMjI1MjZCMgorOjEwMkQwMDAwMjJFNTZEMjBFNzA2N0MwNTEyMjVCRjIyRTU0QUI0MDNDMworOjEwMkQxMDAwMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzEwMTIwNQorOjEwMkQyMDAwMzFGQjIyN0QwMDdDMDcxMjI1MjYyMkU1NkQyMEU3MDY3NworOjEwMkQzMDAwN0MwNTEyMjVCRjIyRTU0QUI0MDMwMDQwMTBCNDA1MDAwQgorOjEwMkQ0MDAwNTAwQkU1NEE3RjAwRkU3QzExMTIzMUZCMjI3RDAwN0M5NgorOjEwMkQ1MDAwMDcxMjI1MjYyMkU1NkQyMEU3MDY3QzA1MTIyNUJGMjJGNQorOjEwMkQ2MDAwRTU0QUI0MDUwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMEE2RQorOjEwMkQ3MDAwMTIzMUZCMjJCNDAxMDI4MDAzRDM0MDBBRTRGRjA0RkVCNworOjEwMkQ4MDAwN0MwODEyMzFGQjIyQjQwMzAwNDAxMEI0MDUwMDUwMEI0NAorOjEwMkQ5MDAwRTU0QTdGMDBGRTdDMTMxMjMxRkIyMjdEMDA3QzA3MTI4NgorOjEwMkRBMDAwMjUyNjIyRTU2RDIwRTczNEQzRTU3Mjk0NDhFNTcxOTQzOQorOjEwMkRCMDAwMDA1MDA2RTU3MjQ1NzE3MDA2N0MwMjEyMjVCRjIyRTVCRgorOjEwMkRDMDAwNEFCNDAxMDNCMzQwMEJDM0I0MDMwMDQwMDlCNDA2MDA4NgorOjEwMkREMDAwNTAwNDEyMzBEMTIyN0MwNzEyMjVCRjIyMTIyNTVEMjIxOQorOjEwMkRFMDAwRTU2RDIwRTcxREU1NEFCNDAzMDA0MDEwQjQwNTAwNTAyRQorOjEwMkRGMDAwMEJFNTRBN0YwMEZFN0MxNjEyMzFGQjIyN0MwNzEyMjU3MAorOjEwMkUwMDAwQkYyMjEyMjU1RDIyRTU2RDIwRTcxREU1NEFCNDAzMDBDRgorOjEwMkUxMDAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxOTEyMzFDQQorOjEwMkUyMDAwRkIyMjdDMDcxMjI1QkYyMjEyMjU1RDIyRTU2RDIwRTdEQgorOjEwMkUzMDAwMjM3NDgxOTBGRjkzRjBFNTRBQjQwMzAwNDAxMEI0MDU3OQorOjEwMkU0MDAwMDA1MDBCRTU0QTdGMDBGRTdDMTcxMjMxRkIyMjdDMDcwNQorOjEwMkU1MDAwMTIyNUJGMjIxMjI1NUQyMkU1NkQyMEU3MURFNTRBQjQ0QgorOjEwMkU2MDAwMDMwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMThCQgorOjEwMkU3MDAwMTIzMUZCMjI3QzA3MTIyNUJGMjIxMjI1NUQyMkU1NkQ0RgorOjEwMkU4MDAwMjBFNzFERTU0QUI0MDMwMDQwMTBCNDA1MDA1MDBCRTVFRgorOjEwMkU5MDAwNEE3RjAwRkU3QzE1MTIzMUZCMjI3QzA3MTIyNUJGMjJERgorOjEwMkVBMDAwMTIyNTVEMjJFNTZEMjBFNzA2N0MwNzEyMjVCRjIyMTI2MAorOjEwMkVCMDAwMjU1RDIyRTU2RDMwRTcyMDkwRkYwMEUwNTQxRjcwMTA4MworOjEwMkVDMDAwOTBGRjAxRTBCNDgwMDUxMjI1NTQ4MDAzMTIyNTVEMjI5NQorOjEwMkVEMDAwN0QwMDdDMDUxMjI1MjYyMjkwRkYwMEUwNTQxRjYwMDYyRAorOjEwMkVFMDAwN0MwNTEyMjVCRjIyRDNFNTcyOTQ0OEU1NzE5NDAwNTAwOQorOjEwMkVGMDAwMEJDM0U1NzI5NDA3RTU3MTk0MDA1MDA2N0MwMzEyMjUxQworOjEwMkYwMDAwQkYyMkU1NEFCNDA1MDQxMjMwRDEyMjdDMDcxMjI1QkY0NgorOjEwMkYxMDAwMjJFNTZEMzBFNzA4N0QwMDdDMDUxMjI1MjYyMjdDMDUyMAorOjEwMkYyMDAwMTIyNUJGMjJCNDIwMDI4MDAzRDM0MDAwODAwMDEyMkY1QworOjEwMkYzMDAwRkYyMjc1NDMwMDkwRkY4M0UwNTQwRkQzOTU0MzQwMjQ1NAorOjEwMkY0MDAwRTU0MzI0RjBGNTgyRTQzNEZFRjU4M0UwQUQ2QUFFNjkzMgorOjEwMkY1MDAwQUY2ODEyMDMwRjA1NDMwREVENzAwMTBFOEQ2QThFNjk4NworOjEwMkY2MDAwOEY2ODgwRDFFNTQzN0QwMEZDQzNFNTcwOUNGNTcwRTU3QQorOjEwMkY3MDAwNkY5REY1NkZFNTcwNDU2RjYwMDZFNDkwRkY4M0YwMjI2QQorOjEwMkY4MDAwOTBGRjgyRTA0NDA4RjBFNEY1NkY3NTcwNDk5MEZDMzVERAorOjEwMkY5MDAwRTBCNDA1MDI4MDAzRDM0MDQwOTBGQzM2RTBGNTQzQjQzMgorOjEwMkZBMDAwMDUwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMEIxMjMxRkJEMAorOjEwMkZCMDAwMjJCNDAxMDI4MDAzRDM0MDBBRTRGRjA0RkU3QzA5MTIxQworOjEwMkZDMDAwMzFGQjIyQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTQzN0ZGMQorOjEwMkZEMDAwMDBGRTdDMTQxMjMxRkIyMjIyQjQ4MDAwNDAyM0I0ODIxNAorOjEwMkZFMDAwMDA1MDFFN0MzNTdERkMxMjE3N0U3RDAwOEM2QzhENkIzNQorOjEwMkZGMDAwOTBGQzM3RTA2MDA1MTIyRkZGODAwNTdDMDAxMjMwMjQyMgorOjEwMzAwMDAwMjIyMjkwRkY4M0UwNTQ3RkYwOTBGRjgyRTA0NDA4RjA5QQorOjEwMzAxMDAwOTBGRjgwRTA0NDA4RjAyMjkwRkY4MkUwNDQwOEYwOTBBNgorOjEwMzAyMDAwRkY4MEUwNDQwOEYwMjI4QzIzN0QwMDhDNzA4RDZGNzU0QQorOjEwMzAzMDAwNkEzNTc1NjlGQzc1NjgwMTEyMzAzOTIyOTBGRjgzRTBBQQorOjEwMzA0MDAwNTQ3RkYwRTU3MDY0NDk0NTZGNzAwMTIyQzNFNTcwOTRDOAorOjEwMzA1MDAwMDhFNTZGOTQwMDQwMTU3NTIxMDhFNTIxN0QwMEZDQzM0QgorOjEwMzA2MDAwRTU3MDlDRjU3MEU1NkY5REY1NkY4MDA5ODU3MDIxRTQzMgorOjEwMzA3MDAwRjU2Rjc1NzA0OTc1MjIwMEU1MjJDMzk1MjE1MDI2QUQ4NAorOjEwMzA4MDAwNkFBRTY5QUY2ODEyMDFFNkZDRTUyMjI0RjhGNTgyRTQzNQorOjEwMzA5MDAwMzRGRUY1ODNFQ0YwMDUyMjBERUQ3MDAxMEU4RDZBOEU4NQorOjEwMzBBMDAwNjk4RjY4ODBEM0U1MjE1NDdGOTBGRjgxRjAyMjhDNDg5RQorOjEwMzBCMDAwN0YwMEVGMjRGRDQwMTlFNEVGNzVGMDA3QTQyNDdGRjVBRAorOjEwMzBDMDAwODJFNDM0RjhGNTgzRTA2NTQ4NzAwMkQzMjIwRjgwRTI5MQorOjEwMzBEMDAwOEY0N0MzMjI4NTcyNzA4NTcxNkY5MEZGODJFMDU0RjcyRAorOjEwMzBFMDAwRjA5MEZGODNFMDU0N0ZGMDIyQzAwMEMwMDFDMDAyQzAxNgorOjEwMzBGMDAwMDZDMDA3RTU3ODI0MDhGODg2MDY1MzA2N0Y3Q0ZGMTI5MQorOjEwMzEwMDAwMzE1QjdDMDA3RDAwRTU3QjYwNDZGRjkwRkQ5NUUwNTRERgorOjEwMzExMDAwN0Y2RTcwMEZDMDgzQzA4MkEzRTBGREEzRTBGQ0EzMTUwNworOjEwMzEyMDAwN0I4MDA3QTNBM0EzREZFNjgwMjZERjA2RDA4MkQwODNCRgorOjEwMzEzMDAwODAxRUUwRjhBM0UwRjlBM0UwRkFEMDgyRDA4M0U4RjBBMworOjEwMzE0MDAwQTNFOUYwQTNFQUYwQTNDMDgzQzA4MkEzQTNBMzgwREExQgorOjEwMzE1MDAwMTIzMUY0RDAwN0QwMDZEMDAyRDAwMUQwMDAyMjg1QThDOQorOjEwMzE2MDAwN0E3NUE4ODhFQzcwMDI3QzNGOEM3OTIyRTU3ODI0MDg3NworOjEwMzE3MDAwRjg3NjAwMTIzMjQ4ODBGQkMwMDBDMDAxQzAwMkMwMDZEMQorOjEwMzE4MDAwQzAwN0FFMDQ3Q0ZGMTIzMTVCRTU3QjYwNDJGRjkwRkQxRgorOjEwMzE5MDAwOTVFMDU0N0Y2RTcwMEJDMDgzQzA4MkEzQTNBMzE1N0IwMAorOjEwMzFBMDAwODAwN0EzQTNBM0RGRUE4MDI2REYwNkQwODJEMDgzODAzNgorOjEwMzFCMDAwRDhFMEY4QTNFMEY5QTNFMEZBRDA4MkQwODNFOEYwQTM0NgorOjEwMzFDMDAwRTlGMEEzRUFGMEEzQzA4M0MwODJBM0EzQTM4MERBNzhDNgorOjEwMzFEMDAwMDgwODc5MTgwOTdDMDFFNjU0N0Y2RTcwMDY3NjAwNzczRQorOjEwMzFFMDAwMDA4MDA2MDgwOTBDQkMwOEVFMTIzMUY0RDAwN0QwMDZBNgorOjEwMzFGMDAwRDAwMkQwMDFEMDAwMjI3NTc5MDA4NTdBQTgyMkMwRjBEMworOjEwMzIwMDAwQzA4MkMwODNDM0U1N0IyNEU4NTAwNTEyMzI0ODgwRjRCNQorOjEwMzIxMDAwRUM2MDMxOTAzNTIzRTQ5M0MzOUM0MDI4QzAwNDdDRkZDQworOjEwMzIyMDAwMTIzMTVCRDAwNDQzMDQ4MEU1N0I3NUYwMDNBNDI0OTU0MAorOjEwMzIzMDAwRjU4MkU0MzRGREY1ODNFQ0YwRUZBM0YwRUVBM0YwMDVBNgorOjEwMzI0MDAwN0IxMjMxRjREMDgzRDA4MkQwRjAyMkMwMDQ3QzIwRDIxMworOjEwMzI1MDAwOENEMjhERDUwNEZERDAwNDIyNzVBODAwNzU4ODAwNzUyOAorOjEwMzI2MDAwQjgwMDc1RjAwMDc1RDAwMEU0Rjg5MDAwMDBGNjA4QjhEQQorOjEwMzI3MDAwMDBGQjAyMDAwMEMzRUQ5NDAyNTAwNDdEMDM3Q0U4RUNFNworOjEwMzI4MDAwRjRGQ0VERjRGRDBDQkMwMDAxMEQ4QzdGOEQ3RTIyQzM5RgorOjEwMzI5MDAwRUM5NEJDRUQ5NDAyNTAwNDdEMDc3Q0QwRUNGNEZDRUQ4MgorOjEwMzJBMDAwRjRGRDBDQkMwMDAxMEQ4QzdEOEQ3QzIyRUM3MDAxMjJBNAorOjEwMzJCMDAwQzAwMEU1NzgyNDE4RjhBNjA0RTU3ODI0MDhGOEM2NTQ3OAorOjEwMzJDMDAwN0ZGNkU2MzBFNzAzRDAwMDIyMTIzMjQ4ODBGNEMyOEM0OQorOjEwMzJEMDAwODU3QzhDODU3RDhBRDI4Q0MwRTBDMEQwQzBGMEMwODI1NQorOjEwMzJFMDAwQzA4M0MwMDBDMDAxQzAwMkMwMDNDMDA0QzAwNUMwMDY0NgorOjEwMzJGMDAwQzAwNzEyMUFEMUU1NzgyNDA4RjhFNjYwMjRFNTc4MjQ5RQorOjEwMzMwMDAwMTBGOEE2ODFFNTc4NzVGMDIxQTQyNDhERjU4MkU0MzRDNworOjEwMzMxMDAwRkNGNTgzNzhBRUU1ODEwNEMzOThGOUU2RjAwOEEzRDlGQgorOjEwMzMyMDAwRkE3NDA4MjU3OEY4MDU3ODA4RTY1NDgwNzAwQ0U1Nzg3QQorOjEwMzMzMDAwQjQwN0YzNzgwODc1NzgwMDgwRUZFNTc4MjQxMEY4ODZGNAorOjEwMzM0MDAwODFFNTc4NzVGMDIxQTQyNDhERjU4MkU0MzRGQ0Y1ODNDMQorOjEwMzM1MDAwNzhBRUU1ODEwNEMzOThGOUUwRjYwOEEzRDlGQUQwMDc1RQorOjEwMzM2MDAwRDAwNkQwMDVEMDA0RDAwM0QwMDJEMDAxRDAwMEQwODM0NQorOjEwMzM3MDAwRDA4MkQwRjBEMEQwRDBFMDMyQzBFMEMwRDBDMDAwQzAwOQorOjEwMzM4MDAwMDFDMDAyQzI4RTg1N0U4RDg1N0Y4QkQyOEU3ODE5NzlBMQorOjEwMzM5MDAwMDk3QTA3RTc3MDA0QTYwMDgwMEJFNjYwMDgxNkU2NzA1RAorOjEwMzNBMDAwMDRFNzQ0ODBGNzA4MDlEQUVBRTU3OTYwMTMxNEY1Nzk0RgorOjEwMzNCMDAwNzAwRUU1NzgyNDA4Rjg3NjAwMTIzMUY0RDI4Q0QyOERBNAorOjEwMzNDMDAwRDAwMkQwMDFEMDAwRDBEMEQwRTAzMjc1ODFBRDc0MkFDNworOjEwMzNEMDAwOTBGRjkzRjA3NTdGMzA3NTdFRjg3NTdENjA3NTdDRjA5OQorOjEwMzNFMDAwMTIwNTM2MTIzNDdDMTIxNzM0OTBGRjkzRTA0NDAxRjAzQQorOjEwMzNGMDAwQjJCMzEyMzRBNjEyMzI1NjgwREEyMkMwMDA3QzAxRUMzRAorOjEwMzQwMDAwMjQwOEY4RTY2MDA5MENCQzA4RjUxMjMyNDg4MEVFRDBCQQorOjEwMzQxMDAwMDAyMkMwRjBDMDgyQzA4M0MwMDBDMDA2QzAwN0VEMjRGNworOjEwMzQyMDAwMTBGODc2QkNFRDc1RjAyMUE0MjQ4REY1ODJFNDM0RkMwRgorOjEwMzQzMDAwRjU4M0MwODJDMDgzQTNBM0U0NzgwREYwQTNEOEZDRUM4RAorOjEwMzQ0MDAwNTQ3Rjc1RjAwMkE0MjRFRkY1ODJFNUYwMzQzNEY1ODM1RgorOjEwMzQ1MDAwRTQ5M0ZFNzQwMTkzRjU4MjhFODNFNDkzRkU3NDAxOTNFQQorOjEwMzQ2MDAwRkZEMDgzRDA4MkVGRjBBM0VFRjBFRDI0MDhGOEVDNDQxNworOjEwMzQ3MDAwODBGNkQwMDdEMDA2RDAwMEQwODNEMDgyRDBGMDIyNzU1RAorOjEwMzQ4MDAwNzgwMDc1N0IwMDdBMDg3OTE4NzgwODc2MDA3NzAwMDg0QworOjEwMzQ5MDAwMDlEQUY4RTQ3ODA4NzQ4MDQ0N0ZGNjc0MDE0NDEwRjU4MgorOjEwMzRBMDAwODk3NUI4MDhEMkFCRDJBOTIyNzU4MUFERDI4RUQyOENFMworOjEwMzRCMDAwRDJBRkU1N0I2MDMyRkY5MEZEOTVFMDU0ODA2MDI0NzhDOAorOjEwMzRDMDAwMDg3OTA4RTA1NDdGRkE3QjAwRTY1NDdGQjUwMjAyN0I1RQorOjEwMzREMDAwRkYwOEQ5RjVFQjcwMENFQUYwMTIzM0Y4QUQwNEFDMDIzQQorOjEwMzRFMDAwMTIzNDBGQTNBM0EzREZEMjEyMzI0ODgwQzU3QzAxN0QyMgorOjEwMzRGMDAwMDAyMjA0RjUwNEU5MDRFRDA0RTEwNEREMDREOTA0RTU0NworOjEwMzUwMDAwMDRGMTA0OUQwNEExMDRDRDA0RDEwNDk5MDQ5OTA0OTkwMworOjEwMzUxMDAwMDRENTA0QjUwNEFEMDRCMTA0QTkwNEMxMDRCRDA0QjlDMworOjEwMzUyMDAwMDRDNTA0QzkwNEE1MTkwMTAzMDAyMjAwNDgwMjAwNDg4QgorOjEwMzUzMDAwMEUzMDE0MjBDODFBRDAxODBBMEMwNTA2MDIwMzAxMDIyNgorOjEwMzU0MDAwMDAwMUNFMDE4MTAxMDAwMEMwMDA4MDAwNjAwMDMwMDA1OQorOjEwMzU1MDAwMTgwMDEwMDAwODAwMDQwMDAyMDAwMTAwMDgxODM4MjhCNAorOjEwMzU2MDAwMEMwNTEwMEEwMjAwMDAwMDAwMDAwMzAxMTAwQTAyMDAwRQorOjEwMzU3MDAwMDAwMDAwMDBGQkUwRkJGMjA5MDIyNzAwMDEwMjAwQTBBRQorOjEwMzU4MDAwMzIwOTA0MDAwMDAzRkYwMDAwMDAwNzA1ODEwMjQwMDAyQgorOjEwMzU5MDAwMDAwNzA1MDEwMjQwMDAwMDA3MDU4MzAzMDIwMDAxMjIyNQorOjEwMzVBMDAwMDM1NDAwNTUwMDUzMDA0MjAwMzMwMDM0MDAzMTAwMzAxMgorOjEwMzVCMDAwMDAyMDAwMjAwMDIwMDAyMDAwMjAwMDIwMDAyMDAwMjAwQgorOjA1MzVDMDAwMDAwMDAwMDAwMDA2Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdGlfNTA1Mi5mdy5paGV4IGIvZmlybXdhcmUvdGlfNTA1Mi5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MjllMDcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS90aV81MDUyLmZ3LmloZXgKQEAgLTAsMCArMSw4NjIgQEAKKzoxMDAwMDAwMEMxMzUwMDAyMDAxRTAyMUIzMkZGRkZGRkZGRkYwMjMyNUMKKzoxMDAwMTAwMDZBRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkYwMjMzNEUKKzoxMDAwMjAwMDE1NzU4MUM4OTBGRUYwODU4M0EwMTIzNDdERUM0RDYwN0IKKzoxMDAwMzAwMDZBNzhBNTgwMDM3NjAwMThCODk2RkE3ODc5ODAwMzc2RjYKKzoxMDAwNDAwMDAwMThCODVGRkE3ODIwODAwMzc2MDAxOEI4MjBGQTkwN0MKKzoxMDAwNTAwMEZFRTVBRTgzQUY4MjkwRkQwMDEyMDBBMTYwMDVFNEYwRTIKKzoxMDAwNjAwMEEzODBGNjkwRkVGMEE4ODI5MEZFRjBBOTgyRThDMzk5RTIKKzoxMDAwNzAwMDUwMDU3NjAwMDg4MEY2OTAwMEZGMTIwMEFBOTAwMTAzNTgKKzoxMDAwODAwMDEyMDBBQTkwMDEwNzEyMDBBQTkwMDEwQjEyMDBDODkwNUEKKzoxMDAwOTAwMDAxMTExMjAwQzg5MDAxMTcxMjAwQzg3NUQwMDAxMjMzNjgKKzoxMDAwQTAwMDY3MDIwMTFERUY2NTgyNzAwM0VFNjU4MzIyRTQ5M0Y4MTkKKzoxMDAwQjAwMDc0MDE5M0Y5NzQwMjkzRkU3NDAzOTNGNTgyOEU4M0U4QkUKKzoxMDAwQzAwMDY5NzAwMTIyRTQ5M0Y2QTMwODgwRjRFNDkzRkM3NDAxQzAKKzoxMDAwRDAwMDkzRkQ3NDAyOTNGRTc0MDM5M0ZGNzQwNDkzRjg3NDA1MDQKKzoxMDAwRTAwMDkzRjU4Mjg4ODMxMjAwQTE3MDAxMjJFNDkzQTNBODgzNzAKKzoxMDAwRjAwMEE5ODI4QzgzOEQ4MkYwQTNBQzgzQUQ4Mjg4ODM4OTgyQjAKKzoxMDAxMDAwMDgwRTMyMTIxMDQ5MjdBN0EwNDkyQTZBODA0OTJGRUYwNTgKKzoxMDAxMTAwMDA0OTQwNDk0RkJGQjA0OTkwNDk0RkJGQjA0RjkwNEY5OTQKKzoxMDAxMjAwMDgwRkVEMEYwMzBGMDA5MjBGMzAzRjY4MDEwRjc4MDBENDgKKzoxMDAxMzAwMDMwRjEwOTIwRjMwM0YyODAwNEYzODAwMUYwMjBGNDA0OEQKKzoxMDAxNDAwMEZDRDBFMENDMjJDQ0MwRTAxMjAxNUEwMjAxNEJCQzAwMzIKKzoxMDAxNTAwMDA1RDBGMEFDRjAyMkMzMTNEQ0ZDMDIwMTIxQkYwMDA5ODIKKzoxMDAxNjAwMEVEMjU4Mjc1RjAwMUY4RTYyMkJGMDEwRkVEMjU4MkY1M0QKKzoxMDAxNzAwMDgyRUUzNTgzRjU4Mzc1RjAwNEUwMjJFRDI1ODI3NUYwN0IKKzoxMDAxODAwMDAyRjhFMjIyRDA4M0QwODJGNUYwQzNFNDkzQTNDNUYwNTUKKzoxMDAxOTAwMDk1RjBDMEUwQzNEMEYwRTQ5M0EzOTVGMDQwMTJBM0EzODAKKzoxMDAxQTAwMEMzRTVGMDMzNTAwMjA1ODMyNTgyRjU4MjUwMDIwNTgzQjIKKzoxMDAxQjAwMDc0MDE5M0MwRTBFNDkzQzBFMDIyRDA4M0QwODJGNUYwRDQKKzoxMDAxQzAwMEU0OTM3MDA5NzQwMTkzNzAwNEEzQTM4MDBDNzQwMjkzRTgKKzoxMDAxRDAwMDY1RjA2MDA1QTNBM0EzODBFNzc0MDE5M0MwRTBFNDkzRjYKKzoxMDAxRTAwMEMwRTAyMjEyMDI1QjAyMDFGMjEyMDJBRjAyMDFGMjEyMUYKKzoxMDAxRjAwMDAyRDMwMjAxRjIzMEUwMDcyMEUzMDJFNjIyRTcyMjMwRDgKKzoxMDAyMDAwMEUxMDcyMEUzMDJFMjIyRTMyMjMwRTIwMkUwMjJFNDkzNkIKKzoxMDAyMTAwMDIyMTIwMkQzMDIwMjFBMTIwMkFGMDIwMjFBQUJGMDEyMjkKKzoxMDAyMjAwMDAyMjRDQkM1RjBDQjIyMzBFMDEwMjBFMzA2RTZGNUYwNDcKKzoxMDAyMzAwMDA4RTYyMkU3RjVGMDA5RTcxOTIyMzBFMTEwMjBFMzA2OEQKKzoxMDAyNDAwMEUyRjVGMDA4RTIyMkUzRjVGMDA5RTMxOTIyMzBFMjA2RDQKKzoxMDAyNTAwMEUwRjVGMEEzRTAyMkU0OTNGNUYwNzQwMTkzMjJCQjAwRjMKKzoxMDAyNjAwMDAzNzQwOTIyQkIwMTA3ODk4MjhBODM3NDA0MjJCQjAyQkEKKzoxMDAyNzAwMDA3ODk4MjhBODM3NDEwMjI3NDBBMjIwMjAyN0JCQjAwREYKKzoxMDAyODAwMDA3RTkyNTgyRjg3NDAxMjJCQjAxMERFOTI1ODJGNTgyNzgKKzoxMDAyOTAwMEVBMzU4M0Y1ODM3NDA0MjJCQjAyMERFOTI1ODJGNTgyRDkKKzoxMDAyQTAwMEVBMzU4M0Y1ODM3NDEwMjJFOTI1ODJGODc0MDIyMjAyNkMKKzoxMDAyQjAwMDAyQUZCRjAwMDVFREY4NzQwMTIyQkYwMTA3OEQ4MjhFRTkKKzoxMDAyQzAwMDgzNzQwNDIyQkYwMjA3OEQ4MjhFODM3NDEwMjJFREY4OUUKKzoxMDAyRDAwMDc0MDIyMjAyMDJEM0JGMDAwN0VEMjU4MkY4NzQwMTIyQzYKKzoxMDAyRTAwMEJGMDEwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQwNDIyN0UKKzoxMDAyRjAwMEJGMDIwREVEMjU4MkY1ODJFRTM1ODNGNTgzNzQxMDIyNjEKKzoxMDAzMDAwMEVEMjU4MkY4NzQwMjIyMDIwMzA3QzBFMDEyMDI1QjAyQUMKKzoxMDAzMTAwMDAzMUZDMEUwMTIwMkFGMDIwMzFGQzBFMDEyMDJEMzAyQUIKKzoxMDAzMjAwMDAzMUYzMEUwMEIyMEUzMDREMEUwRjYyMkQwRTBGNzIyRjgKKzoxMDAzMzAwMDMwRTEwQjIwRTMwNEQwRTBGMjIyRDBFMEYzMjJEMEUwNjEKKzoxMDAzNDAwMEYwMjJDOUNEQzlDQUNFQ0FDQkNGQ0IxMjAzNTJFREY5MjgKKzoxMDAzNTAwMEVFRkFFRkZCMjJCQjAwMkZCRjAwMEFGQUVERjhFN0Y2M0EKKzoxMDAzNjAwMDA4MDlEQUZBMjJCRjAxMTI4RDgyOEU4M0Y4MDIwMzZGMjgKKzoxMDAzNzAwMDA5QTNFN0YwRDhGQTIyMDIwMzdBRkFFREY4RTdGMjA4QzcKKzoxMDAzODAwMDA5REFGQTIyMDIwMzg0QkIwMTREQkYwMDE0ODk4MjhBNzQKKzoxMDAzOTAwMDgzRjlFREY4MDIwMzk2MDhBM0UwRjZEOUZBMjIwMjAzRTYKKzoxMDAzQTAwMEE3QkYwMTIyOEQ4MjhFODNGQjA4QzlDNTgyQzlDQUM1MzkKKzoxMDAzQjAwMDgzQ0FFMEEzQzlDNTgyQzlDQUM1ODNDQUYwQTNEQkVBNjAKKzoxMDAzQzAwMEQ4RTgyMjAyMDNDQThEODI4RTgzRjlFREY4RTBGMjA4QTQKKzoxMDAzRDAwMEEzRDlGQTIyMDIwM0Q0QkIwMjREQkYwMDEyODk4MjhBM0MKKzoxMDAzRTAwMDgzRjlFREY4MDIwM0U2MDhBM0U0OTNGNkQ5RjkyMkJGRjYKKzoxMDAzRjAwMDAxMjM4RDgyOEU4M0ZCMDhDOUM1ODJDOUNBQzU4M0NBMDEKKzoxMDA0MDAwMEU0OTNBM0M5QzU4MkM5Q0FDNTgzQ0FGMEEzREJFOUQ4RUUKKzoxMDA0MTAwMEU3MjIwMjA0MTk4OTgyOEE4M0Y5RURGOEU0OTNGMjA4NEQKKzoxMDA0MjAwMEEzRDlGOTIyMDIwNDJBQkYwMDBERkFFREY4RTNGNjA4NzkKKzoxMDA0MzAwMDA5REFGQTIyMDIwNDM0QkYwMTEyOEQ4MjhFODNGODAyOTcKKzoxMDA0NDAwMDA0NDEwOUEzRTNGMEQ4RkEyMjAyMDQ0Q0ZBRURGOEUzRTAKKzoxMDA0NTAwMEYyMDgwOURBRkEyMjAyMDQ1NkU2RkIwOEU2RkEwOEU2OTAKKzoxMDA0NjAwMEY5MDRGNjE4NzAwMTA2MjJFNkZGMDhFNkZFMDhFNkZEMkMKKzoxMDA0NzAwMDIyRUZGMEEzRUVGMEEzRURGMDIyRUJGMEEzRUFGMEEzNUQKKzoxMDA0ODAwMEU5RjAyMkUwRkZBM0UwRkVBM0UwRkQyMkUwRkJBM0UwMTEKKzoxMDA0OTAwMEZBQTNFMEY5MjIwMDAwMDAwMDAwMDAwMDA0RjkwMDVCNkMKKzoxMDA0QTAwMDA1NzMwMDI2MDU5QTAwMzMwQTBCMDA1QjBBNzcwMDYwOEIKKzoxMDA0QjAwMDE1NTIwMDVCMENGQjAwNUIwOUFCMDA1QjA5RTIwMDVCQzMKKzoxMDA0QzAwMDBEQzIwMDVCMEJGMzAwNUIwQTFFMDA1QjBBNTMwMDVCNkUKKzoxMDA0RDAwMDE3NEEwMDMzMTc2MDAwMzQxRTREMDA0MzFFRjAwMDQ0REQKKzoxMDA0RTAwMDIwNUQwMDQ0MjA0QjAwNDcxRjE3MDA0NzFGQkMwMDRERjQKKzoxMDA0RjAwMDIwMEQwMDRGMUYzOTAwNTgzMUY1MDA1QjdDQ0M3REZGOEIKKzoxMDA1MDAwMDEyMUNGRTIyNzQ5MDkwRkY5MUYwOTBGRkZDRTAyMEU3MTcKKzoxMDA1MTAwMDJEQzJBRkFFNTlBRjU4NzU1QTIwRTU1QTE0QzU1QTYwNkUKKzoxMDA1MjAwMDE5RTRGRTdGMDVFRTRGQ0UyNEZGQ0VDRjM0RkZDRjYwMUYKKzoxMDA1MzAwMDA3RTQ5MEZGOTJGMDgwRUQ4MEUwOEU1OThGNTgyMjEyRjAKKzoxMDA1NDAwMDA1MDE3RDA3N0NCNzEyMzIxMTdEMEY3QzZFMTIzMjJCQjQKKzoxMDA1NTAwMDc4OTc3QTA2RTRGNjA4REFGQzdBMDYxMjA1Q0Y3QzAzNkYKKzoxMDA1NjAwMDEyMEU1NzdDMDQxMjBFNTcxMjIxOEJFNEZFRkY3QzBGRjMKKzoxMDA1NzAwMDEyMzE5QUQyQTgyMjEyMzA4NUU0OTBGRDQwRjA5MEZGMEIKKzoxMDA1ODAwMEYwRTAzMEU0MDg3NDAxOTBGRDQxRjA4MDA1RTQ5MEZENTYKKzoxMDA1OTAwMDQxRjA3RDBBN0MwMDEyMjRCMTEyMzEwODIyMTIzMDg1MEMKKzoxMDA1QTAwMDkwRkQ0MUUwMTQ3MDBFOTBGRkYwRTA0NDEwRjA3QzAwRUMKKzoxMDA1QjAwMDEyMjU0QTgwMTk5MEZENDFFMDcwMEU5MEZGRjBFMDU0NDIKKzoxMDA1QzAwMEVGRjA3QzAwMTIyNTRBODAwNTdDMTcxMjI1NEExMjMxNzMKKzoxMDA1RDAwMDA4MjI5MEZGRjBFMDU0QUJGMDkwRkZGMEUwNDQyMEYwRjAKKzoxMDA1RTAwMDIyOEMzNzhEMzY3ODdDRURGNjA4RUNGNkVERkVFQ0ZEQ0UKKzoxMDA1RjAwMDdGMDE5MDAwMDUxMjAxRUM3ODdBRjY3ODdDRTZGRDA4MjAKKzoxMDA2MDAwMEU2RkNFREZFRUNGRDdGMDE5MDAwMDQxMjAxRUM1NDBGQkUKKzoxMDA2MTAwMEZDN0Q3QTEyMTc5RDc4N0FFNjcwMERBRDNBQUUzOUFGNEYKKzoxMDA2MjAwMDM4RTQxMjAzMEY3QzA4MjI5MEZGRjBFMDU0RkVGMDkwQjMKKzoxMDA2MzAwMEZGRjBFMDU0RkRGMDgwMUU3ODdDRTZGRDA4RTZGQ0VENUUKKzoxMDA2NDAwMEZFRUNGRDdGMDE5MDAwMDgxMjAyMEUyNUUwNDQwMTkwQUYKKzoxMDA2NTAwMEZGRjNGMDAyMDZEQjc4N0NFNkZEMDhFNkZDRURGRUVDM0QKKzoxMDA2NjAwMEZEN0YwMTkwMDAwNjEyMDIwRTU0RkU5MEZGRjNGMDgwMTEKKzoxMDA2NzAwMDJCNzg3Q0U2RkQwOEU2RkNFREZFRUNGRDdGMDE5MDAwQUEKKzoxMDA2ODAwMDA4MTIwMjBFRkFFQjkwRkZGMUYwMTIwOENBNDAwREFEMEQKKzoxMDA2OTAwMDNBQUUzOUFGMzhFNDEyMDMwRjdDMTgyMjc4N0NFNkZEQkQKKzoxMDA2QTAwMDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwODEyMDIwRTkwQzIKKzoxMDA2QjAwMEZGRjFGMDEyMDhDQTQwMERBRDNBQUUzOUFGMzhFNDEyN0UKKzoxMDA2QzAwMDAzMEY3QzE4MjI3ODdDRTZGRDA4RTZGQ0VERkVFQ0ZEQ0QKKzoxMDA2RDAwMDdGMDE5MDAwMDYxMjAyMEU0NDAxOTBGRkYzRjA3ODdEMzYKKzoxMDA2RTAwMEU2MjQwM0Y2MThFNjM0MDBGNjc4N0FFNjI0RkU1MDA5OEMKKzoxMDA2RjAwMDkwRkZGMEUwNTRGREYwODAwNzkwRkZGMEUwNDQwMkYwM0UKKzoxMDA3MDAwMEU0OTBGRkYxRjA3ODdCNzYwMDc4N0FFNjI0RkZGQ0U0NTEKKzoxMDA3MTAwMDM0RkZGRDc4N0JFNjdGMDBGRUVDRDM5RUVGNjQ4MENENTYKKzoxMDA3MjAwMDY0ODA5RDQwMkYxMjA4QUY0MDBGNzg3QkU2QUQzQUFFNTMKKzoxMDA3MzAwMDM5QUYzODEyMDMwRjdDMTgyMjkwRkZGMkUwRkM3ODdDNkUKKzoxMDA3NDAwMDg2ODMwODg2ODJFQ0YwNzg3QjA2QTM3ODdDQTY4MzA4RjMKKzoxMDA3NTAwMEE2ODI4MEI1MTIwOEFGNDAwRjc4N0JFNkFEM0FBRTM5N0QKKzoxMDA3NjAwMEFGMzgxMjAzMEY3QzE4MjI5MEZGRjJFMEZDNzg3Qzg2RjEKKzoxMDA3NzAwMDgzMDg4NjgyRUNGMDc4N0FFNkFEM0FBRTM5QUYzODEyNkIKKzoxMDA3ODAwMDAzMEY3QzAwMjI4QzM3OEQzNjc4N0NFREY2MDhFQ0Y2NzIKKzoxMDA3OTAwMEVERkVFQ0ZEN0YwMTkwMDAwNTEyMDFFQzc4N0JGNjc4MTAKKzoxMDA3QTAwMDdDRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwMDAwNDEyMDYKKzoxMDA3QjAwMDAxRUM1NDBGRkM3RDdCMTIxNzlENzg3QkU2NzAwMzdDNjcKKzoxMDA3QzAwMDA4MjI5MEZGRjBFMDU0RkVGMDkwRkZGMEUwNTRGREYwQkUKKzoxMDA3RDAwMDgwMUI3ODdDRTZGRDA4RTZGQ0VERkVFQ0ZEN0YwMTkwRDkKKzoxMDA3RTAwMDAwMDgxMjAyMEUyNUUwOTBGRkYzRjA4MDVCNzg3Q0U2QjMKKzoxMDA3RjAwMEZEMDhFNkZDRURGRUVDRkQ3RjAxOTAwMDA2MTIwMjBFMDYKKzoxMDA4MDAwMDU0RkU5MEZGRjNGMDgwMjE3ODdDRTZGRDA4RTZGQ0VERDUKKzoxMDA4MTAwMEZFRUNGRDdGMDE5MDAwMDgxMjAyMEVGQUVCOTBGRkYxNTIKKzoxMDA4MjAwMEYwMTIwOENBNDAwMzdDMTgyMjc4N0NFNkZEMDhFNkZDM0EKKzoxMDA4MzAwMEVERkVFQ0ZEN0YwMTkwMDAwODEyMDIwRTkwRkZGMUYwM0EKKzoxMDA4NDAwMDEyMDhDQTQwMDM3QzE4MjI3ODdERTYyNDBBRjYxOEU2Q0UKKzoxMDA4NTAwMDM0MDBGNjc4N0E3NjAwNzg3QkU2MjRGRkZDRTQzNEZGRjcKKzoxMDA4NjAwMEZENzg3QUU2N0YwMEZFRUNEMzlFRUY2NDgwQ0Q2NDgwNTUKKzoxMDA4NzAwMDlENDAyMTc4N0M4NjgzMDg4NjgyRTA5MEZGRjFGMDEyMEIKKzoxMDA4ODAwMDA4Q0E0MDAzN0MxODIyNzg3QTA2Nzg3RDA2RTYxODcwM0MKKzoxMDA4OTAwMDAxMDY4MEMzOTBGRkYwRTA0NDAxRjA3ODdDODY4MzA4NzUKKzoxMDA4QTAwMDg2ODJFMDkwRkZGMUYwMTIwOENBNDAwMzdDMTgyMjdDOTcKKzoxMDA4QjAwMDAwMjI5MEZGRjBFMDIwRTcxMjkwRkZGMEUwMzBFNTA5MjEKKzoxMDA4QzAwMDkwRkZGMEUwNDQyMEYwQzMyMjgwRTdEMzIyOTBGRkYwQjUKKzoxMDA4RDAwMEUwMjBFMzEyOTBGRkYwRTAzMEU1MDk5MEZGRjBFMDQ0MDMKKzoxMDA4RTAwMDIwRjBDMzIyODBFN0QzMjI4QzQyOEQ0MTdDMDBFRDU0NUUKKzoxMDA4RjAwMEYwRkRFQzcwMDNFRDY0MzA3MDA1NzUzRTAzODAwMzc1MDgKKzoxMDA5MDAwMDNFMDRBQzNFMTIwRjdDNzU4MzAwODU4MzQwRTU0MTU0NjQKKzoxMDA5MTAwMDBGRjUzRkU1NDA3MDA0RTUzRjY0MDM3MDM1RTUzRTI0ODQKKzoxMDA5MjAwMEZENzVGMDBBQTQyNDBBRjU4MkU0MzRGREY1ODNFMDMwNzUKKzoxMDA5MzAwMEU2MDUxMjEwNjc4MDE5RTUzRTI0OTdGOEM2NTRGQkY2QzkKKzoxMDA5NDAwMDc4QTNFNjI0MDVGNTgyMThFNjM0MDBGNTgzNzQwRkYwRTkKKzoxMDA5NTAwMDgwNTlFNTQwNzAwNEU1M0Y2NDA0NzA0OEU1M0UyNEZEOUQKKzoxMDA5NjAwMDc1RjAwQUE0MjQwQUY1ODJFNDM0RkRGNTgzRTAzMEU1NEQKKzoxMDA5NzAwMDA3QUM0MkFENDExMjFDOTNFNTQyMzBFMjE1NzhBN0U2ODAKKzoxMDA5ODAwMDMwRTAwRjc4QTdFNjMwRTEwOUU0RkYwNEZFN0MwNDEyQjIKKzoxMDA5OTAwMDMxOUE3OEEzRTYyNDA2RjU4MjE4RTYzNDAwRjU4Mzc0Q0MKKzoxMDA5QTAwMDBGRjA4MDA3RTRGQzdERUUxMjFDOTNDMjAzMjIxMjMwOEMKKzoxMDA5QjAwMDg1MTIwRjdDNzhBM0U2MjQwNkY1ODIxOEU2MzQwMEY1NEMKKzoxMDA5QzAwMDgzRTA5MEZENDBGMDc4QTNFNjI0MDVGNTgyMThFNjM0MzQKKzoxMDA5RDAwMDAwRjU4M0UwOTBGRDQxRjBDMjAzN0QwMjdDMDAxMjI0MEIKKzoxMDA5RTAwMEIxMTIzMTA4MjIxMjMwODU3ODhGRUNGNkVDMjQ5N0Y4OUEKKzoxMDA5RjAwMEU2MzBFMTA3N0MxMzEyMjU0QTgwMEY5MEZENDFFMEZEQUYKKzoxMDBBMDAwMDc4OEZFNkZDMTIxM0ZEMTIyNTRBMTIzMTA4MjIxMjMwQUIKKzoxMDBBMTAwMDg1Nzg4RkVDRjY3RDAwMTIwRjBCMTIyNTRBMTIzMTA4RjMKKzoxMDBBMjAwMDIyMTIzMDg1Nzg4RkVDRjZFQzI0OTdGOEU2MzBFMjA3NTYKKzoxMDBBMzAwMDdDMTMxMjI1NEE4MDFCNzg4RkU2MjQ5N0Y4RTYyMEUxODQKKzoxMDBBNDAwMDA3N0MxMjEyMjU0QTgwMEE3ODhGRTZGQzEyMTQyMTEyQzQKKzoxMDBBNTAwMDI1NEExMjMxMDgyMjEyMzA4NTc4OEZFQ0Y2RUMyNDk3NjMKKzoxMDBBNjAwMEY4RTYyMEUyMDc3QzExMTIyNTRBODAwQTc4OEZFNkZDMUUKKzoxMDBBNzAwMDEyMTUyMjEyMjU0QTEyMzEwODIyMTIzMDg1Nzg4RkVDODUKKzoxMDBBODAwMEY2MTIwRjdDNzhBM0U2MjQwOUY1ODIxOEU2MzQwMEY1MDcKKzoxMDBBOTAwMDgzRTA5MEZENDdGMDc4QTNFNjI0MEFGNTgyMThFNjM0NTcKKzoxMDBBQTAwMDAwRjU4M0UwOTBGRDQ4RjA3OEEzRTYyNDAzRjU4MjE4NzIKKzoxMDBBQjAwMEU2MzQwMEY1ODNFMEZDNzhBM0U2MjQwNEY1ODIxOEU2MkEKKzoxMDBBQzAwMDM0MDBGNTgzRTBGNTVDNzhBM0U2MjQwMkY1ODIxOEU2QUQKKzoxMDBBRDAwMDM0MDBGNTgzRTBGNTVEOEM1QkU0RUMzMzMzNTQwMTc4NEUKKzoxMDBBRTAwMDhGRjY2MDA4RTU1QzMwRTEwMzc4OEYwNjc4OEZFNjkwM0EKKzoxMDBBRjAwMEZENDlGMDc4QTFFNjI0MDJGNTgyMThFNjM0MDBGNTgzN0EKKzoxMDBCMDAwMEUwRkRBM0UwNTQwQ0ZDRUQ1NEU2OEM1RkY1NUVFNTVCODQKKzoxMDBCMTAwMDMwRTUwMzQzNUYwMUU1NUMyMEU1MEVFNTVCNTQ3RjcwNDMKKzoxMDBCMjAwMDA4RTU1QjIwRTcwMzQzNUYwMkU1NUIzMEUzMDM0MzVGRDcKKzoxMDBCMzAwMDEwRTU1QjMwRTIwMzQzNUYyMEU1NUI1NDAzNjAwMzQzNTEKKzoxMDBCNDAwMDVGNDBFNTVCMzBFMTAzNDM1RjgwRTU1QjMwRTQwMzQzRjYKKzoxMDBCNTAwMDVFMDFFNTVCMzBFNjAzNDM1RTA4RTU1QzIwRTQwRUU1RkMKKzoxMDBCNjAwMDVCNTQ3RjcwMDhFNTVCMjBFNzAzNDM1RTEwNTM1RkZCMzcKKzoxMDBCNzAwMDUzNUVGOUFENUVFNTVGOTBGRDQyQ0RGMEEzQ0RGMEU1QUIKKzoxMDBCODAwMDVEMzBFMzBERTU1RDU0MzBDNDU0MEY5MEZENDVGMDgwQjkKKzoxMDBCOTAwMDA1RTQ5MEZENDVGMEU1NUQ1NDAzOTBGRDQ0RjBFNTVEMEUKKzoxMDBCQTAwMDU0MDRDMzEzOTBGRDQ2RjA5MEZENDRFMDcwMEU3RDNENkIKKzoxMDBCQjAwMDdFRkQ3RjAxNzQwMTkwMDAwOTEyMDE0Mjc4QTNFNjI0QjIKKzoxMDBCQzAwMDA4RjU4MjE4RTYzNDAwRjU4M0UwN0MwMEZENzhBM0U2QTIKKzoxMDBCRDAwMDI0MDdGNTgyMThFNjM0MDBGNTgzRTA3RjAwNENGRUVGMzEKKzoxMDBCRTAwMDREOTBGRDQwRjBBM0NFRjBDRUMyMDM3RDBBN0MwMDEyRjIKKzoxMDBCRjAwMDI0QjExMjMxMDgyMjEyMzA4NTc4OEZFQ0Y2Nzg5NDc2ODEKKzoxMDBDMDAwMDAxMDg3NkZEMDg3NjQwNzg5MTc2MEM3ODk0MTIwNDY1OTgKKzoxMDBDMTAwMDEyMDIxNDc4OTJDQkY2Q0IwOEY2N0YwMEVGMjRFQjQwNUIKKzoxMDBDMjAwMDFGRTRFRjI1RTA5MDM0QkZGRDkzQ0QwNDkzNzg5MzY2RTUKKzoxMDBDMzAwMDcwMDNFRDE4NjY3MDA2Nzg5MTc2MDA4MDAzMEY4MERDRjMKKzoxMDBDNDAwMDc4OTBFRkY2Nzg5NDEyMDQ2NTkwMDAwMjEyMDIwRTc4MDQKKzoxMDBDNTAwMDkyQ0JGNkNCMDhGNjU0MDRDQjU0MDY0QjYwMDQ3ODkxNDMKKzoxMDBDNjAwMDc2MEI3ODkzRTYzMEUzMTM3ODk0MTIwNDY1OTAwMDA1RDAKKzoxMDBDNzAwMDEyMDFFQzI0RkI1MDA0Nzg5MTc2MEQ3ODkzRTY1NEMwNzEKKzoxMDBDODAwMDdEMDA2NEMwNEQ3MDA0Nzg5MTc2MEI3ODk0MTIwNDY1RjEKKzoxMDBDOTAwMDkwMDAwNDEyMDFFQzI0RkM1MDA0Nzg5MTc2MEY3ODk0QjMKKzoxMDBDQTAwMDEyMDQ2NTkwMDAwNjEyMDFFQzI0RkQ1MDA0Nzg5MTc2NDAKKzoxMDBDQjAwMDBFNzg5NDEyMDQ2NTkwMDAwOTEyMDFFQzI0RkQ1MDA0OTIKKzoxMDBDQzAwMDc4OTE3NjBBNzg5MUU2NzAyQTc4OEZFNkZDMTIwRjdDOEMKKzoxMDBDRDAwMDc4OTQxMjA0NjU3OEExRTZGOTc4QTBFNkZBN0IwMTc0QUQKKzoxMDBDRTAwMDBBNzgwMDEyMDMzRkMyMDM3ODhGRTZGQzEyMTEyMzc4QzIKKzoxMDBDRjAwMDkxRUNGNjc4OTFFNkZDMTIyNTRBMTIzMTA4MjIxMjMwNjYKKzoxMDBEMDAwMDg1Nzg4RkVDRjYxMjBGN0M3ODhGRTYyNEZENzVGMDBBNUIKKzoxMDBEMTAwMEE0MjQxQ0Y1ODJFNDM0RkRGNTgzQUM4MkFEODM3OEEwNzUKKzoxMDBEMjAwMDg2ODMwODg2ODJFQ0Y5RURGQTdCMEE3ODAxMTIwM0E3MjQKKzoxMDBEMzAwMEMyMDM3ODhGRTZGQzEyMTEyMzEyMzEwODIyOEQyQjhDMEUKKzoxMDBENDAwMDJBRUQ2MDQwNzUyNzAxNzUyOTQ4NzUyOEZGRTUyQTI0OUEKKzoxMDBENTAwMEZERkNFNDM0RkZGREVDN0MwMzI1RTBDRDMzQ0REQ0Y5NzQKKzoxMDBENjAwMEZDRTUyOTJDRjUyOUU1MjgzREY1MjhBRDI5QUUyOEFGNkQKKzoxMDBENzAwMDI3NzQ4MDkwMDAwNjEyMDMxNzc0ODA5MDAwMDIxMjAzRkIKKzoxMDBEODAwMDE3MTIwRkQzRTUyQjE0NjAzQjc1MjcwMTc1MjkwODc1RTEKKzoxMDBEOTAwMDI4RkZFNTJBMjRGREZDRTQzNEZGRkRFQzdDMDMyNUUwN0MKKzoxMDBEQTAwMENEMzNDRERDRjlGQ0U1MjkyQ0Y1MjlFNTI4M0RGNTI4RTYKKzoxMDBEQjAwMEFEMjlBRTI4QUYyN0U0OTAwMDA2MTIwMzE3RTQ5MDAwOTcKKzoxMDBEQzAwMDAyMTIwMzE3MjIxMjMwODU3ODhGRUNGNkVDMjQ5N0Y4ODQKKzoxMDBERDAwMEU2MzBFMjA5Nzg4RkU2RkMxMjE1MjJEMjAwNzg4RkU2MjEKKzoxMDBERTAwMEZDMTIwRjdDNzg5MDc2MDA5MEZENDFFMDMwRTcwNDc4QUIKKzoxMDBERjAwMDkwNzYwMTc4OTBFNkZENzg4RkU2RkMxMjBEM0FDMjAzRkEKKzoxMDBFMDAwMDMwMDAwNzc4OEZFNkZDMTIxNDIxN0MwMDEyMjU0QTEyNkMKKzoxMDBFMTAwMDMxMDgyMjc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNTgzMkQKKzoxMDBFMjAwMEUwNDQwMUYwNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEY1RTYKKzoxMDBFMzAwMDgzRTAzMEUwMDI4MEVENzhBM0U2MjQwQkY1ODIxOEU2MkIKKzoxMDBFNDAwMDM0MDBGNTgzRTA1NEY4RjA3OEEzRTYyNDAyRjU4MjE4MjQKKzoxMDBFNTAwMEU2MzQwMEY1ODNFMDQ0ODBGMDIyQzIwMzhDNTgxMjBGODAKKzoxMDBFNjAwMDdDNzhBMDg2ODMwODg2ODI3OUVFN0EzNDdCMEE3ODAxQzIKKzoxMDBFNzAwMDEyMDNGNTEyMEUxMEFDNTg3RDAyMTIwRDNBQzIwM0FDRUIKKzoxMDBFODAwMDU4MTIxMTIzMjI4RDUzOEU1MjhGNTE4QzUwMTIwRjdDODkKKzoxMDBFOTAwMDc1NEYwMDc4QTNFNjI0MDVGNTgyMThFNjM0MDBGNTgzNDMKKzoxMDBFQTAwMEUwMjBFNDE2RTU0RjI0RjY0MDEwMDU0RkMyMDM3QzE4RkQKKzoxMDBFQjAwMDEyMzI0OEFDNTAxMjBGN0M4MEQ5NzhBM0U2MjQwNUY1OTUKKzoxMDBFQzAwMDgyMThFNjM0MDBGNTgzRTAyMEU0MDVDMjAzN0MwMjIyQTgKKzoxMDBFRDAwMDc4QTNFNjI0MDVGNTgyMThFNjM0MDBGNTgzRTA1NDBGODQKKzoxMDBFRTAwMDYwMTY3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4M0UwNjEKKzoxMDBFRjAwMDU0MEZGMEMyMDM3QzAxMjI3OEEyODY4MzA4ODY4MkUwMjgKKzoxMDBGMDAwMEFENTNBRTUyQUY1MTEyMDMwRkMyMDM3QzAwMjI4RDMxOUMKKzoxMDBGMTAwMDhDMzAxMjE1MjJFNTMxNjAyMEU1MzBCNDAzMEM3QzAxRTEKKzoxMDBGMjAwMDEyMjQ3QzdDODExMjI0N0M4MDBGRTUzMEI0MDQwQTdDN0UKKzoxMDBGMzAwMDAyMTIyNDdDN0M4MjEyMjQ3Q0FDMzAxMjBGN0NFNTMxQkUKKzoxMDBGNDAwMDYwMUE3OEE0ODY4MzA4ODY4MkUwNTRFN0YwQTNBM0EzRkUKKzoxMDBGNTAwMEEzRTA1NEU3RjBBQzMwN0QwMjEyMEQzQTc4QTA4NjgzMEUKKzoxMDBGNjAwMDA4ODY4Mjc5Rjg3QTM0N0IwQTc4MDExMjAzRjVDMjAzODUKKzoxMDBGNzAwMEU1MzAyNDk3RjhDNjU0RkRGNkFDMzAxMjExMjMyMjhDQ0MKKzoxMDBGODAwMDI2MzAwMzA1MTIzMUU3ODBGODdDMEExMjMwRkFEMjAzQ0EKKzoxMDBGOTAwMEU1MjYyNEZENzg5REY2NzAwOTc4QTQ3NkZGMDg3NkUwQjIKKzoxMDBGQTAwMDgwMDc3OEE0NzZGRjA4NzZFMjc4OURFNjc1RjAxMEE0QjUKKzoxMDBGQjAwMEFERjBGQzI0QTA3OEEzRjZFRDM0RkYxOEY2Nzg5REU2OUEKKzoxMDBGQzAwMDc1RjAwQUE0MjQwOEZDRTQzNEZERkQ3OEEwRURGNjA4RDEKKzoxMDBGRDAwMEVDRjYxMjMxOTMyMjc4QTNFNjI0MDJGNTgyMThFNjM0NjcKKzoxMDBGRTAwMDAwRjU4M0UwMzBFNzIyNzhBM0U2MjQwMkY1ODIxOEU2RDQKKzoxMDBGRjAwMDM0MDBGNTgzRTA1NDdGRjA3OEEzRTYyNDAyRjU4MjE4RUMKKzoxMDEwMDAwMEU2MzQwMEY1ODNFMDQ0ODBGMDIyNzhBNDg2ODMwODg2RTUKKzoxMDEwMTAwMDgyRTA1NDdGRjBBRDgzRTU4MjI0MDRGQ0U0M0Q4QzgyQzEKKzoxMDEwMjAwMEY1ODNFMDU0N0ZGMDc4QTNFNjI0MEJGNTgyMThFNjM0Q0MKKzoxMDEwMzAwMDAwRjU4M0UwNTRGOEYwNzhBNUU2MjQwMUY1ODIxOEU2N0YKKzoxMDEwNDAwMDM0MDBGNTgzRTA0NDAzRjA3OEE1RTYyNDA1RjU4MjE4MjIKKzoxMDEwNTAwMEU2MzQwMEY1ODNFMDQ0MDNGMDc4QTNFNjI0MDVGNTgyNDYKKzoxMDEwNjAwMDE4RTYzNDAwRjU4Mzc0MEZGMDIyNzhBNDg2ODMwODg2OEUKKzoxMDEwNzAwMDgyRTA1NDNGRjBBRDgzRTU4MjI0MDRGQ0U0M0Q4QzgyQTEKKzoxMDEwODAwMEY1ODNFMDU0M0ZGMDc4OURFNjI0OUVGOEU2RkM3OEE1RDEKKzoxMDEwOTAwMEU2MjQwMUY1ODIxOEU2MzQwMEY1ODNFQ0YwNzg5REU2NEQKKzoxMDEwQTAwMDI0OUVGOEU2RkM3OEE1RTYyNDA1RjU4MjE4RTYzNDAwQ0YKKzoxMDEwQjAwMEY1ODNFQ0YwNzhBM0U2MjQwQkY1ODIxOEU2MzQwMEY1MEUKKzoxMDEwQzAwMDgzRTA1NEZCNDQwMkY1MjY3OEExRTYyNDAyRjU4MjE4NTkKKzoxMDEwRDAwMEU2MzQwMEY1ODNFMDMwRTUwMzQzMjYwMTc4QTNFNjI0RjcKKzoxMDEwRTAwMDA1RjU4MjE4RTYzNDAwRjU4M0UwMzBFMDAzMTIwRkQzRjMKKzoxMDEwRjAwMEU1MjZGQzc4QTNFNjI0MEJGNTgyMThFNjM0MDBGNTgzOTgKKzoxMDExMDAwMEVDRjA3OEEzRTYyNDA1RjU4MjE4RTYzNDAwRjU4Mzc0NDQKKzoxMDExMTAwMDBGRjA3OEE0ODY4MzA4ODY4MkUwNDQ4MEYwQTNBM0EzMUUKKzoxMDExMjAwMEEzRTA0NDgwRjAyMjhDMkExMjBGN0M3OEExRTYyNDA4RTgKKzoxMDExMzAwMEY1ODIxOEU2MzQwMEY1ODNFMEZDNzhBM0U2MjQwQUY1OEUKKzoxMDExNDAwMDgyMThFNjM0MDBGNTgzRUNGMDc4QTFFNjI0MDdGNTgyRjYKKzoxMDExNTAwMDE4RTYzNDAwRjU4M0UwRkM3OEEzRTYyNDA5RjU4MjE4NEMKKzoxMDExNjAwMEU2MzQwMEY1ODNFQ0YwNzhBMDg2ODMwODg2ODJFMEZEMDMKKzoxMDExNzAwMEEzRTBGQ0VERkU3OEEzRTYyNDA4RjU4MjE4RTYzNDAwMkYKKzoxMDExODAwMEY1ODNFRUYwRUNGRTc4QTNFNjI0MDdGNTgyMThFNjM0NEEKKzoxMDExOTAwMDAwRjU4M0VFRjA4QzI5OEQyOEMzRUM5NDAyRUQ5NDA2QzMKKzoxMDExQTAwMDQwMDU3NTI3N0M4MDMzRDNFNTI5OTQ4MUU1Mjg5NDAxOTcKKzoxMDExQjAwMDQwMDU3NTI3M0M4MDIzRDNFNTI5OTRDMEU1Mjg5NDAwOTkKKzoxMDExQzAwMDQwMDU3NTI3MTg4MDEzRDNFNTI5OTQzMEU1Mjg5NDAwNEQKKzoxMDExRDAwMDQwMDU3NTI3MEM4MDAzNzUyNzA4QUYyN0U0RUY1NDdDODIKKzoxMDExRTAwMDQ0ODNGRjhGMjdFNTI3RkM3OEE1RTYyNDAxRjU4MjE4QzQKKzoxMDExRjAwMEU2MzQwMEY1ODNFQ0YwRTUyN0ZDNzhBNUU2MjQwNUY1NTgKKzoxMDEyMDAwMDgyMThFNjM0MDBGNTgzRUNGMEU1MjdGQzc4OURFNjI0QUYKKzoxMDEyMTAwMDlFRjhFQ0Y2NzhBM0U2MjQwMkY1ODIxOEU2MzQwMEY1OTEKKzoxMDEyMjAwMDgzRTBGNTI3NzhBMUU2MjQwMkY1ODIxOEU2MzQwMEY1N0MKKzoxMDEyMzAwMDgzQTNFMDMwRTMxNzUzMjdDNzc4QTFFNjI0MDVGNTgyOUUKKzoxMDEyNDAwMDE4RTYzNDAwRjU4M0UwOTAzNEU5OTM0MjI3NzhBMUU2NkMKKzoxMDEyNTAwMDI0MDJGNTgyMThFNjM0MDBGNTgzRTAzMEU3MDU0MzI3RTEKKzoxMDEyNjAwMDQwODAwMzUzMjdCRjUzMjdGQjc4QTFFNjI0MDZGNTgyNkQKKzoxMDEyNzAwMDE4RTYzNDAwRjU4M0UwNjAwMzQzMjcwNDUzMjdGQzc4MjUKKzoxMDEyODAwMEExRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwNDIyNzQzMDIKKzoxMDEyOTAwMDI3ODBFNTI3RkM3OEEzRTYyNDAyRjU4MjE4RTYzNDAwQ0YKKzoxMDEyQTAwMEY1ODNFQ0YwNzhBM0U2MjQwNEY1ODIxOEU2MzQwMEY1MjMKKzoxMDEyQjAwMDgzRTBGNTI3NzhBMUU2MjQwMkY1ODIxOEU2MzQwMEY1RUMKKzoxMDEyQzAwMDgzQTNFMDMwRTEwNTUzMjdERjgwMDM0MzI3MjA3OEExODMKKzoxMDEyRDAwMEU2MjQwMkY1ODIxOEU2MzQwMEY1ODNFMDMwRTQwNTUzOTUKKzoxMDEyRTAwMDI3RUY4MDAzNDMyNzEwNzhBMUU2MjQwOUY1ODIxOEU2NEEKKzoxMDEyRjAwMDM0MDBGNTgzRTBCNDAyMDM0MzI3MDJFNTI3RkM3OEEzMUEKKzoxMDEzMDAwMEU2MjQwNEY1ODIxOEU2MzQwMEY1ODNFQ0YwNzhBM0U2RDEKKzoxMDEzMTAwMDI0MDNGNTgyMThFNjM0MDBGNTgzRTBGNTI3NzhBMUU2OEEKKzoxMDEzMjAwMDI0MDlGNTgyMThFNjM0MDBGNTgzRTA3MDA1NTMyNzdGMjEKKzoxMDEzMzAwMDgwMDM0MzI3ODA3OEExRTYyNDAyRjU4MjE4RTYzNDAwNzIKKzoxMDEzNDAwMEY1ODNBM0UwMzBFMDA1NDMyNzIwODAwMzUzMjdERjc4QUYKKzoxMDEzNTAwMEExRTYyNDAyRjU4MjE4RTYzNDAwRjU4M0UwMzBFMzA1QzcKKzoxMDEzNjAwMDQzMjc0MDgwMDM1MzI3QkY3OEExRTYyNDAyRjU4MjE4NjMKKzoxMDEzNzAwMEU2MzQwMEY1ODNFMDMwRTAwNTQzMjcxMDgwMDM1MzI3NkYKKzoxMDEzODAwMEVGNzhBMUU2MjQwMkY1ODIxOEU2MzQwMEY1ODNBM0UwQTUKKzoxMDEzOTAwMDMwRTQwNTQzMjcwODgwMDM1MzI3Rjc3OEExRTYyNDAyQTkKKzoxMDEzQTAwMEY1ODIxOEU2MzQwMEY1ODNBM0UwMzBFNTA1NDMyNzA0MTEKKzoxMDEzQjAwMDgwMDM1MzI3RkI3OEExRTYyNDAyRjU4MjE4RTYzNDAwNjcKKzoxMDEzQzAwMEY1ODNBM0UwMzBFNjA1NDMyNzAxODAwMzUzMjdGRTc4MjkKKzoxMDEzRDAwMEExRTYyNDAyRjU4MjE4RTYzNDAwRjU4M0EzRTAzMEU3QTUKKzoxMDEzRTAwMDA1NDMyNzAyODAwMzUzMjdGREU1MjdGQzc4QTNFNjI0NjUKKzoxMDEzRjAwMDAzRjU4MjE4RTYzNDAwRjU4M0VDRjBDMjAzN0MwMDIyOEEKKzoxMDE0MDAwMDhEMjc4QzI2RUQ1NDAzMTQ2MDAzN0MxMDIyRTUyNzU0QUQKKzoxMDE0MTAwMDdDMjRGQzQwMDM3QzBCMjJFNTI2MjQ5N0Y4QzY0NDAyN0EKKzoxMDE0MjAwMEY2N0MwMDIyOEMzMDEyMEY3Q0U1MzAyNDk3RjhFNjIwMDEKKzoxMDE0MzAwMEUyNEZBQzMwN0QwMjEyMEQzQUU1MzAyNEZFNDQyOEZDMjgKKzoxMDE0NDAwMDc4QTQ4NjgzMDg4NjgyRUNGMEFGODNFNTgyMjQwNEZFQ0MKKzoxMDE0NTAwMEU0M0ZGRkVDOEU4MjhGODNGMDdDMDM4QzJDRTUyQ0ZDMjgKKzoxMDE0NjAwMDc4QTVFNjI0MDFGNTgyMThFNjM0MDBGNTgzRUNGMEU1NzIKKzoxMDE0NzAwMDJDRkM3OEE1RTYyNDA1RjU4MjE4RTYzNDAwRjU4M0VDMEIKKzoxMDE0ODAwMEYwNzUyRDAxNzUyRjQ4NzUyRUZGRTUzMDI0RkRGQ0U0MjUKKzoxMDE0OTAwMDM0RkZGREVDN0MwMzI1RTBDRDMzQ0REQ0Y5RkNFNTJGRkEKKzoxMDE0QTAwMDJDRjUyRkU1MkUzREY1MkU3OEE1RTYyNDA0RjU4MjE4QkYKKzoxMDE0QjAwMEU2MzQwMEY1ODNFMDU0RTdGNTJDQUQyRkFFMkVBRjJEQ0EKKzoxMDE0QzAwMEU0OTAwMDAyMTIwMzE3RTQ5MDAwMDYxMjAzMTcxMjAxQzEKKzoxMDE0RDAwMEU2MzBFNTAzNDMyQzEwRTUyQ0ZDNzhBNUU2MjQwNEY1NjIKKzoxMDE0RTAwMDgyMThFNjM0MDBGNTgzRUNGMDEyMTA2Nzc4QTNFNjI0NDYKKzoxMDE0RjAwMDA2RjU4MjE4RTYzNDAwRjU4M0UwQzIwM0ZDRTUzMDI0RUIKKzoxMDE1MDAwMDk3RjhDNjQ0MDRGNjhDMkNFNTMwNTQwRkM0NTRGMDdFOTIKKzoxMDE1MTAwMDAwRkZFRUVGNDQwNDdEMDBGRkVDNEVGQ0VENEZGRDEyQUEKKzoxMDE1MjAwMDFDRkU3QzAwMjI4QzJGMTIwRjdDMTIxMDA3NzhBNDg2RTAKKzoxMDE1MzAwMDgzMDg4NjgyRTA1NDA4RjBBM0EzQTNBM0UwNTQwOEYwMzQKKzoxMDE1NDAwMEFDMkY3RDAyMTIwRDNBQzIwM0U1MkYyNDk3RjhDNjU0NDIKKzoxMDE1NTAwMEZCRjY3QzAwMjIxMjMwODU3ODkwRUNGNkVDMjQ5N0Y4QUMKKzoxMDE1NjAwMEU2MzBFMTBBN0QwMDdDMTMxMjI0QjExMjMxMDg3ODkwMzQKKzoxMDE1NzAwMEU2MjQ5N0Y4QzY0NDAxRjY3ODkwRTZGQzEyMEY3Qzc4RDIKKzoxMDE1ODAwMDkwRTYyNEZENzVGMDBBQTQyNDFDRjU4MkU0MzRGREY1RjAKKzoxMDE1OTAwMDgzNzhBMEU2RkEwOEU2Rjk3QjBBNzgwMTEyMDNBNzc4QjcKKzoxMDE1QTAwMEEwODY4MzA4ODY4Mjc5Rjg3QTM0N0IwQTc4MDExMjAzNTAKKzoxMDE1QjAwMEY1MTIwRkQzQzIwMzc4OTBFNkZDMTIxMTIzNzg4RkVDNUEKKzoxMDE1QzAwMEY2RUM2MDBBN0QwMDdDMDgxMjI0QjExMjMxMDg3ODkwOTQKKzoxMDE1RDAwMEU2RkMxMjBGN0M3OEEzRTYyNDA0RjU4MjE4RTYzNDAwQkEKKzoxMDE1RTAwMEY1ODNFMDQ0MTA1NERGRkM3OEEzRTYyNDA0RjU4MjE4NjgKKzoxMDE1RjAwMEU2MzQwMEY1ODNFQ0YwNzg4RkVDRjZDMjAzN0NDODEyNzkKKzoxMDE2MDAwMDMyNDg3ODkwRTZGQzEyMEY3Qzc4QTNFNjI0MDRGNTgyMzkKKzoxMDE2MTAwMDE4RTYzNDAwRjU4M0UwNTRFRkYwQzIwMzdDQzgxMjMyQzAKKzoxMDE2MjAwMDQ4Nzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA0RjU4MjE4MzMKKzoxMDE2MzAwMEU2MzQwMEY1ODNFMDQ0MTBGMEMyMDM3Q0M4MTIzMjQ4NUYKKzoxMDE2NDAwMDc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNEY1ODIxOEU2NzUKKzoxMDE2NTAwMDM0MDBGNTgzRTA0NDIwRjBDMjAzN0NGMDEyMzI0ODc4NzUKKzoxMDE2NjAwMDkwRTZGQzEyMEY3Qzc4QTNFNjI0MDVGNTgyMThFNjM0OTgKKzoxMDE2NzAwMDAwRjU4M0UwMzBFNDE1QzIwMzc4OTBFNjQ0MTA3RjAwNjMKKzoxMDE2ODAwMEZFN0MwNzEyMzE5QTEyMzEwODAyMTc0OTc4QTNFNjI0MkEKKzoxMDE2OTAwMDA0RjU4MjE4RTYzNDAwRjU4M0UwNTRDRkYwQzIwMzdDRjEKKzoxMDE2QTAwMEM4MTIzMjQ4Nzg5MEU2RkMxMjBGN0M3OEEzRTYyNDA0MzYKKzoxMDE2QjAwMEY1ODIxOEU2MzQwMEY1ODNFMDQ0MzBGMEMyMDM3Q0YwOTQKKzoxMDE2QzAwMDEyMzI0ODc4OTBFNkZDMTIwRjdDNzhBM0U2MjQwNUY1RTgKKzoxMDE2RDAwMDgyMThFNjM0MDBGNTgzRTAzMEU0MTRDMjAzNzg5MEU2MjMKKzoxMDE2RTAwMDQ0MTA3RjAwRkU3QzA3MTIzMTlBMTIzMTA4ODA1RDc4MjkKKzoxMDE2RjAwMEEzRTYyNDA0RjU4MjE4RTYzNDAwRjU4M0UwNTRFRkYwMDUKKzoxMDE3MDAwMDc4QTNFNjI0MDRGNTgyMThFNjM0MDBGNTgzRTA1NERGN0MKKzoxMDE3MTAwMEYwNzg5MEU2MjRGRDc1RjAwQUE0MjQxQ0Y1ODJFNDM0RTgKKzoxMDE3MjAwMEZERjU4M0FDODJBRDgzNzhBMDg2ODMwODg2ODJFQ0Y5RDAKKzoxMDE3MzAwMEVERkE3QjBBNzgwMTEyMDNBN0MyMDM3ODkwRTZGQzEyNDcKKzoxMDE3NDAwMDExMjM3RDAwN0MwQjEyMjRCMTEyMzEwODIyMTIzMDg1NDYKKzoxMDE3NTAwMDkwRkY5MUUwOTBGRDQxRjA3RDAyN0MwMDEyMjRCMTEyRDcKKzoxMDE3NjAwMDMxMDgyMjEyMzA4NTkwRkQ0MEUwRjRGQzkwRkY5MUUwQkEKKzoxMDE3NzAwMDVDRjUzMzkwRkQ0MUUwRkM5MEZENDBFMDVDNDIzM0U1RDgKKzoxMDE3ODAwMDMzOTBGRjkxRjA3QzAwMTIyNTRBMTIzMTA4MjI3NDNDRkMKKzoxMDE3OTAwMDkwRkJFOEYwNzQzRTkwRkJFOEYwRTQ5MEZEMzBGMDIyMUUKKzoxMDE3QTAwMDhEMzU4QzM0RUNCNDAxMDI4MDAzRDM0MDAyODAyOEI0MjAKKzoxMDE3QjAwMDAyMDI4MDAzRDM0MDA4QTgzNUM2MjVFMEY2ODAxOEI0OUQKKzoxMDE3QzAwMDA0MDI4MDAzRDM0MDBBQTgzNUM2MjVFMDI1RTBGNjgwNTAKKzoxMDE3RDAwMDA2QTgzNTc2MDA4MDAwMjI4QzNDOEQzQkVERkVFQ0ZEQUEKKzoxMDE3RTAwMDdGMDE3NTYwMDY3NTYxMDA5MEZEMzExMjA0NkUxMjAxNzMKKzoxMDE3RjAwMEU2QjQ4MDAyODAwNkQzNTAwMzAyMTg5RTkwRkQzMTEyOTkKKzoxMDE4MDAwMDA0ODA5MDAwMDMxMjAxRUM1NEYwQjQzMDAyODAwM0QzNDIKKzoxMDE4MTAwMDQwNUY5MEZEMzExMjA0ODA5MDAwMDgxMjAyMEVGQUZEMjQKKzoxMDE4MjAwMEVCRkU3RjAxOTBGRDM0MTIwNDZFRUVDRDkwMzUwMkZDOEMKKzoxMDE4MzAwMEU0OTNGRjc0MDE5M0ZFRjlFRkZBN0IwMUVBRkZFOUZFRkUKKzoxMDE4NDAwMEVDQzM5RUVEOUY0MDI1OTAzNTA0RTQ5M0ZENzQwMTkzMTUKKzoxMDE4NTAwMEZDRURGRUVDRkQ3RjAxRUVDREZDOTBGRDM2RTBEMzlDNkYKKzoxMDE4NjAwMDkwRkQzNUUwOUQ1MDA1NzU2MDgwODAzMzEyMTlCQzgwNzUKKzoxMDE4NzAwMDJFQjQ2MDAyODAwM0QzNDAwQkFDM0NBRDNCMTIwNzgyMTgKKzoxMDE4ODAwMDhDNjA4MDFCQjQxMDAzQjM0MDEwQzNCNDIwMDNCMzQwN0EKKzoxMDE4OTAwMDA5QzNCNDQwMDI4MDAzRDM0MDAwNzU2MDgxODAwMDgwOUEKKzoxMDE4QTAwMDc1QjQ4MTAyODAwM0QzNDA2QjkwRkQzMTEyMDQ4MDkwQTcKKzoxMDE4QjAwMDAwMDMxMjAxRUM1NEYwQjQzMDAyODAwM0QzNDAxRDkwQjkKKzoxMDE4QzAwMEZEMzExMjA0ODA5MDAwMDgxMjAyMEVGQUZERUJGRTdGM0IKKzoxMDE4RDAwMDAxOTBGRDM3MTIwNDZFMTIxOTI2ODAzNkI0NjAwMjgwMjIKKzoxMDE4RTAwMDAzRDM0MDEzNzUzQTYxRTRGNTM5RjUzOEFDM0NBRDNCQjAKKzoxMDE4RjAwMDEyMDVERThDNjA4MDFCQjQxMDAzQjM0MDEwQzNCNDIwMEIKKzoxMDE5MDAwMDAzQjM0MDA5QzNCNDQwMDI4MDAzRDM0MDAwNzU2MDgxMzMKKzoxMDE5MTAwMDgwMDA4MDAyODAwMEU1NjBGQzkwRkQzMTEyMDQ4MEVDQzQKKzoxMDE5MjAwMDkwMDAwMjEyMDMxN0FDNjEyMjkwRkQzMTEyMDQ4MDkwRTYKKzoxMDE5MzAwMDAwMDQxMjAxRUM2MDA0NzQwMTgwMDFFNEEyRTA5MjAxNTEKKzoxMDE5NDAwMDkwRkQzMTEyMDQ4MEVEMjQwM0ZENTAwMTBFOTBGRDM0MTIKKzoxMDE5NTAwMDEyMDQ2RTkwRkQzMTEyMDQ4MDkwMDAwNTEyMDFFQ0Y1MjYKKzoxMDE5NjAwMDYxOTAwMDA0MTIwMUVDNTQwRkZDN0Q2MTEyMTc5REU1OUIKKzoxMDE5NzAwMDYxNzAwNDc1NjAwODIyNzU2MDAwNzg3RTc2MDA3ODdFNUMKKzoxMDE5ODAwMEU2QzM5NTYxNTAzODkwRkQzNzEyMDQ4MDEyMDFFNkZDRTEKKzoxMDE5OTAwMDkwRkQzNDEyMDQ4MEVDMTIwMzBGMzAwMTBFOTBGRDM5REIKKzoxMDE5QTAwMEUwMDRGMDkwRkQzODcwMDNFMDA0RjA3ODdFMDY5MEZEQ0UKKzoxMDE5QjAwMDM2RTAwNEYwOTBGRDM1NzAwM0UwMDRGMDgwQzAyMjkwMjIKKzoxMDE5QzAwMEZEMzJFMEZEQTNFMEZDRURGRUVDRkQ3RjAxRUQyNDBBMUQKKzoxMDE5RDAwMEZENTAwMTBFOTBGRDNBMTIwNDZFOTBGRDMxMTIwNDgwMEMKKzoxMDE5RTAwMDkwMDAwNDEyMDFFQzU0MEZCNDAxMDI4MDAzRDM0MDE3OUQKKzoxMDE5RjAwMDkwRkQzQTEyMDQ4MDBERUQ3MDAxMEU5MEZEMzcxMjA0MzcKKzoxMDFBMDAwMDZFNzg4Mjc2MDE4MDRFQjQwMjAyODAwM0QzNDAxOTkwMzIKKzoxMDFBMTAwMEZEM0ExMjA0ODBFRDI0MDJGRDUwMDEwRTkwRkQzNzEyQjQKKzoxMDFBMjAwMDA0NkU3ODgyNzYwMjgwMkRCNDA0MDI4MDAzRDM0MDE5QkMKKzoxMDFBMzAwMDkwRkQzQTEyMDQ4MEVEMjQwNEZENTAwMTBFOTBGRDM3MTQKKzoxMDFBNDAwMDEyMDQ2RTc4ODI3NjA0ODAwQ0I0MDAwMjgwMDNEMzQwQzYKKzoxMDFBNTAwMDAwNzU2MDA4MjI5MEZEMzExMjA0ODA5MDAwMDUxMjAxOEIKKzoxMDFBNjAwMEVDRjU2MTc4N0Y3NjAwNzg3RkU2QzM5NTYxNDAwMzAyRUMKKzoxMDFBNzAwMDFCMjQ3ODgwNzYwMDc4ODBFNkMzNzg4Mjk2NTA3NjkwMzIKKzoxMDFBODAwMEZEMzQxMjA0ODAxMjAxRTZGQzkwRkQzQTEyMDQ4OTEyMjIKKzoxMDFBOTAwMDAxRTBGNDVDRkMxMjAxRTBGODkwRkQzNzEyMDQ4MEU4RUMKKzoxMDFBQTAwMEMwRTAxMjAxRTZDOEQwRTBDODU4NENGQzkwRkQzNDEyRUEKKzoxMDFBQjAwMDA0ODBFQzEyMDMwRjc4ODFFQ0Y2OTBGRDM5RTAwNEYwMUQKKzoxMDFBQzAwMDkwRkQzODcwMDNFMDA0RjAwOUU5NzAwMTBBOTBGRDNBRDYKKzoxMDFBRDAwMDEyMDQ3NzkwRkQzMTEyMDQ4MDkwMDAwNDEyMDFFQzMwNjIKKzoxMDFBRTAwMEU0MEU5MEZEMzZFMDA0RjA5MEZEMzU3MDAzRTAwNEYwNjQKKzoxMDFBRjAwMDc4ODAwNjgwODE3ODgyRTZGREU0RkVGRkVFQ0RGQzkwRTIKKzoxMDFCMDAwMEZEMzlFMDJDRjA5MEZEMzhFMDNERjA3ODgyRTZGREU0MTAKKzoxMDFCMTAwMEZFRkZFRUNERkM5MEZEM0NFMDJDRjA5MEZEM0JFMDNENjcKKzoxMDFCMjAwMEYwNzg3RjA2MDIxQTY0NzU2MDAwMjJFNTNEMDUzRDA0RTkKKzoxMDFCMzAwMDcwMDJCMkIwMjJDMEUwQzBGMEMwODJDMDgzQzBEMEU4NjIKKzoxMDFCNDAwMEMwRTBFOUMwRTBFQUMwRTBFQkMwRTBFQ0MwRTBFREMwMUUKKzoxMDFCNTAwMEUwRUVDMEUwRUZDMEUwOTBGRjkyRTAxMjAxQjcxQjgwMjIKKzoxMDFCNjAwMDMwMUI4MDMyMUI4RjM4MUJBMTNBMUJCMzNFMUJDQjQ0NkEKKzoxMDFCNzAwMDFCQkY0NjFCRDc1MDFDMTk1MjFCRjg1NDFDM0E1NjAwNjkKKzoxMDFCODAwMDAwMUM1QjkwRkY5MkUwN0YwMEZFN0MwMTEyMzE5QTAyMDQKKzoxMDFCOTAwMDFDNkJFNEZGMDRGRTdDMDMxMjMxOUE3NDIwOTBGRkZFNUMKKzoxMDFCQTAwMEYwMDIxQzZCRTRGRjA0RkU3QzAyMTIzMTlBNzQ0MDkwMzgKKzoxMDFCQjAwMEZGRkVGMDAyMUM2QkU0RkYwNEZFN0MwNDEyMzE5QTAyNkIKKzoxMDFCQzAwMDFDNkJFNEZGMDRGRTdDMDUxMjMxOUEwMjFDNkJFNEZGREYKKzoxMDFCRDAwMDA0RkU3QzA2MTIzMTlBMDIxQzZCOTBGRkE1RTA3RDAwOEEKKzoxMDFCRTAwMDkwRkQwMENERjBBM0NERjA5MEZEMDFFMEZDRjU4MzkwRDkKKzoxMDFCRjAwMEZEMDBFMDQ0MzNGRDEyMUNGRTgwNzM5MEZGQjVFMDdERDQKKzoxMDFDMDAwMDAwOTBGRDAyQ0RGMEEzQ0RGMDkwRkQwM0UwRkNGNTgzNDQKKzoxMDFDMTAwMDkwRkQwMkUwNDQ0M0ZEMTIxQ0ZFODA1MjkwRkZBNkUwQkUKKzoxMDFDMjAwMDdEMDA5MEZEMDRDREYwQTNDREYwOTBGRDA1RTBGQ0Y1MjYKKzoxMDFDMzAwMDgzOTBGRDA0RTA0NDM0RkQxMjFDRkU4MDMxOTBGRkI2MTkKKzoxMDFDNDAwMEUwN0QwMDkwRkQwNkNERjBBM0NERjA5MEZEMDdFMEZDMTcKKzoxMDFDNTAwMEY1ODM5MEZEMDZFMDQ0NDRGRDEyMUNGRTgwMTA5MEZGQzkKKzoxMDFDNjAwMDkyRTA3RDAwRkNFRDQ0QUFGRDEyMUNGRTgwMDBFNDkwOTEKKzoxMDFDNzAwMEZGOTJGMEQwRTBGRkQwRTBGRUQwRTBGREQwRTBGQ0QwNUQKKzoxMDFDODAwMEUwRkJEMEUwRkFEMEUwRjlEMEUwRjhEMEQwRDA4M0QwQkIKKzoxMDFDOTAwMDgyRDBGMEQwRTAzMjA1ODEwNTgxMDU4MTA1ODFBODgxREYKKzoxMDFDQTAwMDE4MTgxOEVERjYwOEVDRjY5MEZGNkFFMDIwRTcwMjgwQkQKKzoxMDFDQjAwMEY3OTBGRjY5RTA3RDAwQTg4MTE4Q0RGNkNEMDhGNjdEOEMKKzoxMDFDQzAwMDAzQTg4MUU2MThGQ0U2Q0MyNUUwQ0MzM0NDRERGOUNDQ0EKKzoxMDFDRDAwMEY2Q0MwOEY2QTg4MTE4RTY0NEY4RjZBODgxMTgxODE4N0EKKzoxMDFDRTAwMEU2RkQwOEU2RkNBODgxMTg4NjgzMDg4NjgyRURGMEEzNEQKKzoxMDFDRjAwMEVDRjA3NDAyOTBGRjZBRjAxNTgxMTU4MTE1ODExNTgxNTEKKzoxMDFEMDAwMDIyRTU4MTI0MDVGNTgxRTRBODgxMThGNkE4ODExODE4MzgKKzoxMDFEMTAwMDE4MThFREY2MDhFQ0Y2OTBGQkZERTAyNEY4NTAwMzAyRUQKKzoxMDFEMjAwMDFFMUZFNEE4ODExODE4RjZBODgxMThFNkZFQTg4MTE4REQKKzoxMDFEMzAwMDE4MTgxOEU2RkQwOEU2RkM3RjAwRUYyNEY4NDA0REU0OTMKKzoxMDFENDAwMEVGMjVFMDI0ODVGNTgyRTQzNEZERjU4M0UwRkJBM0UwOTQKKzoxMDFENTAwMDZDNzAwM0ZBRUI2RDcwMDk3NDAxQTg4MTE4MThGNjgwOTUKKzoxMDFENjAwMDJCRTRFRjI1RTAyNDg1RjU4MkU0MzRGREY1ODM3QTAwNDkKKzoxMDFENzAwMEUwNTRGMENDRjhDQ0NERjlDREZCNzgwMEU5NTRGMEY5ODMKKzoxMDFEODAwMEVBNjg3MDAyRUI2OTcwMDEwRTBGODBBRUE4ODExOEVFNTAKKzoxMDFEOTAwMEY2QTg4MTE4MTgxODE4RURGNjA4RUNGNkE4ODFFRkY2RTkKKzoxMDFEQTAwMEE4ODExODE4RTY3MDc5QTg4MTE4RTYyNEY3NDA3MUE4NzAKKzoxMDFEQjAwMDgxMTgxODE4MThFNjU0MEZBODgxRjY2NDA0NjAxN0E4NTMKKzoxMDFEQzAwMDgxRTY2NDAzNjAxMEE4ODExODE4MTgxOEU2RkQwOEU2N0IKKzoxMDFERDAwMEZDMTIxQzkzODA0QTdDMEExMjMwRkFBODgxMTgxODE4NDkKKzoxMDFERTAwMDE4RTZGRDA4RTZGQzkwRkJGQ0UwMjVFMDI0ODVGNTgyODIKKzoxMDFERjAwMEU0MzRGREY1ODNFREYwQTNFQ0YwOTBGQkZDRTBGRkU0QjAKKzoxMDFFMDAwMEVGMDQ1NDA3RkY5MEZCRkNGMDkwRkJGREUwMDRGMDEyQTAKKzoxMDFFMTAwMDMxOTM5MEZCRkVFMDcwMDhFNEZFRkY3QzBGMTIzMTlBRDQKKzoxMDFFMjAwMDgwMjc5MEZCRkZFMDA0RjA1NDNGNzAxRDkwRkJGRkUwMjMKKzoxMDFFMzAwMDQ0RkU3RDAwRkM5MEZCRkNFMDI1RTAyNDg1RjU4MkU0NzcKKzoxMDFFNDAwMDM0RkRGNTgzRURGMEEzRUNGMEU1ODEyNEZCRjU4MTIyNzAKKzoxMDFFNTAwMDc4ODU3NjAwNzg4Njc2MDA3NDAxOTBGQkZFRjAxMjMwNkIKKzoxMDFFNjAwMDg1OTBGQkZERTA2MDU5N0MwQTEyMzBGQTkwRkJGQkUwQTQKKzoxMDFFNzAwMDI1RTAyNDg1RjU4MkU0MzRGREY1ODNFMEZEQTNFMEZDNTQKKzoxMDFFODAwMDkwRkJGQkUwMjVFMDI0ODVGNTgyRTQzNEZERjU4M0U0NTYKKzoxMDFFOTAwMEYwQTNGMDkwRkJGQkUwRkZFNEVGMDQ1NDA3RkY5MEZCOUUKKzoxMDFFQTAwMEZCRjA5MEZCRkRFMDE0RjA3ODgzRURGNjA4RUNGNjEyMDEKKzoxMDFFQjAwMDMxOTNCMkIzNzg4M0U2RkQwOEU2RkMxMjA4RTU4MEExMTEKKzoxMDFFQzAwMDEyMzFFNzc4ODUwNkI2MDAxMTc4ODU3NjAwNzg4NkU2QzcKKzoxMDFFRDAwMEY0MDQwNEEyRTA5MkI0Nzg4NkY2ODA4NUU0OTBGQkZFRDgKKzoxMDFFRTAwMEYwOTBGQkZERTA3RDAwRkNFRDQ0Q0ZGRDEyMUM5MzEyNTEKKzoxMDFFRjAwMDMxMDgyMjEyMzA4NUU1NkE2NDQ5NDU2OTYwMTU5MEZGMTIKKzoxMDFGMDAwMDgzRTA1NDBGN0QwMEQzOTU2QUVEOTU2OTUwMDUxMjJFM0MKKzoxMDFGMTAwMENFODAwMzEyMkY5RTEyMzEwODIyMTIzMDg1RTU2QTY0QUEKKzoxMDFGMjAwMDQ5NDU2OTYwMDUxMjJGRDg4MDBFOTBGRjgwRTA0NDA4NzMKKzoxMDFGMzAwMEYwOTBGRjgzRTA1NDdGRjAxMjMxMDgyMjEyMzA4NThDM0MKKzoxMDFGNDAwMDU0RUM1NEYwQjQxMDE1NzU2NDNENzU2M0ZENzU2MjAxNzEKKzoxMDFGNTAwMEU1NjQyNDAzRjU2NEU1NjMzNDAwRjU2M0U0RjU1N0Y1QkYKKzoxMDFGNjAwMDU2RTU1NkMzOTQwMTUwMjdFNTU0NTQwRkZDQUQ2NEFFQkEKKzoxMDFGNzAwMDYzQUY2MjEyMEU4MjhDNTVFQzYwMDI4MDEyMDU2NEU1M0MKKzoxMDFGODAwMDY0NzAwMjA1NjMwNTU3RTU1NzcwMDIwNTU2ODBEMkU1NzcKKzoxMDFGOTAwMDU0NTQwRjI0OTdGOEM2NTRGRUY2RTU1NDU0MEY3RjAwQUUKKzoxMDFGQTAwMEZFN0MxMjEyMzE5QUU1NTUxNDcwMDk3RDAwN0MwOTEyRUQKKzoxMDFGQjAwMDI0QjE4MDA3QUQ1NzdDMDAxMjI0QjExMjMxMDgyMjEyREYKKzoxMDFGQzAwMDMwODU5MEZGRkNFMDQ0MDJGMDkwRkYwMEUwMzBFNzEzMjIKKzoxMDFGRDAwMDkwRkY4M0UwNDQ4MEYwNDM2NzgwOTBGRkZDRTA0NDAxODEKKzoxMDFGRTAwMEYwODAxMTkwRkY4MkUwNDQwOEYwNTM2NzdGOTBGRkZDN0YKKzoxMDFGRjAwMEUwNTRGRUYwOTBGRjgxRTA0NDgwRjAxMjI1NjQ5MEZGRjEKKzoxMDIwMDAwMEZFRTA0NDA1RjA5MEZGRkNFMDU0RkRGMDEyMzEwODIyQTAKKzoxMDIwMTAwMDEyMzA4NTdDMDExMjMyNDg3OEE3RTY0NDAyRjY3NEZFM0QKKzoxMDIwMjAwMEZDMDRGRDEyMUNGRTkwRkY2QUUwMzBFNzAyODBGN0U0M0EKKzoxMDIwMzAwMEY1NEU3NTREMTBBQzRFQUQ0REU1NEUxNTRFNzAwMjE1N0EKKzoxMDIwNDAwMDRERUM0RDYwMDI4MEVFNDM4NzAxMTIzMTA4MjIxMjMwQzAKKzoxMDIwNTAwMDg1N0MwMjEyMzExNDc4QTdFNjU0RkRGNjEyMzEwODIyNkQKKzoxMDIwNjAwMDEyMzA4NTc4QTdFNjMwRTAyQzc4QTdFNjMwRTEyNjc4QjQKKzoxMDIwNzAwMEE3RTZGQ0Y1ODMxOEU2NDRGMEZEMTIxQzkzOTBGRkZDRTQKKzoxMDIwODAwMEUwNDQyMEYwN0MwMjEyMzI0ODc4QTdFNjU0RkRGNjc0NTIKKzoxMDIwOTAwMDFBOTBGRkZFRjA3OEE3RTZGQ0Y1ODMxOEU2NDRGMUZEMDAKKzoxMDIwQTAwMDEyMUM5MzEyMzEwODIyNzU2NzAwNzU2ODAwRTRGNTY2MEEKKzoxMDIwQjAwMEY1NjVFNEY1Njk3NTZBNDk3NDg0OTBGRjgyRjA3NDg0NkIKKzoxMDIwQzAwMDkwRkY4MEYwNzQ4MDkwRkY2OEYwNzQ4MDkwRkY2QUYwNTkKKzoxMDIwRDAwMEFENDZBRjQ1N0UwMEVFMjRGQzUwMDMwMjIxNkFFNEVFREIKKzoxMDIwRTAwMDc1RjAwN0E0MjQzRkY1ODJFNDM0RkNGNTgzRTBGRkU0QjcKKzoxMDIwRjAwMEVGNTQ4MEZERTRFRjU0MEYxNEZGRUQ2MDM4RTRFRjc1MEEKKzoxMDIxMDAwMEYwMDhBNDI0NDhGNTgyRTQzNEZGRjU4Mzc0OTBGMEU0RTkKKzoxMDIxMTAwMEVGNzVGMDA4QTQyNDRBRjU4MkU0MzRGRkY1ODM3NDgwNTcKKzoxMDIxMjAwMEYwRTRFRjc1RjAwOEE0MjQ0RUY1ODJFNDM0RkZGNTgzNjMKKzoxMDIxMzAwMDc0ODBGMDgwMzRFNEVGNzVGMDA4QTQyNDA4RjU4MkU0OUMKKzoxMDIxNDAwMDM0RkZGNTgzNzQ5MEYwRTRFRjc1RjAwOEE0MjQwQUY1RTkKKzoxMDIxNTAwMDgyRTQzNEZGRjU4M0U0RjBFNEVGNzVGMDA4QTQyNDBFODQKKzoxMDIxNjAwMEY1ODJFNDM0RkZGNTgzRTRGMDBFMDIyMEQzOEQ0NjhFMzEKKzoxMDIxNzAwMDQ0OEY0NTc0N0Y5MEZGRkRGMDc0OTA5MEZGRkNGMDkwQzkKKzoxMDIxODAwMEZDMTlFMDMwRTYwNzkwRkZGQ0UwNDQwNEYwMjI5MEZDRUMKKzoxMDIxOTAwMDBERTAxNDcwMDQ5MEZDMENFMDcwMzk5MEZDMDA3OTA2OUUKKzoxMDIxQTAwMDdBMzU3QjEyNzgwMTEyMDNGNTdGMDBFRjMzNDAxNUVGOEIKKzoxMDIxQjAwMDkwMzU0RDkzRkNFRjI0ODBGNTgyRTQzNEZDRjU4M0VDRkMKKzoxMDIxQzAwMEYwMEY4MEU3OEY1OTkwRkMyQjc5MTg3QTM1N0IzNTc4QTIKKzoxMDIxRDAwMDAxMTIwM0Y1RTQ5MEZGRkZGMDc0NTE5MEZGRkFGMDc0RTAKKzoxMDIxRTAwMDA0OTBGRkZCRjA3NDUzOTBGRkY4RjA3NDUxOTBGRkY5RTYKKzoxMDIxRjAwMEYwNzQ1NTkwRkZGN0YwNzQ5MzkwRkZGNkYwNzQzMjkwRkUKKzoxMDIyMDAwMEZGRjVGMDc1NjQzRDc1NjNGRDc1NjIwMUU0OTBGRjgzMzEKKzoxMDIyMTAwMEYwNzQ4MDkwRkY4MUYwNzU1ODA0RTU1ODc1RjAwN0E0QkMKKzoxMDIyMjAwMDI0M0ZGNTgyRTQzNEZDRjU4M0UwNzg4OUY2RkM1NDBGMTIKKzoxMDIyMzAwMDE0RkM3ODg5RUNGNkU1NTg3NUYwMDdBNDI0NDFGNTgyODIKKzoxMDIyNDAwMEU0MzRGQ0Y1ODNFMDc4OEM3NkY4MDg3NjAwRkM3ODg5MzUKKzoxMDIyNTAwMEU2NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFNEYwNDEKKzoxMDIyNjAwMDc4ODlFNjc1RjAwOEE0MjQ0RkY1ODJFNDM0RkZGNTgzRkQKKzoxMDIyNzAwMEVDRjA3ODhDRTZGRjA4RTY3RTAzQ0ZDMzEzQ0YxM0RFQzUKKzoxMDIyODAwMEY5RkU3ODg5RTY3NUYwMDhBNDI0NDlGNTgyRTQzNEZGNjQKKzoxMDIyOTAwMEY1ODNFRUYwNzg4OUU2NzVGMDA4QTQyNDRBRjU4MkU0MjcKKzoxMDIyQTAwMDM0RkZGNTgzNzQ4MEYwNzg4QUVDRjY3RDAwNzg4REU2NTMKKzoxMDIyQjAwMDJDRjYxOEU2M0RGNjc4OENFNkZEMDhFNjdDMDNDREMzRTcKKzoxMDIyQzAwMDEzQ0QxM0RDRjlGQzc4ODlFNjc1RjAwOEE0MjQ0REY1RUMKKzoxMDIyRDAwMDgyRTQzNEZGRjU4M0VDRjA3ODg5RTY3NUYwMDhBNDI0RjUKKzoxMDIyRTAwMDRFRjU4MkU0MzRGRkY1ODNFNEYwNzg4Q0U2RkQwOEU2RjEKKzoxMDIyRjAwMEZDNzg4OUU2RkY3RTAwRUUyNEZDNTAwMzAyMjQ2QkU0QTgKKzoxMDIzMDAwMEVFNzVGMDA3QTQyNDNGRjU4MkU0MzRGQ0Y1ODNFMEZGOEEKKzoxMDIzMTAwMEU0RUY1NDgwRkFFNEVGNTQwRjE0RkZFNEVFNzVGMDA3OTUKKzoxMDIzMjAwMEE0MjQ0MUY1ODJFNDM0RkNGNTgzRTA3ODhBRjZFRTc1NjYKKzoxMDIzMzAwMEYwODBBNDI0MDhGOEU1RjAzNEY4RjlFOEZDRTlGRDhBMTcKKzoxMDIzNDAwMDU5RUE3MDAzMDIyM0Q4RTRFRjc1RjAwOEE0MjQ0OEY1OTUKKzoxMDIzNTAwMDgyRTQzNEZGRjU4M0U0RjA3ODhBRTZGQUU0RUY3NUYwN0UKKzoxMDIzNjAwMDA4QTQyNDRGRjU4MkU0MzRGRkY1ODNFQUYwRURGQkVDOUEKKzoxMDIzNzAwMDdBMDNDQkMzMTNDQjEzREFGOUZBRTRFRjc1RjAwOEE0QjAKKzoxMDIzODAwMDI0NDlGNTgyRTQzNEZGRjU4M0VBRjA3ODhBRTY3QjAwOUQKKzoxMDIzOTAwMEZBRUMyQUZDRUQzQkZERkJFQzdBMDNDQkMzMTNDQjEzMjkKKzoxMDIzQTAwMERBRjlGQUU0RUY3NUYwMDhBNDI0NERGNTgyRTQzNEZGN0QKKzoxMDIzQjAwMEY1ODNFQUYwRTRFRjc1RjAwOEE0MjQ0QUY1ODJFNDM0RUEKKzoxMDIzQzAwMEZGRjU4Mzc0ODBGMEU0RUY3NUYwMDhBNDI0NEVGNTgyRTUKKzoxMDIzRDAwMEU0MzRGRkY1ODM3NDgwRjAwMjI0NjdFNEVGNzVGMDA4QkQKKzoxMDIzRTAwMEE0MjQwOEY1ODJFNDM0RkZGNTgzRTRGMDc4OEFFNkZBNjEKKzoxMDIzRjAwMEU0RUY3NUYwMDhBNDI0MEZGNTgyRTQzNEZGRjU4M0VBRDYKKzoxMDI0MDAwMEYwRURGQkVDN0EwM0NCQzMxM0NCMTNEQUY5RkFFNEVGNkMKKzoxMDI0MTAwMDc1RjAwOEE0MjQwOUY1ODJFNDM0RkZGNTgzRUFGMDc4MjYKKzoxMDI0MjAwMDhBRTY3QjAwRkFFQzJBRkNFRDNCRkRGQkVDN0EwM0NCNjEKKzoxMDI0MzAwMEMzMTNDQjEzREFGOUZBRTRFRjc1RjAwOEE0MjQwREY1MTEKKzoxMDI0NDAwMDgyRTQzNEZGRjU4M0VBRjBFNEVGNzVGMDA4QTQyNDBBOEYKKzoxMDI0NTAwMEY1ODJFNDM0RkZGNTgzRTRGMEU0RUY3NUYwMDhBNDI0OUEKKzoxMDI0NjAwMDBFRjU4MkU0MzRGRkY1ODNFNEYwMEUwMjIyRjQ4RTU4NzgKKzoxMDI0NzAwMDc4OENFREY2MDhFQ0Y2Nzg4OUVGRjYxMjIwQTQyMjhDMjEKKzoxMDI0ODAwMDI2RUMzMEU3MThFNTI2NTQwRjE0NzVGMDA4QTQyNDQ4MEMKKzoxMDI0OTAwMEY1ODJFNDM0RkZGNTgzRTA1NERGRjA4MDE2RTUyNjU0M0UKKzoxMDI0QTAwMDBGMTQ3NUYwMDhBNDI0MDhGNTgyRTQzNEZGRjU4M0UwRTYKKzoxMDI0QjAwMDU0REZGMDIyRUM5MEZEM0ZGMDhDMjRFRDI0MDNGNTI1NTEKKzoxMDI0QzAwMDdEMDBEMzk1NkNFRDk1NkI0MDAzODU2QzI1RTUyNTI0NDcKKzoxMDI0RDAwMEI3NTAwOTc1MjUwMzc0MDI5MEZEM0ZGMEFDMjUxMjJGMEIKKzoxMDI0RTAwMEMzMjJFNEY1NjZGNTY1MTIyNEU4MjI5MEZEM0RFMDY1MUYKKzoxMDI0RjAwMDZENjAwRTc0MDQ5MEZEM0ZGMEU0RjU2NTc1NjYwMzgwMzEKKzoxMDI1MDAwMDQ2N0Q2REU0RkVGRjc5M0Q3QUZEN0IwMTc0MDU3ODAwMjAKKzoxMDI1MTAwMDEyMDMzRkU1NjYyNDAzRjU2NkU1NjUzNDAwRjU2NUU1REQKKzoxMDI1MjAwMDY2RDM5NTZDRTU2NTk1NkI0MDA2ODU2QzY2ODU2QjY1MzUKKzoxMDI1MzAwMEQzRTU2Njk0NDhFNTY1OTQwMDQwMEM3NDAyOTBGRDNGMzUKKzoxMDI1NDAwMEYwRTRGNTY1NzU2NjAzQUM2NjEyMkZDMzIyRUM5MEZEQ0UKKzoxMDI1NTAwMDNGRjBFNEY1NjZGNTY1OEMzMkVDNjAwNTEyMkZCNDgwMkYKKzoxMDI1NjAwMDA1N0MwMDEyMkZDMzIyOTBGRjA0RTBGNTRBOTBGRjA2N0QKKzoxMDI1NzAwMEUwRkRBM0UwRUQ3RDAwRkM3RDAwRkM5MEZGMDZFMEZGQTgKKzoxMDI1ODAwMEEzRTA3RTAwRkZFNEZFRUM0RUZDRUQ0RkZEQzNFQzk0QjcKKzoxMDI1OTAwMDQ4RUQ5NDAwNTAyMjkwRkYwNkUwRkRBM0UwRUQ3RDAwQTEKKzoxMDI1QTAwMEZDN0QwMEZDOTBGRjA2RTBGRkEzRTA3RTAwRkZFNEZFNjAKKzoxMDI1QjAwMEVDNEVGQ0VENEZGRDgwMDRFNEZEN0M0ODhDNkM4RDZCOTMKKzoxMDI1QzAwMDkwRkYwMkUwRkRBM0UwRUQ3RDAwRkM3RDAwRkM5MEZGQUMKKzoxMDI1RDAwMDAyRTBGRkEzRTA3RTAwRkZFNEZFRUM0RUY1NENFRDRGODEKKzoxMDI1RTAwMEY1NEI3NTY0M0Q3NTYzRkQ3NTYyMDE3RDNEN0VGRDdGMzQKKzoxMDI1RjAwMDAxNzk2REU0RkFGQjc0MDU3ODAwMTIwMzNGNzU0OTAwMTgKKzoxMDI2MDAwMEU1NDkyNEZFNDAxOUFENjRBRTYzQUY2MkU0MTIwMzBGRTYKKzoxMDI2MTAwMDA1NDkwREVENzAwMTBFOEQ2NDhFNjM4RjYyODBFMTc1NEEKKzoxMDI2MjAwMDY0M0Q3NTYzRkQ3NTYyMDE5MEZGMDBFMDU0NjBCNDAwODUKKzoxMDI2MzAwMDAyODAwNkQzNTAwMzAyMkMxMkU1NEE1NDBGRjU0OUU1RjcKKzoxMDI2NDAwMDRBNTQ4MEEyRTA5MjAyOTBGRjAxRTAxMjAxODEwMDBCNDcKKzoxMDI2NTAwMDJDMEQyNjY3Mjc4NTJDMEQyODkxMkMwRDI5NzQyOUE4NkYKKzoxMDI2NjAwMDJCMEYyQjEyMkI1MjJCQjYyQkU0RTU2NzMwRTcwRUU1MzAKKzoxMDI2NzAwMDRDNDU0QjcwMDhFNTZDNjQwMjQ1NkI2MDAzMDIyQzBGRkYKKzoxMDI2ODAwMDkwRkYwMEUwNTQxRkI0MDAwMjgwMDNEMzQwMjlFNTRBQzQKKzoxMDI2OTAwMDYwMDMwMjI3ODJBRDY0QUU2M0FGNjI3NDAxMTIwMzBGNjAKKzoxMDI2QTAwMDc4QTdFNjMwRTAwQkFENjRBRTYzQUY2Mjc0MDIxMjAzNEMKKzoxMDI2QjAwMDBGN0MwMjEyMkZDMzIyQjQwMTAyODAwM0QzNDAxQkU1MUEKKzoxMDI2QzAwMDY3MjBFMTA3RTU0QTYwMDMwMjI3ODJFNTRBMjRGRTUwQkQKKzoxMDI2RDAwMDAzMDIyNzgyN0MwMjEyMkZDMzIyQjQwMjAyODAwNkQzOTcKKzoxMDI2RTAwMDUwMDMwMjI3ODBFNTY3MjBFMTBERTU0QTYwMDlFNTRBQ0QKKzoxMDI2RjAwMDY0ODA2MDAzMDIyNzgyQUM0QTEyMzA0QTQwMDMwMjI3RkEKKzoxMDI3MDAwMDgyRTU0OTcwMjUzMDAyMTE5MEZGODBFMDU0MDhBRDY0RTUKKzoxMDI3MTAwMEFFNjNBRjYyMTIwMzBGODAwRjkwRkY4MkUwNTQwOEFERUEKKzoxMDI3MjAwMDY0QUU2M0FGNjIxMjAzMEY4MDNEMTU0OTMwMDIxREU1QjAKKzoxMDI3MzAwMDQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1ODNFMDU0OTkKKzoxMDI3NDAwMDA4QUQ2NEFFNjNBRjYyMTIwMzBGODAxQkU1NDk3NUYwRkMKKzoxMDI3NTAwMDA4QTQyNDA4RjU4MkU0MzRGRkY1ODNFMDU0MDhBRDY0NEUKKzoxMDI3NjAwMEFFNjNBRjYyMTIwMzBGQUQ2NEFFNjNBRjYyMTIwMUU2RjcKKzoxMDI3NzAwMDYwMEJBRDY0QUU2M0FGNjI3NDAxMTIwMzBGN0MwMjEyOTIKKzoxMDI3ODAwMDJGQzMyMjgwMDAwMjJDMEZFNTY3MjBFNzA2RTU2QzQ1ODkKKzoxMDI3OTAwMDZCNjAwMzAyMkMwRjkwRkYwMEUwNTQxRkI0MDAwMjgwMTYKKzoxMDI3QTAwMDAzRDM0MDFBRTU0QzE0NDU0QjcwMDRFNTRBNjAwMzAyMUMKKzoxMDI3QjAwMDI4OEU3OEE3RTY1NEZFRjY3QzAwMTIyRkMzMjJCNDAxQkYKKzoxMDI3QzAwMDAyODAwM0QzNDAyQUU1NjcyMEUxMDhFNTY3MjBFMDAzQTMKKzoxMDI3RDAwMDAyMjg4RUU1NjczMEUwMDRFNTRBNzAwQkU1NjczMEUxREEKKzoxMDI3RTAwMDA5RTU0QTI0RkU1MDAzMDIyODhFN0MwMDEyMkZDMzIyRTIKKzoxMDI3RjAwMEI0MDIwMjgwMDZEMzUwMDMwMjI4OENFNTRDNDU0QjYwOUUKKzoxMDI4MDAwMDAzMDIyODhFQUM0QTEyMzA0QTQwMDMwMjI4OEVFNTY3NDQKKzoxMDI4MTAwMDIwRTEwN0U1NjcyMEUwMDI4MDc3RTU2NzMwRTAwNkU1MjQKKzoxMDI4MjAwMDQ5NjAwMjgwNkNFNTQ5NzAwRjkwRkY4MkUwNTRGN0YwMzgKKzoxMDI4MzAwMDkwRkY4MEUwNTRGN0YwMjJFNTQ5QjQwMTAyODAwM0QzMTEKKzoxMDI4NDAwMDQwMDk3RDAxN0MwMzEyMEYwQjgwMTFCNDAyMDI4MDAzNEEKKzoxMDI4NTAwMEQzNDAwOTdEMDE3QzA0MTIwRjBCODAwMDE1NDkzMDAyMjIKKzoxMDI4NjAwMDE1RTU0OTc1RjAwOEE0MjQ0OEY1ODJFNDM0RkZGNTgzQTIKKzoxMDI4NzAwMEUwNTRGN0YwODAxM0U1NDk3NUYwMDhBNDI0MDhGNTgyQzgKKzoxMDI4ODAwMEU0MzRGRkY1ODNFMDU0RjdGMDdDMDAxMjJGQzMyMjgwN0MKKzoxMDI4OTAwMDAwMDIyQzBGRTU2NzIwRTcwNkU1NkM0NTZCNjAwMzAyM0MKKzoxMDI4QTAwMDJDMEY5MEZGMDBFMDU0MUZCNDAwMDI4MDAzRDM0MDFBQTUKKzoxMDI4QjAwMEU1NEMxNDQ1NEI3MDA0RTU0QTYwMDMwMjI5NzE3OEE3ODIKKzoxMDI4QzAwMEU2NDQwMUY2N0MwMDEyMkZDMzIyQjQwMTAyODAwM0QzMzgKKzoxMDI4RDAwMDQwMjlFNTY3MjBFMTA4RTU2NzIwRTAwMzAyMjk3MUU1NkEKKzoxMDI4RTAwMDY3MzBFMDA0RTU0OTcwMEJFNTY3MzBFMTA4RTU0OTI0MEQKKzoxMDI4RjAwMEZFNTAwMjgwN0Y3QzAwMTIyRkMzMjJCNDAyMDI4MDAzQUMKKzoxMDI5MDAwMEQzNDA2RkU1NEM0NTRCNjAwMjgwNjlBQzRBMTIzMDRBQjcKKzoxMDI5MTAwMDQwMDI4MDYwRTU2NzIwRTEwN0U1NjcyMEUwMDI4MDU0MUYKKzoxMDI5MjAwMEU1NDk3MDE0MzAwMjA5OTBGRjgwRTA0NDA4RjA4MDA3MDgKKzoxMDI5MzAwMDkwRkY4MkUwNDQwOEYwMjJFNTY3MzBFMTMzMTU0OTMwMkEKKzoxMDI5NDAwMDAyMTVFNTQ5NzVGMDA4QTQyNDQ4RjU4MkU0MzRGRkY1NDIKKzoxMDI5NTAwMDgzRTA0NDA4RjA4MDEzRTU0OTc1RjAwOEE0MjQwOEY1RTUKKzoxMDI5NjAwMDgyRTQzNEZGRjU4M0UwNDQwOEYwN0MwMDEyMkZDMzIyOTgKKzoxMDI5NzAwMDgwMDI4MDAwMDIyQzBGRTU2NzIwRTcxMkU1NkM0NTZCQjIKKzoxMDI5ODAwMDcwMENFNTRBNzAwODkwRkYwMEUwNTQxRjYwMDMwMjJDQjEKKzoxMDI5OTAwMDBGRTU0QzkwRkZGRkYwOTBGRkZGRTA2MDA1NDM2NzAxRkIKKzoxMDI5QTAwMDgwMDM1MzY3RkU3QzAwMTIyRkMzMjJFNTY3MzBFNzBFRDkKKzoxMDI5QjAwMEU1NkM0NTZCNjAwODkwRkYwMEUwNTQxRjYwMDMwMjJDM0IKKzoxMDI5QzAwMDBGQUQ0QkU1NENFRDdEMDBGQzdEMDBGQ0JEMDAwMjgwQjEKKzoxMDI5RDAwMDAzMDIyQjBBQjQwMTAyODAwM0QzNDAzMkU1NEE3MDA1OUEKKzoxMDI5RTAwMEU1NENGQzYwMDMwMjJCMEM3NTY0MDA3NTYzRkM3NTYyOUEKKzoxMDI5RjAwMDAxRDNFNTZDOTQxMkU1NkI5NDAwNDAwNkU0RkQ3QzEyNzMKKzoxMDJBMDAwMDgwMDRBQzZDQUQ2QjhDNkE4RDY5MTIyRkQ4MjJCNDAyMzUKKzoxMDJBMTAwMDAyODAwM0QzNDA1OUU1NEE2MDAzMDIyQjBDRTU0Q0ZDQ0QKKzoxMDJBMjAwMDcwMjc3NTY0MTI3NTYzRkM3NTYyMDFEM0U1NkM5NDE5QTcKKzoxMDJBMzAwMEU1NkI5NDAwNDAwNkU0RkQ3QzE5ODAwNEFDNkNBRDZCNDIKKzoxMDJBNDAwMDhDNkE4RDY5MTIyRkQ4ODAyNTc1NjQyQjc1NjNGQzc1OEYKKzoxMDJBNTAwMDYyMDFEM0U1NkM5NDM1RTU2Qjk0MDA0MDA2RTRGRDdDOUYKKzoxMDJBNjAwMDM1ODAwNEFDNkNBRDZCOEM2QThENjkxMjJGRDgyMkI0QTIKKzoxMDJBNzAwMDAzMDI4MDA2RDM1MDAzMDIyQjBBRTU0Q0Y1NDk3MDBGODAKKzoxMDJBODAwMDkwRkYwNEUwRkRBM0UwNEQ2MDAzMDIyQjBDODAxODkwNDIKKzoxMDJBOTAwMEZDODJFMEZEQTNFMEZDOTBGRjA1RTA2QzcwMDc5MEZGNzYKKzoxMDJBQTAwMDA0RTA2RDYwMDI4MDY4RTRGNTZBRjU2OTdGMDBFNTQ5M0QKKzoxMDJBQjAwMDE0QzU0OTYwMEZFRjI0ODBGNTgyRTQzNEZDRjU4M0UwMEYKKzoxMDJBQzAwMDJGRkY4MEVBOEY0QUU1NEEyNDgwRjU4MkU0MzRGQ0Y1NDIKKzoxMDJBRDAwMDgzRTA3RDAwRDM5NTZDRUQ5NTZCNDAwNkFDNkNBRDZCREYKKzoxMDJBRTAwMDgwMEZFNTRBMjQ4MEY1ODJFNDM0RkNGNTgzRTA3RDAwMjQKKzoxMDJBRjAwMEZDOEM2QThENjlFNTRBMjQ4MEZDRTQzNEZDRkRGRUVDMjQKKzoxMDJCMDAwMEZEN0YwMThENjQ4RTYzOEY2MjEyMkZEODIyODAwMDAyQjgKKzoxMDJCMTAwMDJDMEYwMjJDMEZFNTY3MzBFNzE5RTU2QzE0NDU2QjcwM0MKKzoxMDJCMjAwMDEyRTU0QTcwMEVFNTRDNDU0QjcwMDg5MEZGMDBFMDU0RUEKKzoxMDJCMzAwMDFGNjAwMzAyMkMwRkU1NjcyMEUwMDhFNTY3MjBFMTAzMzIKKzoxMDJCNDAwMDAyMkMwRjc1NjQ2OEU0RjU2M0Y1NjJFNEY1NjkwNEY1MzkKKzoxMDJCNTAwMDZBMTIyRkQ4MjJFNTY3MjBFNzI3RTU2QzQ1NkI3MDIxQzQKKzoxMDJCNjAwMEU1NEE3MDFERTU0QzY0MDI0NTRCNjAwREU1NEMxNDQ1OEIKKzoxMDJCNzAwMDRCNjAwNkU1NEM0NTRCNzAwODkwRkYwMEUwNTQxRjYwMjkKKzoxMDJCODAwMDAzMDIyQzBGRTU2NzIwRTAwOEU1NjcyMEUxMDMwMjJDMzMKKzoxMDJCOTAwMDBGODU0QzY4RTU2ODcwMDg0MzY3MDE1MzY3RkQ4MDEzMzMKKzoxMDJCQTAwMEU1Njg2NDAyNjAwN0U1NjgxNDYwMDI4MDY1NTM2N0ZFQUIKKzoxMDJCQjAwMDQzNjcwMjdDMDAxMjJGQzMyMkU1NjczMEU3MUFFNTZDRjkKKzoxMDJCQzAwMDE0NDU2QjcwMTNFNTRBNzAwRkU1NEM0NTRCNzAwOTkwNDYKKzoxMDJCRDAwMEZGMDBFMDU0MUYxNDYwMDI4MDM4RTU2NzIwRTEwMjgwQTYKKzoxMDJCRTAwMDMxN0MwMTEyMkZDMzIyRTU2NzIwRTcxNUU1NkM0NTZCQTgKKzoxMDJCRjAwMDcwMEZFNTRDNDU0QjcwMDk5MEZGMDBFMDU0MUYxNDYwQzYKKzoxMDJDMDAwMDAyODAwRkU1NjcyMEUxMDI4MDA4N0MwMDEyMkZDMzIyQkEKKzoxMDJDMTAwMDgwMDAwMjJFQ0FCNDQwMDI4MDA2RDM1MDAzMDIyRUMwQTgKKzoxMDJDMjAwMDkwRkYwMUUwOTBGRDNERjBFNTRBOTBGRDNFRjBFNDkwMUMKKzoxMDJDMzAwMEZEM0ZGMEU1NjQyNDAzRjU2NEU1NjMzNDAwRjU2M0FEMUUKKzoxMDJDNDAwMDRCRTU0Qzg1NjQ4Mjg1NjM4M0NERjBBM0NERjA5MEZGODYKKzoxMDJDNTAwMDAxRTAxMjAxQjcyQzdEMDEyQ0EzMDIyQ0NEMDMyQ0Y3MkYKKzoxMDJDNjAwMDA0MkQ0NTA1MkQ4MjA2MkRBODA3MkRDRTA4MkRGNDA5MkIKKzoxMDJDNzAwMDJFMUEwQjJFNDAwQzJFNEY4MDJFNEY4MTAwMDAyRUFEQjEKKzoxMDJDODAwMEU1NjcyMEU3MDY3QzA1MTIyNTRBMjI3REI3N0UzNDdGNjIKKzoxMDJDOTAwMDAyNzk0MDdBRkQ3QjAxNzQwODc4MDAxMjAzM0Y3RDA4QjkKKzoxMDJDQTAwMDdDMDAxMjI0QjEyMkU1NjcyMEU3MDY3QzA1MTIyNTRBNDQKKzoxMDJDQjAwMDIyRTU0QUI0MDMwMDQwMTBCNDA1MDA1MDBCRTU0QTdGRkEKKzoxMDJDQzAwMDAwRkU3QzEwMTIzMTlBMjI3RDAwN0MwNzEyMjRCMTIyNzIKKzoxMDJDRDAwMEU1NjcyMEU3MDY3QzA1MTIyNTRBMjJFNTRBQjQwMzAwOTEKKzoxMDJDRTAwMDQwMTBCNDA1MDA1MDBCRTU0QTdGMDBGRTdDMTExMjMxMDQKKzoxMDJDRjAwMDlBMjI3RDAwN0MwNzEyMjRCMTIyRTU2NzIwRTcwNjdDM0EKKzoxMDJEMDAwMDA1MTIyNTRBMjJFNTRBQjQwNTAyODAwM0QzNDAwQUU0QUQKKzoxMDJEMTAwMEZGMDRGRTdDMEExMjMxOUEyMkI0MDEwMjgwMDNEMzQwRTAKKzoxMDJEMjAwMDBBRTRGRjA0RkU3QzA4MTIzMTlBMjJCNDAzMDA0MDEwMkEKKzoxMDJEMzAwMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxMzEyMzE5QTIyNDUKKzoxMDJENDAwMDdEMDA3QzA3MTIyNEIxMjJFNTY3MjBFNzM0RDNFNTZDQ0YKKzoxMDJENTAwMDk0NDhFNTZCOTQwMDUwMDZFNTZDNDU2QjcwMDY3QzAyNjgKKzoxMDJENjAwMDEyMjU0QTIyRTU0QUI0MDEwM0IzNDAwQkMzQjQwMzAwNjEKKzoxMDJENzAwMDQwMDlCNDA2MDA1MDA0MTIzMDcwMjI3QzA3MTIyNTRBMjQKKzoxMDJEODAwMDIyMTIyNEU4MjJFNTY3MjBFNzFERTU0QUI0MDMwMDQwNEIKKzoxMDJEOTAwMDEwQjQwNTAwNTAwQkU1NEE3RjAwRkU3QzE2MTIzMTlBRjQKKzoxMDJEQTAwMDIyN0MwNzEyMjU0QTIyMTIyNEU4MjJFNTY3MjBFNzFEMkIKKzoxMDJEQjAwMEU1NEFCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NEE3RjAwMUIKKzoxMDJEQzAwMEZFN0MxOTEyMzE5QTIyN0MwNzEyMjU0QTIyMTIyNEU4MkQKKzoxMDJERDAwMDIyRTU2NzIwRTcxREU1NEFCNDAzMDA0MDEwQjQwNTAwNzIKKzoxMDJERTAwMDUwMEJFNTRBN0YwMEZFN0MxNzEyMzE5QTIyN0MwNzEyQjUKKzoxMDJERjAwMDI1NEEyMjEyMjRFODIyRTU2NzIwRTcxREU1NEFCNDAzQUMKKzoxMDJFMDAwMDAwNDAxMEI0MDUwMDUwMEJFNTRBN0YwMEZFN0MxODEyMEMKKzoxMDJFMTAwMDMxOUEyMjdDMDcxMjI1NEEyMjEyMjRFODIyRTU2NzIwRjMKKzoxMDJFMjAwMEU3MURFNTRBQjQwMzAwNDAxMEI0MDUwMDUwMEJFNTRBMjUKKzoxMDJFMzAwMDdGMDBGRTdDMTUxMjMxOUEyMjdDMDcxMjI1NEEyMjEyNEQKKzoxMDJFNDAwMDI0RTgyMkU1NjcyMEU3MDY3QzA3MTIyNTRBMjIxMjI0OUYKKzoxMDJFNTAwMEU4MjJFNTY3MzBFNzIwOTBGRjAwRTA1NDFGNzAxMDkwRjMKKzoxMDJFNjAwMEZGMDFFMEI0ODAwNTEyMjRERjgwMDMxMjI0RTgyMjdERjQKKzoxMDJFNzAwMDAwN0MwNTEyMjRCMTIyOTBGRjAwRTA1NDFGNjAwNjdDMDQKKzoxMDJFODAwMDA1MTIyNTRBMjJEM0U1NkM5NDQ4RTU2Qjk0MDA1MDBCNUIKKzoxMDJFOTAwMEMzRTU2Qzk0MDdFNTZCOTQwMDUwMDY3QzAzMTIyNTRBNDkKKzoxMDJFQTAwMDIyRTU0QUI0MDUwNDEyMzA3MDIyN0MwNzEyMjU0QTIyMUEKKzoxMDJFQjAwMEU1NjczMEU3MDg3RDAwN0MwNTEyMjRCMTIyN0MwNTEyMEQKKzoxMDJFQzAwMDI1NEEyMkI0MjAwMjgwMDNEMzQwMDA4MDAwMTIyRjlFQTYKKzoxMDJFRDAwMDIyNzU0MzAwOTBGRjgzRTA1NDBGRDM5NTQzNDAyNEU1Q0YKKzoxMDJFRTAwMDQzMjRGMEY1ODJFNDM0RkVGNTgzRTBBRDY0QUU2M0FGRDUKKzoxMDJFRjAwMDYyMTIwMzBGMDU0MzBERUQ3MDAxMEU4RDY0OEU2MzhGMUEKKzoxMDJGMDAwMDYyODBEMUU1NDM3RDAwRkNDM0U1NkE5Q0Y1NkFFNTY5MTIKKzoxMDJGMTAwMDlERjU2OUU1NkE0NTY5NjAwNkU0OTBGRjgzRjAyMjkwQkIKKzoxMDJGMjAwMEZGODJFMDQ0MDhGMEU0RjU2OTc1NkE0OTkwRkQzREUwRjAKKzoxMDJGMzAwMEI0MDUwMjgwMDNEMzQwNDA5MEZEM0VFMEY1NDNCNDA1NjQKKzoxMDJGNDAwMDAyODAwM0QzNDAwQUU0RkYwNEZFN0MwQjEyMzE5QTIyNzQKKzoxMDJGNTAwMEI0MDEwMjgwMDNEMzQwMEFFNEZGMDRGRTdDMDkxMjMxNkQKKzoxMDJGNjAwMDlBMjJCNDAzMDA0MDEwQjQwNTAwNTAwQkU1NDM3RjAwRTMKKzoxMDJGNzAwMEZFN0MxNDEyMzE5QTIyMjJCNDgwMDA0MDIzQjQ4MjAwRDUKKzoxMDJGODAwMDUwMUU3QzNEN0RGRDEyMTdENTdEMDA4QzY2OEQ2NTkwQjEKKzoxMDJGOTAwMEZEM0ZFMDYwMDUxMjJGOUU4MDA1N0MwMDEyMkZDMzIyQUEKKzoxMDJGQTAwMDIyOTBGRjgzRTA1NDdGRjA5MEZGODJFMDQ0MDhGMDkwOEQKKzoxMDJGQjAwMEZGODBFMDQ0MDhGMDIyOTBGRjgyRTA0NDA4RjA5MEZGOTgKKzoxMDJGQzAwMDgwRTA0NDA4RjAyMjhDMjM3RDAwOEM2QThENjk3NTY0NTIKKzoxMDJGRDAwMDNENzU2M0ZENzU2MjAxMTIyRkQ4MjI5MEZGODNFMDU0ODYKKzoxMDJGRTAwMDdGRjBFNTZBNjQ0OTQ1Njk3MDAxMjJDM0U1NkE5NDA4ODcKKzoxMDJGRjAwMEU1Njk5NDAwNDAxNTc1MjEwOEU1MjE3RDAwRkNDM0U1RDUKKzoxMDMwMDAwMDZBOUNGNTZBRTU2OTlERjU2OTgwMDk4NTZBMjFFNEY1QTAKKzoxMDMwMTAwMDY5NzU2QTQ5NzUyMjAwRTUyMkMzOTUyMTUwMjZBRDY0ODEKKzoxMDMwMjAwMEFFNjNBRjYyMTIwMUU2RkNFNTIyMjRGOEY1ODJFNDM0RDcKKzoxMDMwMzAwMEZFRjU4M0VDRjAwNTIyMERFRDcwMDEwRThENjQ4RTYzQkMKKzoxMDMwNDAwMDhGNjI4MEQzRTUyMTU0N0Y5MEZGODFGMDIyOEM0ODdGRUUKKzoxMDMwNTAwMDAwRUYyNEZCNDAxOUU0RUY3NUYwMDdBNDI0M0ZGNTgyNEMKKzoxMDMwNjAwMEU0MzRGQ0Y1ODNFMDY1NDg3MDAyRDMyMjBGODBFMjhGRTAKKzoxMDMwNzAwMDQ3QzMyMjg1NkM2QTg1NkI2OTkwRkY4MkUwNTRGN0YwNDQKKzoxMDMwODAwMDkwRkY4M0UwNTQ3RkYwMjJDMDAwQzAwMUMwMDJDMDA2NjAKKzoxMDMwOTAwMEMwMDdFNTcyMjQwOEY4ODYwNjUzMDY3RjdDRkYxMjMwQ0QKKzoxMDMwQTAwMEZBN0MwMDdEMDBFNTc1NjA0NkZGOTBGRTlERTA1NDdGNTAKKzoxMDMwQjAwMDZFNzAwRkMwODNDMDgyQTNFMEZEQTNFMEZDQTMxNTc1NzIKKzoxMDMwQzAwMDgwMDdBM0EzQTNERkU2ODAyNkRGMDZEMDgyRDA4MzgwMUIKKzoxMDMwRDAwMDFFRTBGOEEzRTBGOUEzRTBGQUQwODJEMDgzRThGMEEzRTEKKzoxMDMwRTAwMEU5RjBBM0VBRjBBM0MwODNDMDgyQTNBM0EzODBEQTEyMEQKKzoxMDMwRjAwMDMxOTNEMDA3RDAwNkQwMDJEMDAxRDAwMDIyODVBODc0MjkKKzoxMDMxMDAwMDc1QTg4OEVDNzAwMjdDM0Y4QzczMjJFNTcyMjQwOEY4NjUKKzoxMDMxMTAwMDc2MDAxMjMxRTc4MEZCQzAwMEMwMDFDMDAyQzAwNkMwQ0IKKzoxMDMxMjAwMDA3QUUwNDdDRkYxMjMwRkFFNTc1NjA0MkZGOTBGRTlEMDkKKzoxMDMxMzAwMEUwNTQ3RjZFNzAwQkMwODNDMDgyQTNBM0EzMTU3NTgwN0IKKzoxMDMxNDAwMDA3QTNBM0EzREZFQTgwMjZERjA2RDA4MkQwODM4MEQ4M0UKKzoxMDMxNTAwMEUwRjhBM0UwRjlBM0UwRkFEMDgyRDA4M0U4RjBBM0U5OTUKKzoxMDMxNjAwMEYwQTNFQUYwQTNDMDgzQzA4MkEzQTNBMzgwREE3ODA4MDcKKzoxMDMxNzAwMDA4NzkxODA5N0MwMUU2NTQ3RjZFNzAwNjc2MDA3NzAwQTYKKzoxMDMxODAwMDgwMDYwODA5MENCQzA4RUUxMjMxOTNEMDA3RDAwNkQwOTcKKzoxMDMxOTAwMDAyRDAwMUQwMDAyMjc1NzMwMDg1NzRBODIyQzBGMEMwNEYKKzoxMDMxQTAwMDgyQzA4M0MzRTU3NTI0RTg1MDA1MTIzMUU3ODBGNEVDNTIKKzoxMDMxQjAwMDYwMzE5MDM0QjZFNDkzQzM5QzQwMjhDMDA0N0NGRjEyNzUKKzoxMDMxQzAwMDMwRkFEMDA0NDMwNDgwRTU3NTc1RjAwM0E0MjQ5REY1MUUKKzoxMDMxRDAwMDgyRTQzNEZFRjU4M0VDRjBFRkEzRjBFRUEzRjAwNTc1ODYKKzoxMDMxRTAwMDEyMzE5M0QwODNEMDgyRDBGMDIyQzAwNDdDMjBEMjhDQzQKKzoxMDMxRjAwMEQyOERENTA0RkREMDA0MjI3NUE4MDA3NTg4MDA3NUI4NUQKKzoxMDMyMDAwMDAwNzVGMDAwNzVEMDAwRTRGODkwMDAwMEY2MDhCODAwRjIKKzoxMDMyMTAwMEZCMDIwMDAwQzNFRDk0MDI1MDA0N0QwMzdDRThFQ0Y0NTMKKzoxMDMyMjAwMEZDRURGNEZEMENCQzAwMDEwRDhDNzk4RDc4MjJDM0VDMTMKKzoxMDMyMzAwMDk0QkNFRDk0MDI1MDA0N0QwNzdDRDBFQ0Y0RkNFREY0REEKKzoxMDMyNDAwMEZEMENCQzAwMDEwRDhDNzc4RDc2MjJFQzcwMDEyMkMwNDQKKzoxMDMyNTAwMDAwRTU3MjI0MThGOEE2MDRFNTcyMjQwOEY4QzY1NDdGMjUKKzoxMDMyNjAwMEY2RTYzMEU3MDNEMDAwMjIxMjMxRTc4MEY0QzI4Qzg1MDUKKzoxMDMyNzAwMDc2OEM4NTc3OEFEMjhDQzBFMEMwRDBDMEYwQzA4MkMwODYKKzoxMDMyODAwMDgzQzAwMEMwMDFDMDAyQzAwM0MwMDRDMDA1QzAwNkMwQTYKKzoxMDMyOTAwMDA3MTIxQjI4RTU3MjI0MDhGOEU2NjAyNEU1NzIyNDEwNjIKKzoxMDMyQTAwMEY4QTY4MUU1NzI3NUYwMjFBNDI0OTVGNTgyRTQzNEZEMzkKKzoxMDMyQjAwMEY1ODM3OEE4RTU4MTA0QzM5OEY5RTZGMDA4QTNEOUZBNjQKKzoxMDMyQzAwMDc0MDgyNTcyRjgwNTcyMDhFNjU0ODA3MDBDRTU3MkI0MzMKKzoxMDMyRDAwMDA3RjM3ODA4NzU3MjAwODBFRkU1NzIyNDEwRjg4NjgxOTQKKzoxMDMyRTAwMEU1NzI3NUYwMjFBNDI0OTVGNTgyRTQzNEZERjU4Mzc4MjgKKzoxMDMyRjAwMEE4RTU4MTA0QzM5OEY5RTBGNjA4QTNEOUZBRDAwN0QwNkQKKzoxMDMzMDAwMDA2RDAwNUQwMDREMDAzRDAwMkQwMDFEMDAwRDA4M0QwQTUKKzoxMDMzMTAwMDgyRDBGMEQwRDBEMEUwMzJDMEUwQzBEMEMwMDBDMDAxMzgKKzoxMDMzMjAwMEMwMDJDMjhFODU3ODhEODU3OThCRDI4RTc4MTk3OTA5MDUKKzoxMDMzMzAwMDdBMDdFNzcwMDRBNjAwODAwQkU2NjAwODE2RTY3MDA0QzIKKzoxMDMzNDAwMEU3NDQ4MEY3MDgwOURBRUFFNTczNjAxMzE0RjU3MzcwNEYKKzoxMDMzNTAwMDBFRTU3MjI0MDhGODc2MDAxMjMxOTNEMjhDRDI4REQwMEIKKzoxMDMzNjAwMDAyRDAwMUQwMDBEMEQwRDBFMDMyNzU4MUE3NzU5MDAwOTYKKzoxMDMzNzAwMDc1NzkzMDc1NzhGODc1Nzc2MDc1NzZGMDEyMDUzQzEyQkUKKzoxMDMzODAwMDM0MEYxMjE3OEIxMjM0MzkxMjMxRjU4MEUzMjJDMDAwNEEKKzoxMDMzOTAwMDdDMDFFQzI0MDhGOEU2NjAwOTBDQkMwOEY1MTIzMUU3NjIKKzoxMDMzQTAwMDgwRUVEMDAwMjJDMEYwQzA4MkMwODNDMDAwQzAwNkMwNDIKKzoxMDMzQjAwMDA3RUQyNDEwRjg3NkI2RUQ3NUYwMjFBNDI0OTVGNTgyN0EKKzoxMDMzQzAwMEU0MzRGREY1ODNDMDgyQzA4M0EzQTNFNDc4MERGMEEzQTkKKzoxMDMzRDAwMEQ4RkNFQzU0N0Y3NUYwMDJBNDI0ODJGNTgyRTVGMDM0MjkKKzoxMDMzRTAwMDM0RjU4M0U0OTNGRTc0MDE5M0Y1ODI4RTgzRTQ5M0ZFQjcKKzoxMDMzRjAwMDc0MDE5M0ZGRDA4M0QwODJFRkYwQTNFRUYwRUQyNDA4QTgKKzoxMDM0MDAwMEY4RUM0NDgwRjZEMDA3RDAwNkQwMDBEMDgzRDA4MkQwMkMKKzoxMDM0MTAwMEYwMjI3NTcyMDA3NTc1MDA3QTA4NzkxODc4MDg3NjAwQzAKKzoxMDM0MjAwMDc3MDAwODA5REFGOEU0NzgwODc0ODA0NDdGRjY3NDAxQkMKKzoxMDM0MzAwMDQ0MTBGNTg5NzVCODA4RDJBQkQyQTkyMjc1ODFBN0QyRkMKKzoxMDM0NDAwMDhFRDI4Q0QyQUZFNTc1NjAzMkZGOTBGRTlERTA1NDgwNDUKKzoxMDM0NTAwMDYwMjQ3ODA4NzkwOEUwNTQ3RkZBN0IwMEU2NTQ3RkI1NTEKKzoxMDM0NjAwMDAyMDI3QkZGMDhEOUY1RUI3MDBDRUFGMDEyMzM4QkFENEEKKzoxMDM0NzAwMDA0QUMwMjEyMzNBMkEzQTNBM0RGRDIxMjMxRTc4MEM1QUEKKzoxMDM0ODAwMDdDMDE3RDAwMjIwNEY1MDRFOTA0RUQwNEUxMDRERDA0N0YKKzoxMDM0OTAwMEQ5MDRFNTA0RjEwNDlEMDRBMTA0Q0QwNEQxMDQ5OTA0RTgKKzoxMDM0QTAwMDk5MDQ5OTA0RDUwNEI1MDRBRDA0QjEwNEE5MDRDMTA0NzgKKzoxMDM0QjAwMEJEMDRCOTA0QzUwNEM5MDRBNTE5MDEwMzAwMjIwMDQ4Q0MKKzoxMDM0QzAwMDAyMDAyNDBGMTgwQTEwNjQwRDY4MEMwNTA2MDIwMzAxOUYKKzoxMDM0RDAwMDAxODEwMTAwMDBFNzAwQzAwMDgwMDA2MDAwNDAwMDMwNzIKKzoxMDM0RTAwMDAwMTgwMDBDMDAwODAwMDQwMDAyMDAwMTAwMDgxODM4NTEKKzoxMDM0RjAwMDI4MDYwMjEwMEEwMjAwMDAwMDAwMDAwMTgxMTAwQTAyRTIKKzoxMDM1MDAwMDAwMDAwMDAwMDBGQkU4RkJGQTEyMDExMDAxRkYwMDAwQzAKKzoxMDM1MTAwMDA4NTEwNDVGNTAxNjAxMDEwMjAwMDIwOTAyMzUwMDAxNDIKKzoxMDM1MjAwMDAyMDBFMDAwMDkwNDAwMDAwNUZGMDAwMDAwMDcwNTgxMUIKKzoxMDM1MzAwMDAyNDAwMDAwMDcwNTAxMDI0MDAwMDAwNzA1ODIwMjQwMkEKKzoxMDM1NDAwMDAwMDAwNzA1MDIwMjQwMDAwMDA3MDU4NTAzMDIwMDAxOTQKKzoxMDM1NTAwMDA0MDMwOTA0MjQwMzU0MDA2NTAwNzgwMDYxMDA3MzAwMkIKKzoxMDM1NjAwMDIwMDA0OTAwNkUwMDczMDA3NDAwNzIwMDc1MDA2RDAwNDkKKzoxMDM1NzAwMDY1MDA2RTAwNzQwMDczMDAyQTAzNTQwMDU1MDA1MzAwNjgKKzoxMDM1ODAwMDQyMDAzNTAwMzAwMDM1MDAzMjAwMjAwMDUzMDA2NTAwNTUKKzoxMDM1OTAwMDcyMDA2OTAwNjEwMDZDMDAyMDAwNTAwMDZGMDA3MjAwMzIKKzoxMDM1QTAwMDc0MDAyMjAzNTQwMDU1MDA1MzAwNDIwMDM1MDAzMDAwREYKKzoxMDM1QjAwMDM1MDAzMjAwMjAwMDIwMDAyMDAwMjAwMDIwMDAyMDAwRTQKKzowNDM1QzAwMDIwMDAyMDAwQzcKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS90cl9zbWN0ci5iaW4uaWhleCBiL2Zpcm13YXJlL3RyX3NtY3RyLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3OTc0NTEKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS90cl9zbWN0ci5iaW4uaWhleApAQCAtMCwwICsxLDQ3NyBAQAorOjEwMDAwMDAwQkMxRDEyM0I2M0I0RTkwMDAwMUYwMDAxMDEwMDAyMDVBMgorOjEwMDAxMDAwMDEwMDA2MDMwMTAwMDQwOTAxMDAwQTA3MDEwMDA4MEJBMgorOjEwMDAyMDAwMDEwMDBDMDAwMDAwMDAwRjAxMDAxMDBEMDEwMDBFMTM3NAorOjEwMDAzMDAwMDEwMDE0MTEwMTAwMTIwMDAwMDUwMDE1MDEwMDE2MTkzRAorOjEwMDA0MDAwMDEwMDFBMTcwMTAwMTgwMDAwMEUwMDAwMDAwMTAwMDA1NgorOjEwMDA1MDAwMDAwNDAwMUIwMTAwMUMwMDAwMDcwMDAwMDAwRjAwMDA0RQorOjEwMDA2MDAwMDAwQjAwMUQwMTAwMUUwMDAwMDgwMDAwMDAwMjAwMDAzRgorOjEwMDA3MDAwMDAwQzAwMDAwMDA2MDAwMDAwMEQwMDAwMDAwMzAwMDA1RQorOjEwMDA4MDAwMDAwQTAwMDAwMDA5MDAwNDc4QzZCQzAxOTQwNDkzODBCMworOjEwMDA5MDAwQzg0MDYyRTlEQTFDMkMxNTU1NTU1NTU1NTU1NTU1NTgyQgorOjEwMDBBMDAwMEJFOUU1RDU5NUMxOUQ3N0NFQkJBMDZFMUMwNUY2NzcxMworOjEwMDBCMDAwQzYwMkZBOTY3MEU4MURDMDE3MEUwMkZBNTg3REMwNUY5RQorOjEwMDBDMDAwNzJDRUVDQTRDMzg0OTA3QTMwQ0Q4RDc5MTlFNzZDMjQ3QworOjEwMDBEMDAwMjc5QzA4MzkwNzM4QTg0QTRDRUE0RDk4OUIyNDRDQzAwNQorOjEwMDBFMDAwMjZEM0U3NTQ1QTRERjI0QzBDMTMyMzQ5OTAzMjZFQTQ5OAorOjEwMDBGMDAwREY5MzcxMTM3NzI2RTEyNkY4MjYwQzRDMTIyNjA4MDlBNworOjEwMDEwMDAwODI4MjYwQTkzMDc5MzZCMEIyQThBNzcyNjQ4RjlCMzMxRgorOjEwMDExMDAwMzNGOUI4MzlENTExNzNBQTc1MjY1RDI2NTE5MzJBNDk0QQorOjEwMDEyMDAwOTRDOTk1ODlCQzREQzg5QjgwOUJBMDk5MDY0Qzg2MjY5NgorOjEwMDEzMDAwNTg5QkE0OUI5OTM3NjI2QzY3OUIzMzMwQkYzNjY2NjFDRQorOjEwMDE0MDAwQkYzNkVDQzVCRDY2ODI1QTUwMzFENTlEOTgxODI5M0MwMgorOjEwMDE1MDAwOTg4NjRDMTcyNjNFMkNCODY5M0I0OTJFQjQwODQzMUFBMgorOjEwMDE2MDAwQTRGOUIzNTFGMTEwRjM0M0NEMDg2RjYzNzlCMzMzMEVBMworOjEwMDE3MDAwMTM5ODQ5OTgwNERBN0NFMDUyNzkzMTBDOTgyRTREQUNGMgorOjEwMDE4MDAwMkM4NDE0RUU0Q0ZFNjc1RUU0OUE3NTI5RDdBOTM1M0FBMworOjEwMDE5MDAwOTQ1QkQ1OUI1OEI0QUY3NTY2QUYxNEE5RUY0MDk1MjUxNQorOjEwMDFBMDAwMDhCOUFENDJGQ0Q4RDk4QzMzMEUxMzk4NjYxRTQ1QUMwNQorOjEwMDFCMDAwQjAwQzQyRDNDQ0E2MTI2MkRFQjRCMTgwNDk3REEyREU3RgorOjEwMDFDMDAwQjQxOEMwMjQ4NEU2NTRGNTgzNDYwMTY4MUE2MzBDQzY0QgorOjEwMDFEMDAwMTI2NEZBNEMzNTFDMkMwRUFBQUFBQUFBQUFBQUFBQUE4OAorOjEwMDFFMDAwQUFBQUFBQUFBQUFERDcwMjcwRTA0Q0YzQTFDMUQ1QzBCMQorOjEwMDFGMDAwM0NCOTY5Mzk2MDRFNTg3NzAyNjc5MzNDOTlFNENGMzgyRgorOjEwMDIwMDAwMUM5NzJFNDAxQjkwMzE0NkEzNUUwRTg4MzQ2QTM1RTA2MQorOjEwMDIxMDAwRThBQTM1MUFBOUY1MTU0NkEzRUE3RDRBQTM1MUFBOUY3MworOjEwMDIyMDAwNzA1NEE2NTcyRUI0Q0RDOEEzMENDMURBQzZFMUNCN0E2MAorOjEwMDIzMDAwRDQxQzY4RkZDRjU1QThDMDJEODUxMTE3NDQyQTMwMEI1OAorOjEwMDI0MDAwNEE4OEMyNERCNTIwRDUyNjAxNjk1MTY5NTIxOTUyNjBCQworOjEwMDI1MDAwMTY5NTE2ODI5NjU0OTgwNUE1NDVGM0RENkFGOTI4MTg3NworOjEwMDI2MDAwRUYwMDMwMzA1MTRFNDQ1RDEyRDE0M0U2MTI2RjlFQkExQQorOjEwMDI3MDAwQ0NERjI1MDMxREUwMDYwNjBBMzBDQ0E5RUIyRDAwODY1NQorOjEwMDI4MDAwQTYxMjY1NEY1NkQ2NjU0OTVGM0RFODM3Qzk0MEM3NzgyNQorOjEwMDI5MDAwMDE4MTgyOEMzMzE4NDk4MEFFNDBDNTE4MDU5QzZEMThDOQorOjEwMDJBMDAwNjYwRUYzQTBDNjEyNjJERUY1MDRCNEFDNkJDNjE5OTFGQgorOjEwMDJCMDAwNzMwNTQ4MkU3Mjk0ODA3M0ExQzg0NzM2NjY2NDJGMzY0MgorOjEwMDJDMDAwNjY2NDA3OTkwMjkxOEU3MkQxMEY5RDA2MzE3M0EwQzNBNworOjEwMDJEMDAwNTE2QTFBMjBCRjNBMEMyQzczODc0MzVFNjAwMjIzRkNEQworOjEwMDJFMDAwRTBENjM1RUY5RUY1RUY5MjgxOEVGMDAzMDMwNTE4NjY5OAorOjEwMDJGMDAwNDVDQzBCNDgyRTcwMEE0MDM5RDBFNDIzOUIzMzMyMTc4QgorOjEwMDMwMDAwOUIzMzMyMDNDQzg1NDhDNzM4MTRBNUNFMjk3RUQyODBEMgorOjEwMDMxMDAwQTFBOEI0NDg4ODJGQ0U4MzBCMUNFMUQwRDc5ODA0ODhCRAorOjEwMDMyMDAwODdDRTk2MzE3M0E1OEZGMzgzNThEN0JFN0I4MkFGOTI2OQorOjEwMDMzMDAwODE4RUYwMDMwMzA1MTg2NjQ1Q0MxNTIwQjlDODI5MDA0NQorOjEwMDM0MDAwRTc0MzkwOEU2Q0NDQzg1RTZDQ0NDODBGMzIwNTIzMUM4MgorOjEwMDM1MDAwRTQ1MEQ0NUExNzg4MkZDRTgzMTBGOUQwMjMxNzNBMDRDQgorOjEwMDM2MDAwMzVFNjAwMjIxNjM5QzNBM0ZDRTBENjM1RTBCRkY0MTgwOQorOjEwMDM3MDAwRjIyRDRENDM1MTZFNUEyMjFGMzBENDE3RTc0MTkxNzMyRAorOjEwMDM4MDAwMDU0ODJFNzc2OTAwRTc0MzkwOEU2Q0NDQzg1RTZDQ0MzNAorOjEwMDM5MDAwQzgwRjMyMDUyMzFDRUY0QzRFMDYwNEM5OUUwQkZGNDFDQgorOjEwMDNBMDAwOEYyMkQ0RDQzNTE2RTVBMjIxRjM1QTgyRkNFODMyMkVFRQorOjEwMDNCMDAwNjBBOTA1Q0UxMzQ4MDczQTFDODQ3MzY2NjY0MkYzNjY0QgorOjEwMDNDMDAwNjY0MDc5OTAyOTE4RTcwQTk4OUMwQTlFQjUxMjVDN0NEMQorOjEwMDNEMDAwQzMzMThCOTgyQTdDRDNFRDM4RTlEMzRFNzRFRDQ5OUUxNgorOjEwMDNFMDAwMEJGRjQxOEYyMkQ0RDQzNTE2RTVBMjJERUI0NTMzOEY3OAorOjEwMDNGMDAwRkNGN0EwNUYyNTAzMURFNDBFMDYwQTMwQ0MwQ0YzRUJERQorOjEwMDQwMDAwNDBERTYxQTg3MDkyMEEwMEUxMjQxRTAwRTEyNDFFMDA3MworOjEwMDQxMDAwRTEyNDFFMDBFMTI0MUUwMEUxMjQxRTAxMEY5ODJBMEI5NgorOjEwMDQyMDAwRjNBMEM4QjlBMkE0MTczQTY5MDBFNzQzOTA4RTc1NDhCMworOjEwMDQzMDAwNUU3MDY5MDFFNjAwNTIzMUNDMTgxNEE1Q0MwOTgyOTQ5MworOjEwMDQ0MDAwNzMwQ0EwOTFGNTI1Q0MwNzA2ODQ4NDlGMzBBMkE0N0Q2RgorOjEwMDQ1MDAwNTA3NUE2NjUwMTRBOEVCNENDQzQzNTU0NzU2NkE0OTcxMAorOjEwMDQ2MDAwN0E4OTUwNTMxMzgwMTlFMzQ5NUM2RENFQTk0MDM1MDY1MworOjEwMDQ3MDAwNzhEMjU3MDZGMUIzMkE4RDk3MjM2MjkyNUQ2OTk5MUM1MQorOjEwMDQ4MDAwNkEzNkU2Q0Q0NjEyNkY5RUUxQUJFNEEzMENDMERFQUM0QgorOjEwMDQ5MDAwRDQwRDI4MUJEMDEyQTUwMEY4NEJBRDMzMjgwNkEwREVFMgorOjEwMDRBMDAwMTQ5NzNBODk1REMwMERFMzA2OTA5MjVENjk5ODY2QjkyQworOjEwMDRCMDAwMTk5NUU0QThDRjlEMzMxODQ5QkU3Qjg2QUY5MjhDMzM0MworOjEwMDRDMDAwMjQxNDBDRjQ4MzI0MjFDMjcwQkZGNDE4RjIyRDRENDM4MAorOjEwMDREMDAwNTE2RTVBMjIxRjMyQTgyRkNFODMyMkU2MDVBNDE3M0E2NgorOjEwMDRFMDAwNjkwMEU3NDM5MDhFNzU0ODVFNzA2OTAxRTY0MkE0NjMzNworOjEwMDRGMDAwOTgwMjI5NEI5QTI5NzhFOTQwNTMxMzgxODEzMjY3ODIwNworOjEwMDUwMDAwRkZEMDYzQzhCNTM1MEQ0NUFFNTAwODdDRTBEMDVGOUQ4NworOjEwMDUxMDAwMDY0NUNDMDFBNDE3M0E2OTAwRTc0MzkwOEU3NTQ4NUUwMgorOjEwMDUyMDAwNzA2OTAxRTY1OUE0NjM5ODFDNTI5NzNCMzA1MjhFN0Q0NgorOjEwMDUzMDAwMkEwOTFGNTFFQkE0QTQwQUI5OTQ4N0FFQzUzMTM4MDIyOQorOjEwMDU0MDAwRkZEMDYzQzhCNTM1MEQ0NUFFNTAwODdDRUEyMEJGM0FGMAorOjEwMDU1MDAwMEM4QjlBMTY5MDVDRTlBNDAzOUQwRTQyMzlENTIxNzk0MworOjEwMDU2MDAwOTU0ODBGMzAwQTkxOEU2MEVCMjk3MzAwMDk1NDA0Q0EzNAorOjEwMDU3MDAwODI2NTUyNjVFNENBMjI2NTcyNjUwOTMyRTA5OTcyNEM1RgorOjEwMDU4MDAwQzRFMDBCRkY0MThGMjJENEQ0MzUxNkI5NDAyMUYzOEE0MQorOjEwMDU5MDAwODJGQ0U4MzIyRTYwQTkwNUNFOUE0MDM5RDBFNDIzOUQzMgorOjEwMDVBMDAwNTIxNzk5NTQ2MTk5MDFFNjQwQTQ2Mzk4MDRCMTg0OTg2NAorOjEwMDVCMDAwMThFRjJEMDMwNTMxMzgwMkZGRDA2M0M4QjUzNTBENDU1RQorOjEwMDVDMDAwQjk2ODg4N0NFMDUwNUY5RDA2NDVDQzgxNDgyRTcxMzQyNworOjEwMDVEMDAwOEY0ODAxNDgxNTIxMDUyMUU5MEE1MjAzQ0U1QTQ2MzlCMAorOjEwMDVFMDAwQ0Y0NzhFNjBBQjFBRjM1MzQzRUIzNTI0QjgxQjMwMDc2QgorOjEwMDVGMDAwMDk4QTc0MkY3RTQxNzQxRTFEMEQ4NzQ2NDlENTk1RDFGOQorOjEwMDYwMDAwRDVENUJCQTk0RTgyOUQwNTNBMEE3NDE0RTgyOUQwNDI3QgorOjEwMDYxMDAwNzQ1QkNFNTBDNDA3NDVCQ0UyMEM0MDc0NUJDRTgzMDRDRgorOjEwMDYyMDAwRjk5NTREMTM2MzVFNkYzMTNCQTA4QkEyQzUzOThENzg3MAorOjEwMDYzMDAwM0EyMkEwMDA2QkMxRDE1NDYwMTZEOTkxQTJFNzQzOEMzNQorOjEwMDY0MDAwMjREQzFDRTA1MTE3Mzk2QjNCQ0M0QjQyMkU2QjUwQkY2NgorOjEwMDY1MDAwMzYzNjY1NEY3QTE4NTUyNTc4OTgyM0U3NTAzRUYzODE1MgorOjEwMDY2MDAwNEMwMjZEM0U3MTUzQUY3OEE5RDRBNjI5QjFCQ0Q5OTk3QgorOjEwMDY3MDAwQjI4RTYyOEYyMjJFNzUxNkIwQjJBQjIzMjgxNjU0NTI1QQorOjEwMDY4MDAwMzFCQ0Q5OTlCMjhFNjYxOTAyMkU3NTE2NTAyQ0E5QzhBNAorOjEwMDY5MDAwQzZGNTIwRDNFNDdGNEY5QzBBRDYxNjdGOTBFRTRDRUIzNAorOjEwMDZBMDAwQ0ZFMjg4QkEyRjQyODZBRUJERTVBNzUyOUY5MzYzNzkwOQorOjEwMDZCMDAwRUIzMzA4Rjk5NDUyNDdDRDk5MjU2RjNBMEMxM0U2NTU2MAorOjEwMDZDMDAwMzQ0QzVBNERCNTIzOTVBNTQ4MTE1QTBBNDM5NUFDMkM4NAorOjEwMDZEMDAwQkEyNDA1NDlCMUJDQ0FBNzcyNkM2QkM1QkRFODMxNjlDMworOjEwMDZFMDAwNTI1RDA2MTI2NTNFQjE1MDRDN0Q0RkFDMEEzMDBCMzY2MAorOjEwMDZGMDAwNjQxMTczOEE4MzhFNzUxMjlGN0JEMjk5NThFRTgyMkU3NQorOjEwMDcwMDAwNzdBMEUzOUQ1RDRGQkMyQTUzMjk1M0RFOTMyNEJBQjNFRgorOjEwMDcxMDAwMzZBQTRBQzY3OUQ0QjlERTYyNUExMTczNTA1MEJGMzcyRgorOjEwMDcyMDAwMzY2RjEzMjNCQTBDMjRDRUJERTJBNzUyQjI4RTZCNjA5MworOjEwMDczMDAwNjIyRTc1MTMzMEFDQTA1OUNBNjQ2Mzc5QjMzMzY1MUM1QgorOjEwMDc0MDAwQ0MzMjA0NUNFQTJDQTA1OURGMjMxQkQ0ODM1MjQ3REQ1MgorOjEwMDc1MDAwNzk5NkQ0OUVCMzUyNEJBMjVBMUE4RDVEN0I4MkE3NTJEMgorOjEwMDc2MDAwQjI4RTY2MTkwMjJFNzUxNjUwMkM4QzMyMUQ3QjhFQTcwOAorOjEwMDc3MDAwNTJCMUJDRDk5OTk4MDREQTdDRTJBQ0ZFNjYxOTAyMkUxQgorOjEwMDc4MDAwNjU1MEJGMzM2NjY0RkU3NDE4ODY0QzE3MjZENjE2NTIyMQorOjEwMDc5MDAwMzkxOERFN0FDQ0MyM0U2NTE0OTFGMzY2NDkwODZFODMzRgorOjEwMDdBMDAwMDkzM0FGMzFFRDBEOUQwNjEyNjIyQTMxOEQ2REU3NDE5RgorOjEwMDdCMDAwODI3Q0NBQTY4OTg3MDkyRTI5QjFBRjEwMzlENjY0OTdFMQorOjEwMDdDMDAwMzAxRDQyNzU5MzQ0MDI4QzI0RDI3QUIzNTBGNjg5MDVDOQorOjEwMDdEMDAwNDM1RTYxOThDMDJDOTIyNTNDOEIyNDg5NDkwNTQ5RTdFQQorOjEwMDdFMDAwMENCOTg0OThCN0FEMzM0NEFFNUE1MTg2NjA5RjM4QTk4RQorOjEwMDdGMDAwQTI2QzZCQzQ4RUY0NUU0OTQ2MTI2MkRFQjRDRDIxNUNGRAorOjEwMDgwMDAwQjRBMzBDQzEzRTcyMjlBMjZDNkJDNjEyNjI0N0YwRTgxOQorOjEwMDgxMDAwQzMzMjA0MzU0MDkyQTQ4Mjg4MTA5MjdDQ0JENDJGQTQ5QQorOjEwMDgyMDAwMDIxMTg0OThCN0FEMzM0NEFFNUE1MTg2NjA5RjM4QTlGRgorOjEwMDgzMDAwQTI2QzZCQzQ4RUY0NUU0OTQ0MDg0OTNFNjVFQTE3RDI0NworOjEwMDg0MDAwMDEwOEMyNEM1QkQ2OTlBNDJCOTY5NDYxOTgyN0NFNDU5QgorOjEwMDg1MDAwMzQ0RDhENzg4MTA5MjdDQ0JEMTIyODZDNThBRkI2RjM4MgorOjEwMDg2MDAwQTBDMTNFNjU1MzQ0RDhENzkyOEU3RDRCQzJGQTYxMjYxMworOjEwMDg3MDAwMDYzQUIzNkIwMzA1NDlFNzBDQjk2RjVBNjY5NTVDQjQ0OQorOjEwMDg4MDAwQTMwQ0MxM0U3MDI5QTI2RUE0REY5MzcxMTM3NzI2RTFGOQorOjEwMDg5MDAwMjZGODI2QzZCQzk0NzNGOTJGMEJFOTg0OTgxOEVBQ0M4NQorOjEwMDhBMDAwRUMwQzE1Mjc5QzMyRkYzRDU2QUY5MjhCN0FEMzM1RDU5MQorOjEwMDhCMDAwQ0I0QTMwQ0MxM0U3MDI5QTI2QzZCQzk0NzM0MTk3OTE3OQorOjEwMDhDMDAwRjQ4M0NFMDQyMDYyOEIwNTE2NDk4QzI0QzBDNzU2OTA1MQorOjEwMDhEMDAwQzBDMTUyNzlDMzJFNUJENUE2NzJEMjk0RkFBRDU4Qzg2NgorOjEwMDhFMDAwRkE5RjU0QjMzMjRCQjk1NEE2NTE4NjZCNzlEMDYwOUZBRQorOjEwMDhGMDAwMzIwNTM0NEQ4RDdBNEQxRTdBQjM1MTAwQTkzRDU5QTg2OQorOjEwMDkwMDAwN0I0NDgyQTFBRjRBOEQ1MkE5NTI0MTQ5NEYzQTJFNDBCMQorOjEwMDkxMDAwQTQ5OTUwQkU5MDA4NTI3OUMzMkU2MTI2MkRFQjRDRDA3RAorOjEwMDkyMDAwMTVDQjRBMzBDQzEzRTcwMjlBMjZDNkJDNDhGRTFEMjVEQgorOjEwMDkzMDAwNDZBOTU0QTkyMEE0QTc5RDE3MjA1MjRDQTg1RjQ4MDQ5QgorOjEwMDk0MDAwMjMwOTMxNkY1QTY2ODBBRTVBNTE4NjYwOUYzODE0RDFBMAorOjEwMDk1MDAwMzYzNUU0QTc5RDE3MjA1MjRDQTI0NTBEOEIxNUY0OTExNgorOjEwMDk2MDAwREU4QkM5MjhDMjRDNUJENjk5QTk1Q0I0QTMwQ0Q2RjMyNAorOjEwMDk3MDAwQTBDMTNFNjQwQTY4OUIxQUYxNkQ0Q0FBOTJFMDM2OTRCRAorOjEwMDk4MDAwNzA5QjI5NzgxM0FFQjNBQTg1RDQ0Mzc1MDkzQUM5RUI5NQorOjEwMDk5MDAwMzUyNEI4MUIzMjhFMTM0ODdFNEVGRDQwRkQ0MEZENDA4RAorOjEwMDlBMDAwRkQ0MEZENDBGQzEzRjQyMUY5MTc0NThBMzAwQjMzNUZGRAorOjEwMDlCMDAwODNBMjJBMzAwQjMzNUY4M0EyQThDMDJEQjMyMDcwOTI4QworOjEwMDlDMDAwMTM5QURFNzQxODI3Q0NBQTY4OUIxQUY3MDc0NTUxODA0MgorOjEwMDlEMDAwNUI2NjQ3MDczOEE4MjNFNzUxMTEzRkUwRTg4NTQ2MDFFOQorOjEwMDlFMDAwNkQ5OTA2MTI2NTRGN0EyMDI0QkFCMzMyMTUyNTdCQUQ3NgorOjEwMDlGMDAwMzM3OEFFMEU3M0QwNDdDRUE3MzBDQzQ0RkY4M0EyQTg4NQorOjEwMEEwMDAwQzAyQ0Q5OTFDMUQxMTUxODA1OUIzMjA4QkEyQzUxODA0MAorOjEwMEExMDAwNTlCMzIwNzA5MkUyOTg4OUZEQkNFRTE4OTBGQzhCQTIyRAorOjEwMEEyMDAwQzUyQjBENzgzQTIyQTU2MUFGMDc0NTUxODA1QjY2NDQxRQorOjEwMEEzMDAwOUVCMzUyNEI4M0FEQzcwOUJFMUY5Rjc0NjU1RDBBMTdGNQorOjEwMEE0MDAwN0NBQkEwQzI0QzM4NDkxMjJFMzg0OTA3QTMwQ0MxM0VEQQorOjEwMEE1MDAwNjU1MzQ0RDhEN0FERTcwMDMyNEI5QjMzMzQ0QTAzMDA4QgorOjEwMEE2MDAwOUQyNUNFODMyNEI4MTk5OThDMDIxMjRCQTE5OUQ4QzAyOAorOjEwMEE3MDAwMjc0OTczQ0ZGOTNDRjQ3Q0U3OTgwNEU5MkU3RjM5RTNFQQorOjEwMEE4MDAwNEY0NjUzQzA2MDEzQTRCOUU1M0MwM0RFOEY5Q0YzMDBDRQorOjEwMEE5MDAwOUM2RkNGM0U4NUY5QTMzNjAyMUU2MDM4OTIzRTYzMUFFMgorOjEwMEFBMDAwMTA5RkNGMTgxMDkyQkNEMEE0MENEQ0MwMEY5Qzk3MzRDMAorOjEwMEFCMDAwNjJCNkU3RjNGM0E1Q0YxODQyMzQxQ0MyQ0FGQThFNjhCNworOjEwMEFDMDAwNTIwNkFGM0NBMzBEQkY5RTUwRTFEMTczQ0FFMDNBRkM4MQorOjEwMEFEMDAwQzEwOTFBMUU2QTVDNUI4RTYzNEU3NzczQ0M2MTY3REQ1OQorOjEwMEFFMDAwRTY2QzQ4RDFGMzFCMjQ2OTUxMDhENDQyMUJGNDY3RDE0QQorOjEwMEFGMDAwODA0RTJGRDA4Q0Q4MzAwOUMyMUU4MDFDNDYwMTNBNDc0OAorOjEwMEIwMDAwRDAzMUExMDYwMTNBN0Y0NjMwMjExODA0RTk1RTg0MjlEQworOjEwMEIxMDAwMDBDMDI3Q0REMDAwN0M5ODA0RjkyRTg0NjI4QzAyN0QyMQorOjEwMEIyMDAwQkEzRTdFNEMwMjdEMkU4QzYxMDgzMDA5RjQxRDAxNjVCMQorOjEwMEIzMDAwNzMwMDlGNTFEMDg1MjAxODA0RkFCRDE5NDYxOEMwMjdBQworOjEwMEI0MDAwREZEMTk0Mzg0QzAyN0QxNzQ2NTcwMTMwMDlGNUZBMDE4MAorOjEwMEI1MDAwMDkwNjAxM0U4N0ExNEI4OEMwMjdEQzc0MEQzOUQzMDBGQworOjEwMEI2MDAwOUY3M0QwMzBCMzk4MDRGQkJEMDZDNDgzMDA5RjQ3RDA2OQorOjEwMEI3MDAwMzY0OENDMDI3MUJGM0Y5QTE3RTYzRjA4MjFFNjkyQTQ5RgorOjEwMEI4MDAwOEY5QTEwMzFBN0YzMTBCMTg0QUYzQUFDRENGNzczRjI0RgorOjEwMEI5MDAwNUNDNjJBREI5RTdFN0U5NzMxMDg2M0QwNzM3QjQzQThCOAorOjEwMEJBMDAwRTYzRDM0RUFGM0UzMTVCRjlGMTg1RjQ1Q0ZFODlGNUY0QQorOjEwMEJCMDAwOUE1QjAzRDBGM0QzQ0UzNzFDRDAwRkJCOUU2ODc4M0IzMworOjEwMEJDMDAwQkNDQTMxRThGOUEyMDIxMkEyNzM1MTA4NkZEMUYzNDZGMAorOjEwMEJEMDAwMDEzOEJGNDBGQzIzMDA5QzIxRTg0OTUxODA0RTkxRjQyQworOjEwMEJFMDAwMjEwMzE5ODA0RTlGRDAyMTYzMDYwMTNBNTY4QzAyNzQ2RQorOjEwMEJGMDAwRkU3NTQ5NUU2M0QzNEE1NDQyMzUxM0E3RDE4MDRFOTVBMgorOjEwMEMwMDAwRTgxRTlBNEMwMjdDREQxQkI5RTYwMTNFNEJBMDYyQTNCNAorOjEwMEMxMDAwMDA5RjZFOENGQ0YzMDA5RjRCQTA0MjE4Q0MwMjdEMDcxNgorOjEwMEMyMDAwNDNEQTEzMDA5RjUxRDAzRDM0OTgwNEZBQkQxQzYyOEMwNgorOjEwMEMzMDAwMDI3REZEMUM2MTczMDA5RjQ1RDFGNDRFNjAxM0VCRjRGRgorOjEwMEM0MDAwMjVCMDMzMDA5RjQzRDFBNzlDMTgwNEZCOEU4NDAzRTk5MQorOjEwMEM1MDAwODA0RkI5RTg0M0MxMzAwOUY3N0EwQTMxOTgwNEZBM0U2NworOjEwMEM2MDAwODQ0MDQxODA0RTgyRTc0MTg3MDkyMzA0MjMwMDlEMDU4QgorOjEwMEM3MDAwQ0U5NjFDMjQ4QzEwOEMwMjc0MTczQTA0Mzg0OTE4MjEyMworOjEwMEM4MDAwMTgwNEU4MkU3NDUwRTEyNDYwODQ2MDEzQTBCOUQ0MTFENAorOjEwMEM5MDAwQzI0OEMxMDhDMDI3NDE3M0E4MjM4NDkxODIxMTgwNEVBNQorOjEwMENBMDAwODJFNzUyOEUxMjQ2MDg0NjAxM0EwQjlENDAxQzI0OEM2NgorOjEwMENCMDAwMTA4QzAyNzQxNzNBMDkwRTEyNDYwODQ2MDEzQTBCOTgzNgorOjEwMENDMDAwNkExQzI0QjBFMTE4MDRFODJFNkI1MEUxMjU4NzA4QzBBNworOjEwMENEMDAwMjc0MTczMDU0Mzg0OTYxQzIzMDA5RDA1Q0NBQTFDMjQ0MAorOjEwMENFMDAwQjBFMTE4MDRFODJFNzA2ODcwOTJDMzg0NjAxM0U1NDQ4NAorOjEwMENGMDAwRjk0MDlEMDVDRTVBMUMyNEIwRTExODA0RjlEMTNFNzA4QworOjEwMEQwMDAwMjdDRjEzRTU0NDJDQTA0MkNCODlGMjIxM0EwQjlDMEE1MQorOjEwMEQxMDAwMUMyNEIwRTExODA0RjlEMTBCMzgxMEIzQzQyMTM5MzZDMgorOjEwMEQyMDAwNUM0MkM4ODQyQjc5RDA2MUMyNzQxNTI0QkFEMzMxRTVGMgorOjEwMEQzMDAwNTkwODI5MDhFMDY2NjM0Mjk1MTI4MTAwMjkwQkMxNTFDOAorOjEwMEQ0MDAwMjRCODE5OTk5MDIyOTBCNDE4QTA5MTQxMDE0MTQxNDFEMQorOjEwMEQ1MDAwNTI4M0NBNDAyODY4MjkwOEJBMTYxMDlDOTkwQjU2OTRFOQorOjEwMEQ2MDAwOTA1MjE1NzRDMDI3MUEyQUQyOTAyNUQzMDA5RDI4QUIyMworOjEwMEQ3MDAwNEE0MjE3NEMwMjcwRDQ4NDJFOTgwNEUxMkE0MjE3NEM0MAorOjEwMEQ4MDAwMDI3MDgyOTA0QkE2MDEzODUxNDg0MkU5ODA0RTE1QTQ2QQorOjEwMEQ5MDAwMjE3NEMwMjcwRkE0MTJFOTgwNEU4MkFDODBBQ0EwQUNCNQorOjEwMERBMDAwQTk1OUU1NjQ0NTY1Q0FDODRBQ0UwQUNFNEFDRTk1OTE4RQorOjEwMERCMDAwOTU5NDk1OTMyOTI1QzBDQ0NDODhBNDk3NTYzNjY0NzIxNworOjEwMERDMDAwOTA1NDhBOUM0NTA4QjlCNzY2MTI5MzA5QzlCMjc0OEVDQgorOjEwMEREMDAwQkE2MDEzRTUzNDhFQkE2MDEzRTQ3NDhFQkE2MDEzRTUxQQorOjEwMERFMDAwNjkxRDc0QzAyN0NBMjkxRDc0QzAyN0NFRDIyNUQzMDAxRgorOjEwMERGMDAwOUYzOEE0NEJBNjAxM0U1RTkxMkU5ODA0RjkxNTIyNUQwMgorOjEwMEUwMDAwMzAwOUYzRTkxMkU5ODA0RjkwNTIyNUQzMDA5REM1NDg3RgorOjEwMEUxMDAwMjVEMzAwOUM0NUNFQ0QwOUM5QjIxQTQ0QkE2MDEzRTc2OAorOjEwMEUyMDAwMzQ4OTc0QzAyNzFDMjdCNzlDODBDMkQ3NzY1OTlCOTNGRQorOjEwMEUzMDAwMEM2NEMzMUQxQkY0NDU0QkM3QzYzQTM3RTg4MTRCQzc0QQorOjEwMEU0MDAwQzYzQTM3RTg5MTRCQzdDNjMyNjE4RUIzQkNDMzRBMjI1QgorOjEwMEU1MDAwRTZCNTI0OTc3MUM5ODdCNDMxQUU3M0EyQ0YzOUQyNUQ5QworOjEwMEU2MDAwMDQ0NDQyQzBENkRFNzEwNjE2QkJEQkNFODMwQzY0QzNERAorOjEwMEU3MDAwMUQzMTEzMDRGOTk1NEQxMzMyOTM2MzVFNjYxNENDMjkyQQorOjEwMEU4MDAwMkE1MzMwQTY2MTRDQzI5OTg1M0E3MkNDQzI5OTg1MDYyNAorOjEwMEU5MDAwMUJCMzBBNjYxNDE0MjQ5OTg1MzMwQTA4QjE4NjYxNEM4MQorOjEwMEVBMDAwQzI4NDIxNjg3MzNCMzBBNjYxNDE0RUE1OTg1MzMwQUM5MworOjEwMEVCMDAwNTk3NjYxNENDMkIwOERENjYxNENDMkIwMkNGNjYxNENGMworOjEwMEVDMDAwQzJCMThDQTU5ODUzMzBBQzBGMjRDQzI5OTg1NjBGMjg2QQorOjEwMEVEMDAwNjYxNTkyMUExOTg1MzMwQUNBODUwQ0MyOTk4NTY1QzNBRAorOjEwMEVFMDAwRDk4NTMzMEFDRTcwODY2MTRDQzJCMzk3NzEwQzk5M0I5OQorOjEwMEVGMDAwQ0M4MzU4MEJFQTc3OUQwNjRBQkUwNDc0NjBFMEQxNEU1RAorOjEwMEYwMDAwMzg0QzNFRUUzRUVFM0VFRTNFRUUzMEJCQ0FFMTFGNzc4MQorOjEwMEYxMDAwMUY3NzFGNzcxRjc3Mjc3MDhGQkI4MDBFMTFGNzcxRjczMAorOjEwMEYyMDAwN0M2RjNDQjMzNjAyRkI4REU2NTU3MDdGMkQyNDY5NTVFRQorOjEwMEYzMDAwNEY1OEE5MjMxRjU0Rjc4QTk1MjUyQjc1MENDQ0FDNTYxNgorOjEwMEY0MDAwNTFDQzUxRTQ0NUNFQTIxMjM5QzBBMEFGNTY2QTQ5N0ZCOAorOjEwMEY1MDAwMDI4QzA5RjgwQkVCQUY1Njc2Njc1MkIyOEU2OUE3MTE3NworOjEwMEY2MDAwNzNBOEIxQkNDQUEwQTkzNjUwMkM5OEU3MEFGNTY2QTRBQworOjEwMEY3MDAwOTdFMjVBMzAyN0JBRjc4MzRFQTUzMzBBNjYxNThERTZGNQorOjEwMEY4MDAwNTUzOUQyQTdBQzU0NjAxNjcwMUI3MjhFNjI4RjIyMkUxOAorOjEwMEY5MDAwNzUxNjAyRkI4REU2MEE5NTNENjJBMzAwQjcwMUI1NTNCNQorOjEwMEZBMDAwREUyQTU0OTRBREQ0MzMzMkIxNTk0NzMxNDc5MTE3M0FDMAorOjEwMEZCMDAwODg0OEU3MDJCMDE3REM2NzlENEI4REU3NTJBQTdCRDRDNworOjEwMEZDMDAwQUE5MkJERDY5OUJDNTYwMkZCOENGMzY2NjZDNkYzNjY0MAorOjEwMEZEMDAwNjY2Mjk5MkFGODE4Njg3MEIwOEEwRDU1NTU1NTU1NTJCMQorOjEwMEZFMDAwMzJFMTQwNUMzODBCRUE5Qjg3MDE3REMwNUY3MDE3REMwMworOjEwMEZGMDAwMDVGNURDOUIwMTdENjE0RDgwQkVBNzc5ODJBMjFGNTA2MworOjEwMTAwMDAwMTUyQThGOEIxQ0U1QTUxMzg0NThFNzAyOTE1NDA1MDIxRAorOjEwMTAxMDAwNEJCRDIyMUE5NDdGOUMxQUMwNUY0MjFBMjFEMTgwNTk3RAorOjEwMTAyMDAwQzA2RDFDMkMwQTgzNTU1NTU1NTU1NTU1NTU1NTU1NTU2QworOjEwMTAzMDAwNTU1NDFDQjg1QzZFMTc5QzJGMzg1RTcwRTdCODVFNzAxNAorOjEwMTA0MDAwQkNFMTc5QzJGMzg1RTcwQkNFMTc5QzI5OUMyOTlDMjkyQQorOjEwMTA1MDAwOUMyMzBGNTgxNEVFMzU3NzI2MjE5MzA1QzlCMDE3RDI3QgorOjEwMTA2MDAwMUQxODhBMjE5MzA1QzlCMDE3RDE4N0FDMEE3NDBGQUUzOQorOjEwMTA3MDAwRjU1QTgyQTNFNDNBMzExNEJCRDc1OTk5NzRBMjE5MzBCNgorOjEwMTA4MDAwNUM5QjAxN0QxODdBQzBBNzQwRjg0M0Q0NjM4OTI1RDBDMgorOjEwMTA5MDAwMTBENjFDNkExMEY1NTU4OTI1RDE1MTY2MUY1MUY1OTE1RQorOjEwMTBBMDAwNDkyRTg5MTU5ODZBQTNFMDhBOTQ2NTY0MEUxMzE3Mzg0RgorOjEwMTBCMDAwQTg4NjRDMTcyNkMwNUY0NjFFQjAyODYzMUYwODdBOEM4RQorOjEwMTBDMDAwNzEyNEJBMDIxQUQwMEQ0MjFFQUFCMTI0QkEyQTJEMzFCNworOjEwMTBEMDAwRjUxRjU4NzQ5MkU4ODc1QTYzNTJERUY0NTE2OTRBM0UwQworOjEwMTBFMDAwMDk2OTQ2NTBGMEUxMzE3MzA1NDVCRDU5OEQ4QjRBN0M0NQorOjEwMTBGMDAwRDNFRDM4RTlEMzRFNzRFRDQ0MzI2MEI5MzYwMkZBNUI3MQorOjEwMTEwMDAwREU4QTJEMjlEMEUxMjFGNUEzOTIyMUYyMTkzMDVDOUJEMgorOjEwMTExMDAwMDE3RDIxRjVBMEM2MDE2NzAxQjQ0NUNFQTUxMjM5RDRFMQorOjEwMTEyMDAwMUMwNUY0NDBBMUMyQzM1MDZBQUFBQUFBQUFBQUFBQUFFNAorOjEwMTEzMDAwQUFBQUFBQUFBQUFBODFBRjg2OUYxOTFCRTc4MUYzNjU2QQorOjEwMTE0MDAwRjI4MEJFNzAxN0RGREYzODBCRUIwREMzODBCRUE3MEYzOAorOjEwMTE1MDAwOTU0RjVBOTRDMDJDRDhCMUE3Q0U1QTExNzNBODNBQzI1MQorOjEwMTE2MDAwQ0NCNjMwMTdEQzZGMzVBOTgwNERBN0NFMkExODc5QzVDQgorOjEwMTE3MDAwNDlERTYxQTgyMkU3NTAzM0Y5OTg2NDA4Qjk5NTQyRkMyQQorOjEwMTE4MDAwQ0NEOTk1M0Q2MkEyNDhENDQ4RTcwMjg4QjlDMUEwRTMxMgorOjEwMTE5MDAwOUQ0RTYyRTZDQ0M2NkJDRTgzMTBDOTgyRTREQUMyQzgyQgorOjEwMTFBMDAwMUVDM0I5MzYwMkZBQTlFQjRFMzAzMEZBMERGMEE5RUJBNgorOjEwMTFCMDAwNDBCOTBGQUE3QUQyQzJDOEZBQTdBRDQxMEE0N0Q1M0RCNQorOjEwMTFDMDAwNjhBQ0YxRjU0RjVBOTc1NDdENEZBOEFBNTUxRjExNzM3QgorOjEwMTFEMDAwNUFCMDE3REU1RDU5QTkyNUQwNTUyQTQ2QkNCODIyQUVCMworOjEwMTFFMDAwNDUyOTNFMTRGQUUxOTk5NENBNEFCRTNERDY5OTkyNURDQQorOjEwMTFGMDAwMTUxN0M4RDdEQzE1MTc4QTQwMUYwQTlFQUNDOTY1NDk2OAorOjEwMTIwMDAwNUMxRDEwNjg0QTNFNUJERTgzMTY5NTgwQkU5MTc0NTg2MworOjEwMTIxMDAwQTQwMDdDMzhFNzU2MzAxN0RGNzVBNjY0OTc0NTIwOURGQgorOjEwMTIyMDAwMDM1RjcwNTQ1RTI5MURGMEE5RUFDQzg2NTQ5NUMxRDFBNAorOjEwMTIzMDAwMDY4MzBGQUE3QkQwNjU0OTQ1QkRFOTYyRDI5MURGMDRFMAorOjEwMTI0MDAwNUQxNjI5MUM3RDRGQUMxQTQ3MUFBOUY1Njc2NjUzMjgwRAorOjEwMTI1MDAwQjdCRDJDNUE1MjNCRTNERDU5QTkyNUQxQThBQzA4NkI4OAorOjEwMTI2MDAwRUUwOEFCQzUyMDJGODU0RjU2NjY3NTQ5NUMxQzE4MURDRQorOjEwMTI3MDAwODFDMjY0MDVGMDgwQkUzNTVDRDAxN0MyNTVGMDk1N0MwNAorOjEwMTI4MDAwMjU1RjA4MEJFMTAxN0M3QkFCMzUyNEJBMTA1NTkzMUExRQorOjEwMTI5MDAwRkI4MjJBRjE0OEQ3QzJBN0FCMzFCMkE0QUM2MzlENEEwNgorOjEwMTJBMDAwOEQ3QzdCQUIzNTI0QkExMDU0MzA4RDdEQzExNTc4QUM2NAorOjEwMTJCMDAwNkY1QTk0NjAxQUUzNzlENEFBNEY4NTRGNTY2NkQ1NDk4MAorOjEwMTJDMDAwNThDNzNBOTU0OUYwNDVEMTYyOTQ4NkJDMUQxM0QyOTAxNworOjEwMTJEMDAwRkZDRjdBODNGMjUwMzFERTAwNjA2MEExMTczNUE4NUYzRQorOjEwMTJFMDAwOUIxQjM3MDc0NDFBMzAwQjM4MERCQzFDRTBEMDQ3Q0U4RgorOjEwMTJGMDAwQTBBQTdBQTE5ODZBOTI5NTNENjgzMTgwNUI4MERBQTlBQworOjEwMTMwMDAwRUY0MTk1MjUxNkY3QTU4QjRBQzY3OUIzMzM2MDJGQUEwRQorOjEwMTMxMDAwOUVCMTUxODA1OTlFQ0FBN0FDMEEzMDBCNjdCMkFERDVCOQorOjEwMTMyMDAwREE5MjVEMTdBMzAwQjMyRDk1NkUwOEE5NThBMTE3M0E1QworOjEwMTMzMDAwOEIwMTdENTRGNzhFOTUyNTA4MUNFMDU2MDJGQkMxRDEyOAorOjEwMTM0MDAwMTUxODA1OTI2QjNDMUQxMjI4QzAyQ0E1NkMxMTcwMTc0NgorOjEwMTM1MDAwQjIzODREODBCRUUwMkZCNEVDNEFFREIzOUUwMkZCODA2NAorOjEwMTM2MDAwQkVFMDJGQjEzOTkzM0U2REU3MTA2MDlGMzJBOUEyNkNBOQorOjEwMTM3MDAwMDVGNDQwRTYwQTk1M0Q2QTIzMDBCMzgwREFBN0Q2MkEzMQorOjEwMTM4MDAwMDMwRDcwMTdEMjJFNzYyOTRGQkM1NEE2NTE2RjdBNTg5MAorOjEwMTM5MDAwQjRBQzA1RjQ4QkEyRjQwRTM1MEQ0OTJFQjRDQzE4QTVDRgorOjEwMTNBMDAwQzhGODRBOTcyM0UxMDUyRTQ3QzI4QTVDOEY4NTY5NzI4NworOjEwMTNCMDAwM0UxRjRBQzM1NTFGNTY0MzMyOENBMzVFNjBBODQ1Q0VEQworOjEwMTNDMDAwMEQ2MDJGQTM4NDlERDhGMDE3RDIyRTBFMUIyMzg0RDgzNgorOjEwMTNEMDAwMEJFQjg5RjM4MEJFRTAyRkJCMzk4NURGMjIwM0U3MDFFOQorOjEwMTNFMDAwN0RDMDVGNzAxN0QxMTczODE0NUJENkEyNzQwRDRCN0E4RAorOjEwMTNGMDAwQjMzMTk2OTQ2QkNDMzUyM0Q3NDk0ODE1NzMyOTBGNURDQgorOjEwMTQwMDAwOEFDMDVGNEQ3OTg0MzU4MEJFODgxQ0MzNTI5RjU5Njg1RAorOjEwMTQxMDAwQzAyQ0UwMzZBQTdCQ0Q0QTkyQkVGMzgxNEE3RDVCNTk0RgorOjEwMTQyMDAwOTRDQTFDMjRFRUM3ODBCRTg4MUNDMzUyOUY1OTY4QzA1MgorOjEwMTQzMDAwMkNFMDM2QUE3QkNENEE5MkJFRjM4MTQzODQ5QzdCMzg1NAorOjEwMTQ0MDAwMEJFQkFGNzBENEVBNTMwMDlCNEY5QzU0MzBGMzhBOTQ1QgorOjEwMTQ1MDAwRkFCNkIzMjk5NDIyRTYxQTg1RjlCMDU5OTNGOUQyQzRBMQorOjEwMTQ2MDAwMzI2MEI5MzZCMEIzOTBEOTc3MjYxQzI3MjJFODk2QjRGQgorOjEwMTQ3MDAwMjNFQTlFQjUxMTgwNTk2NTg2MjA3Mzk2OEQ3OUFENTgwMworOjEwMTQ4MDAwMEJFOTE3NDQ4QTRBMDdENzdBODJBMTkwRkFFRjAxNTRGMAorOjEwMTQ5MDAwQkE1MEQ0NTkxRTJDRTlGMzhBOTk4NTZCMEIyMzE1OTcwMgorOjEwMTRBMDAwNzI2MTE3MzBENDJDNzM4NzQ4QUEwMjgxMjVERTkxMEQxMgorOjEwMTRCMDAwNEFDMDVGN0VEMjgwQTUzRUIyRDBDODZCODBCRTg4MUM3OQorOjEwMTRDMDAwRUEwOTE3NDQxQTM3MUE5MTc0NThBMzcxQUYwNzQ0NTRBNAorOjEwMTREMDAwNkUzNUUwRThBQTY0MEY5MEZBRDA2MzAwQjM4MERBMkM4RQorOjEwMTRFMDAwNzM4NzQ4QUEwMjgxMjVERTkxMEQ0QUMwNUY0OEJBMjc1QQorOjEwMTRGMDAwQTMwMEI3MDFCNzRGOUNCNDZCQ0MzNTE2RjU2NjYzMkRDRQorOjEwMTUwMDAwMjkxRUJBNEE0MEFCOTk0ODdBRUM1MDhCOUMwODIyRkNDMQorOjEwMTUxMDAwRjlCMjU1M0Q2MkE5MjM1MTIzOUMwQTNDNzMwRDQ0NUNFQQorOjEwMTUyMDAwRTE1MDcxQ0VBMTFGRTcxNTZCMEIyNUVEMEI5MzYwMkZEQQorOjEwMTUzMDAwQUE5RUFDMzY2NTQ5NUY3QTIwNTAwODdGRUYzOTE0NDk3RQorOjEwMTU0MDAwMDExMTgxMDQ2MDQwQ0M1OUMwQUQyM0VCNDFCMDgxRjI2MAorOjEwMTU1MDAwM0E0MUFBNTA0M0U0RDQ4NjU0QTA4N0MxNTJDQTkzMDFBOQorOjEwMTU2MDAwMzI1NDlEMjQwMjAwMDA1MkFGMTY0NkE3OTE2NzA4QjQ3QQorOjEwMTU3MDAwMDQ1MUYxNjUxOUI0NkUyREMwQUQ0OTAwOTI1NzFCNzQyQQorOjEwMTU4MDAwNDU1RjIzNTFCNzQ0MEExMDA2QTM2RThCNkIwODFGMTlFMQorOjEwMTU5MDAwRDFFNjgwODI4MDU0MDQyQTQ1OTFBOUU0NTlDMjJEMDFFNAorOjEwMTVBMDAwMTQwNDUwRDNGQzU1ODQ2MUQ5ODA1MTJGRTIxRjQ2NUY0QgorOjEwMTVCMDAwNDBFMDIwMTU0QUJDNTkxQTlFNDU5QzIyRDAxMTQ4Q0JDOAorOjEwMTVDMDAwRTgxNDA4MDE1NDE1RTJDOEQ0RjIyQ0UxMTY4MDhBNDZDQQorOjEwMTVEMDAwNUY1MjdDRDlBOEY4ODhEMDVBM0NEMjVDNUI4MERBQTdFRAorOjEwMTVFMDAwRDY1QTA4ODZBNDVEMTdBMEMzNTIyRTg4QTgyMjFGNTM3RQorOjEwMTVGMDAwRUFEQUNDQTY1MEUxMjc3NjNDMDVGNTRGQUI2QjMyOTk4MQorOjEwMTYwMDAwNDM4NDlDN0IzODBCRTkyN0FDRDQ5MkUwMEVEQTM4NEQ0QQorOjEwMTYxMDAwODBCRUU2N0Q1MEJBNTFBRTY2RUZCQ0RDN0I4NzFFMDIxMQorOjEwMTYyMDAwRkE5M0U2Q0Q0N0M0NDNDRDBGMzQ5REEzMDBCMDU1MDFENgorOjEwMTYzMDAwQUUwMzg0MDRDRTAxRDBFMTcwMDI4MDBFODlFOTIyMUYzRQorOjEwMTY0MDAwRTBFODk2QjAxMUY0QzJDRTAzNkE0NDJEQzA2RDQ4MDU5RgorOjEwMTY1MDAwQjgwREEzMDBCNzc2RDVERUIxNTBEQzdENzdCQzU0QkFBNworOjEwMTY2MDAwNTI3RjU4MTQzNDBGOUFGMzgxNTgwQkVBRUY1ODE0NjBFNAorOjEwMTY3MDAwMTZBNTZDMkVGNzgxNEJBNTZGN0Q1REVFQjUyRTk1ODA3RQorOjEwMTY4MDAwQkVGMDczQkQwNDdDRUFGRUVCNENERTI5NTNERDZBNTRFOAorOjEwMTY5MDAwOTRBOUVBMEE4QzAyRDY0QzNDMDVGNDAwRUFDRDU2QUY3OAorOjEwMTZBMDAwQzA0N0QyOUM4RDI5Q0FFMDJGQUVCRDc1OTk5RDRBRjlERAorOjEwMTZCMDAwRUY1MTdDOTQwQzc3ODAxODE4MjkyQUY4RTBFOEFBMzBCQQorOjEwMTZDMDAwMEIyQTk4N0MxRDExNTE4MDU5NTRDMzUxRjUxQjMzMjRBQQorOjEwMTZEMDAwQkI4MkE1MTk1QzFEMTAyOEMwMkM5QUM3QzFEMTIyOENEMQorOjEwMTZFMDAwMDJDOTk0NjQ1QzBDRDY4RTEzNjAyRkI4MEJFQTMwRTMwOQorOjEwMTZGMDAwQzA1RjQ4REM3ODBCRTgwMEUzQzA1RjZDMzhENTJFMzU1RQorOjEwMTcwMDAwNEY1QThBNjFBQTlGNTYxQjMyOTk0NjQyQzgwMTBDNDUxRQorOjEwMTcxMDAwQ0VBNTE3RTZDNkNFQTlFQjE1MTY0NkEyNDczODE0NDM0OAorOjEwMTcyMDAwMjYyMkU3M0Q2MDJGQUE5RUI1MTJFMDdGMDE3REUzRTcwOAorOjEwMTczMDAwMDI5M0Y5OTU0NDVDRTVBMEUzOUQ0QTdGOUM1NEE5RUI5NAorOjEwMTc0MDAwNTEwNTQ2QjlGQ0MwMUIyMjJFNjQ1NDJGQ0Q0NkNDQTdCMAorOjEwMTc1MDAwRDU4NkNDQTY1MDU1QzY0NUNFNUEwRTM5RDRBN0Y5QzU2NAorOjEwMTc2MDAwNEE5RUI1MTE4MDU5QzA2RENGRTYwMEQ5MTE3MzIyQTFGMAorOjEwMTc3MDAwN0U2QTM2NjUzRUFDMzY2NTMyQjAxN0REM0U3MkQyNzk5MAorOjEwMTc4MDAwMzEwQzk4MkU0QzIwNzMyQThGRjM4QUFERTc0MTgyN0M2RQorOjEwMTc5MDAwQ0FBNjg5QjU4NTlGQjBGMDE3RDUxRjU0NTQyNTFBQTgzRAorOjEwMTdBMDAwRkYyQTk0NjUxMUQ3NDk0NEQ1Q0NBMDU1RDhBRTBFODhGMAorOjEwMTdCMDAwMTQ2MDE2NEQ2MzIyRTA3Mjg2Mzg0RDgwQkVFMDJGQjg2QgorOjEwMTdDMDAwMEJFRTAyRkI4MTM4RjAxN0Q3RDcxRTAyRkFGQUUzQzBGRQorOjEwMTdEMDAwNUY0Qzg1OTAwMjE4Qzg1QjgwREEzMDBCNzAxQjRDMjI3RQorOjEwMTdFMDAwRDM0QzMzMDM4QzJFNEM0MzI2RDBGNTYzNjZEMDk1QTc5QgorOjEwMTdGMDAwQ0U0NTMzMEFENjE2NDIzODZFRTRDRUJENTkyQ0QyQUI1NAorOjEwMTgwMDAwQkE5NDlERTYxQUIwMTdENTRGNUE4QjA5MUE4OEI5QzVGNAorOjEwMTgxMDAwNDI0NzMwRDQzMjE2NzI4ODY1QkQ1OTk5MjVBNTYwMkY4QworOjEwMTgyMDAwQjg2MEYzMDhCNzRBMUE4RkFCMEQ5OTQ2NTFBRjM4QTg4NAorOjEwMTgzMDAwOEU5MDY1MTM1MjE4QTA1NEIxNDIyRTYxQTg0OEU3MkQyRQorOjEwMTg0MDAwMTZGN0E4MDVBNTYwMkZBNDc1RDI1MTM1NzMyODE1NzYxMworOjEwMTg1MDAwMkI4M0EyMDUxODA1OTM1OEM4QjgwNjI4NjM4NEQ4MEJCMworOjEwMTg2MDAwRUUwMkZCODBCRUUwMkZBMDQzQTcwMTdENENFM0MwNUZFQQorOjEwMTg3MDAwNzAxN0RDMDVGNDY0MkRDMDZEMTgwNUI4MERBNUJENkFBMAorOjEwMTg4MDAwMjM4NkFBOUVCNTExQTQ2QUEzRUE4QThEMjNFMTE3Mzg5QworOjEwMTg5MDAwMzQ2OTcxOTg0NUE2OTg2QTNFQUMzNjY1MTk0NkJDRTIzMworOjEwMThBMDAwQTIzQTQxOTQ0RDQ4NjI4MTUyQzUxNkY3QTg4QjRBNTQxQQorOjEwMThCMDAwRjVBODhDMDJEQzA2RDEwMzlDQjRBOUVFMEE5NTI1MkE3MgorOjEwMThDMDAwN0FBRDQ2MDE2NzAxQjVEN0FDMEEzMDBCNkM0OTM1RTZGNQorOjEwMThEMDAwQjU2N0YzMDA2Qzg4Qjk5MTUwQkYzMTFCMzJBN0I4Njg2NworOjEwMThFMDAwOTUyNTdCQUQzMzc4QTdDRDNFRDM4RTlEMzRFNzRFRDQ3RQorOjEwMThGMDAwMjJFNzA2ODQ4RTYwQThGRjM4QUI4MzlDMkEwOEY5RDRCRgorOjEwMTkwMDAwMjA2M0JDMUEwNjBBQzA1RjQ2NDJEQzA2RDE4MDVCODBCOQorOjEwMTkxMDAwREEyMkU2MUE4NDhFNzJEMTZGNUE4MDg3MUFBQTdBRDQ5NAorOjEwMTkyMDAwNDhDOEQ1NDdENTE1MjMyM0UxMTczODM0OENCQTRCN0JFQgorOjEwMTkzMDAwRDQwMkQyOEMyMkRDMDZENTFGNTYxQjMyOENBMzVFNzFEQQorOjEwMTk0MDAwNTExRDIwQ0EyNkE0MzE0MEE5NjJCMDE3REY5RUY0QjcwQQorOjEwMTk1MDAwQzk0MEM3NzgwMTgxODJCODM4Mzk0OTFDMjZDMDVGNzBGOAorOjEwMTk2MDAwMTdENEFCRTEyQUY4NEFCRTEyQUY4Rjk3NEZDQkE3MDEyRAorOjEwMTk3MDAwN0REQTgwQUE5MTY0N0Y0QTgxRDUyMkM4RkU4MjgwMjVDMworOjEwMTk4MDAwNDhCMjNFQkJEQzM1MkU5NDA3RTg4QTlDMDNFMjRCQTVBNworOjEwMTk5MDAwNzdBQkIzMzJFOTRCQkQ1OTg2ODQ5NzdBMDRCQTUzRTFFOQorOjEwMTlBMDAwMzJFRjUwRDRFNjM1NTNFQjAyOUNDN0Q3N0FCMzMwRDIyRQorOjEwMTlCMDAwNURFQTAyRTk0NDVEMTYyOEMwMkNFMDM2OTE3NDQ1NTk3MQorOjEwMTlDMDAwMThENTRGQUMwQUM0MzUzMDhCMzg2OTJCQkQ1OTk4Njk4RQorOjEwMTlEMDAwMkVGNTEyRTk1ODY3NEFFRjUwRDU4RTNFMUNBNEIwQ0VDMgorOjEwMTlFMDAwOTMyMTZFMUE0ODFGQTIyQUMzMEQ1NzdBQjMwRDA5MkVGMAorOjEwMTlGMDAwRjQ0MzVEMjg4QjgzMjA5MjM4NEQ4MEJFRTAyRkFDMTdENgorOjEwMUEwMDAwNDlCM0E1ODJFOTNFRTkzNjc0RTAyRkE2Q0U5QzA1RjRFMQorOjEwMUExMDAwQzIyQzhDNTI1NzdBRDQ4RDQ4RkFFRjUwRDVBRTM1NTMzQworOjEwMUEyMDAwRUIwMjg2MjFBQUVGNTY2NjFBNEJCRDQ0QkE1MEM0RTlCMAorOjEwMUEzMDAwNTNFQjAyODY4MUY1REVBMUE4NjIxRjVERkVBMjVEMjkzRgorOjEwMUE0MDAwNzdBODZBNjE4RDQwRkQxMTUzMEM2QUE3RDYwNTMwQzc4RgorOjEwMUE1MDAwRDc3RkE5NTc0QTVERUI0ODFCMEM3QzhCOUQ4QTUzRUZCRgorOjEwMUE2MDAwNjY5NENBNTRGNUEwQzYwMTZFMDM2QTlGNTY3NjY1MzIyNQorOjEwMUE3MDAwOEI3QkQyQzVBNTYwMkZBQTdENjVBMzAwQjcwMUI0QzgzMgorOjEwMUE4MDAwNUEwNzhGRUQwMUQ1Mjc5MTY3MDFCNDhCOUM1NDFDNzNDNQorOjEwMUE5MDAwQTg4NDVDQzE1MEJGMzY1NjYwQUI4QzhCOUM1NDFDNzNDMQorOjEwMUFBMDAwQTg4NDVDQzE1MEJGMzY1NjZDMDVGNTUzRDZBMjMwMEJFNgorOjEwMUFCMDAwMjk1QjE5RkNGNjk0NDVDRjE1MEJGMzNDQjMyQTdBQzU4NAorOjEwMUFDMDAwNDYwMTY0OEEzMTIzOUMwQTVERUEzNDMzMkU5NUM3Q0VFMQorOjEwMUFEMDAwMkE0RkU2NTAyMEI5MzEwQzlCRUYzOTE0NDVDRTQ1MDcwQgorOjEwMUFFMDAwMUNFQTQ2ODdBQjFCMzY4NEE3NUVBQzk2Njc1MkIwMTdEQworOjEwMUFGMDAwRENGRTdCNEEyMkU3OEE4NUY5OUU1OTk3N0E4RDBDQ0JDQQorOjEwMUIwMDAwQTUyN0YzQTA0NDMyNjBCOTM3REU3MjI4OEI5QzhBMEU3OQorOjEwMUIxMDAwMzlENDhDMDVGN0U3QjgyQUY5MjgxOEVGMDAzMDMwNTc4OAorOjEwMUIyMDAwMDc0NDBBNTA4RkYwNzM5MTQxMUYzQTkwNDVDMEJCMTg4QgorOjEwMUIzMDAwRTEzNjAyRkJGQjlFMDJGQUVFRTdGNUNGMDE3RDEwNUM3OQorOjEwMUI0MDAwRjAxN0QxMDVDRjAxN0Q1M0VCMkQxODA1QjgwREE2NDIzNgorOjEwMUI1MDAwREMwNkQzMTczNUE4OEI5QzBBMEUzOUQ0MENGRTdCNEFDMQorOjEwMUI2MDAwMjJFNjU1MEJGMzMxQjM2MDJGQkM3Q0UyQTRGRTY1NTEzNQorOjEwMUI3MDAwMTczODE0MUM3M0E4MTlGQ0Y2OTQ0NUNDQUExN0U2NjMxMQorOjEwMUI4MDAwNjYwQUI4Q0M4NUExNThGNkEyMzU0ODQ4N0Y0QTg5OTU5RgorOjEwMUI5MDAwMjEyMUZEMDUwMjU0OUU0NTkxMEUzQzA1RjUwNzQwNTU1NworOjEwMUJBMDAwNDg1MjNFODZBMDc1NDg1MjNFQjUwMDRBOUMwMDZCQzcxRAorOjEwMUJCMDAwQ0U0NTI3RjMyQTg0MzczNURFQTBBQjIzMUFBRUY1ODM1MgorOjEwMUJDMDAwNTkxOEQ3NDNERTJBRDA5NEVCREUwNTNBOTU5RkNDQzM1MworOjEwMUJEMDAwMjA0NUNDQUExN0U2NjZDQzQzMjY0RkU3NDEyMjJFNzA1QgorOjEwMUJFMDAwNjgzOEU3NTNFMDJGQUJCQzEyRDJFOTU4MEJFQUE3QUQzNworOjEwMUJGMDAwNDVBMTFGQzA1Rjc4MzlDOEEwOEY5RDQ4MUMyNEVFQzczRgorOjEwMUMwMDAwODBCRUJBRjU2RDY2NDk3NzBENEVBNTMwMDlCNEY5QzVBOQorOjEwMUMxMDAwNDMwRjM4QTkzRjlEMDJGQkNFNDUxMTczOTE0MUM3M0E0RQorOjEwMUMyMDAwOTE5RkNGNjk0NDVDRjE1MEJGMzNDQjMyQTdBQzU0OTA0NQorOjEwMUMzMDAwOEQ0NDhFNzAyOTc3QThEMENDQkE1NkIwQjI5RDhDODZEMAorOjEwMUM0MDAwNEMxNzI2NzcyNjFDMjcxQzI0OUUyMzYxQkU4RTEyNEYxQworOjEwMUM1MDAwMTE4NzFDRUE1QzA1RjVEN0I4NkE3NTI5NzdBQjBEOTkzMQorOjEwMUM2MDAwNzRBNTRGNzJBMEFBNEFDNkYzNjY2NkM2Mzk4MkFGNzVEQworOjEwMUM3MDAwQTY2RjE0NkJDRTA1NzA3Mzk2ODIzRTc1MjhFMTNBQTc2NQorOjEwMUM4MDAwQUQ0NDYwMTY1MkI2MUQ3QUI2QjMyNEJCODZBNzUyOThFRgorOjEwMUM5MDAwMDREQTdDRTJBMTg3OUM1NUY3OUNCNUFDMkM5NTMzQjk0RQorOjEwMUNBMDAwMzEwNUQ5NTNENkEyMzAwQjI5NUIwMjJFNjE1QTE3RTZCMworOjEwMUNCMDAwOUNCMzJBN0FDNTQwMjFBODkxQ0UwNTI3RjNBNTg4NjQ1NAorOjEwMUNDMDAwQzE3MjY1NEY1ODE0MEM4RDdFRjM4MTQ0NUNFRjQxQzc5RgorOjEwMUNEMDAwM0FCRTAyRkFBOUVBQ0VDQ0E5Mjk1M0Q2QTI0NjQ3REREQworOjEwMUNFMDAwN0FDMEEzMDA4NkUyOUIyOTc4OEI4MTA5OTg3MDlCMjk5MgorOjEwMUNGMDAwNzk1REQ5NzJFRDk0QkNCOTc2MTMzQjJBNURCMjk3OTVBNAorOjEwMUQwMDAwMkVEOTRCQ0E3RDVCNTk5NENBMUMyNEVFQzc5NEJDQzAyMworOjEwMUQxMDAwMjZEM0U3MTUwQzNDRTJBQ0ZFN0I0QTIyRTc4QTg1RjkyNAorOjEwMUQyMDAwOUU1OTk3N0E4RDBDQ0JBNTI3RjNBMDQxNzI2MjE5Mzc4MworOjEwMUQzMDAwREU3MDI4OEI5QzhBMEUzOUQ0OEQwRjU2MzY2RDA5NEU3NQorOjEwMUQ0MDAwQkQ1OTJDQ0VBNTZCMEIyMkQ5OURDOUIyOTdCRUYzODE4QworOjEwMUQ1MDAwNEE3RDY1QTMwMDkzOEY2NzI5NzhDMjREQzFEMTA2ODI2MQorOjEwMUQ2MDAwMzFBRjA3MzgzNDExRjNBODJBOUVBODY2MUFBNEE1NEZFQworOjEwMUQ3MDAwNUEwQzExOEZBQTdCRDA2NTQ5NDVCREU5NjJEMkIxOUU0QworOjEwMUQ4MDAwNkNDQ0M2MTk4NzA5QzM4RTc1NDExRjNBQTUxM0Q1NTU2QQorOjEwMUQ5MDAwNTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTVGMworOjEwMURBMDAwNTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTVFMworOjBFMURCMDAwNTU1NTU1NTU1NTU1NTU1NTU1NTU1NTVBQ0M5MEM4Cis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUvdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbi5paGV4IGIvZmlybXdhcmUvdHR1c2ItYnVkZ2V0L2RzcGJvb3Rjb2RlLmJpbi5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YjIyNDcKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS90dHVzYi1idWRnZXQvZHNwYm9vdGNvZGUuYmluLmloZXgKQEAgLTAsMCArMSw4MjAgQEAKKzoxMDAwMDAwMDA4QUEwMDE4MDAwMzA4MDAwMDEwMDAwMDAxODAxODVGMTMKKzoxMDAwMTAwMDAwMDAwMTgwNzcxODJBRUI2QkY4MDAxODAzRkY2OEY4REUKKzoxMDAwMjAwMDAwMThGRkZFRjdCOEY3QkVGNkI5RjRBMEY2QjdGNkI1QkMKKzoxMDAwMzAwMEY2QjZGMDIwMTlERkYxMDAwMDAxRjg0RDAxQUJGNkI4N0IKKzoxMDAwNDAwMEYwMjAxOURGRjA3MzAxQTU3RUY4MDAxMkYwMDAwMDAxMjYKKzoxMDAwNTAwMDQ3RjgwMDExN0U5MjAwRjgwMDExRjAwMDAwMDE3RUY4RDAKKzoxMDAwNjAwMDAwMTFGMDAwMDAwMTZDODkwMTlBRjdCOEVFRkNGMDIwNTUKKzoxMDAwNzAwMEZGRkZGMTAwMDAwMUY4NEQwMUJGRjI3MzAxQjk0RTAyMUMKKzoxMDAwODAwMEY0OTVGNUUzNTYwMjdFMDAxMTAwRkE0QzAxQjc2QjAzQkMKKzoxMDAwOTAwMDAwMDFGNkI4RUUwNEYwNzQwREE3RjA3NDAxQzU0QTExMjIKKzoxMDAwQTAwMDRBMTY3MjExMkFFNjEwRjgwMDExRkE0NTAxREJGNDk1QTAKKzoxMDAwQjAwMEVFRkY0ODExRjAwMDJBQzY4ODE2RjQ5NUY0OTUxMEVFNkMKKzoxMDAwQzAwMEZGRkZGNEUzNkNFOUZGRkYwMUQ1MTBGODJBRTdGODQ1REMKKzoxMDAwRDAwMDAxRTIxMEY4MkFFN0Y0RTNGMDc0MDFGRkVFMDE4QTE2NUEKKzoxMDAwRTAwMDhBMTFGQzAwRjdCOEU5MjA0QTExMDlGODJBRTZGODRFMEYKKzoxMDAwRjAwMDAxRjNGMjczMDFGREY0OTVFODAxNzIxMTJBRTY0OTExNEEKKzoxMDAxMDAwMDgwRTEyQUM2RjMwMDAwMDFFODAwODFGODJBRTY4QTExOUUKKzoxMDAxMTAwMEZDMDBGNDk1RjA3MzAyMDAxMEY4MkEwRkZDMDA0QTExNUQKKzoxMDAxMjAwMEYwNzQwMjAyODBGODJBMTA3MzA4MDAwOTQwRjgyQTE1QkEKKzoxMDAxMzAwMDgyRjgwMDExRjQ5NTc3MTAwM0U4RjVBOUY4MzAwMjIxNTAKKzoxMDAxNDAwMDcxRjgyQTEwMkExNTU2RjgyQTBDRjBFMzRFRjgyQTE2RjAKKzoxMDAxNTAwMEU4MDA0RUY4MkEwQzhBMTFGQzAwNEEwNjRBMDc0QTFEOUMKKzoxMDAxNjAwMDY4RjgwMDA3N0QzRjY5RjgwMDA3NDAwMDY4RjgwMDFENDcKKzoxMDAxNzAwMEZGRkM2QkY4MkEwRjAwMDE4QTFEOEEwNzhBMDZGNEVCNDAKKzoxMDAxODAwMEVFRkQ3NkY4MkEwRjAwMDA3NjAwMDAwMEZCODAxOTRDODcKKzoxMDAxOTAwMEY0OTVFODAwODBGODJBMTFGOTgwMTkwNzgwRjgyQTBFRjIKKzoxMDAxQTAwMEY5ODAxNjY2NzYwMDJBMTIxMEY4MkExMUY5ODAxOEUzRjEKKzoxMDAxQjAwMDEwRjgyQTBFRjk4MDE2NjYxMEY4MkEwRUY5ODAxNjg3QjQKKzoxMDAxQzAwMEVFMDNGQzAwNEExMUY2QjhGNDk1RjAyMDgwMDAxMUY4MTcKKzoxMDAxRDAwMDJBNUFGODREMDI5MzExRjgyQTlGRjg0QzAyN0M3NzEyQTQKKzoxMDAxRTAwMDJBMzk0OTEyMDFGODJBOUY4OTExRjQ5NUY0OTU3MTgxRjEKKzoxMDAxRjAwMDAwMTE2Q0UxRkZBQjAyOTM2QkY4MkE5RjAwMDFFOTA1NDcKKzoxMDAyMDAwMDAxRTIwMDAzODFGODJBQTBGMDczMDI5NTcyMTEyQTlGN0YKKzoxMDAyMTAwMEY0OTUxMEUxMkEzOTZCRjgyQTlGMDAwMTExRjgyQTlGMDIKKzoxMDAyMjAwMDA5RjgyQUEwRjg0QzAyOTM3NkY4MkE1QTAwMDA3NkY4Q0EKKzoxMDAyMzAwMDJBOUYwMDAwNzZGODJBQTAwMDAwODgxMUY0OTU0ODExNDIKKzoxMDAyNDAwMDhBMTFGQzAwNEExMUVFRkUxMEY4MkE1QUY4NDQwMkIyNTQKKzoxMDAyNTAwMDc2RjgyQTVBMDAwMUYwNzQwMjU4ODgxMUY0OTU3NzEwNDQKKzoxMDAyNjAwMDgwMDBGNEE5RjgzMDAyQjI0ODExRjAzMDAwRkY4MDAwOUQKKzoxMDAyNzAwMDEwRjgyQTVCRjk4MDE4RDZFRTAyOEExMUZDMDBGNDk1N0EKKzoxMDAyODAwMDRBMDg0QTA5NEEwQTRBMEI0QTBDNEEwRDRBMTA0QTExQkUKKzoxMDAyOTAwMDRBMTI0QTEzNEExNDRBMTU0QTE2NEExNzRBMTc0QTE5NjMKKzoxMDAyQTAwMDRBMEU0QTA2NEEwNzRBMUE0QTFENEExQjRBMUM2OEY4NUYKKzoxMDAyQjAwMDAwMDc3RDNGNjlGODAwMDc0MDAwNjhGODAwMURGRkZDNUIKKzoxMDAyQzAwMDQ4MTg2OEY4MDAxOEZGRkVGNDk1RjQ5NTRBMDhFRUZEMEEKKzoxMDAyRDAwMEYwNzQwMjU4ODgxMUY0OTU3NzEwODAwMEY0QTlGODMwNzIKKzoxMDAyRTAwMDAyRUY0ODExRjAzMDAwRkY4MDAwMTBGODJBNUJGOTgwMUYKKzoxMDAyRjAwMDE4RDZFRTAzOEExOEY0OTU4QTFDOEExQjhBMUQ4QTFBNUUKKzoxMDAzMDAwMDhBMDc4QTA2OEEwRThBMTk4QTE3OEExNzhBMTY4QTE1MTAKKzoxMDAzMTAwMDhBMTQ4QTEzOEExMjhBMTE4QTEwOEEwRDhBMEM4QTBCMEYKKzoxMDAzMjAwMDhBMEE4QTA5OEEwOEY0RUI0QTExNzcxMTJBMzk3NjgxRjgKKzoxMDAzMzAwMDAwNTU3NzEyMkExODEwRTIwMDAxODBFMTAwMDExMEUyNTYKKzoxMDAzNDAwMDAwMDI4MEUxMDAwMjc2RTEwMDAzMDAwMDc2RTEwMDA0OTMKKzoxMDAzNTAwMDAwQUFGMDc0MDI5ODhBMTFGQzAwNEExMTg4MTFGNDk1RTEKKzoxMDAzNjAwMEY0OTUxMDgxNkZGODJBOUUwQzg4RThGRjE4RTEwMDAxQ0YKKzoxMDAzNzAwMDFBRjgyQTlFRjAzMDFGRkY4MEY4MkE5RThBMTFGQzAwOEUKKzoxMDAzODAwMDRBMTE3NzExMkEzOTc2ODEwMDU1NzcxMjJBMTgxMUUyMUQKKzoxMDAzOTAwMDAwMDE4MUUxMDAwMTExRTIwMDAyODFFMTAwMDI3NkUxNDkKKzoxMDAzQTAwMDAwMDMwMDAyNDgwODZGRTEwMDA0MEM5OEYwMzAwMEZGRTEKKzoxMDAzQjAwMDgwRTEwMDA1NzZFMTAwMDYwMEFBRjA3NDAyOTg4QTExMzcKKzoxMDAzQzAwMEZDMDA0QTExNzcxMTJBMzk3NjgxMDA1NTc3MTIyQTE4RDQKKzoxMDAzRDAwMDEwRTIwMDAxODBFMTAwMDExMEUyMDAwMjgwRTEwMDAyNzEKKzoxMDAzRTAwMDc2RTEwMDAzMDAwNDQ4MTFGMDAwMDAwNDg4MTJGNDk1M0YKKzoxMDAzRjAwMDc3MTMyQTc2RTkwMEU1OThGMzAwMDAwMUY2Qjg0ODBCNzgKKzoxMDA0MDAwMDA4RjgyQTNDRjg0MzAzNzE3NjgyMDBBQUYwNzQwMjk4MzcKKzoxMDA0MTAwMDhBMTFGQzAwNEExMUVFRjA4ODExRjQ5NUY0OTU3MTgxNkYKKzoxMDA0MjAwMDAwMTQ3MUUxMDAwMTAwMTU0OTExRjMwMDAwMDI4OTExNjcKKzoxMDA0MzAwMEU3ODI2REVBMDAwNEU3ODM2REVCMDAwQTc3MUEwMDA1OTYKKzoxMDA0NDAwMEYwNzIwM0FBMTE4MUYyRTg4MDgyRTlGRjE5RTEwMDAxNEMKKzoxMDA0NTAwMEYxQTA4MTkyMTFFMTAwMENGMkU4ODA4M0U5RkYxOUUxM0IKKzoxMDA0NjAwMDAwMERGMUEwODE5MzZERTkwMDAyNDgxODQ5MTg3MDAwNTEKKzoxMDA0NzAwMDAwMTVGMDAwMDAwNEYzMDAwMDBBODAwMTgxMDJGMjc0MEMKKzoxMDA0ODAwMDBFNTRGNDk1NDgxNEVFMTA4QTExRkMwMDRBMTFGMDc0RDEKKzoxMDA0OTAwMDBDNUU4MEY4MkE1Qzc3MTIyQTM5NzY4MjAwNTU3NzExMzMKKzoxMDA0QTAwMDJBMTgxMEUxMDAwMTgwRTIwMDAxMTBFMTAwMDI4MEUyNjAKKzoxMDA0QjAwMDAwMDI3NkUyMDAwMzAwMUNGNkI4NTZGODJBMTZGMEYwQTcKKzoxMDA0QzAwMEYwRjg4MEUyMDAwNzU2RjgyQTE2RjFGMEU4RkZGMjgwMTMKKzoxMDA0RDAwMDgwRTIwMDA2NTZGODJBMTZGMUY4RThGRkYyODA4MEUyODIKKzoxMDA0RTAwMDAwMDU1N0Y4MkExNkU4RkZGMjgwODBFMjAwMDQ1NkY4NkIKKzoxMDA0RjAwMDI3NkNGMEYwRjBGODgwRTIwMDBCNTZGODI3NkNGMUYwNzIKKzoxMDA1MDAwMEU4RkZGMjgwODBFMjAwMEE1NkY4Mjc2Q0YxRjhFOEZGNzUKKzoxMDA1MTAwMEYyODA4MEUyMDAwOUU4RkY1N0Y4Mjc2Q0YyODA4MEUyNjEKKzoxMDA1MjAwMDAwMDg1NkY4Mjc2QUYwRjBGMEY4ODBFMjAwMEY1NkY4NUQKKzoxMDA1MzAwMDI3NkFGMUYwRThGRkYyODA4MEUyMDAwRTU2RjgyNzZBQTEKKzoxMDA1NDAwMEYxRjhFOEZGRjI4MDgwRTIwMDBENTdGODI3NkFFOEZGMzMKKzoxMDA1NTAwMEYyODA4MEUyMDAwQzc2RTIwMDEzMDAwMDc2RTIwMDEyRTYKKzoxMDA1NjAwMDAwMDA2RkY4MkE1QzBDNTg4MEUyMDAxMUU4RkYxOEY4RDAKKzoxMDA1NzAwMDJBNUM4MEUyMDAxMDc2RTIwMDE3MDAwMDc2RTIwMDE2QTYKKzoxMDA1ODAwMDAwMDA2RkY4MkE5RTBDNTg4MEUyMDAxNUU4RkYxOEY4NkEKKzoxMDA1OTAwMDJBOUU4MEUyMDAxNDc2RTIwMDFCMDAwMDc2RTIwMDFBMzgKKzoxMDA1QTAwMDAwMDA3NkUyMDAxOTAwMDA3MEUyMDAxODI3NkU3NkUyODMKKzoxMDA1QjAwMDAwMUYwMDAwNzZFMjAwMUUwMDAwNzZFMjAwMUQwMDAwMzEKKzoxMDA1QzAwMDc2RTIwMDFDMDAwMDc2RTIwMDIwMDBBQUYwNzQwMjk4OTcKKzoxMDA1RDAwMDhBMTFGQzAwNEExMUVFRkUxMEY4MkEzOEY4NDUwNEVEQTUKKzoxMDA1RTAwMDc3MTIyQTE4MTBFMjAwMDI4ODExRjQ5NTc3MTAwMDA4OUIKKzoxMDA1RjAwMDZERTlGRkRGRjZBOUY4MjAwNDc1RjA3MzA0N0RGMDEwQjMKKzoxMDA2MDAwMDAwMjFGMDAwMUE4MzQ4MDg3RUY4MDAwOEY0RTJGMDc0MzQKKzoxMDA2MTAwMDAzMEFGMDczMDRFQTQ4MTJGMjc0MDMyM0YwMDAwMDA0QTIKKzoxMDA2MjAwMEYyNzQwMzM2RjQ5NUU4MDBGMDczMDRFQTc3MTEyQTE4OUYKKzoxMDA2MzAwMEU4RkY2RkUxMDAwNDBENDgxOEUxMDAwNUYyNzQwOTY5NTQKKzoxMDA2NDAwMEY0OTVGMkEwRjA3NDAzMzZGMDczMDRFQTc3MTEyQTE4RDcKKzoxMDA2NTAwMEU4RkY2RkUxMDAwNDBENDgxOEUxMDAwNUYyNzQwOTQxNUMKKzoxMDA2NjAwMEY0OTVGMkEwRjA3NDAzMzZGMDczMDRFQUYwNzQwMzU3QzMKKzoxMDA2NzAwMEYwNzMwNEVBMTBGODJBMUNGMDc0MTJBNEYyNzQwMzM2MjIKKzoxMDA2ODAwMEY0OTVFODAwRjA3MzA0RUE0ODEyRjI3NDAzODBGMDAwNzUKKzoxMDA2OTAwMDAwMDRGMjc0MDMzNkY0OTVFODAwRjA3MzA0RUExMEY4RUQKKzoxMDA2QTAwMDJBMUNGMDc0MTJDNUYyNzQwMzM2RjQ5NUU4MDBGMDczNTYKKzoxMDA2QjAwMDA0RUE3NzExMkExOEU4RkY2RkUxMDAwNjBENDgxOEUxRjcKKzoxMDA2QzAwMDAwMDc3MUUxMDAwNTAwMTJGMkEwNzAwMDAwMTI4MDAxMjUKKzoxMDA2RDAwMDEwRTEwMDA0RjA3NDBFN0FGMjc0MDMzNkY0OTVFODAwMjkKKzoxMDA2RTAwMEYwNzMwNEVBRjA3NDAzQkM3NkY4MkEzODAwMDBFRTAyRDYKKzoxMDA2RjAwMDhBMTFGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTU3NzEyNDgKKzoxMDA3MDAwMDJBMTgxMEUyMDAwMTgwRTEwMDAxMTBFMjAwMDI4MEUxRkQKKzoxMDA3MTAwMDAwMDI3NkUxMDAwMzAwMDk0ODExRjAwMDAwMDQ4ODEyOEQKKzoxMDA3MjAwMEY0OTU3NzEzMkE4NkU5MDBFNTk4RjMwMDAwMDFGNkI4RkUKKzoxMDA3MzAwMDQ4MEIwOEY4MkEzQ0Y4NDMwNTBBNzY4MjAwQUFGMDc0QjAKKzoxMDA3NDAwMDAyOTg4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1RTYKKzoxMDA3NTAwMDc3MTMyQTE4MTBFMzAwMDE4MEUxMDAwMTEwRTMwMDAyODIKKzoxMDA3NjAwMDgwRTEwMDAyMTNFMzAwMDM4MUUxMDAwMzQ4MTE3NzExRTcKKzoxMDA3NzAwMDAwMDBGODREMDU0NEYwMDAwMDA0ODgxMjQ4MTNGMDAwMTIKKzoxMDA3ODAwMDAwMDQ4ODEzRjQ5NUY0OTVFNTk4NkQ5MUY2Qjg0ODExMzYKKzoxMDA3OTAwMDA4RjgyQTNDRjg0MzA1M0FGMDIwMkEzOTQ5MTFGNTAwQjcKKzoxMDA3QTAwMDg5MTFGNDk1RjQ5NTc2RTEwMDA0MDBBQUYwNzQwMjk4OUEKKzoxMDA3QjAwMDhBMTFGQzAwNEExMTc3MTEyQTM5NzY4MTAwNTU3NzEyODcKKzoxMDA3QzAwMDJBMTgxMEUyMDAwMTgwRTEwMDAxMTBFMjAwMDI4MEUxM0QKKzoxMDA3RDAwMDAwMDI3NkUxMDAwMzAwMEM0ODExRjAwMDAwMDQ4ODEyQ0EKKzoxMDA3RTAwMEY0OTU3NzEzMkE3QUU5MDBFNTk4RjMwMDAwMDFGNkI4NEEKKzoxMDA3RjAwMDQ4MEIwOEY4MkEzQ0Y4NDMwNTZBNzY4MjAwQUFGMDc0OTAKKzoxMDA4MDAwMDAyOTg4QTExRkMwMDRBMTE3NzExMkEzOTc2ODEwMDU1MjUKKzoxMDA4MTAwMDc3MTIyQTE4MTBFMjAwMDE4MEUxMDAwMTEwRTIwMDAyQzQKKzoxMDA4MjAwMDgwRTEwMDAyNzZFMTAwMDMwMDE5NDgxMUYwMDAwMDA0QTUKKzoxMDA4MzAwMDg4MTJGNDk1NzcxMzJBNURFOTAwRTU5OEYzMDAwMDAxMkEKKzoxMDA4NDAwMEY2Qjg0ODBCMDhGODJBM0NGODQzMDU5Mzc2ODIwMEFBQ0MKKzoxMDA4NTAwMEYwNzQwMjk4OEExMUZDMDA0QTExODgxMTEwRjgyQTM4QTUKKzoxMDA4NjAwMEY4NDQwNUUzMTBGODJBQTFGODQ0MDVCQTZDRTFGRjU2RjQKKzoxMDA4NzAwMDA1RTM3MjEyMkFBMUY0OTU3MEUyMkExODAwMTE2QkY4QjAKKzoxMDA4ODAwMDJBQTEwMDAxRjA3MzA1RTM3MjEyMkFBMUY0OTU3MEUyMjcKKzoxMDA4OTAwMDJBMTgwMDExMTBGODJBQTFGMDAwMDAwMTg4MTJGNDk1MUUKKzoxMDA4QTAwMEY0OTU2RUUyRkZGQzA1RDE3MzEyMkFBMTQ4MTFGMDAwMDUKKzoxMDA4QjAwMDAwMDU4MEY4MkFBMjEwRjgyQUExMDhGODJBQTJGODQ0MTQKKzoxMDA4QzAwMDA1RTM2Q0UxRkZBQjA1REQ3NkY4MkEzODAwMDE3NkY4MjgKKzoxMDA4RDAwMDJBQTEwMDAwNzZGODJBQTIwMDAwOEExMUZDMDBGNDk1RjMKKzoxMDA4RTAwMDRBMDg0QTA5NEEwQTRBMEI0QTBDNEEwRDRBMTA0QTExNTgKKzoxMDA4RjAwMDRBMTI0QTEzNEExNDRBMTU0QTE2NEExNzRBMTc0QTE5RkQKKzoxMDA5MDAwMDRBMEU0QTA2NEEwNzRBMUE0QTFENEExQjRBMUM2OEY4RjgKKzoxMDA5MTAwMDAwMDc3RDNGNjlGODAwMDc0MDAwNjhGODAwMURGRkZDRjQKKzoxMDA5MjAwMDQ4MTg2OEY4MDAxOEZGRkVGNDk1RjQ5NTRBMDhFRUZGQTEKKzoxMDA5MzAwMDEwRjgyQTVCRjk4MDE4MDRGMDc0MDVBMkVFMDE4QTE4RjkKKzoxMDA5NDAwMEY0OTU4QTFDOEExQjhBMUQ4QTFBOEEwNzhBMDY4QTBFQ0YKKzoxMDA5NTAwMDhBMTk4QTE3OEExNzhBMTY4QTE1OEExNDhBMTM4QTEyOUMKKzoxMDA5NjAwMDhBMTE4QTEwOEEwRDhBMEM4QTBCOEEwQThBMDk4QTA4RDcKKzoxMDA5NzAwMEY0RUJFRUZENzZGODJBMzgwMDAwNzZGODJBNUEwMDAwRUIKKzoxMDA5ODAwMEU4MDE0RTAwRkI4MDE3RDZGNDk1RTgwMTgwRjgyQTVCNTkKKzoxMDA5OTAwMDc2MDAyQThGRjk4MDE2QUExMEY4MkE1QkY5ODAxNzVDNzYKKzoxMDA5QTAwMDEwRjgyQTVCRjk4MDE3NkZGQjgwMTY2NkY0OTVFODFBMzkKKzoxMDA5QjAwMEZCODAxNjg3RjQ5NUU4MUFGQjgwMTY2NkY0OTVFODFCMTEKKzoxMDA5QzAwMEZCODAxNjg3RjQ5NUU4MUJFRTAzRkMwMDRBMTFGNDk1QjIKKzoxMDA5RDAwMDEzMDI4ODExRTgwMEY4NEQwNjZBRjMxMDAwMDE4OTFBMjUKKzoxMDA5RTAwMEY0OTVGMDcyMDY2OTFDOTE4QTExRkMwMDRBMTE4ODExNzUKKzoxMDA5RjAwMDEyMDMxMTAyRjg0NTA2NzlGMDEwMDAwMTg4MUFGNDk1RTcKKzoxMDBBMDAwMEYwNzIwNjc4ODE5MThBMTFGQzAwNEExMUY0OTU3MTAyMDYKKzoxMDBBMTAwMDAwMTExMTAzNjFGODAwMTEwMDAxRjgzMDA2OTFGNkI4RDkKKzoxMDBBMjAwMDZGRjgwMDExMEMxRjg4MTFGM0U4RThGRjE4ODFGMUEwOUUKKzoxMDBBMzAwMDgxODFGMDczMDY5REY2Qjg2RkY4MDAxMTBDMUY4ODExQzQKKzoxMDBBNDAwMEYzMzAwMEZGRjAyMEZGMDAxODgxRjFBMDgxODE4QTExQUUKKzoxMDBBNTAwMEZDMDA0QTExRjQ5NTExMDI2MUY4MDAwQjAwMDFGODIwMjYKKzoxMDBBNjAwMDA2QjE0OTBCRjYxRjg4MTFGNDk1RjQ5NTEwODFGMjczQzUKKzoxMDBBNzAwMDA2QjhGMDMwMDBGRjQ5MEJGNjFGODgxMUY0OTVGNDk1ODUKKzoxMDBBODAwMDEyODFGNDc4OEExMUZDMDA0QTExRjQ5NTcxMDIwMDEyNjcKKzoxMDBBOTAwMDEzMDM4ODExRTgwMEY4NEQwNkNDRjMxMDAwMDE4OTFBMDEKKzoxMDBBQTAwMEY0OTVGMDcyMDZDQjExOTJGMkMwODE5MThBMTFGQzAwOEMKKzoxMDBBQjAwMDg4MTIxMjAyNzEwMTAwMTNGODQ1MDZEQkYwMTAwMDAxRTQKKzoxMDBBQzAwMDg4MUFGNDk1RjA3MjA2REFFNTk4RkMwMDRBMTFFRUZFRjkKKzoxMDBBRDAwMDg4MTExMTA0MTAwNjcxMDUwMDEyNjFGODAwMTIwMDAxNUUKKzoxMDBBRTAwMEY4MjAwNkVBRjAwMDAwMDFGNkI4RjAwMDAwMDE2RkY4MDcKKzoxMDBBRjAwMDAwMTIwRjFGNDgwODgxMDBGNDdGODAwMUYyNzQwNkJBQ0IKKzoxMDBCMDAwMEY0OTU0ODExRUUwMjhBMTFGQzAwNEExMUVFRkU4ODEyOUIKKzoxMDBCMTAwMDExMDQxMDA2NzEwNTAwMTM2MUY4MDAxMzAwMDFGODIwOUMKKzoxMDBCMjAwMDA3MDlGMDAwMDAwMUYwMDAwMDAxODgxMUY2Qjg2RkY4MjUKKzoxMDBCMzAwMDAwMTMwRjFGODEwMDQ4MTFGNDdGODAwMUYyNzQwNkNFNkMKKzoxMDBCNDAwMEY0OTU0ODEyNDgxMUYwMzBGRkZFRUUwMjhBMTFGQzAwQzUKKzoxMDBCNTAwMDRBMTE0QTE2NEExN0VFRkNGNDk1ODAwMjcxMDgwMDE2RjUKKzoxMDBCNjAwMDEwMDk3MTBCMDAxNzgwMDM3MTBBMDAxMTQ4MTdGODQ1MkUKKzoxMDBCNzAwMDA3M0Y3MDAwMDAxMTEwMDNGMDc0MDY5RjgwMDE3MDAwQTEKKzoxMDBCODAwMDAwMTYxMDAyRjA3NDA2N0I2RDkxNkQ5NjZDRUZGRkZGRkUKKzoxMDBCOTAwMDA3MkZFRTA0OEExNzhBMTY4QTExRkMwMDRBMTFFRUZFMEUKKzoxMDBCQTAwMDEwRjgyQUU4MDhGODJBRTlGODQ1MDc2NDc2MDAwMDAxRjkKKzoxMDBCQjAwMDYyRjgyQUU5MDA1RUYyNzQxMjBCRjAwMDMwNDA3MjExMDQKKzoxMDBCQzAwMDJBRTk3NzEwMDAwRkY1QTlGODIwMDc2MTZCRjgyQUU5RTgKKzoxMDBCRDAwMDAwMDFGMDczMDc2NDc2RjgyQUU5MDAwMEVFMDI4QTExM0EKKzoxMDBCRTAwMEZDMDA0QTExODgxMUU4MDA3NUY4MDAwODAwMDhFODAwQzgKKzoxMDBCRjAwMDc1RjgwMDA4MDAwOUY2QjhGNDk1RjAyMEZDM0Y3NUY4ODgKKzoxMDBDMDAwMDAwMDgwMDBERjAyMDBDMzA3NUY4MDAwODAwMEM3NkY4OTQKKzoxMDBDMTAwMDJBRTgwMDAwNzZGODJBRTkwMDAwNkM4MTA3OTI3NkY4NEQKKzoxMDBDMjAwMDJBRUEwMDAwRkI4MDE2NzZGNDk1RTgxMEU4MDA3NUY4RDMKKzoxMDBDMzAwMDAwMDgwMDAwRjA3MzA3QTg3NkY4MkFFQTAwMDFGQjgwOUMKKzoxMDBDNDAwMDE2NjZGNDk1RTgxMEZCODAxNjg3RjQ5NUU4MTBFODAwMjYKKzoxMDBDNTAwMDc1RjgwMDA4MDAwMEY2QjhGNDk1RjAyMEZGRkY3NUY4NkQKKzoxMDBDNjAwMDAwMDgwMDAwOEExMUZDMDBGNDk1NEEwODRBMDk0QTBBNjMKKzoxMDBDNzAwMDRBMDY0QTA3NEExRDY4RjgwMDA3N0QzRjY5RjgwMDA3RTEKKzoxMDBDODAwMDQwMDA2OEY4MDAxREZGRkMxMEY4MkFFQUY4NDUwN0UxNkIKKzoxMDBDOTAwMDEwRjgyQUU4RjAwMDAwMDFGMDMwMDAwRjgwRjgyQUU4OTAKKzoxMDBDQTAwMDEwRjgyQUU4Rjg0NDA3RDZGNkI4RjQ5NUYwMjBGQzNGOEYKKzoxMDBDQjAwMDc1RjgwMDA4MDAwREYwMjAwQzMwNzVGODAwMDgwMDBDRTUKKzoxMDBDQzAwMEU4MDA3NUY4MDAwODAwMDBGNkI4RjQ5NUYwMjBGRkZGODIKKzoxMDBDRDAwMDc1RjgwMDA4MDAwMDhBMUQ4QTA3OEEwNjhBMEE4QTA5QjAKKzoxMDBDRTAwMDhBMDhGNEVCRUVGRkYyNzQwNzY3RjQ5NUU4MDFFRTAxNzEKKzoxMDBDRjAwMEZDMDA0QTA3NEExRDY4RjgwMDA3N0QzRjY5RjgwMDA3QjUKKzoxMDBEMDAwMDQwMDA2OEY4MDAxREZGRkM4QTFEOEEwN0Y0RUI0QTExQjkKKzoxMDBEMTAwMDc3MTEwMDI4NzY4MTI0MDBFODAwNzVGODAwMDgwMDAxQUEKKzoxMDBEMjAwMEYyNzQwNzY3RjQ5NUU4MDA3NzExMDAxRDY4ODEwMDdGNzEKKzoxMDBEMzAwMEY2QjhGNDk1RjAyMEZGODA3NzExMDAxREYwMzAwMTAwMjcKKzoxMDBENDAwMDFBODE4MDgxRjA3NDBBMzNGMDc0MTFBQ0Y5ODAxMzI1OTQKKzoxMDBENTAwMEY5ODAxNjUzRjk4MDE3ODJGMDc0MDYyRkY5ODAxNEIyQzcKKzoxMDBENjAwMEY5ODAxOTEwRjA3NDBERTNGMDc0MDdFOEYwNzQwMjM2OUUKKzoxMDBENzAwMDhBMTFGQzAwNEExMTYwRjgyNzdCRkZGRkY4MzAwODM5MjAKKzoxMDBEODAwMDcxRjgyNzdCMjc3OTYwRjgyNzc5RkZGRkY4MzAwOEIyRTAKKzoxMDBEOTAwMDEwRjgyOTg2MDhGODI3NzlGMDMwN0ZGRjg4MTFGNDk1M0MKKzoxMDBEQTAwMDc3MTA0MDAwRjZBOUY4MzAwODU4MTBGODI3NzkwOEY4QUQKKzoxMDBEQjAwMDI3N0FGMDMwN0ZGRjg4MTFGNDk1NzcxMDQwMDBGNkE5NkMKKzoxMDBEQzAwMEY4MjAwODYzNzZGODI3NzlGRkZGNzZGODI3N0JGRkZGODYKKzoxMDBERDAwMEY3QjhGMjczMDhEOUYwMjBGRkZGRjZCODU2RjgyNzc0NzkKKzoxMDBERTAwMEYwRjk4ODExNTZGODI3NzJGMEY5ODgxMkY0OTVGNDk1MDUKKzoxMDBERjAwMEU3MjBGNEE5RjgzMDA4OEZGMTIwMjc3QzQ4MTFGNjAwOEQKKzoxMDBFMDAwMDg4MTNGNDk1RjQ5NTEwODMwOEY4Mjc3OUYwMzA3RkZGNjQKKzoxMDBFMTAwMDg4MTNGNDk1NzcxMDQwMDBGNUFCRjgzMDA4OEY2RDkxOEEKKzoxMDBFMjAwMDQ4MTFGMDMwMDFGRjg4MTFGNDk1RTcyMEY3QTlGODMwNTgKKzoxMDBFMzAwMDA4NzQ2RDg5NDgxMUYwMzAwMUZGRjBFN0Y0OTU0ODA4MTcKKzoxMDBFNDAwMDRFRjgyNzc0NDgwOEYxRjk4OTExRjQ5NUY0OTU3MUUxODkKKzoxMDBFNTAwMDI3N0MyNzdBNjBGODI3N0JGRkZGRjgzMDA4QUI0ODA4MkIKKzoxMDBFNjAwMDRFRjgyNzcyNzZGODI3N0JGRkZGNzZGODI3NzlGRkZGODkKKzoxMDBFNzAwMEYyNzMwOEQ5RjQ5NUU4MDA0NEY4Mjc3MzQwRjgyNzc1MTEKKzoxMDBFODAwMDgyRjgwMDExRjQ5NTc3MTA4MDAwRjZBOUY4MjAwOEQ4QjAKKzoxMDBFOTAwMEY2QjgxMEY4Mjc3M0YwMDA4MDAwNDgwODRFRjgyNzc0NjEKKzoxMDBFQTAwMDQ4MDhGMEY5ODgxMUY0OTVGNDk1NzFFMTI3N0MyNzdBQzgKKzoxMDBFQjAwMEY3Qjg1N0Y4Mjc3NEYwNjJGRkZGRjA0MEZGODBGMjgwMjgKKzoxMDBFQzAwMDRFRjgyNzc0RTgwMDhBMTFGQzAwNEExMTRBMTZFRUZCMUUKKzoxMDBFRDAwMDExRjgyNzcxMDlGODI3NzM4OTExODgxMEY0OTVGNDk1OTIKKzoxMDBFRTAwMEY2QTlGODIwMDhFREYyNzMwOTBFRjQ5NUU4MDBGNjIwNTMKKzoxMDBFRjAwMDc2MDAwMDQxRjA3NDEyRUU4ODE2RjQ5NUY3Qjg2RDk2RkUKKzoxMDBGMDAwMDEwRjgwMDE2Rjg0NzA5MEFFNzYxNzYwMDAwMDA3NjAxM0MKKzoxMDBGMTAwMDAwODA3NjAyMDBGRjc2MDMwMDAwRjI3NDBDQjlGNDk1QUQKKzoxMDBGMjAwMEU4MDA2Q0U5RkZGRjA4RkI3MzE2MDAwRUYwNjYwMDQxNTUKKzoxMDBGMzAwMEVFMDU4QTE2OEExMUZDMDA0QTExRjQ5NTcxMDIwMDEzMUQKKzoxMDBGNDAwMEY2Qjg3NzExN0ZGRjU3RjgyNzcyNDgxMUYyODBGMDAwNEEKKzoxMDBGNTAwMDgwMDA4ODExRjY0MEYwRTBGMUYxRTgwMUYyODA4MEY4QkQKKzoxMDBGNjAwMDI3Nzg3NzEyODAwMDU3RjgyNzcyNDgxMkYyODA4ODEyOEIKKzoxMDBGNzAwMEY0OTVGNDk1NkM4MjA5MzhFODAwNzVGODAwMDgwMDAxRDIKKzoxMDBGODAwMEYwNzMwOTNERjAyMDgwMDE3NUY4MDAwODAwMDE3MDgxQzAKKzoxMDBGOTAwMDAwMTM4QTExRkMwMDRBMTFGMDMwN0ZGRjExRjgyOTg2RjYKKzoxMDBGQTAwMEY1MjBGMzMwN0ZGRjg5MTFGNDk1NzcxMDQwMDBGNkE5MDIKKzoxMDBGQjAwMEY4MjAwOTU0RjI3MzA5NjdGNDk1RTgwMjZGRjgyNzdBNkMKKzoxMDBGQzAwMDBEMjBGMzMwN0ZGRjg5MTFGNDk1NzcxMDQwMDBGNkE5Q0EKKzoxMDBGRDAwMEY4MjAwOTY0RjI3MzA5NjdGNDk1RTgwMTgwRjgyNzdCMkIKKzoxMDBGRTAwMEU4MDA4QTExRkMwMDRBMTExMUY4Mjk4NkY1MjBGMzMwMzcKKzoxMDBGRjAwMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOUY4MjAwOTdBNEYKKzoxMDEwMDAwMEYyNzMwOThERjQ5NUU4MDI2RkY4Mjc3QTBEMjBGMzMwMUEKKzoxMDEwMTAwMDdGRkY4OTExRjQ5NTc3MTA0MDAwRjZBOUY4MjAwOThBMUUKKzoxMDEwMjAwMEYyNzMwOThERjQ5NUU4MDE4MEY4Mjc3OUU4MDA4QTExQjgKKzoxMDEwMzAwMEZDMDA0QTExRjQ5NTcxMDIwMDEyODgxMUY2Qjg1N0Y4QjUKKzoxMDEwNDAwMDI3NzJGMDIwN0ZGRkYyODBGMDAwODAwMDgwODE1N0Y4NDcKKzoxMDEwNTAwMDI3NzJFODAxRjNGMUYyODA4MEY4Mjc3ODc3MTE4MDAwOTkKKzoxMDEwNjAwMDQ4MTE1N0Y4Mjc3MkYyODA4ODExRjQ5NUY0OTU2QzgxMzUKKzoxMDEwNzAwMDA5QjVFODAwNzVGODAwMDgwMDAxRjA3MzA5QkFGMDIwMUUKKzoxMDEwODAwMDgwMDE3NUY4MDAwODAwMDE0NUY4Mjc3MTQzRjgyNzczQkYKKzoxMDEwOTAwMDgzRjgwMDExRjQ5NUU3MjBGNkE5RjgzMDA5QzlGMjczMzYKKzoxMDEwQTAwMDA5RTQ3NzEyMDAwMDU3RjgyNzcyRjAyMDdGRkZGMjgwRTIKKzoxMDEwQjAwMDQ5MTJGNTAwRjMwMDgwMDA2MUY4MDAwQjgwMDBGODMwNjEKKzoxMDEwQzAwMDA5RENGMTIwODAwMEY1MjA4OTEyRjQ5NTQ4MTI2RkY4QjAKKzoxMDEwRDAwMDI3NzMwRDAwRjQ5NTQ5MEI0RkY4Mjc3MjhBMTFGRTAwMTMKKzoxMDEwRTAwMDQ4MTJGNDk1NEExMTRBMTY0QTE3RUVGQ0Y0OTU3MTA4MTUKKzoxMDEwRjAwMDAwMTY4ODE3RjA3NDA4MzA0ODE4NzAwMDAwMTZGMjc0NTMKKzoxMDExMDAwMDA5OEZGMDAwMDAwMjg4MTFGNDk1RjQ5NTZDODEwQTBBQTkKKzoxMDExMTAwMEYyNzQwOERCRjQ5NTQ4MTY0ODE4NzAwMDAwMTZGMjc0NTMKKzoxMDExMjAwMDA5OEZGMDAwMDAwMjg4MTExMDAyNzAwMTAwMTE4MDAwODgKKzoxMDExMzAwMEYyNzQwNkNFRjQ5NTQ4MTc0OTExNDgxN0Y2MDA4ODE3M0YKKzoxMDExNDAwMEU3NjBGNUE5RjgyMDBBMkQ0ODE2RjYyMDg4MTE0ODE4RkUKKzoxMDExNTAwMDcwMDAwMDExRjI3NDA5OEZGMDAwMDAwMjg4MTE3MDAxMTQKKzoxMDExNjAwMDAwMTExMDAyODAwMEYyNzQwNkNFRjQ5NTQ4MTdFRTA0QzgKKzoxMDExNzAwMDQ4MTY4QTE3OEExNjhBMTFGQzAwRUVGREU4MDA0RUY4MjAKKzoxMDExODAwMDI3NzBFODAwNEVGODI3NzJFODAwNEVGODI3NzRFODAwNTAKKzoxMDExOTAwMDRFRjgyNzc2NzZGODI3NzlGRkZGNzZGODI3N0EwMDAwNTEKKzoxMDExQTAwMDc2RjgyNzdCRkZGRjc2RjgyNzc4MDAwMEU4MDA3NUY4Q0YKKzoxMDExQjAwMDAwMDgwMDAxNzYwMDAwMDA3NjAxMDIwMEYyNzQxMkRDRTMKKzoxMDExQzAwMEYwMjAyNzdDRUUwM0ZDMDA0QTExRUVGQ0Y0OTU0RTAwNjMKKzoxMDExRDAwMDc3MTI3RkZGRjZCODQ5MTJGMTgwRjMwMDgwMDA4OTEyODAKKzoxMDExRTAwMEYwRTBGMUYxNEYwMkU5MDFGNDk1NDgwQkY1NDA1NjAyQTkKKzoxMDExRjAwMEYxODA4MUY4Mjc3ODc3MTE4MDAwNTYwMDQ5MTFGMTgwM0QKKzoxMDEyMDAwMDg5MTFGNDk1RjQ5NTZDODEwQTgxRTgwMDc1RjgwMDA4NUQKKzoxMDEyMTAwMDAwMDFGMDczMEE4NkYwMjA4MDAxNzVGODAwMDgwMDAxRDMKKzoxMDEyMjAwMDEwODJFRTA0OEExMUZDMDA0QTExRUVGRUY0OTU0RTAwODUKKzoxMDEyMzAwMDc3MTE3RkZGRjZCODQ5MTFGMTgwRjMwMDgwMDA4OTExMjIKKzoxMDEyNDAwMEYwRTBGMUYxRTgwMUYyODA4MEY4Mjc3ODU2MDBGMTIwMTMKKzoxMDEyNTAwMDgwMDBGMTgwRjQ5NTQ5MEJGODREMEFBQkYwMjA4MDAxMzUKKzoxMDEyNjAwMDc1RjgwMDA4MDAwMUYwNzMwQUFGRTgwMDc1RjgwMDA4OEYKKzoxMDEyNzAwMDAwMDFFRTAyNDgxMThBMTFGQzAwNEExMTg4MTIxMzAyODMKKzoxMDEyODAwMDc3MTEwMDAwRjg0RDBBQ0JGMzEwMDAwMTg5MUFGNDk1OEMKKzoxMDEyOTAwMEYwNzIwQUNBNDgxMTFDRjgyOTdFODgxMTExRjgyOTdFQkIKKzoxMDEyQTAwMEYyMDAwMDAxODBGODI5N0U4MTkyNDgxMThBMTFGQzAwMjkKKzoxMDEyQjAwMDRBMTFGNDk1NzEwMjAwMTE4ODEyRjZCOEYwMjA3RkZGRjAKKzoxMDEyQzAwMDU3RjgyNzcwRjI4MEYwMDA4MDAwODA4MjU3RjgyNzcwNkUKKzoxMDEyRDAwMEU4MDFGM0YxRjI4MDgwRjgyNzc4NzcxMjgwMDA0ODEyNTUKKzoxMDEyRTAwMDU3RjgyNzcwRjI4MDg4MTJGNDk1RjQ5NTZDODIwQUY0MEUKKzoxMDEyRjAwMEU4MDA3NUY4MDAwODAwMDFGMDczMEFGOUYwMjA4MDAxOTkKKzoxMDEzMDAwMDc1RjgwMDA4MDAwMTQ1RjgyNzc1RTcxMDQzRjgyNzcxQzQKKzoxMDEzMTAwMDgzRjgwMDEyNkRFODAwMDQ2RDhBRjZBQUY4MzAwQjBBMTMKKzoxMDEzMjAwMEYyNzMwQjI1NzcxMTAwMDA1N0Y4Mjc3MEYwMjA3RkZGMkMKKzoxMDEzMzAwMEYyODA0OTExRjUwMEYzMDA4MDAwNjFGODAwMEI4MDAwOTUKKzoxMDEzNDAwMEY4MzAwQjFERjEyMDgwMDBGNTIwODkxMUY0OTU0ODExMkIKKzoxMDEzNTAwMDZGRjgyNzcxMEQwMEY0OTU0OTBCNEZGODI3NzA0ODExNkQKKzoxMDEzNjAwMDhBMTFGQzAwNEExMTRBMTY0QTE3RUVGMDg4MTcxMDE3MjYKKzoxMDEzNzAwMDgwMDUxMDE2ODAwNjEwMTU4MDA3NzExNDAwMTExMDA1RTUKKzoxMDEzODAwMEYwMzAwMDAxODgxMDEwMDZGMDMwMDAwMTgwMDg0OTExOEIKKzoxMDEzOTAwMDEwMDVGNjAxODAwOTEwMDY2MUY4MDAwODAwMDFGODIwMjgKKzoxMDEzQTAwMDBCNEIxMDA5RjAwMDAwMDE4MDA5NzEwODAwMTJGNEFBMkIKKzoxMDEzQjAwMEY4MzAwQjU0MTAwOUYwMDAwMDAxODAwOTEyMDk0OTExOUUKKzoxMDEzQzAwMEY0N0Y4MDA5RjYyMDgwMEE1NkY4Mjc3MDRFMEMxMDA5MjkKKzoxMDEzRDAwMDgwMDA0ODE4RjI3NDBBQ0VGMDAwMDAwNDg4MTZGNDk1RDQKKzoxMDEzRTAwMEY0OTU2Qzg2MEI2REYyNzMwQzU5RjQ5NUU4MDBGNkI4MjEKKzoxMDEzRjAwMEY0OTU1NjBDRjBGOTg4MTJGNDk1RjQ5NTcwRTIyNzdDNzgKKzoxMDE0MDAwMDI5ODZFODAwODAwRTQ4MTFGODQ1MEJDQzc3MTAwMDAxQzIKKzoxMDE0MTAwMEY0QTlGODMwMEI4OTZDRTFGRkZEMEI4QjEwRTcwMDAyOUIKKzoxMDE0MjAwMDgwMEVGMDczMEI4QjEwODc4MDBFRTcxMEY1QUVGODIwNUUKKzoxMDE0MzAwMDBCQjI3MDAwMDAxNzcwMDEwMDE2MTAwNEYwNzQwNkNFOTUKKzoxMDE0NDAwMDQ4MTc0OTE2RjYwMDg4MTc0ODExRjYyMDg4MTExMDA5MjgKKzoxMDE0NTAwMEY2MjA4MDAwNDgxOEYyNzQwQUNFRjAwMDAwMDQ4ODE2QzYKKzoxMDE0NjAwMDEwMDQ3MDAwMDAxNzcwMDEwMDExRjA3NDA2Q0U0ODExQ0UKKzoxMDE0NzAwMDAwMDQ4MDA0RjA3MzBCQkM3MDAwMDAxNzcwMDEwMDExQjEKKzoxMDE0ODAwMDEwMDRGMDc0MDZDRTQ4MTEwMDA0ODAwNDQ5MTE0ODE2NzcKKzoxMDE0OTAwMEY2MjA4ODE2RjQ5NUY0OTU2Qzg2MEJDQzEwMEE4MDAwMjMKKzoxMDE0QTAwMDQ4MThGMjc0MEFDRUYwMDAwMDA0ODgxNjEyMEFGODQ1QjMKKzoxMDE0QjAwMDBDMzM3MTBBMDAxMEY0QUVGODMwMEMxQzQ4MTZGMEUxNDEKKzoxMDE0QzAwMDg4MTExMjA4Rjg0NTBCREI2RDg5MTIwN0Y4NDUwQkU5MDYKKzoxMDE0RDAwMDEwMDc4MDAwNzAwMjAwMTExMDA2ODAwMTEwMDRGMDc0RTMKKzoxMDE0RTAwMDA2RENGMDczMEJFRjQ4MTE2RjAwMEM5RjEwMDRGMDc0RDIKKzoxMDE0RjAwMDBBQjMxMTBFRjFDMDgxMEUxMDA2NDkxMUY2MDA4MDA2RTQKKzoxMDE1MDAwMDEwMDVGNjIwODgxMUYwMDAwMDAxNDgwODZGMDAwQzlGQkMKKzoxMDE1MTAwMDQ4MThGMjc0MEFDRUYwMDAwMDA0MTIwN0Y4NDUwQzExQzYKKzoxMDE1MjAwMDEwMDc4MDAwNzAwMjAwMTExMDA2ODAwMTEwMDRGMDc0OTIKKzoxMDE1MzAwMDA2RENGMDczMEMxNzQ4MTE2RjAwMEM5RjEwMDRGMDc0NTgKKzoxMDE1NDAwMDBBQjMxMTBFRjFDMDgxMEVGMDczMEMzMzEyMDdGODQ1ODcKKzoxMDE1NTAwMDBDMkExMDA3ODAwMDEwMDY4MDAxMTAwNTgwMDIxMDA0N0MKKzoxMDE1NjAwMEYwNzQwNkRDRjA3MzBDMzAxMjA1NkYwMDBDOUYxMDA0NTEKKzoxMDE1NzAwMEYwNzQwQUIzMTEwRUYxQzA4MTBFNzYwMDAwMDE0ODE4MTQKKzoxMDE1ODAwMEYyNzQwQUNFRjAwMDAwMDQ3MTA0MDAxMTcwODEyOTg2MDMKKzoxMDE1OTAwMDEwMEUxQ0Y4Mjk4NjgwMEU3NjAwMDAwMTQ4MThGMjc0OUYKKzoxMDE1QTAwMDBBQ0VGMDAwMDAwNDEwMEU3MTA0MDAxMTgwODExMEY4QzIKKzoxMDE1QjAwMDI5ODZGMDAwMDAwMUYwMzA3RkZGODBGODI5ODYxMDA5QUQKKzoxMDE1QzAwMEYwMDAwMDAyODAwOUVFMTA4QTE3OEExNjhBMTFGQzAwQ0EKKzoxMDE1RDAwMDEwRjgyNzc1MDhGODI3NzFGMDEwMDAwMTQ4MDhGQzAwODIKKzoxMDE1RTAwMDRBMTE0QTE2RUVGRkY0OTU3MTA0MDAxNkYwMDAwMDAxNEUKKzoxMDE1RjAwMDQ4MDg0RUY4Mjk3QzZERUVGRkZENDgxNkY4NDUwQzk5MTkKKzoxMDE2MDAwMDU2RjgyOTdDRjA3NDBBNUE4ODExMTBGODI5N0RGMDAwRTgKKzoxMDE2MTAwMDAwMDE0ODA4NEVGODI5N0MxMEY4Mjk4MkYwMDAwMDAxRUEKKzoxMDE2MjAwMDg4MTBGNDk1RjQ5NUY0QTlGQTMwMEM5NjgwRjgyOTgyODQKKzoxMDE2MzAwMDU2RjgyOTgwRjAwMDAwMDE0RUY4Mjk4MDczMTEyOTgyQTQKKzoxMDE2NDAwMDZDRUVGRkZGMEM3NkVFMDE4QTE2OEExMUZDMDA0QTExM0YKKzoxMDE2NTAwMDc2RjgyOTg0MDAwMDc2RjgyOTg1MDAwMUU4MDA0RUY4MjQKKzoxMDE2NjAwMDJBMEM3NkY4Mjk4NjAwMDA3NkY4Mjk4NzAwMDA3NzExODEKKzoxMDE2NzAwMDI5ODg3NjgxQUFBQTc2RTEwMDAxQUFBQTc2RTEwMDAyNjkKKzoxMDE2ODAwMDAwMDA4QTExRkMwMDRBMTFFRUZDRjQ5NTcxMDYwMDE0NkEKKzoxMDE2OTAwMDcxMDcwMDEzNzEwODAwMTI3MTA5MDAxNTc3MTAwMEZGMUYKKzoxMDE2QTAwMEY0QUFGODMwMEQ0NDQ5MTM1M0Y4MkEwQzRGRjgyQTBDQzkKKzoxMDE2QjAwMDczMTIwMDBFRjE2NjAwMEQ4OTExRjQ5NTc3MTAwMDAxODgKKzoxMDE2QzAwMDcxRTEyNDAwMDAxMUY0QTlGODMwMEQxNzc3MTAwMDAyMjEKKzoxMDE2RDAwMEY0QTlGODMwMENFQzc3MTEyOThBNzY4MTAwMDBFODAwMzMKKzoxMDE2RTAwMDc3MTQwMDAwNzcxMzAwMDBGMDczMEQ0ODZDODMwQ0ZBMzgKKzoxMDE2RjAwMDc3MTEyOThBNDgxMkYwRThGMDQwODAwMDgwODFFODAwRTQKKzoxMDE3MDAwMDc3MTQwMDAwRjA3MzBENDg0OTEzRjM0MDgwMDA4MUY4MEUKKzoxMDE3MTAwMDI5OEE2MUY4MDAxNTAwMDFGODIwMEQwNzY5RjgyOThBNjcKKzoxMDE3MjAwMDQwMDA2MUY4MDAxNDAwMDFGODIwMEQwRjY5RjgyOThBQzMKKzoxMDE3MzAwMDIwMDA3NzExMjk4QTQ5MTJGM0U4MUI4MTgxODFGMDczMTcKKzoxMDE3NDAwMDBENDgxMUY4Mjk4NEY4NEMwRDM3NzcxMTI5ODg3NjgxRDYKKzoxMDE3NTAwMEFBQUExMUY4Mjk4NUYzMTAwMDAxRjM0MEFBMDA4MUUxM0IKKzoxMDE3NjAwMDAwMDE3NjAwMDAwMjgwMDE3MDAyMDAxNDcwMDMwMDEzNzMKKzoxMDE3NzAwMEYyNzQwQjI4RjQ5NTQ4MTE3MUY4Mjk4NTI5ODRGMDczQzcKKzoxMDE3ODAwMDBENzM3NjAwMDAwMDgwMDE3NjAyMDAwMDcwMDMwMDEzRTQKKzoxMDE3OTAwMEYyNzQwQjI4RjQ5NUU4MDBGMDczMEQ3Mzc3MTEyOThBMjEKKzoxMDE3QTAwMDcwODEwMDEzMTFGODI5ODRGODRDMEQ2ODc3MTEyOTg4OEQKKzoxMDE3QjAwMDc2ODFBQUFBMTFGODI5ODVGMzEwMDAwMUYzNDBBQTAwNDYKKzoxMDE3QzAwMDgxRTEwMDAxNzYwMDAwMDM4MDAxNzAwMjAwMTQ3MDAzQzMKKzoxMDE3RDAwMDAwMTNGMjc0MEIyOEY0OTU0ODExNzFGODI5ODUyOTg0QjcKKzoxMDE3RTAwMEYwNzMwRDczNzYwMDAwMDE4MDAxNzAwMjAwMTQ3MDAzMjUKKzoxMDE3RjAwMDAwMTNGMjc0MEIyOEY0OTU0ODExNkJGODI5ODRGRkZGNEQKKzoxMDE4MDAwMEVFMDQ4QTExRkMwMDRBMTFGNTQwRjQ5NTQ4MEJGNDc4NzcKKzoxMDE4MTAwMDg4MTFGNDk1RjQ5NTZDRTFGRkI5MEQ4OEYyNzMwREE1NkMKKzoxMDE4MjAwMEY0OTVFODYwRjIwMDAwMDY2MUY4MDAxMTAwMjBGODMwM0QKKzoxMDE4MzAwMDBEOTg2MUY4MDAwQjAwMDFGODIwMERBM0YyMDAwMDA3REQKKzoxMDE4NDAwMEYwNzMwREEzNjFGODAwMEIwMDAxRjgyMDBEQTFGMjczRjUKKzoxMDE4NTAwMDBEQTNGMDAwMDAwMUYwMDAwMDAyNDgwOEY0N0Y4QTExOTcKKzoxMDE4NjAwMEZDMDBFRUZGRjA3NDA3RkRGMDc0MDc0NEYwNzQwREI0NTMKKzoxMDE4NzAwMEYwNzQwMjA1RjA3NDA0NjBGMDczMERBQUVFRkQxMEY4MjgKKzoxMDE4ODAwMDJBQTNGODQ0MERDQjEwRjgyQUE0Rjg0NTBERDc3NjAwMEEKKzoxMDE4OTAwMDAyMDBGMjc0MDlFOEYwMjAyMjAwNzZGODJBQTQwMDAwODEKKzoxMDE4QTAwMDc2RjgyQUE3MDAwMEYwNzMwREQ3NzYwMDAyMDBGMjc0RDQKKzoxMDE4QjAwMDA5RThGMDIwMjAwMDc2RjgyQUEzMDAwMDc2RjgyQUE3OEQKKzoxMDE4QzAwMDAwMDFGMDc0MEM1RUYwRTBGMDEwM0E5OEY4NDcwREUxN0EKKzoxMDE4RDAwMDc2RjgyNzZFMDAwMEVFMDNGQzAwNEExMUVFRkU3NzExNDkKKzoxMDE4RTAwMDIwMDA3NjAwQUFBQTc2MDEwMjAwRjI3NDA2NkNGNDk1MzQKKzoxMDE4RjAwMDQ4MTE3NjAwNTU1NTc2MDEwMjAwNDgxMUYyNzQwNjZDQzUKKzoxMDE5MDAwMEYwMDAwMjAwNzZGODJBQTMwMDAwNzZGODJBQTQwMDAwNkUKKzoxMDE5MTAwMEU4MDA0RTAwRkI4MDE1M0VGNDk1RTgwNDgwRjgyQUE1MDcKKzoxMDE5MjAwMDc2MDAyQUE4Rjk4MDE0ODc3NjAwMkFBREZCODAxMzYyMUUKKzoxMDE5MzAwMEY0OTVFODAyMTBGODJBQTVGOTgwMTQ2M0ZCODAxNjY2NzYKKzoxMDE5NDAwMEY0OTVFODFDRkI4MDE2ODdGNDk1RTgxQ0U4MDE0RTAwMkUKKzoxMDE5NTAwMEZCODAxN0Q2RjQ5NUU4MDA4MEY4MkFBNjc2MDAyQUI3MEYKKzoxMDE5NjAwMEY5ODAxNkFBMTBGODJBQTZGOTgwMTc1QzEwRjgyQUE2QTIKKzoxMDE5NzAwMEY5ODAxNzZGRUUwMjhBMTFGQzAwRjQ5NTRBMDg0QTA5QjMKKzoxMDE5ODAwMDRBMEE0QTA3NEExRDY4RjgwMDA3N0QzRjY5RjgwMDA3QzAKKzoxMDE5OTAwMDQwMDA2OEY4MDAxREZGRkMxMEY4MkFBN0Y4NDQwRTRCMjEKKzoxMDE5QTAwMDc2RjgyQUEzMDAwMUYwNzMwRTRFNzZGODJBQTQwMDAxRkYKKzoxMDE5QjAwMDhBMUQ4QTA3OEEwQThBMDk4QTA4RjRFQjRBMTE0QTE2OUMKKzoxMDE5QzAwMDRBMTdFRUZFODgwRTcxMDgwMDE2NzEwNjAwMTcxMTA3RkYKKzoxMDE5RDAwMEYwNjYwMDBERjAwMDI1QTA4ODExNzYwMTAwMDY4MTAwNTgKKzoxMDE5RTAwMEYyNzQwNkNFRjAwMDAwMDE3NjAxMDAwNjcwMDAwMDE2QzkKKzoxMDE5RjAwMDQ4MTFGMjc0MDZDRUYwMDAwMDA3NzA4MTAwMTdFRTAyNjUKKzoxMDFBMDAwMDhBMTc4QTE2OEExMUZDMDA0QTExODgwRTcxMDIwMDEyODgKKzoxMDFBMTAwMDExMDNGMDY2MDAwREYwMDAyNDAwODgxMUY0OTU3MDgxMjgKKzoxMDFBMjAwMDAwMTI2RUUyRkZGRTBFOERGNDk1RTgwMEU4MDE4MEUxMDEKKzoxMDFBMzAwMDAwMDI3NkUxMDAwMzAwRkY3NkUxMDAwNDAwMDA3NkUxOTkKKzoxMDFBNDAwMDAwMEIwMDAwNzZFMTAwMEMwMDAwODFFMTAwMDE4QTExMkEKKzoxMDFBNTAwMEZDMDA0QTExRUVGQzg4MEVGNDk1RjE2NjAwMERGMzAwQ0YKKzoxMDFBNjAwMDI0MDA4OTExRjQ5NUY0OTU3NkUxMDAwQzAwMDA3NkUxRUMKKzoxMDFBNzAwMDAwMEIwMDAwNzZFMTAwMDIwMDAxNzYwMDAwMDA3NjAxMTQKKzoxMDFBODAwMDAwMDA4MDAyNzYwMzAwMDBGMjc0MENCOUY0OTVFODAwQkYKKzoxMDFBOTAwMEVFMDQ4QTExRkMwMDRBMTE4ODE5RjQ5NTczMTkwMDBFOUUKKzoxMDFBQTAwMEYxNjYwMDBERjIwMDI0MDA3NzE1MjVBMDc3MTQwMDAwRTAKKzoxMDFBQjAwMDc3MUEwMDFGRjA3MjBGMTRGNkI4NDkxOTA5ODVGODRDMEYKKzoxMDFBQzAwMDBGMTNGMTAwMDAwNTg5MTE0OTE1RjMwMDAwMDE4OTEzNzYKKzoxMDFBRDAwMDQ5MTVGMzAwMDAwNzg5MTIxMTkzMUQ5MTE5OTI4OTEwN0QKKzoxMDFBRTAwMEY0OTVGNDk1NkM4MDBGMTMxMTkzMUQ5MTE5OTI4OTEwNDAKKzoxMDFBRjAwMEY0OTVGNDk1NkM4MDBGMTMxMTkzMUQ5MTE5OTI4OTEwMzAKKzoxMDFCMDAwMEY0OTVGNDk1NkM4MDBGMTMxMTkzMUQ5MTE5OTI4OTEwMUYKKzoxMDFCMTAwMEY0OTVGNDk1NkM4MDBGMTMxMTkzMUQ5MTE5OTI4OTEwMEYKKzoxMDFCMjAwMEY0OTVGNDk1NkM4MDBGMTMxMTkzMUQ5MTE5OTI4OTExRkUKKzoxMDFCMzAwMEY0OTVGNDk1NkM4MTBGMTM2RDk0NkRFRDAwMEQ0ODE0QzAKKzoxMDFCNDAwMDhBMTFGQzAwNEExMTRBMTY0QTE3RUVGODg4MTcxMDBENDAKKzoxMDFCNTAwMDgwMDQxMDBDODAwNTcxMEUwMDE2NzMxNzAwMEVGMDY2REQKKzoxMDFCNjAwMDAwMERGMDAwMjQwMDg4MTExMEY4Mjc2M0Y4NDUwRjMyQUIKKzoxMDFCNzAwMEYyNzQwRTlGRjQ5NTQ4MTcxMEY4Mjc2MEY4NDQwRjNENTMKKzoxMDFCODAwMDYwRTEwMDAyMDAwMUY4MjAwRjZERjA3MzExMzMxMDA0QzIKKzoxMDFCOTAwMDgwMDAxMDA1RjA3NDA2OUYxMTA0RjMwMDAwMDE4MTA0MTkKKzoxMDFCQTAwMDZEOEU3NzEwMDAwMTcxRTEwMDAyMDAxMkY0QUFGODMwODYKKzoxMDFCQjAwMDBGNjI3NzEwMDAwMkY0QUFGODMwMEY2RDQ1RTEwMDBCQjgKKzoxMDFCQzAwMDg4MTA0M0UxMDAwQzgzRjgwMDEyRjQ5NUY0OTVGNEFBMTAKKzoxMDFCRDAwMEY4MzAwRjZERjA3MzBGOTZGNTAwODEwNDQ5MTZGNTIwNkIKKzoxMDFCRTAwMDg5MTY3NkUxMDAwQzAwMDA3NkUxMDAwNDAwMDA0ODE2M0EKKzoxMDFCRjAwMEY4NDUxMTMzRjdCODcxRTEwMDAyMDAxMjEwRjgwMDEyMzUKKzoxMDFDMDAwMEYwMTAwMDAzRjg0NjBGOEMxMEY4MDAxMkYwMTAwMDAzREIKKzoxMDFDMTAwMEY4NDUxMDE2NzcxMDAwMDFGNEFBRjgzMDBGOUM3NzEwRTEKKzoxMDFDMjAwMDAwMDJGNEFBRjgzMDBGQThGMDczMEY5Njc3MTAwMDA0QTIKKzoxMDFDMzAwMEY0QUFGODMwMTBCNzc3MTAwMDA1RjRBQUY4MzAxMEJDRjkKKzoxMDFDNDAwMEYyNzQwRTlGRjQ5NTQ4MTdGMDczMTEzMTc2RTEwMDBDOTEKKzoxMDFDNTAwMDAwMDA3NkUxMDAwQjAwMDA3NkUxMDAwNDAwMDA3NkUxNzAKKzoxMDFDNjAwMDAwMDIwMDAyMTFFMTAwMENFODAzRjYyMDg5MTJGNDk1NEQKKzoxMDFDNzAwMDc3MTAwMDAzRjVBQUY4MzAwRkI2NkJGODI3NkYwMDAxNTQKKzoxMDFDODAwMDg4MTBGNDk1RjQ5NUY1QUVGODIwMEZCRDQ4MTY4MDA2M0YKKzoxMDFDOTAwMDg4MTNGNDk1NzcxMDAwMDNGNkFCRjgyMDBGQzg2QkY4QTMKKzoxMDFDQTAwMDI3NkYwMDAxMTIwNkY4NDUxMDAwMTBFMTAwMDQ4MDAwQzMKKzoxMDFDQjAwMDEwMDU4MDAxMTAwNDgwMDIxMDA2ODAwMzQ4MTFGMjc0QTAKKzoxMDFDQzAwMDA3MUVGMDAwMDAwNTEwMDYwMEUxMDAwNDgwRTEwMDA0OUEKKzoxMDFDRDAwMDEwMDYwMEUxMDAwQzgwRTEwMDBDODgxMjExMDYxMDA0Q0YKKzoxMDFDRTAwMEY2MDA4MDA0NDgxNkY2MjA4ODE2ODkxM0Y0OTU3NzEwQkMKKzoxMDFDRjAwMDAwMDNGNkFCRjgyMDBGRjU2QkY4Mjc2RjAwMDE3NzEwQTMKKzoxMDFEMDAwMDAwMEM3MUUxMDAwNDAwMTNGNkFCRjgyMDEwMDA2QkY4MzIKKzoxMDFEMTAwMDI3NkYwMDAxNkNFMkZGRkQxMTMxRjZCODZGRTEwMDA1OUQKKzoxMDFEMjAwMDBDNDg2RkUxMDAwNjBDMThGMDMwMEZGRkYwMDAwMDAzQzQKKzoxMDFEMzAwMDgwRTEwMDBCNzZFMTAwMDIwMDAzNDgxNkY4NDUxMTMzRkMKKzoxMDFENDAwMDcxRTEwMDBDMDAxMjEwRTEwMDBCNDkxMkY2MjA4ODEzMUIKKzoxMDFENTAwMEU4MENGNjIwODgxMEY0OTVGNDk1RjVBQkY4MjAxMDI3RTAKKzoxMDFENjAwMDQ4MTM4MDA2ODgxMEY0OTVGNDk1RjVBRUY4MjAxMDMwRUQKKzoxMDFENzAwMDcwMDYwMDE2MTIwNkY4NDUxMDVGMTBFMTAwMDQ4MDAwOUUKKzoxMDFEODAwMDEwMDU4MDAxMTAwNDgwMDIxMDA2ODAwMzQ4MTFGMjc0Q0YKKzoxMDFEOTAwMDA3MUVGMDAwMDAwNTEwMDYwMEUxMDAwNDgwRTEwMDA0QzkKKzoxMDFEQTAwMDEwMDYwMEUxMDAwQzgwRTEwMDBDODgxMjExMDYxMDA0RkUKKzoxMDFEQjAwMEY2MDA4MDA0NDgxNkY2MjA4ODE2RjQ5NTc3MTAwMDBDN0IKKzoxMDFEQzAwMDcxRTEwMDA0MDAxM0Y2QUJGODIwMTA1RjZCRjgyNzZGODkKKzoxMDFERDAwMDAwMDE3NzEwMDAwQ0Y2QUFGODIwMTA2QkYyNzQwRTlGMjkKKzoxMDFERTAwMEY0OTU0ODE3NzFFMTAwMEMwMDEyNzcxMDAwMENGNEFBNkEKKzoxMDFERjAwMEY4MzAxMDdDNzcxMDAwMEM3MUUxMDAwQjAwMTNGNkFCOEIKKzoxMDFFMDAwMEY4MzAxMEI0RTczMEY3QUFGODMwMTBCNEYyNzQwRUMxMEQKKzoxMDFFMTAwMEY0OTU0ODE3ODgxMkY0OTVGNDk1NkM4MjEwOEQ3NkUxNEMKKzoxMDFFMjAwMDAwMDQwMDAwNzZFMTAwMDIwMDA1RjA3MzEwQjQ3NkUxRDIKKzoxMDFFMzAwMDAwMDIwMDA0NzcxMDAwMEM3MUUxMDAwQjAwMTJGNUFBRkIKKzoxMDFFNDAwMEY4MjAxMDlBRjA3MzEwOUM3NzEyMDAwQzc2MDAwMDAwQjYKKzoxMDFFNTAwMDcwMDEwMDEyNzAwMjAwMTc3NjAzMDAwMTQ4MTFGMjc0M0QKKzoxMDFFNjAwMDBDQjlGMDAwMDAwNTc2RTEwMDA0MDAwMDc3MTAwMDBDQ0EKKzoxMDFFNzAwMDcxRTEwMDBCMDAxMkY2QUFGODIwMTExQzQ4MTZGODQ1NzMKKzoxMDFFODAwMDExMzM2MEUxMDAwMjAwMDVGODIwMTBERjEwRTEwMDBCQzMKKzoxMDFFOTAwMDA4RTEwMDBDMTFFMTAwMDRGODREMTBDNzZCRjgyNzZGNDIKKzoxMDFFQTAwMDAwMDE4ODEwRjQ5NUY0OTVGNUFFRjgyMDEwQ0Y0ODE2OEYKKzoxMDFFQjAwMEY0OTU0ODA4Rjg0NTExMTY2RkUxMDAwQzBEMDA4MUUxMUEKKzoxMDFFQzAwMDAwMEMxMTA0RjUwMDgxMDQ0OTE2RjUyMDg5MTZGMDczMDEKKzoxMDFFRDAwMDExMEUxMEUxMDAwQjcxRTEwMDBDMDAxMjg4MTBGNDk1NTYKKzoxMDFFRTAwMEY0OTVGNkFBRjgzMDExMTY0OTEyRjYyMDg4MTBGNDk1RTgKKzoxMDFFRjAwMEY0OTVGNUFFRjgyMDEwRjM0ODE2ODAwNjQ4MDhGODQ1MkEKKzoxMDFGMDAwMDExMTYxMDA0NzAwMjAwMTc4MDAwNzYwMzAwMDAxMDA2RkUKKzoxMDFGMTAwMDgwMDExMDA1RjA3NDBDQjkxMDA2MDBFMTAwMEM4MEUxOUUKKzoxMDFGMjAwMDAwMEMxMTA2MTAwNEY2MDA4MDA0NDgxNkY2MjA4ODE2RUUKKzoxMDFGMzAwMDEwRTEwMDBDMDhFMTAwMEJGODQ1MTExQ0YwNzMxMTMxQTEKKzoxMDFGNDAwMEYyNzQwRTlGRjQ5NTQ4MTdGMDczMTEzMzc2RTEwMDBDOEMKKzoxMDFGNTAwMDAwMDA3NkUxMDAwQjAwMDA3NkUxMDAwMjAwMDExMDA0QjEKKzoxMDFGNjAwMDgwMDAxMDA1RjA3NDA2OUY4ODEyRjQ5NTc3MTAwMEZGMkEKKzoxMDFGNzAwMEY0QUFGODMwMTEzMzZDODYwRjcwRUUwODhBMTc4QTE2QUYKKzoxMDFGODAwMDhBMTFGQzAwNEExMUVFRkNGNDk1NzEwNjAwMTI4ODExQ0EKKzoxMDFGOTAwMDczMTIwMDBFRjE2NjAwMERGMzAwMjQwMDg5MTQxMzgxMDIKKzoxMDFGQTAwMEY3N0FGMzMwMDAwMTgxRjgyNzYwMTNFMTAwMDFGNzdDMzQKKzoxMDFGQjAwMEYzMzAwMDAzODFGODI3NjFFOTBGMTlFMTAwMDE4MUY4OEUKKzoxMDFGQzAwMDI3NjI3MUU0MDAwMzAwMTNGNkI4NDkxM0YzMDAwMDAxMUYKKzoxMDFGRDAwMEYzMzAwMDBGNDkwQjA5RjgyNzYyRjg0RDExNzU3NzEwOUYKKzoxMDFGRTAwMDAwRkZGNEFCRjgzMDExNzU1N0Y4Mjc2Q0YzMDAwMDAxQ0YKKzoxMDFGRjAwMDRGRjgyNzZDNzZGODI3NjMwMDAxRjA3MzExNzg3NkY4QjQKKzoxMDIwMDAwMDI3NjMwMDAwNzBFNDAwMDMyNzYyNzZGODI3NjQwMDAwNkQKKzoxMDIwMTAwMDExRjgyNzYxNjFGODAwMEIwMDAyRjgyMDExOERFOTAxMjkKKzoxMDIwMjAwMDZGRTEwMDAyMEYxODgxRjgyNzY0MTFGODI3NjE2MUY4NDkKKzoxMDIwMzAwMDAwMEIwMDAxRjgyMDExQTkxMEY4Mjc2NEYxMDAwMDA0M0EKKzoxMDIwNDAwMDg5MTNFOUI4RjUyMDgxRjgyNzY1NjA4NDAwMDJGODIwM0IKKzoxMDIwNTAwMDExQTk3MDAwMDAxMTcwMDEwMDEzNzAwMjI3NjVGMjc0NUQKKzoxMDIwNjAwMDBGMThGNDk1NDgxMkVFMDQ4QTExRkMwMDRBMTE0QTE2MjIKKzoxMDIwNzAwMDRBMTdFRUZDRTgwMDRFRjgyNzY2RTgwMDRFRjgyNzY4OUQKKzoxMDIwODAwMEU4MDA0RUY4Mjc2Q0U4MDA0RUY4Mjc2QTc3MTIyNzQwRTAKKzoxMDIwOTAwMDc3MTEyNDAwNzcxQTAwMUZGMDcyMTFEQjcwOTIwMDExODMKKzoxMDIwQTAwMDc2RTEwMDAxRkZGRjc2ODEwMDAwNzZFMTAwMDIwMDAwOEEKKzoxMDIwQjAwMDc2RTEwMDAzMDBGRjc2RTEwMDBDMDAwMDc2RTEwMDBCMDIKKzoxMDIwQzAwMDAwMDA3NkUxMDAwNDAwMDA2REU5MDAwREYwMjAyNUEwN0QKKzoxMDIwRDAwMEYxMDAwMDA3ODkxMUYxMDAwMDAxODEwMjg4MTZGNDk1RDIKKzoxMDIwRTAwMDc3MTcwMDIwNzY4NjAwRkY3NjAwMDAwMDc2MDEwMDA2NTQKKzoxMDIwRjAwMDEwMDJGMDc0MDY2Qzc2MDAwMDAwNzYwMTAwMDZGMjc0OUYKKzoxMDIxMDAwMDA2NkNGNDk1NDgxMTEwMDJGMDAwMDAwRDgwMDI2REU5OTQKKzoxMDIxMTAwMDAwMEQ2REVFMDAwRDZDRUZGRkZGMTFFOEYwNzQwQzlERUIKKzoxMDIxMjAwMEVFMDQ4QTE3OEExNjhBMTFGQzAwNEExMTRBMTY0QTE3QzkKKzoxMDIxMzAwMEVFRkE4ODExMTAwQTQ5MTFGODREMTI5RjQ4MDhGODQ1MjcKKzoxMDIxNDAwMDEyOUY4MDA0MTI4MUY1Nzg4OTEyRjQ5NUY0OTU2Q0UyNUYKKzoxMDIxNTAwMEZGQjkxMjhBNjFGODAwMDgwMDgwRjgzMDEyOEExM0UxOTIKKzoxMDIxNjAwMDAwMDFGMEU4Rjc3OEYxQTBGMjMwMUZGRjg4MTdGNDk1MkUKKzoxMDIxNzAwMDc3MTIyNDAwNzcxNjAwMDA3NzEzMDAyMEY2Qjg0ODE3NkUKKzoxMDIxODAwMDA4RTIwMDAxRjg0NTEyNDI2REVBMDAwRDZEOTY2Q0VCMTUKKzoxMDIxOTAwMEZGRkYxMjM0RjA3MzEyOTA1NkY4Mjc2QUYwMDAwMDAxMjYKKzoxMDIxQTAwMDRFRjgyNzZBNjA4MjAwMDFGODMwMTI1NDcwMDAwMDE2NjEKKzoxMDIxQjAwMEYyNzQxMTM4RjQ5NTQ4MTFGMDczMTI5MDcwMDAwMDE2MDMKKzoxMDIxQzAwMEYyNzQxMTM4RjQ5NTQ4MTE3MjEwMkE5RUY0OTVGNEFGMDgKKzoxMDIxRDAwMEY4MzAxMjZFNzYwMDAwMDA3NjAxMDBCQzcwMDIwMDE2MjYKKzoxMDIxRTAwMDc2MDMwMDAwRjI3NDBDQjlGNDk1NDgxMUYwNzMxMjkwNjQKKzoxMDIxRjAwMDEwRjgyNzZFRjg0NDEyOTA3NjAwMDAwMDc2MDEwMEJDQkIKKzoxMDIyMDAwMDcwMDIwMDE2NzYwMzAwMDBGMjc0MENCOUY0OTU0ODExQzAKKzoxMDIyMTAwMEYwNzQwQzVFRjBFMEYwMTAxMzg4Rjg0MjEyOTA3NkY4M0IKKzoxMDIyMjAwMDI3NkUwMDAxRjA3MzEyOTA1NkY4Mjc2NkYwMDAwMDAxNDcKKzoxMDIyMzAwMDRFRjgyNzY2NkRFOTAwNUU1NkY4Mjc2OEYwMDAwMDAxNDkKKzoxMDIyNDAwMDRFRjgyNzY4NzEwNDAwMTI2RUVBRkZGRjEyMTg3MDA0M0UKKzoxMDIyNTAwMDAwMTJFRTA2OEExNzhBMTY4QTExRkMwMDRBMTFFRUZFNTkKKzoxMDIyNjAwMDg4MEVGNDk1RjA2NjAwMERGMDAwMjVBMDg4MTFGNDk1MTUKKzoxMDIyNzAwMEY0OTU3NjgxMDBGRjc2MDAwMDAwNzYwMTAwMDZGMjc0ODYKKzoxMDIyODAwMDA2NkNGMDAwMDAwMTc2MDAwMDAwNzYwMTAwMDY0ODExOUYKKzoxMDIyOTAwMEYyNzQwNjZDRjAwMDAwMDdFRTAyOEExMUZDMDA0QTExOEQKKzoxMDIyQTAwMDg4MEVGNDk1RjA2NjAwMERGMDAwMjQwMDg4MTFGNDk1NzYKKzoxMDIyQjAwMEY0OTU3NkUxMDAwMUZGRkY3NjgxMDAwMDc2RTEwMDAyRUYKKzoxMDIyQzAwMDAwMDA3NkUxMDAwMzAwRkY4QTExRkMwMDRBMTFGNDk1M0EKKzoxMDIyRDAwMDEzMDM4ODExRkE0RDEyRUM3MTAyMDAxMkYzMTAwMDAxODEKKzoxMDIyRTAwMDg5MUFGNDk1RjA3MjEyRUI3MDkxMDAxMjhBMTFGQzAwQjkKKzoxMDIyRjAwMEY0OTU0QTBCNEEwQzRBMERGN0I4RUVGRTEwRjgwMDA4QTgKKzoxMDIzMDAwMDExMDZGMUMwODMwMEY0ODUxMTA2Rjc4NTgxMDZGNkI4NDEKKzoxMDIzMTAwMEVDMEYxRTA2NjEwMDgwMDBGODIwMTMwNUY0ODRFRTAyMjUKKzoxMDIzMjAwMDhBMEQ4QTBDOEEwQkZDMDBGNDk1NEEwQjRBMEM0QTBENjQKKzoxMDIzMzAwMEVFRkVGN0I4ODAwMDEwRjgwMDA4RjQ4NTExMDZGNzg1NjYKKzoxMDIzNDAwMDgxMDZGNkI4RUMwRjFFMDZGMEYwNjEwMDgwMDBGODIwNjAKKzoxMDIzNTAwMDEzMjBGNDg0RUUwMjhBMEQ4QTBDOEEwQkZDMDA0QTExQzkKKzoxMDIzNjAwMDc3MTEwMDdCNzY4MTJFRUM3NzExMDA3QkVFRkY3MTgxNzcKKzoxMDIzNzAwMDAwMTFFRTAxNzZFMTAwMDEwMDAwNzZFMTAwMDQwMDAwQUEKKzoxMDIzODAwMDc2RTEwMDA2MDAwMDc2RTEwMDYyMDAwMDc2RTEwMDc2NkEKKzoxMDIzOTAwMDAwMDA3NkUxMDA5MjAwMDA3NkUxMDA5NDAwMDA3NkUxMTIKKzoxMDIzQTAwMDAwQjAwMDAwNzZFMTAwQjMwMDAwNzZFMTAwQkUwMDAwNUUKKzoxMDIzQjAwMDc2RTEwMEJGMDAwMDc2RTEwMEMxMDAwMDc2RTEwMEMzRDUKKzoxMDIzQzAwMDAwMDA3NkUxMDBDNTAwMDA3NkUxMDBDNzAwMDA3NjgxREMKKzoxMDIzRDAwMDAwMDA4QTExRjQ5NUY0RTQ0QTExNEExNjRBMTdFRUZGRjgKKzoxMDIzRTAwMEY0OTU3MTA2MDAxNkZCODAxNkEyODgxN0Y0OTVGN0I4Q0QKKzoxMDIzRjAwMDEwRjgwMDE3RjAxMDAwMDJGQTQ2MTM4ODc3MTEwMDAwNTkKKzoxMDI0MDAwMDEwRjgwMDE3RjAxMDAwMDJGODQ1MTNGOTEwRjgwMDE3NDMKKzoxMDI0MTAwMEY4NDUxNDM5MTBGODAwMTdGMDEwMDAwMUY4NDUxNDFGQTIKKzoxMDI0MjAwMEYwNzMxNDUyMTBGODAwMTdGMDEwMDAwM0Y4NDUxM0QzOUUKKzoxMDI0MzAwMDEwRjgwMDE3RjAxMDAwMDZGODQ0MTQ1Mjc3MTIwMDdCRDEKKzoxMDI0NDAwMDcxODIwMDE0NjFFNDAwMDcwMDQwRjgzMDE0NTI0OTE0MEUKKzoxMDI0NTAwMDQ4MTdGNjAwODgxMkY0OTU3NzEzMDA1NTc3MTEwMDU3NDYKKzoxMDI0NjAwMDZERUEwMDNCRTUwMTEwRTYwMDA2ODA4MTQ4MTQwMEY4QTMKKzoxMDI0NzAwMDAwMTc4ODEyRjQ5NTc3MTEwMDU1MTBFMjAwNDA4MDgxMTIKKzoxMDI0ODAwMDc3MTEwMDU3MTBFNjAwMDc4MDgxNzcxMTAwNTUxMEUyQTAKKzoxMDI0OTAwMDAwNDU4MDgxMTBFNjAwMDg3NzExMDA1NzgwODE3NzExOTAKKzoxMDI0QTAwMDAwNTUxMEUyMDA0QTgwODE3NzExMDA1NzEwRTYwMDA5QkMKKzoxMDI0QjAwMDgwODFGMjczMTQ1Mjc3MTEwM0MwNzcxMjAwN0IxMDgyNkYKKzoxMDI0QzAwMEYwMDAwMDA3ODgxM0Y0OTVGNDk1OTYxQkY4MzAxNDUyMjkKKzoxMDI0RDAwMDEwRTMwMDM1NzcxMjAwNTU4MDgyNzcxMjAwNTcxMEU2MUUKKzoxMDI0RTAwMDAwMDQ4MDgyNzcxMjAwNTUxMEUzMDAzNzgwODI3NzEyNTMKKzoxMDI0RjAwMDAwNTcxMEU2MDAwNTgwODI0ODExRjA0MDAwMTBGMjczOEEKKzoxMDI1MDAwMDE0NTBGMDQwMDAyMDc3MTIwMDdCMTA4MkYwMDAwMDA3OEEKKzoxMDI1MTAwMDg4MTJGNDk1RjQ5NTk2MERGODMwMTQ1MjEwRTIwMDM0QjgKKzoxMDI1MjAwMDc3MTMwMDU1ODA4Mzc3MTMwMDU3MTBFNjAwMDI4MDgzRUQKKzoxMDI1MzAwMDEwRTIwMDM2NzcxMjAwNTU4MDgyNzcxMjAwNTcxMEU2QkQKKzoxMDI1NDAwMDAwMDM4MDgyNDgxMUYwNDAwMDA0RjI3MzE0NTBGMDQwMDAKKzoxMDI1NTAwMDAwMDg3NzEyMDA3QjEwODJGMDAwMDAwNzg4MTJGNDk1QzMKKzoxMDI1NjAwMEY0OTU5NjBFRjgzMDE0NTIxMEUyMDAzMzc3MTIwMDU1QUQKKzoxMDI1NzAwMDgwODI3NzEyMDA1NzEwRTYwMDAxODA4MjQ4MTFGMjczQzIKKzoxMDI1ODAwMDE0NTBGMDQwMDAwMjc3MTIwMDdCMTA4MkYwMDAwMDA3MjgKKzoxMDI1OTAwMDg4MTJGNDk1RjQ5NTk2MEZGODMwMTQ1MjEwRTIwMDMyMzgKKzoxMDI1QTAwMDc3MTIwMDU1NzcxMzAwNTc4MDgyNDgxMUU3NjJGMDQwOTgKKzoxMDI1QjAwMDAwMDFFNTAxODgxMUY0OTU3NzEyMDA3QjQ4MTE3MTgyQzIKKzoxMDI1QzAwMDAwMTIxQUUyMDAwNzgwRTIwMDA3Rjk4MDE2OUFFRTAxNzUKKzoxMDI1RDAwMDhBMTc0ODExOEExNjhBMTFGNEU0NEExMTg4MTE3NzBFNzUKKzoxMDI1RTAwMDAwMDU3NzEyMDA1NUU4MDRGNkI4MjhFMTAwMDJFRUZGNzYKKzoxMDI1RjAwMDgwODI3NzEyMDA1N0YwMjA4MDAwRUUwMTFBODI3NzEyNTUKKzoxMDI2MDAwMDAwNTc4MDgyRTgwMTMyRTEwMDAyRjU4Mjc3MTEwMDU0MjAKKzoxMDI2MTAwMEY2OTMxODgxNzcxMTAwNTRGMkEwODA4MThBMTFGNDk1MDUKKzoxMDI2MjAwMEY0RTQ0QTExNEExNkY0OTU3MTA0MDAxMUZCODAxNkEyRDUKKzoxMDI2MzAwMDg4MTZGNDk1NzcxMjAwNTUxMEU2MDAwMzgwODI3NzEyMTEKKzoxMDI2NDAwMDAwNTYxMEUxMDAwMjc3MTMwMDU2ODA4Mjc3MTIwMDU2ODAKKzoxMDI2NTAwMDEwRTEwMDAzODA4MjEwRTEwMDA0NzcxMjAwNTY4MDgyQUUKKzoxMDI2NjAwMDc3MTIwMDU2MTBFMTAwMDE4MDgyRTcxMkU1MDFGOTgwM0YKKzoxMDI2NzAwMDE2OUE4QTE2OEExMUY0RTQ0QTExNEExNjRBMTdFRUY5OTQKKzoxMDI2ODAwMDc3MTEwMDdCNzYwMDAwMTY3NjAxMDAxNzc2MDIwMDFBOUIKKzoxMDI2OTAwMDc2MDMwMDFCNzYwNDAwMUM3NjA1MDAxRDcxODEwMDE3NkYKKzoxMDI2QTAwMDcxRTcwMDA2MDAxMTEwODFGODQ0MTRERkY5ODAxNjUzMTkKKzoxMDI2QjAwMEY2QjhGQjgwMTU4NUYwMjBGRkZGRjZCOEZCODAxNjA4MDIKKzoxMDI2QzAwMEYwMjBGRkZGNzcxMTAwN0I3MTgxMDAxNzc2RTcwMDA2OEQKKzoxMDI2RDAwMDAwMDE0ODE3NzcxNjAwMDA3NzEwMDAwNDc3MTUwMDAzRjMKKzoxMDI2RTAwMDc3MTQwMDAyNzcxMzAwMDFGMDAwMDAzOTc2RTcwMDA4NDQKKzoxMDI2RjAwMDAwMUY3NkU3MDAwNzAwMDA4ODBFNzcxQTAwMDU0ODE3Q0MKKzoxMDI3MDAwMEYwMDAwMDA5ODgxMjQ4MTg4ODE5RTgwMEYwNzIxNTJDQUEKKzoxMDI3MTAwMDczMTkwMDExNzY4MjAwMDAxMTkxNzMxMTAwMTk3MEUyOTMKKzoxMDI3MjAwMDAwMDMwMDE2NzBFMjAwMDQwMDEzNzBFMjAwMDUwMDE0QkMKKzoxMDI3MzAwMDgxRTIwMDAxNzBFMjAwMDYwMDE1NzBFMjAwMDcwMDEwNUYKKzoxMDI3NDAwMDgwRTIwMDAyNzMwRTAwMTFGMTAwMDAxRTZERUUwMDA1MjQKKzoxMDI3NTAwMDZERUIwMDA1NkRFQzAwMDU2REVEMDAwNTZERTgwMDA1MDUKKzoxMDI3NjAwMEYwMDAwMDAxODE5MTZERUEwMDA4NzMxMTAwMEVFRTA3ODAKKzoxMDI3NzAwMDc2RTcwMDQxMDAyNDc2RTcwMDQ2MDAyNTc2RTcwMDRCMjcKKzoxMDI3ODAwMDAwMjY3NkU3MDA1MDAwMjc4QTE3OEExNjhBMTFGNEU0OUIKKzoxMDI3OTAwMDRBMTE0QTE2RUVGRTg4MTE1NjA2NEUwMEY5ODAxNkEyMUUKKzoxMDI3QTAwMEY3QjgxMEY4MDAxMUYwMTBGRkZGRkE0NTE1NjA3NzE2MjIKKzoxMDI3QjAwMEZGRkY3NzEyMDA3QjQ5MTExMDgyRjYwM0YwMDAwMDA5MzkKKzoxMDI3QzAwMDg4MTFGNDk1RjQ5NTEwODFGODQ0MTU3MUYyNzMxNTcxMjAKKzoxMDI3RDAwMEY0OTVFNzE2NzcxMTAwN0IxMDgxRjAwMDAwMDk4ODExNEQKKzoxMDI3RTAwMEY0OTU3NzEyMDAwNjEwODFGODQ1MTU1QzZFRUFGRkZGM0MKKzoxMDI3RjAwMDE1Njk2REU5MDAwODc2ODYwMDAxRTkwMTU2MDBGMTgwNEYKKzoxMDI4MDAwMDEwRjgwMDBCRjg0NTE1N0VGQjgwMTU4NUY0OTU0ODE2RTkKKzoxMDI4MTAwMEY5ODAxNjlBRUUwMjQ4MTY4QTE2OEExMUY0RTQ0QTExRDMKKzoxMDI4MjAwMEVFRkZGQjgwMTZBMjg4MTFGNDk1NzcxMEZGRkZGNEE5NDQKKzoxMDI4MzAwMEY4MzAxNUM0MTBFMTAwMDM3NzEyMDA1NTgwODI3NzEyM0EKKzoxMDI4NDAwMDAwNTY3NjgyMDAwMDc3MTIwMDU2NzY4MjAwMDA3NzEyREEKKzoxMDI4NTAwMDAwNTY3NjgyMDAwMDc3MTIwMDU2NzY4MjAwMDA3NzEyQ0EKKzoxMDI4NjAwMDAwNTY3NjgyMDAwMDEwRTEwMDAyRjAwMDAwMDgzMkY4MDUKKzoxMDI4NzAwMDAwMDg3NzEyMDA1NEU4MDFGNDgyRjQ5MzE4ODI3NzEyNkEKKzoxMDI4ODAwMDAwNTRGMDQwMDAwMDgwODIxMEUxMDAwMUY5ODAxNjc2Q0IKKzoxMDI4OTAwMDEwRTEwMDAxRjk4MDE2NjZGMDczMTYwMzc3MTEwMDdCRDIKKzoxMDI4QTAwMDcxODEwMDExNzFFMTAwMDcwMDEyNzY4MjAwMDAxMEUxRDEKKzoxMDI4QjAwMDAwMDlGOTgwMTU4NTc3MTEwMDdCNzE4MTAwMTExMEUxMDUKKzoxMDI4QzAwMDAwMDlGQjgwMTU4NUYwMDAwMDA4NzcxMTAwN0I3MTgxRkQKKzoxMDI4RDAwMDAwMTExMEUxMDAwOUZCODAxNTg1RjAwMDAwMTA3NzExNTAKKzoxMDI4RTAwMDAwN0I3MTgxMDAxMTEwRTEwMDA5RkI4MDE1ODVGMDAwNkIKKzoxMDI4RjAwMDAwMTg3NzExMDA3QjcxODEwMDExMTBFMTAwMDlGQjgwNDUKKzoxMDI5MDAwMDE1ODVGMDAwMDAyMDc3MTEwMDdCNzE4MTAwMTExMEUxMjYKKzoxMDI5MTAwMDAwMDlGQjgwMTU4NUYwMDAwMDI4Rjk4MDE2OUFFRTAxNjkKKzoxMDI5MjAwMDhBMTFGNEU0NEExMUVFRkZGQjgwMTZBMjg4MTFGNDk1OTcKKzoxMDI5MzAwMDc3MTBGRkZGRjRBOUY4MzAxNjQxNzcxMTAwNTU3NjgxMjIKKzoxMDI5NDAwMDAwMUU3NzExMDA1Njc2ODEwMDAwNzcxMTAwNTY3NjgxQkYKKzoxMDI5NTAwMDAwMDA3NzExMDA1Njc2ODEwMDAwNzcxMTAwNTY3NjgxQ0QKKzoxMDI5NjAwMDAwMDA3NzExMDA1Njc2ODEwMDAwNzcxMTAwNTY3NjgxQkQKKzoxMDI5NzAwMDAwMDA3NzExMDA1Njc2ODEwMDAwNzcxMTAwNTY3NjgxQUQKKzoxMDI5ODAwMDAwMDA3NzExMDA1Njc2ODEwMDAwNzcxMTAwNTZGMjczMkYKKzoxMDI5OTAwMDE2NEU3NjgxMDAwMDc3MTEwMDdCNzE4MTAwMTE3MUUxODQKKzoxMDI5QTAwMDAwMDcwMDEyNzY4MjAwMDAxMEUxMDAzOUY5ODAxNjA4NTUKKzoxMDI5QjAwMEY5ODAxNjlBRUUwMThBMTFGNEU0NEExMTc3MTEwMDdCMkUKKzoxMDI5QzAwMDEwODFGMDAwMDAwNDg4MTFGNDk1RjQ5NTEwODFGQTQ0MDgKKzoxMDI5RDAwMDE2NjNGNDk1RUVGRjc2ODEwMDAxRUUwMThBMTFGNEU0QUUKKzoxMDI5RTAwMEYwMTAwMDEwNEExMTMyRjgwMDA4RUVGRjc3MTEwMDAxRDQKKzoxMDI5RjAwMEU4MDFFRTAxRjQ4MjFBODE4MDgxOEExMUY0OTVGNEU0RjEKKzoxMDJBMDAwMEYwMTAwMDEwNEExMTMyRjgwMDA4RUVGRkU4MDE3NzExQ0IKKzoxMDJBMTAwMDAwMDBGNDgyRUUwMUY0OTMxODgxODA4MThBMTFGNDk1MEMKKzoxMDJBMjAwMEY0RTQ0QTExRjAxMDAwMTA3NzExMDAwMDMyRjgwMDA4QTkKKzoxMDJBMzAwMEVFRkYxMTgxRTgwMUVFMDE3NzExMDAwMEY0ODJGMkEwQUYKKzoxMDJBNDAwMDgwODE4QTExRjQ5NUY0RTRGMjczMTY5RUY2QkJGNDk1MzYKKzoxMDJBNTAwMEY0OTVGNDk1RjQ5NUY0RTRGMjczMTZBNkY3QkJGNDk1QTcKKzoxMDJBNjAwMEY0OTVGNDk1RjQ5NUY0RTQ0QTExNEExNkY0OTU3MTA0M0EKKzoxMDJBNzAwMDAwMTZGQjgwMTZBMjg4MTFGNDk1NzFFMTAwMDUwMDEyODIKKzoxMDJBODAwMDc2ODIwMDBFMTBFNjAwMEU3MUUxMDAwNjAwMTI4MDgyRDAKKzoxMDJBOTAwMDcxRTEwMDA1MDAxMjc2ODIwMDBENzFFMTAwMDYwMDEyNUUKKzoxMDJBQTAwMDEwRTYwMDBEODA4MjcxRTEwMDA1MDAxMjc2ODIwMDBDQjQKKzoxMDJBQjAwMDEwRTYwMDBDNzFFMTAwMDYwMDEyODA4MjcxRTEwMDA1NTEKKzoxMDJBQzAwMDAwMTI3NjgyMDAwQjEwRTYwMDBCNzFFMTAwMDYwMDEyODYKKzoxMDJBRDAwMDgwODI3MUUxMDAwNTAwMTI3NjgyMDAwQTcxRTEwMDA2MzEKKzoxMDJBRTAwMDAwMTIxMEU2MDAwQTgwODI3MUUxMDAwNTAwMTI3NjgyNzEKKzoxMDJBRjAwMDAwMDkxMEU2MDAwOTcxRTEwMDA2MDAxMjgwODI3MUUxMTAKKzoxMDJCMDAwMDAwMDUwMDEyNzY4MjAwMDg3MUUxMDAwNjAwMTIxMEU2NEUKKzoxMDJCMTAwMDAwMDg4MDgyNzFFMTAwMDUwMDEyNzY4MjAwMDcxMEU2NEQKKzoxMDJCMjAwMDAwMDc3MUUxMDAwNjAwMTI4MDgyNzFFMTAwMDUwMDEyQzkKKzoxMDJCMzAwMDc2ODIwMDA2NzFFMTAwMDYwMDEyMTBFNjAwMDY4MDgyMkYKKzoxMDJCNDAwMDcxRTEwMDA1MDAxMjc2ODIwMDA1NzFFMTAwMDYwMDEyQjUKKzoxMDJCNTAwMDEwRTYwMDA1ODA4MjcxRTEwMDA1MDAxMjc2ODIwMDA0MTMKKzoxMDJCNjAwMDcxRTEwMDA2MDAxMjEwRTYwMDA0ODA4MjcxRTEwMDA1QTgKKzoxMDJCNzAwMDAwMTI3NjgyMDAwMzcxRTEwMDA2MDAxMjEwRTYwMDAzRTUKKzoxMDJCODAwMDgwODI3MUUxMDAwNTAwMTI3NjgyMDAwMjEwRTYwMDAyRTgKKzoxMDJCOTAwMDcxRTEwMDA2MDAxMjgwODI3MUUxMDAwNTAwMTI3NjgyNjgKKzoxMDJCQTAwMDAwMDExMEU2MDAwMTcxRTEwMDA2MDAxMjgwODI3MUUxNkYKKzoxMDJCQjAwMDAwMDUwMDEyNzY4MjAwMDA3MUUxMDAwNjAwMTNFNzYyNTIKKzoxMDJCQzAwMEU1MDFGOTgwMTY5QThBMTY4QTExRjRFNDRBMTE4ODExRUYKKzoxMDJCRDAwMEY0OTVGNDk1NzFFMTAwMDUwMDEyRUVGRjc2ODIwMDAwOTUKKzoxMDJCRTAwMEVFMDE3MUUxMDAwNjAwMTE2OTgxMDAwMThBMTFGNDk1N0UKKzoxMDJCRjAwMEY0RTQ0QTExODgxMUY0OTVGNDk1NzFFMTAwMDUwMDEyOEUKKzoxMDJDMDAwMEVFRkY3NjgyMDAwMUVFMDE3MUUxMDAwNjAwMTE2OTgxOUMKKzoxMDJDMTAwMDAwMDE4QTExRjQ5NUY0RTQ0QTExNzcxMTAwN0IxMDgxQzgKKzoxMDJDMjAwMEYwMDAwMDk0ODgxMUY0OTVGNDk1MTA4MUZBNDQxNzlDRjMKKzoxMDJDMzAwMEY0OTVFRUZGRjk4MDE2NTM3NzExMDA3QjEwODFGMDAwQjgKKzoxMDJDNDAwMDAwOTQ4ODExRjQ5NUY0OTU3NjgxMDAwMUVFMDE3NkUxMDcKKzoxMDJDNTAwMDAwMDEwMDAwNzZFMTAwMDIwMDIxNzZFMTAwMDMwMDIwN0YKKzoxMDJDNjAwMDc2RTEwMDA0MDAyMzc2RTEwMDA1MDAyMjc2RTEwMDA2MEIKKzoxMDJDNzAwMDAwMzg3NkUxMDAwNzAwMzk3NkUxMDAwODAwMTU3NkUxQkEKKzoxMDJDODAwMDAwMDkwMDE0NzZFMTAwMEEwMDAwNzZFMTAwMEIwMDQxMjMKKzoxMDJDOTAwMDc2RTEwMDBDMDA0MDc2RTEwMDBEMDA0Mzc2RTEwMDBFODUKKzoxMDJDQTAwMDAwNDI3NkUxMDAwRjAwNDg3NkUxMDAxMDAwNDk3NkUxMkQKKzoxMDJDQjAwMDAwMTEwMDFCNzZFMTAwMTIwMDFBOEExMUY0OTVGNEU0NjkKKzoxMDJDQzAwMDRBMTFFRUZEODgxMTU2MDY0RTAwRjk4MDE2QTI3NzEyQzEKKzoxMDJDRDAwMDAwN0I3NzBFMDAwOTEwODIyOEY4MDAxMUYwMDAwMDk1QTMKKzoxMDJDRTAwMDg4MTFGNDk1RjQ5NTEwODFGODQ1MTdGMEYyNzMxN0ZERUIKKzoxMDJDRjAwMDc3MTFGRkZGNzY4MTAwMDFFOTAxNTYwMEYxODAxMEY4OUQKKzoxMDJEMDAwMDAwMEJGODQ1MTdGREZCODAxODEwRjQ5NTQ4MTFGOTgwNjkKKzoxMDJEMTAwMDE2OUFFRTAzNDgxMThBMTFGNDk1RjRFNDRBMTE4ODExQzkKKzoxMDJEMjAwMEY0OTVFRUZGNzFFMTAwMDEwMDExRUUwMTEwODE4QTExQUUKKzoxMDJEMzAwMEY0OTVGNEU0NEExMUVFRkZGQjgwMTZBMjg4MTFGNDk1OTUKKzoxMDJENDAwMDc3MTBGRkZGRjRBOUY4MzAxOEMzNzFFMTAwMDUwMDEyRjUKKzoxMDJENTAwMDc2ODIwMDAwNzFFMTAwMDYwMDEyNzY4MjAwMDA3MUUxQzcKKzoxMDJENjAwMDAwMDUwMDEyNzY4MjAwMDE3MUUxMDAwNjAwMTI3NjgyRjEKKzoxMDJENzAwMDAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwMjcxRTEwMDA2OTgKKzoxMDJEODAwMDAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMjc2ODIwMDAzRDUKKzoxMDJEOTAwMDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTAwMDUwMDEyNjgKKzoxMDJEQTAwMDc2ODIwMDA0NzFFMTAwMDYwMDEyNzY4MjAwMDA3MUUxNzMKKzoxMDJEQjAwMDAwMDUwMDEyNzY4MjAwMDU3MUUxMDAwNjAwMTI3NjgyOUQKKzoxMDJEQzAwMDAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwNjcxRTEwMDA2NDQKKzoxMDJERDAwMDAwMTI3NjgyMDAwMTcxRTEwMDA1MDAxMjc2ODIwMDA3ODAKKzoxMDJERTAwMDcxRTEwMDA2MDAxMjc2ODIyMDAwNzFFMTAwMDUwMDEyRjgKKzoxMDJERjAwMDc2ODIwMDA4NzFFMTAwMDYwMDEyNzY4MjAwMDA3MUUxMUYKKzoxMDJFMDAwMDAwMDUwMDEyNzY4MjAwMDk3MUUxMDAwNjAwMTI3NjgyNDgKKzoxMDJFMTAwMDAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwQTcxRTEwMDA2RUYKKzoxMDJFMjAwMDAwMTI3NjgyMDAwMDcxRTEwMDA1MDAxMjc2ODIwMDBCMkMKKzoxMDJFMzAwMDcxRTEwMDA2MDAxMjc2ODIwMDAwNzFFMTAwMDUwMDEyQzcKKzoxMDJFNDAwMDc2ODIwMDBDNzFFMTAwMDYwMDEyNzY4MjAwMDA3MUUxQ0EKKzoxMDJFNTAwMDAwMDUwMDEyNzY4MjAwMEQ3MUUxMDAwNjAwMTI3NjgyRjQKKzoxMDJFNjAwMDAwMDA3MUUxMDAwNTAwMTI3NjgyMDAwRTcxRTEwMDA2OUIKKzoxMDJFNzAwMDAwMTI3NjgyMDAwMDEwRTEwMDA3Rjk4MDE2NzYxMEUxNUEKKzoxMDJFODAwMDAwMDhGOTgwMTY3NjEwRTEwMDA3Rjk4MDE2NjYxMEUxNTcKKzoxMDJFOTAwMDAwMDhGOTgwMTY2NkYwNzMxOEQxNzcxMTAwN0IxMDgxNTUKKzoxMDJFQTAwMEZCODAxODEwRjAwMDAwOTU3NzExMDA3QjEwODFGQjgwRUIKKzoxMDJFQjAwMDE4MTBGMDAwMDA5RUY5ODAxNjlBRUUwMThBMTFGNEU0RDEKKzoxMDJFQzAwMDRBMTE4ODExRUVGRkY0OTUxMDA0NzFFMTAwMDMwMDExMUUKKzoxMDJFRDAwMEVFMDE4MDgxOEExMUY0OTVGNEU0NEExMTRBMTZGNDk1QzIKKzoxMDJFRTAwMDcxMDQwMDE2RkI4MDE2QTI4ODExRjQ5NTcxRTEwMDAyQUUKKzoxMDJFRjAwMDAwMTI3NjgyMDAxMDEwRTYwMDAxNzFFMTAwMDMwMDEyNUEKKzoxMDJGMDAwMDgwODI3MUUxMDAwNDAwMTIxMEU2MDAwMjgwODJFNzYyMTQKKzoxMDJGMTAwMDcxRTEwMDAyMDAxM0U1MDFGOTgwMTY5QThBMTY4QTExMDAKKzoxMDJGMjAwMEY0RTQ0QTExODgxMUVFRkZFRTAxMTBFMTAwMDE4QTExNkMKKzoxMDJGMzAwMEY0OTVGNEU0NEExMTc3MTEwMDdCMTA4MUYwMDAwMEIzOUUKKzoxMDJGNDAwMDg4MTFGNDk1RjQ5NTEwODFGQTQ0MTkyQUY0OTVFRUZGNEUKKzoxMDJGNTAwMEY5ODAxNjUzNzcxMTAwN0IxMDgxRjAwMDAwQjM4ODExQkYKKzoxMDJGNjAwMEY0OTVGNDk1NzY4MTAwMDFFRTAxNzZFMTAwMDEwMDAwMTAKKzoxMDJGNzAwMDc2RTEwMDAyMDAxMzc2RTEwMDAzMDAyNjc2RTEwMDA0MEEKKzoxMDJGODAwMDAwMjU3NkUxMDAwNTAwMjQ3NkUxMDAwNjAwMDA3NkUxRTgKKzoxMDJGOTAwMDAwMDcwMDE3NzZFMTAwMDgwMDMyNzZFMTAwMDkwMDMxRjEKKzoxMDJGQTAwMDc2RTEwMDBBMDAzMDhBMTFGNDk1RjRFNDRBMTE0QTE2RDkKKzoxMDJGQjAwMDRBMTdFRUZGRjQ5NTcxMDYwMDE3RkI4MDE2QTI4ODExRTAKKzoxMDJGQzAwMEY0OTVGN0I4MTBGODAwMTFGMDEwRkZGRkZBNDUxOTczRTcKKzoxMDJGRDAwMDc3MTZGRkZGNzcxMjAwN0I3NzBFMDAwNTEwODIyOEY4MjYKKzoxMDJGRTAwMDAwMTFGMDAwMDBCNDg4MTFGNDk1RjQ5NTEwODFGODQ0QjQKKzoxMDJGRjAwMDE5ODRGMjczMTk4NEY0OTVFNzE2NzcxMTAwN0IxMDgxMTgKKzoxMDMwMDAwMEYwMDAwMEI0ODgxMUY0OTU3NzEyMDAwMjEwODFGODQ1QTEKKzoxMDMwMTAwMDE5NkY2RUVBRkZGRjE5N0M2REU5MDAwNTYxRjgwMDE3NzIKKzoxMDMwMjAwMDAwMDFGQTIwMTk4Rjc2ODYwMDAxRkI4MDE5OTdGNDk1MkMKKzoxMDMwMzAwMDQ4MTZGOTgwMTY5QUVFMDE4QTE3NDgxNjhBMTY4QTExRTAKKzoxMDMwNDAwMEY0RTQ0QTExRUVGRkZCODAxNkEyODgxMUY0OTU3NzEwODQKKzoxMDMwNTAwMEZGRkZGNEE5RjgzMDE5Q0M3MUUxMDAwMjAwMTI2OTgyNzcKKzoxMDMwNjAwMDAwMTA3MUUxMDAwMjAwMTI2ODgyRjdGRjcxRTEwMDAyQjYKKzoxMDMwNzAwMDAwMTI2ODgyRkJGRjcxRTEwMDAyMDAxMjY4ODJGRkYwMUIKKzoxMDMwODAwMDcxRTEwMDAzMDAxMjc2ODJGRkZGNzFFMTAwMDQwMDEyN0IKKzoxMDMwOTAwMDc2ODJGRkZGNzFFMTAwMDIwMDEyNjk4MjAwMjA3MUUxNzcKKzoxMDMwQTAwMDAwMDIwMDExRjI3MzE5REE2ODgxRkZFRjc3MTEwMDdCREIKKzoxMDMwQjAwMDEwODFGQjgwMTk5N0YwMDAwMEI0NzcxMTAwN0IxMDgxMUMKKzoxMDMwQzAwMEZCODAxOTk3RjAwMDAwQjlGOTgwMTY5QUVFMDE4QTExNzkKKzoxMDMwRDAwMEY0RTQwMEE0MDAwMDE5REYwMDAxMkFFNjAwMDAwMDAxNkEKKzoxMDMwRTAwMDJBRTcwMDAwMDAwMzJBMTIwQzAxQzM0RjAwMDAwMDAxNzAKKzoxMDMwRjAwMDJBMTUwMDAwMDAwMjJBMTYwMDAwMDAwMDAwMTkyQTVEQUYKKzoxMDMxMDAwMDAwNDMwMDZGMDA3MDAwNzkwMDcyMDA2OTAwNjcwMDY4N0EKKzoxMDMxMTAwMDAwNzQwMDIwMDA1NDAwNjUwMDYzMDA2ODAwNkUwMDZGQkEKKzoxMDMxMjAwMDAwNTQwMDcyMDA2NTAwNkUwMDY0MDAyMDAwNDEwMDQ3RkEKKzoxMDMxMzAwMDAwMDAwMDA0MkE3NjAwMzAwMDJFMDAzMDAwMDAwMDBDNTEKKzoxMDMxNDAwMDJBN0EwMDQ2MDA2NTAwNjIwMDIwMDAzMjAwMzcwMDIwMjUKKzoxMDMxNTAwMDAwMzIwMDMwMDAzMDAwMzEwMDAwMDAwOTJBODYwMDMxQzIKKzoxMDMxNjAwMDAwMzQwMDNBMDAzMzAwMzUwMDNBMDAzMzAwMzMwMDAwRTkKKzoxMDMxNzAwMDAwMEYyQThGMDAwMDAwMDAwMDAwMDAwMTAwMDAwMDAxODUKKzoxMDMxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDMxOTAwMDAwMDAwMDAxMkE5RTAwMDAwMDAxMkE5RjAwMDAwMDAxOUIKKzoxMDMxQTAwMDJBQTAwMDAwMDAwMTJBQTEwMDAwMDAwMTJBQTIwMDAwQkMKKzoxMDMxQjAwMDAwMDEyOTdFMDAwMDAwMDIyOTgwMDAwMDAwMDAwMDAxQkIKKzoxMDMxQzAwMDI5ODJGRkZGMDAwMTJBQTcwMDAwMDAwNTJBQTg3MTQxRkIKKzoxMDMxRDAwMDIwMDAyMDAwMDAyMzA0MDAwMDBBMkFBRDAwMDAwMDAwQTcKKzoxMDMxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDMxRjAwMDAwMEYyQUI3MDAwMDAwMDAwMDAwMDA0MDAwQTA4MjQwM0QKKzoxMDMyMDAwMDAwMDgzMDdGMDA4MDAxODAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMDMyMTAwMDAwMDAwMDAxMjc2RTAwMDAwMDAxMjc2RjAwMDAwMDAwODEKKzoxMDMyMjAwMDAwMDkwMDAwMUE4MzA0RTgwNENGMDRDNTA0QkEwNEIwRkUKKzoxMDMyMzAwMDA0QUMwNDlDMDQ4QzA0ODEwMDc4MDAwMDAxMDBGMjczNEIKKzoxMDMyNDAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczQTQKKzoxMDMyNTAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczOTQKKzoxMDMyNjAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczODQKKzoxMDMyNzAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczNzQKKzoxMDMyODAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczNjQKKzoxMDMyOTAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczNTQKKzoxMDMyQTAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczNDQKKzoxMDMyQjAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczMzQKKzoxMDMyQzAwMDA3QUFGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczNjkKKzoxMDMyRDAwMDA3RUZGNDk1RjQ5NUYyNzMwMjIzRjQ5NUY0OTVGMjczRTUKKzoxMDMyRTAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczMDQKKzoxMDMyRjAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczRjQKKzoxMDMzMDAwMDA3RUZGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTVGMjczRTMKKzoxMDMzMTAwMDA1RTVGNDk1RjQ5NUYyNzMwMkI1RjQ5NUY0OTVGMjczMUUKKzoxMDMzMjAwMDBFMzNGNDk1RjQ5NUYyNzMwN0VGRjQ5NUY0OTUwMDAwREQKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS92aWNhbS9maXJtd2FyZS5IMTYgYi9maXJtd2FyZS92aWNhbS9maXJtd2FyZS5IMTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FjMGNiYQotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3ZpY2FtL2Zpcm13YXJlLkgxNgpAQCAtMCwwICsxLDcgQEAKKzowMDI2MDAwMDAwQjZDMzFGMDAwMjY0RTc2N0ZERkYwRUMwRTcwOURFMDA4RTAwQzAwOTQwMDNDMDE3NDQwMzRCQUZDMDA3MDAwMDRCQUY5N0NGMDAwMDFECis6MDAwQTAwMDAwMEI2QzMwMzAwMDM2NDE4MDAwMDAwRkIKKzowMDA4MDAwMDAwQjZDMzAxMDAwNjY0MDAwMDE0Cis6MDY5NjAwMDAwMEI2QzM4RjA2MDI2NEU3MDcwMDAwMDhDMEU3MDcwMDAwM0VDMEU3MDc1NDAxQUEwMEU3MDdDODA1QjYwMEU3MDc0MjAxRDIwMEU3MDc3QzAwMTYwMEU3MDc1NjAwMTgwMEU3MDcwNjAwOTJDMEU3MDcwMDAwMUVDMEU3MDdGRkZGMjJDMEU3MDcwNDAwMjRDMEU3MDdFQzI3MjhDMEU3MDcxNjAxOEUwMEU3ODcwMTAwMEVDMDk3Q0ZENzA5MDBDMEU3NzcwMTAwOTJDMDA5QzFFNzA5RkUwNTI0MDFFNzA5MDQwNjI2MDFFNzA3MDcwMDkyQzBFNzA1MDBDMEMwREY5N0NGMTcwMDU3MDAxNzAyRDcwOTAwQzBFNzc3MDEwMDkyQzAwQUMxRTc1N0ZGRkZGQTA1MERDMEU3NTcwMDAwRkEwNTBGQzA5RkFGQzYwMEU3MDUwMEMwQzgwNUMxMDVDMDA1QzBERjk3Q0YyN0RBRkEwNUVGMDcwMTAwMEIwNjczQ0Y5RkFGNzgwMTlGQUYxQTAzNkVDRkU3MDlGQzA1MjQwMUU3MDkwMjA2MjYwMUU3MDcwNzAwOTJDMEU3MDlGQzA1RkUwNUU3MDkwMjA2MDQwNkU3MDkwMDA2RkMwNUU3MDlGRTA1MDAwNjI3REFGQTA1RTc1NzAxMDBGQTA1MDJDQTA0QzA5N0NGOUZBRjY2MDU5N0NGRTcwNzQwMDAwMjA2QzgwOUZDMDU5RkFGREEwMjk3Q0ZDRjE3MDIwMEVGNTc4MTAwMDkwNjlGQTBCNjAxRUY1NzgwMDAwOTA2OUZBMDQwMDJFRjU3MDEwMDBCMDY5RkEwNDYwM0U3MDcwMTAwMEFDMDQ2QUY0N0FGOUZBRjQwMDJFNzA3MkUwMDBBQzBFRjg3ODAwMDA5MDY5N0NGMDAwRTAxMDBDMDU3NTEwMDlGQzA5RTAyQzA1NzUwMDAyMEMwQzA1NzU1MDAxMkMwQzA1NzU2MDA5RkMwNzIwMjlGQ0ZENjAyQzEwQjA4MDYwMUQwNkY5MDA4MDZDMDA3MDgwMEMxMEIwODA2OUZBRjI4MDU5N0NGMkYwRTAyMDAwODA2QzAwNzA4MDBDMTBCMDgwNjlGQUYyODA1OUZDRkQ2MDIyRjBFMDIwMDA5MDZFRjg3ODAwMDA5MDY5RkNGRDYwMkVGNjc3RkZGMDkwNkU3NjdGRkZEMjJDMEU3NjdFRkZGMjRDMEU3ODcxMDAwMjhDMDlGQUZCODA1RTc4N0UwMjEyNEMwOUZBRkE4MDVFNzg3MDgwMDI0QzBFNzY3REZGRjI0QzBDODA3MEEwMEMwMDcwMDAwQzEwNzAxMDA5RkFGMjgwNTlGQUZCODA1QzAwNzlFMDA5RkFGNDQwNUU3NjdGRkZFMjRDMEMwMDkyMEMwRTc4NzAwMDEyNEMwQzA3NzAwMDIwRkMxRTc2N0Y3RkYyNEMwRTc2N0Y3RkYyNEMwRTc4NzA4MDAyNEMwMDhEQTVFQzFFRjA3ODAwMDA5MDY5N0NGRUYwNzAxMDAwQTA2OTdDRkVGMDcwMDAwMEIwNkVGMDcwMDAwMEEwNkVGNjc3RkZGMDkwNkVGMDcwMDAwMEQwNkU3NjdFRkZGMjhDMEU3NjcxN0Q4MjRDMEU3MDcwMDAwMUVDMEU3MDdGRkZGMjJDMDk3Q0ZDODA3MEUwNjlGQUZEQTAyRTcwNzAwMDBGMjA1RTcwNzEwMDBGNjA1RTcwNzBFMDZGNDA1RTcwN0Q2MDJGODA1QzgwN0YyMDVDMTA3MDA4MDUwQUY5N0NGMkYwQzAyMDAwNzA2MkYwQzA0MDAwNjA2RTcwNzAwMDBGMjA1RTcwNzEwMDBGNjA1RTcwN0UyMDVGNDA1RTcwN0NFMDJGODA1QzgwN0YyMDVDMTA3MDA4MDUxQUY5N0NGOUZBRjY2MDQ5RkFGMUEwMzU5QUY5N0NGQzAwNzBFMDBDMTBCMEMwNjQxRDE5RkFGMjgwNUMwMDczQzAwOUZBRjQ0MDU2ODAwQzAwNzNCMDA5RkFGNDQwNTZGMDAwQzA2NjgwMEUwMDcwNDAxRTgwQjBBMDZFODA3MDAwMEUwMDcwMDAyRTAwN0VDMDFFMDA3RkNGRjk3Q0ZFNzA3RkZGRkZBMDVFRjA3MDAwMDBCMDZFNzA3MEUwNjI0MDFFNzA3MEUwNkZFMDVFNzA3NDAwMDI2MDFFNzA3NDAwMDA0MDZFNzA3MDcwMDkyQzA5N0NGRUYwNzAyMDAwQjA2OUZBRjc4MDFFRjc3ODAwMDA3MDY5RkMwMTQwNEVGNzcwMTAwMDcwNjM3QzBFRjc3MDEwMDBEMDYwRkMxRUYwNzAxMDAwRDA2QzAwNzAyMDBDMTA3MzAwMDlGQUYyODA1QzAwNzAxMDBDMTA3MDIwMDlGQUYyODA1QzgwN0ZGNEY5RkFGQTgwNUMwMDczODAwOUZBRjQ0MDVDMTc3MDMwMDAyQzEwOERBNzVDMUMxNzcwMTAwMEFDMUMwMDcwMTAwQzEwNzAyMDA5RkFGMjgwNUVGMDcwMTAwMDYwNjJDQ0ZDMDA3MDEwMEMxMDcwNDAwOUZBRjI4MDVFRjA3MDAwMDA2MDYyMkNGRUYwNzAwMDAwRDA2RUY1NzAxMDAwNjA2MUJDMEMwMDcwMTAwQzEwNzAxMDA5RkFGMjgwNUMwMDcwMjAwQzEwNzMwMDA5RkFGMjgwNUM4MDdGRjRGOUZBRkE4MDVDMDA3MzgwMDlGQUY0NDA1QzE2NzAzMDBDMTU3MDMwMDAyQzAwOERBNzNDMUMwMDcwMjAwQzEwNzEyMDBFRjU3MDAwMDA2MDYwMkMwQzEwNzIzMDA5RkFGMjgwNUMwMDcxNDAwQzEwQkVBMDU5RkFGMjgwNUMwMDczRTAwOUZBRjBBMDVFNzA5RTQwNUZBMDUyN0Q4RkEwNUU3MDcwRTA2RkMwNUU3MDc0RTA2MDAwNkU3MDc0MDAwMDIwNjlGQUY2NjA1OUZBRkM2MDA5N0NGQzEwQkUyMDU0MUQwMDFEMkMxMTcyMzAwOUZBRkRDMDRDMDA3MDQwMEMxMEJFMzA1OUZBRjI4MDVDMDA3MDYwMEMxMDlFNjA1OUZBRjI4MDVDMDA3MDcwMEMxMDlFNjA1QzFEMTlGQUYyODA1QzAwNzBCMDBDMTA5RTgwNTlGQUYyODA1QzAwNzBDMDBDMTA5RTgwNUMxRDE5RkFGMjgwNUMwMDcwRDAwQzEwNzA5MDA5RkFGMjgwNUMwMDcwMzAwQzEwNzMyMDA5RkFGMjgwNUMwMDcwRjAwQzEwNzAwMDA5RkFGMjgwNTk3Q0ZFNzY3RkZEOTI0QzBDODA3MEEwMDQwMDBDMDY3MDAwMjI3ODAyNEMwRTc4NzAwMDQyNEMwRTc2N0ZGRjkyNEMwMDFEMjA4REE3MkMxRTc4NzAwMjAyNEMwOTdDRjI3MDAxRUMwRTc4N0ZGMDAyMkMwRTc2NzdGRkYyNEMwRTc4NzgwMDAyNEMwRTc4NzgwMDAyNEMwOTdDRjlGQUYwQTA1NjcwMDFFQzBFNzY3QkZGRjI0QzBFNzg3NDAwMDI0QzBFNzg3NDAwMDI0QzA5N0NGOUZBRjBBMDVFNzY3MDBGRjIyQzBFNzY3RkZGRTI0QzBFNzY3RkZGRTI0QzBDMTA5MjBDMEU3ODcwMDAxMjRDMDk3Q0ZDMDA3NDAwMEM4MDlGQzA1RTc2NzAwRkYyMkMwRTc2N0ZGRkUyNEMwRTc2N0JGRkYyNEMwRTc2N0JGRkYyNEMwMDBEQUU4MDkyMEMwRTc4NzQwMDAyNEMwRTc4NzQwMDAyNEMwMDBEQUU4MDkyMEMwNkRDMUU3ODcwMDAxMjRDMDk3Q0ZFNzA3MzIwMDEyQzBFNzc3MDA4MDEyQzA3Q0MwOTdDRkU3MDcyMDRFMTJDMEU3NzcwMDgwMTJDMDdDQzA5N0NGMDkwMjE5MDAwMTAxMDA4MDk2MDkwNDAwMDAwMTAwMDAwMDAwMDcwNTgxMDI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MDEzNjAwMDAwMEI2QzMyRjAxMDM2NDBFMDAxNDAwMUEwMDIwMDAyNjAwNEEwMDY0MDA2QTAwOTIwMDlBMDBBMDAwQjIwMEI4MDBCRTAwQzIwMEM4MDBDRTAwREMwMERBMDBFMjAwRTAwMEU4MDBFNjAwRUUwMEVDMDBGMjAwRjgwMDAyMDEwQTAxMEUwMTEyMDExRTAxMjIwMTI4MDEyQzAxMzIwMTM2MDE0NDAxNTAwMTVFMDE3MjAxNzYwMTdBMDE4MDAxODgwMThDMDE5NDAxOUMwMUEwMDFBNDAxQUEwMUIwMDFCNDAxQkEwMUQwMDFEQTAxRjYwMUZBMDEwMjAyMzQwMjNDMDI0NDAyNEEwMjUwMDI1NjAyNzQwMjc4MDI3RTAyODQwMjhBMDI4ODAyOTAwMjhFMDI5NDAyQTIwMkE4MDJBRTAyQjQwMkJBMDJCODAyQzAwMkJFMDJDNDAyRDAwMkQ0MDJFMDAyRTYwMkVFMDJGODAyRkMwMjA2MDMxRTAzMjQwMzI4MDMzMDAzMkUwMzNDMDM0QTAzNEUwMzU0MDM1ODAzNUUwMzY2MDM2RTAzN0EwMzg2MDM4RTAzOTYwM0IyMDNCODAzQzYwM0NDMDNENDAzREEwM0U4MDNGNDAzRkMwMzA0MDQyMDA0MkEwNDMyMDQzNjA0M0UwNDQ0MDQ0MjA0NDgwNDRFMDQ0QzA0NTQwNDUyMDQ1QTA0NUUwNDYyMDQ2ODA0NzQwNDdDMDQ4MDA0ODgwNDhDMDQ5NDA0OUEwNEEyMDRBNjA0QUUwNEI0MDRDMDA0Q0MwNEQ4MDQyQTA1NDYwNTZDMDUwMDAwNUUKKzowMDA4MDAwMDAwQjZDMzAxMDAwNjY0MDAwMDE0Cis6MDAwMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9maXJtd2FyZS93aGl0ZWhlYXQuSEVYIGIvZmlybXdhcmUvd2hpdGVoZWF0LkhFWApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGFlNjAyCi0tLSAvZGV2L251bGwKKysrIGIvZmlybXdhcmUvd2hpdGVoZWF0LkhFWApAQCAtMCwwICsxLDEwOTcgQEAKKzowMzAwMDAwMDAyOTdFMzgxCis6MDMwMDAzMDAwMjEzMTJEMworOjAzMDAwQjAwMDIwQkI1MzAKKzowMzAwMzMwMDAyMDgxQ0E0Cis6MDMwMDQzMDAwMjBBMDBBRQorOjAzMDA1QjAwMDI4MzNCRTIKKzoxMDAzNzAwMDkwN0ZFOUUwNzAwMzAyMDQ3MzE0NzAwMzAyMDRFNzI0MjEKKzoxMDAzODAwMEZFNzAwMzAyMDU0RjI0RkI3MDAzMDIwNDY0MTQ3MDAzMjMKKzoxMDAzOTAwMDAyMDQ1MjE0NzAwMzAyMDQzQTE0NzAwMzAyMDQ0OTI0NDQKKzoxMDAzQTAwMDA1NjAwMzAyMDU5RTkwN0ZFQkUwMjRGRTYwMTYxNDYwNUEKKzoxMDAzQjAwMDM2MjQwMjcwN0I3NDEyOTA3RkQ0RjA3NDAwOTA3RkQ1NDUKKzoxMDAzQzAwMEYwMDIwNUE1OTA3RkVBRTBGRjEyMEE5OUVBNDk2MDBENjQKKzoxMDAzRDAwMEVBOTA3RkQ0RjBFOTkwN0ZENUYwMDIwNUE1OTA3RkI0MzQKKzoxMDAzRTAwMEUwNDQwMUYwMDIwNUE1OTA3RkVBRTBGRjEyMEE1OEVBMTYKKzoxMDAzRjAwMDQ5NjAzMzEyQTIzQkY1NEU5MDdGRUVFMEZGRTU0RUQzMEQKKzoxMDA0MDAwMDlGNDAwM0UwRjU0RUU1NEVEMzk0NDA0MDAzNzU0RTQwQzcKKzoxMDA0MTAwMEFFMDJBRjAxN0M3RjdEMDBBQjRFMTI5MTM3OTA3RkI1NkQKKzoxMDA0MjAwMEU1NEVGMDAyMDVBNTkwN0ZCNEUwNDQwMUYwMDIwNUE1NzkKKzoxMDA0MzAwMDkwN0ZCNEUwNDQwMUYwMDIwNUE1OTA3RjAwRTUyMUYwMzMKKzoxMDA0NDAwMDkwN0ZCNTc0MDFGMDAyMDVBNTkwN0ZFQUUwRjUyMTAyRTYKKzoxMDA0NTAwMDA1QTU5MDdGRUFFMEY1MzVEMjAyNDM4ODEwRDJFQkQyQjEKKzoxMDA0NjAwMEE4MDIwNUE1OTA3RjAwRTUzNUYwOTA3RkI1NzQwMUYwRjYKKzoxMDA0NzAwMDAyMDVBNTkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyMDcKKzoxMDA0ODAwMDcwNUJBMjAwRTQzM0ZGMjVFMEZGQTIwNUU0MzM0RjkwNDgKKzoxMDA0OTAwMDdGMDBGMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDVBNUU0QkMKKzoxMDA0QTAwMDkwN0YwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDVBNTkwNTQKKzoxMDA0QjAwMDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1NzUKKzoxMDA0QzAwMEUwMjRCNEY1ODJFNDM0N0ZGNTgzRTA1NDAxOTA3RjAwQUEKKzoxMDA0RDAwMEYwRTRBM0YwOTA3RkI1NzQwMkYwMDIwNUE1OTA3RkI0MUMKKzoxMDA0RTAwMEUwNDQwMUYwMDIwNUE1OTA3RkU4RTAyNEZFNjAxRDI0QjEKKzoxMDA0RjAwMDAyNjAwMzAyMDVBNTkwN0ZFQUUwQjQwMTA1QzIwMDAyOTQKKzoxMDA1MDAwMDA1QTU5MDdGQjRFMDQ0MDFGMDAyMDVBNTkwN0ZFQUUwRTQKKzoxMDA1MTAwMDcwMzQ5MDdGRUNFMEZGNTQwN0ZFRjU0RUVGMzBFNzAzQjgKKzoxMDA1MjAwMDQzNEUxMDkwN0ZEN0U1NEVGMEU1NEU0NDIwRjBFRkY0QjcKKzoxMDA1MzAwMDU0ODBGREM0NTQwRjJFMjVFMDI0QjRGNTgyRTQzNDdGQUEKKzoxMDA1NDAwMEY1ODNFNEYwODA1RjkwN0ZCNEUwNDQwMUYwODA1NjkwNDIKKzoxMDA1NTAwMDdGRThFMDI0RkU2MDE4MjQwMjcwNEE5MDdGRUFFMEI0NEQKKzoxMDA1NjAwMDAxMDREMjAwODAzRjkwN0ZCNEUwNDQwMUYwODAzNjkwRDcKKzoxMDA1NzAwMDdGRUFFMDcwMjA5MDdGRUNFMEY0NTQ4MEZGQzQ1NDBGRDkKKzoxMDA1ODAwMEZGRTA1NDA3MkYyNUUwMjRCNEY1ODJFNDM0N0ZGNTgzOUYKKzoxMDA1OTAwMDc0MDFGMDgwMTA5MDdGQjRFMDQ0MDFGMDgwMDc5MDdGRjgKKzowQzA1QTAwMEI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMEFECis6MDEwNUFDMDAyMjJDCis6MTAwNUFEMDA3NTRBRkY3NTQ5RkY3NTQ4MEY3NTQ3MDBEMjAzQzIwNjlFCis6MTAwNUJEMDBDMjAyQzIwMEMyMDVDMjAxOTAwMzAwNzQxOUYwRTQ5MDlBCis6MTAwNUNEMDAwMUJDRjBDMjA0OTAwMUMwRjBBM0YwQzJBRkMyQTgxMkVBCis6MTAwNUREMDAwQzIyRTQ5MDAyQUZGMDkwMDFCREYwOTAwMTAwRjBBMzY5Cis6MTAwNUVEMDBGMEEzRjBBM0YwQTNGMEEzNzQxMEYwQTM3NDAxRjBBMzkzCis6MTAwNUZEMDA3NDA4RjA3RTAxN0YwMDEyMTlDMTc1NEMxMjc1NEQwQUY5Cis6MTAwNjBEMDA5MDAxMEJFMEZGMDU0REU1NERBQzRDNzAwMjA1NEMxNDBGCis6MTAwNjFEMDBGNTgyOEM4M0VGRjA5MDAxMENFMDQ0ODBGRjA1NERFNUYxCis6MTAwNjJEMDA0REFDNEM3MDAyMDU0QzE0RjU4MjhDODNFRkYwOTAwMUFCCis6MTAwNjNEMDAwREUwRkYwNTRERTU0REFDNEM3MDAyMDU0QzE0RjU4MkY3Cis6MTAwNjREMDA4QzgzRUZGMDkwMDEwRUUwRkYwNTRERTU0REFDNEM3MDQ1Cis6MTAwNjVEMDAwMjA1NEMxNEY1ODI4QzgzRUZGMDkwMTIwQUU0OTNGRjlGCis6MTAwNjZEMDA3NDAxOTM5MDAxMUNDRkYwQTNFRkYwOTAwMTFDRTBGRkZCCis6MTAwNjdEMDBBM0UwRkVFRjZFRkY5MDAxMUNGMEEzRTA2RkZGRjA5MDgyCis6MTAwNjhEMDAwMTFDRTA2RkYwRTBGRUEzRTBGRkU0RkNGRDc1NTIxMEVECis6MTAwNjlEMDA3NTUzMDI3NTU0MTI3NTU1QUMxMjk0MjY3NTRDMTI3NTFFCis6MTAwNkFEMDA0REIyOTAwMTBERTBGRjA1NERFNTREQUM0QzcwMDIwNUNFCis6MTAwNkJEMDA0QzE0RjU4MjhDODNFRkYwOTAwMTBFRTBGRjA1NERFNUIzCis6MTAwNkNEMDA0REFDNEM3MDAyMDU0QzE0RjU4MjhDODNFRkYwOTA3RjhECis6MTAwNkREMDA5MkUwRkZDNDU0MEYyNDQxRkYwNTRERTU0REFDNEM3MDI1Cis6MTAwNkVEMDAwMjA1NEMxNEY1ODI4QzgzRUZGMDA1NERFNTREQUU0Q0IzCis6MTAwNkZEMDA3MDAyMDU0QzE0RjU4MjhFODNFNEYwNzU4MjEwNzU4M0JCCis6MTAwNzBEMDAwMUUwRkNBM0UwRkRBM0UwRkVBM0UwRkY5MDAxMTgxMkMxCis6MTAwNzFEMDBBM0VFN0UwMTdGMTgxMjg2QkU5MDAxMThFMEZDQTNFMEM3Cis6MTAwNzJEMDBGREEzRTBGRUEzRTBGRjc1NTIwQTc1NTMwNjc1NTQxMjQyCis6MTAwNzNEMDA3NTU1QjgxMjk0MjZEMkU4NDNEODIwOTA3RkFCNzRGRjNDCis6MTAwNzREMDBGMDUzOTFFRjkwN0ZBRkUwNDQwMUYwOTA3RkFFRTA0NDI1Cis6MTAwNzVEMDAxRkYwRDJBRjIwMDEyRTIwMDEyQkEyMDM5MjA3MTIwOTA4Cis6MTAwNzZEMDBDNTc1NDY1MDc1NDU2RDc1NDQzMzc1NDMwMDIwMDFFNERDCis6MTAwNzdEMDA3RkZGN0VGRjdERkY3Q0ZGNzg0MzEyQTNEN0VDNEQ0RUFDCis6MTAwNzhEMDA0RjYwRDE4MEU4MzAwMTA1MTIwMzcwQzIwMTMwMDYwQUI2Cis6MTAwNzlEMDAxMjA5RkI1MDAzMTIwQUU4QzIwNjEyOTY1RTkwMDFCREMzCis6MTAwN0FEMDBFMDYwMEMxMjkyMDFFNDkwMDFCREYwOTA3RkQzRjA5MEM3Cis6MTAwN0JEMDAwMkFGRTBCNDBGMDMxMjk5QjkxMkEwOTVFNEZGNzQwMUQyCis6MTAwN0NEMDBBODA3MDg4MDAyQzMzM0Q4RkNGRTkwMDFCQ0UwNUU2MDMwCis6MTAwN0REMDAxNDc0MjgyRkY4RTZEMzk0MEE0MDA0N0UwMTgwMDI3RTFCCis6MTAwN0VEMDAwMDhFNEI4MDAzNzU0QjAxNzQ2ODJGRjU4MkU0MzQyMDI1Cis6MTAwN0ZEMDBGNTgzRTU0QkYwMEZCRjA0QzVFNTJDRDM5NDBBNDAwNEY3Cis6MEUwODBEMDA3RjAxODAwMjdGMDA5MDIwNkNFRkYwMDIwNzkyQzYKKzowMTA4MUIwMDIyQkEKKzowNDA4MUMwMDUzRDhFRjMyOEMKKzoxMDA4MjAwMEU1MzNDMzk0MDE0MDBFOTA3RjkzRTA0NDMwRjA5MDdGMTUKKzoxMDA4MzAwMDk1RTA0NEMwRjA3RkY0N0UwMTEyMDlBRTkwN0Y5NkUwMEYKKzoxMDA4NDAwMDU0RkVGMDdGMEE3RTAwMTIwOUFFOTA3Rjk2RTA0NDA4QzUKKzoxMDA4NTAwMEYwN0YwNTdFMDAxMjA5QUU5MDdGOTZFMDU0RkJGMDdGOUEKKzoxMDA4NjAwMDA1N0UwMDEyMDlBRUU1MzNDMzk0MDE1MDBFN0YwMjdENzAKKzoxMDA4NzAwMEZGMTI4MkVBN0YwNTdFMDAxMjA5QUU5MDdGOTZFMDQ0NjcKKzoxMDA4ODAwMDAyRjBFMDU0N0ZGMDdGMDU3RTAwMTIwOUFFOTA3Rjk2NjMKKzoxMDA4OTAwMEUwNDQ0MEYwN0YwNTdFMDAxMjA5QUU5MDdGOTZFMDU0NjAKKzoxMDA4QTAwMEJGRjA3RjMyN0UwMDEyMDlBRTkwN0Y5NkUwNDQ0MEYwQTgKKzowODA4QjAwMDdGMzI3RTAwMTIwOUFFMjIyNgorOjEwMDhCODAwOTA3Rjk2RTA1NEZERjBFMDQ0ODBGMDdGMEE3RTAwMTJCRAorOjEwMDhDODAwMDlBRUU1MzNDMzk0MDE1MDBFN0YwMkU0RkQxMjgyRUFCQgorOjEwMDhEODAwN0YwNTdFMDAxMjA5QUU5MDdGOTZFMDU0QkZGMDdGMDUzOQorOjEwMDhFODAwN0UwMDEyMDlBRTkwN0Y5NkUwNDQwNEYwN0YwNTdFMDBGQQorOjEwMDhGODAwMTIwOUFFOTA3Rjk2RTA1NEY3RjA3RjA1N0UwMDEyMDk0QQorOjEwMDkwODAwQUU5MDdGOTZFMDQ0MDFGMDdGMDU3RTAwMTIwOUFFRTVDNworOjEwMDkxODAwMzNDMzk0MDE0MDBFOTA3RjkzRTA1NENGRjA5MDdGOTVCRAorOjA4MDkyODAwRTA1NDNGRjAxMjBCMDAyMjI1Cis6MTAwOTMwMDA5MDBBRjRFNDkzNzA3NjkwN0Y5Mzc0MzBGMDkwN0Y5NEYzCis6MTAwOTQwMDA3NDNDRjA5MDdGOTU3NEM2RjA3RjBBN0UwMDEyMDlBRTY5Cis6MTAwOTUwMDBFNDkwN0Y5Q0YwOTA3Rjk2NzQwOEYwOTA3RjlDNzRDRjE5Cis6MTAwOTYwMDBGMDdGMEE3RTAwMTIwOUFFOTAyMDcwRTBGRkM0NTQwRkExCis6MTAwOTcwMDBGNTMzQzM5NDAxNTAwNzkwN0Y5NkUwNDQ4MEYwRTQ5MEYzCis6MTAwOTgwMDA3Rjk3RjA5MDdGOUQ3NDAyRjBFNTMzQzM5NDAxNDAwQjk0Cis6MTAwOTkwMDBFNDkwN0Y5OEYwOTA3RjlFNzRDMEYwOTA3RkUyNzQxMjk0Cis6MEUwOUEwMDBGMDEyMDgyMDc1ODJGNDc1ODMwQTc0RkZGMDIyQUQKKzoxMDA5QUUwMDhFNUQ4RjVFRTU1RTE1NUVBRTVENzAwMjE1NUQ0RTYwMEUKKzowNzA5QkUwMDA1MTIwOUVBODBFRTIyOTgKKzoxMDA5QzUwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDA3MDRFMDQ0QTMKKzoxMDA5RDUwMDAyRjA3RkQwN0UwNzEyMDlBRTkwN0ZENkUwNTRGN0YwODMKKzowNTA5RTUwMEUwNDQwNEYwMjJEMworOjEwMDlFQTAwNzQwMEY1ODY5MEZEQTU3QzA1QTNFNTgyNDU4MzcwRjkyMAorOjAxMDlGQTAwMjJEQQorOjA1MDlGQjAwMTIwOEI4RDMyMjMwCis6MTAwQTAwMDAwMjBDNEUwMDAyMEM4MTAwMDIwQzY2MDAwMjBDQzAwMEI5Cis6MTAwQTEwMDAwMjBDQUEwMDAyMEFFRDAwMDIwQUVFMDAwMjBBRUYwMDMwCis6MTAwQTIwMDAwMjBDREIwMDAyMERDQjAwMDIwRDE3MDAwMjBFMkIwMEEyCis6MTAwQTMwMDAwMjBENTMwMDAyMEU4QjAwMDIwRDhGMDAwMjBFRUIwMDIwCis6MTAwQTQwMDAwMjBBRjAwMDAyMEFGMjAwMDIwQUYxMDAwMjBBRjMwMEIwCis6MDgwQTUwMDAwMjBGNEIwMDAyMEY2MTAwRDAKKzowMjBBNTgwMDhGNEZCRQorOjEwMEE1QTAwRTRGNTUwNzU1MUZGNzU1MjEyNzU1MzZBQUI1MUFBNTI5QgorOjEwMEE2QTAwQTk1MzkwMDAwMTEyQTI1NEI0MDMxREFGNTAwNTUwRUZEMAorOjEwMEE3QTAwQjU0RjAxMjIxMkEyM0I3RTAwMjlGRkVFM0FBOTA3NzU2MworOjBFMEE4QTAwNTFGRkY1NTI4OTUzODBENDdCMDA3QTAwNzkwMDI5Cis6MDEwQTk4MDAyMjNCCis6MTAwQTk5MDBFNEZFNzU1MUZGNzU1MjEyNzU1MzEyQUI1MUFBNTJBOTUyCis6MTAwQUE5MDA1MzkwMDAwMTEyQTI1NDY0MDI3MDJEQUQwNjBFRURCNUVCCis6MTAwQUI5MDAwNzAxMjI5MDAwMDIxMkEyQUQ4NUYwNEZGNTUwNjI0RjU2Cis6MTAwQUM5MDBFNTRGNjI1MEU1NTA2MjRGMjlGREU1NEYzQUE5MDU3NTlBCis6MEUwQUQ5MDA1MUZGRjU1Mjg5NTM4MEMzN0IwMDdBMDA3OTAwRUIKKzowMTBBRTcwMDIyRUMKKzowNTBBRTgwMDEyMDgyMEQzMjJEQQorOjAxMEFFRDAwMzJENgorOjAxMEFFRTAwMzJENQorOjAxMEFFRjAwMzJENAorOjAxMEFGMDAwMzJEMworOjAxMEFGMTAwMzJEMgorOjAxMEFGMjAwMzJEMQorOjAxMEFGMzAwMzJEMAorOjAzMEFGNDAwMDAwNDA3RjQKKzowOTBCMDAwMDkwN0ZENkUwNDQ4MEYwODA3NDdGCis6MTAwQjdEMDA0Mzg3MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyMjdCCis6MTAwQjhEMDA1MzhFRjdFNTg5NTRGMTQ0MDFGNTg5NzU4Q0IxRDJBOURECis6MTAwQjlEMDA3NTk4NDA3NUNCRkY3NUNBRjM3NUM4MzRFNEZGN0YwNUIyCis6MDcwQkFEMDA3ODI4RTRGNjA4REZGQ0U0Cis6MDEwQkI0MDAyMjFFCis6MTAwQkI1MDBDMEUwQzA4M0MwODJDMEQwNzVEMDAwQzAwMEMwMDZDMEYwCis6MDEwQkM1MDAwNzI4Cis6MTAwQkM2MDAzMDA0MTY3NThDRjg3NThBMzA3RjJGQUUwNzFGRUU2MERECis6MTAwQkQ2MDAzQzkwMjAwMDc0NTVGMDgwRjI3NThDQjE3RjI4RUZEM0RECis6MTAwQkU2MDA5NDJDNTAwOUE4MDdFNjYwMDExNjBGODBGMTkwMDMwMEM3Cis6MTAwQkY2MDBFMDYwMDIxNEYwOTAwMUMwRTA3MDAyQTNFMDYwMEU5MDg1Cis6MEQwQzA2MDAwMUMxRTAyNEZGRjA5MDAxQzBFMDM0RkZGMEQ4Cis6MEYwQzEzMDBEMDA3RDAwNkQwMDBEMEQwRDA4MkQwODNEMEUwMzIyRQorOjEwMEMyMjAwRDIwMDc1OEUxMDEyMDkzMEU1MzNDMzk0MDE0MDA4OTA0QQorOjEwMEMzMjAwN0Y5Mjc0MDJGMDgwMDVFNDkwN0Y5MkYwMTI4MDAwMTI5RAorOjBDMEM0MjAwMEY3RDEyOTRGNzEyMUIwQzEyMEI4RDIyNzgKKzoxMDBDNEUwMEMwRTBDMDgzQzA4MkQyMDE1MzkxRUY5MDdGQUI3NDAxOUMKKzowODBDNUUwMEYwRDA4MkQwODNEMEUwMzIxNworOjEwMEM2NjAwQzBFMEMwODNDMDgyOTA3RkM0RTRGMDUzOTFFRjkwN0ZEMAorOjBCMEM3NjAwQUI3NDA0RjBEMDgyRDA4M0QwRTAzMkQ5Cis6MTAwQzgxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjA5MEJCCis6MTAwQzkxMDA3RkQ4RTA3MDBEOTA3RkQ5RTA3MDA3RTUyQzcwMDM3NTY3Cis6MDkwQ0ExMDAyQzE0RDA4MkQwODNEMEUwMzI4MworOjEwMENBQTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDA0NAorOjA2MENCQTAwODJEMDgzRDBFMDMyN0QKKzoxMDBDQzAwMEMwRTBDMDgzQzA4MjMwMDIwMkQyMDY1MzkxRUY5MDdGMTEKKzowQjBDRDAwMEFCNzQwOEYwRDA4MkQwODNEMEUwMzI3QgorOjEwMENEQjAwQzBFMEMwODNDMDgyQzBEMDc1RDAxMDUzOTFFRjkwN0YxRAorOjEwMENFQjAwQTk3NDAyRjBFNTM0MzBFMDEzRTUzMjMwRTAwNzkwMjBEMAorOjEwMENGQjAwMDRFMDQ0MDFGMDkwMjAwMUUwNDQwMUYwRTUyQzcwMDM4NgorOjBDMEQwQjAwNzUyQzE0RDBEMEQwODJEMDgzRDBFMDMyMDAKKzoxMDBEMTcwMEMwRTBDMDgzQzA4MkMwRDA3NUQwMTA1MzkxRUY5MDdGRTAKKzoxMDBEMjcwMEE5NzQwNEYwRTUzNDMwRTExM0U1MzIzMEUxMDc5MDIwOEYKKzoxMDBEMzcwMDBDRTA0NDAxRjA5MDIwMDlFMDQ0MDFGMEU1MkM3MDAzMzkKKzowQzBENDcwMDc1MkMxNEQwRDBEMDgyRDA4M0QwRTAzMkM0Cis6MTAwRDUzMDBDMEUwQzA4M0MwODJDMEQwNzVEMDEwNTM5MUVGOTA3RkE0Cis6MTAwRDYzMDBBOTc0MDhGMEU1MzQzMEUyMTNFNTMyMzBFMjA3OTAyMDRECis6MTAwRDczMDAxNEUwNDQwMUYwOTAyMDExRTA0NDAxRjBFNTJDNzAwM0VECis6MEMwRDgzMDA3NTJDMTREMEQwRDA4MkQwODNEMEUwMzI4OAorOjEwMEQ4RjAwQzBFMEMwODNDMDgyQzBEMDc1RDAxMDUzOTFFRjkwN0Y2OAorOjEwMEQ5RjAwQTk3NDEwRjBFNTM0MzBFMzEzRTUzMjMwRTMwNzkwMjAwNworOjEwMERBRjAwMUNFMDQ0MDFGMDkwMjAxOUUwNDQwMUYwRTUyQzcwMDNBMQorOjBDMERCRjAwNzUyQzE0RDBEMEQwODJEMDgzRDBFMDMyNEMKKzoxMDBEQ0IwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwNjkKKzoxMDBEREIwMEQwNzVEMDEwNTM5MUVGOTA3RkFBNzQwMkYwRTUzNDIwQjgKKzoxMDBERUIwMEUwMDY5MDdGQzdGMDgwMjJFNTMxMzBFMDBBOTA3RkM3QTQKKzoxMDBERkIwMEUwOTAwMkY4RjA4MDEzRTUyMjMwRTAwNzkwMjAwNEUwNDkKKzoxMDBFMEIwMDQ0MDJGMDkwMjAwMUUwNDQwMkYwRTUyQzcwMDM3NTJDQjUKKzoxMDBFMUIwMDE0RDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyOEQKKzoxMDBFMkIwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwMDgKKzoxMDBFM0IwMEQwNzVEMDEwNTM5MUVGOTA3RkFBNzQwNEYwRTUzNDIwNTUKKzoxMDBFNEIwMEUxMDY5MDdGQzlGMDgwMjJFNTMxMzBFMTBBOTA3RkM5M0QKKzoxMDBFNUIwMEUwOTAwMkY5RjA4MDEzRTUyMjMwRTEwNzkwMjAwQ0UwREUKKzoxMDBFNkIwMDQ0MDJGMDkwMjAwOUUwNDQwMkYwRTUyQzcwMDM3NTJDNEQKKzoxMDBFN0IwMDE0RDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyMkQKKzoxMDBFOEIwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwQTgKKzoxMDBFOUIwMEQwNzVEMDEwNTM5MUVGOTA3RkFBNzQwOEYwRTUzNDIwRjEKKzoxMDBFQUIwMEUyMDY5MDdGQ0JGMDgwMjJFNTMxMzBFMjBBOTA3RkNCRDcKKzoxMDBFQkIwMEUwOTAwMkZBRjA4MDEzRTUyMjMwRTIwNzkwMjAxNEUwNzQKKzoxMDBFQ0IwMDQ0MDJGMDkwMjAxMUUwNDQwMkYwRTUyQzcwMDM3NTJDRTUKKzoxMDBFREIwMDE0RDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyQ0QKKzoxMDBFRUIwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwNDgKKzoxMDBFRkIwMEQwNzVEMDEwNTM5MUVGOTA3RkFBNzQxMEYwRTUzNDIwODkKKzoxMDBGMEIwMEUzMDY5MDdGQ0RGMDgwMjJFNTMxMzBFMzBBOTA3RkNENzAKKzoxMDBGMUIwMEUwOTAwMkZCRjA4MDEzRTUyMjMwRTMwNzkwMjAxQ0UwMDkKKzoxMDBGMkIwMDQ0MDJGMDkwMjAxOUUwNDQwMkYwRTUyQzcwMDM3NTJDN0MKKzoxMDBGM0IwMDE0RDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBFMDMyNkMKKzoxMDBGNEIwMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBOTc0ODBGMEQwMzIKKzowNjBGNUIwMDgyRDA4M0QwRTAzMkQ5Cis6MTAwRjYxMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUE3NDgwRjA5MDVCCis6MEMwRjcxMDAwMUJENzRGRkYwRDA4MkQwODNEMEUwMzJDQworOjEwMEY3RDAwOTAwMTIwMTJBM0ZBMDAwMDI1ODA5MDAxMjQ3NDA4RjAzRQorOjEwMEY4RDAwQTM3NDAxRjBBMzc0NkVGMEEzRjBBMzc0MTNGMEEzNzQxMworOjEwMEY5RDAwMTFGMEU0QTNGMEEzRjA5MDAxMUVGMDkwMDExRUUwRkYwQworOjEwMEZBRDAwMDRBM0YwRUY3NUYwMERBNDI0MDFGOTc0MDMzNUYwQTgzNgorOjEwMEZCRDAwMDFGQzdEMDE3QjAxN0EwMTc5MUY3RTAwN0YwRDEyQTI1QworOjEwMEZDRDAwMTI3RTAxN0YxRjEyODdBNjkwMDExRUUwMDRGMEUwQzM4MAorOjEwMEZERDAwOTQwNDQwQzdFNEY1Mjc5MDAxMUVGMDkwMDExRUUwRkYzOAorOjEwMEZFRDAwQzM5NDA0NTAxQTc0RjgyRkY1ODJFNDM0MDJGNTgzRTRBNworOjEwMEZGRDAwRjA3NDIzMkZGOEU0RjY5MDAxMUVFMDA0RjA4MERDRTQ5OQorOjEwMTAwRDAwRjUzNEU1QzA2MDJGOTAwMTFFNzQwMUYwOTAwMTFFRTBEMworOjEwMTAxRDAwRkZEMzk0MDQ1MDFGRUYxNEZGNzQwMUE4MDcwODgwMDIzQQorOjEwMTAyRDAwQzMzM0Q4RkM0MjM0N0UwMTdGMUUxMjg0NDE5MDAxMUVEMQorOjEwMTAzRDAwRTAwNEYwODBEN0U0RjUzRUY1MjJGNTMxRjUzMjkwMDE2QworOjEwMTA0RDAwMUVGMDkwMDExRUUwRkY3NUYwMDhBNDI0MDZGNTgyRTQ2MQorOjEwMTA1RDAwMzQyMEY1ODNFMDU0RjBGRTc0QzUyRkY1ODJFNDM0MDE5RAorOjEwMTA2RDAwRjU4M0VFRjA3NDNBMkZGOEE2MDY3NDM2MkZGOEU0RjZGMQorOjEwMTA3RDAwNzQyRDJGRjhFNEY2NzRGQzJGRjU4MkU0MzQwMkY1ODMxOQorOjEwMTA4RDAwRTRGMDkwMDExRUUwMDRGMEUwQjQwNEI2OTAyMDYwRTBCRQorOjA0MTA5RDAwNTQwRkY1NEVBOQorOjEwMTBBMTAwNzAwMzAyMTEyNkU0OTAwMTFFRjA5MDAxMUVFMEZGQzNCRgorOjEwMTBCMTAwOTQwNDUwRTQ3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNTU5NgorOjEwMTBDMTAwNEU2MDVBOTAwMTFFRTBGRTc1RjAwOEE0MjQwMkY1ODJEQworOjEwMTBEMTAwRTQzNDIwRjU4M0UwRkZFRTc1RjAwOEE0MjQwNUY1ODJFMQorOjEwMTBFMTAwRTQzNDIwRjU4M0UwRUU3NUYwMDhBNDI0MDZGNTgyRTRFQgorOjEwMTBGMTAwMzQyMEY1ODNFMEZGQUYwNkVFNzVGMDBEQTQyNDAyRjU3MAorOjEwMTEwMTAwODJFNDM0MDNGNTgzRTBGQ0EzRTBGREEzRTBGRUEzRTA2OQorOjEwMTExMTAwRjU2NjhFNjU4RDY0OEM2MzdEMDYxMjgzREY5MDAxMUVGQQorOjA2MTEyMTAwRTAwNEYwODA4NTIyQ0QKKzowMjExMjcwMEFDMDcxMworOjEwMTEyOTAwOTA3RkE1RTA0NDgwRjBFQzI1RTA0NDQxOTA3RkE2RjA1MworOjEwMTEzOTAwN0IzQ0FGMDMxQkVGNzAxNjkwN0ZBNUUwNDQ0MEYwOTAxNQorOjEwMTE0OTAwN0ZBNkUwRkQ3RDMyQUYwNTFERUY2MEQ0ODBGODkwN0Y2QQorOjEwMTE1OTAwQTVFMEZEMzBFMERDMjBFMTA5RTA0NDQwRjA3RUZGN0ZCRQorOjEwMTE2OTAwRjkyMkVEMzBFMjBDOTA3RkE1RTA0NDQwRjA3RUZGN0Y0QworOjEwMTE3OTAwRkEyMjkwN0ZBNUUwNDQyMEYwOTA3RkE2RTBGRDdCMUUzNworOjEwMTE4OTAwQUYwMzFCRUY3MDE2OTA3RkE1RTA0NDQwRjA5MDdGQTY1NworOjEwMTE5OTAwRTBGRDdEMzJBRjA1MURFRjYwODY4MEY4OTA3RkE1RTAwOAorOjEwMTFBOTAwRkQyMEUwREM3QjNDQUYwMzFCRUY3MDE5OTA3RkE1RTBDRAorOjEwMTFCOTAwNDQ0MEYwOTA3RkE2RTBGRDdEMzJBRjA1MURFRjcwMDMzRQorOjEwMTFDOTAwMDIxMTI5ODBGNTkwN0ZBNUUwRkQzMEUwRDkzMEUyMDlEMAorOjEwMTFEOTAwRTA0NDQwRjA3RUZGN0ZGQTIyQzJBRjkwN0ZBNUUwNDQ1MQorOjBDMTFFOTAwNDBGMDkwN0ZBNkUwRkREMkFGRkY3RTAwM0EKKzowMTExRjUwMDIyRDcKKzoxMDEyMDAwMDEyMDEwMDAxRkZGRkZGNDAxMDA3MDE4MDQyMDAwMTAyQjAKKzoxMDEyMTAwMDAzMDEwOTAyNTgwMDAxMDEwNDgwM0MwOTA0MDAwMDBBOEUKKzoxMDEyMjAwMEZGRkZGRjA1MDcwNTgxMDI0MDAwMDAwNzA1MDEwMjQwOUUKKzoxMDEyMzAwMDAwMDAwNzA1ODIwMjQwMDAwMDA3MDUwMjAyNDAwMDAwOEUKKzoxMDEyNDAwMDA3MDU4MzAyNDAwMDAwMDcwNTAzMDI0MDAwMDAwNzA1NzAKKzoxMDEyNTAwMDg0MDI0MDAwMDAwNzA1MDQwMjQwMDAwMDA3MDU4NzAyRTEKKzoxMDEyNjAwMDQwMDAwMDA3MDUwNzAyNDAwMDAwMDQwMzA5MDQyNDAzQUUKKzoxMDEyNzAwMDQzMDA2RjAwNkUwMDZFMDA2NTAwNjMwMDc0MDAyMDAwODQKKzoxMDEyODAwMDU0MDA2NTAwNjMwMDY4MDAyMDAwNDkwMDZFMDA2MzAwQTAKKzoxMDEyOTAwMDJFMDAxODAzNTcwMDY4MDA2OTAwNzQwMDY1MDA0ODAwQkMKKzoxMDEyQTAwMDQ1MDA0MTAwNTQwMDJEMDAzNDAwMUEwMzU4MDA1ODAwMzYKKzoxMDEyQjAwMDJEMDA1ODAwNTgwMDJEMDA1ODAwNTgwMDU4MDA1ODAwQzQKKzoxMDEyQzAwMDU4MDA1ODAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNTIKKzoxMDEyRDAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwQTUKKzoxMDEyRTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzNDIKKzoxMDEyRjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwQzIKKzoxMDEzMDAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwRTEKKzowMjEzMTAwMDAwMDBEQgorOjEwMTMxMjAwQzBFMEMwRjBDMDgzQzA4MkMwODVDMDg0QzA4NkMwRDA5NworOjEwMTMyMjAwNzU4NjAwNzVEMDE4OTAyMDYwRTA1NDBGRjVGMDcwMTFBQQorOjEwMTMzMjAwRDBEMEQwODZEMDg0RDA4NUQwODJEMDgzRDBGMEQwRTBGNworOjEwMTM0MjAwMzI3NTg2MDAxMEYwMEIxMEYxMTIxMEYyMTkxMEYzMjAxMgorOjEwMTM1MjAwODBENEU1Mjg3MDAzNzUyODE0MDIxMzdDRTUyOTcwMDNGNAorOjEwMTM2MjAwNzUyOTE0MDIxNTBERTUyQTcwMDM3NTJBMTQwMjE2OUVCQQorOjEwMTM3MjAwRTUyQjcwMDM3NTJCMTQwMjE4MkY5MDIwMDJFMDU0M0ZDNgorOjEwMTM4MjAwMjBFMjNBMjBFMTBCMjBFNDBCMjBFNTE0NjAwOTAyMTM2RAorOjEwMTM5MjAwNDMwMjE0NjUwMjEzNDM0MzgyMDRFMEY1M0EwMjEzNDMwNQorOjEwMTNBMjAwNDM4MjA0RTA0MzJEMDEwMjEzNDM1MzgyRjg0MzgyMDUzMgorOjEwMTNCMjAwRTA0MjM2NTM4MkZCRTA1NEZCRjAwMjEzNDMzMEUxMDI3OQorOjEwMTNDMjAwODBFOEY1ODVFNTMyMzBFMDBBNTM4MkY4NDM4MjA0RTA5MgorOjEwMTNEMjAwNTRGRUYwRTU4NTIwRTM1NjkwMjA1MDc0MDBGMDkwMjBGMgorOjEwMTNFMjAwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDkwN0ZFMzA1ODY3QworOjEwMTNGMjAwOTA3RTgwMDU4NkU1ODVGMEEzRTU4NEYwMDU4NjkwN0ZFMgorOjEwMTQwMjAwRTVFNTNGRkQwMzAzMDNGRUYwRjBGMEYwRjBGMEYwRjA0RAorOjEwMTQxMjAwREVGNjkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwOTAyNgorOjEwMTQyMjAwN0ZCN0VERjA5MDIwMDFFMDU0RkVGMDAyMTM0MzdGNDBCRAorOjEwMTQzMjAwOTA3RTgwMDU4NjkwMjAwMEU1ODRGRTI0MDVGRDhEODQ0MworOjEwMTQ0MjAwRTA4RTg0MzBFMDA5RTAwNTg2RjBBMzA1ODZERkVGMDUzMworOjEwMTQ1MjAwODZDMzc0NDA5RjkwN0ZCN0YwMDU4NkEzRTA1NEZFRjBFOAorOjEwMTQ2MjAwMDIxMzQzNTMyREZBRTUyMzYwMDg3NTIzMDBEMkU3RkVFOQorOjEwMTQ3MjAwODAwQTkwN0ZDN0UwRkU3MDAzMDIxNEZGOTAyMDUwNzQzMAorOjEwMTQ4MjAwMDBGMDkwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwOTAyOAorOjEwMTQ5MjAwN0ZFMzA1ODY5MDdFNDAwNTg2RTU4NUYwQTNFNTg0RjAyRQorOjEwMTRBMjAwMDU4NjkwN0ZFNUVFMzBFNzA4MDU4NkUwMjQzOEYwMDVGMgorOjEwMTRCMjAwODZFRTU0N0ZGRTU0MDdGQkVFNTQ3ODYwMzAwMzAzMDMzQworOjEwMTRDMjAwMzBFMzA0NzQwNzdCMDhGREZDRTBFMEUwRTBFMEUwRTBFQworOjEwMTREMjAwRTBEREY2RUJGRTYwMTlFQzY0MDc3MDExOEIyMzkwN0Y2MAorOjEwMTRFMjAwRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDgwMUJFMERFRkQ3MworOjEwMTRGMjAwOTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA5MDIwMDFGOQorOjEwMTUwMjAwRTA1NEZERjA5MDdGQzdGMDAyMTM0MzkwMjAwQUUwNTRBQworOjEwMTUxMjAwM0YyMEUyM0EyMEUxMEIyMEU0MEIyMEU1MTQ2MDA5MDJBRgorOjEwMTUyMjAwMTM0MzAyMTVGNjAyMTM0MzQzODIwNEUwRjUzQjAyMTMxMAorOjEwMTUzMjAwNDM0MzgyMDRFMDQzMkUwMTAyMTM0MzUzODJGODQzODI2MQorOjEwMTU0MjAwMDVFMDQyMzc1MzgyRkJFMDU0RkJGMDAyMTM0MzMwRTFFMworOjEwMTU1MjAwMDI4MEU4RjU4NUU1MzIzMEUxMEE1MzgyRjg0MzgyMDRERAorOjEwMTU2MjAwRTA1NEZFRjBFNTg1MjBFMzU2OTAyMDUwNzQwMUYwOTA5RgorOjEwMTU3MjAwMjA1ODc0MDFGMDkwN0ZFMkUwNDQ0MEYwOTA3RkUzMDU1MAorOjEwMTU4MjAwODY5MDdFMDAwNTg2RTU4NUYwQTNFNTg0RjAwNTg2OTBDOQorOjEwMTU5MjAwN0ZFNUU1NDBGRDAzMDMwM0ZFRjBGMEYwRjBGMEYwRjAyQworOjEwMTVBMjAwRjBERUY2OTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjAzNQorOjEwMTVCMjAwOTA3RkI5RURGMDkwMjAwOUUwNTRGRUYwMDIxMzQzN0ZEMgorOjEwMTVDMjAwNDA5MDdFMDAwNTg2OTAyMDA4RTU4NEZFMjQwNUZEOEQ2RQorOjEwMTVEMjAwODRFMDhFODQzMEUwMDlFMDA1ODZGMEEzMDU4NkRGRUYyMworOjEwMTVFMjAwMDU4NkMzNzQ0MDlGOTA3RkI5RjAwNTg2QTNFMDU0RkU0MAorOjEwMTVGMjAwRjAwMjEzNDM1MzJFRkFFNTI0NjAwODc1MjQwMEQyRTc2MworOjEwMTYwMjAwRkU4MDBBOTA3RkM5RTBGRTcwMDMwMjE2OTA5MDIwNTA3RgorOjEwMTYxMjAwNzQwMUYwOTAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjBCMQorOjEwMTYyMjAwOTA3RkUzMDU4NjkwN0RDMDA1ODZFNTg1RjBBM0U1ODQ3RAorOjEwMTYzMjAwRjAwNTg2OTA3RkU1RUUzMEU3MDgwNTg2RTAyNDM4RjA3NQorOjEwMTY0MjAwMDU4NkVFNTQ3RkZFNTQwN0ZCRUU1NDc4NjAzMDAzMDNBOAorOjEwMTY1MjAwMDMzMEUzMDQ3NDA3N0IwOEZERkNFMEUwRTBFMEUwRTAzNworOjEwMTY2MjAwRTBFMERERjZFQkZFNjAxOUVDNjQwNzcwMTE4QjI0OTA2QworOjEwMTY3MjAwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEYwODAxQkUwREU1RgorOjBFMTY4MjAwRkQ5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDFECis6MTAxNjkwMDA5MDIwMDlFMDU0RkRGMDkwN0ZDOUYwMDIxMzQzOTAyMEEwCis6MTAxNkEwMDAxMkUwNTQzRjIwRTIzQTIwRTEwQjIwRTQwQjIwRTUxNDQ1Cis6MTAxNkIwMDA2MDA5MDIxMzQzMDIxNzg3MDIxMzQzNDM4MjA0RTBGNUQzCis6MTAxNkMwMDAzQzAyMTM0MzQzODIwNEUwNDMyRjAxMDIxMzQzNTM4MjNECis6MTAxNkQwMDBGODQzODIwNUUwNDIzODUzODJGQkUwNTRGQkYwMDIxM0VBCis6MTAxNkUwMDA0MzMwRTEwMjgwRThGNTg1RTUzMjMwRTIwQTUzODJGOEMyCis6MTAxNkYwMDA0MzgyMDRFMDU0RkVGMEU1ODUyMEUzNTY5MDIwNTA3NEM4Cis6MTAxNzAwMDAwMkYwOTAyMDU4NzQwMUYwOTA3RkUyRTA0NDQwRjA5MEE1Cis6MTAxNzEwMDA3RkUzMDU4NjkwN0Q4MDA1ODZFNTg1RjBBM0U1ODRGMDZFCis6MTAxNzIwMDAwNTg2OTA3RkU1RTU0MUZEMDMwMzAzRkVGMEYwRjBGMDUwCis6MTAxNzMwMDBGMEYwRjBGMERFRjY5MDdGRTJFMDU0QkZGMDkwMjA1ODM5Cis6MTAxNzQwMDA3NDAwRjA5MDdGQkJFREYwOTAyMDExRTA1NEZFRjAwMkE5Cis6MTAxNzUwMDAxMzQzN0Y0MDkwN0Q4MDA1ODY5MDIwMTBFNTg0RkUyNDExCis6MTAxNzYwMDAwNUZEOEQ4NEUwOEU4NDMwRTAwOUUwMDU4NkYwQTMwNTU4Cis6MTAxNzcwMDA4NkRGRUYwNTg2QzM3NDQwOUY5MDdGQkJGMDA1ODZBMzhDCis6MTAxNzgwMDBFMDU0RkVGMDAyMTM0MzUzMkZGQUU1MjU2MDA4NzUyNTU3Cis6MTAxNzkwMDAwMEQyRTdGRTgwMEE5MDdGQ0JFMEZFNzAwMzAyMTgyMUEyCis6MTAxN0EwMDA5MDIwNTA3NDAyRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDk1Cis6MTAxN0IwMDA0NDQwRjA5MDdGRTMwNTg2OTA3RDQwMDU4NkU1ODVGMDA2Cis6MTAxN0MwMDBBM0U1ODRGMDA1ODY5MDdGRTVFRTMwRTcwODA1ODZFMDI2Cis6MTAxN0QwMDAyNDM4RjAwNTg2RUU1NDdGRkU1NDA3RkJFRTU0Nzg2MDAzCis6MTAxN0UwMDAzMDAzMDMwMzMwRTMwNDc0MDc3QjA4RkRGQ0UwRTBFMDEyCis6MTAxN0YwMDBFMEUwRTBFMEUwRERGNkVCRkU2MDE5RUM2NDA3NzAxMTdDCis6MTAxODAwMDA4QjI1OTA3RkUyRTA1NEJGRjA5MDIwNTg3NDAwRjA4MDY4Cis6MTAxODEwMDAxQkUwREVGRDkwN0ZFMkUwNTRCRkYwOTAyMDU4NzQwMEEyCis6MTAxODIwMDBGMDkwMjAxMUUwNTRGREYwOTA3RkNCRjAwMjEzNDM5MDM0Cis6MTAxODMwMDAyMDFBRTA1NDNGMjBFMjNBMjBFMTBCMjBFNDBCMjBFNTlGCis6MTAxODQwMDAxNDYwMDkwMjEzNDMwMjE5MTgwMjEzNDM0MzgyMDRFMDhGCis6MTAxODUwMDBGNTNEMDIxMzQzNDM4MjA0RTA0MzMwMDEwMjEzNDM1MzM2Cis6MTAxODYwMDA4MkY4NDM4MjA1RTA0MjM5NTM4MkZCRTA1NEZCRjAwMkU4Cis6MTAxODcwMDAxMzQzMzBFMTAyODBFOEY1ODVFNTMyMzBFMzBBNTM4MjE0Cis6MTAxODgwMDBGODQzODIwNEUwNTRGRUYwRTU4NTIwRTM1NjkwMjA1MEIyCis6MTAxODkwMDA3NDAzRjA5MDIwNTg3NDAxRjA5MDdGRTJFMDQ0NDBGMDJGCis6MTAxOEEwMDA5MDdGRTMwNTg2OTA3RDAwMDU4NkU1ODVGMEEzRTU4NEJECis6MTAxOEIwMDBGMDA1ODY5MDdGRTVFNTQyRkQwMzAzMDNGRUYwRjBGMEJFCis6MTAxOEMwMDBGMEYwRjBGMEYwREVGNjkwN0ZFMkUwNTRCRkYwOTAyMDEwCis6MTAxOEQwMDA1ODc0MDBGMDkwN0ZCREVERjA5MDIwMTlFMDU0RkVGMEI4Cis6MTAxOEUwMDAwMjEzNDM3RjQwOTA3RDAwMDU4NjkwMjAxOEU1ODRGRTFBCis6MTAxOEYwMDAyNDA1RkQ4RDg0RTA4RTg0MzBFMDA5RTAwNTg2RjBBM0E4Cis6MTAxOTAwMDAwNTg2REZFRjA1ODZDMzc0NDA5RjkwN0ZCREYwMDU4Njk2Cis6MTAxOTEwMDBBM0UwNTRGRUYwMDIxMzQzNTMzMEZBRTUyNjYwMDg3NTQ1Cis6MTAxOTIwMDAyNjAwRDJFN0ZFODAwQTkwN0ZDREUwRkU3MDAzMDIxOTA4Cis6MTAxOTMwMDBCMjkwMjA1MDc0MDNGMDkwMjA1ODc0MDFGMDkwN0ZFMjMwCis6MTAxOTQwMDBFMDQ0NDBGMDkwN0ZFMzA1ODY5MDdDQzAwNTg2RTU4NTA1Cis6MTAxOTUwMDBGMEEzRTU4NEYwMDU4NjkwN0ZFNUVFMzBFNzA4MDU4Njg0Cis6MTAxOTYwMDBFMDI0MzhGMDA1ODZFRTU0N0ZGRTU0MDdGQkVFNTQ3OEYxCis6MTAxOTcwMDA2MDMwMDMwMzAzMzBFMzA0NzQwNzdCMDhGREZDRTBFMDAwCis6MTAxOTgwMDBFMEUwRTBFMEUwRTBEREY2RUJGRTYwMTlFQzY0MDc3MDFCCis6MTAxOTkwMDAxMThCMjY5MDdGRTJFMDU0QkZGMDkwMjA1ODc0MDBGMDQ1Cis6MTAxOUEwMDA4MDFCRTBERUZEOTA3RkUyRTA1NEJGRjA5MDIwNTg3NDkxCis6MTAxOUIwMDAwMEYwOTAyMDE5RTA1NEZERjA5MDdGQ0RGMDAyMTM0MzI5Cis6MDExOUMwMDAzMkY0Cis6MDQxOUMxMDBBRDA3QUMwNkJDCis6MTAxOUM1MDA3OTA2RUQyNDA0RjU4MkU0M0NGNTgzRTBGQUEzRTBGQjE3Cis6MTAxOUQ1MDA0QTcwMDMwMjFCMDlFOUI0MDcwMDQwMDMwMjFBREI5MEIxCis6MTAxOUU1MDAxOUVCRjgyODI4NzMwMjFBQjkwMjFBNzEwMjFBNUEwMjU5Cis6MTAxOUY1MDAxQTQwMDIxQTJGMDIxQTFBMDIxQTAwOTA3RkE1RTA0NDEzCis6MTAxQTA1MDA4MEYwOEQ4MjhDODNBM0UwRkYyNUUwNDRBMDkwN0ZBNjIzCis6MTAxQTE1MDBGMDE5MDIxQURCMTk4RDgyOEM4M0UwQzM5NDIwNDAwQUU5Cis6MTAxQTI1MDBBM0EzRTA5MDdGQTZGMDAyMUFEQjhEODI4QzgzQTNBMzhCCis6MTAxQTM1MDBFMEEzRTA5MDdGQTZGMDE5MDIxQURCOTA3RkE1RTA0NEIxCis6MTAxQTQ1MDA4MEYwOEQ4MjhDODNBM0UwRkYyNUUwNDRBMTkwN0ZBNkUyCis6MTAxQTU1MDBGMDE5MDIxQURCRUI2NDAxNEE3MDA4OTA3RkE1RTA0NDk3Cis6MTAxQTY1MDAyMEYwMTk5MDdGQTZFMEY1NTkxOTgwNkFFRDI0MDRGNTU4Cis6MTAxQTc1MDA4MkU0M0NGNTgzRTBGRUEzRTA2NDAyNEU3MDA4OTA3RkFCCis6MTAxQTg1MDBBNUUwNDQyMEYwMTk5MDdGQTZFMEZGRUQyNDA2RjU4MjNECis6MTAxQTk1MDBFNDNDRjU4M0U0NzVGMDAxMTJBMjk3ODVGMDgyRjU4M0E1Cis6MTAxQUE1MDBFRkYwRUQyNDA0RjU4MkU0M0NGNTgzNzRGRkY1RjAxMkM0Cis6MTAxQUI1MDBBMjgxODAyMjkwN0ZBNUUwNDQ0MEYwOTA3RkE2RTBGRkMwCis6MTAxQUM1MDBFRDI0MDZGNTgyRTQzQ0Y1ODNFMEZBQTNFMEY1ODI4QThECis6MTAxQUQ1MDA4M0VGRjA3RjA4MjI5MDdGQTVFMEY1NTkzMEUwRjczMERECis6MTAxQUU1MDBFMjA3RTA0NDQwRjA3RjA2MjJFOUQzOTQwMjUwMDMwMjY2Cis6MTAxQUY1MDAxOUM3RTU1OTMwRTEwMzAyMTlDNzkwN0ZBNUUwNDQ0MEI1Cis6MDYxQjA1MDBGMDdGMDcyMjdGMDhCQgorOjAxMUIwQjAwMjJCNworOjEwMUIwQzAwRTUzM0MzOTQwMTUwMUM3RjA1N0UwMDEyMDlBRTdGMDJBMQorOjEwMUIxQzAwN0RGRjEyODJFQTdGMDU3RTAwMTIwOUFFN0YwMzdERkZGNgorOjA0MUIyQzAwMTI4MkVBMjIxNQorOjEwODAwMDAwN0JGRjdBMTI3OTFCOTAwMDA0MTJBMjU0RkQ4QjUwNzVFRAorOjEwODAxMDAwNTExMjc1NTIyNEU0OTA3RkUxRjA5MDdGRTBGMEY1NEUyQworOjEwODAyMDAwRjU0RjkwMDJBRUYwOTA3RkRGRjA5MDdGREVGMDkwN0YxMgorOjEwODAzMDAwQTk3NEZGRjA5MDdGQUFGMEU0RkNFQzI1RTAyNEI0RjVFRAorOjEwODA0MDAwODJFNDM0N0ZGNTgzRTRGMDBDQkMxMEVFRTQ5MDdGREQzNQorOjEwODA1MDAwRjBBRjA1MURFRjcwMDMwMjgxQzZBQjUwQUE1MUE5NTJDMworOjEwODA2MDAwOTAwMDAxMTJBMjU0NjQwNTYwMDMwMjgxQjU5MDAwMDNFMAorOjEwODA3MDAwMTJBMjU0NjQwMTYwMDMwMjgxM0M5MDAwMDIxMkEyNTRENworOjEwODA4MDAwRkY1NDdGRkNEMzk0MDc1MDAzMDI4MTE2RUNDMzk0MTA3NQorOjEwODA5MDAwNDAwMzAyODExNkVGMzBFNzQyRTU0RkFFNEU3ODAyQ0U0NAorOjEwODBBMDAwQzMxM0NFMTNEOEY5RkY3NEYwMkNGNTgyRTQzNDdGRjVCNgorOjEwODBCMDAwODNFRkYwOTA3RkUwRTBGRkVDMjRGOEZFNzQwMUE4MDY2NworOjEwODBDMDAwMDg4MDAyQzMzM0Q4RkM0RjkwN0ZFMEYwOTAwMkFFRTAwRQorOjEwODBEMDAwMDRGMDkwN0ZEREUwNDQ4MEYwODAzRUU1NEZBRTRFNzhDNgorOjEwODBFMDAwMDJDRUMzMTNDRTEzRDhGOUZGNzRFODJDRjU4MkU0MzQyMgorOjEwODBGMDAwN0ZGNTgzRUZGMDkwN0ZFMUUwRkZFQzI0RjhGRTc0MDE2MAorOjEwODEwMDAwQTgwNjA4ODAwMkMzMzNEOEZDNEY5MDdGRTFGMDkwMDJBQworOjEwODExMDAwQUVFMDA0RjA4MDAzN0ZGRjIyOTAwMDA0MTJBMjU0MjVGOQorOjEwODEyMDAwNEZGNTRGRTQzNTRFRjU0RTkwMDAwNTEyQTI1NEZFRTQ5MworOjEwODEzMDAwMjU0RkY1NEZFRTM1NEVGNTRFMDI4MUI4QUI1MEFBNTFBMgorOjEwODE0MDAwQTk1MjkwMDAwMzEyQTI1NEZGNjQwMjYwMDVFRjY0MDM3OQorOjEwODE1MDAwNzA2MDkwMDAwMjEyQTI1NEZGNTQ3RkZDRDM5NDA3NTAyOQorOjEwODE2MDAwNEVFRjMwRTcxRTkwN0ZERUUwRkY3NDAxQTgwNDA4ODAyOAorOjEwODE3MDAwMDJDMzMzRDhGQ0ZFNEY5MDdGREVGMDkwN0ZBQ0UwNEUyMAorOjEwODE4MDAwRjA4MDM1OTA3RkRGRTBGRjc0MDFBODA0MDg4MDAyQzMwRgorOjEwODE5MDAwMzNEOEZDRkU0RjkwN0ZERkYwOTA3RkFERTA0RUYwRUNFNworOjEwODFBMDAwMjVFMDI0QzVGNTgyRTQzNDdGRjU4M0VDRjA4MDA5N0Y3NworOjEwODFCMDAwRkYyMjdGRkYyMjdGRkYyMjc0MDcyNTUyRjU1MkU0MzUwQworOjEwODFDMDAwNTFGNTUxMDI4MDUxMjAwMzBEOTAwMkFFRTA2MDA3OTBGRQorOjA4ODFEMDAwN0ZBRUUwNDQwMkYwN0YwMEU1Cis6MDE4MUQ4MDAyMjg0Cis6MDQ4MUQ5MDA4RTU5OEY1QUQyCis6MTA4MUREMDA3NTVCMDNFNTVBMjQwNEY1ODJFNDM1NTlGNTgzRTBGRTE5Cis6MTA4MUVEMDBBM0UwNEU3MDAzMDI4MkU3RTU1QjYwNEUxNDYwMzgxNDI1Cis6MTA4MUZEMDA2MDIwMTQ2MDAzMDI4MjhCOTA3RkE1RTA0NDgwRjA4NTlGCis6MTA4MjBEMDA1QTgyODU1OTgzQTNFMEZGMjVFMDQ0QTA5MDdGQTZGMDE0Cis6MTA4MjFEMDA4MDZDODU1QTgyODU1OTgzRTBDMzk0MjA0MDA5QTNBM0JECis6MTA4MjJEMDBFMDkwN0ZBNkYwODA1NzE1NUI4NTVBODI4NTU5ODNBMzEwCis6MTA4MjNEMDBBM0UwQTNFMDkwN0ZBNkYwODA0NEU1NUEyNDA2RjU4MkUyCis6MTA4MjREMDBFNDM1NTlGNTgzRTQ3NUYwMDExMkEyOTc4NUYwODJGNUI2Cis6MTA4MjVEMDA4M0UwOTA3RkE2RjA5MDdGQTVFMDQ0NDBGMEU1NUEyNDlFCis6MTA4MjZEMDAwNEY1ODJFNDM1NTlGNTgzNzRGRkY1RjAxMkEyODE4NThBCis6MTA4MjdEMDA1QTgyODU1OTgzQTNBM0U0NzVGMDAxMTJBMjgxOTA3RkUwCis6MTA4MjhEMDBBNUUwRjU1QzMwRTBGNzMwRTIwN0UwNDQ0MEYwN0YwNjEyCis6MTA4MjlEMDAyMkU1NUMyMEUxMEE5MDdGQTVFMDQ0NDBGMDdGMDcyMkIzCis6MTA4MkFEMDBFNTVCNzAzMTdGMDE3RTAwMTIwOUFFOTA3RkE1RTA0NDQxCis6MTA4MkJEMDA4MEYwODU1QTgyODU1OTgzQTNFMEZGMjVFMDQ0QTA5MDg0Cis6MTA4MkNEMDA3RkE2RjA5MDdGQTVFMEY1NUMzMEUwRjczMEUxRDU3NTQ1Cis6MEM4MkREMDA1QjAzMDI4MUUwMTU1QjAyODFFMDdGMDg3QQorOjAxODJFOTAwMjI3MgorOjAyODJFQTAwQUUwN0RECis6MTA4MkVDMDA3QzAyRUMxNDYwMTUxNDcwMUU5MDdGQTVFMDQ0ODBGMEE1Cis6MTA4MkZDMDBFRTI1RTA0NDQwOTA3RkE2RjA4MDBDOTA3RkE2RURGMDM4Cis6MTA4MzBDMDA5MDdGQTVFMDQ0NDBGMDkwN0ZBNUUwRkIzMEUwRjhCQzA2Cis6MTA4MzFDMDAwMjBBMjBFMTA3RTA0NDQwRjA3RjA3MjJFQjMwRTIwQTNBCis6MEU4MzJDMDA5MDdGQTVFMDQ0NDBGMDdGMDYyMkRDQjY3RjA4N0IKKzowMTgzM0EwMDIyMjAKKzoxMDgzM0IwMEMwRTBDMDgzQzA4MkMyQTk5MDAzMDA3NDE5RjBEMkE5MTcKKzowRjgzNEIwMDUzOTE3RjkwMDFDNEU0RjBEMDgyRDA4M0QwRTAzMjEwCis6MTA4MzVBMDBFRjc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBQjgyRkFGNTI0Cis6MTA4MzZBMDA4M0EzRTRGMDhCODI4QTgzQTNBM0EzRTBGNTYxNzRCRjlECis6MTA4MzdBMDBGMDhCODI4QTgzQTNBM0UwNDQxMEYwOEI4MjhBODNBM0MyCis6MTA4MzhBMDBBM0EzRTRGMDhCODI4QTgzQTNGMEY5RUQ2MDFENzQwMTQ0Cis6MTA4MzlBMDA3RTAwQTgwNzA4ODAwNUMzMzNDRTMzQ0VEOEY5RkZFNEEwCis6MTA4M0FBMDBFRjU1MzE2MDA0NzkwOTgwMDI3OTBEOEI4MjhBODNBM0EzCis6MTA4M0JBMDBBM0EzNzRCRkYwOEI4MjhBODNBM0EzRTA1NEVGRjA4QjRDCis6MTA4M0NBMDA4MjhBODNBM0EzQTNFNTYxRjBBRTAyQUYwMzhGODI4RUY0Cis6MDQ4M0RBMDA4M0EzRTlGMEEwCis6MDE4M0RFMDAyMjdDCis6MDQ4M0RGMDA4RjYxOEQ2MkJCCis6MTA4M0UzMDBFNEY1Njc3NDNGMkZGODc2MDg3RjgwN0UyNTdEMDA3QzU3Cis6MTA4M0YzMDAwMEFCNjZBQTY1QTk2NEE4NjNEMzEyQTNCMzQwMjY3RjIyCis6MTA4NDAzMDAwMDdFOTY3RDAwN0MwMEE4NjNEMzEyQTNCMzUwMEM3NTQ1Cis6MTA4NDEzMDA2NzQwNzQzRjI1NjFGODc2MTA4MDBBNzU2NzgwNzQzRjYyCis6MTA4NDIzMDAyNTYxRjg3NjM4RTU2NzQ1NjI0NDAxRkZFNTYxNzVGMDNCCis6MEQ4NDMzMDAwOEE0MjQwMkY1ODJFNDM0MjBGNTgzRUZGMDY0Cis6MDE4NDQwMDAyMjE5Cis6MTA4NDQxMDA4RjgyOEU4M0UwMTRGNTU3QzM5NDA0NDAwMzdGRkYyMjhCCis6MTA4NDUxMDBFNTU3NzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGNUQ1Cis6MTA4NDYxMDA1ODhGNTlFNTU3MjVFMDI0QzZGNTgyRTQzNDdGRjU4MzFBCis6MTA4NDcxMDBFMDIwRTEwRkU1NTcyNUUwMjRDN0Y1ODJFNDM0N0ZGNURDCis6MTA4NDgxMDA4M0U0RjA3NDIzMjU1N0Y4RTRGNkU1NTkyNDA0RjU4MkQyCis6MTA4NDkxMDBFNDM1NThGNTgzRTA0NDAzRjBFNTU3NzVGMDBEQTQyNDY1Cis6MTA4NEExMDAwMkY1ODJFNDM0MDNGNTgzRTBGQ0EzRTBGREEzRTBGRUUyCis6MTA4NEIxMDBBM0UwRjU2NjhFNjU4RDY0OEM2MzdEMDZBRjU3MTI4M0VDCis6MTA4NEMxMDBERkFGNTc3RDAxMTI4MzVBODU1OTgyODU1ODgzQTNBMzUzCis6MTA4NEQxMDBFMDIwRTA0M0UwRkZFNTU5MjQwNUY1ODJFNDM1NThGNTU1Cis6MTA4NEUxMDA4M0UwRTU1OTI0MDZGNTgyRTQzNTU4RjU4M0UwRkZFNTlDCis6MTA4NEYxMDA1Nzc1RjAwREE0MjQwMkY1ODJFNDM0MDNGNTgzRTBGQzAyCis6MTA4NTAxMDBBM0UwRkRBM0UwRkVBM0UwRjU2NjhFNjU4RDY0OEM2M0I4Cis6MTA4NTExMDA3RDA2QUY1NzEyODNERjc0RjgyNTU3RjU4MkU0MzQwMkU0Cis6MTA4NTIxMDBGNTgzRTRGMEU1NTcyNUUwRkZDMzc0MEM5Rjc1RjA0MDM3Cis6MTA4NTMxMDBBNDI0NDBGNTgyRTVGMDM0N0JBRjgyRkVFNTU3MjVFMEM3Cis6MTA4NTQxMDAyNEVGRjU4MkU0MzQwMkY1ODNFRUYwQTNFRkYwQUY1N0E4Cis6MEY4NTUxMDA3NDAxQTgwNzA4ODAwMkMzMzNEOEZDNDIzNDdGMDBBRQorOjAxODU2MDAwMjJGOAorOjEwODU2MTAwOEY4MjhFODNFMDE0RjU1N0MzOTQwNDQwMDM3RkZGMjI2QQorOjEwODU3MTAwQUY1N0U0RkQxMjgzNUE3NEY4MjU1N0Y1ODJFNDM0MDJBQgorOjEwODU4MTAwRjU4M0U0RjBFNTU3NzVGMDA4QTQyNDAwRjU4MkU0MzQ5RQorOjEwODU5MTAwMjBBRjgyRjU1OThGNUFGNTgzRTU4MjI0MDRGNTgyRTRGMAorOjEwODVBMTAwMzU4M0Y1ODNFMDU0RkNGMEU1NTc3NUYwMERBNDI0MENGOAorOjEwODVCMTAwRjU4MkU0MzQwM0Y1ODNFNEYwRTU1Nzc1RjAwREE0MjQ2NgorOjEwODVDMTAwMDJGNTgyRTQzNDAzRjU4M0UwRkNBM0UwRkRBM0UwRkVDMQorOjEwODVEMTAwQTNFMEY1NjY4RTY1OEQ2NDhDNjM3RDA2QUY1NzEyODNDQgorOjEwODVFMTAwREZFNTVBMjQwNUY1ODJFNDM1NTlGNTgzRTAzMEUwMDlFOQorOjEwODVGMTAwODU1QTgyODU1OTgzRTBGNTU4QUY1Nzc0MDFBODA3MDg1OQorOjEwODYwMTAwODAwMkMzMzNEOEZDRjQ1MjM0RTU1NzI1RTAyNEM2RjU4MworOjEwODYxMTAwODJFNDM0N0ZGNTgzRTAyMEUxMEZFNTU3MjVFMDI0QzdBQworOjBCODYyMTAwRjU4MkU0MzQ3RkY1ODNFNEYwN0YwMDc1Cis6MDE4NjJDMDAyMjJCCis6MDQ4NjJEMDA4RTU3OEY1ODdECis6MTA4NjMxMDA4RjgyOEU4M0UwMTRGNTU5QzM5NDA0NDAwMzdGRkYyMjk3Cis6MTA4NjQxMDBFNTU5NzVGMDA4QTQyNDAxRjU4MkU0MzQyMEY1ODNFMEFFCis6MTA4NjUxMDA1NDAzNzA2Njg1NTg4Mjg1NTc4M0EzRTAzMEUwMjhFNThFCis6MTA4NjYxMDA1OTc1RjAwREE0MjQwMkY1ODJFNDM0MDNGNTgzRTBGQzhFCis6MTA4NjcxMDBBM0UwRkRBM0UwRkVBM0UwRjU2NjhFNjU4RDY0OEM2MzQ3Cis6MTA4NjgxMDA3RDAyQUY1OTEyODNERjg1NTg4Mjg1NTc4M0EzRTAzMDdECis6MTA4NjkxMDBFMTI4RTU1OTc1RjAwREE0MjQwMkY1ODJFNDM0MDNGNUNGCis6MTA4NkExMDA4M0UwRkNBM0UwRkRBM0UwRkVBM0UwRjU2NjhFNjU4RDBCCis6MEM4NkIxMDA2NDhDNjM3RDA0QUY1OTEyODNERjdGMDBFRQorOjAxODZCRDAwMjI5QQorOjEwODZCRTAwOEY4MjhFODNDMDgzQzA4MkUwRkRBM0EzQTNFMEZDRUQ3NgorOjEwODZDRTAwNkNEMDgyRDA4M0YwOEY4MjhFODNBM0EzQTNDMDgzQzA4RAorOjEwODZERTAwODJFMEZEOEY4MjhFODNFMEZDRUQ2Q0QwODJEMDgzRjA0MQorOjEwODZFRTAwOEY4MjhFODNDMDgzQzA4MkEzQTNBM0UwRkRFQzZERDBFNgorOjEwODZGRTAwODJEMDgzRjA4RjgyOEU4M0EzQzA4M0MwODJFMEZEOEZGMQorOjEwODcwRTAwODI4RTgzQTNBM0UwRkNFRDZDRDA4MkQwODNGMDhGODJBNworOjEwODcxRTAwOEU4M0EzQTNDMDgzQzA4MkUwRkQ4RjgyOEU4M0EzRTBFRAorOjEwODcyRTAwRkNFRDZDRDA4MkQwODNGMDhGODI4RTgzQTNDMDgzQzA4OQorOjEwODczRTAwODJFMEZEOEY4MjhFODNBM0EzRTBGRkVENkZEMDgyRDAwNworOjAzODc0RTAwODNGMDIyOTMKKzowNDg3NTEwMEFEMDdBQzA2QkUKKzoxMDg3NTUwMDc5MEQ4RDgyOEM4M0UwMTRGRUMzOTQwNDQwMDM3RkZGNjIKKzoxMDg3NjUwMDIyOEM1NzhENThFRTc1RjAwREE0MjQwMUY1ODJFNDM0NjIKKzoxMDg3NzUwMDAzQUY4MkZFQUQwMTE5RUQ2MDI0MEZFRkFDMDY3MDAxNjkKKzoxMDg3ODUwMDBFMTRGNTgyOEM4M0UwRkQwNTU4RTU1OEFBNTc3MDAyNTIKKzoxMDg3OTUwMDA1NTcxNEY1ODI4QTgzRTA2RDYwRDk3RjAxMjI3RjAwMzkKKzowMTg3QTUwMDIyQjEKKzowNDg3QTYwMDhFNTc4RjU4MDMKKzoxMDg3QUEwMDhGODI4RTgzRTAxNEY1NUVDMzk0MDQ0MDAzN0ZGRjIyMTgKKzoxMDg3QkEwMEU1NUU3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUY4MkY1NjIKKzoxMDg3Q0EwMDVGOEY2MDg1NTg4Mjg1NTc4M0EzRTBGQ0EzRTBGREEzRjEKKzoxMDg3REEwMEUwRkVBM0UwRkY3QjA4N0EwMDc5MDA3ODAwRDMxMkEzQjkKKzoxMDg3RUEwMEIzNDAxMDg1NTg4Mjg1NTc4M0EzMTJBM0ZBMDAwMDAwNkMKKzoxMDg3RkEwMDA4ODAyRTg1NTg4Mjg1NTc4M0EzRTBGQ0EzRTBGREEzNTkKKzoxMDg4MEEwMEUwRkVBM0UwRkY3QjAwN0EwODc5MDc3ODAwQzMxMkEzOTEKKzoxMDg4MUEwMEIzNTAwRTg1NTg4Mjg1NTc4M0EzMTJBM0ZBMDAwNzA4MUUKKzoxMDg4MkEwMDAwODU1ODgyODU1NzgzQTNFMEY4QTNFMEY5QTNFMEZBMEMKKzoxMDg4M0EwMEEzRTBGQjdGMDA3RTUwN0Q0NjdDMDAxMkEzMjE4RjVDNjMKKzoxMDg4NEEwMDhFNUI4RDVBOEM1OTdCMEE3QTAwNzkwMDc4MDAxMkEzQzQKKzoxMDg4NUEwMDIxQUYwMzhGNURBRjVDQUU1QkFENUFBQzU5N0IwQTdBMzAKKzoxMDg4NkEwMDAwNzkwMDc4MDAxMkEzMjE4RjVDOEU1QjhENUE4QzU5OTcKKzoxMDg4N0EwMEU1NURDMzk0MDU0MDE1RTU1QzI0MDFGNTVDRTQzNTVCRDAKKzoxMDg4OEEwMEY1NUJFNDM1NUFGNTVBRTQzNTU5RjU1OTg1NjA4Mjg1MjAKKzoxMDg4OUEwMDVGODNBM0U0RjA4NTYwODI4NTVGODNBM0EzQTNFMDQ0OUEKKzoxMDg4QUEwMDgwRjA4NTYwODI4NTVGODNFNTVDRjBBRjVDQUU1QkFEOEUKKzoxMDg4QkEwMDVBQUM1OTc4MDgxMkEzQzQ4NTYwODI4NTVGODNBM0VGRjYKKzoxMDg4Q0EwMEYwODU2MDgyODU1RjgzQTNBM0EzRTA1NDdGRjBFNEY1N0IKKzoxMDg4REEwMDVERTU1ODI0MEJGNTgyRTQzNTU3RjU4M0UwRkYzMEUwNzcKKzoxMDg4RUEwMDIzNTQwMUYwRTU2MDI0MDRGNTgyRTQzNTVGRjU4M0UwNjIKKzoxMDg4RkEwMDU0RkRGMEFGNUU3NDAxQTgwNzA4ODAwMkMzMzNEOEZDQTgKKzoxMDg5MEEwMDQyMjI4MDM2NzQwMTdFMDBBODVFMDg4MDA1QzMzM0NFRjkKKzoxMDg5MUEwMDMzQ0VEOEY5RkZFNEVGNTUyMjYwMUZFNTYwMjQwNEY1NTEKKzoxMDg5MkEwMDgyRTQzNTVGRjU4M0UwNDQwMkYwQUY1RTc0MDFBODA3ODQKKzoxMDg5M0EwMDA4ODAwMkMzMzNEOEZDRjQ1MjIyRTU1ODI0MDhGNTgyOTEKKzoxMDg5NEEwMEU0MzU1N0Y1ODNFMEZGQjQ2MjA1NDM1RDBBODAxQUVGMDgKKzoxMDg5NUEwMEI0NzIwNTQzNUQwODgwMTFFRkI0NzQwNTQzNUQwMjgwNkIKKzoxMDg5NkEwMDA4RUY2NDZFNjAwMzdGRkYyMkU1NTgyNDBCRjU4MkU0NkEKKzoxMDg5N0EwMDM1NTdGNTgzRTBGRjMwRTMwMzQzNUQ4MEVGMzBFNzEyQkMKKzoxMDg5OEEwMDQzNUQ0MEU1NjAyNDA0RjU4MkU0MzU1RkY1ODNFMDQ0MDUKKzoxMDg5OUEwMDAyRjBFNTU4MjQwQkY1ODJFNDM1NTdGNTgzRTAzMEUxMUYKKzoxMDg5QUEwMDIwQUY1RTc0MDFBODA3MDg4MDAyQzMzM0Q4RkM0MjMyQTQKKzoxMDg5QkEwMEU1NjAyNDA0RjU4MkU0MzU1RkY1ODNFMDQ0MDFGMDgwNDQKKzoxMDg5Q0EwMDEwQUY1RTc0MDFBODA3MDg4MDAyQzMzM0Q4RkNGNDUyQzIKKzoxMDg5REEwMDMyRTU1ODI0MEJGNTgyRTQzNTU3RjU4M0UwRkYzMEU0OUQKKzoxMDg5RUEwMDExQUU1RTc0MDFBODA2MDg4MDAyQzMzM0Q4RkM0MjMxNzYKKzoxMDg5RkEwMDgwMTBBRTVFNzQwMUE4MDYwODgwMDJDMzMzRDhGQ0Y0NjYKKzoxMDhBMEEwMDUyMzFFRjIwRTEwMzMwRTQwM0U0RjU1RDg1NjA4Mjg1QUQKKzoxMDhBMUEwMDVGODNBM0EzQTM3NEJGRjA4NTYwODI4NTVGODNBM0EzNEEKKzoxMDhBMkEwMEU0RjBFNTVERjBFNTU4MjQwQUY1ODJFNDM1NTdGNTgzNkMKKzoxMDhBM0EwMEUwRkZFNTYwMjQwNEY1ODJFNDM1NUZGNTgzRUZGMEU1QjUKKzoxMDhBNEEwMDU4MjQwQUY1ODJFNDM1NTdGNTgzRTBGRkU1NjAyNDA1RUEKKzoxMDhBNUEwMEY1ODJFNDM1NUZGNTgzRUZGMEU1NTgyNDA5RjU4MkU0MDEKKzoxMDhBNkEwMDM1NTdGNTgzRTBGRkU1NjAyNDA2RjU4MkU0MzU1RkY1QzYKKzoxMDhBN0EwMDgzRUZGMEU1NTgyNDA5RjU4MkU0MzU1N0Y1ODNFMEZGRTIKKzoxMDhBOEEwMEU1NjAyNDA3RjU4MkU0MzU1RkY1ODNFRkYwODU2MDgyQkYKKzoxMDhBOUEwMDg1NUY4M0EzQTNBM0U0RjA4NTYwODI4NTVGODNBM0EzOTQKKzoxMDhBQUEwMEYwODU1ODgyODU1NzgzQTNFMEZDQTNFMEZEQTNFMEZFOEUKKzoxMDhBQkEwMEEzRTBGNTY2OEU2NThENjQ4QzYzN0QwNkFGNUUxMjgzRDYKKzoxMDhBQ0EwMERGNzU1RDA4RTU1ODI0MENGNTgyRTQzNTU3RjU4M0UwMzcKKzoxMDhBREEwMDYwMDM0MzVEMTBFNTYwMjQwNEY1ODJFNDM1NUZGNTgzQTUKKzoxMDhBRUEwMEUwNTQwMzQ1NURGMEU1NTgyNDA1RjU4MkU0MzU1N0Y1NzEKKzoxMDhBRkEwMDgzRTBGRUMzOTQwNTQwMDZFRUQzOTQwODQwMDM3RkZGNEIKKzoxMDhCMEEwMDIyRTU1ODI0MDZGNTgyRTQzNTU3RjU4M0UwRkRDMzk0M0YKKzoxMDhCMUEwMDAxNDAwNkVERDM5NDAyNDAwMzdGRkYyMkVEMTRGRjI1QTYKKzoxMDhCMkEwMEUwMjVFMEZGRUUyNEZCNEZGNTVERTU1ODI0MDdGNTgyQ0EKKzoxMDhCM0EwMEU0MzU1N0Y1ODNFMDI0RDA2MDE4MTQ2MDFBMjRDMzYwMjIKKzoxMDhCNEEwMDFFMTQ2MDA5MjQwQTcwMTQ0MzVEMTg4MDEyNDM1RDA4REMKKzoxMDhCNUEwMDgwMEQ0MzVEMzg4MDA4NDM1RDI4ODAwMzdGRkYyMjg1QUUKKzoxMDhCNkEwMDYwODI4NTVGODNBM0EzQTNFNTVERjA3NDAxN0UwMEE4RkMKKzoxMDhCN0EwMDVFMDg4MDA1QzMzM0NFMzNDRUQ4RjlGRkU0RUY1NTM0MEYKKzoxMDhCOEEwMDYwMDdBRjVFN0QwMTEyODM1QUFBNTdBOTU4N0IwMUMwQkMKKzoxMDhCOUEwMDAzQzAwMUU1NUU3NUYwMERBNDI0MDFGOTc0MDMzNUYwRjQKKzoxMDhCQUEwMEE4MDFGQ0FEMDNEMDAxRDAwMzdFMDA3RjBEMTJBMjEyRjIKKzowMjhCQkEwMDdGMDAzQQorOjAxOEJCQzAwMjI5NgorOjEwOEJCRDAwOEY4MjhFODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUU2OAorOjEwOEJDRDAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFEODJGQzkwMDFGOAorOjEwOEJERDAwMkM3NDA4RjBFRTA0QTNGMEU0QTNGMDhEODI4QzgzRTVGMQorOjEwOEJFRDAwODIyNDA2RjU4MkU0MzU4M0Y1ODNFMDkwMDEyRkYwOEQyNAorOjEwOEJGRDAwODI4QzgzRTU4MjI0MDVGNTgyRTQzNTgzRjU4M0UwNTQ4OAorOjEwOEMwRDAwMUU5MDAxMzBGMDc0MkQyRUY4RTZBM0YwQUYwNjc0MDExRQorOjEwOEMxRDAwQTgwNzA4ODAwMkMzMzNEOEZDRjU1N0U1MzNDMzk0MDE4OAorOjEwOEMyRDAwNDAwRDkwMjA3OEUwNTQwRjc1NTgwMEY1NTk4MDA5N0Y1QworOjEwOEMzRDAwMDIxMjExMjc4RTU4OEY1OUMzRTU1ODY0ODA5NDgwNDBENQorOjEwOEM0RDAwREFFNTU3NTU1OTkwMDEzMkYwN0UwMTdGMkM3RDA3MTJFMAorOjA0OEM1RDAwOTE2QTdGMDA5OQorOjAxOEM2MTAwMjJGMAorOjEwOEM2MjAwOEY4MjhFODNFMDE0RkVDMzk0MDQ0MDAzN0ZGRjIyRUVDMgorOjEwOEM3MjAwNzVGMDA4QTQyNDAwRjU4MkU0MzQyMEFGODJGRTkwMDE0RQorOjEwOEM4MjAwMzM3NDBBRjA4RjgyOEU4M0U1ODIyNDA0RjU4MkU0MzUwMAorOjEwOEM5MjAwODNGNTgzRTA5MDAxMzRGMDdFMDE3RjMzN0QwMjEyOTFFRgorOjAzOENBMjAwNkE3RjAwRTYKKzowMThDQTUwMDIyQUMKKzowNDhDQTYwMDhFNTc4RjU4RkUKKzoxMDhDQUEwMDhGODI4RTgzRTAxNEZFQzM5NDA0NDAwMzdGRkYyMkVFN0EKKzoxMDhDQkEwMDc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBRDgyRkM4NTU4QkUKKzoxMDhDQ0EwMDgyODU1NzgzQTNFMDYwMEZFRDI0MDRGNTgyRTQzQ0Y1MjYKKzoxMDhDREEwMDgzRTA0NDAyRjA4MDQzRUU3NUYwMERBNDI0MENGNTgyODMKKzoxMDhDRUEwMEU0MzQwM0Y1ODNFMDMwRTAyMEVFMjVFMDI0QzZGNTgyODMKKzoxMDhDRkEwMEU0MzQ3RkY1ODNFMDMwRTFGMDdGNjBFRDI0MDVGNTgyMEUKKzoxMDhEMEEwMEU0M0NGNTgzRTA1RkI1MDdGMkFFMDRBRjA1RUYyNDA0NTcKKzowQzhEMUEwMEY1ODJFNDNFRjU4M0UwNTRGREYwN0YwMDlDCis6MDE4RDI2MDAyMjJBCis6MDQ4RDI3MDBBRDA3QUMwNkUyCis6MTA4RDJCMDA4RDgyOEM4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRUZDCis6MTA4RDNCMDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUY4MkZFOEQ4MjA2Cis6MTA4RDRCMDA4QzgzQTNFMDYwMEZFRjI0MDRGNTgyRTQzRUY1ODNFMDBGCis6MTA4RDVCMDA0NDAxRjA4MDBERUYyNDA0RjU4MkU0M0VGNTgzRTA1NEVBCis6MDQ4RDZCMDBGRUYwN0YwMDk3Cis6MDE4RDZGMDAyMkUxCis6MDQ4RDcwMDBBRDA3QUMwNjk5Cis6MTA4RDc0MDA4RDgyOEM4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJFRUIzCis6MTA4RDg0MDA3NUYwMDhBNDI0MDBGNTgyRTQzNDIwQUY4MkZFOEQ4MkJECis6MTA4RDk0MDA4QzgzQTNFMDYwMEQ4RjgyOEU4M0EzQTNBM0UwNDQ0MDYxCis6MTA4REE0MDBGMDgwMEI4RjgyOEU4M0EzQTNBM0UwNTRCRkYwN0YwMEQ3Cis6MDE4REI0MDAyMjlDCis6MTA4REI1MDA4RjgyOEU4M0UwMTRGRUMzOTQwNDQwMDM3RkZGMjJBRkFECis6MTA4REM1MDAwNjc0MDFBODA3MDg4MDAyQzMzM0Q4RkM0MjNFN0YwMDIxCis6MDE4REQ1MDAyMjdCCis6MDQ4REQ2MDA4RTU3OEY1OENECis6MTA4RERBMDA4RjgyOEU4M0EzRTBGNTVDOEY4MjhFODNFMEY1NTlEMzcwCis6MTA4REVBMDA5NDA0NDAwMzdGRkYyMkU1NTkyNEZFNjAxNjE0NjAxRjk1Cis6MTA4REZBMDAxNDYwMjgyNDAzNzAyRTdFN0U3RjgwNzU1QTdFNzU1QkYwCis6MTA4RTBBMDA4MDgwMjI3RTdFN0YwMDc1NUE3RTc1NUIwMDgwMTY3RThBCis6MTA4RTFBMDA3RDdGODA3NTVBN0Q3NTVCODA4MDBBN0U3RDdGMDA3NUI3Cis6MTA4RTJBMDA1QTdENzU1QjAwRTU1QzcwMUI4NTVCODI4NTVBODM3NDhECis6MTA4RTNBMDBGRkYwRTU1OTI1RTAyNEI1RjU4MkU0MzQ3RkY1ODM3NDIzCis6MTA4RTRBMDAwMUYwODA0OEU1NTgyNDAyRkZFNDM1NTdGRUU1NUM2MEVFCis6MTA4RTVBMDAyMzBGRUZBQzA2NzAwMTBFMTRGNTgyOEM4M0UwRkQwNTNBCis6MTA4RTZBMDA1QkU1NUJBQTVBNzAwMjA1NUExNEY1ODI4QTgzRURGMDEzCis6MTA4RTdBMDAxNTVDODBEOTg1NTg4Mjg1NTc4M0EzRTBGRkU1NTkyNTdCCis6MEU4RThBMDBFMDI0QjVGNTgyRTQzNDdGRjU4M0VGRjA3RjAwM0QKKzowMThFOTgwMDIyQjcKKzoxMDhFOTkwMEVGMjQwNUY1NThFNDNFRjU1NzkwMDEzNTc0MDdGMDkwMzUKKzoxMDhFQTkwMDAxN0E3NDAxRjBBMzc0MzZGMDg1NTg4Mjg1NTc4M0EzM0IKKzoxMDhFQjkwMEEzQTNFMEZFQTNFMDhFNTlGNTVBODU1ODgyODU1NzgzMEUKKzoxMDhFQzkwMEUwMjQ5RTYwNjEyNEY5NjAwRTI0RjE3MDAzMDI4RjdBMTgKKzoxMDhFRDkwMDI0MTQ2MDAzMDI4RkM4ODU1ODgyODU1NzgzQTNFMEZFNTYKKzoxMDhFRTkwMEEzRTBGRkMzRTQ5RkY1NUM3NDAxOUVGNTVCRDNFNTVDRTkKKzoxMDhFRjkwMDk0M0ZFNTVCOTQwMDQwMDY3NTVCMDA3NTVDM0ZEM0U1RTQKKzoxMDhGMDkwMDVBOTU1Q0U1NTk5NTVCNTAwMzAyOEZDQkFFNUJBRjVDMUMKKzoxMDhGMTkwMDg1NTg4Mjg1NTc4M0EzQTNBM0VFRjBGRUEzRUZGMDhFQjUKKzoxMDhGMjkwMDU5RjU1QTAyOEZDQjg1NTg4Mjg1NTc4M0EzRTBGRUEzNTIKKzoxMDhGMzkwMEUwRkZDMzc0MzA5RkY1NUNFNDlFRjU1QkQzRTU1Qzk0NzgKKzoxMDhGNDkwMDEwRTU1Qjk0MDA0MDA2NzU1QjAwNzU1QzEwRDNFNTVBMkIKKzoxMDhGNTkwMDk1NUNFNTU5OTU1QjQwNkFBRTVCQUY1Qzg1NTg4Mjg1NDcKKzoxMDhGNjkwMDU3ODNBM0EzQTNFRUYwRkVBM0VGRjA4RTU5RjU1QTgwMjEKKzoxMDhGNzkwMDUxODU1ODgyODU1NzgzQTNFMEZFQTNFMEZGQzNFNDlGOTAKKzoxMDhGODkwMEY1NUNFNDlFRjU1QjQ1NUM2MDBCRDNFNTVDOTQzRkU1REQKKzoxMDhGOTkwMDVCOTQwMDQwMDY3NTVCMDA3NTVDM0ZEM0U1NUE5NTVDQjAKKzoxMDhGQTkwMEU1NTk5NTVCNDAxQ0FFNUJBRjVDODU1ODgyODU1NzgzNUMKKzoxMDhGQjkwMEEzQTNBM0VFRjBGRUEzRUZGMDhFNTlGNTVBODAwMzdGMjkKKzoxMDhGQzkwMDAxMjI4NTU4ODI4NTU3ODNFMDI0OUU3MDAzMDI5MDhCODUKKzoxMDhGRDkwMDI0Rjk2MDU4MjRGMTcwMDMwMjkwREIyNDE0NjAwMzAyMjEKKzoxMDhGRTkwMDkxMUY4NTU4ODI4NTU3ODNBM0UwRkVBM0UwRkZEMzk0QTAKKzoxMDhGRjkwMEZGRUU5NDAwNDAwMzAyOTExRjkwMDE3NUVGRjBFNTVBQ0UKKzoxMDkwMDkwMDE1NUFBRTU5NzAwMjE1NTk0RTcwMDMwMjkxMUY5MDAxRkQKKzoxMDkwMTkwMDc1RTBGRjA0RjBBODA3RTZGRjkwMDE3QUU0NzVGMDAxMTYKKzoxMDkwMjkwMDEyQTI5Nzg1RjA4MkY1ODNFRkYwODBEMjg1NTg4Mjg1NjgKKzoxMDkwMzkwMDU3ODNBM0UwRkVBM0UwRkZDMzk0ODBFRTk0MDA1MDAzOUUKKzoxMDkwNDkwMDAyOTExRkQzRUY5NEZGRUU5NDAwNDAwMzAyOTExRjkwMDkKKzoxMDkwNTkwMDAxNzZFRkYwRTU1QTE1NUFBRTU5NzAwMjE1NTk0RTcwNUUKKzoxMDkwNjkwMDAzMDI5MTFGOTAwMTc2RTBGRjA0RjBBODA3RTZGRjkwNDQKKzoxMDkwNzkwMDAxN0FFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1ODNFRkYwODkKKzoxMDkwODkwMDgwRDI4NTU4ODI4NTU3ODNBM0UwRkVBM0UwRkZDMzk0NkQKKzoxMDkwOTkwMDIwRUU5NDAwNTAwMzAyOTExRkQzRUY5NDJGRUU5NDAwMTkKKzoxMDkwQTkwMDUwNzQ5MDAxNzdFRkYwRTU1QTE1NUFBRTU5NzAwMjE1RDAKKzoxMDkwQjkwMDU5NEU2MDYyOTAwMTc3RTBGRjA0RjBBODA3RTZGRjkwM0YKKzoxMDkwQzkwMDAxN0FFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1ODNFRkYwMzkKKzoxMDkwRDkwMDgwRDU4NTU4ODI4NTU3ODNBM0UwRkZBM0UwOTAwMTc4NjYKKzoxMDkwRTkwMENGRjBBM0VGRjBFNTVBMTU1QUFFNTk3MDAyMTU1OTRFNTMKKzoxMDkwRjkwMDYwMjQ5MDAxNzhFNDc1RjAwMTEyQTI5Nzg1RjA4MkY1NTkKKzoxMDkxMDkwMDgzRTBGRjkwMDE3QUU0NzVGMDAxMTJBMjk3ODVGMDgyNUQKKzoxMDkxMTkwMEY1ODNFRkYwODBDRjdFMDE3RjM1ODU1ODgyODU1NzgzQUYKKzowRDkxMjkwMEEzQTNBM0UwQTNFMDA0RkQxMjkxNkE3RjAwNjAKKzowMTkxMzYwMDIyMTYKKzoxMDkxMzcwMDhFNjI4RjYzOEM2NDhENjVBRjAzMUJFRjYwMjQwNTYzQkMKKzoxMDkxNDcwMEU1NjNBRTYyNzAwMjA1NjIxNEY1ODI4RTgzRTBGRjA1NjcKKzoxMDkxNTcwMDY1RTU2NUFDNjQ3MDAyMDU2NDE0RjU4MjhDODNFRkYwRjUKKzowMzkxNjcwMDgwRDYyMjhECis6MDY5MTZBMDA4RDVEQUIwN0FBMDZCMworOjEwOTE3MDAwNzU2MTQwNzU2MDBENzU1RjAzNzU1RTAwOTA3RkMyRTA5QworOjEwOTE4MDAwMjBFMUY5QUY2MUFFNjBBRDVGQUM1RUVDNEQ0RTRGNzA2QgorOjEwOTE5MDAwMDg5MDdGQzI3NDAyRjA4MEQ3OTA3RkMyRTAyMEUxMTY3MQorOjEwOTFBMDAwQUYwM0FFMDI3QzdCN0Q4MEFCNUQxMjkxMzc5MDdGQzNCNQorOjA4OTFCMDAwRTU1REYwN0YwMTIyN0YwMDY0Cis6MDE5MUI4MDAyMjk0Cis6MTA5MUI5MDA5MDAxODQ3NDBCRjBBM0U1MzNGMDkwMEFGNUU0OTM5MEUxCis6MTA5MUM5MDAwMTg2RjA5MDBBRjZFNDkzOTAwMTg3RjBFNDkwMDE3QzFGCis6MTA5MUQ5MDBGMEEzRjBBM0YwQTNGMEEzRjBBMzc0MTBGMEEzNzQwMTFCCis6MTA5MUU5MDBGMEEzNzQ4OEYwN0UwMTdGN0MxMjE5QzE3RTAxN0Y4NDBGCis6MDc5MUY5MDA3RDE0MTI5MTZBN0YwMDUyCis6MDE5MjAwMDAyMjRCCis6MTA5MjAxMDA3RTdCN0Y0MDc1NEU3Qjc1NEY0MDkwN0ZEM0UwRkY4NTFECis6MTA5MjExMDA0RTUxODU0RjUyRTU1MjI0MDFGNTU2RTQzNTUxRjU1NTJECis6MTA5MjIxMDBFNEY1NTA4NTUyODI4NTUxODNFMEZFMTRCNDBDMDA1MDYwCis6MTA5MjMxMDA1QjkwOTIzOUY4MjgyODczMDI5MjVEMDI5MjVEMDI5MjQ2Cis6MTA5MjQxMDA2NzAyOTI3MTAyOTI3MTAyOTI3MTAyOTI4NTAyOTI1RDlECis6MTA5MjUxMDAwMjkyN0IwMjkyNUQwMjkyOEQwMjkyNURFRjY0MDI2MDQ2Cis6MTA5MjYxMDAyQjc1NTBGRjgwMjZFRjY0MEU2MDIxNzU1MEZGODAxQzI2Cis6MTA5MjcxMDBFRjY0MDM2MDE3NzU1MEZGODAxMkVGNjQwMzYwMEQ3NTkyCis6MTA5MjgxMDA1MEZGODAwOEVGNjQwNjYwMDM3NTUwRkZFNTUwNjAxNURDCis6MTA5MjkxMDA5MDAxOTg3NDExRjBBM0VFRjA3RTAxN0Y5ODdEMDIxMjg3Cis6MTA5MkExMDA5MTZBQUY1MDIyRTRGNTUwODU1MjgyODU1MTgzRTAxNEQyCis6MTA5MkIxMDBCNDBGMDA0MDAzMDI5M0NGOTA5MkMwRjgyODI4NzMwMkE0Cis6MTA5MkMxMDA5MkVEMDI5MkY5MDI5MzA1MDI5MzUzMDI5MzVFMDI5Mzg3Cis6MTA5MkQxMDA2OTAyOTM3NDAyOTM3RjAyOTM4QTAyOTM5NTAyOTNBMDg5Cis6MTA5MkUxMDAwMjkzQTcwMjkzQ0YwMjkzQjIwMjkzQkRBRjU2QUU1NTNDCis6MTA5MkYxMDAxMjg0NDE4RjUwMDI5M0QyQUY1NkFFNTUxMjg1NjE4RkMxCis6MTA5MzAxMDA1MDAyOTNEMjg1NTU1Mzg1NTY1NEU1NTQyNDAxRkZFNDA4Cis6MTA5MzExMDAzNTUzRkUxMjg2QkVBRjU0QUU1MzEyODc1MThGNTBFRkI0Cis6MTA5MzIxMDA2NDAxNjAwMzAyOTNEMkFGNTRBRTUzMTI4N0E2OEY1MEVCCis6MTA5MzMxMDBFNTUwNzAwMzAyOTNEMjg1NTQ4Mjg1NTM4M0UwNzVGMDIyCis6MTA5MzQxMDAwREE0MjRGNEY1ODJFNDM0MDJBRjgyRkUxMjg3QTYwMjUyCis6MTA5MzUxMDA5M0QyQUY1NkFFNTUxMjhDQTY4RjUwODA3NEFGNTZBRUQ1Cis6MTA5MzYxMDA1NTEyOEQyNzhGNTA4MDY5QUY1NkFFNTUxMjhENzA4RjczCis6MTA5MzcxMDA1MDgwNUVBRjRGQUU0RTEyOEU5OThGNTA4MDUzQUY1NkQ0Cis6MTA5MzgxMDBBRTU1MTI4QkJEOEY1MDgwNDhBRjU2QUU1NTEyODYyRDBCCis6MTA5MzkxMDA4RjUwODAzREFGNTZBRTU1MTI4QzYyOEY1MDgwMzIxMjg1Cis6MTA5M0ExMDA5MUI5OEY1MDgwMkJBRjU2QUU1NTEyOERCNThGNTA4MDJECis6MTA5M0IxMDAyMEFGNTZBRTU1MTI4REQ2OEY1MDgwMTVBRjRGQUU0RUExCis6MTA5M0MxMDA3QzAyN0RBRjdCNDAxMjkxMzdFNEY1NTA4MDAzNzU1MEVDCis6MTA5M0QxMDBGRkU1NTA2MDFEOTAwMTk4NzQxMUYwODU1MjgyODU1MTBFCis6MTA5M0UxMDA4M0UwOTAwMTk5RjA3RTAxN0Y5ODdEMDIxMjkxNkFBRjJFCis6MTA5M0YxMDA1MDIyODU1MjgyODU1MTgzRTBGRjE0MjRGQTUwMDQyNEJGCis6MTA5NDAxMDBGRTcwMUY5MDAxOTg3NDEwRjBBM0VGRjA4NTU2ODI4NUNECis6MTA5NDExMDA1NTgzRTA5MDAxOUFGMDdFMDE3Rjk4N0QwMzEyOTE2QTU1Cis6MDQ5NDIxMDA4RjUwQUY1MDY5Cis6MDE5NDI1MDAyMjI0Cis6MDg5NDI2MDA4RjUxOEU1MDhENEY4QzRFQ0EKKzoxMDk0MkUwMDc1NTgwMTc1NTk5Q0U0RjU1N0FGNTMxNTUzRUY3MDAzRkEKKzoxMDk0M0UwMDAyOTRDNEFGNTJFNEZDRkRGRUY4RjlGQUFCMDdBRjUxNEIKKzoxMDk0NEUwMEFFNTBBRDRGQUM0RTEyQTMyMUFGMDM4RjU2QUY1MUFFRkYKKzoxMDk0NUUwMDUwQUQ0RkFDNEVDMDA0QzAwNUMwMDZDMDA3QUY1MkU0QkQKKzoxMDk0NkUwMEZDRkRGRUY4RjlGQUFCMDdEMDA3RDAwNkQwMDVEMDA0MDQKKzoxMDk0N0UwMDEyQTMyMThGNTE4RTUwOEQ0RjhDNEVFNTU2MjQzMEY1MTAKKzoxMDk0OEUwMDU2RDM5NDM5NDAwNjc0MDcyNTU2RjU1NjA1NTlFNTU5QjUKKzoxMDk0OUUwMEFFNTg3MDAyMDU1ODE0RjU4MjhFODNFNEYwMDU1OUU1MzYKKzoxMDk0QUUwMDU5QUU1ODcwMDIwNTU4MTRGNTgyOEU4M0U1NTZGMDA1QjQKKzoxMDk0QkUwMDU3MDU1NzAyOTQzN0U1NTkxNTU5NzAwMjE1NThBRjU3OEQKKzoxMDk0Q0UwMDE1NTdFRjYwMjNFNTU5MTU1OUFFNTg3MDAyMTU1OEY1MkEKKzoxMDk0REUwMDgyOEU4M0UwRkYwNTU1RTU1NUFDNTQ3MDAyMDU1NDE0OTkKKzowODk0RUUwMEY1ODI4QzgzRUZGMDgwRDZCQgorOjAxOTRGNjAwMjI1MworOjEwOTRGNzAwRTQ5MDAxQzlGMDdFMDE3RkNBOTAwMUJFRUVGMEEzRUZCMAorOjBBOTUwNzAwRjA5MDAxQzJFRUYwQTNFRkYwMjI5NQorOjEwOTUxMTAwQUEwN0E5MDU5MDAxQzlFMEMzOTQ0MDUwNjFBQzAyNzQ0NworOjEwOTUyMTAwMDE3RTAwQTgwNDA4ODAwNUMzMzNDRTMzQ0VEOEY5RkZFRAorOjEwOTUzMTAwRTRFRjU1MzQ2MDQ1RUEwNEZGOTAwMUMyRTBGQ0EzRTA4QQorOjEwOTU0MTAwRkRGNTgyOEM4M0VGRjBBM0U5RjA4RDgyOEM4M0EzQTNEOAorOjEwOTU1MTAwRUJGMDkwMDFDMkU0NzVGMDAzMTJBMjgxRkNEM0U1RjBCNworOjEwOTU2MTAwOTQ4N0VDOTQwMjQwMEE5MDAxQzI3NDAxRjBBMzc0Q0E3QQorOjEwOTU3MTAwRjBDMkFGOTAwMUM5RTAwNEYwRDJBRjdGMDEyMjdGMDBCOQorOjAxOTU4MTAwMjJDNworOjEwOTU4MjAwOTAwMUM5RTBEMzk0MDA0MDU1OTAwMUJFRTBGQ0EzRTBGNQorOjEwOTU5MjAwQUEwNEY5N0IwMUMwMDNDMDAyQzAwMUFBMDZBOTA3QTg1OAorOjEwOTVBMjAwMDFBQzAyQUQwM0QwMDFEMDAyRDAwMzdFMDA3RjAzMTJEMgorOjEwOTVCMjAwQTIxMjkwMDFCRUU0NzVGMDAzMTJBMjgxRkNEM0U1RjA4MQorOjEwOTVDMjAwOTQ4N0VDOTQwMjQwMEE5MDAxQkU3NDAxRjBBMzc0Q0ExRAorOjEwOTVEMjAwRjBDMkFGOTAwMUM5RTAxNEYwRDJBRjdGMDEyMjdGMDA0OAorOjAxOTVFMjAwMjI2NgorOjEwOTVFMzAwOTA3RkMyRTAyMEUxNzM3RTdCN0Y4MDc1NTM3Qjc1NTQ0RgorOjEwOTVGMzAwODBFNTU0MjQwMUZGRTQzNTUzQTkwNzdCMDE4QjU1RjUxRQorOjEwOTYwMzAwNTY4OTU3RkUxMjk1ODJFRjYwNTBBQjU1QUE1NkE5NTc1QgorOjEwOTYxMzAwMTJBMjNCMTRGRjkwMDAwMTEyQTI1NEI0MDIxNkMyQUY2RgorOjEwOTYyMzAwRUY3NUYwMDhBNDI0MDFGNTgyRTQzNDIwRjU4M0UwNDRDNworOjEwOTYzMzAwMDRGMEQyQUY3NDAxN0UwMEE4MDcwODgwMDVDMzMzQ0VCRgorOjEwOTY0MzAwMzNDRUQ4RjlGRkU0RUY1NTM0NjAwRjg1NTQ4Mjg1NTM0OAorOjBBOTY1MzAwODM3NDBERjA5MDdGQzM3NDA0RjBERgorOjAxOTY1RDAwMjJFQQorOjEwOTY1RTAwMTI5NUUzRTRGNTRFNzQzQTI1NEVGOEU2NTRGMEY1NEZDNAorOjEwOTY2RTAwNzRDNTI1NEVGNTgyRTQzNDAxRjU4M0UwNjU0RkZGQzRFMQorOjEwOTY3RTAwNTQwRkY1NTA2MDIyNzRDNTI1NEVGNTgyRTQzNDAxRjU4MQorOjEwOTY4RTAwODNFNTRGRjBBRjRFN0QwMUU1NEY0NTUwRkIxMjk1MTEyRQorOjEwOTY5RTAwRUY3MDA1MTI5NUUzODBFQzA1NEVFNTRFQzM5NDA0NDA0MQorOjEwOTZBRTAwQjUxMjk1RTNFNTNFNjA0OEU0RjU0RUFGNEU3NDAxQTg2MQorOjEwOTZCRTAwMDcwODgwMDJDMzMzRDhGQ0Y1NEY1NTNFNjAyOUU1NEVBRQorOjEwOTZDRTAwNzVGMDA4QTQyNDA1RjU4MkU0MzQyMEY1ODNFMDMwRTYzNQorOjEwOTZERTAwMTZBRjRFN0QwNDdCODAxMjk1MTFFRjcwMDUxMjk1RTM0NworOjEwOTZFRTAwODBFRkU1NEZGNDUyM0UwNTRFRTU0RUMzOTQwNDQwQkI2OQorOjEwOTZGRTAwOTAwMzAwRTA2MDAzMDI5N0RGNzQxOUYwRTUzM0MzOTQyMgorOjEwOTcwRTAwMDE0MDBEOTAyMDc4RTA1NDBGNzU1MTAwRjU1MjgwMDlGQworOjEwOTcxRTAwN0YwMjEyMTEyNzhFNTE4RjUyQzNFNTUxNjQ4MDk0ODBCRgorOjEwOTcyRTAwNDBEQTkwMDFCQ0UwNjU1MkYwNjAzN0U0RjU0RUFGNEU4MgorOjEwOTczRTAwNzQwMUE4MDcwODgwMDJDMzMzRDhGQ0Y1NEY5MDAxQkMxMgorOjEwOTc0RTAwRTA1NTRGNjAxNEFGNEU3RDA4RTU0RjU1NTJGQjEyOTUxNAorOjEwOTc1RTAwMTFFRjcwMDUxMjk1RTM4MEVDMDU0RUU1NEVDMzk0MDRBRgorOjEwOTc2RTAwNDBDQzkwMDFCQ0U1NTJGMEU0RjU0RUMyQUY3NDM2MjUwNAorOjEwOTc3RTAwNEVGOEU2RjU0RkU0RjZEMkFGNTM0RjFFRTU0RjYwMTFBQgorOjEwOTc4RTAwQUY0RTdEMDJBQjRGMTI5NTExRUY3MDA1MTI5NUUzODAyRgorOjEwOTc5RTAwRUY3NDJEMjU0RUY4RTZGNTRGNzRGQzI1NEVGNTgyRTQ1OAorOjEwOTdBRTAwMzQwMkY1ODNFMDY1NEY2MDExQUY0RTdEMDRBQjRGMTI2RQorOjEwOTdCRTAwOTUxMUVGNzAwNTEyOTVFMzgwRUY3NEZDMjU0RUY1ODIzRQorOjEwOTdDRTAwRTQzNDAyRjU4M0U1NEZGMDA1NEVFNTRFQzM5NDA0NDBCNAorOjA0OTdERTAwOUExMjk1RTM2MworOjAxOTdFMjAwMjI2NAorOjBDOTdFMzAwNzg3RkU0RjZEOEZENzU4MTY3MDI5ODJBQjMKKzoxMDk3RUYwMDAyMDVBREU0OTNBM0Y4RTQ5M0EzNDAwM0Y2ODAwMUYyREUKKzoxMDk3RkYwMDA4REZGNDgwMjlFNDkzQTNGODU0MDcyNDBDQzhDMzMzN0IKKzoxMDk4MEYwMEM0NTQwRjQ0MjBDODgzNDAwNEY0NTY4MDAxNDZGNkRGNDkKKzoxMDk4MUYwMEU0ODAwQjAxMDIwNDA4MTAyMDQwODA5MDk4NkZFNDdFRDIKKzoxMDk4MkYwMDAxOTM2MEJDQTNGRjU0M0YzMEU1MDk1NDFGRkVFNDkzM0UKKzoxMDk4M0YwMEEzNjAwMTBFQ0Y1NEMwMjVFMDYwQTg0MEI4RTQ5M0EzMDUKKzoxMDk4NEYwMEZBRTQ5M0EzRjhFNDkzQTNDOEM1ODJDOENBQzU4M0NBMzAKKzoxMDk4NUYwMEYwQTNDOEM1ODJDOENBQzU4M0NBREZFOURFRTc4MEJFRTgKKzoxMDk4NkYwMDYwMjQwMjhBMDEwMjA0MDgxMDIwNDA4MDgxODI4NDg4Q0IKKzoxMDk4N0YwMDkwQTBDMEMxQzJDNEM4RDBFMEUxRTJFNEU4RjBGMUYyQzgKKzowODk4OEYwMEY0RjhGOUZBRkNGREZFRkZGQworOjAxOTg5NzAwMDBEMAorOjA4OTg5ODAwOEI1OThBNUE4OTVCOEQ1QzMzCis6MTA5OEEwMDBFNEY1NURGNTVFQUY1QzE1NUNFRjYwMzZBQjU5MDU1QkNBCis6MTA5OEIwMDBFNTVCQUE1QTcwMDIwNTVBMTRGOTEyQTIzQkZGRTU1RDU2Cis6MTA5OEMwMDBFNTVFNkYyNUUwRkZFNDMzRkU3NDk1MkZGNTgyRUUzNEZDCis6MTA5OEQwMDA5RUY1ODNFNTVERkZFNDkzRjU1RDc0MDE5MzZGRjU1RTlFCis6MDY5OEUwMDA4MEMzQUU1REFGNUUyNworOjAxOThFNjAwMjI1RgorOjBCOThFNzAwQzBFMEMwODNDMDgyQzBEMDc1RDAxODY0Cis6MTA5OEYyMDA5MDIwNjBFMDU0MEZGRTMwRTAwNTkwMjAwMkUwRkZFRTgxCis6MTA5OTAyMDAzMEUxMDU5MDIwMEFFMEZGRUUzMEUyMDU5MDIwMTJFMEZGCis6MTA5OTEyMDBGRkVFMzBFMzA1OTAyMDFBRTBGRjkwMDFDNEUwQjUxRThGCis6MEE5OTIyMDAwNEU0RjA4MDA1OTAwMUM0RUVGMEFCCis6MDk5OTJDMDBEMEQwRDA4MkQwODNEMEUwMzIwQgorOjAyOTkzNTAwQTkwMzg0Cis6MTA5OTM3MDBFRjc1RjAwOEE0MjQwMEY1ODJFNDM0MjBBQjgyRkFFNTQxCis6MTA5OTQ3MDA1QzQ1NURGNTVFRTk2MDE0OEE4M0U1ODIyNDA0RjU4MjRGCis6MTA5OTU3MDBFNDM1ODNGNTgzRTA0REYwRTRGRTgwMTNFQjI0MDRGNTUyCis6MTA5OTY3MDA4MkU0M0FGNTgzRTBGRkVERjRGQ0VGNUNGMEFFNUVFQkVBCis6MTA5OTc3MDAyNDA2RjU4MkU0M0FGNTgzRTA1NTVFRkNCNTA2MDNBRkFECis6MTA5OTg3MDAwNTIyRTU1QzVDRkVFNTVENUNGREU5NjAxNkVFNzAwNEIyCis6MTA5OTk3MDA3RjAxODAwMjdGMDBBRTA3RUQ3MDA0N0YwMTgwMDI3RkE4Cis6MTA5OUE3MDAwMEFEMDdFRTYwMDNBRjVDMjJFRDYwMDNBRjVEMjI3RjgxCis6MDE5OUI3MDAwMEFGCis6MDE5OUI4MDAyMjhDCis6MTA5OUI5MDA3NTU1MDI3NTU2QjA5MDAzMzU3NDBGRjA4NTU2ODI4NTNBCis6MTA5OUM5MDA1NTgzQTNFMEZGOTAwMzM3RjA4NTU2ODI4NTU1ODNFMEUwCis6MTA5OUQ5MDA5MDAzMzZGMDkwMDMzODc0RkZGMDc1NTcwMzc1NTgzOUMyCis6MTA5OUU5MDBFRjE0QjQwQjAwNDAwMzAyOUU1RDkwOTlGQUY4MjgyODAxCis6MTA5OUY5MDA3MzAyOUExQjAyOUFCQTAyOUJCRjAyOUJERTAyOUJERThDCis6MTA5QTA5MDAwMjlDOTQwMjlDQ0YwMjlDRjQwMjlEQjIwMjlERTIwMjQ4Cis6MTA5QTE5MDA5RTBFRTRGNTRFRTU0RTc1RjAwOEE0MjQwMEY1ODJFNEE3Cis6MTA5QTI5MDAzNDIwQUY4MkY1NTM4RjU0RTRGRkU0RkVFRjYwMTA3NEU1Cis6MTA5QTM5MDA4QTJFRjU4MkU0MzQwMkY1ODNFMEY0RjU0RjgwMEQ3NDQzCis6MTA5QTQ5MDA4QTJFRjU4MkU0MzQwMkY1ODNFMEY1NEZFNTU0MjQwN0M0Cis6MTA5QTU5MDBGNTgyRTQzNTUzRjU4M0U1NEZGMEUwRjU1MDY1NEY2MDQ1Cis6MTA5QTY5MDAzOEU0OTAwMzM4RjBFNTRFMDRGRDA1NThFNTU4QUE1NzQ3Cis6MTA5QTc5MDA3MDAyMDU1NzE0RjU4MjhBODNFREYwMDU1OEU1NThBQzU0Cis6MTA5QTg5MDA1NzcwMDIwNTU3MTRGNTgyOEM4M0U1NEZGMDg1NTg4MjhCCis6MTA5QTk5MDA4NTU3ODNFNTUwRjAwMjlFNjMwRUJFMjQ4RjBGRUY2NDU1Cis6MTA5QUE5MDAwMjcwODcwNTRFRTU0RTY0MDQ2MDAzMDI5QTFFMDI5RTA5Cis6MTA5QUI5MDA2M0U0RjU0RUFGNEVFNEZEMTI4MzVBMDU0RUU1NEVEM0VECis6MTA5QUM5MDA5NDAzNDBGMDkwMDAwNDc0OThGMEEzNzRFN0YwRTRGNTZGCis6MTA5QUQ5MDA1MDdFMjA3RjAwNzU1MzIwNzU1NDAwRjU0RUFGNEU3NEFCCis6MTA5QUU5MDAwMUE4MDcwODgwMDJDMzMzRDhGQ0Y1NEY5MDAxQzRGMEUwCis6MTA5QUY5MDA5MDAxQzBFNEYwQTM3NDBBRjA4NTU0ODI4NTUzODNBM0NFCis6MTA5QjA5MDA3NDAyRjA5MDAxQzRFMEI1NEYzNDkwMDFDMEUwNzAwMkQ2Cis6MTA5QjE5MDBBM0UwNzBFRjkwMDMzOEYwRTU0RTA0RkYwNTU4RTU1OENGCis6MTA5QjI5MDBBQzU3NzAwMjA1NTcxNEY1ODI4QzgzRUZGMDg1NTg4MjgzCis6MTA5QjM5MDA4NTU3ODM3NEZGRjBFNDkwMDFDNEYwNzU1MEZGOTAwMURDCis6MTA5QjQ5MDBDNEUwRkY2MDM3RTQ5MDAzMzhGMEU1NEUwNEZFMDU1OEExCis6MTA5QjU5MDBFNTU4QUM1NzcwMDIwNTU3MTRGNTgyOEM4M0VFRjAwNTcxCis6MTA5QjY5MDA1OEU1NThBQzU3NzAwMjA1NTcxNEY1ODI4QzgzRUZGMDBECis6MTA5Qjc5MDA4NTU4ODI4NTU3ODNFNTRGRjA3NTUwRkZFNTUwNzAxNjdCCis6MTA5Qjg5MDA3NDA4MjU1NEY1NTRFNDM1NTNGNTUzMDU0RUU1NEU2NEYwCis6MTA5Qjk5MDAwNDYwMDMwMjlBRTZFNEY1NEVBRjRFN0QwMTEyODM1QTQyCis6MTA5QkE5MDAwNTRFRTU0RUQzOTQwMzQwRjA5MDAwMDQ3NDEzRjBBM0RFCis6MTA5QkI5MDA3NDEyRjAwMjlFNjM4NTU2ODI4NTU1ODNFMDE0RkY3NDAyCis6MTA5QkM5MDAwMUE4MDcwODgwMDJDMzMzRDhGQzkwMDJGN0YwOTAwMTdFCis6MTA5QkQ5MDBDNEYwMDI5RTYzOTAwMUMwNzQwM0YwQTM3NEU4RjBFNDNBCis6MTA5QkU5MDBGNTUwOTAwMkY3RTBGRjkwMDFDNEUwQjUwNzE5OTAwMTI0Cis6MTA5QkY5MDBDMEUwNzAwMkEzRTA3MEVBOTAwMzM4RjA4NTU4ODI4NUNFCis6MTA5QzA5MDA1NzgzNzRGRkYwRjU1MEU1NTA2MDAzMDI5RTYzOTAwMTlECis6MTA5QzE5MDBDMEYwQTM3NDk2RjA5MDAxQzBFMDcwMDJBM0UwNzBGNjYyCis6MTA5QzI5MDBFNTMzQzM5NDAxNDAwRDkwMjA3OEUwNTQwRjc1NTEwMDNECis6MTA5QzM5MDBGNTUyODAwOTdGMDIxMjExMjc4RTUxOEY1MkMzRTU1MUM3Cis6MTA5QzQ5MDA2NDgwOTQ4MDQwREFFNTUyNTQwRkY1NTA5MDAyRjdFMEIxCis6MTA5QzU5MDA1NTUwNzAwNDdGMDE4MDAyN0YwMDhGNEY4NTU2ODI4NUExCis6MTA5QzY5MDA1NTgzQTNFMEI0MDUwQ0U1NEY3MDA0N0YwMTgwMDI3RkEyCis6MTA5Qzc5MDAwMDhGNEZFNTRGNzAwMzAyOUU2M0U0OTAwMzM4RjA4NTJGCis6MTA5Qzg5MDA1ODgyODU1NzgzRTU1MEYwMDI5RTYzRTRGRkZEMTI4M0Y1Cis6MTA5Qzk5MDA1QTdFMjA3RjAwNzU1MzIwNzU1NDAwODU1NDgyODU1MzYwCis6MTA5Q0E5MDA4M0EzQTNBM0UwNDQ4MEYwODU1NDgyODU1MzgzNzQwMTgwCis6MTA5Q0I5MDBGMEEzRTRGMDg1NTQ4Mjg1NTM4M0EzQTNBM0UwNTQ3RkUyCis6MTA5Q0M5MDBGMEQyMDQwMjlFNjNDMjA0N0UyMDdGMDA3NTUzMjA3NTgyCis6MTA5Q0Q5MDA1NDAwRTU1NDI0MDVGNTgyRTQzNTUzRjU4M0UwMzBFNjc0Cis6MTA5Q0U5MDBGMUU0RkY3RDAxMTI4MzVBMDI5RTYzRTRGNTUwRjU0RUJCCis6MTA5Q0Y5MDBBRjRFRTRGRDEyODM1QUU1NEU3NUYwMDhBNDI0MDBGNTMxCis6MTA5RDA5MDA4MkU0MzQyMEFGODJGNTUzOEY1NEY1ODNFNTgyMjQwNDJECis6MTA5RDE5MDBGNTgyRTQzNTgzRjU4M0UwNTRGQ0YwQUY0RTdEMDE3Qjk5Cis6MTA5RDI5MDAwMTc1NUM4MDc1NUQ0MDEyOTkzNThGNTBFNTUwNzAxMTUxCis6MTA5RDM5MDBBRjRFN0QwMjdCMDE3NTVDMTA3NTVEMjAxMjk5MzU4RkUwCis6MTA5RDQ5MDA1MEU1NTA3MDEwQUY0RTdEMDFGQjc1NUM4MDc1NUQ0MDJDCis6MTA5RDU5MDAxMjk5MzU4RjUwRTU1MDcwMTBBRjRFN0QwMkZCNzU1QzNFCis6MTA5RDY5MDAxMDc1NUQyMDEyOTkzNThGNTBBRjRFN0QwMTEyODM1QUJGCis6MTA5RDc5MDBFNTUwNjAyNkU0OTAwMzM4RjBFNTRFMDRGRjA1NThFNTA4Cis6MTA5RDg5MDA1OEFDNTc3MDAyMDU1NzE0RjU4MjhDODNFRkYwODU1ODRCCis6MTA5RDk5MDA4Mjg1NTc4M0U1NTBGMDAyOUU2MzA1NEVFNTRFRDM5NEM0Cis6MTA5REE5MDAwMzUwMDMwMjlDRjkwMjlFNjNFNDkwMDM1OUYwQTNGMDY3Cis6MTA5REI5MDBBM0YwQTNGMEEzRjBBMzc0MTBGMEEzNzQ5RUYwQTM3NDBFCis6MTA5REM5MDA4NUYwN0UwMzdGNTkxMjgxRDlFRjY0MDg3MDAzMDI5RUUyCis6MTA5REQ5MDA2M0U0OTAwMzM4RjAwMjlFNjNFNDkwMDM1OUYwQTNGMDIyCis6MTA5REU5MDBBM0YwQTNGMEEzRjBBMzc0MTBGMEEzRTU1N0YwQTNFNTQzCis6MTA5REY5MDA1OEYwN0UwMzdGNTkxMjE5QzFFRjY0MDg2MDVDRTQ5MDQyCis6MTA5RTA5MDAwMzM4RjA4MDU1RTU1NjI0MDJGRkU0MzU1NUZBQTkwN0QxCis6MTA5RTE5MDA3QjAxN0QxMDEyOTg5OEVGNEU3MDMyOTAwMzU5RjBBMzkwCis6MTA5RTI5MDBGMEEzRjBBM0YwQTNGMEEzNzQxMEYwRTU1NjI0MDI5MDc4Cis6MTA5RTM5MDAwMzYwRjBFNDM1NTU5MDAzNUZGMDdFMDM3RjU5MTI4MThBCis6MTA5RTQ5MDBEOUVGNjQwODYwMTRFNDkwMDMzOEYwODAwREU0OTAwM0JFCis6MTA5RTU5MDAzOEYwODAwNjkwMDMzODc0MDFGMDkwMDFDMEU0RjBBMzUzCis6MTA5RTY5MDA3NDBBRjA5MDAxQzBFMDcwMDJBM0UwNzBGNjdFMDM3RkVGCis6MEI5RTc5MDAzNTdEMjQxMjkxNkFFNDkwMDJBRkYwRTYKKzowMTlFODQwMDIyQkIKKzoxMDlFODUwMEZGRkVGQ0Y4RjBFMEMwODAwMDAxMDMwNzBGMUYzRjdGRDUKKzoxMDlFOTUwMDAwMDBDMEMxQzE4MTAxNDBDMzAxMDNDMDAyODBDMjQxQUQKKzoxMDlFQTUwMEM2MDEwNkMwMDc4MEM3NDEwNTAwQzVDMUM0ODEwNDQwN0QKKzoxMDlFQjUwMENDMDEwQ0MwMEQ4MENENDEwRjAwQ0ZDMUNFODEwRTQwMkQKKzoxMDlFQzUwMDBBMDBDQUMxQ0I4MTBCNDBDOTAxMDlDMDA4ODBDODQxM0QKKzoxMDlFRDUwMEQ4MDExOEMwMTk4MEQ5NDExQjAwREJDMURBODExQTQwQUQKKzoxMDlFRTUwMDFFMDBERUMxREY4MTFGNDBERDAxMURDMDFDODBEQzQxN0QKKzoxMDlFRjUwMDE0MDBENEMxRDU4MTE1NDBENzAxMTdDMDE2ODBENjQxQUQKKzoxMDlGMDUwMEQyMDExMkMwMTM4MEQzNDExMTAwRDFDMUQwODExMDQwQkMKKzoxMDlGMTUwMEYwMDEzMEMwMzE4MEYxNDEzMzAwRjNDMUYyODEzMjQwQUMKKzoxMDlGMjUwMDM2MDBGNkMxRjc4MTM3NDBGNTAxMzVDMDM0ODBGNDQxN0MKKzoxMDlGMzUwMDNDMDBGQ0MxRkQ4MTNENDBGRjAxM0ZDMDNFODBGRTQxMkMKKzoxMDlGNDUwMEZBMDEzQUMwM0I4MEZCNDEzOTAwRjlDMUY4ODEzODQwM0MKKzoxMDlGNTUwMDI4MDBFOEMxRTk4MTI5NDBFQjAxMkJDMDJBODBFQTQxQUMKKzoxMDlGNjUwMEVFMDEyRUMwMkY4MEVGNDEyRDAwRURDMUVDODEyQzQwN0MKKzoxMDlGNzUwMEU0MDEyNEMwMjU4MEU1NDEyNzAwRTdDMUU2ODEyNjQwQUMKKzoxMDlGODUwMDIyMDBFMkMxRTM4MTIzNDBFMTAxMjFDMDIwODBFMDQxQkMKKzoxMDlGOTUwMEEwMDE2MEMwNjE4MEExNDE2MzAwQTNDMUEyODE2MjQwQUMKKzoxMDlGQTUwMDY2MDBBNkMxQTc4MTY3NDBBNTAxNjVDMDY0ODBBNDQxN0MKKzoxMDlGQjUwMDZDMDBBQ0MxQUQ4MTZENDBBRjAxNkZDMDZFODBBRTQxMkMKKzoxMDlGQzUwMEFBMDE2QUMwNkI4MEFCNDE2OTAwQTlDMUE4ODE2ODQwM0MKKzoxMDlGRDUwMDc4MDBCOEMxQjk4MTc5NDBCQjAxN0JDMDdBODBCQTQxQUMKKzoxMDlGRTUwMEJFMDE3RUMwN0Y4MEJGNDE3RDAwQkRDMUJDODE3QzQwN0MKKzoxMDlGRjUwMEI0MDE3NEMwNzU4MEI1NDE3NzAwQjdDMUI2ODE3NjQwQUMKKzoxMEEwMDUwMDcyMDBCMkMxQjM4MTczNDBCMTAxNzFDMDcwODBCMDQxQkIKKzoxMEEwMTUwMDUwMDA5MEMxOTE4MTUxNDA5MzAxNTNDMDUyODA5MjQxQUIKKzoxMEEwMjUwMDk2MDE1NkMwNTc4MDk3NDE1NTAwOTVDMTk0ODE1NDQwN0IKKzoxMEEwMzUwMDlDMDE1Q0MwNUQ4MDlENDE1RjAwOUZDMTlFODE1RTQwMkIKKzoxMEEwNDUwMDVBMDA5QUMxOUI4MTVCNDA5OTAxNTlDMDU4ODA5ODQxM0IKKzoxMEEwNTUwMDg4MDE0OEMwNDk4MDg5NDE0QjAwOEJDMThBODE0QTQwQUIKKzoxMEEwNjUwMDRFMDA4RUMxOEY4MTRGNDA4RDAxNERDMDRDODA4QzQxN0IKKzoxMEEwNzUwMDQ0MDA4NEMxODU4MTQ1NDA4NzAxNDdDMDQ2ODA4NjQxQUIKKzoxMEEwODUwMDgyMDE0MkMwNDM4MDgzNDE0MTAwODFDMTgwODE0MDQwQkIKKzoxMEEwOTUwMEU0RkY3NEY4MkZGNTgyRTQzNDAyRjU4M0UwNzAwMzAyREYKKzoxMEEwQTUwMEExMzg3NDNBMkZGOEU2MjBFNTAzMDJBMTM4RUY3NUYwRTAKKzoxMEEwQjUwMDA4QTQyNDAwRjU4MkU0MzQyMEFEODJGQ0Y1ODNFNTgyMTIKKzoxMEEwQzUwMDI0MDVGNTgyRTQzNTgzRjU4M0UwNTQ2MDY0NjA3MDYzQUMKKzoxMEEwRDUwMEVGMjVFMDI0RUZGNTgyRTQzNDAyRjU4M0U0NzVGMDAxMjEKKzoxMEEwRTUwMDEyQTI5Nzg1RjA4MkY1ODNFMDhEODI4QzgzRjA3NEY4NTcKKzoxMEEwRjUwMDJGRjU4MkU0MzQwMkY1ODNFMDE0RjA3MDM2RUYyNUUwQTUKKzoxMEExMDUwMDI0QzdGNTgyRTQzNDdGRjU4M0U0RjBFRjI1RTBGRUMzNTAKKzoxMEExMTUwMDc0MEM5RTc1RjA0MEE0MjQ0MEY1ODJFNUYwMzQ3QkFEQzcKKzoxMEExMjUwMDgyRkNFRjI1RTAyNEVGRjU4MkU0MzQwMkY1ODNFQ0YwQzAKKzowQ0ExMzUwMEEzRURGMDBGRUY2NDA0NjAwMzAyQTA5NzlDCis6MDFBMTQxMDAyMkZCCis6MTBBMTQyMDBFNzA5RjYwOERGRkE4MDQ2RTcwOUYyMDhERkZBODAzRUZGCis6MTBBMTUyMDA4ODgyOEM4M0U3MDlGMEEzREZGQTgwMzJFMzA5RjYwOEVDCis6MTBBMTYyMDBERkZBODA3OEUzMDlGMjA4REZGQTgwNzA4ODgyOEM4MzU0Cis6MTBBMTcyMDBFMzA5RjBBM0RGRkE4MDY0ODk4MjhBODNFMEEzRjYwODA4Cis6MTBBMTgyMDBERkZBODA1ODg5ODI4QTgzRTBBM0YyMDhERkZBODA0Q0UyCis6MTBBMTkyMDA4MEQyODBGQTgwQzY4MEQ0ODA2OTgwRjI4MDMzODAxMEI5Cis6MTBBMUEyMDA4MEE2ODBFQTgwOUE4MEE4ODBEQTgwRTI4MENBODAzMzIyCis6MTBBMUIyMDA4OTgyOEE4M0VDRkFFNDkzQTNDOEM1ODJDOENDQzU4MzlBCis6MTBBMUMyMDBDQ0YwQTNDOEM1ODJDOENDQzU4M0NDREZFOURFRTc4MDZBCis6MTBBMUQyMDAwRDg5ODI4QTgzRTQ5M0EzRjYwOERGRjlFQ0ZBQTlGMEU5Cis6MTBBMUUyMDBFREZCMjI4OTgyOEE4M0VDRkFFMEEzQzhDNTgyQzhDQzNGCis6MTBBMUYyMDBDNTgzQ0NGMEEzQzhDNTgyQzhDQ0M1ODNDQ0RGRUFERTU4Cis6MTBBMjAyMDBFODgwREI4OTgyOEE4M0U0OTNBM0YyMDhERkY5ODBDQ0I5Cis6MTBBMjEyMDA4OEYwRUQyNDAyQjQwNDAwNTBDMkY1ODJFQjI0MDJCNEFCCis6MTBBMjIyMDAwNDAwNTBCODIzMjM0NTgyRjU4MkVGNEU2MEFFRUY2MDAyCis6MDlBMjMyMDAwMTBFRTU4MjIzOTBBMTkyNzM1NAorOjEwQTIzQjAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDIyMQorOjA5QTI0QjAwRTMyMjg5ODI4QTgzRTQ5MzIyNTQKKzoxMEEyNTQwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwQkYKKzoxMEEyNjQwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyMDkKKzowREEyNzQwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyMjMKKzoxMEEyODEwMEM1RjBGOEEzRTAyOEYwQzVGMEY4RTU4MjE1ODI3MDAyNjgKKzowNkEyOTEwMDE1ODNFMDM4RjAyMjA1Cis6MTBBMjk3MDBBM0Y4RTBDNUYwMjVGMEYwRTU4MjE1ODI3MDAyMTU4MzdBCis6MDZBMkE3MDBFMEM4MzhGMEU4MjJENworOjEwQTJBRDAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBFRgorOjEwQTJCRDAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVDQworOjEwQTJDRDAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODMxMgorOjA4QTJERDAwRTk5M0Y1RjBBM0U5OTMyMkQ3Cis6MTBBMkU1MDA3NUYwMDg3NTgyMDBFRjJGRkZFRTMzRkVDRDMzQ0RDQzMwCis6MTBBMkY1MDAzM0NDQzU4MjMzQzU4MjlCRUQ5QUVDOTlFNTgyOTg0MEIzCis6MTBBMzA1MDAwQ0Y1ODJFRTlCRkVFRDlBRkRFQzk5RkMwRkQ1RjBENjhGCis6MTBBMzE1MDBFNENFRkJFNENERkFFNENDRjlBODgyMjJCODAwQzFCOUI5Cis6MTBBMzI1MDAwMDU5QkEwMDJERUM4QkYwODRDRkNFQ0RGQ0U1RjBDQkY3Cis6MTBBMzM1MDBGOTc4MThFRjJGRkZFRTMzRkVFRDMzRkRFQzMzRkNFQjMwCis6MTBBMzQ1MDAzM0ZCMTBENzAzOTk0MDA0RUI5OUZCMEZEOEU1RTRGOUVCCis6MTBBMzU1MDBGQTIyNzgxOEVGMkZGRkVFMzNGRUVEMzNGREVDMzNGQ0Q4Cis6MTBBMzY1MDBDOTMzQzkxMEQ3MDU5QkU5OUE0MDA3RUM5QkZDRTk5QUNDCis6MTBBMzc1MDBGOTBGRDhFMEU0QzlGQUU0Q0NGQjIyNzVGMDEwRUYyRjExCis6MTBBMzg1MDBGRkVFMzNGRUVEMzNGRENDMzNDQ0M4MzNDODEwRDcwNzExCis6MTBBMzk1MDA5QkVDOUFFODk5NDAwQUVEOUJGREVDOUFGQ0U4OTlGODRDCis6MEVBM0E1MDAwRkQ1RjBEQUU0Q0RGQkU0Q0NGQUU0QzhGOTIyREYKKzoxMEEzQjMwMEVCOUZGNUYwRUE5RTQyRjBFOTlENDJGMEU4OUM0NUYwMDAKKzowMUEzQzMwMDIyNzcKKzoxMEEzQzQwMEU4NjAwRkVDQzMxM0ZDRUQxM0ZERUUxM0ZFRUYxM0ZGNzcKKzowM0EzRDQwMEQ4RjEyMjlCCis6MTBBM0Q3MDAwODA4MDhFNkNGMkZGNjE4RTZDRTNFRjYxOEU2Q0QzRDdDCis6MDdBM0U3MDBGNjE4RTZDQzNDRjYyMjVCCis6MENBM0VFMDBFQ0YwQTNFREYwQTNFRUYwQTNFRkYwMjJFMgorOjEwQTNGQTAwQTg4Mjg1ODNGMEQwODNEMDgyMTJBNDExMTJBNDExMTJFQworOjEwQTQwQTAwQTQxMTEyQTQxMUU0NzNFNDkzQTNDNTgzQzVGMEM1ODMxMAorOjEwQTQxQTAwQzhDNTgyQzhGMEEzQzU4M0M1RjBDNTgzQzhDNTgyQzhBQworOjAxQTQyQTAwMjIwRgorOjAwMDAwMDAxRkYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqICAgICAgd2hpdGVoZWF0LmggIC0tICBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgRmlybXdhcmUuCisgKgorICogICAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiAgQ29ubmVjdFRlY2ggSW5jIChodHRwOi8vd3d3LmNvbm5lY3R0ZWNoLmNvbS8pCisgKgorICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICoKKyAqICgxMC8wOS8yMDAyKSBTdHVhcnQgTWFjRG9uYWxkCisgKglGaXJtd2FyZSA0LjA2CisgKgorICogKDA0LzA5LzIwMDApIGdraAorICoJVXBkYXRlZCB0aGUgZmlybXdhcmUgd2l0aCB0aGUgbGF0ZXN0IHByb3ZpZGVkIGJ5IENvbm5lY3RUZWNoLgorICoKKyAqICgwMS8xNi8yMDAwKSBna2gKKyAqCUZpeGVkIG15IGludGVsIGhleCBwcm9jZXNzaW5nIHRvb2wsIHNvIG5vdyB0aGUgZmlybXdhcmUgYWN0dWFsbHkKKyAqCW1hdGNoZXMgdGhlIG9yaWdpbmFsIGZpbGUgKHRoaXMgd2FzIGNhdXNpbmcgYSBmZXcgcHJvYmxlbXMuLi4pCisgKgorICogKDAxLzE1LzIwMDApIGdraAorICoJQWRkZWQgZGVidWcgbG9hZGVyIGZpcm13YXJlIGlmIERFQlVHIGlzICNkZWZpbmVkOgorICoJCVBvcnQgMSBMRUQgZmxhc2hlcyB3aGVuIHRoZSB2ZW5kX2F4IHByb2dyYW0gaXMgcnVubmluZworICoJCVBvcnQgMiBMRUQgZmxhc2hlcyB3aGVuIGFueSBTRVRVUCBjb21tYW5kIGFycml2ZXMKKyAqCQlQb3J0IDMgTEVEIGZsYXNoZXMgd2hlbiBhbnkgdmFsaWQgVkVORE9SIHJlcXVlc3Qgb2NjdXJzCisgKgkJUG9ydCA0IExFRCBmbGFzaGVzIHdoZW4gdGhlIEVYVEVSTkFMIFJBTSBET1dOTE9BRCByZXF1ZXN0IG9jY3VycworICoKKyAqIHZlcnNpb24gMS4wICgwMS8wOS8yMDAwKSBna2gKKyAqCU9yaWdpbmFsIGZpcm13YXJlIGZyb20gQ29ubmVjdFRlY2ggbWFzc2FnZWQgYSBsaXR0bGUgdG8gYmUgcHJvZ3JhbQorICoJcmVhZGFibGUuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIHdoaXRlaGVhdF9EQVRFICIyMDAwMDEwNiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXIuSEVYIGIvZmlybXdhcmUvd2hpdGVoZWF0X2xvYWRlci5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY2NjNmNgotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXIuSEVYCkBAIC0wLDAgKzEsMzE0IEBACis6MDMwMDAwMDAwMjA5OEQ2NQorOjAzMDAzMzAwMDIwOEZCQzUKKzowMzAwNDMwMDAyMEIwMEFECis6MDMwMDRCMDAwMjA1QUEwMQorOjEwMDEwMDAwOTA3RkE1RTA1NDEwRkZDNDU0MEY0NDUwRjUwRjEzRTQ0MgorOjEwMDExMDAwMzNGNTExOTA3RkU5RTAyNDVFQjQwNzAwNDAwMzAyMDM0OQorOjEwMDEyMDAwNzg5MDAxMjhGODI4Mjg3MzAyMDFCQzAyMDFCQzAyMDE2MgorOjEwMDEzMDAwOTEwMjAxM0QwMjAxNTMwMjAxNkYwMjAxOUE5MDdGMDA3QQorOjEwMDE0MDAwRTUxMUYwOTA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyRjBDNworOjEwMDE1MDAwMDIwMzc4OTA3RjkyRTBGRkM0NTQwRjkwN0YwMEYwOTBFQworOjEwMDE2MDAwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMkYwMDIwMzc4MTI4RQorOjEwMDE3MDAwMEE4OTUwMDdFNDkwN0YwMEYwODAwNjkwN0YwMDc0MEY5QQorOjEwMDE4MDAwRjA5MDdGQjU3NDAxRjA5MDdGQjRFMDQ0MDJGMDAyMDM3OAorOjEwMDE5MDAwNzg5MDdGRUFFMEY1MEYwMjAzNzg5MDdGMDA3NDA3RjAxMworOjEwMDFBMDAwOTA3RkI1NzQwMUYwOTA3RkI0RTA0NDAyRjA3RkU4N0U2OAorOjEwMDFCMDAwMDMxMjBEOTREMjA2MTIwQ0NDMDIwMzc4OTA3RkVBRTA3MQorOjEwMDFDMDAwNzUyODAwRjUyOUEzRTBGRUU0RUU0MjI4OTA3RkVFRTBEQQorOjEwMDFEMDAwNzUyQTAwRjUyQkEzRTBGRUU0RUU0MjJBOTA3RkU4RTBDQQorOjEwMDFFMDAwNjRDMDYwMDMwMjAyQzlFNTJCNDUyQTcwMDMwMjAzNzg0QworOjEwMDFGMDAwQzNFNTJCOTQ0MEU1MkE5NDAwNTAwODg1MkEyQzg1MkJEMgorOjEwMDIwMDAwMkQ4MDA2NzUyQzAwNzUyRDQwOTA3RkU5RTA2NEEzNzA2OQorOjEwMDIxMDAwMzRGNTMwRjUzMUMzRTUzMTk1MkRFNTMwOTUyQzUwNUM0MgorOjEwMDIyMDAwRTUyOTI1MzFGNTgyRTUzMDM1MjhGNTgzRTBGRjc0MDBCNgorOjEwMDIzMDAwMjUzMUY1ODJFNDM0N0ZGNTgzRUZGMDA1MzFFNTMxNzA0NworOjEwMDI0MDAwMDIwNTMwODBEMEU0RjUzMEY1MzFDM0U1MzE5NTJERTU3OAorOjEwMDI1MDAwMzA5NTJDNTAxODc0MDAyNTMxRjU4MkU0MzQ3RkY1ODNGNQorOjEwMDI2MDAwNzRDREYwMDUzMUU1MzE3MDAyMDUzMDgwRERBRjI5QUU4NworOjEwMDI3MDAwMjhBRDJEN0E3Rjc5MDA3QjAwMTIwQkY0OTA3RkI1RTVENQorOjEwMDI4MDAwMkRGMEU1MkQyNTI5RjUyOUU1MkMzNTI4RjUyOEMzRTVBMAorOjEwMDI5MDAwMkI5NTJERjUyQkU1MkE5NTJDRjUyQTkwN0Y5MkUwRkZFMgorOjEwMDJBMDAwQzQ1NDBGNzUyRTAwRjUyRkQzOTQwMEU1MkU5NDAwNTAwMgorOjEwMDJCMDAwMEM5MDdGQjRFMDIwRTEwMzAyMDFFNzgwRjQ5MDdGQjQ2QQorOjEwMDJDMDAwRTAyMEUyMDMwMjAxRTc4MEY0OTA3RkU4RTA2NDQwNjAxMAorOjEwMDJEMDAwMDMwMjAzNzhFNTJCNDUyQTcwMDMwMjAzNzhFNDkwN0YzQworOjEwMDJFMDAwQzVGMDkwN0Y5MkUwRkZDNDU0MEY3NTJFMDBGNTJGRDMxOAorOjEwMDJGMDAwOTQwMEU1MkU5NDAwNTAwOTkwN0ZDNEUwMzBFMTA5ODAxRAorOjEwMDMwMDAwRjc5MDdGQjRFMDIwRTNGOTkwN0ZDNUUwNzUyQzAwRjUwRAorOjEwMDMxMDAwMkQ5MDdGRTlFMDY0QTM3MDM0RjUzMEY1MzFDM0U1MzEwOQorOjEwMDMyMDAwOTUyREU1MzA5NTJDNTAzNDc0QzAyNTMxRjU4MkU0MzQ5OAorOjAxMDMzMDAwN0U0RQorOjEwMDMzMTAwRjU4M0UwRkZFNTI5MjUzMUY1ODJFNTMwMzUyOEY1ODNBMAorOjEwMDM0MTAwRUZGMDA1MzFFNTMxNzAwMjA1MzA4MEQwQUYyOUFFMjhEQworOjEwMDM1MTAwQUQyRDdBN0U3OUMwN0JDMDEyMEMzRkU1MkQyNTI5RjVBNAorOjEwMDM2MTAwMjlFNTJDMzUyOEY1MjhDM0U1MkI5NTJERjUyQkU1MkExNAorOjA5MDM3MTAwOTUyQ0Y1MkEwMjAyRDRDMzIyRTYKKzoxMDAzN0EwMDkwN0ZFOUUwNzAwMzAyMDQ1MjE0NzAwMzAyMDRDRTI0NTEKKzoxMDAzOEEwMEZFNzAwMzAyMDU0MjI0RkI3MDAzMDIwNDRDMTQ3MDAzM0UKKzoxMDAzOUEwMDAyMDQ0NjE0NzAwMzAyMDQzQTE0NzAwMzAyMDQ0MDI0NEYKKzoxMDAzQUEwMDA1NjAwMzAyMDU5NjEyMEU0NDQwMDMwMjA1QTI5MDdGREYKKzoxMDAzQkEwMEVCRTAyNEZFNjAxNjE0NjA0MDI0MDI3MDY5NzQxMTkwMDgKKzoxMDAzQ0EwMDdGRDRGMDc0MDA5MDdGRDVGMDAyMDVBMjkwN0ZFQUUwMTYKKzoxMDAzREEwMEZGMTIwQjU4OEIyNThBMjY4OTI3RUE0OTYwMTFBRTAyM0IKKzoxMDAzRUEwMEVFOTA3RkQ0RjBBRjAxRUY5MDdGRDVGMDAyMDVBMjkwOTYKKzoxMDAzRkEwMDdGQjRFMDQ0MDFGMDAyMDVBMjkwN0ZFQUUwRkYxMjA4MTAKKzoxMDA0MEEwMEJBOEIyNThBMjY4OTI3RUE0OTYwMTFBRTAyRUU5MDdGQzcKKzoxMDA0MUEwMEQ0RjBBRjAxRUY5MDdGRDVGMDAyMDVBMjkwN0ZCNEUwNEYKKzoxMDA0MkEwMDQ0MDFGMDAyMDVBMjkwN0ZCNEUwNDQwMUYwMDIwNUEyNjMKKzoxMDA0M0EwMDEyMEUxRjAyMDVBMjEyMEUyRDAyMDVBMjEyMEFGNzAyQkYKKzoxMDA0NEEwMDA1QTIxMjBFMTEwMjA1QTIxMjBFNDY0MDAzMDIwNUEyQ0YKKzoxMDA0NUEwMDkwN0ZFOEUwMjQ3RjYwMjQxNDYwMzEyNDAyNzA1QkEyNUMKKzoxMDA0NkEwMDAwRTQzM0ZGMjVFMEZGQTIwMkU0MzM0RjkwN0YwMEYwNUYKKzoxMDA0N0EwMEU0QTNGMDkwN0ZCNTc0MDJGMDAyMDVBMkU0OTA3RjAwMzUKKzoxMDA0OEEwMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDVBMjkwN0ZFQ0UwMzEKKzoxMDA0OUEwMEY0NTQ4MEZGQzQ1NDBGRkZFMDU0MDcyRjI1RTAyNEI0MUUKKzoxMDA0QUEwMEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNEEzMDUKKzoxMDA0QkEwMEYwOTA3RkI1NzQwMkYwMDIwNUEyOTA3RkI0RTA0NDAxODcKKzoxMDA0Q0EwMEYwMDIwNUEyMTIwRTQ4NDAwMzAyMDVBMjkwN0ZFOEUwNUUKKzoxMDA0REEwMDI0RkU2MDFEMjQwMjYwMDMwMjA1QTI5MDdGRUFFMEI0QjQKKzoxMDA0RUEwMDAxMDVDMjAwMDIwNUEyOTA3RkI0RTA0NDAxRjAwMjA1QjIKKzoxMDA0RkEwMEEyOTA3RkVBRTA3MDM4OTA3RkVDRTBGNDU0ODBGRkM0NjkKKzoxMDA1MEEwMDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDdGMkEKKzoxMDA1MUEwMEY1ODNFNEYwOTA3RkVDRTA1NDgwRkYxMzEzMTM1NDFGMkIKKzoxMDA1MkEwMEZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA2OTkwRDUKKzoxMDA1M0EwMDdGQjRFMDQ0MDFGMDgwNjAxMjBFNEE1MDVCOTA3RkU4N0QKKzoxMDA1NEEwMEUwMjRGRTYwMTgyNDAyNzA0RjkwN0ZFQUUwQjQwMTA0QjAKKzoxMDA1NUEwMEQyMDA4MDQ0OTA3RkI0RTA0NDAxRjA4MDNCOTA3RkVBNkYKKzoxMDA1NkEwMEUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkUwNjkKKzoxMDA1N0EwMDU0MDcyRjI1RTAyNEI0RjU4MkU0MzQ3RkY1ODM3NDAxMEYKKzoxMDA1OEEwMEYwODAxNTkwN0ZCNEUwNDQwMUYwODAwQzEyMDEwMDUwMTUKKzoxMDA1OUEwMDA3OTA3RkI0RTA0NDAxRjA5MDdGQjRFMDQ0MDJGMDIyNzcKKzoxMDA1QUEwMEMwRTBDMDgzQzA4MkMwODVDMDg0QzA4Njc1ODYwMEMwOTIKKzoxMDA1QkEwMEQwQzAwMEMwMDFDMDAyQzAwM0MwMDZDMDA3OTA3RkE1MUEKKzoxMDA1Q0EwMEUwMzBFMjA2NzUwRDA2MDIwNjc2OTA3RkE1RTAyMEUxOEUKKzoxMDA1REEwMDBDRTUwRDY0MDI2MDA2NzUwRDA3MDIwNjc2QUYwREVGOTUKKzoxMDA1RUEwMDI0RkU2MDQ4MTQ2MDJDMjRGRTYwNzcyNDA0NjAwMzAyMTEKKzoxMDA1RkEwMDA2NzZBQjA5QUEwQUE5MEJBRjBDMDUwQzhGODI3NTgzODQKKzoxMDA2MEEwMDAwMTIwODIyOTA3RkE2RjBFNTBDNjUwODcwNUU3NTBENTEKKzoxMDA2MUEwMDA1ODA1OTkwN0ZBNkUwQUIwOUFBMEFBOTBCQUUwQzhFRjkKKzoxMDA2MkEwMDgyNzU4MzAwMTIwODRGNzUwRDAyODA0MEU1MDgyNEZFOEEKKzoxMDA2M0EwMEI1MEMwNzkwN0ZBNUUwNDQyMEYwRTUwODE0QjUwQzBBMzQKKzoxMDA2NEEwMDkwN0ZBNUUwNDQ0MEYwRTRGNTBEOTA3RkE2RTBBQjA5NjkKKzoxMDA2NUEwMEFBMEFBOTBCQUUwQzhFODI3NTgzMDAxMjA4NEYwNTBDRUMKKzoxMDA2NkEwMDgwMEE5MDdGQTVFMDQ0NDBGMEU0RjUwRDUzOTFERkQwNzUKKzoxMDA2N0EwMDA3RDAwNkQwMDNEMDAyRDAwMUQwMDBEMEQwRDA4NkQwODcKKzowQTA2OEEwMDg0RDA4NUQwODJEMDgzRDBFMDMyMDYKKzoxMDA2OTQwMDhDMzM4RDM0OTA3Rjk1RTA0NEMwRjBFNEY1MzVGNTM2MjUKKzoxMDA2QTQwMEMzRTUzNjk1MzRFNTM1OTUzMzUwNjlFRjI1MzZGNTgyNDMKKzoxMDA2QjQwMEU1MzUzRUY1ODM3NEZGRjBGNDYwMDJDMzIyRUYyNTM2N0UKKzoxMDA2QzQwMEY1ODJFNTM1M0VGNTgzRTRGMDYwMDJDMzIyRUYyNTM2N0EKKzoxMDA2RDQwMEY1ODJFNTM1M0VGNTgzNzRBQUYwNjRBQTYwMDJDMzIyNkMKKzoxMDA2RTQwMEVGMjUzNkY1ODJFNTM1M0VGNTgzNzQ1NUYwNjQ1NTYwQTMKKzoxMDA2RjQwMDAyQzMyMkFEMzZFNTM2MkZGNTgyRTUzNTNFRjU4M0VEQUUKKzoxMDA3MDQwMEYwRkNBQzA1RUQ2QzYwMDJDMzIyMDUzNkU1MzY3MDAyRTAKKzoxMDA3MTQwMDA1MzU4MDhDRTRGNTM1RjUzNkMzRTUzNjk1MzRFNTM1OTUKKzoxMDA3MjQwMDk1MzM1MDI3RUYyNTM2RjU4MkU1MzUzRUY1ODNFMDY1QjAKKzoxMDA3MzQwMDM2NjAwMkMzMjJFRjI1MzZGNTgyRTUzNTNFRjU4M0U0QzMKKzowRDA3NDQwMEYwMDUzNkU1MzY3MDAyMDUzNTgwQ0VEMzIyNzMKKzoxMDA3NTEwMEMyMDREMjA1QzIwM0MyMDBDMjAyQzIwMTEyMEUzREQyQkUKKzoxMDA3NjEwMEU4NDNEODIwOTA3RkFCNzRGRkYwOTA3RkE5RjA5MDdGOTEKKzoxMDA3NzEwMEFBRjA1MzkxRUY5MDdGOTVFMDQ0QzBGMDkwN0Y5Mzc0N0QKKzoxMDA3ODEwMDMwRjAxMjBBMTk5MDdGQUZFMDQ0MDFGMDkwN0ZBRUUwQTMKKzoxMDA3OTEwMDQ0MERGMEQyQUYxMjBFMzUyMDAxNDI3NTI0MDA3NTIzQUQKKzoxMDA3QTEwMDAwNzUyMjAwNzUyMTAwN0Y0ODdFOTI3RDAwN0MwMEFCQTAKKzoxMDA3QjEwMDI0QUEyM0E5MjJBODIxQzMxMjA4QTk1MERCMjAwMUQ4MDkKKzoxMDA3QzEwMDdBMDA3OTAwNzgwMEU1MjQyNDAxRjUyNEVBMzUyM0Y1M0YKKzoxMDA3RDEwMDIzRTkzNTIyRjUyMkU4MzUyMUY1MjE4MENBMzAwMTA1Q0EKKzoxMDA3RTEwMDEyMDM3QUMyMDEzMDA0MUExMjBFNDA1MDEzMTIwOTAwOEEKKzoxMDA3RjEwMDMwMDAwNzkwN0ZENkUwMzBFN0YzMTIwRDRBMTIwRTQyMjcKKzowODA4MDEwMEMyMDMxMjA4RkY4MEQ2MjI5OQorOjEwMDgwOTAwQkIwMTA2ODk4MjhBODNFMDIyNTAwMkU3MjJCQkZFMDJFRAorOjA5MDgxOTAwRTMyMjg5ODI4QTgzRTQ5MzIyMjAKKzoxMDA4MjIwMEJCMDEwQ0U1ODIyOUY1ODJFNTgzM0FGNTgzRTAyMjUwOEIKKzoxMDA4MzIwMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMjIyRDUKKzowRDA4NDIwMEU1ODIyOUY1ODJFNTgzM0FGNTgzRTQ5MzIyRUYKKzoxMDA4NEYwMEY4QkIwMTBERTU4MjI5RjU4MkU1ODMzQUY1ODNFOEYwREYKKzoxMDA4NUYwMDIyNTAwNkU5MjU4MkM4RjYyMkJCRkUwNUU5MjU4MkM4OEIKKzowMjA4NkYwMEYyMjI3MworOjEwMDg3MTAwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQUY1ODNFMEY1RjBDNQorOjEwMDg4MTAwQTNFMDIyNTAwOUU5MjU4MkY4ODZGMDA4RTYyMkJCRkVBMgorOjEwMDg5MTAwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkU1ODMyQUY1ODNFOAorOjA4MDhBMTAwRTk5M0Y1RjBBM0U5OTMyMkFECis6MTAwOEE5MDBFQjlGRjVGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMEE1Cis6MDEwOEI5MDAyMjFDCis6MDIwOEJBMDA4RjI4ODUKKzoxMDA4QkMwMEU0RjUyOTc1MkFGRjc1MkIxMTc1MkMzMkFCMkFBQTJCNUUKKzoxMDA4Q0MwMEE5MkM5MDAwMDExMjA4MjJCNDAzMURBRjI5MDUyOUVGQjEKKzoxMDA4REMwMEI1MjgwMTIyMTIwODA5N0UwMDI5RkZFRTNBQTkwNzc1RjYKKzowRTA4RUMwMDJBRkZGNTJCODkyQzgwRDQ3QjAwN0EwMDc5MDAzRQorOjAxMDhGQTAwMjJEQgorOjA0MDhGQjAwNTNEOEVGMzJBRAorOjAxMDhGRjAwMjJENgorOjA5MDkwMDAwOTA3RkQ2RTA0NDgwRjA4MDc0ODEKKzoxMDA5N0QwMDQzODcwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyN0QKKzowQzA5OEQwMDc4N0ZFNEY2RDhGRDc1ODEzOTAyMDlENEFBCis6MTAwOTk5MDAwMjA3NTFFNDkzQTNGOEU0OTNBMzQwMDNGNjgwMDFGMjFDCis6MTAwOUE5MDAwOERGRjQ4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzVGCis6MTAwOUI5MDBDNDU0MEY0NDIwQzg4MzQwMDRGNDU2ODAwMTQ2RjZERjJFCis6MTAwOUM5MDBFNDgwMEIwMTAyMDQwODEwMjA0MDgwOTAwREVDRTQ3RUM1Cis6MTAwOUQ5MDAwMTkzNjBCQ0EzRkY1NDNGMzBFNTA5NTQxRkZFRTQ5MzIzCis6MTAwOUU5MDBBMzYwMDEwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBM0VBCis6MTAwOUY5MDBGQUU0OTNBM0Y4RTQ5M0EzQzhDNTgyQzhDQUM1ODNDQTE1Cis6MTAwQTA5MDBGMEEzQzhDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRUNDCis6MTAwQTE5MDBFNDkwN0Y5Q0YwN0YwQUZFMTIwRDk0OTA3Rjk2NzQ4OTcyCis6MTAwQTI5MDBGMDkwN0Y5Qzc0Q0ZGMDdGRjQ3RTAxMTIwRDk0OTA3RjNCCis6MTAwQTM5MDA5NkUwNTRGRUYwN0YwQTdFMDAxMjBEOTQ3RjA1N0UwMDM5Cis6MTAwQTQ5MDAxMjBEOTQ5MDdGOTZFMDQ0MDJGMEUwNTQ3RkYwN0YwNTA4Cis6MTAwQTU5MDA3RTAwMTIwRDk0OTA3Rjk2RTA0NDQwRjA3RjA1N0UwMDYxCis6MTAwQTY5MDAxMjBEOTQ5MDdGOTZFMDU0QkZGMDdGMzI3RTAwMTIwREY0Cis6MTAwQTc5MDA5NDkwN0Y5NkUwNDQ0MEYwN0YzMjdFMDAxMjBEOTQyMkRDCis6MTAwQTg5MDA3NTMyMDFFNTMyNjAxQjdGMDExMjBERDc3RjAwN0UwRUEyCis6MTAwQTk5MDA3RDAwN0MwMTEyMDY5NEU0MzNGNTMyNzAwNTdGMEYxMjU0Cis6MTAwQUE5MDAwREQ3RTUzMjYwMUI3RjAyMTIwREQ3N0YwMDdFODA3RDU2Cis6MTAwQUI5MDAwMDdDODAxMjA2OTRFNDMzRjUzMjcwMDU3RjBGMTIwRDI1Cis6MTAwQUM5MDBEN0U1MzI2MDFCN0YwMzEyMERENzdGMDA3RTIwN0Q0MDYyCis6MTAwQUQ5MDA3QzVCMTIwNjk0RTQzM0Y1MzI3MDA1N0YwRjEyMERENzUzCis6MEUwQUU5MDBFNTMyNjAwNUU0RkYxMjBERDdFNTMyMjRGRjIyNEUKKzowODBBRjcwMDkwN0ZFQUUwRjUxMEQzMjIyNAorOjAxMEFGRjAwMzJDNAorOjEwMEIwMDAwMDIwRDY0MDAwMjBEQUIwMDAyMEQyRjAwMDIwRDdDMDBFRgorOjEwMEIxMDAwMDIwREMxMDAwMjBBRkYwMDAyMEU0QzAwMDIwRTREMDA0MQorOjEwMEIyMDAwMDIwRTRFMDAwMjBFNEYwMDAyMEU1MDAwMDIwRTUxMDA0NworOjEwMEIzMDAwMDIwRTUyMDAwMjBFNTMwMDAyMEU1NDAwMDIwRTU1MDAyNworOjEwMEI0MDAwMDIwRTU2MDAwMjBFNTcwMDAyMEU1ODAwMDIwRTU5MDAwNworOjA4MEI1MDAwMDIwRTVBMDAwMjBFNUIwMEM4Cis6MTAwQjU4MDBFNEZFNzUyQUZGNzUyQjExNzUyQzEyQUIyQUFBMkJBOTU2Cis6MTAwQjY4MDAyQzkwMDAwMTEyMDgyMjY0MDI3MDJEQUQwNjBFRURCNTFFCis6MTAwQjc4MDAwNzAxMjI5MDAwMDIxMjA4NzE4NUYwMjhGNTI5NjIyOEUxCis6MTAwQjg4MDBFNTI4NjIyOUU1Mjk2MjI4MjlGREU1MjgzQUE5MDU3NTlECis6MEUwQjk4MDAyQUZGRjUyQjg5MkM4MEMzN0IwMDdBMDA3OTAwQTAKKzowMTBCQTYwMDIyMkMKKzoxMDBCQTcwMEFCMDdBQTA2QUMwNUU0RkRFNTExNjAxMUVBRkZBRTA1NDcKKzoxMDBCQjcwMDBERUUyNDEwRjU4MkU0MzQwRkY1ODNFRkYwRUJBRTA1NkMKKzoxMDBCQzcwMDBENzQxMDJFRjU4MkU0MzQwRkY1ODNFQkYwQUYwNTBEQUQKKzoxMDBCRDcwMDc0MTAyRkY1ODJFNDM0MEZGNTgzRUNGMEFGMEY3QTBGMjIKKzowRDBCRTcwMDdCMTAxMjBEMTA3RjBBN0UwMDEyMEQ5NDIyNkIKKzoxMDBCRjQwMDhFMzI4RjMzOEQzNDhBMzU4QjM2RTRGREY1MzdFNTExMkIKKzoxMDBDMDQwMDYwMTJFNTMyRkZBRTA1MERFRTI0MTNGNTgyRTQzNDBGRDUKKzoxMDBDMTQwMEY1ODNFRkYwRTUzM0FFMDUwRDc0MTMyRUY1ODJFNDM0NUQKKzoxMDBDMjQwMDBGRjU4M0U1MzNGMEFGMEY3QTBGN0IxMzEyMEQxMEFGN0UKKzowQjBDMzQwMDBGQUQzNEFCMzZBQTM1MTIwQ0YxMjJENAorOjEwMEMzRjAwOEUzMjhGMzM4RDM0OEEzNThCMzZFNEY1MzdFNTM3QzNGMworOjEwMEM0RjAwOTUzNDUwMjAwNTMzRTUzM0FFMzI3MDAyMDUzMjE0RkY3MAorOjEwMEM1RjAwRTUzNjI1MzdGNTgyRTQzNTM1RjU4M0UwRkQxMjBCQTczMAorOjA1MEM2RjAwMDUzNzgwRDkyMkM5Cis6MTAwQzc0MDBBOTA3RTUwRDcwMjU5MDdGQTVFMDQ0ODBGMEU5MjVFMDAzCis6MTAwQzg0MDA0NDAxOTA3RkE2RjA4RDA4QUYwM0E5MDc3NTA5MDE4QTc2Cis6MEQwQzk0MDAwQTg5MEJFNEY1MEM3NTBEMDNEMzIyQzMyMjcxCis6MTAwQ0ExMDBBOTA3RTUwRDcwMjM5MDdGQTVFMDQ0ODBGMEU5MjVFMEQ4Cis6MTAwQ0IxMDA5MDdGQTZGMDhEMDhBRjAzQTkwNzc1MDkwMThBMEE4OUZCCis6MEIwQ0MxMDAwQkU0RjUwQzc1MEQwMUQzMjJDMzIyREIKKzoxMDBDQ0MwMDkwN0ZENkUwNTRGQkYwRTA0NDA4RjAzMDA2MDRFMDQ0OUEKKzoxMDBDREMwMDAyRjA3RkQwN0UwNzEyMEQ5NDkwN0ZENkUwNTRGN0YwOEYKKzowNTBDRUMwMEUwNDQwNEYwMjJDOQorOjEwMENGMTAwMTIwQzc0RTUwRDI0RkE2MDEwMTQ2MDA3MjQwNzcwRjNEOAorOjBGMEQwMTAwN0YwODIyRTRGNTBEN0YwNzIyRTRGNTBEN0YwNjIyMUYKKzoxMDBEMTAwMDEyMENBMUU1MEQyNEZBNjAxMDE0NjAwNzI0MDc3MEYzOEIKKzowRjBEMjAwMDdGMDgyMkU0RjUwRDdGMDcyMkU0RjUwRDdGMDYyMjAwCis6MTAwRDJGMDBDMEUwQzA4M0MwODI5MDdGQzRFNEYwNTM5MUVGOTA3RjA2Cis6MEIwRDNGMDBBQjc0MDRGMEQwODJEMDgzRDBFMDMyMEYKKzoxMDBENEEwMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMDEyNzMKKzowQTBENUEwMDBEOTQ5MDdGRDZFMDU0RkVGMDIyQzUKKzoxMDBENjQwMEMwRTBDMDgzQzA4MkQyMDE1MzkxRUY5MDdGQUI3NDAxODUKKzowODBENzQwMEYwRDA4MkQwODNEMEUwMzIwMAorOjEwMEQ3QzAwQzBFMEMwODNDMDgyRDIwMzUzOTFFRjkwN0ZBQjc0MDg2NAorOjA4MEQ4QzAwRjBEMDgyRDA4M0QwRTAzMkU4Cis6MTAwRDk0MDA4RTM4OEYzOUU1MzkxNTM5QUUzODcwMDIxNTM4NEU2MDAyCis6MDcwREE0MDAwNTEyMEUwMDgwRUUyMjkzCis6MTAwREFCMDBDMEUwQzA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDUwCis6MDYwREJCMDA4MkQwODNEMEUwMzI3QgorOjEwMERDMTAwQzBFMEMwODNDMDgyNTM5MUVGOTA3RkFCNzQxMEYwRDAyQworOjA2MEREMTAwODJEMDgzRDBFMDMyNjUKKzoxMDBERDcwMEFFMDc3RjIxN0QwMTc0MDAyRUY1ODJFNDM0MEZBQjgyQ0MKKzowNTBERTcwMEZBMTIwRDEwMjJCQworOjEwMERFQzAwNTAwRjAwQzBGOUE0QjA5OTkyODJGODgwOTg4ODgzQzZGRAorOjAzMERGQzAwQTE4NjhFM0YKKzowMTBERkYwMDAwRjMKKzoxMDBFMDAwMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEY5MDUKKzowMTBFMTAwMDIyQkYKKzowRTBFMTEwMDkwN0YwMEU1MTBGMDkwN0ZCNTc0MDFGMEQzMjJDMQorOjBFMEUxRjAwOTA3RjAwRTUwRUYwOTA3RkI1NzQwMUYwRDMyMkI1Cis6MDgwRTJEMDA5MDdGRUFFMEY1MEVEMzIyRUMKKzowODBFMzUwMEU0RjUwREQyRTlEMkFGMjI3MQorOjAzMEUzRDAwRDIwMDIyQkUKKzowMjBFNDAwMEQzMjJCQgorOjAyMEU0MjAwRDMyMkI5Cis6MDIwRTQ0MDBEMzIyQjcKKzowMjBFNDYwMEQzMjJCNQorOjAyMEU0ODAwRDMyMkIzCis6MDIwRTRBMDBEMzIyQjEKKzowMTBFNEMwMDMyNzMKKzowMTBFNEQwMDMyNzIKKzowMTBFNEUwMDMyNzEKKzowMTBFNEYwMDMyNzAKKzowMTBFNTAwMDMyNkYKKzowMTBFNTEwMDMyNkUKKzowMTBFNTIwMDMyNkQKKzowMTBFNTMwMDMyNkMKKzowMTBFNTQwMDMyNkIKKzowMTBFNTUwMDMyNkEKKzowMTBFNTYwMDMyNjkKKzowMTBFNTcwMDMyNjgKKzowMTBFNTgwMDMyNjcKKzowMTBFNTkwMDMyNjYKKzowMTBFNUEwMDMyNjUKKzowMTBFNUIwMDMyNjQKKzoxMDExMDAwMDEyMDEwMDAxMDAwMDAwNDA0NzA1MTAyNzAxMDAwMTAyMDQKKzoxMDExMTAwMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMDAyRUYKKzoxMDExMjAwMEZGMDAwMDA0MDcwNTgyMDI0MDAwMDAwNzA1MDIwMjQwOUMKKzoxMDExMzAwMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2ODAwRjgKKzoxMDExNDAwMDZGMDA3MjAwMjAwMDQzMDA2ODAwNjkwMDcwMDA3MzAwQTcKKzoxMDExNTAwMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjAwOEEKKzoxMDExNjAwMDY5MDA3MjAwNkQwMDc3MDA2MTAwNzIwMDY1MDAyMDAwNjgKKzoxMDExNzAwMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MjAwNEMKKzoxMDExODAwMDZCMDA3MzAwMkEwMzQzMDA2RjAwNkUwMDY2MDA2OTAwNjUKKzoxMDExOTAwMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTAwRTYKKzoxMDExQTAwMDIwMDA1MzAwNzQwMDcyMDA2OTAwNkUwMDY3MDAyMjAzODMKKzoxMDExQjAwMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzAwMDMKKzoxMDExQzAwMDY1MDAyMDAwNTMwMDc0MDA3MjAwNjkwMDZFMDA2NzAwMjMKKzowMjExRDAwMDAwMDAxRAorOjAwMDAwMDAxRkYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqICAgICAgd2hpdGVoZWF0LmggIC0tICBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgRmlybXdhcmUuCisgKgorICogICAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiAgQ29ubmVjdFRlY2ggSW5jIChodHRwOi8vd3d3LmNvbm5lY3R0ZWNoLmNvbS8pCisgKgorICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICoKKyAqICgxMC8wOS8yMDAyKSBTdHVhcnQgTWFjRG9uYWxkCisgKglGaXJtd2FyZSA0LjA2CisgKgorICogKDA0LzA5LzIwMDApIGdraAorICoJVXBkYXRlZCB0aGUgZmlybXdhcmUgd2l0aCB0aGUgbGF0ZXN0IHByb3ZpZGVkIGJ5IENvbm5lY3RUZWNoLgorICoKKyAqICgwMS8xNi8yMDAwKSBna2gKKyAqCUZpeGVkIG15IGludGVsIGhleCBwcm9jZXNzaW5nIHRvb2wsIHNvIG5vdyB0aGUgZmlybXdhcmUgYWN0dWFsbHkKKyAqCW1hdGNoZXMgdGhlIG9yaWdpbmFsIGZpbGUgKHRoaXMgd2FzIGNhdXNpbmcgYSBmZXcgcHJvYmxlbXMuLi4pCisgKgorICogKDAxLzE1LzIwMDApIGdraAorICoJQWRkZWQgZGVidWcgbG9hZGVyIGZpcm13YXJlIGlmIERFQlVHIGlzICNkZWZpbmVkOgorICoJCVBvcnQgMSBMRUQgZmxhc2hlcyB3aGVuIHRoZSB2ZW5kX2F4IHByb2dyYW0gaXMgcnVubmluZworICoJCVBvcnQgMiBMRUQgZmxhc2hlcyB3aGVuIGFueSBTRVRVUCBjb21tYW5kIGFycml2ZXMKKyAqCQlQb3J0IDMgTEVEIGZsYXNoZXMgd2hlbiBhbnkgdmFsaWQgVkVORE9SIHJlcXVlc3Qgb2NjdXJzCisgKgkJUG9ydCA0IExFRCBmbGFzaGVzIHdoZW4gdGhlIEVYVEVSTkFMIFJBTSBET1dOTE9BRCByZXF1ZXN0IG9jY3VycworICoKKyAqIHZlcnNpb24gMS4wICgwMS8wOS8yMDAwKSBna2gKKyAqCU9yaWdpbmFsIGZpcm13YXJlIGZyb20gQ29ubmVjdFRlY2ggbWFzc2FnZWQgYSBsaXR0bGUgdG8gYmUgcHJvZ3JhbQorICoJcmVhZGFibGUuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIHdoaXRlaGVhdF9EQVRFICIyMDAwMDEwNiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXJfZGVidWcuSEVYIGIvZmlybXdhcmUvd2hpdGVoZWF0X2xvYWRlcl9kZWJ1Zy5IRVgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYzM2Q1OAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3doaXRlaGVhdF9sb2FkZXJfZGVidWcuSEVYCkBAIC0wLDAgKzEsNDAzIEBACis6MTAwMDAwMDAwMDAwMDAwMDAzMDIwOThEMDAwMDAwMzMwMzAyMEU3MDlGCis6MTAwMDEwMDAwMDAwMDA0MzAzMDIwQjAwMDAwMDAwNEIwMzAyMDVCMzg1Cis6MTAwMDIwMDAwMDAwMDEwMDEwOTA3RkE1RTA1NDEwRkZDNDU0MEY0NDVECis6MTAwMDMwMDA1MEY1MEYxM0U0MDAwMTEwMDAwMDAxMTAxMDMzRjUxMTBBCis6MTAwMDQwMDA5MDdGRTlFMDI0NUVCNDA3MDA0MDAzMDIwMzAwMDEyMDMyCis6MTAwMDUwMDAwMDAwMDEyMDEwN0M5MDAxMjhGODI4Mjg3MzAyMDFCQ0MwCis6MTAwMDYwMDAwMjAxQkMwMjAxMDAwMTMwMDAwMDAxMzAxMDkxMDIwMUM4Cis6MTAwMDcwMDAzRDAyMDE1MzAyMDE2RjAyMDE5QTkwN0YwMDAwMDE0MDhFCis6MTAwMDgwMDAwMDAwMDE0MDEwRTUxMUYwOTA3RkI1NzQwMUYwOTA3RjAxCis6MTAwMDkwMDBCNEUwNDQwMkYwMDAwMTUwMDAwMDAxNTAxMDAyMDM3QzYzCis6MTAwMEEwMDA5MDdGOTJFMEZGQzQ1NDBGOTA3RjAwRjA5MDAwMDE2MEI5Cis6MTAwMEIwMDAwMDAwMDE2MDEwN0ZCNTc0MDFGMDkwN0ZCNEUwNDQwMjRECis6MTAwMEMwMDBGMDAyMDM3QzEyMDAwMTcwMDAwMDAxNzAxMDBBODk1MEQ4Cis6MTAwMEQwMDAwN0U0OTA3RjAwRjA4MDA2OTA3RjAwNzQwRjAwMDE4MDlECis6MTAwMEUwMDAwMDAwMDE4MDEwRjA5MDdGQjU3NDAxRjA5MDdGQjRFMEMzCis6MTAwMEYwMDA0NDAyRjAwMjAzMDAwMTkwMDAwMDAxOTAxMDdDOTA3RjA4Cis6MTAwMTAwMDBFQUUwRjUwRjAyMDM3QzkwN0YwMDc0MDdGMDAwMDFBMDg1Cis6MTAwMTEwMDAwMDAwMDFBMDEwOTA3RkI1NzQwMUYwOTA3RkI0RTA0NDFFCis6MTAwMTIwMDAwMkYwN0ZFODdFMDAwMUIwMDAwMDAxQjAxMDAzMTIwRDY0Cis6MTAwMTMwMDBENUQyMDYxMjBEMEQwMjAzN0M5MDdGRUFFMDAwMDFDMENCCis6MTAwMTQwMDAwMDAwMDFDMDEwNzUyOTAwRjUyQUEzRTBGRUU0RUU0MjhDCis6MTAwMTUwMDAyOTkwN0ZFRUUwMDAwMUQwMDAwMDAxRDAxMDc1MkIwMDQ3Cis6MTAwMTYwMDBGNTJDQTNFMEZFRTRFRTQyMkI5MDdGRThFMDAwMDFFMEY2Cis6MTAwMTcwMDAwMDAwMDFFMDEwNjRDMDYwMDMwMjAyQzlFNTJDNDUyQkI5Cis6MTAwMTgwMDA3MDAzMDIwMzdDMDAwMUYwMDAwMDAxRjAxMEMzRTUyQ0I1Cis6MTAwMTkwMDA5NDQwRTUyQjk0MDA1MDA4ODUyQjJEODUyQzAwMDIwMEZGCis6MTAwMUEwMDAwMDAwMDIwMDEwMkU4MDA2NzUyRDAwNzUyRTQwOTA3RkY1Cis6MTAwMUIwMDBFOUUwNjRBMzcwMDAwMjEwMDAwMDAyMTAxMDM0RjUzMTcxCis6MTAwMUMwMDBGNTMyQzNFNTMyOTUyRUU1MzE5NTJENTA1QzAwMDIyMEM1Cis6MTAwMUQwMDAwMDAwMDIyMDEwRTUyQTI1MzJGNTgyRTUzMTM1MjlGNUE3Cis6MTAwMUUwMDA4M0UwRkY3NDAwMDAwMjMwMDAwMDAyMzAxMDI1MzJGNTc5Cis6MTAwMUYwMDA4MkU0MzQ3RkY1ODNFRkYwMDUzMkU1MzI3MDAwMDI0MDhGCis6MTAwMjAwMDAwMDAwMDI0MDEwMDIwNTMxODBEMEU0RjUzMUY1MzJDMzIwCis6MTAwMjEwMDBFNTMyOTUyRUU1MDAwMjUwMDAwMDAyNTAxMDMxOTUyRDc4Cis6MTAwMjIwMDA1MDE4NzQwMDI1MzJGNTgyRTQzNDdGRjU4MzAwMDI2MEIzCis6MTAwMjMwMDAwMDAwMDI2MDEwNzRDREYwMDUzMkU1MzI3MDAyMDUzMTI1Cis6MTAwMjQwMDA4MEREQUYyQUFFMDAwMjcwMDAwMDAyNzAxMDI5QUQyRUQyCis6MTAwMjUwMDA3QTdGNzkwMDdCMDAxMjBCRjQ5MDdGQjVFNTAwMDI4MDc1Cis6MTAwMjYwMDAwMDAwMDI4MDEwMkVGMEU1MkUyNTJBRjUyQUU1MkQzNTE2Cis6MTAwMjcwMDAyOUY1MjlDM0U1MDAwMjkwMDAwMDAyOTAxMDJDOTUyRTZDCis6MTAwMjgwMDBGNTJDRTUyQjk1MkRGNTJCOTA3RjkyRTBGRjAwMDJBMDM5Cis6MTAwMjkwMDAwMDAwMDJBMDEwQzQ1NDBGNzUyRjAwRjUzMEQzOTQwMDU1Cis6MTAwMkEwMDBFNTJGOTQwMDUwMDAwMkIwMDAwMDAyQjAxMDBDOTA3RkM3Cis6MTAwMkIwMDBCNEUwMjBFMTAzMDIwMUU3ODBGNDkwN0ZCNDAwMDJDMEMzCis6MTAwMkMwMDAwMDAwMDJDMDEwRTAyMEUyMDMwMjAxRTc4MEY0OTA3RjBBCis6MTAwMkQwMDBFOEUwNjQ0MDYwMDAwMkQwMDAwMDAyRDAxMDAzMDIwMzk2Cis6MTAwMkUwMDA3Q0U1MkM0NTJCNzAwMzAyMDM3Q0U0OTA3RjAwMDJFMDQ4Cis6MTAwMkYwMDAwMDAwMDJFMDEwQzVGMDkwN0Y5MkUwRkZDNDU0MEY3NTNCCis6MTAwMzAwMDAyRjAwRjUzMEQzMDAwMkYwMDAwMDAyRjAxMDk0MDBFNTU5Cis6MTAwMzEwMDAyRjk0MDA1MDA5OTA3RkM0RTAzMEUxMDk4MDAwMDMwMDcxCis6MTAwMzIwMDAwMDAwMDMwMDEwRjc5MDdGQjRFMDIwRTNGOTkwN0ZDNTUwCis6MTAwMzMwMDBFMDc1MkQwMEY1MDAwMzEwMDAwMDAzMTAxMDJFOTA3RkQzCis6MTAwMzQwMDBFOUUwNjRBMzcwMzg5MDIwNkJGMEY1MzFGNTAwMDMyMEVDCis6MTAwMzUwMDAwMDAwMDMyMDEwMzJDM0U1MzI5NTJFRTUzMTk1MkQ1MDczCis6MTAwMzYwMDAzNDc0QzAyNTMyMDAwMzMwMDAwMDAzMzAxMEY1ODJFNEZECis6MTAwMzcwMDAzNDdFRjU4M0UwRkZFNTJBMjUzMkY1ODJFNTAwMDM0MDZGCis6MTAwMzgwMDAwMDAwMDM0MDEwMzEzNTI5RjU4M0VGRjAwNTMyRTUzMkU2Cis6MTAwMzkwMDA3MDAyMDUzMTgwMDAwMzUwMDAwMDAzNTAxMEQwQUYyQUQ2Cis6MTAwM0EwMDBBRTI5QUQyRTdBN0U3OUMwN0JDMDEyMEM4MDAwMDM2MDJFCis6MTAwM0IwMDAwMDAwMDM2MDEwRTUyRTI1MkFGNTJBRTUyRDM1MjlGNUU0Cis6MTAwM0MwMDAyOUMzRTUyQzk1MDAwMzcwMDAwMDAzNzAwRDJFRjUyQzU5Cis6MTAwM0QwMDBFNTJCOTUyREY1MkIwMjAyRDRDMzAwMDAwMDAwMDM3RDEwCis6MTAwM0UwMDAwMTIyMDAwMDAwMDAwMzdFMTA5MDdGRTlFMDcwMDMwMjBDCis6MTAwM0YwMDAwNDU2MTQ3MDAzMDIwNEQyMjQwMDAzOEUwMDAwMDM4RUZFCis6MTAwNDAwMDAxMEZFNzAwMzAyMDU0NjI0RkI3MDAzMDIwNDUwMTQ3MEIyCis6MTAwNDEwMDAwMzAwMDM5RTAwMDAwMzlFMTAwMjA0NEExNDcwMDMwMkFFCis6MTAwNDIwMDAwNDNFMTQ3MDAzMDIwNDQ0MjQwMDAzQUUwMDAwMDNBRTMzCis6MTAwNDMwMDAxMDA1NjAwMzAyMDU5QTEyMEU3QjQwMDMwMjA1QUI5MDgzCis6MTAwNDQwMDA3RjAwMDNCRTAwMDAwM0JFMTBFQkUwMjRGRTYwMTYxNDI0Cis6MTAwNDUwMDA2MDQwMjQwMjcwNjk3NDExOTAwMDAzQ0UwMDAwMDNDRTQ2Cis6MTAwNDYwMDAxMDdGRDRGMDc0MDA5MDdGRDVGMDAyMDVBQjkwN0ZFQTQ2Cis6MTAwNDcwMDBFMDAwMDNERTAwMDAwM0RFMTBGRjEyMEI1ODhCMjY4QTFCCis6MTAwNDgwMDAyNzg5MjhFQTQ5NjAxMUFFMDIwMDAzRUUwMDAwMDNFRTVFCis6MTAwNDkwMDAxMEVFOTA3RkQ0RjBBRjAxRUY5MDdGRDVGMDAyMDVBQjY2Cis6MTAwNEEwMDA5MDAwMDNGRTAwMDAwM0ZFMTA3RkI0RTA0NDAxRjAwMjYwCis6MTAwNEIwMDAwNUFCOTA3RkVBRTBGRjEyMEMwMDA0MEUwMDAwMDQwRTcyCis6MTAwNEMwMDAxMDNGOEIyNjhBMjc4OTI4RUE0OTYwMTFBRTAyRUU5MEY4Cis6MTAwNEQwMDA3RjAwMDQxRTAwMDAwNDFFMTBENEYwQUYwMUVGOTA3RkQ3Cis6MTAwNEUwMDBENUYwMDIwNUFCOTA3RkI0RTAwMDA0MkUwMDAwMDQyRThFCis6MTAwNEYwMDAxMDQ0MDFGMDAyMDVBQjkwN0ZCNEUwNDQwMUYwMDIwNTI2Cis6MTAwNTAwMDBBQjAwMDQzRTAwMDAwNDNFMTAxMjBFNTIwMjA1QUIxMjc2Cis6MTAwNTEwMDAwRTYwMDIwNUFCMTIwQUY3MDIwMDA0NEUwMDAwMDQ0RTAyCis6MTAwNTIwMDAxMDA1QUIxMjA4RjEwMjA1QUIxMjBFN0Q0MDAzMDIwNTY3Cis6MTAwNTMwMDBBQjAwMDQ1RTAwMDAwNDVFMTA5MDdGRThFMDI0N0Y2MDYyCis6MTAwNTQwMDAyNDE0NjAzMTI0MDI3MDVCQTIwMDA0NkUwMDAwMDQ2RTZCCis6MTAwNTUwMDAxMDAwRTQzM0ZGMjVFMEZGQTIwMkU0MzM0RjkwN0YwMDU4Cis6MTAwNTYwMDBGMDAwMDQ3RTAwMDAwNDdFMTBFNEEzRjA5MDdGQjU3NEQ4Cis6MTAwNTcwMDAwMkYwMDIwNUFCRTQ5MDdGMDAwMDA0OEUwMDAwMDQ4RUMwCis6MTAwNTgwMDAxMEYwQTNGMDkwN0ZCNTc0MDJGMDAyMDVBQjkwN0ZFQzAxCis6MTAwNTkwMDBFMDAwMDQ5RTAwMDAwNDlFMTBGNDU0ODBGRkM0NTQwRjM5Cis6MTAwNUEwMDBGRkUwNTQwNzJGMjVFMDI0QjQwMDA0QUUwMDAwMDRBRUExCis6MTAwNUIwMDAxMEY1ODJFNDM0N0ZGNTgzRTA1NEZEOTA3RjAwRjBFNDkxCis6MTAwNUMwMDBBMzAwMDRCRTAwMDAwNEJFMTBGMDkwN0ZCNTc0MDJGMERBCis6MTAwNUQwMDAwMjA1QUI5MDdGQjRFMDQ0MDEwMDA0Q0UwMDAwMDRDRURECis6MTAwNUUwMDAxMEYwMDIwNUFCMTIwRTdGNDAwMzAyMDVBQjkwN0ZFOENFCis6MTAwNUYwMDBFMDAwMDRERTAwMDAwNERFMTAyNEZFNjAxRDI0MDI2MDIyCis6MTAwNjAwMDAwMzAyMDVBQjkwN0ZFQUUwQjQwMDA0RUUwMDAwMDRFRUM0Cis6MTAwNjEwMDAxMDAxMDVDMjAwMDIwNUFCOTA3RkI0RTA0NDAxRjAwMjc2Cis6MTAwNjIwMDAwNTAwMDRGRTAwMDAwNEZFMTBBQjkwN0ZFQUUwNzAzODg1Cis6MTAwNjMwMDA5MDdGRUNFMEY0NTQ4MEZGQzQwMDA1MEUwMDAwMDUwRTJFCis6MTAwNjQwMDAxMDU0MEZGRkUwNTQwNzJGMjVFMDI0QjRGNTgyRTQzNDYyCis6MTAwNjUwMDA3RjAwMDUxRTAwMDAwNTFFMTBGNTgzRTRGMDkwN0ZFQzdFCis6MTAwNjYwMDBFMDU0ODBGRjEzMTMxMzU0MUYwMDA1MkUwMDAwMDUyRUM1Cis6MTAwNjcwMDAxMEZGRTA1NDA3MkY5MDdGRDdGMEUwNDQyMEYwODA2RTA5Cis6MTAwNjgwMDA5MDAwMDUzRTAwMDAwNTNFMTA3RkI0RTA0NDAxRjA4MDdDCis6MTAwNjkwMDA2NTEyMEU4MTUwNjA5MDdGRTgwMDA1NEUwMDAwMDU0RTA3Cis6MTAwNkEwMDAxMEUwMjRGRTYwMTgyNDAyNzA1NDkwN0ZFQUUwQjQwMTQ4Cis6MTAwNkIwMDAwNDAwMDU1RTAwMDAwNTVFMTBEMjAwODA0OTkwN0ZCNDAyCis6MTAwNkMwMDBFMDQ0MDFGMDgwNDA5MDdGRUEwMDA1NkUwMDAwMDU2RTc2Cis6MTAwNkQwMDAxMEUwNzAyMDkwN0ZFQ0UwRjQ1NDgwRkZDNDU0MEZGRkQyCis6MTAwNkUwMDBFMDAwMDU3RTAwMDAwNTdFMTA1NDA3MkYyNUUwMjRCNEFECis6MTAwNkYwMDBGNTgyRTQzNDdGRjU4Mzc0MDEwMDA1OEUwMDAwMDU4RUQ5Cis6MTAwNzAwMDAxMEYwODAxQTkwN0ZCNEUwNDQwMUYwODAxMUU0OTAyMDUyCis6MTAwNzEwMDA2QTAwMDU5RTAwMDAwNTlFMTBGMDEyMDEwMDUwMDc5MDJGCis6MTAwNzIwMDA3RkI0RTA0NDAxRjA5MDdGQjQwMDA1QUUwMDAwMDVBRTU4Cis6MTAwNzMwMDAwNEUwNDQwMkYwMDAwMDAwMDAwMDA1QjIwMTIyMDAwMEM1Cis6MTAwNzQwMDAwMDAwMDVCMzEwQzBFMEMwODNDMDgyQzA4NUMwODRDMDczCis6MTAwNzUwMDA4Njc1ODYwMEMwMDAwNUMzMDAwMDA1QzMxMEQwQzAwMDI4Cis6MTAwNzYwMDBDMDAxQzAwMkMwMDNDMDA2QzAwNzkwN0ZBNTAwMDVEMzJBCis6MTAwNzcwMDAwMDAwMDVEMzEwRTAzMEUyMDY3NTBEMDYwMjA2N0Y5MEZBCis6MTAwNzgwMDA3RkE1RTAyMEUxMDAwNUUzMDAwMDA1RTMxMDBDRTUwRDg2Cis6MTAwNzkwMDA2NDAyNjAwNjc1MEQwNzAyMDY3RkFGMERFRjAwMDVGM0RBCis6MTAwN0EwMDAwMDAwMDVGMzEwMjRGRTYwNDgxNDYwMkMyNEZFNjA3N0RFCis6MTAwN0IwMDAyNDA0NjAwMzAyMDAwNjAzMDAwMDA2MDMxMDA2N0ZBQjVBCis6MTAwN0MwMDAwOUFBMEFBOTBCQUYwQzA1MEM4RjgyNzU4MzAwMDYxM0NBCis6MTAwN0QwMDAwMDAwMDYxMzEwMDAxMjA3ODU5MDdGQTZGMEU1MEM2NTU3Cis6MTAwN0UwMDAwODcwNUU3NTBEMDAwNjIzMDAwMDA2MjMxMDA1ODA1OTcxCis6MTAwN0YwMDA5MDdGQTZFMEFCMDlBQTBBQTkwQkFFMEM4RTAwMDYzM0M3Cis6MTAwODAwMDAwMDAwMDYzMzEwODI3NTgzMDAxMjA3QjI3NTBEMDI4MDU2Cis6MTAwODEwMDA0MEU1MDgyNEZFMDAwNjQzMDAwMDA2NDMxMEI1MEMwNzFGCis6MTAwODIwMDA5MDdGQTVFMDQ0MjBGMEU1MDgxNEI1MEMwQTAwMDY1M0JCCis6MTAwODMwMDAwMDAwMDY1MzEwOTA3RkE1RTA0NDQwRjBFNEY1MEQ5MEQxCis6MTAwODQwMDA3RkE2RTBBQjA5MDAwNjYzMDAwMDA2NjMxMEFBMEFBOUIwCis6MTAwODUwMDAwQkFFMEM4RTgyNzU4MzAwMTIwN0IyMDUwQzAwMDY3Mzc2Cis6MTAwODYwMDAwMDAwMDY3MzEwODAwQTkwN0ZBNUUwNDQ0MEYwRTRGNTk0Cis6MTAwODcwMDAwRDUzOTFERkQwMDAwNjgzMDAwMDA2ODMxMDA3RDAwNkQ5Cis6MTAwODgwMDBEMDAzRDAwMkQwMDFEMDAwRDBEMEQwODZEMDAwMDY5M0MzCis6MTAwODkwMDAwMDAwMDY5MzBBODREMDg1RDA4MkQwODNEMEUwMzIwMDU1Cis6MTAwOEEwMDAwMDAwMDY5RDEwQzIwNEQyMDVFNEY1MjVDMjAzQzIwMDczCis6MTAwOEIwMDBDMjAyQzIwMTEyMDAwNkFEMDAwMDA2QUQxMDBFNzREMkQ1Cis6MTAwOEMwMDBFODQzRDgyMDkwN0ZBQjc0RkZGMDkwN0ZBOTAwMDZCRDZECis6MTAwOEQwMDAwMDAwMDZCRDEwRjA5MDdGQUFGMDUzOTFFRjkwN0Y5NTM1Cis6MTAwOEUwMDBFMDQ0QzBGMDkwMDAwNkNEMDAwMDA2Q0QxMDdGOTM3NDY4Cis6MTAwOEYwMDAzMEYwMTIwQTE5NzUyNDQ4NzUyMzkyNzUyMjAwMDZERDFFCis6MTAwOTAwMDAwMDAwMDZERDEwMDA3NTIxMDBFNEZGRkU3RTA1OTAyMDRBCis6MTAwOTEwMDA2ODc0MDFGMEEzMDAwNkVEMDAwMDA2RUQxMERFRkM3RTE5Cis6MTAwOTIwMDAwMDdGMDU5MDdGQUZFMDQ0MDFGMDkwN0ZBRTAwMDZGREIwCis6MTAwOTMwMDAwMDAwMDZGRDEwRTA0NDBERjBEMkFGMTIwRTY4MzAwMTQ5Cis6MTAwOTQwMDAwQUU0OTAyMDY5MDAwNzBEMDAwMDA3MEQxMEYwMTIwMzYzCis6MTAwOTUwMDA3RUMyMDEzMDA0MUExMjBFNzc1MDEzMTIwOTAwMDcxRENGCis6MTAwOTYwMDAwMDAwMDcxRDEwMDAzMDAwMDc5MDdGRDZFMDMwRTdGMzRECis6MTAwOTcwMDAxMjBEOEIxMjBFMDAwNzJEMDAwMDA3MkQxMDc5QzIwM0Y3Cis6MTAwOTgwMDA3RkZGN0VGRjdERkY3Q0ZGNzgyMTEyMDgxRDAwMDczRDYxCis6MTAwOTkwMDAwMDAwMDczRDEwN0IwMDdBMDA3OTAwNzgwMEMzMTIwODQwCis6MTAwOUEwMDAwQzcwMUI3NTI0MDAwNzREMDAwMDA3NEQxMDQ4NzUyMzdGCis6MTAwOUIwMDA5MkY1MjJGNTIxNjMyNUZGOTAyMDY4RTUyNTAwMDc1RDZCCis6MTAwOUMwMDAwMDAwMDc1RDBFRjBBMzc0MDFGMEEzRjBBM0YwMTIwODdECis6MTAwOUQwMDBGRjgwOUIwMDAwMDAwNzZCMDEyMjAwMDAwMDAwMDc2Q0Y1Cis6MTAwOUUwMDAxMEJCMDEwNjg5ODI4QTgzRTAyMjUwMDJFNzIyQkJGRTA3Cis6MTAwOUYwMDAwMjAwMDc3QzAwMDAwNzdDMDlFMzIyODk4MjhBODNFNEU1Cis6MTAwQTAwMDA5MzIyMDAwMDAwMDAwNzg1MTBCQjAxMENFNTgyMjlGNTQ4Cis6MTAwQTEwMDA4MkU1ODMzQUY1ODNFMDIyNTAwMDA3OTUwMDAwMDc5NUIwCis6MTAwQTIwMDAxMDA2RTkyNTgyRjhFNjIyQkJGRTA2RTkyNTgyRjhFMkY3Cis6MTAwQTMwMDAyMjAwMDdBNTAwMDAwN0E1MERFNTgyMjlGNTgyRTU4M0MwCis6MTAwQTQwMDAzQUY1ODNFNDkzMjIwMDAwMDAwMDA3QjIxMEY4QkIwMURFCis6MTAwQTUwMDAwREU1ODIyOUY1ODJFNTgzM0FGNTgzRThGMDAwMDdDMkM3Cis6MTAwQTYwMDAwMDAwMDdDMjEwMjI1MDA2RTkyNTgyQzhGNjIyQkJGRTBDCis6MTAwQTcwMDAwNUU5MjU4MkM4MDAwN0QyMDAwMDA3RDIwMkYyMjIwMDUxCis6MTAwQTgwMDAwMDAwMDdENDEwQkIwMTEwRTU4MjI5RjU4MkU1ODMzQTA2Cis6MTAwQTkwMDBGNTgzRTBGNUYwMDAwN0U0MDAwMDA3RTQxMEEzRTAyMjhFCis6MTAwQUEwMDA1MDA5RTkyNTgyRjg4NkYwMDhFNjIyQkJGRTAwMDdGNDJCCis6MTAwQUIwMDAwMDAwMDdGNDEwMEFFOTI1ODJGOEUyRjVGMDA4RTIyMkM2Cis6MTAwQUMwMDBFNTgzMkFGNTgzMDAwODA0MDAwMDA4MDQwOEU5OTNGNThCCis6MTAwQUQwMDBGMEEzRTk5MzIyMDAwMDAwMDAwMDA4MEMxMEVCOUZGNTQyCis6MTAwQUUwMDBGMEVBOUU0MkYwRTk5RDQyRjBFODlDNDVGMDAwMDgxQ0M3Cis6MTAwQUYwMDAwMDAwMDgxQzAxMjIwMDAwMDAwMDA4MUQxMDA4MDgwODYyCis6MTAwQjAwMDBFNjJGRkZGNjE4RTYzRUZFRjYxOEU2M0RGRDAwMDgyRDNFCis6MTAwQjEwMDAwMDAwMDgyRDA3RjYxOEU2M0NGQ0Y2MjIwMDAwMDgzNDE5Cis6MTAwQjIwMDAwNDhDMzQ4RDM1MDAwMDAwMDAwMDA4MzgxMDkwN0Y5NTRCCis6MTAwQjMwMDBFMDQ0QzBGMEU0RjUzNkY1MzdDM0U1Mzc5NTAwMDg0OEUyCis6MTAwQjQwMDAwMDAwMDg0ODEwMzVFNTM2OTUzNDUwNjlFRjI1MzdGNTMzCis6MTAwQjUwMDA4MkU1MzYzRUY1MDAwODU4MDAwMDA4NTgxMDgzNzRGRkZGCis6MTAwQjYwMDBGMEY0NjAwMkMzMjJFRjI1MzdGNTgyRTUzNjAwMDg2ODBECis6MTAwQjcwMDAwMDAwMDg2ODEwM0VGNTgzRTRGMDYwMDJDMzIyRUYyNTEwCis6MTAwQjgwMDAzN0Y1ODJFNTM2MDAwODc4MDAwMDA4NzgxMDNFRjU4M0Q2Cis6MTAwQjkwMDA3NEFBRjA2NEFBNjAwMkMzMjJFRjI1MzdGNTAwMDg4ODIyCis6MTAwQkEwMDAwMDAwMDg4ODEwODJFNTM2M0VGNTgzNzQ1NUYwNjQ1NUUwCis6MTAwQkIwMDA2MDAyQzMyMkFEMDAwODk4MDAwMDA4OTgxMDM3RTUzNzlFCis6MTAwQkMwMDAyRkY1ODJFNTM2M0VGNTgzRURGMEZDQUMwNTAwMDhBODc0Cis6MTAwQkQwMDAwMDAwMDhBODEwRUQ2QzYwMDJDMzIyMDUzN0U1Mzc3MEVECis6MTAwQkUwMDAwMjA1MzY4MDhDMDAwOEI4MDAwMDA4QjgxMEU0RjUzNjFECis6MTAwQkYwMDBGNTM3QzNFNTM3OTUzNUU1MzY5NTM0NTAyNzAwMDhDOEY1Cis6MTAwQzAwMDAwMDAwMDhDODEwRUYyNTM3RjU4MkU1MzYzRUY1ODNFMDkxCis6MTAwQzEwMDA2NTM3NjAwMkMzMDAwOEQ4MDAwMDA4RDgxMDIyRUYyNTBECis6MTAwQzIwMDAzN0Y1ODJFNTM2M0VGNTgzRTRGMDA1MzdFNTAwMDhFODYwCis6MTAwQzMwMDAwMDAwMDhFODA4Mzc3MDAyMDUzNjgwQ0VEMzAwMDAwMEI3Cis6MTAwQzQwMDAwMDAwMDhGMDAxMjIwMDAwMDAwMDA4RjEwRTkwN0YwMDczCis6MTAwQzUwMDBFNTEwRjA5MDdGQjU3NDAxRjBEMzIyMDAwMDAwMDhGRjhBCis6MTAwQzYwMDAwMTIyMDAwMDAwMDAwOTAwMDk5MDdGRDZFMDQ0ODBGMEQ2Cis6MTAwQzcwMDA4MDc0MDAwMDAwMDAwOTdEMTA0Mzg3MDEwMDAwMDAwMDFGCis6MTAwQzgwMDAwMDAwMDAwMDAwMDAwMDAwMjIwMDA5OEQwMDAwMDk4RDE2Cis6MTAwQzkwMDAwQzc4N0ZFNEY2RDhGRDc1ODEzQTAyMDlENDAwMDAwMDkzCis6MTAwQ0EwMDAwMDAwMDk5OTEwMDIwNjlERTQ5M0EzRjhFNDkzQTM0MDgxCis6MTAwQ0IwMDAwM0Y2ODAwMUYyMDAwOUE5MDAwMDA5QTkxMDA4REZGNDc5Cis6MTAwQ0MwMDA4MDI5RTQ5M0EzRjg1NDA3MjQwQ0M4QzMzMzAwMDlCOTVFCis6MTAwQ0QwMDAwMDAwMDlCOTEwQzQ1NDBGNDQyMEM4ODM0MDA0RjQ1NkRFCis6MTAwQ0UwMDA4MDAxNDZGNkRGMDAwOUM5MDAwMDA5QzkxMEU0ODAwQjQ1Cis6MTAwQ0YwMDAwMTAyMDQwODEwMjA0MDgwOTAwRTJERTQ3RTAwMDlEOUU2Cis6MTAwRDAwMDAwMDAwMDlEOTEwMDE5MzYwQkNBM0ZGNTQzRjMwRTUwOUVFCis6MTAwRDEwMDA1NDFGRkVFNDkzMDAwOUU5MDAwMDA5RTkxMEEzNjAwMUYzCis6MTAwRDIwMDAwRUNGNTRDMDI1RTA2MEE4NDBCOEU0OTNBMzAwMDlGOUIxCis6MTAwRDMwMDAwMDAwMDlGOTEwRkFFNDkzQTNGOEU0OTNBM0M4QzU4MjZDCis6MTAwRDQwMDBDOENBQzU4M0NBMDAwQTA5MDAwMDBBMDkxMEYwQTNDODZFCis6MTAwRDUwMDBDNTgyQzhDQUM1ODNDQURGRTlERUU3ODBCRTAwMEExOUJBCis6MTAwRDYwMDAwMDAwMEExOTEwRTQ5MDdGOUNGMDdGMEFGRTEyMERENTU2Cis6MTAwRDcwMDA5MDdGOTY3NDg5MDAwQTI5MDAwMDBBMjkxMEYwOTA3RjVDCis6MTAwRDgwMDA5Qzc0Q0ZGMDdGRjQ3RTAxMTIwREQ1OTA3RjAwMEEzOTVDCis6MTAwRDkwMDAwMDAwMEEzOTEwOTZFMDU0RkVGMDdGMEE3RTAwMTIwRDIyCis6MTAwREEwMDBENTdGMDU3RTAwMDAwQTQ5MDAwMDBBNDkxMDEyMERENUMyCis6MTAwREIwMDA5MDdGOTZFMDQ0MDJGMEUwNTQ3RkYwN0YwNTAwMEE1OUVFCis6MTAwREMwMDAwMDAwMEE1OTEwN0UwMDEyMERENTkwN0Y5NkUwNDQ0MDM1Cis6MTAwREQwMDBGMDdGMDU3RTAwMDAwQTY5MDAwMDBBNjkxMDEyMERENTM3Cis6MTAwREUwMDA5MDdGOTZFMDU0QkZGMDdGMzI3RTAwMTIwRDAwMEE3OUFBCis6MTAwREYwMDAwMDAwMEE3OTEwRDU5MDdGOTZFMDQ0NDBGMDdGMzI3RTYzCis6MTAwRTAwMDAwMDEyMERENTIyMDAwQTg5MDAwMDBBODkxMDc1MzMwMUVECis6MTAwRTEwMDBFNTMzNjAxQjdGMDExMjBFMTg3RjAwN0UwRTAwMEE5OUQ5Cis6MTAwRTIwMDAwMDAwMEE5OTEwN0QwMDdDMDExMjA4MzRFNDMzRjUzMzg4Cis6MTAwRTMwMDA3MDA1N0YwRjEyMDAwQUE5MDAwMDBBQTkxMDBFMThFNTFDCis6MTAwRTQwMDAzMzYwMUI3RjAyMTIwRTE4N0YwMDdFODA3RDAwMEFCOTdFCis6MTAwRTUwMDAwMDAwMEFCOTEwMDA3QzgwMTIwODM0RTQzM0Y1MzM3MEM2Cis6MTAwRTYwMDAwNTdGMEYxMjBFMDAwQUM5MDAwMDBBQzkxMDE4RTUzM0U5Cis6MTAwRTcwMDA2MDFCN0YwMzEyMEUxODdGMDA3RTIwN0Q0MDAwMEFEOTgwCis6MTAwRTgwMDAwMDAwMEFEOTEwN0M1QjEyMDgzNEU0MzNGNTMzNzAwNTk2Cis6MTAwRTkwMDA3RjBGMTIwRTE4MDAwQUU5MDAwMDBBRTkwREU1MzM2MDIxCis6MTAwRUEwMDAwNUU0RkYxMjBFMThFNTMzMjRGRjAwMDAwMDAwMEFGNkU3Cis6MTAwRUIwMDAwMTIyMDAwMDAwMDAwQUY3MDg5MDdGRUFFMEY1MTBEMzU1Cis6MTAwRUMwMDAyMjAwMDAwMDAwMDAwQUZGMDEzMjAwMDAwMDAwMEIwMEI5Cis6MTAwRUQwMDAxMDAyMERBNTAwMDIwREVDMDAwMjBENzAwMDAyMERCRDA4Cis6MTAwRUUwMDAwMDAwMEIxMDAwMDAwQjEwMTAwMjBFMDIwMDAyMEFGRjlGCis6MTAwRUYwMDAwMDAyMEU4MzAwMDIwRTg0MDAwMDBCMjAwMDAwMEIyMDc1Cis6MTAwRjAwMDAxMDAyMEU4NTAwMDIwRTg2MDAwMjBFODcwMDAyMEU4ODc3Cis6MTAwRjEwMDAwMDAwMEIzMDAwMDAwQjMwMTAwMjBFODkwMDAyMEU4QTE4Cis6MTAwRjIwMDAwMDAyMEU4QjAwMDIwRThDMDAwMDBCNDAwMDAwMEI0MEY0Cis6MTAwRjMwMDAxMDAyMEU4RDAwMDIwRThFMDAwMjBFOEYwMDAyMEU5MDI3Cis6MTAwRjQwMDAwMDAwMEI1MDAwMDAwQjUwMDgwMjBFOTEwMDAyMEU5MkEwCis6MTAwRjUwMDAwMDAwMDAwMDAwMDAwQjU4MTBFNEZFNzUyQkZGNzUyQ0ZDCis6MTAwRjYwMDAxMTc1MkQxMkFCMkJBQTJDQTkwMDBCNjgwMDAwMEI2ODgxCis6MTAwRjcwMDAxMDJEOTAwMDAxMTIwNzg1NjQwMjcwMkRBRDA2MEVFRDU0Cis6MTAwRjgwMDBCNTAwMEI3ODAwMDAwQjc4MTAwNzAxMjI5MDAwMDIxMkM4Cis6MTAwRjkwMDAwN0Q0ODVGMDI5RjUyQTYyMjkwMDBCODgwMDAwMEI4ODA4Cis6MTAwRkEwMDAxMEU1Mjk2MjJBRTUyQTYyMjkyOUZERTUyOTNBQTkwNUUxCis6MTAwRkIwMDA3NTAwMEI5ODAwMDAwQjk4MEUyQkZGRjUyQzg5MkQ4MEU3Cis6MTAwRkMwMDBDMzdCMDA3QTAwNzkwMDAwMDAwMDBCQTYwMTIyMDAwMDFDCis6MTAwRkQwMDAwMDAwMEJBNzA2QUIwN0FBMDZBQzA1MDAwMDAwMEJBRDhFCis6MTAwRkUwMDAxMEU0RkRFNTExNjAxMUVBRkZBRTA1MERFRTI0MTBGNUU5Cis6MTAwRkYwMDA4MjAwMEJCRDAwMDAwQkJEMTBFNDM0MEZGNTgzRUZGMDUxCis6MTAxMDAwMDBFQkFFMDUwRDc0MTAyRUY1ODIwMDBCQ0QwMDAwMEJDRDVDCis6MTAxMDEwMDAxMEU0MzQwRkY1ODNFQkYwQUYwNTBENzQxMDJGRjU4MjVCCis6MTAxMDIwMDBFNDAwMEJERDAwMDAwQkREMTAzNDBGRjU4M0VDRjBBRkI2Cis6MTAxMDMwMDAwRjdBMEY3QjEwMTIwRDUxN0YwMDBCRUQwMDAwMEJFREFFCis6MTAxMDQwMDAwNjBBN0UwMDEyMERENTAwMDAwMDBCRjMwMTIyMDAwMEZECis6MTAxMDUwMDAwMDAwMEJGNDBBOEUzMzhGMzQ4RDM1OEEzNjhCMzcwMEJGCis6MTAxMDYwMDAwMDAwMEJGRTEwRTRGREY1MzhFNTExNjAxMkU1MzNGRkRBCis6MTAxMDcwMDBBRTA1MERFRTI0MDAwQzBFMDAwMDBDMEUxMDEzRjU4MkQwCis6MTAxMDgwMDBFNDM0MEZGNTgzRUZGMEU1MzRBRTA1MEQ3NDAwMEMxRTZCCis6MTAxMDkwMDAwMDAwMEMxRTEwMTMyRUY1ODJFNDM0MEZGNTgzRTUzNEE2Cis6MTAxMEEwMDBGMEFGMEY3QTBGMDAwQzJFMDAwMDBDMkUxMDdCMTMxMkU1Cis6MTAxMEIwMDAwRDUxQUYwRkFEMzVBQjM3QUEzNjEyMEQzMjAwMEMzRUQ1Cis6MTAxMEMwMDAwMDAwMEMzRTAxMjIwMDAwMDAwMDBDM0YwMjhGMjkwMEFFCis6MTAxMEQwMDAwMDAwMEM0MTEwRTRGNTJBNzUyQkZGNzUyQzExNzUyREJECis6MTAxMEUwMDAzMkFCMkJBQTJDMDAwQzUxMDAwMDBDNTExMEE5MkQ5MEYyCis6MTAxMEYwMDAwMDAxMTIwNzg1QjQwMzFEQUYyQTA1MkFFRjAwMEM2MTE5Cis6MTAxMTAwMDAwMDAwMEM2MTEwQjUyOTAxMjIxMjA3NkM3RTAwMjlGRjM2Cis6MTAxMTEwMDBFRTNBQTkwNzc1MDAwQzcxMDAwMDBDNzEwRTJCRkZGNTVCCis6MTAxMTIwMDAyQzg5MkQ4MEQ0N0IwMDdBMDA3OTAwMDAwMDAwMEM3RjkwCis6MTAxMTMwMDAwMTIyMDAwMDAwMDAwQzgwMEE4RTMzOEYzNDhEMzU4QTI2Cis6MTAxMTQwMDAzNjhCMzcwMDAwMDAwQzhBMTBFNEY1MzhFNTM4QzM5NTdCCis6MTAxMTUwMDAzNTUwMjAwNTM0RTUzNEFFMzMwMDBDOUEwMDAwMEM5QTZCCis6MTAxMTYwMDAxMDcwMDIwNTMzMTRGRkU1MzcyNTM4RjU4MkU0MzUzNjczCis6MTAxMTcwMDBGNTAwMENBQTAwMDAwQ0FBMEE4M0UwRkQxMjBCQTcwNURCCis6MTAxMTgwMDAzODgwRDkwMDAwMDAwQ0I0MDEyMjAwMDAwMDAwMENCNTJBCis6MTAxMTkwMDAxMEE5MDdFNTBENzAyNTkwN0ZBNUUwNDQ4MEYwRTkyNUIyCis6MTAxMUEwMDBFMDAwMENDNTAwMDAwQ0M1MTA0NDAxOTA3RkE2RjA4RDM2Cis6MTAxMUIwMDAwOEFGMDNBOTA3NzUwOTAxOEEwMDBDRDUwMDAwMENENUZBCis6MTAxMUMwMDAwRDBBODkwQkU0RjUwQzc1MEQwM0QzMjJDMzIyMDAwMDMwCis6MTAxMUQwMDAwMDAwMENFMjEwQTkwN0U1MEQ3MDIzOTA3RkE1RTA0NDA0Cis6MTAxMUUwMDA4MEYwRTkyNUUwMDAwQ0YyMDAwMDBDRjIxMDkwN0ZBNkUwCis6MTAxMUYwMDBGMDhEMDhBRjAzQTkwNzc1MDkwMThBMEE4OTAwMEQwMjVECis6MTAxMjAwMDAwMDAwMEQwMjBCMEJFNEY1MEM3NTBEMDFEMzIyQzMyMjc3Cis6MTAxMjEwMDAwMDAwMEQwRDEwOTA3RkQ2RTA1NEZCRjBFMDQ0MDhGMDg0Cis6MTAxMjIwMDAzMDA2MDRFMDQ0MDAwRDFEMDAwMDBEMUQxMDAyRjA3RjhCCis6MTAxMjMwMDBEMDdFMDcxMjBERDU5MDdGRDZFMDU0RjdGMDAwMEQyRDJCCis6MTAxMjQwMDAwMDAwMEQyRDA1RTA0NDA0RjAyMjAwMDAwMDAwMEQzMkU2Cis6MTAxMjUwMDAxMDEyMENCNUU1MEQyNEZBNjAxMDE0NjAwNzI0MDc3MDE1Cis6MTAxMjYwMDBGMzAwMEQ0MjAwMDAwRDQyMEY3RjA4MjJFNEY1MEQ3RkQwCis6MTAxMjcwMDAwNzIyRTRGNTBEN0YwNjIyMDAwMDBENTExMDEyMENFMjRBCis6MTAxMjgwMDBFNTBEMjRGQTYwMTAxNDYwMDcyNDA3NzBGMzAwMEQ2MTY3Cis6MTAxMjkwMDAwMDAwMEQ2MTBGN0YwODIyRTRGNTBEN0YwNzIyRTRGNUMxCis6MTAxMkEwMDAwRDdGMDYyMjAwMDAwRDcwMTBDMEUwQzA4M0MwODI5MDQ4Cis6MTAxMkIwMDA3RkM0RTRGMDUzOTFFRjkwN0YwMDBEODAwMDAwMEQ4MDFCCis6MTAxMkMwMDAwQkFCNzQwNEYwRDA4MkQwODNEMEUwMzIwMDAwMEQ4QkUxCis6MTAxMkQwMDAxMDkwN0ZENkUwMzBFNzEyRTA0NDAxRjA3RjE0N0UwMEVBCis6MTAxMkUwMDAxMjAwMEQ5QjAwMDAwRDlCMEEwREQ1OTA3RkQ2RTA1NDk3Cis6MTAxMkYwMDBGRUYwMjIwMDAwMDAwREE1MTBDMEUwQzA4M0MwODJEMjI1Cis6MTAxMzAwMDAwMTUzOTFFRjkwN0ZBQjc0MDEwMDBEQjUwMDAwMERCNTU2Cis6MTAxMzEwMDAwOEYwRDA4MkQwODNEMEUwMzIwMDAwMDAwMDAwMERCRDg0Cis6MTAxMzIwMDAxMEMwRTBDMDgzQzA4MkQyMDM1MzkxRUY5MDdGQUI3NEIyCis6MTAxMzMwMDAwODAwMERDRDAwMDAwRENEMDhGMEQwODJEMDgzRDBFMEE0Cis6MTAxMzQwMDAzMjAwMDAwMDAwMDAwREQ1MTA4RTM5OEYzQUU1M0ExNUI1Cis6MTAxMzUwMDAzQUFFMzk3MDAyMTUzOTRFNjAwMDBERTUwMDAwMERFNTFBCis6MTAxMzYwMDAwNzA1MTIwRTQxODBFRTIyMDAwMDBERUMxMEMwRTBDMDE3Cis6MTAxMzcwMDA4M0MwODI1MzkxRUY5MDdGQUI3NDAyRjBEMDAwMERGQ0RDCis6MTAxMzgwMDAwMDAwMERGQzA2ODJEMDgzRDBFMDMyMDAwMDAwMEUwMjg3Cis6MTAxMzkwMDAxMEMwRTBDMDgzQzA4MjUzOTFFRjkwN0ZBQjc0MTBGMDE3Cis6MTAxM0EwMDBEMDAwMEUxMjAwMDAwRTEyMDY4MkQwODNEMEUwMzIwMDcwCis6MTAxM0IwMDAwMDAwMEUxODEwQUUwNzdGMjE3RDAxNzQwMDJFRjU4MjBCCis6MTAxM0MwMDBFNDM0MEZBQjgyMDAwRTI4MDAwMDBFMjgwNUZBMTIwRDNGCis6MTAxM0QwMDA1MTIyMDAwMDAwMDAwRTJEMTA1MDBGMDBDMEY5QTRCMEUzCis6MTAxM0UwMDA5OTkyODJGODgwOTg4ODgzQzYwMDBFM0QwMDAwMEUzREQ5Cis6MTAxM0YwMDAwM0ExODY4RTAwMDAwRTQwMDEwMDAwMDAwMDAwMEU0MTk3Cis6MTAxNDAwMDAxMDc0MDBGNTg2OTBGREE1N0MwNUEzRTU4MjQ1ODM3MEU4Cis6MTAxNDEwMDBGOTAwMEU1MTAwMDAwRTUxMDEyMjAwMDAwMDAwMEU1MjkyCis6MTAxNDIwMDAwRTkwN0YwMEU1MEVGMDkwN0ZCNTc0MDFGMEQzMjIwMDlFCis6MTAxNDMwMDAwMDAwMEU2MDA4OTA3RkVBRTBGNTBFRDMyMjAwMDAwMDY1Cis6MTAxNDQwMDAwMDAwMEU2ODA4RTRGNTBERDJFOUQyQUYyMjAwMDAwMERBCis6MTAxNDUwMDAwMDAwMEU3MDA0NTNEOEVGMzIwMDAwMDAwMDAwMEU3NDNDCis6MTAxNDYwMDAwM0QyMDAyMjAwMDAwRTc3MDJEMzIyMDAwMDAwMEU3OTgyCis6MTAxNDcwMDAwMkQzMjIwMDAwMDAwRTdCMDJEMzIyMDAwMDAwMEU3RDZBCis6MTAxNDgwMDAwMkQzMjIwMDAwMDAwRTdGMDJEMzIyMDAwMDAwMEU4MTUyCis6MTAxNDkwMDAwMkQzMjIwMDAwMDAwRTgzMDEzMjAwMDAwMDAwMEU4NEZGCis6MTAxNEEwMDAwMTMyMDAwMDAwMDAwRTg1MDEzMjAwMDAwMDAwMEU4NkFGCis6MTAxNEIwMDAwMTMyMDAwMDAwMDAwRTg3MDEzMjAwMDAwMDAwMEU4ODlCCis6MTAxNEMwMDAwMTMyMDAwMDAwMDAwRTg5MDEzMjAwMDAwMDAwMEU4QTg3Cis6MTAxNEQwMDAwMTMyMDAwMDAwMDAwRThCMDEzMjAwMDAwMDAwMEU4QzczCis6MTAxNEUwMDAwMTMyMDAwMDAwMDAwRThEMDEzMjAwMDAwMDAwMEU4RTVGCis6MTAxNEYwMDAwMTMyMDAwMDAwMDAwRThGMDEzMjAwMDAwMDAwMEU5MDRCCis6MTAxNTAwMDAwMTMyMDAwMDAwMDAwRTkxMDEzMjAwMDAwMDAwMEU5MjM2Cis6MTAxNTEwMDAwMTMyMDAwMDAwMDAxMTAwMTAxMjAxMDAwMTAwMDAwMDYzCis6MTAxNTIwMDA0MDQ3MDUxMDI3MDEwMDAxMDIwMDExMTAwMDAwMTExMEIyCis6MTAxNTMwMDAxMDAwMDEwOTAyMjAwMDAxMDEwM0EwMDAwOTA0MDAwMEJECis6MTAxNTQwMDAwMjAwMTEyMDAwMDAxMTIwMTBGRjAwMDAwNDA3MDU4Mjk2Cis6MTAxNTUwMDAwMjQwMDAwMDA3MDUwMjAyNDAwMDExMzAwMDAwMTEzMDc3Cis6MTAxNTYwMDAxMDAwMDAwNDAzMDkwNDI2MDM0MTAwNkUwMDYzMDA2OEI0Cis6MTAxNTcwMDAwMDAwMTE0MDAwMDAxMTQwMTA2RjAwNzIwMDIwMDA0Mzc1Cis6MTAxNTgwMDAwMDY4MDA2OTAwNzAwMDczMDAwMDExNTAwMDAwMTE1MEU1Cis6MTAxNTkwMDAxMDJDMDAyMDAwNDkwMDZFMDA2MzAwMkUwMDI4MDM0NjM2Cis6MTAxNUEwMDAwMDAwMTE2MDAwMDAxMTYwMTA2OTAwNzIwMDZEMDA3NzhBCis6MTAxNUIwMDAwMDYxMDA3MjAwNjUwMDIwMDAwMDExNzAwMDAwMTE3MEQxCis6MTAxNUMwMDAxMDQ2MDA3MjAwNjEwMDZEMDA2NTAwNTcwMDZGMDA3MkU4Cis6MTAxNUQwMDAwMDAwMTE4MDAwMDAxMTgwMTA2QjAwNzMwMDJBMDM0MzhCCis6MTAxNUUwMDAwMDZGMDA2RTAwNjYwMDY5MDAwMDExOTAwMDAwMTE5MDBECis6MTAxNUYwMDAxMDY3MDA3NTAwNzIwMDYxMDA3NDAwNjkwMDZGMDA2RTcyCis6MTAxNjAwMDAwMDAwMTFBMDAwMDAxMUEwMTAyMDAwNTMwMDc0MDA3MjBGCis6MTAxNjEwMDAwMDY5MDA2RTAwNjcwMDIyMDMwMDExQjAwMDAwMTFCMEU1Cis6MTAxNjIwMDAxMDQ5MDA2RTAwNzQwMDY1MDA3MjAwNjYwMDYxMDA2MzdFCis6MTAxNjMwMDAwMDAwMTFDMDAwMDAxMUMwMTA2NTAwMjAwMDUzMDA3NEFDCis6MTAxNjQwMDAwMDcyMDA2OTAwNkUwMDY3MDAwMDExRDAwMDAwMTFEMDI4Cis6MDkxNjUwMDAwMjAwMDAwMDAwMDAwMDAwMDA4RgorOjAwMDAwMDAxRkYKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqICAgICAgd2hpdGVoZWF0LmggIC0tICBDb25uZWN0VGVjaCBXaGl0ZUhFQVQgRmlybXdhcmUuCisgKgorICogICAgICBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiAgQ29ubmVjdFRlY2ggSW5jIChodHRwOi8vd3d3LmNvbm5lY3R0ZWNoLmNvbS8pCisgKgorICogICAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgICAgIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgorICoKKyAqICgxMC8wOS8yMDAyKSBTdHVhcnQgTWFjRG9uYWxkCisgKglGaXJtd2FyZSA0LjA2CisgKgorICogKDA0LzA5LzIwMDApIGdraAorICoJVXBkYXRlZCB0aGUgZmlybXdhcmUgd2l0aCB0aGUgbGF0ZXN0IHByb3ZpZGVkIGJ5IENvbm5lY3RUZWNoLgorICoKKyAqICgwMS8xNi8yMDAwKSBna2gKKyAqCUZpeGVkIG15IGludGVsIGhleCBwcm9jZXNzaW5nIHRvb2wsIHNvIG5vdyB0aGUgZmlybXdhcmUgYWN0dWFsbHkKKyAqCW1hdGNoZXMgdGhlIG9yaWdpbmFsIGZpbGUgKHRoaXMgd2FzIGNhdXNpbmcgYSBmZXcgcHJvYmxlbXMuLi4pCisgKgorICogKDAxLzE1LzIwMDApIGdraAorICoJQWRkZWQgZGVidWcgbG9hZGVyIGZpcm13YXJlIGlmIERFQlVHIGlzICNkZWZpbmVkOgorICoJCVBvcnQgMSBMRUQgZmxhc2hlcyB3aGVuIHRoZSB2ZW5kX2F4IHByb2dyYW0gaXMgcnVubmluZworICoJCVBvcnQgMiBMRUQgZmxhc2hlcyB3aGVuIGFueSBTRVRVUCBjb21tYW5kIGFycml2ZXMKKyAqCQlQb3J0IDMgTEVEIGZsYXNoZXMgd2hlbiBhbnkgdmFsaWQgVkVORE9SIHJlcXVlc3Qgb2NjdXJzCisgKgkJUG9ydCA0IExFRCBmbGFzaGVzIHdoZW4gdGhlIEVYVEVSTkFMIFJBTSBET1dOTE9BRCByZXF1ZXN0IG9jY3VycworICoKKyAqIHZlcnNpb24gMS4wICgwMS8wOS8yMDAwKSBna2gKKyAqCU9yaWdpbmFsIGZpcm13YXJlIGZyb20gQ29ubmVjdFRlY2ggbWFzc2FnZWQgYSBsaXR0bGUgdG8gYmUgcHJvZ3JhbQorICoJcmVhZGFibGUuCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIHdoaXRlaGVhdF9EQVRFICIyMDAwMDEwNiIKZGlmZiAtLWdpdCBhL2Zpcm13YXJlL3lhbWFoYS9kczFfY3RybC5mdy5paGV4IGIvZmlybXdhcmUveWFtYWhhL2RzMV9jdHJsLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE5YjFkNwotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3lhbWFoYS9kczFfY3RybC5mdy5paGV4CkBAIC0wLDAgKzEsNzY5IEBACis6MTAwMDAwMDAwNzAwMDAwMDA3MDAyNDAwMDcwMDBDMDAwNzAwMUMwMDg4Cis6MTAwMDEwMDAwNzAwMDYwMDAyMDA3MDAwMjAwMDAwMDA0MDAwMDMwMEZFCis6MTAwMDIwMDAwNDcxMDAwMDg2NDIwMDAwNDAwMDAzMDAwRDBGMDAwMDM0Cis6MTAwMDMwMDAxMDA4MDAwMDNBMDQyMDAwODIwMjAwMDAwRDAyMDAwMEI3Cis6MTAwMDQwMDAxMDA4MDAwMDNBMDQyMDAwODIxMjAwMDA4MjBFMjAwMEY2Cis6MTAwMDUwMDA4MjFBMDAwMDBEMkQwMzAwMTAwODAwMDAzQTA0MTAwMDYxCis6MTAwMDYwMDA4REQzMDIwMDEwMDgwMDAwM0EwNDE4MDAwRDAxMDAwMEIyCis6MTAwMDcwMDAxNTAwMDIwMEZEMDAwMDAwMjAwMDAwMDA2MDg4MDMwMDYxCis6MTAwMDgwMDA2MDkwMDMwMDYwODAwMzAwNDA4MDAzMDA0MDgwMDMwMDE0Cis6MTAwMDkwMDA0MDgwMDMwMDQwODAwMTAwN0QwQTAwMDA0MDgwMDMwMDkyCis6MTAwMEEwMDA0MDgwMDMwMDQwODAwMTAwMDIwNDIwMDA4MjA4MDAwMDFDCis6MTAwMEIwMDAxQTAwMDgwMDA0MDkwMDAwODY1OTAxMDAwNzAwMDAwMDJBCis6MTAwMEMwMDAwNzAwMjYwMDA3MDAwMDAwMDcwMDAwMDAwNjhBMDEwMDY0Cis6MTAwMEQwMDAwNzAwMDAwMDhEMEMwMzAwMTAwODAwMDAzQTA0MTgwMDBGCis6MTAwMEUwMDAwNzAwMjYwMDdEMDgwMDAwNDI4MDAxMDAwQTE2MDAwMDdCCis6MTAwMEYwMDAwNkEyMDQwMDA3MDAwMDAwOEQyMTAwMDAxMDA4MDAwMDg3Cis6MTAwMTAwMDAzQTA0MDgwMDA2QzIyMTAwMDcwMDAwMDBGRDA3MDAwMEI1Cis6MTAwMTEwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjkzMDIwMEUyCis6MTAwMTIwMDA5NTAxMDAwMDA0MEQwOTAwMDcwMDAwMDAyMDA4MDAwMEYwCis6MTAwMTMwMDBGNTAwMDAwMDdEMEIwMDAwNjBGMDAxMDBGRDAwMDAwMEY0Cis6MTAwMTQwMDAwNjIyMDMwMDQwODAwMTAwN0QwQTAwMDA0MjgwMDMwMDc3Cis6MTAwMTUwMDA0QTgwMTMwMDBBMDAxODAwMjAxODAwMDA2MDkwMDUwMDczCis6MTAwMTYwMDA2MDg4MDUwMDQwODAwMTAwRkQwMDAwMDA0MjgwMDEwMDIxCis6MTAwMTcwMDAwQTAwNzAwMDE1MDEwMDAwNDQxMTA3MDA4NjIzMDMwMEU3Cis6MTAwMTgwMDAwMDAwMDMwMDIwNzAwMDAwMDY0QTAzMDA0MDgwMDEwMEM4Cis6MTAwMTkwMDA4RDM0MDAwMDEwMDgwMDAwM0EwNDA4MDAwNkVBMjEwMDJGCis6MTAwMUEwMDAwNzAwMDAwMDhERDMwMjAwMTAwODAwMDAzQTA0MTgwMDc4Cis6MTAwMUIwMDAwNjgyMDEwMDA3MDAwMDAwMDcwMDI0MDA4RDBGMDAwMEU4Cis6MTAwMUMwMDAxMDA4MDAwMDNBMTYwMDAwMDIyNDAwMDAwMjVDMDAwMDQzCis6MTAwMUQwMDBGRDI4MDAwMDIwMDAwMDAwNDA4MDAxMDAwRDAwMDgwMDA0Cis6MTAwMUUwMDAxNTA4MDAwMDg0MDk1MTAwMDcwMDAwMDA0RDAwMDAwMEMwCis6MTAwMUYwMDA1RDBFMDAwMDAyMEUwMDAwOEQ0MTAwMDAxMDA4MDAwMDlFCis6MTAwMjAwMDAzQTA0MDgwMDA2OEEyQzAwMDcwMDAwMDA4RDAwMDAwMDU4Cis6MTAwMjEwMDAyNDA5MDAwMDAyMEYwMDAwOEQ0NTAwMDAxMDA4MDAwMEI2Cis6MTAwMjIwMDAzQTA0MDgwMDA2OEEyQzAwMDcwMDAwMDA3RDM4MDAwMDEwCis6MTAwMjMwMDA0MjgwMDEwMDBBMDAwODAwMTUxMDAwMDA4NDA5MDEwMDM2Cis6MTAwMjQwMDA4NjgzMDEwMDA3MDAwMDAwMDZBQTAxMDAwNzAwMDAwMEU1Cis6MTAwMjUwMDBGRDA4MDAwMDQyODAwMTAwMEEwMDE4MDAwNDE5MDAwMDk3Cis6MTAwMjYwMDA4NjgwMjEwMDA3MDAyODAwMTAxODAwMDAzQTA0MjgwMEFBCis6MTAwMjcwMDAwMjBDMjgwMDBEMDAwMDAwMTAwODAwMDAzQTE0MjgwMEFECis6MTAwMjgwMDA4RDgwMDgwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDcxCis6MTAwMjkwMDAwNzAwMjAwMDBEMDIwMDAwMDQ5OTE4MDAwNzAwMDAwMDZDCis6MTAwMkEwMDAyRDQwMDAwMEJEMDAwMDAwRkQwMjAwMDA0MjgwMDEwMDYyCis6MTAwMkIwMDAwQTAwMDgwMDA0MDkwMDAwODY1QTA1MDAwNzAwMDAwMDMzCis6MTAwMkMwMDAwMDAxMDAwMDIwMEEwMDAwN0QwNDAwMDA0MDgwMDEwMEMxCis6MTAwMkQwMDA0MjgwMDEwMDBBMDAyMDAwMTUzMDAwMDA0NDIxMDEwMDg2Cis6MTAwMkUwMDA4NjQ5MDMwMDA3MDAwMDAwMDQyMTAwMDA4NjQ5MDMwMDNFCis6MTAwMkYwMDAwNzAwMDAwMDhEMEYwMDAwMTAwODAwMDAzQTBDMjgwMEQ1Cis6MTAwMzAwMDA0NDM5MDIwMDg2QzkwNjAwMDcwMDAwMDAxMDE4MDAwMEVBCis6MTAwMzEwMDAzQTA0MjgwMDBEODEwODAwMjAwODAwMDBGRDAyMDAwMEJBCis6MTAwMzIwMDA0MDgwMDEwMDA3MDAyMDAwMTAyODAwMDAzQTAwNzgwMEZCCis6MTAwMzMwMDA4RDY4MDAwMDEwMDgwMDAwM0EwNDA4MDAwNjhBMjgwMEIyCis6MTAwMzQwMDAwNzAwMDAwMDBENDAwMDAwMTUxMDAwMDAwNDk5MTgwMDdGCis6MTAwMzUwMDAwNDI5MjkwMDA0MzkzOTAwMDcwMDAwMDAwNjAyMDYwMEJDCis6MTAwMzYwMDAwNzAwMDAwMEY1MDQwMDAwN0QwMDAwMDAyMDAwMDAwMEYwCis6MTAwMzcwMDA4RDAwMDAwMDYwMDgwMTAwNDA4MDAxMDA3RDA0MDAwMDQ1Cis6MTAwMzgwMDA0MjgwMDMwMDRBODAyMTAwMEEwMDE4MDA0NDE5MDIwMDNDCis6MTAwMzkwMDA4NjU4MjEwMDA3MDAwMDAwNzU0MDAwMDAwNEYxNzEwMDNDCis6MTAwM0EwMDAwNzAwMDAwMDQyMDAwMTAwMEEwMDI4MDAwNDI5MDAwMEE0Cis6MTAwM0IwMDA4NjIwMjEwMDA3MDAwMDAwMEQzQzAwMDAwNEE5MzAwMDQ5Cis6MTAwM0MwMDAwNzAwMDAwMDdEMDcwMDAwNDI4MDAxMDAwQTAwMDgwMENECis6MTAwM0QwMDAwNDA5MDAwMDg2REEwNzAwN0QwNTAwMDAyMDI4MDAwMERGCis6MTAwM0UwMDA2MEIwMDMwMDA2RjIwNzAwNDA4MDAxMDAyMDMwMDAwMEVBCis6MTAwM0YwMDA2MEE4MDMwMDQwODAwMTAwRkQwMjAwMDA0MjgwMDEwMDZGCis6MTAwNDAwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTA3MDAwNzAwMDAwMDNGCis6MTAwNDEwMDA3RDA1MDAwMDQyODAwMTAwMEEwNDI4MDA4RDBFMDAwMEM2Cis6MTAwNDIwMDAxMDA4MDAwMDNBMEMyODAwMEQwMDAwMDAxMDA4MDAwMDIxCis6MTAwNDMwMDAzQTE0MjgwMDBEMDAwOTAwMjAwODAwMDBGRDAyMDAwMDA5Cis6MTAwNDQwMDA0MDgwMDEwMDA3MDAyMDAwRkQzRDAwMDAyMDAwMDAwMDZBCis6MTAwNDUwMDA0MDgwMDEwMDdEMTAwMDAwOEQ4RDAwMDAxMDA4MDAwMDFDCis6MTAwNDYwMDAzQTA0MDgwMDA2OEEyODAwMDcwMDAwMDAxNTA4MDAwMDZBCis6MTAwNDcwMDAxQTAwMDgwMDg0MDkwMTAwODY1MTA5MDA3RDEzMDAwMDVDCis6MTAwNDgwMDAwMDA1MjAwMDIwMEYyODAwNjA4RjMzMDA2MDhGM0IwMEE0Cis6MTAwNDkwMDA2MDhGNDMwMDYwOEY0QjAwNjA4RjUzMDA2MDhGNUIwMDY0Cis6MTAwNEEwMDA2MDhBMDMwMDQwODAwMTAwQkQ3RjAwMDBDNDNEMzgwMDI5Cis6MTAwNEIwMDAwNzAwMDAwMDdEMUEwMDAwNzUxMzAwMDA0MjgwMDEwMDUzCis6MTAwNEMwMDA0QTAwMDkwMDBBMDAxMDAwMDQ4RDBCMDAwNDk1MTMwMDc3Cis6MTAwNEQwMDAwNzAwMDAwMDIwMDgwMDAwNjA5MDAxMDAwNDExMDAwMEU3Cis6MTAwNEUwMDA4NjIwMjEwMDQwMDAwMTAwRkQxNzAwMDA0MjgwMDEwMDJECis6MTAwNEYwMDAwQTAwMDgwMDA0MDkwMDAwODYyMjIxMDAwNzAwMDAwMDBECis6MTAwNTAwMDA3RDE5MDAwMDQyODAwMzAwNEE4MDA5MDAwQTAwMTAwMEEzCis6MTAwNTEwMDAyNDA5MDAwMDY0MTYwMDAwRkQxMTAwMDA0MjgwMDMwMDYxCis6MTAwNTIwMDA0QTgwMkIwMDRBODAxOTAwOEQwMDAwMDA0NDg5MjEwMDc4Cis6MTAwNTMwMDAwNzAwMDAwMDQ0MjIwMDAwODZFMTBBMDAwNzAwMDAwMEQ2Cis6MTAwNTQwMDA2NDFBMDAwMDI0MkEwMDAwN0QxOTAwMDAwMjAxMDgwMDNFCis6MTAwNTUwMDAyMjAxMTAwMDIwMDgwMDAwNjA5MDAzMDA0MDgwMDEwMDhDCis6MTAwNTYwMDBGRDNEMDAwMDhEMDAwMDAwMjAwODAwMDA0MDgwMDEwMERCCis6MTAwNTcwMDA3NTEzMDAwMDdEMUEwMDAwNDIwMDAxMDA0QTgwMDkwMDQ2Cis6MTAwNTgwMDAwQTAwMTAwMDFEMDIwMDAwRTQ4OTAxMDBFNDkyMjkwMDI1Cis6MTAwNTkwMDA0NDkxMzAwMDA3MDAwMDAwMEQwNjAwMDAxNTBBMDAwMDFECis6MTAwNUEwMDAxRDBDMDAwMDI1MTAwMDAwRTRBOTAwMDBFNDJCMDEwMDUwCis6MTAwNUIwMDA2NDA0MDAwMEU0QjMwMTAwRTQzMjAyMDA2NDA0MDAwMEJCCis6MTAwNUMwMDA2NDA0MDAwMDY0MDQwMDAwNjQwNDAwMDAwRDA0MDAwMEUyCis6MTAwNUQwMDBDNEIxMDgwMDA3MDAwMDAwMjAwODAwMDBGNTBCMDAwMDZGCis6MTAwNUUwMDA0MDAwMDMwMDdEMTkwMDAwNDI4MDAzMDA0QTgwMDkwMDlBCis6MTAwNUYwMDAyNDBBMDAwMDBBMDAwODAwNjQwRTA4MDAwNzAwMDAwMDNBCis6MTAwNjAwMDAyMjAxMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDEwMERCCis6MTAwNjEwMDBBQzY0MDAwMDdEMDIwMDAwMjAwMDAwMDA0MDgwMDEwMDZBCis6MTAwNjIwMDA3RDEwMDAwMDQyODAwMTAwRkQxMTAwMDA0QTgwM0IwMDY3Cis6MTAwNjMwMDA0QTgwMDkwMDBBMDAyMDAwOTUwMDAwMDA0NDExMUEwMEI5Cis6MTAwNjQwMDA0NEExMDAwMDg2MjAwRDAwMEQwNDAwMDA4NEI5MDAwMEM0Cis6MTAwNjUwMDA4NjIxMEQwMEZEMTgwMDAwNDI4MDAxMDBGRDEwMDAwMDAxCis6MTAwNjYwMDA0QTgwMDkwMDBBMDAyODAwOTUwMDAwMDAyNDA5MDEwMEMyCis6MTAwNjcwMDA2NDJBMDAwMDg2MTEwRDAwMDcwMDAwMDAwNDI5MDAwMDE0Cis6MTAwNjgwMDA4NjIyMEQwMDA3MDAwMDAwMDYyQTBEMDAwMjAwMDgwMDY3Cis6MTAwNjkwMDA4RDAwMDAwMDdEMzgwMDAwMjAwODAwMDA0MDgwMDEwMDJGCis6MTAwNkEwMDA3RDEyMDAwMDQyODAwMTAwMEEwMDEwMDAwNDM5MDAwMEExCis6MTAwNkIwMDA4NkQxMEQwMDBEMDgwMDAwQjVGRjdGMDA4NEI5MDAwMDUxCis6MTAwNkMwMDA4NkExMEQwMDI1MDAwMDAwMDY3QTBFMDAyRDAwMDAwMDE2Cis6MTAwNkQwMDAxNTAwMDAwMDJEMDgwMDAwOERDNzAyMDAyMDA4MDAwMDUyCis6MTAwNkUwMDAwNkMyMEUwMDBEMDAwMDAwMzU4MDdGMDA4NEI5MDAwMEI2Cis6MTAwNkYwMDA4NjcxMEUwMDI1MDA0MDAwOEQwMDAwMDA0NDA5MTEwMEE1Cis6MTAwNzAwMDAwNzAwMDAwMDhEMDEwMDAwMDQ5NTEwMDAwNzAwMDAwMEE0Cis6MTAwNzEwMDA2NDkxMDAwMDI0MDQwMDAwMjQwNDAwMDAyNDA0MDAwMDZDCis6MTAwNzIwMDAwMjAxMTAwMDAyMDAyODAwOERDNjAyMDAyMDA4MDAwMDBGCis6MTAwNzMwMDAwNkMyMEUwMDhEMDEwMDAwMkQwNDAwMDA4RDAwMDAwMDk3Cis6MTAwNzQwMDAwNDk1MTAwMDA3MDAwMDAwMEQwMjAwMDA4NDkxMTAwMEM1Cis6MTAwNzUwMDAwNzAwMDAwMDBEQzcwMjAwMjAwODAwMDA4RDAwMDAwMDA3Cis6MTAwNzYwMDBGRDM4MDAwMDQwODAwMTAwRkQzQjAwMDAyMDEwMDAwMDJCCis6MTAwNzcwMDA2MEE4MDMwMDE1MDgwMDAwODQzMTMxMDA4NDIxMjEwMEE1Cis6MTAwNzgwMDAwNzAwMDAwMDYwQjAwMzAwNjBBMDAzMDA0MDgwMDEwMDhCCis6MTAwNzkwMDBGRDIyMDAwMDk1MDAwMDAwMjQwOTAxMDAyNDA0MDAwMDRGCis6MTAwN0EwMDAyNDA0MDAwMDY0MTIwMDAwMDIwMTEwMDAyMDA4MDAwMDcwCis6MTAwN0IwMDA2MDkwMDMwMDQwODAwMTAwMjQxOTAwMDA4REZCMDAwMEMwCis6MTAwN0MwMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMEMxCis6MTAwN0QwMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDAyNDA0MDAwMEY4Cis6MTAwN0UwMDAyNDA0MDAwMDdEMTEwMDAwNDI4MDAxMDAwQTAwMDgwMDdFCis6MTAwN0YwMDAyNDBBMDAwMDAyMDUyODAwMDIwQzI4MDAwRDgwMDkwMEQwCis6MTAwODAwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjAwMEQ5Cis6MTAwODEwMDBGRDIyMDAwMDQyODAwMTAwMEEwMDA4MDA5NTAwMDAwMDRGCis6MTAwODIwMDBDNDBEMjgwMDI0MTkwMTAwN0QxOTAwMDA0MjgwMDEwMDM4Cis6MTAwODMwMDBGRDExMDAwMDRBODAwOTAwMEEwMDEwMDBCNTAwMDAwMDA4Cis6MTAwODQwMDA0NDMxMTEwMDA0OEQwQTAwMDcwMDAwMDA0NDBBMDgwMDJBCis6MTAwODUwMDAwNDk1MTIwMDA3MDAwMDAwRkQyMzAwMDAyMDEwMDAwMDk2Cis6MTAwODYwMDA0MDgwMDMwMDQ0MTIxMDAwMDcwMDAwMDAyMDA4MDAwMDMwCis6MTAwODcwMDA2MDkwMDMwMDQwODAwMTAwRkQwMjAwMDA0MjgwMDEwMDAyCis6MTAwODgwMDAwQTAwMDgwMDA0MDkwMDAwODZGQTEwMDAwNzAwMDAwMEIyCis6MTAwODkwMDBGRDNCMDAwMDAwMDEwMDAwMTAwQTAwMDA3QTgwMEIwMDAwCis6MTAwOEEwMDA0QTgwMTMwMDg0MDkwOTAwMDcwMDAwMDA5NTAwMDAwMDM5Cis6MTAwOEIwMDAwNDNEMDEwMDg2ODAxMTAwMEEwMDEwMDAwMjAwMTAwMEIzCis6MTAwOEMwMDA4NDA5MDkwMDA3MDAwMDAwNDI4MDAzMDA0QTgwMTEwMEVCCis6MTAwOEQwMDAwNDBEMDkwMDA3MDAwMDAwMEEwMDEwMDA4NDBEMDkwMDQzCis6MTAwOEUwMDAwNzAwMDAwMDdEMjUwMDAwMjAwODAwMDA0MDgwMDEwMDc2Cis6MTAwOEYwMDAwRDAxMDAwMDEwMDgwMDAwM0ExNDI4MDA3RDEyMDAwMENECis6MTAwOTAwMDA0MjgwMDEwMDBBMDAyMDAwN0QxOTAwMDA0MjgwMDEwMEExCis6MTAwOTEwMDA3RDExMDAwMDRBODAzMTAwMEEwMDEwMDAyNDMxMDAwMERGCis6MTAwOTIwMDAwRDI4MDEwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMEVFCis6MTAwOTMwMDA0MjgwMDMwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMEY5Cis6MTAwOTQwMDAwMjAxMzAwMDI0MzEwMDAwMjQwNDAwMDAyNDA0MDAwMENGCis6MTAwOTUwMDAyNDEyMDAwMDAyMDUyODAwNEMxQTAwMDA4NjAxMTMwMDMyCis6MTAwOTYwMDAwMjAwNzAwMDJEMDAwMDAwMDAwMDAzMDA3RDM4MDAwMDMwCis6MTAwOTcwMDA0MjgwMDEwMDBBMDAxMDAwMDYyQTEzMDAyNDIxMDAwMDEyCis6MTAwOTgwMDBBRDAwMDAwMDAyMDAxMDAwMEQwMTAwMDAyNDA5MDAwMDZECis6MTAwOTkwMDAyNDZCMDAwMDhEMzYwMTAwN0QzOTAwMDAyMDA4MDAwMDI2Cis6MTAwOUEwMDA0MDgwMDUwMDQyODAwMzAwNEE4NDA5MDAwNjA2MDAwMERBCis6MTAwOUIwMDAwQTA0MDgwMDY0MzIwMDAwOEQwMDAwMDAyNDBBMDAwMEQwCis6MTAwOUMwMDAyMDEwMDAwMDdEMjIwMDAwNDA4MDAxMDAwRDNDMDEwMDRECis6MTAwOUQwMDAxMDA4MDAwMDNBMDQwODAwMDZEMjI5MDAwNzAwMDAwMEIxCis6MTAwOUUwMDAyMDI4MDAwMDdEMjAwMDAwNDA4MDAxMDA3RDExMDAwMEQzCis6MTAwOUYwMDA0MjgwMDMwMDRBODAxMzAwMEE4MDMzMDA3RDM4MDAwMEUzCis6MTAwQTAwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjNBMTYwMDJFCis6MTAwQTEwMDAwNzAwMDAwMDhEMDAwMDAwNjQwOTAzMDA4RDQ3MDEwMEZECis6MTAwQTIwMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMDVFCis6MTAwQTMwMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDAwMjAxMzgwMDgyCis6MTAwQTQwMDAyNDA0MDAwMDI0MDQwMDAwMjQxMjAwMDBGRDAyMDAwMDIxCis6MTAwQTUwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkEyMTQwMDc4Cis6MTAwQTYwMDAwNzAwMDAwMDAyMDUyODAwNEMxQTAwMDA4NjM5MTYwMDE1Cis6MTAwQTcwMDAwNzAwMDAwMDY0MjEwMzAwMkM2MzAwMDBGRDNEMDAwMDFFCis6MTAwQTgwMDA0MjgwMDEwMDBBMDAwODAwOTUwMDAwMDAwNDA5MDkwMEU2Cis6MTAwQTkwMDAwNzAwMDAwMDIwMDgwMDAwNEMxQTAwMDA4NjYxMTUwMEM1Cis6MTAwQUEwMDA0MDgwMDEwMDAwMDAwMzAwMDY3QTE1MDAyNDIxMDAwMEE4Cis6MTAwQUIwMDAwRDAxMDAwMDI0MDkwMDAwMjQ2QjAwMDA4RDVCMDEwMDgzCis6MTAwQUMwMDA3RDM5MDAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMEJFCis6MTAwQUQwMDA0QTg0MDkwMDA2MDYwMDAwMEEwNDA4MDA2NDNBMDAwMDdGCis6MTAwQUUwMDA5NTAwMDAwMDI0MTIwMDAwRkQwMjAwMDA0MjgwMDEwMDc5Cis6MTAwQUYwMDAwQTAwMDgwMDA0MDkwMDAwODZEQTE1MDAwNzAwMDAwMDVCCis6MTAwQjAwMDA4RDYyMDEwMDEwMDgwMDAwM0EwNDA4MDAwNkQyMjkwMDk2Cis6MTAwQjEwMDAwNzAwMDAwMDA2RDIxNDAwMDcwMDAwMDAyMDcwMDAwMDRCCis6MTAwQjIwMDAwQTAxMDgwMDJBMDExMDAwRkQyMDAwMDA2MDg4MDMwMDZGCis6MTAwQjMwMDA2MDkwMDMwMDQwODAwMTAwN0QyMjAwMDA0MjgwMDEwMDlGCis6MTAwQjQwMDBGRDNEMDAwMDBBMDAwODAwNEE4NDMxMDAwNDA5MDAwMDRECis6MTAwQjUwMDA4NkQ4MTYwMDhCMDAxODAwOEQwMDAwMDAwNDk5MTgwMDNDCis6MTAwQjYwMDAyQzMxMDAwMDA2QUExNzAwMDcwMDAwMDA0QzMyMDAwMERDCis6MTAwQjcwMDA4NjMzMTcwMDA3MDAwMDAwMDQxOTAwMDA4NjMwMTcwMEI0Cis6MTAwQjgwMDAwNzAwMDAwMDk1MDAwMDAwNDQ5MTE5MDAyQzIyMDAwMDhECis6MTAwQjkwMDAyNDMxMDAwMDZDNjMwMDAwM0QwRTAwMDA3NTEzMDAwMDVFCis6MTAwQkEwMDBGRDBCMDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMDBECis6MTAwQkIwMDBFQzhBMDMwMEVDOTMwMzAwNEMyMjAwMDA4NkE5MTcwMDg2Cis6MTAwQkMwMDAwNzAwMDAwMDhEMDAwMDAwMDQ5OTE4MDA2QzIyMDAwMDRFCis6MTAwQkQwMDAyQzMyMDAwMDBBMDUzMDAwQUIxRDMwMDA4MzIwMDAwMERECis6MTAwQkUwMDBGRDE4MDAwMDQyODAwMTAwMEEwMDA4MDAyNDg5MDEwMDZECis6MTAwQkYwMDAwMjA1MzAwMDgzMTAwMDAwNzUxODAwMDA0MjAwMDEwMDVCCis6MTAwQzAwMDAwQTAwMTAwMDhEMDAwMDAwMjQwOTAxMDA3NTEzMDAwMDg3Cis6MTAwQzEwMDA0MjA1MzMwMENCMEMzMzAwQ0IyQzMzMDBDQjM0MzMwMEY0Cis6MTAwQzIwMDBDQjNDMzMwMENCNDQzMzAwQ0I0QzMzMDBDQjU0MzMwMEFDCis6MTAwQzMwMDA4QjVDMzAwMDgzNjAwMDAwRjUwMjAwMDA0MjAwMDEwMDgwCis6MTAwQzQwMDAwQTAwMDgwMDA0MDkwMDAwODY3QTE4MDAwNzAwMDAwMDY2Cis6MTAwQzUwMDAyRDFFMDAwMEZEMDUwMDAwNDI4MDAxMDAwQTAwMDgwMDcyCis6MTAwQzYwMDAyNDg5MDIwMDAyMDUyODAwMEQwNjAwMDAxMDA4MDAwMDdCCis6MTAwQzcwMDAzQTBDMjgwMDhEMDAwMDAwMTAwODAwMDAzQTE0MjgwMEVCCis6MTAwQzgwMDA4RDgwMEEwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMEVECis6MTAwQzkwMDAwNzAwMjIwMDc1MTIwMDAwNDIwMDAzMDA0QTAwMjEwMEY0Cis6MTAwQ0EwMDA4RDAwMDAwMDQ0MDkxQTAwMDcwMDAwMDAwRDk4MDEwMEEzCis6MTAwQ0IwMDAxMDA4MDAwMDNBMDQwODAwMDYyMjJCMDAwNzAwMDAwMDdDCis6MTAwQ0MwMDBGNTAxMDAwMDQyMDAwMzAwNEEwMDBEMDAwQTAwMTAwMDc4Cis6MTAwQ0QwMDA0NDkxMDgwMDA3MDAwMDAwMjAwODAwMDA0MDAwMDEwMEM3Cis6MTAwQ0UwMDBGNTI1MDAwMDQ0MzEwQTAwMDcwMDAwMDAyMDA4MDAwMDNDCis6MTAwQ0YwMDA2MDI4MDMwMDQwMDAwMzAwN0QyMTAwMDA0MjgwMDMwMEMzCis6MTAwRDAwMDA0QTgwMEIwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDU5Cis6MTAwRDEwMDA0MDAwMDMwMDhEMDAwMDAwMjQwMTAwMDAyQzAxMDAwMEIxCis6MTAwRDIwMDA2NDBFMDAwMDY0MUEwMDAwNkM2MzAwMDAwQTAxMDgwMEYxCis6MTAwRDMwMDAyQTAxMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMDlBCis6MTAwRDQwMDBGRDIwMDAwMDQyODAwMTAwMEEwMDA4MDA3RDIyMDAwMDEyCis6MTAwRDUwMDA0MjgwMDEwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDFCCis6MTAwRDYwMDA0MDAwMDMwMDdEMTkwMDAwNDI4MDAxMDAwQTAwMDgwMEQ1Cis6MTAwRDcwMDBGRDIyMDAwMDQyODAwMzAwMEEwMDEwMDAyMDA4MDAwMDRECis6MTAwRDgwMDA2MDEwMDMwMDQwMDAwMzAwMDQwRDA5MDAwNzAwMDAwMDhDCis6MTAwRDkwMDAyMDA4MDAwMDQwMDAwMzAwNDI4MDAzMDA0QTgwMEIwMDRFCis6MTAwREEwMDAwQTAwMTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMDRCCis6MTAwREIwMDA0MjgwMDMwMDRBODAxMzAwNEE4MDE5MDAwNDBEMTEwMDhDCis6MTAwREMwMDAwNDhEMTkwMDA3MDAwMDAwMEEwMDA4MDAyMDEwMDAwMDMwCis6MTAwREQwMDA2MDE4MDMwMDYwMDgwMzAwNDAwMDAzMDA4RDAwMDAwMDVECis6MTAwREUwMDA0NDA5MEIwMDA3MDAwMDAwMjAwODAwMDA0MDAwMDEwMDNCCis6MTAwREYwMDBGNTA1MDAwMDQyMDAwMzAwMEEwMDA4MDAyMDA4MDAwMDdBCis6MTAwRTAwMDA0MDAwMDEwMEY1MDAwMDAwNDIwMDAxMDAwQTAwMDgwMDU3Cis6MTAwRTEwMDAwNDA5MDAwMDg2NjAxQzAwNzUxRTAwMDA0MjAwMDMwMEVCCis6MTAwRTIwMDA0QTA0MDEwMDBBMEMwMDAwMDY3MjFDMDAwNzAwMDAwMEMyCis6MTAwRTMwMDAwMjA0MDAwMDAyMEMwMDAwN0QxNzAwMDBGNTFBMDAwMEZCCis6MTAwRTQwMDA0MjgwMDEwMDRBMTQwMzAwNEExQzAzMDA0QTI0MDMwMEE0Cis6MTAwRTUwMDA0QTJDMDMwMDRBMzQwMzAwNEEzQzAzMDA0QTQ0MDMwMDdFCis6MTAwRTYwMDAwQTRDMDAwMDNEMDQwMDAwRjUxMzAwMDBGRDFBMDAwMENDCis6MTAwRTcwMDA0MjAwMDMwMDRBMDAwQjAwNEE4MDFCMDA0QTgwMTMwMDE2Cis6MTAwRTgwMDAwQTAwMjAwMDQ0OTEwODAwNDRBMTE5MDBFNDg5MDMwMEVECis6MTAwRTkwMDBFQzk5MDMwMDAyNTUwMDAwMEE1RDAwMDA0MjAwMDMwMEM3Cis6MTAwRUEwMDA0QTAwMEIwMDRBODAxQjAwNEE4MDEzMDAwQTAwMjAwMDAxCis6MTAwRUIwMDA0NDkxMDgwMDQ0QTExOTAwRTQ4OTAzMDBFQzk5MDMwMDVGCis6MTAwRUMwMDAwMjY1MDAwMDBBNkQwMDAwNDIwMDAzMDA0QTAwMEIwMEFBCis6MTAwRUQwMDA0QTAwMTkwMDRBODAyQjAwNEE4MDEzMDA0QTgwMjEwMEYyCis6MTAwRUUwMDAwQTAwMzAwMDQ0OTEwODAwNDRBMTE5MDA0NEIxMkEwMENFCis6MTAwRUYwMDBFNDg5MDMwMEVDOTkwMzAwMDI3NTAwMDAwQTdEMDAwMEZDCis6MTAwRjAwMDBFNEE5MDMwMDAyMDcwMDAwN0QxMDAwMDAxNTA0MDAwMEEyCis6MTAwRjEwMDA0MjgwMDEwMDBBMDAwODAwRTQwOTAxMDAwMjBGMDAwMEZECis6MTAwRjIwMDBGNTJBMDAwMEZEMTkwMDAwNDIwMDAxMDA0QTgwMDkwMDc2Cis6MTAwRjMwMDAwQTAwMTAwMDM0MDkwMDAwNzQxNjAwMDBGNTI5MDAwMEIyCis6MTAwRjQwMDA0MjAwMDEwMDBBMDAxMDAwN0M5MTAwMDA3NTIwMDAwMEEyCis6MTAwRjUwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkQyMUUwMEI5Cis6MTAwRjYwMDBGNTI2MDAwMEY1MjcwMDAwNDIwMDAzMDA0QTAwMDkwMEIyCis6MTAwRjcwMDAwQTAwMTAwMDNDMEEwMDAwN0MxNjAwMDA3NTFBMDAwMEYwCis6MTAwRjgwMDBGRDBCMDAwMDQyMDAwMTAwNEE4MDUxMDAwQTAwNDgwMEE5Cis6MTAwRjkwMDAwNzAwMTYwMDc1MTAwMDAwNDIwMDAxMDAwQTJDMjgwMDBFCis6MTAwRkEwMDAxMjFEMjgwMDEyMjUyODAwMzIxRjAwMDAwNzAwMUUwMDE1Cis6MTAwRkIwMDAwNzAwMEUwMDc1MTkwMDAwNDIwMDAxMDBGNTJEMDAwMDI5Cis6MTAwRkMwMDA0QTAwMEQwMDBBMDAxMDAwNDQ5MTAwMDA4NkIyMUYwMDg0Cis6MTAwRkQwMDA0MjAwMDEwMDBBMzQyODAwNUQwRTAwMDA4RDAwMDAwMDcwCis6MTAwRkUwMDA3NTAzMDAwMDIwMDgwMDAwNDAwMDAxMDBGNEQyMDUwMDU1Cis6MTAwRkYwMDAwNEQxNTQwMDVDNzMwMDAwODY1MzIwMDAwNzAwMDAwMEY5Cis6MTAxMDAwMDAwNzAwMEMwMDA3MDAwODAwMDcwMDBBMDAwRDA0MDIwMDlBCis6MTAxMDEwMDAxMDA4MDAwMDNBMDQwODAwMDYyMjMzMDAwNzAwMDAwMDEwCis6MTAxMDIwMDAwNjVBMjAwMDA3MDAwMDAwMDcwMDA4MDA3NTIyMDAwMDkzCis6MTAxMDMwMDA0MjAwMDEwMDBBMDAyMDAwMDQyMTAwMDA4NjIwMjEwMDU3Cis6MTAxMDQwMDAyRDFFMDAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDA5Cis6MTAxMDUwMDAwNDA5MDAwMDg2OTIyMDAwMDcwMDAwMDAxMDIwMDAwMDE0Cis6MTAxMDYwMDAzQTA0MzAwMDdEMDUwMDAwQzM4MDAxMDAwQTAwMDgwMDNBCis6MTAxMDcwMDAyNDg5MDIwMDAyMDUyODAwMDIwQzI4MDAwRDgxMEEwMEM0Cis6MTAxMDgwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAwNzAwMjIwMEQ3Cis6MTAxMDkwMDBGRDA0MDAwMDQyODAwMTAwMEEwMDcwMDAwMDAwMDMwMDBGCis6MTAxMEEwMDAyMDcwMDAwMDA2RkEwNjAwNDA4MDAxMDAwRDE4MDIwMEMyCis6MTAxMEIwMDAxMDA4MDAwMDNBMDQwODAwMDYyMjJCMDAwNzAwMDAwMDc4Cis6MTAxMEMwMDBGRDAyMDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDNGCis6MTAxMEQwMDA4NjhBMjEwMDA3MDAwMDAwMDZGMjAxMDAwNzAwMDAwMEQ4Cis6MTAxMEUwMDA3NTA4MDAwMEZEMDkwMDAwMEQwMTAwMDAwNjBBMjIwMDNECis6MTAxMEYwMDA5NTAyMDAwMDc1MEIwMDAwN0QwOTAwMDAwRDAwMDAwMDQ2Cis6MTAxMTAwMDAxNTA1MDAwMDQyMDAwMTAwMEEwMDE4MDAwNDE5MDAwMDQzCis6MTAxMTEwMDA4Njc4MjgwMEY1MDYwMDAwMjAxMDAwMDA0MDAwMDEwMDNECis6MTAxMTIwMDBGNTA0MDAwMDIwMDgwMDAwNDAwMDAxMDA3NTA3MDAwMEUxCis6MTAxMTMwMDA0MjAwMDEwMDRBODAwOTAwMEEwMDEwMDAyNDExMDAwMDRBCis6MTAxMTQwMDAwNDA5MDAwMDg2QkEyMjAwMTUwODAwMDAwMjAxMDgwMDA4Cis6MTAxMTUwMDAwNDEyMTAwMDA2REEyMjAwNzUwNTAwMDAwNDEyMDgwMENGCis6MTAxMTYwMDAwNzAwMDAwMDAyMDExMDAwNzUwNTAwMDAyNTA0MDAwMEMyCis6MTAxMTcwMDAyNDExMDIwMDAyMDExMDAwMjAwODAwMDA2MDEwMDMwMDhBCis6MTAxMTgwMDA0MDAwMDEwMDI0MTkwMDAwODY3ODI4MDA4RDAwMDAwMDJFCis6MTAxMTkwMDA2NDA0MDAwMDA0OUQwMDAwODY4ODI3MDAwMjAxMTgwMEY2Cis6MTAxMUEwMDA3NTA1MDAwMDQyMDAwMTAwMEEwNDI4MDA4RDAxMDAwMEJFCis6MTAxMUIwMDAyNDA5MDAwMDAyMEQyODAwMEQwMDAwMDAyNDA5MDAwMDkxCis6MTAxMUMwMDAwMjE1MjgwMDBEMDAxMDAwMjAwODAwMDBGNTAyMDAwMEE0Cis6MTAxMUQwMDA0MDAwMDEwMDA3MDAyMDAwNzUxMTAwMDBGRDAyMDAwMDIyCis6MTAxMUUwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NkMyMjMwMEIyCis6MTAxMUYwMDAwNzAwMDAwMDAwMDEwMDAwMjAwQjA4MDA2MDBCMTMwMDM2Cis6MTAxMjAwMDA2MDBCMUIwMDYwMEEwMzAwNDAwMDAxMDA0MjAwMDUwMDYzCis6MTAxMjEwMDA0QTAwM0QwMDRBMDAzNTAwNEEwMDJEMDAwQTAwMjAwMDI3Cis6MTAxMjIwMDBGNTA2MDAwMDQyMDAwMTAwMEExNDI4MDBGNTA0MDAwMDQxCis6MTAxMjMwMDA0MjAwMDEwMDBBMDAwODAwMTUwMzAwMDAwNDBEMDEwMDJGCis6MTAxMjQwMDA4NkNBMjQwMDE1NDAwMDAwOTUwMDAwMDAwNDBEMDEwMDJFCis6MTAxMjUwMDA4NkI4MjQwMDIyMDAxMDAwMkEwMDEwMDAwNkUyMjQwMEI0Cis6MTAxMjYwMDAwNzAwMDAwMDA0MzEzMzAwMDRBOTJBMDAwNzAwMDAwMDMxCis6MTAxMjcwMDAyNDIxMDMwMDAyMDUyODAwMjQxMTAwMDAyNDA0MDAwMDlBCis6MTAxMjgwMDAyNDA0MDAwMDI0MzIwMDAwMkMyOTAwMDA2QzYzMDAwMEJDCis6MTAxMjkwMDA4NkYzMjUwMDA3MDAwMDAwNjRCMTAyMDA2NDA0MDAwMDJBCis6MTAxMkEwMDA2NDA0MDAwMDhEMDAwMDAwNjQwQTAwMDAwMjBEMjgwMEE0Cis6MTAxMkIwMDA4RDAwMTAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDMxCis6MTAxMkMwMDAwNzAwMjIwMDhEMDAwMDAwMDRCOTM4MDAwNzAwMDAwMDZDCis6MTAxMkQwMDA2QzI5MDMwMDBBMDEzMDAwRjUwMjAwMDA0MjAwMDEwMDAxCis6MTAxMkUwMDAwQTAwMDgwMDA0MDkwMDAwODZCQTI1MDAwNzAwMDAwMDczCis6MTAxMkYwMDAyQzMxMDIwMDBBMDUyODAwOEQwMDAwMDA2QzA5MDEwMDU1Cis6MTAxMzAwMDAwQTBEMjgwMDBEMDExMDAwMjAwODAwMDBGNTAyMDAwMDYxCis6MTAxMzEwMDA0MDAwMDEwMDA3MDAyMjAwMjQxMTAwMDAyNDA0MDAwMDA2Cis6MTAxMzIwMDAyNDA0MDAwMDI0MzIwMDAwMDIwMTMwMDA0NDI5MDMwMDlDCis6MTAxMzMwMDA4NjdBMjYwMDA3MDAwMDAwMDIwMDMwMDBGNTA0MDAwMDU1Cis6MTAxMzQwMDA0MjAwMDEwMDBBMDAwODAwMTUwMzAwMDAwNDBEMDEwMDFFCis6MTAxMzUwMDA4NkMwMjYwMDI0MzEwMDAwNjQwNDAwMDAwMjAxMzAwMDMxCis6MTAxMzYwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDI0Cis6MTAxMzcwMDA4NkNBMjYwMDA3MDAwMDAwMjQzMTAwMDAwMjA1MzAwMDY0Cis6MTAxMzgwMDAyNDM5MDAwMDgzMDUzMDAwODMwODAwMDBGNTA1MDAwMEMzCis6MTAxMzkwMDA0MjAwMDEwMDBBMDQyODAwOEQwMDAwMDAyNDgxMDAwMEEyCis6MTAxM0EwMDAwMjBEMjgwMDhEMDAwMDAwMjQ4MTAwMDAwMjE1MjgwMDk1Cis6MTAxM0IwMDA4RDAxMTAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDJGCis6MTAxM0MwMDAwNzAwMjIwMDI1MTAwMDAwNzUwNTAwMDA0MjAwMDMwMDAwCis6MTAxM0QwMDA0QTAwMDkwMDBBMDAxMDAwMDQwOTBBMDAwNDExMTIwMDYyCis6MTAxM0UwMDAwNzAwMDAwMDIwMTAwMDAwNjAwODA1MDA0MDAwMDUwMDE0Cis6MTAxM0YwMDBGRDA2MDAwMDQyODAwMTAwNEEwMDA5MDAwQTAwMTAwMEJBCis6MTAxNDAwMDBBNTAwMDAwMDA0MDkwQTAwMDQxMTEyMDAwNzAwMDAwMEYyCis6MTAxNDEwMDAyMDA4MDAwMDYwOTAwMTAwNDAwMDAxMDBGNTAyMDAwMDdCCis6MTAxNDIwMDA0MjAwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjQyMjgwMDZBCis6MTAxNDMwMDAwNzAwMDAwMDA2MEEyMzAwMDcwMDAwMDAwNjA2MDAwMDVGCis6MTAxNDQwMDAwNzAwMDAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDQ5Cis6MTAxNDUwMDAwNDA5MDAwMDg2OTIyODAwMDcwMDAwMDAwMDAxMDAwMDM3Cis6MTAxNDYwMDAyMDBCMDgwMDYwOEIxMzAwNjA4QjFCMDA2MDhCMjMwMDM3Cis6MTAxNDcwMDA2MDhCMkIwMDYwOEIzMzAwNjA4QjNCMDA2MDhCNDMwMEU0Cis6MTAxNDgwMDA2MDhCNEIwMDYwOEI1MzAwNjA4QjVCMDA2MDhCNjMwMDU0Cis6MTAxNDkwMDA2MDhCNkIwMDYwOEI3MzAwNjA4QjdCMDA2MDhGMDMwMDQwCis6MTAxNEEwMDA2MDhGMEIwMDYwOEYxMzAwNjA4RjFCMDA2MDhGMjMwMDI0Cis6MTAxNEIwMDA2MDhGMkIwMDYwOEYzMzAwNjA4RjNCMDA2MDhGNDMwMDk0Cis6MTAxNEMwMDA2MDhGNEIwMDYwOEY1MzAwNjA4RjVCMDA2MDhGNjMwMDA0Cis6MTAxNEQwMDA2MDhGNkIwMDYwOEY3MzAwNjA4RjdCMDA2MDhBMDMwMEY5Cis6MTAxNEUwMDAwNjA2MDAwMDQwODAwMTAwOEQwMDAwMDA2NDBBMDAwMDM0Cis6MTAxNEYwMDAwMjBEMjgwMDI0MEEwMDAwN0QwMjAwMDA0MjgwMDEwMDQ1Cis6MTAxNTAwMDAwQTAwMTAwMDI0MTIwMDAwRkQwMzAwMDA0MjgwMDEwMEM4Cis6MTAxNTEwMDAwQTAwMDgwMDA0MDkwMDAwODY4MjJBMDAwNzAwMDAwMDczCis6MTAxNTIwMDA4RDAxMDAwMDI0MEEwMDAwNjQwNDAwMDA2NDA0MDAwMDJGCis6MTAxNTMwMDAwMjAxMDgwMDI0MDkwMDAwMjQwNDAwMDAyNDA0MDAwMDIzCis6MTAxNTQwMDAwMjAxMTAwMDBEMDAwMjAwNDQ5MTAwMDA4NkQ5MkEwMDFCCis6MTAxNTUwMDAwNzAwMDAwMEZEMDEwMDAwNDI4MDAxMDAwQTAwMDgwMEIxCis6MTAxNTYwMDA0NDBBMDAwMDg2QkIyQTAwNDI4MDAxMDAwRDAwMEEwMEU4Cis6MTAxNTcwMDAyMDA4MDAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjAwMDVDCis6MTAxNTgwMDA3RDAyMDAwMDIwMTAwMDAwMDYwNjAwMDA0MDgwMDEwMERGCis6MTAxNTkwMDBGNTAyMDAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMEYyCis6MTAxNUEwMDA4NjJBMkIwMDA3MDAwMDAwN0QwMzAwMDA0MjgwMDEwMDE2Cis6MTAxNUIwMDAwQTAwMDgwMDA0MDkwMDAwODY1QTJCMDAwNzAwMDAwMEZBCis6MTAxNUMwMDA3NTAwMDAwMDdEMkUwMDAwNDIwMDAxMDA0QTgwMEIwMEUzCis6MTAxNUQwMDAyMDAwMDAwMDA0MDkwMDAwODYwNjAwMDA0MDAwMDEwMDExCis6MTAxNUUwMDA0QTg0MzEwMDhCMDQzMDAwODMwODAwMDA4RDAwMDAwMDI1Cis6MTAxNUYwMDAxMDA4MDAwMDNBMTQyODAwOEQwMDAwMDAxMDA4MDAwMEI4Cis6MTAxNjAwMDAzQTBDMjgwMDc1MDYwMDAwNDIwMDAxMDAwQTAwMDgwMDlDCis6MTAxNjEwMDAxNTM4MDAwMDI0MDkwMTAwMDIwNTI4MDAwRDAwMEIwMDA4Cis6MTAxNjIwMDAyMDA4MDAwMEY1MDIwMDAwNDAwMDAxMDAwNjA2MDAwMDRFCis6MTAxNjMwMDAwNzAwMjIwMDY0MDQwMDAwNjQwNDAwMDAwNjA2MDAwMEE1Cis6MTAxNjQwMDAwNzAwMDAwMDM0MDEwMDAwOEQ3RjAwMDAzQzA5MDAwMDBECis6MTAxNjUwMDAxMjFEMjgwMDEyMjUyODAwMzIxRjAwMDAwNzAwMEUwMDZFCis6MTAxNjYwMDAwRDAxMDAwMDdEMDMwMDAwMjAwODAwMDA0MDgwMDEwMDAzCis6MTAxNjcwMDBGNEQyMDUwMDA3MDAwMDAwMDcwMDA4MDA3RDAzMDAwMDA5Cis6MTAxNjgwMDA0MjgwMDEwMDBBMDAwODAwMDQwOTAwMDA4NjAyMkQwMEMzCis6MTAxNjkwMDAwNzAwMDAwMDA2MDYwMDAwMDcwMDAwMDAwNzAwMDAwMDI5Cis6MTAxNkEwMDAxMjAwMDAwMDA3MDAxMDAwMDcwMDMyMDAwNzAwNjAwMDcxCis6MTAxNkIwMDA4MDAwMTAwMDFBMDA0ODAwMDQ0OTAwMDA4NjYxMkQwMEQ3Cis6MTAxNkMwMDAwNzAwMDAwMDEwMTIwMDAwM0EwMDU4MDA0NTAxMDAwMDE5Cis6MTAxNkQwMDAwNDVENUMwMDA3MDAwMDAwODAwMDAwMDAxQTAwNDgwMDY0Cis6MTAxNkUwMDAwNDQ5MDAwMDg2QjEyRDAwMDcwMDAwMDAxMDEyMDAwMDIwCis6MTAxNkYwMDAzQTAwNTAwMDA0NTkwMDAwODYwODJFMDA0NTAwMDAwMDAyCis6MTAxNzAwMDBDNTAwMDAwMEY1RkY3RjAwN0RGRjdGMDAyNEQ1MDcwMEE2Cis6MTAxNzEwMDAyNDQyMDAwMDAyMDE1MDAwMDIwNTIwMDA4MjAwMDAwMDY3Cis6MTAxNzIwMDAxQTAwNDAwMDA0NDEwMDAwODYzOTJFMDAwNzAwMDAwMDI2Cis6MTAxNzMwMDA2NTM4MDAwMDFBMDA0MDAwMjA0MDAwMDA0RDEwMDAwMEY1Cis6MTAxNzQwMDA4NEMxMDQwMDg2MUIzMDAwNDAwMDAwMDAwNzAwMDQwMDM0Cis6MTAxNzUwMDA2NTAxMDAwMDQ1MDEwMDAwMjA0MDAwMDA0MDAwMDAwMDNECis6MTAxNzYwMDA2NTA3MDAwMDgwMDAwODAwMUEwMDQwMDAwNDQxMDAwMEU2Cis6MTAxNzcwMDA4NkM5MkUwMDA3MDAwMDAwMTAxMjAwMDAzQTAwNDAwMDQ5Cis6MTAxNzgwMDAwNDQxMDAwMDg2MjIyRjAwNEQwMDAwMDBDRDAwMDAwMDIzCis6MTAxNzkwMDAxMDQ4MDAwMDNBMDQyMDAwODIwODAwMDAxQTAwNDAwMEFGCis6MTAxN0EwMDAwNDQxMDAwMDg2MzEyRjAwMDcwMDAwMDAyMDQ4MDAwMDlGCis6MTAxN0IwMDAwNDU5MDAwMDg2MDgzMDAwNDAwMDAwMDBFNTA3MDAwMEUyCis6MTAxN0MwMDA4MDA0MjAwMEEwMTYyODAwRTAxNjMyMDBFMDE2M0EwMDNGCis6MTAxN0QwMDBFMDE2NDIwMDYwMTIwMjAwNDAwMDAwMDAzMjAwMDAwMEVCCis6MTAxN0UwMDA3NTAwNDAwMDdEMDAwMDAwNzRENTA3MDAxMjA1MjAwMDQwCis6MTAxN0YwMDA4MjAwMDAwMDFBMDA0MDAwMDQ0MTAwMDA4NkUxMkYwMDMyCis6MTAxODAwMDAwNzAwMDAwMDA2NzIwMzAwMDcwMDY0MDAwNzAwMDYwMERFCis6MTAxODEwMDBFNTAwMDAwMDIwMDAwMDAwNDAwMDAwMDA2NTBBMDAwMDE0Cis6MTAxODIwMDAyMDAwMDAwMDQwMDAwMjAwNDAwMDAyMDA0MDAwMDAwMEQ0Cis6MTAxODMwMDA2NTAxMDAwMDQyMDAwMDAwMEEwMDcwMDAwNDcxMDAwMDExCis6MTAxODQwMDA4NkEyMzAwMDA3MDAwMDAwMDY4MjAxMDAwNzAwNjQwMDQ1Cis6MTAxODUwMDAwMDAwMDUwMDIwNzAwMDAwNDAwMDAwMDAwNjcyMDMwMDM4Cis6MTAxODYwMDAwNzAwNjQwMDA3MDAwMDAwNkQzMDAwMDA2MDg4MDIwMDdGCis6MTAxODcwMDA2MDkwMDIwMDBBMDAwODAwNjA4ODAyMDA0MDgwMDAwMEJBCis6MTAxODgwMDAxMjAwMTAwMDBEMTAwMDAwODQ5MTAwMDA4NjQxMzEwMDBDCis6MTAxODkwMDAwRDBFMDAwMDg0OTEwMDAwODY1MTMyMDAwNzAwMDAwMDA4Cis6MTAxOEEwMDAwNzAwMzAwMDIwMTAwMDAwNkQzQjAwMDA0MDgwMDAwMDY5Cis6MTAxOEIwMDA4MDAwMDAwMDFBMDAwODAwMDQwOTAwMDA4NjYxMzEwMDYxCis6MTAxOEMwMDAwNzAwMDAwMDIwMTIwMDAwRUQwRDAwMDA0MDgwMDAwMDI1Cis6MTAxOEQwMDA0MjgwMDAwMDBBMDAxMDAwMEQwMDQwMDA0NDk1MTAwMEY2Cis6MTAxOEUwMDAwNzAwMDAwMDIwMTAwMDAwRUQwRDAwMDA0MDgwMDAwMDA3Cis6MTAxOEYwMDA0MjgwMDAwMDBBMDQyMDAwODIwMDAwMDAxQTAwMDgwMDU0Cis6MTAxOTAwMDAwNDA5MDAwMDg2RjEzMTAwMDcwMDAwMDA2RDNCMDAwMDczCis6MTAxOTEwMDA0MjgwMDAwMDBBMDAwODAwMTUwRTAwMDA4NDA5MDEwMDQyCis6MTAxOTIwMDA4NjlCMzIwMDA3MDA2MDAwMUEwMDA4MDAxNTBDMDAwMEJBCis6MTAxOTMwMDA4NDA5MDEwMDg2ODMzMjAwMjAwMDAwMDAwNzAwMUEwMDlECis6MTAxOTQwMDBFRDAyMDAwMDQwODAwMDAwMDcwMDYyMDA2RDMwMDAwMEUyCis6MTAxOTUwMDA0MjgwMDIwMDRBODAwQTAwMjAwODAwMDA0QTgwMEEwMEYzCis6MTAxOTYwMDAwNjA2MDAwMDRBODAxMDAwMDcwMDAwMDAxMjI1MjgwMDJCCis6MTAxOTcwMDAzMjFGMDAwMEY0RDIwNTAwMDREMTU0MDA1QzczMDAwMDUzCis6MTAxOTgwMDA4NjA3MDAwMDA3MDAwMDAwMDcwMDBDMDAwNzAwMEEwMDlGCis6MTAxOTkwMDAwNzAwMUMwMDY1MzQwMDAwNDAwMDAyMDAyMDQ4MDAwMEUxCis6MTAxOUEwMDA2MDUwMDIwMDBBMDA0MDAwNjA0MDAyMDA0MDAwMDAwMDU5Cis6MTAxOUIwMDA0NDQ5NDUwMDA3MDAwMDAwMjA0MDAwMDBFNTNBMDAwMENGCis6MTAxOUMwMDA0MDAwMDAwMEU1MjgwMDAwNDIwMDAwMDAwQTAwNDgwMDM2Cis6MTAxOUQwMDAwNDQ5MDAwMDg2NjgzODAwNjUyQzAwMDA0MjAwMDAwMEMxCis6MTAxOUUwMDAwQTAwNDAwMEQ1MDAwMDAwMDQ0MTQ1MDAwNzAwMDAwMDQ3Cis6MTAxOUYwMDA1NTA2MDAwMDA0NDUwNTAwODZGMjM0MDBENTAxMDAwMEJDCis6MTAxQTAwMDAwNDQ1MDUwMDg2RjAzNDAwNjUyQjAwMDA0MjAwMDAwMDBDCis6MTAxQTEwMDBFNTNBMDAwMDRBMDA1MDAwMEEwMDQwMDBENEMzNDUwMEU3Cis6MTAxQTIwMDAwNzAwMDAwMDA0NDU0NTAwMDcwMDAwMDBDRDAwMDAwMDRECis6MTAxQTMwMDA0NDQ5NDQwMDA3MDAwMDAwMDQ0NTQ1MDAwNzAwMDAwMDM5Cis6MTAxQTQwMDA0RDAxMDAwMDQ0NDk1NTAwMDcwMDAwMDA0NDUxMDQwMEM2Cis6MTAxQTUwMDA4NkU5MzQwMDY1MkMwMDAwNDIwMDAwMDAwQTAwNDgwMEJFCis6MTAxQTYwMDAwNEQxNEMwMDA3MDAwMDAwNDRDMTA0MDA4NkYzMzQwMDk4Cis6MTAxQTcwMDAwNzAwMDAwMDA3MDAxNjAwRTUyQzAwMDA0MjAwMDQwMEVCCis6MTAxQTgwMDAwQTAwNDAwMDIwNDAwMDAwNDAwMDAwMDA2NTI5MDAwMERFCis6MTAxQTkwMDA0MjAwMDAwMDBBMDA0MDAwMDQ0MTAwMDA4NjYwMzUwMDVBCis6MTAxQUEwMDAwNzAwMDAwMDAyMjQwMDAwMDZBMjM2MDAwMjVDMDAwMENECis6MTAxQUIwMDBFNTI1MDAwMDQyMDAwMDAwMEEwMDQwMDA3NDQyMDAwMERBCis6MTAxQUMwMDBFNTJBMDAwMDQyMDAwMDAwMEEwMDQwMDA3NDQyMDAwMEM1Cis6MTAxQUQwMDAxMjAxNTAwMEU1MjkwMDAwNDIwMDAwMDAwQTAwNDAwMDA5Cis6MTAxQUUwMDAzNDQyMDAwMDA0NDE0NTAwMDcwMDAwMDAyMDQwMDAwMDhGCis6MTAxQUYwMDA0MDAwMDAwMEU1M0UwMDAwMjAwMDAwMDA0MDAwMDAwMDIzCis6MTAxQjAwMDBFNTJEMDAwMDUyMDE0MDAwMEEwMDUwMDA0NDUxMDQwMDNECis6MTAxQjEwMDA4NjRBMzYwMEM1MDAwMDAwRTUzRTAwMDAyMDQwMDAwMDc3Cis6MTAxQjIwMDA0MDAwMDAwMEU1MkIwMDAwNDIwMDAwMDAwQTAwNDAwMEQ5Cis6MTAxQjMwMDA1NDQyNDAwMDA3MDAwMDAwRTUyQTAwMDAyMDQwMDAwMDU5Cis6MTAxQjQwMDA0MDAwMDAwMDMyMDE1MDAwMzQwMTA0MDA3NDU2MDAwMENGCis6MTAxQjUwMDBFNTI5MDAwMDQyMDAwMjAwMEEwMDQyMDA0MjAwMDAwMEE1Cis6MTAxQjYwMDAwQTAwNTAwMDdDNDEwNTAwRTUyODAwMDA0MjAwMDAwMDBBCis6MTAxQjcwMDAwQTAwNDgwMEM1MDAwMDAwNDRDMTRDMDA4NjEwMzcwMDMwCis6MTAxQjgwMDBFNTI2MDAwMEU1MjcwMDAwNDIwMDAyMDA0QTAwNDAwMDcwCis6MTAxQjkwMDAwQTAwNTAwMDNDNDIwMDAwN0M1NjAwMDBFNTI4MDAwMDhFCis6MTAxQkEwMDAyMDQ4MDAwMDQwMDAwMDAwMTIxRDI4MDAxMjI1MjgwMEQ3Cis6MTAxQkIwMDA3MjFGMDAwMDY1MjkwMDAwNDIwMDAwMDAwQTAwNDAwMDdBCis6MTAxQkMwMDAwNDQxMDAwMDg2QUEzNzAwMDcwMDBFMDAwNzAwMTYwMDM3Cis6MTAxQkQwMDAwNzAwMUUwMEU1M0UwMDAwNDIwMDAwMDAwQTAwNDAwMDMxCis6MTAxQkUwMDAwNDQxMDAwMDg2RTgzNzAwNjUyRDAwMDA0MjAwMDAwMDM3Cis6MTAxQkYwMDAwQTM0MjgwMDY1MzQwMDAwNDIwMDAyMDA0QTAwNDIwMDE2Cis6MTAxQzAwMDAyMDQwMDAwMDRBMDA0QTAwNEEwMDUwMDBGNEQyMDUwMDdCCis6MTAxQzEwMDAwNEQxNTQwMDVDNzMwMDAwODY1MTM4MDAwNzAwMDAwMEI2Cis6MTAxQzIwMDAwNjA2MDAwMDA3MDAwODAwMDcwMDBDMDAwNzAwMDgwMDc3Cis6MTAxQzMwMDAwNzAwMEEwMEU1MDEwMDAwNDUwMDAyMDAyMDQwMDAwMDA2Cis6MTAxQzQwMDA2MDAwMDAwMDY1MDMwMDAwNDAwMDAwMDA2NTJFMDAwMEY5Cis6MTAxQzUwMDAyMDFBMDAwMDYwMUEwQTAwNDAwMDAwMDA2NTM0MDAwMEVECis6MTAxQzYwMDA0MjAwMDIwMDRBMDA0MjAwMjA0MDAwMDA0QTAwNEEwMEIwCis6MTAxQzcwMDAwNjA2MDAwMDRBMDA1MDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAxQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAxQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAxQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAxQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAxQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAxQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAxQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAxQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAxRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAxRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAxRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAxRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAxRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAxRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAxRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAxRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAxRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAxREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAxREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAxREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAxREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAxREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAxREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAxRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAxRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAxRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAxRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAxRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAxRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAxRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAxRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAxRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAxRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTAxRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTAxRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTAxRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTAxRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTAxRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTAxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MTAxRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTAxRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAxRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTAxRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAxRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAxRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAxRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAxRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAxRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAxRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAxRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAxRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAxRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAxRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAxRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQwCis6MTAyMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMwCis6MTAyMDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAyMDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAyMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAyMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MTAyMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcwCis6MTAyMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYwCis6MTAyMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUwCis6MTAyMDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQwCis6MTAyMEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMwCis6MTAyMEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIwCis6MTAyMEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCis6MTAyMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCis6MTAyMEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYwCis6MTAyMEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUwCis6MTAyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENGCis6MTAyMTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJGCis6MTAyMTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFGCis6MTAyMTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlGCis6MTAyMTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhGCis6MTAyMTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdGCis6MTAyMTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZGCis6MTAyMTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVGCis6MTAyMTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRGCis6MTAyMTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNGCis6MTAyMUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJGCis6MTAyMUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFGCis6MTAyMUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBGCis6MTAyMUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZGCis6MTAyMUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVGCis6MTAyMUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERGCis6MTAyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENFCis6MTAyMjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJFCis6MTAyMjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFFCis6MTAyMjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlFCis6MTAyMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhFCis6MTAyMjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdFCis6MTAyMjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZFCis6MTAyMjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVFCis6MTAyMjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRFCis6MTAyMjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNFCis6MTAyMkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJFCis6MTAyMkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFFCis6MTAyMkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBFCis6MTAyMkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZFCis6MTAyMkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVFCis6MTAyMkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERFCis6MTAyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENECis6MTAyMzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJECis6MTAyMzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFECis6MTAyMzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlECis6MTAyMzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhECis6MTAyMzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdECis6MTAyMzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZECis6MTAyMzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVECis6MTAyMzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRECis6MTAyMzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNECis6MTAyM0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJECis6MTAyM0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFECis6MTAyM0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBECis6MTAyM0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZECis6MTAyM0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVECis6MTAyM0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERECis6MTAyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENDCis6MTAyNDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJDCis6MTAyNDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFDCis6MTAyNDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlDCis6MTAyNDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhDCis6MTAyNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdDCis6MTAyNDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZDCis6MTAyNDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVDCis6MTAyNDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRDCis6MTAyNDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNDCis6MTAyNEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJDCis6MTAyNEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFDCis6MTAyNEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBDCis6MTAyNEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZDCis6MTAyNEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVDCis6MTAyNEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERDCis6MTAyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENCCis6MTAyNTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJCCis6MTAyNTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFCCis6MTAyNTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlCCis6MTAyNTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhCCis6MTAyNTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdCCis6MTAyNTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZCCis6MTAyNTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVCCis6MTAyNTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRCCis6MTAyNTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNCCis6MTAyNUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJCCis6MTAyNUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFCCis6MTAyNUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBCCis6MTAyNUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZCCis6MTAyNUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVCCis6MTAyNUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERCCis6MTAyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMENBCis6MTAyNjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEJBCis6MTAyNjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEFBCis6MTAyNjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDlBCis6MTAyNjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDhBCis6MTAyNjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdBCis6MTAyNjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDZBCis6MTAyNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDVBCis6MTAyNjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRBCis6MTAyNjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNBCis6MTAyNkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDJBCis6MTAyNkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDFBCis6MTAyNkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBBCis6MTAyNkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEZBCis6MTAyNkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEVBCis6MTAyNkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMERBCis6MTAyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM5Cis6MTAyNzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI5Cis6MTAyNzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE5Cis6MTAyNzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk5Cis6MTAyNzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg5Cis6MTAyNzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc5Cis6MTAyNzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY5Cis6MTAyNzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU5Cis6MTAyNzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ5Cis6MTAyNzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM5Cis6MTAyN0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI5Cis6MTAyN0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE5Cis6MTAyN0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA5Cis6MTAyN0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY5Cis6MTAyN0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU5Cis6MTAyN0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ5Cis6MTAyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM4Cis6MTAyODEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI4Cis6MTAyODIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE4Cis6MTAyODMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk4Cis6MTAyODQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4Cis6MTAyODUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc4Cis6MTAyODYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY4Cis6MTAyODcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU4Cis6MTAyODgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4Cis6MTAyODkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM4Cis6MTAyOEEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI4Cis6MTAyOEIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4Cis6MTAyOEMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4Cis6MTAyOEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY4Cis6MTAyOEUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU4Cis6MTAyOEYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ4Cis6MTAyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM3Cis6MTAyOTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI3Cis6MTAyOTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE3Cis6MTAyOTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk3Cis6MTAyOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg3Cis6MTAyOTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc3Cis6MTAyOTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY3Cis6MTAyOTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU3Cis6MTAyOTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ3Cis6MTAyOTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM3Cis6MTAyOUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI3Cis6MTAyOUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE3Cis6MTAyOUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Cis6MTAyOUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY3Cis6MTAyOUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU3Cis6MTAyOUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ3Cis6MTAyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM2Cis6MTAyQTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI2Cis6MTAyQTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE2Cis6MTAyQTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk2Cis6MTAyQTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg2Cis6MTAyQTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc2Cis6MTAyQTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY2Cis6MTAyQTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU2Cis6MTAyQTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ2Cis6MTAyQTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM2Cis6MTAyQUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI2Cis6MTAyQUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2Cis6MTAyQUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2Cis6MTAyQUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY2Cis6MTAyQUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU2Cis6MTAyQUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ2Cis6MTAyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM1Cis6MTAyQjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI1Cis6MTAyQjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE1Cis6MTAyQjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk1Cis6MTAyQjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg1Cis6MTAyQjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc1Cis6MTAyQjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY1Cis6MTAyQjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1Cis6MTAyQjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1Cis6MTAyQjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM1Cis6MTAyQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1Cis6MTAyQkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE1Cis6MTAyQkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1Cis6MTAyQkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY1Cis6MTAyQkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU1Cis6MTAyQkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ1Cis6MTAyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEM0Cis6MTAyQzEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEI0Cis6MTAyQzIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEE0Cis6MTAyQzMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDk0Cis6MTAyQzQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg0Cis6MTAyQzUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDc0Cis6MTAyQzYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDY0Cis6MTAyQzcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU0Cis6MTAyQzgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ0Cis6MTAyQzkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDM0Cis6MTAyQ0EwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI0Cis6MTAyQ0IwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE0Cis6MTAyQ0MwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0Cis6MTAyQ0QwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEY0Cis6MTAyQ0UwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEU0Cis6MTAyQ0YwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQ0Cis6MTAyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMzCis6MTAyRDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIzCis6MTAyRDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEzCis6MTAyRDMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkzCis6MTAyRDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgzCis6MTAyRDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDczCis6MTAyRDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYzCis6MTAyRDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUzCis6MTAyRDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQzCis6MTAyRDkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMzCis6MTAyREEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIzCis6MTAyREIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEzCis6MTAyREMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzCis6MTAyREQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYzCis6MTAyREUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUzCis6MTAyREYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQzCis6MTAyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMyCis6MTAyRTEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIyCis6MTAyRTIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEyCis6MTAyRTMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkyCis6MTAyRTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgyCis6MTAyRTUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcyCis6MTAyRTYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYyCis6MTAyRTcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUyCis6MTAyRTgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQyCis6MTAyRTkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyCis6MTAyRUEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIyCis6MTAyRUIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyCis6MTAyRUMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAyCis6MTAyRUQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYyCis6MTAyRUUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUyCis6MTAyRUYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQyCis6MTAyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMxCis6MTAyRjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIxCis6MTAyRjIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEExCis6MTAyRjMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkxCis6MTAyRjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgxCis6MTAyRjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcxCis6MTAyRjYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYxCis6MTAyRjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUxCis6MTAyRjgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQxCis6MTAyRjkwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMxCis6MTAyRkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIxCis6MTAyRkIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExCis6MTAyRkMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxCis6MTAyRkQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYxCis6MTAyRkUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUxCis6MTAyRkYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQxCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUveWFtYWhhL2RzMV9kc3AuZncuaWhleCBiL2Zpcm13YXJlL3lhbWFoYS9kczFfZHNwLmZ3LmloZXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiMGJhNAotLS0gL2Rldi9udWxsCisrKyBiL2Zpcm13YXJlL3lhbWFoYS9kczFfZHNwLmZ3LmloZXgKQEAgLTAsMCArMSw5IEBACis6MTAwMDAwMDA4MTAwMDAwMEE0MDEwMDAwMEEwMDAwMDAyRjAwMDAwMDkxCis6MTAwMDEwMDA1MzAyMDgwMDE3MDM4MDAxN0I0MDAwMDAzRjg0MDAwMDZBCis6MTAwMDIwMDAzQzQ4MDEwMDNDOTQwMTAwM0NEODA1MDAzQzFDMDAwMDA5Cis6MTAwMDMwMDA3QkMwMDAwMDNGMEMwNTAwM0M1MDIxMDEwMDAwMDAwMDg3Cis6MTAwMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIwCis6MTAwMDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEwCis6MTAwMDYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkwCis6MTAwMDcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwCis6MDAwMDAwMDFGRgpkaWZmIC0tZ2l0IGEvZmlybXdhcmUveWFtYWhhL2RzMWVfY3RybC5mdy5paGV4IGIvZmlybXdhcmUveWFtYWhhL2RzMWVfY3RybC5mdy5paGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5N2Y0MjkKLS0tIC9kZXYvbnVsbAorKysgYi9maXJtd2FyZS95YW1haGEvZHMxZV9jdHJsLmZ3LmloZXgKQEAgLTAsMCArMSw3NjkgQEAKKzoxMDAwMDAwMDA3MDAwMDAwMDcwMDI0MDAwNzAwMEMwMDA3MDAxQzAwODgKKzoxMDAwMTAwMDA3MDAwNjAwMDIwMDcwMDAyMDAwMDAwMDQwMDAwMzAwRkUKKzoxMDAwMjAwMDA0NzEwMDAwODY0MjAwMDA0MDAwMDMwMDBEMEYwMDAwMzQKKzoxMDAwMzAwMDEwMDgwMDAwM0EwNDIwMDA4MjAyMDAwMDBEMDIwMDAwQjcKKzoxMDAwNDAwMDEwMDgwMDAwM0EwNDIwMDA4MjEyMDAwMDgyMEUyMDAwRjYKKzoxMDAwNTAwMDBEODAwMDAwMTAwODAwMDAzQTA0MjAwMDgyMUEwMDAwMDEKKzoxMDAwNjAwMDBENDYwMzAwMTAwODAwMDAzQTA0MTAwMDBERUMwMjAwRDkKKzoxMDAwNzAwMDEwMDgwMDAwM0EwNDE4MDAwRDAxMDAwMDE1MDAwMjAwRUQKKzoxMDAwODAwMEZEMDAwMDAwMjAwMDAwMDA2MDg4MDMwMDYwOTAwMzAwNzUKKzoxMDAwOTAwMDYwODAwMzAwNDA4MDAzMDA0MDgwMDMwMDQwODAwMzAwMzQKKzoxMDAwQTAwMDQwODAwMTAwN0QwQTAwMDA0MDgwMDMwMDQwODAwMzAwODIKKzoxMDAwQjAwMDQwODAwMTAwMDIwNDIwMDA4MjA4MDAwMDFBMDAwODAwQUQKKzoxMDAwQzAwMDA0MDkwMDAwODY3MTAxMDAwNzAwMDAwMDA3MDAyNjAwRjcKKzoxMDAwRDAwMDA3MDA0MDAwMDcwMDAwMDA4RDI1MDMwMDEwMDgwMDAwMDUKKzoxMDAwRTAwMDNBMDQxODAwMDcwMDI2MDAwMjQ0MjgwMDdEMDgwMDAwOUEKKzoxMDAwRjAwMDQyODAwMTAwMEExNjAwMDAwNkEyMDUwMDA3MDAwMDAwNjkKKzoxMDAxMDAwMDA3MDA0NDAwMEQyMzAwMDAxMDA4MDAwMDNBMDQwODAwMTYKKzoxMDAxMTAwMDA2RkEyMjAwMDcwMDAwMDBGRDA3MDAwMDQyODAwMTAwRUYKKzoxMDAxMjAwMDBBMDAwODAwMDQwOTAwMDA4NkFCMDIwMDk1MDEwMDAwRTcKKzoxMDAxMzAwMDA0MEQwOTAwMDcwMDAwMDAyMDA4MDAwMEY1MDAwMDAwODEKKzoxMDAxNDAwMDdEMEIwMDAwNjBGMDAxMDBGRDAwMDAwMDA2M0EwMzAwOTYKKzoxMDAxNTAwMDQwODAwMTAwN0QwQTAwMDA0MjgwMDMwMDRBODAxMzAwQjUKKzoxMDAxNjAwMDBBMDAxODAwMjAxODAwMDA2MDkwMDUwMDYwODgwNTAwNTMKKzoxMDAxNzAwMDQwODAwMTAwRkQwMDAwMDA0MjgwMDEwMDBBMDA3MDAwODQKKzoxMDAxODAwMDE1MDEwMDAwNDQxMTA3MDA4NjNCMDMwMDAwMDAwMzAwMzYKKzoxMDAxOTAwMDIwNzAwMDAwMDY2MjAzMDA0MDgwMDEwMDBEMzYwMDAwNjAKKzoxMDAxQTAwMDEwMDgwMDAwM0EwNDA4MDAwNjIyMjMwMDA3MDAwMDAwOUYKKzoxMDAxQjAwMDBERUMwMjAwMTAwODAwMDAzQTA0MTgwMDA2OUEwMTAwMzUKKzoxMDAxQzAwMDA3MDAwMDAwMDcwMDI0MDA4RDBGMDAwMDEwMDgwMDAwNDkKKzoxMDAxRDAwMDNBMTYwMDAwMDIyNDAwMDAwMjVDMDAwMEZEMjgwMDAwMjYKKzoxMDAxRTAwMDIwMDAwMDAwNDA4MDAxMDAwRDAwMDgwMDE1MDgwMDAwRkMKKzoxMDAxRjAwMDg0MDk1MTAwMDcwMDAwMDA0RDAwMDAwMDVEMEUwMDAwNjIKKzoxMDAyMDAwMDAyMEUwMDAwMEQ0MzAwMDAxMDA4MDAwMDNBMDQwODAwMzAKKzoxMDAyMTAwMDA2MTIyRTAwMDcwMDAwMDA4RDAwMDAwMDI0MDkwMDAwRDcKKzoxMDAyMjAwMDAyMEYwMDAwMEQ0NzAwMDAxMDA4MDAwMDNBMDQwODAwMEIKKzoxMDAyMzAwMDA2MTIyRTAwMDcwMDAwMDA4MDA0NDgwMDEwMTIwMDAwODMKKzoxMDAyNDAwMDNBMDQyODAwOEQ3NzAwMDAxMDA4MDAwMDNBMEMyODAwQkUKKzoxMDAyNTAwMDhEMDYwMDAwMTAwODAwMDAzQTE0MjgwMDAyNDQyODAwMEYKKzoxMDAyNjAwMDhEMjUwMzAwMTAwODAwMDAzQTA0MTgwMDhERkYwNzAwRDgKKzoxMDAyNzAwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDA3MDAyNjAwNjkKKzoxMDAyODAwMDA3MDAyMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwNzMKKzoxMDAyOTAwMDA0MDkwMDAwODYxMjA1MDAwNzAwMDAwMDA3MDAyNDAwODIKKzoxMDAyQTAwMDBERUMwMjAwMTAwODAwMDAzQTA0MTgwMDdEMzgwMDAwMzAKKzoxMDAyQjAwMDQyODAwMTAwMEEwMDA4MDAxNTEwMDAwMDg0MDkwMTAwQjYKKzoxMDAyQzAwMDg2OUIwMTAwMDcwMDAwMDAwNkIyMDEwMDA3MDAwMDAwNDUKKzoxMDAyRDAwMEZEMDgwMDAwNDI4MDAxMDAwQTAwMTgwMDA0MTkwMDAwMTcKKzoxMDAyRTAwMDg2QjgyMjAwMDcwMDI4MDAxMDE4MDAwMDNBMDQyODAwRjEKKzoxMDAyRjAwMDAyMEMyODAwMEQwMDAwMDAxMDA4MDAwMDNBMTQyODAwMkQKKzoxMDAzMDAwMDhEODAwODAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwRjAKKzoxMDAzMTAwMDA3MDAyMDAwMEQwMjAwMDAwNDk5MTgwMDA3MDAwMDAwRUIKKzoxMDAzMjAwMDJENDAwMDAwQkQwMDAwMDBGRDAyMDAwMDQyODAwMTAwRTEKKzoxMDAzMzAwMDBBMDAwODAwMDQwOTAwMDA4NjVBMDYwMDA3MDAwMDAwQjEKKzoxMDAzNDAwMDAwMDEwMDAwMjAwQTAwMDA3RDA0MDAwMDQwODAwMTAwNDAKKzoxMDAzNTAwMDQyODAwMTAwMEEwMDIwMDAxNTMwMDAwMDQ0MjEwMTAwMDUKKzoxMDAzNjAwMDg2NjEwMzAwMDcwMDAwMDAwNDIxMDAwMDg2NjEwMzAwOEQKKzoxMDAzNzAwMDA3MDAwMDAwOEQwRjAwMDAxMDA4MDAwMDNBMEMyODAwNTQKKzoxMDAzODAwMDQ0MzkwMjAwODZDOTA3MDAwNzAwMDAwMDEwMTgwMDAwNjkKKzoxMDAzOTAwMDNBMDQyODAwMEQ4MTA4MDAyMDA4MDAwMEZEMDIwMDAwM0EKKzoxMDAzQTAwMDQwODAwMTAwMDcwMDIwMDAxMDI4MDAwMDNBMDA3ODAwN0IKKzoxMDAzQjAwMDhENzgwMDAwMTAwODAwMDAzQTA0MDgwMDA2MTIyQTAwOTgKKzoxMDAzQzAwMDA3MDAwMDAwMEQ0MDAwMDAxNTEwMDAwMDA0OTkxODAwRkYKKzoxMDAzRDAwMDA0MjkyOTAwMDQzOTM5MDAwNzAwMDAwMDA2MDIwNzAwM0IKKzoxMDAzRTAwMDA3MDAwMDAwRjUwNDAwMDA3RDAwMDAwMDIwMDAwMDAwNzAKKzoxMDAzRjAwMDhEMDAwMDAwNjAwODAxMDA0MDgwMDEwMDdEMDQwMDAwQzUKKzoxMDA0MDAwMDQyODAwMzAwNEE4MDIxMDAwQTAwMTgwMDQ0MTkwMjAwQkIKKzoxMDA0MTAwMDg2OTAyMjAwMDcwMDAwMDA3NTQwMDAwMDA0RjE3MTAwODIKKzoxMDA0MjAwMDA3MDAwMDAwNDIwMDAxMDAwQTAwMjgwMDA0MjkwMDAwMjMKKzoxMDA0MzAwMDg2NTgyMjAwMDcwMDAwMDAwRDNDMDAwMDA0QTkzMDAwOEYKKzoxMDA0NDAwMDA3MDAwMDAwN0QwNzAwMDA0MjgwMDEwMDBBMDAwODAwNEMKKzoxMDA0NTAwMDA0MDkwMDAwODZEQTA4MDA3RDA1MDAwMDIwMjgwMDAwNUQKKzoxMDA0NjAwMDYwQjAwMzAwMDZGMjA4MDA0MDgwMDEwMDIwMzAwMDAwNjgKKzoxMDA0NzAwMDYwQTgwMzAwNDA4MDAxMDBGRDAyMDAwMDQyODAwMTAwRUUKKzoxMDA0ODAwMDBBMDAwODAwMDQwOTAwMDA4NkZBMDgwMDA3MDAwMDAwQkUKKzoxMDA0OTAwMDdEMDUwMDAwNDI4MDAxMDAwQTA0MjgwMDhEMEUwMDAwNDYKKzoxMDA0QTAwMDEwMDgwMDAwM0EwQzI4MDAwRDAwMDAwMDEwMDgwMDAwQTEKKzoxMDA0QjAwMDNBMTQyODAwMEQwMDA5MDAyMDA4MDAwMEZEMDIwMDAwODkKKzoxMDA0QzAwMDQwODAwMTAwMDcwMDIwMDBGRDNEMDAwMDIwMDAwMDAwRUEKKzoxMDA0RDAwMDQwODAwMTAwN0QxMDAwMDA4RDlEMDAwMDEwMDgwMDAwOEMKKzoxMDA0RTAwMDNBMDQwODAwMDYxMjJBMDAwNzAwMDAwMDE1MDgwMDAwNjAKKzoxMDA0RjAwMDFBMDAwODAwODQwOTAxMDA4NjUxMEEwMDdEMTMwMDAwREIKKzoxMDA1MDAwMDAwMDUyMDAwMjAwRjI4MDA2MDhGMzMwMDYwOEYzQjAwMjMKKzoxMDA1MTAwMDYwOEY0MzAwNjA4RjRCMDA2MDhGNTMwMDYwOEY1QjAwRTMKKzoxMDA1MjAwMDYwOEEwMzAwNDA4MDAxMDA3RDEwMDAwMDQyODAwMTAwQ0QKKzoxMDA1MzAwMDBBMDAwODAwMTUwMjAwMDA4NDA5MDEwMDg2ODEzQTAwQzMKKzoxMDA1NDAwMDA3MDAwMDAwQkQ3RjAwMDBDNDNEMzgwMDA3MDAwMDAwMjgKKzoxMDA1NTAwMDdEMUEwMDAwNzUxMzAwMDA0MjgwMDEwMDRBMDAwOTAwNjYKKzoxMDA1NjAwMDBBMDAxMDAwMDQ4RDBCMDAwNDk1MTMwMDA3MDAwMDAwMjIKKzoxMDA1NzAwMDIwMDgwMDAwNjA5MDAxMDAwNDExMDAwMDg2NTgyMjAwNEQKKzoxMDA1ODAwMDQwMDAwMTAwRkQxNzAwMDA0MjgwMDEwMDBBMDAwODAwNDEKKzoxMDA1OTAwMDA0MDkwMDAwODY1QTIyMDAwNzAwMDAwMDdEMTkwMDAwQUYKKzoxMDA1QTAwMDQyODAwMzAwNEE4MDA5MDAwQTAwMTAwMDI0MDkwMDAwNkMKKzoxMDA1QjAwMDY0MTYwMDAwRkQxMTAwMDA0MjgwMDMwMDRBODAyQjAwRjkKKzoxMDA1QzAwMDRBODAxOTAwOEQwMDAwMDA0NDg5MjEwMDA3MDAwMDAwQzYKKzoxMDA1RDAwMDQ0MjIwMDAwODYxOTBDMDAwNzAwMDAwMDY0MUEwMDAwODUKKzoxMDA1RTAwMDI0MkEwMDAwN0QxOTAwMDAwMjAxMDgwMDIyMDExMDAwRTkKKzoxMDA1RjAwMDIwMDgwMDAwNjA5MDAzMDA0MDgwMDEwMEZEM0QwMDAwRTUKKzoxMDA2MDAwMDhEMDAwMDAwMjAwODAwMDA0MDgwMDEwMDc1MTMwMDAwRUMKKzoxMDA2MTAwMDdEMUEwMDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwMTMKKzoxMDA2MjAwMDFEMDIwMDAwRTQ4OTAxMDBFNDkyMjkwMDQ0OTEzMDAwOTkKKzoxMDA2MzAwMDA3MDAwMDAwMEQwNjAwMDAxNTBBMDAwMDFEMEMwMDAwNTgKKzoxMDA2NDAwMDI1MTAwMDAwRTRBOTAwMDBFNDJCMDEwMDY0MDQwMDAwNzAKKzoxMDA2NTAwMEU0QjMwMTAwRTQzMjAyMDA2NDA0MDAwMDY0MDQwMDAwMUEKKzoxMDA2NjAwMDY0MDQwMDAwNjQwNDAwMDAwRDA0MDAwMEM0QjEwODAwMkMKKzoxMDA2NzAwMDA3MDAwMDAwMjAwODAwMDBGNTBCMDAwMDQwMDAwMzAwMDgKKzoxMDA2ODAwMDdEMTkwMDAwNDI4MDAzMDA0QTgwMDkwMDI0MEEwMDAwMEUKKzoxMDA2OTAwMDBBMDAwODAwNjQwRTA4MDAwNzAwMDAwMDIyMDExMDAwOTQKKzoxMDA2QTAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDEwMEFDNjQwMDAwNUUKKzoxMDA2QjAwMDdEMDIwMDAwMjAwMDAwMDA0MDgwMDEwMDdEMTAwMDAwNEQKKzoxMDA2QzAwMDQyODAwMTAwRkQxMTAwMDA0QTgwM0IwMDRBODAwOTAwODEKKzoxMDA2RDAwMDBBMDAyMDAwOTUwMDAwMDA0NDExMUEwMDQ0QTEwMDAwMDcKKzoxMDA2RTAwMDg2NTgwRTAwMEQwNDAwMDA4NEI5MDAwMDg2NTkwRTAwRTMKKzoxMDA2RjAwMEZEMTgwMDAwNDI4MDAxMDBGRDEwMDAwMDRBODAwOTAwNDIKKzoxMDA3MDAwMDBBMDAyODAwOTUwMDAwMDAyNDA5MDEwMDY0MkEwMDAwNjYKKzoxMDA3MTAwMDg2NDkwRTAwMDcwMDAwMDAwNDI5MDAwMDg2NUEwRTAwREEKKzoxMDA3MjAwMDA3MDAwMDAwMDY2MjBFMDAwMjAwMDgwMDhEMDAwMDAwQjUKKzoxMDA3MzAwMDdEMzgwMDAwMjAwODAwMDA0MDgwMDEwMDdEMTIwMDAwOEMKKzoxMDA3NDAwMDQyODAwMTAwMEEwMDEwMDAwNDM5MDAwMDg2MDkwRjAwRjEKKzoxMDA3NTAwMDBEMDgwMDAwQjVGRjdGMDA4NEI5MDAwMDg2RDkwRTAwQTcKKzoxMDA3NjAwMDI1MDAwMDAwMDZCMjBGMDAyRDAwMDAwMDE1MDAwMDAwNUIKKzoxMDA3NzAwMDJEMDgwMDAwMERFMDAyMDAyMDA4MDAwMDA2RkEwRjAwMUUKKzoxMDA3ODAwMDBEMDAwMDAwMzU4MDdGMDA4NEI5MDAwMDg2QTkwRjAwQUQKKzoxMDA3OTAwMDI1MDA0MDAwOEQwMDAwMDA0NDA5MTEwMDA3MDAwMDAwMDIKKzoxMDA3QTAwMDhEMDEwMDAwMDQ5NTEwMDAwNzAwMDAwMDY0OTEwMDAwMTYKKzoxMDA3QjAwMDI0MDQwMDAwMjQwNDAwMDAyNDA0MDAwMDAyMDExMDAwQUUKKzoxMDA3QzAwMDAyMDAyODAwMERERjAyMDAyMDA4MDAwMDA2RkEwRjAwREEKKzoxMDA3RDAwMDhEMDEwMDAwMkQwNDAwMDA4RDAwMDAwMDA0OTUxMDAwMjQKKzoxMDA3RTAwMDA3MDAwMDAwMEQwMjAwMDA4NDkxMTAwMDA3MDAwMDAwQzcKKzoxMDA3RjAwMDhEREYwMjAwMjAwODAwMDA4RDAwMDAwMEZEMzgwMDAwQTEKKzoxMDA4MDAwMDQwODAwMTAwRkQzQjAwMDAyMDEwMDAwMDYwQTgwMzAwQjQKKzoxMDA4MTAwMDE1MDgwMDAwODQzMTMxMDA4NDIxMjEwMDA3MDAwMDAwMDgKKzoxMDA4MjAwMDYwQjAwMzAwNjBBMDAzMDA0MDgwMDEwMEZEMjIwMDAwRDIKKzoxMDA4MzAwMDk1MDAwMDAwMjQwOTAxMDAyNDA0MDAwMDI0MDQwMDAwQTUKKzoxMDA4NDAwMDY0MTIwMDAwMDIwMTEwMDAyMDA4MDAwMDYwOTAwMzAwMDQKKzoxMDA4NTAwMDQwODAwMTAwMjQxOTAwMDAwRDBGMDEwMDdEMzkwMDAwQzcKKzoxMDA4NjAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMDRBODQwOTAwRkYKKzoxMDA4NzAwMDA2MDYwMDAwMEEwNDA4MDAyNDA0MDAwMDI0MDQwMDAwMDYKKzoxMDA4ODAwMDdEMTEwMDAwNDI4MDAxMDAwQTAwMDgwMDI0MEEwMDAwRDcKKzoxMDA4OTAwMDAyMDUyODAwMDIwQzI4MDAwRDgwMDkwMDIwMDgwMDAwMzUKKzoxMDA4QTAwMEZEMDIwMDAwNDA4MDAxMDAwNzAwMjAwMEZEMjIwMDAwNDIKKzoxMDA4QjAwMDQyODAwMTAwMEEwMDA4MDA5NTAwMDAwMEM0MEQyODAwRDUKKzoxMDA4QzAwMDI0MTkwMTAwN0QxOTAwMDA0MjgwMDEwMEZEMTEwMDAwODMKKzoxMDA4RDAwMDRBODAwOTAwMEEwMDEwMDBCNTAwMDAwMDQ0MzExMTAwRjAKKzoxMDA4RTAwMDA0OEQwQTAwMDcwMDAwMDA0NDBBMDgwMDA0OTUxMjAwNjUKKzoxMDA4RjAwMDA3MDAwMDAwRkQyMzAwMDAyMDEwMDAwMDQwODAwMzAwREUKKzoxMDA5MDAwMDQ0MTIxMDAwMDcwMDAwMDAyMDA4MDAwMDYwOTAwMzAwNUYKKzoxMDA5MTAwMDQwODAwMTAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwNDIKKzoxMDA5MjAwMDA0MDkwMDAwODYzMjEyMDAwNzAwMDAwMEZEM0IwMDAwQjEKKzoxMDA5MzAwMDAwMDEwMDAwMTAwQTAwMDA3QTgwMEIwMDRBODAxMzAwQkEKKzoxMDA5NDAwMDg0MDkwOTAwMDcwMDAwMDA5NTAwMDAwMDA0M0QwMTAwMzMKKzoxMDA5NTAwMDg2QjgxMjAwMEEwMDEwMDAwMjAwMTAwMDg0MDkwOTAwODUKKzoxMDA5NjAwMDA3MDAwMDAwNDI4MDAzMDA0QTgwMTEwMDA0MEQwOTAwQzYKKzoxMDA5NzAwMDA3MDAwMDAwMEEwMDEwMDA4NDBEMDkwMDA3MDAwMDAwQjUKKzoxMDA5ODAwMDdEMjUwMDAwMjAwODAwMDA0MDgwMDEwMDBEMDEwMDAwQ0UKKzoxMDA5OTAwMDEwMDgwMDAwM0ExNDI4MDA3RDEyMDAwMDQyODAwMTAwNzcKKzoxMDA5QTAwMDBBMDAyMDAwN0QxOTAwMDA0MjgwMDEwMDdEMTEwMDAwMzYKKzoxMDA5QjAwMDRBODAzMTAwMEEwMDEwMDAyNDMxMDAwMDhEM0IwMTAwMDQKKzoxMDA5QzAwMDdEMzkwMDAwMjAwODAwMDA0MDgwMDUwMDQyODAwMzAwQkYKKzoxMDA5RDAwMDRBODQwOTAwMDYwNjAwMDAwQTA0MDgwMDAyMDEzMDAwRUIKKzoxMDA5RTAwMDI0MzEwMDAwMjQwNDAwMDAyNDA0MDAwMDI0MTIwMDAwMkMKKzoxMDA5RjAwMDAyMDUyODAwNEMxQTAwMDA4NjM5MTQwMDAyMDA3MDAwMUQKKzoxMDBBMDAwMDJEMDAwMDAwMDAwMDAzMDA3RDM4MDAwMDQyODAwMTAwM0UKKzoxMDBBMTAwMDBBMDAxMDAwMDY2MjE0MDAyNDIxMDAwMEFEMDAwMDAwNEUKKzoxMDBBMjAwMDAyMDAxMDAwMEQwMTAwMDAyNDA5MDAwMDI0NkIwMDAwRUEKKzoxMDBBMzAwMDBENEEwMTAwN0QzOTAwMDAyMDA4MDAwMDQwODAwNTAwQkIKKzoxMDBBNDAwMDQyODAwMzAwNEE4NDA5MDAwNjA2MDAwMDBBMDQwODAwRTgKKzoxMDBBNTAwMDY0MzIwMDAwOEQwMDAwMDAyNDBBMDAwMDIwMTAwMDAwMTUKKzoxMDBBNjAwMDdEMjIwMDAwNDA4MDAxMDA4RDRGMDEwMDEwMDgwMDAwMzEKKzoxMDBBNzAwMDNBMDQwODAwMDY1QTJCMDAwNzAwMDAwMDIwMjgwMDAwNTYKKzoxMDBBODAwMDdEMjAwMDAwNDA4MDAxMDA3RDExMDAwMDQyODAwMzAwQjUKKzoxMDBBOTAwMDRBODAxMzAwMEE4MDMzMDA3RDM4MDAwMDQyODAwMTAwNDQKKzoxMDBBQTAwMDBBMDAwODAwMDQwOTAwMDA4NjcyMTcwMDA3MDAwMDAwMTEKKzoxMDBBQjAwMDhEMDAwMDAwNjQwOTAzMDAwRDVCMDEwMDdEMzkwMDAwMUEKKzoxMDBBQzAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMDRBODQwOTAwOUQKKzoxMDBBRDAwMDA2MDYwMDAwMEEwNDA4MDAwMjAxMzgwMDI0MDQwMDAwOTEKKzoxMDBBRTAwMDI0MDQwMDAwMjQxMjAwMDBGRDAyMDAwMDQyODAwMTAwRTYKKzoxMDBBRjAwMDBBMDAwODAwMDQwOTAwMDA4NkRBMTUwMDA3MDAwMDAwNUIKKzoxMDBCMDAwMDAyMDUyODAwNEMxQTAwMDA4NjcxMTcwMDA3MDAwMDAwM0IKKzoxMDBCMTAwMDY0MjEwMzAwMkM2MzAwMDBGRDNEMDAwMDQyODAwMTAwQzEKKzoxMDBCMjAwMDBBMDAwODAwOTUwMDAwMDAwNDA5MDkwMDA3MDAwMDAwMDEKKzoxMDBCMzAwMDIwMDgwMDAwNEMxQTAwMDA4Njk5MTYwMDQwODAwMTAwMzEKKzoxMDBCNDAwMDAwMDAwMzAwMDZCMjE2MDAyNDIxMDAwMDBEMDEwMDAwODEKKzoxMDBCNTAwMDI0MDkwMDAwMjQ2QjAwMDAwRDZGMDEwMDdEMzkwMDAwQTYKKzoxMDBCNjAwMDIwMDgwMDAwNDA4MDA1MDA0MjgwMDMwMDRBODQwOTAwRkMKKzoxMDBCNzAwMDA2MDYwMDAwMEEwNDA4MDA2NDNBMDAwMDk1MDAwMDAwMjAKKzoxMDBCODAwMDI0MTIwMDAwRkQwMjAwMDA0MjgwMDEwMDBBMDAwODAwNUIKKzoxMDBCOTAwMDA0MDkwMDAwODYxMjE3MDAwNzAwMDAwMDBENzYwMTAwMEUKKzoxMDBCQTAwMDEwMDgwMDAwM0EwNDA4MDAwNjVBMkIwMDA3MDAwMDAwNTUKKzoxMDBCQjAwMDA2MEExNjAwMDcwMDAwMDAyMDcwMDAwMDBBMDEwODAwNjUKKzoxMDBCQzAwMDJBMDExMDAwRkQyMDAwMDA2MDg4MDMwMDYwOTAwMzAwRUYKKzoxMDBCRDAwMDQwODAwMTAwN0QyMjAwMDA0MjgwMDEwMEZEM0QwMDAwQjgKKzoxMDBCRTAwMDBBMDAwODAwNEE4NDMxMDAwNDA5MDAwMDg2MTAxODAwMzkKKzoxMDBCRjAwMDhCMDAxODAwOEQwMDAwMDAwNDk5MTgwMDJDMzEwMDAwQjMKKzoxMDBDMDAwMDA2RTIxODAwMDcwMDAwMDA0QzMyMDAwMDg2NkIxODAwNTYKKzoxMDBDMTAwMDA3MDAwMDAwMDQxOTAwMDA4NjY4MTgwMDA3MDAwMDAwQTMKKzoxMDBDMjAwMDk1MDAwMDAwNDQ5MTE5MDAyQzIyMDAwMDI0MzEwMDAwOUUKKzoxMDBDMzAwMDZDNjMwMDAwM0QwRTAwMDA3NTEzMDAwMEZEMEIwMDAwMEEKKzoxMDBDNDAwMDQyMDAwMTAwNEE4MDA5MDAwQTAwMTAwMEVDOEEwMzAwRkIKKzoxMDBDNTAwMEVDOTMwMzAwNEMyMjAwMDA4NkUxMTgwMDA3MDAwMDAwMUUKKzoxMDBDNjAwMDhEMDAwMDAwMDQ5OTE4MDA2QzIyMDAwMDJDMzIwMDAwNTYKKzoxMDBDNzAwMDBBMDUzMDAwQUIxRDMwMDA4MzIwMDAwMEZEMTgwMDAwODUKKzoxMDBDODAwMDQyODAwMTAwMEEwMDA4MDAyNDg5MDEwMDAyMDUzMDAwQUEKKzoxMDBDOTAwMDgzMTAwMDAwNzUxODAwMDA0MjAwMDEwMDBBMDAxMDAwRDcKKzoxMDBDQTAwMDhEMDAwMDAwMjQwOTAxMDA3NTEzMDAwMDQyMDUzMzAwODcKKzoxMDBDQjAwMENCMEMzMzAwQ0IyQzMzMDBDQjM0MzMwMENCM0MzMzAwOTQKKzoxMDBDQzAwMENCNDQzMzAwQ0I0QzMzMDBDQjU0MzMwMDhCNUMzMDAwMkYKKzoxMDBDRDAwMDgzNjAwMDAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwRTUKKzoxMDBDRTAwMDA0MDkwMDAwODZCMjE5MDAwNzAwMDAwMDJEMUUwMDAwNTQKKzoxMDBDRjAwMEZEMDUwMDAwNDI4MDAxMDAwQTAwMDgwMDI0ODkwMjAwNkUKKzoxMDBEMDAwMDAyMDUyODAwMEQwNjAwMDAxMDA4MDAwMDNBMEMyODAwMUIKKzoxMDBEMTAwMDhEMDAwMDAwMTAwODAwMDAzQTE0MjgwMDhEODAwQTAwQTEKKzoxMDBEMjAwMDIwMDgwMDAwRjUwMjAwMDA0MDAwMDEwMDA3MDAyMjAwM0EKKzoxMDBEMzAwMDc1MTIwMDAwNDIwMDAzMDA0QTAwMjEwMDhEMDAwMDAwRUYKKzoxMDBENDAwMDQ0MDkxQTAwMDcwMDAwMDA4REFCMDEwMDEwMDgwMDAwRTQKKzoxMDBENTAwMDNBMDQwODAwMDZBQTJDMDAwNzAwMDAwMEY1MDEwMDAwNzQKKzoxMDBENjAwMDQyMDAwMzAwNEEwMDBEMDAwQTAwMTAwMDQ0OTEwODAwRjAKKzoxMDBENzAwMDA3MDAwMDAwMjAwODAwMDA0MDAwMDEwMEY1MjUwMDAwRTkKKzoxMDBEODAwMDQ0MzEwQTAwMDcwMDAwMDAyMDA4MDAwMDYwMjgwMzAwMkEKKzoxMDBEOTAwMDQwMDAwMzAwN0QyMTAwMDA0MjgwMDMwMDRBODAwQjAwRDgKKzoxMDBEQTAwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMzAwNEIKKzoxMDBEQjAwMDhEMDAwMDAwMjQwMTAwMDAyQzAxMDAwMDY0MEUwMDAwRTIKKzoxMDBEQzAwMDY0MUEwMDAwNkM2MzAwMDAwQTAxMDgwMDJBMDExMDAwODgKKzoxMDBERDAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMEZEMjAwMDAwMTgKKzoxMDBERTAwMDQyODAwMTAwMEEwMDA4MDA3RDIyMDAwMDQyODAwMTAwQ0MKKzoxMDBERjAwMDBBMDAxMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMzAwRkIKKzoxMDBFMDAwMDdEMTkwMDAwNDI4MDAxMDAwQTAwMDgwMEZEMjIwMDAwNTgKKzoxMDBFMTAwMDQyODAwMzAwMEEwMDEwMDAyMDA4MDAwMDYwMTAwMzAwNTgKKzoxMDBFMjAwMDQwMDAwMzAwMDQwRDA5MDAwNzAwMDAwMDIwMDgwMDAwMzYKKzoxMDBFMzAwMDQwMDAwMzAwNDI4MDAzMDA0QTgwMEIwMDBBMDAxMDAwQkIKKzoxMDBFNDAwMDIwMDgwMDAwNjAxMDAzMDA0MDAwMDMwMDQyODAwMzAwRkYKKzoxMDBFNTAwMDRBODAxMzAwNEE4MDE5MDAwNDBEMTEwMDA0OEQxOTAwMDYKKzoxMDBFNjAwMDA3MDAwMDAwMEEwMDA4MDAyMDEwMDAwMDYwMTgwMzAwQkUKKzoxMDBFNzAwMDYwMDgwMzAwNDAwMDAzMDA4RDAwMDAwMDQ0MDkwQjAwREYKKzoxMDBFODAwMDA3MDAwMDAwMjAwODAwMDA0MDAwMDEwMEY1MDUwMDAwRjgKKzoxMDBFOTAwMDQyMDAwMzAwMEEwMDA4MDAyMDA4MDAwMDQwMDAwMTAwOTIKKzoxMDBFQTAwMEY1MDAwMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwRUIKKzoxMDBFQjAwMDg2OTgxRDAwNzUxRTAwMDA0MjAwMDMwMDRBMDQwMTAwRDAKKzoxMDBFQzAwMDBBMEMwMDAwMDZBQTFEMDAwNzAwMDAwMDAyMDQwMDAwMzIKKzoxMDBFRDAwMDAyMEMwMDAwN0QxNzAwMDBGNTFBMDAwMDQyODAwMTAwOUUKKzoxMDBFRTAwMDRBMTQwMzAwNEExQzAzMDA0QTI0MDMwMDRBMkMwMzAwNEUKKzoxMDBFRjAwMDRBMzQwMzAwNEEzQzAzMDA0QTQ0MDMwMDBBNEMwMDAwMDEKKzoxMDBGMDAwMDNEMDQwMDAwRjUxMzAwMDBGRDFBMDAwMDQyMDAwMzAwM0MKKzoxMDBGMTAwMDRBMDAwQjAwNEE4MDFCMDA0QTgwMTMwMDBBMDAyMDAwOTAKKzoxMDBGMjAwMDQ0OTEwODAwNDRBMTE5MDBFNDg5MDMwMEVDOTkwMzAwRUUKKzoxMDBGMzAwMDAyNTUwMDAwMEE1RDAwMDA0MjAwMDMwMDRBMDAwQjAwNTkKKzoxMDBGNDAwMDRBODAxQjAwNEE4MDEzMDAwQTAwMjAwMDQ0OTEwODAwRDgKKzoxMDBGNTAwMDQ0QTExOTAwRTQ4OTAzMDBFQzk5MDMwMDAyNjUwMDAwMzQKKzoxMDBGNjAwMDBBNkQwMDAwNDIwMDAzMDA0QTAwMEIwMDRBMDAxOTAwMEQKKzoxMDBGNzAwMDRBODAyQjAwNEE4MDEzMDA0QTgwMjEwMDBBMDAzMDAwN0EKKzoxMDBGODAwMDQ0OTEwODAwNDRBMTE5MDA0NEIxMkEwMEU0ODkwMzAwRjcKKzoxMDBGOTAwMEVDOTkwMzAwMDI3NTAwMDAwQTdEMDAwMEU0QTkwMzAwM0IKKzoxMDBGQTAwMDAyMDcwMDAwN0QxMDAwMDAxNTA0MDAwMDQyODAwMTAwQ0YKKzoxMDBGQjAwMDBBMDAwODAwRTQwOTAxMDAwMjBGMDAwMEY1MkEwMDAwMDEKKzoxMDBGQzAwMEZEMTkwMDAwNDIwMDAxMDA0QTgwMDkwMDBBMDAxMDAwREIKKzoxMDBGRDAwMDM0MDkwMDAwNzQxNjAwMDBGNTI5MDAwMDQyMDAwMTAwRTkKKzoxMDBGRTAwMDBBMDAxMDAwN0M5MTAwMDA3NTIwMDAwMDQyMDAwMTAwMDIKKzoxMDBGRjAwMDBBMDAwODAwMDQwOTAwMDA4NjBBMjAwMEY1MjYwMDAwMDcKKzoxMDEwMDAwMEY1MjcwMDAwNDIwMDAzMDA0QTAwMDkwMDBBMDAxMDAwMTIKKzoxMDEwMTAwMDNDMEEwMDAwN0MxNjAwMDA3NTFBMDAwMEZEMEIwMDAwNjEKKzoxMDEwMjAwMDQyMDAwMTAwNEE4MDUxMDAwQTAwNDgwMDA3MDAxNjAwRjMKKzoxMDEwMzAwMDc1MTAwMDAwNDIwMDAxMDAwQTJDMjgwMDEyMUQyODAwMzMKKzoxMDEwNDAwMDEyMjUyODAwMzIxRjAwMDAwNzAwMUUwMDA3MDAwRTAwQjYKKzoxMDEwNTAwMDc1MTkwMDAwNDIwMDAxMDBGNTJEMDAwMDRBMDAwRDAwNDYKKzoxMDEwNjAwMDBBMDAxMDAwNDQ5MTAwMDA4NkVBMjAwMDQyMDAwMTAwQkUKKzoxMDEwNzAwMDBBMzQyODAwNUQwRTAwMDA4RDAwMDAwMDc1MDMwMDAwOUEKKzoxMDEwODAwMDIwMDgwMDAwNDAwMDAxMDBGNEQyMDUwMDA0RDE1NDAwMDMKKzoxMDEwOTAwMDVDNzMwMDAwODY4QjIxMDAwNzAwMDAwMDA3MDAwQzAwMzUKKzoxMDEwQTAwMDA3MDAwODAwMDcwMDBBMDA4RDE3MDIwMDEwMDgwMDAwNjIKKzoxMDEwQjAwMDNBMDQwODAwMDZCMjM0MDAwNzAwMDAwMDA2OTIyMTAwM0UKKzoxMDEwQzAwMDA3MDAwMDAwMDcwMDA4MDA3NTIyMDAwMDQyMDAwMTAwMzAKKzoxMDEwRDAwMDBBMDAyMDAwMDQyMTAwMDA4NjU4MjIwMDJEMUUwMDAwNzYKKzoxMDEwRTAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwQTcKKzoxMDEwRjAwMDg2Q0EyMTAwMDcwMDAwMDAxMDIwMDAwMDNBMDQzMDAwREEKKzoxMDExMDAwMDdEMDUwMDAwQzM4MDAxMDAwQTAwMDgwMDI0ODkwMjAwNTgKKzoxMDExMTAwMDAyMDUyODAwMDIwQzI4MDAwRDgxMEEwMDIwMDgwMDAwQUEKKzoxMDExMjAwMEY1MDIwMDAwNDAwMDAxMDAwNzAwMjIwMEZEMDQwMDAwNUQKKzoxMDExMzAwMDQyODAwMTAwMEEwMDcwMDAwMDAwMDMwMDIwNzAwMDAwREYKKzoxMDExNDAwMDA2RkEwNzAwNDA4MDAxMDA4RDJCMDIwMDEwMDgwMDAwMDUKKzoxMDExNTAwMDNBMDQwODAwMDZBQTJDMDAwNzAwMDAwMEZEMDIwMDAwNjcKKzoxMDExNjAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2QzIyMjAwMzMKKzoxMDExNzAwMDA3MDAwMDAwMDYwMjAyMDAwNzAwMDAwMDc1MDgwMDAwREEKKzoxMDExODAwMEZEMDkwMDAwMEQwMTAwMDAwNjQyMjMwMDk1MDIwMDAwNDkKKzoxMDExOTAwMDc1MEIwMDAwN0QwOTAwMDAwRDAwMDAwMDE1MDUwMDAwMjIKKzoxMDExQTAwMDQyMDAwMTAwMEEwMDE4MDAwNDE5MDAwMDg2MDAyQTAwMEQKKzoxMDExQjAwMEY1MDYwMDAwMjAxMDAwMDA0MDAwMDEwMEY1MDQwMDAwQ0EKKzoxMDExQzAwMDIwMDgwMDAwNDAwMDAxMDA3NTA3MDAwMDQyMDAwMTAwRjcKKzoxMDExRDAwMDRBODAwOTAwMEEwMDEwMDAyNDExMDAwMDA0MDkwMDAwRTAKKzoxMDExRTAwMDg2RjIyMzAwMTUwODAwMDAwMjAxMDgwMDA0MTIxMDAwMTYKKzoxMDExRjAwMDA2MTIyNDAwNzUwNTAwMDAwNDEyMDgwMDA3MDAwMDAwMTQKKzoxMDEyMDAwMDAyMDExMDAwNzUwNTAwMDAyNTA0MDAwMDI0MTEwMjAwRjEKKzoxMDEyMTAwMDAyMDExMDAwMjAwODAwMDA2MDEwMDMwMDQwMDAwMTAwREYKKzoxMDEyMjAwMDI0MTkwMDAwODYwMDJBMDA4RDAwMDAwMDY0MDQwMDAwREMKKzoxMDEyMzAwMDA0OUQwMDAwODYxMDI5MDAwMjAxMTgwMDc1MDUwMDAwQjkKKzoxMDEyNDAwMDQyMDAwMTAwMEEwNDI4MDA4RDAxMDAwMDI0MDkwMDAwNkEKKzoxMDEyNTAwMDAyMEQyODAwMEQwMDAwMDAyNDA5MDAwMDAyMTUyODAwREUKKzoxMDEyNjAwMDBEMDAxMDAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwMDEKKzoxMDEyNzAwMDA3MDAyMDAwNzUxMTAwMDBGRDAyMDAwMDQyODAwMTAwRkYKKzoxMDEyODAwMDBBMDAwODAwMDQwOTAwMDA4NkZBMjQwMDA3MDAwMDAwOTQKKzoxMDEyOTAwMDAwMDEwMDAwMjAwQjA4MDA2MDBCMTMwMDYwMEIxQjAwMTYKKzoxMDEyQTAwMDYwMEEwMzAwNDAwMDAxMDA0MjAwMDUwMDRBMDAzRDAwQzIKKzoxMDEyQjAwMDRBMDAzNTAwNEEwMDJEMDAwQTAwMjAwMEY1MDYwMDAwMTMKKzoxMDEyQzAwMDQyMDAwMTAwMEExNDI4MDBGNTA0MDAwMDQyMDAwMTAwNTkKKzoxMDEyRDAwMDBBMDAwODAwMTUwMzAwMDAwNDBEMDEwMDg2MDIyNjAwMjQKKzoxMDEyRTAwMDE1NDAwMDAwOTUwMDAwMDAwNDBEMDEwMDg2RjAyNTAwNjcKKzoxMDEyRjAwMDIyMDAxMDAwMkEwMDEwMDAwNjFBMjYwMDA3MDAwMDAwMzUKKzoxMDEzMDAwMDA0MzEzMzAwMDRBOTJBMDAwNzAwMDAwMDI0MjEwMzAwNEYKKzoxMDEzMTAwMDAyMDUyODAwMDI0NDI4MDAyNDExMDAwMDAyMDE0MDAwQjgKKzoxMDEzMjAwMDI0MDQwMDAwMjQwNDAwMDAyNDMyMDAwMDJDMjkwMDAwQzIKKzoxMDEzMzAwMDZDNjMwMDAwODY3MzI3MDAwNzAwMDAwMDY0QjEwMjAwQTAKKzoxMDEzNDAwMDY0MDQwMDAwNjQwNDAwMDA4RDAwMDAwMDY0MEEwMDAwRDIKKzoxMDEzNTAwMDAyMEQyODAwOEQwMDEwMDAyMDA4MDAwMEY1MDIwMDAwOUEKKzoxMDEzNjAwMDQwMDAwMTAwMDcwMDIyMDA4RDAwMDAwMDA0QjkzODAwOTEKKzoxMDEzNzAwMDA3MDAwMDAwNkMyOTAzMDAwQTAxMzAwMEY1MDIwMDAwOUMKKzoxMDEzODAwMDQyMDAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2MDIyNzAwNEMKKzoxMDEzOTAwMDA3MDAwMDAwMkMyMTAwMDAwQTA1MjgwMDZDMzEwMDAwMjUKKzoxMDEzQTAwMDZDMDQwMDAwNkMwNDAwMDAwQTQ1MjgwMDI0MTEwMDAwQjEKKzoxMDEzQjAwMDY0NkIwMDAwMDIwMTEwMDA4RDAwMDAwMDZDMDkwMTAwNDgKKzoxMDEzQzAwMDBBMEQyODAwMEQwMTEwMDAyMDA4MDAwMEY1MDIwMDAwQTEKKzoxMDEzRDAwMDQwMDAwMTAwMDcwMDIyMDAyNDQxMDAwMDI0MDQwMDAwMTYKKzoxMDEzRTAwMDI0MDQwMDAwMjQzMjAwMDAwMjAxMzAwMDQ0MjkwMzAwREMKKzoxMDEzRjAwMDg2RkEyNzAwMDcwMDAwMDAwMjAwMzAwMEY1MDQwMDAwMTQKKzoxMDE0MDAwMDQyMDAwMTAwMEEwMDA4MDAxNTAzMDAwMDA0MEQwMTAwNUQKKzoxMDE0MTAwMDg2NDAyODAwMjQzMTAwMDA2NDA0MDAwMDAyMDEzMDAwRUUKKzoxMDE0MjAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwNjMKKzoxMDE0MzAwMDg2NEEyODAwMDcwMDAwMDAwMjQ0MjgwMDI0MzEwMDAwRUEKKzoxMDE0NDAwMDAyMDUzMDAwMjQzOTAwMDA4MzA1MzAwMDgzMDgwMDAwQzUKKzoxMDE0NTAwMEY1MDUwMDAwNDIwMDAxMDAwQTA0MjgwMDhEMDAwMDAwOEMKKzoxMDE0NjAwMDI0ODEwMDAwMDIwRDI4MDA4RDAwMDAwMDI0ODEwMDAwNkUKKzoxMDE0NzAwMDAyMTUyODAwOEQwMTEwMDAyMDA4MDAwMEY1MDIwMDAwNzAKKzoxMDE0ODAwMDQwMDAwMTAwMDcwMDIyMDAyNTEwMDAwMDc1MDUwMDAwNDMKKzoxMDE0OTAwMDQyMDAwMzAwNEEwMDA5MDAwQTAwMTAwMDA0MDkwQTAwODMKKzoxMDE0QTAwMDA0MTExMjAwMDcwMDAwMDAyMDEwMDAwMDYwMDgwNTAwNzEKKzoxMDE0QjAwMDQwMDAwNTAwRkQwNjAwMDA0MjgwMDEwMDRBMDAwOTAwQ0UKKzoxMDE0QzAwMDBBMDAxMDAwQTUwMDAwMDAwNDA5MEEwMDA0MTExMjAwMUYKKzoxMDE0RDAwMDA3MDAwMDAwMjAwODAwMDA2MDkwMDEwMDQwMDAwMTAwQUIKKzoxMDE0RTAwMEY1MDIwMDAwNDIwMDAxMDAwQTAwMDgwMDA0MDkwMDAwQTMKKzoxMDE0RjAwMDg2Q0EyOTAwMDcwMDAwMDAwNjQyMjQwMDA3MDAwMDAwRjkKKzoxMDE1MDAwMDA2MDYwMDAwMDcwMDAwMDBGNTAyMDAwMDQyMDAwMTAwOEUKKzoxMDE1MTAwMDBBMDAwODAwMDQwOTAwMDA4NjFBMkEwMDA3MDAwMDAwREIKKzoxMDE1MjAwMDAwMDEwMDAwMjAwQjA4MDA2MDhCMTMwMDYwOEIxQjAwODMKKzoxMDE1MzAwMDYwOEIyMzAwNjA4QjJCMDA2MDhCMzMwMDYwOEIzQjAwNDMKKzoxMDE1NDAwMDYwOEI0MzAwNjA4QjRCMDA2MDhCNTMwMDYwOEI1QjAwQjMKKzoxMDE1NTAwMDYwOEI2MzAwNjA4QjZCMDA2MDhCNzMwMDYwOEI3QjAwMjMKKzoxMDE1NjAwMDYwOEYwMzAwNjA4RjBCMDA2MDhGMTMwMDYwOEYxQjAwODMKKzoxMDE1NzAwMDYwOEYyMzAwNjA4RjJCMDA2MDhGMzMwMDYwOEYzQjAwRjMKKzoxMDE1ODAwMDYwOEY0MzAwNjA4RjRCMDA2MDhGNTMwMDYwOEY1QjAwNjMKKzoxMDE1OTAwMDYwOEY2MzAwNjA4RjZCMDA2MDhGNzMwMDYwOEY3QjAwRDMKKzoxMDE1QTAwMDYwOEEwMzAwMDYwNjAwMDA0MDgwMDEwMDhEMDAwMDAwRjQKKzoxMDE1QjAwMDY0MEEwMDAwMDIwRDI4MDAyNDBBMDAwMDdEMDIwMDAwRDkKKzoxMDE1QzAwMDQyODAwMTAwMEEwMDEwMDAyNDEyMDAwMEZEMDMwMDAwMDgKKzoxMDE1RDAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2MEEyQzAwNkQKKzoxMDE1RTAwMDA3MDAwMDAwOEQwMTAwMDAyNDBBMDAwMDY0MDQwMDAwRDAKKzoxMDE1RjAwMDY0MDQwMDAwMDIwMTA4MDAyNDA5MDAwMDI0MDQwMDAwMjMKKzoxMDE2MDAwMDI0MDQwMDAwMDIwMTEwMDAwRDAwMDIwMDQ0OTEwMDAwQkIKKzoxMDE2MTAwMDg2NjEyQzAwMDcwMDAwMDBGRDAxMDAwMDQyODAwMTAwRUYKKzoxMDE2MjAwMDBBMDAwODAwNDQwQTAwMDA4NjQzMkMwMDQyODAwMTAwQTIKKzoxMDE2MzAwMDBEMDAwQTAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwQUIKKzoxMDE2NDAwMDA3MDAyMDAwN0QwMjAwMDAyMDEwMDAwMDA2MDYwMDAwQjgKKzoxMDE2NTAwMDQwODAwMTAwRjUwMjAwMDA0MjAwMDEwMDBBMDAwODAwN0QKKzoxMDE2NjAwMDA0MDkwMDAwODZCMjJDMDAwNzAwMDAwMDdEMDMwMDAwODIKKzoxMDE2NzAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2RTIyQzAwRjQKKzoxMDE2ODAwMDA3MDAwMDAwNzUwMDAwMDA3RDJFMDAwMDQyMDAwMTAwRjAKKzoxMDE2OTAwMDRBODAwQjAwMjAwMDAwMDAwNDA5MDAwMDg2MDYwMDAwQkMKKzoxMDE2QTAwMDQwMDAwMTAwNEE4NDMxMDA4QjA0MzAwMDgzMDgwMDAwQjAKKzoxMDE2QjAwMDhEMDAwMDAwMTAwODAwMDAzQTE0MjgwMDhEMDAwMDAwODIKKzoxMDE2QzAwMDEwMDgwMDAwM0EwQzI4MDA3NTA2MDAwMDQyMDAwMTAwRDYKKzoxMDE2RDAwMDBBMDAwODAwMTUzODAwMDAyNDA5MDEwMDAyMDUyODAwNEUKKzoxMDE2RTAwMDBEMDAwQjAwMjAwODAwMDBGNTAyMDAwMDQwMDAwMTAwODIKKzoxMDE2RjAwMDA2MDYwMDAwMDcwMDIyMDA2NDA0MDAwMDY0MDQwMDAwRTUKKzoxMDE3MDAwMDA2MDYwMDAwMDcwMDAwMDAzNDAxMDAwMDhEN0YwMDAwODUKKzoxMDE3MTAwMDNDMDkwMDAwMTIxRDI4MDAxMjI1MjgwMDMyMUYwMDAwN0QKKzoxMDE3MjAwMDA3MDAwRTAwMEQwMTAwMDA3RDAzMDAwMDIwMDgwMDAwRUUKKzoxMDE3MzAwMDQwODAwMTAwRjREMjA1MDAwNzAwMDAwMDA3MDAwODAwMDcKKzoxMDE3NDAwMDdEMDMwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwMzcKKzoxMDE3NTAwMDg2OEEyRTAwMDcwMDAwMDAwNjA2MDAwMDA3MDAwMDAwMzEKKzoxMDE3NjAwMDA3MDAwMDAwMTIwMDAwMDAwNzAwMTAwMDA3MDAzMjAwMTAKKzoxMDE3NzAwMDA3MDA2MDAwMDcwMDQ2MDA4MDAwMTAwMDFBMDA0ODAwQzMKKzoxMDE3ODAwMDA0NDkwMDAwODZGMTJFMDAwNzAwMDAwMDEwMTIwMDAwM0UKKzoxMDE3OTAwMDNBMDA1ODAwNDUwMTAwMDAwNDVENUMwMDA3MDAwMDAwQUQKKzoxMDE3QTAwMDgwMDAwMDAwMUEwMDQ4MDAwNDQ5MDAwMDg2NDEyRjAwMTQKKzoxMDE3QjAwMDA3MDAwMDAwMTAxMjAwMDAzQTAwNTAwMDA0NTkwMDAwMTkKKzoxMDE3QzAwMDg2OTgyRjAwNDUwMDAwMDBDNTAwMDAwMEY1RkY3RjAwNEYKKzoxMDE3RDAwMDdERkY3RjAwMjRENTA3MDAyNDQyMDAwMDAyMDE1MDAwNTUKKzoxMDE3RTAwMDAyMDUyMDAwODIwMDAwMDAxQTAwNDAwMDA0NDEwMDAwQjEKKzoxMDE3RjAwMDg2QzkyRjAwMDcwMDAwMDA2NTM4MDAwMDFBMDA0MDAwNkQKKzoxMDE4MDAwMDIwNDAwMDAwNEQxMDAwMDA4NEMxMDQwMDg2QUIzMTAwNzAKKzoxMDE4MTAwMDQwMDAwMDAwMDcwMDA0MDA2NTAxMDAwMDQ1MDEwMDAwRDEKKzoxMDE4MjAwMDIwNDAwMDAwNDAwMDAwMDA2NTA3MDAwMDgwMDAwODAwMjQKKzoxMDE4MzAwMDFBMDA0MDAwMDQ0MTAwMDA4NjU5MzAwMDA3MDAwMDAwRjMKKzoxMDE4NDAwMDEwMTIwMDAwM0EwMDQwMDAwNDQxMDAwMDg2QjIzMDAwNEYKKzoxMDE4NTAwMDREMDAwMDAwQ0QwMDAwMDAxMDQ4MDAwMDNBMDQyMDAwQjgKKzoxMDE4NjAwMDgyMDgwMDAwMUEwMDQwMDAwNDQxMDAwMDg2QzEzMDAwRDgKKzoxMDE4NzAwMDA3MDAwMDAwMjA0ODAwMDAwNDU5MDAwMDg2OTgzMTAwNEQKKzoxMDE4ODAwMDQwMDAwMDAwRTUwNzAwMDA4MDA0MjAwMEEwMTYyODAwQUEKKzoxMDE4OTAwMEUwMTYzMjAwRTAxNjNBMDBFMDE2NDIwMDYwMTIwMjAwNDQKKzoxMDE4QTAwMDQwMDAwMDAwMzIwMDAwMDA3NTAwNDAwMDdEMDAwMDAwOTQKKzoxMDE4QjAwMDc0RDUwNzAwMTIwNTIwMDA4MjAwMDAwMDFBMDA0MDAwQzUKKzoxMDE4QzAwMDA0NDEwMDAwODY3MTMxMDAwNzAwMDAwMDA2OEEwMzAwMTEKKzoxMDE4RDAwMDA3MDA2NDAwRTUwMDAwMDAyMDAwMDAwMDQwMDAwMDAwNTgKKzoxMDE4RTAwMDY1MEEwMDAwMjAwMDAwMDA0MDAwMDIwMDQwMDAwMjAwRTUKKzoxMDE4RjAwMDQwMDAwMDAwNjUwMTAwMDA0MjAwMDAwMDBBMDA3MDAwODYKKzoxMDE5MDAwMDA0NzEwMDAwODYzMjMyMDAwNzAwMDAwMDA3MDAwNjAwNjQKKzoxMDE5MTAwMDA2OUEwMTAwMDcwMDY0MDAwMDAwMDUwMDIwNzAwMDAwMjYKKzoxMDE5MjAwMDQwMDAwMDAwMDY4QTAzMDAwNzAwNjQwMDA3MDAwMDAwNzIKKzoxMDE5MzAwMDZEMzAwMDAwNjA4ODAyMDA2MDkwMDIwMDBBMDAwODAwMUMKKzoxMDE5NDAwMDYwODgwMjAwNDA4MDAwMDAxMjAwMTAwMDBEMTAwMDAwQUUKKzoxMDE5NTAwMDg0OTEwMDAwODZEMTMyMDAwRDBFMDAwMDg0OTEwMDAwQjkKKzoxMDE5NjAwMDg2RTEzMzAwMDcwMDAwMDAwNzAwMzAwMDIwMTAwMDAwNkYKKzoxMDE5NzAwMDZEM0IwMDAwNDA4MDAwMDA4MDAwMDAwMDFBMDAwODAwNUQKKzoxMDE5ODAwMDA0MDkwMDAwODZGMTMyMDAwNzAwMDAwMDIwMTIwMDAwNjgKKzoxMDE5OTAwMEVEMEQwMDAwNDA4MDAwMDA0MjgwMDAwMDBBMDAxMDAwQjEKKzoxMDE5QTAwMDBEMDA0MDAwNDQ5NTEwMDAwNzAwMDAwMDIwMTAwMDAwQ0EKKzoxMDE5QjAwMEVEMEQwMDAwNDA4MDAwMDA0MjgwMDAwMDBBMDQyMDAwN0QKKzoxMDE5QzAwMDgyMDAwMDAwMUEwMDA4MDAwNDA5MDAwMDg2ODEzMzAwMkMKKzoxMDE5RDAwMDA3MDAwMDAwNkQzQjAwMDA0MjgwMDAwMDBBMDAwODAwODQKKzoxMDE5RTAwMDE1MEUwMDAwODQwOTAxMDA4NjJCMzQwMDA3MDA2MDAwRkEKKzoxMDE5RjAwMDFBMDAwODAwMTUwQzAwMDA4NDA5MDEwMDg2MTMzNDAwNDkKKzoxMDFBMDAwMDIwMDAwMDAwMDcwMDFBMDBFRDAyMDAwMDQwODAwMDAwRTYKKzoxMDFBMTAwMDA3MDA2MjAwNkQzMDAwMDA0MjgwMDIwMDRBODAwQTAwMjgKKzoxMDFBMjAwMDIwMDgwMDAwNEE4MDBBMDAwNjA2MDAwMDRBODAxMDAwRDQKKzoxMDFBMzAwMDA3MDAwMDAwMTIyNTI4MDAzMjFGMDAwMEY0RDIwNTAwMjQKKzoxMDFBNDAwMDA0RDE1NDAwNUM3MzAwMDA4NjA3MDAwMDA3MDAwMDAwMEEKKzoxMDFBNTAwMDA3MDAwQzAwMDcwMDBBMDAwNzAwMUMwMDY1MzQwMDAwQTYKKzoxMDFBNjAwMDQwMDAwMjAwMjA0ODAwMDA2MDUwMDIwMDBBMDA0MDAwRDAKKzoxMDFBNzAwMDYwNDAwMjAwNDAwMDAwMDA0NDQ5NDUwMDA3MDAwMDAwQUIKKzoxMDFBODAwMDIwNDAwMDAwRTUzQTAwMDA0MDAwMDAwMEU1MjgwMDAwOEEKKzoxMDFBOTAwMDQyMDAwMDAwMEEwMDQ4MDAwNDQ5MDAwMDg2RjgzOTAwQUUKKzoxMDFBQTAwMDY1MkMwMDAwNDIwMDAwMDAwQTAwNDAwMEQ1MDAwMDAwNDQKKzoxMDFBQjAwMDA0NDE0NTAwMDcwMDAwMDA1NTA2MDAwMDA0NDUwNTAwRUMKKzoxMDFBQzAwMDg2ODIzNjAwRDUwMTAwMDAwNDQ1MDUwMDg2ODAzNjAwNzgKKzoxMDFBRDAwMDY1MkIwMDAwNDIwMDAwMDBFNTNBMDAwMDRBMDA1MDAwN0IKKzoxMDFBRTAwMDBBMDA0MDAwRDRDMzQ1MDAwNzAwMDAwMDA0NDU0NTAwM0IKKzoxMDFBRjAwMDA3MDAwMDAwQ0QwMDAwMDA0NDQ5NDQwMDA3MDAwMDAwM0EKKzoxMDFCMDAwMDA0NDU0NTAwMDcwMDAwMDA0RDAxMDAwMDQ0NDk1NTAwMTAKKzoxMDFCMTAwMDA3MDAwMDAwNDQ1MTA0MDA4Njc5MzYwMDY1MkMwMDAwNUYKKzoxMDFCMjAwMDQyMDAwMDAwMEEwMDQ4MDAwNEQxNEMwMDA3MDAwMDAwRjkKKzoxMDFCMzAwMDQ0QzEwNDAwODY4MzM2MDAwNzAwMDAwMDA3MDAxNjAwMzkKKzoxMDFCNDAwMEU1MkMwMDAwNDIwMDA0MDAwQTAwNDAwMDIwNDAwMDAwOTQKKzoxMDFCNTAwMDQwMDAwMDAwNjUyOTAwMDA0MjAwMDAwMDBBMDA0MDAwMkIKKzoxMDFCNjAwMDA0NDEwMDAwODZGMDM2MDAwNzAwMDAwMDAyMjQwMDAwNTcKKzoxMDFCNzAwMDA2MzIzODAwMDI1QzAwMDBFNTI1MDAwMDQyMDAwMDAwNEIKKzoxMDFCODAwMDBBMDA0MDAwNzQ0MjAwMDBFNTJBMDAwMDQyMDAwMDAwMDQKKzoxMDFCOTAwMDBBMDA0MDAwNzQ0MjAwMDAxMjAxNTAwMEU1MjkwMDAwRDQKKzoxMDFCQTAwMDQyMDAwMDAwMEEwMDQwMDAzNDQyMDAwMDA0NDE0NTAwQTkKKzoxMDFCQjAwMDA3MDAwMDAwMjA0MDAwMDA0MDAwMDAwMEU1M0UwMDAwNUIKKzoxMDFCQzAwMDIwMDAwMDAwNDAwMDAwMDBFNTJEMDAwMDUyMDE0MDAwMTAKKzoxMDFCRDAwMDBBMDA1MDAwNDQ1MTA0MDA4NkRBMzcwMEM1MDAwMDAwQjYKKzoxMDFCRTAwMEU1M0UwMDAwMjA0MDAwMDA0MDAwMDAwMEU1MkIwMDAwMjIKKzoxMDFCRjAwMDQyMDAwMDAwMEEwMDQwMDA1NDQyNDAwMDA3MDAwMDAwN0MKKzoxMDFDMDAwMEU1MkEwMDAwMjA0MDAwMDA0MDAwMDAwMDMyMDE1MDAwQTIKKzoxMDFDMTAwMDM0MDEwNDAwNzQ1NjAwMDBFNTI5MDAwMDQyMDAwMjAwNkYKKzoxMDFDMjAwMDBBMDA0MjAwNDIwMDAwMDAwQTAwNTAwMDdDNDEwNTAwMEEKKzoxMDFDMzAwMEU1MjgwMDAwNDIwMDAwMDAwQTAwNDgwMEM1MDAwMDAwM0UKKzoxMDFDNDAwMDQ0QzE0QzAwODZBMDM4MDBFNTI2MDAwMEU1MjcwMDAwQ0UKKzoxMDFDNTAwMDQyMDAwMjAwNEEwMDQwMDAwQTAwNTAwMDNDNDIwMDAwREUKKzoxMDFDNjAwMDdDNTYwMDAwRTUyODAwMDAyMDQ4MDAwMDQwMDAwMDAwRUQKKzoxMDFDNzAwMDEyMUQyODAwMTIyNTI4MDA3MjFGMDAwMDY1MjkwMDAwOEYKKzoxMDFDODAwMDQyMDAwMDAwMEEwMDQwMDAwNDQxMDAwMDg2M0EzOTAwOEEKKzoxMDFDOTAwMDA3MDAwRTAwMDcwMDE2MDAwNzAwMUUwMEU1M0UwMDAwQ0EKKzoxMDFDQTAwMDQyMDAwMDAwMEEwMDQwMDAwNDQxMDAwMDg2NzgzOTAwMkMKKzoxMDFDQjAwMDY1MkQwMDAwNDIwMDAwMDAwQTM0MjgwMDY1MzQwMDAwNTEKKzoxMDFDQzAwMDQyMDAwMjAwNEEwMDQyMDAyMDQwMDAwMDRBMDA0QTAwNTAKKzoxMDFDRDAwMDRBMDA1MDAwRjREMjA1MDAwNEQxNTQwMDVDNzMwMDAwQTcKKzoxMDFDRTAwMDg2RTEzOTAwMDcwMDAwMDAwNjA2MDAwMDA3MDAwODAwMzIKKzoxMDFDRjAwMDA3MDAwQzAwMDcwMDA4MDAwNzAwMEEwMEU1MDEwMDAwQ0IKKzoxMDFEMDAwMDQ1MDAwMjAwMjA0MDAwMDA2MDAwMDAwMDY1MDMwMDAwNjQKKzoxMDFEMTAwMDQwMDAwMDAwNjUyRTAwMDAyMDFBMDAwMDYwMUEwQTAwMzIKKzoxMDFEMjAwMDQwMDAwMDAwNjUzNDAwMDA0MjAwMDIwMDRBMDA0MjAwMEEKKzoxMDFEMzAwMDIwNDAwMDAwNEEwMDRBMDAwNjA2MDAwMDRBMDA1MDAwMDkKKzoxMDFENDAwMEZEMTcwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwOUQKKzoxMDFENTAwMDg2NUEyMjAwMDcwMDAwMDA3RDEwMDAwMDQyODAwMTAwMkEKKzoxMDFENjAwMEZEMTEwMDAwNEE4MDMzMDA0QTgwMTkwMDBBMDAyMDAwNUIKKzoxMDFENzAwMDk1MDAwMDAwNDQxMTJBMDA0NEExMDEwMDg2OTAzQjAwMTgKKzoxMDFEODAwMDBEMDQwMDAwODRCMTAwMDA4NjkxM0IwMEZEMTgwMDAwQTYKKzoxMDFEOTAwMDQyODAwMTAwRkQxMDAwMDA0QTgwMDkwMDBBMDAzODAwNUUKKzoxMDFEQTAwMDk1MDAwMDAwMjQwOTAxMDA2NDNBMDAwMDg2ODEzQjAwOTAKKzoxMDFEQjAwMDA3MDAwMDAwMDQzOTAwMDA4NjkyM0IwMDA3MDAwMDAwODUKKzoxMDFEQzAwMDA2OUEzQjAwMEQwMDAwMDA4RDAwMDAwMDIwMDgwMDAwNzYKKzoxMDFERDAwMDdEMzgwMDAwNDA4MDAxMDAwMjAwNzAwMDdEMTEwMDAwOEQKKzoxMDFERTAwMDQyODAwMTAwN0QxOTAwMDA0QTgwMjkwMDBBMDAzMDAwNkQKKzoxMDFERjAwMDAyMDAzODAwMjQzMTAwMDAyNDA0MDAwMDI0MDQwMDAwMDQKKzoxMDFFMDAwMDI0MkEwMDAwMDIwNTI4MDA4RDA2MDAwMDEwMDgwMDAwQUEKKzoxMDFFMTAwMDNBMTQyODAwMEQ3NTAwMDAyNEIxMDAwMDY0MjIwMDAwNkYKKzoxMDFFMjAwMDg2MDMzRDAwMDI0NDI4MDAxMDA4MDAwMDNBMEMyODAwRjgKKzoxMDFFMzAwMDBEODAwQjAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwMjIKKzoxMDFFNDAwMDA3MDAyMDAwOEQ3NTAwMDAyNEIxMDAwMDAyMDExMDAwODEKKzoxMDFFNTAwMDQ0MjEwMTAwODY0OTNFMDAxMDE4MDAwMDNBMDAxMDAwOUQKKzoxMDFFNjAwMDdEMzgwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwREIKKzoxMDFFNzAwMDg2NDgzRTAwMDAwMDAzMDAwNjRBM0UwMEJEMDAwMDAwMDgKKzoxMDFFODAwMDhEMDAwMDAwNjQzMTAyMDA2NDBBMDAwMDAyMEQyODAwODkKKzoxMDFFOTAwMDhEODAwQjAwMjAwODAwMDBGRDAyMDAwMDQwODAwMTAwNDIKKzoxMDFFQTAwMDA3MDAyMDAwN0QzODAwMDA0MjgwMDEwMDBBMDAwODAwODEKKzoxMDFFQjAwMDA0MDkwMDAwODYzMjNFMDAwMDAwMDMwMEZEMDIwMDAwMUQKKzoxMDFFQzAwMDQyODAwMTAwMEEwMDA4MDAwNDA5MDAwMDg2ODIzRDAwRUIKKzoxMDFFRDAwMDA3MDAwMDAwMTAyODAwMDAzQTA0MjgwMDBENzUwMDAwREIKKzoxMDFFRTAwMDI0MDkwMzAwNjQyMjAwMDAwMjBEMjgwMDZDMzEwMjAwNjYKKzoxMDFFRjAwMDBBNDUyODAwMEQ4MTBCMDAyMDA4MDAwMEZEMDIwMDAwQUIKKzoxMDFGMDAwMDQwODAwMTAwMDcwMDIwMDA4RDAwMDAwMDI0MEEwMDAwMkUKKzoxMDFGMTAwMDA2NEEzRTAwMDIwMTEwMDAxMDE4MDAwMDNBMDAxMDAwQUUKKzoxMDFGMjAwMEJEMDAwMDAwMTAzODAwMDAzQTA0MzAwMDdEMTgwMDAwQTkKKzoxMDFGMzAwMDQyODAwMTAwRkQxODAwMDA0QTgwMDkwMDBBMDAyMDAwQ0MKKzoxMDFGNDAwMEFEMDAwMDAwMjQ4OTAyMDAyQzIxMDcwMDEwMTAwMDAwQzEKKzoxMDFGNTAwMDgzMDUzMDAwOEIwRDMwMDBCQjE0MzAwMDgzMUMzMDAwMzMKKzoxMDFGNjAwMDgzMjAwMDAwN0QxMzAwMDA0MjgwMDMwMDRBODQzMzAwNzgKKzoxMDFGNzAwMENCQUMzMzAwQ0JCNDMzMDBDQkJDMzMwMENCQzQzMzAwODkKKzoxMDFGODAwMENCQ0MzMzAwQ0JENDMzMDA4QjVDMzAwMDgzNjAwMDAwQkIKKzoxMDFGOTAwMDBEMUUwMDAwRkQwNTAwMDA0MjgwMDEwMDBBMDAyMDAwMjcKKzoxMDFGQTAwMDI0MDkwMjAwOEQwNjAwMDA2Q0E5MDAwMDlEMDAwMDAwQkQKKzoxMDFGQjAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwNDAKKzoxMDFGQzAwMDg2NkEzRjAwMDcwMDAwMDAwMjA1MjgwMDBBMEQyODAwNkQKKzoxMDFGRDAwMDAyNDQyODAwMTAxODAwMDAzQTE0MjgwMDhEMDAwQzAwNUMKKzoxMDFGRTAwMDIwMDgwMDAwRkQwMjAwMDA0MDgwMDEwMDA3MDAyMjAwRTAKKzoxMDFGRjAwMDA0MzkwMDAwODY1ODIyMDAwRDFFMDAwMDdEMDUwMDAwRjcKKzoxMDIwMDAwMDQyODAwMTAwMEEwMDIwMDAyNDA5MDIwMEE1MDAwMDAwMEYKKzoxMDIwMTAwMEZEMDIwMDAwNDI4MDAxMDAwQTAwMDgwMDA0MDkwMDAwREYKKzoxMDIwMjAwMDg2MkE0MDAwMDcwMDAwMDAwMjA1MjgwMDAyMEMyODAwNTQKKzoxMDIwMzAwMDEwMjAwMDAwM0ExNDI4MDAwRDAxMEMwMDIwMDgwMDAwQjgKKzoxMDIwNDAwMEZEMDIwMDAwNDA4MDAxMDAwNjVBMjIwMDA3MDAyMjAwMjUKKzoxMDIwNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODAKKzoxMDIwNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzAKKzoxMDIwNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjAKKzoxMDIwODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTAKKzoxMDIwOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDAKKzoxMDIwQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzAKKzoxMDIwQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjAKKzoxMDIwQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKKzoxMDIwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKKzoxMDIwRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjAKKzoxMDIwRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTAKKzoxMDIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0YKKzoxMDIxMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkYKKzoxMDIxMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUYKKzoxMDIxMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUYKKzoxMDIxNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEYKKzoxMDIxNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0YKKzoxMDIxNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkYKKzoxMDIxNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUYKKzoxMDIxODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEYKKzoxMDIxOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0YKKzoxMDIxQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkYKKzoxMDIxQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUYKKzoxMDIxQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEYKKzoxMDIxRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkYKKzoxMDIxRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUYKKzoxMDIxRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREYKKzoxMDIyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0UKKzoxMDIyMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkUKKzoxMDIyMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUUKKzoxMDIyMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUUKKzoxMDIyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEUKKzoxMDIyNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0UKKzoxMDIyNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkUKKzoxMDIyNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUUKKzoxMDIyODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEUKKzoxMDIyOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0UKKzoxMDIyQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkUKKzoxMDIyQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUKKzoxMDIyQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEUKKzoxMDIyRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkUKKzoxMDIyRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUUKKzoxMDIyRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREUKKzoxMDIzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0QKKzoxMDIzMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkQKKzoxMDIzMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUQKKzoxMDIzMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUQKKzoxMDIzNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEQKKzoxMDIzNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0QKKzoxMDIzNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkQKKzoxMDIzNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUQKKzoxMDIzODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEQKKzoxMDIzOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0QKKzoxMDIzQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkQKKzoxMDIzQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUQKKzoxMDIzQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEQKKzoxMDIzRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkQKKzoxMDIzRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUQKKzoxMDIzRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREQKKzoxMDI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0MKKzoxMDI0MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkMKKzoxMDI0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUMKKzoxMDI0MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUMKKzoxMDI0NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEMKKzoxMDI0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0MKKzoxMDI0NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkMKKzoxMDI0NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUMKKzoxMDI0ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEMKKzoxMDI0OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0MKKzoxMDI0QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkMKKzoxMDI0QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUMKKzoxMDI0QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEMKKzoxMDI0RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkMKKzoxMDI0RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUMKKzoxMDI0RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREMKKzoxMDI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0IKKzoxMDI1MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkIKKzoxMDI1MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUIKKzoxMDI1MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUIKKzoxMDI1NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEIKKzoxMDI1NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0IKKzoxMDI1NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkIKKzoxMDI1NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUIKKzoxMDI1ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEIKKzoxMDI1OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0IKKzoxMDI1QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkIKKzoxMDI1QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUIKKzoxMDI1QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEIKKzoxMDI1RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkIKKzoxMDI1RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUIKKzoxMDI1RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREIKKzoxMDI2MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQ0EKKzoxMDI2MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQkEKKzoxMDI2MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQUEKKzoxMDI2MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOUEKKzoxMDI2NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOEEKKzoxMDI2NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN0EKKzoxMDI2NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNkEKKzoxMDI2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNUEKKzoxMDI2ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNEEKKzoxMDI2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM0EKKzoxMDI2QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMkEKKzoxMDI2QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUEKKzoxMDI2QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMEEKKzoxMDI2RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRkEKKzoxMDI2RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRUEKKzoxMDI2RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwREEKKzoxMDI3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzkKKzoxMDI3MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjkKKzoxMDI3MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTkKKzoxMDI3MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTkKKzoxMDI3NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODkKKzoxMDI3NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzkKKzoxMDI3NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjkKKzoxMDI3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTkKKzoxMDI3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDkKKzoxMDI3OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzkKKzoxMDI3QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjkKKzoxMDI3QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTkKKzoxMDI3QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDkKKzoxMDI3RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjkKKzoxMDI3RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTkKKzoxMDI3RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDkKKzoxMDI4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzgKKzoxMDI4MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjgKKzoxMDI4MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTgKKzoxMDI4MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTgKKzoxMDI4NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODgKKzoxMDI4NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzgKKzoxMDI4NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjgKKzoxMDI4NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTgKKzoxMDI4ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDgKKzoxMDI4OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzgKKzoxMDI4QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjgKKzoxMDI4QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgKKzoxMDI4QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgKKzoxMDI4RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjgKKzoxMDI4RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTgKKzoxMDI4RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDgKKzoxMDI5MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzcKKzoxMDI5MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjcKKzoxMDI5MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTcKKzoxMDI5MzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTcKKzoxMDI5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODcKKzoxMDI5NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzcKKzoxMDI5NjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjcKKzoxMDI5NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTcKKzoxMDI5ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDcKKzoxMDI5OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzcKKzoxMDI5QTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjcKKzoxMDI5QjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTcKKzoxMDI5QzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDcKKzoxMDI5RDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjcKKzoxMDI5RTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTcKKzoxMDI5RjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDcKKzoxMDJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzYKKzoxMDJBMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjYKKzoxMDJBMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTYKKzoxMDJBMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTYKKzoxMDJBNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODYKKzoxMDJBNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzYKKzoxMDJBNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjYKKzoxMDJBNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYKKzoxMDJBODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDYKKzoxMDJBOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzYKKzoxMDJBQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjYKKzoxMDJBQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYKKzoxMDJBQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYKKzoxMDJBRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjYKKzoxMDJBRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTYKKzoxMDJBRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDYKKzoxMDJCMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzUKKzoxMDJCMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjUKKzoxMDJCMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTUKKzoxMDJCMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTUKKzoxMDJCNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODUKKzoxMDJCNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzUKKzoxMDJCNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjUKKzoxMDJCNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTUKKzoxMDJCODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDUKKzoxMDJCOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzUKKzoxMDJCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjUKKzoxMDJCQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTUKKzoxMDJCQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDUKKzoxMDJCRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjUKKzoxMDJCRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTUKKzoxMDJCRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDUKKzoxMDJDMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzQKKzoxMDJDMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjQKKzoxMDJDMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTQKKzoxMDJDMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTQKKzoxMDJDNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODQKKzoxMDJDNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzQKKzoxMDJDNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjQKKzoxMDJDNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTQKKzoxMDJDODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDQKKzoxMDJDOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzQKKzoxMDJDQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjQKKzoxMDJDQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTQKKzoxMDJDQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQKKzoxMDJDRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjQKKzoxMDJDRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTQKKzoxMDJDRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDQKKzoxMDJEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzMKKzoxMDJEMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjMKKzoxMDJEMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTMKKzoxMDJEMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTMKKzoxMDJENDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODMKKzoxMDJENTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzMKKzoxMDJENjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjMKKzoxMDJENzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTMKKzoxMDJEODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDMKKzoxMDJEOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzMKKzoxMDJEQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjMKKzoxMDJEQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTMKKzoxMDJEQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMKKzoxMDJERDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjMKKzoxMDJERTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTMKKzoxMDJERjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDMKKzoxMDJFMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzIKKzoxMDJFMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjIKKzoxMDJFMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTIKKzoxMDJFMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTIKKzoxMDJFNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODIKKzoxMDJFNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzIKKzoxMDJFNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjIKKzoxMDJFNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTIKKzoxMDJFODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDIKKzoxMDJFOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzIKKzoxMDJFQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjIKKzoxMDJFQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIKKzoxMDJFQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIKKzoxMDJFRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjIKKzoxMDJFRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTIKKzoxMDJFRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDIKKzoxMDJGMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQzEKKzoxMDJGMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQjEKKzoxMDJGMjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwQTEKKzoxMDJGMzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTEKKzoxMDJGNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwODEKKzoxMDJGNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNzEKKzoxMDJGNjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNjEKKzoxMDJGNzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTEKKzoxMDJGODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDEKKzoxMDJGOTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMzEKKzoxMDJGQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMjEKKzoxMDJGQjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTEKKzoxMDJGQzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEKKzoxMDJGRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRjEKKzoxMDJGRTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRTEKKzoxMDJGRjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwRDEKKzowMDAwMDAwMUZGCmRpZmYgLS1naXQgYS9mcy9LY29uZmlnIGIvZnMvS2NvbmZpZwppbmRleCAwY2U3MmRjLi44NGFiNzZhIDEwMDY0NAotLS0gYS9mcy9LY29uZmlnCisrKyBiL2ZzL0tjb25maWcKQEAgLTkzMCw3ICs5MzAsNyBAQAogCiBjb25maWcgUFJPQ19WTUNPUkUKICAgICAgICAgYm9vbCAiL3Byb2Mvdm1jb3JlIHN1cHBvcnQgKEVYUEVSSU1FTlRBTCkiCi0gICAgICAgIGRlcGVuZHMgb24gUFJPQ19GUyAmJiBFWFBFUklNRU5UQUwgJiYgQ1JBU0hfRFVNUAorICAgICAgICBkZXBlbmRzIG9uIFBST0NfRlMgJiYgQ1JBU0hfRFVNUAogCWRlZmF1bHQgeQogICAgICAgICBoZWxwCiAgICAgICAgIEV4cG9ydHMgdGhlIGR1bXAgaW1hZ2Ugb2YgY3Jhc2hlZCBrZXJuZWwgaW4gRUxGIGZvcm1hdC4KZGlmZiAtLWdpdCBhL2ZzL01ha2VmaWxlIGIvZnMvTWFrZWZpbGUKaW5kZXggMWU3YTExYi4uMjc3YjA3OSAxMDA2NDQKLS0tIGEvZnMvTWFrZWZpbGUKKysrIGIvZnMvTWFrZWZpbGUKQEAgLTE5LDYgKzE5LDcgQEAKIG9iai15ICs9CW5vLWJsb2NrLm8KIGVuZGlmCiAKK29iai0kKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkgKz0gYmlvLWludGVncml0eS5vCiBvYmotJChDT05GSUdfSU5PVElGWSkJCSs9IGlub3RpZnkubwogb2JqLSQoQ09ORklHX0lOT1RJRllfVVNFUikJKz0gaW5vdGlmeV91c2VyLm8KIG9iai0kKENPTkZJR19FUE9MTCkJCSs9IGV2ZW50cG9sbC5vCmRpZmYgLS1naXQgYS9mcy9iaW8taW50ZWdyaXR5LmMgYi9mcy9iaW8taW50ZWdyaXR5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNlMmVlNgotLS0gL2Rldi9udWxsCisrKyBiL2ZzL2Jpby1pbnRlZ3JpdHkuYwpAQCAtMCwwICsxLDcxOSBAQAorLyoKKyAqIGJpby1pbnRlZ3JpdHkuYyAtIGJpbyBkYXRhIGludGVncml0eSBleHRlbnNpb25zCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IE9yYWNsZSBDb3Jwb3JhdGlvbgorICogV3JpdHRlbiBieTogTWFydGluIEsuIFBldGVyc2VuIDxtYXJ0aW4ucGV0ZXJzZW5Ab3JhY2xlLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uCisgKiAyIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwKKyAqIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgorI2luY2x1ZGUgPGxpbnV4L21lbXBvb2wuaD4KKyNpbmNsdWRlIDxsaW51eC9iaW8uaD4KKyNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KKworc3RhdGljIHN0cnVjdCBrbWVtX2NhY2hlICpiaW9faW50ZWdyaXR5X3NsYWIgX19yZWFkX21vc3RseTsKK3N0YXRpYyBzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqa2ludGVncml0eWRfd3E7CisKKy8qKgorICogYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQgLSBBbGxvY2F0ZSBpbnRlZ3JpdHkgcGF5bG9hZCBhbmQgYXR0YWNoIGl0IHRvIGJpbworICogQGJpbzoJYmlvIHRvIGF0dGFjaCBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8KKyAqIEBnZnBfbWFzazoJTWVtb3J5IGFsbG9jYXRpb24gbWFzaworICogQG5yX3ZlY3M6CU51bWJlciBvZiBpbnRlZ3JpdHkgbWV0YWRhdGEgc2NhdHRlci1nYXRoZXIgZWxlbWVudHMKKyAqIEBiczoJCWJpb19zZXQgdG8gYWxsb2NhdGUgZnJvbQorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIHByZXBhcmVzIGEgYmlvIGZvciBhdHRhY2hpbmcgaW50ZWdyaXR5CisgKiBtZXRhZGF0YS4gIG5yX3ZlY3Mgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwYWdlcyBjb250YWluaW5nCisgKiBpbnRlZ3JpdHkgbWV0YWRhdGEgdGhhdCBjYW4gYmUgYXR0YWNoZWQuCisgKi8KK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpb19pbnRlZ3JpdHlfYWxsb2NfYmlvc2V0KHN0cnVjdCBiaW8gKmJpbywKKwkJCQkJCQkgZ2ZwX3QgZ2ZwX21hc2ssCisJCQkJCQkJIHVuc2lnbmVkIGludCBucl92ZWNzLAorCQkJCQkJCSBzdHJ1Y3QgYmlvX3NldCAqYnMpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwOworCXN0cnVjdCBiaW9fdmVjICppdjsKKwl1bnNpZ25lZCBsb25nIGlkeDsKKworCUJVR19PTihiaW8gPT0gTlVMTCk7CisKKwliaXAgPSBtZW1wb29sX2FsbG9jKGJzLT5iaW9faW50ZWdyaXR5X3Bvb2wsIGdmcF9tYXNrKTsKKwlpZiAodW5saWtlbHkoYmlwID09IE5VTEwpKSB7CisJCXByaW50ayhLRVJOX0VSUiAiJXM6IGNvdWxkIG5vdCBhbGxvYyBiaXBcbiIsIF9fZnVuY19fKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJbWVtc2V0KGJpcCwgMCwgc2l6ZW9mKCpiaXApKTsKKworCWl2ID0gYnZlY19hbGxvY19icyhnZnBfbWFzaywgbnJfdmVjcywgJmlkeCwgYnMpOworCWlmICh1bmxpa2VseShpdiA9PSBOVUxMKSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiBjb3VsZCBub3QgYWxsb2MgYmlwX3ZlY1xuIiwgX19mdW5jX18pOworCQltZW1wb29sX2ZyZWUoYmlwLCBicy0+YmlvX2ludGVncml0eV9wb29sKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJYmlwLT5iaXBfcG9vbCA9IGlkeDsKKwliaXAtPmJpcF92ZWMgPSBpdjsKKwliaXAtPmJpcF9iaW8gPSBiaW87CisJYmlvLT5iaV9pbnRlZ3JpdHkgPSBiaXA7CisKKwlyZXR1cm4gYmlwOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldCk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9hbGxvYyAtIEFsbG9jYXRlIGludGVncml0eSBwYXlsb2FkIGFuZCBhdHRhY2ggaXQgdG8gYmlvCisgKiBAYmlvOgliaW8gdG8gYXR0YWNoIGludGVncml0eSBtZXRhZGF0YSB0bworICogQGdmcF9tYXNrOglNZW1vcnkgYWxsb2NhdGlvbiBtYXNrCisgKiBAbnJfdmVjczoJTnVtYmVyIG9mIGludGVncml0eSBtZXRhZGF0YSBzY2F0dGVyLWdhdGhlciBlbGVtZW50cworICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIHByZXBhcmVzIGEgYmlvIGZvciBhdHRhY2hpbmcgaW50ZWdyaXR5CisgKiBtZXRhZGF0YS4gIG5yX3ZlY3Mgc3BlY2lmaWVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBwYWdlcyBjb250YWluaW5nCisgKiBpbnRlZ3JpdHkgbWV0YWRhdGEgdGhhdCBjYW4gYmUgYXR0YWNoZWQuCisgKi8KK3N0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpb19pbnRlZ3JpdHlfYWxsb2Moc3RydWN0IGJpbyAqYmlvLAorCQkJCQkJICBnZnBfdCBnZnBfbWFzaywKKwkJCQkJCSAgdW5zaWduZWQgaW50IG5yX3ZlY3MpCit7CisJcmV0dXJuIGJpb19pbnRlZ3JpdHlfYWxsb2NfYmlvc2V0KGJpbywgZ2ZwX21hc2ssIG5yX3ZlY3MsIGZzX2Jpb19zZXQpOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2FsbG9jKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2ZyZWUgLSBGcmVlIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZAorICogQGJpbzoJYmlvIGNvbnRhaW5pbmcgYmlwIHRvIGJlIGZyZWVkCisgKiBAYnM6CQliaW9fc2V0IHRoaXMgYmlvIHdhcyBhbGxvY2F0ZWQgZnJvbQorICoKKyAqIERlc2NyaXB0aW9uOiBVc2VkIHRvIGZyZWUgdGhlIGludGVncml0eSBwb3J0aW9uIG9mIGEgYmlvLiBVc3VhbGx5CisgKiBjYWxsZWQgZnJvbSBiaW9fZnJlZSgpLgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfZnJlZShzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBiaW9fc2V0ICpicykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKworCUJVR19PTihiaXAgPT0gTlVMTCk7CisKKwkvKiBBIGNsb25lZCBiaW8gZG9lc24ndCBvd24gdGhlIGludGVncml0eSBtZXRhZGF0YSAqLworCWlmICghYmlvX2ZsYWdnZWQoYmlvLCBCSU9fQ0xPTkVEKSAmJiBiaXAtPmJpcF9idWYgIT0gTlVMTCkKKwkJa2ZyZWUoYmlwLT5iaXBfYnVmKTsKKworCW1lbXBvb2xfZnJlZShiaXAtPmJpcF92ZWMsIGJzLT5idmVjX3Bvb2xzW2JpcC0+YmlwX3Bvb2xdKTsKKwltZW1wb29sX2ZyZWUoYmlwLCBicy0+YmlvX2ludGVncml0eV9wb29sKTsKKworCWJpby0+YmlfaW50ZWdyaXR5ID0gTlVMTDsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9mcmVlKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2FkZF9wYWdlIC0gQXR0YWNoIGludGVncml0eSBtZXRhZGF0YQorICogQGJpbzoJYmlvIHRvIHVwZGF0ZQorICogQHBhZ2U6CXBhZ2UgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEKKyAqIEBsZW46CW51bWJlciBvZiBieXRlcyBvZiBpbnRlZ3JpdHkgbWV0YWRhdGEgaW4gcGFnZQorICogQG9mZnNldDoJc3RhcnQgb2Zmc2V0IHdpdGhpbiBwYWdlCisgKgorICogRGVzY3JpcHRpb246IEF0dGFjaCBhIHBhZ2UgY29udGFpbmluZyBpbnRlZ3JpdHkgbWV0YWRhdGEgdG8gYmlvLgorICovCitpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShzdHJ1Y3QgYmlvICpiaW8sIHN0cnVjdCBwYWdlICpwYWdlLAorCQkJICAgdW5zaWduZWQgaW50IGxlbiwgdW5zaWduZWQgaW50IG9mZnNldCkKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwlzdHJ1Y3QgYmlvX3ZlYyAqaXY7CisKKwlpZiAoYmlwLT5iaXBfdmNudCA+PSBidmVjX25yX3ZlY3MoYmlwLT5iaXBfcG9vbCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlczogYmlwX3ZlYyBmdWxsXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAwOworCX0KKworCWl2ID0gYmlwX3ZlY19pZHgoYmlwLCBiaXAtPmJpcF92Y250KTsKKwlCVUdfT04oaXYgPT0gTlVMTCk7CisJQlVHX09OKGl2LT5idl9wYWdlICE9IE5VTEwpOworCisJaXYtPmJ2X3BhZ2UgPSBwYWdlOworCWl2LT5idl9sZW4gPSBsZW47CisJaXYtPmJ2X29mZnNldCA9IG9mZnNldDsKKwliaXAtPmJpcF92Y250Kys7CisKKwlyZXR1cm4gbGVuOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2FkZF9wYWdlKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2VuYWJsZWQgLSBDaGVjayB3aGV0aGVyIGludGVncml0eSBjYW4gYmUgcGFzc2VkCisgKiBAYmlvOgliaW8gdG8gY2hlY2sKKyAqCisgKiBEZXNjcmlwdGlvbjogRGV0ZXJtaW5lcyB3aGV0aGVyIGJpb19pbnRlZ3JpdHlfcHJlcCgpIGNhbiBiZSBjYWxsZWQKKyAqIG9uIHRoaXMgYmlvIG9yIG5vdC4JYmlvIGRhdGEgZGlyZWN0aW9uIGFuZCB0YXJnZXQgZGV2aWNlIG11c3QgYmUKKyAqIHNldCBwcmlvciB0byBjYWxsaW5nLiAgVGhlIGZ1bmN0aW9ucyBob25vcnMgdGhlIHdyaXRlX2dlbmVyYXRlIGFuZAorICogcmVhZF92ZXJpZnkgZmxhZ3MgaW4gc3lzZnMuCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X2VuYWJsZWQoc3RydWN0IGJpbyAqYmlvKQoreworCS8qIEFscmVhZHkgcHJvdGVjdGVkPyAqLworCWlmIChiaW9faW50ZWdyaXR5KGJpbykpCisJCXJldHVybiAwOworCisJcmV0dXJuIGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoYmlvLT5iaV9iZGV2LCBiaW9fZGF0YV9kaXIoYmlvKSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfZW5hYmxlZCk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9od19zZWN0b3JzIC0gQ29udmVydCA1MTJiIHNlY3RvcnMgdG8gaGFyZHdhcmUgZGl0dG8KKyAqIEBiaToJCWJsa19pbnRlZ3JpdHkgcHJvZmlsZSBmb3IgZGV2aWNlCisgKiBAc2VjdG9yczoJTnVtYmVyIG9mIDUxMiBzZWN0b3JzIHRvIGNvbnZlcnQKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhlIGJsb2NrIGxheWVyIGNhbGN1bGF0ZXMgZXZlcnl0aGluZyBpbiA1MTIgYnl0ZQorICogc2VjdG9ycyBidXQgaW50ZWdyaXR5IG1ldGFkYXRhIGlzIGRvbmUgaW4gdGVybXMgb2YgdGhlIGhhcmR3YXJlCisgKiBzZWN0b3Igc2l6ZSBvZiB0aGUgc3RvcmFnZSBkZXZpY2UuICBDb252ZXJ0IHRoZSBibG9jayBsYXllciBzZWN0b3JzCisgKiB0byBwaHlzaWNhbCBzZWN0b3JzLgorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpLAorCQkJCQkJICAgIHVuc2lnbmVkIGludCBzZWN0b3JzKQoreworCS8qIEF0IHRoaXMgcG9pbnQgdGhlcmUgYXJlIG9ubHkgNTEyYiBvciA0MDk2YiBESUYvRVBQIGRldmljZXMgKi8KKwlpZiAoYmktPnNlY3Rvcl9zaXplID09IDQwOTYpCisJCXJldHVybiBzZWN0b3JzID4+PSAzOworCisJcmV0dXJuIHNlY3RvcnM7Cit9CisKKy8qKgorICogYmlvX2ludGVncml0eV90YWdfc2l6ZSAtIFJldHJpZXZlIGludGVncml0eSB0YWcgc3BhY2UKKyAqIEBiaW86CWJpbyB0byBpbnNwZWN0CisgKgorICogRGVzY3JpcHRpb246IFJldHVybnMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRhZyBieXRlcyB0aGF0IGNhbiBiZQorICogYXR0YWNoZWQgdG8gdGhpcyBiaW8uIEZpbGVzeXN0ZW1zIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaG93CisgKiBtdWNoIG1ldGFkYXRhIHRvIGF0dGFjaCB0byBhbiBJL08uCisgKi8KK3Vuc2lnbmVkIGludCBiaW9faW50ZWdyaXR5X3RhZ19zaXplKHN0cnVjdCBiaW8gKmJpbykKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKworCUJVR19PTihiaW8tPmJpX3NpemUgPT0gMCk7CisKKwlyZXR1cm4gYmktPnRhZ19zaXplICogKGJpby0+Ymlfc2l6ZSAvIGJpLT5zZWN0b3Jfc2l6ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfdGFnX3NpemUpOworCitpbnQgYmlvX2ludGVncml0eV90YWcoc3RydWN0IGJpbyAqYmlvLCB2b2lkICp0YWdfYnVmLCB1bnNpZ25lZCBpbnQgbGVuLCBpbnQgc2V0KQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXVuc2lnbmVkIGludCBucl9zZWN0b3JzOworCisJQlVHX09OKGJpcC0+YmlwX2J1ZiA9PSBOVUxMKTsKKworCWlmIChiaS0+dGFnX3NpemUgPT0gMCkKKwkJcmV0dXJuIC0xOworCisJbnJfc2VjdG9ycyA9IGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyhiaSwKKwkJCQkJRElWX1JPVU5EX1VQKGxlbiwgYmktPnRhZ19zaXplKSk7CisKKwlpZiAobnJfc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplID4gYmlwLT5iaXBfc2l6ZSkgeworCQlwcmludGsoS0VSTl9FUlIgIiVzOiB0YWcgdG9vIGJpZyBmb3IgYmlvOiAldSA+ICV1XG4iLAorCQkgICAgICAgX19mdW5jX18sIG5yX3NlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZSwgYmlwLT5iaXBfc2l6ZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc2V0KQorCQliaS0+c2V0X3RhZ19mbihiaXAtPmJpcF9idWYsIHRhZ19idWYsIG5yX3NlY3RvcnMpOworCWVsc2UKKwkJYmktPmdldF90YWdfZm4oYmlwLT5iaXBfYnVmLCB0YWdfYnVmLCBucl9zZWN0b3JzKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfc2V0X3RhZyAtIEF0dGFjaCBhIHRhZyBidWZmZXIgdG8gYSBiaW8KKyAqIEBiaW86CWJpbyB0byBhdHRhY2ggYnVmZmVyIHRvCisgKiBAdGFnX2J1ZjoJUG9pbnRlciB0byBhIGJ1ZmZlciBjb250YWluaW5nIHRhZyBkYXRhCisgKiBAbGVuOglMZW5ndGggb2YgdGhlIGluY2x1ZGVkIGJ1ZmZlcgorICoKKyAqIERlc2NyaXB0aW9uOiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0YWcgYSBiaW8gYnkgbGV2ZXJhZ2luZyB0aGUgZXh0cmEKKyAqIHNwYWNlIHByb3ZpZGVkIGJ5IGRldmljZXMgZm9ybWF0dGVkIHdpdGggaW50ZWdyaXR5IHByb3RlY3Rpb24uICBUaGUKKyAqIHNpemUgb2YgdGhlIGludGVncml0eSBidWZmZXIgbXVzdCBiZSA8PSB0byB0aGUgc2l6ZSByZXBvcnRlZCBieQorICogYmlvX2ludGVncml0eV90YWdfc2l6ZSgpLgorICovCitpbnQgYmlvX2ludGVncml0eV9zZXRfdGFnKHN0cnVjdCBiaW8gKmJpbywgdm9pZCAqdGFnX2J1ZiwgdW5zaWduZWQgaW50IGxlbikKK3sKKwlCVUdfT04oYmlvX2RhdGFfZGlyKGJpbykgIT0gV1JJVEUpOworCisJcmV0dXJuIGJpb19pbnRlZ3JpdHlfdGFnKGJpbywgdGFnX2J1ZiwgbGVuLCAxKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9zZXRfdGFnKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2dldF90YWcgLSBSZXRyaWV2ZSBhIHRhZyBidWZmZXIgZnJvbSBhIGJpbworICogQGJpbzoJYmlvIHRvIHJldHJpZXZlIGJ1ZmZlciBmcm9tCisgKiBAdGFnX2J1ZjoJUG9pbnRlciB0byBhIGJ1ZmZlciBmb3IgdGhlIHRhZyBkYXRhCisgKiBAbGVuOglMZW5ndGggb2YgdGhlIHRhcmdldCBidWZmZXIKKyAqCisgKiBEZXNjcmlwdGlvbjogVXNlIHRoaXMgZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIHRhZyBidWZmZXIgZnJvbSBhCisgKiBjb21wbGV0ZWQgSS9PLiBUaGUgc2l6ZSBvZiB0aGUgaW50ZWdyaXR5IGJ1ZmZlciBtdXN0IGJlIDw9IHRvIHRoZQorICogc2l6ZSByZXBvcnRlZCBieSBiaW9faW50ZWdyaXR5X3RhZ19zaXplKCkuCisgKi8KK2ludCBiaW9faW50ZWdyaXR5X2dldF90YWcoc3RydWN0IGJpbyAqYmlvLCB2b2lkICp0YWdfYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQoreworCUJVR19PTihiaW9fZGF0YV9kaXIoYmlvKSAhPSBSRUFEKTsKKworCXJldHVybiBiaW9faW50ZWdyaXR5X3RhZyhiaW8sIHRhZ19idWYsIGxlbiwgMCk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfZ2V0X3RhZyk7CisKKy8qKgorICogYmlvX2ludGVncml0eV9nZW5lcmF0ZSAtIEdlbmVyYXRlIGludGVncml0eSBtZXRhZGF0YSBmb3IgYSBiaW8KKyAqIEBiaW86CWJpbyB0byBnZW5lcmF0ZSBpbnRlZ3JpdHkgbWV0YWRhdGEgZm9yCisgKgorICogRGVzY3JpcHRpb246IEdlbmVyYXRlcyBpbnRlZ3JpdHkgbWV0YWRhdGEgZm9yIGEgYmlvIGJ5IGNhbGxpbmcgdGhlCisgKiBibG9jayBkZXZpY2UncyBnZW5lcmF0aW9uIGNhbGxiYWNrIGZ1bmN0aW9uLiAgVGhlIGJpbyBtdXN0IGhhdmUgYQorICogYmlwIGF0dGFjaGVkIHdpdGggZW5vdWdoIHJvb20gdG8gYWNjb21tb2RhdGUgdGhlIGdlbmVyYXRlZAorICogaW50ZWdyaXR5IG1ldGFkYXRhLgorICovCitzdGF0aWMgdm9pZCBiaW9faW50ZWdyaXR5X2dlbmVyYXRlKHN0cnVjdCBiaW8gKmJpbykKK3sKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyBiaXg7CisJc3RydWN0IGJpb192ZWMgKmJ2OworCXNlY3Rvcl90IHNlY3RvciA9IGJpby0+Ymlfc2VjdG9yOworCXVuc2lnbmVkIGludCBpLCBzZWN0b3JzLCB0b3RhbDsKKwl2b2lkICpwcm90X2J1ZiA9IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfYnVmOworCisJdG90YWwgPSAwOworCWJpeC5kaXNrX25hbWUgPSBiaW8tPmJpX2JkZXYtPmJkX2Rpc2stPmRpc2tfbmFtZTsKKwliaXguc2VjdG9yX3NpemUgPSBiaS0+c2VjdG9yX3NpemU7CisKKwliaW9fZm9yX2VhY2hfc2VnbWVudChidiwgYmlvLCBpKSB7CisJCXZvaWQgKmthZGRyID0ga21hcF9hdG9taWMoYnYtPmJ2X3BhZ2UsIEtNX1VTRVIwKTsKKwkJYml4LmRhdGFfYnVmID0ga2FkZHIgKyBidi0+YnZfb2Zmc2V0OworCQliaXguZGF0YV9zaXplID0gYnYtPmJ2X2xlbjsKKwkJYml4LnByb3RfYnVmID0gcHJvdF9idWY7CisJCWJpeC5zZWN0b3IgPSBzZWN0b3I7CisKKwkJYmktPmdlbmVyYXRlX2ZuKCZiaXgpOworCisJCXNlY3RvcnMgPSBidi0+YnZfbGVuIC8gYmktPnNlY3Rvcl9zaXplOworCQlzZWN0b3IgKz0gc2VjdG9yczsKKwkJcHJvdF9idWYgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCQl0b3RhbCArPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJCUJVR19PTih0b3RhbCA+IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfc2l6ZSk7CisKKwkJa3VubWFwX2F0b21pYyhrYWRkciwgS01fVVNFUjApOworCX0KK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3ByZXAgLSBQcmVwYXJlIGJpbyBmb3IgaW50ZWdyaXR5IEkvTworICogQGJpbzoJYmlvIHRvIHByZXBhcmUKKyAqCisgKiBEZXNjcmlwdGlvbjogQWxsb2NhdGVzIGEgYnVmZmVyIGZvciBpbnRlZ3JpdHkgbWV0YWRhdGEsIG1hcHMgdGhlCisgKiBwYWdlcyBhbmQgYXR0YWNoZXMgdGhlbSB0byBhIGJpby4gIFRoZSBiaW8gbXVzdCBoYXZlIGRhdGEKKyAqIGRpcmVjdGlvbiwgdGFyZ2V0IGRldmljZSBhbmQgc3RhcnQgc2VjdG9yIHNldCBwcmlvdCB0byBjYWxsaW5nLiAgSW4KKyAqIHRoZSBXUklURSBjYXNlLCBpbnRlZ3JpdHkgbWV0YWRhdGEgd2lsbCBiZSBnZW5lcmF0ZWQgdXNpbmcgdGhlCisgKiBibG9jayBkZXZpY2UncyBpbnRlZ3JpdHkgZnVuY3Rpb24uICBJbiB0aGUgUkVBRCBjYXNlLCB0aGUgYnVmZmVyCisgKiB3aWxsIGJlIHByZXBhcmVkIGZvciBETUEgYW5kIGEgc3VpdGFibGUgZW5kX2lvIGhhbmRsZXIgc2V0IHVwLgorICovCitpbnQgYmlvX2ludGVncml0eV9wcmVwKHN0cnVjdCBiaW8gKmJpbykKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXA7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpOworCXN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxOworCXZvaWQgKmJ1ZjsKKwl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7CisJdW5zaWduZWQgaW50IGxlbiwgbnJfcGFnZXM7CisJdW5zaWduZWQgaW50IGJ5dGVzLCBvZmZzZXQsIGk7CisJdW5zaWduZWQgaW50IHNlY3RvcnM7CisKKwliaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXEgPSBiZGV2X2dldF9xdWV1ZShiaW8tPmJpX2JkZXYpOworCUJVR19PTihiaSA9PSBOVUxMKTsKKwlCVUdfT04oYmlvX2ludGVncml0eShiaW8pKTsKKworCXNlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksIGJpb19zZWN0b3JzKGJpbykpOworCisJLyogQWxsb2NhdGUga2VybmVsIGJ1ZmZlciBmb3IgcHJvdGVjdGlvbiBkYXRhICovCisJbGVuID0gc2VjdG9ycyAqIGJsa19pbnRlZ3JpdHlfdHVwbGVfc2l6ZShiaSk7CisJYnVmID0ga21hbGxvYyhsZW4sIEdGUF9OT0lPIHwgX19HRlBfTk9GQUlMIHwgcS0+Ym91bmNlX2dmcCk7CisJaWYgKHVubGlrZWx5KGJ1ZiA9PSBOVUxMKSkgeworCQlwcmludGsoS0VSTl9FUlIgImNvdWxkIG5vdCBhbGxvY2F0ZSBpbnRlZ3JpdHkgYnVmZmVyXG4iKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCisJZW5kID0gKCgodW5zaWduZWQgbG9uZykgYnVmKSArIGxlbiArIFBBR0VfU0laRSAtIDEpID4+IFBBR0VfU0hJRlQ7CisJc3RhcnQgPSAoKHVuc2lnbmVkIGxvbmcpIGJ1ZikgPj4gUEFHRV9TSElGVDsKKwlucl9wYWdlcyA9IGVuZCAtIHN0YXJ0OworCisJLyogQWxsb2NhdGUgYmlvIGludGVncml0eSBwYXlsb2FkIGFuZCBpbnRlZ3JpdHkgdmVjdG9ycyAqLworCWJpcCA9IGJpb19pbnRlZ3JpdHlfYWxsb2MoYmlvLCBHRlBfTk9JTywgbnJfcGFnZXMpOworCWlmICh1bmxpa2VseShiaXAgPT0gTlVMTCkpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBpbnRlZ3JpdHkgYmlvc2V0XG4iKTsKKwkJa2ZyZWUoYnVmKTsKKwkJcmV0dXJuIC1FSU87CisJfQorCisJYmlwLT5iaXBfYnVmID0gYnVmOworCWJpcC0+YmlwX3NpemUgPSBsZW47CisJYmlwLT5iaXBfc2VjdG9yID0gYmlvLT5iaV9zZWN0b3I7CisKKwkvKiBNYXAgaXQgKi8KKwlvZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShidWYpOworCWZvciAoaSA9IDAgOyBpIDwgbnJfcGFnZXMgOyBpKyspIHsKKwkJaW50IHJldDsKKwkJYnl0ZXMgPSBQQUdFX1NJWkUgLSBvZmZzZXQ7CisKKwkJaWYgKGxlbiA8PSAwKQorCQkJYnJlYWs7CisKKwkJaWYgKGJ5dGVzID4gbGVuKQorCQkJYnl0ZXMgPSBsZW47CisKKwkJcmV0ID0gYmlvX2ludGVncml0eV9hZGRfcGFnZShiaW8sIHZpcnRfdG9fcGFnZShidWYpLAorCQkJCQkgICAgIGJ5dGVzLCBvZmZzZXQpOworCisJCWlmIChyZXQgPT0gMCkKKwkJCXJldHVybiAwOworCisJCWlmIChyZXQgPCBieXRlcykKKwkJCWJyZWFrOworCisJCWJ1ZiArPSBieXRlczsKKwkJbGVuIC09IGJ5dGVzOworCQlvZmZzZXQgPSAwOworCX0KKworCS8qIEluc3RhbGwgY3VzdG9tIEkvTyBjb21wbGV0aW9uIGhhbmRsZXIgaWYgcmVhZCB2ZXJpZnkgaXMgZW5hYmxlZCAqLworCWlmIChiaW9fZGF0YV9kaXIoYmlvKSA9PSBSRUFEKSB7CisJCWJpcC0+YmlwX2VuZF9pbyA9IGJpby0+YmlfZW5kX2lvOworCQliaW8tPmJpX2VuZF9pbyA9IGJpb19pbnRlZ3JpdHlfZW5kaW87CisJfQorCisJLyogQXV0by1nZW5lcmF0ZSBpbnRlZ3JpdHkgbWV0YWRhdGEgaWYgdGhpcyBpcyBhIHdyaXRlICovCisJaWYgKGJpb19kYXRhX2RpcihiaW8pID09IFdSSVRFKQorCQliaW9faW50ZWdyaXR5X2dlbmVyYXRlKGJpbyk7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV9wcmVwKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3ZlcmlmeSAtIFZlcmlmeSBpbnRlZ3JpdHkgbWV0YWRhdGEgZm9yIGEgYmlvCisgKiBAYmlvOgliaW8gdG8gdmVyaWZ5CisgKgorICogRGVzY3JpcHRpb246IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIHZlcmlmeSB0aGUgaW50ZWdyaXR5IG9mIGEKKyAqIGJpby4JIFRoZSBkYXRhIGluIHRoZSBiaW8gaW9fdmVjIGlzIGNvbXBhcmVkIHRvIHRoZSBpbnRlZ3JpdHkKKyAqIG1ldGFkYXRhIHJldHVybmVkIGJ5IHRoZSBIQkEuCisgKi8KK3N0YXRpYyBpbnQgYmlvX2ludGVncml0eV92ZXJpZnkoc3RydWN0IGJpbyAqYmlvKQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCXN0cnVjdCBibGtfaW50ZWdyaXR5X2V4Y2hnIGJpeDsKKwlzdHJ1Y3QgYmlvX3ZlYyAqYnY7CisJc2VjdG9yX3Qgc2VjdG9yID0gYmlvLT5iaV9pbnRlZ3JpdHktPmJpcF9zZWN0b3I7CisJdW5zaWduZWQgaW50IGksIHNlY3RvcnMsIHRvdGFsLCByZXQ7CisJdm9pZCAqcHJvdF9idWYgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX2J1ZjsKKworCXJldCA9IHRvdGFsID0gMDsKKwliaXguZGlza19uYW1lID0gYmlvLT5iaV9iZGV2LT5iZF9kaXNrLT5kaXNrX25hbWU7CisJYml4LnNlY3Rvcl9zaXplID0gYmktPnNlY3Rvcl9zaXplOworCisJYmlvX2Zvcl9lYWNoX3NlZ21lbnQoYnYsIGJpbywgaSkgeworCQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKGJ2LT5idl9wYWdlLCBLTV9VU0VSMCk7CisJCWJpeC5kYXRhX2J1ZiA9IGthZGRyICsgYnYtPmJ2X29mZnNldDsKKwkJYml4LmRhdGFfc2l6ZSA9IGJ2LT5idl9sZW47CisJCWJpeC5wcm90X2J1ZiA9IHByb3RfYnVmOworCQliaXguc2VjdG9yID0gc2VjdG9yOworCisJCXJldCA9IGJpLT52ZXJpZnlfZm4oJmJpeCk7CisKKwkJaWYgKHJldCkgeworCQkJa3VubWFwX2F0b21pYyhrYWRkciwgS01fVVNFUjApOworCQkJYnJlYWs7CisJCX0KKworCQlzZWN0b3JzID0gYnYtPmJ2X2xlbiAvIGJpLT5zZWN0b3Jfc2l6ZTsKKwkJc2VjdG9yICs9IHNlY3RvcnM7CisJCXByb3RfYnVmICs9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwkJdG90YWwgKz0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCQlCVUdfT04odG90YWwgPiBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NpemUpOworCisJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfdmVyaWZ5X2ZuIC0gSW50ZWdyaXR5IEkvTyBjb21wbGV0aW9uIHdvcmtlcgorICogQHdvcms6CVdvcmsgc3RydWN0IHN0b3JlZCBpbiBiaW8gdG8gYmUgdmVyaWZpZWQKKyAqCisgKiBEZXNjcmlwdGlvbjogVGhpcyB3b3JrcXVldWUgZnVuY3Rpb24gaXMgY2FsbGVkIHRvIGNvbXBsZXRlIGEgUkVBRAorICogcmVxdWVzdC4gIFRoZSBmdW5jdGlvbiB2ZXJpZmllcyB0aGUgdHJhbnNmZXJyZWQgaW50ZWdyaXR5IG1ldGFkYXRhCisgKiBhbmQgdGhlbiBjYWxscyB0aGUgb3JpZ2luYWwgYmlvIGVuZF9pbyBmdW5jdGlvbi4KKyAqLworc3RhdGljIHZvaWQgYmlvX2ludGVncml0eV92ZXJpZnlfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9CisJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkLCBiaXBfd29yayk7CisJc3RydWN0IGJpbyAqYmlvID0gYmlwLT5iaXBfYmlvOworCWludCBlcnJvciA9IGJpcC0+YmlwX2Vycm9yOworCisJaWYgKGJpb19pbnRlZ3JpdHlfdmVyaWZ5KGJpbykpIHsKKwkJY2xlYXJfYml0KEJJT19VUFRPREFURSwgJmJpby0+YmlfZmxhZ3MpOworCQllcnJvciA9IC1FSU87CisJfQorCisJLyogUmVzdG9yZSBvcmlnaW5hbCBiaW8gY29tcGxldGlvbiBoYW5kbGVyICovCisJYmlvLT5iaV9lbmRfaW8gPSBiaXAtPmJpcF9lbmRfaW87CisKKwlpZiAoYmlvLT5iaV9lbmRfaW8pCisJCWJpby0+YmlfZW5kX2lvKGJpbywgZXJyb3IpOworfQorCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfZW5kaW8gLSBJbnRlZ3JpdHkgSS9PIGNvbXBsZXRpb24gZnVuY3Rpb24KKyAqIEBiaW86CVByb3RlY3RlZCBiaW8KKyAqIEBlcnJvcjoJUG9pbnRlciB0byBlcnJubworICoKKyAqIERlc2NyaXB0aW9uOiBDb21wbGV0aW9uIGZvciBpbnRlZ3JpdHkgSS9PCisgKgorICogTm9ybWFsbHkgSS9PIGNvbXBsZXRpb24gaXMgZG9uZSBpbiBpbnRlcnJ1cHQgY29udGV4dC4gIEhvd2V2ZXIsCisgKiB2ZXJpZnlpbmcgSS9PIGludGVncml0eSBpcyBhIHRpbWUtY29uc3VtaW5nIHRhc2sgd2hpY2ggbXVzdCBiZSBydW4KKyAqIGluIHByb2Nlc3MgY29udGV4dC4JVGhpcyBmdW5jdGlvbiBwb3N0cG9uZXMgY29tcGxldGlvbgorICogYWNjb3JkaW5nbHkuCisgKi8KK3ZvaWQgYmlvX2ludGVncml0eV9lbmRpbyhzdHJ1Y3QgYmlvICpiaW8sIGludCBlcnJvcikKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKworCUJVR19PTihiaXAtPmJpcF9iaW8gIT0gYmlvKTsKKworCWJpcC0+YmlwX2Vycm9yID0gZXJyb3I7CisJSU5JVF9XT1JLKCZiaXAtPmJpcF93b3JrLCBiaW9faW50ZWdyaXR5X3ZlcmlmeV9mbik7CisJcXVldWVfd29yayhraW50ZWdyaXR5ZF93cSwgJmJpcC0+YmlwX3dvcmspOworfQorRVhQT1JUX1NZTUJPTChiaW9faW50ZWdyaXR5X2VuZGlvKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X21hcmtfaGVhZCAtIEFkdmFuY2UgYmlwX3ZlYyBza2lwIGJ5dGVzCisgKiBAYmlwOglJbnRlZ3JpdHkgdmVjdG9yIHRvIGFkdmFuY2UKKyAqIEBza2lwOglOdW1iZXIgb2YgYnl0ZXMgdG8gYWR2YW5jZSBpdAorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfbWFya19oZWFkKHN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCwKKwkJCSAgICAgdW5zaWduZWQgaW50IHNraXApCit7CisJc3RydWN0IGJpb192ZWMgKml2OworCXVuc2lnbmVkIGludCBpOworCisJYmlwX2Zvcl9lYWNoX3ZlYyhpdiwgYmlwLCBpKSB7CisJCWlmIChza2lwID09IDApIHsKKwkJCWJpcC0+YmlwX2lkeCA9IGk7CisJCQlyZXR1cm47CisJCX0gZWxzZSBpZiAoc2tpcCA+PSBpdi0+YnZfbGVuKSB7CisJCQlza2lwIC09IGl2LT5idl9sZW47CisJCX0gZWxzZSB7IC8qIHNraXAgPCBpdi0+YnZfbGVuKSAqLworCQkJaXYtPmJ2X29mZnNldCArPSBza2lwOworCQkJaXYtPmJ2X2xlbiAtPSBza2lwOworCQkJYmlwLT5iaXBfaWR4ID0gaTsKKwkJCXJldHVybjsKKwkJfQorCX0KK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X21hcmtfdGFpbCAtIFRydW5jYXRlIGJpcF92ZWMgdG8gYmUgbGVuIGJ5dGVzIGxvbmcKKyAqIEBiaXA6CUludGVncml0eSB2ZWN0b3IgdG8gdHJ1bmNhdGUKKyAqIEBsZW46CU5ldyBsZW5ndGggb2YgaW50ZWdyaXR5IHZlY3RvcgorICovCit2b2lkIGJpb19pbnRlZ3JpdHlfbWFya190YWlsKHN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCwKKwkJCSAgICAgdW5zaWduZWQgaW50IGxlbikKK3sKKwlzdHJ1Y3QgYmlvX3ZlYyAqaXY7CisJdW5zaWduZWQgaW50IGk7CisKKwliaXBfZm9yX2VhY2hfdmVjKGl2LCBiaXAsIGkpIHsKKwkJaWYgKGxlbiA9PSAwKSB7CisJCQliaXAtPmJpcF92Y250ID0gaTsKKwkJCXJldHVybjsKKwkJfSBlbHNlIGlmIChsZW4gPj0gaXYtPmJ2X2xlbikgeworCQkJbGVuIC09IGl2LT5idl9sZW47CisJCX0gZWxzZSB7IC8qIGxlbiA8IGl2LT5idl9sZW4pICovCisJCQlpdi0+YnZfbGVuID0gbGVuOworCQkJbGVuID0gMDsKKwkJfQorCX0KK30KKworLyoqCisgKiBiaW9faW50ZWdyaXR5X2FkdmFuY2UgLSBBZHZhbmNlIGludGVncml0eSB2ZWN0b3IKKyAqIEBiaW86CWJpbyB3aG9zZSBpbnRlZ3JpdHkgdmVjdG9yIHRvIHVwZGF0ZQorICogQGJ5dGVzX2RvbmU6CW51bWJlciBvZiBkYXRhIGJ5dGVzIHRoYXQgaGF2ZSBiZWVuIGNvbXBsZXRlZAorICoKKyAqIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0aW9uIGNhbGN1bGF0ZXMgaG93IG1hbnkgaW50ZWdyaXR5IGJ5dGVzIHRoZQorICogbnVtYmVyIG9mIGNvbXBsZXRlZCBkYXRhIGJ5dGVzIGNvcnJlc3BvbmQgdG8gYW5kIGFkdmFuY2VzIHRoZQorICogaW50ZWdyaXR5IHZlY3RvciBhY2NvcmRpbmdseS4KKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X2FkdmFuY2Uoc3RydWN0IGJpbyAqYmlvLCB1bnNpZ25lZCBpbnQgYnl0ZXNfZG9uZSkKK3sKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaXAgPSBiaW8tPmJpX2ludGVncml0eTsKKwlzdHJ1Y3QgYmxrX2ludGVncml0eSAqYmkgPSBiZGV2X2dldF9pbnRlZ3JpdHkoYmlvLT5iaV9iZGV2KTsKKwl1bnNpZ25lZCBpbnQgbnJfc2VjdG9yczsKKworCUJVR19PTihiaXAgPT0gTlVMTCk7CisJQlVHX09OKGJpID09IE5VTEwpOworCisJbnJfc2VjdG9ycyA9IGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyhiaSwgYnl0ZXNfZG9uZSA+PiA5KTsKKwliaW9faW50ZWdyaXR5X21hcmtfaGVhZChiaXAsIG5yX3NlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZSk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfYWR2YW5jZSk7CisKKy8qKgorICogYmlvX2ludGVncml0eV90cmltIC0gVHJpbSBpbnRlZ3JpdHkgdmVjdG9yCisgKiBAYmlvOgliaW8gd2hvc2UgaW50ZWdyaXR5IHZlY3RvciB0byB1cGRhdGUKKyAqIEBvZmZzZXQ6CW9mZnNldCB0byBmaXJzdCBkYXRhIHNlY3RvcgorICogQHNlY3RvcnM6CW51bWJlciBvZiBkYXRhIHNlY3RvcnMKKyAqCisgKiBEZXNjcmlwdGlvbjogVXNlZCB0byB0cmltIHRoZSBpbnRlZ3JpdHkgdmVjdG9yIGluIGEgY2xvbmVkIGJpby4KKyAqIFRoZSBpdmVjIHdpbGwgYmUgYWR2YW5jZWQgY29ycmVzcG9uZGluZyB0byAnb2Zmc2V0JyBkYXRhIHNlY3RvcnMKKyAqIGFuZCB0aGUgbGVuZ3RoIHdpbGwgYmUgdHJ1bmNhdGVkIGNvcnJlc3BvbmRpbmcgdG8gJ2xlbicgZGF0YQorICogc2VjdG9ycy4KKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X3RyaW0oc3RydWN0IGJpbyAqYmlvLCB1bnNpZ25lZCBpbnQgb2Zmc2V0LAorCQkJdW5zaWduZWQgaW50IHNlY3RvcnMpCit7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwID0gYmlvLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJpby0+YmlfYmRldik7CisJdW5zaWduZWQgaW50IG5yX3NlY3RvcnM7CisKKwlCVUdfT04oYmlwID09IE5VTEwpOworCUJVR19PTihiaSA9PSBOVUxMKTsKKwlCVUdfT04oIWJpb19mbGFnZ2VkKGJpbywgQklPX0NMT05FRCkpOworCisJbnJfc2VjdG9ycyA9IGJpb19pbnRlZ3JpdHlfaHdfc2VjdG9ycyhiaSwgc2VjdG9ycyk7CisJYmlwLT5iaXBfc2VjdG9yID0gYmlwLT5iaXBfc2VjdG9yICsgb2Zmc2V0OworCWJpb19pbnRlZ3JpdHlfbWFya19oZWFkKGJpcCwgb2Zmc2V0ICogYmktPnR1cGxlX3NpemUpOworCWJpb19pbnRlZ3JpdHlfbWFya190YWlsKGJpcCwgc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplKTsKK30KK0VYUE9SVF9TWU1CT0woYmlvX2ludGVncml0eV90cmltKTsKKworLyoqCisgKiBiaW9faW50ZWdyaXR5X3NwbGl0IC0gU3BsaXQgaW50ZWdyaXR5IG1ldGFkYXRhCisgKiBAYmlvOglQcm90ZWN0ZWQgYmlvCisgKiBAYnA6CQlSZXN1bHRpbmcgYmlvX3BhaXIKKyAqIEBzZWN0b3JzOglPZmZzZXQKKyAqCisgKiBEZXNjcmlwdGlvbjogU3BsaXRzIGFuIGludGVncml0eSBwYWdlIGludG8gYSBiaW9fcGFpci4KKyAqLwordm9pZCBiaW9faW50ZWdyaXR5X3NwbGl0KHN0cnVjdCBiaW8gKmJpbywgc3RydWN0IGJpb19wYWlyICpicCwgaW50IHNlY3RvcnMpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpOworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcCA9IGJpby0+YmlfaW50ZWdyaXR5OworCXVuc2lnbmVkIGludCBucl9zZWN0b3JzOworCisJaWYgKGJpb19pbnRlZ3JpdHkoYmlvKSA9PSAwKQorCQlyZXR1cm47CisKKwliaSA9IGJkZXZfZ2V0X2ludGVncml0eShiaW8tPmJpX2JkZXYpOworCUJVR19PTihiaSA9PSBOVUxMKTsKKwlCVUdfT04oYmlwLT5iaXBfdmNudCAhPSAxKTsKKworCW5yX3NlY3RvcnMgPSBiaW9faW50ZWdyaXR5X2h3X3NlY3RvcnMoYmksIHNlY3RvcnMpOworCisJYnAtPmJpbzEuYmlfaW50ZWdyaXR5ID0gJmJwLT5iaXAxOworCWJwLT5iaW8yLmJpX2ludGVncml0eSA9ICZicC0+YmlwMjsKKworCWJwLT5pdjEgPSBiaXAtPmJpcF92ZWNbMF07CisJYnAtPml2MiA9IGJpcC0+YmlwX3ZlY1swXTsKKworCWJwLT5iaXAxLmJpcF92ZWMgPSAmYnAtPml2MTsKKwlicC0+YmlwMi5iaXBfdmVjID0gJmJwLT5pdjI7CisKKwlicC0+aXYxLmJ2X2xlbiA9IHNlY3RvcnMgKiBiaS0+dHVwbGVfc2l6ZTsKKwlicC0+aXYyLmJ2X29mZnNldCArPSBzZWN0b3JzICogYmktPnR1cGxlX3NpemU7CisJYnAtPml2Mi5idl9sZW4gLT0gc2VjdG9ycyAqIGJpLT50dXBsZV9zaXplOworCisJYnAtPmJpcDEuYmlwX3NlY3RvciA9IGJpby0+YmlfaW50ZWdyaXR5LT5iaXBfc2VjdG9yOworCWJwLT5iaXAyLmJpcF9zZWN0b3IgPSBiaW8tPmJpX2ludGVncml0eS0+YmlwX3NlY3RvciArIG5yX3NlY3RvcnM7CisKKwlicC0+YmlwMS5iaXBfdmNudCA9IGJwLT5iaXAyLmJpcF92Y250ID0gMTsKKwlicC0+YmlwMS5iaXBfaWR4ID0gYnAtPmJpcDIuYmlwX2lkeCA9IDA7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfc3BsaXQpOworCisvKioKKyAqIGJpb19pbnRlZ3JpdHlfY2xvbmUgLSBDYWxsYmFjayBmb3IgY2xvbmluZyBiaW9zIHdpdGggaW50ZWdyaXR5IG1ldGFkYXRhCisgKiBAYmlvOglOZXcgYmlvCisgKiBAYmlvX3NyYzoJT3JpZ2luYWwgYmlvCisgKiBAYnM6CQliaW9fc2V0IHRvIGFsbG9jYXRlIGJpcCBmcm9tCisgKgorICogRGVzY3JpcHRpb246CUNhbGxlZCB0byBhbGxvY2F0ZSBhIGJpcCB3aGVuIGNsb25pbmcgYSBiaW8KKyAqLworaW50IGJpb19pbnRlZ3JpdHlfY2xvbmUoc3RydWN0IGJpbyAqYmlvLCBzdHJ1Y3QgYmlvICpiaW9fc3JjLAorCQkJc3RydWN0IGJpb19zZXQgKmJzKQoreworCXN0cnVjdCBiaW9faW50ZWdyaXR5X3BheWxvYWQgKmJpcF9zcmMgPSBiaW9fc3JjLT5iaV9pbnRlZ3JpdHk7CisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlwOworCisJQlVHX09OKGJpcF9zcmMgPT0gTlVMTCk7CisKKwliaXAgPSBiaW9faW50ZWdyaXR5X2FsbG9jX2Jpb3NldChiaW8sIEdGUF9OT0lPLCBiaXBfc3JjLT5iaXBfdmNudCwgYnMpOworCisJaWYgKGJpcCA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTzsKKworCW1lbWNweShiaXAtPmJpcF92ZWMsIGJpcF9zcmMtPmJpcF92ZWMsCisJICAgICAgIGJpcF9zcmMtPmJpcF92Y250ICogc2l6ZW9mKHN0cnVjdCBiaW9fdmVjKSk7CisKKwliaXAtPmJpcF9zZWN0b3IgPSBiaXBfc3JjLT5iaXBfc2VjdG9yOworCWJpcC0+YmlwX3ZjbnQgPSBiaXBfc3JjLT5iaXBfdmNudDsKKwliaXAtPmJpcF9pZHggPSBiaXBfc3JjLT5iaXBfaWR4OworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfY2xvbmUpOworCitpbnQgYmlvc2V0X2ludGVncml0eV9jcmVhdGUoc3RydWN0IGJpb19zZXQgKmJzLCBpbnQgcG9vbF9zaXplKQoreworCWJzLT5iaW9faW50ZWdyaXR5X3Bvb2wgPSBtZW1wb29sX2NyZWF0ZV9zbGFiX3Bvb2wocG9vbF9zaXplLAorCQkJCQkJCSAgYmlvX2ludGVncml0eV9zbGFiKTsKKwlpZiAoIWJzLT5iaW9faW50ZWdyaXR5X3Bvb2wpCisJCXJldHVybiAtMTsKKworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChiaW9zZXRfaW50ZWdyaXR5X2NyZWF0ZSk7CisKK3ZvaWQgYmlvc2V0X2ludGVncml0eV9mcmVlKHN0cnVjdCBiaW9fc2V0ICpicykKK3sKKwlpZiAoYnMtPmJpb19pbnRlZ3JpdHlfcG9vbCkKKwkJbWVtcG9vbF9kZXN0cm95KGJzLT5iaW9faW50ZWdyaXR5X3Bvb2wpOworfQorRVhQT1JUX1NZTUJPTChiaW9zZXRfaW50ZWdyaXR5X2ZyZWUpOworCit2b2lkIF9faW5pdCBiaW9faW50ZWdyaXR5X2luaXRfc2xhYih2b2lkKQoreworCWJpb19pbnRlZ3JpdHlfc2xhYiA9IEtNRU1fQ0FDSEUoYmlvX2ludGVncml0eV9wYXlsb2FkLAorCQkJCQlTTEFCX0hXQ0FDSEVfQUxJR058U0xBQl9QQU5JQyk7Cit9CitFWFBPUlRfU1lNQk9MKGJpb19pbnRlZ3JpdHlfaW5pdF9zbGFiKTsKKworc3RhdGljIGludCBfX2luaXQgaW50ZWdyaXR5X2luaXQodm9pZCkKK3sKKwlraW50ZWdyaXR5ZF93cSA9IGNyZWF0ZV93b3JrcXVldWUoImtpbnRlZ3JpdHlkIik7CisKKwlpZiAoIWtpbnRlZ3JpdHlkX3dxKQorCQlwYW5pYygiRmFpbGVkIHRvIGNyZWF0ZSBraW50ZWdyaXR5ZFxuIik7CisKKwlyZXR1cm4gMDsKK30KK3N1YnN5c19pbml0Y2FsbChpbnRlZ3JpdHlfaW5pdCk7CmRpZmYgLS1naXQgYS9mcy9iaW8uYyBiL2ZzL2Jpby5jCmluZGV4IDc4NTYyNTcuLjg4MzIyYjAgMTAwNjQ0Ci0tLSBhL2ZzL2Jpby5jCisrKyBiL2ZzL2Jpby5jCkBAIC0yOCwyNSArMjgsMTAgQEAKICNpbmNsdWRlIDxsaW51eC9ibGt0cmFjZV9hcGkuaD4KICNpbmNsdWRlIDxzY3NpL3NnLmg+CQkvKiBmb3Igc3RydWN0IHNnX2lvdmVjICovCiAKLSNkZWZpbmUgQklPX1BPT0xfU0laRSAyCi0KIHN0YXRpYyBzdHJ1Y3Qga21lbV9jYWNoZSAqYmlvX3NsYWIgX19yZWFkX21vc3RseTsKIAotI2RlZmluZSBCSU9WRUNfTlJfUE9PTFMgNgotCi0vKgotICogYSBzbWFsbCBudW1iZXIgb2YgZW50cmllcyBpcyBmaW5lLCBub3QgZ29pbmcgdG8gYmUgcGVyZm9ybWFuY2UgY3JpdGljYWwuCi0gKiBiYXNpY2FsbHkgd2UganVzdCBuZWVkIHRvIHN1cnZpdmUKLSAqLwotI2RlZmluZSBCSU9fU1BMSVRfRU5UUklFUyAyCiBtZW1wb29sX3QgKmJpb19zcGxpdF9wb29sIF9fcmVhZF9tb3N0bHk7CiAKLXN0cnVjdCBiaW92ZWNfc2xhYiB7Ci0JaW50IG5yX3ZlY3M7Ci0JY2hhciAqbmFtZTsgCi0Jc3RydWN0IGttZW1fY2FjaGUgKnNsYWI7Ci19OwotCiAvKgogICogaWYgeW91IGNoYW5nZSB0aGlzIGxpc3QsIGFsc28gY2hhbmdlIGJ2ZWNfYWxsb2Mgb3IgdGhpbmdzIHdpbGwKICAqIGJyZWFrIGJhZGx5ISBjYW5ub3QgYmUgYmlnZ2VyIHRoYW4gd2hhdCB5b3UgY2FuIGZpdCBpbnRvIGFuCkBAIC02MCwyMyArNDUsMTcgQEAKICN1bmRlZiBCVgogCiAvKgotICogYmlvX3NldCBpcyB1c2VkIHRvIGFsbG93IG90aGVyIHBvcnRpb25zIG9mIHRoZSBJTyBzeXN0ZW0gdG8KLSAqIGFsbG9jYXRlIHRoZWlyIG93biBwcml2YXRlIG1lbW9yeSBwb29scyBmb3IgYmlvIGFuZCBpb3ZlYyBzdHJ1Y3R1cmVzLgotICogVGhlc2UgbWVtb3J5IHBvb2xzIGluIHR1cm4gYWxsIGFsbG9jYXRlIGZyb20gdGhlIGJpb19zbGFiCi0gKiBhbmQgdGhlIGJ2ZWNfc2xhYnNbXS4KLSAqLwotc3RydWN0IGJpb19zZXQgewotCW1lbXBvb2xfdCAqYmlvX3Bvb2w7Ci0JbWVtcG9vbF90ICpidmVjX3Bvb2xzW0JJT1ZFQ19OUl9QT09MU107Ci19OwotCi0vKgogICogZnNfYmlvX3NldCBpcyB0aGUgYmlvX3NldCBjb250YWluaW5nIGJpbyBhbmQgaW92ZWMgbWVtb3J5IHBvb2xzIHVzZWQgYnkKICAqIElPIGNvZGUgdGhhdCBkb2VzIG5vdCBuZWVkIHByaXZhdGUgbWVtb3J5IHBvb2xzLgogICovCi1zdGF0aWMgc3RydWN0IGJpb19zZXQgKmZzX2Jpb19zZXQ7CitzdHJ1Y3QgYmlvX3NldCAqZnNfYmlvX3NldDsKIAotc3RhdGljIGlubGluZSBzdHJ1Y3QgYmlvX3ZlYyAqYnZlY19hbGxvY19icyhnZnBfdCBnZnBfbWFzaywgaW50IG5yLCB1bnNpZ25lZCBsb25nICppZHgsIHN0cnVjdCBiaW9fc2V0ICpicykKK3Vuc2lnbmVkIGludCBidmVjX25yX3ZlY3ModW5zaWduZWQgc2hvcnQgaWR4KQoreworCXJldHVybiBidmVjX3NsYWJzW2lkeF0ubnJfdmVjczsKK30KKworc3RydWN0IGJpb192ZWMgKmJ2ZWNfYWxsb2NfYnMoZ2ZwX3QgZ2ZwX21hc2ssIGludCBuciwgdW5zaWduZWQgbG9uZyAqaWR4LCBzdHJ1Y3QgYmlvX3NldCAqYnMpCiB7CiAJc3RydWN0IGJpb192ZWMgKmJ2bDsKIApAQCAtMTE3LDYgKzk2LDkgQEAKIAkJbWVtcG9vbF9mcmVlKGJpby0+YmlfaW9fdmVjLCBiaW9fc2V0LT5idmVjX3Bvb2xzW3Bvb2xfaWR4XSk7CiAJfQogCisJaWYgKGJpb19pbnRlZ3JpdHkoYmlvKSkKKwkJYmlvX2ludGVncml0eV9mcmVlKGJpbywgYmlvX3NldCk7CisKIAltZW1wb29sX2ZyZWUoYmlvLCBiaW9fc2V0LT5iaW9fcG9vbCk7CiB9CiAKQEAgLTI3NSw5ICsyNTcsMTkgQEAKIHsKIAlzdHJ1Y3QgYmlvICpiID0gYmlvX2FsbG9jX2Jpb3NldChnZnBfbWFzaywgYmlvLT5iaV9tYXhfdmVjcywgZnNfYmlvX3NldCk7CiAKLQlpZiAoYikgewotCQliLT5iaV9kZXN0cnVjdG9yID0gYmlvX2ZzX2Rlc3RydWN0b3I7Ci0JCV9fYmlvX2Nsb25lKGIsIGJpbyk7CisJaWYgKCFiKQorCQlyZXR1cm4gTlVMTDsKKworCWItPmJpX2Rlc3RydWN0b3IgPSBiaW9fZnNfZGVzdHJ1Y3RvcjsKKwlfX2Jpb19jbG9uZShiLCBiaW8pOworCisJaWYgKGJpb19pbnRlZ3JpdHkoYmlvKSkgeworCQlpbnQgcmV0OworCisJCXJldCA9IGJpb19pbnRlZ3JpdHlfY2xvbmUoYiwgYmlvLCBmc19iaW9fc2V0KTsKKworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiBOVUxMOwogCX0KIAogCXJldHVybiBiOwpAQCAtMzMzLDEwICszMjUsMTkgQEAKIAkJaWYgKHBhZ2UgPT0gcHJldi0+YnZfcGFnZSAmJgogCQkgICAgb2Zmc2V0ID09IHByZXYtPmJ2X29mZnNldCArIHByZXYtPmJ2X2xlbikgewogCQkJcHJldi0+YnZfbGVuICs9IGxlbjsKLQkJCWlmIChxLT5tZXJnZV9idmVjX2ZuICYmCi0JCQkgICAgcS0+bWVyZ2VfYnZlY19mbihxLCBiaW8sIHByZXYpIDwgbGVuKSB7Ci0JCQkJcHJldi0+YnZfbGVuIC09IGxlbjsKLQkJCQlyZXR1cm4gMDsKKworCQkJaWYgKHEtPm1lcmdlX2J2ZWNfZm4pIHsKKwkJCQlzdHJ1Y3QgYnZlY19tZXJnZV9kYXRhIGJ2bSA9IHsKKwkJCQkJLmJpX2JkZXYgPSBiaW8tPmJpX2JkZXYsCisJCQkJCS5iaV9zZWN0b3IgPSBiaW8tPmJpX3NlY3RvciwKKwkJCQkJLmJpX3NpemUgPSBiaW8tPmJpX3NpemUsCisJCQkJCS5iaV9ydyA9IGJpby0+YmlfcncsCisJCQkJfTsKKworCQkJCWlmIChxLT5tZXJnZV9idmVjX2ZuKHEsICZidm0sIHByZXYpIDwgbGVuKSB7CisJCQkJCXByZXYtPmJ2X2xlbiAtPSBsZW47CisJCQkJCXJldHVybiAwOworCQkJCX0KIAkJCX0KIAogCQkJZ290byBkb25lOwpAQCAtMzc3LDExICszNzgsMTggQEAKIAkgKiBxdWV1ZSB0byBnZXQgZnVydGhlciBjb250cm9sCiAJICovCiAJaWYgKHEtPm1lcmdlX2J2ZWNfZm4pIHsKKwkJc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSBidm0gPSB7CisJCQkuYmlfYmRldiA9IGJpby0+YmlfYmRldiwKKwkJCS5iaV9zZWN0b3IgPSBiaW8tPmJpX3NlY3RvciwKKwkJCS5iaV9zaXplID0gYmlvLT5iaV9zaXplLAorCQkJLmJpX3J3ID0gYmlvLT5iaV9ydywKKwkJfTsKKwogCQkvKgogCQkgKiBtZXJnZV9idmVjX2ZuKCkgcmV0dXJucyBudW1iZXIgb2YgYnl0ZXMgaXQgY2FuIGFjY2VwdAogCQkgKiBhdCB0aGlzIG9mZnNldAogCQkgKi8KLQkJaWYgKHEtPm1lcmdlX2J2ZWNfZm4ocSwgYmlvLCBidmVjKSA8IGxlbikgeworCQlpZiAocS0+bWVyZ2VfYnZlY19mbihxLCAmYnZtLCBidmVjKSA8IGxlbikgewogCQkJYnZlYy0+YnZfcGFnZSA9IE5VTEw7CiAJCQlidmVjLT5idl9sZW4gPSAwOwogCQkJYnZlYy0+YnZfb2Zmc2V0ID0gMDsKQEAgLTEyNDksNiArMTI1Nyw5IEBACiAJYnAtPmJpbzEuYmlfcHJpdmF0ZSA9IGJpOwogCWJwLT5iaW8yLmJpX3ByaXZhdGUgPSBwb29sOwogCisJaWYgKGJpb19pbnRlZ3JpdHkoYmkpKQorCQliaW9faW50ZWdyaXR5X3NwbGl0KGJpLCBicCwgZmlyc3Rfc2VjdG9ycyk7CisKIAlyZXR1cm4gYnA7CiB9CiAKQEAgLTEyOTAsNiArMTMwMSw3IEBACiAJaWYgKGJzLT5iaW9fcG9vbCkKIAkJbWVtcG9vbF9kZXN0cm95KGJzLT5iaW9fcG9vbCk7CiAKKwliaW9zZXRfaW50ZWdyaXR5X2ZyZWUoYnMpOwogCWJpb3ZlY19mcmVlX3Bvb2xzKGJzKTsKIAogCWtmcmVlKGJzKTsKQEAgLTEzMDYsNiArMTMxOCw5IEBACiAJaWYgKCFicy0+YmlvX3Bvb2wpCiAJCWdvdG8gYmFkOwogCisJaWYgKGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKGJzLCBiaW9fcG9vbF9zaXplKSkKKwkJZ290byBiYWQ7CisKIAlpZiAoIWJpb3ZlY19jcmVhdGVfcG9vbHMoYnMsIGJ2ZWNfcG9vbF9zaXplKSkKIAkJcmV0dXJuIGJzOwogCkBAIC0xMzMyLDYgKzEzNDcsNyBAQAogewogCWJpb19zbGFiID0gS01FTV9DQUNIRShiaW8sIFNMQUJfSFdDQUNIRV9BTElHTnxTTEFCX1BBTklDKTsKIAorCWJpb19pbnRlZ3JpdHlfaW5pdF9zbGFiKCk7CiAJYmlvdmVjX2luaXRfc2xhYnMoKTsKIAogCWZzX2Jpb19zZXQgPSBiaW9zZXRfY3JlYXRlKEJJT19QT09MX1NJWkUsIDIpOwpkaWZmIC0tZ2l0IGEvZnMvYnVmZmVyLmMgYi9mcy9idWZmZXIuYwppbmRleCAwZjUxYzBmLi5kNDhjYWVlIDEwMDY0NAotLS0gYS9mcy9idWZmZXIuYworKysgYi9mcy9idWZmZXIuYwpAQCAtMTQ2NCw3ICsxNDY0LDcgQEAKIAkKIHZvaWQgaW52YWxpZGF0ZV9iaF9scnVzKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoaW52YWxpZGF0ZV9iaF9scnUsIE5VTEwsIDEsIDEpOworCW9uX2VhY2hfY3B1KGludmFsaWRhdGVfYmhfbHJ1LCBOVUxMLCAxKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGludmFsaWRhdGVfYmhfbHJ1cyk7CiAKQEAgLTE2OTEsMTEgKzE2OTEsMTMgQEAKIAkJCSAqLwogCQkJY2xlYXJfYnVmZmVyX2RpcnR5KGJoKTsKIAkJCXNldF9idWZmZXJfdXB0b2RhdGUoYmgpOwotCQl9IGVsc2UgaWYgKCFidWZmZXJfbWFwcGVkKGJoKSAmJiBidWZmZXJfZGlydHkoYmgpKSB7CisJCX0gZWxzZSBpZiAoKCFidWZmZXJfbWFwcGVkKGJoKSB8fCBidWZmZXJfZGVsYXkoYmgpKSAmJgorCQkJICAgYnVmZmVyX2RpcnR5KGJoKSkgewogCQkJV0FSTl9PTihiaC0+Yl9zaXplICE9IGJsb2Nrc2l6ZSk7CiAJCQllcnIgPSBnZXRfYmxvY2soaW5vZGUsIGJsb2NrLCBiaCwgMSk7CiAJCQlpZiAoZXJyKQogCQkJCWdvdG8gcmVjb3ZlcjsKKwkJCWNsZWFyX2J1ZmZlcl9kZWxheShiaCk7CiAJCQlpZiAoYnVmZmVyX25ldyhiaCkpIHsKIAkJCQkvKiBibG9ja2RldiBtYXBwaW5ncyBuZXZlciBjb21lIGhlcmUgKi8KIAkJCQljbGVhcl9idWZmZXJfbmV3KGJoKTsKQEAgLTE3NzQsNyArMTc3Niw4IEBACiAJYmggPSBoZWFkOwogCS8qIFJlY292ZXJ5OiBsb2NrIGFuZCBzdWJtaXQgdGhlIG1hcHBlZCBidWZmZXJzICovCiAJZG8gewotCQlpZiAoYnVmZmVyX21hcHBlZChiaCkgJiYgYnVmZmVyX2RpcnR5KGJoKSkgeworCQlpZiAoYnVmZmVyX21hcHBlZChiaCkgJiYgYnVmZmVyX2RpcnR5KGJoKSAmJgorCQkgICAgIWJ1ZmZlcl9kZWxheShiaCkpIHsKIAkJCWxvY2tfYnVmZmVyKGJoKTsKIAkJCW1hcmtfYnVmZmVyX2FzeW5jX3dyaXRlKGJoKTsKIAkJfSBlbHNlIHsKQEAgLTIwNjEsNiArMjA2NCw3IEBACiAJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWludCBpX3NpemVfY2hhbmdlZCA9IDA7CiAKIAljb3BpZWQgPSBibG9ja193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwgcGFnZSwgZnNkYXRhKTsKIApAQCAtMjA3MywxMiArMjA3NywyMSBAQAogCSAqLwogCWlmIChwb3MrY29waWVkID4gaW5vZGUtPmlfc2l6ZSkgewogCQlpX3NpemVfd3JpdGUoaW5vZGUsIHBvcytjb3BpZWQpOwotCQltYXJrX2lub2RlX2RpcnR5KGlub2RlKTsKKwkJaV9zaXplX2NoYW5nZWQgPSAxOwogCX0KIAogCXVubG9ja19wYWdlKHBhZ2UpOwogCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAorCS8qCisJICogRG9uJ3QgbWFyayB0aGUgaW5vZGUgZGlydHkgdW5kZXIgcGFnZSBsb2NrLiBGaXJzdCwgaXQgdW5uZWNlc3NhcmlseQorCSAqIG1ha2VzIHRoZSBob2xkaW5nIHRpbWUgb2YgcGFnZSBsb2NrIGxvbmdlci4gU2Vjb25kLCBpdCBmb3JjZXMgbG9jaworCSAqIG9yZGVyaW5nIG9mIHBhZ2UgbG9jayBhbmQgdHJhbnNhY3Rpb24gc3RhcnQgZm9yIGpvdXJuYWxpbmcKKwkgKiBmaWxlc3lzdGVtcy4KKwkgKi8KKwlpZiAoaV9zaXplX2NoYW5nZWQpCisJCW1hcmtfaW5vZGVfZGlydHkoaW5vZGUpOworCiAJcmV0dXJuIGNvcGllZDsKIH0KIEVYUE9SVF9TWU1CT0woZ2VuZXJpY193cml0ZV9lbmQpOwpkaWZmIC0tZ2l0IGEvZnMvY2hhcl9kZXYuYyBiL2ZzL2NoYXJfZGV2LmMKaW5kZXggNjhlNTEwYi4uM2NiN2NkYSAxMDA2NDQKLS0tIGEvZnMvY2hhcl9kZXYuYworKysgYi9mcy9jaGFyX2Rldi5jCkBAIC0zNzMsNiArMzczLDggQEAKIAkJCXJldHVybiAtRU5YSU87CiAJCW5ldyA9IGNvbnRhaW5lcl9vZihrb2JqLCBzdHJ1Y3QgY2Rldiwga29iaik7CiAJCXNwaW5fbG9jaygmY2Rldl9sb2NrKTsKKwkJLyogQ2hlY2sgaV9jZGV2IGFnYWluIGluIGNhc2Ugc29tZWJvZHkgYmVhdCB1cyB0byBpdCB3aGlsZQorCQkgICB3ZSBkcm9wcGVkIHRoZSBsb2NrLiAqLwogCQlwID0gaW5vZGUtPmlfY2RldjsKIAkJaWYgKCFwKSB7CiAJCQlpbm9kZS0+aV9jZGV2ID0gcCA9IG5ldzsKQEAgLTM5MiwxMSArMzk0LDggQEAKIAkJY2Rldl9wdXQocCk7CiAJCXJldHVybiAtRU5YSU87CiAJfQotCWlmIChmaWxwLT5mX29wLT5vcGVuKSB7Ci0JCWxvY2tfa2VybmVsKCk7CisJaWYgKGZpbHAtPmZfb3AtPm9wZW4pCiAJCXJldCA9IGZpbHAtPmZfb3AtPm9wZW4oaW5vZGUsZmlscCk7Ci0JCXVubG9ja19rZXJuZWwoKTsKLQl9CiAJaWYgKHJldCkKIAkJY2Rldl9wdXQocCk7CiAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2ZzL2NpZnMvY2lmc2FjbC5jIGIvZnMvY2lmcy9jaWZzYWNsLmMKaW5kZXggMzQ5MDJjZi4uMGU5ZmMyYiAxMDA2NDQKLS0tIGEvZnMvY2lmcy9jaWZzYWNsLmMKKysrIGIvZnMvY2lmcy9jaWZzYWNsLmMKQEAgLTM0LDExICszNCwxMSBAQAogc3RhdGljIHN0cnVjdCBjaWZzX3drc2lkIHdrc2lkYXJyW05VTV9XS19TSURTXSA9IHsKIAl7ezEsIDAsIHswLCAwLCAwLCAwLCAwLCAwfSwgezAsIDAsIDAsIDAsIDB9IH0sICJudWxsIHVzZXIifSwKIAl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCAxfSwgezAsIDAsIDAsIDAsIDB9IH0sICJub2JvZHkifSwKLQl7ezEsIDEsIHswLCAwLCAwLCAwLCAwLCA1fSwge2NwdV90b19sZTMyKDExKSwgMCwgMCwgMCwgMH0gfSwgIm5ldC11c2VycyJ9LAotCXt7MSwgMSwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMTgpLCAwLCAwLCAwLCAwfSB9LCAic3lzIn0sCi0Je3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtjcHVfdG9fbGUzMigzMiksIGNwdV90b19sZTMyKDU0NCksIDAsIDAsIDB9IH0sICJyb290In0sCi0Je3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtjcHVfdG9fbGUzMigzMiksIGNwdV90b19sZTMyKDU0NSksIDAsIDAsIDB9IH0sICJ1c2VycyJ9LAotCXt7MSwgMiwgezAsIDAsIDAsIDAsIDAsIDV9LCB7Y3B1X3RvX2xlMzIoMzIpLCBjcHVfdG9fbGUzMig1NDYpLCAwLCAwLCAwfSB9LCAiZ3Vlc3QifSB9CisJe3sxLCAxLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDExKSwgMCwgMCwgMCwgMH0gfSwgIm5ldC11c2VycyJ9LAorCXt7MSwgMSwgezAsIDAsIDAsIDAsIDAsIDV9LCB7X19jb25zdGFudF9jcHVfdG9fbGUzMigxOCksIDAsIDAsIDAsIDB9IH0sICJzeXMifSwKKwl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge19fY29uc3RhbnRfY3B1X3RvX2xlMzIoMzIpLCBfX2NvbnN0YW50X2NwdV90b19sZTMyKDU0NCksIDAsIDAsIDB9IH0sICJyb290In0sCisJe3sxLCAyLCB7MCwgMCwgMCwgMCwgMCwgNX0sIHtfX2NvbnN0YW50X2NwdV90b19sZTMyKDMyKSwgX19jb25zdGFudF9jcHVfdG9fbGUzMig1NDUpLCAwLCAwLCAwfSB9LCAidXNlcnMifSwKKwl7ezEsIDIsIHswLCAwLCAwLCAwLCAwLCA1fSwge19fY29uc3RhbnRfY3B1X3RvX2xlMzIoMzIpLCBfX2NvbnN0YW50X2NwdV90b19sZTMyKDU0NiksIDAsIDAsIDB9IH0sICJndWVzdCJ9IH0KIDsKIAogCmRpZmYgLS1naXQgYS9mcy9jaWZzL2NpZnNmcy5jIGIvZnMvY2lmcy9jaWZzZnMuYwppbmRleCA4NmI0ZDVmLi4yMjg1N2M2IDEwMDY0NAotLS0gYS9mcy9jaWZzL2NpZnNmcy5jCisrKyBiL2ZzL2NpZnMvY2lmc2ZzLmMKQEAgLTYxMiw3ICs2MTIsNyBAQAogCQlpZiAocmV0dmFsIDwgMCkKIAkJCXJldHVybiAobG9mZl90KXJldHZhbDsKIAl9Ci0JcmV0dXJuIHJlbW90ZV9sbHNlZWsoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCXJldHVybiBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKIH0KIAogc3RydWN0IGZpbGVfc3lzdGVtX3R5cGUgY2lmc19mc190eXBlID0gewpkaWZmIC0tZ2l0IGEvZnMvY2lmcy9pbm9kZS5jIGIvZnMvY2lmcy9pbm9kZS5jCmluZGV4IDcyMmJlNTQuLjJlOTA0YmQgMTAwNjQ0Ci0tLSBhL2ZzL2NpZnMvaW5vZGUuYworKysgYi9mcy9jaWZzL2lub2RlLmMKQEAgLTIxOSwxNSArMjE5LDE1IEBACiAJcmMgPSBDSUZTU01CVW5peFFQYXRoSW5mbyh4aWQsIHBUY29uLCBmdWxsX3BhdGgsICZmaW5kX2RhdGEsCiAJCQkJICBjaWZzX3NiLT5sb2NhbF9ubHMsIGNpZnNfc2ItPm1udF9jaWZzX2ZsYWdzICYKIAkJCQkJQ0lGU19NT1VOVF9NQVBfU1BFQ0lBTF9DSFIpOwotCWlmIChyYykgewotCQlpZiAocmMgPT0gLUVSRU1PVEUgJiYgIWlzX2Rmc19yZWZlcnJhbCkgewotCQkJaXNfZGZzX3JlZmVycmFsID0gdHJ1ZTsKLQkJCWNGWUkoREJHMiwgKCJERlMgcmVmIikpOwotCQkJLyogZm9yIERGUywgc2VydmVyIGRvZXMgbm90IGdpdmUgdXMgcmVhbCBpbm9kZSBkYXRhICovCi0JCQlmaWxsX2Zha2VfZmluZGRhdGF1bml4KCZmaW5kX2RhdGEsIHNiKTsKLQkJCXJjID0gMDsKLQkJfQotCX0KKwlpZiAocmMgPT0gLUVSRU1PVEUgJiYgIWlzX2Rmc19yZWZlcnJhbCkgeworCQlpc19kZnNfcmVmZXJyYWwgPSB0cnVlOworCQljRllJKERCRzIsICgiREZTIHJlZiIpKTsKKwkJLyogZm9yIERGUywgc2VydmVyIGRvZXMgbm90IGdpdmUgdXMgcmVhbCBpbm9kZSBkYXRhICovCisJCWZpbGxfZmFrZV9maW5kZGF0YXVuaXgoJmZpbmRfZGF0YSwgc2IpOworCQlyYyA9IDA7CisJfSBlbHNlIGlmIChyYykKKwkJZ290byBjZ2lpdV9leGl0OworCiAJbnVtX29mX2J5dGVzID0gbGU2NF90b19jcHUoZmluZF9kYXRhLk51bU9mQnl0ZXMpOwogCWVuZF9vZl9maWxlID0gbGU2NF90b19jcHUoZmluZF9kYXRhLkVuZE9mRmlsZSk7CiAKQEAgLTIzNiw3ICsyMzYsNyBAQAogCQkqcGlub2RlID0gbmV3X2lub2RlKHNiKTsKIAkJaWYgKCpwaW5vZGUgPT0gTlVMTCkgewogCQkJcmMgPSAtRU5PTUVNOwotCQlnb3RvIGNnaWl1X2V4aXQ7CisJCQlnb3RvIGNnaWl1X2V4aXQ7CiAJCX0KIAkJLyogSXMgYW4gaV9pbm8gb2YgemVybyBsZWdhbD8gKi8KIAkJLyogbm90ZSBpbm8gaW5jcmVtZW50ZWQgdG8gdW5pcXVlIG51bSBpbiBuZXdfaW5vZGUgKi8KZGlmZiAtLWdpdCBhL2ZzL2RsbS91c2VyLmMgYi9mcy9kbG0vdXNlci5jCmluZGV4IGViYmNmMzguLmY5NzZmMzAgMTAwNjQ0Ci0tLSBhL2ZzL2RsbS91c2VyLmMKKysrIGIvZnMvZGxtL3VzZXIuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KICNpbmNsdWRlIDxsaW51eC9zaWduYWwuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvZGxtLmg+CiAjaW5jbHVkZSA8bGludXgvZGxtX2RldmljZS5oPgogCkBAIC02MTgsMTMgKzYxOSwxNyBAQAogCXN0cnVjdCBkbG1fdXNlcl9wcm9jICpwcm9jOwogCXN0cnVjdCBkbG1fbHMgKmxzOwogCisJbG9ja19rZXJuZWwoKTsKIAlscyA9IGRsbV9maW5kX2xvY2tzcGFjZV9kZXZpY2UoaW1pbm9yKGlub2RlKSk7Ci0JaWYgKCFscykKKwlpZiAoIWxzKSB7CisJCXVubG9ja19rZXJuZWwoKTsKIAkJcmV0dXJuIC1FTk9FTlQ7CisJfQogCiAJcHJvYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkbG1fdXNlcl9wcm9jKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwcm9jKSB7CiAJCWRsbV9wdXRfbG9ja3NwYWNlKGxzKTsKKwkJdW5sb2NrX2tlcm5lbCgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKQEAgLTYzNiw2ICs2NDEsNyBAQAogCXNwaW5fbG9ja19pbml0KCZwcm9jLT5sb2Nrc19zcGluKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwcm9jLT53YWl0KTsKIAlmaWxlLT5wcml2YXRlX2RhdGEgPSBwcm9jOworCXVubG9ja19rZXJuZWwoKTsKIAogCXJldHVybiAwOwogfQpAQCAtODcwLDYgKzg3Niw3IEBACiAKIHN0YXRpYyBpbnQgY3RsX2RldmljZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQogeworCWN5Y2xlX2tlcm5lbF9sb2NrKCk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2ZzL2VjcnlwdGZzL2ZpbGUuYyBiL2ZzL2VjcnlwdGZzL2ZpbGUuYwppbmRleCAyMjU4YjhmLi4yNDc0OWJmIDEwMDY0NAotLS0gYS9mcy9lY3J5cHRmcy9maWxlLmMKKysrIGIvZnMvZWNyeXB0ZnMvZmlsZS5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wYXQuaD4KICNpbmNsdWRlIDxsaW51eC9mc19zdGFjay5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSAiZWNyeXB0ZnNfa2VybmVsLmgiCiAKIC8qKgpAQCAtMjc3LDkgKzI3OCwxMSBAQAogCWludCByYyA9IDA7CiAJc3RydWN0IGZpbGUgKmxvd2VyX2ZpbGUgPSBOVUxMOwogCisJbG9ja19rZXJuZWwoKTsKIAlsb3dlcl9maWxlID0gZWNyeXB0ZnNfZmlsZV90b19sb3dlcihmaWxlKTsKIAlpZiAobG93ZXJfZmlsZS0+Zl9vcCAmJiBsb3dlcl9maWxlLT5mX29wLT5mYXN5bmMpCiAJCXJjID0gbG93ZXJfZmlsZS0+Zl9vcC0+ZmFzeW5jKGZkLCBsb3dlcl9maWxlLCBmbGFnKTsKKwl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIHJjOwogfQogCmRpZmYgLS1naXQgYS9mcy9leGVjLmMgYi9mcy9leGVjLmMKaW5kZXggZGE5NGE2Zi4uZmQ5MjM0MyAxMDA2NDQKLS0tIGEvZnMvZXhlYy5jCisrKyBiL2ZzL2V4ZWMuYwpAQCAtNjEwLDcgKzYxMCw3IEBACiAJYnBybS0+ZXhlYyAtPSBzdGFja19zaGlmdDsKIAogCWRvd25fd3JpdGUoJm1tLT5tbWFwX3NlbSk7Ci0Jdm1fZmxhZ3MgPSB2bWEtPnZtX2ZsYWdzOworCXZtX2ZsYWdzID0gVk1fU1RBQ0tfRkxBR1M7CiAKIAkvKgogCSAqIEFkanVzdCBzdGFjayBleGVjdXRlIHBlcm1pc3Npb25zOyBleHBsaWNpdGx5IGVuYWJsZSBmb3IKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvYmFsbG9jLmMgYi9mcy9leHQ0L2JhbGxvYy5jCmluZGV4IDljYzgwYjkuLjQ5NWFiMjEgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvYmFsbG9jLmMKKysrIGIvZnMvZXh0NC9iYWxsb2MuYwpAQCAtNDcsNyArNDcsNyBAQAogCQkJZXh0NF9ncm91cF90IGJsb2NrX2dyb3VwKQogewogCWV4dDRfZ3JvdXBfdCBhY3R1YWxfZ3JvdXA7Ci0JZXh0NF9nZXRfZ3JvdXBfbm9fYW5kX29mZnNldChzYiwgYmxvY2ssICZhY3R1YWxfZ3JvdXAsIDApOworCWV4dDRfZ2V0X2dyb3VwX25vX2FuZF9vZmZzZXQoc2IsIGJsb2NrLCAmYWN0dWFsX2dyb3VwLCBOVUxMKTsKIAlpZiAoYWN0dWFsX2dyb3VwID09IGJsb2NrX2dyb3VwKQogCQlyZXR1cm4gMTsKIAlyZXR1cm4gMDsKQEAgLTEyMSwxMiArMTIxLDcgQEAKIAkJCQlsZTE2X3RvX2NwdShzYmktPnNfZXMtPnNfcmVzZXJ2ZWRfZ2R0X2Jsb2Nrcyk7CiAJCX0KIAl9IGVsc2UgeyAvKiBGb3IgTUVUQV9CR19CTE9DS19HUk9VUFMgKi8KLQkJaW50IGdyb3VwX3JlbCA9IChibG9ja19ncm91cCAtCi0JCQkJIGxlMzJfdG9fY3B1KHNiaS0+c19lcy0+c19maXJzdF9tZXRhX2JnKSkgJQotCQkJCUVYVDRfREVTQ19QRVJfQkxPQ0soc2IpOwotCQlpZiAoZ3JvdXBfcmVsID09IDAgfHwgZ3JvdXBfcmVsID09IDEgfHwKLQkJICAgIChncm91cF9yZWwgPT0gRVhUNF9ERVNDX1BFUl9CTE9DSyhzYikgLSAxKSkKLQkJCWJpdF9tYXggKz0gMTsKKwkJYml0X21heCArPSBleHQ0X2JnX251bV9nZGIoc2IsIGJsb2NrX2dyb3VwKTsKIAl9CiAKIAlpZiAoYmxvY2tfZ3JvdXAgPT0gc2JpLT5zX2dyb3Vwc19jb3VudCAtIDEpIHsKQEAgLTI5NSw3ICsyOTAsNyBAQAogCXJldHVybiAwOwogfQogLyoqCi0gKiByZWFkX2Jsb2NrX2JpdG1hcCgpCisgKiBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKCkKICAqIEBzYjoJCQlzdXBlciBibG9jawogICogQGJsb2NrX2dyb3VwOglnaXZlbiBibG9jayBncm91cAogICoKQEAgLTMwNSw3ICszMDAsNyBAQAogICogUmV0dXJuIGJ1ZmZlcl9oZWFkIG9uIHN1Y2Nlc3Mgb3IgTlVMTCBpbiBjYXNlIG9mIGZhaWx1cmUuCiAgKi8KIHN0cnVjdCBidWZmZXJfaGVhZCAqCi1yZWFkX2Jsb2NrX2JpdG1hcChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApCitleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCkKIHsKIAlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICogZGVzYzsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKiBiaCA9IE5VTEw7CkBAIC00MDksOCArNDA0LDcgQEAKIAkJcHJldiA9IHJzdjsKIAl9CiAJcHJpbnRrKCJXaW5kb3cgbWFwIGNvbXBsZXRlLlxuIik7Ci0JaWYgKGJhZCkKLQkJQlVHKCk7CisJQlVHX09OKGJhZCk7CiB9CiAjZGVmaW5lIHJzdl93aW5kb3dfZHVtcChyb290LCB2ZXJib3NlKSBcCiAJX19yc3Zfd2luZG93X2R1bXAoKHJvb3QpLCAodmVyYm9zZSksIF9fZnVuY19fKQpAQCAtNjk0LDcgKzY4OCw3IEBACiAJCWNvdW50IC09IG92ZXJmbG93OwogCX0KIAlicmVsc2UoYml0bWFwX2JoKTsKLQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgYmxvY2tfZ3JvdXApOworCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKIAlpZiAoIWJpdG1hcF9iaCkKIAkJZ290byBlcnJvcl9yZXR1cm47CiAJZGVzYyA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2MgKHNiLCBibG9ja19ncm91cCwgJmdkX2JoKTsKQEAgLTgxMCw2ICs4MDQsMTMgQEAKIAlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGJsb2NrX2dyb3VwKSk7CiAJcGVyY3B1X2NvdW50ZXJfYWRkKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBjb3VudCk7CiAKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBibG9ja19ncm91cCk7CisJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfYmxvY2tzICs9IGNvdW50OworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CisKIAkvKiBXZSBkaXJ0aWVkIHRoZSBiaXRtYXAgYmxvY2sgKi8KIAlCVUZGRVJfVFJBQ0UoYml0bWFwX2JoLCAiZGlydGllZCBiaXRtYXAgYmxvY2siKTsKIAllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaXRtYXBfYmgpOwpAQCAtMTU5OCwyMyArMTU5OSwzNSBAQAogCiAvKioKICAqIGV4dDRfaGFzX2ZyZWVfYmxvY2tzKCkKLSAqIEBzYmk6CQlpbi1jb3JlIHN1cGVyIGJsb2NrIHN0cnVjdHVyZS4KKyAqIEBzYmk6CWluLWNvcmUgc3VwZXIgYmxvY2sgc3RydWN0dXJlLgorICogQG5ibG9ja3M6CW51bWJlciBvZiBuZWVlZCBibG9ja3MKICAqCi0gKiBDaGVjayBpZiBmaWxlc3lzdGVtIGhhcyBhdCBsZWFzdCAxIGZyZWUgYmxvY2sgYXZhaWxhYmxlIGZvciBhbGxvY2F0aW9uLgorICogQ2hlY2sgaWYgZmlsZXN5c3RlbSBoYXMgZnJlZSBibG9ja3MgYXZhaWxhYmxlIGZvciBhbGxvY2F0aW9uLgorICogUmV0dXJuIHRoZSBudW1iZXIgb2YgYmxvY2tzIGF2YWlibGUgZm9yIGFsbG9jYXRpb24gZm9yIHRoaXMgcmVxdWVzdAorICogT24gc3VjY2VzcywgcmV0dXJuIG5ibG9ja3MKICAqLwotc3RhdGljIGludCBleHQ0X2hhc19mcmVlX2Jsb2NrcyhzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkpCitleHQ0X2ZzYmxrX3QgZXh0NF9oYXNfZnJlZV9ibG9ja3Moc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLAorCQkJCQkJZXh0NF9mc2Jsa190IG5ibG9ja3MpCiB7Ci0JZXh0NF9mc2Jsa190IGZyZWVfYmxvY2tzLCByb290X2Jsb2NrczsKKwlleHQ0X2ZzYmxrX3QgZnJlZV9ibG9ja3M7CisJZXh0NF9mc2Jsa190IHJvb3RfYmxvY2tzID0gMDsKIAogCWZyZWVfYmxvY2tzID0gcGVyY3B1X2NvdW50ZXJfcmVhZF9wb3NpdGl2ZSgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlcik7Ci0Jcm9vdF9ibG9ja3MgPSBleHQ0X3JfYmxvY2tzX2NvdW50KHNiaS0+c19lcyk7Ci0JaWYgKGZyZWVfYmxvY2tzIDwgcm9vdF9ibG9ja3MgKyAxICYmICFjYXBhYmxlKENBUF9TWVNfUkVTT1VSQ0UpICYmCisKKwlpZiAoIWNhcGFibGUoQ0FQX1NZU19SRVNPVVJDRSkgJiYKIAkJc2JpLT5zX3Jlc3VpZCAhPSBjdXJyZW50LT5mc3VpZCAmJgotCQkoc2JpLT5zX3Jlc2dpZCA9PSAwIHx8ICFpbl9ncm91cF9wIChzYmktPnNfcmVzZ2lkKSkpIHsKLQkJcmV0dXJuIDA7Ci0JfQotCXJldHVybiAxOwotfQorCQkoc2JpLT5zX3Jlc2dpZCA9PSAwIHx8ICFpbl9ncm91cF9wKHNiaS0+c19yZXNnaWQpKSkKKwkJcm9vdF9ibG9ja3MgPSBleHQ0X3JfYmxvY2tzX2NvdW50KHNiaS0+c19lcyk7CisjaWZkZWYgQ09ORklHX1NNUAorCWlmIChmcmVlX2Jsb2NrcyAtIHJvb3RfYmxvY2tzIDwgRkJDX0JBVENIKQorCQlmcmVlX2Jsb2NrcyA9CisJCQlwZXJjcHVfY291bnRlcl9zdW1fYW5kX3NldCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlcik7CisjZW5kaWYKKwlpZiAoZnJlZV9ibG9ja3MgLSByb290X2Jsb2NrcyA8IG5ibG9ja3MpCisJCXJldHVybiBmcmVlX2Jsb2NrcyAtIHJvb3RfYmxvY2tzOworCXJldHVybiBuYmxvY2tzOworIH0KKwogCiAvKioKICAqIGV4dDRfc2hvdWxkX3JldHJ5X2FsbG9jKCkKQEAgLTE2MzAsNyArMTY0Myw3IEBACiAgKi8KIGludCBleHQ0X3Nob3VsZF9yZXRyeV9hbGxvYyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBpbnQgKnJldHJpZXMpCiB7Ci0JaWYgKCFleHQ0X2hhc19mcmVlX2Jsb2NrcyhFWFQ0X1NCKHNiKSkgfHwgKCpyZXRyaWVzKSsrID4gMykKKwlpZiAoIWV4dDRfaGFzX2ZyZWVfYmxvY2tzKEVYVDRfU0Ioc2IpLCAxKSB8fCAoKnJldHJpZXMpKysgPiAzKQogCQlyZXR1cm4gMDsKIAogCWpiZF9kZWJ1ZygxLCAiJXM6IHJldHJ5aW5nIG9wZXJhdGlvbiBhZnRlciBFTk9TUENcbiIsIHNiLT5zX2lkKTsKQEAgLTE2MzksMjAgKzE2NTIsMjQgQEAKIH0KIAogLyoqCi0gKiBleHQ0X25ld19ibG9ja3Nfb2xkKCkgLS0gY29yZSBibG9jayhzKSBhbGxvY2F0aW9uIGZ1bmN0aW9uCisgKiBleHQ0X29sZF9uZXdfYmxvY2tzKCkgLS0gY29yZSBibG9jayBiaXRtYXAgYmFzZWQgYmxvY2sgYWxsb2NhdGlvbiBmdW5jdGlvbgorICoKICAqIEBoYW5kbGU6CQloYW5kbGUgdG8gdGhpcyB0cmFuc2FjdGlvbgogICogQGlub2RlOgkJZmlsZSBpbm9kZQogICogQGdvYWw6CQlnaXZlbiB0YXJnZXQgYmxvY2soZmlsZXN5c3RlbSB3aWRlKQogICogQGNvdW50OgkJdGFyZ2V0IG51bWJlciBvZiBibG9ja3MgdG8gYWxsb2NhdGUKICAqIEBlcnJwOgkJZXJyb3IgY29kZQogICoKLSAqIGV4dDRfbmV3X2Jsb2NrcyB1c2VzIGEgZ29hbCBibG9jayB0byBhc3Npc3QgYWxsb2NhdGlvbi4gIEl0IHRyaWVzIHRvCi0gKiBhbGxvY2F0ZSBibG9jayhzKSBmcm9tIHRoZSBibG9jayBncm91cCBjb250YWlucyB0aGUgZ29hbCBibG9jayBmaXJzdC4gSWYgdGhhdAotICogZmFpbHMsIGl0IHdpbGwgdHJ5IHRvIGFsbG9jYXRlIGJsb2NrKHMpIGZyb20gb3RoZXIgYmxvY2sgZ3JvdXBzIHdpdGhvdXQKLSAqIGFueSBzcGVjaWZpYyBnb2FsIGJsb2NrLgorICogZXh0NF9vbGRfbmV3X2Jsb2NrcyB1c2VzIGEgZ29hbCBibG9jayB0byBhc3Npc3QgYWxsb2NhdGlvbiBhbmQgbG9vayB1cAorICogdGhlIGJsb2NrIGJpdG1hcCBkaXJlY3RseSB0byBkbyBibG9jayBhbGxvY2F0aW9uLiAgSXQgdHJpZXMgdG8KKyAqIGFsbG9jYXRlIGJsb2NrKHMpIGZyb20gdGhlIGJsb2NrIGdyb3VwIGNvbnRhaW5zIHRoZSBnb2FsIGJsb2NrIGZpcnN0LiBJZgorICogdGhhdCBmYWlscywgaXQgd2lsbCB0cnkgdG8gYWxsb2NhdGUgYmxvY2socykgZnJvbSBvdGhlciBibG9jayBncm91cHMKKyAqIHdpdGhvdXQgYW55IHNwZWNpZmljIGdvYWwgYmxvY2suCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiAtbyBub21iYWxsb2MgbW91bnQgb3B0aW9uIGlzIGVuYWJsZWQKICAqCiAgKi8KLWV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHQ0X2ZzYmxrX3QgZXh0NF9vbGRfbmV3X2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJZXh0NF9mc2Jsa190IGdvYWwsIHVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApCiB7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaXRtYXBfYmggPSBOVUxMOwpAQCAtMTY3NiwxMyArMTY5MywyNiBAQAogCWV4dDRfZ3JvdXBfdCBuZ3JvdXBzOwogCXVuc2lnbmVkIGxvbmcgbnVtID0gKmNvdW50OwogCi0JKmVycnAgPSAtRU5PU1BDOwogCXNiID0gaW5vZGUtPmlfc2I7CiAJaWYgKCFzYikgeworCQkqZXJycCA9IC1FTk9ERVY7CiAJCXByaW50aygiZXh0NF9uZXdfYmxvY2s6IG5vbmV4aXN0ZW50IGRldmljZSIpOwogCQlyZXR1cm4gMDsKIAl9CiAKKwlzYmkgPSBFWFQ0X1NCKHNiKTsKKwlpZiAoIUVYVDRfSShpbm9kZSktPmlfZGVsYWxsb2NfcmVzZXJ2ZWRfZmxhZykgeworCQkvKgorCQkgKiBXaXRoIGRlbGFsbG9jIHdlIGFscmVhZHkgcmVzZXJ2ZWQgdGhlIGJsb2NrcworCQkgKi8KKwkJKmNvdW50ID0gZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpLCAqY291bnQpOworCX0KKwlpZiAoKmNvdW50ID09IDApIHsKKwkJKmVycnAgPSAtRU5PU1BDOworCQlyZXR1cm4gMDsJLypyZXR1cm4gd2l0aCBFTk9TUEMgZXJyb3IgKi8KKwl9CisJbnVtID0gKmNvdW50OworCiAJLyoKIAkgKiBDaGVjayBxdW90YSBmb3IgYWxsb2NhdGlvbiBvZiB0aGlzIGJsb2NrLgogCSAqLwpAQCAtMTcwNiwxMSArMTczNiw2IEBACiAJaWYgKGJsb2NrX2kgJiYgKCh3aW5kb3dzeiA9IGJsb2NrX2ktPnJzdl93aW5kb3dfbm9kZS5yc3ZfZ29hbF9zaXplKSA+IDApKQogCQlteV9yc3YgPSAmYmxvY2tfaS0+cnN2X3dpbmRvd19ub2RlOwogCi0JaWYgKCFleHQ0X2hhc19mcmVlX2Jsb2NrcyhzYmkpKSB7Ci0JCSplcnJwID0gLUVOT1NQQzsKLQkJZ290byBvdXQ7Ci0JfQotCiAJLyoKIAkgKiBGaXJzdCwgdGVzdCB3aGV0aGVyIHRoZSBnb2FsIGJsb2NrIGlzIGZyZWUuCiAJICovCkBAIC0xNzM0LDcgKzE3NTksNyBAQAogCQlteV9yc3YgPSBOVUxMOwogCiAJaWYgKGZyZWVfYmxvY2tzID4gMCkgewotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXBfbm8pOworCQliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cF9ubyk7CiAJCWlmICghYml0bWFwX2JoKQogCQkJZ290byBpb19lcnJvcjsKIAkJZ3JwX2FsbG9jX2JsayA9IGV4dDRfdHJ5X3RvX2FsbG9jYXRlX3dpdGhfcnN2KHNiLCBoYW5kbGUsCkBAIC0xNzcwLDcgKzE3OTUsNyBAQAogCQkJY29udGludWU7CiAKIAkJYnJlbHNlKGJpdG1hcF9iaCk7Ci0JCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cF9ubyk7CisJCWJpdG1hcF9iaCA9IGV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc2IsIGdyb3VwX25vKTsKIAkJaWYgKCFiaXRtYXBfYmgpCiAJCQlnb3RvIGlvX2Vycm9yOwogCQkvKgpAQCAtMTg4Miw3ICsxOTA3LDE1IEBACiAJbGUxNl9hZGRfY3B1KCZnZHAtPmJnX2ZyZWVfYmxvY2tzX2NvdW50LCAtbnVtKTsKIAlnZHAtPmJnX2NoZWNrc3VtID0gZXh0NF9ncm91cF9kZXNjX2NzdW0oc2JpLCBncm91cF9ubywgZ2RwKTsKIAlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGdyb3VwX25vKSk7Ci0JcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCBudW0pOworCWlmICghRVhUNF9JKGlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnKQorCQlwZXJjcHVfY291bnRlcl9zdWIoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIG51bSk7CisKKwlpZiAoc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXgpIHsKKwkJZXh0NF9ncm91cF90IGZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBncm91cF9ubyk7CisJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfYmxvY2tzIC09IG51bTsKKwkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJfQogCiAJQlVGRkVSX1RSQUNFKGdkcF9iaCwgImpvdXJuYWxfZGlydHlfbWV0YWRhdGEgZm9yIGdyb3VwIGRlc2NyaXB0b3IiKTsKIAllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBnZHBfYmgpOwpAQCAtMTkxNSw0NiArMTk0OCwxMDQgQEAKIAlyZXR1cm4gMDsKIH0KIAotZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCWV4dDRfZnNibGtfdCBnb2FsLCBpbnQgKmVycnApCisjZGVmaW5lIEVYVDRfTUVUQV9CTE9DSyAweDEKKworc3RhdGljIGV4dDRfZnNibGtfdCBkb19ibGtfYWxsb2MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCXVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnAsIGludCBmbGFncykKIHsKIAlzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX3JlcXVlc3QgYXI7CiAJZXh0NF9mc2Jsa190IHJldDsKIAogCWlmICghdGVzdF9vcHQoaW5vZGUtPmlfc2IsIE1CQUxMT0MpKSB7Ci0JCXVuc2lnbmVkIGxvbmcgY291bnQgPSAxOwotCQlyZXQgPSBleHQ0X25ld19ibG9ja3Nfb2xkKGhhbmRsZSwgaW5vZGUsIGdvYWwsICZjb3VudCwgZXJycCk7Ci0JCXJldHVybiByZXQ7CisJCXJldHVybiBleHQ0X29sZF9uZXdfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGNvdW50LCBlcnJwKTsKIAl9CiAKIAltZW1zZXQoJmFyLCAwLCBzaXplb2YoYXIpKTsKLQlhci5pbm9kZSA9IGlub2RlOwotCWFyLmdvYWwgPSBnb2FsOwotCWFyLmxlbiA9IDE7Ci0JcmV0ID0gZXh0NF9tYl9uZXdfYmxvY2tzKGhhbmRsZSwgJmFyLCBlcnJwKTsKLQlyZXR1cm4gcmV0OwotfQorCS8qIEZpbGwgd2l0aCBuZWlnaGJvdXIgYWxsb2NhdGVkIGJsb2NrcyAqLwogCi1leHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKQotewotCXN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCBhcjsKLQlleHQ0X2ZzYmxrX3QgcmV0OwotCi0JaWYgKCF0ZXN0X29wdChpbm9kZS0+aV9zYiwgTUJBTExPQykpIHsKLQkJcmV0ID0gZXh0NF9uZXdfYmxvY2tzX29sZChoYW5kbGUsIGlub2RlLCBnb2FsLCBjb3VudCwgZXJycCk7Ci0JCXJldHVybiByZXQ7Ci0JfQotCi0JbWVtc2V0KCZhciwgMCwgc2l6ZW9mKGFyKSk7CiAJYXIuaW5vZGUgPSBpbm9kZTsKIAlhci5nb2FsID0gZ29hbDsKIAlhci5sZW4gPSAqY291bnQ7CisJYXIubG9naWNhbCA9IGlibG9jazsKKworCWlmIChTX0lTUkVHKGlub2RlLT5pX21vZGUpICYmICEoZmxhZ3MgJiBFWFQ0X01FVEFfQkxPQ0spKQorCQkvKiBlbmFibGUgaW4tY29yZSBwcmVhbGxvY2F0aW9uIGZvciBkYXRhIGJsb2NrIGFsbG9jYXRpb24gKi8KKwkJYXIuZmxhZ3MgPSBFWFQ0X01CX0hJTlRfREFUQTsKKwllbHNlCisJCS8qIGRpc2FibGUgaW4tY29yZSBwcmVhbGxvY2F0aW9uIGZvciBub24tcmVndWxhciBmaWxlcyAqLworCQlhci5mbGFncyA9IDA7CisKIAlyZXQgPSBleHQ0X21iX25ld19ibG9ja3MoaGFuZGxlLCAmYXIsIGVycnApOwogCSpjb3VudCA9IGFyLmxlbjsKIAlyZXR1cm4gcmV0OwogfQogCisvKgorICogZXh0NF9uZXdfbWV0YV9ibG9ja3MoKSAtLSBhbGxvY2F0ZSBibG9jayBmb3IgbWV0YSBkYXRhIChpbmRleGluZykgYmxvY2tzCisgKgorICogQGhhbmRsZTogICAgICAgICAgICAgaGFuZGxlIHRvIHRoaXMgdHJhbnNhY3Rpb24KKyAqIEBpbm9kZTogICAgICAgICAgICAgIGZpbGUgaW5vZGUKKyAqIEBnb2FsOiAgICAgICAgICAgICAgIGdpdmVuIHRhcmdldCBibG9jayhmaWxlc3lzdGVtIHdpZGUpCisgKiBAY291bnQ6CQl0b3RhbCBudW1iZXIgb2YgYmxvY2tzIG5lZWQKKyAqIEBlcnJwOiAgICAgICAgICAgICAgIGVycm9yIGNvZGUKKyAqCisgKiBSZXR1cm4gMXN0IGFsbG9jYXRlZCBibG9jayBudW1iZXJvbiBzdWNjZXNzLCAqY291bnQgc3RvcmVzIHRvdGFsIGFjY291bnQKKyAqIGVycm9yIHN0b3JlcyBpbiBlcnJwIHBvaW50ZXIKKyAqLworZXh0NF9mc2Jsa190IGV4dDRfbmV3X21ldGFfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCWV4dDRfZnNibGtfdCBnb2FsLCB1bnNpZ25lZCBsb25nICpjb3VudCwgaW50ICplcnJwKQoreworCWV4dDRfZnNibGtfdCByZXQ7CisJcmV0ID0gZG9fYmxrX2FsbG9jKGhhbmRsZSwgaW5vZGUsIDAsIGdvYWwsCisJCQkJY291bnQsIGVycnAsIEVYVDRfTUVUQV9CTE9DSyk7CisJLyoKKwkgKiBBY2NvdW50IGZvciB0aGUgYWxsb2NhdGVkIG1ldGEgYmxvY2tzCisJICovCisJaWYgKCEoKmVycnApKSB7CisJCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwkJRVhUNF9JKGlub2RlKS0+aV9hbGxvY2F0ZWRfbWV0YV9ibG9ja3MgKz0gKmNvdW50OworCQlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwl9CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIGV4dDRfbmV3X21ldGFfYmxvY2soKSAtLSBhbGxvY2F0ZSBibG9jayBmb3IgbWV0YSBkYXRhIChpbmRleGluZykgYmxvY2tzCisgKgorICogQGhhbmRsZTogICAgICAgICAgICAgaGFuZGxlIHRvIHRoaXMgdHJhbnNhY3Rpb24KKyAqIEBpbm9kZTogICAgICAgICAgICAgIGZpbGUgaW5vZGUKKyAqIEBnb2FsOiAgICAgICAgICAgICAgIGdpdmVuIHRhcmdldCBibG9jayhmaWxlc3lzdGVtIHdpZGUpCisgKiBAZXJycDogICAgICAgICAgICAgICBlcnJvciBjb2RlCisgKgorICogUmV0dXJuIGFsbG9jYXRlZCBibG9jayBudW1iZXIgb24gc3VjY2VzcworICovCitleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfbWV0YV9ibG9jayhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQlleHQ0X2ZzYmxrX3QgZ29hbCwgaW50ICplcnJwKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQgPSAxOworCXJldHVybiBleHQ0X25ld19tZXRhX2Jsb2NrcyhoYW5kbGUsIGlub2RlLCBnb2FsLCAmY291bnQsIGVycnApOworfQorCisvKgorICogZXh0NF9uZXdfYmxvY2tzKCkgLS0gYWxsb2NhdGUgZGF0YSBibG9ja3MKKyAqCisgKiBAaGFuZGxlOiAgICAgICAgICAgICBoYW5kbGUgdG8gdGhpcyB0cmFuc2FjdGlvbgorICogQGlub2RlOiAgICAgICAgICAgICAgZmlsZSBpbm9kZQorICogQGdvYWw6ICAgICAgICAgICAgICAgZ2l2ZW4gdGFyZ2V0IGJsb2NrKGZpbGVzeXN0ZW0gd2lkZSkKKyAqIEBjb3VudDoJCXRvdGFsIG51bWJlciBvZiBibG9ja3MgbmVlZAorICogQGVycnA6ICAgICAgICAgICAgICAgZXJyb3IgY29kZQorICoKKyAqIFJldHVybiAxc3QgYWxsb2NhdGVkIGJsb2NrIG51bWJlcm9uIHN1Y2Nlc3MsICpjb3VudCBzdG9yZXMgdG90YWwgYWNjb3VudAorICogZXJyb3Igc3RvcmVzIGluIGVycnAgcG9pbnRlcgorICovCisKK2V4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCXVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApCit7CisJcmV0dXJuIGRvX2Jsa19hbGxvYyhoYW5kbGUsIGlub2RlLCBpYmxvY2ssIGdvYWwsIGNvdW50LCBlcnJwLCAwKTsKK30KIAogLyoqCiAgKiBleHQ0X2NvdW50X2ZyZWVfYmxvY2tzKCkgLS0gY291bnQgZmlsZXN5c3RlbSBmcmVlIGJsb2NrcwpAQCAtMTk4Niw3ICsyMDc3LDcgQEAKIAkJCWNvbnRpbnVlOwogCQlkZXNjX2NvdW50ICs9IGxlMTZfdG9fY3B1KGdkcC0+YmdfZnJlZV9ibG9ja3NfY291bnQpOwogCQlicmVsc2UoYml0bWFwX2JoKTsKLQkJYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGkpOworCQliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBpKTsKIAkJaWYgKGJpdG1hcF9iaCA9PSBOVUxMKQogCQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZGlyLmMgYi9mcy9leHQ0L2Rpci5jCmluZGV4IDJiZjAzMzEuLmQzZDIzZDcgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZGlyLmMKKysrIGIvZnMvZXh0NC9kaXIuYwpAQCAtMTI5LDcgKzEyOSw4IEBACiAJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmggPSBOVUxMOwogCiAJCW1hcF9iaC5iX3N0YXRlID0gMDsKLQkJZXJyID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoTlVMTCwgaW5vZGUsIGJsaywgMSwgJm1hcF9iaCwgMCwgMCk7CisJCWVyciA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKE5VTEwsIGlub2RlLCBibGssIDEsICZtYXBfYmgsCisJCQkJCQkwLCAwLCAwKTsKIAkJaWYgKGVyciA+IDApIHsKIAkJCXBnb2ZmX3QgaW5kZXggPSBtYXBfYmguYl9ibG9ja25yID4+CiAJCQkJCShQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CkBAIC0yNzIsNyArMjczLDcgQEAKIAogCXdoaWxlIChuKSB7CiAJCS8qIERvIHRoZSBub2RlJ3MgY2hpbGRyZW4gZmlyc3QgKi8KLQkJaWYgKChuKS0+cmJfbGVmdCkgeworCQlpZiAobi0+cmJfbGVmdCkgewogCQkJbiA9IG4tPnJiX2xlZnQ7CiAJCQljb250aW51ZTsKIAkJfQpAQCAtMzAxLDI0ICszMDIsMTggQEAKIAkJCXBhcmVudC0+cmJfcmlnaHQgPSBOVUxMOwogCQluID0gcGFyZW50OwogCX0KLQlyb290LT5yYl9ub2RlID0gTlVMTDsKIH0KIAogCi1zdGF0aWMgc3RydWN0IGRpcl9wcml2YXRlX2luZm8gKmNyZWF0ZV9kaXJfaW5mbyhsb2ZmX3QgcG9zKQorc3RhdGljIHN0cnVjdCBkaXJfcHJpdmF0ZV9pbmZvICpleHQ0X2h0cmVlX2NyZWF0ZV9kaXJfaW5mbyhsb2ZmX3QgcG9zKQogewogCXN0cnVjdCBkaXJfcHJpdmF0ZV9pbmZvICpwOwogCi0JcCA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBkaXJfcHJpdmF0ZV9pbmZvKSwgR0ZQX0tFUk5FTCk7CisJcCA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBkaXJfcHJpdmF0ZV9pbmZvKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFwKQogCQlyZXR1cm4gTlVMTDsKLQlwLT5yb290LnJiX25vZGUgPSBOVUxMOwotCXAtPmN1cnJfbm9kZSA9IE5VTEw7Ci0JcC0+ZXh0cmFfZm5hbWUgPSBOVUxMOwotCXAtPmxhc3RfcG9zID0gMDsKIAlwLT5jdXJyX2hhc2ggPSBwb3MybWFqX2hhc2gocG9zKTsKIAlwLT5jdXJyX21pbm9yX2hhc2ggPSBwb3MybWluX2hhc2gocG9zKTsKLQlwLT5uZXh0X2hhc2ggPSAwOwogCXJldHVybiBwOwogfQogCkBAIC00MzMsNyArNDI4LDcgQEAKIAlpbnQJcmV0OwogCiAJaWYgKCFpbmZvKSB7Ci0JCWluZm8gPSBjcmVhdGVfZGlyX2luZm8oZmlscC0+Zl9wb3MpOworCQlpbmZvID0gZXh0NF9odHJlZV9jcmVhdGVfZGlyX2luZm8oZmlscC0+Zl9wb3MpOwogCQlpZiAoIWluZm8pCiAJCQlyZXR1cm4gLUVOT01FTTsKIAkJZmlscC0+cHJpdmF0ZV9kYXRhID0gaW5mbzsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NC5oIGIvZnMvZXh0NC9leHQ0LmgKaW5kZXggODE1ODA4My4uMzAzZTQxYyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9leHQ0LmgKKysrIGIvZnMvZXh0NC9leHQ0LmgKQEAgLTIyLDcgKzIyLDcgQEAKICNpbmNsdWRlICJleHQ0X2kuaCIKIAogLyoKLSAqIFRoZSBzZWNvbmQgZXh0ZW5kZWQgZmlsZXN5c3RlbSBjb25zdGFudHMvc3RydWN0dXJlcworICogVGhlIGZvdXJ0aCBleHRlbmRlZCBmaWxlc3lzdGVtIGNvbnN0YW50cy9zdHJ1Y3R1cmVzCiAgKi8KIAogLyoKQEAgLTQ1LDcgKzQ1LDcgQEAKICNkZWZpbmUgZXh0NF9kZWJ1ZyhmLCBhLi4uKQkJCQkJCVwKIAlkbyB7CQkJCQkJCQlcCiAJCXByaW50ayAoS0VSTl9ERUJVRyAiRVhUNC1mcyBERUJVRyAoJXMsICVkKTogJXM6IiwJXAotCQkJX19GSUxFX18sIF9fTElORV9fLCBfX0ZVTkNUSU9OX18pOwkJXAorCQkJX19GSUxFX18sIF9fTElORV9fLCBfX2Z1bmNfXyk7CQkJXAogCQlwcmludGsgKEtFUk5fREVCVUcgZiwgIyMgYSk7CQkJCVwKIAl9IHdoaWxlICgwKQogI2Vsc2UKQEAgLTc0LDYgKzc0LDkgQEAKICNkZWZpbmUgRVhUNF9NQl9ISU5UX0dPQUxfT05MWQkJMjU2CiAvKiBnb2FsIGlzIG1lYW5pbmdmdWwgKi8KICNkZWZpbmUgRVhUNF9NQl9ISU5UX1RSWV9HT0FMCQk1MTIKKy8qIGJsb2NrcyBhbHJlYWR5IHByZS1yZXNlcnZlZCBieSBkZWxheWVkIGFsbG9jYXRpb24gKi8KKyNkZWZpbmUgRVhUNF9NQl9ERUxBTExPQ19SRVNFUlZFRCAgICAgIDEwMjQKKwogCiBzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX3JlcXVlc3QgewogCS8qIHRhcmdldCBpbm9kZSBmb3IgYmxvY2sgd2UncmUgYWxsb2NhdGluZyAqLwpAQCAtMTcwLDYgKzE3MywxNSBAQAogCV9fdTMyCWJnX3Jlc2VydmVkMlszXTsKIH07CiAKKy8qCisgKiBTdHJ1Y3R1cmUgb2YgYSBmbGV4IGJsb2NrIGdyb3VwIGluZm8KKyAqLworCitzdHJ1Y3QgZmxleF9ncm91cHMgeworCV9fdTMyIGZyZWVfaW5vZGVzOworCV9fdTMyIGZyZWVfYmxvY2tzOworfTsKKwogI2RlZmluZSBFWFQ0X0JHX0lOT0RFX1VOSU5JVAkweDAwMDEgLyogSW5vZGUgdGFibGUvYml0bWFwIG5vdCBpbiB1c2UgKi8KICNkZWZpbmUgRVhUNF9CR19CTE9DS19VTklOSVQJMHgwMDAyIC8qIEJsb2NrIGJpdG1hcCBub3QgaW4gdXNlICovCiAjZGVmaW5lIEVYVDRfQkdfSU5PREVfWkVST0VECTB4MDAwNCAvKiBPbi1kaXNrIGl0YWJsZSBpbml0aWFsaXplZCB0byB6ZXJvICovCkBAIC01MjcsNiArNTM5LDcgQEAKICNkZWZpbmUgRVhUNF9NT1VOVF9KT1VSTkFMX0FTWU5DX0NPTU1JVAkweDEwMDAwMDAgLyogSm91cm5hbCBBc3luYyBDb21taXQgKi8KICNkZWZpbmUgRVhUNF9NT1VOVF9JX1ZFUlNJT04gICAgICAgICAgICAweDIwMDAwMDAgLyogaV92ZXJzaW9uIHN1cHBvcnQgKi8KICNkZWZpbmUgRVhUNF9NT1VOVF9NQkFMTE9DCQkweDQwMDAwMDAgLyogQnVkZHkgYWxsb2NhdGlvbiBzdXBwb3J0ICovCisjZGVmaW5lIEVYVDRfTU9VTlRfREVMQUxMT0MJCTB4ODAwMDAwMCAvKiBEZWxhbGxvYyBzdXBwb3J0ICovCiAvKiBDb21wYXRpYmlsaXR5LCBmb3IgaGF2aW5nIGJvdGggZXh0Ml9mcy5oIGFuZCBleHQ0X2ZzLmggaW5jbHVkZWQgYXQgb25jZSAqLwogI2lmbmRlZiBfTElOVVhfRVhUMl9GU19ICiAjZGVmaW5lIGNsZWFyX29wdChvLCBvcHQpCQlvICY9IH5FWFQ0X01PVU5UXyMjb3B0CkBAIC02NDcsNyArNjYwLDEwIEBACiAJX19sZTE2ICBzX21tcF9pbnRlcnZhbDsgICAgICAgICAvKiAjIHNlY29uZHMgdG8gd2FpdCBpbiBNTVAgY2hlY2tpbmcgKi8KIAlfX2xlNjQgIHNfbW1wX2Jsb2NrOyAgICAgICAgICAgIC8qIEJsb2NrIGZvciBtdWx0aS1tb3VudCBwcm90ZWN0aW9uICovCiAJX19sZTMyICBzX3JhaWRfc3RyaXBlX3dpZHRoOyAgICAvKiBibG9ja3Mgb24gYWxsIGRhdGEgZGlza3MgKE4qc3RyaWRlKSovCi0JX191MzIgICBzX3Jlc2VydmVkWzE2M107ICAgICAgICAvKiBQYWRkaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGJsb2NrICovCisJX191OAlzX2xvZ19ncm91cHNfcGVyX2ZsZXg7ICAvKiBGTEVYX0JHIGdyb3VwIHNpemUgKi8KKwlfX3U4CXNfcmVzZXJ2ZWRfY2hhcl9wYWQyOworCV9fbGUxNiAgc19yZXNlcnZlZF9wYWQ7CisJX191MzIgICBzX3Jlc2VydmVkWzE2Ml07ICAgICAgICAvKiBQYWRkaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGJsb2NrICovCiB9OwogCiAjaWZkZWYgX19LRVJORUxfXwpAQCAtOTU4LDEyICs5NzQsMTcgQEAKIGV4dGVybiBpbnQgZXh0NF9iZ19oYXNfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGdyb3VwKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGV4dDRfYmdfbnVtX2dkYihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAogCQkJZXh0NF9ncm91cF90IGdyb3VwKTsKLWV4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2sgKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X21ldGFfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCWV4dDRfZnNibGtfdCBnb2FsLCBpbnQgKmVycnApOwotZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X25ld19ibG9ja3MgKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X21ldGFfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCk7Ci1leHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dGVybiBleHQ0X2ZzYmxrX3QgZXh0NF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCisJCQkJCWV4dDRfbGJsa190IGlibG9jaywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJCXVuc2lnbmVkIGxvbmcgKmNvdW50LCBpbnQgKmVycnApOworZXh0ZXJuIGV4dDRfZnNibGtfdCBleHQ0X29sZF9uZXdfYmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgZ29hbCwgdW5zaWduZWQgbG9uZyAqY291bnQsIGludCAqZXJycCk7CitleHRlcm4gZXh0NF9mc2Jsa190IGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwKKwkJCQkJCWV4dDRfZnNibGtfdCBuYmxvY2tzKTsKIGV4dGVybiB2b2lkIGV4dDRfZnJlZV9ibG9ja3MgKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlleHQ0X2ZzYmxrX3QgYmxvY2ssIHVuc2lnbmVkIGxvbmcgY291bnQsIGludCBtZXRhZGF0YSk7CiBleHRlcm4gdm9pZCBleHQ0X2ZyZWVfYmxvY2tzX3NiIChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLApAQCAtMTAxNiw5ICsxMDM3LDE0IEBACiBleHRlcm4gdm9pZCBleGl0X2V4dDRfbWJhbGxvYyh2b2lkKTsKIGV4dGVybiB2b2lkIGV4dDRfbWJfZnJlZV9ibG9ja3MoaGFuZGxlX3QgKiwgc3RydWN0IGlub2RlICosCiAJCXVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIGludCwgdW5zaWduZWQgbG9uZyAqKTsKK2V4dGVybiBpbnQgZXh0NF9tYl9hZGRfbW9yZV9ncm91cGluZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKKwkJZXh0NF9ncm91cF90IGksIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2MpOworZXh0ZXJuIHZvaWQgZXh0NF9tYl91cGRhdGVfZ3JvdXBfaW5mbyhzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICpncnAsCisJCWV4dDRfZ3JwYmxrX3QgYWRkKTsKIAogCiAvKiBpbm9kZS5jICovCit2b2lkIGV4dDRfZGFfcmVsZWFzZV9zcGFjZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgdXNlZCwgaW50IHRvX2ZyZWUpOwogaW50IGV4dDRfZm9yZ2V0KGhhbmRsZV90ICpoYW5kbGUsIGludCBpc19tZXRhZGF0YSwgc3RydWN0IGlub2RlICppbm9kZSwKIAkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwgZXh0NF9mc2Jsa190IGJsb2NrbnIpOwogc3RydWN0IGJ1ZmZlcl9oZWFkICpleHQ0X2dldGJsayhoYW5kbGVfdCAqLCBzdHJ1Y3QgaW5vZGUgKiwKQEAgLTEwMzMsMTkgKzEwNTksMjMgQEAKIGV4dGVybiBzdHJ1Y3QgaW5vZGUgKmV4dDRfaWdldChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiwgdW5zaWduZWQgbG9uZyk7CiBleHRlcm4gaW50ICBleHQ0X3dyaXRlX2lub2RlIChzdHJ1Y3QgaW5vZGUgKiwgaW50KTsKIGV4dGVybiBpbnQgIGV4dDRfc2V0YXR0ciAoc3RydWN0IGRlbnRyeSAqLCBzdHJ1Y3QgaWF0dHIgKik7CitleHRlcm4gaW50ICBleHQ0X2dldGF0dHIoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCQlzdHJ1Y3Qga3N0YXQgKnN0YXQpOwogZXh0ZXJuIHZvaWQgZXh0NF9kZWxldGVfaW5vZGUgKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiBpbnQgIGV4dDRfc3luY19pbm9kZSAoaGFuZGxlX3QgKiwgc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9kaXNjYXJkX3Jlc2VydmF0aW9uIChzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X2RpcnR5X2lub2RlKHN0cnVjdCBpbm9kZSAqKTsKIGV4dGVybiBpbnQgZXh0NF9jaGFuZ2VfaW5vZGVfam91cm5hbF9mbGFnKHN0cnVjdCBpbm9kZSAqLCBpbnQpOwogZXh0ZXJuIGludCBleHQ0X2dldF9pbm9kZV9sb2Moc3RydWN0IGlub2RlICosIHN0cnVjdCBleHQ0X2lsb2MgKik7CitleHRlcm4gaW50IGV4dDRfY2FuX3RydW5jYXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogZXh0ZXJuIHZvaWQgZXh0NF90cnVuY2F0ZSAoc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9zZXRfaW5vZGVfZmxhZ3Moc3RydWN0IGlub2RlICopOwogZXh0ZXJuIHZvaWQgZXh0NF9nZXRfaW5vZGVfZmxhZ3Moc3RydWN0IGV4dDRfaW5vZGVfaW5mbyAqKTsKIGV4dGVybiB2b2lkIGV4dDRfc2V0X2FvcHMoc3RydWN0IGlub2RlICppbm9kZSk7CiBleHRlcm4gaW50IGV4dDRfd3JpdGVwYWdlX3RyYW5zX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKik7Ci1leHRlcm4gaW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKK2V4dGVybiBpbnQgZXh0NF9ibG9ja190cnVuY2F0ZV9wYWdlKGhhbmRsZV90ICpoYW5kbGUsCiAJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgZnJvbSk7CitleHRlcm4gaW50IGV4dDRfcGFnZV9ta3dyaXRlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSk7CiAKIC8qIGlvY3RsLmMgKi8KIGV4dGVybiBsb25nIGV4dDRfaW9jdGwoc3RydWN0IGZpbGUgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKQEAgLTExNTksMTAgKzExODksMjEgQEAKIH0KIAogCitzdGF0aWMgaW5saW5lIGV4dDRfZ3JvdXBfdCBleHQ0X2ZsZXhfZ3JvdXAoc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLAorCQkJCQkgICAgIGV4dDRfZ3JvdXBfdCBibG9ja19ncm91cCkKK3sKKwlyZXR1cm4gYmxvY2tfZ3JvdXAgPj4gc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGV4dDRfZmxleF9iZ19zaXplKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSkKK3sKKwlyZXR1cm4gMSA8PCBzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKK30KKwogI2RlZmluZSBleHQ0X3N0ZF9lcnJvcihzYiwgZXJybm8pCQkJCVwKIGRvIHsJCQkJCQkJCVwKIAlpZiAoKGVycm5vKSkJCQkJCQlcCi0JCV9fZXh0NF9zdGRfZXJyb3IoKHNiKSwgX19GVU5DVElPTl9fLCAoZXJybm8pKTsJXAorCQlfX2V4dDRfc3RkX2Vycm9yKChzYiksIF9fZnVuY19fLCAoZXJybm8pKTsJXAogfSB3aGlsZSAoMCkKIAogLyoKQEAgLTExOTEsNyArMTIzMiw3IEBACiAJCQlleHQ0X2xibGtfdCBpYmxvY2ssCiAJCQl1bnNpZ25lZCBsb25nIG1heF9ibG9ja3MsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmhfcmVzdWx0LAogCQkJaW50IGNyZWF0ZSwgaW50IGV4dGVuZF9kaXNrc2l6ZSk7Ci1leHRlcm4gdm9pZCBleHQ0X2V4dF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKiwgc3RydWN0IHBhZ2UgKik7CitleHRlcm4gdm9pZCBleHQ0X2V4dF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKik7CiBleHRlcm4gdm9pZCBleHQ0X2V4dF9pbml0KHN0cnVjdCBzdXBlcl9ibG9jayAqKTsKIGV4dGVybiB2b2lkIGV4dDRfZXh0X3JlbGVhc2Uoc3RydWN0IHN1cGVyX2Jsb2NrICopOwogZXh0ZXJuIGxvbmcgZXh0NF9mYWxsb2NhdGUoc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1vZGUsIGxvZmZfdCBvZmZzZXQsCkBAIC0xMTk5LDcgKzEyNDAsNyBAQAogZXh0ZXJuIGludCBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAogCQkJc2VjdG9yX3QgYmxvY2ssIHVuc2lnbmVkIGxvbmcgbWF4X2Jsb2NrcywKIAkJCXN0cnVjdCBidWZmZXJfaGVhZCAqYmgsIGludCBjcmVhdGUsCi0JCQlpbnQgZXh0ZW5kX2Rpc2tzaXplKTsKKwkJCWludCBleHRlbmRfZGlza3NpemUsIGludCBmbGFnKTsKICNlbmRpZgkvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZgkvKiBfRVhUNF9IICovCmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDRfZXh0ZW50cy5oIGIvZnMvZXh0NC9leHQ0X2V4dGVudHMuaAppbmRleCA3NTMzM2I1Li42YzE2NmMwIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDRfZXh0ZW50cy5oCisrKyBiL2ZzL2V4dDQvZXh0NF9leHRlbnRzLmgKQEAgLTIxMiw2ICsyMTIsNyBAQAogCQkobGUxNl90b19jcHUoZXh0LT5lZV9sZW4pIC0gRVhUX0lOSVRfTUFYX0xFTikpOwogfQogCitleHRlcm4gaW50IGV4dDRfZXh0X2NhbGNfbWV0YWRhdGFfYW1vdW50KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBibG9ja3MpOwogZXh0ZXJuIGV4dDRfZnNibGtfdCBpZHhfcGJsb2NrKHN0cnVjdCBleHQ0X2V4dGVudF9pZHggKik7CiBleHRlcm4gdm9pZCBleHQ0X2V4dF9zdG9yZV9wYmxvY2soc3RydWN0IGV4dDRfZXh0ZW50ICosIGV4dDRfZnNibGtfdCk7CiBleHRlcm4gaW50IGV4dDRfZXh0ZW50X3RyZWVfaW5pdChoYW5kbGVfdCAqLCBzdHJ1Y3QgaW5vZGUgKik7CmRpZmYgLS1naXQgYS9mcy9leHQ0L2V4dDRfaS5oIGIvZnMvZXh0NC9leHQ0X2kuaAppbmRleCAyNmE0YWUyLi5lZjc0MDlmIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDRfaS5oCisrKyBiL2ZzL2V4dDQvZXh0NF9pLmgKQEAgLTc5LDcgKzc5LDcgQEAKIH07CiAKIC8qCi0gKiB0aGlyZCBleHRlbmRlZCBmaWxlIHN5c3RlbSBpbm9kZSBkYXRhIGluIG1lbW9yeQorICogZm91cnRoIGV4dGVuZGVkIGZpbGUgc3lzdGVtIGlub2RlIGRhdGEgaW4gbWVtb3J5CiAgKi8KIHN0cnVjdCBleHQ0X2lub2RlX2luZm8gewogCV9fbGUzMglpX2RhdGFbMTVdOwkvKiB1bmNvbnZlcnRlZCAqLwpAQCAtMTUwLDYgKzE1MCw3IEBACiAJICovCiAJc3RydWN0IHJ3X3NlbWFwaG9yZSBpX2RhdGFfc2VtOwogCXN0cnVjdCBpbm9kZSB2ZnNfaW5vZGU7CisJc3RydWN0IGpiZDJfaW5vZGUgamlub2RlOwogCiAJdW5zaWduZWQgbG9uZyBpX2V4dF9nZW5lcmF0aW9uOwogCXN0cnVjdCBleHQ0X2V4dF9jYWNoZSBpX2NhY2hlZF9leHRlbnQ7CkBAIC0xNjIsNiArMTYzLDEzIEBACiAJLyogbWJhbGxvYyAqLwogCXN0cnVjdCBsaXN0X2hlYWQgaV9wcmVhbGxvY19saXN0OwogCXNwaW5sb2NrX3QgaV9wcmVhbGxvY19sb2NrOworCisJLyogYWxsb2NhdGlvbiByZXNlcnZhdGlvbiBpbmZvIGZvciBkZWxhbGxvYyAqLworCXVuc2lnbmVkIGxvbmcgaV9yZXNlcnZlZF9kYXRhX2Jsb2NrczsKKwl1bnNpZ25lZCBsb25nIGlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3M7CisJdW5zaWduZWQgbG9uZyBpX2FsbG9jYXRlZF9tZXRhX2Jsb2NrczsKKwl1bnNpZ25lZCBzaG9ydCBpX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWc7CisJc3BpbmxvY2tfdCBpX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2s7CiB9OwogCiAjZW5kaWYJLyogX0VYVDRfSSAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X2piZDIuaCBiL2ZzL2V4dDQvZXh0NF9qYmQyLmgKaW5kZXggOTI1NWE3ZDIuLmViOGJjM2EgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvZXh0NF9qYmQyLmgKKysrIGIvZnMvZXh0NC9leHQ0X2piZDIuaApAQCAtMTQyLDE5ICsxNDIsMTcgQEAKIAkJCQloYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKTsKIAogI2RlZmluZSBleHQ0X2pvdXJuYWxfZ2V0X3VuZG9fYWNjZXNzKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJoKSkKKwlfX2V4dDRfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogI2RlZmluZSBleHQ0X2pvdXJuYWxfcmV2b2tlKGhhbmRsZSwgYmxvY2tuciwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9yZXZva2UoX19GVU5DVElPTl9fLCAoaGFuZGxlKSwgKGJsb2NrbnIpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX3Jldm9rZShfX2Z1bmNfXywgKGhhbmRsZSksIChibG9ja25yKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9nZXRfY3JlYXRlX2FjY2VzcyhfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2dldF9jcmVhdGVfYWNjZXNzKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKGhhbmRsZSwgYmgpIFwKLQlfX2V4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShfX0ZVTkNUSU9OX18sIChoYW5kbGUpLCAoYmgpKQorCV9fZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhKF9fZnVuY19fLCAoaGFuZGxlKSwgKGJoKSkKICNkZWZpbmUgZXh0NF9qb3VybmFsX2ZvcmdldChoYW5kbGUsIGJoKSBcCi0JX19leHQ0X2pvdXJuYWxfZm9yZ2V0KF9fRlVOQ1RJT05fXywgKGhhbmRsZSksIChiaCkpCi0KLWludCBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKTsKKwlfX2V4dDRfam91cm5hbF9mb3JnZXQoX19mdW5jX18sIChoYW5kbGUpLCAoYmgpKQogCiBoYW5kbGVfdCAqZXh0NF9qb3VybmFsX3N0YXJ0X3NiKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCBuYmxvY2tzKTsKIGludCBfX2V4dDRfam91cm5hbF9zdG9wKGNvbnN0IGNoYXIgKndoZXJlLCBoYW5kbGVfdCAqaGFuZGxlKTsKQEAgLTE2NSw3ICsxNjMsNyBAQAogfQogCiAjZGVmaW5lIGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSkgXAotCV9fZXh0NF9qb3VybmFsX3N0b3AoX19GVU5DVElPTl9fLCAoaGFuZGxlKSkKKwlfX2V4dDRfam91cm5hbF9zdG9wKF9fZnVuY19fLCAoaGFuZGxlKSkKIAogc3RhdGljIGlubGluZSBoYW5kbGVfdCAqZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKHZvaWQpCiB7CkBAIC0xOTIsNiArMTkwLDExIEBACiAJcmV0dXJuIGpiZDJfam91cm5hbF9mb3JjZV9jb21taXQoam91cm5hbCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7CisJcmV0dXJuIGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZSwgJkVYVDRfSShpbm9kZSktPmppbm9kZSk7Cit9CisKIC8qIHN1cGVyLmMgKi8KIGludCBleHQ0X2ZvcmNlX2NvbW1pdChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsKIApkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0X3NiLmggYi9mcy9leHQ0L2V4dDRfc2IuaAppbmRleCA1ODAyZTY5Li42MzAwMjI2IDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dDRfc2IuaAorKysgYi9mcy9leHQ0L2V4dDRfc2IuaApAQCAtMjUsNyArMjUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3JidHJlZS5oPgogCiAvKgotICogdGhpcmQgZXh0ZW5kZWQtZnMgc3VwZXItYmxvY2sgZGF0YSBpbiBtZW1vcnkKKyAqIGZvdXJ0aCBleHRlbmRlZC1mcyBzdXBlci1ibG9jayBkYXRhIGluIG1lbW9yeQogICovCiBzdHJ1Y3QgZXh0NF9zYl9pbmZvIHsKIAl1bnNpZ25lZCBsb25nIHNfZGVzY19zaXplOwkvKiBTaXplIG9mIGEgZ3JvdXAgZGVzY3JpcHRvciBpbiBieXRlcyAqLwpAQCAtMTQzLDYgKzE0Myw5IEBACiAKIAkvKiBsb2NhbGl0eSBncm91cHMgKi8KIAlzdHJ1Y3QgZXh0NF9sb2NhbGl0eV9ncm91cCAqc19sb2NhbGl0eV9ncm91cHM7CisKKwl1bnNpZ25lZCBpbnQgc19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCXN0cnVjdCBmbGV4X2dyb3VwcyAqc19mbGV4X2dyb3VwczsKIH07CiAKICNlbmRpZgkvKiBfRVhUNF9TQiAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHRlbnRzLmMgYi9mcy9leHQ0L2V4dGVudHMuYwppbmRleCA0NzkyOWM0Li40MmM0YzBjIDEwMDY0NAotLS0gYS9mcy9leHQ0L2V4dGVudHMuYworKysgYi9mcy9leHQ0L2V4dGVudHMuYwpAQCAtOTIsMTcgKzkyLDE2IEBACiAJaXgtPmVpX2xlYWZfaGkgPSBjcHVfdG9fbGUxNigodW5zaWduZWQgbG9uZykgKChwYiA+PiAzMSkgPj4gMSkgJiAweGZmZmYpOwogfQogCi1zdGF0aWMgaGFuZGxlX3QgKmV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGVfdCAqaGFuZGxlLCBpbnQgbmVlZGVkKQorc3RhdGljIGludCBleHQ0X2V4dF9qb3VybmFsX3Jlc3RhcnQoaGFuZGxlX3QgKmhhbmRsZSwgaW50IG5lZWRlZCkKIHsKIAlpbnQgZXJyOwogCiAJaWYgKGhhbmRsZS0+aF9idWZmZXJfY3JlZGl0cyA+IG5lZWRlZCkKLQkJcmV0dXJuIGhhbmRsZTsKLQlpZiAoIWV4dDRfam91cm5hbF9leHRlbmQoaGFuZGxlLCBuZWVkZWQpKQotCQlyZXR1cm4gaGFuZGxlOwotCWVyciA9IGV4dDRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgbmVlZGVkKTsKLQotCXJldHVybiBoYW5kbGU7CisJCXJldHVybiAwOworCWVyciA9IGV4dDRfam91cm5hbF9leHRlbmQoaGFuZGxlLCBuZWVkZWQpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJcmV0dXJuIGV4dDRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgbmVlZGVkKTsKIH0KIAogLyoKQEAgLTE4MCwxNSArMTc5LDE4IEBACiAJcmV0dXJuIGJnX3N0YXJ0ICsgY29sb3VyICsgYmxvY2s7CiB9CiAKKy8qCisgKiBBbGxvY2F0aW9uIGZvciBhIG1ldGEgZGF0YSBibG9jaworICovCiBzdGF0aWMgZXh0NF9mc2Jsa190Ci1leHQ0X2V4dF9uZXdfYmxvY2soaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwKK2V4dDRfZXh0X25ld19tZXRhX2Jsb2NrKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsCiAJCQlzdHJ1Y3QgZXh0NF9leHRfcGF0aCAqcGF0aCwKIAkJCXN0cnVjdCBleHQ0X2V4dGVudCAqZXgsIGludCAqZXJyKQogewogCWV4dDRfZnNibGtfdCBnb2FsLCBuZXdibG9jazsKIAogCWdvYWwgPSBleHQ0X2V4dF9maW5kX2dvYWwoaW5vZGUsIHBhdGgsIGxlMzJfdG9fY3B1KGV4LT5lZV9ibG9jaykpOwotCW5ld2Jsb2NrID0gZXh0NF9uZXdfYmxvY2soaGFuZGxlLCBpbm9kZSwgZ29hbCwgZXJyKTsKKwluZXdibG9jayA9IGV4dDRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwgZ29hbCwgZXJyKTsKIAlyZXR1cm4gbmV3YmxvY2s7CiB9CiAKQEAgLTI0Niw2ICsyNDgsMzYgQEAKIAlyZXR1cm4gc2l6ZTsKIH0KIAorLyoKKyAqIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIG1ldGFkYXRhIGJsb2NrcyBuZWVkZWQKKyAqIHRvIGFsbG9jYXRlIEBibG9ja3MKKyAqIFdvcnNlIGNhc2UgaXMgb25lIGJsb2NrIHBlciBleHRlbnQKKyAqLworaW50IGV4dDRfZXh0X2NhbGNfbWV0YWRhdGFfYW1vdW50KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBibG9ja3MpCit7CisJaW50IGxjYXAsIGljYXAsIHJjYXAsIGxlYWZzLCBpZHhzLCBudW07CisJaW50IG5ld2V4dGVudHMgPSBibG9ja3M7CisKKwlyY2FwID0gZXh0NF9leHRfc3BhY2Vfcm9vdF9pZHgoaW5vZGUpOworCWxjYXAgPSBleHQ0X2V4dF9zcGFjZV9ibG9jayhpbm9kZSk7CisJaWNhcCA9IGV4dDRfZXh0X3NwYWNlX2Jsb2NrX2lkeChpbm9kZSk7CisKKwkvKiBudW1iZXIgb2YgbmV3IGxlYWYgYmxvY2tzIG5lZWRlZCAqLworCW51bSA9IGxlYWZzID0gKG5ld2V4dGVudHMgKyBsY2FwIC0gMSkgLyBsY2FwOworCisJLyoKKwkgKiBXb3JzZSBjYXNlLCB3ZSBuZWVkIHNlcGFyYXRlIGluZGV4IGJsb2NrKHMpCisJICogdG8gbGluayBhbGwgbmV3IGxlYWYgYmxvY2tzCisJICovCisJaWR4cyA9IChsZWFmcyArIGljYXAgLSAxKSAvIGljYXA7CisJZG8geworCQludW0gKz0gaWR4czsKKwkJaWR4cyA9IChpZHhzICsgaWNhcCAtIDEpIC8gaWNhcDsKKwl9IHdoaWxlIChpZHhzID4gcmNhcCk7CisKKwlyZXR1cm4gbnVtOworfQorCiBzdGF0aWMgaW50CiBleHQ0X2V4dF9tYXhfZW50cmllcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgZGVwdGgpCiB7CkBAIC01MjQsNiArNTU2LDcgQEAKIAkJYWxsb2MgPSAxOwogCX0KIAlwYXRoWzBdLnBfaGRyID0gZWg7CisJcGF0aFswXS5wX2JoID0gTlVMTDsKIAogCWkgPSBkZXB0aDsKIAkvKiB3YWxrIHRocm91Z2ggdGhlIHRyZWUgKi8KQEAgLTU1MiwxMiArNTg1LDE0IEBACiAJfQogCiAJcGF0aFtwcG9zXS5wX2RlcHRoID0gaTsKLQlwYXRoW3Bwb3NdLnBfaGRyID0gZWg7CiAJcGF0aFtwcG9zXS5wX2V4dCA9IE5VTEw7CiAJcGF0aFtwcG9zXS5wX2lkeCA9IE5VTEw7CiAKIAkvKiBmaW5kIGV4dGVudCAqLwogCWV4dDRfZXh0X2JpbnNlYXJjaChpbm9kZSwgcGF0aCArIHBwb3MsIGJsb2NrKTsKKwkvKiBpZiBub3QgYW4gZW1wdHkgbGVhZiAqLworCWlmIChwYXRoW3Bwb3NdLnBfZXh0KQorCQlwYXRoW3Bwb3NdLnBfYmxvY2sgPSBleHRfcGJsb2NrKHBhdGhbcHBvc10ucF9leHQpOwogCiAJZXh0NF9leHRfc2hvd19wYXRoKGlub2RlLCBwYXRoKTsKIApAQCAtNjg4LDcgKzcyMyw4IEBACiAJLyogYWxsb2NhdGUgYWxsIG5lZWRlZCBibG9ja3MgKi8KIAlleHRfZGVidWcoImFsbG9jYXRlICVkIGJsb2NrcyBmb3IgaW5kZXhlcy9sZWFmXG4iLCBkZXB0aCAtIGF0KTsKIAlmb3IgKGEgPSAwOyBhIDwgZGVwdGggLSBhdDsgYSsrKSB7Ci0JCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X2Jsb2NrKGhhbmRsZSwgaW5vZGUsIHBhdGgsIG5ld2V4dCwgJmVycik7CisJCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwKKwkJCQkJCSAgIG5ld2V4dCwgJmVycik7CiAJCWlmIChuZXdibG9jayA9PSAwKQogCQkJZ290byBjbGVhbnVwOwogCQlhYmxvY2tzW2FdID0gbmV3YmxvY2s7CkBAIC04ODQsNyArOTIwLDcgQEAKIAlleHQ0X2ZzYmxrX3QgbmV3YmxvY2s7CiAJaW50IGVyciA9IDA7CiAKLQluZXdibG9jayA9IGV4dDRfZXh0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsICZlcnIpOworCW5ld2Jsb2NrID0gZXh0NF9leHRfbmV3X21ldGFfYmxvY2soaGFuZGxlLCBpbm9kZSwgcGF0aCwgbmV3ZXh0LCAmZXJyKTsKIAlpZiAobmV3YmxvY2sgPT0gMCkKIAkJcmV0dXJuIGVycjsKIApAQCAtOTgxLDYgKzEwMTcsOCBAQAogCQkvKiBpZiB3ZSBmb3VuZCBpbmRleCB3aXRoIGZyZWUgZW50cnksIHRoZW4gdXNlIHRoYXQKIAkJICogZW50cnk6IGNyZWF0ZSBhbGwgbmVlZGVkIHN1YnRyZWUgYW5kIGFkZCBuZXcgbGVhZiAqLwogCQllcnIgPSBleHQ0X2V4dF9zcGxpdChoYW5kbGUsIGlub2RlLCBwYXRoLCBuZXdleHQsIGkpOworCQlpZiAoZXJyKQorCQkJZ290byBvdXQ7CiAKIAkJLyogcmVmaWxsIHBhdGggKi8KIAkJZXh0NF9leHRfZHJvcF9yZWZzKHBhdGgpOwpAQCAtMTg4MywxMSArMTkyMSw5IEBACiAJCWNyZWRpdHMgKz0gMiAqIEVYVDRfUVVPVEFfVFJBTlNfQkxPQ0tTKGlub2RlLT5pX3NiKTsKICNlbmRpZgogCi0JCWhhbmRsZSA9IGV4dDRfZXh0X2pvdXJuYWxfcmVzdGFydChoYW5kbGUsIGNyZWRpdHMpOwotCQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJCWVyciA9IFBUUl9FUlIoaGFuZGxlKTsKKwkJZXJyID0gZXh0NF9leHRfam91cm5hbF9yZXN0YXJ0KGhhbmRsZSwgY3JlZGl0cyk7CisJCWlmIChlcnIpCiAJCQlnb3RvIG91dDsKLQkJfQogCiAJCWVyciA9IGV4dDRfZXh0X2dldF9hY2Nlc3MoaGFuZGxlLCBpbm9kZSwgcGF0aCArIGRlcHRoKTsKIAkJaWYgKGVycikKQEAgLTI1MjksNiArMjU2NSw3IEBACiAJaW50IGVyciA9IDAsIGRlcHRoLCByZXQ7CiAJdW5zaWduZWQgbG9uZyBhbGxvY2F0ZWQgPSAwOwogCXN0cnVjdCBleHQ0X2FsbG9jYXRpb25fcmVxdWVzdCBhcjsKKwlsb2ZmX3QgZGlza3NpemU7CiAKIAlfX2NsZWFyX2JpdChCSF9OZXcsICZiaF9yZXN1bHQtPmJfc3RhdGUpOwogCWV4dF9kZWJ1ZygiYmxvY2tzICV1LyVsdSByZXF1ZXN0ZWQgZm9yIGlub2RlICV1XG4iLApAQCAtMjYxNiw4ICsyNjUzLDcgQEAKIAkJCQkgKi8KIAkJCQlpZiAoYWxsb2NhdGVkID4gbWF4X2Jsb2NrcykKIAkJCQkJYWxsb2NhdGVkID0gbWF4X2Jsb2NrczsKLQkJCQkvKiBtYXJrIHRoZSBidWZmZXIgdW53cml0dGVuICovCi0JCQkJX19zZXRfYml0KEJIX1Vud3JpdHRlbiwgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CisJCQkJc2V0X2J1ZmZlcl91bndyaXR0ZW4oYmhfcmVzdWx0KTsKIAkJCQlnb3RvIG91dDI7CiAJCQl9CiAKQEAgLTI3MTYsMTQgKzI3NTIsMTkgQEAKIAkJZ290byBvdXQyOwogCX0KIAotCWlmIChleHRlbmRfZGlza3NpemUgJiYgaW5vZGUtPmlfc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCi0JCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBpbm9kZS0+aV9zaXplOwotCiAJLyogcHJldmlvdXMgcm91dGluZSBjb3VsZCB1c2UgYmxvY2sgd2UgYWxsb2NhdGVkICovCiAJbmV3YmxvY2sgPSBleHRfcGJsb2NrKCZuZXdleCk7CiAJYWxsb2NhdGVkID0gZXh0NF9leHRfZ2V0X2FjdHVhbF9sZW4oJm5ld2V4KTsKIG91dG5ldzoKLQlfX3NldF9iaXQoQkhfTmV3LCAmYmhfcmVzdWx0LT5iX3N0YXRlKTsKKwlpZiAoZXh0ZW5kX2Rpc2tzaXplKSB7CisJCWRpc2tzaXplID0gKChsb2ZmX3QpIGlibG9jayArIGFyLmxlbikgPDwgaW5vZGUtPmlfYmxrYml0czsKKwkJaWYgKGRpc2tzaXplID4gaV9zaXplX3JlYWQoaW5vZGUpKQorCQkJZGlza3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJCWlmIChkaXNrc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCisJCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gZGlza3NpemU7CisJfQorCisJc2V0X2J1ZmZlcl9uZXcoYmhfcmVzdWx0KTsKIAogCS8qIENhY2hlIG9ubHkgd2hlbiBpdCBpcyBfbm90XyBhbiB1bmluaXRpYWxpemVkIGV4dGVudCAqLwogCWlmIChjcmVhdGUgIT0gRVhUNF9DUkVBVEVfVU5JTklUSUFMSVpFRF9FWFQpCkBAIC0yNzMzLDcgKzI3NzQsNyBAQAogCWlmIChhbGxvY2F0ZWQgPiBtYXhfYmxvY2tzKQogCQlhbGxvY2F0ZWQgPSBtYXhfYmxvY2tzOwogCWV4dDRfZXh0X3Nob3dfbGVhZihpbm9kZSwgcGF0aCk7Ci0JX19zZXRfYml0KEJIX01hcHBlZCwgJmJoX3Jlc3VsdC0+Yl9zdGF0ZSk7CisJc2V0X2J1ZmZlcl9tYXBwZWQoYmhfcmVzdWx0KTsKIAliaF9yZXN1bHQtPmJfYmRldiA9IGlub2RlLT5pX3NiLT5zX2JkZXY7CiAJYmhfcmVzdWx0LT5iX2Jsb2NrbnIgPSBuZXdibG9jazsKIG91dDI6CkBAIC0yNzQ0LDcgKzI3ODUsNyBAQAogCXJldHVybiBlcnIgPyBlcnIgOiBhbGxvY2F0ZWQ7CiB9CiAKLXZvaWQgZXh0NF9leHRfdHJ1bmNhdGUoc3RydWN0IGlub2RlICogaW5vZGUsIHN0cnVjdCBwYWdlICpwYWdlKQordm9pZCBleHQ0X2V4dF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewogCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gaW5vZGUtPmlfbWFwcGluZzsKIAlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gaW5vZGUtPmlfc2I7CkBAIC0yNzU3LDE4ICsyNzk4LDE0IEBACiAJICovCiAJZXJyID0gZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSArIDM7CiAJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBlcnIpOwotCWlmIChJU19FUlIoaGFuZGxlKSkgewotCQlpZiAocGFnZSkgewotCQkJY2xlYXJfaGlnaHBhZ2UocGFnZSk7Ci0JCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsKLQkJCXVubG9ja19wYWdlKHBhZ2UpOwotCQkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwotCQl9CisJaWYgKElTX0VSUihoYW5kbGUpKQogCQlyZXR1cm47Ci0JfQogCi0JaWYgKHBhZ2UpCi0JCWV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIHBhZ2UsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpOworCWlmIChpbm9kZS0+aV9zaXplICYgKHNiLT5zX2Jsb2Nrc2l6ZSAtIDEpKQorCQlleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKTsKKworCWlmIChleHQ0X29ycGhhbl9hZGQoaGFuZGxlLCBpbm9kZSkpCisJCWdvdG8gb3V0X3N0b3A7CiAKIAlkb3duX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKIAlleHQ0X2V4dF9pbnZhbGlkYXRlX2NhY2hlKGlub2RlKTsKQEAgLTI3ODAsOCArMjgxNyw2IEBACiAJICogUHJvYmFibHkgd2UgbmVlZCBub3Qgc2NhbiBhdCBhbGwsCiAJICogYmVjYXVzZSBwYWdlIHRydW5jYXRpb24gaXMgZW5vdWdoLgogCSAqLwotCWlmIChleHQ0X29ycGhhbl9hZGQoaGFuZGxlLCBpbm9kZSkpCi0JCWdvdG8gb3V0X3N0b3A7CiAKIAkvKiB3ZSBoYXZlIHRvIGtub3cgd2hlcmUgdG8gdHJ1bmNhdGUgZnJvbSBpbiBjcmFzaCBjYXNlICovCiAJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGlub2RlLT5pX3NpemU7CkBAIC0yNzk4LDYgKzI4MzMsNyBAQAogCQloYW5kbGUtPmhfc3luYyA9IDE7CiAKIG91dF9zdG9wOgorCXVwX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKIAkvKgogCSAqIElmIHRoaXMgd2FzIGEgc2ltcGxlIGZ0cnVuY2F0ZSgpIGFuZCB0aGUgZmlsZSB3aWxsIHJlbWFpbiBhbGl2ZSwKIAkgKiB0aGVuIHdlIG5lZWQgdG8gY2xlYXIgdXAgdGhlIG9ycGhhbiByZWNvcmQgd2hpY2ggd2UgY3JlYXRlZCBhYm92ZS4KQEAgLTI4MDgsNyArMjg0NCw2IEBACiAJaWYgKGlub2RlLT5pX25saW5rKQogCQlleHQ0X29ycGhhbl9kZWwoaGFuZGxlLCBpbm9kZSk7CiAKLQl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CiAJaW5vZGUtPmlfbXRpbWUgPSBpbm9kZS0+aV9jdGltZSA9IGV4dDRfY3VycmVudF90aW1lKGlub2RlKTsKIAlleHQ0X21hcmtfaW5vZGVfZGlydHkoaGFuZGxlLCBpbm9kZSk7CiAJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKQEAgLTI5MTEsNyArMjk0Niw3IEBACiAJCX0KIAkJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgYmxvY2ssCiAJCQkJCSAgbWF4X2Jsb2NrcywgJm1hcF9iaCwKLQkJCQkJICBFWFQ0X0NSRUFURV9VTklOSVRJQUxJWkVEX0VYVCwgMCk7CisJCQkJCSAgRVhUNF9DUkVBVEVfVU5JTklUSUFMSVpFRF9FWFQsIDAsIDApOwogCQlpZiAocmV0IDw9IDApIHsKICNpZmRlZiBFWFQ0RlNfREVCVUcKIAkJCVdBUk5fT04ocmV0IDw9IDApOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9maWxlLmMgYi9mcy9leHQ0L2ZpbGUuYwppbmRleCA0MTU5YmU2Li40MzBlYjc5IDEwMDY0NAotLS0gYS9mcy9leHQ0L2ZpbGUuYworKysgYi9mcy9leHQ0L2ZpbGUuYwpAQCAtMTIzLDYgKzEyMywyMyBAQAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3QgZXh0NF9maWxlX3ZtX29wcyA9IHsKKwkuZmF1bHQJCT0gZmlsZW1hcF9mYXVsdCwKKwkucGFnZV9ta3dyaXRlICAgPSBleHQ0X3BhZ2VfbWt3cml0ZSwKK307CisKK3N0YXRpYyBpbnQgZXh0NF9maWxlX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQoreworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gZmlsZS0+Zl9tYXBwaW5nOworCisJaWYgKCFtYXBwaW5nLT5hX29wcy0+cmVhZHBhZ2UpCisJCXJldHVybiAtRU5PRVhFQzsKKwlmaWxlX2FjY2Vzc2VkKGZpbGUpOworCXZtYS0+dm1fb3BzID0gJmV4dDRfZmlsZV92bV9vcHM7CisJdm1hLT52bV9mbGFncyB8PSBWTV9DQU5fTk9OTElORUFSOworCXJldHVybiAwOworfQorCiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGV4dDRfZmlsZV9vcGVyYXRpb25zID0gewogCS5sbHNlZWsJCT0gZ2VuZXJpY19maWxlX2xsc2VlaywKIAkucmVhZAkJPSBkb19zeW5jX3JlYWQsCkBAIC0xMzMsNyArMTUwLDcgQEAKICNpZmRlZiBDT05GSUdfQ09NUEFUCiAJLmNvbXBhdF9pb2N0bAk9IGV4dDRfY29tcGF0X2lvY3RsLAogI2VuZGlmCi0JLm1tYXAJCT0gZ2VuZXJpY19maWxlX21tYXAsCisJLm1tYXAJCT0gZXh0NF9maWxlX21tYXAsCiAJLm9wZW4JCT0gZ2VuZXJpY19maWxlX29wZW4sCiAJLnJlbGVhc2UJPSBleHQ0X3JlbGVhc2VfZmlsZSwKIAkuZnN5bmMJCT0gZXh0NF9zeW5jX2ZpbGUsCkBAIC0xNDQsNiArMTYxLDcgQEAKIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGV4dDRfZmlsZV9pbm9kZV9vcGVyYXRpb25zID0gewogCS50cnVuY2F0ZQk9IGV4dDRfdHJ1bmNhdGUsCiAJLnNldGF0dHIJPSBleHQ0X3NldGF0dHIsCisJLmdldGF0dHIJPSBleHQ0X2dldGF0dHIsCiAjaWZkZWYgQ09ORklHX0VYVDRERVZfRlNfWEFUVFIKIAkuc2V0eGF0dHIJPSBnZW5lcmljX3NldHhhdHRyLAogCS5nZXR4YXR0cgk9IGdlbmVyaWNfZ2V0eGF0dHIsCmRpZmYgLS1naXQgYS9mcy9leHQ0L2ZzeW5jLmMgYi9mcy9leHQ0L2ZzeW5jLmMKaW5kZXggMWM4YmE0OC4uYTQ1YzM3MyAxMDA2NDQKLS0tIGEvZnMvZXh0NC9mc3luYy5jCisrKyBiL2ZzL2V4dDQvZnN5bmMuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CiAjaW5jbHVkZSA8bGludXgvamJkMi5oPgorI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgImV4dDQuaCIKICNpbmNsdWRlICJleHQ0X2piZDIuaCIKIApAQCAtNDUsNiArNDYsNyBAQAogaW50IGV4dDRfc3luY19maWxlKHN0cnVjdCBmaWxlICogZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBpbnQgZGF0YXN5bmMpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlqb3VybmFsX3QgKmpvdXJuYWwgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKS0+c19qb3VybmFsOwogCWludCByZXQgPSAwOwogCiAJSl9BU1NFUlQoZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkgPT0gTlVMTCk7CkBAIC04NSw2ICs4Nyw4IEBACiAJCQkubnJfdG9fd3JpdGUgPSAwLCAvKiBzeXNfZnN5bmMgZGlkIHRoaXMgKi8KIAkJfTsKIAkJcmV0ID0gc3luY19pbm9kZShpbm9kZSwgJndiYyk7CisJCWlmIChqb3VybmFsICYmIChqb3VybmFsLT5qX2ZsYWdzICYgSkJEMl9CQVJSSUVSKSkKKwkJCWJsa2Rldl9pc3N1ZV9mbHVzaChpbm9kZS0+aV9zYi0+c19iZGV2LCBOVUxMKTsKIAl9CiBvdXQ6CiAJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZ3JvdXAuaCBiL2ZzL2V4dDQvZ3JvdXAuaAppbmRleCA3ZWIwNjA0Li5jMmMwYThkIDEwMDY0NAotLS0gYS9mcy9leHQ0L2dyb3VwLmgKKysrIGIvZnMvZXh0NC9ncm91cC5oCkBAIC0xMyw3ICsxMyw3IEBACiAJCQkJICAgc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZ2RwKTsKIGV4dGVybiBpbnQgZXh0NF9ncm91cF9kZXNjX2NzdW1fdmVyaWZ5KHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwgX191MzIgZ3JvdXAsCiAJCQkJICAgICAgIHN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmdkcCk7Ci1zdHJ1Y3QgYnVmZmVyX2hlYWQgKnJlYWRfYmxvY2tfYml0bWFwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCitzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4dDRfcmVhZF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQkgICAgICBleHQ0X2dyb3VwX3QgYmxvY2tfZ3JvdXApOwogZXh0ZXJuIHVuc2lnbmVkIGV4dDRfaW5pdF9ibG9ja19iaXRtYXAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQkgICAgICAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaWFsbG9jLmMgYi9mcy9leHQ0L2lhbGxvYy5jCmluZGV4IGM2ZWZiYWIwLi5hOTJlYjMwIDEwMDY0NAotLS0gYS9mcy9leHQ0L2lhbGxvYy5jCisrKyBiL2ZzL2V4dDQvaWFsbG9jLmMKQEAgLTE1Nyw2ICsxNTcsNyBAQAogCXN0cnVjdCBleHQ0X3N1cGVyX2Jsb2NrICogZXM7CiAJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpOwogCWludCBmYXRhbCA9IDAsIGVycjsKKwlleHQ0X2dyb3VwX3QgZmxleF9ncm91cDsKIAogCWlmIChhdG9taWNfcmVhZCgmaW5vZGUtPmlfY291bnQpID4gMSkgewogCQlwcmludGsgKCJleHQ0X2ZyZWVfaW5vZGU6IGlub2RlIGhhcyBjb3VudD0lZFxuIiwKQEAgLTIzMiw2ICsyMzMsMTIgQEAKIAkJCWlmIChpc19kaXJlY3RvcnkpCiAJCQkJcGVyY3B1X2NvdW50ZXJfZGVjKCZzYmktPnNfZGlyc19jb3VudGVyKTsKIAorCQkJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCQkJZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGJsb2NrX2dyb3VwKTsKKwkJCQlzcGluX2xvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCQkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfaW5vZGVzKys7CisJCQkJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBmbGV4X2dyb3VwKSk7CisJCQl9CiAJCX0KIAkJQlVGRkVSX1RSQUNFKGJoMiwgImNhbGwgZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhIik7CiAJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoMik7CkBAIC0yODYsNiArMjkzLDgwIEBACiAJcmV0dXJuIHJldDsKIH0KIAorI2RlZmluZSBmcmVlX2Jsb2NrX3JhdGlvIDEwCisKK3N0YXRpYyBpbnQgZmluZF9ncm91cF9mbGV4KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBpbm9kZSAqcGFyZW50LAorCQkJICAgZXh0NF9ncm91cF90ICpiZXN0X2dyb3VwKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKKwlzdHJ1Y3QgZmxleF9ncm91cHMgKmZsZXhfZ3JvdXAgPSBzYmktPnNfZmxleF9ncm91cHM7CisJZXh0NF9ncm91cF90IHBhcmVudF9ncm91cCA9IEVYVDRfSShwYXJlbnQpLT5pX2Jsb2NrX2dyb3VwOworCWV4dDRfZ3JvdXBfdCBwYXJlbnRfZmJnX2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwgcGFyZW50X2dyb3VwKTsKKwlleHQ0X2dyb3VwX3Qgbmdyb3VwcyA9IHNiaS0+c19ncm91cHNfY291bnQ7CisJaW50IGZsZXhfc2l6ZSA9IGV4dDRfZmxleF9iZ19zaXplKHNiaSk7CisJZXh0NF9ncm91cF90IGJlc3RfZmxleCA9IHBhcmVudF9mYmdfZ3JvdXA7CisJaW50IGJsb2Nrc19wZXJfZmxleCA9IHNiaS0+c19ibG9ja3NfcGVyX2dyb3VwICogZmxleF9zaXplOworCWludCBmbGV4YmdfZnJlZV9ibG9ja3M7CisJaW50IGZsZXhfZnJlZWJfcmF0aW87CisJZXh0NF9ncm91cF90IG5fZmJnX2dyb3VwczsKKwlleHQ0X2dyb3VwX3QgaTsKKworCW5fZmJnX2dyb3VwcyA9IChzYmktPnNfZ3JvdXBzX2NvdW50ICsgZmxleF9zaXplIC0gMSkgPj4KKwkJc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXg7CisKK2ZpbmRfY2xvc2VfdG9fcGFyZW50OgorCWZsZXhiZ19mcmVlX2Jsb2NrcyA9IGZsZXhfZ3JvdXBbYmVzdF9mbGV4XS5mcmVlX2Jsb2NrczsKKwlmbGV4X2ZyZWViX3JhdGlvID0gZmxleGJnX2ZyZWVfYmxvY2tzICogMTAwIC8gYmxvY2tzX3Blcl9mbGV4OworCWlmIChmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9pbm9kZXMgJiYKKwkgICAgZmxleF9mcmVlYl9yYXRpbyA+IGZyZWVfYmxvY2tfcmF0aW8pCisJCWdvdG8gZm91bmRfZmxleGJnOworCisJaWYgKGJlc3RfZmxleCAmJiBiZXN0X2ZsZXggPT0gcGFyZW50X2ZiZ19ncm91cCkgeworCQliZXN0X2ZsZXgtLTsKKwkJZ290byBmaW5kX2Nsb3NlX3RvX3BhcmVudDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbl9mYmdfZ3JvdXBzOyBpKyspIHsKKwkJaWYgKGkgPT0gcGFyZW50X2ZiZ19ncm91cCB8fCBpID09IHBhcmVudF9mYmdfZ3JvdXAgLSAxKQorCQkJY29udGludWU7CisKKwkJZmxleGJnX2ZyZWVfYmxvY2tzID0gZmxleF9ncm91cFtpXS5mcmVlX2Jsb2NrczsKKwkJZmxleF9mcmVlYl9yYXRpbyA9IGZsZXhiZ19mcmVlX2Jsb2NrcyAqIDEwMCAvIGJsb2Nrc19wZXJfZmxleDsKKworCQlpZiAoZmxleF9mcmVlYl9yYXRpbyA+IGZyZWVfYmxvY2tfcmF0aW8gJiYKKwkJICAgIGZsZXhfZ3JvdXBbaV0uZnJlZV9pbm9kZXMpIHsKKwkJCWJlc3RfZmxleCA9IGk7CisJCQlnb3RvIGZvdW5kX2ZsZXhiZzsKKwkJfQorCisJCWlmIChiZXN0X2ZsZXggPCAwIHx8CisJCSAgICAoZmxleF9ncm91cFtpXS5mcmVlX2Jsb2NrcyA+CisJCSAgICAgZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfYmxvY2tzICYmCisJCSAgICAgZmxleF9ncm91cFtpXS5mcmVlX2lub2RlcykpCisJCQliZXN0X2ZsZXggPSBpOworCX0KKworCWlmICghZmxleF9ncm91cFtiZXN0X2ZsZXhdLmZyZWVfaW5vZGVzIHx8CisJICAgICFmbGV4X2dyb3VwW2Jlc3RfZmxleF0uZnJlZV9ibG9ja3MpCisJCXJldHVybiAtMTsKKworZm91bmRfZmxleGJnOgorCWZvciAoaSA9IGJlc3RfZmxleCAqIGZsZXhfc2l6ZTsgaSA8IG5ncm91cHMgJiYKKwkJICAgICBpIDwgKGJlc3RfZmxleCArIDEpICogZmxleF9zaXplOyBpKyspIHsKKwkJZGVzYyA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGksICZiaCk7CisJCWlmIChsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2lub2Rlc19jb3VudCkpIHsKKwkJCSpiZXN0X2dyb3VwID0gaTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCisJcmV0dXJuIC0xOworb3V0OgorCXJldHVybiAwOworfQorCiAvKgogICogT3Jsb3YncyBhbGxvY2F0b3IgZm9yIGRpcmVjdG9yaWVzLgogICoKQEAgLTUwMSw2ICs1ODIsNyBAQAogCXN0cnVjdCBpbm9kZSAqcmV0OwogCWV4dDRfZ3JvdXBfdCBpOwogCWludCBmcmVlID0gMDsKKwlleHQ0X2dyb3VwX3QgZmxleF9ncm91cDsKIAogCS8qIENhbm5vdCBjcmVhdGUgZmlsZXMgaW4gYSBkZWxldGVkIGRpcmVjdG9yeSAqLwogCWlmICghZGlyIHx8ICFkaXItPmlfbmxpbmspCkBAIC01MTQsNiArNTk2LDEyIEBACiAKIAlzYmkgPSBFWFQ0X1NCKHNiKTsKIAllcyA9IHNiaS0+c19lczsKKworCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlyZXQyID0gZmluZF9ncm91cF9mbGV4KHNiLCBkaXIsICZncm91cCk7CisJCWdvdG8gZ290X2dyb3VwOworCX0KKwogCWlmIChTX0lTRElSKG1vZGUpKSB7CiAJCWlmICh0ZXN0X29wdCAoc2IsIE9MREFMTE9DKSkKIAkJCXJldDIgPSBmaW5kX2dyb3VwX2RpcihzYiwgZGlyLCAmZ3JvdXApOwpAQCAtNTIyLDYgKzYxMCw3IEBACiAJfSBlbHNlCiAJCXJldDIgPSBmaW5kX2dyb3VwX290aGVyKHNiLCBkaXIsICZncm91cCk7CiAKK2dvdF9ncm91cDoKIAllcnIgPSAtRU5PU1BDOwogCWlmIChyZXQyID09IC0xKQogCQlnb3RvIG91dDsKQEAgLTYwMCw3ICs2ODksNyBAQAogCS8qIFdlIG1heSBoYXZlIHRvIGluaXRpYWxpemUgdGhlIGJsb2NrIGJpdG1hcCBpZiBpdCBpc24ndCBhbHJlYWR5ICovCiAJaWYgKEVYVDRfSEFTX1JPX0NPTVBBVF9GRUFUVVJFKHNiLCBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX0dEVF9DU1VNKSAmJgogCSAgICBnZHAtPmJnX2ZsYWdzICYgY3B1X3RvX2xlMTYoRVhUNF9CR19CTE9DS19VTklOSVQpKSB7Ci0JCXN0cnVjdCBidWZmZXJfaGVhZCAqYmxvY2tfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOworCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJsb2NrX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOwogCiAJCUJVRkZFUl9UUkFDRShibG9ja19iaCwgImdldCBibG9jayBiaXRtYXAgYWNjZXNzIik7CiAJCWVyciA9IGV4dDRfam91cm5hbF9nZXRfd3JpdGVfYWNjZXNzKGhhbmRsZSwgYmxvY2tfYmgpOwpAQCAtNjc2LDYgKzc2NSwxMyBAQAogCQlwZXJjcHVfY291bnRlcl9pbmMoJnNiaS0+c19kaXJzX2NvdW50ZXIpOwogCXNiLT5zX2RpcnQgPSAxOwogCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWZsZXhfZ3JvdXAgPSBleHQ0X2ZsZXhfZ3JvdXAoc2JpLCBncm91cCk7CisJCXNwaW5fbG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwkJc2JpLT5zX2ZsZXhfZ3JvdXBzW2ZsZXhfZ3JvdXBdLmZyZWVfaW5vZGVzLS07CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KKwogCWlub2RlLT5pX3VpZCA9IGN1cnJlbnQtPmZzdWlkOwogCWlmICh0ZXN0X29wdCAoc2IsIEdSUElEKSkKIAkJaW5vZGUtPmlfZ2lkID0gZGlyLT5pX2dpZDsKQEAgLTc0MCwxNCArODM2LDEwIEBACiAJCWdvdG8gZmFpbF9mcmVlX2Ryb3A7CiAKIAlpZiAodGVzdF9vcHQoc2IsIEVYVEVOVFMpKSB7Ci0JCS8qIHNldCBleHRlbnQgZmxhZyBvbmx5IGZvciBkaXJldG9yeSwgZmlsZSBhbmQgbm9ybWFsIHN5bWxpbmsqLworCQkvKiBzZXQgZXh0ZW50IGZsYWcgb25seSBmb3IgZGlyZWN0b3J5LCBmaWxlIGFuZCBub3JtYWwgc3ltbGluayovCiAJCWlmIChTX0lTRElSKG1vZGUpIHx8IFNfSVNSRUcobW9kZSkgfHwgU19JU0xOSyhtb2RlKSkgewogCQkJRVhUNF9JKGlub2RlKS0+aV9mbGFncyB8PSBFWFQ0X0VYVEVOVFNfRkw7CiAJCQlleHQ0X2V4dF90cmVlX2luaXQoaGFuZGxlLCBpbm9kZSk7Ci0JCQllcnIgPSBleHQ0X3VwZGF0ZV9pbmNvbXBhdF9mZWF0dXJlKGhhbmRsZSwgc2IsCi0JCQkJCUVYVDRfRkVBVFVSRV9JTkNPTVBBVF9FWFRFTlRTKTsKLQkJCWlmIChlcnIpCi0JCQkJZ290byBmYWlsX2ZyZWVfZHJvcDsKIAkJfQogCX0KIApAQCAtODE3LDYgKzkwOSwxNCBAQAogCWlmIChJU19FUlIoaW5vZGUpKQogCQlnb3RvIGlnZXRfZmFpbGVkOwogCisJLyoKKwkgKiBJZiB0aGUgb3JwaGFucyBoYXMgaV9ubGlua3MgPiAwIHRoZW4gaXQgc2hvdWxkIGJlIGFibGUgdG8gYmUKKwkgKiB0cnVuY2F0ZWQsIG90aGVyd2lzZSBpdCB3b24ndCBiZSByZW1vdmVkIGZyb20gdGhlIG9ycGhhbiBsaXN0CisJICogZHVyaW5nIHByb2Nlc3NpbmcgYW5kIGFuIGluZmluaXRlIGxvb3Agd2lsbCByZXN1bHQuCisJICovCisJaWYgKGlub2RlLT5pX25saW5rICYmICFleHQ0X2Nhbl90cnVuY2F0ZShpbm9kZSkpCisJCWdvdG8gYmFkX29ycGhhbjsKKwogCWlmIChORVhUX09SUEhBTihpbm9kZSkgPiBtYXhfaW5vKQogCQlnb3RvIGJhZF9vcnBoYW47CiAJYnJlbHNlKGJpdG1hcF9iaCk7CkBAIC04MzgsNiArOTM4LDcgQEAKIAkJcHJpbnRrKEtFUk5fTk9USUNFICJORVhUX09SUEhBTihpbm9kZSk9JXVcbiIsCiAJCSAgICAgICBORVhUX09SUEhBTihpbm9kZSkpOwogCQlwcmludGsoS0VSTl9OT1RJQ0UgIm1heF9pbm89JWx1XG4iLCBtYXhfaW5vKTsKKwkJcHJpbnRrKEtFUk5fTk9USUNFICJpX25saW5rPSV1XG4iLCBpbm9kZS0+aV9ubGluayk7CiAJCS8qIEF2b2lkIGZyZWVpbmcgYmxvY2tzIGlmIHdlIGdvdCBhIGJhZCBkZWxldGVkIGlub2RlICovCiAJCWlmIChpbm9kZS0+aV9ubGluayA9PSAwKQogCQkJaW5vZGUtPmlfYmxvY2tzID0gMDsKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvaW5vZGUuYyBiL2ZzL2V4dDQvaW5vZGUuYwppbmRleCA4ZDk3MDc3Li44Y2EyNzYzIDEwMDY0NAotLS0gYS9mcy9leHQ0L2lub2RlLmMKKysrIGIvZnMvZXh0NC9pbm9kZS5jCkBAIC0zMiwxMiArMzIsMjMgQEAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9idWZmZXJfaGVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L3dyaXRlYmFjay5oPgorI2luY2x1ZGUgPGxpbnV4L3BhZ2V2ZWMuaD4KICNpbmNsdWRlIDxsaW51eC9tcGFnZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGxpbnV4L2Jpby5oPgogI2luY2x1ZGUgImV4dDRfamJkMi5oIgogI2luY2x1ZGUgInhhdHRyLmgiCiAjaW5jbHVkZSAiYWNsLmgiCisjaW5jbHVkZSAiZXh0NF9leHRlbnRzLmgiCisKK3N0YXRpYyBpbmxpbmUgaW50IGV4dDRfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLAorCQkJCQkgICAgICBsb2ZmX3QgbmV3X3NpemUpCit7CisJcmV0dXJuIGpiZDJfam91cm5hbF9iZWdpbl9vcmRlcmVkX3RydW5jYXRlKCZFWFQ0X0koaW5vZGUpLT5qaW5vZGUsCisJCQkJCQkgICBuZXdfc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkIGV4dDRfaW52YWxpZGF0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KTsKIAogLyoKICAqIFRlc3Qgd2hldGhlciBhbiBpbm9kZSBpcyBhIGZhc3Qgc3ltbGluay4KQEAgLTE4MSw2ICsxOTIsOCBAQAogewogCWhhbmRsZV90ICpoYW5kbGU7CiAKKwlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCisJCWV4dDRfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShpbm9kZSwgMCk7CiAJdHJ1bmNhdGVfaW5vZGVfcGFnZXMoJmlub2RlLT5pX2RhdGEsIDApOwogCiAJaWYgKGlzX2JhZF9pbm9kZShpbm9kZSkpCkBAIC01MDgsMTEgKzUyMSwxMiBAQAogICoJCWRpcmVjdCBibG9ja3MKICAqLwogc3RhdGljIGludCBleHQ0X2FsbG9jX2Jsb2NrcyhoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJZXh0NF9mc2Jsa190IGdvYWwsIGludCBpbmRpcmVjdF9ibGtzLCBpbnQgYmxrcywKLQkJCWV4dDRfZnNibGtfdCBuZXdfYmxvY2tzWzRdLCBpbnQgKmVycikKKwkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGV4dDRfZnNibGtfdCBnb2FsLAorCQkJCWludCBpbmRpcmVjdF9ibGtzLCBpbnQgYmxrcywKKwkJCQlleHQ0X2ZzYmxrX3QgbmV3X2Jsb2Nrc1s0XSwgaW50ICplcnIpCiB7CiAJaW50IHRhcmdldCwgaTsKLQl1bnNpZ25lZCBsb25nIGNvdW50ID0gMDsKKwl1bnNpZ25lZCBsb25nIGNvdW50ID0gMCwgYmxrX2FsbG9jYXRlZCA9IDA7CiAJaW50IGluZGV4ID0gMDsKIAlleHQ0X2ZzYmxrX3QgY3VycmVudF9ibG9jayA9IDA7CiAJaW50IHJldCA9IDA7CkBAIC01MjUsMTIgKzUzOSwxMyBAQAogCSAqIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sgb2YgdGhpcyBicmFuY2guICBUaGF0J3MgdGhlCiAJICogbWluaW11bSBudW1iZXIgb2YgYmxvY2tzIG5lZWQgdG8gYWxsb2NhdGUocmVxdWlyZWQpCiAJICovCi0JdGFyZ2V0ID0gYmxrcyArIGluZGlyZWN0X2Jsa3M7Ci0KLQl3aGlsZSAoMSkgeworCS8qIGZpcnN0IHdlIHRyeSB0byBhbGxvY2F0ZSB0aGUgaW5kaXJlY3QgYmxvY2tzICovCisJdGFyZ2V0ID0gaW5kaXJlY3RfYmxrczsKKwl3aGlsZSAodGFyZ2V0ID4gMCkgewogCQljb3VudCA9IHRhcmdldDsKIAkJLyogYWxsb2NhdGluZyBibG9ja3MgZm9yIGluZGlyZWN0IGJsb2NrcyBhbmQgZGlyZWN0IGJsb2NrcyAqLwotCQljdXJyZW50X2Jsb2NrID0gZXh0NF9uZXdfYmxvY2tzKGhhbmRsZSxpbm9kZSxnb2FsLCZjb3VudCxlcnIpOworCQljdXJyZW50X2Jsb2NrID0gZXh0NF9uZXdfbWV0YV9ibG9ja3MoaGFuZGxlLCBpbm9kZSwKKwkJCQkJCQlnb2FsLCAmY291bnQsIGVycik7CiAJCWlmICgqZXJyKQogCQkJZ290byBmYWlsZWRfb3V0OwogCkBAIC01NDAsMTYgKzU1NSw0OCBAQAogCQkJbmV3X2Jsb2Nrc1tpbmRleCsrXSA9IGN1cnJlbnRfYmxvY2srKzsKIAkJCWNvdW50LS07CiAJCX0KLQotCQlpZiAoY291bnQgPiAwKQorCQlpZiAoY291bnQgPiAwKSB7CisJCQkvKgorCQkJICogc2F2ZSB0aGUgbmV3IGJsb2NrIG51bWJlcgorCQkJICogZm9yIHRoZSBmaXJzdCBkaXJlY3QgYmxvY2sKKwkJCSAqLworCQkJbmV3X2Jsb2Nrc1tpbmRleF0gPSBjdXJyZW50X2Jsb2NrOworCQkJcHJpbnRrKEtFUk5fSU5GTyAiJXMgcmV0dXJuZWQgbW9yZSBibG9ja3MgdGhhbiAiCisJCQkJCQkicmVxdWVzdGVkXG4iLCBfX2Z1bmNfXyk7CisJCQlXQVJOX09OKDEpOwogCQkJYnJlYWs7CisJCX0KIAl9CiAKLQkvKiBzYXZlIHRoZSBuZXcgYmxvY2sgbnVtYmVyIGZvciB0aGUgZmlyc3QgZGlyZWN0IGJsb2NrICovCi0JbmV3X2Jsb2Nrc1tpbmRleF0gPSBjdXJyZW50X2Jsb2NrOwotCisJdGFyZ2V0ID0gYmxrcyAtIGNvdW50IDsKKwlibGtfYWxsb2NhdGVkID0gY291bnQ7CisJaWYgKCF0YXJnZXQpCisJCWdvdG8gYWxsb2NhdGVkOworCS8qIE5vdyBhbGxvY2F0ZSBkYXRhIGJsb2NrcyAqLworCWNvdW50ID0gdGFyZ2V0OworCS8qIGFsbG9jYXRpbmcgYmxvY2tzIGZvciBkYXRhIGJsb2NrcyAqLworCWN1cnJlbnRfYmxvY2sgPSBleHQ0X25ld19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLAorCQkJCQkJZ29hbCwgJmNvdW50LCBlcnIpOworCWlmICgqZXJyICYmICh0YXJnZXQgPT0gYmxrcykpIHsKKwkJLyoKKwkJICogaWYgdGhlIGFsbG9jYXRpb24gZmFpbGVkIGFuZCB3ZSBkaWRuJ3QgYWxsb2NhdGUKKwkJICogYW55IGJsb2NrcyBiZWZvcmUKKwkJICovCisJCWdvdG8gZmFpbGVkX291dDsKKwl9CisJaWYgKCEqZXJyKSB7CisJCWlmICh0YXJnZXQgPT0gYmxrcykgeworCQkvKgorCQkgKiBzYXZlIHRoZSBuZXcgYmxvY2sgbnVtYmVyCisJCSAqIGZvciB0aGUgZmlyc3QgZGlyZWN0IGJsb2NrCisJCSAqLworCQkJbmV3X2Jsb2Nrc1tpbmRleF0gPSBjdXJyZW50X2Jsb2NrOworCQl9CisJCWJsa19hbGxvY2F0ZWQgKz0gY291bnQ7CisJfQorYWxsb2NhdGVkOgogCS8qIHRvdGFsIG51bWJlciBvZiBibG9ja3MgYWxsb2NhdGVkIGZvciBkaXJlY3QgYmxvY2tzICovCi0JcmV0ID0gY291bnQ7CisJcmV0ID0gYmxrX2FsbG9jYXRlZDsKIAkqZXJyID0gMDsKIAlyZXR1cm4gcmV0OwogZmFpbGVkX291dDoKQEAgLTU4NCw4ICs2MzEsOSBAQAogICoJYXMgZGVzY3JpYmVkIGFib3ZlIGFuZCByZXR1cm4gMC4KICAqLwogc3RhdGljIGludCBleHQ0X2FsbG9jX2JyYW5jaChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAotCQkJaW50IGluZGlyZWN0X2Jsa3MsIGludCAqYmxrcywgZXh0NF9mc2Jsa190IGdvYWwsCi0JCQlleHQ0X2xibGtfdCAqb2Zmc2V0cywgSW5kaXJlY3QgKmJyYW5jaCkKKwkJCQlleHQ0X2xibGtfdCBpYmxvY2ssIGludCBpbmRpcmVjdF9ibGtzLAorCQkJCWludCAqYmxrcywgZXh0NF9mc2Jsa190IGdvYWwsCisJCQkJZXh0NF9sYmxrX3QgKm9mZnNldHMsIEluZGlyZWN0ICpicmFuY2gpCiB7CiAJaW50IGJsb2Nrc2l6ZSA9IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZTsKIAlpbnQgaSwgbiA9IDA7CkBAIC01OTUsNyArNjQzLDcgQEAKIAlleHQ0X2ZzYmxrX3QgbmV3X2Jsb2Nrc1s0XTsKIAlleHQ0X2ZzYmxrX3QgY3VycmVudF9ibG9jazsKIAotCW51bSA9IGV4dDRfYWxsb2NfYmxvY2tzKGhhbmRsZSwgaW5vZGUsIGdvYWwsIGluZGlyZWN0X2Jsa3MsCisJbnVtID0gZXh0NF9hbGxvY19ibG9ja3MoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBnb2FsLCBpbmRpcmVjdF9ibGtzLAogCQkJCSpibGtzLCBuZXdfYmxvY2tzLCAmZXJyKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwpAQCAtNzk5LDYgKzg0Nyw3IEBACiAJc3RydWN0IGV4dDRfaW5vZGVfaW5mbyAqZWkgPSBFWFQ0X0koaW5vZGUpOwogCWludCBjb3VudCA9IDA7CiAJZXh0NF9mc2Jsa190IGZpcnN0X2Jsb2NrID0gMDsKKwlsb2ZmX3QgZGlza3NpemU7CiAKIAogCUpfQVNTRVJUKCEoRVhUNF9JKGlub2RlKS0+aV9mbGFncyAmIEVYVDRfRVhURU5UU19GTCkpOwpAQCAtODU1LDggKzkwNCw5IEBACiAJLyoKIAkgKiBCbG9jayBvdXQgZXh0NF90cnVuY2F0ZSB3aGlsZSB3ZSBhbHRlciB0aGUgdHJlZQogCSAqLwotCWVyciA9IGV4dDRfYWxsb2NfYnJhbmNoKGhhbmRsZSwgaW5vZGUsIGluZGlyZWN0X2Jsa3MsICZjb3VudCwgZ29hbCwKLQkJCQlvZmZzZXRzICsgKHBhcnRpYWwgLSBjaGFpbiksIHBhcnRpYWwpOworCWVyciA9IGV4dDRfYWxsb2NfYnJhbmNoKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgaW5kaXJlY3RfYmxrcywKKwkJCQkJJmNvdW50LCBnb2FsLAorCQkJCQlvZmZzZXRzICsgKHBhcnRpYWwgLSBjaGFpbiksIHBhcnRpYWwpOwogCiAJLyoKIAkgKiBUaGUgZXh0NF9zcGxpY2VfYnJhbmNoIGNhbGwgd2lsbCBmcmVlIGFuZCBmb3JnZXQgYW55IGJ1ZmZlcnMKQEAgLTg3Myw4ICs5MjMsMTMgQEAKIAkgKiBwcm90ZWN0IGl0IGlmIHlvdSdyZSBhYm91dCB0byBpbXBsZW1lbnQgY29uY3VycmVudAogCSAqIGV4dDRfZ2V0X2Jsb2NrKCkgLWJ6enoKIAkqLwotCWlmICghZXJyICYmIGV4dGVuZF9kaXNrc2l6ZSAmJiBpbm9kZS0+aV9zaXplID4gZWktPmlfZGlza3NpemUpCi0JCWVpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKKwlpZiAoIWVyciAmJiBleHRlbmRfZGlza3NpemUpIHsKKwkJZGlza3NpemUgPSAoKGxvZmZfdCkgaWJsb2NrICsgY291bnQpIDw8IGlub2RlLT5pX2Jsa2JpdHM7CisJCWlmIChkaXNrc2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkKKwkJCWRpc2tzaXplID0gaV9zaXplX3JlYWQoaW5vZGUpOworCQlpZiAoZGlza3NpemUgPiBlaS0+aV9kaXNrc2l6ZSkKKwkJCWVpLT5pX2Rpc2tzaXplID0gZGlza3NpemU7CisJfQogCWlmIChlcnIpCiAJCWdvdG8gY2xlYW51cDsKIApAQCAtOTM0LDcgKzk4OSw3IEBACiAgKi8KIGludCBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzZWN0b3JfdCBibG9jaywKIAkJCXVuc2lnbmVkIGxvbmcgbWF4X2Jsb2Nrcywgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwKLQkJCWludCBjcmVhdGUsIGludCBleHRlbmRfZGlza3NpemUpCisJCQlpbnQgY3JlYXRlLCBpbnQgZXh0ZW5kX2Rpc2tzaXplLCBpbnQgZmxhZykKIHsKIAlpbnQgcmV0dmFsOwogCkBAIC05NzUsNiArMTAzMCwxNSBAQAogCSAqIHdpdGggY3JlYXRlID09IDEgZmxhZy4KIAkgKi8KIAlkb3duX3dyaXRlKCgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSkpOworCisJLyoKKwkgKiBpZiB0aGUgY2FsbGVyIGlzIGZyb20gZGVsYXllZCBhbGxvY2F0aW9uIHdyaXRlb3V0IHBhdGgKKwkgKiB3ZSBoYXZlIGFscmVhZHkgcmVzZXJ2ZWQgZnMgYmxvY2tzIGZvciBhbGxvY2F0aW9uCisJICogbGV0IHRoZSB1bmRlcmx5aW5nIGdldF9ibG9jaygpIGZ1bmN0aW9uIGtub3cgdG8KKwkgKiBhdm9pZCBkb3VibGUgYWNjb3VudGluZworCSAqLworCWlmIChmbGFnKQorCQlFWFQ0X0koaW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcgPSAxOwogCS8qCiAJICogV2UgbmVlZCB0byBjaGVjayBmb3IgRVhUNCBoZXJlIGJlY2F1c2UgbWlncmF0ZQogCSAqIGNvdWxkIGhhdmUgY2hhbmdlZCB0aGUgaW5vZGUgdHlwZSBpbiBiZXR3ZWVuCkBAIC05OTYsNiArMTA2MCwxOCBAQAogCQkJCQkJCX5FWFQ0X0VYVF9NSUdSQVRFOwogCQl9CiAJfQorCisJaWYgKGZsYWcpIHsKKwkJRVhUNF9JKGlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnID0gMDsKKwkJLyoKKwkJICogVXBkYXRlIHJlc2VydmVkIGJsb2Nrcy9tZXRhZGF0YSBibG9ja3MKKwkJICogYWZ0ZXIgc3VjY2Vzc2Z1bCBibG9jayBhbGxvY2F0aW9uCisJCSAqIHdoaWNoIHdlcmUgZGVmZXJyZWQgdGlsbCBub3cKKwkJICovCisJCWlmICgocmV0dmFsID4gMCkgJiYgYnVmZmVyX2RlbGF5KGJoKSkKKwkJCWV4dDRfZGFfcmVsZWFzZV9zcGFjZShpbm9kZSwgcmV0dmFsLCAwKTsKKwl9CisKIAl1cF93cml0ZSgoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pKTsKIAlyZXR1cm4gcmV0dmFsOwogfQpAQCAtMTAyMSw3ICsxMDk3LDcgQEAKIAl9CiAKIAlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChoYW5kbGUsIGlub2RlLCBpYmxvY2ssCi0JCQkJCW1heF9ibG9ja3MsIGJoX3Jlc3VsdCwgY3JlYXRlLCAwKTsKKwkJCQkJbWF4X2Jsb2NrcywgYmhfcmVzdWx0LCBjcmVhdGUsIDAsIDApOwogCWlmIChyZXQgPiAwKSB7CiAJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKIAkJcmV0ID0gMDsKQEAgLTEwNDcsNyArMTEyMyw3IEBACiAJZHVtbXkuYl9ibG9ja25yID0gLTEwMDA7CiAJYnVmZmVyX3RyYWNlX2luaXQoJmR1bW15LmJfaGlzdG9yeSk7CiAJZXJyID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgYmxvY2ssIDEsCi0JCQkJCSZkdW1teSwgY3JlYXRlLCAxKTsKKwkJCQkJJmR1bW15LCBjcmVhdGUsIDEsIDApOwogCS8qCiAJICogZXh0NF9nZXRfYmxvY2tzX2hhbmRsZSgpIHJldHVybnMgbnVtYmVyIG9mIGJsb2NrcwogCSAqIG1hcHBlZC4gMCBpbiBjYXNlIG9mIGEgSE9MRS4KQEAgLTEyMDMsMTkgKzEyNzksMjAgQEAKICAJdG8gPSBmcm9tICsgbGVuOwogCiByZXRyeToKLSAJcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGluZGV4KTsKLSAJaWYgKCFwYWdlKQotIAkJcmV0dXJuIC1FTk9NRU07Ci0gCSpwYWdlcCA9IHBhZ2U7Ci0KICAgCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgbmVlZGVkX2Jsb2Nrcyk7CiAgIAlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLSAJCXVubG9ja19wYWdlKHBhZ2UpOwotIAkJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogICAJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKICAgCQlnb3RvIG91dDsKIAl9CiAKKwlwYWdlID0gX19ncmFiX2NhY2hlX3BhZ2UobWFwcGluZywgaW5kZXgpOworCWlmICghcGFnZSkgeworCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisJKnBhZ2VwID0gcGFnZTsKKwogCXJldCA9IGJsb2NrX3dyaXRlX2JlZ2luKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBmbGFncywgcGFnZXAsIGZzZGF0YSwKIAkJCQkJCQlleHQ0X2dldF9ibG9jayk7CiAKQEAgLTEyMjUsOCArMTMwMiw4IEBACiAJfQogCiAJaWYgKHJldCkgewotCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogIAkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAgCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CiAJfQogCkBAIC0xMjM2LDE1ICsxMzEzLDYgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKLXsKLQlpbnQgZXJyID0gamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7Ci0JaWYgKGVycikKLQkJZXh0NF9qb3VybmFsX2Fib3J0X2hhbmRsZShfX2Z1bmNfXywgX19mdW5jX18sCi0JCQkJCQliaCwgaGFuZGxlLCBlcnIpOwotCXJldHVybiBlcnI7Ci19Ci0KIC8qIEZvciB3cml0ZV9lbmQoKSBpbiBkYXRhPWpvdXJuYWwgbW9kZSAqLwogc3RhdGljIGludCB3cml0ZV9lbmRfZm4oaGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKIHsKQEAgLTEyNTUsMjkgKzEzMjMsNiBAQAogfQogCiAvKgotICogR2VuZXJpYyB3cml0ZV9lbmQgaGFuZGxlciBmb3Igb3JkZXJlZCBhbmQgd3JpdGViYWNrIGV4dDQgam91cm5hbCBtb2Rlcy4KLSAqIFdlIGNhbid0IHVzZSBnZW5lcmljX3dyaXRlX2VuZCwgYmVjYXVzZSB0aGF0IHVubG9ja3MgdGhlIHBhZ2UgYW5kIHdlIG5lZWQgdG8KLSAqIHVubG9jayB0aGUgcGFnZSBhZnRlciBleHQ0X2pvdXJuYWxfc3RvcCwgYnV0IGV4dDRfam91cm5hbF9zdG9wIG11c3QgcnVuCi0gKiBhZnRlciBibG9ja193cml0ZV9lbmQuCi0gKi8KLXN0YXRpYyBpbnQgZXh0NF9nZW5lcmljX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwKLQkJCQlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKLQkJCQlsb2ZmX3QgcG9zLCB1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwKLQkJCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgdm9pZCAqZnNkYXRhKQotewotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7Ci0KLQljb3BpZWQgPSBibG9ja193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwgcGFnZSwgZnNkYXRhKTsKLQotCWlmIChwb3MrY29waWVkID4gaW5vZGUtPmlfc2l6ZSkgewotCQlpX3NpemVfd3JpdGUoaW5vZGUsIHBvcytjb3BpZWQpOwotCQltYXJrX2lub2RlX2RpcnR5KGlub2RlKTsKLQl9Ci0KLQlyZXR1cm4gY29waWVkOwotfQotCi0vKgogICogV2UgbmVlZCB0byBwaWNrIHVwIHRoZSBuZXcgaW5vZGUgc2l6ZSB3aGljaCBnZW5lcmljX2NvbW1pdF93cml0ZSBnYXZlIHVzCiAgKiBgZmlsZScgY2FuIGJlIE5VTEwgLSBlZywgd2hlbiBjYWxsZWQgZnJvbSBwYWdlX3N5bWxpbmsoKS4KICAqCkBAIC0xMjkwLDE1ICsxMzM1LDE0IEBACiAJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKIHsKIAloYW5kbGVfdCAqaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAl1bnNpZ25lZCBmcm9tLCB0bzsKIAlpbnQgcmV0ID0gMCwgcmV0MjsKIAogCWZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7CiAJdG8gPSBmcm9tICsgbGVuOwogCi0JcmV0ID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZmZlcnMocGFnZSksCi0JCWZyb20sIHRvLCBOVUxMLCBleHQ0X2pvdXJuYWxfZGlydHlfZGF0YSk7CisJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7CiAKIAlpZiAocmV0ID09IDApIHsKIAkJLyoKQEAgLTEzMTEsNyArMTM1NSw3IEBACiAJCW5ld19pX3NpemUgPSBwb3MgKyBjb3BpZWQ7CiAJCWlmIChuZXdfaV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkKIAkJCUVYVDRfSShpbm9kZSktPmlfZGlza3NpemUgPSBuZXdfaV9zaXplOwotCQlyZXQyID0gZXh0NF9nZW5lcmljX3dyaXRlX2VuZChmaWxlLCBtYXBwaW5nLCBwb3MsIGxlbiwgY29waWVkLAorCQlyZXQyID0gZ2VuZXJpY193cml0ZV9lbmQoZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGNvcGllZCwKIAkJCQkJCQlwYWdlLCBmc2RhdGEpOwogCQljb3BpZWQgPSByZXQyOwogCQlpZiAocmV0MiA8IDApCkBAIC0xMzIwLDggKzEzNjQsNiBAQAogCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCWlmICghcmV0KQogCQlyZXQgPSByZXQyOwotCXVubG9ja19wYWdlKHBhZ2UpOwotCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAogCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7CiB9CkBAIC0xMzMyLDcgKzEzNzQsNyBAQAogCQkJCXN0cnVjdCBwYWdlICpwYWdlLCB2b2lkICpmc2RhdGEpCiB7CiAJaGFuZGxlX3QgKmhhbmRsZSA9IGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpOwotCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX21hcHBpbmctPmhvc3Q7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1hcHBpbmctPmhvc3Q7CiAJaW50IHJldCA9IDAsIHJldDI7CiAJbG9mZl90IG5ld19pX3NpemU7CiAKQEAgLTEzNDAsNyArMTM4Miw3IEBACiAJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKQogCQlFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplID0gbmV3X2lfc2l6ZTsKIAotCXJldDIgPSBleHQ0X2dlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCisJcmV0MiA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCiAJCQkJCQkJcGFnZSwgZnNkYXRhKTsKIAljb3BpZWQgPSByZXQyOwogCWlmIChyZXQyIDwgMCkKQEAgLTEzNDksOCArMTM5MSw2IEBACiAJcmV0MiA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IHJldDI7Ci0JdW5sb2NrX3BhZ2UocGFnZSk7Ci0JcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOwogCiAJcmV0dXJuIHJldCA/IHJldCA6IGNvcGllZDsKIH0KQEAgLTEzODksMTQgKzE0MjksOTY1IEBACiAJCQlyZXQgPSByZXQyOwogCX0KIAorCXVubG9ja19wYWdlKHBhZ2UpOwogCXJldDIgPSBleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOwogCWlmICghcmV0KQogCQlyZXQgPSByZXQyOwotCXVubG9ja19wYWdlKHBhZ2UpOwogCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKIAogCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7CiB9CisvKgorICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWV0YWRhdGEgYmxvY2tzIG5lZWQgdG8gcmVzZXJ2ZQorICogdG8gYWxsb2NhdGUgQGJsb2NrcyBmb3Igbm9uIGV4dGVudCBmaWxlIGJhc2VkIGZpbGUKKyAqLworc3RhdGljIGludCBleHQ0X2luZGlyZWN0X2NhbGNfbWV0YWRhdGFfYW1vdW50KHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBibG9ja3MpCit7CisJaW50IGljYXAgPSBFWFQ0X0FERFJfUEVSX0JMT0NLKGlub2RlLT5pX3NiKTsKKwlpbnQgaW5kX2Jsa3MsIGRpbmRfYmxrcywgdGluZF9ibGtzOworCisJLyogbnVtYmVyIG9mIG5ldyBpbmRpcmVjdCBibG9ja3MgbmVlZGVkICovCisJaW5kX2Jsa3MgPSAoYmxvY2tzICsgaWNhcCAtIDEpIC8gaWNhcDsKKworCWRpbmRfYmxrcyA9IChpbmRfYmxrcyArIGljYXAgLSAxKSAvIGljYXA7CisKKwl0aW5kX2Jsa3MgPSAxOworCisJcmV0dXJuIGluZF9ibGtzICsgZGluZF9ibGtzICsgdGluZF9ibGtzOworfQorCisvKgorICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWV0YWRhdGEgYmxvY2tzIG5lZWQgdG8gcmVzZXJ2ZQorICogdG8gYWxsb2NhdGUgZ2l2ZW4gbnVtYmVyIG9mIGJsb2NrcworICovCitzdGF0aWMgaW50IGV4dDRfY2FsY19tZXRhZGF0YV9hbW91bnQoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGJsb2NrcykKK3sKKwlpZiAoRVhUNF9JKGlub2RlKS0+aV9mbGFncyAmIEVYVDRfRVhURU5UU19GTCkKKwkJcmV0dXJuIGV4dDRfZXh0X2NhbGNfbWV0YWRhdGFfYW1vdW50KGlub2RlLCBibG9ja3MpOworCisJcmV0dXJuIGV4dDRfaW5kaXJlY3RfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIGJsb2Nrcyk7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9kYV9yZXNlcnZlX3NwYWNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBucmJsb2NrcykKK3sKKyAgICAgICBzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKTsKKyAgICAgICB1bnNpZ25lZCBsb25nIG1kX25lZWRlZCwgbWRibG9ja3MsIHRvdGFsID0gMDsKKworCS8qCisJICogcmVjYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBtZXRhZGF0YSBibG9ja3MgdG8gcmVzZXJ2ZQorCSAqIGluIG9yZGVyIHRvIGFsbG9jYXRlIG5yYmxvY2tzCisJICogd29yc2UgY2FzZSBpcyBvbmUgZXh0ZW50IHBlciBibG9jaworCSAqLworCXNwaW5fbG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKwl0b3RhbCA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgKyBucmJsb2NrczsKKwltZGJsb2NrcyA9IGV4dDRfY2FsY19tZXRhZGF0YV9hbW91bnQoaW5vZGUsIHRvdGFsKTsKKwlCVUdfT04obWRibG9ja3MgPCBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzKTsKKworCW1kX25lZWRlZCA9IG1kYmxvY2tzIC0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrczsKKwl0b3RhbCA9IG1kX25lZWRlZCArIG5yYmxvY2tzOworCisJaWYgKGV4dDRfaGFzX2ZyZWVfYmxvY2tzKHNiaSwgdG90YWwpIDwgdG90YWwpIHsKKwkJc3Bpbl91bmxvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCS8qIHJlZHVjZSBmcyBmcmVlIGJsb2NrcyBjb3VudGVyICovCisJcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLCB0b3RhbCk7CisKKwlFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzICs9IG5yYmxvY2tzOworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgPSBtZGJsb2NrczsKKworCXNwaW5fdW5sb2NrKCZFWFQ0X0koaW5vZGUpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spOworCXJldHVybiAwOyAgICAgICAvKiBzdWNjZXNzICovCit9CisKK3ZvaWQgZXh0NF9kYV9yZWxlYXNlX3NwYWNlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCB1c2VkLCBpbnQgdG9fZnJlZSkKK3sKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKTsKKwlpbnQgdG90YWwsIG1kYiwgbWRiX2ZyZWUsIHJlbGVhc2U7CisKKwlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJLyogcmVjYWxjdWxhdGUgdGhlIG51bWJlciBvZiBtZXRhYmxvY2tzIHN0aWxsIG5lZWQgdG8gYmUgcmVzZXJ2ZWQgKi8KKwl0b3RhbCA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgLSB1c2VkIC0gdG9fZnJlZTsKKwltZGIgPSBleHQ0X2NhbGNfbWV0YWRhdGFfYW1vdW50KGlub2RlLCB0b3RhbCk7CisKKwkvKiBmaWd1cmUgb3V0IGhvdyBtYW55IG1ldGFibG9ja3MgdG8gcmVsZWFzZSAqLworCUJVR19PTihtZGIgPiBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzKTsKKwltZGJfZnJlZSA9IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfbWV0YV9ibG9ja3MgLSBtZGI7CisKKwkvKiBBY2NvdW50IGZvciBhbGxvY2F0ZWQgbWV0YV9ibG9ja3MgKi8KKwltZGJfZnJlZSAtPSBFWFQ0X0koaW5vZGUpLT5pX2FsbG9jYXRlZF9tZXRhX2Jsb2NrczsKKworCXJlbGVhc2UgPSB0b19mcmVlICsgbWRiX2ZyZWU7CisKKwkvKiB1cGRhdGUgZnMgZnJlZSBibG9ja3MgY291bnRlciBmb3IgdHJ1bmNhdGUgY2FzZSAqLworCXBlcmNwdV9jb3VudGVyX2FkZCgmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgcmVsZWFzZSk7CisKKwkvKiB1cGRhdGUgcGVyLWlub2RlIHJlc2VydmF0aW9ucyAqLworCUJVR19PTih1c2VkICsgdG9fZnJlZSA+IEVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MpOworCUVYVDRfSShpbm9kZSktPmlfcmVzZXJ2ZWRfZGF0YV9ibG9ja3MgLT0gKHVzZWQgKyB0b19mcmVlKTsKKworCUJVR19PTihtZGIgPiBFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzKTsKKwlFWFQ0X0koaW5vZGUpLT5pX3Jlc2VydmVkX21ldGFfYmxvY2tzID0gbWRiOworCUVYVDRfSShpbm9kZSktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzID0gMDsKKwlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZXh0NF9kYV9wYWdlX3JlbGVhc2VfcmVzZXJ2YXRpb24oc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJCQl1bnNpZ25lZCBsb25nIG9mZnNldCkKK3sKKwlpbnQgdG9fcmVsZWFzZSA9IDA7CisJc3RydWN0IGJ1ZmZlcl9oZWFkICpoZWFkLCAqYmg7CisJdW5zaWduZWQgaW50IGN1cnJfb2ZmID0gMDsKKworCWhlYWQgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJYmggPSBoZWFkOworCWRvIHsKKwkJdW5zaWduZWQgaW50IG5leHRfb2ZmID0gY3Vycl9vZmYgKyBiaC0+Yl9zaXplOworCisJCWlmICgob2Zmc2V0IDw9IGN1cnJfb2ZmKSAmJiAoYnVmZmVyX2RlbGF5KGJoKSkpIHsKKwkJCXRvX3JlbGVhc2UrKzsKKwkJCWNsZWFyX2J1ZmZlcl9kZWxheShiaCk7CisJCX0KKwkJY3Vycl9vZmYgPSBuZXh0X29mZjsKKwl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCWV4dDRfZGFfcmVsZWFzZV9zcGFjZShwYWdlLT5tYXBwaW5nLT5ob3N0LCAwLCB0b19yZWxlYXNlKTsKK30KKworLyoKKyAqIERlbGF5ZWQgYWxsb2NhdGlvbiBzdHVmZgorICovCisKK3N0cnVjdCBtcGFnZV9kYV9kYXRhIHsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlOworCXN0cnVjdCBidWZmZXJfaGVhZCBsYmg7CQkJLyogZXh0ZW50IG9mIGJsb2NrcyAqLworCXVuc2lnbmVkIGxvbmcgZmlyc3RfcGFnZSwgbmV4dF9wYWdlOwkvKiBleHRlbnQgb2YgcGFnZXMgKi8KKwlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOworCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjOworfTsKKworLyoKKyAqIG1wYWdlX2RhX3N1Ym1pdF9pbyAtIHdhbGtzIHRocm91Z2ggZXh0ZW50IG9mIHBhZ2VzIGFuZCB0cnkgdG8gd3JpdGUKKyAqIHRoZW0gd2l0aCBfX21wYWdlX3dyaXRlcGFnZSgpCisgKgorICogQG1wZC0+aW5vZGU6IGlub2RlCisgKiBAbXBkLT5maXJzdF9wYWdlOiBmaXJzdCBwYWdlIG9mIHRoZSBleHRlbnQKKyAqIEBtcGQtPm5leHRfcGFnZTogcGFnZSBhZnRlciB0aGUgbGFzdCBwYWdlIG9mIHRoZSBleHRlbnQKKyAqIEBtcGQtPmdldF9ibG9jazogdGhlIGZpbGVzeXN0ZW0ncyBibG9jayBtYXBwZXIgZnVuY3Rpb24KKyAqCisgKiBCeSB0aGUgdGltZSBtcGFnZV9kYV9zdWJtaXRfaW8oKSBpcyBjYWxsZWQgd2UgZXhwZWN0IGFsbCBibG9ja3MKKyAqIHRvIGJlIGFsbG9jYXRlZC4gdGhpcyBtYXkgYmUgd3JvbmcgaWYgYWxsb2NhdGlvbiBmYWlsZWQuCisgKgorICogQXMgcGFnZXMgYXJlIGFscmVhZHkgbG9ja2VkIGJ5IHdyaXRlX2NhY2hlX3BhZ2VzKCksIHdlIGNhbid0IHVzZSBpdAorICovCitzdGF0aWMgaW50IG1wYWdlX2RhX3N1Ym1pdF9pbyhzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkKQoreworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gbXBkLT5pbm9kZS0+aV9tYXBwaW5nOworCXN0cnVjdCBtcGFnZV9kYXRhIG1wZF9wcCA9IHsKKwkJLmJpbyA9IE5VTEwsCisJCS5sYXN0X2Jsb2NrX2luX2JpbyA9IDAsCisJCS5nZXRfYmxvY2sgPSBtcGQtPmdldF9ibG9jaywKKwkJLnVzZV93cml0ZXBhZ2UgPSAxLAorCX07CisJaW50IHJldCA9IDAsIGVyciwgbnJfcGFnZXMsIGk7CisJdW5zaWduZWQgbG9uZyBpbmRleCwgZW5kOworCXN0cnVjdCBwYWdldmVjIHB2ZWM7CisKKwlCVUdfT04obXBkLT5uZXh0X3BhZ2UgPD0gbXBkLT5maXJzdF9wYWdlKTsKKworCXBhZ2V2ZWNfaW5pdCgmcHZlYywgMCk7CisJaW5kZXggPSBtcGQtPmZpcnN0X3BhZ2U7CisJZW5kID0gbXBkLT5uZXh0X3BhZ2UgLSAxOworCisJd2hpbGUgKGluZGV4IDw9IGVuZCkgeworCQkvKiBYWFg6IG9wdGltaXplIHRhaWwgKi8KKwkJbnJfcGFnZXMgPSBwYWdldmVjX2xvb2t1cCgmcHZlYywgbWFwcGluZywgaW5kZXgsIFBBR0VWRUNfU0laRSk7CisJCWlmIChucl9wYWdlcyA9PSAwKQorCQkJYnJlYWs7CisJCWZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgaSsrKSB7CisJCQlzdHJ1Y3QgcGFnZSAqcGFnZSA9IHB2ZWMucGFnZXNbaV07CisKKwkJCWluZGV4ID0gcGFnZS0+aW5kZXg7CisJCQlpZiAoaW5kZXggPiBlbmQpCisJCQkJYnJlYWs7CisJCQlpbmRleCsrOworCisJCQllcnIgPSBfX21wYWdlX3dyaXRlcGFnZShwYWdlLCBtcGQtPndiYywgJm1wZF9wcCk7CisKKwkJCS8qCisJCQkgKiBJbiBlcnJvciBjYXNlLCB3ZSBoYXZlIHRvIGNvbnRpbnVlIGJlY2F1c2UKKwkJCSAqIHJlbWFpbmluZyBwYWdlcyBhcmUgc3RpbGwgbG9ja2VkCisJCQkgKiBYWFg6IHVubG9jayBhbmQgcmUtZGlydHkgdGhlbT8KKwkJCSAqLworCQkJaWYgKHJldCA9PSAwKQorCQkJCXJldCA9IGVycjsKKwkJfQorCQlwYWdldmVjX3JlbGVhc2UoJnB2ZWMpOworCX0KKwlpZiAobXBkX3BwLmJpbykKKwkJbXBhZ2VfYmlvX3N1Ym1pdChXUklURSwgbXBkX3BwLmJpbyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogbXBhZ2VfcHV0X2Jucl90b19iaHMgLSB3YWxrIGJsb2NrcyBhbmQgYXNzaWduIHRoZW0gYWN0dWFsIG51bWJlcnMKKyAqCisgKiBAbXBkLT5pbm9kZSAtIGlub2RlIHRvIHdhbGsgdGhyb3VnaAorICogQGV4YmgtPmJfYmxvY2tuciAtIGZpcnN0IGJsb2NrIG9uIGEgZGlzaworICogQGV4YmgtPmJfc2l6ZSAtIGFtb3VudCBvZiBzcGFjZSBpbiBieXRlcworICogQGxvZ2ljYWwgLSBmaXJzdCBsb2dpY2FsIGJsb2NrIHRvIHN0YXJ0IGFzc2lnbm1lbnQgd2l0aAorICoKKyAqIHRoZSBmdW5jdGlvbiBnb2VzIHRocm91Z2ggYWxsIHBhc3NlZCBzcGFjZSBhbmQgcHV0IGFjdHVhbCBkaXNrCisgKiBibG9jayBudW1iZXJzIGludG8gYnVmZmVyIGhlYWRzLCBkcm9wcGluZyBCSF9EZWxheQorICovCitzdGF0aWMgdm9pZCBtcGFnZV9wdXRfYm5yX3RvX2JocyhzdHJ1Y3QgbXBhZ2VfZGFfZGF0YSAqbXBkLCBzZWN0b3JfdCBsb2dpY2FsLAorCQkJCSBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmV4YmgpCit7CisJc3RydWN0IGlub2RlICppbm9kZSA9IG1wZC0+aW5vZGU7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBpbm9kZS0+aV9tYXBwaW5nOworCWludCBibG9ja3MgPSBleGJoLT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKwlzZWN0b3JfdCBwYmxvY2sgPSBleGJoLT5iX2Jsb2NrbnIsIGN1cl9sb2dpY2FsOworCXN0cnVjdCBidWZmZXJfaGVhZCAqaGVhZCwgKmJoOworCXVuc2lnbmVkIGxvbmcgaW5kZXgsIGVuZDsKKwlzdHJ1Y3QgcGFnZXZlYyBwdmVjOworCWludCBucl9wYWdlcywgaTsKKworCWluZGV4ID0gbG9naWNhbCA+PiAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCWVuZCA9IChsb2dpY2FsICsgYmxvY2tzIC0gMSkgPj4gKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9ibGtiaXRzKTsKKwljdXJfbG9naWNhbCA9IGluZGV4IDw8IChQQUdFX0NBQ0hFX1NISUZUIC0gaW5vZGUtPmlfYmxrYml0cyk7CisKKwlwYWdldmVjX2luaXQoJnB2ZWMsIDApOworCisJd2hpbGUgKGluZGV4IDw9IGVuZCkgeworCQkvKiBYWFg6IG9wdGltaXplIHRhaWwgKi8KKwkJbnJfcGFnZXMgPSBwYWdldmVjX2xvb2t1cCgmcHZlYywgbWFwcGluZywgaW5kZXgsIFBBR0VWRUNfU0laRSk7CisJCWlmIChucl9wYWdlcyA9PSAwKQorCQkJYnJlYWs7CisJCWZvciAoaSA9IDA7IGkgPCBucl9wYWdlczsgaSsrKSB7CisJCQlzdHJ1Y3QgcGFnZSAqcGFnZSA9IHB2ZWMucGFnZXNbaV07CisKKwkJCWluZGV4ID0gcGFnZS0+aW5kZXg7CisJCQlpZiAoaW5kZXggPiBlbmQpCisJCQkJYnJlYWs7CisJCQlpbmRleCsrOworCisJCQlCVUdfT04oIVBhZ2VMb2NrZWQocGFnZSkpOworCQkJQlVHX09OKFBhZ2VXcml0ZWJhY2socGFnZSkpOworCQkJQlVHX09OKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKTsKKworCQkJYmggPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCQloZWFkID0gYmg7CisKKwkJCS8qIHNraXAgYmxvY2tzIG91dCBvZiB0aGUgcmFuZ2UgKi8KKwkJCWRvIHsKKwkJCQlpZiAoY3VyX2xvZ2ljYWwgPj0gbG9naWNhbCkKKwkJCQkJYnJlYWs7CisJCQkJY3VyX2xvZ2ljYWwrKzsKKwkJCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisKKwkJCWRvIHsKKwkJCQlpZiAoY3VyX2xvZ2ljYWwgPj0gbG9naWNhbCArIGJsb2NrcykKKwkJCQkJYnJlYWs7CisJCQkJaWYgKGJ1ZmZlcl9kZWxheShiaCkpIHsKKwkJCQkJYmgtPmJfYmxvY2tuciA9IHBibG9jazsKKwkJCQkJY2xlYXJfYnVmZmVyX2RlbGF5KGJoKTsKKwkJCQl9IGVsc2UgaWYgKGJ1ZmZlcl9tYXBwZWQoYmgpKQorCQkJCQlCVUdfT04oYmgtPmJfYmxvY2tuciAhPSBwYmxvY2spOworCisJCQkJY3VyX2xvZ2ljYWwrKzsKKwkJCQlwYmxvY2srKzsKKwkJCX0gd2hpbGUgKChiaCA9IGJoLT5iX3RoaXNfcGFnZSkgIT0gaGVhZCk7CisJCX0KKwkJcGFnZXZlY19yZWxlYXNlKCZwdmVjKTsKKwl9Cit9CisKKworLyoKKyAqIF9fdW5tYXBfdW5kZXJseWluZ19ibG9ja3MgLSBqdXN0IGEgaGVscGVyIGZ1bmN0aW9uIHRvIHVubWFwCisgKiBzZXQgb2YgYmxvY2tzIGRlc2NyaWJlZCBieSBAYmgKKyAqLworc3RhdGljIGlubGluZSB2b2lkIF9fdW5tYXBfdW5kZXJseWluZ19ibG9ja3Moc3RydWN0IGlub2RlICppbm9kZSwKKwkJCQkJICAgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYgPSBpbm9kZS0+aV9zYi0+c19iZGV2OworCWludCBibG9ja3MsIGk7CisKKwlibG9ja3MgPSBiaC0+Yl9zaXplID4+IGlub2RlLT5pX2Jsa2JpdHM7CisJZm9yIChpID0gMDsgaSA8IGJsb2NrczsgaSsrKQorCQl1bm1hcF91bmRlcmx5aW5nX21ldGFkYXRhKGJkZXYsIGJoLT5iX2Jsb2NrbnIgKyBpKTsKK30KKworLyoKKyAqIG1wYWdlX2RhX21hcF9ibG9ja3MgLSBnbyB0aHJvdWdoIGdpdmVuIHNwYWNlCisgKgorICogQG1wZC0+bGJoIC0gYmggZGVzY3JpYmluZyBzcGFjZQorICogQG1wZC0+Z2V0X2Jsb2NrIC0gdGhlIGZpbGVzeXN0ZW0ncyBibG9jayBtYXBwZXIgZnVuY3Rpb24KKyAqCisgKiBUaGUgZnVuY3Rpb24gc2tpcHMgc3BhY2Ugd2Uga25vdyBpcyBhbHJlYWR5IG1hcHBlZCB0byBkaXNrIGJsb2Nrcy4KKyAqCisgKiBUaGUgZnVuY3Rpb24gaWdub3JlcyBlcnJvcnMgLT5nZXRfYmxvY2soKSByZXR1cm5zLCB0aHVzIHJlYWwKKyAqIGVycm9yIGhhbmRsaW5nIGlzIHBvc3Rwb25lZCB0byBfX21wYWdlX3dyaXRlcGFnZSgpCisgKi8KK3N0YXRpYyB2b2lkIG1wYWdlX2RhX21hcF9ibG9ja3Moc3RydWN0IG1wYWdlX2RhX2RhdGEgKm1wZCkKK3sKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmxiaCA9ICZtcGQtPmxiaDsKKwlpbnQgZXJyID0gMCwgcmVtYWluID0gbGJoLT5iX3NpemU7CisJc2VjdG9yX3QgbmV4dCA9IGxiaC0+Yl9ibG9ja25yOworCXN0cnVjdCBidWZmZXJfaGVhZCBuZXc7CisKKwkvKgorCSAqIFdlIGNvbnNpZGVyIG9ubHkgbm9uLW1hcHBlZCBhbmQgbm9uLWFsbG9jYXRlZCBibG9ja3MKKwkgKi8KKwlpZiAoYnVmZmVyX21hcHBlZChsYmgpICYmICFidWZmZXJfZGVsYXkobGJoKSkKKwkJcmV0dXJuOworCisJd2hpbGUgKHJlbWFpbikgeworCQluZXcuYl9zdGF0ZSA9IGxiaC0+Yl9zdGF0ZTsKKwkJbmV3LmJfYmxvY2tuciA9IDA7CisJCW5ldy5iX3NpemUgPSByZW1haW47CisJCWVyciA9IG1wZC0+Z2V0X2Jsb2NrKG1wZC0+aW5vZGUsIG5leHQsICZuZXcsIDEpOworCQlpZiAoZXJyKSB7CisJCQkvKgorCQkJICogUmF0aGVyIHRoYW4gaW1wbGVtZW50IG93biBlcnJvciBoYW5kbGluZworCQkJICogaGVyZSwgd2UganVzdCBsZWF2ZSByZW1haW5pbmcgYmxvY2tzCisJCQkgKiB1bmFsbG9jYXRlZCBhbmQgdHJ5IGFnYWluIHdpdGggLT53cml0ZXBhZ2UoKQorCQkJICovCisJCQlicmVhazsKKwkJfQorCQlCVUdfT04obmV3LmJfc2l6ZSA9PSAwKTsKKworCQlpZiAoYnVmZmVyX25ldygmbmV3KSkKKwkJCV9fdW5tYXBfdW5kZXJseWluZ19ibG9ja3MobXBkLT5pbm9kZSwgJm5ldyk7CisKKwkJLyoKKwkJICogSWYgYmxvY2tzIGFyZSBkZWxheWVkIG1hcmtlZCwgd2UgbmVlZCB0bworCQkgKiBwdXQgYWN0dWFsIGJsb2NrbnIgYW5kIGRyb3AgZGVsYXllZCBiaXQKKwkJICovCisJCWlmIChidWZmZXJfZGVsYXkobGJoKSkKKwkJCW1wYWdlX3B1dF9ibnJfdG9fYmhzKG1wZCwgbmV4dCwgJm5ldyk7CisKKwkJLyogZ28gZm9yIHRoZSByZW1haW5pbmcgYmxvY2tzICovCisJCW5leHQgKz0gbmV3LmJfc2l6ZSA+PiBtcGQtPmlub2RlLT5pX2Jsa2JpdHM7CisJCXJlbWFpbiAtPSBuZXcuYl9zaXplOworCX0KK30KKworI2RlZmluZSBCSF9GTEFHUyAoKDEgPDwgQkhfVXB0b2RhdGUpIHwgKDEgPDwgQkhfTWFwcGVkKSB8ICgxIDw8IEJIX0RlbGF5KSkKKworLyoKKyAqIG1wYWdlX2FkZF9iaF90b19leHRlbnQgLSB0cnkgdG8gYWRkIG9uZSBtb3JlIGJsb2NrIHRvIGV4dGVudCBvZiBibG9ja3MKKyAqCisgKiBAbXBkLT5sYmggLSBleHRlbnQgb2YgYmxvY2tzCisgKiBAbG9naWNhbCAtIGxvZ2ljYWwgbnVtYmVyIG9mIHRoZSBibG9jayBpbiB0aGUgZmlsZQorICogQGJoIC0gYmggb2YgdGhlIGJsb2NrICh1c2VkIHRvIGFjY2VzcyBibG9jaydzIHN0YXRlKQorICoKKyAqIHRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGNvbGxlY3QgY29udGlnLiBibG9ja3MgaW4gc2FtZSBzdGF0ZQorICovCitzdGF0aWMgdm9pZCBtcGFnZV9hZGRfYmhfdG9fZXh0ZW50KHN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQsCisJCQkJICAgc2VjdG9yX3QgbG9naWNhbCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKK3sKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmxiaCA9ICZtcGQtPmxiaDsKKwlzZWN0b3JfdCBuZXh0OworCisJbmV4dCA9IGxiaC0+Yl9ibG9ja25yICsgKGxiaC0+Yl9zaXplID4+IG1wZC0+aW5vZGUtPmlfYmxrYml0cyk7CisKKwkvKgorCSAqIEZpcnN0IGJsb2NrIGluIHRoZSBleHRlbnQKKwkgKi8KKwlpZiAobGJoLT5iX3NpemUgPT0gMCkgeworCQlsYmgtPmJfYmxvY2tuciA9IGxvZ2ljYWw7CisJCWxiaC0+Yl9zaXplID0gYmgtPmJfc2l6ZTsKKwkJbGJoLT5iX3N0YXRlID0gYmgtPmJfc3RhdGUgJiBCSF9GTEFHUzsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogQ2FuIHdlIG1lcmdlIHRoZSBibG9jayB0byBvdXIgYmlnIGV4dGVudD8KKwkgKi8KKwlpZiAobG9naWNhbCA9PSBuZXh0ICYmIChiaC0+Yl9zdGF0ZSAmIEJIX0ZMQUdTKSA9PSBsYmgtPmJfc3RhdGUpIHsKKwkJbGJoLT5iX3NpemUgKz0gYmgtPmJfc2l6ZTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogV2UgY291bGRuJ3QgbWVyZ2UgdGhlIGJsb2NrIHRvIG91ciBleHRlbnQsIHNvIHdlCisJICogbmVlZCB0byBmbHVzaCBjdXJyZW50ICBleHRlbnQgYW5kIHN0YXJ0IG5ldyBvbmUKKwkgKi8KKwltcGFnZV9kYV9tYXBfYmxvY2tzKG1wZCk7CisKKwkvKgorCSAqIE5vdyBzdGFydCBhIG5ldyBleHRlbnQKKwkgKi8KKwlsYmgtPmJfc2l6ZSA9IGJoLT5iX3NpemU7CisJbGJoLT5iX3N0YXRlID0gYmgtPmJfc3RhdGUgJiBCSF9GTEFHUzsKKwlsYmgtPmJfYmxvY2tuciA9IGxvZ2ljYWw7Cit9CisKKy8qCisgKiBfX21wYWdlX2RhX3dyaXRlcGFnZSAtIGZpbmRzIGV4dGVudCBvZiBwYWdlcyBhbmQgYmxvY2tzCisgKgorICogQHBhZ2U6IHBhZ2UgdG8gY29uc2lkZXIKKyAqIEB3YmM6IG5vdCB1c2VkLCB3ZSBqdXN0IGZvbGxvdyBydWxlcworICogQGRhdGE6IGNvbnRleHQKKyAqCisgKiBUaGUgZnVuY3Rpb24gZmluZHMgZXh0ZW50cyBvZiBwYWdlcyBhbmQgc2NhbiB0aGVtIGZvciBhbGwgYmxvY2tzLgorICovCitzdGF0aWMgaW50IF9fbXBhZ2VfZGFfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLAorCQkJCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBtcGFnZV9kYV9kYXRhICptcGQgPSBkYXRhOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtcGQtPmlub2RlOworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmgsICpoZWFkLCBmYWtlOworCXNlY3Rvcl90IGxvZ2ljYWw7CisKKwkvKgorCSAqIENhbiB3ZSBtZXJnZSB0aGlzIHBhZ2UgdG8gY3VycmVudCBleHRlbnQ/CisJICovCisJaWYgKG1wZC0+bmV4dF9wYWdlICE9IHBhZ2UtPmluZGV4KSB7CisJCS8qCisJCSAqIE5vcGUsIHdlIGNhbid0LiBTbywgd2UgbWFwIG5vbi1hbGxvY2F0ZWQgYmxvY2tzCisJCSAqIGFuZCBzdGFydCBJTyBvbiB0aGVtIHVzaW5nIF9fbXBhZ2Vfd3JpdGVwYWdlKCkKKwkJICovCisJCWlmIChtcGQtPm5leHRfcGFnZSAhPSBtcGQtPmZpcnN0X3BhZ2UpIHsKKwkJCW1wYWdlX2RhX21hcF9ibG9ja3MobXBkKTsKKwkJCW1wYWdlX2RhX3N1Ym1pdF9pbyhtcGQpOworCQl9CisKKwkJLyoKKwkJICogU3RhcnQgbmV4dCBleHRlbnQgb2YgcGFnZXMgLi4uCisJCSAqLworCQltcGQtPmZpcnN0X3BhZ2UgPSBwYWdlLT5pbmRleDsKKworCQkvKgorCQkgKiAuLi4gYW5kIGJsb2NrcworCQkgKi8KKwkJbXBkLT5sYmguYl9zaXplID0gMDsKKwkJbXBkLT5sYmguYl9zdGF0ZSA9IDA7CisJCW1wZC0+bGJoLmJfYmxvY2tuciA9IDA7CisJfQorCisJbXBkLT5uZXh0X3BhZ2UgPSBwYWdlLT5pbmRleCArIDE7CisJbG9naWNhbCA9IChzZWN0b3JfdCkgcGFnZS0+aW5kZXggPDwKKwkJICAoUEFHRV9DQUNIRV9TSElGVCAtIGlub2RlLT5pX2Jsa2JpdHMpOworCisJaWYgKCFwYWdlX2hhc19idWZmZXJzKHBhZ2UpKSB7CisJCS8qCisJCSAqIFRoZXJlIGlzIG5vIGF0dGFjaGVkIGJ1ZmZlciBoZWFkcyB5ZXQgKG1tYXA/KQorCQkgKiB3ZSB0cmVhdCB0aGUgcGFnZSBhc2Z1bGwgb2YgZGlydHkgYmxvY2tzCisJCSAqLworCQliaCA9ICZmYWtlOworCQliaC0+Yl9zaXplID0gUEFHRV9DQUNIRV9TSVpFOworCQliaC0+Yl9zdGF0ZSA9IDA7CisJCXNldF9idWZmZXJfZGlydHkoYmgpOworCQlzZXRfYnVmZmVyX3VwdG9kYXRlKGJoKTsKKwkJbXBhZ2VfYWRkX2JoX3RvX2V4dGVudChtcGQsIGxvZ2ljYWwsIGJoKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiBQYWdlIHdpdGggcmVndWxhciBidWZmZXIgaGVhZHMsIGp1c3QgYWRkIGFsbCBkaXJ0eSBvbmVzCisJCSAqLworCQloZWFkID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCQliaCA9IGhlYWQ7CisJCWRvIHsKKwkJCUJVR19PTihidWZmZXJfbG9ja2VkKGJoKSk7CisJCQlpZiAoYnVmZmVyX2RpcnR5KGJoKSkKKwkJCQltcGFnZV9hZGRfYmhfdG9fZXh0ZW50KG1wZCwgbG9naWNhbCwgYmgpOworCQkJbG9naWNhbCsrOworCQl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogbXBhZ2VfZGFfd3JpdGVwYWdlcyAtIHdhbGsgdGhlIGxpc3Qgb2YgZGlydHkgcGFnZXMgb2YgdGhlIGdpdmVuCisgKiBhZGRyZXNzIHNwYWNlLCBhbGxvY2F0ZXMgbm9uLWFsbG9jYXRlZCBibG9ja3MsIG1hcHMgbmV3bHktYWxsb2NhdGVkCisgKiBibG9ja3MgdG8gZXhpc3RpbmcgYmhzIGFuZCBpc3N1ZSBJTyB0aGVtCisgKgorICogQG1hcHBpbmc6IGFkZHJlc3Mgc3BhY2Ugc3RydWN0dXJlIHRvIHdyaXRlCisgKiBAd2JjOiBzdWJ0cmFjdCB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gcGFnZXMgZnJvbSAqQHdiYy0+bnJfdG9fd3JpdGUKKyAqIEBnZXRfYmxvY2s6IHRoZSBmaWxlc3lzdGVtJ3MgYmxvY2sgbWFwcGVyIGZ1bmN0aW9uLgorICoKKyAqIFRoaXMgaXMgYSBsaWJyYXJ5IGZ1bmN0aW9uLCB3aGljaCBpbXBsZW1lbnRzIHRoZSB3cml0ZXBhZ2VzKCkKKyAqIGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9uLgorICoKKyAqIEluIG9yZGVyIHRvIGF2b2lkIGR1cGxpY2F0aW9uIG9mIGxvZ2ljIHRoYXQgZGVhbHMgd2l0aCBwYXJ0aWFsIHBhZ2VzLAorICogbXVsdGlwbGUgYmlvIHBlciBwYWdlLCBldGMsIHdlIGZpbmQgbm9uLWFsbG9jYXRlZCBibG9ja3MsIGFsbG9jYXRlCisgKiB0aGVtIHdpdGggbWluaW1hbCBjYWxscyB0byAtPmdldF9ibG9jaygpIGFuZCByZS11c2UgX19tcGFnZV93cml0ZXBhZ2UoKQorICoKKyAqIEl0J3MgaW1wb3J0YW50IHRoYXQgd2UgY2FsbCBfX21wYWdlX3dyaXRlcGFnZSgpIG9ubHkgb25jZSBmb3IgZWFjaAorICogaW52b2x2ZWQgcGFnZSwgb3RoZXJ3aXNlIHdlJ2QgaGF2ZSB0byBpbXBsZW1lbnQgbW9yZSBjb21wbGljYXRlZCBsb2dpYworICogdG8gZGVhbCB3aXRoIHBhZ2VzIHcvbyBQR19sb2NrIG9yIHcvIFBHX3dyaXRlYmFjayBhbmQgc28gb24uCisgKgorICogU2VlIGNvbW1lbnRzIHRvIG1wYWdlX3dyaXRlcGFnZXMoKQorICovCitzdGF0aWMgaW50IG1wYWdlX2RhX3dyaXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkgICAgICAgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCQkgICAgICAgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKQoreworCXN0cnVjdCBtcGFnZV9kYV9kYXRhIG1wZDsKKwlpbnQgcmV0OworCisJaWYgKCFnZXRfYmxvY2spCisJCXJldHVybiBnZW5lcmljX3dyaXRlcGFnZXMobWFwcGluZywgd2JjKTsKKworCW1wZC53YmMgPSB3YmM7CisJbXBkLmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwltcGQubGJoLmJfc2l6ZSA9IDA7CisJbXBkLmxiaC5iX3N0YXRlID0gMDsKKwltcGQubGJoLmJfYmxvY2tuciA9IDA7CisJbXBkLmZpcnN0X3BhZ2UgPSAwOworCW1wZC5uZXh0X3BhZ2UgPSAwOworCW1wZC5nZXRfYmxvY2sgPSBnZXRfYmxvY2s7CisKKwlyZXQgPSB3cml0ZV9jYWNoZV9wYWdlcyhtYXBwaW5nLCB3YmMsIF9fbXBhZ2VfZGFfd3JpdGVwYWdlLCAmbXBkKTsKKworCS8qCisJICogSGFuZGxlIGxhc3QgZXh0ZW50IG9mIHBhZ2VzCisJICovCisJaWYgKG1wZC5uZXh0X3BhZ2UgIT0gbXBkLmZpcnN0X3BhZ2UpIHsKKwkJbXBhZ2VfZGFfbWFwX2Jsb2NrcygmbXBkKTsKKwkJbXBhZ2VfZGFfc3VibWl0X2lvKCZtcGQpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiB0aGlzIGlzIGEgc3BlY2lhbCBjYWxsYmFjayBmb3IgLT53cml0ZV9iZWdpbigpIG9ubHkKKyAqIGl0J3MgaW50ZW50aW9uIGlzIHRvIHJldHVybiBtYXBwZWQgYmxvY2sgb3IgcmVzZXJ2ZSBzcGFjZQorICovCitzdGF0aWMgaW50IGV4dDRfZGFfZ2V0X2Jsb2NrX3ByZXAoc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgaWJsb2NrLAorCQkJCSAgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaF9yZXN1bHQsIGludCBjcmVhdGUpCit7CisJaW50IHJldCA9IDA7CisKKwlCVUdfT04oY3JlYXRlID09IDApOworCUJVR19PTihiaF9yZXN1bHQtPmJfc2l6ZSAhPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemUpOworCisJLyoKKwkgKiBmaXJzdCwgd2UgbmVlZCB0byBrbm93IHdoZXRoZXIgdGhlIGJsb2NrIGlzIGFsbG9jYXRlZCBhbHJlYWR5CisJICogcHJlYWxsb2NhdGVkIGJsb2NrcyBhcmUgdW5tYXBwZWQgYnV0IHNob3VsZCB0cmVhdGVkCisJICogdGhlIHNhbWUgYXMgYWxsb2NhdGVkIGJsb2Nrcy4KKwkgKi8KKwlyZXQgPSBleHQ0X2dldF9ibG9ja3Nfd3JhcChOVUxMLCBpbm9kZSwgaWJsb2NrLCAxLCAgYmhfcmVzdWx0LCAwLCAwLCAwKTsKKwlpZiAoKHJldCA9PSAwKSAmJiAhYnVmZmVyX2RlbGF5KGJoX3Jlc3VsdCkpIHsKKwkJLyogdGhlIGJsb2NrIGlzbid0IChwcmUpYWxsb2NhdGVkIHlldCwgbGV0J3MgcmVzZXJ2ZSBzcGFjZSAqLworCQkvKgorCQkgKiBYWFg6IF9fYmxvY2tfcHJlcGFyZV93cml0ZSgpIHVubWFwcyBwYXNzZWQgYmxvY2ssCisJCSAqIGlzIGl0IE9LPworCQkgKi8KKwkJcmV0ID0gZXh0NF9kYV9yZXNlcnZlX3NwYWNlKGlub2RlLCAxKTsKKwkJaWYgKHJldCkKKwkJCS8qIG5vdCBlbm91Z2ggc3BhY2UgdG8gcmVzZXJ2ZSAqLworCQkJcmV0dXJuIHJldDsKKworCQltYXBfYmgoYmhfcmVzdWx0LCBpbm9kZS0+aV9zYiwgMCk7CisJCXNldF9idWZmZXJfbmV3KGJoX3Jlc3VsdCk7CisJCXNldF9idWZmZXJfZGVsYXkoYmhfcmVzdWx0KTsKKwl9IGVsc2UgaWYgKHJldCA+IDApIHsKKwkJYmhfcmVzdWx0LT5iX3NpemUgPSAocmV0IDw8IGlub2RlLT5pX2Jsa2JpdHMpOworCQlyZXQgPSAwOworCX0KKworCXJldHVybiByZXQ7Cit9CisjZGVmaW5lCQlFWFQ0X0RFTEFMTE9DX1JTVkVECTEKK3N0YXRpYyBpbnQgZXh0NF9kYV9nZXRfYmxvY2tfd3JpdGUoc3RydWN0IGlub2RlICppbm9kZSwgc2VjdG9yX3QgaWJsb2NrLAorCQkJCSAgIHN0cnVjdCBidWZmZXJfaGVhZCAqYmhfcmVzdWx0LCBpbnQgY3JlYXRlKQoreworCWludCByZXQ7CisJdW5zaWduZWQgbWF4X2Jsb2NrcyA9IGJoX3Jlc3VsdC0+Yl9zaXplID4+IGlub2RlLT5pX2Jsa2JpdHM7CisJbG9mZl90IGRpc2tzaXplID0gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZTsKKwloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKKworCWhhbmRsZSA9IGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpOworCWlmICghaGFuZGxlKSB7CisJCXJldCA9IGV4dDRfZ2V0X2Jsb2Nrc193cmFwKGhhbmRsZSwgaW5vZGUsIGlibG9jaywgbWF4X2Jsb2NrcywKKwkJCQkgICBiaF9yZXN1bHQsIDAsIDAsIDApOworCQlCVUdfT04oIXJldCk7CisJfSBlbHNlIHsKKwkJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoaGFuZGxlLCBpbm9kZSwgaWJsb2NrLCBtYXhfYmxvY2tzLAorCQkJCSAgIGJoX3Jlc3VsdCwgY3JlYXRlLCAwLCBFWFQ0X0RFTEFMTE9DX1JTVkVEKTsKKwl9CisKKwlpZiAocmV0ID4gMCkgeworCQliaF9yZXN1bHQtPmJfc2l6ZSA9IChyZXQgPDwgaW5vZGUtPmlfYmxrYml0cyk7CisKKwkJLyoKKwkJICogVXBkYXRlIG9uLWRpc2sgc2l6ZSBhbG9uZyB3aXRoIGJsb2NrIGFsbG9jYXRpb24KKwkJICogd2UgZG9uJ3QgdXNlICdleHRlbmRfZGlza3NpemUnIGFzIHNpemUgbWF5IGNoYW5nZQorCQkgKiB3aXRoaW4gYWxyZWFkeSBhbGxvY2F0ZWQgYmxvY2sgLWJ6enoKKwkJICovCisJCWRpc2tzaXplID0gKChsb2ZmX3QpIGlibG9jayArIHJldCkgPDwgaW5vZGUtPmlfYmxrYml0czsKKwkJaWYgKGRpc2tzaXplID4gaV9zaXplX3JlYWQoaW5vZGUpKQorCQkJZGlza3NpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJCWlmIChkaXNrc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpIHsKKwkJCS8qCisJCQkgKiBYWFg6IHJlcGxhY2Ugd2l0aCBzcGlubG9jayBpZiBzZWVuIGNvbnRlbmRlZCAtYnp6egorCQkJICovCisJCQlkb3duX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKwkJCWlmIChkaXNrc2l6ZSA+IEVYVDRfSShpbm9kZSktPmlfZGlza3NpemUpCisJCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IGRpc2tzaXplOworCQkJdXBfd3JpdGUoJkVYVDRfSShpbm9kZSktPmlfZGF0YV9zZW0pOworCisJCQlpZiAoRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9PSBkaXNrc2l6ZSkgeworCQkJCXJldCA9IGV4dDRfbWFya19pbm9kZV9kaXJ0eShoYW5kbGUsIGlub2RlKTsKKwkJCQlyZXR1cm4gcmV0OworCQkJfQorCQl9CisJCXJldCA9IDA7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQoreworCS8qCisJICogdW5tYXBwZWQgYnVmZmVyIGlzIHBvc3NpYmxlIGZvciBob2xlcy4KKwkgKiBkZWxheSBidWZmZXIgaXMgcG9zc2libGUgd2l0aCBkZWxheWVkIGFsbG9jYXRpb24KKwkgKi8KKwlyZXR1cm4gKCghYnVmZmVyX21hcHBlZChiaCkgfHwgYnVmZmVyX2RlbGF5KGJoKSkgJiYgYnVmZmVyX2RpcnR5KGJoKSk7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGlibG9jaywKKwkJCQkgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoX3Jlc3VsdCwgaW50IGNyZWF0ZSkKK3sKKwlpbnQgcmV0ID0gMDsKKwl1bnNpZ25lZCBtYXhfYmxvY2tzID0gYmhfcmVzdWx0LT5iX3NpemUgPj4gaW5vZGUtPmlfYmxrYml0czsKKworCS8qCisJICogd2UgZG9uJ3Qgd2FudCB0byBkbyBibG9jayBhbGxvY2F0aW9uIGluIHdyaXRlcGFnZQorCSAqIHNvIGNhbGwgZ2V0X2Jsb2NrX3dyYXAgd2l0aCBjcmVhdGUgPSAwCisJICovCisJcmV0ID0gZXh0NF9nZXRfYmxvY2tzX3dyYXAoTlVMTCwgaW5vZGUsIGlibG9jaywgbWF4X2Jsb2NrcywKKwkJCQkgICBiaF9yZXN1bHQsIDAsIDAsIDApOworCWlmIChyZXQgPiAwKSB7CisJCWJoX3Jlc3VsdC0+Yl9zaXplID0gKHJldCA8PCBpbm9kZS0+aV9ibGtiaXRzKTsKKwkJcmV0ID0gMDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIGdldCBjYWxsZWQgdmkgZXh0NF9kYV93cml0ZXBhZ2VzIGFmdGVyIHRha2luZyBwYWdlIGxvY2sgKGhhdmUgam91cm5hbCBoYW5kbGUpCisgKiBnZXQgY2FsbGVkIHZpYSBqb3VybmFsX3N1Ym1pdF9pbm9kZV9kYXRhX2J1ZmZlcnMgKG5vIGpvdXJuYWwgaGFuZGxlKQorICogZ2V0IGNhbGxlZCB2aWEgc2hyaW5rX3BhZ2VfbGlzdCB2aWEgcGRmbHVzaCAobm8gam91cm5hbCBoYW5kbGUpCisgKiBvciBncmFiX3BhZ2VfY2FjaGUgd2hlbiBkb2luZyB3cml0ZV9iZWdpbiAoaGF2ZSBqb3VybmFsIGhhbmRsZSkKKyAqLworc3RhdGljIGludCBleHQ0X2RhX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlpbnQgcmV0ID0gMDsKKwlsb2ZmX3Qgc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGxlbjsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKnBhZ2VfYnVmczsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsKKworCXNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQlwYWdlX2J1ZnMgPSBwYWdlX2J1ZmZlcnMocGFnZSk7CisJCWlmICh3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZnMsIDAsIGxlbiwgTlVMTCwKKwkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpIHsKKwkJCS8qCisJCQkgKiBXZSBkb24ndCB3YW50IHRvIGRvICBibG9jayBhbGxvY2F0aW9uCisJCQkgKiBTbyByZWRpcnR5IHRoZSBwYWdlIGFuZCByZXR1cm4KKwkJCSAqIFdlIG1heSByZWFjaCBoZXJlIHdoZW4gd2UgZG8gYSBqb3VybmFsIGNvbW1pdAorCQkJICogdmlhIGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycy4KKwkJCSAqIElmIHdlIGRvbid0IGhhdmUgbWFwcGluZyBibG9jayB3ZSBqdXN0IGlnbm9yZQorCQkJICogdGhlbS4gV2UgY2FuIGFsc28gcmVhY2ggaGVyZSB2aWEgc2hyaW5rX3BhZ2VfbGlzdAorCQkJICovCisJCQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0gZWxzZSB7CisJCS8qCisJCSAqIFRoZSB0ZXN0IGZvciBwYWdlX2hhc19idWZmZXJzKCkgaXMgc3VidGxlOgorCQkgKiBXZSBrbm93IHRoZSBwYWdlIGlzIGRpcnR5IGJ1dCBpdCBsb3N0IGJ1ZmZlcnMuIFRoYXQgbWVhbnMKKwkJICogdGhhdCBhdCBzb21lIG1vbWVudCBpbiB0aW1lIGFmdGVyIHdyaXRlX2JlZ2luKCkvd3JpdGVfZW5kKCkKKwkJICogaGFzIGJlZW4gY2FsbGVkIGFsbCBidWZmZXJzIGhhdmUgYmVlbiBjbGVhbiBhbmQgdGh1cyB0aGV5CisJCSAqIG11c3QgaGF2ZSBiZWVuIHdyaXR0ZW4gYXQgbGVhc3Qgb25jZS4gU28gdGhleSBhcmUgYWxsCisJCSAqIG1hcHBlZCBhbmQgd2UgY2FuIGhhcHBpbHkgcHJvY2VlZCB3aXRoIG1hcHBpbmcgdGhlbQorCQkgKiBhbmQgd3JpdGluZyB0aGUgcGFnZS4KKwkJICoKKwkJICogVHJ5IHRvIGluaXRpYWxpemUgdGhlIGJ1ZmZlcl9oZWFkcyBhbmQgY2hlY2sgd2hldGhlcgorCQkgKiBhbGwgYXJlIG1hcHBlZCBhbmQgbm9uIGRlbGF5LiBXZSBkb24ndCB3YW50IHRvCisJCSAqIGRvIGJsb2NrIGFsbG9jYXRpb24gaGVyZS4KKwkJICovCisJCXJldCA9IGJsb2NrX3ByZXBhcmVfd3JpdGUocGFnZSwgMCwgUEFHRV9DQUNIRV9TSVpFLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlKTsKKwkJaWYgKCFyZXQpIHsKKwkJCXBhZ2VfYnVmcyA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKKwkJCS8qIGNoZWNrIHdoZXRoZXIgYWxsIGFyZSBtYXBwZWQgYW5kIG5vbiBkZWxheSAqLworCQkJaWYgKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmcywgMCwgbGVuLCBOVUxMLAorCQkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpIHsKKwkJCQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCQkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJCXJldHVybiAwOworCQkJfQorCQl9IGVsc2UgeworCQkJLyoKKwkJCSAqIFdlIGNhbid0IGRvIGJsb2NrIGFsbG9jYXRpb24gaGVyZQorCQkJICogc28ganVzdCByZWRpdHkgdGhlIHBhZ2UgYW5kIHVubG9jaworCQkJICogYW5kIHJldHVybgorCQkJICovCisJCQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWlmICh0ZXN0X29wdChpbm9kZS0+aV9zYiwgTk9CSCkgJiYgZXh0NF9zaG91bGRfd3JpdGViYWNrX2RhdGEoaW5vZGUpKQorCQlyZXQgPSBub2JoX3dyaXRlcGFnZShwYWdlLCBleHQ0X25vcm1hbF9nZXRfYmxvY2tfd3JpdGUsIHdiYyk7CisJZWxzZQorCQlyZXQgPSBibG9ja193cml0ZV9mdWxsX3BhZ2UocGFnZSwKKwkJCQkJCWV4dDRfbm9ybWFsX2dldF9ibG9ja193cml0ZSwKKwkJCQkJCXdiYyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogRm9yIG5vdyBqdXN0IGZvbGxvdyB0aGUgRElPIHdheSB0byBlc3RpbWF0ZSB0aGUgbWF4IGNyZWRpdHMKKyAqIG5lZWRlZCB0byB3cml0ZSBvdXQgRVhUNF9NQVhfV1JJVEVCQUNLX1BBR0VTLgorICogdG9kbzogbmVlZCB0byBjYWxjdWxhdGUgdGhlIG1heCBjcmVkaXRzIG5lZWQgZm9yCisgKiBleHRlbnQgYmFzZWQgZmlsZXMsIGN1cnJlbnRseSB0aGUgRElPIGNyZWRpdHMgaXMgYmFzZWQgb24KKyAqIGluZGlyZWN0LWJsb2NrcyBtYXBwaW5nIHdheS4KKyAqCisgKiBQcm9iYWJseSBzaG91bGQgaGF2ZSBhIGdlbmVyaWMgd2F5IHRvIGNhbGN1bGF0ZSBjcmVkaXRzCisgKiBmb3IgRElPLCB3cml0ZXBhZ2VzLCBhbmQgdHJ1bmNhdGUKKyAqLworI2RlZmluZSBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVMgICAgICBESU9fTUFYX0JMT0NLUworI2RlZmluZSBFWFQ0X01BWF9XUklURUJBQ0tfQ1JFRElUUyAgICBESU9fQ1JFRElUUworCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKwkJCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwloYW5kbGVfdCAqaGFuZGxlID0gTlVMTDsKKwlpbnQgbmVlZGVkX2Jsb2NrczsKKwlpbnQgcmV0ID0gMDsKKwlsb25nIHRvX3dyaXRlOworCWxvZmZfdCByYW5nZV9zdGFydCA9IDA7CisKKwkvKgorCSAqIE5vIHBhZ2VzIHRvIHdyaXRlPyBUaGlzIGlzIG1haW5seSBhIGtsdWRnZSB0byBhdm9pZCBzdGFydGluZworCSAqIGEgdHJhbnNhY3Rpb24gZm9yIHNwZWNpYWwgaW5vZGVzIGxpa2Ugam91cm5hbCBpbm9kZSBvbiBsYXN0IGlwdXQoKQorCSAqIGJlY2F1c2UgdGhhdCBjb3VsZCB2aW9sYXRlIGxvY2sgb3JkZXJpbmcgb24gdW1vdW50CisJICovCisJaWYgKCFtYXBwaW5nLT5ucnBhZ2VzKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogRXN0aW1hdGUgdGhlIHdvcnNlIGNhc2UgbmVlZGVkIGNyZWRpdHMgdG8gd3JpdGUgb3V0CisJICogRVhUNF9NQVhfQlVGX0JMT0NLUyBwYWdlcworCSAqLworCW5lZWRlZF9ibG9ja3MgPSBFWFQ0X01BWF9XUklURUJBQ0tfQ1JFRElUUzsKKworCXRvX3dyaXRlID0gd2JjLT5ucl90b193cml0ZTsKKwlpZiAoIXdiYy0+cmFuZ2VfY3ljbGljKSB7CisJCS8qCisJCSAqIElmIHJhbmdlX2N5Y2xpYyBpcyBub3Qgc2V0IGZvcmNlIHJhbmdlX2NvbnQKKwkJICogYW5kIHNhdmUgdGhlIG9sZCB3cml0ZWJhY2tfaW5kZXgKKwkJICovCisJCXdiYy0+cmFuZ2VfY29udCA9IDE7CisJCXJhbmdlX3N0YXJ0ID0gIHdiYy0+cmFuZ2Vfc3RhcnQ7CisJfQorCisJd2hpbGUgKCFyZXQgJiYgdG9fd3JpdGUpIHsKKwkJLyogc3RhcnQgYSBuZXcgdHJhbnNhY3Rpb24qLworCQloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIG5lZWRlZF9ibG9ja3MpOworCQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKKwkJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKKwkJCWdvdG8gb3V0X3dyaXRlcGFnZXM7CisJCX0KKwkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKSB7CisJCQkvKgorCQkJICogV2l0aCBvcmRlcmVkIG1vZGUgd2UgbmVlZCB0byBhZGQKKwkJCSAqIHRoZSBpbm9kZSB0byB0aGUgam91cm5hbCBoYW5kbGUKKwkJCSAqIHdoZW4gd2UgZG8gYmxvY2sgYWxsb2NhdGlvbi4KKwkJCSAqLworCQkJcmV0ID0gZXh0NF9qYmQyX2ZpbGVfaW5vZGUoaGFuZGxlLCBpbm9kZSk7CisJCQlpZiAocmV0KSB7CisJCQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJCQlnb3RvIG91dF93cml0ZXBhZ2VzOworCQkJfQorCisJCX0KKwkJLyoKKwkJICogc2V0IHRoZSBtYXggZGlydHkgcGFnZXMgY291bGQgYmUgd3JpdGUgYXQgYSB0aW1lCisJCSAqIHRvIGZpdCBpbnRvIHRoZSByZXNlcnZlZCB0cmFuc2FjdGlvbiBjcmVkaXRzCisJCSAqLworCQlpZiAod2JjLT5ucl90b193cml0ZSA+IEVYVDRfTUFYX1dSSVRFQkFDS19QQUdFUykKKwkJCXdiYy0+bnJfdG9fd3JpdGUgPSBFWFQ0X01BWF9XUklURUJBQ0tfUEFHRVM7CisKKwkJdG9fd3JpdGUgLT0gd2JjLT5ucl90b193cml0ZTsKKwkJcmV0ID0gbXBhZ2VfZGFfd3JpdGVwYWdlcyhtYXBwaW5nLCB3YmMsCisJCQkJCQlleHQ0X2RhX2dldF9ibG9ja193cml0ZSk7CisJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CisJCWlmICh3YmMtPm5yX3RvX3dyaXRlKSB7CisJCQkvKgorCQkJICogVGhlcmUgaXMgbm8gbW9yZSB3cml0ZW91dCBuZWVkZWQKKwkJCSAqIG9yIHdlIHJlcXVlc3RlZCBmb3IgYSBub2Jsb2NraW5nIHdyaXRlb3V0CisJCQkgKiBhbmQgd2UgZm91bmQgdGhlIGRldmljZSBjb25nZXN0ZWQKKwkJCSAqLworCQkJdG9fd3JpdGUgKz0gd2JjLT5ucl90b193cml0ZTsKKwkJCWJyZWFrOworCQl9CisJCXdiYy0+bnJfdG9fd3JpdGUgPSB0b193cml0ZTsKKwl9CisKK291dF93cml0ZXBhZ2VzOgorCXdiYy0+bnJfdG9fd3JpdGUgPSB0b193cml0ZTsKKwlpZiAocmFuZ2Vfc3RhcnQpCisJCXdiYy0+cmFuZ2Vfc3RhcnQgPSByYW5nZV9zdGFydDsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGV4dDRfZGFfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAorCQkJCWxvZmZfdCBwb3MsIHVuc2lnbmVkIGxlbiwgdW5zaWduZWQgZmxhZ3MsCisJCQkJc3RydWN0IHBhZ2UgKipwYWdlcCwgdm9pZCAqKmZzZGF0YSkKK3sKKwlpbnQgcmV0LCByZXRyaWVzID0gMDsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlwZ29mZl90IGluZGV4OworCXVuc2lnbmVkIGZyb20sIHRvOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OworCWhhbmRsZV90ICpoYW5kbGU7CisKKwlpbmRleCA9IHBvcyA+PiBQQUdFX0NBQ0hFX1NISUZUOworCWZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7CisJdG8gPSBmcm9tICsgbGVuOworCityZXRyeToKKwkvKgorCSAqIFdpdGggZGVsYXllZCBhbGxvY2F0aW9uLCB3ZSBkb24ndCBsb2cgdGhlIGlfZGlza3NpemUgdXBkYXRlCisJICogaWYgdGhlcmUgaXMgZGVsYXllZCBibG9jayBhbGxvY2F0aW9uLiBCdXQgd2Ugc3RpbGwgbmVlZAorCSAqIHRvIGpvdXJuYWxsaW5nIHRoZSBpX2Rpc2tzaXplIHVwZGF0ZSBpZiB3cml0ZXMgdG8gdGhlIGVuZAorCSAqIG9mIGZpbGUgd2hpY2ggaGFzIGFuIGFscmVhZHkgbWFwcGVkIGJ1ZmZlci4KKwkgKi8KKwloYW5kbGUgPSBleHQ0X2pvdXJuYWxfc3RhcnQoaW5vZGUsIDEpOworCWlmIChJU19FUlIoaGFuZGxlKSkgeworCQlyZXQgPSBQVFJfRVJSKGhhbmRsZSk7CisJCWdvdG8gb3V0OworCX0KKworCXBhZ2UgPSBfX2dyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7CisJaWYgKCFwYWdlKQorCQlyZXR1cm4gLUVOT01FTTsKKwkqcGFnZXAgPSBwYWdlOworCisJcmV0ID0gYmxvY2tfd3JpdGVfYmVnaW4oZmlsZSwgbWFwcGluZywgcG9zLCBsZW4sIGZsYWdzLCBwYWdlcCwgZnNkYXRhLAorCQkJCQkJCWV4dDRfZGFfZ2V0X2Jsb2NrX3ByZXApOworCWlmIChyZXQgPCAwKSB7CisJCXVubG9ja19wYWdlKHBhZ2UpOworCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJfQorCisJaWYgKHJldCA9PSAtRU5PU1BDICYmIGV4dDRfc2hvdWxkX3JldHJ5X2FsbG9jKGlub2RlLT5pX3NiLCAmcmV0cmllcykpCisJCWdvdG8gcmV0cnk7CitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIENoZWNrIGlmIHdlIHNob3VsZCB1cGRhdGUgaV9kaXNrc2l6ZQorICogd2hlbiB3cml0ZSB0byB0aGUgZW5kIG9mIGZpbGUgYnV0IG5vdCByZXF1aXJlIGJsb2NrIGFsbG9jYXRpb24KKyAqLworc3RhdGljIGludCBleHQ0X2RhX3Nob3VsZF91cGRhdGVfaV9kaXNrc2l6ZShzdHJ1Y3QgcGFnZSAqcGFnZSwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisJdW5zaWduZWQgaW50IGlkeDsKKwlpbnQgaTsKKworCWJoID0gcGFnZV9idWZmZXJzKHBhZ2UpOworCWlkeCA9IG9mZnNldCA+PiBpbm9kZS0+aV9ibGtiaXRzOworCisJZm9yIChpPTA7IGkgPCBpZHg7IGkrKykKKwkJYmggPSBiaC0+Yl90aGlzX3BhZ2U7CisKKwlpZiAoIWJ1ZmZlcl9tYXBwZWQoYmgpIHx8IChidWZmZXJfZGVsYXkoYmgpKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZXh0NF9kYV93cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsCisJCQkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkJbG9mZl90IHBvcywgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsCisJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkKK3sKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKKwlpbnQgcmV0ID0gMCwgcmV0MjsKKwloYW5kbGVfdCAqaGFuZGxlID0gZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCk7CisJbG9mZl90IG5ld19pX3NpemU7CisJdW5zaWduZWQgbG9uZyBzdGFydCwgZW5kOworCisJc3RhcnQgPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7CisJZW5kID0gc3RhcnQgKyBjb3BpZWQgLTE7CisKKwkvKgorCSAqIGdlbmVyaWNfd3JpdGVfZW5kKCkgd2lsbCBydW4gbWFya19pbm9kZV9kaXJ0eSgpIGlmIGlfc2l6ZQorCSAqIGNoYW5nZXMuICBTbyBsZXQncyBwaWdneWJhY2sgdGhlIGlfZGlza3NpemUgbWFya19pbm9kZV9kaXJ0eQorCSAqIGludG8gdGhhdC4KKwkgKi8KKworCW5ld19pX3NpemUgPSBwb3MgKyBjb3BpZWQ7CisJaWYgKG5ld19pX3NpemUgPiBFWFQ0X0koaW5vZGUpLT5pX2Rpc2tzaXplKSB7CisJCWlmIChleHQ0X2RhX3Nob3VsZF91cGRhdGVfaV9kaXNrc2l6ZShwYWdlLCBlbmQpKSB7CisJCQlkb3duX3dyaXRlKCZFWFQ0X0koaW5vZGUpLT5pX2RhdGFfc2VtKTsKKwkJCWlmIChuZXdfaV9zaXplID4gRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSkgeworCQkJCS8qCisJCQkJICogVXBkYXRpbmcgaV9kaXNrc2l6ZSB3aGVuIGV4dGVuZGluZyBmaWxlCisJCQkJICogd2l0aG91dCBuZWVkaW5nIGJsb2NrIGFsbG9jYXRpb24KKwkJCQkgKi8KKwkJCQlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkpCisJCQkJCXJldCA9IGV4dDRfamJkMl9maWxlX2lub2RlKGhhbmRsZSwKKwkJCQkJCQkJICAgaW5vZGUpOworCisJCQkJRVhUNF9JKGlub2RlKS0+aV9kaXNrc2l6ZSA9IG5ld19pX3NpemU7CisJCQl9CisJCQl1cF93cml0ZSgmRVhUNF9JKGlub2RlKS0+aV9kYXRhX3NlbSk7CisJCX0KKwl9CisJcmV0MiA9IGdlbmVyaWNfd3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBvcywgbGVuLCBjb3BpZWQsCisJCQkJCQkJcGFnZSwgZnNkYXRhKTsKKwljb3BpZWQgPSByZXQyOworCWlmIChyZXQyIDwgMCkKKwkJcmV0ID0gcmV0MjsKKwlyZXQyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gcmV0MjsKKworCXJldHVybiByZXQgPyByZXQgOiBjb3BpZWQ7Cit9CisKK3N0YXRpYyB2b2lkIGV4dDRfZGFfaW52YWxpZGF0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCS8qCisJICogRHJvcCByZXNlcnZlZCBibG9ja3MKKwkgKi8KKwlCVUdfT04oIVBhZ2VMb2NrZWQocGFnZSkpOworCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSkKKwkJZ290byBvdXQ7CisKKwlleHQ0X2RhX3BhZ2VfcmVsZWFzZV9yZXNlcnZhdGlvbihwYWdlLCBvZmZzZXQpOworCitvdXQ6CisJZXh0NF9pbnZhbGlkYXRlcGFnZShwYWdlLCBvZmZzZXQpOworCisJcmV0dXJuOworfQorCiAKIC8qCiAgKiBibWFwKCkgaXMgc3BlY2lhbC4gIEl0IGdldHMgdXNlZCBieSBhcHBsaWNhdGlvbnMgc3VjaCBhcyBsaWxvIGFuZCBieQpAQCAtMTQxOCw2ICsyNDA5LDE2IEBACiAJam91cm5hbF90ICpqb3VybmFsOwogCWludCBlcnI7CiAKKwlpZiAobWFwcGluZ190YWdnZWQobWFwcGluZywgUEFHRUNBQ0hFX1RBR19ESVJUWSkgJiYKKwkJCXRlc3Rfb3B0KGlub2RlLT5pX3NiLCBERUxBTExPQykpIHsKKwkJLyoKKwkJICogV2l0aCBkZWxhbGxvYyB3ZSB3YW50IHRvIHN5bmMgdGhlIGZpbGUKKwkJICogc28gdGhhdCB3ZSBjYW4gbWFrZSBzdXJlIHdlIGFsbG9jYXRlCisJCSAqIGJsb2NrcyBmb3IgZmlsZQorCQkgKi8KKwkJZmlsZW1hcF93cml0ZV9hbmRfd2FpdChtYXBwaW5nKTsKKwl9CisKIAlpZiAoRVhUNF9JKGlub2RlKS0+aV9zdGF0ZSAmIEVYVDRfU1RBVEVfSkRBVEEpIHsKIAkJLyoKIAkJICogVGhpcyBpcyBhIFJFQUxMWSBoZWF2eXdlaWdodCBhcHByb2FjaCwgYnV0IHRoZSB1c2Ugb2YKQEAgLTE0NjIsMjEgKzI0NjMsMTcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YV9mbihoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWlmIChidWZmZXJfbWFwcGVkKGJoKSkKLQkJcmV0dXJuIGV4dDRfam91cm5hbF9kaXJ0eV9kYXRhKGhhbmRsZSwgYmgpOwotCXJldHVybiAwOwotfQotCiAvKgotICogTm90ZSB0aGF0IHdlIGFsd2F5cyBzdGFydCBhIHRyYW5zYWN0aW9uIGV2ZW4gaWYgd2UncmUgbm90IGpvdXJuYWxsaW5nCi0gKiBkYXRhLiAgVGhpcyBpcyB0byBwcmVzZXJ2ZSBvcmRlcmluZzogYW55IGhvbGUgaW5zdGFudGlhdGlvbiB3aXRoaW4KLSAqIF9fYmxvY2tfd3JpdGVfZnVsbF9wYWdlIC0+IGV4dDRfZ2V0X2Jsb2NrKCkgc2hvdWxkIGJlIGpvdXJuYWxsZWQKLSAqIGFsb25nIHdpdGggdGhlIGRhdGEgc28gd2UgZG9uJ3QgY3Jhc2ggYW5kIHRoZW4gZ2V0IG1ldGFkYXRhIHdoaWNoCi0gKiByZWZlcnMgdG8gb2xkIGRhdGEuCisgKiBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBzdGFydCBhIHRyYW5zYWN0aW9uIHVubGVzcyB3ZSdyZSBqb3VybmFsaW5nIGRhdGEKKyAqIGJlY2F1c2Ugd2Ugc2hvdWxkIGhhdmUgaG9sZXMgZmlsbGVkIGZyb20gZXh0NF9wYWdlX21rd3JpdGUoKS4gV2UgZXZlbiBkb24ndAorICogbmVlZCB0byBmaWxlIHRoZSBpbm9kZSB0byB0aGUgdHJhbnNhY3Rpb24ncyBsaXN0IGluIG9yZGVyZWQgbW9kZSBiZWNhdXNlIGlmCisgKiB3ZSBhcmUgd3JpdGluZyBiYWNrIGRhdGEgYWRkZWQgYnkgd3JpdGUoKSwgdGhlIGlub2RlIGlzIGFscmVhZHkgdGhlcmUgYW5kIGlmCisgKiB3ZSBhcmUgd3JpdGluZyBiYWNrIGRhdGEgbW9kaWZpZWQgdmlhIG1tYXAoKSwgbm9vbmUgZ3VhcmFudGVlcyBpbiB3aGljaAorICogdHJhbnNhY3Rpb24gdGhlIGRhdGEgd2lsbCBoaXQgdGhlIGRpc2suIEluIGNhc2Ugd2UgYXJlIGpvdXJuYWxpbmcgZGF0YSwgd2UKKyAqIGNhbm5vdCBzdGFydCB0cmFuc2FjdGlvbiBkaXJlY3RseSBiZWNhdXNlIHRyYW5zYWN0aW9uIHN0YXJ0IHJhbmtzIGFib3ZlIHBhZ2UKKyAqIGxvY2sgc28gd2UgaGF2ZSB0byBkbyBzb21lIG1hZ2ljLgogICoKLSAqIEluIGFsbCBqb3VybmFsbGluZyBtb2RlcyBibG9ja193cml0ZV9mdWxsX3BhZ2UoKSB3aWxsIHN0YXJ0IHRoZSBJL08uCisgKiBJbiBhbGwgam91cm5hbGluZyBtb2RlcyBibG9ja193cml0ZV9mdWxsX3BhZ2UoKSB3aWxsIHN0YXJ0IHRoZSBJL08uCiAgKgogICogUHJvYmxlbToKICAqCkBAIC0xNTE4LDEwNSArMjUxNSwxMDMgQEAKICAqIGRpc2FzdHJvdXMuICBBbnkgd3JpdGUoKSBvciBtZXRhZGF0YSBvcGVyYXRpb24gd2lsbCBzeW5jIHRoZSBmcyBmb3IKICAqIHVzLgogICoKLSAqIEFLUE0yOiBpZiBhbGwgdGhlIHBhZ2UncyBidWZmZXJzIGFyZSBtYXBwZWQgdG8gZGlzayBhbmQgIWRhdGE9am91cm5hbCwKLSAqIHdlIGRvbid0IG5lZWQgdG8gb3BlbiBhIHRyYW5zYWN0aW9uIGhlcmUuCiAgKi8KLXN0YXRpYyBpbnQgZXh0NF9vcmRlcmVkX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwKK3N0YXRpYyBpbnQgX19leHQ0X25vcm1hbF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCiAJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisKKwlpZiAodGVzdF9vcHQoaW5vZGUtPmlfc2IsIE5PQkgpKQorCQlyZXR1cm4gbm9iaF93cml0ZXBhZ2UocGFnZSwKKwkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLCB3YmMpOworCWVsc2UKKwkJcmV0dXJuIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLAorCQkJCQkJd2JjKTsKK30KKworc3RhdGljIGludCBleHQ0X25vcm1hbF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCit7CisJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7CisJbG9mZl90IHNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJbG9mZl90IGxlbjsKKworCUpfQVNTRVJUKFBhZ2VMb2NrZWQocGFnZSkpOworCWlmIChwYWdlLT5pbmRleCA9PSBzaXplID4+IFBBR0VfQ0FDSEVfU0hJRlQpCisJCWxlbiA9IHNpemUgJiB+UEFHRV9DQUNIRV9NQVNLOworCWVsc2UKKwkJbGVuID0gUEFHRV9DQUNIRV9TSVpFOworCisJaWYgKHBhZ2VfaGFzX2J1ZmZlcnMocGFnZSkpIHsKKwkJLyogaWYgcGFnZSBoYXMgYnVmZmVycyBpdCBzaG91bGQgYWxsIGJlIG1hcHBlZAorCQkgKiBhbmQgYWxsb2NhdGVkLiBJZiB0aGVyZSBhcmUgbm90IGJ1ZmZlcnMgYXR0YWNoZWQKKwkJICogdG8gdGhlIHBhZ2Ugd2Uga25vdyB0aGUgcGFnZSBpcyBkaXJ0eSBidXQgaXQgbG9zdAorCQkgKiBidWZmZXJzLiBUaGF0IG1lYW5zIHRoYXQgYXQgc29tZSBtb21lbnQgaW4gdGltZQorCQkgKiBhZnRlciB3cml0ZV9iZWdpbigpIC8gd3JpdGVfZW5kKCkgaGFzIGJlZW4gY2FsbGVkCisJCSAqIGFsbCBidWZmZXJzIGhhdmUgYmVlbiBjbGVhbiBhbmQgdGh1cyB0aGV5IG11c3QgaGF2ZSBiZWVuCisJCSAqIHdyaXR0ZW4gYXQgbGVhc3Qgb25jZS4gU28gdGhleSBhcmUgYWxsIG1hcHBlZCBhbmQgd2UgY2FuCisJCSAqIGhhcHBpbHkgcHJvY2VlZCB3aXRoIG1hcHBpbmcgdGhlbSBhbmQgd3JpdGluZyB0aGUgcGFnZS4KKwkJICovCisJCUJVR19PTih3YWxrX3BhZ2VfYnVmZmVycyhOVUxMLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsIGxlbiwgTlVMTCwKKwkJCQkJZXh0NF9iaF91bm1hcHBlZF9vcl9kZWxheSkpOworCX0KKworCWlmICghZXh0NF9qb3VybmFsX2N1cnJlbnRfaGFuZGxlKCkpCisJCXJldHVybiBfX2V4dDRfbm9ybWFsX3dyaXRlcGFnZShwYWdlLCB3YmMpOworCisJcmVkaXJ0eV9wYWdlX2Zvcl93cml0ZXBhZ2Uod2JjLCBwYWdlKTsKKwl1bmxvY2tfcGFnZShwYWdlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2V4dDRfam91cm5hbGxlZF93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCisJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCit7CisJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcgPSBwYWdlLT5tYXBwaW5nOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBtYXBwaW5nLT5ob3N0OwogCXN0cnVjdCBidWZmZXJfaGVhZCAqcGFnZV9idWZzOwogCWhhbmRsZV90ICpoYW5kbGUgPSBOVUxMOwogCWludCByZXQgPSAwOwogCWludCBlcnI7CiAKLQlKX0FTU0VSVChQYWdlTG9ja2VkKHBhZ2UpKTsKKwlyZXQgPSBibG9ja19wcmVwYXJlX3dyaXRlKHBhZ2UsIDAsIFBBR0VfQ0FDSEVfU0laRSwKKwkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlKTsKKwlpZiAocmV0ICE9IDApCisJCWdvdG8gb3V0X3VubG9jazsKIAotCS8qCi0JICogV2UgZ2l2ZSB1cCBoZXJlIGlmIHdlJ3JlIHJlZW50ZXJlZCwgYmVjYXVzZSBpdCBtaWdodCBiZSBmb3IgYQotCSAqIGRpZmZlcmVudCBmaWxlc3lzdGVtLgotCSAqLwotCWlmIChleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKLQkJZ290byBvdXRfZmFpbDsKLQotCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSk7Ci0KLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwotCQlnb3RvIG91dF9mYWlsOwotCX0KLQotCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgewotCQljcmVhdGVfZW1wdHlfYnVmZmVycyhwYWdlLCBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemUsCi0JCQkJKDEgPDwgQkhfRGlydHkpfCgxIDw8IEJIX1VwdG9kYXRlKSk7Ci0JfQogCXBhZ2VfYnVmcyA9IHBhZ2VfYnVmZmVycyhwYWdlKTsKLQl3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKLQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgYmdldF9vbmUpOwotCi0JcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOwotCi0JLyoKLQkgKiBUaGUgcGFnZSBjYW4gYmVjb21lIHVubG9ja2VkIGF0IGFueSBwb2ludCBub3csIGFuZAotCSAqIHRydW5jYXRlIGNhbiB0aGVuIGNvbWUgaW4gYW5kIGNoYW5nZSB0aGluZ3MuICBTbyB3ZQotCSAqIGNhbid0IHRvdWNoICpwYWdlIGZyb20gbm93IG9uLiAgQnV0ICpwYWdlX2J1ZnMgaXMKLQkgKiBzYWZlIGR1ZSB0byBlbGV2YXRlZCByZWZjb3VudC4KLQkgKi8KLQotCS8qCi0JICogQW5kIGF0dGFjaCB0aGVtIHRvIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uLiAgQnV0IG9ubHkgaWYKLQkgKiBibG9ja193cml0ZV9mdWxsX3BhZ2UoKSBzdWNjZWVkZWQuICBPdGhlcndpc2UgdGhleSBhcmUgdW5tYXBwZWQsCi0JICogYW5kIGdlbmVyYWxseSBqdW5rLgotCSAqLwotCWlmIChyZXQgPT0gMCkgewotCQllcnIgPSB3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwgUEFHRV9DQUNIRV9TSVpFLAotCQkJCQlOVUxMLCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YV9mbik7Ci0JCWlmICghcmV0KQotCQkJcmV0ID0gZXJyOwotCX0KLQl3YWxrX3BhZ2VfYnVmZmVycyhoYW5kbGUsIHBhZ2VfYnVmcywgMCwKLQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgYnB1dF9vbmUpOwotCWVyciA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7Ci0JaWYgKCFyZXQpCi0JCXJldCA9IGVycjsKLQlyZXR1cm4gcmV0OwotCi1vdXRfZmFpbDoKLQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLCBQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsCisJCQkJCQkJCWJnZXRfb25lKTsKKwkvKiBBcyBzb29uIGFzIHdlIHVubG9jayB0aGUgcGFnZSwgaXQgY2FuIGdvIGF3YXksIGJ1dCB3ZSBoYXZlCisJICogcmVmZXJlbmNlcyB0byBidWZmZXJzIHNvIHdlIGFyZSBzYWZlICovCiAJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIGludCBleHQ0X3dyaXRlYmFja193cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsCi0JCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCi17Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7Ci0JaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7Ci0JaW50IHJldCA9IDA7Ci0JaW50IGVycjsKLQotCWlmIChleHQ0X2pvdXJuYWxfY3VycmVudF9oYW5kbGUoKSkKLQkJZ290byBvdXRfZmFpbDsKIAogCWhhbmRsZSA9IGV4dDRfam91cm5hbF9zdGFydChpbm9kZSwgZXh0NF93cml0ZXBhZ2VfdHJhbnNfYmxvY2tzKGlub2RlKSk7CiAJaWYgKElTX0VSUihoYW5kbGUpKSB7CiAJCXJldCA9IFBUUl9FUlIoaGFuZGxlKTsKLQkJZ290byBvdXRfZmFpbDsKKwkJZ290byBvdXQ7CiAJfQogCi0JaWYgKHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBOT0JIKSAmJiBleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkpCi0JCXJldCA9IG5vYmhfd3JpdGVwYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOwotCWVsc2UKLQkJcmV0ID0gYmxvY2tfd3JpdGVfZnVsbF9wYWdlKHBhZ2UsIGV4dDRfZ2V0X2Jsb2NrLCB3YmMpOworCXJldCA9IHdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAorCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCBkb19qb3VybmFsX2dldF93cml0ZV9hY2Nlc3MpOwogCisJZXJyID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZnMsIDAsCisJCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCB3cml0ZV9lbmRfZm4pOworCWlmIChyZXQgPT0gMCkKKwkJcmV0ID0gZXJyOwogCWVyciA9IGV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IGVycjsKLQlyZXR1cm4gcmV0OwogCi1vdXRfZmFpbDoKLQlyZWRpcnR5X3BhZ2VfZm9yX3dyaXRlcGFnZSh3YmMsIHBhZ2UpOworCXdhbGtfcGFnZV9idWZmZXJzKGhhbmRsZSwgcGFnZV9idWZzLCAwLAorCQkJCVBBR0VfQ0FDSEVfU0laRSwgTlVMTCwgYnB1dF9vbmUpOworCUVYVDRfSShpbm9kZSktPmlfc3RhdGUgfD0gRVhUNF9TVEFURV9KREFUQTsKKwlnb3RvIG91dDsKKworb3V0X3VubG9jazoKIAl1bmxvY2tfcGFnZShwYWdlKTsKK291dDoKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNjI0LDU5ICsyNjE5LDUzIEBACiAJCQkJc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1hcHBpbmctPmhvc3Q7Ci0JaGFuZGxlX3QgKmhhbmRsZSA9IE5VTEw7Ci0JaW50IHJldCA9IDA7Ci0JaW50IGVycjsKKwlsb2ZmX3Qgc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2RlKTsKKwlsb2ZmX3QgbGVuOworCisJSl9BU1NFUlQoUGFnZUxvY2tlZChwYWdlKSk7CisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKiBpZiBwYWdlIGhhcyBidWZmZXJzIGl0IHNob3VsZCBhbGwgYmUgbWFwcGVkCisJCSAqIGFuZCBhbGxvY2F0ZWQuIElmIHRoZXJlIGFyZSBub3QgYnVmZmVycyBhdHRhY2hlZAorCQkgKiB0byB0aGUgcGFnZSB3ZSBrbm93IHRoZSBwYWdlIGlzIGRpcnR5IGJ1dCBpdCBsb3N0CisJCSAqIGJ1ZmZlcnMuIFRoYXQgbWVhbnMgdGhhdCBhdCBzb21lIG1vbWVudCBpbiB0aW1lCisJCSAqIGFmdGVyIHdyaXRlX2JlZ2luKCkgLyB3cml0ZV9lbmQoKSBoYXMgYmVlbiBjYWxsZWQKKwkJICogYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIGNsZWFuIGFuZCB0aHVzIHRoZXkgbXVzdCBoYXZlIGJlZW4KKwkJICogd3JpdHRlbiBhdCBsZWFzdCBvbmNlLiBTbyB0aGV5IGFyZSBhbGwgbWFwcGVkIGFuZCB3ZSBjYW4KKwkJICogaGFwcGlseSBwcm9jZWVkIHdpdGggbWFwcGluZyB0aGVtIGFuZCB3cml0aW5nIHRoZSBwYWdlLgorCQkgKi8KKwkJQlVHX09OKHdhbGtfcGFnZV9idWZmZXJzKE5VTEwsIHBhZ2VfYnVmZmVycyhwYWdlKSwgMCwgbGVuLCBOVUxMLAorCQkJCQlleHQ0X2JoX3VubWFwcGVkX29yX2RlbGF5KSk7CisJfQogCiAJaWYgKGV4dDRfam91cm5hbF9jdXJyZW50X2hhbmRsZSgpKQogCQlnb3RvIG5vX3dyaXRlOwogCi0JaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCBleHQ0X3dyaXRlcGFnZV90cmFuc19ibG9ja3MoaW5vZGUpKTsKLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJcmV0ID0gUFRSX0VSUihoYW5kbGUpOwotCQlnb3RvIG5vX3dyaXRlOwotCX0KLQotCWlmICghcGFnZV9oYXNfYnVmZmVycyhwYWdlKSB8fCBQYWdlQ2hlY2tlZChwYWdlKSkgeworCWlmIChQYWdlQ2hlY2tlZChwYWdlKSkgewogCQkvKgogCQkgKiBJdCdzIG1tYXBwZWQgcGFnZWNhY2hlLiAgQWRkIGJ1ZmZlcnMgYW5kIGpvdXJuYWwgaXQuICBUaGVyZQogCQkgKiBkb2Vzbid0IHNlZW0gbXVjaCBwb2ludCBpbiByZWRpcnR5aW5nIHRoZSBwYWdlIGhlcmUuCiAJCSAqLwogCQlDbGVhclBhZ2VDaGVja2VkKHBhZ2UpOwotCQlyZXQgPSBibG9ja19wcmVwYXJlX3dyaXRlKHBhZ2UsIDAsIFBBR0VfQ0FDSEVfU0laRSwKLQkJCQkJZXh0NF9nZXRfYmxvY2spOwotCQlpZiAocmV0ICE9IDApIHsKLQkJCWV4dDRfam91cm5hbF9zdG9wKGhhbmRsZSk7Ci0JCQlnb3RvIG91dF91bmxvY2s7Ci0JCX0KLQkJcmV0ID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsCi0JCQlQQUdFX0NBQ0hFX1NJWkUsIE5VTEwsIGRvX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2Vzcyk7Ci0KLQkJZXJyID0gd2Fsa19wYWdlX2J1ZmZlcnMoaGFuZGxlLCBwYWdlX2J1ZmZlcnMocGFnZSksIDAsCi0JCQkJUEFHRV9DQUNIRV9TSVpFLCBOVUxMLCB3cml0ZV9lbmRfZm4pOwotCQlpZiAocmV0ID09IDApCi0JCQlyZXQgPSBlcnI7Ci0JCUVYVDRfSShpbm9kZSktPmlfc3RhdGUgfD0gRVhUNF9TVEFURV9KREFUQTsKLQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCXJldHVybiBfX2V4dDRfam91cm5hbGxlZF93cml0ZXBhZ2UocGFnZSwgd2JjKTsKIAl9IGVsc2UgewogCQkvKgogCQkgKiBJdCBtYXkgYmUgYSBwYWdlIGZ1bGwgb2YgY2hlY2twb2ludC1tb2RlIGJ1ZmZlcnMuICBXZSBkb24ndAogCQkgKiByZWFsbHkga25vdyB1bmxlc3Mgd2UgZ28gcG9rZSBhcm91bmQgaW4gdGhlIGJ1ZmZlcl9oZWFkcy4KIAkJICogQnV0IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZSB3aWxsIGRvIHRoZSByaWdodCB0aGluZy4KIAkJICovCi0JCXJldCA9IGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLCBleHQ0X2dldF9ibG9jaywgd2JjKTsKKwkJcmV0dXJuIGJsb2NrX3dyaXRlX2Z1bGxfcGFnZShwYWdlLAorCQkJCQkJZXh0NF9ub3JtYWxfZ2V0X2Jsb2NrX3dyaXRlLAorCQkJCQkJd2JjKTsKIAl9Ci0JZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKLQlpZiAoIXJldCkKLQkJcmV0ID0gZXJyOwotb3V0OgotCXJldHVybiByZXQ7Ci0KIG5vX3dyaXRlOgogCXJlZGlydHlfcGFnZV9mb3Jfd3JpdGVwYWdlKHdiYywgcGFnZSk7Ci1vdXRfdW5sb2NrOgogCXVubG9ja19wYWdlKHBhZ2UpOwotCWdvdG8gb3V0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGV4dDRfcmVhZHBhZ2Uoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdlKQpAQCAtMTgxOSw3ICsyODA4LDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGV4dDRfb3JkZXJlZF9hb3BzID0gewogCS5yZWFkcGFnZQk9IGV4dDRfcmVhZHBhZ2UsCiAJLnJlYWRwYWdlcwk9IGV4dDRfcmVhZHBhZ2VzLAotCS53cml0ZXBhZ2UJPSBleHQ0X29yZGVyZWRfd3JpdGVwYWdlLAorCS53cml0ZXBhZ2UJPSBleHQ0X25vcm1hbF93cml0ZXBhZ2UsCiAJLnN5bmNfcGFnZQk9IGJsb2NrX3N5bmNfcGFnZSwKIAkud3JpdGVfYmVnaW4JPSBleHQ0X3dyaXRlX2JlZ2luLAogCS53cml0ZV9lbmQJPSBleHQ0X29yZGVyZWRfd3JpdGVfZW5kLApAQCAtMTgzMyw3ICsyODIyLDcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIGV4dDRfd3JpdGViYWNrX2FvcHMgPSB7CiAJLnJlYWRwYWdlCT0gZXh0NF9yZWFkcGFnZSwKIAkucmVhZHBhZ2VzCT0gZXh0NF9yZWFkcGFnZXMsCi0JLndyaXRlcGFnZQk9IGV4dDRfd3JpdGViYWNrX3dyaXRlcGFnZSwKKwkud3JpdGVwYWdlCT0gZXh0NF9ub3JtYWxfd3JpdGVwYWdlLAogCS5zeW5jX3BhZ2UJPSBibG9ja19zeW5jX3BhZ2UsCiAJLndyaXRlX2JlZ2luCT0gZXh0NF93cml0ZV9iZWdpbiwKIAkud3JpdGVfZW5kCT0gZXh0NF93cml0ZWJhY2tfd3JpdGVfZW5kLApAQCAtMTg1NywxMCArMjg0NiwzMSBAQAogCS5yZWxlYXNlcGFnZQk9IGV4dDRfcmVsZWFzZXBhZ2UsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucyBleHQ0X2RhX2FvcHMgPSB7CisJLnJlYWRwYWdlCT0gZXh0NF9yZWFkcGFnZSwKKwkucmVhZHBhZ2VzCT0gZXh0NF9yZWFkcGFnZXMsCisJLndyaXRlcGFnZQk9IGV4dDRfZGFfd3JpdGVwYWdlLAorCS53cml0ZXBhZ2VzCT0gZXh0NF9kYV93cml0ZXBhZ2VzLAorCS5zeW5jX3BhZ2UJPSBibG9ja19zeW5jX3BhZ2UsCisJLndyaXRlX2JlZ2luCT0gZXh0NF9kYV93cml0ZV9iZWdpbiwKKwkud3JpdGVfZW5kCT0gZXh0NF9kYV93cml0ZV9lbmQsCisJLmJtYXAJCT0gZXh0NF9ibWFwLAorCS5pbnZhbGlkYXRlcGFnZQk9IGV4dDRfZGFfaW52YWxpZGF0ZXBhZ2UsCisJLnJlbGVhc2VwYWdlCT0gZXh0NF9yZWxlYXNlcGFnZSwKKwkuZGlyZWN0X0lPCT0gZXh0NF9kaXJlY3RfSU8sCisJLm1pZ3JhdGVwYWdlCT0gYnVmZmVyX21pZ3JhdGVfcGFnZSwKK307CisKIHZvaWQgZXh0NF9zZXRfYW9wcyhzdHJ1Y3QgaW5vZGUgKmlub2RlKQogewotCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkKKwlpZiAoZXh0NF9zaG91bGRfb3JkZXJfZGF0YShpbm9kZSkgJiYKKwkJdGVzdF9vcHQoaW5vZGUtPmlfc2IsIERFTEFMTE9DKSkKKwkJaW5vZGUtPmlfbWFwcGluZy0+YV9vcHMgPSAmZXh0NF9kYV9hb3BzOworCWVsc2UgaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQogCQlpbm9kZS0+aV9tYXBwaW5nLT5hX29wcyA9ICZleHQ0X29yZGVyZWRfYW9wczsKKwllbHNlIGlmIChleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkgJiYKKwkJIHRlc3Rfb3B0KGlub2RlLT5pX3NiLCBERUxBTExPQykpCisJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfZGFfYW9wczsKIAllbHNlIGlmIChleHQ0X3Nob3VsZF93cml0ZWJhY2tfZGF0YShpbm9kZSkpCiAJCWlub2RlLT5pX21hcHBpbmctPmFfb3BzID0gJmV4dDRfd3JpdGViYWNrX2FvcHM7CiAJZWxzZQpAQCAtMTg3Myw3ICsyODgzLDcgQEAKICAqIFRoaXMgcmVxdWlyZWQgZHVyaW5nIHRydW5jYXRlLiBXZSBuZWVkIHRvIHBoeXNpY2FsbHkgemVybyB0aGUgdGFpbCBlbmQKICAqIG9mIHRoYXQgYmxvY2sgc28gaXQgZG9lc24ndCB5aWVsZCBvbGQgZGF0YSBpZiB0aGUgZmlsZSBpcyBsYXRlciBncm93bi4KICAqLwotaW50IGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgcGFnZSAqcGFnZSwKK2ludCBleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlX3QgKmhhbmRsZSwKIAkJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBmcm9tKQogewogCWV4dDRfZnNibGtfdCBpbmRleCA9IGZyb20gPj4gUEFHRV9DQUNIRV9TSElGVDsKQEAgLTE4ODIsOCArMjg5MiwxMyBAQAogCWV4dDRfbGJsa190IGlibG9jazsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gbWFwcGluZy0+aG9zdDsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCXN0cnVjdCBwYWdlICpwYWdlOwogCWludCBlcnIgPSAwOwogCisJcGFnZSA9IGdyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBmcm9tID4+IFBBR0VfQ0FDSEVfU0hJRlQpOworCWlmICghcGFnZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlibG9ja3NpemUgPSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemU7CiAJbGVuZ3RoID0gYmxvY2tzaXplIC0gKG9mZnNldCAmIChibG9ja3NpemUgLSAxKSk7CiAJaWJsb2NrID0gaW5kZXggPDwgKFBBR0VfQ0FDSEVfU0hJRlQgLSBpbm9kZS0+aV9zYi0+c19ibG9ja3NpemVfYml0cyk7CkBAIC0xOTU2LDcgKzI5NzEsNyBAQAogCQllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaCk7CiAJfSBlbHNlIHsKIAkJaWYgKGV4dDRfc2hvdWxkX29yZGVyX2RhdGEoaW5vZGUpKQotCQkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7CisJCQllcnIgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKIAkJbWFya19idWZmZXJfZGlydHkoYmgpOwogCX0KIApAQCAtMjE3OSw3ICszMTk0LDIxIEBACiAKIAlpZiAodGhpc19iaCkgewogCQlCVUZGRVJfVFJBQ0UodGhpc19iaCwgImNhbGwgZXh0NF9qb3VybmFsX2RpcnR5X21ldGFkYXRhIik7Ci0JCWV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIHRoaXNfYmgpOworCisJCS8qCisJCSAqIFRoZSBidWZmZXIgaGVhZCBzaG91bGQgaGF2ZSBhbiBhdHRhY2hlZCBqb3VybmFsIGhlYWQgYXQgdGhpcworCQkgKiBwb2ludC4gSG93ZXZlciwgaWYgdGhlIGRhdGEgaXMgY29ycnVwdGVkIGFuZCBhbiBpbmRpcmVjdAorCQkgKiBibG9jayBwb2ludGVkIHRvIGl0c2VsZiwgaXQgd291bGQgaGF2ZSBiZWVuIGRldGFjaGVkIHdoZW4KKwkJICogdGhlIGJsb2NrIHdhcyBjbGVhcmVkLiBDaGVjayBmb3IgdGhpcyBpbnN0ZWFkIG9mIE9PUFNpbmcuCisJCSAqLworCQlpZiAoYmgyamgodGhpc19iaCkpCisJCQlleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCB0aGlzX2JoKTsKKwkJZWxzZQorCQkJZXh0NF9lcnJvcihpbm9kZS0+aV9zYiwgX19mdW5jX18sCisJCQkJICAgImNpcmN1bGFyIGluZGlyZWN0IGJsb2NrIGRldGVjdGVkLCAiCisJCQkJICAgImlub2RlPSVsdSwgYmxvY2s9JWxsdSIsCisJCQkJICAgaW5vZGUtPmlfaW5vLAorCQkJCSAgICh1bnNpZ25lZCBsb25nIGxvbmcpIHRoaXNfYmgtPmJfYmxvY2tucik7CiAJfQogfQogCkBAIC0yMzA1LDYgKzMzMzQsMTkgQEAKIAl9CiB9CiAKK2ludCBleHQ0X2Nhbl90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCWlmIChJU19BUFBFTkQoaW5vZGUpIHx8IElTX0lNTVVUQUJMRShpbm9kZSkpCisJCXJldHVybiAwOworCWlmIChTX0lTUkVHKGlub2RlLT5pX21vZGUpKQorCQlyZXR1cm4gMTsKKwlpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuIDE7CisJaWYgKFNfSVNMTksoaW5vZGUtPmlfbW9kZSkpCisJCXJldHVybiAhZXh0NF9pbm9kZV9pc19mYXN0X3N5bWxpbmsoaW5vZGUpOworCXJldHVybiAwOworfQorCiAvKgogICogZXh0NF90cnVuY2F0ZSgpCiAgKgpAQCAtMjM0Nyw1MSArMzM4OSwyNSBAQAogCWludCBuOwogCWV4dDRfbGJsa190IGxhc3RfYmxvY2s7CiAJdW5zaWduZWQgYmxvY2tzaXplID0gaW5vZGUtPmlfc2ItPnNfYmxvY2tzaXplOwotCXN0cnVjdCBwYWdlICpwYWdlOwogCi0JaWYgKCEoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSB8fCBTX0lTRElSKGlub2RlLT5pX21vZGUpIHx8Ci0JICAgIFNfSVNMTksoaW5vZGUtPmlfbW9kZSkpKQorCWlmICghZXh0NF9jYW5fdHJ1bmNhdGUoaW5vZGUpKQogCQlyZXR1cm47Ci0JaWYgKGV4dDRfaW5vZGVfaXNfZmFzdF9zeW1saW5rKGlub2RlKSkKLQkJcmV0dXJuOwotCWlmIChJU19BUFBFTkQoaW5vZGUpIHx8IElTX0lNTVVUQUJMRShpbm9kZSkpCi0JCXJldHVybjsKLQotCS8qCi0JICogV2UgaGF2ZSB0byBsb2NrIHRoZSBFT0YgcGFnZSBoZXJlLCBiZWNhdXNlIGxvY2tfcGFnZSgpIG5lc3RzCi0JICogb3V0c2lkZSBqYmQyX2pvdXJuYWxfc3RhcnQoKS4KLQkgKi8KLQlpZiAoKGlub2RlLT5pX3NpemUgJiAoYmxvY2tzaXplIC0gMSkpID09IDApIHsKLQkJLyogQmxvY2sgYm91bmRhcnk/IE5vdGhpbmcgdG8gZG8gKi8KLQkJcGFnZSA9IE5VTEw7Ci0JfSBlbHNlIHsKLQkJcGFnZSA9IGdyYWJfY2FjaGVfcGFnZShtYXBwaW5nLAotCQkJCWlub2RlLT5pX3NpemUgPj4gUEFHRV9DQUNIRV9TSElGVCk7Ci0JCWlmICghcGFnZSkKLQkJCXJldHVybjsKLQl9CiAKIAlpZiAoRVhUNF9JKGlub2RlKS0+aV9mbGFncyAmIEVYVDRfRVhURU5UU19GTCkgewotCQlleHQ0X2V4dF90cnVuY2F0ZShpbm9kZSwgcGFnZSk7CisJCWV4dDRfZXh0X3RydW5jYXRlKGlub2RlKTsKIAkJcmV0dXJuOwogCX0KIAogCWhhbmRsZSA9IHN0YXJ0X3RyYW5zYWN0aW9uKGlub2RlKTsKLQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKLQkJaWYgKHBhZ2UpIHsKLQkJCWNsZWFyX2hpZ2hwYWdlKHBhZ2UpOwotCQkJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7Ci0JCQl1bmxvY2tfcGFnZShwYWdlKTsKLQkJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKLQkJfQorCWlmIChJU19FUlIoaGFuZGxlKSkKIAkJcmV0dXJuOwkJLyogQUtQTTogcmV0dXJuIHdoYXQ/ICovCi0JfQogCiAJbGFzdF9ibG9jayA9IChpbm9kZS0+aV9zaXplICsgYmxvY2tzaXplLTEpCiAJCQkJCT4+IEVYVDRfQkxPQ0tfU0laRV9CSVRTKGlub2RlLT5pX3NiKTsKIAotCWlmIChwYWdlKQotCQlleHQ0X2Jsb2NrX3RydW5jYXRlX3BhZ2UoaGFuZGxlLCBwYWdlLCBtYXBwaW5nLCBpbm9kZS0+aV9zaXplKTsKKwlpZiAoaW5vZGUtPmlfc2l6ZSAmIChibG9ja3NpemUgLSAxKSkKKwkJaWYgKGV4dDRfYmxvY2tfdHJ1bmNhdGVfcGFnZShoYW5kbGUsIG1hcHBpbmcsIGlub2RlLT5pX3NpemUpKQorCQkJZ290byBvdXRfc3RvcDsKIAogCW4gPSBleHQ0X2Jsb2NrX3RvX3BhdGgoaW5vZGUsIGxhc3RfYmxvY2ssIG9mZnNldHMsIE5VTEwpOwogCWlmIChuID09IDApCkBAIC0yNDEwLDYgKzM0MjYsMTEgQEAKIAkJZ290byBvdXRfc3RvcDsKIAogCS8qCisJICogRnJvbSBoZXJlIHdlIGJsb2NrIG91dCBhbGwgZXh0NF9nZXRfYmxvY2soKSBjYWxsZXJzIHdobyB3YW50IHRvCisJICogbW9kaWZ5IHRoZSBibG9jayBhbGxvY2F0aW9uIHRyZWUuCisJICovCisJZG93bl93cml0ZSgmZWktPmlfZGF0YV9zZW0pOworCS8qCiAJICogVGhlIG9ycGhhbiBsaXN0IGVudHJ5IHdpbGwgbm93IHByb3RlY3QgdXMgZnJvbSBhbnkgY3Jhc2ggd2hpY2gKIAkgKiBvY2N1cnMgYmVmb3JlIHRoZSB0cnVuY2F0ZSBjb21wbGV0ZXMsIHNvIGl0IGlzIG5vdyBzYWZlIHRvIHByb3BhZ2F0ZQogCSAqIHRoZSBuZXcsIHNob3J0ZXIgaW5vZGUgc2l6ZSAoaGVsZCBmb3Igbm93IGluIGlfc2l6ZSkgaW50byB0aGUKQEAgLTI0MTgsMTIgKzM0MzksNiBAQAogCSAqLwogCWVpLT5pX2Rpc2tzaXplID0gaW5vZGUtPmlfc2l6ZTsKIAotCS8qCi0JICogRnJvbSBoZXJlIHdlIGJsb2NrIG91dCBhbGwgZXh0NF9nZXRfYmxvY2soKSBjYWxsZXJzIHdobyB3YW50IHRvCi0JICogbW9kaWZ5IHRoZSBibG9jayBhbGxvY2F0aW9uIHRyZWUuCi0JICovCi0JZG93bl93cml0ZSgmZWktPmlfZGF0YV9zZW0pOwotCiAJaWYgKG4gPT0gMSkgewkJLyogZGlyZWN0IGJsb2NrcyAqLwogCQlleHQ0X2ZyZWVfZGF0YShoYW5kbGUsIGlub2RlLCBOVUxMLCBpX2RhdGErb2Zmc2V0c1swXSwKIAkJCSAgICAgICBpX2RhdGEgKyBFWFQ0X05ESVJfQkxPQ0tTKTsKQEAgLTMxMDcsNyArNDEyMiwxNCBAQAogICogYmUgZnJlZWQsIHNvIHdlIGhhdmUgYSBzdHJvbmcgZ3VhcmFudGVlIHRoYXQgbm8gZnV0dXJlIGNvbW1pdCB3aWxsCiAgKiBsZWF2ZSB0aGVzZSBibG9ja3MgdmlzaWJsZSB0byB0aGUgdXNlci4pCiAgKgotICogQ2FsbGVkIHdpdGggaW5vZGUtPnNlbSBkb3duLgorICogQW5vdGhlciB0aGluZyB3ZSBoYXZlIHRvIGFzc3VyZSBpcyB0aGF0IGlmIHdlIGFyZSBpbiBvcmRlcmVkIG1vZGUKKyAqIGFuZCBpbm9kZSBpcyBzdGlsbCBhdHRhY2hlZCB0byB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbiwgd2UgbXVzdAorICogd2Ugc3RhcnQgd3JpdGVvdXQgb2YgYWxsIHRoZSBkaXJ0eSBwYWdlcyB3aGljaCBhcmUgYmVpbmcgdHJ1bmNhdGVkLgorICogVGhpcyB3YXkgd2UgYXJlIHN1cmUgdGhhdCBhbGwgdGhlIGRhdGEgd3JpdHRlbiBpbiB0aGUgcHJldmlvdXMKKyAqIHRyYW5zYWN0aW9uIGFyZSBhbHJlYWR5IG9uIGRpc2sgKHRydW5jYXRlIHdhaXRzIGZvciBwYWdlcyB1bmRlcgorICogd3JpdGViYWNrKS4KKyAqCisgKiBDYWxsZWQgd2l0aCBpbm9kZS0+aV9tdXRleCBkb3duLgogICovCiBpbnQgZXh0NF9zZXRhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlhdHRyICphdHRyKQogewpAQCAtMzE3Myw2ICs0MTk1LDIyIEBACiAJCWlmICghZXJyb3IpCiAJCQllcnJvciA9IHJjOwogCQlleHQ0X2pvdXJuYWxfc3RvcChoYW5kbGUpOworCisJCWlmIChleHQ0X3Nob3VsZF9vcmRlcl9kYXRhKGlub2RlKSkgeworCQkJZXJyb3IgPSBleHQ0X2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoaW5vZGUsCisJCQkJCQkJICAgIGF0dHItPmlhX3NpemUpOworCQkJaWYgKGVycm9yKSB7CisJCQkJLyogRG8gYXMgbXVjaCBlcnJvciBjbGVhbnVwIGFzIHBvc3NpYmxlICovCisJCQkJaGFuZGxlID0gZXh0NF9qb3VybmFsX3N0YXJ0KGlub2RlLCAzKTsKKwkJCQlpZiAoSVNfRVJSKGhhbmRsZSkpIHsKKwkJCQkJZXh0NF9vcnBoYW5fZGVsKE5VTEwsIGlub2RlKTsKKwkJCQkJZ290byBlcnJfb3V0OworCQkJCX0KKwkJCQlleHQ0X29ycGhhbl9kZWwoaGFuZGxlLCBpbm9kZSk7CisJCQkJZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKTsKKwkJCQlnb3RvIGVycl9vdXQ7CisJCQl9CisJCX0KIAl9CiAKIAlyYyA9IGlub2RlX3NldGF0dHIoaW5vZGUsIGF0dHIpOwpAQCAtMzE5Myw2ICs0MjMxLDMyIEBACiAJcmV0dXJuIGVycm9yOwogfQogCitpbnQgZXh0NF9nZXRhdHRyKHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCSBzdHJ1Y3Qga3N0YXQgKnN0YXQpCit7CisJc3RydWN0IGlub2RlICppbm9kZTsKKwl1bnNpZ25lZCBsb25nIGRlbGFsbG9jX2Jsb2NrczsKKworCWlub2RlID0gZGVudHJ5LT5kX2lub2RlOworCWdlbmVyaWNfZmlsbGF0dHIoaW5vZGUsIHN0YXQpOworCisJLyoKKwkgKiBXZSBjYW4ndCB1cGRhdGUgaV9ibG9ja3MgaWYgdGhlIGJsb2NrIGFsbG9jYXRpb24gaXMgZGVsYXllZAorCSAqIG90aGVyd2lzZSBpbiB0aGUgY2FzZSBvZiBzeXN0ZW0gY3Jhc2ggYmVmb3JlIHRoZSByZWFsIGJsb2NrCisJICogYWxsb2NhdGlvbiBpcyBkb25lLCB3ZSB3aWxsIGhhdmUgaV9ibG9ja3MgaW5jb25zaXN0ZW50IHdpdGgKKwkgKiBvbi1kaXNrIGZpbGUgYmxvY2tzLgorCSAqIFdlIGFsd2F5cyBrZWVwIGlfYmxvY2tzIHVwZGF0ZWQgdG9nZXRoZXIgd2l0aCByZWFsCisJICogYWxsb2NhdGlvbi4gQnV0IHRvIG5vdCBjb25mdXNlIHdpdGggdXNlciwgc3RhdAorCSAqIHdpbGwgcmV0dXJuIHRoZSBibG9ja3MgdGhhdCBpbmNsdWRlIHRoZSBkZWxheWVkIGFsbG9jYXRpb24KKwkgKiBibG9ja3MgZm9yIHRoaXMgZmlsZS4KKwkgKi8KKwlzcGluX2xvY2soJkVYVDRfSShpbm9kZSktPmlfYmxvY2tfcmVzZXJ2YXRpb25fbG9jayk7CisJZGVsYWxsb2NfYmxvY2tzID0gRVhUNF9JKGlub2RlKS0+aV9yZXNlcnZlZF9kYXRhX2Jsb2NrczsKKwlzcGluX3VubG9jaygmRVhUNF9JKGlub2RlKS0+aV9ibG9ja19yZXNlcnZhdGlvbl9sb2NrKTsKKworCXN0YXQtPmJsb2NrcyArPSAoZGVsYWxsb2NfYmxvY2tzIDw8IGlub2RlLT5pX3NiLT5zX2Jsb2Nrc2l6ZV9iaXRzKT4+OTsKKwlyZXR1cm4gMDsKK30KIAogLyoKICAqIEhvdyBtYW55IGJsb2NrcyBkb3RoIG1ha2UgYSB3cml0ZXBhZ2UoKT8KQEAgLTM1MDYsMyArNDU3MCw2NCBAQAogCiAJcmV0dXJuIGVycjsKIH0KKworc3RhdGljIGludCBleHQ0X2JoX3VubWFwcGVkKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBidWZmZXJfaGVhZCAqYmgpCit7CisJcmV0dXJuICFidWZmZXJfbWFwcGVkKGJoKTsKK30KKworaW50IGV4dDRfcGFnZV9ta3dyaXRlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKK3sKKwlsb2ZmX3Qgc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGxlbjsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKwlzdHJ1Y3QgZmlsZSAqZmlsZSA9IHZtYS0+dm1fZmlsZTsKKwlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGlub2RlLT5pX21hcHBpbmc7CisKKwkvKgorCSAqIEdldCBpX2FsbG9jX3NlbSB0byBzdG9wIHRydW5jYXRlcyBtZXNzaW5nIHdpdGggdGhlIGlub2RlLiBXZSBjYW5ub3QKKwkgKiBnZXQgaV9tdXRleCBiZWNhdXNlIHdlIGFyZSBhbHJlYWR5IGhvbGRpbmcgbW1hcF9zZW0uCisJICovCisJZG93bl9yZWFkKCZpbm9kZS0+aV9hbGxvY19zZW0pOworCXNpemUgPSBpX3NpemVfcmVhZChpbm9kZSk7CisJaWYgKHBhZ2UtPm1hcHBpbmcgIT0gbWFwcGluZyB8fCBzaXplIDw9IHBhZ2Vfb2Zmc2V0KHBhZ2UpCisJICAgIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJLyogcGFnZSBnb3QgdHJ1bmNhdGVkIGZyb20gdW5kZXIgdXM/ICovCisJCWdvdG8gb3V0X3VubG9jazsKKwl9CisJcmV0ID0gMDsKKwlpZiAoUGFnZU1hcHBlZFRvRGlzayhwYWdlKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJaWYgKHBhZ2UtPmluZGV4ID09IHNpemUgPj4gUEFHRV9DQUNIRV9TSElGVCkKKwkJbGVuID0gc2l6ZSAmIH5QQUdFX0NBQ0hFX01BU0s7CisJZWxzZQorCQlsZW4gPSBQQUdFX0NBQ0hFX1NJWkU7CisKKwlpZiAocGFnZV9oYXNfYnVmZmVycyhwYWdlKSkgeworCQkvKiByZXR1cm4gaWYgd2UgaGF2ZSBhbGwgdGhlIGJ1ZmZlcnMgbWFwcGVkICovCisJCWlmICghd2Fsa19wYWdlX2J1ZmZlcnMoTlVMTCwgcGFnZV9idWZmZXJzKHBhZ2UpLCAwLCBsZW4sIE5VTEwsCisJCQkJICAgICAgIGV4dDRfYmhfdW5tYXBwZWQpKQorCQkJZ290byBvdXRfdW5sb2NrOworCX0KKwkvKgorCSAqIE9LLCB3ZSBuZWVkIHRvIGZpbGwgdGhlIGhvbGUuLi4gRG8gd3JpdGVfYmVnaW4gd3JpdGVfZW5kCisJICogdG8gZG8gYmxvY2sgYWxsb2NhdGlvbi9yZXNlcnZhdGlvbi5XZSBhcmUgbm90IGhvbGRpbmcKKwkgKiBpbm9kZS5pX19tdXRleCBoZXJlLiBUaGF0IGFsbG93ICogcGFyYWxsZWwgd3JpdGVfYmVnaW4sCisJICogd3JpdGVfZW5kIGNhbGwuIGxvY2tfcGFnZSBwcmV2ZW50IHRoaXMgZnJvbSBoYXBwZW5pbmcKKwkgKiBvbiB0aGUgc2FtZSBwYWdlIHRob3VnaAorCSAqLworCXJldCA9IG1hcHBpbmctPmFfb3BzLT53cml0ZV9iZWdpbihmaWxlLCBtYXBwaW5nLCBwYWdlX29mZnNldChwYWdlKSwKKwkJCWxlbiwgQU9QX0ZMQUdfVU5JTlRFUlJVUFRJQkxFLCAmcGFnZSwgTlVMTCk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0X3VubG9jazsKKwlyZXQgPSBtYXBwaW5nLT5hX29wcy0+d3JpdGVfZW5kKGZpbGUsIG1hcHBpbmcsIHBhZ2Vfb2Zmc2V0KHBhZ2UpLAorCQkJbGVuLCBsZW4sIHBhZ2UsIE5VTEwpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIG91dF91bmxvY2s7CisJcmV0ID0gMDsKK291dF91bmxvY2s6CisJdXBfcmVhZCgmaW5vZGUtPmlfYWxsb2Nfc2VtKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9tYmFsbG9jLmMgYi9mcy9leHQ0L21iYWxsb2MuYwppbmRleCBjOTkwMGFhLi44ZDE0MWEyIDEwMDY0NAotLS0gYS9mcy9leHQ0L21iYWxsb2MuYworKysgYi9mcy9leHQ0L21iYWxsb2MuYwpAQCAtMzgxLDIyICszODEsMjggQEAKIAogc3RhdGljIGlubGluZSBpbnQgbWJfZmluZF9uZXh0X3plcm9fYml0KHZvaWQgKmFkZHIsIGludCBtYXgsIGludCBzdGFydCkKIHsKLQlpbnQgZml4ID0gMDsKKwlpbnQgZml4ID0gMCwgcmV0LCB0bXBtYXg7CiAJYWRkciA9IG1iX2NvcnJlY3RfYWRkcl9hbmRfYml0KCZmaXgsIGFkZHIpOwotCW1heCArPSBmaXg7CisJdG1wbWF4ID0gbWF4ICsgZml4OwogCXN0YXJ0ICs9IGZpeDsKIAotCXJldHVybiBleHQ0X2ZpbmRfbmV4dF96ZXJvX2JpdChhZGRyLCBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlyZXQgPSBleHQ0X2ZpbmRfbmV4dF96ZXJvX2JpdChhZGRyLCB0bXBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlpZiAocmV0ID4gbWF4KQorCQlyZXR1cm4gbWF4OworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IG1iX2ZpbmRfbmV4dF9iaXQodm9pZCAqYWRkciwgaW50IG1heCwgaW50IHN0YXJ0KQogewotCWludCBmaXggPSAwOworCWludCBmaXggPSAwLCByZXQsIHRtcG1heDsKIAlhZGRyID0gbWJfY29ycmVjdF9hZGRyX2FuZF9iaXQoJmZpeCwgYWRkcik7Ci0JbWF4ICs9IGZpeDsKKwl0bXBtYXggPSBtYXggKyBmaXg7CiAJc3RhcnQgKz0gZml4OwogCi0JcmV0dXJuIGV4dDRfZmluZF9uZXh0X2JpdChhZGRyLCBtYXgsIHN0YXJ0KSAtIGZpeDsKKwlyZXQgPSBleHQ0X2ZpbmRfbmV4dF9iaXQoYWRkciwgdG1wbWF4LCBzdGFydCkgLSBmaXg7CisJaWYgKHJldCA+IG1heCkKKwkJcmV0dXJuIG1heDsKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCAqbWJfZmluZF9idWRkeShzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLCBpbnQgb3JkZXIsIGludCAqbWF4KQpAQCAtODAzLDYgKzgwOSw3IEBACiAJCWlmICghYnVmZmVyX3VwdG9kYXRlKGJoW2ldKSkKIAkJCWdvdG8gb3V0OwogCisJZXJyID0gMDsKIAlmaXJzdF9ibG9jayA9IHBhZ2UtPmluZGV4ICogYmxvY2tzX3Blcl9wYWdlOwogCWZvciAoaSA9IDA7IGkgPCBibG9ja3NfcGVyX3BhZ2U7IGkrKykgewogCQlpbnQgZ3JvdXA7CkBAIC04ODMsNiArODkwLDcgQEAKIAlpbnQgcG51bTsKIAlpbnQgcG9mZjsKIAlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgcmV0OwogCiAJbWJfZGVidWcoImxvYWQgZ3JvdXAgJWx1XG4iLCBncm91cCk7CiAKQEAgLTkxNCwxNSArOTIyLDIxIEBACiAJCWlmIChwYWdlKSB7CiAJCQlCVUdfT04ocGFnZS0+bWFwcGluZyAhPSBpbm9kZS0+aV9tYXBwaW5nKTsKIAkJCWlmICghUGFnZVVwdG9kYXRlKHBhZ2UpKSB7Ci0JCQkJZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIE5VTEwpOworCQkJCXJldCA9IGV4dDRfbWJfaW5pdF9jYWNoZShwYWdlLCBOVUxMKTsKKwkJCQlpZiAocmV0KSB7CisJCQkJCXVubG9ja19wYWdlKHBhZ2UpOworCQkJCQlnb3RvIGVycjsKKwkJCQl9CiAJCQkJbWJfY21wX2JpdG1hcHMoZTRiLCBwYWdlX2FkZHJlc3MocGFnZSkgKwogCQkJCQkgICAgICAgKHBvZmYgKiBzYi0+c19ibG9ja3NpemUpKTsKIAkJCX0KIAkJCXVubG9ja19wYWdlKHBhZ2UpOwogCQl9CiAJfQotCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkKKwlpZiAocGFnZSA9PSBOVUxMIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJcmV0ID0gLUVJTzsKIAkJZ290byBlcnI7CisJfQogCWU0Yi0+YmRfYml0bWFwX3BhZ2UgPSBwYWdlOwogCWU0Yi0+YmRfYml0bWFwID0gcGFnZV9hZGRyZXNzKHBhZ2UpICsgKHBvZmYgKiBzYi0+c19ibG9ja3NpemUpOwogCW1hcmtfcGFnZV9hY2Nlc3NlZChwYWdlKTsKQEAgLTkzOCwxNCArOTUyLDIwIEBACiAJCXBhZ2UgPSBmaW5kX29yX2NyZWF0ZV9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0sIEdGUF9OT0ZTKTsKIAkJaWYgKHBhZ2UpIHsKIAkJCUJVR19PTihwYWdlLT5tYXBwaW5nICE9IGlub2RlLT5pX21hcHBpbmcpOwotCQkJaWYgKCFQYWdlVXB0b2RhdGUocGFnZSkpCi0JCQkJZXh0NF9tYl9pbml0X2NhY2hlKHBhZ2UsIGU0Yi0+YmRfYml0bWFwKTsKLQorCQkJaWYgKCFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJCQlyZXQgPSBleHQ0X21iX2luaXRfY2FjaGUocGFnZSwgZTRiLT5iZF9iaXRtYXApOworCQkJCWlmIChyZXQpIHsKKwkJCQkJdW5sb2NrX3BhZ2UocGFnZSk7CisJCQkJCWdvdG8gZXJyOworCQkJCX0KKwkJCX0KIAkJCXVubG9ja19wYWdlKHBhZ2UpOwogCQl9CiAJfQotCWlmIChwYWdlID09IE5VTEwgfHwgIVBhZ2VVcHRvZGF0ZShwYWdlKSkKKwlpZiAocGFnZSA9PSBOVUxMIHx8ICFQYWdlVXB0b2RhdGUocGFnZSkpIHsKKwkJcmV0ID0gLUVJTzsKIAkJZ290byBlcnI7CisJfQogCWU0Yi0+YmRfYnVkZHlfcGFnZSA9IHBhZ2U7CiAJZTRiLT5iZF9idWRkeSA9IHBhZ2VfYWRkcmVzcyhwYWdlKSArIChwb2ZmICogc2ItPnNfYmxvY2tzaXplKTsKIAltYXJrX3BhZ2VfYWNjZXNzZWQocGFnZSk7CkBAIC05NjIsNyArOTgyLDcgQEAKIAkJcGFnZV9jYWNoZV9yZWxlYXNlKGU0Yi0+YmRfYnVkZHlfcGFnZSk7CiAJZTRiLT5iZF9idWRkeSA9IE5VTEw7CiAJZTRiLT5iZF9iaXRtYXAgPSBOVUxMOwotCXJldHVybiAtRUlPOworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyB2b2lkIGV4dDRfbWJfcmVsZWFzZV9kZXNjKHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIpCkBAIC0xMDMxLDcgKzEwNTEsNyBAQAogCX0KIH0KIAotc3RhdGljIGludCBtYl9mcmVlX2Jsb2NrcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZXh0NF9idWRkeSAqZTRiLAorc3RhdGljIHZvaWQgbWJfZnJlZV9ibG9ja3Moc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGV4dDRfYnVkZHkgKmU0YiwKIAkJCSAgaW50IGZpcnN0LCBpbnQgY291bnQpCiB7CiAJaW50IGJsb2NrID0gMDsKQEAgLTEwNzEsMTEgKzEwOTEsMTIgQEAKIAkJCWJsb2NrbnIgKz0gYmxvY2s7CiAJCQlibG9ja25yICs9CiAJCQkgICAgbGUzMl90b19jcHUoRVhUNF9TQihzYiktPnNfZXMtPnNfZmlyc3RfZGF0YV9ibG9jayk7Ci0KKwkJCWV4dDRfdW5sb2NrX2dyb3VwKHNiLCBlNGItPmJkX2dyb3VwKTsKIAkJCWV4dDRfZXJyb3Ioc2IsIF9fZnVuY19fLCAiZG91YmxlLWZyZWUgb2YgaW5vZGUiCiAJCQkJICAgIiAlbHUncyBibG9jayAlbGx1KGJpdCAldSBpbiBncm91cCAlbHUpXG4iLAogCQkJCSAgIGlub2RlID8gaW5vZGUtPmlfaW5vIDogMCwgYmxvY2tuciwgYmxvY2ssCiAJCQkJICAgZTRiLT5iZF9ncm91cCk7CisJCQlleHQ0X2xvY2tfZ3JvdXAoc2IsIGU0Yi0+YmRfZ3JvdXApOwogCQl9CiAJCW1iX2NsZWFyX2JpdChibG9jaywgRVhUNF9NQl9CSVRNQVAoZTRiKSk7CiAJCWU0Yi0+YmRfaW5mby0+YmJfY291bnRlcnNbb3JkZXJdKys7CkBAIC0xMTEzLDggKzExMzQsNiBAQAogCQl9IHdoaWxlICgxKTsKIAl9CiAJbWJfY2hlY2tfYnVkZHkoZTRiKTsKLQotCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IG1iX2ZpbmRfZXh0ZW50KHN0cnVjdCBleHQ0X2J1ZGR5ICplNGIsIGludCBvcmRlciwgaW50IGJsb2NrLApAQCAtMTczMCwxMCArMTc0OSw2IEBACiAJCWFjLT5hY19nX2V4LmZlX3N0YXJ0ID0gc2JpLT5zX21iX2xhc3Rfc3RhcnQ7CiAJCXNwaW5fdW5sb2NrKCZzYmktPnNfbWRfbG9jayk7CiAJfQotCi0JLyogc2VhcmNoaW5nIGZvciB0aGUgcmlnaHQgZ3JvdXAgc3RhcnQgZnJvbSB0aGUgZ29hbCB2YWx1ZSBzcGVjaWZpZWQgKi8KLQlncm91cCA9IGFjLT5hY19nX2V4LmZlX2dyb3VwOwotCiAJLyogTGV0J3MganVzdCBzY2FuIGdyb3VwcyB0byBmaW5kIG1vcmUtbGVzcyBzdWl0YWJsZSBibG9ja3MgKi8KIAljciA9IGFjLT5hY18yb3JkZXIgPyAwIDogMTsKIAkvKgpAQCAtMTc0Myw2ICsxNzU4LDEyIEBACiByZXBlYXQ6CiAJZm9yICg7IGNyIDwgNCAmJiBhYy0+YWNfc3RhdHVzID09IEFDX1NUQVRVU19DT05USU5VRTsgY3IrKykgewogCQlhYy0+YWNfY3JpdGVyaWEgPSBjcjsKKwkJLyoKKwkJICogc2VhcmNoaW5nIGZvciB0aGUgcmlnaHQgZ3JvdXAgc3RhcnQKKwkJICogZnJvbSB0aGUgZ29hbCB2YWx1ZSBzcGVjaWZpZWQKKwkJICovCisJCWdyb3VwID0gYWMtPmFjX2dfZXguZmVfZ3JvdXA7CisKIAkJZm9yIChpID0gMDsgaSA8IEVYVDRfU0Ioc2IpLT5zX2dyb3Vwc19jb3VudDsgZ3JvdXArKywgaSsrKSB7CiAJCQlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICpncnA7CiAJCQlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjOwpAQCAtMTk2Myw2ICsxOTg0LDggQEAKIAlpbnQgcmM7CiAJaW50IHNpemU7CiAKKwlpZiAodW5saWtlbHkoc2JpLT5zX21iX2hpc3RvcnkgPT0gTlVMTCkpCisJCXJldHVybiAtRU5PTUVNOwogCXMgPSBrbWFsbG9jKHNpemVvZigqcyksIEdGUF9LRVJORUwpOwogCWlmIChzID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMjE2NSw5ICsyMTg4LDcgQEAKIAlzYmktPnNfbWJfaGlzdG9yeV9jdXIgPSAwOwogCXNwaW5fbG9ja19pbml0KCZzYmktPnNfbWJfaGlzdG9yeV9sb2NrKTsKIAlpID0gc2JpLT5zX21iX2hpc3RvcnlfbWF4ICogc2l6ZW9mKHN0cnVjdCBleHQ0X21iX2hpc3RvcnkpOwotCXNiaS0+c19tYl9oaXN0b3J5ID0ga21hbGxvYyhpLCBHRlBfS0VSTkVMKTsKLQlpZiAobGlrZWx5KHNiaS0+c19tYl9oaXN0b3J5ICE9IE5VTEwpKQotCQltZW1zZXQoc2JpLT5zX21iX2hpc3RvcnksIDAsIGkpOworCXNiaS0+c19tYl9oaXN0b3J5ID0ga3phbGxvYyhpLCBHRlBfS0VSTkVMKTsKIAkvKiBpZiB3ZSBjYW4ndCBhbGxvY2F0ZSBoaXN0b3J5LCB0aGVuIHdlIHNpbXBsZSB3b24ndCB1c2UgaXQgKi8KIH0KIApAQCAtMjIxNSwyMSArMjIzNiwxOTIgQEAKICNkZWZpbmUgZXh0NF9tYl9oaXN0b3J5X2luaXQoc2IpCiAjZW5kaWYKIAorCisvKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgZXh0NF9ncm91cF9pbmZvIGRhdGEgZm9yIHRoZSBnaXZlbiBncm91cC4gKi8KK2ludCBleHQ0X21iX2FkZF9ncm91cGluZm8oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgZXh0NF9ncm91cF90IGdyb3VwLAorCQkJICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjKQoreworCWludCBpLCBsZW47CisJaW50IG1ldGFsZW4gPSAwOworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKiptZXRhX2dyb3VwX2luZm87CisKKwkvKgorCSAqIEZpcnN0IGNoZWNrIGlmIHRoaXMgZ3JvdXAgaXMgdGhlIGZpcnN0IG9mIGEgcmVzZXJ2ZWQgYmxvY2suCisJICogSWYgaXQncyB0cnVlLCB3ZSBoYXZlIHRvIGFsbG9jYXRlIGEgbmV3IHRhYmxlIG9mIHBvaW50ZXJzCisJICogdG8gZXh0NF9ncm91cF9pbmZvIHN0cnVjdHVyZXMKKwkgKi8KKwlpZiAoZ3JvdXAgJSBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSA9PSAwKSB7CisJCW1ldGFsZW4gPSBzaXplb2YoKm1ldGFfZ3JvdXBfaW5mbykgPDwKKwkJCUVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYik7CisJCW1ldGFfZ3JvdXBfaW5mbyA9IGttYWxsb2MobWV0YWxlbiwgR0ZQX0tFUk5FTCk7CisJCWlmIChtZXRhX2dyb3VwX2luZm8gPT0gTlVMTCkgeworCQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCBhbGxvY2F0ZSBtZW0gZm9yIGEgIgorCQkJICAgICAgICJidWRkeSBncm91cFxuIik7CisJCQlnb3RvIGV4aXRfbWV0YV9ncm91cF9pbmZvOworCQl9CisJCXNiaS0+c19ncm91cF9pbmZvW2dyb3VwID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildID0KKwkJCW1ldGFfZ3JvdXBfaW5mbzsKKwl9CisKKwkvKgorCSAqIGNhbGN1bGF0ZSBuZWVkZWQgc2l6ZS4gaWYgY2hhbmdlIGJiX2NvdW50ZXJzIHNpemUsCisJICogZG9uJ3QgZm9yZ2V0IGFib3V0IGV4dDRfbWJfZ2VuZXJhdGVfYnVkZHkoKQorCSAqLworCWxlbiA9IG9mZnNldG9mKHR5cGVvZigqKm1ldGFfZ3JvdXBfaW5mbyksCisJCSAgICAgICBiYl9jb3VudGVyc1tzYi0+c19ibG9ja3NpemVfYml0cyArIDJdKTsKKworCW1ldGFfZ3JvdXBfaW5mbyA9CisJCXNiaS0+c19ncm91cF9pbmZvW2dyb3VwID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildOworCWkgPSBncm91cCAmIChFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpOworCisJbWV0YV9ncm91cF9pbmZvW2ldID0ga3phbGxvYyhsZW4sIEdGUF9LRVJORUwpOworCWlmIChtZXRhX2dyb3VwX2luZm9baV0gPT0gTlVMTCkgeworCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIGJ1ZGR5IG1lbVxuIik7CisJCWdvdG8gZXhpdF9ncm91cF9pbmZvOworCX0KKwlzZXRfYml0KEVYVDRfR1JPVVBfSU5GT19ORUVEX0lOSVRfQklULAorCQkmKG1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfc3RhdGUpKTsKKworCS8qCisJICogaW5pdGlhbGl6ZSBiYl9mcmVlIHRvIGJlIGFibGUgdG8gc2tpcAorCSAqIGVtcHR5IGdyb3VwcyB3aXRob3V0IGluaXRpYWxpemF0aW9uCisJICovCisJaWYgKGRlc2MtPmJnX2ZsYWdzICYgY3B1X3RvX2xlMTYoRVhUNF9CR19CTE9DS19VTklOSVQpKSB7CisJCW1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfZnJlZSA9CisJCQlleHQ0X2ZyZWVfYmxvY2tzX2FmdGVyX2luaXQoc2IsIGdyb3VwLCBkZXNjKTsKKwl9IGVsc2UgeworCQltZXRhX2dyb3VwX2luZm9baV0tPmJiX2ZyZWUgPQorCQkJbGUxNl90b19jcHUoZGVzYy0+YmdfZnJlZV9ibG9ja3NfY291bnQpOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZtZXRhX2dyb3VwX2luZm9baV0tPmJiX3ByZWFsbG9jX2xpc3QpOworCisjaWZkZWYgRE9VQkxFX0NIRUNLCisJeworCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCQltZXRhX2dyb3VwX2luZm9baV0tPmJiX2JpdG1hcCA9CisJCQlrbWFsbG9jKHNiLT5zX2Jsb2Nrc2l6ZSwgR0ZQX0tFUk5FTCk7CisJCUJVR19PTihtZXRhX2dyb3VwX2luZm9baV0tPmJiX2JpdG1hcCA9PSBOVUxMKTsKKwkJYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJCUJVR19PTihiaCA9PSBOVUxMKTsKKwkJbWVtY3B5KG1ldGFfZ3JvdXBfaW5mb1tpXS0+YmJfYml0bWFwLCBiaC0+Yl9kYXRhLAorCQkJc2ItPnNfYmxvY2tzaXplKTsKKwkJcHV0X2JoKGJoKTsKKwl9CisjZW5kaWYKKworCXJldHVybiAwOworCitleGl0X2dyb3VwX2luZm86CisJLyogSWYgYSBtZXRhX2dyb3VwX2luZm8gdGFibGUgaGFzIGJlZW4gYWxsb2NhdGVkLCByZWxlYXNlIGl0IG5vdyAqLworCWlmIChncm91cCAlIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpID09IDApCisJCWtmcmVlKHNiaS0+c19ncm91cF9pbmZvW2dyb3VwID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildKTsKK2V4aXRfbWV0YV9ncm91cF9pbmZvOgorCXJldHVybiAtRU5PTUVNOworfSAvKiBleHQ0X21iX2FkZF9ncm91cGluZm8gKi8KKworLyoKKyAqIEFkZCBhIGdyb3VwIHRvIHRoZSBleGlzdGluZyBncm91cHMuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIG9ubGluZSByZXNpemUKKyAqLworaW50IGV4dDRfbWJfYWRkX21vcmVfZ3JvdXBpbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGV4dDRfZ3JvdXBfdCBncm91cCwKKwkJCSAgICAgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjKQoreworCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0Ioc2IpOworCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBzYmktPnNfYnVkZHlfY2FjaGU7CisJaW50IGJsb2Nrc19wZXJfcGFnZTsKKwlpbnQgYmxvY2s7CisJaW50IHBudW07CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisJaW50IGVycjsKKworCS8qIEFkZCBncm91cCBiYXNlZCBvbiBncm91cCBkZXNjcmlwdG9yKi8KKwllcnIgPSBleHQ0X21iX2FkZF9ncm91cGluZm8oc2IsIGdyb3VwLCBkZXNjKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJLyoKKwkgKiBDYWNoZSBwYWdlcyBjb250YWluaW5nIGR5bmFtaWMgbWJfYWxsb2MgZGF0YXMgKGJ1ZGR5IGFuZCBiaXRtYXAKKwkgKiBkYXRhcykgYXJlIHNldCBub3QgdXAgdG8gZGF0ZSBzbyB0aGF0IHRoZXkgd2lsbCBiZSByZS1pbml0aWxhaXplZAorCSAqIGR1cmluZyB0aGUgbmV4dCBjYWxsIHRvIGV4dDRfbWJfbG9hZF9idWRkeQorCSAqLworCisJLyogU2V0IGJ1ZGR5IHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwlibG9ja3NfcGVyX3BhZ2UgPSBQQUdFX0NBQ0hFX1NJWkUgLyBzYi0+c19ibG9ja3NpemU7CisJYmxvY2sgPSBncm91cCAqIDI7CisJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCXBhZ2UgPSBmaW5kX2dldF9wYWdlKGlub2RlLT5pX21hcHBpbmcsIHBudW0pOworCWlmIChwYWdlICE9IE5VTEwpIHsKKwkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsKKwl9CisKKwkvKiBTZXQgYml0bWFwIHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwlibG9jaysrOworCXBudW0gPSBibG9jayAvIGJsb2Nrc19wZXJfcGFnZTsKKwlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwlpZiAocGFnZSAhPSBOVUxMKSB7CisJCUNsZWFyUGFnZVVwdG9kYXRlKHBhZ2UpOworCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBVcGRhdGUgYW4gZXhpc3RpbmcgZ3JvdXAuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIG9ubGluZSByZXNpemUKKyAqLwordm9pZCBleHQ0X21iX3VwZGF0ZV9ncm91cF9pbmZvKHN0cnVjdCBleHQ0X2dyb3VwX2luZm8gKmdycCwgZXh0NF9ncnBibGtfdCBhZGQpCit7CisJZ3JwLT5iYl9mcmVlICs9IGFkZDsKK30KKwogc3RhdGljIGludCBleHQ0X21iX2luaXRfYmFja2VuZChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogewogCWV4dDRfZ3JvdXBfdCBpOwotCWludCBqLCBsZW4sIG1ldGFsZW47CisJaW50IG1ldGFsZW47CiAJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7Ci0JaW50IG51bV9tZXRhX2dyb3VwX2luZm9zID0KLQkJKHNiaS0+c19ncm91cHNfY291bnQgKyBFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpID4+Ci0JCQlFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpOworCXN0cnVjdCBleHQ0X3N1cGVyX2Jsb2NrICplcyA9IHNiaS0+c19lczsKKwlpbnQgbnVtX21ldGFfZ3JvdXBfaW5mb3M7CisJaW50IG51bV9tZXRhX2dyb3VwX2luZm9zX21heDsKKwlpbnQgYXJyYXlfc2l6ZTsKIAlzdHJ1Y3QgZXh0NF9ncm91cF9pbmZvICoqbWV0YV9ncm91cF9pbmZvOworCXN0cnVjdCBleHQ0X2dyb3VwX2Rlc2MgKmRlc2M7CiAKKwkvKiBUaGlzIGlzIHRoZSBudW1iZXIgb2YgYmxvY2tzIHVzZWQgYnkgR0RUICovCisJbnVtX21ldGFfZ3JvdXBfaW5mb3MgPSAoc2JpLT5zX2dyb3Vwc19jb3VudCArIEVYVDRfREVTQ19QRVJfQkxPQ0soc2IpIC0KKwkJCQkxKSA+PiBFWFQ0X0RFU0NfUEVSX0JMT0NLX0JJVFMoc2IpOworCisJLyoKKwkgKiBUaGlzIGlzIHRoZSB0b3RhbCBudW1iZXIgb2YgYmxvY2tzIHVzZWQgYnkgR0RUIGluY2x1ZGluZworCSAqIHRoZSBudW1iZXIgb2YgcmVzZXJ2ZWQgYmxvY2tzIGZvciBHRFQuCisJICogVGhlIHNfZ3JvdXBfaW5mbyBhcnJheSBpcyBhbGxvY2F0ZWQgd2l0aCB0aGlzIHZhbHVlCisJICogdG8gYWxsb3cgYSBjbGVhbiBvbmxpbmUgcmVzaXplIHdpdGhvdXQgYSBjb21wbGV4CisJICogbWFuaXB1bGF0aW9uIG9mIHBvaW50ZXIuCisJICogVGhlIGRyYXdiYWNrIGlzIHRoZSB1bnVzZWQgbWVtb3J5IHdoZW4gbm8gcmVzaXplCisJICogb2NjdXJzIGJ1dCBpdCdzIHZlcnkgbG93IGluIHRlcm1zIG9mIHBhZ2VzCisJICogKHNlZSBjb21tZW50cyBiZWxvdykKKwkgKiBOZWVkIHRvIGhhbmRsZSB0aGlzIHByb3Blcmx5IHdoZW4gTUVUQV9CRyByZXNpemluZyBpcyBhbGxvd2VkCisJICovCisJbnVtX21ldGFfZ3JvdXBfaW5mb3NfbWF4ID0gbnVtX21ldGFfZ3JvdXBfaW5mb3MgKworCQkJCWxlMTZfdG9fY3B1KGVzLT5zX3Jlc2VydmVkX2dkdF9ibG9ja3MpOworCisJLyoKKwkgKiBhcnJheV9zaXplIGlzIHRoZSBzaXplIG9mIHNfZ3JvdXBfaW5mbyBhcnJheS4gV2Ugcm91bmQgaXQKKwkgKiB0byB0aGUgbmV4dCBwb3dlciBvZiB0d28gYmVjYXVzZSB0aGlzIGFwcHJveGltYXRpb24gaXMgZG9uZQorCSAqIGludGVybmFsbHkgYnkga21hbGxvYyBzbyB3ZSBjYW4gaGF2ZSBzb21lIG1vcmUgbWVtb3J5CisJICogZm9yIGZyZWUgaGVyZSAoZS5nLiBtYXkgYmUgdXNlZCBmb3IgTUVUQV9CRyByZXNpemUpLgorCSAqLworCWFycmF5X3NpemUgPSAxOworCXdoaWxlIChhcnJheV9zaXplIDwgc2l6ZW9mKCpzYmktPnNfZ3JvdXBfaW5mbykgKgorCSAgICAgICBudW1fbWV0YV9ncm91cF9pbmZvc19tYXgpCisJCWFycmF5X3NpemUgPSBhcnJheV9zaXplIDw8IDE7CiAJLyogQW4gOFRCIGZpbGVzeXN0ZW0gd2l0aCA2NC1iaXQgcG9pbnRlcnMgcmVxdWlyZXMgYSA0MDk2IGJ5dGUKIAkgKiBrbWFsbG9jLiBBIDEyOGtiIG1hbGxvYyBzaG91bGQgc3VmZmljZSBmb3IgYSAyNTZUQiBmaWxlc3lzdGVtLgogCSAqIFNvIGEgdHdvIGxldmVsIHNjaGVtZSBzdWZmaWNlcyBmb3Igbm93LiAqLwotCXNiaS0+c19ncm91cF9pbmZvID0ga21hbGxvYyhzaXplb2YoKnNiaS0+c19ncm91cF9pbmZvKSAqCi0JCQkJICAgIG51bV9tZXRhX2dyb3VwX2luZm9zLCBHRlBfS0VSTkVMKTsKKwlzYmktPnNfZ3JvdXBfaW5mbyA9IGttYWxsb2MoYXJyYXlfc2l6ZSwgR0ZQX0tFUk5FTCk7CiAJaWYgKHNiaS0+c19ncm91cF9pbmZvID09IE5VTEwpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCBhbGxvY2F0ZSBidWRkeSBtZXRhIGdyb3VwXG4iKTsKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0yMjU2LDYzICsyNDQ4LDE1IEBACiAJCXNiaS0+c19ncm91cF9pbmZvW2ldID0gbWV0YV9ncm91cF9pbmZvOwogCX0KIAotCS8qCi0JICogY2FsY3VsYXRlIG5lZWRlZCBzaXplLiBpZiBjaGFuZ2UgYmJfY291bnRlcnMgc2l6ZSwKLQkgKiBkb24ndCBmb3JnZXQgYWJvdXQgZXh0NF9tYl9nZW5lcmF0ZV9idWRkeSgpCi0JICovCi0JbGVuID0gc2l6ZW9mKHN0cnVjdCBleHQ0X2dyb3VwX2luZm8pOwotCWxlbiArPSBzaXplb2YodW5zaWduZWQgc2hvcnQpICogKHNiLT5zX2Jsb2Nrc2l6ZV9iaXRzICsgMik7CiAJZm9yIChpID0gMDsgaSA8IHNiaS0+c19ncm91cHNfY291bnQ7IGkrKykgewotCQlzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpkZXNjOwotCi0JCW1ldGFfZ3JvdXBfaW5mbyA9Ci0JCQlzYmktPnNfZ3JvdXBfaW5mb1tpID4+IEVYVDRfREVTQ19QRVJfQkxPQ0tfQklUUyhzYildOwotCQlqID0gaSAmIChFWFQ0X0RFU0NfUEVSX0JMT0NLKHNiKSAtIDEpOwotCi0JCW1ldGFfZ3JvdXBfaW5mb1tqXSA9IGt6YWxsb2MobGVuLCBHRlBfS0VSTkVMKTsKLQkJaWYgKG1ldGFfZ3JvdXBfaW5mb1tqXSA9PSBOVUxMKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgIkVYVDQtZnM6IGNhbid0IGFsbG9jYXRlIGJ1ZGR5IG1lbVxuIik7Ci0JCQlnb3RvIGVycl9mcmVlYnVkZHk7Ci0JCX0KIAkJZGVzYyA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGksIE5VTEwpOwogCQlpZiAoZGVzYyA9PSBOVUxMKSB7CiAJCQlwcmludGsoS0VSTl9FUlIKIAkJCQkiRVhUNC1mczogY2FuJ3QgcmVhZCBkZXNjcmlwdG9yICVsdVxuIiwgaSk7Ci0JCQlpKys7CiAJCQlnb3RvIGVycl9mcmVlYnVkZHk7CiAJCX0KLQkJbWVtc2V0KG1ldGFfZ3JvdXBfaW5mb1tqXSwgMCwgbGVuKTsKLQkJc2V0X2JpdChFWFQ0X0dST1VQX0lORk9fTkVFRF9JTklUX0JJVCwKLQkJCSYobWV0YV9ncm91cF9pbmZvW2pdLT5iYl9zdGF0ZSkpOwotCi0JCS8qCi0JCSAqIGluaXRpYWxpemUgYmJfZnJlZSB0byBiZSBhYmxlIHRvIHNraXAKLQkJICogZW1wdHkgZ3JvdXBzIHdpdGhvdXQgaW5pdGlhbGl6YXRpb24KLQkJICovCi0JCWlmIChkZXNjLT5iZ19mbGFncyAmIGNwdV90b19sZTE2KEVYVDRfQkdfQkxPQ0tfVU5JTklUKSkgewotCQkJbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9mcmVlID0KLQkJCQlleHQ0X2ZyZWVfYmxvY2tzX2FmdGVyX2luaXQoc2IsIGksIGRlc2MpOwotCQl9IGVsc2UgewotCQkJbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9mcmVlID0KLQkJCQlsZTE2X3RvX2NwdShkZXNjLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCk7Ci0JCX0KLQotCQlJTklUX0xJU1RfSEVBRCgmbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9wcmVhbGxvY19saXN0KTsKLQotI2lmZGVmIERPVUJMRV9DSEVDSwotCQl7Ci0JCQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCQkJbWV0YV9ncm91cF9pbmZvW2pdLT5iYl9iaXRtYXAgPQotCQkJCWttYWxsb2Moc2ItPnNfYmxvY2tzaXplLCBHRlBfS0VSTkVMKTsKLQkJCUJVR19PTihtZXRhX2dyb3VwX2luZm9bal0tPmJiX2JpdG1hcCA9PSBOVUxMKTsKLQkJCWJoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGkpOwotCQkJQlVHX09OKGJoID09IE5VTEwpOwotCQkJbWVtY3B5KG1ldGFfZ3JvdXBfaW5mb1tqXS0+YmJfYml0bWFwLCBiaC0+Yl9kYXRhLAotCQkJCQlzYi0+c19ibG9ja3NpemUpOwotCQkJcHV0X2JoKGJoKTsKLQkJfQotI2VuZGlmCi0KKwkJaWYgKGV4dDRfbWJfYWRkX2dyb3VwaW5mbyhzYiwgaSwgZGVzYykgIT0gMCkKKwkJCWdvdG8gZXJyX2ZyZWVidWRkeTsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTIzMzYsNiArMjQ4MCw3IEBACiAJdW5zaWduZWQgaTsKIAl1bnNpZ25lZCBvZmZzZXQ7CiAJdW5zaWduZWQgbWF4OworCWludCByZXQ7CiAKIAlpZiAoIXRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkKIAkJcmV0dXJuIDA7CkBAIC0yMzcwLDEyICsyNTE1LDEyIEBACiAJfSB3aGlsZSAoaSA8PSBzYi0+c19ibG9ja3NpemVfYml0cyArIDEpOwogCiAJLyogaW5pdCBmaWxlIGZvciBidWRkeSBkYXRhICovCi0JaSA9IGV4dDRfbWJfaW5pdF9iYWNrZW5kKHNiKTsKLQlpZiAoaSkgeworCXJldCA9IGV4dDRfbWJfaW5pdF9iYWNrZW5kKHNiKTsKKwlpZiAocmV0ICE9IDApIHsKIAkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIE1CQUxMT0MpOwogCQlrZnJlZShzYmktPnNfbWJfb2Zmc2V0cyk7CiAJCWtmcmVlKHNiaS0+c19tYl9tYXhzKTsKLQkJcmV0dXJuIGk7CisJCXJldHVybiByZXQ7CiAJfQogCiAJc3Bpbl9sb2NrX2luaXQoJnNiaS0+c19tZF9sb2NrKTsKQEAgLTI1NDgsOCArMjY5Myw3IEBACiAJCWV4dDRfbG9ja19ncm91cChzYiwgbWQtPmdyb3VwKTsKIAkJZm9yIChpID0gMDsgaSA8IG1kLT5udW07IGkrKykgewogCQkJbWJfZGVidWcoIiAldSIsIG1kLT5ibG9ja3NbaV0pOwotCQkJZXJyID0gbWJfZnJlZV9ibG9ja3MoTlVMTCwgJmU0YiwgbWQtPmJsb2Nrc1tpXSwgMSk7Ci0JCQlCVUdfT04oZXJyICE9IDApOworCQkJbWJfZnJlZV9ibG9ja3MoTlVMTCwgJmU0YiwgbWQtPmJsb2Nrc1tpXSwgMSk7CiAJCX0KIAkJbWJfZGVidWcoIlxuIik7CiAJCWV4dDRfdW5sb2NrX2dyb3VwKHNiLCBtZC0+Z3JvdXApOwpAQCAtMjU3NSwyNSArMjcxOSwyNCBAQAogCiAKIAotI2RlZmluZSBNQl9QUk9DX1ZBTFVFX1JFQUQobmFtZSkJCQkJXAotc3RhdGljIGludCBleHQ0X21iX3JlYWRfIyNuYW1lKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwJXAotCQlvZmZfdCBvZmYsIGludCBjb3VudCwgaW50ICplb2YsIHZvaWQgKmRhdGEpCVwKKyNkZWZpbmUgTUJfUFJPQ19GT1BTKG5hbWUpCQkJCQlcCitzdGF0aWMgaW50IGV4dDRfbWJfIyNuYW1lIyNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikJXAogewkJCQkJCQkJXAotCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IGRhdGE7CQkJXAotCWludCBsZW47CQkJCQkJXAotCSplb2YgPSAxOwkJCQkJCVwKLQlpZiAob2ZmICE9IDApCQkJCQkJXAotCQlyZXR1cm4gMDsJCQkJCVwKLQlsZW4gPSBzcHJpbnRmKHBhZ2UsICIlbGRcbiIsIHNiaS0+c19tYl8jI25hbWUpOwkJXAotCSpzdGFydCA9IHBhZ2U7CQkJCQkJXAotCXJldHVybiBsZW47CQkJCQkJXAotfQotCi0jZGVmaW5lIE1CX1BST0NfVkFMVUVfV1JJVEUobmFtZSkJCQkJXAotc3RhdGljIGludCBleHQ0X21iX3dyaXRlXyMjbmFtZShzdHJ1Y3QgZmlsZSAqZmlsZSwJCVwKLQkJY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwgdW5zaWduZWQgbG9uZyBjbnQsIHZvaWQgKmRhdGEpCVwKKwlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBtLT5wcml2YXRlOwkJCVwKKwkJCQkJCQkJXAorCXNlcV9wcmludGYobSwgIiVsZFxuIiwgc2JpLT5zX21iXyMjbmFtZSk7CQlcCisJcmV0dXJuIDA7CQkJCQkJXAorfQkJCQkJCQkJXAorCQkJCQkJCQlcCitzdGF0aWMgaW50IGV4dDRfbWJfIyNuYW1lIyNfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKVwKIHsJCQkJCQkJCVwKLQlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBkYXRhOwkJCVwKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgZXh0NF9tYl8jI25hbWUjI19wcm9jX3Nob3csIFBERShpbm9kZSktPmRhdGEpO1wKK30JCQkJCQkJCVwKKwkJCQkJCQkJXAorc3RhdGljIHNzaXplX3QgZXh0NF9tYl8jI25hbWUjI19wcm9jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAlcCisJCWNvbnN0IGNoYXIgX191c2VyICpidWYsIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykJXAorewkJCQkJCQkJXAorCXN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSA9IFBERShmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKS0+ZGF0YTtcCiAJY2hhciBzdHJbMzJdOwkJCQkJCVwKIAlsb25nIHZhbHVlOwkJCQkJCVwKIAlpZiAoY250ID49IHNpemVvZihzdHIpKQkJCQkJXApAQCAtMjYwNSwzMSArMjc0OCwzMiBAQAogCQlyZXR1cm4gLUVSQU5HRTsJCQkJCVwKIAlzYmktPnNfbWJfIyNuYW1lID0gdmFsdWU7CQkJCVwKIAlyZXR1cm4gY250OwkJCQkJCVwKLX0KK30JCQkJCQkJCVwKKwkJCQkJCQkJXAorc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZXh0NF9tYl8jI25hbWUjI19wcm9jX2ZvcHMgPSB7CVwKKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCQkJCVwKKwkub3BlbgkJPSBleHQ0X21iXyMjbmFtZSMjX3Byb2Nfb3BlbiwJCVwKKwkucmVhZAkJPSBzZXFfcmVhZCwJCQkJXAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAkJCQlcCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwJCQlcCisJLndyaXRlCQk9IGV4dDRfbWJfIyNuYW1lIyNfcHJvY193cml0ZSwJCVwKK307CiAKLU1CX1BST0NfVkFMVUVfUkVBRChzdGF0cyk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKHN0YXRzKTsKLU1CX1BST0NfVkFMVUVfUkVBRChtYXhfdG9fc2Nhbik7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKG1heF90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfUkVBRChtaW5fdG9fc2Nhbik7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKG1pbl90b19zY2FuKTsKLU1CX1BST0NfVkFMVUVfUkVBRChvcmRlcjJfcmVxcyk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKG9yZGVyMl9yZXFzKTsKLU1CX1BST0NfVkFMVUVfUkVBRChzdHJlYW1fcmVxdWVzdCk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKHN0cmVhbV9yZXF1ZXN0KTsKLU1CX1BST0NfVkFMVUVfUkVBRChncm91cF9wcmVhbGxvYyk7Ci1NQl9QUk9DX1ZBTFVFX1dSSVRFKGdyb3VwX3ByZWFsbG9jKTsKK01CX1BST0NfRk9QUyhzdGF0cyk7CitNQl9QUk9DX0ZPUFMobWF4X3RvX3NjYW4pOworTUJfUFJPQ19GT1BTKG1pbl90b19zY2FuKTsKK01CX1BST0NfRk9QUyhvcmRlcjJfcmVxcyk7CitNQl9QUk9DX0ZPUFMoc3RyZWFtX3JlcXVlc3QpOworTUJfUFJPQ19GT1BTKGdyb3VwX3ByZWFsbG9jKTsKIAogI2RlZmluZQlNQl9QUk9DX0hBTkRMRVIobmFtZSwgdmFyKQkJCQkJXAogZG8gewkJCQkJCQkJCVwKLQlwcm9jID0gY3JlYXRlX3Byb2NfZW50cnkobmFtZSwgbW9kZSwgc2JpLT5zX21iX3Byb2MpOwkJXAorCXByb2MgPSBwcm9jX2NyZWF0ZV9kYXRhKG5hbWUsIG1vZGUsIHNiaS0+c19tYl9wcm9jLAkJXAorCQkJCSZleHQ0X21iXyMjdmFyIyNfcHJvY19mb3BzLCBzYmkpOwlcCiAJaWYgKHByb2MgPT0gTlVMTCkgewkJCQkJCVwKIAkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBjYW4ndCB0byBjcmVhdGUgJXNcbiIsIG5hbWUpOwlcCiAJCWdvdG8gZXJyX291dDsJCQkJCQlcCiAJfQkJCQkJCQkJXAotCXByb2MtPmRhdGEgPSBzYmk7CQkJCQkJXAotCXByb2MtPnJlYWRfcHJvYyAgPSBleHQ0X21iX3JlYWRfIyN2YXIgOwkJCQlcCi0JcHJvYy0+d3JpdGVfcHJvYyA9IGV4dDRfbWJfd3JpdGVfIyN2YXI7CQkJCVwKIH0gd2hpbGUgKDApCiAKIHN0YXRpYyBpbnQgZXh0NF9tYl9pbml0X3Blcl9kZXZfcHJvYyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQpAQCAtMjYzOSw2ICsyNzgzLDEwIEBACiAJc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwcm9jOwogCWNoYXIgZGV2bmFtZVs2NF07CiAKKwlpZiAocHJvY19yb290X2V4dDQgPT0gTlVMTCkgeworCQlzYmktPnNfbWJfcHJvYyA9IE5VTEw7CisJCXJldHVybiAtRUlOVkFMOworCX0KIAliZGV2bmFtZShzYi0+c19iZGV2LCBkZXZuYW1lKTsKIAlzYmktPnNfbWJfcHJvYyA9IHByb2NfbWtkaXIoZGV2bmFtZSwgcHJvY19yb290X2V4dDQpOwogCkBAIC0yNzQ3LDcgKzI4OTUsNyBAQAogCiAKIAllcnIgPSAtRUlPOwotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBhYy0+YWNfYl9leC5mZV9ncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgYWMtPmFjX2JfZXguZmVfZ3JvdXApOwogCWlmICghYml0bWFwX2JoKQogCQlnb3RvIG91dF9lcnI7CiAKQEAgLTI4MTYsNyArMjk2NCwyMyBAQAogCWxlMTZfYWRkX2NwdSgmZ2RwLT5iZ19mcmVlX2Jsb2Nrc19jb3VudCwgLWFjLT5hY19iX2V4LmZlX2xlbik7CiAJZ2RwLT5iZ19jaGVja3N1bSA9IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHNiaSwgYWMtPmFjX2JfZXguZmVfZ3JvdXAsIGdkcCk7CiAJc3Bpbl91bmxvY2soc2JfYmdsX2xvY2soc2JpLCBhYy0+YWNfYl9leC5mZV9ncm91cCkpOwotCXBlcmNwdV9jb3VudGVyX3N1Yigmc2JpLT5zX2ZyZWVibG9ja3NfY291bnRlciwgYWMtPmFjX2JfZXguZmVfbGVuKTsKKworCS8qCisJICogZnJlZSBibG9ja3MgYWNjb3VudCBoYXMgYWxyZWFkeSBiZSByZWR1Y2VkL3Jlc2VydmVkCisJICogYXQgd3JpdGVfYmVnaW4oKSB0aW1lIGZvciBkZWxheWVkIGFsbG9jYXRpb24KKwkgKiBkbyBub3QgZG91YmxlIGFjY291bnRpbmcKKwkgKi8KKwlpZiAoIShhYy0+YWNfZmxhZ3MgJiBFWFQ0X01CX0RFTEFMTE9DX1JFU0VSVkVEKSkKKwkJcGVyY3B1X2NvdW50ZXJfc3ViKCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyLAorCQkJCQlhYy0+YWNfYl9leC5mZV9sZW4pOworCisJaWYgKHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwID0gZXh0NF9mbGV4X2dyb3VwKHNiaSwKKwkJCQkJCQkgIGFjLT5hY19iX2V4LmZlX2dyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgLT0gYWMtPmFjX2JfZXguZmVfbGVuOworCQlzcGluX3VubG9jayhzYl9iZ2xfbG9jayhzYmksIGZsZXhfZ3JvdXApKTsKKwl9CiAKIAllcnIgPSBleHQ0X2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoaGFuZGxlLCBiaXRtYXBfYmgpOwogCWlmIChlcnIpCkBAIC0zNDczLDggKzM2MzcsNiBAQAogCQlpZiAoYml0ID49IGVuZCkKIAkJCWJyZWFrOwogCQluZXh0ID0gbWJfZmluZF9uZXh0X2JpdChiaXRtYXBfYmgtPmJfZGF0YSwgZW5kLCBiaXQpOwotCQlpZiAobmV4dCA+IGVuZCkKLQkJCW5leHQgPSBlbmQ7CiAJCXN0YXJ0ID0gZ3JvdXAgKiBFWFQ0X0JMT0NLU19QRVJfR1JPVVAoc2IpICsgYml0ICsKIAkJCQlsZTMyX3RvX2NwdShzYmktPnNfZXMtPnNfZmlyc3RfZGF0YV9ibG9jayk7CiAJCW1iX2RlYnVnKCIgICAgZnJlZSBwcmVhbGxvY2F0ZWQgJXUvJXUgaW4gZ3JvdXAgJXVcbiIsCkBAIC0zNTY5LDcgKzM3MzEsNyBAQAogCWlmIChsaXN0X2VtcHR5KCZncnAtPmJiX3ByZWFsbG9jX2xpc3QpKQogCQlyZXR1cm4gMDsKIAotCWJpdG1hcF9iaCA9IHJlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CisJYml0bWFwX2JoID0gZXh0NF9yZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOwogCWlmIChiaXRtYXBfYmggPT0gTlVMTCkgewogCQkvKiBlcnJvciBoYW5kbGluZyBoZXJlICovCiAJCWV4dDRfbWJfcmVsZWFzZV9kZXNjKCZlNGIpOwpAQCAtMzc0Myw3ICszOTA1LDcgQEAKIAkJZXJyID0gZXh0NF9tYl9sb2FkX2J1ZGR5KHNiLCBncm91cCwgJmU0Yik7CiAJCUJVR19PTihlcnIgIT0gMCk7IC8qIGVycm9yIGhhbmRsaW5nIGhlcmUgKi8KIAotCQliaXRtYXBfYmggPSByZWFkX2Jsb2NrX2JpdG1hcChzYiwgZ3JvdXApOworCQliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBncm91cCk7CiAJCWlmIChiaXRtYXBfYmggPT0gTlVMTCkgewogCQkJLyogZXJyb3IgaGFuZGxpbmcgaGVyZSAqLwogCQkJZXh0NF9tYl9yZWxlYXNlX2Rlc2MoJmU0Yik7CkBAIC00MDExLDEwICs0MTczLDIxIEBACiAJc2JpID0gRVhUNF9TQihzYik7CiAKIAlpZiAoIXRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkgewotCQlibG9jayA9IGV4dDRfbmV3X2Jsb2Nrc19vbGQoaGFuZGxlLCBhci0+aW5vZGUsIGFyLT5nb2FsLAorCQlibG9jayA9IGV4dDRfb2xkX25ld19ibG9ja3MoaGFuZGxlLCBhci0+aW5vZGUsIGFyLT5nb2FsLAogCQkJCQkgICAgJihhci0+bGVuKSwgZXJycCk7CiAJCXJldHVybiBibG9jazsKIAl9CisJaWYgKCFFWFQ0X0koYXItPmlub2RlKS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnKSB7CisJCS8qCisJCSAqIFdpdGggZGVsYWxsb2Mgd2UgYWxyZWFkeSByZXNlcnZlZCB0aGUgYmxvY2tzCisJCSAqLworCQlhci0+bGVuID0gZXh0NF9oYXNfZnJlZV9ibG9ja3Moc2JpLCBhci0+bGVuKTsKKwl9CisKKwlpZiAoYXItPmxlbiA9PSAwKSB7CisJCSplcnJwID0gLUVOT1NQQzsKKwkJcmV0dXJuIDA7CisJfQogCiAJd2hpbGUgKGFyLT5sZW4gJiYgRFFVT1RfQUxMT0NfQkxPQ0soYXItPmlub2RlLCBhci0+bGVuKSkgewogCQlhci0+ZmxhZ3MgfD0gRVhUNF9NQl9ISU5UX05PUFJFQUxMT0M7CkBAIC00MDI2LDEwICs0MTk5LDE0IEBACiAJfQogCWlucXVvdGEgPSBhci0+bGVuOwogCisJaWYgKEVYVDRfSShhci0+aW5vZGUpLT5pX2RlbGFsbG9jX3Jlc2VydmVkX2ZsYWcpCisJCWFyLT5mbGFncyB8PSBFWFQ0X01CX0RFTEFMTE9DX1JFU0VSVkVEOworCiAJYWMgPSBrbWVtX2NhY2hlX2FsbG9jKGV4dDRfYWNfY2FjaGVwLCBHRlBfTk9GUyk7CiAJaWYgKCFhYykgeworCQlhci0+bGVuID0gMDsKIAkJKmVycnAgPSAtRU5PTUVNOwotCQlyZXR1cm4gMDsKKwkJZ290byBvdXQxOwogCX0KIAogCWV4dDRfbWJfcG9sbF9uZXdfdHJhbnNhY3Rpb24oc2IsIGhhbmRsZSk7CkBAIC00MDM3LDEyICs0MjE0LDExIEBACiAJKmVycnAgPSBleHQ0X21iX2luaXRpYWxpemVfY29udGV4dChhYywgYXIpOwogCWlmICgqZXJycCkgewogCQlhci0+bGVuID0gMDsKLQkJZ290byBvdXQ7CisJCWdvdG8gb3V0MjsKIAl9CiAKIAlhYy0+YWNfb3AgPSBFWFQ0X01CX0hJU1RPUllfUFJFQUxMT0M7CiAJaWYgKCFleHQ0X21iX3VzZV9wcmVhbGxvY2F0ZWQoYWMpKSB7Ci0KIAkJYWMtPmFjX29wID0gRVhUNF9NQl9ISVNUT1JZX0FMTE9DOwogCQlleHQ0X21iX25vcm1hbGl6ZV9yZXF1ZXN0KGFjLCBhcik7CiByZXBlYXQ6CkBAIC00MDg1LDExICs0MjYxLDEyIEBACiAKIAlleHQ0X21iX3JlbGVhc2VfY29udGV4dChhYyk7CiAKLW91dDoKK291dDI6CisJa21lbV9jYWNoZV9mcmVlKGV4dDRfYWNfY2FjaGVwLCBhYyk7CitvdXQxOgogCWlmIChhci0+bGVuIDwgaW5xdW90YSkKIAkJRFFVT1RfRlJFRV9CTE9DSyhhci0+aW5vZGUsIGlucXVvdGEgLSBhci0+bGVuKTsKIAotCWttZW1fY2FjaGVfZnJlZShleHQ0X2FjX2NhY2hlcCwgYWMpOwogCXJldHVybiBibG9jazsKIH0KIHN0YXRpYyB2b2lkIGV4dDRfbWJfcG9sbF9uZXdfdHJhbnNhY3Rpb24oc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKQEAgLTQyNDIsNyArNDQxOSw3IEBACiAJCW92ZXJmbG93ID0gYml0ICsgY291bnQgLSBFWFQ0X0JMT0NLU19QRVJfR1JPVVAoc2IpOwogCQljb3VudCAtPSBvdmVyZmxvdzsKIAl9Ci0JYml0bWFwX2JoID0gcmVhZF9ibG9ja19iaXRtYXAoc2IsIGJsb2NrX2dyb3VwKTsKKwliaXRtYXBfYmggPSBleHQ0X3JlYWRfYmxvY2tfYml0bWFwKHNiLCBibG9ja19ncm91cCk7CiAJaWYgKCFiaXRtYXBfYmgpCiAJCWdvdG8gZXJyb3JfcmV0dXJuOwogCWdkcCA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGJsb2NrX2dyb3VwLCAmZ2RfYmgpOwpAQCAtNDMwOSwxMCArNDQ4Niw5IEBACiAJCWV4dDRfbWJfZnJlZV9tZXRhZGF0YShoYW5kbGUsICZlNGIsIGJsb2NrX2dyb3VwLCBiaXQsIGNvdW50KTsKIAl9IGVsc2UgewogCQlleHQ0X2xvY2tfZ3JvdXAoc2IsIGJsb2NrX2dyb3VwKTsKLQkJZXJyID0gbWJfZnJlZV9ibG9ja3MoaW5vZGUsICZlNGIsIGJpdCwgY291bnQpOworCQltYl9mcmVlX2Jsb2Nrcyhpbm9kZSwgJmU0YiwgYml0LCBjb3VudCk7CiAJCWV4dDRfbWJfcmV0dXJuX3RvX3ByZWFsbG9jYXRpb24oaW5vZGUsICZlNGIsIGJsb2NrLCBjb3VudCk7CiAJCWV4dDRfdW5sb2NrX2dyb3VwKHNiLCBibG9ja19ncm91cCk7Ci0JCUJVR19PTihlcnIgIT0gMCk7CiAJfQogCiAJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYmxvY2tfZ3JvdXApKTsKQEAgLTQzMjEsNiArNDQ5NywxMyBAQAogCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgYmxvY2tfZ3JvdXApKTsKIAlwZXJjcHVfY291bnRlcl9hZGQoJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIsIGNvdW50KTsKIAorCWlmIChzYmktPnNfbG9nX2dyb3Vwc19wZXJfZmxleCkgeworCQlleHQ0X2dyb3VwX3QgZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGJsb2NrX2dyb3VwKTsKKwkJc3Bpbl9sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgKz0gY291bnQ7CisJCXNwaW5fdW5sb2NrKHNiX2JnbF9sb2NrKHNiaSwgZmxleF9ncm91cCkpOworCX0KKwogCWV4dDRfbWJfcmVsZWFzZV9kZXNjKCZlNGIpOwogCiAJKmZyZWVkICs9IGNvdW50OwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9uYW1laS5jIGIvZnMvZXh0NC9uYW1laS5jCmluZGV4IGFiMTZiZWEuLjM4N2FkOTggMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvbmFtZWkuYworKysgYi9mcy9leHQ0L25hbWVpLmMKQEAgLTE4Myw2ICsxODMsMTYgQEAKIAkJCSAgICAgc3RydWN0IGlub2RlICppbm9kZSk7CiAKIC8qCisgKiBwIGlzIGF0IGxlYXN0IDYgYnl0ZXMgYmVmb3JlIHRoZSBlbmQgb2YgcGFnZQorICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICoKK2V4dDRfbmV4dF9lbnRyeShzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqcCkKK3sKKwlyZXR1cm4gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopKChjaGFyICopcCArCisJCWV4dDRfcmVjX2xlbl9mcm9tX2Rpc2socC0+cmVjX2xlbikpOworfQorCisvKgogICogRnV0dXJlOiB1c2UgaGlnaCBmb3VyIGJpdHMgb2YgYmxvY2sgZm9yIGNvYWxlc2NlLW9uLWRlbGV0ZSBmbGFncwogICogTWFzayB0aGVtIG9mZiBmb3Igbm93LgogICovCkBAIC0yMzEsMTMgKzI0MSwxMyBAQAogewogCXVuc2lnbmVkIGVudHJ5X3NwYWNlID0gZGlyLT5pX3NiLT5zX2Jsb2Nrc2l6ZSAtIEVYVDRfRElSX1JFQ19MRU4oMSkgLQogCQlFWFQ0X0RJUl9SRUNfTEVOKDIpIC0gaW5mb3NpemU7Ci0JcmV0dXJuIDA/IDIwOiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOworCXJldHVybiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOwogfQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGR4X25vZGVfbGltaXQgKHN0cnVjdCBpbm9kZSAqZGlyKQogewogCXVuc2lnbmVkIGVudHJ5X3NwYWNlID0gZGlyLT5pX3NiLT5zX2Jsb2Nrc2l6ZSAtIEVYVDRfRElSX1JFQ19MRU4oMCk7Ci0JcmV0dXJuIDA/IDIyOiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOworCXJldHVybiBlbnRyeV9zcGFjZSAvIHNpemVvZihzdHJ1Y3QgZHhfZW50cnkpOwogfQogCiAvKgpAQCAtNTU0LDE1ICs1NjQsNiBAQAogCiAKIC8qCi0gKiBwIGlzIGF0IGxlYXN0IDYgYnl0ZXMgYmVmb3JlIHRoZSBlbmQgb2YgcGFnZQotICovCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICpleHQ0X25leHRfZW50cnkoc3RydWN0IGV4dDRfZGlyX2VudHJ5XzIgKnApCi17Ci0JcmV0dXJuIChzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqKSgoY2hhciAqKXAgKwotCQlleHQ0X3JlY19sZW5fZnJvbV9kaXNrKHAtPnJlY19sZW4pKTsKLX0KLQotLyoKICAqIFRoaXMgZnVuY3Rpb24gZmlsbHMgYSByZWQtYmxhY2sgdHJlZSB3aXRoIGluZm9ybWF0aW9uIGZyb20gYQogICogZGlyZWN0b3J5IGJsb2NrLiAgSXQgcmV0dXJucyB0aGUgbnVtYmVyIGRpcmVjdG9yeSBlbnRyaWVzIGxvYWRlZAogICogaW50byB0aGUgdHJlZS4gIElmIHRoZXJlIGlzIGFuIGVycm9yIGl0IGlzIHJldHVybmVkIGluIGVyci4KQEAgLTk5MywxOSArOTk0LDIxIEBACiAJCWRlID0gKHN0cnVjdCBleHQ0X2Rpcl9lbnRyeV8yICopIGJoLT5iX2RhdGE7CiAJCXRvcCA9IChzdHJ1Y3QgZXh0NF9kaXJfZW50cnlfMiAqKSAoKGNoYXIgKikgZGUgKyBzYi0+c19ibG9ja3NpemUgLQogCQkJCSAgICAgICBFWFQ0X0RJUl9SRUNfTEVOKDApKTsKLQkJZm9yICg7IGRlIDwgdG9wOyBkZSA9IGV4dDRfbmV4dF9lbnRyeShkZSkpCi0JCWlmIChleHQ0X21hdGNoIChuYW1lbGVuLCBuYW1lLCBkZSkpIHsKLQkJCWlmICghZXh0NF9jaGVja19kaXJfZW50cnkoImV4dDRfZmluZF9lbnRyeSIsCi0JCQkJCQkgIGRpciwgZGUsIGJoLAotCQkJCSAgKGJsb2NrPDxFWFQ0X0JMT0NLX1NJWkVfQklUUyhzYikpCi0JCQkJCSAgKygoY2hhciAqKWRlIC0gYmgtPmJfZGF0YSkpKSB7Ci0JCQkJYnJlbHNlIChiaCk7CisJCWZvciAoOyBkZSA8IHRvcDsgZGUgPSBleHQ0X25leHRfZW50cnkoZGUpKSB7CisJCQlpbnQgb2ZmID0gKGJsb2NrIDw8IEVYVDRfQkxPQ0tfU0laRV9CSVRTKHNiKSkKKwkJCQkgICsgKChjaGFyICopIGRlIC0gYmgtPmJfZGF0YSk7CisKKwkJCWlmICghZXh0NF9jaGVja19kaXJfZW50cnkoX19mdW5jX18sIGRpciwgZGUsIGJoLCBvZmYpKSB7CisJCQkJYnJlbHNlKGJoKTsKIAkJCQkqZXJyID0gRVJSX0JBRF9EWF9ESVI7CiAJCQkJZ290byBlcnJvdXQ7CiAJCQl9Ci0JCQkqcmVzX2RpciA9IGRlOwotCQkJZHhfcmVsZWFzZSAoZnJhbWVzKTsKLQkJCXJldHVybiBiaDsKKworCQkJaWYgKGV4dDRfbWF0Y2gobmFtZWxlbiwgbmFtZSwgZGUpKSB7CisJCQkJKnJlc19kaXIgPSBkZTsKKwkJCQlkeF9yZWxlYXNlKGZyYW1lcyk7CisJCQkJcmV0dXJuIGJoOworCQkJfQogCQl9CiAJCWJyZWxzZSAoYmgpOwogCQkvKiBDaGVjayB0byBzZWUgaWYgd2Ugc2hvdWxkIGNvbnRpbnVlIHRvIHNlYXJjaCAqLwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9yZXNpemUuYyBiL2ZzL2V4dDQvcmVzaXplLmMKaW5kZXggOWZmN2IxYy4uZjAwMGZiZSAxMDA2NDQKLS0tIGEvZnMvZXh0NC9yZXNpemUuYworKysgYi9mcy9leHQ0L3Jlc2l6ZS5jCkBAIC04NjYsNiArODY2LDE1IEBACiAJZ2RwLT5iZ19jaGVja3N1bSA9IGV4dDRfZ3JvdXBfZGVzY19jc3VtKHNiaSwgaW5wdXQtPmdyb3VwLCBnZHApOwogCiAJLyoKKwkgKiBXZSBjYW4gYWxsb2NhdGUgbWVtb3J5IGZvciBtYl9hbGxvYyBiYXNlZCBvbiB0aGUgbmV3IGdyb3VwCisJICogZGVzY3JpcHRvcgorCSAqLworCWlmICh0ZXN0X29wdChzYiwgTUJBTExPQykpIHsKKwkJZXJyID0gZXh0NF9tYl9hZGRfbW9yZV9ncm91cGluZm8oc2IsIGlucHV0LT5ncm91cCwgZ2RwKTsKKwkJaWYgKGVycikKKwkJCWdvdG8gZXhpdF9qb3VybmFsOworCX0KKwkvKgogCSAqIE1ha2UgdGhlIG5ldyBibG9ja3MgYW5kIGlub2RlcyB2YWxpZCBuZXh0LiAgV2UgZG8gdGhpcyBiZWZvcmUKIAkgKiBpbmNyZWFzaW5nIHRoZSBncm91cCBjb3VudCBzbyB0aGF0IG9uY2UgdGhlIGdyb3VwIGlzIGVuYWJsZWQsCiAJICogYWxsIG9mIGl0cyBibG9ja3MgYW5kIGlub2RlcyBhcmUgYWxyZWFkeSB2YWxpZC4KQEAgLTk1Nyw2ICs5NjYsOCBAQAogCWhhbmRsZV90ICpoYW5kbGU7CiAJaW50IGVycjsKIAl1bnNpZ25lZCBsb25nIGZyZWVkX2Jsb2NrczsKKwlleHQ0X2dyb3VwX3QgZ3JvdXA7CisJc3RydWN0IGV4dDRfZ3JvdXBfaW5mbyAqZ3JwOwogCiAJLyogV2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBsb2NraW5nIHdydCBvdGhlciByZXNpemVycyBqdXN0CiAJICogeWV0OiB3ZSdyZSBnb2luZyB0byByZXZhbGlkYXRlIGVzLT5zX2Jsb2Nrc19jb3VudCBhZnRlcgpAQCAtOTg4LDcgKzk5OSw3IEBACiAJfQogCiAJLyogSGFuZGxlIHRoZSByZW1haW5pbmcgYmxvY2tzIGluIHRoZSBsYXN0IGdyb3VwIG9ubHkuICovCi0JZXh0NF9nZXRfZ3JvdXBfbm9fYW5kX29mZnNldChzYiwgb19ibG9ja3NfY291bnQsIE5VTEwsICZsYXN0KTsKKwlleHQ0X2dldF9ncm91cF9ub19hbmRfb2Zmc2V0KHNiLCBvX2Jsb2Nrc19jb3VudCwgJmdyb3VwLCAmbGFzdCk7CiAKIAlpZiAobGFzdCA9PSAwKSB7CiAJCWV4dDRfd2FybmluZyhzYiwgX19mdW5jX18sCkBAIC0xMDYwLDYgKzEwNzEsNDUgQEAKIAkJICAgb19ibG9ja3NfY291bnQgKyBhZGQpOwogCWlmICgoZXJyID0gZXh0NF9qb3VybmFsX3N0b3AoaGFuZGxlKSkpCiAJCWdvdG8gZXhpdF9wdXQ7CisKKwkvKgorCSAqIE1hcmsgbWJhbGxvYyBwYWdlcyBhcyBub3QgdXAgdG8gZGF0ZSBzbyB0aGF0IHRoZXkgd2lsbCBiZSB1cGRhdGVkCisJICogbmV4dCB0aW1lIHRoZXkgYXJlIGxvYWRlZCBieSBleHQ0X21iX2xvYWRfYnVkZHkuCisJICovCisJaWYgKHRlc3Rfb3B0KHNiLCBNQkFMTE9DKSkgeworCQlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKKwkJc3RydWN0IGlub2RlICppbm9kZSA9IHNiaS0+c19idWRkeV9jYWNoZTsKKwkJaW50IGJsb2Nrc19wZXJfcGFnZTsKKwkJaW50IGJsb2NrOworCQlpbnQgcG51bTsKKwkJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwkJLyogU2V0IGJ1ZGR5IHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwkJYmxvY2tzX3Blcl9wYWdlID0gUEFHRV9DQUNIRV9TSVpFIC8gc2ItPnNfYmxvY2tzaXplOworCQlibG9jayA9IGdyb3VwICogMjsKKwkJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCQlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwkJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJCX0KKworCQkvKiBTZXQgYml0bWFwIHBhZ2UgYXMgbm90IHVwIHRvIGRhdGUgKi8KKwkJYmxvY2srKzsKKwkJcG51bSA9IGJsb2NrIC8gYmxvY2tzX3Blcl9wYWdlOworCQlwYWdlID0gZmluZF9nZXRfcGFnZShpbm9kZS0+aV9tYXBwaW5nLCBwbnVtKTsKKwkJaWYgKHBhZ2UgIT0gTlVMTCkgeworCQkJQ2xlYXJQYWdlVXB0b2RhdGUocGFnZSk7CisJCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7CisJCX0KKworCQkvKiBHZXQgdGhlIGluZm8gb24gdGhlIGxhc3QgZ3JvdXAgKi8KKwkJZ3JwID0gZXh0NF9nZXRfZ3JvdXBfaW5mbyhzYiwgZ3JvdXApOworCisJCS8qIFVwZGF0ZSBmcmVlIGJsb2NrcyBpbiBncm91cCBpbmZvICovCisJCWV4dDRfbWJfdXBkYXRlX2dyb3VwX2luZm8oZ3JwLCBhZGQpOworCX0KKwogCWlmICh0ZXN0X29wdChzYiwgREVCVUcpKQogCQlwcmludGsoS0VSTl9ERUJVRyAiRVhUNC1mczogZXh0ZW5kZWQgZ3JvdXAgdG8gJWxsdSBibG9ja3NcbiIsCiAJCSAgICAgICBleHQ0X2Jsb2Nrc19jb3VudChlcykpOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9zdXBlci5jIGIvZnMvZXh0NC9zdXBlci5jCmluZGV4IDAyYmYyNDMuLjFjYjM3MWQgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQvc3VwZXIuYworKysgYi9mcy9leHQ0L3N1cGVyLmMKQEAgLTUwNiw2ICs1MDYsNyBAQAogCWV4dDRfZXh0X3JlbGVhc2Uoc2IpOwogCWV4dDRfeGF0dHJfcHV0X3N1cGVyKHNiKTsKIAlqYmQyX2pvdXJuYWxfZGVzdHJveShzYmktPnNfam91cm5hbCk7CisJc2JpLT5zX2pvdXJuYWwgPSBOVUxMOwogCWlmICghKHNiLT5zX2ZsYWdzICYgTVNfUkRPTkxZKSkgewogCQlFWFQ0X0NMRUFSX0lOQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9SRUNPVkVSKTsKIAkJZXMtPnNfc3RhdGUgPSBjcHVfdG9fbGUxNihzYmktPnNfbW91bnRfc3RhdGUpOwpAQCAtNTE3LDYgKzUxOCw3IEBACiAJZm9yIChpID0gMDsgaSA8IHNiaS0+c19nZGJfY291bnQ7IGkrKykKIAkJYnJlbHNlKHNiaS0+c19ncm91cF9kZXNjW2ldKTsKIAlrZnJlZShzYmktPnNfZ3JvdXBfZGVzYyk7CisJa2ZyZWUoc2JpLT5zX2ZsZXhfZ3JvdXBzKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWJsb2Nrc19jb3VudGVyKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWlub2Rlc19jb3VudGVyKTsKIAlwZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZGlyc19jb3VudGVyKTsKQEAgLTU3MSw2ICs1NzMsMTIgQEAKIAltZW1zZXQoJmVpLT5pX2NhY2hlZF9leHRlbnQsIDAsIHNpemVvZihzdHJ1Y3QgZXh0NF9leHRfY2FjaGUpKTsKIAlJTklUX0xJU1RfSEVBRCgmZWktPmlfcHJlYWxsb2NfbGlzdCk7CiAJc3Bpbl9sb2NrX2luaXQoJmVpLT5pX3ByZWFsbG9jX2xvY2spOworCWpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZSgmZWktPmppbm9kZSwgJmVpLT52ZnNfaW5vZGUpOworCWVpLT5pX3Jlc2VydmVkX2RhdGFfYmxvY2tzID0gMDsKKwllaS0+aV9yZXNlcnZlZF9tZXRhX2Jsb2NrcyA9IDA7CisJZWktPmlfYWxsb2NhdGVkX21ldGFfYmxvY2tzID0gMDsKKwllaS0+aV9kZWxhbGxvY19yZXNlcnZlZF9mbGFnID0gMDsKKwlzcGluX2xvY2tfaW5pdCgmKGVpLT5pX2Jsb2NrX3Jlc2VydmF0aW9uX2xvY2spKTsKIAlyZXR1cm4gJmVpLT52ZnNfaW5vZGU7CiB9CiAKQEAgLTYzNSw2ICs2NDMsOCBAQAogCUVYVDRfSShpbm9kZSktPmlfYmxvY2tfYWxsb2NfaW5mbyA9IE5VTEw7CiAJaWYgKHVubGlrZWx5KHJzdikpCiAJCWtmcmVlKHJzdik7CisJamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKEVYVDRfU0IoaW5vZGUtPmlfc2IpLT5zX2pvdXJuYWwsCisJCQkJICAgICAgICZFWFQ0X0koaW5vZGUpLT5qaW5vZGUpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZXh0NF9zaG93X3F1b3RhX29wdGlvbnMoc3RydWN0IHNlcV9maWxlICpzZXEsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCkBAIC02NzEsNyArNjgxLDYgQEAKIAl1bnNpZ25lZCBsb25nIGRlZl9tb3VudF9vcHRzOwogCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSB2ZnMtPm1udF9zYjsKIAlzdHJ1Y3QgZXh0NF9zYl9pbmZvICpzYmkgPSBFWFQ0X1NCKHNiKTsKLQlqb3VybmFsX3QgKmpvdXJuYWwgPSBzYmktPnNfam91cm5hbDsKIAlzdHJ1Y3QgZXh0NF9zdXBlcl9ibG9jayAqZXMgPSBzYmktPnNfZXM7CiAKIAlkZWZfbW91bnRfb3B0cyA9IGxlMzJfdG9fY3B1KGVzLT5zX2RlZmF1bHRfbW91bnRfb3B0cyk7CkBAIC03NDcsNiArNzU2LDkgQEAKIAkJc2VxX3B1dHMoc2VxLCAiLG5vbWJhbGxvYyIpOwogCWlmICh0ZXN0X29wdChzYiwgSV9WRVJTSU9OKSkKIAkJc2VxX3B1dHMoc2VxLCAiLGlfdmVyc2lvbiIpOworCWlmICghdGVzdF9vcHQoc2IsIERFTEFMTE9DKSkKKwkJc2VxX3B1dHMoc2VxLCAiLG5vZGVsYWxsb2MiKTsKKwogCiAJaWYgKHNiaS0+c19zdHJpcGUpCiAJCXNlcV9wcmludGYoc2VxLCAiLHN0cmlwZT0lbHUiLCBzYmktPnNfc3RyaXBlKTsKQEAgLTg5NCw3ICs5MDYsNyBAQAogCU9wdF9qcWZtdF92ZnNvbGQsIE9wdF9qcWZtdF92ZnN2MCwgT3B0X3F1b3RhLCBPcHRfbm9xdW90YSwKIAlPcHRfaWdub3JlLCBPcHRfYmFycmllciwgT3B0X2VyciwgT3B0X3Jlc2l6ZSwgT3B0X3VzcnF1b3RhLAogCU9wdF9ncnBxdW90YSwgT3B0X2V4dGVudHMsIE9wdF9ub2V4dGVudHMsIE9wdF9pX3ZlcnNpb24sCi0JT3B0X21iYWxsb2MsIE9wdF9ub21iYWxsb2MsIE9wdF9zdHJpcGUsCisJT3B0X21iYWxsb2MsIE9wdF9ub21iYWxsb2MsIE9wdF9zdHJpcGUsIE9wdF9kZWxhbGxvYywgT3B0X25vZGVsYWxsb2MsCiB9OwogCiBzdGF0aWMgbWF0Y2hfdGFibGVfdCB0b2tlbnMgPSB7CkBAIC05NTMsNiArOTY1LDggQEAKIAl7T3B0X25vbWJhbGxvYywgIm5vbWJhbGxvYyJ9LAogCXtPcHRfc3RyaXBlLCAic3RyaXBlPSV1In0sCiAJe09wdF9yZXNpemUsICJyZXNpemUifSwKKwl7T3B0X2RlbGFsbG9jLCAiZGVsYWxsb2MifSwKKwl7T3B0X25vZGVsYWxsb2MsICJub2RlbGFsbG9jIn0sCiAJe09wdF9lcnIsIE5VTEx9LAogfTsKIApAQCAtOTkwLDYgKzEwMDQsNyBAQAogCWludCBxdHlwZSwgcWZtdDsKIAljaGFyICpxbmFtZTsKICNlbmRpZgorCWV4dDRfZnNibGtfdCBsYXN0X2Jsb2NrOwogCiAJaWYgKCFvcHRpb25zKQogCQlyZXR1cm4gMTsKQEAgLTEzMDksMTUgKzEzMjQsMzkgQEAKIAkJCWNsZWFyX29wdChzYmktPnNfbW91bnRfb3B0LCBOT0JIKTsKIAkJCWJyZWFrOwogCQljYXNlIE9wdF9leHRlbnRzOgorCQkJaWYgKCFFWFQ0X0hBU19JTkNPTVBBVF9GRUFUVVJFKHNiLAorCQkJCQlFWFQ0X0ZFQVRVUkVfSU5DT01QQVRfRVhURU5UUykpIHsKKwkJCQlleHQ0X3dhcm5pbmcoc2IsIF9fZnVuY19fLAorCQkJCQkiZXh0ZW50cyBmZWF0dXJlIG5vdCBlbmFibGVkICIKKwkJCQkJIm9uIHRoaXMgZmlsZXN5c3RlbSwgdXNlIHR1bmUyZnNcbiIpOworCQkJCXJldHVybiAwOworCQkJfQogCQkJc2V0X29wdCAoc2JpLT5zX21vdW50X29wdCwgRVhURU5UUyk7CiAJCQlicmVhazsKIAkJY2FzZSBPcHRfbm9leHRlbnRzOgorCQkJLyoKKwkJCSAqIFdoZW4gZTJmc3Byb2dzIHN1cHBvcnQgcmVzaXppbmcgYW4gYWxyZWFkeSBleGlzdGluZworCQkJICogZXh0MyBmaWxlIHN5c3RlbSB0byBncmVhdGVyIHRoYW4gMioqMzIgd2UgbmVlZCB0bworCQkJICogYWRkIHN1cHBvcnQgdG8gYmxvY2sgYWxsb2NhdG9yIHRvIGhhbmRsZSBncm93aW5nCisJCQkgKiBhbHJlYWR5IGV4aXN0aW5nIGJsb2NrICBtYXBwZWQgaW5vZGUgc28gdGhhdCBibG9ja3MKKwkJCSAqIGFsbG9jYXRlZCBmb3IgdGhlbSBmYWxsIHdpdGhpbiAyKiozMgorCQkJICovCisJCQlsYXN0X2Jsb2NrID0gZXh0NF9ibG9ja3NfY291bnQoc2JpLT5zX2VzKSAtIDE7CisJCQlpZiAobGFzdF9ibG9jayAgPiAweGZmZmZmZmZmVUxMKSB7CisJCQkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBGaWxlc3lzdGVtIHRvbyAiCisJCQkJCQkibGFyZ2UgdG8gbW91bnQgd2l0aCAiCisJCQkJCQkiLW8gbm9leHRlbnRzIG9wdGlvbnNcbiIpOworCQkJCXJldHVybiAwOworCQkJfQogCQkJY2xlYXJfb3B0IChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKIAkJCWJyZWFrOwogCQljYXNlIE9wdF9pX3ZlcnNpb246CiAJCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIElfVkVSU0lPTik7CiAJCQlzYi0+c19mbGFncyB8PSBNU19JX1ZFUlNJT047CiAJCQlicmVhazsKKwkJY2FzZSBPcHRfbm9kZWxhbGxvYzoKKwkJCWNsZWFyX29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisJCQlicmVhazsKIAkJY2FzZSBPcHRfbWJhbGxvYzoKIAkJCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgTUJBTExPQyk7CiAJCQlicmVhazsKQEAgLTEzMzEsNiArMTM3MCw5IEBACiAJCQkJcmV0dXJuIDA7CiAJCQlzYmktPnNfc3RyaXBlID0gb3B0aW9uOwogCQkJYnJlYWs7CisJCWNhc2UgT3B0X2RlbGFsbG9jOgorCQkJc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBERUxBTExPQyk7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCXByaW50ayAoS0VSTl9FUlIKIAkJCQkiRVhUNC1mczogVW5yZWNvZ25pemVkIG1vdW50IG9wdGlvbiBcIiVzXCIgIgpAQCAtMTQ0Myw2ICsxNDg1LDU0IEBACiAJcmV0dXJuIHJlczsKIH0KIAorc3RhdGljIGludCBleHQ0X2ZpbGxfZmxleF9pbmZvKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7CisJc3RydWN0IGV4dDRfZ3JvdXBfZGVzYyAqZ2RwID0gTlVMTDsKKwlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwX2NvdW50OworCWV4dDRfZ3JvdXBfdCBmbGV4X2dyb3VwOworCWludCBncm91cHNfcGVyX2ZsZXggPSAwOworCV9fdTY0IGJsb2NrX2JpdG1hcCA9IDA7CisJaW50IGk7CisKKwlpZiAoIXNiaS0+c19lcy0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4KSB7CisJCXNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4ID0gMDsKKwkJcmV0dXJuIDE7CisJfQorCisJc2JpLT5zX2xvZ19ncm91cHNfcGVyX2ZsZXggPSBzYmktPnNfZXMtPnNfbG9nX2dyb3Vwc19wZXJfZmxleDsKKwlncm91cHNfcGVyX2ZsZXggPSAxIDw8IHNiaS0+c19sb2dfZ3JvdXBzX3Blcl9mbGV4OworCisJZmxleF9ncm91cF9jb3VudCA9IChzYmktPnNfZ3JvdXBzX2NvdW50ICsgZ3JvdXBzX3Blcl9mbGV4IC0gMSkgLworCQlncm91cHNfcGVyX2ZsZXg7CisJc2JpLT5zX2ZsZXhfZ3JvdXBzID0ga21hbGxvYyhmbGV4X2dyb3VwX2NvdW50ICoKKwkJCQkgICAgIHNpemVvZihzdHJ1Y3QgZmxleF9ncm91cHMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoc2JpLT5zX2ZsZXhfZ3JvdXBzID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJFWFQ0LWZzOiBub3QgZW5vdWdoIG1lbW9yeVxuIik7CisJCWdvdG8gZmFpbGVkOworCX0KKwltZW1zZXQoc2JpLT5zX2ZsZXhfZ3JvdXBzLCAwLCBmbGV4X2dyb3VwX2NvdW50ICoKKwkgICAgICAgc2l6ZW9mKHN0cnVjdCBmbGV4X2dyb3VwcykpOworCisJZ2RwID0gZXh0NF9nZXRfZ3JvdXBfZGVzYyhzYiwgMSwgJmJoKTsKKwlibG9ja19iaXRtYXAgPSBleHQ0X2Jsb2NrX2JpdG1hcChzYiwgZ2RwKSAtIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgc2JpLT5zX2dyb3Vwc19jb3VudDsgaSsrKSB7CisJCWdkcCA9IGV4dDRfZ2V0X2dyb3VwX2Rlc2Moc2IsIGksICZiaCk7CisKKwkJZmxleF9ncm91cCA9IGV4dDRfZmxleF9ncm91cChzYmksIGkpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9pbm9kZXMgKz0KKwkJCWxlMTZfdG9fY3B1KGdkcC0+YmdfZnJlZV9pbm9kZXNfY291bnQpOworCQlzYmktPnNfZmxleF9ncm91cHNbZmxleF9ncm91cF0uZnJlZV9ibG9ja3MgKz0KKwkJCWxlMTZfdG9fY3B1KGdkcC0+YmdfZnJlZV9ibG9ja3NfY291bnQpOworCX0KKworCXJldHVybiAxOworZmFpbGVkOgorCXJldHVybiAwOworfQorCiBfX2xlMTYgZXh0NF9ncm91cF9kZXNjX2NzdW0oc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpLCBfX3UzMiBibG9ja19ncm91cCwKIAkJCSAgICBzdHJ1Y3QgZXh0NF9ncm91cF9kZXNjICpnZHApCiB7CkBAIC0xODEwLDggKzE5MDAsOCBAQAogfQogCiBzdGF0aWMgaW50IGV4dDRfZmlsbF9zdXBlciAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSwgaW50IHNpbGVudCkKLQkJCQlfX3JlbGVhc2VzKGtlcm5lbF9zZW0pCi0JCQkJX19hY3F1aXJlcyhrZXJuZWxfc2VtKQorCQkJCV9fcmVsZWFzZXMoa2VybmVsX2xvY2spCisJCQkJX19hY3F1aXJlcyhrZXJuZWxfbG9jaykKIAogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqIGJoOwpAQCAtMTg1MSwxMSArMTk0MSw2IEBACiAJCWdvdG8gb3V0X2ZhaWw7CiAJfQogCi0JaWYgKCFzYl9zZXRfYmxvY2tzaXplKHNiLCBibG9ja3NpemUpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogYmFkIGJsb2Nrc2l6ZSAlZC5cbiIsIGJsb2Nrc2l6ZSk7Ci0JCWdvdG8gb3V0X2ZhaWw7Ci0JfQotCiAJLyoKIAkgKiBUaGUgZXh0NCBzdXBlcmJsb2NrIHdpbGwgbm90IGJlIGJ1ZmZlciBhbGlnbmVkIGZvciBvdGhlciB0aGFuIDFrQgogCSAqIGJsb2NrIHNpemVzLiAgV2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIG9mZnNldCBmcm9tIGJ1ZmZlciBzdGFydC4KQEAgLTE5MTksMTUgKzIwMDQsMjggQEAKIAogCS8qCiAJICogdHVybiBvbiBleHRlbnRzIGZlYXR1cmUgYnkgZGVmYXVsdCBpbiBleHQ0IGZpbGVzeXN0ZW0KLQkgKiBVc2VyIC1vIG5vZXh0ZW50cyB0byB0dXJuIGl0IG9mZgorCSAqIG9ubHkgaWYgZmVhdHVyZSBmbGFnIGFscmVhZHkgc2V0IGJ5IG1rZnMgb3IgdHVuZTJmcy4KKwkgKiBVc2UgLW8gbm9leHRlbnRzIHRvIHR1cm4gaXQgb2ZmCiAJICovCi0Jc2V0X29wdChzYmktPnNfbW91bnRfb3B0LCBFWFRFTlRTKTsKKwlpZiAoRVhUNF9IQVNfSU5DT01QQVRfRkVBVFVSRShzYiwgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0VYVEVOVFMpKQorCQlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIEVYVEVOVFMpOworCWVsc2UKKwkJZXh0NF93YXJuaW5nKHNiLCBfX2Z1bmNfXywKKwkJCSJleHRlbnRzIGZlYXR1cmUgbm90IGVuYWJsZWQgb24gdGhpcyBmaWxlc3lzdGVtLCAiCisJCQkidXNlIHR1bmUyZnMuXG4iKTsKIAkvKgotCSAqIHR1cm4gb24gbWJhbGxvYyBmZWF0dXJlIGJ5IGRlZmF1bHQgaW4gZXh0NCBmaWxlc3lzdGVtCi0JICogVXNlciAtbyBub21iYWxsb2MgdG8gdHVybiBpdCBvZmYKKwkgKiB0dXJuIG9uIG1iYWxsb2MgY29kZSBieSBkZWZhdWx0IGluIGV4dDQgZmlsZXN5c3RlbQorCSAqIFVzZSAtbyBub21iYWxsb2MgdG8gdHVybiBpdCBvZmYKIAkgKi8KIAlzZXRfb3B0KHNiaS0+c19tb3VudF9vcHQsIE1CQUxMT0MpOwogCisJLyoKKwkgKiBlbmFibGUgZGVsYXllZCBhbGxvY2F0aW9uIGJ5IGRlZmF1bHQKKwkgKiBVc2UgLW8gbm9kZWxhbGxvYyB0byB0dXJuIGl0IG9mZgorCSAqLworCXNldF9vcHQoc2JpLT5zX21vdW50X29wdCwgREVMQUxMT0MpOworCisKIAlpZiAoIXBhcnNlX29wdGlvbnMgKChjaGFyICopIGRhdGEsIHNiLCAmam91cm5hbF9pbnVtLCAmam91cm5hbF9kZXZudW0sCiAJCQkgICAgTlVMTCwgMCkpCiAJCWdvdG8gZmFpbGVkX21vdW50OwpAQCAtMjEzOCw2ICsyMjM2LDE0IEBACiAJCXByaW50ayhLRVJOX0VSUiAiRVhUNC1mczogZ3JvdXAgZGVzY3JpcHRvcnMgY29ycnVwdGVkIVxuIik7CiAJCWdvdG8gZmFpbGVkX21vdW50MjsKIAl9CisJaWYgKEVYVDRfSEFTX0lOQ09NUEFUX0ZFQVRVUkUoc2IsIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9GTEVYX0JHKSkKKwkJaWYgKCFleHQ0X2ZpbGxfZmxleF9pbmZvKHNiKSkgeworCQkJcHJpbnRrKEtFUk5fRVJSCisJCQkgICAgICAgIkVYVDQtZnM6IHVuYWJsZSB0byBpbml0aWFsaXplICIKKwkJCSAgICAgICAiZmxleF9iZyBtZXRhIGluZm8hXG4iKTsKKwkJCWdvdG8gZmFpbGVkX21vdW50MjsKKwkJfQorCiAJc2JpLT5zX2dkYl9jb3VudCA9IGRiX2NvdW50OwogCWdldF9yYW5kb21fYnl0ZXMoJnNiaS0+c19uZXh0X2dlbmVyYXRpb24sIHNpemVvZih1MzIpKTsKIAlzcGluX2xvY2tfaW5pdCgmc2JpLT5zX25leHRfZ2VuX2xvY2spOwpAQCAtMjM1OCw2ICsyNDY0LDEzIEBACiAJCXRlc3Rfb3B0KHNiLERBVEFfRkxBR1MpID09IEVYVDRfTU9VTlRfT1JERVJFRF9EQVRBID8gIm9yZGVyZWQiOgogCQkid3JpdGViYWNrIik7CiAKKwlpZiAodGVzdF9vcHQoc2IsIERBVEFfRkxBR1MpID09IEVYVDRfTU9VTlRfSk9VUk5BTF9EQVRBKSB7CisJCXByaW50ayhLRVJOX1dBUk5JTkcgIkVYVDQtZnM6IElnbm9yaW5nIGRlbGFsbG9jIG9wdGlvbiAtICIKKwkJCQkicmVxdWVzdGVkIGRhdGEgam91cm5hbGluZyBtb2RlXG4iKTsKKwkJY2xlYXJfb3B0KHNiaS0+c19tb3VudF9vcHQsIERFTEFMTE9DKTsKKwl9IGVsc2UgaWYgKHRlc3Rfb3B0KHNiLCBERUxBTExPQykpCisJCXByaW50ayhLRVJOX0lORk8gIkVYVDQtZnM6IGRlbGF5ZWQgYWxsb2NhdGlvbiBlbmFibGVkXG4iKTsKKwogCWV4dDRfZXh0X2luaXQoc2IpOwogCWV4dDRfbWJfaW5pdChzYiwgbmVlZHNfcmVjb3ZlcnkpOwogCkBAIC0yMzcyLDYgKzI0ODUsNyBAQAogCiBmYWlsZWRfbW91bnQ0OgogCWpiZDJfam91cm5hbF9kZXN0cm95KHNiaS0+c19qb3VybmFsKTsKKwlzYmktPnNfam91cm5hbCA9IE5VTEw7CiBmYWlsZWRfbW91bnQzOgogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlYmxvY2tzX2NvdW50ZXIpOwogCXBlcmNwdV9jb3VudGVyX2Rlc3Ryb3koJnNiaS0+c19mcmVlaW5vZGVzX2NvdW50ZXIpOwpAQCAtMzMyNSw3ICszNDM5LDcgQEAKIAkJCWVyciA9IGV4dDRfam91cm5hbF9kaXJ0eV9tZXRhZGF0YShoYW5kbGUsIGJoKTsKIAkJZWxzZSB7CiAJCQkvKiBBbHdheXMgZG8gYXQgbGVhc3Qgb3JkZXJlZCB3cml0ZXMgZm9yIHF1b3RhcyAqLwotCQkJZXJyID0gZXh0NF9qb3VybmFsX2RpcnR5X2RhdGEoaGFuZGxlLCBiaCk7CisJCQllcnIgPSBleHQ0X2piZDJfZmlsZV9pbm9kZShoYW5kbGUsIGlub2RlKTsKIAkJCW1hcmtfYnVmZmVyX2RpcnR5KGJoKTsKIAkJfQogCQlicmVsc2UoYmgpOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0ci5jIGIvZnMvZXh0NC94YXR0ci5jCmluZGV4IGZmMDg2MzMuLjkzYzVmZGMgMTAwNjQ0Ci0tLSBhL2ZzL2V4dDQveGF0dHIuYworKysgYi9mcy9leHQ0L3hhdHRyLmMKQEAgLTgxMCw3ICs4MTAsNyBAQAogCQkJLyogV2UgbmVlZCB0byBhbGxvY2F0ZSBhIG5ldyBibG9jayAqLwogCQkJZXh0NF9mc2Jsa190IGdvYWwgPSBleHQ0X2dyb3VwX2ZpcnN0X2Jsb2NrX25vKHNiLAogCQkJCQkJRVhUNF9JKGlub2RlKS0+aV9ibG9ja19ncm91cCk7Ci0JCQlleHQ0X2ZzYmxrX3QgYmxvY2sgPSBleHQ0X25ld19ibG9jayhoYW5kbGUsIGlub2RlLAorCQkJZXh0NF9mc2Jsa190IGJsb2NrID0gZXh0NF9uZXdfbWV0YV9ibG9jayhoYW5kbGUsIGlub2RlLAogCQkJCQkJCWdvYWwsICZlcnJvcik7CiAJCQlpZiAoZXJyb3IpCiAJCQkJZ290byBjbGVhbnVwOwpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0cl90cnVzdGVkLmMgYi9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYwppbmRleCBmZmYzMzM4Li5hYzFhNTJjIDEwMDY0NAotLS0gYS9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYworKysgYi9mcy9leHQ0L3hhdHRyX3RydXN0ZWQuYwpAQCAtMTMsMTMgKzEzLDExIEBACiAjaW5jbHVkZSAiZXh0NC5oIgogI2luY2x1ZGUgInhhdHRyLmgiCiAKLSNkZWZpbmUgWEFUVFJfVFJVU1RFRF9QUkVGSVggInRydXN0ZWQuIgotCiBzdGF0aWMgc2l6ZV90CiBleHQ0X3hhdHRyX3RydXN0ZWRfbGlzdChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpsaXN0LCBzaXplX3QgbGlzdF9zaXplLAogCQkJY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVfbGVuKQogewotCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gc2l6ZW9mKFhBVFRSX1RSVVNURURfUFJFRklYKS0xOworCWNvbnN0IHNpemVfdCBwcmVmaXhfbGVuID0gWEFUVFJfVFJVU1RFRF9QUkVGSVhfTEVOOwogCWNvbnN0IHNpemVfdCB0b3RhbF9sZW4gPSBwcmVmaXhfbGVuICsgbmFtZV9sZW4gKyAxOwogCiAJaWYgKCFjYXBhYmxlKENBUF9TWVNfQURNSU4pKQpkaWZmIC0tZ2l0IGEvZnMvZXh0NC94YXR0cl91c2VyLmMgYi9mcy9leHQ0L3hhdHRyX3VzZXIuYwppbmRleCA2N2JlNzIzLi5kOTFhYTYxIDEwMDY0NAotLS0gYS9mcy9leHQ0L3hhdHRyX3VzZXIuYworKysgYi9mcy9leHQ0L3hhdHRyX3VzZXIuYwpAQCAtMTIsMTMgKzEyLDExIEBACiAjaW5jbHVkZSAiZXh0NC5oIgogI2luY2x1ZGUgInhhdHRyLmgiCiAKLSNkZWZpbmUgWEFUVFJfVVNFUl9QUkVGSVggInVzZXIuIgotCiBzdGF0aWMgc2l6ZV90CiBleHQ0X3hhdHRyX3VzZXJfbGlzdChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpsaXN0LCBzaXplX3QgbGlzdF9zaXplLAogCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lX2xlbikKIHsKLQljb25zdCBzaXplX3QgcHJlZml4X2xlbiA9IHNpemVvZihYQVRUUl9VU0VSX1BSRUZJWCktMTsKKwljb25zdCBzaXplX3QgcHJlZml4X2xlbiA9IFhBVFRSX1VTRVJfUFJFRklYX0xFTjsKIAljb25zdCBzaXplX3QgdG90YWxfbGVuID0gcHJlZml4X2xlbiArIG5hbWVfbGVuICsgMTsKIAogCWlmICghdGVzdF9vcHQoaW5vZGUtPmlfc2IsIFhBVFRSX1VTRVIpKQpkaWZmIC0tZ2l0IGEvZnMvZmF0L2NhY2hlLmMgYi9mcy9mYXQvY2FjaGUuYwppbmRleCBmZGEyNTQ3OS4uM2E5ZWNhYzggMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9jYWNoZS5jCisrKyBiL2ZzL2ZhdC9jYWNoZS5jCkBAIC02MSw3ICs2MSw3IEBACiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IGZhdF9jYWNoZSAqZmF0X2NhY2hlX2FsbG9jKHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7Ci0JcmV0dXJuIGttZW1fY2FjaGVfYWxsb2MoZmF0X2NhY2hlX2NhY2hlcCwgR0ZQX0tFUk5FTCk7CisJcmV0dXJuIGttZW1fY2FjaGVfYWxsb2MoZmF0X2NhY2hlX2NhY2hlcCwgR0ZQX05PRlMpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZmF0X2NhY2hlX2ZyZWUoc3RydWN0IGZhdF9jYWNoZSAqY2FjaGUpCmRpZmYgLS1naXQgYS9mcy9mYXQvZGlyLmMgYi9mcy9mYXQvZGlyLmMKaW5kZXggNDg2NzI1ZS4uMzQ1NDFkMCAxMDA2NDQKLS0tIGEvZnMvZmF0L2Rpci5jCisrKyBiL2ZzL2ZhdC9kaXIuYwpAQCAtNDcyLDcgKzQ3Miw3IEBACiAJbG9mZl90IGNwb3M7CiAJaW50IHJldCA9IDA7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJY3BvcyA9IGZpbHAtPmZfcG9zOwogCS8qIEZha2UgLiBhbmQgLi4gZm9yIHRoZSByb290IGRpcmVjdG9yeS4gKi8KQEAgLTY1NCw3ICs2NTQsNyBAQAogCWlmICh1bmljb2RlKQogCQlfX3B1dG5hbWUodW5pY29kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZmF0L2ZpbGUuYyBiL2ZzL2ZhdC9maWxlLmMKaW5kZXggNzcxMzI2Yi4uYzY3MmRmNCAxMDA2NDQKLS0tIGEvZnMvZmF0L2ZpbGUuYworKysgYi9mcy9mYXQvZmlsZS5jCkBAIC0xMSw3ICsxMSw2IEBACiAjaW5jbHVkZSA8bGludXgvbW91bnQuaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvbXNkb3NfZnMuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2J1ZmZlcl9oZWFkLmg+CiAjaW5jbHVkZSA8bGludXgvd3JpdGViYWNrLmg+CiAjaW5jbHVkZSA8bGludXgvYmFja2luZy1kZXYuaD4KQEAgLTI0Miw5ICsyNDEsNyBAQAogCiAJbnJfY2x1c3RlcnMgPSAoaW5vZGUtPmlfc2l6ZSArIChjbHVzdGVyX3NpemUgLSAxKSkgPj4gc2JpLT5jbHVzdGVyX2JpdHM7CiAKLQlsb2NrX2tlcm5lbCgpOwogCWZhdF9mcmVlKGlub2RlLCBucl9jbHVzdGVycyk7Ci0JdW5sb2NrX2tlcm5lbCgpOwogCWZhdF9mbHVzaF9pbm9kZXMoaW5vZGUtPmlfc2IsIGlub2RlLCBOVUxMKTsKIH0KIApAQCAtMzEwLDggKzMwNyw2IEBACiAJaW50IGVycm9yID0gMDsKIAl1bnNpZ25lZCBpbnQgaWFfdmFsaWQ7CiAKLQlsb2NrX2tlcm5lbCgpOwotCiAJLyoKIAkgKiBFeHBhbmQgdGhlIGZpbGUuIFNpbmNlIGlub2RlX3NldGF0dHIoKSB1cGRhdGVzIC0+aV9zaXplCiAJICogYmVmb3JlIGNhbGxpbmcgdGhlIC0+dHJ1bmNhdGUoKSwgYnV0IEZBVCBuZWVkcyB0byBmaWxsIHRoZQpAQCAtMzY2LDcgKzM2MSw2IEBACiAKIAllcnJvciA9IGlub2RlX3NldGF0dHIoaW5vZGUsIGF0dHIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKIAlyZXR1cm4gZXJyb3I7CiB9CiBFWFBPUlRfU1lNQk9MX0dQTChmYXRfc2V0YXR0cik7CmRpZmYgLS1naXQgYS9mcy9mYXQvaW5vZGUuYyBiL2ZzL2ZhdC9pbm9kZS5jCmluZGV4IDRlMGEzZGQuLjQ2YTQ1MDggMTAwNjQ0Ci0tLSBhL2ZzL2ZhdC9pbm9kZS5jCisrKyBiL2ZzL2ZhdC9pbm9kZS5jCkBAIC00NDAsMTQgKzQ0MCwxMyBAQAogCiBzdGF0aWMgdm9pZCBmYXRfY2xlYXJfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSkKIHsKLQlzdHJ1Y3QgbXNkb3Nfc2JfaW5mbyAqc2JpID0gTVNET1NfU0IoaW5vZGUtPmlfc2IpOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBpbm9kZS0+aV9zYjsKKwlzdHJ1Y3QgbXNkb3Nfc2JfaW5mbyAqc2JpID0gTVNET1NfU0Ioc2IpOwogCi0JbG9ja19rZXJuZWwoKTsKIAlzcGluX2xvY2soJnNiaS0+aW5vZGVfaGFzaF9sb2NrKTsKIAlmYXRfY2FjaGVfaW52YWxfaW5vZGUoaW5vZGUpOwogCWhsaXN0X2RlbF9pbml0KCZNU0RPU19JKGlub2RlKS0+aV9mYXRfaGFzaCk7CiAJc3Bpbl91bmxvY2soJnNiaS0+aW5vZGVfaGFzaF9sb2NrKTsKLQl1bmxvY2tfa2VybmVsKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGZhdF93cml0ZV9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQpAQCAtNDg1LDcgKzQ4NCw3IEBACiBzdGF0aWMgc3RydWN0IGlub2RlICpmYXRfYWxsb2NfaW5vZGUoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKIHsKIAlzdHJ1Y3QgbXNkb3NfaW5vZGVfaW5mbyAqZWk7Ci0JZWkgPSBrbWVtX2NhY2hlX2FsbG9jKGZhdF9pbm9kZV9jYWNoZXAsIEdGUF9LRVJORUwpOworCWVpID0ga21lbV9jYWNoZV9hbGxvYyhmYXRfaW5vZGVfY2FjaGVwLCBHRlBfTk9GUyk7CiAJaWYgKCFlaSkKIAkJcmV0dXJuIE5VTEw7CiAJcmV0dXJuICZlaS0+dmZzX2lub2RlOwpAQCAtNTY3LDcgKzU2Niw3IEBACiAJaWYgKGlub2RlLT5pX2lubyA9PSBNU0RPU19ST09UX0lOTyB8fCAhaV9wb3MpCiAJCXJldHVybiAwOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAliaCA9IHNiX2JyZWFkKHNiLCBpX3BvcyA+PiBzYmktPmRpcl9wZXJfYmxvY2tfYml0cyk7CiAJaWYgKCFiaCkgewogCQlwcmludGsoS0VSTl9FUlIgIkZBVDogdW5hYmxlIHRvIHJlYWQgaW5vZGUgYmxvY2sgIgpAQCAtNTc5LDcgKzU3OCw3IEBACiAJaWYgKGlfcG9zICE9IE1TRE9TX0koaW5vZGUpLT5pX3BvcykgewogCQlzcGluX3VubG9jaygmc2JpLT5pbm9kZV9oYXNoX2xvY2spOwogCQlicmVsc2UoYmgpOwotCQl1bmxvY2tfa2VybmVsKCk7CisJCXVubG9ja19zdXBlcihzYik7CiAJCWdvdG8gcmV0cnk7CiAJfQogCkBAIC02MDYsNyArNjA1LDcgQEAKIAkJZXJyID0gc3luY19kaXJ0eV9idWZmZXIoYmgpOwogCWJyZWxzZShiaCk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtNzM2LDYgKzczNSw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpmYXRfZ2V0X3BhcmVudChzdHJ1Y3QgZGVudHJ5ICpjaGlsZCkKIHsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gY2hpbGQtPmRfc2I7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKIAlzdHJ1Y3QgbXNkb3NfZGlyX2VudHJ5ICpkZTsKIAlsb2ZmX3QgaV9wb3M7CkBAIC03NDMsMTQgKzc0MywxNCBAQAogCXN0cnVjdCBpbm9kZSAqaW5vZGU7CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBmYXRfZ2V0X2RvdGRvdF9lbnRyeShjaGlsZC0+ZF9pbm9kZSwgJmJoLCAmZGUsICZpX3Bvcyk7CiAJaWYgKGVycikgewogCQlwYXJlbnQgPSBFUlJfUFRSKGVycik7CiAJCWdvdG8gb3V0OwogCX0KLQlpbm9kZSA9IGZhdF9idWlsZF9pbm9kZShjaGlsZC0+ZF9zYiwgZGUsIGlfcG9zKTsKKwlpbm9kZSA9IGZhdF9idWlsZF9pbm9kZShzYiwgZGUsIGlfcG9zKTsKIAlicmVsc2UoYmgpOwogCWlmIChJU19FUlIoaW5vZGUpKSB7CiAJCXBhcmVudCA9IEVSUl9DQVNUKGlub2RlKTsKQEAgLTc2Miw3ICs3NjIsNyBAQAogCQlwYXJlbnQgPSBFUlJfUFRSKC1FTk9NRU0pOwogCX0KIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAogCXJldHVybiBwYXJlbnQ7CiB9CkBAIC0xMTcyLDYgKzExNzIsMTIgQEAKIAlsb25nIGVycm9yOwogCWNoYXIgYnVmWzUwXTsKIAorCS8qCisJICogR0ZQX0tFUk5FTCBpcyBvayBoZXJlLCBiZWNhdXNlIHdoaWxlIHdlIGRvIGhvbGQgdGhlCisJICogc3VwZWJsb2NrIGxvY2ssIG1lbW9yeSBwcmVzc3VyZSBjYW4ndCBjYWxsIGJhY2sgaW50bworCSAqIHRoZSBmaWxlc3lzdGVtLCBzaW5jZSB3ZSdyZSBvbmx5IGp1c3QgYWJvdXQgdG8gbW91bnQKKwkgKiBpdCBhbmQgaGF2ZSBubyBpbm9kZXMgZXRjIGFjdGl2ZSEKKwkgKi8KIAlzYmkgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgbXNkb3Nfc2JfaW5mbyksIEdGUF9LRVJORUwpOwogCWlmICghc2JpKQogCQlyZXR1cm4gLUVOT01FTTsKZGlmZiAtLWdpdCBhL2ZzL2ZjbnRsLmMgYi9mcy9mY250bC5jCmluZGV4IGJmZDc3NjUuLjMzMGE3ZDcgMTAwNjQ0Ci0tLSBhL2ZzL2ZjbnRsLmMKKysrIGIvZnMvZmNudGwuYwpAQCAtMTIsNyArMTIsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2ZkdGFibGUuaD4KICNpbmNsdWRlIDxsaW51eC9jYXBhYmlsaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgvZG5vdGlmeS5oPgotI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+CkBAIC0yMjcsNyArMjI2LDYgQEAKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIAotCWxvY2tfa2VybmVsKCk7CiAJaWYgKChhcmcgXiBmaWxwLT5mX2ZsYWdzKSAmIEZBU1lOQykgewogCQlpZiAoZmlscC0+Zl9vcCAmJiBmaWxwLT5mX29wLT5mYXN5bmMpIHsKIAkJCWVycm9yID0gZmlscC0+Zl9vcC0+ZmFzeW5jKGZkLCBmaWxwLCAoYXJnICYgRkFTWU5DKSAhPSAwKTsKQEAgLTIzOCw3ICsyMzYsNiBAQAogCiAJZmlscC0+Zl9mbGFncyA9IChhcmcgJiBTRVRGTF9NQVNLKSB8IChmaWxwLT5mX2ZsYWdzICYgflNFVEZMX01BU0spOwogIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CiAJcmV0dXJuIGVycm9yOwogfQogCmRpZmYgLS1naXQgYS9mcy9nZnMyL0tjb25maWcgYi9mcy9nZnMyL0tjb25maWcKaW5kZXggN2Y3OTQ3ZS4uYWIyZjU3ZSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9LY29uZmlnCisrKyBiL2ZzL2dmczIvS2NvbmZpZwpAQCAtMTQsMjMgKzE0LDExIEBACiAJICBHRlMgaXMgcGVyZmVjdCBjb25zaXN0ZW5jeSAtLSBjaGFuZ2VzIG1hZGUgdG8gdGhlIGZpbGVzeXN0ZW0gb24gb25lCiAJICBtYWNoaW5lIHNob3cgdXAgaW1tZWRpYXRlbHkgb24gYWxsIG90aGVyIG1hY2hpbmVzIGluIHRoZSBjbHVzdGVyLgogCi0JICBUbyB1c2UgdGhlIEdGUzIgZmlsZXN5c3RlbSwgeW91IHdpbGwgbmVlZCB0byBlbmFibGUgb25lIG9yIG1vcmUgb2YKLQkgIHRoZSBiZWxvdyBsb2NraW5nIG1vZHVsZXMuIERvY3VtZW50YXRpb24gYW5kIHV0aWxpdGllcyBmb3IgR0ZTMiBjYW4KKwkgIFRvIHVzZSB0aGUgR0ZTMiBmaWxlc3lzdGVtIGluIGEgY2x1c3RlciwgeW91IHdpbGwgbmVlZCB0byBlbmFibGUKKwkgIHRoZSBsb2NraW5nIG1vZHVsZSBiZWxvdy4gRG9jdW1lbnRhdGlvbiBhbmQgdXRpbGl0aWVzIGZvciBHRlMyIGNhbgogCSAgYmUgZm91bmQgaGVyZTogaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9jbHVzdGVyCiAKLWNvbmZpZyBHRlMyX0ZTX0xPQ0tJTkdfTk9MT0NLCi0JdHJpc3RhdGUgIkdGUzIgXCJub2xvY2tcIiBsb2NraW5nIG1vZHVsZSIKLQlkZXBlbmRzIG9uIEdGUzJfRlMKLQloZWxwCi0JICBTaW5nbGUgbm9kZSBsb2NraW5nIG1vZHVsZSBmb3IgR0ZTMi4KLQotCSAgVXNlIHRoaXMgbW9kdWxlIGlmIHlvdSB3YW50IHRvIHVzZSBHRlMyIG9uIGEgc2luZ2xlIG5vZGUgd2l0aG91dAotCSAgaXRzIGNsdXN0ZXJpbmcgZmVhdHVyZXMuIFlvdSBjYW4gc3RpbGwgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlCi0JICBsYXJnZSBmaWxlIHN1cHBvcnQsIGFuZCB1cGdyYWRlIHRvIHJ1bm5pbmcgYSBmdWxsIGNsdXN0ZXIgbGF0ZXIgb24KLQkgIGlmIHJlcXVpcmVkLgotCi0JICBJZiB5b3Ugd2lsbCBvbmx5IGJlIHVzaW5nIEdGUzIgaW4gY2x1c3RlciBtb2RlLCB5b3UgZG8gbm90IG5lZWQgdGhpcwotCSAgbW9kdWxlLgorCSAgVGhlICJub2xvY2siIGxvY2sgbW9kdWxlIGlzIG5vdyBidWlsdCBpbiB0byBHRlMyIGJ5IGRlZmF1bHQuCiAKIGNvbmZpZyBHRlMyX0ZTX0xPQ0tJTkdfRExNCiAJdHJpc3RhdGUgIkdGUzIgRExNIGxvY2tpbmcgbW9kdWxlIgpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9NYWtlZmlsZSBiL2ZzL2dmczIvTWFrZWZpbGUKaW5kZXggZTIzNTBkZi4uZWM2NTg1MSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9NYWtlZmlsZQorKysgYi9mcy9nZnMyL01ha2VmaWxlCkBAIC01LDYgKzUsNSBAQAogCW9wc19mc3R5cGUubyBvcHNfaW5vZGUubyBvcHNfc3VwZXIubyBxdW90YS5vIFwKIAlyZWNvdmVyeS5vIHJncnAubyBzdXBlci5vIHN5cy5vIHRyYW5zLm8gdXRpbC5vCiAKLW9iai0kKENPTkZJR19HRlMyX0ZTX0xPQ0tJTkdfTk9MT0NLKSArPSBsb2NraW5nL25vbG9jay8KIG9iai0kKENPTkZJR19HRlMyX0ZTX0xPQ0tJTkdfRExNKSArPSBsb2NraW5nL2RsbS8KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9nZnMyLmggYi9mcy9nZnMyL2dmczIuaAppbmRleCAzYmIxMWMwLi5lZjYwNmUzIDEwMDY0NAotLS0gYS9mcy9nZnMyL2dmczIuaAorKysgYi9mcy9nZnMyL2dmczIuaApAQCAtMTYsMTEgKzE2LDYgQEAKIH07CiAKIGVudW0gewotCU5PX1dBSVQgPSAwLAotCVdBSVQgPSAxLAotfTsKLQotZW51bSB7CiAJTk9fRk9SQ0UgPSAwLAogCUZPUkNFID0gMSwKIH07CmRpZmYgLS1naXQgYS9mcy9nZnMyL2dsb2NrLmMgYi9mcy9nZnMyL2dsb2NrLmMKaW5kZXggZDYzNmIzZS4uMTMzOTFlNSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9nbG9jay5jCisrKyBiL2ZzL2dmczIvZ2xvY2suYwpAQCAtNDUsMjEgKzQ1LDE5IEBACiAgICAgICAgIHN0cnVjdCBobGlzdF9oZWFkIGhiX2xpc3Q7CiB9OwogCi1zdHJ1Y3QgZ2xvY2tfaXRlciB7Ci0JaW50IGhhc2g7ICAgICAgICAgICAgICAgICAgICAgLyogaGFzaCBidWNrZXQgaW5kZXggICAgICAgICAqLwotCXN0cnVjdCBnZnMyX3NiZCAqc2RwOyAgICAgICAgIC8qIGluY29yZSBzdXBlcmJsb2NrICAgICAgICAgKi8KLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2w7ICAgICAgICAvKiBjdXJyZW50IGdsb2NrIHN0cnVjdCAgICAgICovCi0Jc3RydWN0IHNlcV9maWxlICpzZXE7ICAgICAgICAgLyogc2VxdWVuY2UgZmlsZSBmb3IgZGVidWdmcyAqLwotCWNoYXIgc3RyaW5nWzUxMl07ICAgICAgICAgICAgIC8qIHNjcmF0Y2ggc3BhY2UgICAgICAgICAgICAgKi8KK3N0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgeworCWludCBoYXNoOwkJCS8qIGhhc2ggYnVja2V0IGluZGV4ICAgICAgICAgKi8KKwlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcDsJCS8qIGluY29yZSBzdXBlcmJsb2NrICAgICAgICAgKi8KKwlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2w7CQkvKiBjdXJyZW50IGdsb2NrIHN0cnVjdCAgICAgICovCisJY2hhciBzdHJpbmdbNTEyXTsJCS8qIHNjcmF0Y2ggc3BhY2UgICAgICAgICAgICAgKi8KIH07CiAKIHR5cGVkZWYgdm9pZCAoKmdsb2NrX2V4YW1pbmVyKSAoc3RydWN0IGdmczJfZ2xvY2sgKiBnbCk7CiAKIHN0YXRpYyBpbnQgZ2ZzMl9kdW1wX2xvY2tzdGF0ZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCk7Ci1zdGF0aWMgaW50IGR1bXBfZ2xvY2soc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja194bW90ZV90aChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOwotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19kcm9wX3RoKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7Ci1zdGF0aWMgdm9pZCBydW5fcXVldWUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKK3N0YXRpYyBpbnQgX19kdW1wX2dsb2NrKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOworI2RlZmluZSBHTE9DS19CVUdfT04oZ2wseCkgZG8geyBpZiAodW5saWtlbHkoeCkpIHsgX19kdW1wX2dsb2NrKE5VTEwsIGdsKTsgQlVHKCk7IH0gfSB3aGlsZSgwKQorc3RhdGljIHZvaWQgZG9feG1vdGUoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoLCB1bnNpZ25lZCBpbnQgdGFyZ2V0KTsKIAogc3RhdGljIERFQ0xBUkVfUldTRU0oZ2ZzMl91bW91bnRfZmx1c2hfc2VtKTsKIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpnZnMyX3Jvb3Q7CkBAIC0xMjMsMzMgKzEyMSw2IEBACiAjZW5kaWYKIAogLyoqCi0gKiByZWxheGVkX3N0YXRlX29rIC0gaXMgYSByZXF1ZXN0ZWQgbG9jayBjb21wYXRpYmxlIHdpdGggdGhlIGN1cnJlbnQgbG9jayBtb2RlPwotICogQGFjdHVhbDogdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIGxvY2sKLSAqIEByZXF1ZXN0ZWQ6IHRoZSBsb2NrIHN0YXRlIHRoYXQgd2FzIHJlcXVlc3RlZCBieSB0aGUgY2FsbGVyCi0gKiBAZmxhZ3M6IHRoZSBtb2RpZmllciBmbGFncyBwYXNzZWQgaW4gYnkgdGhlIGNhbGxlcgotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIGxvY2tzIGFyZSBjb21wYXRpYmxlLCAwIG90aGVyd2lzZQotICovCi0KLXN0YXRpYyBpbmxpbmUgaW50IHJlbGF4ZWRfc3RhdGVfb2sodW5zaWduZWQgaW50IGFjdHVhbCwgdW5zaWduZWQgcmVxdWVzdGVkLAotCQkJCSAgIGludCBmbGFncykKLXsKLQlpZiAoYWN0dWFsID09IHJlcXVlc3RlZCkKLQkJcmV0dXJuIDE7Ci0KLQlpZiAoZmxhZ3MgJiBHTF9FWEFDVCkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoYWN0dWFsID09IExNX1NUX0VYQ0xVU0lWRSAmJiByZXF1ZXN0ZWQgPT0gTE1fU1RfU0hBUkVEKQotCQlyZXR1cm4gMTsKLQotCWlmIChhY3R1YWwgIT0gTE1fU1RfVU5MT0NLRUQgJiYgKGZsYWdzICYgTE1fRkxBR19BTlkpKQotCQlyZXR1cm4gMTsKLQotCXJldHVybiAwOwotfQotCi0vKioKICAqIGdsX2hhc2goKSAtIFR1cm4gZ2xvY2sgbnVtYmVyIGludG8gaGFzaCBidWNrZXQgbnVtYmVyCiAgKiBAbG9jazogVGhlIGdsb2NrIG51bWJlcgogICoKQEAgLTE4Miw3ICsxNTMsNyBAQAogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAlzdHJ1Y3QgaW5vZGUgKmFzcGFjZSA9IGdsLT5nbF9hc3BhY2U7CiAKLQlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCisJaWYgKHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3B1dF9sb2NrKQogCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9wdXRfbG9jayhnbC0+Z2xfbG9jayk7CiAKIAlpZiAoYXNwYWNlKQpAQCAtMjExLDE3ICsxODIsMTQgQEAKIGludCBnZnMyX2dsb2NrX3B1dChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCiB7CiAJaW50IHJ2ID0gMDsKLQlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CiAKIAl3cml0ZV9sb2NrKGdsX2xvY2tfYWRkcihnbC0+Z2xfaGFzaCkpOwogCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZnbC0+Z2xfcmVmKSkgewogCQlobGlzdF9kZWwoJmdsLT5nbF9saXN0KTsKIAkJd3JpdGVfdW5sb2NrKGdsX2xvY2tfYWRkcihnbC0+Z2xfaGFzaCkpOwotCQlnZnMyX2Fzc2VydChzZHAsIGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCk7Ci0JCWdmczJfYXNzZXJ0KHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX3JlY2xhaW0pKTsKLQkJZ2ZzMl9hc3NlcnQoc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwotCQlnZnMyX2Fzc2VydChzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF93YWl0ZXJzMSkpOwotCQlnZnMyX2Fzc2VydChzZHAsIGxpc3RfZW1wdHkoJmdsLT5nbF93YWl0ZXJzMykpOworCQlHTE9DS19CVUdfT04oZ2wsIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7CisJCUdMT0NLX0JVR19PTihnbCwgIWxpc3RfZW1wdHkoJmdsLT5nbF9yZWNsYWltKSk7CisJCUdMT0NLX0JVR19PTihnbCwgIWxpc3RfZW1wdHkoJmdsLT5nbF9ob2xkZXJzKSk7CiAJCWdsb2NrX2ZyZWUoZ2wpOwogCQlydiA9IDE7CiAJCWdvdG8gb3V0OwpAQCAtMjgxLDIyICsyNDksNDAxIEBACiAJcmV0dXJuIGdsOwogfQogCi1zdGF0aWMgdm9pZCBnbG9ja193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQorLyoqCisgKiBtYXlfZ3JhbnQgLSBjaGVjayBpZiBpdHMgb2sgdG8gZ3JhbnQgYSBuZXcgbG9jaworICogQGdsOiBUaGUgZ2xvY2sKKyAqIEBnaDogVGhlIGxvY2sgcmVxdWVzdCB3aGljaCB3ZSB3aXNoIHRvIGdyYW50CisgKgorICogUmV0dXJuczogdHJ1ZSBpZiBpdHMgb2sgdG8gZ3JhbnQgdGhlIGxvY2sKKyAqLworCitzdGF0aWMgaW5saW5lIGludCBtYXlfZ3JhbnQoY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewotCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZ2ZzMl9nbG9jaywgZ2xfd29yay53b3JrKTsKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoX2hlYWQgPSBsaXN0X2VudHJ5KGdsLT5nbF9ob2xkZXJzLm5leHQsIGNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7CisJaWYgKChnaC0+Z2hfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFIHx8CisJICAgICBnaF9oZWFkLT5naF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpICYmIGdoICE9IGdoX2hlYWQpCisJCXJldHVybiAwOworCWlmIChnbC0+Z2xfc3RhdGUgPT0gZ2gtPmdoX3N0YXRlKQorCQlyZXR1cm4gMTsKKwlpZiAoZ2gtPmdoX2ZsYWdzICYgR0xfRVhBQ1QpCisJCXJldHVybiAwOworCWlmIChnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfRVhDTFVTSVZFKSB7CisJCWlmIChnaC0+Z2hfc3RhdGUgPT0gTE1fU1RfU0hBUkVEICYmIGdoX2hlYWQtPmdoX3N0YXRlID09IExNX1NUX1NIQVJFRCkKKwkJCXJldHVybiAxOworCQlpZiAoZ2gtPmdoX3N0YXRlID09IExNX1NUX0RFRkVSUkVEICYmIGdoX2hlYWQtPmdoX3N0YXRlID09IExNX1NUX0RFRkVSUkVEKQorCQkJcmV0dXJuIDE7CisJfQorCWlmIChnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfQU5ZKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGdmczJfaG9sZGVyX3dha2Uoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKK3sKKwljbGVhcl9iaXQoSElGX1dBSVQsICZnaC0+Z2hfaWZsYWdzKTsKKwlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOworCXdha2VfdXBfYml0KCZnaC0+Z2hfaWZsYWdzLCBISUZfV0FJVCk7Cit9CisKKy8qKgorICogZG9fcHJvbW90ZSAtIHByb21vdGUgYXMgbWFueSByZXF1ZXN0cyBhcyBwb3NzaWJsZSBvbiB0aGUgY3VycmVudCBxdWV1ZQorICogQGdsOiBUaGUgZ2xvY2sKKyAqIAorICogUmV0dXJuczogdHJ1ZSBpZiB0aGVyZSBpcyBhIGJsb2NrZWQgaG9sZGVyIGF0IHRoZSBoZWFkIG9mIHRoZSBsaXN0CisgKi8KKworc3RhdGljIGludCBkb19wcm9tb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaCwgKnRtcDsKKwlpbnQgcmV0OworCityZXN0YXJ0OgorCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShnaCwgdG1wLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKSkKKwkJCWNvbnRpbnVlOworCQlpZiAobWF5X2dyYW50KGdsLCBnaCkpIHsKKwkJCWlmIChnaC0+Z2hfbGlzdC5wcmV2ID09ICZnbC0+Z2xfaG9sZGVycyAmJgorCQkJICAgIGdsb3BzLT5nb19sb2NrKSB7CisJCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwkJCQkvKiBGSVhNRTogZWxpbWluYXRlIHRoaXMgZXZlbnR1YWxseSAqLworCQkJCXJldCA9IGdsb3BzLT5nb19sb2NrKGdoKTsKKwkJCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwkJCQlpZiAocmV0KSB7CisJCQkJCWdoLT5naF9lcnJvciA9IHJldDsKKwkJCQkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOworCQkJCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwkJCQkJZ290byByZXN0YXJ0OworCQkJCX0KKwkJCQlzZXRfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKTsKKwkJCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwkJCQlnb3RvIHJlc3RhcnQ7CisJCQl9CisJCQlzZXRfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKTsKKwkJCWdmczJfaG9sZGVyX3dha2UoZ2gpOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGdoLT5naF9saXN0LnByZXYgPT0gJmdsLT5nbF9ob2xkZXJzKQorCQkJcmV0dXJuIDE7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBkb19lcnJvciAtIFNvbWV0aGluZyB1bmV4cGVjdGVkIGhhcyBoYXBwZW5lZCBkdXJpbmcgYSBsb2NrIHJlcXVlc3QKKyAqCisgKi8KKworc3RhdGljIGlubGluZSB2b2lkIGRvX2Vycm9yKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgY29uc3QgaW50IHJldCkKK3sKKwlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoLCAqdG1wOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGdoLCB0bXAsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJY29udGludWU7CisJCWlmIChyZXQgJiBMTV9PVVRfRVJST1IpCisJCQlnaC0+Z2hfZXJyb3IgPSAtRUlPOworCQllbHNlIGlmIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKQorCQkJZ2gtPmdoX2Vycm9yID0gR0xSX1RSWUZBSUxFRDsKKwkJZWxzZQorCQkJY29udGludWU7CisJCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKKwkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7CisJfQorfQorCisvKioKKyAqIGZpbmRfZmlyc3Rfd2FpdGVyIC0gZmluZCB0aGUgZmlyc3QgZ2ggdGhhdCdzIHdhaXRpbmcgZm9yIHRoZSBnbG9jaworICogQGdsOiB0aGUgZ2xvY2sKKyAqLworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBnZnMyX2hvbGRlciAqZmluZF9maXJzdF93YWl0ZXIoY29uc3Qgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQoreworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKCF0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQlyZXR1cm4gZ2g7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHN0YXRlX2NoYW5nZSAtIHJlY29yZCB0aGF0IHRoZSBnbG9jayBpcyBub3cgaW4gYSBkaWZmZXJlbnQgc3RhdGUKKyAqIEBnbDogdGhlIGdsb2NrCisgKiBAbmV3X3N0YXRlIHRoZSBuZXcgc3RhdGUKKyAqCisgKi8KKworc3RhdGljIHZvaWQgc3RhdGVfY2hhbmdlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IG5ld19zdGF0ZSkKK3sKKwlpbnQgaGVsZDEsIGhlbGQyOworCisJaGVsZDEgPSAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKKwloZWxkMiA9IChuZXdfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOworCisJaWYgKGhlbGQxICE9IGhlbGQyKSB7CisJCWlmIChoZWxkMikKKwkJCWdmczJfZ2xvY2tfaG9sZChnbCk7CisJCWVsc2UKKwkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKKwl9CisKKwlnbC0+Z2xfc3RhdGUgPSBuZXdfc3RhdGU7CisJZ2wtPmdsX3RjaGFuZ2UgPSBqaWZmaWVzOworfQorCitzdGF0aWMgdm9pZCBnZnMyX2RlbW90ZV93YWtlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwlnbC0+Z2xfZGVtb3RlX3N0YXRlID0gTE1fU1RfRVhDTFVTSVZFOworCWNsZWFyX2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKKwlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOworCXdha2VfdXBfYml0KCZnbC0+Z2xfZmxhZ3MsIEdMRl9ERU1PVEUpOworfQorCisvKioKKyAqIGZpbmlzaF94bW90ZSAtIFRoZSBETE0gaGFzIHJlcGxpZWQgdG8gb25lIG9mIG91ciBsb2NrIHJlcXVlc3RzCisgKiBAZ2w6IFRoZSBnbG9jaworICogQHJldDogVGhlIHN0YXR1cyBmcm9tIHRoZSBETE0KKyAqCisgKi8KKworc3RhdGljIHZvaWQgZmluaXNoX3htb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IHJldCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKwl1bnNpZ25lZCBzdGF0ZSA9IHJldCAmIExNX09VVF9TVF9NQVNLOwogCiAJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfUEVORElOR19ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKQotCQlzZXRfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOwotCXJ1bl9xdWV1ZShnbCk7CisJc3RhdGVfY2hhbmdlKGdsLCBzdGF0ZSk7CisJZ2ggPSBmaW5kX2ZpcnN0X3dhaXRlcihnbCk7CisKKwkvKiBEZW1vdGUgdG8gVU4gcmVxdWVzdCBhcnJpdmVkIGR1cmluZyBkZW1vdGUgdG8gU0ggb3IgREYgKi8KKwlpZiAodGVzdF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykgJiYKKwkgICAgc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCkKKwkJZ2wtPmdsX3RhcmdldCA9IExNX1NUX1VOTE9DS0VEOworCisJLyogQ2hlY2sgZm9yIHN0YXRlICE9IGludGVuZGVkIHN0YXRlICovCisJaWYgKHVubGlrZWx5KHN0YXRlICE9IGdsLT5nbF90YXJnZXQpKSB7CisJCWlmIChnaCAmJiAhdGVzdF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpIHsKKwkJCS8qIG1vdmUgdG8gYmFjayBvZiBxdWV1ZSBhbmQgdHJ5IG5leHQgZW50cnkgKi8KKwkJCWlmIChyZXQgJiBMTV9PVVRfQ0FOQ0VMRUQpIHsKKwkJCQlpZiAoKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpID09IDApCisJCQkJCWxpc3RfbW92ZV90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF9ob2xkZXJzKTsKKwkJCQlnaCA9IGZpbmRfZmlyc3Rfd2FpdGVyKGdsKTsKKwkJCQlnbC0+Z2xfdGFyZ2V0ID0gZ2gtPmdoX3N0YXRlOworCQkJCWdvdG8gcmV0cnk7CisJCQl9CisJCQkvKiBTb21lIGVycm9yIG9yIGZhaWxlZCAidHJ5IGxvY2siIC0gcmVwb3J0IGl0ICovCisJCQlpZiAoKHJldCAmIExNX09VVF9FUlJPUikgfHwKKwkJCSAgICAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkpIHsKKwkJCQlnbC0+Z2xfdGFyZ2V0ID0gZ2wtPmdsX3N0YXRlOworCQkJCWRvX2Vycm9yKGdsLCByZXQpOworCQkJCWdvdG8gb3V0OworCQkJfQorCQl9CisJCXN3aXRjaChzdGF0ZSkgeworCQkvKiBVbmxvY2tlZCBkdWUgdG8gY29udmVyc2lvbiBkZWFkbG9jaywgdHJ5IGFnYWluICovCisJCWNhc2UgTE1fU1RfVU5MT0NLRUQ6CityZXRyeToKKwkJCWRvX3htb3RlKGdsLCBnaCwgZ2wtPmdsX3RhcmdldCk7CisJCQlicmVhazsKKwkJLyogQ29udmVyc2lvbiBmYWlscywgdW5sb2NrIGFuZCB0cnkgYWdhaW4gKi8KKwkJY2FzZSBMTV9TVF9TSEFSRUQ6CisJCWNhc2UgTE1fU1RfREVGRVJSRUQ6CisJCQlkb194bW90ZShnbCwgZ2gsIExNX1NUX1VOTE9DS0VEKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OiAvKiBFdmVyeXRoaW5nIGVsc2UgKi8KKwkJCXByaW50ayhLRVJOX0VSUiAiR0ZTMjogd2FudGVkICV1IGdvdCAldVxuIiwgZ2wtPmdsX3RhcmdldCwgc3RhdGUpOworCQkJR0xPQ0tfQlVHX09OKGdsLCAxKTsKKwkJfQorCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCQlnZnMyX2dsb2NrX3B1dChnbCk7CisJCXJldHVybjsKKwl9CisKKwkvKiBGYXN0IHBhdGggLSB3ZSBnb3Qgd2hhdCB3ZSBhc2tlZCBmb3IgKi8KKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpKQorCQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKKwlpZiAoc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpIHsKKwkJaWYgKGdsb3BzLT5nb194bW90ZV9iaCkgeworCQkJaW50IHJ2OworCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwkJCXJ2ID0gZ2xvcHMtPmdvX3htb3RlX2JoKGdsLCBnaCk7CisJCQlpZiAocnYgPT0gLUVBR0FJTikKKwkJCQlyZXR1cm47CisJCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwkJCWlmIChydikgeworCQkJCWRvX2Vycm9yKGdsLCBydik7CisJCQkJZ290byBvdXQ7CisJCQl9CisJCX0KKwkJZG9fcHJvbW90ZShnbCk7CisJfQorb3V0OgorCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7CiAJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAlnZnMyX2dsb2NrX3B1dChnbCk7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2ZzMl9sbV9sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCB2b2lkICpsb2NrLAorCQkJCSB1bnNpZ25lZCBpbnQgY3VyX3N0YXRlLCB1bnNpZ25lZCBpbnQgcmVxX3N0YXRlLAorCQkJCSB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJaW50IHJldCA9IExNX09VVF9FUlJPUjsKKworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fbG9jaykKKwkJcmV0dXJuIHJlcV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCA/IDAgOiByZXFfc3RhdGU7CisKKwlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCisJCXJldCA9IHNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2xvY2sobG9jaywgY3VyX3N0YXRlLAorCQkJCQkJCSByZXFfc3RhdGUsIGZsYWdzKTsKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGRvX3htb3RlIC0gQ2FsbHMgdGhlIERMTSB0byBjaGFuZ2UgdGhlIHN0YXRlIG9mIGEgbG9jaworICogQGdsOiBUaGUgbG9jayBzdGF0ZQorICogQGdoOiBUaGUgaG9sZGVyIChvbmx5IGZvciBwcm9tb3RlcykKKyAqIEB0YXJnZXQ6IFRoZSB0YXJnZXQgbG9jayBzdGF0ZQorICoKKyAqLworCitzdGF0aWMgdm9pZCBkb194bW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gsIHVuc2lnbmVkIGludCB0YXJnZXQpCit7CisJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOworCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKKwl1bnNpZ25lZCBpbnQgbGNrX2ZsYWdzID0gZ2ggPyBnaC0+Z2hfZmxhZ3MgOiAwOworCWludCByZXQ7CisKKwlsY2tfZmxhZ3MgJj0gKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCIHwgTE1fRkxBR19OT0VYUCB8CisJCSAgICAgIExNX0ZMQUdfUFJJT1JJVFkpOworCUJVR19PTihnbC0+Z2xfc3RhdGUgPT0gdGFyZ2V0KTsKKwlCVUdfT04oZ2wtPmdsX3N0YXRlID09IGdsLT5nbF90YXJnZXQpOworCWlmICgodGFyZ2V0ID09IExNX1NUX1VOTE9DS0VEIHx8IHRhcmdldCA9PSBMTV9TVF9ERUZFUlJFRCkgJiYKKwkgICAgZ2xvcHMtPmdvX2ludmFsKSB7CisJCXNldF9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOworCQlkb19lcnJvcihnbCwgMCk7IC8qIEZhaWwgcXVldWVkIHRyeSBsb2NrcyAqLworCX0KKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChnbG9wcy0+Z29feG1vdGVfdGgpCisJCWdsb3BzLT5nb194bW90ZV90aChnbCk7CisJaWYgKHRlc3RfYml0KEdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJZ2xvcHMtPmdvX2ludmFsKGdsLCB0YXJnZXQgPT0gTE1fU1RfREVGRVJSRUQgPyAwIDogRElPX01FVEFEQVRBKTsKKwljbGVhcl9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsICZnbC0+Z2xfZmxhZ3MpOworCisJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwlpZiAodGFyZ2V0ICE9IExNX1NUX1VOTE9DS0VEICYmIChnbC0+Z2xfc3RhdGUgPT0gTE1fU1RfU0hBUkVEIHx8CisJICAgIGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9ERUZFUlJFRCkgJiYKKwkgICAgIShsY2tfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSkKKwkJbGNrX2ZsYWdzIHw9IExNX0ZMQUdfVFJZXzFDQjsKKwlyZXQgPSBnZnMyX2xtX2xvY2soc2RwLCBnbC0+Z2xfbG9jaywgZ2wtPmdsX3N0YXRlLCB0YXJnZXQsIGxja19mbGFncyk7CisKKwlpZiAoIShyZXQgJiBMTV9PVVRfQVNZTkMpKSB7CisJCWZpbmlzaF94bW90ZShnbCwgcmV0KTsKKwkJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKKwkJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKKwkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKKwl9IGVsc2UgeworCQlHTE9DS19CVUdfT04oZ2wsIHJldCAhPSBMTV9PVVRfQVNZTkMpOworCX0KKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKK30KKworLyoqCisgKiBmaW5kX2ZpcnN0X2hvbGRlciAtIGZpbmQgdGhlIGZpcnN0ICJob2xkZXIiIGdoCisgKiBAZ2w6IHRoZSBnbG9jaworICovCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGdmczJfaG9sZGVyICpmaW5kX2ZpcnN0X2hvbGRlcihjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKworCWlmICghbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7CisJCWdoID0gbGlzdF9lbnRyeShnbC0+Z2xfaG9sZGVycy5uZXh0LCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOworCQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKQorCQkJcmV0dXJuIGdoOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBydW5fcXVldWUgLSBkbyBhbGwgb3V0c3RhbmRpbmcgdGFza3MgcmVsYXRlZCB0byBhIGdsb2NrCisgKiBAZ2w6IFRoZSBnbG9jayBpbiBxdWVzdGlvbgorICogQG5vbmJsb2NrOiBUcnVlIGlmIHdlIG11c3Qgbm90IGJsb2NrIGluIHJ1bl9xdWV1ZQorICoKKyAqLworCitzdGF0aWMgdm9pZCBydW5fcXVldWUoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCBjb25zdCBpbnQgbm9uYmxvY2spCit7CisJc3RydWN0IGdmczJfaG9sZGVyICpnaCA9IE5VTEw7CisKKwlpZiAodGVzdF9hbmRfc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCisJCXJldHVybjsKKworCUdMT0NLX0JVR19PTihnbCwgdGVzdF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpOworCisJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpICYmCisJICAgIGdsLT5nbF9kZW1vdGVfc3RhdGUgIT0gZ2wtPmdsX3N0YXRlKSB7CisJCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkpCisJCQlnb3RvIG91dDsKKwkJaWYgKG5vbmJsb2NrKQorCQkJZ290byBvdXRfc2NoZWQ7CisJCXNldF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7CisJCUdMT0NLX0JVR19PTihnbCwgZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpOworCQlnbC0+Z2xfdGFyZ2V0ID0gZ2wtPmdsX2RlbW90ZV9zdGF0ZTsKKwl9IGVsc2UgeworCQlpZiAodGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykpCisJCQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKKwkJaWYgKGRvX3Byb21vdGUoZ2wpID09IDApCisJCQlnb3RvIG91dDsKKwkJZ2ggPSBmaW5kX2ZpcnN0X3dhaXRlcihnbCk7CisJCWdsLT5nbF90YXJnZXQgPSBnaC0+Z2hfc3RhdGU7CisJCWlmICghKGdoLT5naF9mbGFncyAmIChMTV9GTEFHX1RSWSB8IExNX0ZMQUdfVFJZXzFDQikpKQorCQkJZG9fZXJyb3IoZ2wsIDApOyAvKiBGYWlsIHF1ZXVlZCB0cnkgbG9ja3MgKi8KKwl9CisJZG9feG1vdGUoZ2wsIGdoLCBnbC0+Z2xfdGFyZ2V0KTsKKwlyZXR1cm47CisKK291dF9zY2hlZDoKKwlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKK291dDoKKwljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOworfQorCitzdGF0aWMgdm9pZCBnbG9ja193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXVuc2lnbmVkIGxvbmcgZGVsYXkgPSAwOworCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgZ2ZzMl9nbG9jaywgZ2xfd29yay53b3JrKTsKKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoR0xGX1JFUExZX1BFTkRJTkcsICZnbC0+Z2xfZmxhZ3MpKQorCQlmaW5pc2hfeG1vdGUoZ2wsIGdsLT5nbF9yZXBseSk7CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfUEVORElOR19ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpICYmCisJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJgorCSAgICBnbC0+Z2xfZGVtb3RlX3N0YXRlICE9IExNX1NUX0VYQ0xVU0lWRSkgeworCQl1bnNpZ25lZCBsb25nIGhvbGR0aW1lLCBub3cgPSBqaWZmaWVzOworCQlob2xkdGltZSA9IGdsLT5nbF90Y2hhbmdlICsgZ2wtPmdsX29wcy0+Z29fbWluX2hvbGRfdGltZTsKKwkJaWYgKHRpbWVfYmVmb3JlKG5vdywgaG9sZHRpbWUpKQorCQkJZGVsYXkgPSBob2xkdGltZSAtIG5vdzsKKwkJc2V0X2JpdChkZWxheSA/IEdMRl9QRU5ESU5HX0RFTU9URSA6IEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpOworCX0KKwlydW5fcXVldWUoZ2wsIDApOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKCFkZWxheSB8fAorCSAgICBxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIGRlbGF5KSA9PSAwKQorCQlnZnMyX2dsb2NrX3B1dChnbCk7Cit9CisKIHN0YXRpYyBpbnQgZ2ZzMl9sbV9nZXRfbG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAogCQkgICAgIHZvaWQgKipsb2NrcCkKIHsKIAlpbnQgZXJyb3IgPSAtRUlPOworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fZ2V0X2xvY2spCisJCXJldHVybiAwOwogCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJZXJyb3IgPSBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9nZXRfbG9jaygKIAkJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlLCBuYW1lLCBsb2NrcCk7CkBAIC0zNDIsMTIgKzY4OSwxMCBAQAogCWdsLT5nbF9uYW1lID0gbmFtZTsKIAlhdG9taWNfc2V0KCZnbC0+Z2xfcmVmLCAxKTsKIAlnbC0+Z2xfc3RhdGUgPSBMTV9TVF9VTkxPQ0tFRDsKKwlnbC0+Z2xfdGFyZ2V0ID0gTE1fU1RfVU5MT0NLRUQ7CiAJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX0VYQ0xVU0lWRTsKIAlnbC0+Z2xfaGFzaCA9IGhhc2g7Ci0JZ2wtPmdsX293bmVyX3BpZCA9IE5VTEw7Ci0JZ2wtPmdsX2lwID0gMDsKIAlnbC0+Z2xfb3BzID0gZ2xvcHM7Ci0JZ2wtPmdsX3JlcV9naCA9IE5VTEw7CiAJZ2wtPmdsX3N0YW1wID0gamlmZmllczsKIAlnbC0+Z2xfdGNoYW5nZSA9IGppZmZpZXM7CiAJZ2wtPmdsX29iamVjdCA9IE5VTEw7CkBAIC00NDcsMTMgKzc5Miw2IEBACiAJZ2gtPmdoX2lwID0gMDsKIH0KIAotc3RhdGljIHZvaWQgZ2ZzMl9ob2xkZXJfd2FrZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQotewotCWNsZWFyX2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpOwotCXNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCk7Ci0Jd2FrZV91cF9iaXQoJmdoLT5naF9pZmxhZ3MsIEhJRl9XQUlUKTsKLX0KLQogc3RhdGljIGludCBqdXN0X3NjaGVkdWxlKHZvaWQgKndvcmQpCiB7CiAgICAgICAgIHNjaGVkdWxlKCk7CkBAIC00NjYsMTQgKzgwNCw2IEBACiAJd2FpdF9vbl9iaXQoJmdoLT5naF9pZmxhZ3MsIEhJRl9XQUlULCBqdXN0X3NjaGVkdWxlLCBUQVNLX1VOSU5URVJSVVBUSUJMRSk7CiB9CiAKLXN0YXRpYyB2b2lkIGdmczJfZGVtb3RlX3dha2Uoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9FWENMVVNJVkU7Ci0gICAgICAgIGNsZWFyX2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKTsKLSAgICAgICAgc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKLSAgICAgICAgd2FrZV91cF9iaXQoJmdsLT5nbF9mbGFncywgR0xGX0RFTU9URSk7Ci19Ci0KIHN0YXRpYyB2b2lkIHdhaXRfb25fZGVtb3RlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKIHsKIAltaWdodF9zbGVlcCgpOwpAQCAtNDgxLDIxNyArODExLDYgQEAKIH0KIAogLyoqCi0gKiBycV9tdXRleCAtIHByb2Nlc3MgYSBtdXRleCByZXF1ZXN0IGluIHRoZSBxdWV1ZQotICogQGdoOiB0aGUgZ2xvY2sgaG9sZGVyCi0gKgotICogUmV0dXJuczogMSBpZiB0aGUgcXVldWUgaXMgYmxvY2tlZAotICovCi0KLXN0YXRpYyBpbnQgcnFfbXV0ZXgoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0KLQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0JLyogIGdoLT5naF9lcnJvciBuZXZlciBleGFtaW5lZC4gICovCi0Jc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JY2xlYXJfYml0KEhJRl9XQUlULCAmZ2gtPmdoX2lmbGFncyk7Ci0Jc21wX21iKCk7Ci0Jd2FrZV91cF9iaXQoJmdoLT5naF9pZmxhZ3MsIEhJRl9XQUlUKTsKLQotCXJldHVybiAxOwotfQotCi0vKioKLSAqIHJxX3Byb21vdGUgLSBwcm9jZXNzIGEgcHJvbW90ZSByZXF1ZXN0IGluIHRoZSBxdWV1ZQotICogQGdoOiB0aGUgZ2xvY2sgaG9sZGVyCi0gKgotICogQWNxdWlyZSBhIG5ldyBpbnRlci1ub2RlIGxvY2ssIG9yIGNoYW5nZSBhIGxvY2sgc3RhdGUgdG8gbW9yZSByZXN0cmljdGl2ZS4KLSAqCi0gKiBSZXR1cm5zOiAxIGlmIHRoZSBxdWV1ZSBpcyBibG9ja2VkCi0gKi8KLQotc3RhdGljIGludCBycV9wcm9tb3RlKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCi0JaWYgKCFyZWxheGVkX3N0YXRlX29rKGdsLT5nbF9zdGF0ZSwgZ2gtPmdoX3N0YXRlLCBnaC0+Z2hfZmxhZ3MpKSB7Ci0JCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKLQkJCWdsLT5nbF9yZXFfZ2ggPSBnaDsKLQkJCXNldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCWdmczJfZ2xvY2tfeG1vdGVfdGgoZ2gtPmdoX2dsLCBnaCk7Ci0JCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJfQotCQlyZXR1cm4gMTsKLQl9Ci0KLQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7Ci0JCXNldF9iaXQoSElGX0ZJUlNULCAmZ2gtPmdoX2lmbGFncyk7Ci0JCXNldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCX0gZWxzZSB7Ci0JCXN0cnVjdCBnZnMyX2hvbGRlciAqbmV4dF9naDsKLQkJaWYgKGdoLT5naF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpCi0JCQlyZXR1cm4gMTsKLQkJbmV4dF9naCA9IGxpc3RfZW50cnkoZ2wtPmdsX2hvbGRlcnMubmV4dCwgc3RydWN0IGdmczJfaG9sZGVyLAotCQkJCSAgICAgZ2hfbGlzdCk7Ci0JCWlmIChuZXh0X2doLT5naF9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpCi0JCQkgcmV0dXJuIDE7Ci0JfQotCi0JbGlzdF9tb3ZlX3RhaWwoJmdoLT5naF9saXN0LCAmZ2wtPmdsX2hvbGRlcnMpOwotCWdoLT5naF9lcnJvciA9IDA7Ci0Jc2V0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncyk7Ci0KLQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKLQotCXJldHVybiAwOwotfQotCi0vKioKLSAqIHJxX2RlbW90ZSAtIHByb2Nlc3MgYSBkZW1vdGUgcmVxdWVzdCBpbiB0aGUgcXVldWUKLSAqIEBnaDogdGhlIGdsb2NrIGhvbGRlcgotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIHF1ZXVlIGlzIGJsb2NrZWQKLSAqLwotCi1zdGF0aWMgaW50IHJxX2RlbW90ZShzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0JaWYgKCFsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpCi0JCXJldHVybiAxOwotCi0JaWYgKGdsLT5nbF9zdGF0ZSA9PSBnbC0+Z2xfZGVtb3RlX3N0YXRlIHx8Ci0JICAgIGdsLT5nbF9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCkgewotCQlnZnMyX2RlbW90ZV93YWtlKGdsKTsKLQkJcmV0dXJuIDA7Ci0JfQotCi0Jc2V0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0Jc2V0X2JpdChHTEZfREVNT1RFX0lOX1BST0dSRVNTLCAmZ2wtPmdsX2ZsYWdzKTsKLQotCWlmIChnbC0+Z2xfZGVtb3RlX3N0YXRlID09IExNX1NUX1VOTE9DS0VEIHx8Ci0JICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9FWENMVVNJVkUpIHsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJZ2ZzMl9nbG9ja19kcm9wX3RoKGdsKTsKLQl9IGVsc2UgewotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnZnMyX2dsb2NrX3htb3RlX3RoKGdsLCBOVUxMKTsKLQl9Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQljbGVhcl9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncyk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotLyoqCi0gKiBydW5fcXVldWUgLSBwcm9jZXNzIGhvbGRlciBzdHJ1Y3R1cmVzIG9uIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICovCi1zdGF0aWMgdm9pZCBydW5fcXVldWUoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2g7Ci0JaW50IGJsb2NrZWQgPSAxOwotCi0JZm9yICg7OykgewotCQlpZiAodGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKQotCQkJYnJlYWs7Ci0KLQkJaWYgKCFsaXN0X2VtcHR5KCZnbC0+Z2xfd2FpdGVyczEpKSB7Ci0JCQlnaCA9IGxpc3RfZW50cnkoZ2wtPmdsX3dhaXRlcnMxLm5leHQsCi0JCQkJCXN0cnVjdCBnZnMyX2hvbGRlciwgZ2hfbGlzdCk7Ci0JCQlibG9ja2VkID0gcnFfbXV0ZXgoZ2gpOwotCQl9IGVsc2UgaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKSB7Ci0JCQlibG9ja2VkID0gcnFfZGVtb3RlKGdsKTsKLQkJCWlmICh0ZXN0X2JpdChHTEZfV0FJVEVSUzIsICZnbC0+Z2xfZmxhZ3MpICYmCi0JCQkJICAgICAhYmxvY2tlZCkgewotCQkJCXNldF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7Ci0JCQkJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX1VOTE9DS0VEOwotCQkJfQotCQkJY2xlYXJfYml0KEdMRl9XQUlURVJTMiwgJmdsLT5nbF9mbGFncyk7Ci0JCX0gZWxzZSBpZiAoIWxpc3RfZW1wdHkoJmdsLT5nbF93YWl0ZXJzMykpIHsKLQkJCWdoID0gbGlzdF9lbnRyeShnbC0+Z2xfd2FpdGVyczMubmV4dCwKLQkJCQkJc3RydWN0IGdmczJfaG9sZGVyLCBnaF9saXN0KTsKLQkJCWJsb2NrZWQgPSBycV9wcm9tb3RlKGdoKTsKLQkJfSBlbHNlCi0JCQlicmVhazsKLQotCQlpZiAoYmxvY2tlZCkKLQkJCWJyZWFrOwotCX0KLX0KLQotLyoqCi0gKiBnZnMyX2dsbXV0ZXhfbG9jayAtIGFjcXVpcmUgYSBsb2NhbCBsb2NrIG9uIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICogR2l2ZXMgY2FsbGVyIGV4Y2x1c2l2ZSBhY2Nlc3MgdG8gbWFuaXB1bGF0ZSBhIGdsb2NrIHN0cnVjdHVyZS4KLSAqLwotCi1zdGF0aWMgdm9pZCBnZnMyX2dsbXV0ZXhfbG9jayhzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JaWYgKHRlc3RfYW5kX3NldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKSB7Ci0JCXN0cnVjdCBnZnMyX2hvbGRlciBnaDsKLQotCQlnZnMyX2hvbGRlcl9pbml0KGdsLCAwLCAwLCAmZ2gpOwotCQlzZXRfYml0KEhJRl9XQUlULCAmZ2guZ2hfaWZsYWdzKTsKLQkJbGlzdF9hZGRfdGFpbCgmZ2guZ2hfbGlzdCwgJmdsLT5nbF93YWl0ZXJzMSk7Ci0JCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCXdhaXRfb25faG9sZGVyKCZnaCk7Ci0JCWdmczJfaG9sZGVyX3VuaW5pdCgmZ2gpOwotCX0gZWxzZSB7Ci0JCWdsLT5nbF9vd25lcl9waWQgPSBnZXRfcGlkKHRhc2tfcGlkKGN1cnJlbnQpKTsKLQkJZ2wtPmdsX2lwID0gKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLX0KLQotLyoqCi0gKiBnZnMyX2dsbXV0ZXhfdHJ5bG9jayAtIHRyeSB0byBhY3F1aXJlIGEgbG9jYWwgbG9jayBvbiBhIGdsb2NrCi0gKiBAZ2w6IHRoZSBnbG9jawotICoKLSAqIFJldHVybnM6IDEgaWYgdGhlIGdsb2NrIGlzIGFjcXVpcmVkCi0gKi8KLQotc3RhdGljIGludCBnZnMyX2dsbXV0ZXhfdHJ5bG9jayhzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0JaW50IGFjcXVpcmVkID0gMTsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWlmICh0ZXN0X2FuZF9zZXRfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkgewotCQlhY3F1aXJlZCA9IDA7Ci0JfSBlbHNlIHsKLQkJZ2wtPmdsX293bmVyX3BpZCA9IGdldF9waWQodGFza19waWQoY3VycmVudCkpOwotCQlnbC0+Z2xfaXAgPSAodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7Ci0JfQotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQlyZXR1cm4gYWNxdWlyZWQ7Ci19Ci0KLS8qKgotICogZ2ZzMl9nbG11dGV4X3VubG9jayAtIHJlbGVhc2UgYSBsb2NhbCBsb2NrIG9uIGEgZ2xvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfZ2xtdXRleF91bmxvY2soc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXN0cnVjdCBwaWQgKnBpZDsKLQotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCWNsZWFyX2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncyk7Ci0JcGlkID0gZ2wtPmdsX293bmVyX3BpZDsKLQlnbC0+Z2xfb3duZXJfcGlkID0gTlVMTDsKLQlnbC0+Z2xfaXAgPSAwOwotCXJ1bl9xdWV1ZShnbCk7Ci0Jc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQotCXB1dF9waWQocGlkKTsKLX0KLQotLyoqCiAgKiBoYW5kbGVfY2FsbGJhY2sgLSBwcm9jZXNzIGEgZGVtb3RlIHJlcXVlc3QKICAqIEBnbDogdGhlIGdsb2NrCiAgKiBAc3RhdGU6IHRoZSBzdGF0ZSB0aGUgY2FsbGVyIHdhbnRzIHVzIHRvIGNoYW5nZSB0bwpAQCAtNzA1LDM5OCArODI0LDQ1IEBACiB7CiAJaW50IGJpdCA9IGRlbGF5ID8gR0xGX1BFTkRJTkdfREVNT1RFIDogR0xGX0RFTU9URTsKIAotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCXNldF9iaXQoYml0LCAmZ2wtPmdsX2ZsYWdzKTsKIAlpZiAoZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9PSBMTV9TVF9FWENMVVNJVkUpIHsKIAkJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IHN0YXRlOwogCQlnbC0+Z2xfZGVtb3RlX3RpbWUgPSBqaWZmaWVzOwogCQlpZiAocmVtb3RlICYmIGdsLT5nbF9vcHMtPmdvX3R5cGUgPT0gTE1fVFlQRV9JT1BFTiAmJgotCQkgICAgZ2wtPmdsX29iamVjdCkgeworCQkgICAgZ2wtPmdsX29iamVjdCkKIAkJCWdmczJfZ2xvY2tfc2NoZWR1bGVfZm9yX3JlY2xhaW0oZ2wpOwotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCXJldHVybjsKLQkJfQogCX0gZWxzZSBpZiAoZ2wtPmdsX2RlbW90ZV9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJgogCQkJZ2wtPmdsX2RlbW90ZV9zdGF0ZSAhPSBzdGF0ZSkgewotCQlpZiAodGVzdF9iaXQoR0xGX0RFTU9URV9JTl9QUk9HUkVTUywgICZnbC0+Z2xfZmxhZ3MpKSAKLQkJCXNldF9iaXQoR0xGX1dBSVRFUlMyLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJZWxzZSAKLQkJCWdsLT5nbF9kZW1vdGVfc3RhdGUgPSBMTV9TVF9VTkxPQ0tFRDsKKwkJZ2wtPmdsX2RlbW90ZV9zdGF0ZSA9IExNX1NUX1VOTE9DS0VEOwogCX0KLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogfQogCiAvKioKLSAqIHN0YXRlX2NoYW5nZSAtIHJlY29yZCB0aGF0IHRoZSBnbG9jayBpcyBub3cgaW4gYSBkaWZmZXJlbnQgc3RhdGUKLSAqIEBnbDogdGhlIGdsb2NrCi0gKiBAbmV3X3N0YXRlIHRoZSBuZXcgc3RhdGUKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgc3RhdGVfY2hhbmdlKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdW5zaWduZWQgaW50IG5ld19zdGF0ZSkKLXsKLQlpbnQgaGVsZDEsIGhlbGQyOwotCi0JaGVsZDEgPSAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKLQloZWxkMiA9IChuZXdfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQpOwotCi0JaWYgKGhlbGQxICE9IGhlbGQyKSB7Ci0JCWlmIChoZWxkMikKLQkJCWdmczJfZ2xvY2tfaG9sZChnbCk7Ci0JCWVsc2UKLQkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQl9Ci0KLQlnbC0+Z2xfc3RhdGUgPSBuZXdfc3RhdGU7Ci0JZ2wtPmdsX3RjaGFuZ2UgPSBqaWZmaWVzOwotfQotCi0vKioKLSAqIGRyb3BfYmggLSBDYWxsZWQgYWZ0ZXIgYSBsb2NrIG1vZHVsZSB1bmxvY2sgY29tcGxldGVzCi0gKiBAZ2w6IHRoZSBnbG9jawotICogQHJldDogdGhlIHJldHVybiBzdGF0dXMKLSAqCi0gKiBEb2Vzbid0IHdha2UgdXAgdGhlIHByb2Nlc3Mgd2FpdGluZyBvbiB0aGUgc3RydWN0IGdmczJfaG9sZGVyIChpZiBhbnkpCi0gKiBEb2Vzbid0IGRyb3AgdGhlIHJlZmVyZW5jZSBvbiB0aGUgZ2xvY2sgdGhlIHRvcCBoYWxmIHRvb2sgb3V0Ci0gKgotICovCi0KLXN0YXRpYyB2b2lkIGRyb3BfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1bnNpZ25lZCBpbnQgcmV0KQotewotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoID0gZ2wtPmdsX3JlcV9naDsKLQotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCAhcmV0KTsKLQotCXN0YXRlX2NoYW5nZShnbCwgTE1fU1RfVU5MT0NLRUQpOwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChHTEZfQ09OVl9ERUFETEssICZnbC0+Z2xfZmxhZ3MpKSB7Ci0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnaC0+Z2hfZXJyb3IgPSAwOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnZnMyX2dsb2NrX3htb3RlX3RoKGdsLCBnbC0+Z2xfcmVxX2doKTsKLQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCQlyZXR1cm47Ci0JfQotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JZ2ZzMl9kZW1vdGVfd2FrZShnbCk7Ci0JY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCWdmczJfZ2xvY2tfcHV0KGdsKTsKLX0KLQotLyoqCi0gKiB4bW90ZV9iaCAtIENhbGxlZCBhZnRlciB0aGUgbG9jayBtb2R1bGUgaXMgZG9uZSBhY3F1aXJpbmcgYSBsb2NrCi0gKiBAZ2w6IFRoZSBnbG9jayBpbiBxdWVzdGlvbgotICogQHJldDogdGhlIGludCByZXR1cm5lZCBmcm9tIHRoZSBsb2NrIG1vZHVsZQotICoKLSAqLwotCi1zdGF0aWMgdm9pZCB4bW90ZV9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHVuc2lnbmVkIGludCByZXQpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoID0gZ2wtPmdsX3JlcV9naDsKLQlpbnQgb3BfZG9uZSA9IDE7Ci0KLQlpZiAoIWdoICYmIChyZXQgJiBMTV9PVVRfU1RfTUFTSykgPT0gTE1fU1RfVU5MT0NLRUQpIHsKLQkJZHJvcF9iaChnbCwgcmV0KTsKLQkJcmV0dXJuOwotCX0KLQotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCAhKHJldCAmIExNX09VVF9BU1lOQykpOwotCi0Jc3RhdGVfY2hhbmdlKGdsLCByZXQgJiBMTV9PVVRfU1RfTUFTSyk7Ci0KLQkvKiAgRGVhbCB3aXRoIGVhY2ggcG9zc2libGUgZXhpdCBjb25kaXRpb24gICovCi0KLQlpZiAoIWdoKSB7Ci0JCWdsLT5nbF9zdGFtcCA9IGppZmZpZXM7Ci0JCWlmIChyZXQgJiBMTV9PVVRfQ0FOQ0VMRUQpIHsKLQkJCW9wX2RvbmUgPSAwOwotCQl9IGVsc2UgewotCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQlpZiAoZ2wtPmdsX3N0YXRlICE9IGdsLT5nbF9kZW1vdGVfc3RhdGUpIHsKLQkJCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJCWdmczJfZ2xvY2tfZHJvcF90aChnbCk7Ci0JCQkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwotCQkJCXJldHVybjsKLQkJCX0KLQkJCWdmczJfZGVtb3RlX3dha2UoZ2wpOwotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJfQotCX0gZWxzZSB7Ci0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlpZiAocmV0ICYgTE1fT1VUX0NPTlZfREVBRExLKSB7Ci0JCQlnaC0+Z2hfZXJyb3IgPSAwOwotCQkJc2V0X2JpdChHTEZfQ09OVl9ERUFETEssICZnbC0+Z2xfZmxhZ3MpOwotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCWdmczJfZ2xvY2tfZHJvcF90aChnbCk7Ci0JCQlnZnMyX2dsb2NrX3B1dChnbCk7Ci0JCQlyZXR1cm47Ci0JCX0KLQkJbGlzdF9kZWxfaW5pdCgmZ2gtPmdoX2xpc3QpOwotCQlnaC0+Z2hfZXJyb3IgPSAtRUlPOwotCQlpZiAodW5saWtlbHkodGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKSAKLQkJCWdvdG8gb3V0OwotCQlnaC0+Z2hfZXJyb3IgPSBHTFJfQ0FOQ0VMRUQ7Ci0JCWlmIChyZXQgJiBMTV9PVVRfQ0FOQ0VMRUQpIAotCQkJZ290byBvdXQ7Ci0JCWlmIChyZWxheGVkX3N0YXRlX29rKGdsLT5nbF9zdGF0ZSwgZ2gtPmdoX3N0YXRlLCBnaC0+Z2hfZmxhZ3MpKSB7Ci0JCQlsaXN0X2FkZF90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF9ob2xkZXJzKTsKLQkJCWdoLT5naF9lcnJvciA9IDA7Ci0JCQlzZXRfYml0KEhJRl9IT0xERVIsICZnaC0+Z2hfaWZsYWdzKTsKLQkJCXNldF9iaXQoSElGX0ZJUlNULCAmZ2gtPmdoX2lmbGFncyk7Ci0JCQlvcF9kb25lID0gMDsKLQkJCWdvdG8gb3V0OwotCQl9Ci0JCWdoLT5naF9lcnJvciA9IEdMUl9UUllGQUlMRUQ7Ci0JCWlmIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKQotCQkJZ290byBvdXQ7Ci0JCWdoLT5naF9lcnJvciA9IC1FSU5WQUw7Ci0JCWlmIChnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsIDApID09IC0xKQotCQkJZnNfZXJyKHNkcCwgInJldCA9IDB4JS44WFxuIiwgcmV0KTsKLW91dDoKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci0KLQlpZiAoZ2xvcHMtPmdvX3htb3RlX2JoKQotCQlnbG9wcy0+Z29feG1vdGVfYmgoZ2wpOwotCi0JaWYgKG9wX2RvbmUpIHsKLQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCWdsLT5nbF9yZXFfZ2ggPSBOVUxMOwotCQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwotCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCX0KLQotCWdmczJfZ2xvY2tfcHV0KGdsKTsKLQotCWlmIChnaCkKLQkJZ2ZzMl9ob2xkZXJfd2FrZShnaCk7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgZ2ZzMl9sbV9sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCB2b2lkICpsb2NrLAotCQkJCSB1bnNpZ25lZCBpbnQgY3VyX3N0YXRlLCB1bnNpZ25lZCBpbnQgcmVxX3N0YXRlLAotCQkJCSB1bnNpZ25lZCBpbnQgZmxhZ3MpCi17Ci0JaW50IHJldCA9IDA7Ci0JaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQotCQlyZXQgPSBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9sb2NrKGxvY2ssIGN1cl9zdGF0ZSwKLQkJCQkJCQkgcmVxX3N0YXRlLCBmbGFncyk7Ci0JcmV0dXJuIHJldDsKLX0KLQotLyoqCi0gKiBnZnMyX2dsb2NrX3htb3RlX3RoIC0gQ2FsbCBpbnRvIHRoZSBsb2NrIG1vZHVsZSB0byBhY3F1aXJlIG9yIGNoYW5nZSBhIGdsb2NrCi0gKiBAZ2w6IFRoZSBnbG9jayBpbiBxdWVzdGlvbgotICogQHN0YXRlOiB0aGUgcmVxdWVzdGVkIHN0YXRlCi0gKiBAZmxhZ3M6IG1vZGlmaWVyIGZsYWdzIHRvIHRoZSBsb2NrIGNhbGwKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja194bW90ZV90aChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCWludCBmbGFncyA9IGdoID8gZ2gtPmdoX2ZsYWdzIDogMDsKLQl1bnNpZ25lZCBzdGF0ZSA9IGdoID8gZ2gtPmdoX3N0YXRlIDogZ2wtPmdsX2RlbW90ZV9zdGF0ZTsKLQljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7Ci0JaW50IGxja19mbGFncyA9IGZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCIHwKLQkJCQkgTE1fRkxBR19OT0VYUCB8IExNX0ZMQUdfQU5ZIHwKLQkJCQkgTE1fRkxBR19QUklPUklUWSk7Ci0JdW5zaWduZWQgaW50IGxja19yZXQ7Ci0KLQlpZiAoZ2xvcHMtPmdvX3htb3RlX3RoKQotCQlnbG9wcy0+Z29feG1vdGVfdGgoZ2wpOwotCWlmIChzdGF0ZSA9PSBMTV9TVF9ERUZFUlJFRCAmJiBnbG9wcy0+Z29faW52YWwpCi0JCWdsb3BzLT5nb19pbnZhbChnbCwgRElPX01FVEFEQVRBKTsKLQotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCB0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpOwotCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCk7Ci0JZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHN0YXRlICE9IGdsLT5nbF9zdGF0ZSk7Ci0KLQlnZnMyX2dsb2NrX2hvbGQoZ2wpOwotCi0JbGNrX3JldCA9IGdmczJfbG1fbG9jayhzZHAsIGdsLT5nbF9sb2NrLCBnbC0+Z2xfc3RhdGUsIHN0YXRlLCBsY2tfZmxhZ3MpOwotCi0JaWYgKGdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgIShsY2tfcmV0ICYgTE1fT1VUX0VSUk9SKSkpCi0JCXJldHVybjsKLQotCWlmIChsY2tfcmV0ICYgTE1fT1VUX0FTWU5DKQotCQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGNrX3JldCA9PSBMTV9PVVRfQVNZTkMpOwotCWVsc2UKLQkJeG1vdGVfYmgoZ2wsIGxja19yZXQpOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IGdmczJfbG1fdW5sb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCB2b2lkICpsb2NrLAotCQkJCSAgIHVuc2lnbmVkIGludCBjdXJfc3RhdGUpCi17Ci0JaW50IHJldCA9IDA7Ci0JaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQotCQlyZXQgPSAgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fdW5sb2NrKGxvY2ssIGN1cl9zdGF0ZSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotLyoqCi0gKiBnZnMyX2dsb2NrX2Ryb3BfdGggLSBjYWxsIGludG8gdGhlIGxvY2sgbW9kdWxlIHRvIHVubG9jayBhIGxvY2sKLSAqIEBnbDogdGhlIGdsb2NrCi0gKgotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfZ2xvY2tfZHJvcF90aChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKLQl1bnNpZ25lZCBpbnQgcmV0OwotCi0JaWYgKGdsb3BzLT5nb194bW90ZV90aCkKLQkJZ2xvcHMtPmdvX3htb3RlX3RoKGdsKTsKLQlpZiAoZ2xvcHMtPmdvX2ludmFsKQotCQlnbG9wcy0+Z29faW52YWwoZ2wsIERJT19NRVRBREFUQSk7Ci0KLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgbGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKTsKLQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEKTsKLQotCWdmczJfZ2xvY2tfaG9sZChnbCk7Ci0KLQlyZXQgPSBnZnMyX2xtX3VubG9jayhzZHAsIGdsLT5nbF9sb2NrLCBnbC0+Z2xfc3RhdGUpOwotCi0JaWYgKGdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgIShyZXQgJiBMTV9PVVRfRVJST1IpKSkKLQkJcmV0dXJuOwotCi0JaWYgKCFyZXQpCi0JCWRyb3BfYmgoZ2wsIHJldCk7Ci0JZWxzZQotCQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgcmV0ID09IExNX09VVF9BU1lOQyk7Ci19Ci0KLS8qKgotICogZG9fY2FuY2VscyAtIGNhbmNlbCByZXF1ZXN0cyBmb3IgbG9ja3Mgc3R1Y2sgd2FpdGluZyBvbiBhbiBleHBpcmUgZmxhZwotICogQGdoOiB0aGUgTE1fRkxBR19QUklPUklUWSBob2xkZXIgd2FpdGluZyB0byBhY3F1aXJlIHRoZSBsb2NrCi0gKgotICogRG9uJ3QgY2FuY2VsIEdMX05PQ0FOQ0VMIHJlcXVlc3RzLgotICovCi0KLXN0YXRpYyB2b2lkIGRvX2NhbmNlbHMoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wgPSBnaC0+Z2hfZ2w7Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwotCi0Jc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0KLQl3aGlsZSAoZ2wtPmdsX3JlcV9naCAhPSBnaCAmJgotCSAgICAgICAhdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpICYmCi0JICAgICAgICFsaXN0X2VtcHR5KCZnaC0+Z2hfbGlzdCkpIHsKLQkJaWYgKCEoZ2wtPmdsX3JlcV9naCAmJiAoZ2wtPmdsX3JlcV9naC0+Z2hfZmxhZ3MgJiBHTF9OT0NBTkNFTCkpKSB7Ci0JCQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCQkJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQotCQkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX2NhbmNlbChnbC0+Z2xfbG9jayk7Ci0JCQltc2xlZXAoMTAwKTsKLQkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQl9IGVsc2UgewotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCW1zbGVlcCgxMDApOwotCQkJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCX0KLQl9Ci0KLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotfQotCi0vKioKLSAqIGdsb2NrX3dhaXRfaW50ZXJuYWwgLSB3YWl0IG9uIGEgZ2xvY2sgYWNxdWlzaXRpb24KKyAqIGdmczJfZ2xvY2tfd2FpdCAtIHdhaXQgb24gYSBnbG9jayBhY3F1aXNpdGlvbgogICogQGdoOiB0aGUgZ2xvY2sgaG9sZGVyCiAgKgogICogUmV0dXJuczogMCBvbiBzdWNjZXNzCiAgKi8KIAotc3RhdGljIGludCBnbG9ja193YWl0X2ludGVybmFsKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCitpbnQgZ2ZzMl9nbG9ja193YWl0KHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKLQljb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zICpnbG9wcyA9IGdsLT5nbF9vcHM7Ci0KLQlpZiAodGVzdF9iaXQoSElGX0FCT1JURUQsICZnaC0+Z2hfaWZsYWdzKSkKLQkJcmV0dXJuIC1FSU87Ci0KLQlpZiAoZ2gtPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkgewotCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJaWYgKGdsLT5nbF9yZXFfZ2ggIT0gZ2ggJiYKLQkJICAgICF0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykgJiYKLQkJICAgICFsaXN0X2VtcHR5KCZnaC0+Z2hfbGlzdCkpIHsKLQkJCWxpc3RfZGVsX2luaXQoJmdoLT5naF9saXN0KTsKLQkJCWdoLT5naF9lcnJvciA9IEdMUl9UUllGQUlMRUQ7Ci0JCQlydW5fcXVldWUoZ2wpOwotCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCXJldHVybiBnaC0+Z2hfZXJyb3I7Ci0JCX0KLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci0KLQlpZiAoZ2gtPmdoX2ZsYWdzICYgTE1fRkxBR19QUklPUklUWSkKLQkJZG9fY2FuY2VscyhnaCk7Ci0KIAl3YWl0X29uX2hvbGRlcihnaCk7Ci0JaWYgKGdoLT5naF9lcnJvcikKLQkJcmV0dXJuIGdoLT5naF9lcnJvcjsKLQotCWdmczJfYXNzZXJ0X3dpdGhkcmF3KHNkcCwgdGVzdF9iaXQoSElGX0hPTERFUiwgJmdoLT5naF9pZmxhZ3MpKTsKLQlnZnMyX2Fzc2VydF93aXRoZHJhdyhzZHAsIHJlbGF4ZWRfc3RhdGVfb2soZ2wtPmdsX3N0YXRlLCBnaC0+Z2hfc3RhdGUsCi0JCQkJCQkgICBnaC0+Z2hfZmxhZ3MpKTsKLQotCWlmICh0ZXN0X2JpdChISUZfRklSU1QsICZnaC0+Z2hfaWZsYWdzKSkgewotCQlnZnMyX2Fzc2VydF93YXJuKHNkcCwgdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKLQotCQlpZiAoZ2xvcHMtPmdvX2xvY2spIHsKLQkJCWdoLT5naF9lcnJvciA9IGdsb3BzLT5nb19sb2NrKGdoKTsKLQkJCWlmIChnaC0+Z2hfZXJyb3IpIHsKLQkJCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQkJCQlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0JCQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQkJCX0KLQkJfQotCi0JCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwotCQlnbC0+Z2xfcmVxX2doID0gTlVMTDsKLQkJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKLQkJcnVuX3F1ZXVlKGdsKTsKLQkJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKLQl9Ci0KIAlyZXR1cm4gZ2gtPmdoX2Vycm9yOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBnZnMyX2hvbGRlciAqCi1maW5kX2hvbGRlcl9ieV9vd25lcihzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLCBzdHJ1Y3QgcGlkICpwaWQpCi17Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsIGhlYWQsIGdoX2xpc3QpIHsKLQkJaWYgKGdoLT5naF9vd25lcl9waWQgPT0gcGlkKQotCQkJcmV0dXJuIGdoOwotCX0KLQotCXJldHVybiBOVUxMOwotfQotCi1zdGF0aWMgdm9pZCBwcmludF9kYmcoc3RydWN0IGdsb2NrX2l0ZXIgKmdpLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgZ2ZzMl9wcmludF9kYmcoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogewogCXZhX2xpc3QgYXJnczsKIAogCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JaWYgKGdpKSB7CisJaWYgKHNlcSkgeworCQlzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSA9IHNlcS0+cHJpdmF0ZTsKIAkJdnNwcmludGYoZ2ktPnN0cmluZywgZm10LCBhcmdzKTsKLQkJc2VxX3ByaW50ZihnaS0+c2VxLCBnaS0+c3RyaW5nKTsKLQl9Ci0JZWxzZQorCQlzZXFfcHJpbnRmKHNlcSwgZ2ktPnN0cmluZyk7CisJfSBlbHNlIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIgIik7CiAJCXZwcmludGsoZm10LCBhcmdzKTsKKwl9CiAJdmFfZW5kKGFyZ3MpOwogfQogCkBAIC0xMTA0LDUwICs4NzAsNzYgQEAKICAqIGFkZF90b19xdWV1ZSAtIEFkZCBhIGhvbGRlciB0byB0aGUgd2FpdCBxdWV1ZSAoYnV0IGxvb2sgZm9yIHJlY3Vyc2lvbikKICAqIEBnaDogdGhlIGhvbGRlciBzdHJ1Y3R1cmUgdG8gYWRkCiAgKgorICogRXZlbnR1YWxseSB3ZSBzaG91bGQgbW92ZSB0aGUgcmVjdXJzaXZlIGxvY2tpbmcgdHJhcCB0byBhCisgKiBkZWJ1Z2dpbmcgb3B0aW9uIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQuIFRoaXMgaXMgdGhlIGZhc3QKKyAqIHBhdGggYW5kIG5lZWRzIHRvIGhhdmUgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGRpc3RyYWN0aW9ucy4KKyAqIAogICovCiAKLXN0YXRpYyB2b2lkIGFkZF90b19xdWV1ZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQorc3RhdGljIGlubGluZSB2b2lkIGFkZF90b19xdWV1ZShzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKQogewogCXN0cnVjdCBnZnMyX2dsb2NrICpnbCA9IGdoLT5naF9nbDsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmV4aXN0aW5nOworCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICppbnNlcnRfcHQgPSBOVUxMOworCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2gyOworCWludCB0cnlfbG9jayA9IDA7CiAKIAlCVUdfT04oZ2gtPmdoX293bmVyX3BpZCA9PSBOVUxMKTsKIAlpZiAodGVzdF9hbmRfc2V0X2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpKQogCQlCVUcoKTsKIAotCWlmICghKGdoLT5naF9mbGFncyAmIEdMX0ZMT0NLKSkgewotCQlleGlzdGluZyA9IGZpbmRfaG9sZGVyX2J5X293bmVyKCZnbC0+Z2xfaG9sZGVycywgCi0JCQkJCQlnaC0+Z2hfb3duZXJfcGlkKTsKLQkJaWYgKGV4aXN0aW5nKSB7Ci0JCQlwcmludF9zeW1ib2woS0VSTl9XQVJOSU5HICJvcmlnaW5hbDogJXNcbiIsIAotCQkJCSAgICAgZXhpc3RpbmctPmdoX2lwKTsKLQkJCXByaW50ayhLRVJOX0lORk8gInBpZCA6ICVkXG4iLAotCQkJCQlwaWRfbnIoZXhpc3RpbmctPmdoX293bmVyX3BpZCkpOwotCQkJcHJpbnRrKEtFUk5fSU5GTyAibG9jayB0eXBlIDogJWQgbG9jayBzdGF0ZSA6ICVkXG4iLAotCQkJICAgICAgIGV4aXN0aW5nLT5naF9nbC0+Z2xfbmFtZS5sbl90eXBlLCAKLQkJCSAgICAgICBleGlzdGluZy0+Z2hfZ2wtPmdsX3N0YXRlKTsKLQkJCXByaW50X3N5bWJvbChLRVJOX1dBUk5JTkcgIm5ldzogJXNcbiIsIGdoLT5naF9pcCk7Ci0JCQlwcmludGsoS0VSTl9JTkZPICJwaWQgOiAlZFxuIiwKLQkJCQkJcGlkX25yKGdoLT5naF9vd25lcl9waWQpKTsKLQkJCXByaW50ayhLRVJOX0lORk8gImxvY2sgdHlwZSA6ICVkIGxvY2sgc3RhdGUgOiAlZFxuIiwKLQkJCSAgICAgICBnbC0+Z2xfbmFtZS5sbl90eXBlLCBnbC0+Z2xfc3RhdGUpOwotCQkJQlVHKCk7Ci0JCX0KLQkJCi0JCWV4aXN0aW5nID0gZmluZF9ob2xkZXJfYnlfb3duZXIoJmdsLT5nbF93YWl0ZXJzMywgCi0JCQkJCQlnaC0+Z2hfb3duZXJfcGlkKTsKLQkJaWYgKGV4aXN0aW5nKSB7Ci0JCQlwcmludF9zeW1ib2woS0VSTl9XQVJOSU5HICJvcmlnaW5hbDogJXNcbiIsIAotCQkJCSAgICAgZXhpc3RpbmctPmdoX2lwKTsKLQkJCXByaW50X3N5bWJvbChLRVJOX1dBUk5JTkcgIm5ldzogJXNcbiIsIGdoLT5naF9pcCk7Ci0JCQlCVUcoKTsKLQkJfQorCWlmIChnaC0+Z2hfZmxhZ3MgJiAoTE1fRkxBR19UUlkgfCBMTV9GTEFHX1RSWV8xQ0IpKSB7CisJCWlmICh0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCisJCQl0cnlfbG9jayA9IDE7CisJCWlmICh0ZXN0X2JpdChHTEZfSU5WQUxJREFURV9JTl9QUk9HUkVTUywgJmdsLT5nbF9mbGFncykpCisJCQlnb3RvIGZhaWw7CiAJfQogCi0JaWYgKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpCi0JCWxpc3RfYWRkKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF93YWl0ZXJzMyk7Ci0JZWxzZQotCQlsaXN0X2FkZF90YWlsKCZnaC0+Z2hfbGlzdCwgJmdsLT5nbF93YWl0ZXJzMyk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShnaDIsICZnbC0+Z2xfaG9sZGVycywgZ2hfbGlzdCkgeworCQlpZiAodW5saWtlbHkoZ2gyLT5naF9vd25lcl9waWQgPT0gZ2gtPmdoX293bmVyX3BpZCAmJgorCQkgICAgKGdoLT5naF9nbC0+Z2xfb3BzLT5nb190eXBlICE9IExNX1RZUEVfRkxPQ0spKSkKKwkJCWdvdG8gdHJhcF9yZWN1cnNpdmU7CisJCWlmICh0cnlfbG9jayAmJgorCQkgICAgIShnaDItPmdoX2ZsYWdzICYgKExNX0ZMQUdfVFJZIHwgTE1fRkxBR19UUllfMUNCKSkgJiYKKwkJICAgICFtYXlfZ3JhbnQoZ2wsIGdoKSkgeworZmFpbDoKKwkJCWdoLT5naF9lcnJvciA9IEdMUl9UUllGQUlMRUQ7CisJCQlnZnMyX2hvbGRlcl93YWtlKGdoKTsKKwkJCXJldHVybjsKKwkJfQorCQlpZiAodGVzdF9iaXQoSElGX0hPTERFUiwgJmdoMi0+Z2hfaWZsYWdzKSkKKwkJCWNvbnRpbnVlOworCQlpZiAodW5saWtlbHkoKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpICYmICFpbnNlcnRfcHQpKQorCQkJaW5zZXJ0X3B0ID0gJmdoMi0+Z2hfbGlzdDsKKwl9CisJaWYgKGxpa2VseShpbnNlcnRfcHQgPT0gTlVMTCkpIHsKKwkJbGlzdF9hZGRfdGFpbCgmZ2gtPmdoX2xpc3QsICZnbC0+Z2xfaG9sZGVycyk7CisJCWlmICh1bmxpa2VseShnaC0+Z2hfZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKSkKKwkJCWdvdG8gZG9fY2FuY2VsOworCQlyZXR1cm47CisJfQorCWxpc3RfYWRkX3RhaWwoJmdoLT5naF9saXN0LCBpbnNlcnRfcHQpOworZG9fY2FuY2VsOgorCWdoID0gbGlzdF9lbnRyeShnbC0+Z2xfaG9sZGVycy5uZXh0LCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIsIGdoX2xpc3QpOworCWlmICghKGdoLT5naF9mbGFncyAmIExNX0ZMQUdfUFJJT1JJVFkpKSB7CisJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJCWlmIChzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9jYW5jZWwpCisJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9jYW5jZWwoZ2wtPmdsX2xvY2spOworCQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKKwl9CisJcmV0dXJuOworCit0cmFwX3JlY3Vyc2l2ZToKKwlwcmludF9zeW1ib2woS0VSTl9FUlIgIm9yaWdpbmFsOiAlc1xuIiwgZ2gyLT5naF9pcCk7CisJcHJpbnRrKEtFUk5fRVJSICJwaWQ6ICVkXG4iLCBwaWRfbnIoZ2gyLT5naF9vd25lcl9waWQpKTsKKwlwcmludGsoS0VSTl9FUlIgImxvY2sgdHlwZTogJWQgcmVxIGxvY2sgc3RhdGUgOiAlZFxuIiwKKwkgICAgICAgZ2gyLT5naF9nbC0+Z2xfbmFtZS5sbl90eXBlLCBnaDItPmdoX3N0YXRlKTsKKwlwcmludF9zeW1ib2woS0VSTl9FUlIgIm5ldzogJXNcbiIsIGdoLT5naF9pcCk7CisJcHJpbnRrKEtFUk5fRVJSICJwaWQ6ICVkXG4iLCBwaWRfbnIoZ2gtPmdoX293bmVyX3BpZCkpOworCXByaW50ayhLRVJOX0VSUiAibG9jayB0eXBlOiAlZCByZXEgbG9jayBzdGF0ZSA6ICVkXG4iLAorCSAgICAgICBnaC0+Z2hfZ2wtPmdsX25hbWUubG5fdHlwZSwgZ2gtPmdoX3N0YXRlKTsKKwlfX2R1bXBfZ2xvY2soTlVMTCwgZ2wpOworCUJVRygpOwogfQogCiAvKioKQEAgLTExNjUsMjQgKzk1NywxNiBAQAogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gZ2wtPmdsX3NiZDsKIAlpbnQgZXJyb3IgPSAwOwogCi1yZXN0YXJ0OgotCWlmICh1bmxpa2VseSh0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpIHsKLQkJc2V0X2JpdChISUZfQUJPUlRFRCwgJmdoLT5naF9pZmxhZ3MpOworCWlmICh1bmxpa2VseSh0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCXJldHVybiAtRUlPOwotCX0KIAogCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOwogCWFkZF90b19xdWV1ZShnaCk7Ci0JcnVuX3F1ZXVlKGdsKTsKKwlydW5fcXVldWUoZ2wsIDEpOwogCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAKLQlpZiAoIShnaC0+Z2hfZmxhZ3MgJiBHTF9BU1lOQykpIHsKLQkJZXJyb3IgPSBnbG9ja193YWl0X2ludGVybmFsKGdoKTsKLQkJaWYgKGVycm9yID09IEdMUl9DQU5DRUxFRCkgewotCQkJbXNsZWVwKDEwMCk7Ci0JCQlnb3RvIHJlc3RhcnQ7Ci0JCX0KLQl9CisJaWYgKCEoZ2gtPmdoX2ZsYWdzICYgR0xfQVNZTkMpKQorCQllcnJvciA9IGdmczJfZ2xvY2tfd2FpdChnaCk7CiAKIAlyZXR1cm4gZXJyb3I7CiB9CkBAIC0xMTk2LDQ4ICs5ODAsNyBAQAogCiBpbnQgZ2ZzMl9nbG9ja19wb2xsKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7Ci0Jc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwotCWludCByZWFkeSA9IDA7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKLQotCWlmICh0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCi0JCXJlYWR5ID0gMTsKLQllbHNlIGlmIChsaXN0X2VtcHR5KCZnaC0+Z2hfbGlzdCkpIHsKLQkJaWYgKGdoLT5naF9lcnJvciA9PSBHTFJfQ0FOQ0VMRUQpIHsKLQkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JCQltc2xlZXAoMTAwKTsKLQkJCWlmIChnZnMyX2dsb2NrX25xKGdoKSkKLQkJCQlyZXR1cm4gMTsKLQkJCXJldHVybiAwOwotCQl9IGVsc2UKLQkJCXJlYWR5ID0gMTsKLQl9Ci0KLQlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwotCi0JcmV0dXJuIHJlYWR5OwotfQotCi0vKioKLSAqIGdmczJfZ2xvY2tfd2FpdCAtIHdhaXQgZm9yIGEgbG9jayBhY3F1aXNpdGlvbiB0aGF0IGVuZGVkIGluIGEgR0xSX0FTWU5DCi0gKiBAZ2g6IHRoZSBob2xkZXIgc3RydWN0dXJlCi0gKgotICogUmV0dXJuczogMCwgR0xSX1RSWUZBSUxFRCwgb3IgZXJybm8gb24gZmFpbHVyZQotICovCi0KLWludCBnZnMyX2dsb2NrX3dhaXQoc3RydWN0IGdmczJfaG9sZGVyICpnaCkKLXsKLQlpbnQgZXJyb3I7Ci0KLQllcnJvciA9IGdsb2NrX3dhaXRfaW50ZXJuYWwoZ2gpOwotCWlmIChlcnJvciA9PSBHTFJfQ0FOQ0VMRUQpIHsKLQkJbXNsZWVwKDEwMCk7Ci0JCWdoLT5naF9mbGFncyAmPSB+R0xfQVNZTkM7Ci0JCWVycm9yID0gZ2ZzMl9nbG9ja19ucShnaCk7Ci0JfQotCi0JcmV0dXJuIGVycm9yOworCXJldHVybiB0ZXN0X2JpdChISUZfV0FJVCwgJmdoLT5naF9pZmxhZ3MpID8gMCA6IDE7CiB9CiAKIC8qKgpAQCAtMTI1MSwyNiArOTk0LDMwIEBACiAJc3RydWN0IGdmczJfZ2xvY2sgKmdsID0gZ2gtPmdoX2dsOwogCWNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgKmdsb3BzID0gZ2wtPmdsX29wczsKIAl1bnNpZ25lZCBkZWxheSA9IDA7CisJaW50IGZhc3RfcGF0aCA9IDA7CiAKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlpZiAoZ2gtPmdoX2ZsYWdzICYgR0xfTk9DQUNIRSkKIAkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7CiAKLQlnZnMyX2dsbXV0ZXhfbG9jayhnbCk7Ci0KLQlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlsaXN0X2RlbF9pbml0KCZnaC0+Z2hfbGlzdCk7Ci0KLQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpKSB7CisJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSA9PSBOVUxMKSB7CiAJCWlmIChnbG9wcy0+Z29fdW5sb2NrKSB7CisJCQlHTE9DS19CVUdfT04oZ2wsIHRlc3RfYW5kX3NldF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpKTsKIAkJCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJCQlnbG9wcy0+Z29fdW5sb2NrKGdoKTsKIAkJCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCQkJY2xlYXJfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKTsKIAkJfQogCQlnbC0+Z2xfc3RhbXAgPSBqaWZmaWVzOworCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpICYmCisJCSAgICAhdGVzdF9iaXQoR0xGX1BFTkRJTkdfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSAmJgorCQkgICAgIXRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKQorCQkJZmFzdF9wYXRoID0gMTsKIAl9Ci0KLQljbGVhcl9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpOwogCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGxpa2VseShmYXN0X3BhdGgpKQorCQlyZXR1cm47CiAKIAlnZnMyX2dsb2NrX2hvbGQoZ2wpOwogCWlmICh0ZXN0X2JpdChHTEZfUEVORElOR19ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpICYmCkBAIC0xNDU0LDYgKzEyMDEsOCBAQAogc3RhdGljIGludCBnZnMyX2xtX2hvbGRfbHZiKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCB2b2lkICpsb2NrLCBjaGFyICoqbHZicCkKIHsKIAlpbnQgZXJyb3IgPSAtRUlPOworCWlmICghc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1faG9sZF9sdmIpCisJCXJldHVybiAwOwogCWlmIChsaWtlbHkoIXRlc3RfYml0KFNERl9TSFVURE9XTiwgJnNkcC0+c2RfZmxhZ3MpKSkKIAkJZXJyb3IgPSBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9ob2xkX2x2Yihsb2NrLCBsdmJwKTsKIAlyZXR1cm4gZXJyb3I7CkBAIC0xNDY5LDIwICsxMjE4LDE0IEBACiB7CiAJaW50IGVycm9yOwogCi0JZ2ZzMl9nbG11dGV4X2xvY2soZ2wpOwotCiAJaWYgKCFhdG9taWNfcmVhZCgmZ2wtPmdsX2x2Yl9jb3VudCkpIHsKIAkJZXJyb3IgPSBnZnMyX2xtX2hvbGRfbHZiKGdsLT5nbF9zYmQsIGdsLT5nbF9sb2NrLCAmZ2wtPmdsX2x2Yik7Ci0JCWlmIChlcnJvcikgewotCQkJZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7CisJCWlmIChlcnJvcikgCiAJCQlyZXR1cm4gZXJyb3I7Ci0JCX0KIAkJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKIAl9CiAJYXRvbWljX2luYygmZ2wtPmdsX2x2Yl9jb3VudCk7CiAKLQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKLQogCXJldHVybiAwOwogfQogCkBAIC0xNDk3LDE3ICsxMjQwLDEzIEBACiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCiAJZ2ZzMl9nbG9ja19ob2xkKGdsKTsKLQlnZnMyX2dsbXV0ZXhfbG9jayhnbCk7Ci0KIAlnZnMyX2Fzc2VydChnbC0+Z2xfc2JkLCBhdG9taWNfcmVhZCgmZ2wtPmdsX2x2Yl9jb3VudCkgPiAwKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmZ2wtPmdsX2x2Yl9jb3VudCkpIHsKLQkJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQorCQlpZiAoc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcy0+bG1fdW5ob2xkX2x2YikKIAkJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3VuaG9sZF9sdmIoZ2wtPmdsX2xvY2ssIGdsLT5nbF9sdmIpOwogCQlnbC0+Z2xfbHZiID0gTlVMTDsKIAkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogCX0KLQotCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOwogCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KIApAQCAtMTUyNyw3ICsxMjY2LDkgQEAKIAlpZiAodGltZV9iZWZvcmUobm93LCBob2xkdGltZSkpCiAJCWRlbGF5ID0gaG9sZHRpbWUgLSBub3c7CiAKKwlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAloYW5kbGVfY2FsbGJhY2soZ2wsIHN0YXRlLCAxLCBkZWxheSk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAlpZiAocXVldWVfZGVsYXllZF93b3JrKGdsb2NrX3dvcmtxdWV1ZSwgJmdsLT5nbF93b3JrLCBkZWxheSkgPT0gMCkKIAkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQpAQCAtMTU2OCw3ICsxMzA5LDggQEAKIAkJZ2wgPSBnZnMyX2dsb2NrX2ZpbmQoc2RwLCAmYXN5bmMtPmxjX25hbWUpOwogCQlpZiAoZ2ZzMl9hc3NlcnRfd2FybihzZHAsIGdsKSkKIAkJCXJldHVybjsKLQkJeG1vdGVfYmgoZ2wsIGFzeW5jLT5sY19yZXQpOworCQlnbC0+Z2xfcmVwbHkgPSBhc3luYy0+bGNfcmV0OworCQlzZXRfYml0KEdMRl9SRVBMWV9QRU5ESU5HLCAmZ2wtPmdsX2ZsYWdzKTsKIAkJaWYgKHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKIAkJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIAkJdXBfcmVhZCgmZ2ZzMl91bW91bnRfZmx1c2hfc2VtKTsKQEAgLTE1ODEsMTEgKzEzMjMsNiBAQAogCQkJd2FrZV91cF9wcm9jZXNzKHNkcC0+c2RfcmVjb3ZlcmRfcHJvY2Vzcyk7CiAJCXJldHVybjsKIAotCWNhc2UgTE1fQ0JfRFJPUExPQ0tTOgotCQlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwLCBOT19XQUlUKTsKLQkJZ2ZzMl9xdW90YV9zY2FuKHNkcCk7Ci0JCXJldHVybjsKLQogCWRlZmF1bHQ6CiAJCWdmczJfYXNzZXJ0X3dhcm4oc2RwLCAwKTsKIAkJcmV0dXJuOwpAQCAtMTY0Niw2ICsxMzgzLDcgQEAKIHZvaWQgZ2ZzMl9yZWNsYWltX2dsb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwKQogewogCXN0cnVjdCBnZnMyX2dsb2NrICpnbDsKKwlpbnQgZG9uZV9jYWxsYmFjayA9IDA7CiAKIAlzcGluX2xvY2soJnNkcC0+c2RfcmVjbGFpbV9sb2NrKTsKIAlpZiAobGlzdF9lbXB0eSgmc2RwLT5zZF9yZWNsYWltX2xpc3QpKSB7CkBAIC0xNjYwLDE0ICsxMzk4LDE2IEBACiAJYXRvbWljX2RlYygmc2RwLT5zZF9yZWNsYWltX2NvdW50KTsKIAlhdG9taWNfaW5jKCZzZHAtPnNkX3JlY2xhaW1lZCk7CiAKLQlpZiAoZ2ZzMl9nbG11dGV4X3RyeWxvY2soZ2wpKSB7Ci0JCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykgJiYKLQkJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBkZW1vdGVfb2soZ2wpKQotCQkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7Ci0JCWdmczJfZ2xtdXRleF91bmxvY2soZ2wpOworCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWlmIChmaW5kX2ZpcnN0X2hvbGRlcihnbCkgPT0gTlVMTCAmJgorCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZGVtb3RlX29rKGdsKSkgeworCQloYW5kbGVfY2FsbGJhY2soZ2wsIExNX1NUX1VOTE9DS0VELCAwLCAwKTsKKwkJZG9uZV9jYWxsYmFjayA9IDE7CiAJfQotCi0JZ2ZzMl9nbG9ja19wdXQoZ2wpOworCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKCFkb25lX2NhbGxiYWNrIHx8CisJICAgIHF1ZXVlX2RlbGF5ZWRfd29yayhnbG9ja193b3JrcXVldWUsICZnbC0+Z2xfd29yaywgMCkgPT0gMCkKKwkJZ2ZzMl9nbG9ja19wdXQoZ2wpOwogfQogCiAvKioKQEAgLTE3MjQsMTggKzE0NjQsMTQgQEAKIHsKIAlpZiAoZ2wtPmdsX29wcyA9PSAmZ2ZzMl9pbm9kZV9nbG9wcyAmJiBnbC0+Z2xfb2JqZWN0KQogCQlyZXR1cm47CisJaWYgKHRlc3RfYml0KEdMRl9MT0NLLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJcmV0dXJuOwogCi0JaWYgKGdmczJfZ2xtdXRleF90cnlsb2NrKGdsKSkgewotCQlpZiAobGlzdF9lbXB0eSgmZ2wtPmdsX2hvbGRlcnMpICYmCi0JCSAgICBnbC0+Z2xfc3RhdGUgIT0gTE1fU1RfVU5MT0NLRUQgJiYgZGVtb3RlX29rKGdsKSkKLQkJCWdvdG8gb3V0X3NjaGVkdWxlOwotCQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKLQl9Ci0JcmV0dXJuOwotCi1vdXRfc2NoZWR1bGU6Ci0JZ2ZzMl9nbG11dGV4X3VubG9jayhnbCk7Ci0JZ2ZzMl9nbG9ja19zY2hlZHVsZV9mb3JfcmVjbGFpbShnbCk7CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSA9PSBOVUxMICYmCisJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJiBkZW1vdGVfb2soZ2wpKQorCQlnZnMyX2dsb2NrX3NjaGVkdWxlX2Zvcl9yZWNsYWltKGdsKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOwogfQogCiAvKioKQEAgLTE3NjAsMTIgKzE0OTYsMTMgQEAKIAkJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmVjbGFpbV9sb2NrKTsKIAl9CiAKLQlpZiAoZ2ZzMl9nbG11dGV4X3RyeWxvY2soZ2wpKSB7Ci0JCWlmIChsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykgJiYKLQkJICAgIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCkKLQkJCWhhbmRsZV9jYWxsYmFjayhnbCwgTE1fU1RfVU5MT0NLRUQsIDAsIDApOwotCQlnZnMyX2dsbXV0ZXhfdW5sb2NrKGdsKTsKLQl9CisJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7CisJaWYgKGZpbmRfZmlyc3RfaG9sZGVyKGdsKSA9PSBOVUxMICYmIGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCkKKwkJaGFuZGxlX2NhbGxiYWNrKGdsLCBMTV9TVF9VTkxPQ0tFRCwgMCwgMCk7CisJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKKwlnZnMyX2dsb2NrX2hvbGQoZ2wpOworCWlmIChxdWV1ZV9kZWxheWVkX3dvcmsoZ2xvY2tfd29ya3F1ZXVlLCAmZ2wtPmdsX3dvcmssIDApID09IDApCisJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIH0KIAogLyoqCkBAIC0xNzczLDExICsxNTEwLDEwIEBACiAgKiBAc2RwOiB0aGUgZmlsZXN5c3RlbQogICogQHdhaXQ6IHdhaXQgdW50aWwgaXQncyBhbGwgZ29uZQogICoKLSAqIENhbGxlZCB3aGVuIHVubW91bnRpbmcgdGhlIGZpbGVzeXN0ZW0sIG9yIHdoZW4gaW50ZXItbm9kZSBsb2NrIG1hbmFnZXIKLSAqIHJlcXVlc3RzIERST1BMT0NLUyBiZWNhdXNlIGl0IGlzIHJ1bm5pbmcgb3V0IG9mIGNhcGFjaXR5LgorICogQ2FsbGVkIHdoZW4gdW5tb3VudGluZyB0aGUgZmlsZXN5c3RlbS4KICAqLwogCi12b2lkIGdmczJfZ2xfaGFzaF9jbGVhcihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgaW50IHdhaXQpCit2b2lkIGdmczJfZ2xfaGFzaF9jbGVhcihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKIHsKIAl1bnNpZ25lZCBsb25nIHQ7CiAJdW5zaWduZWQgaW50IHg7CkBAIC0xNzkyLDcgKzE1MjgsNyBAQAogCQkJCWNvbnQgPSAxOwogCQl9CiAKLQkJaWYgKCF3YWl0IHx8ICFjb250KQorCQlpZiAoIWNvbnQpCiAJCQlicmVhazsKIAogCQlpZiAodGltZV9hZnRlcl9lcShqaWZmaWVzLApAQCAtMTgxMCwxODAgKzE1NDYsMTY0IEBACiAJfQogfQogCi0vKgotICogIERpYWdub3N0aWMgcm91dGluZXMgdG8gaGVscCBkZWJ1ZyBkaXN0cmlidXRlZCBkZWFkbG9jawotICovCi0KLXN0YXRpYyB2b2lkIGdmczJfcHJpbnRfc3ltYm9sKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgY29uc3QgY2hhciAqZm10LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQorc3RhdGljIGNvbnN0IGNoYXIgKnN0YXRlMnN0cih1bnNpZ25lZCBzdGF0ZSkKIHsKLQljaGFyIGJ1ZmZlcltLU1lNX1NZTUJPTF9MRU5dOworCXN3aXRjaChzdGF0ZSkgeworCWNhc2UgTE1fU1RfVU5MT0NLRUQ6CisJCXJldHVybiAiVU4iOworCWNhc2UgTE1fU1RfU0hBUkVEOgorCQlyZXR1cm4gIlNIIjsKKwljYXNlIExNX1NUX0RFRkVSUkVEOgorCQlyZXR1cm4gIkRGIjsKKwljYXNlIExNX1NUX0VYQ0xVU0lWRToKKwkJcmV0dXJuICJFWCI7CisJfQorCXJldHVybiAiPz8iOworfQogCi0Jc3ByaW50X3N5bWJvbChidWZmZXIsIGFkZHJlc3MpOwotCXByaW50X2RiZyhnaSwgZm10LCBidWZmZXIpOworc3RhdGljIGNvbnN0IGNoYXIgKmhmbGFnczJzdHIoY2hhciAqYnVmLCB1bnNpZ25lZCBmbGFncywgdW5zaWduZWQgbG9uZyBpZmxhZ3MpCit7CisJY2hhciAqcCA9IGJ1ZjsKKwlpZiAoZmxhZ3MgJiBMTV9GTEFHX1RSWSkKKwkJKnArKyA9ICd0JzsKKwlpZiAoZmxhZ3MgJiBMTV9GTEFHX1RSWV8xQ0IpCisJCSpwKysgPSAnVCc7CisJaWYgKGZsYWdzICYgTE1fRkxBR19OT0VYUCkKKwkJKnArKyA9ICdlJzsKKwlpZiAoZmxhZ3MgJiBMTV9GTEFHX0FOWSkKKwkJKnArKyA9ICdhJzsKKwlpZiAoZmxhZ3MgJiBMTV9GTEFHX1BSSU9SSVRZKQorCQkqcCsrID0gJ3AnOworCWlmIChmbGFncyAmIEdMX0FTWU5DKQorCQkqcCsrID0gJ2EnOworCWlmIChmbGFncyAmIEdMX0VYQUNUKQorCQkqcCsrID0gJ0UnOworCWlmIChmbGFncyAmIEdMX0FUSU1FKQorCQkqcCsrID0gJ2EnOworCWlmIChmbGFncyAmIEdMX05PQ0FDSEUpCisJCSpwKysgPSAnYyc7CisJaWYgKHRlc3RfYml0KEhJRl9IT0xERVIsICZpZmxhZ3MpKQorCQkqcCsrID0gJ0gnOworCWlmICh0ZXN0X2JpdChISUZfV0FJVCwgJmlmbGFncykpCisJCSpwKysgPSAnVyc7CisJaWYgKHRlc3RfYml0KEhJRl9GSVJTVCwgJmlmbGFncykpCisJCSpwKysgPSAnRic7CisJKnAgPSAwOworCXJldHVybiBidWY7CiB9CiAKIC8qKgogICogZHVtcF9ob2xkZXIgLSBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIGdsb2NrIGhvbGRlcgotICogQHN0cjogYSBzdHJpbmcgbmFtaW5nIHRoZSB0eXBlIG9mIGhvbGRlcgorICogQHNlcTogdGhlIHNlcV9maWxlIHN0cnVjdAogICogQGdoOiB0aGUgZ2xvY2sgaG9sZGVyCiAgKgogICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRU5PQlVGUyB3aGVuIHdlIHJ1biBvdXQgb2Ygc3BhY2UKICAqLwogCi1zdGF0aWMgaW50IGR1bXBfaG9sZGVyKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgY2hhciAqc3RyLAotCQkgICAgICAgc3RydWN0IGdmczJfaG9sZGVyICpnaCkKK3N0YXRpYyBpbnQgZHVtcF9ob2xkZXIoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7Ci0JdW5zaWduZWQgaW50IHg7Ci0Jc3RydWN0IHRhc2tfc3RydWN0ICpnaF9vd25lcjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdoX293bmVyID0gTlVMTDsKKwljaGFyIGJ1ZmZlcltLU1lNX1NZTUJPTF9MRU5dOworCWNoYXIgZmxhZ3NfYnVmWzMyXTsKIAotCXByaW50X2RiZyhnaSwgIiAgJXNcbiIsIHN0cik7Ci0JaWYgKGdoLT5naF9vd25lcl9waWQpIHsKLQkJcHJpbnRfZGJnKGdpLCAiICAgIG93bmVyID0gJWxkICIsCi0JCQkJKGxvbmcpcGlkX25yKGdoLT5naF9vd25lcl9waWQpKTsKKwlzcHJpbnRfc3ltYm9sKGJ1ZmZlciwgZ2gtPmdoX2lwKTsKKwlpZiAoZ2gtPmdoX293bmVyX3BpZCkKIAkJZ2hfb3duZXIgPSBwaWRfdGFzayhnaC0+Z2hfb3duZXJfcGlkLCBQSURUWVBFX1BJRCk7Ci0JCWlmIChnaF9vd25lcikKLQkJCXByaW50X2RiZyhnaSwgIiglcylcbiIsIGdoX293bmVyLT5jb21tKTsKLQkJZWxzZQotCQkJcHJpbnRfZGJnKGdpLCAiKGVuZGVkKVxuIik7Ci0JfSBlbHNlCi0JCXByaW50X2RiZyhnaSwgIiAgICBvd25lciA9IC0xXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgICAgZ2hfc3RhdGUgPSAldVxuIiwgZ2gtPmdoX3N0YXRlKTsKLQlwcmludF9kYmcoZ2ksICIgICAgZ2hfZmxhZ3MgPSIpOwotCWZvciAoeCA9IDA7IHggPCAzMjsgeCsrKQotCQlpZiAoZ2gtPmdoX2ZsYWdzICYgKDEgPDwgeCkpCi0JCQlwcmludF9kYmcoZ2ksICIgJXUiLCB4KTsKLQlwcmludF9kYmcoZ2ksICIgXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgICAgZXJyb3IgPSAlZFxuIiwgZ2gtPmdoX2Vycm9yKTsKLQlwcmludF9kYmcoZ2ksICIgICAgZ2hfaWZsYWdzID0iKTsKLQlmb3IgKHggPSAwOyB4IDwgMzI7IHgrKykKLQkJaWYgKHRlc3RfYml0KHgsICZnaC0+Z2hfaWZsYWdzKSkKLQkJCXByaW50X2RiZyhnaSwgIiAldSIsIHgpOwotCXByaW50X2RiZyhnaSwgIiBcbiIpOwotICAgICAgICBnZnMyX3ByaW50X3N5bWJvbChnaSwgIiAgICBpbml0aWFsaXplZCBhdDogJXNcbiIsIGdoLT5naF9pcCk7Ci0KKwlnZnMyX3ByaW50X2RiZyhzZXEsICIgSDogczolcyBmOiVzIGU6JWQgcDolbGQgWyVzXSAlc1xuIiwKKwkJICBzdGF0ZTJzdHIoZ2gtPmdoX3N0YXRlKSwKKwkJICBoZmxhZ3Myc3RyKGZsYWdzX2J1ZiwgZ2gtPmdoX2ZsYWdzLCBnaC0+Z2hfaWZsYWdzKSwKKwkJICBnaC0+Z2hfZXJyb3IsIAorCQkgIGdoLT5naF9vd25lcl9waWQgPyAobG9uZylwaWRfbnIoZ2gtPmdoX293bmVyX3BpZCkgOiAtMSwKKwkJICBnaF9vd25lciA/IGdoX293bmVyLT5jb21tIDogIihlbmRlZCkiLCBidWZmZXIpOwogCXJldHVybiAwOwogfQogCi0vKioKLSAqIGR1bXBfaW5vZGUgLSBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhbiBpbm9kZQotICogQGlwOiB0aGUgaW5vZGUKLSAqCi0gKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC1FTk9CVUZTIHdoZW4gd2UgcnVuIG91dCBvZiBzcGFjZQotICovCi0KLXN0YXRpYyBpbnQgZHVtcF9pbm9kZShzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ksIHN0cnVjdCBnZnMyX2lub2RlICppcCkKK3N0YXRpYyBjb25zdCBjaGFyICpnZmxhZ3Myc3RyKGNoYXIgKmJ1ZiwgY29uc3QgdW5zaWduZWQgbG9uZyAqZ2ZsYWdzKQogewotCXVuc2lnbmVkIGludCB4OwotCi0JcHJpbnRfZGJnKGdpLCAiICBJbm9kZTpcbiIpOwotCXByaW50X2RiZyhnaSwgIiAgICBudW0gPSAlbGx1LyVsbHVcbiIsCi0JCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylpcC0+aV9ub19mb3JtYWxfaW5vLAotCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpaXAtPmlfbm9fYWRkcik7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIHR5cGUgPSAldVxuIiwgSUYyRFQoaXAtPmlfaW5vZGUuaV9tb2RlKSk7Ci0JcHJpbnRfZGJnKGdpLCAiICAgIGlfZmxhZ3MgPSIpOwotCWZvciAoeCA9IDA7IHggPCAzMjsgeCsrKQotCQlpZiAodGVzdF9iaXQoeCwgJmlwLT5pX2ZsYWdzKSkKLQkJCXByaW50X2RiZyhnaSwgIiAldSIsIHgpOwotCXByaW50X2RiZyhnaSwgIiBcbiIpOwotCXJldHVybiAwOworCWNoYXIgKnAgPSBidWY7CisJaWYgKHRlc3RfYml0KEdMRl9MT0NLLCBnZmxhZ3MpKQorCQkqcCsrID0gJ2wnOworCWlmICh0ZXN0X2JpdChHTEZfU1RJQ0tZLCBnZmxhZ3MpKQorCQkqcCsrID0gJ3MnOworCWlmICh0ZXN0X2JpdChHTEZfREVNT1RFLCBnZmxhZ3MpKQorCQkqcCsrID0gJ0QnOworCWlmICh0ZXN0X2JpdChHTEZfUEVORElOR19ERU1PVEUsIGdmbGFncykpCisJCSpwKysgPSAnZCc7CisJaWYgKHRlc3RfYml0KEdMRl9ERU1PVEVfSU5fUFJPR1JFU1MsIGdmbGFncykpCisJCSpwKysgPSAncCc7CisJaWYgKHRlc3RfYml0KEdMRl9ESVJUWSwgZ2ZsYWdzKSkKKwkJKnArKyA9ICd5JzsKKwlpZiAodGVzdF9iaXQoR0xGX0xGTFVTSCwgZ2ZsYWdzKSkKKwkJKnArKyA9ICdmJzsKKwlpZiAodGVzdF9iaXQoR0xGX0lOVkFMSURBVEVfSU5fUFJPR1JFU1MsIGdmbGFncykpCisJCSpwKysgPSAnaSc7CisJaWYgKHRlc3RfYml0KEdMRl9SRVBMWV9QRU5ESU5HLCBnZmxhZ3MpKQorCQkqcCsrID0gJ3InOworCSpwID0gMDsKKwlyZXR1cm4gYnVmOwogfQogCiAvKioKLSAqIGR1bXBfZ2xvY2sgLSBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIGdsb2NrCisgKiBfX2R1bXBfZ2xvY2sgLSBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIGdsb2NrCisgKiBAc2VxOiBUaGUgc2VxX2ZpbGUgc3RydWN0CiAgKiBAZ2w6IHRoZSBnbG9jawotICogQGNvdW50OiB3aGVyZSB3ZSBhcmUgaW4gdGhlIGJ1ZmZlcgorICoKKyAqIFRoZSBmaWxlIGZvcm1hdCBpcyBhcyBmb2xsb3dzOgorICogT25lIGxpbmUgcGVyIG9iamVjdCwgY2FwaXRhbCBsZXR0ZXJzIGFyZSB1c2VkIHRvIGluZGljYXRlIG9iamVjdHMKKyAqIEcgPSBnbG9jaywgSSA9IElub2RlLCBSID0gcmdycCwgSCA9IGhvbGRlci4gR2xvY2tzIGFyZSBub3QgaW5kZW50ZWQsCisgKiBvdGhlciBvYmplY3RzIGFyZSBpbmRlbnRlZCBieSBhIHNpbmdsZSBzcGFjZSBhbmQgZm9sbG93IHRoZSBnbG9jayB0bworICogd2hpY2ggdGhleSBhcmUgcmVsYXRlZC4gRmllbGRzIGFyZSBpbmRpY2F0ZWQgYnkgbG93ZXIgY2FzZSBsZXR0ZXJzCisgKiBmb2xsb3dlZCBieSBhIGNvbG9uIGFuZCB0aGUgZmllbGQgdmFsdWUsIGV4Y2VwdCBmb3Igc3RyaW5ncyB3aGljaCBhcmUgaW4KKyAqIFtdIHNvIHRoYXQgaXRzIHBvc3NpYmxlIHRvIHNlZSBpZiB0aGV5IGFyZSBjb21wb3NlZCBvZiBzcGFjZXMgZm9yCisgKiBleGFtcGxlLiBUaGUgZmllbGQncyBhcmUgbiA9IG51bWJlciAoaWQgb2YgdGhlIG9iamVjdCksIGYgPSBmbGFncywKKyAqIHQgPSB0eXBlLCBzID0gc3RhdGUsIHIgPSByZWZjb3VudCwgZSA9IGVycm9yLCBwID0gcGlkLgogICoKICAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVOT0JVRlMgd2hlbiB3ZSBydW4gb3V0IG9mIHNwYWNlCiAgKi8KIAotc3RhdGljIGludCBkdW1wX2dsb2NrKHN0cnVjdCBnbG9ja19pdGVyICpnaSwgc3RydWN0IGdmczJfZ2xvY2sgKmdsKQorc3RhdGljIGludCBfX2R1bXBfZ2xvY2soc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKIHsKLQlzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOwotCXVuc2lnbmVkIGludCB4OwotCWludCBlcnJvciA9IC1FTk9CVUZTOwotCXN0cnVjdCB0YXNrX3N0cnVjdCAqZ2xfb3duZXI7CisJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xvcHMgPSBnbC0+Z2xfb3BzOworCXVuc2lnbmVkIGxvbmcgbG9uZyBkdGltZTsKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoOworCWNoYXIgZ2ZsYWdzX2J1ZlszMl07CisJaW50IGVycm9yID0gMDsKIAotCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCWR0aW1lID0gamlmZmllcyAtIGdsLT5nbF9kZW1vdGVfdGltZTsKKwlkdGltZSAqPSAxMDAwMDAwL0haOyAvKiBkZW1vdGUgdGltZSBpbiB1U2VjICovCisJaWYgKCF0ZXN0X2JpdChHTEZfREVNT1RFLCAmZ2wtPmdsX2ZsYWdzKSkKKwkJZHRpbWUgPSAwOworCWdmczJfcHJpbnRfZGJnKHNlcSwgIkc6ICBzOiVzIG46JXUvJWxsdSBmOiVzIHQ6JXMgZDolcy8lbGx1IGw6JWQgYTolZCByOiVkXG4iLAorCQkgIHN0YXRlMnN0cihnbC0+Z2xfc3RhdGUpLAorCQkgIGdsLT5nbF9uYW1lLmxuX3R5cGUsCisJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylnbC0+Z2xfbmFtZS5sbl9udW1iZXIsCisJCSAgZ2ZsYWdzMnN0cihnZmxhZ3NfYnVmLCAmZ2wtPmdsX2ZsYWdzKSwKKwkJICBzdGF0ZTJzdHIoZ2wtPmdsX3RhcmdldCksCisJCSAgc3RhdGUyc3RyKGdsLT5nbF9kZW1vdGVfc3RhdGUpLCBkdGltZSwKKwkJICBhdG9taWNfcmVhZCgmZ2wtPmdsX2x2Yl9jb3VudCksCisJCSAgYXRvbWljX3JlYWQoJmdsLT5nbF9haWxfY291bnQpLAorCQkgIGF0b21pY19yZWFkKCZnbC0+Z2xfcmVmKSk7CiAKLQlwcmludF9kYmcoZ2ksICJHbG9jayAweCVwICgldSwgMHglbGx4KVxuIiwgZ2wsIGdsLT5nbF9uYW1lLmxuX3R5cGUsCi0JCSAgICh1bnNpZ25lZCBsb25nIGxvbmcpZ2wtPmdsX25hbWUubG5fbnVtYmVyKTsKLQlwcmludF9kYmcoZ2ksICIgIGdsX2ZsYWdzID0iKTsKLQlmb3IgKHggPSAwOyB4IDwgMzI7IHgrKykgewotCQlpZiAodGVzdF9iaXQoeCwgJmdsLT5nbF9mbGFncykpCi0JCQlwcmludF9kYmcoZ2ksICIgJXUiLCB4KTsKLQl9Ci0JaWYgKCF0ZXN0X2JpdChHTEZfTE9DSywgJmdsLT5nbF9mbGFncykpCi0JCXByaW50X2RiZyhnaSwgIiAodW5sb2NrZWQpIik7Ci0JcHJpbnRfZGJnKGdpLCAiIFxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICBnbF9yZWYgPSAlZFxuIiwgYXRvbWljX3JlYWQoJmdsLT5nbF9yZWYpKTsKLQlwcmludF9kYmcoZ2ksICIgIGdsX3N0YXRlID0gJXVcbiIsIGdsLT5nbF9zdGF0ZSk7Ci0JaWYgKGdsLT5nbF9vd25lcl9waWQpIHsKLQkJZ2xfb3duZXIgPSBwaWRfdGFzayhnbC0+Z2xfb3duZXJfcGlkLCBQSURUWVBFX1BJRCk7Ci0JCWlmIChnbF9vd25lcikKLQkJCXByaW50X2RiZyhnaSwgIiAgZ2xfb3duZXIgPSBwaWQgJWQgKCVzKVxuIiwKLQkJCQkgIHBpZF9ucihnbC0+Z2xfb3duZXJfcGlkKSwgZ2xfb3duZXItPmNvbW0pOwotCQllbHNlCi0JCQlwcmludF9kYmcoZ2ksICIgIGdsX293bmVyID0gJWQgKGVuZGVkKVxuIiwKLQkJCQkgIHBpZF9ucihnbC0+Z2xfb3duZXJfcGlkKSk7Ci0JfSBlbHNlCi0JCXByaW50X2RiZyhnaSwgIiAgZ2xfb3duZXIgPSAtMVxuIik7Ci0JcHJpbnRfZGJnKGdpLCAiICBnbF9pcCA9ICVsdVxuIiwgZ2wtPmdsX2lwKTsKLQlwcmludF9kYmcoZ2ksICIgIHJlcV9naCA9ICVzXG4iLCAoZ2wtPmdsX3JlcV9naCkgPyAieWVzIiA6ICJubyIpOwotCXByaW50X2RiZyhnaSwgIiAgbHZiX2NvdW50ID0gJWRcbiIsIGF0b21pY19yZWFkKCZnbC0+Z2xfbHZiX2NvdW50KSk7Ci0JcHJpbnRfZGJnKGdpLCAiICBvYmplY3QgPSAlc1xuIiwgKGdsLT5nbF9vYmplY3QpID8gInllcyIgOiAibm8iKTsKLQlwcmludF9kYmcoZ2ksICIgIHJlY2xhaW0gPSAlc1xuIiwKLQkJICAgKGxpc3RfZW1wdHkoJmdsLT5nbF9yZWNsYWltKSkgPyAibm8iIDogInllcyIpOwotCWlmIChnbC0+Z2xfYXNwYWNlKQotCQlwcmludF9kYmcoZ2ksICIgIGFzcGFjZSA9IDB4JXAgbnJwYWdlcyA9ICVsdVxuIiwgZ2wtPmdsX2FzcGFjZSwKLQkJCSAgIGdsLT5nbF9hc3BhY2UtPmlfbWFwcGluZy0+bnJwYWdlcyk7Ci0JZWxzZQotCQlwcmludF9kYmcoZ2ksICIgIGFzcGFjZSA9IG5vXG4iKTsKLQlwcmludF9kYmcoZ2ksICIgIGFpbCA9ICVkXG4iLCBhdG9taWNfcmVhZCgmZ2wtPmdsX2FpbF9jb3VudCkpOwotCWlmIChnbC0+Z2xfcmVxX2doKSB7Ci0JCWVycm9yID0gZHVtcF9ob2xkZXIoZ2ksICJSZXF1ZXN0IiwgZ2wtPmdsX3JlcV9naCk7Ci0JCWlmIChlcnJvcikKLQkJCWdvdG8gb3V0OwotCX0KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKLQkJZXJyb3IgPSBkdW1wX2hvbGRlcihnaSwgIkhvbGRlciIsIGdoKTsKKwkJZXJyb3IgPSBkdW1wX2hvbGRlcihzZXEsIGdoKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXQ7CiAJfQotCWxpc3RfZm9yX2VhY2hfZW50cnkoZ2gsICZnbC0+Z2xfd2FpdGVyczEsIGdoX2xpc3QpIHsKLQkJZXJyb3IgPSBkdW1wX2hvbGRlcihnaSwgIldhaXRlcjEiLCBnaCk7Ci0JCWlmIChlcnJvcikKLQkJCWdvdG8gb3V0OwotCX0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCAmZ2wtPmdsX3dhaXRlcnMzLCBnaF9saXN0KSB7Ci0JCWVycm9yID0gZHVtcF9ob2xkZXIoZ2ksICJXYWl0ZXIzIiwgZ2gpOwotCQlpZiAoZXJyb3IpCi0JCQlnb3RvIG91dDsKLQl9Ci0JaWYgKHRlc3RfYml0KEdMRl9ERU1PVEUsICZnbC0+Z2xfZmxhZ3MpKSB7Ci0JCXByaW50X2RiZyhnaSwgIiAgRGVtb3Rpb24gcmVxIHRvIHN0YXRlICV1ICglbGx1IHVTIGFnbylcbiIsCi0JCQkgIGdsLT5nbF9kZW1vdGVfc3RhdGUsICh1bnNpZ25lZCBsb25nIGxvbmcpCi0JCQkgIChqaWZmaWVzIC0gZ2wtPmdsX2RlbW90ZV90aW1lKSooMTAwMDAwMC9IWikpOwotCX0KLQlpZiAoZ2wtPmdsX29wcyA9PSAmZ2ZzMl9pbm9kZV9nbG9wcyAmJiBnbC0+Z2xfb2JqZWN0KSB7Ci0JCWlmICghdGVzdF9iaXQoR0xGX0xPQ0ssICZnbC0+Z2xfZmxhZ3MpICYmCi0JCQlsaXN0X2VtcHR5KCZnbC0+Z2xfaG9sZGVycykpIHsKLQkJCWVycm9yID0gZHVtcF9pbm9kZShnaSwgZ2wtPmdsX29iamVjdCk7Ci0JCQlpZiAoZXJyb3IpCi0JCQkJZ290byBvdXQ7Ci0JCX0gZWxzZSB7Ci0JCQllcnJvciA9IC1FTk9CVUZTOwotCQkJcHJpbnRfZGJnKGdpLCAiICBJbm9kZTogYnVzeVxuIik7Ci0JCX0KLQl9Ci0KLQllcnJvciA9IDA7Ci0KKwlpZiAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmIGdsb3BzLT5nb19kdW1wKQorCQllcnJvciA9IGdsb3BzLT5nb19kdW1wKHNlcSwgZ2wpOwogb3V0OgotCXNwaW5fdW5sb2NrKCZnbC0+Z2xfc3Bpbik7CiAJcmV0dXJuIGVycm9yOwogfQogCitzdGF0aWMgaW50IGR1bXBfZ2xvY2soc3RydWN0IHNlcV9maWxlICpzZXEsIHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwlpbnQgcmV0OworCXNwaW5fbG9jaygmZ2wtPmdsX3NwaW4pOworCXJldCA9IF9fZHVtcF9nbG9jayhzZXEsIGdsKTsKKwlzcGluX3VubG9jaygmZ2wtPmdsX3NwaW4pOworCXJldHVybiByZXQ7Cit9CisKIC8qKgogICogZ2ZzMl9kdW1wX2xvY2tzdGF0ZSAtIHByaW50IG91dCB0aGUgY3VycmVudCBsb2Nrc3RhdGUKICAqIEBzZHA6IHRoZSBmaWxlc3lzdGVtCkBAIC0yMDg2LDcgKzE4MDYsNyBAQAogbW9kdWxlX3BhcmFtKHNjYW5kX3NlY3MsIHVpbnQsIFNfSVJVR098U19JV1VTUik7CiBNT0RVTEVfUEFSTV9ERVNDKHNjYW5kX3NlY3MsICJUaGUgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiBzY2FuZCBydW5zIik7CiAKLXN0YXRpYyBpbnQgZ2ZzMl9nbG9ja19pdGVyX25leHQoc3RydWN0IGdsb2NrX2l0ZXIgKmdpKQorc3RhdGljIGludCBnZnMyX2dsb2NrX2l0ZXJfbmV4dChzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSkKIHsKIAlzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2w7CiAKQEAgLTIxMDQsNyArMTgyNCw3IEBACiAJCWdmczJfZ2xvY2tfcHV0KGdsKTsKIAlpZiAoZ2wgJiYgZ2ktPmdsID09IE5VTEwpCiAJCWdpLT5oYXNoKys7Ci0Jd2hpbGUoZ2ktPmdsID09IE5VTEwpIHsKKwl3aGlsZSAoZ2ktPmdsID09IE5VTEwpIHsKIAkJaWYgKGdpLT5oYXNoID49IEdGUzJfR0xfSEFTSF9TSVpFKQogCQkJcmV0dXJuIDE7CiAJCXJlYWRfbG9jayhnbF9sb2NrX2FkZHIoZ2ktPmhhc2gpKTsKQEAgLTIxMjIsNTggKzE4NDIsMzQgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoc3RydWN0IGdsb2NrX2l0ZXIgKmdpKQorc3RhdGljIHZvaWQgZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoc3RydWN0IGdmczJfZ2xvY2tfaXRlciAqZ2kpCiB7CiAJaWYgKGdpLT5nbCkKIAkJZ2ZzMl9nbG9ja19wdXQoZ2ktPmdsKTsKLQlrZnJlZShnaSk7Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2ZzMl9nbG9ja19pdGVyX2luaXQoc3RydWN0IGdmczJfc2JkICpzZHApCi17Ci0Jc3RydWN0IGdsb2NrX2l0ZXIgKmdpOwotCi0JZ2kgPSBrbWFsbG9jKHNpemVvZiAoKmdpKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFnaSkKLQkJcmV0dXJuIE5VTEw7Ci0KLQlnaS0+c2RwID0gc2RwOwotCWdpLT5oYXNoID0gMDsKLQlnaS0+c2VxID0gTlVMTDsKIAlnaS0+Z2wgPSBOVUxMOwotCW1lbXNldChnaS0+c3RyaW5nLCAwLCBzaXplb2YoZ2ktPnN0cmluZykpOwotCi0JaWYgKGdmczJfZ2xvY2tfaXRlcl9uZXh0KGdpKSkgewotCQlnZnMyX2dsb2NrX2l0ZXJfZnJlZShnaSk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJldHVybiBnaTsKIH0KIAotc3RhdGljIHZvaWQgKmdmczJfZ2xvY2tfc2VxX3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgbG9mZl90ICpwb3MpCitzdGF0aWMgdm9pZCAqZ2ZzMl9nbG9ja19zZXFfc3RhcnQoc3RydWN0IHNlcV9maWxlICpzZXEsIGxvZmZfdCAqcG9zKQogewotCXN0cnVjdCBnbG9ja19pdGVyICpnaTsKKwlzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSA9IHNlcS0+cHJpdmF0ZTsKIAlsb2ZmX3QgbiA9ICpwb3M7CiAKLQlnaSA9IGdmczJfZ2xvY2tfaXRlcl9pbml0KGZpbGUtPnByaXZhdGUpOwotCWlmICghZ2kpCi0JCXJldHVybiBOVUxMOworCWdpLT5oYXNoID0gMDsKIAotCXdoaWxlKG4tLSkgeworCWRvIHsKIAkJaWYgKGdmczJfZ2xvY2tfaXRlcl9uZXh0KGdpKSkgewogCQkJZ2ZzMl9nbG9ja19pdGVyX2ZyZWUoZ2kpOwogCQkJcmV0dXJuIE5VTEw7CiAJCX0KLQl9CisJfSB3aGlsZSAobi0tKTsKIAotCXJldHVybiBnaTsKKwlyZXR1cm4gZ2ktPmdsOwogfQogCi1zdGF0aWMgdm9pZCAqZ2ZzMl9nbG9ja19zZXFfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKml0ZXJfcHRyLAorc3RhdGljIHZvaWQgKmdmczJfZ2xvY2tfc2VxX25leHQoc3RydWN0IHNlcV9maWxlICpzZXEsIHZvaWQgKml0ZXJfcHRyLAogCQkJCSBsb2ZmX3QgKnBvcykKIHsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kgPSBpdGVyX3B0cjsKKwlzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSA9IHNlcS0+cHJpdmF0ZTsKIAogCSgqcG9zKSsrOwogCkBAIC0yMTgyLDI0ICsxODc4LDE4IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAotCXJldHVybiBnaTsKKwlyZXR1cm4gZ2ktPmdsOwogfQogCi1zdGF0aWMgdm9pZCBnZnMyX2dsb2NrX3NlcV9zdG9wKHN0cnVjdCBzZXFfZmlsZSAqZmlsZSwgdm9pZCAqaXRlcl9wdHIpCitzdGF0aWMgdm9pZCBnZnMyX2dsb2NrX3NlcV9zdG9wKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICppdGVyX3B0cikKIHsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kgPSBpdGVyX3B0cjsKLQlpZiAoZ2kpCi0JCWdmczJfZ2xvY2tfaXRlcl9mcmVlKGdpKTsKKwlzdHJ1Y3QgZ2ZzMl9nbG9ja19pdGVyICpnaSA9IHNlcS0+cHJpdmF0ZTsKKwlnZnMyX2dsb2NrX2l0ZXJfZnJlZShnaSk7CiB9CiAKLXN0YXRpYyBpbnQgZ2ZzMl9nbG9ja19zZXFfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKmZpbGUsIHZvaWQgKml0ZXJfcHRyKQorc3RhdGljIGludCBnZnMyX2dsb2NrX3NlcV9zaG93KHN0cnVjdCBzZXFfZmlsZSAqc2VxLCB2b2lkICppdGVyX3B0cikKIHsKLQlzdHJ1Y3QgZ2xvY2tfaXRlciAqZ2kgPSBpdGVyX3B0cjsKLQotCWdpLT5zZXEgPSBmaWxlOwotCWR1bXBfZ2xvY2soZ2ksIGdpLT5nbCk7Ci0KLQlyZXR1cm4gMDsKKwlyZXR1cm4gZHVtcF9nbG9jayhzZXEsIGl0ZXJfcHRyKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzZXFfb3BlcmF0aW9ucyBnZnMyX2dsb2NrX3NlcV9vcHMgPSB7CkBAIC0yMjExLDE3ICsxOTAxLDE0IEBACiAKIHN0YXRpYyBpbnQgZ2ZzMl9kZWJ1Z2ZzX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0Jc3RydWN0IHNlcV9maWxlICpzZXE7Ci0JaW50IHJldDsKLQotCXJldCA9IHNlcV9vcGVuKGZpbGUsICZnZnMyX2dsb2NrX3NlcV9vcHMpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQlzZXEgPSBmaWxlLT5wcml2YXRlX2RhdGE7Ci0Jc2VxLT5wcml2YXRlID0gaW5vZGUtPmlfcHJpdmF0ZTsKLQotCXJldHVybiAwOworCWludCByZXQgPSBzZXFfb3Blbl9wcml2YXRlKGZpbGUsICZnZnMyX2dsb2NrX3NlcV9vcHMsCisJCQkJICAgc2l6ZW9mKHN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIpKTsKKwlpZiAocmV0ID09IDApIHsKKwkJc3RydWN0IHNlcV9maWxlICpzZXEgPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCXN0cnVjdCBnZnMyX2dsb2NrX2l0ZXIgKmdpID0gc2VxLT5wcml2YXRlOworCQlnaS0+c2RwID0gaW5vZGUtPmlfcHJpdmF0ZTsKKwl9CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZ2ZzMl9kZWJ1Z19mb3BzID0gewpAQCAtMjIyOSw3ICsxOTE2LDcgQEAKIAkub3BlbiAgICA9IGdmczJfZGVidWdmc19vcGVuLAogCS5yZWFkICAgID0gc2VxX3JlYWQsCiAJLmxsc2VlayAgPSBzZXFfbHNlZWssCi0JLnJlbGVhc2UgPSBzZXFfcmVsZWFzZQorCS5yZWxlYXNlID0gc2VxX3JlbGVhc2VfcHJpdmF0ZSwKIH07CiAKIGludCBnZnMyX2NyZWF0ZV9kZWJ1Z2ZzX2ZpbGUoc3RydWN0IGdmczJfc2JkICpzZHApCmRpZmYgLS1naXQgYS9mcy9nZnMyL2dsb2NrLmggYi9mcy9nZnMyL2dsb2NrLmgKaW5kZXggY2RhZDNlNi4uOTcxZDkyYSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9nbG9jay5oCisrKyBiL2ZzL2dmczIvZ2xvY2suaApAQCAtMjYsMTEgKzI2LDggQEAKICNkZWZpbmUgR0xfU0tJUAkJCTB4MDAwMDAxMDAKICNkZWZpbmUgR0xfQVRJTUUJCTB4MDAwMDAyMDAKICNkZWZpbmUgR0xfTk9DQUNIRQkJMHgwMDAwMDQwMAotI2RlZmluZSBHTF9GTE9DSwkJMHgwMDAwMDgwMAotI2RlZmluZSBHTF9OT0NBTkNFTAkJMHgwMDAwMTAwMAogCiAjZGVmaW5lIEdMUl9UUllGQUlMRUQJCTEzCi0jZGVmaW5lIEdMUl9DQU5DRUxFRAkJMTQKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdmczJfZ2xvY2tfaXNfbG9ja2VkX2J5X21lKHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKIHsKQEAgLTQxLDYgKzM4LDggQEAKIAlzcGluX2xvY2soJmdsLT5nbF9zcGluKTsKIAlwaWQgPSB0YXNrX3BpZChjdXJyZW50KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGdoLCAmZ2wtPmdsX2hvbGRlcnMsIGdoX2xpc3QpIHsKKwkJaWYgKCF0ZXN0X2JpdChISUZfSE9MREVSLCAmZ2gtPmdoX2lmbGFncykpCisJCQlicmVhazsKIAkJaWYgKGdoLT5naF9vd25lcl9waWQgPT0gcGlkKQogCQkJZ290byBvdXQ7CiAJfQpAQCAtNzAsNyArNjksNyBAQAogewogCWludCByZXQ7CiAJc3Bpbl9sb2NrKCZnbC0+Z2xfc3Bpbik7Ci0JcmV0ID0gdGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncykgfHwgIWxpc3RfZW1wdHkoJmdsLT5nbF93YWl0ZXJzMyk7CisJcmV0ID0gdGVzdF9iaXQoR0xGX0RFTU9URSwgJmdsLT5nbF9mbGFncyk7CiAJc3Bpbl91bmxvY2soJmdsLT5nbF9zcGluKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtOTgsNiArOTcsNyBAQAogaW50IGdmczJfZ2xvY2tfbnFfbSh1bnNpZ25lZCBpbnQgbnVtX2doLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdocyk7CiB2b2lkIGdmczJfZ2xvY2tfZHFfbSh1bnNpZ25lZCBpbnQgbnVtX2doLCBzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdocyk7CiB2b2lkIGdmczJfZ2xvY2tfZHFfdW5pbml0X20odW5zaWduZWQgaW50IG51bV9naCwgc3RydWN0IGdmczJfaG9sZGVyICpnaHMpOwordm9pZCBnZnMyX3ByaW50X2RiZyhzdHJ1Y3Qgc2VxX2ZpbGUgKnNlcSwgY29uc3QgY2hhciAqZm10LCAuLi4pOwogCiAvKioKICAqIGdmczJfZ2xvY2tfbnFfaW5pdCAtIGludGlhbGl6ZSBhIGhvbGRlciBhbmQgZW5xdWV1ZSBpdCBvbiBhIGdsb2NrCkBAIC0xMzAsMTAgKzEzMCw5IEBACiB2b2lkIGdmczJfbHZiX3VuaG9sZChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwogCiB2b2lkIGdmczJfZ2xvY2tfY2Iodm9pZCAqY2JfZGF0YSwgdW5zaWduZWQgaW50IHR5cGUsIHZvaWQgKmRhdGEpOwotCiB2b2lkIGdmczJfZ2xvY2tfc2NoZWR1bGVfZm9yX3JlY2xhaW0oc3RydWN0IGdmczJfZ2xvY2sgKmdsKTsKIHZvaWQgZ2ZzMl9yZWNsYWltX2dsb2NrKHN0cnVjdCBnZnMyX3NiZCAqc2RwKTsKLXZvaWQgZ2ZzMl9nbF9oYXNoX2NsZWFyKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCBpbnQgd2FpdCk7Cit2b2lkIGdmczJfZ2xfaGFzaF9jbGVhcihzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCk7CiAKIGludCBfX2luaXQgZ2ZzMl9nbG9ja19pbml0KHZvaWQpOwogdm9pZCBnZnMyX2dsb2NrX2V4aXQodm9pZCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL2dsb3BzLmMgYi9mcy9nZnMyL2dsb3BzLmMKaW5kZXggMDdkODRkMTYuLmM2YzMxOGMgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvZ2xvcHMuYworKysgYi9mcy9nZnMyL2dsb3BzLmMKQEAgLTEzLDYgKzEzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9idWZmZXJfaGVhZC5oPgogI2luY2x1ZGUgPGxpbnV4L2dmczJfb25kaXNrLmg+CiAjaW5jbHVkZSA8bGludXgvbG1faW50ZXJmYWNlLmg+CisjaW5jbHVkZSA8bGludXgvYmlvLmg+CiAKICNpbmNsdWRlICJnZnMyLmgiCiAjaW5jbHVkZSAiaW5jb3JlLmgiCkBAIC0xNzIsMjYgKzE3Myw2IEBACiB9CiAKIC8qKgotICogaW5vZGVfZ29feG1vdGVfYmggLSBBZnRlciBwcm9tb3RpbmcvZGVtb3RpbmcgYSBnbG9jawotICogQGdsOiB0aGUgZ2xvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgaW5vZGVfZ29feG1vdGVfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQotewotCXN0cnVjdCBnZnMyX2hvbGRlciAqZ2ggPSBnbC0+Z2xfcmVxX2doOwotCXN0cnVjdCBidWZmZXJfaGVhZCAqYmg7Ci0JaW50IGVycm9yOwotCi0JaWYgKGdsLT5nbF9zdGF0ZSAhPSBMTV9TVF9VTkxPQ0tFRCAmJgotCSAgICAoIWdoIHx8ICEoZ2gtPmdoX2ZsYWdzICYgR0xfU0tJUCkpKSB7Ci0JCWVycm9yID0gZ2ZzMl9tZXRhX3JlYWQoZ2wsIGdsLT5nbF9uYW1lLmxuX251bWJlciwgMCwgJmJoKTsKLQkJaWYgKCFlcnJvcikKLQkJCWJyZWxzZShiaCk7Ci0JfQotfQotCi0vKioKICAqIGlub2RlX2dvX2ludmFsIC0gcHJlcGFyZSBhIGlub2RlIGdsb2NrIHRvIGJlIHJlbGVhc2VkCiAgKiBAZ2w6IHRoZSBnbG9jawogICogQGZsYWdzOgpAQCAtMjY3LDYgKzI0OCwyNiBAQAogfQogCiAvKioKKyAqIGlub2RlX2dvX2R1bXAgLSBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhbiBpbm9kZQorICogQHNlcTogVGhlIGl0ZXJhdG9yCisgKiBAaXA6IHRoZSBpbm9kZQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgLUVOT0JVRlMgd2hlbiB3ZSBydW4gb3V0IG9mIHNwYWNlCisgKi8KKworc3RhdGljIGludCBpbm9kZV9nb19kdW1wKHN0cnVjdCBzZXFfZmlsZSAqc2VxLCBjb25zdCBzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpCit7CisJY29uc3Qgc3RydWN0IGdmczJfaW5vZGUgKmlwID0gZ2wtPmdsX29iamVjdDsKKwlpZiAoaXAgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisJZ2ZzMl9wcmludF9kYmcoc2VxLCAiIEk6IG46JWxsdS8lbGx1IHQ6JXUgZjoweCUwOGx4XG4iLAorCQkgICh1bnNpZ25lZCBsb25nIGxvbmcpaXAtPmlfbm9fZm9ybWFsX2lubywKKwkJICAodW5zaWduZWQgbG9uZyBsb25nKWlwLT5pX25vX2FkZHIsCisJCSAgSUYyRFQoaXAtPmlfaW5vZGUuaV9tb2RlKSwgaXAtPmlfZmxhZ3MpOworCXJldHVybiAwOworfQorCisvKioKICAqIHJncnBfZ29fZGVtb3RlX29rIC0gQ2hlY2sgdG8gc2VlIGlmIGl0J3Mgb2sgdG8gdW5sb2NrIGEgUkcncyBnbG9jawogICogQGdsOiB0aGUgZ2xvY2sKICAqCkBAIC0zMDYsNiArMzA3LDIyIEBACiB9CiAKIC8qKgorICogcmdycF9nb19kdW1wIC0gcHJpbnQgb3V0IGFuIHJncnAKKyAqIEBzZXE6IFRoZSBpdGVyYXRvcgorICogQGdsOiBUaGUgZ2xvY2sgaW4gcXVlc3Rpb24KKyAqCisgKi8KKworc3RhdGljIGludCByZ3JwX2dvX2R1bXAoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCkKK3sKKwljb25zdCBzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmdkID0gZ2wtPmdsX29iamVjdDsKKwlpZiAocmdkID09IE5VTEwpCisJCXJldHVybiAwOworCWdmczJfcHJpbnRfZGJnKHNlcSwgIiBSOiBuOiVsbHVcbiIsICh1bnNpZ25lZCBsb25nIGxvbmcpcmdkLT5yZF9hZGRyKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCiAgKiB0cmFuc19nb19zeW5jIC0gcHJvbW90ZS9kZW1vdGUgdGhlIHRyYW5zYWN0aW9uIGdsb2NrCiAgKiBAZ2w6IHRoZSBnbG9jawogICogQHN0YXRlOiB0aGUgcmVxdWVzdGVkIHN0YXRlCkBAIC0zMzAsNyArMzQ3LDcgQEAKICAqCiAgKi8KIAotc3RhdGljIHZvaWQgdHJhbnNfZ29feG1vdGVfYmgoc3RydWN0IGdmczJfZ2xvY2sgKmdsKQorc3RhdGljIGludCB0cmFuc19nb194bW90ZV9iaChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpCiB7CiAJc3RydWN0IGdmczJfc2JkICpzZHAgPSBnbC0+Z2xfc2JkOwogCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShzZHAtPnNkX2pkZXNjLT5qZF9pbm9kZSk7CkBAIC0zMzgsOCArMzU1LDcgQEAKIAlzdHJ1Y3QgZ2ZzMl9sb2dfaGVhZGVyX2hvc3QgaGVhZDsKIAlpbnQgZXJyb3I7CiAKLQlpZiAoZ2wtPmdsX3N0YXRlICE9IExNX1NUX1VOTE9DS0VEICYmCi0JICAgIHRlc3RfYml0KFNERl9KT1VSTkFMX0xJVkUsICZzZHAtPnNkX2ZsYWdzKSkgeworCWlmICh0ZXN0X2JpdChTREZfSk9VUk5BTF9MSVZFLCAmc2RwLT5zZF9mbGFncykpIHsKIAkJal9nbC0+Z2xfb3BzLT5nb19pbnZhbChqX2dsLCBESU9fTUVUQURBVEEpOwogCiAJCWVycm9yID0gZ2ZzMl9maW5kX2poZWFkKHNkcC0+c2RfamRlc2MsICZoZWFkKTsKQEAgLTM1NCw2ICszNzAsNyBAQAogCQkJZ2ZzMl9sb2dfcG9pbnRlcnNfaW5pdChzZHAsIGhlYWQubGhfYmxrbm8pOwogCQl9CiAJfQorCXJldHVybiAwOwogfQogCiAvKioKQEAgLTM3NSwxMiArMzkyLDEyIEBACiAKIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgZ2ZzMl9pbm9kZV9nbG9wcyA9IHsKIAkuZ29feG1vdGVfdGggPSBpbm9kZV9nb19zeW5jLAotCS5nb194bW90ZV9iaCA9IGlub2RlX2dvX3htb3RlX2JoLAogCS5nb19pbnZhbCA9IGlub2RlX2dvX2ludmFsLAogCS5nb19kZW1vdGVfb2sgPSBpbm9kZV9nb19kZW1vdGVfb2ssCiAJLmdvX2xvY2sgPSBpbm9kZV9nb19sb2NrLAorCS5nb19kdW1wID0gaW5vZGVfZ29fZHVtcCwKIAkuZ29fdHlwZSA9IExNX1RZUEVfSU5PREUsCi0JLmdvX21pbl9ob2xkX3RpbWUgPSBIWiAvIDEwLAorCS5nb19taW5faG9sZF90aW1lID0gSFogLyA1LAogfTsKIAogY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyBnZnMyX3JncnBfZ2xvcHMgPSB7CkBAIC0zODksOCArNDA2LDkgQEAKIAkuZ29fZGVtb3RlX29rID0gcmdycF9nb19kZW1vdGVfb2ssCiAJLmdvX2xvY2sgPSByZ3JwX2dvX2xvY2ssCiAJLmdvX3VubG9jayA9IHJncnBfZ29fdW5sb2NrLAorCS5nb19kdW1wID0gcmdycF9nb19kdW1wLAogCS5nb190eXBlID0gTE1fVFlQRV9SR1JQLAotCS5nb19taW5faG9sZF90aW1lID0gSFogLyAxMCwKKwkuZ29fbWluX2hvbGRfdGltZSA9IEhaIC8gNSwKIH07CiAKIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrX29wZXJhdGlvbnMgZ2ZzMl90cmFuc19nbG9wcyA9IHsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvaW5jb3JlLmggYi9mcy9nZnMyL2luY29yZS5oCmluZGV4IGVhYmU1ZWEuLjQ0ODY5N2EgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvaW5jb3JlLmgKKysrIGIvZnMvZ2ZzMi9pbmNvcmUuaApAQCAtNzcsNyArNzcsNiBAQAogc3RydWN0IGdmczJfcmdycGQgewogCXN0cnVjdCBsaXN0X2hlYWQgcmRfbGlzdDsJLyogTGluayB3aXRoIHN1cGVyYmxvY2sgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIHJkX2xpc3RfbXJ1OwotCXN0cnVjdCBsaXN0X2hlYWQgcmRfcmVjZW50OwkvKiBSZWNlbnRseSB1c2VkIHJncnBzICovCiAJc3RydWN0IGdmczJfZ2xvY2sgKnJkX2dsOwkvKiBHbG9jayBmb3IgdGhpcyByZ3JwICovCiAJdTY0IHJkX2FkZHI7CQkJLyogZ3JwIGJsb2NrIGRpc2sgYWRkcmVzcyAqLwogCXU2NCByZF9kYXRhMDsJCQkvKiBmaXJzdCBkYXRhIGxvY2F0aW9uICovCkBAIC0xMjgsMjAgKzEyNywyMCBAQAogCiBzdHJ1Y3QgZ2ZzMl9nbG9ja19vcGVyYXRpb25zIHsKIAl2b2lkICgqZ29feG1vdGVfdGgpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwotCXZvaWQgKCpnb194bW90ZV9iaCkgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CisJaW50ICgqZ29feG1vdGVfYmgpIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOwogCXZvaWQgKCpnb19pbnZhbCkgKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgaW50IGZsYWdzKTsKIAlpbnQgKCpnb19kZW1vdGVfb2spIChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wpOwogCWludCAoKmdvX2xvY2spIChzdHJ1Y3QgZ2ZzMl9ob2xkZXIgKmdoKTsKIAl2b2lkICgqZ29fdW5sb2NrKSAoc3RydWN0IGdmczJfaG9sZGVyICpnaCk7CisJaW50ICgqZ29fZHVtcCkoc3RydWN0IHNlcV9maWxlICpzZXEsIGNvbnN0IHN0cnVjdCBnZnMyX2dsb2NrICpnbCk7CiAJY29uc3QgaW50IGdvX3R5cGU7CiAJY29uc3QgdW5zaWduZWQgbG9uZyBnb19taW5faG9sZF90aW1lOwogfTsKIAogZW51bSB7CiAJLyogU3RhdGVzICovCi0JSElGX0hPTERFUgkJPSA2LAorCUhJRl9IT0xERVIJCT0gNiwgIC8qIFNldCBmb3IgZ2ggdGhhdCAiaG9sZHMiIHRoZSBnbG9jayAqLwogCUhJRl9GSVJTVAkJPSA3LAotCUhJRl9BQk9SVEVECQk9IDksCiAJSElGX1dBSVQJCT0gMTAsCiB9OwogCkBAIC0xNTQsMjAgKzE1MywyMCBAQAogCXVuc2lnbmVkIGdoX2ZsYWdzOwogCiAJaW50IGdoX2Vycm9yOwotCXVuc2lnbmVkIGxvbmcgZ2hfaWZsYWdzOworCXVuc2lnbmVkIGxvbmcgZ2hfaWZsYWdzOyAvKiBISUZfLi4uICovCiAJdW5zaWduZWQgbG9uZyBnaF9pcDsKIH07CiAKIGVudW0gewotCUdMRl9MT0NLCQk9IDEsCi0JR0xGX1NUSUNLWQkJPSAyLAotCUdMRl9ERU1PVEUJCT0gMywKLQlHTEZfUEVORElOR19ERU1PVEUJPSA0LAotCUdMRl9ESVJUWQkJPSA1LAotCUdMRl9ERU1PVEVfSU5fUFJPR1JFU1MJPSA2LAotCUdMRl9MRkxVU0gJCT0gNywKLQlHTEZfV0FJVEVSUzIJCT0gOCwKLQlHTEZfQ09OVl9ERUFETEsJCT0gOSwKKwlHTEZfTE9DSwkJCT0gMSwKKwlHTEZfU1RJQ0tZCQkJPSAyLAorCUdMRl9ERU1PVEUJCQk9IDMsCisJR0xGX1BFTkRJTkdfREVNT1RFCQk9IDQsCisJR0xGX0RFTU9URV9JTl9QUk9HUkVTUwkJPSA1LAorCUdMRl9ESVJUWQkJCT0gNiwKKwlHTEZfTEZMVVNICQkJPSA3LAorCUdMRl9JTlZBTElEQVRFX0lOX1BST0dSRVNTCT0gOCwKKwlHTEZfUkVQTFlfUEVORElORwkJPSA5LAogfTsKIAogc3RydWN0IGdmczJfZ2xvY2sgewpAQCAtMTc5LDE5ICsxNzgsMTQgQEAKIAlzcGlubG9ja190IGdsX3NwaW47CiAKIAl1bnNpZ25lZCBpbnQgZ2xfc3RhdGU7CisJdW5zaWduZWQgaW50IGdsX3RhcmdldDsKKwl1bnNpZ25lZCBpbnQgZ2xfcmVwbHk7CiAJdW5zaWduZWQgaW50IGdsX2hhc2g7CiAJdW5zaWduZWQgaW50IGdsX2RlbW90ZV9zdGF0ZTsgLyogc3RhdGUgcmVxdWVzdGVkIGJ5IHJlbW90ZSBub2RlICovCiAJdW5zaWduZWQgbG9uZyBnbF9kZW1vdGVfdGltZTsgLyogdGltZSBvZiBmaXJzdCBkZW1vdGUgcmVxdWVzdCAqLwotCXN0cnVjdCBwaWQgKmdsX293bmVyX3BpZDsKLQl1bnNpZ25lZCBsb25nIGdsX2lwOwogCXN0cnVjdCBsaXN0X2hlYWQgZ2xfaG9sZGVyczsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGdsX3dhaXRlcnMxOwkvKiBISUZfTVVURVggKi8KLQlzdHJ1Y3QgbGlzdF9oZWFkIGdsX3dhaXRlcnMzOwkvKiBISUZfUFJPTU9URSAqLwogCiAJY29uc3Qgc3RydWN0IGdmczJfZ2xvY2tfb3BlcmF0aW9ucyAqZ2xfb3BzOwotCi0Jc3RydWN0IGdmczJfaG9sZGVyICpnbF9yZXFfZ2g7Ci0KIAl2b2lkICpnbF9sb2NrOwogCWNoYXIgKmdsX2x2YjsKIAlhdG9taWNfdCBnbF9sdmJfY291bnQ7CkBAIC00MjcsNyArNDIxLDYgQEAKIAl1bnNpZ25lZCBpbnQgZ3RfcXVvdGFfcXVhbnR1bTsgLyogU2VjcyBiZXR3ZWVuIHN5bmNzIHRvIHF1b3RhIGZpbGUgKi8KIAl1bnNpZ25lZCBpbnQgZ3RfYXRpbWVfcXVhbnR1bTsgLyogTWluIHNlY3MgYmV0d2VlbiBhdGltZSB1cGRhdGVzICovCiAJdW5zaWduZWQgaW50IGd0X25ld19maWxlc19qZGF0YTsKLQl1bnNpZ25lZCBpbnQgZ3RfbmV3X2ZpbGVzX2RpcmVjdGlvOwogCXVuc2lnbmVkIGludCBndF9tYXhfcmVhZGFoZWFkOyAvKiBNYXggYnl0ZXMgdG8gcmVhZC1haGVhZCBmcm9tIGRpc2sgKi8KIAl1bnNpZ25lZCBpbnQgZ3Rfc3RhbGxfc2VjczsgLyogRGV0ZWN0cyB0cm91YmxlISAqLwogCXVuc2lnbmVkIGludCBndF9jb21wbGFpbl9zZWNzOwpAQCAtNTM0LDcgKzUyNyw2IEBACiAJc3RydWN0IG11dGV4IHNkX3JpbmRleF9tdXRleDsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHNkX3JpbmRleF9saXN0OwogCXN0cnVjdCBsaXN0X2hlYWQgc2RfcmluZGV4X21ydV9saXN0OwotCXN0cnVjdCBsaXN0X2hlYWQgc2RfcmluZGV4X3JlY2VudF9saXN0OwogCXN0cnVjdCBnZnMyX3JncnBkICpzZF9yaW5kZXhfZm9yd2FyZDsKIAl1bnNpZ25lZCBpbnQgc2RfcmdycHM7CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvaW5vZGUuYyBiL2ZzL2dmczIvaW5vZGUuYwppbmRleCAwOTQ1M2QwLi42ZGEwYWIzIDEwMDY0NAotLS0gYS9mcy9nZnMyL2lub2RlLmMKKysrIGIvZnMvZ2ZzMi9pbm9kZS5jCkBAIC01MDQsNyArNTA0LDcgQEAKIAl9CiAKIAlpZiAoIWlzX3Jvb3QpIHsKLQkJZXJyb3IgPSBwZXJtaXNzaW9uKGRpciwgTUFZX0VYRUMsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihkaXIsIE1BWV9FWEVDKTsKIAkJaWYgKGVycm9yKQogCQkJZ290byBvdXQ7CiAJfQpAQCAtNjY3LDcgKzY2Nyw3IEBACiB7CiAJaW50IGVycm9yOwogCi0JZXJyb3IgPSBwZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDLCBOVUxMKTsKKwllcnJvciA9IGdmczJfcGVybWlzc2lvbigmZGlwLT5pX2lub2RlLCBNQVlfV1JJVEUgfCBNQVlfRVhFQyk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKQEAgLTc4OSwxMyArNzg5LDggQEAKIAkJaWYgKChkaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKSB8fAogCQkgICAgZ2ZzMl90dW5lX2dldChzZHAsIGd0X25ld19maWxlc19qZGF0YSkpCiAJCQlkaS0+ZGlfZmxhZ3MgfD0gY3B1X3RvX2JlMzIoR0ZTMl9ESUZfSkRBVEEpOwotCQlpZiAoKGRpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8pIHx8Ci0JCSAgICBnZnMyX3R1bmVfZ2V0KHNkcCwgZ3RfbmV3X2ZpbGVzX2RpcmVjdGlvKSkKLQkJCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihHRlMyX0RJRl9ESVJFQ1RJTyk7CiAJfSBlbHNlIGlmIChTX0lTRElSKG1vZGUpKSB7CiAJCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihkaXAtPmlfZGkuZGlfZmxhZ3MgJgotCQkJCQkgICAgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTyk7Ci0JCWRpLT5kaV9mbGFncyB8PSBjcHVfdG9fYmUzMihkaXAtPmlfZGkuZGlfZmxhZ3MgJgogCQkJCQkgICAgR0ZTMl9ESUZfSU5IRVJJVF9KREFUQSk7CiAJfQogCkBAIC0xMTM0LDcgKzExMjksNyBAQAogCWlmIChJU19BUFBFTkQoJmRpcC0+aV9pbm9kZSkpCiAJCXJldHVybiAtRVBFUk07CiAKLQllcnJvciA9IHBlcm1pc3Npb24oJmRpcC0+aV9pbm9kZSwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKCZkaXAtPmlfaW5vZGUsIE1BWV9XUklURSB8IE1BWV9FWEVDKTsKIAlpZiAoZXJyb3IpCiAJCXJldHVybiBlcnJvcjsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9pbm9kZS5oIGIvZnMvZ2ZzMi9pbm9kZS5oCmluZGV4IDU4MGRhNDUuLjYwNzRjMjUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvaW5vZGUuaAorKysgYi9mcy9nZnMyL2lub2RlLmgKQEAgLTcyLDcgKzcyLDYgQEAKIH0KIAogCi12b2lkIGdmczJfaW5vZGVfYXR0cl9pbihzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXApOwogdm9pZCBnZnMyX3NldF9pb3Aoc3RydWN0IGlub2RlICppbm9kZSk7CiBzdHJ1Y3QgaW5vZGUgKmdmczJfaW5vZGVfbG9va3VwKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHVuc2lnbmVkIHR5cGUsIAogCQkJCXU2NCBub19hZGRyLCB1NjQgbm9fZm9ybWFsX2lubywKQEAgLTkxLDYgKzkwLDcgQEAKIAkJc3RydWN0IGdmczJfaW5vZGUgKmlwKTsKIGludCBnZnMyX3VubGlua19vayhzdHJ1Y3QgZ2ZzMl9pbm9kZSAqZGlwLCBjb25zdCBzdHJ1Y3QgcXN0ciAqbmFtZSwKIAkJICAgY29uc3Qgc3RydWN0IGdmczJfaW5vZGUgKmlwKTsKK2ludCBnZnMyX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2spOwogaW50IGdmczJfb2tfdG9fbW92ZShzdHJ1Y3QgZ2ZzMl9pbm9kZSAqdGhpcywgc3RydWN0IGdmczJfaW5vZGUgKnRvKTsKIGludCBnZnMyX3JlYWRsaW5raShzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAsIGNoYXIgKipidWYsIHVuc2lnbmVkIGludCAqbGVuKTsKIGludCBnZnMyX2dsb2NrX25xX2F0aW1lKHN0cnVjdCBnZnMyX2hvbGRlciAqZ2gpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nLmMgYi9mcy9nZnMyL2xvY2tpbmcuYwppbmRleCA2NjNmZWU3Li41MjMyNDNhIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcuYworKysgYi9mcy9nZnMyL2xvY2tpbmcuYwpAQCAtMjMsMTIgKzIzLDU0IEBACiAJY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgKmx3X29wczsKIH07CiAKK3N0YXRpYyBpbnQgbm9sb2NrX21vdW50KGNoYXIgKnRhYmxlX25hbWUsIGNoYXIgKmhvc3RfZGF0YSwKKwkJCWxtX2NhbGxiYWNrX3QgY2IsIHZvaWQgKmNiX2RhdGEsCisJCQl1bnNpZ25lZCBpbnQgbWluX2x2Yl9zaXplLCBpbnQgZmxhZ3MsCisJCQlzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCwKKwkJCXN0cnVjdCBrb2JqZWN0ICpmc2tvYmopOworCiAvKiBMaXN0IG9mIHJlZ2lzdGVyZWQgbG93LWxldmVsIGxvY2tpbmcgcHJvdG9jb2xzLiAgQSBmaWxlIHN5c3RlbSBzZWxlY3RzIG9uZQogICAgb2YgdGhlbSBieSBuYW1lIGF0IG1vdW50IHRpbWUsIGUuZy4gbG9ja19ub2xvY2ssIGxvY2tfZGxtLiAqLwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGxtX2xvY2tvcHMgbm9sb2NrX29wcyA9IHsKKwkubG1fcHJvdG9fbmFtZSA9ICJsb2NrX25vbG9jayIsCisJLmxtX21vdW50ID0gbm9sb2NrX21vdW50LAorfTsKKworc3RhdGljIHN0cnVjdCBsbWhfd3JhcHBlciBub2xvY2tfcHJvdG8gID0geworCS5sd19saXN0ID0gTElTVF9IRUFEX0lOSVQobm9sb2NrX3Byb3RvLmx3X2xpc3QpLAorCS5sd19vcHMgPSAmbm9sb2NrX29wcywKK307CisKIHN0YXRpYyBMSVNUX0hFQUQobG1oX2xpc3QpOwogc3RhdGljIERFRklORV9NVVRFWChsbWhfbG9jayk7CiAKK3N0YXRpYyBpbnQgbm9sb2NrX21vdW50KGNoYXIgKnRhYmxlX25hbWUsIGNoYXIgKmhvc3RfZGF0YSwKKwkJCWxtX2NhbGxiYWNrX3QgY2IsIHZvaWQgKmNiX2RhdGEsCisJCQl1bnNpZ25lZCBpbnQgbWluX2x2Yl9zaXplLCBpbnQgZmxhZ3MsCisJCQlzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCwKKwkJCXN0cnVjdCBrb2JqZWN0ICpmc2tvYmopCit7CisJY2hhciAqYzsKKwl1bnNpZ25lZCBpbnQgamlkOworCisJYyA9IHN0cnN0cihob3N0X2RhdGEsICJqaWQ9Iik7CisJaWYgKCFjKQorCQlqaWQgPSAwOworCWVsc2UgeworCQljICs9IDQ7CisJCXNzY2FuZihjLCAiJXUiLCAmamlkKTsKKwl9CisKKwlsb2Nrc3RydWN0LT5sc19qaWQgPSBqaWQ7CisJbG9ja3N0cnVjdC0+bHNfZmlyc3QgPSAxOworCWxvY2tzdHJ1Y3QtPmxzX2x2Yl9zaXplID0gbWluX2x2Yl9zaXplOworCWxvY2tzdHJ1Y3QtPmxzX29wcyA9ICZub2xvY2tfb3BzOworCWxvY2tzdHJ1Y3QtPmxzX2ZsYWdzID0gTE1fTFNGTEFHX0xPQ0FMOworCisJcmV0dXJuIDA7Cit9CisKIC8qKgogICogZ2ZzMl9yZWdpc3Rlcl9sb2NrcHJvdG8gLSBSZWdpc3RlciBhIGxvdy1sZXZlbCBsb2NraW5nIHByb3RvY29sCiAgKiBAcHJvdG86IHRoZSBwcm90b2NvbCBkZWZpbml0aW9uCkBAIC0xMTYsOSArMTU4LDEzIEBACiAJaW50IHRyeSA9IDA7CiAJaW50IGVycm9yLCBmb3VuZDsKIAorCiByZXRyeToKIAltdXRleF9sb2NrKCZsbWhfbG9jayk7CiAKKwlpZiAobGlzdF9lbXB0eSgmbm9sb2NrX3Byb3RvLmx3X2xpc3QpKQorCQlsaXN0X2FkZCgmbm9sb2NrX3Byb3RvLmx3X2xpc3QsICZsbWhfbGlzdCk7CisKIAlmb3VuZCA9IDA7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShsdywgJmxtaF9saXN0LCBsd19saXN0KSB7CiAJCWlmICghc3RyY21wKGx3LT5sd19vcHMtPmxtX3Byb3RvX25hbWUsIHByb3RvX25hbWUpKSB7CkBAIC0xMzksNyArMTg1LDggQEAKIAkJZ290byBvdXQ7CiAJfQogCi0JaWYgKCF0cnlfbW9kdWxlX2dldChsdy0+bHdfb3BzLT5sbV9vd25lcikpIHsKKwlpZiAobHctPmx3X29wcy0+bG1fb3duZXIgJiYKKwkgICAgIXRyeV9tb2R1bGVfZ2V0KGx3LT5sd19vcHMtPmxtX293bmVyKSkgewogCQl0cnkgPSAwOwogCQltdXRleF91bmxvY2soJmxtaF9sb2NrKTsKIAkJbXNsZWVwKDEwMDApOwpAQCAtMTU4LDcgKzIwNSw4IEBACiB2b2lkIGdmczJfdW5tb3VudF9sb2NrcHJvdG8oc3RydWN0IGxtX2xvY2tzdHJ1Y3QgKmxvY2tzdHJ1Y3QpCiB7CiAJbXV0ZXhfbG9jaygmbG1oX2xvY2spOwotCWxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fdW5tb3VudChsb2Nrc3RydWN0LT5sc19sb2Nrc3BhY2UpOworCWlmIChsb2Nrc3RydWN0LT5sc19vcHMtPmxtX3VubW91bnQpCisJCWxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fdW5tb3VudChsb2Nrc3RydWN0LT5sc19sb2Nrc3BhY2UpOwogCWlmIChsb2Nrc3RydWN0LT5sc19vcHMtPmxtX293bmVyKQogCQltb2R1bGVfcHV0KGxvY2tzdHJ1Y3QtPmxzX29wcy0+bG1fb3duZXIpOwogCW11dGV4X3VubG9jaygmbG1oX2xvY2spOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrLmMgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYwppbmRleCBjZjdlYThhLi4yNDgyYzkwIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2suYwpAQCAtMTEsMjcgKzExLDI4NyBAQAogCiBzdGF0aWMgY2hhciBqdW5rX2x2YltHRExNX0xWQl9TSVpFXTsKIAotc3RhdGljIHZvaWQgcXVldWVfY29tcGxldGUoc3RydWN0IGdkbG1fbG9jayAqbHApCisKKy8qIGNvbnZlcnQgZGxtIGxvY2stbW9kZSB0byBnZnMgbG9jay1zdGF0ZSAqLworCitzdGF0aWMgczE2IGdkbG1fbWFrZV9sbXN0YXRlKHMxNiBkbG1tb2RlKQoreworCXN3aXRjaCAoZGxtbW9kZSkgeworCWNhc2UgRExNX0xPQ0tfSVY6CisJY2FzZSBETE1fTE9DS19OTDoKKwkJcmV0dXJuIExNX1NUX1VOTE9DS0VEOworCWNhc2UgRExNX0xPQ0tfRVg6CisJCXJldHVybiBMTV9TVF9FWENMVVNJVkU7CisJY2FzZSBETE1fTE9DS19DVzoKKwkJcmV0dXJuIExNX1NUX0RFRkVSUkVEOworCWNhc2UgRExNX0xPQ0tfUFI6CisJCXJldHVybiBMTV9TVF9TSEFSRUQ7CisJfQorCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIERMTSBtb2RlICVkIiwgZGxtbW9kZSk7CisJcmV0dXJuIC0xOworfQorCisvKiBBIGxvY2sgcGxhY2VkIG9uIHRoaXMgcXVldWUgaXMgcmUtc3VibWl0dGVkIHRvIERMTSBhcyBzb29uIGFzIHRoZSBsb2NrX2RsbQorICAgdGhyZWFkIGdldHMgdG8gaXQuICovCisKK3N0YXRpYyB2b2lkIHF1ZXVlX3N1Ym1pdChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKIHsKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CiAKLQljbGVhcl9iaXQoTEZMX0FDVElWRSwgJmxwLT5mbGFncyk7Ci0KIAlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2FkZF90YWlsKCZscC0+Y2xpc3QsICZscy0+Y29tcGxldGUpOworCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPnN1Ym1pdCk7CiAJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAl3YWtlX3VwKCZscy0+dGhyZWFkX3dhaXQpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZ2RsbV9hc3Qodm9pZCAqYXN0YXJnKQorc3RhdGljIHZvaWQgd2FrZV91cF9hc3Qoc3RydWN0IGdkbG1fbG9jayAqbHApCiB7Ci0JcXVldWVfY29tcGxldGUoYXN0YXJnKTsKKwljbGVhcl9iaXQoTEZMX0FTVF9XQUlULCAmbHAtPmZsYWdzKTsKKwlzbXBfbWJfX2FmdGVyX2NsZWFyX2JpdCgpOworCXdha2VfdXBfYml0KCZscC0+ZmxhZ3MsIExGTF9BU1RfV0FJVCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnZGxtX2Jhc3Qodm9pZCAqYXN0YXJnLCBpbnQgbW9kZSkKK3N0YXRpYyB2b2lkIGdkbG1fZGVsZXRlX2xwKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQoreworCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKworCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOworCWlmICghbGlzdF9lbXB0eSgmbHAtPmRlbGF5X2xpc3QpKQorCQlsaXN0X2RlbF9pbml0KCZscC0+ZGVsYXlfbGlzdCk7CisJbHMtPmFsbF9sb2Nrc19jb3VudC0tOworCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CisKKwlrZnJlZShscCk7Cit9CisKK3N0YXRpYyB2b2lkIGdkbG1fcXVldWVfZGVsYXllZChzdHJ1Y3QgZ2RsbV9sb2NrICpscCkKK3sKKwlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CisKKwlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKKwlsaXN0X2FkZF90YWlsKCZscC0+ZGVsYXlfbGlzdCwgJmxzLT5kZWxheWVkKTsKKwlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX2NvbXBsZXRlKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQoreworCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKKwlzdHJ1Y3QgbG1fYXN5bmNfY2IgYWNiOworCisJbWVtc2V0KCZhY2IsIDAsIHNpemVvZihhY2IpKTsKKworCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLURMTV9FQ0FOQ0VMKSB7CisJCWxvZ19pbmZvKCJjb21wbGV0ZSBkbG0gY2FuY2VsICV4LCVsbHggZmxhZ3MgJWx4IiwKKwkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAorCQkJIGxwLT5mbGFncyk7CisKKwkJbHAtPnJlcSA9IGxwLT5jdXI7CisJCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOworCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKKwkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOworCQlnb3RvIG91dDsKKwl9CisKKwlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9ETE1fVU5MT0NLLCAmbHAtPmZsYWdzKSkgeworCQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzICE9IC1ETE1fRVVOTE9DSykgeworCQkJbG9nX2luZm8oInVubG9jayBzYl9zdGF0dXMgJWQgJXgsJWxseCBmbGFncyAlbHgiLAorCQkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAorCQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkJIGxwLT5mbGFncyk7CisJCQlyZXR1cm47CisJCX0KKworCQlscC0+Y3VyID0gRExNX0xPQ0tfSVY7CisJCWxwLT5yZXEgPSBETE1fTE9DS19JVjsKKwkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7CisKKwkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfVU5MT0NLX0RFTEVURSwgJmxwLT5mbGFncykpIHsKKwkJCWdkbG1fZGVsZXRlX2xwKGxwKTsKKwkJCXJldHVybjsKKwkJfQorCQlnb3RvIG91dDsKKwl9CisKKwlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX1ZBTE5PVFZBTElEKQorCQltZW1zZXQobHAtPmxrc2Iuc2JfbHZicHRyLCAwLCBHRExNX0xWQl9TSVpFKTsKKworCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfQUxUTU9ERSkgeworCQlpZiAobHAtPnJlcSA9PSBETE1fTE9DS19QUikKKwkJCWxwLT5yZXEgPSBETE1fTE9DS19DVzsKKwkJZWxzZSBpZiAobHAtPnJlcSA9PSBETE1fTE9DS19DVykKKwkJCWxwLT5yZXEgPSBETE1fTE9DS19QUjsKKwl9CisKKwkvKgorCSAqIEEgY2FuY2VsZWQgbG9jayByZXF1ZXN0LiAgVGhlIGxvY2sgd2FzIGp1c3QgdGFrZW4gb2ZmIHRoZSBkZWxheWVkCisJICogbGlzdCBhbmQgd2FzIG5ldmVyIGV2ZW4gc3VibWl0dGVkIHRvIGRsbS4KKwkgKi8KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0NBTkNFTCwgJmxwLT5mbGFncykpIHsKKwkJbG9nX2luZm8oImNvbXBsZXRlIGludGVybmFsIGNhbmNlbCAleCwlbGx4IiwKKwkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKKwkJbHAtPnJlcSA9IGxwLT5jdXI7CisJCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOworCQlnb3RvIG91dDsKKwl9CisKKwkvKgorCSAqIEFuIGVycm9yIG9jY3VyZWQuCisJICovCisKKwlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzKSB7CisJCS8qIGEgIm5vcm1hbCIgZXJyb3IgKi8KKwkJaWYgKChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLUVBR0FJTikgJiYKKwkJICAgIChscC0+bGtmICYgRExNX0xLRl9OT1FVRVVFKSkgeworCQkJbHAtPnJlcSA9IGxwLT5jdXI7CisJCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKKwkJCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJLyogdGhpcyBjb3VsZCBvbmx5IGhhcHBlbiB3aXRoIGNhbmNlbHMgSSB0aGluayAqLworCQlsb2dfaW5mbygiYXN0IHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCisJCQkgbHAtPmxrc2Iuc2Jfc3RhdHVzLCBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCisJCQkgbHAtPmZsYWdzKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogVGhpcyBpcyBhbiBBU1QgZm9yIGFuIEVYLT5FWCBjb252ZXJzaW9uIGZvciBzeW5jX2x2YiBmcm9tIEdGUy4KKwkgKi8KKworCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1NZTkNfTFZCLCAmbHAtPmZsYWdzKSkgeworCQl3YWtlX3VwX2FzdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIEEgbG9jayBoYXMgYmVlbiBkZW1vdGVkIHRvIE5MIGJlY2F1c2UgaXQgaW5pdGlhbGx5IGNvbXBsZXRlZCBkdXJpbmcKKwkgKiBCTE9DS19MT0NLUy4gIE5vdyBpdCBtdXN0IGJlIHJlcXVlc3RlZCBpbiB0aGUgb3JpZ2luYWxseSByZXF1ZXN0ZWQKKwkgKiBtb2RlLgorCSAqLworCisJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfUkVSRVFVRVNULCAmbHAtPmZsYWdzKSkgeworCQlnZGxtX2Fzc2VydChscC0+cmVxID09IERMTV9MT0NLX05MLCAiJXgsJWxseCIsCisJCQkgICAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCisJCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKKwkJZ2RsbV9hc3NlcnQobHAtPnByZXZfcmVxID4gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKKwkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOworCisJCWxwLT5jdXIgPSBETE1fTE9DS19OTDsKKwkJbHAtPnJlcSA9IGxwLT5wcmV2X3JlcTsKKwkJbHAtPnByZXZfcmVxID0gRExNX0xPQ0tfSVY7CisJCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKKworCQlzZXRfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKTsKKworCQlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgorCQkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSkKKwkJCWdkbG1fcXVldWVfZGVsYXllZChscCk7CisJCWVsc2UKKwkJCXF1ZXVlX3N1Ym1pdChscCk7CisJCXJldHVybjsKKwl9CisKKwkvKgorCSAqIEEgcmVxdWVzdCBpcyBncmFudGVkIGR1cmluZyBkbG0gcmVjb3ZlcnkuICBJdCBtYXkgYmUgZ3JhbnRlZAorCSAqIGJlY2F1c2UgdGhlIGxvY2tzIG9mIGEgZmFpbGVkIG5vZGUgd2VyZSBjbGVhcmVkLiAgSW4gdGhhdCBjYXNlLAorCSAqIHRoZXJlIG1heSBiZSBpbmNvbnNpc3RlbnQgZGF0YSBiZW5lYXRoIHRoaXMgbG9jayBhbmQgd2UgbXVzdCB3YWl0CisJICogZm9yIHJlY292ZXJ5IHRvIGNvbXBsZXRlIHRvIHVzZSBpdC4gIFdoZW4gZ2ZzIHJlY292ZXJ5IGlzIGRvbmUgdGhpcworCSAqIGdyYW50ZWQgbG9jayB3aWxsIGJlIGNvbnZlcnRlZCB0byBOTCBhbmQgdGhlbiByZWFjcXVpcmVkIGluIHRoaXMKKwkgKiBncmFudGVkIHN0YXRlLgorCSAqLworCisJaWYgKHRlc3RfYml0KERGTF9CTE9DS19MT0NLUywgJmxzLT5mbGFncykgJiYKKwkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSAmJgorCSAgICBscC0+cmVxICE9IERMTV9MT0NLX05MKSB7CisKKwkJbHAtPmN1ciA9IGxwLT5yZXE7CisJCWxwLT5wcmV2X3JlcSA9IGxwLT5yZXE7CisJCWxwLT5yZXEgPSBETE1fTE9DS19OTDsKKwkJbHAtPmxrZiB8PSBETE1fTEtGX0NPTlZFUlQ7CisJCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKKworCQlsb2dfZGVidWcoInJlcmVxICV4LCVsbHggaWQgJXggJWQsJWQiLAorCQkJICBscC0+bG9ja25hbWUubG5fdHlwZSwKKwkJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAorCQkJICBscC0+bGtzYi5zYl9sa2lkLCBscC0+Y3VyLCBscC0+cmVxKTsKKworCQlzZXRfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpOworCQlxdWV1ZV9zdWJtaXQobHApOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBETE0gZGVtb3RlZCB0aGUgbG9jayB0byBOTCBiZWZvcmUgaXQgd2FzIGdyYW50ZWQgc28gR0ZTIG11c3QgYmUKKwkgKiB0b2xkIGl0IGNhbm5vdCBjYWNoZSBkYXRhIGZvciB0aGlzIGxvY2suCisJICovCisKKwlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX0RFTU9URUQpCisJCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOworCitvdXQ6CisJLyoKKwkgKiBUaGlzIGlzIGFuIGludGVybmFsIGxvY2tfZGxtIGxvY2sKKwkgKi8KKworCWlmICh0ZXN0X2JpdChMRkxfSU5MT0NLLCAmbHAtPmZsYWdzKSkgeworCQljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOworCQlscC0+Y3VyID0gbHAtPnJlcTsKKwkJd2FrZV91cF9hc3QobHApOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBOb3JtYWwgY29tcGxldGlvbiBvZiBhIGxvY2sgcmVxdWVzdC4gIFRlbGwgR0ZTIGl0IG5vdyBoYXMgdGhlIGxvY2suCisJICovCisKKwljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOworCWxwLT5jdXIgPSBscC0+cmVxOworCisJYWNiLmxjX25hbWUgPSBscC0+bG9ja25hbWU7CisJYWNiLmxjX3JldCB8PSBnZGxtX21ha2VfbG1zdGF0ZShscC0+Y3VyKTsKKworCWxzLT5mc2NiKGxzLT5zZHAsIExNX0NCX0FTWU5DLCAmYWNiKTsKK30KKworc3RhdGljIHZvaWQgZ2RsbV9hc3Qodm9pZCAqYXN0YXJnKQogewogCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gYXN0YXJnOworCWNsZWFyX2JpdChMRkxfQUNUSVZFLCAmbHAtPmZsYWdzKTsKKwlwcm9jZXNzX2NvbXBsZXRlKGxwKTsKK30KKworc3RhdGljIHZvaWQgcHJvY2Vzc19ibG9ja2luZyhzdHJ1Y3QgZ2RsbV9sb2NrICpscCwgaW50IGJhc3RfbW9kZSkKK3sKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSBscC0+bHM7CisJdW5zaWduZWQgaW50IGNiID0gMDsKKworCXN3aXRjaCAoZ2RsbV9tYWtlX2xtc3RhdGUoYmFzdF9tb2RlKSkgeworCWNhc2UgTE1fU1RfRVhDTFVTSVZFOgorCQljYiA9IExNX0NCX05FRURfRTsKKwkJYnJlYWs7CisJY2FzZSBMTV9TVF9ERUZFUlJFRDoKKwkJY2IgPSBMTV9DQl9ORUVEX0Q7CisJCWJyZWFrOworCWNhc2UgTE1fU1RfU0hBUkVEOgorCQljYiA9IExNX0NCX05FRURfUzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZ2RsbV9hc3NlcnQoMCwgInVua25vd24gYmFzdCBtb2RlICV1IiwgYmFzdF9tb2RlKTsKKwl9CisKKwlscy0+ZnNjYihscy0+c2RwLCBjYiwgJmxwLT5sb2NrbmFtZSk7Cit9CisKKworc3RhdGljIHZvaWQgZ2RsbV9iYXN0KHZvaWQgKmFzdGFyZywgaW50IG1vZGUpCit7CisJc3RydWN0IGdkbG1fbG9jayAqbHAgPSBhc3Rhcmc7CiAKIAlpZiAoIW1vZGUpIHsKIAkJcHJpbnRrKEtFUk5fSU5GTyAibG9ja19kbG06IGJhc3QgbW9kZSB6ZXJvICV4LCVsbHhcbiIsCkBAIC00MCwyMyArMzAwLDcgQEAKIAkJcmV0dXJuOwogCX0KIAotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWlmICghbHAtPmJhc3RfbW9kZSkgewotCQlsaXN0X2FkZF90YWlsKCZscC0+Ymxpc3QsICZscy0+YmxvY2tpbmcpOwotCQlscC0+YmFzdF9tb2RlID0gbW9kZTsKLQl9IGVsc2UgaWYgKGxwLT5iYXN0X21vZGUgPCBtb2RlKQotCQlscC0+YmFzdF9tb2RlID0gbW9kZTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7Ci19Ci0KLXZvaWQgZ2RsbV9xdWV1ZV9kZWxheWVkKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkX3RhaWwoJmxwLT5kZWxheV9saXN0LCAmbHMtPmRlbGF5ZWQpOwotCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJcHJvY2Vzc19ibG9ja2luZyhscCwgbW9kZSk7CiB9CiAKIC8qIGNvbnZlcnQgZ2ZzIGxvY2stc3RhdGUgdG8gZGxtIGxvY2stbW9kZSAqLwpAQCAtNzcsMjQgKzMyMSw2IEBACiAJcmV0dXJuIC0xOwogfQogCi0vKiBjb252ZXJ0IGRsbSBsb2NrLW1vZGUgdG8gZ2ZzIGxvY2stc3RhdGUgKi8KLQotczE2IGdkbG1fbWFrZV9sbXN0YXRlKHMxNiBkbG1tb2RlKQotewotCXN3aXRjaCAoZGxtbW9kZSkgewotCWNhc2UgRExNX0xPQ0tfSVY6Ci0JY2FzZSBETE1fTE9DS19OTDoKLQkJcmV0dXJuIExNX1NUX1VOTE9DS0VEOwotCWNhc2UgRExNX0xPQ0tfRVg6Ci0JCXJldHVybiBMTV9TVF9FWENMVVNJVkU7Ci0JY2FzZSBETE1fTE9DS19DVzoKLQkJcmV0dXJuIExNX1NUX0RFRkVSUkVEOwotCWNhc2UgRExNX0xPQ0tfUFI6Ci0JCXJldHVybiBMTV9TVF9TSEFSRUQ7Ci0JfQotCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIERMTSBtb2RlICVkIiwgZGxtbW9kZSk7Ci0JcmV0dXJuIC0xOwotfQogCiAvKiB2ZXJpZnkgYWdyZWVtZW50IHdpdGggR0ZTIG9uIHRoZSBjdXJyZW50IGxvY2sgc3RhdGUsIE5COiBETE1fTE9DS19OTCBhbmQKICAgIERMTV9MT0NLX0lWIGFyZSBib3RoIGNvbnNpZGVyZWQgTE1fU1RfVU5MT0NLRUQgYnkgR0ZTLiAqLwpAQCAtMTM0LDE0ICszNjAsNiBAQAogCiAJaWYgKGxwLT5sa3NiLnNiX2xraWQgIT0gMCkgewogCQlsa2YgfD0gRExNX0xLRl9DT05WRVJUOwotCi0JCS8qIENvbnZlcnNpb24gZGVhZGxvY2sgYXZvaWRhbmNlIGJ5IERMTSAqLwotCi0JCWlmICghKGxwLT5scy0+ZnNmbGFncyAmIExNX01GTEFHX0NPTlZfTk9EUk9QKSAmJgotCQkgICAgIXRlc3RfYml0KExGTF9GT1JDRV9QUk9NT1RFLCAmbHAtPmZsYWdzKSAmJgotCQkgICAgIShsa2YgJiBETE1fTEtGX05PUVVFVUUpICYmCi0JCSAgICBjdXIgPiBETE1fTE9DS19OTCAmJiByZXEgPiBETE1fTE9DS19OTCAmJiBjdXIgIT0gcmVxKQotCQkJbGtmIHw9IERMTV9MS0ZfQ09OVkRFQURMSzsKIAl9CiAKIAlpZiAobHAtPmx2YikKQEAgLTE3MywxNCArMzkxLDkgQEAKIAltYWtlX3N0cm5hbWUobmFtZSwgJmxwLT5zdHJuYW1lKTsKIAlscC0+bHMgPSBsczsKIAlscC0+Y3VyID0gRExNX0xPQ0tfSVY7Ci0JbHAtPmx2YiA9IE5VTEw7Ci0JbHAtPmhvbGRfbnVsbCA9IE5VTEw7Ci0JSU5JVF9MSVNUX0hFQUQoJmxwLT5jbGlzdCk7Ci0JSU5JVF9MSVNUX0hFQUQoJmxwLT5ibGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJmxwLT5kZWxheV9saXN0KTsKIAogCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWxpc3RfYWRkKCZscC0+YWxsX2xpc3QsICZscy0+YWxsX2xvY2tzKTsKIAlscy0+YWxsX2xvY2tzX2NvdW50Kys7CiAJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIApAQCAtMTg4LDI2ICs0MDEsNiBAQAogCXJldHVybiAwOwogfQogCi12b2lkIGdkbG1fZGVsZXRlX2xwKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQotCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwotCWlmICghbGlzdF9lbXB0eSgmbHAtPmNsaXN0KSkKLQkJbGlzdF9kZWxfaW5pdCgmbHAtPmNsaXN0KTsKLQlpZiAoIWxpc3RfZW1wdHkoJmxwLT5ibGlzdCkpCi0JCWxpc3RfZGVsX2luaXQoJmxwLT5ibGlzdCk7Ci0JaWYgKCFsaXN0X2VtcHR5KCZscC0+ZGVsYXlfbGlzdCkpCi0JCWxpc3RfZGVsX2luaXQoJmxwLT5kZWxheV9saXN0KTsKLQlnZGxtX2Fzc2VydCghbGlzdF9lbXB0eSgmbHAtPmFsbF9saXN0KSwgIiV4LCVsbHgiLCBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpbHAtPmxvY2tuYW1lLmxuX251bWJlcik7Ci0JbGlzdF9kZWxfaW5pdCgmbHAtPmFsbF9saXN0KTsKLQlscy0+YWxsX2xvY2tzX2NvdW50LS07Ci0Jc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKLQotCWtmcmVlKGxwKTsKLX0KLQogaW50IGdkbG1fZ2V0X2xvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCiAJCSAgdm9pZCAqKmxvY2twKQogewpAQCAtMjYxLDcgKzQ1NCw3IEBACiAKIAlpZiAoKGVycm9yID09IC1FQUdBSU4pICYmIChscC0+bGtmICYgRExNX0xLRl9OT1FVRVVFKSkgewogCQlscC0+bGtzYi5zYl9zdGF0dXMgPSAtRUFHQUlOOwotCQlxdWV1ZV9jb21wbGV0ZShscCk7CisJCWdkbG1fYXN0KGxwKTsKIAkJZXJyb3IgPSAwOwogCX0KIApAQCAtMzA4LDYgKzUwMSwxMiBAQAogewogCXN0cnVjdCBnZGxtX2xvY2sgKmxwID0gbG9jazsKIAorCWlmIChyZXFfc3RhdGUgPT0gTE1fU1RfVU5MT0NLRUQpCisJCXJldHVybiBnZGxtX3VubG9jayhsb2NrLCBjdXJfc3RhdGUpOworCisJaWYgKHJlcV9zdGF0ZSA9PSBMTV9TVF9VTkxPQ0tFRCkKKwkJcmV0dXJuIGdkbG1fdW5sb2NrKGxvY2ssIGN1cl9zdGF0ZSk7CisKIAljbGVhcl9iaXQoTEZMX0RMTV9DQU5DRUwsICZscC0+ZmxhZ3MpOwogCWlmIChmbGFncyAmIExNX0ZMQUdfTk9FWFApCiAJCXNldF9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOwpAQCAtMzUxLDcgKzU1MCw3IEBACiAJaWYgKGRlbGF5X2xpc3QpIHsKIAkJc2V0X2JpdChMRkxfQ0FOQ0VMLCAmbHAtPmZsYWdzKTsKIAkJc2V0X2JpdChMRkxfQUNUSVZFLCAmbHAtPmZsYWdzKTsKLQkJcXVldWVfY29tcGxldGUobHApOworCQlnZGxtX2FzdChscCk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTUwNywyMiArNzA2LDMgQEAKIAl3YWtlX3VwKCZscy0+dGhyZWFkX3dhaXQpOwogfQogCi1pbnQgZ2RsbV9yZWxlYXNlX2FsbF9sb2NrcyhzdHJ1Y3QgZ2RsbV9scyAqbHMpCi17Ci0Jc3RydWN0IGdkbG1fbG9jayAqbHAsICpzYWZlOwotCWludCBjb3VudCA9IDA7Ci0KLQlzcGluX2xvY2soJmxzLT5hc3luY19sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobHAsIHNhZmUsICZscy0+YWxsX2xvY2tzLCBhbGxfbGlzdCkgewotCQlsaXN0X2RlbF9pbml0KCZscC0+YWxsX2xpc3QpOwotCi0JCWlmIChscC0+bHZiICYmIGxwLT5sdmIgIT0ganVua19sdmIpCi0JCQlrZnJlZShscC0+bHZiKTsKLQkJa2ZyZWUobHApOwotCQljb3VudCsrOwotCX0KLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCi0JcmV0dXJuIGNvdW50OwotfQotCmRpZmYgLS1naXQgYS9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmggYi9mcy9nZnMyL2xvY2tpbmcvZGxtL2xvY2tfZGxtLmgKaW5kZXggYTI0M2NmNi4uM2M5OGU3YyAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS9sb2NrX2RsbS5oCisrKyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbG9ja19kbG0uaApAQCAtNzIsMTkgKzcyLDEyIEBACiAJaW50CQkJcmVjb3Zlcl9qaWRfZG9uZTsKIAlpbnQJCQlyZWNvdmVyX2ppZF9zdGF0dXM7CiAJc3BpbmxvY2tfdAkJYXN5bmNfbG9jazsKLQlzdHJ1Y3QgbGlzdF9oZWFkCWNvbXBsZXRlOwotCXN0cnVjdCBsaXN0X2hlYWQJYmxvY2tpbmc7CiAJc3RydWN0IGxpc3RfaGVhZAlkZWxheWVkOwogCXN0cnVjdCBsaXN0X2hlYWQJc3VibWl0OwotCXN0cnVjdCBsaXN0X2hlYWQJYWxsX2xvY2tzOwogCXUzMgkJYWxsX2xvY2tzX2NvdW50OwogCXdhaXRfcXVldWVfaGVhZF90CXdhaXRfY29udHJvbDsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRocmVhZDE7Ci0Jc3RydWN0IHRhc2tfc3RydWN0CSp0aHJlYWQyOworCXN0cnVjdCB0YXNrX3N0cnVjdAkqdGhyZWFkOwogCXdhaXRfcXVldWVfaGVhZF90CXRocmVhZF93YWl0OwotCXVuc2lnbmVkIGxvbmcJCWRyb3BfdGltZTsKLQlpbnQJCQlkcm9wX2xvY2tzX2NvdW50OwotCWludAkJCWRyb3BfbG9ja3NfcGVyaW9kOwogfTsKIAogZW51bSB7CkBAIC0xMTcsMTIgKzExMCw3IEBACiAJdTMyCQkJbGtmOwkJLyogZGxtIGZsYWdzIERMTV9MS0ZfICovCiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CQkvKiBsb2NrX2RsbSBmbGFncyBMRkxfICovCiAKLQlpbnQJCQliYXN0X21vZGU7CS8qIHByb3RlY3RlZCBieSBhc3luY19sb2NrICovCi0KLQlzdHJ1Y3QgbGlzdF9oZWFkCWNsaXN0OwkJLyogY29tcGxldGUgKi8KLQlzdHJ1Y3QgbGlzdF9oZWFkCWJsaXN0OwkJLyogYmxvY2tpbmcgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkCWRlbGF5X2xpc3Q7CS8qIGRlbGF5ZWQgKi8KLQlzdHJ1Y3QgbGlzdF9oZWFkCWFsbF9saXN0OwkvKiBhbGwgbG9ja3MgZm9yIHRoZSBmcyAqLwogCXN0cnVjdCBnZGxtX2xvY2sJKmhvbGRfbnVsbDsJLyogTkwgbG9jayBmb3IgaG9sZF9sdmIgKi8KIH07CiAKQEAgLTE1OSwxMSArMTQ3LDcgQEAKIAogLyogbG9jay5jICovCiAKLXMxNiBnZGxtX21ha2VfbG1zdGF0ZShzMTYpOwotdm9pZCBnZGxtX3F1ZXVlX2RlbGF5ZWQoc3RydWN0IGdkbG1fbG9jayAqKTsKIHZvaWQgZ2RsbV9zdWJtaXRfZGVsYXllZChzdHJ1Y3QgZ2RsbV9scyAqKTsKLWludCBnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKHN0cnVjdCBnZGxtX2xzICopOwotdm9pZCBnZGxtX2RlbGV0ZV9scChzdHJ1Y3QgZ2RsbV9sb2NrICopOwogdW5zaWduZWQgaW50IGdkbG1fZG9fbG9jayhzdHJ1Y3QgZ2RsbV9sb2NrICopOwogCiBpbnQgZ2RsbV9nZXRfbG9jayh2b2lkICosIHN0cnVjdCBsbV9sb2NrbmFtZSAqLCB2b2lkICoqKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vbW91bnQuYwppbmRleCA0NzBiZGY2Li4wOWQ3OGMyIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL21vdW50LmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9tb3VudC5jCkBAIC0yMiwyMiArMjIsMTQgQEAKIAlpZiAoIWxzKQogCQlyZXR1cm4gTlVMTDsKIAotCWxzLT5kcm9wX2xvY2tzX2NvdW50ID0gR0RMTV9EUk9QX0NPVU5UOwotCWxzLT5kcm9wX2xvY2tzX3BlcmlvZCA9IEdETE1fRFJPUF9QRVJJT0Q7CiAJbHMtPmZzY2IgPSBjYjsKIAlscy0+c2RwID0gc2RwOwogCWxzLT5mc2ZsYWdzID0gZmxhZ3M7CiAJc3Bpbl9sb2NrX2luaXQoJmxzLT5hc3luY19sb2NrKTsKLQlJTklUX0xJU1RfSEVBRCgmbHMtPmNvbXBsZXRlKTsKLQlJTklUX0xJU1RfSEVBRCgmbHMtPmJsb2NraW5nKTsKIAlJTklUX0xJU1RfSEVBRCgmbHMtPmRlbGF5ZWQpOwogCUlOSVRfTElTVF9IRUFEKCZscy0+c3VibWl0KTsKLQlJTklUX0xJU1RfSEVBRCgmbHMtPmFsbF9sb2Nrcyk7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmbHMtPnRocmVhZF93YWl0KTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZscy0+d2FpdF9jb250cm9sKTsKLQlscy0+dGhyZWFkMSA9IE5VTEw7Ci0JbHMtPnRocmVhZDIgPSBOVUxMOwotCWxzLT5kcm9wX3RpbWUgPSBqaWZmaWVzOwogCWxzLT5qaWQgPSAtMTsKIAogCXN0cm5jcHkoYnVmLCB0YWJsZV9uYW1lLCAyNTYpOwpAQCAtMTgwLDcgKzE3Miw2IEBACiBzdGF0aWMgdm9pZCBnZGxtX3VubW91bnQodm9pZCAqbG9ja3NwYWNlKQogewogCXN0cnVjdCBnZGxtX2xzICpscyA9IGxvY2tzcGFjZTsKLQlpbnQgcnY7CiAKIAlsb2dfZGVidWcoInVubW91bnQgZmxhZ3MgJWx4IiwgbHMtPmZsYWdzKTsKIApAQCAtMTk0LDkgKzE4NSw3IEBACiAJZ2RsbV9rb2JqZWN0X3JlbGVhc2UobHMpOwogCWRsbV9yZWxlYXNlX2xvY2tzcGFjZShscy0+ZGxtX2xvY2tzcGFjZSwgMik7CiAJZ2RsbV9yZWxlYXNlX3RocmVhZHMobHMpOwotCXJ2ID0gZ2RsbV9yZWxlYXNlX2FsbF9sb2Nrcyhscyk7Ci0JaWYgKHJ2KQotCQlsb2dfaW5mbygiZ2RsbV91bm1vdW50OiAlZCBzdHJheSBsb2NrcyBmcmVlZCIsIHJ2KTsKKwlCVUdfT04obHMtPmFsbF9sb2Nrc19jb3VudCk7CiBvdXQ6CiAJa2ZyZWUobHMpOwogfQpAQCAtMjMyLDcgKzIyMSw2IEBACiAKIAlkbG1fcmVsZWFzZV9sb2Nrc3BhY2UobHMtPmRsbV9sb2Nrc3BhY2UsIDIpOwogCWdkbG1fcmVsZWFzZV90aHJlYWRzKGxzKTsKLQlnZGxtX3JlbGVhc2VfYWxsX2xvY2tzKGxzKTsKIAlnZGxtX2tvYmplY3RfcmVsZWFzZShscyk7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vc3lzZnMuYwppbmRleCBhNGZmMjcxLi40ZWM1NzFjIDEwMDY0NAotLS0gYS9mcy9nZnMyL2xvY2tpbmcvZGxtL3N5c2ZzLmMKKysrIGIvZnMvZ2ZzMi9sb2NraW5nL2RsbS9zeXNmcy5jCkBAIC0xMTQsMTcgKzExNCw2IEBACiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGxzLT5yZWNvdmVyX2ppZF9zdGF0dXMpOwogfQogCi1zdGF0aWMgc3NpemVfdCBkcm9wX2NvdW50X3Nob3coc3RydWN0IGdkbG1fbHMgKmxzLCBjaGFyICpidWYpCi17Ci0JcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIGxzLT5kcm9wX2xvY2tzX2NvdW50KTsKLX0KLQotc3RhdGljIHNzaXplX3QgZHJvcF9jb3VudF9zdG9yZShzdHJ1Y3QgZ2RsbV9scyAqbHMsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKLXsKLQlscy0+ZHJvcF9sb2Nrc19jb3VudCA9IHNpbXBsZV9zdHJ0b2woYnVmLCBOVUxMLCAwKTsKLQlyZXR1cm4gbGVuOwotfQotCiBzdHJ1Y3QgZ2RsbV9hdHRyIHsKIAlzdHJ1Y3QgYXR0cmlidXRlIGF0dHI7CiAJc3NpemVfdCAoKnNob3cpKHN0cnVjdCBnZGxtX2xzICosIGNoYXIgKik7CkBAIC0xNDQsNyArMTMzLDYgQEAKIEdETE1fQVRUUihyZWNvdmVyLCAgICAgICAgMDY0NCwgcmVjb3Zlcl9zaG93LCAgICAgICAgcmVjb3Zlcl9zdG9yZSk7CiBHRExNX0FUVFIocmVjb3Zlcl9kb25lLCAgIDA0NDQsIHJlY292ZXJfZG9uZV9zaG93LCAgIE5VTEwpOwogR0RMTV9BVFRSKHJlY292ZXJfc3RhdHVzLCAwNDQ0LCByZWNvdmVyX3N0YXR1c19zaG93LCBOVUxMKTsKLUdETE1fQVRUUihkcm9wX2NvdW50LCAgICAgMDY0NCwgZHJvcF9jb3VudF9zaG93LCAgICAgZHJvcF9jb3VudF9zdG9yZSk7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICpnZGxtX2F0dHJzW10gPSB7CiAJJmdkbG1fYXR0cl9wcm90b19uYW1lLmF0dHIsCkBAIC0xNTcsNyArMTQ1LDYgQEAKIAkmZ2RsbV9hdHRyX3JlY292ZXIuYXR0ciwKIAkmZ2RsbV9hdHRyX3JlY292ZXJfZG9uZS5hdHRyLAogCSZnZGxtX2F0dHJfcmVjb3Zlcl9zdGF0dXMuYXR0ciwKLQkmZ2RsbV9hdHRyX2Ryb3BfY291bnQuYXR0ciwKIAlOVUxMLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYyBiL2ZzL2dmczIvbG9ja2luZy9kbG0vdGhyZWFkLmMKaW5kZXggZTUzZGI2Zi4uMzg4MjNlZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL2RsbS90aHJlYWQuYworKysgYi9mcy9nZnMyL2xvY2tpbmcvZGxtL3RocmVhZC5jCkBAIC05LDM2NyArOSw2MCBAQAogCiAjaW5jbHVkZSAibG9ja19kbG0uaCIKIAotLyogQSBsb2NrIHBsYWNlZCBvbiB0aGlzIHF1ZXVlIGlzIHJlLXN1Ym1pdHRlZCB0byBETE0gYXMgc29vbiBhcyB0aGUgbG9ja19kbG0KLSAgIHRocmVhZCBnZXRzIHRvIGl0LiAqLwotCi1zdGF0aWMgdm9pZCBxdWV1ZV9zdWJtaXQoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCi0Jc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JbGlzdF9hZGRfdGFpbCgmbHAtPmRlbGF5X2xpc3QsICZscy0+c3VibWl0KTsKLQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCXdha2VfdXAoJmxzLT50aHJlYWRfd2FpdCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHByb2Nlc3NfYmxvY2tpbmcoc3RydWN0IGdkbG1fbG9jayAqbHAsIGludCBiYXN0X21vZGUpCi17Ci0Jc3RydWN0IGdkbG1fbHMgKmxzID0gbHAtPmxzOwotCXVuc2lnbmVkIGludCBjYiA9IDA7Ci0KLQlzd2l0Y2ggKGdkbG1fbWFrZV9sbXN0YXRlKGJhc3RfbW9kZSkpIHsKLQljYXNlIExNX1NUX0VYQ0xVU0lWRToKLQkJY2IgPSBMTV9DQl9ORUVEX0U7Ci0JCWJyZWFrOwotCWNhc2UgTE1fU1RfREVGRVJSRUQ6Ci0JCWNiID0gTE1fQ0JfTkVFRF9EOwotCQlicmVhazsKLQljYXNlIExNX1NUX1NIQVJFRDoKLQkJY2IgPSBMTV9DQl9ORUVEX1M7Ci0JCWJyZWFrOwotCWRlZmF1bHQ6Ci0JCWdkbG1fYXNzZXJ0KDAsICJ1bmtub3duIGJhc3QgbW9kZSAldSIsIGxwLT5iYXN0X21vZGUpOwotCX0KLQotCWxzLT5mc2NiKGxzLT5zZHAsIGNiLCAmbHAtPmxvY2tuYW1lKTsKLX0KLQotc3RhdGljIHZvaWQgd2FrZV91cF9hc3Qoc3RydWN0IGdkbG1fbG9jayAqbHApCi17Ci0JY2xlYXJfYml0KExGTF9BU1RfV0FJVCwgJmxwLT5mbGFncyk7Ci0Jc21wX21iX19hZnRlcl9jbGVhcl9iaXQoKTsKLQl3YWtlX3VwX2JpdCgmbHAtPmZsYWdzLCBMRkxfQVNUX1dBSVQpOwotfQotCi1zdGF0aWMgdm9pZCBwcm9jZXNzX2NvbXBsZXRlKHN0cnVjdCBnZGxtX2xvY2sgKmxwKQotewotCXN0cnVjdCBnZGxtX2xzICpscyA9IGxwLT5sczsKLQlzdHJ1Y3QgbG1fYXN5bmNfY2IgYWNiOwotCXMxNiBwcmV2X21vZGUgPSBscC0+Y3VyOwotCi0JbWVtc2V0KCZhY2IsIDAsIHNpemVvZihhY2IpKTsKLQotCWlmIChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLURMTV9FQ0FOQ0VMKSB7Ci0JCWxvZ19pbmZvKCJjb21wbGV0ZSBkbG0gY2FuY2VsICV4LCVsbHggZmxhZ3MgJWx4IiwKLQkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAotCQkJIGxwLT5mbGFncyk7Ci0KLQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOwotCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKLQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAodGVzdF9hbmRfY2xlYXJfYml0KExGTF9ETE1fVU5MT0NLLCAmbHAtPmZsYWdzKSkgewotCQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzICE9IC1ETE1fRVVOTE9DSykgewotCQkJbG9nX2luZm8oInVubG9jayBzYl9zdGF0dXMgJWQgJXgsJWxseCBmbGFncyAlbHgiLAotCQkJCSBscC0+bGtzYi5zYl9zdGF0dXMsIGxwLT5sb2NrbmFtZS5sbl90eXBlLAotCQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkJIGxwLT5mbGFncyk7Ci0JCQlyZXR1cm47Ci0JCX0KLQotCQlscC0+Y3VyID0gRExNX0xPQ0tfSVY7Ci0JCWxwLT5yZXEgPSBETE1fTE9DS19JVjsKLQkJbHAtPmxrc2Iuc2JfbGtpZCA9IDA7Ci0KLQkJaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfVU5MT0NLX0RFTEVURSwgJmxwLT5mbGFncykpIHsKLQkJCWdkbG1fZGVsZXRlX2xwKGxwKTsKLQkJCXJldHVybjsKLQkJfQotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX1ZBTE5PVFZBTElEKQotCQltZW1zZXQobHAtPmxrc2Iuc2JfbHZicHRyLCAwLCBHRExNX0xWQl9TSVpFKTsKLQotCWlmIChscC0+bGtzYi5zYl9mbGFncyAmIERMTV9TQkZfQUxUTU9ERSkgewotCQlpZiAobHAtPnJlcSA9PSBETE1fTE9DS19QUikKLQkJCWxwLT5yZXEgPSBETE1fTE9DS19DVzsKLQkJZWxzZSBpZiAobHAtPnJlcSA9PSBETE1fTE9DS19DVykKLQkJCWxwLT5yZXEgPSBETE1fTE9DS19QUjsKLQl9Ci0KLQkvKgotCSAqIEEgY2FuY2VsZWQgbG9jayByZXF1ZXN0LiAgVGhlIGxvY2sgd2FzIGp1c3QgdGFrZW4gb2ZmIHRoZSBkZWxheWVkCi0JICogbGlzdCBhbmQgd2FzIG5ldmVyIGV2ZW4gc3VibWl0dGVkIHRvIGRsbS4KLQkgKi8KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX0NBTkNFTCwgJmxwLT5mbGFncykpIHsKLQkJbG9nX2luZm8oImNvbXBsZXRlIGludGVybmFsIGNhbmNlbCAleCwlbGx4IiwKLQkJIAkgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCWFjYi5sY19yZXQgfD0gTE1fT1VUX0NBTkNFTEVEOwotCQlnb3RvIG91dDsKLQl9Ci0KLQkvKgotCSAqIEFuIGVycm9yIG9jY3VyZWQuCi0JICovCi0KLQlpZiAobHAtPmxrc2Iuc2Jfc3RhdHVzKSB7Ci0JCS8qIGEgIm5vcm1hbCIgZXJyb3IgKi8KLQkJaWYgKChscC0+bGtzYi5zYl9zdGF0dXMgPT0gLUVBR0FJTikgJiYKLQkJICAgIChscC0+bGtmICYgRExNX0xLRl9OT1FVRVVFKSkgewotCQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCQlpZiAobHAtPmN1ciA9PSBETE1fTE9DS19JVikKLQkJCQlscC0+bGtzYi5zYl9sa2lkID0gMDsKLQkJCWdvdG8gb3V0OwotCQl9Ci0KLQkJLyogdGhpcyBjb3VsZCBvbmx5IGhhcHBlbiB3aXRoIGNhbmNlbHMgSSB0aGluayAqLwotCQlsb2dfaW5mbygiYXN0IHNiX3N0YXR1cyAlZCAleCwlbGx4IGZsYWdzICVseCIsCi0JCQkgbHAtPmxrc2Iuc2Jfc3RhdHVzLCBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIsCi0JCQkgbHAtPmZsYWdzKTsKLQkJaWYgKGxwLT5sa3NiLnNiX3N0YXR1cyA9PSAtRURFQURMT0NLICYmCi0JCSAgICBscC0+bHMtPmZzZmxhZ3MgJiBMTV9NRkxBR19DT05WX05PRFJPUCkgewotCQkJbHAtPnJlcSA9IGxwLT5jdXI7Ci0JCQlhY2IubGNfcmV0IHw9IExNX09VVF9DT05WX0RFQURMSzsKLQkJCWlmIChscC0+Y3VyID09IERMTV9MT0NLX0lWKQotCQkJCWxwLT5sa3NiLnNiX2xraWQgPSAwOwotCQkJZ290byBvdXQ7Ci0JCX0gZWxzZQotCQkJcmV0dXJuOwotCX0KLQotCS8qCi0JICogVGhpcyBpcyBhbiBBU1QgZm9yIGFuIEVYLT5FWCBjb252ZXJzaW9uIGZvciBzeW5jX2x2YiBmcm9tIEdGUy4KLQkgKi8KLQotCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTEZMX1NZTkNfTFZCLCAmbHAtPmZsYWdzKSkgewotCQl3YWtlX3VwX2FzdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIEEgbG9jayBoYXMgYmVlbiBkZW1vdGVkIHRvIE5MIGJlY2F1c2UgaXQgaW5pdGlhbGx5IGNvbXBsZXRlZCBkdXJpbmcKLQkgKiBCTE9DS19MT0NLUy4gIE5vdyBpdCBtdXN0IGJlIHJlcXVlc3RlZCBpbiB0aGUgb3JpZ2luYWxseSByZXF1ZXN0ZWQKLQkgKiBtb2RlLgotCSAqLwotCi0JaWYgKHRlc3RfYW5kX2NsZWFyX2JpdChMRkxfUkVSRVFVRVNULCAmbHAtPmZsYWdzKSkgewotCQlnZGxtX2Fzc2VydChscC0+cmVxID09IERMTV9MT0NLX05MLCAiJXgsJWxseCIsCi0JCQkgICAgbHAtPmxvY2tuYW1lLmxuX3R5cGUsCi0JCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyKTsKLQkJZ2RsbV9hc3NlcnQobHAtPnByZXZfcmVxID4gRExNX0xPQ0tfTkwsICIleCwlbGx4IiwKLQkJCSAgICBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAgICAodW5zaWduZWQgbG9uZyBsb25nKWxwLT5sb2NrbmFtZS5sbl9udW1iZXIpOwotCi0JCWxwLT5jdXIgPSBETE1fTE9DS19OTDsKLQkJbHAtPnJlcSA9IGxwLT5wcmV2X3JlcTsKLQkJbHAtPnByZXZfcmVxID0gRExNX0xPQ0tfSVY7Ci0JCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKLQotCQlzZXRfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKTsKLQotCQlpZiAodGVzdF9iaXQoREZMX0JMT0NLX0xPQ0tTLCAmbHMtPmZsYWdzKSAmJgotCQkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSkKLQkJCWdkbG1fcXVldWVfZGVsYXllZChscCk7Ci0JCWVsc2UKLQkJCXF1ZXVlX3N1Ym1pdChscCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKgotCSAqIEEgcmVxdWVzdCBpcyBncmFudGVkIGR1cmluZyBkbG0gcmVjb3ZlcnkuICBJdCBtYXkgYmUgZ3JhbnRlZAotCSAqIGJlY2F1c2UgdGhlIGxvY2tzIG9mIGEgZmFpbGVkIG5vZGUgd2VyZSBjbGVhcmVkLiAgSW4gdGhhdCBjYXNlLAotCSAqIHRoZXJlIG1heSBiZSBpbmNvbnNpc3RlbnQgZGF0YSBiZW5lYXRoIHRoaXMgbG9jayBhbmQgd2UgbXVzdCB3YWl0Ci0JICogZm9yIHJlY292ZXJ5IHRvIGNvbXBsZXRlIHRvIHVzZSBpdC4gIFdoZW4gZ2ZzIHJlY292ZXJ5IGlzIGRvbmUgdGhpcwotCSAqIGdyYW50ZWQgbG9jayB3aWxsIGJlIGNvbnZlcnRlZCB0byBOTCBhbmQgdGhlbiByZWFjcXVpcmVkIGluIHRoaXMKLQkgKiBncmFudGVkIHN0YXRlLgotCSAqLwotCi0JaWYgKHRlc3RfYml0KERGTF9CTE9DS19MT0NLUywgJmxzLT5mbGFncykgJiYKLQkgICAgIXRlc3RfYml0KExGTF9OT0JMT0NLLCAmbHAtPmZsYWdzKSAmJgotCSAgICBscC0+cmVxICE9IERMTV9MT0NLX05MKSB7Ci0KLQkJbHAtPmN1ciA9IGxwLT5yZXE7Ci0JCWxwLT5wcmV2X3JlcSA9IGxwLT5yZXE7Ci0JCWxwLT5yZXEgPSBETE1fTE9DS19OTDsKLQkJbHAtPmxrZiB8PSBETE1fTEtGX0NPTlZFUlQ7Ci0JCWxwLT5sa2YgJj0gfkRMTV9MS0ZfQ09OVkRFQURMSzsKLQotCQlsb2dfZGVidWcoInJlcmVxICV4LCVsbHggaWQgJXggJWQsJWQiLAotCQkJICBscC0+bG9ja25hbWUubG5fdHlwZSwKLQkJCSAgKHVuc2lnbmVkIGxvbmcgbG9uZylscC0+bG9ja25hbWUubG5fbnVtYmVyLAotCQkJICBscC0+bGtzYi5zYl9sa2lkLCBscC0+Y3VyLCBscC0+cmVxKTsKLQotCQlzZXRfYml0KExGTF9SRVJFUVVFU1QsICZscC0+ZmxhZ3MpOwotCQlxdWV1ZV9zdWJtaXQobHApOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBETE0gZGVtb3RlZCB0aGUgbG9jayB0byBOTCBiZWZvcmUgaXQgd2FzIGdyYW50ZWQgc28gR0ZTIG11c3QgYmUKLQkgKiB0b2xkIGl0IGNhbm5vdCBjYWNoZSBkYXRhIGZvciB0aGlzIGxvY2suCi0JICovCi0KLQlpZiAobHAtPmxrc2Iuc2JfZmxhZ3MgJiBETE1fU0JGX0RFTU9URUQpCi0JCXNldF9iaXQoTEZMX05PQ0FDSEUsICZscC0+ZmxhZ3MpOwotCi1vdXQ6Ci0JLyoKLQkgKiBUaGlzIGlzIGFuIGludGVybmFsIGxvY2tfZGxtIGxvY2sKLQkgKi8KLQotCWlmICh0ZXN0X2JpdChMRkxfSU5MT0NLLCAmbHAtPmZsYWdzKSkgewotCQljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOwotCQlscC0+Y3VyID0gbHAtPnJlcTsKLQkJd2FrZV91cF9hc3QobHApOwotCQlyZXR1cm47Ci0JfQotCi0JLyoKLQkgKiBOb3JtYWwgY29tcGxldGlvbiBvZiBhIGxvY2sgcmVxdWVzdC4gIFRlbGwgR0ZTIGl0IG5vdyBoYXMgdGhlIGxvY2suCi0JICovCi0KLQljbGVhcl9iaXQoTEZMX05PQkxPQ0ssICZscC0+ZmxhZ3MpOwotCWxwLT5jdXIgPSBscC0+cmVxOwotCi0JYWNiLmxjX25hbWUgPSBscC0+bG9ja25hbWU7Ci0JYWNiLmxjX3JldCB8PSBnZGxtX21ha2VfbG1zdGF0ZShscC0+Y3VyKTsKLQotCWlmICghdGVzdF9hbmRfY2xlYXJfYml0KExGTF9OT0NBQ0hFLCAmbHAtPmZsYWdzKSAmJgotCSAgICAobHAtPmN1ciA+IERMTV9MT0NLX05MKSAmJiAocHJldl9tb2RlID4gRExNX0xPQ0tfTkwpKQotCQlhY2IubGNfcmV0IHw9IExNX09VVF9DQUNIRUFCTEU7Ci0KLQlscy0+ZnNjYihscy0+c2RwLCBMTV9DQl9BU1lOQywgJmFjYik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IG5vX3dvcmsoc3RydWN0IGdkbG1fbHMgKmxzLCBpbnQgYmxvY2tpbmcpCitzdGF0aWMgaW5saW5lIGludCBub193b3JrKHN0cnVjdCBnZGxtX2xzICpscykKIHsKIAlpbnQgcmV0OwogCiAJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7Ci0JcmV0ID0gbGlzdF9lbXB0eSgmbHMtPmNvbXBsZXRlKSAmJiBsaXN0X2VtcHR5KCZscy0+c3VibWl0KTsKLQlpZiAocmV0ICYmIGJsb2NraW5nKQotCQlyZXQgPSBsaXN0X2VtcHR5KCZscy0+YmxvY2tpbmcpOworCXJldCA9IGxpc3RfZW1wdHkoJmxzLT5zdWJtaXQpOwogCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW5saW5lIGludCBjaGVja19kcm9wKHN0cnVjdCBnZGxtX2xzICpscykKLXsKLQlpZiAoIWxzLT5kcm9wX2xvY2tzX2NvdW50KQotCQlyZXR1cm4gMDsKLQotCWlmICh0aW1lX2FmdGVyKGppZmZpZXMsIGxzLT5kcm9wX3RpbWUgKyBscy0+ZHJvcF9sb2Nrc19wZXJpb2QgKiBIWikpIHsKLQkJbHMtPmRyb3BfdGltZSA9IGppZmZpZXM7Ci0JCWlmIChscy0+YWxsX2xvY2tzX2NvdW50ID49IGxzLT5kcm9wX2xvY2tzX2NvdW50KQotCQkJcmV0dXJuIDE7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGdkbG1fdGhyZWFkKHZvaWQgKmRhdGEsIGludCBibGlzdCkKK3N0YXRpYyBpbnQgZ2RsbV90aHJlYWQodm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgZ2RsbV9scyAqbHMgPSAoc3RydWN0IGdkbG1fbHMgKikgZGF0YTsKIAlzdHJ1Y3QgZ2RsbV9sb2NrICpscCA9IE5VTEw7Ci0JdWludDhfdCBjb21wbGV0ZSwgYmxvY2tpbmcsIHN1Ym1pdCwgZHJvcDsKLQotCS8qIE9ubHkgdGhyZWFkMSBpcyBhbGxvd2VkIHRvIGRvIGJsb2NraW5nIGNhbGxiYWNrcyBzaW5jZSBnZnMKLQkgICBtYXkgd2FpdCBmb3IgYSBjb21wbGV0aW9uIGNhbGxiYWNrIHdpdGhpbiBhIGJsb2NraW5nIGNiLiAqLwogCiAJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpIHsKIAkJd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlKGxzLT50aHJlYWRfd2FpdCwKLQkJCQkhbm9fd29yayhscywgYmxpc3QpIHx8IGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7Ci0KLQkJY29tcGxldGUgPSBibG9ja2luZyA9IHN1Ym1pdCA9IGRyb3AgPSAwOworCQkJCSFub193b3JrKGxzKSB8fCBrdGhyZWFkX3Nob3VsZF9zdG9wKCkpOwogCiAJCXNwaW5fbG9jaygmbHMtPmFzeW5jX2xvY2spOwogCi0JCWlmIChibGlzdCAmJiAhbGlzdF9lbXB0eSgmbHMtPmJsb2NraW5nKSkgewotCQkJbHAgPSBsaXN0X2VudHJ5KGxzLT5ibG9ja2luZy5uZXh0LCBzdHJ1Y3QgZ2RsbV9sb2NrLAotCQkJCQlibGlzdCk7Ci0JCQlsaXN0X2RlbF9pbml0KCZscC0+Ymxpc3QpOwotCQkJYmxvY2tpbmcgPSBscC0+YmFzdF9tb2RlOwotCQkJbHAtPmJhc3RfbW9kZSA9IDA7Ci0JCX0gZWxzZSBpZiAoIWxpc3RfZW1wdHkoJmxzLT5jb21wbGV0ZSkpIHsKLQkJCWxwID0gbGlzdF9lbnRyeShscy0+Y29tcGxldGUubmV4dCwgc3RydWN0IGdkbG1fbG9jaywKLQkJCQkJY2xpc3QpOwotCQkJbGlzdF9kZWxfaW5pdCgmbHAtPmNsaXN0KTsKLQkJCWNvbXBsZXRlID0gMTsKLQkJfSBlbHNlIGlmICghbGlzdF9lbXB0eSgmbHMtPnN1Ym1pdCkpIHsKKwkJaWYgKCFsaXN0X2VtcHR5KCZscy0+c3VibWl0KSkgewogCQkJbHAgPSBsaXN0X2VudHJ5KGxzLT5zdWJtaXQubmV4dCwgc3RydWN0IGdkbG1fbG9jaywKIAkJCQkJZGVsYXlfbGlzdCk7CiAJCQlsaXN0X2RlbF9pbml0KCZscC0+ZGVsYXlfbGlzdCk7Ci0JCQlzdWJtaXQgPSAxOwotCQl9Ci0KLQkJZHJvcCA9IGNoZWNrX2Ryb3AobHMpOwotCQlzcGluX3VubG9jaygmbHMtPmFzeW5jX2xvY2spOwotCi0JCWlmIChjb21wbGV0ZSkKLQkJCXByb2Nlc3NfY29tcGxldGUobHApOwotCi0JCWVsc2UgaWYgKGJsb2NraW5nKQotCQkJcHJvY2Vzc19ibG9ja2luZyhscCwgYmxvY2tpbmcpOwotCi0JCWVsc2UgaWYgKHN1Ym1pdCkKKwkJCXNwaW5fdW5sb2NrKCZscy0+YXN5bmNfbG9jayk7CiAJCQlnZGxtX2RvX2xvY2sobHApOwotCi0JCWlmIChkcm9wKQotCQkJbHMtPmZzY2IobHMtPnNkcCwgTE1fQ0JfRFJPUExPQ0tTLCBOVUxMKTsKLQotCQlzY2hlZHVsZSgpOworCQkJc3Bpbl9sb2NrKCZscy0+YXN5bmNfbG9jayk7CisJCX0KKwkJc3Bpbl91bmxvY2soJmxzLT5hc3luY19sb2NrKTsKIAl9CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBnZGxtX3RocmVhZDEodm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gZ2RsbV90aHJlYWQoZGF0YSwgMSk7Ci19Ci0KLXN0YXRpYyBpbnQgZ2RsbV90aHJlYWQyKHZvaWQgKmRhdGEpCi17Ci0JcmV0dXJuIGdkbG1fdGhyZWFkKGRhdGEsIDApOwotfQotCiBpbnQgZ2RsbV9pbml0X3RocmVhZHMoc3RydWN0IGdkbG1fbHMgKmxzKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKIAlpbnQgZXJyb3I7CiAKLQlwID0ga3RocmVhZF9ydW4oZ2RsbV90aHJlYWQxLCBscywgImxvY2tfZGxtMSIpOworCXAgPSBrdGhyZWFkX3J1bihnZGxtX3RocmVhZCwgbHMsICJsb2NrX2RsbSIpOwogCWVycm9yID0gSVNfRVJSKHApOwogCWlmIChlcnJvcikgewotCQlsb2dfZXJyb3IoImNhbid0IHN0YXJ0IGxvY2tfZGxtMSB0aHJlYWQgJWQiLCBlcnJvcik7CisJCWxvZ19lcnJvcigiY2FuJ3Qgc3RhcnQgbG9ja19kbG0gdGhyZWFkICVkIiwgZXJyb3IpOwogCQlyZXR1cm4gZXJyb3I7CiAJfQotCWxzLT50aHJlYWQxID0gcDsKLQotCXAgPSBrdGhyZWFkX3J1bihnZGxtX3RocmVhZDIsIGxzLCAibG9ja19kbG0yIik7Ci0JZXJyb3IgPSBJU19FUlIocCk7Ci0JaWYgKGVycm9yKSB7Ci0JCWxvZ19lcnJvcigiY2FuJ3Qgc3RhcnQgbG9ja19kbG0yIHRocmVhZCAlZCIsIGVycm9yKTsKLQkJa3RocmVhZF9zdG9wKGxzLT50aHJlYWQxKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQlscy0+dGhyZWFkMiA9IHA7CisJbHMtPnRocmVhZCA9IHA7CiAKIAlyZXR1cm4gMDsKIH0KIAogdm9pZCBnZGxtX3JlbGVhc2VfdGhyZWFkcyhzdHJ1Y3QgZ2RsbV9scyAqbHMpCiB7Ci0Ja3RocmVhZF9zdG9wKGxzLT50aHJlYWQxKTsKLQlrdGhyZWFkX3N0b3AobHMtPnRocmVhZDIpOworCWt0aHJlYWRfc3RvcChscy0+dGhyZWFkKTsKIH0KIApkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9NYWtlZmlsZSBiL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1ZTk3MzAuLjAwMDAwMDAKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9NYWtlZmlsZQorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotb2JqLSQoQ09ORklHX0dGUzJfRlNfTE9DS0lOR19OT0xPQ0spICs9IGxvY2tfbm9sb2NrLm8KLWxvY2tfbm9sb2NrLXkgOj0gbWFpbi5vCi0KZGlmZiAtLWdpdCBhL2ZzL2dmczIvbG9ja2luZy9ub2xvY2svbWFpbi5jIGIvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9tYWluLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4NGE1ZWMuLjAwMDAwMDAKLS0tIGEvZnMvZ2ZzMi9sb2NraW5nL25vbG9jay9tYWluLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgU2lzdGluYSBTb2Z0d2FyZSwgSW5jLiAgMTk5Ny0yMDAzIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNSBSZWQgSGF0LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFRoaXMgY29weXJpZ2h0ZWQgbWF0ZXJpYWwgaXMgbWFkZSBhdmFpbGFibGUgdG8gYW55b25lIHdpc2hpbmcgdG8gdXNlLAotICogbW9kaWZ5LCBjb3B5LCBvciByZWRpc3RyaWJ1dGUgaXQgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKLSAqIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuCi0gKi8KLQotI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgotI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9mcy5oPgotI2luY2x1ZGUgPGxpbnV4L2xtX2ludGVyZmFjZS5oPgotCi1zdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSB7Ci0JdW5zaWduZWQgaW50IG5sX2x2Yl9zaXplOwotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBsbV9sb2Nrb3BzIG5vbG9ja19vcHM7Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX21vdW50KGNoYXIgKnRhYmxlX25hbWUsIGNoYXIgKmhvc3RfZGF0YSwKLQkJCWxtX2NhbGxiYWNrX3QgY2IsIHZvaWQgKmNiX2RhdGEsCi0JCQl1bnNpZ25lZCBpbnQgbWluX2x2Yl9zaXplLCBpbnQgZmxhZ3MsCi0JCQlzdHJ1Y3QgbG1fbG9ja3N0cnVjdCAqbG9ja3N0cnVjdCwKLQkJCXN0cnVjdCBrb2JqZWN0ICpmc2tvYmopCi17Ci0JY2hhciAqYzsKLQl1bnNpZ25lZCBpbnQgamlkOwotCXN0cnVjdCBub2xvY2tfbG9ja3NwYWNlICpubDsKLQotCWMgPSBzdHJzdHIoaG9zdF9kYXRhLCAiamlkPSIpOwotCWlmICghYykKLQkJamlkID0gMDsKLQllbHNlIHsKLQkJYyArPSA0OwotCQlzc2NhbmYoYywgIiV1IiwgJmppZCk7Ci0JfQotCi0JbmwgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSksIEdGUF9LRVJORUwpOwotCWlmICghbmwpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JbmwtPm5sX2x2Yl9zaXplID0gbWluX2x2Yl9zaXplOwotCi0JbG9ja3N0cnVjdC0+bHNfamlkID0gamlkOwotCWxvY2tzdHJ1Y3QtPmxzX2ZpcnN0ID0gMTsKLQlsb2Nrc3RydWN0LT5sc19sdmJfc2l6ZSA9IG1pbl9sdmJfc2l6ZTsKLQlsb2Nrc3RydWN0LT5sc19sb2Nrc3BhY2UgPSBubDsKLQlsb2Nrc3RydWN0LT5sc19vcHMgPSAmbm9sb2NrX29wczsKLQlsb2Nrc3RydWN0LT5sc19mbGFncyA9IExNX0xTRkxBR19MT0NBTDsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfb3RoZXJzX21heV9tb3VudCh2b2lkICpsb2Nrc3BhY2UpCi17Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja191bm1vdW50KHZvaWQgKmxvY2tzcGFjZSkKLXsKLQlzdHJ1Y3Qgbm9sb2NrX2xvY2tzcGFjZSAqbmwgPSBsb2Nrc3BhY2U7Ci0Ja2ZyZWUobmwpOwotfQotCi1zdGF0aWMgdm9pZCBub2xvY2tfd2l0aGRyYXcodm9pZCAqbG9ja3NwYWNlKQotewotfQotCi0vKioKLSAqIG5vbG9ja19nZXRfbG9jayAtIGdldCBhIGxtX2xvY2tfdCBnaXZlbiBhIGRlc2NyaXB0b24gb2YgdGhlIGxvY2sKLSAqIEBsb2Nrc3BhY2U6IHRoZSBsb2Nrc3BhY2UgdGhlIGxvY2sgbGl2ZXMgaW4KLSAqIEBuYW1lOiB0aGUgbmFtZSBvZiB0aGUgbG9jawotICogQGxvY2twOiByZXR1cm4gdGhlIGxtX2xvY2tfdCBoZXJlCi0gKgotICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRVhYWCBvbiBmYWlsdXJlCi0gKi8KLQotc3RhdGljIGludCBub2xvY2tfZ2V0X2xvY2sodm9pZCAqbG9ja3NwYWNlLCBzdHJ1Y3QgbG1fbG9ja25hbWUgKm5hbWUsCi0JCQkgICB2b2lkICoqbG9ja3ApCi17Ci0JKmxvY2twID0gbG9ja3NwYWNlOwotCXJldHVybiAwOwotfQotCi0vKioKLSAqIG5vbG9ja19wdXRfbG9jayAtIGdldCByaWQgb2YgYSBsb2NrIHN0cnVjdHVyZQotICogQGxvY2s6IHRoZSBsb2NrIHRvIHRocm93IGF3YXkKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgbm9sb2NrX3B1dF9sb2NrKHZvaWQgKmxvY2spCi17Ci19Ci0KLS8qKgotICogbm9sb2NrX2xvY2sgLSBhY3F1aXJlIGEgbG9jawotICogQGxvY2s6IHRoZSBsb2NrIHRvIG1hbmlwdWxhdGUKLSAqIEBjdXJfc3RhdGU6IHRoZSBjdXJyZW50IHN0YXRlCi0gKiBAcmVxX3N0YXRlOiB0aGUgcmVxdWVzdGVkIHN0YXRlCi0gKiBAZmxhZ3M6IG1vZGlmaWVyIGZsYWdzCi0gKgotICogUmV0dXJuczogQSBiaXRtYXAgb2YgTE1fT1VUXyoKLSAqLwotCi1zdGF0aWMgdW5zaWduZWQgaW50IG5vbG9ja19sb2NrKHZvaWQgKmxvY2ssIHVuc2lnbmVkIGludCBjdXJfc3RhdGUsCi0JCQkJdW5zaWduZWQgaW50IHJlcV9zdGF0ZSwgdW5zaWduZWQgaW50IGZsYWdzKQotewotCXJldHVybiByZXFfc3RhdGUgfCBMTV9PVVRfQ0FDSEVBQkxFOwotfQotCi0vKioKLSAqIG5vbG9ja191bmxvY2sgLSB1bmxvY2sgYSBsb2NrCi0gKiBAbG9jazogdGhlIGxvY2sgdG8gbWFuaXB1bGF0ZQotICogQGN1cl9zdGF0ZTogdGhlIGN1cnJlbnQgc3RhdGUKLSAqCi0gKiBSZXR1cm5zOiAwCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCBub2xvY2tfdW5sb2NrKHZvaWQgKmxvY2ssIHVuc2lnbmVkIGludCBjdXJfc3RhdGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIG5vbG9ja19jYW5jZWwodm9pZCAqbG9jaykKLXsKLX0KLQotLyoqCi0gKiBub2xvY2tfaG9sZF9sdmIgLSBob2xkIG9uIHRvIGEgbG9jayB2YWx1ZSBibG9jawotICogQGxvY2s6IHRoZSBsb2NrIHRoZSBMVkIgaXMgYXNzb2NpYXRlZCB3aXRoCi0gKiBAbHZicDogcmV0dXJuIHRoZSBsbV9sdmJfdCBoZXJlCi0gKgotICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAtRVhYWCBvbiBmYWlsdXJlCi0gKi8KLQotc3RhdGljIGludCBub2xvY2tfaG9sZF9sdmIodm9pZCAqbG9jaywgY2hhciAqKmx2YnApCi17Ci0Jc3RydWN0IG5vbG9ja19sb2Nrc3BhY2UgKm5sID0gbG9jazsKLQlpbnQgZXJyb3IgPSAwOwotCi0JKmx2YnAgPSBremFsbG9jKG5sLT5ubF9sdmJfc2l6ZSwgR0ZQX05PRlMpOwotCWlmICghKmx2YnApCi0JCWVycm9yID0gLUVOT01FTTsKLQotCXJldHVybiBlcnJvcjsKLX0KLQotLyoqCi0gKiBub2xvY2tfdW5ob2xkX2x2YiAtIHJlbGVhc2UgYSBMVkIKLSAqIEBsb2NrOiB0aGUgbG9jayB0aGUgTFZCIGlzIGFzc29jaWF0ZWQgd2l0aAotICogQGx2YjogdGhlIGxvY2sgdmFsdWUgYmxvY2sKLSAqCi0gKi8KLQotc3RhdGljIHZvaWQgbm9sb2NrX3VuaG9sZF9sdmIodm9pZCAqbG9jaywgY2hhciAqbHZiKQotewotCWtmcmVlKGx2Yik7Ci19Ci0KLXN0YXRpYyBpbnQgbm9sb2NrX3Bsb2NrX2dldCh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCSAgICBzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGZpbGVfbG9jayAqZmwpCi17Ci0JcG9zaXhfdGVzdF9sb2NrKGZpbGUsIGZsKTsKLQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IG5vbG9ja19wbG9jayh2b2lkICpsb2Nrc3BhY2UsIHN0cnVjdCBsbV9sb2NrbmFtZSAqbmFtZSwKLQkJCXN0cnVjdCBmaWxlICpmaWxlLCBpbnQgY21kLCBzdHJ1Y3QgZmlsZV9sb2NrICpmbCkKLXsKLQlpbnQgZXJyb3I7Ci0JZXJyb3IgPSBwb3NpeF9sb2NrX2ZpbGVfd2FpdChmaWxlLCBmbCk7Ci0JcmV0dXJuIGVycm9yOwotfQotCi1zdGF0aWMgaW50IG5vbG9ja19wdW5sb2NrKHZvaWQgKmxvY2tzcGFjZSwgc3RydWN0IGxtX2xvY2tuYW1lICpuYW1lLAotCQkJICBzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGZpbGVfbG9jayAqZmwpCi17Ci0JaW50IGVycm9yOwotCWVycm9yID0gcG9zaXhfbG9ja19maWxlX3dhaXQoZmlsZSwgZmwpOwotCXJldHVybiBlcnJvcjsKLX0KLQotc3RhdGljIHZvaWQgbm9sb2NrX3JlY292ZXJ5X2RvbmUodm9pZCAqbG9ja3NwYWNlLCB1bnNpZ25lZCBpbnQgamlkLAotCQkJCSB1bnNpZ25lZCBpbnQgbWVzc2FnZSkKLXsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBsbV9sb2Nrb3BzIG5vbG9ja19vcHMgPSB7Ci0JLmxtX3Byb3RvX25hbWUgPSAibG9ja19ub2xvY2siLAotCS5sbV9tb3VudCA9IG5vbG9ja19tb3VudCwKLQkubG1fb3RoZXJzX21heV9tb3VudCA9IG5vbG9ja19vdGhlcnNfbWF5X21vdW50LAotCS5sbV91bm1vdW50ID0gbm9sb2NrX3VubW91bnQsCi0JLmxtX3dpdGhkcmF3ID0gbm9sb2NrX3dpdGhkcmF3LAotCS5sbV9nZXRfbG9jayA9IG5vbG9ja19nZXRfbG9jaywKLQkubG1fcHV0X2xvY2sgPSBub2xvY2tfcHV0X2xvY2ssCi0JLmxtX2xvY2sgPSBub2xvY2tfbG9jaywKLQkubG1fdW5sb2NrID0gbm9sb2NrX3VubG9jaywKLQkubG1fY2FuY2VsID0gbm9sb2NrX2NhbmNlbCwKLQkubG1faG9sZF9sdmIgPSBub2xvY2tfaG9sZF9sdmIsCi0JLmxtX3VuaG9sZF9sdmIgPSBub2xvY2tfdW5ob2xkX2x2YiwKLQkubG1fcGxvY2tfZ2V0ID0gbm9sb2NrX3Bsb2NrX2dldCwKLQkubG1fcGxvY2sgPSBub2xvY2tfcGxvY2ssCi0JLmxtX3B1bmxvY2sgPSBub2xvY2tfcHVubG9jaywKLQkubG1fcmVjb3ZlcnlfZG9uZSA9IG5vbG9ja19yZWNvdmVyeV9kb25lLAotCS5sbV9vd25lciA9IFRISVNfTU9EVUxFLAotfTsKLQotc3RhdGljIGludCBfX2luaXQgaW5pdF9ub2xvY2sodm9pZCkKLXsKLQlpbnQgZXJyb3I7Ci0KLQllcnJvciA9IGdmczJfcmVnaXN0ZXJfbG9ja3Byb3RvKCZub2xvY2tfb3BzKTsKLQlpZiAoZXJyb3IpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkgICAgICAgImxvY2tfbm9sb2NrOiBjYW4ndCByZWdpc3RlciBwcm90b2NvbDogJWRcbiIsIGVycm9yKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQotCXByaW50ayhLRVJOX0lORk8KLQkgICAgICAgIkxvY2tfTm9sb2NrIChidWlsdCAlcyAlcykgaW5zdGFsbGVkXG4iLCBfX0RBVEVfXywgX19USU1FX18pOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBfX2V4aXQgZXhpdF9ub2xvY2sodm9pZCkKLXsKLQlnZnMyX3VucmVnaXN0ZXJfbG9ja3Byb3RvKCZub2xvY2tfb3BzKTsKLX0KLQotbW9kdWxlX2luaXQoaW5pdF9ub2xvY2spOwotbW9kdWxlX2V4aXQoZXhpdF9ub2xvY2spOwotCi1NT0RVTEVfREVTQ1JJUFRJT04oIkdGUyBOb2xvY2sgTG9ja2luZyBNb2R1bGUiKTsKLU1PRFVMRV9BVVRIT1IoIlJlZCBIYXQsIEluYy4iKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2cuYyBiL2ZzL2dmczIvbG9nLmMKaW5kZXggNTQ4MjY0Yi4uNmM2YWY5ZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2cuYworKysgYi9mcy9nZnMyL2xvZy5jCkBAIC04Nyw2ICs4Nyw4IEBACiAgKi8KIAogc3RhdGljIHZvaWQgZ2ZzMl9haWwxX3N0YXJ0X29uZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgc3RydWN0IGdmczJfYWlsICphaSkKK19fcmVsZWFzZXMoJnNkcC0+c2RfbG9nX2xvY2spCitfX2FjcXVpcmVzKCZzZHAtPnNkX2xvZ19sb2NrKQogewogCXN0cnVjdCBnZnMyX2J1ZmRhdGEgKmJkLCAqczsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9sb2cuaCBiL2ZzL2dmczIvbG9nLmgKaW5kZXggNzcxMTUyOC4uN2M2NDUxMCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9sb2cuaAorKysgYi9mcy9nZnMyL2xvZy5oCkBAIC0yMSw2ICsyMSw3IEBACiAgKi8KIAogc3RhdGljIGlubGluZSB2b2lkIGdmczJfbG9nX2xvY2soc3RydWN0IGdmczJfc2JkICpzZHApCitfX2FjcXVpcmVzKCZzZHAtPnNkX2xvZ19sb2NrKQogewogCXNwaW5fbG9jaygmc2RwLT5zZF9sb2dfbG9jayk7CiB9CkBAIC0zMiw2ICszMyw3IEBACiAgKi8KIAogc3RhdGljIGlubGluZSB2b2lkIGdmczJfbG9nX3VubG9jayhzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCkKK19fcmVsZWFzZXMoJnNkcC0+c2RfbG9nX2xvY2spCiB7CiAJc3Bpbl91bmxvY2soJnNkcC0+c2RfbG9nX2xvY2spOwogfQpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9tYWluLmMgYi9mcy9nZnMyL21haW4uYwppbmRleCAwNTNlMmViLi5iY2M2NjhkIDEwMDY0NAotLS0gYS9mcy9nZnMyL21haW4uYworKysgYi9mcy9nZnMyL21haW4uYwpAQCAtNDAsOCArNDAsNiBAQAogCUlOSVRfSExJU1RfTk9ERSgmZ2wtPmdsX2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZnbC0+Z2xfc3Bpbik7CiAJSU5JVF9MSVNUX0hFQUQoJmdsLT5nbF9ob2xkZXJzKTsKLQlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX3dhaXRlcnMxKTsKLQlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX3dhaXRlcnMzKTsKIAlnbC0+Z2xfbHZiID0gTlVMTDsKIAlhdG9taWNfc2V0KCZnbC0+Z2xfbHZiX2NvdW50LCAwKTsKIAlJTklUX0xJU1RfSEVBRCgmZ2wtPmdsX3JlY2xhaW0pOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9tZXRhX2lvLmMgYi9mcy9nZnMyL21ldGFfaW8uYwppbmRleCA3OGQ3NWY4Li4wOTg1MzYyIDEwMDY0NAotLS0gYS9mcy9nZnMyL21ldGFfaW8uYworKysgYi9mcy9nZnMyL21ldGFfaW8uYwpAQCAtMTI5LDcgKzEyOSw3IEBACiB9CiAKIC8qKgotICogZ2V0YnVmIC0gR2V0IGEgYnVmZmVyIHdpdGggYSBnaXZlbiBhZGRyZXNzIHNwYWNlCisgKiBnZnMyX2dldGJ1ZiAtIEdldCBhIGJ1ZmZlciB3aXRoIGEgZ2l2ZW4gYWRkcmVzcyBzcGFjZQogICogQGdsOiB0aGUgZ2xvY2sKICAqIEBibGtubzogdGhlIGJsb2NrIG51bWJlciAoZmlsZXN5c3RlbSBzY29wZSkKICAqIEBjcmVhdGU6IDEgaWYgdGhlIGJ1ZmZlciBzaG91bGQgYmUgY3JlYXRlZApAQCAtMTM3LDcgKzEzNyw3IEBACiAgKiBSZXR1cm5zOiB0aGUgYnVmZmVyCiAgKi8KIAotc3RhdGljIHN0cnVjdCBidWZmZXJfaGVhZCAqZ2V0YnVmKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgY3JlYXRlKQorc3RydWN0IGJ1ZmZlcl9oZWFkICpnZnMyX2dldGJ1ZihzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywgaW50IGNyZWF0ZSkKIHsKIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGdsLT5nbF9hc3BhY2UtPmlfbWFwcGluZzsKIAlzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCA9IGdsLT5nbF9zYmQ7CkBAIC0yMDUsNyArMjA1LDcgQEAKIHN0cnVjdCBidWZmZXJfaGVhZCAqZ2ZzMl9tZXRhX25ldyhzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubykKIHsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCWJoID0gZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKKwliaCA9IGdmczJfZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKIAltZXRhX3ByZXBfbmV3KGJoKTsKIAlyZXR1cm4gYmg7CiB9CkBAIC0yMjMsNyArMjIzLDcgQEAKIGludCBnZnMyX21ldGFfcmVhZChzdHJ1Y3QgZ2ZzMl9nbG9jayAqZ2wsIHU2NCBibGtubywgaW50IGZsYWdzLAogCQkgICBzdHJ1Y3QgYnVmZmVyX2hlYWQgKipiaHApCiB7Ci0JKmJocCA9IGdldGJ1ZihnbCwgYmxrbm8sIENSRUFURSk7CisJKmJocCA9IGdmczJfZ2V0YnVmKGdsLCBibGtubywgQ1JFQVRFKTsKIAlpZiAoIWJ1ZmZlcl91cHRvZGF0ZSgqYmhwKSkgewogCQlsbF9yd19ibG9jayhSRUFEX01FVEEsIDEsIGJocCk7CiAJCWlmIChmbGFncyAmIERJT19XQUlUKSB7CkBAIC0zNDYsNyArMzQ2LDcgQEAKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwogCiAJd2hpbGUgKGJsZW4pIHsKLQkJYmggPSBnZXRidWYoaXAtPmlfZ2wsIGJzdGFydCwgTk9fQ1JFQVRFKTsKKwkJYmggPSBnZnMyX2dldGJ1ZihpcC0+aV9nbCwgYnN0YXJ0LCBOT19DUkVBVEUpOwogCQlpZiAoYmgpIHsKIAkJCWxvY2tfYnVmZmVyKGJoKTsKIAkJCWdmczJfbG9nX2xvY2soc2RwKTsKQEAgLTQyMSw3ICs0MjEsNyBAQAogCWlmIChleHRsZW4gPiBtYXhfcmEpCiAJCWV4dGxlbiA9IG1heF9yYTsKIAotCWZpcnN0X2JoID0gZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CisJZmlyc3RfYmggPSBnZnMyX2dldGJ1ZihnbCwgZGJsb2NrLCBDUkVBVEUpOwogCiAJaWYgKGJ1ZmZlcl91cHRvZGF0ZShmaXJzdF9iaCkpCiAJCWdvdG8gb3V0OwpAQCAtNDMyLDcgKzQzMiw3IEBACiAJZXh0bGVuLS07CiAKIAl3aGlsZSAoZXh0bGVuKSB7Ci0JCWJoID0gZ2V0YnVmKGdsLCBkYmxvY2ssIENSRUFURSk7CisJCWJoID0gZ2ZzMl9nZXRidWYoZ2wsIGRibG9jaywgQ1JFQVRFKTsKIAogCQlpZiAoIWJ1ZmZlcl91cHRvZGF0ZShiaCkgJiYgIWJ1ZmZlcl9sb2NrZWQoYmgpKQogCQkJbGxfcndfYmxvY2soUkVBREEsIDEsICZiaCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL21ldGFfaW8uaCBiL2ZzL2dmczIvbWV0YV9pby5oCmluZGV4IDczZTNiMWMuLmIxYTVmMzYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvbWV0YV9pby5oCisrKyBiL2ZzL2dmczIvbWV0YV9pby5oCkBAIC00Nyw2ICs0Nyw3IEBACiBpbnQgZ2ZzMl9tZXRhX3JlYWQoc3RydWN0IGdmczJfZ2xvY2sgKmdsLCB1NjQgYmxrbm8sCiAJCSAgIGludCBmbGFncywgc3RydWN0IGJ1ZmZlcl9oZWFkICoqYmhwKTsKIGludCBnZnMyX21ldGFfd2FpdChzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCk7CitzdHJ1Y3QgYnVmZmVyX2hlYWQgKmdmczJfZ2V0YnVmKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgdTY0IGJsa25vLCBpbnQgY3JlYXRlKTsKIAogdm9pZCBnZnMyX2F0dGFjaF9idWZkYXRhKHN0cnVjdCBnZnMyX2dsb2NrICpnbCwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCwKIAkJCSBpbnQgbWV0YSk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19hZGRyZXNzLmMgYi9mcy9nZnMyL29wc19hZGRyZXNzLmMKaW5kZXggZjU1Mzk0ZS4uZTY0YTFiMCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfYWRkcmVzcy5jCisrKyBiL2ZzL2dmczIvb3BzX2FkZHJlc3MuYwpAQCAtNDk5LDM0ICs0OTksMzQgQEAKICAqIEBmaWxlOiBUaGUgZmlsZSB0byByZWFkCiAgKiBAcGFnZTogVGhlIHBhZ2Ugb2YgdGhlIGZpbGUKICAqCi0gKiBUaGlzIGRlYWxzIHdpdGggdGhlIGxvY2tpbmcgcmVxdWlyZWQuIFdlIHVzZSBhIHRyeWxvY2sgaW4gb3JkZXIgdG8KLSAqIGF2b2lkIHRoZSBwYWdlIGxvY2sgLyBnbG9jayBvcmRlcmluZyBwcm9ibGVtcyByZXR1cm5pbmcgQU9QX1RSVU5DQVRFRF9QQUdFCi0gKiBpbiB0aGUgZXZlbnQgdGhhdCB3ZSBhcmUgdW5hYmxlIHRvIGdldCB0aGUgbG9jay4KKyAqIFRoaXMgZGVhbHMgd2l0aCB0aGUgbG9ja2luZyByZXF1aXJlZC4gV2UgaGF2ZSB0byB1bmxvY2sgYW5kCisgKiByZWxvY2sgdGhlIHBhZ2UgaW4gb3JkZXIgdG8gZ2V0IHRoZSBsb2NraW5nIGluIHRoZSByaWdodAorICogb3JkZXIuCiAgKi8KIAogc3RhdGljIGludCBnZnMyX3JlYWRwYWdlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgcGFnZSAqcGFnZSkKIHsKLQlzdHJ1Y3QgZ2ZzMl9pbm9kZSAqaXAgPSBHRlMyX0kocGFnZS0+bWFwcGluZy0+aG9zdCk7Ci0Jc3RydWN0IGdmczJfaG9sZGVyICpnaDsKKwlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IHBhZ2UtPm1hcHBpbmc7CisJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKG1hcHBpbmctPmhvc3QpOworCXN0cnVjdCBnZnMyX2hvbGRlciBnaDsKIAlpbnQgZXJyb3I7CiAKLQlnaCA9IGdmczJfZ2xvY2tfaXNfbG9ja2VkX2J5X21lKGlwLT5pX2dsKTsKLQlpZiAoIWdoKSB7Ci0JCWdoID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IGdmczJfaG9sZGVyKSwgR0ZQX05PRlMpOwotCQlpZiAoIWdoKQotCQkJcmV0dXJuIC1FTk9CVUZTOwotCQlnZnMyX2hvbGRlcl9pbml0KGlwLT5pX2dsLCBMTV9TVF9TSEFSRUQsIEdMX0FUSU1FLCBnaCk7CisJdW5sb2NrX3BhZ2UocGFnZSk7CisJZ2ZzMl9ob2xkZXJfaW5pdChpcC0+aV9nbCwgTE1fU1RfU0hBUkVELCBHTF9BVElNRSwgJmdoKTsKKwllcnJvciA9IGdmczJfZ2xvY2tfbnFfYXRpbWUoJmdoKTsKKwlpZiAodW5saWtlbHkoZXJyb3IpKQorCQlnb3RvIG91dDsKKwllcnJvciA9IEFPUF9UUlVOQ0FURURfUEFHRTsKKwlsb2NrX3BhZ2UocGFnZSk7CisJaWYgKHBhZ2UtPm1hcHBpbmcgPT0gbWFwcGluZyAmJiAhUGFnZVVwdG9kYXRlKHBhZ2UpKQorCQllcnJvciA9IF9fZ2ZzMl9yZWFkcGFnZShmaWxlLCBwYWdlKTsKKwllbHNlCiAJCXVubG9ja19wYWdlKHBhZ2UpOwotCQllcnJvciA9IGdmczJfZ2xvY2tfbnFfYXRpbWUoZ2gpOwotCQlpZiAobGlrZWx5KGVycm9yICE9IDApKQotCQkJZ290byBvdXQ7Ci0JCXJldHVybiBBT1BfVFJVTkNBVEVEX1BBR0U7Ci0JfQotCWVycm9yID0gX19nZnMyX3JlYWRwYWdlKGZpbGUsIHBhZ2UpOwotCWdmczJfZ2xvY2tfZHEoZ2gpOworCWdmczJfZ2xvY2tfZHEoJmdoKTsKIG91dDoKLQlnZnMyX2hvbGRlcl91bmluaXQoZ2gpOwotCWtmcmVlKGdoKTsKKwlnZnMyX2hvbGRlcl91bmluaXQoJmdoKTsKKwlpZiAoZXJyb3IgJiYgZXJyb3IgIT0gQU9QX1RSVU5DQVRFRF9QQUdFKQorCQlsb2NrX3BhZ2UocGFnZSk7CiAJcmV0dXJuIGVycm9yOwogfQogCmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19maWxlLmMgYi9mcy9nZnMyL29wc19maWxlLmMKaW5kZXggZTFiN2Q1Mi4uZTlhMzY2ZCAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfZmlsZS5jCisrKyBiL2ZzL2dmczIvb3BzX2ZpbGUuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgogI2luY2x1ZGUgPGxpbnV4L2Jsa2Rldi5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvbW91bnQuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L2dmczJfb25kaXNrLmg+CiAjaW5jbHVkZSA8bGludXgvZXh0Ml9mcy5oPgpAQCAtNjIsMTEgKzYzLDExIEBACiAJCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KGlwLT5pX2dsLCBMTV9TVF9TSEFSRUQsIExNX0ZMQUdfQU5ZLAogCQkJCQkgICAmaV9naCk7CiAJCWlmICghZXJyb3IpIHsKLQkJCWVycm9yID0gcmVtb3RlX2xsc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJCQllcnJvciA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOwogCQkJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmlfZ2gpOwogCQl9CiAJfSBlbHNlCi0JCWVycm9yID0gcmVtb3RlX2xsc2VlayhmaWxlLCBvZmZzZXQsIG9yaWdpbik7CisJCWVycm9yID0gZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChmaWxlLCBvZmZzZXQsIG9yaWdpbik7CiAKIAlyZXR1cm4gZXJyb3I7CiB9CkBAIC0xMzMsNyArMTM0LDYgQEAKIAlbN10gPSBHRlMyX0RJRl9OT0FUSU1FLAogCVsxMl0gPSBHRlMyX0RJRl9FWEhBU0gsCiAJWzE0XSA9IEdGUzJfRElGX0lOSEVSSVRfSkRBVEEsCi0JWzIwXSA9IEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8sCiB9OwogCiBzdGF0aWMgY29uc3QgdTMyIGdmczJfdG9fZnNmbGFnc1szMl0gPSB7CkBAIC0xNDIsNyArMTQyLDYgQEAKIAlbZ2ZzMmZsX0FwcGVuZE9ubHldID0gRlNfQVBQRU5EX0ZMLAogCVtnZnMyZmxfTm9BdGltZV0gPSBGU19OT0FUSU1FX0ZMLAogCVtnZnMyZmxfRXhIYXNoXSA9IEZTX0lOREVYX0ZMLAotCVtnZnMyZmxfSW5oZXJpdERpcmVjdGlvXSA9IEZTX0RJUkVDVElPX0ZMLAogCVtnZnMyZmxfSW5oZXJpdEpkYXRhXSA9IEZTX0pPVVJOQUxfREFUQV9GTCwKIH07CiAKQEAgLTE2MCwxMiArMTU5LDggQEAKIAkJcmV0dXJuIGVycm9yOwogCiAJZnNmbGFncyA9IGZzZmxhZ3NfY3Z0KGdmczJfdG9fZnNmbGFncywgaXAtPmlfZGkuZGlfZmxhZ3MpOwotCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSkgewotCQlpZiAoaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9KREFUQSkKLQkJCWZzZmxhZ3MgfD0gRlNfSk9VUk5BTF9EQVRBX0ZMOwotCQlpZiAoaXAtPmlfZGkuZGlfZmxhZ3MgJiBHRlMyX0RJRl9ESVJFQ1RJTykKLQkJCWZzZmxhZ3MgfD0gRlNfRElSRUNUSU9fRkw7Ci0JfQorCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSAmJiBpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0pEQVRBKQorCQlmc2ZsYWdzIHw9IEZTX0pPVVJOQUxfREFUQV9GTDsKIAlpZiAocHV0X3VzZXIoZnNmbGFncywgcHRyKSkKIAkJZXJyb3IgPSAtRUZBVUxUOwogCkBAIC0xOTQsMTMgKzE4OSwxMSBAQAogCiAvKiBGbGFncyB0aGF0IGNhbiBiZSBzZXQgYnkgdXNlciBzcGFjZSAqLwogI2RlZmluZSBHRlMyX0ZMQUdTX1VTRVJfU0VUIChHRlMyX0RJRl9KREFUQXwJCQlcCi0JCQkgICAgIEdGUzJfRElGX0RJUkVDVElPfAkJCVwKIAkJCSAgICAgR0ZTMl9ESUZfSU1NVVRBQkxFfAkJXAogCQkJICAgICBHRlMyX0RJRl9BUFBFTkRPTkxZfAkJXAogCQkJICAgICBHRlMyX0RJRl9OT0FUSU1FfAkJCVwKIAkJCSAgICAgR0ZTMl9ESUZfU1lOQ3wJCQlcCiAJCQkgICAgIEdGUzJfRElGX1NZU1RFTXwJCQlcCi0JCQkgICAgIEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU98CQlcCiAJCQkgICAgIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpCiAKIC8qKgpAQCAtMjIwLDEwICsyMTMsMTQgQEAKIAlpbnQgZXJyb3I7CiAJdTMyIG5ld19mbGFncywgZmxhZ3M7CiAKLQllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChpcC0+aV9nbCwgTE1fU1RfRVhDTFVTSVZFLCAwLCAmZ2gpOworCWVycm9yID0gbW50X3dhbnRfd3JpdGUoZmlscC0+Zl9wYXRoLm1udCk7CiAJaWYgKGVycm9yKQogCQlyZXR1cm4gZXJyb3I7CiAKKwllcnJvciA9IGdmczJfZ2xvY2tfbnFfaW5pdChpcC0+aV9nbCwgTE1fU1RfRVhDTFVTSVZFLCAwLCAmZ2gpOworCWlmIChlcnJvcikKKwkJZ290byBvdXRfZHJvcF93cml0ZTsKKwogCWZsYWdzID0gaXAtPmlfZGkuZGlfZmxhZ3M7CiAJbmV3X2ZsYWdzID0gKGZsYWdzICYgfm1hc2spIHwgKHJlcWZsYWdzICYgbWFzayk7CiAJaWYgKChuZXdfZmxhZ3MgXiBmbGFncykgPT0gMCkKQEAgLTI0Miw3ICsyMzksNyBAQAogCSAgICAhY2FwYWJsZShDQVBfTElOVVhfSU1NVVRBQkxFKSkKIAkJZ290byBvdXQ7CiAJaWYgKCFJU19JTU1VVEFCTEUoaW5vZGUpKSB7Ci0JCWVycm9yID0gcGVybWlzc2lvbihpbm9kZSwgTUFZX1dSSVRFLCBOVUxMKTsKKwkJZXJyb3IgPSBnZnMyX3Blcm1pc3Npb24oaW5vZGUsIE1BWV9XUklURSk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0OwogCX0KQEAgLTI3Miw2ICsyNjksOCBAQAogCWdmczJfdHJhbnNfZW5kKHNkcCk7CiBvdXQ6CiAJZ2ZzMl9nbG9ja19kcV91bmluaXQoJmdoKTsKK291dF9kcm9wX3dyaXRlOgorCW1udF9kcm9wX3dyaXRlKGZpbHAtPmZfcGF0aC5tbnQpOwogCXJldHVybiBlcnJvcjsKIH0KIApAQCAtMjg1LDggKzI4NCw2IEBACiAJaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpKSB7CiAJCWlmIChnZnNmbGFncyAmIEdGUzJfRElGX0lOSEVSSVRfSkRBVEEpCiAJCQlnZnNmbGFncyBePSAoR0ZTMl9ESUZfSkRBVEEgfCBHRlMyX0RJRl9JTkhFUklUX0pEQVRBKTsKLQkJaWYgKGdmc2ZsYWdzICYgR0ZTMl9ESUZfSU5IRVJJVF9ESVJFQ1RJTykKLQkJCWdmc2ZsYWdzIF49IChHRlMyX0RJRl9ESVJFQ1RJTyB8IEdGUzJfRElGX0lOSEVSSVRfRElSRUNUSU8pOwogCQlyZXR1cm4gZG9fZ2ZzMl9zZXRfZmxhZ3MoZmlscCwgZ2ZzZmxhZ3MsIH4wKTsKIAl9CiAJcmV0dXJuIGRvX2dmczJfc2V0X2ZsYWdzKGZpbHAsIGdmc2ZsYWdzLCB+R0ZTMl9ESUZfSkRBVEEpOwpAQCAtNDg3LDExICs0ODQsNiBAQAogCQkJZ290byBmYWlsX2d1bmxvY2s7CiAJCX0KIAotCQkvKiBMaXN0ZW4gdG8gdGhlIERpcmVjdCBJL08gZmxhZyAqLwotCi0JCWlmIChpcC0+aV9kaS5kaV9mbGFncyAmIEdGUzJfRElGX0RJUkVDVElPKQotCQkJZmlsZS0+Zl9mbGFncyB8PSBPX0RJUkVDVDsKLQogCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmaV9naCk7CiAJfQogCkBAIC02NjksOCArNjYxLDcgQEAKIAlpbnQgZXJyb3IgPSAwOwogCiAJc3RhdGUgPSAoZmwtPmZsX3R5cGUgPT0gRl9XUkxDSykgPyBMTV9TVF9FWENMVVNJVkUgOiBMTV9TVF9TSEFSRUQ7Ci0JZmxhZ3MgPSAoSVNfU0VUTEtXKGNtZCkgPyAwIDogTE1fRkxBR19UUlkpIHwgR0xfRVhBQ1QgfCBHTF9OT0NBQ0hFIAotCQl8IEdMX0ZMT0NLOworCWZsYWdzID0gKElTX1NFVExLVyhjbWQpID8gMCA6IExNX0ZMQUdfVFJZKSB8IEdMX0VYQUNUIHwgR0xfTk9DQUNIRTsKIAogCW11dGV4X2xvY2soJmZwLT5mX2ZsX211dGV4KTsKIApAQCAtNjgzLDkgKzY3NCw4IEBACiAJCWdmczJfZ2xvY2tfZHFfd2FpdChmbF9naCk7CiAJCWdmczJfaG9sZGVyX3JlaW5pdChzdGF0ZSwgZmxhZ3MsIGZsX2doKTsKIAl9IGVsc2UgewotCQllcnJvciA9IGdmczJfZ2xvY2tfZ2V0KEdGUzJfU0IoJmlwLT5pX2lub2RlKSwKLQkJCQkgICAgICBpcC0+aV9ub19hZGRyLCAmZ2ZzMl9mbG9ja19nbG9wcywKLQkJCQkgICAgICBDUkVBVEUsICZnbCk7CisJCWVycm9yID0gZ2ZzMl9nbG9ja19nZXQoR0ZTMl9TQigmaXAtPmlfaW5vZGUpLCBpcC0+aV9ub19hZGRyLAorCQkJCSAgICAgICAmZ2ZzMl9mbG9ja19nbG9wcywgQ1JFQVRFLCAmZ2wpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dDsKIAkJZ2ZzMl9ob2xkZXJfaW5pdChnbCwgc3RhdGUsIGZsYWdzLCBmbF9naCk7CmRpZmYgLS1naXQgYS9mcy9nZnMyL29wc19mc3R5cGUuYyBiL2ZzL2dmczIvb3BzX2ZzdHlwZS5jCmluZGV4IGIyMDI4YzguLmI0ZDFkNjQ5IDEwMDY0NAotLS0gYS9mcy9nZnMyL29wc19mc3R5cGUuYworKysgYi9mcy9nZnMyL29wc19mc3R5cGUuYwpAQCAtNjQsNyArNjQsNiBAQAogCW11dGV4X2luaXQoJnNkcC0+c2RfcmluZGV4X211dGV4KTsKIAlJTklUX0xJU1RfSEVBRCgmc2RwLT5zZF9yaW5kZXhfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfcmluZGV4X21ydV9saXN0KTsKLQlJTklUX0xJU1RfSEVBRCgmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QpOwogCiAJSU5JVF9MSVNUX0hFQUQoJnNkcC0+c2RfamluZGV4X2xpc3QpOwogCXNwaW5fbG9ja19pbml0KCZzZHAtPnNkX2ppbmRleF9zcGluKTsKQEAgLTM2NCw2ICszNjMsOCBAQAogCiBzdGF0aWMgdm9pZCBnZnMyX2xtX290aGVyc19tYXlfbW91bnQoc3RydWN0IGdmczJfc2JkICpzZHApCiB7CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9vdGhlcnNfbWF5X21vdW50KQorCQlyZXR1cm47CiAJaWYgKGxpa2VseSghdGVzdF9iaXQoU0RGX1NIVVRET1dOLCAmc2RwLT5zZF9mbGFncykpKQogCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9vdGhlcnNfbWF5X21vdW50KAogCQkJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlKTsKQEAgLTc0MSw4ICs3NDIsNyBAQAogCQlnb3RvIG91dDsKIAl9CiAKLQlpZiAoZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19sb2Nrc3BhY2UpIHx8Ci0JICAgIGdmczJfYXNzZXJ0X3dhcm4oc2RwLCBzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzKSB8fAorCWlmIChnZnMyX2Fzc2VydF93YXJuKHNkcCwgc2RwLT5zZF9sb2Nrc3RydWN0LmxzX29wcykgfHwKIAkgICAgZ2ZzMl9hc3NlcnRfd2FybihzZHAsIHNkcC0+c2RfbG9ja3N0cnVjdC5sc19sdmJfc2l6ZSA+PQogCQkJCSAgR0ZTMl9NSU5fTFZCX1NJWkUpKSB7CiAJCWdmczJfdW5tb3VudF9sb2NrcHJvdG8oJnNkcC0+c2RfbG9ja3N0cnVjdCk7CkBAIC04NzMsNyArODczLDcgQEAKIGZhaWxfbG9ja2luZzoKIAlpbml0X2xvY2tpbmcoc2RwLCAmbW91bnRfZ2gsIFVORE8pOwogZmFpbF9sbToKLQlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwLCBXQUlUKTsKKwlnZnMyX2dsX2hhc2hfY2xlYXIoc2RwKTsKIAlnZnMyX2xtX3VubW91bnQoc2RwKTsKIAl3aGlsZSAoaW52YWxpZGF0ZV9pbm9kZXMoc2IpKQogCQl5aWVsZCgpOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9vcHNfaW5vZGUuYyBiL2ZzL2dmczIvb3BzX2lub2RlLmMKaW5kZXggMjY4NmFkNC4uMWUyNTJkZiAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9vcHNfaW5vZGUuYworKysgYi9mcy9nZnMyL29wc19pbm9kZS5jCkBAIC0xNjMsNyArMTYzLDcgQEAKIAlpZiAoZXJyb3IpCiAJCWdvdG8gb3V0OwogCi0JZXJyb3IgPSBwZXJtaXNzaW9uKGRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCWVycm9yID0gZ2ZzMl9wZXJtaXNzaW9uKGRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMpOwogCWlmIChlcnJvcikKIAkJZ290byBvdXRfZ3VubG9jazsKIApAQCAtNjY5LDcgKzY2OSw3IEBACiAJCQl9CiAJCX0KIAl9IGVsc2UgewotCQllcnJvciA9IHBlcm1pc3Npb24obmRpciwgTUFZX1dSSVRFIHwgTUFZX0VYRUMsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihuZGlyLCBNQVlfV1JJVEUgfCBNQVlfRVhFQyk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gb3V0X2d1bmxvY2s7CiAKQEAgLTcwNCw3ICs3MDQsNyBAQAogCS8qIENoZWNrIG91dCB0aGUgZGlyIHRvIGJlIHJlbmFtZWQgKi8KIAogCWlmIChkaXJfcmVuYW1lKSB7Ci0JCWVycm9yID0gcGVybWlzc2lvbihvZGVudHJ5LT5kX2lub2RlLCBNQVlfV1JJVEUsIE5VTEwpOworCQllcnJvciA9IGdmczJfcGVybWlzc2lvbihvZGVudHJ5LT5kX2lub2RlLCBNQVlfV1JJVEUpOwogCQlpZiAoZXJyb3IpCiAJCQlnb3RvIG91dF9ndW5sb2NrOwogCX0KQEAgLTg5MSw3ICs4OTEsNyBAQAogICogUmV0dXJuczogZXJybm8KICAqLwogCi1zdGF0aWMgaW50IGdmczJfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywgc3RydWN0IG5hbWVpZGF0YSAqbmQpCitpbnQgZ2ZzMl9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrKQogewogCXN0cnVjdCBnZnMyX2lub2RlICppcCA9IEdGUzJfSShpbm9kZSk7CiAJc3RydWN0IGdmczJfaG9sZGVyIGlfZ2g7CkBAIC05MDUsMTMgKzkwNSwyMiBAQAogCQl1bmxvY2sgPSAxOwogCX0KIAotCWVycm9yID0gZ2VuZXJpY19wZXJtaXNzaW9uKGlub2RlLCBtYXNrLCBnZnMyX2NoZWNrX2FjbCk7CisJaWYgKChtYXNrICYgTUFZX1dSSVRFKSAmJiBJU19JTU1VVEFCTEUoaW5vZGUpKQorCQllcnJvciA9IC1FQUNDRVM7CisJZWxzZQorCQllcnJvciA9IGdlbmVyaWNfcGVybWlzc2lvbihpbm9kZSwgbWFzaywgZ2ZzMl9jaGVja19hY2wpOwogCWlmICh1bmxvY2spCiAJCWdmczJfZ2xvY2tfZHFfdW5pbml0KCZpX2doKTsKIAogCXJldHVybiBlcnJvcjsKIH0KIAorc3RhdGljIGludCBnZnMyX2lvcF9wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtYXNrLAorCQkJICAgICAgIHN0cnVjdCBuYW1laWRhdGEgKm5kKQoreworCXJldHVybiBnZnMyX3Blcm1pc3Npb24oaW5vZGUsIG1hc2spOworfQorCiBzdGF0aWMgaW50IHNldGF0dHJfc2l6ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaWF0dHIgKmF0dHIpCiB7CiAJc3RydWN0IGdmczJfaW5vZGUgKmlwID0gR0ZTMl9JKGlub2RlKTsKQEAgLTExNDEsNyArMTE1MCw3IEBACiB9CiAKIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGdmczJfZmlsZV9pb3BzID0gewotCS5wZXJtaXNzaW9uID0gZ2ZzMl9wZXJtaXNzaW9uLAorCS5wZXJtaXNzaW9uID0gZ2ZzMl9pb3BfcGVybWlzc2lvbiwKIAkuc2V0YXR0ciA9IGdmczJfc2V0YXR0ciwKIAkuZ2V0YXR0ciA9IGdmczJfZ2V0YXR0ciwKIAkuc2V0eGF0dHIgPSBnZnMyX3NldHhhdHRyLApAQCAtMTE2MCw3ICsxMTY5LDcgQEAKIAkucm1kaXIgPSBnZnMyX3JtZGlyLAogCS5ta25vZCA9IGdmczJfbWtub2QsCiAJLnJlbmFtZSA9IGdmczJfcmVuYW1lLAotCS5wZXJtaXNzaW9uID0gZ2ZzMl9wZXJtaXNzaW9uLAorCS5wZXJtaXNzaW9uID0gZ2ZzMl9pb3BfcGVybWlzc2lvbiwKIAkuc2V0YXR0ciA9IGdmczJfc2V0YXR0ciwKIAkuZ2V0YXR0ciA9IGdmczJfZ2V0YXR0ciwKIAkuc2V0eGF0dHIgPSBnZnMyX3NldHhhdHRyLApAQCAtMTE3Miw3ICsxMTgxLDcgQEAKIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIGdmczJfc3ltbGlua19pb3BzID0gewogCS5yZWFkbGluayA9IGdmczJfcmVhZGxpbmssCiAJLmZvbGxvd19saW5rID0gZ2ZzMl9mb2xsb3dfbGluaywKLQkucGVybWlzc2lvbiA9IGdmczJfcGVybWlzc2lvbiwKKwkucGVybWlzc2lvbiA9IGdmczJfaW9wX3Blcm1pc3Npb24sCiAJLnNldGF0dHIgPSBnZnMyX3NldGF0dHIsCiAJLmdldGF0dHIgPSBnZnMyX2dldGF0dHIsCiAJLnNldHhhdHRyID0gZ2ZzMl9zZXR4YXR0ciwKZGlmZiAtLWdpdCBhL2ZzL2dmczIvb3BzX3N1cGVyLmMgYi9mcy9nZnMyL29wc19zdXBlci5jCmluZGV4IDBiN2NjOTIuLmY2NmVhMGYgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvb3BzX3N1cGVyLmMKKysrIGIvZnMvZ2ZzMi9vcHNfc3VwZXIuYwpAQCAtMTI2LDcgKzEyNiw3IEBACiAJZ2ZzMl9jbGVhcl9yZ3JwZChzZHApOwogCWdmczJfamluZGV4X2ZyZWUoc2RwKTsKIAkvKiAgVGFrZSBhcGFydCBnbG9jayBzdHJ1Y3R1cmVzIGFuZCBidWZmZXIgbGlzdHMgICovCi0JZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgV0FJVCk7CisJZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCk7CiAJLyogIFVubW91bnQgdGhlIGxvY2tpbmcgcHJvdG9jb2wgICovCiAJZ2ZzMl9sbV91bm1vdW50KHNkcCk7CiAKQEAgLTE1NSw3ICsxNTUsNyBAQAogc3RhdGljIGludCBnZnMyX3N5bmNfZnMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgaW50IHdhaXQpCiB7CiAJc2ItPnNfZGlydCA9IDA7Ci0JaWYgKHdhaXQpCisJaWYgKHdhaXQgJiYgc2ItPnNfZnNfaW5mbykKIAkJZ2ZzMl9sb2dfZmx1c2goc2ItPnNfZnNfaW5mbywgTlVMTCk7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9nZnMyL3F1b3RhLmMgYi9mcy9nZnMyL3F1b3RhLmMKaW5kZXggNTZhYWY5MS4uM2UwNzNmNSAxMDA2NDQKLS0tIGEvZnMvZ2ZzMi9xdW90YS5jCisrKyBiL2ZzL2dmczIvcXVvdGEuYwpAQCAtOTA0LDcgKzkwNCw3IEBACiAJCWRvX3N5bmMgPSAwOwogCWVsc2UgewogCQl2YWx1ZSAqPSBnZnMyX2ppbmRleF9zaXplKHNkcCkgKiBudW07Ci0JCWRvX2Rpdih2YWx1ZSwgZGVuKTsKKwkJdmFsdWUgPSBkaXZfczY0KHZhbHVlLCBkZW4pOwogCQl2YWx1ZSArPSAoczY0KWJlNjRfdG9fY3B1KHFkLT5xZF9xYi5xYl92YWx1ZSk7CiAJCWlmICh2YWx1ZSA8IChzNjQpYmU2NF90b19jcHUocWQtPnFkX3FiLnFiX2xpbWl0KSkKIAkJCWRvX3N5bmMgPSAwOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9yZWNvdmVyeS5jIGIvZnMvZ2ZzMi9yZWNvdmVyeS5jCmluZGV4IDI4ODhlNGIuLmQ1ZTkxZjQgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvcmVjb3ZlcnkuYworKysgYi9mcy9nZnMyL3JlY292ZXJ5LmMKQEAgLTQyOCw2ICs0MjgsOSBAQAogc3RhdGljIHZvaWQgZ2ZzMl9sbV9yZWNvdmVyeV9kb25lKHN0cnVjdCBnZnMyX3NiZCAqc2RwLCB1bnNpZ25lZCBpbnQgamlkLAogCQkJCSAgdW5zaWduZWQgaW50IG1lc3NhZ2UpCiB7CisJaWYgKCFzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfb3BzLT5sbV9yZWNvdmVyeV9kb25lKQorCQlyZXR1cm47CisKIAlpZiAobGlrZWx5KCF0ZXN0X2JpdChTREZfU0hVVERPV04sICZzZHAtPnNkX2ZsYWdzKSkpCiAJCXNkcC0+c2RfbG9ja3N0cnVjdC5sc19vcHMtPmxtX3JlY292ZXJ5X2RvbmUoCiAJCQlzZHAtPnNkX2xvY2tzdHJ1Y3QubHNfbG9ja3NwYWNlLCBqaWQsIG1lc3NhZ2UpOwpAQCAtNTA1LDcgKzUwOCw3IEBACiAKIAkJZXJyb3IgPSBnZnMyX2dsb2NrX25xX2luaXQoc2RwLT5zZF90cmFuc19nbCwgTE1fU1RfU0hBUkVELAogCQkJCQkgICBMTV9GTEFHX05PRVhQIHwgTE1fRkxBR19QUklPUklUWSB8Ci0JCQkJCSAgIEdMX05PQ0FOQ0VMIHwgR0xfTk9DQUNIRSwgJnRfZ2gpOworCQkJCQkgICBHTF9OT0NBQ0hFLCAmdF9naCk7CiAJCWlmIChlcnJvcikKIAkJCWdvdG8gZmFpbF9ndW5sb2NrX2ppOwogCmRpZmYgLS1naXQgYS9mcy9nZnMyL3JncnAuYyBiL2ZzL2dmczIvcmdycC5jCmluZGV4IDM0MDE2MjguLjJkOTBmYjIgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvcmdycC5jCisrKyBiL2ZzL2dmczIvcmdycC5jCkBAIC0zNzEsMTEgKzM3MSw2IEBACiAKIAlzcGluX2xvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCXNkcC0+c2RfcmluZGV4X2ZvcndhcmQgPSBOVUxMOwotCWhlYWQgPSAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3Q7Ci0Jd2hpbGUgKCFsaXN0X2VtcHR5KGhlYWQpKSB7Ci0JCXJnZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci0JCWxpc3RfZGVsKCZyZ2QtPnJkX3JlY2VudCk7Ci0JfQogCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKIAogCWhlYWQgPSAmc2RwLT5zZF9yaW5kZXhfbGlzdDsKQEAgLTk0NSwxMDcgKzk0MCwzMCBAQAogfQogCiAvKioKLSAqIHJlY2VudF9yZ3JwX2ZpcnN0IC0gZ2V0IGZpcnN0IFJHIGZyb20gInJlY2VudCIgbGlzdAotICogQHNkcDogVGhlIEdGUzIgc3VwZXJibG9jawotICogQHJnbGFzdDogYWRkcmVzcyBvZiB0aGUgcmdycCB1c2VkIGxhc3QKLSAqCi0gKiBSZXR1cm5zOiBUaGUgZmlyc3QgcmdycCBpbiB0aGUgcmVjZW50IGxpc3QKLSAqLwotCi1zdGF0aWMgc3RydWN0IGdmczJfcmdycGQgKnJlY2VudF9yZ3JwX2ZpcnN0KHN0cnVjdCBnZnMyX3NiZCAqc2RwLAotCQkJCQkgICAgdTY0IHJnbGFzdCkKLXsKLQlzdHJ1Y3QgZ2ZzMl9yZ3JwZCAqcmdkOwotCi0Jc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLQotCWlmIChyZ2xhc3QpIHsKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShyZ2QsICZzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdCwgcmRfcmVjZW50KSB7Ci0JCQlpZiAocmdycF9jb250YWluc19ibG9jayhyZ2QsIHJnbGFzdCkpCi0JCQkJZ290byBvdXQ7Ci0JCX0KLQl9Ci0JcmdkID0gTlVMTDsKLQlpZiAoIWxpc3RfZW1wdHkoJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0KSkKLQkJcmdkID0gbGlzdF9lbnRyeShzZHAtPnNkX3JpbmRleF9yZWNlbnRfbGlzdC5uZXh0LAotCQkJCSBzdHJ1Y3QgZ2ZzMl9yZ3JwZCwgcmRfcmVjZW50KTsKLW91dDoKLQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0JcmV0dXJuIHJnZDsKLX0KLQotLyoqCiAgKiByZWNlbnRfcmdycF9uZXh0IC0gZ2V0IG5leHQgUkcgZnJvbSAicmVjZW50IiBsaXN0CiAgKiBAY3VyX3JnZDogY3VycmVudCByZ3JwCi0gKiBAcmVtb3ZlOgogICoKICAqIFJldHVybnM6IFRoZSBuZXh0IHJncnAgaW4gdGhlIHJlY2VudCBsaXN0CiAgKi8KIAotc3RhdGljIHN0cnVjdCBnZnMyX3JncnBkICpyZWNlbnRfcmdycF9uZXh0KHN0cnVjdCBnZnMyX3JncnBkICpjdXJfcmdkLAotCQkJCQkgICBpbnQgcmVtb3ZlKQorc3RhdGljIHN0cnVjdCBnZnMyX3JncnBkICpyZWNlbnRfcmdycF9uZXh0KHN0cnVjdCBnZnMyX3JncnBkICpjdXJfcmdkKQogewogCXN0cnVjdCBnZnMyX3NiZCAqc2RwID0gY3VyX3JnZC0+cmRfc2JkOwogCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CiAJc3RydWN0IGdmczJfcmdycGQgKnJnZDsKIAogCXNwaW5fbG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7Ci0KLQloZWFkID0gJnNkcC0+c2RfcmluZGV4X3JlY2VudF9saXN0OwotCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShyZ2QsIGhlYWQsIHJkX3JlY2VudCkgewotCQlpZiAocmdkID09IGN1cl9yZ2QpIHsKLQkJCWlmIChjdXJfcmdkLT5yZF9yZWNlbnQubmV4dCAhPSBoZWFkKQotCQkJCXJnZCA9IGxpc3RfZW50cnkoY3VyX3JnZC0+cmRfcmVjZW50Lm5leHQsCi0JCQkJCQkgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci0JCQllbHNlCi0JCQkJcmdkID0gTlVMTDsKLQotCQkJaWYgKHJlbW92ZSkKLQkJCQlsaXN0X2RlbCgmY3VyX3JnZC0+cmRfcmVjZW50KTsKLQotCQkJZ290byBvdXQ7Ci0JCX0KKwloZWFkID0gJnNkcC0+c2RfcmluZGV4X21ydV9saXN0OworCWlmICh1bmxpa2VseShjdXJfcmdkLT5yZF9saXN0X21ydS5uZXh0ID09IGhlYWQpKSB7CisJCXNwaW5fdW5sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKKwkJcmV0dXJuIE5VTEw7CiAJfQotCi0JcmdkID0gTlVMTDsKLQlpZiAoIWxpc3RfZW1wdHkoaGVhZCkpCi0JCXJnZCA9IGxpc3RfZW50cnkoaGVhZC0+bmV4dCwgc3RydWN0IGdmczJfcmdycGQsIHJkX3JlY2VudCk7Ci0KLW91dDoKKwlyZ2QgPSBsaXN0X2VudHJ5KGN1cl9yZ2QtPnJkX2xpc3RfbXJ1Lm5leHQsIHN0cnVjdCBnZnMyX3JncnBkLCByZF9saXN0X21ydSk7CiAJc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwogCXJldHVybiByZ2Q7CiB9CiAKIC8qKgotICogcmVjZW50X3JncnBfYWRkIC0gYWRkIGFuIFJHIHRvIHRhaWwgb2YgInJlY2VudCIgbGlzdAotICogQG5ld19yZ2Q6IFRoZSByZ3JwIHRvIGFkZAotICoKLSAqLwotCi1zdGF0aWMgdm9pZCByZWNlbnRfcmdycF9hZGQoc3RydWN0IGdmczJfcmdycGQgKm5ld19yZ2QpCi17Ci0Jc3RydWN0IGdmczJfc2JkICpzZHAgPSBuZXdfcmdkLT5yZF9zYmQ7Ci0Jc3RydWN0IGdmczJfcmdycGQgKnJnZDsKLQl1bnNpZ25lZCBpbnQgY291bnQgPSAwOwotCXVuc2lnbmVkIGludCBtYXggPSBzZHAtPnNkX3JncnBzIC8gZ2ZzMl9qaW5kZXhfc2l6ZShzZHApOwotCi0Jc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnkocmdkLCAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QsIHJkX3JlY2VudCkgewotCQlpZiAocmdkID09IG5ld19yZ2QpCi0JCQlnb3RvIG91dDsKLQotCQlpZiAoKytjb3VudCA+PSBtYXgpCi0JCQlnb3RvIG91dDsKLQl9Ci0JbGlzdF9hZGRfdGFpbCgmbmV3X3JnZC0+cmRfcmVjZW50LCAmc2RwLT5zZF9yaW5kZXhfcmVjZW50X2xpc3QpOwotCi1vdXQ6Ci0Jc3Bpbl91bmxvY2soJnNkcC0+c2RfcmluZGV4X3NwaW4pOwotfQotCi0vKioKICAqIGZvcndhcmRfcmdycF9nZXQgLSBnZXQgYW4gcmdycCB0byB0cnkgbmV4dCBmcm9tIGZ1bGwgbGlzdAogICogQHNkcDogVGhlIEdGUzIgc3VwZXJibG9jawogICoKQEAgLTExMTIsOSArMTAzMCw3IEBACiAJaW50IGxvb3BzID0gMDsKIAlpbnQgZXJyb3IsIHJnX2xvY2tlZDsKIAotCS8qIFRyeSByZWNlbnRseSBzdWNjZXNzZnVsIHJncnBzICovCi0KLQlyZ2QgPSByZWNlbnRfcmdycF9maXJzdChzZHAsIGlwLT5pX2dvYWwpOworCXJnZCA9IGdmczJfYmxrMnJncnBkKHNkcCwgaXAtPmlfZ29hbCk7CiAKIAl3aGlsZSAocmdkKSB7CiAJCXJnX2xvY2tlZCA9IDA7CkBAIC0xMTM2LDExICsxMDUyLDkgQEAKIAkJCQlnZnMyX2dsb2NrX2RxX3VuaW5pdCgmYWwtPmFsX3JnZF9naCk7CiAJCQlpZiAoaW5vZGUpCiAJCQkJcmV0dXJuIGlub2RlOwotCQkJcmdkID0gcmVjZW50X3JncnBfbmV4dChyZ2QsIDEpOwotCQkJYnJlYWs7Ci0KKwkJCS8qIGZhbGwgdGhyb3VnaCAqLwogCQljYXNlIEdMUl9UUllGQUlMRUQ6Ci0JCQlyZ2QgPSByZWNlbnRfcmdycF9uZXh0KHJnZCwgMCk7CisJCQlyZ2QgPSByZWNlbnRfcmdycF9uZXh0KHJnZCk7CiAJCQlicmVhazsKIAogCQlkZWZhdWx0OgpAQCAtMTE5OSw3ICsxMTEzLDkgQEAKIAogb3V0OgogCWlmIChiZWdpbikgewotCQlyZWNlbnRfcmdycF9hZGQocmdkKTsKKwkJc3Bpbl9sb2NrKCZzZHAtPnNkX3JpbmRleF9zcGluKTsKKwkJbGlzdF9tb3ZlKCZyZ2QtPnJkX2xpc3RfbXJ1LCAmc2RwLT5zZF9yaW5kZXhfbXJ1X2xpc3QpOworCQlzcGluX3VubG9jaygmc2RwLT5zZF9yaW5kZXhfc3Bpbik7CiAJCXJnZCA9IGdmczJfcmdycGRfZ2V0X25leHQocmdkKTsKIAkJaWYgKCFyZ2QpCiAJCQlyZ2QgPSBnZnMyX3JncnBkX2dldF9maXJzdChzZHApOwpkaWZmIC0tZ2l0IGEvZnMvZ2ZzMi9zdXBlci5jIGIvZnMvZ2ZzMi9zdXBlci5jCmluZGV4IDdhZWFjYmMuLjYzYThhOTAgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvc3VwZXIuYworKysgYi9mcy9nZnMyL3N1cGVyLmMKQEAgLTY1LDcgKzY1LDYgQEAKIAlndC0+Z3RfcXVvdGFfcXVhbnR1bSA9IDYwOwogCWd0LT5ndF9hdGltZV9xdWFudHVtID0gMzYwMDsKIAlndC0+Z3RfbmV3X2ZpbGVzX2pkYXRhID0gMDsKLQlndC0+Z3RfbmV3X2ZpbGVzX2RpcmVjdGlvID0gMDsKIAlndC0+Z3RfbWF4X3JlYWRhaGVhZCA9IDEgPDwgMTg7CiAJZ3QtPmd0X3N0YWxsX3NlY3MgPSA2MDA7CiAJZ3QtPmd0X2NvbXBsYWluX3NlY3MgPSAxMDsKQEAgLTk0MSw4ICs5NDAsNyBAQAogCX0KIAogCWVycm9yID0gZ2ZzMl9nbG9ja19ucV9pbml0KHNkcC0+c2RfdHJhbnNfZ2wsIExNX1NUX0RFRkVSUkVELAotCQkJICAgICAgIExNX0ZMQUdfUFJJT1JJVFkgfCBHTF9OT0NBQ0hFLAotCQkJICAgICAgIHRfZ2gpOworCQkJCSAgIEdMX05PQ0FDSEUsIHRfZ2gpOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeShqZCwgJnNkcC0+c2RfamluZGV4X2xpc3QsIGpkX2xpc3QpIHsKIAkJZXJyb3IgPSBnZnMyX2pkZXNjX2NoZWNrKGpkKTsKZGlmZiAtLWdpdCBhL2ZzL2dmczIvc3lzLmMgYi9mcy9nZnMyL3N5cy5jCmluZGV4IDlhYjlmYzguLjc0ODQ2NTUgMTAwNjQ0Ci0tLSBhL2ZzL2dmczIvc3lzLmMKKysrIGIvZnMvZ2ZzMi9zeXMuYwpAQCAtMTEwLDE4ICsxMTAsNiBAQAogCXJldHVybiBsZW47CiB9CiAKLXN0YXRpYyBzc2l6ZV90IHNocmlua19zdG9yZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQotewotCWlmICghY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKLQkJcmV0dXJuIC1FQUNDRVM7Ci0KLQlpZiAoc2ltcGxlX3N0cnRvbChidWYsIE5VTEwsIDApICE9IDEpCi0JCXJldHVybiAtRUlOVkFMOwotCi0JZ2ZzMl9nbF9oYXNoX2NsZWFyKHNkcCwgTk9fV0FJVCk7Ci0JcmV0dXJuIGxlbjsKLX0KLQogc3RhdGljIHNzaXplX3QgcXVvdGFfc3luY19zdG9yZShzdHJ1Y3QgZ2ZzMl9zYmQgKnNkcCwgY29uc3QgY2hhciAqYnVmLAogCQkJCXNpemVfdCBsZW4pCiB7CkBAIC0xNzUsNyArMTYzLDYgQEAKIEdGUzJfQVRUUihpZCwgICAgICAgICAgICAgICAgICAwNDQ0LCBpZF9zaG93LCAgICAgICBOVUxMKTsKIEdGUzJfQVRUUihmc25hbWUsICAgICAgICAgICAgICAwNDQ0LCBmc25hbWVfc2hvdywgICBOVUxMKTsKIEdGUzJfQVRUUihmcmVlemUsICAgICAgICAgICAgICAwNjQ0LCBmcmVlemVfc2hvdywgICBmcmVlemVfc3RvcmUpOwotR0ZTMl9BVFRSKHNocmluaywgICAgICAgICAgICAgIDAyMDAsIE5VTEwsICAgICAgICAgIHNocmlua19zdG9yZSk7CiBHRlMyX0FUVFIod2l0aGRyYXcsICAgICAgICAgICAgMDY0NCwgd2l0aGRyYXdfc2hvdywgd2l0aGRyYXdfc3RvcmUpOwogR0ZTMl9BVFRSKHN0YXRmc19zeW5jLCAgICAgICAgIDAyMDAsIE5VTEwsICAgICAgICAgIHN0YXRmc19zeW5jX3N0b3JlKTsKIEdGUzJfQVRUUihxdW90YV9zeW5jLCAgICAgICAgICAwMjAwLCBOVUxMLCAgICAgICAgICBxdW90YV9zeW5jX3N0b3JlKTsKQEAgLTE4Niw3ICsxNzMsNiBAQAogCSZnZnMyX2F0dHJfaWQuYXR0ciwKIAkmZ2ZzMl9hdHRyX2ZzbmFtZS5hdHRyLAogCSZnZnMyX2F0dHJfZnJlZXplLmF0dHIsCi0JJmdmczJfYXR0cl9zaHJpbmsuYXR0ciwKIAkmZ2ZzMl9hdHRyX3dpdGhkcmF3LmF0dHIsCiAJJmdmczJfYXR0cl9zdGF0ZnNfc3luYy5hdHRyLAogCSZnZnMyX2F0dHJfcXVvdGFfc3luYy5hdHRyLApAQCAtNDI2LDcgKzQxMiw2IEBACiBUVU5FX0FUVFIoY29tcGxhaW5fc2VjcywgMCk7CiBUVU5FX0FUVFIoc3RhdGZzX3Nsb3csIDApOwogVFVORV9BVFRSKG5ld19maWxlc19qZGF0YSwgMCk7Ci1UVU5FX0FUVFIobmV3X2ZpbGVzX2RpcmVjdGlvLCAwKTsKIFRVTkVfQVRUUihxdW90YV9zaW11bF9zeW5jLCAxKTsKIFRVTkVfQVRUUihxdW90YV9jYWNoZV9zZWNzLCAxKTsKIFRVTkVfQVRUUihzdGFsbF9zZWNzLCAxKTsKQEAgLTQ1NSw3ICs0NDAsNiBAQAogCSZ0dW5lX2F0dHJfcXVvdGFkX3NlY3MuYXR0ciwKIAkmdHVuZV9hdHRyX3F1b3RhX3NjYWxlLmF0dHIsCiAJJnR1bmVfYXR0cl9uZXdfZmlsZXNfamRhdGEuYXR0ciwKLQkmdHVuZV9hdHRyX25ld19maWxlc19kaXJlY3Rpby5hdHRyLAogCU5VTEwsCiB9OwogCmRpZmYgLS1naXQgYS9mcy9qYmQyL2NoZWNrcG9pbnQuYyBiL2ZzL2piZDIvY2hlY2twb2ludC5jCmluZGV4IDY5MTQ1OTguLjkxMzg5YzggMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvY2hlY2twb2ludC5jCisrKyBiL2ZzL2piZDIvY2hlY2twb2ludC5jCkBAIC02ODgsNyArNjg4LDYgQEAKIAogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X3N0YXRlID09IFRfRklOSVNIRUQpOwogCUpfQVNTRVJUKHRyYW5zYWN0aW9uLT50X2J1ZmZlcnMgPT0gTlVMTCk7Ci0JSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCA9PSBOVUxMKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9mb3JnZXQgPT0gTlVMTCk7CiAJSl9BU1NFUlQodHJhbnNhY3Rpb24tPnRfaW9idWZfbGlzdCA9PSBOVUxMKTsKIAlKX0FTU0VSVCh0cmFuc2FjdGlvbi0+dF9zaGFkb3dfbGlzdCA9PSBOVUxMKTsKZGlmZiAtLWdpdCBhL2ZzL2piZDIvY29tbWl0LmMgYi9mcy9qYmQyL2NvbW1pdC5jCmluZGV4IGEyZWQ3MmYuLmY4YjNiZTggMTAwNjQ0Ci0tLSBhL2ZzL2piZDIvY29tbWl0LmMKKysrIGIvZnMvamJkMi9jb21taXQuYwpAQCAtMjIsNiArMjIsOCBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CiAjaW5jbHVkZSA8bGludXgvY3JjMzIuaD4KKyNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KKyNpbmNsdWRlIDxsaW51eC9iYWNraW5nLWRldi5oPgogCiAvKgogICogRGVmYXVsdCBJTyBlbmQgaGFuZGxlciBmb3IgdGVtcG9yYXJ5IEJKX0lPIGJ1ZmZlcl9oZWFkcy4KQEAgLTM3LDggKzM5LDggQEAKIH0KIAogLyoKLSAqIFdoZW4gYW4gZXh0My1vcmRlcmVkIGZpbGUgaXMgdHJ1bmNhdGVkLCBpdCBpcyBwb3NzaWJsZSB0aGF0IG1hbnkgcGFnZXMgYXJlCi0gKiBub3Qgc3VjZXNzZnVsbHkgZnJlZWQsIGJlY2F1c2UgdGhleSBhcmUgYXR0YWNoZWQgdG8gYSBjb21taXR0aW5nIHRyYW5zYWN0aW9uLgorICogV2hlbiBhbiBleHQ0IGZpbGUgaXMgdHJ1bmNhdGVkLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHNvbWUgcGFnZXMgYXJlIG5vdAorICogc3VjY2Vzc2Z1bGx5IGZyZWVkLCBiZWNhdXNlIHRoZXkgYXJlIGF0dGFjaGVkIHRvIGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4KICAqIEFmdGVyIHRoZSB0cmFuc2FjdGlvbiBjb21taXRzLCB0aGVzZSBwYWdlcyBhcmUgbGVmdCBvbiB0aGUgTFJVLCB3aXRoIG5vCiAgKiAtPm1hcHBpbmcsIGFuZCB3aXRoIGF0dGFjaGVkIGJ1ZmZlcnMuICBUaGVzZSBwYWdlcyBhcmUgdHJpdmlhbGx5IHJlY2xhaW1hYmxlCiAgKiBieSB0aGUgVk0sIGJ1dCB0aGVpciBhcHBhcmVudCBhYnNlbmNlIHVwc2V0cyB0aGUgVk0gYWNjb3VudGluZywgYW5kIGl0IG1ha2VzCkBAIC04MCwyMSArODIsNiBAQAogfQogCiAvKgotICogVHJ5IHRvIGFjcXVpcmUgamJkX2xvY2tfYmhfc3RhdGUoKSBhZ2FpbnN0IHRoZSBidWZmZXIsIHdoZW4gal9saXN0X2xvY2sgaXMKLSAqIGhlbGQuICBGb3IgcmFua2luZyByZWFzb25zIHdlIG11c3QgdHJ5bG9jay4gIElmIHdlIGxvc2UsIHNjaGVkdWxlIGF3YXkgYW5kCi0gKiByZXR1cm4gMC4gIGpfbGlzdF9sb2NrIGlzIGRyb3BwZWQgaW4gdGhpcyBjYXNlLgotICovCi1zdGF0aWMgaW50IGludmVydGVkX2xvY2soam91cm5hbF90ICpqb3VybmFsLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWlmICghamJkX3RyeWxvY2tfYmhfc3RhdGUoYmgpKSB7Ci0JCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCXNjaGVkdWxlKCk7Ci0JCXJldHVybiAwOwotCX0KLQlyZXR1cm4gMTsKLX0KLQotLyoKICAqIERvbmUgaXQgYWxsOiBub3cgc3VibWl0IHRoZSBjb21taXQgcmVjb3JkLiAgV2Ugc2hvdWxkIGhhdmUKICAqIGNsZWFuZWQgdXAgb3VyIHByZXZpb3VzIGJ1ZmZlcnMgYnkgbm93LCBzbyBpZiB3ZSBhcmUgaW4gYWJvcnQKICAqIG1vZGUgd2UgY2FuIG5vdyBqdXN0IHNraXAgdGhlIHJlc3Qgb2YgdGhlIGpvdXJuYWwgd3JpdGUKQEAgLTExMiw2ICs5OSw3IEBACiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKIAlpbnQgcmV0OwogCWludCBiYXJyaWVyX2RvbmUgPSAwOworCXN0cnVjdCB0aW1lc3BlYyBub3cgPSBjdXJyZW50X2tlcm5lbF90aW1lKCk7CiAKIAlpZiAoaXNfam91cm5hbF9hYm9ydGVkKGpvdXJuYWwpKQogCQlyZXR1cm4gMDsKQEAgLTEyNiw2ICsxMTQsOCBAQAogCXRtcC0+aF9tYWdpYyA9IGNwdV90b19iZTMyKEpCRDJfTUFHSUNfTlVNQkVSKTsKIAl0bXAtPmhfYmxvY2t0eXBlID0gY3B1X3RvX2JlMzIoSkJEMl9DT01NSVRfQkxPQ0spOwogCXRtcC0+aF9zZXF1ZW5jZSA9IGNwdV90b19iZTMyKGNvbW1pdF90cmFuc2FjdGlvbi0+dF90aWQpOworCXRtcC0+aF9jb21taXRfc2VjID0gY3B1X3RvX2JlNjQobm93LnR2X3NlYyk7CisJdG1wLT5oX2NvbW1pdF9uc2VjID0gY3B1X3RvX2JlMzIobm93LnR2X25zZWMpOwogCiAJaWYgKEpCRDJfSEFTX0NPTVBBVF9GRUFUVVJFKGpvdXJuYWwsCiAJCQkJICAgIEpCRDJfRkVBVFVSRV9DT01QQVRfQ0hFQ0tTVU0pKSB7CkBAIC0xOTcsMTU5ICsxODcsMTA0IEBACiB9CiAKIC8qCi0gKiBXYWl0IGZvciBhbGwgc3VibWl0dGVkIElPIHRvIGNvbXBsZXRlLgorICogd3JpdGUgdGhlIGZpbGVtYXAgZGF0YSB1c2luZyB3cml0ZXBhZ2UoKSBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMuCisgKiBXZSBkb24ndCBkbyBibG9jayBhbGxvY2F0aW9uIGhlcmUgZXZlbiBmb3IgZGVsYWxsb2MuIFdlIGRvbid0CisgKiB1c2Ugd3JpdGVwYWdlcygpIGJlY2F1c2Ugd2l0aCBkZWFseWVkIGFsbG9jYXRpb24gd2UgbWF5IGJlIGRvaW5nCisgKiBibG9jayBhbGxvY2F0aW9uIGluIHdyaXRlcGFnZXMoKS4KICAqLwotc3RhdGljIGludCBqb3VybmFsX3dhaXRfb25fbG9ja2VkX2xpc3Qoam91cm5hbF90ICpqb3VybmFsLAotCQkJCSAgICAgICB0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCitzdGF0aWMgaW50IGpvdXJuYWxfc3VibWl0X2lub2RlX2RhdGFfYnVmZmVycyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZykKIHsKLQlpbnQgcmV0ID0gMDsKLQlzdHJ1Y3Qgam91cm5hbF9oZWFkICpqaDsKKwlpbnQgcmV0OworCXN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCB3YmMgPSB7CisJCS5zeW5jX21vZGUgPSAgV0JfU1lOQ19BTEwsCisJCS5ucl90b193cml0ZSA9IG1hcHBpbmctPm5ycGFnZXMgKiAyLAorCQkucmFuZ2Vfc3RhcnQgPSAwLAorCQkucmFuZ2VfZW5kID0gaV9zaXplX3JlYWQobWFwcGluZy0+aG9zdCksCisJCS5mb3Jfd3JpdGVwYWdlcyA9IDEsCisJfTsKIAotCXdoaWxlIChjb21taXRfdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3QpIHsKLQkJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKLQotCQlqaCA9IGNvbW1pdF90cmFuc2FjdGlvbi0+dF9sb2NrZWRfbGlzdC0+Yl90cHJldjsKLQkJYmggPSBqaDJiaChqaCk7Ci0JCWdldF9iaChiaCk7Ci0JCWlmIChidWZmZXJfbG9ja2VkKGJoKSkgewotCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCXdhaXRfb25fYnVmZmVyKGJoKTsKLQkJCWlmICh1bmxpa2VseSghYnVmZmVyX3VwdG9kYXRlKGJoKSkpCi0JCQkJcmV0ID0gLUVJTzsKLQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQl9Ci0JCWlmICghaW52ZXJ0ZWRfbG9jayhqb3VybmFsLCBiaCkpIHsKLQkJCXB1dF9iaChiaCk7Ci0JCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmIChidWZmZXJfamJkKGJoKSAmJiBqaC0+Yl9qbGlzdCA9PSBCSl9Mb2NrZWQpIHsKLQkJCV9famJkMl9qb3VybmFsX3VuZmlsZV9idWZmZXIoamgpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZChiaCk7Ci0JCQlwdXRfYmgoYmgpOwotCQl9IGVsc2UgewotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCX0KLQkJcHV0X2JoKGJoKTsKLQkJY29uZF9yZXNjaGVkX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQl9CisJcmV0ID0gZ2VuZXJpY193cml0ZXBhZ2VzKG1hcHBpbmcsICZ3YmMpOwogCXJldHVybiByZXQ7Ci0gIH0KLQotc3RhdGljIHZvaWQgam91cm5hbF9kb19zdWJtaXRfZGF0YShzdHJ1Y3QgYnVmZmVyX2hlYWQgKip3YnVmLCBpbnQgYnVmcykKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBidWZzOyBpKyspIHsKLQkJd2J1ZltpXS0+Yl9lbmRfaW8gPSBlbmRfYnVmZmVyX3dyaXRlX3N5bmM7Ci0JCS8qIFdlIHVzZS11cCBvdXIgc2FmZXR5IHJlZmVyZW5jZSBpbiBzdWJtaXRfYmgoKSAqLwotCQlzdWJtaXRfYmgoV1JJVEUsIHdidWZbaV0pOwotCX0KIH0KIAogLyoKLSAqICBTdWJtaXQgYWxsIHRoZSBkYXRhIGJ1ZmZlcnMgdG8gZGlzaworICogU3VibWl0IGFsbCB0aGUgZGF0YSBidWZmZXJzIG9mIGlub2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgdHJhbnNhY3Rpb24gdG8KKyAqIGRpc2suCisgKgorICogV2UgYXJlIGluIGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4gVGhlcmVmb3JlIG5vIG5ldyBpbm9kZSBjYW4gYmUgYWRkZWQgdG8KKyAqIG91ciBpbm9kZSBsaXN0LiBXZSB1c2UgSklfQ09NTUlUX1JVTk5JTkcgZmxhZyB0byBwcm90ZWN0IGlub2RlIHdlIGN1cnJlbnRseQorICogb3BlcmF0ZSBvbiBmcm9tIGJlaW5nIHJlbGVhc2VkIHdoaWxlIHdlIHdyaXRlIG91dCBwYWdlcy4KICAqLwotc3RhdGljIHZvaWQgam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKGpvdXJuYWxfdCAqam91cm5hbCwKLQkJCQl0cmFuc2FjdGlvbl90ICpjb21taXRfdHJhbnNhY3Rpb24pCitzdGF0aWMgaW50IGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCisJCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuc2FjdGlvbikKIHsKLQlzdHJ1Y3Qgam91cm5hbF9oZWFkICpqaDsKLQlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwotCWludCBsb2NrZWQ7Ci0JaW50IGJ1ZnMgPSAwOwotCXN0cnVjdCBidWZmZXJfaGVhZCAqKndidWYgPSBqb3VybmFsLT5qX3didWY7CisJc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZTsKKwlpbnQgZXJyLCByZXQgPSAwOworCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nOwogCi0JLyoKLQkgKiBXaGVuZXZlciB3ZSB1bmxvY2sgdGhlIGpvdXJuYWwgYW5kIHNsZWVwLCB0aGluZ3MgY2FuIGdldCBhZGRlZAotCSAqIG9udG8gLT50X3N5bmNfZGF0YWxpc3QsIHNvIHdlIGhhdmUgdG8ga2VlcCBsb29waW5nIGJhY2sgdG8KLQkgKiB3cml0ZV9vdXRfZGF0YSB1bnRpbCB3ZSAqa25vdyogdGhhdCB0aGUgbGlzdCBpcyBlbXB0eS4KLQkgKgotCSAqIENsZWFudXAgYW55IGZsdXNoZWQgZGF0YSBidWZmZXJzIGZyb20gdGhlIGRhdGEgbGlzdC4gIEV2ZW4gaW4KLQkgKiBhYm9ydCBtb2RlLCB3ZSB3YW50IHRvIGZsdXNoIHRoaXMgb3V0IGFzIHNvb24gYXMgcG9zc2libGUuCi0JICovCi13cml0ZV9vdXRfZGF0YToKLQljb25kX3Jlc2NoZWQoKTsKIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQotCXdoaWxlIChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCkgewotCQlqaCA9IGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0OwotCQliaCA9IGpoMmJoKGpoKTsKLQkJbG9ja2VkID0gMDsKLQotCQkvKiBHZXQgcmVmZXJlbmNlIGp1c3QgdG8gbWFrZSBzdXJlIGJ1ZmZlciBkb2VzIG5vdCBkaXNhcHBlYXIKLQkJICogd2hlbiB3ZSBhcmUgZm9yY2VkIHRvIGRyb3AgdmFyaW91cyBsb2NrcyAqLwotCQlnZXRfYmgoYmgpOwotCQkvKiBJZiB0aGUgYnVmZmVyIGlzIGRpcnR5LCB3ZSBuZWVkIHRvIHN1Ym1pdCBJTyBhbmQgaGVuY2UKLQkJICogd2UgbmVlZCB0aGUgYnVmZmVyIGxvY2suIFdlIHRyeSB0byBsb2NrIHRoZSBidWZmZXIgd2l0aG91dAotCQkgKiBibG9ja2luZy4gSWYgd2UgZmFpbCwgd2UgbmVlZCB0byBkcm9wIGpfbGlzdF9sb2NrIGFuZCBkbwotCQkgKiBibG9ja2luZyBsb2NrX2J1ZmZlcigpLgorCWxpc3RfZm9yX2VhY2hfZW50cnkoamlub2RlLCAmY29tbWl0X3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QsIGlfbGlzdCkgeworCQltYXBwaW5nID0gamlub2RlLT5pX3Zmc19pbm9kZS0+aV9tYXBwaW5nOworCQlqaW5vZGUtPmlfZmxhZ3MgfD0gSklfQ09NTUlUX1JVTk5JTkc7CisJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCS8qCisJCSAqIHN1Ym1pdCB0aGUgaW5vZGUgZGF0YSBidWZmZXJzLiBXZSB1c2Ugd3JpdGVwYWdlCisJCSAqIGluc3RlYWQgb2Ygd3JpdGVwYWdlcy4gQmVjYXVzZSB3cml0ZXBhZ2VzIGNhbiBkbworCQkgKiBibG9jayBhbGxvY2F0aW9uICB3aXRoIGRlbGFsbG9jLiBXZSBuZWVkIHRvIHdyaXRlCisJCSAqIG9ubHkgYWxsb2NhdGVkIGJsb2NrcyBoZXJlLgogCQkgKi8KLQkJaWYgKGJ1ZmZlcl9kaXJ0eShiaCkpIHsKLQkJCWlmICh0ZXN0X3NldF9idWZmZXJfbG9ja2VkKGJoKSkgewotCQkJCUJVRkZFUl9UUkFDRShiaCwgIm5lZWRzIGJsb2NraW5nIGxvY2siKTsKLQkJCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJCS8qIFdyaXRlIG91dCBhbGwgZGF0YSB0byBwcmV2ZW50IGRlYWRsb2NrcyAqLwotCQkJCWpvdXJuYWxfZG9fc3VibWl0X2RhdGEod2J1ZiwgYnVmcyk7Ci0JCQkJYnVmcyA9IDA7Ci0JCQkJbG9ja19idWZmZXIoYmgpOwotCQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJfQotCQkJbG9ja2VkID0gMTsKLQkJfQotCQkvKiBXZSBoYXZlIHRvIGdldCBiaF9zdGF0ZSBsb2NrLiBBZ2FpbiBvdXQgb2Ygb3JkZXIsIHNpZ2guICovCi0JCWlmICghaW52ZXJ0ZWRfbG9jayhqb3VybmFsLCBiaCkpIHsKLQkJCWpiZF9sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQl9Ci0JCS8qIFNvbWVvbmUgYWxyZWFkeSBjbGVhbmVkIHVwIHRoZSBidWZmZXI/ICovCi0JCWlmICghYnVmZmVyX2piZChiaCkKLQkJCXx8IGpoLT5iX3RyYW5zYWN0aW9uICE9IGNvbW1pdF90cmFuc2FjdGlvbgotCQkJfHwgamgtPmJfamxpc3QgIT0gQkpfU3luY0RhdGEpIHsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJaWYgKGxvY2tlZCkKLQkJCQl1bmxvY2tfYnVmZmVyKGJoKTsKLQkJCUJVRkZFUl9UUkFDRShiaCwgImFscmVhZHkgY2xlYW5lZCB1cCIpOwotCQkJcHV0X2JoKGJoKTsKLQkJCWNvbnRpbnVlOwotCQl9Ci0JCWlmIChsb2NrZWQgJiYgdGVzdF9jbGVhcl9idWZmZXJfZGlydHkoYmgpKSB7Ci0JCQlCVUZGRVJfVFJBQ0UoYmgsICJuZWVkcyB3cml0ZW91dCwgYWRkaW5nIHRvIGFycmF5Iik7Ci0JCQl3YnVmW2J1ZnMrK10gPSBiaDsKLQkJCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBjb21taXRfdHJhbnNhY3Rpb24sCi0JCQkJCQlCSl9Mb2NrZWQpOwotCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQlpZiAoYnVmcyA9PSBqb3VybmFsLT5qX3didWZzaXplKSB7Ci0JCQkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJCQlqb3VybmFsX2RvX3N1Ym1pdF9kYXRhKHdidWYsIGJ1ZnMpOwotCQkJCWJ1ZnMgPSAwOwotCQkJCWdvdG8gd3JpdGVfb3V0X2RhdGE7Ci0JCQl9Ci0JCX0gZWxzZSBpZiAoIWxvY2tlZCAmJiBidWZmZXJfbG9ja2VkKGJoKSkgewotCQkJX19qYmQyX2pvdXJuYWxfZmlsZV9idWZmZXIoamgsIGNvbW1pdF90cmFuc2FjdGlvbiwKLQkJCQkJCUJKX0xvY2tlZCk7Ci0JCQlqYmRfdW5sb2NrX2JoX3N0YXRlKGJoKTsKLQkJCXB1dF9iaChiaCk7Ci0JCX0gZWxzZSB7Ci0JCQlCVUZGRVJfVFJBQ0UoYmgsICJ3cml0ZW91dCBjb21wbGV0ZTogdW5maWxlIik7Ci0JCQlfX2piZDJfam91cm5hbF91bmZpbGVfYnVmZmVyKGpoKTsKLQkJCWpiZF91bmxvY2tfYmhfc3RhdGUoYmgpOwotCQkJaWYgKGxvY2tlZCkKLQkJCQl1bmxvY2tfYnVmZmVyKGJoKTsKLQkJCWpiZDJfam91cm5hbF9yZW1vdmVfam91cm5hbF9oZWFkKGJoKTsKLQkJCS8qIE9uY2UgZm9yIG91ciBzYWZldHkgcmVmZXJlbmNlLCBvbmNlIGZvcgotCQkJICogamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoKSAqLwotCQkJcHV0X2JoKGJoKTsKLQkJCXB1dF9iaChiaCk7Ci0JCX0KKwkJZXJyID0gam91cm5hbF9zdWJtaXRfaW5vZGVfZGF0YV9idWZmZXJzKG1hcHBpbmcpOworCQlpZiAoIXJldCkKKwkJCXJldCA9IGVycjsKKwkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJCUpfQVNTRVJUKGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSBjb21taXRfdHJhbnNhY3Rpb24pOworCQlqaW5vZGUtPmlfZmxhZ3MgJj0gfkpJX0NPTU1JVF9SVU5OSU5HOworCQl3YWtlX3VwX2JpdCgmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwl9CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwlyZXR1cm4gcmV0OworfQogCi0JCWlmIChuZWVkX3Jlc2NoZWQoKSB8fCBzcGluX25lZWRicmVhaygmam91cm5hbC0+al9saXN0X2xvY2spKSB7Ci0JCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQkJZ290byB3cml0ZV9vdXRfZGF0YTsKKy8qCisgKiBXYWl0IGZvciBkYXRhIHN1Ym1pdHRlZCBmb3Igd3JpdGVvdXQsIHJlZmlsZSBpbm9kZXMgdG8gcHJvcGVyCisgKiB0cmFuc2FjdGlvbiBpZiBuZWVkZWQuCisgKgorICovCitzdGF0aWMgaW50IGpvdXJuYWxfZmluaXNoX2lub2RlX2RhdGFfYnVmZmVycyhqb3VybmFsX3QgKmpvdXJuYWwsCisJCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuc2FjdGlvbikKK3sKKwlzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCAqbmV4dF9pOworCWludCBlcnIsIHJldCA9IDA7CisKKwkvKiBGb3IgbG9ja2luZywgc2VlIHRoZSBjb21tZW50IGluIGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycygpICovCisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShqaW5vZGUsICZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCwgaV9saXN0KSB7CisJCWppbm9kZS0+aV9mbGFncyB8PSBKSV9DT01NSVRfUlVOTklORzsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJZXJyID0gZmlsZW1hcF9mZGF0YXdhaXQoamlub2RlLT5pX3Zmc19pbm9kZS0+aV9tYXBwaW5nKTsKKwkJaWYgKCFyZXQpCisJCQlyZXQgPSBlcnI7CisJCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCQlqaW5vZGUtPmlfZmxhZ3MgJj0gfkpJX0NPTU1JVF9SVU5OSU5HOworCQl3YWtlX3VwX2JpdCgmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwl9CisKKwkvKiBOb3cgcmVmaWxlIGlub2RlIHRvIHByb3BlciBsaXN0cyAqLworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShqaW5vZGUsIG5leHRfaSwKKwkJCQkgJmNvbW1pdF90cmFuc2FjdGlvbi0+dF9pbm9kZV9saXN0LCBpX2xpc3QpIHsKKwkJbGlzdF9kZWwoJmppbm9kZS0+aV9saXN0KTsKKwkJaWYgKGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uKSB7CisJCQlqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPSBqaW5vZGUtPmlfbmV4dF90cmFuc2FjdGlvbjsKKwkJCWppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID0gTlVMTDsKKwkJCWxpc3RfYWRkKCZqaW5vZGUtPmlfbGlzdCwKKwkJCQkmamlub2RlLT5pX3RyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpOworCQl9IGVsc2UgeworCQkJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gTlVMTDsKIAkJfQogCX0KIAlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWpvdXJuYWxfZG9fc3VibWl0X2RhdGEod2J1ZiwgYnVmcyk7CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgX191MzIgamJkMl9jaGVja3N1bV9kYXRhKF9fdTMyIGNyYzMyX3N1bSwgc3RydWN0IGJ1ZmZlcl9oZWFkICpiaCkKQEAgLTUyNCwyMSArNDU5LDcgQEAKIAkgKiBOb3cgc3RhcnQgZmx1c2hpbmcgdGhpbmdzIHRvIGRpc2ssIGluIHRoZSBvcmRlciB0aGV5IGFwcGVhcgogCSAqIG9uIHRoZSB0cmFuc2FjdGlvbiBsaXN0cy4gIERhdGEgYmxvY2tzIGdvIGZpcnN0LgogCSAqLwotCWVyciA9IDA7Ci0Jam91cm5hbF9zdWJtaXRfZGF0YV9idWZmZXJzKGpvdXJuYWwsIGNvbW1pdF90cmFuc2FjdGlvbik7Ci0KLQkvKgotCSAqIFdhaXQgZm9yIGFsbCBwcmV2aW91c2x5IHN1Ym1pdHRlZCBJTyB0byBjb21wbGV0ZSBpZiBjb21taXQKLQkgKiByZWNvcmQgaXMgdG8gYmUgd3JpdHRlbiBzeW5jaHJvbm91c2x5LgotCSAqLwotCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCWlmICghSkJEMl9IQVNfSU5DT01QQVRfRkVBVFVSRShqb3VybmFsLAotCQlKQkQyX0ZFQVRVUkVfSU5DT01QQVRfQVNZTkNfQ09NTUlUKSkKLQkJZXJyID0gam91cm5hbF93YWl0X29uX2xvY2tlZF9saXN0KGpvdXJuYWwsCi0JCQkJCQljb21taXRfdHJhbnNhY3Rpb24pOwotCi0Jc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQorCWVyciA9IGpvdXJuYWxfc3VibWl0X2RhdGFfYnVmZmVycyhqb3VybmFsLCBjb21taXRfdHJhbnNhY3Rpb24pOwogCWlmIChlcnIpCiAJCWpiZDJfam91cm5hbF9hYm9ydChqb3VybmFsLCBlcnIpOwogCkBAIC01NDcsMTYgKzQ2OCw2IEBACiAJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSAyXG4iKTsKIAogCS8qCi0JICogSWYgd2UgZm91bmQgYW55IGRpcnR5IG9yIGxvY2tlZCBidWZmZXJzLCB0aGVuIHdlIHNob3VsZCBoYXZlCi0JICogbG9vcGVkIGJhY2sgdXAgdG8gdGhlIHdyaXRlX291dF9kYXRhIGxhYmVsLiAgSWYgdGhlcmUgd2VyZW4ndAotCSAqIGFueSB0aGVuIGpvdXJuYWxfY2xlYW5fZGF0YV9saXN0IHNob3VsZCBoYXZlIHdpcGVkIHRoZSBsaXN0Ci0JICogY2xlYW4gYnkgbm93LCBzbyBjaGVjayB0aGF0IGl0IGlzIGluIGZhY3QgZW1wdHkuCi0JICovCi0JSl9BU1NFUlQgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0ID09IE5VTEwpOwotCi0JamJkX2RlYnVnICgzLCAiSkJEOiBjb21taXQgcGhhc2UgM1xuIik7Ci0KLQkvKgogCSAqIFdheSB0byBnbzogd2UgaGF2ZSBub3cgd3JpdHRlbiBvdXQgYWxsIG9mIHRoZSBkYXRhIGZvciBhCiAJICogdHJhbnNhY3Rpb24hICBOb3cgY29tZXMgdGhlIHRyaWNreSBwYXJ0OiB3ZSBuZWVkIHRvIHdyaXRlIG91dAogCSAqIG1ldGFkYXRhLiAgTG9vcCBvdmVyIHRoZSB0cmFuc2FjdGlvbidzIGVudGlyZSBidWZmZXIgbGlzdDoKQEAgLTU3NCw2ICs0ODUsNyBAQAogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9ucl9idWZmZXJzIDw9CiAJCSBjb21taXRfdHJhbnNhY3Rpb24tPnRfb3V0c3RhbmRpbmdfY3JlZGl0cyk7CiAKKwllcnIgPSAwOwogCWRlc2NyaXB0b3IgPSBOVUxMOwogCWJ1ZnMgPSAwOwogCXdoaWxlIChjb21taXRfdHJhbnNhY3Rpb24tPnRfYnVmZmVycykgewpAQCAtNzQ4LDE1ICs2NjAsMTkgQEAKIAkJCQkJCSAmY2JoLCBjcmMzMl9zdW0pOwogCQlpZiAoZXJyKQogCQkJX19qYmQyX2pvdXJuYWxfYWJvcnRfaGFyZChqb3VybmFsKTsKLQotCQlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQkJZXJyID0gam91cm5hbF93YWl0X29uX2xvY2tlZF9saXN0KGpvdXJuYWwsCi0JCQkJCQljb21taXRfdHJhbnNhY3Rpb24pOwotCQlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOwotCQlpZiAoZXJyKQotCQkJX19qYmQyX2pvdXJuYWxfYWJvcnRfaGFyZChqb3VybmFsKTsKIAl9CiAKKwkvKgorCSAqIFRoaXMgaXMgdGhlIHJpZ2h0IHBsYWNlIHRvIHdhaXQgZm9yIGRhdGEgYnVmZmVycyBib3RoIGZvciBBU1lOQworCSAqIGFuZCAhQVNZTkMgY29tbWl0LiBJZiBjb21taXQgaXMgQVNZTkMsIHdlIG5lZWQgdG8gd2FpdCBvbmx5IGFmdGVyCisJICogdGhlIGNvbW1pdCBibG9jayB3ZW50IHRvIGRpc2sgKHdoaWNoIGhhcHBlbnMgYWJvdmUpLiBJZiBjb21taXQgaXMKKwkgKiBTWU5DLCB3ZSBuZWVkIHRvIHdhaXQgZm9yIGRhdGEgYnVmZmVycyBiZWZvcmUgd2Ugc3RhcnQgd3JpdGluZworCSAqIGNvbW1pdCBibG9jaywgd2hpY2ggaGFwcGVucyBiZWxvdyBpbiBzdWNoIHNldHRpbmcuCisJICovCisJZXJyID0gam91cm5hbF9maW5pc2hfaW5vZGVfZGF0YV9idWZmZXJzKGpvdXJuYWwsIGNvbW1pdF90cmFuc2FjdGlvbik7CisJaWYgKGVycikKKwkJamJkMl9qb3VybmFsX2Fib3J0KGpvdXJuYWwsIGVycik7CisKIAkvKiBMbyBhbmQgYmVob2xkOiB3ZSBoYXZlIGp1c3QgbWFuYWdlZCB0byBzZW5kIGEgdHJhbnNhY3Rpb24gdG8KICAgICAgICAgICAgdGhlIGxvZy4gIEJlZm9yZSB3ZSBjYW4gY29tbWl0IGl0LCB3YWl0IGZvciB0aGUgSU8gc28gZmFyIHRvCiAgICAgICAgICAgIGNvbXBsZXRlLiAgQ29udHJvbCBidWZmZXJzIGJlaW5nIHdyaXR0ZW4gYXJlIG9uIHRoZQpAQCAtNzY4LDcgKzY4NCw3IEBACiAJICAgc28gd2UgaW5jdXIgbGVzcyBzY2hlZHVsaW5nIGxvYWQuCiAJKi8KIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNFxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSAzXG4iKTsKIAogCS8qCiAJICogYWtwbTogdGhlc2UgYXJlIEJKX0lPLCBhbmQgal9saXN0X2xvY2sgaXMgbm90IG5lZWRlZC4KQEAgLTgyNyw3ICs3NDMsNyBAQAogCiAJSl9BU1NFUlQgKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9zaGFkb3dfbGlzdCA9PSBOVUxMKTsKIAotCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNVxuIik7CisJamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA0XG4iKTsKIAogCS8qIEhlcmUgd2Ugd2FpdCBmb3IgdGhlIHJldm9rZSByZWNvcmQgYW5kIGRlc2NyaXB0b3IgcmVjb3JkIGJ1ZmZlcnMgKi8KICB3YWl0X2Zvcl9jdGxidWY6CkBAIC04NTQsNyArNzcwLDcgQEAKIAkJLyogQUtQTTogYmZvcmdldCBoZXJlICovCiAJfQogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA2XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDVcbiIpOwogCiAJaWYgKCFKQkQyX0hBU19JTkNPTVBBVF9GRUFUVVJFKGpvdXJuYWwsCiAJCUpCRDJfRkVBVFVSRV9JTkNPTVBBVF9BU1lOQ19DT01NSVQpKSB7CkBAIC04NzQsOSArNzkwLDkgQEAKICAgICAgICAgICAgdHJhbnNhY3Rpb24gY2FuIGJlIHJlbW92ZWQgZnJvbSBhbnkgY2hlY2twb2ludCBsaXN0IGl0IHdhcyBvbgogICAgICAgICAgICBiZWZvcmUuICovCiAKLQlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDdcbiIpOworCWpiZF9kZWJ1ZygzLCAiSkJEOiBjb21taXQgcGhhc2UgNlxuIik7CiAKLQlKX0FTU0VSVChjb21taXRfdHJhbnNhY3Rpb24tPnRfc3luY19kYXRhbGlzdCA9PSBOVUxMKTsKKwlKX0FTU0VSVChsaXN0X2VtcHR5KCZjb21taXRfdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCkpOwogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9idWZmZXJzID09IE5VTEwpOwogCUpfQVNTRVJUKGNvbW1pdF90cmFuc2FjdGlvbi0+dF9jaGVja3BvaW50X2xpc3QgPT0gTlVMTCk7CiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X2lvYnVmX2xpc3QgPT0gTlVMTCk7CkBAIC05OTcsNyArOTEzLDcgQEAKIAogCS8qIERvbmUgd2l0aCB0aGlzIHRyYW5zYWN0aW9uISAqLwogCi0JamJkX2RlYnVnKDMsICJKQkQ6IGNvbW1pdCBwaGFzZSA4XG4iKTsKKwlqYmRfZGVidWcoMywgIkpCRDogY29tbWl0IHBoYXNlIDdcbiIpOwogCiAJSl9BU1NFUlQoY29tbWl0X3RyYW5zYWN0aW9uLT50X3N0YXRlID09IFRfQ09NTUlUKTsKIApkaWZmIC0tZ2l0IGEvZnMvamJkMi9qb3VybmFsLmMgYi9mcy9qYmQyL2pvdXJuYWwuYwppbmRleCAyZTI0NTY3Li5iMjZjNmQ5IDEwMDY0NAotLS0gYS9mcy9qYmQyL2pvdXJuYWwuYworKysgYi9mcy9qYmQyL2pvdXJuYWwuYwpAQCAtNTAsNyArNTAsNiBAQAogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2Vzcyk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9nZXRfY3JlYXRlX2FjY2Vzcyk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MpOwotRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZGlydHlfZGF0YSk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9kaXJ0eV9tZXRhZGF0YSk7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9yZWxlYXNlX2J1ZmZlcik7CiBFWFBPUlRfU1lNQk9MKGpiZDJfam91cm5hbF9mb3JnZXQpOwpAQCAtODIsNiArODEsMTAgQEAKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ludmFsaWRhdGVwYWdlKTsKIEVYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMpOwogRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfZm9yY2VfY29tbWl0KTsKK0VYUE9SVF9TWU1CT0woamJkMl9qb3VybmFsX2ZpbGVfaW5vZGUpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfaW5pdF9qYmRfaW5vZGUpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUpOworRVhQT1JUX1NZTUJPTChqYmQyX2pvdXJuYWxfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZSk7CiAKIHN0YXRpYyBpbnQgam91cm5hbF9jb252ZXJ0X3N1cGVyYmxvY2tfdjEoam91cm5hbF90ICosIGpvdXJuYWxfc3VwZXJibG9ja190ICopOwogc3RhdGljIHZvaWQgX19qb3VybmFsX2Fib3J0X3NvZnQgKGpvdXJuYWxfdCAqam91cm5hbCwgaW50IGVycm5vKTsKQEAgLTIxOTUsNiArMjE5OCw1NCBAQAogfQogCiAvKgorICogSW5pdGlhbGl6ZSBqYmQgaW5vZGUgaGVhZAorICovCit2b2lkIGpiZDJfam91cm5hbF9pbml0X2piZF9pbm9kZShzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IE5VTEw7CisJamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPSBOVUxMOworCWppbm9kZS0+aV92ZnNfaW5vZGUgPSBpbm9kZTsKKwlqaW5vZGUtPmlfZmxhZ3MgPSAwOworCUlOSVRfTElTVF9IRUFEKCZqaW5vZGUtPmlfbGlzdCk7Cit9CisKKy8qCisgKiBGdW5jdGlvbiB0byBiZSBjYWxsZWQgYmVmb3JlIHdlIHN0YXJ0IHJlbW92aW5nIGlub2RlIGZyb20gbWVtb3J5IChpLmUuLAorICogY2xlYXJfaW5vZGUoKSBpcyBhIGZpbmUgcGxhY2UgdG8gYmUgY2FsbGVkIGZyb20pLiBJdCByZW1vdmVzIGlub2RlIGZyb20KKyAqIHRyYW5zYWN0aW9uJ3MgbGlzdHMuCisgKi8KK3ZvaWQgamJkMl9qb3VybmFsX3JlbGVhc2VfamJkX2lub2RlKGpvdXJuYWxfdCAqam91cm5hbCwKKwkJCQkgICAgc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSkKK3sKKwlpbnQgd3JpdGVvdXQgPSAwOworCisJaWYgKCFqb3VybmFsKQorCQlyZXR1cm47CityZXN0YXJ0OgorCXNwaW5fbG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCS8qIElzIGNvbW1pdCB3cml0aW5nIG91dCBpbm9kZSAtIHdlIGhhdmUgdG8gd2FpdCAqLworCWlmIChqaW5vZGUtPmlfZmxhZ3MgJiBKSV9DT01NSVRfUlVOTklORykgeworCQl3YWl0X3F1ZXVlX2hlYWRfdCAqd3E7CisJCURFRklORV9XQUlUX0JJVCh3YWl0LCAmamlub2RlLT5pX2ZsYWdzLCBfX0pJX0NPTU1JVF9SVU5OSU5HKTsKKwkJd3EgPSBiaXRfd2FpdHF1ZXVlKCZqaW5vZGUtPmlfZmxhZ3MsIF9fSklfQ09NTUlUX1JVTk5JTkcpOworCQlwcmVwYXJlX3RvX3dhaXQod3EsICZ3YWl0LndhaXQsIFRBU0tfVU5JTlRFUlJVUFRJQkxFKTsKKwkJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKKwkJc2NoZWR1bGUoKTsKKwkJZmluaXNoX3dhaXQod3EsICZ3YWl0LndhaXQpOworCQlnb3RvIHJlc3RhcnQ7CisJfQorCisJLyogRG8gd2UgbmVlZCB0byB3YWl0IGZvciBkYXRhIHdyaXRlYmFjaz8gKi8KKwlpZiAoam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uID09IGppbm9kZS0+aV90cmFuc2FjdGlvbikKKwkJd3JpdGVvdXQgPSAxOworCWlmIChqaW5vZGUtPmlfdHJhbnNhY3Rpb24pIHsKKwkJbGlzdF9kZWwoJmppbm9kZS0+aV9saXN0KTsKKwkJamlub2RlLT5pX3RyYW5zYWN0aW9uID0gTlVMTDsKKwl9CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKK30KKworLyoKICAqIGRlYnVnZnMgdHVuYWJsZXMKICAqLwogI2lmZGVmIENPTkZJR19KQkQyX0RFQlVHCmRpZmYgLS1naXQgYS9mcy9qYmQyL3RyYW5zYWN0aW9uLmMgYi9mcy9qYmQyL3RyYW5zYWN0aW9uLmMKaW5kZXggZDZlMDA2ZS4uNGY3Y2FkYiAxMDA2NDQKLS0tIGEvZnMvamJkMi90cmFuc2FjdGlvbi5jCisrKyBiL2ZzL2piZDIvdHJhbnNhY3Rpb24uYwpAQCAtNDEsNyArNDEsNiBAQAogICoJbmV3IHRyYW5zYWN0aW9uCWFuZCB3ZSBjYW4ndCBibG9jayB3aXRob3V0IHByb3RlY3RpbmcgYWdhaW5zdCBvdGhlcgogICoJcHJvY2Vzc2VzIHRyeWluZyB0byB0b3VjaCB0aGUgam91cm5hbCB3aGlsZSBpdCBpcyBpbiB0cmFuc2l0aW9uLgogICoKLSAqIENhbGxlZCB1bmRlciBqX3N0YXRlX2xvY2sKICAqLwogCiBzdGF0aWMgdHJhbnNhY3Rpb25fdCAqCkBAIC01Miw2ICs1MSw3IEBACiAJdHJhbnNhY3Rpb24tPnRfdGlkID0gam91cm5hbC0+al90cmFuc2FjdGlvbl9zZXF1ZW5jZSsrOwogCXRyYW5zYWN0aW9uLT50X2V4cGlyZXMgPSBqaWZmaWVzICsgam91cm5hbC0+al9jb21taXRfaW50ZXJ2YWw7CiAJc3Bpbl9sb2NrX2luaXQoJnRyYW5zYWN0aW9uLT50X2hhbmRsZV9sb2NrKTsKKwlJTklUX0xJU1RfSEVBRCgmdHJhbnNhY3Rpb24tPnRfaW5vZGVfbGlzdCk7CiAKIAkvKiBTZXQgdXAgdGhlIGNvbW1pdCB0aW1lciBmb3IgdGhlIG5ldyB0cmFuc2FjdGlvbi4gKi8KIAlqb3VybmFsLT5qX2NvbW1pdF90aW1lci5leHBpcmVzID0gcm91bmRfamlmZmllcyh0cmFuc2FjdGlvbi0+dF9leHBpcmVzKTsKQEAgLTk0MywxODMgKzk0Myw2IEBACiB9CiAKIC8qKgotICogaW50IGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKCkgLSAgbWFyayBhIGJ1ZmZlciBhcyBjb250YWluaW5nIGRpcnR5IGRhdGEgd2hpY2gKLSAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkcyB0byBiZSBmbHVzaGVkIGJlZm9yZSB3ZSBjYW4gY29tbWl0IHRoZQotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgdHJhbnNhY3Rpb24uCi0gKiBAaGFuZGxlOiB0cmFuc2FjdGlvbgotICogQGJoOiBidWZmZXJoZWFkIHRvIG1hcmsKLSAqCi0gKiBUaGUgYnVmZmVyIGlzIHBsYWNlZCBvbiB0aGUgdHJhbnNhY3Rpb24ncyBkYXRhIGxpc3QgYW5kIGlzIG1hcmtlZCBhcwotICogYmVsb25naW5nIHRvIHRoZSB0cmFuc2FjdGlvbi4KLSAqCi0gKiBSZXR1cm5zIGVycm9yIG51bWJlciBvciAwIG9uIHN1Y2Nlc3MuCi0gKgotICogamJkMl9qb3VybmFsX2RpcnR5X2RhdGEoKSBjYW4gYmUgY2FsbGVkIHZpYSBwYWdlX2xhdW5kZXItPmV4dDNfd3JpdGVwYWdlCi0gKiBieSBrc3dhcGQuCi0gKi8KLWludCBqYmQyX2pvdXJuYWxfZGlydHlfZGF0YShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoKQotewotCWpvdXJuYWxfdCAqam91cm5hbCA9IGhhbmRsZS0+aF90cmFuc2FjdGlvbi0+dF9qb3VybmFsOwotCWludCBuZWVkX2JyZWxzZSA9IDA7Ci0Jc3RydWN0IGpvdXJuYWxfaGVhZCAqamg7Ci0KLQlpZiAoaXNfaGFuZGxlX2Fib3J0ZWQoaGFuZGxlKSkKLQkJcmV0dXJuIDA7Ci0KLQlqaCA9IGpiZDJfam91cm5hbF9hZGRfam91cm5hbF9oZWFkKGJoKTsKLQlKQlVGRkVSX1RSQUNFKGpoLCAiZW50cnkiKTsKLQotCS8qCi0JICogVGhlIGJ1ZmZlciBjb3VsZCAqYWxyZWFkeSogYmUgZGlydHkuICBXcml0ZW91dCBjYW4gc3RhcnQKLQkgKiBhdCBhbnkgdGltZS4KLQkgKi8KLQlqYmRfZGVidWcoNCwgImpoOiAlcCwgdGlkOiVkXG4iLCBqaCwgaGFuZGxlLT5oX3RyYW5zYWN0aW9uLT50X3RpZCk7Ci0KLQkvKgotCSAqIFdoYXQgaWYgdGhlIGJ1ZmZlciBpcyBhbHJlYWR5IHBhcnQgb2YgYSBydW5uaW5nIHRyYW5zYWN0aW9uPwotCSAqCi0JICogVGhlcmUgYXJlIHR3byBjYXNlczoKLQkgKiAxKSBJdCBpcyBwYXJ0IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcgdHJhbnNhY3Rpb24uICBSZWZpbGUgaXQsCi0JICogICAganVzdCBpbiBjYXNlIHdlIGhhdmUgYWxsb2NhdGVkIGl0IGFzIG1ldGFkYXRhLCBkZWFsbG9jYXRlZAotCSAqICAgIGl0LCB0aGVuIHJlYWxsb2NhdGVkIGl0IGFzIGRhdGEuCi0JICogMikgSXQgaXMgcGFydCBvZiB0aGUgcHJldmlvdXMsIHN0aWxsLWNvbW1pdHRpbmcgdHJhbnNhY3Rpb24uCi0JICogICAgSWYgYWxsIHdlIHdhbnQgdG8gZG8gaXMgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGJ1ZmZlciB3aWxsIGJlCi0JICogICAgd3JpdHRlbiB0byBkaXNrIGJlZm9yZSB0aGlzIG5ldyB0cmFuc2FjdGlvbiBjb21taXRzLCB0aGVuCi0JICogICAgYmVpbmcgc3VyZSB0aGF0IHRoZSAqcHJldmlvdXMqIHRyYW5zYWN0aW9uIGhhcyB0aGlzIHNhbWUKLQkgKiAgICBwcm9wZXJ0eSBpcyBzdWZmaWNpZW50IGZvciB1cyEgIEp1c3QgbGVhdmUgaXQgb24gaXRzIG9sZAotCSAqICAgIHRyYW5zYWN0aW9uLgotCSAqCi0JICogSW4gY2FzZSAoMiksIHRoZSBidWZmZXIgbXVzdCBub3QgYWxyZWFkeSBleGlzdCBhcyBtZXRhZGF0YQotCSAqIC0tLSB0aGF0IHdvdWxkIHZpb2xhdGUgd3JpdGUgb3JkZXJpbmcgKGEgdHJhbnNhY3Rpb24gaXMgZnJlZQotCSAqIHRvIHdyaXRlIGl0cyBkYXRhIGF0IGFueSBwb2ludCwgZXZlbiBiZWZvcmUgdGhlIHByZXZpb3VzCi0JICogY29tbWl0dGluZyB0cmFuc2FjdGlvbiBoYXMgY29tbWl0dGVkKS4gIFRoZSBjYWxsZXIgbXVzdAotCSAqIG5ldmVyLCBldmVyIGFsbG93IHRoaXMgdG8gaGFwcGVuOiB0aGVyZSdzIG5vdGhpbmcgd2UgY2FuIGRvCi0JICogYWJvdXQgaXQgaW4gdGhpcyBsYXllci4KLQkgKi8KLQlqYmRfbG9ja19iaF9zdGF0ZShiaCk7Ci0Jc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0KLQkvKiBOb3cgdGhhdCB3ZSBoYXZlIGJoX3N0YXRlIGxvY2tlZCwgYXJlIHdlIHJlYWxseSBzdGlsbCBtYXBwZWQ/ICovCi0JaWYgKCFidWZmZXJfbWFwcGVkKGJoKSkgewotCQlKQlVGRkVSX1RSQUNFKGpoLCAidW5tYXBwZWQgYnVmZmVyLCBiYWlsaW5nIG91dCIpOwotCQlnb3RvIG5vX2pvdXJuYWw7Ci0JfQotCi0JaWYgKGpoLT5iX3RyYW5zYWN0aW9uKSB7Ci0JCUpCVUZGRVJfVFJBQ0UoamgsICJoYXMgdHJhbnNhY3Rpb24iKTsKLQkJaWYgKGpoLT5iX3RyYW5zYWN0aW9uICE9IGhhbmRsZS0+aF90cmFuc2FjdGlvbikgewotCQkJSkJVRkZFUl9UUkFDRShqaCwgImJlbG9uZ3MgdG8gb2xkZXIgdHJhbnNhY3Rpb24iKTsKLQkJCUpfQVNTRVJUX0pIKGpoLCBqaC0+Yl90cmFuc2FjdGlvbiA9PQotCQkJCQlqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb24pOwotCi0JCQkvKiBAQEAgSVMgVEhJUyBUUlVFICA/ICovCi0JCQkvKgotCQkJICogTm90IGFueSBtb3JlLiAgU2NlbmFyaW86IHNvbWVvbmUgZG9lcyBhIHdyaXRlKCkKLQkJCSAqIGluIGRhdGE9am91cm5hbCBtb2RlLiAgVGhlIGJ1ZmZlcidzIHRyYW5zYWN0aW9uIGhhcwotCQkJICogbW92ZWQgaW50byBjb21taXQuICBUaGVuIHNvbWVvbmUgZG9lcyBhbm90aGVyCi0JCQkgKiB3cml0ZSgpIHRvIHRoZSBmaWxlLiAgV2UgZG8gdGhlIGZyb3plbiBkYXRhIGNvcHlvdXQKLQkJCSAqIGFuZCBzZXQgYl9uZXh0X3RyYW5zYWN0aW9uIHRvIHBvaW50IHRvIGpfcnVubmluZ190LgotCQkJICogQW5kIHdoaWxlIHdlJ3JlIGluIHRoYXQgc3RhdGUsIHNvbWVvbmUgZG9lcyBhCi0JCQkgKiB3cml0ZXBhZ2UoKSBpbiBhbiBhdHRlbXB0IHRvIHBhZ2VvdXQgdGhlIHNhbWUgYXJlYQotCQkJICogb2YgdGhlIGZpbGUgdmlhIGEgc2hhcmVkIG1hcHBpbmcuICBBdCBwcmVzZW50IHRoYXQKLQkJCSAqIGNhbGxzIGpiZDJfam91cm5hbF9kaXJ0eV9kYXRhKCksIGFuZCB3ZSBnZXQgcmlnaHQgaGVyZS4KLQkJCSAqIEl0IG1heSBiZSB0b28gbGF0ZSB0byBqb3VybmFsIHRoZSBkYXRhLiAgU2ltcGx5Ci0JCQkgKiBmYWxsaW5nIHRocm91Z2ggdG8gdGhlIG5leHQgdGVzdCB3aWxsIHN1ZmZpY2U6IHRoZQotCQkJICogZGF0YSB3aWxsIGJlIGRpcnR5IGFuZCB3aWwgYmUgY2hlY2twb2ludGVkLiAgVGhlCi0JCQkgKiBvcmRlcmluZyBjb21tZW50cyBpbiB0aGUgbmV4dCBjb21tZW50IGJsb2NrIHN0aWxsCi0JCQkgKiBhcHBseS4KLQkJCSAqLwotCQkJLy9KX0FTU0VSVF9KSChqaCwgamgtPmJfbmV4dF90cmFuc2FjdGlvbiA9PSBOVUxMKTsKLQotCQkJLyoKLQkJCSAqIElmIHdlJ3JlIGpvdXJuYWxsaW5nIGRhdGEsIGFuZCB0aGlzIGJ1ZmZlciB3YXMKLQkJCSAqIHN1YmplY3QgdG8gYSB3cml0ZSgpLCBpdCBjb3VsZCBiZSBtZXRhZGF0YSwgZm9yZ2V0Ci0JCQkgKiBvciBzaGFkb3cgYWdhaW5zdCB0aGUgY29tbWl0dGluZyB0cmFuc2FjdGlvbi4gIE5vdywKLQkJCSAqIHNvbWVvbmUgaGFzIGRpcnRpZWQgdGhlIHNhbWUgZGFybiBwYWdlIHZpYSBhIG1hcHBpbmcKLQkJCSAqIGFuZCBpdCBpcyBiZWluZyB3cml0ZXBhZ2UoKSdkLgotCQkJICogV2UgKmNvdWxkKiBqdXN0IHN0ZWFsIHRoZSBwYWdlIGZyb20gY29tbWl0LCB3aXRoIHNvbWUKLQkJCSAqIGZhbmN5IGxvY2tpbmcgdGhlcmUuICBJbnN0ZWFkLCB3ZSBqdXN0IHNraXAgaXQgLQotCQkJICogZG9uJ3QgdGllIHRoZSBwYWdlJ3MgYnVmZmVycyB0byB0aGUgbmV3IHRyYW5zYWN0aW9uCi0JCQkgKiBhdCBhbGwuCi0JCQkgKiBJbXBsaWNhdGlvbjogaWYgd2UgY3Jhc2ggYmVmb3JlIHRoZSB3cml0ZXBhZ2UoKSBkYXRhCi0JCQkgKiBpcyB3cml0dGVuIGludG8gdGhlIGZpbGVzeXN0ZW0sIHJlY292ZXJ5IHdpbGwgcmVwbGF5Ci0JCQkgKiB0aGUgd3JpdGUoKSBkYXRhLgotCQkJICovCi0JCQlpZiAoamgtPmJfamxpc3QgIT0gQkpfTm9uZSAmJgotCQkJCQlqaC0+Yl9qbGlzdCAhPSBCSl9TeW5jRGF0YSAmJgotCQkJCQlqaC0+Yl9qbGlzdCAhPSBCSl9Mb2NrZWQpIHsKLQkJCQlKQlVGRkVSX1RSQUNFKGpoLCAiTm90IHN0ZWFsaW5nIik7Ci0JCQkJZ290byBub19qb3VybmFsOwotCQkJfQotCi0JCQkvKgotCQkJICogVGhpcyBidWZmZXIgbWF5IGJlIHVuZGVyZ29pbmcgd3JpdGVvdXQgaW4gY29tbWl0LiAgV2UKLQkJCSAqIGNhbid0IHJldHVybiBmcm9tIGhlcmUgYW5kIGxldCB0aGUgY2FsbGVyIGRpcnR5IGl0Ci0JCQkgKiBhZ2FpbiBiZWNhdXNlIHRoYXQgY2FuIGNhdXNlIHRoZSB3cml0ZS1vdXQgbG9vcCBpbgotCQkJICogY29tbWl0IHRvIG5ldmVyIHRlcm1pbmF0ZS4KLQkJCSAqLwotCQkJaWYgKGJ1ZmZlcl9kaXJ0eShiaCkpIHsKLQkJCQlnZXRfYmgoYmgpOwotCQkJCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JCQkJbmVlZF9icmVsc2UgPSAxOwotCQkJCXN5bmNfZGlydHlfYnVmZmVyKGJoKTsKLQkJCQlqYmRfbG9ja19iaF9zdGF0ZShiaCk7Ci0JCQkJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JCQkJLyogU2luY2Ugd2UgZHJvcHBlZCB0aGUgbG9jay4uLiAqLwotCQkJCWlmICghYnVmZmVyX21hcHBlZChiaCkpIHsKLQkJCQkJSkJVRkZFUl9UUkFDRShqaCwgImJ1ZmZlciBnb3QgdW5tYXBwZWQiKTsKLQkJCQkJZ290byBub19qb3VybmFsOwotCQkJCX0KLQkJCQkvKiBUaGUgYnVmZmVyIG1heSBiZWNvbWUgbG9ja2VkIGFnYWluIGF0IGFueQotCQkJCSAgIHRpbWUgaWYgaXQgaXMgcmVkaXJ0aWVkICovCi0JCQl9Ci0KLQkJCS8qIGpvdXJuYWxfY2xlYW5fZGF0YV9saXN0KCkgbWF5IGhhdmUgZ290IHRoZXJlIGZpcnN0ICovCi0JCQlpZiAoamgtPmJfdHJhbnNhY3Rpb24gIT0gTlVMTCkgewotCQkJCUpCVUZGRVJfVFJBQ0UoamgsICJ1bmZpbGUgZnJvbSBjb21taXQiKTsKLQkJCQlfX2piZDJfam91cm5hbF90ZW1wX3VubGlua19idWZmZXIoamgpOwotCQkJCS8qIEl0IHN0aWxsIHBvaW50cyB0byB0aGUgY29tbWl0dGluZwotCQkJCSAqIHRyYW5zYWN0aW9uOyBtb3ZlIGl0IHRvIHRoaXMgb25lIHNvCi0JCQkJICogdGhhdCB0aGUgcmVmaWxlIGFzc2VydCBjaGVja3MgYXJlCi0JCQkJICogaGFwcHkuICovCi0JCQkJamgtPmJfdHJhbnNhY3Rpb24gPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb247Ci0JCQl9Ci0JCQkvKiBUaGUgYnVmZmVyIHdpbGwgYmUgcmVmaWxlZCBiZWxvdyAqLwotCi0JCX0KLQkJLyoKLQkJICogU3BlY2lhbCBjYXNlIC0tLSB0aGUgYnVmZmVyIG1pZ2h0IGFjdHVhbGx5IGhhdmUgYmVlbgotCQkgKiBhbGxvY2F0ZWQgYW5kIHRoZW4gaW1tZWRpYXRlbHkgZGVhbGxvY2F0ZWQgaW4gdGhlIHByZXZpb3VzLAotCQkgKiBjb21taXR0aW5nIHRyYW5zYWN0aW9uLCBzbyBtaWdodCBzdGlsbCBiZSBsZWZ0IG9uIHRoYXQKLQkJICogdHJhbnNhY3Rpb24ncyBtZXRhZGF0YSBsaXN0cy4KLQkJICovCi0JCWlmIChqaC0+Yl9qbGlzdCAhPSBCSl9TeW5jRGF0YSAmJiBqaC0+Yl9qbGlzdCAhPSBCSl9Mb2NrZWQpIHsKLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJub3Qgb24gY29ycmVjdCBkYXRhIGxpc3Q6IHVuZmlsZSIpOwotCQkJSl9BU1NFUlRfSkgoamgsIGpoLT5iX2psaXN0ICE9IEJKX1NoYWRvdyk7Ci0JCQlfX2piZDJfam91cm5hbF90ZW1wX3VubGlua19idWZmZXIoamgpOwotCQkJamgtPmJfdHJhbnNhY3Rpb24gPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb247Ci0JCQlKQlVGRkVSX1RSQUNFKGpoLCAiZmlsZSBhcyBkYXRhIik7Ci0JCQlfX2piZDJfam91cm5hbF9maWxlX2J1ZmZlcihqaCwgaGFuZGxlLT5oX3RyYW5zYWN0aW9uLAotCQkJCQkJQkpfU3luY0RhdGEpOwotCQl9Ci0JfSBlbHNlIHsKLQkJSkJVRkZFUl9UUkFDRShqaCwgIm5vdCBvbiBhIHRyYW5zYWN0aW9uIik7Ci0JCV9famJkMl9qb3VybmFsX2ZpbGVfYnVmZmVyKGpoLCBoYW5kbGUtPmhfdHJhbnNhY3Rpb24sIEJKX1N5bmNEYXRhKTsKLQl9Ci1ub19qb3VybmFsOgotCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7Ci0JamJkX3VubG9ja19iaF9zdGF0ZShiaCk7Ci0JaWYgKG5lZWRfYnJlbHNlKSB7Ci0JCUJVRkZFUl9UUkFDRShiaCwgImJyZWxzZSIpOwotCQlfX2JyZWxzZShiaCk7Ci0JfQotCUpCVUZGRVJfVFJBQ0UoamgsICJleGl0Iik7Ci0JamJkMl9qb3VybmFsX3B1dF9qb3VybmFsX2hlYWQoamgpOwotCXJldHVybiAwOwotfQotCi0vKioKICAqIGludCBqYmQyX2pvdXJuYWxfZGlydHlfbWV0YWRhdGEoKSAtICBtYXJrIGEgYnVmZmVyIGFzIGNvbnRhaW5pbmcgZGlydHkgbWV0YWRhdGEKICAqIEBoYW5kbGU6IHRyYW5zYWN0aW9uIHRvIGFkZCBidWZmZXIgdG8uCiAgKiBAYmg6IGJ1ZmZlciB0byBtYXJrCkBAIC0xNTQxLDEwICsxMzY0LDEwIEBACiAgKiBSZW1vdmUgYSBidWZmZXIgZnJvbSB0aGUgYXBwcm9wcmlhdGUgdHJhbnNhY3Rpb24gbGlzdC4KICAqCiAgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjYW4gKmNoYW5nZSogdGhlIHZhbHVlIG9mCi0gKiBiaC0+Yl90cmFuc2FjdGlvbi0+dF9zeW5jX2RhdGFsaXN0LCB0X2J1ZmZlcnMsIHRfZm9yZ2V0LAotICogdF9pb2J1Zl9saXN0LCB0X3NoYWRvd19saXN0LCB0X2xvZ19saXN0IG9yIHRfcmVzZXJ2ZWRfbGlzdC4gIElmIHRoZSBjYWxsZXIKLSAqIGlzIGhvbGRpbmcgb250byBhIGNvcHkgb2Ygb25lIG9mIHRoZWUgcG9pbnRlcnMsIGl0IGNvdWxkIGdvIGJhZC4KLSAqIEdlbmVyYWxseSB0aGUgY2FsbGVyIG5lZWRzIHRvIHJlLXJlYWQgdGhlIHBvaW50ZXIgZnJvbSB0aGUgdHJhbnNhY3Rpb25fdC4KKyAqIGJoLT5iX3RyYW5zYWN0aW9uLT50X2J1ZmZlcnMsIHRfZm9yZ2V0LCB0X2lvYnVmX2xpc3QsIHRfc2hhZG93X2xpc3QsCisgKiB0X2xvZ19saXN0IG9yIHRfcmVzZXJ2ZWRfbGlzdC4gIElmIHRoZSBjYWxsZXIgaXMgaG9sZGluZyBvbnRvIGEgY29weSBvZiBvbmUKKyAqIG9mIHRoZXNlIHBvaW50ZXJzLCBpdCBjb3VsZCBnbyBiYWQuICBHZW5lcmFsbHkgdGhlIGNhbGxlciBuZWVkcyB0byByZS1yZWFkCisgKiB0aGUgcG9pbnRlciBmcm9tIHRoZSB0cmFuc2FjdGlvbl90LgogICoKICAqIENhbGxlZCB1bmRlciBqX2xpc3RfbG9jay4gIFRoZSBqb3VybmFsIG1heSBub3QgYmUgbG9ja2VkLgogICovCkBAIC0xNTY2LDkgKzEzODksNiBAQAogCXN3aXRjaCAoamgtPmJfamxpc3QpIHsKIAljYXNlIEJKX05vbmU6CiAJCXJldHVybjsKLQljYXNlIEJKX1N5bmNEYXRhOgotCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3Q7Ci0JCWJyZWFrOwogCWNhc2UgQkpfTWV0YWRhdGE6CiAJCXRyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMtLTsKIAkJSl9BU1NFUlRfSkgoamgsIHRyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMgPj0gMCk7CkBAIC0xNTg5LDkgKzE0MDksNiBAQAogCWNhc2UgQkpfUmVzZXJ2ZWQ6CiAJCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfcmVzZXJ2ZWRfbGlzdDsKIAkJYnJlYWs7Ci0JY2FzZSBCSl9Mb2NrZWQ6Ci0JCWxpc3QgPSAmdHJhbnNhY3Rpb24tPnRfbG9ja2VkX2xpc3Q7Ci0JCWJyZWFrOwogCX0KIAogCV9fYmxpc3RfZGVsX2J1ZmZlcihsaXN0LCBqaCk7CkBAIC0xNjM0LDE1ICsxNDUxLDcgQEAKIAkJZ290byBvdXQ7CiAKIAlzcGluX2xvY2soJmpvdXJuYWwtPmpfbGlzdF9sb2NrKTsKLQlpZiAoamgtPmJfdHJhbnNhY3Rpb24gIT0gTlVMTCAmJiBqaC0+Yl9jcF90cmFuc2FjdGlvbiA9PSBOVUxMKSB7Ci0JCWlmIChqaC0+Yl9qbGlzdCA9PSBCSl9TeW5jRGF0YSB8fCBqaC0+Yl9qbGlzdCA9PSBCSl9Mb2NrZWQpIHsKLQkJCS8qIEEgd3JpdHRlbi1iYWNrIG9yZGVyZWQgZGF0YSBidWZmZXIgKi8KLQkJCUpCVUZGRVJfVFJBQ0UoamgsICJyZWxlYXNlIGRhdGEiKTsKLQkJCV9famJkMl9qb3VybmFsX3VuZmlsZV9idWZmZXIoamgpOwotCQkJamJkMl9qb3VybmFsX3JlbW92ZV9qb3VybmFsX2hlYWQoYmgpOwotCQkJX19icmVsc2UoYmgpOwotCQl9Ci0JfSBlbHNlIGlmIChqaC0+Yl9jcF90cmFuc2FjdGlvbiAhPSBOVUxMICYmIGpoLT5iX3RyYW5zYWN0aW9uID09IE5VTEwpIHsKKwlpZiAoamgtPmJfY3BfdHJhbnNhY3Rpb24gIT0gTlVMTCAmJiBqaC0+Yl90cmFuc2FjdGlvbiA9PSBOVUxMKSB7CiAJCS8qIHdyaXR0ZW4tYmFjayBjaGVja3BvaW50ZWQgbWV0YWRhdGEgYnVmZmVyICovCiAJCWlmIChqaC0+Yl9qbGlzdCA9PSBCSl9Ob25lKSB7CiAJCQlKQlVGRkVSX1RSQUNFKGpoLCAicmVtb3ZlIGZyb20gY2hlY2twb2ludCBsaXN0Iik7CkBAIC0xNjU2LDEyICsxNDY1LDQzIEBACiAJcmV0dXJuOwogfQogCisvKgorICogamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoKSBjb3VsZCByYWNlIHdpdGgKKyAqIGpiZDJfam91cm5hbF9jb21taXRfdHJhbnNhY3Rpb24oKS4gVGhlIGxhdGVyIG1pZ2h0IHN0aWxsIGhvbGQgdGhlCisgKiByZWZlcmVuY2UgY291bnQgdG8gdGhlIGJ1ZmZlcnMgd2hlbiBpbnNwZWN0aW5nIHRoZW0gb24KKyAqIHRfc3luY2RhdGFfbGlzdCBvciB0X2xvY2tlZF9saXN0LgorICoKKyAqIGpiZDJfam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXJzKCkgd2lsbCBjYWxsIHRoaXMgZnVuY3Rpb24gdG8KKyAqIHdhaXQgZm9yIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIHRvIGZpbmlzaCBzeW5jaW5nIGRhdGEgYnVmZmVycywgYmVmb3JlCisgKiB0cnkgdG8gZnJlZSB0aGF0IGJ1ZmZlci4KKyAqCisgKiBDYWxsZWQgd2l0aCBqb3VybmFsLT5qX3N0YXRlX2xvY2sgaG9sZC4KKyAqLworc3RhdGljIHZvaWQgamJkMl9qb3VybmFsX3dhaXRfZm9yX3RyYW5zYWN0aW9uX3N5bmNfZGF0YShqb3VybmFsX3QgKmpvdXJuYWwpCit7CisJdHJhbnNhY3Rpb25fdCAqdHJhbnNhY3Rpb247CisJdGlkX3QgdGlkOworCisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX3N0YXRlX2xvY2spOworCXRyYW5zYWN0aW9uID0gam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uOworCisJaWYgKCF0cmFuc2FjdGlvbikgeworCQlzcGluX3VubG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwkJcmV0dXJuOworCX0KKworCXRpZCA9IHRyYW5zYWN0aW9uLT50X3RpZDsKKwlzcGluX3VubG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwlqYmQyX2xvZ193YWl0X2NvbW1pdChqb3VybmFsLCB0aWQpOworfQogCiAvKioKICAqIGludCBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpIC0gdHJ5IHRvIGZyZWUgcGFnZSBidWZmZXJzLgogICogQGpvdXJuYWw6IGpvdXJuYWwgZm9yIG9wZXJhdGlvbgogICogQHBhZ2U6IHRvIHRyeSBhbmQgZnJlZQotICogQHVudXNlZF9nZnBfbWFzazogdW51c2VkCisgKiBAZ2ZwX21hc2s6IHdlIHVzZSB0aGUgbWFzayB0byBkZXRlY3QgaG93IGhhcmQgc2hvdWxkIHdlIHRyeSB0byByZWxlYXNlCisgKiBidWZmZXJzLiBJZiBfX0dGUF9XQUlUIGFuZCBfX0dGUF9GUyBpcyBzZXQsIHdlIHdhaXQgZm9yIGNvbW1pdCBjb2RlIHRvCisgKiByZWxlYXNlIHRoZSBidWZmZXJzLgogICoKICAqCiAgKiBGb3IgYWxsIHRoZSBidWZmZXJzIG9uIHRoaXMgcGFnZSwKQEAgLTE2OTAsOSArMTUzMCwxMSBAQAogICogam91cm5hbF90cnlfdG9fZnJlZV9idWZmZXIoKSBpcyBjaGFuZ2luZyBpdHMgc3RhdGUuICBCdXQgdGhhdAogICogY2Fubm90IGhhcHBlbiBiZWNhdXNlIHdlIG5ldmVyIHJlYWxsb2NhdGUgZnJlZWQgZGF0YSBhcyBtZXRhZGF0YQogICogd2hpbGUgdGhlIGRhdGEgaXMgcGFydCBvZiBhIHRyYW5zYWN0aW9uLiAgWWVzPworICoKKyAqIFJldHVybiAwIG9uIGZhaWx1cmUsIDEgb24gc3VjY2VzcwogICovCiBpbnQgamJkMl9qb3VybmFsX3RyeV90b19mcmVlX2J1ZmZlcnMoam91cm5hbF90ICpqb3VybmFsLAotCQkJCXN0cnVjdCBwYWdlICpwYWdlLCBnZnBfdCB1bnVzZWRfZ2ZwX21hc2spCisJCQkJc3RydWN0IHBhZ2UgKnBhZ2UsIGdmcF90IGdmcF9tYXNrKQogewogCXN0cnVjdCBidWZmZXJfaGVhZCAqaGVhZDsKIAlzdHJ1Y3QgYnVmZmVyX2hlYWQgKmJoOwpAQCAtMTcwOCw3ICsxNTUwLDggQEAKIAkJLyoKIAkJICogV2UgdGFrZSBvdXIgb3duIHJlZiBhZ2FpbnN0IHRoZSBqb3VybmFsX2hlYWQgaGVyZSB0byBhdm9pZAogCQkgKiBoYXZpbmcgdG8gYWRkIHRvbnMgb2YgbG9ja2luZyBhcm91bmQgZWFjaCBpbnN0YW5jZSBvZgotCQkgKiBqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZCgpIGFuZCBqYmQyX2pvdXJuYWxfcHV0X2pvdXJuYWxfaGVhZCgpLgorCQkgKiBqYmQyX2pvdXJuYWxfcmVtb3ZlX2pvdXJuYWxfaGVhZCgpIGFuZAorCQkgKiBqYmQyX2pvdXJuYWxfcHV0X2pvdXJuYWxfaGVhZCgpLgogCQkgKi8KIAkJamggPSBqYmQyX2pvdXJuYWxfZ3JhYl9qb3VybmFsX2hlYWQoYmgpOwogCQlpZiAoIWpoKQpAQCAtMTcyMSw3ICsxNTY0LDI4IEBACiAJCWlmIChidWZmZXJfamJkKGJoKSkKIAkJCWdvdG8gYnVzeTsKIAl9IHdoaWxlICgoYmggPSBiaC0+Yl90aGlzX3BhZ2UpICE9IGhlYWQpOworCiAJcmV0ID0gdHJ5X3RvX2ZyZWVfYnVmZmVycyhwYWdlKTsKKworCS8qCisJICogVGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBsYWNlcyB3aGVyZSBqYmQyX2pvdXJuYWxfdHJ5X3RvX2ZyZWVfYnVmZmVycygpCisJICogY291bGQgcmFjZSB3aXRoIGpiZDJfam91cm5hbF9jb21taXRfdHJhbnNhY3Rpb24oKSwgdGhlIGxhdGVyIHN0aWxsCisJICogaG9sZHMgdGhlIHJlZmVyZW5jZSB0byB0aGUgYnVmZmVycyB0byBmcmVlIHdoaWxlIHByb2Nlc3NpbmcgdGhlbS4KKwkgKiB0cnlfdG9fZnJlZV9idWZmZXJzKCkgZmFpbGVkIHRvIGZyZWUgdGhvc2UgYnVmZmVycy4gU29tZSBvZiB0aGUKKwkgKiBjYWxsZXIgb2YgcmVsZWFzZXBhZ2UoKSByZXF1ZXN0IHBhZ2UgYnVmZmVycyB0byBiZSBkcm9wcGVkLCBvdGhlcndpc2UKKwkgKiB0cmVhdCB0aGUgZmFpbC10by1mcmVlIGFzIGVycm9ycyAoc3VjaCBhcyBnZW5lcmljX2ZpbGVfZGlyZWN0X0lPKCkpCisJICoKKwkgKiBTbywgaWYgdGhlIGNhbGxlciBvZiB0cnlfdG9fcmVsZWFzZV9wYWdlKCkgd2FudHMgdGhlIHN5bmNocm9ub3VzCisJICogYmVoYXZpb3VyKGkuZSBtYWtlIHN1cmUgYnVmZmVycyBhcmUgZHJvcHBlZCB1cG9uIHJldHVybiksCisJICogbGV0J3Mgd2FpdCBmb3IgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gdG8gZmluaXNoIGZsdXNoIG9mCisJICogZGlydHkgZGF0YSBidWZmZXJzLCB0aGVuIHRyeSB0byBmcmVlIHRob3NlIGJ1ZmZlcnMgYWdhaW4sCisJICogd2l0aCB0aGUgam91cm5hbCBsb2NrZWQuCisJICovCisJaWYgKHJldCA9PSAwICYmIChnZnBfbWFzayAmIF9fR0ZQX1dBSVQpICYmIChnZnBfbWFzayAmIF9fR0ZQX0ZTKSkgeworCQlqYmQyX2pvdXJuYWxfd2FpdF9mb3JfdHJhbnNhY3Rpb25fc3luY19kYXRhKGpvdXJuYWwpOworCQlyZXQgPSB0cnlfdG9fZnJlZV9idWZmZXJzKHBhZ2UpOworCX0KKwogYnVzeToKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTgyMyw2ICsxNjg3LDcgQEAKIAlpZiAoIWJ1ZmZlcl9qYmQoYmgpKQogCQlnb3RvIHphcF9idWZmZXJfdW5sb2NrZWQ7CiAKKwkvKiBPSywgd2UgaGF2ZSBkYXRhIGJ1ZmZlciBpbiBqb3VybmFsZWQgbW9kZSAqLwogCXNwaW5fbG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKIAlqYmRfbG9ja19iaF9zdGF0ZShiaCk7CiAJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CkBAIC0xODg2LDE1ICsxNzUxLDYgQEAKIAkJfQogCX0gZWxzZSBpZiAodHJhbnNhY3Rpb24gPT0gam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uKSB7CiAJCUpCVUZGRVJfVFJBQ0UoamgsICJvbiBjb21taXR0aW5nIHRyYW5zYWN0aW9uIik7Ci0JCWlmIChqaC0+Yl9qbGlzdCA9PSBCSl9Mb2NrZWQpIHsKLQkJCS8qCi0JCQkgKiBUaGUgYnVmZmVyIGlzIG9uIHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uJ3MgbG9ja2VkCi0JCQkgKiBsaXN0LiAgV2UgaGF2ZSB0aGUgYnVmZmVyIGxvY2tlZCwgc28gSS9PIGhhcwotCQkJICogY29tcGxldGVkLiAgU28gd2UgY2FuIG5haWwgdGhlIGJ1ZmZlciBub3cuCi0JCQkgKi8KLQkJCW1heV9mcmVlID0gX19kaXNwb3NlX2J1ZmZlcihqaCwgdHJhbnNhY3Rpb24pOwotCQkJZ290byB6YXBfYnVmZmVyOwotCQl9CiAJCS8qCiAJCSAqIElmIGl0IGlzIGNvbW1pdHRpbmcsIHdlIHNpbXBseSBjYW5ub3QgdG91Y2ggaXQuICBXZQogCQkgKiBjYW4gcmVtb3ZlIGl0J3MgbmV4dF90cmFuc2FjdGlvbiBwb2ludGVyIGZyb20gdGhlCkBAIC0yMDI3LDkgKzE4ODMsNiBAQAogCQlKX0FTU0VSVF9KSChqaCwgIWpoLT5iX2NvbW1pdHRlZF9kYXRhKTsKIAkJSl9BU1NFUlRfSkgoamgsICFqaC0+Yl9mcm96ZW5fZGF0YSk7CiAJCXJldHVybjsKLQljYXNlIEJKX1N5bmNEYXRhOgotCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3N5bmNfZGF0YWxpc3Q7Ci0JCWJyZWFrOwogCWNhc2UgQkpfTWV0YWRhdGE6CiAJCXRyYW5zYWN0aW9uLT50X25yX2J1ZmZlcnMrKzsKIAkJbGlzdCA9ICZ0cmFuc2FjdGlvbi0+dF9idWZmZXJzOwpAQCAtMjA0OSw5ICsxOTAyLDYgQEAKIAljYXNlIEJKX1Jlc2VydmVkOgogCQlsaXN0ID0gJnRyYW5zYWN0aW9uLT50X3Jlc2VydmVkX2xpc3Q7CiAJCWJyZWFrOwotCWNhc2UgQkpfTG9ja2VkOgotCQlsaXN0ID0gICZ0cmFuc2FjdGlvbi0+dF9sb2NrZWRfbGlzdDsKLQkJYnJlYWs7CiAJfQogCiAJX19ibGlzdF9hZGRfYnVmZmVyKGxpc3QsIGpoKTsKQEAgLTIxNDEsMyArMTk5MSw4OCBAQAogCXNwaW5fdW5sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CiAJX19icmVsc2UoYmgpOwogfQorCisvKgorICogRmlsZSBpbm9kZSBpbiB0aGUgaW5vZGUgbGlzdCBvZiB0aGUgaGFuZGxlJ3MgdHJhbnNhY3Rpb24KKyAqLworaW50IGpiZDJfam91cm5hbF9maWxlX2lub2RlKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBqYmQyX2lub2RlICpqaW5vZGUpCit7CisJdHJhbnNhY3Rpb25fdCAqdHJhbnNhY3Rpb24gPSBoYW5kbGUtPmhfdHJhbnNhY3Rpb247CisJam91cm5hbF90ICpqb3VybmFsID0gdHJhbnNhY3Rpb24tPnRfam91cm5hbDsKKworCWlmIChpc19oYW5kbGVfYWJvcnRlZChoYW5kbGUpKQorCQlyZXR1cm4gLUVJTzsKKworCWpiZF9kZWJ1Zyg0LCAiQWRkaW5nIGlub2RlICVsdSwgdGlkOiVkXG4iLCBqaW5vZGUtPmlfdmZzX2lub2RlLT5pX2lubywKKwkJCXRyYW5zYWN0aW9uLT50X3RpZCk7CisKKwkvKgorCSAqIEZpcnN0IGNoZWNrIHdoZXRoZXIgaW5vZGUgaXNuJ3QgYWxyZWFkeSBvbiB0aGUgdHJhbnNhY3Rpb24ncworCSAqIGxpc3RzIHdpdGhvdXQgdGFraW5nIHRoZSBsb2NrLiBOb3RlIHRoYXQgdGhpcyBjaGVjayBpcyBzYWZlCisJICogd2l0aG91dCB0aGUgbG9jayBhcyB3ZSBjYW5ub3QgcmFjZSB3aXRoIHNvbWVib2R5IHJlbW92aW5nIGlub2RlCisJICogZnJvbSB0aGUgdHJhbnNhY3Rpb24uIFRoZSByZWFzb24gaXMgdGhhdCB3ZSByZW1vdmUgaW5vZGUgZnJvbSB0aGUKKwkgKiB0cmFuc2FjdGlvbiBvbmx5IGluIGpvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUoKSBhbmQgd2hlbiB3ZSBjb21taXQKKwkgKiB0aGUgdHJhbnNhY3Rpb24uIFdlIGFyZSBndWFyZGVkIGZyb20gdGhlIGZpcnN0IGNhc2UgYnkgaG9sZGluZworCSAqIGEgcmVmZXJlbmNlIHRvIHRoZSBpbm9kZS4gV2UgYXJlIHNhZmUgYWdhaW5zdCB0aGUgc2Vjb25kIGNhc2UKKwkgKiBiZWNhdXNlIGlmIGppbm9kZS0+aV90cmFuc2FjdGlvbiA9PSB0cmFuc2FjdGlvbiwgY29tbWl0IGNvZGUKKwkgKiBjYW5ub3QgdG91Y2ggdGhlIHRyYW5zYWN0aW9uIGJlY2F1c2Ugd2UgaG9sZCByZWZlcmVuY2UgdG8gaXQsCisJICogYW5kIGlmIGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uLCBjb21taXQgY29kZQorCSAqIHdpbGwgb25seSBmaWxlIHRoZSBpbm9kZSB3aGVyZSB3ZSB3YW50IGl0LgorCSAqLworCWlmIChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24gfHwKKwkgICAgamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPT0gdHJhbnNhY3Rpb24pCisJCXJldHVybiAwOworCisJc3Bpbl9sb2NrKCZqb3VybmFsLT5qX2xpc3RfbG9jayk7CisKKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uIHx8CisJICAgIGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IHRyYW5zYWN0aW9uKQorCQlnb3RvIGRvbmU7CisKKwkvKiBPbiBzb21lIGRpZmZlcmVudCB0cmFuc2FjdGlvbidzIGxpc3QgLSBzaG91bGQgYmUKKwkgKiB0aGUgY29tbWl0dGluZyBvbmUgKi8KKwlpZiAoamlub2RlLT5pX3RyYW5zYWN0aW9uKSB7CisJCUpfQVNTRVJUKGppbm9kZS0+aV9uZXh0X3RyYW5zYWN0aW9uID09IE5VTEwpOworCQlKX0FTU0VSVChqaW5vZGUtPmlfdHJhbnNhY3Rpb24gPT0KKwkJCQkJam91cm5hbC0+al9jb21taXR0aW5nX3RyYW5zYWN0aW9uKTsKKwkJamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKKwkJZ290byBkb25lOworCX0KKwkvKiBOb3Qgb24gYW55IHRyYW5zYWN0aW9uIGxpc3QuLi4gKi8KKwlKX0FTU0VSVCghamlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24pOworCWppbm9kZS0+aV90cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworCWxpc3RfYWRkKCZqaW5vZGUtPmlfbGlzdCwgJnRyYW5zYWN0aW9uLT50X2lub2RlX2xpc3QpOworZG9uZToKKwlzcGluX3VubG9jaygmam91cm5hbC0+al9saXN0X2xvY2spOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIG11c3QgYmUgY2FsbGVkIHdoZW4gaW5vZGUgaXMgam91cm5hbGVkIGluIG9yZGVyZWQgbW9kZQorICogYmVmb3JlIHRydW5jYXRpb24gaGFwcGVucy4gSXQgc3RhcnRzIHdyaXRlb3V0IG9mIHRydW5jYXRlZCBwYXJ0IGluCisgKiBjYXNlIGl0IGlzIGluIHRoZSBjb21taXR0aW5nIHRyYW5zYWN0aW9uIHNvIHRoYXQgd2Ugc3RhbmQgdG8gb3JkZXJlZAorICogbW9kZSBjb25zaXN0ZW5jeSBndWFyYW50ZWVzLgorICovCitpbnQgamJkMl9qb3VybmFsX2JlZ2luX29yZGVyZWRfdHJ1bmNhdGUoc3RydWN0IGpiZDJfaW5vZGUgKmlub2RlLAorCQkJCQlsb2ZmX3QgbmV3X3NpemUpCit7CisJam91cm5hbF90ICpqb3VybmFsOworCXRyYW5zYWN0aW9uX3QgKmNvbW1pdF90cmFuczsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghaW5vZGUtPmlfdHJhbnNhY3Rpb24gJiYgIWlub2RlLT5pX25leHRfdHJhbnNhY3Rpb24pCisJCWdvdG8gb3V0OworCWpvdXJuYWwgPSBpbm9kZS0+aV90cmFuc2FjdGlvbi0+dF9qb3VybmFsOworCXNwaW5fbG9jaygmam91cm5hbC0+al9zdGF0ZV9sb2NrKTsKKwljb21taXRfdHJhbnMgPSBqb3VybmFsLT5qX2NvbW1pdHRpbmdfdHJhbnNhY3Rpb247CisJc3Bpbl91bmxvY2soJmpvdXJuYWwtPmpfc3RhdGVfbG9jayk7CisJaWYgKGlub2RlLT5pX3RyYW5zYWN0aW9uID09IGNvbW1pdF90cmFucykgeworCQlyZXQgPSBmaWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2UoaW5vZGUtPmlfdmZzX2lub2RlLT5pX21hcHBpbmcsCisJCQluZXdfc2l6ZSwgTExPTkdfTUFYKTsKKwkJaWYgKHJldCkKKwkJCWpiZDJfam91cm5hbF9hYm9ydChqb3VybmFsLCByZXQpOworCX0KK291dDoKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19kZWJ1Zy5jIGIvZnMvamZzL2pmc19kZWJ1Zy5jCmluZGV4IGJmNmFiMTkuLjZhNzNkZTggMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZGVidWcuYworKysgYi9mcy9qZnMvamZzX2RlYnVnLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKQEAgLTMwLDI5ICszMSwxOSBAQAogCiBzdGF0aWMgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpiYXNlOwogI2lmZGVmIENPTkZJR19KRlNfREVCVUcKLXN0YXRpYyBpbnQgbG9nbGV2ZWxfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKLQkJCSBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbG9nbGV2ZWxfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuOwotCi0JbGVuID0gc3ByaW50ZihwYWdlLCAiJWRcbiIsIGpmc2xvZ2xldmVsKTsKLQotCWxlbiAtPSBvZmY7Ci0JKnN0YXJ0ID0gcGFnZSArIG9mZjsKLQotCWlmIChsZW4gPiBjb3VudCkKLQkJbGVuID0gY291bnQ7Ci0JZWxzZQotCQkqZW9mID0gMTsKLQotCWlmIChsZW4gPCAwKQotCQlsZW4gPSAwOwotCi0JcmV0dXJuIGxlbjsKKwlzZXFfcHJpbnRmKG0sICIlZFxuIiwgamZzbG9nbGV2ZWwpOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvZ2xldmVsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLAotCQkJdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xvZ2xldmVsX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX2xvZ2xldmVsX3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90IGpmc19sb2dsZXZlbF9wcm9jX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAorCQljb25zdCBjaGFyIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKIHsKIAljaGFyIGM7CiAKQEAgLTY1LDIyICs1NiwzMCBAQAogCWpmc2xvZ2xldmVsID0gYyAtICcwJzsKIAlyZXR1cm4gY291bnQ7CiB9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc19sb2dsZXZlbF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19sb2dsZXZlbF9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKKwkud3JpdGUJCT0gamZzX2xvZ2xldmVsX3Byb2Nfd3JpdGUsCit9OwogI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgewogCWNvbnN0IGNoYXIJKm5hbWU7Ci0JcmVhZF9wcm9jX3QJKnJlYWRfZm47Ci0Jd3JpdGVfcHJvY190CSp3cml0ZV9mbjsKKwljb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpwcm9jX2ZvcHM7CiB9IEVudHJpZXNbXSA9IHsKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLQl7ICJsbXN0YXRzIiwJamZzX2xtc3RhdHNfcmVhZCwgfSwKLQl7ICJ0eHN0YXRzIiwJamZzX3R4c3RhdHNfcmVhZCwgfSwKLQl7ICJ4dHN0YXQiLAlqZnNfeHRzdGF0X3JlYWQsIH0sCi0JeyAibXBzdGF0IiwJamZzX21wc3RhdF9yZWFkLCB9LAorCXsgImxtc3RhdHMiLAkmamZzX2xtc3RhdHNfcHJvY19mb3BzLCB9LAorCXsgInR4c3RhdHMiLAkmamZzX3R4c3RhdHNfcHJvY19mb3BzLCB9LAorCXsgInh0c3RhdCIsCSZqZnNfeHRzdGF0X3Byb2NfZm9wcywgfSwKKwl7ICJtcHN0YXQiLAkmamZzX21wc3RhdF9wcm9jX2ZvcHMsIH0sCiAjZW5kaWYKICNpZmRlZiBDT05GSUdfSkZTX0RFQlVHCi0JeyAiVHhBbmNob3IiLAlqZnNfdHhhbmNob3JfcmVhZCwgfSwKLQl7ICJsb2dsZXZlbCIsCWxvZ2xldmVsX3JlYWQsIGxvZ2xldmVsX3dyaXRlIH0KKwl7ICJUeEFuY2hvciIsCSZqZnNfdHhhbmNob3JfcHJvY19mb3BzLCB9LAorCXsgImxvZ2xldmVsIiwJJmpmc19sb2dsZXZlbF9wcm9jX2ZvcHMgfQogI2VuZGlmCiB9OwogI2RlZmluZSBOUFJPQ0VOVAlBUlJBWV9TSVpFKEVudHJpZXMpCkBAIC05MywxMyArOTIsOCBAQAogCQlyZXR1cm47CiAJYmFzZS0+b3duZXIgPSBUSElTX01PRFVMRTsKIAotCWZvciAoaSA9IDA7IGkgPCBOUFJPQ0VOVDsgaSsrKSB7Ci0JCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcDsKLQkJaWYgKChwID0gY3JlYXRlX3Byb2NfZW50cnkoRW50cmllc1tpXS5uYW1lLCAwLCBiYXNlKSkpIHsKLQkJCXAtPnJlYWRfcHJvYyA9IEVudHJpZXNbaV0ucmVhZF9mbjsKLQkJCXAtPndyaXRlX3Byb2MgPSBFbnRyaWVzW2ldLndyaXRlX2ZuOwotCQl9Ci0JfQorCWZvciAoaSA9IDA7IGkgPCBOUFJPQ0VOVDsgaSsrKQorCQlwcm9jX2NyZWF0ZShFbnRyaWVzW2ldLm5hbWUsIDAsIGJhc2UsIEVudHJpZXNbaV0ucHJvY19mb3BzKTsKIH0KIAogdm9pZCBqZnNfcHJvY19jbGVhbih2b2lkKQpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc19kZWJ1Zy5oIGIvZnMvamZzL2pmc19kZWJ1Zy5oCmluZGV4IDA0NGMxZTYuLmVhZmQxMzAgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfZGVidWcuaAorKysgYi9mcy9qZnMvamZzX2RlYnVnLmgKQEAgLTYyLDcgKzYyLDcgQEAKIAogZXh0ZXJuIGludCBqZnNsb2dsZXZlbDsKIAotZXh0ZXJuIGludCBqZnNfdHhhbmNob3JfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3R4YW5jaG9yX3Byb2NfZm9wczsKIAogLyogaW5mb3JtYXRpb24gbWVzc2FnZTogZS5nLiwgY29uZmlndXJhdGlvbiwgbWFqb3IgZXZlbnQgKi8KICNkZWZpbmUgamZzX2luZm8oZm10LCBhcmcuLi4pIGRvIHsJCQlcCkBAIC0xMDUsMTAgKzEwNSwxMCBAQAogICoJLS0tLS0tLS0tLQogICovCiAjaWZkZWYJQ09ORklHX0pGU19TVEFUSVNUSUNTCi1leHRlcm4gaW50IGpmc19sbXN0YXRzX3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX3R4c3RhdHNfcmVhZChjaGFyICosIGNoYXIgKiosIG9mZl90LCBpbnQsIGludCAqLCB2b2lkICopOwotZXh0ZXJuIGludCBqZnNfbXBzdGF0X3JlYWQoY2hhciAqLCBjaGFyICoqLCBvZmZfdCwgaW50LCBpbnQgKiwgdm9pZCAqKTsKLWV4dGVybiBpbnQgamZzX3h0c3RhdF9yZWFkKGNoYXIgKiwgY2hhciAqKiwgb2ZmX3QsIGludCwgaW50ICosIHZvaWQgKik7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG1zdGF0c19wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhzdGF0c19wcm9jX2ZvcHM7CitleHRlcm4gY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbXBzdGF0X3Byb2NfZm9wczsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc194dHN0YXRfcHJvY19mb3BzOwogCiAjZGVmaW5lCUlOQ1JFTUVOVCh4KQkJKCh4KSsrKQogI2RlZmluZQlERUNSRU1FTlQoeCkJCSgoeCktLSkKZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfZHRyZWUuaCBiL2ZzL2pmcy9qZnNfZHRyZWUuaAppbmRleCBjZGFjMmQ1Li4yNTQ1YmIzIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2R0cmVlLmgKKysrIGIvZnMvamZzL2pmc19kdHJlZS5oCkBAIC0yNDMsOSArMjQzLDYgQEAKICNkZWZpbmUgSkZTX1JFTU9WRSAzCiAjZGVmaW5lIEpGU19SRU5BTUUgNAogCi0jZGVmaW5lIERJUkVOVFNJWihuYW1sZW4pIFwKLSAgICAoIChzaXplb2Yoc3RydWN0IGRpcmVudCkgLSAyKihKRlNfTkFNRV9NQVgrMSkgKyAyKigobmFtbGVuKSsxKSArIDMpICZ+IDMgKQotCiAvKgogICogTWF4aW11bSBmaWxlIG9mZnNldCBmb3IgZGlyZWN0b3JpZXMuCiAgKi8KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfaW1hcC5jIGIvZnMvamZzL2pmc19pbWFwLmMKaW5kZXggNzM0ZWM5MS4uZDYzNjNkOCAxMDA2NDQKLS0tIGEvZnMvamZzL2pmc19pbWFwLmMKKysrIGIvZnMvamZzL2pmc19pbWFwLmMKQEAgLTE1MjAsNyArMTUyMCw3IEBACiAJCQkJCWpmc19lcnJvcihpcC0+aV9zYiwKIAkJCQkJCSAgImRpQWxsb2M6IGNhbid0IGZpbmQgZnJlZSBiaXQgIgogCQkJCQkJICAiaW4gd21hcCIpOwotCQkJCQlyZXR1cm4gRUlPOworCQkJCQlyZXR1cm4gLUVJTzsKIAkJCQl9CiAKIAkJCQkvKiBkZXRlcm1pbmUgdGhlIGlub2RlIG51bWJlciB3aXRoaW4gdGhlCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX2xvZ21nci5jIGIvZnMvamZzL2pmc19sb2dtZ3IuYwppbmRleCAzMjVhOTY3Li5jZDJlYzI5IDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX2xvZ21nci5jCisrKyBiL2ZzL2pmcy9qZnNfbG9nbWdyLmMKQEAgLTY5LDYgKzY5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcmVlemVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKICNpbmNsdWRlICJqZnNfbWV0YXBhZ2UuaCIKQEAgLTI1MDMsMTMgKzI1MDQsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX2xtc3RhdHNfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX2xtc3RhdHNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIExvZ21nciBzdGF0c1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJjb21taXRzID0gJWRcbiIKQEAgLTI1MjIsMTkgKzI1MTksMTkgQEAKIAkJICAgICAgIGxtU3RhdC5wYWdlZG9uZSwKIAkJICAgICAgIGxtU3RhdC5mdWxsX3BhZ2UsCiAJCSAgICAgICBsbVN0YXQucGFydGlhbF9wYWdlKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc19sbXN0YXRzX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX2xtc3RhdHNfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfbG1zdGF0c19wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19sbXN0YXRzX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZiAvKiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MgKi8KZGlmZiAtLWdpdCBhL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYyBiL2ZzL2pmcy9qZnNfbWV0YXBhZ2UuYwppbmRleCBkMWU2NGYyLi44NTRmZjBlIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX21ldGFwYWdlLmMKKysrIGIvZnMvamZzL2pmc19tZXRhcGFnZS5jCkBAIC0xOSwxMCArMTksMTIgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvbW0uaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9iaW8uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvYnVmZmVyX2hlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9tZW1wb29sLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlICJqZnNfaW5jb3JlLmgiCiAjaW5jbHVkZSAiamZzX3N1cGVyYmxvY2suaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC04MDQsMTMgKzgwNiw5IEBACiB9CiAKICNpZmRlZiBDT05GSUdfSkZTX1NUQVRJU1RJQ1MKLWludCBqZnNfbXBzdGF0X3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgIGludCAqZW9mLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBqZnNfbXBzdGF0X3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47Ci0KLQlsZW4gKz0gc3ByaW50ZihidWZmZXIsCisJc2VxX3ByaW50ZihtLAogCQkgICAgICAgIkpGUyBNZXRhcGFnZSBzdGF0aXN0aWNzXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09PT09PT09PT09PT1cbiIKIAkJICAgICAgICJwYWdlIGFsbG9jYXRpb25zID0gJWRcbiIKQEAgLTgxOSwxOSArODE3LDE5IEBACiAJCSAgICAgICBtcFN0YXQucGFnZWFsbG9jLAogCQkgICAgICAgbXBTdGF0LnBhZ2VmcmVlLAogCQkgICAgICAgbXBTdGF0LmxvY2t3YWl0KTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc19tcHN0YXRfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfbXBzdGF0X3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX21wc3RhdF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc19tcHN0YXRfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvamZzX3R4bm1nci5jIGIvZnMvamZzL2pmc190eG5tZ3IuYwppbmRleCBlN2M2MGFlLi5mMjZlNGQwIDEwMDY0NAotLS0gYS9mcy9qZnMvamZzX3R4bm1nci5jCisrKyBiL2ZzL2pmcy9qZnNfdHhubWdyLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zZXFfZmlsZS5oPgogI2luY2x1ZGUgImpmc19pbmNvcmUuaCIKICNpbmNsdWRlICJqZnNfaW5vZGUuaCIKICNpbmNsdWRlICJqZnNfZmlsc3lzLmgiCkBAIC0zMDA5LDExICszMDEwLDggQEAKIH0KIAogI2lmIGRlZmluZWQoQ09ORklHX1BST0NfRlMpICYmIGRlZmluZWQoQ09ORklHX0pGU19ERUJVRykKLWludCBqZnNfdHhhbmNob3JfcmVhZChjaGFyICpidWZmZXIsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2Zmc2V0LCBpbnQgbGVuZ3RoLAotCQkgICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3R4YW5jaG9yX3Byb2Nfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiB7Ci0JaW50IGxlbiA9IDA7Ci0Jb2ZmX3QgYmVnaW47CiAJY2hhciAqZnJlZXdhaXQ7CiAJY2hhciAqZnJlZWxvY2t3YWl0OwogCWNoYXIgKmxvd2xvY2t3YWl0OwpAQCAtMzAyNSw3ICszMDIzLDcgQEAKIAlsb3dsb2Nrd2FpdCA9CiAJICAgIHdhaXRxdWV1ZV9hY3RpdmUoJlR4QW5jaG9yLmxvd2xvY2t3YWl0KSA/ICJhY3RpdmUiIDogImVtcHR5IjsKIAotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFR4QW5jaG9yXG4iCiAJCSAgICAgICAiPT09PT09PT09PT09XG4iCiAJCSAgICAgICAiZnJlZXRpZCA9ICVkXG4iCkBAIC0zMDQ0LDMxICszMDQyLDI3IEBACiAJCSAgICAgICBUeEFuY2hvci50bG9ja3NJblVzZSwKIAkJICAgICAgIGpmc190bG9ja3NfbG93LAogCQkgICAgICAgbGlzdF9lbXB0eSgmVHhBbmNob3IudW5sb2NrX3F1ZXVlKSA/ICIiIDogIm5vdCAiKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc190eGFuY2hvcl9wcm9jX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIHNpbmdsZV9vcGVuKGZpbGUsIGpmc190eGFuY2hvcl9wcm9jX3Nob3csIE5VTEwpOworfQorCitjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGpmc190eGFuY2hvcl9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc190eGFuY2hvcl9wcm9jX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzaW5nbGVfcmVsZWFzZSwKK307CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX1BST0NfRlMpICYmIGRlZmluZWQoQ09ORklHX0pGU19TVEFUSVNUSUNTKQotaW50IGpmc190eHN0YXRzX3JlYWQoY2hhciAqYnVmZmVyLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZnNldCwgaW50IGxlbmd0aCwKLQkJICAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3R4c3RhdHNfcHJvY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKIHsKLQlpbnQgbGVuID0gMDsKLQlvZmZfdCBiZWdpbjsKLQotCWxlbiArPSBzcHJpbnRmKGJ1ZmZlciwKKwlzZXFfcHJpbnRmKG0sCiAJCSAgICAgICAiSkZTIFR4U3RhdHNcbiIKIAkJICAgICAgICI9PT09PT09PT09PVxuIgogCQkgICAgICAgImNhbGxzIHRvIHR4QmVnaW4gPSAlZFxuIgpAQCAtMzA4OSwxOSArMzA4MywxOSBAQAogCQkgICAgICAgVHhTdGF0LnR4QmVnaW5Bbm9uX2xvY2tzbG93LAogCQkgICAgICAgVHhTdGF0LnR4TG9ja0FsbG9jLAogCQkgICAgICAgVHhTdGF0LnR4TG9ja0FsbG9jX2ZyZWVsb2NrKTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc190eHN0YXRzX3Byb2Nfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgamZzX3R4c3RhdHNfcHJvY19zaG93LCBOVUxMKTsKK30KKworY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBqZnNfdHhzdGF0c19wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc190eHN0YXRzX3Byb2Nfb3BlbiwKKwkucmVhZAkJPSBzZXFfcmVhZCwKKwkubGxzZWVrCQk9IHNlcV9sc2VlaywKKwkucmVsZWFzZQk9IHNpbmdsZV9yZWxlYXNlLAorfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZnMvamZzL2pmc194dHJlZS5jIGIvZnMvamZzL2pmc194dHJlZS5jCmluZGV4IDVhNjFlYmYuLmFlM2FjYWYgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9qZnNfeHRyZWUuYworKysgYi9mcy9qZnMvamZzX3h0cmVlLmMKQEAgLTIwLDcgKzIwLDkgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9xdW90YW9wcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CiAjaW5jbHVkZSAiamZzX2luY29yZS5oIgogI2luY2x1ZGUgImpmc19maWxzeXMuaCIKICNpbmNsdWRlICJqZnNfbWV0YXBhZ2UuaCIKQEAgLTQxMzQsMTMgKzQxMzYsOSBAQAogfQogCiAjaWZkZWYgQ09ORklHX0pGU19TVEFUSVNUSUNTCi1pbnQgamZzX3h0c3RhdF9yZWFkKGNoYXIgKmJ1ZmZlciwgY2hhciAqKnN0YXJ0LCBvZmZfdCBvZmZzZXQsIGludCBsZW5ndGgsCi0JCSAgICBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3N0YXRpYyBpbnQgamZzX3h0c3RhdF9wcm9jX3Nob3coc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2KQogewotCWludCBsZW4gPSAwOwotCW9mZl90IGJlZ2luOwotCi0JbGVuICs9IHNwcmludGYoYnVmZmVyLAorCXNlcV9wcmludGYobSwKIAkJICAgICAgICJKRlMgWHRyZWUgc3RhdGlzdGljc1xuIgogCQkgICAgICAgIj09PT09PT09PT09PT09PT09PT09XG4iCiAJCSAgICAgICAic2VhcmNoZXMgPSAlZFxuIgpAQCAtNDE0OSwxOSArNDE0NywxOSBAQAogCQkgICAgICAgeHRTdGF0LnNlYXJjaCwKIAkJICAgICAgIHh0U3RhdC5mYXN0U2VhcmNoLAogCQkgICAgICAgeHRTdGF0LnNwbGl0KTsKLQotCWJlZ2luID0gb2Zmc2V0OwotCSpzdGFydCA9IGJ1ZmZlciArIGJlZ2luOwotCWxlbiAtPSBiZWdpbjsKLQotCWlmIChsZW4gPiBsZW5ndGgpCi0JCWxlbiA9IGxlbmd0aDsKLQllbHNlCi0JCSplb2YgPSAxOwotCi0JaWYgKGxlbiA8IDApCi0JCWxlbiA9IDA7Ci0KLQlyZXR1cm4gbGVuOworCXJldHVybiAwOwogfQorCitzdGF0aWMgaW50IGpmc194dHN0YXRfcHJvY19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBzaW5nbGVfb3BlbihmaWxlLCBqZnNfeHRzdGF0X3Byb2Nfc2hvdywgTlVMTCk7Cit9CisKK2NvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgamZzX3h0c3RhdF9wcm9jX2ZvcHMgPSB7CisJLm93bmVyCQk9IFRISVNfTU9EVUxFLAorCS5vcGVuCQk9IGpmc194dHN0YXRfcHJvY19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gc2luZ2xlX3JlbGVhc2UsCit9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9mcy9qZnMvbmFtZWkuYyBiL2ZzL2pmcy9uYW1laS5jCmluZGV4IDBiYTY3NzguLjJhYmE4MjMgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9uYW1laS5jCisrKyBiL2ZzL2pmcy9uYW1laS5jCkBAIC0xNDU1LDcgKzE0NTUsNyBAQAogCQlmcmVlX1VDU25hbWUoJmtleSk7CiAJCWlmIChyYyA9PSAtRU5PRU5UKSB7CiAJCQlkX2FkZChkZW50cnksIE5VTEwpOwotCQkJcmV0dXJuIEVSUl9QVFIoMCk7CisJCQlyZXR1cm4gTlVMTDsKIAkJfSBlbHNlIGlmIChyYykgewogCQkJamZzX2VycigiamZzX2xvb2t1cDogZHRTZWFyY2ggcmV0dXJuZWQgJWQiLCByYyk7CiAJCQlyZXR1cm4gRVJSX1BUUihyYyk7CmRpZmYgLS1naXQgYS9mcy9qZnMvc3VwZXIuYyBiL2ZzL2pmcy9zdXBlci5jCmluZGV4IDUwZWE2NTQuLjAyODhlNmQgMTAwNjQ0Ci0tLSBhL2ZzL2pmcy9zdXBlci5jCisrKyBiL2ZzL2pmcy9zdXBlci5jCkBAIC00OTksNyArNDk5LDcgQEAKIAlpbm9kZSA9IGpmc19pZ2V0KHNiLCBST09UX0kpOwogCWlmIChJU19FUlIoaW5vZGUpKSB7CiAJCXJldCA9IFBUUl9FUlIoaW5vZGUpOwotCQlnb3RvIG91dF9ub19yb290OworCQlnb3RvIG91dF9ub19ydzsKIAl9CiAJc2ItPnNfcm9vdCA9IGRfYWxsb2Nfcm9vdChpbm9kZSk7CiAJaWYgKCFzYi0+c19yb290KQpAQCAtNTIxLDkgKzUyMSw4IEBACiAJcmV0dXJuIDA7CiAKIG91dF9ub19yb290OgotCWpmc19lcnIoImpmc19yZWFkX3N1cGVyOiBnZXQgcm9vdCBpbm9kZSBmYWlsZWQiKTsKLQlpZiAoaW5vZGUpCi0JCWlwdXQoaW5vZGUpOworCWpmc19lcnIoImpmc19yZWFkX3N1cGVyOiBnZXQgcm9vdCBkZW50cnkgZmFpbGVkIik7CisJaXB1dChpbm9kZSk7CiAKIG91dF9ub19ydzoKIAlyYyA9IGpmc191bW91bnQoc2IpOwpkaWZmIC0tZ2l0IGEvZnMvbXBhZ2UuYyBiL2ZzL21wYWdlLmMKaW5kZXggMjM1ZTRkMy4uZGJjYzdhZiAxMDA2NDQKLS0tIGEvZnMvbXBhZ2UuYworKysgYi9mcy9tcGFnZS5jCkBAIC04Miw3ICs4Miw3IEBACiAJYmlvX3B1dChiaW8pOwogfQogCi1zdGF0aWMgc3RydWN0IGJpbyAqbXBhZ2VfYmlvX3N1Ym1pdChpbnQgcncsIHN0cnVjdCBiaW8gKmJpbykKK3N0cnVjdCBiaW8gKm1wYWdlX2Jpb19zdWJtaXQoaW50IHJ3LCBzdHJ1Y3QgYmlvICpiaW8pCiB7CiAJYmlvLT5iaV9lbmRfaW8gPSBtcGFnZV9lbmRfaW9fcmVhZDsKIAlpZiAocncgPT0gV1JJVEUpCkBAIC05MCw2ICs5MCw3IEBACiAJc3VibWl0X2JpbyhydywgYmlvKTsKIAlyZXR1cm4gTlVMTDsKIH0KK0VYUE9SVF9TWU1CT0wobXBhZ2VfYmlvX3N1Ym1pdCk7CiAKIHN0YXRpYyBzdHJ1Y3QgYmlvICoKIG1wYWdlX2FsbG9jKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsCkBAIC00MzUsMTUgKzQzNiw5IEBACiAgKiB3cml0dGVuLCBzbyBpdCBjYW4gaW50ZWxsaWdlbnRseSBhbGxvY2F0ZSBhIHN1aXRhYmx5LXNpemVkIEJJTy4gIEZvciBub3csCiAgKiBqdXN0IGFsbG9jYXRlIGZ1bGwtc2l6ZSAoMTYtcGFnZSkgQklPcy4KICAqLwotc3RydWN0IG1wYWdlX2RhdGEgewotCXN0cnVjdCBiaW8gKmJpbzsKLQlzZWN0b3JfdCBsYXN0X2Jsb2NrX2luX2JpbzsKLQlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOwotCXVuc2lnbmVkIHVzZV93cml0ZXBhZ2U7Ci19OwogCi1zdGF0aWMgaW50IF9fbXBhZ2Vfd3JpdGVwYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywKLQkJCSAgICAgdm9pZCAqZGF0YSkKK2ludCBfX21wYWdlX3dyaXRlcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsCisJCSAgICAgIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IG1wYWdlX2RhdGEgKm1wZCA9IGRhdGE7CiAJc3RydWN0IGJpbyAqYmlvID0gbXBkLT5iaW87CkBAIC02NTEsNiArNjQ2LDcgQEAKIAltcGQtPmJpbyA9IGJpbzsKIAlyZXR1cm4gcmV0OwogfQorRVhQT1JUX1NZTUJPTChfX21wYWdlX3dyaXRlcGFnZSk7CiAKIC8qKgogICogbXBhZ2Vfd3JpdGVwYWdlcyAtIHdhbGsgdGhlIGxpc3Qgb2YgZGlydHkgcGFnZXMgb2YgdGhlIGdpdmVuIGFkZHJlc3Mgc3BhY2UgJiB3cml0ZXBhZ2UoKSBhbGwgb2YgdGhlbQpkaWZmIC0tZ2l0IGEvZnMvbXNkb3MvbmFtZWkuYyBiL2ZzL21zZG9zL25hbWVpLmMKaW5kZXggMDVmZjRmMS4uMWY3ZjI5NSAxMDA2NDQKLS0tIGEvZnMvbXNkb3MvbmFtZWkuYworKysgYi9mcy9tc2Rvcy9uYW1laS5jCkBAIC0yMTQsNyArMjE0LDcgQEAKIAogCWRlbnRyeS0+ZF9vcCA9ICZtc2Rvc19kZW50cnlfb3BlcmF0aW9uczsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJcmVzID0gbXNkb3NfZmluZChkaXIsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwgJnNpbmZvKTsKIAlpZiAocmVzID09IC1FTk9FTlQpCiAJCWdvdG8gYWRkOwpAQCAtMjMyLDcgKzIzMiw3IEBACiAJaWYgKGRlbnRyeSkKIAkJZGVudHJ5LT5kX29wID0gJm1zZG9zX2RlbnRyeV9vcGVyYXRpb25zOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghcmVzKQogCQlyZXR1cm4gZGVudHJ5OwogCXJldHVybiBFUlJfUFRSKHJlcyk7CkBAIC0yODYsNyArMjg2LDcgQEAKIAl1bnNpZ25lZCBjaGFyIG1zZG9zX25hbWVbTVNET1NfTkFNRV07CiAJaW50IGVyciwgaXNfaGlkOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwKIAkJCQltc2Rvc19uYW1lLCAmTVNET1NfU0Ioc2IpLT5vcHRpb25zKTsKQEAgLTMxNSw3ICszMTUsNyBAQAogCiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKIAkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAJcmV0dXJuIGVycjsKQEAgLTMyNCwxMSArMzI0LDEyIEBACiAvKioqKiogUmVtb3ZlIGEgZGlyZWN0b3J5ICovCiBzdGF0aWMgaW50IG1zZG9zX3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGRpci0+aV9zYjsKIAlzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZGVudHJ5LT5kX2lub2RlOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCS8qCiAJICogQ2hlY2sgd2hldGhlciB0aGUgZGlyZWN0b3J5IGlzIG5vdCBpbiB1c2UsIHRoZW4gY2hlY2sKIAkgKiB3aGV0aGVyIGl0IGlzIGVtcHR5LgpAQCAtMzQ5LDkgKzM1MCw5IEBACiAJaW5vZGUtPmlfY3RpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWlmICghZXJyKQotCQllcnIgPSBmYXRfZmx1c2hfaW5vZGVzKGlub2RlLT5pX3NiLCBkaXIsIGlub2RlKTsKKwkJZXJyID0gZmF0X2ZsdXNoX2lub2RlcyhzYiwgZGlyLCBpbm9kZSk7CiAKIAlyZXR1cm4gZXJyOwogfQpAQCAtMzY2LDcgKzM2Nyw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnIsIGlzX2hpZCwgY2x1c3RlcjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAllcnIgPSBtc2Rvc19mb3JtYXRfbmFtZShkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnktPmRfbmFtZS5sZW4sCiAJCQkJbXNkb3NfbmFtZSwgJk1TRE9TX1NCKHNiKS0+b3B0aW9ucyk7CkBAIC00MDQsMTQgKzQwNSwxNCBAQAogCiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCXJldHVybiAwOwogCiBvdXRfZnJlZToKIAlmYXRfZnJlZV9jbHVzdGVycyhkaXIsIGNsdXN0ZXIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTQxOSwxMCArNDIwLDExIEBACiBzdGF0aWMgaW50IG1zZG9zX3VubGluayhzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYj0gaW5vZGUtPmlfc2I7CiAJc3RydWN0IGZhdF9zbG90X2luZm8gc2luZm87CiAJaW50IGVycjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAJZXJyID0gbXNkb3NfZmluZChkaXIsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLmxlbiwgJnNpbmZvKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKQEAgLTQzNCw5ICs0MzYsOSBAQAogCWlub2RlLT5pX2N0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAlpZiAoIWVycikKLQkJZXJyID0gZmF0X2ZsdXNoX2lub2Rlcyhpbm9kZS0+aV9zYiwgZGlyLCBpbm9kZSk7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIGRpciwgaW5vZGUpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTYxOCwxMCArNjIwLDExIEBACiBzdGF0aWMgaW50IG1zZG9zX3JlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9kaXIsIHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksCiAJCQlzdHJ1Y3QgaW5vZGUgKm5ld19kaXIsIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCiB7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IG9sZF9kaXItPmlfc2I7CiAJdW5zaWduZWQgY2hhciBvbGRfbXNkb3NfbmFtZVtNU0RPU19OQU1FXSwgbmV3X21zZG9zX25hbWVbTVNET1NfTkFNRV07CiAJaW50IGVyciwgaXNfaGlkOwogCi0JbG9ja19rZXJuZWwoKTsKKwlsb2NrX3N1cGVyKHNiKTsKIAogCWVyciA9IG1zZG9zX2Zvcm1hdF9uYW1lKG9sZF9kZW50cnktPmRfbmFtZS5uYW1lLAogCQkJCW9sZF9kZW50cnktPmRfbmFtZS5sZW4sIG9sZF9tc2Rvc19uYW1lLApAQCAtNjQwLDkgKzY0Myw5IEBACiAJZXJyID0gZG9fbXNkb3NfcmVuYW1lKG9sZF9kaXIsIG9sZF9tc2Rvc19uYW1lLCBvbGRfZGVudHJ5LAogCQkJICAgICAgbmV3X2RpciwgbmV3X21zZG9zX25hbWUsIG5ld19kZW50cnksIGlzX2hpZCk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJaWYgKCFlcnIpCi0JCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMob2xkX2Rpci0+aV9zYiwgb2xkX2RpciwgbmV3X2Rpcik7CisJCWVyciA9IGZhdF9mbHVzaF9pbm9kZXMoc2IsIG9sZF9kaXIsIG5ld19kaXIpOwogCXJldHVybiBlcnI7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL25hbWVzcGFjZS5jIGIvZnMvbmFtZXNwYWNlLmMKaW5kZXggNGZjMzAyYy4uNGY2Zjc2MyAxMDA2NDQKLS0tIGEvZnMvbmFtZXNwYWNlLmMKKysrIGIvZnMvbmFtZXNwYWNlLmMKQEAgLTc1MCw3ICs3NTAsNyBAQAogCWNvbnN0IGNoYXIgKnN0cjsKIH07CiAKLXN0YXRpYyB2b2lkIHNob3dfc2Jfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCitzdGF0aWMgaW50IHNob3dfc2Jfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBwcm9jX2ZzX2luZm8gZnNfaW5mb1tdID0gewogCQl7IE1TX1NZTkNIUk9OT1VTLCAiLHN5bmMiIH0sCkBAIC03NjQsNiArNzY0LDggQEAKIAkJaWYgKHNiLT5zX2ZsYWdzICYgZnNfaW5mb3AtPmZsYWcpCiAJCQlzZXFfcHV0cyhtLCBmc19pbmZvcC0+c3RyKTsKIAl9CisKKwlyZXR1cm4gc2VjdXJpdHlfc2Jfc2hvd19vcHRpb25zKG0sIHNiKTsKIH0KIAogc3RhdGljIHZvaWQgc2hvd19tbnRfb3B0cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCB2ZnNtb3VudCAqbW50KQpAQCAtODA2LDExICs4MDgsMTQgQEAKIAlzZXFfcHV0YyhtLCAnICcpOwogCXNob3dfdHlwZShtLCBtbnQtPm1udF9zYik7CiAJc2VxX3B1dHMobSwgX19tbnRfaXNfcmVhZG9ubHkobW50KSA/ICIgcm8iIDogIiBydyIpOwotCXNob3dfc2Jfb3B0cyhtLCBtbnQtPm1udF9zYik7CisJZXJyID0gc2hvd19zYl9vcHRzKG0sIG1udC0+bW50X3NiKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKIAlzaG93X21udF9vcHRzKG0sIG1udCk7CiAJaWYgKG1udC0+bW50X3NiLT5zX29wLT5zaG93X29wdGlvbnMpCiAJCWVyciA9IG1udC0+bW50X3NiLT5zX29wLT5zaG93X29wdGlvbnMobSwgbW50KTsKIAlzZXFfcHV0cyhtLCAiIDAgMFxuIik7CitvdXQ6CiAJcmV0dXJuIGVycjsKIH0KIApAQCAtODY1LDEwICs4NzAsMTMgQEAKIAlzZXFfcHV0YyhtLCAnICcpOwogCW1hbmdsZShtLCBtbnQtPm1udF9kZXZuYW1lID8gbW50LT5tbnRfZGV2bmFtZSA6ICJub25lIik7CiAJc2VxX3B1dHMobSwgc2ItPnNfZmxhZ3MgJiBNU19SRE9OTFkgPyAiIHJvIiA6ICIgcnciKTsKLQlzaG93X3NiX29wdHMobSwgc2IpOworCWVyciA9IHNob3dfc2Jfb3B0cyhtLCBzYik7CisJaWYgKGVycikKKwkJZ290byBvdXQ7CiAJaWYgKHNiLT5zX29wLT5zaG93X29wdGlvbnMpCiAJCWVyciA9IHNiLT5zX29wLT5zaG93X29wdGlvbnMobSwgbW50KTsKIAlzZXFfcHV0YyhtLCAnXG4nKTsKK291dDoKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9mcy9uY3Bmcy9maWxlLmMgYi9mcy9uY3Bmcy9maWxlLmMKaW5kZXggMmIxNDVkZS4uNmE3ZDkwMSAxMDA2NDQKLS0tIGEvZnMvbmNwZnMvZmlsZS5jCisrKyBiL2ZzL25jcGZzL2ZpbGUuYwpAQCAtMTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogCiAjaW5jbHVkZSA8bGludXgvbmNwX2ZzLmg+CiAjaW5jbHVkZSAibmNwbGliX2tlcm5lbC5oIgpAQCAtMjgxLDkgKzI4MiwxOCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgbG9mZl90IG5jcF9yZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBuY3BfZmlsZV9vcGVyYXRpb25zID0KIHsKLQkubGxzZWVrCQk9IHJlbW90ZV9sbHNlZWssCisJLmxsc2VlayAJPSBuY3BfcmVtb3RlX2xsc2VlaywKIAkucmVhZAkJPSBuY3BfZmlsZV9yZWFkLAogCS53cml0ZQkJPSBuY3BfZmlsZV93cml0ZSwKIAkuaW9jdGwJCT0gbmNwX2lvY3RsLApkaWZmIC0tZ2l0IGEvZnMvbmZzL2ZpbGUuYyBiL2ZzL25mcy9maWxlLmMKaW5kZXggNTA5ZGNiNS4uNDMxNjRmZSAxMDA2NDQKLS0tIGEvZnMvbmZzL2ZpbGUuYworKysgYi9mcy9uZnMvZmlsZS5jCkBAIC0xODAsNiArMTgwLDggQEAKIAogc3RhdGljIGxvZmZfdCBuZnNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbHAsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCiB7CisJbG9mZl90IGxvZmY7CisKIAlkcHJpbnRrKCJORlM6IGxsc2VlayBmaWxlKCVzLyVzLCAlbGxkLCAlZClcbiIsCiAJCQlmaWxwLT5mX3BhdGguZGVudHJ5LT5kX3BhcmVudC0+ZF9uYW1lLm5hbWUsCiAJCQlmaWxwLT5mX3BhdGguZGVudHJ5LT5kX25hbWUubmFtZSwKQEAgLTE5Miw3ICsxOTQsMTAgQEAKIAkJaWYgKHJldHZhbCA8IDApCiAJCQlyZXR1cm4gKGxvZmZfdClyZXR2YWw7CiAJfQotCXJldHVybiByZW1vdGVfbGxzZWVrKGZpbHAsIG9mZnNldCwgb3JpZ2luKTsKKwlsb2NrX2tlcm5lbCgpOwkvKiBCS0wgbmVlZGVkPyAqLworCWxvZmYgPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbHAsIG9mZnNldCwgb3JpZ2luKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIGxvZmY7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9mcy9vY2ZzMi9kbG0vZGxtbWFzdGVyLmMgYi9mcy9vY2ZzMi9kbG0vZGxtbWFzdGVyLmMKaW5kZXggZWZjMDE1Yy4uNDRmODdjYSAxMDA2NDQKLS0tIGEvZnMvb2NmczIvZGxtL2RsbW1hc3Rlci5jCisrKyBiL2ZzL29jZnMyL2RsbS9kbG1tYXN0ZXIuYwpAQCAtNjA2LDcgKzYwNiw5IEBACiAKIAlyZXMtPmxhc3RfdXNlZCA9IDA7CiAKKwlzcGluX2xvY2soJmRsbS0+c3BpbmxvY2spOwogCWxpc3RfYWRkX3RhaWwoJnJlcy0+dHJhY2tpbmcsICZkbG0tPnRyYWNraW5nX2xpc3QpOworCXNwaW5fdW5sb2NrKCZkbG0tPnNwaW5sb2NrKTsKIAogCW1lbXNldChyZXMtPmx2YiwgMCwgRExNX0xWQl9MRU4pOwogCW1lbXNldChyZXMtPnJlZm1hcCwgMCwgc2l6ZW9mKHJlcy0+cmVmbWFwKSk7CmRpZmYgLS1naXQgYS9mcy9vY2ZzMi9kbG1nbHVlLmMgYi9mcy9vY2ZzMi9kbG1nbHVlLmMKaW5kZXggMzk0ZDI1YS4uODBlMjBkOSAxMDA2NDQKLS0tIGEvZnMvb2NmczIvZGxtZ2x1ZS5jCisrKyBiL2ZzL29jZnMyL2RsbWdsdWUuYwpAQCAtMTU1NCw4ICsxNTU0LDggQEAKICAqLwogaW50IG9jZnMyX2ZpbGVfbG9jayhzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGV4LCBpbnQgdHJ5bG9jaykKIHsKLQlpbnQgcmV0LCBsZXZlbCA9IGV4ID8gTEtNX0VYTU9ERSA6IExLTV9QUk1PREU7Ci0JdW5zaWduZWQgaW50IGxrbV9mbGFncyA9IHRyeWxvY2sgPyBMS01fTk9RVUVVRSA6IDA7CisJaW50IHJldCwgbGV2ZWwgPSBleCA/IERMTV9MT0NLX0VYIDogRExNX0xPQ0tfUFI7CisJdW5zaWduZWQgaW50IGxrbV9mbGFncyA9IHRyeWxvY2sgPyBETE1fTEtGX05PUVVFVUUgOiAwOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IG9jZnMyX2ZpbGVfcHJpdmF0ZSAqZnAgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IG9jZnMyX2xvY2tfcmVzICpsb2NrcmVzID0gJmZwLT5mcF9mbG9jazsKQEAgLTE1ODIsNyArMTU4Miw3IEBACiAJCSAqIEdldCB0aGUgbG9jayBhdCBOTE1PREUgdG8gc3RhcnQgLSB0aGF0IHdheSB3ZQogCQkgKiBjYW4gY2FuY2VsIHRoZSB1cGNvbnZlcnQgcmVxdWVzdCBpZiBuZWVkIGJlLgogCQkgKi8KLQkJcmV0ID0gb2NmczJfbG9ja19jcmVhdGUob3NiLCBsb2NrcmVzLCBMS01fTkxNT0RFLCAwKTsKKwkJcmV0ID0gb2NmczJfbG9ja19jcmVhdGUob3NiLCBsb2NrcmVzLCBETE1fTE9DS19OTCwgMCk7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQltbG9nX2Vycm5vKHJldCk7CiAJCQlnb3RvIG91dDsKQEAgLTE1OTcsNyArMTU5Nyw3IEBACiAJfQogCiAJbG9ja3Jlcy0+bF9hY3Rpb24gPSBPQ0ZTMl9BU1RfQ09OVkVSVDsKLQlsa21fZmxhZ3MgfD0gTEtNX0NPTlZFUlQ7CisJbGttX2ZsYWdzIHw9IERMTV9MS0ZfQ09OVkVSVDsKIAlsb2NrcmVzLT5sX3JlcXVlc3RlZCA9IGxldmVsOwogCWxvY2tyZXNfb3JfZmxhZ3MobG9ja3JlcywgT0NGUzJfTE9DS19CVVNZKTsKIApAQCAtMTY2NCw3ICsxNjY0LDcgQEAKIAlpZiAoIShsb2NrcmVzLT5sX2ZsYWdzICYgT0NGUzJfTE9DS19BVFRBQ0hFRCkpCiAJCXJldHVybjsKIAotCWlmIChsb2NrcmVzLT5sX2xldmVsID09IExLTV9OTE1PREUpCisJaWYgKGxvY2tyZXMtPmxfbGV2ZWwgPT0gRExNX0xPQ0tfTkwpCiAJCXJldHVybjsKIAogCW1sb2coMCwgIlVubG9jazogXCIlc1wiIGZsYWdzOiAweCVseCwgbGV2ZWw6ICVkLCBhY3Q6ICVkXG4iLApAQCAtMTY3OCwxMSArMTY3OCwxMSBAQAogCWxvY2tyZXNfb3JfZmxhZ3MobG9ja3JlcywgT0NGUzJfTE9DS19CTE9DS0VEKTsKIAlsb2NrcmVzLT5sX2Jsb2NraW5nID0gRExNX0xPQ0tfRVg7CiAKLQlnZW4gPSBvY2ZzMl9wcmVwYXJlX2Rvd25jb252ZXJ0KGxvY2tyZXMsIExLTV9OTE1PREUpOworCWdlbiA9IG9jZnMyX3ByZXBhcmVfZG93bmNvbnZlcnQobG9ja3JlcywgRExNX0xPQ0tfTkwpOwogCWxvY2tyZXNfYWRkX21hc2tfd2FpdGVyKGxvY2tyZXMsICZtdywgT0NGUzJfTE9DS19CVVNZLCAwKTsKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZsb2NrcmVzLT5sX2xvY2ssIGZsYWdzKTsKIAotCXJldCA9IG9jZnMyX2Rvd25jb252ZXJ0X2xvY2sob3NiLCBsb2NrcmVzLCBMS01fTkxNT0RFLCAwLCBnZW4pOworCXJldCA9IG9jZnMyX2Rvd25jb252ZXJ0X2xvY2sob3NiLCBsb2NrcmVzLCBETE1fTE9DS19OTCwgMCwgZ2VuKTsKIAlpZiAocmV0KSB7CiAJCW1sb2dfZXJybm8ocmV0KTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZnMvb2NmczIvc3RhY2tfdXNlci5jIGIvZnMvb2NmczIvc3RhY2tfdXNlci5jCmluZGV4IGMwMjEyODAuLmJkN2UwZjMgMTAwNjQ0Ci0tLSBhL2ZzL29jZnMyL3N0YWNrX3VzZXIuYworKysgYi9mcy9vY2ZzMi9zdGFja191c2VyLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L21pc2NkZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KIApAQCAtNjE5LDEwICs2MjAsMTIgQEAKIAkJcmV0dXJuIC1FTk9NRU07CiAJcC0+b3BfdGhpc19ub2RlID0gLTE7CiAKKwlsb2NrX2tlcm5lbCgpOwogCW11dGV4X2xvY2soJm9jZnMyX2NvbnRyb2xfbG9jayk7CiAJZmlsZS0+cHJpdmF0ZV9kYXRhID0gcDsKIAlsaXN0X2FkZCgmcC0+b3BfbGlzdCwgJm9jZnMyX2NvbnRyb2xfcHJpdmF0ZV9saXN0KTsKIAltdXRleF91bmxvY2soJm9jZnMyX2NvbnRyb2xfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9mcy9wcm9jL2Jhc2UuYyBiL2ZzL3Byb2MvYmFzZS5jCmluZGV4IDNiNDU1MzcuLjU4YzNlNmEgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvYmFzZS5jCisrKyBiL2ZzL3Byb2MvYmFzZS5jCkBAIC0yMzMsNyArMjMzLDcgQEAKIAkgKi8KIAlpZiAodGFzay0+cGFyZW50ID09IGN1cnJlbnQgJiYgKHRhc2stPnB0cmFjZSAmIFBUX1BUUkFDRUQpICYmCiAJICAgIHRhc2tfaXNfc3RvcHBlZF9vcl90cmFjZWQodGFzaykgJiYKLQkgICAgcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJICAgIHB0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX0FUVEFDSCkpCiAJCXJldHVybiAwOwogCiAJLyoKQEAgLTI1MSw3ICsyNTEsOCBAQAogCXRhc2tfbG9jayh0YXNrKTsKIAlpZiAodGFzay0+bW0gIT0gbW0pCiAJCWdvdG8gb3V0OwotCWlmICh0YXNrLT5tbSAhPSBjdXJyZW50LT5tbSAmJiBfX3B0cmFjZV9tYXlfYXR0YWNoKHRhc2spIDwgMCkKKwlpZiAodGFzay0+bW0gIT0gY3VycmVudC0+bW0gJiYKKwkgICAgX19wdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSA8IDApCiAJCWdvdG8gb3V0OwogCXRhc2tfdW5sb2NrKHRhc2spOwogCXJldHVybiBtbTsKQEAgLTUxOCw3ICs1MTksNyBAQAogCSAqLwogCXRhc2sgPSBnZXRfcHJvY190YXNrKGlub2RlKTsKIAlpZiAodGFzaykgewotCQlhbGxvd2VkID0gcHRyYWNlX21heV9hdHRhY2godGFzayk7CisJCWFsbG93ZWQgPSBwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKTsKIAkJcHV0X3Rhc2tfc3RydWN0KHRhc2spOwogCX0KIAlyZXR1cm4gYWxsb3dlZDsKQEAgLTkwNCw3ICs5MDUsNyBAQAogCWlmICghdGFzaykKIAkJZ290byBvdXRfbm9fdGFzazsKIAotCWlmICghcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKCFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJZ290byBvdXQ7CiAKIAlyZXQgPSAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZnMvcHJvYy9wcm9jX21pc2MuYyBiL2ZzL3Byb2MvcHJvY19taXNjLmMKaW5kZXggN2UyNzdmMi4uYzY1MmQ0NiAxMDA2NDQKLS0tIGEvZnMvcHJvYy9wcm9jX21pc2MuYworKysgYi9mcy9wcm9jL3Byb2NfbWlzYy5jCkBAIC0xMjMsNiArMTIzLDExIEBACiAJcmV0dXJuIHByb2NfY2FsY19tZXRyaWNzKHBhZ2UsIHN0YXJ0LCBvZmYsIGNvdW50LCBlb2YsIGxlbik7CiB9CiAKK2ludCBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkgYXJjaF9yZXBvcnRfbWVtaW5mbyhjaGFyICpwYWdlKQoreworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IG1lbWluZm9fcmVhZF9wcm9jKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAogCQkJCSBpbnQgY291bnQsIGludCAqZW9mLCB2b2lkICpkYXRhKQogewpAQCAtMjIxLDYgKzIyNiw4IEBACiAKIAkJbGVuICs9IGh1Z2V0bGJfcmVwb3J0X21lbWluZm8ocGFnZSArIGxlbik7CiAKKwlsZW4gKz0gYXJjaF9yZXBvcnRfbWVtaW5mbyhwYWdlICsgbGVuKTsKKwogCXJldHVybiBwcm9jX2NhbGNfbWV0cmljcyhwYWdlLCBzdGFydCwgb2ZmLCBjb3VudCwgZW9mLCBsZW4pOwogI3VuZGVmIEsKIH0KQEAgLTQ3Miw2ICs0NzksMTMgQEAKIH07CiAjZW5kaWYKIAorI2lmbmRlZiBhcmNoX2lycV9zdGF0X2NwdQorI2RlZmluZSBhcmNoX2lycV9zdGF0X2NwdShjcHUpIDAKKyNlbmRpZgorI2lmbmRlZiBhcmNoX2lycV9zdGF0CisjZGVmaW5lIGFyY2hfaXJxX3N0YXQoKSAwCisjZW5kaWYKKwogc3RhdGljIGludCBzaG93X3N0YXQoc3RydWN0IHNlcV9maWxlICpwLCB2b2lkICp2KQogewogCWludCBpOwpAQCAtNTA5LDcgKzUyMyw5IEBACiAJCQlzdW0gKz0gdGVtcDsKIAkJCXBlcl9pcnFfc3VtW2pdICs9IHRlbXA7CiAJCX0KKwkJc3VtICs9IGFyY2hfaXJxX3N0YXRfY3B1KGkpOwogCX0KKwlzdW0gKz0gYXJjaF9pcnFfc3RhdCgpOwogCiAJc2VxX3ByaW50ZihwLCAiY3B1ICAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdSAlbGx1ICVsbHUgJWxsdVxuIiwKIAkJKHVuc2lnbmVkIGxvbmcgbG9uZyljcHV0aW1lNjRfdG9fY2xvY2tfdCh1c2VyKSwKZGlmZiAtLWdpdCBhL2ZzL3Byb2MvdGFza19tbXUuYyBiL2ZzL3Byb2MvdGFza19tbXUuYwppbmRleCBjNDkyNDQ5Li4xNjRiZDlmIDEwMDY0NAotLS0gYS9mcy9wcm9jL3Rhc2tfbW11LmMKKysrIGIvZnMvcHJvYy90YXNrX21tdS5jCkBAIC0yMTAsNyArMjEwLDcgQEAKIAlkZXZfdCBkZXYgPSAwOwogCWludCBsZW47CiAKLQlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAKIAlpZiAoZmlsZSkgewpAQCAtNjQ2LDcgKzY0Niw3IEBACiAJCWdvdG8gb3V0OwogCiAJcmV0ID0gLUVBQ0NFUzsKLQlpZiAoIXB0cmFjZV9tYXlfYXR0YWNoKHRhc2spKQorCWlmICghcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCWdvdG8gb3V0X3Rhc2s7CiAKIAlyZXQgPSAtRUlOVkFMOwpAQCAtNzQ3LDcgKzc0Nyw3IEBACiAJc3RydWN0IHByb2NfbWFwc19wcml2YXRlICpwcml2ID0gbS0+cHJpdmF0ZTsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2sgPSBwcml2LT50YXNrOwogCi0JaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hdHRhY2godGFzaykpCisJaWYgKG1hcHNfcHJvdGVjdCAmJiAhcHRyYWNlX21heV9hY2Nlc3ModGFzaywgUFRSQUNFX01PREVfUkVBRCkpCiAJCXJldHVybiAtRUFDQ0VTOwogCiAJcmV0dXJuIHNob3dfbnVtYV9tYXAobSwgdik7CmRpZmYgLS1naXQgYS9mcy9wcm9jL3Rhc2tfbm9tbXUuYyBiL2ZzL3Byb2MvdGFza19ub21tdS5jCmluZGV4IDRiNGY5Y2MuLjVkODRlNzEgMTAwNjQ0Ci0tLSBhL2ZzL3Byb2MvdGFza19ub21tdS5jCisrKyBiL2ZzL3Byb2MvdGFza19ub21tdS5jCkBAIC0xMTMsNyArMTEzLDcgQEAKIAlzdHJ1Y3QgcHJvY19tYXBzX3ByaXZhdGUgKnByaXYgPSBtLT5wcml2YXRlOwogCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayA9IHByaXYtPnRhc2s7CiAKLQlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2F0dGFjaCh0YXNrKSkKKwlpZiAobWFwc19wcm90ZWN0ICYmICFwdHJhY2VfbWF5X2FjY2Vzcyh0YXNrLCBQVFJBQ0VfTU9ERV9SRUFEKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAKIAlyZXR1cm4gbm9tbXVfdm1hX3Nob3cobSwgdm1sLT52bWEpOwpkaWZmIC0tZ2l0IGEvZnMvcmFtZnMvZmlsZS1tbXUuYyBiL2ZzL3JhbWZzL2ZpbGUtbW11LmMKaW5kZXggOTU5MGI5MC4uNzhmNjEzYyAxMDA2NDQKLS0tIGEvZnMvcmFtZnMvZmlsZS1tbXUuYworKysgYi9mcy9yYW1mcy9maWxlLW1tdS5jCkBAIC00NSw2ICs0NSw3IEBACiAJLm1tYXAJCT0gZ2VuZXJpY19maWxlX21tYXAsCiAJLmZzeW5jCQk9IHNpbXBsZV9zeW5jX2ZpbGUsCiAJLnNwbGljZV9yZWFkCT0gZ2VuZXJpY19maWxlX3NwbGljZV9yZWFkLAorCS5zcGxpY2Vfd3JpdGUJPSBnZW5lcmljX2ZpbGVfc3BsaWNlX3dyaXRlLAogCS5sbHNlZWsJCT0gZ2VuZXJpY19maWxlX2xsc2VlaywKIH07CiAKZGlmZiAtLWdpdCBhL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYyBiL2ZzL3JhbWZzL2ZpbGUtbm9tbXUuYwppbmRleCAwOTg5YmMyLi41MjMxMmVjIDEwMDY0NAotLS0gYS9mcy9yYW1mcy9maWxlLW5vbW11LmMKKysrIGIvZnMvcmFtZnMvZmlsZS1ub21tdS5jCkBAIC00Myw2ICs0Myw3IEBACiAJLmFpb193cml0ZQkJPSBnZW5lcmljX2ZpbGVfYWlvX3dyaXRlLAogCS5mc3luYwkJCT0gc2ltcGxlX3N5bmNfZmlsZSwKIAkuc3BsaWNlX3JlYWQJCT0gZ2VuZXJpY19maWxlX3NwbGljZV9yZWFkLAorCS5zcGxpY2Vfd3JpdGUJCT0gZ2VuZXJpY19maWxlX3NwbGljZV93cml0ZSwKIAkubGxzZWVrCQkJPSBnZW5lcmljX2ZpbGVfbGxzZWVrLAogfTsKIApkaWZmIC0tZ2l0IGEvZnMvcmVhZF93cml0ZS5jIGIvZnMvcmVhZF93cml0ZS5jCmluZGV4IGYwZDEyNDAuLjliYTQ5NWQgMTAwNjQ0Ci0tLSBhL2ZzL3JlYWRfd3JpdGUuYworKysgYi9mcy9yZWFkX3dyaXRlLmMKQEAgLTMxLDEyICszMSwxMiBAQAogCiBFWFBPUlRfU1lNQk9MKGdlbmVyaWNfcm9fZm9wcyk7CiAKLWxvZmZfdCBnZW5lcmljX2ZpbGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQorbG9mZl90CitnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQogewogCWxvZmZfdCByZXR2YWw7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfbWFwcGluZy0+aG9zdDsKIAotCW11dGV4X2xvY2soJmlub2RlLT5pX211dGV4KTsKIAlzd2l0Y2ggKG9yaWdpbikgewogCQljYXNlIFNFRUtfRU5EOgogCQkJb2Zmc2V0ICs9IGlub2RlLT5pX3NpemU7CkBAIC00Niw0MiArNDYsMjYgQEAKIAl9CiAJcmV0dmFsID0gLUVJTlZBTDsKIAlpZiAob2Zmc2V0Pj0wICYmIG9mZnNldDw9aW5vZGUtPmlfc2ItPnNfbWF4Ynl0ZXMpIHsKKwkJLyogU3BlY2lhbCBsb2NrIG5lZWRlZCBoZXJlPyAqLwogCQlpZiAob2Zmc2V0ICE9IGZpbGUtPmZfcG9zKSB7CiAJCQlmaWxlLT5mX3BvcyA9IG9mZnNldDsKIAkJCWZpbGUtPmZfdmVyc2lvbiA9IDA7CiAJCX0KIAkJcmV0dmFsID0gb2Zmc2V0OwogCX0KLQltdXRleF91bmxvY2soJmlub2RlLT5pX211dGV4KTsKIAlyZXR1cm4gcmV0dmFsOwogfQorRVhQT1JUX1NZTUJPTChnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKTsKIAotRVhQT1JUX1NZTUJPTChnZW5lcmljX2ZpbGVfbGxzZWVrKTsKLQotbG9mZl90IHJlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCitsb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKIHsKLQlsb2ZmX3QgcmV0dmFsOwotCi0JbG9ja19rZXJuZWwoKTsKLQlzd2l0Y2ggKG9yaWdpbikgewotCQljYXNlIFNFRUtfRU5EOgotCQkJb2Zmc2V0ICs9IGlfc2l6ZV9yZWFkKGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpOwotCQkJYnJlYWs7Ci0JCWNhc2UgU0VFS19DVVI6Ci0JCQlvZmZzZXQgKz0gZmlsZS0+Zl9wb3M7Ci0JfQotCXJldHZhbCA9IC1FSU5WQUw7Ci0JaWYgKG9mZnNldD49MCAmJiBvZmZzZXQ8PWZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUtPmlfc2ItPnNfbWF4Ynl0ZXMpIHsKLQkJaWYgKG9mZnNldCAhPSBmaWxlLT5mX3BvcykgewotCQkJZmlsZS0+Zl9wb3MgPSBvZmZzZXQ7Ci0JCQlmaWxlLT5mX3ZlcnNpb24gPSAwOwotCQl9Ci0JCXJldHZhbCA9IG9mZnNldDsKLQl9Ci0JdW5sb2NrX2tlcm5lbCgpOwotCXJldHVybiByZXR2YWw7CisJbG9mZl90IG47CisJbXV0ZXhfbG9jaygmZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfbXV0ZXgpOworCW4gPSBnZW5lcmljX2ZpbGVfbGxzZWVrX3VubG9ja2VkKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwltdXRleF91bmxvY2soJmZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX211dGV4KTsKKwlyZXR1cm4gbjsKIH0KLUVYUE9SVF9TWU1CT0wocmVtb3RlX2xsc2Vlayk7CitFWFBPUlRfU1lNQk9MKGdlbmVyaWNfZmlsZV9sbHNlZWspOwogCiBsb2ZmX3Qgbm9fbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQogewpkaWZmIC0tZ2l0IGEvZnMvc21iZnMvZmlsZS5jIGIvZnMvc21iZnMvZmlsZS5jCmluZGV4IGVmYmUyOWEuLjIyOTQ3ODMgMTAwNjQ0Ci0tLSBhL2ZzL3NtYmZzL2ZpbGUuYworKysgYi9mcy9zbWJmcy9maWxlLmMKQEAgLTQyMiw5ICs0MjIsMTggQEAKIAlyZXR1cm4gZXJyb3I7CiB9CiAKK3N0YXRpYyBsb2ZmX3Qgc21iX3JlbW90ZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJbG9mZl90IHJldDsKKwlsb2NrX2tlcm5lbCgpOworCXJldCA9IGdlbmVyaWNfZmlsZV9sbHNlZWtfdW5sb2NrZWQoZmlsZSwgb2Zmc2V0LCBvcmlnaW4pOworCXVubG9ja19rZXJuZWwoKTsKKwlyZXR1cm4gcmV0OworfQorCiBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNtYl9maWxlX29wZXJhdGlvbnMgPQogewotCS5sbHNlZWsJCT0gcmVtb3RlX2xsc2VlaywKKwkubGxzZWVrIAk9IHNtYl9yZW1vdGVfbGxzZWVrLAogCS5yZWFkCQk9IGRvX3N5bmNfcmVhZCwKIAkuYWlvX3JlYWQJPSBzbWJfZmlsZV9haW9fcmVhZCwKIAkud3JpdGUJCT0gZG9fc3luY193cml0ZSwKZGlmZiAtLWdpdCBhL2ZzL3NwbGljZS5jIGIvZnMvc3BsaWNlLmMKaW5kZXggYWE1ZjZmNi4uMzk5NDQyMSAxMDA2NDQKLS0tIGEvZnMvc3BsaWNlLmMKKysrIGIvZnMvc3BsaWNlLmMKQEAgLTM3OSwxMyArMzc5LDIyIEBACiAJCQkJbG9ja19wYWdlKHBhZ2UpOwogCiAJCQkvKgotCQkJICogcGFnZSB3YXMgdHJ1bmNhdGVkLCBzdG9wIGhlcmUuIGlmIHRoaXMgaXNuJ3QgdGhlCi0JCQkgKiBmaXJzdCBwYWdlLCB3ZSdsbCBqdXN0IGNvbXBsZXRlIHdoYXQgd2UgYWxyZWFkeQotCQkJICogYWRkZWQKKwkJCSAqIFBhZ2Ugd2FzIHRydW5jYXRlZCwgb3IgaW52YWxpZGF0ZWQgYnkgdGhlCisJCQkgKiBmaWxlc3lzdGVtLiAgUmVkbyB0aGUgZmluZC9jcmVhdGUsIGJ1dCB0aGlzIHRpbWUgdGhlCisJCQkgKiBwYWdlIGlzIGtlcHQgbG9ja2VkLCBzbyB0aGVyZSdzIG5vIGNoYW5jZSBvZiBhbm90aGVyCisJCQkgKiByYWNlIHdpdGggdHJ1bmNhdGUvaW52YWxpZGF0ZS4KIAkJCSAqLwogCQkJaWYgKCFwYWdlLT5tYXBwaW5nKSB7CiAJCQkJdW5sb2NrX3BhZ2UocGFnZSk7Ci0JCQkJYnJlYWs7CisJCQkJcGFnZSA9IGZpbmRfb3JfY3JlYXRlX3BhZ2UobWFwcGluZywgaW5kZXgsCisJCQkJCQltYXBwaW5nX2dmcF9tYXNrKG1hcHBpbmcpKTsKKworCQkJCWlmICghcGFnZSkgeworCQkJCQllcnJvciA9IC1FTk9NRU07CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQlwYWdlX2NhY2hlX3JlbGVhc2UocGFnZXNbcGFnZV9ucl0pOworCQkJCXBhZ2VzW3BhZ2VfbnJdID0gcGFnZTsKIAkJCX0KIAkJCS8qCiAJCQkgKiBwYWdlIHdhcyBhbHJlYWR5IHVuZGVyIGlvIGFuZCBpcyBub3cgZG9uZSwgZ3JlYXQKZGlmZiAtLWdpdCBhL2ZzL3ZmYXQvbmFtZWkuYyBiL2ZzL3ZmYXQvbmFtZWkuYwppbmRleCBhMzUyMjcyNy4uYjU0NmJhNiAxMDA2NDQKLS0tIGEvZnMvdmZhdC9uYW1laS5jCisrKyBiL2ZzL3ZmYXQvbmFtZWkuYwpAQCAtNjQ1LDcgKzY0NSw3IEBACiAJaWYgKGxlbiA9PSAwKQogCQlyZXR1cm4gLUVOT0VOVDsKIAotCXNsb3RzID0ga21hbGxvYyhzaXplb2YoKnNsb3RzKSAqIE1TRE9TX1NMT1RTLCBHRlBfS0VSTkVMKTsKKwlzbG90cyA9IGttYWxsb2Moc2l6ZW9mKCpzbG90cykgKiBNU0RPU19TTE9UUywgR0ZQX05PRlMpOwogCWlmIChzbG90cyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAJc3RydWN0IGRlbnRyeSAqYWxpYXM7CiAJaW50IGVyciwgdGFibGU7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCXRhYmxlID0gKE1TRE9TX1NCKHNiKS0+b3B0aW9ucy5uYW1lX2NoZWNrID09ICdzJykgPyAyIDogMDsKIAlkZW50cnktPmRfb3AgPSAmdmZhdF9kZW50cnlfb3BzW3RhYmxlXTsKIApAQCAtNjk5LDcgKzY5OSw3IEBACiAJaW5vZGUgPSBmYXRfYnVpbGRfaW5vZGUoc2IsIHNpbmZvLmRlLCBzaW5mby5pX3Bvcyk7CiAJYnJlbHNlKHNpbmZvLmJoKTsKIAlpZiAoSVNfRVJSKGlub2RlKSkgewotCQl1bmxvY2tfa2VybmVsKCk7CisJCXVubG9ja19zdXBlcihzYik7CiAJCXJldHVybiBFUlJfQ0FTVChpbm9kZSk7CiAJfQogCWFsaWFzID0gZF9maW5kX2FsaWFzKGlub2RlKTsKQEAgLTcwOCwxMyArNzA4LDEzIEBACiAJCQlkcHV0KGFsaWFzKTsKIAkJZWxzZSB7CiAJCQlpcHV0KGlub2RlKTsKLQkJCXVubG9ja19rZXJuZWwoKTsKKwkJCXVubG9ja19zdXBlcihzYik7CiAJCQlyZXR1cm4gYWxpYXM7CiAJCX0KIAogCX0KIGVycm9yOgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCWRlbnRyeS0+ZF9vcCA9ICZ2ZmF0X2RlbnRyeV9vcHNbdGFibGVdOwogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRlbnRyeSA9IGRfc3BsaWNlX2FsaWFzKGlub2RlLCBkZW50cnkpOwpAQCAtNzM0LDcgKzczNCw3IEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJdHMgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWVyciA9IHZmYXRfYWRkX2VudHJ5KGRpciwgJmRlbnRyeS0+ZF9uYW1lLCAwLCAwLCAmdHMsICZzaW5mbyk7CkBAIC03NTUsMTcgKzc1NSwxOCBAQAogCWRlbnRyeS0+ZF90aW1lID0gZGVudHJ5LT5kX3BhcmVudC0+ZF9pbm9kZS0+aV92ZXJzaW9uOwogCWRfaW5zdGFudGlhdGUoZGVudHJ5LCBpbm9kZSk7CiBvdXQ6Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCB2ZmF0X3JtZGlyKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gZmF0X2Rpcl9lbXB0eShpbm9kZSk7CiAJaWYgKGVycikKQEAgLTc4Myw3ICs3ODQsNyBAQAogCWlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfYXRpbWUgPSBDVVJSRU5UX1RJTUVfU0VDOwogCWZhdF9kZXRhY2goaW5vZGUpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCiAJcmV0dXJuIGVycjsKIH0KQEAgLTc5MSwxMCArNzkyLDExIEBACiBzdGF0aWMgaW50IHZmYXRfdW5saW5rKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsKKwlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiID0gZGlyLT5pX3NiOwogCXN0cnVjdCBmYXRfc2xvdF9pbmZvIHNpbmZvOwogCWludCBlcnI7CiAKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCiAJZXJyID0gdmZhdF9maW5kKGRpciwgJmRlbnRyeS0+ZF9uYW1lLCAmc2luZm8pOwogCWlmIChlcnIpCkBAIC04MDcsNyArODA5LDcgQEAKIAlpbm9kZS0+aV9tdGltZSA9IGlub2RlLT5pX2F0aW1lID0gQ1VSUkVOVF9USU1FX1NFQzsKIAlmYXRfZGV0YWNoKGlub2RlKTsKIG91dDoKLQl1bmxvY2tfa2VybmVsKCk7CisJdW5sb2NrX3N1cGVyKHNiKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC04MjAsNyArODIyLDcgQEAKIAlzdHJ1Y3QgdGltZXNwZWMgdHM7CiAJaW50IGVyciwgY2x1c3RlcjsKIAotCWxvY2tfa2VybmVsKCk7CisJbG9ja19zdXBlcihzYik7CiAKIAl0cyA9IENVUlJFTlRfVElNRV9TRUM7CiAJY2x1c3RlciA9IGZhdF9hbGxvY19uZXdfZGlyKGRpciwgJnRzKTsKQEAgLTg0OSwxMyArODUxLDEzIEBACiAJZGVudHJ5LT5kX3RpbWUgPSBkZW50cnktPmRfcGFyZW50LT5kX2lub2RlLT5pX3ZlcnNpb247CiAJZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIAotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiAwOwogCiBvdXRfZnJlZToKIAlmYXRfZnJlZV9jbHVzdGVycyhkaXIsIGNsdXN0ZXIpOwogb3V0OgotCXVubG9ja19rZXJuZWwoKTsKKwl1bmxvY2tfc3VwZXIoc2IpOwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTg2OSwxMSArODcxLDEyIEBACiAJc3RydWN0IHRpbWVzcGVjIHRzOwogCWxvZmZfdCBkb3Rkb3RfaV9wb3MsIG5ld19pX3BvczsKIAlpbnQgZXJyLCBpc19kaXIsIHVwZGF0ZV9kb3Rkb3QsIGNvcnJ1cHQgPSAwOworCXN0cnVjdCBzdXBlcl9ibG9jayAqc2IgPSBvbGRfZGlyLT5pX3NiOwogCiAJb2xkX3NpbmZvLmJoID0gc2luZm8uYmggPSBkb3Rkb3RfYmggPSBOVUxMOwogCW9sZF9pbm9kZSA9IG9sZF9kZW50cnktPmRfaW5vZGU7CiAJbmV3X2lub2RlID0gbmV3X2RlbnRyeS0+ZF9pbm9kZTsKLQlsb2NrX2tlcm5lbCgpOworCWxvY2tfc3VwZXIoc2IpOwogCWVyciA9IHZmYXRfZmluZChvbGRfZGlyLCAmb2xkX2RlbnRyeS0+ZF9uYW1lLCAmb2xkX3NpbmZvKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dDsKQEAgLTk1MSw3ICs5NTQsNyBAQAogCWJyZWxzZShzaW5mby5iaCk7CiAJYnJlbHNlKGRvdGRvdF9iaCk7CiAJYnJlbHNlKG9sZF9zaW5mby5iaCk7Ci0JdW5sb2NrX2tlcm5lbCgpOworCXVubG9ja19zdXBlcihzYik7CiAKIAlyZXR1cm4gZXJyOwogCmRpZmYgLS1naXQgYS9mcy94ZnMveGZzX2xvZy5jIGIvZnMveGZzL3hmc19sb2cuYwppbmRleCBhZmFlZTMwLi5hZDNkMjZkIDEwMDY0NAotLS0gYS9mcy94ZnMveGZzX2xvZy5jCisrKyBiL2ZzL3hmcy94ZnNfbG9nLmMKQEAgLTI0MjcsMTMgKzI0MjcsMjAgQEAKIAlpZiAoaWNsb2ctPmljX3NpemUgLSBpY2xvZy0+aWNfb2Zmc2V0IDwgMipzaXplb2YoeGxvZ19vcF9oZWFkZXJfdCkpIHsKIAkJeGxvZ19zdGF0ZV9zd2l0Y2hfaWNsb2dzKGxvZywgaWNsb2csIGljbG9nLT5pY19zaXplKTsKIAotCQkvKiBJZiBJJ20gdGhlIG9ubHkgb25lIHdyaXRpbmcgdG8gdGhpcyBpY2xvZywgc3luYyBpdCB0byBkaXNrICovCi0JCWlmIChhdG9taWNfcmVhZCgmaWNsb2ctPmljX3JlZmNudCkgPT0gMSkgeworCQkvKgorCQkgKiBJZiBJJ20gdGhlIG9ubHkgb25lIHdyaXRpbmcgdG8gdGhpcyBpY2xvZywgc3luYyBpdCB0byBkaXNrLgorCQkgKiBXZSBuZWVkIHRvIGRvIGFuIGF0b21pYyBjb21wYXJlIGFuZCBkZWNyZW1lbnQgaGVyZSB0byBhdm9pZAorCQkgKiByYWNpbmcgd2l0aCBjb25jdXJyZW50IGF0b21pY19kZWNfYW5kX2xvY2soKSBjYWxscyBpbgorCQkgKiB4bG9nX3N0YXRlX3JlbGVhc2VfaWNsb2coKSB3aGVuIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUKKwkJICogcmVmZXJlbmNlIHRvIHRoZSBpY2xvZy4KKwkJICovCisJCWlmICghYXRvbWljX2FkZF91bmxlc3MoJmljbG9nLT5pY19yZWZjbnQsIC0xLCAxKSkgeworCQkJLyogd2UgYXJlIHRoZSBvbmx5IG9uZSAqLwogCQkJc3Bpbl91bmxvY2soJmxvZy0+bF9pY2xvZ2xvY2spOwotCQkJaWYgKChlcnJvciA9IHhsb2dfc3RhdGVfcmVsZWFzZV9pY2xvZyhsb2csIGljbG9nKSkpCisJCQllcnJvciA9IHhsb2dfc3RhdGVfcmVsZWFzZV9pY2xvZyhsb2csIGljbG9nKTsKKwkJCWlmIChlcnJvcikKIAkJCQlyZXR1cm4gZXJyb3I7CiAJCX0gZWxzZSB7Ci0JCQlhdG9taWNfZGVjKCZpY2xvZy0+aWNfcmVmY250KTsKIAkJCXNwaW5fdW5sb2NrKCZsb2ctPmxfaWNsb2dsb2NrKTsKIAkJfQogCQlnb3RvIHJlc3RhcnQ7CmRpZmYgLS1naXQgYS9pbmNsdWRlL0tidWlsZCBiL2luY2x1ZGUvS2J1aWxkCmluZGV4IGI1MjI4ODcuLmJkY2ExNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvS2J1aWxkCisrKyBiL2luY2x1ZGUvS2J1aWxkCkBAIC00LDUgKzQsNiBAQAogaGVhZGVyLXkgKz0gbXRkLwogaGVhZGVyLXkgKz0gcmRtYS8KIGhlYWRlci15ICs9IHZpZGVvLworaGVhZGVyLXkgKz0gZHJtLwogCiBoZWFkZXIteSArPSBhc20tJChBUkNIKS8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFscGhhL3NtcC5oIGIvaW5jbHVkZS9hc20tYWxwaGEvc21wLmgKaW5kZXggMjg2ZTFkOC4uNTQ0YzY5YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYWxwaGEvc21wLmgKKysrIGIvaW5jbHVkZS9hc20tYWxwaGEvc21wLmgKQEAgLTQ3LDEyICs0NywxMyBAQAogZXh0ZXJuIGludCBzbXBfbnVtX2NwdXM7CiAjZGVmaW5lIGNwdV9wb3NzaWJsZV9tYXAJY3B1X3ByZXNlbnRfbWFwCiAKLWludCBzbXBfY2FsbF9mdW5jdGlvbl9vbl9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbyxpbnQgcmV0cnksIGludCB3YWl0LCBjcHVtYXNrX3QgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwogCiAjZWxzZSAvKiBDT05GSUdfU01QICovCiAKICNkZWZpbmUgaGFyZF9zbXBfcHJvY2Vzc29yX2lkKCkJCTAKLSNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsaW5mbyxyZXRyeSx3YWl0LGNwdSkgICAgKHsgMDsgfSkKKyNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb25fb25fY3B1KGZ1bmMsaW5mbyx3YWl0LGNwdSkgICAgKHsgMDsgfSkKIAogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxX3BtYy5oCmluZGV4IGMyYjEzYzIuLjIwMDFlODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MV9wbWMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFfcG1jLmgKQEAgLTM5LDEwICszOSwxNCBAQAogI2RlZmluZQlBVDkxX1BNQ19QQ1NSCQkoQVQ5MV9QTUMgKyAweDE4KQkvKiBQZXJpcGhlcmFsIENsb2NrIFN0YXR1cyBSZWdpc3RlciAqLwogCiAjZGVmaW5lCUFUOTFfQ0tHUl9VQ0tSCQkoQVQ5MV9QTUMgKyAweDFDKQkvKiBVVE1JIENsb2NrIFJlZ2lzdGVyIFtTQU05UkwsIENBUDldICovCisjZGVmaW5lCQlBVDkxX1BNQ19VUExMRU4JCSgxICAgPDwgMTYpCQkvKiBVVE1JIFBMTCBFbmFibGUgKi8KKyNkZWZpbmUJCUFUOTFfUE1DX1VQTExDT1VOVAkoMHhmIDw8IDIwKQkJLyogVVRNSSBQTEwgU3RhcnQtdXAgVGltZSAqLworI2RlZmluZQkJQVQ5MV9QTUNfQklBU0VOCQkoMSAgIDw8IDI0KQkJLyogVVRNSSBCSUFTIEVuYWJsZSAqLworI2RlZmluZQkJQVQ5MV9QTUNfQklBU0NPVU5UCSgweGYgPDwgMjgpCQkvKiBVVE1JIFBMTCBTdGFydC11cCBUaW1lICovCiAKICNkZWZpbmUJQVQ5MV9DS0dSX01PUgkJKEFUOTFfUE1DICsgMHgyMCkJLyogTWFpbiBPc2NpbGxhdG9yIFJlZ2lzdGVyIFtub3Qgb24gU0FNOVJMXSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfTU9TQ0VOCQkoMSAgICA8PCAwKQkJLyogTWFpbiBPc2NpbGxhdG9yIEVuYWJsZSAqLwotI2RlZmluZQkJQVQ5MV9QTUNfT1NDQllQQVNTCSgxICAgIDw8IDEpCQkvKiBPc2NpbGxhdG9yIEJ5cGFzcyBbQVQ5MVNBTTkyNnggb25seV0gKi8KKyNkZWZpbmUJCUFUOTFfUE1DX09TQ0JZUEFTUwkoMSAgICA8PCAxKQkJLyogT3NjaWxsYXRvciBCeXBhc3MgW1NBTTl4LCBDQVA5XSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfT1NDT1VOVAkoMHhmZiA8PCA4KQkJLyogTWFpbiBPc2NpbGxhdG9yIFN0YXJ0LXVwIFRpbWUgKi8KIAogI2RlZmluZQlBVDkxX0NLR1JfTUNGUgkJKEFUOTFfUE1DICsgMHgyNCkJLyogTWFpbiBDbG9jayBGcmVxdWVuY3kgUmVnaXN0ZXIgKi8KQEAgLTk3LDYgKzEwMSw3IEBACiAjZGVmaW5lCQlBVDkxX1BNQ19MT0NLQQkJKDEgPDwgIDEpCQkvKiBQTExBIExvY2sgKi8KICNkZWZpbmUJCUFUOTFfUE1DX0xPQ0tCCQkoMSA8PCAgMikJCS8qIFBMTEIgTG9jayAqLwogI2RlZmluZQkJQVQ5MV9QTUNfTUNLUkRZCQkoMSA8PCAgMykJCS8qIE1hc3RlciBDbG9jayAqLworI2RlZmluZQkJQVQ5MV9QTUNfTE9DS1UJCSgxIDw8ICA2KQkJLyogVVBMTCBMb2NrIFtBVDkxQ0FQOSBvbmx5XSAqLwogI2RlZmluZQkJQVQ5MV9QTUNfUENLMFJEWQkoMSA8PCAgOCkJCS8qIFByb2dyYW1tYWJsZSBDbG9jayAwICovCiAjZGVmaW5lCQlBVDkxX1BNQ19QQ0sxUkRZCSgxIDw8ICA5KQkJLyogUHJvZ3JhbW1hYmxlIENsb2NrIDEgKi8KICNkZWZpbmUJCUFUOTFfUE1DX1BDSzJSRFkJKDEgPDwgMTApCQkvKiBQcm9ncmFtbWFibGUgQ2xvY2sgMiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOS5oCmluZGV4IGJhYzgzYWQuLjZmMTRkOTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDkuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5LmgKQEAgLTExOCw3ICsxMTgsNyBAQAogI2RlZmluZSBBVDkxQ0FQOV9ST01fU0laRQkoMzIgKiBTWl8xSykJLyogSW50ZXJuYWwgUk9NIHNpemUgKDMyS2IpICovCiAKICNkZWZpbmUgQVQ5MUNBUDlfTENEQ19CQVNFCTB4MDA1MDAwMDAJLyogTENEIENvbnRyb2xsZXIgKi8KLSNkZWZpbmUgQVQ5MUNBUDlfVURQSFNfQkFTRQkweDAwNjAwMDAwCS8qIFVTQiBIaWdoIFNwZWVkIERldmljZSBQb3J0ICovCisjZGVmaW5lIEFUOTFDQVA5X1VEUEhTX0ZJRk8JMHgwMDYwMDAwMAkvKiBVU0IgSGlnaCBTcGVlZCBEZXZpY2UgUG9ydCAqLwogI2RlZmluZSBBVDkxQ0FQOV9VSFBfQkFTRQkweDAwNzAwMDAwCS8qIFVTQiBIb3N0IGNvbnRyb2xsZXIgKi8KIAogI2RlZmluZSBDT05GSUdfRFJBTV9CQVNFCUFUOTFfQ0hJUFNFTEVDVF82CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxY2FwOV9tYXRyaXguaAppbmRleCBhNjQxNjg2Li5kZGJkNDg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFjYXA5X21hdHJpeC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MWNhcDlfbWF0cml4LmgKQEAgLTEwNiw2ICsxMDYsMTEgQEAKICNkZWZpbmUgQVQ5MV9NUEJTMF9TRlIJCShBVDkxX01BVFJJWCArIDB4MTE0KQkvKiBNUEJsb2NrIFNsYXZlIDAgU3BlY2lhbCBGdW5jdGlvbiBSZWdpc3RlciAqLwogI2RlZmluZSBBVDkxX01QQlMxX1NGUgkJKEFUOTFfTUFUUklYICsgMHgxMUMpCS8qIE1QQmxvY2sgU2xhdmUgMSBTcGVjaWFsIEZ1bmN0aW9uIFJlZ2lzdGVyICovCiAKKyNkZWZpbmUgQVQ5MV9NQVRSSVhfVURQSFMJKEFUOTFfTUFUUklYICsgMHgxMTgpCS8qIFVTQkhTIFNwZWNpYWwgRnVuY3Rpb24gUmVnaXN0ZXIgW0FUOTFDQVA5IG9ubHldICovCisjZGVmaW5lCQlBVDkxX01BVFJJWF9TRUxFQ1RfVURQSFMJKDAgPDwgMzEpCS8qIHNlbGVjdCBIaWdoIFNwZWVkIFVEUCAqLworI2RlZmluZQkJQVQ5MV9NQVRSSVhfU0VMRUNUX1VEUAkJKDEgPDwgMzEpCS8qIHNlbGVjdCBzdGFuZGFyZCBVRFAgKi8KKyNkZWZpbmUJCUFUOTFfTUFUUklYX1VEUEhTX0JZUEFTU19MT0NLCSgxIDw8IDMwKQkvKiBieXBhc3MgbG9jayBiaXQgKi8KKwogI2RlZmluZSBBVDkxX01BVFJJWF9FQklDU0EJKEFUOTFfTUFUUklYICsgMHgxMjApCS8qIEVCSSBDaGlwIFNlbGVjdCBBc3NpZ25tZW50IFJlZ2lzdGVyICovCiAjZGVmaW5lCQlBVDkxX01BVFJJWF9FQklfQ1MxQQkJKDEgPDwgMSkJLyogQ2hpcCBTZWxlY3QgMSBBc3NpZ25tZW50ICovCiAjZGVmaW5lCQkJQVQ5MV9NQVRSSVhfRUJJX0NTMUFfU01DCQkoMCA8PCAxKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9hdDkxc2FtOTI2MC5oCmluZGV4IGM4OTM0ZmUuLjg4OTg3MmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTkyNjAuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05MjYwLmgKQEAgLTYsNiArNiw4IEBACiAgKiBDb21tb24gZGVmaW5pdGlvbnMuCiAgKiBCYXNlZCBvbiBBVDkxU0FNOTI2MCBkYXRhc2hlZXQgcmV2aXNpb24gQSAoUHJlbGltaW5hcnkpLgogICoKKyAqIEluY2x1ZGVzIGFsc28gZGVmaW5pdGlvbnMgZm9yIEFUOTFTQU05WEUgYW5kIEFUOTFTQU05RyBmYW1pbGllcworICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKQEAgLTEyMyw1ICsxMjUsMTQgQEAKICNkZWZpbmUgQVQ5MVNBTTlYRV9GTEFTSF9CQVNFCTB4MDAyMDAwMDAJLyogSW50ZXJuYWwgRkxBU0ggYmFzZSBhZGRyZXNzICovCiAjZGVmaW5lIEFUOTFTQU05WEVfU1JBTV9CQVNFCTB4MDAzMDAwMDAJLyogSW50ZXJuYWwgU1JBTSBiYXNlIGFkZHJlc3MgKi8KIAorI2RlZmluZSBBVDkxU0FNOUcyMF9ST01fQkFTRQkweDAwMTAwMDAwCS8qIEludGVybmFsIFJPTSBiYXNlIGFkZHJlc3MgKi8KKyNkZWZpbmUgQVQ5MVNBTTlHMjBfUk9NX1NJWkUJU1pfMzJLCQkvKiBJbnRlcm5hbCBST00gc2l6ZSAoMzJLYikgKi8KKworI2RlZmluZSBBVDkxU0FNOUcyMF9TUkFNMF9CQVNFCTB4MDAyMDAwMDAJLyogSW50ZXJuYWwgU1JBTSAwIGJhc2UgYWRkcmVzcyAqLworI2RlZmluZSBBVDkxU0FNOUcyMF9TUkFNMF9TSVpFCVNaXzE2SwkJLyogSW50ZXJuYWwgU1JBTSAwIHNpemUgKDE2S2IpICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0xX0JBU0UJMHgwMDMwMDAwMAkvKiBJbnRlcm5hbCBTUkFNIDEgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEFUOTFTQU05RzIwX1NSQU0xX1NJWkUJU1pfMTZLCQkvKiBJbnRlcm5hbCBTUkFNIDEgc2l6ZSAoMTZLYikgKi8KKworI2RlZmluZSBBVDkxU0FNOUcyMF9VSFBfQkFTRQkweDAwNTAwMDAwCS8qIFVTQiBIb3N0IGNvbnRyb2xsZXIgKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2F0OTFzYW05cmwuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oCmluZGV4IDE2ZDI4MzIuLjYyMmU1NmYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYXQ5MXNhbTlybC5oCkBAIC0xMTAsNiArMTEwLDYgQEAKICNkZWZpbmUgQVQ5MVNBTTlSTF9ST01fU0laRQkoMiAqIFNaXzE2SykJLyogSW50ZXJuYWwgUk9NIHNpemUgKDMyS2IpICovCiAKICNkZWZpbmUgQVQ5MVNBTTlSTF9MQ0RDX0JBU0UJMHgwMDUwMDAwMAkvKiBMQ0QgQ29udHJvbGxlciAqLwotI2RlZmluZSBBVDkxU0FNOVJMX1VEUEhTX0JBU0UJMHgwMDYwMDAwMAkvKiBVU0IgRGV2aWNlIEhTIGNvbnRyb2xsZXIgKi8KKyNkZWZpbmUgQVQ5MVNBTTlSTF9VRFBIU19GSUZPCTB4MDA2MDAwMDAJLyogVVNCIERldmljZSBIUyBjb250cm9sbGVyICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9ib2FyZC5oCmluZGV4IGRjMTg5ZjAuLjk0ZGU3ODggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvYm9hcmQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2JvYXJkLmgKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxsaW51eC9sZWRzLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPgorI2luY2x1ZGUgPGxpbnV4L3VzYi9hdG1lbF91c2JhX3VkYy5oPgogCiAgLyogVVNCIERldmljZSAqLwogc3RydWN0IGF0OTFfdWRjX2RhdGEgewpAQCAtNDUsNiArNDYsOSBAQAogfTsKIGV4dGVybiB2b2lkIF9faW5pdCBhdDkxX2FkZF9kZXZpY2VfdWRjKHN0cnVjdCBhdDkxX3VkY19kYXRhICpkYXRhKTsKIAorIC8qIFVTQiBIaWdoIFNwZWVkIERldmljZSAqLworZXh0ZXJuIHZvaWQgX19pbml0IGF0OTFfYWRkX2RldmljZV91c2JhKHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGEgKmRhdGEpOworCiAgLyogQ29tcGFjdCBGbGFzaCAqLwogc3RydWN0IGF0OTFfY2ZfZGF0YSB7CiAJdTgJaXJxX3BpbjsJCS8qIEkvTyBJUlEgKi8KQEAgLTczLDcgKzc3LDcgQEAKIH07CiBleHRlcm4gdm9pZCBfX2luaXQgYXQ5MV9hZGRfZGV2aWNlX2V0aChzdHJ1Y3QgYXQ5MV9ldGhfZGF0YSAqZGF0YSk7CiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYzKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFDQVA5KQorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjMpIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MUNBUDkpCiAjZGVmaW5lIGV0aF9wbGF0Zm9ybV9kYXRhCWF0OTFfZXRoX2RhdGEKICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9jcHUuaAppbmRleCA3MTQ1MTY2Li41MmRmNzk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2NwdS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvY3B1LmgKQEAgLTIxLDYgKzIxLDcgQEAKICNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOTI2MAkweDAxOTgwM2EwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTkyNjEJMHgwMTk3MDNhMAogI2RlZmluZSBBUkNIX0lEX0FUOTFTQU05MjYzCTB4MDE5NjA3YTAKKyNkZWZpbmUgQVJDSF9JRF9BVDkxU0FNOUcyMAkweDAxOTkwNWEwCiAjZGVmaW5lIEFSQ0hfSURfQVQ5MVNBTTlSTDY0CTB4MDE5YjAzYTAKICNkZWZpbmUgQVJDSF9JRF9BVDkxQ0FQOQkweDAzOUEwM0EwCiAKQEAgLTYzLDYgKzY0LDEyIEBACiAjZGVmaW5lIGNwdV9pc19hdDkxc2FtOTI2MCgpCSgwKQogI2VuZGlmCiAKKyNpZmRlZiBDT05GSUdfQVJDSF9BVDkxU0FNOUcyMAorI2RlZmluZSBjcHVfaXNfYXQ5MXNhbTlnMjAoKQkoYXQ5MV9jcHVfaWRlbnRpZnkoKSA9PSBBUkNIX0lEX0FUOTFTQU05RzIwKQorI2Vsc2UKKyNkZWZpbmUgY3B1X2lzX2F0OTFzYW05ZzIwKCkJKDApCisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19BUkNIX0FUOTFTQU05MjYxCiAjZGVmaW5lIGNwdV9pc19hdDkxc2FtOTI2MSgpCShhdDkxX2NwdV9pZGVudGlmeSgpID09IEFSQ0hfSURfQVQ5MVNBTTkyNjEpCiAjZWxzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oCmluZGV4IDJjODI2ZDgyLi4wMTZhM2EzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1hdDkxL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS9oYXJkd2FyZS5oCkBAIC0xOCw3ICsxOCw3IEBACiAKICNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFSTTkyMDApCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXJtOTIwMC5oPgotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjAuaD4KICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjEpCiAjaW5jbHVkZSA8YXNtL2FyY2gvYXQ5MXNhbTkyNjEuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaAppbmRleCBmMTkzM2IwLi4yOThkODMxMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtYXQ5MS90aW1leC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWF0OTEvdGltZXguaApAQCAtMjcsMTQgKzI3LDI5IEBACiAKICNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MV9TTE9XX0NMT0NLKQogCi0jZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYxKQorI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MCkKKworI2lmIGRlZmluZWQoQ09ORklHX01BQ0hfVVNCX0E5MjYwKSB8fCBkZWZpbmVkKENPTkZJR19NQUNIX1FJTF9BOTI2MCkKKyNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTkwMDAwMDAwCisjZWxzZQorI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTkzMDAwMDAKKyNlbmRpZgorCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKEFUOTFTQU05X01BU1RFUl9DTE9DSy8xNikKKworI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9BVDkxU0FNOTI2MSkKIAogI2RlZmluZSBBVDkxU0FNOV9NQVNURVJfQ0xPQ0sJOTkzMDAwMDAKICNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQogCiAjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYzKQogCisjaWYgZGVmaW5lZChDT05GSUdfTUFDSF9VU0JfQTkyNjMpCisjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwk5MDAwMDAwMAorI2Vsc2UKICNkZWZpbmUgQVQ5MVNBTTlfTUFTVEVSX0NMT0NLCTk5OTU5NTAwCisjZW5kaWYKKwogI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCShBVDkxU0FNOV9NQVNURVJfQ0xPQ0svMTYpCiAKICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlSTCkKQEAgLTQyLDYgKzU3LDExIEBACiAjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwkxMDAwMDAwMDAKICNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQogCisjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05RzIwKQorCisjZGVmaW5lIEFUOTFTQU05X01BU1RFUl9DTE9DSwkxMzIwOTYwMDAKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoQVQ5MVNBTTlfTUFTVEVSX0NMT0NLLzE2KQorCiAjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFDQVA5KQogCiAjZGVmaW5lIEFUOTFDQVA5X01BU1RFUl9DTE9DSwkxMDAwMDAwMDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvaGFyZHdhcmUuaAppbmRleCBkYWFkOGVlLi43NDYxMGMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9oYXJkd2FyZS5oCkBAIC0xNCw3ICsxNCw2IEBACiAKICNpbmNsdWRlIDxhc20vYXJjaC9tZW1vcnkuaD4KIAotI2lmZGVmIENPTkZJR19BUkNIX0ZPT1RCUklER0UKIC8qICAgVmlydHVhbCAgICAgIFBoeXNpY2FsCVNpemUKICAqIDB4ZmY4MDAwMDAJMHg0MDAwMDAwMAkxTUIJWC1CdXMKICAqIDB4ZmYwMDAwMDAJMHg3YzAwMDAwMAkxTUIJUENJIEkvTyBzcGFjZQpAQCAtNTAsMzEgKzQ5LDYgQEAKICNkZWZpbmUgUENJTUVNX1NJWkUJCTB4MDEwMDAwMDAKICNkZWZpbmUgUENJTUVNX0JBU0UJCTB4ZjAwMDAwMDAKIAotI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9DTzI4NSkKLS8qCi0gKiBUaGlzIGlzIHRoZSBDT0VCU0EyODUgY3V0LWRvd24gbWFwcGluZwotICovCi0jZGVmaW5lIFBDSU1FTV9TSVpFCQkweDgwMDAwMDAwCi0jZGVmaW5lIFBDSU1FTV9CQVNFCQkweDgwMDAwMDAwCi0KLSNkZWZpbmUgV0ZMVVNIX1NJWkUJCTB4MDEwMDAwMDAKLSNkZWZpbmUgV0ZMVVNIX0JBU0UJCTB4N2QwMDAwMDAKLQotI2RlZmluZSBBUk1DU1JfU0laRQkJMHgwMDEwMDAwMAotI2RlZmluZSBBUk1DU1JfQkFTRQkJMHg3Y2YwMDAwMAotCi0jZGVmaW5lIFhCVVNfU0laRQkJMHgwMDAyMDAwMAotI2RlZmluZSBYQlVTX0JBU0UJCTB4N2NlZTAwMDAKLQotI2RlZmluZSBQQ0lPX1NJWkUJCTB4MDAwMTAwMDAKLSNkZWZpbmUgUENJT19CQVNFCQkweDdjZWQwMDAwCi0KLSNlbHNlCi0KLSNlcnJvciAiVW5kZWZpbmVkIGZvb3RicmlkZ2UgYXJjaGl0ZWN0dXJlIgotCi0jZW5kaWYKLQogI2RlZmluZSBYQlVTX0xFRFMJCSgodm9sYXRpbGUgdW5zaWduZWQgY2hhciAqKShYQlVTX0JBU0UgKyAweDEyMDAwKSkKICNkZWZpbmUgWEJVU19MRURfQU1CRVIJCSgxIDw8IDApCiAjZGVmaW5lIFhCVVNfTEVEX0dSRUVOCQkoMSA8PCAxKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9tZW1vcnkuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWVic2EyODUvbWVtb3J5LmgKaW5kZXggY2JkN2FlNi4uOTAxOWEzYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS9tZW1vcnkuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L21lbW9yeS5oCkBAIC00Miw4ICs0Miw2IEBACiAKICNlbmRpZgogCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9GT09UQlJJREdFKQotCiAvKiBUYXNrIHNpemUgYW5kIHBhZ2Ugb2Zmc2V0IGF0IDNHQiAqLwogI2RlZmluZSBUQVNLX1NJWkUJCVVMKDB4YmYwMDAwMDApCiAjZGVmaW5lIFBBR0VfT0ZGU0VUCQlVTCgweGMwMDAwMDAwKQpAQCAtNTMsMjMgKzUxLDYgQEAKICAqLwogI2RlZmluZSBGTFVTSF9CQVNFCQkweGY5MDAwMDAwCiAKLSNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfQ08yODUpCi0KLS8qIFRhc2sgc2l6ZSBhbmQgcGFnZSBvZmZzZXQgYXQgMS41R0IgKi8KLSNkZWZpbmUgVEFTS19TSVpFCQlVTCgweDVmMDAwMDAwKQotI2RlZmluZSBQQUdFX09GRlNFVAkJVUwoMHg2MDAwMDAwMCkKLQotLyoKLSAqIENhY2hlIGZsdXNoaW5nIGFyZWEuCi0gKi8KLSNkZWZpbmUgRkxVU0hfQkFTRQkJMHg3ZTAwMDAwMAotCi0jZWxzZQotCi0jZXJyb3IgIlVuZGVmaW5lZCBmb290YnJpZGdlIGFyY2hpdGVjdHVyZSIKLQotI2VuZGlmCi0KIC8qCiAgKiBQaHlzaWNhbCBEUkFNIG9mZnNldC4KICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtZWJzYTI4NS92bWFsbG9jLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L3ZtYWxsb2MuaAppbmRleCAwMjU5ODIwLi5lNDg3ZDdlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L3ZtYWxsb2MuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1lYnNhMjg1L3ZtYWxsb2MuaApAQCAtNyw4ICs3LDQgQEAKICAqLwogCiAKLSNpZmRlZiBDT05GSUdfQVJDSF9GT09UQlJJREdFCiAjZGVmaW5lIFZNQUxMT0NfRU5EICAgICAgIChQQUdFX09GRlNFVCArIDB4MzAwMDAwMDApCi0jZWxzZQotI2RlZmluZSBWTUFMTE9DX0VORCAgICAgICAoUEFHRV9PRkZTRVQgKyAweDIwMDAwMDAwKQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9oYXJkd2FyZS5oCmluZGV4IGFkZmZiNmEuLjY1NDJjYTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9oYXJkd2FyZS5oCkBAIC03MywxNCArNzMsNiBAQAogICovCiBleHRlcm4gdm9pZCBpbXhfZ3Bpb19tb2RlKCBpbnQgZ3Bpb19tb2RlICk7CiAKLS8qIGdldCBmcmVxdWVuY2llcyBpbiBIeiAqLwotZXh0ZXJuIHVuc2lnbmVkIGludCBpbXhfZ2V0X3N5c3RlbV9jbGsodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgaW50IGlteF9nZXRfbWN1X2Nsayh2b2lkKTsKLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGsxKHZvaWQpOyAvKiBVQVJUWzEyXSwgVGltZXJbMTJdLCBQV00gKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGsyKHZvaWQpOyAvKiBMQ0QsIFNELCBTUElbMTJdICAgICAgICAgKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9wZXJjbGszKHZvaWQpOyAvKiBTU0kgICAgICAgICAgICAgICAgICAgICAgKi8KLWV4dGVybiB1bnNpZ25lZCBpbnQgaW14X2dldF9oY2xrKHZvaWQpOyAgICAvKiBTRFJBTSwgQ1NJLCBNZW1vcnkgU3RpY2ssKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJMkMsIERNQSAgICAgICAgICAgICAgICAgKi8KICNlbmRpZgogCiAjZGVmaW5lIE1BWElSUU5VTSAgICAgICAgICAgICAgICAgICAgICAgNjIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LWRtYS5oCmluZGV4IDViMTA2NmQuLjQ0ZDg5YzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlteC9pbXgtZG1hLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC1kbWEuaApAQCAtODgsNyArODgsNyBAQAogCiB2b2lkIGlteF9kbWFfZnJlZShpbXhfZG1hY2hfdCBkbWFfY2gpOwogCi1pbnQgaW14X2RtYV9yZXF1ZXN0X2J5X3ByaW8oaW14X2RtYWNoX3QgKnBkbWFfY2gsIGNvbnN0IGNoYXIgKm5hbWUsIGlteF9kbWFfcHJpbyBwcmlvKTsKK2lteF9kbWFjaF90IGlteF9kbWFfcmVxdWVzdF9ieV9wcmlvKGNvbnN0IGNoYXIgKm5hbWUsIGlteF9kbWFfcHJpbyBwcmlvKTsKIAogCiAjZW5kaWYJLyogX0FTTV9BUkNIX0lNWF9ETUFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW14L2lteC11YXJ0LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LXVhcnQuaAppbmRleCAzYTY4NWUxLi5kNTRlYjFkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LXVhcnQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvaW14LXVhcnQuaApAQCAtNCw2ICs0LDggQEAKICNkZWZpbmUgSU1YVUFSVF9IQVZFX1JUU0NUUyAoMTw8MCkKIAogc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSB7CisJaW50ICgqaW5pdCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CisJdm9pZCAoKmV4aXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOwogCXVuc2lnbmVkIGludCBmbGFnczsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDEzeHgvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AxM3h4L2RtYS5oCmluZGV4IDJlMTVkYTUzLi5kNzk4NDZmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AxM3h4L2RtYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDEzeHgvZG1hLmgKQEAgLTEsMyArMSwzIEBACiAjaWZuZGVmIF9JT1AxM1hYX0RNQV9ICi0jZGVmaW5lIF9JT1AxM1hYX0RNQV9IXworI2RlZmluZSBfSU9QMTNYWF9ETUFfSAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pb3AzMngvZ3Bpby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzJ4L2dwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDhmNGVjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzJ4L2dwaW8uaApAQCAtMCwwICsxLDYgQEAKKyNpZm5kZWYgX19BU01fQVJDSF9JT1AzMlhfR1BJT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9QMzJYX0dQSU9fSAorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmg+CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtaW9wMzN4L2dwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMzeC9ncGlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRkNTViYgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWlvcDMzeC9ncGlvLmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIF9fQVNNX0FSQ0hfSU9QMzNYX0dQSU9fSAorI2RlZmluZSBfX0FTTV9BUkNIX0lPUDMzWF9HUElPX0gKKworI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oPgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9mc2cuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9mc2cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMDEwMGNjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2ZzZy5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvZnNnLmgKKyAqCisgKiBGcmVlY29tIEZTRy0zIHBsYXRmb3JtIHNwZWNpZmljIGRlZmluaXRpb25zCisgKgorICogQXV0aG9yOiBSb2QgV2hpdGJ5IDxyb2RAd2hpdGJ5LmlkLmF1PgorICogQXV0aG9yOiBUb21hc3ogQ2htaWVsZXdza2kgPG1hbmdvb0B3cGtnLm9yZz4KKyAqIE1haW50YWluZXJzOiBodHRwOi8vd3d3Lm5zbHUyLWxpbnV4Lm9yZworICoKKyAqIEJhc2VkIG9uIGNveW90ZS5oIGJ5CisgKiBDb3B5cmlnaHQgMjAwNCAoYykgTW9udGFWaXN0YSwgU29mdHdhcmUsIEluYy4KKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSF9fCisjZXJyb3IgIkRvIG5vdCBpbmNsdWRlIHRoaXMgZGlyZWN0bHksIGluc3RlYWQgI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPiIKKyNlbmRpZgorCisjZGVmaW5lIEZTR19TREFfUElOCQkxMgorI2RlZmluZSBGU0dfU0NMX1BJTgkJMTMKKworLyoKKyAqIEZTRyBQQ0kgSVJRcworICovCisjZGVmaW5lIEZTR19QQ0lfTUFYX0RFVgkJMworI2RlZmluZSBGU0dfUENJX0lSUV9MSU5FUwkzCisKKworLyogUENJIGNvbnRyb2xsZXIgR1BJTyB0byBJUlEgcGluIG1hcHBpbmdzICovCisjZGVmaW5lIEZTR19QQ0lfSU5UQV9QSU4JNgorI2RlZmluZSBGU0dfUENJX0lOVEJfUElOCTcKKyNkZWZpbmUgRlNHX1BDSV9JTlRDX1BJTgk1CisKKy8qIEJ1dHRvbnMgKi8KKworI2RlZmluZSBGU0dfU0JfR1BJTwkJNAkvKiBzeW5jIGJ1dHRvbiAqLworI2RlZmluZSBGU0dfUkJfR1BJTwkJOQkvKiByZXNldCBidXR0b24gKi8KKyNkZWZpbmUgRlNHX1VCX0dQSU8JCTEwCS8qIHVzYiBidXR0b24gKi8KKworLyogTEVEcyAqLworCisjZGVmaW5lIEZTR19MRURfV0xBTl9CSVQJMAorI2RlZmluZSBGU0dfTEVEX1dBTl9CSVQJCTEKKyNkZWZpbmUgRlNHX0xFRF9TQVRBX0JJVAkyCisjZGVmaW5lIEZTR19MRURfVVNCX0JJVAkJNAorI2RlZmluZSBGU0dfTEVEX1JJTkdfQklUCTUKKyNkZWZpbmUgRlNHX0xFRF9TWU5DX0JJVAk3CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9oYXJkd2FyZS5oCmluZGV4IDczZThkYzMuLmZhNzIzYTYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9oYXJkd2FyZS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9oYXJkd2FyZS5oCkBAIC00NSw1ICs0NSw2IEBACiAjaW5jbHVkZSAibnNsdTIuaCIKICNpbmNsdWRlICJuYXMxMDBkLmgiCiAjaW5jbHVkZSAiZHNtZzYwMC5oIgorI2luY2x1ZGUgImZzZy5oIgogCiAjZW5kaWYgIC8qIF9BU01fQVJDSF9IQVJEV0FSRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtaXhwNHh4L2lycXMuaAppbmRleCAxMTgwMTYwLi42NzRhZjRhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1peHA0eHgvaXJxcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWl4cDR4eC9pcnFzLmgKQEAgLTEyOCw0ICsxMjgsMTEgQEAKICNkZWZpbmUgICAgICAgIElSUV9EU01HNjAwX1BDSV9JTlRFICAgIElSUV9JWFA0WFhfR1BJTzcKICNkZWZpbmUgICAgICAgIElSUV9EU01HNjAwX1BDSV9JTlRGICAgIElSUV9JWFA0WFhfR1BJTzYKIAorLyoKKyAqIEZyZWVjb20gRlNHLTMgQm9hcmQgSVJRcworICovCisjZGVmaW5lICAgICAgICBJUlFfRlNHX1BDSV9JTlRBICAgICAgICBJUlFfSVhQNFhYX0dQSU82CisjZGVmaW5lICAgICAgICBJUlFfRlNHX1BDSV9JTlRCICAgICAgICBJUlFfSVhQNFhYX0dQSU83CisjZGVmaW5lICAgICAgICBJUlFfRlNHX1BDSV9JTlRDICAgICAgICBJUlFfSVhQNFhYX0dQSU81CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZGVidWctbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RlYnVnLW1hY3JvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU1ZmI4YQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RlYnVnLW1hY3JvLlMKQEAgLTAsMCArMSwyMCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2RlYnVnLW1hY3JvLlMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisKKwkubWFjcm8JYWRkcnVhcnQscngKKwltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCXRzdAlccngsICMxCQkJCQlAIE1NVSBlbmFibGVkPworCWxkcmVxCVxyeCwgPUtJUktXT09EX1JFR1NfUEhZU19CQVNFCisJbGRybmUJXHJ4LCA9S0lSS1dPT0RfUkVHU19WSVJUX0JBU0UKKwlvcnIJXHJ4LCBccngsICMweDAwMDEyMDAwCisJLmVuZG0KKworI2RlZmluZSBVQVJUX1NISUZUCTIKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvZGVidWctODI1MC5TPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9kbWEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvZG1hLmgKQEAgLTAsMCArMSBAQAorLyogZW1wdHkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2VudHJ5LW1hY3JvLlMgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9lbnRyeS1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjNmE0M2QKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9lbnRyeS1tYWNyby5TCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9lbnRyeS1tYWNyby5TCisgKgorICogTG93LWxldmVsIElSUSBoZWxwZXIgbWFjcm9zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIHBsYXRmb3JtcworICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9raXJrd29vZC5oPgorCisJLm1hY3JvICBkaXNhYmxlX2ZpcQorCS5lbmRtCisKKwkubWFjcm8gIGFyY2hfcmV0X3RvX3VzZXIsIHRtcDEsIHRtcDIKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfcHJlYW1ibGUsIGJhc2UsIHRtcAorCWxkcglcYmFzZSwgPUlSUV9WSVJUX0JBU0UKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfYW5kX2Jhc2UsIGlycW5yLCBpcnFzdGF0LCBiYXNlLCB0bXAKKwlAIGNoZWNrIGxvdyBpbnRlcnJ1cHRzCisJbGRyCVxpcnFzdGF0LCBbXGJhc2UsICNJUlFfQ0FVU0VfTE9XX09GRl0KKwlsZHIJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfTE9XX09GRl0KKwltb3YJXGlycW5yLCAjMzEKKwlhbmRzCVxpcnFzdGF0LCBcaXJxc3RhdCwgXHRtcAorCWJuZQkxMDAxZgorCisJQCBpZiBubyBsb3cgaW50ZXJydXB0cyBzZXQsIGNoZWNrIGhpZ2ggaW50ZXJydXB0cworCWxkcglcaXJxc3RhdCwgW1xiYXNlLCAjSVJRX0NBVVNFX0hJR0hfT0ZGXQorCWxkcglcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19ISUdIX09GRl0KKwltb3YJXGlycW5yLCAjNjMKKwlhbmRzCVxpcnFzdGF0LCBcaXJxc3RhdCwgXHRtcAorCisJQCBmaW5kIGZpcnN0IGFjdGl2ZSBpbnRlcnJ1cHQgc291cmNlCisxMDAxOgljbHpuZQlcaXJxc3RhdCwgXGlycXN0YXQKKwlzdWJuZQlcaXJxbnIsIFxpcnFuciwgXGlycXN0YXQKKwkuZW5kbQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2hhcmR3YXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5NTcxOQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2hhcmR3YXJlLmgKQEAgLTAsMCArMSwyMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2hhcmR3YXJlLmgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9IQVJEV0FSRV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorCisjaW5jbHVkZSAia2lya3dvb2QuaCIKKworI2RlZmluZSBwY2liaW9zX2Fzc2lnbl9hbGxfYnVzc2VzKCkJMQorCisjZGVmaW5lIFBDSUJJT1NfTUlOX0lPCQkJMHgwMDAwMTAwMAorI2RlZmluZSBQQ0lCSU9TX01JTl9NRU0JCQkweDAxMDAwMDAwCisjZGVmaW5lIFBDSU1FTV9CQVNFCQkJS0lSS1dPT0RfUENJRV9NRU1fUEhZU19CQVNFIC8qIG1lbSBiYXNlIGZvciBWR0EgKi8KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZjZlOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pby5oCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pby5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lPX0gKKyNkZWZpbmUgX19BU01fQVJDSF9JT19ICisKKyNpbmNsdWRlICJraXJrd29vZC5oIgorCisjZGVmaW5lIElPX1NQQUNFX0xJTUlUCQkweGZmZmZmZmZmCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2lvKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSgoYWRkciAtIEtJUktXT09EX1BDSUVfSU9fUEhZU19CQVNFKQorCQkJCQkrIEtJUktXT09EX1BDSUVfSU9fVklSVF9CQVNFKTsKK30KKworI2RlZmluZSBfX2lvKGEpCQkJX19pbyhhKQorI2RlZmluZSBfX21lbV9wY2koYSkJCShhKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvaXJxcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlN2I1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9pcnFzLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2lycXMuaAorICoKKyAqIElSUSBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBLaXJrd29vZCBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lSUVNfSAorI2RlZmluZSBfX0FTTV9BUkNIX0lSUVNfSAorCisjaW5jbHVkZSAia2lya3dvb2QuaCIJLyogbmVlZCBHUElPX01BWCAqLworCisvKgorICogTG93IEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX0tJUktXT09EX0hJR0hfU1VNCTAKKyNkZWZpbmUgSVJRX0tJUktXT09EX0JSSURHRQkxCisjZGVmaW5lIElSUV9LSVJLV09PRF9IT1NUMkNQVQkyCisjZGVmaW5lIElSUV9LSVJLV09PRF9DUFUySE9TVAkzCisjZGVmaW5lIElSUV9LSVJLV09PRF9YT1JfMDAJNQorI2RlZmluZSBJUlFfS0lSS1dPT0RfWE9SXzAxCTYKKyNkZWZpbmUgSVJRX0tJUktXT09EX1hPUl8xMAk3CisjZGVmaW5lIElSUV9LSVJLV09PRF9YT1JfMTEJOAorI2RlZmluZSBJUlFfS0lSS1dPT0RfUENJRQk5CisjZGVmaW5lIElSUV9LSVJLV09PRF9HRTAwX1NVTQkxMQorI2RlZmluZSBJUlFfS0lSS1dPT0RfR0UwMV9TVU0JMTUKKyNkZWZpbmUgSVJRX0tJUktXT09EX1VTQgkxOQorI2RlZmluZSBJUlFfS0lSS1dPT0RfU0FUQQkyMQorI2RlZmluZSBJUlFfS0lSS1dPT0RfQ1JZUFRPCTIyCisjZGVmaW5lIElSUV9LSVJLV09PRF9TUEkJMjMKKyNkZWZpbmUgSVJRX0tJUktXT09EX0kyUwkyNAorI2RlZmluZSBJUlFfS0lSS1dPT0RfVFNfMAkyNgorI2RlZmluZSBJUlFfS0lSS1dPT0RfU0RJTwkyOAorI2RlZmluZSBJUlFfS0lSS1dPT0RfVFdTSQkyOQorI2RlZmluZSBJUlFfS0lSS1dPT0RfQVZCCTMwCisjZGVmaW5lIElSUV9LSVJLV09PRF9URE1JCTMxCisKKy8qCisgKiBIaWdoIEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX0tJUktXT09EX1VBUlRfMAkzMworI2RlZmluZSBJUlFfS0lSS1dPT0RfVUFSVF8xCTM0CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0xPV18wXzcJMzUKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fTE9XXzhfMTUJMzYKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fTE9XXzE2XzIzCTM3CisjZGVmaW5lIElSUV9LSVJLV09PRF9HUElPX0xPV18yNF8zMQkzOAorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19ISUdIXzBfNwkzOQorI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19ISUdIXzhfMTUJNDAKKyNkZWZpbmUgSVJRX0tJUktXT09EX0dQSU9fSElHSF8xNl8yMwk0MQorCisvKgorICogS0lSS1dPT0QgR2VuZXJhbCBQdXJwb3NlIFBpbnMKKyAqLworI2RlZmluZSBJUlFfS0lSS1dPT0RfR1BJT19TVEFSVAk2NAorI2RlZmluZSBOUl9HUElPX0lSUVMJCUdQSU9fTUFYCisKKyNkZWZpbmUgTlJfSVJRUwkJCShJUlFfS0lSS1dPT0RfR1BJT19TVEFSVCArIE5SX0dQSU9fSVJRUykKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2tpcmt3b29kLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9raXJrd29vZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMzFiMzE1Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qva2lya3dvb2QuaApAQCAtMCwwICsxLDEwMCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL2tpcmt3b29kLmgKKyAqCisgKiBHZW5lcmljIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIEtpcmt3b29kIFNvQyBmbGF2b3JzOgorICogIDg4RjYxODAsIDg4RjYxOTIgYW5kIDg4RjYyODEuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0tJUktXT09EX0gKKyNkZWZpbmUgX19BU01fQVJDSF9LSVJLV09PRF9ICisKKy8qCisgKiBNYXJ2ZWxsIEtpcmt3b29kIGFkZHJlc3MgbWFwcy4KKyAqCisgKiBwaHlzCisgKiBlMDAwMDAwMAlQQ0llIE1lbW9yeSBzcGFjZQorICogZjEwMDAwMDAJb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICogZjIwMDAwMDAJUENJZSBJL08gc3BhY2UKKyAqIGYzMDAwMDAwCU5BTkQgY29udHJvbGxlciBhZGRyZXNzIHdpbmRvdworICoKKyAqIHZpcnQJCXBoeXMJCXNpemUKKyAqIGZlZTAwMDAwCWYxMDAwMDAwCTFNCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGZlZjAwMDAwCWYyMDAwMDAwCTFNCVBDSWUgSS9PIHNwYWNlCisgKi8KKworI2RlZmluZSBLSVJLV09PRF9OQU5EX01FTV9QSFlTX0JBU0UJMHhmMzAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9OQU5EX01FTV9TSVpFCQlTWl82NEsgLyogMUsgaXMgc3VmZmljaWVudCwgYnV0IDY0SworCQkJCQkJKiBpcyB0aGUgbWluaW1hbCB3aW5kb3cgc2l6ZQorCQkJCQkJKi8KKworI2RlZmluZSBLSVJLV09PRF9QQ0lFX0lPX1BIWVNfQkFTRQkweGYyMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX1BDSUVfSU9fVklSVF9CQVNFCTB4ZmVmMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9JT19CVVNfQkFTRQkweDAwMDAwMDAwCisjZGVmaW5lIEtJUktXT09EX1BDSUVfSU9fU0laRQkJU1pfMU0KKworI2RlZmluZSBLSVJLV09PRF9SRUdTX1BIWVNfQkFTRQkJMHhmMTAwMDAwMAorI2RlZmluZSBLSVJLV09PRF9SRUdTX1ZJUlRfQkFTRQkJMHhmZWUwMDAwMAorI2RlZmluZSBLSVJLV09PRF9SRUdTX1NJWkUJCVNaXzFNCisKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9NRU1fUEhZU19CQVNFCTB4ZTAwMDAwMDAKKyNkZWZpbmUgS0lSS1dPT0RfUENJRV9NRU1fU0laRQkJU1pfMTI4TQorCisvKgorICogTUJVUyBicmlkZ2UgcmVnaXN0ZXJzLgorICovCisjZGVmaW5lIEJSSURHRV9WSVJUX0JBU0UJKEtJUktXT09EX1JFR1NfVklSVF9CQVNFIHwgMHgyMDAwMCkKKyNkZWZpbmUgIENQVV9DT05UUk9MCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDEwNCkKKyNkZWZpbmUgICBDUFVfUkVTRVQJCTB4MDAwMDAwMDIKKyNkZWZpbmUgIFJTVE9VVG5fTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDgpCisjZGVmaW5lICAgU09GVF9SRVNFVF9PVVRfRU4JMHgwMDAwMDAwNAorI2RlZmluZSAgU1lTVEVNX1NPRlRfUkVTRVQJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMGMpCisjZGVmaW5lICAgU09GVF9SRVNFVAkJMHgwMDAwMDAwMQorI2RlZmluZSAgQlJJREdFX0NBVVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExMCkKKyNkZWZpbmUgIEJSSURHRV9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExNCkKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMAkweDAwMDIKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMV9DTFIJKH4weDAwMDQpCisjZGVmaW5lICBJUlFfVklSVF9CQVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDIwMCkKKyNkZWZpbmUgICBJUlFfQ0FVU0VfTE9XX09GRgkweDAwMDAKKyNkZWZpbmUgICBJUlFfTUFTS19MT1dfT0ZGCTB4MDAwNAorI2RlZmluZSAgIElSUV9DQVVTRV9ISUdIX09GRgkweDAwMTAKKyNkZWZpbmUgICBJUlFfTUFTS19ISUdIX09GRgkweDAwMTQKKyNkZWZpbmUgIFRJTUVSX1ZJUlRfQkFTRQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDMwMCkKKyNkZWZpbmUgIEwyX0NPTkZJR19SRUcJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTI4KQorI2RlZmluZSAgIEwyX1dSSVRFVEhST1VHSAkweDAwMDAwMDEwCisKKy8qCisgKiBSZWdpc3RlciBNYXAKKyAqLworI2RlZmluZSBERFJfVklSVF9CQVNFCQkoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UgfCAweDAwMDAwKQorI2RlZmluZSAgRERSX1dJTkRPV19DUFVfQkFTRQkoRERSX1ZJUlRfQkFTRSB8IDB4MTUwMCkKKworI2RlZmluZSBERVZfQlVTX1BIWVNfQkFTRQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSBERVZfQlVTX1ZJUlRfQkFTRQkoS0lSS1dPT0RfUkVHU19WSVJUX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSAgU0FNUExFX0FUX1JFU0VUCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzMCkKKyNkZWZpbmUgIERFVklDRV9JRAkJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgwMDM0KQorI2RlZmluZSAgUlRDX1BIWVNfQkFTRQkJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgwMzAwKQorI2RlZmluZSAgU1BJX1BIWVNfQkFTRQkJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgwNjAwKQorI2RlZmluZSAgVUFSVDBfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQwX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMV9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMTAwKQorI2RlZmluZSAgVUFSVDFfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjEwMCkKKworI2RlZmluZSBQQ0lFX1ZJUlRfQkFTRQkJKEtJUktXT09EX1JFR1NfVklSVF9CQVNFIHwgMHg0MDAwMCkKKworI2RlZmluZSBVU0JfUEhZU19CQVNFCQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDUwMDAwKQorCisjZGVmaW5lIEdFMDBfUEhZU19CQVNFCQkoS0lSS1dPT0RfUkVHU19QSFlTX0JBU0UgfCAweDcwMDAwKQorI2RlZmluZSBHRTAxX1BIWVNfQkFTRQkJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHg3NDAwMCkKKworI2RlZmluZSBTQVRBX1BIWVNfQkFTRQkJKEtJUktXT09EX1JFR1NfUEhZU19CQVNFIHwgMHg4MDAwMCkKKworCisjZGVmaW5lIEdQSU9fTUFYCQk1MAorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvbWVtb3J5LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9tZW1vcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTEwOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvbWVtb3J5LmgKQEAgLTAsMCArMSwxNCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL21lbW9yeS5oCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01FTU9SWV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfTUVNT1JZX0gKKworI2RlZmluZSBQSFlTX09GRlNFVAkJVUwoMHgwMDAwMDAwMCkKKworI2RlZmluZSBfX3ZpcnRfdG9fYnVzKHgpCV9fdmlydF90b19waHlzKHgpCisjZGVmaW5lIF9fYnVzX3RvX3ZpcnQoeCkJX19waHlzX3RvX3ZpcnQoeCkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvc3lzdGVtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRkZTdlMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3N5c3RlbS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC9zeXN0ZW0uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9TWVNURU1fSAorI2RlZmluZSBfX0FTTV9BUkNIX1NZU1RFTV9ICisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2tpcmt3b29kLmg+CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2lkbGUodm9pZCkKK3sKKwljcHVfZG9faWRsZSgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9yZXNldChjaGFyIG1vZGUpCit7CisJLyoKKwkgKiBFbmFibGUgc29mdCByZXNldCB0byBhc3NlcnQgUlNUT1VUbi4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVF9PVVRfRU4sIFJTVE9VVG5fTUFTSyk7CisKKwkvKgorCSAqIEFzc2VydCBzb2Z0IHJlc2V0LgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VULCBTWVNURU1fU09GVF9SRVNFVCk7CisKKwl3aGlsZSAoMSkKKwkJOworfQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3RpbWV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIxMjJlMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3RpbWV4LmgKQEAgLTAsMCArMSwxMSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3RpbWV4LmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjZGVmaW5lIENMT0NLX1RJQ0tfUkFURQkJKDEwMCAqIEhaKQorCisjZGVmaW5lIEtJUktXT09EX1RDTEsJCTE2NjY2NjY2NwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdW5jb21wcmVzcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2QvdW5jb21wcmVzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MDYyYjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1raXJrd29vZC91bmNvbXByZXNzLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3VuY29tcHJlc3MuaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9zZXJpYWxfcmVnLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gva2lya3dvb2QuaD4KKworI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCisKK3N0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KKworCWJhc2VbVUFSVF9UWCA8PCAyXSA9IGM7Cit9CisKK3N0YXRpYyB2b2lkIGZsdXNoKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCXVuc2lnbmVkIGNoYXIgbWFzazsKKwlpbnQgaTsKKworCW1hc2sgPSBVQVJUX0xTUl9URU1UIHwgVUFSVF9MU1JfVEhSRTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBtYXNrKSA9PSBtYXNrKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9Cit9CisKKy8qCisgKiBub3RoaW5nIHRvIGRvCisgKi8KKyNkZWZpbmUgYXJjaF9kZWNvbXBfc2V0dXAoKQorI2RlZmluZSBhcmNoX2RlY29tcF93ZG9nKCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3ZtYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3ZtYWxsb2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTg1MmM2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gta2lya3dvb2Qvdm1hbGxvYy5oCkBAIC0wLDAgKzEsNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWtpcmt3b29kL3ZtYWxsb2MuaAorICovCisKKyNkZWZpbmUgVk1BTExPQ19FTkQJMHhmZTgwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kZWJ1Zy1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NTUwMmUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RlYnVnLW1hY3JvLlMKQEAgLTAsMCArMSwyMCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZGVidWctbWFjcm8uUworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvbG9raS5oPgorCisJLm1hY3JvCWFkZHJ1YXJ0LHJ4CisJbXJjCXAxNSwgMCwgXHJ4LCBjMSwgYzAKKwl0c3QJXHJ4LCAjMQkJCQkJQCBNTVUgZW5hYmxlZD8KKwlsZHJlcQlccngsID1MT0tJX1JFR1NfUEhZU19CQVNFCisJbGRybmUJXHJ4LCA9TE9LSV9SRUdTX1ZJUlRfQkFTRQorCW9ycglccngsIFxyeCwgIzB4MDAwMTIwMDAKKwkuZW5kbQorCisjZGVmaW5lIFVBUlRfU0hJRlQJMgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9kZWJ1Zy04MjUwLlM+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2RtYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kbWEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9kbWEuaApAQCAtMCwwICsxIEBACisvKiBlbXB0eSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9lbnRyeS1tYWNyby5TIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9lbnRyeS1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5MzI1N2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2VudHJ5LW1hY3JvLlMKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvZW50cnktbWFjcm8uUworICoKKyAqIExvdy1sZXZlbCBJUlEgaGVscGVyIG1hY3JvcyBmb3IgTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgcGxhdGZvcm1zCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKworCS5tYWNybyAgZGlzYWJsZV9maXEKKwkuZW5kbQorCisJLm1hY3JvICBhcmNoX3JldF90b191c2VyLCB0bXAxLCB0bXAyCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX3ByZWFtYmxlLCBiYXNlLCB0bXAKKwlsZHIJXGJhc2UsID1JUlFfVklSVF9CQVNFCisJLmVuZG0KKworCS5tYWNybyAgZ2V0X2lycW5yX2FuZF9iYXNlLCBpcnFuciwgaXJxc3RhdCwgYmFzZSwgdG1wCisJbGRyCVxpcnFzdGF0LCBbXGJhc2UsICNJUlFfQ0FVU0VfT0ZGXQorCWxkcglcdG1wLCBbXGJhc2UsICNJUlFfTUFTS19PRkZdCisJbW92CVxpcnFuciwgIzAKKwlhbmRzCVxpcnFzdGF0LCBcaXJxc3RhdCwgXHRtcAorCWNsem5lCVxpcnFuciwgXGlycXN0YXQKKwlyc2JuZQlcaXJxbnIsIFxpcnFuciwgIzMxCisJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaGFyZHdhcmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjViMDFjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9oYXJkd2FyZS5oCkBAIC0wLDAgKzEsMTUgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2hhcmR3YXJlLmgKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9IQVJEV0FSRV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorCisjaW5jbHVkZSAibG9raS5oIgorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NDE4YTkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lvLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaW8uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9fSAorCisjaW5jbHVkZSAibG9raS5oIgorCisjZGVmaW5lIElPX1NQQUNFX0xJTUlUCQkweGZmZmZmZmZmCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2lvKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSgoYWRkciAtIExPS0lfUENJRTBfSU9fUEhZU19CQVNFKQorCQkJCQkrIExPS0lfUENJRTBfSU9fVklSVF9CQVNFKTsKK30KKworI2RlZmluZSBfX2lvKGEpCQkJX19pbyhhKQorI2RlZmluZSBfX21lbV9wY2koYSkJCShhKQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2lycXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTQ5NzE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9pcnFzLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvaXJxcy5oCisgKgorICogSVJRIGRlZmluaXRpb25zIGZvciBNYXJ2ZWxsIExva2kgKDg4UkM4NDgwKSBTb0NzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0lSUVNfSAorI2RlZmluZSBfX0FTTV9BUkNIX0lSUVNfSAorCisjaW5jbHVkZSAibG9raS5oIgkvKiBuZWVkIEdQSU9fTUFYICovCisKKy8qCisgKiBJbnRlcnJ1cHQgQ29udHJvbGxlcgorICovCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQV9DUFVfRFJCTAkwCisjZGVmaW5lIElSUV9MT0tJX0NQVV9QQ0lFX0FfRFJCTAkxCisjZGVmaW5lIElSUV9MT0tJX1BDSUVfQl9DUFVfRFJCTAkyCisjZGVmaW5lIElSUV9MT0tJX0NQVV9QQ0lFX0JfRFJCTAkzCisjZGVmaW5lIElSUV9MT0tJX0NPTV9BX0VSUgkJNgorI2RlZmluZSBJUlFfTE9LSV9DT01fQV9JTgkJNworI2RlZmluZSBJUlFfTE9LSV9DT01fQV9PVVQJCTgKKyNkZWZpbmUgSVJRX0xPS0lfQ09NX0JfRVJSCQk5CisjZGVmaW5lIElSUV9MT0tJX0NPTV9CX0lOCQkxMAorI2RlZmluZSBJUlFfTE9LSV9DT01fQl9PVVQJCTExCisjZGVmaW5lIElSUV9MT0tJX0RNQV9BCQkJMTIKKyNkZWZpbmUgSVJRX0xPS0lfRE1BX0IJCQkxMworI2RlZmluZSBJUlFfTE9LSV9TQVNfQQkJCTE0CisjZGVmaW5lIElSUV9MT0tJX1NBU19CCQkJMTUKKyNkZWZpbmUgSVJRX0xPS0lfRERSCQkJMTYKKyNkZWZpbmUgSVJRX0xPS0lfWE9SCQkJMTcKKyNkZWZpbmUgSVJRX0xPS0lfQlJJREdFCQkJMTgKKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9BX0VSUgkJMjAKKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9BX0lOVAkJMjEKKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9CX0VSUgkJMjIKKyNkZWZpbmUgSVJRX0xPS0lfUENJRV9CX0lOVAkJMjMKKyNkZWZpbmUgSVJRX0xPS0lfR0JFX0FfSU5UCQkyNAorI2RlZmluZSBJUlFfTE9LSV9HQkVfQl9JTlQJCTI1CisjZGVmaW5lIElSUV9MT0tJX0RFVl9FUlIJCTI2CisjZGVmaW5lIElSUV9MT0tJX1VBUlQwCQkJMjcKKyNkZWZpbmUgSVJRX0xPS0lfVUFSVDEJCQkyOAorI2RlZmluZSBJUlFfTE9LSV9UV1NJCQkJMjkKKyNkZWZpbmUgSVJRX0xPS0lfR1BJT18yM18wCQkzMAorI2RlZmluZSBJUlFfTE9LSV9HUElPXzI1XzI0CQkzMQorCisvKgorICogTG9raSBHZW5lcmFsIFB1cnBvc2UgUGlucworICovCisjZGVmaW5lIElSUV9MT0tJX0dQSU9fU1RBUlQJMzIKKyNkZWZpbmUgTlJfR1BJT19JUlFTCQlHUElPX01BWAorCisjZGVmaW5lIE5SX0lSUVMJCQkoSVJRX0xPS0lfR1BJT19TVEFSVCArIE5SX0dQSU9fSVJRUykKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbG9raS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9sb2tpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRkMDVlZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvbG9raS5oCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL2xva2kuaAorICoKKyAqIEdlbmVyaWMgZGVmaW5pdGlvbnMgZm9yIE1hcnZlbGwgTG9raSAoODhSQzg0ODApIFNvQyBmbGF2b3JzCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX0xPS0lfSAorI2RlZmluZSBfX0FTTV9BUkNIX0xPS0lfSAorCisvKgorICogTWFydmVsbCBMb2tpICg4OFJDODQ4MCkgYWRkcmVzcyBtYXBzLgorICoKKyAqIHBoeXMKKyAqIGQwMDAwMDAwCW9uLWNoaXAgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGUwMDAwMDAwCVBDSWUgMCBNZW1vcnkgc3BhY2UKKyAqIGU4MDAwMDAwCVBDSWUgMSBNZW1vcnkgc3BhY2UKKyAqIGYwMDAwMDAwCVBDSWUgMCBJL08gc3BhY2UKKyAqIGYwMTAwMDAwCVBDSWUgMSBJL08gc3BhY2UKKyAqCisgKiB2aXJ0CQlwaHlzCQlzaXplCisgKiBmZWQwMDAwMAlkMDAwMDAwMAkxTQlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKiBmZWUwMDAwMAlmMDAwMDAwMAk2NEsJUENJZSAwIEkvTyBzcGFjZQorICogZmVmMDAwMDAJZjAxMDAwMDAJNjRLCVBDSWUgMSBJL08gc3BhY2UKKyAqLworCisjZGVmaW5lIExPS0lfUkVHU19QSFlTX0JBU0UJCTB4ZDAwMDAwMDAKKyNkZWZpbmUgTE9LSV9SRUdTX1ZJUlRfQkFTRQkJMHhmZWQwMDAwMAorI2RlZmluZSBMT0tJX1JFR1NfU0laRQkJCVNaXzFNCisKKyNkZWZpbmUgTE9LSV9QQ0lFMF9JT19QSFlTX0JBU0UJCTB4ZjAwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMF9JT19WSVJUX0JBU0UJCTB4ZmVlMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMF9JT19CVVNfQkFTRQkJMHgwMDAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUwX0lPX1NJWkUJCVNaXzY0SworCisjZGVmaW5lIExPS0lfUENJRTFfSU9fUEhZU19CQVNFCQkweGYwMTAwMDAwCisjZGVmaW5lIExPS0lfUENJRTFfSU9fVklSVF9CQVNFCQkweGZlZjAwMDAwCisjZGVmaW5lIExPS0lfUENJRTFfSU9fQlVTX0JBU0UJCTB4MDAwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMV9JT19TSVpFCQlTWl82NEsKKworI2RlZmluZSBMT0tJX1BDSUUwX01FTV9QSFlTX0JBU0UJMHhlMDAwMDAwMAorI2RlZmluZSBMT0tJX1BDSUUwX01FTV9TSVpFCQlTWl8xMjhNCisKKyNkZWZpbmUgTE9LSV9QQ0lFMV9NRU1fUEhZU19CQVNFCTB4ZTgwMDAwMDAKKyNkZWZpbmUgTE9LSV9QQ0lFMV9NRU1fU0laRQkJU1pfMTI4TQorCisvKgorICogUmVnaXN0ZXIgTWFwCisgKi8KKyNkZWZpbmUgREVWX0JVU19QSFlTX0JBU0UJKExPS0lfUkVHU19QSFlTX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSBERVZfQlVTX1ZJUlRfQkFTRQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lICBVQVJUMF9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDBfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjAwMCkKKyNkZWZpbmUgIFVBUlQxX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMV9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMTAwKQorCisjZGVmaW5lIEJSSURHRV9WSVJUX0JBU0UJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweDIwMDAwKQorI2RlZmluZSAgQlJJREdFX1JFRyh4KQkJKEJSSURHRV9WSVJUX0JBU0UgfCAoeCkpCisjZGVmaW5lICBSU1RPVVRuX01BU0sJCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTA4KQorI2RlZmluZSAgIFNPRlRfUkVTRVRfT1VUX0VOCTB4MDAwMDAwMDQKKyNkZWZpbmUgIFNZU1RFTV9TT0ZUX1JFU0VUCShCUklER0VfVklSVF9CQVNFIHwgMHgwMTBjKQorI2RlZmluZSAgIFNPRlRfUkVTRVQJCTB4MDAwMDAwMDEKKyNkZWZpbmUgIEJSSURHRV9DQVVTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTApCisjZGVmaW5lICBCUklER0VfTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMTQpCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjEJMHgwMDA0CisjZGVmaW5lICAgQlJJREdFX0lOVF9USU1FUjFfQ0xSCTB4MDAwNAorI2RlZmluZSAgSVJRX1ZJUlRfQkFTRQkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAyMDApCisjZGVmaW5lICAgSVJRX0NBVVNFX09GRgkJMHgwMDAwCisjZGVmaW5lICAgSVJRX01BU0tfT0ZGCQkweDAwMDQKKyNkZWZpbmUgIFRJTUVSX1ZJUlRfQkFTRQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDMwMCkKKworI2RlZmluZSBQQ0lFMF9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHgzMDAwMCkKKworI2RlZmluZSBQQ0lFMV9WSVJUX0JBU0UJCShMT0tJX1JFR1NfVklSVF9CQVNFIHwgMHg0MDAwMCkKKworI2RlZmluZSBTQVMwX1BIWVNfQkFTRQkJKExPS0lfUkVHU19QSFlTX0JBU0UgfCAweDgwMDAwKQorCisjZGVmaW5lIFNBUzFfUEhZU19CQVNFCQkoTE9LSV9SRUdTX1BIWVNfQkFTRSB8IDB4OTAwMDApCisKKyNkZWZpbmUgR0UwX1BIWVNfQkFTRQkJKExPS0lfUkVHU19QSFlTX0JBU0UgfCAweGEwMDAwKQorI2RlZmluZSBHRTBfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4YTAwMDApCisKKyNkZWZpbmUgR0UxX1BIWVNfQkFTRQkJKExPS0lfUkVHU19QSFlTX0JBU0UgfCAweGIwMDAwKQorI2RlZmluZSBHRTFfVklSVF9CQVNFCQkoTE9LSV9SRUdTX1ZJUlRfQkFTRSB8IDB4YjAwMDApCisKKyNkZWZpbmUgRERSX1ZJUlRfQkFTRQkJKExPS0lfUkVHU19WSVJUX0JBU0UgfCAweGYwMDAwKQorI2RlZmluZSBERFJfUkVHKHgpCQkoRERSX1ZJUlRfQkFTRSB8ICh4KSkKKworCisjZGVmaW5lIEdQSU9fTUFYCQk4CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9tZW1vcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzUxMDFlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9tZW1vcnkuaApAQCAtMCwwICsxLDE0IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9tZW1vcnkuaAorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NRU1PUllfSAorI2RlZmluZSBfX0FTTV9BUkNIX01FTU9SWV9ICisKKyNkZWZpbmUgUEhZU19PRkZTRVQJCVVMKDB4MDAwMDAwMDApCisKKyNkZWZpbmUgX192aXJ0X3RvX2J1cyh4KQlfX3ZpcnRfdG9fcGh5cyh4KQorI2RlZmluZSBfX2J1c190b192aXJ0KHgpCV9fcGh5c190b192aXJ0KHgpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9zeXN0ZW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzU2OGFjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9zeXN0ZW0uaApAQCAtMCwwICsxLDM3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS9zeXN0ZW0uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9TWVNURU1fSAorI2RlZmluZSBfX0FTTV9BUkNIX1NZU1RFTV9ICisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2xva2kuaD4KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQoreworCWNwdV9kb19pZGxlKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3Jlc2V0KGNoYXIgbW9kZSkKK3sKKwkvKgorCSAqIEVuYWJsZSBzb2Z0IHJlc2V0IHRvIGFzc2VydCBSU1RPVVRuLgorCSAqLworCXdyaXRlbChTT0ZUX1JFU0VUX09VVF9FTiwgUlNUT1VUbl9NQVNLKTsKKworCS8qCisJICogQXNzZXJ0IHNvZnQgcmVzZXQuCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVQsIFNZU1RFTV9TT0ZUX1JFU0VUKTsKKworCXdoaWxlICgxKQorCQk7Cit9CisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3RpbWV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQwMDE0ZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdGltZXguaApAQCAtMCwwICsxLDExIEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS90aW1leC5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2RlZmluZSBDTE9DS19USUNLX1JBVEUJCSgxMDAgKiBIWikKKworI2RlZmluZSBMT0tJX1RDTEsJCTE4MDAwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS91bmNvbXByZXNzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3VuY29tcHJlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWEwY2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbG9raS91bmNvbXByZXNzLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdW5jb21wcmVzcy5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9sb2tpLmg+CisKKyNkZWZpbmUgU0VSSUFMX0JBU0UJKCh1bnNpZ25lZCBjaGFyICopVUFSVDBfUEhZU19CQVNFKQorCitzdGF0aWMgdm9pZCBwdXRjKGNvbnN0IGNoYXIgYykKK3sKKwl1bnNpZ25lZCBjaGFyICpiYXNlID0gU0VSSUFMX0JBU0U7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBVQVJUX0xTUl9USFJFKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOworfQorCitzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQorfQorCisvKgorICogbm90aGluZyB0byBkbworICovCisjZGVmaW5lIGFyY2hfZGVjb21wX3NldHVwKCkKKyNkZWZpbmUgYXJjaF9kZWNvbXBfd2RvZygpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3ZtYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLWxva2kvdm1hbGxvYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1YmUwNjIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3ZtYWxsb2MuaApAQCAtMCwwICsxLDUgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1sb2tpL3ZtYWxsb2MuaAorICovCisKKyNkZWZpbmUgVk1BTExPQ19FTkQJMHhmZTgwMDAwMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW1zbS9pcnFzLmgKaW5kZXggNTY1NDMwYy4uZTYyYTEwOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vaXJxcy5oCkBAIC0xNSw2ICsxNSw3IEBACiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01TTV9JUlFTX0gKKyNkZWZpbmUgX19BU01fQVJDSF9NU01fSVJRU19ICiAKIC8qIE1TTSBBUk0xMSBJbnRlcnJ1cHQgTnVtYmVycyAqLwogLyogU2VlIDgwLVZFMTEzLTEgQSwgcHAyMTktMjIxICAgICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXNtL3RpbWV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vdGltZXguaAppbmRleCAxNTRiMjNmLi44NzI0NDg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vdGltZXguaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tc20vdGltZXguaApAQCAtMTQsNiArMTQsNyBAQAogICovCiAKICNpZm5kZWYgX19BU01fQVJDSF9NU01fVElNRVhfSAorI2RlZmluZSBfX0FTTV9BUkNIX01TTV9USU1FWF9ICiAKICNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkxMDAwMDAwCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZGVidWctbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZGVidWctbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDU5NWJkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kZWJ1Zy1tYWNyby5TCkBAIC0wLDAgKzEsMjAgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2RlYnVnLW1hY3JvLlMKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorKi8KKworI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworCS5tYWNybwlhZGRydWFydCxyeAorCW1yYwlwMTUsIDAsIFxyeCwgYzEsIGMwCisJdHN0CVxyeCwgIzEJCQkJCUAgTU1VIGVuYWJsZWQ/CisJbGRyZXEJXHJ4LCA9TVY3OFhYMF9SRUdTX1BIWVNfQkFTRQorCWxkcm5lCVxyeCwgPU1WNzhYWDBfUkVHU19WSVJUX0JBU0UKKwlvcnIJXHJ4LCBccngsICMweDAwMDEyMDAwCisJLmVuZG0KKworI2RlZmluZSBVQVJUX1NISUZUCTIKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUvZGVidWctODI1MC5TPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9kbWEuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZG1hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhOGMxNwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZG1hLmgKQEAgLTAsMCArMSBAQAorLyogZW1wdHkgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZW50cnktbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvZW50cnktbWFjcm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWE2MDZiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9lbnRyeS1tYWNyby5TCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2VudHJ5LW1hY3JvLlMKKyAqCisgKiBMb3ctbGV2ZWwgSVJRIGhlbHBlciBtYWNyb3MgZm9yIE1hcnZlbGwgTVY3OHh4MCBwbGF0Zm9ybXMKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorCisJLm1hY3JvICBkaXNhYmxlX2ZpcQorCS5lbmRtCisKKwkubWFjcm8gIGFyY2hfcmV0X3RvX3VzZXIsIHRtcDEsIHRtcDIKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfcHJlYW1ibGUsIGJhc2UsIHRtcAorCWxkcglcYmFzZSwgPUlSUV9WSVJUX0JBU0UKKwkuZW5kbQorCisJLm1hY3JvICBnZXRfaXJxbnJfYW5kX2Jhc2UsIGlycW5yLCBpcnFzdGF0LCBiYXNlLCB0bXAKKwlAIGNoZWNrIGxvdyBpbnRlcnJ1cHRzCisJbGRyCVxpcnFzdGF0LCBbXGJhc2UsICNJUlFfQ0FVU0VfTE9XX09GRl0KKwlsZHIJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfTE9XX09GRl0KKwltb3YJXGlycW5yLCAjMzEKKwlhbmRzCVxpcnFzdGF0LCBcaXJxc3RhdCwgXHRtcAorCisJQCBpZiBubyBsb3cgaW50ZXJydXB0cyBzZXQsIGNoZWNrIGhpZ2ggaW50ZXJydXB0cworCWxkcmVxCVxpcnFzdGF0LCBbXGJhc2UsICNJUlFfQ0FVU0VfSElHSF9PRkZdCisJbGRyZXEJXHRtcCwgW1xiYXNlLCAjSVJRX01BU0tfSElHSF9PRkZdCisJbW92ZXEJXGlycW5yLCAjNjMKKwlhbmRlcXMJXGlycXN0YXQsIFxpcnFzdGF0LCBcdG1wCisKKwlAIGZpbmQgZmlyc3QgYWN0aXZlIGludGVycnVwdCBzb3VyY2UKKwljbHpuZQlcaXJxc3RhdCwgXGlycXN0YXQKKwlzdWJuZQlcaXJxbnIsIFxpcnFuciwgXGlycXN0YXQKKwkuZW5kbQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9oYXJkd2FyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMTc5MjYwCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9oYXJkd2FyZS5oCkBAIC0wLDAgKzEsMjEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2hhcmR3YXJlLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSEFSRFdBUkVfSAorI2RlZmluZSBfX0FTTV9BUkNIX0hBUkRXQVJFX0gKKworI2luY2x1ZGUgIm12Nzh4eDAuaCIKKworI2RlZmluZSBwY2liaW9zX2Fzc2lnbl9hbGxfYnVzc2VzKCkJMQorCisjZGVmaW5lIFBDSUJJT1NfTUlOX0lPCQkJMHgwMDAwMTAwMAorI2RlZmluZSBQQ0lCSU9TX01JTl9NRU0JCQkweDAxMDAwMDAwCisjZGVmaW5lIFBDSU1FTV9CQVNFCQkJTVY3OFhYMF9QQ0lFX01FTV9QSFlTX0JBU0UgLyogbWVtIGJhc2UgZm9yIFZHQSAqLworCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNWQ0YzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lvLmgKQEAgLTAsMCArMSwyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaW8uaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9JT19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSU9fSAorCisjaW5jbHVkZSAibXY3OHh4MC5oIgorCisjZGVmaW5lIElPX1NQQUNFX0xJTUlUCQkweGZmZmZmZmZmCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2lvKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlyZXR1cm4gKHZvaWQgX19pb21lbSAqKSgoYWRkciAtIE1WNzhYWDBfUENJRV9JT19QSFlTX0JBU0UoMCkpCisJCQkJCSsgTVY3OFhYMF9QQ0lFX0lPX1ZJUlRfQkFTRSgwKSk7Cit9CisKKyNkZWZpbmUgX19pbyhhKQkJCV9faW8oYSkKKyNkZWZpbmUgX19tZW1fcGNpKGEpCQkoYSkKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9pcnFzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU5MzA0NQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvaXJxcy5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL2lycXMuaAorICoKKyAqIElSUSBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQ3MKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfSVJRU19ICisjZGVmaW5lIF9fQVNNX0FSQ0hfSVJRU19ICisKKyNpbmNsdWRlICJtdjc4eHgwLmgiCS8qIG5lZWQgR1BJT19NQVggKi8KKworLyoKKyAqIE1WNzh4eDAgTG93IEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX01WNzhYWDBfRVJSCQkwCisjZGVmaW5lIElSUV9NVjc4WFgwX1NQSQkJMQorI2RlZmluZSBJUlFfTVY3OFhYMF9JMkNfMAkyCisjZGVmaW5lIElSUV9NVjc4WFgwX0kyQ18xCTMKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8wCTQKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8xCTUKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8yCTYKKyNkZWZpbmUgSVJRX01WNzhYWDBfSURNQV8zCTcKKyNkZWZpbmUgSVJRX01WNzhYWDBfVElNRVJfMAk4CisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzEJOQorI2RlZmluZSBJUlFfTVY3OFhYMF9USU1FUl8yCTEwCisjZGVmaW5lIElSUV9NVjc4WFgwX1RJTUVSXzMJMTEKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8wCTEyCisjZGVmaW5lIElSUV9NVjc4WFgwX1VBUlRfMQkxMworI2RlZmluZSBJUlFfTVY3OFhYMF9VQVJUXzIJMTQKKyNkZWZpbmUgSVJRX01WNzhYWDBfVUFSVF8zCTE1CisjZGVmaW5lIElSUV9NVjc4WFgwX1VTQl8wCTE2CisjZGVmaW5lIElSUV9NVjc4WFgwX1VTQl8xCTE3CisjZGVmaW5lIElSUV9NVjc4WFgwX1VTQl8yCTE4CisjZGVmaW5lIElSUV9NVjc4WFgwX0NSWVBUTwkxOQorI2RlZmluZSBJUlFfTVY3OFhYMF9TRElPXzAJMjAKKyNkZWZpbmUgSVJRX01WNzhYWDBfU0RJT18xCTIxCisjZGVmaW5lIElSUV9NVjc4WFgwX1hPUl8wCTIyCisjZGVmaW5lIElSUV9NVjc4WFgwX1hPUl8xCTIzCisjZGVmaW5lIElSUV9NVjc4WFgwX0kyU18wCTI0CisjZGVmaW5lIElSUV9NVjc4WFgwX0kyU18xCTI1CisjZGVmaW5lIElSUV9NVjc4WFgwX1NBVEEJMjYKKyNkZWZpbmUgSVJRX01WNzhYWDBfVERNSQkyNworCisvKgorICogTVY3OHh4MCBIaWdoIEludGVycnVwdCBDb250cm9sbGVyCisgKi8KKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMAkzMgorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzAxCTMzCisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMDIJMzQKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8wMwkzNQorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzEwCTM2CisjZGVmaW5lIElSUV9NVjc4WFgwX1BDSUVfMTEJMzcKKyNkZWZpbmUgSVJRX01WNzhYWDBfUENJRV8xMgkzOAorI2RlZmluZSBJUlFfTVY3OFhYMF9QQ0lFXzEzCTM5CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfU1VNCTQwCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDBfUlgJNDEKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMF9UWAk0MgorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAwX01JU0MJNDMKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9TVU0JNDQKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UwMV9SWAk0NQorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTAxX1RYCTQ2CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMDFfTUlTQwk0NworI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX1NVTQk0OAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTEwX1JYCTQ5CisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTBfVFgJNTAKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMF9NSVNDCTUxCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfU1VNCTUyCisjZGVmaW5lIElSUV9NVjc4WFgwX0dFMTFfUlgJNTMKKyNkZWZpbmUgSVJRX01WNzhYWDBfR0UxMV9UWAk1NAorI2RlZmluZSBJUlFfTVY3OFhYMF9HRTExX01JU0MJNTUKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT18wXzcJNTYKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT184XzE1CTU3CisjZGVmaW5lIElSUV9NVjc4WFgwX0dQSU9fMTZfMjMJNTgKKyNkZWZpbmUgSVJRX01WNzhYWDBfR1BJT18yNF8zMQk1OQorI2RlZmluZSBJUlFfTVY3OFhYMF9EQl9JTgk2MAorI2RlZmluZSBJUlFfTVY3OFhYMF9EQl9PVVQJNjEKKworLyoKKyAqIE1WNzhYWDAgR2VuZXJhbCBQdXJwb3NlIFBpbnMKKyAqLworI2RlZmluZSBJUlFfTVY3OFhYMF9HUElPX1NUQVJUCTY0CisjZGVmaW5lIE5SX0dQSU9fSVJRUwkJR1BJT19NQVgKKworI2RlZmluZSBOUl9JUlFTCQkJKElSUV9NVjc4WFgwX0dQSU9fU1RBUlQgKyBOUl9HUElPX0lSUVMpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL21lbW9yeS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjFhNmIxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaApAQCAtMCwwICsxLDE0IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC9tZW1vcnkuaAorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NRU1PUllfSAorI2RlZmluZSBfX0FTTV9BUkNIX01FTU9SWV9ICisKKyNkZWZpbmUgUEhZU19PRkZTRVQJCVVMKDB4MDAwMDAwMDApCisKKyNkZWZpbmUgX192aXJ0X3RvX2J1cyh4KQlfX3ZpcnRfdG9fcGh5cyh4KQorI2RlZmluZSBfX2J1c190b192aXJ0KHgpCV9fcGh5c190b192aXJ0KHgpCisKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbXY3OHh4MC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNWQ4M2MKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL212Nzh4eDAuaApAQCAtMCwwICsxLDEyNiBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvbXY3OHh4MC5oCisgKgorICogR2VuZXJpYyBkZWZpbml0aW9ucyBmb3IgTWFydmVsbCBNVjc4eHgwIFNvQyBmbGF2b3JzOgorICogIE1WNzgxeDAgYW5kIE1WNzgyeDAuCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01WNzhYWDBfSAorI2RlZmluZSBfX0FTTV9BUkNIX01WNzhYWDBfSAorCisvKgorICogTWFydmVsbCBNVjc4eHgwIGFkZHJlc3MgbWFwcy4KKyAqCisgKiBwaHlzCisgKiBjMDAwMDAwMAlQQ0llIE1lbW9yeSBzcGFjZQorICogZjA4MDAwMDAJUENJZSAjMCBJL08gc3BhY2UKKyAqIGYwOTAwMDAwCVBDSWUgIzEgSS9PIHNwYWNlCisgKiBmMGEwMDAwMAlQQ0llICMyIEkvTyBzcGFjZQorICogZjBiMDAwMDAJUENJZSAjMyBJL08gc3BhY2UKKyAqIGYwYzAwMDAwCVBDSWUgIzQgSS9PIHNwYWNlCisgKiBmMGQwMDAwMAlQQ0llICM1IEkvTyBzcGFjZQorICogZjBlMDAwMDAJUENJZSAjNiBJL08gc3BhY2UKKyAqIGYwZjAwMDAwCVBDSWUgIzcgSS9PIHNwYWNlCisgKiBmMTAwMDAwMAlvbi1jaGlwIHBlcmlwaGVyYWwgcmVnaXN0ZXJzCisgKgorICogdmlydAkJcGh5cwkJc2l6ZQorICogZmU0MDAwMDAJZjEwMngwMDAJMTZLCWNvcmUtc3BlY2lmaWMgcGVyaXBoZXJhbCByZWdpc3RlcnMKKyAqIGZlNzAwMDAwCWYwODAwMDAwCTFNCVBDSWUgIzAgSS9PIHNwYWNlCisgKiBmZTgwMDAwMAlmMDkwMDAwMAkxTQlQQ0llICMxIEkvTyBzcGFjZQorICogZmU5MDAwMDAJZjBhMDAwMDAJMU0JUENJZSAjMiBJL08gc3BhY2UKKyAqIGZlYTAwMDAwCWYwYjAwMDAwCTFNCVBDSWUgIzMgSS9PIHNwYWNlCisgKiBmZWIwMDAwMAlmMGMwMDAwMAkxTQlQQ0llICM0IEkvTyBzcGFjZQorICogZmVjMDAwMDAJZjBkMDAwMDAJMU0JUENJZSAjNSBJL08gc3BhY2UKKyAqIGZlZDAwMDAwCWYwZTAwMDAwCTFNCVBDSWUgIzYgSS9PIHNwYWNlCisgKiBmZWUwMDAwMAlmMGYwMDAwMAkxTQlQQ0llICM3IEkvTyBzcGFjZQorICogZmVmMDAwMDAJZjEwMDAwMDAJMU0Jb24tY2hpcCBwZXJpcGhlcmFsIHJlZ2lzdGVycworICovCisjZGVmaW5lIE1WNzhYWDBfQ09SRTBfUkVHU19QSFlTX0JBU0UJMHhmMTAyMDAwMAorI2RlZmluZSBNVjc4WFgwX0NPUkUxX1JFR1NfUEhZU19CQVNFCTB4ZjEwMjQwMDAKKyNkZWZpbmUgTVY3OFhYMF9DT1JFX1JFR1NfVklSVF9CQVNFCTB4ZmU0MDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9DT1JFX1JFR1NfU0laRQkJU1pfMTZLCisKKyNkZWZpbmUgTVY3OFhYMF9QQ0lFX0lPX1BIWVNfQkFTRShpKQkoMHhmMDgwMDAwMCArICgoaSkgPDwgMjApKQorI2RlZmluZSBNVjc4WFgwX1BDSUVfSU9fVklSVF9CQVNFKGkpCSgweGZlNzAwMDAwICsgKChpKSA8PCAyMCkpCisjZGVmaW5lIE1WNzhYWDBfUENJRV9JT19TSVpFCQlTWl8xTQorCisjZGVmaW5lIE1WNzhYWDBfUkVHU19QSFlTX0JBU0UJCTB4ZjEwMDAwMDAKKyNkZWZpbmUgTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRQkJMHhmZWYwMDAwMAorI2RlZmluZSBNVjc4WFgwX1JFR1NfU0laRQkJU1pfMU0KKworI2RlZmluZSBNVjc4WFgwX1BDSUVfTUVNX1BIWVNfQkFTRQkweGMwMDAwMDAwCisjZGVmaW5lIE1WNzhYWDBfUENJRV9NRU1fU0laRQkJMHgzMDAwMDAwMAorCisvKgorICogQ29yZS1zcGVjaWZpYyBwZXJpcGhlcmFsIHJlZ2lzdGVycy4KKyAqLworI2RlZmluZSBCUklER0VfVklSVF9CQVNFCShNVjc4WFgwX0NPUkVfUkVHU19WSVJUX0JBU0UpCisjZGVmaW5lICBDUFVfQ09OVFJPTAkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDQpCisjZGVmaW5lICAgTDJfV1JJVEVUSFJPVUdICTB4MDAwMjAwMDAKKyNkZWZpbmUgIFJTVE9VVG5fTUFTSwkJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMDgpCisjZGVmaW5lICAgU09GVF9SRVNFVF9PVVRfRU4JMHgwMDAwMDAwNAorI2RlZmluZSAgU1lTVEVNX1NPRlRfUkVTRVQJKEJSSURHRV9WSVJUX0JBU0UgfCAweDAxMGMpCisjZGVmaW5lICAgU09GVF9SRVNFVAkJMHgwMDAwMDAwMQorI2RlZmluZSAgQlJJREdFX0NBVVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExMCkKKyNkZWZpbmUgIEJSSURHRV9NQVNLCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDExNCkKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMAkweDAwMDIKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgICBCUklER0VfSU5UX1RJTUVSMV9DTFIJKH4weDAwMDQpCisjZGVmaW5lICBJUlFfVklSVF9CQVNFCQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDIwMCkKKyNkZWZpbmUgICBJUlFfQ0FVU0VfTE9XX09GRgkweDAwMDQKKyNkZWZpbmUgICBJUlFfQ0FVU0VfSElHSF9PRkYJMHgwMDA4CisjZGVmaW5lICAgSVJRX01BU0tfTE9XX09GRgkweDAwMTAKKyNkZWZpbmUgICBJUlFfTUFTS19ISUdIX09GRgkweDAwMTQKKyNkZWZpbmUgIFRJTUVSX1ZJUlRfQkFTRQkoQlJJREdFX1ZJUlRfQkFTRSB8IDB4MDMwMCkKKworLyoKKyAqIFJlZ2lzdGVyIE1hcAorICovCisjZGVmaW5lIEREUl9WSVJUX0JBU0UJCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHgwMDAwMCkKKyNkZWZpbmUgIEREUl9XSU5ET1dfQ1BVMF9CQVNFCShERFJfVklSVF9CQVNFIHwgMHgxNTAwKQorI2RlZmluZSAgRERSX1dJTkRPV19DUFUxX0JBU0UJKEREUl9WSVJUX0JBU0UgfCAweDE3MDApCisKKyNkZWZpbmUgREVWX0JVU19QSFlTX0JBU0UJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDEwMDAwKQorI2RlZmluZSBERVZfQlVTX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4MTAwMDApCisjZGVmaW5lICBTQU1QTEVfQVRfUkVTRVRfTE9XCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzMCkKKyNkZWZpbmUgIFNBTVBMRV9BVF9SRVNFVF9ISUdICShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MDAzNCkKKyNkZWZpbmUgIFVBUlQwX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIwMDApCisjZGVmaW5lICBVQVJUMF9WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMDAwKQorI2RlZmluZSAgVUFSVDFfUEhZU19CQVNFCShERVZfQlVTX1BIWVNfQkFTRSB8IDB4MjEwMCkKKyNkZWZpbmUgIFVBUlQxX1ZJUlRfQkFTRQkoREVWX0JVU19WSVJUX0JBU0UgfCAweDIxMDApCisjZGVmaW5lICBVQVJUMl9QSFlTX0JBU0UJKERFVl9CVVNfUEhZU19CQVNFIHwgMHgyMjAwKQorI2RlZmluZSAgVUFSVDJfVklSVF9CQVNFCShERVZfQlVTX1ZJUlRfQkFTRSB8IDB4MjIwMCkKKyNkZWZpbmUgIFVBUlQzX1BIWVNfQkFTRQkoREVWX0JVU19QSFlTX0JBU0UgfCAweDIzMDApCisjZGVmaW5lICBVQVJUM19WSVJUX0JBU0UJKERFVl9CVVNfVklSVF9CQVNFIHwgMHgyMzAwKQorCisjZGVmaW5lIEdFMTBfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4MzAwMDApCisjZGVmaW5lIEdFMTFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4MzQwMDApCisKKyNkZWZpbmUgUENJRTAwX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NDAwMDApCisjZGVmaW5lIFBDSUUwMV9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDQ0MDAwKQorI2RlZmluZSBQQ0lFMDJfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg0ODAwMCkKKyNkZWZpbmUgUENJRTAzX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4NGMwMDApCisKKyNkZWZpbmUgVVNCMF9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg1MDAwMCkKKyNkZWZpbmUgVVNCMV9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg1MTAwMCkKKyNkZWZpbmUgVVNCMl9QSFlTX0JBU0UJCShNVjc4WFgwX1JFR1NfUEhZU19CQVNFIHwgMHg1MjAwMCkKKworI2RlZmluZSBHRTAwX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDcwMDAwKQorI2RlZmluZSBHRTAxX1BIWVNfQkFTRQkJKE1WNzhYWDBfUkVHU19QSFlTX0JBU0UgfCAweDc0MDAwKQorCisjZGVmaW5lIFBDSUUxMF9WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDgwMDAwKQorI2RlZmluZSBQQ0lFMTFfVklSVF9CQVNFCShNVjc4WFgwX1JFR1NfVklSVF9CQVNFIHwgMHg4NDAwMCkKKyNkZWZpbmUgUENJRTEyX1ZJUlRfQkFTRQkoTVY3OFhYMF9SRUdTX1ZJUlRfQkFTRSB8IDB4ODgwMDApCisjZGVmaW5lIFBDSUUxM19WSVJUX0JBU0UJKE1WNzhYWDBfUkVHU19WSVJUX0JBU0UgfCAweDhjMDAwKQorCisjZGVmaW5lIFNBVEFfUEhZU19CQVNFCQkoTVY3OFhYMF9SRUdTX1BIWVNfQkFTRSB8IDB4YTAwMDApCisKKworI2RlZmluZSBHUElPX01BWAkJMzIKKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvc3lzdGVtLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYjQ3ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3N5c3RlbS5oCisgKgorICogVGhpcyBmaWxlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIHZlcnNpb24gMi4gIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX1NZU1RFTV9ICisjZGVmaW5lIF9fQVNNX0FSQ0hfU1lTVEVNX0gKKworI2luY2x1ZGUgPGFzbS9hcmNoL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvbXY3OHh4MC5oPgorCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9pZGxlKHZvaWQpCit7CisJY3B1X2RvX2lkbGUoKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFyY2hfcmVzZXQoY2hhciBtb2RlKQoreworCS8qCisJICogRW5hYmxlIHNvZnQgcmVzZXQgdG8gYXNzZXJ0IFJTVE9VVG4uCisJICovCisJd3JpdGVsKFNPRlRfUkVTRVRfT1VUX0VOLCBSU1RPVVRuX01BU0spOworCisJLyoKKwkgKiBBc3NlcnQgc29mdCByZXNldC4KKwkgKi8KKwl3cml0ZWwoU09GVF9SRVNFVCwgU1lTVEVNX1NPRlRfUkVTRVQpOworCisJd2hpbGUgKDEpCisJCTsKK30KKworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODU0YjFjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC90aW1leC5oCkBAIC0wLDAgKzEsOSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdGltZXguaAorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuICBUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgImFzIGlzIiB3aXRob3V0IGFueQorICogd2FycmFudHkgb2YgYW55IGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgorICovCisKKyNkZWZpbmUgQ0xPQ0tfVElDS19SQVRFCQkoMTAwICogSFopCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdW5jb21wcmVzcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiZmUwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1tdjc4eHgwL3VuY29tcHJlc3MuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC91bmNvbXByZXNzLmgKKyAqCisgKiBUaGlzIGZpbGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgdmVyc2lvbiAyLiAgVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkICJhcyBpcyIgd2l0aG91dCBhbnkKKyAqIHdhcnJhbnR5IG9mIGFueSBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqLworCisjaW5jbHVkZSA8bGludXgvc2VyaWFsX3JlZy5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL212Nzh4eDAuaD4KKworI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCisKK3N0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQoreworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoYmFzZVtVQVJUX0xTUiA8PCAyXSAmIFVBUlRfTFNSX1RIUkUpCisJCQlicmVhazsKKwkJYmFycmllcigpOworCX0KKworCWJhc2VbVUFSVF9UWCA8PCAyXSA9IGM7Cit9CisKK3N0YXRpYyB2b2lkIGZsdXNoKHZvaWQpCit7CisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCXVuc2lnbmVkIGNoYXIgbWFzazsKKwlpbnQgaTsKKworCW1hc2sgPSBVQVJUX0xTUl9URU1UIHwgVUFSVF9MU1JfVEhSRTsKKworCWZvciAoaSA9IDA7IGkgPCAweDEwMDA7IGkrKykgeworCQlpZiAoKGJhc2VbVUFSVF9MU1IgPDwgMl0gJiBtYXNrKSA9PSBtYXNrKQorCQkJYnJlYWs7CisJCWJhcnJpZXIoKTsKKwl9Cit9CisKKy8qCisgKiBub3RoaW5nIHRvIGRvCisgKi8KKyNkZWZpbmUgYXJjaF9kZWNvbXBfc2V0dXAoKQorI2RlZmluZSBhcmNoX2RlY29tcF93ZG9nKCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXY3OHh4MC92bWFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjNTEyMQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oCkBAIC0wLDAgKzEsNSBAQAorLyoKKyAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW12Nzh4eDAvdm1hbGxvYy5oCisgKi8KKworI2RlZmluZSBWTUFMTE9DX0VORAkweGZlMDAwMDAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgyN2Fkcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MjdhZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWU2NmRhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MjdhZHMuaApAQCAtMCwwICsxLDM1NCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA1LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqLworCisvKgorICogVGhlIGNvZGUgY29udGFpbmVkIGhlcmVpbiBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBWZXJzaW9uIDIgb3IgbGF0ZXIgYXQgdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CisgKgorICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5odG1sCisgKiBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQvZ3BsLmh0bWwKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMjdBRFNfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMjdBRFNfSF9fCisKKy8qIGV4dGVybmFsIGludGVycnVwdCBtdWx0aXBsZXhlciAqLworI2RlZmluZSBNWENfRVhQX0lPX0JBU0UJCShNWENfR1BJT19CQVNFICsgTVhDX01BWF9HUElPX0xJTkVTKQorCisjZGVmaW5lIE1YQ19WSVJUVUFMX0lOVFNfQkFTRQkoTVhDX0VYUF9JT19CQVNFICsgTVhDX01BWF9FWFBfSU9fTElORVMpCisjZGVmaW5lIE1YQ19TRElPMV9DQVJEX0lSUQlNWENfVklSVFVBTF9JTlRTX0JBU0UKKyNkZWZpbmUgTVhDX1NESU8yX0NBUkRfSVJRCShNWENfVklSVFVBTF9JTlRTX0JBU0UgKyAxKQorI2RlZmluZSBNWENfU0RJTzNfQ0FSRF9JUlEJKE1YQ19WSVJUVUFMX0lOVFNfQkFTRSArIDIpCisKKyNkZWZpbmUgTVhDX01BWF9CT0FSRF9JTlRTICAgICAgKE1YQ19NQVhfRVhQX0lPX0xJTkVTICsgXAorCQkJCU1YQ19NQVhfVklSVFVBTF9JTlRTKQorCisvKgorICogTVhDIFVBUlQgRVZCIGJvYXJkIGxldmVsIGNvbmZpZ3VyYXRpb25zCisgKi8KKworI2RlZmluZSBNWENfTExfRVhUVUFSVF9QQUREUgkoQ1M0X0JBU0VfQUREUiArIDB4MjAwMDApCisjZGVmaW5lIE1YQ19MTF9FWFRVQVJUX1ZBRERSCShDUzRfQkFTRV9BRERSX1ZJUlQgKyAweDIwMDAwKQorI2RlZmluZSBNWENfTExfRVhUVUFSVF8xNkJJVF9CVVMKKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUiAgICAgICBVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIgICAgICAgQUlQSV9JT19BRERSRVNTKFVBUlQxX0JBU0VfQUREUikKKworLyoKKyAqIEBuYW1lIE1lbW9yeSBTaXplIHBhcmFtZXRlcnMKKyAqLworCisvKgorICogU2l6ZSBvZiBTRFJBTSBtZW1vcnkKKyAqLworI2RlZmluZSBTRFJBTV9NRU1fU0laRSAgICAgICAgICBTWl8xMjhNCisKKy8qCisgKiBQQkMgQ29udHJvbGxlciBwYXJhbWV0ZXJzCisgKi8KKworLyoKKyAqIEJhc2UgYWRkcmVzcyBvZiBQQkMgY29udHJvbGxlciwgQ1M0CisgKi8KKyNkZWZpbmUgUEJDX0JBU0VfQUREUkVTUyAgICAgICAgMHhFQjAwMDAwMAorI2RlZmluZSBQQkNfUkVHX0FERFIob2Zmc2V0KSAgICAoUEJDX0JBU0VfQUREUkVTUyArIChvZmZzZXQpKQorCisvKgorICogUEJDIEludGVydXB0IG5hbWUgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfR1BJTzFfMCAgMAorI2RlZmluZSBQQkNfR1BJTzFfMSAgMQorI2RlZmluZSBQQkNfR1BJTzFfMiAgMgorI2RlZmluZSBQQkNfR1BJTzFfMyAgMworI2RlZmluZSBQQkNfR1BJTzFfNCAgNAorI2RlZmluZSBQQkNfR1BJTzFfNSAgNQorCisjZGVmaW5lIFBCQ19JTlRSX01BWF9OVU0gNgorI2RlZmluZSBQQkNfSU5UUl9TSEFSRURfTUFYX05VTSA4CisKKy8qIFdoZW4gdGhlIFBCQyBhZGRyZXNzIGNvbm5lY3Rpb24gaXMgZml4ZWQgaW4gaC93LCBkZWZpbmVkIGFzIDEgKi8KKyNkZWZpbmUgUEJDX0FERFJfU0ggICAgICAgICAgICAgMAorCisvKiBPZmZzZXRzIGZvciB0aGUgUEJDIENvbnRyb2xsZXIgcmVnaXN0ZXIgKi8KKy8qCisgKiBQQkMgQm9hcmQgdmVyc2lvbiByZWdpc3RlciBvZmZzZXQKKyAqLworI2RlZmluZSBQQkNfVkVSU0lPTl9SRUcgICAgICAgICBQQkNfUkVHX0FERFIoMHgwMDAwMCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAxIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDA4ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDEgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwxX0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAwQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAyIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDEwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDIgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwyX0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAxNCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAzIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDNfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDE4ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDMgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkwzX0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAxQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgY29udHJvbCByZWdpc3RlciAzIHNldCBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19CQ1RSTDRfU0VUX1JFRyAgICAgIFBCQ19SRUdfQUREUigweDAwMDIwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBCb2FyZCBjb250cm9sIHJlZ2lzdGVyIDQgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQkNUUkw0X0NMRUFSX1JFRyAgICBQQkNfUkVHX0FERFIoMHgwMDAyNCA+PiBQQkNfQUREUl9TSCkKKy8qUEJDX0FERFJfU0gKKyAqIFBCQyBCb2FyZCBzdGF0dXMgcmVnaXN0ZXIgMS4KKyAqLworI2RlZmluZSBQQkNfQlNUQVQxX1JFRyAgICAgICAgICBQQkNfUkVHX0FERFIoMHgwMDAyOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgaW50ZXJydXB0IHN0YXR1cyByZWdpc3Rlci4KKyAqLworI2RlZmluZSBQQkNfSU5UU1RBVFVTX1JFRyAgICAgICBQQkNfUkVHX0FERFIoMHgwMDAyQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgQm9hcmQgaW50ZXJydXB0IGN1cnJlbnQgc3RhdHVzIHJlZ2lzdGVyLgorICovCisjZGVmaW5lIFBCQ19JTlRDVVJSX1NUQVRVU19SRUcgIFBCQ19SRUdfQUREUigweDAwMDM0ID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFBCQyBJbnRlcnJ1cHQgbWFzayByZWdpc3RlciBzZXQgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfSU5UTUFTS19TRVRfUkVHICAgICBQQkNfUkVHX0FERFIoMHgwMDAzOCA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBQQkMgSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgY2xlYXIgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfSU5UTUFTS19DTEVBUl9SRUcgICBQQkNfUkVHX0FERFIoMHgwMDAzQyA+PiBQQkNfQUREUl9TSCkKKy8qCisgKiBFeHRlcm5hbCBVQVJUIEEuCisgKi8KKyNkZWZpbmUgUEJDX1NDMTZDNjUyX1VBUlRBX1JFRyAgUEJDX1JFR19BRERSKDB4MjAwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogVUFSVCA0IEV4cGFuZGluZyBTaWduYWwgU3RhdHVzLgorICovCisjZGVmaW5lIFBCQ19VQVJUX1NUQVRVU19SRUcgICAgIFBCQ19SRUdfQUREUigweDIyMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFVBUlQgNCBFeHBhbmRpbmcgU2lnbmFsIENvbnRyb2wgU2V0LgorICovCisjZGVmaW5lIFBCQ19VQ1RSTF9TRVRfUkVHICAgICAgIFBCQ19SRUdfQUREUigweDI0MDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIFVBUlQgNCBFeHBhbmRpbmcgU2lnbmFsIENvbnRyb2wgQ2xlYXIuCisgKi8KKyNkZWZpbmUgUEJDX1VDVFJMX0NMUl9SRUcgICAgICAgUEJDX1JFR19BRERSKDB4MjYwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXRoZXJuZXQgQ29udHJvbGxlciBJTyBiYXNlIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgUEJDX0NTODkwMEFfSU9CQVNFX1JFRyAgUEJDX1JFR19BRERSKDB4NDAwMDAgPj4gUEJDX0FERFJfU0gpCisvKgorICogRXRoZXJuZXQgQ29udHJvbGxlciBNZW1vcnkgYmFzZSBhZGRyZXNzLgorICovCisjZGVmaW5lIFBCQ19DUzg5MDBBX01FTUJBU0VfUkVHIFBCQ19SRUdfQUREUigweDQyMDAwID4+IFBCQ19BRERSX1NIKQorLyoKKyAqIEV0aGVybmV0IENvbnRyb2xsZXIgRE1BIGJhc2UgYWRkcmVzcy4KKyAqLworI2RlZmluZSBQQkNfQ1M4OTAwQV9ETUFCQVNFX1JFRyBQQkNfUkVHX0FERFIoMHg0NDAwMCA+PiBQQkNfQUREUl9TSCkKKworLyogUEJDIEJvYXJkIFZlcnNpb24gUmVnaXN0ZXIgYml0IGRlZmluaXRpb24gKi8KKyNkZWZpbmUgUEJDX1ZFUlNJT05fQURTICAgICAgICAgMHg4MDAwCS8qIEJpdDE1PTEgbWVhbnMgdmVyc2lvbiBmb3IgYWRzICovCisjZGVmaW5lIFBCQ19WRVJTSU9OX0VWQl9SRVZCICAgIDB4NDAwMAkvKiBCSVQxND0xIG1lYW5zIHZlcnNpb24gZm9yIGV2YiByZXZiICovCisKKy8qIFBCQyBCb2FyZCBDb250cm9sIFJlZ2lzdGVyIDEgYml0IGRlZmluaXRpb25zICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfRVJTVCAgICAgICAgIDB4MDAwMQkvKiBFdGhlcm5ldCBSZXNldCAqLworI2RlZmluZSBQQkNfQkNUUkwxX1VSU1QgICAgICAgICAweDAwMDIJLyogUmVzZXQgRXh0ZXJuYWwgVUFSVCBjb250cm9sbGVyICovCisjZGVmaW5lIFBCQ19CQ1RSTDFfRlJTVCAgICAgICAgIDB4MDAwNAkvKiBGRUMgUmVzZXQgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMV9FU0xFRVAgICAgICAgMHgwMDEwCS8qIEVuYWJsZSBldGhlcm5ldCBTbGVlcCAqLworI2RlZmluZSBQQkNfQkNUUkwxX0xDRE9OICAgICAgICAweDA4MDAJLyogRW5hYmxlIHRoZSBMQ0QgKi8KKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgMiBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMMl9WQ0NfRU4gICAgICAgMHgwMDA0CS8qICAgRW5hYmxlIFZDQyAqLworI2RlZmluZSBQQkNfQkNUUkwyX1ZQUF9FTiAgICAgICAweDAwMDgJLyogICBFbmFibGUgVnBwICovCisjZGVmaW5lIFBCQ19CQ1RSTDJfQVRBRkVDX0VOICAgIDBYMDAxMAorI2RlZmluZSBQQkNfQkNUUkwyX0FUQUZFQ19TRUwgICAwWDAwMjAKKyNkZWZpbmUgUEJDX0JDVFJMMl9BVEFfRU4gICAgICAgMFgwMDQwCisjZGVmaW5lIFBCQ19CQ1RSTDJfSVJEQV9TRCAgICAgIDBYMDA4MAorI2RlZmluZSBQQkNfQkNUUkwyX0lSREFfRU4gICAgICAwWDAxMDAKKyNkZWZpbmUgUEJDX0JDVFJMMl9DQ1RMMTAgICAgICAgMFgwMjAwCisjZGVmaW5lIFBCQ19CQ1RSTDJfQ0NUTDExICAgICAgIDBYMDQwMAorCisvKiBQQkMgQm9hcmQgQ29udHJvbCBSZWdpc3RlciAzIGJpdCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBQQkNfQkNUUkwzX0hTSF9FTiAgICAgICAwWDAwMjAKKyNkZWZpbmUgUEJDX0JDVFJMM19GU0hfTU9EICAgICAgMFgwMDQwCisjZGVmaW5lIFBCQ19CQ1RSTDNfT1RHX0hTX0VOICAgIDBYMDA4MAorI2RlZmluZSBQQkNfQkNUUkwzX09UR19WQlVTX0VOICAwWDAxMDAKKyNkZWZpbmUgUEJDX0JDVFJMM19GU0hfVkJVU19FTiAgMFgwMjAwCisjZGVmaW5lIFBCQ19CQ1RSTDNfVVNCX09UR19PTiAgIDBYMDgwMAorI2RlZmluZSBQQkNfQkNUUkwzX1VTQl9GU0hfT04gICAwWDEwMDAKKworLyogUEJDIEJvYXJkIENvbnRyb2wgUmVnaXN0ZXIgNCBiaXQgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgUEJDX0JDVFJMNF9SRUdFTl9TRUwgICAgMFgwMDAxCisjZGVmaW5lIFBCQ19CQ1RSTDRfVVNFUl9PRkYgICAgIDBYMDAwMgorI2RlZmluZSBQQkNfQkNUUkw0X1ZJQl9FTiAgICAgICAwWDAwMDQKKyNkZWZpbmUgUEJDX0JDVFJMNF9QV1JHVDFfRU4gICAgMFgwMDA4CisjZGVmaW5lIFBCQ19CQ1RSTDRfUFdSR1QyX0VOICAgIDBYMDAxMAorI2RlZmluZSBQQkNfQkNUUkw0X1NUREJZX1BSSSAgICAwWDAwMjAKKworI2lmbmRlZiBfX0FTU0VNQkxZX18KKy8qCisgKiBFbnVtZXJhdGlvbnMgZm9yIFNEIGNhcmRzIGFuZCBtZW1vcnkgc3RpY2sgY2FyZC4gVGhpcyBjb3JyZXNwb25kcyB0bworICogdGhlIGNhcmQgRU4gYml0cyBpbiB0aGUgSU1SOiBTRDFfRU4gfCBNU19FTiB8IFNEM19FTiB8IFNEMl9FTi4KKyAqLworZW51bSBteGNfY2FyZF9ubyB7CisJTVhDX0NBUkRfU0QyID0gMCwKKwlNWENfQ0FSRF9TRDMsCisJTVhDX0NBUkRfTVMsCisJTVhDX0NBUkRfU0QxLAorCU1YQ19DQVJEX01JTiA9IE1YQ19DQVJEX1NEMiwKKwlNWENfQ0FSRF9NQVggPSBNWENfQ0FSRF9TRDEsCit9OworI2VuZGlmCisKKyNkZWZpbmUgTVhDX0NQTERfVkVSXzFfNTAgICAgICAgMHgwMQorCisvKgorICogUEJDIEJTVEFUIFJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19CU1RBVF9QUklfSU5UICAgICAgIDBYMDAwMQorI2RlZmluZSBQQkNfQlNUQVRfVVNCX0JZUCAgICAgICAwWDAwMDIKKyNkZWZpbmUgUEJDX0JTVEFUX0FUQV9JT0NTMTYgICAgMFgwMDA0CisjZGVmaW5lIFBCQ19CU1RBVF9BVEFfQ0JMSUQgICAgIDBYMDAwOAorI2RlZmluZSBQQkNfQlNUQVRfQVRBX0RBU1AgICAgICAwWDAwMTAKKyNkZWZpbmUgUEJDX0JTVEFUX1BXUl9SRFkgICAgICAgMFgwMDIwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDNfV1AgICAgICAgIDBYMDEwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QyX1dQICAgICAgICAwWDAyMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMV9XUCAgICAgICAgMFgwNDAwCisjZGVmaW5lIFBCQ19CU1RBVF9TRDNfREVUICAgICAgIDBYMDgwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QyX0RFVCAgICAgICAwWDEwMDAKKyNkZWZpbmUgUEJDX0JTVEFUX1NEMV9ERVQgICAgICAgMFgyMDAwCisjZGVmaW5lIFBCQ19CU1RBVF9NU19ERVQgICAgICAgIDBYNDAwMAorI2RlZmluZSBQQkNfQlNUQVRfU0QzX0RFVF9CSVQgICAxMQorI2RlZmluZSBQQkNfQlNUQVRfU0QyX0RFVF9CSVQgICAxMgorI2RlZmluZSBQQkNfQlNUQVRfU0QxX0RFVF9CSVQgICAxMworI2RlZmluZSBQQkNfQlNUQVRfTVNfREVUX0JJVCAgICAxNAorI2RlZmluZSBNWENfQlNUQVRfQklUKG4pICAgICAgICAoKG4gPT0gTVhDX0NBUkRfU0QyKSA/IFBCQ19CU1RBVF9TRDJfREVUIDogXAorCQkJCSAoKG4gPT0gTVhDX0NBUkRfU0QzKSA/IFBCQ19CU1RBVF9TRDNfREVUIDogXAorCQkJCSAoKG4gPT0gTVhDX0NBUkRfU0QxKSA/IFBCQ19CU1RBVF9TRDFfREVUIDogXAorCQkJCSAoKG4gPT0gTVhDX0NBUkRfTVMpID8gUEJDX0JTVEFUX01TX0RFVCA6IFwKKwkJCQkJMHgwKSkpKQorCisvKgorICogUEJDIFVBUlQgQ29udHJvbCBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfVUNUUkxfRENFX0RDRCAgICAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX1VDVFJMX0RDRV9EU1IgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19VQ1RSTF9EQ0VfUkkgICAgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfVUNUUkxfRFRFX0RUUiAgICAgICAwWDAxMDAKKworLyoKKyAqIFBCQyBVQVJUIFN0YXR1cyBSZWdpc3RlciBiaXQgZGVmaW5pdGlvbnMKKyAqLworI2RlZmluZSBQQkNfVVNUQVRfRFRFX0RDRCAgICAgICAwWDAwMDEKKyNkZWZpbmUgUEJDX1VTVEFUX0RURV9EU1IgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19VU1RBVF9EVEVfUkkgICAgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfVVNUQVRfRENFX0RUUiAgICAgICAwWDAxMDAKKworLyoKKyAqIFBCQyBJbnRlcnVwdCBtYXNrIHJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucworICovCisjZGVmaW5lIFBCQ19JTlRSX1NEM19SX0VOX0JJVCAgIDQKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX1JfRU5fQklUICAgMAorI2RlZmluZSBQQkNfSU5UUl9TRDFfUl9FTl9CSVQgICA2CisjZGVmaW5lIFBCQ19JTlRSX01TX1JfRU5fQklUICAgIDUKKyNkZWZpbmUgUEJDX0lOVFJfU0QzX0VOX0JJVCAgICAgMTMKKyNkZWZpbmUgUEJDX0lOVFJfU0QyX0VOX0JJVCAgICAgMTIKKyNkZWZpbmUgUEJDX0lOVFJfTVNfRU5fQklUICAgICAgMTQKKyNkZWZpbmUgUEJDX0lOVFJfU0QxX0VOX0JJVCAgICAgMTUKKworI2RlZmluZSBQQkNfSU5UUl9TRDJfUl9FTiAgICAgICAweDAwMDEKKyNkZWZpbmUgUEJDX0lOVFJfTE9XX0JBVCAgICAgICAgMFgwMDAyCisjZGVmaW5lIFBCQ19JTlRSX09UR19GU09WRVIgICAgIDBYMDAwNAorI2RlZmluZSBQQkNfSU5UUl9GU0hfT1ZFUiAgICAgICAwWDAwMDgKKyNkZWZpbmUgUEJDX0lOVFJfU0QzX1JfRU4gICAgICAgMHgwMDEwCisjZGVmaW5lIFBCQ19JTlRSX01TX1JfRU4gICAgICAgIDB4MDAyMAorI2RlZmluZSBQQkNfSU5UUl9TRDFfUl9FTiAgICAgICAweDAwNDAKKyNkZWZpbmUgUEJDX0lOVFJfRkVDX0lOVCAgICAgICAgMFgwMDgwCisjZGVmaW5lIFBCQ19JTlRSX0VORVRfSU5UICAgICAgIDBYMDEwMAorI2RlZmluZSBQQkNfSU5UUl9PVEdGU19JTlQgICAgICAwWDAyMDAKKyNkZWZpbmUgUEJDX0lOVFJfWFVBUlRfSU5UICAgICAgMFgwNDAwCisjZGVmaW5lIFBCQ19JTlRSX0NDVEwxMiAgICAgICAgIDBYMDgwMAorI2RlZmluZSBQQkNfSU5UUl9TRDJfRU4gICAgICAgICAweDEwMDAKKyNkZWZpbmUgUEJDX0lOVFJfU0QzX0VOICAgICAgICAgMHgyMDAwCisjZGVmaW5lIFBCQ19JTlRSX01TX0VOICAgICAgICAgIDB4NDAwMAorI2RlZmluZSBQQkNfSU5UUl9TRDFfRU4gICAgICAgICAweDgwMDAKKworCisKKy8qIEZvciBpbnRlcnJ1cHRzIGxpa2UgeHVhcnQsIGVuZXQgZXRjICovCisjZGVmaW5lIEVYUElPX1BBUkVOVF9JTlQgICAgICAgIElPTVVYX1RPX0lSUShNWDI3X1BJTl9USU4pCisjZGVmaW5lIE1YQ19NQVhfRVhQX0lPX0xJTkVTICAgIDE2CisKKy8qCisgKiBUaGlzIGNvcnJlc3BvbmRzIHRvIFBCQ19JTlRNQVNLX1NFVF9SRUcgYXQgb2Zmc2V0IDB4MzguCisgKgorICovCisjZGVmaW5lIEVYUElPX0lOVF9MT1dfQkFUICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxKQorI2RlZmluZSBFWFBJT19JTlRfT1RHX0ZTX09WUiAgICAoTVhDX0VYUF9JT19CQVNFICsgMikKKyNkZWZpbmUgRVhQSU9fSU5UX0ZTSF9PVlIgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDMpCisjZGVmaW5lIEVYUElPX0lOVF9SRVM0ICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA0KQorI2RlZmluZSBFWFBJT19JTlRfUkVTNSAgICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgNSkKKyNkZWZpbmUgRVhQSU9fSU5UX1JFUzYgICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDYpCisjZGVmaW5lIEVYUElPX0lOVF9GRUMgICAgICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyA3KQorI2RlZmluZSBFWFBJT19JTlRfRU5FVF9JTlQgICAgICAoTVhDX0VYUF9JT19CQVNFICsgOCkKKyNkZWZpbmUgRVhQSU9fSU5UX09UR19GU19JTlQgICAgKE1YQ19FWFBfSU9fQkFTRSArIDkpCisjZGVmaW5lIEVYUElPX0lOVF9YVUFSVF9JTlRBICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMCkKKyNkZWZpbmUgRVhQSU9fSU5UX0NDVEwxMl9JTlQgICAgKE1YQ19FWFBfSU9fQkFTRSArIDExKQorI2RlZmluZSBFWFBJT19JTlRfU0QyX0VOICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTIpCisjZGVmaW5lIEVYUElPX0lOVF9TRDNfRU4gICAgICAgIChNWENfRVhQX0lPX0JBU0UgKyAxMykKKyNkZWZpbmUgRVhQSU9fSU5UX01TX0VOICAgICAgICAgKE1YQ19FWFBfSU9fQkFTRSArIDE0KQorI2RlZmluZSBFWFBJT19JTlRfU0QxX0VOICAgICAgICAoTVhDX0VYUF9JT19CQVNFICsgMTUpCisKKy8qCisgKiBUaGlzIGlzIFN5c3RlbSBJUlEgdXNlZCBieSBDUzg5MDBBIGZvciBpbnRlcnJ1cHQgZ2VuZXJhdGlvbgorICogdGFrZW4gZnJvbSBwbGF0Zm9ybS5oCisgKi8KKyNkZWZpbmUgQ1M4OTAwQUlSUSAgICAgICAgICAgICAgRVhQSU9fSU5UX0VORVRfSU5UCisvKiBUaGlzIGlzIEkvTyBCYXNlIGFkZHJlc3MgdXNlZCB0byBhY2Nlc3MgcmVnaXN0ZXJzIG9mIENTODkwMEEgb24gTVhDIEFEUyAqLworI2RlZmluZSBDUzg5MDBBX0JBU0VfQUREUkVTUyAgICAoUEJDX0NTODkwMEFfSU9CQVNFX1JFRyArIDB4MzAwKQorCisjZGVmaW5lIE1YQ19QTUlDX0lOVF9MSU5FICAgICAgIElPTVVYX1RPX0lSUShNWDI3X1BJTl9UT1VUKQorCisvKgorKiBUaGlzIGlzIHVzZWQgdG8gZGV0ZWN0IGlmIHRoZSBDUExEIHZlcnNpb24gaXMgZm9yIG14MjcgZXZiIGJvYXJkIHJldi1hCisqLworI2RlZmluZSBQQkNfQ1BMRF9WRVJTSU9OX0lTX1JFVkEoKSBcCisJKChfX3Jhd19yZWFkdyhQQkNfVkVSU0lPTl9SRUcpICYgXAorCShQQkNfVkVSU0lPTl9BRFMgfCBQQkNfVkVSU0lPTl9FVkJfUkVWQikpXAorCT09IDApCisKKy8qIFRoaXMgaXMgdXNlZCB0byBhY3RpdmUgb3IgaW5hY3RpdmUgYXRhIHNpZ25hbCBpbiBDUExEIC4KKyAqICBJdCBpcyBkZXBlbmRlbnQgd2l0aCBoYXJkd2FyZQorICovCisjZGVmaW5lIFBCQ19BVEFfU0lHTkFMX0FDVElWRSgpIFwKKwlfX3Jhd193cml0ZXcoICAgICAgICAgICBcCisJCVBCQ19CQ1RSTDJfQVRBRkVDX0VOfFBCQ19CQ1RSTDJfQVRBRkVDX1NFTHxQQkNfQkNUUkwyX0FUQV9FTiwgXAorCQlQQkNfQkNUUkwyX0NMRUFSX1JFRykKKworI2RlZmluZSBQQkNfQVRBX1NJR05BTF9JTkFDVElWRSgpIFwKKwlfX3Jhd193cml0ZXcoICBcCisJCVBCQ19CQ1RSTDJfQVRBRkVDX0VOfFBCQ19CQ1RSTDJfQVRBRkVDX1NFTHxQQkNfQkNUUkwyX0FUQV9FTiwgXAorCQlQQkNfQkNUUkwyX1NFVF9SRUcpCisKKyNkZWZpbmUgTVhDX0JEX0xFRDEgICAgICAgICAgICAgKDEgPDwgNSkKKyNkZWZpbmUgTVhDX0JEX0xFRDIgICAgICAgICAgICAgKDEgPDwgNikKKyNkZWZpbmUgTVhDX0JEX0xFRF9PTihsZWQpIFwKKwlfX3Jhd193cml0ZXcobGVkLCBQQkNfQkNUUkwxX1NFVF9SRUcpCisjZGVmaW5lIE1YQ19CRF9MRURfT0ZGKGxlZCkgXAorCV9fcmF3X3dyaXRldyhsZWQsIFBCQ19CQ1RSTDFfQ0xFQVJfUkVHKQorCisvKiB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgZXh0ZXJuYWwgY3J5c3RhbCByZWZlcmVuY2UgKi8KKyNkZWZpbmUgQ0tJSF8yN01IWl9CSVRfU0VUICAgICAgKDEgPDwgMykKKworI2VuZGlmCQkJCS8qIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMjdBRFNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFhZHMuaAppbmRleCA4NTkwMTI3Li4xYmM2ZmIwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtbXgzMWFkcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxYWRzLmgKQEAgLTEwOSw0ICsxMDksOSBAQAogCiAjZGVmaW5lIE1YQ19NQVhfRVhQX0lPX0xJTkVTCTE2CiAKKy8qIG1hbmRhdG9yeSBmb3IgQ09ORklHX0xMX0RFQlVHICovCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCUFJUFMxX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCiAjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUFEU19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxbGl0ZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLW14MzFsaXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRlNWNmNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1teDMxbGl0ZS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICovCisKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQk9BUkRfTVgzMUxJVEVfSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX01YMzFMSVRFX0hfXworCisjZGVmaW5lIE1YQ19NQVhfRVhQX0lPX0xJTkVTCTE2CisKKworLyoKKyAqIE1lbW9yeSBTaXplIHBhcmFtZXRlcnMKKyAqLworCisvKgorICogU2l6ZSBvZiBTRFJBTSBtZW1vcnkKKyAqLworI2RlZmluZSBTRFJBTV9NRU1fU0laRQkJU1pfMTI4TQorLyoKKyAqIFNpemUgb2YgTUJYIGJ1ZmZlciBtZW1vcnkKKyAqLworI2RlZmluZSBNWENfTUJYX01FTV9TSVpFCVNaXzE2TQorLyoKKyAqIFNpemUgb2YgbWVtb3J5IGF2YWlsYWJsZSB0byBrZXJuZWwKKyAqLworI2RlZmluZSBNRU1fU0laRQkJKFNEUkFNX01FTV9TSVpFIC0gTVhDX01CWF9NRU1fU0laRSkKKworI2RlZmluZSBNWENfTExfVUFSVF9QQUREUglVQVJUMV9CQVNFX0FERFIKKyNkZWZpbmUgTVhDX0xMX1VBUlRfVkFERFIJQUlQUzFfSU9fQUREUkVTUyhVQVJUMV9CQVNFX0FERFIpCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9NWDMxQURTX0hfXyAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM3LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIyMzJiYQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ib2FyZC1wY20wMzcuaApAQCAtMCwwICsxLDI3IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM3X0hfXworI2RlZmluZSBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzdfSF9fCisKKy8qIG1hbmRhdG9yeSBmb3IgQ09ORklHX0xMX0RFQlVHICovCisKKyNkZWZpbmUgTVhDX0xMX1VBUlRfUEFERFIJVUFSVDFfQkFTRV9BRERSCisjZGVmaW5lIE1YQ19MTF9VQVJUX1ZBRERSCUFJUFMxX0lPX0FERFJFU1MoVUFSVDFfQkFTRV9BRERSKQorCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM3X0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzOC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2JvYXJkLXBjbTAzOC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MGM2MmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvYm9hcmQtcGNtMDM4LmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBKdWVyZ2VuIEJlaXNlcnQgKGtlcm5lbEBwZW5ndXRyb25peC5kZSkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0JPQVJEX1BDTTAzOF9IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQk9BUkRfUENNMDM4X0hfXworCisvKiBtYW5kYXRvcnkgZm9yIENPTkZJR19MTF9ERUJVRyAqLworCisjZGVmaW5lIE1YQ19MTF9VQVJUX1BBRERSCVVBUlQxX0JBU0VfQUREUgorI2RlZmluZSBNWENfTExfVUFSVF9WQUREUgkoQUlQSV9CQVNFX0FERFJfVklSVCArIDB4MEEwMDApCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisvKgorICogVGhpcyBDUFUgbW9kdWxlIG5lZWRzIGEgYmFzZWJvYXJkIHRvIHdvcmsuIEFmdGVyIGJhc2ljIGluaXRpYWxpemluZworICogaXRzIG93biBkZXZpY2VzLCBpdCBjYWxscyBiYXNlYm9hcmQncyBpbml0IGZ1bmN0aW9uLgorICogVE9ETzogQWRkIHlvdXIgb3duIGJhc2Vib2FyZCBpbml0IGZ1bmN0aW9uIGFuZCBjYWxsIGl0IGZyb20KKyAqIGluc2lkZSBwY20wMzhfaW5pdCgpLgorICoKKyAqIFRoaXMgZXhhbXBsZSBoZXJlIGlzIGZvciB0aGUgZGV2ZWxvcG1lbnQgYm9hcmQuIFJlZmVyIHBjbTk3MC1iYXNlYm9hcmQuYworICovCisKK2V4dGVybiB2b2lkIHBjbTk3MF9iYXNlYm9hcmRfaW5pdCh2b2lkKTsKKworI2VuZGlmCisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19CT0FSRF9QQ00wMzhfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY2xvY2suaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jbG9jay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Y2FhMmIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY2xvY2suaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IDIwMDUtMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BICAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19DTE9DS19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfQ0xPQ0tfSF9fCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorCitzdHJ1Y3QgbW9kdWxlOworCitzdHJ1Y3QgY2xrIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CisJc3RydWN0IG1vZHVsZSAqb3duZXI7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgaWQ7CisJLyogU291cmNlIGNsb2NrIHRoaXMgY2xrIGRlcGVuZHMgb24gKi8KKwlzdHJ1Y3QgY2xrICpwYXJlbnQ7CisJLyogU2Vjb25kYXJ5IGNsb2NrIHRvIGVuYWJsZS9kaXNhYmxlIHdpdGggdGhpcyBjbG9jayAqLworCXN0cnVjdCBjbGsgKnNlY29uZGFyeTsKKwkvKiBSZWZlcmVuY2UgY291bnQgb2YgY2xvY2sgZW5hYmxlL2Rpc2FibGUgKi8KKwlfX3M4IHVzZWNvdW50OworCS8qIFJlZ2lzdGVyIGJpdCBwb3NpdGlvbiBmb3IgY2xvY2sncyBlbmFibGUvZGlzYWJsZSBjb250cm9sLiAqLworCXU4IGVuYWJsZV9zaGlmdDsKKwkvKiBSZWdpc3RlciBhZGRyZXNzIGZvciBjbG9jaydzIGVuYWJsZS9kaXNhYmxlIGNvbnRyb2wuICovCisJdTMyIGVuYWJsZV9yZWc7CisJdTMyIGZsYWdzOworCS8qIGdldCB0aGUgY3VycmVudCBjbG9jayByYXRlIChhbHdheXMgYSBmcmVzaCB2YWx1ZSkgKi8KKwl1bnNpZ25lZCBsb25nICgqZ2V0X3JhdGUpIChzdHJ1Y3QgY2xrICopOworCS8qIEZ1bmN0aW9uIHB0ciB0byBzZXQgdGhlIGNsb2NrIHRvIGEgbmV3IHJhdGUuIFRoZSByYXRlIG11c3QgbWF0Y2ggYQorCSAgIHN1cHBvcnRlZCByYXRlIHJldHVybmVkIGZyb20gcm91bmRfcmF0ZS4gTGVhdmUgYmxhbmsgaWYgY2xvY2sgaXMgbm90CisJICAgcHJvZ3JhbW1hYmxlICovCisJaW50ICgqc2V0X3JhdGUpIChzdHJ1Y3QgY2xrICosIHVuc2lnbmVkIGxvbmcpOworCS8qIEZ1bmN0aW9uIHB0ciB0byByb3VuZCB0aGUgcmVxdWVzdGVkIGNsb2NrIHJhdGUgdG8gdGhlIG5lYXJlc3QKKwkgICBzdXBwb3J0ZWQgcmF0ZSB0aGF0IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcmVxdWVzdGVkIHJhdGUuICovCisJdW5zaWduZWQgbG9uZyAoKnJvdW5kX3JhdGUpIChzdHJ1Y3QgY2xrICosIHVuc2lnbmVkIGxvbmcpOworCS8qIEZ1bmN0aW9uIHB0ciB0byBlbmFibGUgdGhlIGNsb2NrLiBMZWF2ZSBibGFuayBpZiBjbG9jayBjYW4gbm90CisJICAgYmUgZ2F0ZWQuICovCisJaW50ICgqZW5hYmxlKSAoc3RydWN0IGNsayAqKTsKKwkvKiBGdW5jdGlvbiBwdHIgdG8gZGlzYWJsZSB0aGUgY2xvY2suIExlYXZlIGJsYW5rIGlmIGNsb2NrIGNhbiBub3QKKwkgICBiZSBnYXRlZC4gKi8KKwl2b2lkICgqZGlzYWJsZSkgKHN0cnVjdCBjbGsgKik7CisJLyogRnVuY3Rpb24gcHRyIHRvIHNldCB0aGUgcGFyZW50IGNsb2NrIG9mIHRoZSBjbG9jay4gKi8KKwlpbnQgKCpzZXRfcGFyZW50KSAoc3RydWN0IGNsayAqLCBzdHJ1Y3QgY2xrICopOworfTsKKworaW50IGNsa19yZWdpc3RlcihzdHJ1Y3QgY2xrICpjbGspOwordm9pZCBjbGtfdW5yZWdpc3RlcihzdHJ1Y3QgY2xrICpjbGspOworCisjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCisjZW5kaWYgLyogX19BU01fQVJDSF9NWENfQ0xPQ0tfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvY29tbW9uLmgKaW5kZXggMjNiNDM1MC4uYTZkMmUyNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2NvbW1vbi5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9jb21tb24uaApAQCAtMTEsMTAgKzExLDEwIEBACiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0NPTU1PTl9IX18KICNkZWZpbmUgX19BU01fQVJDSF9NWENfQ09NTU9OX0hfXwogCi1zdHJ1Y3Qgc3lzX3RpbWVyOwotCiBleHRlcm4gdm9pZCBteGNfbWFwX2lvKHZvaWQpOwogZXh0ZXJuIHZvaWQgbXhjX2luaXRfaXJxKHZvaWQpOwotZXh0ZXJuIHN0cnVjdCBzeXNfdGltZXIgbXhjX3RpbWVyOworZXh0ZXJuIHZvaWQgbXhjX3RpbWVyX2luaXQoY29uc3QgY2hhciAqY2xrX3RpbWVyKTsKK2V4dGVybiBpbnQgbXhjX2Nsb2Nrc19pbml0KHVuc2lnbmVkIGxvbmcgZnJlZik7CitleHRlcm4gaW50IG14Y19yZWdpc3Rlcl9ncGlvcyh2b2lkKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZGVidWctbWFjcm8uUyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9kZWJ1Zy1tYWNyby5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3NTA4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZGVidWctbWFjcm8uUwpAQCAtMCwwICsxLDQ5IEBACisvKiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vYXJjaC1pbXgvZGVidWctbWFjcm8uUworICoKKyAqIERlYnVnZ2luZyBtYWNybyBpbmNsdWRlIGhlYWRlcgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBSdXNzZWxsIEtpbmcKKyAqICBNb3ZlZCBmcm9tIGxpbnV4L2FyY2gvYXJtL2tlcm5lbC9kZWJ1Zy5TIGJ5IEJlbiBEb29rcworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICovCisKKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorCisjaWZkZWYgQ09ORklHX01BQ0hfTVgzMUFEUworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MzFhZHMuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX1BDTTAzNworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLXBjbTAzNy5oPgorI2VuZGlmCisjaWZkZWYgQ09ORklHX01BQ0hfTVgzMUxJVEUKKyNpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxbGl0ZS5oPgorI2VuZGlmCisjaWZkZWYgQ09ORklHX01BQ0hfTVgyN0FEUworI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLW14MjdhZHMuaD4KKyNlbmRpZgorI2lmZGVmIENPTkZJR19NQUNIX1BDTTAzOAorI2luY2x1ZGUgPGFzbS9hcmNoL2JvYXJkLXBjbTAzOC5oPgorI2VuZGlmCisJCS5tYWNybwlhZGRydWFydCxyeAorCQltcmMJcDE1LCAwLCBccngsIGMxLCBjMAorCQl0c3QJXHJ4LCAjMQkJCUAgTU1VIGVuYWJsZWQ/CisJCWxkcmVxCVxyeCwgPU1YQ19MTF9VQVJUX1BBRERSCUAgcGh5c2ljYWwKKwkJbGRybmUJXHJ4LCA9TVhDX0xMX1VBUlRfVkFERFIJQCB2aXJ0dWFsCisJCS5lbmRtCisKKwkJLm1hY3JvCXNlbmR1YXJ0LHJkLHJ4CisJCXN0cglccmQsIFtccngsICMweDQwXQlAIFRYREFUQQorCQkuZW5kbQorCisJCS5tYWNybwl3YWl0dWFydCxyZCxyeAorCQkuZW5kbQorCisJCS5tYWNybwlidXN5dWFydCxyZCxyeAorMTAwMjoJCWxkcglccmQsIFtccngsICMweDk4XQlAIFNSMgorCQl0c3QJXHJkLCAjMSA8PCAzCQlAIFRYREMKKwkJYmVxCTEwMDJiCQkJQCB3YWl0IHVudGlsIHRyYW5zbWl0IGRvbmUKKwkJLmVuZG0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZ3Bpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOTNlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvZ3Bpby5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNyBGcmVlc2NhbGUgU2VtaWNvbmR1Y3RvciwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IDIwMDggSnVlcmdlbiBCZWlzZXJ0LCBrZXJuZWxAcGVuZ3V0cm9uaXguZGUKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0dQSU9fSF9fCisjZGVmaW5lIF9fQVNNX0FSQ0hfTVhDX0dQSU9fSF9fCisKKyNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CisKKy8qIHVzZSBncGlvbGliIGRpc3BhdGNoZXJzICovCisjZGVmaW5lIGdwaW9fZ2V0X3ZhbHVlCQlfX2dwaW9fZ2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fc2V0X3ZhbHVlCQlfX2dwaW9fc2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fY2Fuc2xlZXAJCV9fZ3Bpb19jYW5zbGVlcAorCisjZGVmaW5lIGdwaW9fdG9faXJxKGdwaW8pCShNWENfTUFYX0lOVF9MSU5FUyArIChncGlvKSkKKyNkZWZpbmUgaXJxX3RvX2dwaW8oaXJxKQkoKGlycSkgLSBNWENfTUFYX0lOVF9MSU5FUykKKworc3RydWN0IG14Y19ncGlvX3BvcnQgeworCXZvaWQgX19pb21lbSAqYmFzZTsKKwlpbnQgaXJxOworCWludCB2aXJ0dWFsX2lycV9zdGFydDsKKwlzdHJ1Y3QgZ3Bpb19jaGlwIGNoaXA7Cit9OworCitpbnQgbXhjX2dwaW9faW5pdChzdHJ1Y3QgbXhjX2dwaW9fcG9ydCosIGludCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaAppbmRleCBlODdmZjA2Li4zN2NkZGJhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaGFyZHdhcmUuaApAQCAtMSwxMSArMSwyMCBAQAogLyoKLSAqICBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKi8KLQotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCiAjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0hBUkRXQVJFX0hfXwpAQCAtMTcsMTUgKzI2LDEyIEBACiAjIGluY2x1ZGUgPGFzbS9hcmNoL214MzEuaD4KICNlbmRpZgogCi0jaW5jbHVkZSA8YXNtL2FyY2gvbXhjLmg+Ci0KLS8qCi0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIEJvYXJkIHNwZWNpZmljIGRlZmluZXMKLSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICovCi0jaWZkZWYgQ09ORklHX01BQ0hfTVgzMUFEUwotIyBpbmNsdWRlIDxhc20vYXJjaC9ib2FyZC1teDMxYWRzLmg+CisjaWZkZWYgQ09ORklHX0FSQ0hfTVgyCisjIGlmZGVmIENPTkZJR19NQUNIX01YMjcKKyMgIGluY2x1ZGUgPGFzbS9hcmNoL214MjcuaD4KKyMgZW5kaWYKICNlbmRpZgogCisjaW5jbHVkZSA8YXNtL2FyY2gvbXhjLmg+CisKICNlbmRpZiAvKiBfX0FTTV9BUkNIX01YQ19IQVJEV0FSRV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9paW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9paW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTViZmZhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lpbS5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgMjAwOCBKdWVyZ2VuIEJlaXNlcnQsIGtlcm5lbEBwZW5ndXRyb25peC5kZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfTVhDX0lJTV9IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfSUlNX0hfXworCisvKiBSZWdpc3RlciBvZmZzZXRzICovCisjZGVmaW5lIE1YQ19JSU1TVEFUICAgICAgICAgICAgIDB4MDAwMAorI2RlZmluZSBNWENfSUlNU1RBVE0gICAgICAgICAgICAweDAwMDQKKyNkZWZpbmUgTVhDX0lJTUVSUiAgICAgICAgICAgICAgMHgwMDA4CisjZGVmaW5lIE1YQ19JSU1FTUFTSyAgICAgICAgICAgIDB4MDAwQworI2RlZmluZSBNWENfSUlNRkNUTCAgICAgICAgICAgICAweDAwMTAKKyNkZWZpbmUgTVhDX0lJTVVBICAgICAgICAgICAgICAgMHgwMDE0CisjZGVmaW5lIE1YQ19JSU1MQSAgICAgICAgICAgICAgIDB4MDAxOAorI2RlZmluZSBNWENfSUlNU0RBVCAgICAgICAgICAgICAweDAwMUMKKyNkZWZpbmUgTVhDX0lJTVBSRVYgICAgICAgICAgICAgMHgwMDIwCisjZGVmaW5lIE1YQ19JSU1TUkVWICAgICAgICAgICAgIDB4MDAyNAorI2RlZmluZSBNWENfSUlNUFJHX1AgICAgICAgICAgICAweDAwMjgKKyNkZWZpbmUgTVhDX0lJTVNDUzAgICAgICAgICAgICAgMHgwMDJDCisjZGVmaW5lIE1YQ19JSU1TQ1MxICAgICAgICAgICAgIDB4MDAzMAorI2RlZmluZSBNWENfSUlNU0NTMiAgICAgICAgICAgICAweDAwMzQKKyNkZWZpbmUgTVhDX0lJTVNDUzMgICAgICAgICAgICAgMHgwMDM4CisjZGVmaW5lIE1YQ19JSU1GQkFDMCAgICAgICAgICAgIDB4MDgwMAorI2RlZmluZSBNWENfSUlNSkFDICAgICAgICAgICAgICAweDA4MDQKKyNkZWZpbmUgTVhDX0lJTUhXVjEgICAgICAgICAgICAgMHgwODA4CisjZGVmaW5lIE1YQ19JSU1IV1YyICAgICAgICAgICAgIDB4MDgwQworI2RlZmluZSBNWENfSUlNSEFCMCAgICAgICAgICAgICAweDA4MTAKKyNkZWZpbmUgTVhDX0lJTUhBQjEgICAgICAgICAgICAgMHgwODE0CisvKiBEZWZpbml0aW9ucyBmb3IgaS5NWDI3IFRPMiAqLworI2RlZmluZSBNWENfSUlNTUFDICAgICAgICAgICAgICAweDA4MTQKKyNkZWZpbmUgTVhDX0lJTVBSRVZfRlVTRSAgICAgICAgMHgwODE4CisjZGVmaW5lIE1YQ19JSU1TUkVWX0ZVU0UgICAgICAgIDB4MDgxQworI2RlZmluZSBNWENfSUlNU0pDX0NIQUxMXzAgICAgICAweDA4MjAKKyNkZWZpbmUgTVhDX0lJTVNKQ19DSEFMTF83ICAgICAgMHgwODNDCisjZGVmaW5lIE1YQ19JSU1GQjBVQzE3ICAgICAgICAgIDB4MDg0MAorI2RlZmluZSBNWENfSUlNRkIwVUMyNTUgICAgICAgICAweDBCRkMKKyNkZWZpbmUgTVhDX0lJTUZCQUMxICAgICAgICAgICAgMHgwQzAwCisvKiBEZWZpbml0aW9ucyBmb3IgaS5NWDI3IFRPMiAqLworI2RlZmluZSBNWENfSUlNU1VJRCAgICAgICAgICAgICAweDBDMDQKKyNkZWZpbmUgTVhDX0lJTUtFWTAgICAgICAgICAgICAgMHgwQzA0CisjZGVmaW5lIE1YQ19JSU1LRVkyMCAgICAgICAgICAgIDB4MEM1NAorI2RlZmluZSBNWENfSUlNU0pDX1JFU1BfMCAgICAgICAweDBDNTgKKyNkZWZpbmUgTVhDX0lJTVNKQ19SRVNQXzcgICAgICAgMHgwQzc0CisjZGVmaW5lIE1YQ19JSU1GQjFVQzMwICAgICAgICAgIDB4MEM3OAorI2RlZmluZSBNWENfSUlNRkIxVUMyNTUgICAgICAgICAweDBGRkMKKworLyogQml0IGRlZmluaXRpb25zICovCisKKyNkZWZpbmUgTVhDX0lJTUhXVjFfV0xPQ0sgICAgICAgICAgICAgICAoMHgxIDw8IDcpCisjZGVmaW5lIE1YQ19JSU1IV1YxX01DVV9FTkRJQU4gICAgICAgICAgKDB4MSA8PCA2KQorI2RlZmluZSBNWENfSUlNSFdWMV9EU1BfRU5ESUFOICAgICAgICAgICgweDEgPDwgNSkKKyNkZWZpbmUgTVhDX0lJTUhXVjFfQk9PVF9JTlQgICAgICAgICAgICAoMHgxIDw8IDQpCisjZGVmaW5lIE1YQ19JSU1IV1YxX1NDQ19ESVNBQkxFICAgICAgICAgKDB4MSA8PCAzKQorI2RlZmluZSBNWENfSUlNSFdWMV9IQU5UUk9fRElTQUJMRSAgICAgICgweDEgPDwgMikKKyNkZWZpbmUgTVhDX0lJTUhXVjFfTUVNU1RJQ0tfRElTICAgICAgICAoMHgxIDw8IDEpCisKKyNkZWZpbmUgTVhDX0lJTUhXVjJfV0xPQ0sgICAgICAgICAgICAgICAoMHgxIDw8IDcpCisjZGVmaW5lIE1YQ19JSU1IV1YyX0JQX1NETUEgICAgICAgICAgICAgKDB4MSA8PCA2KQorI2RlZmluZSBNWENfSUlNSFdWMl9TQ01fRENNICAgICAgICAgICAgICgweDEgPDwgNSkKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0lJTV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pbXgtdWFydC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lteC11YXJ0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmYjcyYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW14LXVhcnQuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgQVNNQVJNX0FSQ0hfVUFSVF9ICisjZGVmaW5lIEFTTUFSTV9BUkNIX1VBUlRfSAorCisjZGVmaW5lIElNWFVBUlRfSEFWRV9SVFNDVFMgKDE8PDApCisKK3N0cnVjdCBpbXh1YXJ0X3BsYXRmb3JtX2RhdGEgeworCWludCAoKmluaXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCWludCAoKmV4aXQpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKK2ludCBfX2luaXQgaW14X2luaXRfdWFydChpbnQgdWFydF9ubywgc3RydWN0IGlteHVhcnRfcGxhdGZvcm1fZGF0YSAqcGRhdGEpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pb211eC1teDEtbXgyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgxLW14Mi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NmQzN2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgxLW14Mi5oCkBAIC0wLDAgKzEsMzcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IGJ5IFNhc2NoYSBIYXVlciA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLAorICogTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX01YQ19HUElPX01YMV9NWDJfSAorI2RlZmluZSBfTVhDX0dQSU9fTVgxX01YMl9ICisKKyNpbmNsdWRlIDxsaW51eC9pby5oPgorCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfTk9STUFMCTAKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9OT19BTExPQwkxCisjZGVmaW5lIE1YQ19HUElPX0FMTE9DX01PREVfVFJZX0FMTE9DCTIKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9BTExPQ19PTkxZCTQKKyNkZWZpbmUgTVhDX0dQSU9fQUxMT0NfTU9ERV9SRUxFQVNFCTgKKworLyoKKyAqICBHUElPIE1vZHVsZSBhbmQgSS9PIE11bHRpcGxleGVyCisgKiAgeCA9IDAuLjMgZm9yIHJlZ19BLCByZWdfQiwgcmVnX0MsIHJlZ19ECisgKi8KKyNkZWZpbmUgVkFfR1BJT19CQVNFCUlPX0FERFJFU1MoR1BJT19CQVNFX0FERFIpCisjZGVmaW5lIE1YQ19ERElSKHgpICAgICgweDAwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX09DUjEoeCkgICAgKDB4MDQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfT0NSMih4KSAgICAoMHgwOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkExKHgpICgweDBjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDT05GQTIoeCkgKDB4MTAgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNPTkZCMSh4KSAoMHgxNCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JQ09ORkIyKHgpICgweDE4ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0RSKHgpICAgICAgKDB4MWMgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfR0lVUyh4KSAgICAoMHgyMCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19TU1IoeCkgICAgICgweDI0ICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lDUjEoeCkgICAgKDB4MjggKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfSUNSMih4KSAgICAoMHgyYyArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19JTVIoeCkgICAgICgweDMwICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX0lTUih4KSAgICAgKDB4MzQgKyAoKHgpIDw8IDgpKQorI2RlZmluZSBNWENfR1BSKHgpICAgICAoMHgzOCArICgoeCkgPDwgOCkpCisjZGVmaW5lIE1YQ19TV1IoeCkgICAgICgweDNjICsgKCh4KSA8PCA4KSkKKyNkZWZpbmUgTVhDX1BVRU4oeCkgICAgKDB4NDAgKyAoKHgpIDw8IDgpKQorCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgxCisjIGRlZmluZSBHUElPX1BPUlRfTUFYICAzCisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQVJDSF9NWDIKKyMgZGVmaW5lIEdQSU9fUE9SVF9NQVggIDUKKyNlbmRpZgorCisjaWZuZGVmIEdQSU9fUE9SVF9NQVgKKyMgZXJyb3IgIkdQSU8gY29uZmlnIHBvcnQgY291bnQgdW5rbm93biEiCisjZW5kaWYKKworI2RlZmluZSBHUElPX1BJTl9NQVNLIDB4MWYKKworI2RlZmluZSBHUElPX1BPUlRfU0hJRlQgNQorI2RlZmluZSBHUElPX1BPUlRfTUFTSyAoMHg3IDw8IEdQSU9fUE9SVF9TSElGVCkKKworI2RlZmluZSBHUElPX1BPUlRBICgwIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JUQiAoMSA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEMgKDIgPDwgR1BJT19QT1JUX1NISUZUKQorI2RlZmluZSBHUElPX1BPUlREICgzIDw8IEdQSU9fUE9SVF9TSElGVCkKKyNkZWZpbmUgR1BJT19QT1JURSAoNCA8PCBHUElPX1BPUlRfU0hJRlQpCisjZGVmaW5lIEdQSU9fUE9SVEYgKDUgPDwgR1BJT19QT1JUX1NISUZUKQorCisjZGVmaW5lIEdQSU9fT1VUICAgKDEgPDwgOCkKKyNkZWZpbmUgR1BJT19JTiAgICAoMCA8PCA4KQorI2RlZmluZSBHUElPX1BVRU4gICgxIDw8IDkpCisKKyNkZWZpbmUgR1BJT19QRiAgICAoMSA8PCAxMCkKKyNkZWZpbmUgR1BJT19BRiAgICAoMSA8PCAxMSkKKworI2RlZmluZSBHUElPX09DUl9TSElGVCAxMgorI2RlZmluZSBHUElPX09DUl9NQVNLICgzIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0FJTiAgICgwIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0JJTiAgICgxIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0NJTiAgICgyIDw8IEdQSU9fT0NSX1NISUZUKQorI2RlZmluZSBHUElPX0dQSU8gICgzIDw8IEdQSU9fT0NSX1NISUZUKQorCisjZGVmaW5lIEdQSU9fQU9VVF9TSElGVCAxNAorI2RlZmluZSBHUElPX0FPVVRfTUFTSyAoMyA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVCAgICAgKDAgPDwgR1BJT19BT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0FPVVRfSVNSICgxIDw8IEdQSU9fQU9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19BT1VUXzAgICAoMiA8PCBHUElPX0FPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQU9VVF8xICAgKDMgPDwgR1BJT19BT1VUX1NISUZUKQorCisjZGVmaW5lIEdQSU9fQk9VVF9TSElGVCAxNgorI2RlZmluZSBHUElPX0JPVVRfTUFTSyAoMyA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVCAgICAgICgwIDw8IEdQSU9fQk9VVF9TSElGVCkKKyNkZWZpbmUgR1BJT19CT1VUX0lTUiAgKDEgPDwgR1BJT19CT1VUX1NISUZUKQorI2RlZmluZSBHUElPX0JPVVRfMCAgICAoMiA8PCBHUElPX0JPVVRfU0hJRlQpCisjZGVmaW5lIEdQSU9fQk9VVF8xICAgICgzIDw8IEdQSU9fQk9VVF9TSElGVCkKKworZXh0ZXJuIHZvaWQgbXhjX2dwaW9fbW9kZShpbnQgZ3Bpb19tb2RlKTsKK2V4dGVybiBpbnQgbXhjX2dwaW9fc2V0dXBfbXVsdGlwbGVfcGlucyhjb25zdCBpbnQgKnBpbl9saXN0LCB1bnNpZ25lZCBjb3VudCwKKwkJCQkJaW50IGFsbG9jX21vZGUsIGNvbnN0IGNoYXIgKmxhYmVsKTsKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworLyogYXNzaWduZW1lbnRzIGZvciBHUElPIGFsdGVybmF0ZS9wcmltYXJ5IGZ1bmN0aW9ucyAqLworCisvKiBGSVhNRTogVGhpcyBsaXN0IGlzIG5vdCBjb21wbGV0ZWQuIFRoZSBjb3JyZWN0IGRpcmVjdGlvbnMgYXJlCisgKiBtaXNzaW5nIG9uIHNvbWUgKG1hbnkpIHBpbnMKKyAqLworI2lmZGVmIENPTkZJR19BUkNIX01YMQorI2RlZmluZSBQQTBfQUlOX1NQSTJfQ0xLICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgMCkKKyNkZWZpbmUgUEEwX0FGX0VUTVRSQUNFU1lOQyAgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMCkKKyNkZWZpbmUgUEExX0FPVVRfU1BJMl9SWEQgICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEEgfCBHUElPX0lOIHwgMSkKKyNkZWZpbmUgUEExX1BGX1RJTiAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMSkKKyNkZWZpbmUgUEEyX1BGX1BXTTAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyKQorI2RlZmluZSBQQTNfUEZfQ1NJX01DTEsgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAzKQorI2RlZmluZSBQQTRfUEZfQ1NJX0QwICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA0KQorI2RlZmluZSBQQTVfUEZfQ1NJX0QxICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA1KQorI2RlZmluZSBQQTZfUEZfQ1NJX0QyICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQTdfUEZfQ1NJX0QzICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA3KQorI2RlZmluZSBQQThfUEZfQ1NJX0Q0ICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA4KQorI2RlZmluZSBQQTlfUEZfQ1NJX0Q1ICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQQTEwX1BGX0NTSV9ENiAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEExMV9QRl9DU0lfRDcgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBBMTJfUEZfQ1NJX1ZTWU5DICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQTEzX1BGX0NTSV9IU1lOQyAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEExNF9QRl9DU0lfUElYQ0xLICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBBMTVfUEZfSTJDX1NEQSAgICAgIChHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBBMTZfUEZfSTJDX1NDTCAgICAgIChHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBBMTdfQUZfRVRNVFJBQ0VQS1Q0IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE3KQorI2RlZmluZSBQQTE3X0FJTl9TUEkyX1NTICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgMTcpCisjZGVmaW5lIFBBMThfQUZfRVRNVFJBQ0VQS1Q1IChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQQTE5X0FGX0VUTVRSQUNFUEtUNiAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAxOSkKKyNkZWZpbmUgUEEyMF9BRl9FVE1UUkFDRVBLVDcgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjApCisjZGVmaW5lIFBBMjFfUEZfQTAgICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQTIyX1BGX0NTNCAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEEyM19QRl9DUzUgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBBMjRfUEZfQTE2ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQTI0X0FGX0VUTVRSQUNFUEtUMCAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNCkKKyNkZWZpbmUgUEEyNV9QRl9BMTcgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBBMjVfQUZfRVRNVFJBQ0VQS1QxIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI1KQorI2RlZmluZSBQQTI2X1BGX0ExOCAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEEyNl9BRl9FVE1UUkFDRVBLVDIgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjYpCisjZGVmaW5lIFBBMjdfUEZfQTE5ICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQTI3X0FGX0VUTVRSQUNFUEtUMyAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAyNykKKyNkZWZpbmUgUEEyOF9QRl9BMjAgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBBMjhfQUZfRVRNUElQRVNUQVQwIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDI4KQorI2RlZmluZSBQQTI5X1BGX0EyMSAgICAgICAgICAoR1BJT19QT1JUQSB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEEyOV9BRl9FVE1QSVBFU1RBVDEgKEdQSU9fUE9SVEEgfCBHUElPX0FGIHwgMjkpCisjZGVmaW5lIFBBMzBfUEZfQTIyICAgICAgICAgIChHUElPX1BPUlRBIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQTMwX0FGX0VUTVBJUEVTVEFUMiAoR1BJT19QT1JUQSB8IEdQSU9fQUYgfCAzMCkKKyNkZWZpbmUgUEEzMV9QRl9BMjMgICAgICAgICAgKEdQSU9fUE9SVEEgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBBMzFfQUZfRVRNVFJBQ0VDTEsgIChHUElPX1BPUlRBIHwgR1BJT19BRiB8IDMxKQorI2RlZmluZSBQQjhfUEZfU0RfREFUMCAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gfCA4KQorI2RlZmluZSBQQjhfQUZfTVNfUElPICAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCA4KQorI2RlZmluZSBQQjlfUEZfU0RfREFUMSAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCBHUElPX1BVRU4gIHwgOSkKKyNkZWZpbmUgUEI5X0FGX01TX1BJMSAgICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgOSkKKyNkZWZpbmUgUEIxMF9QRl9TRF9EQVQyICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgR1BJT19QVUVOICB8IDEwKQorI2RlZmluZSBQQjEwX0FGX01TX1NDTEtJICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMCkKKyNkZWZpbmUgUEIxMV9QRl9TRF9EQVQzICAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBCMTFfQUZfTVNfU0RJTyAgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDExKQorI2RlZmluZSBQQjEyX1BGX1NEX0NMSyAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEIxMl9BRl9NU19TQ0xLMCAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTIpCisjZGVmaW5lIFBCMTNfUEZfU0RfQ01EICAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IEdQSU9fUFVFTiB8IDEzKQorI2RlZmluZSBQQjEzX0FGX01TX0JTICAgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxMykKKyNkZWZpbmUgUEIxNF9BRl9TU0lfUlhGUyAgICAgKEdQSU9fUE9SVEIgfCBHUElPX0FGIHwgMTQpCisjZGVmaW5lIFBCMTVfQUZfU1NJX1JYQ0xLICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE1KQorI2RlZmluZSBQQjE2X0FGX1NTSV9SWERBVCAgICAoR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX0FGIHwgMTYpCisjZGVmaW5lIFBCMTdfQUZfU1NJX1RYREFUICAgIChHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTcpCisjZGVmaW5lIFBCMThfQUZfU1NJX1RYRlMgICAgIChHUElPX1BPUlRCIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQQjE5X0FGX1NTSV9UWENMSyAgICAoR1BJT19QT1JUQiB8IEdQSU9fQUYgfCAxOSkKKyNkZWZpbmUgUEIyMF9QRl9VU0JEX0FGRSAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBCMjFfUEZfVVNCRF9PRSAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQjIyX1BGVVNCRF9SQ1YgICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyMikKKyNkZWZpbmUgUEIyM19QRl9VU0JEX1NVU1BORCAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBCMjRfUEZfVVNCRF9WUCAgICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQjI1X1BGX1VTQkRfVk0gICAgICAoR1BJT19QT1JUQiB8IEdQSU9fUEYgfCAyNSkKKyNkZWZpbmUgUEIyNl9QRl9VU0JEX1ZQTyAgICAgKEdQSU9fUE9SVEIgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBCMjdfUEZfVVNCRF9WTU8gICAgIChHUElPX1BPUlRCIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQjI4X1BGX1VBUlQyX0NUUyAgICAoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI4KQorI2RlZmluZSBQQjI5X1BGX1VBUlQyX1JUUyAgICAoR1BJT19QT1JUQiB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBCMzBfUEZfVUFSVDJfVFhEICAgIChHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBCMzFfUEZfVUFSVDJfUlhEICAgIChHUElPX1BPUlRCIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAzMSkKKyNkZWZpbmUgUEMzX1BGX1NTSV9SWEZTICAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMykKKyNkZWZpbmUgUEM0X1BGX1NTSV9SWENMSyAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgNCkKKyNkZWZpbmUgUEM1X1BGX1NTSV9SWERBVCAgICAgKEdQSU9fUE9SVEMgfCBHUElPX0lOIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBDNl9QRl9TU0lfVFhEQVQgICAgIChHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNikKKyNkZWZpbmUgUEM3X1BGX1NTSV9UWEZTICAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEM4X1BGX1NTSV9UWENMSyAgICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEM5X1BGX1VBUlQxX0NUUyAgICAgKEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQQzEwX1BGX1VBUlQxX1JUUyAgICAoR1BJT19QT1JUQyB8IEdQSU9fSU4gfCBHUElPX1BGIHwgMTApCisjZGVmaW5lIFBDMTFfUEZfVUFSVDFfVFhEICAgIChHUElPX1BPUlRDIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBDMTJfUEZfVUFSVDFfUlhEICAgIChHUElPX1BPUlRDIHwgR1BJT19JTiB8IEdQSU9fUEYgfCAxMikKKyNkZWZpbmUgUEMxM19QRl9TUEkxX1NQSV9SRFkgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBDMTRfUEZfU1BJMV9TQ0xLICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQQzE1X1BGX1NQSTFfU1MgICAgICAoR1BJT19QT1JUQyB8IEdQSU9fUEYgfCAxNSkKKyNkZWZpbmUgUEMxNl9QRl9TUEkxX01JU08gICAgKEdQSU9fUE9SVEMgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBDMTdfUEZfU1BJMV9NT1NJICAgIChHUElPX1BPUlRDIHwgR1BJT19QRiB8IDE3KQorI2RlZmluZSBQQzI0X0JJTl9VQVJUM19SSSAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19CSU4gfCAyNCkKKyNkZWZpbmUgUEMyNV9CSU5fVUFSVDNfRFNSICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjUpCisjZGVmaW5lIFBDMjZfQU9VVF9VQVJUM19EVFIgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDI2KQorI2RlZmluZSBQQzI3X0JJTl9VQVJUM19EQ0QgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fT1VUIHwgR1BJT19CSU4gfCAyNykKKyNkZWZpbmUgUEMyOF9CSU5fVUFSVDNfQ1RTICAgKEdQSU9fR0lVUyB8IEdQSU9fUE9SVEMgfCBHUElPX09VVCB8IEdQSU9fQklOIHwgMjgpCisjZGVmaW5lIFBDMjlfQU9VVF9VQVJUM19SVFMgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDI5KQorI2RlZmluZSBQQzMwX0JJTl9VQVJUM19UWCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JUQyB8IEdQSU9fQklOIHwgMzApCisjZGVmaW5lIFBDMzFfQU9VVF9VQVJUM19SWCAgIChHUElPX0dJVVMgfCBHUElPX1BPUlRDIHwgR1BJT19JTiB8IDMxKQorI2RlZmluZSBQRDZfUEZfTFNDTEsgICAgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDYpCisjZGVmaW5lIFBEN19QRl9SRVYgICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBEN19BRl9VQVJUMl9EVFIgICAgIChHUElPX0dJVVMgfCBHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQUYgfCA3KQorI2RlZmluZSBQRDdfQUlOX1NQSTJfU0NMSyAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fQUlOIHwgNykKKyNkZWZpbmUgUEQ4X1BGX0NMUyAgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEQ4X0FGX1VBUlQyX0RDRCAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA4KQorI2RlZmluZSBQRDhfQUlOX1NQSTJfU1MgICAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fQUlOIHwgOCkKKyNkZWZpbmUgUEQ5X1BGX1BTICAgICAgICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX1BGIHwgOSkKKyNkZWZpbmUgUEQ5X0FGX1VBUlQyX1JJICAgICAgKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUYgfCA5KQorI2RlZmluZSBQRDlfQU9VVF9TUEkyX1JYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fSU4gfCA5KQorI2RlZmluZSBQRDEwX1BGX1NQTF9TUFIgICAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQRDEwX0FGX1VBUlQyX0RTUiAgICAoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEwKQorI2RlZmluZSBQRDEwX0FJTl9TUEkyX1RYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgMTApCisjZGVmaW5lIFBEMTFfUEZfQ09OVFJBU1QgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBEMTJfUEZfQUNEX09FICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBEMTNfUEZfTFBfSFNZTkMgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTMpCisjZGVmaW5lIFBEMTRfUEZfRkxNX1ZTWU5DICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBEMTVfUEZfTEQwICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTUpCisjZGVmaW5lIFBEMTZfUEZfTEQxICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBEMTdfUEZfTEQyICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBEMThfUEZfTEQzICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTgpCisjZGVmaW5lIFBEMTlfUEZfTEQ0ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBEMjBfUEZfTEQ1ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjApCisjZGVmaW5lIFBEMjFfUEZfTEQ2ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjEpCisjZGVmaW5lIFBEMjJfUEZfTEQ3ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBEMjNfUEZfTEQ4ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjMpCisjZGVmaW5lIFBEMjRfUEZfTEQ5ICAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBEMjVfUEZfTEQxMCAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBEMjZfUEZfTEQxMSAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjYpCisjZGVmaW5lIFBEMjdfUEZfTEQxMiAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBEMjhfUEZfTEQxMyAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBEMjlfUEZfTEQxNCAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBEMzBfUEZfTEQxNSAgICAgICAgIChHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzApCisjZGVmaW5lIFBEMzFfUEZfVE1SMk9VVCAgICAgIChHUElPX1BPUlREIHwgR1BJT19QRiB8IDMxKQorI2RlZmluZSBQRDMxX0JJTl9TUEkyX1RYRCAgICAoR1BJT19HSVVTIHwgR1BJT19QT1JURCB8IEdQSU9fQklOIHwgMzEpCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorI2RlZmluZSBQQTVfUEZfTFNDTEsJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgNSkKKyNkZWZpbmUgUEE2X1BGX0xEMAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQTdfUEZfTEQxCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDcpCisjZGVmaW5lIFBBOF9QRl9MRDIJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgOCkKKyNkZWZpbmUgUEE5X1BGX0xEMwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQQTEwX1BGX0xENAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMCkKKyNkZWZpbmUgUEExMV9QRl9MRDUJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTEpCisjZGVmaW5lIFBBMTJfUEZfTEQ2CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQQTEzX1BGX0xENwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMykKKyNkZWZpbmUgUEExNF9QRl9MRDgJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTQpCisjZGVmaW5lIFBBMTVfUEZfTEQ5CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQTE2X1BGX0xEMTAJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBBMTdfUEZfTEQxMQkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEExOF9QRl9MRDEyCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQQTE5X1BGX0xEMTMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBBMjBfUEZfTEQxNAkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEEyMV9QRl9MRDE1CQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQTIyX1BGX0xEMTYJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBBMjNfUEZfTEQxNwkJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEEyNF9QRl9SRVYJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjQpCisjZGVmaW5lIFBBMjVfUEZfQ0xTCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI1KQorI2RlZmluZSBQQTI2X1BGX1BTCQkoR1BJT19QT1JUQSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDI2KQorI2RlZmluZSBQQTI3X1BGX1NQTF9TUFIJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjcpCisjZGVmaW5lIFBBMjhfUEZfSFNZTkMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBBMjlfUEZfVlNZTkMJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMjkpCisjZGVmaW5lIFBBMzBfUEZfQ09OVFJBU1QJKEdQSU9fUE9SVEEgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAzMCkKKyNkZWZpbmUgUEEzMV9QRl9PRV9BQ0QJCShHUElPX1BPUlRBIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBCMTBfUEZfQ1NJX0QwCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQQjEwX0FGX1VBUlQ2X1RYRAkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDEwKQorI2RlZmluZSBQQjExX1BGX0NTSV9EMQkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxMSkKKyNkZWZpbmUgUEIxMV9BRl9VQVJUNl9SWEQJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxMSkKKyNkZWZpbmUgUEIxMl9QRl9DU0lfRDIJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTIpCisjZGVmaW5lIFBCMTJfQUZfVUFSVDZfQ1RTCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMTIpCisjZGVmaW5lIFBCMTNfUEZfQ1NJX0QzCQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQQjEzX0FGX1VBUlQ2X1JUUwkoR1BJT19QT1JUQiB8IEdQSU9fSU4gIHwgR1BJT19BRiB8IDEzKQorI2RlZmluZSBQQjE0X1BGX0NTSV9ENAkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNCkKKyNkZWZpbmUgUEIxNV9QRl9DU0lfTUNMSwkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQQjE2X1BGX0NTSV9QSVhDTEsJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxNikKKyNkZWZpbmUgUEIxN19QRl9DU0lfRDUJCShHUElPX1BPUlRCIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBCMThfUEZfQ1NJX0Q2CQkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQQjE4X0FGX1VBUlQ1X1RYRAkoR1BJT19QT1JUQiB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDE4KQorI2RlZmluZSBQQjE5X1BGX0NTSV9ENwkJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOSkKKyNkZWZpbmUgUEIxOV9BRl9VQVJUNV9SWEQJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxOSkKKyNkZWZpbmUgUEIyMF9QRl9DU0lfVlNZTkMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEIyMF9BRl9VQVJUNV9DVFMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMCkKKyNkZWZpbmUgUEIyMV9QRl9DU0lfSFNZTkMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAyMSkKKyNkZWZpbmUgUEIyMV9BRl9VQVJUNV9SVFMJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAyMSkKKyNkZWZpbmUgUEIyNl9BRl9VQVJUNF9SVFMJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEIyOF9BRl9VQVJUNF9UWEQJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyOCkKKyNkZWZpbmUgUEIyOV9BRl9VQVJUNF9DVFMJKEdQSU9fUE9SVEIgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyOSkKKyNkZWZpbmUgUEIzMV9BRl9VQVJUNF9SWEQJKEdQSU9fUE9SVEIgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAzMSkKKyNkZWZpbmUgUEM1X1BGX0kyQzJfU0RBCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDUpCisjZGVmaW5lIFBDNl9QRl9JMkMyX1NDTAkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQQzE2X1BGX1NTSTRfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTYpCisjZGVmaW5lIFBDMTdfUEZfU1NJNF9SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAxNykKKyNkZWZpbmUgUEMxOF9QRl9TU0k0X1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE4KQorI2RlZmluZSBQQzE5X1BGX1NTSTRfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMTkpCisjZGVmaW5lIFBDMjBfUEZfU1NJMV9GUwkJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMCkKKyNkZWZpbmUgUEMyMV9QRl9TU0kxX1JYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDIxKQorI2RlZmluZSBQQzIyX1BGX1NTSTFfVFhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjIpCisjZGVmaW5lIFBDMjNfUEZfU1NJMV9DTEsJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyMykKKyNkZWZpbmUgUEMyNF9QRl9TU0kyX0ZTCQkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI0KQorI2RlZmluZSBQQzI1X1BGX1NTSTJfUlhECShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjUpCisjZGVmaW5lIFBDMjZfUEZfU1NJMl9UWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyNikKKyNkZWZpbmUgUEMyN19QRl9TU0kyX0NMSwkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDI3KQorI2RlZmluZSBQQzI4X1BGX1NTSTNfRlMJCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMjgpCisjZGVmaW5lIFBDMjlfUEZfU1NJM19SWEQJKEdQSU9fUE9SVEMgfCBHUElPX0lOICB8IEdQSU9fUEYgfCAyOSkKKyNkZWZpbmUgUEMzMF9QRl9TU0kzX1RYRAkoR1BJT19QT1JUQyB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDMwKQorI2RlZmluZSBQQzMxX1BGX1NTSTNfQ0xLCShHUElPX1BPUlRDIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgMzEpCisjZGVmaW5lIFBEMF9BSU5fRkVDX1RYRDAJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMCkKKyNkZWZpbmUgUEQxX0FJTl9GRUNfVFhEMQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19BSU4gfCAxKQorI2RlZmluZSBQRDJfQUlOX0ZFQ19UWEQyCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDIpCisjZGVmaW5lIFBEM19BSU5fRkVDX1RYRDMJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgMykKKyNkZWZpbmUgUEQ0X0FPVVRfRkVDX1JYX0VSCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDQpCisjZGVmaW5lIFBENV9BT1VUX0ZFQ19SWEQxCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDUpCisjZGVmaW5lIFBENl9BT1VUX0ZFQ19SWEQyCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDYpCisjZGVmaW5lIFBEN19BT1VUX0ZFQ19SWEQzCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDcpCisjZGVmaW5lIFBEOF9BRl9GRUNfTURJTwkJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BRiB8IDgpCisjZGVmaW5lIFBEOV9BSU5fRkVDX01EQwkJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fQUlOIHwgOSkKKyNkZWZpbmUgUEQxMF9BT1VUX0ZFQ19DUlMJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTApCisjZGVmaW5lIFBEMTFfQU9VVF9GRUNfVFhfQ0xLCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDExKQorI2RlZmluZSBQRDEyX0FPVVRfRkVDX1JYRDAJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTIpCisjZGVmaW5lIFBEMTNfQU9VVF9GRUNfUlhfRFYJKEdQSU9fUE9SVEQgfCBHUElPX0lOIHwgR1BJT19BT1VUIHwgMTMpCisjZGVmaW5lIFBEMTRfQU9VVF9GRUNfQ0xSCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fQU9VVCB8IDE0KQorI2RlZmluZSBQRDE1X0FPVVRfRkVDX0NPTAkoR1BJT19QT1JURCB8IEdQSU9fSU4gfCBHUElPX0FPVVQgfCAxNSkKKyNkZWZpbmUgUEQxNl9BSU5fRkVDX1RYX0VSCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDE2KQorI2RlZmluZSBQRDE3X1BGX0kyQ19EQVRBCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMTcpCisjZGVmaW5lIFBEMThfUEZfSTJDX0NMSwkJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgfCAxOCkKKyNkZWZpbmUgUEQyNV9QRl9DU1BJMV9SRFkJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjUpCisjZGVmaW5lIFBEMjZfUEZfQ1NQSTFfU1MyCShHUElPX1BPUlREIHwgR1BJT19PVVQgfCBHUElPX1BGICB8IDI2KQorI2RlZmluZSBQRDI3X1BGX0NTUEkxX1NTMQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyNykKKyNkZWZpbmUgUEQyOF9QRl9DU1BJMV9TUzAJKEdQSU9fUE9SVEQgfCBHUElPX09VVCB8IEdQSU9fUEYgIHwgMjgpCisjZGVmaW5lIFBEMjlfUEZfQ1NQSTFfU0NMSwkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAyOSkKKyNkZWZpbmUgUEQzMF9QRl9DU1BJMV9NSVNPCShHUElPX1BPUlREIHwgR1BJT19JTiB8IEdQSU9fUEYgIHwgMzApCisjZGVmaW5lIFBEMzFfUEZfQ1NQSTFfTU9TSQkoR1BJT19QT1JURCB8IEdQSU9fT1VUIHwgR1BJT19QRiAgfCAzMSkKKyNkZWZpbmUgUEYyM19BSU5fRkVDX1RYX0VOCShHUElPX1BPUlRGIHwgR1BJT19PVVQgfCBHUElPX0FJTiB8IDIzKQorI2RlZmluZSBQRTNfUEZfVUFSVDJfQ1RTCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX1BGIHwgMykKKyNkZWZpbmUgUEU0X1BGX1VBUlQyX1JUUwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDQpCisjZGVmaW5lIFBFNl9QRl9VQVJUMl9UWEQJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fUEYgfCA2KQorI2RlZmluZSBQRTdfUEZfVUFSVDJfUlhECShHUElPX1BPUlRFIHwgR1BJT19JTiAgfCBHUElPX1BGIHwgNykKKyNkZWZpbmUgUEU4X1BGX1VBUlQzX1RYRAkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDgpCisjZGVmaW5lIFBFOV9QRl9VQVJUM19SWEQJKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fUEYgfCA5KQorI2RlZmluZSBQRTEwX1BGX1VBUlQzX0NUUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEwKQorI2RlZmluZSBQRTExX1BGX1VBUlQzX1JUUwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDExKQorI2RlZmluZSBQRTEyX1BGX1VBUlQxX1RYRAkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDEyKQorI2RlZmluZSBQRTEzX1BGX1VBUlQxX1JYRAkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDEzKQorI2RlZmluZSBQRTE0X1BGX1VBUlQxX0NUUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19QRiB8IDE0KQorI2RlZmluZSBQRTE1X1BGX1VBUlQxX1JUUwkoR1BJT19QT1JURSB8IEdQSU9fSU4gIHwgR1BJT19QRiB8IDE1KQorI2RlZmluZSBQRTE4X0FGX0NTUEkzX01JU08JKEdQSU9fUE9SVEUgfCBHUElPX0lOICB8IEdQSU9fQUYgfCAxOCkKKyNkZWZpbmUgUEUyMV9BRl9DU1BJM19TUwkoR1BJT19QT1JURSB8IEdQSU9fT1VUIHwgR1BJT19BRiB8IDIxKQorI2RlZmluZSBQRTIyX0FGX0NTUEkzX01PU0kJKEdQSU9fUE9SVEUgfCBHUElPX09VVCB8IEdQSU9fQUYgfCAyMikKKyNkZWZpbmUgUEUyM19BRl9DU1BJM19TQ0xLCShHUElPX1BPUlRFIHwgR1BJT19PVVQgfCBHUElPX0FGIHwgMjMpCisjZW5kaWYKKworLyogZGVjb2RlIGlycSBudW1iZXIgdG8gdXNlIHdpdGggSU1SKHgpLCBJU1IoeCkgYW5kIGZyaWVuZHMgKi8KKyNkZWZpbmUgSVJRX1RPX1JFRyhpcnEpICgoaXJxIC0gTVhDX01BWF9JTlRfTElORVMpID4+IDUpCisKKyNkZWZpbmUgSVJRX0dQSU9BKHgpICAoTVhDX01BWF9JTlRfTElORVMgKyB4KQorI2RlZmluZSBJUlFfR1BJT0IoeCkgIChJUlFfR1BJT0EoMzIpICsgeCkKKyNkZWZpbmUgSVJRX0dQSU9DKHgpICAoSVJRX0dQSU9CKDMyKSArIHgpCisjZGVmaW5lIElSUV9HUElPRCh4KSAgKElSUV9HUElPQygzMikgKyB4KQorCisjZW5kaWYgLyogX01YQ19HUElPX01YMV9NWDJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14My5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lvbXV4LW14My5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDllNzYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaW9tdXgtbXgzLmgKQEAgLTAsMCArMSw1MDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAwNC0yMDA2IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggYnkgU2FzY2hhIEhhdWVyIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBfX01BQ0hfTVgzMV9JT01VWF9IX18KKyNkZWZpbmUgX19NQUNIX01YMzFfSU9NVVhfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisvKgorICogdmFyaW91cyBJT01VWCBvdXRwdXQgZnVuY3Rpb25zCisgKi8KKworI2RlZmluZQlJT01VWF9PQ09ORklHX0dQSU8gKDAgPDwgNCkJLyogdXNlZCBhcyBHUElPICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfRlVOQyAoMSA8PCA0KQkvKiB1c2VkIGFzIGZ1bmN0aW9uICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUMSAoMiA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAxICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUMiAoMyA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAyICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUMyAoNCA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAzICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUNCAoNSA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiA0ICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUNSAoNiA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiA1ICovCisjZGVmaW5lCUlPTVVYX09DT05GSUdfQUxUNiAoNyA8PCA0KQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiA2ICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfTk9ORSAgMAkgCS8qIG5vdCBjb25maWd1cmVkIGZvciBpbnB1dCAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0dQSU8gIDEJCS8qIHVzZWQgYXMgR1BJTyAqLworI2RlZmluZQlJT01VWF9JQ09ORklHX0ZVTkMgIDIJCS8qIHVzZWQgYXMgZnVuY3Rpb24gKi8KKyNkZWZpbmUJSU9NVVhfSUNPTkZJR19BTFQxICA0CQkvKiB1c2VkIGFzIGFsdGVybmF0ZSBmdW5jdGlvbiAxICovCisjZGVmaW5lCUlPTVVYX0lDT05GSUdfQUxUMiAgOAkJLyogdXNlZCBhcyBhbHRlcm5hdGUgZnVuY3Rpb24gMiAqLworCisjZGVmaW5lIElPTVVYX0NPTkZJR19HUElPIChJT01VWF9PQ09ORklHX0dQSU8gfCBJT01VWF9JQ09ORklHX0dQSU8pCisjZGVmaW5lIElPTVVYX0NPTkZJR19GVU5DIChJT01VWF9PQ09ORklHX0ZVTkMgfCBJT01VWF9JQ09ORklHX0ZVTkMpCisjZGVmaW5lIElPTVVYX0NPTkZJR19BTFQxIChJT01VWF9PQ09ORklHX0FMVDEgfCBJT01VWF9JQ09ORklHX0FMVDEpCisjZGVmaW5lIElPTVVYX0NPTkZJR19BTFQyIChJT01VWF9PQ09ORklHX0FMVDIgfCBJT01VWF9JQ09ORklHX0FMVDIpCisKKy8qCisgKiB2YXJpb3VzIElPTVVYIHBhZCBmdW5jdGlvbnMKKyAqLworZW51bSBpb211eF9wYWRfY29uZmlnIHsKKwlQQURfQ1RMX05PTE9PUEJBQ0sJPSAweDAgPDwgOSwKKwlQQURfQ1RMX0xPT1BCQUNLCT0gMHgxIDw8IDksCisJUEFEX0NUTF9QS0VfTk9ORQk9IDB4MCA8PCA4LAorCVBBRF9DVExfUEtFX0VOQUJMRQk9IDB4MSA8PCA4LAorCVBBRF9DVExfUFVFX0tFRVBFUgk9IDB4MCA8PCA3LAorCVBBRF9DVExfUFVFX1BVRAkJPSAweDEgPDwgNywKKwlQQURfQ1RMXzEwMEtfUEQJCT0gMHgwIDw8IDUsCisJUEFEX0NUTF8xMDBLX1BVCQk9IDB4MSA8PCA1LAorCVBBRF9DVExfNDdLX1BVCQk9IDB4MiA8PCA1LAorCVBBRF9DVExfMjJLX1BVCQk9IDB4MyA8PCA1LAorCVBBRF9DVExfSFlTX0NNT1MJPSAweDAgPDwgNCwKKwlQQURfQ1RMX0hZU19TQ0hNSVRaCT0gMHgxIDw8IDQsCisJUEFEX0NUTF9PREVfQ01PUwk9IDB4MCA8PCAzLAorCVBBRF9DVExfT0RFX09wZW5EcmFpbgk9IDB4MSA8PCAzLAorCVBBRF9DVExfRFJWX05PUk1BTAk9IDB4MCA8PCAxLAorCVBBRF9DVExfRFJWX0hJR0gJPSAweDEgPDwgMSwKKwlQQURfQ1RMX0RSVl9NQVgJCT0gMHgyIDw8IDEsCisJUEFEX0NUTF9TUkVfU0xPVwk9IDB4MCA8PCAwLAorCVBBRF9DVExfU1JFX0ZBU1QJPSAweDEgPDwgMAorfTsKKworLyoKKyAqIHZhcmlvdXMgSU9NVVggZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9ucworICovCitlbnVtIGlvbXV4X2dwX2Z1bmMgeworCU1VWF9QR1BfRklSSQkJCT0gMSA8PCAwLAorCU1VWF9ERFJfTU9ERQkJCT0gMSA8PCAxLAorCU1VWF9QR1BfQ1NQSV9CQgkJCT0gMSA8PCAyLAorCU1VWF9QR1BfQVRBXzEJCQk9IDEgPDwgMywKKwlNVVhfUEdQX0FUQV8yCQkJPSAxIDw8IDQsCisJTVVYX1BHUF9BVEFfMwkJCT0gMSA8PCA1LAorCU1VWF9QR1BfQVRBXzQJCQk9IDEgPDwgNiwKKwlNVVhfUEdQX0FUQV81CQkJPSAxIDw8IDcsCisJTVVYX1BHUF9BVEFfNgkJCT0gMSA8PCA4LAorCU1VWF9QR1BfQVRBXzcJCQk9IDEgPDwgOSwKKwlNVVhfUEdQX0FUQV84CQkJPSAxIDw8IDEwLAorCU1VWF9QR1BfVUgyCQkJPSAxIDw8IDExLAorCU1VWF9TRENUTF9DU0QwX1NFTAkJPSAxIDw8IDEyLAorCU1VWF9TRENUTF9DU0QxX1NFTAkJPSAxIDw8IDEzLAorCU1VWF9DU1BJMV9VQVJUMwkJCT0gMSA8PCAxNCwKKwlNVVhfRVhURE1BUkVRMl9NQlhfU0VMCQk9IDEgPDwgMTUsCisJTVVYX1RBTVBFUl9ERVRFQ1RfRU4JCT0gMSA8PCAxNiwKKwlNVVhfUEdQX1VTQl80V0lSRQkJPSAxIDw8IDE3LAorCU1VWF9QR0JfVVNCX0NPTU1PTgkJPSAxIDw8IDE4LAorCU1VWF9TREhDX01FTVNUSUNLMQkJPSAxIDw8IDE5LAorCU1VWF9TREhDX01FTVNUSUNLMgkJPSAxIDw8IDIwLAorCU1VWF9QR1BfU1BMTF9CWVAJCT0gMSA8PCAyMSwKKwlNVVhfUEdQX1VQTExfQllQCQk9IDEgPDwgMjIsCisJTVVYX1BHUF9NU0hDMV9DTEtfU0VMCQk9IDEgPDwgMjMsCisJTVVYX1BHUF9NU0hDMl9DTEtfU0VMCQk9IDEgPDwgMjQsCisJTVVYX0NTUEkzX1VBUlQ1X1NFTAkJPSAxIDw8IDI1LAorCU1VWF9QR1BfQVRBXzkJCQk9IDEgPDwgMjYsCisJTVVYX1BHUF9VU0JfU1VTUEVORAkJPSAxIDw8IDI3LAorCU1VWF9QR1BfVVNCX09UR19MT09QQkFDSwk9IDEgPDwgMjgsCisJTVVYX1BHUF9VU0JfSFMxX0xPT1BCQUNLCT0gMSA8PCAyOSwKKwlNVVhfUEdQX1VTQl9IUzJfTE9PUEJBQ0sJPSAxIDw8IDMwLAorCU1VWF9DTEtPX0REUl9NT0RFCQk9IDEgPDwgMzEsCit9OworCisvKgorICogVGhpcyBmdW5jdGlvbiBlbmFibGVzL2Rpc2FibGVzIHRoZSBnZW5lcmFsIHB1cnBvc2UgZnVuY3Rpb24gZm9yIGEgcGFydGljdWxhcgorICogc2lnbmFsLgorICovCit2b2lkIGlvbXV4X2NvbmZpZ19ncHIoZW51bSBpb211eF9ncF9mdW5jICwgYm9vbCk7CisKKy8qCisgKiBzZXQgdGhlIG1vZGUgZm9yIGEgSU9NVVggcGluLgorICovCitpbnQgbXhjX2lvbXV4X21vZGUodW5zaWduZWQgaW50KTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gZW5hYmxlcy9kaXNhYmxlcyB0aGUgZ2VuZXJhbCBwdXJwb3NlIGZ1bmN0aW9uIGZvciBhIHBhcnRpY3VsYXIKKyAqIHNpZ25hbC4KKyAqLwordm9pZCBteGNfaW9tdXhfc2V0X2dwcihlbnVtIGlvbXV4X2dwX2Z1bmMsIGJvb2wpOworCisjZGVmaW5lIElPTVVYX1BBRE5VTV9NQVNLCTB4MWZmCisjZGVmaW5lIElPTVVYX0dQSU9OVU1fU0hJRlQJOQorI2RlZmluZSBJT01VWF9HUElPTlVNX01BU0sJKDB4ZmYgPDwgSU9NVVhfR1BJT05VTV9TSElGVCkKKyNkZWZpbmUgSU9NVVhfTU9ERV9TSElGVAkxNworI2RlZmluZSBJT01VWF9NT0RFX01BU0sJKDB4ZmYgPDwgSU9NVVhfTU9ERV9TSElGVCkKKworI2RlZmluZSBJT01VWF9QSU4oZ3Bpb251bSwgcGFkbnVtKSBcCisJKCgoZ3Bpb251bSA8PCBJT01VWF9HUElPTlVNX1NISUZUKSAmIElPTVVYX0dQSU9OVU1fTUFTSykgfCBcCisJIChwYWRudW0gJiBJT01VWF9QQUROVU1fTUFTSykpCisKKyNkZWZpbmUgSU9NVVhfTU9ERShwaW4sIG1vZGUpIChwaW4gfCBtb2RlIDw8IElPTVVYX01PREVfU0hJRlQpCisKKyNkZWZpbmUgSU9NVVhfVE9fR1BJTyhpb211eF9waW4pIFwKKwkoKGlvbXV4X3BpbiAmIElPTVVYX0dQSU9OVU1fTUFTSykgPj4gSU9NVVhfR1BJT05VTV9TSElGVCkKKyNkZWZpbmUgSU9NVVhfVE9fSVJRKGlvbXV4X3BpbikgXAorCSgoKGlvbXV4X3BpbiAmIElPTVVYX0dQSU9OVU1fTUFTSykgPj4gSU9NVVhfR1BJT05VTV9TSElGVCkgKyBcCisJTVhDX0dQSU9fSU5UX0JBU0UpCisKKy8qCisgKiBUaGlzIGVudW1lcmF0aW9uIGlzIGNvbnN0cnVjdGVkIGJhc2VkIG9uIHRoZSBTZWN0aW9uCisgKiAic3dfcGFkX2N0bCAmIHN3X211eF9jdGwgZGV0YWlscyIgb2YgdGhlIE1YMzEgSUMgU3BlYy4gRWFjaCBlbnVtZXJhdGVkCisgKiB2YWx1ZSBpcyBjb25zdHJ1Y3RlZCBiYXNlZCBvbiB0aGUgcnVsZXMgZGVzY3JpYmVkIGFib3ZlLgorICovCisKK2VudW0gaW9tdXhfcGlucyB7CisJTVgzMV9QSU5fVFRNX1BBRAk9IElPTVVYX1BJTigweGZmLCAgIDApLAorCU1YMzFfUElOX0NTUEkzX1NQSV9SRFkJPSBJT01VWF9QSU4oMHhmZiwgICAxKSwKKwlNWDMxX1BJTl9DU1BJM19TQ0xLCT0gSU9NVVhfUElOKDB4ZmYsICAgMiksCisJTVgzMV9QSU5fQ1NQSTNfTUlTTwk9IElPTVVYX1BJTigweGZmLCAgIDMpLAorCU1YMzFfUElOX0NTUEkzX01PU0kJPSBJT01VWF9QSU4oMHhmZiwgICA0KSwKKwlNWDMxX1BJTl9DTEtTUwkJPSBJT01VWF9QSU4oMHhmZiwgICA1KSwKKwlNWDMxX1BJTl9DRV9DT05UUk9MCT0gSU9NVVhfUElOKDB4ZmYsICAgNiksCisJTVgzMV9QSU5fQVRBX1JFU0VUX0IJPSBJT01VWF9QSU4oOTUsICAgICA3KSwKKwlNWDMxX1BJTl9BVEFfRE1BQ0sJPSBJT01VWF9QSU4oOTQsICAgICA4KSwKKwlNWDMxX1BJTl9BVEFfRElPVwk9IElPTVVYX1BJTig5MywgICAgIDkpLAorCU1YMzFfUElOX0FUQV9ESU9SCT0gSU9NVVhfUElOKDkyLCAgICAxMCksCisJTVgzMV9QSU5fQVRBX0NTMQk9IElPTVVYX1BJTig5MSwgICAgMTEpLAorCU1YMzFfUElOX0FUQV9DUzAJPSBJT01VWF9QSU4oOTAsICAgIDEyKSwKKwlNWDMxX1BJTl9TRDFfREFUQTMJPSBJT01VWF9QSU4oNjMsICAgIDEzKSwKKwlNWDMxX1BJTl9TRDFfREFUQTIJPSBJT01VWF9QSU4oNjIsICAgIDE0KSwKKwlNWDMxX1BJTl9TRDFfREFUQTEJPSBJT01VWF9QSU4oNjEsICAgIDE1KSwKKwlNWDMxX1BJTl9TRDFfREFUQTAJPSBJT01VWF9QSU4oNjAsICAgIDE2KSwKKwlNWDMxX1BJTl9TRDFfQ0xLCT0gSU9NVVhfUElOKDU5LCAgICAxNyksCisJTVgzMV9QSU5fU0QxX0NNRAk9IElPTVVYX1BJTig1OCwgICAgMTgpLAorCU1YMzFfUElOX0QzX1NQTAkJPSBJT01VWF9QSU4oMHhmZiwgIDE5KSwKKwlNWDMxX1BJTl9EM19DTFMJCT0gSU9NVVhfUElOKDB4ZmYsICAyMCksCisJTVgzMV9QSU5fRDNfUkVWCQk9IElPTVVYX1BJTigweGZmLCAgMjEpLAorCU1YMzFfUElOX0NPTlRSQVNUCT0gSU9NVVhfUElOKDB4ZmYsICAyMiksCisJTVgzMV9QSU5fVlNZTkMzCQk9IElPTVVYX1BJTigweGZmLCAgMjMpLAorCU1YMzFfUElOX1JFQUQJCT0gSU9NVVhfUElOKDB4ZmYsICAyNCksCisJTVgzMV9QSU5fV1JJVEUJCT0gSU9NVVhfUElOKDB4ZmYsICAyNSksCisJTVgzMV9QSU5fUEFSX1JTCQk9IElPTVVYX1BJTigweGZmLCAgMjYpLAorCU1YMzFfUElOX1NFUl9SUwkJPSBJT01VWF9QSU4oODksICAgIDI3KSwKKwlNWDMxX1BJTl9MQ1MxCQk9IElPTVVYX1BJTig4OCwgICAgMjgpLAorCU1YMzFfUElOX0xDUzAJCT0gSU9NVVhfUElOKDg3LCAgICAyOSksCisJTVgzMV9QSU5fU0RfRF9DTEsJPSBJT01VWF9QSU4oODYsICAgIDMwKSwKKwlNWDMxX1BJTl9TRF9EX0lPCT0gSU9NVVhfUElOKDg1LCAgICAzMSksCisJTVgzMV9QSU5fU0RfRF9JCQk9IElPTVVYX1BJTig4NCwgICAgMzIpLAorCU1YMzFfUElOX0RSRFkwCQk9IElPTVVYX1BJTigweGZmLCAgMzMpLAorCU1YMzFfUElOX0ZQU0hJRlQJPSBJT01VWF9QSU4oMHhmZiwgIDM0KSwKKwlNWDMxX1BJTl9IU1lOQwkJPSBJT01VWF9QSU4oMHhmZiwgIDM1KSwKKwlNWDMxX1BJTl9WU1lOQzAJCT0gSU9NVVhfUElOKDB4ZmYsICAzNiksCisJTVgzMV9QSU5fTEQxNwkJPSBJT01VWF9QSU4oMHhmZiwgIDM3KSwKKwlNWDMxX1BJTl9MRDE2CQk9IElPTVVYX1BJTigweGZmLCAgMzgpLAorCU1YMzFfUElOX0xEMTUJCT0gSU9NVVhfUElOKDB4ZmYsICAzOSksCisJTVgzMV9QSU5fTEQxNAkJPSBJT01VWF9QSU4oMHhmZiwgIDQwKSwKKwlNWDMxX1BJTl9MRDEzCQk9IElPTVVYX1BJTigweGZmLCAgNDEpLAorCU1YMzFfUElOX0xEMTIJCT0gSU9NVVhfUElOKDB4ZmYsICA0MiksCisJTVgzMV9QSU5fTEQxMQkJPSBJT01VWF9QSU4oMHhmZiwgIDQzKSwKKwlNWDMxX1BJTl9MRDEwCQk9IElPTVVYX1BJTigweGZmLCAgNDQpLAorCU1YMzFfUElOX0xEOQkJPSBJT01VWF9QSU4oMHhmZiwgIDQ1KSwKKwlNWDMxX1BJTl9MRDgJCT0gSU9NVVhfUElOKDB4ZmYsICA0NiksCisJTVgzMV9QSU5fTEQ3CQk9IElPTVVYX1BJTigweGZmLCAgNDcpLAorCU1YMzFfUElOX0xENgkJPSBJT01VWF9QSU4oMHhmZiwgIDQ4KSwKKwlNWDMxX1BJTl9MRDUJCT0gSU9NVVhfUElOKDB4ZmYsICA0OSksCisJTVgzMV9QSU5fTEQ0CQk9IElPTVVYX1BJTigweGZmLCAgNTApLAorCU1YMzFfUElOX0xEMwkJPSBJT01VWF9QSU4oMHhmZiwgIDUxKSwKKwlNWDMxX1BJTl9MRDIJCT0gSU9NVVhfUElOKDB4ZmYsICA1MiksCisJTVgzMV9QSU5fTEQxCQk9IElPTVVYX1BJTigweGZmLCAgNTMpLAorCU1YMzFfUElOX0xEMAkJPSBJT01VWF9QSU4oMHhmZiwgIDU0KSwKKwlNWDMxX1BJTl9VU0JIMl9EQVRBMQk9IElPTVVYX1BJTigweGZmLCAgNTUpLAorCU1YMzFfUElOX1VTQkgyX0RBVEEwCT0gSU9NVVhfUElOKDB4ZmYsICA1NiksCisJTVgzMV9QSU5fVVNCSDJfTlhUCT0gSU9NVVhfUElOKDB4ZmYsICA1NyksCisJTVgzMV9QSU5fVVNCSDJfU1RQCT0gSU9NVVhfUElOKDB4ZmYsICA1OCksCisJTVgzMV9QSU5fVVNCSDJfRElSCT0gSU9NVVhfUElOKDB4ZmYsICA1OSksCisJTVgzMV9QSU5fVVNCSDJfQ0xLCT0gSU9NVVhfUElOKDB4ZmYsICA2MCksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE3CT0gSU9NVVhfUElOKDB4ZmYsICA2MSksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE2CT0gSU9NVVhfUElOKDB4ZmYsICA2MiksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE1CT0gSU9NVVhfUElOKDB4ZmYsICA2MyksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEE0CT0gSU9NVVhfUElOKDB4ZmYsICA2NCksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEEzCT0gSU9NVVhfUElOKDB4ZmYsICA2NSksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEEyCT0gSU9NVVhfUElOKDB4ZmYsICA2NiksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEExCT0gSU9NVVhfUElOKDB4ZmYsICA2NyksCisJTVgzMV9QSU5fVVNCT1RHX0RBVEEwCT0gSU9NVVhfUElOKDB4ZmYsICA2OCksCisJTVgzMV9QSU5fVVNCT1RHX05YVAk9IElPTVVYX1BJTigweGZmLCAgNjkpLAorCU1YMzFfUElOX1VTQk9UR19TVFAJPSBJT01VWF9QSU4oMHhmZiwgIDcwKSwKKwlNWDMxX1BJTl9VU0JPVEdfRElSCT0gSU9NVVhfUElOKDB4ZmYsICA3MSksCisJTVgzMV9QSU5fVVNCT1RHX0NMSwk9IElPTVVYX1BJTigweGZmLCAgNzIpLAorCU1YMzFfUElOX1VTQl9CWVAJPSBJT01VWF9QSU4oMzEsICAgIDczKSwKKwlNWDMxX1BJTl9VU0JfT0MJCT0gSU9NVVhfUElOKDMwLCAgICA3NCksCisJTVgzMV9QSU5fVVNCX1BXUgk9IElPTVVYX1BJTigyOSwgICAgNzUpLAorCU1YMzFfUElOX1NKQ19NT0QJPSBJT01VWF9QSU4oMHhmZiwgIDc2KSwKKwlNWDMxX1BJTl9ERV9CCQk9IElPTVVYX1BJTigweGZmLCAgNzcpLAorCU1YMzFfUElOX1RSU1RCCQk9IElPTVVYX1BJTigweGZmLCAgNzgpLAorCU1YMzFfUElOX1RETwkJPSBJT01VWF9QSU4oMHhmZiwgIDc5KSwKKwlNWDMxX1BJTl9UREkJCT0gSU9NVVhfUElOKDB4ZmYsICA4MCksCisJTVgzMV9QSU5fVE1TCQk9IElPTVVYX1BJTigweGZmLCAgODEpLAorCU1YMzFfUElOX1RDSwkJPSBJT01VWF9QSU4oMHhmZiwgIDgyKSwKKwlNWDMxX1BJTl9SVENLCQk9IElPTVVYX1BJTigweGZmLCAgODMpLAorCU1YMzFfUElOX0tFWV9DT0w3CT0gSU9NVVhfUElOKDU3LCAgICA4NCksCisJTVgzMV9QSU5fS0VZX0NPTDYJPSBJT01VWF9QSU4oNTYsICAgIDg1KSwKKwlNWDMxX1BJTl9LRVlfQ09MNQk9IElPTVVYX1BJTig1NSwgICAgODYpLAorCU1YMzFfUElOX0tFWV9DT0w0CT0gSU9NVVhfUElOKDU0LCAgICA4NyksCisJTVgzMV9QSU5fS0VZX0NPTDMJPSBJT01VWF9QSU4oMHhmZiwgIDg4KSwKKwlNWDMxX1BJTl9LRVlfQ09MMgk9IElPTVVYX1BJTigweGZmLCAgODkpLAorCU1YMzFfUElOX0tFWV9DT0wxCT0gSU9NVVhfUElOKDB4ZmYsICA5MCksCisJTVgzMV9QSU5fS0VZX0NPTDAJPSBJT01VWF9QSU4oMHhmZiwgIDkxKSwKKwlNWDMxX1BJTl9LRVlfUk9XNwk9IElPTVVYX1BJTig1MywgICAgOTIpLAorCU1YMzFfUElOX0tFWV9ST1c2CT0gSU9NVVhfUElOKDUyLCAgICA5MyksCisJTVgzMV9QSU5fS0VZX1JPVzUJPSBJT01VWF9QSU4oNTEsICAgIDk0KSwKKwlNWDMxX1BJTl9LRVlfUk9XNAk9IElPTVVYX1BJTig1MCwgICAgOTUpLAorCU1YMzFfUElOX0tFWV9ST1czCT0gSU9NVVhfUElOKDB4ZmYsICA5NiksCisJTVgzMV9QSU5fS0VZX1JPVzIJPSBJT01VWF9QSU4oMHhmZiwgIDk3KSwKKwlNWDMxX1BJTl9LRVlfUk9XMQk9IElPTVVYX1BJTigweGZmLCAgOTgpLAorCU1YMzFfUElOX0tFWV9ST1cwCT0gSU9NVVhfUElOKDB4ZmYsICA5OSksCisJTVgzMV9QSU5fQkFUVF9MSU5FCT0gSU9NVVhfUElOKDQ5LCAgIDEwMCksCisJTVgzMV9QSU5fQ1RTMgkJPSBJT01VWF9QSU4oMHhmZiwgMTAxKSwKKwlNWDMxX1BJTl9SVFMyCQk9IElPTVVYX1BJTigweGZmLCAxMDIpLAorCU1YMzFfUElOX1RYRDIJCT0gSU9NVVhfUElOKDI4LCAgIDEwMyksCisJTVgzMV9QSU5fUlhEMgkJPSBJT01VWF9QSU4oMjcsICAgMTA0KSwKKwlNWDMxX1BJTl9EVFJfRENFMgk9IElPTVVYX1BJTig0OCwgICAxMDUpLAorCU1YMzFfUElOX0RDRF9EVEUxCT0gSU9NVVhfUElOKDQ3LCAgIDEwNiksCisJTVgzMV9QSU5fUklfRFRFMQk9IElPTVVYX1BJTig0NiwgICAxMDcpLAorCU1YMzFfUElOX0RTUl9EVEUxCT0gSU9NVVhfUElOKDQ1LCAgIDEwOCksCisJTVgzMV9QSU5fRFRSX0RURTEJPSBJT01VWF9QSU4oNDQsICAgMTA5KSwKKwlNWDMxX1BJTl9EQ0RfRENFMQk9IElPTVVYX1BJTig0MywgICAxMTApLAorCU1YMzFfUElOX1JJX0RDRTEJPSBJT01VWF9QSU4oNDIsICAgMTExKSwKKwlNWDMxX1BJTl9EU1JfRENFMQk9IElPTVVYX1BJTig0MSwgICAxMTIpLAorCU1YMzFfUElOX0RUUl9EQ0UxCT0gSU9NVVhfUElOKDQwLCAgIDExMyksCisJTVgzMV9QSU5fQ1RTMQkJPSBJT01VWF9QSU4oMzksICAgMTE0KSwKKwlNWDMxX1BJTl9SVFMxCQk9IElPTVVYX1BJTigzOCwgICAxMTUpLAorCU1YMzFfUElOX1RYRDEJCT0gSU9NVVhfUElOKDM3LCAgIDExNiksCisJTVgzMV9QSU5fUlhEMQkJPSBJT01VWF9QSU4oMzYsICAgMTE3KSwKKwlNWDMxX1BJTl9DU1BJMl9TUElfUkRZCT0gSU9NVVhfUElOKDB4ZmYsIDExOCksCisJTVgzMV9QSU5fQ1NQSTJfU0NMSwk9IElPTVVYX1BJTigweGZmLCAxMTkpLAorCU1YMzFfUElOX0NTUEkyX1NTMgk9IElPTVVYX1BJTigweGZmLCAxMjApLAorCU1YMzFfUElOX0NTUEkyX1NTMQk9IElPTVVYX1BJTigweGZmLCAxMjEpLAorCU1YMzFfUElOX0NTUEkyX1NTMAk9IElPTVVYX1BJTigweGZmLCAxMjIpLAorCU1YMzFfUElOX0NTUEkyX01JU08JPSBJT01VWF9QSU4oMHhmZiwgMTIzKSwKKwlNWDMxX1BJTl9DU1BJMl9NT1NJCT0gSU9NVVhfUElOKDB4ZmYsIDEyNCksCisJTVgzMV9QSU5fQ1NQSTFfU1BJX1JEWQk9IElPTVVYX1BJTigweGZmLCAxMjUpLAorCU1YMzFfUElOX0NTUEkxX1NDTEsJPSBJT01VWF9QSU4oMHhmZiwgMTI2KSwKKwlNWDMxX1BJTl9DU1BJMV9TUzIJPSBJT01VWF9QSU4oMHhmZiwgMTI3KSwKKwlNWDMxX1BJTl9DU1BJMV9TUzEJPSBJT01VWF9QSU4oMHhmZiwgMTI4KSwKKwlNWDMxX1BJTl9DU1BJMV9TUzAJPSBJT01VWF9QSU4oMHhmZiwgMTI5KSwKKwlNWDMxX1BJTl9DU1BJMV9NSVNPCT0gSU9NVVhfUElOKDB4ZmYsIDEzMCksCisJTVgzMV9QSU5fQ1NQSTFfTU9TSQk9IElPTVVYX1BJTigweGZmLCAxMzEpLAorCU1YMzFfUElOX1NGUzYJCT0gSU9NVVhfUElOKDI2LCAgIDEzMiksCisJTVgzMV9QSU5fU0NLNgkJPSBJT01VWF9QSU4oMjUsICAgMTMzKSwKKwlNWDMxX1BJTl9TUlhENgkJPSBJT01VWF9QSU4oMjQsICAgMTM0KSwKKwlNWDMxX1BJTl9TVFhENgkJPSBJT01VWF9QSU4oMjMsICAgMTM1KSwKKwlNWDMxX1BJTl9TRlM1CQk9IElPTVVYX1BJTigweGZmLCAxMzYpLAorCU1YMzFfUElOX1NDSzUJCT0gSU9NVVhfUElOKDB4ZmYsIDEzNyksCisJTVgzMV9QSU5fU1JYRDUJCT0gSU9NVVhfUElOKDIyLCAgIDEzOCksCisJTVgzMV9QSU5fU1RYRDUJCT0gSU9NVVhfUElOKDIxLCAgIDEzOSksCisJTVgzMV9QSU5fU0ZTNAkJPSBJT01VWF9QSU4oMHhmZiwgMTQwKSwKKwlNWDMxX1BJTl9TQ0s0CQk9IElPTVVYX1BJTigweGZmLCAxNDEpLAorCU1YMzFfUElOX1NSWEQ0CQk9IElPTVVYX1BJTigyMCwgICAxNDIpLAorCU1YMzFfUElOX1NUWEQ0CQk9IElPTVVYX1BJTigxOSwgICAxNDMpLAorCU1YMzFfUElOX1NGUzMJCT0gSU9NVVhfUElOKDB4ZmYsIDE0NCksCisJTVgzMV9QSU5fU0NLMwkJPSBJT01VWF9QSU4oMHhmZiwgMTQ1KSwKKwlNWDMxX1BJTl9TUlhEMwkJPSBJT01VWF9QSU4oMTgsICAgMTQ2KSwKKwlNWDMxX1BJTl9TVFhEMwkJPSBJT01VWF9QSU4oMTcsICAgMTQ3KSwKKwlNWDMxX1BJTl9JMkNfREFUCT0gSU9NVVhfUElOKDB4ZmYsIDE0OCksCisJTVgzMV9QSU5fSTJDX0NMSwk9IElPTVVYX1BJTigweGZmLCAxNDkpLAorCU1YMzFfUElOX0NTSV9QSVhDTEsJPSBJT01VWF9QSU4oODMsICAgMTUwKSwKKwlNWDMxX1BJTl9DU0lfSFNZTkMJPSBJT01VWF9QSU4oODIsICAgMTUxKSwKKwlNWDMxX1BJTl9DU0lfVlNZTkMJPSBJT01VWF9QSU4oODEsICAgMTUyKSwKKwlNWDMxX1BJTl9DU0lfTUNMSwk9IElPTVVYX1BJTig4MCwgICAxNTMpLAorCU1YMzFfUElOX0NTSV9EMTUJPSBJT01VWF9QSU4oNzksICAgMTU0KSwKKwlNWDMxX1BJTl9DU0lfRDE0CT0gSU9NVVhfUElOKDc4LCAgIDE1NSksCisJTVgzMV9QSU5fQ1NJX0QxMwk9IElPTVVYX1BJTig3NywgICAxNTYpLAorCU1YMzFfUElOX0NTSV9EMTIJPSBJT01VWF9QSU4oNzYsICAgMTU3KSwKKwlNWDMxX1BJTl9DU0lfRDExCT0gSU9NVVhfUElOKDc1LCAgIDE1OCksCisJTVgzMV9QSU5fQ1NJX0QxMAk9IElPTVVYX1BJTig3NCwgICAxNTkpLAorCU1YMzFfUElOX0NTSV9EOQkJPSBJT01VWF9QSU4oNzMsICAgMTYwKSwKKwlNWDMxX1BJTl9DU0lfRDgJCT0gSU9NVVhfUElOKDcyLCAgIDE2MSksCisJTVgzMV9QSU5fQ1NJX0Q3CQk9IElPTVVYX1BJTig3MSwgICAxNjIpLAorCU1YMzFfUElOX0NTSV9ENgkJPSBJT01VWF9QSU4oNzAsICAgMTYzKSwKKwlNWDMxX1BJTl9DU0lfRDUJCT0gSU9NVVhfUElOKDY5LCAgIDE2NCksCisJTVgzMV9QSU5fQ1NJX0Q0CQk9IElPTVVYX1BJTig2OCwgICAxNjUpLAorCU1YMzFfUElOX01fR1JBTlQJPSBJT01VWF9QSU4oMHhmZiwgMTY2KSwKKwlNWDMxX1BJTl9NX1JFUVVFU1QJPSBJT01VWF9QSU4oMHhmZiwgMTY3KSwKKwlNWDMxX1BJTl9QQ19QT0UJCT0gSU9NVVhfUElOKDB4ZmYsIDE2OCksCisJTVgzMV9QSU5fUENfUldfQgk9IElPTVVYX1BJTigweGZmLCAxNjkpLAorCU1YMzFfUElOX0lPSVMxNgkJPSBJT01VWF9QSU4oMHhmZiwgMTcwKSwKKwlNWDMxX1BJTl9QQ19SU1QJCT0gSU9NVVhfUElOKDB4ZmYsIDE3MSksCisJTVgzMV9QSU5fUENfQlZEMgk9IElPTVVYX1BJTigweGZmLCAxNzIpLAorCU1YMzFfUElOX1BDX0JWRDEJPSBJT01VWF9QSU4oMHhmZiwgMTczKSwKKwlNWDMxX1BJTl9QQ19WUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDE3NCksCisJTVgzMV9QSU5fUENfVlMxCQk9IElPTVVYX1BJTigweGZmLCAxNzUpLAorCU1YMzFfUElOX1BDX1BXUk9OCT0gSU9NVVhfUElOKDB4ZmYsIDE3NiksCisJTVgzMV9QSU5fUENfUkVBRFkJPSBJT01VWF9QSU4oMHhmZiwgMTc3KSwKKwlNWDMxX1BJTl9QQ19XQUlUX0IJPSBJT01VWF9QSU4oMHhmZiwgMTc4KSwKKwlNWDMxX1BJTl9QQ19DRDJfQgk9IElPTVVYX1BJTigweGZmLCAxNzkpLAorCU1YMzFfUElOX1BDX0NEMV9CCT0gSU9NVVhfUElOKDB4ZmYsIDE4MCksCisJTVgzMV9QSU5fRDAJCT0gSU9NVVhfUElOKDB4ZmYsIDE4MSksCisJTVgzMV9QSU5fRDEJCT0gSU9NVVhfUElOKDB4ZmYsIDE4MiksCisJTVgzMV9QSU5fRDIJCT0gSU9NVVhfUElOKDB4ZmYsIDE4MyksCisJTVgzMV9QSU5fRDMJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NCksCisJTVgzMV9QSU5fRDQJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NSksCisJTVgzMV9QSU5fRDUJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NiksCisJTVgzMV9QSU5fRDYJCT0gSU9NVVhfUElOKDB4ZmYsIDE4NyksCisJTVgzMV9QSU5fRDcJCT0gSU9NVVhfUElOKDB4ZmYsIDE4OCksCisJTVgzMV9QSU5fRDgJCT0gSU9NVVhfUElOKDB4ZmYsIDE4OSksCisJTVgzMV9QSU5fRDkJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MCksCisJTVgzMV9QSU5fRDEwCQk9IElPTVVYX1BJTigweGZmLCAxOTEpLAorCU1YMzFfUElOX0QxMQkJPSBJT01VWF9QSU4oMHhmZiwgMTkyKSwKKwlNWDMxX1BJTl9EMTIJCT0gSU9NVVhfUElOKDB4ZmYsIDE5MyksCisJTVgzMV9QSU5fRDEzCQk9IElPTVVYX1BJTigweGZmLCAxOTQpLAorCU1YMzFfUElOX0QxNAkJPSBJT01VWF9QSU4oMHhmZiwgMTk1KSwKKwlNWDMxX1BJTl9EMTUJCT0gSU9NVVhfUElOKDB4ZmYsIDE5NiksCisJTVgzMV9QSU5fTkZSQgkJPSBJT01VWF9QSU4oMTYsICAgMTk3KSwKKwlNWDMxX1BJTl9ORkNFX0IJCT0gSU9NVVhfUElOKDE1LCAgIDE5OCksCisJTVgzMV9QSU5fTkZXUF9CCQk9IElPTVVYX1BJTigxNCwgICAxOTkpLAorCU1YMzFfUElOX05GQ0xFCQk9IElPTVVYX1BJTigxMywgICAyMDApLAorCU1YMzFfUElOX05GQUxFCQk9IElPTVVYX1BJTigxMiwgICAyMDEpLAorCU1YMzFfUElOX05GUkVfQgkJPSBJT01VWF9QSU4oMTEsICAgMjAyKSwKKwlNWDMxX1BJTl9ORldFX0IJCT0gSU9NVVhfUElOKDEwLCAgIDIwMyksCisJTVgzMV9QSU5fU0RRUzMJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNCksCisJTVgzMV9QSU5fU0RRUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNSksCisJTVgzMV9QSU5fU0RRUzEJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNiksCisJTVgzMV9QSU5fU0RRUzAJCT0gSU9NVVhfUElOKDB4ZmYsIDIwNyksCisJTVgzMV9QSU5fU0RDTEtfQgk9IElPTVVYX1BJTigweGZmLCAyMDgpLAorCU1YMzFfUElOX1NEQ0xLCQk9IElPTVVYX1BJTigweGZmLCAyMDkpLAorCU1YMzFfUElOX1NEQ0tFMQkJPSBJT01VWF9QSU4oMHhmZiwgMjEwKSwKKwlNWDMxX1BJTl9TRENLRTAJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMSksCisJTVgzMV9QSU5fU0RXRQkJPSBJT01VWF9QSU4oMHhmZiwgMjEyKSwKKwlNWDMxX1BJTl9DQVMJCT0gSU9NVVhfUElOKDB4ZmYsIDIxMyksCisJTVgzMV9QSU5fUkFTCQk9IElPTVVYX1BJTigweGZmLCAyMTQpLAorCU1YMzFfUElOX1JXCQk9IElPTVVYX1BJTigweGZmLCAyMTUpLAorCU1YMzFfUElOX0JDTEsJCT0gSU9NVVhfUElOKDB4ZmYsIDIxNiksCisJTVgzMV9QSU5fTEJBCQk9IElPTVVYX1BJTigweGZmLCAyMTcpLAorCU1YMzFfUElOX0VDQgkJPSBJT01VWF9QSU4oMHhmZiwgMjE4KSwKKwlNWDMxX1BJTl9DUzUJCT0gSU9NVVhfUElOKDB4ZmYsIDIxOSksCisJTVgzMV9QSU5fQ1M0CQk9IElPTVVYX1BJTigweGZmLCAyMjApLAorCU1YMzFfUElOX0NTMwkJPSBJT01VWF9QSU4oMHhmZiwgMjIxKSwKKwlNWDMxX1BJTl9DUzIJCT0gSU9NVVhfUElOKDB4ZmYsIDIyMiksCisJTVgzMV9QSU5fQ1MxCQk9IElPTVVYX1BJTigweGZmLCAyMjMpLAorCU1YMzFfUElOX0NTMAkJPSBJT01VWF9QSU4oMHhmZiwgMjI0KSwKKwlNWDMxX1BJTl9PRQkJPSBJT01VWF9QSU4oMHhmZiwgMjI1KSwKKwlNWDMxX1BJTl9FQjEJCT0gSU9NVVhfUElOKDB4ZmYsIDIyNiksCisJTVgzMV9QSU5fRUIwCQk9IElPTVVYX1BJTigweGZmLCAyMjcpLAorCU1YMzFfUElOX0RRTTMJCT0gSU9NVVhfUElOKDB4ZmYsIDIyOCksCisJTVgzMV9QSU5fRFFNMgkJPSBJT01VWF9QSU4oMHhmZiwgMjI5KSwKKwlNWDMxX1BJTl9EUU0xCQk9IElPTVVYX1BJTigweGZmLCAyMzApLAorCU1YMzFfUElOX0RRTTAJCT0gSU9NVVhfUElOKDB4ZmYsIDIzMSksCisJTVgzMV9QSU5fU0QzMQkJPSBJT01VWF9QSU4oMHhmZiwgMjMyKSwKKwlNWDMxX1BJTl9TRDMwCQk9IElPTVVYX1BJTigweGZmLCAyMzMpLAorCU1YMzFfUElOX1NEMjkJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNCksCisJTVgzMV9QSU5fU0QyOAkJPSBJT01VWF9QSU4oMHhmZiwgMjM1KSwKKwlNWDMxX1BJTl9TRDI3CQk9IElPTVVYX1BJTigweGZmLCAyMzYpLAorCU1YMzFfUElOX1NEMjYJCT0gSU9NVVhfUElOKDB4ZmYsIDIzNyksCisJTVgzMV9QSU5fU0QyNQkJPSBJT01VWF9QSU4oMHhmZiwgMjM4KSwKKwlNWDMxX1BJTl9TRDI0CQk9IElPTVVYX1BJTigweGZmLCAyMzkpLAorCU1YMzFfUElOX1NEMjMJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MCksCisJTVgzMV9QSU5fU0QyMgkJPSBJT01VWF9QSU4oMHhmZiwgMjQxKSwKKwlNWDMxX1BJTl9TRDIxCQk9IElPTVVYX1BJTigweGZmLCAyNDIpLAorCU1YMzFfUElOX1NEMjAJCT0gSU9NVVhfUElOKDB4ZmYsIDI0MyksCisJTVgzMV9QSU5fU0QxOQkJPSBJT01VWF9QSU4oMHhmZiwgMjQ0KSwKKwlNWDMxX1BJTl9TRDE4CQk9IElPTVVYX1BJTigweGZmLCAyNDUpLAorCU1YMzFfUElOX1NEMTcJCT0gSU9NVVhfUElOKDB4ZmYsIDI0NiksCisJTVgzMV9QSU5fU0QxNgkJPSBJT01VWF9QSU4oMHhmZiwgMjQ3KSwKKwlNWDMxX1BJTl9TRDE1CQk9IElPTVVYX1BJTigweGZmLCAyNDgpLAorCU1YMzFfUElOX1NEMTQJCT0gSU9NVVhfUElOKDB4ZmYsIDI0OSksCisJTVgzMV9QSU5fU0QxMwkJPSBJT01VWF9QSU4oMHhmZiwgMjUwKSwKKwlNWDMxX1BJTl9TRDEyCQk9IElPTVVYX1BJTigweGZmLCAyNTEpLAorCU1YMzFfUElOX1NEMTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI1MiksCisJTVgzMV9QSU5fU0QxMAkJPSBJT01VWF9QSU4oMHhmZiwgMjUzKSwKKwlNWDMxX1BJTl9TRDkJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NCksCisJTVgzMV9QSU5fU0Q4CQk9IElPTVVYX1BJTigweGZmLCAyNTUpLAorCU1YMzFfUElOX1NENwkJPSBJT01VWF9QSU4oMHhmZiwgMjU2KSwKKwlNWDMxX1BJTl9TRDYJCT0gSU9NVVhfUElOKDB4ZmYsIDI1NyksCisJTVgzMV9QSU5fU0Q1CQk9IElPTVVYX1BJTigweGZmLCAyNTgpLAorCU1YMzFfUElOX1NENAkJPSBJT01VWF9QSU4oMHhmZiwgMjU5KSwKKwlNWDMxX1BJTl9TRDMJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MCksCisJTVgzMV9QSU5fU0QyCQk9IElPTVVYX1BJTigweGZmLCAyNjEpLAorCU1YMzFfUElOX1NEMQkJPSBJT01VWF9QSU4oMHhmZiwgMjYyKSwKKwlNWDMxX1BJTl9TRDAJCT0gSU9NVVhfUElOKDB4ZmYsIDI2MyksCisJTVgzMV9QSU5fU0RCQTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NCksCisJTVgzMV9QSU5fU0RCQTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI2NSksCisJTVgzMV9QSU5fQTI1CQk9IElPTVVYX1BJTigweGZmLCAyNjYpLAorCU1YMzFfUElOX0EyNAkJPSBJT01VWF9QSU4oMHhmZiwgMjY3KSwKKwlNWDMxX1BJTl9BMjMJCT0gSU9NVVhfUElOKDB4ZmYsIDI2OCksCisJTVgzMV9QSU5fQTIyCQk9IElPTVVYX1BJTigweGZmLCAyNjkpLAorCU1YMzFfUElOX0EyMQkJPSBJT01VWF9QSU4oMHhmZiwgMjcwKSwKKwlNWDMxX1BJTl9BMjAJCT0gSU9NVVhfUElOKDB4ZmYsIDI3MSksCisJTVgzMV9QSU5fQTE5CQk9IElPTVVYX1BJTigweGZmLCAyNzIpLAorCU1YMzFfUElOX0ExOAkJPSBJT01VWF9QSU4oMHhmZiwgMjczKSwKKwlNWDMxX1BJTl9BMTcJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NCksCisJTVgzMV9QSU5fQTE2CQk9IElPTVVYX1BJTigweGZmLCAyNzUpLAorCU1YMzFfUElOX0ExNAkJPSBJT01VWF9QSU4oMHhmZiwgMjc2KSwKKwlNWDMxX1BJTl9BMTUJCT0gSU9NVVhfUElOKDB4ZmYsIDI3NyksCisJTVgzMV9QSU5fQTEzCQk9IElPTVVYX1BJTigweGZmLCAyNzgpLAorCU1YMzFfUElOX0ExMgkJPSBJT01VWF9QSU4oMHhmZiwgMjc5KSwKKwlNWDMxX1BJTl9BMTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MCksCisJTVgzMV9QSU5fTUExMAkJPSBJT01VWF9QSU4oMHhmZiwgMjgxKSwKKwlNWDMxX1BJTl9BMTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MiksCisJTVgzMV9QSU5fQTkJCT0gSU9NVVhfUElOKDB4ZmYsIDI4MyksCisJTVgzMV9QSU5fQTgJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NCksCisJTVgzMV9QSU5fQTcJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NSksCisJTVgzMV9QSU5fQTYJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NiksCisJTVgzMV9QSU5fQTUJCT0gSU9NVVhfUElOKDB4ZmYsIDI4NyksCisJTVgzMV9QSU5fQTQJCT0gSU9NVVhfUElOKDB4ZmYsIDI4OCksCisJTVgzMV9QSU5fQTMJCT0gSU9NVVhfUElOKDB4ZmYsIDI4OSksCisJTVgzMV9QSU5fQTIJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MCksCisJTVgzMV9QSU5fQTEJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MSksCisJTVgzMV9QSU5fQTAJCT0gSU9NVVhfUElOKDB4ZmYsIDI5MiksCisJTVgzMV9QSU5fVlBHMQkJPSBJT01VWF9QSU4oMHhmZiwgMjkzKSwKKwlNWDMxX1BJTl9WUEcwCQk9IElPTVVYX1BJTigweGZmLCAyOTQpLAorCU1YMzFfUElOX0RWRlMxCQk9IElPTVVYX1BJTigweGZmLCAyOTUpLAorCU1YMzFfUElOX0RWRlMwCQk9IElPTVVYX1BJTigweGZmLCAyOTYpLAorCU1YMzFfUElOX1ZTVEJZCQk9IElPTVVYX1BJTigweGZmLCAyOTcpLAorCU1YMzFfUElOX1BPV0VSX0ZBSUwJPSBJT01VWF9QSU4oMHhmZiwgMjk4KSwKKwlNWDMxX1BJTl9DS0lMCQk9IElPTVVYX1BJTigweGZmLCAyOTkpLAorCU1YMzFfUElOX0JPT1RfTU9ERTQJPSBJT01VWF9QSU4oMHhmZiwgMzAwKSwKKwlNWDMxX1BJTl9CT09UX01PREUzCT0gSU9NVVhfUElOKDB4ZmYsIDMwMSksCisJTVgzMV9QSU5fQk9PVF9NT0RFMgk9IElPTVVYX1BJTigweGZmLCAzMDIpLAorCU1YMzFfUElOX0JPT1RfTU9ERTEJPSBJT01VWF9QSU4oMHhmZiwgMzAzKSwKKwlNWDMxX1BJTl9CT09UX01PREUwCT0gSU9NVVhfUElOKDB4ZmYsIDMwNCksCisJTVgzMV9QSU5fQ0xLTwkJPSBJT01VWF9QSU4oMHhmZiwgMzA1KSwKKwlNWDMxX1BJTl9QT1JfQgkJPSBJT01VWF9QSU4oMHhmZiwgMzA2KSwKKwlNWDMxX1BJTl9SRVNFVF9JTl9CCT0gSU9NVVhfUElOKDB4ZmYsIDMwNyksCisJTVgzMV9QSU5fQ0tJSAkJPSBJT01VWF9QSU4oMHhmZiwgMzA4KSwKKwlNWDMxX1BJTl9TSU1QRDAJCT0gSU9NVVhfUElOKDM1LCAgIDMwOSksCisJTVgzMV9QSU5fU1JYMAkJPSBJT01VWF9QSU4oMzQsICAgMzEwKSwKKwlNWDMxX1BJTl9TVFgwCQk9IElPTVVYX1BJTigzMywgICAzMTEpLAorCU1YMzFfUElOX1NWRU4wCQk9IElPTVVYX1BJTigzMiwgICAzMTIpLAorCU1YMzFfUElOX1NSU1QwCQk9IElPTVVYX1BJTig2NywgICAzMTMpLAorCU1YMzFfUElOX1NDTEswCQk9IElPTVVYX1BJTig2NiwgICAzMTQpLAorCU1YMzFfUElOX0dQSU8zXzEJPSBJT01VWF9QSU4oNjUsICAgMzE1KSwKKwlNWDMxX1BJTl9HUElPM18wCT0gSU9NVVhfUElOKDY0LCAgIDMxNiksCisJTVgzMV9QSU5fR1BJTzFfNgk9IElPTVVYX1BJTiggNiwgICAzMTcpLAorCU1YMzFfUElOX0dQSU8xXzUJPSBJT01VWF9QSU4oIDUsICAgMzE4KSwKKwlNWDMxX1BJTl9HUElPMV80CT0gSU9NVVhfUElOKCA0LCAgIDMxOSksCisJTVgzMV9QSU5fR1BJTzFfMwk9IElPTVVYX1BJTiggMywgICAzMjApLAorCU1YMzFfUElOX0dQSU8xXzIJPSBJT01VWF9QSU4oIDIsICAgMzIxKSwKKwlNWDMxX1BJTl9HUElPMV8xCT0gSU9NVVhfUElOKCAxLCAgIDMyMiksCisJTVgzMV9QSU5fR1BJTzFfMAk9IElPTVVYX1BJTiggMCwgICAzMjMpLAorCU1YMzFfUElOX1BXTU8JCT0gSU9NVVhfUElOKCA5LCAgIDMyNCksCisJTVgzMV9QSU5fV0FUQ0hET0dfUlNUCT0gSU9NVVhfUElOKDB4ZmYsIDMyNSksCisJTVgzMV9QSU5fQ09NUEFSRQk9IElPTVVYX1BJTiggOCwgICAzMjYpLAorCU1YMzFfUElOX0NBUFRVUkUJPSBJT01VWF9QSU4oIDcsICAgMzI3KSwKK307CisKKy8qCisgKiBDb252ZW5pZW5jZSB2YWx1ZXMgZm9yIHVzZSB3aXRoIG14Y19pb211eF9tb2RlKCkKKyAqCisgKiBGb3JtYXQgaGVyZSBpcyBNWDMxX1BJTl8ocGluIG5hbWUpX18oZnVuY3Rpb24pCisgKi8KKyNkZWZpbmUgTVgzMV9QSU5fQ1NQSTNfTU9TSV9fUlhEMwlJT01VWF9NT0RFKE1YMzFfUElOX0NTUEkzX01PU0ksIElPTVVYX0NPTkZJR19BTFQxKQorI2RlZmluZSBNWDMxX1BJTl9DU1BJM19NSVNPX19UWEQzCUlPTVVYX01PREUoTVgzMV9QSU5fQ1NQSTNfTUlTTywgSU9NVVhfQ09ORklHX0FMVDEpCisjZGVmaW5lIE1YMzFfUElOX0NUUzFfX0NUUzEJCUlPTVVYX01PREUoTVgzMV9QSU5fQ1RTMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisjZGVmaW5lIE1YMzFfUElOX1JUUzFfX1JUUzEJCUlPTVVYX01PREUoTVgzMV9QSU5fUlRTMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisjZGVmaW5lIE1YMzFfUElOX1RYRDFfX1RYRDEJCUlPTVVYX01PREUoTVgzMV9QSU5fVFhEMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisjZGVmaW5lIE1YMzFfUElOX1JYRDFfX1JYRDEJCUlPTVVYX01PREUoTVgzMV9QSU5fUlhEMSwgSU9NVVhfQ09ORklHX0ZVTkMpCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNvbmZpZ3VyZXMgdGhlIHBhZCB2YWx1ZSBmb3IgYSBJT01VWCBwaW4uCisgKi8KK3ZvaWQgbXhjX2lvbXV4X3NldF9wYWQoZW51bSBpb211eF9waW5zLCB1MzIpOworCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9pcnFzLmgKaW5kZXggYjJjNTIwNS4uZjQxNjEzMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvaXJxcy5oCkBAIC0xMywxNyArMTMsNCBAQAogCiAjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CiAKLSNkZWZpbmUgTVhDX0lSUV9UT19FWFBJTyhpcnEpCSgoaXJxKSAtIE1YQ19FWFBfSU9fQkFTRSkKLQotI2RlZmluZSBNWENfSVJRX1RPX0dQSU8oaXJxKQkoKGlycSkgLSBNWENfR1BJT19JTlRfQkFTRSkKLSNkZWZpbmUgTVhDX0dQSU9fVE9fSVJRKHgpCShNWENfR1BJT19JTlRfQkFTRSArIHgpCi0KLS8qIE51bWJlciBvZiBub3JtYWwgaW50ZXJydXB0cyAqLwotI2RlZmluZSBOUl9JUlFTCQkoTVhDX01BWF9JTlRfTElORVMgKyBcCi0JCQlNWENfTUFYX0dQSU9fTElORVMgKyBcCi0JCQlNWENfTUFYX1ZJUlRVQUxfSU5UUykKLQotLyogTnVtYmVyIG9mIGZhc3QgaW50ZXJydXB0cyAqLwotI2RlZmluZSBOUl9GSVFTCQlNWENfTUFYX0lOVFMKLQogI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX0lSUVNfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgyNy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MjcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTJlY2MyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MjcuaApAQCAtMCwwICsxLDMwMiBAQAorLyoKKyAqIENvcHlyaWdodCAyMDA0LTIwMDcgRnJlZXNjYWxlIFNlbWljb25kdWN0b3IsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqIENvcHlyaWdodCAyMDA4IEp1ZXJnZW4gQmVpc2VydCwga2VybmVsQHBlbmd1dHJvbml4LmRlCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgX19BU01fQVJDSF9NWENfTVgyN19IX18KKyNkZWZpbmUgX19BU01fQVJDSF9NWENfTVgyN19IX18KKworI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19IQVJEV0FSRV9IX18KKyNlcnJvciAiRG8gbm90IGluY2x1ZGUgZGlyZWN0bHkuIgorI2VuZGlmCisKKy8qIElSQU0gKi8KKyNkZWZpbmUgSVJBTV9CQVNFX0FERFIgICAgICAgICAgMHhGRkZGNEMwMAkvKiBpbnRlcm5hbCByYW0gKi8KKworLyogUmVnaXN0ZXIgb2ZmZXN0cyAqLworI2RlZmluZSBBSVBJX0JBU0VfQUREUiAgICAgICAgICAweDEwMDAwMDAwCisjZGVmaW5lIEFJUElfQkFTRV9BRERSX1ZJUlQgICAgIDB4RjQwMDAwMDAKKyNkZWZpbmUgQUlQSV9TSVpFICAgICAgICAgICAgICAgU1pfMU0KKworI2RlZmluZSBETUFfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDAxMDAwKQorI2RlZmluZSBXRE9HX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDAyMDAwKQorI2RlZmluZSBHUFQxX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDAzMDAwKQorI2RlZmluZSBHUFQyX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA0MDAwKQorI2RlZmluZSBHUFQzX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA1MDAwKQorI2RlZmluZSBQV01fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA2MDAwKQorI2RlZmluZSBSVENfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA3MDAwKQorI2RlZmluZSBLUFBfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA4MDAwKQorI2RlZmluZSBPV0lSRV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDA5MDAwKQorI2RlZmluZSBVQVJUMV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBBMDAwKQorI2RlZmluZSBVQVJUMl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBCMDAwKQorI2RlZmluZSBVQVJUM19CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBDMDAwKQorI2RlZmluZSBVQVJUNF9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBEMDAwKQorI2RlZmluZSBDU1BJMV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBFMDAwKQorI2RlZmluZSBDU1BJMl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDBGMDAwKQorI2RlZmluZSBTU0kxX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDEwMDAwKQorI2RlZmluZSBTU0kyX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDExMDAwKQorI2RlZmluZSBJMkNfQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDEyMDAwKQorI2RlZmluZSBTREhDMV9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDEzMDAwKQorI2RlZmluZSBTREhDMl9CQVNFX0FERFIgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE0MDAwKQorI2RlZmluZSBHUElPX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE1MDAwKQorI2RlZmluZSBBVURNVVhfQkFTRV9BRERSICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDE2MDAwKQorCisjZGVmaW5lIENTUEkzX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTcwMDApCisjZGVmaW5lIE1TSENfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTgwMDApCisjZGVmaW5lIEdQVDVfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MTkwMDApCisjZGVmaW5lIEdQVDRfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUEwMDApCisjZGVmaW5lIFVBUlQ1X0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUIwMDApCisjZGVmaW5lIFVBUlQ2X0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUMwMDApCisjZGVmaW5lIEkyQzJfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUQwMDApCisjZGVmaW5lIFNESEMzX0JBU0VfQUREUiAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUUwMDApCisjZGVmaW5lIEdQVDZfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MUYwMDApCisKKyNkZWZpbmUgTENEQ19CQVNFX0FERFIgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyMTAwMCkKKyNkZWZpbmUgU0xDRENfQkFTRV9BRERSICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyMjAwMCkKKyNkZWZpbmUgVlBVX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyMzAwMCkKKyNkZWZpbmUgVVNCT1RHX0JBU0VfQUREUiAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgyNDAwMCkKKy8qIGZvciBteDI3Ki8KKyNkZWZpbmUgT1RHX0JBU0VfQUREUiAgICAgICAgICAgVVNCT1RHX0JBU0VfQUREUgorI2RlZmluZSBTQUhBUkFfQkFTRV9BRERSICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI1MDAwKQorI2RlZmluZSBFTU1BX0JBU0VfQUREUiAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI2NDAwKQorI2RlZmluZSBDQ01fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI3MDAwKQorI2RlZmluZSBTWVNDVFJMX0JBU0VfQUREUiAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI3ODAwKQorI2RlZmluZSBJSU1fQkFTRV9BRERSICAgICAgICAgICAoQUlQSV9CQVNFX0FERFIgKyAweDI4MDAwKQorCisjZGVmaW5lIFJUSUNfQkFTRV9BRERSICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MkEwMDApCisjZGVmaW5lIEZFQ19CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MkIwMDApCisjZGVmaW5lIFNDQ19CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4MkMwMDApCisjZGVmaW5lIEVUQl9CQVNFX0FERFIgICAgICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0IwMDApCisjZGVmaW5lIEVUQl9SQU1fQkFTRV9BRERSICAgICAgIChBSVBJX0JBU0VfQUREUiArIDB4M0MwMDApCisKKyNkZWZpbmUgSkFNX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgzRTAwMCkKKyNkZWZpbmUgTUFYX0JBU0VfQUREUiAgICAgICAgICAgKEFJUElfQkFTRV9BRERSICsgMHgzRjAwMCkKKworLyogUk9NUCBhbmQgQVZJQyAqLworI2RlZmluZSBST01QX0JBU0VfQUREUiAgICAgICAgICAweDEwMDQxMDAwCisKKyNkZWZpbmUgQVZJQ19CQVNFX0FERFIgICAgICAgICAgMHgxMDA0MDAwMAorCisjZGVmaW5lIFNBSEIxX0JBU0VfQUREUiAgICAgICAgIDB4ODAwMDAwMDAKKyNkZWZpbmUgU0FIQjFfQkFTRV9BRERSX1ZJUlQgICAgMHhGNDEwMDAwMAorI2RlZmluZSBTQUhCMV9TSVpFICAgICAgICAgICAgICBTWl8xTQorCisjZGVmaW5lIENTSV9CQVNFX0FERFIgICAgICAgICAgIChTQUhCMV9CQVNFX0FERFIgKyAweDAwMDApCisjZGVmaW5lIEFUQV9CQVNFX0FERFIgICAgICAgICAgIChTQUhCMV9CQVNFX0FERFIgKyAweDEwMDApCisKKy8qIE5BTkQsIFNEUkFNLCBXRUlNLCBNM0lGLCBFTUkgY29udHJvbGxlcnMgKi8KKyNkZWZpbmUgWF9NRU1DX0JBU0VfQUREUiAgICAgICAgMHhEODAwMDAwMAorI2RlZmluZSBYX01FTUNfQkFTRV9BRERSX1ZJUlQgICAweEY0MjAwMDAwCisjZGVmaW5lIFhfTUVNQ19TSVpFICAgICAgICAgICAgIFNaXzFNCisKKyNkZWZpbmUgTkZDX0JBU0VfQUREUiAgICAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIpCisjZGVmaW5lIFNEUkFNQ19CQVNFX0FERFIgICAgICAgIChYX01FTUNfQkFTRV9BRERSICsgMHgxMDAwKQorI2RlZmluZSBXRUlNX0JBU0VfQUREUiAgICAgICAgICAoWF9NRU1DX0JBU0VfQUREUiArIDB4MjAwMCkKKyNkZWZpbmUgTTNJRl9CQVNFX0FERFIgICAgICAgICAgKFhfTUVNQ19CQVNFX0FERFIgKyAweDMwMDApCisjZGVmaW5lIFBDTUNJQV9DVExfQkFTRV9BRERSICAgIChYX01FTUNfQkFTRV9BRERSICsgMHg0MDAwKQorCisvKiBNZW1vcnkgcmVnaW9ucyBhbmQgQ1MgKi8KKyNkZWZpbmUgU0RSQU1fQkFTRV9BRERSCQkweEEwMDAwMDAwCisjZGVmaW5lIENTRDFfQkFTRV9BRERSCQkweEIwMDAwMDAwCisKKyNkZWZpbmUgQ1MwX0JBU0VfQUREUiAgICAgICAgICAgMHhDMDAwMDAwMAorI2RlZmluZSBDUzFfQkFTRV9BRERSICAgICAgICAgICAweEM4MDAwMDAwCisjZGVmaW5lIENTMl9CQVNFX0FERFIgICAgICAgICAgIDB4RDAwMDAwMDAKKyNkZWZpbmUgQ1MzX0JBU0VfQUREUiAgICAgICAgICAgMHhEMjAwMDAwMAorI2RlZmluZSBDUzRfQkFTRV9BRERSICAgICAgICAgICAweEQ0MDAwMDAwCisjZGVmaW5lIENTNV9CQVNFX0FERFIgICAgICAgICAgIDB4RDYwMDAwMDAKKyNkZWZpbmUgUENNQ0lBX01FTV9CQVNFX0FERFIgICAgMHhEQzAwMDAwMAorCisvKgorICogVGhpcyBtYWNybyBkZWZpbmVzIHRoZSBwaHlzaWNhbCB0byB2aXJ0dWFsIGFkZHJlc3MgbWFwcGluZyBmb3IgYWxsIHRoZQorICogcGVyaXBoZXJhbCBtb2R1bGVzLiBJdCBpcyB1c2VkIGJ5IHBhc3NpbmcgaW4gdGhlIHBoeXNpY2FsIGFkZHJlc3MgYXMgeAorICogYW5kIHJldHVybmluZyB0aGUgdmlydHVhbCBhZGRyZXNzLiBJZiB0aGUgcGh5c2ljYWwgYWRkcmVzcyBpcyBub3QgbWFwcGVkLAorICogaXQgcmV0dXJucyAweERFQURCRUVGCisgKi8KKyNkZWZpbmUgSU9fQUREUkVTUyh4KSAgIFwKKwkoKCh4ID49IEFJUElfQkFTRV9BRERSKSAmJiAoeCA8IChBSVBJX0JBU0VfQUREUiArIEFJUElfU0laRSkpKSA/IFwKKwkJQUlQSV9JT19BRERSRVNTKHgpIDogXAorCSgoeCA+PSBTQUhCMV9CQVNFX0FERFIpICYmICh4IDwgKFNBSEIxX0JBU0VfQUREUiArIFNBSEIxX1NJWkUpKSkgPyBcCisJCVNBSEIxX0lPX0FERFJFU1MoeCkgOiBcCisJKCh4ID49IFhfTUVNQ19CQVNFX0FERFIpICYmICh4IDwgKFhfTUVNQ19CQVNFX0FERFIgKyBYX01FTUNfU0laRSkpKSA/IFwKKwkJWF9NRU1DX0lPX0FERFJFU1MoeCkgOiAweERFQURCRUVGKQorCisvKiBkZWZpbmUgdGhlIGFkZHJlc3MgbWFwcGluZyBtYWNyb3M6IGluIHBoeXNpY2FsIGFkZHJlc3Mgb3JkZXIgKi8KKyNkZWZpbmUgQUlQSV9JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBBSVBJX0JBU0VfQUREUikgKyBBSVBJX0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIEFWSUNfSU9fQUREUkVTUyh4KQlBSVBJX0lPX0FERFJFU1MoeCkKKworI2RlZmluZSBTQUhCMV9JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBTQUhCMV9CQVNFX0FERFIpICsgU0FIQjFfQkFTRV9BRERSX1ZJUlQpCisKKyNkZWZpbmUgQ1M0X0lPX0FERFJFU1MoeCkgIFwKKwkoKCh4KSAtIENTNF9CQVNFX0FERFIpICsgQ1M0X0JBU0VfQUREUl9WSVJUKQorCisjZGVmaW5lIFhfTUVNQ19JT19BRERSRVNTKHgpICBcCisJKCgoeCkgLSBYX01FTUNfQkFTRV9BRERSKSArIFhfTUVNQ19CQVNFX0FERFJfVklSVCkKKworI2RlZmluZSBQQ01DSUFfSU9fQUREUkVTUyh4KSBcCisJKCgoeCkgLSBYX01FTUNfQkFTRV9BRERSKSArIFhfTUVNQ19CQVNFX0FERFJfVklSVCkKKworLyogZml4ZWQgaW50ZXJycHV0IG51bWJlcnMgKi8KKyNkZWZpbmUgTVhDX0lOVF9DQ00JCTYzCisjZGVmaW5lIE1YQ19JTlRfSUlNCQk2MgorI2RlZmluZSBNWENfSU5UX0xDREMJCTYxCisjZGVmaW5lIE1YQ19JTlRfU0xDREMJCTYwCisjZGVmaW5lIE1YQ19JTlRfU0FIQVJBCQk1OQorI2RlZmluZSBNWENfSU5UX1NDQ19TQ00JCTU4CisjZGVmaW5lIE1YQ19JTlRfU0NDX1NNTgkJNTcKKyNkZWZpbmUgTVhDX0lOVF9VU0IzCQk1NgorI2RlZmluZSBNWENfSU5UX1VTQjIJCTU1CisjZGVmaW5lIE1YQ19JTlRfVVNCMQkJNTQKKyNkZWZpbmUgTVhDX0lOVF9WUFUJCTUzCisjZGVmaW5lIE1YQ19JTlRfRU1NQVBQCQk1MgorI2RlZmluZSBNWENfSU5UX0VNTUFQUlAJCTUxCisjZGVmaW5lIE1YQ19JTlRfRkVDCQk1MAorI2RlZmluZSBNWENfSU5UX1VBUlQ1CQk0OQorI2RlZmluZSBNWENfSU5UX1VBUlQ2CQk0OAorI2RlZmluZSBNWENfSU5UX0RNQUNIMTUJCTQ3CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxNAkJNDYKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEzCQk0NQorI2RlZmluZSBNWENfSU5UX0RNQUNIMTIJCTQ0CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxMQkJNDMKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDEwCQk0MgorI2RlZmluZSBNWENfSU5UX0RNQUNIOQkJNDEKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDgJCTQwCisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g3CQkzOQorI2RlZmluZSBNWENfSU5UX0RNQUNINgkJMzgKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDUJCTM3CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0g0CQkzNgorI2RlZmluZSBNWENfSU5UX0RNQUNIMwkJMzUKKyNkZWZpbmUgTVhDX0lOVF9ETUFDSDIJCTM0CisjZGVmaW5lIE1YQ19JTlRfRE1BQ0gxCQkzMworI2RlZmluZSBNWENfSU5UX0RNQUNIMAkJMzIKKyNkZWZpbmUgTVhDX0lOVF9DU0kJCTMxCisjZGVmaW5lIE1YQ19JTlRfQVRBCQkzMAorI2RlZmluZSBNWENfSU5UX05BTkRGQwkJMjkKKyNkZWZpbmUgTVhDX0lOVF9QQ01DSUEJCTI4CisjZGVmaW5lIE1YQ19JTlRfV0RPRwkJMjcKKyNkZWZpbmUgTVhDX0lOVF9HUFQxCQkyNgorI2RlZmluZSBNWENfSU5UX0dQVDIJCTI1CisjZGVmaW5lIE1YQ19JTlRfR1BUMwkJMjQKKyNkZWZpbmUgTVhDX0lOVF9HUFQJCUlOVF9HUFQxCisjZGVmaW5lIE1YQ19JTlRfUFdNCQkyMworI2RlZmluZSBNWENfSU5UX1JUQwkJMjIKKyNkZWZpbmUgTVhDX0lOVF9LUFAJCTIxCisjZGVmaW5lIE1YQ19JTlRfVUFSVDEJCTIwCisjZGVmaW5lIE1YQ19JTlRfVUFSVDIJCTE5CisjZGVmaW5lIE1YQ19JTlRfVUFSVDMJCTE4CisjZGVmaW5lIE1YQ19JTlRfVUFSVDQJCTE3CisjZGVmaW5lIE1YQ19JTlRfQ1NQSTEJCTE2CisjZGVmaW5lIE1YQ19JTlRfQ1NQSTIJCTE1CisjZGVmaW5lIE1YQ19JTlRfU1NJMQkJMTQKKyNkZWZpbmUgTVhDX0lOVF9TU0kyCQkxMworI2RlZmluZSBNWENfSU5UX0kyQwkJMTIKKyNkZWZpbmUgTVhDX0lOVF9TREhDMQkJMTEKKyNkZWZpbmUgTVhDX0lOVF9TREhDMgkJMTAKKyNkZWZpbmUgTVhDX0lOVF9TREhDMwkJOQorI2RlZmluZSBNWENfSU5UX0dQSU8JCTgKKyNkZWZpbmUgTVhDX0lOVF9TREhDCQk3CisjZGVmaW5lIE1YQ19JTlRfQ1NQSTMJCTYKKyNkZWZpbmUgTVhDX0lOVF9SVElDCQk1CisjZGVmaW5lIE1YQ19JTlRfR1BUNAkJNAorI2RlZmluZSBNWENfSU5UX0dQVDUJCTMKKyNkZWZpbmUgTVhDX0lOVF9HUFQ2CQkyCisjZGVmaW5lIE1YQ19JTlRfSTJDMgkJMQorCisvKiBmaXhlZCBETUEgcmVxdWVzdCBudW1iZXJzICovCisjZGVmaW5lIERNQV9SRVFfTkZDICAgICAgICAgICAgIDM3CisjZGVmaW5lIERNQV9SRVFfU0RIQzMgICAgICAgICAgIDM2CisjZGVmaW5lIERNQV9SRVFfVUFSVDZfUlggICAgICAgIDM1CisjZGVmaW5lIERNQV9SRVFfVUFSVDZfVFggICAgICAgIDM0CisjZGVmaW5lIERNQV9SRVFfVUFSVDVfUlggICAgICAgIDMzCisjZGVmaW5lIERNQV9SRVFfVUFSVDVfVFggICAgICAgIDMyCisjZGVmaW5lIERNQV9SRVFfQ1NJX1JYICAgICAgICAgIDMxCisjZGVmaW5lIERNQV9SRVFfQ1NJX1NUQVQgICAgICAgIDMwCisjZGVmaW5lIERNQV9SRVFfQVRBX1JDViAgICAgICAgIDI5CisjZGVmaW5lIERNQV9SRVFfQVRBX1RYICAgICAgICAgIDI4CisjZGVmaW5lIERNQV9SRVFfVUFSVDFfVFggICAgICAgIDI3CisjZGVmaW5lIERNQV9SRVFfVUFSVDFfUlggICAgICAgIDI2CisjZGVmaW5lIERNQV9SRVFfVUFSVDJfVFggICAgICAgIDI1CisjZGVmaW5lIERNQV9SRVFfVUFSVDJfUlggICAgICAgIDI0CisjZGVmaW5lIERNQV9SRVFfVUFSVDNfVFggICAgICAgIDIzCisjZGVmaW5lIERNQV9SRVFfVUFSVDNfUlggICAgICAgIDIyCisjZGVmaW5lIERNQV9SRVFfVUFSVDRfVFggICAgICAgIDIxCisjZGVmaW5lIERNQV9SRVFfVUFSVDRfUlggICAgICAgIDIwCisjZGVmaW5lIERNQV9SRVFfQ1NQSTFfVFggICAgICAgIDE5CisjZGVmaW5lIERNQV9SRVFfQ1NQSTFfUlggICAgICAgIDE4CisjZGVmaW5lIERNQV9SRVFfQ1NQSTJfVFggICAgICAgIDE3CisjZGVmaW5lIERNQV9SRVFfQ1NQSTJfUlggICAgICAgIDE2CisjZGVmaW5lIERNQV9SRVFfU1NJMV9UWDEgICAgICAgIDE1CisjZGVmaW5lIERNQV9SRVFfU1NJMV9SWDEgICAgICAgIDE0CisjZGVmaW5lIERNQV9SRVFfU1NJMV9UWDAgICAgICAgIDEzCisjZGVmaW5lIERNQV9SRVFfU1NJMV9SWDAgICAgICAgIDEyCisjZGVmaW5lIERNQV9SRVFfU1NJMl9UWDEgICAgICAgIDExCisjZGVmaW5lIERNQV9SRVFfU1NJMl9SWDEgICAgICAgIDEwCisjZGVmaW5lIERNQV9SRVFfU1NJMl9UWDAgICAgICAgIDkKKyNkZWZpbmUgRE1BX1JFUV9TU0kyX1JYMCAgICAgICAgOAorI2RlZmluZSBETUFfUkVRX1NESEMxICAgICAgICAgICA3CisjZGVmaW5lIERNQV9SRVFfU0RIQzIgICAgICAgICAgIDYKKyNkZWZpbmUgRE1BX1JFUV9NU0hDICAgICAgICAgICAgNAorI2RlZmluZSBETUFfUkVRX0VYVCAgICAgICAgICAgICAzCisjZGVmaW5lIERNQV9SRVFfQ1NQSTNfVFggICAgICAgIDIKKyNkZWZpbmUgRE1BX1JFUV9DU1BJM19SWCAgICAgICAgMQorCisvKiBzaWxpY29uIHJldmlzaW9ucyBzcGVjaWZpYyB0byBpLk1YMjcgKi8KKyNkZWZpbmUgQ0hJUF9SRVZfMV8wCQkweDAwCisjZGVmaW5lIENISVBfUkVWXzJfMAkJMHgwMQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworZXh0ZXJuIGludCBteDI3X3JldmlzaW9uKHZvaWQpOworI2VuZGlmCisKKy8qIGdwaW8gYW5kIGdwaW8gYmFzZWQgaW50ZXJydXB0IGhhbmRsaW5nICovCisjZGVmaW5lIEdQSU9fRFIJCSAJMHgxQworI2RlZmluZSBHUElPX0dESVIJIAkweDAwCisjZGVmaW5lIEdQSU9fUFNSCSAJMHgyNAorI2RlZmluZSBHUElPX0lDUjEJIAkweDI4CisjZGVmaW5lIEdQSU9fSUNSMgkgCTB4MkMKKyNkZWZpbmUgR1BJT19JTVIJIAkweDMwCisjZGVmaW5lIEdQSU9fSVNSCSAJMHgzNAorI2RlZmluZSBHUElPX0lOVF9MT1dfTEVWCTB4MworI2RlZmluZSBHUElPX0lOVF9ISUdIX0xFVgkweDIKKyNkZWZpbmUgR1BJT19JTlRfUklTRV9FREdFIAkweDAKKyNkZWZpbmUgR1BJT19JTlRfRkFMTF9FREdFCTB4MQorI2RlZmluZSBHUElPX0lOVF9OT05FCQkweDQKKworLyogTWFuZGF0b3J5IGRlZmluZXMgdXNlZCBnbG9iYWxseSAqLworCisvKiB0aGlzIGlzIGFuIGkuTVgyNyBDUFUgKi8KKyNkZWZpbmUgY3B1X2lzX214MjcoKQkJKDEpCisKKy8qIHRoaXMgQ1BVIHN1cHBvcnRzIHVwIHRvIDE5MiBHUElPcyAoZG9uJ3QgZm9yZ2V0IHRoZSBiYXNlYm9hcmQhKSAqLworI2RlZmluZSBBUkNIX05SX0dQSU9TCQkoMTkyICsgMTYpCisKKy8qIE9TIGNsb2NrIHRpY2sgcmF0ZSAqLworI2RlZmluZSBDTE9DS19USUNLX1JBVEUgICAgICAgICAxMzMwMDAwMAorCisvKiBTdGFydCBvZiBSQU0gKi8KKyNkZWZpbmUgUEhZU19PRkZTRVQJCVNEUkFNX0JBU0VfQUREUgorCisvKiBtYXggaW50ZXJydXB0IGxpbmVzIGNvdW50ICovCisjZGVmaW5lIE5SX0lSUVMJCQkyNTYKKworLyogY291bnQgb2YgaW50ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgKi8KKyNkZWZpbmUgTVhDX01BWF9JTlRfTElORVMJNjQKKworI2VuZGlmIC8qIF9fQVNNX0FSQ0hfTVhDX01YMjdfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214MzEuaAppbmRleCAzNmExYWY0Li5hNzM3M2U0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXgzMS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teDMxLmgKQEAgLTMyMCw2ICszMjAsOCBAQAogI2RlZmluZSBNWENfTUFYX0dQSU9fTElORVMgICAgICAoR1BJT19OVU1fUElOICogR1BJT19QT1JUX05VTSkKICNkZWZpbmUgTVhDX01BWF9WSVJUVUFMX0lOVFMJMTYKIAorI2RlZmluZSBOUl9JUlFTIChNWENfTUFYX0lOVF9MSU5FUyArIE1YQ19NQVhfR1BJT19MSU5FUyArIE1YQ19NQVhfVklSVFVBTF9JTlRTKQorCiAvKiEKICAqIE51bWJlciBvZiBHUElPIHBvcnQgYXMgZGVmaW5lZCBpbiB0aGUgSUMgU3BlYwogICovCkBAIC0zNDcsNiArMzQ5LDI1IEBACiAjZGVmaW5lIFNZU1RFTV9SRVZfTUlOCQlDSElQX1JFVl8xXzAKICNkZWZpbmUgU1lTVEVNX1JFVl9OVU0JCTMKIAorLyogZ3BpbyBhbmQgZ3BpbyBiYXNlZCBpbnRlcnJ1cHQgaGFuZGxpbmcgKi8KKyNkZWZpbmUgR1BJT19EUgkJIAkweDAwCisjZGVmaW5lIEdQSU9fR0RJUgkgCTB4MDQKKyNkZWZpbmUgR1BJT19QU1IJIAkweDA4CisjZGVmaW5lIEdQSU9fSUNSMQkgCTB4MEMKKyNkZWZpbmUgR1BJT19JQ1IyCSAJMHgxMAorI2RlZmluZSBHUElPX0lNUgkgCTB4MTQKKyNkZWZpbmUgR1BJT19JU1IJIAkweDE4CisjZGVmaW5lIEdQSU9fSU5UX0xPV19MRVYJMHgwCisjZGVmaW5lIEdQSU9fSU5UX0hJR0hfTEVWCTB4MQorI2RlZmluZSBHUElPX0lOVF9SSVNFX0VER0UJMHgyCisjZGVmaW5lIEdQSU9fSU5UX0ZBTExfRURHRQkweDMKKyNkZWZpbmUgR1BJT19JTlRfTk9ORQkJMHg0CisKKy8qIE1hbmRhdG9yeSBkZWZpbmVzIHVzZWQgZ2xvYmFsbHkgKi8KKworLyogdGhpcyBDUFUgc3VwcG9ydHMgdXAgdG8gOTYgR1BJT3MgKi8KKyNkZWZpbmUgQVJDSF9OUl9HUElPUwkJOTYKKwogI2lmICFkZWZpbmVkKF9fQVNTRU1CTFlfXykgJiYgIWRlZmluZWQoX19NWENfQk9PVF9VTkNPTVBSRVNTKQogCiAvKiB0aGlzIGlzIGEgaS5NWDMxIENQVSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Yy5oCmluZGV4IDE0NmQzZjYuLjMzMmVkYTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1teGMvbXhjLmgKQEAgLTEsMTEgKzEsMjAgQEAKIC8qCiAgKiBDb3B5cmlnaHQgMjAwNC0yMDA3IEZyZWVzY2FsZSBTZW1pY29uZHVjdG9yLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKi8KLQotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyCisgKiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sCisgKiBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIAogI2lmbmRlZiBfX0FTTV9BUkNIX01YQ19IX18KQEAgLTIwLDEzMyArMjksOCBAQAogIyBkZWZpbmUgY3B1X2lzX214MzEoKSAoMCkKICNlbmRpZgogCi0vKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBHUFQgIFJlZ2lzdGVyIGRlZmluaXRpb25zICAgICAgICAgICAgICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICovCi0jZGVmaW5lIE1YQ19HUFRfR1BUQ1IJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDAwKQotI2RlZmluZSBNWENfR1BUX0dQVFBSCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSICsgMHgwNCkKLSNkZWZpbmUgTVhDX0dQVF9HUFRTUgkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MDgpCi0jZGVmaW5lIE1YQ19HUFRfR1BUSVIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDBDKQotI2RlZmluZSBNWENfR1BUX0dQVE9DUjEJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDEwKQotI2RlZmluZSBNWENfR1BUX0dQVE9DUjIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDE0KQotI2RlZmluZSBNWENfR1BUX0dQVE9DUjMJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDE4KQotI2RlZmluZSBNWENfR1BUX0dQVElDUjEJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDFDKQotI2RlZmluZSBNWENfR1BUX0dQVElDUjIJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIgKyAweDIwKQotI2RlZmluZSBNWENfR1BUX0dQVENOVAkJSU9fQUREUkVTUyhHUFQxX0JBU0VfQUREUiArIDB4MjQpCi0KLS8qIEdQVCBDb250cm9sIHJlZ2lzdGVyIGJpdCBkZWZpbml0aW9ucyAqLwotI2RlZmluZSBHUFRDUl9GTzMJCQkoMSA8PCAzMSkKLSNkZWZpbmUgR1BUQ1JfRk8yCQkJKDEgPDwgMzApCi0jZGVmaW5lIEdQVENSX0ZPMQkJCSgxIDw8IDI5KQotCi0jZGVmaW5lIEdQVENSX09NM19TSElGVAkJCTI2Ci0jZGVmaW5lIEdQVENSX09NM19NQVNLCQkJKDcgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfRElTQ09OTkVDVEVECQkoMCA8PCBHUFRDUl9PTTNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NM19UT0dHTEUJCSgxIDw8IEdQVENSX09NM19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00zX0NMRUFSCQkJKDIgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfU0VUCQkJKDMgPDwgR1BUQ1JfT00zX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTNfR0VORVJBVEVfTE9XCQkoNyA8PCBHUFRDUl9PTTNfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfT00yX1NISUZUCQkJMjMKLSNkZWZpbmUgR1BUQ1JfT00yX01BU0sJCQkoNyA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9ESVNDT05ORUNURUQJCSgwIDw8IEdQVENSX09NMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00yX1RPR0dMRQkJKDEgPDwgR1BUQ1JfT00yX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTJfQ0xFQVIJCQkoMiA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9TRVQJCQkoMyA8PCBHUFRDUl9PTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMl9HRU5FUkFURV9MT1cJCSg3IDw8IEdQVENSX09NMl9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9PTTFfU0hJRlQJCQkyMAotI2RlZmluZSBHUFRDUl9PTTFfTUFTSwkJCSg3IDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX0RJU0NPTk5FQ1RFRAkJKDAgPDwgR1BUQ1JfT00xX1NISUZUKQotI2RlZmluZSBHUFRDUl9PTTFfVE9HR0xFCQkoMSA8PCBHUFRDUl9PTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX09NMV9DTEVBUgkJCSgyIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX1NFVAkJCSgzIDw8IEdQVENSX09NMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfT00xX0dFTkVSQVRFX0xPVwkJKDcgPDwgR1BUQ1JfT00xX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX0lNMl9TSElGVAkJCTE4Ci0jZGVmaW5lIEdQVENSX0lNMl9NQVNLCQkJKDMgPDwgR1BUQ1JfSU0yX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTJfQ0FQVFVSRV9ESVNBQkxFCSgwIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfUklTSU5HCSgxIDw8IEdQVENSX0lNMl9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0yX0NBUFRVUkVfRkFMTElORwkoMiA8PCBHUFRDUl9JTTJfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMl9DQVBUVVJFX0JPVEgJCSgzIDw8IEdQVENSX0lNMl9TSElGVCkKLQotI2RlZmluZSBHUFRDUl9JTTFfU0hJRlQJCQkxNgotI2RlZmluZSBHUFRDUl9JTTFfTUFTSwkJCSgzIDw8IEdQVENSX0lNMV9TSElGVCkKLSNkZWZpbmUgR1BUQ1JfSU0xX0NBUFRVUkVfRElTQUJMRQkoMCA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX1JJU0lORwkoMSA8PCBHUFRDUl9JTTFfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0lNMV9DQVBUVVJFX0ZBTExJTkcJKDIgPDwgR1BUQ1JfSU0xX1NISUZUKQotI2RlZmluZSBHUFRDUl9JTTFfQ0FQVFVSRV9CT1RICQkoMyA8PCBHUFRDUl9JTTFfU0hJRlQpCi0KLSNkZWZpbmUgR1BUQ1JfU1dSCQkJKDEgPDwgMTUpCi0jZGVmaW5lIEdQVENSX0ZSUgkJCSgxIDw8IDkpCi0KLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX1NISUZUCQk2Ci0jZGVmaW5lIEdQVENSX0NMS1NSQ19NQVNLCQkoNyA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19OT0NMT0NLCQkoMCA8PCBHUFRDUl9DTEtTUkNfU0hJRlQpCi0jZGVmaW5lIEdQVENSX0NMS1NSQ19ISUdIRlJFUQkJKDIgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotI2RlZmluZSBHUFRDUl9DTEtTUkNfQ0xLSU4JCSgzIDw8IEdQVENSX0NMS1NSQ19TSElGVCkKLSNkZWZpbmUgR1BUQ1JfQ0xLU1JDX0NMSzMySwkJKDcgPDwgR1BUQ1JfQ0xLU1JDX1NISUZUKQotCi0jZGVmaW5lIEdQVENSX1NUT1BFTgkJCSgxIDw8IDUpCi0jZGVmaW5lIEdQVENSX0RPWkVOCQkJKDEgPDwgNCkKLSNkZWZpbmUgR1BUQ1JfV0FJVEVOCQkJKDEgPDwgMykKLSNkZWZpbmUgR1BUQ1JfREJHRU4JCQkoMSA8PCAyKQotCi0jZGVmaW5lIEdQVENSX0VOTU9ECQkJKDEgPDwgMSkKLSNkZWZpbmUgR1BUQ1JfRU5BQkxFCQkJKDEgPDwgMCkKLQotI2RlZmluZSBHUFRTUl9PRjEJCQkoMSA8PCAwKQotI2RlZmluZSBHUFRTUl9PRjIJCQkoMSA8PCAxKQotI2RlZmluZSBHUFRTUl9PRjMJCQkoMSA8PCAyKQotI2RlZmluZSBHUFRTUl9JRjEJCQkoMSA8PCAzKQotI2RlZmluZSBHUFRTUl9JRjIJCQkoMSA8PCA0KQotI2RlZmluZSBHUFRTUl9ST1YJCQkoMSA8PCA1KQotCi0jZGVmaW5lIEdQVElSX09GMUlFCQkJR1BUU1JfT0YxCi0jZGVmaW5lIEdQVElSX09GMklFCQkJR1BUU1JfT0YyCi0jZGVmaW5lIEdQVElSX09GM0lFCQkJR1BUU1JfT0YzCi0jZGVmaW5lIEdQVElSX0lGMUlFCQkJR1BUU1JfSUYxCi0jZGVmaW5lIEdQVElSX0lGMklFCQkJR1BUU1JfSUYyCi0jZGVmaW5lIEdQVElSX1JPVklFCQkJR1BUU1JfUk9WCi0KLS8qCi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAqIEFWSUMgUmVnaXN0ZXJzICAgICAgICAgICAgICAgICAgICAgICAgKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKi8KLSNkZWZpbmUgQVZJQ19CQVNFCQlJT19BRERSRVNTKEFWSUNfQkFTRV9BRERSKQotI2RlZmluZSBBVklDX0lOVENOVEwJCShBVklDX0JBU0UgKyAweDAwKQkvKiBpbnQgY29udHJvbCByZWcgKi8KLSNkZWZpbmUgQVZJQ19OSU1BU0sJCShBVklDX0JBU0UgKyAweDA0KQkvKiBpbnQgbWFzayByZWcgKi8KLSNkZWZpbmUgQVZJQ19JTlRFTk5VTQkJKEFWSUNfQkFTRSArIDB4MDgpCS8qIGludCBlbmFibGUgbnVtYmVyIHJlZyAqLwotI2RlZmluZSBBVklDX0lOVERJU05VTQkJKEFWSUNfQkFTRSArIDB4MEMpCS8qIGludCBkaXNhYmxlIG51bWJlciByZWcgKi8KLSNkZWZpbmUgQVZJQ19JTlRFTkFCTEVICQkoQVZJQ19CQVNFICsgMHgxMCkJLyogaW50IGVuYWJsZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVEVOQUJMRUwJCShBVklDX0JBU0UgKyAweDE0KQkvKiBpbnQgZW5hYmxlIHJlZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19JTlRUWVBFSAkJKEFWSUNfQkFTRSArIDB4MTgpCS8qIGludCB0eXBlIHJlZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfSU5UVFlQRUwJCShBVklDX0JBU0UgKyAweDFDKQkvKiBpbnQgdHlwZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTcJKEFWSUNfQkFTRSArIDB4MjApCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDcgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZNgkoQVZJQ19CQVNFICsgMHgyNCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsNiAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFk1CShBVklDX0JBU0UgKyAweDI4KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmw1ICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTQJKEFWSUNfQkFTRSArIDB4MkMpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDQgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMwkoQVZJQ19CQVNFICsgMHgzMCkJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMyAqLwotI2RlZmluZSBBVklDX05JUFJJT1JJVFkyCShBVklDX0JBU0UgKyAweDM0KQkvKiBub3JtIGludCBwcmlvcml0eSBsdmwyICovCi0jZGVmaW5lIEFWSUNfTklQUklPUklUWTEJKEFWSUNfQkFTRSArIDB4MzgpCS8qIG5vcm0gaW50IHByaW9yaXR5IGx2bDEgKi8KLSNkZWZpbmUgQVZJQ19OSVBSSU9SSVRZMAkoQVZJQ19CQVNFICsgMHgzQykJLyogbm9ybSBpbnQgcHJpb3JpdHkgbHZsMCAqLwotI2RlZmluZSBBVklDX05JVkVDU1IJCShBVklDX0JBU0UgKyAweDQwKQkvKiBub3JtIGludCB2ZWN0b3Ivc3RhdHVzICovCi0jZGVmaW5lIEFWSUNfRklWRUNTUgkJKEFWSUNfQkFTRSArIDB4NDQpCS8qIGZhc3QgaW50IHZlY3Rvci9zdGF0dXMgKi8KLSNkZWZpbmUgQVZJQ19JTlRTUkNICQkoQVZJQ19CQVNFICsgMHg0OCkJLyogaW50IHNvdXJjZSByZWcgaGlnaCAqLwotI2RlZmluZSBBVklDX0lOVFNSQ0wJCShBVklDX0JBU0UgKyAweDRDKQkvKiBpbnQgc291cmNlIHJlZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19JTlRGUkNICQkoQVZJQ19CQVNFICsgMHg1MCkJLyogaW50IGZvcmNlIHJlZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfSU5URlJDTAkJKEFWSUNfQkFTRSArIDB4NTQpCS8qIGludCBmb3JjZSByZWcgbG93ICovCi0jZGVmaW5lIEFWSUNfTklQTkRICQkoQVZJQ19CQVNFICsgMHg1OCkJLyogbm9ybSBpbnQgcGVuZGluZyBoaWdoICovCi0jZGVmaW5lIEFWSUNfTklQTkRMCQkoQVZJQ19CQVNFICsgMHg1QykJLyogbm9ybSBpbnQgcGVuZGluZyBsb3cgKi8KLSNkZWZpbmUgQVZJQ19GSVBOREgJCShBVklDX0JBU0UgKyAweDYwKQkvKiBmYXN0IGludCBwZW5kaW5nIGhpZ2ggKi8KLSNkZWZpbmUgQVZJQ19GSVBOREwJCShBVklDX0JBU0UgKyAweDY0KQkvKiBmYXN0IGludCBwZW5kaW5nIGxvdyAqLwotCi0jZGVmaW5lIFNZU1RFTV9QUkVWX1JFRwkJSU9fQUREUkVTUyhJSU1fQkFTRV9BRERSICsgMHgyMCkKLSNkZWZpbmUgU1lTVEVNX1NSRVZfUkVHCQlJT19BRERSRVNTKElJTV9CQVNFX0FERFIgKyAweDI0KQotI2RlZmluZSBJSU1fUFJPRF9SRVZfU0gJCTMKLSNkZWZpbmUgSUlNX1BST0RfUkVWX0xFTgk1CisjaWZuZGVmIENPTkZJR19NQUNIX01YMjcKKyMgZGVmaW5lIGNwdV9pc19teDI3KCkgKDApCisjZW5kaWYKIAogI2VuZGlmIC8qICBfX0FTTV9BUkNIX01YQ19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGNfdGltZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW14Yy9teGNfdGltZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2IxMWY0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtbXhjL214Y190aW1lci5oCkBAIC0wLDAgKzEsMTU4IEBACisvKgorICogbXhjX3RpbWVyLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSnVlcmdlbiBCZWlzZXJ0IChrZXJuZWxAcGVuZ3V0cm9uaXguZGUpCisgKgorICogUGxhdGZvcm0gaW5kZXBlbmRlbnQgKGkuTVgxLCBpLk1YMiwgaS5NWDMpIGRlZmluaXRpb24gZm9yIHRpbWVyIGhhbmRsaW5nLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorICogb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIF9fUExBVF9NWENfVElNRVJfSAorI2RlZmluZSBfX1BMQVRfTVhDX1RJTUVSX0gKKworI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS5oPgorCisjaWZkZWYgQ09ORklHX0FSQ0hfSU1YCisjZGVmaW5lIFRJTUVSX0JBU0UJCUlPX0FERFJFU1MoVElNMV9CQVNFX0FERFIpCisjZGVmaW5lIFRJTUVSX0lOVEVSUlVQVAkJVElNMV9JTlQKKworI2RlZmluZSBUQ1RMX1ZBTAkJVENUTF9DTEtfUENMSzEKKyNkZWZpbmUgVENUTF9JUlFFTgkJKDE8PDQpCisjZGVmaW5lIFRDVExfRlJSCQkoMTw8OCkKKyNkZWZpbmUgVENUTF9DTEtfUENMSzEJCSgxPDwxKQorI2RlZmluZSBUQ1RMX0NMS19QQ0xLMV80CSgyPDwxKQorI2RlZmluZSBUQ1RMX0NMS19USU4JCSgzPDwxKQorI2RlZmluZSBUQ1RMX0NMS18zMgkJKDQ8PDEpCisKKyNkZWZpbmUgTVhDX1RDVEwgICAweDAwCisjZGVmaW5lIE1YQ19UUFJFUiAgMHgwNAorI2RlZmluZSBNWENfVENNUCAgIDB4MDgKKyNkZWZpbmUgTVhDX1RDUiAgICAweDBjCisjZGVmaW5lIE1YQ19UQ04gICAgMHgxMAorI2RlZmluZSBNWENfVFNUQVQgIDB4MTQKKyNkZWZpbmUgVFNUQVRfQ0FQVAkJKDE8PDEpCisjZGVmaW5lIFRTVEFUX0NPTVAJCSgxPDwwKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9kaXNhYmxlKHZvaWQpCit7CisJdW5zaWduZWQgaW50IHRtcDsKKworCXRtcCA9IF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCk7CisJX19yYXdfd3JpdGVsKHRtcCAmIH5UQ1RMX0lSUUVOLCBUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9lbmFibGUodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwoVElNRVJfQkFTRSArIE1YQ19UQ1RMKSB8IFRDVExfSVJRRU4sCisJCQkJVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIHZvaWQgZ3B0X2lycV9hY2tub3dsZWRnZSh2b2lkKQoreworCV9fcmF3X3dyaXRlbCgwLCBUSU1FUl9CQVNFICsgTVhDX1RTVEFUKTsKK30KKyNlbmRpZiAvKiBDT05GSUdfQVJDSF9JTVggKi8KKworI2lmZGVmIENPTkZJR19BUkNIX01YMgorI2RlZmluZSBUSU1FUl9CQVNFCQlJT19BRERSRVNTKEdQVDFfQkFTRV9BRERSKQorI2RlZmluZSBUSU1FUl9JTlRFUlJVUFQJCU1YQ19JTlRfR1BUMQorCisjZGVmaW5lIE1YQ19UQ1RMICAgMHgwMAorI2RlZmluZSBUQ1RMX1ZBTAkJVENUTF9DTEtfUENMSzEKKyNkZWZpbmUgVENUTF9DTEtfUENMSzEJCSgxPDwxKQorI2RlZmluZSBUQ1RMX0NMS19QQ0xLMV80CSgyPDwxKQorI2RlZmluZSBUQ1RMX0lSUUVOCQkoMTw8NCkKKyNkZWZpbmUgVENUTF9GUlIJCSgxPDw4KQorI2RlZmluZSBNWENfVFBSRVIgIDB4MDQKKyNkZWZpbmUgTVhDX1RDTVAgICAweDA4CisjZGVmaW5lIE1YQ19UQ1IgICAgMHgwYworI2RlZmluZSBNWENfVENOICAgIDB4MTAKKyNkZWZpbmUgTVhDX1RTVEFUICAweDE0CisjZGVmaW5lIFRTVEFUX0NBUFQJCSgxPDwxKQorI2RlZmluZSBUU1RBVF9DT01QCQkoMTw8MCkKKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZGlzYWJsZSh2b2lkKQoreworCXVuc2lnbmVkIGludCB0bXA7CisKKwl0bXAgPSBfX3Jhd19yZWFkbChUSU1FUl9CQVNFICsgTVhDX1RDVEwpOworCV9fcmF3X3dyaXRlbCh0bXAgJiB+VENUTF9JUlFFTiwgVElNRVJfQkFTRSArIE1YQ19UQ1RMKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGdwdF9pcnFfZW5hYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKFRJTUVSX0JBU0UgKyBNWENfVENUTCkgfCBUQ1RMX0lSUUVOLAorCQkJCVRJTUVSX0JBU0UgKyBNWENfVENUTCk7Cit9CisKK3N0YXRpYyB2b2lkIGdwdF9pcnFfYWNrbm93bGVkZ2Uodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoVFNUQVRfQ0FQVCB8IFRTVEFUX0NPTVAsIFRJTUVSX0JBU0UgKyBNWENfVFNUQVQpOworfQorI2VuZGlmIC8qIENPTkZJR19BUkNIX01YMiAqLworCisjaWZkZWYgQ09ORklHX0FSQ0hfTVgzCisjZGVmaW5lIFRJTUVSX0JBU0UJCUlPX0FERFJFU1MoR1BUMV9CQVNFX0FERFIpCisjZGVmaW5lIFRJTUVSX0lOVEVSUlVQVAkJTVhDX0lOVF9HUFQKKworI2RlZmluZSBNWENfVENUTCAgIDB4MDAKKyNkZWZpbmUgVENUTF9WQUwJCShUQ1RMX0NMS19JUEcgfCBUQ1RMX1dBSVRFTikKKyNkZWZpbmUgVENUTF9DTEtfSVBHCQkoMTw8NikKKyNkZWZpbmUgVENUTF9GUlIJCSgxPDw5KQorI2RlZmluZSBUQ1RMX1dBSVRFTgkJKDE8PDMpCisKKyNkZWZpbmUgTVhDX1RQUkVSICAweDA0CisjZGVmaW5lIE1YQ19UU1RBVCAgMHgwOAorI2RlZmluZSBUU1RBVF9PRjEJCSgxPDwwKQorI2RlZmluZSBUU1RBVF9PRjIJCSgxPDwxKQorI2RlZmluZSBUU1RBVF9PRjMJCSgxPDwyKQorI2RlZmluZSBUU1RBVF9JRjEJCSgxPDwzKQorI2RlZmluZSBUU1RBVF9JRjIJCSgxPDw0KQorI2RlZmluZSBUU1RBVF9ST1YJCSgxPDw1KQorI2RlZmluZSBNWENfSVIgICAgIDB4MGMKKyNkZWZpbmUgTVhDX1RDTVAgICAweDEwCisjZGVmaW5lIE1YQ19UQ01QMiAgMHgxNAorI2RlZmluZSBNWENfVENNUDMgIDB4MTgKKyNkZWZpbmUgTVhDX1RDUiAgICAweDFjCisjZGVmaW5lIE1YQ19UQ04gICAgMHgyNAorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9kaXNhYmxlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKDAsIFRJTUVSX0JBU0UgKyBNWENfSVIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3B0X2lycV9lbmFibGUodm9pZCkKK3sKKwlfX3Jhd193cml0ZWwoMTw8MCwgVElNRVJfQkFTRSArIE1YQ19JUik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBncHRfaXJxX2Fja25vd2xlZGdlKHZvaWQpCit7CisJX19yYXdfd3JpdGVsKFRTVEFUX09GMSwgVElNRVJfQkFTRSArIE1YQ19UU1RBVCk7Cit9CisjZW5kaWYgLyogQ09ORklHX0FSQ0hfTVgzICovCisKKyNkZWZpbmUgVENUTF9TV1IJCSgxPDwxNSkKKyNkZWZpbmUgVENUTF9DQwkJCSgxPDwxMCkKKyNkZWZpbmUgVENUTF9PTQkJCSgxPDw5KQorI2RlZmluZSBUQ1RMX0NBUF9SSVMJCSgxPDw2KQorI2RlZmluZSBUQ1RMX0NBUF9GQUwJCSgyPDw2KQorI2RlZmluZSBUQ1RMX0NBUF9SSVNfRkFMCSgzPDw2KQorI2RlZmluZSBUQ1RMX0NBUF9FTkEJCSgxPDw1KQorI2RlZmluZSBUQ1RMX1RFTgkJKDE8PDApCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtbnM5eHh4L2hhcmR3YXJlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaAppbmRleCAwYjdiMzQ2Li4wZGNhMTFjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1uczl4eHgvaGFyZHdhcmUuaApAQCAtNjYsMTMgKzY2LDEzIEBACiAJIF9fUkVHR0VUKHZhciwgcmVnICMjIF8gIyMgZmllbGQpIC8gX19SRUdTSElGVChyZWcgIyMgXyAjIyBmaWVsZCkKIAogIyAgZGVmaW5lIFJFR0dFVElNX0lEWCh2YXIsIHJlZywgZmllbGQsIGlkeCkJCQkJXAotCSBfX1JFR0dFVCh2YXIsIHJlZyAjIyBfICMjIGZpZWxkKChpZHgpKSkgLyAJCQlcCisJIF9fUkVHR0VUKHZhciwgcmVnICMjIF8gIyMgZmllbGQoKGlkeCkpKSAvCQkJXAogCSBfX1JFR1NISUZUKHJlZyAjIyBfICMjIGZpZWxkKChpZHgpKSkKIAogI2Vsc2UKIAogIyAgZGVmaW5lIF9fUkVHKHgpCWlvX3Aydih4KQotIyAgZGVmaW5lIF9fUkVHMih4LCB5KQlpb19wMnYoKHgpICsgKHkpKQorIyAgZGVmaW5lIF9fUkVHMih4LCB5KQlpb19wMnYoKHgpICsgNCAqICh5KSkKIAogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtMjQzMHNkcC5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmgKaW5kZXggZTljNjVjZS4uYzdkYjkwMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC0yNDMwc2RwLmgKQEAgLTM2LDkgKzM2LDQgQEAKIAogI2RlZmluZSBUV0w0MDMwX0lSUU5VTQkJCUlOVF8yNFhYX1NZU19OSVJRCiAKLS8qIFRXTDQwMzAgUHJpbWFyeSBJbnRlcnJ1cHQgSGFuZGxlciAoUElIKSBpbnRlcnJ1cHRzICovCi0jZGVmaW5lIElIX1RXTDQwMzBfQkFTRQkJCUlIX0JPQVJEX0JBU0UKLSNkZWZpbmUgSUhfVFdMNDAzMF9FTkQJCQkoSUhfVFdMNDAzMF9CQVNFKzgpCi0jZGVmaW5lIE5SX0lSUVMJCQkJKElIX1RXTDQwMzBfRU5EKQotCiAjZW5kaWYgLyogX19BU01fQVJDSF9PTUFQXzI0MzBTRFBfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1oMy5oCmluZGV4IDBmNjQwNDQuLmM1ZDBmMzIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaDMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWgzLmgKQEAgLTMwLDEyICszMCw2IEBACiAvKiBJbiBPTUFQMTcxMCBIMyB0aGUgRXRoZXJuZXQgaXMgZGlyZWN0bHkgY29ubmVjdGVkIHRvIENTMSAqLwogI2RlZmluZSBPTUFQMTcxMF9FVEhSX1NUQVJUCQkweDA0MDAwMzAwCiAKLSNkZWZpbmUgTUFYSVJRTlVNCQkJKElIX0JPQVJEX0JBU0UpCi0jZGVmaW5lIE1BWEZJUU5VTQkJCU1BWElSUU5VTQotI2RlZmluZSBNQVhTV0lOVU0JCQlNQVhJUlFOVU0KLQotI2RlZmluZSBOUl9JUlFTCQkJCShNQVhJUlFOVU0gKyAxKQotCiBleHRlcm4gdm9pZCBoM19tbWNfaW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkIGgzX21tY19zbG90X2NvdmVyX2hhbmRsZXIodm9pZCAqYXJnLCBpbnQgc3RhdGUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1pbm5vdmF0b3IuaAppbmRleCA1NmQyYzk4Li45Y2EwM2RlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLWlubm92YXRvci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtaW5ub3ZhdG9yLmgKQEAgLTM2LDkgKzM2LDYgQEAKICNkZWZpbmUgT01BUDE1MTBQMV9FTUlGU19QUklfVkFMVUUJCTB4MDAKICNkZWZpbmUgT01BUDE1MTBQMV9FTUlGRl9QUklfVkFMVUUJCTB4MDAKIAotI2RlZmluZSBOUl9GUEdBX0lSUVMJCTI0Ci0jZGVmaW5lIE5SX0lSUVMgICAgICAgICAgICAgICAgIChJSF9CT0FSRF9CQVNFICsgTlJfRlBHQV9JUlFTKQotCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogdm9pZCBmcGdhX3dyaXRlKHVuc2lnbmVkIGNoYXIgdmFsLCBpbnQgcmVnKTsKIHVuc2lnbmVkIGNoYXIgZnBnYV9yZWFkKGludCByZWcpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9ib2FyZC1wZXJzZXVzMi5oCmluZGV4IGViNzQ0MjAuLmQ3NDI5Y2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvYm9hcmQtcGVyc2V1czIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2JvYXJkLXBlcnNldXMyLmgKQEAgLTM2LDEwICszNiw0IEBACiAjZGVmaW5lIE9NQVBfU0RSQU1fREVWSUNFCQlEMjU2TV8xWDE2XzRCCiAjZW5kaWYKIAotI2RlZmluZSBNQVhJUlFOVU0JCUlIX0JPQVJEX0JBU0UKLSNkZWZpbmUgTUFYRklRTlVNCQlNQVhJUlFOVU0KLSNkZWZpbmUgTUFYU1dJTlVNCQlNQVhJUlFOVU0KLQotI2RlZmluZSBOUl9JUlFTCQkJKE1BWElSUU5VTSArIDEpCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jbG9jay5oCmluZGV4IDEyYTVlNGQuLjRjN2IzNTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY2xvY2suaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2Nsb2NrLmgKQEAgLTMzLDEyICszMywyNCBAQAogCXZvaWQgX19pb21lbQkJKm11bHRfZGl2MV9yZWc7CiAJdTMyCQkJbXVsdF9tYXNrOwogCXUzMgkJCWRpdjFfbWFzazsKKwl1MTYJCQlsYXN0X3JvdW5kZWRfbTsKKwl1OAkJCWxhc3Rfcm91bmRlZF9uOworCXVuc2lnbmVkIGxvbmcJCWxhc3Rfcm91bmRlZF9yYXRlOworCXVuc2lnbmVkIGludAkJcmF0ZV90b2xlcmFuY2U7CisJdTE2CQkJbWF4X211bHRpcGxpZXI7CisJdTgJCQltYXhfZGl2aWRlcjsKKwl1MzIJCQltYXhfdG9sZXJhbmNlOwogIyAgaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKKwl1OAkJCW1vZGVzOwogCXZvaWQgX19pb21lbQkJKmNvbnRyb2xfcmVnOwogCXUzMgkJCWVuYWJsZV9tYXNrOwogCXU4CQkJYXV0b19yZWNhbF9iaXQ7CiAJdTgJCQlyZWNhbF9lbl9iaXQ7CiAJdTgJCQlyZWNhbF9zdF9iaXQ7CisJdm9pZCBfX2lvbWVtCQkqYXV0b2lkbGVfcmVnOworCXUzMgkJCWF1dG9pZGxlX21hc2s7CisJdm9pZCBfX2lvbWVtCQkqaWRsZXN0X3JlZzsKKwl1OAkJCWlkbGVzdF9iaXQ7CiAjICBlbmRpZgogfTsKIApAQCAtNjYsMTEgKzc4LDE0IEBACiAJdm9pZCBfX2lvbWVtCQkqY2xrc2VsX3JlZzsKIAl1MzIJCQljbGtzZWxfbWFzazsKIAljb25zdCBzdHJ1Y3QgY2xrc2VsCSpjbGtzZWw7Ci0JY29uc3Qgc3RydWN0IGRwbGxfZGF0YQkqZHBsbF9kYXRhOworCXN0cnVjdCBkcGxsX2RhdGEJKmRwbGxfZGF0YTsKICNlbHNlCiAJX191OAkJCXJhdGVfb2Zmc2V0OwogCV9fdTgJCQlzcmNfb2Zmc2V0OwogI2VuZGlmCisjaWYgZGVmaW5lZChDT05GSUdfUE1fREVCVUcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKQorCXN0cnVjdCBkZW50cnkJCSpkZW50OwkvKiBGb3IgdmlzaWJsZSB0cmVlIGhpZXJhcmNoeSAqLworI2VuZGlmCiB9OwogCiBzdHJ1Y3QgY3B1ZnJlcV9mcmVxdWVuY3lfdGFibGU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jb21tb24uaAppbmRleCAzNmEzYjYyLi44YWMwMzA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbW1vbi5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29tbW9uLmgKQEAgLTQ3LDggKzQ3LDIzIEBACiB9CiAjZW5kaWYKIAorLyogSU8gYmFzZXMgZm9yIHZhcmlvdXMgT01BUCBwcm9jZXNzb3JzICovCitzdHJ1Y3Qgb21hcF9nbG9iYWxzIHsKKwl2b2lkIF9faW9tZW0JKnRhcDsJCS8qIENvbnRyb2wgbW9kdWxlIElEIGNvZGUgKi8KKwl2b2lkIF9faW9tZW0JKnNkcmM7CQkvKiBTRFJBTSBDb250cm9sbGVyICovCisJdm9pZCBfX2lvbWVtCSpzbXM7CQkvKiBTRFJBTSBNZW1vcnkgU2NoZWR1bGVyICovCisJdm9pZCBfX2lvbWVtCSpjdHJsOwkJLyogU3lzdGVtIENvbnRyb2wgTW9kdWxlICovCisJdm9pZCBfX2lvbWVtCSpwcm07CQkvKiBQb3dlciBhbmQgUmVzZXQgTWFuYWdlbWVudCAqLworCXZvaWQgX19pb21lbQkqY207CQkvKiBDbG9jayBNYW5hZ2VtZW50ICovCit9OworCiB2b2lkIG9tYXAyX3NldF9nbG9iYWxzXzI0Mngodm9pZCk7CiB2b2lkIG9tYXAyX3NldF9nbG9iYWxzXzI0M3godm9pZCk7CiB2b2lkIG9tYXAyX3NldF9nbG9iYWxzXzM0M3godm9pZCk7CiAKKy8qIFRoZXNlIGdldCBjYWxsZWQgZnJvbSBvbWFwMl9zZXRfZ2xvYmFsc194eHh4KCksIGRvIG5vdCBjYWxsIHRoZXNlICovCit2b2lkIG9tYXAyX3NldF9nbG9iYWxzX21lbW9yeShzdHJ1Y3Qgb21hcF9nbG9iYWxzICopOwordm9pZCBvbWFwMl9zZXRfZ2xvYmFsc19jb250cm9sKHN0cnVjdCBvbWFwX2dsb2JhbHMgKik7Cit2b2lkIG9tYXAyX3NldF9nbG9iYWxzX3ByY20oc3RydWN0IG9tYXBfZ2xvYmFscyAqKTsKKwogI2VuZGlmIC8qIF9fQVJDSF9BUk1fTUFDSF9PTUFQX0NPTU1PTl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NvbnRyb2wuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oCmluZGV4IDU5YzA2ODYuLjk4NzU1M2UgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY29udHJvbC5oCkBAIC0xNjcsOCArMTY3LDcgQEAKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KICNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQotZXh0ZXJuIHZvaWQgb21hcF9jdHJsX2Jhc2Vfc2V0KHUzMiBiYXNlKTsKLWV4dGVybiB1MzIgb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgX19pb21lbSAqb21hcF9jdHJsX2Jhc2VfZ2V0KHZvaWQpOwogZXh0ZXJuIHU4IG9tYXBfY3RybF9yZWFkYih1MTYgb2Zmc2V0KTsKIGV4dGVybiB1MTYgb21hcF9jdHJsX3JlYWR3KHUxNiBvZmZzZXQpOwogZXh0ZXJuIHUzMiBvbWFwX2N0cmxfcmVhZGwodTE2IG9mZnNldCk7CkBAIC0xNzYsNyArMTc1LDYgQEAKIGV4dGVybiB2b2lkIG9tYXBfY3RybF93cml0ZXcodTE2IHZhbCwgdTE2IG9mZnNldCk7CiBleHRlcm4gdm9pZCBvbWFwX2N0cmxfd3JpdGVsKHUzMiB2YWwsIHUxNiBvZmZzZXQpOwogI2Vsc2UKLSNkZWZpbmUgb21hcF9jdHJsX2Jhc2Vfc2V0KHgpCQlXQVJOX09OKDEpCiAjZGVmaW5lIG9tYXBfY3RybF9iYXNlX2dldCgpCQkwCiAjZGVmaW5lIG9tYXBfY3RybF9yZWFkYih4KQkJMAogI2RlZmluZSBvbWFwX2N0cmxfcmVhZHcoeCkJCTAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2NwdS5oCmluZGV4IGU4YTRjZjUuLjUyZGIwOWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvY3B1LmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9jcHUuaApAQCAtMyw3ICszLDcgQEAKICAqCiAgKiBPTUFQIGNwdSB0eXBlIGRldGVjdGlvbgogICoKLSAqIENvcHlyaWdodCAoQykgMjAwNCBOb2tpYSBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA4IE5va2lhIENvcnBvcmF0aW9uCiAgKgogICogV3JpdHRlbiBieSBUb255IExpbmRncmVuIDx0b255LmxpbmRncmVuQG5va2lhLmNvbT4KICAqCkBAIC0yNiw2ICsyNiwxMiBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX09NQVBfQ1BVX0gKICNkZWZpbmUgX19BU01fQVJDSF9PTUFQX0NQVV9ICiAKK3N0cnVjdCBvbWFwX2NoaXBfaWQgeworCXU4IG9jOworfTsKKworI2RlZmluZSBPTUFQX0NISVBfSU5JVCh4KQl7IC5vYyA9IHggfQorCiBleHRlcm4gdW5zaWduZWQgaW50IHN5c3RlbV9yZXY7CiAKICNkZWZpbmUgb21hcDJfY3B1X3JldigpCQkoKHN5c3RlbV9yZXYgPj4gMTIpICYgMHgwZikKQEAgLTM0NSw2ICszNTEsMzMgQEAKICNkZWZpbmUgT01BUDI0MzBfUkVWX0VTMV8wCTB4MjQzMDAwMDAKICNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMV8wCTB4MzQzMDAwMDAKICNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMl8wCTB4MzQzMDEwMDAKKyNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMl8xCTB4MzQzMDIwMDAKKyNkZWZpbmUgT01BUDM0MzBfUkVWX0VTMl8yCTB4MzQzMDMwMDAKKworLyoKKyAqIG9tYXBfY2hpcCBiaXRzCisgKgorICogQ0hJUF9JU19PTUFQezI0MjAsMjQzMCwzNDMwfSBpbmRpY2F0ZSB0aGF0IGEgcGFydGljdWxhciBzdHJ1Y3R1cmUgaXMKKyAqIHZhbGlkIG9uIGFsbCBjaGlwcyBvZiB0aGF0IHR5cGUuICBDSElQX0lTX09NQVAzNDMwRVN7MSwyfSBpbmRpY2F0ZXMKKyAqIHNvbWV0aGluZyB0aGF0IGlzIG9ubHkgdmFsaWQgb24gdGhhdCBwYXJ0aWN1bGFyIEVTIHJldmlzaW9uLgorICoKKyAqIFRoZXNlIGJpdHMgbWF5IGJlIE9SZWQgdG9nZXRoZXIgdG8gaW5kaWNhdGUgc3RydWN0dXJlcyB0aGF0IGFyZQorICogYXZhaWxhYmxlIG9uIG11bHRpcGxlIGNoaXAgdHlwZXMuCisgKgorICogVG8gdGVzdCB3aGV0aGVyIGEgcGFydGljdWxhciBzdHJ1Y3R1cmUgbWF0Y2hlcyB0aGUgY3VycmVudCBPTUFQIGNoaXAgdHlwZSwKKyAqIHVzZSBvbWFwX2NoaXBfaXMoKS4KKyAqCisgKi8KKyNkZWZpbmUgQ0hJUF9JU19PTUFQMjQyMCAgICAgICAoMSA8PCAwKQorI2RlZmluZSBDSElQX0lTX09NQVAyNDMwICAgICAgICgxIDw8IDEpCisjZGVmaW5lIENISVBfSVNfT01BUDM0MzAgICAgICAgKDEgPDwgMikKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMzQzMEVTMSAgICAoMSA8PCAzKQorI2RlZmluZSBDSElQX0lTX09NQVAzNDMwRVMyICAgICgxIDw8IDQpCisKKyNkZWZpbmUgQ0hJUF9JU19PTUFQMjRYWCAgICAgICAoQ0hJUF9JU19PTUFQMjQyMCB8IENISVBfSVNfT01BUDI0MzApCisKK2ludCBvbWFwX2NoaXBfaXMoc3RydWN0IG9tYXBfY2hpcF9pZCBvY2kpOworCiAKIC8qCiAgKiBNYWNybyB0byBkZXRlY3QgZGV2aWNlIHR5cGUgaS5lLiBFTVUvSFMvVFNUL0dQL0JBRApAQCAtMzYyLDYgKzM5NSw4IEBACiAjZGVmaW5lIGlzX2RldmljZV90eXBlX2dwKCkJKGdldF9kZXZpY2VfdHlwZSgpID09IERFVklDRV9UWVBFX0dQKQogI2RlZmluZSBpc19kZXZpY2VfdHlwZV9iYWQoKQkoZ2V0X2RldmljZV90eXBlKCkgPT0gREVWSUNFX1RZUEVfQkFEKQogCi0jZW5kaWYKK3ZvaWQgb21hcDJfY2hlY2tfcmV2aXNpb24odm9pZCk7CisKKyNlbmRpZiAgICAvKiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAyKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKSAqLwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtYS5oCmluZGV4IDI0YWNmMDkuLmY0ZGNiOTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG1hLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9kbWEuaApAQCAtMjIsMTA4ICsyMiwxMjggQEAKICNkZWZpbmUgX19BU01fQVJDSF9ETUFfSAogCiAvKiBIYXJkd2FyZSByZWdpc3RlcnMgZm9yIG9tYXAxICovCi0jZGVmaW5lIE9NQVBfRE1BX0JBU0UJCQkoMHhmZmZlZDgwMCkKLSNkZWZpbmUgT01BUF9ETUFfR0NSCQkJKE9NQVBfRE1BX0JBU0UgKyAweDQwMCkKLSNkZWZpbmUgT01BUF9ETUFfR1NDUgkJCShPTUFQX0RNQV9CQVNFICsgMHg0MDQpCi0jZGVmaW5lIE9NQVBfRE1BX0dSU1QJCQkoT01BUF9ETUFfQkFTRSArIDB4NDA4KQotI2RlZmluZSBPTUFQX0RNQV9IV19JRAkJCShPTUFQX0RNQV9CQVNFICsgMHg0NDIpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDJfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NDQpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDBfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NDYpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSDFfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NDgpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSEdfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NGEpCi0jZGVmaW5lIE9NQVBfRE1BX1BDSERfSUQJCShPTUFQX0RNQV9CQVNFICsgMHg0NGMpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMF9VCQkoT01BUF9ETUFfQkFTRSArIDB4NDRlKQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzBfTAkJKE9NQVBfRE1BX0JBU0UgKyAweDQ1MCkKLSNkZWZpbmUgT01BUF9ETUFfQ0FQU18xX1UJCShPTUFQX0RNQV9CQVNFICsgMHg0NTIpCi0jZGVmaW5lIE9NQVBfRE1BX0NBUFNfMV9MCQkoT01BUF9ETUFfQkFTRSArIDB4NDU0KQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzIJCQkoT01BUF9ETUFfQkFTRSArIDB4NDU2KQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzMJCQkoT01BUF9ETUFfQkFTRSArIDB4NDU4KQotI2RlZmluZSBPTUFQX0RNQV9DQVBTXzQJCQkoT01BUF9ETUFfQkFTRSArIDB4NDVhKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gyX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NDYwKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gwX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NDgwKQotI2RlZmluZSBPTUFQX0RNQV9QQ0gxX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NDgyKQotI2RlZmluZSBPTUFQX0RNQV9QQ0hEX1NSCQkoT01BUF9ETUFfQkFTRSArIDB4NGMwKQorI2RlZmluZSBPTUFQMV9ETUFfQkFTRQkJCSgweGZmZmVkODAwKQogCi0vKiBIYXJkd2FyZSByZWdpc3RlcnMgZm9yIG9tYXAyICovCi0jaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKLSNkZWZpbmUgT01BUF9ETUE0X0JBU0UJCQkoTDRfMzRYWF9CQVNFICsgMHg1NjAwMCkKLSNlbHNlCS8qIENPTkZJR19BUkNIX09NQVAyICovCi0jZGVmaW5lIE9NQVBfRE1BNF9CQVNFCQkJKEw0XzI0WFhfQkFTRSArIDB4NTYwMDApCi0jZW5kaWYKKyNkZWZpbmUgT01BUDFfRE1BX0dDUgkJCTB4NDAwCisjZGVmaW5lIE9NQVAxX0RNQV9HU0NSCQkJMHg0MDQKKyNkZWZpbmUgT01BUDFfRE1BX0dSU1QJCQkweDQwOAorI2RlZmluZSBPTUFQMV9ETUFfSFdfSUQJCQkweDQ0MgorI2RlZmluZSBPTUFQMV9ETUFfUENIMl9JRAkJMHg0NDQKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDBfSUQJCTB4NDQ2CisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gxX0lECQkweDQ0OAorI2RlZmluZSBPTUFQMV9ETUFfUENIR19JRAkJMHg0NGEKKyNkZWZpbmUgT01BUDFfRE1BX1BDSERfSUQJCTB4NDRjCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzBfVQkJMHg0NGUKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMF9MCQkweDQ1MAorI2RlZmluZSBPTUFQMV9ETUFfQ0FQU18xX1UJCTB4NDUyCisjZGVmaW5lIE9NQVAxX0RNQV9DQVBTXzFfTAkJMHg0NTQKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMgkJMHg0NTYKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfMwkJMHg0NTgKKyNkZWZpbmUgT01BUDFfRE1BX0NBUFNfNAkJMHg0NWEKKyNkZWZpbmUgT01BUDFfRE1BX1BDSDJfU1IJCTB4NDYwCisjZGVmaW5lIE9NQVAxX0RNQV9QQ0gwX1NSCQkweDQ4MAorI2RlZmluZSBPTUFQMV9ETUFfUENIMV9TUgkJMHg0ODIKKyNkZWZpbmUgT01BUDFfRE1BX1BDSERfU1IJCTB4NGMwCiAKLSNkZWZpbmUgT01BUF9ETUE0X1JFVklTSU9OCQkoT01BUF9ETUE0X0JBU0UgKyAweDAwKQotI2RlZmluZSBPTUFQX0RNQTRfR0NSX1JFRwkJKE9NQVBfRE1BNF9CQVNFICsgMHg3OCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMAkJKE9NQVBfRE1BNF9CQVNFICsgMHgwOCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMQkJKE9NQVBfRE1BNF9CQVNFICsgMHgwYykKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMgkJKE9NQVBfRE1BNF9CQVNFICsgMHgxMCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMwkJKE9NQVBfRE1BNF9CQVNFICsgMHgxNCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMAkJKE9NQVBfRE1BNF9CQVNFICsgMHgxOCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMQkJKE9NQVBfRE1BNF9CQVNFICsgMHgxYykKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMgkJKE9NQVBfRE1BNF9CQVNFICsgMHgyMCkKLSNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMwkJKE9NQVBfRE1BNF9CQVNFICsgMHgyNCkKLSNkZWZpbmUgT01BUF9ETUE0X1NZU1NUQVRVUwkJKE9NQVBfRE1BNF9CQVNFICsgMHgyOCkKLSNkZWZpbmUgT01BUF9ETUE0X09DUF9TWVNDT05GSUcJCShPTUFQX0RNQTRfQkFTRSArIDB4MmMpCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzAJCShPTUFQX0RNQTRfQkFTRSArIDB4NjQpCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzIJCShPTUFQX0RNQTRfQkFTRSArIDB4NmMpCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzMJCShPTUFQX0RNQTRfQkFTRSArIDB4NzApCi0jZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzQJCShPTUFQX0RNQTRfQkFTRSArIDB4NzQpCisvKiBIYXJkd2FyZSByZWdpc3RlcnMgZm9yIG9tYXAyIGFuZCBvbWFwMyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUE0X0JBU0UJCShMNF8yNFhYX0JBU0UgKyAweDU2MDAwKQorI2RlZmluZSBPTUFQMzRYWF9ETUE0X0JBU0UJCShMNF8zNFhYX0JBU0UgKyAweDU2MDAwKQogCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDEKKyNkZWZpbmUgT01BUF9ETUE0X1JFVklTSU9OCQkweDAwCisjZGVmaW5lIE9NQVBfRE1BNF9HQ1IJCQkweDc4CisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDAJCTB4MDgKKyNkZWZpbmUgT01BUF9ETUE0X0lSUVNUQVRVU19MMQkJMHgwYworI2RlZmluZSBPTUFQX0RNQTRfSVJRU1RBVFVTX0wyCQkweDEwCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFTVEFUVVNfTDMJCTB4MTQKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMAkJMHgxOAorI2RlZmluZSBPTUFQX0RNQTRfSVJRRU5BQkxFX0wxCQkweDFjCisjZGVmaW5lIE9NQVBfRE1BNF9JUlFFTkFCTEVfTDIJCTB4MjAKKyNkZWZpbmUgT01BUF9ETUE0X0lSUUVOQUJMRV9MMwkJMHgyNAorI2RlZmluZSBPTUFQX0RNQTRfU1lTU1RBVFVTCQkweDI4CisjZGVmaW5lIE9NQVBfRE1BNF9PQ1BfU1lTQ09ORklHCQkweDJjCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzAJCTB4NjQKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMgkJMHg2YworI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18zCQkweDcwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzQJCTB4NzQKIAotI2RlZmluZSBPTUFQX0xPR0lDQUxfRE1BX0NIX0NPVU5UCTE3CisjZGVmaW5lIE9NQVAxX0xPR0lDQUxfRE1BX0NIX0NPVU5UCTE3CisjZGVmaW5lIE9NQVBfRE1BNF9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkzMgkvKiBSRVZJU0lUOiBJcyB0aGlzIDMyICsgMj8gKi8KIAogLyogQ29tbW9uIGNoYW5uZWwgc3BlY2lmaWMgcmVnaXN0ZXJzIGZvciBvbWFwMSAqLwotI2RlZmluZSBPTUFQX0RNQV9DU0RQX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDApCi0jZGVmaW5lIE9NQVBfRE1BX0NDUl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDAyKQotI2RlZmluZSBPTUFQX0RNQV9DSUNSX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MDQpCi0jZGVmaW5lIE9NQVBfRE1BX0NTUl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDA2KQotI2RlZmluZSBPTUFQX0RNQV9DRU5fUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxMCkKLSNkZWZpbmUgT01BUF9ETUFfQ0ZOX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTIpCi0jZGVmaW5lIE9NQVBfRE1BX0NTRklfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxNCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NFSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDE2KQotI2RlZmluZSBPTUFQX0RNQV9DU0FDX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MTgpCi0jZGVmaW5lIE9NQVBfRE1BX0NEQUNfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgxYSkKLSNkZWZpbmUgT01BUF9ETUFfQ0RFSV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDFjKQotI2RlZmluZSBPTUFQX0RNQV9DREZJX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MWUpCi0jZGVmaW5lIE9NQVBfRE1BX0NMTktfQ1RSTF9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MjgpCi0KLSNlbHNlCi0KLSNkZWZpbmUgT01BUF9MT0dJQ0FMX0RNQV9DSF9DT1VOVAkzMgkvKiBSRVZJU0lUOiBJcyB0aGlzIDMyICsgMj8gKi8KKyNkZWZpbmUgT01BUDFfRE1BX0NIX0JBU0UobikJCSgweDQwICogKG4pICsgMHgwMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTRFAobikJCSgweDQwICogKG4pICsgMHgwMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NDUihuKQkJKDB4NDAgKiAobikgKyAweDAyKQorI2RlZmluZSBPTUFQMV9ETUFfQ0lDUihuKQkJKDB4NDAgKiAobikgKyAweDA0KQorI2RlZmluZSBPTUFQMV9ETUFfQ1NSKG4pCQkoMHg0MCAqIChuKSArIDB4MDYpCisjZGVmaW5lIE9NQVAxX0RNQV9DRU4obikJCSgweDQwICogKG4pICsgMHgxMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NGTihuKQkJKDB4NDAgKiAobikgKyAweDEyKQorI2RlZmluZSBPTUFQMV9ETUFfQ1NGSShuKQkJKDB4NDAgKiAobikgKyAweDE0KQorI2RlZmluZSBPTUFQMV9ETUFfQ1NFSShuKQkJKDB4NDAgKiAobikgKyAweDE2KQorI2RlZmluZSBPTUFQMV9ETUFfQ1BDKG4pCQkoMHg0MCAqIChuKSArIDB4MTgpCS8qIDE1eHggb25seSAqLworI2RlZmluZSBPTUFQMV9ETUFfQ1NBQyhuKQkJKDB4NDAgKiAobikgKyAweDE4KQorI2RlZmluZSBPTUFQMV9ETUFfQ0RBQyhuKQkJKDB4NDAgKiAobikgKyAweDFhKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RFSShuKQkJKDB4NDAgKiAobikgKyAweDFjKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RGSShuKQkJKDB4NDAgKiAobikgKyAweDFlKQorI2RlZmluZSBPTUFQMV9ETUFfQ0xOS19DVFJMKG4pCQkoMHg0MCAqIChuKSArIDB4MjgpCiAKIC8qIENvbW1vbiBjaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBmb3Igb21hcDIgKi8KLSNkZWZpbmUgT01BUF9ETUFfQ0NSX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDgwKQotI2RlZmluZSBPTUFQX0RNQV9DTE5LX0NUUkxfUkVHKG4pCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4NCkKLSNkZWZpbmUgT01BUF9ETUFfQ0lDUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg4OCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NSX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDhjKQotI2RlZmluZSBPTUFQX0RNQV9DU0RQX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweDkwKQotI2RlZmluZSBPTUFQX0RNQV9DRU5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OTQpCi0jZGVmaW5lIE9NQVBfRE1BX0NGTl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHg5OCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NFSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhNCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NGSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhOCkKLSNkZWZpbmUgT01BUF9ETUFfQ0RFSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhhYykKLSNkZWZpbmUgT01BUF9ETUFfQ0RGSV9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiMCkKLSNkZWZpbmUgT01BUF9ETUFfQ1NBQ19SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiNCkKLSNkZWZpbmUgT01BUF9ETUFfQ0RBQ19SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiOCkKLQotI2VuZGlmCisjZGVmaW5lIE9NQVBfRE1BNF9DSF9CQVNFKG4pCQkoMHg2MCAqIChuKSArIDB4ODApCisjZGVmaW5lIE9NQVBfRE1BNF9DQ1IobikJCSgweDYwICogKG4pICsgMHg4MCkKKyNkZWZpbmUgT01BUF9ETUE0X0NMTktfQ1RSTChuKQkJKDB4NjAgKiAobikgKyAweDg0KQorI2RlZmluZSBPTUFQX0RNQTRfQ0lDUihuKQkJKDB4NjAgKiAobikgKyAweDg4KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NSKG4pCQkoMHg2MCAqIChuKSArIDB4OGMpCisjZGVmaW5lIE9NQVBfRE1BNF9DU0RQKG4pCQkoMHg2MCAqIChuKSArIDB4OTApCisjZGVmaW5lIE9NQVBfRE1BNF9DRU4obikJCSgweDYwICogKG4pICsgMHg5NCkKKyNkZWZpbmUgT01BUF9ETUE0X0NGTihuKQkJKDB4NjAgKiAobikgKyAweDk4KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NFSShuKQkJKDB4NjAgKiAobikgKyAweGE0KQorI2RlZmluZSBPTUFQX0RNQTRfQ1NGSShuKQkJKDB4NjAgKiAobikgKyAweGE4KQorI2RlZmluZSBPTUFQX0RNQTRfQ0RFSShuKQkJKDB4NjAgKiAobikgKyAweGFjKQorI2RlZmluZSBPTUFQX0RNQTRfQ0RGSShuKQkJKDB4NjAgKiAobikgKyAweGIwKQorI2RlZmluZSBPTUFQX0RNQTRfQ1NBQyhuKQkJKDB4NjAgKiAobikgKyAweGI0KQorI2RlZmluZSBPTUFQX0RNQTRfQ0RBQyhuKQkJKDB4NjAgKiAobikgKyAweGI4KQogCiAvKiBDaGFubmVsIHNwZWNpZmljIHJlZ2lzdGVycyBvbmx5IG9uIG9tYXAxICovCi0jZGVmaW5lIE9NQVAxX0RNQV9DU1NBX0xfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwOCkKLSNkZWZpbmUgT01BUDFfRE1BX0NTU0FfVV9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDBhKQotI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9MX1JFRyhuKQkJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MGMpCi0jZGVmaW5lIE9NQVAxX0RNQV9DRFNBX1VfUkVHKG4pCQlfX1JFRzE2KE9NQVBfRE1BX0JBU0UgKyAweDQwICogKG4pICsgMHgwZSkKLSNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX0xfUkVHKG4pCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDIwKQotI2RlZmluZSBPTUFQMV9ETUFfQ0NSMl9SRUcobikJCV9fUkVHMTYoT01BUF9ETUFfQkFTRSArIDB4NDAgKiAobikgKyAweDI0KQotI2RlZmluZSBPTUFQMV9ETUFfQ09MT1JfVV9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MjIpCi0jZGVmaW5lIE9NQVAxX0RNQV9MQ0hfQ1RSTF9SRUcobikJX19SRUcxNihPTUFQX0RNQV9CQVNFICsgMHg0MCAqIChuKSArIDB4MmEpCisjZGVmaW5lIE9NQVAxX0RNQV9DU1NBX0wobikJCSgweDQwICogKG4pICsgMHgwOCkKKyNkZWZpbmUgT01BUDFfRE1BX0NTU0FfVShuKQkJKDB4NDAgKiAobikgKyAweDBhKQorI2RlZmluZSBPTUFQMV9ETUFfQ0RTQV9MKG4pCQkoMHg0MCAqIChuKSArIDB4MGMpCisjZGVmaW5lIE9NQVAxX0RNQV9DRFNBX1UobikJCSgweDQwICogKG4pICsgMHgwZSkKKyNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX0wobikJCSgweDQwICogKG4pICsgMHgyMCkKKyNkZWZpbmUgT01BUDFfRE1BX0NPTE9SX1UobikJCSgweDQwICogKG4pICsgMHgyMikKKyNkZWZpbmUgT01BUDFfRE1BX0NDUjIobikJCSgweDQwICogKG4pICsgMHgyNCkKKyNkZWZpbmUgT01BUDFfRE1BX0xDSF9DVFJMKG4pCQkoMHg0MCAqIChuKSArIDB4MmEpCS8qIG5vdCBvbiAxNXh4ICovCisjZGVmaW5lIE9NQVAxX0RNQV9DQ0VOKG4pCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9DQ0ZOKG4pCQkwCiAKIC8qIENoYW5uZWwgc3BlY2lmaWMgcmVnaXN0ZXJzIG9ubHkgb24gb21hcDIgKi8KLSNkZWZpbmUgT01BUDJfRE1BX0NTU0FfUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4OWMpCi0jZGVmaW5lIE9NQVAyX0RNQV9DRFNBX1JFRyhuKQkJX19SRUczMihPTUFQX0RNQTRfQkFTRSArIDB4NjAgKiAobikgKyAweGEwKQotI2RlZmluZSBPTUFQMl9ETUFfQ0NFTl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhiYykKLSNkZWZpbmUgT01BUDJfRE1BX0NDRk5fUkVHKG4pCQlfX1JFRzMyKE9NQVBfRE1BNF9CQVNFICsgMHg2MCAqIChuKSArIDB4YzApCi0jZGVmaW5lIE9NQVAyX0RNQV9DT0xPUl9SRUcobikJCV9fUkVHMzIoT01BUF9ETUE0X0JBU0UgKyAweDYwICogKG4pICsgMHhjNCkKKyNkZWZpbmUgT01BUF9ETUE0X0NTU0EobikJCSgweDYwICogKG4pICsgMHg5YykKKyNkZWZpbmUgT01BUF9ETUE0X0NEU0EobikJCSgweDYwICogKG4pICsgMHhhMCkKKyNkZWZpbmUgT01BUF9ETUE0X0NDRU4obikJCSgweDYwICogKG4pICsgMHhiYykKKyNkZWZpbmUgT01BUF9ETUE0X0NDRk4obikJCSgweDYwICogKG4pICsgMHhjMCkKKyNkZWZpbmUgT01BUF9ETUE0X0NPTE9SKG4pCQkoMHg2MCAqIChuKSArIDB4YzQpCisKKy8qIER1bW15IGRlZmluZXMgdG8ga2VlcCBtdWx0aS1vbWFwIGNvbXBpbGVzIGhhcHB5ICovCisjZGVmaW5lIE9NQVAxX0RNQV9SRVZJU0lPTgkJMAorI2RlZmluZSBPTUFQMV9ETUFfSVJRU1RBVFVTX0wwCQkwCisjZGVmaW5lIE9NQVAxX0RNQV9JUlFFTkFCTEVfTDAJCTAKKyNkZWZpbmUgT01BUDFfRE1BX09DUF9TWVNDT05GSUcJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0hXX0lECQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18wX0wJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NBUFNfMF9VCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DQVBTXzFfTAkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ0FQU18xX1UJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0dTQ1IJCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DUEMobikJCTAKKworI2RlZmluZSBPTUFQX0RNQTRfTENIX0NUUkwobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NPTE9SX0wobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NPTE9SX1UobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NDUjIobikJCTAKKyNkZWZpbmUgT01BUDFfRE1BX0NTU0EobikJCTAKKyNkZWZpbmUgT01BUDFfRE1BX0NEU0EobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NTU0FfTChuKQkJMAorI2RlZmluZSBPTUFQX0RNQTRfQ1NTQV9VKG4pCQkwCisjZGVmaW5lIE9NQVBfRE1BNF9DRFNBX0wobikJCTAKKyNkZWZpbmUgT01BUF9ETUE0X0NEU0FfVShuKQkJMAogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCkBAIC0xOTYsNjMgKzIxNiw5OCBAQAogI2RlZmluZSBPTUFQMjRYWF9ETUFfR1BNQwkJNAkvKiBTX0RNQV8zICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9HRlgJCTUJLyogU19ETUFfNCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfRFNTCQk2CS8qIFNfRE1BXzUgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1ZMWU5RX1RYCQk3CS8qIFNfRE1BXzYgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX1ZMWU5RX1RYCQk3CS8qIFNfRE1BXzYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVEyCTcJLyogU19ETUFfNiAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfQ1dUCQk4CS8qIFNfRE1BXzcgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0FFU19UWAkJOQkvKiBTX0RNQV84ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9BRVNfUlgJCTEwCS8qIFNfRE1BXzkgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0RFU19UWAkJMTEJLyogU19ETUFfMTAgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0RFU19SWAkJMTIJLyogU19ETUFfMTEgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX1NIQTFNRDVfUlgJCTEzCS8qIFNfRE1BXzEyICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FWFRfRE1BUkVRMgkxNAkvKiBTX0RNQV8xMyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRVhUX0RNQVJFUTMJMTUJLyogU19ETUFfMTQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVE0CTE2CS8qIFNfRE1BXzE1ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQUNfUkQJCTE3CS8qIFNfRE1BXzE2ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQUNfV1IJCTE4CS8qIFNfRE1BXzE3ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfVUxfUkQJMTkJLyogU19ETUFfMTggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19NRF9VTF9XUgkyMAkvKiBTX0RNQV8xOSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX01EX0RMX1JECTIxCS8qIFNfRE1BXzIwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfTURfRExfV1IJMjIJLyogU19ETUFfMjEgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9VTF9SRAkyMwkvKiBTX0RNQV8yMiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfRUFDX0JUX1VMX1dSCTI0CS8qIFNfRE1BXzIzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9FQUNfQlRfRExfUkQJMjUJLyogU19ETUFfMjQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VBQ19CVF9ETF9XUgkyNgkvKiBTX0RNQV8yNSAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfU0hBMk1ENV9SWAkJMTMJLyogU19ETUFfMTIgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VYVF9ETUFSRVEyCTE0CS8qIFNfRE1BXzEzICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FWFRfRE1BUkVRMwkxNQkvKiBTX0RNQV8xNCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTQJMTYJLyogU19ETUFfMTUgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19BQ19SRAkJMTcJLyogU19ETUFfMTYgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19BQ19XUgkJMTgJLyogU19ETUFfMTcgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9VTF9SRAkxOQkvKiBTX0RNQV8xOCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX01EX1VMX1dSCTIwCS8qIFNfRE1BXzE5ICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfTURfRExfUkQJMjEJLyogU19ETUFfMjAgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19NRF9ETF9XUgkyMgkvKiBTX0RNQV8yMSAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX1VMX1JECTIzCS8qIFNfRE1BXzIyICovCisjZGVmaW5lIE9NQVAyNDJYX0RNQV9FQUNfQlRfVUxfV1IJMjQJLyogU19ETUFfMjMgKi8KKyNkZWZpbmUgT01BUDI0MlhfRE1BX0VBQ19CVF9ETF9SRAkyNQkvKiBTX0RNQV8yNCAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRUFDX0JUX0RMX1dSCTI2CS8qIFNfRE1BXzI1ICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRMwkxNAkvKiBTX0RNQV8xMyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19UWDAJCTE1CS8qIFNfRE1BXzE0ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkzX1JYMAkJMTYJLyogU19ETUFfMTUgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQM19UWAkJMTcJLyogU19ETUFfMTYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQM19SWAkJMTgJLyogU19ETUFfMTcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNF9UWAkJMTkJLyogU19ETUFfMTggKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNF9SWAkJMjAJLyogU19ETUFfMTkgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNV9UWAkJMjEJLyogU19ETUFfMjAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQNV9SWAkJMjIJLyogU19ETUFfMjEgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTNfVFgxCQkyMwkvKiBTX0RNQV8yMiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJM19SWDEJCTI0CS8qIFNfRE1BXzIzICovCisjZGVmaW5lIE9NQVAyNDNYX0RNQV9FWFRfRE1BUkVRNAkyNQkvKiBTX0RNQV8yNCAqLworI2RlZmluZSBPTUFQMjQzWF9ETUFfRVhUX0RNQVJFUTUJMjYJLyogU19ETUFfMjUgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0kyQzNfVFgJCTI1CS8qIFNfRE1BXzI0ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9JMkMzX1JYCQkyNgkvKiBTX0RNQV8yNSAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMV9UWAkJMjcJLyogU19ETUFfMjYgKi8KICNkZWZpbmUgT01BUDI0WFhfRE1BX0kyQzFfUlgJCTI4CS8qIFNfRE1BXzI3ICovCiAjZGVmaW5lIE9NQVAyNFhYX0RNQV9JMkMyX1RYCQkyOQkvKiBTX0RNQV8yOCAqLwogI2RlZmluZSBPTUFQMjRYWF9ETUFfSTJDMl9SWAkJMzAJLyogU19ETUFfMjkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMV9UWAkJMzEJLyogU0RNQV8zMCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfTUNCU1AxX1JYCQkzMgkvKiBTRE1BXzMxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgJCTMzCS8qIFNETUFfMzIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX01DQlNQMl9SWAkJMzQJLyogU0RNQV8zMyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDAJCTM1CS8qIFNETUFfMzQgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgwCQkzNgkvKiBTRE1BXzM1ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMQkJMzcJLyogU0RNQV8zNiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDEJCTM4CS8qIFNETUFfMzcgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgyCQkzOQkvKiBTRE1BXzM4ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMgkJNDAJLyogU0RNQV8zOSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDMJCTQxCS8qIFNETUFfNDAgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgzCQk0MgkvKiBTRE1BXzQxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1RYMAkJNDMJLyogU0RNQV80MiAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDAJCTQ0CS8qIFNETUFfNDMgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgxCQk0NQkvKiBTRE1BXzQ0ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1JYMQkJNDYJLyogU0RNQV80NSAqLwotCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMV9UWAkJNDkJLyogU0RNQV80OCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfUlgJCTUwCS8qIFNETUFfNDkgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQyX1RYCQk1MQkvKiBTRE1BXzUwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9SWAkJNTIJLyogU0RNQV81MSAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfVFgJCTUzCS8qIFNETUFfNTIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQzX1JYCQk1NAkvKiBTRE1BXzUzICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDAJNTUJLyogU0RNQV81NCAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgwCTU2CS8qIFNETUFfNTUgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMQk1NwkvKiBTRE1BXzU2ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDEJNTgJLyogU0RNQV81NyAqLwotI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgyCTU5CS8qIFNETUFfNTggKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMgk2MAkvKiBTRE1BXzU5ICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1RYCQk2MQkvKiBTRE1BXzYwICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1JYCQk2MgkvKiBTRE1BXzYxICovCi0jZGVmaW5lIE9NQVAyNFhYX0RNQV9NUwkJCTYzCS8qIFNETUFfNjIgKi8KLSNkZWZpbmUgT01BUDI0WFhfRE1BX0VYVF9ETUFSRVE1CTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfVFgJCTMxCS8qIFNfRE1BXzMwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDFfUlgJCTMyCS8qIFNfRE1BXzMxICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfVFgJCTMzCS8qIFNfRE1BXzMyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NQ0JTUDJfUlgJCTM0CS8qIFNfRE1BXzMzICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMAkJMzUJLyogU19ETUFfMzQgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgwCQkzNgkvKiBTX0RNQV8zNSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9UWDEJCTM3CS8qIFNfRE1BXzM2ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1JYMQkJMzgJLyogU19ETUFfMzcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfVFgyCQkzOQkvKiBTX0RNQV8zOCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMV9SWDIJCTQwCS8qIFNfRE1BXzM5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkxX1RYMwkJNDEJLyogU19ETUFfNDAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTFfUlgzCQk0MgkvKiBTX0RNQV80MSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9UWDAJCTQzCS8qIFNfRE1BXzQyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9TUEkyX1JYMAkJNDQJLyogU19ETUFfNDMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1NQSTJfVFgxCQk0NQkvKiBTX0RNQV80NCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfU1BJMl9SWDEJCTQ2CS8qIFNfRE1BXzQ1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMyX1RYCQk0NwkvKiBTX0RNQV80NiAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTU1DMl9SWAkJNDgJLyogU19ETUFfNDcgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQxX1RYCQk0OQkvKiBTX0RNQV80OCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDFfUlgJCTUwCS8qIFNfRE1BXzQ5ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUMl9UWAkJNTEJLyogU19ETUFfNTAgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VBUlQyX1JYCQk1MgkvKiBTX0RNQV81MSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVUFSVDNfVFgJCTUzCS8qIFNfRE1BXzUyICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VQVJUM19SWAkJNTQJLyogU19ETUFfNTMgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1RYMAk1NQkvKiBTX0RNQV81NCAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfUlgwCTU2CS8qIFNfRE1BXzU1ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19UWDEJNTcJLyogU19ETUFfNTYgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX1VTQl9XMkZDX1JYMQk1OAkvKiBTX0RNQV81NyAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfVVNCX1cyRkNfVFgyCTU5CS8qIFNfRE1BXzU4ICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9VU0JfVzJGQ19SWDIJNjAJLyogU19ETUFfNTkgKi8KKyNkZWZpbmUgT01BUDI0WFhfRE1BX01NQzFfVFgJCTYxCS8qIFNfRE1BXzYwICovCisjZGVmaW5lIE9NQVAyNFhYX0RNQV9NTUMxX1JYCQk2MgkvKiBTX0RNQV82MSAqLworI2RlZmluZSBPTUFQMjRYWF9ETUFfTVMJCQk2MwkvKiBTX0RNQV82MiAqLworI2RlZmluZSBPTUFQMjQyWF9ETUFfRVhUX0RNQVJFUTUJNjQJLyogU19ETUFfNjMgKi8KKyNkZWZpbmUgT01BUDI0M1hfRE1BX0VYVF9ETUFSRVE2CTY0CS8qIFNfRE1BXzYzICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9FWFRfRE1BUkVRMwk2NAkvKiBTX0RNQV82MyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfQUVTMl9UWAkJNjUJLyogU19ETUFfNjQgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX0FFUzJfUlgJCTY2CS8qIFNfRE1BXzY1ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9ERVMyX1RYCQk2NwkvKiBTX0RNQV82NiAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfREVTMl9SWAkJNjgJLyogU19ETUFfNjcgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NIQTFNRDVfUlgJCTY5CS8qIFNfRE1BXzY4ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9TUEk0X1RYMAkJNzAJLyogU19ETUFfNjkgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1NQSTRfUlgwCQk3MQkvKiBTX0RNQV83MCAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMAkJNzIJLyogU19ETUFfNzEgKi8KKyNkZWZpbmUgT01BUDM0WFhfRFNTX0RNQTEJCTczCS8qIFNfRE1BXzcyICovCisjZGVmaW5lIE9NQVAzNFhYX0RTU19ETUEyCQk3NAkvKiBTX0RNQV83MyAqLworI2RlZmluZSBPTUFQMzRYWF9EU1NfRE1BMwkJNzUJLyogU19ETUFfNzQgKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX01NQzNfVFgJCTc3CS8qIFNfRE1BXzc2ICovCisjZGVmaW5lIE9NQVAzNFhYX0RNQV9NTUMzX1JYCQk3OAkvKiBTX0RNQV83NyAqLworI2RlZmluZSBPTUFQMzRYWF9ETUFfVVNJTV9UWAkJNzkJLyogU19ETUFfNzggKi8KKyNkZWZpbmUgT01BUDM0WFhfRE1BX1VTSU1fUlgJCTgwCS8qIFNfRE1BXzc5ICovCiAKIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAKQEAgLTM1OCw2ICs0MTMsMTEgQEAKIAlPTUFQX0RNQV9EQVRBX0JVUlNUXzE2LAogfTsKIAorZW51bSBlbmRfdHlwZSB7CisJT01BUF9ETUFfTElUVExFX0VORElBTiA9IDAsCisJT01BUF9ETUFfQklHX0VORElBTgorfTsKKwogZW51bSBvbWFwX2RtYV9jb2xvcl9tb2RlIHsKIAlPTUFQX0RNQV9DT0xPUl9ESVMgPSAwLAogCU9NQVBfRE1BX0NPTlNUQU5UX0ZJTEwsCkBAIC0zNzAsMjQgKzQzMCwzNCBAQAogCU9NQVBfRE1BX1dSSVRFX0xBU1RfTk9OX1BPU1RFRAogfTsKIAorZW51bSBvbWFwX2RtYV9jaGFubmVsX21vZGUgeworCU9NQVBfRE1BX0xDSF8yRCA9IDAsCisJT01BUF9ETUFfTENIX0csCisJT01BUF9ETUFfTENIX1AsCisJT01BUF9ETUFfTENIX1BECit9OworCiBzdHJ1Y3Qgb21hcF9kbWFfY2hhbm5lbF9wYXJhbXMgewogCWludCBkYXRhX3R5cGU7CQkvKiBkYXRhIHR5cGUgOCwxNiwzMiAqLwogCWludCBlbGVtX2NvdW50OwkJLyogbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgZnJhbWUgKi8KIAlpbnQgZnJhbWVfY291bnQ7CS8qIG51bWJlciBvZiBmcmFtZXMgaW4gYSBlbGVtZW50ICovCiAKIAlpbnQgc3JjX3BvcnQ7CQkvKiBPbmx5IG9uIE9NQVAxIFJFVklTSVQ6IElzIHRoaXMgbmVlZGVkPyAqLwotCWludCBzcmNfYW1vZGU7CQkvKiBjb25zdGFudCAsIHBvc3QgaW5jcmVtZW50LCBpbmRleGVkICwgZG91YmxlIGluZGV4ZWQgKi8KKwlpbnQgc3JjX2Ftb2RlOwkJLyogY29uc3RhbnQsIHBvc3QgaW5jcmVtZW50LCBpbmRleGVkLAorCQkJCQlkb3VibGUgaW5kZXhlZCAqLwogCXVuc2lnbmVkIGxvbmcgc3JjX3N0YXJ0OwkvKiBzb3VyY2UgYWRkcmVzcyA6IHBoeXNpY2FsICovCiAJaW50IHNyY19laTsJCS8qIHNvdXJjZSBlbGVtZW50IGluZGV4ICovCiAJaW50IHNyY19maTsJCS8qIHNvdXJjZSBmcmFtZSBpbmRleCAqLwogCiAJaW50IGRzdF9wb3J0OwkJLyogT25seSBvbiBPTUFQMSBSRVZJU0lUOiBJcyB0aGlzIG5lZWRlZD8gKi8KLQlpbnQgZHN0X2Ftb2RlOwkJLyogY29uc3RhbnQgLCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCAsIGRvdWJsZSBpbmRleGVkICovCisJaW50IGRzdF9hbW9kZTsJCS8qIGNvbnN0YW50LCBwb3N0IGluY3JlbWVudCwgaW5kZXhlZCwKKwkJCQkJZG91YmxlIGluZGV4ZWQgKi8KIAl1bnNpZ25lZCBsb25nIGRzdF9zdGFydDsJLyogc291cmNlIGFkZHJlc3MgOiBwaHlzaWNhbCAqLwogCWludCBkc3RfZWk7CQkvKiBzb3VyY2UgZWxlbWVudCBpbmRleCAqLwogCWludCBkc3RfZmk7CQkvKiBzb3VyY2UgZnJhbWUgaW5kZXggKi8KIAotCWludCB0cmlnZ2VyOwkJLyogdHJpZ2dlciBhdHRhY2hlZCBpZiB0aGUgY2hhbm5lbCBpcyBzeW5jaHJvbml6ZWQgKi8KKwlpbnQgdHJpZ2dlcjsJCS8qIHRyaWdnZXIgYXR0YWNoZWQgaWYgdGhlIGNoYW5uZWwgaXMKKwkJCQkJc3luY2hyb25pemVkICovCiAJaW50IHN5bmNfbW9kZTsJCS8qIHN5Y24gb24gZWxlbWVudCwgZnJhbWUgLCBibG9jayBvciBwYWNrZXQgKi8KIAlpbnQgc3JjX29yX2RzdF9zeW5jaDsJLyogc291cmNlIHN5bmNoKDEpIG9yIGRlc3RpbmF0aW9uIHN5bmNoKDApICovCiAKQEAgLTQwNCw4ICs0NzQsOCBAQAogCiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfcHJpb3JpdHkoaW50IGxjaCwgaW50IGRzdF9wb3J0LCBpbnQgcHJpb3JpdHkpOwogZXh0ZXJuIGludCBvbWFwX3JlcXVlc3RfZG1hKGludCBkZXZfaWQsIGNvbnN0IGNoYXIgKmRldl9uYW1lLAotCQkJICAgIHZvaWQgKCogY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAotCQkJICAgIHZvaWQgKmRhdGEsIGludCAqZG1hX2NoKTsKKwkJCXZvaWQgKCpjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCisJCQl2b2lkICpkYXRhLCBpbnQgKmRtYV9jaCk7CiBleHRlcm4gdm9pZCBvbWFwX2VuYWJsZV9kbWFfaXJxKGludCBjaCwgdTE2IGlycV9iaXRzKTsKIGV4dGVybiB2b2lkIG9tYXBfZGlzYWJsZV9kbWFfaXJxKGludCBjaCwgdTE2IGlycV9iaXRzKTsKIGV4dGVybiB2b2lkIG9tYXBfZnJlZV9kbWEoaW50IGNoKTsKQEAgLTQxOCw2ICs0ODgsNyBAQAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX2NvbG9yX21vZGUoaW50IGxjaCwgZW51bSBvbWFwX2RtYV9jb2xvcl9tb2RlIG1vZGUsCiAJCQkJICAgIHUzMiBjb2xvcik7CiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfd3JpdGVfbW9kZShpbnQgbGNoLCBlbnVtIG9tYXBfZG1hX3dyaXRlX21vZGUgbW9kZSk7CitleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfY2hhbm5lbF9tb2RlKGludCBsY2gsIGVudW0gb21hcF9kbWFfY2hhbm5lbF9tb2RlIG1vZGUpOwogCiBleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfc3JjX3BhcmFtcyhpbnQgbGNoLCBpbnQgc3JjX3BvcnQsIGludCBzcmNfYW1vZGUsCiAJCQkJICAgIHVuc2lnbmVkIGxvbmcgc3JjX3N0YXJ0LApAQCAtNDM2LDIzICs1MDcsMjYgQEAKIAkJCQkJIGVudW0gb21hcF9kbWFfYnVyc3RfbW9kZSBidXJzdF9tb2RlKTsKIAogZXh0ZXJuIHZvaWQgb21hcF9zZXRfZG1hX3BhcmFtcyhpbnQgbGNoLAotCQkJCXN0cnVjdCBvbWFwX2RtYV9jaGFubmVsX3BhcmFtcyAqIHBhcmFtcyk7CisJCQkJc3RydWN0IG9tYXBfZG1hX2NoYW5uZWxfcGFyYW1zICpwYXJhbXMpOwogCi1leHRlcm4gdm9pZCBvbWFwX2RtYV9saW5rX2xjaCAoaW50IGxjaF9oZWFkLCBpbnQgbGNoX3F1ZXVlKTsKLWV4dGVybiB2b2lkIG9tYXBfZG1hX3VubGlua19sY2ggKGludCBsY2hfaGVhZCwgaW50IGxjaF9xdWV1ZSk7CitleHRlcm4gdm9pZCBvbWFwX2RtYV9saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOworZXh0ZXJuIHZvaWQgb21hcF9kbWFfdW5saW5rX2xjaChpbnQgbGNoX2hlYWQsIGludCBsY2hfcXVldWUpOwogCiBleHRlcm4gaW50IG9tYXBfc2V0X2RtYV9jYWxsYmFjayhpbnQgbGNoLAotCQkJdm9pZCAoKiBjYWxsYmFjaykoaW50IGxjaCwgdTE2IGNoX3N0YXR1cywgdm9pZCAqZGF0YSksCisJCQl2b2lkICgqY2FsbGJhY2spKGludCBsY2gsIHUxNiBjaF9zdGF0dXMsIHZvaWQgKmRhdGEpLAogCQkJdm9pZCAqZGF0YSk7CiBleHRlcm4gZG1hX2FkZHJfdCBvbWFwX2dldF9kbWFfc3JjX3BvcyhpbnQgbGNoKTsKIGV4dGVybiBkbWFfYWRkcl90IG9tYXBfZ2V0X2RtYV9kc3RfcG9zKGludCBsY2gpOwotZXh0ZXJuIGludCBvbWFwX2dldF9kbWFfc3JjX2FkZHJfY291bnRlcihpbnQgbGNoKTsKIGV4dGVybiB2b2lkIG9tYXBfY2xlYXJfZG1hKGludCBsY2gpOworZXh0ZXJuIGludCBvbWFwX2dldF9kbWFfYWN0aXZlX3N0YXR1cyhpbnQgbGNoKTsKIGV4dGVybiBpbnQgb21hcF9kbWFfcnVubmluZyh2b2lkKTsKIGV4dGVybiB2b2lkIG9tYXBfZG1hX3NldF9nbG9iYWxfcGFyYW1zKGludCBhcmJfcmF0ZSwgaW50IG1heF9maWZvX2RlcHRoLAogCQkJCSAgICAgICBpbnQgdHBhcmFtcyk7CiBleHRlcm4gaW50IG9tYXBfZG1hX3NldF9wcmlvX2xjaChpbnQgbGNoLCB1bnNpZ25lZCBjaGFyIHJlYWRfcHJpbywKIAkJCQkgdW5zaWduZWQgY2hhciB3cml0ZV9wcmlvKTsKK2V4dGVybiB2b2lkIG9tYXBfc2V0X2RtYV9kc3RfZW5kaWFuX3R5cGUoaW50IGxjaCwgZW51bSBlbmRfdHlwZSBldHlwZSk7CitleHRlcm4gdm9pZCBvbWFwX3NldF9kbWFfc3JjX2VuZGlhbl90eXBlKGludCBsY2gsIGVudW0gZW5kX3R5cGUgZXR5cGUpOworZXh0ZXJuIGludCBvbWFwX2dldF9kbWFfaW5kZXgoaW50IGxjaCwgaW50ICplaSwgaW50ICpmaSk7CiAKIC8qIENoYWluaW5nIEFQSXMgKi8KICNpZm5kZWYgQ09ORklHX0FSQ0hfT01BUDEKQEAgLTQ3OCw3ICs1NTIsNyBAQAogI2VuZGlmCiAKIC8qIExDRCBETUEgZnVuY3Rpb25zICovCi1leHRlcm4gaW50IG9tYXBfcmVxdWVzdF9sY2RfZG1hKHZvaWQgKCogY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpLAorZXh0ZXJuIGludCBvbWFwX3JlcXVlc3RfbGNkX2RtYSh2b2lkICgqY2FsbGJhY2spKHUxNiBzdGF0dXMsIHZvaWQgKmRhdGEpLAogCQkJCXZvaWQgKmRhdGEpOwogZXh0ZXJuIHZvaWQgb21hcF9mcmVlX2xjZF9kbWEodm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwX3NldHVwX2xjZF9kbWEodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2RtdGltZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oCmluZGV4IGZlZmIyNzYuLjAyYjI5ZTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZG10aW1lci5oCkBAIC02Niw2ICs2Niw3IEBACiAKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfc291cmNlKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IHNvdXJjZSk7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X2xvYWQoc3RydWN0IG9tYXBfZG1fdGltZXIgKnRpbWVyLCBpbnQgYXV0b3JlbG9hZCwgdW5zaWduZWQgaW50IHZhbHVlKTsKK3ZvaWQgb21hcF9kbV90aW1lcl9zZXRfbG9hZF9zdGFydChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBhdXRvcmVsb2FkLCB1bnNpZ25lZCBpbnQgdmFsdWUpOwogdm9pZCBvbWFwX2RtX3RpbWVyX3NldF9tYXRjaChzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBlbmFibGUsIHVuc2lnbmVkIGludCBtYXRjaCk7CiB2b2lkIG9tYXBfZG1fdGltZXJfc2V0X3B3bShzdHJ1Y3Qgb21hcF9kbV90aW1lciAqdGltZXIsIGludCBkZWZfb24sIGludCB0b2dnbGUsIGludCB0cmlnZ2VyKTsKIHZvaWQgb21hcF9kbV90aW1lcl9zZXRfcHJlc2NhbGVyKHN0cnVjdCBvbWFwX2RtX3RpbWVyICp0aW1lciwgaW50IHByZXNjYWxlcik7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2ZwZ2EuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oCmluZGV4IDZhODgzZTAuLmY0MjA4ODEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvZnBnYS5oCkBAIC0xNjksMzAgKzE2OSwyOSBAQAogI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQQkJKElIX0dQSU9fQkFTRSArIDEzKQogCiAvKiBJUlEgTnVtYmVycyBmb3IgaW50ZXJydXB0cyBtdXhlZCB0aHJvdWdoIHRoZSBGUEdBICovCi0jZGVmaW5lIE9NQVAxNTEwX0lIX0ZQR0FfQkFTRQkJSUhfQk9BUkRfQkFTRQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BVE4JCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAwKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BQ0sJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTMJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAzKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTQJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA0KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTUJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA1KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTYJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA2KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTcJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA3KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTgJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA4KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTkJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyA5KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTEwCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTApCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTEJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMSkKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMgkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDEyKQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRVRIRVIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxMykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMQkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDE0KQotI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQVVBUlQyCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTUpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1RTCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTYpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTcJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAxNykKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQ0FNCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTgpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19BCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMTkpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19CCQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjApCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NECQkoT01BUDE1MTBfSUhfRlBHQV9CQVNFICsgMjEpCi0jZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjIJCShPTUFQMTUxMF9JSF9GUEdBX0JBU0UgKyAyMikKLSNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyMwkJKE9NQVAxNTEwX0lIX0ZQR0FfQkFTRSArIDIzKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BVE4JCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAwKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQV9BQ0sJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTMJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAzKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTQJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA0KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTUJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA1KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTYJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA2KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTcJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA3KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTgJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA4KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTkJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyA5KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQTEwCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTApCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTEJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMSkKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0ExMgkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDEyKQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRVRIRVIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxMykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FVQVJUMQkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDE0KQorI2RlZmluZSBPTUFQMTUxMF9JTlRfRlBHQVVBUlQyCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTUpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1RTCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTYpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMTcJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAxNykKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0FfQ0FNCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTgpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19BCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMTkpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX1JUQ19CCQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjApCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBX0NECQkoT01BUF9GUEdBX0lSUV9CQVNFICsgMjEpCisjZGVmaW5lIE9NQVAxNTEwX0lOVF9GUEdBMjIJCShPTUFQX0ZQR0FfSVJRX0JBU0UgKyAyMikKKyNkZWZpbmUgT01BUDE1MTBfSU5UX0ZQR0EyMwkJKE9NQVBfRlBHQV9JUlFfQkFTRSArIDIzKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaGFyZHdhcmUuaAppbmRleCA5MWQ4NWIzLi40NWZkZmNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9oYXJkd2FyZS5oCkBAIC0yODQsNiArMjg0LDcgQEAKICNpbmNsdWRlICJvbWFwMTUxMC5oIgogI2luY2x1ZGUgIm9tYXAyNHh4LmgiCiAjaW5jbHVkZSAib21hcDE2eHguaCIKKyNpbmNsdWRlICJvbWFwMzR4eC5oIgogCiAjaWZuZGVmIF9fQVNTRU1CTEVSX18KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pby5oCmluZGV4IDE2MDU3OGUuLjBiMTM1NTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lvLmgKQEAgLTYwLDYgKzYwLDcgQEAKICNkZWZpbmUgSU9fU0laRQkJMHg0MDAwMAogI2RlZmluZSBJT19WSVJUCQkoSU9fUEhZUyAtIElPX09GRlNFVCkKICNkZWZpbmUgSU9fQUREUkVTUyhwYSkJKChwYSkgLSBJT19PRkZTRVQpCisjZGVmaW5lIE9NQVAxX0lPX0FERFJFU1MocGEpCSgocGEpIC0gSU9fT0ZGU0VUKQogI2RlZmluZSBpb19wMnYocGEpCSgocGEpIC0gSU9fT0ZGU0VUKQogI2RlZmluZSBpb192MnAodmEpCSgodmEpICsgSU9fT0ZGU0VUKQogCkBAIC05MSw2ICs5Miw3IEBACiAKICNkZWZpbmUgSU9fT0ZGU0VUCTB4OTAwMDAwMDAKICNkZWZpbmUgSU9fQUREUkVTUyhwYSkJKChwYSkgKyBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KKyNkZWZpbmUgT01BUDJfSU9fQUREUkVTUyhwYSkJKChwYSkgKyBJT19PRkZTRVQpCS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fcDJ2KHBhKQkoKHBhKSArIElPX09GRlNFVCkJLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogI2RlZmluZSBpb192MnAodmEpCSgodmEpIC0gSU9fT0ZGU0VUKQkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAKQEAgLTE0OCw2ICsxNTAsNyBAQAogCiAjZGVmaW5lIElPX09GRlNFVAkJMHg5MDAwMDAwMAogI2RlZmluZSBJT19BRERSRVNTKHBhKQkJKChwYSkgKyBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLworI2RlZmluZSBPTUFQMl9JT19BRERSRVNTKHBhKQkoKHBhKSArIElPX09GRlNFVCkvKiBXb3JrcyBmb3IgTDMgYW5kIEw0ICovCiAjZGVmaW5lIGlvX3AydihwYSkJCSgocGEpICsgSU9fT0ZGU0VUKS8qIFdvcmtzIGZvciBMMyBhbmQgTDQgKi8KICNkZWZpbmUgaW9fdjJwKHZhKQkJKCh2YSkgLSBJT19PRkZTRVQpLyogV29ya3MgZm9yIEwzIGFuZCBMNCAqLwogCkBAIC0xODMsMzUgKzE4NiwxMiBAQAogI2RlZmluZSBvbWFwX3dyaXRldyh2LGEpCSgqKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0ICopSU9fQUREUkVTUyhhKSA9ICh2KSkKICNkZWZpbmUgb21hcF93cml0ZWwodixhKQkoKih2b2xhdGlsZSB1bnNpZ25lZCBpbnQgICAqKUlPX0FERFJFU1MoYSkgPSAodikpCiAKLS8qIDE2IGJpdCB1c2VzIExEUkgvU1RSSCwgYmFzZSArLy0gb2Zmc2V0XzggKi8KLXR5cGVkZWYgc3RydWN0IHsgdm9sYXRpbGUgdTE2IG9mZnNldFsyNTZdOyB9IF9fcmVnYmFzZTE2OwotI2RlZmluZSBfX1JFR1YxNih2YWRkcikJCSgoX19yZWdiYXNlMTYgKikoKHZhZGRyKSZ+MHhmZikpIFwKLQkJCQkJLT5vZmZzZXRbKCh2YWRkcikmMHhmZik+PjFdCi0jZGVmaW5lIF9fUkVHMTYocGFkZHIpICAgICAgICAgIF9fUkVHVjE2KGlvX3AydihwYWRkcikpCi0KLS8qIDgvMzIgYml0IHVzZXMgTERSL1NUUiwgYmFzZSArLy0gb2Zmc2V0XzEyICovCi10eXBlZGVmIHN0cnVjdCB7IHZvbGF0aWxlIHU4IG9mZnNldFs0MDk2XTsgfSBfX3JlZ2Jhc2U4OwotI2RlZmluZSBfX1JFR1Y4KHZhZGRyKQkJKChfX3JlZ2Jhc2U4ICAqKSgodmFkZHIpJn40MDk1KSkgXAotCQkJCQktPm9mZnNldFsoKHZhZGRyKSY0MDk1KT4+MF0KLSNkZWZpbmUgX19SRUc4KHBhZGRyKQkJX19SRUdWOChpb19wMnYocGFkZHIpKQotCi10eXBlZGVmIHN0cnVjdCB7IHZvbGF0aWxlIHUzMiBvZmZzZXRbNDA5Nl07IH0gX19yZWdiYXNlMzI7Ci0jZGVmaW5lIF9fUkVHVjMyKHZhZGRyKQkJKChfX3JlZ2Jhc2UzMiAqKSgodmFkZHIpJn40MDk1KSkgXAotCQkJCQktPm9mZnNldFsoKHZhZGRyKSY0MDk1KT4+Ml0KLSNkZWZpbmUgX19SRUczMihwYWRkcikJCV9fUkVHVjMyKGlvX3AydihwYWRkcikpCi0KIGV4dGVybiB2b2lkIG9tYXAxX21hcF9jb21tb25faW8odm9pZCk7CiBleHRlcm4gdm9pZCBvbWFwMV9pbml0X2NvbW1vbl9odyh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgb21hcDJfbWFwX2NvbW1vbl9pbyh2b2lkKTsKIGV4dGVybiB2b2lkIG9tYXAyX2luaXRfY29tbW9uX2h3KHZvaWQpOwogCi0jZWxzZQotCi0jZGVmaW5lIF9fUkVHOChwYWRkcikJCWlvX3AydihwYWRkcikKLSNkZWZpbmUgX19SRUcxNihwYWRkcikJCWlvX3AydihwYWRkcikKLSNkZWZpbmUgX19SRUczMihwYWRkcikJCWlvX3AydihwYWRkcikKLQogI2VuZGlmCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaAppbmRleCA4Nzk3MzY1Li43NDY0YzY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL2lycXMuaApAQCAtMjg1LDcgKzI4NSw0MSBAQAogI2RlZmluZSBPTUFQX01BWF9HUElPX0xJTkVTCTE5MgogI2RlZmluZSBJSF9HUElPX0JBU0UJCSgxMjggKyBJSDJfQkFTRSkKICNkZWZpbmUgSUhfTVBVSU9fQkFTRQkJKE9NQVBfTUFYX0dQSU9fTElORVMgKyBJSF9HUElPX0JBU0UpCi0jZGVmaW5lIElIX0JPQVJEX0JBU0UJCSgxNiArIElIX01QVUlPX0JBU0UpCisjZGVmaW5lIE9NQVBfSVJRX0VORAkJKElIX01QVUlPX0JBU0UgKyAxNikKKworLyogRXh0ZXJuYWwgRlBHQSBoYW5kbGVzIGludGVycnVwdHMgb24gSW5ub3ZhdG9yIGJvYXJkcyAqLworI2RlZmluZQlPTUFQX0ZQR0FfSVJRX0JBU0UJKE9NQVBfSVJRX0VORCkKKyNpZmRlZglDT05GSUdfTUFDSF9PTUFQX0lOTk9WQVRPUgorI2RlZmluZSBPTUFQX0ZQR0FfTlJfSVJRUwkyNAorI2Vsc2UKKyNkZWZpbmUgT01BUF9GUEdBX05SX0lSUVMJMAorI2VuZGlmCisjZGVmaW5lIE9NQVBfRlBHQV9JUlFfRU5ECShPTUFQX0ZQR0FfSVJRX0JBU0UgKyBPTUFQX0ZQR0FfTlJfSVJRUykKKworLyogRXh0ZXJuYWwgVFdMNDAzMCBjYW4gaGFuZGxlIGludGVycnVwdHMgb24gMjQzMCBhbmQgMzR4eCBib2FyZHMgKi8KKyNkZWZpbmUJVFdMNDAzMF9JUlFfQkFTRQkoT01BUF9GUEdBX0lSUV9FTkQpCisjaWZkZWYJQ09ORklHX1RXTDQwMzBfQ09SRQorI2RlZmluZQlUV0w0MDMwX0JBU0VfTlJfSVJRUwk4CisjZGVmaW5lCVRXTDQwMzBfUFdSX05SX0lSUVMJOAorI2Vsc2UKKyNkZWZpbmUJVFdMNDAzMF9CQVNFX05SX0lSUVMJMAorI2RlZmluZQlUV0w0MDMwX1BXUl9OUl9JUlFTCTAKKyNlbmRpZgorI2RlZmluZSBUV0w0MDMwX0lSUV9FTkQJCShUV0w0MDMwX0lSUV9CQVNFICsgVFdMNDAzMF9CQVNFX05SX0lSUVMpCisjZGVmaW5lIFRXTDQwMzBfUFdSX0lSUV9CQVNFCVRXTDQwMzBfSVJRX0VORAorI2RlZmluZQlUV0w0MDMwX1BXUl9JUlFfRU5ECShUV0w0MDMwX1BXUl9JUlFfQkFTRSArIFRXTDQwMzBfUFdSX05SX0lSUVMpCisKKy8qIEV4dGVybmFsIFRXTDQwMzAgZ3BpbyBpbnRlcnJ1cHRzIGFyZSBvcHRpb25hbCAqLworI2RlZmluZSBUV0w0MDMwX0dQSU9fSVJRX0JBU0UJVFdMNDAzMF9QV1JfSVJRX0VORAorI2lmZGVmCUNPTkZJR19UV0w0MDMwX0dQSU8KKyNkZWZpbmUgVFdMNDAzMF9HUElPX05SX0lSUVMJMTgKKyNlbHNlCisjZGVmaW5lCVRXTDQwMzBfR1BJT19OUl9JUlFTCTAKKyNlbmRpZgorI2RlZmluZSBUV0w0MDMwX0dQSU9fSVJRX0VORAkoVFdMNDAzMF9HUElPX0lSUV9CQVNFICsgVFdMNDAzMF9HUElPX05SX0lSUVMpCisKKy8qIFRvdGFsIG51bWJlciBvZiBpbnRlcnJ1cHRzIGRlcGVuZHMgb24gdGhlIGVuYWJsZWQgYmxvY2tzIGFib3ZlICovCisjZGVmaW5lIE5SX0lSUVMJCQlUV0w0MDMwX0dQSU9fSVJRX0VORAogCiAjZGVmaW5lIE9NQVBfSVJRX0JJVChpcnEpCSgxIDw8ICgoaXJxKSAlIDMyKSkKIApAQCAtMjkzLDE0ICszMjcsNiBAQAogZXh0ZXJuIHZvaWQgb21hcF9pbml0X2lycSh2b2lkKTsKICNlbmRpZgogCi0vKgotICogVGhlIGRlZmluaXRpb24gb2YgTlJfSVJRUyBpcyBpbiBib2FyZC1zcGVjaWZpYyBoZWFkZXIgZmlsZSwgd2hpY2ggaXMKLSAqIGluY2x1ZGVkIHZpYSBoYXJkd2FyZS5oCi0gKi8KICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KIAotI2lmbmRlZiBOUl9JUlFTCi0jZGVmaW5lIE5SX0lSUVMgICAgICAgICAgICAgICAgIElIX0JPQVJEX0JBU0UKLSNlbmRpZgotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvbWNic3AuaAppbmRleCBjN2EwY2MxLi4yNmM3OGY2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL21jYnNwLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tY2JzcC5oCkBAIC0yNCw3ICsyNCwxMSBAQAogI2lmbmRlZiBfX0FTTV9BUkNIX09NQVBfTUNCU1BfSAogI2RlZmluZSBfX0FTTV9BUkNIX09NQVBfTUNCU1BfSAogCisjaW5jbHVkZSA8bGludXgvY29tcGxldGlvbi5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisKICNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9jbG9jay5oPgogCiAjZGVmaW5lIE9NQVA3MzBfTUNCU1AxX0JBU0UJMHhmZmZiMTAwMAogI2RlZmluZSBPTUFQNzMwX01DQlNQMl9CQVNFCTB4ZmZmYjE4MDAKQEAgLTQwLDYgKzQ0LDkgQEAKICNkZWZpbmUgT01BUDI0WFhfTUNCU1AxX0JBU0UJMHg0ODA3NDAwMAogI2RlZmluZSBPTUFQMjRYWF9NQ0JTUDJfQkFTRQkweDQ4MDc2MDAwCiAKKyNkZWZpbmUgT01BUDM0WFhfTUNCU1AxX0JBU0UJMHg0ODA3NDAwMAorI2RlZmluZSBPTUFQMzRYWF9NQ0JTUDJfQkFTRQkweDQ5MDIyMDAwCisKICNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNVhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAxNlhYKSB8fCBkZWZpbmVkKENPTkZJR19BUkNIX09NQVA3MzApCiAKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfRFJSMgkweDAwCkBAIC03NCw3ICs4MSw4IEBACiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJHCTB4M0EKICNkZWZpbmUgT01BUF9NQ0JTUF9SRUdfWENFUkgJMHgzQwogCi0jZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UIDMKKyNkZWZpbmUgT01BUF9NQVhfTUNCU1BfQ09VTlQJMworI2RlZmluZSBNQVhfTUNCU1BfQ0xPQ0tTCTMKIAogI2RlZmluZSBBVURJT19NQ0JTUF9EQVRBV1JJVEUJKE9NQVAxNTEwX01DQlNQMV9CQVNFICsgT01BUF9NQ0JTUF9SRUdfRFhSMSkKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVJFQUQJKE9NQVAxNTEwX01DQlNQMV9CQVNFICsgT01BUF9NQ0JTUF9SRUdfRFJSMSkKQEAgLTExNyw3ICsxMjUsOCBAQAogI2RlZmluZSBPTUFQX01DQlNQX1JFR19YQ0VSRwkweDc0CiAjZGVmaW5lIE9NQVBfTUNCU1BfUkVHX1hDRVJICTB4NzgKIAotI2RlZmluZSBPTUFQX01BWF9NQ0JTUF9DT1VOVCAyCisjZGVmaW5lIE9NQVBfTUFYX01DQlNQX0NPVU5UCTIKKyNkZWZpbmUgTUFYX01DQlNQX0NMT0NLUwkyCiAKICNkZWZpbmUgQVVESU9fTUNCU1BfREFUQVdSSVRFCShPTUFQMjRYWF9NQ0JTUDJfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RYUjEpCiAjZGVmaW5lIEFVRElPX01DQlNQX0RBVEFSRUFECShPTUFQMjRYWF9NQ0JTUDJfQkFTRSArIE9NQVBfTUNCU1BfUkVHX0RSUjEpCkBAIC0yOTgsNiArMzA3LDU1IEBACiAJb21hcF9tY2JzcF93b3JkX2xlbmd0aAkJd29yZF9sZW5ndGg7CiB9OwogCisvKiBQbGF0Zm9ybSBzcGVjaWZpYyBjb25maWd1cmF0aW9uICovCitzdHJ1Y3Qgb21hcF9tY2JzcF9vcHMgeworCXZvaWQgKCpyZXF1ZXN0KSh1bnNpZ25lZCBpbnQpOworCXZvaWQgKCpmcmVlKSh1bnNpZ25lZCBpbnQpOworCWludCAoKmNoZWNrKSh1bnNpZ25lZCBpbnQpOworfTsKKworc3RydWN0IG9tYXBfbWNic3BfcGxhdGZvcm1fZGF0YSB7CisJdTMyIHZpcnRfYmFzZTsKKwl1OCBkbWFfcnhfc3luYywgZG1hX3R4X3N5bmM7CisJdTE2IHJ4X2lycSwgdHhfaXJxOworCXN0cnVjdCBvbWFwX21jYnNwX29wcyAqb3BzOworCWNoYXIgY29uc3QgKmNsa19uYW1lOworfTsKKworc3RydWN0IG9tYXBfbWNic3AgeworCXN0cnVjdCBkZXZpY2UgKmRldjsKKwl1MzIgaW9fYmFzZTsKKwl1OCBpZDsKKwl1OCBmcmVlOworCW9tYXBfbWNic3Bfd29yZF9sZW5ndGggcnhfd29yZF9sZW5ndGg7CisJb21hcF9tY2JzcF93b3JkX2xlbmd0aCB0eF93b3JkX2xlbmd0aDsKKworCW9tYXBfbWNic3BfaW9fdHlwZV90IGlvX3R5cGU7IC8qIElSUSBvciBwb2xsICovCisJLyogSVJRIGJhc2VkIFRYL1JYICovCisJaW50IHJ4X2lycTsKKwlpbnQgdHhfaXJxOworCisJLyogRE1BIHN0dWZmICovCisJdTggZG1hX3J4X3N5bmM7CisJc2hvcnQgZG1hX3J4X2xjaDsKKwl1OCBkbWFfdHhfc3luYzsKKwlzaG9ydCBkbWFfdHhfbGNoOworCisJLyogQ29tcGxldGlvbiBxdWV1ZXMgKi8KKwlzdHJ1Y3QgY29tcGxldGlvbiB0eF9pcnFfY29tcGxldGlvbjsKKwlzdHJ1Y3QgY29tcGxldGlvbiByeF9pcnFfY29tcGxldGlvbjsKKwlzdHJ1Y3QgY29tcGxldGlvbiB0eF9kbWFfY29tcGxldGlvbjsKKwlzdHJ1Y3QgY29tcGxldGlvbiByeF9kbWFfY29tcGxldGlvbjsKKworCS8qIFByb3RlY3QgdGhlIGZpZWxkIC5mcmVlLCB3aGlsZSBjaGVja2luZyBpZiB0aGUgbWNic3AgaXMgaW4gdXNlICovCisJc3BpbmxvY2tfdCBsb2NrOworCXN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgKnBkYXRhOworCXN0cnVjdCBjbGsgKmNsazsKK307CisKK2ludCBvbWFwX21jYnNwX2luaXQodm9pZCk7Cit2b2lkIG9tYXBfbWNic3BfcmVnaXN0ZXJfYm9hcmRfY2ZnKHN0cnVjdCBvbWFwX21jYnNwX3BsYXRmb3JtX2RhdGEgKmNvbmZpZywKKwkJCQkJaW50IHNpemUpOwogdm9pZCBvbWFwX21jYnNwX2NvbmZpZyh1bnNpZ25lZCBpbnQgaWQsIGNvbnN0IHN0cnVjdCBvbWFwX21jYnNwX3JlZ19jZmcgKiBjb25maWcpOwogaW50IG9tYXBfbWNic3BfcmVxdWVzdCh1bnNpZ25lZCBpbnQgaWQpOwogdm9pZCBvbWFwX21jYnNwX2ZyZWUodW5zaWduZWQgaW50IGlkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvb21hcDM0eHguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTMwYzZkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9vbWFwMzR4eC5oCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL29tYXAzNHh4LmgKKyAqCisgKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHByb2Nlc3NvciBzcGVjaWZpYyBkZWZpbml0aW9ucyBvZiB0aGUgVEkgT01BUDM0WFguCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3IFRleGFzIEluc3RydW1lbnRzLgorICogQ29weXJpZ2h0IChDKSAyMDA3IE5va2lhIENvcnBvcmF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKKyAqLworCisjaWZuZGVmIF9fQVNNX0FSQ0hfT01BUDM0WFhfSAorI2RlZmluZSBfX0FTTV9BUkNIX09NQVAzNFhYX0gKKworLyoKKyAqIFBsZWFzZSBwbGFjZSBvbmx5IGJhc2UgZGVmaW5lcyBoZXJlIGFuZCBwdXQgdGhlIHJlc3QgaW4gZGV2aWNlCisgKiBzcGVjaWZpYyBoZWFkZXJzLgorICovCisKKyNkZWZpbmUgTDRfMzRYWF9CQVNFCQkweDQ4MDAwMDAwCisjZGVmaW5lIEw0X1dLXzM0WFhfQkFTRQkJMHg0ODMwMDAwMAorI2RlZmluZSBMNF9XS19PTUFQX0JBU0UJCUw0X1dLXzM0WFhfQkFTRQorI2RlZmluZSBMNF9QRVJfMzRYWF9CQVNFCTB4NDkwMDAwMDAKKyNkZWZpbmUgTDRfUEVSX09NQVBfQkFTRQlMNF9QRVJfMzRYWF9CQVNFCisjZGVmaW5lIEw0X0VNVV8zNFhYX0JBU0UJMHg1NDAwMDAwMAorI2RlZmluZSBMNF9FTVVfQkFTRQkJTDRfRU1VXzM0WFhfQkFTRQorI2RlZmluZSBMM18zNFhYX0JBU0UJCTB4NjgwMDAwMDAKKyNkZWZpbmUgTDNfT01BUF9CQVNFCQlMM18zNFhYX0JBU0UKKworI2RlZmluZSBPTUFQMzQzMF8zMktTWU5DVF9CQVNFCTB4NDgzMjAwMDAKKyNkZWZpbmUgT01BUDM0MzBfQ01fQkFTRQkweDQ4MDA0ODAwCisjZGVmaW5lIE9NQVAzNDMwX1BSTV9CQVNFCTB4NDgzMDY4MDAKKyNkZWZpbmUgT01BUDM0M1hfU01TX0JBU0UJMHg2QzAwMDAwMAorI2RlZmluZSBPTUFQMzQzWF9TRFJDX0JBU0UJMHg2RDAwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9HUE1DX0JBU0UJMHg2RTAwMDAwMAorI2RlZmluZSBPTUFQMzQzWF9TQ01fQkFTRQkweDQ4MDAyMDAwCisjZGVmaW5lIE9NQVAzNDNYX0NUUkxfQkFTRQlPTUFQMzQzWF9TQ01fQkFTRQorCisjZGVmaW5lIE9NQVAzNFhYX0lDX0JBU0UJMHg0ODIwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9JVkFfSU5UQ19CQVNFCTB4NDAwMDAwMDAKKyNkZWZpbmUgT01BUDM0WFhfSFNVU0JfT1RHX0JBU0UJKEw0XzM0WFhfQkFTRSArIDB4QUIwMDApCisjZGVmaW5lIE9NQVAzNFhYX0hTVVNCX0hPU1RfQkFTRQkoTDRfMzRYWF9CQVNFICsgMHg2NDAwMCkKKyNkZWZpbmUgT01BUDM0WFhfVVNCVExMX0JBU0UJKEw0XzM0WFhfQkFTRSArIDB4NjIwMDApCisKKworI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDM0MzApCisKKyNkZWZpbmUgT01BUDJfMzJLU1lOQ1RfQkFTRQkJT01BUDM0MzBfMzJLU1lOQ1RfQkFTRQorI2RlZmluZSBPTUFQMl9DTV9CQVNFCQkJT01BUDM0MzBfQ01fQkFTRQorI2RlZmluZSBPTUFQMl9QUk1fQkFTRQkJCU9NQVAzNDMwX1BSTV9CQVNFCisjZGVmaW5lIE9NQVAyX1ZBX0lDX0JBU0UJCUlPX0FERFJFU1MoT01BUDM0WFhfSUNfQkFTRSkKKworI2VuZGlmCisKKyNkZWZpbmUgT01BUDM0WFhfRFNQX0JBU0UJMHg1ODAwMDAwMAorI2RlZmluZSBPTUFQMzRYWF9EU1BfTUVNX0JBU0UJKE9NQVAzNFhYX0RTUF9CQVNFICsgMHgwKQorI2RlZmluZSBPTUFQMzRYWF9EU1BfSVBJX0JBU0UJKE9NQVAzNFhYX0RTUF9CQVNFICsgMHgxMDAwMDAwKQorI2RlZmluZSBPTUFQMzRYWF9EU1BfTU1VX0JBU0UJKE9NQVAzNFhYX0RTUF9CQVNFICsgMHgyMDAwMDAwKQorI2VuZGlmIC8qIF9fQVNNX0FSQ0hfT01BUDM0WFhfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3NyYW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oCmluZGV4IGJiOWJiM2YuLmJlNTlmNGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvc3JhbS5oCkBAIC0xMSw2ICsxMSw3IEBACiAjaWZuZGVmIF9fQVJDSF9BUk1fT01BUF9TUkFNX0gKICNkZWZpbmUgX19BUkNIX0FSTV9PTUFQX1NSQU1fSAogCitleHRlcm4gaW50IF9faW5pdCBvbWFwX3NyYW1faW5pdCh2b2lkKTsKIGV4dGVybiB2b2lkICogb21hcF9zcmFtX3B1c2godm9pZCAqIHN0YXJ0LCB1bnNpZ25lZCBsb25nIHNpemUpOwogZXh0ZXJuIHZvaWQgb21hcF9zcmFtX3JlcHJvZ3JhbV9jbG9jayh1MzIgZHBsbGN0bCwgdTMyIGNrY3RsKTsKIApAQCAtMjEsMTcgKzIyLDM1IEBACiBleHRlcm4gdTMyIG9tYXAyX3NldF9wcmNtKHUzMiBkcGxsX2N0cmxfdmFsLCB1MzIgc2RyY19yZnJfdmFsLCBpbnQgYnlwYXNzKTsKIAogLyogRG8gbm90IHVzZSB0aGVzZSAqLwotZXh0ZXJuIHZvaWQgc3JhbV9yZXByb2dyYW1fY2xvY2sodTMyIGNrY3RsLCB1MzIgZHBsbGN0bCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX3JlcHJvZ3JhbV9jbG9ja19zejsKK2V4dGVybiB2b2lkIG9tYXAxX3NyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBja2N0bCwgdTMyIGRwbGxjdGwpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDFfc3JhbV9yZXByb2dyYW1fY2xvY2tfc3o7CiAKLWV4dGVybiB2b2lkIHNyYW1fZGRyX2luaXQodTMyICpzbG93X2RsbF9jdHJsLCB1MzIgZmFzdF9kbGxfY3RybCwKLQkJCSAgdTMyIGJhc2VfY3MsIHUzMiBmb3JjZV91bmxvY2spOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc3JhbV9kZHJfaW5pdF9zejsKK2V4dGVybiB2b2lkIG9tYXAyNHh4X3NyYW1fcmVwcm9ncmFtX2Nsb2NrKHUzMiBja2N0bCwgdTMyIGRwbGxjdGwpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0eHhfc3JhbV9yZXByb2dyYW1fY2xvY2tfc3o7CiAKLWV4dGVybiB1MzIgc3JhbV9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwgaW50IGJ5cGFzcyk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX3NldF9wcmNtX3N6OworZXh0ZXJuIHZvaWQgb21hcDI0Mnhfc3JhbV9kZHJfaW5pdCh1MzIgKnNsb3dfZGxsX2N0cmwsIHUzMiBmYXN0X2RsbF9jdHJsLAorCQkJCQkJdTMyIGJhc2VfY3MsIHUzMiBmb3JjZV91bmxvY2spOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0Mnhfc3JhbV9kZHJfaW5pdF9zejsKIAotZXh0ZXJuIHZvaWQgc3JhbV9yZXByb2dyYW1fc2RyYyh1MzIgcGVyZl9sZXZlbCwgdTMyIGRsbF92YWwsIHUzMiBtZW1fdHlwZSk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBzcmFtX3JlcHJvZ3JhbV9zZHJjX3N6OworZXh0ZXJuIHUzMiBvbWFwMjQyeF9zcmFtX3NldF9wcmNtKHUzMiBkcGxsX2N0cmxfdmFsLCB1MzIgc2RyY19yZnJfdmFsLAorCQkJCQkJaW50IGJ5cGFzcyk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQyeF9zcmFtX3NldF9wcmNtX3N6OworCitleHRlcm4gdm9pZCBvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjKHUzMiBwZXJmX2xldmVsLCB1MzIgZGxsX3ZhbCwKKwkJCQkJCXUzMiBtZW1fdHlwZSk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBvbWFwMjQyeF9zcmFtX3JlcHJvZ3JhbV9zZHJjX3N6OworCisKK2V4dGVybiB2b2lkIG9tYXAyNDN4X3NyYW1fZGRyX2luaXQodTMyICpzbG93X2RsbF9jdHJsLCB1MzIgZmFzdF9kbGxfY3RybCwKKwkJCQkJCXUzMiBiYXNlX2NzLCB1MzIgZm9yY2VfdW5sb2NrKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG9tYXAyNDN4X3NyYW1fZGRyX2luaXRfc3o7CisKK2V4dGVybiB1MzIgb21hcDI0M3hfc3JhbV9zZXRfcHJjbSh1MzIgZHBsbF9jdHJsX3ZhbCwgdTMyIHNkcmNfcmZyX3ZhbCwKKwkJCQkJCWludCBieXBhc3MpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0M3hfc3JhbV9zZXRfcHJjbV9zejsKKworZXh0ZXJuIHZvaWQgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyYyh1MzIgcGVyZl9sZXZlbCwgdTMyIGRsbF92YWwsCisJCQkJCQl1MzIgbWVtX3R5cGUpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgb21hcDI0M3hfc3JhbV9yZXByb2dyYW1fc2RyY19zejsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3RjLmgKaW5kZXggOGRlZDIxOC4uNjVhOWM4MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC90Yy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdGMuaApAQCAtNzUsMTYgKzc1LDE0IEBACiAjaWZuZGVmCV9fQVNTRU1CTEVSX18KIAogLyogRU1JRiBTbG93IEludGVyZmFjZSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCi0jZGVmaW5lCU9NQVBfRU1JRlNfQ09ORklHX1JFRwlfX1JFRzMyKEVNSUZTX0NPTkZJRykKLQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19GUgkJKDEgPDwgNCkKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfUERFCQkoMSA8PCAzKQogI2RlZmluZSBPTUFQX0VNSUZTX0NPTkZJR19QV0RfRU4JKDEgPDwgMikKICNkZWZpbmUgT01BUF9FTUlGU19DT05GSUdfQk0JCSgxIDw8IDEpCiAjZGVmaW5lIE9NQVBfRU1JRlNfQ09ORklHX1dQCQkoMSA8PCAwKQogCi0jZGVmaW5lIEVNSUZTX0NDUyhuKQkJX19SRUczMihFTUlGU19DUzBfQ09ORklHICsgKDQgKiAobikpKQotI2RlZmluZSBFTUlGU19BQ1MobikJCV9fUkVHMzIoRU1JRlNfQUNTMCArICg0ICogKG4pKSkKKyNkZWZpbmUgRU1JRlNfQ0NTKG4pCQkoRU1JRlNfQ1MwX0NPTkZJRyArICg0ICogKG4pKSkKKyNkZWZpbmUgRU1JRlNfQUNTKG4pCQkoRU1JRlNfQUNTMCArICg0ICogKG4pKSkKIAogLyogQWxtb3N0IGFsbCBkb2N1bWVudGF0aW9uIGZvciBjaGlwIGFuZCBib2FyZCBtZW1vcnkgbWFwcyBhc3N1bWVzCiAgKiBCTSBpcyBjbGVhci4gIE1vc3QgZGV2ZWwgYm9hcmRzIGhhdmUgYSBzd2l0Y2ggdG8gY29udHJvbCBib290aW5nCkBAIC05MywxMyArOTEsMTMgQEAKICAqLwogc3RhdGljIGlubGluZSB1MzIgb21hcF9jczBfcGh5cyh2b2lkKQogewotCXJldHVybiAoT01BUF9FTUlGU19DT05GSUdfUkVHICYgT01BUF9FTUlGU19DT05GSUdfQk0pCisJcmV0dXJuIChvbWFwX3JlYWRsKEVNSUZTX0NPTkZJRykgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKIAkJCT8gIE9NQVBfQ1MzX1BIWVMgOiAwOwogfQogCiBzdGF0aWMgaW5saW5lIHUzMiBvbWFwX2NzM19waHlzKHZvaWQpCiB7Ci0JcmV0dXJuIChPTUFQX0VNSUZTX0NPTkZJR19SRUcgJiBPTUFQX0VNSUZTX0NPTkZJR19CTSkKKwlyZXR1cm4gKG9tYXBfcmVhZGwoRU1JRlNfQ09ORklHKSAmIE9NQVBfRU1JRlNfQ09ORklHX0JNKQogCQkJPyAwIDogT01BUF9DUzNfUEhZUzsKIH0KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgKaW5kZXggMjE0N2QxOC4uZGRmMTg2MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL3VzYi5oCkBAIC0zNCwxMSArMzQsOCBAQAogLyoKICAqIE9URyBhbmQgdHJhbnNjZWl2ZXIgcmVnaXN0ZXJzLCBmb3IgT01BUHMgc3RhcnRpbmcgd2l0aCBBUk05MjYKICAqLwotI2RlZmluZSBPVEdfUkVHMzIob2Zmc2V0KQkJX19SRUczMihPVEdfQkFTRSArIChvZmZzZXQpKQotI2RlZmluZSBPVEdfUkVHMTYob2Zmc2V0KQkJX19SRUcxNihPVEdfQkFTRSArIChvZmZzZXQpKQotCi0jZGVmaW5lIE9UR19SRVZfUkVHCQkJT1RHX1JFRzMyKDB4MDApCi0jZGVmaW5lIE9UR19TWVNDT05fMV9SRUcJCU9UR19SRUczMigweDA0KQorI2RlZmluZSBPVEdfUkVWCQkJCShPVEdfQkFTRSArIDB4MDApCisjZGVmaW5lIE9UR19TWVNDT05fMQkJCShPVEdfQkFTRSArIDB4MDQpCiAjCWRlZmluZQkgVVNCMl9UUlhfTU9ERSh3KQkoKCh3KT4+MjQpJjB4MDcpCiAjCWRlZmluZQkgVVNCMV9UUlhfTU9ERSh3KQkoKCh3KT4+MjApJjB4MDcpCiAjCWRlZmluZQkgVVNCMF9UUlhfTU9ERSh3KQkoKCh3KT4+MTYpJjB4MDcpCkBAIC00Nyw3ICs0NCw3IEBACiAjCWRlZmluZQkgREVWX0lETEVfRU4JCSgxIDw8IDEzKQogIwlkZWZpbmUJIE9UR19SRVNFVF9ET05FCQkoMSA8PCAyKQogIwlkZWZpbmUJIE9UR19TT0ZUX1JFU0VUCQkoMSA8PCAxKQotI2RlZmluZSBPVEdfU1lTQ09OXzJfUkVHCQlPVEdfUkVHMzIoMHgwOCkKKyNkZWZpbmUgT1RHX1NZU0NPTl8yCQkJKE9UR19CQVNFICsgMHgwOCkKICMJZGVmaW5lCSBPVEdfRU4JCQkoMSA8PCAzMSkKICMJZGVmaW5lCSBVU0JYX1NZTkNIUk8JCSgxIDw8IDMwKQogIwlkZWZpbmUJIE9UR19NU1QxNgkJKDEgPDwgMjkpCkBAIC02NSw3ICs2Miw3IEBACiAjCWRlZmluZQkgSE1DX1RMTFNQRUVECQkoMSA8PCA3KQogIwlkZWZpbmUJIEhNQ19UTExBVFRBQ0gJCSgxIDw8IDYpCiAjCWRlZmluZQkgT1RHX0hNQyh3KQkJKCgodyk+PjApJjB4M2YpCi0jZGVmaW5lIE9UR19DVFJMX1JFRwkJCU9UR19SRUczMigweDBjKQorI2RlZmluZSBPVEdfQ1RSTAkJCShPVEdfQkFTRSArIDB4MGMpCiAjCWRlZmluZQkgT1RHX1VTQjJfRU4JCSgxIDw8IDI5KQogIwlkZWZpbmUJIE9UR19VU0IyX0RQCQkoMSA8PCAyOCkKICMJZGVmaW5lCSBPVEdfVVNCMl9ETQkJKDEgPDwgMjcpCkBAIC05Miw3ICs4OSw3IEBACiAjCWRlZmluZQkgT1RHX1BEX1ZCVVMJCSgxIDw8IDIpCiAjCWRlZmluZQkgT1RHX1BVX1ZCVVMJCSgxIDw8IDEpCiAjCWRlZmluZQkgT1RHX1BVX0lECQkoMSA8PCAwKQotI2RlZmluZSBPVEdfSVJRX0VOX1JFRwkJCU9UR19SRUcxNigweDEwKQorI2RlZmluZSBPVEdfSVJRX0VOCQkJKE9UR19CQVNFICsgMHgxMCkJLyogMTYtYml0ICovCiAjCWRlZmluZQkgRFJJVkVSX1NXSVRDSAkJKDEgPDwgMTUpCiAjCWRlZmluZQkgQV9WQlVTX0VSUgkJKDEgPDwgMTMpCiAjCWRlZmluZQkgQV9SRVFfVE1ST1VUCQkoMSA8PCAxMikKQEAgLTEwMiw5ICs5OSw5IEBACiAjCWRlZmluZQkgQl9TUlBfRE9ORQkJKDEgPDwgOCkKICMJZGVmaW5lCSBCX1NSUF9TVEFSVEVECQkoMSA8PCA3KQogIwlkZWZpbmUJIE9QUlRfQ0hHCQkoMSA8PCAwKQotI2RlZmluZSBPVEdfSVJRX1NSQ19SRUcJCQlPVEdfUkVHMTYoMHgxNCkKKyNkZWZpbmUgT1RHX0lSUV9TUkMJCQkoT1RHX0JBU0UgKyAweDE0KQkvKiAxNi1iaXQgKi8KIAkvLyBzYW1lIGJpdHMgYXMgaW4gSVJRX0VOCi0jZGVmaW5lIE9UR19PVVRDVFJMX1JFRwkJCU9UR19SRUcxNigweDE4KQorI2RlZmluZSBPVEdfT1VUQ1RSTAkJCShPVEdfQkFTRSArIDB4MTgpCS8qIDE2LWJpdCAqLwogIwlkZWZpbmUJIE9UR1ZQRAkJCSgxIDw8IDE0KQogIwlkZWZpbmUJIE9UR1ZQVQkJCSgxIDw8IDEzKQogIwlkZWZpbmUJIE9UR1BVSUQJCSgxIDw8IDEyKQpAQCAtMTE3LDEzICsxMTQsMTMgQEAKICMJZGVmaW5lCSBVU0IwVkRSCQkoMSA8PCAyKQogIwlkZWZpbmUJIFVTQjBQREVOCQkoMSA8PCAxKQogIwlkZWZpbmUJIFVTQjBQVUVOCQkoMSA8PCAwKQotI2RlZmluZSBPVEdfVEVTVF9SRUcJCQlPVEdfUkVHMTYoMHgyMCkKLSNkZWZpbmUgT1RHX1ZFTkRPUl9DT0RFX1JFRwkJT1RHX1JFRzMyKDB4ZmMpCisjZGVmaW5lIE9UR19URVNUCQkJKE9UR19CQVNFICsgMHgyMCkJLyogMTYtYml0ICovCisjZGVmaW5lIE9UR19WRU5ET1JfQ09ERQkJCShPVEdfQkFTRSArIDB4ZmMpCS8qIDE2LWJpdCAqLwogCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiAvKiBPTUFQMSAqLwotI2RlZmluZQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcJX19SRUczMigweGZmZmUxMDAwICsgMHgwMDY0KQorI2RlZmluZQlVU0JfVFJBTlNDRUlWRVJfQ1RSTAkJKDB4ZmZmZTEwMDAgKyAweDAwNjQpCiAjCWRlZmluZQlDT05GX1VTQjJfVU5JX1IJCSgxIDw8IDgpCiAjCWRlZmluZQlDT05GX1VTQjFfVU5JX1IJCSgxIDw8IDcpCiAjCWRlZmluZQlDT05GX1VTQl9QT1JUMF9SKHgpCSgoKHgpPj40KSYweDcpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L2lvLmgKaW5kZXggNTBmOGM4OC4uNTlmMWJjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9pby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvaW8uaApAQCAtMTQsNyArMTQsNiBAQAogI2luY2x1ZGUgIm9yaW9uNXguaCIKIAogI2RlZmluZSBJT19TUEFDRV9MSU1JVAkJMHhmZmZmZmZmZgotI2RlZmluZSBJT19TUEFDRV9SRU1BUAkJT1JJT041WF9QQ0lfU1lTX0lPX0JBU0UKIAogc3RhdGljIGlubGluZSB2b2lkIF9faW9tZW0gKgogX19hcmNoX2lvcmVtYXAodW5zaWduZWQgbG9uZyBwYWRkciwgc2l6ZV90IHNpemUsIHVuc2lnbmVkIGludCBtdHlwZSkKQEAgLTUzLDE1ICs1MiwxMiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBIZWxwZXJzIHRvIGFjY2VzcyBPcmlvbiByZWdpc3RlcnMKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2RlZmluZSBvcmlvbjV4X3JlYWQocikJCV9fcmF3X3JlYWRsKHIpCi0jZGVmaW5lIG9yaW9uNXhfd3JpdGUociwgdmFsKQlfX3Jhd193cml0ZWwodmFsLCByKQotCiAvKgogICogVGhlc2UgYXJlIG5vdCBwcmVlbXB0LXNhZmUuICBMb2NrcywgaWYgbmVlZGVkLCBtdXN0IGJlIHRha2VuCiAgKiBjYXJlIG9mIGJ5IHRoZSBjYWxsZXIuCiAgKi8KLSNkZWZpbmUgb3Jpb241eF9zZXRiaXRzKHIsIG1hc2spCW9yaW9uNXhfd3JpdGUoKHIpLCBvcmlvbjV4X3JlYWQocikgfCAobWFzaykpCi0jZGVmaW5lIG9yaW9uNXhfY2xyYml0cyhyLCBtYXNrKQlvcmlvbjV4X3dyaXRlKChyKSwgb3Jpb241eF9yZWFkKHIpICYgfihtYXNrKSkKKyNkZWZpbmUgb3Jpb241eF9zZXRiaXRzKHIsIG1hc2spCXdyaXRlbChyZWFkbChyKSB8IChtYXNrKSwgKHIpKQorI2RlZmluZSBvcmlvbjV4X2NscmJpdHMociwgbWFzaykJd3JpdGVsKHJlYWRsKHIpICYgfihtYXNrKSwgKHIpKQogCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtb3Jpb241eC9vcmlvbjV4LmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaAppbmRleCAyMDZkZGQ3Li4xMDI1N2Y1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L29yaW9uNXguaApAQCAtMiw3ICsyLDcgQEAKICAqIGluY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvb3Jpb241eC5oCiAgKgogICogR2VuZXJpYyBkZWZpbml0aW9ucyBvZiBPcmlvbiBTb0MgZmxhdm9yczoKLSAqICBPcmlvbi0xLCBPcmlvbi1OQVMsIE9yaW9uLVZvSVAsIGFuZCBPcmlvbi0yLgorICogIE9yaW9uLTEsIE9yaW9uLVZvSVAsIE9yaW9uLU5BUywgYW5kIE9yaW9uLTIuCiAgKgogICogTWFpbnRhaW5lcjogVHphY2hpIFBlcmVsc3RlaW4gPHR6YWNoaUBtYXJ2ZWxsLmNvbT4KICAqCkBAIC02Myw5ICs2MywxMSBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFN1cHBvcnRlZCBEZXZpY2VzICYgUmV2aXNpb25zCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogT3Jpb24tMSAoODhGNTE4MSkgKi8KKy8qIE9yaW9uLTEgKDg4RjUxODEpIGFuZCBPcmlvbi1Wb0lQICg4OEY1MTgxTCkgKi8KICNkZWZpbmUgTVY4OEY1MTgxX0RFVl9JRAkweDUxODEKICNkZWZpbmUgTVY4OEY1MTgxX1JFVl9CMQkzCisjZGVmaW5lIE1WODhGNTE4MUxfUkVWX0EwCTgKKyNkZWZpbmUgTVY4OEY1MTgxTF9SRVZfQTEJOQogLyogT3Jpb24tTkFTICg4OEY1MTgyKSAqLwogI2RlZmluZSBNVjg4RjUxODJfREVWX0lECTB4NTE4MgogI2RlZmluZSBNVjg4RjUxODJfUkVWX0EyCTIKQEAgLTE1Miw2ICsxNTQsNyBAQAogI2RlZmluZSBCUklER0VfTUFTSwkJT1JJT041WF9CUklER0VfUkVHKDB4MTE0KQogI2RlZmluZSAgQlJJREdFX0lOVF9USU1FUjAJMHgwMDAyCiAjZGVmaW5lICBCUklER0VfSU5UX1RJTUVSMQkweDAwMDQKKyNkZWZpbmUgIEJSSURHRV9JTlRfVElNRVIxX0NMUgkofjB4MDAwNCkKICNkZWZpbmUgTUFJTl9JUlFfQ0FVU0UJCU9SSU9ONVhfQlJJREdFX1JFRygweDIwMCkKICNkZWZpbmUgTUFJTl9JUlFfTUFTSwkJT1JJT041WF9CUklER0VfUkVHKDB4MjA0KQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vcmlvbjV4L3VuY29tcHJlc3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oCmluZGV4IDVjMTNkNGYuLjc1NDhjZWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9yaW9uNXgvdW5jb21wcmVzcy5oCkBAIC04LDIzICs4LDM4IEBACiAgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgKi8KIAorI2luY2x1ZGUgPGxpbnV4L3NlcmlhbF9yZWcuaD4KICNpbmNsdWRlIDxhc20vYXJjaC9vcmlvbjV4Lmg+CiAKLSNkZWZpbmUgTVZfVUFSVF9USFIJKCh2b2xhdGlsZSB1bnNpZ25lZCBjaGFyICopKFVBUlQwX1BIWVNfQkFTRSArIDB4MCkpCi0jZGVmaW5lIE1WX1VBUlRfTFNSIAkoKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKikoVUFSVDBfUEhZU19CQVNFICsgMHgxNCkpCi0KLSNkZWZpbmUgTFNSX1RIUkUJMHgyMAorI2RlZmluZSBTRVJJQUxfQkFTRQkoKHVuc2lnbmVkIGNoYXIgKilVQVJUMF9QSFlTX0JBU0UpCiAKIHN0YXRpYyB2b2lkIHB1dGMoY29uc3QgY2hhciBjKQogewotCWludCBqID0gMHgxMDAwOwotCXdoaWxlICgtLWogJiYgISgqTVZfVUFSVF9MU1IgJiBMU1JfVEhSRSkpCisJdW5zaWduZWQgY2hhciAqYmFzZSA9IFNFUklBTF9CQVNFOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IDB4MTAwMDsgaSsrKSB7CisJCWlmIChiYXNlW1VBUlRfTFNSIDw8IDJdICYgVUFSVF9MU1JfVEhSRSkKKwkJCWJyZWFrOwogCQliYXJyaWVyKCk7Ci0JKk1WX1VBUlRfVEhSID0gYzsKKwl9CisKKwliYXNlW1VBUlRfVFggPDwgMl0gPSBjOwogfQogCiBzdGF0aWMgdm9pZCBmbHVzaCh2b2lkKQogeworCXVuc2lnbmVkIGNoYXIgKmJhc2UgPSBTRVJJQUxfQkFTRTsKKwl1bnNpZ25lZCBjaGFyIG1hc2s7CisJaW50IGk7CisKKwltYXNrID0gVUFSVF9MU1JfVEVNVCB8IFVBUlRfTFNSX1RIUkU7CisKKwlmb3IgKGkgPSAwOyBpIDwgMHgxMDAwOyBpKyspIHsKKwkJaWYgKChiYXNlW1VBUlRfTFNSIDw8IDJdICYgbWFzaykgPT0gbWFzaykKKwkJCWJyZWFrOworCQliYXJyaWVyKCk7CisJfQogfQogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2F1ZGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaAppbmRleCA1MmJiZTNiLi5mODJmOTZkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvYXVkaW8uaApAQCAtMTIsNCArMTIsNiBAQAogCXZvaWQgKnByaXY7CiB9IHB4YTJ4eF9hdWRpb19vcHNfdDsKIAorZXh0ZXJuIHZvaWQgcHhhX3NldF9hYzk3X2luZm8ocHhhMnh4X2F1ZGlvX29wc190ICpvcHMpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9oYXJkd2FyZS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmgKaW5kZXggZTI1NTU4Zi4uZDlhZjZkYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2hhcmR3YXJlLmgKQEAgLTE5MiwxNSArMTkyLDYgQEAKIGV4dGVybiB2b2lkIHB4YV9ncGlvX3NldF92YWx1ZSh1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpOwogCiAvKgotICogUm91dGluZSB0byBlbmFibGUgb3IgZGlzYWJsZSBDS0VOCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2RlcHJlY2F0ZWQgcHhhX3NldF9ja2VuKGludCBjbG9jaywgaW50IGVuYWJsZSkKLXsKLQlleHRlcm4gdm9pZCBfX3B4YV9zZXRfY2tlbihpbnQgY2xvY2ssIGludCBlbmFibGUpOwotCV9fcHhhX3NldF9ja2VuKGNsb2NrLCBlbmFibGUpOwotfQotCi0vKgogICogcmV0dXJuIGN1cnJlbnQgbWVtb3J5IGFuZCBMQ0QgY2xvY2sgZnJlcXVlbmN5IGluIHVuaXRzIG9mIDEwa0h6CiAgKi8KIGV4dGVybiB1bnNpZ25lZCBpbnQgZ2V0X21lbWNsa19mcmVxdWVuY3lfMTBraHoodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL2lyZGEuaAppbmRleCA5OWY0ZjQyLi4wYTUwYzNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvaXJkYS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9pcmRhLmgKQEAgLTE2LDQgKzE2LDggQEAKIAogZXh0ZXJuIHZvaWQgcHhhX3NldF9maWNwX2luZm8oc3RydWN0IHB4YWZpY3BfcGxhdGZvcm1fZGF0YSAqaW5mbyk7CiAKKyNpZiBkZWZpbmVkKENPTkZJR19QWEEyNXgpIHx8IGRlZmluZWQoQ09ORklHX1BYQTI3eCkKK3ZvaWQgcHhhMnh4X3RyYW5zY2VpdmVyX21vZGUoc3RydWN0IGRldmljZSAqZGV2LCBpbnQgbW9kZSk7CisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhLXJlZ3MuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oCmluZGV4IDRiMmVhMWUuLmRjZTkzMDggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEtcmVncy5oCkBAIC02MDAsNDE4ICs2MDAsNiBAQAogCiAKIC8qCi0gKiBVU0IgRGV2aWNlIENvbnRyb2xsZXIKLSAqIFBYQTI1eCBhbmQgUFhBMjd4IFVTQiBkZXZpY2UgY29udHJvbGxlciByZWdpc3RlcnMgYXJlIGRpZmZlcmVudC4KLSAqLwotI2lmIGRlZmluZWQoQ09ORklHX1BYQTI1eCkKLQotI2RlZmluZSBVRENfUkVTMQlfX1JFRygweDQwNjAwMDA0KSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMSAqLwotI2RlZmluZSBVRENfUkVTMglfX1JFRygweDQwNjAwMDA4KSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMiAqLwotI2RlZmluZSBVRENfUkVTMwlfX1JFRygweDQwNjAwMDBDKSAgLyogVURDIFVuZG9jdW1lbnRlZCAtIFJlc2VydmVkMyAqLwotCi0jZGVmaW5lIFVEQ0NSCQlfX1JFRygweDQwNjAwMDAwKSAgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBlbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBhY3RpdmUgKi8KLSNkZWZpbmUgVURDQ1JfUlNNCSgxIDw8IDIpCS8qIERldmljZSByZXN1bWUgKi8KLSNkZWZpbmUgVURDQ1JfUkVTSVIJKDEgPDwgMykJLyogUmVzdW1lIGludGVycnVwdCByZXF1ZXN0ICovCi0jZGVmaW5lIFVEQ0NSX1NVU0lSCSgxIDw8IDQpCS8qIFN1c3BlbmQgaW50ZXJydXB0IHJlcXVlc3QgKi8KLSNkZWZpbmUgVURDQ1JfU1JNCSgxIDw8IDUpCS8qIFN1c3BlbmQvcmVzdW1lIGludGVycnVwdCBtYXNrICovCi0jZGVmaW5lIFVEQ0NSX1JTVElSCSgxIDw8IDYpCS8qIFJlc2V0IGludGVycnVwdCByZXF1ZXN0ICovCi0jZGVmaW5lIFVEQ0NSX1JFTQkoMSA8PCA3KQkvKiBSZXNldCBpbnRlcnJ1cHQgbWFzayAqLwotCi0jZGVmaW5lIFVEQ0NTMAkJX19SRUcoMHg0MDYwMDAxMCkgIC8qIFVEQyBFbmRwb2ludCAwIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMF9PUFIJKDEgPDwgMCkJLyogT1VUIHBhY2tldCByZWFkeSAqLwotI2RlZmluZSBVRENDUzBfSVBSCSgxIDw8IDEpCS8qIElOIHBhY2tldCByZWFkeSAqLwotI2RlZmluZSBVRENDUzBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1MwX0RSV0YJKDEgPDwgMykJLyogRGV2aWNlIHJlbW90ZSB3YWtldXAgZmVhdHVyZSAqLwotI2RlZmluZSBVRENDUzBfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1MwX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLwotI2RlZmluZSBVRENDUzBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBubyBlbXB0eSAqLwotI2RlZmluZSBVRENDUzBfU0EJKDEgPDwgNykJLyogU2V0dXAgYWN0aXZlICovCi0KLS8qIEJ1bGsgSU4gLSBFbmRwb2ludCAxLDYsMTEgKi8KLSNkZWZpbmUgVURDQ1MxCQlfX1JFRygweDQwNjAwMDE0KSAgLyogVURDIEVuZHBvaW50IDEgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzYJCV9fUkVHKDB4NDA2MDAwMjgpICAvKiBVREMgRW5kcG9pbnQgNiAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ0NTMTEJCV9fUkVHKDB4NDA2MDAwM0MpICAvKiBVREMgRW5kcG9pbnQgMTEgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0JJX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfQklfVFBDCSgxIDw8IDEpCS8qIFRyYW5zbWl0IHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19CSV9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLwotI2RlZmluZSBVRENDU19CSV9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLwotI2RlZmluZSBVRENDU19CSV9TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLwotI2RlZmluZSBVRENDU19CSV9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQklfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLwotCi0vKiBCdWxrIE9VVCAtIEVuZHBvaW50IDIsNywxMiAqLwotI2RlZmluZSBVRENDUzIJCV9fUkVHKDB4NDA2MDAwMTgpICAvKiBVREMgRW5kcG9pbnQgMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzcJCV9fUkVHKDB4NDA2MDAwMkMpICAvKiBVREMgRW5kcG9pbnQgNyAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzEyCQlfX1JFRygweDQwNjAwMDQwKSAgLyogVURDIEVuZHBvaW50IDEyIChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfQk9fUkZTCSgxIDw8IDApCS8qIFJlY2VpdmUgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0JPX1JQQwkoMSA8PCAxKQkvKiBSZWNlaXZlIHBhY2tldCBjb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU19CT19ETUUJKDEgPDwgMykJLyogRE1BIGVuYWJsZSAqLwotI2RlZmluZSBVRENDU19CT19TU1QJKDEgPDwgNCkJLyogU2VudCBzdGFsbCAqLwotI2RlZmluZSBVRENDU19CT19GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfQk9fUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBub3QgZW1wdHkgKi8KLSNkZWZpbmUgVURDQ1NfQk9fUlNQCSgxIDw8IDcpCS8qIFJlY2VpdmUgc2hvcnQgcGFja2V0ICovCi0KLS8qIElzb2Nocm9ub3VzIElOIC0gRW5kcG9pbnQgMyw4LDEzICovCi0jZGVmaW5lIFVEQ0NTMwkJX19SRUcoMHg0MDYwMDAxQykgIC8qIFVEQyBFbmRwb2ludCAzIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M4CQlfX1JFRygweDQwNjAwMDMwKSAgLyogVURDIEVuZHBvaW50IDggKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzEzCQlfX1JFRygweDQwNjAwMDQ0KSAgLyogVURDIEVuZHBvaW50IDEzIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVRENDU19JSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCi0jZGVmaW5lIFVEQ0NTX0lJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfSUlfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NfSUlfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KLSNkZWZpbmUgVURDQ1NfSUlfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLwotCi0vKiBJc29jaHJvbm91cyBPVVQgLSBFbmRwb2ludCA0LDksMTQgKi8KLSNkZWZpbmUgVURDQ1M0CQlfX1JFRygweDQwNjAwMDIwKSAgLyogVURDIEVuZHBvaW50IDQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1M5CQlfX1JFRygweDQwNjAwMDM0KSAgLyogVURDIEVuZHBvaW50IDkgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxNAkJX19SRUcoMHg0MDYwMDA0OCkgIC8qIFVEQyBFbmRwb2ludCAxNCAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVEQ0NTX0lPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLwotI2RlZmluZSBVRENDU19JT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUk9GCSgxIDw8IDIpCS8qIFJlY2VpdmUgb3ZlcmZsb3cgKi8KLSNkZWZpbmUgVURDQ1NfSU9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBub3QgZW1wdHkgKi8KLSNkZWZpbmUgVURDQ1NfSU9fUlNQCSgxIDw8IDcpCS8qIFJlY2VpdmUgc2hvcnQgcGFja2V0ICovCi0KLS8qIEludGVycnVwdCBJTiAtIEVuZHBvaW50IDUsMTAsMTUgKi8KLSNkZWZpbmUgVURDQ1M1CQlfX1JFRygweDQwNjAwMDI0KSAgLyogVURDIEVuZHBvaW50IDUgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVURDQ1MxMAkJX19SRUcoMHg0MDYwMDAzOCkgIC8qIFVEQyBFbmRwb2ludCAxMCAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUzE1CQlfX1JFRygweDQwNjAwMDRDKSAgLyogVURDIEVuZHBvaW50IDE1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCi0KLSNkZWZpbmUgVURDQ1NfSU5UX1RGUwkoMSA8PCAwKQkvKiBUcmFuc21pdCBGSUZPIHNlcnZpY2UgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTX0lOVF9UVVIJKDEgPDwgMykJLyogVHJhbnNtaXQgRklGTyB1bmRlcnJ1biAqLwotI2RlZmluZSBVRENDU19JTlRfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NfSU5UX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBzdGFsbCAqLwotI2RlZmluZSBVRENDU19JTlRfVFNQCSgxIDw8IDcpCS8qIFRyYW5zbWl0IHNob3J0IHBhY2tldCAqLwotCi0jZGVmaW5lIFVGTlJICQlfX1JFRygweDQwNjAwMDYwKSAgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciBIaWdoICovCi0jZGVmaW5lIFVGTlJMCQlfX1JFRygweDQwNjAwMDY0KSAgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciBMb3cgKi8KLSNkZWZpbmUgVUJDUjIJCV9fUkVHKDB4NDA2MDAwNjgpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMiAqLwotI2RlZmluZSBVQkNSNAkJX19SRUcoMHg0MDYwMDA2YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA0ICovCi0jZGVmaW5lIFVCQ1I3CQlfX1JFRygweDQwNjAwMDcwKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDcgKi8KLSNkZWZpbmUgVUJDUjkJCV9fUkVHKDB4NDA2MDAwNzQpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgOSAqLwotI2RlZmluZSBVQkNSMTIJCV9fUkVHKDB4NDA2MDAwNzgpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgMTIgKi8KLSNkZWZpbmUgVUJDUjE0CQlfX1JFRygweDQwNjAwMDdjKSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDE0ICovCi0jZGVmaW5lIFVERFIwCQlfX1JFRygweDQwNjAwMDgwKSAgLyogVURDIEVuZHBvaW50IDAgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMQkJX19SRUcoMHg0MDYwMDEwMCkgIC8qIFVEQyBFbmRwb2ludCAxIERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjIJCV9fUkVHKDB4NDA2MDAxODApICAvKiBVREMgRW5kcG9pbnQgMiBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFIzCQlfX1JFRygweDQwNjAwMjAwKSAgLyogVURDIEVuZHBvaW50IDMgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNAkJX19SRUcoMHg0MDYwMDQwMCkgIC8qIFVEQyBFbmRwb2ludCA0IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjUJCV9fUkVHKDB4NDA2MDAwQTApICAvKiBVREMgRW5kcG9pbnQgNSBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI2CQlfX1JFRygweDQwNjAwNjAwKSAgLyogVURDIEVuZHBvaW50IDYgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSNwkJX19SRUcoMHg0MDYwMDY4MCkgIC8qIFVEQyBFbmRwb2ludCA3IERhdGEgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgVUREUjgJCV9fUkVHKDB4NDA2MDA3MDApICAvKiBVREMgRW5kcG9pbnQgOCBEYXRhIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVERFI5CQlfX1JFRygweDQwNjAwOTAwKSAgLyogVURDIEVuZHBvaW50IDkgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTAJCV9fUkVHKDB4NDA2MDAwQzApICAvKiBVREMgRW5kcG9pbnQgMTAgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTEJCV9fUkVHKDB4NDA2MDBCMDApICAvKiBVREMgRW5kcG9pbnQgMTEgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTIJCV9fUkVHKDB4NDA2MDBCODApICAvKiBVREMgRW5kcG9pbnQgMTIgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTMJCV9fUkVHKDB4NDA2MDBDMDApICAvKiBVREMgRW5kcG9pbnQgMTMgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTQJCV9fUkVHKDB4NDA2MDBFMDApICAvKiBVREMgRW5kcG9pbnQgMTQgRGF0YSBSZWdpc3RlciAqLwotI2RlZmluZSBVRERSMTUJCV9fUkVHKDB4NDA2MDAwRTApICAvKiBVREMgRW5kcG9pbnQgMTUgRGF0YSBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFVJQ1IwCQlfX1JFRygweDQwNjAwMDUwKSAgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIDAgKi8KLQotI2RlZmluZSBVSUNSMF9JTTAJKDEgPDwgMCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMCAqLwotI2RlZmluZSBVSUNSMF9JTTEJKDEgPDwgMSkJLyogSW50ZXJydXB0IG1hc2sgZXAgMSAqLwotI2RlZmluZSBVSUNSMF9JTTIJKDEgPDwgMikJLyogSW50ZXJydXB0IG1hc2sgZXAgMiAqLwotI2RlZmluZSBVSUNSMF9JTTMJKDEgPDwgMykJLyogSW50ZXJydXB0IG1hc2sgZXAgMyAqLwotI2RlZmluZSBVSUNSMF9JTTQJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgNCAqLwotI2RlZmluZSBVSUNSMF9JTTUJKDEgPDwgNSkJLyogSW50ZXJydXB0IG1hc2sgZXAgNSAqLwotI2RlZmluZSBVSUNSMF9JTTYJKDEgPDwgNikJLyogSW50ZXJydXB0IG1hc2sgZXAgNiAqLwotI2RlZmluZSBVSUNSMF9JTTcJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgNyAqLwotCi0jZGVmaW5lIFVJQ1IxCQlfX1JFRygweDQwNjAwMDU0KSAgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyIDEgKi8KLQotI2RlZmluZSBVSUNSMV9JTTgJKDEgPDwgMCkJLyogSW50ZXJydXB0IG1hc2sgZXAgOCAqLwotI2RlZmluZSBVSUNSMV9JTTkJKDEgPDwgMSkJLyogSW50ZXJydXB0IG1hc2sgZXAgOSAqLwotI2RlZmluZSBVSUNSMV9JTTEwCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDEwICovCi0jZGVmaW5lIFVJQ1IxX0lNMTEJKDEgPDwgMykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTEgKi8KLSNkZWZpbmUgVUlDUjFfSU0xMgkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMiAqLwotI2RlZmluZSBVSUNSMV9JTTEzCSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDEzICovCi0jZGVmaW5lIFVJQ1IxX0lNMTQJKDEgPDwgNikJLyogSW50ZXJydXB0IG1hc2sgZXAgMTQgKi8KLSNkZWZpbmUgVUlDUjFfSU0xNQkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxNSAqLwotCi0jZGVmaW5lIFVTSVIwCQlfX1JFRygweDQwNjAwMDU4KSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMCAqLwotCi0jZGVmaW5lIFVTSVIwX0lSMAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAwICovCi0jZGVmaW5lIFVTSVIwX0lSMQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxICovCi0jZGVmaW5lIFVTSVIwX0lSMgkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAyICovCi0jZGVmaW5lIFVTSVIwX0lSMwkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAzICovCi0jZGVmaW5lIFVTSVIwX0lSNAkoMSA8PCA0KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA0ICovCi0jZGVmaW5lIFVTSVIwX0lSNQkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA1ICovCi0jZGVmaW5lIFVTSVIwX0lSNgkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA2ICovCi0jZGVmaW5lIFVTSVIwX0lSNwkoMSA8PCA3KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA3ICovCi0KLSNkZWZpbmUgVVNJUjEJCV9fUkVHKDB4NDA2MDAwNUMpICAvKiBVREMgU3RhdHVzIEludGVycnVwdCBSZWdpc3RlciAxICovCi0KLSNkZWZpbmUgVVNJUjFfSVI4CSgxIDw8IDApCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDggKi8KLSNkZWZpbmUgVVNJUjFfSVI5CSgxIDw8IDEpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDkgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMCAqLwotI2RlZmluZSBVU0lSMV9JUjExCSgxIDw8IDMpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDExICovCi0jZGVmaW5lIFVTSVIxX0lSMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTIgKi8KLSNkZWZpbmUgVVNJUjFfSVIxMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMyAqLwotI2RlZmluZSBVU0lSMV9JUjE0CSgxIDw8IDYpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE0ICovCi0jZGVmaW5lIFVTSVIxX0lSMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTUgKi8KLQotI2VsaWYgZGVmaW5lZChDT05GSUdfUFhBMjd4KQotCi0jZGVmaW5lIFVEQ0NSICAgICAgICAgICBfX1JFRygweDQwNjAwMDAwKSAvKiBVREMgQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBVRENDUl9PRU4JKDEgPDwgMzEpCS8qIE9uLXRoZS1HbyBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1JfQUFMVEhOUAkoMSA8PCAzMCkJLyogQS1kZXZpY2UgQWx0ZXJuYXRlIEhvc3QgTmVnb3RpYXRpb24KLQkJCQkJICAgUHJvdG9jb2wgUG9ydCBTdXBwb3J0ICovCi0jZGVmaW5lIFVEQ0NSX0FITlAJKDEgPDwgMjkpCS8qIEEtZGV2aWNlIEhvc3QgTmVnb3RpYXRpb24gUHJvdG9jb2wKLQkJCQkJICAgU3VwcG9ydCAqLwotI2RlZmluZSBVRENDUl9CSE5QCSgxIDw8IDI4KQkvKiBCLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCi0JCQkJCSAgIEVuYWJsZSAqLwotI2RlZmluZSBVRENDUl9EV1JFCSgxIDw8IDE2KQkvKiBEZXZpY2UgUmVtb3RlIFdha2UtdXAgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NSX0FDTgkoMHgwMyA8PCAxMSkJLyogQWN0aXZlIFVEQyBjb25maWd1cmF0aW9uIE51bWJlciAqLwotI2RlZmluZSBVRENDUl9BQ05fUwkxMQotI2RlZmluZSBVRENDUl9BSU4JKDB4MDcgPDwgOCkJLyogQWN0aXZlIFVEQyBpbnRlcmZhY2UgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NSX0FJTl9TCTgKLSNkZWZpbmUgVURDQ1JfQUFJU04JKDB4MDcgPDwgNSkJLyogQWN0aXZlIFVEQyBBbHRlcm5hdGUgSW50ZXJmYWNlCi0JCQkJCSAgIFNldHRpbmcgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NSX0FBSVNOX1MJNQotI2RlZmluZSBVRENDUl9TTUFDCSgxIDw8IDQpCS8qIFN3aXRjaCBFbmRwb2ludCBNZW1vcnkgdG8gQWN0aXZlCi0JCQkJCSAgIENvbmZpZ3VyYXRpb24gKi8KLSNkZWZpbmUgVURDQ1JfRU1DRQkoMSA8PCAzKQkvKiBFbmRwb2ludCBNZW1vcnkgQ29uZmlndXJhdGlvbgotCQkJCQkgICBFcnJvciAqLwotI2RlZmluZSBVRENDUl9VRFIJKDEgPDwgMikJLyogVURDIFJlc3VtZSAqLwotI2RlZmluZSBVRENDUl9VREEJKDEgPDwgMSkJLyogVURDIEFjdGl2ZSAqLwotI2RlZmluZSBVRENDUl9VREUJKDEgPDwgMCkJLyogVURDIEVuYWJsZSAqLwotCi0jZGVmaW5lIFVEQ0lDUjAgICAgICAgICBfX1JFRygweDQwNjAwMDA0KSAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIwICovCi0jZGVmaW5lIFVEQ0lDUjEgICAgICAgICBfX1JFRygweDQwNjAwMDA4KSAvKiBVREMgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIxICovCi0jZGVmaW5lIFVEQ0lDUl9GSUZPRVJSCSgxIDw8IDEpCS8qIEZJRk8gRXJyb3IgaW50ZXJydXB0IGZvciBFUCAqLwotI2RlZmluZSBVRENJQ1JfUEtUQ09NUEwgKDEgPDwgMCkJLyogUGFja2V0IENvbXBsZXRlIGludGVycnVwdCBmb3IgRVAgKi8KLQotI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKLSNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCi0KLSNkZWZpbmUgVURDSUNSX0lOVChuLGludHIpICgoKGludHIpICYgMHgwMykgPDwgKCgobikgJiAweDBGKSAqIDIpKQotI2RlZmluZSBVRENJQ1IxX0lFQ0MJKDEgPDwgMzEpCS8qIEludEVuIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KLSNkZWZpbmUgVURDSUNSMV9JRVNPRgkoMSA8PCAzMCkJLyogSW50RW4gLSBTdGFydCBvZiBGcmFtZSAqLwotI2RlZmluZSBVRENJQ1IxX0lFUlUJKDEgPDwgMjkpCS8qIEludEVuIC0gUmVzdW1lICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVTVQkoMSA8PCAyOCkJLyogSW50RW4gLSBTdXNwZW5kICovCi0jZGVmaW5lIFVEQ0lDUjFfSUVSUwkoMSA8PCAyNykJLyogSW50RW4gLSBSZXNldCAqLwotCi0jZGVmaW5lIFVEQ0lTUjAgICAgICAgICBfX1JFRygweDQwNjAwMDBDKSAvKiBVREMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAwICovCi0jZGVmaW5lIFVEQ0lTUjEgICAgICAgICBfX1JFRygweDQwNjAwMDEwKSAvKiBVREMgSW50ZXJydXB0IFN0YXR1cyBSZWdpc3RlciAxICovCi0jZGVmaW5lIFVEQ0lTUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKLSNkZWZpbmUgVURDSVNSMV9JUkNDCSgxIDw8IDMxKQkvKiBJbnRSZXEgLSBDb25maWd1cmF0aW9uIENoYW5nZSAqLwotI2RlZmluZSBVRENJU1IxX0lSU09GCSgxIDw8IDMwKQkvKiBJbnRSZXEgLSBTdGFydCBvZiBGcmFtZSAqLwotI2RlZmluZSBVRENJU1IxX0lSUlUJKDEgPDwgMjkpCS8qIEludFJlcSAtIFJlc3VtZSAqLwotI2RlZmluZSBVRENJU1IxX0lSU1UJKDEgPDwgMjgpCS8qIEludFJlcSAtIFN1c3BlbmQgKi8KLSNkZWZpbmUgVURDSVNSMV9JUlJTCSgxIDw8IDI3KQkvKiBJbnRSZXEgLSBSZXNldCAqLwotCi0jZGVmaW5lIFVEQ0ZOUiAgICAgICAgICBfX1JFRygweDQwNjAwMDE0KSAvKiBVREMgRnJhbWUgTnVtYmVyIFJlZ2lzdGVyICovCi0jZGVmaW5lIFVEQ09UR0lDUglfX1JFRygweDQwNjAwMDE4KSAvKiBVREMgT24tVGhlLUdvIGludGVycnVwdCBjb250cm9sICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRVNGCSgxIDw8IDI0KQkvKiBPVEcgU0VUX0ZFQVRVUkUgY29tbWFuZCByZWN2ZCAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVYUgkoMSA8PCAxNykJLyogRXh0cmEgVHJhbnNjaWV2ZXIgSW50ZXJydXB0Ci0JCQkJCSAgIFJpc2luZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFWEYJKDEgPDwgMTYpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAotCQkJCQkgICBGYWxsaW5nIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQwUiAoMSA8PCA5KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjBWIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MEYgKDEgPDwgOCkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBGYWxsaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVWVjQ0UiAoMSA8PCA3KQkvKiBPVEcgVmJ1cyBWYWxpZCA0LjRWIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NEYgKDEgPDwgNikJLyogT1RHIFZidXMgVmFsaWQgNC40ViBGYWxsaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTVlIJKDEgPDwgNSkJLyogT1RHIFNlc3Npb24gVmFsaWQgUmlzaW5nIEVkZ2UKLQkJCQkJICAgSW50ZXJydXB0IEVuYWJsZSAqLwotI2RlZmluZSBVRENPVEdJQ1JfSUVTVkYJKDEgPDwgNCkJLyogT1RHIFNlc3Npb24gVmFsaWQgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU0RSCSgxIDw8IDMpCS8qIE9URyBBLURldmljZSBTUlAgRGV0ZWN0IFJpc2luZwotCQkJCQkgICBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFU0RGCSgxIDw8IDIpCS8qIE9URyBBLURldmljZSBTUlAgRGV0ZWN0IEZhbGxpbmcKLQkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCi0jZGVmaW5lIFVEQ09UR0lDUl9JRUlEUgkoMSA8PCAxKQkvKiBPVEcgSUQgQ2hhbmdlIFJpc2luZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLSNkZWZpbmUgVURDT1RHSUNSX0lFSURGCSgxIDw8IDApCS8qIE9URyBJRCBDaGFuZ2UgRmFsbGluZyBFZGdlCi0JCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KLQotI2RlZmluZSBVUDJPQ1IJCSAgX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVTQiBQb3J0IDIgT3V0cHV0IENvbnRyb2wgcmVnaXN0ZXIgKi8KLQotI2RlZmluZSBVUDJPQ1JfQ1BWRU4JKDEgPDwgMCkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0NQVlBFCSgxIDw8IDEpCS8qIENoYXJnZSBQdW1wIFZidXMgUHVsc2UgRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9EUFBERQkoMSA8PCAyKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIERvd24gRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9ETVBERQkoMSA8PCAzKQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIERvd24gRW5hYmxlICovCi0jZGVmaW5lIFVQMk9DUl9EUFBVRQkoMSA8PCA0KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfRE1QVUUJKDEgPDwgNSkJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgRC0gUHVsbCBVcCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RQUFVCRQkoMSA8PCA2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBEKyBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0RNUFVCRQkoMSA8PCA3KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEJ5cGFzcyBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX0VYU1AJCSgxIDw8IDgpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIENvbnRyb2wgKi8KLSNkZWZpbmUgVVAyT0NSX0VYU1VTCSgxIDw8IDkpCS8qIEV4dGVybmFsIFRyYW5zY2VpdmVyIFNwZWVkIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfSURPTgkJKDEgPDwgMTApCS8qIE9URyBJRCBSZWFkIEVuYWJsZSAqLwotI2RlZmluZSBVUDJPQ1JfSFhTCQkoMSA8PCAxNikJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IFNlbGVjdCAqLwotI2RlZmluZSBVUDJPQ1JfSFhPRQkJKDEgPDwgMTcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIE91dHB1dCBFbmFibGUgKi8KLSNkZWZpbmUgVVAyT0NSX1NFT1MJCSgxIDw8IDI0KQkvKiBTaW5nbGUtRW5kZWQgT3V0cHV0IFNlbGVjdCAqLwotCi0jZGVmaW5lIFVEQ0NTTih4KQlfX1JFRzIoMHg0MDYwMDEwMCwgKHgpIDw8IDIpCi0jZGVmaW5lIFVEQ0NTUjAgICAgICAgICBfX1JFRygweDQwNjAwMTAwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCAwICovCi0jZGVmaW5lIFVEQ0NTUjBfU0EJKDEgPDwgNykJLyogU2V0dXAgQWN0aXZlICovCi0jZGVmaW5lIFVEQ0NTUjBfUk5FCSgxIDw8IDYpCS8qIFJlY2VpdmUgRklGTyBOb3QgRW1wdHkgKi8KLSNkZWZpbmUgVURDQ1NSMF9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU3RhbGwgKi8KLSNkZWZpbmUgVURDQ1NSMF9TU1QJKDEgPDwgNCkJLyogU2VudCBTdGFsbCAqLwotI2RlZmluZSBVRENDU1IwX0RNRQkoMSA8PCAzKQkvKiBETUEgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NTUjBfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFRyYW5zbWl0IEZJRk8gKi8KLSNkZWZpbmUgVURDQ1NSMF9JUFIJKDEgPDwgMSkJLyogSU4gUGFja2V0IFJlYWR5ICovCi0jZGVmaW5lIFVEQ0NTUjBfT1BDCSgxIDw8IDApCS8qIE9VVCBQYWNrZXQgQ29tcGxldGUgKi8KLQotI2RlZmluZSBVRENDU1JBICAgICAgICAgX19SRUcoMHg0MDYwMDEwNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQSAqLwotI2RlZmluZSBVRENDU1JCICAgICAgICAgX19SRUcoMHg0MDYwMDEwOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQiAqLwotI2RlZmluZSBVRENDU1JDICAgICAgICAgX19SRUcoMHg0MDYwMDEwQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgQyAqLwotI2RlZmluZSBVRENDU1JEICAgICAgICAgX19SRUcoMHg0MDYwMDExMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRCAqLwotI2RlZmluZSBVRENDU1JFICAgICAgICAgX19SRUcoMHg0MDYwMDExNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRSAqLwotI2RlZmluZSBVRENDU1JGICAgICAgICAgX19SRUcoMHg0MDYwMDExOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRiAqLwotI2RlZmluZSBVRENDU1JHICAgICAgICAgX19SRUcoMHg0MDYwMDExQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgRyAqLwotI2RlZmluZSBVRENDU1JIICAgICAgICAgX19SRUcoMHg0MDYwMDEyMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSCAqLwotI2RlZmluZSBVRENDU1JJICAgICAgICAgX19SRUcoMHg0MDYwMDEyNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSSAqLwotI2RlZmluZSBVRENDU1JKICAgICAgICAgX19SRUcoMHg0MDYwMDEyOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSiAqLwotI2RlZmluZSBVRENDU1JLICAgICAgICAgX19SRUcoMHg0MDYwMDEyQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgSyAqLwotI2RlZmluZSBVRENDU1JMICAgICAgICAgX19SRUcoMHg0MDYwMDEzMCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTCAqLwotI2RlZmluZSBVRENDU1JNICAgICAgICAgX19SRUcoMHg0MDYwMDEzNCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTSAqLwotI2RlZmluZSBVRENDU1JOICAgICAgICAgX19SRUcoMHg0MDYwMDEzOCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgTiAqLwotI2RlZmluZSBVRENDU1JQICAgICAgICAgX19SRUcoMHg0MDYwMDEzQykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUCAqLwotI2RlZmluZSBVRENDU1JRICAgICAgICAgX19SRUcoMHg0MDYwMDE0MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUSAqLwotI2RlZmluZSBVRENDU1JSICAgICAgICAgX19SRUcoMHg0MDYwMDE0NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUiAqLwotI2RlZmluZSBVRENDU1JTICAgICAgICAgX19SRUcoMHg0MDYwMDE0OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgUyAqLwotI2RlZmluZSBVRENDU1JUICAgICAgICAgX19SRUcoMHg0MDYwMDE0QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVCAqLwotI2RlZmluZSBVRENDU1JVICAgICAgICAgX19SRUcoMHg0MDYwMDE1MCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVSAqLwotI2RlZmluZSBVRENDU1JWICAgICAgICAgX19SRUcoMHg0MDYwMDE1NCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgViAqLwotI2RlZmluZSBVRENDU1JXICAgICAgICAgX19SRUcoMHg0MDYwMDE1OCkgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgVyAqLwotI2RlZmluZSBVRENDU1JYICAgICAgICAgX19SRUcoMHg0MDYwMDE1QykgLyogVURDIENvbnRyb2wvU3RhdHVzIHJlZ2lzdGVyIC0gRW5kcG9pbnQgWCAqLwotCi0jZGVmaW5lIFVEQ0NTUl9EUEUJKDEgPDwgOSkJLyogRGF0YSBQYWNrZXQgRXJyb3IgKi8KLSNkZWZpbmUgVURDQ1NSX0ZFRgkoMSA8PCA4KQkvKiBGbHVzaCBFbmRwb2ludCBGSUZPICovCi0jZGVmaW5lIFVEQ0NTUl9TUAkoMSA8PCA3KQkvKiBTaG9ydCBQYWNrZXQgQ29udHJvbC9TdGF0dXMgKi8KLSNkZWZpbmUgVURDQ1NSX0JORQkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEVtcHR5IChJTiBlbmRwb2ludHMpICovCi0jZGVmaW5lIFVEQ0NTUl9CTkYJKDEgPDwgNikJLyogQnVmZmVyIE5vdCBGdWxsIChPVVQgZW5kcG9pbnRzKSAqLwotI2RlZmluZSBVRENDU1JfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIFNUQUxMICovCi0jZGVmaW5lIFVEQ0NTUl9TU1QJKDEgPDwgNCkJLyogU2VudCBTVEFMTCAqLwotI2RlZmluZSBVRENDU1JfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KLSNkZWZpbmUgVURDQ1NSX1RSTgkoMSA8PCAyKQkvKiBUeC9SeCBOQUsgKi8KLSNkZWZpbmUgVURDQ1NSX1BDCSgxIDw8IDEpCS8qIFBhY2tldCBDb21wbGV0ZSAqLwotI2RlZmluZSBVRENDU1JfRlMJKDEgPDwgMCkJLyogRklGTyBuZWVkcyBzZXJ2aWNlICovCi0KLSNkZWZpbmUgVURDQkNOKHgpCV9fUkVHMigweDQwNjAwMjAwLCAoeCk8PDIpCi0jZGVmaW5lIFVEQ0JDUjAgICAgICAgICBfX1JFRygweDQwNjAwMjAwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVAwICovCi0jZGVmaW5lIFVEQ0JDUkEgICAgICAgICBfX1JFRygweDQwNjAwMjA0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBBICovCi0jZGVmaW5lIFVEQ0JDUkIgICAgICAgICBfX1JFRygweDQwNjAwMjA4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBCICovCi0jZGVmaW5lIFVEQ0JDUkMgICAgICAgICBfX1JFRygweDQwNjAwMjBDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBDICovCi0jZGVmaW5lIFVEQ0JDUkQgICAgICAgICBfX1JFRygweDQwNjAwMjEwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBEICovCi0jZGVmaW5lIFVEQ0JDUkUgICAgICAgICBfX1JFRygweDQwNjAwMjE0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBFICovCi0jZGVmaW5lIFVEQ0JDUkYgICAgICAgICBfX1JFRygweDQwNjAwMjE4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBGICovCi0jZGVmaW5lIFVEQ0JDUkcgICAgICAgICBfX1JFRygweDQwNjAwMjFDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBHICovCi0jZGVmaW5lIFVEQ0JDUkggICAgICAgICBfX1JFRygweDQwNjAwMjIwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBIICovCi0jZGVmaW5lIFVEQ0JDUkkgICAgICAgICBfX1JFRygweDQwNjAwMjI0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBJICovCi0jZGVmaW5lIFVEQ0JDUkogICAgICAgICBfX1JFRygweDQwNjAwMjI4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBKICovCi0jZGVmaW5lIFVEQ0JDUksgICAgICAgICBfX1JFRygweDQwNjAwMjJDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBLICovCi0jZGVmaW5lIFVEQ0JDUkwgICAgICAgICBfX1JFRygweDQwNjAwMjMwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBMICovCi0jZGVmaW5lIFVEQ0JDUk0gICAgICAgICBfX1JFRygweDQwNjAwMjM0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBNICovCi0jZGVmaW5lIFVEQ0JDUk4gICAgICAgICBfX1JFRygweDQwNjAwMjM4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBOICovCi0jZGVmaW5lIFVEQ0JDUlAgICAgICAgICBfX1JFRygweDQwNjAwMjNDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBQICovCi0jZGVmaW5lIFVEQ0JDUlEgICAgICAgICBfX1JFRygweDQwNjAwMjQwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBRICovCi0jZGVmaW5lIFVEQ0JDUlIgICAgICAgICBfX1JFRygweDQwNjAwMjQ0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBSICovCi0jZGVmaW5lIFVEQ0JDUlMgICAgICAgICBfX1JFRygweDQwNjAwMjQ4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBTICovCi0jZGVmaW5lIFVEQ0JDUlQgICAgICAgICBfX1JFRygweDQwNjAwMjRDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBUICovCi0jZGVmaW5lIFVEQ0JDUlUgICAgICAgICBfX1JFRygweDQwNjAwMjUwKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBVICovCi0jZGVmaW5lIFVEQ0JDUlYgICAgICAgICBfX1JFRygweDQwNjAwMjU0KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBWICovCi0jZGVmaW5lIFVEQ0JDUlcgICAgICAgICBfX1JFRygweDQwNjAwMjU4KSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBXICovCi0jZGVmaW5lIFVEQ0JDUlggICAgICAgICBfX1JFRygweDQwNjAwMjVDKSAvKiBCeXRlIENvdW50IFJlZ2lzdGVyIC0gRVBYICovCi0KLSNkZWZpbmUgVURDRE4oeCkJX19SRUcyKDB4NDA2MDAzMDAsICh4KTw8MikKLSNkZWZpbmUgUEhZU19VRENETih4KQkoMHg0MDYwMDMwMCArICgoeCk8PDIpKQotI2RlZmluZSBQVURDRE4oeCkJKHZvbGF0aWxlIHUzMiAqKShpb19wMnYoUEhZU19VRENETigoeCkpKSkKLSNkZWZpbmUgVURDRFIwICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUDAgKi8KLSNkZWZpbmUgVURDRFJBICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEEgKi8KLSNkZWZpbmUgVURDRFJCICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEIgKi8KLSNkZWZpbmUgVURDRFJDICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEMgKi8KLSNkZWZpbmUgVURDRFJEICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEQgKi8KLSNkZWZpbmUgVURDRFJFICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEUgKi8KLSNkZWZpbmUgVURDRFJGICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEYgKi8KLSNkZWZpbmUgVURDRFJHICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEcgKi8KLSNkZWZpbmUgVURDRFJIICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEggKi8KLSNkZWZpbmUgVURDRFJJICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEkgKi8KLSNkZWZpbmUgVURDRFJKICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMjgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEogKi8KLSNkZWZpbmUgVURDRFJLICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMkMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEsgKi8KLSNkZWZpbmUgVURDRFJMICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUEwgKi8KLSNkZWZpbmUgVURDRFJNICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE0gKi8KLSNkZWZpbmUgVURDRFJOICAgICAgICAgIF9fUkVHKDB4NDA2MDAzMzgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUE4gKi8KLSNkZWZpbmUgVURDRFJQICAgICAgICAgIF9fUkVHKDB4NDA2MDAzM0MpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFAgKi8KLSNkZWZpbmUgVURDRFJRICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFEgKi8KLSNkZWZpbmUgVURDRFJSICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFIgKi8KLSNkZWZpbmUgVURDRFJTICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNDgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFMgKi8KLSNkZWZpbmUgVURDRFJUICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNEMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFQgKi8KLSNkZWZpbmUgVURDRFJVICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTApIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFUgKi8KLSNkZWZpbmUgVURDRFJWICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTQpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFYgKi8KLSNkZWZpbmUgVURDRFJXICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNTgpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFcgKi8KLSNkZWZpbmUgVURDRFJYICAgICAgICAgIF9fUkVHKDB4NDA2MDAzNUMpIC8qIERhdGEgUmVnaXN0ZXIgLSBFUFggKi8KLQotI2RlZmluZSBVRENDTih4KSAgICAgICBfX1JFRzIoMHg0MDYwMDQwMCwgKHgpPDwyKQotI2RlZmluZSBVRENDUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDQwNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEEgKi8KLSNkZWZpbmUgVURDQ1JCICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBCICovCi0jZGVmaW5lIFVEQ0NSQyAgICAgICAgICBfX1JFRygweDQwNjAwNDBDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQyAqLwotI2RlZmluZSBVRENDUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDQxMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEQgKi8KLSNkZWZpbmUgVURDQ1JFICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBFICovCi0jZGVmaW5lIFVEQ0NSRiAgICAgICAgICBfX1JFRygweDQwNjAwNDE4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRiAqLwotI2RlZmluZSBVRENDUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDQxQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEcgKi8KLSNkZWZpbmUgVURDQ1JIICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBIICovCi0jZGVmaW5lIFVEQ0NSSSAgICAgICAgICBfX1JFRygweDQwNjAwNDI0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSSAqLwotI2RlZmluZSBVRENDUkogICAgICAgICAgX19SRUcoMHg0MDYwMDQyOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEogKi8KLSNkZWZpbmUgVURDQ1JLICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MkMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBLICovCi0jZGVmaW5lIFVEQ0NSTCAgICAgICAgICBfX1JFRygweDQwNjAwNDMwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTCAqLwotI2RlZmluZSBVRENDUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDQzNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE0gKi8KLSNkZWZpbmUgVURDQ1JOICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBOICovCi0jZGVmaW5lIFVEQ0NSUCAgICAgICAgICBfX1JFRygweDQwNjAwNDNDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUCAqLwotI2RlZmluZSBVRENDUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFEgKi8KLSNkZWZpbmUgVURDQ1JSICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBSICovCi0jZGVmaW5lIFVEQ0NSUyAgICAgICAgICBfX1JFRygweDQwNjAwNDQ4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUyAqLwotI2RlZmluZSBVRENDUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFQgKi8KLSNkZWZpbmUgVURDQ1JVICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBVICovCi0jZGVmaW5lIFVEQ0NSViAgICAgICAgICBfX1JFRygweDQwNjAwNDU0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQViAqLwotI2RlZmluZSBVRENDUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1OCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFcgKi8KLSNkZWZpbmUgVURDQ1JYICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NUMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBYICovCi0KLSNkZWZpbmUgVURDQ09OUl9DTgkoMHgwMyA8PCAyNSkJLyogQ29uZmlndXJhdGlvbiBOdW1iZXIgKi8KLSNkZWZpbmUgVURDQ09OUl9DTl9TCSgyNSkKLSNkZWZpbmUgVURDQ09OUl9JTgkoMHgwNyA8PCAyMikJLyogSW50ZXJmYWNlIE51bWJlciAqLwotI2RlZmluZSBVRENDT05SX0lOX1MJKDIyKQotI2RlZmluZSBVRENDT05SX0FJU04JKDB4MDcgPDwgMTkpCS8qIEFsdGVybmF0ZSBJbnRlcmZhY2UgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfQUlTTl9TCSgxOSkKLSNkZWZpbmUgVURDQ09OUl9FTgkoMHgwZiA8PCAxNSkJLyogRW5kcG9pbnQgTnVtYmVyICovCi0jZGVmaW5lIFVEQ0NPTlJfRU5fUwkoMTUpCi0jZGVmaW5lIFVEQ0NPTlJfRVQJKDB4MDMgPDwgMTMpCS8qIEVuZHBvaW50IFR5cGU6ICovCi0jZGVmaW5lIFVEQ0NPTlJfRVRfUwkoMTMpCi0jZGVmaW5lIFVEQ0NPTlJfRVRfSU5UCSgweDAzIDw8IDEzKQkvKiAgIEludGVycnVwdCAqLwotI2RlZmluZSBVRENDT05SX0VUX0JVTEsJKDB4MDIgPDwgMTMpCS8qICAgQnVsayAqLwotI2RlZmluZSBVRENDT05SX0VUX0lTTwkoMHgwMSA8PCAxMykJLyogICBJc29jaHJvbm91cyAqLwotI2RlZmluZSBVRENDT05SX0VUX05VCSgweDAwIDw8IDEzKQkvKiAgIE5vdCB1c2VkICovCi0jZGVmaW5lIFVEQ0NPTlJfRUQJKDEgPDwgMTIpCS8qIEVuZHBvaW50IERpcmVjdGlvbiAqLwotI2RlZmluZSBVRENDT05SX01QUwkoMHgzZmYgPDwgMikJLyogTWF4aW11bSBQYWNrZXQgU2l6ZSAqLwotI2RlZmluZSBVRENDT05SX01QU19TCSgyKQotI2RlZmluZSBVRENDT05SX0RFCSgxIDw8IDEpCS8qIERvdWJsZSBCdWZmZXJpbmcgRW5hYmxlICovCi0jZGVmaW5lIFVEQ0NPTlJfRUUJKDEgPDwgMCkJLyogRW5kcG9pbnQgRW5hYmxlICovCi0KLQotI2RlZmluZSBVRENfSU5UX0ZJRk9FUlJPUiAgKDB4MikKLSNkZWZpbmUgVURDX0lOVF9QQUNLRVRDTVAgICgweDEpCi0KLSNkZWZpbmUgVURDX0ZOUl9NQVNLICAgICAoMHg3ZmYpCi0KLSNkZWZpbmUgVURDQ1NSX1dSX01BU0sgICAoVURDQ1NSX0RNRXxVRENDU1JfRlNUKQotI2RlZmluZSBVRENfQkNSX01BU0sgICAgKDB4M2ZmKQotI2VuZGlmCi0KLS8qCiAgKiBGYXN0IEluZnJhcmVkIENvbW11bmljYXRpb24gUG9ydAogICovCiAKQEAgLTEyMzcsMTIwICs4MjUsOSBAQAogI2VuZGlmCiAKIC8qCi0gKiBQb3dlciBNYW5hZ2VyCisgKiBQb3dlciBNYW5hZ2VyIC0gc2VlIHB4YTJ4eC1yZWdzLmgKICAqLwogCi0jZGVmaW5lIFBNQ1IJCV9fUkVHKDB4NDBGMDAwMDApICAvKiBQb3dlciBNYW5hZ2VyIENvbnRyb2wgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgUFNTUgkJX19SRUcoMHg0MEYwMDAwNCkgIC8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTUFIJCV9fUkVHKDB4NDBGMDAwMDgpICAvKiBQb3dlciBNYW5hZ2VyIFNjcmF0Y2ggUGFkIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBXRVIJCV9fUkVHKDB4NDBGMDAwMEMpICAvKiBQb3dlciBNYW5hZ2VyIFdha2UtdXAgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBSRVIJCV9fUkVHKDB4NDBGMDAwMTApICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gUmlzaW5nLUVkZ2UgRGV0ZWN0IEVuYWJsZSBSZWdpc3RlciAqLwotI2RlZmluZSBQRkVSCQlfX1JFRygweDQwRjAwMDE0KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIEZhbGxpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBFRFIJCV9fUkVHKDB4NDBGMDAwMTgpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRWRnZSBEZXRlY3QgU3RhdHVzIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBDRlIJCV9fUkVHKDB4NDBGMDAwMUMpICAvKiBQb3dlciBNYW5hZ2VyIEdlbmVyYWwgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZSBQR1NSMAkJX19SRUcoMHg0MEYwMDAyMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbMzEtMF0gKi8KLSNkZWZpbmUgUEdTUjEJCV9fUkVHKDB4NDBGMDAwMjQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzYzLTMyXSAqLwotI2RlZmluZSBQR1NSMgkJX19SRUcoMHg0MEYwMDAyOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbODQtNjRdICovCi0jZGVmaW5lIFBHU1IzCQlfX1JFRygweDQwRjAwMDJDKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFsxMTgtOTZdICovCi0jZGVmaW5lIFJDU1IJCV9fUkVHKDB4NDBGMDAwMzApICAvKiBSZXNldCBDb250cm9sbGVyIFN0YXR1cyBSZWdpc3RlciAqLwotCi0jZGVmaW5lIFBTTFIJCV9fUkVHKDB4NDBGMDAwMzQpCS8qIFBvd2VyIE1hbmFnZXIgU2xlZXAgQ29uZmlnIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBTVFIJCV9fUkVHKDB4NDBGMDAwMzgpCS8qUG93ZXIgTWFuYWdlciBTdGFuZGJ5IENvbmZpZyBSZWdpc3RlciAqLwotI2RlZmluZSBQU05SCQlfX1JFRygweDQwRjAwMDNDKQkvKlBvd2VyIE1hbmFnZXIgU2Vuc2UgQ29uZmlnIFJlZ2lzdGVyICovCi0jZGVmaW5lIFBWQ1IJCV9fUkVHKDB4NDBGMDAwNDApCS8qUG93ZXIgTWFuYWdlciBWb2x0YWdlQ29udHJvbCBSZWdpc3RlciAqLwotI2RlZmluZSBQS1dSCQlfX1JFRygweDQwRjAwMDUwKQkvKiBQb3dlciBNYW5hZ2VyIEtCIFdha2UtdXAgRW5hYmxlIFJlZyAqLwotI2RlZmluZSBQS1NSCQlfX1JFRygweDQwRjAwMDU0KQkvKiBQb3dlciBNYW5hZ2VyIEtCIExldmVsLURldGVjdCBSZWdpc3RlciAqLwotI2RlZmluZSBQQ01EKHgpCV9fUkVHMigweDQwRjAwMDgwLCAoeCk8PDIpCi0jZGVmaW5lIFBDTUQwCV9fUkVHKDB4NDBGMDAwODAgKyAwICogNCkKLSNkZWZpbmUgUENNRDEJX19SRUcoMHg0MEYwMDA4MCArIDEgKiA0KQotI2RlZmluZSBQQ01EMglfX1JFRygweDQwRjAwMDgwICsgMiAqIDQpCi0jZGVmaW5lIFBDTUQzCV9fUkVHKDB4NDBGMDAwODAgKyAzICogNCkKLSNkZWZpbmUgUENNRDQJX19SRUcoMHg0MEYwMDA4MCArIDQgKiA0KQotI2RlZmluZSBQQ01ENQlfX1JFRygweDQwRjAwMDgwICsgNSAqIDQpCi0jZGVmaW5lIFBDTUQ2CV9fUkVHKDB4NDBGMDAwODAgKyA2ICogNCkKLSNkZWZpbmUgUENNRDcJX19SRUcoMHg0MEYwMDA4MCArIDcgKiA0KQotI2RlZmluZSBQQ01EOAlfX1JFRygweDQwRjAwMDgwICsgOCAqIDQpCi0jZGVmaW5lIFBDTUQ5CV9fUkVHKDB4NDBGMDAwODAgKyA5ICogNCkKLSNkZWZpbmUgUENNRDEwCV9fUkVHKDB4NDBGMDAwODAgKyAxMCAqIDQpCi0jZGVmaW5lIFBDTUQxMQlfX1JFRygweDQwRjAwMDgwICsgMTEgKiA0KQotI2RlZmluZSBQQ01EMTIJX19SRUcoMHg0MEYwMDA4MCArIDEyICogNCkKLSNkZWZpbmUgUENNRDEzCV9fUkVHKDB4NDBGMDAwODAgKyAxMyAqIDQpCi0jZGVmaW5lIFBDTUQxNAlfX1JFRygweDQwRjAwMDgwICsgMTQgKiA0KQotI2RlZmluZSBQQ01EMTUJX19SRUcoMHg0MEYwMDA4MCArIDE1ICogNCkKLSNkZWZpbmUgUENNRDE2CV9fUkVHKDB4NDBGMDAwODAgKyAxNiAqIDQpCi0jZGVmaW5lIFBDTUQxNwlfX1JFRygweDQwRjAwMDgwICsgMTcgKiA0KQotI2RlZmluZSBQQ01EMTgJX19SRUcoMHg0MEYwMDA4MCArIDE4ICogNCkKLSNkZWZpbmUgUENNRDE5CV9fUkVHKDB4NDBGMDAwODAgKyAxOSAqIDQpCi0jZGVmaW5lIFBDTUQyMAlfX1JFRygweDQwRjAwMDgwICsgMjAgKiA0KQotI2RlZmluZSBQQ01EMjEJX19SRUcoMHg0MEYwMDA4MCArIDIxICogNCkKLSNkZWZpbmUgUENNRDIyCV9fUkVHKDB4NDBGMDAwODAgKyAyMiAqIDQpCi0jZGVmaW5lIFBDTUQyMwlfX1JFRygweDQwRjAwMDgwICsgMjMgKiA0KQotI2RlZmluZSBQQ01EMjQJX19SRUcoMHg0MEYwMDA4MCArIDI0ICogNCkKLSNkZWZpbmUgUENNRDI1CV9fUkVHKDB4NDBGMDAwODAgKyAyNSAqIDQpCi0jZGVmaW5lIFBDTUQyNglfX1JFRygweDQwRjAwMDgwICsgMjYgKiA0KQotI2RlZmluZSBQQ01EMjcJX19SRUcoMHg0MEYwMDA4MCArIDI3ICogNCkKLSNkZWZpbmUgUENNRDI4CV9fUkVHKDB4NDBGMDAwODAgKyAyOCAqIDQpCi0jZGVmaW5lIFBDTUQyOQlfX1JFRygweDQwRjAwMDgwICsgMjkgKiA0KQotI2RlZmluZSBQQ01EMzAJX19SRUcoMHg0MEYwMDA4MCArIDMwICogNCkKLSNkZWZpbmUgUENNRDMxCV9fUkVHKDB4NDBGMDAwODAgKyAzMSAqIDQpCi0KLSNkZWZpbmUgUENNRF9NQkMJKDE8PDEyKQotI2RlZmluZSBQQ01EX0RDRQkoMTw8MTEpCi0jZGVmaW5lIFBDTURfTEMJKDE8PDEwKQotLyogRklYTUU6ICBQQ01EX1NRQyBuZWVkIGJlIGNoZWNrZWQuICAgKi8KLSNkZWZpbmUgUENNRF9TUUMJKDM8PDgpCS8qIGN1cnJlbnRseSBvbmx5IGJpdCA4IGlzIGNoYW5nZWFibGUsCi0JCQkJICAgYml0IDkgc2hvdWxkIGJlIDAgYWxsIGRheS4gKi8KLSNkZWZpbmUgUFZDUl9WQ1NBCSgweDE8PDE0KQotI2RlZmluZSBQVkNSX0NvbW1hbmREZWxheSAoMHhmODApCi0jZGVmaW5lIFBDRlJfUEkyQ19FTgkoMHgxIDw8IDYpCi0KLSNkZWZpbmUgUFNTUl9PVEdQSAkoMSA8PCA2KQkvKiBPVEcgUGVyaXBoZXJhbCBjb250cm9sIEhvbGQgKi8KLSNkZWZpbmUgUFNTUl9SREgJKDEgPDwgNSkJLyogUmVhZCBEaXNhYmxlIEhvbGQgKi8KLSNkZWZpbmUgUFNTUl9QSAkJKDEgPDwgNCkJLyogUGVyaXBoZXJhbCBDb250cm9sIEhvbGQgKi8KLSNkZWZpbmUgUFNTUl9TVFMJKDEgPDwgMykJLyogU3RhbmRieSBNb2RlIFN0YXR1cyAqLwotI2RlZmluZSBQU1NSX1ZGUwkoMSA8PCAyKQkvKiBWREQgRmF1bHQgU3RhdHVzICovCi0jZGVmaW5lIFBTU1JfQkZTCSgxIDw8IDEpCS8qIEJhdHRlcnkgRmF1bHQgU3RhdHVzICovCi0jZGVmaW5lIFBTU1JfU1NTCSgxIDw8IDApCS8qIFNvZnR3YXJlIFNsZWVwIFN0YXR1cyAqLwotCi0jZGVmaW5lIFBTTFJfU0xfUk9ECSgxIDw8IDIwKQkvKiBTbGVlcC1Nb2RlL0RlcHAtU2xlZXAgTW9kZSBuUkVTRVRfT1VUIERpc2FibGUgKi8KLQotI2RlZmluZSBQQ0ZSX1JPCQkoMSA8PCAxNSkJLyogUkRIIE92ZXJyaWRlICovCi0jZGVmaW5lIFBDRlJfUE8JCSgxIDw8IDE0KQkvKiBQSCBPdmVycmlkZSAqLwotI2RlZmluZSBQQ0ZSX0dQUk9ECSgxIDw8IDEyKQkvKiBHUElPIG5SRVNFVF9PVVQgRGlzYWJsZSAqLwotI2RlZmluZSBQQ0ZSX0wxX0VOCSgxIDw8IDExKQkvKiBTbGVlcCBNb2RlIEwxIGNvbnZlcnRlciBFbmFibGUgKi8KLSNkZWZpbmUgUENGUl9GVkMJKDEgPDwgMTApCS8qIEZyZXF1ZW5jeS9Wb2x0YWdlIENoYW5nZSAqLwotI2RlZmluZSBQQ0ZSX0RDX0VOCSgxIDw8IDcpCS8qIFNsZWVwL2RlZXAtc2xlZXAgREMtREMgQ29udmVydGVyIEVuYWJsZSAqLwotI2RlZmluZSBQQ0ZSX1BJMkNFTgkoMSA8PCA2KQkvKiBFbmFibGUgUEkyQyBjb250cm9sbGVyICovCi0jZGVmaW5lIFBDRlJfR1BSX0VOCSgxIDw8IDQpCS8qIG5SRVNFVF9HUElPIFBpbiBFbmFibGUgKi8KLSNkZWZpbmUgUENGUl9EUwkJKDEgPDwgMykJLyogRGVlcCBTbGVlcCBNb2RlICovCi0jZGVmaW5lIFBDRlJfRlMJCSgxIDw8IDIpCS8qIEZsb2F0IFN0YXRpYyBDaGlwIFNlbGVjdHMgKi8KLSNkZWZpbmUgUENGUl9GUAkJKDEgPDwgMSkJLyogRmxvYXQgUENNQ0lBIGNvbnRyb2xzICovCi0jZGVmaW5lIFBDRlJfT1BERQkoMSA8PCAwKQkvKiAzLjY4NjQgTUh6IG9zY2lsbGF0b3IgcG93ZXItZG93biBlbmFibGUgKi8KLQotI2RlZmluZSBSQ1NSX0dQUgkoMSA8PCAzKQkvKiBHUElPIFJlc2V0ICovCi0jZGVmaW5lIFJDU1JfU01SCSgxIDw8IDIpCS8qIFNsZWVwIE1vZGUgKi8KLSNkZWZpbmUgUkNTUl9XRFIJKDEgPDwgMSkJLyogV2F0Y2hkb2cgUmVzZXQgKi8KLSNkZWZpbmUgUkNTUl9IV1IJKDEgPDwgMCkJLyogSGFyZHdhcmUgUmVzZXQgKi8KLQotI2RlZmluZSBQV0VSX0dQSU8oTmIpCSgxIDw8IE5iKQkvKiBHUElPIFswLi4xNV0gd2FrZS11cCBlbmFibGUgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzAJUFdFUl9HUElPICgwKQkvKiBHUElPICBbMF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEJUFdFUl9HUElPICgxKQkvKiBHUElPICBbMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzIJUFdFUl9HUElPICgyKQkvKiBHUElPICBbMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzMJUFdFUl9HUElPICgzKQkvKiBHUElPICBbM10gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzQJUFdFUl9HUElPICg0KQkvKiBHUElPICBbNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzUJUFdFUl9HUElPICg1KQkvKiBHUElPICBbNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzYJUFdFUl9HUElPICg2KQkvKiBHUElPICBbNl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzcJUFdFUl9HUElPICg3KQkvKiBHUElPICBbN10gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzgJUFdFUl9HUElPICg4KQkvKiBHUElPICBbOF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzkJUFdFUl9HUElPICg5KQkvKiBHUElPICBbOV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEwCVBXRVJfR1BJTyAoMTApCS8qIEdQSU8gWzEwXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTEJUFdFUl9HUElPICgxMSkJLyogR1BJTyBbMTFdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xMglQV0VSX0dQSU8gKDEyKQkvKiBHUElPIFsxMl0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfR1BJTzEzCVBXRVJfR1BJTyAoMTMpCS8qIEdQSU8gWzEzXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KLSNkZWZpbmUgUFdFUl9HUElPMTQJUFdFUl9HUElPICgxNCkJLyogR1BJTyBbMTRdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotI2RlZmluZSBQV0VSX0dQSU8xNQlQV0VSX0dQSU8gKDE1KQkvKiBHUElPIFsxNV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCi0jZGVmaW5lIFBXRVJfUlRDCTB4ODAwMDAwMDAJLyogUlRDIGFsYXJtIHdha2UtdXAgZW5hYmxlICAgICAgICAqLwotCiAvKgogICogU1NQIFNlcmlhbCBQb3J0IFJlZ2lzdGVycyAtIHNlZSBpbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcmVncy1zc3AuaAogICovCkBAIC0xMzYwLDUyICs4MzcsOSBAQAogICovCiAKIC8qCi0gKiBDb3JlIENsb2NrCisgKiBDb3JlIENsb2NrIC0gc2VlIGluY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oCiAgKi8KIAotI2RlZmluZSBDQ0NSCQlfX1JFRygweDQxMzAwMDAwKSAgLyogQ29yZSBDbG9jayBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCi0jZGVmaW5lIENLRU4JCV9fUkVHKDB4NDEzMDAwMDQpICAvKiBDbG9jayBFbmFibGUgUmVnaXN0ZXIgKi8KLSNkZWZpbmUgT1NDQwkJX19SRUcoMHg0MTMwMDAwOCkgIC8qIE9zY2lsbGF0b3IgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLwotI2RlZmluZSBDQ1NSCQlfX1JFRygweDQxMzAwMDBDKSAgLyogQ29yZSBDbG9jayBTdGF0dXMgUmVnaXN0ZXIgKi8KLQotI2RlZmluZSBDQ0NSX05fTUFTSwkweDAzODAJCS8qIFJ1biBNb2RlIEZyZXF1ZW5jeSB0byBUdXJibyBNb2RlIEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCi0jZGVmaW5lIENDQ1JfTV9NQVNLCTB4MDA2MAkJLyogTWVtb3J5IEZyZXF1ZW5jeSB0byBSdW4gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLwotI2RlZmluZSBDQ0NSX0xfTUFTSwkweDAwMWYJCS8qIENyeXN0YWwgRnJlcXVlbmN5IHRvIE1lbW9yeSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLwotCi0jZGVmaW5lIENLRU5fQUM5N0NPTkYgICAoMzEpICAgIC8qIEFDOTcgQ29udHJvbGxlciBDb25maWd1cmF0aW9uICovCi0jZGVmaW5lIENLRU5fQ0FNRVJBCSgyNCkJLyogQ2FtZXJhIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TU1AxCSgyMykJLyogU1NQMSBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX01FTUMJKDIyKQkvKiBNZW1vcnkgQ29udHJvbGxlciBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NRU1TVEsJKDIxKQkvKiBNZW1vcnkgU3RpY2sgSG9zdCBDb250cm9sbGVyICovCi0jZGVmaW5lIENLRU5fSU0JCSgyMCkJLyogSW50ZXJuYWwgTWVtb3J5IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0tFWVBBRAkoMTkpCS8qIEtleXBhZCBJbnRlcmZhY2UgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fVVNJTQkoMTgpCS8qIFVTSU0gVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NU0wJKDE3KQkvKiBNU0wgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9MQ0QJKDE2KQkvKiBMQ0QgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9QV1JJMkMJKDE1KQkvKiBQV1IgSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fSTJDCSgxNCkJLyogSTJDIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fRklDUAkoMTMpCS8qIEZJQ1AgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9NTUMJKDEyKQkvKiBNTUMgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9VU0IJKDExKQkvKiBVU0IgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9BU1NQCSgxMCkJLyogQVNTUCAoU1NQMykgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fVVNCSE9TVAkoMTApCS8qIFVTQiBIb3N0IFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fT1NUSU1FUgkoOSkJLyogT1MgVGltZXIgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9OU1NQCSg5KQkvKiBOU1NQIChTU1AyKSBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9JMlMJKDgpCS8qIEkyUyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0JUVUFSVAkoNykJLyogQlRVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fRkZVQVJUCSg2KQkvKiBGRlVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9TVFVBUlQJKDUpCS8qIFNUVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0hXVUFSVAkoNCkJLyogSFdVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQMwkoNCkJLyogU1NQMyBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1NTUAkoMykJLyogU1NQIFVuaXQgQ2xvY2sgRW5hYmxlICovCi0jZGVmaW5lIENLRU5fU1NQMgkoMykJLyogU1NQMiBVbml0IENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX0FDOTcJKDIpCS8qIEFDOTcgVW5pdCBDbG9jayBFbmFibGUgKi8KLSNkZWZpbmUgQ0tFTl9QV00xCSgxKQkvKiBQV00xIENsb2NrIEVuYWJsZSAqLwotI2RlZmluZSBDS0VOX1BXTTAJKDApCS8qIFBXTTAgQ2xvY2sgRW5hYmxlICovCi0KLSNkZWZpbmUgT1NDQ19PT04JKDEgPDwgMSkJLyogMzIuNzY4a0h6IE9PTiAod3JpdGUtb25jZSBvbmx5IGJpdCkgKi8KLSNkZWZpbmUgT1NDQ19PT0sJKDEgPDwgMCkJLyogMzIuNzY4a0h6IE9PSyAocmVhZC1vbmx5IGJpdCkgKi8KLQogI2lmZGVmIENPTkZJR19QWEEyN3gKIAogLyogQ2FtZXJhIEludGVyZmFjZSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI1eC11ZGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyNXgtdWRjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQwMzA1OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyNXgtdWRjLmgKQEAgLTAsMCArMSwxNjMgQEAKKyNpZm5kZWYgX0FTTV9BUkNIX1BYQTI1WF9VRENfSAorI2RlZmluZSBfQVNNX0FSQ0hfUFhBMjVYX1VEQ19ICisKKyNpZmRlZiBfQVNNX0FSQ0hfUFhBMjdYX1VEQ19ICisjZXJyb3IgWW91IGNhbid0IGluY2x1ZGUgYm90aCBQWEEyNXggYW5kIFBYQTI3eCBVREMgc3VwcG9ydAorI2VuZGlmCisKKyNkZWZpbmUgVURDX1JFUzEJX19SRUcoMHg0MDYwMDAwNCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDEgKi8KKyNkZWZpbmUgVURDX1JFUzIJX19SRUcoMHg0MDYwMDAwOCkgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDIgKi8KKyNkZWZpbmUgVURDX1JFUzMJX19SRUcoMHg0MDYwMDAwQykgIC8qIFVEQyBVbmRvY3VtZW50ZWQgLSBSZXNlcnZlZDMgKi8KKworI2RlZmluZSBVRENDUgkJX19SRUcoMHg0MDYwMDAwMCkgIC8qIFVEQyBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NSX1VERQkoMSA8PCAwKQkvKiBVREMgZW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX1VEQQkoMSA8PCAxKQkvKiBVREMgYWN0aXZlICovCisjZGVmaW5lIFVEQ0NSX1JTTQkoMSA8PCAyKQkvKiBEZXZpY2UgcmVzdW1lICovCisjZGVmaW5lIFVEQ0NSX1JFU0lSCSgxIDw8IDMpCS8qIFJlc3VtZSBpbnRlcnJ1cHQgcmVxdWVzdCAqLworI2RlZmluZSBVRENDUl9TVVNJUgkoMSA8PCA0KQkvKiBTdXNwZW5kIGludGVycnVwdCByZXF1ZXN0ICovCisjZGVmaW5lIFVEQ0NSX1NSTQkoMSA8PCA1KQkvKiBTdXNwZW5kL3Jlc3VtZSBpbnRlcnJ1cHQgbWFzayAqLworI2RlZmluZSBVRENDUl9SU1RJUgkoMSA8PCA2KQkvKiBSZXNldCBpbnRlcnJ1cHQgcmVxdWVzdCAqLworI2RlZmluZSBVRENDUl9SRU0JKDEgPDwgNykJLyogUmVzZXQgaW50ZXJydXB0IG1hc2sgKi8KKworI2RlZmluZSBVRENDUzAJCV9fUkVHKDB4NDA2MDAwMTApICAvKiBVREMgRW5kcG9pbnQgMCBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzBfT1BSCSgxIDw8IDApCS8qIE9VVCBwYWNrZXQgcmVhZHkgKi8KKyNkZWZpbmUgVURDQ1MwX0lQUgkoMSA8PCAxKQkvKiBJTiBwYWNrZXQgcmVhZHkgKi8KKyNkZWZpbmUgVURDQ1MwX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTMF9EUldGCSgxIDw8IDMpCS8qIERldmljZSByZW1vdGUgd2FrZXVwIGZlYXR1cmUgKi8KKyNkZWZpbmUgVURDQ1MwX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTMF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1MwX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm8gZW1wdHkgKi8KKyNkZWZpbmUgVURDQ1MwX1NBCSgxIDw8IDcpCS8qIFNldHVwIGFjdGl2ZSAqLworCisvKiBCdWxrIElOIC0gRW5kcG9pbnQgMSw2LDExICovCisjZGVmaW5lIFVEQ0NTMQkJX19SRUcoMHg0MDYwMDAxNCkgIC8qIFVEQyBFbmRwb2ludCAxIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1M2CQlfX1JFRygweDQwNjAwMDI4KSAgLyogVURDIEVuZHBvaW50IDYgKElOKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBVRENDUzExCQlfX1JFRygweDQwNjAwMDNDKSAgLyogVURDIEVuZHBvaW50IDExIChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19CSV9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0JJX1RQQwkoMSA8PCAxKQkvKiBUcmFuc21pdCBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfQklfRlRGCSgxIDw8IDIpCS8qIEZsdXNoIFR4IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NfQklfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KKyNkZWZpbmUgVURDQ1NfQklfU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfQklfRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KKworLyogQnVsayBPVVQgLSBFbmRwb2ludCAyLDcsMTIgKi8KKyNkZWZpbmUgVURDQ1MyCQlfX1JFRygweDQwNjAwMDE4KSAgLyogVURDIEVuZHBvaW50IDIgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1M3CQlfX1JFRygweDQwNjAwMDJDKSAgLyogVURDIEVuZHBvaW50IDcgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMgkJX19SRUcoMHg0MDYwMDA0MCkgIC8qIFVEQyBFbmRwb2ludCAxMiAoT1VUKSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0JPX1JGUwkoMSA8PCAwKQkvKiBSZWNlaXZlIEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19CT19SUEMJKDEgPDwgMSkJLyogUmVjZWl2ZSBwYWNrZXQgY29tcGxldGUgKi8KKyNkZWZpbmUgVURDQ1NfQk9fRE1FCSgxIDw8IDMpCS8qIERNQSBlbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NfQk9fU1NUCSgxIDw8IDQpCS8qIFNlbnQgc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfQk9fRlNUCSgxIDw8IDUpCS8qIEZvcmNlIHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0JPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCisjZGVmaW5lIFVEQ0NTX0JPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLworCisvKiBJc29jaHJvbm91cyBJTiAtIEVuZHBvaW50IDMsOCwxMyAqLworI2RlZmluZSBVRENDUzMJCV9fUkVHKDB4NDA2MDAwMUMpICAvKiBVREMgRW5kcG9pbnQgMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTOAkJX19SRUcoMHg0MDYwMDAzMCkgIC8qIFVEQyBFbmRwb2ludCA4IChJTikgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxMwkJX19SRUcoMHg0MDYwMDA0NCkgIC8qIFVEQyBFbmRwb2ludCAxMyAoSU4pIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgVURDQ1NfSUlfVEZTCSgxIDw8IDApCS8qIFRyYW5zbWl0IEZJRk8gc2VydmljZSAqLworI2RlZmluZSBVRENDU19JSV9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0lJX0ZURgkoMSA8PCAyKQkvKiBGbHVzaCBUeCBGSUZPICovCisjZGVmaW5lIFVEQ0NTX0lJX1RVUgkoMSA8PCAzKQkvKiBUcmFuc21pdCBGSUZPIHVuZGVycnVuICovCisjZGVmaW5lIFVEQ0NTX0lJX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KKworLyogSXNvY2hyb25vdXMgT1VUIC0gRW5kcG9pbnQgNCw5LDE0ICovCisjZGVmaW5lIFVEQ0NTNAkJX19SRUcoMHg0MDYwMDAyMCkgIC8qIFVEQyBFbmRwb2ludCA0IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTOQkJX19SRUcoMHg0MDYwMDAzNCkgIC8qIFVEQyBFbmRwb2ludCA5IChPVVQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTQJCV9fUkVHKDB4NDA2MDAwNDgpICAvKiBVREMgRW5kcG9pbnQgMTQgKE9VVCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVRENDU19JT19SRlMJKDEgPDwgMCkJLyogUmVjZWl2ZSBGSUZPIHNlcnZpY2UgKi8KKyNkZWZpbmUgVURDQ1NfSU9fUlBDCSgxIDw8IDEpCS8qIFJlY2VpdmUgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0lPX1JPRgkoMSA8PCAyKQkvKiBSZWNlaXZlIG92ZXJmbG93ICovCisjZGVmaW5lIFVEQ0NTX0lPX0RNRQkoMSA8PCAzKQkvKiBETUEgZW5hYmxlICovCisjZGVmaW5lIFVEQ0NTX0lPX1JORQkoMSA8PCA2KQkvKiBSZWNlaXZlIEZJRk8gbm90IGVtcHR5ICovCisjZGVmaW5lIFVEQ0NTX0lPX1JTUAkoMSA8PCA3KQkvKiBSZWNlaXZlIHNob3J0IHBhY2tldCAqLworCisvKiBJbnRlcnJ1cHQgSU4gLSBFbmRwb2ludCA1LDEwLDE1ICovCisjZGVmaW5lIFVEQ0NTNQkJX19SRUcoMHg0MDYwMDAyNCkgIC8qIFVEQyBFbmRwb2ludCA1IChJbnRlcnJ1cHQpIENvbnRyb2wvU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIFVEQ0NTMTAJCV9fUkVHKDB4NDA2MDAwMzgpICAvKiBVREMgRW5kcG9pbnQgMTAgKEludGVycnVwdCkgQ29udHJvbC9TdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1MxNQkJX19SRUcoMHg0MDYwMDA0QykgIC8qIFVEQyBFbmRwb2ludCAxNSAoSW50ZXJydXB0KSBDb250cm9sL1N0YXR1cyBSZWdpc3RlciAqLworCisjZGVmaW5lIFVEQ0NTX0lOVF9URlMJKDEgPDwgMCkJLyogVHJhbnNtaXQgRklGTyBzZXJ2aWNlICovCisjZGVmaW5lIFVEQ0NTX0lOVF9UUEMJKDEgPDwgMSkJLyogVHJhbnNtaXQgcGFja2V0IGNvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTX0lOVF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHggRklGTyAqLworI2RlZmluZSBVRENDU19JTlRfVFVSCSgxIDw8IDMpCS8qIFRyYW5zbWl0IEZJRk8gdW5kZXJydW4gKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1NTVAkoMSA8PCA0KQkvKiBTZW50IHN0YWxsICovCisjZGVmaW5lIFVEQ0NTX0lOVF9GU1QJKDEgPDwgNSkJLyogRm9yY2Ugc3RhbGwgKi8KKyNkZWZpbmUgVURDQ1NfSU5UX1RTUAkoMSA8PCA3KQkvKiBUcmFuc21pdCBzaG9ydCBwYWNrZXQgKi8KKworI2RlZmluZSBVRk5SSAkJX19SRUcoMHg0MDYwMDA2MCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgSGlnaCAqLworI2RlZmluZSBVRk5STAkJX19SRUcoMHg0MDYwMDA2NCkgIC8qIFVEQyBGcmFtZSBOdW1iZXIgUmVnaXN0ZXIgTG93ICovCisjZGVmaW5lIFVCQ1IyCQlfX1JFRygweDQwNjAwMDY4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDIgKi8KKyNkZWZpbmUgVUJDUjQJCV9fUkVHKDB4NDA2MDAwNmMpICAvKiBVREMgQnl0ZSBDb3VudCBSZWcgNCAqLworI2RlZmluZSBVQkNSNwkJX19SRUcoMHg0MDYwMDA3MCkgIC8qIFVEQyBCeXRlIENvdW50IFJlZyA3ICovCisjZGVmaW5lIFVCQ1I5CQlfX1JFRygweDQwNjAwMDc0KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDkgKi8KKyNkZWZpbmUgVUJDUjEyCQlfX1JFRygweDQwNjAwMDc4KSAgLyogVURDIEJ5dGUgQ291bnQgUmVnIDEyICovCisjZGVmaW5lIFVCQ1IxNAkJX19SRUcoMHg0MDYwMDA3YykgIC8qIFVEQyBCeXRlIENvdW50IFJlZyAxNCAqLworI2RlZmluZSBVRERSMAkJX19SRUcoMHg0MDYwMDA4MCkgIC8qIFVEQyBFbmRwb2ludCAwIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEJCV9fUkVHKDB4NDA2MDAxMDApICAvKiBVREMgRW5kcG9pbnQgMSBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFIyCQlfX1JFRygweDQwNjAwMTgwKSAgLyogVURDIEVuZHBvaW50IDIgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSMwkJX19SRUcoMHg0MDYwMDIwMCkgIC8qIFVEQyBFbmRwb2ludCAzIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjQJCV9fUkVHKDB4NDA2MDA0MDApICAvKiBVREMgRW5kcG9pbnQgNCBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI1CQlfX1JFRygweDQwNjAwMEEwKSAgLyogVURDIEVuZHBvaW50IDUgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSNgkJX19SRUcoMHg0MDYwMDYwMCkgIC8qIFVEQyBFbmRwb2ludCA2IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjcJCV9fUkVHKDB4NDA2MDA2ODApICAvKiBVREMgRW5kcG9pbnQgNyBEYXRhIFJlZ2lzdGVyICovCisjZGVmaW5lIFVERFI4CQlfX1JFRygweDQwNjAwNzAwKSAgLyogVURDIEVuZHBvaW50IDggRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBVRERSOQkJX19SRUcoMHg0MDYwMDkwMCkgIC8qIFVEQyBFbmRwb2ludCA5IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEwCQlfX1JFRygweDQwNjAwMEMwKSAgLyogVURDIEVuZHBvaW50IDEwIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjExCQlfX1JFRygweDQwNjAwQjAwKSAgLyogVURDIEVuZHBvaW50IDExIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEyCQlfX1JFRygweDQwNjAwQjgwKSAgLyogVURDIEVuZHBvaW50IDEyIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjEzCQlfX1JFRygweDQwNjAwQzAwKSAgLyogVURDIEVuZHBvaW50IDEzIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjE0CQlfX1JFRygweDQwNjAwRTAwKSAgLyogVURDIEVuZHBvaW50IDE0IERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVUREUjE1CQlfX1JFRygweDQwNjAwMEUwKSAgLyogVURDIEVuZHBvaW50IDE1IERhdGEgUmVnaXN0ZXIgKi8KKworI2RlZmluZSBVSUNSMAkJX19SRUcoMHg0MDYwMDA1MCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAwICovCisKKyNkZWZpbmUgVUlDUjBfSU0wCSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDAgKi8KKyNkZWZpbmUgVUlDUjBfSU0xCSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDEgKi8KKyNkZWZpbmUgVUlDUjBfSU0yCSgxIDw8IDIpCS8qIEludGVycnVwdCBtYXNrIGVwIDIgKi8KKyNkZWZpbmUgVUlDUjBfSU0zCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDMgKi8KKyNkZWZpbmUgVUlDUjBfSU00CSgxIDw8IDQpCS8qIEludGVycnVwdCBtYXNrIGVwIDQgKi8KKyNkZWZpbmUgVUlDUjBfSU01CSgxIDw8IDUpCS8qIEludGVycnVwdCBtYXNrIGVwIDUgKi8KKyNkZWZpbmUgVUlDUjBfSU02CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDYgKi8KKyNkZWZpbmUgVUlDUjBfSU03CSgxIDw8IDcpCS8qIEludGVycnVwdCBtYXNrIGVwIDcgKi8KKworI2RlZmluZSBVSUNSMQkJX19SRUcoMHg0MDYwMDA1NCkgIC8qIFVEQyBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAxICovCisKKyNkZWZpbmUgVUlDUjFfSU04CSgxIDw8IDApCS8qIEludGVycnVwdCBtYXNrIGVwIDggKi8KKyNkZWZpbmUgVUlDUjFfSU05CSgxIDw8IDEpCS8qIEludGVycnVwdCBtYXNrIGVwIDkgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMAkoMSA8PCAyKQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMCAqLworI2RlZmluZSBVSUNSMV9JTTExCSgxIDw8IDMpCS8qIEludGVycnVwdCBtYXNrIGVwIDExICovCisjZGVmaW5lIFVJQ1IxX0lNMTIJKDEgPDwgNCkJLyogSW50ZXJydXB0IG1hc2sgZXAgMTIgKi8KKyNkZWZpbmUgVUlDUjFfSU0xMwkoMSA8PCA1KQkvKiBJbnRlcnJ1cHQgbWFzayBlcCAxMyAqLworI2RlZmluZSBVSUNSMV9JTTE0CSgxIDw8IDYpCS8qIEludGVycnVwdCBtYXNrIGVwIDE0ICovCisjZGVmaW5lIFVJQ1IxX0lNMTUJKDEgPDwgNykJLyogSW50ZXJydXB0IG1hc2sgZXAgMTUgKi8KKworI2RlZmluZSBVU0lSMAkJX19SRUcoMHg0MDYwMDA1OCkgIC8qIFVEQyBTdGF0dXMgSW50ZXJydXB0IFJlZ2lzdGVyIDAgKi8KKworI2RlZmluZSBVU0lSMF9JUjAJKDEgPDwgMCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMCAqLworI2RlZmluZSBVU0lSMF9JUjEJKDEgPDwgMSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMSAqLworI2RlZmluZSBVU0lSMF9JUjIJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMiAqLworI2RlZmluZSBVU0lSMF9JUjMJKDEgPDwgMykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMyAqLworI2RlZmluZSBVU0lSMF9JUjQJKDEgPDwgNCkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNCAqLworI2RlZmluZSBVU0lSMF9JUjUJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNSAqLworI2RlZmluZSBVU0lSMF9JUjYJKDEgPDwgNikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNiAqLworI2RlZmluZSBVU0lSMF9JUjcJKDEgPDwgNykJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgNyAqLworCisjZGVmaW5lIFVTSVIxCQlfX1JFRygweDQwNjAwMDVDKSAgLyogVURDIFN0YXR1cyBJbnRlcnJ1cHQgUmVnaXN0ZXIgMSAqLworCisjZGVmaW5lIFVTSVIxX0lSOAkoMSA8PCAwKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA4ICovCisjZGVmaW5lIFVTSVIxX0lSOQkoMSA8PCAxKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCA5ICovCisjZGVmaW5lIFVTSVIxX0lSMTAJKDEgPDwgMikJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTAgKi8KKyNkZWZpbmUgVVNJUjFfSVIxMQkoMSA8PCAzKQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxMSAqLworI2RlZmluZSBVU0lSMV9JUjEyCSgxIDw8IDQpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDEyICovCisjZGVmaW5lIFVTSVIxX0lSMTMJKDEgPDwgNSkJLyogSW50ZXJydXB0IHJlcXVlc3QgZXAgMTMgKi8KKyNkZWZpbmUgVVNJUjFfSVIxNAkoMSA8PCA2KQkvKiBJbnRlcnJ1cHQgcmVxdWVzdCBlcCAxNCAqLworI2RlZmluZSBVU0lSMV9JUjE1CSgxIDw8IDcpCS8qIEludGVycnVwdCByZXF1ZXN0IGVwIDE1ICovCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTI3eC11ZGMuaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyN3gtdWRjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxY2Y3ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMjd4LXVkYy5oCkBAIC0wLDAgKzEsMjU3IEBACisjaWZuZGVmIF9BU01fQVJDSF9QWEEyN1hfVURDX0gKKyNkZWZpbmUgX0FTTV9BUkNIX1BYQTI3WF9VRENfSAorCisjaWZkZWYgX0FTTV9BUkNIX1BYQTI1WF9VRENfSAorI2Vycm9yIFlvdSBjYW5ub3QgaW5jbHVkZSBib3RoIFBYQTI1eCBhbmQgUFhBMjd4IFVEQyBzdXBwb3J0CisjZW5kaWYKKworI2RlZmluZSBVRENDUiAgICAgICAgICAgX19SRUcoMHg0MDYwMDAwMCkgLyogVURDIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVURDQ1JfT0VOCSgxIDw8IDMxKQkvKiBPbi10aGUtR28gRW5hYmxlICovCisjZGVmaW5lIFVEQ0NSX0FBTFRITlAJKDEgPDwgMzApCS8qIEEtZGV2aWNlIEFsdGVybmF0ZSBIb3N0IE5lZ290aWF0aW9uCisJCQkJCSAgIFByb3RvY29sIFBvcnQgU3VwcG9ydCAqLworI2RlZmluZSBVRENDUl9BSE5QCSgxIDw8IDI5KQkvKiBBLWRldmljZSBIb3N0IE5lZ290aWF0aW9uIFByb3RvY29sCisJCQkJCSAgIFN1cHBvcnQgKi8KKyNkZWZpbmUgVURDQ1JfQkhOUAkoMSA8PCAyOCkJLyogQi1kZXZpY2UgSG9zdCBOZWdvdGlhdGlvbiBQcm90b2NvbAorCQkJCQkgICBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1JfRFdSRQkoMSA8PCAxNikJLyogRGV2aWNlIFJlbW90ZSBXYWtlLXVwIEVuYWJsZSAqLworI2RlZmluZSBVRENDUl9BQ04JKDB4MDMgPDwgMTEpCS8qIEFjdGl2ZSBVREMgY29uZmlndXJhdGlvbiBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ1JfQUNOX1MJMTEKKyNkZWZpbmUgVURDQ1JfQUlOCSgweDA3IDw8IDgpCS8qIEFjdGl2ZSBVREMgaW50ZXJmYWNlIE51bWJlciAqLworI2RlZmluZSBVRENDUl9BSU5fUwk4CisjZGVmaW5lIFVEQ0NSX0FBSVNOCSgweDA3IDw8IDUpCS8qIEFjdGl2ZSBVREMgQWx0ZXJuYXRlIEludGVyZmFjZQorCQkJCQkgICBTZXR0aW5nIE51bWJlciAqLworI2RlZmluZSBVRENDUl9BQUlTTl9TCTUKKyNkZWZpbmUgVURDQ1JfU01BQwkoMSA8PCA0KQkvKiBTd2l0Y2ggRW5kcG9pbnQgTWVtb3J5IHRvIEFjdGl2ZQorCQkJCQkgICBDb25maWd1cmF0aW9uICovCisjZGVmaW5lIFVEQ0NSX0VNQ0UJKDEgPDwgMykJLyogRW5kcG9pbnQgTWVtb3J5IENvbmZpZ3VyYXRpb24KKwkJCQkJICAgRXJyb3IgKi8KKyNkZWZpbmUgVURDQ1JfVURSCSgxIDw8IDIpCS8qIFVEQyBSZXN1bWUgKi8KKyNkZWZpbmUgVURDQ1JfVURBCSgxIDw8IDEpCS8qIFVEQyBBY3RpdmUgKi8KKyNkZWZpbmUgVURDQ1JfVURFCSgxIDw8IDApCS8qIFVEQyBFbmFibGUgKi8KKworI2RlZmluZSBVRENJQ1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwNCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMCAqLworI2RlZmluZSBVRENJQ1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAwOCkgLyogVURDIEludGVycnVwdCBDb250cm9sIFJlZ2lzdGVyMSAqLworI2RlZmluZSBVRENJQ1JfRklGT0VSUgkoMSA8PCAxKQkvKiBGSUZPIEVycm9yIGludGVycnVwdCBmb3IgRVAgKi8KKyNkZWZpbmUgVURDSUNSX1BLVENPTVBMICgxIDw8IDApCS8qIFBhY2tldCBDb21wbGV0ZSBpbnRlcnJ1cHQgZm9yIEVQICovCisKKyNkZWZpbmUgVURDX0lOVF9GSUZPRVJST1IgICgweDIpCisjZGVmaW5lIFVEQ19JTlRfUEFDS0VUQ01QICAoMHgxKQorCisjZGVmaW5lIFVEQ0lDUl9JTlQobixpbnRyKSAoKChpbnRyKSAmIDB4MDMpIDw8ICgoKG4pICYgMHgwRikgKiAyKSkKKyNkZWZpbmUgVURDSUNSMV9JRUNDCSgxIDw8IDMxKQkvKiBJbnRFbiAtIENvbmZpZ3VyYXRpb24gQ2hhbmdlICovCisjZGVmaW5lIFVEQ0lDUjFfSUVTT0YJKDEgPDwgMzApCS8qIEludEVuIC0gU3RhcnQgb2YgRnJhbWUgKi8KKyNkZWZpbmUgVURDSUNSMV9JRVJVCSgxIDw8IDI5KQkvKiBJbnRFbiAtIFJlc3VtZSAqLworI2RlZmluZSBVRENJQ1IxX0lFU1UJKDEgPDwgMjgpCS8qIEludEVuIC0gU3VzcGVuZCAqLworI2RlZmluZSBVRENJQ1IxX0lFUlMJKDEgPDwgMjcpCS8qIEludEVuIC0gUmVzZXQgKi8KKworI2RlZmluZSBVRENJU1IwICAgICAgICAgX19SRUcoMHg0MDYwMDAwQykgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMCAqLworI2RlZmluZSBVRENJU1IxICAgICAgICAgX19SRUcoMHg0MDYwMDAxMCkgLyogVURDIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgMSAqLworI2RlZmluZSBVRENJU1JfSU5UKG4saW50cikgKCgoaW50cikgJiAweDAzKSA8PCAoKChuKSAmIDB4MEYpICogMikpCisjZGVmaW5lIFVEQ0lTUjFfSVJDQwkoMSA8PCAzMSkJLyogSW50UmVxIC0gQ29uZmlndXJhdGlvbiBDaGFuZ2UgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlNPRgkoMSA8PCAzMCkJLyogSW50UmVxIC0gU3RhcnQgb2YgRnJhbWUgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlJVCSgxIDw8IDI5KQkvKiBJbnRSZXEgLSBSZXN1bWUgKi8KKyNkZWZpbmUgVURDSVNSMV9JUlNVCSgxIDw8IDI4KQkvKiBJbnRSZXEgLSBTdXNwZW5kICovCisjZGVmaW5lIFVEQ0lTUjFfSVJSUwkoMSA8PCAyNykJLyogSW50UmVxIC0gUmVzZXQgKi8KKworI2RlZmluZSBVRENGTlIgICAgICAgICAgX19SRUcoMHg0MDYwMDAxNCkgLyogVURDIEZyYW1lIE51bWJlciBSZWdpc3RlciAqLworI2RlZmluZSBVRENPVEdJQ1IJX19SRUcoMHg0MDYwMDAxOCkgLyogVURDIE9uLVRoZS1HbyBpbnRlcnJ1cHQgY29udHJvbCAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVTRgkoMSA8PCAyNCkJLyogT1RHIFNFVF9GRUFUVVJFIGNvbW1hbmQgcmVjdmQgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFWFIJKDEgPDwgMTcpCS8qIEV4dHJhIFRyYW5zY2lldmVyIEludGVycnVwdAorCQkJCQkgICBSaXNpbmcgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVhGCSgxIDw8IDE2KQkvKiBFeHRyYSBUcmFuc2NpZXZlciBJbnRlcnJ1cHQKKwkJCQkJICAgRmFsbGluZyBFZGdlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFVlY0MFIgKDEgPDwgOSkJLyogT1RHIFZidXMgVmFsaWQgNC4wViBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDBGICgxIDw8IDgpCS8qIE9URyBWYnVzIFZhbGlkIDQuMFYgRmFsbGluZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFVlY0NFIgKDEgPDwgNykJLyogT1RHIFZidXMgVmFsaWQgNC40ViBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVZWNDRGICgxIDw8IDYpCS8qIE9URyBWYnVzIFZhbGlkIDQuNFYgRmFsbGluZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU1ZSCSgxIDw8IDUpCS8qIE9URyBTZXNzaW9uIFZhbGlkIFJpc2luZyBFZGdlCisJCQkJCSAgIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgVURDT1RHSUNSX0lFU1ZGCSgxIDw8IDQpCS8qIE9URyBTZXNzaW9uIFZhbGlkIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNEUgkoMSA8PCAzKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBSaXNpbmcKKwkJCQkJICAgRWRnZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRVNERgkoMSA8PCAyKQkvKiBPVEcgQS1EZXZpY2UgU1JQIERldGVjdCBGYWxsaW5nCisJCQkJCSAgIEVkZ2UgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSBVRENPVEdJQ1JfSUVJRFIJKDEgPDwgMSkJLyogT1RHIElEIENoYW5nZSBSaXNpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lIFVEQ09UR0lDUl9JRUlERgkoMSA8PCAwKQkvKiBPVEcgSUQgQ2hhbmdlIEZhbGxpbmcgRWRnZQorCQkJCQkgICBJbnRlcnJ1cHQgRW5hYmxlICovCisKKyNkZWZpbmUgVVAyT0NSCQkgIF9fUkVHKDB4NDA2MDAwMjApICAvKiBVU0IgUG9ydCAyIE91dHB1dCBDb250cm9sIHJlZ2lzdGVyICovCisjZGVmaW5lIFVQM09DUgkJICBfX1JFRygweDQwNjAwMDI0KSAgLyogVVNCIFBvcnQgMiBPdXRwdXQgQ29udHJvbCByZWdpc3RlciAqLworCisjZGVmaW5lIFVQMk9DUl9DUFZFTgkoMSA8PCAwKQkvKiBDaGFyZ2UgUHVtcCBWYnVzIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfQ1BWUEUJKDEgPDwgMSkJLyogQ2hhcmdlIFB1bXAgVmJ1cyBQdWxzZSBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RQUERFCSgxIDw8IDIpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgRG93biBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RNUERFCSgxIDw8IDMpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgRG93biBFbmFibGUgKi8KKyNkZWZpbmUgVVAyT0NSX0RQUFVFCSgxIDw8IDQpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgVXAgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9ETVBVRQkoMSA8PCA1KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBELSBQdWxsIFVwIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRFBQVUJFCSgxIDw8IDYpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQrIFB1bGwgVXAgQnlwYXNzIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRE1QVUJFCSgxIDw8IDcpCS8qIEhvc3QgUG9ydCAyIFRyYW5zY2VpdmVyIEQtIFB1bGwgVXAgQnlwYXNzIEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfRVhTUAkJKDEgPDwgOCkJLyogRXh0ZXJuYWwgVHJhbnNjZWl2ZXIgU3BlZWQgQ29udHJvbCAqLworI2RlZmluZSBVUDJPQ1JfRVhTVVMJKDEgPDwgOSkJLyogRXh0ZXJuYWwgVHJhbnNjZWl2ZXIgU3BlZWQgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9JRE9OCQkoMSA8PCAxMCkJLyogT1RHIElEIFJlYWQgRW5hYmxlICovCisjZGVmaW5lIFVQMk9DUl9IWFMJCSgxIDw8IDE2KQkvKiBIb3N0IFBvcnQgMiBUcmFuc2NlaXZlciBPdXRwdXQgU2VsZWN0ICovCisjZGVmaW5lIFVQMk9DUl9IWE9FCQkoMSA8PCAxNykJLyogSG9zdCBQb3J0IDIgVHJhbnNjZWl2ZXIgT3V0cHV0IEVuYWJsZSAqLworI2RlZmluZSBVUDJPQ1JfU0VPUwkJKDEgPDwgMjQpCS8qIFNpbmdsZS1FbmRlZCBPdXRwdXQgU2VsZWN0ICovCisKKyNkZWZpbmUgVURDQ1NOKHgpCV9fUkVHMigweDQwNjAwMTAwLCAoeCkgPDwgMikKKyNkZWZpbmUgVURDQ1NSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAxMDApIC8qIFVEQyBDb250cm9sL1N0YXR1cyByZWdpc3RlciAtIEVuZHBvaW50IDAgKi8KKyNkZWZpbmUgVURDQ1NSMF9TQQkoMSA8PCA3KQkvKiBTZXR1cCBBY3RpdmUgKi8KKyNkZWZpbmUgVURDQ1NSMF9STkUJKDEgPDwgNikJLyogUmVjZWl2ZSBGSUZPIE5vdCBFbXB0eSAqLworI2RlZmluZSBVRENDU1IwX0ZTVAkoMSA8PCA1KQkvKiBGb3JjZSBTdGFsbCAqLworI2RlZmluZSBVRENDU1IwX1NTVAkoMSA8PCA0KQkvKiBTZW50IFN0YWxsICovCisjZGVmaW5lIFVEQ0NTUjBfRE1FCSgxIDw8IDMpCS8qIERNQSBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ1NSMF9GVEYJKDEgPDwgMikJLyogRmx1c2ggVHJhbnNtaXQgRklGTyAqLworI2RlZmluZSBVRENDU1IwX0lQUgkoMSA8PCAxKQkvKiBJTiBQYWNrZXQgUmVhZHkgKi8KKyNkZWZpbmUgVURDQ1NSMF9PUEMJKDEgPDwgMCkJLyogT1VUIFBhY2tldCBDb21wbGV0ZSAqLworCisjZGVmaW5lIFVEQ0NTUkEgICAgICAgICBfX1JFRygweDQwNjAwMTA0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBBICovCisjZGVmaW5lIFVEQ0NTUkIgICAgICAgICBfX1JFRygweDQwNjAwMTA4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBCICovCisjZGVmaW5lIFVEQ0NTUkMgICAgICAgICBfX1JFRygweDQwNjAwMTBDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBDICovCisjZGVmaW5lIFVEQ0NTUkQgICAgICAgICBfX1JFRygweDQwNjAwMTEwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBEICovCisjZGVmaW5lIFVEQ0NTUkUgICAgICAgICBfX1JFRygweDQwNjAwMTE0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBFICovCisjZGVmaW5lIFVEQ0NTUkYgICAgICAgICBfX1JFRygweDQwNjAwMTE4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBGICovCisjZGVmaW5lIFVEQ0NTUkcgICAgICAgICBfX1JFRygweDQwNjAwMTFDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBHICovCisjZGVmaW5lIFVEQ0NTUkggICAgICAgICBfX1JFRygweDQwNjAwMTIwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBIICovCisjZGVmaW5lIFVEQ0NTUkkgICAgICAgICBfX1JFRygweDQwNjAwMTI0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBJICovCisjZGVmaW5lIFVEQ0NTUkogICAgICAgICBfX1JFRygweDQwNjAwMTI4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBKICovCisjZGVmaW5lIFVEQ0NTUksgICAgICAgICBfX1JFRygweDQwNjAwMTJDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBLICovCisjZGVmaW5lIFVEQ0NTUkwgICAgICAgICBfX1JFRygweDQwNjAwMTMwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBMICovCisjZGVmaW5lIFVEQ0NTUk0gICAgICAgICBfX1JFRygweDQwNjAwMTM0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBNICovCisjZGVmaW5lIFVEQ0NTUk4gICAgICAgICBfX1JFRygweDQwNjAwMTM4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBOICovCisjZGVmaW5lIFVEQ0NTUlAgICAgICAgICBfX1JFRygweDQwNjAwMTNDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBQICovCisjZGVmaW5lIFVEQ0NTUlEgICAgICAgICBfX1JFRygweDQwNjAwMTQwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBRICovCisjZGVmaW5lIFVEQ0NTUlIgICAgICAgICBfX1JFRygweDQwNjAwMTQ0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBSICovCisjZGVmaW5lIFVEQ0NTUlMgICAgICAgICBfX1JFRygweDQwNjAwMTQ4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBTICovCisjZGVmaW5lIFVEQ0NTUlQgICAgICAgICBfX1JFRygweDQwNjAwMTRDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBUICovCisjZGVmaW5lIFVEQ0NTUlUgICAgICAgICBfX1JFRygweDQwNjAwMTUwKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBVICovCisjZGVmaW5lIFVEQ0NTUlYgICAgICAgICBfX1JFRygweDQwNjAwMTU0KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBWICovCisjZGVmaW5lIFVEQ0NTUlcgICAgICAgICBfX1JFRygweDQwNjAwMTU4KSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBXICovCisjZGVmaW5lIFVEQ0NTUlggICAgICAgICBfX1JFRygweDQwNjAwMTVDKSAvKiBVREMgQ29udHJvbC9TdGF0dXMgcmVnaXN0ZXIgLSBFbmRwb2ludCBYICovCisKKyNkZWZpbmUgVURDQ1NSX0RQRQkoMSA8PCA5KQkvKiBEYXRhIFBhY2tldCBFcnJvciAqLworI2RlZmluZSBVRENDU1JfRkVGCSgxIDw8IDgpCS8qIEZsdXNoIEVuZHBvaW50IEZJRk8gKi8KKyNkZWZpbmUgVURDQ1NSX1NQCSgxIDw8IDcpCS8qIFNob3J0IFBhY2tldCBDb250cm9sL1N0YXR1cyAqLworI2RlZmluZSBVRENDU1JfQk5FCSgxIDw8IDYpCS8qIEJ1ZmZlciBOb3QgRW1wdHkgKElOIGVuZHBvaW50cykgKi8KKyNkZWZpbmUgVURDQ1NSX0JORgkoMSA8PCA2KQkvKiBCdWZmZXIgTm90IEZ1bGwgKE9VVCBlbmRwb2ludHMpICovCisjZGVmaW5lIFVEQ0NTUl9GU1QJKDEgPDwgNSkJLyogRm9yY2UgU1RBTEwgKi8KKyNkZWZpbmUgVURDQ1NSX1NTVAkoMSA8PCA0KQkvKiBTZW50IFNUQUxMICovCisjZGVmaW5lIFVEQ0NTUl9ETUUJKDEgPDwgMykJLyogRE1BIEVuYWJsZSAqLworI2RlZmluZSBVRENDU1JfVFJOCSgxIDw8IDIpCS8qIFR4L1J4IE5BSyAqLworI2RlZmluZSBVRENDU1JfUEMJKDEgPDwgMSkJLyogUGFja2V0IENvbXBsZXRlICovCisjZGVmaW5lIFVEQ0NTUl9GUwkoMSA8PCAwKQkvKiBGSUZPIG5lZWRzIHNlcnZpY2UgKi8KKworI2RlZmluZSBVRENCQ04oeCkJX19SRUcyKDB4NDA2MDAyMDAsICh4KTw8MikKKyNkZWZpbmUgVURDQkNSMCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUDAgKi8KKyNkZWZpbmUgVURDQkNSQSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEEgKi8KKyNkZWZpbmUgVURDQkNSQiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMDgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEIgKi8KKyNkZWZpbmUgVURDQkNSQyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMEMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEMgKi8KKyNkZWZpbmUgVURDQkNSRCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEQgKi8KKyNkZWZpbmUgVURDQkNSRSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEUgKi8KKyNkZWZpbmUgVURDQkNSRiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMTgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEYgKi8KKyNkZWZpbmUgVURDQkNSRyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMUMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEcgKi8KKyNkZWZpbmUgVURDQkNSSCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEggKi8KKyNkZWZpbmUgVURDQkNSSSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEkgKi8KKyNkZWZpbmUgVURDQkNSSiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMjgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEogKi8KKyNkZWZpbmUgVURDQkNSSyAgICAgICAgIF9fUkVHKDB4NDA2MDAyMkMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEsgKi8KKyNkZWZpbmUgVURDQkNSTCAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUEwgKi8KKyNkZWZpbmUgVURDQkNSTSAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUE0gKi8KKyNkZWZpbmUgVURDQkNSTiAgICAgICAgIF9fUkVHKDB4NDA2MDAyMzgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUE4gKi8KKyNkZWZpbmUgVURDQkNSUCAgICAgICAgIF9fUkVHKDB4NDA2MDAyM0MpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFAgKi8KKyNkZWZpbmUgVURDQkNSUSAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFEgKi8KKyNkZWZpbmUgVURDQkNSUiAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFIgKi8KKyNkZWZpbmUgVURDQkNSUyAgICAgICAgIF9fUkVHKDB4NDA2MDAyNDgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFMgKi8KKyNkZWZpbmUgVURDQkNSVCAgICAgICAgIF9fUkVHKDB4NDA2MDAyNEMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFQgKi8KKyNkZWZpbmUgVURDQkNSVSAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTApIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFUgKi8KKyNkZWZpbmUgVURDQkNSViAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTQpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFYgKi8KKyNkZWZpbmUgVURDQkNSVyAgICAgICAgIF9fUkVHKDB4NDA2MDAyNTgpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFcgKi8KKyNkZWZpbmUgVURDQkNSWCAgICAgICAgIF9fUkVHKDB4NDA2MDAyNUMpIC8qIEJ5dGUgQ291bnQgUmVnaXN0ZXIgLSBFUFggKi8KKworI2RlZmluZSBVRENETih4KQlfX1JFRzIoMHg0MDYwMDMwMCwgKHgpPDwyKQorI2RlZmluZSBQSFlTX1VEQ0ROKHgpCSgweDQwNjAwMzAwICsgKCh4KTw8MikpCisjZGVmaW5lIFBVRENETih4KQkodm9sYXRpbGUgdTMyICopKGlvX3AydihQSFlTX1VEQ0ROKCh4KSkpKQorI2RlZmluZSBVRENEUjAgICAgICAgICAgX19SRUcoMHg0MDYwMDMwMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQMCAqLworI2RlZmluZSBVRENEUkEgICAgICAgICAgX19SRUcoMHg0MDYwMDMwNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQQSAqLworI2RlZmluZSBVRENEUkIgICAgICAgICAgX19SRUcoMHg0MDYwMDMwOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQQiAqLworI2RlZmluZSBVRENEUkMgICAgICAgICAgX19SRUcoMHg0MDYwMDMwQykgLyogRGF0YSBSZWdpc3RlciAtIEVQQyAqLworI2RlZmluZSBVRENEUkQgICAgICAgICAgX19SRUcoMHg0MDYwMDMxMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRCAqLworI2RlZmluZSBVRENEUkUgICAgICAgICAgX19SRUcoMHg0MDYwMDMxNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRSAqLworI2RlZmluZSBVRENEUkYgICAgICAgICAgX19SRUcoMHg0MDYwMDMxOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQRiAqLworI2RlZmluZSBVRENEUkcgICAgICAgICAgX19SRUcoMHg0MDYwMDMxQykgLyogRGF0YSBSZWdpc3RlciAtIEVQRyAqLworI2RlZmluZSBVRENEUkggICAgICAgICAgX19SRUcoMHg0MDYwMDMyMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSCAqLworI2RlZmluZSBVRENEUkkgICAgICAgICAgX19SRUcoMHg0MDYwMDMyNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSSAqLworI2RlZmluZSBVRENEUkogICAgICAgICAgX19SRUcoMHg0MDYwMDMyOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQSiAqLworI2RlZmluZSBVRENEUksgICAgICAgICAgX19SRUcoMHg0MDYwMDMyQykgLyogRGF0YSBSZWdpc3RlciAtIEVQSyAqLworI2RlZmluZSBVRENEUkwgICAgICAgICAgX19SRUcoMHg0MDYwMDMzMCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTCAqLworI2RlZmluZSBVRENEUk0gICAgICAgICAgX19SRUcoMHg0MDYwMDMzNCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTSAqLworI2RlZmluZSBVRENEUk4gICAgICAgICAgX19SRUcoMHg0MDYwMDMzOCkgLyogRGF0YSBSZWdpc3RlciAtIEVQTiAqLworI2RlZmluZSBVRENEUlAgICAgICAgICAgX19SRUcoMHg0MDYwMDMzQykgLyogRGF0YSBSZWdpc3RlciAtIEVQUCAqLworI2RlZmluZSBVRENEUlEgICAgICAgICAgX19SRUcoMHg0MDYwMDM0MCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUSAqLworI2RlZmluZSBVRENEUlIgICAgICAgICAgX19SRUcoMHg0MDYwMDM0NCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUiAqLworI2RlZmluZSBVRENEUlMgICAgICAgICAgX19SRUcoMHg0MDYwMDM0OCkgLyogRGF0YSBSZWdpc3RlciAtIEVQUyAqLworI2RlZmluZSBVRENEUlQgICAgICAgICAgX19SRUcoMHg0MDYwMDM0QykgLyogRGF0YSBSZWdpc3RlciAtIEVQVCAqLworI2RlZmluZSBVRENEUlUgICAgICAgICAgX19SRUcoMHg0MDYwMDM1MCkgLyogRGF0YSBSZWdpc3RlciAtIEVQVSAqLworI2RlZmluZSBVRENEUlYgICAgICAgICAgX19SRUcoMHg0MDYwMDM1NCkgLyogRGF0YSBSZWdpc3RlciAtIEVQViAqLworI2RlZmluZSBVRENEUlcgICAgICAgICAgX19SRUcoMHg0MDYwMDM1OCkgLyogRGF0YSBSZWdpc3RlciAtIEVQVyAqLworI2RlZmluZSBVRENEUlggICAgICAgICAgX19SRUcoMHg0MDYwMDM1QykgLyogRGF0YSBSZWdpc3RlciAtIEVQWCAqLworCisjZGVmaW5lIFVEQ0NOKHgpICAgICAgIF9fUkVHMigweDQwNjAwNDAwLCAoeCk8PDIpCisjZGVmaW5lIFVEQ0NSQSAgICAgICAgICBfX1JFRygweDQwNjAwNDA0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQQSAqLworI2RlZmluZSBVRENDUkIgICAgICAgICAgX19SRUcoMHg0MDYwMDQwOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEIgKi8KKyNkZWZpbmUgVURDQ1JDICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MEMpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBDICovCisjZGVmaW5lIFVEQ0NSRCAgICAgICAgICBfX1JFRygweDQwNjAwNDEwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRCAqLworI2RlZmluZSBVRENDUkUgICAgICAgICAgX19SRUcoMHg0MDYwMDQxNCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEUgKi8KKyNkZWZpbmUgVURDQ1JGICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MTgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBGICovCisjZGVmaW5lIFVEQ0NSRyAgICAgICAgICBfX1JFRygweDQwNjAwNDFDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQRyAqLworI2RlZmluZSBVRENDUkggICAgICAgICAgX19SRUcoMHg0MDYwMDQyMCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEggKi8KKyNkZWZpbmUgVURDQ1JJICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MjQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBJICovCisjZGVmaW5lIFVEQ0NSSiAgICAgICAgICBfX1JFRygweDQwNjAwNDI4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQSiAqLworI2RlZmluZSBVRENDUksgICAgICAgICAgX19SRUcoMHg0MDYwMDQyQykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUEsgKi8KKyNkZWZpbmUgVURDQ1JMICAgICAgICAgIF9fUkVHKDB4NDA2MDA0MzApIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBMICovCisjZGVmaW5lIFVEQ0NSTSAgICAgICAgICBfX1JFRygweDQwNjAwNDM0KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQTSAqLworI2RlZmluZSBVRENDUk4gICAgICAgICAgX19SRUcoMHg0MDYwMDQzOCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUE4gKi8KKyNkZWZpbmUgVURDQ1JQICAgICAgICAgIF9fUkVHKDB4NDA2MDA0M0MpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBQICovCisjZGVmaW5lIFVEQ0NSUSAgICAgICAgICBfX1JFRygweDQwNjAwNDQwKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQUSAqLworI2RlZmluZSBVRENDUlIgICAgICAgICAgX19SRUcoMHg0MDYwMDQ0NCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFIgKi8KKyNkZWZpbmUgVURDQ1JTICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NDgpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBTICovCisjZGVmaW5lIFVEQ0NSVCAgICAgICAgICBfX1JFRygweDQwNjAwNDRDKSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVCAqLworI2RlZmluZSBVRENDUlUgICAgICAgICAgX19SRUcoMHg0MDYwMDQ1MCkgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFUgKi8KKyNkZWZpbmUgVURDQ1JWICAgICAgICAgIF9fUkVHKDB4NDA2MDA0NTQpIC8qIENvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgRVBWICovCisjZGVmaW5lIFVEQ0NSVyAgICAgICAgICBfX1JFRygweDQwNjAwNDU4KSAvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyIEVQVyAqLworI2RlZmluZSBVRENDUlggICAgICAgICAgX19SRUcoMHg0MDYwMDQ1QykgLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciBFUFggKi8KKworI2RlZmluZSBVRENDT05SX0NOCSgweDAzIDw8IDI1KQkvKiBDb25maWd1cmF0aW9uIE51bWJlciAqLworI2RlZmluZSBVRENDT05SX0NOX1MJKDI1KQorI2RlZmluZSBVRENDT05SX0lOCSgweDA3IDw8IDIyKQkvKiBJbnRlcmZhY2UgTnVtYmVyICovCisjZGVmaW5lIFVEQ0NPTlJfSU5fUwkoMjIpCisjZGVmaW5lIFVEQ0NPTlJfQUlTTgkoMHgwNyA8PCAxOSkJLyogQWx0ZXJuYXRlIEludGVyZmFjZSBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9BSVNOX1MJKDE5KQorI2RlZmluZSBVRENDT05SX0VOCSgweDBmIDw8IDE1KQkvKiBFbmRwb2ludCBOdW1iZXIgKi8KKyNkZWZpbmUgVURDQ09OUl9FTl9TCSgxNSkKKyNkZWZpbmUgVURDQ09OUl9FVAkoMHgwMyA8PCAxMykJLyogRW5kcG9pbnQgVHlwZTogKi8KKyNkZWZpbmUgVURDQ09OUl9FVF9TCSgxMykKKyNkZWZpbmUgVURDQ09OUl9FVF9JTlQJKDB4MDMgPDwgMTMpCS8qICAgSW50ZXJydXB0ICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfQlVMSwkoMHgwMiA8PCAxMykJLyogICBCdWxrICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfSVNPCSgweDAxIDw8IDEzKQkvKiAgIElzb2Nocm9ub3VzICovCisjZGVmaW5lIFVEQ0NPTlJfRVRfTlUJKDB4MDAgPDwgMTMpCS8qICAgTm90IHVzZWQgKi8KKyNkZWZpbmUgVURDQ09OUl9FRAkoMSA8PCAxMikJLyogRW5kcG9pbnQgRGlyZWN0aW9uICovCisjZGVmaW5lIFVEQ0NPTlJfTVBTCSgweDNmZiA8PCAyKQkvKiBNYXhpbXVtIFBhY2tldCBTaXplICovCisjZGVmaW5lIFVEQ0NPTlJfTVBTX1MJKDIpCisjZGVmaW5lIFVEQ0NPTlJfREUJKDEgPDwgMSkJLyogRG91YmxlIEJ1ZmZlcmluZyBFbmFibGUgKi8KKyNkZWZpbmUgVURDQ09OUl9FRQkoMSA8PCAwKQkvKiBFbmRwb2ludCBFbmFibGUgKi8KKworCisjZGVmaW5lIFVEQ19JTlRfRklGT0VSUk9SICAoMHgyKQorI2RlZmluZSBVRENfSU5UX1BBQ0tFVENNUCAgKDB4MSkKKworI2RlZmluZSBVRENfRk5SX01BU0sgICAgICgweDdmZikKKworI2RlZmluZSBVRENDU1JfV1JfTUFTSyAgIChVRENDU1JfRE1FfFVEQ0NTUl9GU1QpCisjZGVmaW5lIFVEQ19CQ1JfTUFTSyAgICAoMHgzZmYpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaAppbmRleCBiODFjZDYzLi42ZWYxZGQwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvcHhhMnh4LWdwaW8uaApAQCAtMSw2ICsxLDggQEAKICNpZm5kZWYgX19BU01fQVJDSF9QWEEyWFhfR1BJT19ICiAjZGVmaW5lIF9fQVNNX0FSQ0hfUFhBMlhYX0dQSU9fSAogCisjd2FybmluZyBQbGVhc2UgdXNlIG1mcC1weGEyWzU3XXguaCBpbnN0ZWFkIG9mIHB4YTJ4eC1ncGlvLmgKKwogLyogR1BJTyBhbHRlcm5hdGUgZnVuY3Rpb24gYXNzaWdubWVudHMgKi8KIAogI2RlZmluZSBHUElPMV9SU1QJCTEJLyogcmVzZXQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9weGEyeHgtcmVncy5oIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKaW5kZXggOTU1M2I1NC4uNzNlMGEzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3B4YTJ4eC1yZWdzLmgKQEAgLTgxLDQgKzgxLDE2NiBAQAogCiAjZW5kaWYKIAorCisvKgorICogUG93ZXIgTWFuYWdlcgorICovCisKKyNkZWZpbmUgUE1DUgkJX19SRUcoMHg0MEYwMDAwMCkgIC8qIFBvd2VyIE1hbmFnZXIgQ29udHJvbCBSZWdpc3RlciAqLworI2RlZmluZSBQU1NSCQlfX1JFRygweDQwRjAwMDA0KSAgLyogUG93ZXIgTWFuYWdlciBTbGVlcCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNQUgkJX19SRUcoMHg0MEYwMDAwOCkgIC8qIFBvd2VyIE1hbmFnZXIgU2NyYXRjaCBQYWQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFdFUgkJX19SRUcoMHg0MEYwMDAwQykgIC8qIFBvd2VyIE1hbmFnZXIgV2FrZS11cCBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFJFUgkJX19SRUcoMHg0MEYwMDAxMCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBSaXNpbmctRWRnZSBEZXRlY3QgRW5hYmxlIFJlZ2lzdGVyICovCisjZGVmaW5lIFBGRVIJCV9fUkVHKDB4NDBGMDAwMTQpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gRmFsbGluZy1FZGdlIERldGVjdCBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUEVEUgkJX19SRUcoMHg0MEYwMDAxOCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBFZGdlIERldGVjdCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUENGUgkJX19SRUcoMHg0MEYwMDAxQykgIC8qIFBvd2VyIE1hbmFnZXIgR2VuZXJhbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCisjZGVmaW5lIFBHU1IwCQlfX1JFRygweDQwRjAwMDIwKSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFszMS0wXSAqLworI2RlZmluZSBQR1NSMQkJX19SRUcoMHg0MEYwMDAyNCkgIC8qIFBvd2VyIE1hbmFnZXIgR1BJTyBTbGVlcCBTdGF0ZSBSZWdpc3RlciBmb3IgR1BbNjMtMzJdICovCisjZGVmaW5lIFBHU1IyCQlfX1JFRygweDQwRjAwMDI4KSAgLyogUG93ZXIgTWFuYWdlciBHUElPIFNsZWVwIFN0YXRlIFJlZ2lzdGVyIGZvciBHUFs4NC02NF0gKi8KKyNkZWZpbmUgUEdTUjMJCV9fUkVHKDB4NDBGMDAwMkMpICAvKiBQb3dlciBNYW5hZ2VyIEdQSU8gU2xlZXAgU3RhdGUgUmVnaXN0ZXIgZm9yIEdQWzExOC05Nl0gKi8KKyNkZWZpbmUgUkNTUgkJX19SRUcoMHg0MEYwMDAzMCkgIC8qIFJlc2V0IENvbnRyb2xsZXIgU3RhdHVzIFJlZ2lzdGVyICovCisKKyNkZWZpbmUgUFNMUgkJX19SRUcoMHg0MEYwMDAzNCkJLyogUG93ZXIgTWFuYWdlciBTbGVlcCBDb25maWcgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgUFNUUgkJX19SRUcoMHg0MEYwMDAzOCkJLyogUG93ZXIgTWFuYWdlciBTdGFuZGJ5IENvbmZpZyBSZWdpc3RlciAqLworI2RlZmluZSBQU05SCQlfX1JFRygweDQwRjAwMDNDKQkvKiBQb3dlciBNYW5hZ2VyIFNlbnNlIENvbmZpZyBSZWdpc3RlciAqLworI2RlZmluZSBQVkNSCQlfX1JFRygweDQwRjAwMDQwKQkvKiBQb3dlciBNYW5hZ2VyIFZvbHRhZ2VDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIFBLV1IJCV9fUkVHKDB4NDBGMDAwNTApCS8qIFBvd2VyIE1hbmFnZXIgS0IgV2FrZS11cCBFbmFibGUgUmVnICovCisjZGVmaW5lIFBLU1IJCV9fUkVHKDB4NDBGMDAwNTQpCS8qIFBvd2VyIE1hbmFnZXIgS0IgTGV2ZWwtRGV0ZWN0IFJlZ2lzdGVyICovCisjZGVmaW5lIFBDTUQoeCkJX19SRUcyKDB4NDBGMDAwODAsICh4KTw8MikKKyNkZWZpbmUgUENNRDAJX19SRUcoMHg0MEYwMDA4MCArIDAgKiA0KQorI2RlZmluZSBQQ01EMQlfX1JFRygweDQwRjAwMDgwICsgMSAqIDQpCisjZGVmaW5lIFBDTUQyCV9fUkVHKDB4NDBGMDAwODAgKyAyICogNCkKKyNkZWZpbmUgUENNRDMJX19SRUcoMHg0MEYwMDA4MCArIDMgKiA0KQorI2RlZmluZSBQQ01ENAlfX1JFRygweDQwRjAwMDgwICsgNCAqIDQpCisjZGVmaW5lIFBDTUQ1CV9fUkVHKDB4NDBGMDAwODAgKyA1ICogNCkKKyNkZWZpbmUgUENNRDYJX19SRUcoMHg0MEYwMDA4MCArIDYgKiA0KQorI2RlZmluZSBQQ01ENwlfX1JFRygweDQwRjAwMDgwICsgNyAqIDQpCisjZGVmaW5lIFBDTUQ4CV9fUkVHKDB4NDBGMDAwODAgKyA4ICogNCkKKyNkZWZpbmUgUENNRDkJX19SRUcoMHg0MEYwMDA4MCArIDkgKiA0KQorI2RlZmluZSBQQ01EMTAJX19SRUcoMHg0MEYwMDA4MCArIDEwICogNCkKKyNkZWZpbmUgUENNRDExCV9fUkVHKDB4NDBGMDAwODAgKyAxMSAqIDQpCisjZGVmaW5lIFBDTUQxMglfX1JFRygweDQwRjAwMDgwICsgMTIgKiA0KQorI2RlZmluZSBQQ01EMTMJX19SRUcoMHg0MEYwMDA4MCArIDEzICogNCkKKyNkZWZpbmUgUENNRDE0CV9fUkVHKDB4NDBGMDAwODAgKyAxNCAqIDQpCisjZGVmaW5lIFBDTUQxNQlfX1JFRygweDQwRjAwMDgwICsgMTUgKiA0KQorI2RlZmluZSBQQ01EMTYJX19SRUcoMHg0MEYwMDA4MCArIDE2ICogNCkKKyNkZWZpbmUgUENNRDE3CV9fUkVHKDB4NDBGMDAwODAgKyAxNyAqIDQpCisjZGVmaW5lIFBDTUQxOAlfX1JFRygweDQwRjAwMDgwICsgMTggKiA0KQorI2RlZmluZSBQQ01EMTkJX19SRUcoMHg0MEYwMDA4MCArIDE5ICogNCkKKyNkZWZpbmUgUENNRDIwCV9fUkVHKDB4NDBGMDAwODAgKyAyMCAqIDQpCisjZGVmaW5lIFBDTUQyMQlfX1JFRygweDQwRjAwMDgwICsgMjEgKiA0KQorI2RlZmluZSBQQ01EMjIJX19SRUcoMHg0MEYwMDA4MCArIDIyICogNCkKKyNkZWZpbmUgUENNRDIzCV9fUkVHKDB4NDBGMDAwODAgKyAyMyAqIDQpCisjZGVmaW5lIFBDTUQyNAlfX1JFRygweDQwRjAwMDgwICsgMjQgKiA0KQorI2RlZmluZSBQQ01EMjUJX19SRUcoMHg0MEYwMDA4MCArIDI1ICogNCkKKyNkZWZpbmUgUENNRDI2CV9fUkVHKDB4NDBGMDAwODAgKyAyNiAqIDQpCisjZGVmaW5lIFBDTUQyNwlfX1JFRygweDQwRjAwMDgwICsgMjcgKiA0KQorI2RlZmluZSBQQ01EMjgJX19SRUcoMHg0MEYwMDA4MCArIDI4ICogNCkKKyNkZWZpbmUgUENNRDI5CV9fUkVHKDB4NDBGMDAwODAgKyAyOSAqIDQpCisjZGVmaW5lIFBDTUQzMAlfX1JFRygweDQwRjAwMDgwICsgMzAgKiA0KQorI2RlZmluZSBQQ01EMzEJX19SRUcoMHg0MEYwMDA4MCArIDMxICogNCkKKworI2RlZmluZSBQQ01EX01CQwkoMTw8MTIpCisjZGVmaW5lIFBDTURfRENFCSgxPDwxMSkKKyNkZWZpbmUgUENNRF9MQwkoMTw8MTApCisvKiBGSVhNRTogIFBDTURfU1FDIG5lZWQgYmUgY2hlY2tlZC4gICAqLworI2RlZmluZSBQQ01EX1NRQwkoMzw8OCkJLyogY3VycmVudGx5IG9ubHkgYml0IDggaXMgY2hhbmdlYWJsZSwKKwkJCQkgICBiaXQgOSBzaG91bGQgYmUgMCBhbGwgZGF5LiAqLworI2RlZmluZSBQVkNSX1ZDU0EJKDB4MTw8MTQpCisjZGVmaW5lIFBWQ1JfQ29tbWFuZERlbGF5ICgweGY4MCkKKyNkZWZpbmUgUENGUl9QSTJDX0VOCSgweDEgPDwgNikKKworI2RlZmluZSBQU1NSX09UR1BICSgxIDw8IDYpCS8qIE9URyBQZXJpcGhlcmFsIGNvbnRyb2wgSG9sZCAqLworI2RlZmluZSBQU1NSX1JESAkoMSA8PCA1KQkvKiBSZWFkIERpc2FibGUgSG9sZCAqLworI2RlZmluZSBQU1NSX1BICQkoMSA8PCA0KQkvKiBQZXJpcGhlcmFsIENvbnRyb2wgSG9sZCAqLworI2RlZmluZSBQU1NSX1NUUwkoMSA8PCAzKQkvKiBTdGFuZGJ5IE1vZGUgU3RhdHVzICovCisjZGVmaW5lIFBTU1JfVkZTCSgxIDw8IDIpCS8qIFZERCBGYXVsdCBTdGF0dXMgKi8KKyNkZWZpbmUgUFNTUl9CRlMJKDEgPDwgMSkJLyogQmF0dGVyeSBGYXVsdCBTdGF0dXMgKi8KKyNkZWZpbmUgUFNTUl9TU1MJKDEgPDwgMCkJLyogU29mdHdhcmUgU2xlZXAgU3RhdHVzICovCisKKyNkZWZpbmUgUFNMUl9TTF9ST0QJKDEgPDwgMjApCS8qIFNsZWVwLU1vZGUvRGVwcC1TbGVlcCBNb2RlIG5SRVNFVF9PVVQgRGlzYWJsZSAqLworCisjZGVmaW5lIFBDRlJfUk8JCSgxIDw8IDE1KQkvKiBSREggT3ZlcnJpZGUgKi8KKyNkZWZpbmUgUENGUl9QTwkJKDEgPDwgMTQpCS8qIFBIIE92ZXJyaWRlICovCisjZGVmaW5lIFBDRlJfR1BST0QJKDEgPDwgMTIpCS8qIEdQSU8gblJFU0VUX09VVCBEaXNhYmxlICovCisjZGVmaW5lIFBDRlJfTDFfRU4JKDEgPDwgMTEpCS8qIFNsZWVwIE1vZGUgTDEgY29udmVydGVyIEVuYWJsZSAqLworI2RlZmluZSBQQ0ZSX0ZWQwkoMSA8PCAxMCkJLyogRnJlcXVlbmN5L1ZvbHRhZ2UgQ2hhbmdlICovCisjZGVmaW5lIFBDRlJfRENfRU4JKDEgPDwgNykJLyogU2xlZXAvZGVlcC1zbGVlcCBEQy1EQyBDb252ZXJ0ZXIgRW5hYmxlICovCisjZGVmaW5lIFBDRlJfUEkyQ0VOCSgxIDw8IDYpCS8qIEVuYWJsZSBQSTJDIGNvbnRyb2xsZXIgKi8KKyNkZWZpbmUgUENGUl9HUFJfRU4JKDEgPDwgNCkJLyogblJFU0VUX0dQSU8gUGluIEVuYWJsZSAqLworI2RlZmluZSBQQ0ZSX0RTCQkoMSA8PCAzKQkvKiBEZWVwIFNsZWVwIE1vZGUgKi8KKyNkZWZpbmUgUENGUl9GUwkJKDEgPDwgMikJLyogRmxvYXQgU3RhdGljIENoaXAgU2VsZWN0cyAqLworI2RlZmluZSBQQ0ZSX0ZQCQkoMSA8PCAxKQkvKiBGbG9hdCBQQ01DSUEgY29udHJvbHMgKi8KKyNkZWZpbmUgUENGUl9PUERFCSgxIDw8IDApCS8qIDMuNjg2NCBNSHogb3NjaWxsYXRvciBwb3dlci1kb3duIGVuYWJsZSAqLworCisjZGVmaW5lIFJDU1JfR1BSCSgxIDw8IDMpCS8qIEdQSU8gUmVzZXQgKi8KKyNkZWZpbmUgUkNTUl9TTVIJKDEgPDwgMikJLyogU2xlZXAgTW9kZSAqLworI2RlZmluZSBSQ1NSX1dEUgkoMSA8PCAxKQkvKiBXYXRjaGRvZyBSZXNldCAqLworI2RlZmluZSBSQ1NSX0hXUgkoMSA8PCAwKQkvKiBIYXJkd2FyZSBSZXNldCAqLworCisjZGVmaW5lIFBXRVJfR1BJTyhOYikJKDEgPDwgTmIpCS8qIEdQSU8gWzAuLjE1XSB3YWtlLXVwIGVuYWJsZSAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMAlQV0VSX0dQSU8gKDApCS8qIEdQSU8gIFswXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMQlQV0VSX0dQSU8gKDEpCS8qIEdQSU8gIFsxXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMglQV0VSX0dQSU8gKDIpCS8qIEdQSU8gIFsyXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMwlQV0VSX0dQSU8gKDMpCS8qIEdQSU8gIFszXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNAlQV0VSX0dQSU8gKDQpCS8qIEdQSU8gIFs0XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNQlQV0VSX0dQSU8gKDUpCS8qIEdQSU8gIFs1XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNglQV0VSX0dQSU8gKDYpCS8qIEdQSU8gIFs2XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPNwlQV0VSX0dQSU8gKDcpCS8qIEdQSU8gIFs3XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPOAlQV0VSX0dQSU8gKDgpCS8qIEdQSU8gIFs4XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPOQlQV0VSX0dQSU8gKDkpCS8qIEdQSU8gIFs5XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTAJUFdFUl9HUElPICgxMCkJLyogR1BJTyBbMTBdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xMQlQV0VSX0dQSU8gKDExKQkvKiBHUElPIFsxMV0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzEyCVBXRVJfR1BJTyAoMTIpCS8qIEdQSU8gWzEyXSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9HUElPMTMJUFdFUl9HUElPICgxMykJLyogR1BJTyBbMTNdIHdha2UtdXAgZW5hYmxlICAgICAgICAqLworI2RlZmluZSBQV0VSX0dQSU8xNAlQV0VSX0dQSU8gKDE0KQkvKiBHUElPIFsxNF0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisjZGVmaW5lIFBXRVJfR1BJTzE1CVBXRVJfR1BJTyAoMTUpCS8qIEdQSU8gWzE1XSB3YWtlLXVwIGVuYWJsZSAgICAgICAgKi8KKyNkZWZpbmUgUFdFUl9SVEMJMHg4MDAwMDAwMAkvKiBSVEMgYWxhcm0gd2FrZS11cCBlbmFibGUgICAgICAgICovCisKKy8qCisgKiBQWEEyeHggc3BlY2lmaWMgQ29yZSBjbG9jayBkZWZpbml0aW9ucworICovCisjZGVmaW5lIENDQ1IJCV9fUkVHKDB4NDEzMDAwMDApICAvKiBDb3JlIENsb2NrIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8KKyNkZWZpbmUgQ0NTUgkJX19SRUcoMHg0MTMwMDAwQykgIC8qIENvcmUgQ2xvY2sgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIENLRU4JCV9fUkVHKDB4NDEzMDAwMDQpICAvKiBDbG9jayBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgT1NDQwkJX19SRUcoMHg0MTMwMDAwOCkgIC8qIE9zY2lsbGF0b3IgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLworCisjZGVmaW5lIENDQ1JfTl9NQVNLCTB4MDM4MAkvKiBSdW4gTW9kZSBGcmVxdWVuY3kgdG8gVHVyYm8gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLworI2RlZmluZSBDQ0NSX01fTUFTSwkweDAwNjAJLyogTWVtb3J5IEZyZXF1ZW5jeSB0byBSdW4gTW9kZSBGcmVxdWVuY3kgTXVsdGlwbGllciAqLworI2RlZmluZSBDQ0NSX0xfTUFTSwkweDAwMWYJLyogQ3J5c3RhbCBGcmVxdWVuY3kgdG8gTWVtb3J5IEZyZXF1ZW5jeSBNdWx0aXBsaWVyICovCisKKyNkZWZpbmUgQ0tFTl9BQzk3Q09ORiAgICgzMSkgICAgLyogQUM5NyBDb250cm9sbGVyIENvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgQ0tFTl9DQU1FUkEJKDI0KQkvKiBDYW1lcmEgSW50ZXJmYWNlIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NTUDEJKDIzKQkvKiBTU1AxIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fTUVNQwkoMjIpCS8qIE1lbW9yeSBDb250cm9sbGVyIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01FTVNUSwkoMjEpCS8qIE1lbW9yeSBTdGljayBIb3N0IENvbnRyb2xsZXIgKi8KKyNkZWZpbmUgQ0tFTl9JTQkJKDIwKQkvKiBJbnRlcm5hbCBNZW1vcnkgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fS0VZUEFECSgxOSkJLyogS2V5cGFkIEludGVyZmFjZSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9VU0lNCSgxOCkJLyogVVNJTSBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01TTAkoMTcpCS8qIE1TTCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0xDRAkoMTYpCS8qIExDRCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1BXUkkyQwkoMTUpCS8qIFBXUiBJMkMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9JMkMJKDE0KQkvKiBJMkMgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9GSUNQCSgxMykJLyogRklDUCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX01NQwkoMTIpCS8qIE1NQyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1VTQgkoMTEpCS8qIFVTQiBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0FTU1AJKDEwKQkvKiBBU1NQIChTU1AzKSBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9VU0JIT1NUCSgxMCkJLyogVVNCIEhvc3QgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9PU1RJTUVSCSg5KQkvKiBPUyBUaW1lciBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX05TU1AJKDkpCS8qIE5TU1AgKFNTUDIpIENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX0kyUwkoOCkJLyogSTJTIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fQlRVQVJUCSg3KQkvKiBCVFVBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9GRlVBUlQJKDYpCS8qIEZGVUFSVCBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1NUVUFSVAkoNSkJLyogU1RVQVJUIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fSFdVQVJUCSg0KQkvKiBIV1VBUlQgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AzCSg0KQkvKiBTU1AzIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fU1NQCSgzKQkvKiBTU1AgVW5pdCBDbG9jayBFbmFibGUgKi8KKyNkZWZpbmUgQ0tFTl9TU1AyCSgzKQkvKiBTU1AyIFVuaXQgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fQUM5NwkoMikJLyogQUM5NyBVbml0IENsb2NrIEVuYWJsZSAqLworI2RlZmluZSBDS0VOX1BXTTEJKDEpCS8qIFBXTTEgQ2xvY2sgRW5hYmxlICovCisjZGVmaW5lIENLRU5fUFdNMAkoMCkJLyogUFdNMCBDbG9jayBFbmFibGUgKi8KKworI2RlZmluZSBPU0NDX09PTgkoMSA8PCAxKQkvKiAzMi43NjhrSHogT09OICh3cml0ZS1vbmNlIG9ubHkgYml0KSAqLworI2RlZmluZSBPU0NDX09PSwkoMSA8PCAwKQkvKiAzMi43NjhrSHogT09LIChyZWFkLW9ubHkgYml0KSAqLworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXB4YS9zeXN0ZW0uaAppbmRleCA5YWE2YzJlLi5iYTdlMTMyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvc3lzdGVtLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3N5c3RlbS5oCkBAIC0xMiw2ICsxMiw3IEBACiAKICNpbmNsdWRlIDxhc20vcHJvYy1mbnMuaD4KICNpbmNsdWRlICJoYXJkd2FyZS5oIgorI2luY2x1ZGUgInB4YTJ4eC1yZWdzLmgiCiAjaW5jbHVkZSAicHhhLXJlZ3MuaCIKIAogc3RhdGljIGlubGluZSB2b2lkIGFyY2hfaWRsZSh2b2lkKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcHhhL3p5bG9uaXRlLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaAppbmRleCA0ODgxYjgwLi5kZTU3N2RlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1weGEvenlsb25pdGUuaApAQCAtMTUsNyArMTUsNiBAQAogCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX21tY19zbG90IHp5bG9uaXRlX21tY19zbG90W107CiAKLWV4dGVybiBpbnQgZ3Bpb19iYWNrbGlnaHQ7CiBleHRlcm4gaW50IGdwaW9fZXRoX2lycTsKIAogZXh0ZXJuIGludCB3bTk3MTNfaXJxOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2FyY2gtcnBjL2lvLmggYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaAppbmRleCBiNGRhMDhkLi42YmQyMjk1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1ycGMvaW8uaApAQCAtMTI2LDcgKzEyNiw3IEBACiAJcmV0dXJuICh1bnNpZ25lZCBzeil2YWx1ZTsJCQkJCQlcCiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2lvYWRkcih1bnNpZ25lZCBpbnQgcG9ydCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2lvbWVtICpfX2RlcHJlY2F0ZWQgX19pb2FkZHIodW5zaWduZWQgaW50IHBvcnQpCiB7CiAJdm9pZCBfX2lvbWVtICpyZXQ7CiAJaWYgKF9fUE9SVF9QQ0lPKHBvcnQpKQpAQCAtMjMyLDggKzIzMiw3IEBACiAJcmVzdWx0OwkJCQkJCQkJCVwKIH0pCiAKLSNkZWZpbmUgX19pb2FkZHJjKHBvcnQpCQlcCi0JKChfX1BPUlRfUENJTyhwb3J0KSA/IFBDSU9fQkFTRSA6IElPX0JBU0UpICsgKChwb3J0KSA8PCAyKSkKKyNkZWZpbmUgX19pb2FkZHJjKHBvcnQpCQlfX2lvYWRkcihwb3J0KQogCiAjZGVmaW5lIGluYihwKQkgCShfX2J1aWx0aW5fY29uc3RhbnRfcCgocCkpID8gX19pbmJjKHApICAgIDogX19pbmIocCkpCiAjZGVmaW5lIGludyhwKQkgCShfX2J1aWx0aW5fY29uc3RhbnRfcCgocCkpID8gX19pbndjKHApICAgIDogX19pbncocCkpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL2dwaW8uaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCmluZGV4IDc1ODM4OTUuLjE4ZTEwZDIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCkBAIC0xLDY4ICsxLDE4IEBACi0vKgotICogbGludXgvaW5jbHVkZS9hc20tYXJtL2FyY2gtczNjMjQxMC9ncGlvLmgKKy8qIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvZ3Bpby5oCiAgKgotICogUzNDMjQxMCBHUElPIHdyYXBwZXJzIGZvciBhcmNoLW5ldXRyYWwgR1BJTyBjYWxscworICogQ29weXJpZ2h0IChjKSAyMDA4IFNpbXRlYyBFbGVjdHJvbmljcworICoJaHR0cDovL2FybWxpbnV4LnNpbXRlYy5jby51ay8KKyAqCUJlbiBEb29rcyA8YmVuQHNpbXRlYy5jby51az4KICAqCi0gKiBXcml0dGVuIGJ5IFBoaWxpcHAgWmFiZWwgPHBoaWxpcHAuemFiZWxAZ21haWwuY29tPgorICogUzNDMjQxMCAtIEdQSU8gbGliIHN1cHBvcnQKICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCi0gKgotICovCisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisqLwogCi0jaWZuZGVmIF9fQVNNX0FSQ0hfUzNDMjQxMF9HUElPX0gKLSNkZWZpbmUgX19BU01fQVJDSF9TM0MyNDEwX0dQSU9fSAorI2RlZmluZSBncGlvX2dldF92YWx1ZQlfX2dwaW9fZ2V0X3ZhbHVlCisjZGVmaW5lIGdwaW9fc2V0X3ZhbHVlCV9fZ3Bpb19zZXRfdmFsdWUKKyNkZWZpbmUgZ3Bpb19jYW5zbGVlcAlfX2dwaW9fY2Fuc2xlZXAKIAotI2luY2x1ZGUgPGFzbS9pcnEuaD4KLSNpbmNsdWRlIDxhc20vaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9yZWdzLWdwaW8uaD4KLQotc3RhdGljIGlubGluZSBpbnQgZ3Bpb19yZXF1ZXN0KHVuc2lnbmVkIGdwaW8sIGNvbnN0IGNoYXIgKmxhYmVsKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZ3Bpb19mcmVlKHVuc2lnbmVkIGdwaW8pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBncGlvX2RpcmVjdGlvbl9pbnB1dCh1bnNpZ25lZCBncGlvKQotewotCXMzYzI0MTBfZ3Bpb19jZmdwaW4oZ3BpbywgUzNDMjQxMF9HUElPX0lOUFVUKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHVuc2lnbmVkIGdwaW8sIGludCB2YWx1ZSkKLXsKLQlzM2MyNDEwX2dwaW9fY2ZncGluKGdwaW8sIFMzQzI0MTBfR1BJT19PVVRQVVQpOwotCS8qIFJFVklTSVQgY2FuIHdlIHdyaXRlIHRoZSB2YWx1ZSBmaXJzdCwgdG8gYXZvaWQgZ2xpdGNoaW5nPyAqLwotCXMzYzI0MTBfZ3Bpb19zZXRwaW4oZ3BpbywgdmFsdWUpOwotCXJldHVybiAwOwotfQotCi0jZGVmaW5lIGdwaW9fZ2V0X3ZhbHVlKGdwaW8pCQlzM2MyNDEwX2dwaW9fZ2V0cGluKGdwaW8pCi0jZGVmaW5lIGdwaW9fc2V0X3ZhbHVlKGdwaW8sdmFsdWUpCXMzYzI0MTBfZ3Bpb19zZXRwaW4oZ3BpbywgdmFsdWUpCi0KLSNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CQkJLyogY2Fuc2xlZXAgd3JhcHBlcnMgKi8KLQotI2lmZGVmIENPTkZJR19DUFVfUzNDMjQwMAotI2RlZmluZSBncGlvX3RvX2lycShncGlvKQkJczNjMjQwMF9ncGlvX2dldGlycShncGlvKQotI2Vsc2UKLSNkZWZpbmUgZ3Bpb190b19pcnEoZ3BpbykJCXMzYzI0MTBfZ3Bpb19nZXRpcnEoZ3BpbykKLSNlbmRpZgotCi0vKiBGSVhNRSBpbXBsZW1lbnQgaXJxX3RvX2dwaW8oKSAqLwotCi0jZW5kaWYKKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9ncGlvLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1zM2MyNDEwL3JlZ3MtY2xvY2suaCBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oCmluZGV4IGVjYWU5ZTcuLjM3NjYxMzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hcmNoLXMzYzI0MTAvcmVncy1jbG9jay5oCkBAIC0xODksNiArMTg5LDggQEAKICNkZWZpbmUgUzNDMjQxMl9DTEtTUkNfSTJTQ0xLX01QTEwJCSgxPDw5KQogI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19VU0JDTEtfSENMSwkJKDE8PDEwKQogI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19DQU1DTEtfSENMSwkJKDE8PDExKQorI2RlZmluZSBTM0MyNDEyX0NMS1NSQ19VUkVGQ0xLX0VYVENMSwkoMTw8MTIpCisjZGVmaW5lIFMzQzI0MTJfQ0xLU1JDX0VSRUZDTEtfRVhUQ0xLCSgxPDwxNCkKIAogI2VuZGlmIC8qIENPTkZJR19DUFVfUzNDMjQxMiB8IENPTkZJR19DUFVfUzNDMjQxMyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmggYi9pbmNsdWRlL2FzbS1hcm0vYXNzZW1ibGVyLmgKaW5kZXggZmNlODMyOC4uOTExMzkzYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2Fzc2VtYmxlci5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9hc3NlbWJsZXIuaApAQCAtNTYsNiArNTYsMjEgQEAKICNlbmRpZgogCiAvKgorICogVGhpcyBjYW4gYmUgdXNlZCB0byBlbmFibGUgY29kZSB0byBjYWNoZWxpbmUgYWxpZ24gdGhlIGRlc3RpbmF0aW9uCisgKiBwb2ludGVyIHdoZW4gYnVsayB3cml0aW5nIHRvIG1lbW9yeS4gIEV4cGVyaW1lbnRzIG9uIFN0cm9uZ0FSTSBhbmQKKyAqIFhTY2FsZSBkaWRuJ3Qgc2hvdyB0aGlzIGEgd29ydGh3aGlsZSB0aGluZyB0byBkbyB3aGVuIHRoZSBjYWNoZSBpcyBub3QKKyAqIHNldCB0byB3cml0ZS1hbGxvY2F0ZSAodGhpcyB3b3VsZCBuZWVkIGZ1cnRoZXIgdGVzdGluZyBvbiBYU2NhbGUgd2hlbiBXQQorICogaXMgdXNlZCkuCisgKgorICogT24gRmVyb2Nlb24gdGhlcmUgaXMgbXVjaCB0byBnYWluIGhvd2V2ZXIsIHJlZ2FyZGxlc3Mgb2YgY2FjaGUgbW9kZS4KKyAqLworI2lmZGVmIENPTkZJR19DUFVfRkVST0NFT04KKyNkZWZpbmUgQ0FMR04oY29kZS4uLikgY29kZQorI2Vsc2UKKyNkZWZpbmUgQ0FMR04oY29kZS4uLikKKyNlbmRpZgorCisvKgogICogRW5hYmxlIGFuZCBkaXNhYmxlIGludGVycnVwdHMKICAqLwogI2lmIF9fTElOVVhfQVJNX0FSQ0hfXyA+PSA2CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oIGIvaW5jbHVkZS9hc20tYXJtL2NhY2hlZmx1c2guaAppbmRleCA3NTlhOTdiLi43MGIwZmU3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vY2FjaGVmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9jYWNoZWZsdXNoLmgKQEAgLTk1LDExICs5NSw3IEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0NQVV9GRVJPQ0VPTikKLSMgaWZkZWYgX0NBQ0hFCi0jICBkZWZpbmUgTVVMVElfQ0FDSEUgMQotIyBlbHNlCi0jICBkZWZpbmUgX0NBQ0hFIGZlcm9jZW9uCi0jIGVuZGlmCisjIGRlZmluZSBNVUxUSV9DQUNIRSAxCiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX0NQVV9WNikKQEAgLTQxMCw2ICs0MDYsMTMgQEAKIAogZXh0ZXJuIHZvaWQgX19mbHVzaF9kY2FjaGVfcGFnZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgc3RydWN0IHBhZ2UgKnBhZ2UpOwogCitzdGF0aWMgaW5saW5lIHZvaWQgX19mbHVzaF9pY2FjaGVfYWxsKHZvaWQpCit7CisJYXNtKCJtY3IJcDE1LCAwLCAlMCwgYzcsIGM1LCAwCUAgaW52YWxpZGF0ZSBJLWNhY2hlXG4iCisJICAgIDoKKwkgICAgOiAiciIgKDApKTsKK30KKwogI2RlZmluZSBBUkNIX0hBU19GTFVTSF9BTk9OX1BBR0UKIHN0YXRpYyBpbmxpbmUgdm9pZCBmbHVzaF9hbm9uX3BhZ2Uoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJCQkgc3RydWN0IHBhZ2UgKnBhZ2UsIHVuc2lnbmVkIGxvbmcgdm1hZGRyKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2R5bnRpY2suaCBiL2luY2x1ZGUvYXNtLWFybS9keW50aWNrLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZmFiMmQuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2R5bnRpY2suaAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotI2lmbmRlZiBfQVNNQVJNX0RZTlRJQ0tfSAotI2RlZmluZSBfQVNNQVJNX0RZTlRJQ0tfSAotCi0jaW5jbHVkZSA8YXNtL21hY2gvdGltZS5oPgotCi0jZW5kaWYgLyogX0FTTUFSTV9EWU5USUNLX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9lY2FyZC5oIGIvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmgKaW5kZXggNjg0ZmUwNi4uNWUyMjg4MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2VjYXJkLmgKQEAgLTg1LDE5ICs4NSw2IEBACiAKICNkZWZpbmUgTUFYX0VDQVJEUwk5CiAKLXR5cGVkZWYgZW51bSB7CQkJCS8qIENhcmRzIGFkZHJlc3Mgc3BhY2UJCSovCi0JRUNBUkRfSU9DLAotCUVDQVJEX01FTUMsCi0JRUNBUkRfRUFTSQotfSBjYXJkX3R5cGVfdDsKLQotdHlwZWRlZiBlbnVtIHsJCQkJLyogU3BlZWQgZm9yIEVDQVJEX0lPQyBzcGFjZQkqLwotCUVDQVJEX1NMT1cJID0gMCwKLQlFQ0FSRF9NRURJVU0JID0gMSwKLQlFQ0FSRF9GQVNUCSA9IDIsCi0JRUNBUkRfU1lOQwkgPSAzCi19IGNhcmRfc3BlZWRfdDsKLQogc3RydWN0IGVjYXJkX2lkIHsJCQkvKiBDYXJkIElEIHN0cnVjdHVyZQkJKi8KIAl1bnNpZ25lZCBzaG9ydAltYW51ZmFjdHVyZXI7CiAJdW5zaWduZWQgc2hvcnQJcHJvZHVjdDsKQEAgLTE5MCwxNiArMTc3LDYgQEAKIH07CiAKIC8qCi0gKiBlY2FyZF9jbGFpbTogY2xhaW0gYW4gZXhwYW5zaW9uIGNhcmQgZW50cnkKLSAqLwotI2RlZmluZSBlY2FyZF9jbGFpbShlYykgKChlYyktPmNsYWltZWQgPSAxKQotCi0vKgotICogZWNhcmRfcmVsZWFzZTogcmVsZWFzZSBhbiBleHBhbnNpb24gY2FyZCBlbnRyeQotICovCi0jZGVmaW5lIGVjYXJkX3JlbGVhc2UoZWMpICgoZWMpLT5jbGFpbWVkID0gMCkKLQotLyoKICAqIFJlYWQgYSBjaHVuayBmcm9tIGFuIGV4cGFuc2lvbiBjYXJkCiAgKiBjZCA6IHdoZXJlIHRvIHB1dCByZWFkIGRhdGEKICAqIGVjIDogZXhwYW5zaW9uIGNhcmQgaW5mbyBzdHJ1Y3QKQEAgLTIwOSwxOCArMTg2LDYgQEAKIGV4dGVybiBpbnQgZWNhcmRfcmVhZGNodW5rIChzdHJ1Y3QgaW5fY2h1bmtfZGlyICpjZCwgc3RydWN0IGV4cGFuc2lvbl9jYXJkICplYywgaW50IGlkLCBpbnQgbnVtKTsKIAogLyoKLSAqIE9idGFpbiB0aGUgYWRkcmVzcyBvZiBhIGNhcmQuICBUaGlzIHJldHVybnMgdGhlICJvbGQgc3R5bGUiIGFkZHJlc3MKLSAqIGFuZCBzaG91bGQgbm8gbG9uZ2VyIGJlIHVzZWQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IF9fZGVwcmVjYXRlZAotZWNhcmRfYWRkcmVzcyhzdHJ1Y3QgZXhwYW5zaW9uX2NhcmQgKmVjLCBjYXJkX3R5cGVfdCB0eXBlLCBjYXJkX3NwZWVkX3Qgc3BlZWQpCi17Ci0JZXh0ZXJuIHVuc2lnbmVkIGludCBfX2VjYXJkX2FkZHJlc3Moc3RydWN0IGV4cGFuc2lvbl9jYXJkICosCi0JCQkJCSAgICBjYXJkX3R5cGVfdCwgY2FyZF9zcGVlZF90KTsKLQlyZXR1cm4gX19lY2FyZF9hZGRyZXNzKGVjLCB0eXBlLCBzcGVlZCk7Ci19Ci0KLS8qCiAgKiBSZXF1ZXN0IGFuZCByZWxlYXNlIGVjYXJkIHJlc291cmNlcwogICovCiBleHRlcm4gaW50IGVjYXJkX3JlcXVlc3RfcmVzb3VyY2VzKHN0cnVjdCBleHBhbnNpb25fY2FyZCAqZWMpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2Z0cmFjZS5oIGIvaW5jbHVkZS9hc20tYXJtL2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4NGVmOWEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vZnRyYWNlLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBfQVNNX0FSTV9GVFJBQ0UKKyNkZWZpbmUgX0FTTV9BUk1fRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKG1jb3VudCkpCisjZGVmaW5lIE1DT1VOVF9JTlNOX1NJWkUJNCAvKiBzaXplb2YgbWNvdW50IGNhbGwgKi8KKworI2lmbmRlZiBfX0FTU0VNQkxZX18KK2V4dGVybiB2b2lkIG1jb3VudCh2b2lkKTsKKyNlbmRpZgorCisjZW5kaWYKKworI2VuZGlmIC8qIF9BU01fQVJNX0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmggYi9pbmNsdWRlL2FzbS1hcm0vaGFyZHdhcmUvaW9wM3h4LWdwaW8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzkzMzFmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20tYXJtL2hhcmR3YXJlL2lvcDN4eC1ncGlvLmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIGxpbnV4L2luY2x1ZGUvYXNtLWFybS9oYXJkd2FyZS9pb3AzeHgtZ3Bpby5oCisgKgorICogSU9QM3h4IEdQSU8gd3JhcHBlcnMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDggQXJuYXVkIFBhdGFyZCA8YXJuYXVkLnBhdGFyZEBydHAtbmV0Lm9yZz4KKyAqIEJhc2VkIG9uIElYUDRYWCBncGlvLmggZmlsZQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKKyAqCisgKi8KKworI2lmbmRlZiBfX0FTTV9BUk1fSEFSRFdBUkVfSU9QM1hYX0dQSU9fSAorI2RlZmluZSBfX0FTTV9BUk1fSEFSRFdBUkVfSU9QM1hYX0dQSU9fSAorCisjaW5jbHVkZSA8YXNtL2hhcmR3YXJlLmg+CisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvZ3Bpby5oPgorCisjZGVmaW5lIElPUDNYWF9OX0dQSU9TCTgKKworc3RhdGljIGlubGluZSBpbnQgZ3Bpb19nZXRfdmFsdWUodW5zaWduZWQgZ3BpbykKK3sKKwlpZiAoZ3BpbyA+IElPUDNYWF9OX0dQSU9TKQorCQlyZXR1cm4gX19ncGlvX2dldF92YWx1ZShncGlvKTsKKworCXJldHVybiBncGlvX2xpbmVfZ2V0KGdwaW8pOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgZ3Bpb19zZXRfdmFsdWUodW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKQoreworCWlmIChncGlvID4gSU9QM1hYX05fR1BJT1MpIHsKKwkJX19ncGlvX3NldF92YWx1ZShncGlvLCB2YWx1ZSk7CisJCXJldHVybjsKKwl9CisJZ3Bpb19saW5lX3NldChncGlvLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdwaW9fY2Fuc2xlZXAodW5zaWduZWQgZ3BpbykKK3sKKwlpZiAoZ3BpbyA8IElPUDNYWF9OX0dQSU9TKQorCQlyZXR1cm4gMDsKKwllbHNlCisJCXJldHVybiBfX2dwaW9fY2Fuc2xlZXAoZ3Bpbyk7Cit9CisKKy8qCisgKiBUaGUgR1BJT3MgYXJlIG5vdCBnZW5lcmF0aW5nIGFueSBpbnRlcnJ1cHQKKyAqIE5vdGUgOiBtYW51YWxzIGFyZSBub3QgY2xlYXIgYWJvdXQgdGhpcworICovCitzdGF0aWMgaW5saW5lIGludCBncGlvX3RvX2lycShpbnQgZ3BpbykKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGlubGluZSBpbnQgaXJxX3RvX2dwaW8oaW50IGdwaW8pCit7CisJcmV0dXJuIC1FSU5WQUw7Cit9CisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmggYi9pbmNsdWRlL2FzbS1hcm0vaHdfaXJxLmgKaW5kZXggOThkNTk0YS4uZjFhMDhhNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL2h3X2lycS5oCisrKyBiL2luY2x1ZGUvYXNtLWFybS9od19pcnEuaApAQCAtNiwxNSArNiw0IEBACiAKICNpbmNsdWRlIDxhc20vbWFjaC9pcnEuaD4KIAotI2lmIGRlZmluZWQoQ09ORklHX05PX0lETEVfSFopCi0jIGluY2x1ZGUgPGFzbS9keW50aWNrLmg+Ci0jIGRlZmluZSBoYW5kbGVfZHluYW1pY190aWNrKGFjdGlvbikJCQkJCVwKLQlpZiAoIShhY3Rpb24tPmZsYWdzICYgSVJRRl9USU1FUikgJiYgc3lzdGVtX3RpbWVyLT5keW5fdGljaykgewlcCi0JCXdyaXRlX3NlcWxvY2soJnh0aW1lX2xvY2spOwkJCQlcCi0JCWlmIChzeXN0ZW1fdGltZXItPmR5bl90aWNrLT5zdGF0ZSAmIERZTl9USUNLX0VOQUJMRUQpCVwKLQkJCXN5c3RlbV90aW1lci0+ZHluX3RpY2stPmhhbmRsZXIoaXJxLCBOVUxMKTsJXAotCQl3cml0ZV9zZXF1bmxvY2soJnh0aW1lX2xvY2spOwkJCQlcCi0JfQotI2VuZGlmCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL2tleGVjLmggYi9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaAppbmRleCA0N2ZlMzRkLi5jODk4NmJiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0va2V4ZWMuaApAQCAtMTQsOCArMTQsNiBAQAogCiAjZGVmaW5lIEtFWEVDX0FSQ0ggS0VYRUNfQVJDSF9BUk0KIAotI2RlZmluZSBLRVhFQ19CT09UX1BBUkFNU19TSVpFIDE1MzYKLQogI2RlZmluZSBLRVhFQ19BUk1fQVRBR1NfT0ZGU0VUICAweDEwMDAKICNkZWZpbmUgS0VYRUNfQVJNX1pJTUFHRV9PRkZTRVQgMHg4MDAwCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmggYi9pbmNsdWRlL2FzbS1hcm0va3Byb2Jlcy5oCmluZGV4IGMwNDIxOTQuLmIxYTM3ODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9rcHJvYmVzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL2twcm9iZXMuaApAQCAtNTksNiArNTksNyBAQAogfTsKIAogdm9pZCBhcmNoX3JlbW92ZV9rcHJvYmUoc3RydWN0IGtwcm9iZSAqKTsKK3ZvaWQga3JldHByb2JlX3RyYW1wb2xpbmUodm9pZCk7CiAKIGludCBrcHJvYmVfdHJhcF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBpbnQgaW5zdHIpOwogaW50IGtwcm9iZV9mYXVsdF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBpbnQgZnNyKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaCBiL2luY2x1ZGUvYXNtLWFybS9tYWNoL3RpbWUuaAppbmRleCA1ZGMzNTcwLi4yZmQzNmVhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vbWFjaC90aW1lLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL21hY2gvdGltZS5oCkBAIC00MSwzMCArNDEsOCBAQAogI2lmbmRlZiBDT05GSUdfR0VORVJJQ19USU1FCiAJdW5zaWduZWQgbG9uZwkJKCpvZmZzZXQpKHZvaWQpOwogI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCXN0cnVjdCBkeW5fdGlja190aW1lcgkqZHluX3RpY2s7Ci0jZW5kaWYKIH07CiAKLSNpZmRlZiBDT05GSUdfTk9fSURMRV9IWgotCi0jZGVmaW5lIERZTl9USUNLX0VOQUJMRUQJKDEgPDwgMSkKLQotc3RydWN0IGR5bl90aWNrX3RpbWVyIHsKLQlzcGlubG9ja190CWxvY2s7Ci0JdW5zaWduZWQgaW50CXN0YXRlOwkJCS8qIEN1cnJlbnQgc3RhdGUgKi8KLQlpbnQJCSgqZW5hYmxlKSh2b2lkKTsJLyogRW5hYmxlcyBkeW5hbWljIHRpY2sgKi8KLQlpbnQJCSgqZGlzYWJsZSkodm9pZCk7CS8qIERpc2FibGVzIGR5bmFtaWMgdGljayAqLwotCXZvaWQJCSgqcmVwcm9ncmFtKSh1bnNpZ25lZCBsb25nKTsgLyogUmVwcm9ncmFtcyB0aGUgdGltZXIgKi8KLQlpbnQJCSgqaGFuZGxlcikoaW50LCB2b2lkICopOwotfTsKLQotdm9pZCB0aW1lcl9keW5fcmVwcm9ncmFtKHZvaWQpOwotI2Vsc2UKLSNkZWZpbmUgdGltZXJfZHluX3JlcHJvZ3JhbSgpCWRvIHsgfSB3aGlsZSAoMCkKLSNlbmRpZgotCiBleHRlcm4gc3RydWN0IHN5c190aW1lciAqc3lzdGVtX3RpbWVyOwogZXh0ZXJuIHZvaWQgdGltZXJfdGljayh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL21tdV9jb250ZXh0LmggYi9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaAppbmRleCA2OTEzZDAyLi45MWI5ZGZkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vbW11X2NvbnRleHQuaApAQCAtOTcsNiArOTcsMTEgQEAKICNpZmRlZiBDT05GSUdfTU1VCiAJdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAorI2lmZGVmIENPTkZJR19TTVAKKwkvKiBjaGVjayBmb3IgcG9zc2libGUgdGhyZWFkIG1pZ3JhdGlvbiAqLworCWlmICghY3B1c19lbXB0eShuZXh0LT5jcHVfdm1fbWFzaykgJiYgIWNwdV9pc3NldChjcHUsIG5leHQtPmNwdV92bV9tYXNrKSkKKwkJX19mbHVzaF9pY2FjaGVfYWxsKCk7CisjZW5kaWYKIAlpZiAoIWNwdV90ZXN0X2FuZF9zZXQoY3B1LCBuZXh0LT5jcHVfdm1fbWFzaykgfHwgcHJldiAhPSBuZXh0KSB7CiAJCWNoZWNrX2NvbnRleHQobmV4dCk7CiAJCWNwdV9zd2l0Y2hfbW0obmV4dC0+cGdkLCBuZXh0KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL2NhY2hlLWZlcm9jZW9uLWwyLmggYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNGUwMTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oCkBAIC0wLDAgKzEsMTEgQEAKKy8qCisgKiBpbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9jYWNoZS1mZXJvY2Vvbi1sMi5oCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hcnZlbGwgU2VtaWNvbmR1Y3RvcgorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSB2ZXJzaW9uIDIuIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCAiYXMgaXMiIHdpdGhvdXQgYW55CisgKiB3YXJyYW50eSBvZiBhbnkga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKi8KKworZXh0ZXJuIHZvaWQgX19pbml0IGZlcm9jZW9uX2wyX2luaXQoaW50IGwyX3d0X292ZXJyaWRlKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL29yaW9uX25hbmQuaAppbmRleCBmZmQzODUyLi5hZDRjZTk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9vcmlvbl9uYW5kLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vb3Jpb25fbmFuZC5oCkBAIC0xOCw2ICsxOCw3IEBACiAJdTggYWxlOwkJLyogYWRkcmVzcyBsaW5lIG51bWJlciBjb25uZWN0ZWQgdG8gQUxFICovCiAJdTggY2xlOwkJLyogYWRkcmVzcyBsaW5lIG51bWJlciBjb25uZWN0ZWQgdG8gQ0xFICovCiAJdTggd2lkdGg7CS8qIGJ1c3dpZHRoICovCisJdTggY2hpcF9kZWxheTsKIH07CiAKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtb3Jpb24vcGNpZS5oCmluZGV4IDY0MzRhYzYuLmU2MWI3YmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LW9yaW9uL3BjaWUuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1vcmlvbi9wY2llLmgKQEAgLTE0LDYgKzE0LDcgQEAKIHUzMiBvcmlvbl9wY2llX2Rldl9pZCh2b2lkIF9faW9tZW0gKmJhc2UpOwogdTMyIG9yaW9uX3BjaWVfcmV2KHZvaWQgX19pb21lbSAqYmFzZSk7CiBpbnQgb3Jpb25fcGNpZV9saW5rX3VwKHZvaWQgX19pb21lbSAqYmFzZSk7CitpbnQgb3Jpb25fcGNpZV94NF9tb2RlKHZvaWQgX19pb21lbSAqYmFzZSk7CiBpbnQgb3Jpb25fcGNpZV9nZXRfbG9jYWxfYnVzX25yKHZvaWQgX19pb21lbSAqYmFzZSk7CiB2b2lkIG9yaW9uX3BjaWVfc2V0X2xvY2FsX2J1c19ucih2b2lkIF9faW9tZW0gKmJhc2UsIGludCBucik7CiB2b2lkIG9yaW9uX3BjaWVfc2V0dXAodm9pZCBfX2lvbWVtICpiYXNlLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaCBiL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYy9yZWdzLXRpbWVyLmgKaW5kZXggOGIwZDU5NC4uYjViYzY5MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjL3JlZ3MtdGltZXIuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vcGxhdC1zM2MvcmVncy10aW1lci5oCkBAIC02NSw2ICs2NSwxNSBAQAogI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWDBfVENMSzAgICg0PDwwKQogI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWDBfTUFTSwkgICgxNTw8MCkKIAorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVYyCSAgKDA8PDApCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfTVVYX0RJVjQJICAoMTw8MCkKKyNkZWZpbmUgUzNDMjQxMF9UQ0ZHMV9NVVhfRElWOAkgICgyPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9ESVYxNiAgICgzPDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9UQ0xLICAgICg0PDwwKQorI2RlZmluZSBTM0MyNDEwX1RDRkcxX01VWF9NQVNLCSAgKDE1PDwwKQorCisjZGVmaW5lIFMzQzI0MTBfVENGRzFfU0hJRlQoeCkJICAoKHgpICogNCkKKwogLyogZm9yIGVhY2ggdGltZXIsIHdlIGhhdmUgYW4gY291bnQgYnVmZmVyLCBhbiBjb21wYXJlIGJ1ZmZlciBhbmQKICAqIGFuIG9ic2VydmF0aW9uIGJ1ZmZlcgogKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWFybS9wbGF0LXMzYzI0eHgvZGV2cy5oIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmgKaW5kZXggZjlkNmYwMy4uYmFkYWFjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmgKKysrIGIvaW5jbHVkZS9hc20tYXJtL3BsYXQtczNjMjR4eC9kZXZzLmgKQEAgLTIxLDYgKzIxLDggQEAKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpzM2MyNHh4X3VhcnRfZGV2c1tdOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnMzYzI0eHhfdWFydF9zcmNbXTsKIAorZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcltdOworCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3VzYjsKIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfbGNkOwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV93ZHQ7CkBAIC0zNiwxMSArMzgsNiBAQAogCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX25hbmQ7CiAKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIwOwotZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgczNjX2RldmljZV90aW1lcjE7Ci1leHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3RpbWVyMjsKLWV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlIHMzY19kZXZpY2VfdGltZXIzOwotCiBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RldmljZSBzM2NfZGV2aWNlX3VzYmdhZGdldDsKIAogLyogczNjMjQ0MCBzcGVjaWZpYyBkZXZpY2VzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hcm0vcnRjLmggYi9pbmNsdWRlL2FzbS1hcm0vcnRjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhNWM5MjMuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20tYXJtL3J0Yy5oCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqICBsaW51eC9pbmNsdWRlL2FzbS1hcm0vcnRjLmgKLSAqCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzIERlZXAgQmx1ZSBTb2x1dGlvbnMgTHRkLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKi8KLSNpZm5kZWYgQVNNQVJNX1JUQ19ICi0jZGVmaW5lIEFTTUFSTV9SVENfSAotCi1zdHJ1Y3QgbW9kdWxlOwotCi1zdHJ1Y3QgcnRjX29wcyB7Ci0Jc3RydWN0IG1vZHVsZQkqb3duZXI7Ci0JaW50CQkoKm9wZW4pKHZvaWQpOwotCXZvaWQJCSgqcmVsZWFzZSkodm9pZCk7Ci0JaW50CQkoKmlvY3RsKSh1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwotCi0JaW50CQkoKnJlYWRfdGltZSkoc3RydWN0IHJ0Y190aW1lICopOwotCWludAkJKCpzZXRfdGltZSkoc3RydWN0IHJ0Y190aW1lICopOwotCWludAkJKCpyZWFkX2FsYXJtKShzdHJ1Y3QgcnRjX3drYWxybSAqKTsKLQlpbnQJCSgqc2V0X2FsYXJtKShzdHJ1Y3QgcnRjX3drYWxybSAqKTsKLQlpbnQJCSgqcHJvYykoY2hhciAqYnVmKTsKLX07Ci0KLXZvaWQgcnRjX25leHRfYWxhcm1fdGltZShzdHJ1Y3QgcnRjX3RpbWUgKiwgc3RydWN0IHJ0Y190aW1lICosIHN0cnVjdCBydGNfdGltZSAqKTsKLXZvaWQgcnRjX3VwZGF0ZSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKTsKLWludCByZWdpc3Rlcl9ydGMoc3RydWN0IHJ0Y19vcHMgKik7Ci12b2lkIHVucmVnaXN0ZXJfcnRjKHN0cnVjdCBydGNfb3BzICopOwotCi1zdGF0aWMgaW5saW5lIGludCBydGNfcGVyaW9kaWNfYWxhcm0oc3RydWN0IHJ0Y190aW1lICp0bSkKLXsKLQlyZXR1cm4gICh0bS0+dG1feWVhciA9PSAtMSkgfHwKLQkJKCh1bnNpZ25lZCl0bS0+dG1fbW9uID49IDEyKSB8fAotCQkoKHVuc2lnbmVkKSh0bS0+dG1fbWRheSAtIDEpID49IDMxKSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9ob3VyID4gMjMpIHx8Ci0JCSgodW5zaWduZWQpdG0tPnRtX21pbiA+IDU5KSB8fAotCQkoKHVuc2lnbmVkKXRtLT50bV9zZWMgPiA1OSk7Ci19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3NtcC5oIGIvaW5jbHVkZS9hc20tYXJtL3NtcC5oCmluZGV4IGFmOTk2MzYuLjdmZmZhMjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWFybS9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vc21wLmgKQEAgLTEwMSw2ICsxMDEsOSBAQAogZXh0ZXJuIGludCBwbGF0Zm9ybV9jcHVfa2lsbCh1bnNpZ25lZCBpbnQgY3B1KTsKIGV4dGVybiB2b2lkIHBsYXRmb3JtX2NwdV9lbmFibGUodW5zaWduZWQgaW50IGNwdSk7CiAKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOworCiAvKgogICogTG9jYWwgdGltZXIgaW50ZXJydXB0IGhhbmRsaW5nIGZ1bmN0aW9uIChjYW4gYmUgSVBJJ2VkKS4KICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXJtL3RsYmZsdXNoLmggYi9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaAppbmRleCA4YzZiYzFiLi45MDk2NTZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaAorKysgYi9pbmNsdWRlL2FzbS1hcm0vdGxiZmx1c2guaApAQCAtMzksNiArMzksNyBAQAogI2RlZmluZSBUTEJfVjZfRF9BU0lECSgxIDw8IDE3KQogI2RlZmluZSBUTEJfVjZfSV9BU0lECSgxIDw8IDE4KQogCisjZGVmaW5lIFRMQl9MMkNMRUFOX0ZSCSgxIDw8IDI5KQkJLyogRmVyb2Nlb24gKi8KICNkZWZpbmUgVExCX0RDTEVBTgkoMSA8PCAzMCkKICNkZWZpbmUgVExCX1dCCQkoMSA8PCAzMSkKIApAQCAtNTEsNiArNTIsNyBAQAogICoJICB2NCAgICAtIEFSTXY0IHdpdGhvdXQgd3JpdGUgYnVmZmVyCiAgKgkgIHY0d2IgIC0gQVJNdjQgd2l0aCB3cml0ZSBidWZmZXIgd2l0aG91dCBJIFRMQiBmbHVzaCBlbnRyeSBpbnN0cnVjdGlvbgogICoJICB2NHdiaSAtIEFSTXY0IHdpdGggd3JpdGUgYnVmZmVyIHdpdGggSSBUTEIgZmx1c2ggZW50cnkgaW5zdHJ1Y3Rpb24KKyAqCSAgZnIgICAgLSBGZXJvY2VvbiAodjR3Ymkgd2l0aCBub24tb3V0ZXItY2FjaGVhYmxlIHBhZ2UgdGFibGUgd2Fsa3MpCiAgKgkgIHY2d2JpIC0gQVJNdjYgd2l0aCB3cml0ZSBidWZmZXIgd2l0aCBJIFRMQiBmbHVzaCBlbnRyeSBpbnN0cnVjdGlvbgogICovCiAjdW5kZWYgX1RMQgpAQCAtMTAzLDYgKzEwNSwyMyBAQAogIyBkZWZpbmUgdjR3YmlfYWx3YXlzX2ZsYWdzCSgtMVVMKQogI2VuZGlmCiAKKyNkZWZpbmUgZnJfdGxiX2ZsYWdzCShUTEJfV0IgfCBUTEJfRENMRUFOIHwgVExCX0wyQ0xFQU5fRlIgfCBcCisJCQkgVExCX1Y0X0lfRlVMTCB8IFRMQl9WNF9EX0ZVTEwgfCBcCisJCQkgVExCX1Y0X0lfUEFHRSB8IFRMQl9WNF9EX1BBR0UpCisKKyNpZmRlZiBDT05GSUdfQ1BVX1RMQl9GRVJPQ0VPTgorIyBkZWZpbmUgZnJfcG9zc2libGVfZmxhZ3MJZnJfdGxiX2ZsYWdzCisjIGRlZmluZSBmcl9hbHdheXNfZmxhZ3MJZnJfdGxiX2ZsYWdzCisjIGlmZGVmIF9UTEIKKyMgIGRlZmluZSBNVUxUSV9UTEIgMQorIyBlbHNlCisjICBkZWZpbmUgX1RMQiB2NHdiaQorIyBlbmRpZgorI2Vsc2UKKyMgZGVmaW5lIGZyX3Bvc3NpYmxlX2ZsYWdzCTAKKyMgZGVmaW5lIGZyX2Fsd2F5c19mbGFncwkoLTFVTCkKKyNlbmRpZgorCiAjZGVmaW5lIHY0d2JfdGxiX2ZsYWdzCShUTEJfV0IgfCBUTEJfRENMRUFOIHwgXAogCQkJIFRMQl9WNF9JX0ZVTEwgfCBUTEJfVjRfRF9GVUxMIHwgXAogCQkJIFRMQl9WNF9EX1BBR0UpCkBAIC0yNDUsMTIgKzI2NCwxNCBAQAogI2RlZmluZSBwb3NzaWJsZV90bGJfZmxhZ3MJKHYzX3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NF9wb3NzaWJsZV9mbGFncyB8IFwKIAkJCQkgdjR3YmlfcG9zc2libGVfZmxhZ3MgfCBcCisJCQkJIGZyX3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NHdiX3Bvc3NpYmxlX2ZsYWdzIHwgXAogCQkJCSB2NndiaV9wb3NzaWJsZV9mbGFncykKIAogI2RlZmluZSBhbHdheXNfdGxiX2ZsYWdzCSh2M19hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY0X2Fsd2F5c19mbGFncyAmIFwKIAkJCQkgdjR3YmlfYWx3YXlzX2ZsYWdzICYgXAorCQkJCSBmcl9hbHdheXNfZmxhZ3MgJiBcCiAJCQkJIHY0d2JfYWx3YXlzX2ZsYWdzICYgXAogCQkJCSB2NndiaV9hbHdheXNfZmxhZ3MpCiAKQEAgLTQxNyw2ICs0MzgsMTEgQEAKIAlpZiAodGxiX2ZsYWcoVExCX0RDTEVBTikpCiAJCWFzbSgibWNyCXAxNSwgMCwgJTAsIGM3LCBjMTAsIDEJQCBmbHVzaF9wbWQiCiAJCQk6IDogInIiIChwbWQpIDogImNjIik7CisKKwlpZiAodGxiX2ZsYWcoVExCX0wyQ0xFQU5fRlIpKQorCQlhc20oIm1jcglwMTUsIDEsICUwLCBjMTUsIGM5LCAxICBAIEwyIGZsdXNoX3BtZCIKKwkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKKwogCWlmICh0bGJfZmxhZyhUTEJfV0IpKQogCQlkc2IoKTsKIH0KQEAgLTQyOCw2ICs0NTQsMTAgQEAKIAlpZiAodGxiX2ZsYWcoVExCX0RDTEVBTikpCiAJCWFzbSgibWNyCXAxNSwgMCwgJTAsIGM3LCBjMTAsIDEJQCBmbHVzaF9wbWQiCiAJCQk6IDogInIiIChwbWQpIDogImNjIik7CisKKwlpZiAodGxiX2ZsYWcoVExCX0wyQ0xFQU5fRlIpKQorCQlhc20oIm1jcglwMTUsIDEsICUwLCBjMTUsIGM5LCAxICBAIEwyIGZsdXNoX3BtZCIKKwkJCTogOiAiciIgKHBtZCkgOiAiY2MiKTsKIH0KIAogI3VuZGVmIHRsYl9mbGFnCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvYm9hcmQuaAppbmRleCBhNGUyZDI4Li5iNGNkZGZhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9ib2FyZC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2JvYXJkLmgKQEAgLTgsNiArOCwxMiBAQAogCiAjZGVmaW5lIEdQSU9fUElOX05PTkUJKC0xKQogCisvKgorICogQ2xvY2sgcmF0ZXMgZm9yIHZhcmlvdXMgb24tYm9hcmQgb3NjaWxsYXRvcnMuIFRoZSBudW1iZXIgb2YgZW50cmllcworICogaW4gdGhpcyBhcnJheSBpcyBjaGlwLWRlcGVuZGVudC4KKyAqLworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYXQzMl9ib2FyZF9vc2NfcmF0ZXNbXTsKKyAgCiAvKiBBZGQgYmFzaWMgZGV2aWNlczogc3lzdGVtIG1hbmFnZXIsIGludGVycnVwdCBjb250cm9sbGVyLCBwb3J0bXV4ZXMsIGV0Yy4gKi8KIHZvaWQgYXQzMl9hZGRfc3lzdGVtX2RldmljZXModm9pZCk7CiAKQEAgLTM2LDcgKzQyLDggQEAKIHN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqCiBhdDMyX2FkZF9kZXZpY2VfbGNkYyh1bnNpZ25lZCBpbnQgaWQsIHN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvICpkYXRhLAotCQkgICAgIHVuc2lnbmVkIGxvbmcgZmJtZW1fc3RhcnQsIHVuc2lnbmVkIGxvbmcgZmJtZW1fbGVuKTsKKwkJICAgICB1bnNpZ25lZCBsb25nIGZibWVtX3N0YXJ0LCB1bnNpZ25lZCBsb25nIGZibWVtX2xlbiwKKwkJICAgICB1bnNpZ25lZCBpbnQgcGluX2NvbmZpZyk7CiAKIHN0cnVjdCB1c2JhX3BsYXRmb3JtX2RhdGE7CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICoKQEAgLTczLDYgKzgwLDcgQEAKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9tY2kodW5zaWduZWQgaW50IGlkKTsKIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmF0MzJfYWRkX2RldmljZV9hYzk3Yyh1bnNpZ25lZCBpbnQgaWQpOwogc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYXQzMl9hZGRfZGV2aWNlX2FiZGFjKHVuc2lnbmVkIGludCBpZCk7CitzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdDMyX2FkZF9kZXZpY2VfcHNpZih1bnNpZ25lZCBpbnQgaWQpOwogCiBzdHJ1Y3QgY2ZfcGxhdGZvcm1fZGF0YSB7CiAJaW50CWRldGVjdF9waW47CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9pbml0LmgKaW5kZXggNWU3NWQ4NS4uYmM0MGUzZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvaW5pdC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL2luaXQuaApAQCAtMTMsMTAgKzEzLDYgQEAKIHZvaWQgc2V0dXBfcGxhdGZvcm0odm9pZCk7CiB2b2lkIHNldHVwX2JvYXJkKHZvaWQpOwogCi0vKiBDYWxsZWQgYnkgc2V0dXBfcGxhdGZvcm0gKi8KLXZvaWQgYXQzMl9jbG9ja19pbml0KHZvaWQpOwotdm9pZCBhdDMyX3BvcnRtdXhfaW5pdCh2b2lkKTsKLQogdm9pZCBhdDMyX3NldHVwX3NlcmlhbF9jb25zb2xlKHVuc2lnbmVkIGludCB1c2FydF9pZCk7CiAKICNlbmRpZiAvKiBfX0FTTV9BVlIzMl9BVDMyQVBfSU5JVF9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9wbS5oCmluZGV4IDM1NmU0MzAuLjk3OWIzNTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL2FyY2gtYXQzMmFwL3BtLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvcG0uaApAQCAtMTksNiArMTksNyBAQAogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogZXh0ZXJuIHZvaWQgY3B1X2VudGVyX2lkbGUodm9pZCk7CitleHRlcm4gdm9pZCBjcHVfZW50ZXJfc3RhbmRieSh1bnNpZ25lZCBsb25nIHNkcmFtY19iYXNlKTsKIAogZXh0ZXJuIGJvb2wgZGlzYWJsZV9pZGxlX3NsZWVwOwogCkBAIC00Myw2ICs0NCw4IEBACiAJZWxzZQogCQljcHVfZW50ZXJfaWRsZSgpOwogfQorCit2b2lkIGludGNfc2V0X3N1c3BlbmRfaGFuZGxlcih1bnNpZ25lZCBsb25nIG9mZnNldCk7CiAjZW5kaWYKIAogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX0FSQ0hfUE1fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvc3JhbS5oIGIvaW5jbHVkZS9hc20tYXZyMzIvYXJjaC1hdDMyYXAvc3JhbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4MzhkYWUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9hcmNoLWF0MzJhcC9zcmFtLmgKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIFNpbXBsZSBTUkFNIGFsbG9jYXRvcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBdG1lbCBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKyNpZm5kZWYgX19BU01fQVZSMzJfQVJDSF9TUkFNX0gKKyNkZWZpbmUgX19BU01fQVZSMzJfQVJDSF9TUkFNX0gKKworI2luY2x1ZGUgPGxpbnV4L2dlbmFsbG9jLmg+CisKK2V4dGVybiBzdHJ1Y3QgZ2VuX3Bvb2wgKnNyYW1fcG9vbDsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHNyYW1fYWxsb2Moc2l6ZV90IGxlbikKK3sKKwlpZiAoIXNyYW1fcG9vbCkKKwkJcmV0dXJuIDBVTDsKKworCXJldHVybiBnZW5fcG9vbF9hbGxvYyhzcmFtX3Bvb2wsIGxlbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzcmFtX2ZyZWUodW5zaWduZWQgbG9uZyBhZGRyLCBzaXplX3QgbGVuKQoreworCXJldHVybiBnZW5fcG9vbF9mcmVlKHNyYW1fcG9vbCwgYWRkciwgbGVuKTsKK30KKworI2VuZGlmIC8qIF9fQVNNX0FWUjMyX0FSQ0hfU1JBTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvbW11X2NvbnRleHQuaAppbmRleCBjMzdjMzkxLi4yN2ZmMjM0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9tbXVfY29udGV4dC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL21tdV9jb250ZXh0LmgKQEAgLTEzLDcgKzEzLDYgQEAKICNkZWZpbmUgX19BU01fQVZSMzJfTU1VX0NPTlRFWFRfSAogCiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KICNpbmNsdWRlIDxhc20vc3lzcmVnLmg+CiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvcGNpLmggYi9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaAppbmRleCAwZjVmMTM0Li5hMzJhMDIzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9wY2kuaApAQCAtNSw0ICs1LDYgQEAKIAogI2RlZmluZSBQQ0lfRE1BX0JVU19JU19QSFlTCSgxKQogCisjaW5jbHVkZSA8YXNtLWdlbmVyaWMvcGNpLWRtYS1jb21wYXQuaD4KKwogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX1BDSV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3BnYWxsb2MuaAppbmRleCA1MWZjMWY2Li42NDA4MjEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi9wZ2FsbG9jLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvcGdhbGxvYy5oCkBAIC04LDY1ICs4LDc5IEBACiAjaWZuZGVmIF9fQVNNX0FWUjMyX1BHQUxMT0NfSAogI2RlZmluZSBfX0FTTV9BVlIzMl9QR0FMTE9DX0gKIAotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNpbmNsdWRlIDxsaW51eC90aHJlYWRzLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvcXVpY2tsaXN0Lmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDxhc20vcGd0YWJsZS5oPgogCi0jZGVmaW5lIHBtZF9wb3B1bGF0ZV9rZXJuZWwobW0sIHBtZCwgcHRlKSBcCi0Jc2V0X3BtZChwbWQsIF9fcG1kKF9QQUdFX1RBQkxFICsgX19wYShwdGUpKSkKKyNkZWZpbmUgUVVJQ0tfUEdECTAJLyogUHJlc2VydmUga2VybmVsIG1hcHBpbmdzIG92ZXIgZnJlZSAqLworI2RlZmluZSBRVUlDS19QVAkxCS8qIFplcm8gb24gZnJlZSAqLwogCi1zdGF0aWMgX19pbmxpbmVfXyB2b2lkIHBtZF9wb3B1bGF0ZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcG1kX3QgKnBtZCwKK3N0YXRpYyBpbmxpbmUgdm9pZCBwbWRfcG9wdWxhdGVfa2VybmVsKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJCSAgICAgICBwbWRfdCAqcG1kLCBwdGVfdCAqcHRlKQoreworCXNldF9wbWQocG1kLCBfX3BtZCgodW5zaWduZWQgbG9uZylwdGUpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHBtZF9wb3B1bGF0ZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcG1kX3QgKnBtZCwKIAkJCQkgICAgcGd0YWJsZV90IHB0ZSkKIHsKLQlzZXRfcG1kKHBtZCwgX19wbWQoX1BBR0VfVEFCTEUgKyBwYWdlX3RvX3BoeXMocHRlKSkpOworCXNldF9wbWQocG1kLCBfX3BtZCgodW5zaWduZWQgbG9uZylwYWdlX2FkZHJlc3MocHRlKSkpOwogfQogI2RlZmluZSBwbWRfcGd0YWJsZShwbWQpIHBtZF9wYWdlKHBtZCkKIAorc3RhdGljIGlubGluZSB2b2lkIHBnZF9jdG9yKHZvaWQgKngpCit7CisJcGdkX3QgKnBnZCA9IHg7CisKKwltZW1jcHkocGdkICsgVVNFUl9QVFJTX1BFUl9QR0QsCisJCXN3YXBwZXJfcGdfZGlyICsgVVNFUl9QVFJTX1BFUl9QR0QsCisJCShQVFJTX1BFUl9QR0QgLSBVU0VSX1BUUlNfUEVSX1BHRCkgKiBzaXplb2YocGdkX3QpKTsKK30KKwogLyoKICAqIEFsbG9jYXRlIGFuZCBmcmVlIHBhZ2UgdGFibGVzCiAgKi8KLXN0YXRpYyBfX2lubGluZV9fIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCitzdGF0aWMgaW5saW5lIHBnZF90ICpwZ2RfYWxsb2Moc3RydWN0IG1tX3N0cnVjdCAqbW0pCiB7Ci0JcmV0dXJuIGtjYWxsb2MoVVNFUl9QVFJTX1BFUl9QR0QsIHNpemVvZihwZ2RfdCksIEdGUF9LRVJORUwpOworCXJldHVybiBxdWlja2xpc3RfYWxsb2MoUVVJQ0tfUEdELCBHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFULCBwZ2RfY3Rvcik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwZ2RfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGdkX3QgKnBnZCkKIHsKLQlrZnJlZShwZ2QpOworCXF1aWNrbGlzdF9mcmVlKFFVSUNLX1BHRCwgTlVMTCwgcGdkKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCAqcHRlX2FsbG9jX29uZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJCSAgdW5zaWduZWQgbG9uZyBhZGRyZXNzKQogewotCXB0ZV90ICpwdGU7Ci0KLQlwdGUgPSAocHRlX3QgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCB8IF9fR0ZQX1JFUEVBVCk7Ci0KLQlyZXR1cm4gcHRlOworCXJldHVybiBxdWlja2xpc3RfYWxsb2MoUVVJQ0tfUFQsIEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQsIE5VTEwpOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBwYWdlICpwdGVfYWxsb2Nfb25lKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorc3RhdGljIGlubGluZSBwZ3RhYmxlX3QgcHRlX2FsbG9jX29uZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwKIAkJCQkJIHVuc2lnbmVkIGxvbmcgYWRkcmVzcykKIHsKLQlzdHJ1Y3QgcGFnZSAqcHRlOworCXN0cnVjdCBwYWdlICpwYWdlOworCXZvaWQgKnBnOwogCi0JcHRlID0gYWxsb2NfcGFnZShHRlBfS0VSTkVMIHwgX19HRlBfUkVQRUFUIHwgX19HRlBfWkVSTyk7Ci0JaWYgKCFwdGUpCisJcGcgPSBxdWlja2xpc3RfYWxsb2MoUVVJQ0tfUFQsIEdGUF9LRVJORUwgfCBfX0dGUF9SRVBFQVQsIE5VTEwpOworCWlmICghcGcpCiAJCXJldHVybiBOVUxMOwotCXBndGFibGVfcGFnZV9jdG9yKHB0ZSk7Ci0JcmV0dXJuIHB0ZTsKKworCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UocGcpOworCXBndGFibGVfcGFnZV9jdG9yKHBhZ2UpOworCisJcmV0dXJuIHBhZ2U7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwdGVfZnJlZV9rZXJuZWwoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHB0ZV90ICpwdGUpCiB7Ci0JZnJlZV9wYWdlKCh1bnNpZ25lZCBsb25nKXB0ZSk7CisJcXVpY2tsaXN0X2ZyZWUoUVVJQ0tfUFQsIE5VTEwsIHB0ZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwdGVfZnJlZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgcGd0YWJsZV90IHB0ZSkKIHsKIAlwZ3RhYmxlX3BhZ2VfZHRvcihwdGUpOwotCV9fZnJlZV9wYWdlKHB0ZSk7CisJcXVpY2tsaXN0X2ZyZWVfcGFnZShRVUlDS19QVCwgTlVMTCwgcHRlKTsKIH0KIAogI2RlZmluZSBfX3B0ZV9mcmVlX3RsYih0bGIscHRlKQkJCQlcCkBAIC03NSw2ICs4OSwxMCBAQAogCXRsYl9yZW1vdmVfcGFnZSgodGxiKSwgcHRlKTsJCQlcCiB9IHdoaWxlICgwKQogCi0jZGVmaW5lIGNoZWNrX3BndF9jYWNoZSgpIGRvIHsgfSB3aGlsZSgwKQorc3RhdGljIGlubGluZSB2b2lkIGNoZWNrX3BndF9jYWNoZSh2b2lkKQoreworCXF1aWNrbGlzdF90cmltKFFVSUNLX1BHRCwgTlVMTCwgMjUsIDE2KTsKKwlxdWlja2xpc3RfdHJpbShRVUlDS19QVCwgTlVMTCwgMjUsIDE2KTsKK30KIAogI2VuZGlmIC8qIF9fQVNNX0FWUjMyX1BHQUxMT0NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oIGIvaW5jbHVkZS9hc20tYXZyMzIvcGd0YWJsZS5oCmluZGV4IGMwZTVlMjkuLmZlY2RkYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3BndGFibGUuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9wZ3RhYmxlLmgKQEAgLTEyOSwxMyArMTI5LDYgQEAKIAogI2RlZmluZSBfUEFHRV9GTEFHU19DQUNIRV9NQVNLCShfUEFHRV9DQUNIQUJMRSB8IF9QQUdFX0JVRkZFUiB8IF9QQUdFX1dUKQogCi0vKiBUT0RPOiBDaGVjayBmb3Igc2FuZW5lc3MgKi8KLS8qIFVzZXItbW9kZSBwYWdlIHRhYmxlIGZsYWdzICh0byBiZSBzZXQgaW4gYSBwZ2Qgb3IgcG1kIGVudHJ5KSAqLwotI2RlZmluZSBfUEFHRV9UQUJMRQkJKF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9UWVBFX1NNQUxMIHwgX1BBR0VfUlcgXAotCQkJCSB8IF9QQUdFX1VTRVIgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0RJUlRZKQotLyogS2VybmVsLW1vZGUgcGFnZSB0YWJsZSBmbGFncyAqLwotI2RlZmluZSBfS0VSTlBHX1RBQkxFCQkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1RZUEVfU01BTEwgfCBfUEFHRV9SVyBcCi0JCQkJIHwgX1BBR0VfQUNDRVNTRUQgfCBfUEFHRV9ESVJUWSkKIC8qIEZsYWdzIHRoYXQgbWF5IGJlIG1vZGlmaWVkIGJ5IHNvZnR3YXJlICovCiAjZGVmaW5lIF9QQUdFX0NIR19NQVNLCQkoUFRFX01BU0sgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0RJUlRZIFwKIAkJCQkgfCBfUEFHRV9GTEFHU19DQUNIRV9NQVNLKQpAQCAtMjYyLDEwICsyNTUsMTQgQEAKIH0KIAogI2RlZmluZSBwbWRfbm9uZSh4KQkoIXBtZF92YWwoeCkpCi0jZGVmaW5lIHBtZF9wcmVzZW50KHgpCShwbWRfdmFsKHgpICYgX1BBR0VfUFJFU0VOVCkKLSNkZWZpbmUgcG1kX2NsZWFyKHhwKQlkbyB7IHNldF9wbWQoeHAsIF9fcG1kKDApKTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUJcG1kX2JhZCh4KQkoKHBtZF92YWwoeCkgJiAoflBBR0VfTUFTSyAmIH5fUEFHRV9VU0VSKSkJXAotCQkJICE9IF9LRVJOUEdfVEFCTEUpCisjZGVmaW5lIHBtZF9wcmVzZW50KHgpCShwbWRfdmFsKHgpKQorCitzdGF0aWMgaW5saW5lIHZvaWQgcG1kX2NsZWFyKHBtZF90ICpwbWRwKQoreworCXNldF9wbWQocG1kcCwgX19wbWQoMCkpOworfQorCisjZGVmaW5lCXBtZF9iYWQoeCkJKHBtZF92YWwoeCkgJiB+UEFHRV9NQVNLKQogCiAvKgogICogUGVybWFuZW50IGFkZHJlc3Mgb2YgYSBwYWdlLiBXZSBkb24ndCBzdXBwb3J0IGhpZ2htZW0sIHNvIHRoaXMgaXMKQEAgLTMwMywxOSArMzAwLDE2IEBACiAKICNkZWZpbmUgcGFnZV9wdGUocGFnZSkJcGFnZV9wdGVfcHJvdChwYWdlLCBfX3BncHJvdCgwKSkKIAotI2RlZmluZSBwbWRfcGFnZV92YWRkcihwbWQpCQkJCQlcCi0JKCh1bnNpZ25lZCBsb25nKSBfX3ZhKHBtZF92YWwocG1kKSAmIFBBR0VfTUFTSykpCi0KLSNkZWZpbmUgcG1kX3BhZ2UocG1kKQkocGh5c190b19wYWdlKHBtZF92YWwocG1kKSkpCisjZGVmaW5lIHBtZF9wYWdlX3ZhZGRyKHBtZCkJcG1kX3ZhbChwbWQpCisjZGVmaW5lIHBtZF9wYWdlKHBtZCkJCSh2aXJ0X3RvX3BhZ2UocG1kX3ZhbChwbWQpKSkKIAogLyogdG8gZmluZCBhbiBlbnRyeSBpbiBhIHBhZ2UtdGFibGUtZGlyZWN0b3J5LiAqLwotI2RlZmluZSBwZ2RfaW5kZXgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gUEdESVJfU0hJRlQpICYgKFBUUlNfUEVSX1BHRC0xKSkKLSNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykgKChtbSktPnBnZCtwZ2RfaW5kZXgoYWRkcmVzcykpCi0jZGVmaW5lIHBnZF9vZmZzZXRfY3VycmVudChhZGRyZXNzKQkJCQlcCi0JKChwZ2RfdCAqKV9fbWZzcihTWVNSRUdfUFRCUikgKyBwZ2RfaW5kZXgoYWRkcmVzcykpCisjZGVmaW5lIHBnZF9pbmRleChhZGRyZXNzKQkoKChhZGRyZXNzKSA+PiBQR0RJUl9TSElGVCkJXAorCQkJCSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKKyNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykJKChtbSktPnBnZCArIHBnZF9pbmRleChhZGRyZXNzKSkKIAogLyogdG8gZmluZCBhbiBlbnRyeSBpbiBhIGtlcm5lbCBwYWdlLXRhYmxlLWRpcmVjdG9yeSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgYWRkcmVzcykKKyNkZWZpbmUgcGdkX29mZnNldF9rKGFkZHJlc3MpCXBnZF9vZmZzZXQoJmluaXRfbW0sIGFkZHJlc3MpCiAKIC8qIEZpbmQgYW4gZW50cnkgaW4gdGhlIHRoaXJkLWxldmVsIHBhZ2UgdGFibGUuLiAqLwogI2RlZmluZSBwdGVfaW5kZXgoYWRkcmVzcykJCQkJXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tYXZyMzIvc2V0dXAuaCBiL2luY2x1ZGUvYXNtLWF2cjMyL3NldHVwLmgKaW5kZXggZWEzMDcwZi4uZmY1YjdjZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tYXZyMzIvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS1hdnIzMi9zZXR1cC5oCkBAIC0yLDcgKzIsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgQXRtZWwgQ29ycG9yYXRpb24KICAqCiAgKiBCYXNlZCBvbiBsaW51eC9pbmNsdWRlL2FzbS1hcm0vc2V0dXAuaAotICogICBDb3B5cmlnaHQgKEMpIDE5OTctMTk5OSBSdXNzZWwgS2luZworICogICBDb3B5cmlnaHQgKEMpIDE5OTctMTk5OSBSdXNzZWxsIEtpbmcKICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmggYi9pbmNsdWRlL2FzbS1hdnIzMi90aHJlYWRfaW5mby5oCmluZGV4IDA3MDQ5ZjYuLmRmNjg2MzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWF2cjMyL3RocmVhZF9pbmZvLmgKKysrIGIvaW5jbHVkZS9hc20tYXZyMzIvdGhyZWFkX2luZm8uaApAQCAtODgsNiArODgsNyBAQAogI2RlZmluZSBUSUZfTUVNRElFCQk2CiAjZGVmaW5lIFRJRl9SRVNUT1JFX1NJR01BU0sJNwkvKiByZXN0b3JlIHNpZ25hbCBtYXNrIGluIGRvX3NpZ25hbCAqLwogI2RlZmluZSBUSUZfQ1BVX0dPSU5HX1RPX1NMRUVQCTgJLyogQ1BVIGlzIGVudGVyaW5nIHNsZWVwIDAgbW9kZSAqLworI2RlZmluZSBUSUZfRlJFRVpFCQkyOQogI2RlZmluZSBUSUZfREVCVUcJCTMwCS8qIGRlYnVnZ2luZyBlbmFibGVkICovCiAjZGVmaW5lIFRJRl9VU0VSU1BBQ0UJCTMxICAgICAgLyogdHJ1ZSBpZiBGUyBzZXRzIHVzZXJzcGFjZSAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oIGIvaW5jbHVkZS9hc20tYXZyMzIvdGxiZmx1c2guaAppbmRleCA1YmM3Yzg4Li5iZjkwYTc4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1hdnIzMi90bGJmbHVzaC5oCisrKyBiL2luY2x1ZGUvYXNtLWF2cjMyL3RsYmZsdXNoLmgKQEAgLTI2LDcgKzI2LDYgQEAKIGV4dGVybiB2b2lkIGZsdXNoX3RsYl9yYW5nZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBzdGFydCwKIAkJCSAgICB1bnNpZ25lZCBsb25nIGVuZCk7CiBleHRlcm4gdm9pZCBmbHVzaF90bGJfcGFnZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyBwYWdlKTsKLWV4dGVybiB2b2lkIF9fZmx1c2hfdGxiX3BhZ2UodW5zaWduZWQgbG9uZyBhc2lkLCB1bnNpZ25lZCBsb25nIHBhZ2UpOwogCiBleHRlcm4gdm9pZCBmbHVzaF90bGJfa2VybmVsX3JhbmdlKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZnJ2L3N5c3RlbS5oIGIvaW5jbHVkZS9hc20tZnJ2L3N5c3RlbS5oCmluZGV4IGQzYTEyYTkuLjc3NDJlYzAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWZydi9zeXN0ZW0uaAorKysgYi9pbmNsdWRlL2FzbS1mcnYvc3lzdGVtLmgKQEAgLTg3LDcgKzg3LDcgQEAKIH0gd2hpbGUoMCkKIAogI2RlZmluZSBpcnFzX2Rpc2FibGVkKCkgXAotCSh7dW5zaWduZWQgbG9uZyBmbGFnczsgbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7IGZsYWdzOyB9KQorCSh7dW5zaWduZWQgbG9uZyBmbGFnczsgbG9jYWxfc2F2ZV9mbGFncyhmbGFncyk7ICEhZmxhZ3M7IH0pCiAKICNkZWZpbmUJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpCQkJXAogZG8gewkJCQkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvcGd0YWJsZS5oIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmgKaW5kZXggNDRlZjMyOS4uZWY4N2Y4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmgKKysrIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9wZ3RhYmxlLmgKQEAgLTE5NSw2ICsxOTUsNjMgQEAKIAl9CiAJcmV0dXJuIDA7CiB9CisKK3N0YXRpYyBpbmxpbmUgcHRlX3QgX19wdGVwX21vZGlmeV9wcm90X3N0YXJ0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJCQkgICAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgICBwdGVfdCAqcHRlcCkKK3sKKwkvKgorCSAqIEdldCB0aGUgY3VycmVudCBwdGUgc3RhdGUsIGJ1dCB6ZXJvIGl0IG91dCB0byBtYWtlIGl0CisJICogbm9uLXByZXNlbnQsIHByZXZlbnRpbmcgdGhlIGhhcmR3YXJlIGZyb20gYXN5bmNocm9ub3VzbHkKKwkgKiB1cGRhdGluZyBpdC4KKwkgKi8KKwlyZXR1cm4gcHRlcF9nZXRfYW5kX2NsZWFyKG1tLCBhZGRyLCBwdGVwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fcHRlcF9tb2RpZnlfcHJvdF9jb21taXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgICAgdW5zaWduZWQgbG9uZyBhZGRyLAorCQkJCQkgICAgIHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCit7CisJLyoKKwkgKiBUaGUgcHRlIGlzIG5vbi1wcmVzZW50LCBzbyB0aGVyZSdzIG5vIGhhcmR3YXJlIHN0YXRlIHRvCisJICogcHJlc2VydmUuCisJICovCisJc2V0X3B0ZV9hdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKK30KKworI2lmbmRlZiBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OCisvKgorICogU3RhcnQgYSBwdGUgcHJvdGVjdGlvbiByZWFkLW1vZGlmeS13cml0ZSB0cmFuc2FjdGlvbiwgd2hpY2gKKyAqIHByb3RlY3RzIGFnYWluc3QgYXN5bmNocm9ub3VzIGhhcmR3YXJlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIHB0ZS4KKyAqIFRoZSBpbnRlbnRpb24gaXMgbm90IHRvIHByZXZlbnQgdGhlIGhhcmR3YXJlIGZyb20gbWFraW5nIHB0ZQorICogdXBkYXRlcywgYnV0IHRvIHByZXZlbnQgYW55IHVwZGF0ZXMgaXQgbWF5IG1ha2UgZnJvbSBiZWluZyBsb3N0LgorICoKKyAqIFRoaXMgZG9lcyBub3QgcHJvdGVjdCBhZ2FpbnN0IG90aGVyIHNvZnR3YXJlIG1vZGlmaWNhdGlvbnMgb2YgdGhlCisgKiBwdGU7IHRoZSBhcHByb3ByaWF0ZSBwdGUgbG9jayBtdXN0IGJlIGhlbGQgb3ZlciB0aGUgdHJhbnNhdGlvbi4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBpbnRlcmZhY2UgaXMgaW50ZW5kZWQgdG8gYmUgYmF0Y2hhYmxlLCBtZWFuaW5nIHRoYXQKKyAqIHB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0IG1heSBub3QgYWN0dWFsbHkgdXBkYXRlIHRoZSBwdGUsIGJ1dCBtZXJlbHkKKyAqIHF1ZXVlIHRoZSB1cGRhdGUgdG8gYmUgZG9uZSBhdCBzb21lIGxhdGVyIHRpbWUuICBUaGUgdXBkYXRlIG11c3QgYmUKKyAqIGFjdHVhbGx5IGNvbW1pdHRlZCBiZWZvcmUgdGhlIHB0ZSBsb2NrIGlzIHJlbGVhc2VkLCBob3dldmVyLgorICovCitzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZXBfbW9kaWZ5X3Byb3Rfc3RhcnQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCisJCQkJCSAgIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJICAgcHRlX3QgKnB0ZXApCit7CisJcmV0dXJuIF9fcHRlcF9tb2RpZnlfcHJvdF9zdGFydChtbSwgYWRkciwgcHRlcCk7Cit9CisKKy8qCisgKiBDb21taXQgYW4gdXBkYXRlIHRvIGEgcHRlLCBsZWF2aW5nIGFueSBoYXJkd2FyZS1jb250cm9sbGVkIGJpdHMgaW4KKyAqIHRoZSBQVEUgdW5tb2RpZmllZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIHB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgIHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCit7CisJX19wdGVwX21vZGlmeV9wcm90X2NvbW1pdChtbSwgYWRkciwgcHRlcCwgcHRlKTsKK30KKyNlbmRpZiAvKiBfX0hBVkVfQVJDSF9QVEVQX01PRElGWV9QUk9UX1RSQU5TQUNUSU9OICovCiAjZW5kaWYgLyogQ09ORklHX01NVSAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oCmluZGV4IGE2YWVhNzkuLjU0YmJmNmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvdG9wb2xvZ3kuaAorKysgYi9pbmNsdWRlL2FzbS1nZW5lcmljL3RvcG9sb2d5LmgKQEAgLTYwLDcgKzYwLDggQEAKICNpZm5kZWYgbm9kZV90b19jcHVtYXNrX3B0cgogCiAjZGVmaW5lCW5vZGVfdG9fY3B1bWFza19wdHIodiwgbm9kZSkgCQkJCQlcCi0JCWNwdW1hc2tfdCBfIyN2ID0gbm9kZV90b19jcHVtYXNrKG5vZGUpLCAqdiA9ICZfIyN2CisJCWNwdW1hc2tfdCBfIyN2ID0gbm9kZV90b19jcHVtYXNrKG5vZGUpOwkJCVwKKwkJY29uc3QgY3B1bWFza190ICp2ID0gJl8jI3YKIAogI2RlZmluZSBub2RlX3RvX2NwdW1hc2tfcHRyX25leHQodiwgbm9kZSkJCQkJXAogCQkJICBfIyN2ID0gbm9kZV90b19jcHVtYXNrKG5vZGUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmggYi9pbmNsdWRlL2FzbS1nZW5lcmljL3ZtbGludXgubGRzLmgKaW5kZXggZjA1NDc3OC4uYjIwNDA5NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tZ2VuZXJpYy92bWxpbnV4Lmxkcy5oCisrKyBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvdm1saW51eC5sZHMuaApAQCAtNjcsNiArNjcsOCBAQAogCQkqKC5yb2RhdGExKQkJCQkJCVwKIAl9CQkJCQkJCQlcCiAJCQkJCQkJCQlcCisJQlVHX1RBQkxFCQkJCQkJCVwKKwkJCQkJCQkJCVwKIAkvKiBQQ0kgcXVpcmtzICovCQkJCQkJXAogCS5wY2lfZml4dXAgICAgICAgIDogQVQoQUREUigucGNpX2ZpeHVwKSAtIExPQURfT0ZGU0VUKSB7CVwKIAkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9wY2lfZml4dXBzX2Vhcmx5KSA9IC47CQlcCkBAIC04Niw2ICs4OCwxMyBAQAogCQlWTUxJTlVYX1NZTUJPTChfX2VuZF9wY2lfZml4dXBzX3Jlc3VtZSkgPSAuOwkJXAogCX0JCQkJCQkJCVwKIAkJCQkJCQkJCVwKKwkvKiBCdWlsdC1pbiBmaXJtd2FyZSBibG9icyAqLwkJCQkJXAorCS5idWlsdGluX2Z3ICAgICAgICA6IEFUKEFERFIoLmJ1aWx0aW5fZncpIC0gTE9BRF9PRkZTRVQpIHsJXAorCQlWTUxJTlVYX1NZTUJPTChfX3N0YXJ0X2J1aWx0aW5fZncpID0gLjsJCQlcCisJCSooLmJ1aWx0aW5fZncpCQkJCQkJXAorCQlWTUxJTlVYX1NZTUJPTChfX2VuZF9idWlsdGluX2Z3KSA9IC47CQkJXAorCX0JCQkJCQkJCVwKKwkJCQkJCQkJCVwKIAkvKiBSYXBpZElPIHJvdXRlIG9wcyAqLwkJCQkJCVwKIAkucmlvX3JvdXRlICAgICAgICA6IEFUKEFERFIoLnJpb19yb3V0ZSkgLSBMT0FEX09GRlNFVCkgewlcCiAJCVZNTElOVVhfU1lNQk9MKF9fc3RhcnRfcmlvX3JvdXRlX29wcykgPSAuOwkJXApAQCAtOTMsNiArMTAyLDggQEAKIAkJVk1MSU5VWF9TWU1CT0woX19lbmRfcmlvX3JvdXRlX29wcykgPSAuOwkJXAogCX0JCQkJCQkJCVwKIAkJCQkJCQkJCVwKKwlUUkFDRURBVEEJCQkJCQkJXAorCQkJCQkJCQkJXAogCS8qIEtlcm5lbCBzeW1ib2wgdGFibGU6IE5vcm1hbCBzeW1ib2xzICovCQkJXAogCV9fa3N5bXRhYiAgICAgICAgIDogQVQoQUREUihfX2tzeW10YWIpIC0gTE9BRF9PRkZTRVQpIHsJCVwKIAkJVk1MSU5VWF9TWU1CT0woX19zdGFydF9fX2tzeW10YWIpID0gLjsJCQlcCkBAIC0zMTAsNiArMzIxLDcgQEAKIAkJLnN0YWIuaW5kZXhzdHIgMCA6IHsgKiguc3RhYi5pbmRleHN0cikgfQkJXAogCQkuY29tbWVudCAwIDogeyAqKC5jb21tZW50KSB9CiAKKyNpZmRlZiBDT05GSUdfR0VORVJJQ19CVUcKICNkZWZpbmUgQlVHX1RBQkxFCQkJCQkJCVwKIAkuID0gQUxJR04oOCk7CQkJCQkJCVwKIAlfX2J1Z190YWJsZSA6IEFUKEFERFIoX19idWdfdGFibGUpIC0gTE9BRF9PRkZTRVQpIHsJCVwKQEAgLTMxNyw2ICszMjksMjEgQEAKIAkJKihfX2J1Z190YWJsZSkJCQkJCQlcCiAJCV9fc3RvcF9fX2J1Z190YWJsZSA9IC47CQkJCQlcCiAJfQorI2Vsc2UKKyNkZWZpbmUgQlVHX1RBQkxFCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19QTV9UUkFDRQorI2RlZmluZSBUUkFDRURBVEEJCQkJCQkJXAorCS4gPSBBTElHTig0KTsJCQkJCQkJXAorCS50cmFjZWRhdGEgOiBBVChBRERSKC50cmFjZWRhdGEpIC0gTE9BRF9PRkZTRVQpIHsJCVwKKwkgIAlfX3RyYWNlZGF0YV9zdGFydCA9IC47CQkJCQlcCisJCSooLnRyYWNlZGF0YSkJCQkJCQlcCisJICAJX190cmFjZWRhdGFfZW5kID0gLjsJCQkJCVwKKwl9CisjZWxzZQorI2RlZmluZSBUUkFDRURBVEEKKyNlbmRpZgogCiAjZGVmaW5lIE5PVEVTCQkJCQkJCQlcCiAJLm5vdGVzIDogQVQoQUREUigubm90ZXMpIC0gTE9BRF9PRkZTRVQpIHsJCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1pYTY0L3NtcC5oIGIvaW5jbHVkZS9hc20taWE2NC9zbXAuaAppbmRleCBlYzVmMzU1Li4yNzczMWUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1pYTY0L3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLWlhNjQvc21wLmgKQEAgLTM4LDkgKzM4LDYgQEAKIAlyZXR1cm4gbGlkLmYuaWQgPDwgOCB8IGxpZC5mLmVpZDsKIH0KIAotZXh0ZXJuIGludCBzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKGNwdW1hc2tfdCBtYXNrLCB2b2lkICgqZnVuYykodm9pZCAqKSwKLQkJCQkgIHZvaWQgKmluZm8sIGludCB3YWl0KTsKLQogI2RlZmluZSBoYXJkX3NtcF9wcm9jZXNzb3JfaWQoKQkJaWE2NF9nZXRfbGlkKCkKIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTEyNCwxMSArMTIxLDEyIEBACiBleHRlcm4gdm9pZCBzbXBfZG9fdGltZXIgKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKIAogZXh0ZXJuIHZvaWQgc21wX3NlbmRfcmVzY2hlZHVsZSAoaW50IGNwdSk7Ci1leHRlcm4gdm9pZCBsb2NrX2lwaV9jYWxsbG9jayh2b2lkKTsKLWV4dGVybiB2b2lkIHVubG9ja19pcGlfY2FsbGxvY2sodm9pZCk7CiBleHRlcm4gdm9pZCBpZGVudGlmeV9zaWJsaW5ncyAoc3RydWN0IGNwdWluZm9faWE2NCAqKTsKIGV4dGVybiBpbnQgaXNfbXVsdGl0aHJlYWRpbmdfZW5hYmxlZCh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbHNlIC8qIENPTkZJR19TTVAgKi8KIAogI2RlZmluZSBjcHVfbG9naWNhbF9pZChpKQkJMApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tbTMyci9zbXAuaCBiL2luY2x1ZGUvYXNtLW0zMnIvc21wLmgKaW5kZXggMDc4ZTFhNS4uYzVkZDY2OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tbTMyci9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1tMzJyL3NtcC5oCkBAIC04OSw2ICs4OSw5IEBACiBleHRlcm4gdm9pZCBzbXBfc2VuZF90aW1lcih2b2lkKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIHNlbmRfSVBJX21hc2tfcGh5cyhjcHVtYXNrX3QsIGludCwgaW50KTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZgkvKiBub3QgX19BU1NFTUJMWV9fICovCiAKICNkZWZpbmUgTk9fUFJPQ19JRCAoMHhmZikJLyogTm8gcHJvY2Vzc29yIG1hZ2ljIG1hcmtlciAqLwpAQCAtMTA0LDYgKzEwNyw3IEBACiAjZGVmaW5lIExPQ0FMX1RJTUVSX0lQSQkJKE0zMlJfSVJRX0lQSTMtTTMyUl9JUlFfSVBJMCkKICNkZWZpbmUgSU5WQUxJREFURV9DQUNIRV9JUEkJKE0zMlJfSVJRX0lQSTQtTTMyUl9JUlFfSVBJMCkKICNkZWZpbmUgQ1BVX0JPT1RfSVBJCQkoTTMyUl9JUlFfSVBJNS1NMzJSX0lSUV9JUEkwKQorI2RlZmluZSBDQUxMX0ZVTkNfU0lOR0xFX0lQSQkoTTMyUl9JUlFfSVBJNi1NMzJSX0lSUV9JUEkwKQogCiAjZGVmaW5lIElQSV9TSElGVAkoMCkKICNkZWZpbmUgTlJfSVBJUwkJKDgpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1taXBzL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaCBiL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oCmluZGV4IGRhZTRlY2EuLjg5MmI3ZjEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oCisrKyBiL2luY2x1ZGUvYXNtLW1pcHMvbWFjaC1hdTF4MDAvYXUxeHh4X3BzYy5oCkBAIC0yMDQsNiArMjA0LDE0IEBACiAJdTMyCXBzY19pMnN1ZGY7CiB9IHBzY19pMnNfdDsKIAorI2RlZmluZSBQU0NfSTJTQ0ZHX09GRlNFVAkweDA4CisjZGVmaW5lIFBTQ19JMlNNQVNLX09GRlNFVAkweDBDCisjZGVmaW5lIFBTQ19JMlNQQ1JfT0ZGU0VUCTB4MTAKKyNkZWZpbmUgUFNDX0kyU1NUQVRfT0ZGU0VUCTB4MTQKKyNkZWZpbmUgUFNDX0kyU0VWRU5UX09GRlNFVAkweDE4CisjZGVmaW5lIFBTQ19JMlNSWFRYX09GRlNFVAkweDFDCisjZGVmaW5lIFBTQ19JMlNVREZfT0ZGU0VUCTB4MjAKKwogLyogSTJTIENvbmZpZyBSZWdpc3Rlci4gKi8KICNkZWZpbmUgUFNDX0kyU0NGR19SVF9NQVNLCSgzIDw8IDMwKQogI2RlZmluZSBQU0NfSTJTQ0ZHX1JUX0ZJRk8xCSgwIDw8IDMwKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tbWlwcy9zbXAuaCBiL2luY2x1ZGUvYXNtLW1pcHMvc21wLmgKaW5kZXggODRmZWYxYS4uMGZmNWI1MiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tbWlwcy9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1taXBzL3NtcC5oCkBAIC0zNSwxNiArMzUsNiBAQAogCiAjZGVmaW5lIE5PX1BST0NfSUQJKC0xKQogCi1zdHJ1Y3QgY2FsbF9kYXRhX3N0cnVjdCB7Ci0Jdm9pZAkJKCpmdW5jKSh2b2lkICopOwotCXZvaWQJCSppbmZvOwotCWF0b21pY190CXN0YXJ0ZWQ7Ci0JYXRvbWljX3QJZmluaXNoZWQ7Ci0JaW50CQl3YWl0OwotfTsKLQotZXh0ZXJuIHN0cnVjdCBjYWxsX2RhdGFfc3RydWN0ICpjYWxsX2RhdGE7Ci0KICNkZWZpbmUgU01QX1JFU0NIRURVTEVfWU9VUlNFTEYJMHgxCS8qIFhYWCBicmFpbmRlYWQgKi8KICNkZWZpbmUgU01QX0NBTExfRlVOQ1RJT04JMHgyCiAKQEAgLTY3LDQgKzU3LDcgQEAKIAogZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBzbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7CiAKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOworCiAjZW5kaWYgLyogX19BU01fU01QX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBhcmlzYy9zbXAuaCBiL2luY2x1ZGUvYXNtLXBhcmlzYy9zbXAuaAppbmRleCAzMDZmNDk1Li4zOThjZGJhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wYXJpc2Mvc21wLmgKKysrIGIvaW5jbHVkZS9hc20tcGFyaXNjL3NtcC5oCkBAIC0zMCw2ICszMCw5IEBACiBleHRlcm4gdm9pZCBzbXBfc2VuZF9yZXNjaGVkdWxlKGludCBjcHUpOwogZXh0ZXJuIHZvaWQgc21wX3NlbmRfYWxsX25vcCh2b2lkKTsKIAorZXh0ZXJuIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX2lwaShjcHVtYXNrX3QgbWFzayk7CisKICNlbmRpZiAvKiAhQVNTRU1CTFkgKi8KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXBvd2VycGMvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOTIxMzIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9QT1dFUlBDX0ZUUkFDRQorI2RlZmluZSBfQVNNX1BPV0VSUENfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9QT1dFUlBDX0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaCBiL2luY2x1ZGUvYXNtLXBvd2VycGMvaHdfaXJxLmgKaW5kZXggYWQ4YzlmNy4uZjc1YTVmYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tcG93ZXJwYy9od19pcnEuaAorKysgYi9pbmNsdWRlL2FzbS1wb3dlcnBjL2h3X2lycS5oCkBAIC01OSw2ICs1OSwxMSBAQAogCQlnZXRfcGFjYSgpLT5oYXJkX2VuYWJsZWQgPSAwOwlcCiAJfSB3aGlsZSgwKQogCitzdGF0aWMgaW5saW5lIGludCBpcnFzX2Rpc2FibGVkX2ZsYWdzKHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJcmV0dXJuIGZsYWdzID09IDA7Cit9CisKICNlbHNlCiAKICNpZiBkZWZpbmVkKENPTkZJR19CT09LRSkKQEAgLTExMyw2ICsxMTgsMTEgQEAKICNkZWZpbmUgaGFyZF9pcnFfZW5hYmxlKCkJbG9jYWxfaXJxX2VuYWJsZSgpCiAjZGVmaW5lIGhhcmRfaXJxX2Rpc2FibGUoKQlsb2NhbF9pcnFfZGlzYWJsZSgpCiAKK3N0YXRpYyBpbmxpbmUgaW50IGlycXNfZGlzYWJsZWRfZmxhZ3ModW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlyZXR1cm4gKGZsYWdzICYgTVNSX0VFKSA9PSAwOworfQorCiAjZW5kaWYgLyogQ09ORklHX1BQQzY0ICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1wb3dlcnBjL3NtcC5oIGIvaW5jbHVkZS9hc20tcG93ZXJwYy9zbXAuaAppbmRleCA1MDVmMzViLi5jNjYzYTFmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1wb3dlcnBjL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXBvd2VycGMvc21wLmgKQEAgLTY3LDEwICs2Nyw3IEBACiAgKiBpbiAvcHJvYy9pbnRlcnJ1cHRzIHdpbGwgYmUgd3JvbmchISEgLS1Ucm95ICovCiAjZGVmaW5lIFBQQ19NU0dfQ0FMTF9GVU5DVElPTiAgIDAKICNkZWZpbmUgUFBDX01TR19SRVNDSEVEVUxFICAgICAgMQotLyogVGhpcyBpcyB1bnVzZWQgbm93ICovCi0jaWYgMAotI2RlZmluZSBQUENfTVNHX01JR1JBVEVfVEFTSyAgICAyCi0jZW5kaWYKKyNkZWZpbmUgUFBDX01TR19DQUxMX0ZVTkNfU0lOR0xFCTIKICNkZWZpbmUgUFBDX01TR19ERUJVR0dFUl9CUkVBSyAgMwogCiB2b2lkIHNtcF9pbml0X2lTZXJpZXModm9pZCk7CkBAIC0xMTcsNiArMTE0LDkgQEAKIAogZXh0ZXJuIHN0cnVjdCBzbXBfb3BzX3QgKnNtcF9vcHM7CiAKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOworCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL0tidWlsZCBiL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCmluZGV4IDEzYzk4MDUuLjA5ZjMxMjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvS2J1aWxkCkBAIC04LDYgKzgsOSBAQAogaGVhZGVyLXkgKz0gdnRvYy5oCiBoZWFkZXIteSArPSB6Y3J5cHQuaAogaGVhZGVyLXkgKz0ga3ZtLmgKK2hlYWRlci15ICs9IHNjaGlkLmgKK2hlYWRlci15ICs9IGNoc2MuaAogCiB1bmlmZGVmLXkgKz0gY21iLmgKIHVuaWZkZWYteSArPSBkZWJ1Zy5oCit1bmlmZGVmLXkgKz0gY2hwaWQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9haXJxLmggYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAppbmRleCA0MWQwMjhjLi4xYWM4MGQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2FpcnEuaApAQCAtMTMsNyArMTMsNyBAQAogCiB0eXBlZGVmIHZvaWQgKCphZGFwdGVyX2ludF9oYW5kbGVyX3QpKHZvaWQgKiwgdm9pZCAqKTsKIAotdm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKik7Ci12b2lkIHMzOTBfdW5yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdCh2b2lkICopOwordm9pZCAqczM5MF9yZWdpc3Rlcl9hZGFwdGVyX2ludGVycnVwdChhZGFwdGVyX2ludF9oYW5kbGVyX3QsIHZvaWQgKiwgdTgpOwordm9pZCBzMzkwX3VucmVnaXN0ZXJfYWRhcHRlcl9pbnRlcnJ1cHQodm9pZCAqLCB1OCk7CiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfQUlSUV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oIGIvaW5jbHVkZS9hc20tczM5MC9jY3dkZXYuaAppbmRleCAwNjZhYTcwLi5iYTAwN2Q4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Njd2Rldi5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2N3ZGV2LmgKQEAgLTEyLDYgKzEyLDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorI2luY2x1ZGUgPGFzbS9mY3guaD4KIAogLyogc3RydWN0cyBmcm9tIGFzbS9jaW8uaCAqLwogc3RydWN0IGlyYjsKQEAgLTE1Nyw2ICsxNTgsMTcgQEAKIGV4dGVybiBpbnQgY2N3X2RldmljZV9yZXN1bWUoc3RydWN0IGNjd19kZXZpY2UgKik7CiBleHRlcm4gaW50IGNjd19kZXZpY2VfaGFsdChzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKIGV4dGVybiBpbnQgY2N3X2RldmljZV9jbGVhcihzdHJ1Y3QgY2N3X2RldmljZSAqLCB1bnNpZ25lZCBsb25nKTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0X2tleShzdHJ1Y3QgY2N3X2RldmljZSAqY2Rldiwgc3RydWN0IHRjdyAqdGN3LAorCQkJICAgIHVuc2lnbmVkIGxvbmcgaW50cGFybSwgdTggbHBtLCB1OCBrZXkpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfa2V5KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgdTgpOworaW50IGNjd19kZXZpY2VfdG1fc3RhcnRfdGltZW91dF9rZXkoc3RydWN0IGNjd19kZXZpY2UgKiwgc3RydWN0IHRjdyAqLAorCQkJICAgIHVuc2lnbmVkIGxvbmcsIHU4LCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX3N0YXJ0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCk7CitpbnQgY2N3X2RldmljZV90bV9zdGFydF90aW1lb3V0KHN0cnVjdCBjY3dfZGV2aWNlICosIHN0cnVjdCB0Y3cgKiwKKwkJCSAgICB1bnNpZ25lZCBsb25nLCB1OCwgaW50KTsKK2ludCBjY3dfZGV2aWNlX3RtX2ludHJnKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKIAogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vbmxpbmUoc3RydWN0IGNjd19kZXZpY2UgKmNkZXYpOwogZXh0ZXJuIGludCBjY3dfZGV2aWNlX3NldF9vZmZsaW5lKHN0cnVjdCBjY3dfZGV2aWNlICpjZGV2KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvY2hwaWQuaAppbmRleCBiMjAzMzM2Li42MDY4NDRkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2NocGlkLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9jaHBpZC5oCkBAIC0xMCw3ICsxMCw2IEBACiAKICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLSNpbmNsdWRlIDxhc20vY2lvLmg+CiAKICNkZWZpbmUgX19NQVhfQ0hQSUQgMjU1CiAKQEAgLTQxLDYgKzQwLDkgQEAKIAl9CiB9CiAKKyNpZmRlZiBfX0tFUk5FTF9fCisjaW5jbHVkZSA8YXNtL2Npby5oPgorCiBzdGF0aWMgaW5saW5lIGludCBjaHBfaWRfaXNfdmFsaWQoc3RydWN0IGNocF9pZCAqY2hwaWQpCiB7CiAJcmV0dXJuIChjaHBpZC0+Y3NzaWQgPD0gX19NQVhfQ1NTSUQpOwpAQCAtNDksNSArNTEsNiBAQAogCiAjZGVmaW5lIGNocF9pZF9mb3JfZWFjaChjKSBcCiAJZm9yIChjaHBfaWRfaW5pdChjKTsgY2hwX2lkX2lzX3ZhbGlkKGMpOyBjaHBfaWRfbmV4dChjKSkKKyNlbmRpZiAvKiBfX0tFUk5FTCAqLwogCiAjZW5kaWYgLyogX0FTTV9TMzkwX0NIUElEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oIGIvaW5jbHVkZS9hc20tczM5MC9jaHNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM4ZDBjZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2hzYy5oCkBAIC0wLDAgKzEsMTI3IEBACisvKgorICogaW9jdGwgaW50ZXJmYWNlIGZvciAvZGV2L2Noc2MKKyAqCisgKiBDb3B5cmlnaHQgMjAwOCBJQk0gQ29ycC4KKyAqIEF1dGhvcihzKTogQ29ybmVsaWEgSHVjayA8Y29ybmVsaWEuaHVja0BkZS5pYm0uY29tPgorICovCisKKyNpZm5kZWYgX0FTTV9DSFNDX0gKKyNkZWZpbmUgX0FTTV9DSFNDX0gKKworI2luY2x1ZGUgPGFzbS9jaHBpZC5oPgorI2luY2x1ZGUgPGFzbS9zY2hpZC5oPgorCitzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgeworCV9fdTE2IGxlbmd0aDsKKwlfX3UxNiBjb2RlOworCV9fdTMyIGNtZF9kZXBlbmRlbmQ7CisJX191MzIga2V5IDogNDsKKwlfX3UzMiA6IDI4OworCXN0cnVjdCBzdWJjaGFubmVsX2lkIHNpZDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCitzdHJ1Y3QgY2hzY19hc3luY19hcmVhIHsKKwlzdHJ1Y3QgY2hzY19hc3luY19oZWFkZXIgaGVhZGVyOworCV9fdTggZGF0YVtQQUdFX1NJWkUgLSAxNiAvKiBzaXplIG9mIGNoc2NfYXN5bmNfaGVhZGVyICovXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisKK3N0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCB7CisJX191MTYgbGVuZ3RoOworCV9fdTE2IGNvZGU7CisJX191MzIgcGFybXM7CisJX191OCBkYXRhW1BBR0VfU0laRSAtIDhdOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0cnVjdCBjaHNjX2NocF9jZCB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjcGNiOworfTsKKworc3RydWN0IGNoc2NfY3VfY2QgeworCV9fdTE2IGN1bjsKKwlfX3U4IGNzc2lkOworCWludCBtOworCWludCBmbXQ7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IGN1Y2I7Cit9OworCitzdHJ1Y3QgY2hzY19zY2hfY3VkIHsKKwlzdHJ1Y3Qgc3ViY2hhbm5lbF9pZCBzY2hpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY3ViOworfTsKKworc3RydWN0IGNvbmZfaWQgeworCWludCBtOworCV9fdTggY3NzaWQ7CisJX191OCBzc2lkOworfTsKKworc3RydWN0IGNoc2NfY29uZl9pbmZvIHsKKwlzdHJ1Y3QgY29uZl9pZCBpZDsKKwlpbnQgZm10OworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBzY2lkOworfTsKKworc3RydWN0IGNjbF9wYXJtX2NocGlkIHsKKwlpbnQgbTsKKwlzdHJ1Y3QgY2hwX2lkIGNocDsKK307CisKK3N0cnVjdCBjY2xfcGFybV9jc3NpZHMgeworCV9fdTggZl9jc3NpZDsKKwlfX3U4IGxfY3NzaWQ7Cit9OworCitzdHJ1Y3QgY2hzY19jb21wX2xpc3QgeworCXN0cnVjdCB7CisJCWVudW0geworCQkJQ0NMX0NVX09OX0NIUCA9IDEsCisJCQlDQ0xfQ0hQX1RZUEVfQ0FQID0gMiwKKwkJCUNDTF9DU1NfSU1HID0gNCwKKwkJCUNDTF9DU1NfSU1HX0NPTkZfQ0hBUiA9IDUsCisJCQlDQ0xfSU9QX0NIUCA9IDYsCisJCX0gY3R5cGU7CisJCWludCBmbXQ7CisJCXN0cnVjdCBjY2xfcGFybV9jaHBpZCBjaHBpZDsKKwkJc3RydWN0IGNjbF9wYXJtX2Nzc2lkcyBjc3NpZHM7CisJfSByZXE7CisJc3RydWN0IGNoc2NfcmVzcG9uc2Vfc3RydWN0IHNjY2w7Cit9OworCitzdHJ1Y3QgY2hzY19kY2FsIHsKKwlzdHJ1Y3QgeworCQllbnVtIHsKKwkJCURDQUxfQ1NTX0lJRF9QTiA9IDQsCisJCX0gYXR5cGU7CisJCV9fdTMyIGxpc3RfcGFybVsyXTsKKwkJaW50IGZtdDsKKwl9IHJlcTsKKwlzdHJ1Y3QgY2hzY19yZXNwb25zZV9zdHJ1Y3Qgc2RjYWw7Cit9OworCitzdHJ1Y3QgY2hzY19jcGRfaW5mbyB7CisJc3RydWN0IGNocF9pZCBjaHBpZDsKKwlpbnQgbTsKKwlpbnQgZm10OworCWludCByZm10OworCWludCBjOworCXN0cnVjdCBjaHNjX3Jlc3BvbnNlX3N0cnVjdCBjaHBkYjsKK307CisKKyNkZWZpbmUgQ0hTQ19JT0NUTF9NQUdJQyAnYycKKworI2RlZmluZSBDSFNDX1NUQVJUIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODEsIHN0cnVjdCBjaHNjX2FzeW5jX2FyZWEpCisjZGVmaW5lIENIU0NfSU5GT19DSEFOTkVMX1BBVEggX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4MiwgXAorCQkJCSAgICBzdHJ1Y3QgY2hzY19jaHBfY2QpCisjZGVmaW5lIENIU0NfSU5GT19DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDgzLCBzdHJ1Y3QgY2hzY19jdV9jZCkKKyNkZWZpbmUgQ0hTQ19JTkZPX1NDSF9DVSBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg0LCBzdHJ1Y3QgY2hzY19zY2hfY3VkKQorI2RlZmluZSBDSFNDX0lORk9fQ0kgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4NSwgc3RydWN0IGNoc2NfY29uZl9pbmZvKQorI2RlZmluZSBDSFNDX0lORk9fQ0NMIF9JT1dSKENIU0NfSU9DVExfTUFHSUMsIDB4ODYsIHN0cnVjdCBjaHNjX2NvbXBfbGlzdCkKKyNkZWZpbmUgQ0hTQ19JTkZPX0NQRCBfSU9XUihDSFNDX0lPQ1RMX01BR0lDLCAweDg3LCBzdHJ1Y3QgY2hzY19jcGRfaW5mbykKKyNkZWZpbmUgQ0hTQ19JTkZPX0RDQUwgX0lPV1IoQ0hTQ19JT0NUTF9NQUdJQywgMHg4OCwgc3RydWN0IGNoc2NfZGNhbCkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oIGIvaW5jbHVkZS9hc20tczM5MC9jaW8uaAppbmRleCAwODE4ZWNkLi42ZGNjYjA3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2Npby5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvY2lvLmgKQEAgLTE2LDcgKzE2LDcgQEAKICNkZWZpbmUgX19NQVhfQ1NTSUQgMAogCiAvKioKLSAqIHN0cnVjdCBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogc3RydWN0IGNtZF9zY3N3IC0gY29tbWFuZC1tb2RlIHN1YmNoYW5uZWwgc3RhdHVzIHdvcmQKICAqIEBrZXk6IHN1YmNoYW5uZWwga2V5CiAgKiBAc2N0bDogc3VzcGVuZCBjb250cm9sCiAgKiBAZXN3ZjogZXN3IGZvcm1hdApAQCAtMzgsNyArMzgsNyBAQAogICogQGNzdGF0OiBzdWJjaGFubmVsIHN0YXR1cwogICogQGNvdW50OiByZXNpZHVhbCBjb3VudAogICovCi1zdHJ1Y3Qgc2NzdyB7CitzdHJ1Y3QgY21kX3Njc3cgewogCV9fdTMyIGtleSAgOiA0OwogCV9fdTMyIHNjdGwgOiAxOwogCV9fdTMyIGVzd2YgOiAxOwpAQCAtNjEsNiArNjEsMTE0IEBACiAJX191MzIgY291bnQgOiAxNjsKIH0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOwogCisvKioKKyAqIHN0cnVjdCB0bV9zY3N3IC0gdHJhbnNwb3J0LW1vZGUgc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGtleTogc3ViY2hhbm5lbCBrZXkKKyAqIEBlc3dmOiBlc3cgZm9ybWF0CisgKiBAY2M6IGRlZmVycmVkIGNvbmRpdGlvbiBjb2RlCisgKiBAZm10OiBmb3JtYXQKKyAqIEB4OiBJUkItZm9ybWF0IGNvbnRyb2wKKyAqIEBxOiBpbnRlcnJvZ2F0ZS1jb21wbGV0ZQorICogQGVjdGw6IGV4dGVuZGVkIGNvbnRyb2wKKyAqIEBwbm86IHBhdGggbm90IG9wZXJhdGlvbmFsCisgKiBAZmN0bDogZnVuY3Rpb24gY29udHJvbAorICogQGFjdGw6IGFjdGl2aXR5IGNvbnRyb2wKKyAqIEBzdGN0bDogc3RhdHVzIGNvbnRyb2wKKyAqIEB0Y3c6IFRDVyBhZGRyZXNzCisgKiBAZHN0YXQ6IGRldmljZSBzdGF0dXMKKyAqIEBjc3RhdDogc3ViY2hhbm5lbCBzdGF0dXMKKyAqIEBmY3hzOiBGQ1ggc3RhdHVzCisgKiBAc2NoeHM6IHN1YmNoYW5uZWwtZXh0ZW5kZWQgc3RhdHVzCisgKi8KK3N0cnVjdCB0bV9zY3N3IHsKKwl1MzIga2V5OjQ7CisJdTMyIDoxOworCXUzMiBlc3dmOjE7CisJdTMyIGNjOjI7CisJdTMyIGZtdDozOworCXUzMiB4OjE7CisJdTMyIHE6MTsKKwl1MzIgOjE7CisJdTMyIGVjdGw6MTsKKwl1MzIgcG5vOjE7CisJdTMyIDoxOworCXUzMiBmY3RsOjM7CisJdTMyIGFjdGw6NzsKKwl1MzIgc3RjdGw6NTsKKwl1MzIgdGN3OworCXUzMiBkc3RhdDo4OworCXUzMiBjc3RhdDo4OworCXUzMiBmY3hzOjg7CisJdTMyIHNjaHhzOjg7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiB1bmlvbiBzY3N3IC0gc3ViY2hhbm5lbCBzdGF0dXMgd29yZAorICogQGNtZDogY29tbWFuZC1tb2RlIFNDU1cKKyAqIEB0bTogdHJhbnNwb3J0LW1vZGUgU0NTVworICovCit1bmlvbiBzY3N3IHsKKwlzdHJ1Y3QgY21kX3Njc3cgY21kOworCXN0cnVjdCB0bV9zY3N3IHRtOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK2ludCBzY3N3X2lzX3RtKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NjKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOwordTMyIHNjc3dfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7Cit1MzIgc2Nzd19kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK3UzMiBzY3N3X2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfa2V5KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZXN3Zih1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfaXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9zY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfY2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZm10KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3BmY2godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfaXNpYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hbGNjKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3NzaSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF96Y2ModW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9wbm8odW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd19jbWRfaXNfdmFsaWRfZmN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X2NtZF9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX3N0Y3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2RzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfY21kX2lzX3NvbGljaXRlZCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2tleSh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2Vzd2YodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9jYyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZtdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3godW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9xKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZWN0bCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3Bubyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2ZjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9hY3RsKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfc3RjdGwodW5pb24gc2NzdyAqc2Nzdyk7CitpbnQgc2Nzd190bV9pc192YWxpZF9kc3RhdCh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX2NzdGF0KHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfdmFsaWRfZmN4cyh1bmlvbiBzY3N3ICpzY3N3KTsKK2ludCBzY3N3X3RtX2lzX3ZhbGlkX3NjaHhzKHVuaW9uIHNjc3cgKnNjc3cpOworaW50IHNjc3dfdG1faXNfc29saWNpdGVkKHVuaW9uIHNjc3cgKnNjc3cpOworCiAjZGVmaW5lIFNDU1dfRkNUTF9DTEVBUl9GVU5DCSAweDEKICNkZWZpbmUgU0NTV19GQ1RMX0hBTFRfRlVOQwkgMHgyCiAjZGVmaW5lIFNDU1dfRkNUTF9TVEFSVF9GVU5DCSAweDQKQEAgLTMwMyw3ICs0MTEsNyBAQAogICogaWYgYXBwbGljYWJsZSkuCiAgKi8KIHN0cnVjdCBpcmIgewotCXN0cnVjdCBzY3N3IHNjc3c7CisJdW5pb24gc2NzdyBzY3N3OwogCXVuaW9uIHsKIAkJc3RydWN0IGVzdzAgZXN3MDsKIAkJc3RydWN0IGVzdzEgZXN3MTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmggYi9pbmNsdWRlL2FzbS1zMzkwL2VsZi5oCmluZGV4IGIzYWMyNjIuLjNjYWQ1NjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvZWxmLmgKKysrIGIvaW5jbHVkZS9hc20tczM5MC9lbGYuaApAQCAtMTEzLDYgKzExMyw5IEBACiB0eXBlZGVmIHMzOTBfZnBfcmVncyBlbGZfZnByZWdzZXRfdDsKIHR5cGVkZWYgczM5MF9yZWdzIGVsZl9ncmVnc2V0X3Q7CiAKK3R5cGVkZWYgczM5MF9mcF9yZWdzIGNvbXBhdF9lbGZfZnByZWdzZXRfdDsKK3R5cGVkZWYgczM5MF9jb21wYXRfcmVncyBjb21wYXRfZWxmX2dyZWdzZXRfdDsKKwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CS8qIGZvciB0YXNrX3N0cnVjdCAqLwogI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4JCS8qIGZvciBzYXZlX2FjY2Vzc19yZWdzICovCiAjaW5jbHVkZSA8YXNtL21tdV9jb250ZXh0Lmg+CkBAIC0xMjMsNiArMTI2LDEwIEBACiAjZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpIFwKIAkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKICAgICAgICAgICYmICh4KS0+ZV9pZGVudFtFSV9DTEFTU10gPT0gRUxGX0NMQVNTKSAKKyNkZWZpbmUgY29tcGF0X2VsZl9jaGVja19hcmNoKHgpIFwKKwkoKCh4KS0+ZV9tYWNoaW5lID09IEVNX1MzOTAgfHwgKHgpLT5lX21hY2hpbmUgPT0gRU1fUzM5MF9PTEQpIFwKKwkgJiYgKHgpLT5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZfQ0xBU1MpCisjZGVmaW5lIGNvbXBhdF9zdGFydF90aHJlYWQJc3RhcnRfdGhyZWFkMzEKIAogLyogRm9yIFNWUjQvUzM5MCB0aGUgZnVuY3Rpb24gcG9pbnRlciB0byBiZSByZWdpc3RlcmVkIHdpdGggYGF0ZXhpdGAgaXMKICAgIHBhc3NlZCBpbiBSMTQuICovCkBAIC0xMzEsNiArMTM4LDcgQEAKIAkJX3ItPmdwcnNbMTRdID0gMDsgXAogCX0gd2hpbGUgKDApCiAKKyNkZWZpbmUgQ09SRV9EVU1QX1VTRV9SRUdTRVQKICNkZWZpbmUgVVNFX0VMRl9DT1JFX0RVTVAKICNkZWZpbmUgRUxGX0VYRUNfUEFHRVNJWkUJNDA5NgogCkBAIC0xNDAsNDQgKzE0OCw2IEBACiAgICB0aGF0IGl0IHdpbGwgImV4ZWMiLCBhbmQgdGhhdCB0aGVyZSBpcyBzdWZmaWNpZW50IHJvb20gZm9yIHRoZSBicmsuICAqLwogI2RlZmluZSBFTEZfRVRfRFlOX0JBU0UJCShTVEFDS19UT1AgLyAzICogMikKIAotLyogV293LCB0aGUgIm1haW4iIGFyY2ggbmVlZHMgYXJjaCBkZXBlbmRlbnQgZnVuY3Rpb25zIHRvby4uIDopICovCi0KLS8qIHJlZ3MgaXMgc3RydWN0IHB0X3JlZ3MsIHByX3JlZyBpcyBlbGZfZ3JlZ3NldF90ICh3aGljaCBpcwotICAgbm93IHN0cnVjdF91c2VyX3JlZ3MsIHRoZXkgYXJlIGRpZmZlcmVudCkgKi8KLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF9yZWdzKHN0cnVjdCBwdF9yZWdzICpwdHJlZ3MsIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0JbWVtY3B5KCZyZWdzLT5wc3csICZwdHJlZ3MtPnBzdywgc2l6ZW9mKHJlZ3MtPnBzdykrc2l6ZW9mKHJlZ3MtPmdwcnMpKTsKLQlzYXZlX2FjY2Vzc19yZWdzKHJlZ3MtPmFjcnMpOwotCXJlZ3MtPm9yaWdfZ3ByMiA9IHB0cmVncy0+b3JpZ19ncHIyOwotCXJldHVybiAxOwotfQotCi0jZGVmaW5lIEVMRl9DT1JFX0NPUFlfUkVHUyhwcl9yZWcsIHJlZ3MpIGR1bXBfcmVncyhyZWdzLCAmcHJfcmVnKTsKLQotc3RhdGljIGlubGluZSBpbnQgZHVtcF90YXNrX3JlZ3Moc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9ncmVnc2V0X3QgKnJlZ3MpCi17Ci0Jc3RydWN0IHB0X3JlZ3MgKnB0cmVncyA9IHRhc2tfcHRfcmVncyh0c2spOwotCW1lbWNweSgmcmVncy0+cHN3LCAmcHRyZWdzLT5wc3csIHNpemVvZihyZWdzLT5wc3cpK3NpemVvZihyZWdzLT5ncHJzKSk7Ci0JbWVtY3B5KHJlZ3MtPmFjcnMsIHRzay0+dGhyZWFkLmFjcnMsIHNpemVvZihyZWdzLT5hY3JzKSk7Ci0JcmVncy0+b3JpZ19ncHIyID0gcHRyZWdzLT5vcmlnX2dwcjI7Ci0JcmV0dXJuIDE7Ci19Ci0KLSNkZWZpbmUgRUxGX0NPUkVfQ09QWV9UQVNLX1JFR1ModHNrLCByZWdzKSBkdW1wX3Rhc2tfcmVncyh0c2ssIHJlZ3MpCi0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bXBfdGFza19mcHUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGVsZl9mcHJlZ3NldF90ICpmcHJlZ3MpCi17Ci0JaWYgKHRzayA9PSBjdXJyZW50KQotCQlzYXZlX2ZwX3JlZ3MoZnByZWdzKTsKLQllbHNlCi0JCW1lbWNweShmcHJlZ3MsICZ0c2stPnRocmVhZC5mcF9yZWdzLCBzaXplb2YoZWxmX2ZwcmVnc2V0X3QpKTsKLQlyZXR1cm4gMTsKLX0KLQotI2RlZmluZSBFTEZfQ09SRV9DT1BZX0ZQUkVHUyh0c2ssIGZwcmVncykgZHVtcF90YXNrX2ZwdSh0c2ssIGZwcmVncykKLQotCiAvKiBUaGlzIHlpZWxkcyBhIG1hc2sgdGhhdCB1c2VyIHByb2dyYW1zIGNhbiB1c2UgdG8gZmlndXJlIG91dCB3aGF0CiAgICBpbnN0cnVjdGlvbiBzZXQgdGhpcyBDUFUgc3VwcG9ydHMuICovCiAKQEAgLTIwNCw3ICsxNzQsMTAgQEAKIAkJc2V0X3BlcnNvbmFsaXR5KFBFUl9TVlI0KTsJCVwKIAllbHNlIGlmIChjdXJyZW50LT5wZXJzb25hbGl0eSAhPSBQRVJfTElOVVgzMikJXAogCQlzZXRfcGVyc29uYWxpdHkoUEVSX0xJTlVYKTsJCVwKLQljbGVhcl90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJCVwKKwlpZiAoKGV4KS5lX2lkZW50W0VJX0NMQVNTXSA9PSBFTEZDTEFTUzMyKQlcCisJCXNldF90aHJlYWRfZmxhZyhUSUZfMzFCSVQpOwkJXAorCWVsc2UJCQkJCQlcCisJCWNsZWFyX3RocmVhZF9mbGFnKFRJRl8zMUJJVCk7CQlcCiB9IHdoaWxlICgwKQogI2VuZGlmIC8qIF9fczM5MHhfXyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oIGIvaW5jbHVkZS9hc20tczM5MC9ldHIuaAppbmRleCBiNDk4ZjE5Li44MGVmNThjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2V0ci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvZXRyLmgKQEAgLTEyMiw3ICsxMjIsNyBAQAogfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoOCkpKTsKIAogLyogRVRSIGludGVycnVwdGlvbiBwYXJhbWV0ZXIgKi8KLXN0cnVjdCBldHJfaW50ZXJydXB0aW9uX3BhcmFtZXRlciB7CitzdHJ1Y3QgZXRyX2lycV9wYXJtIHsKIAl1bnNpZ25lZCBpbnQgX3BhZDAJOiA4OwogCXVuc2lnbmVkIGludCBwYzAJOiAxOwkvKiBwb3J0IDAgc3RhdGUgY2hhbmdlICovCiAJdW5zaWduZWQgaW50IHBjMQk6IDE7CS8qIHBvcnQgMSBzdGF0ZSBjaGFuZ2UgKi8KQEAgLTIxMyw3ICsyMTMsNDYgQEAKICNkZWZpbmUgRVRSX1BURkZfU0dTCTB4NDMJLyogc2V0IGdyb3NzIHN0ZWVyaW5nIHJhdGUgKi8KIAogLyogRnVuY3Rpb25zIG5lZWRlZCBieSB0aGUgbWFjaGluZSBjaGVjayBoYW5kbGVyICovCi1leHRlcm4gdm9pZCBldHJfc3dpdGNoX3RvX2xvY2FsKHZvaWQpOwotZXh0ZXJuIHZvaWQgZXRyX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIGV0cl9zd2l0Y2hfdG9fbG9jYWwodm9pZCk7Cit2b2lkIGV0cl9zeW5jX2NoZWNrKHZvaWQpOworCisvKiBTVFAgaW50ZXJydXB0aW9uIHBhcmFtZXRlciAqLworc3RydWN0IHN0cF9pcnFfcGFybSB7CisJdW5zaWduZWQgaW50IF9wYWQwCTogMTQ7CisJdW5zaWduZWQgaW50IHRzYwk6IDE7CS8qIFRpbWluZyBzdGF0dXMgY2hhbmdlICovCisJdW5zaWduZWQgaW50IGxhYwk6IDE7CS8qIExpbmsgYXZhaWxhYmlsaXR5IGNoYW5nZSAqLworCXVuc2lnbmVkIGludCB0Y3BjCTogMTsJLyogVGltZSBjb250cm9sIHBhcmFtZXRlciBjaGFuZ2UgKi8KKwl1bnNpZ25lZCBpbnQgX3BhZDIJOiAxNTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFNUUF9PUF9TWU5DCTEKKyNkZWZpbmUgU1RQX09QX0NUUkwJMworCitzdHJ1Y3Qgc3RwX3NzdHBpIHsKKwl1bnNpZ25lZCBpbnQgcnN2ZDA7CisJdW5zaWduZWQgaW50IHJzdmQxIDogODsKKwl1bnNpZ25lZCBpbnQgc3RyYXR1bSA6IDg7CisJdW5zaWduZWQgaW50IHZiaXRzIDogMTY7CisJdW5zaWduZWQgaW50IGxlYXBzIDogMTY7CisJdW5zaWduZWQgaW50IHRtZCA6IDQ7CisJdW5zaWduZWQgaW50IGN0biA6IDQ7CisJdW5zaWduZWQgaW50IHJzdmQyIDogMzsKKwl1bnNpZ25lZCBpbnQgYyA6IDE7CisJdW5zaWduZWQgaW50IHRzdCA6IDQ7CisJdW5zaWduZWQgaW50IHR6byA6IDE2OworCXVuc2lnbmVkIGludCBkc3RvIDogMTY7CisJdW5zaWduZWQgaW50IGN0cmwgOiAxNjsKKwl1bnNpZ25lZCBpbnQgcnN2ZDMgOiAxNjsKKwl1bnNpZ25lZCBpbnQgdHRvOworCXVuc2lnbmVkIGludCByc3ZkNDsKKwl1bnNpZ25lZCBpbnQgY3RuaWRbM107CisJdW5zaWduZWQgaW50IHJzdmQ1OworCXVuc2lnbmVkIGludCB0b2RvZmZbNF07CisJdW5zaWduZWQgaW50IHJzdmQ2WzQ4XTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBGdW5jdGlvbnMgbmVlZGVkIGJ5IHRoZSBtYWNoaW5lIGNoZWNrIGhhbmRsZXIgKi8KK3ZvaWQgc3RwX3N5bmNfY2hlY2sodm9pZCk7Cit2b2lkIHN0cF9pc2xhbmRfY2hlY2sodm9pZCk7CiAKICNlbmRpZiAvKiBfX1MzOTBfRVRSX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvZmN4LmggYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZTFmM2EKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2ZjeC5oCkBAIC0wLDAgKzEsMzExIEBACisvKgorICogIEZ1bmN0aW9ucyBmb3IgYXNzZW1ibGluZyBmY3ggZW5hYmxlZCBJL08gY29udHJvbCBibG9ja3MuCisgKgorICogICAgQ29weXJpZ2h0IElCTSBDb3JwLiAyMDA4CisgKiAgICBBdXRob3Iocyk6IFBldGVyIE9iZXJwYXJsZWl0ZXIgPHBldGVyLm9iZXJwYXJsZWl0ZXJAZGUuaWJtLmNvbT4KKyAqLworCisjaWZuZGVmIF9BU01fUzM5MF9GQ1hfSAorI2RlZmluZSBfQVNNX1MzOTBfRkNYX0ggX0FTTV9TMzkwX0ZDWF9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisjZGVmaW5lIFRDV19GT1JNQVRfREVGQVVMVAkJMAorI2RlZmluZSBUQ1dfVElEQVdfRk9STUFUX0RFRkFVTFQJMAorI2RlZmluZSBUQ1dfRkxBR1NfSU5QVVRfVElEQQkJMSA8PCAoMjMgLSA1KQorI2RlZmluZSBUQ1dfRkxBR1NfVENDQl9USURBCQkxIDw8ICgyMyAtIDYpCisjZGVmaW5lIFRDV19GTEFHU19PVVRQVVRfVElEQQkJMSA8PCAoMjMgLSA3KQorI2RlZmluZSBUQ1dfRkxBR1NfVElEQVdfRk9STUFUKHgpCSgoeCkgJiAzKSA8PCAoMjMgLSA5KQorI2RlZmluZSBUQ1dfRkxBR1NfR0VUX1RJREFXX0ZPUk1BVCh4KQkoKCh4KSA+PiAoMjMgLSA5KSkgJiAzKQorCisvKioKKyAqIHN0cnVjdCB0Y3cgLSBUcmFuc3BvcnQgQ29udHJvbCBXb3JkIChUQ1cpCisgKiBAZm9ybWF0OiBUQ1cgZm9ybWF0CisgKiBAZmxhZ3M6IFRDVyBmbGFncworICogQHRjY2JsOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIExlbmd0aAorICogQHI6IFJlYWQgT3BlcmF0aW9ucworICogQHc6IFdyaXRlIE9wZXJhdGlvbnMKKyAqIEBvdXRwdXQ6IE91dHB1dC1EYXRhIEFkZHJlc3MKKyAqIEBpbnB1dDogSW5wdXQtRGF0YSBBZGRyZXNzCisgKiBAdHNiOiBUcmFuc3BvcnQtU3RhdHVzLUJsb2NrIEFkZHJlc3MKKyAqIEB0Y2NiOiBUcmFuc3BvcnQtQ29tbWFuZC1Db250cm9sLUJsb2NrIEFkZHJlc3MKKyAqIEBvdXRwdXRfY291bnQ6IE91dHB1dCBDb3VudAorICogQGlucHV0X2NvdW50OiBJbnB1dCBDb3VudAorICogQGludHJnOiBJbnRlcnJvZ2F0ZSBUQ1cgQWRkcmVzcworICovCitzdHJ1Y3QgdGN3IHsKKwl1MzIgZm9ybWF0OjI7CisJdTMyIDo2OworCXUzMiBmbGFnczoyNDsKKwl1MzIgOjg7CisJdTMyIHRjY2JsOjY7CisJdTMyIHI6MTsKKwl1MzIgdzoxOworCXUzMiA6MTY7CisJdTY0IG91dHB1dDsKKwl1NjQgaW5wdXQ7CisJdTY0IHRzYjsKKwl1NjQgdGNjYjsKKwl1MzIgb3V0cHV0X2NvdW50OworCXUzMiBpbnB1dF9jb3VudDsKKwl1MzIgOjMyOworCXUzMiA6MzI7CisJdTMyIDozMjsKKwl1MzIgaW50cmc7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNjQpKSk7CisKKyNkZWZpbmUgVElEQVdfRkxBR1NfTEFTVAkJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRJREFXX0ZMQUdTX1NLSVAJCTEgPDwgKDcgLSAxKQorI2RlZmluZSBUSURBV19GTEFHU19EQVRBX0lOVAkJMSA8PCAoNyAtIDIpCisjZGVmaW5lIFRJREFXX0ZMQUdTX1RUSUMJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUSURBV19GTEFHU19JTlNFUlRfQ0JDCQkxIDw8ICg3IC0gNCkKKworLyoqCisgKiBzdHJ1Y3QgdGlkYXcgLSBUcmFuc3BvcnQtSW5kaXJlY3QtQWRkcmVzc2luZyBXb3JkIChUSURBVykKKyAqIEBmbGFnczogVElEQVcgZmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgorICogJVRJREFXX0ZMQUdTX0xBU1QsICVUSURBV19GTEFHU19TS0lQLCAlVElEQVdfRkxBR1NfREFUQV9JTlQsCisgKiAlVElEQVdfRkxBR1NfVFRJQywgJVRJREFXX0ZMQUdTX0lOU0VSVF9DQkMKKyAqIEBjb3VudDogQ291bnQKKyAqIEBhZGRyOiBBZGRyZXNzCisgKi8KK3N0cnVjdCB0aWRhdyB7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgY291bnQ7CisJdTY0IGFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoMTYpKSk7CisKKy8qKgorICogc3RydWN0IHRzYV9pb3N0YXQgLSBJL08tU3RhdHVzIFRyYW5zcG9ydC1TdGF0dXMgQXJlYSAoSU8tU3RhdCBUU0EpCisgKiBAZGV2X3RpbWU6IERldmljZSBUaW1lCisgKiBAZGVmX3RpbWU6IERlZmVyIFRpbWUKKyAqIEBxdWV1ZV90aW1lOiBRdWV1ZSBUaW1lCisgKiBAZGV2X2J1c3lfdGltZTogRGV2aWNlLUJ1c3kgVGltZQorICogQGRldl9hY3RfdGltZTogRGV2aWNlLUFjdGl2ZS1Pbmx5IFRpbWUKKyAqIEBzZW5zZTogU2Vuc2UgRGF0YSAoaWYgcHJlc2VudCkKKyAqLworc3RydWN0IHRzYV9pb3N0YXQgeworCXUzMiBkZXZfdGltZTsKKwl1MzIgZGVmX3RpbWU7CisJdTMyIHF1ZXVlX3RpbWU7CisJdTMyIGRldl9idXN5X3RpbWU7CisJdTMyIGRldl9hY3RfdGltZTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2RkcGNzIC0gRGV2aWNlLURldGVjdGVkLVByb2dyYW0tQ2hlY2sgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChERFBDIFRTQSkKKyAqIEByYzogUmVhc29uIENvZGUKKyAqIEByY3E6IFJlYXNvbiBDb2RlIFF1YWxpZmllcgorICogQHNlbnNlOiBTZW5zZSBEYXRhIChpZiBwcmVzZW50KQorICovCitzdHJ1Y3QgdHNhX2RkcGMgeworCXUzMiA6MjQ7CisJdTMyIHJjOjg7CisJdTggcmNxWzE2XTsKKwl1OCBzZW5zZVszMl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQJCTEgPDwgKDcgLSAwKQorI2RlZmluZSBUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMSkKKyNkZWZpbmUgVFNBX0lOVFJHX0ZMQUdTX09QX1NUQVRFX1ZBTElECQkxIDw8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgdHNhX2ludHJnIC0gSW50ZXJyb2dhdGUgVHJhbnNwb3J0LVN0YXR1cyBBcmVhIChJbnRyZy4gVFNBKQorICogQGZvcm1hdDogRm9ybWF0CisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0FfSU5UUkdfRkxBR1NfQ1VfU1RBVEVfVkFMSUQsICVUU0FfSU5UUkdfRkxBR1NfREVWX1NUQVRFX1ZBTElELAorICogJVRTQV9JTlRSR19GTEFHU19PUF9TVEFURV9WQUxJRAorICogQGN1X3N0YXRlOiBDb250cm9sZS1Vbml0IFN0YXRlCisgKiBAZGV2X3N0YXRlOiBEZXZpY2UgU3RhdGUKKyAqIEBvcF9zdGF0ZTogT3BlcmF0aW9uIFN0YXRlCisgKiBAc2RfaW5mbzogU3RhdGUtRGVwZW5kZW50IEluZm9ybWF0aW9uCisgKiBAZGxfaWQ6IERldmljZS1MZXZlbCBJZGVudGlmaWVyCisgKiBAZGRfZGF0YTogRGV2aWNlLURlcGVuZGVudCBEYXRhCisgKi8KK3N0cnVjdCB0c2FfaW50cmcgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgY3Vfc3RhdGU6ODsKKwl1MzIgZGV2X3N0YXRlOjg7CisJdTMyIG9wX3N0YXRlOjg7CisJdTMyIDoyNDsKKwl1OCBzZF9pbmZvWzEyXTsKKwl1MzIgZGxfaWQ7CisJdTggZGRfZGF0YVsyOF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBUU0JfRk9STUFUX05PTkUJCTAKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JT1NUQVQJMQorI2RlZmluZSBUU0JfRk9STUFUX0REUEMJCTIKKyNkZWZpbmUgVFNCX0ZPUk1BVF9JTlRSRwkzCisKKyNkZWZpbmUgVFNCX0ZMQUdTX0RDV19PRkZTRVRfVkFMSUQJMSA8PCAoNyAtIDApCisjZGVmaW5lIFRTQl9GTEFHU19DT1VOVF9WQUxJRAkJMSA8PCAoNyAtIDEpCisjZGVmaW5lIFRTQl9GTEFHU19DQUNIRV9NSVNTCQkxIDw8ICg3IC0gMikKKyNkZWZpbmUgVFNCX0ZMQUdTX1RJTUVfVkFMSUQJCTEgPDwgKDcgLSAzKQorI2RlZmluZSBUU0JfRkxBR1NfRk9STUFUKHgpCQkoKHgpICYgNykKKyNkZWZpbmUgVFNCX0ZPUk1BVCh0KQkJCSgodCktPmZsYWdzICYgNykKKworLyoqCisgKiBzdHJ1Y3QgdHNiIC0gVHJhbnNwb3J0LVN0YXR1cyBCbG9jayAoVFNCKQorICogQGxlbmd0aDogTGVuZ3RoCisgKiBAZmxhZ3M6IEZsYWdzLiBDYW4gYmUgYW4gYXJpdGhtZXRpYyBPUiBvZiB0aGUgZm9sbG93aW5nIGNvbnN0YW50czoKKyAqICVUU0JfRkxBR1NfRENXX09GRlNFVF9WQUxJRCwgJVRTQl9GTEFHU19DT1VOVF9WQUxJRCwgJVRTQl9GTEFHU19DQUNIRV9NSVNTLAorICogJVRTQl9GTEFHU19USU1FX1ZBTElECisgKiBAZGN3X29mZnNldDogRENXIE9mZnNldAorICogQGNvdW50OiBDb3VudAorICogQHRzYTogVHJhbnNwb3J0LVN0YXR1cy1BcmVhCisgKi8KK3N0cnVjdCB0c2IgeworCXUzMiBsZW5ndGg6ODsKKwl1MzIgZmxhZ3M6ODsKKwl1MzIgZGN3X29mZnNldDoxNjsKKwl1MzIgY291bnQ7CisJdTMyIDozMjsKKwl1bmlvbiB7CisJCXN0cnVjdCB0c2FfaW9zdGF0IGlvc3RhdDsKKwkJc3RydWN0IHRzYV9kZHBjIGRkcGM7CisJCXN0cnVjdCB0c2FfaW50cmcgaW50cmc7CisJfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSkgdHNhOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLCBhbGlnbmVkKDgpKSk7CisKKyNkZWZpbmUgRENXX0lOVFJHX0ZPUk1BVF9ERUZBVUxUCTAKKworI2RlZmluZSBEQ1dfSU5UUkdfUkNfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNfVElNRU9VVAkJMQorCisjZGVmaW5lIERDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQJMAorI2RlZmluZSBEQ1dfSU5UUkdfUkNRX1BSSU1BUlkJCTEKKyNkZWZpbmUgRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkJCTIKKworI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfTVBNCQkxIDwgKDcgLSAwKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfUFBSCQkxIDwgKDcgLSAxKQorI2RlZmluZSBEQ1dfSU5UUkdfRkxBR1NfQ1JJVAkJMSA8ICg3IC0gMikKKworLyoqCisgKiBzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgLSBJbnRlcnJvZ2F0ZSBEQ1cgZGF0YQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJURDV19JTlRSR19GT1JNQVRfREVGQVVMVAorICogQHJjOiBSZWFzb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0lOVFJHX1JDX1VOU1BFQ0lGSUVELAorICogJURDV19JTlRSR19SQ19USU1FT1VUCisgKiBAcmNxOiBSZWFzb24gQ29kZSBRdWFsaWZpZXI6IENhbiBiZSBvbmUgb2YgJURDV19JTlRSR19SQ1FfVU5TUEVDSUZJRUQsCisgKiAlRENXX0lOVFJHX1JDUV9QUklNQVJZLCAlRENXX0lOVFJHX1JDUV9TRUNPTkRBUlkKKyAqIEBscG06IExvZ2ljYWwtUGF0aCBNYXNrCisgKiBAcGFtOiBQYXRoLUF2YWlsYWJsZSBNYXNrCisgKiBAcGltOiBQYXRoLUluc3RhbGxlZCBNYXNrCisgKiBAdGltZW91dDogVGltZW91dAorICogQGZsYWdzOiBGbGFncy4gQ2FuIGJlIGFuIGFyaXRobWV0aWMgT1Igb2YgJURDV19JTlRSR19GTEFHU19NUE0sCisgKiAlRENXX0lOVFJHX0ZMQUdTX1BQUiwgJURDV19JTlRSR19GTEFHU19DUklUCisgKiBAdGltZTogVGltZQorICogQHByb2dfaWQ6IFByb2dyYW0gSWRlbnRpZmllcgorICogQHByb2dfZGF0YTogUHJvZ3JhbS1EZXBlbmRlbnQgRGF0YQorICovCitzdHJ1Y3QgZGN3X2ludHJnX2RhdGEgeworCXUzMiBmb3JtYXQ6ODsKKwl1MzIgcmM6ODsKKwl1MzIgcmNxOjg7CisJdTMyIGxwbTo4OworCXUzMiBwYW06ODsKKwl1MzIgcGltOjg7CisJdTMyIHRpbWVvdXQ6MTY7CisJdTMyIGZsYWdzOjg7CisJdTMyIDoyNDsKKwl1MzIgOjMyOworCXU2NCB0aW1lOworCXU2NCBwcm9nX2lkOworCXU4ICBwcm9nX2RhdGFbMF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBEQ1dfRkxBR1NfQ0MJCTEgPDwgKDcgLSAxKQorCisjZGVmaW5lIERDV19DTURfV1JJVEUJCTB4MDEKKyNkZWZpbmUgRENXX0NNRF9SRUFECQkweDAyCisjZGVmaW5lIERDV19DTURfQ09OVFJPTAkJMHgwMworI2RlZmluZSBEQ1dfQ01EX1NFTlNFCQkweDA0CisjZGVmaW5lIERDV19DTURfU0VOU0VfSUQJMHhlNAorI2RlZmluZSBEQ1dfQ01EX0lOVFJHCQkweDQwCisKKy8qKgorICogc3RydWN0IGRjdyAtIERldmljZS1Db21tYW5kIFdvcmQgKERDVykKKyAqIEBjbWQ6IENvbW1hbmQgQ29kZS4gQ2FuIGJlIG9uZSBvZiAlRENXX0NNRF9XUklURSwgJURDV19DTURfUkVBRCwKKyAqICVEQ1dfQ01EX0NPTlRST0wsICVEQ1dfQ01EX1NFTlNFLCAlRENXX0NNRF9TRU5TRV9JRCwgJURDV19DTURfSU5UUkcKKyAqIEBmbGFnczogRmxhZ3MuIENhbiBiZSBhbiBhcml0aG1ldGljIE9SIG9mICVEQ1dfRkxBR1NfQ0MKKyAqIEBjZF9jb3VudDogQ29udHJvbC1EYXRhIENvdW50CisgKiBAY291bnQ6IENvdW50CisgKiBAY2Q6IENvbnRyb2wgRGF0YQorICovCitzdHJ1Y3QgZGN3IHsKKwl1MzIgY21kOjg7CisJdTMyIGZsYWdzOjg7CisJdTMyIDo4OworCXUzMiBjZF9jb3VudDo4OworCXUzMiBjb3VudDsKKwl1OCBjZFswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisjZGVmaW5lIFRDQ0JfRk9STUFUX0RFRkFVTFQJMHg3ZgorI2RlZmluZSBUQ0NCX01BWF9EQ1cJCTMwCisjZGVmaW5lIFRDQ0JfTUFYX1NJWkUJCShzaXplb2Yoc3RydWN0IHRjY2JfdGNhaCkgKyBcCisJCQkJIFRDQ0JfTUFYX0RDVyAqIHNpemVvZihzdHJ1Y3QgZGN3KSArIFwKKwkJCQkgc2l6ZW9mKHN0cnVjdCB0Y2NiX3RjYXQpKQorI2RlZmluZSBUQ0NCX1NBQ19ERUZBVUxUCTB4ZjkwMQorI2RlZmluZSBUQ0NCX1NBQ19JTlRSRwkJMHhmOTAyCisKKy8qKgorICogc3RydWN0IHRjY2JfdGNhaCAtIFRyYW5zcG9ydC1Db21tYW5kLUFyZWEgSGVhZGVyIChUQ0FIKQorICogQGZvcm1hdDogRm9ybWF0LiBTaG91bGQgYmUgJVRDQ0JfRk9STUFUX0RFRkFVTFQKKyAqIEB0Y2FsOiBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIExlbmd0aAorICogQHNhYzogU2VydmljZS1BY3Rpb24gQ29kZS4gQ2FuIGJlIG9uZSBvZiAlVENDQl9TQUNfREVGQVVMVCwgJVRDQ0JfU0FDX0lOVFJHCisgKiBAcHJpbzogUHJpb3JpdHkKKyAqLworc3RydWN0IHRjY2JfdGNhaCB7CisJdTMyIGZvcm1hdDo4OworCXUzMiA6MjQ7CisJdTMyIDoyNDsKKwl1MzIgdGNhbDo4OworCXUzMiBzYWM6MTY7CisJdTMyIDo4OworCXUzMiBwcmlvOjg7CisJdTMyIDozMjsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiX3RjYXQgLSBUcmFuc3BvcnQtQ29tbWFuZC1BcmVhIFRyYWlsZXIgKFRDQVQpCisgKiBAY291bnQ6IFRyYW5zcG9ydCBDb3VudAorICovCitzdHJ1Y3QgdGNjYl90Y2F0IHsKKwl1MzIgOjMyOworCXUzMiBjb3VudDsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKioKKyAqIHN0cnVjdCB0Y2NiIC0gKHBhcnRpYWwpIFRyYW5zcG9ydC1Db21tYW5kLUNvbnRyb2wgQmxvY2sgKFRDQ0IpCisgKiBAdGNhaDogVENBSAorICogQHRjYTogVHJhbnNwb3J0LUNvbW1hbmQgQXJlYQorICovCitzdHJ1Y3QgdGNjYiB7CisJc3RydWN0IHRjY2JfdGNhaCB0Y2FoOworCXU4IHRjYVswXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCwgYWxpZ25lZCg4KSkpOworCitzdHJ1Y3QgdGN3ICp0Y3dfZ2V0X2ludHJnKHN0cnVjdCB0Y3cgKnRjdyk7Cit2b2lkICp0Y3dfZ2V0X2RhdGEoc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0Y2NiICp0Y3dfZ2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3KTsKK3N0cnVjdCB0c2IgKnRjd19nZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdyk7CisKK3ZvaWQgdGN3X2luaXQoc3RydWN0IHRjdyAqdGN3LCBpbnQgciwgaW50IHcpOwordm9pZCB0Y3dfZmluYWxpemUoc3RydWN0IHRjdyAqdGN3LCBpbnQgbnVtX3RpZGF3cyk7CisKK3ZvaWQgdGN3X3NldF9pbnRyZyhzdHJ1Y3QgdGN3ICp0Y3csIHN0cnVjdCB0Y3cgKmludHJnX3Rjdyk7Cit2b2lkIHRjd19zZXRfZGF0YShzdHJ1Y3QgdGN3ICp0Y3csIHZvaWQgKmRhdGEsIGludCB1c2VfdGlkYWwpOwordm9pZCB0Y3dfc2V0X3RjY2Ioc3RydWN0IHRjdyAqdGN3LCBzdHJ1Y3QgdGNjYiAqdGNjYik7Cit2b2lkIHRjd19zZXRfdHNiKHN0cnVjdCB0Y3cgKnRjdywgc3RydWN0IHRzYiAqdHNiKTsKKwordm9pZCB0Y2NiX2luaXQoc3RydWN0IHRjY2IgKnRjY2IsIHNpemVfdCB0Y2NiX3NpemUsIHUzMiBzYWMpOwordm9pZCB0c2JfaW5pdChzdHJ1Y3QgdHNiICp0c2IpOworc3RydWN0IGRjdyAqdGNjYl9hZGRfZGN3KHN0cnVjdCB0Y2NiICp0Y2NiLCBzaXplX3QgdGNjYl9zaXplLCB1OCBjbWQsIHU4IGZsYWdzLAorCQkJIHZvaWQgKmNkLCB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqdGN3X2FkZF90aWRhdyhzdHJ1Y3QgdGN3ICp0Y3csIGludCBudW1fdGlkYXdzLCB1OCBmbGFncywKKwkJCSAgICB2b2lkICphZGRyLCB1MzIgY291bnQpOworCisjZW5kaWYgLyogX0FTTV9TMzkwX0ZDWF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oIGIvaW5jbHVkZS9hc20tczM5MC9pcGwuaAppbmRleCBjMWIyZTUwLi5lYWNhNmRmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL2lwbC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXBsLmgKQEAgLTU2LDE1ICs1NiwxOSBAQAogCXU4ICBzY3BfZGF0YVtdOwogfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKIAorI2RlZmluZSBESUFHMzA4X1ZNUEFSTV9TSVpFCTY0CisKIHN0cnVjdCBpcGxfYmxvY2tfY2N3IHsKLQl1OCAgbG9hZF9wYXJhbVs4XTsKKwl1OCAgbG9hZF9wYXJtWzhdOwogCXU4ICByZXNlcnZlZDFbODRdOwogCXU4ICByZXNlcnZlZDJbMl07CiAJdTE2IGRldm5vOwogCXU4ICB2bV9mbGFnczsKIAl1OCAgcmVzZXJ2ZWQzWzNdOwogCXUzMiB2bV9wYXJtX2xlbjsKLQl1OCAgcmVzZXJ2ZWQ0WzgwXTsKKwl1OCAgbnNzX25hbWVbOF07CisJdTggIHZtX3Bhcm1bRElBRzMwOF9WTVBBUk1fU0laRV07CisJdTggIHJlc2VydmVkNFs4XTsKIH0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CiAKIHN0cnVjdCBpcGxfcGFyYW1ldGVyX2Jsb2NrIHsKQEAgLTczLDcgKzc3LDcgQEAKIAkJc3RydWN0IGlwbF9ibG9ja19mY3AgZmNwOwogCQlzdHJ1Y3QgaXBsX2Jsb2NrX2NjdyBjY3c7CiAJfSBpcGxfaW5mbzsKLX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCxhbGlnbmVkKDQwOTYpKSk7CiAKIC8qCiAgKiBJUEwgdmFsaWRpdHkgZmxhZ3MKQEAgLTg2LDYgKzkwLDggQEAKIGV4dGVybiB2b2lkIGRvX2hhbHQodm9pZCk7CiBleHRlcm4gdm9pZCBkb19wb2ZmKHZvaWQpOwogZXh0ZXJuIHZvaWQgaXBsX3NhdmVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGlwbF91cGRhdGVfcGFyYW1ldGVycyh2b2lkKTsKK2V4dGVybiB2b2lkIGdldF9pcGxfdm1wYXJtKGNoYXIgKik7CiAKIGVudW0gewogCUlQTF9ERVZOT19WQUxJRAkJPSAxLApAQCAtMTQ3LDYgKzE1MywxMSBAQAogCURJQUczMDhfRkxBR1NfTFBfVkFMSUQJPSAweDgwLAogfTsKIAorZW51bSBkaWFnMzA4X3ZtX2ZsYWdzIHsKKwlESUFHMzA4X1ZNX0ZMQUdTX05TU19WQUxJRAk9IDB4ODAsCisJRElBRzMwOF9WTV9GTEFHU19WUF9WQUxJRAk9IDB4NDAsCit9OworCiBlbnVtIGRpYWczMDhfcmMgewogCURJQUczMDhfUkNfT0sJPSAxLAogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXNjLmggYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0YmI4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL2lzYy5oCkBAIC0wLDAgKzEsMjUgQEAKKyNpZm5kZWYgX0FTTV9TMzkwX0lTQ19ICisjZGVmaW5lIF9BU01fUzM5MF9JU0NfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKworLyoKKyAqIEkvTyBpbnRlcnJ1cHRpb24gc3ViY2xhc3NlcyB1c2VkIGJ5IGRyaXZlcnMuCisgKiBQbGVhc2UgYWRkIGFsbCB1c2VkIGlzY3MgaGVyZSBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvIGRpc3RyaWJ1dGUKKyAqIGlzYyB1c2FnZSBiZXR3ZWVuIGRyaXZlcnMuCisgKiBSZW1pbmRlcjogMCBpcyBoaWdoZXN0IHByaW9yaXR5LCA3IGxvd2VzdC4KKyAqLworI2RlZmluZSBNQVhfSVNDIDcKKworLyogUmVndWxhciBJL08gaW50ZXJydXB0cy4gKi8KKyNkZWZpbmUgSU9fU0NIX0lTQyAzCQkJLyogcmVndWxhciBJL08gc3ViY2hhbm5lbHMgKi8KKyNkZWZpbmUgQ09OU09MRV9JU0MgMQkJCS8qIGNvbnNvbGUgSS9PIHN1YmNoYW5uZWwgKi8KKyNkZWZpbmUgQ0hTQ19TQ0hfSVNDIDcJCQkvKiBDSFNDIHN1YmNoYW5uZWxzICovCisvKiBBZGFwdGVyIGludGVycnVwdHMuICovCisjZGVmaW5lIFFESU9fQUlSUV9JU0MgSU9fU0NIX0lTQwkvKiBJL08gc3ViY2hhbm5lbCBpbiBxZGlvIG1vZGUgKi8KKworLyogRnVuY3Rpb25zIGZvciByZWdpc3RyYXRpb24gb2YgSS9PIGludGVycnVwdGlvbiBzdWJjbGFzc2VzICovCit2b2lkIGlzY19yZWdpc3Rlcih1bnNpZ25lZCBpbnQgaXNjKTsKK3ZvaWQgaXNjX3VucmVnaXN0ZXIodW5zaWduZWQgaW50IGlzYyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVNDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oIGIvaW5jbHVkZS9hc20tczM5MC9pdGN3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliYzVjMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvaXRjdy5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qCisgKiAgRnVuY3Rpb25zIGZvciBpbmNyZW1lbnRhbCBjb25zdHJ1Y3Rpb24gb2YgZmN4IGVuYWJsZWQgSS9PIGNvbnRyb2wgYmxvY2tzLgorICoKKyAqICAgIENvcHlyaWdodCBJQk0gQ29ycC4gMjAwOAorICogICAgQXV0aG9yKHMpOiBQZXRlciBPYmVycGFybGVpdGVyIDxwZXRlci5vYmVycGFybGVpdGVyQGRlLmlibS5jb20+CisgKi8KKworI2lmbmRlZiBfQVNNX1MzOTBfSVRDV19ICisjZGVmaW5lIF9BU01fUzM5MF9JVENXX0ggX0FTTV9TMzkwX0lUQ1dfSAorCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxhc20vZmN4Lmg+CisKKyNkZWZpbmUgSVRDV19PUF9SRUFECTAKKyNkZWZpbmUgSVRDV19PUF9XUklURQkxCisKK3N0cnVjdCBpdGN3OworCitzdHJ1Y3QgdGN3ICppdGN3X2dldF90Y3coc3RydWN0IGl0Y3cgKml0Y3cpOworc2l6ZV90IGl0Y3dfY2FsY19zaXplKGludCBpbnRyZywgaW50IG1heF90aWRhd3MsIGludCBpbnRyZ19tYXhfdGlkYXdzKTsKK3N0cnVjdCBpdGN3ICppdGN3X2luaXQodm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IG9wLCBpbnQgaW50cmcsCisJCSAgICAgICBpbnQgbWF4X3RpZGF3cywgaW50IGludHJnX21heF90aWRhd3MpOworc3RydWN0IGRjdyAqaXRjd19hZGRfZGN3KHN0cnVjdCBpdGN3ICppdGN3LCB1OCBjbWQsIHU4IGZsYWdzLCB2b2lkICpjZCwKKwkJCSB1OCBjZF9jb3VudCwgdTMyIGNvdW50KTsKK3N0cnVjdCB0aWRhdyAqaXRjd19hZGRfdGlkYXcoc3RydWN0IGl0Y3cgKml0Y3csIHU4IGZsYWdzLCB2b2lkICphZGRyLAorCQkJICAgICB1MzIgY291bnQpOwordm9pZCBpdGN3X3NldF9kYXRhKHN0cnVjdCBpdGN3ICppdGN3LCB2b2lkICphZGRyLCBpbnQgdXNlX3RpZGFsKTsKK3ZvaWQgaXRjd19maW5hbGl6ZShzdHJ1Y3QgaXRjdyAqaXRjdyk7CisKKyNlbmRpZiAvKiBfQVNNX1MzOTBfSVRDV19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3BndGFibGUuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCmluZGV4IGJkMGVhMTkuLjBiZGI3MDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcGd0YWJsZS5oCkBAIC0yOSw2ICsyOSw3IEBACiAgKiB0aGUgUzM5MCBwYWdlIHRhYmxlIHRyZWUuCiAgKi8KICNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9tbV90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9iaXRvcHMuaD4KICNpbmNsdWRlIDxhc20vYnVnLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oIGIvaW5jbHVkZS9hc20tczM5MC9wcm9jZXNzb3IuaAppbmRleCBhMDBmNzlkLi40YWY4MGFmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3Byb2Nlc3Nvci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvcHJvY2Vzc29yLmgKQEAgLTE0MywxMSArMTQzLDE5IEBACiAvKgogICogRG8gbmVjZXNzYXJ5IHNldHVwIHRvIHN0YXJ0IHVwIGEgbmV3IHRocmVhZC4KICAqLwotI2RlZmluZSBzdGFydF90aHJlYWQocmVncywgbmV3X3BzdywgbmV3X3N0YWNrcCkgZG8geyAgICAgICAgICAgIFwKKyNkZWZpbmUgc3RhcnRfdGhyZWFkKHJlZ3MsIG5ld19wc3csIG5ld19zdGFja3ApIGRvIHsJCVwKIAlzZXRfZnMoVVNFUl9EUyk7CQkJCQlcCiAJcmVncy0+cHN3Lm1hc2sJPSBwc3dfdXNlcl9iaXRzOwkJCVwKLSAgICAgICAgcmVncy0+cHN3LmFkZHIgID0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOyAgICAgICAgICAgICBcCi0gICAgICAgIHJlZ3MtPmdwcnNbMTVdICA9IG5ld19zdGFja3AgOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorCXJlZ3MtPnBzdy5hZGRyCT0gbmV3X3BzdyB8IFBTV19BRERSX0FNT0RFOwkJXAorCXJlZ3MtPmdwcnNbMTVdCT0gbmV3X3N0YWNrcDsJCQkJXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBzdGFydF90aHJlYWQzMShyZWdzLCBuZXdfcHN3LCBuZXdfc3RhY2twKSBkbyB7CQlcCisJc2V0X2ZzKFVTRVJfRFMpOwkJCQkJXAorCXJlZ3MtPnBzdy5tYXNrCT0gcHN3X3VzZXIzMl9iaXRzOwkJCVwKKwlyZWdzLT5wc3cuYWRkcgk9IG5ld19wc3cgfCBQU1dfQUREUl9BTU9ERTsJCVwKKwlyZWdzLT5ncHJzWzE1XQk9IG5ld19zdGFja3A7CQkJCVwKKwljcnN0X3RhYmxlX2Rvd25ncmFkZShjdXJyZW50LT5tbSwgMVVMIDw8IDMxKTsJCVwKIH0gd2hpbGUgKDApCiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb24sIGEgc3RyYW5nZSBDIHRoaW5nICovCkBAIC0zMjgsMTYgKzMzNiw2IEBACiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9wZ21faGFuZGxlcl9mbikodm9pZCk7CiBleHRlcm4gdm9pZCAoKnMzOTBfYmFzZV9leHRfaGFuZGxlcl9mbikodm9pZCk7CiAKLS8qCi0gKiBDUFUgaWRsZSBub3RpZmllciBjaGFpbi4KLSAqLwotI2RlZmluZSBTMzkwX0NQVV9JRExFCQkwCi0jZGVmaW5lIFMzOTBfQ1BVX05PVF9JRExFCTEKLQotc3RydWN0IG5vdGlmaWVyX2Jsb2NrOwotaW50IHJlZ2lzdGVyX2lkbGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYik7Ci1pbnQgdW5yZWdpc3Rlcl9pZGxlX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpOwotCiAjZGVmaW5lIEFSQ0hfTE9XX0FERFJFU1NfTElNSVQJMHg3ZmZmZmZmZlVMCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXMzOTAvcHRyYWNlLmgKaW5kZXggZDdkNGUyZS4uYWYyYzlhYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3B0cmFjZS5oCkBAIC0yMTUsNiArMjE1LDEyIEBACiAgICAgICAgIHVuc2lnbmVkIGxvbmcgYWRkcjsKIH0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoOCkpKSBwc3dfdDsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlfX3UzMgltYXNrOworCV9fdTMyCWFkZHI7Cit9IF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDgpKSkgcHN3X2NvbXBhdF90OworCiAjaWZuZGVmIF9fczM5MHhfXwogCiAjZGVmaW5lIFBTV19NQVNLX1BFUgkJMHg0MDAwMDAwMFVMCkBAIC0yOTIsNiArMjk4LDE1IEBACiAJdW5zaWduZWQgbG9uZyBvcmlnX2dwcjI7CiB9IHMzOTBfcmVnczsKIAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlwc3dfY29tcGF0X3QJcHN3OworCV9fdTMyCQlncHJzW05VTV9HUFJTXTsKKwlfX3UzMgkJYWNyc1tOVU1fQUNSU107CisJX191MzIJCW9yaWdfZ3ByMjsKK30gczM5MF9jb21wYXRfcmVnczsKKworCiAjaWZkZWYgX19LRVJORUxfXwogI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CmRpZmYgLS1naXQgYS9kcml2ZXJzL3MzOTAvY2lvL3NjaGlkLmggYi9pbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKc2ltaWxhcml0eSBpbmRleCA2NSUKcmVuYW1lIGZyb20gZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS1zMzkwL3NjaGlkLmgKaW5kZXggNTQzMjhmZS4uNTAxN2ZmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zMzkwL2Npby9zY2hpZC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NoaWQuaApAQCAtMSwxMiArMSwxNCBAQAotI2lmbmRlZiBTMzkwX1NDSElEX0gKLSNkZWZpbmUgUzM5MF9TQ0hJRF9ICisjaWZuZGVmIEFTTV9TQ0hJRF9ICisjZGVmaW5lIEFTTV9TQ0hJRF9ICiAKIHN0cnVjdCBzdWJjaGFubmVsX2lkIHsKLQlfX3UzMiByZXNlcnZlZDoxMzsKLQlfX3UzMiBzc2lkOjI7Ci0JX191MzIgb25lOjE7Ci0JX191MzIgc2NoX25vOjE2OwotfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkLGFsaWduZWQoNCkpKTsKKwlfX3UzMiBjc3NpZCA6IDg7CisJX191MzIgOiA0OworCV9fdTMyIG0gOiAxOworCV9fdTMyIHNzaWQgOiAyOworCV9fdTMyIG9uZSA6IDE7CisJX191MzIgc2NoX25vIDogMTY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQsIGFsaWduZWQoNCkpKTsKIAogCiAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHNhbmUgc3RhdGUgb2YgcHJlLWFsbG9jYXRlZCBzdWJjaGFubmVsX2lkLiAqLwpAQCAtMjMsNCArMjUsNCBAQAogCXJldHVybiAhbWVtY21wKHNjaGlkMSwgc2NoaWQyLCBzaXplb2Yoc3RydWN0IHN1YmNoYW5uZWxfaWQpKTsKIH0KIAotI2VuZGlmIC8qIFMzOTBfU0NISURfSCAqLworI2VuZGlmIC8qIEFTTV9TQ0hJRF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NjbHAuaCBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCmluZGV4IGI1ZjI4NDMuLmZlZDdiZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc2NscC5oCkBAIC00NSw5ICs0NSw5IEBACiBpbnQgc2NscF9nZXRfY3B1X2luZm8oc3RydWN0IHNjbHBfY3B1X2luZm8gKmluZm8pOwogaW50IHNjbHBfY3B1X2NvbmZpZ3VyZSh1OCBjcHUpOwogaW50IHNjbHBfY3B1X2RlY29uZmlndXJlKHU4IGNwdSk7Ci12b2lkIHNjbHBfcmVhZF9pbmZvX2Vhcmx5KHZvaWQpOwogdm9pZCBzY2xwX2ZhY2lsaXRpZXNfZGV0ZWN0KHZvaWQpOwotdW5zaWduZWQgbG9uZyBsb25nIHNjbHBfbWVtb3J5X2RldGVjdCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9ybm1heCh2b2lkKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyBzY2xwX2dldF9yem0odm9pZCk7CiBpbnQgc2NscF9zZGlhc19ibGtfY291bnQodm9pZCk7CiBpbnQgc2NscF9zZGlhc19jb3B5KHZvaWQgKmRlc3QsIGludCBibGtfbnVtLCBpbnQgbnJfYmxrcyk7CiBpbnQgc2NscF9jaHBfY29uZmlndXJlKHN0cnVjdCBjaHBfaWQgY2hwaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oIGIvaW5jbHVkZS9hc20tczM5MC9zZXR1cC5oCmluZGV4IGJhNjk2NzQuLmYwOWVlM2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXMzOTAvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3NldHVwLmgKQEAgLTgsMTQgKzgsMTYgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NFVFVQX0gKICNkZWZpbmUgX0FTTV9TMzkwX1NFVFVQX0gKIAotI2RlZmluZSBDT01NQU5EX0xJTkVfU0laRSAJODk2CisjZGVmaW5lIENPTU1BTkRfTElORV9TSVpFCTEwMjQKKworI2RlZmluZSBBUkNIX0NPTU1BTkRfTElORV9TSVpFCTg5NgogCiAjaWZkZWYgX19LRVJORUxfXwogCiAjaW5jbHVkZSA8YXNtL3R5cGVzLmg+CiAKICNkZWZpbmUgUEFSTUFSRUEJCTB4MTA0MDAKLSNkZWZpbmUgTUVNT1JZX0NIVU5LUwkJMTYJLyogbWF4IDB4N2ZmZiAqLworI2RlZmluZSBNRU1PUllfQ0hVTktTCQkyNTYKIAogI2lmbmRlZiBfX0FTU0VNQkxZX18KIApAQCAtMzYsMTIgKzM4LDE0IEBACiBzdHJ1Y3QgbWVtX2NodW5rIHsKIAl1bnNpZ25lZCBsb25nIGFkZHI7CiAJdW5zaWduZWQgbG9uZyBzaXplOwotCXVuc2lnbmVkIGxvbmcgdHlwZTsKKwlpbnQgdHlwZTsKIH07CiAKIGV4dGVybiBzdHJ1Y3QgbWVtX2NodW5rIG1lbW9yeV9jaHVua1tdOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcmVhbF9tZW1vcnlfc2l6ZTsKIAordm9pZCBkZXRlY3RfbWVtb3J5X2xheW91dChzdHJ1Y3QgbWVtX2NodW5rIGNodW5rW10pOworCiAjaWZkZWYgQ09ORklHX1MzOTBfU1dJVENIX0FNT0RFCiBleHRlcm4gdW5zaWduZWQgaW50IHN3aXRjaF9hbW9kZTsKICNlbHNlCkBAIC02MSw3ICs2NSw2IEBACiAKICNkZWZpbmUgTUFDSElORV9GTEFHX1ZNCQkoMVVMIDw8IDApCiAjZGVmaW5lIE1BQ0hJTkVfRkxBR19JRUVFCSgxVUwgPDwgMSkKLSNkZWZpbmUgTUFDSElORV9GTEFHX1AzOTAJKDFVTCA8PCAyKQogI2RlZmluZSBNQUNISU5FX0ZMQUdfQ1NQCSgxVUwgPDwgMykKICNkZWZpbmUgTUFDSElORV9GTEFHX01WUEcJKDFVTCA8PCA0KQogI2RlZmluZSBNQUNISU5FX0ZMQUdfRElBRzQ0CSgxVUwgPDwgNSkKQEAgLTk3LDcgKzEwMCw2IEBACiAjZGVmaW5lIE1BQ0hJTkVfSEFTX1BGTUYJKG1hY2hpbmVfZmxhZ3MgJiBNQUNISU5FX0ZMQUdfUEZNRikKICNlbmRpZiAvKiBfX3MzOTB4X18gKi8KIAotI2RlZmluZSBNQUNISU5FX0hBU19TQ0xQCSghTUFDSElORV9JU19QMzkwKQogI2RlZmluZSBaRkNQRFVNUF9IU0FfU0laRQkoMzJVTDw8MjApCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oIGIvaW5jbHVkZS9hc20tczM5MC9zcGFyc2VtZW0uaAppbmRleCAwNmRmZGFiLi41NDVkMjE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zMzkwL3NwYXJzZW1lbS5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvc3BhcnNlbWVtLmgKQEAgLTEsMTUgKzEsMTUgQEAKICNpZm5kZWYgX0FTTV9TMzkwX1NQQVJTRU1FTV9ICiAjZGVmaW5lIF9BU01fUzM5MF9TUEFSU0VNRU1fSAogCi0jZGVmaW5lIFNFQ1RJT05fU0laRV9CSVRTCTI1Ci0KICNpZmRlZiBDT05GSUdfNjRCSVQKIAorI2RlZmluZSBTRUNUSU9OX1NJWkVfQklUUwkyOAogI2RlZmluZSBNQVhfUEhZU0FERFJfQklUUwk0MgogI2RlZmluZSBNQVhfUEhZU01FTV9CSVRTCTQyCiAKICNlbHNlCiAKKyNkZWZpbmUgU0VDVElPTl9TSVpFX0JJVFMJMjUKICNkZWZpbmUgTUFYX1BIWVNBRERSX0JJVFMJMzEKICNkZWZpbmUgTUFYX1BIWVNNRU1fQklUUwkzMQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmggYi9pbmNsdWRlL2FzbS1zMzkwL3RpbWVyLmgKaW5kZXggYWRiMzQ4Ni4uZDk4ZDc5ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC90aW1lci5oCisrKyBiL2luY2x1ZGUvYXNtLXMzOTAvdGltZXIuaApAQCAtNDgsNiArNDgsMTggQEAKIGV4dGVybiB2b2lkIGluaXRfY3B1X3Z0aW1lcih2b2lkKTsKIGV4dGVybiB2b2lkIHZ0aW1lX2luaXQodm9pZCk7CiAKKyNpZmRlZiBDT05GSUdfVklSVF9USU1FUgorCitleHRlcm4gdm9pZCB2dGltZV9zdGFydF9jcHVfdGltZXIodm9pZCk7CitleHRlcm4gdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKTsKKworI2Vsc2UKKworc3RhdGljIGlubGluZSB2b2lkIHZ0aW1lX3N0YXJ0X2NwdV90aW1lcih2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCB2dGltZV9zdG9wX2NwdV90aW1lcih2b2lkKSB7IH0KKworI2VuZGlmIC8qIENPTkZJR19WSVJUX1RJTUVSICovCisKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZiAvKiBfQVNNX1MzOTBfVElNRVJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaCBiL2luY2x1ZGUvYXNtLXMzOTAvemNyeXB0LmgKaW5kZXggZjIyOGYxYi4uMDBkM2JiZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20tczM5MC96Y3J5cHQuaAorKysgYi9pbmNsdWRlL2FzbS1zMzkwL3pjcnlwdC5oCkBAIC0yOSw3ICsyOSw3IEBACiAKICNkZWZpbmUgWkNSWVBUX1ZFUlNJT04gMgogI2RlZmluZSBaQ1JZUFRfUkVMRUFTRSAxCi0jZGVmaW5lIFpDUllQVF9WQVJJQU5UIDAKKyNkZWZpbmUgWkNSWVBUX1ZBUklBTlQgMQogCiAjaW5jbHVkZSA8bGludXgvaW9jdGwuaD4KICNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20tc2gvc21wLmggYi9pbmNsdWRlL2FzbS1zaC9zbXAuaAppbmRleCA5YzhkMzRiLi41OTMzNDNjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS1zaC9zbXAuaAorKysgYi9pbmNsdWRlL2FzbS1zaC9zbXAuaApAQCAtMjYsMTggKzI2LDEwIEBACiAKICNkZWZpbmUgTk9fUFJPQ19JRAkoLTEpCiAKLXN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3QgewotCXNwaW5sb2NrX3QgbG9jazsKLQlhdG9taWNfdCAgIGZpbmlzaGVkOwotCXZvaWQgKCpmbikodm9pZCAqKTsKLQl2b2lkICpkYXRhOwotfTsKLQotZXh0ZXJuIHN0cnVjdCBzbXBfZm5fY2FsbF9zdHJ1Y3Qgc21wX2ZuX2NhbGw7Ci0KICNkZWZpbmUgU01QX01TR19GVU5DVElPTgkwCiAjZGVmaW5lIFNNUF9NU0dfUkVTQ0hFRFVMRQkxCi0jZGVmaW5lIFNNUF9NU0dfTlIJCTIKKyNkZWZpbmUgU01QX01TR19GVU5DVElPTl9TSU5HTEUJMgorI2RlZmluZSBTTVBfTVNHX05SCQkzCiAKIHZvaWQgcGxhdF9zbXBfc2V0dXAodm9pZCk7CiB2b2lkIHBsYXRfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7CkBAIC00Niw2ICszOCw4IEBACiB2b2lkIHBsYXRfc2VuZF9pcGkodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgaW50IG1lc3NhZ2UpOwogaW50IHBsYXRfcmVnaXN0ZXJfaXBpX2hhbmRsZXIodW5zaWduZWQgaW50IG1lc3NhZ2UsCiAJCQkgICAgICB2b2lkICgqaGFuZGxlcikodm9pZCAqKSwgdm9pZCAqYXJnKTsKK2V4dGVybiB2b2lkIGFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoaW50IGNwdSk7CitleHRlcm4gdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spOwogCiAjZWxzZQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS1zcGFyYy9zbXAuaCBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCmluZGV4IGU2ZDU2MTUuLmI2MWU3NGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXNwYXJjL3NtcC5oCkBAIC03Miw3ICs3Miw3IEBACiAJCQkgICB1bnNpZ25lZCBsb25nIGFyZzMsIHVuc2lnbmVkIGxvbmcgYXJnNCwgdW5zaWduZWQgbG9uZyBhcmc1KQogeyBzbXBfY3Jvc3NfY2FsbChmdW5jLCBhcmcxLCBhcmcyLCBhcmczLCBhcmc0LCBhcmc1KTsgfQogCi1zdGF0aWMgaW5saW5lIGludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCBub25hdG9taWMsIGludCB3YWl0KQorc3RhdGljIGlubGluZSBpbnQgc21wX2NhbGxfZnVuY3Rpb24odm9pZCAoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCkKIHsKIAl4YzEoKHNtcGZ1bmNfdClmdW5jLCAodW5zaWduZWQgbG9uZylpbmZvKTsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXNwYXJjNjQvZnRyYWNlLmggYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzcxNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS1zcGFyYzY0L2Z0cmFjZS5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgX0FTTV9TUEFSQzY0X0ZUUkFDRQorI2RlZmluZSBfQVNNX1NQQVJDNjRfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfTUNPVU5UCisjZGVmaW5lIE1DT1VOVF9BRERSCQkoKGxvbmcpKF9tY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTQgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBfbWNvdW50KHZvaWQpOworI2VuZGlmCisKKyNlbmRpZgorCisjZW5kaWYgLyogX0FTTV9TUEFSQzY0X0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hY3BpLmgKaW5kZXggMTQ0MTFjOS4uNjM1ZDc2NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FjcGkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYWNwaS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSA8YXNtL251bWEuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAjaW5jbHVkZSA8YXNtL21tdS5oPgorI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KIAogI2RlZmluZSBDT01QSUxFUl9ERVBFTkRFTlRfSU5UNjQgICBsb25nIGxvbmcKICNkZWZpbmUgQ09NUElMRVJfREVQRU5ERU5UX1VJTlQ2NCAgdW5zaWduZWQgbG9uZyBsb25nCkBAIC0xNjAsOSArMTYxLDcgQEAKICNpZmRlZiBDT05GSUdfQUNQSV9OVU1BCiBleHRlcm4gaW50IGFjcGlfbnVtYTsKIGV4dGVybiBpbnQgYWNwaV9zY2FuX25vZGVzKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLSNpZmRlZiBDT05GSUdfWDg2XzY0Ci0jIGRlZmluZSBOUl9OT0RFX01FTUJMS1MgKE1BWF9OVU1OT0RFUyoyKQotI2VuZGlmCisjZGVmaW5lIE5SX05PREVfTUVNQkxLUyAoTUFYX05VTU5PREVTKjIpCiBleHRlcm4gdm9pZCBhY3BpX2Zha2Vfbm9kZXMoY29uc3Qgc3RydWN0IGJvb3Rub2RlICpmYWtlX25vZGVzLAogCQkJCSAgIGludCBudW1fbm9kZXMpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9hbHRlcm5hdGl2ZS5oIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKaW5kZXggMWY2YTljYS4uZjZhYTE4ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2FsdGVybmF0aXZlLmgKQEAgLTcyLDYgKzcyLDggQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhbHRlcm5hdGl2ZXNfc21wX3N3aXRjaChpbnQgc21wKSB7fQogI2VuZGlmCS8qIENPTkZJR19TTVAgKi8KIAorY29uc3QgdW5zaWduZWQgY2hhciAqY29uc3QgKmZpbmRfbm9wX3RhYmxlKHZvaWQpOworCiAvKgogICogQWx0ZXJuYXRpdmUgaW5zdHJ1Y3Rpb25zIGZvciBkaWZmZXJlbnQgQ1BVIHR5cGVzIG9yIGNhcGFiaWxpdGllcy4KICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmggYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBhMTIwNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hbWRfaW9tbXUuaApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5jLgorICogQXV0aG9yOiBKb2VyZyBSb2VkZWwgPGpvZXJnLnJvZWRlbEBhbWQuY29tPgorICogICAgICAgICBMZW8gRHVyYW4gPGxlby5kdXJhbkBhbWQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQKKyAqIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgX0FTTV9YODZfQU1EX0lPTU1VX0gKKyNkZWZpbmUgX0FTTV9YODZfQU1EX0lPTU1VX0gKKworI2lmZGVmIENPTkZJR19BTURfSU9NTVUKK2V4dGVybiBpbnQgYW1kX2lvbW11X2luaXQodm9pZCk7CitleHRlcm4gaW50IGFtZF9pb21tdV9pbml0X2RtYV9vcHModm9pZCk7CitleHRlcm4gdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGFtZF9pb21tdV9pbml0KHZvaWQpIHsgcmV0dXJuIC1FTk9ERVY7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBhbWRfaW9tbXVfZGV0ZWN0KHZvaWQpIHsgfQorI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oIGIvaW5jbHVkZS9hc20teDg2L2FtZF9pb21tdV90eXBlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZmNiNDcKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvYW1kX2lvbW11X3R5cGVzLmgKQEAgLTAsMCArMSwyNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisgKiBBdXRob3I6IEpvZXJnIFJvZWRlbCA8am9lcmcucm9lZGVsQGFtZC5jb20+CisgKiAgICAgICAgIExlbyBEdXJhbiA8bGVvLmR1cmFuQGFtZC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzIHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfX0FNRF9JT01NVV9UWVBFU19IX18KKyNkZWZpbmUgX19BTURfSU9NTVVfVFlQRVNfSF9fCisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorCisvKgorICogc29tZSBzaXplIGNhbGN1bGF0aW9uIGNvbnN0YW50cworICovCisjZGVmaW5lIERFVl9UQUJMRV9FTlRSWV9TSVpFCQkyNTYKKyNkZWZpbmUgQUxJQVNfVEFCTEVfRU5UUllfU0laRQkJMgorI2RlZmluZSBSTE9PS1VQX1RBQkxFX0VOVFJZX1NJWkUJKHNpemVvZih2b2lkICopKQorCisvKiBoZWxwZXIgbWFjcm9zICovCisjZGVmaW5lIExPV19VMzIoeCkgKCh4KSAmICgoMVVMTCA8PCAzMiktMSkpCisjZGVmaW5lIEhJR0hfVTMyKHgpIChMT1dfVTMyKCh4KSA+PiAzMikpCisKKy8qIExlbmd0aCBvZiB0aGUgTU1JTyByZWdpb24gZm9yIHRoZSBBTUQgSU9NTVUgKi8KKyNkZWZpbmUgTU1JT19SRUdJT05fTEVOR1RIICAgICAgIDB4NDAwMAorCisvKiBDYXBhYmlsaXR5IG9mZnNldHMgdXNlZCBieSB0aGUgZHJpdmVyICovCisjZGVmaW5lIE1NSU9fQ0FQX0hEUl9PRkZTRVQJMHgwMAorI2RlZmluZSBNTUlPX1JBTkdFX09GRlNFVAkweDBjCisKKy8qIE1hc2tzLCBzaGlmdHMgYW5kIG1hY3JvcyB0byBwYXJzZSB0aGUgZGV2aWNlIHJhbmdlIGNhcGFiaWxpdHkgKi8KKyNkZWZpbmUgTU1JT19SQU5HRV9MRF9NQVNLCTB4ZmYwMDAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9NQVNLCTB4MDBmZjAwMDAKKyNkZWZpbmUgTU1JT19SQU5HRV9CVVNfTUFTSwkweDAwMDBmZjAwCisjZGVmaW5lIE1NSU9fUkFOR0VfTERfU0hJRlQJMjQKKyNkZWZpbmUgTU1JT19SQU5HRV9GRF9TSElGVAkxNgorI2RlZmluZSBNTUlPX1JBTkdFX0JVU19TSElGVAk4CisjZGVmaW5lIE1NSU9fR0VUX0xEKHgpICAoKCh4KSAmIE1NSU9fUkFOR0VfTERfTUFTSykgPj4gTU1JT19SQU5HRV9MRF9TSElGVCkKKyNkZWZpbmUgTU1JT19HRVRfRkQoeCkgICgoKHgpICYgTU1JT19SQU5HRV9GRF9NQVNLKSA+PiBNTUlPX1JBTkdFX0ZEX1NISUZUKQorI2RlZmluZSBNTUlPX0dFVF9CVVMoeCkgKCgoeCkgJiBNTUlPX1JBTkdFX0JVU19NQVNLKSA+PiBNTUlPX1JBTkdFX0JVU19TSElGVCkKKworLyogRmxhZyBtYXNrcyBmb3IgdGhlIEFNRCBJT01NVSBleGNsdXNpb24gcmFuZ2UgKi8KKyNkZWZpbmUgTU1JT19FWENMX0VOQUJMRV9NQVNLIDB4MDFVTEwKKyNkZWZpbmUgTU1JT19FWENMX0FMTE9XX01BU0sgIDB4MDJVTEwKKworLyogVXNlZCBvZmZzZXRzIGludG8gdGhlIE1NSU8gc3BhY2UgKi8KKyNkZWZpbmUgTU1JT19ERVZfVEFCTEVfT0ZGU0VUICAgMHgwMDAwCisjZGVmaW5lIE1NSU9fQ01EX0JVRl9PRkZTRVQgICAgIDB4MDAwOAorI2RlZmluZSBNTUlPX0VWVF9CVUZfT0ZGU0VUICAgICAweDAwMTAKKyNkZWZpbmUgTU1JT19DT05UUk9MX09GRlNFVCAgICAgMHgwMDE4CisjZGVmaW5lIE1NSU9fRVhDTF9CQVNFX09GRlNFVCAgIDB4MDAyMAorI2RlZmluZSBNTUlPX0VYQ0xfTElNSVRfT0ZGU0VUICAweDAwMjgKKyNkZWZpbmUgTU1JT19DTURfSEVBRF9PRkZTRVQJMHgyMDAwCisjZGVmaW5lIE1NSU9fQ01EX1RBSUxfT0ZGU0VUCTB4MjAwOAorI2RlZmluZSBNTUlPX0VWVF9IRUFEX09GRlNFVAkweDIwMTAKKyNkZWZpbmUgTU1JT19FVlRfVEFJTF9PRkZTRVQJMHgyMDE4CisjZGVmaW5lIE1NSU9fU1RBVFVTX09GRlNFVAkweDIwMjAKKworLyogZmVhdHVyZSBjb250cm9sIGJpdHMgKi8KKyNkZWZpbmUgQ09OVFJPTF9JT01NVV9FTiAgICAgICAgMHgwMFVMTAorI2RlZmluZSBDT05UUk9MX0hUX1RVTl9FTiAgICAgICAweDAxVUxMCisjZGVmaW5lIENPTlRST0xfRVZUX0xPR19FTiAgICAgIDB4MDJVTEwKKyNkZWZpbmUgQ09OVFJPTF9FVlRfSU5UX0VOICAgICAgMHgwM1VMTAorI2RlZmluZSBDT05UUk9MX0NPTVdBSVRfRU4gICAgICAweDA0VUxMCisjZGVmaW5lIENPTlRST0xfUEFTU1BXX0VOICAgICAgIDB4MDhVTEwKKyNkZWZpbmUgQ09OVFJPTF9SRVNQQVNTUFdfRU4gICAgMHgwOVVMTAorI2RlZmluZSBDT05UUk9MX0NPSEVSRU5UX0VOICAgICAweDBhVUxMCisjZGVmaW5lIENPTlRST0xfSVNPQ19FTiAgICAgICAgIDB4MGJVTEwKKyNkZWZpbmUgQ09OVFJPTF9DTURCVUZfRU4gICAgICAgMHgwY1VMTAorI2RlZmluZSBDT05UUk9MX1BQRkxPR19FTiAgICAgICAweDBkVUxMCisjZGVmaW5lIENPTlRST0xfUFBGSU5UX0VOICAgICAgIDB4MGVVTEwKKworLyogY29tbWFuZCBzcGVjaWZpYyBkZWZpbmVzICovCisjZGVmaW5lIENNRF9DT01QTF9XQUlUICAgICAgICAgIDB4MDEKKyNkZWZpbmUgQ01EX0lOVl9ERVZfRU5UUlkgICAgICAgMHgwMgorI2RlZmluZSBDTURfSU5WX0lPTU1VX1BBR0VTICAgICAweDAzCisKKyNkZWZpbmUgQ01EX0NPTVBMX1dBSVRfU1RPUkVfTUFTSwkweDAxCisjZGVmaW5lIENNRF9JTlZfSU9NTVVfUEFHRVNfU0laRV9NQVNLCTB4MDEKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9QQUdFU19QREVfTUFTSwkweDAyCisKKyNkZWZpbmUgQ01EX0lOVl9JT01NVV9BTExfUEFHRVNfQUREUkVTUwkweDdmZmZmZmZmZmZmZmZmZmZVTEwKKworLyogbWFjcm9zIGFuZCBkZWZpbml0aW9ucyBmb3IgZGV2aWNlIHRhYmxlIGVudHJpZXMgKi8KKyNkZWZpbmUgREVWX0VOVFJZX1ZBTElEICAgICAgICAgMHgwMAorI2RlZmluZSBERVZfRU5UUllfVFJBTlNMQVRJT04gICAweDAxCisjZGVmaW5lIERFVl9FTlRSWV9JUiAgICAgICAgICAgIDB4M2QKKyNkZWZpbmUgREVWX0VOVFJZX0lXICAgICAgICAgICAgMHgzZQorI2RlZmluZSBERVZfRU5UUllfRVggICAgICAgICAgICAweDY3CisjZGVmaW5lIERFVl9FTlRSWV9TWVNNR1QxICAgICAgIDB4NjgKKyNkZWZpbmUgREVWX0VOVFJZX1NZU01HVDIgICAgICAgMHg2OQorI2RlZmluZSBERVZfRU5UUllfSU5JVF9QQVNTICAgICAweGI4CisjZGVmaW5lIERFVl9FTlRSWV9FSU5UX1BBU1MgICAgIDB4YjkKKyNkZWZpbmUgREVWX0VOVFJZX05NSV9QQVNTICAgICAgMHhiYQorI2RlZmluZSBERVZfRU5UUllfTElOVDBfUEFTUyAgICAweGJlCisjZGVmaW5lIERFVl9FTlRSWV9MSU5UMV9QQVNTICAgIDB4YmYKKworLyogY29uc3RhbnRzIHRvIGNvbmZpZ3VyZSB0aGUgY29tbWFuZCBidWZmZXIgKi8KKyNkZWZpbmUgQ01EX0JVRkZFUl9TSVpFICAgIDgxOTIKKyNkZWZpbmUgQ01EX0JVRkZFUl9FTlRSSUVTIDUxMgorI2RlZmluZSBNTUlPX0NNRF9TSVpFX1NISUZUIDU2CisjZGVmaW5lIE1NSU9fQ01EX1NJWkVfNTEyICgweDlVTEwgPDwgTU1JT19DTURfU0laRV9TSElGVCkKKworI2RlZmluZSBQQUdFX01PREVfMV9MRVZFTCAweDAxCisjZGVmaW5lIFBBR0VfTU9ERV8yX0xFVkVMIDB4MDIKKyNkZWZpbmUgUEFHRV9NT0RFXzNfTEVWRUwgMHgwMworCisjZGVmaW5lIElPTU1VX1BERV9OTF8wICAgMHgwMDBVTEwKKyNkZWZpbmUgSU9NTVVfUERFX05MXzEgICAweDIwMFVMTAorI2RlZmluZSBJT01NVV9QREVfTkxfMiAgIDB4NDAwVUxMCisjZGVmaW5lIElPTU1VX1BERV9OTF8zICAgMHg2MDBVTEwKKworI2RlZmluZSBJT01NVV9QVEVfTDJfSU5ERVgoYWRkcmVzcykgKCgoYWRkcmVzcykgPj4gMzApICYgMHgxZmZVTEwpCisjZGVmaW5lIElPTU1VX1BURV9MMV9JTkRFWChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiAyMSkgJiAweDFmZlVMTCkKKyNkZWZpbmUgSU9NTVVfUFRFX0wwX0lOREVYKGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IDEyKSAmIDB4MWZmVUxMKQorCisjZGVmaW5lIElPTU1VX01BUF9TSVpFX0wxICgxVUxMIDw8IDIxKQorI2RlZmluZSBJT01NVV9NQVBfU0laRV9MMiAoMVVMTCA8PCAzMCkKKyNkZWZpbmUgSU9NTVVfTUFQX1NJWkVfTDMgKDFVTEwgPDwgMzkpCisKKyNkZWZpbmUgSU9NTVVfUFRFX1AgICgxVUxMIDw8IDApCisjZGVmaW5lIElPTU1VX1BURV9VICAoMVVMTCA8PCA1OSkKKyNkZWZpbmUgSU9NTVVfUFRFX0ZDICgxVUxMIDw8IDYwKQorI2RlZmluZSBJT01NVV9QVEVfSVIgKDFVTEwgPDwgNjEpCisjZGVmaW5lIElPTU1VX1BURV9JVyAoMVVMTCA8PCA2MikKKworI2RlZmluZSBJT01NVV9MMV9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMSB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorI2RlZmluZSBJT01NVV9MMl9QREUoYWRkcmVzcykgXAorCSgoYWRkcmVzcykgfCBJT01NVV9QREVfTkxfMiB8IElPTU1VX1BURV9QIHwgSU9NTVVfUFRFX0lSIHwgSU9NTVVfUFRFX0lXKQorCisjZGVmaW5lIElPTU1VX1BBR0VfTUFTSyAoKCgxVUxMIDw8IDUyKSAtIDEpICYgfjB4ZmZmVUxMKQorI2RlZmluZSBJT01NVV9QVEVfUFJFU0VOVChwdGUpICgocHRlKSAmIElPTU1VX1BURV9QKQorI2RlZmluZSBJT01NVV9QVEVfUEFHRShwdGUpIChwaHlzX3RvX3ZpcnQoKHB0ZSkgJiBJT01NVV9QQUdFX01BU0spKQorI2RlZmluZSBJT01NVV9QVEVfTU9ERShwdGUpICgoKHB0ZSkgPj4gOSkgJiAweDA3KQorCisjZGVmaW5lIElPTU1VX1BST1RfTUFTSyAweDAzCisjZGVmaW5lIElPTU1VX1BST1RfSVIgMHgwMQorI2RlZmluZSBJT01NVV9QUk9UX0lXIDB4MDIKKworLyogSU9NTVUgY2FwYWJpbGl0aWVzICovCisjZGVmaW5lIElPTU1VX0NBUF9JT1RMQiAgIDI0CisjZGVmaW5lIElPTU1VX0NBUF9OUENBQ0hFIDI2CisKKyNkZWZpbmUgTUFYX0RPTUFJTl9JRCA2NTUzNgorCitzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4geworCXNwaW5sb2NrX3QgbG9jazsKKwl1MTYgaWQ7CisJaW50IG1vZGU7CisJdTY0ICpwdF9yb290OworCXZvaWQgKnByaXY7Cit9OworCitzdHJ1Y3QgZG1hX29wc19kb21haW4geworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwlzdHJ1Y3QgcHJvdGVjdGlvbl9kb21haW4gZG9tYWluOworCXVuc2lnbmVkIGxvbmcgYXBlcnR1cmVfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIG5leHRfYml0OworCXVuc2lnbmVkIGxvbmcgKmJpdG1hcDsKKwl1NjQgKipwdGVfcGFnZXM7Cit9OworCitzdHJ1Y3QgYW1kX2lvbW11IHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworCisJdTE2IGRldmlkOworCXUxNiBjYXBfcHRyOworCisJdTY0IG1taW9fcGh5czsKKwl1OCAqbW1pb19iYXNlOworCXUzMiBjYXA7CisJdTE2IGZpcnN0X2RldmljZTsKKwl1MTYgbGFzdF9kZXZpY2U7CisJdTY0IGV4Y2x1c2lvbl9zdGFydDsKKwl1NjQgZXhjbHVzaW9uX2xlbmd0aDsKKworCXU4ICpjbWRfYnVmOworCXUzMiBjbWRfYnVmX3NpemU7CisKKwlpbnQgbmVlZF9zeW5jOworCisJc3RydWN0IGRtYV9vcHNfZG9tYWluICpkZWZhdWx0X2RvbTsKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFtZF9pb21tdV9saXN0OworCitzdHJ1Y3QgZGV2X3RhYmxlX2VudHJ5IHsKKwl1MzIgZGF0YVs4XTsKK307CisKK3N0cnVjdCB1bml0eV9tYXBfZW50cnkgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKwl1MTYgZGV2aWRfc3RhcnQ7CisJdTE2IGRldmlkX2VuZDsKKwl1NjQgYWRkcmVzc19zdGFydDsKKwl1NjQgYWRkcmVzc19lbmQ7CisJaW50IHByb3Q7Cit9OworCitleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBhbWRfaW9tbXVfdW5pdHlfbWFwOworCisvKiBkYXRhIHN0cnVjdHVyZXMgZm9yIGRldmljZSBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBkZXZfdGFibGVfZW50cnkgKmFtZF9pb21tdV9kZXZfdGFibGU7CitleHRlcm4gdTE2ICphbWRfaW9tbXVfYWxpYXNfdGFibGU7CitleHRlcm4gc3RydWN0IGFtZF9pb21tdSAqKmFtZF9pb21tdV9ybG9va3VwX3RhYmxlOworCitleHRlcm4gdW5zaWduZWQgYW1kX2lvbW11X2FwZXJ0dXJlX29yZGVyOworCitleHRlcm4gdTE2IGFtZF9pb21tdV9sYXN0X2JkZjsKKworLyogZGF0YSBzdHJ1Y3R1cmVzIGZvciBwcm90ZWN0aW9uIGRvbWFpbiBoYW5kbGluZyAqLworZXh0ZXJuIHN0cnVjdCBwcm90ZWN0aW9uX2RvbWFpbiAqKmFtZF9pb21tdV9wZF90YWJsZTsKK2V4dGVybiB1bnNpZ25lZCBsb25nICphbWRfaW9tbXVfcGRfYWxsb2NfYml0bWFwOworCitleHRlcm4gaW50IGFtZF9pb21tdV9pc29sYXRlOworCitzdGF0aWMgaW5saW5lIHZvaWQgcHJpbnRfZGV2aWQodTE2IGRldmlkLCBpbnQgbmwpCit7CisJaW50IGJ1cyA9IGRldmlkID4+IDg7CisJaW50IGRldiA9IGRldmlkID4+IDMgJiAweDFmOworCWludCBmbiAgPSBkZXZpZCAmIDB4MDc7CisKKwlwcmludGsoIiUwMng6JTAyeC4leCIsIGJ1cywgZGV2LCBmbik7CisJaWYgKG5sKQorCQlwcmludGsoIlxuIik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9hcGljLmgKaW5kZXggYmU5NjM5YS4uNGUyYzFlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCkBAIC0zNiwxNSArMzYsMTEgQEAKICNpZmRlZiBDT05GSUdfWDg2X0xPQ0FMX0FQSUMKIAogZXh0ZXJuIGludCBhcGljX3ZlcmJvc2l0eTsKLWV4dGVybiBpbnQgdGltZXJfb3Zlcl84MjU0OwogZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2MyX29rOwotZXh0ZXJuIGludCBsb2NhbF9hcGljX3RpbWVyX2Rpc2FibGVkOwogCi1leHRlcm4gaW50IGFwaWNfcnVuc19tYWluX3RpbWVyOwogZXh0ZXJuIGludCBpb2FwaWNfZm9yY2U7Ci1leHRlcm4gaW50IGRpc2FibGVfYXBpYzsKLWV4dGVybiBpbnQgZGlzYWJsZV9hcGljX3RpbWVyOwogCitleHRlcm4gaW50IGRpc2FibGVfYXBpYzsKIC8qCiAgKiBCYXNpYyBmdW5jdGlvbnMgYWNjZXNzaW5nIEFQSUNzLgogICovCkBAIC0xMjUsMTYgKzEyMSwyMiBAQAogICovCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogZXh0ZXJuIHZvaWQgZWFybHlfaW5pdF9sYXBpY19tYXBwaW5nKHZvaWQpOworZXh0ZXJuIGludCBhcGljX2lzX2NsdXN0ZXJlZF9ib3godm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgYXBpY19pc19jbHVzdGVyZWRfYm94KHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfbWNlKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogZXh0ZXJuIHU4IHNldHVwX0FQSUNfZWlsdnRfaWJzKHU4IHZlY3RvciwgdTggbXNnX3R5cGUsIHU4IG1hc2spOwogCi1leHRlcm4gaW50IGFwaWNfaXNfY2x1c3RlcmVkX2JveCh2b2lkKTsKIAogI2Vsc2UgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogc3RhdGljIGlubGluZSB2b2lkIGxhcGljX3NodXRkb3duKHZvaWQpIHsgfQogI2RlZmluZSBsb2NhbF9hcGljX3RpbWVyX2MyX29rCQkxCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9hcGljX21hcHBpbmdzKHZvaWQpIHsgfQogCiAjZW5kaWYgLyogIUNPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXNtLmggYi9pbmNsdWRlL2FzbS14ODYvYXNtLmgKaW5kZXggOTBkZWMwYy4uOTcyMjAzMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2FzbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hc20uaApAQCAtMSwzNyArMSw0MCBAQAogI2lmbmRlZiBfQVNNX1g4Nl9BU01fSAogI2RlZmluZSBfQVNNX1g4Nl9BU01fSAogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotLyogMzIgYml0cyAqLwotCi0jIGRlZmluZSBfQVNNX1BUUgkiIC5sb25nICIKLSMgZGVmaW5lIF9BU01fQUxJR04JIiAuYmFsaWduIDQgIgotIyBkZWZpbmUgX0FTTV9NT1ZfVUwJIiBtb3ZsICIKLQotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNsICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjbCAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZGwgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJsICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRsICIKLQorI2lmZGVmIF9fQVNTRU1CTFlfXworIyBkZWZpbmUgX19BU01fRk9STSh4KQl4CisjIGRlZmluZSBfX0FTTV9FWF9TRUMJLnNlY3Rpb24gX19leF90YWJsZQogI2Vsc2UKLS8qIDY0IGJpdHMgKi8KKyMgZGVmaW5lIF9fQVNNX0ZPUk0oeCkJIiAiICN4ICIgIgorIyBkZWZpbmUgX19BU01fRVhfU0VDCSIgLnNlY3Rpb24gX19leF90YWJsZSxcImFcIlxuIgorI2VuZGlmCiAKLSMgZGVmaW5lIF9BU01fUFRSCSIgLnF1YWQgIgotIyBkZWZpbmUgX0FTTV9BTElHTgkiIC5iYWxpZ24gOCAiCi0jIGRlZmluZSBfQVNNX01PVl9VTAkiIG1vdnEgIgorI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIF9fQVNNX1NFTChhLGIpIF9fQVNNX0ZPUk0oYSkKKyNlbHNlCisjIGRlZmluZSBfX0FTTV9TRUwoYSxiKSBfX0FTTV9GT1JNKGIpCisjZW5kaWYKIAotIyBkZWZpbmUgX0FTTV9JTkMJIiBpbmNxICIKLSMgZGVmaW5lIF9BU01fREVDCSIgZGVjcSAiCi0jIGRlZmluZSBfQVNNX0FERAkiIGFkZHEgIgotIyBkZWZpbmUgX0FTTV9TVUIJIiBzdWJxICIKLSMgZGVmaW5lIF9BU01fWEFERAkiIHhhZGRxICIKKyNkZWZpbmUgX19BU01fU0laRShpbnN0KQlfX0FTTV9TRUwoaW5zdCMjbCwgaW5zdCMjcSkKKyNkZWZpbmUgX19BU01fUkVHKHJlZykJCV9fQVNNX1NFTChlIyNyZWcsIHIjI3JlZykKIAotI2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KKyNkZWZpbmUgX0FTTV9QVFIJX19BU01fU0VMKC5sb25nLCAucXVhZCkKKyNkZWZpbmUgX0FTTV9BTElHTglfX0FTTV9TRUwoLmJhbGlnbiA0LCAuYmFsaWduIDgpCisjZGVmaW5lIF9BU01fTU9WX1VMCV9fQVNNX1NJWkUobW92KQorCisjZGVmaW5lIF9BU01fSU5DCV9fQVNNX1NJWkUoaW5jKQorI2RlZmluZSBfQVNNX0RFQwlfX0FTTV9TSVpFKGRlYykKKyNkZWZpbmUgX0FTTV9BREQJX19BU01fU0laRShhZGQpCisjZGVmaW5lIF9BU01fU1VCCV9fQVNNX1NJWkUoc3ViKQorI2RlZmluZSBfQVNNX1hBREQJX19BU01fU0laRSh4YWRkKQorI2RlZmluZSBfQVNNX0FYCQlfX0FTTV9SRUcoYXgpCisjZGVmaW5lIF9BU01fQlgJCV9fQVNNX1JFRyhieCkKKyNkZWZpbmUgX0FTTV9DWAkJX19BU01fUkVHKGN4KQorI2RlZmluZSBfQVNNX0RYCQlfX0FTTV9SRUcoZHgpCiAKIC8qIEV4Y2VwdGlvbiB0YWJsZSBlbnRyeSAqLwogIyBkZWZpbmUgX0FTTV9FWFRBQkxFKGZyb20sdG8pIFwKLQkiIC5zZWN0aW9uIF9fZXhfdGFibGUsXCJhXCJcbiIgXAorCV9fQVNNX0VYX1NFQwlcCiAJX0FTTV9BTElHTiAiXG4iIFwKIAlfQVNNX1BUUiAjZnJvbSAiLCIgI3RvICJcbiIgXAogCSIgLnByZXZpb3VzXG4iCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvYXRvbWljXzY0LmgKaW5kZXggM2UwY2Q3ZC4uYTAwOTUxOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2F0b21pY182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWNfNjQuaApAQCAtMTEsMTIgKzExLDYgQEAKICAqIHJlc291cmNlIGNvdW50aW5nIGV0Yy4uCiAgKi8KIAotI2lmZGVmIENPTkZJR19TTVAKLSNkZWZpbmUgTE9DSyAibG9jayA7ICIKLSNlbHNlCi0jZGVmaW5lIExPQ0sgIiIKLSNlbmRpZgotCiAvKgogICogTWFrZSBzdXJlIGdjYyBkb2Vzbid0IHRyeSB0byBiZSBjbGV2ZXIgYW5kIG1vdmUgdGhpbmdzIGFyb3VuZAogICogb24gdXMuIFdlIG5lZWQgdG8gdXNlIF9leGFjdGx5XyB0aGUgYWRkcmVzcyB0aGUgdXNlciBnYXZlIHVzLApAQCAtNDMxLDYgKzQyNSwzMiBAQAogCXJldHVybiBjICE9ICh1KTsKIH0KIAorLyoqCisgKiBhdG9taWNfaW5jX3Nob3J0IC0gaW5jcmVtZW50IG9mIGEgc2hvcnQgaW50ZWdlcgorICogQHY6IHBvaW50ZXIgdG8gdHlwZSBpbnQKKyAqCisgKiBBdG9taWNhbGx5IGFkZHMgMSB0byBAdgorICogUmV0dXJucyB0aGUgbmV3IHZhbHVlIG9mIEB1CisgKi8KK3N0YXRpYyBpbmxpbmUgc2hvcnQgaW50IGF0b21pY19pbmNfc2hvcnQoc2hvcnQgaW50ICp2KQoreworCWFzbShMT0NLX1BSRUZJWCAiYWRkdyAkMSwgJTAiIDogIittIiAoKnYpKTsKKwlyZXR1cm4gKnY7Cit9CisKKy8qKgorICogYXRvbWljX29yX2xvbmcgLSBPUiBvZiB0d28gbG9uZyBpbnRlZ2VycworICogQHYxOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICogQHYyOiBwb2ludGVyIHRvIHR5cGUgdW5zaWduZWQgbG9uZworICoKKyAqIEF0b21pY2FsbHkgT1JzIEB2MSBhbmQgQHYyCisgKiBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIE9SCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfb3JfbG9uZyh1bnNpZ25lZCBsb25nICp2MSwgdW5zaWduZWQgbG9uZyB2MikKK3sKKwlhc20oTE9DS19QUkVGSVggIm9ycSAlMSwgJTAiIDogIittIiAoKnYxKSA6ICJyIiAodjIpKTsKK30KKwogI2RlZmluZSBhdG9taWM2NF9pbmNfbm90X3plcm8odikgYXRvbWljNjRfYWRkX3VubGVzcygodiksIDEsIDApCiAKIC8qIFRoZXNlIGFyZSB4ODYtc3BlY2lmaWMsIHVzZWQgYnkgc29tZSBoZWFkZXIgZmlsZXMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaCBiL2luY2x1ZGUvYXNtLXg4Ni9iaW9zX2ViZGEuaAppbmRleCBiNGE0NmI3Li4wMDMzZTUwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvYmlvc19lYmRhLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2Jpb3NfZWJkYS5oCkBAIC0xNCw0ICsxNCw2IEBACiAJcmV0dXJuIGFkZHJlc3M7CS8qIDAgbWVhbnMgbm9uZSAqLwogfQogCit2b2lkIHJlc2VydmVfZWJkYV9yZWdpb24odm9pZCk7CisKICNlbmRpZiAvKiBfTUFDSF9CSU9TX0VCREFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oIGIvaW5jbHVkZS9hc20teDg2L2JpdG9wcy5oCmluZGV4IGVlNGIzZWEuLjk2YjE4MjkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9iaXRvcHMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvYml0b3BzLmgKQEAgLTIzLDExICsyMywyMSBAQAogI2lmIF9fR05VQ19fIDwgNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA8IDEpCiAvKiBUZWNobmljYWxseSB3cm9uZywgYnV0IHRoaXMgYXZvaWRzIGNvbXBpbGF0aW9uIGVycm9ycyBvbiBzb21lIGdjYwogICAgdmVyc2lvbnMuICovCi0jZGVmaW5lIEFERFIgIj1tIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIj1tIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbHNlCi0jZGVmaW5lIEFERFIgIittIiAoKih2b2xhdGlsZSBsb25nICopIGFkZHIpCisjZGVmaW5lIEJJVE9QX0FERFIoeCkgIittIiAoKih2b2xhdGlsZSBsb25nICopICh4KSkKICNlbmRpZgogCisjZGVmaW5lIEFERFIJCQkJQklUT1BfQUREUihhZGRyKQorCisvKgorICogV2UgZG8gdGhlIGxvY2tlZCBvcHMgdGhhdCBkb24ndCByZXR1cm4gdGhlIG9sZCB2YWx1ZSBhcworICogYSBtYXNrIG9wZXJhdGlvbiBvbiBhIGJ5dGUuCisgKi8KKyNkZWZpbmUgSVNfSU1NRURJQVRFKG5yKQkJKF9fYnVpbHRpbl9jb25zdGFudF9wKG5yKSkKKyNkZWZpbmUgQ09OU1RfTUFTS19BRERSKG5yLCBhZGRyKQlCSVRPUF9BRERSKCh2b2lkICopKGFkZHIpICsgKChucik+PjMpKQorI2RlZmluZSBDT05TVF9NQVNLKG5yKQkJCSgxIDw8ICgobnIpICYgNykpCisKIC8qKgogICogc2V0X2JpdCAtIEF0b21pY2FsbHkgc2V0IGEgYml0IGluIG1lbW9yeQogICogQG5yOiB0aGUgYml0IHRvIHNldApAQCAtNDMsOSArNTMsMTcgQEAKICAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKICAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfYml0KHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKLQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0cyAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCWlmIChJU19JTU1FRElBVEUobnIpKSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAib3JiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OClDT05TVF9NQVNLKG5yKSkKKwkJCTogIm1lbW9yeSIpOworCX0gZWxzZSB7CisJCWFzbSB2b2xhdGlsZShMT0NLX1BSRUZJWCAiYnRzICUxLCUwIgorCQkJOiBCSVRPUF9BRERSKGFkZHIpIDogIklyIiAobnIpIDogIm1lbW9yeSIpOworCX0KIH0KIAogLyoqCkBAIC01Nyw3ICs3NSw3IEBACiAgKiBJZiBpdCdzIGNhbGxlZCBvbiB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IHNpbXVsdGFuZW91c2x5LCB0aGUgZWZmZWN0CiAgKiBtYXkgYmUgdGhhdCBvbmx5IG9uZSBvcGVyYXRpb24gc3VjY2VlZHMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKCJidHMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSA6ICJtZW1vcnkiKTsKIH0KQEAgLTcyLDkgKzkwLDE3IEBACiAgKiB5b3Ugc2hvdWxkIGNhbGwgc21wX21iX19iZWZvcmVfY2xlYXJfYml0KCkgYW5kL29yIHNtcF9tYl9fYWZ0ZXJfY2xlYXJfYml0KCkKICAqIGluIG9yZGVyIHRvIGVuc3VyZSBjaGFuZ2VzIGFyZSB2aXNpYmxlIG9uIG90aGVyIHByb2Nlc3NvcnMuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0JYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidHIgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CisJaWYgKElTX0lNTUVESUFURShucikpIHsKKwkJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJhbmRiICUxLCUwIgorCQkJOiBDT05TVF9NQVNLX0FERFIobnIsIGFkZHIpCisJCQk6ICJpcSIgKCh1OCl+Q09OU1RfTUFTSyhucikpKTsKKwl9IGVsc2UgeworCQlhc20gdm9sYXRpbGUoTE9DS19QUkVGSVggImJ0ciAlMSwlMCIKKwkJCTogQklUT1BfQUREUihhZGRyKQorCQkJOiAiSXIiIChucikpOworCX0KIH0KIAogLyoKQEAgLTg1LDEzICsxMTEsMTMgQEAKICAqIGNsZWFyX2JpdCgpIGlzIGF0b21pYyBhbmQgaW1wbGllcyByZWxlYXNlIHNlbWFudGljcyBiZWZvcmUgdGhlIG1lbW9yeQogICogb3BlcmF0aW9uLiBJdCBjYW4gYmUgdXNlZCBmb3IgYW4gdW5sb2NrLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBjbGVhcl9iaXRfdW5sb2NrKHVuc2lnbmVkIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWJhcnJpZXIoKTsKIAljbGVhcl9iaXQobnIsIGFkZHIpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jbGVhcl9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlhc20gdm9sYXRpbGUoImJ0ciAlMSwlMCIgOiBBRERSIDogIklyIiAobnIpKTsKIH0KQEAgLTEwOCw3ICsxMzQsNyBAQAogICogTm8gbWVtb3J5IGJhcnJpZXIgaXMgcmVxdWlyZWQgaGVyZSwgYmVjYXVzZSB4ODYgY2Fubm90IHJlb3JkZXIgc3RvcmVzIHBhc3QKICAqIG9sZGVyIGxvYWRzLiBTYW1lIHByaW5jaXBsZSBhcyBzcGluX3VubG9jay4KICAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fY2xlYXJfYml0X3VubG9jayh1bnNpZ25lZCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NsZWFyX2JpdF91bmxvY2sodW5zaWduZWQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYmFycmllcigpOwogCV9fY2xlYXJfYml0KG5yLCBhZGRyKTsKQEAgLTEyNiw3ICsxNTIsNyBAQAogICogSWYgaXQncyBjYWxsZWQgb24gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBzaW11bHRhbmVvdXNseSwgdGhlIGVmZmVjdAogICogbWF5IGJlIHRoYXQgb25seSBvbmUgb3BlcmF0aW9uIHN1Y2NlZWRzLgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgX19jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWFzbSB2b2xhdGlsZSgiYnRjICUxLCUwIiA6IEFERFIgOiAiSXIiIChucikpOwogfQpAQCAtMTQwLDcgKzE2Niw3IEBACiAgKiBOb3RlIHRoYXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90CiAgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5LgogICovCi1zdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIHZvaWQgY2hhbmdlX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJYXNtIHZvbGF0aWxlKExPQ0tfUFJFRklYICJidGMgJTEsJTAiIDogQUREUiA6ICJJciIgKG5yKSk7CiB9CkBAIC0xNTMsNyArMTc5LDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTE3MCw3ICsxOTYsNyBAQAogICoKICAqIFRoaXMgaXMgdGhlIHNhbWUgYXMgdGVzdF9hbmRfc2V0X2JpdCBvbiB4ODYuCiAgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX3NldF9iaXRfbG9jayhpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9zZXRfYml0X2xvY2soaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiB0ZXN0X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKIH0KQEAgLTE4NCw3ICsyMTAsNyBAQAogICogSWYgdHdvIGV4YW1wbGVzIG9mIHRoaXMgb3BlcmF0aW9uIHJhY2UsIG9uZSBjYW4gYXBwZWFyIHRvIHN1Y2NlZWQKICAqIGJ1dCBhY3R1YWxseSBmYWlsLiAgWW91IG11c3QgcHJvdGVjdCBtdWx0aXBsZSBhY2Nlc3NlcyB3aXRoIGEgbG9jay4KICAqLwotc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9zZXRfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IF9fdGVzdF9hbmRfc2V0X2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjAzLDcgKzIyOSw3IEBACiAgKiBUaGlzIG9wZXJhdGlvbiBpcyBhdG9taWMgYW5kIGNhbm5vdCBiZSByZW9yZGVyZWQuCiAgKiBJdCBhbHNvIGltcGxpZXMgYSBtZW1vcnkgYmFycmllci4KICAqLwotc3RhdGljIGlubGluZSBpbnQgdGVzdF9hbmRfY2xlYXJfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjIzLDcgKzI0OSw3IEBACiAgKiBJZiB0d28gZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRpb24gcmFjZSwgb25lIGNhbiBhcHBlYXIgdG8gc3VjY2VlZAogICogYnV0IGFjdHVhbGx5IGZhaWwuICBZb3UgbXVzdCBwcm90ZWN0IG11bHRpcGxlIGFjY2Vzc2VzIHdpdGggYSBsb2NrLgogICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmFkZHIpCitzdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NsZWFyX2JpdChpbnQgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7CiAJaW50IG9sZGJpdDsKIApAQCAtMjM1LDcgKzI2MSw3IEBACiB9CiAKIC8qIFdBUk5JTkc6IG5vbiBhdG9taWMgYW5kIGl0IGNhbiBiZSByZW9yZGVyZWQhICovCi1zdGF0aWMgaW5saW5lIGludCBfX3Rlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgX190ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCkBAIC0yNTUsNyArMjgxLDcgQEAKICAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYyBhbmQgY2Fubm90IGJlIHJlb3JkZXJlZC4KICAqIEl0IGFsc28gaW1wbGllcyBhIG1lbW9yeSBiYXJyaWVyLgogICovCi1zdGF0aWMgaW5saW5lIGludCB0ZXN0X2FuZF9jaGFuZ2VfYml0KGludCBuciwgdm9sYXRpbGUgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHRlc3RfYW5kX2NoYW5nZV9iaXQoaW50IG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCWludCBvbGRiaXQ7CiAKQEAgLTI2NiwxMyArMjkyLDEzIEBACiAJcmV0dXJuIG9sZGJpdDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB2b2lkICphZGRyKQorc3RhdGljIGlubGluZSBpbnQgY29uc3RhbnRfdGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewogCXJldHVybiAoKDFVTCA8PCAobnIgJSBCSVRTX1BFUl9MT05HKSkgJgogCQkoKCh1bnNpZ25lZCBsb25nICopYWRkcilbbnIgLyBCSVRTX1BFUl9MT05HXSkpICE9IDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3Qgdm9pZCAqYWRkcikKK3N0YXRpYyBpbmxpbmUgaW50IHZhcmlhYmxlX3Rlc3RfYml0KGludCBuciwgdm9sYXRpbGUgY29uc3QgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKIAlpbnQgb2xkYml0OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmggYi9pbmNsdWRlL2FzbS14ODYvYm9vdHBhcmFtLmgKaW5kZXggZjYyZjQ3My4uYWUyMmJkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2Jvb3RwYXJhbS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ib290cGFyYW0uaApAQCAtMTEsNiArMTEsNyBAQAogCiAvKiBzZXR1cCBkYXRhIHR5cGVzICovCiAjZGVmaW5lIFNFVFVQX05PTkUJCQkwCisjZGVmaW5lIFNFVFVQX0U4MjBfRVhUCQkJMQogCiAvKiBleHRlbnNpYmxlIHNldHVwIGRhdGEgbGlzdCBub2RlICovCiBzdHJ1Y3Qgc2V0dXBfZGF0YSB7CkBAIC00MCw2ICs0MSw3IEBACiAJX191OAl0eXBlX29mX2xvYWRlcjsKIAlfX3U4CWxvYWRmbGFnczsKICNkZWZpbmUgTE9BREVEX0hJR0gJKDE8PDApCisjZGVmaW5lIFFVSUVUX0ZMQUcJKDE8PDUpCiAjZGVmaW5lIEtFRVBfU0VHTUVOVFMJKDE8PDYpCiAjZGVmaW5lIENBTl9VU0VfSEVBUAkoMTw8NykKIAlfX3UxNglzZXR1cF9tb3ZlX3NpemU7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oIGIvaW5jbHVkZS9hc20teDg2L2NtcHhjaGdfNjQuaAppbmRleCBkOWIyNmI5Li4xNzQ2M2NjZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2NtcHhjaGdfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvY21weGNoZ182NC5oCkBAIC05Myw2ICs5MywzOSBAQAogCXJldHVybiBvbGQ7CiB9CiAKKy8qCisgKiBBbHdheXMgdXNlIGxvY2tlZCBvcGVyYXRpb25zIHdoZW4gdG91Y2hpbmcgbWVtb3J5IHNoYXJlZCB3aXRoIGEKKyAqIGh5cGVydmlzb3IsIHNpbmNlIHRoZSBzeXN0ZW0gbWF5IGJlIFNNUCBldmVuIGlmIHRoZSBndWVzdCBrZXJuZWwKKyAqIGlzbid0LgorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgX19zeW5jX2NtcHhjaGcodm9sYXRpbGUgdm9pZCAqcHRyLAorCQkJCQkgICB1bnNpZ25lZCBsb25nIG9sZCwKKwkJCQkJICAgdW5zaWduZWQgbG9uZyBuZXcsIGludCBzaXplKQoreworCXVuc2lnbmVkIGxvbmcgcHJldjsKKwlzd2l0Y2ggKHNpemUpIHsKKwljYXNlIDE6CisJCWFzbSB2b2xhdGlsZSgibG9jazsgY21weGNoZ2IgJWIxLCUyIgorCQkJICAgICA6ICI9YSIocHJldikKKwkJCSAgICAgOiAicSIobmV3KSwgIm0iKCpfX3hnKHB0cikpLCAiMCIob2xkKQorCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJcmV0dXJuIHByZXY7CisJY2FzZSAyOgorCQlhc20gdm9sYXRpbGUoImxvY2s7IGNtcHhjaGd3ICV3MSwlMiIKKwkJCSAgICAgOiAiPWEiKHByZXYpCisJCQkgICAgIDogInIiKG5ldyksICJtIigqX194ZyhwdHIpKSwgIjAiKG9sZCkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiBwcmV2OworCWNhc2UgNDoKKwkJYXNtIHZvbGF0aWxlKCJsb2NrOyBjbXB4Y2hnbCAlMSwlMiIKKwkJCSAgICAgOiAiPWEiKHByZXYpCisJCQkgICAgIDogInIiKG5ldyksICJtIigqX194ZyhwdHIpKSwgIjAiKG9sZCkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiBwcmV2OworCX0KKwlyZXR1cm4gb2xkOworfQorCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgX19jbXB4Y2hnX2xvY2FsKHZvbGF0aWxlIHZvaWQgKnB0ciwKIAkJCQkJICAgIHVuc2lnbmVkIGxvbmcgb2xkLAogCQkJCQkgICAgdW5zaWduZWQgbG9uZyBuZXcsIGludCBzaXplKQpAQCAtMTM5LDYgKzE3MiwxMCBAQAogCSgoX190eXBlb2ZfXygqKHB0cikpKV9fY21weGNoZ19sb2NhbCgocHRyKSwgKHVuc2lnbmVkIGxvbmcpKG8pLAlcCiAJCQkJCSAgICAgKHVuc2lnbmVkIGxvbmcpKG4pLAlcCiAJCQkJCSAgICAgc2l6ZW9mKCoocHRyKSkpKQorI2RlZmluZSBzeW5jX2NtcHhjaGcocHRyLCBvLCBuKQkJCQkJCVwKKwkoKF9fdHlwZW9mX18oKihwdHIpKSlfX3N5bmNfY21weGNoZygocHRyKSwgKHVuc2lnbmVkIGxvbmcpKG8pLAlcCisJCQkJCSAgICAodW5zaWduZWQgbG9uZykobiksCQlcCisJCQkJCSAgICBzaXplb2YoKihwdHIpKSkpCiAjZGVmaW5lIGNtcHhjaGc2NF9sb2NhbChwdHIsIG8sIG4pCQkJCQlcCiAoewkJCQkJCQkJCVwKIAlCVUlMRF9CVUdfT04oc2l6ZW9mKCoocHRyKSkgIT0gOCk7CQkJCVwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggYi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCmluZGV4IDBkNjA5YzguLjc1ZWY5NTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaApAQCAtNzQsOCArNzQsOCBAQAogI2RlZmluZSBYODZfRkVBVFVSRV9BUkNIX1BFUkZNT04gKDMqMzIrMTEpIC8qIEludGVsIEFyY2hpdGVjdHVyYWwgUGVyZk1vbiAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9QRUJTCSgzKjMyKzEyKSAgLyogUHJlY2lzZS1FdmVudCBCYXNlZCBTYW1wbGluZyAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9CVFMJCSgzKjMyKzEzKSAgLyogQnJhbmNoIFRyYWNlIFN0b3JlICovCi0vKiAxNCBmcmVlICovCi0vKiAxNSBmcmVlICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFX1NZU0NBTEwzMgkoMyozMisxNCkgIC8qIHN5c2NhbGwgaW4gaWEzMiB1c2Vyc3BhY2UgKi8KKyNkZWZpbmUgWDg2X0ZFQVRVUkVfU1lTRU5URVIzMgkoMyozMisxNSkgIC8qIHN5c2VudGVyIGluIGlhMzIgdXNlcnNwYWNlICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX1JFUF9HT09ECSgzKjMyKzE2KSAvKiByZXAgbWljcm9jb2RlIHdvcmtzIHdlbGwgb24gdGhpcyBDUFUgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfTUZFTkNFX1JEVFNDICgzKjMyKzE3KSAvKiBNZmVuY2Ugc3luY2hyb25pemVzIFJEVFNDICovCiAjZGVmaW5lIFg4Nl9GRUFUVVJFX0xGRU5DRV9SRFRTQyAoMyozMisxOCkgLyogTGZlbmNlIHN5bmNocm9uaXplcyBSRFRTQyAqLwpAQCAtMTA2LDYgKzEwNiw3IEBACiAvKiBNb3JlIGV4dGVuZGVkIEFNRCBmbGFnczogQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwMSwgZWN4LCB3b3JkIDYgKi8KICNkZWZpbmUgWDg2X0ZFQVRVUkVfTEFIRl9MTQkoNiozMisgMCkgLyogTEFIRi9TQUhGIGluIGxvbmcgbW9kZSAqLwogI2RlZmluZSBYODZfRkVBVFVSRV9DTVBfTEVHQUNZCSg2KjMyKyAxKSAvKiBJZiB5ZXMgSHlwZXJUaHJlYWRpbmcgbm90IHZhbGlkICovCisjZGVmaW5lIFg4Nl9GRUFUVVJFX0lCUwkJKDYqMzIrIDEwKSAvKiBJbnN0cnVjdGlvbiBCYXNlZCBTYW1wbGluZyAqLwogCiAvKgogICogQXV4aWxpYXJ5IGZsYWdzOiBMaW51eCBkZWZpbmVkIC0gRm9yIGZlYXR1cmVzIHNjYXR0ZXJlZCBpbiB2YXJpb3VzCkBAIC0xNDIsMTEgKzE0MywxMSBAQAogI2RlZmluZSBjbGVhcl9jcHVfY2FwKGMsIGJpdCkJY2xlYXJfYml0KGJpdCwgKHVuc2lnbmVkIGxvbmcgKikoKGMpLT54ODZfY2FwYWJpbGl0eSkpCiAjZGVmaW5lIHNldHVwX2NsZWFyX2NwdV9jYXAoYml0KSBkbyB7IFwKIAljbGVhcl9jcHVfY2FwKCZib290X2NwdV9kYXRhLCBiaXQpOwlcCi0Jc2V0X2JpdChiaXQsIGNsZWFyZWRfY3B1X2NhcHMpOyAJXAorCXNldF9iaXQoYml0LCAodW5zaWduZWQgbG9uZyAqKWNsZWFyZWRfY3B1X2NhcHMpOyBcCiB9IHdoaWxlICgwKQogI2RlZmluZSBzZXR1cF9mb3JjZV9jcHVfY2FwKGJpdCkgZG8geyBcCiAJc2V0X2NwdV9jYXAoJmJvb3RfY3B1X2RhdGEsIGJpdCk7CVwKLQljbGVhcl9iaXQoYml0LCBjbGVhcmVkX2NwdV9jYXBzKTsgCVwKKwljbGVhcl9iaXQoYml0LCAodW5zaWduZWQgbG9uZyAqKWNsZWFyZWRfY3B1X2NhcHMpOyAJXAogfSB3aGlsZSAoMCkKIAogI2RlZmluZSBjcHVfaGFzX2ZwdQkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0ZQVSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmggYi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCmluZGV4IGQyNTI2ZDMuLjc1MTVjMTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaApAQCAtMSw1ICsxLDM5IEBACisjaWZuZGVmIF9YODZfQ1VSUkVOVF9ICisjZGVmaW5lIF9YODZfQ1VSUkVOVF9ICisKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImN1cnJlbnRfMzIuaCIKLSNlbHNlCi0jIGluY2x1ZGUgImN1cnJlbnRfNjQuaCIKLSNlbmRpZgorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisjaW5jbHVkZSA8YXNtL3BlcmNwdS5oPgorCitzdHJ1Y3QgdGFza19zdHJ1Y3Q7CisKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgY3VycmVudF90YXNrKTsKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc3RydWN0IHRhc2tfc3RydWN0ICpnZXRfY3VycmVudCh2b2lkKQoreworCXJldHVybiB4ODZfcmVhZF9wZXJjcHUoY3VycmVudF90YXNrKTsKK30KKworI2Vsc2UgLyogWDg2XzMyICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjaW5jbHVkZSA8YXNtL3BkYS5oPgorCitzdHJ1Y3QgdGFza19zdHJ1Y3Q7CisKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgc3RydWN0IHRhc2tfc3RydWN0ICpnZXRfY3VycmVudCh2b2lkKQoreworCXJldHVybiByZWFkX3BkYShwY3VycmVudCk7Cit9CisKKyNlbHNlIC8qIF9fQVNTRU1CTFlfXyAqLworCisjaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+CisjZGVmaW5lIEdFVF9DVVJSRU5UKHJlZykgbW92cSAlZ3M6KHBkYV9wY3VycmVudCkscmVnCisKKyNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KKworI2VuZGlmIC8qIFg4Nl8zMiAqLworCisjZGVmaW5lIGN1cnJlbnQgZ2V0X2N1cnJlbnQoKQorCisjZW5kaWYgLyogWDg2X0NVUlJFTlRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50XzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhZjliZGIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfMzIuaAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLSNpZm5kZWYgX0kzODZfQ1VSUkVOVF9ICi0jZGVmaW5lIF9JMzg2X0NVUlJFTlRfSAotCi0jaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KLSNpbmNsdWRlIDxhc20vcGVyY3B1Lmg+Ci0KLXN0cnVjdCB0YXNrX3N0cnVjdDsKLQotREVDTEFSRV9QRVJfQ1BVKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBjdXJyZW50X3Rhc2spOwotc3RhdGljIF9fYWx3YXlzX2lubGluZSBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmdldF9jdXJyZW50KHZvaWQpCi17Ci0JcmV0dXJuIHg4Nl9yZWFkX3BlcmNwdShjdXJyZW50X3Rhc2spOwotfQotCi0jZGVmaW5lIGN1cnJlbnQgZ2V0X2N1cnJlbnQoKQotCi0jZW5kaWYgLyogIShfSTM4Nl9DVVJSRU5UX0gpICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF82NC5oIGIvaW5jbHVkZS9hc20teDg2L2N1cnJlbnRfNjQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQzNjhlZC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvY3VycmVudF82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotI2lmbmRlZiBfWDg2XzY0X0NVUlJFTlRfSAotI2RlZmluZSBfWDg2XzY0X0NVUlJFTlRfSAotCi0jaWYgIWRlZmluZWQoX19BU1NFTUJMWV9fKQotc3RydWN0IHRhc2tfc3RydWN0OwotCi0jaW5jbHVkZSA8YXNtL3BkYS5oPgotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCB0YXNrX3N0cnVjdCAqZ2V0X2N1cnJlbnQodm9pZCkKLXsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnQgPSByZWFkX3BkYShwY3VycmVudCk7Ci0JcmV0dXJuIHQ7Ci19Ci0KLSNkZWZpbmUgY3VycmVudCBnZXRfY3VycmVudCgpCi0KLSNlbHNlCi0KLSNpZm5kZWYgQVNNX09GRlNFVF9ICi0jaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+Ci0jZW5kaWYKLQotI2RlZmluZSBHRVRfQ1VSUkVOVChyZWcpIG1vdnEgJWdzOihwZGFfcGN1cnJlbnQpLHJlZwotCi0jZW5kaWYKLQotI2VuZGlmIC8qICEoX1g4Nl82NF9DVVJSRU5UX0gpICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZGVzYy5oIGIvaW5jbHVkZS9hc20teDg2L2Rlc2MuaAppbmRleCAyNjhhMDEyLi5hNDRjNGRjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZGVzYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKQEAgLTI5LDExICsyOSwxNyBAQAogZXh0ZXJuIHN0cnVjdCBkZXNjX3B0ciBpZHRfZGVzY3I7CiBleHRlcm4gZ2F0ZV9kZXNjIGlkdF90YWJsZVtdOwogCitzdHJ1Y3QgZ2R0X3BhZ2UgeworCXN0cnVjdCBkZXNjX3N0cnVjdCBnZHRbR0RUX0VOVFJJRVNdOworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKFBBR0VfU0laRSkpKTsKK0RFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgZ2R0X3BhZ2UsIGdkdF9wYWdlKTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZGVzY19zdHJ1Y3QgKmdldF9jcHVfZ2R0X3RhYmxlKHVuc2lnbmVkIGludCBjcHUpCit7CisJcmV0dXJuIHBlcl9jcHUoZ2R0X3BhZ2UsIGNwdSkuZ2R0OworfQorCiAjaWZkZWYgQ09ORklHX1g4Nl82NAotZXh0ZXJuIHN0cnVjdCBkZXNjX3N0cnVjdCBjcHVfZ2R0X3RhYmxlW0dEVF9FTlRSSUVTXTsKLWV4dGVybiBzdHJ1Y3QgZGVzY19wdHIgY3B1X2dkdF9kZXNjcltdOwotLyogdGhlIGNwdSBnZHQgYWNjZXNzb3IgKi8KLSNkZWZpbmUgZ2V0X2NwdV9nZHRfdGFibGUoeCkgKChzdHJ1Y3QgZGVzY19zdHJ1Y3QgKiljcHVfZ2R0X2Rlc2NyW3hdLmFkZHJlc3MpCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBwYWNrX2dhdGUoZ2F0ZV9kZXNjICpnYXRlLCB1bnNpZ25lZCB0eXBlLCB1bnNpZ25lZCBsb25nIGZ1bmMsCiAJCQkgICAgIHVuc2lnbmVkIGRwbCwgdW5zaWduZWQgaXN0LCB1bnNpZ25lZCBzZWcpCkBAIC01MSwxNiArNTcsNiBAQAogfQogCiAjZWxzZQotc3RydWN0IGdkdF9wYWdlIHsKLQlzdHJ1Y3QgZGVzY19zdHJ1Y3QgZ2R0W0dEVF9FTlRSSUVTXTsKLX0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZChQQUdFX1NJWkUpKSk7Ci1ERUNMQVJFX1BFUl9DUFUoc3RydWN0IGdkdF9wYWdlLCBnZHRfcGFnZSk7Ci0KLXN0YXRpYyBpbmxpbmUgc3RydWN0IGRlc2Nfc3RydWN0ICpnZXRfY3B1X2dkdF90YWJsZSh1bnNpZ25lZCBpbnQgY3B1KQotewotCXJldHVybiBwZXJfY3B1KGdkdF9wYWdlLCBjcHUpLmdkdDsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIHBhY2tfZ2F0ZShnYXRlX2Rlc2MgKmdhdGUsIHVuc2lnbmVkIGNoYXIgdHlwZSwKIAkJCSAgICAgdW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBkcGwsIHVuc2lnbmVkIGZsYWdzLAogCQkJICAgICB1bnNpZ25lZCBzaG9ydCBzZWcpCkBAIC0xOTIsOCArMTg4LDggQEAKIAkJdW5zaWduZWQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCQlsZHRfZGVzYyBsZHQ7CiAKLQkJc2V0X3Rzc2xkdF9kZXNjcmlwdG9yKCZsZHQsICh1bnNpZ25lZCBsb25nKWFkZHIsCi0JCQkJICAgICAgREVTQ19MRFQsIGVudHJpZXMgKiBzaXplb2YobGR0KSAtIDEpOworCQlzZXRfdHNzbGR0X2Rlc2NyaXB0b3IoJmxkdCwgKHVuc2lnbmVkIGxvbmcpYWRkciwgREVTQ19MRFQsCisJCQkJICAgICAgZW50cmllcyAqIExEVF9FTlRSWV9TSVpFIC0gMSk7CiAJCXdyaXRlX2dkdF9lbnRyeShnZXRfY3B1X2dkdF90YWJsZShjcHUpLCBHRFRfRU5UUllfTERULAogCQkJCSZsZHQsIERFU0NfTERUKTsKIAkJYXNtIHZvbGF0aWxlKCJsbGR0ICV3MCI6OiJxIiAoR0RUX0VOVFJZX0xEVCo4KSk7CkBAIC0zMTEsNiArMzA3LDI4IEBACiAJX3NldF9nYXRlKG4sIEdBVEVfSU5URVJSVVBULCBhZGRyLCAwLCAwLCBfX0tFUk5FTF9DUyk7CiB9CiAKKyNkZWZpbmUgU1lTX1ZFQ1RPUl9GUkVFCQkwCisjZGVmaW5lIFNZU19WRUNUT1JfQUxMT0NFRAkxCisKK2V4dGVybiBpbnQgZmlyc3Rfc3lzdGVtX3ZlY3RvcjsKK2V4dGVybiBjaGFyIHN5c3RlbV92ZWN0b3JzW107CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhbGxvY19zeXN0ZW1fdmVjdG9yKGludCB2ZWN0b3IpCit7CisJaWYgKHN5c3RlbV92ZWN0b3JzW3ZlY3Rvcl0gPT0gU1lTX1ZFQ1RPUl9GUkVFKSB7CisJCXN5c3RlbV92ZWN0b3JzW3ZlY3Rvcl0gPSBTWVNfVkVDVE9SX0FMTE9DRUQ7CisJCWlmIChmaXJzdF9zeXN0ZW1fdmVjdG9yID4gdmVjdG9yKQorCQkJZmlyc3Rfc3lzdGVtX3ZlY3RvciA9IHZlY3RvcjsKKwl9IGVsc2UKKwkJQlVHKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhbGxvY19pbnRyX2dhdGUodW5zaWduZWQgaW50IG4sIHZvaWQgKmFkZHIpCit7CisJYWxsb2Nfc3lzdGVtX3ZlY3RvcihuKTsKKwlzZXRfaW50cl9nYXRlKG4sIGFkZHIpOworfQorCiAvKgogICogVGhpcyByb3V0aW5lIHNldHMgdXAgYW4gaW50ZXJydXB0IGdhdGUgYXQgZGlyZWN0b3J5IHByaXZpbGVnZSBsZXZlbCAzLgogICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZGVzY19kZWZzLmggYi9pbmNsdWRlL2FzbS14ODYvZGVzY19kZWZzLmgKaW5kZXggZWNjYjRlYS4uZjdiYWNmMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2Rlc2NfZGVmcy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9kZXNjX2RlZnMuaApAQCAtNzUsMTAgKzc1LDE0IEBACiB0eXBlZGVmIHN0cnVjdCBnYXRlX3N0cnVjdDY0IGdhdGVfZGVzYzsKIHR5cGVkZWYgc3RydWN0IGxkdHRzc19kZXNjNjQgbGR0X2Rlc2M7CiB0eXBlZGVmIHN0cnVjdCBsZHR0c3NfZGVzYzY0IHRzc19kZXNjOworI2RlZmluZSBnYXRlX29mZnNldChnKSAoKGcpLm9mZnNldF9sb3cgfCAoKHVuc2lnbmVkIGxvbmcpKGcpLm9mZnNldF9taWRkbGUgPDwgMTYpIHwgKCh1bnNpZ25lZCBsb25nKShnKS5vZmZzZXRfaGlnaCA8PCAzMikpCisjZGVmaW5lIGdhdGVfc2VnbWVudChnKSAoKGcpLnNlZ21lbnQpCiAjZWxzZQogdHlwZWRlZiBzdHJ1Y3QgZGVzY19zdHJ1Y3QgZ2F0ZV9kZXNjOwogdHlwZWRlZiBzdHJ1Y3QgZGVzY19zdHJ1Y3QgbGR0X2Rlc2M7CiB0eXBlZGVmIHN0cnVjdCBkZXNjX3N0cnVjdCB0c3NfZGVzYzsKKyNkZWZpbmUgZ2F0ZV9vZmZzZXQoZykJCSgoKGcpLmIgJiAweGZmZmYwMDAwKSB8ICgoZykuYSAmIDB4MDAwMGZmZmYpKQorI2RlZmluZSBnYXRlX3NlZ21lbnQoZykJCSgoZykuYSA+PiAxNikKICNlbmRpZgogCiBzdHJ1Y3QgZGVzY19wdHIgewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2RtaS5oIGIvaW5jbHVkZS9hc20teDg2L2RtaS5oCmluZGV4IDRlZGY3NTEuLjU4YTg2NTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kbWkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZG1pLmgKQEAgLTMsMTIgKzMsNiBAQAogCiAjaW5jbHVkZSA8YXNtL2lvLmg+CiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0KLSNkZWZpbmUgZG1pX2FsbG9jIGFsbG9jX2Jvb3RtZW0KLQotI2Vsc2UgLyogQ09ORklHX1g4Nl8zMiAqLwotCiAjZGVmaW5lIERNSV9NQVhfREFUQSAyMDQ4CiAKIGV4dGVybiBpbnQgZG1pX2FsbG9jX2luZGV4OwpAQCAtMjUsOCArMTksNiBAQAogCXJldHVybiBkbWlfYWxsb2NfZGF0YSArIGlkeDsKIH0KIAotI2VuZGlmCi0KIC8qIFVzZSBlYXJseSBJTyBtYXBwaW5ncyBmb3IgRE1JIGJlY2F1c2UgaXQncyBpbml0aWFsaXplZCBlYXJseSAqLwogI2RlZmluZSBkbWlfaW9yZW1hcCBlYXJseV9pb3JlbWFwCiAjZGVmaW5lIGRtaV9pb3VubWFwIGVhcmx5X2lvdW5tYXAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjIuaAppbmRleCBiM2NiYjBjLi43MzhiYjlmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2R3YXJmMi5oCkBAIC0xLDUgKzEsNjEgQEAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgImR3YXJmMl8zMi5oIgorI2lmbmRlZiBfRFdBUkYyX0gKKyNkZWZpbmUgX0RXQVJGMl9ICisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisjd2FybmluZyAiYXNtL2R3YXJmMi5oIHNob3VsZCBiZSBvbmx5IGluY2x1ZGVkIGluIHB1cmUgYXNzZW1ibHkgZmlsZXMiCisjZW5kaWYKKworLyoKKyAgIE1hY3JvcyBmb3IgZHdhcmYyIENGSSB1bndpbmQgdGFibGUgZW50cmllcy4KKyAgIFNlZSAiYXMuaW5mbyIgZm9yIGRldGFpbHMgb24gdGhlc2UgcHNldWRvIG9wcy4gVW5mb3J0dW5hdGVseQorICAgdGhleSBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdmVyeSBuZXcgYmludXRpbHMsIHNvIGRlZmluZSB0aGVtCisgICBhd2F5IGZvciBvbGRlciB2ZXJzaW9uLgorICovCisKKyNpZmRlZiBDT05GSUdfQVNfQ0ZJCisKKyNkZWZpbmUgQ0ZJX1NUQVJUUFJPQyAuY2ZpX3N0YXJ0cHJvYworI2RlZmluZSBDRklfRU5EUFJPQyAuY2ZpX2VuZHByb2MKKyNkZWZpbmUgQ0ZJX0RFRl9DRkEgLmNmaV9kZWZfY2ZhCisjZGVmaW5lIENGSV9ERUZfQ0ZBX1JFR0lTVEVSIC5jZmlfZGVmX2NmYV9yZWdpc3RlcgorI2RlZmluZSBDRklfREVGX0NGQV9PRkZTRVQgLmNmaV9kZWZfY2ZhX29mZnNldAorI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQgLmNmaV9hZGp1c3RfY2ZhX29mZnNldAorI2RlZmluZSBDRklfT0ZGU0VUIC5jZmlfb2Zmc2V0CisjZGVmaW5lIENGSV9SRUxfT0ZGU0VUIC5jZmlfcmVsX29mZnNldAorI2RlZmluZSBDRklfUkVHSVNURVIgLmNmaV9yZWdpc3RlcgorI2RlZmluZSBDRklfUkVTVE9SRSAuY2ZpX3Jlc3RvcmUKKyNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIC5jZmlfcmVtZW1iZXJfc3RhdGUKKyNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgLmNmaV9yZXN0b3JlX3N0YXRlCisjZGVmaW5lIENGSV9VTkRFRklORUQgLmNmaV91bmRlZmluZWQKKworI2lmZGVmIENPTkZJR19BU19DRklfU0lHTkFMX0ZSQU1FCisjZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgLmNmaV9zaWduYWxfZnJhbWUKICNlbHNlCi0jIGluY2x1ZGUgImR3YXJmMl82NC5oIgorI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FCisjZW5kaWYKKworI2Vsc2UKKworLyogRHVlIHRvIHRoZSBzdHJ1Y3R1cmUgb2YgcHJlLWV4aXNpdGluZyBjb2RlLCBkb24ndCB1c2UgYXNzZW1ibGVyIGxpbmUKKyAgIGNvbW1lbnQgY2hhcmFjdGVyICMgdG8gaWdub3JlIHRoZSBhcmd1bWVudHMuIEluc3RlYWQsIHVzZSBhIGR1bW15IG1hY3JvLiAqLworLm1hY3JvIGNmaV9pZ25vcmUgYT0wLCBiPTAsIGM9MCwgZD0wCisuZW5kbQorCisjZGVmaW5lIENGSV9TVEFSVFBST0MJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfRU5EUFJPQwljZmlfaWdub3JlCisjZGVmaW5lIENGSV9ERUZfQ0ZBCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfREVGX0NGQV9PRkZTRVQJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfT0ZGU0VUCWNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVHSVNURVIJY2ZpX2lnbm9yZQorI2RlZmluZSBDRklfUkVTVE9SRQljZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURSBjZmlfaWdub3JlCisjZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFIGNmaV9pZ25vcmUKKyNkZWZpbmUgQ0ZJX1VOREVGSU5FRCBjZmlfaWdub3JlCisjZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUgY2ZpX2lnbm9yZQorCisjZW5kaWYKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvZHdhcmYyXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNjYzOTguLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMl8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotI2lmbmRlZiBfRFdBUkYyX0gKLSNkZWZpbmUgX0RXQVJGMl9ICi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jd2FybmluZyAiYXNtL2R3YXJmMi5oIHNob3VsZCBiZSBvbmx5IGluY2x1ZGVkIGluIHB1cmUgYXNzZW1ibHkgZmlsZXMiCi0jZW5kaWYKLQotLyoKLSAgIE1hY3JvcyBmb3IgZHdhcmYyIENGSSB1bndpbmQgdGFibGUgZW50cmllcy4KLSAgIFNlZSAiYXMuaW5mbyIgZm9yIGRldGFpbHMgb24gdGhlc2UgcHNldWRvIG9wcy4gVW5mb3J0dW5hdGVseQotICAgdGhleSBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdmVyeSBuZXcgYmludXRpbHMsIHNvIGRlZmluZSB0aGVtCi0gICBhd2F5IGZvciBvbGRlciB2ZXJzaW9uLgotICovCi0KLSNpZmRlZiBDT05GSUdfVU5XSU5EX0lORk8KLQotI2RlZmluZSBDRklfU1RBUlRQUk9DIC5jZmlfc3RhcnRwcm9jCi0jZGVmaW5lIENGSV9FTkRQUk9DIC5jZmlfZW5kcHJvYwotI2RlZmluZSBDRklfREVGX0NGQSAuY2ZpX2RlZl9jZmEKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIgLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVCAuY2ZpX2RlZl9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9BREpVU1RfQ0ZBX09GRlNFVCAuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0Ci0jZGVmaW5lIENGSV9PRkZTRVQgLmNmaV9vZmZzZXQKLSNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQgLmNmaV9yZWxfb2Zmc2V0Ci0jZGVmaW5lIENGSV9SRUdJU1RFUiAuY2ZpX3JlZ2lzdGVyCi0jZGVmaW5lIENGSV9SRVNUT1JFIC5jZmlfcmVzdG9yZQotI2RlZmluZSBDRklfUkVNRU1CRVJfU1RBVEUgLmNmaV9yZW1lbWJlcl9zdGF0ZQotI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSAuY2ZpX3Jlc3RvcmVfc3RhdGUKLSNkZWZpbmUgQ0ZJX1VOREVGSU5FRCAuY2ZpX3VuZGVmaW5lZAotCi0jaWZkZWYgQ09ORklHX0FTX0NGSV9TSUdOQUxfRlJBTUUKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSAuY2ZpX3NpZ25hbF9mcmFtZQotI2Vsc2UKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRQotI2VuZGlmCi0KLSNlbHNlCi0KLS8qIER1ZSB0byB0aGUgc3RydWN0dXJlIG9mIHByZS1leGlzaXRpbmcgY29kZSwgZG9uJ3QgdXNlIGFzc2VtYmxlciBsaW5lCi0gICBjb21tZW50IGNoYXJhY3RlciAjIHRvIGlnbm9yZSB0aGUgYXJndW1lbnRzLiBJbnN0ZWFkLCB1c2UgYSBkdW1teSBtYWNyby4gKi8KLS5tYWNybyBpZ25vcmUgYT0wLCBiPTAsIGM9MCwgZD0wCi0uZW5kbQotCi0jZGVmaW5lIENGSV9TVEFSVFBST0MJaWdub3JlCi0jZGVmaW5lIENGSV9FTkRQUk9DCWlnbm9yZQotI2RlZmluZSBDRklfREVGX0NGQQlpZ25vcmUKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIJaWdub3JlCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX09GRlNFVAlpZ25vcmUKLSNkZWZpbmUgQ0ZJX0FESlVTVF9DRkFfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfT0ZGU0VUCWlnbm9yZQotI2RlZmluZSBDRklfUkVMX09GRlNFVAlpZ25vcmUKLSNkZWZpbmUgQ0ZJX1JFR0lTVEVSCWlnbm9yZQotI2RlZmluZSBDRklfUkVTVE9SRQlpZ25vcmUKLSNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIGlnbm9yZQotI2RlZmluZSBDRklfUkVTVE9SRV9TVEFURSBpZ25vcmUKLSNkZWZpbmUgQ0ZJX1VOREVGSU5FRCBpZ25vcmUKLSNkZWZpbmUgQ0ZJX1NJR05BTF9GUkFNRSBpZ25vcmUKLQotI2VuZGlmCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2R3YXJmMl82NC5oIGIvaW5jbHVkZS9hc20teDg2L2R3YXJmMl82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOTUwNTE5Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9kd2FyZjJfNjQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLSNpZm5kZWYgX0RXQVJGMl9ICi0jZGVmaW5lIF9EV0FSRjJfSCAxCi0KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0jd2FybmluZyAiYXNtL2R3YXJmMi5oIHNob3VsZCBiZSBvbmx5IGluY2x1ZGVkIGluIHB1cmUgYXNzZW1ibHkgZmlsZXMiCi0jZW5kaWYKLQotLyoKLSAgIE1hY3JvcyBmb3IgZHdhcmYyIENGSSB1bndpbmQgdGFibGUgZW50cmllcy4KLSAgIFNlZSAiYXMuaW5mbyIgZm9yIGRldGFpbHMgb24gdGhlc2UgcHNldWRvIG9wcy4gVW5mb3J0dW5hdGVseQotICAgdGhleSBhcmUgb25seSBzdXBwb3J0ZWQgaW4gdmVyeSBuZXcgYmludXRpbHMsIHNvIGRlZmluZSB0aGVtCi0gICBhd2F5IGZvciBvbGRlciB2ZXJzaW9uLgotICovCi0KLSNpZmRlZiBDT05GSUdfQVNfQ0ZJCi0KLSNkZWZpbmUgQ0ZJX1NUQVJUUFJPQyAuY2ZpX3N0YXJ0cHJvYwotI2RlZmluZSBDRklfRU5EUFJPQyAuY2ZpX2VuZHByb2MKLSNkZWZpbmUgQ0ZJX0RFRl9DRkEgLmNmaV9kZWZfY2ZhCi0jZGVmaW5lIENGSV9ERUZfQ0ZBX1JFR0lTVEVSIC5jZmlfZGVmX2NmYV9yZWdpc3RlcgotI2RlZmluZSBDRklfREVGX0NGQV9PRkZTRVQgLmNmaV9kZWZfY2ZhX29mZnNldAotI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQgLmNmaV9hZGp1c3RfY2ZhX29mZnNldAotI2RlZmluZSBDRklfT0ZGU0VUIC5jZmlfb2Zmc2V0Ci0jZGVmaW5lIENGSV9SRUxfT0ZGU0VUIC5jZmlfcmVsX29mZnNldAotI2RlZmluZSBDRklfUkVHSVNURVIgLmNmaV9yZWdpc3RlcgotI2RlZmluZSBDRklfUkVTVE9SRSAuY2ZpX3Jlc3RvcmUKLSNkZWZpbmUgQ0ZJX1JFTUVNQkVSX1NUQVRFIC5jZmlfcmVtZW1iZXJfc3RhdGUKLSNkZWZpbmUgQ0ZJX1JFU1RPUkVfU1RBVEUgLmNmaV9yZXN0b3JlX3N0YXRlCi0jZGVmaW5lIENGSV9VTkRFRklORUQgLmNmaV91bmRlZmluZWQKLSNpZmRlZiBDT05GSUdfQVNfQ0ZJX1NJR05BTF9GUkFNRQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FIC5jZmlfc2lnbmFsX2ZyYW1lCi0jZWxzZQotI2RlZmluZSBDRklfU0lHTkFMX0ZSQU1FCi0jZW5kaWYKLQotI2Vsc2UKLQotLyogdXNlIGFzc2VtYmxlciBsaW5lIGNvbW1lbnQgY2hhcmFjdGVyICMgdG8gaWdub3JlIHRoZSBhcmd1bWVudHMuICovCi0jZGVmaW5lIENGSV9TVEFSVFBST0MJIwotI2RlZmluZSBDRklfRU5EUFJPQwkjCi0jZGVmaW5lIENGSV9ERUZfQ0ZBCSMKLSNkZWZpbmUgQ0ZJX0RFRl9DRkFfUkVHSVNURVIJIwotI2RlZmluZSBDRklfREVGX0NGQV9PRkZTRVQJIwotI2RlZmluZSBDRklfQURKVVNUX0NGQV9PRkZTRVQJIwotI2RlZmluZSBDRklfT0ZGU0VUCSMKLSNkZWZpbmUgQ0ZJX1JFTF9PRkZTRVQJIwotI2RlZmluZSBDRklfUkVHSVNURVIJIwotI2RlZmluZSBDRklfUkVTVE9SRQkjCi0jZGVmaW5lIENGSV9SRU1FTUJFUl9TVEFURQkjCi0jZGVmaW5lIENGSV9SRVNUT1JFX1NUQVRFCSMKLSNkZWZpbmUgQ0ZJX1VOREVGSU5FRAkjCi0jZGVmaW5lIENGSV9TSUdOQUxfRlJBTUUJIwotCi0jZW5kaWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZTgyMC5oIGIvaW5jbHVkZS9hc20teDg2L2U4MjAuaAppbmRleCA3MDA0MjUxLi4zM2U3OTNlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZTgyMC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9lODIwLmgKQEAgLTIsNiArMiw0MSBAQAogI2RlZmluZSBfX0FTTV9FODIwX0gKICNkZWZpbmUgRTgyME1BUAkweDJkMAkJLyogb3VyIG1hcCAqLwogI2RlZmluZSBFODIwTUFYCTEyOAkJLyogbnVtYmVyIG9mIGVudHJpZXMgaW4gRTgyME1BUCAqLworCisvKgorICogTGVnYWN5IEU4MjAgQklPUyBsaW1pdHMgdXMgdG8gMTI4IChFODIwTUFYKSBub2RlcyBkdWUgdG8gdGhlCisgKiBjb25zdHJhaW5lZCBzcGFjZSBpbiB0aGUgemVyb3BhZ2UuICBJZiB3ZSBoYXZlIG1vcmUgbm9kZXMgdGhhbgorICogdGhhdCwgYW5kIGlmIHdlJ3ZlIGJvb3RlZCBvZmYgRUZJIGZpcm13YXJlLCB0aGVuIHRoZSBFRkkgdGFibGVzCisgKiBwYXNzZWQgdXMgZnJvbSB0aGUgRUZJIGZpcm13YXJlIGNhbiBsaXN0IG1vcmUgbm9kZXMuICBTaXplIG91cgorICogaW50ZXJuYWwgbWVtb3J5IG1hcCB0YWJsZXMgdG8gaGF2ZSByb29tIGZvciB0aGVzZSBhZGRpdGlvbmFsCisgKiBub2RlcywgYmFzZWQgb24gdXAgdG8gdGhyZWUgZW50cmllcyBwZXIgbm9kZSBmb3Igd2hpY2ggdGhlCisgKiBrZXJuZWwgd2FzIGJ1aWx0OiBNQVhfTlVNTk9ERVMgPT0gKDEgPDwgQ09ORklHX05PREVTX1NISUZUKSwKKyAqIHBsdXMgRTgyME1BWCwgYWxsb3dpbmcgc3BhY2UgZm9yIHRoZSBwb3NzaWJsZSBkdXBsaWNhdGUgRTgyMAorICogZW50cmllcyB0aGF0IG1pZ2h0IG5lZWQgcm9vbSBpbiB0aGUgc2FtZSBhcnJheXMsIHByaW9yIHRvIHRoZQorICogY2FsbCB0byBzYW5pdGl6ZV9lODIwX21hcCgpIHRvIHJlbW92ZSBkdXBsaWNhdGVzLiAgVGhlIGFsbG93YW5jZQorICogb2YgdGhyZWUgbWVtb3J5IG1hcCBlbnRyaWVzIHBlciBub2RlIGlzICJlbm91Z2giIGVudHJpZXMgZm9yCisgKiB0aGUgaW5pdGlhbCBoYXJkd2FyZSBwbGF0Zm9ybSBtb3RpdmF0aW5nIHRoaXMgbWVjaGFuaXNtIHRvIG1ha2UKKyAqIHVzZSBvZiBhZGRpdGlvbmFsIEVGSSBtYXAgZW50cmllcy4gIEZ1dHVyZSBwbGF0Zm9ybXMgbWF5IHdhbnQKKyAqIHRvIGFsbG93IG1vcmUgdGhhbiB0aHJlZSBlbnRyaWVzIHBlciBub2RlIG9yIG90aGVyd2lzZSByZWZpbmUKKyAqIHRoaXMgc2l6ZS4KKyAqLworCisvKgorICogT2RkOiAnbWFrZSBoZWFkZXJzX2NoZWNrJyBjb21wbGFpbnMgYWJvdXQgbnVtYS5oIGlmIEkgdHJ5CisgKiB0byBjb2xsYXBzZSB0aGUgbmV4dCB0d28gI2lmZGVmIGxpbmVzIHRvIGEgc2luZ2xlIGxpbmU6CisgKgkjaWYgZGVmaW5lZChfX0tFUk5FTF9fKSAmJiBkZWZpbmVkKENPTkZJR19FRkkpCisgKi8KKyNpZmRlZiBfX0tFUk5FTF9fCisjaWZkZWYgQ09ORklHX0VGSQorI2luY2x1ZGUgPGxpbnV4L251bWEuaD4KKyNkZWZpbmUgRTgyMF9YX01BWCAoRTgyME1BWCArIDMgKiBNQVhfTlVNTk9ERVMpCisjZWxzZQkvKiAhIENPTkZJR19FRkkgKi8KKyNkZWZpbmUgRTgyMF9YX01BWCBFODIwTUFYCisjZW5kaWYKKyNlbHNlCS8qICEgX19LRVJORUxfXyAqLworI2RlZmluZSBFODIwX1hfTUFYIEU4MjBNQVgKKyNlbmRpZgorCiAjZGVmaW5lIEU4MjBOUgkweDFlOAkJLyogIyBlbnRyaWVzIGluIEU4MjBNQVAgKi8KIAogI2RlZmluZSBFODIwX1JBTQkxCkBAIC05LDYgKzQ0LDkgQEAKICNkZWZpbmUgRTgyMF9BQ1BJCTMKICNkZWZpbmUgRTgyMF9OVlMJNAogCisvKiByZXNlcnZlZCBSQU0gdXNlZCBieSBrZXJuZWwgaXRzZWxmICovCisjZGVmaW5lIEU4MjBfUkVTRVJWRURfS0VSTiAgICAgICAgMTI4CisKICNpZm5kZWYgX19BU1NFTUJMWV9fCiBzdHJ1Y3QgZTgyMGVudHJ5IHsKIAlfX3U2NCBhZGRyOwkvKiBzdGFydCBvZiBtZW1vcnkgc2VnbWVudCAqLwpAQCAtMTgsMjIgKzU2LDc5IEBACiAKIHN0cnVjdCBlODIwbWFwIHsKIAlfX3UzMiBucl9tYXA7Ci0Jc3RydWN0IGU4MjBlbnRyeSBtYXBbRTgyME1BWF07CisJc3RydWN0IGU4MjBlbnRyeSBtYXBbRTgyMF9YX01BWF07CiB9OworCisvKiBzZWUgY29tbWVudCBpbiBhcmNoL3g4Ni9rZXJuZWwvZTgyMC5jICovCitleHRlcm4gc3RydWN0IGU4MjBtYXAgZTgyMDsKK2V4dGVybiBzdHJ1Y3QgZTgyMG1hcCBlODIwX3NhdmVkOworCitleHRlcm4gaW50IGU4MjBfYW55X21hcHBlZCh1NjQgc3RhcnQsIHU2NCBlbmQsIHVuc2lnbmVkIHR5cGUpOworZXh0ZXJuIGludCBlODIwX2FsbF9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKTsKK2V4dGVybiB2b2lkIGU4MjBfYWRkX3JlZ2lvbih1NjQgc3RhcnQsIHU2NCBzaXplLCBpbnQgdHlwZSk7CitleHRlcm4gdm9pZCBlODIwX3ByaW50X21hcChjaGFyICp3aG8pOworZXh0ZXJuIGludAorc2FuaXRpemVfZTgyMF9tYXAoc3RydWN0IGU4MjBlbnRyeSAqYmlvc21hcCwgaW50IG1heF9ucl9tYXAsIGludCAqcG5yX21hcCk7CitleHRlcm4gdTY0IGU4MjBfdXBkYXRlX3JhbmdlKHU2NCBzdGFydCwgdTY0IHNpemUsIHVuc2lnbmVkIG9sZF90eXBlLAorCQkJICAgICAgIHVuc2lnbmVkIG5ld190eXBlKTsKK2V4dGVybiB1NjQgZTgyMF9yZW1vdmVfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCisJCQkgICAgIGludCBjaGVja3R5cGUpOworZXh0ZXJuIHZvaWQgdXBkYXRlX2U4MjAodm9pZCk7CitleHRlcm4gdm9pZCBlODIwX3NldHVwX2dhcCh2b2lkKTsKK2V4dGVybiBpbnQgZTgyMF9zZWFyY2hfZ2FwKHVuc2lnbmVkIGxvbmcgKmdhcHN0YXJ0LCB1bnNpZ25lZCBsb25nICpnYXBzaXplLAorCQkJdW5zaWduZWQgbG9uZyBzdGFydF9hZGRyLCB1bnNpZ25lZCBsb25nIGxvbmcgZW5kX2FkZHIpOworc3RydWN0IHNldHVwX2RhdGE7CitleHRlcm4gdm9pZCBwYXJzZV9lODIwX2V4dChzdHJ1Y3Qgc2V0dXBfZGF0YSAqZGF0YSwgdW5zaWduZWQgbG9uZyBwYV9kYXRhKTsKKworI2lmIGRlZmluZWQoQ09ORklHX1g4Nl82NCkgfHwgXAorCShkZWZpbmVkKENPTkZJR19YODZfMzIpICYmIGRlZmluZWQoQ09ORklHX0hJQkVSTkFUSU9OKSkKK2V4dGVybiB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh1bnNpZ25lZCBsb25nIGxpbWl0X3Bmbik7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh1bnNpZ25lZCBsb25nIGxpbWl0X3BmbikKK3sKK30KKyNlbmRpZgorCitleHRlcm4gdW5zaWduZWQgbG9uZyBlbmRfdXNlcl9wZm47CisKK2V4dGVybiB1NjQgZmluZF9lODIwX2FyZWEodTY0IHN0YXJ0LCB1NjQgZW5kLCB1NjQgc2l6ZSwgdTY0IGFsaWduKTsKK2V4dGVybiB1NjQgZmluZF9lODIwX2FyZWFfc2l6ZSh1NjQgc3RhcnQsIHU2NCAqc2l6ZXAsIHU2NCBhbGlnbik7CitleHRlcm4gdm9pZCByZXNlcnZlX2Vhcmx5KHU2NCBzdGFydCwgdTY0IGVuZCwgY2hhciAqbmFtZSk7CitleHRlcm4gdm9pZCByZXNlcnZlX2Vhcmx5X292ZXJsYXBfb2sodTY0IHN0YXJ0LCB1NjQgZW5kLCBjaGFyICpuYW1lKTsKK2V4dGVybiB2b2lkIGZyZWVfZWFybHkodTY0IHN0YXJ0LCB1NjQgZW5kKTsKK2V4dGVybiB2b2lkIGVhcmx5X3Jlc190b19ib290bWVtKHU2NCBzdGFydCwgdTY0IGVuZCk7CitleHRlcm4gdTY0IGVhcmx5X3Jlc2VydmVfZTgyMCh1NjQgc3RhcnR0LCB1NjQgc2l6ZXQsIHU2NCBhbGlnbik7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfZW5kX29mX3JhbV9wZm4odm9pZCk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBlODIwX2VuZF9vZl9sb3dfcmFtX3Bmbih2b2lkKTsKK2V4dGVybiBpbnQgZTgyMF9maW5kX2FjdGl2ZV9yZWdpb24oY29uc3Qgc3RydWN0IGU4MjBlbnRyeSAqZWksCisJCQkJICB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgbGFzdF9wZm4sCisJCQkJICB1bnNpZ25lZCBsb25nICplaV9zdGFydHBmbiwKKwkJCQkgIHVuc2lnbmVkIGxvbmcgKmVpX2VuZHBmbik7CitleHRlcm4gdm9pZCBlODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAorCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKK2V4dGVybiB1NjQgZTgyMF9ob2xlX3NpemUodTY0IHN0YXJ0LCB1NjQgZW5kKTsKK2V4dGVybiB2b2lkIGZpbmlzaF9lODIwX3BhcnNpbmcodm9pZCk7CitleHRlcm4gdm9pZCBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKHZvaWQpOworZXh0ZXJuIHZvaWQgc2V0dXBfbWVtb3J5X21hcCh2b2lkKTsKK2V4dGVybiBjaGFyICpkZWZhdWx0X21hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOworZXh0ZXJuIGNoYXIgKm1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOworZXh0ZXJuIGNoYXIgKm1lbW9yeV9zZXR1cCh2b2lkKTsKKwogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogCiAjZGVmaW5lIElTQV9TVEFSVF9BRERSRVNTCTB4YTAwMDAKICNkZWZpbmUgSVNBX0VORF9BRERSRVNTCQkweDEwMDAwMAorI2RlZmluZSBpc19JU0FfcmFuZ2UocywgZSkgKChzKSA+PSBJU0FfU1RBUlRfQUREUkVTUyAmJiAoZSkgPCBJU0FfRU5EX0FERFJFU1MpCiAKICNkZWZpbmUgQklPU19CRUdJTgkJMHgwMDBhMDAwMAogI2RlZmluZSBCSU9TX0VORAkJMHgwMDEwMDAwMAogCiAjaWZkZWYgX19LRVJORUxfXwotI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiZTgyMF8zMi5oIgotI2Vsc2UKLSMgaW5jbHVkZSAiZTgyMF82NC5oIgotI2VuZGlmCisjaW5jbHVkZSA8bGludXgvaW9wb3J0Lmg+CisKKyNkZWZpbmUgSElHSF9NRU1PUlkJKDEwMjQqMTAyNCkKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZiAgLyogX19BU01fRTgyMF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZTgyMF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L2U4MjBfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTlmN2M2ZS4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZTgyMF8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIHN0cnVjdHVyZXMgYW5kIGRlZmluaXRpb25zIGZvciB0aGUgaW50IDE1LCBheD1lODIwIG1lbW9yeSBtYXAKLSAqIHNjaGVtZS4KLSAqCi0gKiBJbiBhIG51dHNoZWxsLCBhcmNoL2kzODYvYm9vdC9zZXR1cC5TIHBvcHVsYXRlcyBhIHNjcmF0Y2ggdGFibGUKLSAqIGluIHRoZSBlbXB0eV96ZXJvX2Jsb2NrIHRoYXQgY29udGFpbnMgYSBsaXN0IG9mIHVzYWJsZSBhZGRyZXNzL3NpemUKLSAqIGR1cGxlcy4gICBJbiBhcmNoL2kzODYva2VybmVsL3NldHVwLmMsIHRoaXMgaW5mb3JtYXRpb24gaXMKLSAqIHRyYW5zZmVycmVkIGludG8gdGhlIGU4MjBtYXAsIGFuZCBpbiBhcmNoL2kzODYvbW0vaW5pdC5jLCB0aGF0Ci0gKiBuZXcgaW5mb3JtYXRpb24gaXMgdXNlZCB0byBtYXJrIHBhZ2VzIHJlc2VydmVkIG9yIG5vdC4KLSAqCi0gKi8KLSNpZm5kZWYgX19FODIwX0hFQURFUgotI2RlZmluZSBfX0U4MjBfSEVBREVSCi0KLSNpbmNsdWRlIDxsaW51eC9pb3BvcnQuaD4KLQotI2RlZmluZSBISUdIX01FTU9SWQkoMTAyNCoxMDI0KQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotCi1leHRlcm4gc3RydWN0IGU4MjBtYXAgZTgyMDsKLWV4dGVybiB2b2lkIHVwZGF0ZV9lODIwKHZvaWQpOwotCi1leHRlcm4gaW50IGU4MjBfYWxsX21hcHBlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwKLQkJCSAgIHVuc2lnbmVkIHR5cGUpOwotZXh0ZXJuIGludCBlODIwX2FueV9tYXBwZWQodTY0IHN0YXJ0LCB1NjQgZW5kLCB1bnNpZ25lZCB0eXBlKTsKLWV4dGVybiB2b2lkIHByb3BhZ2F0ZV9lODIwX21hcCh2b2lkKTsKLWV4dGVybiB2b2lkIHJlZ2lzdGVyX2Jvb3RtZW1fbG93X3BhZ2VzKHVuc2lnbmVkIGxvbmcgbWF4X2xvd19wZm4pOwotZXh0ZXJuIHZvaWQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBsb25nIHN0YXJ0LAotCQkJICAgICAgdW5zaWduZWQgbG9uZyBsb25nIHNpemUsIGludCB0eXBlKTsKLWV4dGVybiB2b2lkIHVwZGF0ZV9tZW1vcnlfcmFuZ2UodTY0IHN0YXJ0LCB1NjQgc2l6ZSwgdW5zaWduZWQgb2xkX3R5cGUsCi0JCQkJdW5zaWduZWQgbmV3X3R5cGUpOwotZXh0ZXJuIHZvaWQgZTgyMF9yZWdpc3Rlcl9tZW1vcnkodm9pZCk7Ci1leHRlcm4gdm9pZCBsaW1pdF9yZWdpb25zKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKLWV4dGVybiB2b2lkIHByaW50X21lbW9yeV9tYXAoY2hhciAqd2hvKTsKLWV4dGVybiB2b2lkIGluaXRfaW9tZW1fcmVzb3VyY2VzKHN0cnVjdCByZXNvdXJjZSAqY29kZV9yZXNvdXJjZSwKLQkJCQkgc3RydWN0IHJlc291cmNlICpkYXRhX3Jlc291cmNlLAotCQkJCSBzdHJ1Y3QgcmVzb3VyY2UgKmJzc19yZXNvdXJjZSk7Ci0KLSNpZiBkZWZpbmVkKENPTkZJR19QTSkgJiYgZGVmaW5lZChDT05GSUdfSElCRVJOQVRJT04pCi1leHRlcm4gdm9pZCBlODIwX21hcmtfbm9zYXZlX3JlZ2lvbnModm9pZCk7Ci0jZWxzZQotc3RhdGljIGlubGluZSB2b2lkIGU4MjBfbWFya19ub3NhdmVfcmVnaW9ucyh2b2lkKQotewotfQotI2VuZGlmCi0KLQotI2VuZGlmLyohX19BU1NFTUJMWV9fKi8KLSNlbmRpZi8qX19FODIwX0hFQURFUiovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvZTgyMF82NC5oIGIvaW5jbHVkZS9hc20teDg2L2U4MjBfNjQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzFjNGQ2OC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZTgyMF82NC5oCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIHN0cnVjdHVyZXMgYW5kIGRlZmluaXRpb25zIGZvciB0aGUgaW50IDE1LCBheD1lODIwIG1lbW9yeSBtYXAKLSAqIHNjaGVtZS4KLSAqCi0gKiBJbiBhIG51dHNoZWxsLCBzZXR1cC5TIHBvcHVsYXRlcyBhIHNjcmF0Y2ggdGFibGUgaW4gdGhlCi0gKiBlbXB0eV96ZXJvX2Jsb2NrIHRoYXQgY29udGFpbnMgYSBsaXN0IG9mIHVzYWJsZSBhZGRyZXNzL3NpemUKLSAqIGR1cGxlcy4gIHNldHVwLmMsIHRoaXMgaW5mb3JtYXRpb24gaXMgdHJhbnNmZXJyZWQgaW50byB0aGUgZTgyMG1hcCwKLSAqIGFuZCBpbiBpbml0LmMvbnVtYS5jLCB0aGF0IG5ldyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIG1hcmsgcGFnZXMKLSAqIHJlc2VydmVkIG9yIG5vdC4KLSAqLwotI2lmbmRlZiBfX0U4MjBfSEVBREVSCi0jZGVmaW5lIF9fRTgyMF9IRUFERVIKLQotI2luY2x1ZGUgPGxpbnV4L2lvcG9ydC5oPgotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZmluZF9lODIwX2FyZWEodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkJICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgdW5zaWduZWQgbG9uZyBhbGlnbik7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX2U4MjBfYXJlYV9zaXplKHVuc2lnbmVkIGxvbmcgc3RhcnQsCi0JCQkJCSB1bnNpZ25lZCBsb25nICpzaXplcCwKLQkJCQkJIHVuc2lnbmVkIGxvbmcgYWxpZ24pOwotZXh0ZXJuIHZvaWQgYWRkX21lbW9yeV9yZWdpb24odW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBzaXplLAotCQkJICAgICAgaW50IHR5cGUpOwotZXh0ZXJuIHZvaWQgdXBkYXRlX21lbW9yeV9yYW5nZSh1NjQgc3RhcnQsIHU2NCBzaXplLCB1bnNpZ25lZCBvbGRfdHlwZSwKLQkJCQl1bnNpZ25lZCBuZXdfdHlwZSk7Ci1leHRlcm4gdm9pZCBzZXR1cF9tZW1vcnlfcmVnaW9uKHZvaWQpOwotZXh0ZXJuIHZvaWQgY29udGlnX2U4MjBfc2V0dXAodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyBlODIwX2VuZF9vZl9yYW0odm9pZCk7Ci1leHRlcm4gdm9pZCBlODIwX3Jlc2VydmVfcmVzb3VyY2VzKHZvaWQpOwotZXh0ZXJuIHZvaWQgZTgyMF9tYXJrX25vc2F2ZV9yZWdpb25zKHZvaWQpOwotZXh0ZXJuIGludCBlODIwX2FueV9tYXBwZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsCi0JCQkgICB1bnNpZ25lZCB0eXBlKTsKLWV4dGVybiBpbnQgZTgyMF9hbGxfbWFwcGVkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kLAotCQkJICAgdW5zaWduZWQgdHlwZSk7Ci1leHRlcm4gaW50IGU4MjBfYW55X25vbl9yZXNlcnZlZCh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCk7Ci1leHRlcm4gaW50IGlzX21lbW9yeV9hbnlfdmFsaWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIGludCBlODIwX2FsbF9ub25fcmVzZXJ2ZWQodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQpOwotZXh0ZXJuIGludCBpc19tZW1vcnlfYWxsX3ZhbGlkKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiB1bnNpZ25lZCBsb25nIGU4MjBfaG9sZV9zaXplKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLQotZXh0ZXJuIHZvaWQgZTgyMF9zZXR1cF9nYXAodm9pZCk7Ci1leHRlcm4gdm9pZCBlODIwX3JlZ2lzdGVyX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHVuc2lnbmVkIGxvbmcgc3RhcnRfcGZuLAotCQkJCQkgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKLQotZXh0ZXJuIHZvaWQgZmluaXNoX2U4MjBfcGFyc2luZyh2b2lkKTsKLQotZXh0ZXJuIHN0cnVjdCBlODIwbWFwIGU4MjA7Ci1leHRlcm4gdm9pZCB1cGRhdGVfZTgyMCh2b2lkKTsKLQotZXh0ZXJuIHZvaWQgcmVzZXJ2ZV9lYXJseSh1bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGVuZCwgY2hhciAqbmFtZSk7Ci1leHRlcm4gdm9pZCBmcmVlX2Vhcmx5KHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLWV4dGVybiB2b2lkIGVhcmx5X3Jlc190b19ib290bWVtKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKTsKLQotI2VuZGlmLyohX19BU1NFTUJMWV9fKi8KLQotI2VuZGlmLypfX0U4MjBfSEVBREVSKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lZmkuaCBiL2luY2x1ZGUvYXNtLXg4Ni9lZmkuaAppbmRleCBkNTMwMDRiLi43ZWQyYmQ3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZWZpLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2VmaS5oCkBAIC05MCw3ICs5MCw3IEBACiAKICNlbmRpZiAvKiBDT05GSUdfWDg2XzMyICovCiAKLWV4dGVybiB2b2lkIGVmaV9yZXNlcnZlX2Jvb3RtZW0odm9pZCk7CitleHRlcm4gdm9pZCBlZmlfcmVzZXJ2ZV9lYXJseSh2b2lkKTsKIGV4dGVybiB2b2lkIGVmaV9jYWxsX3BoeXNfcHJlbG9nKHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX2NhbGxfcGh5c19lcGlsb2codm9pZCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9lbGYuaCBiL2luY2x1ZGUvYXNtLXg4Ni9lbGYuaAppbmRleCA4ZjIzMmRjLi43YmU0NzMzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZWxmLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2VsZi5oCkBAIC04Myw5ICs4Myw5IEBACiAJKCgoeCktPmVfbWFjaGluZSA9PSBFTV8zODYpIHx8ICgoeCktPmVfbWFjaGluZSA9PSBFTV80ODYpKQogCiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgorI2luY2x1ZGUgPGFzbS9zeXN0ZW0uaD4KIAogI2lmZGVmIENPTkZJR19YODZfMzIKLSNpbmNsdWRlIDxhc20vc3lzdGVtLmg+CQkvKiBmb3Igc2F2ZXNlZ21lbnQgKi8KICNpbmNsdWRlIDxhc20vZGVzYy5oPgogCiAjZGVmaW5lIGVsZl9jaGVja19hcmNoKHgpCWVsZl9jaGVja19hcmNoX2lhMzIoeCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXAuaCBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXAuaAppbmRleCA1YmQyMDY5Li40NGQ0ZjgyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcC5oCkBAIC03LDcgKzcsNjIgQEAKICMgaW5jbHVkZSAiZml4bWFwXzY0LmgiCiAjZW5kaWYKIAorZXh0ZXJuIGludCBmaXhtYXBzX3NldDsKKwordm9pZCBfX25hdGl2ZV9zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwgcHRlX3QgcHRlKTsKK3ZvaWQgbmF0aXZlX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LAorCQkgICAgICAgdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncyk7CisKKyNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCitzdGF0aWMgaW5saW5lIHZvaWQgX19zZXRfZml4bWFwKGVudW0gZml4ZWRfYWRkcmVzc2VzIGlkeCwKKwkJCQl1bnNpZ25lZCBsb25nIHBoeXMsIHBncHJvdF90IGZsYWdzKQoreworCW5hdGl2ZV9zZXRfZml4bWFwKGlkeCwgcGh5cywgZmxhZ3MpOworfQorI2VuZGlmCisKKyNkZWZpbmUgc2V0X2ZpeG1hcChpZHgsIHBoeXMpCQkJCVwKKwlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTCkKKworLyoKKyAqIFNvbWUgaGFyZHdhcmUgd2FudHMgdG8gZ2V0IGZpeG1hcHBlZCB3aXRob3V0IGNhY2hpbmcuCisgKi8KKyNkZWZpbmUgc2V0X2ZpeG1hcF9ub2NhY2hlKGlkeCwgcGh5cykJCQlcCisJX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUxfTk9DQUNIRSkKKwogI2RlZmluZSBjbGVhcl9maXhtYXAoaWR4KQkJCVwKIAlfX3NldF9maXhtYXAoaWR4LCAwLCBfX3BncHJvdCgwKSkKIAorI2RlZmluZSBfX2ZpeF90b192aXJ0KHgpCShGSVhBRERSX1RPUCAtICgoeCkgPDwgUEFHRV9TSElGVCkpCisjZGVmaW5lIF9fdmlydF90b19maXgoeCkJKChGSVhBRERSX1RPUCAtICgoeCkmUEFHRV9NQVNLKSkgPj4gUEFHRV9TSElGVCkKKworZXh0ZXJuIHZvaWQgX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCh2b2lkKTsKKworLyoKKyAqICdpbmRleCB0byBhZGRyZXNzJyB0cmFuc2xhdGlvbi4gSWYgYW55b25lIHRyaWVzIHRvIHVzZSB0aGUgaWR4CisgKiBkaXJlY3RseSB3aXRob3V0IHRyYW5zbGF0aW9uLCB3ZSBjYXRjaCB0aGUgYnVnIHdpdGggYSBOVUxMLWRlZmVyZW5jZQorICoga2VybmVsIG9vcHMuIElsbGVnYWwgcmFuZ2VzIG9mIGluY29taW5nIGluZGljZXMgYXJlIGNhdWdodCB0b28uCisgKi8KK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdW5zaWduZWQgbG9uZyBmaXhfdG9fdmlydChjb25zdCB1bnNpZ25lZCBpbnQgaWR4KQoreworCS8qCisJICogdGhpcyBicmFuY2ggZ2V0cyBjb21wbGV0ZWx5IGVsaW1pbmF0ZWQgYWZ0ZXIgaW5saW5pbmcsCisJICogZXhjZXB0IHdoZW4gc29tZW9uZSB0cmllcyB0byB1c2UgZml4YWRkciBpbmRpY2VzIGluIGFuCisJICogaWxsZWdhbCB3YXkuIChzdWNoIGFzIG1peGluZyB1cCBhZGRyZXNzIHR5cGVzIG9yIHVzaW5nCisJICogb3V0LW9mLXJhbmdlIGluZGljZXMpLgorCSAqCisJICogSWYgaXQgZG9lc24ndCBnZXQgcmVtb3ZlZCwgdGhlIGxpbmtlciB3aWxsIGNvbXBsYWluCisJICogbG91ZGx5IHdpdGggYSByZWFzb25hYmx5IGNsZWFyIGVycm9yIG1lc3NhZ2UuLgorCSAqLworCWlmIChpZHggPj0gX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzKQorCQlfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KCk7CisKKwlyZXR1cm4gX19maXhfdG9fdmlydChpZHgpOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdmlydF90b19maXgoY29uc3QgdW5zaWduZWQgbG9uZyB2YWRkcikKK3sKKwlCVUdfT04odmFkZHIgPj0gRklYQUREUl9UT1AgfHwgdmFkZHIgPCBGSVhBRERSX1NUQVJUKTsKKwlyZXR1cm4gX192aXJ0X3RvX2ZpeCh2YWRkcik7Cit9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfMzIuaAppbmRleCA0Yjk2MTQ4Li5hYWUyZjA1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF8zMi5oCkBAIC03OSwxMCArNzksNiBAQAogCUZJWF9LTUFQX0JFR0lOLAkvKiByZXNlcnZlZCBwdGUncyBmb3IgdGVtcG9yYXJ5IGtlcm5lbCBtYXBwaW5ncyAqLwogCUZJWF9LTUFQX0VORCA9IEZJWF9LTUFQX0JFR0lOKyhLTV9UWVBFX05SKk5SX0NQVVMpLTEsCiAjZW5kaWYKLSNpZmRlZiBDT05GSUdfQUNQSQotCUZJWF9BQ1BJX0JFR0lOLAotCUZJWF9BQ1BJX0VORCA9IEZJWF9BQ1BJX0JFR0lOICsgRklYX0FDUElfUEFHRVMgLSAxLAotI2VuZGlmCiAjaWZkZWYgQ09ORklHX1BDSV9NTUNPTkZJRwogCUZJWF9QQ0lFX01DRkcsCiAjZW5kaWYKQEAgLTEwMywyMyArOTksMTggQEAKIAkJCShfX2VuZF9vZl9wZXJtYW5lbnRfZml4ZWRfYWRkcmVzc2VzICYgNTExKSwKIAlGSVhfQlRNQVBfQkVHSU4gPSBGSVhfQlRNQVBfRU5EICsgTlJfRklYX0JUTUFQUypGSVhfQlRNQVBTX05FU1RJTkcgLSAxLAogCUZJWF9XUF9URVNULAorI2lmZGVmIENPTkZJR19BQ1BJCisJRklYX0FDUElfQkVHSU4sCisJRklYX0FDUElfRU5EID0gRklYX0FDUElfQkVHSU4gKyBGSVhfQUNQSV9QQUdFUyAtIDEsCisjZW5kaWYKICNpZmRlZiBDT05GSUdfUFJPVklERV9PSENJMTM5NF9ETUFfSU5JVAogCUZJWF9PSENJMTM5NF9CQVNFLAogI2VuZGlmCiAJX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzCiB9OwogCi1leHRlcm4gdm9pZCBfX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LAotCQkJIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpOwogZXh0ZXJuIHZvaWQgcmVzZXJ2ZV90b3BfYWRkcmVzcyh1bnNpZ25lZCBsb25nIHJlc2VydmUpOwogCi0jZGVmaW5lIHNldF9maXhtYXAoaWR4LCBwaHlzKQkJCQlcCi0JX19zZXRfZml4bWFwKGlkeCwgcGh5cywgUEFHRV9LRVJORUwpCi0vKgotICogU29tZSBoYXJkd2FyZSB3YW50cyB0byBnZXQgZml4bWFwcGVkIHdpdGhvdXQgY2FjaGluZy4KLSAqLwotI2RlZmluZSBzZXRfZml4bWFwX25vY2FjaGUoaWR4LCBwaHlzKQkJCVwKLQlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTF9OT0NBQ0hFKQogCiAjZGVmaW5lIEZJWEFERFJfVE9QCSgodW5zaWduZWQgbG9uZylfX0ZJWEFERFJfVE9QKQogCkBAIC0xMjgsMzggKzExOSw1IEBACiAjZGVmaW5lIEZJWEFERFJfU1RBUlQJCShGSVhBRERSX1RPUCAtIF9fRklYQUREUl9TSVpFKQogI2RlZmluZSBGSVhBRERSX0JPT1RfU1RBUlQJKEZJWEFERFJfVE9QIC0gX19GSVhBRERSX0JPT1RfU0laRSkKIAotI2RlZmluZSBfX2ZpeF90b192aXJ0KHgpCShGSVhBRERSX1RPUCAtICgoeCkgPDwgUEFHRV9TSElGVCkpCi0jZGVmaW5lIF9fdmlydF90b19maXgoeCkJKChGSVhBRERSX1RPUCAtICgoeCkmUEFHRV9NQVNLKSkgPj4gUEFHRV9TSElGVCkKLQotZXh0ZXJuIHZvaWQgX190aGlzX2ZpeG1hcF9kb2VzX25vdF9leGlzdCh2b2lkKTsKLQotLyoKLSAqICdpbmRleCB0byBhZGRyZXNzJyB0cmFuc2xhdGlvbi4gSWYgYW55b25lIHRyaWVzIHRvIHVzZSB0aGUgaWR4Ci0gKiBkaXJlY3RseSB3aXRob3V0IHRyYW5sYXRpb24sIHdlIGNhdGNoIHRoZSBidWcgd2l0aCBhIE5VTEwtZGVmZXJlbmNlCi0gKiBrZXJuZWwgb29wcy4gSWxsZWdhbCByYW5nZXMgb2YgaW5jb21pbmcgaW5kaWNlcyBhcmUgY2F1Z2h0IHRvby4KLSAqLwotc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIGZpeF90b192aXJ0KGNvbnN0IHVuc2lnbmVkIGludCBpZHgpCi17Ci0JLyoKLQkgKiB0aGlzIGJyYW5jaCBnZXRzIGNvbXBsZXRlbHkgZWxpbWluYXRlZCBhZnRlciBpbmxpbmluZywKLQkgKiBleGNlcHQgd2hlbiBzb21lb25lIHRyaWVzIHRvIHVzZSBmaXhhZGRyIGluZGljZXMgaW4gYW4KLQkgKiBpbGxlZ2FsIHdheS4gKHN1Y2ggYXMgbWl4aW5nIHVwIGFkZHJlc3MgdHlwZXMgb3IgdXNpbmcKLQkgKiBvdXQtb2YtcmFuZ2UgaW5kaWNlcykuCi0JICoKLQkgKiBJZiBpdCBkb2Vzbid0IGdldCByZW1vdmVkLCB0aGUgbGlua2VyIHdpbGwgY29tcGxhaW4KLQkgKiBsb3VkbHkgd2l0aCBhIHJlYXNvbmFibHkgY2xlYXIgZXJyb3IgbWVzc2FnZS4uCi0JICovCi0JaWYgKGlkeCA+PSBfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMpCi0JCV9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3QoKTsKLQotCXJldHVybiBfX2ZpeF90b192aXJ0KGlkeCk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB2aXJ0X3RvX2ZpeChjb25zdCB1bnNpZ25lZCBsb25nIHZhZGRyKQotewotCUJVR19PTih2YWRkciA+PSBGSVhBRERSX1RPUCB8fCB2YWRkciA8IEZJWEFERFJfU1RBUlQpOwotCXJldHVybiBfX3ZpcnRfdG9fZml4KHZhZGRyKTsKLX0KLQogI2VuZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF82NC5oIGIvaW5jbHVkZS9hc20teDg2L2ZpeG1hcF82NC5oCmluZGV4IDM1NWQyNmEuLjAwZjNkNzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9maXhtYXBfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZml4bWFwXzY0LmgKQEAgLTEyLDYgKzEyLDcgQEAKICNkZWZpbmUgX0FTTV9GSVhNQVBfNjRfSAogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8YXNtL2FjcGkuaD4KICNpbmNsdWRlIDxhc20vYXBpY2RlZi5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAjaW5jbHVkZSA8YXNtL3ZzeXNjYWxsLmg+CkBAIC0zOSwzMCArNDAsMzggQEAKIAlWU1lTQ0FMTF9IUEVULAogCUZJWF9EQkdQX0JBU0UsCiAJRklYX0VBUkxZQ09OX01FTV9CQVNFLAotCUZJWF9IUEVUX0JBU0UsCiAJRklYX0FQSUNfQkFTRSwJLyogbG9jYWwgKENQVSkgQVBJQykgLS0gcmVxdWlyZWQgZm9yIFNNUCBvciBub3QgKi8KIAlGSVhfSU9fQVBJQ19CQVNFXzAsCiAJRklYX0lPX0FQSUNfQkFTRV9FTkQgPSBGSVhfSU9fQVBJQ19CQVNFXzAgKyBNQVhfSU9fQVBJQ1MgLSAxLAogCUZJWF9FRklfSU9fTUFQX0xBU1RfUEFHRSwKIAlGSVhfRUZJX0lPX01BUF9GSVJTVF9QQUdFID0gRklYX0VGSV9JT19NQVBfTEFTVF9QQUdFCiAJCQkJICArIE1BWF9FRklfSU9fUEFHRVMgLSAxLAorI2lmZGVmIENPTkZJR19QQVJBVklSVAorCUZJWF9QQVJBVklSVF9CT09UTUFQLAorI2VuZGlmCisjaWZkZWYgQ09ORklHX0FDUEkKKwlGSVhfQUNQSV9CRUdJTiwKKwlGSVhfQUNQSV9FTkQgPSBGSVhfQUNQSV9CRUdJTiArIEZJWF9BQ1BJX1BBR0VTIC0gMSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19QUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCiAJRklYX09IQ0kxMzk0X0JBU0UsCiAjZW5kaWYKKwlfX2VuZF9vZl9wZXJtYW5lbnRfZml4ZWRfYWRkcmVzc2VzLAorCS8qCisJICogMjU2IHRlbXBvcmFyeSBib290LXRpbWUgbWFwcGluZ3MsIHVzZWQgYnkgZWFybHlfaW9yZW1hcCgpLAorCSAqIGJlZm9yZSBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KKwkgKgorCSAqIFdlIHJvdW5kIGl0IHVwIHRvIHRoZSBuZXh0IDUxMiBwYWdlcyBib3VuZGFyeSBzbyB0aGF0IHdlCisJICogY2FuIGhhdmUgYSBzaW5nbGUgcGdkIGVudHJ5IGFuZCBhIHNpbmdsZSBwdGUgdGFibGU6CisJICovCisjZGVmaW5lIE5SX0ZJWF9CVE1BUFMJCTY0CisjZGVmaW5lIEZJWF9CVE1BUFNfTkVTVElORwk0CisJRklYX0JUTUFQX0VORCA9IF9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMgKyA1MTIgLQorCQkJKF9fZW5kX29mX3Blcm1hbmVudF9maXhlZF9hZGRyZXNzZXMgJiA1MTEpLAorCUZJWF9CVE1BUF9CRUdJTiA9IEZJWF9CVE1BUF9FTkQgKyBOUl9GSVhfQlRNQVBTKkZJWF9CVE1BUFNfTkVTVElORyAtIDEsCiAJX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzCiB9OwogCi1leHRlcm4gdm9pZCBfX3NldF9maXhtYXAoZW51bSBmaXhlZF9hZGRyZXNzZXMgaWR4LAotCQkJIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpOwotCi0jZGVmaW5lIHNldF9maXhtYXAoaWR4LCBwaHlzKQkJCVwKLQlfX3NldF9maXhtYXAoaWR4LCBwaHlzLCBQQUdFX0tFUk5FTCkKLS8qCi0gKiBTb21lIGhhcmR3YXJlIHdhbnRzIHRvIGdldCBmaXhtYXBwZWQgd2l0aG91dCBjYWNoaW5nLgotICovCi0jZGVmaW5lIHNldF9maXhtYXBfbm9jYWNoZShpZHgsIHBoeXMpCQkJXAotCV9fc2V0X2ZpeG1hcChpZHgsIHBoeXMsIFBBR0VfS0VSTkVMX05PQ0FDSEUpCi0KICNkZWZpbmUgRklYQUREUl9UT1AJKFZTWVNDQUxMX0VORC1QQUdFX1NJWkUpCiAjZGVmaW5lIEZJWEFERFJfU0laRQkoX19lbmRfb2ZfZml4ZWRfYWRkcmVzc2VzIDw8IFBBR0VfU0hJRlQpCiAjZGVmaW5lIEZJWEFERFJfU1RBUlQJKEZJWEFERFJfVE9QIC0gRklYQUREUl9TSVpFKQpAQCAtNzEsMzAgKzgwLDQgQEAKICNkZWZpbmUgRklYQUREUl9VU0VSX1NUQVJUCSgodW5zaWduZWQgbG9uZylWU1lTQ0FMTDMyX1ZTWVNDQUxMKQogI2RlZmluZSBGSVhBRERSX1VTRVJfRU5ECShGSVhBRERSX1VTRVJfU1RBUlQgKyBQQUdFX1NJWkUpCiAKLSNkZWZpbmUgX19maXhfdG9fdmlydCh4KQkoRklYQUREUl9UT1AgLSAoKHgpIDw8IFBBR0VfU0hJRlQpKQotCi1leHRlcm4gdm9pZCBfX3RoaXNfZml4bWFwX2RvZXNfbm90X2V4aXN0KHZvaWQpOwotCi0vKgotICogJ2luZGV4IHRvIGFkZHJlc3MnIHRyYW5zbGF0aW9uLiBJZiBhbnlvbmUgdHJpZXMgdG8gdXNlIHRoZSBpZHgKLSAqIGRpcmVjdGx5IHdpdGhvdXQgdHJhbnNsYXRpb24sIHdlIGNhdGNoIHRoZSBidWcgd2l0aCBhIE5VTEwtZGVmZXJlbmNlCi0gKiBrZXJuZWwgb29wcy4gSWxsZWdhbCByYW5nZXMgb2YgaW5jb21pbmcgaW5kaWNlcyBhcmUgY2F1Z2h0IHRvby4KLSAqLwotc3RhdGljIF9fYWx3YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIGZpeF90b192aXJ0KGNvbnN0IHVuc2lnbmVkIGludCBpZHgpCi17Ci0JLyoKLQkgKiB0aGlzIGJyYW5jaCBnZXRzIGNvbXBsZXRlbHkgZWxpbWluYXRlZCBhZnRlciBpbmxpbmluZywKLQkgKiBleGNlcHQgd2hlbiBzb21lb25lIHRyaWVzIHRvIHVzZSBmaXhhZGRyIGluZGljZXMgaW4gYW4KLQkgKiBpbGxlZ2FsIHdheS4gKHN1Y2ggYXMgbWl4aW5nIHVwIGFkZHJlc3MgdHlwZXMgb3IgdXNpbmcKLQkgKiBvdXQtb2YtcmFuZ2UgaW5kaWNlcykuCi0JICoKLQkgKiBJZiBpdCBkb2Vzbid0IGdldCByZW1vdmVkLCB0aGUgbGlua2VyIHdpbGwgY29tcGxhaW4KLQkgKiBsb3VkbHkgd2l0aCBhIHJlYXNvbmFibHkgY2xlYXIgZXJyb3IgbWVzc2FnZS4uCi0JICovCi0JaWYgKGlkeCA+PSBfX2VuZF9vZl9maXhlZF9hZGRyZXNzZXMpCi0JCV9fdGhpc19maXhtYXBfZG9lc19ub3RfZXhpc3QoKTsKLQotCXJldHVybiBfX2ZpeF90b192aXJ0KGlkeCk7Ci19Ci0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2Z0cmFjZS5oIGIvaW5jbHVkZS9hc20teDg2L2Z0cmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxODQ0NDEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvZnRyYWNlLmgKQEAgLTAsMCArMSwxNCBAQAorI2lmbmRlZiBfQVNNX1g4Nl9GVFJBQ0UKKyNkZWZpbmUgX0FTTV9TUEFSQzY0X0ZUUkFDRQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorI2RlZmluZSBNQ09VTlRfQUREUgkJKChsb25nKShtY291bnQpKQorI2RlZmluZSBNQ09VTlRfSU5TTl9TSVpFCTUgLyogc2l6ZW9mIG1jb3VudCBjYWxsICovCisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBtY291bnQodm9pZCk7CisjZW5kaWYKKworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworI2VuZGlmIC8qIF9BU01fWDg2X0ZUUkFDRSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2dhcnQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9nYXJ0LmgKaW5kZXggOTA5NThlZC4uMzNiOWFlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2dhcnQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvZ2FydC5oCkBAIC0xLDM0ICsxLDcyIEBACi0jaWZuZGVmIF9BU01fWDg2NjRfSU9NTVVfSAotI2RlZmluZSBfQVNNX1g4NjY0X0lPTU1VX0ggMQorI2lmbmRlZiBfQVNNX1g4NjY0X0dBUlRfSAorI2RlZmluZSBfQVNNX1g4NjY0X0dBUlRfSCAxCiAKLWV4dGVybiB2b2lkIHBjaV9pb21tdV9zaHV0ZG93bih2b2lkKTsKLWV4dGVybiB2b2lkIG5vX2lvbW11X2luaXQodm9pZCk7Ci1leHRlcm4gaW50IGZvcmNlX2lvbW11LCBub19pb21tdTsKLWV4dGVybiBpbnQgaW9tbXVfZGV0ZWN0ZWQ7Ci0jaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKLWV4dGVybiB2b2lkIGdhcnRfaW9tbXVfaW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIGdhcnRfaW9tbXVfc2h1dGRvd24odm9pZCk7Ci1leHRlcm4gdm9pZCBfX2luaXQgZ2FydF9wYXJzZV9vcHRpb25zKGNoYXIgKik7Ci1leHRlcm4gdm9pZCBlYXJseV9nYXJ0X2lvbW11X2NoZWNrKHZvaWQpOwotZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9ob2xlX2luaXQodm9pZCk7CisjaW5jbHVkZSA8YXNtL2U4MjAuaD4KKyNpbmNsdWRlIDxhc20vaW9tbXUuaD4KKworZXh0ZXJuIHZvaWQgc2V0X3VwX2dhcnRfcmVzdW1lKHUzMiwgdTMyKTsKKwogZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX29yZGVyOwogZXh0ZXJuIGludCBmYWxsYmFja19hcGVyX2ZvcmNlOwotZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlOwotZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQ7Ci1leHRlcm4gaW50IGdhcnRfaW9tbXVfYXBlcnR1cmVfZGlzYWJsZWQ7CiBleHRlcm4gaW50IGZpeF9hcGVydHVyZTsKLSNlbHNlCi0jZGVmaW5lIGdhcnRfaW9tbXVfYXBlcnR1cmUgMAotI2RlZmluZSBnYXJ0X2lvbW11X2FwZXJ0dXJlX2FsbG93ZWQgMAogCi1zdGF0aWMgaW5saW5lIHZvaWQgZWFybHlfZ2FydF9pb21tdV9jaGVjayh2b2lkKQorLyogUFRFIGJpdHMuICovCisjZGVmaW5lIEdQVEVfVkFMSUQJMQorI2RlZmluZSBHUFRFX0NPSEVSRU5UCTIKKworLyogQXBlcnR1cmUgY29udHJvbCByZWdpc3RlciBiaXRzLiAqLworI2RlZmluZSBHQVJURU4JCSgxPDwwKQorI2RlZmluZSBESVNHQVJUQ1BVCSgxPDw0KQorI2RlZmluZSBESVNHQVJUSU8JKDE8PDUpCisKKy8qIEdBUlQgY2FjaGUgY29udHJvbCByZWdpc3RlciBiaXRzLiAqLworI2RlZmluZSBJTlZHQVJUCQkoMTw8MCkKKyNkZWZpbmUgR0FSVFBURUVSUgkoMTw8MSkKKworLyogSzggT24tY3B1IEdBUlQgcmVnaXN0ZXJzICovCisjZGVmaW5lIEFNRDY0X0dBUlRBUEVSVFVSRUNUTAkweDkwCisjZGVmaW5lIEFNRDY0X0dBUlRBUEVSVFVSRUJBU0UJMHg5NAorI2RlZmluZSBBTUQ2NF9HQVJUVEFCTEVCQVNFCTB4OTgKKyNkZWZpbmUgQU1ENjRfR0FSVENBQ0hFQ1RMCTB4OWMKKyNkZWZpbmUgQU1ENjRfR0FSVEVOCQkoMTw8MCkKKworc3RhdGljIGlubGluZSB2b2lkIGVuYWJsZV9nYXJ0X3RyYW5zbGF0aW9uKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHU2NCBhZGRyKQogeworCXUzMiB0bXAsIGN0bDsKKworICAgICAgICAvKiBhZGRyZXNzIG9mIHRoZSBtYXBwaW5ncyB0YWJsZSAqLworICAgICAgICBhZGRyID4+PSAxMjsKKyAgICAgICAgdG1wID0gKHUzMikgYWRkcjw8NDsKKyAgICAgICAgdG1wICY9IH4weGY7CisgICAgICAgIHBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUVEFCTEVCQVNFLCB0bXApOworCisgICAgICAgIC8qIEVuYWJsZSBHQVJUIHRyYW5zbGF0aW9uIGZvciB0aGlzIGhhbW1lci4gKi8KKyAgICAgICAgcGNpX3JlYWRfY29uZmlnX2R3b3JkKGRldiwgQU1ENjRfR0FSVEFQRVJUVVJFQ1RMLCAmY3RsKTsKKyAgICAgICAgY3RsIHw9IEdBUlRFTjsKKyAgICAgICAgY3RsICY9IH4oRElTR0FSVENQVSB8IERJU0dBUlRJTyk7CisgICAgICAgIHBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBBTUQ2NF9HQVJUQVBFUlRVUkVDVEwsIGN0bCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBnYXJ0X2lvbW11X3NodXRkb3duKHZvaWQpCitzdGF0aWMgaW5saW5lIGludCBhcGVydHVyZV92YWxpZCh1NjQgYXBlcl9iYXNlLCB1MzIgYXBlcl9zaXplLCB1MzIgbWluX3NpemUpCiB7Ci19CisJaWYgKCFhcGVyX2Jhc2UpCisJCXJldHVybiAwOwogCi0jZW5kaWYKKwlpZiAoYXBlcl9iYXNlICsgYXBlcl9zaXplID4gMHgxMDAwMDAwMDBVTEwpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSBiZXlvbmQgNEdCLiBJZ25vcmluZy5cbiIpOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKGU4MjBfYW55X21hcHBlZChhcGVyX2Jhc2UsIGFwZXJfYmFzZSArIGFwZXJfc2l6ZSwgRTgyMF9SQU0pKSB7CisJCXByaW50ayhLRVJOX0VSUiAiQXBlcnR1cmUgcG9pbnRpbmcgdG8gZTgyMCBSQU0uIElnbm9yaW5nLlxuIik7CisJCXJldHVybiAwOworCX0KKwlpZiAoYXBlcl9zaXplIDwgbWluX3NpemUpIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJBcGVydHVyZSB0b28gc21hbGwgKCVkIE1CKSB0aGFuICglZCBNQilcbiIsCisJCQkJIGFwZXJfc2l6ZT4+MjAsIG1pbl9zaXplPj4yMCk7CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOworfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9nZW5hcGljXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpY182NC5oCmluZGV4IDFkZTkzMWIuLjBmODUwNDYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9nZW5hcGljXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2dlbmFwaWNfNjQuaApAQCAtNDQsNCArNDQsNiBAQAogZXh0ZXJuIHZvaWQgdXZfY3B1X2luaXQodm9pZCk7CiBleHRlcm4gaW50IHV2X3dha2V1cF9zZWNvbmRhcnkoaW50IHBoeXNfYXBpY2lkLCB1bnNpZ25lZCBpbnQgc3RhcnRfcmlwKTsKIAorZXh0ZXJuIHZvaWQgc2V0dXBfYXBpY19yb3V0aW5nKHZvaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9oYXJkaXJxLmggYi9pbmNsdWRlL2FzbS14ODYvaGFyZGlycS5oCmluZGV4IDMxNDQzNGQuLjAwMDc4N2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9oYXJkaXJxLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2hhcmRpcnEuaApAQCAtMywzICszLDkgQEAKICNlbHNlCiAjIGluY2x1ZGUgImhhcmRpcnFfNjQuaCIKICNlbmRpZgorCitleHRlcm4gdTY0IGFyY2hfaXJxX3N0YXRfY3B1KHVuc2lnbmVkIGludCBjcHUpOworI2RlZmluZSBhcmNoX2lycV9zdGF0X2NwdQlhcmNoX2lycV9zdGF0X2NwdQorCitleHRlcm4gdTY0IGFyY2hfaXJxX3N0YXQodm9pZCk7CisjZGVmaW5lIGFyY2hfaXJxX3N0YXQJCWFyY2hfaXJxX3N0YXQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9oaWdobWVtLmggYi9pbmNsdWRlL2FzbS14ODYvaGlnaG1lbS5oCmluZGV4IGUxNTNmM2IuLjQ1MTRiMTYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9oaWdobWVtLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2hpZ2htZW0uaApAQCAtNzQsNiArNzQsOSBAQAogCiAjZGVmaW5lIGZsdXNoX2NhY2hlX2ttYXBzKCkJZG8geyB9IHdoaWxlICgwKQogCitleHRlcm4gdm9pZCBhZGRfaGlnaHBhZ2VzX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7CisKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKICNlbmRpZiAvKiBfQVNNX0hJR0hNRU1fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2hwZXQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9ocGV0LmgKaW5kZXggNmE5YjRhYy4uODJmMWFjNiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2hwZXQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaHBldC5oCkBAIC04Niw4ICs4Niw4IEBACiAjZWxzZSAvKiBDT05GSUdfSFBFVF9USU1FUiAqLwogCiBzdGF0aWMgaW5saW5lIGludCBocGV0X2VuYWJsZSh2b2lkKSB7IHJldHVybiAwOyB9Ci1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgaHBldF9yZWFkbCh1bnNpZ25lZCBsb25nIGEpIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyBpbmxpbmUgaW50IGlzX2hwZXRfZW5hYmxlZCh2b2lkKSB7IHJldHVybiAwOyB9CisjZGVmaW5lIGhwZXRfcmVhZGwoYSkgMAogCiAjZW5kaWYKICNlbmRpZiAvKiBBU01fWDg2X0hQRVRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2h3X2lycS5oIGIvaW5jbHVkZS9hc20teDg2L2h3X2lycS5oCmluZGV4IGJmMDI1MzkuLjc3YmE1MWQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxLmgKQEAgLTEsNSArMSwxMDcgQEAKKyNpZm5kZWYgX0FTTV9IV19JUlFfSAorI2RlZmluZSBfQVNNX0hXX0lSUV9ICisKKy8qCisgKiAoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKKyAqCisgKiBtb3ZlZCBzb21lIG9mIHRoZSBvbGQgYXJjaC9pMzg2L2tlcm5lbC9pcnEuaCB0byBoZXJlLiBWWQorICoKKyAqIElSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCisgKiA8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgorICoKKyAqIGhhY2tlZCBieSBBbmRpIEtsZWVuIGZvciB4ODYtNjQuCisgKiB1bmlmaWVkIGJ5IHRnbHgKKyAqLworCisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CisKKyNpZm5kZWYgX19BU1NFTUJMWV9fCisKKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9wcm9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvc21wLmg+CisKKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8YXNtL2lycS5oPgorI2luY2x1ZGUgPGFzbS9zZWN0aW9ucy5oPgorCisjZGVmaW5lIHBsYXRmb3JtX2xlZ2FjeV9pcnEoaXJxKQkoKGlycSkgPCAxNikKKworLyogSW50ZXJydXB0IGhhbmRsZXJzIHJlZ2lzdGVyZWQgZHVyaW5nIGluaXRfSVJRICovCitleHRlcm4gdm9pZCBhcGljX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiB2b2lkIGVycm9yX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiB2b2lkIHNwdXJpb3VzX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiB2b2lkIHRoZXJtYWxfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgcmVzY2hlZHVsZV9pbnRlcnJ1cHQodm9pZCk7CisKK2V4dGVybiB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQwKHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQxKHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQyKHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQzKHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ0KHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ1KHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ2KHZvaWQpOworZXh0ZXJuIHZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ3KHZvaWQpOworCitleHRlcm4gdm9pZCBpcnFfbW92ZV9jbGVhbnVwX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiB2b2lkIHRocmVzaG9sZF9pbnRlcnJ1cHQodm9pZCk7CisKK2V4dGVybiB2b2lkIGNhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIHZvaWQgY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0KHZvaWQpOworCisvKiBQSUMgc3BlY2lmaWMgZnVuY3Rpb25zICovCitleHRlcm4gdm9pZCBkaXNhYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiB2b2lkIGVuYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7CitleHRlcm4gaW50IGk4MjU5QV9pcnFfcGVuZGluZyh1bnNpZ25lZCBpbnQgaXJxKTsKK2V4dGVybiB2b2lkIG1ha2VfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIHZvaWQgaW5pdF84MjU5QShpbnQgYWVvaSk7CisKKy8qIElPQVBJQyAqLworI2RlZmluZSBJT19BUElDX0lSUSh4KSAoKCh4KSA+PSAxNikgfHwgKCgxPDwoeCkpICYgaW9fYXBpY19pcnFzKSkKK2V4dGVybiB1bnNpZ25lZCBsb25nIGlvX2FwaWNfaXJxczsKKworZXh0ZXJuIHZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCk7CitleHRlcm4gdm9pZCBzZXR1cF9JT19BUElDKHZvaWQpOworZXh0ZXJuIHZvaWQgZGlzYWJsZV9JT19BUElDKHZvaWQpOworZXh0ZXJuIHZvaWQgcHJpbnRfSU9fQVBJQyh2b2lkKTsKK2V4dGVybiBpbnQgSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoaW50IGJ1cywgaW50IHNsb3QsIGludCBmbik7CitleHRlcm4gdm9pZCBzZXR1cF9pb2FwaWNfZGVzdCh2b2lkKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKK2V4dGVybiB2b2lkIGVuYWJsZV9JT19BUElDKHZvaWQpOworI2VuZGlmCisKKy8qIElQSSBmdW5jdGlvbnMgKi8KK2V4dGVybiB2b2lkIHNlbmRfSVBJX3NlbGYoaW50IHZlY3Rvcik7CitleHRlcm4gdm9pZCBzZW5kX0lQSShpbnQgZGVzdCwgaW50IHZlY3Rvcik7CisKKy8qIFN0YXRpc3RpY3MgKi8KK2V4dGVybiBhdG9taWNfdCBpcnFfZXJyX2NvdW50OworZXh0ZXJuIGF0b21pY190IGlycV9taXNfY291bnQ7CisKKy8qIEVJU0EgKi8KK2V4dGVybiB2b2lkIGVpc2Ffc2V0X2xldmVsX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKKworLyogVm95YWdlciBmdW5jdGlvbnMgKi8KK2V4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX2NwaV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19zeXNfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfY21uX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX2ludmFsaWRhdGVfaW50ZXJydXB0KHZvaWQpOworZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfcmVzY2hlZHVsZV9pbnRlcnJ1cHQodm9pZCk7CitleHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19lbmFibGVfaXJxX2ludGVycnVwdCh2b2lkKTsKK2V4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHZvaWQpOworCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBpbmNsdWRlICJod19pcnFfMzIuaCIKK2V4dGVybiB2b2lkICgqY29uc3QgaW50ZXJydXB0W05SX0lSUVNdKSh2b2lkKTsKICNlbHNlCi0jIGluY2x1ZGUgImh3X2lycV82NC5oIgordHlwZWRlZiBpbnQgdmVjdG9yX2lycV90W05SX1ZFQ1RPUlNdOworREVDTEFSRV9QRVJfQ1BVKHZlY3Rvcl9pcnFfdCwgdmVjdG9yX2lycSk7CitleHRlcm4gc3BpbmxvY2tfdCB2ZWN0b3JfbG9jazsKKyNlbmRpZgorZXh0ZXJuIHZvaWQgc2V0dXBfdmVjdG9yX2lycShpbnQgY3B1KTsKKworI2VuZGlmIC8qICFBU1NFTUJMWV8gKi8KKwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvaHdfaXJxXzMyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhODgwNTQuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L2h3X2lycV8zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0hXX0lSUV9ICi0jZGVmaW5lIF9BU01fSFdfSVJRX0gKLQotLyoKLSAqCWxpbnV4L2luY2x1ZGUvYXNtL2h3X2lycS5oCi0gKgotICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCi0gKgotICoJbW92ZWQgc29tZSBvZiB0aGUgb2xkIGFyY2gvaTM4Ni9rZXJuZWwvaXJxLmggdG8gaGVyZS4gVlkKLSAqCi0gKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQotICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvcHJvZmlsZS5oPgotI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KLSNpbmNsdWRlIDxhc20vaXJxLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+Ci0KLSNkZWZpbmUgTk1JX1ZFQ1RPUgkJMHgwMgotCi0vKgotICogVmFyaW91cyBsb3ctbGV2ZWwgaXJxIGRldGFpbHMgbmVlZGVkIGJ5IGlycS5jLCBwcm9jZXNzLmMsCi0gKiB0aW1lLmMsIGlvX2FwaWMuYyBhbmQgc21wLmMKLSAqCi0gKiBJbnRlcnJ1cHQgZW50cnkvZXhpdCBjb2RlIGF0IGJvdGggQyBhbmQgYXNzZW1ibHkgbGV2ZWwKLSAqLwotCi1leHRlcm4gdm9pZCAoKmNvbnN0IGludGVycnVwdFtOUl9JUlFTXSkodm9pZCk7Ci0KLSNpZmRlZiBDT05GSUdfU01QCi12b2lkIHJlc2NoZWR1bGVfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotdm9pZCBhcGljX3RpbWVyX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgZXJyb3JfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBzcHVyaW91c19pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHRoZXJtYWxfaW50ZXJydXB0KHZvaWQpOwotI2RlZmluZSBwbGF0Zm9ybV9sZWdhY3lfaXJxKGlycSkJKChpcnEpIDwgMTYpCi0jZW5kaWYKLQotdm9pZCBkaXNhYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLXZvaWQgZW5hYmxlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLWludCBpODI1OUFfaXJxX3BlbmRpbmcodW5zaWduZWQgaW50IGlycSk7Ci12b2lkIG1ha2VfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotdm9pZCBpbml0XzgyNTlBKGludCBhZW9pKTsKLXZvaWQgc2VuZF9JUElfc2VsZihpbnQgdmVjdG9yKTsKLXZvaWQgaW5pdF9WSVNXU19BUElDX2lycXModm9pZCk7Ci12b2lkIHNldHVwX0lPX0FQSUModm9pZCk7Ci12b2lkIGRpc2FibGVfSU9fQVBJQyh2b2lkKTsKLXZvaWQgcHJpbnRfSU9fQVBJQyh2b2lkKTsKLWludCBJT19BUElDX2dldF9QQ0lfaXJxX3ZlY3RvcihpbnQgYnVzLCBpbnQgc2xvdCwgaW50IGZuKTsKLXZvaWQgc2VuZF9JUEkoaW50IGRlc3QsIGludCB2ZWN0b3IpOwotdm9pZCBzZXR1cF9pb2FwaWNfZGVzdCh2b2lkKTsKLQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOwotCi1leHRlcm4gYXRvbWljX3QgaXJxX2Vycl9jb3VudDsKLWV4dGVybiBhdG9taWNfdCBpcnFfbWlzX2NvdW50OwotCi0jZGVmaW5lIElPX0FQSUNfSVJRKHgpICgoKHgpID49IDE2KSB8fCAoKDE8PCh4KSkgJiBpb19hcGljX2lycXMpKQotCi0jZW5kaWYgLyogX0FTTV9IV19JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2h3X2lycV82NC5oIGIvaW5jbHVkZS9hc20teDg2L2h3X2lycV82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDYyZWYzLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9od19pcnFfNjQuaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MyArMCwwIEBACi0jaWZuZGVmIF9BU01fSFdfSVJRX0gKLSNkZWZpbmUgX0FTTV9IV19JUlFfSAotCi0vKgotICoJbGludXgvaW5jbHVkZS9hc20vaHdfaXJxLmgKLSAqCi0gKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKLSAqCi0gKgltb3ZlZCBzb21lIG9mIHRoZSBvbGQgYXJjaC9pMzg2L2tlcm5lbC9pcnEuaCB0byBoZXJlLiBWWQotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICoKLSAqCWhhY2tlZCBieSBBbmRpIEtsZWVuIGZvciB4ODYtNjQuCi0gKi8KLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL2lycS5oPgotI2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9zbXAuaD4KLSNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KLSNlbmRpZgotCi0jZGVmaW5lIE5NSV9WRUNUT1IJCTB4MDIKLS8qCi0gKiBJRFQgdmVjdG9ycyB1c2FibGUgZm9yIGV4dGVybmFsIGludGVycnVwdCBzb3VyY2VzIHN0YXJ0Ci0gKiBhdCAweDIwOgotICovCi0jZGVmaW5lIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUgkweDIwCi0KLSNkZWZpbmUgSUEzMl9TWVNDQUxMX1ZFQ1RPUgkweDgwCi0KLQotLyogUmVzZXJ2ZSB0aGUgbG93ZXN0IHVzYWJsZSBwcmlvcml0eSBsZXZlbCAweDIwIC0gMHgyZiBmb3IgdHJpZ2dlcmluZwotICogY2xlYW51cCBhZnRlciBpcnEgbWlncmF0aW9uLgotICovCi0jZGVmaW5lIElSUV9NT1ZFX0NMRUFOVVBfVkVDVE9SCUZJUlNUX0VYVEVSTkFMX1ZFQ1RPUgotCi0vKgotICogVmVjdG9ycyAweDMwLTB4M2YgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0jZGVmaW5lIElSUTBfVkVDVE9SCQkoRklSU1RfRVhURVJOQUxfVkVDVE9SICsgMHgxMCkKLSNkZWZpbmUgSVJRMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEpCi0jZGVmaW5lIElSUTJfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAyKQotI2RlZmluZSBJUlEzX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMykKLSNkZWZpbmUgSVJRNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDQpCi0jZGVmaW5lIElSUTVfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA1KQotI2RlZmluZSBJUlE2X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNikKLSNkZWZpbmUgSVJRN19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDcpCi0jZGVmaW5lIElSUThfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA4KQotI2RlZmluZSBJUlE5X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgOSkKLSNkZWZpbmUgSVJRMTBfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMCkKLSNkZWZpbmUgSVJRMTFfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMSkKLSNkZWZpbmUgSVJRMTJfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMikKLSNkZWZpbmUgSVJRMTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMykKLSNkZWZpbmUgSVJRMTRfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxNCkKLSNkZWZpbmUgSVJRMTVfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxNSkKLQotLyoKLSAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCi0gKgotICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAotICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCi0gKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgotICovCi0jZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCTB4ZmYKLSNkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJMHhmZQotI2RlZmluZSBSRVNDSEVEVUxFX1ZFQ1RPUgkweGZkCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCTB4ZmMKLS8qIGZiIGZyZWUgLSBwbGVhc2UgZG9uJ3QgcmVhZGQgS0RCIGhlcmUgYmVjYXVzZSBpdCdzIHVzZWxlc3MKLSAgIChoaW50IC0gdGhpbmsgd2hhdCBhIE5NSSBiaXQgZG9lcyB0byBhIHZlY3RvcikgKi8KLSNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkweGZhCi0jZGVmaW5lIFRIUkVTSE9MRF9BUElDX1ZFQ1RPUiAgIDB4ZjkKLS8qIGY4IGZyZWUgKi8KLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SX0VORAkweGY3Ci0jZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9TVEFSVAkweGYwCS8qIGYwLWY3IHVzZWQgZm9yIFRMQiBmbHVzaCAqLwotCi0jZGVmaW5lIE5VTV9JTlZBTElEQVRFX1RMQl9WRUNUT1JTCTgKLQotLyoKLSAqIExvY2FsIEFQSUMgdGltZXIgSVJRIHZlY3RvciBpcyBvbiBhIGRpZmZlcmVudCBwcmlvcml0eSBsZXZlbCwKLSAqIHRvIHdvcmsgYXJvdW5kIHRoZSAnbG9zdCBsb2NhbCBpbnRlcnJ1cHQgaWYgbW9yZSB0aGFuIDIgSVJRCi0gKiBzb3VyY2VzIHBlciBsZXZlbCcgZXJyYXRhLgotICovCi0jZGVmaW5lIExPQ0FMX1RJTUVSX1ZFQ1RPUgkweGVmCi0KLS8qCi0gKiBGaXJzdCBBUElDIHZlY3RvciBhdmFpbGFibGUgdG8gZHJpdmVyczogKHZlY3RvcnMgMHgzMC0weGVlKQotICogd2Ugc3RhcnQgYXQgMHg0MSB0byBzcHJlYWQgb3V0IHZlY3RvcnMgZXZlbmx5IGJldHdlZW4gcHJpb3JpdHkKLSAqIGxldmVscy4gKDB4ODAgaXMgdGhlIHN5c2NhbGwgdmVjdG9yKQotICovCi0jZGVmaW5lIEZJUlNUX0RFVklDRV9WRUNUT1IJKElSUTE1X1ZFQ1RPUiArIDIpCi0jZGVmaW5lIEZJUlNUX1NZU1RFTV9WRUNUT1IJMHhlZiAgIC8qIGR1cGxpY2F0ZWQgaW4gaXJxLmggKi8KLQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotCi0vKiBJbnRlcnJ1cHQgaGFuZGxlcnMgcmVnaXN0ZXJlZCBkdXJpbmcgaW5pdF9JUlEgKi8KLXZvaWQgYXBpY190aW1lcl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHNwdXJpb3VzX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgZXJyb3JfaW50ZXJydXB0KHZvaWQpOwotdm9pZCByZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKLXZvaWQgY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGlycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDAodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0MSh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQyKHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDModm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0NCh2b2lkKTsKLXZvaWQgaW52YWxpZGF0ZV9pbnRlcnJ1cHQ1KHZvaWQpOwotdm9pZCBpbnZhbGlkYXRlX2ludGVycnVwdDYodm9pZCk7Ci12b2lkIGludmFsaWRhdGVfaW50ZXJydXB0Nyh2b2lkKTsKLXZvaWQgdGhlcm1hbF9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIHRocmVzaG9sZF9pbnRlcnJ1cHQodm9pZCk7Ci12b2lkIGk4MjU0X3RpbWVyX3Jlc3VtZSh2b2lkKTsKLQotdHlwZWRlZiBpbnQgdmVjdG9yX2lycV90W05SX1ZFQ1RPUlNdOwotREVDTEFSRV9QRVJfQ1BVKHZlY3Rvcl9pcnFfdCwgdmVjdG9yX2lycSk7Ci1leHRlcm4gdm9pZCBfX3NldHVwX3ZlY3Rvcl9pcnEoaW50IGNwdSk7Ci1leHRlcm4gc3BpbmxvY2tfdCB2ZWN0b3JfbG9jazsKLQotLyoKLSAqIFZhcmlvdXMgbG93LWxldmVsIGlycSBkZXRhaWxzIG5lZWRlZCBieSBpcnEuYywgcHJvY2Vzcy5jLAotICogdGltZS5jLCBpb19hcGljLmMgYW5kIHNtcC5jCi0gKgotICogSW50ZXJydXB0IGVudHJ5L2V4aXQgY29kZSBhdCBib3RoIEMgYW5kIGFzc2VtYmx5IGxldmVsCi0gKi8KLQotZXh0ZXJuIHZvaWQgZGlzYWJsZV84MjU5QV9pcnEodW5zaWduZWQgaW50IGlycSk7Ci1leHRlcm4gdm9pZCBlbmFibGVfODI1OUFfaXJxKHVuc2lnbmVkIGludCBpcnEpOwotZXh0ZXJuIGludCBpODI1OUFfaXJxX3BlbmRpbmcodW5zaWduZWQgaW50IGlycSk7Ci1leHRlcm4gdm9pZCBtYWtlXzgyNTlBX2lycSh1bnNpZ25lZCBpbnQgaXJxKTsKLWV4dGVybiB2b2lkIGluaXRfODI1OUEoaW50IGFlb2kpOwotZXh0ZXJuIHZvaWQgc2VuZF9JUElfc2VsZihpbnQgdmVjdG9yKTsKLWV4dGVybiB2b2lkIGluaXRfVklTV1NfQVBJQ19pcnFzKHZvaWQpOwotZXh0ZXJuIHZvaWQgc2V0dXBfSU9fQVBJQyh2b2lkKTsKLWV4dGVybiB2b2lkIGVuYWJsZV9JT19BUElDKHZvaWQpOwotZXh0ZXJuIHZvaWQgZGlzYWJsZV9JT19BUElDKHZvaWQpOwotZXh0ZXJuIHZvaWQgcHJpbnRfSU9fQVBJQyh2b2lkKTsKLWV4dGVybiBpbnQgSU9fQVBJQ19nZXRfUENJX2lycV92ZWN0b3IoaW50IGJ1cywgaW50IHNsb3QsIGludCBmbik7Ci1leHRlcm4gdm9pZCBzZW5kX0lQSShpbnQgZGVzdCwgaW50IHZlY3Rvcik7Ci1leHRlcm4gdm9pZCBzZXR1cF9pb2FwaWNfZGVzdCh2b2lkKTsKLWV4dGVybiB2b2lkIG5hdGl2ZV9pbml0X0lSUSh2b2lkKTsKLQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW9fYXBpY19pcnFzOwotCi1leHRlcm4gYXRvbWljX3QgaXJxX2Vycl9jb3VudDsKLWV4dGVybiBhdG9taWNfdCBpcnFfbWlzX2NvdW50OwotCi0jZGVmaW5lIElPX0FQSUNfSVJRKHgpICgoKHgpID49IDE2KSB8fCAoKDE8PCh4KSkgJiBpb19hcGljX2lycXMpKQotCi0jaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgotCi0jZGVmaW5lIElSUV9OQU1FMihucikgbnIjI19pbnRlcnJ1cHQodm9pZCkKLSNkZWZpbmUgSVJRX05BTUUobnIpIElSUV9OQU1FMihJUlEjI25yKQotCi0vKgotICoJU01QIGhhcyBhIGZldyBzcGVjaWFsIGludGVycnVwdHMgZm9yIElQSSBtZXNzYWdlcwotICovCi0KLSNkZWZpbmUgQlVJTERfSVJRKG5yKQkJCQlcCi0JYXNtbGlua2FnZSB2b2lkIElSUV9OQU1FKG5yKTsJCVwKLQlhc20oIlxuLnAyYWxpZ25cbiIJCQlcCi0JICAgICJJUlEiICNuciAiX2ludGVycnVwdDpcblx0IgkJXAotCSAgICAicHVzaCAkfigiICNuciAiKSA7ICIJCVwKLQkgICAgImptcCBjb21tb25faW50ZXJydXB0Iik7Ci0KLSNkZWZpbmUgcGxhdGZvcm1fbGVnYWN5X2lycShpcnEpCSgoaXJxKSA8IDE2KQotCi0jZW5kaWYKLQotI2VuZGlmIC8qIF9BU01fSFdfSVJRX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pODI1OS5oIGIvaW5jbHVkZS9hc20teDg2L2k4MjU5LmgKaW5kZXggNDVkNGRmMy4uMmY5OGRmOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2k4MjU5LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2k4MjU5LmgKQEAgLTU1LDQgKzU1LDYgQEAKIAl1ZGVsYXkoMik7CiB9CiAKK2V4dGVybiBzdHJ1Y3QgaXJxX2NoaXAgaTgyNTlBX2NoaXA7CisKICNlbmRpZgkvKiBfX0FTTV9JODI1OV9IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pby5oIGIvaW5jbHVkZS9hc20teDg2L2lvLmgKaW5kZXggZDViMTFmNi4uYmY1ZDYyOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvLmgKQEAgLTMsNiArMyw3NiBAQAogCiAjZGVmaW5lIEFSQ0hfSEFTX0lPUkVNQVBfV0MKIAorI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CisKKy8qCisgKiBlYXJseV9pb3JlbWFwKCkgYW5kIGVhcmx5X2lvdW5tYXAoKSBhcmUgZm9yIHRlbXBvcmFyeSBlYXJseSBib290LXRpbWUKKyAqIG1hcHBpbmdzLCBiZWZvcmUgdGhlIHJlYWwgaW9yZW1hcCgpIGlzIGZ1bmN0aW9uYWwuCisgKiBBIGJvb3QtdGltZSBtYXBwaW5nIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvIGF0IG1vc3QgMTYgcGFnZXMuCisgKi8KKyNpZm5kZWYgX19BU1NFTUJMWV9fCitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2luaXQodm9pZCk7CitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX2NsZWFyKHZvaWQpOworZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9yZXNldCh2b2lkKTsKK2V4dGVybiB2b2lkICplYXJseV9pb3JlbWFwKHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpOworZXh0ZXJuIHZvaWQgZWFybHlfaW91bm1hcCh2b2lkICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUpOworZXh0ZXJuIHZvaWQgX19pb21lbSAqZml4X2lvcmVtYXAodW5zaWduZWQgaWR4LCB1bnNpZ25lZCBsb25nIHBoeXMpOworI2VuZGlmCisKKyNkZWZpbmUgYnVpbGRfbW1pb19yZWFkKG5hbWUsIHNpemUsIHR5cGUsIHJlZywgYmFycmllcikgXAorc3RhdGljIGlubGluZSB0eXBlIG5hbWUoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKSBcCit7IHR5cGUgcmV0OyBhc20gdm9sYXRpbGUoIm1vdiIgc2l6ZSAiICUxLCUwIjoiPSIgcmVnIChyZXQpIFwKKzoibSIgKCoodm9sYXRpbGUgdHlwZSBfX2ZvcmNlICopYWRkcikgYmFycmllcik7IHJldHVybiByZXQ7IH0KKworI2RlZmluZSBidWlsZF9tbWlvX3dyaXRlKG5hbWUsIHNpemUsIHR5cGUsIHJlZywgYmFycmllcikgXAorc3RhdGljIGlubGluZSB2b2lkIG5hbWUodHlwZSB2YWwsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikgXAoreyBhc20gdm9sYXRpbGUoIm1vdiIgc2l6ZSAiICUwLCUxIjogOnJlZyAodmFsKSwgXAorIm0iICgqKHZvbGF0aWxlIHR5cGUgX19mb3JjZSAqKWFkZHIpIGJhcnJpZXIpOyB9CisKK2J1aWxkX21taW9fcmVhZChyZWFkYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fcmVhZChyZWFkdywgInciLCB1bnNpZ25lZCBzaG9ydCwgInIiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3JlYWQocmVhZGwsICJsIiwgdW5zaWduZWQgaW50LCAiciIsIDoibWVtb3J5IikKKworYnVpbGRfbW1pb19yZWFkKF9fcmVhZGIsICJiIiwgdW5zaWduZWQgY2hhciwgInEiLCApCitidWlsZF9tbWlvX3JlYWQoX19yZWFkdywgInciLCB1bnNpZ25lZCBzaG9ydCwgInIiLCApCitidWlsZF9tbWlvX3JlYWQoX19yZWFkbCwgImwiLCB1bnNpZ25lZCBpbnQsICJyIiwgKQorCitidWlsZF9tbWlvX3dyaXRlKHdyaXRlYiwgImIiLCB1bnNpZ25lZCBjaGFyLCAicSIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fd3JpdGUod3JpdGV3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsIDoibWVtb3J5IikKK2J1aWxkX21taW9fd3JpdGUod3JpdGVsLCAibCIsIHVuc2lnbmVkIGludCwgInIiLCA6Im1lbW9yeSIpCisKK2J1aWxkX21taW9fd3JpdGUoX193cml0ZWIsICJiIiwgdW5zaWduZWQgY2hhciwgInEiLCApCitidWlsZF9tbWlvX3dyaXRlKF9fd3JpdGV3LCAidyIsIHVuc2lnbmVkIHNob3J0LCAiciIsICkKK2J1aWxkX21taW9fd3JpdGUoX193cml0ZWwsICJsIiwgdW5zaWduZWQgaW50LCAiciIsICkKKworI2RlZmluZSByZWFkYl9yZWxheGVkKGEpIF9fcmVhZGIoYSkKKyNkZWZpbmUgcmVhZHdfcmVsYXhlZChhKSBfX3JlYWR3KGEpCisjZGVmaW5lIHJlYWRsX3JlbGF4ZWQoYSkgX19yZWFkbChhKQorI2RlZmluZSBfX3Jhd19yZWFkYiBfX3JlYWRiCisjZGVmaW5lIF9fcmF3X3JlYWR3IF9fcmVhZHcKKyNkZWZpbmUgX19yYXdfcmVhZGwgX19yZWFkbAorCisjZGVmaW5lIF9fcmF3X3dyaXRlYiBfX3dyaXRlYgorI2RlZmluZSBfX3Jhd193cml0ZXcgX193cml0ZXcKKyNkZWZpbmUgX19yYXdfd3JpdGVsIF9fd3JpdGVsCisKKyNkZWZpbmUgbW1pb3diKCkgYmFycmllcigpCisKKyNpZmRlZiBDT05GSUdfWDg2XzY0CitidWlsZF9tbWlvX3JlYWQocmVhZHEsICJxIiwgdW5zaWduZWQgbG9uZywgInIiLCA6Im1lbW9yeSIpCitidWlsZF9tbWlvX3JlYWQoX19yZWFkcSwgInEiLCB1bnNpZ25lZCBsb25nLCAiciIsICkKK2J1aWxkX21taW9fd3JpdGUod3JpdGVxLCAicSIsIHVuc2lnbmVkIGxvbmcsICJyIiwgOiJtZW1vcnkiKQorYnVpbGRfbW1pb193cml0ZShfX3dyaXRlcSwgInEiLCB1bnNpZ25lZCBsb25nLCAiciIsICkKKworI2RlZmluZSByZWFkcV9yZWxheGVkKGEpIF9fcmVhZHEoYSkKKyNkZWZpbmUgX19yYXdfcmVhZHEgX19yZWFkcQorI2RlZmluZSBfX3Jhd193cml0ZXEgd3JpdGVxCisKKy8qIExldCBwZW9wbGUga25vdyB3ZSBoYXZlIHRoZW0gKi8KKyNkZWZpbmUgcmVhZHEgcmVhZHEKKyNkZWZpbmUgd3JpdGVxIHdyaXRlcQorI2VuZGlmCisKICNpZmRlZiBDT05GSUdfWDg2XzMyCiAjIGluY2x1ZGUgImlvXzMyLmgiCiAjZWxzZQpAQCAtMTYsNCArODYsMTcgQEAKIAkJCQl1bnNpZ25lZCBsb25nIHByb3RfdmFsKTsKIGV4dGVybiB2b2lkIF9faW9tZW0gKmlvcmVtYXBfd2ModW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CiAKKy8qCisgKiBlYXJseV9pb3JlbWFwKCkgYW5kIGVhcmx5X2lvdW5tYXAoKSBhcmUgZm9yIHRlbXBvcmFyeSBlYXJseSBib290LXRpbWUKKyAqIG1hcHBpbmdzLCBiZWZvcmUgdGhlIHJlYWwgaW9yZW1hcCgpIGlzIGZ1bmN0aW9uYWwuCisgKiBBIGJvb3QtdGltZSBtYXBwaW5nIGlzIGN1cnJlbnRseSBsaW1pdGVkIHRvIGF0IG1vc3QgMTYgcGFnZXMuCisgKi8KK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfY2xlYXIodm9pZCk7CitleHRlcm4gdm9pZCBlYXJseV9pb3JlbWFwX3Jlc2V0KHZvaWQpOworZXh0ZXJuIHZvaWQgKmVhcmx5X2lvcmVtYXAodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBlYXJseV9pb3VubWFwKHZvaWQgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBfX2lvbWVtICpmaXhfaW9yZW1hcCh1bnNpZ25lZCBpZHgsIHVuc2lnbmVkIGxvbmcgcGh5cyk7CisKKwogI2VuZGlmIC8qIF9BU01fWDg2X0lPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pb18zMi5oIGIvaW5jbHVkZS9hc20teDg2L2lvXzMyLmgKaW5kZXggMDQ5ZTgxZS4uNGRmNDRlZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L2lvXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvXzMyLmgKQEAgLTEyMiwxOCArMTIyLDYgQEAKIGV4dGVybiB2b2lkIGlvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKTsKIAogLyoKLSAqIGVhcmx5X2lvcmVtYXAoKSBhbmQgZWFybHlfaW91bm1hcCgpIGFyZSBmb3IgdGVtcG9yYXJ5IGVhcmx5IGJvb3QtdGltZQotICogbWFwcGluZ3MsIGJlZm9yZSB0aGUgcmVhbCBpb3JlbWFwKCkgaXMgZnVuY3Rpb25hbC4KLSAqIEEgYm9vdC10aW1lIG1hcHBpbmcgaXMgY3VycmVudGx5IGxpbWl0ZWQgdG8gYXQgbW9zdCAxNiBwYWdlcy4KLSAqLwotZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9pbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgZWFybHlfaW9yZW1hcF9jbGVhcih2b2lkKTsKLWV4dGVybiB2b2lkIGVhcmx5X2lvcmVtYXBfcmVzZXQodm9pZCk7Ci1leHRlcm4gdm9pZCAqZWFybHlfaW9yZW1hcCh1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBzaXplKTsKLWV4dGVybiB2b2lkIGVhcmx5X2lvdW5tYXAodm9pZCAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKTsKLWV4dGVybiB2b2lkIF9faW9tZW0gKmZpeF9pb3JlbWFwKHVuc2lnbmVkIGlkeCwgdW5zaWduZWQgbG9uZyBwaHlzKTsKLQotLyoKICAqIElTQSBJL08gYnVzIG1lbW9yeSBhZGRyZXNzZXMgYXJlIDE6MSB3aXRoIHRoZSBwaHlzaWNhbCBhZGRyZXNzLgogICovCiAjZGVmaW5lIGlzYV92aXJ0X3RvX2J1cyB2aXJ0X3RvX3BoeXMKQEAgLTE0OSw1NSArMTM3LDYgQEAKICNkZWZpbmUgdmlydF90b19idXMgdmlydF90b19waHlzCiAjZGVmaW5lIGJ1c190b192aXJ0IHBoeXNfdG9fdmlydAogCi0vKgotICogcmVhZFgvd3JpdGVYKCkgYXJlIHVzZWQgdG8gYWNjZXNzIG1lbW9yeSBtYXBwZWQgZGV2aWNlcy4gT24gc29tZQotICogYXJjaGl0ZWN0dXJlcyB0aGUgbWVtb3J5IG1hcHBlZCBJTyBzdHVmZiBuZWVkcyB0byBiZSBhY2Nlc3NlZAotICogZGlmZmVyZW50bHkuIE9uIHRoZSB4ODYgYXJjaGl0ZWN0dXJlLCB3ZSBqdXN0IHJlYWQvd3JpdGUgdGhlCi0gKiBtZW1vcnkgbG9jYXRpb24gZGlyZWN0bHkuCi0gKi8KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBjaGFyIHJlYWRiKGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKih2b2xhdGlsZSB1bnNpZ25lZCBjaGFyIF9fZm9yY2UgKilhZGRyOwotfQotCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIHNob3J0IHJlYWR3KGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKih2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCBfX2ZvcmNlICopYWRkcjsKLX0KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcmVhZGwoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKHZvbGF0aWxlIHVuc2lnbmVkIGludCBfX2ZvcmNlICopIGFkZHI7Ci19Ci0KLSNkZWZpbmUgcmVhZGJfcmVsYXhlZChhZGRyKSByZWFkYihhZGRyKQotI2RlZmluZSByZWFkd19yZWxheGVkKGFkZHIpIHJlYWR3KGFkZHIpCi0jZGVmaW5lIHJlYWRsX3JlbGF4ZWQoYWRkcikgcmVhZGwoYWRkcikKLSNkZWZpbmUgX19yYXdfcmVhZGIgcmVhZGIKLSNkZWZpbmUgX19yYXdfcmVhZHcgcmVhZHcKLSNkZWZpbmUgX19yYXdfcmVhZGwgcmVhZGwKLQotc3RhdGljIGlubGluZSB2b2lkIHdyaXRlYih1bnNpZ25lZCBjaGFyIGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKHZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgX19mb3JjZSAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgd3JpdGV3KHVuc2lnbmVkIHNob3J0IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKHZvbGF0aWxlIHVuc2lnbmVkIHNob3J0IF9fZm9yY2UgKilhZGRyID0gYjsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHdyaXRlbCh1bnNpZ25lZCBpbnQgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSoodm9sYXRpbGUgdW5zaWduZWQgaW50IF9fZm9yY2UgKilhZGRyID0gYjsKLX0KLSNkZWZpbmUgX19yYXdfd3JpdGViIHdyaXRlYgotI2RlZmluZSBfX3Jhd193cml0ZXcgd3JpdGV3Ci0jZGVmaW5lIF9fcmF3X3dyaXRlbCB3cml0ZWwKLQotI2RlZmluZSBtbWlvd2IoKQotCiBzdGF0aWMgaW5saW5lIHZvaWQKIG1lbXNldF9pbyh2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIsIHVuc2lnbmVkIGNoYXIgdmFsLCBpbnQgY291bnQpCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvaW9fNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pb182NC5oCmluZGV4IDA5MzBiZWQuLmRkZDgwNTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pb182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9pb182NC5oCkBAIC0yMDQsNzcgKzIwNCw2IEBACiAjZGVmaW5lIHZpcnRfdG9fYnVzIHZpcnRfdG9fcGh5cwogI2RlZmluZSBidXNfdG9fdmlydCBwaHlzX3RvX3ZpcnQKIAotLyoKLSAqIHJlYWRYL3dyaXRlWCgpIGFyZSB1c2VkIHRvIGFjY2VzcyBtZW1vcnkgbWFwcGVkIGRldmljZXMuIE9uIHNvbWUKLSAqIGFyY2hpdGVjdHVyZXMgdGhlIG1lbW9yeSBtYXBwZWQgSU8gc3R1ZmYgbmVlZHMgdG8gYmUgYWNjZXNzZWQKLSAqIGRpZmZlcmVudGx5LiBPbiB0aGUgeDg2IGFyY2hpdGVjdHVyZSwgd2UganVzdCByZWFkL3dyaXRlIHRoZQotICogbWVtb3J5IGxvY2F0aW9uIGRpcmVjdGx5LgotICovCi0KLXN0YXRpYyBpbmxpbmUgX191OCBfX3JlYWRiKGNvbnN0IHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQlyZXR1cm4gKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTggKilhZGRyOwotfQotCi1zdGF0aWMgaW5saW5lIF9fdTE2IF9fcmVhZHcoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKF9fZm9yY2Ugdm9sYXRpbGUgX191MTYgKilhZGRyOwotfQotCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIF9fdTMyIF9fcmVhZGwoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKF9fZm9yY2Ugdm9sYXRpbGUgX191MzIgKilhZGRyOwotfQotCi1zdGF0aWMgaW5saW5lIF9fdTY0IF9fcmVhZHEoY29uc3Qgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCXJldHVybiAqKF9fZm9yY2Ugdm9sYXRpbGUgX191NjQgKilhZGRyOwotfQotCi0jZGVmaW5lIHJlYWRiKHgpIF9fcmVhZGIoeCkKLSNkZWZpbmUgcmVhZHcoeCkgX19yZWFkdyh4KQotI2RlZmluZSByZWFkbCh4KSBfX3JlYWRsKHgpCi0jZGVmaW5lIHJlYWRxKHgpIF9fcmVhZHEoeCkKLSNkZWZpbmUgcmVhZGJfcmVsYXhlZChhKSByZWFkYihhKQotI2RlZmluZSByZWFkd19yZWxheGVkKGEpIHJlYWR3KGEpCi0jZGVmaW5lIHJlYWRsX3JlbGF4ZWQoYSkgcmVhZGwoYSkKLSNkZWZpbmUgcmVhZHFfcmVsYXhlZChhKSByZWFkcShhKQotI2RlZmluZSBfX3Jhd19yZWFkYiByZWFkYgotI2RlZmluZSBfX3Jhd19yZWFkdyByZWFkdwotI2RlZmluZSBfX3Jhd19yZWFkbCByZWFkbAotI2RlZmluZSBfX3Jhd19yZWFkcSByZWFkcQotCi0jZGVmaW5lIG1taW93YigpCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRlbChfX3UzMiBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTMyICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRlcShfX3U2NCBiLCB2b2xhdGlsZSB2b2lkIF9faW9tZW0gKmFkZHIpCi17Ci0JKihfX2ZvcmNlIHZvbGF0aWxlIF9fdTY0ICopYWRkciA9IGI7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRlYihfX3U4IGIsIHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcikKLXsKLQkqKF9fZm9yY2Ugdm9sYXRpbGUgX191OCAqKWFkZHIgPSBiOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgX193cml0ZXcoX191MTYgYiwgdm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQotewotCSooX19mb3JjZSB2b2xhdGlsZSBfX3UxNiAqKWFkZHIgPSBiOwotfQotCi0jZGVmaW5lIHdyaXRlcSh2YWwsIGFkZHIpIF9fd3JpdGVxKCh2YWwpLCAoYWRkcikpCi0jZGVmaW5lIHdyaXRlbCh2YWwsIGFkZHIpIF9fd3JpdGVsKCh2YWwpLCAoYWRkcikpCi0jZGVmaW5lIHdyaXRldyh2YWwsIGFkZHIpIF9fd3JpdGV3KCh2YWwpLCAoYWRkcikpCi0jZGVmaW5lIHdyaXRlYih2YWwsIGFkZHIpIF9fd3JpdGViKCh2YWwpLCAoYWRkcikpCi0jZGVmaW5lIF9fcmF3X3dyaXRlYiB3cml0ZWIKLSNkZWZpbmUgX19yYXdfd3JpdGV3IHdyaXRldwotI2RlZmluZSBfX3Jhd193cml0ZWwgd3JpdGVsCi0jZGVmaW5lIF9fcmF3X3dyaXRlcSB3cml0ZXEKLQogdm9pZCBfX21lbWNweV9mcm9taW8odm9pZCAqLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCk7CiB2b2lkIF9fbWVtY3B5X3RvaW8odW5zaWduZWQgbG9uZywgY29uc3Qgdm9pZCAqLCB1bnNpZ25lZCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmggYi9pbmNsdWRlL2FzbS14ODYvaW9fYXBpYy5oCmluZGV4IGQ1OTNlMTQuLjE0ZjgyYmIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pb19hcGljLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L2lvX2FwaWMuaApAQCAtMTEsNiArMTEsMTUgQEAKICAqIENvcHlyaWdodCAoQykgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCBJbmdvIE1vbG5hcgogICovCiAKKy8qIEkvTyBVbml0IFJlZGlyZWN0aW9uIFRhYmxlICovCisjZGVmaW5lIElPX0FQSUNfUkVESVJfVkVDVE9SX01BU0sJMHgwMDBGRgorI2RlZmluZSBJT19BUElDX1JFRElSX0RFU1RfTE9HSUNBTAkweDAwODAwCisjZGVmaW5lIElPX0FQSUNfUkVESVJfREVTVF9QSFlTSUNBTAkweDAwMDAwCisjZGVmaW5lIElPX0FQSUNfUkVESVJfU0VORF9QRU5ESU5HCSgxIDw8IDEyKQorI2RlZmluZSBJT19BUElDX1JFRElSX1JFTU9URV9JUlIJKDEgPDwgMTQpCisjZGVmaW5lIElPX0FQSUNfUkVESVJfTEVWRUxfVFJJR0dFUgkoMSA8PCAxNSkKKyNkZWZpbmUgSU9fQVBJQ19SRURJUl9NQVNLRUQJCSgxIDw8IDE2KQorCiAvKgogICogVGhlIHN0cnVjdHVyZSBvZiB0aGUgSU8tQVBJQzoKICAqLwpAQCAtMTEyLDIxICsxMjEsMzIgQEAKIAogI2RlZmluZSBNUF9NQVhfSU9BUElDX1BJTiAxMjcKIAotc3RydWN0IG1wX2lvYXBpY19yb3V0aW5nIHsKLQlpbnQgYXBpY19pZDsKLQlpbnQgZ3NpX2Jhc2U7Ci0JaW50IGdzaV9lbmQ7Ci0JREVDTEFSRV9CSVRNQVAocGluX3Byb2dyYW1tZWQsIE1QX01BWF9JT0FQSUNfUElOICsgMSk7CitzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyB7CisJdW5zaWduZWQgbG9uZyBtcF9hcGljYWRkcjsKKwl1bnNpZ25lZCBpbnQgbXBfYXBpY2lkOworCXVuc2lnbmVkIGNoYXIgbXBfdHlwZTsKKwl1bnNpZ25lZCBjaGFyIG1wX2FwaWN2ZXI7CisJdW5zaWduZWQgY2hhciBtcF9mbGFnczsKK307CisKK3N0cnVjdCBtcF9jb25maWdfaW50c3JjIHsKKwl1bnNpZ25lZCBpbnQgbXBfZHN0YXBpYzsKKwl1bnNpZ25lZCBjaGFyIG1wX3R5cGU7CisJdW5zaWduZWQgY2hhciBtcF9pcnF0eXBlOworCXVuc2lnbmVkIHNob3J0IG1wX2lycWZsYWc7CisJdW5zaWduZWQgY2hhciBtcF9zcmNidXM7CisJdW5zaWduZWQgY2hhciBtcF9zcmNidXNpcnE7CisJdW5zaWduZWQgY2hhciBtcF9kc3RpcnE7CiB9OwogCiAvKiBJL08gQVBJQyBlbnRyaWVzICovCi1leHRlcm4gc3RydWN0IG1wY19jb25maWdfaW9hcGljIG1wX2lvYXBpY3NbTUFYX0lPX0FQSUNTXTsKK2V4dGVybiBzdHJ1Y3QgbXBfY29uZmlnX2lvYXBpYyBtcF9pb2FwaWNzW01BWF9JT19BUElDU107CiAKIC8qICMgb2YgTVAgSVJRIHNvdXJjZSBlbnRyaWVzICovCiBleHRlcm4gaW50IG1wX2lycV9lbnRyaWVzOwogCiAvKiBNUCBJUlEgc291cmNlIGVudHJpZXMgKi8KLWV4dGVybiBzdHJ1Y3QgbXBjX2NvbmZpZ19pbnRzcmMgbXBfaXJxc1tNQVhfSVJRX1NPVVJDRVNdOworZXh0ZXJuIHN0cnVjdCBtcF9jb25maWdfaW50c3JjIG1wX2lycXNbTUFYX0lSUV9TT1VSQ0VTXTsKIAogLyogbm9uLTAgaWYgZGVmYXVsdCAodGFibGUtbGVzcykgTVAgY29uZmlndXJhdGlvbiAqLwogZXh0ZXJuIGludCBtcGNfZGVmYXVsdF90eXBlOwpAQCAtMTM3LDYgKzE1Nyw5IEBACiAvKiAxIGlmICJub2FwaWMiIGJvb3Qgb3B0aW9uIHBhc3NlZCAqLwogZXh0ZXJuIGludCBza2lwX2lvYXBpY19zZXR1cDsKIAorLyogMSBpZiB0aGUgdGltZXIgSVJRIHVzZXMgdGhlICc4MjU5QSBWaXJ0dWFsIFdpcmUnIG1vZGUgKi8KK2V4dGVybiBpbnQgdGltZXJfdGhyb3VnaF84MjU5OworCiBzdGF0aWMgaW5saW5lIHZvaWQgZGlzYWJsZV9pb2FwaWNfc2V0dXAodm9pZCkKIHsKIAlza2lwX2lvYXBpY19zZXR1cCA9IDE7CkBAIC0xNjIsNiArMTg1LDggQEAKIAogI2Vsc2UgIC8qICFDT05GSUdfWDg2X0lPX0FQSUMgKi8KICNkZWZpbmUgaW9fYXBpY19hc3NpZ25fcGNpX2lycXMgMAorc3RhdGljIGNvbnN0IGludCB0aW1lcl90aHJvdWdoXzgyNTkgPSAwOworc3RhdGljIGlubGluZSB2b2lkIGlvYXBpY19pbml0X21hcHBpbmdzKHZvaWQpIHsgfQogI2VuZGlmCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lvbW11LmggYi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAppbmRleCAwNzg2MmZkLi4wNjhjOWE0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaApAQCAtMSwyOSArMSwzNCBAQAotI2lmbmRlZiBfQVNNX1g4NjY0X0dBUlRfSAotI2RlZmluZSBfQVNNX1g4NjY0X0dBUlRfSCAxCisjaWZuZGVmIF9BU01fWDg2NjRfSU9NTVVfSAorI2RlZmluZSBfQVNNX1g4NjY0X0lPTU1VX0ggMQogCiBleHRlcm4gdm9pZCBwY2lfaW9tbXVfc2h1dGRvd24odm9pZCk7CiBleHRlcm4gdm9pZCBub19pb21tdV9pbml0KHZvaWQpOwogZXh0ZXJuIGludCBmb3JjZV9pb21tdSwgbm9faW9tbXU7CiBleHRlcm4gaW50IGlvbW11X2RldGVjdGVkOwotI2lmZGVmIENPTkZJR19JT01NVQorCisjaWZkZWYgQ09ORklHX0dBUlRfSU9NTVUKK2V4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZTsKK2V4dGVybiBpbnQgZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkOworZXh0ZXJuIGludCBnYXJ0X2lvbW11X2FwZXJ0dXJlX2Rpc2FibGVkOworCitleHRlcm4gdm9pZCBlYXJseV9nYXJ0X2lvbW11X2NoZWNrKHZvaWQpOwogZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9pbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQgZ2FydF9pb21tdV9zaHV0ZG93bih2b2lkKTsKIGV4dGVybiB2b2lkIF9faW5pdCBnYXJ0X3BhcnNlX29wdGlvbnMoY2hhciAqKTsKLWV4dGVybiB2b2lkIGlvbW11X2hvbGVfaW5pdCh2b2lkKTsKLWV4dGVybiBpbnQgZmFsbGJhY2tfYXBlcl9vcmRlcjsKLWV4dGVybiBpbnQgZmFsbGJhY2tfYXBlcl9mb3JjZTsKLWV4dGVybiBpbnQgaW9tbXVfYXBlcnR1cmU7Ci1leHRlcm4gaW50IGlvbW11X2FwZXJ0dXJlX2FsbG93ZWQ7Ci1leHRlcm4gaW50IGlvbW11X2FwZXJ0dXJlX2Rpc2FibGVkOwotZXh0ZXJuIGludCBmaXhfYXBlcnR1cmU7CitleHRlcm4gdm9pZCBnYXJ0X2lvbW11X2hvbGVfaW5pdCh2b2lkKTsKKwogI2Vsc2UKLSNkZWZpbmUgaW9tbXVfYXBlcnR1cmUgMAotI2RlZmluZSBpb21tdV9hcGVydHVyZV9hbGxvd2VkIDAKKyNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZSAgICAgICAgICAgIDAKKyNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZV9hbGxvd2VkICAgIDAKKyNkZWZpbmUgZ2FydF9pb21tdV9hcGVydHVyZV9kaXNhYmxlZCAgIDEKKworc3RhdGljIGlubGluZSB2b2lkIGVhcmx5X2dhcnRfaW9tbXVfY2hlY2sodm9pZCkKK3sKK30KIAogc3RhdGljIGlubGluZSB2b2lkIGdhcnRfaW9tbXVfc2h1dGRvd24odm9pZCkKIHsKIH0KLQogI2VuZGlmCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lwaS5oIGIvaW5jbHVkZS9hc20teDg2L2lwaS5oCmluZGV4IGVjYzgwZjMuLjE5NmQ2M2MgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcGkuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaXBpLmgKQEAgLTIwLDYgKzIwLDcgQEAKIAogI2luY2x1ZGUgPGFzbS9od19pcnEuaD4KICNpbmNsdWRlIDxhc20vYXBpYy5oPgorI2luY2x1ZGUgPGFzbS9zbXAuaD4KIAogLyoKICAqIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGRlYWwgd2l0aCBzZW5kaW5nIElQSXMgYmV0d2VlbiBDUFVzLgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycS5oIGIvaW5jbHVkZS9hc20teDg2L2lycS5oCmluZGV4IDdiYTkwNTQuLjFhMjkyNTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKQEAgLTEsNSArMSw1MCBAQAotI2lmZGVmIENPTkZJR19YODZfMzIKLSMgaW5jbHVkZSAiaXJxXzMyLmgiCi0jZWxzZQotIyBpbmNsdWRlICJpcnFfNjQuaCIKKyNpZm5kZWYgX0FTTV9JUlFfSAorI2RlZmluZSBfQVNNX0lSUV9ICisvKgorICoJKEMpIDE5OTIsIDE5OTMgTGludXMgVG9ydmFsZHMsIChDKSAxOTk3IEluZ28gTW9sbmFyCisgKgorICoJSVJRL0lQSSBjaGFuZ2VzIHRha2VuIGZyb20gd29yayBieSBUaG9tYXMgUmFka2UKKyAqCTx0b21zb2Z0QGluZm9ybWF0aWsudHUtY2hlbW5pdHouZGU+CisgKi8KKworI2luY2x1ZGUgPGFzbS9hcGljZGVmLmg+CisjaW5jbHVkZSA8YXNtL2lycV92ZWN0b3JzLmg+CisKK3N0YXRpYyBpbmxpbmUgaW50IGlycV9jYW5vbmljYWxpemUoaW50IGlycSkKK3sKKwlyZXR1cm4gKChpcnEgPT0gMikgPyA5IDogaXJxKTsKK30KKworI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQworIyBkZWZpbmUgQVJDSF9IQVNfTk1JX1dBVENIRE9HCiAjZW5kaWYKKworI2lmZGVmIENPTkZJR180S1NUQUNLUworICBleHRlcm4gdm9pZCBpcnFfY3R4X2luaXQoaW50IGNwdSk7CisgIGV4dGVybiB2b2lkIGlycV9jdHhfZXhpdChpbnQgY3B1KTsKKyMgZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUQorI2Vsc2UKKyMgZGVmaW5lIGlycV9jdHhfaW5pdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGlycV9jdHhfZXhpdChjcHUpIGRvIHsgfSB3aGlsZSAoMCkKKyMgaWZkZWYgQ09ORklHX1g4Nl82NAorIyAgZGVmaW5lIF9fQVJDSF9IQVNfRE9fU09GVElSUQorIyBlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSVJRQkFMQU5DRQorZXh0ZXJuIGludCBpcnFiYWxhbmNlX2Rpc2FibGUoY2hhciAqc3RyKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCisjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgorZXh0ZXJuIHZvaWQgZml4dXBfaXJxcyhjcHVtYXNrX3QgbWFwKTsKKyNlbmRpZgorCitleHRlcm4gdW5zaWduZWQgaW50IGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7CitleHRlcm4gdm9pZCBpbml0X0lSUSh2b2lkKTsKK2V4dGVybiB2b2lkIG5hdGl2ZV9pbml0X0lSUSh2b2lkKTsKKworLyogSW50ZXJydXB0IHZlY3RvciBtYW5hZ2VtZW50ICovCitleHRlcm4gREVDTEFSRV9CSVRNQVAodXNlZF92ZWN0b3JzLCBOUl9WRUNUT1JTKTsKKworI2VuZGlmIC8qIF9BU01fSVJRX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9pcnFfMzIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGI3OWYzMS4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaXJxXzMyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi0jaWZuZGVmIF9BU01fSVJRX0gKLSNkZWZpbmUgX0FTTV9JUlFfSAotCi0vKgotICoJbGludXgvaW5jbHVkZS9hc20vaXJxLmgKLSAqCi0gKgkoQykgMTk5MiwgMTk5MyBMaW51cyBUb3J2YWxkcywgKEMpIDE5OTcgSW5nbyBNb2xuYXIKLSAqCi0gKglJUlEvSVBJIGNoYW5nZXMgdGFrZW4gZnJvbSB3b3JrIGJ5IFRob21hcyBSYWRrZQotICoJPHRvbXNvZnRAaW5mb3JtYXRpay50dS1jaGVtbml0ei5kZT4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KLS8qIGluY2x1ZGUgY29tZXMgZnJvbSBtYWNoaW5lIHNwZWNpZmljIGRpcmVjdG9yeSAqLwotI2luY2x1ZGUgImlycV92ZWN0b3JzLmgiCi0jaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGlycV9jYW5vbmljYWxpemUoaW50IGlycSkKLXsKLQlyZXR1cm4gKChpcnEgPT0gMikgPyA5IDogaXJxKTsKLX0KLQotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotIyBkZWZpbmUgQVJDSF9IQVNfTk1JX1dBVENIRE9HCQkvKiBTZWUgaW5jbHVkZS9saW51eC9ubWkuaCAqLwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfNEtTVEFDS1MKLSAgZXh0ZXJuIHZvaWQgaXJxX2N0eF9pbml0KGludCBjcHUpOwotICBleHRlcm4gdm9pZCBpcnFfY3R4X2V4aXQoaW50IGNwdSk7Ci0jIGRlZmluZSBfX0FSQ0hfSEFTX0RPX1NPRlRJUlEKLSNlbHNlCi0jIGRlZmluZSBpcnFfY3R4X2luaXQoY3B1KSBkbyB7IH0gd2hpbGUgKDApCi0jIGRlZmluZSBpcnFfY3R4X2V4aXQoY3B1KSBkbyB7IH0gd2hpbGUgKDApCi0jZW5kaWYKLQotI2lmZGVmIENPTkZJR19JUlFCQUxBTkNFCi1leHRlcm4gaW50IGlycWJhbGFuY2VfZGlzYWJsZShjaGFyICpzdHIpOwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKLWV4dGVybiB2b2lkIGZpeHVwX2lycXMoY3B1bWFza190IG1hcCk7Ci0jZW5kaWYKLQotdW5zaWduZWQgaW50IGRvX0lSUShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Ci12b2lkIGluaXRfSVJRKHZvaWQpOwotdm9pZCBfX2luaXQgbmF0aXZlX2luaXRfSVJRKHZvaWQpOwotCi0vKiBJbnRlcnJ1cHQgdmVjdG9yIG1hbmFnZW1lbnQgKi8KLWV4dGVybiBERUNMQVJFX0JJVE1BUCh1c2VkX3ZlY3RvcnMsIE5SX1ZFQ1RPUlMpOwotCi0jZW5kaWYgLyogX0FTTV9JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycV82NC5oIGIvaW5jbHVkZS9hc20teDg2L2lycV82NC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODNkMzVhLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9pcnFfNjQuaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLSNpZm5kZWYgX0FTTV9JUlFfSAotI2RlZmluZSBfQVNNX0lSUV9ICi0KLS8qCi0gKglsaW51eC9pbmNsdWRlL2FzbS9pcnEuaAotICoKLSAqCShDKSAxOTkyLCAxOTkzIExpbnVzIFRvcnZhbGRzLCAoQykgMTk5NyBJbmdvIE1vbG5hcgotICoKLSAqCUlSUS9JUEkgY2hhbmdlcyB0YWtlbiBmcm9tIHdvcmsgYnkgVGhvbWFzIFJhZGtlCi0gKgk8dG9tc29mdEBpbmZvcm1hdGlrLnR1LWNoZW1uaXR6LmRlPgotICovCi0KLSNkZWZpbmUgVElNRVJfSVJRIDAKLQotLyoKLSAqIDE2IDgyNTlBIElSUSdzLCAyMDggcG90ZW50aWFsIEFQSUMgaW50ZXJydXB0IHNvdXJjZXMuCi0gKiBSaWdodCBub3cgdGhlIEFQSUMgaXMgbW9zdGx5IG9ubHkgdXNlZCBmb3IgU01QLgotICogMjU2IHZlY3RvcnMgaXMgYW4gYXJjaGl0ZWN0dXJhbCBsaW1pdC4gKHdlIGNhbiBoYXZlCi0gKiBtb3JlIHRoYW4gMjU2IGRldmljZXMgdGhlb3JldGljYWxseSwgYnV0IHRoZXkgd2lsbAotICogaGF2ZSB0byB1c2Ugc2hhcmVkIGludGVycnVwdHMpCi0gKiBTaW5jZSB2ZWN0b3JzIDB4MDAtMHgxZiBhcmUgdXNlZC9yZXNlcnZlZCBmb3IgdGhlIENQVSwKLSAqIHRoZSB1c2FibGUgdmVjdG9yIHNwYWNlIGlzIDB4MjAtMHhmZiAoMjI0IHZlY3RvcnMpCi0gKi8KLQotLyoKLSAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB2ZWN0b3JzIHN1cHBvcnRlZCBieSB4ODZfNjQgcHJvY2Vzc29ycwotICogaXMgbGltaXRlZCB0byAyNTYuIEZvciBwcm9jZXNzb3JzIG90aGVyIHRoYW4geDg2XzY0LCBOUl9WRUNUT1JTCi0gKiBzaG91bGQgYmUgY2hhbmdlZCBhY2NvcmRpbmdseS4KLSAqLwotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotCi0jZGVmaW5lIEZJUlNUX1NZU1RFTV9WRUNUT1IJMHhlZiAgIC8qIGR1cGxpY2F0ZWQgaW4gaHdfaXJxLmggKi8KLQotI2RlZmluZSBOUl9JUlFTIChOUl9WRUNUT1JTICsgKDMyICogTlJfQ1BVUykpCi0jZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLQotc3RhdGljIGlubGluZSBpbnQgaXJxX2Nhbm9uaWNhbGl6ZShpbnQgaXJxKQotewotCXJldHVybiAoKGlycSA9PSAyKSA/IDkgOiBpcnEpOwotfQotCi0jZGVmaW5lIEFSQ0hfSEFTX05NSV9XQVRDSERPRwkJLyogU2VlIGluY2x1ZGUvbGludXgvbm1pLmggKi8KLQotI2lmZGVmIENPTkZJR19IT1RQTFVHX0NQVQotI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KLWV4dGVybiB2b2lkIGZpeHVwX2lycXMoY3B1bWFza190IG1hcCk7Ci0jZW5kaWYKLQotI2RlZmluZSBfX0FSQ0hfSEFTX0RPX1NPRlRJUlEgMQotCi0jZW5kaWYgLyogX0FTTV9JUlFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycV92ZWN0b3JzLmggYi9pbmNsdWRlL2FzbS14ODYvaXJxX3ZlY3RvcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGIxZDFmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L2lycV92ZWN0b3JzLmgKQEAgLTAsMCArMSwxNzMgQEAKKyNpZm5kZWYgX0FTTV9JUlFfVkVDVE9SU19ICisjZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfSAorCisjaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgorCisjZGVmaW5lIE5NSV9WRUNUT1IJCTB4MDIKKworLyoKKyAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKKyAqIGF0IDB4MjA6CisgKi8KKyNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKKworI2lmZGVmIENPTkZJR19YODZfMzIKKyMgZGVmaW5lIFNZU0NBTExfVkVDVE9SCQkweDgwCisjZWxzZQorIyBkZWZpbmUgSUEzMl9TWVNDQUxMX1ZFQ1RPUgkweDgwCisjZW5kaWYKKworLyoKKyAqIFJlc2VydmUgdGhlIGxvd2VzdCB1c2FibGUgcHJpb3JpdHkgbGV2ZWwgMHgyMCAtIDB4MmYgZm9yIHRyaWdnZXJpbmcKKyAqIGNsZWFudXAgYWZ0ZXIgaXJxIG1pZ3JhdGlvbiBvbiA2NCBiaXQuCisgKi8KKyNkZWZpbmUgSVJRX01PVkVfQ0xFQU5VUF9WRUNUT1IJRklSU1RfRVhURVJOQUxfVkVDVE9SCisKKy8qCisgKiBWZWN0b3JzIDB4MjAtMHgyZiBhcmUgdXNlZCBmb3IgSVNBIGludGVycnVwdHMgb24gMzIgYml0LgorICogVmVjdG9ycyAweDMwLTB4M2YgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzIG9uIDY0IGJpdC4KKyAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgSVJRMF9WRUNUT1IJCShGSVJTVF9FWFRFUk5BTF9WRUNUT1IpCisjZWxzZQorI2RlZmluZSBJUlEwX1ZFQ1RPUgkJKEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUiArIDB4MTApCisjZW5kaWYKKyNkZWZpbmUgSVJRMV9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDEpCisjZGVmaW5lIElSUTJfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAyKQorI2RlZmluZSBJUlEzX1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgMykKKyNkZWZpbmUgSVJRNF9WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDQpCisjZGVmaW5lIElSUTVfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA1KQorI2RlZmluZSBJUlE2X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgNikKKyNkZWZpbmUgSVJRN19WRUNUT1IJCShJUlEwX1ZFQ1RPUiArIDcpCisjZGVmaW5lIElSUThfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyA4KQorI2RlZmluZSBJUlE5X1ZFQ1RPUgkJKElSUTBfVkVDVE9SICsgOSkKKyNkZWZpbmUgSVJRMTBfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMCkKKyNkZWZpbmUgSVJRMTFfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMSkKKyNkZWZpbmUgSVJRMTJfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMikKKyNkZWZpbmUgSVJRMTNfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxMykKKyNkZWZpbmUgSVJRMTRfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxNCkKKyNkZWZpbmUgSVJRMTVfVkVDVE9SCQkoSVJRMF9WRUNUT1IgKyAxNSkKKworLyoKKyAqIFNwZWNpYWwgSVJRIHZlY3RvcnMgdXNlZCBieSB0aGUgU01QIGFyY2hpdGVjdHVyZSwgMHhmMC0weGZmCisgKgorICogIHNvbWUgb2YgdGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSAncmFyZScsIHRoZXkgYXJlIG1lcmdlZAorICogIGludG8gYSBzaW5nbGUgdmVjdG9yIChDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikgdG8gc2F2ZSB2ZWN0b3Igc3BhY2UuCisgKiAgVExCLCByZXNjaGVkdWxlIGFuZCBsb2NhbCBBUElDIHZlY3RvcnMgYXJlIHBlcmZvcm1hbmNlLWNyaXRpY2FsLgorICoKKyAqICBWZWN0b3JzIDB4ZjAtMHhmYSBhcmUgZnJlZSAocmVzZXJ2ZWQgZm9yIGZ1dHVyZSBMaW51eCB1c2UpLgorICovCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorCisjIGRlZmluZSBTUFVSSU9VU19BUElDX1ZFQ1RPUgkJMHhmZgorIyBkZWZpbmUgRVJST1JfQVBJQ19WRUNUT1IJCTB4ZmUKKyMgZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUgkJMHhmZAorIyBkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJCTB4ZmMKKyMgZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCQkweGZiCisjIGRlZmluZSBDQUxMX0ZVTkNUSU9OX1NJTkdMRV9WRUNUT1IJMHhmYQorIyBkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkJMHhmMAorCisjZWxzZQorCisjZGVmaW5lIFNQVVJJT1VTX0FQSUNfVkVDVE9SCQkweGZmCisjZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCQkweGZlCisjZGVmaW5lIFJFU0NIRURVTEVfVkVDVE9SCQkweGZkCisjZGVmaW5lIENBTExfRlVOQ1RJT05fVkVDVE9SCQkweGZjCisjZGVmaW5lIENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUgkweGZiCisjZGVmaW5lIFRIRVJNQUxfQVBJQ19WRUNUT1IJCTB4ZmEKKyNkZWZpbmUgVEhSRVNIT0xEX0FQSUNfVkVDVE9SCQkweGY5CisjZGVmaW5lIElOVkFMSURBVEVfVExCX1ZFQ1RPUl9FTkQJMHhmNworI2RlZmluZSBJTlZBTElEQVRFX1RMQl9WRUNUT1JfU1RBUlQJMHhmMAkvKiBmMC1mNyB1c2VkIGZvciBUTEIgZmx1c2ggKi8KKworI2RlZmluZSBOVU1fSU5WQUxJREFURV9UTEJfVkVDVE9SUwk4CisKKyNlbmRpZgorCisvKgorICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAorICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKKyAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCisgKi8KKyNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKKworLyoKKyAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpIHdlCisgKiBzdGFydCBhdCAweDMxKDB4NDEpIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQorICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjIGRlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCTB4MzEKKyNlbHNlCisjIGRlZmluZSBGSVJTVF9ERVZJQ0VfVkVDVE9SCShJUlExNV9WRUNUT1IgKyAyKQorI2VuZGlmCisKKyNkZWZpbmUgTlJfVkVDVE9SUwkJMjU2CisKKyNkZWZpbmUgRlBVX0lSUQkJCTEzCisKKyNkZWZpbmUJRklSU1RfVk04Nl9JUlEJCTMKKyNkZWZpbmUgTEFTVF9WTTg2X0lSUQkJMTUKKyNkZWZpbmUgaW52YWxpZF92bTg2X2lycShpcnEpCSgoaXJxKSA8IDMgfHwgKGlycSkgPiAxNSkKKworI2lmICFkZWZpbmVkKENPTkZJR19YODZfVk9ZQUdFUikKKworIyBpZiBkZWZpbmVkKENPTkZJR19YODZfSU9fQVBJQykgfHwgZGVmaW5lZChDT05GSUdfUEFSQVZJUlQpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9WSVNXUykKKworIyAgZGVmaW5lIE5SX0lSUVMJCTIyNAorCisjICBpZiAoMjI0ID49IDMyICogTlJfQ1BVUykKKyMgICBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJTlJfSVJRUworIyAgZWxzZQorIyAgIGRlZmluZSBOUl9JUlFfVkVDVE9SUwkoMzIgKiBOUl9DUFVTKQorIyAgZW5kaWYKKworIyBlbHNlIC8qIElPX0FQSUMgfHwgUEFSQVZJUlQgKi8KKworIyAgZGVmaW5lIE5SX0lSUVMJCTE2CisjICBkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMJTlJfSVJRUworCisjIGVuZGlmCisKKyNlbHNlIC8qICFWSVNXUyAmJiAhVk9ZQUdFUiAqLworCisjIGRlZmluZSBOUl9JUlFTCQkyMjQKKyMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTCQlOUl9JUlFTCisKKyNlbmRpZiAvKiBWSVNXUyAqLworCisvKiBWb3lhZ2VyIHNwZWNpZmljIGRlZmluZXMgKi8KKy8qIFRoZXNlIGRlZmluZSB0aGUgQ1BJcyB3ZSB1c2UgaW4gbGludXggKi8KKyNkZWZpbmUgVklDX0NQSV9MRVZFTDAJCQkwCisjZGVmaW5lIFZJQ19DUElfTEVWRUwxCQkJMQorLyogbm93IHRoZSBmYWtlIENQSXMgKi8KKyNkZWZpbmUgVklDX1RJTUVSX0NQSQkJCTIKKyNkZWZpbmUgVklDX0lOVkFMSURBVEVfQ1BJCQkzCisjZGVmaW5lIFZJQ19SRVNDSEVEVUxFX0NQSQkJNAorI2RlZmluZSBWSUNfRU5BQkxFX0lSUV9DUEkJCTUKKyNkZWZpbmUgVklDX0NBTExfRlVOQ1RJT05fQ1BJCQk2CisjZGVmaW5lIFZJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkJNworCisvKiBOb3cgdGhlIFFJQyBDUElzOiAgU2luY2Ugd2UgZG9uJ3QgbmVlZCB0aGUgdHdvIGluaXRpYWwgbGV2ZWxzLAorICogdGhlc2UgYXJlIDIgbGVzcyB0aGFuIHRoZSBWSUMgQ1BJcyAqLworI2RlZmluZSBRSUNfQ1BJX09GRlNFVAkJCTEKKyNkZWZpbmUgUUlDX1RJTUVSX0NQSQkJCShWSUNfVElNRVJfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19JTlZBTElEQVRFX0NQSQkJKFZJQ19JTlZBTElEQVRFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQorI2RlZmluZSBRSUNfUkVTQ0hFRFVMRV9DUEkJCShWSUNfUkVTQ0hFRFVMRV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKKyNkZWZpbmUgUUlDX0VOQUJMRV9JUlFfQ1BJCQkoVklDX0VOQUJMRV9JUlFfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisjZGVmaW5lIFFJQ19DQUxMX0ZVTkNUSU9OX0NQSQkJKFZJQ19DQUxMX0ZVTkNUSU9OX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQorI2RlZmluZSBRSUNfQ0FMTF9GVU5DVElPTl9TSU5HTEVfQ1BJCShWSUNfQ0FMTF9GVU5DVElPTl9TSU5HTEVfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCisKKyNkZWZpbmUgVklDX1NUQVJUX0ZBS0VfQ1BJCQlWSUNfVElNRVJfQ1BJCisjZGVmaW5lIFZJQ19FTkRfRkFLRV9DUEkJCVZJQ19DQUxMX0ZVTkNUSU9OX1NJTkdMRV9DUEkKKworLyogdGhpcyBpcyB0aGUgU1lTX0lOVCBDUEkuICovCisjZGVmaW5lIFZJQ19TWVNfSU5UCQkJOAorI2RlZmluZSBWSUNfQ01OX0lOVAkJCTE1CisKKy8qIFRoaXMgaXMgdGhlIGJvb3QgQ1BJIGZvciBhbHRlcm5hdGUgcHJvY2Vzc29ycy4gIEl0IGdldHMgb3ZlcndyaXR0ZW4KKyAqIGJ5IHRoZSBhYm92ZSBvbmNlIHRoZSBzeXN0ZW0gaGFzIGFjdGl2YXRlZCBhbGwgYXZhaWxhYmxlIHByb2Nlc3NvcnMgKi8KKyNkZWZpbmUgVklDX0NQVV9CT09UX0NQSQkJVklDX0NQSV9MRVZFTDAKKyNkZWZpbmUgVklDX0NQVV9CT09UX0VSUkFUQV9DUEkJCShWSUNfQ1BJX0xFVkVMMCArIDgpCisKKworI2VuZGlmIC8qIF9BU01fSVJRX1ZFQ1RPUlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L2lycWZsYWdzLmggYi9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaAppbmRleCBjMjQyNTI3Li40MjRhY2I0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvaXJxZmxhZ3MuaApAQCAtMTExLDE0ICsxMTEsMzUgQEAKICNkZWZpbmUgRElTQUJMRV9JTlRFUlJVUFRTKHgpCWNsaQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAorI2RlZmluZSBTV0FQR1MJc3dhcGdzCisvKgorICogQ3VycmVudGx5IHBhcmF2aXJ0IGNhbid0IGhhbmRsZSBzd2FwZ3MgbmljZWx5IHdoZW4gd2UKKyAqIGRvbid0IGhhdmUgYSBzdGFjayB3ZSBjYW4gcmVseSBvbiAoc3VjaCBhcyBhIHVzZXIgc3BhY2UKKyAqIHN0YWNrKS4gIFNvIHdlIGVpdGhlciBmaW5kIGEgd2F5IGFyb3VuZCB0aGVzZSBvciBqdXN0IGZhdWx0CisgKiBhbmQgZW11bGF0ZSBpZiBhIGd1ZXN0IHRyaWVzIHRvIGNhbGwgc3dhcGdzIGRpcmVjdGx5LgorICoKKyAqIEVpdGhlciB3YXksIHRoaXMgaXMgYSBnb29kIHdheSB0byBkb2N1bWVudCB0aGF0IHdlIGRvbid0CisgKiBoYXZlIGEgcmVsaWFibGUgc3RhY2suIHg4Nl82NCBvbmx5LgorICovCisjZGVmaW5lIFNXQVBHU19VTlNBRkVfU1RBQ0sJc3dhcGdzCisKKyNkZWZpbmUgUEFSQVZJUlRfQURKVVNUX0VYQ0VQVElPTl9GUkFNRQkvKiAgKi8KKwogI2RlZmluZSBJTlRFUlJVUFRfUkVUVVJOCWlyZXRxCi0jZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCQkJXAotCQkJbW92cQklZ3M6cGRhX29sZHJzcCwgJXJzcDsJXAotCQkJc3dhcGdzOwkJCQlcCi0JCQlzeXNyZXRxOworI2RlZmluZSBVU0VSR1NfU1lTUkVUNjQJCQkJXAorCXN3YXBnczsJCQkJCVwKKwlzeXNyZXRxOworI2RlZmluZSBVU0VSR1NfU1lTUkVUMzIJCQkJXAorCXN3YXBnczsJCQkJCVwKKwlzeXNyZXRsCisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQzMgkJXAorCXN3YXBnczsJCQkJCVwKKwlzdGk7CQkJCQlcCisJc3lzZXhpdAorCiAjZWxzZQogI2RlZmluZSBJTlRFUlJVUFRfUkVUVVJOCQlpcmV0Ci0jZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0NBTExfUkVUCXN0aTsgc3lzZXhpdAorI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUCXN0aTsgc3lzZXhpdAogI2RlZmluZSBHRVRfQ1IwX0lOVE9fRUFYCQltb3ZsICVjcjAsICVlYXgKICNlbmRpZgogCkBAIC0xNjksMTggKzE5MCw2IEBACiAjZWxzZQogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAotLyoKLSAqIEN1cnJlbnRseSBwYXJhdmlydCBjYW4ndCBoYW5kbGUgc3dhcGdzIG5pY2VseSB3aGVuIHdlCi0gKiBkb24ndCBoYXZlIGEgc3RhY2sgd2UgY2FuIHJlbHkgb24gKHN1Y2ggYXMgYSB1c2VyIHNwYWNlCi0gKiBzdGFjaykuICBTbyB3ZSBlaXRoZXIgZmluZCBhIHdheSBhcm91bmQgdGhlc2Ugb3IganVzdCBmYXVsdAotICogYW5kIGVtdWxhdGUgaWYgYSBndWVzdCB0cmllcyB0byBjYWxsIHN3YXBncyBkaXJlY3RseS4KLSAqCi0gKiBFaXRoZXIgd2F5LCB0aGlzIGlzIGEgZ29vZCB3YXkgdG8gZG9jdW1lbnQgdGhhdCB3ZSBkb24ndAotICogaGF2ZSBhIHJlbGlhYmxlIHN0YWNrLiB4ODZfNjQgb25seS4KLSAqLwotI2RlZmluZSBTV0FQR1NfVU5TQUZFX1NUQUNLCXN3YXBncwotI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT04JCWNhbGwgdHJhY2VfaGFyZGlycXNfb25fdGh1bmsKLSNkZWZpbmUgQVJDSF9UUkFDRV9JUlFTX09GRgkJY2FsbCB0cmFjZV9oYXJkaXJxc19vZmZfdGh1bmsKICNkZWZpbmUgQVJDSF9MT0NLREVQX1NZU19FWElUCQljYWxsIGxvY2tkZXBfc3lzX2V4aXRfdGh1bmsKICNkZWZpbmUgQVJDSF9MT0NLREVQX1NZU19FWElUX0lSUQlcCiAJVFJBQ0VfSVJRU19PTjsgXApAQCAtMTkyLDI0ICsyMDEsNiBAQAogCVRSQUNFX0lSUVNfT0ZGOwogCiAjZWxzZQotI2RlZmluZSBBUkNIX1RSQUNFX0lSUVNfT04JCQlcCi0JcHVzaGwgJWVheDsJCQkJXAotCXB1c2hsICVlY3g7CQkJCVwKLQlwdXNobCAlZWR4OwkJCQlcCi0JY2FsbCB0cmFjZV9oYXJkaXJxc19vbjsJCQlcCi0JcG9wbCAlZWR4OwkJCQlcCi0JcG9wbCAlZWN4OwkJCQlcCi0JcG9wbCAlZWF4OwotCi0jZGVmaW5lIEFSQ0hfVFJBQ0VfSVJRU19PRkYJCQlcCi0JcHVzaGwgJWVheDsJCQkJXAotCXB1c2hsICVlY3g7CQkJCVwKLQlwdXNobCAlZWR4OwkJCQlcCi0JY2FsbCB0cmFjZV9oYXJkaXJxc19vZmY7CQlcCi0JcG9wbCAlZWR4OwkJCQlcCi0JcG9wbCAlZWN4OwkJCQlcCi0JcG9wbCAlZWF4OwotCiAjZGVmaW5lIEFSQ0hfTE9DS0RFUF9TWVNfRVhJVAkJCVwKIAlwdXNobCAlZWF4OwkJCQlcCiAJcHVzaGwgJWVjeDsJCQkJXApAQCAtMjIzLDggKzIxNCw4IEBACiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotIyAgZGVmaW5lIFRSQUNFX0lSUVNfT04JCUFSQ0hfVFJBQ0VfSVJRU19PTgotIyAgZGVmaW5lIFRSQUNFX0lSUVNfT0ZGCUFSQ0hfVFJBQ0VfSVJRU19PRkYKKyMgIGRlZmluZSBUUkFDRV9JUlFTX09OCQljYWxsIHRyYWNlX2hhcmRpcnFzX29uX3RodW5rOworIyAgZGVmaW5lIFRSQUNFX0lSUVNfT0ZGCWNhbGwgdHJhY2VfaGFyZGlycXNfb2ZmX3RodW5rOwogI2Vsc2UKICMgIGRlZmluZSBUUkFDRV9JUlFTX09OCiAjICBkZWZpbmUgVFJBQ0VfSVJRU19PRkYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWJpZ3NtcC9tYWNoX2FwaWMuaAppbmRleCA4MzI3OTA3Li4wMTdjOGMxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9hcGljLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfYXBpYy5oCkBAIC04MSw3ICs4MSw3IEBACiAKIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNpZF90b19ub2RlKGludCBsb2dpY2FsX2FwaWNpZCkKIHsKLQlyZXR1cm4gKDApOworCXJldHVybiBhcGljaWRfMl9ub2RlW2hhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpXTsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgY3B1X3ByZXNlbnRfdG9fYXBpY2lkKGludCBtcHNfY3B1KQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtYmlnc21wL21hY2hfbXBzcGVjLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9tcHNwZWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmI1ZGFkYy4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1iaWdzbXAvbWFjaF9tcHNwZWMuaAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX01QU1BFQ19ICi0jZGVmaW5lIF9fQVNNX01BQ0hfTVBTUEVDX0gKLQotI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgMjU2Ci0KLSNkZWZpbmUgTUFYX01QX0JVU1NFUyAzMgotCi0jZW5kaWYgLyogX19BU01fTUFDSF9NUFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9lbnRyeV9hcmNoLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaAppbmRleCBiYzg2MTQ2Li45MjgzYjYwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaApAQCAtMTMsNiArMTMsNyBAQAogQlVJTERfSU5URVJSVVBUKHJlc2NoZWR1bGVfaW50ZXJydXB0LFJFU0NIRURVTEVfVkVDVE9SKQogQlVJTERfSU5URVJSVVBUKGludmFsaWRhdGVfaW50ZXJydXB0LElOVkFMSURBVEVfVExCX1ZFQ1RPUikKIEJVSUxEX0lOVEVSUlVQVChjYWxsX2Z1bmN0aW9uX2ludGVycnVwdCxDQUxMX0ZVTkNUSU9OX1ZFQ1RPUikKK0JVSUxEX0lOVEVSUlVQVChjYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQsQ0FMTF9GVU5DVElPTl9TSU5HTEVfVkVDVE9SKQogI2VuZGlmCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MWM2M2MuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9pcnFfdmVjdG9ycy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotLyoKLSAqIFRoaXMgZmlsZSBzaG91bGQgY29udGFpbiAjZGVmaW5lcyBmb3IgYWxsIG9mIHRoZSBpbnRlcnJ1cHQgdmVjdG9yCi0gKiBudW1iZXJzIHVzZWQgYnkgdGhpcyBhcmNoaXRlY3R1cmUuCi0gKgotICogSW4gYWRkaXRpb24sIHRoZXJlIGFyZSBzb21lIHN0YW5kYXJkIGRlZmluZXM6Ci0gKgotICoJRklSU1RfRVhURVJOQUxfVkVDVE9SOgotICoJCVRoZSBmaXJzdCBmcmVlIHBsYWNlIGZvciBleHRlcm5hbCBpbnRlcnJ1cHRzCi0gKgotICoJU1lTQ0FMTF9WRUNUT1I6Ci0gKgkJVGhlIElSUSB2ZWN0b3IgYSBzeXNjYWxsIG1ha2VzIHRoZSB1c2VyIHRvIGtlcm5lbCB0cmFuc2l0aW9uCi0gKgkJdW5kZXIuCi0gKgotICoJVElNRVJfSVJROgotICoJCVRoZSBJUlEgbnVtYmVyIHRoZSB0aW1lciBpbnRlcnJ1cHQgY29tZXMgaW4gYXQuCi0gKgotICoJTlJfSVJRUzoKLSAqCQlUaGUgdG90YWwgbnVtYmVyIG9mIGludGVycnVwdCB2ZWN0b3JzIChpbmNsdWRpbmcgYWxsIHRoZQotICoJCWFyY2hpdGVjdHVyZSBzcGVjaWZpYyBpbnRlcnJ1cHRzKSBuZWVkZWQuCi0gKgotICovCQkJCi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qCi0gKiBTcGVjaWFsIElSUSB2ZWN0b3JzIHVzZWQgYnkgdGhlIFNNUCBhcmNoaXRlY3R1cmUsIDB4ZjAtMHhmZgotICoKLSAqICBzb21lIG9mIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyBhcmUgJ3JhcmUnLCB0aGV5IGFyZSBtZXJnZWQKLSAqICBpbnRvIGEgc2luZ2xlIHZlY3RvciAoQ0FMTF9GVU5DVElPTl9WRUNUT1IpIHRvIHNhdmUgdmVjdG9yIHNwYWNlLgotICogIFRMQiwgcmVzY2hlZHVsZSBhbmQgbG9jYWwgQVBJQyB2ZWN0b3JzIGFyZSBwZXJmb3JtYW5jZS1jcml0aWNhbC4KLSAqCi0gKiAgVmVjdG9ycyAweGYwLTB4ZmEgYXJlIGZyZWUgKHJlc2VydmVkIGZvciBmdXR1cmUgTGludXggdXNlKS4KLSAqLwotI2RlZmluZSBTUFVSSU9VU19BUElDX1ZFQ1RPUgkweGZmCi0jZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCTB4ZmUKLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SCTB4ZmQKLSNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJMHhmYwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUgkweGZiCi0KLSNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkweGYwCi0vKgotICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAotICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKLSAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCi0gKi8KLSNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKLQotLyoKLSAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpCi0gKiB3ZSBzdGFydCBhdCAweDMxIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQotICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCi0gKi8KLSNkZWZpbmUgRklSU1RfREVWSUNFX1ZFQ1RPUgkweDMxCi0jZGVmaW5lIEZJUlNUX1NZU1RFTV9WRUNUT1IJMHhlZgotCi0jZGVmaW5lIFRJTUVSX0lSUSAwCi0KLS8qCi0gKiAxNiA4MjU5QSBJUlEncywgMjA4IHBvdGVudGlhbCBBUElDIGludGVycnVwdCBzb3VyY2VzLgotICogUmlnaHQgbm93IHRoZSBBUElDIGlzIG1vc3RseSBvbmx5IHVzZWQgZm9yIFNNUC4KLSAqIDI1NiB2ZWN0b3JzIGlzIGFuIGFyY2hpdGVjdHVyYWwgbGltaXQuICh3ZSBjYW4gaGF2ZQotICogbW9yZSB0aGFuIDI1NiBkZXZpY2VzIHRoZW9yZXRpY2FsbHksIGJ1dCB0aGV5IHdpbGwKLSAqIGhhdmUgdG8gdXNlIHNoYXJlZCBpbnRlcnJ1cHRzKQotICogU2luY2UgdmVjdG9ycyAweDAwLTB4MWYgYXJlIHVzZWQvcmVzZXJ2ZWQgZm9yIHRoZSBDUFUsCi0gKiB0aGUgdXNhYmxlIHZlY3RvciBzcGFjZSBpcyAweDIwLTB4ZmYgKDIyNCB2ZWN0b3JzKQotICovCi0KLS8qCi0gKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdmVjdG9ycyBzdXBwb3J0ZWQgYnkgaTM4NiBwcm9jZXNzb3JzCi0gKiBpcyBsaW1pdGVkIHRvIDI1Ni4gRm9yIHByb2Nlc3NvcnMgb3RoZXIgdGhhbiBpMzg2LCBOUl9WRUNUT1JTCi0gKiBzaG91bGQgYmUgY2hhbmdlZCBhY2NvcmRpbmdseS4KLSAqLwotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotCi0jaW5jbHVkZSAiaXJxX3ZlY3RvcnNfbGltaXRzLmgiCi0KLSNkZWZpbmUgRlBVX0lSUQkJCTEzCi0KLSNkZWZpbmUJRklSU1RfVk04Nl9JUlEJCTMKLSNkZWZpbmUgTEFTVF9WTTg2X0lSUQkJMTUKLSNkZWZpbmUgaW52YWxpZF92bTg2X2lycShpcnEpCSgoaXJxKSA8IDMgfHwgKGlycSkgPiAxNSkKLQotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9pcnFfdmVjdG9yc19saW1pdHMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTkwYzdhNi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L2lycV92ZWN0b3JzX2xpbWl0cy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0xJTUlUU19ICi0jZGVmaW5lIF9BU01fSVJRX1ZFQ1RPUlNfTElNSVRTX0gKLQotI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9JT19BUElDKSB8fCBkZWZpbmVkKENPTkZJR19QQVJBVklSVCkKLSNkZWZpbmUgTlJfSVJRUyAyMjQKLSMgaWYgKDIyNCA+PSAzMiAqIE5SX0NQVVMpCi0jIGRlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0jIGVsc2UKLSMgZGVmaW5lIE5SX0lSUV9WRUNUT1JTICgzMiAqIE5SX0NQVVMpCi0jIGVuZGlmCi0jZWxzZQotI2RlZmluZSBOUl9JUlFTIDE2Ci0jZGVmaW5lIE5SX0lSUV9WRUNUT1JTIE5SX0lSUVMKLSNlbmRpZgotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19MSU1JVFNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvbWFjaF9hcGljLmgKaW5kZXggMjEwMDNiNS4uMGIyY2RlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oCkBAIC03Nyw3ICs3NywxMSBAQAogCiBzdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpCiB7CisjaWZkZWYgQ09ORklHX1NNUAorCXJldHVybiBhcGljaWRfMl9ub2RlW2hhcmRfc21wX3Byb2Nlc3Nvcl9pZCgpXTsKKyNlbHNlCiAJcmV0dXJuIDA7CisjZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1kZWZhdWx0L3NldHVwX2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oCmluZGV4IDYwNWUzY2MuLjM4ODQ2MjAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc2V0dXBfYXJjaC5oCkBAIC0xLDcgKzEsMyBAQAogLyogSG9vayB0byBjYWxsIEJJT1MgaW5pdGlhbGlzYXRpb24gZnVuY3Rpb24gKi8KIAogLyogbm8gYWN0aW9uIGZvciBnZW5lcmljICovCi0KLSNpZm5kZWYgQVJDSF9TRVRVUAotI2RlZmluZSBBUkNIX1NFVFVQCi0jZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWRlZmF1bHQvc21wYm9vdF9ob29rcy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgKaW5kZXggNTZkMGUxZi4uNTZkMDAxYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgKQEAgLTMsNyArMyw5IEBACiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X2NsZWFyX2lvX2FwaWNfaXJxcyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCWlvX2FwaWNfaXJxcyA9IDA7CisjZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3Rfc2V0dXBfd2FybV9yZXNldF92ZWN0b3IodW5zaWduZWQgbG9uZyBzdGFydF9laXApCkBAIC0zNSwxNyArMzcsMjMgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIF9faW5pdCBzbXBib290X3NldHVwX2lvX2FwaWModm9pZCkKIHsKKyNpZmRlZiBDT05GSUdfWDg2X0lPX0FQSUMKIAkvKgogCSAqIEhlcmUgd2UgY2FuIGJlIHN1cmUgdGhhdCB0aGVyZSBpcyBhbiBJTy1BUElDIGluIHRoZSBzeXN0ZW0uIExldCdzCiAJICogZ28gYW5kIHNldCBpdCB1cDoKIAkgKi8KIAlpZiAoIXNraXBfaW9hcGljX3NldHVwICYmIG5yX2lvYXBpY3MpCiAJCXNldHVwX0lPX0FQSUMoKTsKLQllbHNlCisJZWxzZSB7CiAJCW5yX2lvYXBpY3MgPSAwOworCQlsb2NhbGlzZV9ubWlfd2F0Y2hkb2coKTsKKwl9CisjZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpYyh2b2lkKQogeworI2lmZGVmIENPTkZJR19YODZfSU9fQVBJQwogCW5yX2lvYXBpY3MgPSAwOworI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1lczcwMDAvbWFjaF9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMWY1MDM5Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWVzNzAwMC9tYWNoX21wc3BlYy5oCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi0jaWZuZGVmIF9fQVNNX01BQ0hfTVBTUEVDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9NUFNQRUNfSAotCi0jZGVmaW5lIE1BWF9JUlFfU09VUkNFUyAyNTYKLQotI2RlZmluZSBNQVhfTVBfQlVTU0VTIDI1NgotCi0jZW5kaWYgLyogX19BU01fTUFDSF9NUFNQRUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLWdlbmVyaWMvbWFjaF9tcHBhcnNlLmgKaW5kZXggMGQwYjViYS4uNTg2Y2FkYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX21wcGFyc2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfbXBwYXJzZS5oCkBAIC0xLDcgKzEsMTAgQEAKICNpZm5kZWYgX01BQ0hfTVBQQVJTRV9ICiAjZGVmaW5lIF9NQUNIX01QUEFSU0VfSCAxCiAKLWludCBtcHNfb2VtX2NoZWNrKHN0cnVjdCBtcF9jb25maWdfdGFibGUgKm1wYywgY2hhciAqb2VtLCBjaGFyICpwcm9kdWN0aWQpOyAKLWludCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKTsgCisKK2V4dGVybiBpbnQgbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCSBjaGFyICpwcm9kdWN0aWQpOworCitleHRlcm4gaW50IGFjcGlfbWFkdF9vZW1fY2hlY2soY2hhciAqb2VtX2lkLCBjaGFyICpvZW1fdGFibGVfaWQpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfYXBpYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmgKaW5kZXggNzVhNTZlNS4uZDgwMjQ2NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtbnVtYXEvbWFjaF9hcGljLmgKQEAgLTIwLDggKzIwLDE0IEBACiAjZGVmaW5lIElOVF9ERUxJVkVSWV9NT0RFIGRlc3RfTG93ZXN0UHJpbwogI2RlZmluZSBJTlRfREVTVF9NT0RFIDAgICAgIC8qIHBoeXNpY2FsIGRlbGl2ZXJ5IG9uIExPQ0FMIHF1YWQgKi8KICAKLSNkZWZpbmUgY2hlY2tfYXBpY2lkX3VzZWQoYml0bWFwLCBhcGljaWQpIHBoeXNpZF9pc3NldChhcGljaWQsIGJpdG1hcCkKLSNkZWZpbmUgY2hlY2tfYXBpY2lkX3ByZXNlbnQoYml0KSBwaHlzaWRfaXNzZXQoYml0LCBwaHlzX2NwdV9wcmVzZW50X21hcCkKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjaGVja19hcGljaWRfdXNlZChwaHlzaWRfbWFza190IGJpdG1hcCwgaW50IGFwaWNpZCkKK3sKKwlyZXR1cm4gcGh5c2lkX2lzc2V0KGFwaWNpZCwgYml0bWFwKTsKK30KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjaGVja19hcGljaWRfcHJlc2VudChpbnQgYml0KQoreworCXJldHVybiBwaHlzaWRfaXNzZXQoYml0LCBwaHlzX2NwdV9wcmVzZW50X21hcCk7Cit9CiAjZGVmaW5lIGFwaWNpZF9jbHVzdGVyKGFwaWNpZCkgKGFwaWNpZCAmIDB4RjApCiAKIHN0YXRpYyBpbmxpbmUgaW50IGFwaWNfaWRfcmVnaXN0ZXJlZCh2b2lkKQpAQCAtNzcsMTEgKzgzLDYgQEAKIAkJcmV0dXJuIEJBRF9BUElDSUQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKGludCBxdWFkLCBpbnQgcGh5c19hcGljaWQpCi17Ci0JcmV0dXJuIChxdWFkIDw8IDQpICsgKHBoeXNfYXBpY2lkID8gcGh5c19hcGljaWQgPDwgMSA6IDEpOwotfQotCiBzdGF0aWMgaW5saW5lIGludCBhcGljaWRfdG9fbm9kZShpbnQgbG9naWNhbF9hcGljaWQpIAogewogCXJldHVybiBsb2dpY2FsX2FwaWNpZCA+PiA0OwpAQCAtOTUsMzAgKzk2LDYgQEAKIAlyZXR1cm4gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGNwdSArIDQqbm9kZSk7CiB9CiAKLXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uIHsKLQl1bnNpZ25lZCBjaGFyIG1wY190eXBlOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfbGVuOwotCXVuc2lnbmVkIGNoYXIgdHJhbnNfdHlwZTsKLQl1bnNpZ25lZCBjaGFyIHRyYW5zX3F1YWQ7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19nbG9iYWw7Ci0JdW5zaWduZWQgY2hhciB0cmFuc19sb2NhbDsKLQl1bnNpZ25lZCBzaG9ydCB0cmFuc19yZXNlcnZlZDsKLX07Ci0KLXN0YXRpYyBpbmxpbmUgaW50IG1wY19hcGljX2lkKHN0cnVjdCBtcGNfY29uZmlnX3Byb2Nlc3NvciAqbSwgCi0JCQlzdHJ1Y3QgbXBjX2NvbmZpZ190cmFuc2xhdGlvbiAqdHJhbnNsYXRpb25fcmVjb3JkKQotewotCWludCBxdWFkID0gdHJhbnNsYXRpb25fcmVjb3JkLT50cmFuc19xdWFkOwotCWludCBsb2dpY2FsX2FwaWNpZCA9IGdlbmVyYXRlX2xvZ2ljYWxfYXBpY2lkKHF1YWQsIG0tPm1wY19hcGljaWQpOwotCi0JcHJpbnRrKCJQcm9jZXNzb3IgIyVkICV1OiV1IEFQSUMgdmVyc2lvbiAlZCAocXVhZCAlZCwgYXBpYyAlZClcbiIsCi0JICAgICAgIG0tPm1wY19hcGljaWQsCi0JICAgICAgIChtLT5tcGNfY3B1ZmVhdHVyZSAmIENQVV9GQU1JTFlfTUFTSykgPj4gOCwKLQkgICAgICAgKG0tPm1wY19jcHVmZWF0dXJlICYgQ1BVX01PREVMX01BU0spID4+IDQsCi0JICAgICAgIG0tPm1wY19hcGljdmVyLCBxdWFkLCBsb2dpY2FsX2FwaWNpZCk7Ci0JcmV0dXJuIGxvZ2ljYWxfYXBpY2lkOwotfQotCiBleHRlcm4gdm9pZCAqeHF1YWRfcG9ydGlvOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgc2V0dXBfcG9ydGlvX3JlbWFwKHZvaWQpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX21wcGFyc2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oCmluZGV4IDQ1OWIxMjQuLjYyNmFlZjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBwYXJzZS5oCkBAIC0xLDE0ICsxLDcgQEAKICNpZm5kZWYgX19BU01fTUFDSF9NUFBBUlNFX0gKICNkZWZpbmUgX19BU01fTUFDSF9NUFBBUlNFX0gKIAotZXh0ZXJuIHZvaWQgbXBjX29lbV9idXNfaW5mbyhzdHJ1Y3QgbXBjX2NvbmZpZ19idXMgKm0sIGNoYXIgKm5hbWUsCi0JCQkgICAgIHN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbik7Ci1leHRlcm4gdm9pZCBtcGNfb2VtX3BjaV9idXMoc3RydWN0IG1wY19jb25maWdfYnVzICptLAotCXN0cnVjdCBtcGNfY29uZmlnX3RyYW5zbGF0aW9uICp0cmFuc2xhdGlvbik7Ci0KLS8qIEhvb2sgZnJvbSBnZW5lcmljIEFDUEkgdGFibGVzLmMgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBhY3BpX21hZHRfb2VtX2NoZWNrKGNoYXIgKm9lbV9pZCwgY2hhciAqb2VtX3RhYmxlX2lkKQotewotfQorZXh0ZXJuIHZvaWQgbnVtYXFfbXBzX29lbV9jaGVjayhzdHJ1Y3QgbXBfY29uZmlnX3RhYmxlICptcGMsIGNoYXIgKm9lbSwKKwkJCQljaGFyICpwcm9kdWN0aWQpOwogCiAjZW5kaWYgLyogX19BU01fTUFDSF9NUFBBUlNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC1udW1hcS9tYWNoX21wc3BlYy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZmZiMDk4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLW51bWFxL21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDUxMgotCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMzIKLQotI2VuZGlmIC8qIF9fQVNNX01BQ0hfTVBTUEVDX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXN1bW1pdC9tYWNoX21wc3BlYy5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkNzY1NTIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtc3VtbWl0L21hY2hfbXBzcGVjLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9NUFNQRUNfSAotI2RlZmluZSBfX0FTTV9NQUNIX01QU1BFQ19ICi0KLSNkZWZpbmUgTUFYX0lSUV9TT1VSQ0VTIDI1NgotCi0vKiBNYXhpbXVtIDI1NiBQQ0kgYnVzc2VzLCBwbHVzIDEgSVNBIGJ1cyBpbiBlYWNoIG9mIDQgY2FiaW5ldHMuICovCi0jZGVmaW5lIE1BWF9NUF9CVVNTRVMgMjYwCi0KLSNlbmRpZiAvKiBfX0FTTV9NQUNIX01QU1BFQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9lbnRyeV9hcmNoLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9lbnRyeV9hcmNoLmgKaW5kZXggYjE4M2ZhNi4uODZiZTU1NCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvZW50cnlfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2VudHJ5X2FyY2guaApAQCAtMSwyMyArMSw1IEBACiAvKgotICogVGhlIGZvbGxvd2luZyB2ZWN0b3JzIGFyZSBwYXJ0IG9mIHRoZSBMaW51eCBhcmNoaXRlY3R1cmUsIHRoZXJlCi0gKiBpcyBubyBoYXJkd2FyZSBJUlEgcGluIGVxdWl2YWxlbnQgZm9yIHRoZW0sIHRoZXkgYXJlIHRyaWdnZXJlZAotICogdGhyb3VnaCB0aGUgSUNDIGJ5IHVzIChJUElzKQorICogVklTV1MgdXNlcyB0aGUgc3RhbmRhcmQgTGludXggZW50cnkgcG9pbnRzOgogICovCi0jaWZkZWYgQ09ORklHX1g4Nl9TTVAKLUJVSUxEX0lOVEVSUlVQVChyZXNjaGVkdWxlX2ludGVycnVwdCxSRVNDSEVEVUxFX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChpbnZhbGlkYXRlX2ludGVycnVwdCxJTlZBTElEQVRFX1RMQl9WRUNUT1IpCi1CVUlMRF9JTlRFUlJVUFQoY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQsQ0FMTF9GVU5DVElPTl9WRUNUT1IpCi0jZW5kaWYKIAotLyoKLSAqIGV2ZXJ5IHBlbnRpdW0gbG9jYWwgQVBJQyBoYXMgdHdvICdsb2NhbCBpbnRlcnJ1cHRzJywgd2l0aCBhCi0gKiBzb2Z0LWRlZmluYWJsZSB2ZWN0b3IgYXR0YWNoZWQgdG8gYm90aCBpbnRlcnJ1cHRzLCBvbmUgb2YKLSAqIHdoaWNoIGlzIGEgdGltZXIgaW50ZXJydXB0LCB0aGUgb3RoZXIgb25lIGlzIGVycm9yIGNvdW50ZXIKLSAqIG92ZXJmbG93LiBMaW51eCB1c2VzIHRoZSBsb2NhbCBBUElDIHRpbWVyIGludGVycnVwdCB0byBnZXQKLSAqIGEgbXVjaCBzaW1wbGVyIFNNUCB0aW1lIGFyY2hpdGVjdHVyZToKLSAqLwotI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwotQlVJTERfSU5URVJSVVBUKGFwaWNfdGltZXJfaW50ZXJydXB0LExPQ0FMX1RJTUVSX1ZFQ1RPUikKLUJVSUxEX0lOVEVSUlVQVChlcnJvcl9pbnRlcnJ1cHQsRVJST1JfQVBJQ19WRUNUT1IpCi1CVUlMRF9JTlRFUlJVUFQoc3B1cmlvdXNfaW50ZXJydXB0LFNQVVJJT1VTX0FQSUNfVkVDVE9SKQotI2VuZGlmCisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L2VudHJ5X2FyY2guaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2lycV92ZWN0b3JzLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9pcnFfdmVjdG9ycy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYjU3MmQ4Li4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2lycV92ZWN0b3JzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi0jaWZuZGVmIF9BU01fSVJRX1ZFQ1RPUlNfSAotI2RlZmluZSBfQVNNX0lSUV9WRUNUT1JTX0gKLQotLyoKLSAqIElEVCB2ZWN0b3JzIHVzYWJsZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0IHNvdXJjZXMgc3RhcnQKLSAqIGF0IDB4MjA6Ci0gKi8KLSNkZWZpbmUgRklSU1RfRVhURVJOQUxfVkVDVE9SCTB4MjAKLQotI2RlZmluZSBTWVNDQUxMX1ZFQ1RPUgkJMHg4MAotCi0vKgotICogVmVjdG9ycyAweDIwLTB4MmYgYXJlIHVzZWQgZm9yIElTQSBpbnRlcnJ1cHRzLgotICovCi0KLS8qCi0gKiBTcGVjaWFsIElSUSB2ZWN0b3JzIHVzZWQgYnkgdGhlIFNNUCBhcmNoaXRlY3R1cmUsIDB4ZjAtMHhmZgotICoKLSAqICBzb21lIG9mIHRoZSBmb2xsb3dpbmcgdmVjdG9ycyBhcmUgJ3JhcmUnLCB0aGV5IGFyZSBtZXJnZWQKLSAqICBpbnRvIGEgc2luZ2xlIHZlY3RvciAoQ0FMTF9GVU5DVElPTl9WRUNUT1IpIHRvIHNhdmUgdmVjdG9yIHNwYWNlLgotICogIFRMQiwgcmVzY2hlZHVsZSBhbmQgbG9jYWwgQVBJQyB2ZWN0b3JzIGFyZSBwZXJmb3JtYW5jZS1jcml0aWNhbC4KLSAqCi0gKiAgVmVjdG9ycyAweGYwLTB4ZmEgYXJlIGZyZWUgKHJlc2VydmVkIGZvciBmdXR1cmUgTGludXggdXNlKS4KLSAqLwotI2RlZmluZSBTUFVSSU9VU19BUElDX1ZFQ1RPUgkweGZmCi0jZGVmaW5lIEVSUk9SX0FQSUNfVkVDVE9SCTB4ZmUKLSNkZWZpbmUgSU5WQUxJREFURV9UTEJfVkVDVE9SCTB4ZmQKLSNkZWZpbmUgUkVTQ0hFRFVMRV9WRUNUT1IJMHhmYwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZFQ1RPUgkweGZiCi0KLSNkZWZpbmUgVEhFUk1BTF9BUElDX1ZFQ1RPUgkweGYwCi0vKgotICogTG9jYWwgQVBJQyB0aW1lciBJUlEgdmVjdG9yIGlzIG9uIGEgZGlmZmVyZW50IHByaW9yaXR5IGxldmVsLAotICogdG8gd29yayBhcm91bmQgdGhlICdsb3N0IGxvY2FsIGludGVycnVwdCBpZiBtb3JlIHRoYW4gMiBJUlEKLSAqIHNvdXJjZXMgcGVyIGxldmVsJyBlcnJhdGEuCi0gKi8KLSNkZWZpbmUgTE9DQUxfVElNRVJfVkVDVE9SCTB4ZWYKLQotLyoKLSAqIEZpcnN0IEFQSUMgdmVjdG9yIGF2YWlsYWJsZSB0byBkcml2ZXJzOiAodmVjdG9ycyAweDMwLTB4ZWUpCi0gKiB3ZSBzdGFydCBhdCAweDMxIHRvIHNwcmVhZCBvdXQgdmVjdG9ycyBldmVubHkgYmV0d2VlbiBwcmlvcml0eQotICogbGV2ZWxzLiAoMHg4MCBpcyB0aGUgc3lzY2FsbCB2ZWN0b3IpCi0gKi8KLSNkZWZpbmUgRklSU1RfREVWSUNFX1ZFQ1RPUgkweDMxCi0jZGVmaW5lIEZJUlNUX1NZU1RFTV9WRUNUT1IJMHhlZgotCi0jZGVmaW5lIFRJTUVSX0lSUSAwCi0KLS8qCi0gKiBJUlEgZGVmaW5pdGlvbnMKLSAqLwotI2RlZmluZSBOUl9WRUNUT1JTIDI1NgotI2RlZmluZSBOUl9JUlFTIDIyNAotI2RlZmluZSBOUl9JUlFfVkVDVE9SUyBOUl9JUlFTCi0KLSNkZWZpbmUgRlBVX0lSUQkJCTEzCi0KLSNkZWZpbmUJRklSU1RfVk04Nl9JUlEJCTMKLSNkZWZpbmUgTEFTVF9WTTg2X0lSUQkJMTUKLSNkZWZpbmUgaW52YWxpZF92bTg2X2lycShpcnEpCSgoaXJxKSA8IDMgfHwgKGlycSkgPiAxNSkKLQotI2VuZGlmIC8qIF9BU01fSVJRX1ZFQ1RPUlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWMuaAppbmRleCBhOWVmMzNhLi42OTQzZTdhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWMuaApAQCAtMSwxMDMgKzEgQEAKLSNpZm5kZWYgX19BU01fTUFDSF9BUElDX0gKLSNkZWZpbmUgX19BU01fTUFDSF9BUElDX0gKLQotI2luY2x1ZGUgPG1hY2hfYXBpY2RlZi5oPgotI2luY2x1ZGUgPGFzbS9zbXAuaD4KLQotI2RlZmluZSBBUElDX0RGUl9WQUxVRQkoQVBJQ19ERlJfRkxBVCkKLQotI2RlZmluZSBub19iYWxhbmNlX2lycSAoMCkKLSNkZWZpbmUgZXNyX2Rpc2FibGUgKDApCi0KLSNkZWZpbmUgSU5UX0RFTElWRVJZX01PREUgZGVzdF9Mb3dlc3RQcmlvCi0jZGVmaW5lIElOVF9ERVNUX01PREUgMSAgICAgLyogbG9naWNhbCBkZWxpdmVyeSBicm9hZGNhc3QgdG8gYWxsIHByb2NzICovCi0KLSNpZmRlZiBDT05GSUdfU01QCi0gI2RlZmluZSBUQVJHRVRfQ1BVUyBjcHVfb25saW5lX21hcAotI2Vsc2UKLSAjZGVmaW5lIFRBUkdFVF9DUFVTIGNwdW1hc2tfb2ZfY3B1KDApCi0jZW5kaWYKLQotI2RlZmluZSBjaGVja19hcGljaWRfdXNlZChiaXRtYXAsIGFwaWNpZCkJcGh5c2lkX2lzc2V0KGFwaWNpZCwgYml0bWFwKQotI2RlZmluZSBjaGVja19hcGljaWRfcHJlc2VudChiaXQpCQlwaHlzaWRfaXNzZXQoYml0LCBwaHlzX2NwdV9wcmVzZW50X21hcCkKLQotc3RhdGljIGlubGluZSBpbnQgYXBpY19pZF9yZWdpc3RlcmVkKHZvaWQpCi17Ci0JcmV0dXJuIHBoeXNpZF9pc3NldChHRVRfQVBJQ19JRChyZWFkX2FwaWNfaWQoKSksIHBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKLX0KLQotLyoKLSAqIFNldCB1cCB0aGUgbG9naWNhbCBkZXN0aW5hdGlvbiBJRC4KLSAqCi0gKiBJbnRlbCByZWNvbW1lbmRzIHRvIHNldCBERlIsIExEUiBhbmQgVFBSIGJlZm9yZSBlbmFibGluZwotICogYW4gQVBJQy4gIFNlZSBlLmcuICJBUC0zODggODI0ODlEWCBVc2VyJ3MgTWFudWFsIiAoSW50ZWwKLSAqIGRvY3VtZW50IG51bWJlciAyOTIxMTYpLiAgU28gaGVyZSBpdCBnb2VzLi4uCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2FwaWNfbGRyKHZvaWQpCi17Ci0JdW5zaWduZWQgbG9uZyB2YWw7Ci0KLQlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0RGUiwgQVBJQ19ERlJfVkFMVUUpOwotCXZhbCA9IGFwaWNfcmVhZChBUElDX0xEUikgJiB+QVBJQ19MRFJfTUFTSzsKLQl2YWwgfD0gU0VUX0FQSUNfTE9HSUNBTF9JRCgxVUwgPDwgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKLQlhcGljX3dyaXRlX2Fyb3VuZChBUElDX0xEUiwgdmFsKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHN1bW1pdF9jaGVjayhjaGFyICpvZW0sIGNoYXIgKnByb2R1Y3RpZCkgCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXR1cF9hcGljX3JvdXRpbmcodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgYXBpY2lkX3RvX25vZGUoaW50IGxvZ2ljYWxfYXBpY2lkKQotewotCXJldHVybiAwOwotfQotCi0vKiBNYXBwaW5nIGZyb20gY3B1IG51bWJlciB0byBsb2dpY2FsIGFwaWNpZCAqLwotc3RhdGljIGlubGluZSBpbnQgY3B1X3RvX2xvZ2ljYWxfYXBpY2lkKGludCBjcHUpCi17Ci0JcmV0dXJuIDEgPDwgY3B1OwotfQotCi1zdGF0aWMgaW5saW5lIGludCBjcHVfcHJlc2VudF90b19hcGljaWQoaW50IG1wc19jcHUpCi17Ci0JaWYgKG1wc19jcHUgPCBnZXRfcGh5c2ljYWxfYnJvYWRjYXN0KCkpCi0JCXJldHVybiBtcHNfY3B1OwotCWVsc2UKLQkJcmV0dXJuIEJBRF9BUElDSUQ7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgcGh5c2lkX21hc2tfdCBhcGljaWRfdG9fY3B1X3ByZXNlbnQoaW50IGFwaWNpZCkKLXsKLQlyZXR1cm4gcGh5c2lkX21hc2tfb2ZfcGh5c2lkKGFwaWNpZCk7Ci19Ci0KLSNkZWZpbmUgV0FLRV9TRUNPTkRBUllfVklBX0lOSVQKLQotc3RhdGljIGlubGluZSB2b2lkIHNldHVwX3BvcnRpb19yZW1hcCh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZW5hYmxlX2FwaWNfbW9kZSh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIGludCBjaGVja19waHlzX2FwaWNpZF9wcmVzZW50KGludCBib290X2NwdV9waHlzaWNhbF9hcGljaWQpCi17Ci0JcmV0dXJuIHBoeXNpZF9pc3NldChib290X2NwdV9waHlzaWNhbF9hcGljaWQsIHBoeXNfY3B1X3ByZXNlbnRfbWFwKTsKLX0KLQotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgY3B1X21hc2tfdG9fYXBpY2lkKGNwdW1hc2tfdCBjcHVtYXNrKQotewotCXJldHVybiBjcHVzX2FkZHIoY3B1bWFzaylbMF07Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdTMyIHBoeXNfcGtnX2lkKHUzMiBjcHVpZF9hcGljLCBpbnQgaW5kZXhfbXNiKQotewotCXJldHVybiBjcHVpZF9hcGljID4+IGluZGV4X21zYjsKLX0KLQotI2VuZGlmIC8qIF9fQVNNX01BQ0hfQVBJQ19IICovCisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L21hY2hfYXBpYy5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvbWFjaF9hcGljZGVmLmggYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWNkZWYuaAppbmRleCA4MjZjZmE5Li40MjcxMWQxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWNkZWYuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9tYWNoX2FwaWNkZWYuaApAQCAtMSwxMiArMSBAQAotI2lmbmRlZiBfX0FTTV9NQUNIX0FQSUNERUZfSAotI2RlZmluZSBfX0FTTV9NQUNIX0FQSUNERUZfSAotCi0jZGVmaW5lICAgICAgICAgQVBJQ19JRF9NQVNLICAgICAgICAgICAgKDB4Rjw8MjQpCi0KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgZ2V0X2FwaWNfaWQodW5zaWduZWQgbG9uZyB4KQotewotCSAgICAgICAgcmV0dXJuICgoKHgpPj4yNCkmMHhGKTsKLX0KLSNkZWZpbmUgICAgICAgICBHRVRfQVBJQ19JRCh4KSAgZ2V0X2FwaWNfaWQoeCkKLQotI2VuZGlmCisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L21hY2hfYXBpY2RlZi5oIgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc2V0dXBfYXJjaC5oIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc2V0dXBfYXJjaC5oCmluZGV4IDMzZjcwMGUuLmZhNDc2NmMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NldHVwX2FyY2guaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zZXR1cF9hcmNoLmgKQEAgLTEsOCArMSBAQAotLyogSG9vayB0byBjYWxsIEJJT1MgaW5pdGlhbGlzYXRpb24gZnVuY3Rpb24gKi8KLQotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fcGh5czsKLWV4dGVybiB1bnNpZ25lZCBsb25nIHNnaXZ3ZmJfbWVtX3NpemU7Ci0KLS8qIG5vIGFjdGlvbiBmb3Igdmlzd3MgKi8KLQotI2RlZmluZSBBUkNIX1NFVFVQCisjaW5jbHVkZSAiLi4vbWFjaC1kZWZhdWx0L3NldHVwX2FyY2guaCIKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NtcGJvb3RfaG9va3MuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL3NtcGJvb3RfaG9va3MuaAppbmRleCBjOWI4M2UzLi5lNDQzM2NhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9zbXBib290X2hvb2tzLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3Mvc21wYm9vdF9ob29rcy5oCkBAIC0xLDI4ICsxIEBACi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9zZXR1cF93YXJtX3Jlc2V0X3ZlY3Rvcih1bnNpZ25lZCBsb25nIHN0YXJ0X2VpcCkKLXsKLQlDTU9TX1dSSVRFKDB4YSwgMHhmKTsKLQlsb2NhbF9mbHVzaF90bGIoKTsKLQlEcHJpbnRrKCIxLlxuIik7Ci0JKigodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgKikgVFJBTVBPTElORV9ISUdIKSA9IHN0YXJ0X2VpcCA+PiA0OwotCURwcmludGsoIjIuXG4iKTsKLQkqKCh2b2xhdGlsZSB1bnNpZ25lZCBzaG9ydCAqKSBUUkFNUE9MSU5FX0xPVykgPSBzdGFydF9laXAgJiAweGY7Ci0JRHByaW50aygiMy5cbiIpOwotfQotCi0vKiBmb3Igdmlzd3MgZG8gbm90aGluZyBmb3IgYW55IG9mIHRoZXNlICovCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X2NsZWFyX2lvX2FwaWNfaXJxcyh2b2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgc21wYm9vdF9yZXN0b3JlX3dhcm1fcmVzZXRfdmVjdG9yKHZvaWQpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbXBib290X3NldHVwX2lvX2FwaWModm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHNtcGJvb3RfY2xlYXJfaW9fYXBpYyh2b2lkKQotewotfQorI2luY2x1ZGUgIi4uL21hY2gtZGVmYXVsdC9zbXBib290X2hvb2tzLmgiCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12b3lhZ2VyL2VudHJ5X2FyY2guaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvZW50cnlfYXJjaC5oCmluZGV4IDRhMWUxZTguLmFlNTI2MjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvZW50cnlfYXJjaC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvZW50cnlfYXJjaC5oCkBAIC0yMyw0ICsyMyw0IEBACiBCVUlMRF9JTlRFUlJVUFQocWljX3Jlc2NoZWR1bGVfaW50ZXJydXB0LCBRSUNfUkVTQ0hFRFVMRV9DUEkpOwogQlVJTERfSU5URVJSVVBUKHFpY19lbmFibGVfaXJxX2ludGVycnVwdCwgUUlDX0VOQUJMRV9JUlFfQ1BJKTsKIEJVSUxEX0lOVEVSUlVQVChxaWNfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQsIFFJQ19DQUxMX0ZVTkNUSU9OX0NQSSk7Ci0KK0JVSUxEX0lOVEVSUlVQVChxaWNfY2FsbF9mdW5jdGlvbl9zaW5nbGVfaW50ZXJydXB0LCBRSUNfQ0FMTF9GVU5DVElPTl9TSU5HTEVfQ1BJKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvaXJxX3ZlY3RvcnMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZveWFnZXIvaXJxX3ZlY3RvcnMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY1NDIxZi4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbWFjaC12b3lhZ2VyL2lycV92ZWN0b3JzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vKiAtKi0gbW9kZTogYzsgYy1iYXNpYy1vZmZzZXQ6IDggLSotICovCi0KLS8qIENvcHlyaWdodCAoQykgMjAwMgotICoKLSAqIEF1dGhvcjogSmFtZXMuQm90dG9tbGV5QEhhbnNlblBhcnRuZXJzaGlwLmNvbQotICoKLSAqIGxpbnV4L2FyY2gvaTM4Ni92b3lhZ2VyL2lycV92ZWN0b3JzLmgKLSAqCi0gKiBUaGlzIGZpbGUgcHJvdmlkZXMgZGVmaW5pdGlvbnMgZm9yIHRoZSBWSUMgYW5kIFFJQyBDUElzCi0gKi8KLQotI2lmbmRlZiBfQVNNX0lSUV9WRUNUT1JTX0gKLSNkZWZpbmUgX0FTTV9JUlFfVkVDVE9SU19ICi0KLS8qCi0gKiBJRFQgdmVjdG9ycyB1c2FibGUgZm9yIGV4dGVybmFsIGludGVycnVwdCBzb3VyY2VzIHN0YXJ0Ci0gKiBhdCAweDIwOgotICovCi0jZGVmaW5lIEZJUlNUX0VYVEVSTkFMX1ZFQ1RPUgkweDIwCi0KLSNkZWZpbmUgU1lTQ0FMTF9WRUNUT1IJCTB4ODAKLQotLyoKLSAqIFZlY3RvcnMgMHgyMC0weDJmIGFyZSB1c2VkIGZvciBJU0EgaW50ZXJydXB0cy4KLSAqLwotCi0vKiBUaGVzZSBkZWZpbmUgdGhlIENQSXMgd2UgdXNlIGluIGxpbnV4ICovCi0jZGVmaW5lIFZJQ19DUElfTEVWRUwwCQkJMAotI2RlZmluZSBWSUNfQ1BJX0xFVkVMMQkJCTEKLS8qIG5vdyB0aGUgZmFrZSBDUElzICovCi0jZGVmaW5lIFZJQ19USU1FUl9DUEkJCQkyCi0jZGVmaW5lIFZJQ19JTlZBTElEQVRFX0NQSQkJMwotI2RlZmluZSBWSUNfUkVTQ0hFRFVMRV9DUEkJCTQKLSNkZWZpbmUgVklDX0VOQUJMRV9JUlFfQ1BJCQk1Ci0jZGVmaW5lIFZJQ19DQUxMX0ZVTkNUSU9OX0NQSQkJNgotCi0vKiBOb3cgdGhlIFFJQyBDUElzOiAgU2luY2Ugd2UgZG9uJ3QgbmVlZCB0aGUgdHdvIGluaXRpYWwgbGV2ZWxzLAotICogdGhlc2UgYXJlIDIgbGVzcyB0aGFuIHRoZSBWSUMgQ1BJcyAqLwotI2RlZmluZSBRSUNfQ1BJX09GRlNFVAkJCTEKLSNkZWZpbmUgUUlDX1RJTUVSX0NQSQkJCShWSUNfVElNRVJfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0jZGVmaW5lIFFJQ19JTlZBTElEQVRFX0NQSQkJKFZJQ19JTlZBTElEQVRFX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQotI2RlZmluZSBRSUNfUkVTQ0hFRFVMRV9DUEkJCShWSUNfUkVTQ0hFRFVMRV9DUEkgLSBRSUNfQ1BJX09GRlNFVCkKLSNkZWZpbmUgUUlDX0VOQUJMRV9JUlFfQ1BJCQkoVklDX0VOQUJMRV9JUlFfQ1BJIC0gUUlDX0NQSV9PRkZTRVQpCi0jZGVmaW5lIFFJQ19DQUxMX0ZVTkNUSU9OX0NQSQkJKFZJQ19DQUxMX0ZVTkNUSU9OX0NQSSAtIFFJQ19DUElfT0ZGU0VUKQotCi0jZGVmaW5lIFZJQ19TVEFSVF9GQUtFX0NQSQkJVklDX1RJTUVSX0NQSQotI2RlZmluZSBWSUNfRU5EX0ZBS0VfQ1BJCQlWSUNfQ0FMTF9GVU5DVElPTl9DUEkKLQotLyogdGhpcyBpcyB0aGUgU1lTX0lOVCBDUEkuICovCi0jZGVmaW5lIFZJQ19TWVNfSU5UCQkJOAotI2RlZmluZSBWSUNfQ01OX0lOVAkJCTE1Ci0KLS8qIFRoaXMgaXMgdGhlIGJvb3QgQ1BJIGZvciBhbHRlcm5hdGUgcHJvY2Vzc29ycy4gIEl0IGdldHMgb3ZlcndyaXR0ZW4KLSAqIGJ5IHRoZSBhYm92ZSBvbmNlIHRoZSBzeXN0ZW0gaGFzIGFjdGl2YXRlZCBhbGwgYXZhaWxhYmxlIHByb2Nlc3NvcnMgKi8KLSNkZWZpbmUgVklDX0NQVV9CT09UX0NQSQkJVklDX0NQSV9MRVZFTDAKLSNkZWZpbmUgVklDX0NQVV9CT09UX0VSUkFUQV9DUEkJCShWSUNfQ1BJX0xFVkVMMCArIDgpCi0KLSNkZWZpbmUgTlJfVkVDVE9SUyAyNTYKLSNkZWZpbmUgTlJfSVJRUyAyMjQKLSNkZWZpbmUgTlJfSVJRX1ZFQ1RPUlMgTlJfSVJRUwotCi0jZGVmaW5lIEZQVV9JUlEJCQkJMTMKLQotI2RlZmluZQlGSVJTVF9WTTg2X0lSUQkJMwotI2RlZmluZSBMQVNUX1ZNODZfSVJRCQkxNQotI2RlZmluZSBpbnZhbGlkX3ZtODZfaXJxKGlycSkJKChpcnEpIDwgMyB8fCAoaXJxKSA+IDE1KQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCB2aWNfY3BpX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgdmljX3N5c19pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHZpY19jbW5faW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfdGltZXJfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfaW52YWxpZGF0ZV9pbnRlcnJ1cHQodm9pZCk7Ci1leHRlcm4gYXNtbGlua2FnZSB2b2lkIHFpY19yZXNjaGVkdWxlX2ludGVycnVwdCh2b2lkKTsKLWV4dGVybiBhc21saW5rYWdlIHZvaWQgcWljX2VuYWJsZV9pcnFfaW50ZXJydXB0KHZvaWQpOwotZXh0ZXJuIGFzbWxpbmthZ2Ugdm9pZCBxaWNfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Ci0jZW5kaWYgLyogIV9fQVNTRU1CTFlfXyAqLwotCi0jZW5kaWYgLyogX0FTTV9JUlFfVkVDVE9SU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbW1jb25maWcuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tbWNvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YmVkYTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2FzbS14ODYvbW1jb25maWcuaApAQCAtMCwwICsxLDEyIEBACisjaWZuZGVmIF9BU01fTU1DT05GSUdfSAorI2RlZmluZSBfQVNNX01NQ09ORklHX0gKKworI2lmZGVmIENPTkZJR19QQ0lfTU1DT05GSUcKK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBmYW0xMGhfY2hlY2tfZW5hYmxlX21tY2ZnKHZvaWQpOworZXh0ZXJuIHZvaWQgX19pbml0IGNoZWNrX2VuYWJsZV9hbWRfbW1jb25mX2RtaSh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZmFtMTBoX2NoZWNrX2VuYWJsZV9tbWNmZyh2b2lkKSB7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBjaGVja19lbmFibGVfYW1kX21tY29uZl9kbWkodm9pZCkgeyB9CisjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbW11X2NvbnRleHQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oCmluZGV4IDY1OTg0NTAuLmZhYzU3MDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dC5oCkBAIC0xLDUgKzEsMzcgQEAKKyNpZm5kZWYgX19BU01fWDg2X01NVV9DT05URVhUX0gKKyNkZWZpbmUgX19BU01fWDg2X01NVV9DT05URVhUX0gKKworI2luY2x1ZGUgPGFzbS9kZXNjLmg+CisjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgorI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CisjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CisjaW5jbHVkZSA8YXNtL3BhcmF2aXJ0Lmg+CisjaWZuZGVmIENPTkZJR19QQVJBVklSVAorI2luY2x1ZGUgPGFzbS1nZW5lcmljL21tX2hvb2tzLmg+CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hY3RpdmF0ZV9tbShzdHJ1Y3QgbW1fc3RydWN0ICpwcmV2LAorCQkJCQlzdHJ1Y3QgbW1fc3RydWN0ICpuZXh0KQoreworfQorI2VuZGlmCS8qICFDT05GSUdfUEFSQVZJUlQgKi8KKworLyoKKyAqIFVzZWQgZm9yIExEVCBjb3B5L2Rlc3RydWN0aW9uLgorICovCitpbnQgaW5pdF9uZXdfY29udGV4dChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgc3RydWN0IG1tX3N0cnVjdCAqbW0pOwordm9pZCBkZXN0cm95X2NvbnRleHQoc3RydWN0IG1tX3N0cnVjdCAqbW0pOworCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgogIyBpbmNsdWRlICJtbXVfY29udGV4dF8zMi5oIgogI2Vsc2UKICMgaW5jbHVkZSAibW11X2NvbnRleHRfNjQuaCIKICNlbmRpZgorCisjZGVmaW5lIGFjdGl2YXRlX21tKHByZXYsIG5leHQpCQkJXAorZG8gewkJCQkJCVwKKwlwYXJhdmlydF9hY3RpdmF0ZV9tbSgocHJldiksIChuZXh0KSk7CVwKKwlzd2l0Y2hfbW0oKHByZXYpLCAobmV4dCksIE5VTEwpOwlcCit9IHdoaWxlICgwKTsKKworCisjZW5kaWYgLyogX19BU01fWDg2X01NVV9DT05URVhUX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmgKaW5kZXggOTc1NmFlMC4uODI0ZmM1NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzMyLmgKQEAgLTEsMjggKzEsNiBAQAogI2lmbmRlZiBfX0kzODZfU0NIRURfSAogI2RlZmluZSBfX0kzODZfU0NIRURfSAogCi0jaW5jbHVkZSA8YXNtL2Rlc2MuaD4KLSNpbmNsdWRlIDxhc20vYXRvbWljLmg+Ci0jaW5jbHVkZSA8YXNtL3BnYWxsb2MuaD4KLSNpbmNsdWRlIDxhc20vdGxiZmx1c2guaD4KLSNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi0jaW5jbHVkZSA8YXNtLWdlbmVyaWMvbW1faG9va3MuaD4KLQotc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FjdGl2YXRlX21tKHN0cnVjdCBtbV9zdHJ1Y3QgKnByZXYsCi0JCQkJCXN0cnVjdCBtbV9zdHJ1Y3QgKm5leHQpCi17Ci19Ci0jZW5kaWYJLyogIUNPTkZJR19QQVJBVklSVCAqLwotCi0KLS8qCi0gKiBVc2VkIGZvciBMRFQgY29weS9kZXN0cnVjdGlvbi4KLSAqLwotaW50IGluaXRfbmV3X2NvbnRleHQoc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKLXZvaWQgZGVzdHJveV9jb250ZXh0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKLQotCiBzdGF0aWMgaW5saW5lIHZvaWQgZW50ZXJfbGF6eV90bGIoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQogewogI2lmZGVmIENPTkZJR19TTVAKQEAgLTc1LDEwICs1Myw0IEBACiAjZGVmaW5lIGRlYWN0aXZhdGVfbW0odHNrLCBtbSkJCQlcCiAJYXNtKCJtb3ZsICUwLCUlZ3MiOiA6InIiICgwKSk7CiAKLSNkZWZpbmUgYWN0aXZhdGVfbW0ocHJldiwgbmV4dCkJCQlcCi1kbyB7CQkJCQkJXAotCXBhcmF2aXJ0X2FjdGl2YXRlX21tKChwcmV2KSwgKG5leHQpKTsJXAotCXN3aXRjaF9tbSgocHJldiksIChuZXh0KSwgTlVMTCk7CVwKLX0gd2hpbGUgKDApOwotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXVfY29udGV4dF82NC5oIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmgKaW5kZXggY2E0NGM3MS4uYzcwMDA2MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tdV9jb250ZXh0XzY0LmgKQEAgLTEsMjEgKzEsNyBAQAogI2lmbmRlZiBfX1g4Nl82NF9NTVVfQ09OVEVYVF9ICiAjZGVmaW5lIF9fWDg2XzY0X01NVV9DT05URVhUX0gKIAotI2luY2x1ZGUgPGFzbS9kZXNjLmg+Ci0jaW5jbHVkZSA8YXNtL2F0b21pYy5oPgotI2luY2x1ZGUgPGFzbS9wZ2FsbG9jLmg+CiAjaW5jbHVkZSA8YXNtL3BkYS5oPgotI2luY2x1ZGUgPGFzbS9wZ3RhYmxlLmg+Ci0jaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+Ci0jaWZuZGVmIENPTkZJR19QQVJBVklSVAotI2luY2x1ZGUgPGFzbS1nZW5lcmljL21tX2hvb2tzLmg+Ci0jZW5kaWYKLQotLyoKLSAqIHBvc3NpYmx5IGRvIHRoZSBMRFQgdW5sb2FkIGhlcmU/Ci0gKi8KLWludCBpbml0X25ld19jb250ZXh0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSk7Ci12b2lkIGRlc3Ryb3lfY29udGV4dChzdHJ1Y3QgbW1fc3RydWN0ICptbSk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBlbnRlcl9sYXp5X3RsYihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCiB7CkBAIC02NSw4ICs1MSw0IEBACiAJYXNtIHZvbGF0aWxlKCJtb3ZsICUwLCUlZnMiOjoiciIoMCkpOwlcCiB9IHdoaWxlICgwKQogCi0jZGVmaW5lIGFjdGl2YXRlX21tKHByZXYsIG5leHQpCQkJXAotCXN3aXRjaF9tbSgocHJldiksIChuZXh0KSwgTlVMTCkKLQotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tbXpvbmVfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tbXpvbmVfMzIuaAppbmRleCBjYjJjYWQwLi5iMjI5OGEyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbW16b25lXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21tem9uZV8zMi5oCkBAIC0xMiwxMSArMTIsOSBAQAogZXh0ZXJuIHN0cnVjdCBwZ2xpc3RfZGF0YSAqbm9kZV9kYXRhW107CiAjZGVmaW5lIE5PREVfREFUQShuaWQpCShub2RlX2RhdGFbbmlkXSkKIAotI2lmZGVmIENPTkZJR19YODZfTlVNQVEKLQkjaW5jbHVkZSA8YXNtL251bWFxLmg+Ci0jZWxpZiBkZWZpbmVkKENPTkZJR19BQ1BJX1NSQVQpLyogc3VtbWl0IG9yIGdlbmVyaWMgYXJjaCAqLwotCSNpbmNsdWRlIDxhc20vc3JhdC5oPgotI2VuZGlmCisjaW5jbHVkZSA8YXNtL251bWFxLmg+CisvKiBzdW1taXQgb3IgZ2VuZXJpYyBhcmNoICovCisjaW5jbHVkZSA8YXNtL3NyYXQuaD4KIAogZXh0ZXJuIGludCBnZXRfbWVtY2ZnX251bWFfZmxhdCh2b2lkKTsKIC8qCkBAIC0yNiwyOCArMjQsMjAgQEAKICAqLwogc3RhdGljIGlubGluZSB2b2lkIGdldF9tZW1jZmdfbnVtYSh2b2lkKQogewotI2lmZGVmIENPTkZJR19YODZfTlVNQVEKKwogCWlmIChnZXRfbWVtY2ZnX251bWFxKCkpCiAJCXJldHVybjsKLSNlbGlmIGRlZmluZWQoQ09ORklHX0FDUElfU1JBVCkKIAlpZiAoZ2V0X21lbWNmZ19mcm9tX3NyYXQoKSkKIAkJcmV0dXJuOwotI2VuZGlmCi0KIAlnZXRfbWVtY2ZnX251bWFfZmxhdCgpOwogfQogCiBleHRlcm4gaW50IGVhcmx5X3Bmbl90b19uaWQodW5zaWduZWQgbG9uZyBwZm4pOwotZXh0ZXJuIHZvaWQgbnVtYV9rdmFfcmVzZXJ2ZSh2b2lkKTsKIAogI2Vsc2UgLyogIUNPTkZJR19OVU1BICovCiAKICNkZWZpbmUgZ2V0X21lbWNmZ19udW1hIGdldF9tZW1jZmdfbnVtYV9mbGF0Ci0jZGVmaW5lIGdldF96aG9sZXNfc2l6ZShuKSAoMCkKIAotc3RhdGljIGlubGluZSB2b2lkIG51bWFfa3ZhX3Jlc2VydmUodm9pZCkKLXsKLX0KICNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLwogCiAjaWZkZWYgQ09ORklHX0RJU0NPTlRJR01FTQpAQCAtNTUsMTQgKzQ1LDE0IEBACiAvKgogICogZ2VuZXJpYyBub2RlIG1lbW9yeSBzdXBwb3J0LCB0aGUgZm9sbG93aW5nIGFzc3VtcHRpb25zIGFwcGx5OgogICoKLSAqIDEpIG1lbW9yeSBjb21lcyBpbiAyNTZNYiBjb250aWdpb3VzIGNodW5rcyB3aGljaCBhcmUgZWl0aGVyIHByZXNlbnQgb3Igbm90CisgKiAxKSBtZW1vcnkgY29tZXMgaW4gNjRNYiBjb250aWdpb3VzIGNodW5rcyB3aGljaCBhcmUgZWl0aGVyIHByZXNlbnQgb3Igbm90CiAgKiAyKSB3ZSB3aWxsIG5vdCBoYXZlIG1vcmUgdGhhbiA2NEdiIGluIHRvdGFsCiAgKgogICogZm9yIG5vdyBhc3N1bWUgdGhhdCA2NEdiIGlzIG1heCBhbW91bnQgb2YgUkFNIGZvciB3aG9sZSBzeXN0ZW0KICAqICAgIDY0R2IgLyA0MDk2Ynl0ZXMvcGFnZSA9IDE2Nzc3MjE2IHBhZ2VzCiAgKi8KICNkZWZpbmUgTUFYX05SX1BBR0VTIDE2Nzc3MjE2Ci0jZGVmaW5lIE1BWF9FTEVNRU5UUyAyNTYKKyNkZWZpbmUgTUFYX0VMRU1FTlRTIDEwMjQKICNkZWZpbmUgUEFHRVNfUEVSX0VMRU1FTlQgKE1BWF9OUl9QQUdFUy9NQVhfRUxFTUVOVFMpCiAKIGV4dGVybiBzOCBwaHlzbm9kZV9tYXBbXTsKQEAgLTg3LDkgKzc3LDYgQEAKIAlfX3BnZGF0LT5ub2RlX3N0YXJ0X3BmbiArIF9fcGdkYXQtPm5vZGVfc3Bhbm5lZF9wYWdlczsJCVwKIH0pCiAKLSNpZmRlZiBDT05GSUdfWDg2X05VTUFRICAgICAgICAgICAgLyogd2UgaGF2ZSBjb250aWd1b3VzIG1lbW9yeSBvbiBOVU1BLVEgKi8KLSNkZWZpbmUgcGZuX3ZhbGlkKHBmbikgICAgICAgICAgKChwZm4pIDwgbnVtX3BoeXNwYWdlcykKLSNlbHNlCiBzdGF0aWMgaW5saW5lIGludCBwZm5fdmFsaWQoaW50IHBmbikKIHsKIAlpbnQgbmlkID0gcGZuX3RvX25pZChwZm4pOwpAQCAtOTgsNyArODUsNiBAQAogCQlyZXR1cm4gKHBmbiA8IG5vZGVfZW5kX3BmbihuaWQpKTsKIAlyZXR1cm4gMDsKIH0KLSNlbmRpZiAvKiBDT05GSUdfWDg2X05VTUFRICovCiAKICNlbmRpZiAvKiBDT05GSUdfRElTQ09OVElHTUVNICovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWMuaCBiL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWMuaAppbmRleCA1N2E5OTFiLi5iNjk5NWU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbXBzcGVjLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21wc3BlYy5oCkBAIC0xMyw2ICsxMywxMiBAQAogZXh0ZXJuIHU4IGFwaWNpZF8yX25vZGVbXTsKIGV4dGVybiBpbnQgcGljX21vZGU7CiAKKyNpZmRlZiBDT05GSUdfWDg2X05VTUFRCitleHRlcm4gaW50IG1wX2J1c19pZF90b19ub2RlW01BWF9NUF9CVVNTRVNdOworZXh0ZXJuIGludCBtcF9idXNfaWRfdG9fbG9jYWxbTUFYX01QX0JVU1NFU107CitleHRlcm4gaW50IHF1YWRfbG9jYWxfdG9fbXBfYnVzX2lkIFtOUl9DUFVTLzRdWzRdOworI2VuZGlmCisKICNkZWZpbmUgTUFYX0FQSUNJRCAyNTYKIAogI2Vsc2UKQEAgLTIxLDI2ICsyNywzMCBAQAogLyogRWFjaCBQQ0kgc2xvdCBtYXkgYmUgYSBjb21ibyBjYXJkIHdpdGggaXRzIG93biBidXMuICA0IElSUSBwaW5zIHBlciBzbG90LiAqLwogI2RlZmluZSBNQVhfSVJRX1NPVVJDRVMgKE1BWF9NUF9CVVNTRVMgKiA0KQogCisjZW5kaWYKKwogZXh0ZXJuIHZvaWQgZWFybHlfZmluZF9zbXBfY29uZmlnKHZvaWQpOwogZXh0ZXJuIHZvaWQgZWFybHlfZ2V0X3NtcF9jb25maWcodm9pZCk7CiAKLSNlbmRpZgotCiAjaWYgZGVmaW5lZChDT05GSUdfTUNBKSB8fCBkZWZpbmVkKENPTkZJR19FSVNBKQogZXh0ZXJuIGludCBtcF9idXNfaWRfdG9fdHlwZVtNQVhfTVBfQlVTU0VTXTsKICNlbmRpZgogCiBleHRlcm4gREVDTEFSRV9CSVRNQVAobXBfYnVzX25vdF9wY2ksIE1BWF9NUF9CVVNTRVMpOwogCi1leHRlcm4gaW50IG1wX2J1c19pZF90b19wY2lfYnVzW01BWF9NUF9CVVNTRVNdOwotCiBleHRlcm4gdW5zaWduZWQgaW50IGJvb3RfY3B1X3BoeXNpY2FsX2FwaWNpZDsKK2V4dGVybiB1bnNpZ25lZCBpbnQgbWF4X3BoeXNpY2FsX2FwaWNpZDsKIGV4dGVybiBpbnQgc21wX2ZvdW5kX2NvbmZpZzsKIGV4dGVybiBpbnQgbXBjX2RlZmF1bHRfdHlwZTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG1wX2xhcGljX2FkZHI7CiAKIGV4dGVybiB2b2lkIGZpbmRfc21wX2NvbmZpZyh2b2lkKTsKIGV4dGVybiB2b2lkIGdldF9zbXBfY29uZmlnKHZvaWQpOworI2lmZGVmIENPTkZJR19YODZfTVBQQVJTRQorZXh0ZXJuIHZvaWQgZWFybHlfcmVzZXJ2ZV9lODIwX21wY19uZXcodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIGVhcmx5X3Jlc2VydmVfZTgyMF9tcGNfbmV3KHZvaWQpIHsgfQorI2VuZGlmCiAKIHZvaWQgX19jcHVpbml0IGdlbmVyaWNfcHJvY2Vzc29yX2luZm8oaW50IGFwaWNpZCwgaW50IHZlcnNpb24pOwogI2lmZGVmIENPTkZJR19BQ1BJCkBAIC00OSw2ICs1OSwxNyBAQAogCQkJCSAgIHUzMiBnc2kpOwogZXh0ZXJuIHZvaWQgbXBfY29uZmlnX2FjcGlfbGVnYWN5X2lycXModm9pZCk7CiBleHRlcm4gaW50IG1wX3JlZ2lzdGVyX2dzaSh1MzIgZ3NpLCBpbnQgZWRnZV9sZXZlbCwgaW50IGFjdGl2ZV9oaWdoX2xvdyk7CisjaWZkZWYgQ09ORklHX1g4Nl9JT19BUElDCitleHRlcm4gaW50IG1wX2NvbmZpZ19hY3BpX2dzaSh1bnNpZ25lZCBjaGFyIG51bWJlciwgdW5zaWduZWQgaW50IGRldmZuLCB1OCBwaW4sCisJCQkJdTMyIGdzaSwgaW50IHRyaWdnZXJpbmcsIGludCBwb2xhcml0eSk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK21wX2NvbmZpZ19hY3BpX2dzaSh1bnNpZ25lZCBjaGFyIG51bWJlciwgdW5zaWduZWQgaW50IGRldmZuLCB1OCBwaW4sCisJCSAgIHUzMiBnc2ksIGludCB0cmlnZ2VyaW5nLCBpbnQgcG9sYXJpdHkpCit7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKICNlbmRpZiAvKiBDT05GSUdfQUNQSSAqLwogCiAjZGVmaW5lIFBIWVNJRF9BUlJBWV9TSVpFCUJJVFNfVE9fTE9OR1MoTUFYX0FQSUNTKQpAQCAtMTAxLDYgKzEyMiw3IEBACiAJCV9fcGh5c2lkX21hc2s7CQkJCQkJXAogCX0pCiAKKy8qIE5vdGU6IHdpbGwgY3JlYXRlIHZlcnkgbGFyZ2Ugc3RhY2sgZnJhbWVzIGlmIHBoeXNpZF9tYXNrX3QgaXMgYmlnICovCiAjZGVmaW5lIHBoeXNpZF9tYXNrX29mX3BoeXNpZChwaHlzaWQpCQkJCQlcCiAJKHsJCQkJCQkJCVwKIAkJcGh5c2lkX21hc2tfdCBfX3BoeXNpZF9tYXNrID0gUEhZU0lEX01BU0tfTk9ORTsJCVwKQEAgLTEwOCw2ICsxMzAsMTIgQEAKIAkJX19waHlzaWRfbWFzazsJCQkJCQlcCiAJfSkKIAorc3RhdGljIGlubGluZSB2b2lkIHBoeXNpZF9zZXRfbWFza19vZl9waHlzaWQoaW50IHBoeXNpZCwgcGh5c2lkX21hc2tfdCAqbWFwKQoreworCXBoeXNpZHNfY2xlYXIoKm1hcCk7CisJcGh5c2lkX3NldChwaHlzaWQsICptYXApOworfQorCiAjZGVmaW5lIFBIWVNJRF9NQVNLX0FMTAkJeyB7WzAgLi4uIFBIWVNJRF9BUlJBWV9TSVpFLTFdID0gfjBVTH0gfQogI2RlZmluZSBQSFlTSURfTUFTS19OT05FCXsge1swIC4uLiBQSFlTSURfQVJSQVlfU0laRS0xXSA9IDBVTH0gfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbXBzcGVjX2RlZi5oIGIvaW5jbHVkZS9hc20teDg2L21wc3BlY19kZWYuaAppbmRleCBkYzZlZjg1Li4zOGQxZTczIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbXBzcGVjX2RlZi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9tcHNwZWNfZGVmLmgKQEAgLTE3LDEwICsxNywxMSBAQAogIyBkZWZpbmUgTUFYX01QQ19FTlRSWSAxMDI0CiAjIGRlZmluZSBNQVhfQVBJQ1MgICAgICAyNTYKICNlbHNlCi0vKgotICogQSBtYXhpbXVtIG9mIDI1NSBBUElDcyB3aXRoIHRoZSBjdXJyZW50IEFQSUMgSUQgYXJjaGl0ZWN0dXJlLgotICovCi0jIGRlZmluZSBNQVhfQVBJQ1MgMjU1CisjIGlmIE5SX0NQVVMgPD0gMjU1CisjICBkZWZpbmUgTUFYX0FQSUNTICAgICAyNTUKKyMgZWxzZQorIyAgZGVmaW5lIE1BWF9BUElDUyAgIDMyNzY4CisjIGVuZGlmCiAjZW5kaWYKIAogc3RydWN0IGludGVsX21wX2Zsb2F0aW5nIHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaCBiL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAppbmRleCAwOTQxM2FkLi40NGJjZTc3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCkBAIC0xMTEsNyArMTExLDkgQEAKICNkZWZpbmUgTVNSX0s4X1RPUF9NRU0yCQkJMHhjMDAxMDAxZAogI2RlZmluZSBNU1JfSzhfU1lTQ0ZHCQkJMHhjMDAxMDAxMAogI2RlZmluZSBNU1JfSzhfSFdDUgkJCTB4YzAwMTAwMTUKLSNkZWZpbmUgTVNSX0s4X0VOQUJMRV9DMUUJCTB4YzAwMTAwNTUKKyNkZWZpbmUgTVNSX0s4X0lOVF9QRU5ESU5HX01TRwkJMHhjMDAxMDA1NQorLyogQzFFIGFjdGl2ZSBiaXRzIGluIGludCBwZW5kaW5nIG1lc3NhZ2UgKi8KKyNkZWZpbmUgSzhfSU5UUF9DMUVfQUNUSVZFX01BU0sJCTB4MTgwMDAwMDAKICNkZWZpbmUgTVNSX0s4X1RTRUdfQUREUgkJMHhjMDAxMDExMgogI2RlZmluZSBLOF9NVFJSRklYUkFOR0VfRFJBTV9FTkFCTEUJMHgwMDA0MDAwMCAvKiBNdHJyRml4RHJhbUVuIGJpdCAgICAqLwogI2RlZmluZSBLOF9NVFJSRklYUkFOR0VfRFJBTV9NT0RJRlkJMHgwMDA4MDAwMCAvKiBNdHJyRml4RHJhbU1vZEVuIGJpdCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21zci5oIGIvaW5jbHVkZS9hc20teDg2L21zci5oCmluZGV4IDJiNWYyYzkuLmNhMTEwZWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbXNyLmgKQEAgLTY2LDcgKzY2LDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCBuYXRpdmVfd3JpdGVfbXNyKHVuc2lnbmVkIGludCBtc3IsCiAJCQkJICAgIHVuc2lnbmVkIGxvdywgdW5zaWduZWQgaGlnaCkKIHsKLQlhc20gdm9sYXRpbGUoIndybXNyIiA6IDogImMiIChtc3IpLCAiYSIobG93KSwgImQiIChoaWdoKSk7CisJYXNtIHZvbGF0aWxlKCJ3cm1zciIgOiA6ICJjIiAobXNyKSwgImEiKGxvdyksICJkIiAoaGlnaCkgOiAibWVtb3J5Iik7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IG5hdGl2ZV93cml0ZV9tc3Jfc2FmZSh1bnNpZ25lZCBpbnQgbXNyLApAQCAtODEsNyArODEsOCBAQAogCQkgICAgIF9BU01fRVhUQUJMRSgyYiwgM2IpCiAJCSAgICAgOiAiPWEiIChlcnIpCiAJCSAgICAgOiAiYyIgKG1zciksICIwIiAobG93KSwgImQiIChoaWdoKSwKLQkJICAgICAiaSIgKC1FRkFVTFQpKTsKKwkJICAgICAgICJpIiAoLUVGQVVMVCkKKwkJICAgICA6ICJtZW1vcnkiKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbm1pLmggYi9pbmNsdWRlL2FzbS14ODYvbm1pLmgKaW5kZXggMWUzNjMwMi4uMjFmOGQwMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L25taS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9ubWkuaApAQCAtMTUsMzggKzE1LDEzIEBACiAgKi8KIGludCBkb19ubWlfY2FsbGJhY2soc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBjcHUpOwogCi0jaWZkZWYgQ09ORklHX1BNCi0KLS8qKiBSZXBsYWNlIHRoZSBQTSBjYWxsYmFjayByb3V0aW5lIGZvciBOTUkuICovCi1zdHJ1Y3QgcG1fZGV2ICpzZXRfbm1pX3BtX2NhbGxiYWNrKHBtX2NhbGxiYWNrIGNhbGxiYWNrKTsKLQotLyoqIFVuc2V0IHRoZSBQTSBjYWxsYmFjayByb3V0aW5lIGJhY2sgdG8gdGhlIGRlZmF1bHQuICovCi12b2lkIHVuc2V0X25taV9wbV9jYWxsYmFjayhzdHJ1Y3QgcG1fZGV2ICpkZXYpOwotCi0jZWxzZQotCi1zdGF0aWMgaW5saW5lIHN0cnVjdCBwbV9kZXYgKnNldF9ubWlfcG1fY2FsbGJhY2socG1fY2FsbGJhY2sgY2FsbGJhY2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB1bnNldF9ubWlfcG1fY2FsbGJhY2soc3RydWN0IHBtX2RldiAqZGV2KQotewotfQotCi0jZW5kaWYgLyogQ09ORklHX1BNICovCi0KICNpZmRlZiBDT05GSUdfWDg2XzY0CiBleHRlcm4gdm9pZCBkZWZhdWx0X2RvX25taShzdHJ1Y3QgcHRfcmVncyAqKTsKLWV4dGVybiB2b2lkIGRpZV9ubWkoY2hhciAqc3RyLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGRvX3BhbmljKTsKLWV4dGVybiB2b2lkIG5taV93YXRjaGRvZ19kZWZhdWx0KHZvaWQpOwotI2Vsc2UKLSNkZWZpbmUgbm1pX3dhdGNoZG9nX2RlZmF1bHQoKSBkbyB7fSB3aGlsZSAoMCkKICNlbmRpZgogCitleHRlcm4gdm9pZCBkaWVfbm1pKGNoYXIgKnN0ciwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBkb19wYW5pYyk7CiBleHRlcm4gaW50IGNoZWNrX25taV93YXRjaGRvZyh2b2lkKTsKIGV4dGVybiBpbnQgbm1pX3dhdGNoZG9nX2VuYWJsZWQ7Ci1leHRlcm4gaW50IHVua25vd25fbm1pX3BhbmljOwogZXh0ZXJuIGludCBhdmFpbF90b19yZXNydl9wZXJmY3RyX25taV9iaXQodW5zaWduZWQgaW50KTsKIGV4dGVybiBpbnQgYXZhaWxfdG9fcmVzcnZfcGVyZmN0cl9ubWkodW5zaWduZWQgaW50KTsKIGV4dGVybiBpbnQgcmVzZXJ2ZV9wZXJmY3RyX25taSh1bnNpZ25lZCBpbnQpOwpAQCAtNjIsMTIgKzM3LDEwIEBACiAKIGV4dGVybiBhdG9taWNfdCBubWlfYWN0aXZlOwogZXh0ZXJuIHVuc2lnbmVkIGludCBubWlfd2F0Y2hkb2c7Ci0jZGVmaW5lIE5NSV9ESVNBQkxFRCAgICAtMQogI2RlZmluZSBOTUlfTk9ORQkwCiAjZGVmaW5lIE5NSV9JT19BUElDCTEKICNkZWZpbmUgTk1JX0xPQ0FMX0FQSUMJMgogI2RlZmluZSBOTUlfSU5WQUxJRAkzCi0jZGVmaW5lIE5NSV9ERUZBVUxUCU5NSV9ESVNBQkxFRAogCiBzdHJ1Y3QgY3RsX3RhYmxlOwogc3RydWN0IGZpbGU7CkBAIC03OCw2ICs1MSwyNCBAQAogdm9pZCBfX3RyaWdnZXJfYWxsX2NwdV9iYWNrdHJhY2Uodm9pZCk7CiAjZGVmaW5lIHRyaWdnZXJfYWxsX2NwdV9iYWNrdHJhY2UoKSBfX3RyaWdnZXJfYWxsX2NwdV9iYWNrdHJhY2UoKQogCitzdGF0aWMgaW5saW5lIHZvaWQgbG9jYWxpc2Vfbm1pX3dhdGNoZG9nKHZvaWQpCit7CisJaWYgKG5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykKKwkJbm1pX3dhdGNoZG9nID0gTk1JX0xPQ0FMX0FQSUM7Cit9CisKKy8qIGNoZWNrIGlmIG5taV93YXRjaGRvZyBpcyBhY3RpdmUgKGllIHdhcyBzcGVjaWZpZWQgYXQgYm9vdCkgKi8KK3N0YXRpYyBpbmxpbmUgaW50IG5taV93YXRjaGRvZ19hY3RpdmUodm9pZCkKK3sKKwkvKgorCSAqIGFjdHVhbGx5IGl0IHNob3VsZCBiZToKKwkgKiAJcmV0dXJuIChubWlfd2F0Y2hkb2cgPT0gTk1JX0xPQ0FMX0FQSUMgfHwKKwkgKiAJCW5taV93YXRjaGRvZyA9PSBOTUlfSU9fQVBJQykKKwkgKiBidXQgc2luY2UgdGhleSBhcmUgcG93ZXIgb2YgdHdvIHdlIGNvdWxkIHVzZSBhCisJICogY2hlYXBlciB3YXkgLS1jdmcKKwkgKi8KKwlyZXR1cm4gbm1pX3dhdGNoZG9nICYgMHgzOworfQogI2VuZGlmCiAKIHZvaWQgbGFwaWNfd2F0Y2hkb2dfc3RvcCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvbnVtYV8zMi5oCmluZGV4IDAzZDBmN2EuLjIyMGQ3YjcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L251bWFfMzIuaApAQCAtMiwxNCArMiwxMCBAQAogI2RlZmluZSBfQVNNX1g4Nl8zMl9OVU1BX0ggMQogCiBleHRlcm4gaW50IHB4bV90b19uaWQoaW50IHB4bSk7CitleHRlcm4gdm9pZCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSk7CiAKICNpZmRlZiBDT05GSUdfTlVNQQotZXh0ZXJuIHZvaWQgX19pbml0IHJlbWFwX251bWFfa3ZhKHZvaWQpOwotZXh0ZXJuIHZvaWQgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdChpbnQpOwotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZCByZW1hcF9udW1hX2t2YSh2b2lkKQotewotfQorZXh0ZXJuIHZvaWQgc2V0X2hpZ2htZW1fcGFnZXNfaW5pdCh2b2lkKTsKICNlbmRpZgogCiAjZW5kaWYgLyogX0FTTV9YODZfMzJfTlVNQV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvbnVtYV82NC5oIGIvaW5jbHVkZS9hc20teDg2L251bWFfNjQuaAppbmRleCAyMmU4N2M5Li4zODMwMDk0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbnVtYV82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9udW1hXzY0LmgKQEAgLTE0LDMyICsxNCwzMCBAQAogCiAjZGVmaW5lIFpPTkVfQUxJR04gKDFVTCA8PCAoTUFYX09SREVSK1BBR0VfU0hJRlQpKQogCi1leHRlcm4gdm9pZCBudW1hX2FkZF9jcHUoaW50IGNwdSk7CiBleHRlcm4gdm9pZCBudW1hX2luaXRfYXJyYXkodm9pZCk7CiBleHRlcm4gaW50IG51bWFfb2ZmOwogCi1leHRlcm4gdm9pZCBudW1hX3NldF9ub2RlKGludCBjcHUsIGludCBub2RlKTsKIGV4dGVybiB2b2lkIHNyYXRfcmVzZXJ2ZV9hZGRfYXJlYShpbnQgbm9kZWlkKTsKIGV4dGVybiBpbnQgaG90YWRkX3BlcmNlbnQ7CiAKIGV4dGVybiBzMTYgYXBpY2lkX3RvX25vZGVbTUFYX0xPQ0FMX0FQSUNdOwogCi1leHRlcm4gdm9pZCBudW1hX2luaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwgdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIG51bWFfZnJlZV9hbGxfYm9vdG1lbSh2b2lkKTsKIGV4dGVybiB2b2lkIHNldHVwX25vZGVfYm9vdG1lbShpbnQgbm9kZWlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0LAogCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgZW5kKTsKIAogI2lmZGVmIENPTkZJR19OVU1BCiBleHRlcm4gdm9pZCBfX2luaXQgaW5pdF9jcHVfdG9fbm9kZSh2b2lkKTsKLQotc3RhdGljIGlubGluZSB2b2lkIGNsZWFyX25vZGVfY3B1bWFzayhpbnQgY3B1KQotewotCWNsZWFyX2JpdChjcHUsICh1bnNpZ25lZCBsb25nICopJm5vZGVfdG9fY3B1bWFza19tYXBbY3B1X3RvX25vZGUoY3B1KV0pOwotfQotCitleHRlcm4gdm9pZCBfX2NwdWluaXQgbnVtYV9zZXRfbm9kZShpbnQgY3B1LCBpbnQgbm9kZSk7CitleHRlcm4gdm9pZCBfX2NwdWluaXQgbnVtYV9jbGVhcl9ub2RlKGludCBjcHUpOworZXh0ZXJuIHZvaWQgX19jcHVpbml0IG51bWFfYWRkX2NwdShpbnQgY3B1KTsKK2V4dGVybiB2b2lkIF9fY3B1aW5pdCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSk7CiAjZWxzZQotI2RlZmluZSBpbml0X2NwdV90b19ub2RlKCkgZG8ge30gd2hpbGUgKDApCi0jZGVmaW5lIGNsZWFyX25vZGVfY3B1bWFzayhjcHUpIGRvIHt9IHdoaWxlICgwKQorc3RhdGljIGlubGluZSB2b2lkIGluaXRfY3B1X3RvX25vZGUodm9pZCkJCXsgfQorc3RhdGljIGlubGluZSB2b2lkIG51bWFfc2V0X25vZGUoaW50IGNwdSwgaW50IG5vZGUpCXsgfQorc3RhdGljIGlubGluZSB2b2lkIG51bWFfY2xlYXJfbm9kZShpbnQgY3B1KQkJeyB9CitzdGF0aWMgaW5saW5lIHZvaWQgbnVtYV9hZGRfY3B1KGludCBjcHUsIGludCBub2RlKQl7IH0KK3N0YXRpYyBpbmxpbmUgdm9pZCBudW1hX3JlbW92ZV9jcHUoaW50IGNwdSkJCXsgfQogI2VuZGlmCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L251bWFxLmggYi9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaAppbmRleCA5NGI4NmMzLi4zNGI5MmQ1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvbnVtYXEuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWZkZWYgQ09ORklHX1g4Nl9OVU1BUQogCitleHRlcm4gaW50IGZvdW5kX251bWFxOwogZXh0ZXJuIGludCBnZXRfbWVtY2ZnX251bWFxKHZvaWQpOwogCiAvKgpAQCAtMTU2LDkgKzE1NywxMiBAQAogCXN0cnVjdAkJZWFjaHF1YWRtZW0gZXFbTUFYX05VTU5PREVTXTsJLyogaW5kZXhlZCBieSBxdWFkIGlkICovCiB9OwogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgKmdldF96aG9sZXNfc2l6ZShpbnQgbmlkKQordm9pZCBudW1hcV90c2NfZGlzYWJsZSh2b2lkKTsKKworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGdldF9tZW1jZmdfbnVtYXEodm9pZCkKIHsKLQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gMDsKIH0KICNlbmRpZiAvKiBDT05GSUdfWDg2X05VTUFRICovCiAjZW5kaWYgLyogTlVNQVFfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhZ2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlLmgKaW5kZXggZGM5MzZkZC4uMjhkN2I0NSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BhZ2UuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGFnZS5oCkBAIC01MSw5ICs1MSwxNyBAQAogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogCit0eXBlZGVmIHN0cnVjdCB7IHBnZHZhbF90IHBnZDsgfSBwZ2RfdDsKK3R5cGVkZWYgc3RydWN0IHsgcGdwcm90dmFsX3QgcGdwcm90OyB9IHBncHJvdF90OworCiBleHRlcm4gaW50IHBhZ2VfaXNfcmFtKHVuc2lnbmVkIGxvbmcgcGFnZW5yKTsKIGV4dGVybiBpbnQgZGV2bWVtX2lzX2FsbG93ZWQodW5zaWduZWQgbG9uZyBwYWdlbnIpOworZXh0ZXJuIHZvaWQgbWFwX2Rldm1lbSh1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9uZyBzaXplLAorCQkgICAgICAgcGdwcm90X3Qgdm1hX3Byb3QpOworZXh0ZXJuIHZvaWQgdW5tYXBfZGV2bWVtKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkgcGdwcm90X3Qgdm1hX3Byb3QpOwogCitleHRlcm4gdW5zaWduZWQgbG9uZyBtYXhfbG93X3Bmbl9tYXBwZWQ7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBtYXhfcGZuX21hcHBlZDsKIAogc3RydWN0IHBhZ2U7CkBAIC03NCw5ICs4Miw2IEBACiAJYWxsb2NfcGFnZV92bWEoR0ZQX0hJR0hVU0VSIHwgX19HRlBfWkVSTyB8IG1vdmFibGVmbGFncywgdm1hLCB2YWRkcikKICNkZWZpbmUgX19IQVZFX0FSQ0hfQUxMT0NfWkVST0VEX1VTRVJfSElHSFBBR0UKIAotdHlwZWRlZiBzdHJ1Y3QgeyBwZ2R2YWxfdCBwZ2Q7IH0gcGdkX3Q7Ci10eXBlZGVmIHN0cnVjdCB7IHBncHJvdHZhbF90IHBncHJvdDsgfSBwZ3Byb3RfdDsKLQogc3RhdGljIGlubGluZSBwZ2RfdCBuYXRpdmVfbWFrZV9wZ2QocGdkdmFsX3QgdmFsKQogewogCXJldHVybiAocGdkX3QpIHsgdmFsIH07CkBAIC0xNjAsNiArMTY1LDcgQEAKICNlbmRpZgogCiAjZGVmaW5lIHB0ZV92YWwoeCkJbmF0aXZlX3B0ZV92YWwoeCkKKyNkZWZpbmUgcHRlX2ZsYWdzKHgpCW5hdGl2ZV9wdGVfdmFsKHgpCiAjZGVmaW5lIF9fcHRlKHgpCW5hdGl2ZV9tYWtlX3B0ZSh4KQogCiAjZW5kaWYJLyogQ09ORklHX1BBUkFWSVJUICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGFnZV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3BhZ2VfMzIuaAppbmRleCBjY2YwYmEzLi5hYjg1Mjg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGFnZV8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzMyLmgKQEAgLTEzLDYgKzEzLDE0IEBACiAgKi8KICNkZWZpbmUgX19QQUdFX09GRlNFVAkJX0FDKENPTkZJR19QQUdFX09GRlNFVCwgVUwpCiAKKyNpZmRlZiBDT05GSUdfNEtTVEFDS1MKKyNkZWZpbmUgVEhSRUFEX09SREVSCTAKKyNlbHNlCisjZGVmaW5lIFRIUkVBRF9PUkRFUgkxCisjZW5kaWYKKyNkZWZpbmUgVEhSRUFEX1NJWkUgCShQQUdFX1NJWkUgPDwgVEhSRUFEX09SREVSKQorCisKICNpZmRlZiBDT05GSUdfWDg2X1BBRQogLyogNDQ9MzIrMTIsIHRoZSBsaW1pdCB3ZSBjYW4gZml0IGludG8gYW4gdW5zaWduZWQgbG9uZyBwZm4gKi8KICNkZWZpbmUgX19QSFlTSUNBTF9NQVNLX1NISUZUCTQ0CkBAIC04NCw2ICs5MiwxMyBAQAogI2RlZmluZSBWTUFMTE9DX1JFU0VSVkUJCSgodW5zaWduZWQgbG9uZylfX1ZNQUxMT0NfUkVTRVJWRSkKICNkZWZpbmUgTUFYTUVNCQkJKC1fX1BBR0VfT0ZGU0VUIC0gX19WTUFMTE9DX1JFU0VSVkUpCiAKK2V4dGVybiB2b2lkIGZpbmRfbG93X3Bmbl9yYW5nZSh2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGluaXRfbWVtb3J5X21hcHBpbmcodW5zaWduZWQgbG9uZyBzdGFydCwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgZW5kKTsKK2V4dGVybiB2b2lkIGluaXRtZW1faW5pdCh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nKTsKK2V4dGVybiB2b2lkIHNldHVwX2Jvb3RtZW1fYWxsb2NhdG9yKHZvaWQpOworCisKICNpZmRlZiBDT05GSUdfWDg2X1VTRV8zRE5PVwogI2luY2x1ZGUgPGFzbS9tbXguaD4KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BhZ2VfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wYWdlXzY0LmgKaW5kZXggNmVhNzI4NS4uYzY5MTZjOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BhZ2VfNjQuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGFnZV82NC5oCkBAIC0yNiw3ICsyNiwxMyBAQAogI2RlZmluZSBQVURfUEFHRV9TSVpFCQkoX0FDKDEsIFVMKSA8PCBQVURfU0hJRlQpCiAjZGVmaW5lIFBVRF9QQUdFX01BU0sJCSh+KFBVRF9QQUdFX1NJWkUtMSkpCiAKLSNkZWZpbmUgX19QQUdFX09GRlNFVCAgICAgICAgICAgX0FDKDB4ZmZmZjgxMDAwMDAwMDAwMCwgVUwpCisvKgorICogU2V0IF9fUEFHRV9PRkZTRVQgdG8gdGhlIG1vc3QgbmVnYXRpdmUgcG9zc2libGUgYWRkcmVzcyArCisgKiBQR0RJUl9TSVpFKjE2IChwZ2Qgc2xvdCAyNzIpLiAgVGhlIGdhcCBpcyB0byBhbGxvdyBhIHNwYWNlIGZvciBhCisgKiBoeXBlcnZpc29yIHRvIGZpdC4gIENob29zaW5nIDE2IHNsb3RzIGhlcmUgaXMgYXJiaXRyYXJ5LCBidXQgaXQncworICogd2hhdCBYZW4gcmVxdWlyZXMuCisgKi8KKyNkZWZpbmUgX19QQUdFX09GRlNFVCAgICAgICAgICAgX0FDKDB4ZmZmZjg4MDAwMDAwMDAwMCwgVUwpCiAKICNkZWZpbmUgX19QSFlTSUNBTF9TVEFSVAlDT05GSUdfUEhZU0lDQUxfU1RBUlQKICNkZWZpbmUgX19LRVJORUxfQUxJR04JCTB4MjAwMDAwCkBAIC01OCw3ICs2NCw4IEBACiB2b2lkIGNsZWFyX3BhZ2Uodm9pZCAqcGFnZSk7CiB2b2lkIGNvcHlfcGFnZSh2b2lkICp0bywgdm9pZCAqZnJvbSk7CiAKLWV4dGVybiB1bnNpZ25lZCBsb25nIGVuZF9wZm47CisvKiBkdXBsaWNhdGVkIHRvIHRoZSBvbmUgaW4gYm9vdG1lbS5oICovCitleHRlcm4gdW5zaWduZWQgbG9uZyBtYXhfcGZuOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcGh5c19iYXNlOwogCiBleHRlcm4gdW5zaWduZWQgbG9uZyBfX3BoeXNfYWRkcih1bnNpZ25lZCBsb25nKTsKQEAgLTgzLDEwICs5MCwxNSBAQAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9tZW1vcnlfbWFwcGluZyh1bnNpZ25lZCBsb25nIHN0YXJ0LAogCQkJCQkgdW5zaWduZWQgbG9uZyBlbmQpOwogCitleHRlcm4gdm9pZCBpbml0bWVtX2luaXQodW5zaWduZWQgbG9uZyBzdGFydF9wZm4sIHVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7CisKK2V4dGVybiB2b2lkIGluaXRfZXh0cmFfbWFwcGluZ191Yyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CitleHRlcm4gdm9pZCBpbml0X2V4dHJhX21hcHBpbmdfd2IodW5zaWduZWQgbG9uZyBwaHlzLCB1bnNpZ25lZCBsb25nIHNpemUpOworCiAjZW5kaWYJLyogIV9fQVNTRU1CTFlfXyAqLwogCiAjaWZkZWYgQ09ORklHX0ZMQVRNRU0KLSNkZWZpbmUgcGZuX3ZhbGlkKHBmbikgICAgICAgICAgKChwZm4pIDwgZW5kX3BmbikKKyNkZWZpbmUgcGZuX3ZhbGlkKHBmbikgICAgICAgICAgKChwZm4pIDwgbWF4X3BmbikKICNlbmRpZgogCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wYXJhdmlydC5oIGIvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmgKaW5kZXggMGYxM2I5NC4uZWY1ZThlYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BhcmF2aXJ0LmgKQEAgLTg0LDcgKzg0LDcgQEAKIAlpbnQgKCpzZXRfd2FsbGNsb2NrKSh1bnNpZ25lZCBsb25nKTsKIAogCXVuc2lnbmVkIGxvbmcgbG9uZyAoKnNjaGVkX2Nsb2NrKSh2b2lkKTsKLQl1bnNpZ25lZCBsb25nICgqZ2V0X2NwdV9raHopKHZvaWQpOworCXVuc2lnbmVkIGxvbmcgKCpnZXRfdHNjX2toeikodm9pZCk7CiB9OwogCiBzdHJ1Y3QgcHZfY3B1X29wcyB7CkBAIC0xMTUsNiArMTE1LDkgQEAKIAl2b2lkICgqc2V0X2xkdCkoY29uc3Qgdm9pZCAqZGVzYywgdW5zaWduZWQgZW50cmllcyk7CiAJdW5zaWduZWQgbG9uZyAoKnN0b3JlX3RyKSh2b2lkKTsKIAl2b2lkICgqbG9hZF90bHMpKHN0cnVjdCB0aHJlYWRfc3RydWN0ICp0LCB1bnNpZ25lZCBpbnQgY3B1KTsKKyNpZmRlZiBDT05GSUdfWDg2XzY0CisJdm9pZCAoKmxvYWRfZ3NfaW5kZXgpKHVuc2lnbmVkIGludCBpZHgpOworI2VuZGlmCiAJdm9pZCAoKndyaXRlX2xkdF9lbnRyeSkoc3RydWN0IGRlc2Nfc3RydWN0ICpsZHQsIGludCBlbnRyeW51bSwKIAkJCQljb25zdCB2b2lkICpkZXNjKTsKIAl2b2lkICgqd3JpdGVfZ2R0X2VudHJ5KShzdHJ1Y3QgZGVzY19zdHJ1Y3QgKiwKQEAgLTE0MSw4ICsxNDQsMzIgQEAKIAl1NjQgKCpyZWFkX3BtYykoaW50IGNvdW50ZXIpOwogCXVuc2lnbmVkIGxvbmcgbG9uZyAoKnJlYWRfdHNjcCkodW5zaWduZWQgaW50ICphdXgpOwogCi0JLyogVGhlc2UgdHdvIGFyZSBqbXAgdG8sIG5vdCBhY3R1YWxseSBjYWxsZWQuICovCi0Jdm9pZCAoKmlycV9lbmFibGVfc3lzY2FsbF9yZXQpKHZvaWQpOworCS8qCisJICogQXRvbWljYWxseSBlbmFibGUgaW50ZXJydXB0cyBhbmQgcmV0dXJuIHRvIHVzZXJzcGFjZS4gIFRoaXMKKwkgKiBpcyBvbmx5IGV2ZXIgdXNlZCB0byByZXR1cm4gdG8gMzItYml0IHByb2Nlc3NlczsgaW4gYQorCSAqIDY0LWJpdCBrZXJuZWwsIGl0J3MgdXNlZCBmb3IgMzItb24tNjQgY29tcGF0IHByb2Nlc3NlcywgYnV0CisJICogbmV2ZXIgbmF0aXZlIDY0LWJpdCBwcm9jZXNzZXMuICAoSnVtcCwgbm90IGNhbGwuKQorCSAqLworCXZvaWQgKCppcnFfZW5hYmxlX3N5c2V4aXQpKHZvaWQpOworCisJLyoKKwkgKiBTd2l0Y2ggdG8gdXNlcm1vZGUgZ3MgYW5kIHJldHVybiB0byA2NC1iaXQgdXNlcm1vZGUgdXNpbmcKKwkgKiBzeXNyZXQuICBPbmx5IHVzZWQgaW4gNjQtYml0IGtlcm5lbHMgdG8gcmV0dXJuIHRvIDY0LWJpdAorCSAqIHByb2Nlc3Nlcy4gIFVzZXJtb2RlIHJlZ2lzdGVyIHN0YXRlLCBpbmNsdWRpbmcgJXJzcCwgbXVzdAorCSAqIGFscmVhZHkgYmUgcmVzdG9yZWQuCisJICovCisJdm9pZCAoKnVzZXJnc19zeXNyZXQ2NCkodm9pZCk7CisKKwkvKgorCSAqIFN3aXRjaCB0byB1c2VybW9kZSBncyBhbmQgcmV0dXJuIHRvIDMyLWJpdCB1c2VybW9kZSB1c2luZworCSAqIHN5c3JldC4gIFVzZWQgdG8gcmV0dXJuIHRvIDMyLW9uLTY0IGNvbXBhdCBwcm9jZXNzZXMuCisJICogT3RoZXIgdXNlcm1vZGUgcmVnaXN0ZXIgc3RhdGUsIGluY2x1ZGluZyAlZXNwLCBtdXN0IGFscmVhZHkKKwkgKiBiZSByZXN0b3JlZC4KKwkgKi8KKwl2b2lkICgqdXNlcmdzX3N5c3JldDMyKSh2b2lkKTsKKworCS8qIE5vcm1hbCBpcmV0LiAgSnVtcCB0byB0aGlzIHdpdGggdGhlIHN0YW5kYXJkIGlyZXQgc3RhY2sKKwkgICBmcmFtZSBzZXQgdXAuICovCiAJdm9pZCAoKmlyZXQpKHZvaWQpOwogCiAJdm9pZCAoKnN3YXBncykodm9pZCk7CkBAIC0xNjUsNiArMTkyLDEwIEBACiAJdm9pZCAoKmlycV9lbmFibGUpKHZvaWQpOwogCXZvaWQgKCpzYWZlX2hhbHQpKHZvaWQpOwogCXZvaWQgKCpoYWx0KSh2b2lkKTsKKworI2lmZGVmIENPTkZJR19YODZfNjQKKwl2b2lkICgqYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSkodm9pZCk7CisjZW5kaWYKIH07CiAKIHN0cnVjdCBwdl9hcGljX29wcyB7CkBAIC0yMTksNyArMjUwLDE0IEBACiAJdm9pZCAoKmZsdXNoX3RsYl9vdGhlcnMpKGNvbnN0IGNwdW1hc2tfdCAqY3B1cywgc3RydWN0IG1tX3N0cnVjdCAqbW0sCiAJCQkJIHVuc2lnbmVkIGxvbmcgdmEpOwogCi0JLyogSG9va3MgZm9yIGFsbG9jYXRpbmcvcmVsZWFzaW5nIHBhZ2V0YWJsZSBwYWdlcyAqLworCS8qIEhvb2tzIGZvciBhbGxvY2F0aW5nIGFuZCBmcmVlaW5nIGEgcGFnZXRhYmxlIHRvcC1sZXZlbCAqLworCWludCAgKCpwZ2RfYWxsb2MpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKTsKKwl2b2lkICgqcGdkX2ZyZWUpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKTsKKworCS8qCisJICogSG9va3MgZm9yIGFsbG9jYXRpbmcvcmVsZWFzaW5nIHBhZ2V0YWJsZSBwYWdlcyB3aGVuIHRoZXkncmUKKwkgKiBhdHRhY2hlZCB0byBhIHBhZ2V0YWJsZQorCSAqLwogCXZvaWQgKCphbGxvY19wdGUpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1MzIgcGZuKTsKIAl2b2lkICgqYWxsb2NfcG1kKShzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdTMyIHBmbik7CiAJdm9pZCAoKmFsbG9jX3BtZF9jbG9uZSkodTMyIHBmbiwgdTMyIGNsb25lcGZuLCB1MzIgc3RhcnQsIHUzMiBjb3VudCk7CkBAIC0yMzgsNyArMjc2LDEzIEBACiAJdm9pZCAoKnB0ZV91cGRhdGVfZGVmZXIpKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAogCQkJCSB1bnNpZ25lZCBsb25nIGFkZHIsIHB0ZV90ICpwdGVwKTsKIAorCXB0ZV90ICgqcHRlcF9tb2RpZnlfcHJvdF9zdGFydCkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJcHRlX3QgKnB0ZXApOworCXZvaWQgKCpwdGVwX21vZGlmeV9wcm90X2NvbW1pdCkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKKwkJCQkJcHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSk7CisKIAlwdGV2YWxfdCAoKnB0ZV92YWwpKHB0ZV90KTsKKwlwdGV2YWxfdCAoKnB0ZV9mbGFncykocHRlX3QpOwogCXB0ZV90ICgqbWFrZV9wdGUpKHB0ZXZhbF90IHB0ZSk7CiAKIAlwZ2R2YWxfdCAoKnBnZF92YWwpKHBnZF90KTsKQEAgLTI3Myw2ICszMTcsMTMgQEAKICNlbmRpZgogCiAJc3RydWN0IHB2X2xhenlfb3BzIGxhenlfbW9kZTsKKworCS8qIGRvbTAgb3BzICovCisKKwkvKiBTb21ldGltZXMgdGhlIHBoeXNpY2FsIGFkZHJlc3MgaXMgYSBwZm4sIGFuZCBzb21ldGltZXMgaXRzCisJICAgYW4gbWZuLiAgV2UgY2FuIHRlbGwgd2hpY2ggaXMgd2hpY2ggZnJvbSB0aGUgaW5kZXguICovCisJdm9pZCAoKnNldF9maXhtYXApKHVuc2lnbmVkIC8qIGVudW0gZml4ZWRfYWRkcmVzc2VzICovIGlkeCwKKwkJCSAgIHVuc2lnbmVkIGxvbmcgcGh5cywgcGdwcm90X3QgZmxhZ3MpOwogfTsKIAogLyogVGhpcyBjb250YWlucyBhbGwgdGhlIHBhcmF2aXJ0IHN0cnVjdHVyZXM6IHdlIGdldCBhIGNvbnZlbmllbnQKQEAgLTQzOSwxMCArNDkwLDE3IEBACiAjZGVmaW5lIFZFWFRSQV9DTE9CQkVSUwkgLCAicmF4IiwgInI4IiwgInI5IiwgInIxMCIsICJyMTEiCiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19QQVJBVklSVF9ERUJVRworI2RlZmluZSBQVk9QX1RFU1RfTlVMTChvcCkJQlVHX09OKG9wID09IE5VTEwpCisjZWxzZQorI2RlZmluZSBQVk9QX1RFU1RfTlVMTChvcCkJKCh2b2lkKW9wKQorI2VuZGlmCisKICNkZWZpbmUgX19QVk9QX0NBTEwocmV0dHlwZSwgb3AsIHByZSwgcG9zdCwgLi4uKQkJCVwKIAkoewkJCQkJCQkJXAogCQlyZXR0eXBlIF9fcmV0OwkJCQkJCVwKIAkJUFZPUF9DQUxMX0FSR1M7CQkJCQlcCisJCVBWT1BfVEVTVF9OVUxMKG9wKTsJCQkJCVwKIAkJLyogVGhpcyBpcyAzMi1iaXQgc3BlY2lmaWMsIGJ1dCBpcyBva2F5IGluIDY0LWJpdCAqLwlcCiAJCS8qIHNpbmNlIHRoaXMgY29uZGl0aW9uIHdpbGwgbmV2ZXIgaG9sZCAqLwkJXAogCQlpZiAoc2l6ZW9mKHJldHR5cGUpID4gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKSB7CQlcCkBAIC00NzEsNiArNTI5LDcgQEAKICNkZWZpbmUgX19QVk9QX1ZDQUxMKG9wLCBwcmUsIHBvc3QsIC4uLikJCQkJXAogCSh7CQkJCQkJCQlcCiAJCVBWT1BfVkNBTExfQVJHUzsJCQkJCVwKKwkJUFZPUF9URVNUX05VTEwob3ApOwkJCQkJXAogCQlhc20gdm9sYXRpbGUocHJlCQkJCQlcCiAJCQkgICAgIHBhcmF2aXJ0X2FsdChQQVJBVklSVF9DQUxMKQkJXAogCQkJICAgICBwb3N0CQkJCQlcCkBAIC03MjAsNyArNzc5LDcgQEAKIHsKIAlyZXR1cm4gUFZPUF9DQUxMMCh1bnNpZ25lZCBsb25nIGxvbmcsIHB2X3RpbWVfb3BzLnNjaGVkX2Nsb2NrKTsKIH0KLSNkZWZpbmUgY2FsY3VsYXRlX2NwdV9raHooKSAocHZfdGltZV9vcHMuZ2V0X2NwdV9raHooKSkKKyNkZWZpbmUgY2FsaWJyYXRlX3RzYygpIChwdl90aW1lX29wcy5nZXRfdHNjX2toeigpKQogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbG9uZyBwYXJhdmlydF9yZWFkX3BtYyhpbnQgY291bnRlcikKIHsKQEAgLTc4OSw2ICs4NDgsMTMgQEAKIAlQVk9QX1ZDQUxMMihwdl9jcHVfb3BzLmxvYWRfdGxzLCB0LCBjcHUpOwogfQogCisjaWZkZWYgQ09ORklHX1g4Nl82NAorc3RhdGljIGlubGluZSB2b2lkIGxvYWRfZ3NfaW5kZXgodW5zaWduZWQgaW50IGdzKQoreworCVBWT1BfVkNBTEwxKHB2X2NwdV9vcHMubG9hZF9nc19pbmRleCwgZ3MpOworfQorI2VuZGlmCisKIHN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZV9sZHRfZW50cnkoc3RydWN0IGRlc2Nfc3RydWN0ICpkdCwgaW50IGVudHJ5LAogCQkJCSAgIGNvbnN0IHZvaWQgKmRlc2MpCiB7CkBAIC05MTIsNiArOTc4LDE2IEBACiAJUFZPUF9WQ0FMTDMocHZfbW11X29wcy5mbHVzaF90bGJfb3RoZXJzLCAmY3B1bWFzaywgbW0sIHZhKTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgcGFyYXZpcnRfcGdkX2FsbG9jKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQoreworCXJldHVybiBQVk9QX0NBTEwxKGludCwgcHZfbW11X29wcy5wZ2RfYWxsb2MsIG1tKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X3BnZF9mcmVlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCBwZ2RfdCAqcGdkKQoreworCVBWT1BfVkNBTEwyKHB2X21tdV9vcHMucGdkX2ZyZWUsIG1tLCBwZ2QpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWxsb2NfcHRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBwZm4pCiB7CiAJUFZPUF9WQ0FMTDIocHZfbW11X29wcy5hbGxvY19wdGUsIG1tLCBwZm4pOwpAQCAtOTk2LDYgKzEwNzIsMjAgQEAKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW5saW5lIHB0ZXZhbF90IHB0ZV9mbGFncyhwdGVfdCBwdGUpCit7CisJcHRldmFsX3QgcmV0OworCisJaWYgKHNpemVvZihwdGV2YWxfdCkgPiBzaXplb2YobG9uZykpCisJCXJldCA9IFBWT1BfQ0FMTDIocHRldmFsX3QsIHB2X21tdV9vcHMucHRlX2ZsYWdzLAorCQkJCSBwdGUucHRlLCAodTY0KXB0ZS5wdGUgPj4gMzIpOworCWVsc2UKKwkJcmV0ID0gUFZPUF9DQUxMMShwdGV2YWxfdCwgcHZfbW11X29wcy5wdGVfZmxhZ3MsCisJCQkJIHB0ZS5wdGUpOworCisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGlubGluZSBwZ2RfdCBfX3BnZChwZ2R2YWxfdCB2YWwpCiB7CiAJcGdkdmFsX3QgcmV0OwpAQCAtMTAyNCw2ICsxMTE0LDI5IEBACiAJcmV0dXJuIHJldDsKIH0KIAorI2RlZmluZSAgX19IQVZFX0FSQ0hfUFRFUF9NT0RJRllfUFJPVF9UUkFOU0FDVElPTgorc3RhdGljIGlubGluZSBwdGVfdCBwdGVwX21vZGlmeV9wcm90X3N0YXJ0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgIHB0ZV90ICpwdGVwKQoreworCXB0ZXZhbF90IHJldDsKKworCXJldCA9IFBWT1BfQ0FMTDMocHRldmFsX3QsIHB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9zdGFydCwKKwkJCSBtbSwgYWRkciwgcHRlcCk7CisKKwlyZXR1cm4gKHB0ZV90KSB7IC5wdGUgPSByZXQgfTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCisJCQkJCSAgIHB0ZV90ICpwdGVwLCBwdGVfdCBwdGUpCit7CisJaWYgKHNpemVvZihwdGV2YWxfdCkgPiBzaXplb2YobG9uZykpCisJCS8qIDUgYXJnIHdvcmRzICovCisJCXB2X21tdV9vcHMucHRlcF9tb2RpZnlfcHJvdF9jb21taXQobW0sIGFkZHIsIHB0ZXAsIHB0ZSk7CisJZWxzZQorCQlQVk9QX1ZDQUxMNChwdl9tbXVfb3BzLnB0ZXBfbW9kaWZ5X3Byb3RfY29tbWl0LAorCQkJICAgIG1tLCBhZGRyLCBwdGVwLCBwdGUucHRlKTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIHNldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkKIHsKIAlpZiAoc2l6ZW9mKHB0ZXZhbF90KSA+IHNpemVvZihsb25nKSkKQEAgLTEyNTIsNiArMTM2NSwxMiBAQAogCX0KIH0KIAorc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X2ZpeG1hcCh1bnNpZ25lZCAvKiBlbnVtIGZpeGVkX2FkZHJlc3NlcyAqLyBpZHgsCisJCQkJdW5zaWduZWQgbG9uZyBwaHlzLCBwZ3Byb3RfdCBmbGFncykKK3sKKwlwdl9tbXVfb3BzLnNldF9maXhtYXAoaWR4LCBwaHlzLCBmbGFncyk7Cit9CisKIHZvaWQgX3BhcmF2aXJ0X25vcCh2b2lkKTsKICNkZWZpbmUgcGFyYXZpcnRfbm9wCSgodm9pZCAqKV9wYXJhdmlydF9ub3ApCiAKQEAgLTEzNzQsNTQgKzE0OTMsODYgQEAKICNkZWZpbmUgUFZfUkVTVE9SRV9SRUdTIHBvcHEgJXJkeDsgcG9wcSAlcmN4OyBwb3BxICVyZGk7IHBvcHEgJXJheAogI2RlZmluZSBQQVJBX1BBVENIKHN0cnVjdCwgb2ZmKSAgICAgICAgKChQQVJBVklSVF9QQVRDSF8jI3N0cnVjdCArIChvZmYpKSAvIDgpCiAjZGVmaW5lIFBBUkFfU0lURShwdHlwZSwgY2xvYmJlcnMsIG9wcykgX1BWU0lURShwdHlwZSwgY2xvYmJlcnMsIG9wcywgLnF1YWQsIDgpCisjZGVmaW5lIFBBUkFfSU5ESVJFQ1QoYWRkcikJKmFkZHIoJXJpcCkKICNlbHNlCiAjZGVmaW5lIFBWX1NBVkVfUkVHUyAgIHB1c2hsICVlYXg7IHB1c2hsICVlZGk7IHB1c2hsICVlY3g7IHB1c2hsICVlZHgKICNkZWZpbmUgUFZfUkVTVE9SRV9SRUdTIHBvcGwgJWVkeDsgcG9wbCAlZWN4OyBwb3BsICVlZGk7IHBvcGwgJWVheAogI2RlZmluZSBQQVJBX1BBVENIKHN0cnVjdCwgb2ZmKSAgICAgICAgKChQQVJBVklSVF9QQVRDSF8jI3N0cnVjdCArIChvZmYpKSAvIDQpCiAjZGVmaW5lIFBBUkFfU0lURShwdHlwZSwgY2xvYmJlcnMsIG9wcykgX1BWU0lURShwdHlwZSwgY2xvYmJlcnMsIG9wcywgLmxvbmcsIDQpCisjZGVmaW5lIFBBUkFfSU5ESVJFQ1QoYWRkcikJKiVjczphZGRyCiAjZW5kaWYKIAogI2RlZmluZSBJTlRFUlJVUFRfUkVUVVJOCQkJCQkJXAogCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9pcmV0KSwgQ0xCUl9OT05FLAlcCi0JCSAgam1wIColY3M6cHZfY3B1X29wcytQVl9DUFVfaXJldCkKKwkJICBqbXAgUEFSQV9JTkRJUkVDVChwdl9jcHVfb3BzK1BWX0NQVV9pcmV0KSkKIAogI2RlZmluZSBESVNBQkxFX0lOVEVSUlVQVFMoY2xvYmJlcnMpCQkJCQlcCiAJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfaXJxX29wcywgUFZfSVJRX2lycV9kaXNhYmxlKSwgY2xvYmJlcnMsIFwKLQkJICBQVl9TQVZFX1JFR1M7CQkJXAotCQkgIGNhbGwgKiVjczpwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZGlzYWJsZTsJCVwKKwkJICBQVl9TQVZFX1JFR1M7CQkJCQkJXAorCQkgIGNhbGwgUEFSQV9JTkRJUkVDVChwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZGlzYWJsZSk7CVwKIAkJICBQVl9SRVNUT1JFX1JFR1M7KQkJCVwKIAogI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUUyhjbG9iYmVycykJCQkJCVwKIAlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9pcnFfb3BzLCBQVl9JUlFfaXJxX2VuYWJsZSksIGNsb2JiZXJzLAlcCi0JCSAgUFZfU0FWRV9SRUdTOwkJCVwKLQkJICBjYWxsIColY3M6cHZfaXJxX29wcytQVl9JUlFfaXJxX2VuYWJsZTsJCVwKKwkJICBQVl9TQVZFX1JFR1M7CQkJCQkJXAorCQkgIGNhbGwgUEFSQV9JTkRJUkVDVChwdl9pcnFfb3BzK1BWX0lSUV9pcnFfZW5hYmxlKTsJXAogCQkgIFBWX1JFU1RPUkVfUkVHUzspCiAKLSNkZWZpbmUgRU5BQkxFX0lOVEVSUlVQVFNfU1lTQ0FMTF9SRVQJCQkJCVwKLQlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9jcHVfb3BzLCBQVl9DUFVfaXJxX2VuYWJsZV9zeXNjYWxsX3JldCksXAorI2RlZmluZSBVU0VSR1NfU1lTUkVUMzIJCQkJCQkJXAorCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV91c2VyZ3Nfc3lzcmV0MzIpLAlcCiAJCSAgQ0xCUl9OT05FLAkJCQkJCVwKLQkJICBqbXAgKiVjczpwdl9jcHVfb3BzK1BWX0NQVV9pcnFfZW5hYmxlX3N5c2NhbGxfcmV0KQotCisJCSAgam1wIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfdXNlcmdzX3N5c3JldDMyKSkKIAogI2lmZGVmIENPTkZJR19YODZfMzIKLSNkZWZpbmUgR0VUX0NSMF9JTlRPX0VBWAkJCVwKLQlwdXNoICVlY3g7IHB1c2ggJWVkeDsJCQlcCi0JY2FsbCAqcHZfY3B1X29wcytQVl9DUFVfcmVhZF9jcjA7CVwKKyNkZWZpbmUgR0VUX0NSMF9JTlRPX0VBWAkJCQlcCisJcHVzaCAlZWN4OyBwdXNoICVlZHg7CQkJCVwKKwljYWxsIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfcmVhZF9jcjApOwlcCiAJcG9wICVlZHg7IHBvcCAlZWN4Ci0jZWxzZQorCisjZGVmaW5lIEVOQUJMRV9JTlRFUlJVUFRTX1NZU0VYSVQJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9jcHVfb3BzLCBQVl9DUFVfaXJxX2VuYWJsZV9zeXNleGl0KSwJXAorCQkgIENMQlJfTk9ORSwJCQkJCQlcCisJCSAgam1wIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfaXJxX2VuYWJsZV9zeXNleGl0KSkKKworCisjZWxzZQkvKiAhQ09ORklHX1g4Nl8zMiAqLworCisvKgorICogSWYgc3dhcGdzIGlzIHVzZWQgd2hpbGUgdGhlIHVzZXJzcGFjZSBzdGFjayBpcyBzdGlsbCBjdXJyZW50LAorICogdGhlcmUncyBubyB3YXkgdG8gY2FsbCBhIHB2b3AuICBUaGUgUFYgcmVwbGFjZW1lbnQgKm11c3QqIGJlCisgKiBpbmxpbmVkLCBvciB0aGUgc3dhcGdzIGluc3RydWN0aW9uIG11c3QgYmUgdHJhcHBlZCBhbmQgZW11bGF0ZWQuCisgKi8KKyNkZWZpbmUgU1dBUEdTX1VOU0FGRV9TVEFDSwkJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9jcHVfb3BzLCBQVl9DUFVfc3dhcGdzKSwgQ0xCUl9OT05FLAlcCisJCSAgc3dhcGdzKQorCiAjZGVmaW5lIFNXQVBHUwkJCQkJCQkJXAogCVBBUkFfU0lURShQQVJBX1BBVENIKHB2X2NwdV9vcHMsIFBWX0NQVV9zd2FwZ3MpLCBDTEJSX05PTkUsCVwKIAkJICBQVl9TQVZFX1JFR1M7CQkJCQkJXAotCQkgIGNhbGwgKnB2X2NwdV9vcHMrUFZfQ1BVX3N3YXBnczsJCQlcCisJCSAgY2FsbCBQQVJBX0lORElSRUNUKHB2X2NwdV9vcHMrUFZfQ1BVX3N3YXBncyk7CQlcCiAJCSAgUFZfUkVTVE9SRV9SRUdTCQkJCQlcCiAJCSApCiAKLSNkZWZpbmUgR0VUX0NSMl9JTlRPX1JDWAkJCVwKLQljYWxsICpwdl9tbXVfb3BzK1BWX01NVV9yZWFkX2NyMjsJXAotCW1vdnEgJXJheCwgJXJjeDsJCQlcCisjZGVmaW5lIEdFVF9DUjJfSU5UT19SQ1gJCQkJXAorCWNhbGwgUEFSQV9JTkRJUkVDVChwdl9tbXVfb3BzK1BWX01NVV9yZWFkX2NyMik7CVwKKwltb3ZxICVyYXgsICVyY3g7CQkJCVwKIAl4b3JxICVyYXgsICVyYXg7CiAKLSNlbmRpZgorI2RlZmluZSBQQVJBVklSVF9BREpVU1RfRVhDRVBUSU9OX0ZSQU1FCQkJCQlcCisJUEFSQV9TSVRFKFBBUkFfUEFUQ0gocHZfaXJxX29wcywgUFZfSVJRX2FkanVzdF9leGNlcHRpb25fZnJhbWUpLCBcCisJCSAgQ0xCUl9OT05FLAkJCQkJCVwKKwkJICBjYWxsIFBBUkFfSU5ESVJFQ1QocHZfaXJxX29wcytQVl9JUlFfYWRqdXN0X2V4Y2VwdGlvbl9mcmFtZSkpCisKKyNkZWZpbmUgVVNFUkdTX1NZU1JFVDY0CQkJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9jcHVfb3BzLCBQVl9DUFVfdXNlcmdzX3N5c3JldDY0KSwJXAorCQkgIENMQlJfTk9ORSwJCQkJCQlcCisJCSAgam1wIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfdXNlcmdzX3N5c3JldDY0KSkKKworI2RlZmluZSBFTkFCTEVfSU5URVJSVVBUU19TWVNFWElUMzIJCQkJCVwKKwlQQVJBX1NJVEUoUEFSQV9QQVRDSChwdl9jcHVfb3BzLCBQVl9DUFVfaXJxX2VuYWJsZV9zeXNleGl0KSwJXAorCQkgIENMQlJfTk9ORSwJCQkJCQlcCisJCSAgam1wIFBBUkFfSU5ESVJFQ1QocHZfY3B1X29wcytQVl9DUFVfaXJxX2VuYWJsZV9zeXNleGl0KSkKKyNlbmRpZgkvKiBDT05GSUdfWDg2XzMyICovCiAKICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KICNlbmRpZiAvKiBDT05GSUdfUEFSQVZJUlQgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wYXQuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wYXQuaAppbmRleCA4OGY2MGNjLi43ZWRjNDczIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGF0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BhdC5oCkBAIC0xLDE0ICsxLDEzIEBACi0KICNpZm5kZWYgX0FTTV9QQVRfSAotI2RlZmluZSBfQVNNX1BBVF9IIDEKKyNkZWZpbmUgX0FTTV9QQVRfSAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAogI2lmZGVmIENPTkZJR19YODZfUEFUCi1leHRlcm4gaW50IHBhdF93Y19lbmFibGVkOworZXh0ZXJuIGludCBwYXRfZW5hYmxlZDsKIGV4dGVybiB2b2lkIHZhbGlkYXRlX3BhdF9zdXBwb3J0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYyk7CiAjZWxzZQotc3RhdGljIGNvbnN0IGludCBwYXRfd2NfZW5hYmxlZCA9IDA7CitzdGF0aWMgY29uc3QgaW50IHBhdF9lbmFibGVkOwogc3RhdGljIGlubGluZSB2b2lkIHZhbGlkYXRlX3BhdF9zdXBwb3J0KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykgeyB9CiAjZW5kaWYKIApAQCAtMjEsNCArMjAsMyBAQAogZXh0ZXJuIHZvaWQgcGF0X2Rpc2FibGUoY2hhciAqcmVhc29uKTsKIAogI2VuZGlmCi0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wY2kuaAppbmRleCAzMGJiZGUwLi4yZGIxNGNmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGNpLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BjaS5oCkBAIC0xOCw2ICsxOCw4IEBACiAjZW5kaWYKIH07CiAKK2V4dGVybiBpbnQgcGNpX3JvdXRlaXJxOworCiAvKiBzY2FuIGEgYnVzIGFmdGVyIGFsbG9jYXRpbmcgYSBwY2lfc3lzZGF0YSBmb3IgaXQgKi8KIGV4dGVybiBzdHJ1Y3QgcGNpX2J1cyAqcGNpX3NjYW5fYnVzX29uX25vZGUoaW50IGJ1c25vLCBzdHJ1Y3QgcGNpX29wcyAqb3BzLAogCQkJCQkgICAgaW50IG5vZGUpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BjaV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3BjaV8zMi5oCmluZGV4IDhjNGMzYTAuLmE1MGQ0NjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wY2lfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGNpXzMyLmgKQEAgLTE4LDEyICsxOCwxNCBAQAogI2RlZmluZSBQQ0lfRE1BX0JVU19JU19QSFlTCSgxKQogCiAvKiBwY2lfdW5tYXBfe3BhZ2Usc2luZ2xlfSBpcyBhIG5vcCBzby4uLiAqLwotI2RlZmluZSBERUNMQVJFX1BDSV9VTk1BUF9BRERSKEFERFJfTkFNRSkKLSNkZWZpbmUgREVDTEFSRV9QQ0lfVU5NQVBfTEVOKExFTl9OQU1FKQotI2RlZmluZSBwY2lfdW5tYXBfYWRkcihQVFIsIEFERFJfTkFNRSkJCSgwKQotI2RlZmluZSBwY2lfdW5tYXBfYWRkcl9zZXQoUFRSLCBBRERSX05BTUUsIFZBTCkJZG8geyB9IHdoaWxlICgwKQotI2RlZmluZSBwY2lfdW5tYXBfbGVuKFBUUiwgTEVOX05BTUUpCQkoMCkKLSNkZWZpbmUgcGNpX3VubWFwX2xlbl9zZXQoUFRSLCBMRU5fTkFNRSwgVkFMKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIERFQ0xBUkVfUENJX1VOTUFQX0FERFIoQUREUl9OQU1FKQlkbWFfYWRkcl90IEFERFJfTkFNRVswXTsKKyNkZWZpbmUgREVDTEFSRV9QQ0lfVU5NQVBfTEVOKExFTl9OQU1FKQl1bnNpZ25lZCBMRU5fTkFNRVswXTsKKyNkZWZpbmUgcGNpX3VubWFwX2FkZHIoUFRSLCBBRERSX05BTUUpCXNpemVvZigoUFRSKS0+QUREUl9OQU1FKQorI2RlZmluZSBwY2lfdW5tYXBfYWRkcl9zZXQoUFRSLCBBRERSX05BTUUsIFZBTCkgXAorCWRvIHsgYnJlYWs7IH0gd2hpbGUgKHBjaV91bm1hcF9hZGRyKFBUUiwgQUREUl9OQU1FKSkKKyNkZWZpbmUgcGNpX3VubWFwX2xlbihQVFIsIExFTl9OQU1FKQkJc2l6ZW9mKChQVFIpLT5MRU5fTkFNRSkKKyNkZWZpbmUgcGNpX3VubWFwX2xlbl9zZXQoUFRSLCBMRU5fTkFNRSwgVkFMKSBcCisJZG8geyBicmVhazsgfSB3aGlsZSAocGNpX3VubWFwX2xlbihQVFIsIExFTl9OQU1FKSkKIAogCiAjZW5kaWYgLyogX19LRVJORUxfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3BkYS5oIGIvaW5jbHVkZS9hc20teDg2L3BkYS5oCmluZGV4IDEwMWZiOWUuLmIzNGU5YTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZGEuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcGRhLmgKQEAgLTIyLDYgKzIyLDggQEAKIAkJCQkJICAgb2Zmc2V0IDQwISEhICovCiAjZW5kaWYKIAljaGFyICppcnFzdGFja3B0cjsKKwlzaG9ydCBub2RlbnVtYmVyOwkJLyogbnVtYmVyIG9mIGN1cnJlbnQgbm9kZSAoMzJrIG1heCkgKi8KKwlzaG9ydCBpbl9ib290bWVtOwkJLyogcGRhIGxpdmVzIGluIGJvb3RtZW0gKi8KIAl1bnNpZ25lZCBpbnQgX19zb2Z0aXJxX3BlbmRpbmc7CiAJdW5zaWduZWQgaW50IF9fbm1pX2NvdW50OwkvKiBudW1iZXIgb2YgTk1JIG9uIHRoaXMgQ1BVcyAqLwogCXNob3J0IG1tdV9zdGF0ZTsKQEAgLTM3LDggKzM5LDcgQEAKIAl1bnNpZ25lZCBpcnFfc3B1cmlvdXNfY291bnQ7CiB9IF9fX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXA7CiAKLWV4dGVybiBzdHJ1Y3QgeDg2NjRfcGRhICpfY3B1X3BkYVtdOwotZXh0ZXJuIHN0cnVjdCB4ODY2NF9wZGEgYm9vdF9jcHVfcGRhW107CitleHRlcm4gc3RydWN0IHg4NjY0X3BkYSAqKl9jcHVfcGRhOwogZXh0ZXJuIHZvaWQgcGRhX2luaXQoaW50KTsKIAogI2RlZmluZSBjcHVfcGRhKGkpIChfY3B1X3BkYVtpXSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZXJjcHUuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wZXJjcHUuaAppbmRleCA3MzZmYzNiLi45MTJhM2ExIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGVyY3B1LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BlcmNwdS5oCkBAIC0xNDMsNCArMTQzLDUwIEBACiAjZGVmaW5lIHg4Nl9vcl9wZXJjcHUodmFyLCB2YWwpIHBlcmNwdV90b19vcCgib3IiLCBwZXJfY3B1X18jI3ZhciwgdmFsKQogI2VuZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KICNlbmRpZiAvKiAhQ09ORklHX1g4Nl82NCAqLworCisjaWZkZWYgQ09ORklHX1NNUAorCisvKgorICogRGVmaW5lIHRoZSAiRUFSTFlfUEVSX0NQVSIgbWFjcm9zLiAgVGhlc2UgYXJlIHVzZWQgZm9yIHNvbWUgcGVyX2NwdQorICogdmFyaWFibGVzIHRoYXQgYXJlIGluaXRpYWxpemVkIGFuZCBhY2Nlc3NlZCBiZWZvcmUgdGhlcmUgYXJlIHBlcl9jcHUKKyAqIGFyZWFzIGFsbG9jYXRlZC4KKyAqLworCisjZGVmaW5lCURFRklORV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSwgX2luaXR2YWx1ZSkJCQlcCisJREVGSU5FX1BFUl9DUFUoX3R5cGUsIF9uYW1lKSA9IF9pbml0dmFsdWU7CQkJXAorCV9fdHlwZW9mX18oX3R5cGUpIF9uYW1lIyNfZWFybHlfbWFwW05SX0NQVVNdIF9faW5pdGRhdGEgPQlcCisJCQkJeyBbMCAuLi4gTlJfQ1BVUy0xXSA9IF9pbml0dmFsdWUgfTsJXAorCV9fdHlwZW9mX18oX3R5cGUpICpfbmFtZSMjX2Vhcmx5X3B0ciA9IF9uYW1lIyNfZWFybHlfbWFwCisKKyNkZWZpbmUgRVhQT1JUX0VBUkxZX1BFUl9DUFVfU1lNQk9MKF9uYW1lKQkJCVwKKwlFWFBPUlRfUEVSX0NQVV9TWU1CT0woX25hbWUpCisKKyNkZWZpbmUgREVDTEFSRV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSkJCQlcCisJREVDTEFSRV9QRVJfQ1BVKF90eXBlLCBfbmFtZSk7CQkJCVwKKwlleHRlcm4gX190eXBlb2ZfXyhfdHlwZSkgKl9uYW1lIyNfZWFybHlfcHRyOwkJXAorCWV4dGVybiBfX3R5cGVvZl9fKF90eXBlKSAgX25hbWUjI19lYXJseV9tYXBbXQorCisjZGVmaW5lCWVhcmx5X3Blcl9jcHVfcHRyKF9uYW1lKSAoX25hbWUjI19lYXJseV9wdHIpCisjZGVmaW5lCWVhcmx5X3Blcl9jcHVfbWFwKF9uYW1lLCBfaWR4KSAoX25hbWUjI19lYXJseV9tYXBbX2lkeF0pCisjZGVmaW5lCWVhcmx5X3Blcl9jcHUoX25hbWUsIF9jcHUpIAkJCQlcCisJKGVhcmx5X3Blcl9jcHVfcHRyKF9uYW1lKSA/CQkJCVwKKwkJZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpW19jcHVdIDoJCVwKKwkJcGVyX2NwdShfbmFtZSwgX2NwdSkpCisKKyNlbHNlCS8qICFDT05GSUdfU01QICovCisjZGVmaW5lCURFRklORV9FQVJMWV9QRVJfQ1BVKF90eXBlLCBfbmFtZSwgX2luaXR2YWx1ZSkJCVwKKwlERUZJTkVfUEVSX0NQVShfdHlwZSwgX25hbWUpID0gX2luaXR2YWx1ZQorCisjZGVmaW5lIEVYUE9SVF9FQVJMWV9QRVJfQ1BVX1NZTUJPTChfbmFtZSkJCQlcCisJRVhQT1JUX1BFUl9DUFVfU1lNQk9MKF9uYW1lKQorCisjZGVmaW5lIERFQ0xBUkVfRUFSTFlfUEVSX0NQVShfdHlwZSwgX25hbWUpCQkJXAorCURFQ0xBUkVfUEVSX0NQVShfdHlwZSwgX25hbWUpCisKKyNkZWZpbmUJZWFybHlfcGVyX2NwdShfbmFtZSwgX2NwdSkgcGVyX2NwdShfbmFtZSwgX2NwdSkKKyNkZWZpbmUJZWFybHlfcGVyX2NwdV9wdHIoX25hbWUpIE5VTEwKKy8qIG5vIGVhcmx5X3Blcl9jcHVfbWFwKCkgKi8KKworI2VuZGlmCS8qICFDT05GSUdfU01QICovCisKICNlbmRpZiAvKiBfQVNNX1g4Nl9QRVJDUFVfSF8gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ2FsbG9jLmggYi9pbmNsdWRlL2FzbS14ODYvcGdhbGxvYy5oCmluZGV4IDkxZTQ2NDEuLmQ2M2VhNDMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ2FsbG9jLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BnYWxsb2MuaApAQCAtNSw5ICs1LDEzIEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4JCS8qIGZvciBzdHJ1Y3QgcGFnZSAqLwogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KIAorc3RhdGljIGlubGluZSBpbnQgIF9fcGFyYXZpcnRfcGdkX2FsbG9jKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKSB7IHJldHVybiAwOyB9CisKICNpZmRlZiBDT05GSUdfUEFSQVZJUlQKICNpbmNsdWRlIDxhc20vcGFyYXZpcnQuaD4KICNlbHNlCisjZGVmaW5lIHBhcmF2aXJ0X3BnZF9hbGxvYyhtbSkJX19wYXJhdmlydF9wZ2RfYWxsb2MobW0pCitzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfcGdkX2ZyZWUoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHBnZF90ICpwZ2QpIHt9CiBzdGF0aWMgaW5saW5lIHZvaWQgcGFyYXZpcnRfYWxsb2NfcHRlKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIHBmbikJe30KIHN0YXRpYyBpbmxpbmUgdm9pZCBwYXJhdmlydF9hbGxvY19wbWQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgcGZuKQl7fQogc3RhdGljIGlubGluZSB2b2lkIHBhcmF2aXJ0X2FsbG9jX3BtZF9jbG9uZSh1bnNpZ25lZCBsb25nIHBmbiwgdW5zaWduZWQgbG9uZyBjbG9uZXBmbiwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlLmggYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZS5oCmluZGV4IDk3YzI3MWIuLjQ5Y2JkNzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGUuaApAQCAtMjAsMzAgKzIwLDI1IEBACiAjZGVmaW5lIF9QQUdFX0JJVF9QQVRfTEFSR0UJMTIJLyogT24gMk1CIG9yIDFHQiBwYWdlcyAqLwogI2RlZmluZSBfUEFHRV9CSVRfTlggICAgICAgICAgIDYzICAgICAgIC8qIE5vIGV4ZWN1dGU6IG9ubHkgdmFsaWQgYWZ0ZXIgY3B1aWQgY2hlY2sgKi8KIAotLyoKLSAqIE5vdGU6IHdlIHVzZSBfQUMoMSwgTCkgaW5zdGVhZCBvZiBfQUMoMSwgVUwpIHNvIHRoYXQgd2UgZ2V0IGEKLSAqIHNpZ24tZXh0ZW5kZWQgdmFsdWUgb24gMzItYml0IHdpdGggYWxsIDEncyBpbiB0aGUgdXBwZXIgd29yZCwKLSAqIHdoaWNoIHByZXNlcnZlcyB0aGUgdXBwZXIgcHRlIHZhbHVlcyBvbiA2NC1iaXQgcHRlczoKLSAqLwotI2RlZmluZSBfUEFHRV9QUkVTRU5UCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9QUkVTRU5UKQotI2RlZmluZSBfUEFHRV9SVwkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUlcpCi0jZGVmaW5lIF9QQUdFX1VTRVIJKF9BQygxLCBMKTw8X1BBR0VfQklUX1VTRVIpCi0jZGVmaW5lIF9QQUdFX1BXVAkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUFdUKQotI2RlZmluZSBfUEFHRV9QQ0QJKF9BQygxLCBMKTw8X1BBR0VfQklUX1BDRCkKLSNkZWZpbmUgX1BBR0VfQUNDRVNTRUQJKF9BQygxLCBMKTw8X1BBR0VfQklUX0FDQ0VTU0VEKQotI2RlZmluZSBfUEFHRV9ESVJUWQkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfRElSVFkpCi0jZGVmaW5lIF9QQUdFX1BTRQkoX0FDKDEsIEwpPDxfUEFHRV9CSVRfUFNFKQkvKiAyTUIgcGFnZSAqLwotI2RlZmluZSBfUEFHRV9HTE9CQUwJKF9BQygxLCBMKTw8X1BBR0VfQklUX0dMT0JBTCkJLyogR2xvYmFsIFRMQiBlbnRyeSAqLwotI2RlZmluZSBfUEFHRV9VTlVTRUQxCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9VTlVTRUQxKQotI2RlZmluZSBfUEFHRV9VTlVTRUQyCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9VTlVTRUQyKQotI2RlZmluZSBfUEFHRV9VTlVTRUQzCShfQUMoMSwgTCk8PF9QQUdFX0JJVF9VTlVTRUQzKQotI2RlZmluZSBfUEFHRV9QQVQJKF9BQygxLCBMKTw8X1BBR0VfQklUX1BBVCkKLSNkZWZpbmUgX1BBR0VfUEFUX0xBUkdFIChfQUMoMSwgTCk8PF9QQUdFX0JJVF9QQVRfTEFSR0UpCisjZGVmaW5lIF9QQUdFX1BSRVNFTlQJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BSRVNFTlQpCisjZGVmaW5lIF9QQUdFX1JXCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9SVykKKyNkZWZpbmUgX1BBR0VfVVNFUgkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfVVNFUikKKyNkZWZpbmUgX1BBR0VfUFdUCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QV1QpCisjZGVmaW5lIF9QQUdFX1BDRAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfUENEKQorI2RlZmluZSBfUEFHRV9BQ0NFU1NFRAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfQUNDRVNTRUQpCisjZGVmaW5lIF9QQUdFX0RJUlRZCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9ESVJUWSkKKyNkZWZpbmUgX1BBR0VfUFNFCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QU0UpCisjZGVmaW5lIF9QQUdFX0dMT0JBTAkoX0FUKHB0ZXZhbF90LCAxKSA8PCBfUEFHRV9CSVRfR0xPQkFMKQorI2RlZmluZSBfUEFHRV9VTlVTRUQxCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VTlVTRUQxKQorI2RlZmluZSBfUEFHRV9VTlVTRUQyCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VTlVTRUQyKQorI2RlZmluZSBfUEFHRV9VTlVTRUQzCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9VTlVTRUQzKQorI2RlZmluZSBfUEFHRV9QQVQJKF9BVChwdGV2YWxfdCwgMSkgPDwgX1BBR0VfQklUX1BBVCkKKyNkZWZpbmUgX1BBR0VfUEFUX0xBUkdFIChfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9QQVRfTEFSR0UpCiAKICNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl9QQUUpCi0jZGVmaW5lIF9QQUdFX05YCShfQUMoMSwgVUxMKSA8PCBfUEFHRV9CSVRfTlgpCisjZGVmaW5lIF9QQUdFX05YCShfQVQocHRldmFsX3QsIDEpIDw8IF9QQUdFX0JJVF9OWCkKICNlbHNlCi0jZGVmaW5lIF9QQUdFX05YCTAKKyNkZWZpbmUgX1BBR0VfTlgJKF9BVChwdGV2YWxfdCwgMCkpCiAjZW5kaWYKIAogLyogSWYgX1BBR0VfUFJFU0VOVCBpcyBjbGVhciwgd2UgdXNlIHRoZXNlOiAqLwpAQCAtODMsMTkgKzc4LDkgQEAKICNkZWZpbmUgUEFHRV9SRUFET05MWV9FWEVDCV9fcGdwcm90KF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9VU0VSIHwJXAogCQkJCQkgX1BBR0VfQUNDRVNTRUQpCiAKLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jZGVmaW5lIF9QQUdFX0tFUk5FTF9FWEVDIFwKLQkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1JXIHwgX1BBR0VfRElSVFkgfCBfUEFHRV9BQ0NFU1NFRCkKLSNkZWZpbmUgX1BBR0VfS0VSTkVMIChfUEFHRV9LRVJORUxfRVhFQyB8IF9QQUdFX05YKQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotZXh0ZXJuIHB0ZXZhbF90IF9fUEFHRV9LRVJORUwsIF9fUEFHRV9LRVJORUxfRVhFQzsKLSNlbmRpZgkvKiBfX0FTU0VNQkxZX18gKi8KLSNlbHNlCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfRVhFQwkJCQkJCVwKLQkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1JXIHwgX1BBR0VfRElSVFkgfCBfUEFHRV9BQ0NFU1NFRCkKKwkoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1JXIHwgX1BBR0VfRElSVFkgfCBfUEFHRV9BQ0NFU1NFRCB8IF9QQUdFX0dMT0JBTCkKICNkZWZpbmUgX19QQUdFX0tFUk5FTAkJKF9fUEFHRV9LRVJORUxfRVhFQyB8IF9QQUdFX05YKQotI2VuZGlmCiAKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9STwkJKF9fUEFHRV9LRVJORUwgJiB+X1BBR0VfUlcpCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfUlgJCShfX1BBR0VfS0VSTkVMX0VYRUMgJiB+X1BBR0VfUlcpCkBAIC0xMDYsMjYgKzkxLDIyIEBACiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfVlNZU0NBTEwJCShfX1BBR0VfS0VSTkVMX1JYIHwgX1BBR0VfVVNFUikKICNkZWZpbmUgX19QQUdFX0tFUk5FTF9WU1lTQ0FMTF9OT0NBQ0hFCShfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMIHwgX1BBR0VfUENEIHwgX1BBR0VfUFdUKQogI2RlZmluZSBfX1BBR0VfS0VSTkVMX0xBUkdFCQkoX19QQUdFX0tFUk5FTCB8IF9QQUdFX1BTRSkKKyNkZWZpbmUgX19QQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFCShfX1BBR0VfS0VSTkVMIHwgX1BBR0VfQ0FDSEVfVUMgfCBfUEFHRV9QU0UpCiAjZGVmaW5lIF9fUEFHRV9LRVJORUxfTEFSR0VfRVhFQwkoX19QQUdFX0tFUk5FTF9FWEVDIHwgX1BBR0VfUFNFKQogCi0jaWZkZWYgQ09ORklHX1g4Nl8zMgotIyBkZWZpbmUgTUFLRV9HTE9CQUwoeCkJCQlfX3BncHJvdCgoeCkpCi0jZWxzZQotIyBkZWZpbmUgTUFLRV9HTE9CQUwoeCkJCQlfX3BncHJvdCgoeCkgfCBfUEFHRV9HTE9CQUwpCi0jZW5kaWYKLQotI2RlZmluZSBQQUdFX0tFUk5FTAkJCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUwpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1JPCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9STykKLSNkZWZpbmUgUEFHRV9LRVJORUxfRVhFQwkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9FWEVDKQotI2RlZmluZSBQQUdFX0tFUk5FTF9SWAkJCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUxfUlgpCi0jZGVmaW5lIFBBR0VfS0VSTkVMX1dDCQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9XQykKLSNkZWZpbmUgUEFHRV9LRVJORUxfTk9DQUNIRQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9OT0NBQ0hFKQotI2RlZmluZSBQQUdFX0tFUk5FTF9VQ19NSU5VUwkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9VQ19NSU5VUykKLSNkZWZpbmUgUEFHRV9LRVJORUxfRVhFQ19OT0NBQ0hFCU1BS0VfR0xPQkFMKF9fUEFHRV9LRVJORUxfRVhFQ19OT0NBQ0hFKQotI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRQkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9MQVJHRSkKLSNkZWZpbmUgUEFHRV9LRVJORUxfTEFSR0VfRVhFQwkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDKQotI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTAkJTUFLRV9HTE9CQUwoX19QQUdFX0tFUk5FTF9WU1lTQ0FMTCkKLSNkZWZpbmUgUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRQlNQUtFX0dMT0JBTChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUpCisjZGVmaW5lIFBBR0VfS0VSTkVMCQkJX19wZ3Byb3QoX19QQUdFX0tFUk5FTCkKKyNkZWZpbmUgUEFHRV9LRVJORUxfUk8JCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1JPKQorI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0VYRUMpCisjZGVmaW5lIFBBR0VfS0VSTkVMX1JYCQkJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9SWCkKKyNkZWZpbmUgUEFHRV9LRVJORUxfV0MJCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1dDKQorI2RlZmluZSBQQUdFX0tFUk5FTF9OT0NBQ0hFCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX05PQ0FDSEUpCisjZGVmaW5lIFBBR0VfS0VSTkVMX1VDX01JTlVTCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1VDX01JTlVTKQorI2RlZmluZSBQQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9FWEVDX05PQ0FDSEUpCisjZGVmaW5lIFBBR0VfS0VSTkVMX0xBUkdFCQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX0xBUkdFKQorI2RlZmluZSBQQUdFX0tFUk5FTF9MQVJHRV9OT0NBQ0hFCV9fcGdwcm90KF9fUEFHRV9LRVJORUxfTEFSR0VfTk9DQUNIRSkKKyNkZWZpbmUgUEFHRV9LRVJORUxfTEFSR0VfRVhFQwkJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9MQVJHRV9FWEVDKQorI2RlZmluZSBQQUdFX0tFUk5FTF9WU1lTQ0FMTAkJX19wZ3Byb3QoX19QQUdFX0tFUk5FTF9WU1lTQ0FMTCkKKyNkZWZpbmUgUEFHRV9LRVJORUxfVlNZU0NBTExfTk9DQUNIRQlfX3BncHJvdChfX1BBR0VfS0VSTkVMX1ZTWVNDQUxMX05PQ0FDSEUpCiAKIC8qICAgICAgICAgeHdyICovCiAjZGVmaW5lIF9fUDAwMAlQQUdFX05PTkUKQEAgLTE2NCwzNyArMTQ1LDM3IEBACiAgKi8KIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9kaXJ0eShwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0RJUlRZOworCXJldHVybiBwdGVfZmxhZ3MocHRlKSAmIF9QQUdFX0RJUlRZOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfeW91bmcocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9BQ0NFU1NFRDsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9BQ0NFU1NFRDsKIH0KIAogc3RhdGljIGlubGluZSBpbnQgcHRlX3dyaXRlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfUlc7CisJcmV0dXJuIHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfUlc7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9maWxlKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfRklMRTsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9GSUxFOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfaHVnZShwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX1BTRTsKKwlyZXR1cm4gcHRlX2ZsYWdzKHB0ZSkgJiBfUEFHRV9QU0U7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV9nbG9iYWwocHRlX3QgcHRlKQogewotCXJldHVybiBwdGVfdmFsKHB0ZSkgJiBfUEFHRV9HTE9CQUw7CisJcmV0dXJuIHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfR0xPQkFMOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfZXhlYyhwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuICEocHRlX3ZhbChwdGUpICYgX1BBR0VfTlgpOworCXJldHVybiAhKHB0ZV9mbGFncyhwdGUpICYgX1BBR0VfTlgpOwogfQogCiBzdGF0aWMgaW5saW5lIGludCBwdGVfc3BlY2lhbChwdGVfdCBwdGUpCkBAIC0yMTAsMjIgKzE5MSwyMiBAQAogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2NsZWFuKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9ESVJUWSk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9ESVJUWSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0ZSkKIHsKLQlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfihwdGV2YWxfdClfUEFHRV9BQ0NFU1NFRCk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9BQ0NFU1NFRCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX3dycHJvdGVjdChwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfUlcpOworCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfUlcpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2V4ZWMocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX05YKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX05YKTsKIH0KIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtkaXJ0eShwdGVfdCBwdGUpCkBAIC0yNTAsNyArMjMxLDcgQEAKIAogc3RhdGljIGlubGluZSBwdGVfdCBwdGVfY2xyaHVnZShwdGVfdCBwdGUpCiB7Ci0JcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH4ocHRldmFsX3QpX1BBR0VfUFNFKTsKKwlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgfl9QQUdFX1BTRSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZ2xvYmFsKHB0ZV90IHB0ZSkKQEAgLTI2MCw3ICsyNDEsNyBAQAogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9jbHJnbG9iYWwocHRlX3QgcHRlKQogewotCXJldHVybiBfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+KHB0ZXZhbF90KV9QQUdFX0dMT0JBTCk7CisJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9HTE9CQUwpOwogfQogCiBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3NwZWNpYWwocHRlX3QgcHRlKQpAQCAtMzA1LDcgKzI4Niw3IEBACiAJcmV0dXJuIF9fcGdwcm90KHByZXNlcnZlYml0cyB8IGFkZGJpdHMpOwogfQogCi0jZGVmaW5lIHB0ZV9wZ3Byb3QoeCkgX19wZ3Byb3QocHRlX3ZhbCh4KSAmIH5QVEVfTUFTSykKKyNkZWZpbmUgcHRlX3BncHJvdCh4KSBfX3BncHJvdChwdGVfZmxhZ3MoeCkgJiB+UFRFX01BU0spCiAKICNkZWZpbmUgY2Fub25fcGdwcm90KHApIF9fcGdwcm90KHBncHJvdF92YWwocCkgJiBfX3N1cHBvcnRlZF9wdGVfbWFzaykKIApAQCAtMzE4LDYgKzI5OSw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHNpemUsIHBncHJvdF90ICp2bWFfcHJvdCk7CiAjZW5kaWYKIAorLyogSW5zdGFsbCBhIHB0ZSBmb3IgYSBwYXJ0aWN1bGFyIHZhZGRyIGluIGtlcm5lbCBzcGFjZS4gKi8KK3ZvaWQgc2V0X3B0ZV92YWRkcih1bnNpZ25lZCBsb25nIHZhZGRyLCBwdGVfdCBwdGUpOworCiAjaWZkZWYgQ09ORklHX1BBUkFWSVJUCiAjaW5jbHVkZSA8YXNtL3BhcmF2aXJ0Lmg+CiAjZWxzZSAgLyogIUNPTkZJR19QQVJBVklSVCAqLwpAQCAtMzU5LDYgKzM0MywyNiBAQAogIyBpbmNsdWRlICJwZ3RhYmxlXzY0LmgiCiAjZW5kaWYKIAorLyoKKyAqIHRoZSBwZ2QgcGFnZSBjYW4gYmUgdGhvdWdodCBvZiBhbiBhcnJheSBsaWtlIHRoaXM6IHBnZF90W1BUUlNfUEVSX1BHRF0KKyAqCisgKiB0aGlzIG1hY3JvIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBlbnRyeSBpbiB0aGUgcGdkIHBhZ2Ugd2hpY2ggd291bGQKKyAqIGNvbnRyb2wgdGhlIGdpdmVuIHZpcnR1YWwgYWRkcmVzcworICovCisjZGVmaW5lIHBnZF9pbmRleChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiBQR0RJUl9TSElGVCkgJiAoUFRSU19QRVJfUEdEIC0gMSkpCisKKy8qCisgKiBwZ2Rfb2Zmc2V0KCkgcmV0dXJucyBhIChwZ2RfdCAqKQorICogcGdkX2luZGV4KCkgaXMgdXNlZCBnZXQgdGhlIG9mZnNldCBpbnRvIHRoZSBwZ2QgcGFnZSdzIGFycmF5IG9mIHBnZF90J3M7CisgKi8KKyNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykgKChtbSktPnBnZCArIHBnZF9pbmRleCgoYWRkcmVzcykpKQorLyoKKyAqIGEgc2hvcnRjdXQgd2hpY2ggaW1wbGllcyB0aGUgdXNlIG9mIHRoZSBrZXJuZWwncyBwZ2QsIGluc3RlYWQKKyAqIG9mIGEgcHJvY2VzcydzCisgKi8KKyNkZWZpbmUgcGdkX29mZnNldF9rKGFkZHJlc3MpIHBnZF9vZmZzZXQoJmluaXRfbW0sIChhZGRyZXNzKSkKKworCiAjZGVmaW5lIEtFUk5FTF9QR0RfQk9VTkRBUlkJcGdkX2luZGV4KFBBR0VfT0ZGU0VUKQogI2RlZmluZSBLRVJORUxfUEdEX1BUUlMJCShQVFJTX1BFUl9QR0QgLSBLRVJORUxfUEdEX0JPVU5EQVJZKQogCkBAIC0zNjksOCArMzczLDE1IEBACiAJUEdfTEVWRUxfNEssCiAJUEdfTEVWRUxfMk0sCiAJUEdfTEVWRUxfMUcsCisJUEdfTEVWRUxfTlVNCiB9OwogCisjaWZkZWYgQ09ORklHX1BST0NfRlMKK2V4dGVybiB2b2lkIHVwZGF0ZV9wYWdlX2NvdW50KGludCBsZXZlbCwgdW5zaWduZWQgbG9uZyBwYWdlcyk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHVwZGF0ZV9wYWdlX2NvdW50KGludCBsZXZlbCwgdW5zaWduZWQgbG9uZyBwYWdlcykgeyB9CisjZW5kaWYKKwogLyoKICAqIEhlbHBlciBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGtlcm5lbCBwYWdldGFibGUgZW50cnkgY29udHJvbGxpbmcKICAqIHRoZSB2aXJ0dWFsIGFkZHJlc3MgJ2FkZHJlc3MnLiBOVUxMIG1lYW5zIG5vIHBhZ2V0YWJsZSBlbnRyeSBwcmVzZW50LgpAQCAtNDIwLDYgKzQzMSw4IEBACiAgKiByYWNlIHdpdGggb3RoZXIgQ1BVJ3MgdGhhdCBtaWdodCBiZSB1cGRhdGluZyB0aGUgZGlydHkKICAqIGJpdCBhdCB0aGUgc2FtZSB0aW1lLgogICovCitzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Q7CisKICNkZWZpbmUgIF9fSEFWRV9BUkNIX1BURVBfU0VUX0FDQ0VTU19GTEFHUwogZXh0ZXJuIGludCBwdGVwX3NldF9hY2Nlc3NfZmxhZ3Moc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsCiAJCQkJIHVuc2lnbmVkIGxvbmcgYWRkcmVzcywgcHRlX3QgKnB0ZXAsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGVfMzIuaAppbmRleCAzMmNhMDMxLi5lYzg3MWM0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzMyLmgKQEAgLTExMywyNiArMTEzLDYgQEAKICAqLwogI2RlZmluZSBta19wdGUocGFnZSwgcGdwcm90KQlwZm5fcHRlKHBhZ2VfdG9fcGZuKHBhZ2UpLCAocGdwcm90KSkKIAotLyoKLSAqIHRoZSBwZ2QgcGFnZSBjYW4gYmUgdGhvdWdodCBvZiBhbiBhcnJheSBsaWtlIHRoaXM6IHBnZF90W1BUUlNfUEVSX1BHRF0KLSAqCi0gKiB0aGlzIG1hY3JvIHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBlbnRyeSBpbiB0aGUgcGdkIHBhZ2Ugd2hpY2ggd291bGQKLSAqIGNvbnRyb2wgdGhlIGdpdmVuIHZpcnR1YWwgYWRkcmVzcwotICovCi0jZGVmaW5lIHBnZF9pbmRleChhZGRyZXNzKSAoKChhZGRyZXNzKSA+PiBQR0RJUl9TSElGVCkgJiAoUFRSU19QRVJfUEdEIC0gMSkpCi0jZGVmaW5lIHBnZF9pbmRleF9rKGFkZHIpIHBnZF9pbmRleCgoYWRkcikpCi0KLS8qCi0gKiBwZ2Rfb2Zmc2V0KCkgcmV0dXJucyBhIChwZ2RfdCAqKQotICogcGdkX2luZGV4KCkgaXMgdXNlZCBnZXQgdGhlIG9mZnNldCBpbnRvIHRoZSBwZ2QgcGFnZSdzIGFycmF5IG9mIHBnZF90J3M7Ci0gKi8KLSNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykgKChtbSktPnBnZCArIHBnZF9pbmRleCgoYWRkcmVzcykpKQotCi0vKgotICogYSBzaG9ydGN1dCB3aGljaCBpbXBsaWVzIHRoZSB1c2Ugb2YgdGhlIGtlcm5lbCdzIHBnZCwgaW5zdGVhZAotICogb2YgYSBwcm9jZXNzJ3MKLSAqLwotI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgcGdkX29mZnNldCgmaW5pdF9tbSwgKGFkZHJlc3MpKQogCiBzdGF0aWMgaW5saW5lIGludCBwdWRfbGFyZ2UocHVkX3QgcHVkKSB7IHJldHVybiAwOyB9CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvcGd0YWJsZV82NC5oCmluZGV4IDFjYzUwZDIuLmZhNzIwOGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wZ3RhYmxlXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3BndGFibGVfNjQuaApAQCAtNzAsNiArNzAsOSBAQAogCiBzdHJ1Y3QgbW1fc3RydWN0OwogCit2b2lkIHNldF9wdGVfdmFkZHJfcHVkKHB1ZF90ICpwdWRfcGFnZSwgdW5zaWduZWQgbG9uZyB2YWRkciwgcHRlX3QgbmV3X3B0ZSk7CisKKwogc3RhdGljIGlubGluZSB2b2lkIG5hdGl2ZV9wdGVfY2xlYXIoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHVuc2lnbmVkIGxvbmcgYWRkciwKIAkJCQkgICAgcHRlX3QgKnB0ZXApCiB7CkBAIC0xOTAsMTIgKzE5Myw5IEBACiAjZGVmaW5lIHBnZF9wYWdlX3ZhZGRyKHBnZCkJCQkJCQlcCiAJKCh1bnNpZ25lZCBsb25nKV9fdmEoKHVuc2lnbmVkIGxvbmcpcGdkX3ZhbCgocGdkKSkgJiBQVEVfTUFTSykpCiAjZGVmaW5lIHBnZF9wYWdlKHBnZCkJCShwZm5fdG9fcGFnZShwZ2RfdmFsKChwZ2QpKSA+PiBQQUdFX1NISUZUKSkKLSNkZWZpbmUgcGdkX2luZGV4KGFkZHJlc3MpICgoKGFkZHJlc3MpID4+IFBHRElSX1NISUZUKSAmIChQVFJTX1BFUl9QR0QgLSAxKSkKLSNkZWZpbmUgcGdkX29mZnNldChtbSwgYWRkcmVzcykJKChtbSktPnBnZCArIHBnZF9pbmRleCgoYWRkcmVzcykpKQotI2RlZmluZSBwZ2Rfb2Zmc2V0X2soYWRkcmVzcykgKGluaXRfbGV2ZWw0X3BndCArIHBnZF9pbmRleCgoYWRkcmVzcykpKQogI2RlZmluZSBwZ2RfcHJlc2VudChwZ2QpIChwZ2RfdmFsKHBnZCkgJiBfUEFHRV9QUkVTRU5UKQogc3RhdGljIGlubGluZSBpbnQgcGdkX2xhcmdlKHBnZF90IHBnZCkgeyByZXR1cm4gMDsgfQotI2RlZmluZSBta19rZXJuZWxfcGdkKGFkZHJlc3MpICgocGdkX3QpeyAoYWRkcmVzcykgfCBfS0VSTlBHX1RBQkxFIH0pCisjZGVmaW5lIG1rX2tlcm5lbF9wZ2QoYWRkcmVzcykgX19wZ2QoKGFkZHJlc3MpIHwgX0tFUk5QR19UQUJMRSkKIAogLyogUFVEIC0gTGV2ZWwzIGFjY2VzcyAqLwogLyogdG8gZmluZCBhbiBlbnRyeSBpbiBhIHBhZ2UtdGFibGUtZGlyZWN0b3J5LiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci1mbGFncy5oIGIvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci1mbGFncy5oCmluZGV4IDE5OWNhYjEuLjA5MmIzOWIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3ItZmxhZ3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLWZsYWdzLmgKQEAgLTg4LDQgKzg4LDEwIEBACiAjZGVmaW5lIENYODZfQVJSX0JBU0UJMHhjNAogI2RlZmluZSBDWDg2X1JDUl9CQVNFCTB4ZGMKIAorI2lmZGVmIENPTkZJR19WTTg2CisjZGVmaW5lIFg4Nl9WTV9NQVNLCVg4Nl9FRkxBR1NfVk0KKyNlbHNlCisjZGVmaW5lIFg4Nl9WTV9NQVNLCTAgLyogTm8gVk04NiBzdXBwb3J0ICovCisjZW5kaWYKKwogI2VuZGlmCS8qIF9fQVNNX0kzODZfUFJPQ0VTU09SX0ZMQUdTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAppbmRleCA1NTkxMDUyLi43ZjczODI3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCkBAIC0xNTMsNyArMTUzLDcgQEAKIAogZXh0ZXJuIHZvaWQgY3B1X2RldGVjdChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpOwogCi1leHRlcm4gdm9pZCBpZGVudGlmeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICopOworZXh0ZXJuIHZvaWQgZWFybHlfY3B1X2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBpZGVudGlmeV9ib290X2NwdSh2b2lkKTsKIGV4dGVybiB2b2lkIGlkZW50aWZ5X3NlY29uZGFyeV9jcHUoc3RydWN0IGNwdWluZm9feDg2ICopOwogZXh0ZXJuIHZvaWQgcHJpbnRfY3B1X2luZm8oc3RydWN0IGNwdWluZm9feDg2ICopOwpAQCAtMjYzLDE1ICsyNjMsMTEgQEAKIAlzdHJ1Y3QgdGhyZWFkX3N0cnVjdAkqaW9fYml0bWFwX293bmVyOwogCiAJLyoKLQkgKiBQYWQgdGhlIFRTUyB0byBiZSBjYWNoZWxpbmUtYWxpZ25lZCAoc2l6ZSBpcyAweDEwMCk6Ci0JICovCi0JdW5zaWduZWQgbG9uZwkJX19jYWNoZWxpbmVfZmlsbGVyWzM1XTsKLQkvKgogCSAqIC4uIGFuZCB0aGVuIGFub3RoZXIgMHgxMDAgYnl0ZXMgZm9yIHRoZSBlbWVyZ2VuY3kga2VybmVsIHN0YWNrOgogCSAqLwogCXVuc2lnbmVkIGxvbmcJCXN0YWNrWzY0XTsKIAotfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKK30gX19fX2NhY2hlbGluZV9hbGlnbmVkOwogCiBERUNMQVJFX1BFUl9DUFUoc3RydWN0IHRzc19zdHJ1Y3QsIGluaXRfdHNzKTsKIApAQCAtNTM1LDcgKzUzMSw2IEBACiB9CiAKICNkZWZpbmUgc2V0X2lvcGxfbWFzayBuYXRpdmVfc2V0X2lvcGxfbWFzawotI2RlZmluZSBTV0FQR1MJc3dhcGdzCiAjZW5kaWYgLyogQ09ORklHX1BBUkFWSVJUICovCiAKIC8qCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcHJvdG8uaCBiL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oCmluZGV4IDZjOGI0MWIuLjNkZDQ1OGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9wcm90by5oCkBAIC0xNCw4ICsxNCw2IEBACiBleHRlcm4gdm9pZCBpYTMyX2NzdGFyX3RhcmdldCh2b2lkKTsKIGV4dGVybiB2b2lkIGlhMzJfc3lzZW50ZXJfdGFyZ2V0KHZvaWQpOwogCi1leHRlcm4gdm9pZCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIHBoeXMsIHVuc2lnbmVkIGxlbik7Ci0KIGV4dGVybiB2b2lkIHN5c2NhbGwzMl9jcHVfaW5pdCh2b2lkKTsKIAogZXh0ZXJuIHZvaWQgY2hlY2tfZWZlcih2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9wdHJhY2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni9wdHJhY2UuaAppbmRleCA5ZjkyMmIwLi44YTcxZGI4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcHRyYWNlLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3B0cmFjZS5oCkBAIC0zLDcgKzMsMTIgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+CS8qIEZvciBfX3VzZXIgKi8KICNpbmNsdWRlIDxhc20vcHRyYWNlLWFiaS5oPgorI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KIAorI2lmZGVmIF9fS0VSTkVMX18KKyNpbmNsdWRlIDxhc20vZHMuaD4JCS8qIHRoZSBEUyBCVFMgc3RydWN0IGlzIHVzZWQgZm9yIHB0cmFjZSB0b28gKi8KKyNpbmNsdWRlIDxhc20vc2VnbWVudC5oPgorI2VuZGlmCiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKQEAgLTU1LDkgKzYwLDYgQEAKIAl1bnNpZ25lZCBsb25nIHNzOwogfTsKIAotI2luY2x1ZGUgPGFzbS92bTg2Lmg+Ci0jaW5jbHVkZSA8YXNtL3NlZ21lbnQuaD4KLQogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2Vsc2UgLyogX19pMzg2X18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9yZWJvb3QuaCBiL2luY2x1ZGUvYXNtLXg4Ni9yZWJvb3QuaAppbmRleCBlNjM3NDFmLi4yMDZmMzU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcmVib290LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3JlYm9vdC5oCkBAIC0xNCw4ICsxNCw4IEBACiAKIGV4dGVybiBzdHJ1Y3QgbWFjaGluZV9vcHMgbWFjaGluZV9vcHM7CiAKLXZvaWQgbWFjaGluZV9yZWFsX3Jlc3RhcnQodW5zaWduZWQgY2hhciAqY29kZSwgaW50IGxlbmd0aCk7CiB2b2lkIG5hdGl2ZV9tYWNoaW5lX2NyYXNoX3NodXRkb3duKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKIHZvaWQgbmF0aXZlX21hY2hpbmVfc2h1dGRvd24odm9pZCk7Cit2b2lkIG1hY2hpbmVfcmVhbF9yZXN0YXJ0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvZGUsIGludCBsZW5ndGgpOwogCiAjZW5kaWYJLyogX0FTTV9SRUJPT1RfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3JlcXVpcmVkLWZlYXR1cmVzLmggYi9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaAppbmRleCA3NDAwZDNhLi5hZGVjODg3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvcmVxdWlyZWQtZmVhdHVyZXMuaApAQCAtMTksOSArMTksMTMgQEAKIAogI2lmIGRlZmluZWQoQ09ORklHX1g4Nl9QQUUpIHx8IGRlZmluZWQoQ09ORklHX1g4Nl82NCkKICMgZGVmaW5lIE5FRURfUEFFCSgxPDwoWDg2X0ZFQVRVUkVfUEFFICYgMzEpKQotIyBkZWZpbmUgTkVFRF9DWDgJKDE8PChYODZfRkVBVFVSRV9DWDggJiAzMSkpCiAjZWxzZQogIyBkZWZpbmUgTkVFRF9QQUUJMAorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2X0NNUFhDSEc2NAorIyBkZWZpbmUgTkVFRF9DWDgJKDE8PChYODZfRkVBVFVSRV9DWDggJiAzMSkpCisjZWxzZQogIyBkZWZpbmUgTkVFRF9DWDgJMAogI2VuZGlmCiAKQEAgLTM4LDcgKzQyLDcgQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1g4Nl82NAotI2RlZmluZSBORUVEX1BTRQkoMTw8KFg4Nl9GRUFUVVJFX1BTRSAmIDMxKSkKKyNkZWZpbmUgTkVFRF9QU0UJMAogI2RlZmluZSBORUVEX01TUgkoMTw8KFg4Nl9GRUFUVVJFX01TUiAmIDMxKSkKICNkZWZpbmUgTkVFRF9QR0UJKDE8PChYODZfRkVBVFVSRV9QR0UgJiAzMSkpCiAjZGVmaW5lIE5FRURfRlhTUgkoMTw8KFg4Nl9GRUFUVVJFX0ZYU1IgJiAzMSkpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvcmVzdW1lLXRyYWNlLmggYi9pbmNsdWRlL2FzbS14ODYvcmVzdW1lLXRyYWNlLmgKaW5kZXggMjU1NzUxNC4uOGQ5ZjBiNCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3Jlc3VtZS10cmFjZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9yZXN1bWUtdHJhY2UuaApAQCAtNiw3ICs2LDcgQEAKICNkZWZpbmUgVFJBQ0VfUkVTVU1FKHVzZXIpCQkJCQlcCiBkbyB7CQkJCQkJCQlcCiAJaWYgKHBtX3RyYWNlX2VuYWJsZWQpIHsJCQkJCVwKLQkJdm9pZCAqdHJhY2VkYXRhOwkJCQlcCisJCWNvbnN0IHZvaWQgKnRyYWNlZGF0YTsJCQkJXAogCQlhc20gdm9sYXRpbGUoX0FTTV9NT1ZfVUwgIiAkMWYsJTBcbiIJCVwKIAkJCSAgICAgIi5zZWN0aW9uIC50cmFjZWRhdGEsXCJhXCJcbiIJXAogCQkJICAgICAiMTpcdC53b3JkICVjMVxuXHQiCQlcCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF8zMi5oIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfMzIuaAppbmRleCAxOGRhMTllLi4zNmU3MWM1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF8zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzMyLmgKQEAgLTEsNCArMSw1IEBACiAjaWZuZGVmIF9BU01fU0VDQ09NUF9ICisjZGVmaW5lIF9BU01fU0VDQ09NUF9ICiAKICNpbmNsdWRlIDxsaW51eC90aHJlYWRfaW5mby5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF82NC5oIGIvaW5jbHVkZS9hc20teDg2L3NlY2NvbXBfNjQuaAppbmRleCA1NTNhZjY1Li43NmNmZTY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc2VjY29tcF82NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZWNjb21wXzY0LmgKQEAgLTEsNCArMSw1IEBACiAjaWZuZGVmIF9BU01fU0VDQ09NUF9ICisjZGVmaW5lIF9BU01fU0VDQ09NUF9ICiAKICNpbmNsdWRlIDxsaW51eC90aHJlYWRfaW5mby5oPgogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc2VnbWVudC5oIGIvaW5jbHVkZS9hc20teDg2L3NlZ21lbnQuaAppbmRleCBlZDUxMzFkLi5kZmM4NjAxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc2VnbWVudC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zZWdtZW50LmgKQEAgLTYxLDE4ICs2MSwxNCBAQAogI2RlZmluZSBHRFRfRU5UUllfVExTX01BWCAJKEdEVF9FTlRSWV9UTFNfTUlOICsgR0RUX0VOVFJZX1RMU19FTlRSSUVTIC0gMSkKIAogI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTCTE0Ci0jZGVmaW5lIF9fVVNFUl9DUyAoR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9DUyAqIDggKyAzKQogCiAjZGVmaW5lIEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMJMTUKLSNkZWZpbmUgX19VU0VSX0RTIChHRFRfRU5UUllfREVGQVVMVF9VU0VSX0RTICogOCArIDMpCiAKICNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTF9CQVNFCTEyCiAKICNkZWZpbmUgR0RUX0VOVFJZX0tFUk5FTF9DUwkJKEdEVF9FTlRSWV9LRVJORUxfQkFTRSArIDApCi0jZGVmaW5lIF9fS0VSTkVMX0NTIChHRFRfRU5UUllfS0VSTkVMX0NTICogOCkKIAogI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0RTCQkoR0RUX0VOVFJZX0tFUk5FTF9CQVNFICsgMSkKLSNkZWZpbmUgX19LRVJORUxfRFMgKEdEVF9FTlRSWV9LRVJORUxfRFMgKiA4KQogCiAjZGVmaW5lIEdEVF9FTlRSWV9UU1MJCQkoR0RUX0VOVFJZX0tFUk5FTF9CQVNFICsgNCkKICNkZWZpbmUgR0RUX0VOVFJZX0xEVAkJCShHRFRfRU5UUllfS0VSTkVMX0JBU0UgKyA1KQpAQCAtMTM5LDEwICsxMzUsMTEgQEAKICNlbHNlCiAjaW5jbHVkZSA8YXNtL2NhY2hlLmg+CiAKLSNkZWZpbmUgX19LRVJORUxfQ1MJMHgxMAotI2RlZmluZSBfX0tFUk5FTF9EUwkweDE4CisjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUwzMl9DUyAxCisjZGVmaW5lIEdEVF9FTlRSWV9LRVJORUxfQ1MgMgorI2RlZmluZSBHRFRfRU5UUllfS0VSTkVMX0RTIDMKIAotI2RlZmluZSBfX0tFUk5FTDMyX0NTICAgMHgwOAorI2RlZmluZSBfX0tFUk5FTDMyX0NTICAgKEdEVF9FTlRSWV9LRVJORUwzMl9DUyAqIDgpCiAKIC8qCiAgKiB3ZSBjYW5ub3QgdXNlIHRoZSBzYW1lIGNvZGUgc2VnbWVudCBkZXNjcmlwdG9yIGZvciB1c2VyIGFuZCBrZXJuZWwKQEAgLTE1MCwxMCArMTQ3LDEwIEBACiAgKiBUaGUgc2VnbWVudCBvZmZzZXQgbmVlZHMgdG8gY29udGFpbiBhIFJQTC4gR3JyLiAtQUsKICAqIEdEVCBsYXlvdXQgdG8gZ2V0IDY0Yml0IHN5c2NhbGwgcmlnaHQgKHN5c3JldCBoYXJkY29kZXMgZ2R0IG9mZnNldHMpCiAgKi8KLQotI2RlZmluZSBfX1VTRVIzMl9DUyAgIDB4MjMgICAvKiA0KjgrMyAqLwotI2RlZmluZSBfX1VTRVJfRFMgICAgIDB4MmIgICAvKiA1KjgrMyAqLwotI2RlZmluZSBfX1VTRVJfQ1MgICAgIDB4MzMgICAvKiA2KjgrMyAqLworI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSMzJfQ1MgNAorI2RlZmluZSBHRFRfRU5UUllfREVGQVVMVF9VU0VSX0RTIDUKKyNkZWZpbmUgR0RUX0VOVFJZX0RFRkFVTFRfVVNFUl9DUyA2CisjZGVmaW5lIF9fVVNFUjMyX0NTICAgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVIzMl9DUyAqIDggKyAzKQogI2RlZmluZSBfX1VTRVIzMl9EUwlfX1VTRVJfRFMKIAogI2RlZmluZSBHRFRfRU5UUllfVFNTIDgJLyogbmVlZHMgdHdvIGVudHJpZXMgKi8KQEAgLTE3NSw2ICsxNzIsMTAgQEAKIAogI2VuZGlmCiAKKyNkZWZpbmUgX19LRVJORUxfQ1MJKEdEVF9FTlRSWV9LRVJORUxfQ1MgKiA4KQorI2RlZmluZSBfX0tFUk5FTF9EUwkoR0RUX0VOVFJZX0tFUk5FTF9EUyAqIDgpCisjZGVmaW5lIF9fVVNFUl9EUyAgICAgKEdEVF9FTlRSWV9ERUZBVUxUX1VTRVJfRFMqIDggKyAzKQorI2RlZmluZSBfX1VTRVJfQ1MgICAgIChHRFRfRU5UUllfREVGQVVMVF9VU0VSX0NTKiA4ICsgMykKICNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCiAjZGVmaW5lIGdldF9rZXJuZWxfcnBsKCkgIDAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3NldHVwLmggYi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaAppbmRleCBmYTY3NjNhLi45MGFiMjIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvc2V0dXAuaApAQCAtOCw3ICs4LDI1IEBACiAvKiBJbnRlcnJ1cHQgY29udHJvbCBmb3IgdlNNUG93ZXJlZCB4ODZfNjQgc3lzdGVtcyAqLwogdm9pZCB2c21wX2luaXQodm9pZCk7CiAKLWNoYXIgKm1hY2hpbmVfc3BlY2lmaWNfbWVtb3J5X3NldHVwKHZvaWQpOworI2lmZGVmIENPTkZJR19YODZfVklTV1MKK2V4dGVybiB2b2lkIHZpc3dzX2Vhcmx5X2RldGVjdCh2b2lkKTsKK2V4dGVybiBpbnQgaXNfdmlzd3NfYm94KHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXN3c19lYXJseV9kZXRlY3Qodm9pZCkgeyB9CitzdGF0aWMgaW5saW5lIGludCBpc192aXN3c19ib3godm9pZCkgeyByZXR1cm4gMDsgfQorI2VuZGlmCisKKy8qCisgKiBBbnkgc2V0dXAgcXVpcmtzIHRvIGJlIHBlcmZvcm1lZD8KKyAqLworZXh0ZXJuIGludCAoKmFyY2hfdGltZV9pbml0X3F1aXJrKSh2b2lkKTsKK2V4dGVybiBpbnQgKCphcmNoX3ByZV9pbnRyX2luaXRfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKmFyY2hfaW50cl9pbml0X3F1aXJrKSh2b2lkKTsKK2V4dGVybiBpbnQgKCphcmNoX3RyYXBfaW5pdF9xdWlyaykodm9pZCk7CitleHRlcm4gY2hhciAqICgqYXJjaF9tZW1vcnlfc2V0dXBfcXVpcmspKHZvaWQpOworZXh0ZXJuIGludCAoKm1hY2hfZ2V0X3NtcF9jb25maWdfcXVpcmspKHVuc2lnbmVkIGludCBlYXJseSk7CitleHRlcm4gaW50ICgqbWFjaF9maW5kX3NtcF9jb25maWdfcXVpcmspKHVuc2lnbmVkIGludCByZXNlcnZlKTsKKwogI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKICNkZWZpbmUgcGFyYXZpcnRfcG9zdF9hbGxvY2F0b3JfaW5pdCgpCWRvIHt9IHdoaWxlICgwKQogI2VuZGlmCkBAIC00MywyNiArNjEsMjMgQEAKICAqLwogZXh0ZXJuIHN0cnVjdCBib290X3BhcmFtcyBib290X3BhcmFtczsKIAotI2lmZGVmIF9faTM4Nl9fCiAvKgogICogRG8gTk9UIEVWRVIgbG9vayBhdCB0aGUgQklPUyBtZW1vcnkgc2l6ZSBsb2NhdGlvbi4KICAqIEl0IGRvZXMgbm90IHdvcmsgb24gbWFueSBtYWNoaW5lcy4KICAqLwogI2RlZmluZSBMT1dNRU1TSVpFKCkJKDB4OWYwMDApCiAKLXN0cnVjdCBlODIwZW50cnk7CisjaWZkZWYgX19pMzg2X18KIAotY2hhciAqIF9faW5pdCBtYWNoaW5lX3NwZWNpZmljX21lbW9yeV9zZXR1cCh2b2lkKTsKLWNoYXIgKm1lbW9yeV9zZXR1cCh2b2lkKTsKK3ZvaWQgX19pbml0IGkzODZfc3RhcnRfa2VybmVsKHZvaWQpOworZXh0ZXJuIHZvaWQgcHJvYmVfcm9tcyh2b2lkKTsKIAotaW50IF9faW5pdCBjb3B5X2U4MjBfbWFwKHN0cnVjdCBlODIwZW50cnkgKmJpb3NtYXAsIGludCBucl9tYXApOwotaW50IF9faW5pdCBzYW5pdGl6ZV9lODIwX21hcChzdHJ1Y3QgZTgyMGVudHJ5ICpiaW9zbWFwLCBjaGFyICpwbnJfbWFwKTsKLXZvaWQgX19pbml0IGFkZF9tZW1vcnlfcmVnaW9uKHVuc2lnbmVkIGxvbmcgbG9uZyBzdGFydCwKLQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplLCBpbnQgdHlwZSk7Ci0KK2V4dGVybiB1bnNpZ25lZCBsb25nIGluaXRfcGdfdGFibGVzX3N0YXJ0OwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgaW5pdF9wZ190YWJsZXNfZW5kOwogCi0KKyNlbHNlCit2b2lkIF9faW5pdCB4ODZfNjRfc3RhcnRfa2VybmVsKGNoYXIgKnJlYWxfbW9kZSk7Cit2b2lkIF9faW5pdCB4ODZfNjRfc3RhcnRfcmVzZXJ2YXRpb25zKGNoYXIgKnJlYWxfbW9kZV9kYXRhKTsKIAogI2VuZGlmIC8qIF9faTM4Nl9fICovCiAjZW5kaWYgLyogX1NFVFVQICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc21wLmggYi9pbmNsdWRlL2FzbS14ODYvc21wLmgKaW5kZXggMWViYWE1Yy4uYzI3ODRiMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3NtcC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zbXAuaApAQCAtMjksMjEgKzI5LDEyIEBACiBleHRlcm4gdW5zaWduZWQgaW50IG51bV9wcm9jZXNzb3JzOwogZXh0ZXJuIGNwdW1hc2tfdCBjcHVfaW5pdGlhbGl6ZWQ7CiAKLSNpZmRlZiBDT05GSUdfU01QCi1leHRlcm4gdTE2IHg4Nl9jcHVfdG9fYXBpY2lkX2luaXRbXTsKLWV4dGVybiB1MTYgeDg2X2Jpb3NfY3B1X2FwaWNpZF9pbml0W107Ci1leHRlcm4gdm9pZCAqeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyOwotZXh0ZXJuIHZvaWQgKng4Nl9iaW9zX2NwdV9hcGljaWRfZWFybHlfcHRyOwotI2Vsc2UKLSNkZWZpbmUgeDg2X2NwdV90b19hcGljaWRfZWFybHlfcHRyIE5VTEwKLSNkZWZpbmUgeDg2X2Jpb3NfY3B1X2FwaWNpZF9lYXJseV9wdHIgTlVMTAotI2VuZGlmCi0KIERFQ0xBUkVfUEVSX0NQVShjcHVtYXNrX3QsIGNwdV9zaWJsaW5nX21hcCk7CiBERUNMQVJFX1BFUl9DUFUoY3B1bWFza190LCBjcHVfY29yZV9tYXApOwogREVDTEFSRV9QRVJfQ1BVKHUxNiwgY3B1X2xsY19pZCk7Ci1ERUNMQVJFX1BFUl9DUFUodTE2LCB4ODZfY3B1X3RvX2FwaWNpZCk7Ci1ERUNMQVJFX1BFUl9DUFUodTE2LCB4ODZfYmlvc19jcHVfYXBpY2lkKTsKKworREVDTEFSRV9FQVJMWV9QRVJfQ1BVKHUxNiwgeDg2X2NwdV90b19hcGljaWQpOworREVDTEFSRV9FQVJMWV9QRVJfQ1BVKHUxNiwgeDg2X2Jpb3NfY3B1X2FwaWNpZCk7CiAKIC8qIFN0YXRpYyBzdGF0ZSBpbiBoZWFkLlMgdXNlZCB0byBzZXQgdXAgYSBDUFUgKi8KIGV4dGVybiBzdHJ1Y3QgewpAQCAtNTksOSArNTAsOSBAQAogCiAJdm9pZCAoKnNtcF9zZW5kX3N0b3ApKHZvaWQpOwogCXZvaWQgKCpzbXBfc2VuZF9yZXNjaGVkdWxlKShpbnQgY3B1KTsKLQlpbnQgKCpzbXBfY2FsbF9mdW5jdGlvbl9tYXNrKShjcHVtYXNrX3QgbWFzaywKLQkJCQkgICAgICB2b2lkICgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJICAgICAgaW50IHdhaXQpOworCisJdm9pZCAoKnNlbmRfY2FsbF9mdW5jX2lwaSkoY3B1bWFza190IG1hc2spOworCXZvaWQgKCpzZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpKShpbnQgY3B1KTsKIH07CiAKIC8qIEdsb2JhbHMgZHVlIHRvIHBhcmF2aXJ0ICovCkBAIC0xMDMsMjMgKzk0LDI2IEBACiAJc21wX29wcy5zbXBfc2VuZF9yZXNjaGVkdWxlKGNwdSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1bWFza190IG1hc2ssCi0JCQkJCSB2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLAotCQkJCQkgaW50IHdhaXQpCitzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaShpbnQgY3B1KQogewotCXJldHVybiBzbXBfb3BzLnNtcF9jYWxsX2Z1bmN0aW9uX21hc2sobWFzaywgZnVuYywgaW5mbywgd2FpdCk7CisJc21wX29wcy5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpKGNwdSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkoY3B1bWFza190IG1hc2spCit7CisJc21wX29wcy5zZW5kX2NhbGxfZnVuY19pcGkobWFzayk7CiB9CiAKIHZvaWQgbmF0aXZlX3NtcF9wcmVwYXJlX2Jvb3RfY3B1KHZvaWQpOwogdm9pZCBuYXRpdmVfc21wX3ByZXBhcmVfY3B1cyh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpOwogdm9pZCBuYXRpdmVfc21wX2NwdXNfZG9uZSh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpOwogaW50IG5hdGl2ZV9jcHVfdXAodW5zaWduZWQgaW50IGNwdW51bSk7Cit2b2lkIG5hdGl2ZV9zZW5kX2NhbGxfZnVuY19pcGkoY3B1bWFza190IG1hc2spOwordm9pZCBuYXRpdmVfc2VuZF9jYWxsX2Z1bmNfc2luZ2xlX2lwaShpbnQgY3B1KTsKIAogZXh0ZXJuIGludCBfX2NwdV9kaXNhYmxlKHZvaWQpOwogZXh0ZXJuIHZvaWQgX19jcHVfZGllKHVuc2lnbmVkIGludCBjcHUpOwogCi1leHRlcm4gdm9pZCBwcmVmaWxsX3Bvc3NpYmxlX21hcCh2b2lkKTsKLQogdm9pZCBzbXBfc3RvcmVfY3B1X2luZm8oaW50IGlkKTsKICNkZWZpbmUgY3B1X3BoeXNpY2FsX2lkKGNwdSkJcGVyX2NwdSh4ODZfY3B1X3RvX2FwaWNpZCwgY3B1KQogCkBAIC0xMzAsNiArMTI0LDE0IEBACiB9CiAjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCisjaWYgZGVmaW5lZChDT05GSUdfU01QKSAmJiBkZWZpbmVkKENPTkZJR19IT1RQTFVHX0NQVSkKK2V4dGVybiB2b2lkIHByZWZpbGxfcG9zc2libGVfbWFwKHZvaWQpOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgdm9pZCBwcmVmaWxsX3Bvc3NpYmxlX21hcCh2b2lkKQoreworfQorI2VuZGlmCisKIGV4dGVybiB1bnNpZ25lZCBkaXNhYmxlZF9jcHVzIF9fY3B1aW5pdGRhdGE7CiAKICNpZmRlZiBDT05GSUdfWDg2XzMyX1NNUApAQCAtMTk3LDEyICsxOTksOCBAQAogI2VuZGlmIC8qIENPTkZJR19YODZfTE9DQUxfQVBJQyAqLwogCiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCi1leHRlcm4gdm9pZCBjcHVfZXhpdF9jbGVhcih2b2lkKTsKIGV4dGVybiB2b2lkIGNwdV91bmluaXQodm9pZCk7CiAjZW5kaWYKIAotZXh0ZXJuIHZvaWQgc21wX2FsbG9jX21lbW9yeSh2b2lkKTsKLWV4dGVybiB2b2lkIGxvY2tfaXBpX2NhbGxfbG9jayh2b2lkKTsKLWV4dGVybiB2b2lkIHVubG9ja19pcGlfY2FsbF9sb2NrKHZvaWQpOwogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc3JhdC5oIGIvaW5jbHVkZS9hc20teDg2L3NyYXQuaAppbmRleCBmNGJiYTEzLi43NzRjOTE5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3JhdC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zcmF0LmgKQEAgLTI3LDExICsyNywxMyBAQAogI2lmbmRlZiBfQVNNX1NSQVRfSF8KICNkZWZpbmUgX0FTTV9TUkFUX0hfCiAKLSNpZm5kZWYgQ09ORklHX0FDUElfU1JBVAotI2Vycm9yIENPTkZJR19BQ1BJX1NSQVQgbm90IGRlZmluZWQsIGFuZCBzcmF0LmggaGVhZGVyIGhhcyBiZWVuIGluY2x1ZGVkCi0jZW5kaWYKLQorI2lmZGVmIENPTkZJR19BQ1BJX05VTUEKIGV4dGVybiBpbnQgZ2V0X21lbWNmZ19mcm9tX3NyYXQodm9pZCk7Ci1leHRlcm4gdW5zaWduZWQgbG9uZyAqZ2V0X3pob2xlc19zaXplKGludCk7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQgZ2V0X21lbWNmZ19mcm9tX3NyYXQodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgogCiAjZW5kaWYgLyogX0FTTV9TUkFUX0hfICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvc3RyaW5nXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvc3RyaW5nXzMyLmgKaW5kZXggYjQ5MzY5YS4uMTkzNTc4YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3N0cmluZ18zMi5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni9zdHJpbmdfMzIuaApAQCAtMjksODEgKzI5LDExNiBAQAogI2RlZmluZSBfX0hBVkVfQVJDSF9TVFJMRU4KIGV4dGVybiBzaXplX3Qgc3RybGVuKGNvbnN0IGNoYXIgKnMpOwogCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKiBfX21lbWNweSh2b2lkICogdG8sIGNvbnN0IHZvaWQgKiBmcm9tLCBzaXplX3QgbikKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqX19tZW1jcHkodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sIHNpemVfdCBuKQogewotaW50IGQwLCBkMSwgZDI7Ci1fX2FzbV9fIF9fdm9sYXRpbGVfXygKLQkicmVwIDsgbW92c2xcblx0IgotCSJtb3ZsICU0LCUlZWN4XG5cdCIKLQkiYW5kbCAkMywlJWVjeFxuXHQiCi0JImp6IDFmXG5cdCIKLQkicmVwIDsgbW92c2Jcblx0IgotCSIxOiIKLQk6ICI9JmMiIChkMCksICI9JkQiIChkMSksICI9JlMiIChkMikKLQk6ICIwIiAobi80KSwgImciIChuKSwgIjEiICgobG9uZykgdG8pLCAiMiIgKChsb25nKSBmcm9tKQotCTogIm1lbW9yeSIpOwotcmV0dXJuICh0byk7CisJaW50IGQwLCBkMSwgZDI7CisJYXNtIHZvbGF0aWxlKCJyZXAgOyBtb3ZzbFxuXHQiCisJCSAgICAgIm1vdmwgJTQsJSVlY3hcblx0IgorCQkgICAgICJhbmRsICQzLCUlZWN4XG5cdCIKKwkJICAgICAianogMWZcblx0IgorCQkgICAgICJyZXAgOyBtb3ZzYlxuXHQiCisJCSAgICAgIjE6IgorCQkgICAgIDogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKSwgIj0mUyIgKGQyKQorCQkgICAgIDogIjAiIChuIC8gNCksICJnIiAobiksICIxIiAoKGxvbmcpdG8pLCAiMiIgKChsb25nKWZyb20pCisJCSAgICAgOiAibWVtb3J5Iik7CisJcmV0dXJuIHRvOwogfQogCiAvKgogICogVGhpcyBsb29rcyB1Z2x5LCBidXQgdGhlIGNvbXBpbGVyIGNhbiBvcHRpbWl6ZSBpdCB0b3RhbGx5LAogICogYXMgdGhlIGNvdW50IGlzIGNvbnN0YW50LgogICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKiBfX2NvbnN0YW50X21lbWNweSh2b2lkICogdG8sIGNvbnN0IHZvaWQgKiBmcm9tLCBzaXplX3QgbikKK3N0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqX19jb25zdGFudF9tZW1jcHkodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sCisJCQkJCSAgICAgICBzaXplX3QgbikKIHsKIAlsb25nIGVzaSwgZWRpOwotCWlmICghbikgcmV0dXJuIHRvOwotI2lmIDEJLyogd2FudCB0byBkbyBzbWFsbCBjb3BpZXMgd2l0aCBub24tc3RyaW5nIG9wcz8gKi8KKwlpZiAoIW4pCisJCXJldHVybiB0bzsKKwogCXN3aXRjaCAobikgewotCQljYXNlIDE6ICooY2hhciopdG8gPSAqKGNoYXIqKWZyb207IHJldHVybiB0bzsKLQkJY2FzZSAyOiAqKHNob3J0Kil0byA9ICooc2hvcnQqKWZyb207IHJldHVybiB0bzsKLQkJY2FzZSA0OiAqKGludCopdG8gPSAqKGludCopZnJvbTsgcmV0dXJuIHRvOwotI2lmIDEJLyogaW5jbHVkaW5nIHRob3NlIGRvYWJsZSB3aXRoIHR3byBtb3Zlcz8gKi8KLQkJY2FzZSAzOiAqKHNob3J0Kil0byA9ICooc2hvcnQqKWZyb207Ci0JCQkqKChjaGFyKil0bysyKSA9ICooKGNoYXIqKWZyb20rMik7IHJldHVybiB0bzsKLQkJY2FzZSA1OiAqKGludCopdG8gPSAqKGludCopZnJvbTsKLQkJCSooKGNoYXIqKXRvKzQpID0gKigoY2hhciopZnJvbSs0KTsgcmV0dXJuIHRvOwotCQljYXNlIDY6ICooaW50Kil0byA9ICooaW50Kilmcm9tOwotCQkJKigoc2hvcnQqKXRvKzIpID0gKigoc2hvcnQqKWZyb20rMik7IHJldHVybiB0bzsKLQkJY2FzZSA4OiAqKGludCopdG8gPSAqKGludCopZnJvbTsKLQkJCSooKGludCopdG8rMSkgPSAqKChpbnQqKWZyb20rMSk7IHJldHVybiB0bzsKLSNlbmRpZgorCWNhc2UgMToKKwkJKihjaGFyICopdG8gPSAqKGNoYXIgKilmcm9tOworCQlyZXR1cm4gdG87CisJY2FzZSAyOgorCQkqKHNob3J0ICopdG8gPSAqKHNob3J0ICopZnJvbTsKKwkJcmV0dXJuIHRvOworCWNhc2UgNDoKKwkJKihpbnQgKil0byA9ICooaW50ICopZnJvbTsKKwkJcmV0dXJuIHRvOworCisJY2FzZSAzOgorCQkqKHNob3J0ICopdG8gPSAqKHNob3J0ICopZnJvbTsKKwkJKigoY2hhciAqKXRvICsgMikgPSAqKChjaGFyICopZnJvbSArIDIpOworCQlyZXR1cm4gdG87CisJY2FzZSA1OgorCQkqKGludCAqKXRvID0gKihpbnQgKilmcm9tOworCQkqKChjaGFyICopdG8gKyA0KSA9ICooKGNoYXIgKilmcm9tICsgNCk7CisJCXJldHVybiB0bzsKKwljYXNlIDY6CisJCSooaW50ICopdG8gPSAqKGludCAqKWZyb207CisJCSooKHNob3J0ICopdG8gKyAyKSA9ICooKHNob3J0ICopZnJvbSArIDIpOworCQlyZXR1cm4gdG87CisJY2FzZSA4OgorCQkqKGludCAqKXRvID0gKihpbnQgKilmcm9tOworCQkqKChpbnQgKil0byArIDEpID0gKigoaW50ICopZnJvbSArIDEpOworCQlyZXR1cm4gdG87CiAJfQotI2VuZGlmCi0JZXNpID0gKGxvbmcpIGZyb207Ci0JZWRpID0gKGxvbmcpIHRvOwotCWlmIChuID49IDUqNCkgeworCisJZXNpID0gKGxvbmcpZnJvbTsKKwllZGkgPSAobG9uZyl0bzsKKwlpZiAobiA+PSA1ICogNCkgewogCQkvKiBsYXJnZSBibG9jazogdXNlIHJlcCBwcmVmaXggKi8KIAkJaW50IGVjeDsKLQkJX19hc21fXyBfX3ZvbGF0aWxlX18oCi0JCQkicmVwIDsgbW92c2wiCi0JCQk6ICI9JmMiIChlY3gpLCAiPSZEIiAoZWRpKSwgIj0mUyIgKGVzaSkKLQkJCTogIjAiIChuLzQpLCAiMSIgKGVkaSksIjIiIChlc2kpCi0JCQk6ICJtZW1vcnkiCisJCWFzbSB2b2xhdGlsZSgicmVwIDsgbW92c2wiCisJCQkgICAgIDogIj0mYyIgKGVjeCksICI9JkQiIChlZGkpLCAiPSZTIiAoZXNpKQorCQkJICAgICA6ICIwIiAobiAvIDQpLCAiMSIgKGVkaSksICIyIiAoZXNpKQorCQkJICAgICA6ICJtZW1vcnkiCiAJCSk7CiAJfSBlbHNlIHsKIAkJLyogc21hbGwgYmxvY2s6IGRvbid0IGNsb2JiZXIgZWN4ICsgc21hbGxlciBjb2RlICovCi0JCWlmIChuID49IDQqNCkgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnNsIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCWlmIChuID49IDMqNCkgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnNsIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCWlmIChuID49IDIqNCkgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnNsIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCWlmIChuID49IDEqNCkgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnNsIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7CisJCWlmIChuID49IDQgKiA0KQorCQkJYXNtIHZvbGF0aWxlKCJtb3ZzbCIKKwkJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCQkgICAgIDogIm1lbW9yeSIpOworCQlpZiAobiA+PSAzICogNCkKKwkJCWFzbSB2b2xhdGlsZSgibW92c2wiCisJCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCQkgICAgIDogIjAiKGVkaSksICIxIihlc2kpCisJCQkJICAgICA6ICJtZW1vcnkiKTsKKwkJaWYgKG4gPj0gMiAqIDQpCisJCQlhc20gdm9sYXRpbGUoIm1vdnNsIgorCQkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkJICAgICA6ICIwIihlZGkpLCAiMSIoZXNpKQorCQkJCSAgICAgOiAibWVtb3J5Iik7CisJCWlmIChuID49IDEgKiA0KQorCQkJYXNtIHZvbGF0aWxlKCJtb3ZzbCIKKwkJCQkgICAgIDogIj0mRCIoZWRpKSwgIj0mUyIoZXNpKQorCQkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCQkgICAgIDogIm1lbW9yeSIpOwogCX0KIAlzd2l0Y2ggKG4gJSA0KSB7CiAJCS8qIHRhaWwgKi8KLQkJY2FzZSAwOiByZXR1cm4gdG87Ci0JCWNhc2UgMTogX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnNiIgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCQlyZXR1cm4gdG87Ci0JCWNhc2UgMjogX19hc21fXyBfX3ZvbGF0aWxlX18oIm1vdnN3IgotCQkJOiI9JkQiKGVkaSksIj0mUyIoZXNpKToiMCIoZWRpKSwiMSIoZXNpKToibWVtb3J5Iik7Ci0JCQlyZXR1cm4gdG87Ci0JCWRlZmF1bHQ6IF9fYXNtX18gX192b2xhdGlsZV9fKCJtb3Zzd1xuXHRtb3ZzYiIKLQkJCToiPSZEIihlZGkpLCI9JlMiKGVzaSk6IjAiKGVkaSksIjEiKGVzaSk6Im1lbW9yeSIpOwotCQkJcmV0dXJuIHRvOworCWNhc2UgMDoKKwkJcmV0dXJuIHRvOworCWNhc2UgMToKKwkJYXNtIHZvbGF0aWxlKCJtb3ZzYiIKKwkJCSAgICAgOiAiPSZEIihlZGkpLCAiPSZTIihlc2kpCisJCQkgICAgIDogIjAiKGVkaSksICIxIihlc2kpCisJCQkgICAgIDogIm1lbW9yeSIpOworCQlyZXR1cm4gdG87CisJY2FzZSAyOgorCQlhc20gdm9sYXRpbGUoIm1vdnN3IgorCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiB0bzsKKwlkZWZhdWx0OgorCQlhc20gdm9sYXRpbGUoIm1vdnN3XG5cdG1vdnNiIgorCQkJICAgICA6ICI9JkQiKGVkaSksICI9JlMiKGVzaSkKKwkJCSAgICAgOiAiMCIoZWRpKSwgIjEiKGVzaSkKKwkJCSAgICAgOiAibWVtb3J5Iik7CisJCXJldHVybiB0bzsKIAl9CiB9CiAKQEAgLTExNyw4NyArMTUyLDg2IEBACiAgKglUaGlzIENQVSBmYXZvdXJzIDNETm93IHN0cm9uZ2x5IChlZyBBTUQgQXRobG9uKQogICovCiAKLXN0YXRpYyBpbmxpbmUgdm9pZCAqIF9fY29uc3RhbnRfbWVtY3B5M2Qodm9pZCAqIHRvLCBjb25zdCB2b2lkICogZnJvbSwgc2l6ZV90IGxlbikKK3N0YXRpYyBpbmxpbmUgdm9pZCAqX19jb25zdGFudF9tZW1jcHkzZCh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgc2l6ZV90IGxlbikKIHsKIAlpZiAobGVuIDwgNTEyKQogCQlyZXR1cm4gX19jb25zdGFudF9tZW1jcHkodG8sIGZyb20sIGxlbik7CiAJcmV0dXJuIF9tbXhfbWVtY3B5KHRvLCBmcm9tLCBsZW4pOwogfQogCi1zdGF0aWMgX19pbmxpbmVfXyB2b2lkICpfX21lbWNweTNkKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCBzaXplX3QgbGVuKQorc3RhdGljIGlubGluZSB2b2lkICpfX21lbWNweTNkKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCBzaXplX3QgbGVuKQogewogCWlmIChsZW4gPCA1MTIpCiAJCXJldHVybiBfX21lbWNweSh0bywgZnJvbSwgbGVuKTsKIAlyZXR1cm4gX21teF9tZW1jcHkodG8sIGZyb20sIGxlbik7CiB9CiAKLSNkZWZpbmUgbWVtY3B5KHQsIGYsIG4pIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChuKSA/IFwKLSBfX2NvbnN0YW50X21lbWNweTNkKCh0KSwoZiksKG4pKSA6IFwKLSBfX21lbWNweTNkKCh0KSwoZiksKG4pKSkKKyNkZWZpbmUgbWVtY3B5KHQsIGYsIG4pCQkJCVwKKwkoX19idWlsdGluX2NvbnN0YW50X3AoKG4pKQkJXAorCSA/IF9fY29uc3RhbnRfbWVtY3B5M2QoKHQpLCAoZiksIChuKSkJXAorCSA6IF9fbWVtY3B5M2QoKHQpLCAoZiksIChuKSkpCiAKICNlbHNlCiAKIC8qCiAgKglObyAzRCBOb3chCiAgKi8KLSAKLSNkZWZpbmUgbWVtY3B5KHQsIGYsIG4pIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChuKSA/IFwKLSBfX2NvbnN0YW50X21lbWNweSgodCksKGYpLChuKSkgOiBcCi0gX19tZW1jcHkoKHQpLChmKSwobikpKQorCisjZGVmaW5lIG1lbWNweSh0LCBmLCBuKQkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKChuKSkJCVwKKwkgPyBfX2NvbnN0YW50X21lbWNweSgodCksIChmKSwgKG4pKQlcCisJIDogX19tZW1jcHkoKHQpLCAoZiksIChuKSkpCiAKICNlbmRpZgogCiAjZGVmaW5lIF9fSEFWRV9BUkNIX01FTU1PVkUKLXZvaWQgKm1lbW1vdmUodm9pZCAqIGRlc3QsY29uc3Qgdm9pZCAqIHNyYywgc2l6ZV90IG4pOwordm9pZCAqbWVtbW92ZSh2b2lkICpkZXN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKTsKIAogI2RlZmluZSBtZW1jbXAgX19idWlsdGluX21lbWNtcAogCiAjZGVmaW5lIF9fSEFWRV9BUkNIX01FTUNIUgotZXh0ZXJuIHZvaWQgKm1lbWNocihjb25zdCB2b2lkICogY3MsaW50IGMsc2l6ZV90IGNvdW50KTsKK2V4dGVybiB2b2lkICptZW1jaHIoY29uc3Qgdm9pZCAqY3MsIGludCBjLCBzaXplX3QgY291bnQpOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgKiBfX21lbXNldF9nZW5lcmljKHZvaWQgKiBzLCBjaGFyIGMsc2l6ZV90IGNvdW50KQorc3RhdGljIGlubGluZSB2b2lkICpfX21lbXNldF9nZW5lcmljKHZvaWQgKnMsIGNoYXIgYywgc2l6ZV90IGNvdW50KQogewotaW50IGQwLCBkMTsKLV9fYXNtX18gX192b2xhdGlsZV9fKAotCSJyZXBcblx0IgotCSJzdG9zYiIKLQk6ICI9JmMiIChkMCksICI9JkQiIChkMSkKLQk6ImEiIChjKSwiMSIgKHMpLCIwIiAoY291bnQpCi0JOiJtZW1vcnkiKTsKLXJldHVybiBzOworCWludCBkMCwgZDE7CisJYXNtIHZvbGF0aWxlKCJyZXBcblx0IgorCQkgICAgICJzdG9zYiIKKwkJICAgICA6ICI9JmMiIChkMCksICI9JkQiIChkMSkKKwkJICAgICA6ICJhIiAoYyksICIxIiAocyksICIwIiAoY291bnQpCisJCSAgICAgOiAibWVtb3J5Iik7CisJcmV0dXJuIHM7CiB9CiAKIC8qIHdlIG1pZ2h0IHdhbnQgdG8gd3JpdGUgb3B0aW1pemVkIHZlcnNpb25zIG9mIHRoZXNlIGxhdGVyICovCi0jZGVmaW5lIF9fY29uc3RhbnRfY291bnRfbWVtc2V0KHMsYyxjb3VudCkgX19tZW1zZXRfZ2VuZXJpYygocyksKGMpLChjb3VudCkpCisjZGVmaW5lIF9fY29uc3RhbnRfY291bnRfbWVtc2V0KHMsIGMsIGNvdW50KSBfX21lbXNldF9nZW5lcmljKChzKSwgKGMpLCAoY291bnQpKQogCiAvKgotICogbWVtc2V0KHgsMCx5KSBpcyBhIHJlYXNvbmFibHkgY29tbW9uIHRoaW5nIHRvIGRvLCBzbyB3ZSB3YW50IHRvIGZpbGwKKyAqIG1lbXNldCh4LCAwLCB5KSBpcyBhIHJlYXNvbmFibHkgY29tbW9uIHRoaW5nIHRvIGRvLCBzbyB3ZSB3YW50IHRvIGZpbGwKICAqIHRoaW5ncyAzMiBiaXRzIGF0IGEgdGltZSBldmVuIHdoZW4gd2UgZG9uJ3Qga25vdyB0aGUgc2l6ZSBvZiB0aGUKICAqIGFyZWEgYXQgY29tcGlsZS10aW1lLi4KICAqLwotc3RhdGljIF9fYWx3YXlzX2lubGluZSB2b2lkICogX19jb25zdGFudF9jX21lbXNldCh2b2lkICogcywgdW5zaWduZWQgbG9uZyBjLCBzaXplX3QgY291bnQpCitzdGF0aWMgX19hbHdheXNfaW5saW5lCit2b2lkICpfX2NvbnN0YW50X2NfbWVtc2V0KHZvaWQgKnMsIHVuc2lnbmVkIGxvbmcgYywgc2l6ZV90IGNvdW50KQogewotaW50IGQwLCBkMTsKLV9fYXNtX18gX192b2xhdGlsZV9fKAotCSJyZXAgOyBzdG9zbFxuXHQiCi0JInRlc3RiICQyLCViM1xuXHQiCi0JImplIDFmXG5cdCIKLQkic3Rvc3dcbiIKLQkiMTpcdHRlc3RiICQxLCViM1xuXHQiCi0JImplIDJmXG5cdCIKLQkic3Rvc2JcbiIKLQkiMjoiCi0JOiI9JmMiIChkMCksICI9JkQiIChkMSkKLQk6ImEiIChjKSwgInEiIChjb3VudCksICIwIiAoY291bnQvNCksICIxIiAoKGxvbmcpIHMpCi0JOiJtZW1vcnkiKTsKLXJldHVybiAocyk7CQorCWludCBkMCwgZDE7CisJYXNtIHZvbGF0aWxlKCJyZXAgOyBzdG9zbFxuXHQiCisJCSAgICAgInRlc3RiICQyLCViM1xuXHQiCisJCSAgICAgImplIDFmXG5cdCIKKwkJICAgICAic3Rvc3dcbiIKKwkJICAgICAiMTpcdHRlc3RiICQxLCViM1xuXHQiCisJCSAgICAgImplIDJmXG5cdCIKKwkJICAgICAic3Rvc2JcbiIKKwkJICAgICAiMjoiCisJCSAgICAgOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpCisJCSAgICAgOiAiYSIgKGMpLCAicSIgKGNvdW50KSwgIjAiIChjb3VudC80KSwgIjEiICgobG9uZylzKQorCQkgICAgIDogIm1lbW9yeSIpOworCXJldHVybiBzOwogfQogCiAvKiBBZGRlZCBieSBHZXJ0amFuIHZhbiBXaW5nZXJkZSB0byBtYWtlIG1pbml4IGFuZCBzeXN2IG1vZHVsZSB3b3JrICovCiAjZGVmaW5lIF9fSEFWRV9BUkNIX1NUUk5MRU4KLWV4dGVybiBzaXplX3Qgc3Rybmxlbihjb25zdCBjaGFyICogcywgc2l6ZV90IGNvdW50KTsKK2V4dGVybiBzaXplX3Qgc3Rybmxlbihjb25zdCBjaGFyICpzLCBzaXplX3QgY291bnQpOwogLyogZW5kIG9mIGFkZGl0aW9uYWwgc3R1ZmYgKi8KIAogI2RlZmluZSBfX0hBVkVfQVJDSF9TVFJTVFIKQEAgLTIwNyw2NiArMjQxLDg1IEBACiAgKiBUaGlzIGxvb2tzIGhvcnJpYmx5IHVnbHksIGJ1dCB0aGUgY29tcGlsZXIgY2FuIG9wdGltaXplIGl0IHRvdGFsbHksCiAgKiBhcyB3ZSBieSBub3cga25vdyB0aGF0IGJvdGggcGF0dGVybiBhbmQgY291bnQgaXMgY29uc3RhbnQuLgogICovCi1zdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQgKiBfX2NvbnN0YW50X2NfYW5kX2NvdW50X21lbXNldCh2b2lkICogcywgdW5zaWduZWQgbG9uZyBwYXR0ZXJuLCBzaXplX3QgY291bnQpCitzdGF0aWMgX19hbHdheXNfaW5saW5lCit2b2lkICpfX2NvbnN0YW50X2NfYW5kX2NvdW50X21lbXNldCh2b2lkICpzLCB1bnNpZ25lZCBsb25nIHBhdHRlcm4sCisJCQkJICAgIHNpemVfdCBjb3VudCkKIHsKIAlzd2l0Y2ggKGNvdW50KSB7CisJY2FzZSAwOgorCQlyZXR1cm4gczsKKwljYXNlIDE6CisJCSoodW5zaWduZWQgY2hhciAqKXMgPSBwYXR0ZXJuICYgMHhmZjsKKwkJcmV0dXJuIHM7CisJY2FzZSAyOgorCQkqKHVuc2lnbmVkIHNob3J0ICopcyA9IHBhdHRlcm4gJiAweGZmZmY7CisJCXJldHVybiBzOworCWNhc2UgMzoKKwkJKih1bnNpZ25lZCBzaG9ydCAqKXMgPSBwYXR0ZXJuICYgMHhmZmZmOworCQkqKCh1bnNpZ25lZCBjaGFyICopcyArIDIpID0gcGF0dGVybiAmIDB4ZmY7CisJCXJldHVybiBzOworCWNhc2UgNDoKKwkJKih1bnNpZ25lZCBsb25nICopcyA9IHBhdHRlcm47CisJCXJldHVybiBzOworCX0KKworI2RlZmluZSBDT01NT04oeCkJCQkJCQkJXAorCWFzbSB2b2xhdGlsZSgicmVwIDsgc3Rvc2wiCQkJCQlcCisJCSAgICAgeAkJCQkJCQlcCisJCSAgICAgOiAiPSZjIiAoZDApLCAiPSZEIiAoZDEpCQkJCVwKKwkJICAgICA6ICJhIiAoZWF4KSwgIjAiIChjb3VudC80KSwgIjEiICgobG9uZylzKQlcCisJCSAgICAgOiAibWVtb3J5IikKKworCXsKKwkJaW50IGQwLCBkMTsKKyNpZiBfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID09IDAKKwkJLyogV29ya2Fyb3VuZCBmb3IgYnJva2VuIGdjYyA0LjAgKi8KKwkJcmVnaXN0ZXIgdW5zaWduZWQgbG9uZyBlYXggYXNtKCIlZWF4IikgPSBwYXR0ZXJuOworI2Vsc2UKKwkJdW5zaWduZWQgbG9uZyBlYXggPSBwYXR0ZXJuOworI2VuZGlmCisKKwkJc3dpdGNoIChjb3VudCAlIDQpIHsKIAkJY2FzZSAwOgorCQkJQ09NTU9OKCIiKTsKIAkJCXJldHVybiBzOwogCQljYXNlIDE6Ci0JCQkqKHVuc2lnbmVkIGNoYXIgKilzID0gcGF0dGVybiAmIDB4ZmY7CisJCQlDT01NT04oIlxuXHRzdG9zYiIpOwogCQkJcmV0dXJuIHM7CiAJCWNhc2UgMjoKLQkJCSoodW5zaWduZWQgc2hvcnQgKilzID0gcGF0dGVybiAmIDB4ZmZmZjsKKwkJCUNPTU1PTigiXG5cdHN0b3N3Iik7CiAJCQlyZXR1cm4gczsKLQkJY2FzZSAzOgotCQkJKih1bnNpZ25lZCBzaG9ydCAqKXMgPSBwYXR0ZXJuICYgMHhmZmZmOwotCQkJKigyKyh1bnNpZ25lZCBjaGFyICopcykgPSBwYXR0ZXJuICYgMHhmZjsKKwkJZGVmYXVsdDoKKwkJCUNPTU1PTigiXG5cdHN0b3N3XG5cdHN0b3NiIik7CiAJCQlyZXR1cm4gczsKLQkJY2FzZSA0OgotCQkJKih1bnNpZ25lZCBsb25nICopcyA9IHBhdHRlcm47Ci0JCQlyZXR1cm4gczsKKwkJfQogCX0KLSNkZWZpbmUgQ09NTU9OKHgpIFwKLV9fYXNtX18gIF9fdm9sYXRpbGVfXyggXAotCSJyZXAgOyBzdG9zbCIgXAotCXggXAotCTogIj0mYyIgKGQwKSwgIj0mRCIgKGQxKSBcCi0JOiAiYSIgKHBhdHRlcm4pLCIwIiAoY291bnQvNCksIjEiICgobG9uZykgcykgXAotCTogIm1lbW9yeSIpCi17Ci0JaW50IGQwLCBkMTsKLQlzd2l0Y2ggKGNvdW50ICUgNCkgewotCQljYXNlIDA6IENPTU1PTigiIik7IHJldHVybiBzOwotCQljYXNlIDE6IENPTU1PTigiXG5cdHN0b3NiIik7IHJldHVybiBzOwotCQljYXNlIDI6IENPTU1PTigiXG5cdHN0b3N3Iik7IHJldHVybiBzOwotCQlkZWZhdWx0OiBDT01NT04oIlxuXHRzdG9zd1xuXHRzdG9zYiIpOyByZXR1cm4gczsKLQl9Ci19Ci0gIAorCiAjdW5kZWYgQ09NTU9OCiB9CiAKLSNkZWZpbmUgX19jb25zdGFudF9jX3hfbWVtc2V0KHMsIGMsIGNvdW50KSBcCi0oX19idWlsdGluX2NvbnN0YW50X3AoY291bnQpID8gXAotIF9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KChzKSwoYyksKGNvdW50KSkgOiBcCi0gX19jb25zdGFudF9jX21lbXNldCgocyksKGMpLChjb3VudCkpKQorI2RlZmluZSBfX2NvbnN0YW50X2NfeF9tZW1zZXQocywgYywgY291bnQpCQkJXAorCShfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkJCQkJXAorCSA/IF9fY29uc3RhbnRfY19hbmRfY291bnRfbWVtc2V0KChzKSwgKGMpLCAoY291bnQpKQlcCisJIDogX19jb25zdGFudF9jX21lbXNldCgocyksIChjKSwgKGNvdW50KSkpCiAKLSNkZWZpbmUgX19tZW1zZXQocywgYywgY291bnQpIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChjb3VudCkgPyBcCi0gX19jb25zdGFudF9jb3VudF9tZW1zZXQoKHMpLChjKSwoY291bnQpKSA6IFwKLSBfX21lbXNldF9nZW5lcmljKChzKSwoYyksKGNvdW50KSkpCisjZGVmaW5lIF9fbWVtc2V0KHMsIGMsIGNvdW50KQkJCQlcCisJKF9fYnVpbHRpbl9jb25zdGFudF9wKGNvdW50KQkJCVwKKwkgPyBfX2NvbnN0YW50X2NvdW50X21lbXNldCgocyksIChjKSwgKGNvdW50KSkJXAorCSA6IF9fbWVtc2V0X2dlbmVyaWMoKHMpLCAoYyksIChjb3VudCkpKQogCiAjZGVmaW5lIF9fSEFWRV9BUkNIX01FTVNFVAotI2RlZmluZSBtZW1zZXQocywgYywgY291bnQpIFwKLShfX2J1aWx0aW5fY29uc3RhbnRfcChjKSA/IFwKLSBfX2NvbnN0YW50X2NfeF9tZW1zZXQoKHMpLCgweDAxMDEwMTAxVUwqKHVuc2lnbmVkIGNoYXIpKGMpKSwoY291bnQpKSA6IFwKLSBfX21lbXNldCgocyksKGMpLChjb3VudCkpKQorI2RlZmluZSBtZW1zZXQocywgYywgY291bnQpCQkJCQkJXAorCShfX2J1aWx0aW5fY29uc3RhbnRfcChjKQkJCQkJXAorCSA/IF9fY29uc3RhbnRfY194X21lbXNldCgocyksICgweDAxMDEwMTAxVUwgKiAodW5zaWduZWQgY2hhcikoYykpLCBcCisJCQkJIChjb3VudCkpCQkJCVwKKwkgOiBfX21lbXNldCgocyksIChjKSwgKGNvdW50KSkpCiAKIC8qCiAgKiBmaW5kIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIGJ5dGUgJ2MnLCBvciAxIHBhc3QgdGhlIGFyZWEgaWYgbm9uZQogICovCiAjZGVmaW5lIF9fSEFWRV9BUkNIX01FTVNDQU4KLWV4dGVybiB2b2lkICptZW1zY2FuKHZvaWQgKiBhZGRyLCBpbnQgYywgc2l6ZV90IHNpemUpOworZXh0ZXJuIHZvaWQgKm1lbXNjYW4odm9pZCAqYWRkciwgaW50IGMsIHNpemVfdCBzaXplKTsKIAogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3N1c3BlbmRfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni9zdXNwZW5kXzMyLmgKaW5kZXggMjRlMWMwOC4uODY3NWM2NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3N1c3BlbmRfMzIuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvc3VzcGVuZF8zMi5oCkBAIC0zLDYgKzMsOSBAQAogICogQmFzZWQgb24gY29kZQogICogQ29weXJpZ2h0IDIwMDEgUGF0cmljayBNb2NoZWwgPG1vY2hlbEBvc2RsLm9yZz4KICAqLworI2lmbmRlZiBfX0FTTV9YODZfMzJfU1VTUEVORF9ICisjZGVmaW5lIF9fQVNNX1g4Nl8zMl9TVVNQRU5EX0gKKwogI2luY2x1ZGUgPGFzbS9kZXNjLmg+CiAjaW5jbHVkZSA8YXNtL2kzODcuaD4KIApAQCAtNDQsMyArNDcsNSBAQAogLyogcm91dGluZXMgZm9yIHNhdmluZy9yZXN0b3Jpbmcga2VybmVsIHN0YXRlICovCiBleHRlcm4gaW50IGFjcGlfc2F2ZV9zdGF0ZV9tZW0odm9pZCk7CiAjZW5kaWYKKworI2VuZGlmIC8qIF9fQVNNX1g4Nl8zMl9TVVNQRU5EX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaCBiL2luY2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaAppbmRleCBhMmYwNGNkLi45ODNjZTM3IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvc3lzdGVtLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3N5c3RlbS5oCkBAIC0xMzYsNyArMTM2LDcgQEAKICNkZWZpbmUgc2V0X2Jhc2UobGR0LCBiYXNlKSBfc2V0X2Jhc2UoKChjaGFyICopJihsZHQpKSAsIChiYXNlKSkKICNkZWZpbmUgc2V0X2xpbWl0KGxkdCwgbGltaXQpIF9zZXRfbGltaXQoKChjaGFyICopJihsZHQpKSAsICgobGltaXQpLTEpKQogCi1leHRlcm4gdm9pZCBsb2FkX2dzX2luZGV4KHVuc2lnbmVkKTsKK2V4dGVybiB2b2lkIG5hdGl2ZV9sb2FkX2dzX2luZGV4KHVuc2lnbmVkKTsKIAogLyoKICAqIExvYWQgYSBzZWdtZW50LiBGYWxsIGJhY2sgb24gbG9hZGluZyB0aGUgemVybwpAQCAtMTUzLDE0ICsxNTMsMTQgQEAKIAkJICAgICAiam1wIDJiXG4iCQkJXAogCQkgICAgICIucHJldmlvdXNcbiIJCVwKIAkJICAgICBfQVNNX0VYVEFCTEUoMWIsM2IpCVwKLQkJICAgICA6IDoiciIgKHZhbHVlKSwgInIiICgwKSkKKwkJICAgICA6IDoiciIgKHZhbHVlKSwgInIiICgwKSA6ICJtZW1vcnkiKQogCiAKIC8qCiAgKiBTYXZlIGEgc2VnbWVudCByZWdpc3RlciBhd2F5CiAgKi8KICNkZWZpbmUgc2F2ZXNlZ21lbnQoc2VnLCB2YWx1ZSkJCQkJXAotCWFzbSB2b2xhdGlsZSgibW92ICUlIiAjc2VnICIsJTAiOiI9cm0iICh2YWx1ZSkpCisJYXNtKCJtb3YgJSUiICNzZWcgIiwlMCI6Ij1yIiAodmFsdWUpIDogOiAibWVtb3J5IikKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9saW1pdCh1bnNpZ25lZCBsb25nIHNlZ21lbnQpCiB7CkBAIC0yODIsNiArMjgyLDcgQEAKICNpZmRlZiBDT05GSUdfWDg2XzY0CiAjZGVmaW5lIHJlYWRfY3I4KCkJKG5hdGl2ZV9yZWFkX2NyOCgpKQogI2RlZmluZSB3cml0ZV9jcjgoeCkJKG5hdGl2ZV93cml0ZV9jcjgoeCkpCisjZGVmaW5lIGxvYWRfZ3NfaW5kZXggICBuYXRpdmVfbG9hZF9nc19pbmRleAogI2VuZGlmCiAKIC8qIENsZWFyIHRoZSAnVFMnIGJpdCAqLwpAQCAtMjg5LDcgKzI5MCw3IEBACiAKICNlbmRpZi8qIENPTkZJR19QQVJBVklSVCAqLwogCi0jZGVmaW5lIHN0dHMoKSB3cml0ZV9jcjAoOCB8IHJlYWRfY3IwKCkpCisjZGVmaW5lIHN0dHMoKSB3cml0ZV9jcjAocmVhZF9jcjAoKSB8IFg4Nl9DUjBfVFMpCiAKICNlbmRpZiAvKiBfX0tFUk5FTF9fICovCiAKQEAgLTMwMyw3ICszMDQsNiBAQAogdm9pZCBkaXNhYmxlX2hsdCh2b2lkKTsKIHZvaWQgZW5hYmxlX2hsdCh2b2lkKTsKIAotZXh0ZXJuIGludCBlczcwMDBfcGxhdDsKIHZvaWQgY3B1X2lkbGVfd2FpdCh2b2lkKTsKIAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYXJjaF9hbGlnbl9zdGFjayh1bnNpZ25lZCBsb25nIHNwKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mby5oIGIvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvLmgKaW5kZXggNzcyNDRmMS4uODk1MzM5ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvLmgKQEAgLTEsOSArMSwyNTMgQEAKKy8qIHRocmVhZF9pbmZvLmg6IGxvdy1sZXZlbCB0aHJlYWQgaW5mb3JtYXRpb24KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIgIERhdmlkIEhvd2VsbHMgKGRob3dlbGxzQHJlZGhhdC5jb20pCisgKiAtIEluY29ycG9yYXRpbmcgc3VnZ2VzdGlvbnMgbWFkZSBieSBMaW51cyBUb3J2YWxkcyBhbmQgRGF2ZSBNaWxsZXIKKyAqLworCiAjaWZuZGVmIF9BU01fWDg2X1RIUkVBRF9JTkZPX0gKKyNkZWZpbmUgX0FTTV9YODZfVEhSRUFEX0lORk9fSAorCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKyNpbmNsdWRlIDxhc20vcGFnZS5oPgorI2luY2x1ZGUgPGFzbS90eXBlcy5oPgorCisvKgorICogbG93IGxldmVsIHRhc2sgZGF0YSB0aGF0IGVudHJ5LlMgbmVlZHMgaW1tZWRpYXRlIGFjY2VzcyB0bworICogLSB0aGlzIHN0cnVjdCBzaG91bGQgZml0IGVudGlyZWx5IGluc2lkZSBvZiBvbmUgY2FjaGUgbGluZQorICogLSB0aGlzIHN0cnVjdCBzaGFyZXMgdGhlIHN1cGVydmlzb3Igc3RhY2sgcGFnZXMKKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KK3N0cnVjdCB0YXNrX3N0cnVjdDsKK3N0cnVjdCBleGVjX2RvbWFpbjsKKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisKK3N0cnVjdCB0aHJlYWRfaW5mbyB7CisJc3RydWN0IHRhc2tfc3RydWN0CSp0YXNrOwkJLyogbWFpbiB0YXNrIHN0cnVjdHVyZSAqLworCXN0cnVjdCBleGVjX2RvbWFpbgkqZXhlY19kb21haW47CS8qIGV4ZWN1dGlvbiBkb21haW4gKi8KKwl1bnNpZ25lZCBsb25nCQlmbGFnczsJCS8qIGxvdyBsZXZlbCBmbGFncyAqLworCV9fdTMyCQkJc3RhdHVzOwkJLyogdGhyZWFkIHN5bmNocm9ub3VzIGZsYWdzICovCisJX191MzIJCQljcHU7CQkvKiBjdXJyZW50IENQVSAqLworCWludAkJCXByZWVtcHRfY291bnQ7CS8qIDAgPT4gcHJlZW1wdGFibGUsCisJCQkJCQkgICA8MCA9PiBCVUcgKi8KKwltbV9zZWdtZW50X3QJCWFkZHJfbGltaXQ7CisJc3RydWN0IHJlc3RhcnRfYmxvY2sgICAgcmVzdGFydF9ibG9jazsKKwl2b2lkIF9fdXNlcgkJKnN5c2VudGVyX3JldHVybjsKICNpZmRlZiBDT05GSUdfWDg2XzMyCi0jIGluY2x1ZGUgInRocmVhZF9pbmZvXzMyLmgiCi0jZWxzZQotIyBpbmNsdWRlICJ0aHJlYWRfaW5mb182NC5oIgorCXVuc2lnbmVkIGxvbmcgICAgICAgICAgIHByZXZpb3VzX2VzcDsgICAvKiBFU1Agb2YgdGhlIHByZXZpb3VzIHN0YWNrIGluCisJCQkJCQkgICBjYXNlIG9mIG5lc3RlZCAoSVJRKSBzdGFja3MKKwkJCQkJCSovCisJX191OAkJCXN1cGVydmlzb3Jfc3RhY2tbMF07CiAjZW5kaWYKK307CisKKyNkZWZpbmUgSU5JVF9USFJFQURfSU5GTyh0c2spCQkJXAorewkJCQkJCVwKKwkudGFzawkJPSAmdHNrLAkJCVwKKwkuZXhlY19kb21haW4JPSAmZGVmYXVsdF9leGVjX2RvbWFpbiwJXAorCS5mbGFncwkJPSAwLAkJCVwKKwkuY3B1CQk9IDAsCQkJXAorCS5wcmVlbXB0X2NvdW50CT0gMSwJCQlcCisJLmFkZHJfbGltaXQJPSBLRVJORUxfRFMsCQlcCisJLnJlc3RhcnRfYmxvY2sgPSB7CQkJXAorCQkuZm4gPSBkb19ub19yZXN0YXJ0X3N5c2NhbGwsCVwKKwl9LAkJCQkJXAorfQorCisjZGVmaW5lIGluaXRfdGhyZWFkX2luZm8JKGluaXRfdGhyZWFkX3VuaW9uLnRocmVhZF9pbmZvKQorI2RlZmluZSBpbml0X3N0YWNrCQkoaW5pdF90aHJlYWRfdW5pb24uc3RhY2spCisKKyNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KKworI2luY2x1ZGUgPGFzbS9hc20tb2Zmc2V0cy5oPgorCisjZW5kaWYKKworLyoKKyAqIHRocmVhZCBpbmZvcm1hdGlvbiBmbGFncworICogLSB0aGVzZSBhcmUgcHJvY2VzcyBzdGF0ZSBmbGFncyB0aGF0IHZhcmlvdXMgYXNzZW1ibHkgZmlsZXMKKyAqICAgbWF5IG5lZWQgdG8gYWNjZXNzCisgKiAtIHBlbmRpbmcgd29yay10by1iZS1kb25lIGZsYWdzIGFyZSBpbiBMU1cKKyAqIC0gb3RoZXIgZmxhZ3MgaW4gTVNXCisgKiBXYXJuaW5nOiBsYXlvdXQgb2YgTFNXIGlzIGhhcmRjb2RlZCBpbiBlbnRyeS5TCisgKi8KKyNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0UJMAkvKiBzeXNjYWxsIHRyYWNlIGFjdGl2ZSAqLworI2RlZmluZSBUSUZfU0lHUEVORElORwkJMgkvKiBzaWduYWwgcGVuZGluZyAqLworI2RlZmluZSBUSUZfTkVFRF9SRVNDSEVECTMJLyogcmVzY2hlZHVsaW5nIG5lY2Vzc2FyeSAqLworI2RlZmluZSBUSUZfU0lOR0xFU1RFUAkJNAkvKiByZWVuYWJsZSBzaW5nbGVzdGVwIG9uIHVzZXIgcmV0dXJuKi8KKyNkZWZpbmUgVElGX0lSRVQJCTUJLyogZm9yY2UgSVJFVCAqLworI2lmZGVmIENPTkZJR19YODZfMzIKKyNkZWZpbmUgVElGX1NZU0NBTExfRU1VCQk2CS8qIHN5c2NhbGwgZW11bGF0aW9uIGFjdGl2ZSAqLworI2VuZGlmCisjZGVmaW5lIFRJRl9TWVNDQUxMX0FVRElUCTcJLyogc3lzY2FsbCBhdWRpdGluZyBhY3RpdmUgKi8KKyNkZWZpbmUgVElGX1NFQ0NPTVAJCTgJLyogc2VjdXJlIGNvbXB1dGluZyAqLworI2RlZmluZSBUSUZfTUNFX05PVElGWQkJMTAJLyogbm90aWZ5IHVzZXJzcGFjZSBvZiBhbiBNQ0UgKi8KKyNkZWZpbmUgVElGX0hSVElDS19SRVNDSEVECTExCS8qIHJlcHJvZ3JhbSBocnRpY2sgdGltZXIgKi8KKyNkZWZpbmUgVElGX05PVFNDCQkxNgkvKiBUU0MgaXMgbm90IGFjY2Vzc2libGUgaW4gdXNlcmxhbmQgKi8KKyNkZWZpbmUgVElGX0lBMzIJCTE3CS8qIDMyYml0IHByb2Nlc3MgKi8KKyNkZWZpbmUgVElGX0ZPUksJCTE4CS8qIHJldF9mcm9tX2ZvcmsgKi8KKyNkZWZpbmUgVElGX0FCSV9QRU5ESU5HCQkxOQorI2RlZmluZSBUSUZfTUVNRElFCQkyMAorI2RlZmluZSBUSUZfREVCVUcJCTIxCS8qIHVzZXMgZGVidWcgcmVnaXN0ZXJzICovCisjZGVmaW5lIFRJRl9JT19CSVRNQVAJCTIyCS8qIHVzZXMgSS9PIGJpdG1hcCAqLworI2RlZmluZSBUSUZfRlJFRVpFCQkyMwkvKiBpcyBmcmVlemluZyBmb3Igc3VzcGVuZCAqLworI2RlZmluZSBUSUZfRk9SQ0VEX1RGCQkyNAkvKiB0cnVlIGlmIFRGIGluIGVmbGFncyBhcnRpZmljaWFsbHkgKi8KKyNkZWZpbmUgVElGX0RFQlVHQ1RMTVNSCQkyNQkvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZGVidWdjdGxtc3IgKi8KKyNkZWZpbmUgVElGX0RTX0FSRUFfTVNSCQkyNiAgICAgIC8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kc19hcmVhX21zciAqLworI2RlZmluZSBUSUZfQlRTX1RSQUNFX1RTCTI3ICAgICAgLyogcmVjb3JkIHNjaGVkdWxpbmcgZXZlbnQgdGltZXN0YW1wcyAqLworCisjZGVmaW5lIF9USUZfU1lTQ0FMTF9UUkFDRQkoMSA8PCBUSUZfU1lTQ0FMTF9UUkFDRSkKKyNkZWZpbmUgX1RJRl9TSUdQRU5ESU5HCQkoMSA8PCBUSUZfU0lHUEVORElORykKKyNkZWZpbmUgX1RJRl9TSU5HTEVTVEVQCQkoMSA8PCBUSUZfU0lOR0xFU1RFUCkKKyNkZWZpbmUgX1RJRl9ORUVEX1JFU0NIRUQJKDEgPDwgVElGX05FRURfUkVTQ0hFRCkKKyNkZWZpbmUgX1RJRl9JUkVUCQkoMSA8PCBUSUZfSVJFVCkKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIF9USUZfU1lTQ0FMTF9FTVUJKDEgPDwgVElGX1NZU0NBTExfRU1VKQorI2Vsc2UKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX0VNVQkwCisjZW5kaWYKKyNkZWZpbmUgX1RJRl9TWVNDQUxMX0FVRElUCSgxIDw8IFRJRl9TWVNDQUxMX0FVRElUKQorI2RlZmluZSBfVElGX1NFQ0NPTVAJCSgxIDw8IFRJRl9TRUNDT01QKQorI2RlZmluZSBfVElGX01DRV9OT1RJRlkJCSgxIDw8IFRJRl9NQ0VfTk9USUZZKQorI2RlZmluZSBfVElGX0hSVElDS19SRVNDSEVECSgxIDw8IFRJRl9IUlRJQ0tfUkVTQ0hFRCkKKyNkZWZpbmUgX1RJRl9OT1RTQwkJKDEgPDwgVElGX05PVFNDKQorI2RlZmluZSBfVElGX0lBMzIJCSgxIDw8IFRJRl9JQTMyKQorI2RlZmluZSBfVElGX0ZPUksJCSgxIDw8IFRJRl9GT1JLKQorI2RlZmluZSBfVElGX0FCSV9QRU5ESU5HCSgxIDw8IFRJRl9BQklfUEVORElORykKKyNkZWZpbmUgX1RJRl9ERUJVRwkJKDEgPDwgVElGX0RFQlVHKQorI2RlZmluZSBfVElGX0lPX0JJVE1BUAkJKDEgPDwgVElGX0lPX0JJVE1BUCkKKyNkZWZpbmUgX1RJRl9GUkVFWkUJCSgxIDw8IFRJRl9GUkVFWkUpCisjZGVmaW5lIF9USUZfRk9SQ0VEX1RGCQkoMSA8PCBUSUZfRk9SQ0VEX1RGKQorI2RlZmluZSBfVElGX0RFQlVHQ1RMTVNSCSgxIDw8IFRJRl9ERUJVR0NUTE1TUikKKyNkZWZpbmUgX1RJRl9EU19BUkVBX01TUgkoMSA8PCBUSUZfRFNfQVJFQV9NU1IpCisjZGVmaW5lIF9USUZfQlRTX1RSQUNFX1RTCSgxIDw8IFRJRl9CVFNfVFJBQ0VfVFMpCisKKy8qIHdvcmsgdG8gZG8gb24gaW50ZXJydXB0L2V4Y2VwdGlvbiByZXR1cm4gKi8KKyNkZWZpbmUgX1RJRl9XT1JLX01BU0sJCQkJCQkJXAorCSgweDAwMDBGRkZGICYJCQkJCQkJXAorCSB+KF9USUZfU1lTQ0FMTF9UUkFDRXxfVElGX1NZU0NBTExfQVVESVR8X1RJRl9TSU5HTEVTVEVQfAlcCisJIF9USUZfU0VDQ09NUHxfVElGX1NZU0NBTExfRU1VKSkKKworLyogd29yayB0byBkbyBvbiBhbnkgcmV0dXJuIHRvIHVzZXIgc3BhY2UgKi8KKyNkZWZpbmUgX1RJRl9BTExXT1JLX01BU0sgKDB4MDAwMEZGRkYgJiB+X1RJRl9TRUNDT01QKQorCisvKiBPbmx5IHVzZWQgZm9yIDY0IGJpdCAqLworI2RlZmluZSBfVElGX0RPX05PVElGWV9NQVNLCQkJCQkJXAorCShfVElGX1NJR1BFTkRJTkd8X1RJRl9TSU5HTEVTVEVQfF9USUZfTUNFX05PVElGWXxfVElGX0hSVElDS19SRVNDSEVEKQorCisvKiBmbGFncyB0byBjaGVjayBpbiBfX3N3aXRjaF90bygpICovCisjZGVmaW5lIF9USUZfV09SS19DVFhTVwkJCQkJCQlcCisJKF9USUZfSU9fQklUTUFQfF9USUZfREVCVUdDVExNU1J8X1RJRl9EU19BUkVBX01TUnxfVElGX0JUU19UUkFDRV9UU3wgXAorCQkJCQkJCQlfVElGX05PVFNDKQorCisjZGVmaW5lIF9USUZfV09SS19DVFhTV19QUkVWIF9USUZfV09SS19DVFhTVworI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfTkVYVCAoX1RJRl9XT1JLX0NUWFNXfF9USUZfREVCVUcpCisKKyNkZWZpbmUgUFJFRU1QVF9BQ1RJVkUJCTB4MTAwMDAwMDAKKworLyogdGhyZWFkIGluZm9ybWF0aW9uIGFsbG9jYXRpb24gKi8KKyNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UKKyNkZWZpbmUgVEhSRUFEX0ZMQUdTIChHRlBfS0VSTkVMIHwgX19HRlBfWkVSTykKKyNlbHNlCisjZGVmaW5lIFRIUkVBRF9GTEFHUyBHRlBfS0VSTkVMCisjZW5kaWYKKworI2RlZmluZSBhbGxvY190aHJlYWRfaW5mbyh0c2spCQkJCQkJXAorCSgoc3RydWN0IHRocmVhZF9pbmZvICopX19nZXRfZnJlZV9wYWdlcyhUSFJFQURfRkxBR1MsIFRIUkVBRF9PUkRFUikpCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisKKyNkZWZpbmUgU1RBQ0tfV0FSTgkoVEhSRUFEX1NJWkUvOCkKKy8qCisgKiBtYWNyb3MvZnVuY3Rpb25zIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdHVyZQorICoKKyAqIHByZWVtcHRfY291bnQgbmVlZHMgdG8gYmUgMSBpbml0aWFsbHksIHVudGlsIHRoZSBzY2hlZHVsZXIgaXMgZnVuY3Rpb25hbC4KKyAqLworI2lmbmRlZiBfX0FTU0VNQkxZX18KKworCisvKiBob3cgdG8gZ2V0IHRoZSBjdXJyZW50IHN0YWNrIHBvaW50ZXIgZnJvbSBDICovCityZWdpc3RlciB1bnNpZ25lZCBsb25nIGN1cnJlbnRfc3RhY2tfcG9pbnRlciBhc20oImVzcCIpIF9fdXNlZDsKKworLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEMgKi8KK3N0YXRpYyBpbmxpbmUgc3RydWN0IHRocmVhZF9pbmZvICpjdXJyZW50X3RocmVhZF9pbmZvKHZvaWQpCit7CisJcmV0dXJuIChzdHJ1Y3QgdGhyZWFkX2luZm8gKikKKwkJKGN1cnJlbnRfc3RhY2tfcG9pbnRlciAmIH4oVEhSRUFEX1NJWkUgLSAxKSk7Cit9CisKKyNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KKworLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLworI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKQkgXAorCW1vdmwgJC1USFJFQURfU0laRSwgcmVnOyBcCisJYW5kbCAlZXNwLCByZWcKKworLyogdXNlIHRoaXMgb25lIGlmIHJlZyBhbHJlYWR5IGNvbnRhaW5zICVlc3AgKi8KKyNkZWZpbmUgR0VUX1RIUkVBRF9JTkZPX1dJVEhfRVNQKHJlZykgXAorCWFuZGwgJC1USFJFQURfU0laRSwgcmVnCisKKyNlbmRpZgorCisjZWxzZSAvKiBYODZfMzIgKi8KKworI2luY2x1ZGUgPGFzbS9wZGEuaD4KKworLyoKKyAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCisgKiBwcmVlbXB0X2NvdW50IG5lZWRzIHRvIGJlIDEgaW5pdGlhbGx5LCB1bnRpbCB0aGUgc2NoZWR1bGVyIGlzIGZ1bmN0aW9uYWwuCisgKi8KKyNpZm5kZWYgX19BU1NFTUJMWV9fCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqY3VycmVudF90aHJlYWRfaW5mbyh2b2lkKQoreworCXN0cnVjdCB0aHJlYWRfaW5mbyAqdGk7CisJdGkgPSAodm9pZCAqKShyZWFkX3BkYShrZXJuZWxzdGFjaykgKyBQREFfU1RBQ0tPRkZTRVQgLSBUSFJFQURfU0laRSk7CisJcmV0dXJuIHRpOworfQorCisvKiBkbyBub3QgdXNlIGluIGludGVycnVwdCBjb250ZXh0ICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCB0aHJlYWRfaW5mbyAqc3RhY2tfdGhyZWFkX2luZm8odm9pZCkKK3sKKwlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpOworCWFzbSgiYW5kcSAlJXJzcCwlMDsgIiA6ICI9ciIgKHRpKSA6ICIwIiAofihUSFJFQURfU0laRSAtIDEpKSk7CisJcmV0dXJuIHRpOworfQorCisjZWxzZSAvKiAhX19BU1NFTUJMWV9fICovCisKKy8qIGhvdyB0byBnZXQgdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3QgZnJvbSBBU00gKi8KKyNkZWZpbmUgR0VUX1RIUkVBRF9JTkZPKHJlZykgXAorCW1vdnEgJWdzOnBkYV9rZXJuZWxzdGFjayxyZWcgOyBcCisJc3VicSAkKFRIUkVBRF9TSVpFLVBEQV9TVEFDS09GRlNFVCkscmVnCisKKyNlbmRpZgorCisjZW5kaWYgLyogIVg4Nl8zMiAqLworCisvKgorICogVGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cy4KKyAqCisgKiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBmbGFncyBpbiB0aGF0IG5vYm9keSBlbHNlCisgKiBldmVyIHRvdWNoZXMgb3VyIHRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMsIHNvIHdlIGRvbid0CisgKiBoYXZlIHRvIHdvcnJ5IGFib3V0IGF0b21pYyBhY2Nlc3Nlcy4KKyAqLworI2RlZmluZSBUU19VU0VERlBVCQkweDAwMDEJLyogRlBVIHdhcyB1c2VkIGJ5IHRoaXMgdGFzaworCQkJCQkgICB0aGlzIHF1YW50dW0gKFNNUCkgKi8KKyNkZWZpbmUgVFNfQ09NUEFUCQkweDAwMDIJLyogMzJiaXQgc3lzY2FsbCBhY3RpdmUgKDY0QklUKSovCisjZGVmaW5lIFRTX1BPTExJTkcJCTB4MDAwNAkvKiB0cnVlIGlmIGluIGlkbGUgbG9vcAorCQkJCQkgICBhbmQgbm90IHNsZWVwaW5nICovCisjZGVmaW5lIFRTX1JFU1RPUkVfU0lHTUFTSwkweDAwMDgJLyogcmVzdG9yZSBzaWduYWwgbWFzayBpbiBkb19zaWduYWwoKSAqLworCisjZGVmaW5lIHRza19pc19wb2xsaW5nKHQpICh0YXNrX3RocmVhZF9pbmZvKHQpLT5zdGF0dXMgJiBUU19QT0xMSU5HKQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworI2RlZmluZSBIQVZFX1NFVF9SRVNUT1JFX1NJR01BU0sJMQorc3RhdGljIGlubGluZSB2b2lkIHNldF9yZXN0b3JlX3NpZ21hc2sodm9pZCkKK3sKKwlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpID0gY3VycmVudF90aHJlYWRfaW5mbygpOworCXRpLT5zdGF0dXMgfD0gVFNfUkVTVE9SRV9TSUdNQVNLOworCXNldF9iaXQoVElGX1NJR1BFTkRJTkcsICh1bnNpZ25lZCBsb25nICopJnRpLT5mbGFncyk7Cit9CisjZW5kaWYJLyogIV9fQVNTRU1CTFlfXyAqLwogCiAjaWZuZGVmIF9fQVNTRU1CTFlfXwogZXh0ZXJuIHZvaWQgYXJjaF90YXNrX2NhY2hlX2luaXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm9fMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb18zMi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjMzODgyLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvYXNtLXg4Ni90aHJlYWRfaW5mb18zMi5oCisrKyAvZGV2L251bGwKQEAgLTEsMjA1ICswLDAgQEAKLS8qIHRocmVhZF9pbmZvLmg6IGkzODYgbG93LWxldmVsIHRocmVhZCBpbmZvcm1hdGlvbgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMiAgRGF2aWQgSG93ZWxscyAoZGhvd2VsbHNAcmVkaGF0LmNvbSkKLSAqIC0gSW5jb3Jwb3JhdGluZyBzdWdnZXN0aW9ucyBtYWRlIGJ5IExpbnVzIFRvcnZhbGRzIGFuZCBEYXZlIE1pbGxlcgotICovCi0KLSNpZm5kZWYgX0FTTV9USFJFQURfSU5GT19ICi0jZGVmaW5lIF9BU01fVEhSRUFEX0lORk9fSAotCi0jaWZkZWYgX19LRVJORUxfXwotCi0jaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KLSNpbmNsdWRlIDxhc20vcGFnZS5oPgotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLSNlbmRpZgotCi0vKgotICogbG93IGxldmVsIHRhc2sgZGF0YSB0aGF0IGVudHJ5LlMgbmVlZHMgaW1tZWRpYXRlIGFjY2VzcyB0bwotICogLSB0aGlzIHN0cnVjdCBzaG91bGQgZml0IGVudGlyZWx5IGluc2lkZSBvZiBvbmUgY2FjaGUgbGluZQotICogLSB0aGlzIHN0cnVjdCBzaGFyZXMgdGhlIHN1cGVydmlzb3Igc3RhY2sgcGFnZXMKLSAqIC0gaWYgdGhlIGNvbnRlbnRzIG9mIHRoaXMgc3RydWN0dXJlIGFyZSBjaGFuZ2VkLAotICogICB0aGUgYXNzZW1ibHkgY29uc3RhbnRzIG11c3QgYWxzbyBiZSBjaGFuZ2VkCi0gKi8KLSNpZm5kZWYgX19BU1NFTUJMWV9fCi0KLXN0cnVjdCB0aHJlYWRfaW5mbyB7Ci0Jc3RydWN0IHRhc2tfc3RydWN0CSp0YXNrOwkJLyogbWFpbiB0YXNrIHN0cnVjdHVyZSAqLwotCXN0cnVjdCBleGVjX2RvbWFpbgkqZXhlY19kb21haW47CS8qIGV4ZWN1dGlvbiBkb21haW4gKi8KLQl1bnNpZ25lZCBsb25nCQlmbGFnczsJCS8qIGxvdyBsZXZlbCBmbGFncyAqLwotCXVuc2lnbmVkIGxvbmcJCXN0YXR1czsJCS8qIHRocmVhZC1zeW5jaHJvbm91cyBmbGFncyAqLwotCV9fdTMyCQkJY3B1OwkJLyogY3VycmVudCBDUFUgKi8KLQlpbnQJCQlwcmVlbXB0X2NvdW50OwkvKiAwID0+IHByZWVtcHRhYmxlLAotCQkJCQkJICAgPDAgPT4gQlVHICovCi0JbW1fc2VnbWVudF90CQlhZGRyX2xpbWl0OwkvKiB0aHJlYWQgYWRkcmVzcyBzcGFjZToKLQkJCQkJCSAgIDAtMHhCRkZGRkZGRiB1c2VyLXRocmVhZAotCQkJCQkJICAgMC0weEZGRkZGRkZGIGtlcm5lbC10aHJlYWQKLQkJCQkJCSovCi0Jdm9pZAkJCSpzeXNlbnRlcl9yZXR1cm47Ci0Jc3RydWN0IHJlc3RhcnRfYmxvY2sgICAgcmVzdGFydF9ibG9jazsKLQl1bnNpZ25lZCBsb25nICAgICAgICAgICBwcmV2aW91c19lc3A7ICAgLyogRVNQIG9mIHRoZSBwcmV2aW91cyBzdGFjayBpbgotCQkJCQkJICAgY2FzZSBvZiBuZXN0ZWQgKElSUSkgc3RhY2tzCi0JCQkJCQkqLwotCV9fdTgJCQlzdXBlcnZpc29yX3N0YWNrWzBdOwotfTsKLQotI2Vsc2UgLyogIV9fQVNTRU1CTFlfXyAqLwotCi0jaW5jbHVkZSA8YXNtL2FzbS1vZmZzZXRzLmg+Ci0KLSNlbmRpZgotCi0jZGVmaW5lIFBSRUVNUFRfQUNUSVZFCQkweDEwMDAwMDAwCi0jaWZkZWYgQ09ORklHXzRLU1RBQ0tTCi0jZGVmaW5lIFRIUkVBRF9TSVpFICAgICAgICAgICAgKDQwOTYpCi0jZWxzZQotI2RlZmluZSBUSFJFQURfU0laRQkJKDgxOTIpCi0jZW5kaWYKLQotI2RlZmluZSBTVEFDS19XQVJOICAgICAgICAgICAgIChUSFJFQURfU0laRS84KQotLyoKLSAqIG1hY3Jvcy9mdW5jdGlvbnMgZm9yIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0dXJlCi0gKgotICogcHJlZW1wdF9jb3VudCBuZWVkcyB0byBiZSAxIGluaXRpYWxseSwgdW50aWwgdGhlIHNjaGVkdWxlciBpcyBmdW5jdGlvbmFsLgotICovCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotCi0jZGVmaW5lIElOSVRfVEhSRUFEX0lORk8odHNrKQkJCVwKLXsJCQkJCQlcCi0JLnRhc2sJCT0gJnRzaywJCQlcCi0JLmV4ZWNfZG9tYWluCT0gJmRlZmF1bHRfZXhlY19kb21haW4sCVwKLQkuZmxhZ3MJCT0gMCwJCQlcCi0JLmNwdQkJPSAwLAkJCVwKLQkucHJlZW1wdF9jb3VudAk9IDEsCQkJXAotCS5hZGRyX2xpbWl0CT0gS0VSTkVMX0RTLAkJXAotCS5yZXN0YXJ0X2Jsb2NrID0gewkJCVwKLQkJLmZuID0gZG9fbm9fcmVzdGFydF9zeXNjYWxsLAlcCi0JfSwJCQkJCVwKLX0KLQotI2RlZmluZSBpbml0X3RocmVhZF9pbmZvCShpbml0X3RocmVhZF91bmlvbi50aHJlYWRfaW5mbykKLSNkZWZpbmUgaW5pdF9zdGFjawkJKGluaXRfdGhyZWFkX3VuaW9uLnN0YWNrKQotCi0KLS8qIGhvdyB0byBnZXQgdGhlIGN1cnJlbnQgc3RhY2sgcG9pbnRlciBmcm9tIEMgKi8KLXJlZ2lzdGVyIHVuc2lnbmVkIGxvbmcgY3VycmVudF9zdGFja19wb2ludGVyIGFzbSgiZXNwIikgX191c2VkOwotCi0vKiBob3cgdG8gZ2V0IHRoZSB0aHJlYWQgaW5mb3JtYXRpb24gc3RydWN0IGZyb20gQyAqLwotc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbnRfdGhyZWFkX2luZm8odm9pZCkKLXsKLQlyZXR1cm4gKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQotCQkoY3VycmVudF9zdGFja19wb2ludGVyICYgfihUSFJFQURfU0laRSAtIDEpKTsKLX0KLQotLyogdGhyZWFkIGluZm9ybWF0aW9uIGFsbG9jYXRpb24gKi8KLSNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UKLSNkZWZpbmUgYWxsb2NfdGhyZWFkX2luZm8odHNrKSAoKHN0cnVjdCB0aHJlYWRfaW5mbyAqKQkJCVwKLQlfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPLCBnZXRfb3JkZXIoVEhSRUFEX1NJWkUpKSkKLSNlbHNlCi0jZGVmaW5lIGFsbG9jX3RocmVhZF9pbmZvKHRzaykgKChzdHJ1Y3QgdGhyZWFkX2luZm8gKikJCQlcCi0JX19nZXRfZnJlZV9wYWdlcyhHRlBfS0VSTkVMLCBnZXRfb3JkZXIoVEhSRUFEX1NJWkUpKSkKLSNlbmRpZgotCi0jZWxzZSAvKiAhX19BU1NFTUJMWV9fICovCi0KLS8qIGhvdyB0byBnZXQgdGhlIHRocmVhZCBpbmZvcm1hdGlvbiBzdHJ1Y3QgZnJvbSBBU00gKi8KLSNkZWZpbmUgR0VUX1RIUkVBRF9JTkZPKHJlZykJIFwKLQltb3ZsICQtVEhSRUFEX1NJWkUsIHJlZzsgXAotCWFuZGwgJWVzcCwgcmVnCi0KLS8qIHVzZSB0aGlzIG9uZSBpZiByZWcgYWxyZWFkeSBjb250YWlucyAlZXNwICovCi0jZGVmaW5lIEdFVF9USFJFQURfSU5GT19XSVRIX0VTUChyZWcpIFwKLQlhbmRsICQtVEhSRUFEX1NJWkUsIHJlZwotCi0jZW5kaWYKLQotLyoKLSAqIHRocmVhZCBpbmZvcm1hdGlvbiBmbGFncwotICogLSB0aGVzZSBhcmUgcHJvY2VzcyBzdGF0ZSBmbGFncyB0aGF0IHZhcmlvdXMKLSAqICAgYXNzZW1ibHkgZmlsZXMgbWF5IG5lZWQgdG8gYWNjZXNzCi0gKiAtIHBlbmRpbmcgd29yay10by1iZS1kb25lIGZsYWdzIGFyZSBpbiBMU1cKLSAqIC0gb3RoZXIgZmxhZ3MgaW4gTVNXCi0gKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfVFJBQ0UJMAkvKiBzeXNjYWxsIHRyYWNlIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU0lHUEVORElORwkJMQkvKiBzaWduYWwgcGVuZGluZyAqLwotI2RlZmluZSBUSUZfTkVFRF9SRVNDSEVECTIJLyogcmVzY2hlZHVsaW5nIG5lY2Vzc2FyeSAqLwotI2RlZmluZSBUSUZfU0lOR0xFU1RFUAkJMwkvKiByZXN0b3JlIHNpbmdsZXN0ZXAgb24gcmV0dXJuIHRvCi0JCQkJCSAgIHVzZXIgbW9kZSAqLwotI2RlZmluZSBUSUZfSVJFVAkJNAkvKiByZXR1cm4gd2l0aCBpcmV0ICovCi0jZGVmaW5lIFRJRl9TWVNDQUxMX0VNVQkJNQkvKiBzeXNjYWxsIGVtdWxhdGlvbiBhY3RpdmUgKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfQVVESVQJNgkvKiBzeXNjYWxsIGF1ZGl0aW5nIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU0VDQ09NUAkJNwkvKiBzZWN1cmUgY29tcHV0aW5nICovCi0jZGVmaW5lIFRJRl9IUlRJQ0tfUkVTQ0hFRAk5CS8qIHJlcHJvZ3JhbSBocnRpY2sgdGltZXIgKi8KLSNkZWZpbmUgVElGX01FTURJRQkJMTYKLSNkZWZpbmUgVElGX0RFQlVHCQkxNwkvKiB1c2VzIGRlYnVnIHJlZ2lzdGVycyAqLwotI2RlZmluZSBUSUZfSU9fQklUTUFQCQkxOAkvKiB1c2VzIEkvTyBiaXRtYXAgKi8KLSNkZWZpbmUgVElGX0ZSRUVaRQkJMTkJLyogaXMgZnJlZXppbmcgZm9yIHN1c3BlbmQgKi8KLSNkZWZpbmUgVElGX05PVFNDCQkyMAkvKiBUU0MgaXMgbm90IGFjY2Vzc2libGUgaW4gdXNlcmxhbmQgKi8KLSNkZWZpbmUgVElGX0ZPUkNFRF9URgkJMjEJLyogdHJ1ZSBpZiBURiBpbiBlZmxhZ3MgYXJ0aWZpY2lhbGx5ICovCi0jZGVmaW5lIFRJRl9ERUJVR0NUTE1TUgkJMjIJLyogdXNlcyB0aHJlYWRfc3RydWN0LmRlYnVnY3RsbXNyICovCi0jZGVmaW5lIFRJRl9EU19BUkVBX01TUiAJMjMgICAgICAvKiB1c2VzIHRocmVhZF9zdHJ1Y3QuZHNfYXJlYV9tc3IgKi8KLSNkZWZpbmUgVElGX0JUU19UUkFDRV9UUyAgICAgICAgMjQgICAgICAvKiByZWNvcmQgc2NoZWR1bGluZyBldmVudCB0aW1lc3RhbXBzICovCi0KLSNkZWZpbmUgX1RJRl9TWVNDQUxMX1RSQUNFCSgxIDw8IFRJRl9TWVNDQUxMX1RSQUNFKQotI2RlZmluZSBfVElGX1NJR1BFTkRJTkcJCSgxIDw8IFRJRl9TSUdQRU5ESU5HKQotI2RlZmluZSBfVElGX05FRURfUkVTQ0hFRAkoMSA8PCBUSUZfTkVFRF9SRVNDSEVEKQotI2RlZmluZSBfVElGX1NJTkdMRVNURVAJCSgxIDw8IFRJRl9TSU5HTEVTVEVQKQotI2RlZmluZSBfVElGX0lSRVQJCSgxIDw8IFRJRl9JUkVUKQotI2RlZmluZSBfVElGX1NZU0NBTExfRU1VCSgxIDw8IFRJRl9TWVNDQUxMX0VNVSkKLSNkZWZpbmUgX1RJRl9TWVNDQUxMX0FVRElUCSgxIDw8IFRJRl9TWVNDQUxMX0FVRElUKQotI2RlZmluZSBfVElGX1NFQ0NPTVAJCSgxIDw8IFRJRl9TRUNDT01QKQotI2RlZmluZSBfVElGX0hSVElDS19SRVNDSEVECSgxIDw8IFRJRl9IUlRJQ0tfUkVTQ0hFRCkKLSNkZWZpbmUgX1RJRl9ERUJVRwkJKDEgPDwgVElGX0RFQlVHKQotI2RlZmluZSBfVElGX0lPX0JJVE1BUAkJKDEgPDwgVElGX0lPX0JJVE1BUCkKLSNkZWZpbmUgX1RJRl9GUkVFWkUJCSgxIDw8IFRJRl9GUkVFWkUpCi0jZGVmaW5lIF9USUZfTk9UU0MJCSgxIDw8IFRJRl9OT1RTQykKLSNkZWZpbmUgX1RJRl9GT1JDRURfVEYJCSgxIDw8IFRJRl9GT1JDRURfVEYpCi0jZGVmaW5lIF9USUZfREVCVUdDVExNU1IJKDEgPDwgVElGX0RFQlVHQ1RMTVNSKQotI2RlZmluZSBfVElGX0RTX0FSRUFfTVNSCSgxIDw8IFRJRl9EU19BUkVBX01TUikKLSNkZWZpbmUgX1RJRl9CVFNfVFJBQ0VfVFMJKDEgPDwgVElGX0JUU19UUkFDRV9UUykKLQotLyogd29yayB0byBkbyBvbiBpbnRlcnJ1cHQvZXhjZXB0aW9uIHJldHVybiAqLwotI2RlZmluZSBfVElGX1dPUktfTUFTSwkJCQkJCQlcCi0JKDB4MDAwMEZGRkYgJiB+KF9USUZfU1lTQ0FMTF9UUkFDRSB8IF9USUZfU1lTQ0FMTF9BVURJVCB8CVwKLQkJCV9USUZfU0VDQ09NUCB8IF9USUZfU1lTQ0FMTF9FTVUpKQotLyogd29yayB0byBkbyBvbiBhbnkgcmV0dXJuIHRvIHUtc3BhY2UgKi8KLSNkZWZpbmUgX1RJRl9BTExXT1JLX01BU0sJKDB4MDAwMEZGRkYgJiB+X1RJRl9TRUNDT01QKQotCi0vKiBmbGFncyB0byBjaGVjayBpbiBfX3N3aXRjaF90bygpICovCi0jZGVmaW5lIF9USUZfV09SS19DVFhTVwkJCQkJCVwKLQkoX1RJRl9JT19CSVRNQVAgfCBfVElGX05PVFNDIHwgX1RJRl9ERUJVR0NUTE1TUiB8CVwKLQkgX1RJRl9EU19BUkVBX01TUiB8IF9USUZfQlRTX1RSQUNFX1RTKQotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfUFJFViBfVElGX1dPUktfQ1RYU1cKLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXX05FWFQgKF9USUZfV09SS19DVFhTVyB8IF9USUZfREVCVUcpCi0KLQotLyoKLSAqIFRocmVhZC1zeW5jaHJvbm91cyBzdGF0dXMuCi0gKgotICogVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZmxhZ3MgaW4gdGhhdCBub2JvZHkgZWxzZQotICogZXZlciB0b3VjaGVzIG91ciB0aHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLCBzbyB3ZSBkb24ndAotICogaGF2ZSB0byB3b3JyeSBhYm91dCBhdG9taWMgYWNjZXNzZXMuCi0gKi8KLSNkZWZpbmUgVFNfVVNFREZQVQkJMHgwMDAxCS8qIEZQVSB3YXMgdXNlZCBieSB0aGlzIHRhc2sKLQkJCQkJICAgdGhpcyBxdWFudHVtIChTTVApICovCi0jZGVmaW5lIFRTX1BPTExJTkcJCTB4MDAwMgkvKiBUcnVlIGlmIGluIGlkbGUgbG9vcAotCQkJCQkgICBhbmQgbm90IHNsZWVwaW5nICovCi0jZGVmaW5lIFRTX1JFU1RPUkVfU0lHTUFTSwkweDAwMDQJLyogcmVzdG9yZSBzaWduYWwgbWFzayBpbiBkb19zaWduYWwoKSAqLwotCi0jZGVmaW5lIHRza19pc19wb2xsaW5nKHQpICh0YXNrX3RocmVhZF9pbmZvKHQpLT5zdGF0dXMgJiBUU19QT0xMSU5HKQotCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2RlZmluZSBIQVZFX1NFVF9SRVNUT1JFX1NJR01BU0sJMQotc3RhdGljIGlubGluZSB2b2lkIHNldF9yZXN0b3JlX3NpZ21hc2sodm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpID0gY3VycmVudF90aHJlYWRfaW5mbygpOwotCXRpLT5zdGF0dXMgfD0gVFNfUkVTVE9SRV9TSUdNQVNLOwotCXNldF9iaXQoVElGX1NJR1BFTkRJTkcsICZ0aS0+ZmxhZ3MpOwotfQotI2VuZGlmCS8qICFfX0FTU0VNQkxZX18gKi8KLQotI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KLQotI2VuZGlmIC8qIF9BU01fVEhSRUFEX0lORk9fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3RocmVhZF9pbmZvXzY0LmggYi9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm9fNjQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2I2OWY3MC4uMDAwMDAwMAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdGhyZWFkX2luZm9fNjQuaAorKysgL2Rldi9udWxsCkBAIC0xLDE5NSArMCwwIEBACi0vKiB0aHJlYWRfaW5mby5oOiB4ODZfNjQgbG93LWxldmVsIHRocmVhZCBpbmZvcm1hdGlvbgotICoKLSAqIENvcHlyaWdodCAoQykgMjAwMiAgRGF2aWQgSG93ZWxscyAoZGhvd2VsbHNAcmVkaGF0LmNvbSkKLSAqIC0gSW5jb3Jwb3JhdGluZyBzdWdnZXN0aW9ucyBtYWRlIGJ5IExpbnVzIFRvcnZhbGRzIGFuZCBEYXZlIE1pbGxlcgotICovCi0KLSNpZm5kZWYgX0FTTV9USFJFQURfSU5GT19ICi0jZGVmaW5lIF9BU01fVEhSRUFEX0lORk9fSAotCi0jaWZkZWYgX19LRVJORUxfXwotCi0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLSNpbmNsdWRlIDxhc20vdHlwZXMuaD4KLSNpbmNsdWRlIDxhc20vcGRhLmg+Ci0KLS8qCi0gKiBsb3cgbGV2ZWwgdGFzayBkYXRhIHRoYXQgZW50cnkuUyBuZWVkcyBpbW1lZGlhdGUgYWNjZXNzIHRvCi0gKiAtIHRoaXMgc3RydWN0IHNob3VsZCBmaXQgZW50aXJlbHkgaW5zaWRlIG9mIG9uZSBjYWNoZSBsaW5lCi0gKiAtIHRoaXMgc3RydWN0IHNoYXJlcyB0aGUgc3VwZXJ2aXNvciBzdGFjayBwYWdlcwotICovCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotc3RydWN0IHRhc2tfc3RydWN0Owotc3RydWN0IGV4ZWNfZG9tYWluOwotI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KLQotc3RydWN0IHRocmVhZF9pbmZvIHsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QJKnRhc2s7CQkvKiBtYWluIHRhc2sgc3RydWN0dXJlICovCi0Jc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRvbWFpbiAqLwotCV9fdTMyCQkJZmxhZ3M7CQkvKiBsb3cgbGV2ZWwgZmxhZ3MgKi8KLQlfX3UzMgkJCXN0YXR1czsJCS8qIHRocmVhZCBzeW5jaHJvbm91cyBmbGFncyAqLwotCV9fdTMyCQkJY3B1OwkJLyogY3VycmVudCBDUFUgKi8KLQlpbnQgCQkJcHJlZW1wdF9jb3VudDsJLyogMCA9PiBwcmVlbXB0YWJsZSwKLQkJCQkJCSAgIDwwID0+IEJVRyAqLwotCW1tX3NlZ21lbnRfdAkJYWRkcl9saW1pdDsKLQlzdHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOwotI2lmZGVmIENPTkZJR19JQTMyX0VNVUxBVElPTgotCXZvaWQgX191c2VyCQkqc3lzZW50ZXJfcmV0dXJuOwotI2VuZGlmCi19OwotI2VuZGlmCi0KLS8qCi0gKiBtYWNyb3MvZnVuY3Rpb25zIGZvciBnYWluaW5nIGFjY2VzcyB0byB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdHVyZQotICogcHJlZW1wdF9jb3VudCBuZWVkcyB0byBiZSAxIGluaXRpYWxseSwgdW50aWwgdGhlIHNjaGVkdWxlciBpcyBmdW5jdGlvbmFsLgotICovCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotI2RlZmluZSBJTklUX1RIUkVBRF9JTkZPKHRzaykJCQlcCi17CQkJCQkJXAotCS50YXNrCSAgICAgICA9ICZ0c2ssCQkJXAotCS5leGVjX2RvbWFpbiAgID0gJmRlZmF1bHRfZXhlY19kb21haW4sCVwKLQkuZmxhZ3MJICAgICAgID0gMCwJCQlcCi0JLmNwdQkgICAgICAgPSAwLAkJCVwKLQkucHJlZW1wdF9jb3VudCA9IDEsCQkJXAotCS5hZGRyX2xpbWl0ICAgICA9IEtFUk5FTF9EUywJCVwKLQkucmVzdGFydF9ibG9jayA9IHsJCQlcCi0JCS5mbiA9IGRvX25vX3Jlc3RhcnRfc3lzY2FsbCwJXAotCX0sCQkJCQlcCi19Ci0KLSNkZWZpbmUgaW5pdF90aHJlYWRfaW5mbwkoaW5pdF90aHJlYWRfdW5pb24udGhyZWFkX2luZm8pCi0jZGVmaW5lIGluaXRfc3RhY2sJCShpbml0X3RocmVhZF91bmlvbi5zdGFjaykKLQotc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKmN1cnJlbnRfdGhyZWFkX2luZm8odm9pZCkKLXsKLQlzdHJ1Y3QgdGhyZWFkX2luZm8gKnRpOwotCXRpID0gKHZvaWQgKikocmVhZF9wZGEoa2VybmVsc3RhY2spICsgUERBX1NUQUNLT0ZGU0VUIC0gVEhSRUFEX1NJWkUpOwotCXJldHVybiB0aTsKLX0KLQotLyogZG8gbm90IHVzZSBpbiBpbnRlcnJ1cHQgY29udGV4dCAqLwotc3RhdGljIGlubGluZSBzdHJ1Y3QgdGhyZWFkX2luZm8gKnN0YWNrX3RocmVhZF9pbmZvKHZvaWQpCi17Ci0Jc3RydWN0IHRocmVhZF9pbmZvICp0aTsKLQlhc20oImFuZHEgJSVyc3AsJTA7ICIgOiAiPXIiICh0aSkgOiAiMCIgKH4oVEhSRUFEX1NJWkUgLSAxKSkpOwotCXJldHVybiB0aTsKLX0KLQotLyogdGhyZWFkIGluZm9ybWF0aW9uIGFsbG9jYXRpb24gKi8KLSNpZmRlZiBDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0UKLSNkZWZpbmUgVEhSRUFEX0ZMQUdTIChHRlBfS0VSTkVMIHwgX19HRlBfWkVSTykKLSNlbHNlCi0jZGVmaW5lIFRIUkVBRF9GTEFHUyBHRlBfS0VSTkVMCi0jZW5kaWYKLQotI2RlZmluZSBhbGxvY190aHJlYWRfaW5mbyh0c2spCQkJCQkJXAotCSgoc3RydWN0IHRocmVhZF9pbmZvICopX19nZXRfZnJlZV9wYWdlcyhUSFJFQURfRkxBR1MsIFRIUkVBRF9PUkRFUikpCi0KLSNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8KLQotLyogaG93IHRvIGdldCB0aGUgdGhyZWFkIGluZm9ybWF0aW9uIHN0cnVjdCBmcm9tIEFTTSAqLwotI2RlZmluZSBHRVRfVEhSRUFEX0lORk8ocmVnKSBcCi0JbW92cSAlZ3M6cGRhX2tlcm5lbHN0YWNrLHJlZyA7IFwKLQlzdWJxICQoVEhSRUFEX1NJWkUtUERBX1NUQUNLT0ZGU0VUKSxyZWcKLQotI2VuZGlmCi0KLS8qCi0gKiB0aHJlYWQgaW5mb3JtYXRpb24gZmxhZ3MKLSAqIC0gdGhlc2UgYXJlIHByb2Nlc3Mgc3RhdGUgZmxhZ3MgdGhhdCB2YXJpb3VzIGFzc2VtYmx5IGZpbGVzCi0gKiAgIG1heSBuZWVkIHRvIGFjY2VzcwotICogLSBwZW5kaW5nIHdvcmstdG8tYmUtZG9uZSBmbGFncyBhcmUgaW4gTFNXCi0gKiAtIG90aGVyIGZsYWdzIGluIE1TVwotICogV2FybmluZzogbGF5b3V0IG9mIExTVyBpcyBoYXJkY29kZWQgaW4gZW50cnkuUwotICovCi0jZGVmaW5lIFRJRl9TWVNDQUxMX1RSQUNFCTAJLyogc3lzY2FsbCB0cmFjZSBhY3RpdmUgKi8KLSNkZWZpbmUgVElGX1NJR1BFTkRJTkcJCTIJLyogc2lnbmFsIHBlbmRpbmcgKi8KLSNkZWZpbmUgVElGX05FRURfUkVTQ0hFRAkzCS8qIHJlc2NoZWR1bGluZyBuZWNlc3NhcnkgKi8KLSNkZWZpbmUgVElGX1NJTkdMRVNURVAJCTQJLyogcmVlbmFibGUgc2luZ2xlc3RlcCBvbiB1c2VyIHJldHVybiovCi0jZGVmaW5lIFRJRl9JUkVUCQk1CS8qIGZvcmNlIElSRVQgKi8KLSNkZWZpbmUgVElGX1NZU0NBTExfQVVESVQJNwkvKiBzeXNjYWxsIGF1ZGl0aW5nIGFjdGl2ZSAqLwotI2RlZmluZSBUSUZfU0VDQ09NUAkJOAkvKiBzZWN1cmUgY29tcHV0aW5nICovCi0jZGVmaW5lIFRJRl9NQ0VfTk9USUZZCQkxMAkvKiBub3RpZnkgdXNlcnNwYWNlIG9mIGFuIE1DRSAqLwotI2RlZmluZSBUSUZfSFJUSUNLX1JFU0NIRUQJMTEJLyogcmVwcm9ncmFtIGhydGljayB0aW1lciAqLwotLyogMTYgZnJlZSAqLwotI2RlZmluZSBUSUZfSUEzMgkJMTcJLyogMzJiaXQgcHJvY2VzcyAqLwotI2RlZmluZSBUSUZfRk9SSwkJMTgJLyogcmV0X2Zyb21fZm9yayAqLwotI2RlZmluZSBUSUZfQUJJX1BFTkRJTkcJCTE5Ci0jZGVmaW5lIFRJRl9NRU1ESUUJCTIwCi0jZGVmaW5lIFRJRl9ERUJVRwkJMjEJLyogdXNlcyBkZWJ1ZyByZWdpc3RlcnMgKi8KLSNkZWZpbmUgVElGX0lPX0JJVE1BUAkJMjIJLyogdXNlcyBJL08gYml0bWFwICovCi0jZGVmaW5lIFRJRl9GUkVFWkUJCTIzCS8qIGlzIGZyZWV6aW5nIGZvciBzdXNwZW5kICovCi0jZGVmaW5lIFRJRl9GT1JDRURfVEYJCTI0CS8qIHRydWUgaWYgVEYgaW4gZWZsYWdzIGFydGlmaWNpYWxseSAqLwotI2RlZmluZSBUSUZfREVCVUdDVExNU1IJCTI1CS8qIHVzZXMgdGhyZWFkX3N0cnVjdC5kZWJ1Z2N0bG1zciAqLwotI2RlZmluZSBUSUZfRFNfQVJFQV9NU1IJCTI2ICAgICAgLyogdXNlcyB0aHJlYWRfc3RydWN0LmRzX2FyZWFfbXNyICovCi0jZGVmaW5lIFRJRl9CVFNfVFJBQ0VfVFMJMjcgICAgICAvKiByZWNvcmQgc2NoZWR1bGluZyBldmVudCB0aW1lc3RhbXBzICovCi0jZGVmaW5lIFRJRl9OT1RTQwkJMjgJLyogVFNDIGlzIG5vdCBhY2Nlc3NpYmxlIGluIHVzZXJsYW5kICovCi0KLSNkZWZpbmUgX1RJRl9TWVNDQUxMX1RSQUNFCSgxIDw8IFRJRl9TWVNDQUxMX1RSQUNFKQotI2RlZmluZSBfVElGX1NJR1BFTkRJTkcJCSgxIDw8IFRJRl9TSUdQRU5ESU5HKQotI2RlZmluZSBfVElGX1NJTkdMRVNURVAJCSgxIDw8IFRJRl9TSU5HTEVTVEVQKQotI2RlZmluZSBfVElGX05FRURfUkVTQ0hFRAkoMSA8PCBUSUZfTkVFRF9SRVNDSEVEKQotI2RlZmluZSBfVElGX0lSRVQJCSgxIDw8IFRJRl9JUkVUKQotI2RlZmluZSBfVElGX1NZU0NBTExfQVVESVQJKDEgPDwgVElGX1NZU0NBTExfQVVESVQpCi0jZGVmaW5lIF9USUZfU0VDQ09NUAkJKDEgPDwgVElGX1NFQ0NPTVApCi0jZGVmaW5lIF9USUZfTUNFX05PVElGWQkJKDEgPDwgVElGX01DRV9OT1RJRlkpCi0jZGVmaW5lIF9USUZfSFJUSUNLX1JFU0NIRUQJKDEgPDwgVElGX0hSVElDS19SRVNDSEVEKQotI2RlZmluZSBfVElGX0lBMzIJCSgxIDw8IFRJRl9JQTMyKQotI2RlZmluZSBfVElGX0ZPUksJCSgxIDw8IFRJRl9GT1JLKQotI2RlZmluZSBfVElGX0FCSV9QRU5ESU5HCSgxIDw8IFRJRl9BQklfUEVORElORykKLSNkZWZpbmUgX1RJRl9ERUJVRwkJKDEgPDwgVElGX0RFQlVHKQotI2RlZmluZSBfVElGX0lPX0JJVE1BUAkJKDEgPDwgVElGX0lPX0JJVE1BUCkKLSNkZWZpbmUgX1RJRl9GUkVFWkUJCSgxIDw8IFRJRl9GUkVFWkUpCi0jZGVmaW5lIF9USUZfRk9SQ0VEX1RGCQkoMSA8PCBUSUZfRk9SQ0VEX1RGKQotI2RlZmluZSBfVElGX0RFQlVHQ1RMTVNSCSgxIDw8IFRJRl9ERUJVR0NUTE1TUikKLSNkZWZpbmUgX1RJRl9EU19BUkVBX01TUgkoMSA8PCBUSUZfRFNfQVJFQV9NU1IpCi0jZGVmaW5lIF9USUZfQlRTX1RSQUNFX1RTCSgxIDw8IFRJRl9CVFNfVFJBQ0VfVFMpCi0jZGVmaW5lIF9USUZfTk9UU0MJCSgxIDw8IFRJRl9OT1RTQykKLQotLyogd29yayB0byBkbyBvbiBpbnRlcnJ1cHQvZXhjZXB0aW9uIHJldHVybiAqLwotI2RlZmluZSBfVElGX1dPUktfTUFTSwkJCQkJCQlcCi0JKDB4MDAwMEZGRkYgJgkJCQkJCQlcCi0JIH4oX1RJRl9TWVNDQUxMX1RSQUNFfF9USUZfU1lTQ0FMTF9BVURJVHxfVElGX1NJTkdMRVNURVB8X1RJRl9TRUNDT01QKSkKLS8qIHdvcmsgdG8gZG8gb24gYW55IHJldHVybiB0byB1c2VyIHNwYWNlICovCi0jZGVmaW5lIF9USUZfQUxMV09SS19NQVNLICgweDAwMDBGRkZGICYgfl9USUZfU0VDQ09NUCkKLQotI2RlZmluZSBfVElGX0RPX05PVElGWV9NQVNLCQkJCQkJXAotCShfVElGX1NJR1BFTkRJTkd8X1RJRl9TSU5HTEVTVEVQfF9USUZfTUNFX05PVElGWXxfVElGX0hSVElDS19SRVNDSEVEKQotCi0vKiBmbGFncyB0byBjaGVjayBpbiBfX3N3aXRjaF90bygpICovCi0jZGVmaW5lIF9USUZfV09SS19DVFhTVwkJCQkJCQlcCi0JKF9USUZfSU9fQklUTUFQfF9USUZfREVCVUdDVExNU1J8X1RJRl9EU19BUkVBX01TUnxfVElGX0JUU19UUkFDRV9UU3xfVElGX05PVFNDKQotI2RlZmluZSBfVElGX1dPUktfQ1RYU1dfUFJFViBfVElGX1dPUktfQ1RYU1cKLSNkZWZpbmUgX1RJRl9XT1JLX0NUWFNXX05FWFQgKF9USUZfV09SS19DVFhTV3xfVElGX0RFQlVHKQotCi0jZGVmaW5lIFBSRUVNUFRfQUNUSVZFICAgICAweDEwMDAwMDAwCi0KLS8qCi0gKiBUaHJlYWQtc3luY2hyb25vdXMgc3RhdHVzLgotICoKLSAqIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIGZsYWdzIGluIHRoYXQgbm9ib2R5IGVsc2UKLSAqIGV2ZXIgdG91Y2hlcyBvdXIgdGhyZWFkLXN5bmNocm9ub3VzIHN0YXR1cywgc28gd2UgZG9uJ3QKLSAqIGhhdmUgdG8gd29ycnkgYWJvdXQgYXRvbWljIGFjY2Vzc2VzLgotICovCi0jZGVmaW5lIFRTX1VTRURGUFUJCTB4MDAwMQkvKiBGUFUgd2FzIHVzZWQgYnkgdGhpcyB0YXNrCi0JCQkJCSAgIHRoaXMgcXVhbnR1bSAoU01QKSAqLwotI2RlZmluZSBUU19DT01QQVQJCTB4MDAwMgkvKiAzMmJpdCBzeXNjYWxsIGFjdGl2ZSAqLwotI2RlZmluZSBUU19QT0xMSU5HCQkweDAwMDQJLyogdHJ1ZSBpZiBpbiBpZGxlIGxvb3AKLQkJCQkJICAgYW5kIG5vdCBzbGVlcGluZyAqLwotI2RlZmluZSBUU19SRVNUT1JFX1NJR01BU0sJMHgwMDA4CS8qIHJlc3RvcmUgc2lnbmFsIG1hc2sgaW4gZG9fc2lnbmFsKCkgKi8KLQotI2RlZmluZSB0c2tfaXNfcG9sbGluZyh0KSAodGFza190aHJlYWRfaW5mbyh0KS0+c3RhdHVzICYgVFNfUE9MTElORykKLQotI2lmbmRlZiBfX0FTU0VNQkxZX18KLSNkZWZpbmUgSEFWRV9TRVRfUkVTVE9SRV9TSUdNQVNLCTEKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcmVzdG9yZV9zaWdtYXNrKHZvaWQpCi17Ci0Jc3RydWN0IHRocmVhZF9pbmZvICp0aSA9IGN1cnJlbnRfdGhyZWFkX2luZm8oKTsKLQl0aS0+c3RhdHVzIHw9IFRTX1JFU1RPUkVfU0lHTUFTSzsKLQlzZXRfYml0KFRJRl9TSUdQRU5ESU5HLCAmdGktPmZsYWdzKTsKLX0KLSNlbmRpZgkvKiAhX19BU1NFTUJMWV9fICovCi0KLSNlbmRpZiAvKiBfX0tFUk5FTF9fICovCi0KLSNlbmRpZiAvKiBfQVNNX1RIUkVBRF9JTkZPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmggYi9pbmNsdWRlL2FzbS14ODYvdGltZS5oCmluZGV4IGJjZTcyZDcuLmExN2ZhNDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RpbWUuaApAQCAtNTYsNCArNTYsNiBAQAogCiAjZW5kaWYgLyogQ09ORklHX1BBUkFWSVJUICovCiAKK2V4dGVybiB1bnNpZ25lZCBsb25nIF9faW5pdCBjYWxpYnJhdGVfY3B1KHZvaWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90aW1lci5oIGIvaW5jbHVkZS9hc20teDg2L3RpbWVyLmgKaW5kZXggNGY2ZmNiMC4uZmIyYTRkZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RpbWVyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RpbWVyLmgKQEAgLTcsMTQgKzcsMTQgQEAKICNkZWZpbmUgVElDS19TSVpFICh0aWNrX25zZWMgLyAxMDAwKQogCiB1bnNpZ25lZCBsb25nIGxvbmcgbmF0aXZlX3NjaGVkX2Nsb2NrKHZvaWQpOwotdW5zaWduZWQgbG9uZyBuYXRpdmVfY2FsY3VsYXRlX2NwdV9raHoodm9pZCk7Cit1bnNpZ25lZCBsb25nIG5hdGl2ZV9jYWxpYnJhdGVfdHNjKHZvaWQpOwogCiBleHRlcm4gaW50IHRpbWVyX2FjazsKIGV4dGVybiBpbnQgbm9fdGltZXJfY2hlY2s7CiBleHRlcm4gaW50IHJlY2FsaWJyYXRlX2NwdV9raHoodm9pZCk7CiAKICNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi0jZGVmaW5lIGNhbGN1bGF0ZV9jcHVfa2h6KCkgbmF0aXZlX2NhbGN1bGF0ZV9jcHVfa2h6KCkKKyNkZWZpbmUgY2FsaWJyYXRlX3RzYygpIG5hdGl2ZV9jYWxpYnJhdGVfdHNjKCkKICNlbmRpZgogCiAvKiBBY2NlbGVyYXRvcnMgZm9yIHNjaGVkX2Nsb2NrKCkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni90b3BvbG9neS5oIGIvaW5jbHVkZS9hc20teDg2L3RvcG9sb2d5LmgKaW5kZXggZGNmM2Y4MS4uOTBhYzc3MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RvcG9sb2d5LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3RvcG9sb2d5LmgKQEAgLTM1LDc5ICszNSw5MyBAQAogIyBlbmRpZgogI2VuZGlmCiAKKy8qIE5vZGUgbm90IHByZXNlbnQgKi8KKyNkZWZpbmUgTlVNQV9OT19OT0RFCSgtMSkKKwogI2lmZGVmIENPTkZJR19OVU1BCiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGFzbS9tcHNwZWMuaD4KIAotLyogTWFwcGluZ3MgYmV0d2VlbiBsb2dpY2FsIGNwdSBudW1iZXIgYW5kIG5vZGUgbnVtYmVyICovCiAjaWZkZWYgQ09ORklHX1g4Nl8zMgotZXh0ZXJuIGludCBjcHVfdG9fbm9kZV9tYXBbXTsKLSNlbHNlCi0vKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIGN1cnJlbnQgTm9kZS4gKi8KLSNkZWZpbmUgbnVtYV9ub2RlX2lkKCkJCShlYXJseV9jcHVfdG9fbm9kZShyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKSkKLSNlbmRpZgogCi1ERUNMQVJFX1BFUl9DUFUoaW50LCB4ODZfY3B1X3RvX25vZGVfbWFwKTsKLQotI2lmZGVmIENPTkZJR19TTVAKLWV4dGVybiBpbnQgeDg2X2NwdV90b19ub2RlX21hcF9pbml0W107Ci1leHRlcm4gdm9pZCAqeDg2X2NwdV90b19ub2RlX21hcF9lYXJseV9wdHI7Ci0jZWxzZQotI2RlZmluZSB4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0ciBOVUxMCi0jZW5kaWYKLQorLyogTWFwcGluZ3MgYmV0d2VlbiBub2RlIG51bWJlciBhbmQgY3B1cyBvbiB0aGF0IG5vZGUuICovCiBleHRlcm4gY3B1bWFza190IG5vZGVfdG9fY3B1bWFza19tYXBbXTsKIAotI2RlZmluZSBOVU1BX05PX05PREUJKC0xKQorLyogTWFwcGluZ3MgYmV0d2VlbiBsb2dpY2FsIGNwdSBudW1iZXIgYW5kIG5vZGUgbnVtYmVyICovCitleHRlcm4gaW50IGNwdV90b19ub2RlX21hcFtdOwogCiAvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIG5vZGUgY29udGFpbmluZyBDUFUgJ2NwdScgKi8KLSNpZmRlZiBDT05GSUdfWDg2XzMyCi0jZGVmaW5lIGVhcmx5X2NwdV90b19ub2RlKGNwdSkJY3B1X3RvX25vZGUoY3B1KQogc3RhdGljIGlubGluZSBpbnQgY3B1X3RvX25vZGUoaW50IGNwdSkKIHsKIAlyZXR1cm4gY3B1X3RvX25vZGVfbWFwW2NwdV07CiB9CisjZGVmaW5lIGVhcmx5X2NwdV90b19ub2RlKGNwdSkJY3B1X3RvX25vZGUoY3B1KQorCisvKiBSZXR1cm5zIGEgYml0bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLgorICoKKyAqIFNpZGUgbm90ZTogdGhpcyBmdW5jdGlvbiBjcmVhdGVzIHRoZSByZXR1cm5lZCBjcHVtYXNrIG9uIHRoZSBzdGFjaworICogc28gd2l0aCBhIGhpZ2ggTlJfQ1BVUyBjb3VudCwgZXhjZXNzaXZlIHN0YWNrIHNwYWNlIGlzIHVzZWQuICBUaGUKKyAqIG5vZGVfdG9fY3B1bWFza19wdHIgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgd2hlbmV2ZXIgcG9zc2libGUuCisgKi8KK3N0YXRpYyBpbmxpbmUgY3B1bWFza190IG5vZGVfdG9fY3B1bWFzayhpbnQgbm9kZSkKK3sKKwlyZXR1cm4gbm9kZV90b19jcHVtYXNrX21hcFtub2RlXTsKK30KIAogI2Vsc2UgLyogQ09ORklHX1g4Nl82NCAqLwogCi0jaWZkZWYgQ09ORklHX1NNUAotc3RhdGljIGlubGluZSBpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSkKLXsKLQlpbnQgKmNwdV90b19ub2RlX21hcCA9IHg4Nl9jcHVfdG9fbm9kZV9tYXBfZWFybHlfcHRyOworLyogTWFwcGluZ3MgYmV0d2VlbiBub2RlIG51bWJlciBhbmQgY3B1cyBvbiB0aGF0IG5vZGUuICovCitleHRlcm4gY3B1bWFza190ICpub2RlX3RvX2NwdW1hc2tfbWFwOwogCi0JaWYgKGNwdV90b19ub2RlX21hcCkKLQkJcmV0dXJuIGNwdV90b19ub2RlX21hcFtjcHVdOwotCWVsc2UgaWYgKHBlcl9jcHVfb2Zmc2V0KGNwdSkpCi0JCXJldHVybiBwZXJfY3B1KHg4Nl9jcHVfdG9fbm9kZV9tYXAsIGNwdSk7Ci0JZWxzZQotCQlyZXR1cm4gTlVNQV9OT19OT0RFOwotfQotI2Vsc2UKLSNkZWZpbmUJZWFybHlfY3B1X3RvX25vZGUoY3B1KQljcHVfdG9fbm9kZShjcHUpCi0jZW5kaWYKKy8qIE1hcHBpbmdzIGJldHdlZW4gbG9naWNhbCBjcHUgbnVtYmVyIGFuZCBub2RlIG51bWJlciAqLworREVDTEFSRV9FQVJMWV9QRVJfQ1BVKGludCwgeDg2X2NwdV90b19ub2RlX21hcCk7CiAKKy8qIFJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgY3VycmVudCBOb2RlLiAqLworI2RlZmluZSBudW1hX25vZGVfaWQoKQkJcmVhZF9wZGEobm9kZW51bWJlcikKKworI2lmZGVmIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMKK2V4dGVybiBpbnQgY3B1X3RvX25vZGUoaW50IGNwdSk7CitleHRlcm4gaW50IGVhcmx5X2NwdV90b19ub2RlKGludCBjcHUpOworZXh0ZXJuIGNvbnN0IGNwdW1hc2tfdCAqX25vZGVfdG9fY3B1bWFza19wdHIoaW50IG5vZGUpOworZXh0ZXJuIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpOworCisjZWxzZQkvKiAhQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUyAqLworCisvKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIG5vZGUgY29udGFpbmluZyBDUFUgJ2NwdScgKi8KIHN0YXRpYyBpbmxpbmUgaW50IGNwdV90b19ub2RlKGludCBjcHUpCiB7Ci0jaWZkZWYgQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUwotCWlmICh4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0cikgewotCQlwcmludGsoIktFUk5fTk9USUNFIGNwdV90b19ub2RlKCVkKTogdXNhZ2UgdG9vIGVhcmx5IVxuIiwKLQkJICAgICAgIChpbnQpY3B1KTsKLQkJZHVtcF9zdGFjaygpOwotCQlyZXR1cm4gKChpbnQgKil4ODZfY3B1X3RvX25vZGVfbWFwX2Vhcmx5X3B0cilbY3B1XTsKLQl9Ci0jZW5kaWYKIAlyZXR1cm4gcGVyX2NwdSh4ODZfY3B1X3RvX25vZGVfbWFwLCBjcHUpOwogfQogCi0jaWZkZWYJQ09ORklHX05VTUEKKy8qIFNhbWUgZnVuY3Rpb24gYnV0IHVzZWQgaWYgY2FsbGVkIGJlZm9yZSBwZXJfY3B1IGFyZWFzIGFyZSBzZXR1cCAqLworc3RhdGljIGlubGluZSBpbnQgZWFybHlfY3B1X3RvX25vZGUoaW50IGNwdSkKK3sKKwlpZiAoZWFybHlfcGVyX2NwdV9wdHIoeDg2X2NwdV90b19ub2RlX21hcCkpCisJCXJldHVybiBlYXJseV9wZXJfY3B1X3B0cih4ODZfY3B1X3RvX25vZGVfbWFwKVtjcHVdOworCisJcmV0dXJuIHBlcl9jcHUoeDg2X2NwdV90b19ub2RlX21hcCwgY3B1KTsKK30KIAogLyogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGNwdW1hc2sgb2YgQ1BVcyBvbiBOb2RlICdub2RlJy4gKi8KK3N0YXRpYyBpbmxpbmUgY29uc3QgY3B1bWFza190ICpfbm9kZV90b19jcHVtYXNrX3B0cihpbnQgbm9kZSkKK3sKKwlyZXR1cm4gJm5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Cit9CisKKy8qIFJldHVybnMgYSBiaXRtYXNrIG9mIENQVXMgb24gTm9kZSAnbm9kZScuICovCitzdGF0aWMgaW5saW5lIGNwdW1hc2tfdCBub2RlX3RvX2NwdW1hc2soaW50IG5vZGUpCit7CisJcmV0dXJuIG5vZGVfdG9fY3B1bWFza19tYXBbbm9kZV07Cit9CisKKyNlbmRpZiAvKiAhQ09ORklHX0RFQlVHX1BFUl9DUFVfTUFQUyAqLworCisvKiBSZXBsYWNlIGRlZmF1bHQgbm9kZV90b19jcHVtYXNrX3B0ciB3aXRoIG9wdGltaXplZCB2ZXJzaW9uICovCiAjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHIodiwgbm9kZSkJCVwKLQkJY3B1bWFza190ICp2ID0gJihub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdKQorCQljb25zdCBjcHVtYXNrX3QgKnYgPSBfbm9kZV90b19jcHVtYXNrX3B0cihub2RlKQogCiAjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHJfbmV4dCh2LCBub2RlKQlcCi0JCQkgICB2ID0gJihub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdKQotI2VuZGlmCisJCQkgICB2ID0gX25vZGVfdG9fY3B1bWFza19wdHIobm9kZSkKIAogI2VuZGlmIC8qIENPTkZJR19YODZfNjQgKi8KIApAQCAtMTE3LDIwICsxMzEsNiBAQAogICovCiAjZGVmaW5lIHBhcmVudF9ub2RlKG5vZGUpIChub2RlKQogCi0vKiBSZXR1cm5zIGEgYml0bWFzayBvZiBDUFVzIG9uIE5vZGUgJ25vZGUnLiAqLwotc3RhdGljIGlubGluZSBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQotewotCXJldHVybiBub2RlX3RvX2NwdW1hc2tfbWFwW25vZGVdOwotfQotCi0vKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdGhlIGZpcnN0IENQVSBvbiBOb2RlICdub2RlJy4gKi8KLXN0YXRpYyBpbmxpbmUgaW50IG5vZGVfdG9fZmlyc3RfY3B1KGludCBub2RlKQotewotCWNwdW1hc2tfdCBtYXNrID0gbm9kZV90b19jcHVtYXNrKG5vZGUpOwotCi0JcmV0dXJuIGZpcnN0X2NwdShtYXNrKTsKLX0KLQogI2RlZmluZSBwY2lidXNfdG9fbm9kZShidXMpIF9fcGNpYnVzX3RvX25vZGUoYnVzKQogI2RlZmluZSBwY2lidXNfdG9fY3B1bWFzayhidXMpIF9fcGNpYnVzX3RvX2NwdW1hc2soYnVzKQogCkBAIC0xODAsMTIgKzE4MCw0NCBAQAogI2RlZmluZSBub2RlX2Rpc3RhbmNlKGEsIGIpIF9fbm9kZV9kaXN0YW5jZShhLCBiKQogI2VuZGlmCiAKLSNlbHNlIC8qIENPTkZJR19OVU1BICovCisjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIAorI2RlZmluZSBudW1hX25vZGVfaWQoKQkJMAorI2RlZmluZQljcHVfdG9fbm9kZShjcHUpCTAKKyNkZWZpbmUJZWFybHlfY3B1X3RvX25vZGUoY3B1KQkwCisKK3N0YXRpYyBpbmxpbmUgY29uc3QgY3B1bWFza190ICpfbm9kZV90b19jcHVtYXNrX3B0cihpbnQgbm9kZSkKK3sKKwlyZXR1cm4gJmNwdV9vbmxpbmVfbWFwOworfQorc3RhdGljIGlubGluZSBjcHVtYXNrX3Qgbm9kZV90b19jcHVtYXNrKGludCBub2RlKQoreworCXJldHVybiBjcHVfb25saW5lX21hcDsKK30KK3N0YXRpYyBpbmxpbmUgaW50IG5vZGVfdG9fZmlyc3RfY3B1KGludCBub2RlKQoreworCXJldHVybiBmaXJzdF9jcHUoY3B1X29ubGluZV9tYXApOworfQorCisvKiBSZXBsYWNlIGRlZmF1bHQgbm9kZV90b19jcHVtYXNrX3B0ciB3aXRoIG9wdGltaXplZCB2ZXJzaW9uICovCisjZGVmaW5lIG5vZGVfdG9fY3B1bWFza19wdHIodiwgbm9kZSkJCVwKKwkJY29uc3QgY3B1bWFza190ICp2ID0gX25vZGVfdG9fY3B1bWFza19wdHIobm9kZSkKKworI2RlZmluZSBub2RlX3RvX2NwdW1hc2tfcHRyX25leHQodiwgbm9kZSkJXAorCQkJICAgdiA9IF9ub2RlX3RvX2NwdW1hc2tfcHRyKG5vZGUpCiAjZW5kaWYKIAogI2luY2x1ZGUgPGFzbS1nZW5lcmljL3RvcG9sb2d5Lmg+CiAKKyNpZmRlZiBDT05GSUdfTlVNQQorLyogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBmaXJzdCBDUFUgb24gTm9kZSAnbm9kZScuICovCitzdGF0aWMgaW5saW5lIGludCBub2RlX3RvX2ZpcnN0X2NwdShpbnQgbm9kZSkKK3sKKwlub2RlX3RvX2NwdW1hc2tfcHRyKG1hc2ssIG5vZGUpOworCXJldHVybiBmaXJzdF9jcHUoKm1hc2spOworfQorI2VuZGlmCisKIGV4dGVybiBjcHVtYXNrX3QgY3B1X2NvcmVncm91cF9tYXAoaW50IGNwdSk7CiAKICNpZmRlZiBFTkFCTEVfVE9QT19ERUZJTkVTCkBAIC0xOTMsNiArMjI1LDkgQEAKICNkZWZpbmUgdG9wb2xvZ3lfY29yZV9pZChjcHUpCQkJKGNwdV9kYXRhKGNwdSkuY3B1X2NvcmVfaWQpCiAjZGVmaW5lIHRvcG9sb2d5X2NvcmVfc2libGluZ3MoY3B1KQkJKHBlcl9jcHUoY3B1X2NvcmVfbWFwLCBjcHUpKQogI2RlZmluZSB0b3BvbG9neV90aHJlYWRfc2libGluZ3MoY3B1KQkJKHBlcl9jcHUoY3B1X3NpYmxpbmdfbWFwLCBjcHUpKQorCisvKiBpbmRpY2F0ZXMgdGhhdCBwb2ludGVycyB0byB0aGUgdG9wb2xvZ3kgY3B1bWFza190IG1hcHMgYXJlIHZhbGlkICovCisjZGVmaW5lIGFyY2hfcHJvdmlkZXNfdG9wb2xvZ3lfcG9pbnRlcnMJCXllcwogI2VuZGlmCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2ZpeF9waHlzX3BhY2thZ2VfaWQoaW50IG51bSwgdTMyIHNsb3QpCkBAIC0yMjAsNCArMjU1LDQgQEAKIH0KICNlbmRpZgogCi0jZW5kaWYKKyNlbmRpZiAvKiBfQVNNX1g4Nl9UT1BPTE9HWV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdHNjLmggYi9pbmNsdWRlL2FzbS14ODYvdHNjLmgKaW5kZXggNTQ4ODczYS4uY2I2ZjZlZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3RzYy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni90c2MuaApAQCAtNDgsNyArNDgsNiBAQAogZXh0ZXJuIHZvaWQgdHNjX2luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBtYXJrX3RzY191bnN0YWJsZShjaGFyICpyZWFzb24pOwogZXh0ZXJuIGludCB1bnN5bmNocm9uaXplZF90c2Modm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0X3RzY19jbG9ja3NvdXJjZSh2b2lkKTsKIGludCBjaGVja190c2NfdW5zdGFibGUodm9pZCk7CiAKIC8qCkBAIC01OCw3ICs1Nyw2IEBACiBleHRlcm4gdm9pZCBjaGVja190c2Nfc3luY19zb3VyY2UoaW50IGNwdSk7CiBleHRlcm4gdm9pZCBjaGVja190c2Nfc3luY190YXJnZXQodm9pZCk7CiAKLWV4dGVybiB2b2lkIHRzY19jYWxpYnJhdGUodm9pZCk7CiBleHRlcm4gaW50IG5vdHNjX3NldHVwKGNoYXIgKik7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaCBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzLmgKaW5kZXggOWZlZmQyOS4uZjZmYTRkOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzcy5oCkBAIC0xLDUgKzEsNDUzIEBACisjaWZuZGVmIF9BU01fVUFDQ0VTX0hfCisjZGVmaW5lIF9BU01fVUFDQ0VTX0hfCisvKgorICogVXNlciBzcGFjZSBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucworICovCisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorI2luY2x1ZGUgPGxpbnV4L3RocmVhZF9pbmZvLmg+CisjaW5jbHVkZSA8bGludXgvcHJlZmV0Y2guaD4KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KKyNpbmNsdWRlIDxhc20vYXNtLmg+CisjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKworI2RlZmluZSBWRVJJRllfUkVBRCAwCisjZGVmaW5lIFZFUklGWV9XUklURSAxCisKKy8qCisgKiBUaGUgZnMgdmFsdWUgZGV0ZXJtaW5lcyB3aGV0aGVyIGFyZ3VtZW50IHZhbGlkaXR5IGNoZWNraW5nIHNob3VsZCBiZQorICogcGVyZm9ybWVkIG9yIG5vdC4gIElmIGdldF9mcygpID09IFVTRVJfRFMsIGNoZWNraW5nIGlzIHBlcmZvcm1lZCwgd2l0aAorICogZ2V0X2ZzKCkgPT0gS0VSTkVMX0RTLCBjaGVja2luZyBpcyBieXBhc3NlZC4KKyAqCisgKiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGVzZSBtYWNyb3MgYXJlIGdyb3NzbHkgbWlzbmFtZWQuCisgKi8KKworI2RlZmluZSBNQUtFX01NX1NFRyhzKQkoKG1tX3NlZ21lbnRfdCkgeyAocykgfSkKKworI2RlZmluZSBLRVJORUxfRFMJTUFLRV9NTV9TRUcoLTFVTCkKKyNkZWZpbmUgVVNFUl9EUwkJTUFLRV9NTV9TRUcoUEFHRV9PRkZTRVQpCisKKyNkZWZpbmUgZ2V0X2RzKCkJKEtFUk5FTF9EUykKKyNkZWZpbmUgZ2V0X2ZzKCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdCkKKyNkZWZpbmUgc2V0X2ZzKHgpCShjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQgPSAoeCkpCisKKyNkZWZpbmUgc2VnbWVudF9lcShhLCBiKQkoKGEpLnNlZyA9PSAoYikuc2VnKQorCisjZGVmaW5lIF9fYWRkcl9vayhhZGRyKQkJCQkJXAorCSgodW5zaWduZWQgbG9uZyBfX2ZvcmNlKShhZGRyKSA8CQlcCisJIChjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQuc2VnKSkKKworLyoKKyAqIFRlc3Qgd2hldGhlciBhIGJsb2NrIG9mIG1lbW9yeSBpcyBhIHZhbGlkIHVzZXIgc3BhY2UgYWRkcmVzcy4KKyAqIFJldHVybnMgMCBpZiB0aGUgcmFuZ2UgaXMgdmFsaWQsIG5vbnplcm8gb3RoZXJ3aXNlLgorICoKKyAqIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgZm9sbG93aW5nIHRlc3Q6CisgKiAodTMzKWFkZHIgKyAodTMzKXNpemUgPj0gKHUzMyljdXJyZW50LT5hZGRyX2xpbWl0LnNlZyAodTY1IGZvciB4ODZfNjQpCisgKgorICogVGhpcyBuZWVkcyAzMy1iaXQgKDY1LWJpdCBmb3IgeDg2XzY0KSBhcml0aG1ldGljLiBXZSBoYXZlIGEgY2FycnkuLi4KKyAqLworCisjZGVmaW5lIF9fcmFuZ2Vfbm90X29rKGFkZHIsIHNpemUpCQkJCQlcCisoewkJCQkJCQkJCVwKKwl1bnNpZ25lZCBsb25nIGZsYWcsIHJva3N1bTsJCQkJCVwKKwlfX2Noa191c2VyX3B0cihhZGRyKTsJCQkJCQlcCisJYXNtKCJhZGQgJTMsJTEgOyBzYmIgJTAsJTAgOyBjbXAgJTEsJTQgOyBzYmIgJDAsJTAiCQlcCisJICAgIDogIj0mciIgKGZsYWcpLCAiPXIiIChyb2tzdW0pCQkJCVwKKwkgICAgOiAiMSIgKGFkZHIpLCAiZyIgKChsb25nKShzaXplKSksCQkJCVwKKwkgICAgICAicm0iIChjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQuc2VnKSk7CQlcCisJZmxhZzsJCQkJCQkJCVwKK30pCisKKy8qKgorICogYWNjZXNzX29rOiAtIENoZWNrcyBpZiBhIHVzZXIgc3BhY2UgcG9pbnRlciBpcyB2YWxpZAorICogQHR5cGU6IFR5cGUgb2YgYWNjZXNzOiAlVkVSSUZZX1JFQUQgb3IgJVZFUklGWV9XUklURS4gIE5vdGUgdGhhdAorICogICAgICAgICVWRVJJRllfV1JJVEUgaXMgYSBzdXBlcnNldCBvZiAlVkVSSUZZX1JFQUQgLSBpZiBpdCBpcyBzYWZlCisgKiAgICAgICAgdG8gd3JpdGUgdG8gYSBibG9jaywgaXQgaXMgYWx3YXlzIHNhZmUgdG8gcmVhZCBmcm9tIGl0LgorICogQGFkZHI6IFVzZXIgc3BhY2UgcG9pbnRlciB0byBzdGFydCBvZiBibG9jayB0byBjaGVjaworICogQHNpemU6IFNpemUgb2YgYmxvY2sgdG8gY2hlY2sKKyAqCisgKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgorICoKKyAqIENoZWNrcyBpZiBhIHBvaW50ZXIgdG8gYSBibG9jayBvZiBtZW1vcnkgaW4gdXNlciBzcGFjZSBpcyB2YWxpZC4KKyAqCisgKiBSZXR1cm5zIHRydWUgKG5vbnplcm8pIGlmIHRoZSBtZW1vcnkgYmxvY2sgbWF5IGJlIHZhbGlkLCBmYWxzZSAoemVybykKKyAqIGlmIGl0IGlzIGRlZmluaXRlbHkgaW52YWxpZC4KKyAqCisgKiBOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiBhcmNoaXRlY3R1cmUsIHRoaXMgZnVuY3Rpb24gcHJvYmFibHkganVzdAorICogY2hlY2tzIHRoYXQgdGhlIHBvaW50ZXIgaXMgaW4gdGhlIHVzZXIgc3BhY2UgcmFuZ2UgLSBhZnRlciBjYWxsaW5nCisgKiB0aGlzIGZ1bmN0aW9uLCBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucyBtYXkgc3RpbGwgcmV0dXJuIC1FRkFVTFQuCisgKi8KKyNkZWZpbmUgYWNjZXNzX29rKHR5cGUsIGFkZHIsIHNpemUpIChsaWtlbHkoX19yYW5nZV9ub3Rfb2soYWRkciwgc2l6ZSkgPT0gMCkpCisKKy8qCisgKiBUaGUgZXhjZXB0aW9uIHRhYmxlIGNvbnNpc3RzIG9mIHBhaXJzIG9mIGFkZHJlc3NlczogdGhlIGZpcnN0IGlzIHRoZQorICogYWRkcmVzcyBvZiBhbiBpbnN0cnVjdGlvbiB0aGF0IGlzIGFsbG93ZWQgdG8gZmF1bHQsIGFuZCB0aGUgc2Vjb25kIGlzCisgKiB0aGUgYWRkcmVzcyBhdCB3aGljaCB0aGUgcHJvZ3JhbSBzaG91bGQgY29udGludWUuICBObyByZWdpc3RlcnMgYXJlCisgKiBtb2RpZmllZCwgc28gaXQgaXMgZW50aXJlbHkgdXAgdG8gdGhlIGNvbnRpbnVhdGlvbiBjb2RlIHRvIGZpZ3VyZSBvdXQKKyAqIHdoYXQgdG8gZG8uCisgKgorICogQWxsIHRoZSByb3V0aW5lcyBiZWxvdyB1c2UgYml0cyBvZiBmaXh1cCBjb2RlIHRoYXQgYXJlIG91dCBvZiBsaW5lCisgKiB3aXRoIHRoZSBtYWluIGluc3RydWN0aW9uIHBhdGguICBUaGlzIG1lYW5zIHdoZW4gZXZlcnl0aGluZyBpcyB3ZWxsLAorICogd2UgZG9uJ3QgZXZlbiBoYXZlIHRvIGp1bXAgb3ZlciB0aGVtLiAgRnVydGhlciwgdGhleSBkbyBub3QgaW50cnVkZQorICogb24gb3VyIGNhY2hlIG9yIHRsYiBlbnRyaWVzLgorICovCisKK3N0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgeworCXVuc2lnbmVkIGxvbmcgaW5zbiwgZml4dXA7Cit9OworCitleHRlcm4gaW50IGZpeHVwX2V4Y2VwdGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncyk7CisKKy8qCisgKiBUaGVzZSBhcmUgdGhlIG1haW4gc2luZ2xlLXZhbHVlIHRyYW5zZmVyIHJvdXRpbmVzLiAgVGhleSBhdXRvbWF0aWNhbGx5CisgKiB1c2UgdGhlIHJpZ2h0IHNpemUgaWYgd2UganVzdCBoYXZlIHRoZSByaWdodCBwb2ludGVyIHR5cGUuCisgKgorICogVGhpcyBnZXRzIGtpbmQgb2YgdWdseS4gV2Ugd2FudCB0byByZXR1cm4gX3R3b18gdmFsdWVzIGluICJnZXRfdXNlcigpIgorICogYW5kIHlldCB3ZSBkb24ndCB3YW50IHRvIGRvIGFueSBwb2ludGVycywgYmVjYXVzZSB0aGF0IGlzIHRvbyBtdWNoCisgKiBvZiBhIHBlcmZvcm1hbmNlIGltcGFjdC4gVGh1cyB3ZSBoYXZlIGEgZmV3IHJhdGhlciB1Z2x5IG1hY3JvcyBoZXJlLAorICogYW5kIGhpZGUgYWxsIHRoZSB1Z2xpbmVzcyBmcm9tIHRoZSB1c2VyLgorICoKKyAqIFRoZSAiX194eHgiIHZlcnNpb25zIG9mIHRoZSB1c2VyIGFjY2VzcyBmdW5jdGlvbnMgYXJlIHZlcnNpb25zIHRoYXQKKyAqIGRvIG5vdCB2ZXJpZnkgdGhlIGFkZHJlc3Mgc3BhY2UsIHRoYXQgbXVzdCBoYXZlIGJlZW4gZG9uZSBwcmV2aW91c2x5CisgKiB3aXRoIGEgc2VwYXJhdGUgImFjY2Vzc19vaygpIiBjYWxsICh0aGlzIGlzIHVzZWQgd2hlbiB3ZSBkbyBtdWx0aXBsZQorICogYWNjZXNzZXMgdG8gdGhlIHNhbWUgYXJlYSBvZiB1c2VyIG1lbW9yeSkuCisgKi8KKworZXh0ZXJuIGludCBfX2dldF91c2VyXzEodm9pZCk7CitleHRlcm4gaW50IF9fZ2V0X3VzZXJfMih2b2lkKTsKK2V4dGVybiBpbnQgX19nZXRfdXNlcl80KHZvaWQpOworZXh0ZXJuIGludCBfX2dldF91c2VyXzgodm9pZCk7CitleHRlcm4gaW50IF9fZ2V0X3VzZXJfYmFkKHZvaWQpOworCisjZGVmaW5lIF9fZ2V0X3VzZXJfeChzaXplLCByZXQsIHgsIHB0cikJCSAgICAgIFwKKwlhc20gdm9sYXRpbGUoImNhbGwgX19nZXRfdXNlcl8iICNzaXplCSAgICAgIFwKKwkJICAgICA6ICI9YSIgKHJldCksIj1kIiAoeCkJICAgICAgXAorCQkgICAgIDogIjAiIChwdHIpKQkJICAgICAgXAorCisvKiBDYXJlZnVsOiB3ZSBoYXZlIHRvIGNhc3QgdGhlIHJlc3VsdCB0byB0aGUgdHlwZSBvZiB0aGUgcG9pbnRlcgorICogZm9yIHNpZ24gcmVhc29ucyAqLworCisvKioKKyAqIGdldF91c2VyOiAtIEdldCBhIHNpbXBsZSB2YXJpYWJsZSBmcm9tIHVzZXIgc3BhY2UuCisgKiBAeDogICBWYXJpYWJsZSB0byBzdG9yZSByZXN1bHQuCisgKiBAcHRyOiBTb3VyY2UgYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KKyAqCisgKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgorICoKKyAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YXJpYWJsZSBmcm9tIHVzZXIgc3BhY2UgdG8ga2VybmVsCisgKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKKyAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KKyAqCisgKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgdGhlIHJlc3VsdCBvZgorICogZGVyZWZlcmVuY2luZyBAcHRyIG11c3QgYmUgYXNzaWduYWJsZSB0byBAeCB3aXRob3V0IGEgY2FzdC4KKyAqCisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KKyAqIE9uIGVycm9yLCB0aGUgdmFyaWFibGUgQHggaXMgc2V0IHRvIHplcm8uCisgKi8KKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIF9fZ2V0X3VzZXJfOChfX3JldF9ndSwgX192YWxfZ3UsIHB0cikJCQkJXAorCQlfX2dldF91c2VyX3goWCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpCisjZWxzZQorI2RlZmluZSBfX2dldF91c2VyXzgoX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpCQkJCVwKKwkJX19nZXRfdXNlcl94KDgsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKQorI2VuZGlmCisKKyNkZWZpbmUgZ2V0X3VzZXIoeCwgcHRyKQkJCQkJCVwKKyh7CQkJCQkJCQkJXAorCWludCBfX3JldF9ndTsJCQkJCQkJXAorCXVuc2lnbmVkIGxvbmcgX192YWxfZ3U7CQkJCQkJXAorCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAorCXN3aXRjaCAoc2l6ZW9mKCoocHRyKSkpIHsJCQkJCVwKKwljYXNlIDE6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfeCgxLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSAyOgkJCQkJCQkJXAorCQlfX2dldF91c2VyX3goMiwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgNDoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl94KDQsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDg6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfOChfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQkJXAorCQlicmVhazsJCQkJCQkJXAorCWRlZmF1bHQ6CQkJCQkJCVwKKwkJX19nZXRfdXNlcl94KFgsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKKwkJYnJlYWs7CQkJCQkJCVwKKwl9CQkJCQkJCQlcCisJKHgpID0gKF9fdHlwZW9mX18oKihwdHIpKSlfX3ZhbF9ndTsJCQkJXAorCV9fcmV0X2d1OwkJCQkJCQlcCit9KQorCisjZGVmaW5lIF9fcHV0X3VzZXJfeChzaXplLCB4LCBwdHIsIF9fcmV0X3B1KQkJCVwKKwlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl8iICNzaXplIDogIj1hIiAoX19yZXRfcHUpCVwKKwkJICAgICA6IjAiICgodHlwZW9mKCoocHRyKSkpKHgpKSwgImMiIChwdHIpIDogImVieCIpCisKKworCisjaWZkZWYgQ09ORklHX1g4Nl8zMgorI2RlZmluZSBfX3B1dF91c2VyX3U2NCh4LCBhZGRyLCBlcnIpCQkJCQlcCisJYXNtIHZvbGF0aWxlKCIxOgltb3ZsICUlZWF4LDAoJTIpXG4iCQkJXAorCQkgICAgICIyOgltb3ZsICUlZWR4LDQoJTIpXG4iCQkJXAorCQkgICAgICIzOlxuIgkJCQkJCVwKKwkJICAgICAiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcCisJCSAgICAgIjQ6CW1vdmwgJTMsJTBcbiIJCQkJXAorCQkgICAgICIJam1wIDNiXG4iCQkJCQlcCisJCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAorCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgNGIpCQkJCVwKKwkJICAgICBfQVNNX0VYVEFCTEUoMmIsIDRiKQkJCQlcCisJCSAgICAgOiAiPXIiIChlcnIpCQkJCQlcCisJCSAgICAgOiAiQSIgKHgpLCAiciIgKGFkZHIpLCAiaSIgKC1FRkFVTFQpLCAiMCIgKGVycikpCisKKyNkZWZpbmUgX19wdXRfdXNlcl94OCh4LCBwdHIsIF9fcmV0X3B1KQkJCQlcCisJYXNtIHZvbGF0aWxlKCJjYWxsIF9fcHV0X3VzZXJfOCIgOiAiPWEiIChfX3JldF9wdSkJXAorCQkgICAgIDogIkEiICgodHlwZW9mKCoocHRyKSkpKHgpKSwgImMiIChwdHIpIDogImVieCIpCisjZWxzZQorI2RlZmluZSBfX3B1dF91c2VyX3U2NCh4LCBwdHIsIHJldHZhbCkgXAorCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAicSIsICIiLCAiWnIiLCAtRUZBVUxUKQorI2RlZmluZSBfX3B1dF91c2VyX3g4KHgsIHB0ciwgX19yZXRfcHUpIF9fcHV0X3VzZXJfeCg4LCB4LCBwdHIsIF9fcmV0X3B1KQorI2VuZGlmCisKK2V4dGVybiB2b2lkIF9fcHV0X3VzZXJfYmFkKHZvaWQpOworCisvKgorICogU3RyYW5nZSBtYWdpYyBjYWxsaW5nIGNvbnZlbnRpb246IHBvaW50ZXIgaW4gJWVjeCwKKyAqIHZhbHVlIGluICVlYXgoOiVlZHgpLCByZXR1cm4gdmFsdWUgaW4gJWVheC4gY2xvYmJlcnMgJXJieAorICovCitleHRlcm4gdm9pZCBfX3B1dF91c2VyXzEodm9pZCk7CitleHRlcm4gdm9pZCBfX3B1dF91c2VyXzIodm9pZCk7CitleHRlcm4gdm9pZCBfX3B1dF91c2VyXzQodm9pZCk7CitleHRlcm4gdm9pZCBfX3B1dF91c2VyXzgodm9pZCk7CisKKyNpZmRlZiBDT05GSUdfWDg2X1dQX1dPUktTX09LCisKKy8qKgorICogcHV0X3VzZXI6IC0gV3JpdGUgYSBzaW1wbGUgdmFsdWUgaW50byB1c2VyIHNwYWNlLgorICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgorICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KKyAqCisgKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgorICoKKyAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCisgKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKKyAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KKyAqCisgKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCisgKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KKyAqCisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KKyAqLworI2RlZmluZSBwdXRfdXNlcih4LCBwdHIpCQkJCQlcCisoewkJCQkJCQkJXAorCWludCBfX3JldF9wdTsJCQkJCQlcCisJX190eXBlb2ZfXygqKHB0cikpIF9fcHVfdmFsOwkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCVwKKwlfX3B1X3ZhbCA9IHg7CQkJCQkJXAorCXN3aXRjaCAoc2l6ZW9mKCoocHRyKSkpIHsJCQkJXAorCWNhc2UgMToJCQkJCQkJXAorCQlfX3B1dF91c2VyX3goMSwgX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwlcCisJCWJyZWFrOwkJCQkJCVwKKwljYXNlIDI6CQkJCQkJCVwKKwkJX19wdXRfdXNlcl94KDIsIF9fcHVfdmFsLCBwdHIsIF9fcmV0X3B1KTsJXAorCQlicmVhazsJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQlcCisJCV9fcHV0X3VzZXJfeCg0LCBfX3B1X3ZhbCwgcHRyLCBfX3JldF9wdSk7CVwKKwkJYnJlYWs7CQkJCQkJXAorCWNhc2UgODoJCQkJCQkJXAorCQlfX3B1dF91c2VyX3g4KF9fcHVfdmFsLCBwdHIsIF9fcmV0X3B1KTsJCVwKKwkJYnJlYWs7CQkJCQkJXAorCWRlZmF1bHQ6CQkJCQkJXAorCQlfX3B1dF91c2VyX3goWCwgX19wdV92YWwsIHB0ciwgX19yZXRfcHUpOwlcCisJCWJyZWFrOwkJCQkJCVwKKwl9CQkJCQkJCVwKKwlfX3JldF9wdTsJCQkJCQlcCit9KQorCisjZGVmaW5lIF9fcHV0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCwgZXJycmV0KQkJCVwKK2RvIHsJCQkJCQkJCQlcCisJcmV0dmFsID0gMDsJCQkJCQkJXAorCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAorCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCisJY2FzZSAxOgkJCQkJCQkJXAorCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICJpcSIsIGVycnJldCk7CVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDI6CQkJCQkJCQlcCisJCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgImlyIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgNDoJCQkJCQkJCVwKKwkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgImsiLCAgImlyIiwgZXJycmV0KTtcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA4OgkJCQkJCQkJXAorCQlfX3B1dF91c2VyX3U2NCgoX190eXBlb2ZfXygqcHRyKSkoeCksIHB0ciwgcmV0dmFsKTsJXAorCQlicmVhazsJCQkJCQkJXAorCWRlZmF1bHQ6CQkJCQkJCVwKKwkJX19wdXRfdXNlcl9iYWQoKTsJCQkJCVwKKwl9CQkJCQkJCQlcCit9IHdoaWxlICgwKQorCisjZWxzZQorCisjZGVmaW5lIF9fcHV0X3VzZXJfc2l6ZSh4LCBwdHIsIHNpemUsIHJldHZhbCwgZXJycmV0KQkJCVwKK2RvIHsJCQkJCQkJCQlcCisJX190eXBlb2ZfXygqKHB0cikpX19wdXNfdG1wID0geDsJCQkJXAorCXJldHZhbCA9IDA7CQkJCQkJCVwKKwkJCQkJCQkJCVwKKwlpZiAodW5saWtlbHkoX19jb3B5X3RvX3VzZXJfbGwocHRyLCAmX19wdXNfdG1wLCBzaXplKSAhPSAwKSkJXAorCQlyZXR2YWwgPSBlcnJyZXQ7CQkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCVwKKyh7CQkJCQkJCQlcCisJaW50IF9fcmV0X3B1OwkJCQkJCVwKKwlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCVwKKwlfX3JldF9wdSA9IDA7CQkJCQkJXAorCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsCQlcCisJCQkJICAgICAgIHNpemVvZigqKHB0cikpKSAhPSAwKSkJXAorCQlfX3JldF9wdSA9IC1FRkFVTFQ7CQkJCVwKKwlfX3JldF9wdTsJCQkJCQlcCit9KQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfWDg2XzMyCisjZGVmaW5lIF9fZ2V0X3VzZXJfYXNtX3U2NCh4LCBwdHIsIHJldHZhbCwgZXJycmV0KQkoeCkgPSBfX2dldF91c2VyX2JhZCgpCisjZWxzZQorI2RlZmluZSBfX2dldF91c2VyX2FzbV91NjQoeCwgcHRyLCByZXR2YWwsIGVycnJldCkgXAorCSBfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInEiLCAiIiwgIj1yIiwgZXJycmV0KQorI2VuZGlmCisKKyNkZWZpbmUgX19nZXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAorZG8gewkJCQkJCQkJCVwKKwlyZXR2YWwgPSAwOwkJCQkJCQlcCisJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCisJc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKKwljYXNlIDE6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgIj1xIiwgZXJycmV0KTsJXAorCQlicmVhazsJCQkJCQkJXAorCWNhc2UgMjoJCQkJCQkJCVwKKwkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiPXIiLCBlcnJyZXQpOwlcCisJCWJyZWFrOwkJCQkJCQlcCisJY2FzZSA0OgkJCQkJCQkJXAorCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiayIsICI9ciIsIGVycnJldCk7CVwKKwkJYnJlYWs7CQkJCQkJCVwKKwljYXNlIDg6CQkJCQkJCQlcCisJCV9fZ2V0X3VzZXJfYXNtX3U2NCh4LCBwdHIsIHJldHZhbCwgZXJycmV0KTsJCVwKKwkJYnJlYWs7CQkJCQkJCVwKKwlkZWZhdWx0OgkJCQkJCQlcCisJCSh4KSA9IF9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCisJfQkJCQkJCQkJXAorfSB3aGlsZSAoMCkKKworI2RlZmluZSBfX2dldF91c2VyX2FzbSh4LCBhZGRyLCBlcnIsIGl0eXBlLCBydHlwZSwgbHR5cGUsIGVycnJldCkJXAorCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlMiwlInJ0eXBlIjFcbiIJCVwKKwkJICAgICAiMjpcbiIJCQkJCQlcCisJCSAgICAgIi5zZWN0aW9uIC5maXh1cCxcImF4XCJcbiIJCQkJXAorCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAorCQkgICAgICIJeG9yIml0eXBlIiAlInJ0eXBlIjEsJSJydHlwZSIxXG4iCQlcCisJCSAgICAgIglqbXAgMmJcbiIJCQkJCVwKKwkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCisJCSAgICAgX0FTTV9FWFRBQkxFKDFiLCAzYikJCQkJXAorCQkgICAgIDogIj1yIiAoZXJyKSwgbHR5cGUoeCkJCQkJXAorCQkgICAgIDogIm0iIChfX20oYWRkcikpLCAiaSIgKGVycnJldCksICIwIiAoZXJyKSkKKworI2RlZmluZSBfX3B1dF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCVwKKyh7CQkJCQkJCQlcCisJbG9uZyBfX3B1X2VycjsJCQkJCQlcCisJX19wdXRfdXNlcl9zaXplKCh4KSwgKHB0ciksIChzaXplKSwgX19wdV9lcnIsIC1FRkFVTFQpOwlcCisJX19wdV9lcnI7CQkJCQkJXAorfSkKKworI2RlZmluZSBfX2dldF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJCQlcCisoewkJCQkJCQkJCVwKKwlsb25nIF9fZ3VfZXJyOwkJCQkJCQlcCisJdW5zaWduZWQgbG9uZyBfX2d1X3ZhbDsJCQkJCQlcCisJX19nZXRfdXNlcl9zaXplKF9fZ3VfdmFsLCAocHRyKSwgKHNpemUpLCBfX2d1X2VyciwgLUVGQVVMVCk7CVwKKwkoeCkgPSAoX19mb3JjZSBfX3R5cGVvZl9fKCoocHRyKSkpX19ndV92YWw7CQkJXAorCV9fZ3VfZXJyOwkJCQkJCQlcCit9KQorCisvKiBGSVhNRTogdGhpcyBoYWNrIGlzIGRlZmluaXRlbHkgd3JvbmcgLUFLICovCitzdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25lZCBsb25nIGJ1ZlsxMDBdOyB9OworI2RlZmluZSBfX20oeCkgKCooc3RydWN0IF9fbGFyZ2Vfc3RydWN0IF9fdXNlciAqKSh4KSkKKworLyoKKyAqIFRlbGwgZ2NjIHdlIHJlYWQgZnJvbSBtZW1vcnkgaW5zdGVhZCBvZiB3cml0aW5nOiB0aGlzIGlzIGJlY2F1c2UKKyAqIHdlIGRvIG5vdCB3cml0ZSB0byBhbnkgbWVtb3J5IGdjYyBrbm93cyBhYm91dCwgc28gdGhlcmUgYXJlIG5vCisgKiBhbGlhc2luZyBpc3N1ZXMuCisgKi8KKyNkZWZpbmUgX19wdXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJyZXQpCVwKKwlhc20gdm9sYXRpbGUoIjE6CW1vdiJpdHlwZSIgJSJydHlwZSIxLCUyXG4iCQlcCisJCSAgICAgIjI6XG4iCQkJCQkJXAorCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKKwkJICAgICAiMzoJbW92ICUzLCUwXG4iCQkJCVwKKwkJICAgICAiCWptcCAyYlxuIgkJCQkJXAorCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKKwkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCisJCSAgICAgOiAiPXIiKGVycikJCQkJCVwKKwkJICAgICA6IGx0eXBlKHgpLCAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQorLyoqCisgKiBfX2dldF91c2VyOiAtIEdldCBhIHNpbXBsZSB2YXJpYWJsZSBmcm9tIHVzZXIgc3BhY2UsIHdpdGggbGVzcyBjaGVja2luZy4KKyAqIEB4OiAgIFZhcmlhYmxlIHRvIHN0b3JlIHJlc3VsdC4KKyAqIEBwdHI6IFNvdXJjZSBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgorICoKKyAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCisgKgorICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSB0byBrZXJuZWwKKyAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgorICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgorICoKKyAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCB0aGUgcmVzdWx0IG9mCisgKiBkZXJlZmVyZW5jaW5nIEBwdHIgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIEB4IHdpdGhvdXQgYSBjYXN0LgorICoKKyAqIENhbGxlciBtdXN0IGNoZWNrIHRoZSBwb2ludGVyIHdpdGggYWNjZXNzX29rKCkgYmVmb3JlIGNhbGxpbmcgdGhpcworICogZnVuY3Rpb24uCisgKgorICogUmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3MsIG9yIC1FRkFVTFQgb24gZXJyb3IuCisgKiBPbiBlcnJvciwgdGhlIHZhcmlhYmxlIEB4IGlzIHNldCB0byB6ZXJvLgorICovCisKKyNkZWZpbmUgX19nZXRfdXNlcih4LCBwdHIpCQkJCQkJXAorCV9fZ2V0X3VzZXJfbm9jaGVjaygoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKKy8qKgorICogX19wdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UsIHdpdGggbGVzcyBjaGVja2luZy4KKyAqIEB4OiAgIFZhbHVlIHRvIGNvcHkgdG8gdXNlciBzcGFjZS4KKyAqIEBwdHI6IERlc3RpbmF0aW9uIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCisgKgorICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KKyAqCisgKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFsdWUgZnJvbSBrZXJuZWwgc3BhY2UgdG8gdXNlcgorICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCisgKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCisgKgorICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIEB4IG11c3QgYmUgYXNzaWduYWJsZQorICogdG8gdGhlIHJlc3VsdCBvZiBkZXJlZmVyZW5jaW5nIEBwdHIuCisgKgorICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCisgKiBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KKyAqLworCisjZGVmaW5lIF9fcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKKwlfX3B1dF91c2VyX25vY2hlY2soKF9fdHlwZW9mX18oKihwdHIpKSkoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKKworI2RlZmluZSBfX2dldF91c2VyX3VuYWxpZ25lZCBfX2dldF91c2VyCisjZGVmaW5lIF9fcHV0X3VzZXJfdW5hbGlnbmVkIF9fcHV0X3VzZXIKKworLyoKKyAqIG1vdnNsIGNhbiBiZSBzbG93IHdoZW4gc291cmNlIGFuZCBkZXN0IGFyZSBub3QgYm90aCA4LWJ5dGUgYWxpZ25lZAorICovCisjaWZkZWYgQ09ORklHX1g4Nl9JTlRFTF9VU0VSQ09QWQorZXh0ZXJuIHN0cnVjdCBtb3ZzbF9tYXNrIHsKKwlpbnQgbWFzazsKK30gX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcCBtb3ZzbF9tYXNrOworI2VuZGlmCisKKyNkZWZpbmUgQVJDSF9IQVNfTk9DQUNIRV9VQUNDRVNTIDEKKwogI2lmZGVmIENPTkZJR19YODZfMzIKICMgaW5jbHVkZSAidWFjY2Vzc18zMi5oIgogI2Vsc2UKKyMgZGVmaW5lIEFSQ0hfSEFTX1NFQVJDSF9FWFRBQkxFCiAjIGluY2x1ZGUgInVhY2Nlc3NfNjQuaCIKICNlbmRpZgorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzMyLmggYi9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc18zMi5oCmluZGV4IDhlNzU5NWMuLjZmZGVmMzkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfMzIuaApAQCAtMTEsNDI2ICsxMSw2IEBACiAjaW5jbHVkZSA8YXNtL2FzbS5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAKLSNkZWZpbmUgVkVSSUZZX1JFQUQgMAotI2RlZmluZSBWRVJJRllfV1JJVEUgMQotCi0vKgotICogVGhlIGZzIHZhbHVlIGRldGVybWluZXMgd2hldGhlciBhcmd1bWVudCB2YWxpZGl0eSBjaGVja2luZyBzaG91bGQgYmUKLSAqIHBlcmZvcm1lZCBvciBub3QuICBJZiBnZXRfZnMoKSA9PSBVU0VSX0RTLCBjaGVja2luZyBpcyBwZXJmb3JtZWQsIHdpdGgKLSAqIGdldF9mcygpID09IEtFUk5FTF9EUywgY2hlY2tpbmcgaXMgYnlwYXNzZWQuCi0gKgotICogRm9yIGhpc3RvcmljYWwgcmVhc29ucywgdGhlc2UgbWFjcm9zIGFyZSBncm9zc2x5IG1pc25hbWVkLgotICovCi0KLSNkZWZpbmUgTUFLRV9NTV9TRUcocykJKChtbV9zZWdtZW50X3QpIHsgKHMpIH0pCi0KLQotI2RlZmluZSBLRVJORUxfRFMJTUFLRV9NTV9TRUcoMHhGRkZGRkZGRlVMKQotI2RlZmluZSBVU0VSX0RTCQlNQUtFX01NX1NFRyhQQUdFX09GRlNFVCkKLQotI2RlZmluZSBnZXRfZHMoKQkoS0VSTkVMX0RTKQotI2RlZmluZSBnZXRfZnMoKQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0KQotI2RlZmluZSBzZXRfZnMoeCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdCA9ICh4KSkKLQotI2RlZmluZSBzZWdtZW50X2VxKGEsIGIpCSgoYSkuc2VnID09IChiKS5zZWcpCi0KLS8qCi0gKiBtb3ZzbCBjYW4gYmUgc2xvdyB3aGVuIHNvdXJjZSBhbmQgZGVzdCBhcmUgbm90IGJvdGggOC1ieXRlIGFsaWduZWQKLSAqLwotI2lmZGVmIENPTkZJR19YODZfSU5URUxfVVNFUkNPUFkKLWV4dGVybiBzdHJ1Y3QgbW92c2xfbWFzayB7Ci0JaW50IG1hc2s7Ci19IF9fX19jYWNoZWxpbmVfYWxpZ25lZF9pbl9zbXAgbW92c2xfbWFzazsKLSNlbmRpZgotCi0jZGVmaW5lIF9fYWRkcl9vayhhZGRyKQkJCQkJXAotCSgodW5zaWduZWQgbG9uZyBfX2ZvcmNlKShhZGRyKSA8CQlcCi0JIChjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQuc2VnKSkKLQotLyoKLSAqIFRlc3Qgd2hldGhlciBhIGJsb2NrIG9mIG1lbW9yeSBpcyBhIHZhbGlkIHVzZXIgc3BhY2UgYWRkcmVzcy4KLSAqIFJldHVybnMgMCBpZiB0aGUgcmFuZ2UgaXMgdmFsaWQsIG5vbnplcm8gb3RoZXJ3aXNlLgotICoKLSAqIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgZm9sbG93aW5nIHRlc3Q6Ci0gKiAodTMzKWFkZHIgKyAodTMzKXNpemUgPj0gKHUzMyljdXJyZW50LT5hZGRyX2xpbWl0LnNlZwotICoKLSAqIFRoaXMgbmVlZHMgMzMtYml0IGFyaXRobWV0aWMuIFdlIGhhdmUgYSBjYXJyeS4uLgotICovCi0jZGVmaW5lIF9fcmFuZ2Vfb2soYWRkciwgc2l6ZSkJCQkJCQlcCi0oewkJCQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIGZsYWcsIHJva3N1bTsJCQkJCVwKLQlfX2Noa191c2VyX3B0cihhZGRyKTsJCQkJCQlcCi0JYXNtKCJhZGRsICUzLCUxIDsgc2JibCAlMCwlMDsgY21wbCAlMSwlNDsgc2JibCAkMCwlMCIJCVwKLQkgICAgOiI9JnIiIChmbGFnKSwgIj1yIiAocm9rc3VtKQkJCQlcCi0JICAgIDoiMSIgKGFkZHIpLCAiZyIgKChpbnQpKHNpemUpKSwJCQkJXAotCSAgICAicm0iIChjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQuc2VnKSk7CQlcCi0JZmxhZzsJCQkJCQkJCVwKLX0pCi0KLS8qKgotICogYWNjZXNzX29rOiAtIENoZWNrcyBpZiBhIHVzZXIgc3BhY2UgcG9pbnRlciBpcyB2YWxpZAotICogQHR5cGU6IFR5cGUgb2YgYWNjZXNzOiAlVkVSSUZZX1JFQUQgb3IgJVZFUklGWV9XUklURS4gIE5vdGUgdGhhdAotICogICAgICAgICVWRVJJRllfV1JJVEUgaXMgYSBzdXBlcnNldCBvZiAlVkVSSUZZX1JFQUQgLSBpZiBpdCBpcyBzYWZlCi0gKiAgICAgICAgdG8gd3JpdGUgdG8gYSBibG9jaywgaXQgaXMgYWx3YXlzIHNhZmUgdG8gcmVhZCBmcm9tIGl0LgotICogQGFkZHI6IFVzZXIgc3BhY2UgcG9pbnRlciB0byBzdGFydCBvZiBibG9jayB0byBjaGVjawotICogQHNpemU6IFNpemUgb2YgYmxvY2sgdG8gY2hlY2sKLSAqCi0gKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgotICoKLSAqIENoZWNrcyBpZiBhIHBvaW50ZXIgdG8gYSBibG9jayBvZiBtZW1vcnkgaW4gdXNlciBzcGFjZSBpcyB2YWxpZC4KLSAqCi0gKiBSZXR1cm5zIHRydWUgKG5vbnplcm8pIGlmIHRoZSBtZW1vcnkgYmxvY2sgbWF5IGJlIHZhbGlkLCBmYWxzZSAoemVybykKLSAqIGlmIGl0IGlzIGRlZmluaXRlbHkgaW52YWxpZC4KLSAqCi0gKiBOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiBhcmNoaXRlY3R1cmUsIHRoaXMgZnVuY3Rpb24gcHJvYmFibHkganVzdAotICogY2hlY2tzIHRoYXQgdGhlIHBvaW50ZXIgaXMgaW4gdGhlIHVzZXIgc3BhY2UgcmFuZ2UgLSBhZnRlciBjYWxsaW5nCi0gKiB0aGlzIGZ1bmN0aW9uLCBtZW1vcnkgYWNjZXNzIGZ1bmN0aW9ucyBtYXkgc3RpbGwgcmV0dXJuIC1FRkFVTFQuCi0gKi8KLSNkZWZpbmUgYWNjZXNzX29rKHR5cGUsIGFkZHIsIHNpemUpIChsaWtlbHkoX19yYW5nZV9vayhhZGRyLCBzaXplKSA9PSAwKSkKLQotLyoKLSAqIFRoZSBleGNlcHRpb24gdGFibGUgY29uc2lzdHMgb2YgcGFpcnMgb2YgYWRkcmVzc2VzOiB0aGUgZmlyc3QgaXMgdGhlCi0gKiBhZGRyZXNzIG9mIGFuIGluc3RydWN0aW9uIHRoYXQgaXMgYWxsb3dlZCB0byBmYXVsdCwgYW5kIHRoZSBzZWNvbmQgaXMKLSAqIHRoZSBhZGRyZXNzIGF0IHdoaWNoIHRoZSBwcm9ncmFtIHNob3VsZCBjb250aW51ZS4gIE5vIHJlZ2lzdGVycyBhcmUKLSAqIG1vZGlmaWVkLCBzbyBpdCBpcyBlbnRpcmVseSB1cCB0byB0aGUgY29udGludWF0aW9uIGNvZGUgdG8gZmlndXJlIG91dAotICogd2hhdCB0byBkby4KLSAqCi0gKiBBbGwgdGhlIHJvdXRpbmVzIGJlbG93IHVzZSBiaXRzIG9mIGZpeHVwIGNvZGUgdGhhdCBhcmUgb3V0IG9mIGxpbmUKLSAqIHdpdGggdGhlIG1haW4gaW5zdHJ1Y3Rpb24gcGF0aC4gIFRoaXMgbWVhbnMgd2hlbiBldmVyeXRoaW5nIGlzIHdlbGwsCi0gKiB3ZSBkb24ndCBldmVuIGhhdmUgdG8ganVtcCBvdmVyIHRoZW0uICBGdXJ0aGVyLCB0aGV5IGRvIG5vdCBpbnRydWRlCi0gKiBvbiBvdXIgY2FjaGUgb3IgdGxiIGVudHJpZXMuCi0gKi8KLQotc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSB7Ci0JdW5zaWduZWQgbG9uZyBpbnNuLCBmaXh1cDsKLX07Ci0KLWV4dGVybiBpbnQgZml4dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKLQotLyoKLSAqIFRoZXNlIGFyZSB0aGUgbWFpbiBzaW5nbGUtdmFsdWUgdHJhbnNmZXIgcm91dGluZXMuICBUaGV5IGF1dG9tYXRpY2FsbHkKLSAqIHVzZSB0aGUgcmlnaHQgc2l6ZSBpZiB3ZSBqdXN0IGhhdmUgdGhlIHJpZ2h0IHBvaW50ZXIgdHlwZS4KLSAqCi0gKiBUaGlzIGdldHMga2luZCBvZiB1Z2x5LiBXZSB3YW50IHRvIHJldHVybiBfdHdvXyB2YWx1ZXMgaW4gImdldF91c2VyKCkiCi0gKiBhbmQgeWV0IHdlIGRvbid0IHdhbnQgdG8gZG8gYW55IHBvaW50ZXJzLCBiZWNhdXNlIHRoYXQgaXMgdG9vIG11Y2gKLSAqIG9mIGEgcGVyZm9ybWFuY2UgaW1wYWN0LiBUaHVzIHdlIGhhdmUgYSBmZXcgcmF0aGVyIHVnbHkgbWFjcm9zIGhlcmUsCi0gKiBhbmQgaGlkZSBhbGwgdGhlIHVnbGluZXNzIGZyb20gdGhlIHVzZXIuCi0gKgotICogVGhlICJfX3h4eCIgdmVyc2lvbnMgb2YgdGhlIHVzZXIgYWNjZXNzIGZ1bmN0aW9ucyBhcmUgdmVyc2lvbnMgdGhhdAotICogZG8gbm90IHZlcmlmeSB0aGUgYWRkcmVzcyBzcGFjZSwgdGhhdCBtdXN0IGhhdmUgYmVlbiBkb25lIHByZXZpb3VzbHkKLSAqIHdpdGggYSBzZXBhcmF0ZSAiYWNjZXNzX29rKCkiIGNhbGwgKHRoaXMgaXMgdXNlZCB3aGVuIHdlIGRvIG11bHRpcGxlCi0gKiBhY2Nlc3NlcyB0byB0aGUgc2FtZSBhcmVhIG9mIHVzZXIgbWVtb3J5KS4KLSAqLwotCi1leHRlcm4gdm9pZCBfX2dldF91c2VyXzEodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2dldF91c2VyXzIodm9pZCk7Ci1leHRlcm4gdm9pZCBfX2dldF91c2VyXzQodm9pZCk7Ci0KLSNkZWZpbmUgX19nZXRfdXNlcl94KHNpemUsIHJldCwgeCwgcHRyKQkgICAgICBcCi0JYXNtIHZvbGF0aWxlKCJjYWxsIF9fZ2V0X3VzZXJfIiAjc2l6ZSBcCi0JCSAgICAgOiI9YSIgKHJldCksIj1kIiAoeCkgICAgIFwKLQkJICAgICA6IjAiIChwdHIpKQotCi0KLS8qIENhcmVmdWw6IHdlIGhhdmUgdG8gY2FzdCB0aGUgcmVzdWx0IHRvIHRoZSB0eXBlIG9mIHRoZSBwb2ludGVyCi0gKiBmb3Igc2lnbiByZWFzb25zICovCi0KLS8qKgotICogZ2V0X3VzZXI6IC0gR2V0IGEgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZS4KLSAqIEB4OiAgIFZhcmlhYmxlIHRvIHN0b3JlIHJlc3VsdC4KLSAqIEBwdHI6IFNvdXJjZSBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSB0byBrZXJuZWwKLSAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgotICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgotICoKLSAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCB0aGUgcmVzdWx0IG9mCi0gKiBkZXJlZmVyZW5jaW5nIEBwdHIgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIEB4IHdpdGhvdXQgYSBjYXN0LgotICoKLSAqIFJldHVybnMgemVybyBvbiBzdWNjZXNzLCBvciAtRUZBVUxUIG9uIGVycm9yLgotICogT24gZXJyb3IsIHRoZSB2YXJpYWJsZSBAeCBpcyBzZXQgdG8gemVyby4KLSAqLwotI2RlZmluZSBnZXRfdXNlcih4LCBwdHIpCQkJCQkJXAotKHsJCQkJCQkJCQlcCi0JaW50IF9fcmV0X2d1OwkJCQkJCQlcCi0JdW5zaWduZWQgbG9uZyBfX3ZhbF9ndTsJCQkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCi0Jc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDEsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCgyLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goNCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KFgsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQl9CQkJCQkJCQlcCi0JKHgpID0gKF9fdHlwZW9mX18oKihwdHIpKSlfX3ZhbF9ndTsJCQkJXAotCV9fcmV0X2d1OwkJCQkJCQlcCi19KQotCi1leHRlcm4gdm9pZCBfX3B1dF91c2VyX2JhZCh2b2lkKTsKLQotLyoKLSAqIFN0cmFuZ2UgbWFnaWMgY2FsbGluZyBjb252ZW50aW9uOiBwb2ludGVyIGluICVlY3gsCi0gKiB2YWx1ZSBpbiAlZWF4KDolZWR4KSwgcmV0dXJuIHZhbHVlIGluICVlYXgsIG5vIGNsb2JiZXJzLgotICovCi1leHRlcm4gdm9pZCBfX3B1dF91c2VyXzEodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3B1dF91c2VyXzIodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3B1dF91c2VyXzQodm9pZCk7Ci1leHRlcm4gdm9pZCBfX3B1dF91c2VyXzgodm9pZCk7Ci0KLSNkZWZpbmUgX19wdXRfdXNlcl8xKHgsIHB0cikJCQkJCVwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl8xIiA6ICI9YSIgKF9fcmV0X3B1KQlcCi0JCSAgICAgOiAiMCIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikpCi0KLSNkZWZpbmUgX19wdXRfdXNlcl8yKHgsIHB0cikJCQkJCVwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl8yIiA6ICI9YSIgKF9fcmV0X3B1KQlcCi0JCSAgICAgOiAiMCIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikpCi0KLSNkZWZpbmUgX19wdXRfdXNlcl80KHgsIHB0cikJCQkJCVwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl80IiA6ICI9YSIgKF9fcmV0X3B1KQlcCi0JCSAgICAgOiAiMCIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikpCi0KLSNkZWZpbmUgX19wdXRfdXNlcl84KHgsIHB0cikJCQkJCVwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl84IiA6ICI9YSIgKF9fcmV0X3B1KQlcCi0JCSAgICAgOiAiQSIgKCh0eXBlb2YoKihwdHIpKSkoeCkpLCAiYyIgKHB0cikpCi0KLSNkZWZpbmUgX19wdXRfdXNlcl9YKHgsIHB0cikJCQkJCVwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl9YIiA6ICI9YSIgKF9fcmV0X3B1KQlcCi0JCSAgICAgOiAiYyIgKHB0cikpCi0KLS8qKgotICogcHV0X3VzZXI6IC0gV3JpdGUgYSBzaW1wbGUgdmFsdWUgaW50byB1c2VyIHNwYWNlLgotICogQHg6ICAgVmFsdWUgdG8gY29weSB0byB1c2VyIHNwYWNlLgotICogQHB0cjogRGVzdGluYXRpb24gYWRkcmVzcywgaW4gdXNlciBzcGFjZS4KLSAqCi0gKiBDb250ZXh0OiBVc2VyIGNvbnRleHQgb25seS4gIFRoaXMgZnVuY3Rpb24gbWF5IHNsZWVwLgotICoKLSAqIFRoaXMgbWFjcm8gY29waWVzIGEgc2luZ2xlIHNpbXBsZSB2YWx1ZSBmcm9tIGtlcm5lbCBzcGFjZSB0byB1c2VyCi0gKiBzcGFjZS4gIEl0IHN1cHBvcnRzIHNpbXBsZSB0eXBlcyBsaWtlIGNoYXIgYW5kIGludCwgYnV0IG5vdCBsYXJnZXIKLSAqIGRhdGEgdHlwZXMgbGlrZSBzdHJ1Y3R1cmVzIG9yIGFycmF5cy4KLSAqCi0gKiBAcHRyIG11c3QgaGF2ZSBwb2ludGVyLXRvLXNpbXBsZS12YXJpYWJsZSB0eXBlLCBhbmQgQHggbXVzdCBiZSBhc3NpZ25hYmxlCi0gKiB0byB0aGUgcmVzdWx0IG9mIGRlcmVmZXJlbmNpbmcgQHB0ci4KLSAqCi0gKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KLSAqLwotI2lmZGVmIENPTkZJR19YODZfV1BfV09SS1NfT0sKLQotI2RlZmluZSBwdXRfdXNlcih4LCBwdHIpCQkJCQlcCi0oewkJCQkJCQkJXAotCWludCBfX3JldF9wdTsJCQkJCQlcCi0JX190eXBlb2ZfXygqKHB0cikpIF9fcHVfdmFsOwkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCVwKLQlfX3B1X3ZhbCA9IHg7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZW9mKCoocHRyKSkpIHsJCQkJXAotCWNhc2UgMToJCQkJCQkJXAotCQlfX3B1dF91c2VyXzEoX19wdV92YWwsIHB0cik7CQkJXAotCQlicmVhazsJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfMihfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCVwKLQkJX19wdXRfdXNlcl80KF9fcHVfdmFsLCBwdHIpOwkJCVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgODoJCQkJCQkJXAotCQlfX3B1dF91c2VyXzgoX19wdV92YWwsIHB0cik7CQkJXAotCQlicmVhazsJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQlcCi0JCV9fcHV0X3VzZXJfWChfX3B1X3ZhbCwgcHRyKTsJCQlcCi0JCWJyZWFrOwkJCQkJCVwKLQl9CQkJCQkJCVwKLQlfX3JldF9wdTsJCQkJCQlcCi19KQotCi0jZWxzZQotI2RlZmluZSBwdXRfdXNlcih4LCBwdHIpCQkJCQlcCi0oewkJCQkJCQkJXAotCWludCBfX3JldF9wdTsJCQkJCQlcCi0JX190eXBlb2ZfXygqKHB0cikpX19wdXNfdG1wID0geDsJCQlcCi0JX19yZXRfcHUgPSAwOwkJCQkJCVwKLQlpZiAodW5saWtlbHkoX19jb3B5X3RvX3VzZXJfbGwocHRyLCAmX19wdXNfdG1wLAkJXAotCQkJCSAgICAgICBzaXplb2YoKihwdHIpKSkgIT0gMCkpCVwKLQkJX19yZXRfcHUgPSAtRUZBVUxUOwkJCQlcCi0JX19yZXRfcHU7CQkJCQkJXAotfSkKLQotCi0jZW5kaWYKLQotLyoqCi0gKiBfX2dldF91c2VyOiAtIEdldCBhIHNpbXBsZSB2YXJpYWJsZSBmcm9tIHVzZXIgc3BhY2UsIHdpdGggbGVzcyBjaGVja2luZy4KLSAqIEB4OiAgIFZhcmlhYmxlIHRvIHN0b3JlIHJlc3VsdC4KLSAqIEBwdHI6IFNvdXJjZSBhZGRyZXNzLCBpbiB1c2VyIHNwYWNlLgotICoKLSAqIENvbnRleHQ6IFVzZXIgY29udGV4dCBvbmx5LiAgVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAuCi0gKgotICogVGhpcyBtYWNybyBjb3BpZXMgYSBzaW5nbGUgc2ltcGxlIHZhcmlhYmxlIGZyb20gdXNlciBzcGFjZSB0byBrZXJuZWwKLSAqIHNwYWNlLiAgSXQgc3VwcG9ydHMgc2ltcGxlIHR5cGVzIGxpa2UgY2hhciBhbmQgaW50LCBidXQgbm90IGxhcmdlcgotICogZGF0YSB0eXBlcyBsaWtlIHN0cnVjdHVyZXMgb3IgYXJyYXlzLgotICoKLSAqIEBwdHIgbXVzdCBoYXZlIHBvaW50ZXItdG8tc2ltcGxlLXZhcmlhYmxlIHR5cGUsIGFuZCB0aGUgcmVzdWx0IG9mCi0gKiBkZXJlZmVyZW5jaW5nIEBwdHIgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIEB4IHdpdGhvdXQgYSBjYXN0LgotICoKLSAqIENhbGxlciBtdXN0IGNoZWNrIHRoZSBwb2ludGVyIHdpdGggYWNjZXNzX29rKCkgYmVmb3JlIGNhbGxpbmcgdGhpcwotICogZnVuY3Rpb24uCi0gKgotICogUmV0dXJucyB6ZXJvIG9uIHN1Y2Nlc3MsIG9yIC1FRkFVTFQgb24gZXJyb3IuCi0gKiBPbiBlcnJvciwgdGhlIHZhcmlhYmxlIEB4IGlzIHNldCB0byB6ZXJvLgotICovCi0jZGVmaW5lIF9fZ2V0X3VzZXIoeCwgcHRyKQkJCQlcCi0JX19nZXRfdXNlcl9ub2NoZWNrKCh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQotCi0KLS8qKgotICogX19wdXRfdXNlcjogLSBXcml0ZSBhIHNpbXBsZSB2YWx1ZSBpbnRvIHVzZXIgc3BhY2UsIHdpdGggbGVzcyBjaGVja2luZy4KLSAqIEB4OiAgIFZhbHVlIHRvIGNvcHkgdG8gdXNlciBzcGFjZS4KLSAqIEBwdHI6IERlc3RpbmF0aW9uIGFkZHJlc3MsIGluIHVzZXIgc3BhY2UuCi0gKgotICogQ29udGV4dDogVXNlciBjb250ZXh0IG9ubHkuICBUaGlzIGZ1bmN0aW9uIG1heSBzbGVlcC4KLSAqCi0gKiBUaGlzIG1hY3JvIGNvcGllcyBhIHNpbmdsZSBzaW1wbGUgdmFsdWUgZnJvbSBrZXJuZWwgc3BhY2UgdG8gdXNlcgotICogc3BhY2UuICBJdCBzdXBwb3J0cyBzaW1wbGUgdHlwZXMgbGlrZSBjaGFyIGFuZCBpbnQsIGJ1dCBub3QgbGFyZ2VyCi0gKiBkYXRhIHR5cGVzIGxpa2Ugc3RydWN0dXJlcyBvciBhcnJheXMuCi0gKgotICogQHB0ciBtdXN0IGhhdmUgcG9pbnRlci10by1zaW1wbGUtdmFyaWFibGUgdHlwZSwgYW5kIEB4IG11c3QgYmUgYXNzaWduYWJsZQotICogdG8gdGhlIHJlc3VsdCBvZiBkZXJlZmVyZW5jaW5nIEBwdHIuCi0gKgotICogQ2FsbGVyIG11c3QgY2hlY2sgdGhlIHBvaW50ZXIgd2l0aCBhY2Nlc3Nfb2soKSBiZWZvcmUgY2FsbGluZyB0aGlzCi0gKiBmdW5jdGlvbi4KLSAqCi0gKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzcywgb3IgLUVGQVVMVCBvbiBlcnJvci4KLSAqLwotI2RlZmluZSBfX3B1dF91c2VyKHgsIHB0cikJCQkJCQlcCi0JX19wdXRfdXNlcl9ub2NoZWNrKChfX3R5cGVvZl9fKCoocHRyKSkpKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0KLSNkZWZpbmUgX19wdXRfdXNlcl9ub2NoZWNrKHgsIHB0ciwgc2l6ZSkJCQlcCi0oewkJCQkJCQkJXAotCWxvbmcgX19wdV9lcnI7CQkJCQkJXAotCV9fcHV0X3VzZXJfc2l6ZSgoeCksIChwdHIpLCAoc2l6ZSksIF9fcHVfZXJyLCAtRUZBVUxUKTsJXAotCV9fcHVfZXJyOwkJCQkJCVwKLX0pCi0KLQotI2RlZmluZSBfX3B1dF91c2VyX3U2NCh4LCBhZGRyLCBlcnIpCQkJCQlcCi0JYXNtIHZvbGF0aWxlKCIxOgltb3ZsICUlZWF4LDAoJTIpXG4iCQkJXAotCQkgICAgICIyOgltb3ZsICUlZWR4LDQoJTIpXG4iCQkJXAotCQkgICAgICIzOlxuIgkJCQkJCVwKLQkJICAgICAiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcCi0JCSAgICAgIjQ6CW1vdmwgJTMsJTBcbiIJCQkJXAotCQkgICAgICIJam1wIDNiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgNGIpCQkJCVwKLQkJICAgICBfQVNNX0VYVEFCTEUoMmIsIDRiKQkJCQlcCi0JCSAgICAgOiAiPXIiIChlcnIpCQkJCQlcCi0JCSAgICAgOiAiQSIgKHgpLCAiciIgKGFkZHIpLCAiaSIgKC1FRkFVTFQpLCAiMCIgKGVycikpCi0KLSNpZmRlZiBDT05GSUdfWDg2X1dQX1dPUktTX09LCi0KLSNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAotZG8gewkJCQkJCQkJCVwKLQlyZXR2YWwgPSAwOwkJCQkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCi0Jc3dpdGNoIChzaXplKSB7CQkJCQkJCVwKLQljYXNlIDE6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAiYiIsICJiIiwgImlxIiwgZXJycmV0KTsJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJ3IiwgInciLCAiaXIiLCBlcnJyZXQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImwiLCAiIiwgICJpciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDg6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfdTY0KChfX3R5cGVvZl9fKCpwdHIpKSh4KSwgcHRyLCByZXR2YWwpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQkJXAotCQlfX3B1dF91c2VyX2JhZCgpOwkJCQkJXAotCX0JCQkJCQkJCVwKLX0gd2hpbGUgKDApCi0KLSNlbHNlCi0KLSNkZWZpbmUgX19wdXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsLCBlcnJyZXQpCQkJXAotZG8gewkJCQkJCQkJCVwKLQlfX3R5cGVvZl9fKCoocHRyKSlfX3B1c190bXAgPSB4OwkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCQkJCQkJCQkJXAotCWlmICh1bmxpa2VseShfX2NvcHlfdG9fdXNlcl9sbChwdHIsICZfX3B1c190bXAsIHNpemUpICE9IDApKQlcCi0JCXJldHZhbCA9IGVycnJldDsJCQkJCVwKLX0gd2hpbGUgKDApCi0KLSNlbmRpZgotc3RydWN0IF9fbGFyZ2Vfc3RydWN0IHsgdW5zaWduZWQgbG9uZyBidWZbMTAwXTsgfTsKLSNkZWZpbmUgX19tKHgpICgqKHN0cnVjdCBfX2xhcmdlX3N0cnVjdCBfX3VzZXIgKikoeCkpCi0KLS8qCi0gKiBUZWxsIGdjYyB3ZSByZWFkIGZyb20gbWVtb3J5IGluc3RlYWQgb2Ygd3JpdGluZzogdGhpcyBpcyBiZWNhdXNlCi0gKiB3ZSBkbyBub3Qgd3JpdGUgdG8gYW55IG1lbW9yeSBnY2Mga25vd3MgYWJvdXQsIHNvIHRoZXJlIGFyZSBubwotICogYWxpYXNpbmcgaXNzdWVzLgotICovCi0jZGVmaW5lIF9fcHV0X3VzZXJfYXNtKHgsIGFkZHIsIGVyciwgaXR5cGUsIHJ0eXBlLCBsdHlwZSwgZXJycmV0KQlcCi0JYXNtIHZvbGF0aWxlKCIxOgltb3YiaXR5cGUiICUicnR5cGUiMSwlMlxuIgkJXAotCQkgICAgICIyOlxuIgkJCQkJCVwKLQkJICAgICAiLnNlY3Rpb24gLmZpeHVwLFwiYXhcIlxuIgkJCQlcCi0JCSAgICAgIjM6CW1vdmwgJTMsJTBcbiIJCQkJXAotCQkgICAgICIJam1wIDJiXG4iCQkJCQlcCi0JCSAgICAgIi5wcmV2aW91c1xuIgkJCQkJXAotCQkgICAgIF9BU01fRVhUQUJMRSgxYiwgM2IpCQkJCVwKLQkJICAgICA6ICI9ciIoZXJyKQkJCQkJXAotCQkgICAgIDogbHR5cGUgKHgpLCAibSIgKF9fbShhZGRyKSksICJpIiAoZXJycmV0KSwgIjAiIChlcnIpKQotCi0KLSNkZWZpbmUgX19nZXRfdXNlcl9ub2NoZWNrKHgsIHB0ciwgc2l6ZSkJCQkJXAotKHsJCQkJCQkJCQlcCi0JbG9uZyBfX2d1X2VycjsJCQkJCQkJXAotCXVuc2lnbmVkIGxvbmcgX19ndV92YWw7CQkJCQkJXAotCV9fZ2V0X3VzZXJfc2l6ZShfX2d1X3ZhbCwgKHB0ciksIChzaXplKSwgX19ndV9lcnIsIC1FRkFVTFQpOwlcCi0JKHgpID0gKF9fdHlwZW9mX18oKihwdHIpKSlfX2d1X3ZhbDsJCQkJXAotCV9fZ3VfZXJyOwkJCQkJCQlcCi19KQotCi1leHRlcm4gbG9uZyBfX2dldF91c2VyX2JhZCh2b2lkKTsKLQotI2RlZmluZSBfX2dldF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwsIGVycnJldCkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCXJldHZhbCA9IDA7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiPXEiLCBlcnJyZXQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICI9ciIsIGVycnJldCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICIiLCAiPXIiLCBlcnJyZXQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQkJXAotCQkoeCkgPSBfX2dldF91c2VyX2JhZCgpOwkJCQkJXAotCX0JCQkJCQkJCVwKLX0gd2hpbGUgKDApCi0KLSNkZWZpbmUgX19nZXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJyZXQpCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdiJpdHlwZSIgJTIsJSJydHlwZSIxXG4iCQlcCi0JCSAgICAgIjI6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsXCJheFwiXG4iCQkJCVwKLQkJICAgICAiMzoJbW92bCAlMywlMFxuIgkJCQlcCi0JCSAgICAgIgl4b3IiaXR5cGUiICUicnR5cGUiMSwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiCWptcCAyYlxuIgkJCQkJXAotCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKLQkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCi0JCSAgICAgOiAiPXIiIChlcnIpLCBsdHlwZSAoeCkJCQkJXAotCQkgICAgIDogIm0iIChfX20oYWRkcikpLCAiaSIgKGVycnJldCksICIwIiAoZXJyKSkKLQotCiB1bnNpZ25lZCBsb25nIF9fbXVzdF9jaGVjayBfX2NvcHlfdG9fdXNlcl9sbAogCQkodm9pZCBfX3VzZXIgKnRvLCBjb25zdCB2b2lkICpmcm9tLCB1bnNpZ25lZCBsb25nIG4pOwogdW5zaWduZWQgbG9uZyBfX211c3RfY2hlY2sgX19jb3B5X2Zyb21fdXNlcl9sbApAQCAtNTc2LDggKzE1Niw2IEBACiAJcmV0dXJuIF9fY29weV9mcm9tX3VzZXJfbGwodG8sIGZyb20sIG4pOwogfQogCi0jZGVmaW5lIEFSQ0hfSEFTX05PQ0FDSEVfVUFDQ0VTUwotCiBzdGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgX19jb3B5X2Zyb21fdXNlcl9ub2NhY2hlKHZvaWQgKnRvLAogCQkJCWNvbnN0IHZvaWQgX191c2VyICpmcm9tLCB1bnNpZ25lZCBsb25nIG4pCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc182NC5oIGIvaW5jbHVkZS9hc20teDg2L3VhY2Nlc3NfNjQuaAppbmRleCBiOGEyZjQzLi41MTVkNGRjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdWFjY2Vzc182NC5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzXzY0LmgKQEAgLTksMjY1ICs5LDYgQEAKICNpbmNsdWRlIDxsaW51eC9wcmVmZXRjaC5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAKLSNkZWZpbmUgVkVSSUZZX1JFQUQgMAotI2RlZmluZSBWRVJJRllfV1JJVEUgMQotCi0vKgotICogVGhlIGZzIHZhbHVlIGRldGVybWluZXMgd2hldGhlciBhcmd1bWVudCB2YWxpZGl0eSBjaGVja2luZyBzaG91bGQgYmUKLSAqIHBlcmZvcm1lZCBvciBub3QuICBJZiBnZXRfZnMoKSA9PSBVU0VSX0RTLCBjaGVja2luZyBpcyBwZXJmb3JtZWQsIHdpdGgKLSAqIGdldF9mcygpID09IEtFUk5FTF9EUywgY2hlY2tpbmcgaXMgYnlwYXNzZWQuCi0gKgotICogRm9yIGhpc3RvcmljYWwgcmVhc29ucywgdGhlc2UgbWFjcm9zIGFyZSBncm9zc2x5IG1pc25hbWVkLgotICovCi0KLSNkZWZpbmUgTUFLRV9NTV9TRUcocykJKChtbV9zZWdtZW50X3QpIHsgKHMpIH0pCi0KLSNkZWZpbmUgS0VSTkVMX0RTCU1BS0VfTU1fU0VHKDB4RkZGRkZGRkZGRkZGRkZGRlVMKQotI2RlZmluZSBVU0VSX0RTCQlNQUtFX01NX1NFRyhQQUdFX09GRlNFVCkKLQotI2RlZmluZSBnZXRfZHMoKQkoS0VSTkVMX0RTKQotI2RlZmluZSBnZXRfZnMoKQkoY3VycmVudF90aHJlYWRfaW5mbygpLT5hZGRyX2xpbWl0KQotI2RlZmluZSBzZXRfZnMoeCkJKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdCA9ICh4KSkKLQotI2RlZmluZSBzZWdtZW50X2VxKGEsIGIpCSgoYSkuc2VnID09IChiKS5zZWcpCi0KLSNkZWZpbmUgX19hZGRyX29rKGFkZHIpICghKCh1bnNpZ25lZCBsb25nKShhZGRyKSAmCQkJXAotCQkJICAgKGN1cnJlbnRfdGhyZWFkX2luZm8oKS0+YWRkcl9saW1pdC5zZWcpKSkKLQotLyoKLSAqIFVoaHVoLCB0aGlzIG5lZWRzIDY1LWJpdCBhcml0aG1ldGljLiBXZSBoYXZlIGEgY2FycnkuLgotICovCi0jZGVmaW5lIF9fcmFuZ2Vfbm90X29rKGFkZHIsIHNpemUpCQkJCQlcCi0oewkJCQkJCQkJCVwKLQl1bnNpZ25lZCBsb25nIGZsYWcsIHJva3N1bTsJCQkJCVwKLQlfX2Noa191c2VyX3B0cihhZGRyKTsJCQkJCQlcCi0JYXNtKCIjIHJhbmdlX29rXG5cciIJCQkJCQlcCi0JICAgICJhZGRxICUzLCUxIDsgc2JicSAlMCwlMCA7IGNtcHEgJTEsJTQgOyBzYmJxICQwLCUwIgkJXAotCSAgICA6ICI9JnIiIChmbGFnKSwgIj1yIiAocm9rc3VtKQkJCQlcCi0JICAgIDogIjEiIChhZGRyKSwgImciICgobG9uZykoc2l6ZSkpLAkJCQlcCi0JICAgICAgImciIChjdXJyZW50X3RocmVhZF9pbmZvKCktPmFkZHJfbGltaXQuc2VnKSk7CQlcCi0JZmxhZzsJCQkJCQkJCVwKLX0pCi0KLSNkZWZpbmUgYWNjZXNzX29rKHR5cGUsIGFkZHIsIHNpemUpIChfX3JhbmdlX25vdF9vayhhZGRyLCBzaXplKSA9PSAwKQotCi0vKgotICogVGhlIGV4Y2VwdGlvbiB0YWJsZSBjb25zaXN0cyBvZiBwYWlycyBvZiBhZGRyZXNzZXM6IHRoZSBmaXJzdCBpcyB0aGUKLSAqIGFkZHJlc3Mgb2YgYW4gaW5zdHJ1Y3Rpb24gdGhhdCBpcyBhbGxvd2VkIHRvIGZhdWx0LCBhbmQgdGhlIHNlY29uZCBpcwotICogdGhlIGFkZHJlc3MgYXQgd2hpY2ggdGhlIHByb2dyYW0gc2hvdWxkIGNvbnRpbnVlLiAgTm8gcmVnaXN0ZXJzIGFyZQotICogbW9kaWZpZWQsIHNvIGl0IGlzIGVudGlyZWx5IHVwIHRvIHRoZSBjb250aW51YXRpb24gY29kZSB0byBmaWd1cmUgb3V0Ci0gKiB3aGF0IHRvIGRvLgotICoKLSAqIEFsbCB0aGUgcm91dGluZXMgYmVsb3cgdXNlIGJpdHMgb2YgZml4dXAgY29kZSB0aGF0IGFyZSBvdXQgb2YgbGluZQotICogd2l0aCB0aGUgbWFpbiBpbnN0cnVjdGlvbiBwYXRoLiAgVGhpcyBtZWFucyB3aGVuIGV2ZXJ5dGhpbmcgaXMgd2VsbCwKLSAqIHdlIGRvbid0IGV2ZW4gaGF2ZSB0byBqdW1wIG92ZXIgdGhlbS4gIEZ1cnRoZXIsIHRoZXkgZG8gbm90IGludHJ1ZGUKLSAqIG9uIG91ciBjYWNoZSBvciB0bGIgZW50cmllcy4KLSAqLwotCi1zdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5IHsKLQl1bnNpZ25lZCBsb25nIGluc24sIGZpeHVwOwotfTsKLQotZXh0ZXJuIGludCBmaXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwotCi0jZGVmaW5lIEFSQ0hfSEFTX1NFQVJDSF9FWFRBQkxFCi0KLS8qCi0gKiBUaGVzZSBhcmUgdGhlIG1haW4gc2luZ2xlLXZhbHVlIHRyYW5zZmVyIHJvdXRpbmVzLiAgVGhleSBhdXRvbWF0aWNhbGx5Ci0gKiB1c2UgdGhlIHJpZ2h0IHNpemUgaWYgd2UganVzdCBoYXZlIHRoZSByaWdodCBwb2ludGVyIHR5cGUuCi0gKgotICogVGhpcyBnZXRzIGtpbmQgb2YgdWdseS4gV2Ugd2FudCB0byByZXR1cm4gX3R3b18gdmFsdWVzIGluICJnZXRfdXNlcigpIgotICogYW5kIHlldCB3ZSBkb24ndCB3YW50IHRvIGRvIGFueSBwb2ludGVycywgYmVjYXVzZSB0aGF0IGlzIHRvbyBtdWNoCi0gKiBvZiBhIHBlcmZvcm1hbmNlIGltcGFjdC4gVGh1cyB3ZSBoYXZlIGEgZmV3IHJhdGhlciB1Z2x5IG1hY3JvcyBoZXJlLAotICogYW5kIGhpZGUgYWxsIHRoZSB1Z2xpbmVzcyBmcm9tIHRoZSB1c2VyLgotICoKLSAqIFRoZSAiX194eHgiIHZlcnNpb25zIG9mIHRoZSB1c2VyIGFjY2VzcyBmdW5jdGlvbnMgYXJlIHZlcnNpb25zIHRoYXQKLSAqIGRvIG5vdCB2ZXJpZnkgdGhlIGFkZHJlc3Mgc3BhY2UsIHRoYXQgbXVzdCBoYXZlIGJlZW4gZG9uZSBwcmV2aW91c2x5Ci0gKiB3aXRoIGEgc2VwYXJhdGUgImFjY2Vzc19vaygpIiBjYWxsICh0aGlzIGlzIHVzZWQgd2hlbiB3ZSBkbyBtdWx0aXBsZQotICogYWNjZXNzZXMgdG8gdGhlIHNhbWUgYXJlYSBvZiB1c2VyIG1lbW9yeSkuCi0gKi8KLQotI2RlZmluZSBfX2dldF91c2VyX3goc2l6ZSwgcmV0LCB4LCBwdHIpCQkgICAgICBcCi0JYXNtIHZvbGF0aWxlKCJjYWxsIF9fZ2V0X3VzZXJfIiAjc2l6ZQkgICAgICBcCi0JCSAgICAgOiAiPWEiIChyZXQpLCI9ZCIgKHgpCSAgICAgIFwKLQkJICAgICA6ICJjIiAocHRyKQkJICAgICAgXAotCQkgICAgIDogInI4IikKLQotLyogQ2FyZWZ1bDogd2UgaGF2ZSB0byBjYXN0IHRoZSByZXN1bHQgdG8gdGhlIHR5cGUgb2YgdGhlIHBvaW50ZXIKLSAqIGZvciBzaWduIHJlYXNvbnMgKi8KLQotI2RlZmluZSBnZXRfdXNlcih4LCBwdHIpCQkJCQkJXAotKHsJCQkJCQkJCQlcCi0JdW5zaWduZWQgbG9uZyBfX3ZhbF9ndTsJCQkJCQlcCi0JaW50IF9fcmV0X2d1OwkJCQkJCQlcCi0JX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCi0Jc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDEsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfeCgyLCBfX3JldF9ndSwgX192YWxfZ3UsIHB0cik7CQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA0OgkJCQkJCQkJXAotCQlfX2dldF91c2VyX3goNCwgX19yZXRfZ3UsIF9fdmFsX2d1LCBwdHIpOwkJXAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgODoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl94KDgsIF9fcmV0X2d1LCBfX3ZhbF9ndSwgcHRyKTsJCVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYmFkKCk7CQkJCQlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JfQkJCQkJCQkJXAotCSh4KSA9IChfX2ZvcmNlIHR5cGVvZigqKHB0cikpKV9fdmFsX2d1OwkJCQlcCi0JX19yZXRfZ3U7CQkJCQkJCVwKLX0pCi0KLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfMih2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfNCh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfOCh2b2lkKTsKLWV4dGVybiB2b2lkIF9fcHV0X3VzZXJfYmFkKHZvaWQpOwotCi0jZGVmaW5lIF9fcHV0X3VzZXJfeChzaXplLCByZXQsIHgsIHB0cikJCQkJCVwKLQlhc20gdm9sYXRpbGUoImNhbGwgX19wdXRfdXNlcl8iICNzaXplCQkJCVwKLQkJICAgICA6Ij1hIiAocmV0KQkJCQkJXAotCQkgICAgIDoiYyIgKHB0ciksImQiICh4KQkJCQkJXAotCQkgICAgIDoicjgiKQotCi0jZGVmaW5lIHB1dF91c2VyKHgsIHB0cikJCQkJCQlcCi0JX19wdXRfdXNlcl9jaGVjaygoX190eXBlb2ZfXygqKHB0cikpKSh4KSwgKHB0ciksIHNpemVvZigqKHB0cikpKQotCi0jZGVmaW5lIF9fZ2V0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX2dldF91c2VyX25vY2hlY2soKHgpLCAocHRyKSwgc2l6ZW9mKCoocHRyKSkpCi0jZGVmaW5lIF9fcHV0X3VzZXIoeCwgcHRyKQkJCQkJCVwKLQlfX3B1dF91c2VyX25vY2hlY2soKF9fdHlwZW9mX18oKihwdHIpKSkoeCksIChwdHIpLCBzaXplb2YoKihwdHIpKSkKLQotI2RlZmluZSBfX2dldF91c2VyX3VuYWxpZ25lZCBfX2dldF91c2VyCi0jZGVmaW5lIF9fcHV0X3VzZXJfdW5hbGlnbmVkIF9fcHV0X3VzZXIKLQotI2RlZmluZSBfX3B1dF91c2VyX25vY2hlY2soeCwgcHRyLCBzaXplKQkJXAotKHsJCQkJCQkJXAotCWludCBfX3B1X2VycjsJCQkJCVwKLQlfX3B1dF91c2VyX3NpemUoKHgpLCAocHRyKSwgKHNpemUpLCBfX3B1X2Vycik7CVwKLQlfX3B1X2VycjsJCQkJCVwKLX0pCi0KLQotI2RlZmluZSBfX3B1dF91c2VyX2NoZWNrKHgsIHB0ciwgc2l6ZSkJCQkJXAotKHsJCQkJCQkJCVwKLQlpbnQgX19wdV9lcnI7CQkJCQkJXAotCXR5cGVvZigqKHB0cikpIF9fdXNlciAqX19wdV9hZGRyID0gKHB0cik7CQlcCi0Jc3dpdGNoIChzaXplKSB7CQkJCQkJXAotCWNhc2UgMToJCQkJCQkJXAotCQlfX3B1dF91c2VyX3goMSwgX19wdV9lcnIsIHgsIF9fcHVfYWRkcik7CVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgMjoJCQkJCQkJXAotCQlfX3B1dF91c2VyX3goMiwgX19wdV9lcnIsIHgsIF9fcHVfYWRkcik7CVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJXAotCQlfX3B1dF91c2VyX3goNCwgX19wdV9lcnIsIHgsIF9fcHVfYWRkcik7CVwKLQkJYnJlYWs7CQkJCQkJXAotCWNhc2UgODoJCQkJCQkJXAotCQlfX3B1dF91c2VyX3goOCwgX19wdV9lcnIsIHgsIF9fcHVfYWRkcik7CVwKLQkJYnJlYWs7CQkJCQkJXAotCWRlZmF1bHQ6CQkJCQkJXAotCQlfX3B1dF91c2VyX2JhZCgpOwkJCQlcCi0JfQkJCQkJCQlcCi0JX19wdV9lcnI7CQkJCQkJXAotfSkKLQotI2RlZmluZSBfX3B1dF91c2VyX3NpemUoeCwgcHRyLCBzaXplLCByZXR2YWwpCQkJCVwKLWRvIHsJCQkJCQkJCQlcCi0JcmV0dmFsID0gMDsJCQkJCQkJXAotCV9fY2hrX3VzZXJfcHRyKHB0cik7CQkJCQkJXAotCXN3aXRjaCAoc2l6ZSkgewkJCQkJCQlcCi0JY2FzZSAxOgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgImIiLCAiYiIsICJpcSIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDI6CQkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAidyIsICJ3IiwgImlyIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgNDoJCQkJCQkJCVwKLQkJX19wdXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJsIiwgImsiLCAiaXIiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSA4OgkJCQkJCQkJXAotCQlfX3B1dF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInEiLCAiIiwgIlpyIiwgLUVGQVVMVCk7CVwKLQkJYnJlYWs7CQkJCQkJCVwKLQlkZWZhdWx0OgkJCQkJCQlcCi0JCV9fcHV0X3VzZXJfYmFkKCk7CQkJCQlcCi0JfQkJCQkJCQkJXAotfSB3aGlsZSAoMCkKLQotLyogRklYTUU6IHRoaXMgaGFjayBpcyBkZWZpbml0ZWx5IHdyb25nIC1BSyAqLwotc3RydWN0IF9fbGFyZ2Vfc3RydWN0IHsgdW5zaWduZWQgbG9uZyBidWZbMTAwXTsgfTsKLSNkZWZpbmUgX19tKHgpICgqKHN0cnVjdCBfX2xhcmdlX3N0cnVjdCBfX3VzZXIgKikoeCkpCi0KLS8qCi0gKiBUZWxsIGdjYyB3ZSByZWFkIGZyb20gbWVtb3J5IGluc3RlYWQgb2Ygd3JpdGluZzogdGhpcyBpcyBiZWNhdXNlCi0gKiB3ZSBkbyBub3Qgd3JpdGUgdG8gYW55IG1lbW9yeSBnY2Mga25vd3MgYWJvdXQsIHNvIHRoZXJlIGFyZSBubwotICogYWxpYXNpbmcgaXNzdWVzLgotICovCi0jZGVmaW5lIF9fcHV0X3VzZXJfYXNtKHgsIGFkZHIsIGVyciwgaXR5cGUsIHJ0eXBlLCBsdHlwZSwgZXJybm8pCVwKLQlhc20gdm9sYXRpbGUoIjE6CW1vdiJpdHlwZSIgJSJydHlwZSIxLCUyXG4iCQlcCi0JCSAgICAgIjI6XG4iCQkJCQkJXAotCQkgICAgICIuc2VjdGlvbiAuZml4dXAsIFwiYXhcIlxuIgkJCVwKLQkJICAgICAiMzoJbW92ICUzLCUwXG4iCQkJCVwKLQkJICAgICAiCWptcCAyYlxuIgkJCQkJXAotCQkgICAgICIucHJldmlvdXNcbiIJCQkJCVwKLQkJICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQkJCQlcCi0JCSAgICAgOiAiPXIiKGVycikJCQkJCVwKLQkJICAgICA6IGx0eXBlICh4KSwgIm0iIChfX20oYWRkcikpLCAiaSIgKGVycm5vKSwgIjAiIChlcnIpKQotCi0KLSNkZWZpbmUgX19nZXRfdXNlcl9ub2NoZWNrKHgsIHB0ciwgc2l6ZSkJCQlcCi0oewkJCQkJCQkJXAotCWludCBfX2d1X2VycjsJCQkJCQlcCi0JdW5zaWduZWQgbG9uZyBfX2d1X3ZhbDsJCQkJCVwKLQlfX2dldF91c2VyX3NpemUoX19ndV92YWwsIChwdHIpLCAoc2l6ZSksIF9fZ3VfZXJyKTsJXAotCSh4KSA9IChfX2ZvcmNlIHR5cGVvZigqKHB0cikpKV9fZ3VfdmFsOwkJCVwKLQlfX2d1X2VycjsJCQkJCQlcCi19KQotCi1leHRlcm4gaW50IF9fZ2V0X3VzZXJfMSh2b2lkKTsKLWV4dGVybiBpbnQgX19nZXRfdXNlcl8yKHZvaWQpOwotZXh0ZXJuIGludCBfX2dldF91c2VyXzQodm9pZCk7Ci1leHRlcm4gaW50IF9fZ2V0X3VzZXJfOCh2b2lkKTsKLWV4dGVybiBpbnQgX19nZXRfdXNlcl9iYWQodm9pZCk7Ci0KLSNkZWZpbmUgX19nZXRfdXNlcl9zaXplKHgsIHB0ciwgc2l6ZSwgcmV0dmFsKQkJCQlcCi1kbyB7CQkJCQkJCQkJXAotCXJldHZhbCA9IDA7CQkJCQkJCVwKLQlfX2Noa191c2VyX3B0cihwdHIpOwkJCQkJCVwKLQlzd2l0Y2ggKHNpemUpIHsJCQkJCQkJXAotCWNhc2UgMToJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJiIiwgImIiLCAiPXEiLCAtRUZBVUxUKTtcCi0JCWJyZWFrOwkJCQkJCQlcCi0JY2FzZSAyOgkJCQkJCQkJXAotCQlfX2dldF91c2VyX2FzbSh4LCBwdHIsIHJldHZhbCwgInciLCAidyIsICI9ciIsIC1FRkFVTFQpO1wKLQkJYnJlYWs7CQkJCQkJCVwKLQljYXNlIDQ6CQkJCQkJCQlcCi0JCV9fZ2V0X3VzZXJfYXNtKHgsIHB0ciwgcmV0dmFsLCAibCIsICJrIiwgIj1yIiwgLUVGQVVMVCk7XAotCQlicmVhazsJCQkJCQkJXAotCWNhc2UgODoJCQkJCQkJCVwKLQkJX19nZXRfdXNlcl9hc20oeCwgcHRyLCByZXR2YWwsICJxIiwgIiIsICI9ciIsIC1FRkFVTFQpOwlcCi0JCWJyZWFrOwkJCQkJCQlcCi0JZGVmYXVsdDoJCQkJCQkJXAotCQkoeCkgPSBfX2dldF91c2VyX2JhZCgpOwkJCQkJXAotCX0JCQkJCQkJCVwKLX0gd2hpbGUgKDApCi0KLSNkZWZpbmUgX19nZXRfdXNlcl9hc20oeCwgYWRkciwgZXJyLCBpdHlwZSwgcnR5cGUsIGx0eXBlLCBlcnJubykJXAotCWFzbSB2b2xhdGlsZSgiMToJbW92Iml0eXBlIiAlMiwlInJ0eXBlIjFcbiIJCVwKLQkJICAgICAiMjpcbiIJCQkJCQlcCi0JCSAgICAgIi5zZWN0aW9uIC5maXh1cCwgXCJheFwiXG4iCQkJXAotCQkgICAgICIzOgltb3YgJTMsJTBcbiIJCQkJXAotCQkgICAgICIJeG9yIml0eXBlIiAlInJ0eXBlIjEsJSJydHlwZSIxXG4iCQlcCi0JCSAgICAgIglqbXAgMmJcbiIJCQkJCVwKLQkJICAgICAiLnByZXZpb3VzXG4iCQkJCQlcCi0JCSAgICAgX0FTTV9FWFRBQkxFKDFiLCAzYikJCQkJXAotCQkgICAgIDogIj1yIiAoZXJyKSwgbHR5cGUgKHgpCQkJCVwKLQkJICAgICA6ICJtIiAoX19tKGFkZHIpKSwgImkiKGVycm5vKSwgIjAiKGVycikpCi0KIC8qCiAgKiBDb3B5IFRvL0Zyb20gVXNlcnNwYWNlCiAgKi8KQEAgLTQzNyw3ICsxNzgsNiBAQAogCXJldHVybiBjb3B5X3VzZXJfZ2VuZXJpYygoX19mb3JjZSB2b2lkICopZHN0LCBzcmMsIHNpemUpOwogfQogCi0jZGVmaW5lIEFSQ0hfSEFTX05PQ0FDSEVfVUFDQ0VTUyAxCiBleHRlcm4gbG9uZyBfX2NvcHlfdXNlcl9ub2NhY2hlKHZvaWQgKmRzdCwgY29uc3Qgdm9pZCBfX3VzZXIgKnNyYywKIAkJCQl1bnNpZ25lZCBzaXplLCBpbnQgemVyb3Jlc3QpOwogCkBAIC00NTUsNCArMTk1LDcgQEAKIAlyZXR1cm4gX19jb3B5X3VzZXJfbm9jYWNoZShkc3QsIHNyYywgc2l6ZSwgMCk7CiB9CiAKK3Vuc2lnbmVkIGxvbmcKK2NvcHlfdXNlcl9oYW5kbGVfdGFpbChjaGFyICp0bywgY2hhciAqZnJvbSwgdW5zaWduZWQgbGVuLCB1bnNpZ25lZCB6ZXJvcmVzdCk7CisKICNlbmRpZiAvKiBfX1g4Nl82NF9VQUNDRVNTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91bmlzdGRfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni91bmlzdGRfNjQuaAppbmRleCBmZTI2ZTM2Li45YzFhNGEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdW5pc3RkXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3VuaXN0ZF82NC5oCkBAIC0yOTAsNyArMjkwLDcgQEAKICNkZWZpbmUgX19OUl9ydF9zaWdxdWV1ZWluZm8JCQkxMjkKIF9fU1lTQ0FMTChfX05SX3J0X3NpZ3F1ZXVlaW5mbywgc3lzX3J0X3NpZ3F1ZXVlaW5mbykKICNkZWZpbmUgX19OUl9ydF9zaWdzdXNwZW5kCQkJMTMwCi1fX1NZU0NBTEwoX19OUl9ydF9zaWdzdXNwZW5kLCBzdHViX3J0X3NpZ3N1c3BlbmQpCitfX1NZU0NBTEwoX19OUl9ydF9zaWdzdXNwZW5kLCBzeXNfcnRfc2lnc3VzcGVuZCkKICNkZWZpbmUgX19OUl9zaWdhbHRzdGFjawkJCTEzMQogX19TWVNDQUxMKF9fTlJfc2lnYWx0c3RhY2ssIHN0dWJfc2lnYWx0c3RhY2spCiAjZGVmaW5lIF9fTlJfdXRpbWUJCQkJMTMyCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdXYvdXZfYmF1LmggYi9pbmNsdWRlL2FzbS14ODYvdXYvdXZfYmF1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFhYzBkZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni91di91dl9iYXUuaApAQCAtMCwwICsxLDMzNyBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLiAgU2VlIHRoZSBmaWxlICJDT1BZSU5HIiBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBhcmNoaXZlCisgKiBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFNHSSBVViBCcm9hZGNhc3QgQXNzaXN0IFVuaXQgZGVmaW5pdGlvbnMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggU2lsaWNvbiBHcmFwaGljcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICovCisKKyNpZm5kZWYgX19BU01fWDg2X1VWX0JBVV9fCisjZGVmaW5lIF9fQVNNX1g4Nl9VVl9CQVVfXworCisjaW5jbHVkZSA8bGludXgvYml0bWFwLmg+CisjZGVmaW5lIEJJVFNQRVJCWVRFIDgKKworLyoKKyAqIEJyb2FkY2FzdCBBc3Npc3QgVW5pdCBtZXNzYWdpbmcgc3RydWN0dXJlcworICoKKyAqIFNlbGVjdGl2ZSBCcm9hZGNhc3QgYWN0aXZhdGlvbnMgYXJlIGluZHVjZWQgYnkgc29mdHdhcmUgYWN0aW9uCisgKiBzcGVjaWZ5aW5nIGEgcGFydGljdWxhciA4LWRlc2NyaXB0b3IgInNldCIgdmlhIGEgNi1iaXQgaW5kZXggd3JpdHRlbgorICogdG8gYW4gTU1SLgorICogVGh1cyB0aGVyZSBhcmUgNjQgdW5pcXVlIDUxMi1ieXRlIHNldHMgb2YgU0IgZGVzY3JpcHRvcnMgLSBvbmUgc2V0IGZvcgorICogZWFjaCA2LWJpdCBpbmRleCB2YWx1ZS4gVGhlc2UgZGVzY3JpcHRvciBzZXRzIGFyZSBtYXBwZWQgaW4gc2VxdWVuY2UKKyAqIHN0YXJ0aW5nIHdpdGggc2V0IDAgbG9jYXRlZCBhdCB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgaW4gdGhlCisgKiBCQVVfU0JfREVTQ1JJUFRPUl9CQVNFIHJlZ2lzdGVyLCBzZXQgMSBpcyBsb2NhdGVkIGF0IEJBU0UgKyA1MTIsCisgKiBzZXQgMiBpcyBhdCBCQVNFICsgMio1MTIsIHNldCAzIGF0IEJBU0UgKyAzKjUxMiwgYW5kIHNvIG9uLgorICoKKyAqIFdlIHdpbGwgdXNlIDMxIHNldHMsIG9uZSBmb3Igc2VuZGluZyBCQVUgbWVzc2FnZXMgZnJvbSBlYWNoIG9mIHRoZSAzMgorICogY3B1J3Mgb24gdGhlIG5vZGUuCisgKgorICogVExCIHNob290ZG93biB3aWxsIHVzZSB0aGUgZmlyc3Qgb2YgdGhlIDggZGVzY3JpcHRvcnMgb2YgZWFjaCBzZXQuCisgKiBFYWNoIG9mIHRoZSBkZXNjcmlwdG9ycyBpcyA2NCBieXRlcyBpbiBzaXplICg4KjY0ID0gNTEyIGJ5dGVzIGluIGEgc2V0KS4KKyAqLworCisjZGVmaW5lIFVWX0lURU1TX1BFUl9ERVNDUklQVE9SCQk4CisjZGVmaW5lIFVWX0NQVVNfUEVSX0FDVF9TVEFUVVMJCTMyCisjZGVmaW5lIFVWX0FDVF9TVEFUVVNfTUFTSwkJMHgzCisjZGVmaW5lIFVWX0FDVF9TVEFUVVNfU0laRQkJMgorI2RlZmluZSBVVl9BQ1RJVkFUSU9OX0RFU0NSSVBUT1JfU0laRQkzMgorI2RlZmluZSBVVl9ESVNUUklCVVRJT05fU0laRQkJMjU2CisjZGVmaW5lIFVWX1NXX0FDS19OUEVORElORwkJOAorI2RlZmluZSBVVl9CQVVfTUVTU0FHRQkJCTIwMAorLyoKKyAqIE1lc3NhZ2luZyBpcnE7IHNlZSBpcnFfNjQuaCBhbmQgaW5jbHVkZS9hc20teDg2L2h3X2lycV82NC5oCisgKiBUbyBiZSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgaW4gdGhlIGZ1dHVyZQorICovCisjZGVmaW5lIFVWX05FVF9FTkRQT0lOVF9JTlRECQkweDM4CisjZGVmaW5lIFVWX0RFU0NfQkFTRV9QTk9ERV9TSElGVAk0OQorI2RlZmluZSBVVl9QQVlMT0FEUV9QTk9ERV9TSElGVAkJNDkKKyNkZWZpbmUgVVZfUFRDX0JBU0VOQU1FCQkJInNnaV91di9wdGNfc3RhdGlzdGljcyIKKyNkZWZpbmUgdXZfcGh5c25vZGVhZGRyKHgpCQkoKF9fcGEoKHVuc2lnbmVkIGxvbmcpKHgpKSAmIHV2X21tYXNrKSkKKworLyoKKyAqIGJpdHMgaW4gVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18wLzEKKyAqLworI2RlZmluZSBERVNDX1NUQVRVU19JRExFCQkwCisjZGVmaW5lIERFU0NfU1RBVFVTX0FDVElWRQkJMQorI2RlZmluZSBERVNDX1NUQVRVU19ERVNUSU5BVElPTl9USU1FT1VUCTIKKyNkZWZpbmUgREVTQ19TVEFUVVNfU09VUkNFX1RJTUVPVVQJMworCisvKgorICogc291cmNlIHNpZGUgdGhyZXNoaG9sZHMgYXQgd2hpY2ggbWVzc2FnZSByZXRyaWVzIHByaW50IGEgd2FybmluZworICovCisjZGVmaW5lIFNPVVJDRV9USU1FT1VUX0xJTUlUCQkyMAorI2RlZmluZSBERVNUSU5BVElPTl9USU1FT1VUX0xJTUlUCTIwCisKKy8qCisgKiBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgZGVzdGluYXRpb24gc2lkZSBwYXlsb2FkIHF1ZXVlCisgKi8KKyNkZWZpbmUgREVTVF9RX1NJWkUJCQkxNworLyoKKyAqIG51bWJlciBvZiBkZXN0aW5hdGlvbiBzaWRlIHNvZnR3YXJlIGFjayByZXNvdXJjZXMKKyAqLworI2RlZmluZSBERVNUX05VTV9SRVNPVVJDRVMJCTgKKyNkZWZpbmUgTUFYX0NQVVNfUEVSX05PREUJCTMyCisvKgorICogY29tcGxldGlvbiBzdGF0dXNlcyBmb3Igc2VuZGluZyBhIFRMQiBmbHVzaCBtZXNzYWdlCisgKi8KKyNkZWZpbmUJRkxVU0hfUkVUUlkJCQkxCisjZGVmaW5lCUZMVVNIX0dJVkVVUAkJCTIKKyNkZWZpbmUJRkxVU0hfQ09NUExFVEUJCQkzCisKKy8qCisgKiBEaXN0cmlidXRpb246IDMyIGJ5dGVzICgyNTYgYml0cykgKGJ5dGVzIDAtMHgxZiBvZiBkZXNjcmlwdG9yKQorICogSWYgdGhlICdtdWx0aWxldmVsJyBmbGFnIGluIHRoZSBoZWFkZXIgcG9ydGlvbiBvZiB0aGUgZGVzY3JpcHRvcgorICogaGFzIGJlZW4gc2V0IHRvIDAsIHRoZW4gZW5kcG9pbnQgbXVsdGktdW5pY2FzdCBtb2RlIGlzIHNlbGVjdGVkLgorICogVGhlIGRpc3RyaWJ1dGlvbiBzcGVjaWZpY2F0aW9uICgzMiBieXRlcykgaXMgaW50ZXJwcmV0ZWQgYXMgYSAyNTYtYml0CisgKiBkaXN0cmlidXRpb24gdmVjdG9yLiBBZGphY2VudCBiaXRzIGNvcnJlc3BvbmQgdG8gY29uc2VjdXRpdmUgZXZlbiBudW1iZXJlZAorICogbm9kZUlEcy4gVGhlIHJlc3VsdCBvZiBhZGRpbmcgdGhlIGluZGV4IG9mIGEgZ2l2ZW4gYml0IHRvIHRoZSAxNS1iaXQKKyAqICdiYXNlX2Rlc3Rfbm9kZWlkJyBmaWVsZCBvZiB0aGUgaGVhZGVyIGNvcnJlc3BvbmRzIHRvIHRoZQorICogZGVzdGluYXRpb24gbm9kZUlEIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHNwZWNpZmllZCBiaXQuCisgKi8KK3N0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrIHsKKwl1bnNpZ25lZCBsb25nIGJpdHNbQklUU19UT19MT05HUygyNTYpXTsKK307CisKKy8qCisgKiBtYXNrIG9mIGNwdSdzIG9uIGEgbm9kZQorICogKGR1cmluZyBpbml0aWFsaXphdGlvbiB3ZSBuZWVkIHRvIGNoZWNrIHRoYXQgdW5zaWduZWQgbG9uZyBoYXMKKyAqICBlbm91Z2ggYml0cyBmb3IgbWF4LiBjcHUncyBwZXIgbm9kZSkKKyAqLworc3RydWN0IGJhdV9sb2NhbF9jcHVtYXNrIHsKKwl1bnNpZ25lZCBsb25nIGJpdHM7Cit9OworCisvKgorICogUGF5bG9hZDogMTYgYnl0ZXMgKDEyOCBiaXRzKSAoYnl0ZXMgMHgyMC0weDJmIG9mIGRlc2NyaXB0b3IpCisgKiBvbmx5IDEyIGJ5dGVzICg5NiBiaXRzKSBvZiB0aGUgcGF5bG9hZCBhcmVhIGFyZSB1c2FibGUuCisgKiBBbiBhZGRpdGlvbmFsIDMgYnl0ZXMgKGJpdHMgMjc6NCkgb2YgdGhlIGhlYWRlciBhZGRyZXNzIGFyZSBjYXJyaWVkCisgKiB0byB0aGUgbmV4dCBieXRlcyBvZiB0aGUgZGVzdGluYXRpb24gcGF5bG9hZCBxdWV1ZS4KKyAqIEFuZCBhbiBhZGRpdGlvbmFsIDIgYnl0ZXMgb2YgdGhlIGhlYWRlciBTdXBwbF9BIGZpZWxkIGFyZSBhbHNvCisgKiBjYXJyaWVkIHRvIHRoZSBkZXN0aW5hdGlvbiBwYXlsb2FkIHF1ZXVlLgorICogQnV0IHRoZSBmaXJzdCBieXRlIG9mIHRoZSBTdXBwbF9BIGJlY29tZXMgYml0cyAxMjc6MTIwICh0aGUgMTZ0aCBieXRlKQorICogb2YgdGhlIGRlc3RpbmF0aW9uIHBheWxvYWQgcXVldWUsIHdoaWNoIGlzIHdyaXR0ZW4gYnkgdGhlIGhhcmR3YXJlCisgKiB3aXRoIHRoZSBzL3cgYWNrIHJlc291cmNlIGJpdCB2ZWN0b3IuCisgKiBbIGVmZmVjdGl2ZSBtZXNzYWdlIGNvbnRlbnRzICgxNiBieXRlcyAoMTI4IGJpdHMpIG1heGltdW0pLCBub3QgY291bnRpbmcKKyAqICAgdGhlIHMvdyBhY2sgYml0IHZlY3RvciAgXQorICovCisKKy8qCisgKiBUaGUgcGF5bG9hZCBpcyBzb2Z0d2FyZS1kZWZpbmVkIGZvciBJTlREIHRyYW5zYWN0aW9ucworICovCitzdHJ1Y3QgYmF1X21zZ19wYXlsb2FkIHsKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CQkvKiBzaWduaWZpZXMgYSBwYWdlIG9yIGFsbCBUTEIncworCQkJCQkJb2YgdGhlIGNwdSAqLworCS8qIDY0IGJpdHMgKi8KKwl1bnNpZ25lZCBzaG9ydCBzZW5kaW5nX2NwdTsJLyogZmlsbGVkIGluIGJ5IHNlbmRlciAqLworCS8qIDE2IGJpdHMgKi8KKwl1bnNpZ25lZCBzaG9ydCBhY2tub3dsZWRnZV9jb3VudDsvKiBmaWxsZWQgaW4gYnkgZGVzdGluYXRpb24gKi8KKwkvKiAxNiBiaXRzICovCisJdW5zaWduZWQgaW50IHJlc2VydmVkMTozMjsJLyogbm90IHVzYWJsZSAqLworfTsKKworCisvKgorICogTWVzc2FnZSBoZWFkZXI6ICAxNiBieXRlcyAoMTI4IGJpdHMpIChieXRlcyAweDMwLTB4M2Ygb2YgZGVzY3JpcHRvcikKKyAqIHNlZSB0YWJsZSA0LjIuMy4wLjEgaW4gYnJvYWNhc3RfYXNzaXN0IHNwZWMuCisgKi8KK3N0cnVjdCBiYXVfbXNnX2hlYWRlciB7CisJaW50IGRlc3Rfc3Vibm9kZWlkOjY7CS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdHMgNTowICovCisJaW50IGJhc2VfZGVzdF9ub2RlaWQ6MTU7IC8qIG5hc2lkPj4xIChwbm9kZSkgb2YgZmlyc3QgYml0IGluIG5vZGVfbWFwICovCisJLyogYml0cyAyMDo2ICovCisJaW50IGNvbW1hbmQ6ODsJCS8qIG1lc3NhZ2UgdHlwZSAqLworCS8qIGJpdHMgMjg6MjEgKi8KKwkJCQkvKiAweDM4OiBTTjNuZXQgRW5kUG9pbnQgTWVzc2FnZSAqLworCWludCByc3ZkXzE6MzsJCS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdHMgMzE6MjkgKi8KKwkJCQkvKiBpbnQgd2lsbCBhbGlnbiBvbiAzMiBiaXRzICovCisJaW50IHJzdmRfMjo5OwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA0MDozMiAqLworCQkJCS8qIFN1cHBsX0EgaXMgNTYtNDEgKi8KKwlpbnQgcGF5bG9hZF8yYTo4OwkvKiBiZWNvbWVzIGJ5dGUgMTYgb2YgbXNnICovCisJLyogYml0cyA0ODo0MSAqLwkvKiBub3QgY3VycmVudGx5IHVzaW5nICovCisJaW50IHBheWxvYWRfMmI6ODsJLyogYmVjb21lcyBieXRlIDE3IG9mIG1zZyAqLworCS8qIGJpdHMgNTY6NDkgKi8JLyogbm90IGN1cnJlbnRseSB1c2luZyAqLworCQkJCS8qIEFkZHJlc3MgZmllbGQgKDk2OjU3KSBpcyBuZXZlciB1c2VkIGFzIGFuCisJCQkJICAgYWRkcmVzcyAodGhlc2UgYXJlIGFkZHJlc3MgYml0cyA0MjozKSAqLworCWludCByc3ZkXzM6MTsJCS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdCA1NyAqLworCQkJCS8qIGFkZHJlc3MgYml0cyAyNzo0IGFyZSBwYXlsb2FkICovCisJCQkJLyogdGhlc2UgMjQgYml0cyBiZWNvbWUgYnl0ZXMgMTItMTQgb2YgbXNnICovCisJaW50IHJlcGxpZWRfdG86MTsJLyogc2VudCBhcyAwIGJ5IHRoZSBzb3VyY2UgdG8gYnl0ZSAxMiAqLworCS8qIGJpdCA1OCAqLworCisJaW50IHBheWxvYWRfMWE6NTsJLyogbm90IGN1cnJlbnRseSB1c2VkICovCisJLyogYml0cyA2Mzo1OSAqLworCWludCBwYXlsb2FkXzFiOjg7CS8qIG5vdCBjdXJyZW50bHkgdXNlZCAqLworCS8qIGJpdHMgNzE6NjQgKi8KKwlpbnQgcGF5bG9hZF8xYzo4OwkvKiBub3QgY3VycmVudGx5IHVzZWQgKi8KKwkvKiBiaXRzIDc5OjcyICovCisJaW50IHBheWxvYWRfMWQ6MjsJLyogbm90IGN1cnJlbnRseSB1c2VkICovCisJLyogYml0cyA4MTo4MCAqLworCisJaW50IHJzdmRfNDo3OwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyA4ODo4MiAqLworCWludCBzd19hY2tfZmxhZzoxOwkvKiBzb2Z0d2FyZSBhY2tub3dsZWRnZSBmbGFnICovCisJLyogYml0IDg5ICovCisJCQkJLyogSU5URCB0cmFzYWN0aW9ucyBhdCBkZXN0aW5hdGlvbiBhcmUgdG8KKwkJCQkgICB3YWl0IGZvciBzb2Z0d2FyZSBhY2tub3dsZWRnZSAqLworCWludCByc3ZkXzU6NjsJCS8qIG11c3QgYmUgemVybyAqLworCS8qIGJpdHMgOTU6OTAgKi8KKwlpbnQgcnN2ZF82OjU7CQkvKiBtdXN0IGJlIHplcm8gKi8KKwkvKiBiaXRzIDEwMDo5NiAqLworCWludCBpbnRfYm90aDoxOwkJLyogaWYgMSwgaW50ZXJydXB0IGJvdGggc29ja2V0cyBvbiB0aGUgYmxhZGUgKi8KKwkvKiBiaXQgMTAxKi8KKwlpbnQgZmFpcm5lc3M6MzsJCS8qIHVzdWFsbHkgemVybyAqLworCS8qIGJpdHMgMTA0OjEwMiAqLworCWludCBtdWx0aWxldmVsOjE7CS8qIG11bHRpLWxldmVsIG11bHRpY2FzdCBmb3JtYXQgKi8KKwkvKiBiaXQgMTA1ICovCisJCQkJLyogMCBmb3IgVExCOiBlbmRwb2ludCBtdWx0aS11bmljYXN0IG1lc3NhZ2VzICovCisJaW50IGNoYWluaW5nOjE7CQkvKiBuZXh0IGRlc2NyaXB0b3IgaXMgcGFydCBvZiB0aGlzIGFjdGl2YXRpb24qLworCS8qIGJpdCAxMDYgKi8KKwlpbnQgcnN2ZF83OjIxOwkJLyogbXVzdCBiZSB6ZXJvICovCisJLyogYml0cyAxMjc6MTA3ICovCit9OworCisvKgorICogVGhlIGFjdGl2YXRpb24gZGVzY3JpcHRvcjoKKyAqIFRoZSBmb3JtYXQgb2YgdGhlIG1lc3NhZ2UgdG8gc2VuZCwgcGx1cyBhbGwgYWNjb21wYW55aW5nIGNvbnRyb2wKKyAqIFNob3VsZCBiZSA2NCBieXRlcworICovCitzdHJ1Y3QgYmF1X2Rlc2MgeworCXN0cnVjdCBiYXVfdGFyZ2V0X25vZGVtYXNrIGRpc3RyaWJ1dGlvbjsKKwkvKgorCSAqIG1lc3NhZ2UgdGVtcGxhdGUsIGNvbnNpc3Rpbmcgb2YgaGVhZGVyIGFuZCBwYXlsb2FkOgorCSAqLworCXN0cnVjdCBiYXVfbXNnX2hlYWRlciBoZWFkZXI7CisJc3RydWN0IGJhdV9tc2dfcGF5bG9hZCBwYXlsb2FkOworfTsKKy8qCisgKiAgIC1wYXlsb2FkLS0gICAgLS0tLS0tLS0taGVhZGVyLS0tLS0tCisgKiAgIGJ5dGVzIDAtMTEgICAgYml0cyA0MS01NiAgYml0cyA1OC04MQorICogICAgICAgQSAgICAgICAgICAgQiAgKDIpICAgICAgQyAoMykKKyAqCisgKiAgICAgICAgICAgIEEvQi9DIGFyZSBtb3ZlZCB0bzoKKyAqICAgICAgIEEgICAgICAgICAgICBDICAgICAgICAgIEIKKyAqICAgYnl0ZXMgMC0xMSAgYnl0ZXMgMTItMTQgIGJ5dGVzIDE2LTE3ICAoYnl0ZSAxNSBmaWxsZWQgaW4gYnkgaHcgYXMgdmVjdG9yKQorICogICAtLS0tLS0tLS0tLS1wYXlsb2FkIHF1ZXVlLS0tLS0tLS0tLS0KKyAqLworCisvKgorICogVGhlIHBheWxvYWQgcXVldWUgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgYW4gYXJyYXkgb2YgdGhlc2UuCisgKiBXaXRoIEJBVV9NSVNDX0NPTlRST0wgc2V0IGZvciBzb2Z0d2FyZSBhY2tub3dsZWRnZSBtb2RlLCB0aGUgbWVzc2FnZXMKKyAqIGFyZSAzMiBieXRlcyAoMiBtaWNyb3BhY2tldHMpICgyNTYgYml0cykgaW4gbGVuZ3RoLCBidXQgY29udGFpbiBvbmx5IDE3CisgKiBieXRlcyBvZiB1c2FibGUgZGF0YSwgaW5jbHVkaW5nIHRoZSBzdyBhY2sgdmVjdG9yIGluIGJ5dGUgMTUgKGJpdHMgMTI3OjEyMCkKKyAqICgxMiBieXRlcyBjb21lIGZyb20gYmF1X21zZ19wYXlsb2FkLCAzIGZyb20gcGF5bG9hZF8xLCAyIGZyb20KKyAqICBzd19hY2tfdmVjdG9yIGFuZCBwYXlsb2FkXzIpCisgKiAiRW5hYmxpbmcgU29mdHdhcmUgQWNrbm93bGVkZ21lbnQgbW9kZSAoc2VlIFNlY3Rpb24gNC4zLjMgU29mdHdhcmUKKyAqICBBY2tub3dsZWRnZSBQcm9jZXNzaW5nKSBhbHNvIHNlbGVjdHMgMzIgYnl0ZSAoMTcgYnl0ZXMgdXNhYmxlKSBwYXlsb2FkCisgKiAgb3BlcmF0aW9uLiIKKyAqLworc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5IHsKKwl1bnNpZ25lZCBsb25nIGFkZHJlc3M7CQkvKiBzaWduaWZpZXMgYSBwYWdlIG9yIGFsbCBUTEIncworCQkJCQkJb2YgdGhlIGNwdSAqLworCS8qIDY0IGJpdHMsIGJ5dGVzIDAtNyAqLworCisJdW5zaWduZWQgc2hvcnQgc2VuZGluZ19jcHU7CS8qIGNwdSB0aGF0IHNlbnQgdGhlIG1lc3NhZ2UgKi8KKwkvKiAxNiBiaXRzLCBieXRlcyA4LTkgKi8KKworCXVuc2lnbmVkIHNob3J0IGFja25vd2xlZGdlX2NvdW50OyAvKiBmaWxsZWQgaW4gYnkgZGVzdGluYXRpb24gKi8KKwkvKiAxNiBiaXRzLCBieXRlcyAxMC0xMSAqLworCisJdW5zaWduZWQgc2hvcnQgcmVwbGllZF90bzoxOwkvKiBzZW50IGFzIDAgYnkgdGhlIHNvdXJjZSAqLworCS8qIDEgYml0ICovCisJdW5zaWduZWQgc2hvcnQgdW51c2VkMTo3OyAgICAgICAvKiBub3QgY3VycmVudGx5IHVzaW5nICovCisJLyogNyBiaXRzOiBieXRlIDEyKSAqLworCisJdW5zaWduZWQgY2hhciB1bnVzZWQyWzJdOwkvKiBub3QgY3VycmVudGx5IHVzaW5nICovCisJLyogYnl0ZXMgMTMtMTQgKi8KKworCXVuc2lnbmVkIGNoYXIgc3dfYWNrX3ZlY3RvcjsJLyogZmlsbGVkIGluIGJ5IHRoZSBoYXJkd2FyZSAqLworCS8qIGJ5dGUgMTUgKGJpdHMgMTI3OjEyMCkgKi8KKworCXVuc2lnbmVkIGNoYXIgdW51c2VkNFszXTsJLyogbm90IGN1cnJlbnRseSB1c2luZyBieXRlcyAxNy0xOSAqLworCS8qIGJ5dGVzIDE3LTE5ICovCisKKwlpbnQgbnVtYmVyX29mX2NwdXM7CQkvKiBmaWxsZWQgaW4gYXQgZGVzdGluYXRpb24gKi8KKwkvKiAzMiBiaXRzLCBieXRlcyAyMC0yMyAoYWxpZ25lZCkgKi8KKworCXVuc2lnbmVkIGNoYXIgdW51c2VkNVs4XTsgICAgICAgLyogbm90IHVzaW5nICovCisJLyogYnl0ZXMgMjQtMzEgKi8KK307CisKKy8qCisgKiBvbmUgZm9yIGV2ZXJ5IHNsb3QgaW4gdGhlIGRlc3RpbmF0aW9uIHBheWxvYWQgcXVldWUKKyAqLworc3RydWN0IGJhdV9tc2dfc3RhdHVzIHsKKwlzdHJ1Y3QgYmF1X2xvY2FsX2NwdW1hc2sgc2Vlbl9ieTsJLyogbWFwIG9mIGNwdSdzICovCit9OworCisvKgorICogb25lIGZvciBldmVyeSBzbG90IGluIHRoZSBkZXN0aW5hdGlvbiBzb2Z0d2FyZSBhY2sgcmVzb3VyY2VzCisgKi8KK3N0cnVjdCBiYXVfc3dfYWNrX3N0YXR1cyB7CisJc3RydWN0IGJhdV9wYXlsb2FkX3F1ZXVlX2VudHJ5ICptc2c7CS8qIGFzc29jaWF0ZWQgbWVzc2FnZSAqLworCWludCB3YXRjaGVyOwkJCQkvKiBjcHUgbW9uaXRvcmluZywgb3IgLTEgKi8KK307CisKKy8qCisgKiBvbmUgb24gZXZlcnkgbm9kZSBhbmQgcGVyLWNwdTsgdG8gbG9jYXRlIHRoZSBzb2Z0d2FyZSB0YWJsZXMKKyAqLworc3RydWN0IGJhdV9jb250cm9sIHsKKwlzdHJ1Y3QgYmF1X2Rlc2MgKmRlc2NyaXB0b3JfYmFzZTsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKmJhdV9tc2dfaGVhZDsKKwlzdHJ1Y3QgYmF1X3BheWxvYWRfcXVldWVfZW50cnkgKnZhX3F1ZXVlX2ZpcnN0OworCXN0cnVjdCBiYXVfcGF5bG9hZF9xdWV1ZV9lbnRyeSAqdmFfcXVldWVfbGFzdDsKKwlzdHJ1Y3QgYmF1X21zZ19zdGF0dXMgKm1zZ19zdGF0dXNlczsKKwlpbnQgKndhdGNoaW5nOyAvKiBwb2ludGVyIHRvIGFycmF5ICovCit9OworCisvKgorICogVGhpcyBzdHJ1Y3R1cmUgaXMgYWxsb2NhdGVkIHBlcl9jcHUgZm9yIFVWIFRMQiBzaG9vdGRvd24gc3RhdGlzdGljcy4KKyAqLworc3RydWN0IHB0Y19zdGF0cyB7CisJdW5zaWduZWQgbG9uZyBwdGNfaTsJLyogbnVtYmVyIG9mIElQSS1zdHlsZSBmbHVzaGVzICovCisJdW5zaWduZWQgbG9uZyByZXF1ZXN0b3I7CS8qIG51bWJlciBvZiBub2RlcyB0aGlzIGNwdSBzZW50IHRvICovCisJdW5zaWduZWQgbG9uZyByZXF1ZXN0ZWU7CS8qIHRpbWVzIGNwdSB3YXMgcmVtb3RlbHkgcmVxdWVzdGVkICovCisJdW5zaWduZWQgbG9uZyBhbGx0bGI7CS8qIHRpbWVzIGFsbCB0bGIncyBvbiB0aGlzIGNwdSB3ZXJlIGZsdXNoZWQgKi8KKwl1bnNpZ25lZCBsb25nIG9uZXRsYjsJLyogdGltZXMganVzdCBvbmUgdGxiIG9uIHRoaXMgY3B1IHdhcyBmbHVzaGVkICovCisJdW5zaWduZWQgbG9uZyBzX3JldHJ5OwkvKiByZXRyaWVzIG9uIHNvdXJjZSBzaWRlIHRpbWVvdXRzICovCisJdW5zaWduZWQgbG9uZyBkX3JldHJ5OwkvKiByZXRyaWVzIG9uIGRlc3RpbmF0aW9uIHNpZGUgdGltZW91dHMgKi8KKwl1bnNpZ25lZCBsb25nIHNmbHVzaDsJLyogY3ljbGVzIHNwZW50IGluIHV2X2ZsdXNoX3RsYl9vdGhlcnMgKi8KKwl1bnNpZ25lZCBsb25nIGRmbHVzaDsJLyogY3ljbGVzIHNwZW50IG9uIGRlc3RpbmF0aW9uIHNpZGUgKi8KKwl1bnNpZ25lZCBsb25nIHJldHJpZXNvazsgLyogc3VjY2Vzc2VzIG9uIHJldHJpZXMgKi8KKwl1bnNpZ25lZCBsb25nIG5vbXNnOwkvKiBpbnRlcnJ1cHRzIHdpdGggbm8gbWVzc2FnZSAqLworCXVuc2lnbmVkIGxvbmcgbXVsdG1zZzsJLyogaW50ZXJydXB0cyB3aXRoIG11bHRpcGxlIG1lc3NhZ2VzICovCisJdW5zaWduZWQgbG9uZyBudGFyZ2V0ZWQ7Lyogbm9kZXMgdGFyZ2V0ZWQgKi8KK307CisKK3N0YXRpYyBpbmxpbmUgaW50IGJhdV9ub2RlX2lzc2V0KGludCBub2RlLCBzdHJ1Y3QgYmF1X3RhcmdldF9ub2RlbWFzayAqZHN0cCkKK3sKKwlyZXR1cm4gY29uc3RhbnRfdGVzdF9iaXQobm9kZSwgJmRzdHAtPmJpdHNbMF0pOworfQorc3RhdGljIGlubGluZSB2b2lkIGJhdV9ub2RlX3NldChpbnQgbm9kZSwgc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgKmRzdHApCit7CisJX19zZXRfYml0KG5vZGUsICZkc3RwLT5iaXRzWzBdKTsKK30KK3N0YXRpYyBpbmxpbmUgdm9pZCBiYXVfbm9kZXNfY2xlYXIoc3RydWN0IGJhdV90YXJnZXRfbm9kZW1hc2sgKmRzdHAsIGludCBuYml0cykKK3sKKwliaXRtYXBfemVybygmZHN0cC0+Yml0c1swXSwgbmJpdHMpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYmF1X2NwdWJpdHNfY2xlYXIoc3RydWN0IGJhdV9sb2NhbF9jcHVtYXNrICpkc3RwLCBpbnQgbmJpdHMpCit7CisJYml0bWFwX3plcm8oJmRzdHAtPmJpdHMsIG5iaXRzKTsKK30KKworI2RlZmluZSBjcHViaXRfaXNzZXQoY3B1LCBiYXVfbG9jYWxfY3B1bWFzaykgXAorCXRlc3RfYml0KChjcHUpLCAoYmF1X2xvY2FsX2NwdW1hc2spLmJpdHMpCisKK2V4dGVybiBpbnQgdXZfZmx1c2hfdGxiX290aGVycyhjcHVtYXNrX3QgKiwgc3RydWN0IG1tX3N0cnVjdCAqLCB1bnNpZ25lZCBsb25nKTsKK2V4dGVybiB2b2lkIHV2X2JhdV9tZXNzYWdlX2ludHIxKHZvaWQpOworZXh0ZXJuIHZvaWQgdXZfYmF1X3RpbWVvdXRfaW50cjEodm9pZCk7CisKKyNlbmRpZiAvKiBfX0FTTV9YODZfVVZfQkFVX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni91di91dl9odWIuaCBiL2luY2x1ZGUvYXNtLXg4Ni91di91dl9odWIuaAppbmRleCAyNmI5MjQwLi5hNGVmMjZlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdXYvdXZfaHViLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X2h1Yi5oCkBAIC01LDcgKzUsNyBAQAogICoKICAqIFNHSSBVViBhcmNoaXRlY3R1cmFsIGRlZmluaXRpb25zCiAgKgotICogQ29weXJpZ2h0IChDKSAyMDA3IFNpbGljb24gR3JhcGhpY3MsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFNpbGljb24gR3JhcGhpY3MsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqLwogCiAjaWZuZGVmIF9fQVNNX1g4Nl9VVl9IVUJfSF9fCkBAIC0yMCwyNiArMjAsNDkgQEAKIC8qCiAgKiBBZGRyZXNzaW5nIFRlcm1pbm9sb2d5CiAgKgotICogCU5BU0lEIC0gbmV0d29yayBJRCBvZiBhIHJvdXRlciwgTWJyaWNrIG9yIENicmljay4gTmFzaWQgdmFsdWVzIG9mCi0gKiAJCXJvdXRlcnMgYWx3YXlzIGhhdmUgbG93IGJpdCBvZiAxLCBDL01Ccmlja3MgaGF2ZSBsb3cgYml0Ci0gKiAJCWVxdWFsIHRvIDAuIE1vc3QgYWRkcmVzc2luZyBtYWNyb3MgdGhhdCB0YXJnZXQgVVYgaHViIGNoaXBzCi0gKiAJCXJpZ2h0IHNoaWZ0IHRoZSBOQVNJRCBieSAxIHRvIGV4Y2x1ZGUgdGhlIGFsd2F5cy16ZXJvIGJpdC4KKyAqCU0gICAgICAgLSBUaGUgbG93IE0gYml0cyBvZiBhIHBoeXNpY2FsIGFkZHJlc3MgcmVwcmVzZW50IHRoZSBvZmZzZXQKKyAqCQkgIGludG8gdGhlIGJsYWRlIGxvY2FsIG1lbW9yeS4gUkFNIG1lbW9yeSBvbiBhIGJsYWRlIGlzIHBoeXNpY2FsbHkKKyAqCQkgIGNvbnRpZ3VvdXMgKGFsdGhvdWdoIHZhcmlvdXMgSU8gc3BhY2VzIG1heSBwdW5jaCBob2xlcyBpbgorICoJCSAgaXQpLi4KICAqCi0gKglTTkFTSUQgLSBOQVNJRCByaWdodCBzaGlmdGVkIGJ5IDEgYml0LgorICogCU4JLSBOdW1iZXIgb2YgYml0cyBpbiB0aGUgbm9kZSBwb3J0aW9uIG9mIGEgc29ja2V0IHBoeXNpY2FsCisgKiAJCSAgYWRkcmVzcy4KKyAqCisgKiAJTkFTSUQgICAtIG5ldHdvcmsgSUQgb2YgYSByb3V0ZXIsIE1icmljayBvciBDYnJpY2suIE5hc2lkIHZhbHVlcyBvZgorICogCSAJICByb3V0ZXJzIGFsd2F5cyBoYXZlIGxvdyBiaXQgb2YgMSwgQy9NQnJpY2tzIGhhdmUgbG93IGJpdAorICogCQkgIGVxdWFsIHRvIDAuIE1vc3QgYWRkcmVzc2luZyBtYWNyb3MgdGhhdCB0YXJnZXQgVVYgaHViIGNoaXBzCisgKiAJCSAgcmlnaHQgc2hpZnQgdGhlIE5BU0lEIGJ5IDEgdG8gZXhjbHVkZSB0aGUgYWx3YXlzLXplcm8gYml0LgorICogCQkgIE5BU0lEcyBjb250YWluIHVwIHRvIDE1IGJpdHMuCisgKgorICoJR05PREUgICAtIE5BU0lEIHJpZ2h0IHNoaWZ0ZWQgYnkgMSBiaXQuIE1vc3QgbW1ycyBjb250YWluIGdub2RlcyBpbnN0ZWFkCisgKgkJICBvZiBuYXNpZHMuCisgKgorICogCVBOT0RFICAgLSB0aGUgbG93IE4gYml0cyBvZiB0aGUgR05PREUuIFRoZSBQTk9ERSBpcyB0aGUgbW9zdCB1c2VmdWwgdmFyaWFudAorICogCQkgIG9mIHRoZSBuYXNpZCBmb3Igc29ja2V0IHVzYWdlLgorICoKKyAqCisgKiAgTnVtYUxpbmsgR2xvYmFsIFBoeXNpY2FsIEFkZHJlc3MgRm9ybWF0OgorICogICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgfDAwLi4wMDB8ICAgICAgR05PREUgICAgICAgICAgICAgfCAgICAgIE5vZGVPZmZzZXQgICAgIHwKKyAqICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgfDwtLS0tLS0tNTMgLSBNIGJpdHMgLS0tPnw8LS0tLS0tLS1NIGJpdHMgLS0tLS0+CisgKgorICoJTSAtIG51bWJlciBvZiBub2RlIG9mZnNldCBiaXRzICgzNSAuLiA0MCkKICAqCiAgKgogICogIE1lbW9yeS9VVi1IVUIgUHJvY2Vzc29yIFNvY2tldCBBZGRyZXNzIEZvcm1hdDoKLSAqICArLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAqICB8MDAuLjAwMDB8ICAgIFNOQVNJRCAgICAgfCAgICAgIE5vZGVPZmZzZXQgICAgIHwKLSAqICArLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLSAqICAgICAgICAgICA8LS0tIE4gYml0cyAtLS0+fDwtLS0tLS0tLU0gYml0cyAtLS0tLT4KKyAqICArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogIHwwMC4uMDAwMDAwMDAwMDAwfCAgIFBOT0RFICAgICAgIHwgICAgICBOb2RlT2Zmc2V0ICAgICB8CisgKiAgKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgICAgICAgICAgICAgICAgIDwtLS0gTiBiaXRzIC0tLT58PC0tLS0tLS0tTSBiaXRzIC0tLS0tPgogICoKLSAqCU0gbnVtYmVyIG9mIG5vZGUgb2Zmc2V0IGJpdHMgKDM1IC4uIDQwKQotICoJTiBudW1iZXIgb2YgU05BU0lEIGJpdHMgKDAgLi4gMTApCisgKglNIC0gbnVtYmVyIG9mIG5vZGUgb2Zmc2V0IGJpdHMgKDM1IC4uIDQwKQorICoJTiAtIG51bWJlciBvZiBQTk9ERSBiaXRzICgwIC4uIDEwKQogICoKICAqCQlOb3RlOiBNICsgTiBjYW5ub3QgY3VycmVudGx5IGV4Y2VlZCA0NCAoeDg2XzY0KSBvciA0NiAoSUE2NCkuCiAgKgkJVGhlIGFjdHVhbCB2YWx1ZXMgYXJlIGNvbmZpZ3VyYXRpb24gZGVwZW5kZW50IGFuZCBhcmUgc2V0IGF0Ci0gKgkJYm9vdCB0aW1lCisgKgkJYm9vdCB0aW1lLiBNICYgTiB2YWx1ZXMgYXJlIHNldCBieSB0aGUgaGFyZHdhcmUvQklPUyBhdCBib290LgorICoKICAqCiAgKiBBUElDSUQgZm9ybWF0CiAgKiAJTk9URSEhISEhISBUaGlzIGlzIHRoZSBjdXJyZW50IGZvcm1hdCBvZiB0aGUgQVBJQ0lELiBIb3dldmVyLCBjb2RlCkBAIC00OCwxNCArNzEsMTQgQEAKICAqCiAgKiAJCTExMTExMTAwMDAwMDAwMDAKICAqIAkJNTQzMjEwOTg3NjU0MzIxMAotICoJCW5ubm5ubm5ubm5sYzBjY2gKKyAqCQlwcHBwcHBwcHBwbGMwY2NoCiAgKgkJc3Nzc3Nzc3Nzc3MKICAqCi0gKgkJCW4gID0gc25hc2lkIGJpdHMKKyAqCQkJcCAgPSBwbm9kZSBiaXRzCiAgKgkJCWwgPSAgc29ja2V0IG51bWJlciBvbiBib2FyZAogICoJCQljICA9IGNvcmUKICAqCQkJaCAgPSBoeXBlcnRocmVhZAotICoJCQlzICA9IGJpdHMgdGhhdCBhcmUgaW4gdGhlIHNvY2tldCBDU1IKKyAqCQkJcyAgPSBiaXRzIHRoYXQgYXJlIGluIHRoZSBTT0NLRVRfSUQgQ1NSCiAgKgogICoJTm90ZTogUHJvY2Vzc29yIG9ubHkgc3VwcG9ydHMgMTIgYml0cyBpbiB0aGUgQVBJQ0lEIHJlZ2lzdGVyLiBUaGUgQUNQSQogICoJICAgICAgdGFibGVzIGhvbGQgYWxsIDE2IGJpdHMuIFNvZnR3YXJlIG5lZWRzIHRvIGJlIGF3YXJlIG9mIHRoaXMuCkBAIC03NCw3ICs5Nyw3IEBACiAgKiBUaGlzIHZhbHVlIGlzIGFsc28gdGhlIHZhbHVlIG9mIHRoZSBtYXhpbXVtIG51bWJlciBvZiBub24tcm91dGVyIE5BU0lEcwogICogaW4gdGhlIG51bWFsaW5rIGZhYnJpYy4KICAqCi0gKiBOT1RFOiBhIGJyaWNrIG1heSBiZSAxIG9yIDIgT1Mgbm9kZXMuIERvbid0IGdldCB0aGVzZSBjb25mdXNlZC4KKyAqIE5PVEU6IGEgYnJpY2sgbWF5IGNvbnRhaW4gMSBvciAyIE9TIG5vZGVzLiBEb24ndCBnZXQgdGhlc2UgY29uZnVzZWQuCiAgKi8KICNkZWZpbmUgVVZfTUFYX05VTUFMSU5LX0JMQURFUwkxNjM4NAogCkBAIC05Niw4ICsxMTksMTIgQEAKICAqLwogc3RydWN0IHV2X2h1Yl9pbmZvX3MgewogCXVuc2lnbmVkIGxvbmcJZ2xvYmFsX21tcl9iYXNlOwotCXVuc2lnbmVkIHNob3J0CWxvY2FsX25hc2lkOwotCXVuc2lnbmVkIHNob3J0CWdub2RlX3VwcGVyOworCXVuc2lnbmVkIGxvbmcJZ3BhX21hc2s7CisJdW5zaWduZWQgbG9uZwlnbm9kZV91cHBlcjsKKwl1bnNpZ25lZCBsb25nCWxvd21lbV9yZW1hcF90b3A7CisJdW5zaWduZWQgbG9uZwlsb3dtZW1fcmVtYXBfYmFzZTsKKwl1bnNpZ25lZCBzaG9ydAlwbm9kZTsKKwl1bnNpZ25lZCBzaG9ydAlwbm9kZV9tYXNrOwogCXVuc2lnbmVkIHNob3J0CWNvaGVyZW5jeV9kb21haW5fbnVtYmVyOwogCXVuc2lnbmVkIHNob3J0CW51bWFfYmxhZGVfaWQ7CiAJdW5zaWduZWQgY2hhcglibGFkZV9wcm9jZXNzb3JfaWQ7CkBAIC0xMTIsODMgKzEzOSwxMjYgQEAKICAqIExvY2FsICYgR2xvYmFsIE1NUiBzcGFjZSBtYWNyb3MuCiAgKiAJTm90ZTogbWFjcm9zIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIE9OTFkgYnkgaW5saW5lIGZ1bmN0aW9ucwogICogCWluIHRoaXMgZmlsZSAtIG5vdCBieSBvdGhlciBrZXJuZWwgY29kZS4KKyAqIAkJbiAtICBOQVNJRCAoZnVsbCAxNS1iaXQgZ2xvYmFsIG5hc2lkKQorICogCQlnIC0gIEdOT0RFIChmdWxsIDE1LWJpdCBnbG9iYWwgbmFzaWQsIHJpZ2h0IHNoaWZ0ZWQgMSkKKyAqIAkJcCAtICBQTk9ERSAobG9jYWwgcGFydCBvZiBuc2lkcywgcmlnaHQgc2hpZnRlZCAxKQogICovCi0jZGVmaW5lIFVWX1NOQVNJRChuKQkJCSgobikgPj4gMSkKLSNkZWZpbmUgVVZfTkFTSUQobikJCQkoKG4pIDw8IDEpCisjZGVmaW5lIFVWX05BU0lEX1RPX1BOT0RFKG4pCQkoKChuKSA+PiAxKSAmIHV2X2h1Yl9pbmZvLT5wbm9kZV9tYXNrKQorI2RlZmluZSBVVl9QTk9ERV9UT19OQVNJRChwKQkJKCgocCkgPDwgMSkgfCB1dl9odWJfaW5mby0+Z25vZGVfdXBwZXIpCiAKICNkZWZpbmUgVVZfTE9DQUxfTU1SX0JBU0UJCTB4ZjQwMDAwMDBVTAogI2RlZmluZSBVVl9HTE9CQUxfTU1SMzJfQkFTRQkJMHhmODAwMDAwMFVMCiAjZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9CQVNFCQkodXZfaHViX2luZm8tPmdsb2JhbF9tbXJfYmFzZSkKKyNkZWZpbmUgVVZfTE9DQUxfTU1SX1NJWkUJCSg2NFVMICogMTAyNCAqIDEwMjQpCisjZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9TSVpFCQkoNjRVTCAqIDEwMjQgKiAxMDI0KQogCi0jZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9TTkFTSURfTUFTSwkweDNmZgotI2RlZmluZSBVVl9HTE9CQUxfTU1SMzJfU05BU0lEX1NISUZUCTE1Ci0jZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9TTkFTSURfU0hJRlQJMjYKKyNkZWZpbmUgVVZfR0xPQkFMX01NUjMyX1BOT0RFX1NISUZUCTE1CisjZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9QTk9ERV9TSElGVAkyNgogCi0jZGVmaW5lIFVWX0dMT0JBTF9NTVIzMl9OQVNJRF9CSVRTKG4pCQkJCQlcCi0JCSgoKFVWX1NOQVNJRChuKSAmIFVWX0dMT0JBTF9NTVIzMl9TTkFTSURfTUFTSykpIDw8CVwKLQkJKFVWX0dMT0JBTF9NTVIzMl9TTkFTSURfU0hJRlQpKQorI2RlZmluZSBVVl9HTE9CQUxfTU1SMzJfUE5PREVfQklUUyhwKQkoKHApIDw8IChVVl9HTE9CQUxfTU1SMzJfUE5PREVfU0hJRlQpKQogCi0jZGVmaW5lIFVWX0dMT0JBTF9NTVI2NF9OQVNJRF9CSVRTKG4pCQkJCQlcCi0JKCh1bnNpZ25lZCBsb25nKVVWX1NOQVNJRChuKSA8PCBVVl9HTE9CQUxfTU1SNjRfU05BU0lEX1NISUZUKQorI2RlZmluZSBVVl9HTE9CQUxfTU1SNjRfUE5PREVfQklUUyhwKQkJCQkJXAorCSgodW5zaWduZWQgbG9uZykocCkgPDwgVVZfR0xPQkFMX01NUjY0X1BOT0RFX1NISUZUKQogCi0jZGVmaW5lIFVWX0FQSUNfTkFTSURfU0hJRlQJNgorI2RlZmluZSBVVl9BUElDX1BOT0RFX1NISUZUCTYKIAogLyoKLSAqIEV4dHJhY3QgYSBOQVNJRCBmcm9tIGFuIEFQSUNJRCAoZnVsbCBhcGljaWQsIG5vdCBwcm9jZXNzb3Igc3Vic2V0KQorICogTWFjcm9zIGZvciBjb252ZXJ0aW5nIGJldHdlZW4ga2VybmVsIHZpcnR1YWwgYWRkcmVzc2VzLCBzb2NrZXQgbG9jYWwgcGh5c2ljYWwKKyAqIGFkZHJlc3NlcywgYW5kIFVWIGdsb2JhbCBwaHlzaWNhbCBhZGRyZXNzZXMuCisgKiAJTm90ZTogdXNlIHRoZSBzdGFuZGFyZCBfX3BhKCkgJiBfX3ZhKCkgbWFjcm9zIGZvciBjb252ZXJ0aW5nCisgKiAJICAgICAgYmV0d2VlbiBzb2NrZXQgdmlydHVhbCBhbmQgc29ja2V0IHBoeXNpY2FsIGFkZHJlc3Nlcy4KICAqLwotc3RhdGljIGlubGluZSBpbnQgdXZfYXBpY2lkX3RvX25hc2lkKGludCBhcGljaWQpCisKKy8qIHNvY2tldCBwaHlzIFJBTSAtLT4gVVYgZ2xvYmFsIHBoeXNpY2FsIGFkZHJlc3MgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9zb2NfcGh5c19yYW1fdG9fZ3BhKHVuc2lnbmVkIGxvbmcgcGFkZHIpCiB7Ci0JcmV0dXJuIChVVl9OQVNJRChhcGljaWQgPj4gVVZfQVBJQ19OQVNJRF9TSElGVCkpOworCWlmIChwYWRkciA8IHV2X2h1Yl9pbmZvLT5sb3dtZW1fcmVtYXBfdG9wKQorCQlwYWRkciArPSB1dl9odWJfaW5mby0+bG93bWVtX3JlbWFwX2Jhc2U7CisJcmV0dXJuIHBhZGRyIHwgdXZfaHViX2luZm8tPmdub2RlX3VwcGVyOworfQorCisKKy8qIHNvY2tldCB2aXJ0dWFsIC0tPiBVViBnbG9iYWwgcGh5c2ljYWwgYWRkcmVzcyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X2dwYSh2b2lkICp2KQoreworCXJldHVybiBfX3BhKHYpIHwgdXZfaHViX2luZm8tPmdub2RlX3VwcGVyOworfQorCisvKiBzb2NrZXQgdmlydHVhbCAtLT4gVVYgZ2xvYmFsIHBoeXNpY2FsIGFkZHJlc3MgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdXZfdmdwYSh2b2lkICp2KQoreworCXJldHVybiAodm9pZCAqKXV2X2dwYSh2KTsKK30KKworLyogVVYgZ2xvYmFsIHBoeXNpY2FsIGFkZHJlc3MgLS0+IHNvY2tldCB2aXJ0dWFsICovCitzdGF0aWMgaW5saW5lIHZvaWQgKnV2X3ZhKHVuc2lnbmVkIGxvbmcgZ3BhKQoreworCXJldHVybiBfX3ZhKGdwYSAmIHV2X2h1Yl9pbmZvLT5ncGFfbWFzayk7Cit9CisKKy8qIHBub2RlLCBvZmZzZXQgLS0+IHNvY2tldCB2aXJ0dWFsICovCitzdGF0aWMgaW5saW5lIHZvaWQgKnV2X3Bub2RlX29mZnNldF90b192YWRkcihpbnQgcG5vZGUsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCXJldHVybiBfX3ZhKCgodW5zaWduZWQgbG9uZylwbm9kZSA8PCB1dl9odWJfaW5mby0+bV92YWwpIHwgb2Zmc2V0KTsKK30KKworCisvKgorICogRXh0cmFjdCBhIFBOT0RFIGZyb20gYW4gQVBJQ0lEIChmdWxsIGFwaWNpZCwgbm90IHByb2Nlc3NvciBzdWJzZXQpCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IHV2X2FwaWNpZF90b19wbm9kZShpbnQgYXBpY2lkKQoreworCXJldHVybiAoYXBpY2lkID4+IFVWX0FQSUNfUE5PREVfU0hJRlQpOwogfQogCiAvKgogICogQWNjZXNzIGdsb2JhbCBNTVJzIHVzaW5nIHRoZSBsb3cgbWVtb3J5IE1NUjMyIHNwYWNlLiBUaGlzIHJlZ2lvbiBzdXBwb3J0cwogICogZmFzdGVyIE1NUiBhY2Nlc3MgYnV0IG5vdCBhbGwgTU1ScyBhcmUgYWNjZXNzaWJsZSBpbiB0aGlzIHNwYWNlLgogICovCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgKnV2X2dsb2JhbF9tbXIzMl9hZGRyZXNzKGludCBuYXNpZCwKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqdXZfZ2xvYmFsX21tcjMyX2FkZHJlc3MoaW50IHBub2RlLAogCQkJCXVuc2lnbmVkIGxvbmcgb2Zmc2V0KQogewogCXJldHVybiBfX3ZhKFVWX0dMT0JBTF9NTVIzMl9CQVNFIHwKLQkJICAgICAgIFVWX0dMT0JBTF9NTVIzMl9OQVNJRF9CSVRTKG5hc2lkKSB8IG9mZnNldCk7CisJCSAgICAgICBVVl9HTE9CQUxfTU1SMzJfUE5PREVfQklUUyhwbm9kZSkgfCBvZmZzZXQpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgdXZfd3JpdGVfZ2xvYmFsX21tcjMyKGludCBuYXNpZCwgdW5zaWduZWQgbG9uZyBvZmZzZXQsCitzdGF0aWMgaW5saW5lIHZvaWQgdXZfd3JpdGVfZ2xvYmFsX21tcjMyKGludCBwbm9kZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQsCiAJCQkJIHVuc2lnbmVkIGxvbmcgdmFsKQogewotCSp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhuYXNpZCwgb2Zmc2V0KSA9IHZhbDsKKwkqdXZfZ2xvYmFsX21tcjMyX2FkZHJlc3MocG5vZGUsIG9mZnNldCkgPSB2YWw7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyB1dl9yZWFkX2dsb2JhbF9tbXIzMihpbnQgbmFzaWQsCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfcmVhZF9nbG9iYWxfbW1yMzIoaW50IHBub2RlLAogCQkJCQkJIHVuc2lnbmVkIGxvbmcgb2Zmc2V0KQogewotCXJldHVybiAqdXZfZ2xvYmFsX21tcjMyX2FkZHJlc3MobmFzaWQsIG9mZnNldCk7CisJcmV0dXJuICp1dl9nbG9iYWxfbW1yMzJfYWRkcmVzcyhwbm9kZSwgb2Zmc2V0KTsKIH0KIAogLyoKICAqIEFjY2VzcyBHbG9iYWwgTU1SIHNwYWNlIHVzaW5nIHRoZSBNTVIgc3BhY2UgbG9jYXRlZCBhdCB0aGUgdG9wIG9mIHBoeXNpY2FsCiAgKiBtZW1vcnkuCiAgKi8KLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MoaW50IG5hc2lkLAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nICp1dl9nbG9iYWxfbW1yNjRfYWRkcmVzcyhpbnQgcG5vZGUsCiAJCQkJdW5zaWduZWQgbG9uZyBvZmZzZXQpCiB7CiAJcmV0dXJuIF9fdmEoVVZfR0xPQkFMX01NUjY0X0JBU0UgfAotCQkgICAgICAgVVZfR0xPQkFMX01NUjY0X05BU0lEX0JJVFMobmFzaWQpIHwgb2Zmc2V0KTsKKwkJICAgIFVWX0dMT0JBTF9NTVI2NF9QTk9ERV9CSVRTKHBub2RlKSB8IG9mZnNldCk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yNjQoaW50IG5hc2lkLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKK3N0YXRpYyBpbmxpbmUgdm9pZCB1dl93cml0ZV9nbG9iYWxfbW1yNjQoaW50IHBub2RlLCB1bnNpZ25lZCBsb25nIG9mZnNldCwKIAkJCQl1bnNpZ25lZCBsb25nIHZhbCkKIHsKLQkqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MobmFzaWQsIG9mZnNldCkgPSB2YWw7CisJKnV2X2dsb2JhbF9tbXI2NF9hZGRyZXNzKHBub2RlLCBvZmZzZXQpID0gdmFsOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgdXZfcmVhZF9nbG9iYWxfbW1yNjQoaW50IG5hc2lkLAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHV2X3JlYWRfZ2xvYmFsX21tcjY0KGludCBwbm9kZSwKIAkJCQkJCSB1bnNpZ25lZCBsb25nIG9mZnNldCkKIHsKLQlyZXR1cm4gKnV2X2dsb2JhbF9tbXI2NF9hZGRyZXNzKG5hc2lkLCBvZmZzZXQpOworCXJldHVybiAqdXZfZ2xvYmFsX21tcjY0X2FkZHJlc3MocG5vZGUsIG9mZnNldCk7CiB9CiAKIC8qCi0gKiBBY2Nlc3Mgbm9kZSBsb2NhbCBNTVJzLiBGYXN0ZXIgdGhhbiB1c2luZyBnbG9iYWwgc3BhY2UgYnV0IG9ubHkgbG9jYWwgTU1ScworICogQWNjZXNzIGh1YiBsb2NhbCBNTVJzLiBGYXN0ZXIgdGhhbiB1c2luZyBnbG9iYWwgc3BhY2UgYnV0IG9ubHkgbG9jYWwgTU1ScwogICogYXJlIGFjY2Vzc2libGUuCiAgKi8KIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyAqdXZfbG9jYWxfbW1yX2FkZHJlc3ModW5zaWduZWQgbG9uZyBvZmZzZXQpCkBAIC0yMDcsMTUgKzI3NywxNSBAQAogfQogCiAvKgotICogU3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBjcHUsIG5vZGUsIGFuZCBibGFkZQorICogU3RydWN0dXJlcyBhbmQgZGVmaW5pdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBjcHUsIG5vZGUsIHBub2RlLCBhbmQgYmxhZGUKICAqIG51bWJlcnMuCiAgKi8KIHN0cnVjdCB1dl9ibGFkZV9pbmZvIHsKLQl1bnNpZ25lZCBzaG9ydAlucl9wb3NpYmxlX2NwdXM7CisJdW5zaWduZWQgc2hvcnQJbnJfcG9zc2libGVfY3B1czsKIAl1bnNpZ25lZCBzaG9ydAlucl9vbmxpbmVfY3B1czsKLQl1bnNpZ25lZCBzaG9ydAluYXNpZDsKKwl1bnNpZ25lZCBzaG9ydAlwbm9kZTsKIH07Ci1zdHJ1Y3QgdXZfYmxhZGVfaW5mbyAqdXZfYmxhZGVfaW5mbzsKK2V4dGVybiBzdHJ1Y3QgdXZfYmxhZGVfaW5mbyAqdXZfYmxhZGVfaW5mbzsKIGV4dGVybiBzaG9ydCAqdXZfbm9kZV90b19ibGFkZTsKIGV4dGVybiBzaG9ydCAqdXZfY3B1X3RvX2JsYWRlOwogZXh0ZXJuIHNob3J0IHV2X3Bvc3NpYmxlX2JsYWRlczsKQEAgLTI0NCwxNiArMzE0LDE2IEBACiAJcmV0dXJuIHV2X25vZGVfdG9fYmxhZGVbbmlkXTsKIH0KIAotLyogQ29udmVydCBhIGJsYWRlIGlkIHRvIHRoZSBOQVNJRCBvZiB0aGUgYmxhZGUgKi8KLXN0YXRpYyBpbmxpbmUgaW50IHV2X2JsYWRlX3RvX25hc2lkKGludCBiaWQpCisvKiBDb252ZXJ0IGEgYmxhZGUgaWQgdG8gdGhlIFBOT0RFIG9mIHRoZSBibGFkZSAqLworc3RhdGljIGlubGluZSBpbnQgdXZfYmxhZGVfdG9fcG5vZGUoaW50IGJpZCkKIHsKLQlyZXR1cm4gdXZfYmxhZGVfaW5mb1tiaWRdLm5hc2lkOworCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ucG5vZGU7CiB9CiAKIC8qIERldGVybWluZSB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIGNwdXMgb24gYSBibGFkZSAqLwogc3RhdGljIGlubGluZSBpbnQgdXZfYmxhZGVfbnJfcG9zc2libGVfY3B1cyhpbnQgYmlkKQogewotCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubnJfcG9zaWJsZV9jcHVzOworCXJldHVybiB1dl9ibGFkZV9pbmZvW2JpZF0ubnJfcG9zc2libGVfY3B1czsKIH0KIAogLyogRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2Ygb25saW5lIGNwdXMgb24gYSBibGFkZSAqLwpAQCAtMjYyLDE2ICszMzIsMTYgQEAKIAlyZXR1cm4gdXZfYmxhZGVfaW5mb1tiaWRdLm5yX29ubGluZV9jcHVzOwogfQogCi0vKiBDb252ZXJ0IGEgY3B1IGlkIHRvIHRoZSBOQVNJRCBvZiB0aGUgYmxhZGUgY29udGFpbmluZyB0aGUgY3B1ICovCi1zdGF0aWMgaW5saW5lIGludCB1dl9jcHVfdG9fbmFzaWQoaW50IGNwdSkKKy8qIENvbnZlcnQgYSBjcHUgaWQgdG8gdGhlIFBOT0RFIG9mIHRoZSBibGFkZSBjb250YWluaW5nIHRoZSBjcHUgKi8KK3N0YXRpYyBpbmxpbmUgaW50IHV2X2NwdV90b19wbm9kZShpbnQgY3B1KQogewotCXJldHVybiB1dl9ibGFkZV9pbmZvW3V2X2NwdV90b19ibGFkZV9pZChjcHUpXS5uYXNpZDsKKwlyZXR1cm4gdXZfYmxhZGVfaW5mb1t1dl9jcHVfdG9fYmxhZGVfaWQoY3B1KV0ucG5vZGU7CiB9CiAKLS8qIENvbnZlcnQgYSBub2RlIG51bWJlciB0byB0aGUgTkFTSUQgb2YgdGhlIGJsYWRlICovCi1zdGF0aWMgaW5saW5lIGludCB1dl9ub2RlX3RvX25hc2lkKGludCBuaWQpCisvKiBDb252ZXJ0IGEgbGludXggbm9kZSBudW1iZXIgdG8gdGhlIFBOT0RFIG9mIHRoZSBibGFkZSAqLworc3RhdGljIGlubGluZSBpbnQgdXZfbm9kZV90b19wbm9kZShpbnQgbmlkKQogewotCXJldHVybiB1dl9ibGFkZV9pbmZvW3V2X25vZGVfdG9fYmxhZGVfaWQobmlkKV0ubmFzaWQ7CisJcmV0dXJuIHV2X2JsYWRlX2luZm9bdXZfbm9kZV90b19ibGFkZV9pZChuaWQpXS5wbm9kZTsKIH0KIAogLyogTWF4aW11bSBwb3NzaWJsZSBudW1iZXIgb2YgYmxhZGVzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYvdXYvdXZfbW1ycy5oIGIvaW5jbHVkZS9hc20teDg2L3V2L3V2X21tcnMuaAppbmRleCAzYjY5ZmU2Li4xNTFmZDdmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdXYvdXZfbW1ycy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni91di91dl9tbXJzLmgKQEAgLTExLDE3ICsxMSwyOTAgQEAKICNpZm5kZWYgX19BU01fWDg2X1VWX01NUlNfXwogI2RlZmluZSBfX0FTTV9YODZfVVZfTU1SU19fCiAKLS8qCi0gKiAgICAgICBBVVRPIEdFTkVSQVRFRCAtIERvIG5vdCBlZGl0Ci0gKi8KKyNkZWZpbmUgVVZfTU1SX0VOQUJMRQkJKDFVTCA8PCA2MykKIAotICNkZWZpbmUgVVZfTU1SX0VOQUJMRQkJKDFVTCA8PCA2MykKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0JBVV9EQVRBX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJRyAweDYxNjgwVUwKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR18zMiAweDA0MzgKKworI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1ZFQ1RPUl9TSEZUIDAKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0RNX1NIRlQgOAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX0RNX01BU0sgMHgwMDAwMDAwMDAwMDAwNzAwVUwKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfREVTVE1PREVfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfQkFVX0RBVEFfQ09ORklHX1NUQVRVU19TSEZUIDEyCisjZGVmaW5lIFVWSF9CQVVfREFUQV9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19QX1NIRlQgMTMKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19QX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19UX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19NX1NIRlQgMTYKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19BUElDX0lEX1NIRlQgMzIKKyNkZWZpbmUgVVZIX0JBVV9EQVRBX0NPTkZJR19BUElDX0lEX01BU0sgMHhmZmZmZmZmZjAwMDAwMDAwVUwKKwordW5pb24gdXZoX2JhdV9kYXRhX2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9iYXVfZGF0YV9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwl2ZWN0b3JfICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRtICAgICAgIDogIDM7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzdG1vZGUgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzdGF0dXMgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXAgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xNCAgOiAgMTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwl0ICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCW0gICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xN18zMTogMTU7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYXBpY19pZCAgOiAzMjsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfRVZFTlRfT0NDVVJSRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwIDB4NzAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwXzMyIDB4MDA1ZTgKKworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0hDRVJSX1NIRlQgMAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAxVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfSENFUlJfU0hGVCAxCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IwX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAyVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfSENFUlJfU0hGVCAyCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IxX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA0VUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9IQ0VSUl9TSEZUIDMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwOFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfSENFUlJfU0hGVCA0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMTBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0hDRVJSX1NIRlQgNQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDIwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9IQ0VSUl9TSEZUIDYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDA0MFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfQU9FUlIwX1NIRlQgNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDA4MFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IwX0FPRVJSMF9TSEZUIDgKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjBfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwMTAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9HUjFfQU9FUlIwX1NIRlQgOQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0dSMV9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDAyMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xIX0FPRVJSMF9TSEZUIDEwCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEhfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwNDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9SSF9BT0VSUjBfU0hGVCAxMQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfWE5fQU9FUlIwX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9YTl9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NJX0FPRVJSMF9TSEZUIDEzCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU0lfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9BT0VSUjFfU0hGVCAxNAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAwNDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IwX0FPRVJSMV9TSEZUIDE1CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IwX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAwODAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IxX0FPRVJSMV9TSEZUIDE2CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfR1IxX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEhfQU9FUlIxX1NIRlQgMTcKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMjAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX0FPRVJSMV9TSEZUIDE4CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUkhfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDQwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9YTl9BT0VSUjFfU0hGVCAxOQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1hOX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDA4MDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfU0lfQU9FUlIxX1NIRlQgMjAKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TSV9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAxMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX1ZQSV9JTlRfU0hGVCAyMQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1JIX1ZQSV9JTlRfTUFTSyAweDAwMDAwMDAwMDAyMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NZU1RFTV9TSFVURE9XTl9JTlRfU0hGVCAyMgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1NZU1RFTV9TSFVURE9XTl9JTlRfTUFTSyAweDAwMDAwMDAwMDA0MDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMF9TSEZUIDIzCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8wX01BU0sgMHgwMDAwMDAwMDAwODAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzFfU0hGVCAyNAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfMV9NQVNLIDB4MDAwMDAwMDAwMTAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8yX1NIRlQgMjUKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzJfTUFTSyAweDAwMDAwMDAwMDIwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfM19TSEZUIDI2CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF8zX01BU0sgMHgwMDAwMDAwMDA0MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzRfU0hGVCAyNworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNF9NQVNLIDB4MDAwMDAwMDAwODAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF81X1NIRlQgMjgKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzVfTUFTSyAweDAwMDAwMDAwMTAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfNl9TSEZUIDI5CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF82X01BU0sgMHgwMDAwMDAwMDIwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzdfU0hGVCAzMAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfN19NQVNLIDB4MDAwMDAwMDA0MDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF84X1NIRlQgMzEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzhfTUFTSyAweDAwMDAwMDAwODAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0xCX0lSUV9JTlRfOV9TSEZUIDMyCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEJfSVJRX0lOVF85X01BU0sgMHgwMDAwMDAwMTAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzEwX1NIRlQgMzMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzEwX01BU0sgMHgwMDAwMDAwMjAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzExX1NIRlQgMzQKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzExX01BU0sgMHgwMDAwMDAwNDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzEyX1NIRlQgMzUKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzEyX01BU0sgMHgwMDAwMDAwODAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzEzX1NIRlQgMzYKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzEzX01BU0sgMHgwMDAwMDAxMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzE0X1NIRlQgMzcKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzE0X01BU0sgMHgwMDAwMDAyMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzE1X1NIRlQgMzgKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQl9JUlFfSU5UXzE1X01BU0sgMHgwMDAwMDA0MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MMV9OTUlfSU5UX1NIRlQgMzkKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MMV9OTUlfSU5UX01BU0sgMHgwMDAwMDA4MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TVE9QX0NMT0NLX1NIRlQgNDAKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9TVE9QX0NMT0NLX01BU0sgMHgwMDAwMDEwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9BU0lDX1RPX0wxX1NIRlQgNDEKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9BU0lDX1RPX0wxX01BU0sgMHgwMDAwMDIwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MMV9UT19BU0lDX1NIRlQgNDIKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MMV9UT19BU0lDX01BU0sgMHgwMDAwMDQwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MVENfSU5UX1NIRlQgNDMKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MVENfSU5UX01BU0sgMHgwMDAwMDgwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9MQV9TRVFfVFJJR0dFUl9TSEZUIDQ0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfTEFfU0VRX1RSSUdHRVJfTUFTSyAweDAwMDAxMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0lQSV9JTlRfU0hGVCA0NQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0lQSV9JTlRfTUFTSyAweDAwMDAyMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDBfU0hGVCA0NgorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDBfTUFTSyAweDAwMDA0MDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDFfU0hGVCA0NworI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDFfTUFTSyAweDAwMDA4MDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDJfU0hGVCA0OAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDJfTUFTSyAweDAwMDEwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDNfU0hGVCA0OQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0VYVElPX0lOVDNfTUFTSyAweDAwMDIwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX1BST0ZJTEVfSU5UX1NIRlQgNTAKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9QUk9GSUxFX0lOVF9NQVNLIDB4MDAwNDAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDMF9TSEZUIDUxCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDMF9NQVNLIDB4MDAwODAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDMV9TSEZUIDUyCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDMV9NQVNLIDB4MDAxMDAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDMl9TSEZUIDUzCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDMl9NQVNLIDB4MDAyMDAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDM19TSEZUIDU0CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUlRDM19NQVNLIDB4MDA0MDAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfQkFVX0RBVEFfU0hGVCA1NQorI2RlZmluZSBVVkhfRVZFTlRfT0NDVVJSRUQwX0JBVV9EQVRBX01BU0sgMHgwMDgwMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9QT1dFUl9NQU5BR0VNRU5UX1JFUV9TSEZUIDU2CisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfUE9XRVJfTUFOQUdFTUVOVF9SRVFfTUFTSyAweDAxMDAwMDAwMDAwMDAwMDBVTAordW5pb24gdXZoX2V2ZW50X29jY3VycmVkMF91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ldmVudF9vY2N1cnJlZDBfcyB7CisJdW5zaWduZWQgbG9uZwlsYl9oY2VyciAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsaF9oY2VyciAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcmhfaGNlcnIgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2hjZXJyICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlzaV9oY2VyciAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfYW9lcnIwICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjFfYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGhfYW9lcnIwICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2FvZXJyMCAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwl4bl9hb2VycjAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJc2lfYW9lcnIwICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2FvZXJyMSAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlncjBfYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2FvZXJyMSAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlyaF9hb2VycjEgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJeG5fYW9lcnIxICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2FvZXJyMSAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlyaF92cGlfaW50ICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJc3lzdGVtX3NodXRkb3duX2ludCAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMCAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8yICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMyAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzQgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF81ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNiAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzcgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF84ICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfOSAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEwICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMSAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTIgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEzICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xNCAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTUgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsMV9ubWlfaW50ICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJc3RvcF9jbG9jayAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWFzaWNfdG9fbDEgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlsMV90b19hc2ljICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJbHRjX2ludCAgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWxhX3NlcV90cmlnZ2VyICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlpcGlfaW50ICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZXh0aW9faW50MCAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCWV4dGlvX2ludDEgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlleHRpb19pbnQyICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJZXh0aW9faW50MyAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXByb2ZpbGVfaW50ICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlydGMwICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJcnRjMSAgICAgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXJ0YzIgICAgICAgICAgICAgICAgIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlydGMzICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcsIFcxQyAqLworCXVuc2lnbmVkIGxvbmcJYmF1X2RhdGEgICAgICAgICAgICAgOiAgMTsgIC8qIFJXLCBXMUMgKi8KKwl1bnNpZ25lZCBsb25nCXBvd2VyX21hbmFnZW1lbnRfcmVxIDogIDE7ICAvKiBSVywgVzFDICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzU3XzYzICAgICAgICAgICA6ICA3OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9FVkVOVF9PQ0NVUlJFRDBfQUxJQVMgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9FVkVOVF9PQ0NVUlJFRDBfQUxJQVMgMHgwMDAwMDAwMDAwMDcwMDA4VUwKKyNkZWZpbmUgVVZIX0VWRU5UX09DQ1VSUkVEMF9BTElBU18zMiAweDAwNWYwCisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9JTlRfQ01QQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0lOVF9DTVBCIDB4MjIwODBVTAorCisjZGVmaW5lIFVWSF9JTlRfQ01QQl9SRUFMX1RJTUVfQ01QQl9TSEZUIDAKKyNkZWZpbmUgVVZIX0lOVF9DTVBCX1JFQUxfVElNRV9DTVBCX01BU0sgMHgwMGZmZmZmZmZmZmZmZmZmVUwKKwordW5pb24gdXZoX2ludF9jbXBiX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2ludF9jbXBiX3MgeworCXVuc2lnbmVkIGxvbmcJcmVhbF90aW1lX2NtcGIgOiA1NjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzU2XzYzICAgICA6ICA4OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfSU5UX0NNUEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9JTlRfQ01QQyAweDIyMTAwVUwKKworI2RlZmluZSBVVkhfSU5UX0NNUENfUkVBTF9USU1FX0NNUENfU0hGVCAwCisjZGVmaW5lIFVWSF9JTlRfQ01QQ19SRUFMX1RJTUVfQ01QQ19NQVNLIDB4MDBmZmZmZmZmZmZmZmZmZlVMCisKK3VuaW9uIHV2aF9pbnRfY21wY191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9pbnRfY21wY19zIHsKKwl1bnNpZ25lZCBsb25nCXJlYWxfdGltZV9jbXBjIDogNTY7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81Nl82MyAgICAgOiAgODsgIC8qICAgICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0lOVF9DTVBEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfSU5UX0NNUEQgMHgyMjE4MFVMCisKKyNkZWZpbmUgVVZIX0lOVF9DTVBEX1JFQUxfVElNRV9DTVBEX1NIRlQgMAorI2RlZmluZSBVVkhfSU5UX0NNUERfUkVBTF9USU1FX0NNUERfTUFTSyAweDAwZmZmZmZmZmZmZmZmZmZVTAorCit1bmlvbiB1dmhfaW50X2NtcGRfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfaW50X2NtcGRfcyB7CisJdW5zaWduZWQgbG9uZwlyZWFsX3RpbWVfY21wZCA6IDU2OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjMgICAgIDogIDg7ICAvKiAgICAqLworICAgIH0gczsKK307CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9JUElfSU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0lQSV9JTlQgMHg2MDUwMFVMCi0jZGVmaW5lIFVWSF9JUElfSU5UXzMyIDB4MDM2MAorI2RlZmluZSBVVkhfSVBJX0lOVF8zMiAweDAzNDgKIAogI2RlZmluZSBVVkhfSVBJX0lOVF9WRUNUT1JfU0hGVCAwCiAjZGVmaW5lIFVWSF9JUElfSU5UX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCkBAIC01MSw3ICszMjQsNyBAQAogLyogICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1QgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9GSVJTVCAweDMyMDA1MFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNUXzMyIDB4MDA5ZjAKKyNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfRklSU1RfMzIgMHgwMDljMAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNUX0FERFJFU1NfU0hGVCA0CiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0ZJUlNUX0FERFJFU1NfTUFTSyAweDAwMDAwN2ZmZmZmZmZmZjBVTApAQCAtNzMsNyArMzQ2LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNUICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfTEFTVCAweDMyMDA2MFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfMzIgMHgwMDlmOAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNUXzMyIDB4MDA5YzgKIAogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9MQVNUX0FERFJFU1NfU0hGVCA0CiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX0xBU1RfQUREUkVTU19NQVNLIDB4MDAwMDA3ZmZmZmZmZmZmMFVMCkBAIC05MSw3ICszNjQsNyBAQAogLyogICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUwgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfUEFZTE9BRF9RVUVVRV9UQUlMIDB4MzIwMDcwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF8zMiAweDAwYTAwCisjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUxfMzIgMHgwMDlkMAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfSU5URF9QQVlMT0FEX1FVRVVFX1RBSUxfQUREUkVTU19TSEZUIDQKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1BBWUxPQURfUVVFVUVfVEFJTF9BRERSRVNTX01BU0sgMHgwMDAwMDdmZmZmZmZmZmYwVUwKQEAgLTEwOSw2ICszODIsNyBAQAogLyogICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0UgMHgzMjAwODBVTAorI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfMzIgMHgwYTY4CiAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFX1BFTkRJTkdfMF9TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFX1BFTkRJTkdfMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMVVMCkBAIC0xNjksMTIgKzQ0MywxMyBAQAogLyogICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFX0FMSUFTICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX0lOVERfU09GVFdBUkVfQUNLTk9XTEVER0VfQUxJQVMgMHgwMDAwMDAwMDAwMzIwMDg4VUwKKyNkZWZpbmUgVVZIX0xCX0JBVV9JTlREX1NPRlRXQVJFX0FDS05PV0xFREdFX0FMSUFTXzMyIDB4MGE3MAogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MIDB4MzIwMDIwVUwKLSNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0xfMzIgMHgwMDlkOAorI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fQ09OVFJPTF8zMiAweDAwOWE4CiAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX0NPTlRST0xfSU5ERVhfU0hGVCAwCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9DT05UUk9MX0lOREVYX01BU0sgMHgwMDAwMDAwMDAwMDAwMDNmVUwKQEAgLTE5Nyw3ICs0NzIsNyBAQAogLyogICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMCAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzAgMHgzMjAwMzBVTAotI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzBfMzIgMHgwMDllMAorI2RlZmluZSBVVkhfTEJfQkFVX1NCX0FDVElWQVRJT05fU1RBVFVTXzBfMzIgMHgwMDliMAogCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF9TVEFUVVNfU0hGVCAwCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMF9TVEFUVVNfTUFTSyAweGZmZmZmZmZmZmZmZmZmZmZVTApAQCAtMjEzLDcgKzQ4OCw3IEBACiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMSAweDMyMDA0MFVMCi0jZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMV8zMiAweDAwOWU4CisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfQUNUSVZBVElPTl9TVEFUVVNfMV8zMiAweDAwOWI4CiAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xX1NUQVRVU19TSEZUIDAKICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9BQ1RJVkFUSU9OX1NUQVRVU18xX1NUQVRVU19NQVNLIDB4ZmZmZmZmZmZmZmZmZmZmZlVMCkBAIC0yMjksNyArNTA0LDcgQEAKIC8qICAgICAgICAgICAgICAgICAgICAgIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgKi8KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICNkZWZpbmUgVVZIX0xCX0JBVV9TQl9ERVNDUklQVE9SX0JBU0UgMHgzMjAwMTBVTAotI2RlZmluZSBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRV8zMiAweDAwOWQwCisjZGVmaW5lIFVWSF9MQl9CQVVfU0JfREVTQ1JJUFRPUl9CQVNFXzMyIDB4MDA5YTAKIAogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRV9QQUdFX0FERFJFU1NfU0hGVCAxMgogI2RlZmluZSBVVkhfTEJfQkFVX1NCX0RFU0NSSVBUT1JfQkFTRV9QQUdFX0FERFJFU1NfTUFTSyAweDAwMDAwN2ZmZmZmZmYwMDBVTApAQCAtMjQ4LDYgKzUyMywzMzQgQEAKIH07CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFIDB4NTBiMjBVTAorCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9PQkVTRV9NU0dfU0hGVCAwCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDFVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfREFUQV9TQl9FUlJfU0hGVCAxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9EQVRBX1NCX0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwMlVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9OQUNLX0JVRkZfUEFSSVRZX1NIRlQgMgorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfTkFDS19CVUZGX1BBUklUWV9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwNFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9USU1FT1VUX1NIRlQgMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUNBU1RfVElNRU9VVF9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwOFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9JTkFDVElWRV9SRVBMWV9TSEZUIDQKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX0lOQUNUSVZFX1JFUExZX01BU0sgMHgwMDAwMDAwMDAwMDAwMDEwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1VQR1JBREVfRVJST1JfU0hGVCA1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9VUEdSQURFX0VSUk9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMDIwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFR19DT1VOVF9VTkRFUkZMT1dfU0hGVCA2CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9SRUdfQ09VTlRfVU5ERVJGTE9XX01BU0sgMHgwMDAwMDAwMDAwMDAwMDQwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01DQVNUX1JFUF9PQkVTRV9NU0dfU0hGVCA3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQ0FTVF9SRVBfT0JFU0VfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAwMDgwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfUlVOVF9NU0dfU0hGVCA4CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDAwMTAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVFfT0JFU0VfTVNHX1NIRlQgOQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAwMDAyMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUV9EQVRBX1NCX0VSUl9TSEZUIDEwCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVRX0RBVEFfU0JfRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwNDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfUlVOVF9NU0dfU0hGVCAxMQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9SVU5UX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX09CRVNFX01TR19TSEZUIDEyCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX09CRVNFX01TR19NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX0RBVEFfU0JfRVJSX1NIRlQgMTMKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9SRVBfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1JFUF9DT01NQU5EX0VSUl9TSEZUIDE0CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9VQ0FDSEVfUkVQX0NPTU1BTkRfRVJSX01BU0sgMHgwMDAwMDAwMDAwMDA0MDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1VDQUNIRV9QRU5EX1RJTUVPVVRfU0hGVCAxNQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfVUNBQ0hFX1BFTkRfVElNRU9VVF9NQVNLIDB4MDAwMDAwMDAwMDAwODAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUV9SVU5UX01TR19TSEZUIDE2CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUV9SVU5UX01TR19NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUV9PQkVTRV9NU0dfU0hGVCAxNworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVFfT0JFU0VfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDIwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX0RBVEFfU0JfRVJSX1NIRlQgMTgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVRX0RBVEFfU0JfRVJSX01BU0sgMHgwMDAwMDAwMDAwMDQwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVQX1JVTlRfTVNHX1NIRlQgMTkKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVQX1JVTlRfTVNHX01BU0sgMHgwMDAwMDAwMDAwMDgwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUkVQX09CRVNFX01TR19TSEZUIDIwCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1JFUF9PQkVTRV9NU0dfTUFTSyAweDAwMDAwMDAwMDAxMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfREFUQV9TQl9FUlJfU0hGVCAyMQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19SRVBfREFUQV9TQl9FUlJfTUFTSyAweDAwMDAwMDAwMDAyMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19BTU9fVElNRU9VVF9TSEZUIDIyCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX0FNT19USU1FT1VUX01BU0sgMHgwMDAwMDAwMDAwNDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfUFVUX1RJTUVPVVRfU0hGVCAyMworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfTUFDQ19QVVRfVElNRU9VVF9NQVNLIDB4MDAwMDAwMDAwMDgwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9NQUNDX1NQVVJJT1VTX0VWRU5UX1NIRlQgMjQKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX01BQ0NfU1BVUklPVVNfRVZFTlRfTUFTSyAweDAwMDAwMDAwMDEwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU9IX0RFU1RJTkFUSU9OX1RBQkxFX1BBUklUWV9TSEZUIDI1CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JT0hfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX01BU0sgMHgwMDAwMDAwMDAyMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0dFVF9IQURfRVJST1JfUkVQTFlfU0hGVCAyNgorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfR0VUX0hBRF9FUlJPUl9SRVBMWV9NQVNLIDB4MDAwMDAwMDAwNDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9HRVRfVElNRU9VVF9TSEZUIDI3CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9HRVRfVElNRU9VVF9NQVNLIDB4MDAwMDAwMDAwODAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9MT0NLX01BTkFHRVJfSEFEX0VSUk9SX1JFUExZX1NIRlQgMjgKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0xPQ0tfTUFOQUdFUl9IQURfRVJST1JfUkVQTFlfTUFTSyAweDAwMDAwMDAwMTAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfUFVUX0hBRF9FUlJPUl9SRVBMWV9TSEZUIDI5CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9QVVRfSEFEX0VSUk9SX1JFUExZX01BU0sgMHgwMDAwMDAwMDIwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1BVVF9USU1FT1VUX1NIRlQgMzAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1BVVF9USU1FT1VUX01BU0sgMHgwMDAwMDAwMDQwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX1NCX0FDVElWQVRJT05fT1ZFUlJVTl9TSEZUIDMxCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9TQl9BQ1RJVkFUSU9OX09WRVJSVU5fTUFTSyAweDAwMDAwMDAwODAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQ09NUExFVEVEX0dCX0FDVElWQVRJT05fSEFEX0VSUk9SX1JFUExZX1NIRlQgMzIKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0NPTVBMRVRFRF9HQl9BQ1RJVkFUSU9OX0hBRF9FUlJPUl9SRVBMWV9NQVNLIDB4MDAwMDAwMDEwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9DT01QTEVURURfR0JfQUNUSVZBVElPTl9USU1FT1VUX1NIRlQgMzMKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0NPTVBMRVRFRF9HQl9BQ1RJVkFUSU9OX1RJTUVPVVRfTUFTSyAweDAwMDAwMDAyMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfREVTQ1JJUFRPUl9CVUZGRVJfMF9QQVJJVFlfU0hGVCAzNAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfREVTQ1JJUFRPUl9CVUZGRVJfMF9QQVJJVFlfTUFTSyAweDAwMDAwMDA0MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfREVTQ1JJUFRPUl9CVUZGRVJfMV9QQVJJVFlfU0hGVCAzNQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfREVTQ1JJUFRPUl9CVUZGRVJfMV9QQVJJVFlfTUFTSyAweDAwMDAwMDA4MDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfU09DS0VUX0RFU1RJTkFUSU9OX1RBQkxFX1BBUklUWV9TSEZUIDM2CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9TT0NLRVRfREVTVElOQVRJT05fVEFCTEVfUEFSSVRZX01BU0sgMHgwMDAwMDAxMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0JBVV9SRVBMWV9QQVlMT0FEX0NPUlJVUFRJT05fU0hGVCAzNworI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfQkFVX1JFUExZX1BBWUxPQURfQ09SUlVQVElPTl9NQVNLIDB4MDAwMDAwMjAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JT19QT1JUX0RFU1RJTkFUSU9OX1RBQkxFX1BBUklUWV9TSEZUIDM4CisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JT19QT1JUX0RFU1RJTkFUSU9OX1RBQkxFX1BBUklUWV9NQVNLIDB4MDAwMDAwNDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlREX1NPRlRfQUNLX1RJTUVPVVRfU0hGVCAzOQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5URF9TT0ZUX0FDS19USU1FT1VUX01BU0sgMHgwMDAwMDA4MDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9SRVBfT0JFU0VfTVNHX1NIRlQgNDAKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9SRVBfT0JFU0VfTVNHX01BU0sgMHgwMDAwMDEwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xCX01DQVNUX0FPRVJSMF9SUFRfRU5BQkxFX0lOVF9SRVBfQ09NTUFORF9FUlJfU0hGVCA0MQorI2RlZmluZSBVVkhfTEJfTUNBU1RfQU9FUlIwX1JQVF9FTkFCTEVfSU5UX1JFUF9DT01NQU5EX0VSUl9NQVNLIDB4MDAwMDAyMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlRfVElNRU9VVF9TSEZUIDQyCisjZGVmaW5lIFVWSF9MQl9NQ0FTVF9BT0VSUjBfUlBUX0VOQUJMRV9JTlRfVElNRU9VVF9NQVNLIDB4MDAwMDA0MDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9sYl9tY2FzdF9hb2VycjBfcnB0X2VuYWJsZV91IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9sYl9tY2FzdF9hb2VycjBfcnB0X2VuYWJsZV9zIHsKKwl1bnNpZ25lZCBsb25nCW1jYXN0X29iZXNlX21zZyAgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X2RhdGFfc2JfZXJyICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X25hY2tfYnVmZl9wYXJpdHkgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X2luYWN0aXZlX3JlcGx5ICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X3VwZ3JhZGVfZXJyb3IgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X3JlZ19jb3VudF91bmRlcmZsb3cgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1jYXN0X3JlcF9vYmVzZV9tc2cgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXFfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXFfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXFfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXBfcnVudF9tc2cgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXBfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXBfZGF0YV9zYl9lcnIgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9yZXBfY29tbWFuZF9lcnIgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXVjYWNoZV9wZW5kX3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcmVxX3J1bnRfbXNnICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcmVxX29iZXNlX21zZyAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcmVxX2RhdGFfc2JfZXJyICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcmVwX3J1bnRfbXNnICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcmVwX29iZXNlX21zZyAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcmVwX2RhdGFfc2JfZXJyICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfYW1vX3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2NfcHV0X3RpbWVvdXQgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1hY2Nfc3B1cmlvdXNfZXZlbnQgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWlvaF9kZXN0aW5hdGlvbl90YWJsZV9wYXJpdHkgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdldF9oYWRfZXJyb3JfcmVwbHkgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdldF90aW1lb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxvY2tfbWFuYWdlcl9oYWRfZXJyb3JfcmVwbHkgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXB1dF9oYWRfZXJyb3JfcmVwbHkgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXB1dF90aW1lb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXNiX2FjdGl2YXRpb25fb3ZlcnJ1biAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWNvbXBsZXRlZF9nYl9hY3RpdmF0aW9uX2hhZF9lcnJvcl9yZXBseSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWNvbXBsZXRlZF9nYl9hY3RpdmF0aW9uX3RpbWVvdXQgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRlc2NyaXB0b3JfYnVmZmVyXzBfcGFyaXR5ICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRlc2NyaXB0b3JfYnVmZmVyXzFfcGFyaXR5ICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXNvY2tldF9kZXN0aW5hdGlvbl90YWJsZV9wYXJpdHkgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWJhdV9yZXBseV9wYXlsb2FkX2NvcnJ1cHRpb24gICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWlvX3BvcnRfZGVzdGluYXRpb25fdGFibGVfcGFyaXR5ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWludGRfc29mdF9hY2tfdGltZW91dCAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWludF9yZXBfb2Jlc2VfbXNnICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWludF9yZXBfY29tbWFuZF9lcnIgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWludF90aW1lb3V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDNfNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDIxOyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX0xPQ0FMX0lOVDBfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJRyAweDYxMDAwVUwKKworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX0RNX1NIRlQgOAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfREVTVE1PREVfU0hGVCAxMQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfREVTVE1PREVfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1NUQVRVU19NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19QX1NIRlQgMTMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19UX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9DT05GSUdfTV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0NPTkZJR19BUElDX0lEX1NIRlQgMzIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfbG9jYWxfaW50MF9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfbG9jYWxfaW50MF9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwl2ZWN0b3JfICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRtICAgICAgIDogIDM7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzdG1vZGUgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzdGF0dXMgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXAgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xNCAgOiAgMTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwl0ICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCW0gICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xN18zMTogMTU7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYXBpY19pZCAgOiAzMjsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9MT0NBTF9JTlQwX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEUgMHg2NTAwMFVMCisKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0hDRVJSX1NIRlQgMAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMDFVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IwX0hDRVJSX1NIRlQgMQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IwX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDAyVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMV9IQ0VSUl9TSEZUIDIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMV9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAwNFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9IQ0VSUl9TSEZUIDMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xIX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDA4VUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0hDRVJSX1NIRlQgNAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfSENFUlJfTUFTSyAweDAwMDAwMDAwMDAwMDAwMTBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fSENFUlJfU0hGVCA1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9YTl9IQ0VSUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDAyMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9IQ0VSUl9TSEZUIDYKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NJX0hDRVJSX01BU0sgMHgwMDAwMDAwMDAwMDAwMDQwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0FPRVJSMF9TSEZUIDcKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDA4MFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIwX1NIRlQgOAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IwX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDEwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjFfQU9FUlIwX1NIRlQgOQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMDIwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjBfU0hGVCAxMAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEhfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAwNDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMF9TSEZUIDExCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9BT0VSUjBfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIwX1NIRlQgMTIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1hOX0FPRVJSMF9NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjBfU0hGVCAxMworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU0lfQU9FUlIwX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0FPRVJSMV9TSEZUIDE0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwMDQwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IwX0FPRVJSMV9TSEZUIDE1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9HUjBfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0dSMV9BT0VSUjFfU0hGVCAxNgorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfR1IxX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MSF9BT0VSUjFfU0hGVCAxNworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEhfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMDIwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX0FPRVJSMV9TSEZUIDE4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9SSF9BT0VSUjFfTUFTSyAweDAwMDAwMDAwMDAwNDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfWE5fQU9FUlIxX1NIRlQgMTkKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1hOX0FPRVJSMV9NQVNLIDB4MDAwMDAwMDAwMDA4MDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TSV9BT0VSUjFfU0hGVCAyMAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU0lfQU9FUlIxX01BU0sgMHgwMDAwMDAwMDAwMTAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1JIX1ZQSV9JTlRfU0hGVCAyMQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfUkhfVlBJX0lOVF9NQVNLIDB4MDAwMDAwMDAwMDIwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TWVNURU1fU0hVVERPV05fSU5UX1NIRlQgMjIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX1NZU1RFTV9TSFVURE9XTl9JTlRfTUFTSyAweDAwMDAwMDAwMDA0MDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8wX1NIRlQgMjMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMF9NQVNLIDB4MDAwMDAwMDAwMDgwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzFfU0hGVCAyNAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xX01BU0sgMHgwMDAwMDAwMDAxMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMl9TSEZUIDI1CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzJfTUFTSyAweDAwMDAwMDAwMDIwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8zX1NIRlQgMjYKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfM19NQVNLIDB4MDAwMDAwMDAwNDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzRfU0hGVCAyNworI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF80X01BU0sgMHgwMDAwMDAwMDA4MDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNV9TSEZUIDI4CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzVfTUFTSyAweDAwMDAwMDAwMTAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF82X1NIRlQgMjkKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfNl9NQVNLIDB4MDAwMDAwMDAyMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzdfU0hGVCAzMAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF83X01BU0sgMHgwMDAwMDAwMDQwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfOF9TSEZUIDMxCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzhfTUFTSyAweDAwMDAwMDAwODAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF85X1NIRlQgMzIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfOV9NQVNLIDB4MDAwMDAwMDEwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzEwX1NIRlQgMzMKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTBfTUFTSyAweDAwMDAwMDAyMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMV9TSEZUIDM0CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzExX01BU0sgMHgwMDAwMDAwNDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTJfU0hGVCAzNQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xMl9NQVNLIDB4MDAwMDAwMDgwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzEzX1NIRlQgMzYKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTNfTUFTSyAweDAwMDAwMDEwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xNF9TSEZUIDM3CisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MQl9JUlFfSU5UXzE0X01BU0sgMHgwMDAwMDAyMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xCX0lSUV9JTlRfMTVfU0hGVCAzOAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTEJfSVJRX0lOVF8xNV9NQVNLIDB4MDAwMDAwNDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MMV9OTUlfSU5UX1NIRlQgMzkKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX05NSV9JTlRfTUFTSyAweDAwMDAwMDgwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfU1RPUF9DTE9DS19TSEZUIDQwCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9TVE9QX0NMT0NLX01BU0sgMHgwMDAwMDEwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0FTSUNfVE9fTDFfU0hGVCA0MQorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfQVNJQ19UT19MMV9NQVNLIDB4MDAwMDAyMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MMV9UT19BU0lDX1NIRlQgNDIKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0wxX1RPX0FTSUNfTUFTSyAweDAwMDAwNDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfTE9DQUxfSU5UMF9FTkFCTEVfTFRDX0lOVF9TSEZUIDQzCisjZGVmaW5lIFVWSF9MT0NBTF9JTlQwX0VOQUJMRV9MVENfSU5UX01BU0sgMHgwMDAwMDgwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xBX1NFUV9UUklHR0VSX1NIRlQgNDQKKyNkZWZpbmUgVVZIX0xPQ0FMX0lOVDBfRU5BQkxFX0xBX1NFUV9UUklHR0VSX01BU0sgMHgwMDAwMTAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX2xvY2FsX2ludDBfZW5hYmxlX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX2xvY2FsX2ludDBfZW5hYmxlX3MgeworCXVuc2lnbmVkIGxvbmcJbGJfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMF9oY2VyciAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjFfaGNlcnIgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGhfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJoX2hjZXJyICAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwl4bl9oY2VyciAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc2lfaGNlcnIgICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlncjBfYW9lcnIwICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IxX2FvZXJyMCAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxoX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyaF9hb2VycjAgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJeG5fYW9lcnIwICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXNpX2FvZXJyMCAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZ3IwX2FvZXJyMSAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWdyMV9hb2VycjEgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsaF9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcmhfYW9lcnIxICAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXhuX2FvZXJyMSAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzaV9hb2VycjEgICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcmhfdnBpX2ludCAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN5c3RlbV9zaHV0ZG93bl9pbnQgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMiAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzMgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF80ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfNSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzYgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF83ICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfOCAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzkgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMCAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTEgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzEyICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbGJfaXJxX2ludF8xMyAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWxiX2lycV9pbnRfMTQgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYl9pcnFfaW50XzE1ICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbDFfbm1pX2ludCAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0b3BfY2xvY2sgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlhc2ljX3RvX2wxICAgICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJbDFfdG9fYXNpYyAgICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWx0Y19pbnQgICAgICAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlsYV9zZXFfdHJpZ2dlciAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF80NV82MyAgICAgICAgICA6IDE5OyAgLyogICAgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfTk9ERV9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9OT0RFX0lEIDB4MFVMCkBAIC0yODQsMTQgKzg4NywxMDEgQEAKIH07CiAKIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX05PREVfUFJFU0VOVF9UQUJMRSAweDE0MDBVTAorI2RlZmluZSBVVkhfTk9ERV9QUkVTRU5UX1RBQkxFX0RFUFRIIDE2CisKKyNkZWZpbmUgVVZIX05PREVfUFJFU0VOVF9UQUJMRV9OT0RFU19TSEZUIDAKKyNkZWZpbmUgVVZIX05PREVfUFJFU0VOVF9UQUJMRV9OT0RFU19NQVNLIDB4ZmZmZmZmZmZmZmZmZmZmZlVMCisKK3VuaW9uIHV2aF9ub2RlX3ByZXNlbnRfdGFibGVfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfbm9kZV9wcmVzZW50X3RhYmxlX3MgeworCXVuc2lnbmVkIGxvbmcJbm9kZXMgOiA2NDsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMF9NTVIgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18wX01NUiAweDE2MDAwZDBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SX0RFU1RfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzBfTU1SX0RFU1RfQkFTRV9NQVNLIDB4MDAwMDNmZmZmZjAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fYWxpYXMyMTBfcmVkaXJlY3RfY29uZmlnXzBfbW1yX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMF9tbXJfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjMgOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlkZXN0X2Jhc2UgOiAyMjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ2XzYzOiAxODsgIC8qICAgICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMV9NTVIgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18xX01NUiAweDE2MDAwZTBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SX0RFU1RfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzFfTU1SX0RFU1RfQkFTRV9NQVNLIDB4MDAwMDNmZmZmZjAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fYWxpYXMyMTBfcmVkaXJlY3RfY29uZmlnXzFfbW1yX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMV9tbXJfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjMgOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlkZXN0X2Jhc2UgOiAyMjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ2XzYzOiAxODsgIC8qICAgICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9BTElBUzIxMF9SRURJUkVDVF9DT05GSUdfMl9NTVIgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUkhfR0FNX0FMSUFTMjEwX1JFRElSRUNUX0NPTkZJR18yX01NUiAweDE2MDAwZjBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzJfTU1SX0RFU1RfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9SSF9HQU1fQUxJQVMyMTBfUkVESVJFQ1RfQ09ORklHXzJfTU1SX0RFU1RfQkFTRV9NQVNLIDB4MDAwMDNmZmZmZjAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fYWxpYXMyMTBfcmVkaXJlY3RfY29uZmlnXzJfbW1yX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3JoX2dhbV9hbGlhczIxMF9yZWRpcmVjdF9jb25maWdfMl9tbXJfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjMgOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlkZXN0X2Jhc2UgOiAyMjsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ2XzYzOiAxODsgIC8qICAgICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUiAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVIgMHgxNjAwMDIwVUwKKworI2RlZmluZSBVVkhfUkhfR0FNX0NGR19PVkVSTEFZX0NPTkZJR19NTVJfQkFTRV9TSEZUIDI2CisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX01BU0sgMHgwMDAwM2ZmZmZjMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9DRkdfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9TSEZUIDYzCisjZGVmaW5lIFVWSF9SSF9HQU1fQ0ZHX09WRVJMQVlfQ09ORklHX01NUl9FTkFCTEVfTUFTSyAweDgwMDAwMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfcmhfZ2FtX2NmZ19vdmVybGF5X2NvbmZpZ19tbXJfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcmhfZ2FtX2NmZ19vdmVybGF5X2NvbmZpZ19tbXJfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjU6IDI2OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWJhc2UgICA6IDIwOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNDZfNjI6IDE3OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWVuYWJsZSA6ICAxOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUiAweDE2MDAwMTBVTAogCiAjZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX1NIRlQgMjgKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfTUFTSyAweDAwMDAzZmZmZjAwMDAwMDBVTAotI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfR1I0X1NIRlQgNDYKLSNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0dSNF9NQVNLIDB4MDAwMDQwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9SSF9HQU1fR1JVX09WRVJMQVlfQ09ORklHX01NUl9HUjRfU0hGVCA0OAorI2RlZmluZSBVVkhfUkhfR0FNX0dSVV9PVkVSTEFZX0NPTkZJR19NTVJfR1I0X01BU0sgMHgwMDAxMDAwMDAwMDAwMDAwVUwKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX05fR1JVX1NIRlQgNTIKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX05fR1JVX01BU0sgMHgwMGYwMDAwMDAwMDAwMDAwVUwKICNkZWZpbmUgVVZIX1JIX0dBTV9HUlVfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9TSEZUIDYzCkBAIC0zMDIsOCArOTkyLDkgQEAKICAgICBzdHJ1Y3QgdXZoX3JoX2dhbV9ncnVfb3ZlcmxheV9jb25maWdfbW1yX3MgewogCXVuc2lnbmVkIGxvbmcJcnN2ZF8wXzI3OiAyODsgIC8qICAgICovCiAJdW5zaWduZWQgbG9uZwliYXNlICAgOiAxODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ2XzQ3OiAgMjsgIC8qICAgICovCiAJdW5zaWduZWQgbG9uZwlncjQgICAgOiAgMTsgIC8qIFJXICovCi0JdW5zaWduZWQgbG9uZwlyc3ZkXzQ3XzUxOiAgNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzQ5XzUxOiAgMzsgIC8qICAgICovCiAJdW5zaWduZWQgbG9uZwluX2dydSAgOiAgNDsgIC8qIFJXICovCiAJdW5zaWduZWQgbG9uZwlyc3ZkXzU2XzYyOiAgNzsgIC8qICAgICovCiAJdW5zaWduZWQgbG9uZwllbmFibGUgOiAgMTsgIC8qIFJXICovCkBAIC0zMTEsNiArMTAwMiwzMiBAQAogfTsKIAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVIgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUiAweDE2MDAwMzBVTAorCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0JBU0VfU0hGVCAzMAorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9CQVNFX01BU0sgMHgwMDAwM2ZmZmMwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfTV9JT19TSEZUIDQ2CisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX01fSU9fTUFTSyAweDAwMGZjMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfUkhfR0FNX01NSU9IX09WRVJMQVlfQ09ORklHX01NUl9OX0lPX1NIRlQgNTIKKyNkZWZpbmUgVVZIX1JIX0dBTV9NTUlPSF9PVkVSTEFZX0NPTkZJR19NTVJfTl9JT19NQVNLIDB4MDBmMDAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9TSEZUIDYzCisjZGVmaW5lIFVWSF9SSF9HQU1fTU1JT0hfT1ZFUkxBWV9DT05GSUdfTU1SX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9yaF9nYW1fbW1pb2hfb3ZlcmxheV9jb25maWdfbW1yX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3JoX2dhbV9tbWlvaF9vdmVybGF5X2NvbmZpZ19tbXJfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjk6IDMwOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWJhc2UgICA6IDE2OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW1faW8gICA6ICA2OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCW5faW8gICA6ICA0OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTZfNjI6ICA3OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWVuYWJsZSA6ICAxOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiAgICAgICAgICAgICAgICAgICAgVVZIX1JIX0dBTV9NTVJfT1ZFUkxBWV9DT05GSUdfTU1SICAgICAgICAgICAgICAgICAgICAgICovCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAjZGVmaW5lIFVWSF9SSF9HQU1fTU1SX09WRVJMQVlfQ09ORklHX01NUiAweDE2MDAwMjhVTApAQCAtMzM2LDcgKzEwNTMsNyBAQAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfUlRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotI2RlZmluZSBVVkhfUlRDIDB4MjgwMDBVTAorI2RlZmluZSBVVkhfUlRDIDB4MzQwMDAwVUwKIAogI2RlZmluZSBVVkhfUlRDX1JFQUxfVElNRV9DTE9DS19TSEZUIDAKICNkZWZpbmUgVVZIX1JUQ19SRUFMX1RJTUVfQ0xPQ0tfTUFTSyAweDAwZmZmZmZmZmZmZmZmZmZVTApAQCAtMzUwLDYgKzEwNjcsMTM5IEBACiB9OwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9SVEMxX0lOVF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUcgMHg2MTVjMFVMCisKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19WRUNUT1JfU0hGVCAwCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfVkVDVE9SX01BU0sgMHgwMDAwMDAwMDAwMDAwMGZmVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19ETV9TSEZUIDgKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19ETV9NQVNLIDB4MDAwMDAwMDAwMDAwMDcwMFVMCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfREVTVE1PREVfU0hGVCAxMQorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX0RFU1RNT0RFX01BU0sgMHgwMDAwMDAwMDAwMDAwODAwVUwKKyNkZWZpbmUgVVZIX1JUQzFfSU5UX0NPTkZJR19TVEFUVVNfU0hGVCAxMgorI2RlZmluZSBVVkhfUlRDMV9JTlRfQ09ORklHX1NUQVRVU19NQVNLIDB4MDAwMDAwMDAwMDAwMTAwMFVMCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfUF9TSEZUIDEzCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfUF9NQVNLIDB4MDAwMDAwMDAwMDAwMjAwMFVMCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfVF9TSEZUIDE1CisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfVF9NQVNLIDB4MDAwMDAwMDAwMDAwODAwMFVMCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfTV9TSEZUIDE2CisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfTV9NQVNLIDB4MDAwMDAwMDAwMDAxMDAwMFVMCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfQVBJQ19JRF9TSEZUIDMyCisjZGVmaW5lIFVWSF9SVEMxX0lOVF9DT05GSUdfQVBJQ19JRF9NQVNLIDB4ZmZmZmZmZmYwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9ydGMxX2ludF9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcnRjMV9pbnRfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJdmVjdG9yXyAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkbSAgICAgICA6ICAzOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRlc3Rtb2RlIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJc3RhdHVzICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlwICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTQgIDogIDE7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJdCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwltICAgICAgICA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMTdfMzE6IDE1OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWFwaWNfaWQgIDogMzI7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgVVZIX1JUQzJfSU5UX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJRyAweDYxNjAwVUwKKworI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1ZFQ1RPUl9TSEZUIDAKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19WRUNUT1JfTUFTSyAweDAwMDAwMDAwMDAwMDAwZmZVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0RNX1NIRlQgOAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX0RNX01BU0sgMHgwMDAwMDAwMDAwMDAwNzAwVUwKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19ERVNUTU9ERV9TSEZUIDExCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfREVTVE1PREVfTUFTSyAweDAwMDAwMDAwMDAwMDA4MDBVTAorI2RlZmluZSBVVkhfUlRDMl9JTlRfQ09ORklHX1NUQVRVU19TSEZUIDEyCisjZGVmaW5lIFVWSF9SVEMyX0lOVF9DT05GSUdfU1RBVFVTX01BU0sgMHgwMDAwMDAwMDAwMDAxMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19QX1NIRlQgMTMKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19QX01BU0sgMHgwMDAwMDAwMDAwMDAyMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19UX1NIRlQgMTUKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19UX01BU0sgMHgwMDAwMDAwMDAwMDA4MDAwVUwKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19NX1NIRlQgMTYKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19NX01BU0sgMHgwMDAwMDAwMDAwMDEwMDAwVUwKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19BUElDX0lEX1NIRlQgMzIKKyNkZWZpbmUgVVZIX1JUQzJfSU5UX0NPTkZJR19BUElDX0lEX01BU0sgMHhmZmZmZmZmZjAwMDAwMDAwVUwKKwordW5pb24gdXZoX3J0YzJfaW50X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9ydGMyX2ludF9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwl2ZWN0b3JfICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCWRtICAgICAgIDogIDM7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZGVzdG1vZGUgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlzdGF0dXMgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCXAgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xNCAgOiAgMTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwl0ICAgICAgICA6ICAxOyAgLyogUk8gKi8KKwl1bnNpZ25lZCBsb25nCW0gICAgICAgIDogIDE7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8xN18zMTogMTU7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYXBpY19pZCAgOiAzMjsgIC8qIFJXICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfUlRDM19JTlRfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHIDB4NjE2NDBVTAorCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfVkVDVE9SX1NIRlQgMAorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1ZFQ1RPUl9NQVNLIDB4MDAwMDAwMDAwMDAwMDBmZlVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfRE1fU0hGVCA4CisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfRE1fTUFTSyAweDAwMDAwMDAwMDAwMDA3MDBVTAorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX0RFU1RNT0RFX1NIRlQgMTEKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19ERVNUTU9ERV9NQVNLIDB4MDAwMDAwMDAwMDAwMDgwMFVMCisjZGVmaW5lIFVWSF9SVEMzX0lOVF9DT05GSUdfU1RBVFVTX1NIRlQgMTIKKyNkZWZpbmUgVVZIX1JUQzNfSU5UX0NPTkZJR19TVEFUVVNfTUFTSyAweDAwMDAwMDAwMDAwMDEwMDBVTAorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1BfU0hGVCAxMworI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1BfTUFTSyAweDAwMDAwMDAwMDAwMDIwMDBVTAorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1RfU0hGVCAxNQorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX1RfTUFTSyAweDAwMDAwMDAwMDAwMDgwMDBVTAorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX01fU0hGVCAxNgorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX01fTUFTSyAweDAwMDAwMDAwMDAwMTAwMDBVTAorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX0FQSUNfSURfU0hGVCAzMgorI2RlZmluZSBVVkhfUlRDM19JTlRfQ09ORklHX0FQSUNfSURfTUFTSyAweGZmZmZmZmZmMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfcnRjM19pbnRfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3J0YzNfaW50X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXZlY3Rvcl8gIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJZG0gICAgICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlkZXN0bW9kZSA6ICAxOyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXN0YXR1cyAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJcCAgICAgICAgOiAgMTsgIC8qIFJPICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE0ICA6ICAxOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCXQgICAgICAgIDogIDE7ICAvKiBSTyAqLworCXVuc2lnbmVkIGxvbmcJbSAgICAgICAgOiAgMTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzE3XzMxOiAxNTsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwlhcGljX2lkICA6IDMyOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkhfUlRDX0lOQ19SQVRJTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPIDB4MzUwMDAwVUwKKworI2RlZmluZSBVVkhfUlRDX0lOQ19SQVRJT19GUkFDVElPTl9TSEZUIDAKKyNkZWZpbmUgVVZIX1JUQ19JTkNfUkFUSU9fRlJBQ1RJT05fTUFTSyAweDAwMDAwMDAwMDAwZmZmZmZVTAorI2RlZmluZSBVVkhfUlRDX0lOQ19SQVRJT19SQVRJT19TSEZUIDIwCisjZGVmaW5lIFVWSF9SVENfSU5DX1JBVElPX1JBVElPX01BU0sgMHgwMDAwMDAwMDAwNzAwMDAwVUwKKwordW5pb24gdXZoX3J0Y19pbmNfcmF0aW9fdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfcnRjX2luY19yYXRpb19zIHsKKwl1bnNpZ25lZCBsb25nCWZyYWN0aW9uIDogMjA7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcmF0aW8gICAgOiAgMzsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzIzXzYzOiA0MTsgIC8qICAgICovCisgICAgfSBzOworfTsKKworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogLyogICAgICAgICAgICAgICAgICAgICAgICAgIFVWSF9TSV9BRERSX01BUF9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogI2RlZmluZSBVVkhfU0lfQUREUl9NQVBfQ09ORklHIDB4YzgwMDAwVUwKQEAgLTM2OSw1ICsxMjE5LDc3IEBACiAgICAgfSBzOwogfTsKIAorLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworLyogICAgICAgICAgICAgICAgICAgICAgIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUcgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLworI2RlZmluZSBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHIDB4YzgwMDA4VUwKKworI2RlZmluZSBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHX0JBU0VfU0hGVCAyNAorI2RlZmluZSBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHX0JBU0VfTUFTSyAweDAwMDAwMDAwZmYwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHX01fQUxJQVNfU0hGVCA0OAorI2RlZmluZSBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHX01fQUxJQVNfTUFTSyAweDAwMWYwMDAwMDAwMDAwMDBVTAorI2RlZmluZSBVVkhfU0lfQUxJQVMwX09WRVJMQVlfQ09ORklHX0VOQUJMRV9TSEZUIDYzCisjZGVmaW5lIFVWSF9TSV9BTElBUzBfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX01BU0sgMHg4MDAwMDAwMDAwMDAwMDAwVUwKKwordW5pb24gdXZoX3NpX2FsaWFzMF9vdmVybGF5X2NvbmZpZ191IHsKKyAgICB1bnNpZ25lZCBsb25nCXY7CisgICAgc3RydWN0IHV2aF9zaV9hbGlhczBfb3ZlcmxheV9jb25maWdfcyB7CisJdW5zaWduZWQgbG9uZwlyc3ZkXzBfMjM6IDI0OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWJhc2UgICAgOiAgODsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzMyXzQ3OiAxNjsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwltX2FsaWFzIDogIDU7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF81M182MjogMTA7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJZW5hYmxlICA6ICAxOyAgLyogUlcgKi8KKyAgICB9IHM7Cit9OworCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJRyAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCisjZGVmaW5lIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUcgMHhjODAwMTBVTAorCisjZGVmaW5lIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUdfQkFTRV9TSEZUIDI0CisjZGVmaW5lIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUdfQkFTRV9NQVNLIDB4MDAwMDAwMDBmZjAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19TSEZUIDQ4CisjZGVmaW5lIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUdfTV9BTElBU19NQVNLIDB4MDAxZjAwMDAwMDAwMDAwMFVMCisjZGVmaW5lIFVWSF9TSV9BTElBUzFfT1ZFUkxBWV9DT05GSUdfRU5BQkxFX1NIRlQgNjMKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMV9PVkVSTEFZX0NPTkZJR19FTkFCTEVfTUFTSyAweDgwMDAwMDAwMDAwMDAwMDBVTAorCit1bmlvbiB1dmhfc2lfYWxpYXMxX292ZXJsYXlfY29uZmlnX3UgeworICAgIHVuc2lnbmVkIGxvbmcJdjsKKyAgICBzdHJ1Y3QgdXZoX3NpX2FsaWFzMV9vdmVybGF5X2NvbmZpZ19zIHsKKwl1bnNpZ25lZCBsb25nCXJzdmRfMF8yMzogMjQ7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJYmFzZSAgICA6ICA4OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfMzJfNDc6IDE2OyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCW1fYWxpYXMgOiAgNTsgIC8qIFJXICovCisJdW5zaWduZWQgbG9uZwlyc3ZkXzUzXzYyOiAxMDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwllbmFibGUgIDogIDE7ICAvKiBSVyAqLworICAgIH0gczsKK307CisKKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKyNkZWZpbmUgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJRyAweGM4MDAxOFVMCisKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJR19CQVNFX1NIRlQgMjQKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJR19CQVNFX01BU0sgMHgwMDAwMDAwMGZmMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX1NIRlQgNDgKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJR19NX0FMSUFTX01BU0sgMHgwMDFmMDAwMDAwMDAwMDAwVUwKKyNkZWZpbmUgVVZIX1NJX0FMSUFTMl9PVkVSTEFZX0NPTkZJR19FTkFCTEVfU0hGVCA2MworI2RlZmluZSBVVkhfU0lfQUxJQVMyX09WRVJMQVlfQ09ORklHX0VOQUJMRV9NQVNLIDB4ODAwMDAwMDAwMDAwMDAwMFVMCisKK3VuaW9uIHV2aF9zaV9hbGlhczJfb3ZlcmxheV9jb25maWdfdSB7CisgICAgdW5zaWduZWQgbG9uZwl2OworICAgIHN0cnVjdCB1dmhfc2lfYWxpYXMyX292ZXJsYXlfY29uZmlnX3MgeworCXVuc2lnbmVkIGxvbmcJcnN2ZF8wXzIzOiAyNDsgIC8qICAgICovCisJdW5zaWduZWQgbG9uZwliYXNlICAgIDogIDg7ICAvKiBSVyAqLworCXVuc2lnbmVkIGxvbmcJcnN2ZF8zMl80NzogMTY7ICAvKiAgICAqLworCXVuc2lnbmVkIGxvbmcJbV9hbGlhcyA6ICA1OyAgLyogUlcgKi8KKwl1bnNpZ25lZCBsb25nCXJzdmRfNTNfNjI6IDEwOyAgLyogICAgKi8KKwl1bnNpZ25lZCBsb25nCWVuYWJsZSAgOiAgMTsgIC8qIFJXICovCisgICAgfSBzOworfTsKKwogCiAjZW5kaWYgLyogX19BU01fWDg2X1VWX01NUlNfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvY29iYWx0LmggYi9pbmNsdWRlL2FzbS14ODYvdmlzd3MvY29iYWx0LmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2NvYmFsdC5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS14ODYvdmlzd3MvY29iYWx0LmgKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2xpdGhpdW0uaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9saXRoaXVtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGluY2x1ZGUvYXNtLXg4Ni9tYWNoLXZpc3dzL2xpdGhpdW0uaApyZW5hbWUgdG8gaW5jbHVkZS9hc20teDg2L3Zpc3dzL2xpdGhpdW0uaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L21hY2gtdmlzd3MvcGlpeDQuaCBiL2luY2x1ZGUvYXNtLXg4Ni92aXN3cy9waWl4NC5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBpbmNsdWRlL2FzbS14ODYvbWFjaC12aXN3cy9waWl4NC5oCnJlbmFtZSB0byBpbmNsdWRlL2FzbS14ODYvdmlzd3MvcGlpeDQuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3Zpc3dzL3NnaXZ3LmggYi9pbmNsdWRlL2FzbS14ODYvdmlzd3Mvc2dpdncuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmJmNjNlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9hc20teDg2L3Zpc3dzL3NnaXZ3LmgKQEAgLTAsMCArMSw1IEBACisvKgorICogRnJhbWUgYnVmZmVyIHBvc2l0aW9uIGFuZCBzaXplOgorICovCitleHRlcm4gdW5zaWduZWQgbG9uZyBzZ2l2d2ZiX21lbV9waHlzOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2dpdndmYl9tZW1fc2l6ZTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni92bTg2LmggYi9pbmNsdWRlL2FzbS14ODYvdm04Ni5oCmluZGV4IDA3NGIzNTcuLjVjZTM1MTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni92bTg2LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3ZtODYuaApAQCAtMTQsMTIgKzE0LDYgQEAKIAogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3ItZmxhZ3MuaD4KIAotI2lmZGVmIENPTkZJR19WTTg2Ci0jZGVmaW5lIFg4Nl9WTV9NQVNLCVg4Nl9FRkxBR1NfVk0KLSNlbHNlCi0jZGVmaW5lIFg4Nl9WTV9NQVNLCTAgLyogTm8gVk04NiBzdXBwb3J0ICovCi0jZW5kaWYKLQogI2RlZmluZSBCSU9TU0VHCQkweDBmMDAwCiAKICNkZWZpbmUgQ1BVXzA4NgkJMApAQCAtMTIxLDcgKzExNSw2IEBACiAJdW5zaWduZWQgbG9uZyBpc192bTg2cHVzOjE7CSAgICAgIC8qIGZvciB2bTg2IGludGVybmFsIHVzZSAqLwogCXVuc2lnbmVkIGNoYXIgdm04NmRiZ19pbnR4eHRhYlszMl07ICAgLyogZm9yIGRlYnVnZ2VyICovCiB9OwotCiBzdHJ1Y3Qgdm04NnBsdXNfc3RydWN0IHsKIAlzdHJ1Y3Qgdm04Nl9yZWdzIHJlZ3M7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTEzMyw2ICsxMjYsOSBAQAogfTsKIAogI2lmZGVmIF9fS0VSTkVMX18KKworI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKwogLyoKICAqIFRoaXMgaXMgdGhlIChrZXJuZWwpIHN0YWNrLWxheW91dCB3aGVuIHdlIGhhdmUgZG9uZSBhICJTQVZFX0FMTCIgZnJvbSB2bTg2CiAgKiBtb2RlIC0gdGhlIG1haW4gY2hhbmdlIGlzIHRoYXQgdGhlIG9sZCBzZWdtZW50IGRlc2NyaXB0b3JzIGFyZW4ndApAQCAtMTQxLDcgKzEzNyw2IEBACiAgKiBhdCB0aGUgZW5kIG9mIHRoZSBzdHJ1Y3R1cmUuIExvb2sgYXQgcHRyYWNlLmggdG8gc2VlIHRoZSAibm9ybWFsIgogICogc2V0dXAuIEZvciB1c2VyIHNwYWNlIGxheW91dCBzZWUgJ3N0cnVjdCB2bTg2X3JlZ3MnIGFib3ZlLgogICovCi0jaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgogCiBzdHJ1Y3Qga2VybmVsX3ZtODZfcmVncyB7CiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3ZtaV90aW1lLmggYi9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaAppbmRleCA0NzgxODgxLi5jMzExOGMzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdm1pX3RpbWUuaApAQCAtNTAsNyArNTAsNyBAQAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdm1pX2dldF93YWxsY2xvY2sodm9pZCk7CiBleHRlcm4gaW50IHZtaV9zZXRfd2FsbGNsb2NrKHVuc2lnbmVkIGxvbmcgbm93KTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgdm1pX3NjaGVkX2Nsb2NrKHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdm1pX2NwdV9raHoodm9pZCk7CitleHRlcm4gdW5zaWduZWQgbG9uZyB2bWlfdHNjX2toeih2b2lkKTsKIAogI2lmZGVmIENPTkZJR19YODZfTE9DQUxfQVBJQwogZXh0ZXJuIHZvaWQgX19kZXZpbml0IHZtaV90aW1lX2JzcF9pbml0KHZvaWQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hc20teDg2L3ZzeXNjYWxsLmggYi9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaAppbmRleCAxN2IzNzAwLi42YjY2ZmY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaAorKysgYi9pbmNsdWRlL2FzbS14ODYvdnN5c2NhbGwuaApAQCAtMjQsNyArMjQsOCBAQAogCSgodW51c2VkLCBfX3NlY3Rpb25fXyAoIi52c3lzY2FsbF9ndG9kX2RhdGEiKSxhbGlnbmVkKDE2KSkpCiAjZGVmaW5lIF9fc2VjdGlvbl92c3lzY2FsbF9jbG9jayBfX2F0dHJpYnV0ZV9fIFwKIAkoKHVudXNlZCwgX19zZWN0aW9uX18gKCIudnN5c2NhbGxfY2xvY2siKSxhbGlnbmVkKDE2KSkpCi0jZGVmaW5lIF9fdnN5c2NhbGxfZm4gX19hdHRyaWJ1dGVfXyAoKHVudXNlZCxfX3NlY3Rpb25fXygiLnZzeXNjYWxsX2ZuIikpKQorI2RlZmluZSBfX3ZzeXNjYWxsX2ZuIFwKKwlfX2F0dHJpYnV0ZV9fICgodW51c2VkLCBfX3NlY3Rpb25fXygiLnZzeXNjYWxsX2ZuIikpKSBub3RyYWNlCiAKICNkZWZpbmUgVkdFVENQVV9SRFRTQ1AJMQogI2RlZmluZSBWR0VUQ1BVX0xTTAkyCmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYveGVuL2V2ZW50cy5oIGIvaW5jbHVkZS9hc20teDg2L3hlbi9ldmVudHMuaAppbmRleCA1OTYzMTJhLi5mOGQ1N2VhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYveGVuL2V2ZW50cy5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vZXZlbnRzLmgKQEAgLTQsNiArNCw3IEBACiBlbnVtIGlwaV92ZWN0b3IgewogCVhFTl9SRVNDSEVEVUxFX1ZFQ1RPUiwKIAlYRU5fQ0FMTF9GVU5DVElPTl9WRUNUT1IsCisJWEVOX0NBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUiwKIAogCVhFTl9OUl9JUElTLAogfTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmggYi9pbmNsdWRlL2FzbS14ODYveGVuL2h5cGVyY2FsbC5oCmluZGV4IGMyY2NkOTkuLjJhNGY5YjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vaHlwZXJjYWxsLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hlbi9oeXBlcmNhbGwuaApAQCAtMTc2LDkgKzE3Niw5IEBACiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50Ci1IWVBFUlZJU09SX3NjaGVkX29wKGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQorSFlQRVJWSVNPUl9zY2hlZF9vcChpbnQgY21kLCB2b2lkICphcmcpCiB7Ci0JcmV0dXJuIF9oeXBlcmNhbGwyKGludCwgc2NoZWRfb3AsIGNtZCwgYXJnKTsKKwlyZXR1cm4gX2h5cGVyY2FsbDIoaW50LCBzY2hlZF9vcF9uZXcsIGNtZCwgYXJnKTsKIH0KIAogc3RhdGljIGlubGluZSBsb25nCkBAIC0zMTUsNiArMzE1LDEzIEBACiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZAorTVVMVElfZnB1X3Rhc2tzd2l0Y2goc3RydWN0IG11bHRpY2FsbF9lbnRyeSAqbWNsLCBpbnQgc2V0KQoreworCW1jbC0+b3AgPSBfX0hZUEVSVklTT1JfZnB1X3Rhc2tzd2l0Y2g7CisJbWNsLT5hcmdzWzBdID0gc2V0OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKIE1VTFRJX3VwZGF0ZV92YV9tYXBwaW5nKHN0cnVjdCBtdWx0aWNhbGxfZW50cnkgKm1jbCwgdW5zaWduZWQgbG9uZyB2YSwKIAkJCXB0ZV90IG5ld192YWwsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2FzbS14ODYveGVuL3BhZ2UuaCBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oCmluZGV4IGUxMWYyNDAuLjM3N2MwNDUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oCisrKyBiL2luY2x1ZGUvYXNtLXg4Ni94ZW4vcGFnZS5oCkBAIC0yNiwxNSArMjYsMjAgQEAKICNkZWZpbmUgRk9SRUlHTl9GUkFNRV9CSVQJKDFVTDw8MzEpCiAjZGVmaW5lIEZPUkVJR05fRlJBTUUobSkJKChtKSB8IEZPUkVJR05fRlJBTUVfQklUKQogCi1leHRlcm4gdW5zaWduZWQgbG9uZyAqcGh5c190b19tYWNoaW5lX21hcHBpbmc7CisvKiBNYXhpbXVtIGFtb3VudCBvZiBtZW1vcnkgd2UgY2FuIGhhbmRsZSBpbiBhIGRvbWFpbiBpbiBwYWdlcyAqLworI2RlZmluZSBNQVhfRE9NQUlOX1BBR0VTCQkJCQkJXAorICAgICgodW5zaWduZWQgbG9uZykoKHU2NClDT05GSUdfWEVOX01BWF9ET01BSU5fTUVNT1JZICogMTAyNCAqIDEwMjQgKiAxMDI0IC8gUEFHRV9TSVpFKSkKKworCitleHRlcm4gdW5zaWduZWQgbG9uZyBnZXRfcGh5c190b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgcGZuKTsKK2V4dGVybiB2b2lkIHNldF9waHlzX3RvX21hY2hpbmUodW5zaWduZWQgbG9uZyBwZm4sIHVuc2lnbmVkIGxvbmcgbWZuKTsKIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHBmbl90b19tZm4odW5zaWduZWQgbG9uZyBwZm4pCiB7CiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQogCQlyZXR1cm4gcGZuOwogCi0JcmV0dXJuIHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nWyh1bnNpZ25lZCBpbnQpKHBmbildICYKLQkJfkZPUkVJR05fRlJBTUVfQklUOworCXJldHVybiBnZXRfcGh5c190b19tYWNoaW5lKHBmbikgJiB+Rk9SRUlHTl9GUkFNRV9CSVQ7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nX3ZhbGlkKHVuc2lnbmVkIGxvbmcgcGZuKQpAQCAtNDIsNyArNDcsNyBAQAogCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkKIAkJcmV0dXJuIDE7CiAKLQlyZXR1cm4gKHBoeXNfdG9fbWFjaGluZV9tYXBwaW5nW3Bmbl0gIT0gSU5WQUxJRF9QMk1fRU5UUlkpOworCXJldHVybiBnZXRfcGh5c190b19tYWNoaW5lKHBmbikgIT0gSU5WQUxJRF9QMk1fRU5UUlk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBtZm5fdG9fcGZuKHVuc2lnbmVkIGxvbmcgbWZuKQpAQCAtMTA2LDIwICsxMTEsMTIgQEAKIAl1bnNpZ25lZCBsb25nIHBmbiA9IG1mbl90b19wZm4obWZuKTsKIAlpZiAoKHBmbiA8IG1heF9tYXBucikKIAkgICAgJiYgIXhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApCi0JICAgICYmIChwaHlzX3RvX21hY2hpbmVfbWFwcGluZ1twZm5dICE9IG1mbikpCisJICAgICYmIChnZXRfcGh5c190b19tYWNoaW5lKHBmbikgIT0gbWZuKSkKIAkJcmV0dXJuIG1heF9tYXBucjsgLyogZm9yY2UgIXBmbl92YWxpZCgpICovCisJLyogWFhYIGZpeG1lOyBub3QgdHJ1ZSB3aXRoIHNwYXJzZW1lbSAqLwogCXJldHVybiBwZm47CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcGh5c190b19tYWNoaW5lKHVuc2lnbmVkIGxvbmcgcGZuLCB1bnNpZ25lZCBsb25nIG1mbikKLXsKLQlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9hdXRvX3RyYW5zbGF0ZWRfcGh5c21hcCkpIHsKLQkJQlVHX09OKHBmbiAhPSBtZm4gJiYgbWZuICE9IElOVkFMSURfUDJNX0VOVFJZKTsKLQkJcmV0dXJuOwotCX0KLQlwaHlzX3RvX21hY2hpbmVfbWFwcGluZ1twZm5dID0gbWZuOwotfQotCiAvKiBWSVJUIDwtPiBNQUNISU5FIGNvbnZlcnNpb24gKi8KICNkZWZpbmUgdmlydF90b19tYWNoaW5lKHYpCShwaHlzX3RvX21hY2hpbmUoWFBBRERSKF9fcGEodikpKSkKICNkZWZpbmUgdmlydF90b19tZm4odikJCShwZm5fdG9fbWZuKFBGTl9ET1dOKF9fcGEodikpKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaCBiL2luY2x1ZGUvYXNtLXg4Ni94b3JfMzIuaAppbmRleCAwNjdiNWMxLi45MjFiNDU4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYveG9yXzMyLmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hvcl8zMi5oCkBAIC0xLDMgKzEsNiBAQAorI2lmbmRlZiBBU01fWDg2X19YT1JfMzJfSAorI2RlZmluZSBBU01fWDg2X19YT1JfMzJfSAorCiAvKgogICogT3B0aW1pemVkIFJBSUQtNSBjaGVja3N1bW1pbmcgZnVuY3Rpb25zIGZvciBNTVggYW5kIFNTRS4KICAqCkBAIC04ODEsMyArODg0LDUgQEAKICAgIGRlYWxzIHdpdGggYSBsb2FkIHRvIGEgbGluZSB0aGF0IGlzIGJlaW5nIHByZWZldGNoZWQuICAqLwogI2RlZmluZSBYT1JfU0VMRUNUX1RFTVBMQVRFKEZBU1RFU1QpCQkJXAogCShjcHVfaGFzX3htbSA/ICZ4b3JfYmxvY2tfcElJSV9zc2UgOiBGQVNURVNUKQorCisjZW5kaWYgLyogQVNNX1g4Nl9fWE9SXzMyX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaCBiL2luY2x1ZGUvYXNtLXg4Ni94b3JfNjQuaAppbmRleCAyNDk1N2UzLi4yZDNhMThkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2FzbS14ODYveG9yXzY0LmgKKysrIGIvaW5jbHVkZS9hc20teDg2L3hvcl82NC5oCkBAIC0xLDMgKzEsNiBAQAorI2lmbmRlZiBBU01fWDg2X19YT1JfNjRfSAorI2RlZmluZSBBU01fWDg2X19YT1JfNjRfSAorCiAvKgogICogT3B0aW1pemVkIFJBSUQtNSBjaGVja3N1bW1pbmcgZnVuY3Rpb25zIGZvciBNTVggYW5kIFNTRS4KICAqCkBAIC0zNTQsMyArMzU3LDUgQEAKICAgIFdlIG1heSBhbHNvIGJlIGFibGUgdG8gbG9hZCBpbnRvIHRoZSBMMSBvbmx5IGRlcGVuZGluZyBvbiBob3cgdGhlIGNwdQogICAgZGVhbHMgd2l0aCBhIGxvYWQgdG8gYSBsaW5lIHRoYXQgaXMgYmVpbmcgcHJlZmV0Y2hlZC4gICovCiAjZGVmaW5lIFhPUl9TRUxFQ1RfVEVNUExBVEUoRkFTVEVTVCkgKCZ4b3JfYmxvY2tfc3NlKQorCisjZW5kaWYgLyogQVNNX1g4Nl9fWE9SXzY0X0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3J5cHRvL2hhc2guaCBiL2luY2x1ZGUvY3J5cHRvL2hhc2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTI0OThlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jcnlwdG8vaGFzaC5oCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogSGFzaDogSGFzaCBhbGdvcml0aG1zIHVuZGVyIHRoZSBjcnlwdG8gQVBJCisgKiAKKyAqIENvcHlyaWdodCAoYykgMjAwOCBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIAorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpZm5kZWYgX0NSWVBUT19IQVNIX0gKKyNkZWZpbmUgX0NSWVBUT19IQVNIX0gKKworI2luY2x1ZGUgPGxpbnV4L2NyeXB0by5oPgorCitzdHJ1Y3QgY3J5cHRvX2FoYXNoIHsKKwlzdHJ1Y3QgY3J5cHRvX3RmbSBiYXNlOworfTsKKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX2FoYXNoICpfX2NyeXB0b19haGFzaF9jYXN0KHN0cnVjdCBjcnlwdG9fdGZtICp0Zm0pCit7CisJcmV0dXJuIChzdHJ1Y3QgY3J5cHRvX2FoYXNoICopdGZtOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjcnlwdG9fYWhhc2ggKmNyeXB0b19hbGxvY19haGFzaChjb25zdCBjaGFyICphbGdfbmFtZSwKKwkJCQkJCSAgICAgIHUzMiB0eXBlLCB1MzIgbWFzaykKK3sKKwl0eXBlICY9IH5DUllQVE9fQUxHX1RZUEVfTUFTSzsKKwltYXNrICY9IH5DUllQVE9fQUxHX1RZUEVfTUFTSzsKKwl0eXBlIHw9IENSWVBUT19BTEdfVFlQRV9BSEFTSDsKKwltYXNrIHw9IENSWVBUT19BTEdfVFlQRV9BSEFTSF9NQVNLOworCisJcmV0dXJuIF9fY3J5cHRvX2FoYXNoX2Nhc3QoY3J5cHRvX2FsbG9jX2Jhc2UoYWxnX25hbWUsIHR5cGUsIG1hc2spKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY3J5cHRvX3RmbSAqY3J5cHRvX2FoYXNoX3RmbShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuICZ0Zm0tPmJhc2U7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fZnJlZV9haGFzaChzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJY3J5cHRvX2ZyZWVfdGZtKGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGNyeXB0b19haGFzaF9hbGlnbm1hc2soCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiBjcnlwdG9fdGZtX2FsZ19hbGlnbm1hc2soY3J5cHRvX2FoYXNoX3RmbSh0Zm0pKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYWhhc2hfdGZtICpjcnlwdG9fYWhhc2hfY3J0KHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXR1cm4gJmNyeXB0b19haGFzaF90Zm0odGZtKS0+Y3J0X2FoYXNoOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcnlwdG9fYWhhc2hfZGlnZXN0c2l6ZShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b19haGFzaF9jcnQodGZtKS0+ZGlnZXN0c2l6ZTsKK30KKworc3RhdGljIGlubGluZSB1MzIgY3J5cHRvX2FoYXNoX2dldF9mbGFncyhzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fZ2V0X2ZsYWdzKGNyeXB0b19haGFzaF90Zm0odGZtKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjcnlwdG9fYWhhc2hfc2V0X2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgdTMyIGZsYWdzKQoreworCWNyeXB0b190Zm1fc2V0X2ZsYWdzKGNyeXB0b19haGFzaF90Zm0odGZtKSwgZmxhZ3MpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgY3J5cHRvX2FoYXNoX2NsZWFyX2ZsYWdzKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgdTMyIGZsYWdzKQoreworCWNyeXB0b190Zm1fY2xlYXJfZmxhZ3MoY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGNyeXB0b19haGFzaCAqY3J5cHRvX2FoYXNoX3JlcXRmbSgKKwlzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBfX2NyeXB0b19haGFzaF9jYXN0KHJlcS0+YmFzZS50Zm0pOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBjcnlwdG9fYWhhc2hfcmVxc2l6ZShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b19haGFzaF9jcnQodGZtKS0+cmVxc2l6ZTsKK30KKworc3RhdGljIGlubGluZSBpbnQgY3J5cHRvX2FoYXNoX3NldGtleShzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0sCisJCQkJICAgICAgY29uc3QgdTggKmtleSwgdW5zaWduZWQgaW50IGtleWxlbikKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICpjcnQgPSBjcnlwdG9fYWhhc2hfY3J0KHRmbSk7CisKKwlyZXR1cm4gY3J0LT5zZXRrZXkodGZtLCBrZXksIGtleWxlbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNyeXB0b19haGFzaF9kaWdlc3Qoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSkKK3sKKwlzdHJ1Y3QgYWhhc2hfdGZtICpjcnQgPSBjcnlwdG9fYWhhc2hfY3J0KGNyeXB0b19haGFzaF9yZXF0Zm0ocmVxKSk7CisJcmV0dXJuIGNydC0+ZGlnZXN0KHJlcSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhaGFzaF9yZXF1ZXN0X3NldF90Zm0oc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJIHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSkKK3sKKwlyZXEtPmJhc2UudGZtID0gY3J5cHRvX2FoYXNoX3RmbSh0Zm0pOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICphaGFzaF9yZXF1ZXN0X2FsbG9jKAorCXN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgZ2ZwX3QgZ2ZwKQoreworCXN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXE7CisKKwlyZXEgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgYWhhc2hfcmVxdWVzdCkgKworCQkgICAgICBjcnlwdG9fYWhhc2hfcmVxc2l6ZSh0Zm0pLCBnZnApOworCisJaWYgKGxpa2VseShyZXEpKQorCQlhaGFzaF9yZXF1ZXN0X3NldF90Zm0ocmVxLCB0Zm0pOworCisJcmV0dXJuIHJlcTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3RfZnJlZShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCWtmcmVlKHJlcSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX3JlcXVlc3RfY2FzdCgKKwlzdHJ1Y3QgY3J5cHRvX2FzeW5jX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKHJlcSwgc3RydWN0IGFoYXNoX3JlcXVlc3QsIGJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWhhc2hfcmVxdWVzdF9zZXRfY2FsbGJhY2soc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSwKKwkJCQkJICAgICAgdTMyIGZsYWdzLAorCQkJCQkgICAgICBjcnlwdG9fY29tcGxldGlvbl90IGNvbXBsZXRlLAorCQkJCQkgICAgICB2b2lkICpkYXRhKQoreworCXJlcS0+YmFzZS5jb21wbGV0ZSA9IGNvbXBsZXRlOworCXJlcS0+YmFzZS5kYXRhID0gZGF0YTsKKwlyZXEtPmJhc2UuZmxhZ3MgPSBmbGFnczsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFoYXNoX3JlcXVlc3Rfc2V0X2NyeXB0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEsCisJCQkJCSAgIHN0cnVjdCBzY2F0dGVybGlzdCAqc3JjLCB1OCAqcmVzdWx0LAorCQkJCQkgICB1bnNpZ25lZCBpbnQgbmJ5dGVzKQoreworCXJlcS0+c3JjID0gc3JjOworCXJlcS0+bmJ5dGVzID0gbmJ5dGVzOworCXJlcS0+cmVzdWx0ID0gcmVzdWx0OworfQorCisjZW5kaWYJLyogX0NSWVBUT19IQVNIX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3J5cHRvL2ludGVybmFsL2hhc2guaCBiL2luY2x1ZGUvY3J5cHRvL2ludGVybmFsL2hhc2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTdhZTU3Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jcnlwdG8vaW50ZXJuYWwvaGFzaC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBIYXNoIGFsZ29yaXRobXMuCisgKiAKKyAqIENvcHlyaWdodCAoYykgMjAwOCBIZXJiZXJ0IFh1IDxoZXJiZXJ0QGdvbmRvci5hcGFuYS5vcmcuYXU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisgKiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIAorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpZm5kZWYgX0NSWVBUT19JTlRFUk5BTF9IQVNIX0gKKyNkZWZpbmUgX0NSWVBUT19JTlRFUk5BTF9IQVNIX0gKKworI2luY2x1ZGUgPGNyeXB0by9hbGdhcGkuaD4KKyNpbmNsdWRlIDxjcnlwdG8vaGFzaC5oPgorCitzdHJ1Y3QgYWhhc2hfcmVxdWVzdDsKK3N0cnVjdCBzY2F0dGVybGlzdDsKKworc3RydWN0IGNyeXB0b19oYXNoX3dhbGsgeworCWNoYXIgKmRhdGE7CisKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0OworCXVuc2lnbmVkIGludCBhbGlnbm1hc2s7CisKKwlzdHJ1Y3QgcGFnZSAqcGc7CisJdW5zaWduZWQgaW50IGVudHJ5bGVuOworCisJdW5zaWduZWQgaW50IHRvdGFsOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7CisKKwl1bnNpZ25lZCBpbnQgZmxhZ3M7Cit9OworCitleHRlcm4gY29uc3Qgc3RydWN0IGNyeXB0b190eXBlIGNyeXB0b19haGFzaF90eXBlOworCitpbnQgY3J5cHRvX2hhc2hfd2Fsa19kb25lKHN0cnVjdCBjcnlwdG9faGFzaF93YWxrICp3YWxrLCBpbnQgZXJyKTsKK2ludCBjcnlwdG9faGFzaF93YWxrX2ZpcnN0KHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEsCisJCQkgICBzdHJ1Y3QgY3J5cHRvX2hhc2hfd2FsayAqd2Fsayk7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCAqY3J5cHRvX2FoYXNoX2N0eChzdHJ1Y3QgY3J5cHRvX2FoYXNoICp0Zm0pCit7CisJcmV0dXJuIGNyeXB0b190Zm1fY3R4KCZ0Zm0tPmJhc2UpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBhaGFzaF9hbGcgKmNyeXB0b19haGFzaF9hbGcoCisJc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiAmY3J5cHRvX2FoYXNoX3RmbSh0Zm0pLT5fX2NydF9hbGctPmNyYV9haGFzaDsKK30KKworc3RhdGljIGlubGluZSBpbnQgYWhhc2hfZW5xdWV1ZV9yZXF1ZXN0KHN0cnVjdCBjcnlwdG9fcXVldWUgKnF1ZXVlLAorCQkJCQkgICAgIHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXF1ZXN0KQoreworCXJldHVybiBjcnlwdG9fZW5xdWV1ZV9yZXF1ZXN0KHF1ZXVlLCAmcmVxdWVzdC0+YmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGFoYXNoX3JlcXVlc3QgKmFoYXNoX2RlcXVldWVfcmVxdWVzdCgKKwlzdHJ1Y3QgY3J5cHRvX3F1ZXVlICpxdWV1ZSkKK3sKKwlyZXR1cm4gYWhhc2hfcmVxdWVzdF9jYXN0KGNyeXB0b19kZXF1ZXVlX3JlcXVlc3QocXVldWUpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkICphaGFzaF9yZXF1ZXN0X2N0eChzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiByZXEtPl9fY3R4OworfQorCitzdGF0aWMgaW5saW5lIGludCBhaGFzaF90Zm1faW5fcXVldWUoc3RydWN0IGNyeXB0b19xdWV1ZSAqcXVldWUsCisJCQkJCSAgc3RydWN0IGNyeXB0b19haGFzaCAqdGZtKQoreworCXJldHVybiBjcnlwdG9fdGZtX2luX3F1ZXVlKHF1ZXVlLCBjcnlwdG9fYWhhc2hfdGZtKHRmbSkpOworfQorCisjZW5kaWYJLyogX0NSWVBUT19JTlRFUk5BTF9IQVNIX0ggKi8KKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vS2J1aWxkIGIvaW5jbHVkZS9kcm0vS2J1aWxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYjY5ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2RybS9LYnVpbGQKQEAgLTAsMCArMSwxMCBAQAordW5pZmRlZi15ICs9IGRybS5oIGRybV9zYXJlYS5oCit1bmlmZGVmLXkgKz0gaTgxMF9kcm0uaAordW5pZmRlZi15ICs9IGk4MzBfZHJtLmgKK3VuaWZkZWYteSArPSBpOTE1X2RybS5oCit1bmlmZGVmLXkgKz0gbWdhX2RybS5oCit1bmlmZGVmLXkgKz0gcjEyOF9kcm0uaAordW5pZmRlZi15ICs9IHJhZGVvbl9kcm0uaAordW5pZmRlZi15ICs9IHNpc19kcm0uaAordW5pZmRlZi15ICs9IHNhdmFnZV9kcm0uaAordW5pZmRlZi15ICs9IHZpYV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm0uaCBiL2luY2x1ZGUvZHJtL2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1QLmggYi9pbmNsdWRlL2RybS9kcm1QLmgKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1QLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybVAuaAppbmRleCAwNzY0YjY2Li4xYzFiMTNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NoYXIvZHJtL2RybVAuaAorKysgYi9pbmNsdWRlL2RybS9kcm1QLmgKQEAgLTEwODksNiArMTA4OSw3IEBACiBleHRlcm4gaW50IGRybV9tbV9hZGRfc3BhY2VfdG9fdGFpbChzdHJ1Y3QgZHJtX21tICptbSwgdW5zaWduZWQgbG9uZyBzaXplKTsKIAogZXh0ZXJuIHZvaWQgZHJtX2NvcmVfaW9yZW1hcChzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK2V4dGVybiB2b2lkIGRybV9jb3JlX2lvcmVtYXBfd2Moc3RydWN0IGRybV9tYXAgKm1hcCwgc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBleHRlcm4gdm9pZCBkcm1fY29yZV9pb3JlbWFwZnJlZShzdHJ1Y3QgZHJtX21hcCAqbWFwLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAogc3RhdGljIF9faW5saW5lX18gc3RydWN0IGRybV9tYXAgKmRybV9jb3JlX2ZpbmRtYXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX2NvcmUuaCBiL2luY2x1ZGUvZHJtL2RybV9jb3JlLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX2NvcmUuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX2NvcmUuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5oIGIvaW5jbHVkZS9kcm0vZHJtX2hhc2h0YWIuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1faGFzaHRhYi5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1faGFzaHRhYi5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9tZW1vcnkuaCBiL2luY2x1ZGUvZHJtL2RybV9tZW1vcnkuaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5LmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9tZW1vcnkuaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9kcm1fbWVtb3J5X2RlYnVnLmggYi9pbmNsdWRlL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX21lbW9yeV9kZWJ1Zy5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9kcm1fbWVtb3J5X2RlYnVnLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX29zX2xpbnV4LmggYi9pbmNsdWRlL2RybS9kcm1fb3NfbGludXguaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9kcm1fb3NfbGludXguaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX29zX2xpbnV4LmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vZHJtX3BjaWlkcy5oIGIvaW5jbHVkZS9kcm0vZHJtX3BjaWlkcy5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9wY2lpZHMuaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vZHJtX3BjaWlkcy5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zYXJlYS5oIGIvaW5jbHVkZS9kcm0vZHJtX3NhcmVhLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vZHJtX3NhcmVhLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9zYXJlYS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmggYi9pbmNsdWRlL2RybS9kcm1fc21hbi5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2RybV9zbWFuLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2RybV9zbWFuLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vaTgxMF9kcm0uaCBiL2luY2x1ZGUvZHJtL2k4MTBfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vaTgxMF9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vaTgxMF9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9pODMwX2RybS5oIGIvaW5jbHVkZS9kcm0vaTgzMF9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9pODMwX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9pODMwX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL2RybS9pOTE1X2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL2k5MTVfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL2k5MTVfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vbWdhX2RybS5oIGIvaW5jbHVkZS9kcm0vbWdhX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL21nYV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vbWdhX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJtLmggYi9pbmNsdWRlL2RybS9yMTI4X2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3IxMjhfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3IxMjhfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vcmFkZW9uX2RybS5oIGIvaW5jbHVkZS9kcm0vcmFkZW9uX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3JhZGVvbl9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vcmFkZW9uX2RybS5oCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NoYXIvZHJtL3NhdmFnZV9kcm0uaCBiL2luY2x1ZGUvZHJtL3NhdmFnZV9kcm0uaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZHJpdmVycy9jaGFyL2RybS9zYXZhZ2VfZHJtLmgKcmVuYW1lIHRvIGluY2x1ZGUvZHJtL3NhdmFnZV9kcm0uaApkaWZmIC0tZ2l0IGEvZHJpdmVycy9jaGFyL2RybS9zaXNfZHJtLmggYi9pbmNsdWRlL2RybS9zaXNfZHJtLmgKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGRyaXZlcnMvY2hhci9kcm0vc2lzX2RybS5oCnJlbmFtZSB0byBpbmNsdWRlL2RybS9zaXNfZHJtLmgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2hhci9kcm0vdmlhX2RybS5oIGIvaW5jbHVkZS9kcm0vdmlhX2RybS5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2NoYXIvZHJtL3ZpYV9kcm0uaApyZW5hbWUgdG8gaW5jbHVkZS9kcm0vdmlhX2RybS5oCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2FjcGkuaCBiL2luY2x1ZGUvbGludXgvYWNwaS5oCmluZGV4IDQxZjdjZTcuLjA2MDEwNzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYWNwaS5oCisrKyBiL2luY2x1ZGUvbGludXgvYWNwaS5oCkBAIC04Miw2ICs4Miw3IEBACiBpbnQgZWFybHlfYWNwaV9ib290X2luaXQodm9pZCk7CiBpbnQgYWNwaV9ib290X2luaXQgKHZvaWQpOwogaW50IGFjcGlfYm9vdF90YWJsZV9pbml0ICh2b2lkKTsKK2ludCBhY3BpX21wc19jaGVjayAodm9pZCk7CiBpbnQgYWNwaV9udW1hX2luaXQgKHZvaWQpOwogCiBpbnQgYWNwaV90YWJsZV9pbml0ICh2b2lkKTsKQEAgLTI1MCw2ICsyNTEsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgYWNwaV9tcHNfY2hlY2sodm9pZCkKK3sKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlubGluZSBpbnQgYWNwaV9jaGVja19yZXNvdXJjZV9jb25mbGljdChzdHJ1Y3QgcmVzb3VyY2UgKnJlcykKIHsKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYmlvLmggYi9pbmNsdWRlL2xpbnV4L2Jpby5oCmluZGV4IDYxYzE1ZWEuLjA5MzNhMTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvYmlvLmgKKysrIGIvaW5jbHVkZS9saW51eC9iaW8uaApAQCAtNjQsNiArNjQsNyBAQAogCiBzdHJ1Y3QgYmlvX3NldDsKIHN0cnVjdCBiaW87CitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkOwogdHlwZWRlZiB2b2lkIChiaW9fZW5kX2lvX3QpIChzdHJ1Y3QgYmlvICosIGludCk7CiB0eXBlZGVmIHZvaWQgKGJpb19kZXN0cnVjdG9yX3QpIChzdHJ1Y3QgYmlvICopOwogCkBAIC0xMTIsNiArMTEzLDkgQEAKIAlhdG9taWNfdAkJYmlfY250OwkJLyogcGluIGNvdW50ICovCiAKIAl2b2lkCQkJKmJpX3ByaXZhdGU7CisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisJc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlfaW50ZWdyaXR5OyAgLyogZGF0YSBpbnRlZ3JpdHkgKi8KKyNlbmRpZgogCiAJYmlvX2Rlc3RydWN0b3JfdAkqYmlfZGVzdHJ1Y3RvcjsJLyogZGVzdHJ1Y3RvciAqLwogfTsKQEAgLTI3MSw2ICsyNzUsMjkgQEAKICAqLwogI2RlZmluZSBiaW9fZ2V0KGJpbykJYXRvbWljX2luYygmKGJpbyktPmJpX2NudCkKIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorLyoKKyAqIGJpbyBpbnRlZ3JpdHkgcGF5bG9hZAorICovCitzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkIHsKKwlzdHJ1Y3QgYmlvCQkqYmlwX2JpbzsJLyogcGFyZW50IGJpbyAqLworCXN0cnVjdCBiaW9fdmVjCQkqYmlwX3ZlYzsJLyogaW50ZWdyaXR5IGRhdGEgdmVjdG9yICovCisKKwlzZWN0b3JfdAkJYmlwX3NlY3RvcjsJLyogdmlydHVhbCBzdGFydCBzZWN0b3IgKi8KKworCXZvaWQJCQkqYmlwX2J1ZjsJLyogZ2VuZXJhdGVkIGludGVncml0eSBkYXRhICovCisJYmlvX2VuZF9pb190CQkqYmlwX2VuZF9pbzsJLyogc2F2ZWQgSS9PIGNvbXBsZXRpb24gZm4gKi8KKworCWludAkJCWJpcF9lcnJvcjsJLyogc2F2ZWQgSS9PIGVycm9yICovCisJdW5zaWduZWQgaW50CQliaXBfc2l6ZTsKKworCXVuc2lnbmVkIHNob3J0CQliaXBfcG9vbDsJLyogcG9vbCB0aGUgaXZlYyBjYW1lIGZyb20gKi8KKwl1bnNpZ25lZCBzaG9ydAkJYmlwX3ZjbnQ7CS8qICMgb2YgaW50ZWdyaXR5IGJpb192ZWNzICovCisJdW5zaWduZWQgc2hvcnQJCWJpcF9pZHg7CS8qIGN1cnJlbnQgYmlwX3ZlYyBpbmRleCAqLworCisJc3RydWN0IHdvcmtfc3RydWN0CWJpcF93b3JrOwkvKiBJL08gY29tcGxldGlvbiAqLworfTsKKyNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KIAogLyoKICAqIEEgYmlvX3BhaXIgaXMgdXNlZCB3aGVuIHdlIG5lZWQgdG8gc3BsaXQgYSBiaW8uCkBAIC0yODMsMTAgKzMxMCwxNCBAQAogICogICBpbiBiaW8yLmJpX3ByaXZhdGUKICAqLwogc3RydWN0IGJpb19wYWlyIHsKLQlzdHJ1Y3QgYmlvCWJpbzEsIGJpbzI7Ci0Jc3RydWN0IGJpb192ZWMJYnYxLCBidjI7Ci0JYXRvbWljX3QJY250OwotCWludAkJZXJyb3I7CisJc3RydWN0IGJpbwkJCWJpbzEsIGJpbzI7CisJc3RydWN0IGJpb192ZWMJCQlidjEsIGJ2MjsKKyNpZiBkZWZpbmVkKENPTkZJR19CTEtfREVWX0lOVEVHUklUWSkKKwlzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkCWJpcDEsIGJpcDI7CisJc3RydWN0IGJpb192ZWMJCQlpdjEsIGl2MjsKKyNlbmRpZgorCWF0b21pY190CQkJY250OworCWludAkJCQllcnJvcjsKIH07CiBleHRlcm4gc3RydWN0IGJpb19wYWlyICpiaW9fc3BsaXQoc3RydWN0IGJpbyAqYmksIG1lbXBvb2xfdCAqcG9vbCwKIAkJCQkgIGludCBmaXJzdF9zZWN0b3JzKTsKQEAgLTMzMyw2ICszNjQsMzkgQEAKIAkJCQkgICAgIGludCwgaW50KTsKIGV4dGVybiBpbnQgYmlvX3VuY29weV91c2VyKHN0cnVjdCBiaW8gKik7CiB2b2lkIHplcm9fZmlsbF9iaW8oc3RydWN0IGJpbyAqYmlvKTsKK2V4dGVybiBzdHJ1Y3QgYmlvX3ZlYyAqYnZlY19hbGxvY19icyhnZnBfdCwgaW50LCB1bnNpZ25lZCBsb25nICosIHN0cnVjdCBiaW9fc2V0ICopOworZXh0ZXJuIHVuc2lnbmVkIGludCBidmVjX25yX3ZlY3ModW5zaWduZWQgc2hvcnQgaWR4KTsKKworLyoKKyAqIGJpb19zZXQgaXMgdXNlZCB0byBhbGxvdyBvdGhlciBwb3J0aW9ucyBvZiB0aGUgSU8gc3lzdGVtIHRvCisgKiBhbGxvY2F0ZSB0aGVpciBvd24gcHJpdmF0ZSBtZW1vcnkgcG9vbHMgZm9yIGJpbyBhbmQgaW92ZWMgc3RydWN0dXJlcy4KKyAqIFRoZXNlIG1lbW9yeSBwb29scyBpbiB0dXJuIGFsbCBhbGxvY2F0ZSBmcm9tIHRoZSBiaW9fc2xhYgorICogYW5kIHRoZSBidmVjX3NsYWJzW10uCisgKi8KKyNkZWZpbmUgQklPX1BPT0xfU0laRSAyCisjZGVmaW5lIEJJT1ZFQ19OUl9QT09MUyA2CisKK3N0cnVjdCBiaW9fc2V0IHsKKwltZW1wb29sX3QgKmJpb19wb29sOworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCW1lbXBvb2xfdCAqYmlvX2ludGVncml0eV9wb29sOworI2VuZGlmCisJbWVtcG9vbF90ICpidmVjX3Bvb2xzW0JJT1ZFQ19OUl9QT09MU107Cit9OworCitzdHJ1Y3QgYmlvdmVjX3NsYWIgeworCWludCBucl92ZWNzOworCWNoYXIgKm5hbWU7CisJc3RydWN0IGttZW1fY2FjaGUgKnNsYWI7Cit9OworCitleHRlcm4gc3RydWN0IGJpb19zZXQgKmZzX2Jpb19zZXQ7CisKKy8qCisgKiBhIHNtYWxsIG51bWJlciBvZiBlbnRyaWVzIGlzIGZpbmUsIG5vdCBnb2luZyB0byBiZSBwZXJmb3JtYW5jZSBjcml0aWNhbC4KKyAqIGJhc2ljYWxseSB3ZSBqdXN0IG5lZWQgdG8gc3Vydml2ZQorICovCisjZGVmaW5lIEJJT19TUExJVF9FTlRSSUVTIDIKIAogI2lmZGVmIENPTkZJR19ISUdITUVNCiAvKgpAQCAtMzgxLDUgKzQ0NSw2MyBAQAogCV9fYmlvX2ttYXBfaXJxKChiaW8pLCAoYmlvKS0+YmlfaWR4LCAoZmxhZ3MpKQogI2RlZmluZSBiaW9fa3VubWFwX2lycShidWYsZmxhZ3MpCV9fYmlvX2t1bm1hcF9pcnEoYnVmLCBmbGFncykKIAorI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCisjZGVmaW5lIGJpcF92ZWNfaWR4KGJpcCwgaWR4KQkoJihiaXAtPmJpcF92ZWNbKGlkeCldKSkKKyNkZWZpbmUgYmlwX3ZlYyhiaXApCQliaXBfdmVjX2lkeChiaXAsIDApCisKKyNkZWZpbmUgX19iaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpLCBzdGFydF9pZHgpCQkJXAorCWZvciAoYnZsID0gYmlwX3ZlY19pZHgoKGJpcCksIChzdGFydF9pZHgpKSwgaSA9IChzdGFydF9pZHgpOwlcCisJICAgICBpIDwgKGJpcCktPmJpcF92Y250OwkJCQkJXAorCSAgICAgYnZsKyssIGkrKykKKworI2RlZmluZSBiaXBfZm9yX2VhY2hfdmVjKGJ2bCwgYmlwLCBpKQkJCQkJXAorCV9fYmlwX2Zvcl9lYWNoX3ZlYyhidmwsIGJpcCwgaSwgKGJpcCktPmJpcF9pZHgpCisKK3N0YXRpYyBpbmxpbmUgaW50IGJpb19pbnRlZ3JpdHkoc3RydWN0IGJpbyAqYmlvKQoreworI2lmIGRlZmluZWQoQ09ORklHX0JMS19ERVZfSU5URUdSSVRZKQorCXJldHVybiBiaW8tPmJpX2ludGVncml0eSAhPSBOVUxMOworI2Vsc2UKKwlyZXR1cm4gMDsKKyNlbmRpZgorfQorCitleHRlcm4gc3RydWN0IGJpb19pbnRlZ3JpdHlfcGF5bG9hZCAqYmlvX2ludGVncml0eV9hbGxvY19iaW9zZXQoc3RydWN0IGJpbyAqLCBnZnBfdCwgdW5zaWduZWQgaW50LCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBzdHJ1Y3QgYmlvX2ludGVncml0eV9wYXlsb2FkICpiaW9faW50ZWdyaXR5X2FsbG9jKHN0cnVjdCBiaW8gKiwgZ2ZwX3QsIHVuc2lnbmVkIGludCk7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3NldCAqKTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9hZGRfcGFnZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBwYWdlICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9lbmFibGVkKHN0cnVjdCBiaW8gKmJpbyk7CitleHRlcm4gaW50IGJpb19pbnRlZ3JpdHlfc2V0X3RhZyhzdHJ1Y3QgYmlvICosIHZvaWQgKiwgdW5zaWduZWQgaW50KTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9nZXRfdGFnKHN0cnVjdCBiaW8gKiwgdm9pZCAqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuIGludCBiaW9faW50ZWdyaXR5X3ByZXAoc3RydWN0IGJpbyAqKTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfZW5kaW8oc3RydWN0IGJpbyAqLCBpbnQpOworZXh0ZXJuIHZvaWQgYmlvX2ludGVncml0eV9hZHZhbmNlKHN0cnVjdCBiaW8gKiwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfdHJpbShzdHJ1Y3QgYmlvICosIHVuc2lnbmVkIGludCwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJpb19pbnRlZ3JpdHlfc3BsaXQoc3RydWN0IGJpbyAqLCBzdHJ1Y3QgYmlvX3BhaXIgKiwgaW50KTsKK2V4dGVybiBpbnQgYmlvX2ludGVncml0eV9jbG9uZShzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW8gKiwgc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gaW50IGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKHN0cnVjdCBiaW9fc2V0ICosIGludCk7CitleHRlcm4gdm9pZCBiaW9zZXRfaW50ZWdyaXR5X2ZyZWUoc3RydWN0IGJpb19zZXQgKik7CitleHRlcm4gdm9pZCBiaW9faW50ZWdyaXR5X2luaXRfc2xhYih2b2lkKTsKKworI2Vsc2UgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCisKKyNkZWZpbmUgYmlvX2ludGVncml0eShhKQkJKDApCisjZGVmaW5lIGJpb3NldF9pbnRlZ3JpdHlfY3JlYXRlKGEsIGIpCSgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3ByZXAoYSkJCSgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2VuYWJsZWQoYSkJKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfY2xvbmUoYSwgYiwgYykJKDApCisjZGVmaW5lIGJpb3NldF9pbnRlZ3JpdHlfZnJlZShhKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZnJlZShhLCBiKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIGJpb19pbnRlZ3JpdHlfZW5kaW8oYSwgYikJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X2FkdmFuY2UoYSwgYikJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3RyaW0oYSwgYiwgYykJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBiaW9faW50ZWdyaXR5X3NwbGl0KGEsIGIsIGMpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9zZXRfdGFnKGEsIGIsIGMpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9nZXRfdGFnKGEsIGIsIGMpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgYmlvX2ludGVncml0eV9pbml0X3NsYWIoYSkJZG8geyB9IHdoaWxlICgwKQorCisjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfSU5URUdSSVRZICovCisKICNlbmRpZiAvKiBDT05GSUdfQkxPQ0sgKi8KICNlbmRpZiAvKiBfX0xJTlVYX0JJT19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oIGIvaW5jbHVkZS9saW51eC9ibGtkZXYuaAppbmRleCBkMmExYjcxLi4zMmE0NDFiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCisrKyBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKQEAgLTIzLDcgKzIzLDYgQEAKIHN0cnVjdCBzY3NpX2lvY3RsX2NvbW1hbmQ7CiAKIHN0cnVjdCByZXF1ZXN0X3F1ZXVlOwotdHlwZWRlZiBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSByZXF1ZXN0X3F1ZXVlX3QgX19kZXByZWNhdGVkOwogc3RydWN0IGVsZXZhdG9yX3F1ZXVlOwogdHlwZWRlZiBzdHJ1Y3QgZWxldmF0b3JfcXVldWUgZWxldmF0b3JfdDsKIHN0cnVjdCByZXF1ZXN0X3BtX3N0YXRlOwpAQCAtMzQsMTIgKzMzLDYgQEAKICNkZWZpbmUgQkxLREVWX01JTl9SUQk0CiAjZGVmaW5lIEJMS0RFVl9NQVhfUlEJMTI4CS8qIERlZmF1bHQgbWF4aW11bSAqLwogCi1pbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYyk7Ci12b2lkIGV4aXRfaW9fY29udGV4dCh2b2lkKTsKLXN0cnVjdCBpb19jb250ZXh0ICpnZXRfaW9fY29udGV4dChnZnBfdCBnZnBfZmxhZ3MsIGludCBub2RlKTsKLXN0cnVjdCBpb19jb250ZXh0ICphbGxvY19pb19jb250ZXh0KGdmcF90IGdmcF9mbGFncywgaW50IG5vZGUpOwotdm9pZCBjb3B5X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKipwZHN0LCBzdHJ1Y3QgaW9fY29udGV4dCAqKnBzcmMpOwotCiBzdHJ1Y3QgcmVxdWVzdDsKIHR5cGVkZWYgdm9pZCAocnFfZW5kX2lvX2ZuKShzdHJ1Y3QgcmVxdWVzdCAqLCBpbnQpOwogCkBAIC0xMTMsNiArMTA2LDcgQEAKIAlfX1JFUV9BTExPQ0VELAkJLyogcmVxdWVzdCBjYW1lIGZyb20gb3VyIGFsbG9jIHBvb2wgKi8KIAlfX1JFUV9SV19NRVRBLAkJLyogbWV0YWRhdGEgaW8gcmVxdWVzdCAqLwogCV9fUkVRX0NPUFlfVVNFUiwJLyogY29udGFpbnMgY29waWVzIG9mIHVzZXIgcGFnZXMgKi8KKwlfX1JFUV9JTlRFR1JJVFksCS8qIGludGVncml0eSBtZXRhZGF0YSBoYXMgYmVlbiByZW1hcHBlZCAqLwogCV9fUkVRX05SX0JJVFMsCQkvKiBzdG9wcyBoZXJlICovCiB9OwogCkBAIC0xMzUsNiArMTI5LDcgQEAKICNkZWZpbmUgUkVRX0FMTE9DRUQJKDEgPDwgX19SRVFfQUxMT0NFRCkKICNkZWZpbmUgUkVRX1JXX01FVEEJKDEgPDwgX19SRVFfUldfTUVUQSkKICNkZWZpbmUgUkVRX0NPUFlfVVNFUgkoMSA8PCBfX1JFUV9DT1BZX1VTRVIpCisjZGVmaW5lIFJFUV9JTlRFR1JJVFkJKDEgPDwgX19SRVFfSU5URUdSSVRZKQogCiAjZGVmaW5lIEJMS19NQVhfQ0RCCTE2CiAKQEAgLTI1OSw3ICsyNTQsMTQgQEAKIHR5cGVkZWYgdm9pZCAodW5wbHVnX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKik7CiAKIHN0cnVjdCBiaW9fdmVjOwotdHlwZWRlZiBpbnQgKG1lcmdlX2J2ZWNfZm4pIChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgYmlvICosIHN0cnVjdCBiaW9fdmVjICopOworc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSB7CisJc3RydWN0IGJsb2NrX2RldmljZSAqYmlfYmRldjsKKwlzZWN0b3JfdCBiaV9zZWN0b3I7CisJdW5zaWduZWQgYmlfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGJpX3J3OworfTsKK3R5cGVkZWYgaW50IChtZXJnZV9idmVjX2ZuKSAoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IGJ2ZWNfbWVyZ2VfZGF0YSAqLAorCQkJICAgICBzdHJ1Y3QgYmlvX3ZlYyAqKTsKIHR5cGVkZWYgdm9pZCAocHJlcGFyZV9mbHVzaF9mbikgKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCByZXF1ZXN0ICopOwogdHlwZWRlZiB2b2lkIChzb2Z0aXJxX2RvbmVfZm4pKHN0cnVjdCByZXF1ZXN0ICopOwogdHlwZWRlZiBpbnQgKGRtYV9kcmFpbl9uZWVkZWRfZm4pKHN0cnVjdCByZXF1ZXN0ICopOwpAQCAtNDI2LDYgKzQyOCwzMiBAQAogCV9fc2V0X2JpdChmbGFnLCAmcS0+cXVldWVfZmxhZ3MpOwogfQogCitzdGF0aWMgaW5saW5lIGludCBxdWV1ZV9mbGFnX3Rlc3RfYW5kX2NsZWFyKHVuc2lnbmVkIGludCBmbGFnLAorCQkJCQkgICAgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCit7CisJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOworCisJaWYgKHRlc3RfYml0KGZsYWcsICZxLT5xdWV1ZV9mbGFncykpIHsKKwkJX19jbGVhcl9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHF1ZXVlX2ZsYWdfdGVzdF9hbmRfc2V0KHVuc2lnbmVkIGludCBmbGFnLAorCQkJCQkgIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQoreworCVdBUk5fT05fT05DRSghcXVldWVfaXNfbG9ja2VkKHEpKTsKKworCWlmICghdGVzdF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKSkgeworCQlfX3NldF9iaXQoZmxhZywgJnEtPnF1ZXVlX2ZsYWdzKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZCBxdWV1ZV9mbGFnX3NldCh1bnNpZ25lZCBpbnQgZmxhZywgc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpCiB7CiAJV0FSTl9PTl9PTkNFKCFxdWV1ZV9pc19sb2NrZWQocSkpOwpAQCAtNjIzLDcgKzY1MSw2IEBACiBleHRlcm4gdm9pZCBibGtfcnFfaW5pdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgc3RydWN0IHJlcXVlc3QgKnJxKTsKIGV4dGVybiB2b2lkIGJsa19wdXRfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdCAqKTsKIGV4dGVybiB2b2lkIF9fYmxrX3B1dF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCByZXF1ZXN0ICopOwotZXh0ZXJuIHZvaWQgYmxrX2VuZF9zeW5jX3JxKHN0cnVjdCByZXF1ZXN0ICpycSwgaW50IGVycm9yKTsKIGV4dGVybiBzdHJ1Y3QgcmVxdWVzdCAqYmxrX2dldF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIGludCwgZ2ZwX3QpOwogZXh0ZXJuIHZvaWQgYmxrX2luc2VydF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICosIHN0cnVjdCByZXF1ZXN0ICosIGludCwgdm9pZCAqKTsKIGV4dGVybiB2b2lkIGJsa19yZXF1ZXVlX3JlcXVlc3Qoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgc3RydWN0IHJlcXVlc3QgKik7CkBAIC02NzYsNyArNzAzLDYgQEAKIAkJCSAgc3RydWN0IHJlcXVlc3QgKiwgaW50KTsKIGV4dGVybiB2b2lkIGJsa19leGVjdXRlX3JxX25vd2FpdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCBzdHJ1Y3QgZ2VuZGlzayAqLAogCQkJCSAgc3RydWN0IHJlcXVlc3QgKiwgaW50LCBycV9lbmRfaW9fZm4gKik7Ci1leHRlcm4gaW50IGJsa192ZXJpZnlfY29tbWFuZCh1bnNpZ25lZCBjaGFyICosIGludCk7CiBleHRlcm4gdm9pZCBibGtfdW5wbHVnKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqYmRldl9nZXRfcXVldWUoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikKQEAgLTc0OSw2ICs3NzUsNyBAQAogZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX2hhcmRzZWN0X3NpemUoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgdW5zaWduZWQgc2hvcnQpOwogZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX3N0YWNrX2xpbWl0cyhzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqdCwgc3RydWN0IHJlcXVlc3RfcXVldWUgKmIpOwogZXh0ZXJuIHZvaWQgYmxrX3F1ZXVlX2RtYV9wYWQoc3RydWN0IHJlcXVlc3RfcXVldWUgKiwgdW5zaWduZWQgaW50KTsKK2V4dGVybiB2b2lkIGJsa19xdWV1ZV91cGRhdGVfZG1hX3BhZChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqLCB1bnNpZ25lZCBpbnQpOwogZXh0ZXJuIGludCBibGtfcXVldWVfZG1hX2RyYWluKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLAogCQkJICAgICAgIGRtYV9kcmFpbl9uZWVkZWRfZm4gKmRtYV9kcmFpbl9uZWVkZWQsCiAJCQkgICAgICAgdm9pZCAqYnVmLCB1bnNpZ25lZCBpbnQgc2l6ZSk7CkBAIC04MDIsNiArODI5LDE1IEBACiAKIGV4dGVybiBpbnQgYmxrZGV2X2lzc3VlX2ZsdXNoKHN0cnVjdCBibG9ja19kZXZpY2UgKiwgc2VjdG9yX3QgKik7CiAKKy8qCisqIGNvbW1hbmQgZmlsdGVyIGZ1bmN0aW9ucworKi8KK2V4dGVybiBpbnQgYmxrX3ZlcmlmeV9jb21tYW5kKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBjaGFyICpjbWQpOworZXh0ZXJuIGludCBibGtfY21kX2ZpbHRlcl92ZXJpZnlfY29tbWFuZChzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciAqZmlsdGVyLAorCQkJCQkgdW5zaWduZWQgY2hhciAqY21kLCBtb2RlX3QgKmZfbW9kZSk7CitleHRlcm4gaW50IGJsa19yZWdpc3Rlcl9maWx0ZXIoc3RydWN0IGdlbmRpc2sgKmRpc2spOworZXh0ZXJuIHZvaWQgYmxrX3VucmVnaXN0ZXJfZmlsdGVyKHN0cnVjdCBnZW5kaXNrICpkaXNrKTsKKwogI2RlZmluZSBNQVhfUEhZU19TRUdNRU5UUyAxMjgKICNkZWZpbmUgTUFYX0hXX1NFR01FTlRTIDEyOAogI2RlZmluZSBTQUZFX01BWF9TRUNUT1JTIDI1NQpAQCAtODY1LDYgKzkwMSwxMDUgQEAKICNkZWZpbmUgTU9EVUxFX0FMSUFTX0JMT0NLREVWX01BSk9SKG1ham9yKSBcCiAJTU9EVUxFX0FMSUFTKCJibG9jay1tYWpvci0iIF9fc3RyaW5naWZ5KG1ham9yKSAiLSoiKQogCisjaWYgZGVmaW5lZChDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkpCisKKyNkZWZpbmUgSU5URUdSSVRZX0ZMQUdfUkVBRAkyCS8qIHZlcmlmeSBkYXRhIGludGVncml0eSBvbiByZWFkICovCisjZGVmaW5lIElOVEVHUklUWV9GTEFHX1dSSVRFCTQJLyogZ2VuZXJhdGUgZGF0YSBpbnRlZ3JpdHkgb24gd3JpdGUgKi8KKworc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgeworCXZvaWQJCQkqcHJvdF9idWY7CisJdm9pZAkJCSpkYXRhX2J1ZjsKKwlzZWN0b3JfdAkJc2VjdG9yOworCXVuc2lnbmVkIGludAkJZGF0YV9zaXplOworCXVuc2lnbmVkIHNob3J0CQlzZWN0b3Jfc2l6ZTsKKwljb25zdCBjaGFyCQkqZGlza19uYW1lOworfTsKKwordHlwZWRlZiB2b2lkIChpbnRlZ3JpdHlfZ2VuX2ZuKSAoc3RydWN0IGJsa19pbnRlZ3JpdHlfZXhjaGcgKik7Cit0eXBlZGVmIGludCAoaW50ZWdyaXR5X3ZyZnlfZm4pIChzdHJ1Y3QgYmxrX2ludGVncml0eV9leGNoZyAqKTsKK3R5cGVkZWYgdm9pZCAoaW50ZWdyaXR5X3NldF90YWdfZm4pICh2b2lkICosIHZvaWQgKiwgdW5zaWduZWQgaW50KTsKK3R5cGVkZWYgdm9pZCAoaW50ZWdyaXR5X2dldF90YWdfZm4pICh2b2lkICosIHZvaWQgKiwgdW5zaWduZWQgaW50KTsKKworc3RydWN0IGJsa19pbnRlZ3JpdHkgeworCWludGVncml0eV9nZW5fZm4JKmdlbmVyYXRlX2ZuOworCWludGVncml0eV92cmZ5X2ZuCSp2ZXJpZnlfZm47CisJaW50ZWdyaXR5X3NldF90YWdfZm4JKnNldF90YWdfZm47CisJaW50ZWdyaXR5X2dldF90YWdfZm4JKmdldF90YWdfZm47CisKKwl1bnNpZ25lZCBzaG9ydAkJZmxhZ3M7CisJdW5zaWduZWQgc2hvcnQJCXR1cGxlX3NpemU7CisJdW5zaWduZWQgc2hvcnQJCXNlY3Rvcl9zaXplOworCXVuc2lnbmVkIHNob3J0CQl0YWdfc2l6ZTsKKworCWNvbnN0IGNoYXIJCSpuYW1lOworCisJc3RydWN0IGtvYmplY3QJCWtvYmo7Cit9OworCitleHRlcm4gaW50IGJsa19pbnRlZ3JpdHlfcmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKiwgc3RydWN0IGJsa19pbnRlZ3JpdHkgKik7CitleHRlcm4gdm9pZCBibGtfaW50ZWdyaXR5X3VucmVnaXN0ZXIoc3RydWN0IGdlbmRpc2sgKik7CitleHRlcm4gaW50IGJsa19pbnRlZ3JpdHlfY29tcGFyZShzdHJ1Y3QgYmxvY2tfZGV2aWNlICosIHN0cnVjdCBibG9ja19kZXZpY2UgKik7CitleHRlcm4gaW50IGJsa19ycV9tYXBfaW50ZWdyaXR5X3NnKHN0cnVjdCByZXF1ZXN0ICosIHN0cnVjdCBzY2F0dGVybGlzdCAqKTsKK2V4dGVybiBpbnQgYmxrX3JxX2NvdW50X2ludGVncml0eV9zZyhzdHJ1Y3QgcmVxdWVzdCAqKTsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBzaG9ydCBibGtfaW50ZWdyaXR5X3R1cGxlX3NpemUoc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpKQoreworCWlmIChiaSkKKwkJcmV0dXJuIGJpLT50dXBsZV9zaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJkZXZfZ2V0X2ludGVncml0eShzdHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXJldHVybiBiZGV2LT5iZF9kaXNrLT5pbnRlZ3JpdHk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJkZXZfZ2V0X3RhZ19zaXplKHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCit7CisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmJpID0gYmRldl9nZXRfaW50ZWdyaXR5KGJkZXYpOworCisJaWYgKGJpKQorCQlyZXR1cm4gYmktPnRhZ19zaXplOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGJkZXZfaW50ZWdyaXR5X2VuYWJsZWQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldiwgaW50IHJ3KQoreworCXN0cnVjdCBibGtfaW50ZWdyaXR5ICpiaSA9IGJkZXZfZ2V0X2ludGVncml0eShiZGV2KTsKKworCWlmIChiaSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKworCWlmIChydyA9PSBSRUFEICYmIGJpLT52ZXJpZnlfZm4gIT0gTlVMTCAmJgorCSAgICAoYmktPmZsYWdzICYgSU5URUdSSVRZX0ZMQUdfUkVBRCkpCisJCXJldHVybiAxOworCisJaWYgKHJ3ID09IFdSSVRFICYmIGJpLT5nZW5lcmF0ZV9mbiAhPSBOVUxMICYmCisJICAgIChiaS0+ZmxhZ3MgJiBJTlRFR1JJVFlfRkxBR19XUklURSkpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGJsa19pbnRlZ3JpdHlfcnEoc3RydWN0IHJlcXVlc3QgKnJxKQoreworCXJldHVybiBiaW9faW50ZWdyaXR5KHJxLT5iaW8pOworfQorCisjZWxzZSAvKiBDT05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgKi8KKworI2RlZmluZSBibGtfaW50ZWdyaXR5X3JxKHJxKQkJCSgwKQorI2RlZmluZSBibGtfcnFfY291bnRfaW50ZWdyaXR5X3NnKGEpCQkoMCkKKyNkZWZpbmUgYmxrX3JxX21hcF9pbnRlZ3JpdHlfc2coYSwgYikJCSgwKQorI2RlZmluZSBiZGV2X2dldF9pbnRlZ3JpdHkoYSkJCQkoMCkKKyNkZWZpbmUgYmRldl9nZXRfdGFnX3NpemUoYSkJCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV9jb21wYXJlKGEsIGIpCQkoMCkKKyNkZWZpbmUgYmxrX2ludGVncml0eV9yZWdpc3RlcihhLCBiKQkJKDApCisjZGVmaW5lIGJsa19pbnRlZ3JpdHlfdW5yZWdpc3RlcihhKQkJZG8geyB9IHdoaWxlICgwKTsKKworI2VuZGlmIC8qIENPTkZJR19CTEtfREVWX0lOVEVHUklUWSAqLwogCiAjZWxzZSAvKiBDT05GSUdfQkxPQ0sgKi8KIC8qCkBAIC04NzcsMTcgKzEwMTIsNiBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpCi17Ci19Ci0KLXN0cnVjdCBpb19jb250ZXh0Owotc3RhdGljIGlubGluZSBpbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYykKLXsKLQlyZXR1cm4gMTsKLX0KLQotCiAjZW5kaWYgLyogQ09ORklHX0JMT0NLICovCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaCBiL2luY2x1ZGUvbGludXgvYmxrdHJhY2VfYXBpLmgKaW5kZXggZTNlZjkwMy4uZDA4NGI4ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ibGt0cmFjZV9hcGkuaAorKysgYi9pbmNsdWRlL2xpbnV4L2Jsa3RyYWNlX2FwaS5oCkBAIC0xMjksNiArMTI5LDcgQEAKIAl1MzIgZGV2OwogCXN0cnVjdCBkZW50cnkgKmRpcjsKIAlzdHJ1Y3QgZGVudHJ5ICpkcm9wcGVkX2ZpbGU7CisJc3RydWN0IGRlbnRyeSAqbXNnX2ZpbGU7CiAJYXRvbWljX3QgZHJvcHBlZDsKIH07CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYm9vdG1lbS5oIGIvaW5jbHVkZS9saW51eC9ib290bWVtLmgKaW5kZXggNjg2ODk1Yi4uYTFkOWI3OSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ib290bWVtLmgKKysrIGIvaW5jbHVkZS9saW51eC9ib290bWVtLmgKQEAgLTg0LDYgKzg0LDggQEAKIAlfX2FsbG9jX2Jvb3RtZW1fbG93KHgsIFBBR0VfU0laRSwgMCkKICNlbmRpZiAvKiAhQ09ORklHX0hBVkVfQVJDSF9CT09UTUVNX05PREUgKi8KIAorZXh0ZXJuIGludCByZXNlcnZlX2Jvb3RtZW1fZ2VuZXJpYyh1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKKwkJCQkgICBpbnQgZmxhZ3MpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZnJlZV9hbGxfYm9vdG1lbSh2b2lkKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGZyZWVfYWxsX2Jvb3RtZW1fbm9kZShwZ19kYXRhX3QgKnBnZGF0KTsKIGV4dGVybiB2b2lkICpfX2FsbG9jX2Jvb3RtZW1fbm9kZShwZ19kYXRhX3QgKnBnZGF0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9jb25zb2xlLmggYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaAppbmRleCBhNGYyN2ZiLi4yNDhlNmUzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2NvbnNvbGUuaApAQCAtMTA4LDYgKzEwOCw4IEBACiAJc3RydWN0CSBjb25zb2xlICpuZXh0OwogfTsKIAorZXh0ZXJuIGludCBjb25zb2xlX3NldF9vbl9jbWRsaW5lOworCiBleHRlcm4gaW50IGFkZF9wcmVmZXJyZWRfY29uc29sZShjaGFyICpuYW1lLCBpbnQgaWR4LCBjaGFyICpvcHRpb25zKTsKIGV4dGVybiBpbnQgdXBkYXRlX2NvbnNvbGVfY21kbGluZShjaGFyICpuYW1lLCBpbnQgaWR4LCBjaGFyICpuYW1lX25ldywgaW50IGlkeF9uZXcsIGNoYXIgKm9wdGlvbnMpOwogZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfY29uc29sZShzdHJ1Y3QgY29uc29sZSAqKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY3J5cHRvLmggYi9pbmNsdWRlL2xpbnV4L2NyeXB0by5oCmluZGV4IDQyNTgyNGIuLmM0M2RjNDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY3J5cHRvLmgKKysrIGIvaW5jbHVkZS9saW51eC9jcnlwdG8uaApAQCAtMzAsMTUgKzMwLDE3IEBACiAgKi8KICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX01BU0sJCTB4MDAwMDAwMGYKICNkZWZpbmUgQ1JZUFRPX0FMR19UWVBFX0NJUEhFUgkJMHgwMDAwMDAwMQotI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUCQkweDAwMDAwMDAyCi0jZGVmaW5lIENSWVBUT19BTEdfVFlQRV9IQVNICQkweDAwMDAwMDAzCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9DT01QUkVTUwkweDAwMDAwMDAyCisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BRUFECQkweDAwMDAwMDAzCiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVIJMHgwMDAwMDAwNAogI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQUJMS0NJUEhFUgkweDAwMDAwMDA1CiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9HSVZDSVBIRVIJMHgwMDAwMDAwNgotI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQ09NUFJFU1MJMHgwMDAwMDAwOAotI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQUVBRAkJMHgwMDAwMDAwOQorI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfRElHRVNUCQkweDAwMDAwMDA4CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9IQVNICQkweDAwMDAwMDA5CisjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9BSEFTSAkJMHgwMDAwMDAwYQogCiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9IQVNIX01BU0sJMHgwMDAwMDAwZQorI2RlZmluZSBDUllQVE9fQUxHX1RZUEVfQUhBU0hfTUFTSwkweDAwMDAwMDBjCiAjZGVmaW5lIENSWVBUT19BTEdfVFlQRV9CTEtDSVBIRVJfTUFTSwkweDAwMDAwMDBjCiAKICNkZWZpbmUgQ1JZUFRPX0FMR19MQVJWQUwJCTB4MDAwMDAwMTAKQEAgLTEwMiw2ICsxMDQsNyBAQAogc3RydWN0IGNyeXB0b19hZWFkOwogc3RydWN0IGNyeXB0b19ibGtjaXBoZXI7CiBzdHJ1Y3QgY3J5cHRvX2hhc2g7CitzdHJ1Y3QgY3J5cHRvX2FoYXNoOwogc3RydWN0IGNyeXB0b190Zm07CiBzdHJ1Y3QgY3J5cHRvX3R5cGU7CiBzdHJ1Y3QgYWVhZF9naXZjcnlwdF9yZXF1ZXN0OwpAQCAtMTMxLDYgKzEzNCwxNiBAQAogCXZvaWQgKl9fY3R4W10gQ1JZUFRPX01JTkFMSUdOX0FUVFI7CiB9OwogCitzdHJ1Y3QgYWhhc2hfcmVxdWVzdCB7CisJc3RydWN0IGNyeXB0b19hc3luY19yZXF1ZXN0IGJhc2U7CisKKwl1bnNpZ25lZCBpbnQgbmJ5dGVzOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc3JjOworCXU4CQkgICAqcmVzdWx0OworCisJdm9pZCAqX19jdHhbXSBDUllQVE9fTUlOQUxJR05fQVRUUjsKK307CisKIC8qKgogICoJc3RydWN0IGFlYWRfcmVxdWVzdCAtIEFFQUQgcmVxdWVzdAogICoJQGJhc2U6IENvbW1vbiBhdHRyaWJ1dGVzIGZvciBhc3luYyBjcnlwdG8gcmVxdWVzdHMKQEAgLTE5NSw2ICsyMDgsMTcgQEAKIAl1bnNpZ25lZCBpbnQgaXZzaXplOwogfTsKIAorc3RydWN0IGFoYXNoX2FsZyB7CisJaW50ICgqaW5pdCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqdXBkYXRlKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpmaW5hbCkoc3RydWN0IGFoYXNoX3JlcXVlc3QgKnJlcSk7CisJaW50ICgqZGlnZXN0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpzZXRrZXkpKHN0cnVjdCBjcnlwdG9fYWhhc2ggKnRmbSwgY29uc3QgdTggKmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pOworCisJdW5zaWduZWQgaW50IGRpZ2VzdHNpemU7Cit9OworCiBzdHJ1Y3QgYWVhZF9hbGcgewogCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19hZWFkICp0Zm0sIGNvbnN0IHU4ICprZXksCiAJICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQga2V5bGVuKTsKQEAgLTI3Miw2ICsyOTYsNyBAQAogI2RlZmluZSBjcmFfY2lwaGVyCWNyYV91LmNpcGhlcgogI2RlZmluZSBjcmFfZGlnZXN0CWNyYV91LmRpZ2VzdAogI2RlZmluZSBjcmFfaGFzaAljcmFfdS5oYXNoCisjZGVmaW5lIGNyYV9haGFzaAljcmFfdS5haGFzaAogI2RlZmluZSBjcmFfY29tcHJlc3MJY3JhX3UuY29tcHJlc3MKIAogc3RydWN0IGNyeXB0b19hbGcgewpAQCAtMjk4LDYgKzMyMyw3IEBACiAJCXN0cnVjdCBjaXBoZXJfYWxnIGNpcGhlcjsKIAkJc3RydWN0IGRpZ2VzdF9hbGcgZGlnZXN0OwogCQlzdHJ1Y3QgaGFzaF9hbGcgaGFzaDsKKwkJc3RydWN0IGFoYXNoX2FsZyBhaGFzaDsKIAkJc3RydWN0IGNvbXByZXNzX2FsZyBjb21wcmVzczsKIAl9IGNyYV91OwogCkBAIC0zODMsNiArNDA5LDE4IEBACiAJdW5zaWduZWQgaW50IGRpZ2VzdHNpemU7CiB9OwogCitzdHJ1Y3QgYWhhc2hfdGZtIHsKKwlpbnQgKCppbml0KShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCp1cGRhdGUpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKmZpbmFsKShzdHJ1Y3QgYWhhc2hfcmVxdWVzdCAqcmVxKTsKKwlpbnQgKCpkaWdlc3QpKHN0cnVjdCBhaGFzaF9yZXF1ZXN0ICpyZXEpOworCWludCAoKnNldGtleSkoc3RydWN0IGNyeXB0b19haGFzaCAqdGZtLCBjb25zdCB1OCAqa2V5LAorCQkJdW5zaWduZWQgaW50IGtleWxlbik7CisKKwl1bnNpZ25lZCBpbnQgZGlnZXN0c2l6ZTsKKwl1bnNpZ25lZCBpbnQgcmVxc2l6ZTsKK307CisKIHN0cnVjdCBjb21wcmVzc190Zm0gewogCWludCAoKmNvdF9jb21wcmVzcykoc3RydWN0IGNyeXB0b190Zm0gKnRmbSwKIAkgICAgICAgICAgICAgICAgICAgIGNvbnN0IHU4ICpzcmMsIHVuc2lnbmVkIGludCBzbGVuLApAQCAtMzk3LDYgKzQzNSw3IEBACiAjZGVmaW5lIGNydF9ibGtjaXBoZXIJY3J0X3UuYmxrY2lwaGVyCiAjZGVmaW5lIGNydF9jaXBoZXIJY3J0X3UuY2lwaGVyCiAjZGVmaW5lIGNydF9oYXNoCWNydF91Lmhhc2gKKyNkZWZpbmUgY3J0X2FoYXNoCWNydF91LmFoYXNoCiAjZGVmaW5lIGNydF9jb21wcmVzcwljcnRfdS5jb21wcmVzcwogCiBzdHJ1Y3QgY3J5cHRvX3RmbSB7CkBAIC00MDksNiArNDQ4LDcgQEAKIAkJc3RydWN0IGJsa2NpcGhlcl90Zm0gYmxrY2lwaGVyOwogCQlzdHJ1Y3QgY2lwaGVyX3RmbSBjaXBoZXI7CiAJCXN0cnVjdCBoYXNoX3RmbSBoYXNoOworCQlzdHJ1Y3QgYWhhc2hfdGZtIGFoYXNoOwogCQlzdHJ1Y3QgY29tcHJlc3NfdGZtIGNvbXByZXNzOwogCX0gY3J0X3U7CiAJCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oIGIvaW5jbHVkZS9saW51eC9kY2FjaGUuaAppbmRleCBkOTgyZWI4Li45ODIwMmM2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCisrKyBiL2luY2x1ZGUvbGludXgvZGNhY2hlLmgKQEAgLTMsNiArMyw3IEBACiAKICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2NhY2hlLmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZGVsYXkuaCBiL2luY2x1ZGUvbGludXgvZGVsYXkuaAppbmRleCA1NDU1MmQyLi5mZDgzMmM2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2RlbGF5LmgKKysrIGIvaW5jbHVkZS9saW51eC9kZWxheS5oCkBAIC00MSw2ICs0MSw3IEBACiAjZGVmaW5lIG5kZWxheSh4KSBuZGVsYXkoeCkKICNlbmRpZgogCitleHRlcm4gdW5zaWduZWQgbG9uZyBscGpfZmluZTsKIHZvaWQgY2FsaWJyYXRlX2RlbGF5KHZvaWQpOwogdm9pZCBtc2xlZXAodW5zaWduZWQgaW50IG1zZWNzKTsKIHVuc2lnbmVkIGxvbmcgbXNsZWVwX2ludGVycnVwdGlibGUodW5zaWduZWQgaW50IG1zZWNzKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZWZpLmggYi9pbmNsdWRlL2xpbnV4L2VmaS5oCmluZGV4IGE1ZjM1OWEuLjgwNzM3M2QgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZWZpLmgKKysrIGIvaW5jbHVkZS9saW51eC9lZmkuaApAQCAtMjg3LDcgKzI4Nyw2IEBACiBleHRlcm4gdm9pZCBlZmlfaW5pdCAodm9pZCk7CiBleHRlcm4gdm9pZCAqZWZpX2dldF9wYWxfYWRkciAodm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfbWFwX3BhbF9jb2RlICh2b2lkKTsKLWV4dGVybiB2b2lkIGVmaV9tYXBfbWVtbWFwKHZvaWQpOwogZXh0ZXJuIHZvaWQgZWZpX21lbW1hcF93YWxrIChlZmlfZnJlZW1lbV9jYWxsYmFja190IGNhbGxiYWNrLCB2b2lkICphcmcpOwogZXh0ZXJuIHZvaWQgZWZpX2dldHRpbWVvZmRheSAoc3RydWN0IHRpbWVzcGVjICp0cyk7CiBleHRlcm4gdm9pZCBlZmlfZW50ZXJfdmlydHVhbF9tb2RlICh2b2lkKTsJLyogc3dpdGNoIEVGSSB0byB2aXJ0dWFsIG1vZGUsIGlmIHBvc3NpYmxlICovCkBAIC0yOTUsMTQgKzI5NCwxMSBAQAogZXh0ZXJuIHUzMiBlZmlfbWVtX3R5cGUgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyKTsKIGV4dGVybiB1NjQgZWZpX21lbV9hdHRyaWJ1dGVzICh1bnNpZ25lZCBsb25nIHBoeXNfYWRkcik7CiBleHRlcm4gdTY0IGVmaV9tZW1fYXR0cmlidXRlICh1bnNpZ25lZCBsb25nIHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplKTsKLWV4dGVybiBpbnQgZWZpX21lbV9hdHRyaWJ1dGVfcmFuZ2UgKHVuc2lnbmVkIGxvbmcgcGh5c19hZGRyLCB1bnNpZ25lZCBsb25nIHNpemUsCi0JCQkJICAgIHU2NCBhdHRyKTsKIGV4dGVybiBpbnQgX19pbml0IGVmaV91YXJ0X2NvbnNvbGVfb25seSAodm9pZCk7CiBleHRlcm4gdm9pZCBlZmlfaW5pdGlhbGl6ZV9pb21lbV9yZXNvdXJjZXMoc3RydWN0IHJlc291cmNlICpjb2RlX3Jlc291cmNlLAogCQlzdHJ1Y3QgcmVzb3VyY2UgKmRhdGFfcmVzb3VyY2UsIHN0cnVjdCByZXNvdXJjZSAqYnNzX3Jlc291cmNlKTsKIGV4dGVybiB1bnNpZ25lZCBsb25nIGVmaV9nZXRfdGltZSh2b2lkKTsKIGV4dGVybiBpbnQgZWZpX3NldF9ydGNfbW1zcyh1bnNpZ25lZCBsb25nIG5vd3RpbWUpOwotZXh0ZXJuIGludCBpc19hdmFpbGFibGVfbWVtb3J5KGVmaV9tZW1vcnlfZGVzY190ICogbWQpOwogZXh0ZXJuIHN0cnVjdCBlZmlfbWVtb3J5X21hcCBtZW1tYXA7CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9maXJtd2FyZS1tYXAuaCBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUtbWFwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNiZGJjYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUtbWFwLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIGluY2x1ZGUvbGludXgvZmlybXdhcmUtbWFwLmg6CisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IFNVU0UgTElOVVggUHJvZHVjdHMgR21iSAorICogIGJ5IEJlcm5oYXJkIFdhbGxlIDxid2FsbGVAc3VzZS5kZT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2Mi4wIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICovCisjaWZuZGVmIF9MSU5VWF9GSVJNV0FSRV9NQVBfSAorI2RlZmluZSBfTElOVVhfRklSTVdBUkVfTUFQX0gKKworI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9rb2JqZWN0Lmg+CisKKy8qCisgKiBwcm92aWRlIGEgZHVtbXkgaW50ZXJmYWNlIGlmIENPTkZJR19GSVJNV0FSRV9NRU1NQVAgaXMgZGlzYWJsZWQKKyAqLworI2lmZGVmIENPTkZJR19GSVJNV0FSRV9NRU1NQVAKKworLyoqCisgKiBBZGRzIGEgZmlybXdhcmUgbWFwcGluZyBlbnRyeS4gVGhpcyBmdW5jdGlvbiB1c2VzIGttYWxsb2MoKSBmb3IgbWVtb3J5CisgKiBhbGxvY2F0aW9uLiBVc2UgZmlybXdhcmVfbWFwX2FkZF9lYXJseSgpIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUgYm9vdG1lbQorICogYWxsb2NhdG9yLgorICoKKyAqIFRoYXQgZnVuY3Rpb24gbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGxhdGVfaW5pdGNhbGwuCisgKgorICogQHN0YXJ0OiBTdGFydCBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICogQGVuZDogICBFbmQgb2YgdGhlIG1lbW9yeSByYW5nZSAoaW5jbHVzaXZlKS4KKyAqIEB0eXBlOiAgVHlwZSBvZiB0aGUgbWVtb3J5IHJhbmdlLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBvciAtRU5PTUVNIGlmIG5vIG1lbW9yeSBjb3VsZCBiZSBhbGxvY2F0ZWQuCisgKi8KK2ludCBmaXJtd2FyZV9tYXBfYWRkKHJlc291cmNlX3NpemVfdCBzdGFydCwgcmVzb3VyY2Vfc2l6ZV90IGVuZCwKKwkJICAgICBjb25zdCBjaGFyICp0eXBlKTsKKworLyoqCisgKiBBZGRzIGEgZmlybXdhcmUgbWFwcGluZyBlbnRyeS4gVGhpcyBmdW5jdGlvbiB1c2VzIHRoZSBib290bWVtIGFsbG9jYXRvcgorICogZm9yIG1lbW9yeSBhbGxvY2F0aW9uLiBVc2UgZmlybXdhcmVfbWFwX2FkZCgpIGlmIHlvdSB3YW50IHRvIHVzZSBrbWFsbG9jKCkuCisgKgorICogVGhhdCBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgbGF0ZV9pbml0Y2FsbC4KKyAqCisgKiBAc3RhcnQ6IFN0YXJ0IG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKiBAZW5kOiAgIEVuZCBvZiB0aGUgbWVtb3J5IHJhbmdlIChpbmNsdXNpdmUpLgorICogQHR5cGU6ICBUeXBlIG9mIHRoZSBtZW1vcnkgcmFuZ2UuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIC1FTk9NRU0gaWYgbm8gbWVtb3J5IGNvdWxkIGJlIGFsbG9jYXRlZC4KKyAqLworaW50IGZpcm13YXJlX21hcF9hZGRfZWFybHkocmVzb3VyY2Vfc2l6ZV90IHN0YXJ0LCByZXNvdXJjZV9zaXplX3QgZW5kLAorCQkJICAgY29uc3QgY2hhciAqdHlwZSk7CisKKyNlbHNlIC8qIENPTkZJR19GSVJNV0FSRV9NRU1NQVAgKi8KKworc3RhdGljIGlubGluZSBpbnQgZmlybXdhcmVfbWFwX2FkZChyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIHJlc291cmNlX3NpemVfdCBlbmQsCisJCQkJICAgY29uc3QgY2hhciAqdHlwZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgZmlybXdhcmVfbWFwX2FkZF9lYXJseShyZXNvdXJjZV9zaXplX3Qgc3RhcnQsCisJCQkJCSByZXNvdXJjZV9zaXplX3QgZW5kLCBjb25zdCBjaGFyICp0eXBlKQoreworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogQ09ORklHX0ZJUk1XQVJFX01FTU1BUCAqLworCisjZW5kaWYgLyogX0xJTlVYX0ZJUk1XQVJFX01BUF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLmggYi9pbmNsdWRlL2xpbnV4L2Zpcm13YXJlLmgKaW5kZXggNmM3ZWZmMi4uYzhlY2Y1YiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9maXJtd2FyZS5oCisrKyBiL2luY2x1ZGUvbGludXgvZmlybXdhcmUuaApAQCAtMSwxOCArMSwzOSBAQAogI2lmbmRlZiBfTElOVVhfRklSTVdBUkVfSAogI2RlZmluZSBfTElOVVhfRklSTVdBUkVfSAorCiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9jb21waWxlci5oPgorCiAjZGVmaW5lIEZJUk1XQVJFX05BTUVfTUFYIDMwIAogI2RlZmluZSBGV19BQ1RJT05fTk9IT1RQTFVHIDAKICNkZWZpbmUgRldfQUNUSU9OX0hPVFBMVUcgMQogCiBzdHJ1Y3QgZmlybXdhcmUgewogCXNpemVfdCBzaXplOwotCXU4ICpkYXRhOworCWNvbnN0IHU4ICpkYXRhOwogfTsKIAogc3RydWN0IGRldmljZTsKIAorc3RydWN0IGJ1aWx0aW5fZncgeworCWNoYXIgKm5hbWU7CisJdm9pZCAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIHNpemU7Cit9OworCisvKiBXZSBoYXZlIHRvIHBsYXkgdHJpY2tzIGhlcmUgbXVjaCBsaWtlIHN0cmluZ2lmeSgpIHRvIGdldCB0aGUKKyAgIF9fQ09VTlRFUl9fIG1hY3JvIHRvIGJlIGV4cGFuZGVkIGFzIHdlIHdhbnQgaXQgKi8KKyNkZWZpbmUgX19md19jb25jYXQxKHgsIHkpIHgjI3kKKyNkZWZpbmUgX19md19jb25jYXQoeCwgeSkgX19md19jb25jYXQxKHgsIHkpCisKKyNkZWZpbmUgREVDTEFSRV9CVUlMVElOX0ZJUk1XQVJFKG5hbWUsIGJsb2IpCQkJCSAgICAgXAorCURFQ0xBUkVfQlVJTFRJTl9GSVJNV0FSRV9TSVpFKG5hbWUsICYoYmxvYiksIHNpemVvZihibG9iKSkKKworI2RlZmluZSBERUNMQVJFX0JVSUxUSU5fRklSTVdBUkVfU0laRShuYW1lLCBibG9iLCBzaXplKQkJCSAgICAgXAorCXN0YXRpYyBjb25zdCBzdHJ1Y3QgYnVpbHRpbl9mdyBfX2Z3X2NvbmNhdChfX2J1aWx0aW5fZncsX19DT1VOVEVSX18pIFwKKwlfX3VzZWQgX19zZWN0aW9uKC5idWlsdGluX2Z3KSA9IHsgbmFtZSwgYmxvYiwgc2l6ZSB9CisKICNpZiBkZWZpbmVkKENPTkZJR19GV19MT0FERVIpIHx8IChkZWZpbmVkKENPTkZJR19GV19MT0FERVJfTU9EVUxFKSAmJiBkZWZpbmVkKE1PRFVMRSkpCiBpbnQgcmVxdWVzdF9maXJtd2FyZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKipmdywgY29uc3QgY2hhciAqbmFtZSwKIAkJICAgICBzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9mcy5oIGIvaW5jbHVkZS9saW51eC9mcy5oCmluZGV4IGQ4ZTI3NjIuLjUyZTUxMGEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvZnMuaAorKysgYi9pbmNsdWRlL2xpbnV4L2ZzLmgKQEAgLTE3NDAsNiArMTc0MCw4IEBACiAJCQkJcGdvZmZfdCBzdGFydCwgcGdvZmZfdCBlbmQpOwogZXh0ZXJuIGludCBfX2ZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKIAkJCQlsb2ZmX3Qgc3RhcnQsIGxvZmZfdCBlbmQsIGludCBzeW5jX21vZGUpOworZXh0ZXJuIGludCBmaWxlbWFwX2ZkYXRhd3JpdGVfcmFuZ2Uoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCisJCQkJbG9mZl90IHN0YXJ0LCBsb2ZmX3QgZW5kKTsKIAogZXh0ZXJuIGxvbmcgZG9fZnN5bmMoc3RydWN0IGZpbGUgKmZpbGUsIGludCBkYXRhc3luYyk7CiBleHRlcm4gdm9pZCBzeW5jX3N1cGVycyh2b2lkKTsKQEAgLTE4NzAsNyArMTg3Miw4IEBACiBmaWxlX3JhX3N0YXRlX2luaXQoc3RydWN0IGZpbGVfcmFfc3RhdGUgKnJhLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyk7CiBleHRlcm4gbG9mZl90IG5vX2xsc2VlayhzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbik7CiBleHRlcm4gbG9mZl90IGdlbmVyaWNfZmlsZV9sbHNlZWsoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pOwotZXh0ZXJuIGxvZmZfdCByZW1vdGVfbGxzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKK2V4dGVybiBsb2ZmX3QgZ2VuZXJpY19maWxlX2xsc2Vla191bmxvY2tlZChzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90IG9mZnNldCwKKwkJCWludCBvcmlnaW4pOwogZXh0ZXJuIGludCBnZW5lcmljX2ZpbGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKTsKIGV4dGVybiBpbnQgbm9uc2Vla2FibGVfb3BlbihzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9mdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvZnRyYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM2OGQwNAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvZnRyYWNlLmgKQEAgLTAsMCArMSwxNDQgQEAKKyNpZm5kZWYgX0xJTlVYX0ZUUkFDRV9ICisjZGVmaW5lIF9MSU5VWF9GVFJBQ0VfSAorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCisjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisKK2V4dGVybiBpbnQgZnRyYWNlX2VuYWJsZWQ7CitleHRlcm4gaW50CitmdHJhY2VfZW5hYmxlX3N5c2N0bChzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAorCQkgICAgIHN0cnVjdCBmaWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbnAsCisJCSAgICAgbG9mZl90ICpwcG9zKTsKKwordHlwZWRlZiB2b2lkICgqZnRyYWNlX2Z1bmNfdCkodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApOworCitzdHJ1Y3QgZnRyYWNlX29wcyB7CisJZnRyYWNlX2Z1bmNfdAkgIGZ1bmM7CisJc3RydWN0IGZ0cmFjZV9vcHMgKm5leHQ7Cit9OworCisvKgorICogVGhlIGZ0cmFjZV9vcHMgbXVzdCBiZSBhIHN0YXRpYyBhbmQgc2hvdWxkIGFsc28KKyAqIGJlIHJlYWRfbW9zdGx5LiAgVGhlc2UgZnVuY3Rpb25zIGRvIG1vZGlmeSByZWFkX21vc3RseSB2YXJpYWJsZXMKKyAqIHNvIHVzZSB0aGVtIHNwYXJlbHkuIE5ldmVyIGZyZWUgYW4gZnRyYWNlX29wIG9yIG1vZGlmeSB0aGUKKyAqIG5leHQgcG9pbnRlciBhZnRlciBpdCBoYXMgYmVlbiByZWdpc3RlcmVkLiBFdmVuIGFmdGVyIHVucmVnaXN0ZXJpbmcKKyAqIGl0LCB0aGUgbmV4dCBwb2ludGVyIG1heSBzdGlsbCBiZSB1c2VkIGludGVybmFsbHkuCisgKi8KK2ludCByZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcyk7CitpbnQgdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcyk7Cit2b2lkIGNsZWFyX2Z0cmFjZV9mdW5jdGlvbih2b2lkKTsKKworZXh0ZXJuIHZvaWQgZnRyYWNlX3N0dWIodW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisKKyNlbHNlIC8qICFDT05GSUdfRlRSQUNFICovCisjIGRlZmluZSByZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24ob3BzKSBkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSB1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpIGRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGNsZWFyX2Z0cmFjZV9mdW5jdGlvbihvcHMpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFICovCisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKyMgZGVmaW5lIEZUUkFDRV9IQVNIQklUUwkxMAorIyBkZWZpbmUgRlRSQUNFX0hBU0hTSVpFCSgxPDxGVFJBQ0VfSEFTSEJJVFMpCisKK2VudW0geworCUZUUkFDRV9GTF9GUkVFCQk9ICgxIDw8IDApLAorCUZUUkFDRV9GTF9GQUlMRUQJPSAoMSA8PCAxKSwKKwlGVFJBQ0VfRkxfRklMVEVSCT0gKDEgPDwgMiksCisJRlRSQUNFX0ZMX0VOQUJMRUQJPSAoMSA8PCAzKSwKKwlGVFJBQ0VfRkxfTk9UUkFDRQk9ICgxIDw8IDQpLAorCUZUUkFDRV9GTF9DT05WRVJURUQJPSAoMSA8PCA1KSwKKwlGVFJBQ0VfRkxfRlJPWkVOCT0gKDEgPDwgNiksCit9OworCitzdHJ1Y3QgZHluX2Z0cmFjZSB7CisJc3RydWN0IGhsaXN0X25vZGUgbm9kZTsKKwl1bnNpZ25lZCBsb25nCSAgaXA7IC8qIGFkZHJlc3Mgb2YgbWNvdW50IGNhbGwtc2l0ZSAqLworCXVuc2lnbmVkIGxvbmcJICBmbGFnczsKK307CisKK2ludCBmdHJhY2VfZm9yY2VfdXBkYXRlKHZvaWQpOwordm9pZCBmdHJhY2Vfc2V0X2ZpbHRlcih1bnNpZ25lZCBjaGFyICpidWYsIGludCBsZW4sIGludCByZXNldCk7CisKKy8qIGRlZmluZWQgaW4gYXJjaCAqLworZXh0ZXJuIGludCBmdHJhY2VfaXBfY29udmVydGVkKHVuc2lnbmVkIGxvbmcgaXApOworZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmZ0cmFjZV9ub3BfcmVwbGFjZSh2b2lkKTsKK2V4dGVybiB1bnNpZ25lZCBjaGFyICpmdHJhY2VfY2FsbF9yZXBsYWNlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgYWRkcik7CitleHRlcm4gaW50IGZ0cmFjZV9keW5fYXJjaF9pbml0KHZvaWQgKmRhdGEpOworZXh0ZXJuIGludCBmdHJhY2VfbWNvdW50X3NldCh1bnNpZ25lZCBsb25nICpkYXRhKTsKK2V4dGVybiBpbnQgZnRyYWNlX21vZGlmeV9jb2RlKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGNoYXIgKm9sZF9jb2RlLAorCQkJICAgICAgdW5zaWduZWQgY2hhciAqbmV3X2NvZGUpOworZXh0ZXJuIGludCBmdHJhY2VfdXBkYXRlX2Z0cmFjZV9mdW5jKGZ0cmFjZV9mdW5jX3QgZnVuYyk7CitleHRlcm4gdm9pZCBmdHJhY2VfY2FsbGVyKHZvaWQpOworZXh0ZXJuIHZvaWQgZnRyYWNlX2NhbGwodm9pZCk7CitleHRlcm4gdm9pZCBtY291bnRfY2FsbCh2b2lkKTsKKworZXh0ZXJuIGludCBza2lwX3RyYWNlKHVuc2lnbmVkIGxvbmcgaXApOworCit2b2lkIGZ0cmFjZV9kaXNhYmxlX2RhZW1vbih2b2lkKTsKK3ZvaWQgZnRyYWNlX2VuYWJsZV9kYWVtb24odm9pZCk7CisKKyNlbHNlCisjIGRlZmluZSBza2lwX3RyYWNlKGlwKQkJCQkoeyAwOyB9KQorIyBkZWZpbmUgZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpCQkJKHsgMDsgfSkKKyMgZGVmaW5lIGZ0cmFjZV9zZXRfZmlsdGVyKGJ1ZiwgbGVuLCByZXNldCkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX2Rpc2FibGVfZGFlbW9uKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9lbmFibGVfZGFlbW9uKCkJCQlkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKKy8qIHRvdGFsbHkgZGlzYWJsZSBmdHJhY2UgLSBjYW4gbm90IHJlLWVuYWJsZSBhZnRlciB0aGlzICovCit2b2lkIGZ0cmFjZV9raWxsKHZvaWQpOwordm9pZCBmdHJhY2Vfa2lsbF9hdG9taWModm9pZCk7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB0cmFjZXJfZGlzYWJsZSh2b2lkKQoreworI2lmZGVmIENPTkZJR19GVFJBQ0UKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisjZW5kaWYKK30KKworI2lmZGVmIENPTkZJR19GUkFNRV9QT0lOVEVSCisvKiBUT0RPOiBuZWVkIHRvIGZpeCB0aGlzIGZvciBBUk0gKi8KKyMgZGVmaW5lIENBTExFUl9BRERSMCAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKQorIyBkZWZpbmUgQ0FMTEVSX0FERFIxICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMSkpCisjIGRlZmluZSBDQUxMRVJfQUREUjIgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygyKSkKKyMgZGVmaW5lIENBTExFUl9BRERSMyAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDMpKQorIyBkZWZpbmUgQ0FMTEVSX0FERFI0ICgodW5zaWduZWQgbG9uZylfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoNCkpCisjIGRlZmluZSBDQUxMRVJfQUREUjUgKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcyg1KSkKKyMgZGVmaW5lIENBTExFUl9BRERSNiAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDYpKQorI2Vsc2UKKyMgZGVmaW5lIENBTExFUl9BRERSMCAoKHVuc2lnbmVkIGxvbmcpX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApKQorIyBkZWZpbmUgQ0FMTEVSX0FERFIxIDBVTAorIyBkZWZpbmUgQ0FMTEVSX0FERFIyIDBVTAorIyBkZWZpbmUgQ0FMTEVSX0FERFIzIDBVTAorIyBkZWZpbmUgQ0FMTEVSX0FERFI0IDBVTAorIyBkZWZpbmUgQ0FMTEVSX0FERFI1IDBVTAorIyBkZWZpbmUgQ0FMTEVSX0FERFI2IDBVTAorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKKyAgZXh0ZXJuIHZvaWQgdGltZV9oYXJkaXJxc19vbih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKyAgZXh0ZXJuIHZvaWQgdGltZV9oYXJkaXJxc19vZmYodW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSk7CisjZWxzZQorIyBkZWZpbmUgdGltZV9oYXJkaXJxc19vbihhMCwgYTEpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSB0aW1lX2hhcmRpcnFzX29mZihhMCwgYTEpCQlkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgorICBleHRlcm4gdm9pZCB0cmFjZV9wcmVlbXB0X29uKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpOworICBleHRlcm4gdm9pZCB0cmFjZV9wcmVlbXB0X29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKTsKKyNlbHNlCisjIGRlZmluZSB0cmFjZV9wcmVlbXB0X29uKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHRyYWNlX3ByZWVtcHRfb2ZmKGEwLCBhMSkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1RSQUNJTkcKK2V4dGVybiB2b2lkCitmdHJhY2Vfc3BlY2lhbCh1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQKK2Z0cmFjZV9zcGVjaWFsKHVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpIHsgfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfTElOVVhfRlRSQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZ2VuaGQuaCBiL2luY2x1ZGUvbGludXgvZ2VuaGQuaAppbmRleCBhZTdhZWMzLi5lODc4NzQxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2dlbmhkLmgKKysrIGIvaW5jbHVkZS9saW51eC9nZW5oZC5oCkBAIC0xMTAsNiArMTEwLDE0IEBACiAjZGVmaW5lIEdFTkhEX0ZMX1NVUFBSRVNTX1BBUlRJVElPTl9JTkZPCTMyCiAjZGVmaW5lIEdFTkhEX0ZMX0ZBSUwJCQkJNjQKIAorI2RlZmluZSBCTEtfU0NTSV9NQVhfQ01EUwkoMjU2KQorI2RlZmluZSBCTEtfU0NTSV9DTURfUEVSX0xPTkcJKEJMS19TQ1NJX01BWF9DTURTIC8gKHNpemVvZihsb25nKSAqIDgpKQorCitzdHJ1Y3QgYmxrX3Njc2lfY21kX2ZpbHRlciB7CisJdW5zaWduZWQgbG9uZyByZWFkX29rW0JMS19TQ1NJX0NNRF9QRVJfTE9OR107CisJdW5zaWduZWQgbG9uZyB3cml0ZV9va1tCTEtfU0NTSV9DTURfUEVSX0xPTkddOworCXN0cnVjdCBrb2JqZWN0IGtvYmo7Cit9OwogCiBzdHJ1Y3QgZ2VuZGlzayB7CiAJaW50IG1ham9yOwkJCS8qIG1ham9yIG51bWJlciBvZiBkcml2ZXIgKi8KQEAgLTEyMCw2ICsxMjgsNyBAQAogCXN0cnVjdCBoZF9zdHJ1Y3QgKipwYXJ0OwkvKiBbaW5kZXhlZCBieSBtaW5vcl0gKi8KIAlzdHJ1Y3QgYmxvY2tfZGV2aWNlX29wZXJhdGlvbnMgKmZvcHM7CiAJc3RydWN0IHJlcXVlc3RfcXVldWUgKnF1ZXVlOworCXN0cnVjdCBibGtfc2NzaV9jbWRfZmlsdGVyIGNtZF9maWx0ZXI7CiAJdm9pZCAqcHJpdmF0ZV9kYXRhOwogCXNlY3Rvcl90IGNhcGFjaXR5OwogCkBAIC0xNDEsNiArMTUwLDkgQEAKIAlzdHJ1Y3QgZGlza19zdGF0cyBka3N0YXRzOwogI2VuZGlmCiAJc3RydWN0IHdvcmtfc3RydWN0IGFzeW5jX25vdGlmeTsKKyNpZmRlZiAgQ09ORklHX0JMS19ERVZfSU5URUdSSVRZCisJc3RydWN0IGJsa19pbnRlZ3JpdHkgKmludGVncml0eTsKKyNlbmRpZgogfTsKIAogLyogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2kyYy1hbGdvLXBjZi5oIGIvaW5jbHVkZS9saW51eC9pMmMtYWxnby1wY2YuaAppbmRleCA3N2FmYmI2Li4wMTc3ZDI4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2kyYy1hbGdvLXBjZi5oCisrKyBiL2luY2x1ZGUvbGludXgvaTJjLWFsZ28tcGNmLmgKQEAgLTMzLDkgKzMzLDExIEBACiAJaW50ICAoKmdldGNsb2NrKSAodm9pZCAqZGF0YSk7CiAJdm9pZCAoKndhaXRmb3JwaW4pICh2b2lkKTsKIAotCS8qIGxvY2FsIHNldHRpbmdzICovCi0JaW50IHVkZWxheTsKLQlpbnQgdGltZW91dDsKKwkvKiBNdWx0aS1tYXN0ZXIgbG9zdCBhcmJpdHJhdGlvbiBiYWNrLW9mZiBkZWxheSAobXNlY3MpCisJICogVGhpcyBzaG91bGQgYmUgc2V0IGJ5IHRoZSBidXMgYWRhcHRlciBvciBrbm93bGVkZ2FibGUgY2xpZW50CisJICogaWYgYnVzIGlzIG11bHRpLW1hc3RlcmVkLCBlbHNlIHplcm8KKwkgKi8KKwl1bnNpZ25lZCBsb25nIGxhYl9tZGVsYXk7CiB9OwogCiBpbnQgaTJjX3BjZl9hZGRfYnVzKHN0cnVjdCBpMmNfYWRhcHRlciAqKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjLWlkLmggYi9pbmNsdWRlL2xpbnV4L2kyYy1pZC5oCmluZGV4IDU4MGFjYzkuLmVmMTNiN2M2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2kyYy1pZC5oCisrKyBiL2luY2x1ZGUvbGludXgvaTJjLWlkLmgKQEAgLTkxLDggKzkxLDYgQEAKICNkZWZpbmUgSTJDX0RSSVZFUklEX001Mjc5MCAJOTUgICAgICAvKiBNaXRzdWJpc2hpIE01Mjc5MFNQL0ZQIEFWIHN3aXRjaCAqLwogI2RlZmluZSBJMkNfRFJJVkVSSURfQ1M1MzQ1CTk2CS8qIGNzNTM0NSBhdWRpbyBwcm9jZXNzb3IJKi8KIAotI2RlZmluZSBJMkNfRFJJVkVSSURfSTJDREVWCTkwMAotCiAjZGVmaW5lIEkyQ19EUklWRVJJRF9PVjc2NzAgMTA0OAkvKiBPbW5pdmlzaW9uIDc2NzAgY2FtZXJhICovCiAKIC8qCkBAIC0xMTEsNyArMTA5LDYgQEAKICNkZWZpbmUgSTJDX0hXX0JfUklWQQkJMHgwMTAwMTAgLyogUml2YSBiYXNlZCBncmFwaGljcyBjYXJkcyAqLwogI2RlZmluZSBJMkNfSFdfQl9JT0MJCTB4MDEwMDExIC8qIElPQyBiaXQtd2lnZ2xpbmcgKi8KICNkZWZpbmUgSTJDX0hXX0JfSVhQMjAwMAkweDAxMDAxNiAvKiBHUElPIG9uIElYUDIwMDAgc3lzdGVtcyAqLwotI2RlZmluZSBJMkNfSFdfQl9TM1ZJQQkJMHgwMTAwMTggLyogUzNWaWEgUHJvU2F2YWdlIGFkYXB0ZXIgKi8KICNkZWZpbmUgSTJDX0hXX0JfWlIzNjA2NwkweDAxMDAxOSAvKiBab3Jhbi0zNjA1Ny8zNjA2NyBiYXNlZCBib2FyZHMgKi8KICNkZWZpbmUgSTJDX0hXX0JfUENJTFlOWAkweDAxMDAxYSAvKiBUSSBQQ0lMeW54IEkyQyBhZGFwdGVyICovCiAjZGVmaW5lIEkyQ19IV19CX0NYMjM4OHgJMHgwMTAwMWIgLyogY29ubmV4YW50IDIzODh4IGJhc2VkIHR2IGNhcmRzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2kyYy5oIGIvaW5jbHVkZS9saW51eC9pMmMuaAppbmRleCA4ZGM3MzAxLi4wOGJlMGQyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2kyYy5oCisrKyBiL2luY2x1ZGUvbGludXgvaTJjLmgKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgkvKiBmb3IgY29tcGxldGlvbiAqLwogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKK2V4dGVybiBzdHJ1Y3QgYnVzX3R5cGUgaTJjX2J1c190eXBlOworCiAvKiAtLS0gR2VuZXJhbCBvcHRpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQkqLwogCiBzdHJ1Y3QgaTJjX21zZzsKQEAgLTQzLDYgKzQ1LDcgQEAKIHN0cnVjdCBpMmNfY2xpZW50Owogc3RydWN0IGkyY19kcml2ZXI7CiB1bmlvbiBpMmNfc21idXNfZGF0YTsKK3N0cnVjdCBpMmNfYm9hcmRfaW5mbzsKIAogLyoKICAqIFRoZSBtYXN0ZXIgcm91dGluZXMgYXJlIHRoZSBvbmVzIG5vcm1hbGx5IHVzZWQgdG8gdHJhbnNtaXQgZGF0YSB0byBkZXZpY2VzCkBAIC02OSw5ICs3Miw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBpMmNfc21idXNfZGF0YSAqIGRhdGEpOwogCiAvKiBOb3cgZm9sbG93IHRoZSAnbmljZScgYWNjZXNzIHJvdXRpbmVzLiBUaGVzZSBhbHNvIGRvY3VtZW50IHRoZSBjYWxsaW5nCi0gICBjb252ZW50aW9ucyBvZiBzbWJ1c19hY2Nlc3MuICovCisgICBjb252ZW50aW9ucyBvZiBpMmNfc21idXNfeGZlci4gKi8KIAotZXh0ZXJuIHMzMiBpMmNfc21idXNfd3JpdGVfcXVpY2soc3RydWN0IGkyY19jbGllbnQgKiBjbGllbnQsIHU4IHZhbHVlKTsKIGV4dGVybiBzMzIgaTJjX3NtYnVzX3JlYWRfYnl0ZShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCk7CiBleHRlcm4gczMyIGkyY19zbWJ1c193cml0ZV9ieXRlKHN0cnVjdCBpMmNfY2xpZW50ICogY2xpZW50LCB1OCB2YWx1ZSk7CiBleHRlcm4gczMyIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YShzdHJ1Y3QgaTJjX2NsaWVudCAqIGNsaWVudCwgdTggY29tbWFuZCk7CkBAIC05MywxNSArOTUsMzMgQEAKIAkJCQkJICB1OCBjb21tYW5kLCB1OCBsZW5ndGgsCiAJCQkJCSAgY29uc3QgdTggKnZhbHVlcyk7CiAKLS8qCi0gKiBBIGRyaXZlciBpcyBjYXBhYmxlIG9mIGhhbmRsaW5nIG9uZSBvciBtb3JlIHBoeXNpY2FsIGRldmljZXMgcHJlc2VudCBvbgotICogSTJDIGFkYXB0ZXJzLiBUaGlzIGluZm9ybWF0aW9uIGlzIHVzZWQgdG8gaW5mb3JtIHRoZSBkcml2ZXIgb2YgYWRhcHRlcgotICogZXZlbnRzLgorLyoqCisgKiBzdHJ1Y3QgaTJjX2RyaXZlciAtIHJlcHJlc2VudCBhbiBJMkMgZGV2aWNlIGRyaXZlcgorICogQGNsYXNzOiBXaGF0IGtpbmQgb2YgaTJjIGRldmljZSB3ZSBpbnN0YW50aWF0ZSAoZm9yIGRldGVjdCkKKyAqIEBkZXRlY3Q6IENhbGxiYWNrIGZvciBkZXZpY2UgZGV0ZWN0aW9uCisgKiBAYWRkcmVzc19kYXRhOiBUaGUgSTJDIGFkZHJlc3NlcyB0byBwcm9iZSwgaWdub3JlIG9yIGZvcmNlIChmb3IgZGV0ZWN0KQorICogQGNsaWVudHM6IExpc3Qgb2YgZGV0ZWN0ZWQgY2xpZW50cyB3ZSBjcmVhdGVkIChmb3IgaTJjLWNvcmUgdXNlIG9ubHkpCiAgKgogICogVGhlIGRyaXZlci5vd25lciBmaWVsZCBzaG91bGQgYmUgc2V0IHRvIHRoZSBtb2R1bGUgb3duZXIgb2YgdGhpcyBkcml2ZXIuCiAgKiBUaGUgZHJpdmVyLm5hbWUgZmllbGQgc2hvdWxkIGJlIHNldCB0byB0aGUgbmFtZSBvZiB0aGlzIGRyaXZlci4KKyAqCisgKiBGb3IgYXV0b21hdGljIGRldmljZSBkZXRlY3Rpb24sIGJvdGggQGRldGVjdCBhbmQgQGFkZHJlc3NfZGF0YSBtdXN0CisgKiBiZSBkZWZpbmVkLiBAY2xhc3Mgc2hvdWxkIGFsc28gYmUgc2V0LCBvdGhlcndpc2Ugb25seSBkZXZpY2VzIGZvcmNlZAorICogd2l0aCBtb2R1bGUgcGFyYW1ldGVycyB3aWxsIGJlIGNyZWF0ZWQuIFRoZSBkZXRlY3QgZnVuY3Rpb24gbXVzdAorICogZmlsbCBhdCBsZWFzdCB0aGUgbmFtZSBmaWVsZCBvZiB0aGUgaTJjX2JvYXJkX2luZm8gc3RydWN0dXJlIGl0IGlzCisgKiBoYW5kZWQgdXBvbiBzdWNjZXNzZnVsIGRldGVjdGlvbiwgYW5kIHBvc3NpYmx5IGFsc28gdGhlIGZsYWdzIGZpZWxkLgorICoKKyAqIElmIEBkZXRlY3QgaXMgbWlzc2luZywgdGhlIGRyaXZlciB3aWxsIHN0aWxsIHdvcmsgZmluZSBmb3IgZW51bWVyYXRlZAorICogZGV2aWNlcy4gRGV0ZWN0ZWQgZGV2aWNlcyBzaW1wbHkgd29uJ3QgYmUgc3VwcG9ydGVkLiBUaGlzIGlzIGV4cGVjdGVkCisgKiBmb3IgdGhlIG1hbnkgSTJDL1NNQnVzIGRldmljZXMgd2hpY2ggY2FuJ3QgYmUgZGV0ZWN0ZWQgcmVsaWFibHksIGFuZAorICogdGhlIG9uZXMgd2hpY2ggY2FuIGFsd2F5cyBiZSBlbnVtZXJhdGVkIGluIHByYWN0aWNlLgorICoKKyAqIFRoZSBpMmNfY2xpZW50IHN0cnVjdHVyZSB3aGljaCBpcyBoYW5kZWQgdG8gdGhlIEBkZXRlY3QgY2FsbGJhY2sgaXMKKyAqIG5vdCBhIHJlYWwgaTJjX2NsaWVudC4gSXQgaXMgaW5pdGlhbGl6ZWQganVzdCBlbm91Z2ggc28gdGhhdCB5b3UgY2FuCisgKiBjYWxsIGkyY19zbWJ1c19yZWFkX2J5dGVfZGF0YSBhbmQgZnJpZW5kcyBvbiBpdC4gRG9uJ3QgZG8gYW55dGhpbmcKKyAqIGVsc2Ugd2l0aCBpdC4gSW4gcGFydGljdWxhciwgY2FsbGluZyBkZXZfZGJnIGFuZCBmcmllbmRzIG9uIGl0IGlzCisgKiBub3QgYWxsb3dlZC4KICAqLwotCiBzdHJ1Y3QgaTJjX2RyaXZlciB7CiAJaW50IGlkOwogCXVuc2lnbmVkIGludCBjbGFzczsKQEAgLTE0MSw2ICsxNjEsMTEgQEAKIAogCXN0cnVjdCBkZXZpY2VfZHJpdmVyIGRyaXZlcjsKIAljb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCAqaWRfdGFibGU7CisKKwkvKiBEZXZpY2UgZGV0ZWN0aW9uIGNhbGxiYWNrIGZvciBhdXRvbWF0aWMgZGV2aWNlIGNyZWF0aW9uICovCisJaW50ICgqZGV0ZWN0KShzdHJ1Y3QgaTJjX2NsaWVudCAqLCBpbnQga2luZCwgc3RydWN0IGkyY19ib2FyZF9pbmZvICopOworCWNvbnN0IHN0cnVjdCBpMmNfY2xpZW50X2FkZHJlc3NfZGF0YSAqYWRkcmVzc19kYXRhOworCXN0cnVjdCBsaXN0X2hlYWQgY2xpZW50czsKIH07CiAjZGVmaW5lIHRvX2kyY19kcml2ZXIoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBpMmNfZHJpdmVyLCBkcml2ZXIpCiAKQEAgLTE1Niw2ICsxODEsNyBAQAogICogQGRldjogRHJpdmVyIG1vZGVsIGRldmljZSBub2RlIGZvciB0aGUgc2xhdmUuCiAgKiBAaXJxOiBpbmRpY2F0ZXMgdGhlIElSUSBnZW5lcmF0ZWQgYnkgdGhpcyBkZXZpY2UgKGlmIGFueSkKICAqIEBsaXN0OiBsaXN0IG9mIGFjdGl2ZS9idXN5IGNsaWVudHMgKERFUFJFQ0FURUQpCisgKiBAZGV0ZWN0ZWQ6IG1lbWJlciBvZiBhbiBpMmNfZHJpdmVyLmNsaWVudHMgbGlzdAogICogQHJlbGVhc2VkOiB1c2VkIHRvIHN5bmNocm9uaXplIGNsaWVudCByZWxlYXNlcyAmIGRldGFjaGVzIGFuZCByZWZlcmVuY2VzCiAgKgogICogQW4gaTJjX2NsaWVudCBpZGVudGlmaWVzIGEgc2luZ2xlIGRldmljZSAoaS5lLiBjaGlwKSBjb25uZWN0ZWQgdG8gYW4KQEAgLTE3Myw2ICsxOTksNyBAQAogCXN0cnVjdCBkZXZpY2UgZGV2OwkJLyogdGhlIGRldmljZSBzdHJ1Y3R1cmUJCSovCiAJaW50IGlycTsJCQkvKiBpcnEgaXNzdWVkIGJ5IGRldmljZQkJKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CQkvKiBERVBSRUNBVEVEICovCisJc3RydWN0IGxpc3RfaGVhZCBkZXRlY3RlZDsKIAlzdHJ1Y3QgY29tcGxldGlvbiByZWxlYXNlZDsKIH07CiAjZGVmaW5lIHRvX2kyY19jbGllbnQoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBpMmNfY2xpZW50LCBkZXYpCkBAIC0zNTAsMTAgKzM3NywxMSBAQAogI2RlZmluZSBJMkNfQ0xBU1NfSFdNT04JCSgxPDwwKQkvKiBsbV9zZW5zb3JzLCAuLi4gKi8KICNkZWZpbmUgSTJDX0NMQVNTX1RWX0FOQUxPRwkoMTw8MSkJLyogYnR0diArIGZyaWVuZHMgKi8KICNkZWZpbmUgSTJDX0NMQVNTX1RWX0RJR0lUQUwJKDE8PDIpCS8qIGR2YiBjYXJkcyAqLwotI2RlZmluZSBJMkNfQ0xBU1NfRERDCQkoMTw8MykJLyogaTJjLW1hdHJveGZiID8gKi8KKyNkZWZpbmUgSTJDX0NMQVNTX0REQwkJKDE8PDMpCS8qIEREQyBidXMgb24gZ3JhcGhpY3MgYWRhcHRlcnMgKi8KICNkZWZpbmUgSTJDX0NMQVNTX0NBTV9BTkFMT0cJKDE8PDQpCS8qIGNhbWVyYSB3aXRoIGFuYWxvZyBDQ0QgKi8KICNkZWZpbmUgSTJDX0NMQVNTX0NBTV9ESUdJVEFMCSgxPDw1KQkvKiBtb3N0IHdlYmNhbXMgKi8KICNkZWZpbmUgSTJDX0NMQVNTX1NPVU5ECQkoMTw8NikJLyogc291bmQgZGV2aWNlcyAqLworI2RlZmluZSBJMkNfQ0xBU1NfU1BECQkoMTw8NykJLyogU1BEIEVFUFJPTXMgYW5kIHNpbWlsYXIgKi8KICNkZWZpbmUgSTJDX0NMQVNTX0FMTAkJKFVJTlRfTUFYKSAvKiBhbGwgb2YgdGhlIGFib3ZlICovCiAKIC8qIGkyY19jbGllbnRfYWRkcmVzc19kYXRhIGlzIHRoZSBzdHJ1Y3QgZm9yIGhvbGRpbmcgZGVmYXVsdCBjbGllbnQKQEAgLTUzNyw3ICs1NjUsNyBAQAogCSAgICAgICAgICAgICAgICAgICAgICAgLyogYW5kIG9uZSBtb3JlIGZvciB1c2VyLXNwYWNlIGNvbXBhdGliaWxpdHkgKi8KIH07CiAKLS8qIHNtYnVzX2FjY2VzcyByZWFkIG9yIHdyaXRlIG1hcmtlcnMgKi8KKy8qIGkyY19zbWJ1c194ZmVyIHJlYWQgb3Igd3JpdGUgbWFya2VycyAqLwogI2RlZmluZSBJMkNfU01CVVNfUkVBRAkxCiAjZGVmaW5lIEkyQ19TTUJVU19XUklURQkwCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaTJjL2F0MjQuaCBiL2luY2x1ZGUvbGludXgvaTJjL2F0MjQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmVkZDUyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9pMmMvYXQyNC5oCkBAIC0wLDAgKzEsMjggQEAKKyNpZm5kZWYgX0xJTlVYX0FUMjRfSAorI2RlZmluZSBfTElOVVhfQVQyNF9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorCisvKgorICogQXMgc2VlbiB0aHJvdWdoIExpbnV4IEkyQywgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgbW9zdCBjb21tb24gdHlwZXMgb2YgSTJDCisgKiBtZW1vcnkgaW5jbHVkZToKKyAqIC0gSG93IG11Y2ggbWVtb3J5IGlzIGF2YWlsYWJsZSAodXN1YWxseSBzcGVjaWZpZWQgaW4gYml0KT8KKyAqIC0gV2hhdCB3cml0ZSBwYWdlIHNpemUgZG9lcyBpdCBzdXBwb3J0PworICogLSBTcGVjaWFsIGZsYWdzICgxNiBiaXQgYWRkcmVzc2VzLCByZWFkX29ubHksIHdvcmxkIHJlYWRhYmxlLi4uKT8KKyAqCisgKiBJZiB5b3Ugc2V0IHVwIGEgY3VzdG9tIGVlcHJvbSB0eXBlLCBwbGVhc2UgZG91YmxlLWNoZWNrIHRoZSBwYXJhbWV0ZXJzLgorICogRXNwZWNpYWxseSBwYWdlX3NpemUgbmVlZHMgZXh0cmEgY2FyZSwgYXMgeW91IHJpc2sgZGF0YSBsb3NzIGlmIHlvdXIgdmFsdWUKKyAqIGlzIGJpZ2dlciB0aGFuIHdoYXQgdGhlIGNoaXAgYWN0dWFsbHkgc3VwcG9ydHMhCisgKi8KKworc3RydWN0IGF0MjRfcGxhdGZvcm1fZGF0YSB7CisJdTMyCQlieXRlX2xlbjsJCS8qIHNpemUgKHN1bSBvZiBhbGwgYWRkcikgKi8KKwl1MTYJCXBhZ2Vfc2l6ZTsJCS8qIGZvciB3cml0ZXMgKi8KKwl1OAkJZmxhZ3M7CisjZGVmaW5lIEFUMjRfRkxBR19BRERSMTYJMHg4MAkvKiBhZGRyZXNzIHBvaW50ZXIgaXMgMTYgYml0ICovCisjZGVmaW5lIEFUMjRfRkxBR19SRUFET05MWQkweDQwCS8qIHN5c2ZzLWVudHJ5IHdpbGwgYmUgcmVhZC1vbmx5ICovCisjZGVmaW5lIEFUMjRfRkxBR19JUlVHTwkJMHgyMAkvKiBzeXNmcy1lbnRyeSB3aWxsIGJlIHdvcmxkLXJlYWRhYmxlICovCisjZGVmaW5lIEFUMjRfRkxBR19UQUtFOEFERFIJMHgxMAkvKiB0YWtlIGFsd2F5cyA4IGFkZHJlc3NlcyAoMjRjMDApICovCit9OworCisjZW5kaWYgLyogX0xJTlVYX0FUMjRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pZGUuaCBiL2luY2x1ZGUvbGludXgvaWRlLmgKaW5kZXggZWRkYjZkYS4uYWM0ZWViMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pZGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lkZS5oCkBAIC0zNjQsNyArMzY0LDYgQEAKICAgICAgICAgdTgJd2NhY2hlOwkJLyogc3RhdHVzIG9mIHdyaXRlIGNhY2hlICovCiAJdTgJYWNvdXN0aWM7CS8qIGFjb3VzdGljIG1hbmFnZW1lbnQgKi8KIAl1OAltZWRpYTsJCS8qIGRpc2ssIGNkcm9tLCB0YXBlLCBmbG9wcHksIC4uLiAqLwotCXU4CWN0bDsJCS8qICJub3JtYWwiIHZhbHVlIGZvciBDb250cm9sIHJlZ2lzdGVyICovCiAJdTgJcmVhZHlfc3RhdDsJLyogbWluIHN0YXR1cyB2YWx1ZSBmb3IgZHJpdmUgcmVhZHkgKi8KIAl1OAltdWx0X2NvdW50OwkvKiBjdXJyZW50IG11bHRpcGxlIHNlY3RvciBzZXR0aW5nICovCiAJdTgJbXVsdF9yZXE7CS8qIHJlcXVlc3RlZCBtdWx0aXBsZSBzZWN0b3Igc2V0dGluZyAqLwpAQCAtNDkzLDcgKzQ5Miw3IEBACiAJdm9pZCAoKmlkZV9kbWFfY2xlYXJfaXJxKShpZGVfZHJpdmVfdCAqZHJpdmUpOwogCiAJdm9pZCAoKk9VVEIpKHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCk7Ci0Jdm9pZCAoKk9VVEJTWU5DKShpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IGFkZHIsIHVuc2lnbmVkIGxvbmcgcG9ydCk7CisJdm9pZCAoKk9VVEJTWU5DKShzdHJ1Y3QgaHdpZl9zICpod2lmLCB1OCBhZGRyLCB1bnNpZ25lZCBsb25nIHBvcnQpOwogCiAJdTggICgqSU5CKSh1bnNpZ25lZCBsb25nIHBvcnQpOwogCkBAIC01MzIsNyArNTMxLDYgQEAKIAl1bnNpZ25lZAlzZXJpYWxpemVkIDogMTsJLyogc2VyaWFsaXplZCBhbGwgY2hhbm5lbCBvcGVyYXRpb24gKi8KIAl1bnNpZ25lZAlzaGFyaW5nX2lycTogMTsJLyogMSA9IHNoYXJpbmcgaXJxIHdpdGggYW5vdGhlciBod2lmICovCiAJdW5zaWduZWQJc2dfbWFwcGVkICA6IDE7CS8qIHNnX3RhYmxlIGFuZCBzZ19uZW50cyBhcmUgcmVhZHkgKi8KLQl1bnNpZ25lZAltbWlvICAgICAgIDogMTsgLyogaG9zdCB1c2VzIE1NSU8gKi8KIAogCXN0cnVjdCBkZXZpY2UJCWdlbmRldjsKIAlzdHJ1Y3QgZGV2aWNlCQkqcG9ydGRldjsKQEAgLTYwNCwxMiArNjAyLDEzIEBACiAJUENfRkxBR19TVVBQUkVTU19FUlJPUgkJPSAoMSA8PCAxKSwKIAlQQ19GTEFHX1dBSVRfRk9SX0RTQwkJPSAoMSA8PCAyKSwKIAlQQ19GTEFHX0RNQV9PSwkJCT0gKDEgPDwgMyksCi0JUENfRkxBR19ETUFfUkVDT01NRU5ERUQJCT0gKDEgPDwgNCksCi0JUENfRkxBR19ETUFfSU5fUFJPR1JFU1MJCT0gKDEgPDwgNSksCi0JUENfRkxBR19ETUFfRVJST1IJCT0gKDEgPDwgNiksCi0JUENfRkxBR19XUklUSU5HCQkJPSAoMSA8PCA3KSwKKwlQQ19GTEFHX0RNQV9JTl9QUk9HUkVTUwkJPSAoMSA8PCA0KSwKKwlQQ19GTEFHX0RNQV9FUlJPUgkJPSAoMSA8PCA1KSwKKwlQQ19GTEFHX1dSSVRJTkcJCQk9ICgxIDw8IDYpLAogCS8qIGNvbW1hbmQgdGltZWQgb3V0ICovCi0JUENfRkxBR19USU1FRE9VVAkJPSAoMSA8PCA4KSwKKwlQQ19GTEFHX1RJTUVET1VUCQk9ICgxIDw8IDcpLAorCVBDX0ZMQUdfWklQX0RSSVZFCQk9ICgxIDw8IDgpLAorCVBDX0ZMQUdfRFJRX0lOVEVSUlVQVAkJPSAoMSA8PCA5KSwKIH07CiAKIHN0cnVjdCBpZGVfYXRhcGlfcGMgewpAQCAtNjQyLDggKzY0MSw4IEBACiAJICogdG8gY2hhbmdlL3JlbW92YWwgbGF0ZXIuCiAJICovCiAJdTggcGNfYnVmWzI1Nl07Ci0Jdm9pZCAoKmlkZWZsb3BweV9jYWxsYmFjaykgKGlkZV9kcml2ZV90ICopOwotCWlkZV9zdGFydHN0b3BfdCAoKmlkZXRhcGVfY2FsbGJhY2spIChpZGVfZHJpdmVfdCAqKTsKKworCXZvaWQgKCpjYWxsYmFjaykoaWRlX2RyaXZlX3QgKik7CiAKIAkvKiBpZGV0YXBlIG9ubHkgKi8KIAlzdHJ1Y3QgaWRldGFwZV9iaCAqYmg7CkBAIC04MTMsMTAgKzgxMiw2IEBACiAjaWZuZGVmIF9JREVfQwogZXh0ZXJuCWlkZV9od2lmX3QJaWRlX2h3aWZzW107CQkvKiBtYXN0ZXIgZGF0YSByZXBvc2l0b3J5ICovCiAjZW5kaWYKLWV4dGVybiBpbnQgaWRlX25vYWNwaTsKLWV4dGVybiBpbnQgaWRlX2FjcGlndGY7Ci1leHRlcm4gaW50IGlkZV9hY3Bpb25ib290OwotZXh0ZXJuIGludCBub2F1dG9kbWE7CiAKIGV4dGVybiBpbnQgaWRlX3ZsYl9jbGs7CiBleHRlcm4gaW50IGlkZV9wY2lfY2xrOwpAQCAtODU3LDI1ICs4NTIsMTIgQEAKIAogZXh0ZXJuIGlkZV9zdGFydHN0b3BfdCBpZGVfZG9fcmVzZXQgKGlkZV9kcml2ZV90ICopOwogCi1leHRlcm4gdm9pZCBpZGVfaW5pdF9kcml2ZV9jbWQgKHN0cnVjdCByZXF1ZXN0ICpycSk7Ci0KLS8qCi0gKiAiYWN0aW9uIiBwYXJhbWV0ZXIgdHlwZSBmb3IgaWRlX2RvX2RyaXZlX2NtZCgpIGJlbG93LgotICovCi10eXBlZGVmIGVudW0gewotCWlkZV93YWl0LAkvKiBpbnNlcnQgcnEgYXQgZW5kIG9mIGxpc3QsIGFuZCB3YWl0IGZvciBpdCAqLwotCWlkZV9wcmVlbXB0LAkvKiBpbnNlcnQgcnEgaW4gZnJvbnQgb2YgY3VycmVudCByZXF1ZXN0ICovCi0JaWRlX2hlYWRfd2FpdCwJLyogaW5zZXJ0IHJxIGluIGZyb250IG9mIGN1cnJlbnQgcmVxdWVzdCBhbmQgd2FpdCBmb3IgaXQgKi8KLQlpZGVfZW5kCQkvKiBpbnNlcnQgcnEgYXQgZW5kIG9mIGxpc3QsIGJ1dCBkb24ndCB3YWl0IGZvciBpdCAqLwotfSBpZGVfYWN0aW9uX3Q7Ci0KLWV4dGVybiBpbnQgaWRlX2RvX2RyaXZlX2NtZChpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdCAqLCBpZGVfYWN0aW9uX3QpOworZXh0ZXJuIHZvaWQgaWRlX2RvX2RyaXZlX2NtZChpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgcmVxdWVzdCAqKTsKIAogZXh0ZXJuIHZvaWQgaWRlX2VuZF9kcml2ZV9jbWQoaWRlX2RyaXZlX3QgKiwgdTgsIHU4KTsKIAogZW51bSB7CiAJSURFX1RGTEFHX0xCQTQ4CQkJPSAoMSA8PCAwKSwKLQlJREVfVEZMQUdfTk9fU0VMRUNUX01BU0sJPSAoMSA8PCAxKSwKIAlJREVfVEZMQUdfRkxBR0dFRAkJPSAoMSA8PCAyKSwKIAlJREVfVEZMQUdfT1VUX0RBVEEJCT0gKDEgPDwgMyksCiAJSURFX1RGTEFHX09VVF9IT0JfRkVBVFVSRQk9ICgxIDw8IDQpLApAQCAtOTgwLDExICs5NjIsMjMgQEAKIHZvaWQgaWRlX3RmX2R1bXAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgaWRlX3Rhc2tmaWxlICopOwogCiBleHRlcm4gdm9pZCBTRUxFQ1RfRFJJVkUoaWRlX2RyaXZlX3QgKik7Cit2b2lkIFNFTEVDVF9NQVNLKGlkZV9kcml2ZV90ICosIGludCk7CiAKIGV4dGVybiBpbnQgZHJpdmVfaXNfcmVhZHkoaWRlX2RyaXZlX3QgKik7CiAKIHZvaWQgaWRlX3BrdGNtZF90Zl9sb2FkKGlkZV9kcml2ZV90ICosIHUzMiwgdTE2LCB1OCk7CiAKK2lkZV9zdGFydHN0b3BfdCBpZGVfcGNfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUsIHN0cnVjdCBpZGVfYXRhcGlfcGMgKnBjLAorCWlkZV9oYW5kbGVyX3QgKmhhbmRsZXIsIHVuc2lnbmVkIGludCB0aW1lb3V0LCBpZGVfZXhwaXJ5X3QgKmV4cGlyeSwKKwl2b2lkICgqdXBkYXRlX2J1ZmZlcnMpKGlkZV9kcml2ZV90ICosIHN0cnVjdCBpZGVfYXRhcGlfcGMgKiksCisJdm9pZCAoKnJldHJ5X3BjKShpZGVfZHJpdmVfdCAqKSwgdm9pZCAoKmRzY19oYW5kbGUpKGlkZV9kcml2ZV90ICopLAorCXZvaWQgKCppb19idWZmZXJzKShpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosIHVuc2lnbmVkIGludCwKKwkJCSAgIGludCkpOworaWRlX3N0YXJ0c3RvcF90IGlkZV90cmFuc2Zlcl9wYyhpZGVfZHJpdmVfdCAqLCBzdHJ1Y3QgaWRlX2F0YXBpX3BjICosCisJCQkJaWRlX2hhbmRsZXJfdCAqLCB1bnNpZ25lZCBpbnQsIGlkZV9leHBpcnlfdCAqKTsKK2lkZV9zdGFydHN0b3BfdCBpZGVfaXNzdWVfcGMoaWRlX2RyaXZlX3QgKiwgc3RydWN0IGlkZV9hdGFwaV9wYyAqLAorCQkJICAgICBpZGVfaGFuZGxlcl90ICosIHVuc2lnbmVkIGludCwgaWRlX2V4cGlyeV90ICopOworCiBpZGVfc3RhcnRzdG9wX3QgZG9fcndfdGFza2ZpbGUoaWRlX2RyaXZlX3QgKiwgaWRlX3Rhc2tfdCAqKTsKIAogdm9pZCB0YXNrX2VuZF9yZXF1ZXN0KGlkZV9kcml2ZV90ICosIHN0cnVjdCByZXF1ZXN0ICosIHU4KTsKQEAgLTk5Niw4ICs5OTAsNiBAQAogaW50IGlkZV9jbWRfaW9jdGwoaWRlX2RyaXZlX3QgKiwgdW5zaWduZWQgaW50LCB1bnNpZ25lZCBsb25nKTsKIGludCBpZGVfdGFza19pb2N0bChpZGVfZHJpdmVfdCAqLCB1bnNpZ25lZCBpbnQsIHVuc2lnbmVkIGxvbmcpOwogCi1leHRlcm4gaW50IHN5c3RlbV9idXNfY2xvY2sodm9pZCk7Ci0KIGV4dGVybiBpbnQgaWRlX2RyaXZlaWRfdXBkYXRlKGlkZV9kcml2ZV90ICopOwogZXh0ZXJuIGludCBpZGVfY29uZmlnX2RyaXZlX3NwZWVkKGlkZV9kcml2ZV90ICosIHU4KTsKIGV4dGVybiB1OCBlaWdodHlfbmludHlfdGhyZWUgKGlkZV9kcml2ZV90ICopOwpAQCAtMTM0OSw3ICsxMzQxLDggQEAKIHsKIAlpZGVfaHdpZl90ICpod2lmID0gZHJpdmUtPmh3aWY7CiAKLQlod2lmLT5PVVRCKGRyaXZlLT5jdGwgfCAob24gPyAwIDogMiksIGh3aWYtPmlvX3BvcnRzLmN0bF9hZGRyKTsKKwlod2lmLT5PVVRCU1lOQyhod2lmLCBBVEFfREVWQ1RMX09CUyB8IChvbiA/IDAgOiAyKSwKKwkJICAgICAgIGh3aWYtPmlvX3BvcnRzLmN0bF9hZGRyKTsKIH0KIAogc3RhdGljIGlubGluZSB1OCBpZGVfcmVhZF9zdGF0dXMoaWRlX2RyaXZlX3QgKmRyaXZlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9paGV4LmggYi9pbmNsdWRlL2xpbnV4L2loZXguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmFhY2UyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9paGV4LmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvbXBhY3QgYmluYXJ5IHJlcHJlc2VudGF0aW9uIG9mIGloZXggcmVjb3Jkcy4gU29tZSBkZXZpY2VzIG5lZWQgdGhlaXIKKyAqIGZpcm13YXJlIGxvYWRlZCBpbiBzdHJhbmdlIG9yZGVycyByYXRoZXIgdGhhbiBhIHNpbmdsZSBiaWcgYmxvYiwgYnV0CisgKiBhY3R1YWxseSBwYXJzaW5nIGloZXgtYXMtdGV4dCB3aXRoaW4gdGhlIGtlcm5lbCBzZWVtcyBzaWxseS4gVGh1cywuLi4KKyAqLworCisjaWZuZGVmIF9fTElOVVhfSUhFWF9IX18KKyNkZWZpbmUgX19MSU5VWF9JSEVYX0hfXworCisjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorCisvKiBJbnRlbCBIRVggZmlsZXMgYWN0dWFsbHkgbGltaXQgdGhlIGxlbmd0aCB0byAyNTYgYnl0ZXMsIGJ1dCB3ZSBoYXZlCisgICBkcml2ZXJzIHdoaWNoIHdvdWxkIGJlbmVmaXQgZnJvbSB1c2luZyBzZXBhcmF0ZSByZWNvcmRzIHdoaWNoIGFyZQorICAgbG9uZ2VyIHRoYW4gdGhhdCwgc28gd2UgZXh0ZW5kIHRvIDE2IGJpdHMgb2YgbGVuZ3RoICovCitzdHJ1Y3QgaWhleF9iaW5yZWMgeworCV9fYmUzMiBhZGRyOworCV9fYmUxNiBsZW47CisJdWludDhfdCBkYXRhWzBdOworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDQpKSk7CisKKy8qIEZpbmQgdGhlIG5leHQgcmVjb3JkLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSA0LWJ5dGUgYWxpZ25tZW50ICovCitzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqCitpaGV4X25leHRfYmlucmVjKGNvbnN0IHN0cnVjdCBpaGV4X2JpbnJlYyAqcmVjKQoreworCWludCBuZXh0ID0gKChiZTE2X3RvX2NwdShyZWMtPmxlbikgKyA1KSAmIH4zKSAtIDI7CisJcmVjID0gKHZvaWQgKikmcmVjLT5kYXRhW25leHRdOworCisJcmV0dXJuIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSA/IHJlYyA6IE5VTEw7Cit9CisKKy8qIENoZWNrIHRoYXQgaWhleF9uZXh0X2JpbnJlYygpIHdvbid0IHRha2UgdXMgb2ZmIHRoZSBlbmQgb2YgdGhlIGltYWdlLi4uICovCitzdGF0aWMgaW5saW5lIGludCBpaGV4X3ZhbGlkYXRlX2Z3KGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpCit7CisJY29uc3Qgc3RydWN0IGloZXhfYmlucmVjICpyZWM7CisJc2l6ZV90IG9mcyA9IDA7CisKKwl3aGlsZSAob2ZzIDw9IGZ3LT5zaXplIC0gc2l6ZW9mKCpyZWMpKSB7CisJCXJlYyA9ICh2b2lkICopJmZ3LT5kYXRhW29mc107CisKKwkJLyogWmVybyBsZW5ndGggbWFya3MgZW5kIG9mIHJlY29yZHMgKi8KKwkJaWYgKCFiZTE2X3RvX2NwdShyZWMtPmxlbikpCisJCQlyZXR1cm4gMDsKKworCQkvKiBQb2ludCB0byBuZXh0IHJlY29yZC4uLiAqLworCQlvZnMgKz0gKHNpemVvZigqcmVjKSArIGJlMTZfdG9fY3B1KHJlYy0+bGVuKSArIDMpICYgfjM7CisJfQorCXJldHVybiAtRUlOVkFMOworfQorCisvKiBSZXF1ZXN0IGZpcm13YXJlIGFuZCB2YWxpZGF0ZSBpdCBzbyB0aGF0IHdlIGNhbiB0cnVzdCB3ZSB3b24ndAorICogcnVuIG9mZiB0aGUgZW5kIHdoaWxlIHJlYWRpbmcgcmVjb3Jkcy4uLiAqLworc3RhdGljIGlubGluZSBpbnQgcmVxdWVzdF9paGV4X2Zpcm13YXJlKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqKmZ3LAorCQkJCQljb25zdCBjaGFyICpmd19uYW1lLAorCQkJCQlzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJY29uc3Qgc3RydWN0IGZpcm13YXJlICpsZnc7CisJaW50IHJldDsKKworCXJldCA9IHJlcXVlc3RfZmlybXdhcmUoJmxmdywgZndfbmFtZSwgZGV2KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCXJldCA9IGloZXhfdmFsaWRhdGVfZncobGZ3KTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZGV2LCAiRmlybXdhcmUgXCIlc1wiIG5vdCB2YWxpZCBJSEVYIHJlY29yZHNcbiIsCisJCQlmd19uYW1lKTsKKwkJcmVsZWFzZV9maXJtd2FyZShsZncpOworCQlyZXR1cm4gcmV0OworCX0KKwkqZncgPSBsZnc7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogX19MSU5VWF9JSEVYX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaCBiL2luY2x1ZGUvbGludXgvaW50ZXJydXB0LmgKaW5kZXggZjFmYzc0Ny4uNjJhYTRmOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaAorKysgYi9pbmNsdWRlL2xpbnV4L2ludGVycnVwdC5oCkBAIC0xMDQsOCArMTA0LDExIEBACiAKICNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX0dFTkVSSUNfSEFSRElSUVMpCiAKK2V4dGVybiBjcHVtYXNrX3QgaXJxX2RlZmF1bHRfYWZmaW5pdHk7CisKIGV4dGVybiBpbnQgaXJxX3NldF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxLCBjcHVtYXNrX3QgY3B1bWFzayk7CiBleHRlcm4gaW50IGlycV9jYW5fc2V0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIGludCBpcnFfc2VsZWN0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpOwogCiAjZWxzZSAvKiBDT05GSUdfU01QICovCiAKQEAgLTExOSw2ICsxMjIsOCBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIGludCBpcnFfc2VsZWN0X2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpICB7IHJldHVybiAwOyB9CisKICNlbmRpZiAvKiBDT05GSUdfU01QICYmIENPTkZJR19HRU5FUklDX0hBUkRJUlFTICovCiAKICNpZmRlZiBDT05GSUdfR0VORVJJQ19IQVJESVJRUwpAQCAtMjg1LDEyICsyOTAsMTEgQEAKIHN0cnVjdCBzb2Z0aXJxX2FjdGlvbgogewogCXZvaWQJKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiAqKTsKLQl2b2lkCSpkYXRhOwogfTsKIAogYXNtbGlua2FnZSB2b2lkIGRvX3NvZnRpcnEodm9pZCk7CiBhc21saW5rYWdlIHZvaWQgX19kb19zb2Z0aXJxKHZvaWQpOwotZXh0ZXJuIHZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uKiksIHZvaWQgKmRhdGEpOworZXh0ZXJuIHZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uICopKTsKIGV4dGVybiB2b2lkIHNvZnRpcnFfaW5pdCh2b2lkKTsKICNkZWZpbmUgX19yYWlzZV9zb2Z0aXJxX2lycW9mZihucikgZG8geyBvcl9zb2Z0aXJxX3BlbmRpbmcoMVVMIDw8IChucikpOyB9IHdoaWxlICgwKQogZXh0ZXJuIHZvaWQgcmFpc2Vfc29mdGlycV9pcnFvZmYodW5zaWduZWQgaW50IG5yKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaW9jb250ZXh0LmggYi9pbmNsdWRlL2xpbnV4L2lvY29udGV4dC5oCmluZGV4IDJiN2ExMTguLjA4Yjk4N2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaW9jb250ZXh0LmgKKysrIGIvaW5jbHVkZS9saW51eC9pb2NvbnRleHQuaApAQCAtOTksNCArOTksMjIgQEAKIAlyZXR1cm4gTlVMTDsKIH0KIAorI2lmZGVmIENPTkZJR19CTE9DSworaW50IHB1dF9pb19jb250ZXh0KHN0cnVjdCBpb19jb250ZXh0ICppb2MpOwordm9pZCBleGl0X2lvX2NvbnRleHQodm9pZCk7CitzdHJ1Y3QgaW9fY29udGV4dCAqZ2V0X2lvX2NvbnRleHQoZ2ZwX3QgZ2ZwX2ZsYWdzLCBpbnQgbm9kZSk7CitzdHJ1Y3QgaW9fY29udGV4dCAqYWxsb2NfaW9fY29udGV4dChnZnBfdCBnZnBfZmxhZ3MsIGludCBub2RlKTsKK3ZvaWQgY29weV9pb19jb250ZXh0KHN0cnVjdCBpb19jb250ZXh0ICoqcGRzdCwgc3RydWN0IGlvX2NvbnRleHQgKipwc3JjKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgZXhpdF9pb19jb250ZXh0KHZvaWQpCit7Cit9CisKK3N0cnVjdCBpb19jb250ZXh0Oworc3RhdGljIGlubGluZSBpbnQgcHV0X2lvX2NvbnRleHQoc3RydWN0IGlvX2NvbnRleHQgKmlvYykKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZgorCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaXJxLmggYi9pbmNsdWRlL2xpbnV4L2lycS5oCmluZGV4IDU1MmUwZWMuLjhjY2I0NjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaXJxLmgKKysrIGIvaW5jbHVkZS9saW51eC9pcnEuaApAQCAtMjQ0LDE1ICsyNDQsNiBAQAogfQogI2VuZGlmCiAKLSNpZmRlZiBDT05GSUdfQVVUT19JUlFfQUZGSU5JVFkKLWV4dGVybiBpbnQgc2VsZWN0X3NtcF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKTsKLSNlbHNlCi1zdGF0aWMgaW5saW5lIGludCBzZWxlY3Rfc21wX2FmZmluaXR5KHVuc2lnbmVkIGludCBpcnEpCi17Ci0JcmV0dXJuIDE7Ci19Ci0jZW5kaWYKLQogZXh0ZXJuIGludCBub19pcnFfYWZmaW5pdHk7CiAKIHN0YXRpYyBpbmxpbmUgaW50IGlycV9iYWxhbmNpbmdfZGlzYWJsZWQodW5zaWduZWQgaW50IGlycSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaCBiL2luY2x1ZGUvbGludXgvaXJxZmxhZ3MuaAppbmRleCBlNjAwYzRlLi4yYjFjMmU1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lycWZsYWdzLmgKKysrIGIvaW5jbHVkZS9saW51eC9pcnFmbGFncy5oCkBAIC0xMiwxMCArMTIsMTAgQEAKICNkZWZpbmUgX0xJTlVYX1RSQUNFX0lSUUZMQUdTX0gKIAogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKTsKLSAgZXh0ZXJuIHZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmKHZvaWQpOwogICBleHRlcm4gdm9pZCB0cmFjZV9zb2Z0aXJxc19vbih1bnNpZ25lZCBsb25nIGlwKTsKICAgZXh0ZXJuIHZvaWQgdHJhY2Vfc29mdGlycXNfb2ZmKHVuc2lnbmVkIGxvbmcgaXApOworICBleHRlcm4gdm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKTsKKyAgZXh0ZXJuIHZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmKHZvaWQpOwogIyBkZWZpbmUgdHJhY2VfaGFyZGlycV9jb250ZXh0KHApCSgocCktPmhhcmRpcnFfY29udGV4dCkKICMgZGVmaW5lIHRyYWNlX3NvZnRpcnFfY29udGV4dChwKQkoKHApLT5zb2Z0aXJxX2NvbnRleHQpCiAjIGRlZmluZSB0cmFjZV9oYXJkaXJxc19lbmFibGVkKHApCSgocCktPmhhcmRpcnFzX2VuYWJsZWQpCkBAIC00MSw2ICs0MSwxNSBAQAogIyBkZWZpbmUgSU5JVF9UUkFDRV9JUlFGTEFHUwogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgfHwgXAorCWRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKQorIGV4dGVybiB2b2lkIHN0b3BfY3JpdGljYWxfdGltaW5ncyh2b2lkKTsKKyBleHRlcm4gdm9pZCBzdGFydF9jcml0aWNhbF90aW1pbmdzKHZvaWQpOworI2Vsc2UKKyMgZGVmaW5lIHN0b3BfY3JpdGljYWxfdGltaW5ncygpIGRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIHN0YXJ0X2NyaXRpY2FsX3RpbWluZ3MoKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKwogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQT1JUCiAKICNpbmNsdWRlIDxhc20vaXJxZmxhZ3MuaD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvamJkMi5oIGIvaW5jbHVkZS9saW51eC9qYmQyLmgKaW5kZXggZDE0N2YwZi4uM2RkMjA5MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9qYmQyLmgKKysrIGIvaW5jbHVkZS9saW51eC9qYmQyLmgKQEAgLTE2OCw2ICsxNjgsOCBAQAogCXVuc2lnbmVkIGNoYXIgICBoX2Noa3N1bV9zaXplOwogCXVuc2lnbmVkIGNoYXIgCWhfcGFkZGluZ1syXTsKIAlfX2JlMzIgCQloX2Noa3N1bVtKQkQyX0NIRUNLU1VNX0JZVEVTXTsKKwlfX2JlNjQJCWhfY29tbWl0X3NlYzsKKwlfX2JlMzIJCWhfY29tbWl0X25zZWM7CiB9OwogCiAvKgpAQCAtMzc5LDYgKzM4MSwzOCBAQAogCWJpdF9zcGluX3VubG9jayhCSF9Kb3VybmFsSGVhZCwgJmJoLT5iX3N0YXRlKTsKIH0KIAorLyogRmxhZ3MgaW4gamJkX2lub2RlLT5pX2ZsYWdzICovCisjZGVmaW5lIF9fSklfQ09NTUlUX1JVTk5JTkcgMAorLyogQ29tbWl0IG9mIHRoZSBpbm9kZSBkYXRhIGluIHByb2dyZXNzLiBXZSB1c2UgdGhpcyBmbGFnIHRvIHByb3RlY3QgdXMgZnJvbQorICogY29uY3VycmVudCBkZWxldGlvbiBvZiBpbm9kZS4gV2UgY2Fubm90IHVzZSByZWZlcmVuY2UgdG8gaW5vZGUgZm9yIHRoaXMKKyAqIHNpbmNlIHdlIGNhbm5vdCBhZmZvcmQgZG9pbmcgbGFzdCBpcHV0KCkgb24gYmVoYWxmIG9mIGtqb3VybmFsZAorICovCisjZGVmaW5lIEpJX0NPTU1JVF9SVU5OSU5HICgxIDw8IF9fSklfQ09NTUlUX1JVTk5JTkcpCisKKy8qKgorICogc3RydWN0IGpiZF9pbm9kZSBpcyB0aGUgc3RydWN0dXJlIGxpbmtpbmcgaW5vZGVzIGluIG9yZGVyZWQgbW9kZQorICogICBwcmVzZW50IGluIGEgdHJhbnNhY3Rpb24gc28gdGhhdCB3ZSBjYW4gc3luYyB0aGVtIGR1cmluZyBjb21taXQuCisgKi8KK3N0cnVjdCBqYmQyX2lub2RlIHsKKwkvKiBXaGljaCB0cmFuc2FjdGlvbiBkb2VzIHRoaXMgaW5vZGUgYmVsb25nIHRvPyBFaXRoZXIgdGhlIHJ1bm5pbmcKKwkgKiB0cmFuc2FjdGlvbiBvciB0aGUgY29tbWl0dGluZyBvbmUuIFtqX2xpc3RfbG9ja10gKi8KKwl0cmFuc2FjdGlvbl90ICppX3RyYW5zYWN0aW9uOworCisJLyogUG9pbnRlciB0byB0aGUgcnVubmluZyB0cmFuc2FjdGlvbiBtb2RpZnlpbmcgaW5vZGUncyBkYXRhIGluIGNhc2UKKwkgKiB0aGVyZSBpcyBhbHJlYWR5IGEgY29tbWl0dGluZyB0cmFuc2FjdGlvbiB0b3VjaGluZyBpdC4gW2pfbGlzdF9sb2NrXSAqLworCXRyYW5zYWN0aW9uX3QgKmlfbmV4dF90cmFuc2FjdGlvbjsKKworCS8qIExpc3Qgb2YgaW5vZGVzIGluIHRoZSBpX3RyYW5zYWN0aW9uIFtqX2xpc3RfbG9ja10gKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIGlfbGlzdDsKKworCS8qIFZGUyBpbm9kZSB0aGlzIGlub2RlIGJlbG9uZ3MgdG8gW2NvbnN0YW50IGR1cmluZyB0aGUgbGlmZXRpbWUKKwkgKiBvZiB0aGUgc3RydWN0dXJlXSAqLworCXN0cnVjdCBpbm9kZSAqaV92ZnNfaW5vZGU7CisKKwkvKiBGbGFncyBvZiBpbm9kZSBbal9saXN0X2xvY2tdICovCisJdW5zaWduZWQgaW50IGlfZmxhZ3M7Cit9OworCiBzdHJ1Y3QgamJkMl9yZXZva2VfdGFibGVfczsKIAogLyoqCkBAIC01MDksMjQgKzU0MywxMiBAQAogCXN0cnVjdCBqb3VybmFsX2hlYWQJKnRfcmVzZXJ2ZWRfbGlzdDsKIAogCS8qCi0JICogRG91Ymx5LWxpbmtlZCBjaXJjdWxhciBsaXN0IG9mIGFsbCBidWZmZXJzIHVuZGVyIHdyaXRlb3V0IGR1cmluZwotCSAqIGNvbW1pdCBbal9saXN0X2xvY2tdCi0JICovCi0Jc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9sb2NrZWRfbGlzdDsKLQotCS8qCiAJICogRG91Ymx5LWxpbmtlZCBjaXJjdWxhciBsaXN0IG9mIGFsbCBtZXRhZGF0YSBidWZmZXJzIG93bmVkIGJ5IHRoaXMKIAkgKiB0cmFuc2FjdGlvbiBbal9saXN0X2xvY2tdCiAJICovCiAJc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9idWZmZXJzOwogCiAJLyoKLQkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIGRhdGEgYnVmZmVycyBzdGlsbCB0byBiZQotCSAqIGZsdXNoZWQgYmVmb3JlIHRoaXMgdHJhbnNhY3Rpb24gY2FuIGJlIGNvbW1pdHRlZCBbal9saXN0X2xvY2tdCi0JICovCi0Jc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9zeW5jX2RhdGFsaXN0OwotCi0JLyoKIAkgKiBEb3VibHktbGlua2VkIGNpcmN1bGFyIGxpc3Qgb2YgYWxsIGZvcmdldCBidWZmZXJzIChzdXBlcnNlZGVkCiAJICogYnVmZmVycyB3aGljaCB3ZSBjYW4gdW4tY2hlY2twb2ludCBvbmNlIHRoaXMgdHJhbnNhY3Rpb24gY29tbWl0cykKIAkgKiBbal9saXN0X2xvY2tdCkBAIC01NjUsNiArNTg3LDEyIEBACiAJc3RydWN0IGpvdXJuYWxfaGVhZAkqdF9sb2dfbGlzdDsKIAogCS8qCisJICogTGlzdCBvZiBpbm9kZXMgd2hvc2UgZGF0YSB3ZSd2ZSBtb2RpZmllZCBpbiBkYXRhPW9yZGVyZWQgbW9kZS4KKwkgKiBbal9saXN0X2xvY2tdCisJICovCisJc3RydWN0IGxpc3RfaGVhZAl0X2lub2RlX2xpc3Q7CisKKwkvKgogCSAqIFByb3RlY3RzIGluZm8gcmVsYXRlZCB0byBoYW5kbGVzCiAJICovCiAJc3BpbmxvY2tfdAkJdF9oYW5kbGVfbG9jazsKQEAgLTEwMDQsNyArMTAzMiw2IEBACiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZ2V0X3dyaXRlX2FjY2VzcyhoYW5kbGVfdCAqLCBzdHJ1Y3QgYnVmZmVyX2hlYWQgKik7CiBleHRlcm4gaW50CSBqYmQyX2pvdXJuYWxfZ2V0X2NyZWF0ZV9hY2Nlc3MgKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9nZXRfdW5kb19hY2Nlc3MoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwotZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2RpcnR5X2RhdGEgKGhhbmRsZV90ICosIHN0cnVjdCBidWZmZXJfaGVhZCAqKTsKIGV4dGVybiBpbnQJIGpiZDJfam91cm5hbF9kaXJ0eV9tZXRhZGF0YSAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIHZvaWQJIGpiZDJfam91cm5hbF9yZWxlYXNlX2J1ZmZlciAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwogZXh0ZXJuIGludAkgamJkMl9qb3VybmFsX2ZvcmdldCAoaGFuZGxlX3QgKiwgc3RydWN0IGJ1ZmZlcl9oZWFkICopOwpAQCAtMTA0NCw2ICsxMDcxLDEwIEBACiBleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9jbGVhcl9lcnIgIChqb3VybmFsX3QgKik7CiBleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9ibWFwKGpvdXJuYWxfdCAqLCB1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nIGxvbmcgKik7CiBleHRlcm4gaW50CSAgIGpiZDJfam91cm5hbF9mb3JjZV9jb21taXQoam91cm5hbF90ICopOworZXh0ZXJuIGludAkgICBqYmQyX2pvdXJuYWxfZmlsZV9pbm9kZShoYW5kbGVfdCAqaGFuZGxlLCBzdHJ1Y3QgamJkMl9pbm9kZSAqaW5vZGUpOworZXh0ZXJuIGludAkgICBqYmQyX2pvdXJuYWxfYmVnaW5fb3JkZXJlZF90cnVuY2F0ZShzdHJ1Y3QgamJkMl9pbm9kZSAqaW5vZGUsIGxvZmZfdCBuZXdfc2l6ZSk7CitleHRlcm4gdm9pZAkgICBqYmQyX2pvdXJuYWxfaW5pdF9qYmRfaW5vZGUoc3RydWN0IGpiZDJfaW5vZGUgKmppbm9kZSwgc3RydWN0IGlub2RlICppbm9kZSk7CitleHRlcm4gdm9pZAkgICBqYmQyX2pvdXJuYWxfcmVsZWFzZV9qYmRfaW5vZGUoam91cm5hbF90ICpqb3VybmFsLCBzdHJ1Y3QgamJkMl9pbm9kZSAqamlub2RlKTsKIAogLyoKICAqIGpvdXJuYWxfaGVhZCBtYW5hZ2VtZW50CkBAIC0xMTc5LDE1ICsxMjEwLDEzIEBACiAKIC8qIGpvdXJuYWxpbmcgYnVmZmVyIHR5cGVzICovCiAjZGVmaW5lIEJKX05vbmUJCTAJLyogTm90IGpvdXJuYWxlZCAqLwotI2RlZmluZSBCSl9TeW5jRGF0YQkxCS8qIE5vcm1hbCBkYXRhOiBmbHVzaCBiZWZvcmUgY29tbWl0ICovCi0jZGVmaW5lIEJKX01ldGFkYXRhCTIJLyogTm9ybWFsIGpvdXJuYWxlZCBtZXRhZGF0YSAqLwotI2RlZmluZSBCSl9Gb3JnZXQJMwkvKiBCdWZmZXIgc3VwZXJzZWRlZCBieSB0aGlzIHRyYW5zYWN0aW9uICovCi0jZGVmaW5lIEJKX0lPCQk0CS8qIEJ1ZmZlciBpcyBmb3IgdGVtcG9yYXJ5IElPIHVzZSAqLwotI2RlZmluZSBCSl9TaGFkb3cJNQkvKiBCdWZmZXIgY29udGVudHMgYmVpbmcgc2hhZG93ZWQgdG8gdGhlIGxvZyAqLwotI2RlZmluZSBCSl9Mb2dDdGwJNgkvKiBCdWZmZXIgY29udGFpbnMgbG9nIGRlc2NyaXB0b3JzICovCi0jZGVmaW5lIEJKX1Jlc2VydmVkCTcJLyogQnVmZmVyIGlzIHJlc2VydmVkIGZvciBhY2Nlc3MgYnkgam91cm5hbCAqLwotI2RlZmluZSBCSl9Mb2NrZWQJOAkvKiBMb2NrZWQgZm9yIEkvTyBkdXJpbmcgY29tbWl0ICovCi0jZGVmaW5lIEJKX1R5cGVzCTkKKyNkZWZpbmUgQkpfTWV0YWRhdGEJMQkvKiBOb3JtYWwgam91cm5hbGVkIG1ldGFkYXRhICovCisjZGVmaW5lIEJKX0ZvcmdldAkyCS8qIEJ1ZmZlciBzdXBlcnNlZGVkIGJ5IHRoaXMgdHJhbnNhY3Rpb24gKi8KKyNkZWZpbmUgQkpfSU8JCTMJLyogQnVmZmVyIGlzIGZvciB0ZW1wb3JhcnkgSU8gdXNlICovCisjZGVmaW5lIEJKX1NoYWRvdwk0CS8qIEJ1ZmZlciBjb250ZW50cyBiZWluZyBzaGFkb3dlZCB0byB0aGUgbG9nICovCisjZGVmaW5lIEJKX0xvZ0N0bAk1CS8qIEJ1ZmZlciBjb250YWlucyBsb2cgZGVzY3JpcHRvcnMgKi8KKyNkZWZpbmUgQkpfUmVzZXJ2ZWQJNgkvKiBCdWZmZXIgaXMgcmVzZXJ2ZWQgZm9yIGFjY2VzcyBieSBqb3VybmFsICovCisjZGVmaW5lIEJKX1R5cGVzCTcKIAogZXh0ZXJuIGludCBqYmRfYmxvY2tzX3Blcl9wYWdlKHN0cnVjdCBpbm9kZSAqaW5vZGUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oIGIvaW5jbHVkZS9saW51eC9rZXJuZWwuaAppbmRleCAyZTcwMDA2Li5mOWNkN2E1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2tlcm5lbC5oCisrKyBiL2luY2x1ZGUvbGludXgva2VybmVsLmgKQEAgLTE4Nyw5ICsxODcsNiBAQAogCV9fYXR0cmlidXRlX18gKChmb3JtYXQgKHByaW50ZiwgMSwgMCkpKTsKIGFzbWxpbmthZ2UgaW50IHByaW50ayhjb25zdCBjaGFyICogZm10LCAuLi4pCiAJX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpIF9fY29sZDsKLWV4dGVybiBpbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpOwotZXh0ZXJuIGludCBsb2dfYnVmX3JlYWQoaW50IGlkeCk7Ci1leHRlcm4gaW50IGxvZ19idWZfY29weShjaGFyICpkZXN0LCBpbnQgaWR4LCBpbnQgbGVuKTsKIAogZXh0ZXJuIGludCBwcmludGtfcmF0ZWxpbWl0X2ppZmZpZXM7CiBleHRlcm4gaW50IHByaW50a19yYXRlbGltaXRfYnVyc3Q7CkBAIC0yMDUsOSArMjAyLDYgQEAKIHN0YXRpYyBpbmxpbmUgaW50IHByaW50ayhjb25zdCBjaGFyICpzLCAuLi4pCiAJX19hdHRyaWJ1dGVfXyAoKGZvcm1hdCAocHJpbnRmLCAxLCAyKSkpOwogc3RhdGljIGlubGluZSBpbnQgX19jb2xkIHByaW50ayhjb25zdCBjaGFyICpzLCAuLi4pIHsgcmV0dXJuIDA7IH0KLXN0YXRpYyBpbmxpbmUgaW50IGxvZ19idWZfZ2V0X2xlbih2b2lkKSB7IHJldHVybiAwOyB9Ci1zdGF0aWMgaW5saW5lIGludCBsb2dfYnVmX3JlYWQoaW50IGlkeCkgeyByZXR1cm4gMDsgfQotc3RhdGljIGlubGluZSBpbnQgbG9nX2J1Zl9jb3B5KGNoYXIgKmRlc3QsIGludCBpZHgsIGludCBsZW4pIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyBpbmxpbmUgaW50IHByaW50a19yYXRlbGltaXQodm9pZCkgeyByZXR1cm4gMDsgfQogc3RhdGljIGlubGluZSBpbnQgX19wcmludGtfcmF0ZWxpbWl0KGludCByYXRlbGltaXRfamlmZmllcywgXAogCQkJCSAgICAgaW50IHJhdGVsaW1pdF9idXJzdCkgeyByZXR1cm4gMDsgfQpAQCAtMjE2LDcgKzIxMCw3IEBACiAJCXsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAotZXh0ZXJuIHZvaWQgX19hdHRyaWJ1dGVfXygoZm9ybWF0KHByaW50ZiwgMSwgMikpKQorZXh0ZXJuIHZvaWQgYXNtbGlua2FnZSBfX2F0dHJpYnV0ZV9fKChmb3JtYXQocHJpbnRmLCAxLCAyKSkpCiAJZWFybHlfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKIAogdW5zaWduZWQgbG9uZyBpbnRfc3FydCh1bnNpZ25lZCBsb25nKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaCBiL2luY2x1ZGUvbGludXgva2VybmVsX3N0YXQuaAppbmRleCBlOGZmY2U4Li5jZjlmNDBhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2tlcm5lbF9zdGF0LmgKKysrIGIvaW5jbHVkZS9saW51eC9rZXJuZWxfc3RhdC5oCkBAIC0xLDExICsxLDExIEBACiAjaWZuZGVmIF9MSU5VWF9LRVJORUxfU1RBVF9ICiAjZGVmaW5lIF9MSU5VWF9LRVJORUxfU1RBVF9ICiAKLSNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8bGludXgvc21wLmg+CiAjaW5jbHVkZSA8bGludXgvdGhyZWFkcy5oPgogI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KKyNpbmNsdWRlIDxhc20vaXJxLmg+CiAjaW5jbHVkZSA8YXNtL2NwdXRpbWUuaD4KIAogLyoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgva3Byb2Jlcy5oIGIvaW5jbHVkZS9saW51eC9rcHJvYmVzLmgKaW5kZXggMTAzNjYzMS4uMDRhMzU1NiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9rcHJvYmVzLmgKKysrIGIvaW5jbHVkZS9saW51eC9rcHJvYmVzLmgKQEAgLTI1OSw2ICsyNTksMTAgQEAKIHN0cnVjdCBqcHJvYmU7CiBzdHJ1Y3Qga3JldHByb2JlOwogCitzdGF0aWMgaW5saW5lIHN0cnVjdCBrcHJvYmUgKmdldF9rcHJvYmUodm9pZCAqYWRkcikKK3sKKwlyZXR1cm4gTlVMTDsKK30KIHN0YXRpYyBpbmxpbmUgc3RydWN0IGtwcm9iZSAqa3Byb2JlX3J1bm5pbmcodm9pZCkKIHsKIAlyZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbGliYXRhLmggYi9pbmNsdWRlL2xpbnV4L2xpYmF0YS5oCmluZGV4IGU1N2U1ZDAuLjViMjQ3YjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbGliYXRhLmgKKysrIGIvaW5jbHVkZS9saW51eC9saWJhdGEuaApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBfX0xJTlVYX0xJQkFUQV9IX18KIAogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvamlmZmllcy5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvc2NhdHRlcmxpc3QuaD4KQEAgLTExNSw3ICsxMTYsNyBAQAogCS8qIHRhZyBBVEFfTUFYX1FVRVVFIC0gMSBpcyByZXNlcnZlZCBmb3IgaW50ZXJuYWwgY29tbWFuZHMgKi8KIAlBVEFfTUFYX1FVRVVFCQk9IDMyLAogCUFUQV9UQUdfSU5URVJOQUwJPSBBVEFfTUFYX1FVRVVFIC0gMSwKLQlBVEFfU0hPUlRfUEFVU0UJCT0gKEhaID4+IDYpICsgMSwKKwlBVEFfU0hPUlRfUEFVU0UJCT0gMTYsCiAKIAlBVEFQSV9NQVhfRFJBSU4JCT0gMTYgPDwgMTAsCiAKQEAgLTE2OCw2ICsxNjksNyBAQAogCUFUQV9MRkxBR19BU1NVTUVfQ0xBU1MJPSBBVEFfTEZMQUdfQVNTVU1FX0FUQSB8IEFUQV9MRkxBR19BU1NVTUVfU0VNQiwKIAlBVEFfTEZMQUdfTk9fUkVUUlkJPSAoMSA8PCA1KSwgLyogZG9uJ3QgcmV0cnkgdGhpcyBsaW5rICovCiAJQVRBX0xGTEFHX0RJU0FCTEVECT0gKDEgPDwgNiksIC8qIGxpbmsgaXMgZGlzYWJsZWQgKi8KKwlBVEFfTEZMQUdfU1dfQUNUSVZJVFkJPSAoMSA8PCA3KSwgLyoga2VlcCBhY3Rpdml0eSBzdGF0cyAqLwogCiAJLyogc3RydWN0IGF0YV9wb3J0IGZsYWdzICovCiAJQVRBX0ZMQUdfU0xBVkVfUE9TUwk9ICgxIDw8IDApLCAvKiBob3N0IHN1cHBvcnRzIHNsYXZlIGRldiAqLwpAQCAtMTkwLDYgKzE5MiwxMCBAQAogCUFUQV9GTEFHX0FOCQk9ICgxIDw8IDE4KSwgLyogY29udHJvbGxlciBzdXBwb3J0cyBBTiAqLwogCUFUQV9GTEFHX1BNUAkJPSAoMSA8PCAxOSksIC8qIGNvbnRyb2xsZXIgc3VwcG9ydHMgUE1QICovCiAJQVRBX0ZMQUdfSVBNCQk9ICgxIDw8IDIwKSwgLyogZHJpdmVyIGNhbiBoYW5kbGUgSVBNICovCisJQVRBX0ZMQUdfRU0JCT0gKDEgPDwgMjEpLCAvKiBkcml2ZXIgc3VwcG9ydHMgZW5jbG9zdXJlCisJCQkJCSAgICAgICogbWFuYWdlbWVudCAqLworCUFUQV9GTEFHX1NXX0FDVElWSVRZCT0gKDEgPDwgMjIpLCAvKiBkcml2ZXIgc3VwcG9ydHMgc3cgYWN0aXZpdHkKKwkJCQkJICAgICAgKiBsZWQgKi8KIAogCS8qIFRoZSBmb2xsb3dpbmcgZmxhZyBiZWxvbmdzIHRvIGFwLT5wZmxhZ3MgYnV0IGlzIGtlcHQgaW4KIAkgKiBhcC0+ZmxhZ3MgYmVjYXVzZSBpdCdzIHJlZmVyZW5jZWQgaW4gbWFueSBMTERzIGFuZCB3aWxsIGJlCkBAIC0yMzQsMTcgKzI0MCwxNiBAQAogCS8qIGJpdHMgMjQ6MzEgb2YgaG9zdC0+ZmxhZ3MgYXJlIHJlc2VydmVkIGZvciBMTEQgc3BlY2lmaWMgZmxhZ3MgKi8KIAogCS8qIHZhcmlvdXMgbGVuZ3RocyBvZiB0aW1lICovCi0JQVRBX1RNT1VUX0JPT1QJCT0gMzAgKiBIWiwJLyogaGV1cmlzdGljICovCi0JQVRBX1RNT1VUX0JPT1RfUVVJQ0sJPSA3ICogSFosCS8qIGhldXJpc3RpYyAqLwotCUFUQV9UTU9VVF9JTlRFUk5BTAk9IDMwICogSFosCi0JQVRBX1RNT1VUX0lOVEVSTkFMX1FVSUNLID0gNSAqIEhaLAorCUFUQV9UTU9VVF9CT09UCQk9IDMwMDAwLAkvKiBoZXVyaXN0aWMgKi8KKwlBVEFfVE1PVVRfQk9PVF9RVUlDSwk9ICA3MDAwLAkvKiBoZXVyaXN0aWMgKi8KKwlBVEFfVE1PVVRfSU5URVJOQUxfUVVJQ0sgPSA1MDAwLAogCiAJLyogRklYTUU6IEdvVmF1bHQgbmVlZHMgMnMgYnV0IHdlIGNhbid0IGFmZm9yZCB0aGF0IHdpdGhvdXQKIAkgKiBwYXJhbGxlbCBwcm9iaW5nLiAgODAwbXMgaXMgZW5vdWdoIGZvciBpVkRSIGRpc2sKIAkgKiBISEQ0MjQwMjBGN1NWMDAuICBJbmNyZWFzZSB0byAyc2VjcyB3aGVuIHBhcmFsbGVsIHByb2JpbmcKIAkgKiBpcyBpbiBwbGFjZS4KIAkgKi8KLQlBVEFfVE1PVVRfRkZfV0FJVAk9IDQgKiBIWiAvIDUsCisJQVRBX1RNT1VUX0ZGX1dBSVQJPSAgODAwLAogCiAJLyogU3BlYyBtYW5kYXRlcyB0byB3YWl0IGZvciAiPj0gMm1zIiBiZWZvcmUgY2hlY2tpbmcgc3RhdHVzCiAJICogYWZ0ZXIgcmVzZXQuICBXZSB3YWl0IDE1MG1zLCBiZWNhdXNlIHRoYXQgd2FzIHRoZSBtYWdpYwpAQCAtMjU2LDE0ICsyNjEsMTQgQEAKIAkgKgogCSAqIE9sZCBkcml2ZXJzL2lkZSB1c2VzIHRoZSAybVMgcnVsZSBhbmQgdGhlbiB3YWl0cyBmb3IgcmVhZHkuCiAJICovCi0JQVRBX1dBSVRfQUZURVJfUkVTRVRfTVNFQ1MgPSAxNTAsCisJQVRBX1dBSVRfQUZURVJfUkVTRVQJPSAgMTUwLAogCiAJLyogSWYgUE1QIGlzIHN1cHBvcnRlZCwgd2UgaGF2ZSB0byBkbyBmb2xsb3ctdXAgU1JTVC4gIEFzIHNvbWUKIAkgKiBQTVBzIGRvbid0IHNlbmQgRDJIIFJlZyBGSVMgYWZ0ZXIgaGFyZHJlc2V0LCBMTERzIGFyZQogCSAqIGFkdmlzZWQgdG8gd2FpdCBvbmx5IGZvciB0aGUgZm9sbG93aW5nIGR1cmF0aW9uIGJlZm9yZQogCSAqIGRvaW5nIFNSU1QuCiAJICovCi0JQVRBX1RNT1VUX1BNUF9TUlNUX1dBSVQJPSAxICogSFosCisJQVRBX1RNT1VUX1BNUF9TUlNUX1dBSVQJPSAxMDAwLAogCiAJLyogQVRBIGJ1cyBzdGF0ZXMgKi8KIAlCVVNfVU5LTk9XTgkJPSAwLApAQCAtMzQwLDYgKzM0NSwxMSBAQAogCiAJU0FUQV9QTVBfUldfVElNRU9VVAk9IDMwMDAsCQkvKiBQTVAgcmVhZC93cml0ZSB0aW1lb3V0ICovCiAKKwkvKiBUaGlzIHNob3VsZCBtYXRjaCB0aGUgYWN0dWFsIHRhYmxlIHNpemUgb2YKKwkgKiBhdGFfZWhfY21kX3RpbWVvdXRfdGFibGUgaW4gbGliYXRhLWVoLmMuCisJICovCisJQVRBX0VIX0NNRF9USU1FT1VUX1RBQkxFX1NJWkUgPSA1LAorCiAJLyogSG9ya2FnZSB0eXBlcy4gTWF5IGJlIHNldCBieSBsaWJhdGEgb3IgY29udHJvbGxlciBvbiBkcml2ZXMKIAkgICAoc29tZSBob3JrYWdlIG1heSBiZSBkcml2ZS9jb250cm9sbGVyIHBhaXIgZGVwZW5kYW50ICovCiAKQEAgLTQ0MSw2ICs0NTEsMTUgQEAKIAlNRURJVU1fUE9XRVIsCiB9OwogZXh0ZXJuIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyX2xpbmtfcG93ZXJfbWFuYWdlbWVudF9wb2xpY3k7CitleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfZW1fbWVzc2FnZV90eXBlOworZXh0ZXJuIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyX2VtX21lc3NhZ2U7CitleHRlcm4gc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfc3dfYWN0aXZpdHk7CisKK2VudW0gc3dfYWN0aXZpdHkgeworCU9GRiwKKwlCTElOS19PTiwKKwlCTElOS19PRkYsCit9OwogCiAjaWZkZWYgQ09ORklHX0FUQV9TRkYKIHN0cnVjdCBhdGFfaW9wb3J0cyB7CkBAIC01OTcsMTAgKzYxNiwxNCBAQAogc3RydWN0IGF0YV9laF9jb250ZXh0IHsKIAlzdHJ1Y3QgYXRhX2VoX2luZm8JaTsKIAlpbnQJCQl0cmllc1tBVEFfTUFYX0RFVklDRVNdOworCWludAkJCWNtZF90aW1lb3V0X2lkeFtBVEFfTUFYX0RFVklDRVNdCisJCQkJCSAgICAgICBbQVRBX0VIX0NNRF9USU1FT1VUX1RBQkxFX1NJWkVdOwogCXVuc2lnbmVkIGludAkJY2xhc3Nlc1tBVEFfTUFYX0RFVklDRVNdOwogCXVuc2lnbmVkIGludAkJZGlkX3Byb2JlX21hc2s7CiAJdW5zaWduZWQgaW50CQlzYXZlZF9uY3FfZW5hYmxlZDsKIAl1OAkJCXNhdmVkX3hmZXJfbW9kZVtBVEFfTUFYX0RFVklDRVNdOworCS8qIHRpbWVzdGFtcCBmb3IgdGhlIGxhc3QgcmVzZXQgYXR0ZW1wdCBvciBzdWNjZXNzICovCisJdW5zaWduZWQgbG9uZwkJbGFzdF9yZXNldDsKIH07CiAKIHN0cnVjdCBhdGFfYWNwaV9kcml2ZQpAQCAtNjkyLDYgKzcxNSw3IEBACiAJc3RydWN0IHRpbWVyX2xpc3QJZmFzdGRyYWluX3RpbWVyOwogCXVuc2lnbmVkIGxvbmcJCWZhc3RkcmFpbl9jbnQ7CiAKKwlpbnQJCQllbV9tZXNzYWdlX3R5cGU7CiAJdm9pZAkJCSpwcml2YXRlX2RhdGE7CiAKICNpZmRlZiBDT05GSUdfQVRBX0FDUEkKQEAgLTc4Myw2ICs4MDcsMTIgQEAKIAl1OCAgICgqYm1kbWFfc3RhdHVzKShzdHJ1Y3QgYXRhX3BvcnQgKmFwKTsKICNlbmRpZiAvKiBDT05GSUdfQVRBX1NGRiAqLwogCisJc3NpemVfdCAoKmVtX3Nob3cpKHN0cnVjdCBhdGFfcG9ydCAqYXAsIGNoYXIgKmJ1Zik7CisJc3NpemVfdCAoKmVtX3N0b3JlKShzdHJ1Y3QgYXRhX3BvcnQgKmFwLCBjb25zdCBjaGFyICptZXNzYWdlLAorCQkJICAgIHNpemVfdCBzaXplKTsKKwlzc2l6ZV90ICgqc3dfYWN0aXZpdHlfc2hvdykoc3RydWN0IGF0YV9kZXZpY2UgKmRldiwgY2hhciAqYnVmKTsKKwlzc2l6ZV90ICgqc3dfYWN0aXZpdHlfc3RvcmUpKHN0cnVjdCBhdGFfZGV2aWNlICpkZXYsCisJCQkJICAgICBlbnVtIHN3X2FjdGl2aXR5IHZhbCk7CiAJLyoKIAkgKiBPYnNvbGV0ZQogCSAqLwpAQCAtODk1LDggKzkyNSw3IEBACiAjZW5kaWYKIGV4dGVybiBpbnQgYXRhX3JhdGVsaW1pdCh2b2lkKTsKIGV4dGVybiB1MzIgYXRhX3dhaXRfcmVnaXN0ZXIodm9pZCBfX2lvbWVtICpyZWcsIHUzMiBtYXNrLCB1MzIgdmFsLAotCQkJICAgICB1bnNpZ25lZCBsb25nIGludGVydmFsX21zZWMsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgdGltZW91dF9tc2VjKTsKKwkJCSAgICAgdW5zaWduZWQgbG9uZyBpbnRlcnZhbCwgdW5zaWduZWQgbG9uZyB0aW1lb3V0KTsKIGV4dGVybiBpbnQgYXRhcGlfY21kX3R5cGUodTggb3Bjb2RlKTsKIGV4dGVybiB2b2lkIGF0YV90Zl90b19maXMoY29uc3Qgc3RydWN0IGF0YV90YXNrZmlsZSAqdGYsCiAJCQkgIHU4IHBtcCwgaW50IGlzX2NtZCwgdTggKmZpcyk7CkBAIC0xMzg5LDYgKzE0MTgsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGF0YV9kZWFkbGluZSh1bnNpZ25lZCBsb25nIGZyb21famlmZmllcywKKwkJCQkJIHVuc2lnbmVkIGxvbmcgdGltZW91dF9tc2VjcykKK3sKKwlyZXR1cm4gZnJvbV9qaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyh0aW1lb3V0X21zZWNzKTsKK30KKwogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFBNUCAtIGRyaXZlcnMvYXRhL2xpYmF0YS1wbXAuYwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9saW5rYWdlLmggYi9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaAppbmRleCAyMTE5NjEwLi41NmJhMzczIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xpbmthZ2UuaApAQCAtMSw4ICsxLDExIEBACiAjaWZuZGVmIF9MSU5VWF9MSU5LQUdFX0gKICNkZWZpbmUgX0xJTlVYX0xJTktBR0VfSAogCisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KICNpbmNsdWRlIDxhc20vbGlua2FnZS5oPgogCisjZGVmaW5lIG5vdHJhY2UgX19hdHRyaWJ1dGVfXygobm9faW5zdHJ1bWVudF9mdW5jdGlvbikpCisKICNpZmRlZiBfX2NwbHVzcGx1cwogI2RlZmluZSBDUFBfQVNNTElOS0FHRSBleHRlcm4gIkMiCiAjZWxzZQpAQCAtMTcsNiArMjAsOSBAQAogIyBkZWZpbmUgYXNtcmVncGFybQogI2VuZGlmCiAKKyNkZWZpbmUgX19wYWdlX2FsaWduZWRfZGF0YQlfX3NlY3Rpb24oLmRhdGEucGFnZV9hbGlnbmVkKSBfX2FsaWduZWQoUEFHRV9TSVpFKQorI2RlZmluZSBfX3BhZ2VfYWxpZ25lZF9ic3MJX19zZWN0aW9uKC5ic3MucGFnZV9hbGlnbmVkKSBfX2FsaWduZWQoUEFHRV9TSVpFKQorCiAvKgogICogVGhpcyBpcyB1c2VkIGJ5IGFyY2hpdGVjdHVyZXMgdG8ga2VlcCBhcmd1bWVudHMgb24gdGhlIHN0YWNrCiAgKiB1bnRvdWNoZWQgYnkgdGhlIGNvbXBpbGVyIGJ5IGtlZXBpbmcgdGhlbSBsaXZlIHVudGlsIHRoZSBlbmQuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2xpc3QuaCBiL2luY2x1ZGUvbGludXgvbGlzdC5oCmluZGV4IDA4Y2Y0ZjYuLjEzOWVjNDEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbGlzdC5oCisrKyBiL2luY2x1ZGUvbGludXgvbGlzdC5oCkBAIC04NSw2NSArODUsNiBAQAogfQogCiAvKgotICogSW5zZXJ0IGEgbmV3IGVudHJ5IGJldHdlZW4gdHdvIGtub3duIGNvbnNlY3V0aXZlIGVudHJpZXMuCi0gKgotICogVGhpcyBpcyBvbmx5IGZvciBpbnRlcm5hbCBsaXN0IG1hbmlwdWxhdGlvbiB3aGVyZSB3ZSBrbm93Ci0gKiB0aGUgcHJldi9uZXh0IGVudHJpZXMgYWxyZWFkeSEKLSAqLwotc3RhdGljIGlubGluZSB2b2lkIF9fbGlzdF9hZGRfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKiBuZXcsCi0JCXN0cnVjdCBsaXN0X2hlYWQgKiBwcmV2LCBzdHJ1Y3QgbGlzdF9oZWFkICogbmV4dCkKLXsKLQluZXctPm5leHQgPSBuZXh0OwotCW5ldy0+cHJldiA9IHByZXY7Ci0Jc21wX3dtYigpOwotCW5leHQtPnByZXYgPSBuZXc7Ci0JcHJldi0+bmV4dCA9IG5ldzsKLX0KLQotLyoqCi0gKiBsaXN0X2FkZF9yY3UgLSBhZGQgYSBuZXcgZW50cnkgdG8gcmN1LXByb3RlY3RlZCBsaXN0Ci0gKiBAbmV3OiBuZXcgZW50cnkgdG8gYmUgYWRkZWQKLSAqIEBoZWFkOiBsaXN0IGhlYWQgdG8gYWRkIGl0IGFmdGVyCi0gKgotICogSW5zZXJ0IGEgbmV3IGVudHJ5IGFmdGVyIHRoZSBzcGVjaWZpZWQgaGVhZC4KLSAqIFRoaXMgaXMgZ29vZCBmb3IgaW1wbGVtZW50aW5nIHN0YWNrcy4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQotICogb3IgbGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9hZGRfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKm5ldywgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKLXsKLQlfX2xpc3RfYWRkX3JjdShuZXcsIGhlYWQsIGhlYWQtPm5leHQpOwotfQotCi0vKioKLSAqIGxpc3RfYWRkX3RhaWxfcmN1IC0gYWRkIGEgbmV3IGVudHJ5IHRvIHJjdS1wcm90ZWN0ZWQgbGlzdAotICogQG5ldzogbmV3IGVudHJ5IHRvIGJlIGFkZGVkCi0gKiBAaGVhZDogbGlzdCBoZWFkIHRvIGFkZCBpdCBiZWZvcmUKLSAqCi0gKiBJbnNlcnQgYSBuZXcgZW50cnkgYmVmb3JlIHRoZSBzcGVjaWZpZWQgaGVhZC4KLSAqIFRoaXMgaXMgdXNlZnVsIGZvciBpbXBsZW1lbnRpbmcgcXVldWVzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfYWRkX3RhaWxfcmN1KCkKLSAqIG9yIGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgotICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcwotICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGxpc3RfYWRkX3RhaWxfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKm5ldywKLQkJCQkJc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKLXsKLQlfX2xpc3RfYWRkX3JjdShuZXcsIGhlYWQtPnByZXYsIGhlYWQpOwotfQotCi0vKgogICogRGVsZXRlIGEgbGlzdCBlbnRyeSBieSBtYWtpbmcgdGhlIHByZXYvbmV4dCBlbnRyaWVzCiAgKiBwb2ludCB0byBlYWNoIG90aGVyLgogICoKQEAgLTE3NCwzNiArMTE1LDYgQEAKICNlbmRpZgogCiAvKioKLSAqIGxpc3RfZGVsX3JjdSAtIGRlbGV0ZXMgZW50cnkgZnJvbSBsaXN0IHdpdGhvdXQgcmUtaW5pdGlhbGl6YXRpb24KLSAqIEBlbnRyeTogdGhlIGVsZW1lbnQgdG8gZGVsZXRlIGZyb20gdGhlIGxpc3QuCi0gKgotICogTm90ZTogbGlzdF9lbXB0eSgpIG9uIGVudHJ5IGRvZXMgbm90IHJldHVybiB0cnVlIGFmdGVyIHRoaXMsCi0gKiB0aGUgZW50cnkgaXMgaW4gYW4gdW5kZWZpbmVkIHN0YXRlLiBJdCBpcyB1c2VmdWwgZm9yIFJDVSBiYXNlZAotICogbG9ja2ZyZWUgdHJhdmVyc2FsLgotICoKLSAqIEluIHBhcnRpY3VsYXIsIGl0IG1lYW5zIHRoYXQgd2UgY2FuIG5vdCBwb2lzb24gdGhlIGZvcndhcmQKLSAqIHBvaW50ZXJzIHRoYXQgbWF5IHN0aWxsIGJlIHVzZWQgZm9yIHdhbGtpbmcgdGhlIGxpc3QuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9kZWxfcmN1KCkKLSAqIG9yIGxpc3RfYWRkX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgotICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcwotICogbGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKS4KLSAqCi0gKiBOb3RlIHRoYXQgdGhlIGNhbGxlciBpcyBub3QgcGVybWl0dGVkIHRvIGltbWVkaWF0ZWx5IGZyZWUKLSAqIHRoZSBuZXdseSBkZWxldGVkIGVudHJ5LiAgSW5zdGVhZCwgZWl0aGVyIHN5bmNocm9uaXplX3JjdSgpCi0gKiBvciBjYWxsX3JjdSgpIG11c3QgYmUgdXNlZCB0byBkZWZlciBmcmVlaW5nIHVudGlsIGFuIFJDVQotICogZ3JhY2UgcGVyaW9kIGhhcyBlbGFwc2VkLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9kZWxfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKmVudHJ5KQotewotCV9fbGlzdF9kZWwoZW50cnktPnByZXYsIGVudHJ5LT5uZXh0KTsKLQllbnRyeS0+cHJldiA9IExJU1RfUE9JU09OMjsKLX0KLQotLyoqCiAgKiBsaXN0X3JlcGxhY2UgLSByZXBsYWNlIG9sZCBlbnRyeSBieSBuZXcgb25lCiAgKiBAb2xkIDogdGhlIGVsZW1lbnQgdG8gYmUgcmVwbGFjZWQKICAqIEBuZXcgOiB0aGUgbmV3IGVsZW1lbnQgdG8gaW5zZXJ0CkBAIC0yMjcsMjUgKzEzOCw2IEBACiB9CiAKIC8qKgotICogbGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKLSAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAotICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKLSAqCi0gKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KLSAqIE5vdGU6IEBvbGQgc2hvdWxkIG5vdCBiZSBlbXB0eS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGxpc3RfcmVwbGFjZV9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqb2xkLAotCQkJCXN0cnVjdCBsaXN0X2hlYWQgKm5ldykKLXsKLQluZXctPm5leHQgPSBvbGQtPm5leHQ7Ci0JbmV3LT5wcmV2ID0gb2xkLT5wcmV2OwotCXNtcF93bWIoKTsKLQluZXctPm5leHQtPnByZXYgPSBuZXc7Ci0JbmV3LT5wcmV2LT5uZXh0ID0gbmV3OwotCW9sZC0+cHJldiA9IExJU1RfUE9JU09OMjsKLX0KLQotLyoqCiAgKiBsaXN0X2RlbF9pbml0IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3QgYW5kIHJlaW5pdGlhbGl6ZSBpdC4KICAqIEBlbnRyeTogdGhlIGVsZW1lbnQgdG8gZGVsZXRlIGZyb20gdGhlIGxpc3QuCiAgKi8KQEAgLTM2OSw2MiArMjYxLDYgQEAKIH0KIAogLyoqCi0gKiBsaXN0X3NwbGljZV9pbml0X3JjdSAtIHNwbGljZSBhbiBSQ1UtcHJvdGVjdGVkIGxpc3QgaW50byBhbiBleGlzdGluZyBsaXN0LgotICogQGxpc3Q6CXRoZSBSQ1UtcHJvdGVjdGVkIGxpc3QgdG8gc3BsaWNlCi0gKiBAaGVhZDoJdGhlIHBsYWNlIGluIHRoZSBsaXN0IHRvIHNwbGljZSB0aGUgZmlyc3QgbGlzdCBpbnRvCi0gKiBAc3luYzoJZnVuY3Rpb24gdG8gc3luYzogc3luY2hyb25pemVfcmN1KCksIHN5bmNocm9uaXplX3NjaGVkKCksIC4uLgotICoKLSAqIEBoZWFkIGNhbiBiZSBSQ1UtcmVhZCB0cmF2ZXJzZWQgY29uY3VycmVudGx5IHdpdGggdGhpcyBmdW5jdGlvbi4KLSAqCi0gKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBibG9ja3MuCi0gKgotICogSW1wb3J0YW50IG5vdGU6IHRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIGFjdGlvbiBpcyBuZWNlc3NhcnkgdG8KLSAqCXByZXZlbnQgYW55IG90aGVyIHVwZGF0ZXMgdG8gQGhlYWQuICBJbiBwcmluY2lwbGUsIGl0IGlzIHBvc3NpYmxlCi0gKgl0byBtb2RpZnkgdGhlIGxpc3QgYXMgc29vbiBhcyBzeW5jKCkgYmVnaW5zIGV4ZWN1dGlvbi4KLSAqCUlmIHRoaXMgc29ydCBvZiB0aGluZyBiZWNvbWVzIG5lY2Vzc2FyeSwgYW4gYWx0ZXJuYXRpdmUgdmVyc2lvbgotICoJYmFzZWQgb24gY2FsbF9yY3UoKSBjb3VsZCBiZSBjcmVhdGVkLiAgQnV0IG9ubHkgaWYgLXJlYWxseS0KLSAqCW5lZWRlZCAtLSB0aGVyZSBpcyBubyBzaG9ydGFnZSBvZiBSQ1UgQVBJIG1lbWJlcnMuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X3NwbGljZV9pbml0X3JjdShzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LAotCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLAotCQkJCQl2b2lkICgqc3luYykodm9pZCkpCi17Ci0Jc3RydWN0IGxpc3RfaGVhZCAqZmlyc3QgPSBsaXN0LT5uZXh0OwotCXN0cnVjdCBsaXN0X2hlYWQgKmxhc3QgPSBsaXN0LT5wcmV2OwotCXN0cnVjdCBsaXN0X2hlYWQgKmF0ID0gaGVhZC0+bmV4dDsKLQotCWlmIChsaXN0X2VtcHR5KGhlYWQpKQotCQlyZXR1cm47Ci0KLQkvKiAiZmlyc3QiIGFuZCAibGFzdCIgdHJhY2tpbmcgbGlzdCwgc28gaW5pdGlhbGl6ZSBpdC4gKi8KLQotCUlOSVRfTElTVF9IRUFEKGxpc3QpOwotCi0JLyoKLQkgKiBBdCB0aGlzIHBvaW50LCB0aGUgbGlzdCBib2R5IHN0aWxsIHBvaW50cyB0byB0aGUgc291cmNlIGxpc3QuCi0JICogV2FpdCBmb3IgYW55IHJlYWRlcnMgdG8gZmluaXNoIHVzaW5nIHRoZSBsaXN0IGJlZm9yZSBzcGxpY2luZwotCSAqIHRoZSBsaXN0IGJvZHkgaW50byB0aGUgbmV3IGxpc3QuICBBbnkgbmV3IHJlYWRlcnMgd2lsbCBzZWUKLQkgKiBhbiBlbXB0eSBsaXN0LgotCSAqLwotCi0Jc3luYygpOwotCi0JLyoKLQkgKiBSZWFkZXJzIGFyZSBmaW5pc2hlZCB3aXRoIHRoZSBzb3VyY2UgbGlzdCwgc28gcGVyZm9ybSBzcGxpY2UuCi0JICogVGhlIG9yZGVyIGlzIGltcG9ydGFudCBpZiB0aGUgbmV3IGxpc3QgaXMgZ2xvYmFsIGFuZCBhY2Nlc3NpYmxlCi0JICogdG8gY29uY3VycmVudCBSQ1UgcmVhZGVycy4gIE5vdGUgdGhhdCBSQ1UgcmVhZGVycyBhcmUgbm90Ci0JICogcGVybWl0dGVkIHRvIHRyYXZlcnNlIHRoZSBwcmV2IHBvaW50ZXJzIHdpdGhvdXQgZXhjbHVkaW5nCi0JICogdGhpcyBmdW5jdGlvbi4KLQkgKi8KLQotCWxhc3QtPm5leHQgPSBhdDsKLQlzbXBfd21iKCk7Ci0JaGVhZC0+bmV4dCA9IGZpcnN0OwotCWZpcnN0LT5wcmV2ID0gaGVhZDsKLQlhdC0+cHJldiA9IGxhc3Q7Ci19Ci0KLS8qKgogICogbGlzdF9lbnRyeSAtIGdldCB0aGUgc3RydWN0IGZvciB0aGlzIGVudHJ5CiAgKiBAcHRyOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgcG9pbnRlci4KICAqIEB0eXBlOgl0aGUgdHlwZSBvZiB0aGUgc3RydWN0IHRoaXMgaXMgZW1iZWRkZWQgaW4uCkBAIC02MjksNTcgKzQ2NSw2IEBACiAJICAgICAmcG9zLT5tZW1iZXIgIT0gKGhlYWQpOyAJCQkJCVwKIAkgICAgIHBvcyA9IG4sIG4gPSBsaXN0X2VudHJ5KG4tPm1lbWJlci5wcmV2LCB0eXBlb2YoKm4pLCBtZW1iZXIpKQogCi0vKioKLSAqIGxpc3RfZm9yX2VhY2hfcmN1CS0JaXRlcmF0ZSBvdmVyIGFuIHJjdS1wcm90ZWN0ZWQgbGlzdAotICogQHBvczoJdGhlICZzdHJ1Y3QgbGlzdF9oZWFkIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgotICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCi0gKgotICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCi0gKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCi0gKi8KLSNkZWZpbmUgbGlzdF9mb3JfZWFjaF9yY3UocG9zLCBoZWFkKSBcCi0JZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5uZXh0KTsgXAotCQlwcmVmZXRjaChwb3MtPm5leHQpLCBwb3MgIT0gKGhlYWQpOyBcCi0JCXBvcyA9IHJjdV9kZXJlZmVyZW5jZShwb3MtPm5leHQpKQotCi0jZGVmaW5lIF9fbGlzdF9mb3JfZWFjaF9yY3UocG9zLCBoZWFkKSBcCi0JZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5uZXh0KTsgXAotCQlwb3MgIT0gKGhlYWQpOyBcCi0JCXBvcyA9IHJjdV9kZXJlZmVyZW5jZShwb3MtPm5leHQpKQotCi0vKioKLSAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1CS0JaXRlcmF0ZSBvdmVyIHJjdSBsaXN0IG9mIGdpdmVuIHR5cGUKLSAqIEBwb3M6CXRoZSB0eXBlICogdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqIEBtZW1iZXI6CXRoZSBuYW1lIG9mIHRoZSBsaXN0X3N0cnVjdCB3aXRoaW4gdGhlIHN0cnVjdC4KLSAqCi0gKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKLSAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KLSAqLwotI2RlZmluZSBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShwb3MsIGhlYWQsIG1lbWJlcikgXAotCWZvciAocG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5uZXh0KSwgdHlwZW9mKCpwb3MpLCBtZW1iZXIpOyBcCi0JCXByZWZldGNoKHBvcy0+bWVtYmVyLm5leHQpLCAmcG9zLT5tZW1iZXIgIT0gKGhlYWQpOyBcCi0JCXBvcyA9IGxpc3RfZW50cnkocmN1X2RlcmVmZXJlbmNlKHBvcy0+bWVtYmVyLm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcikpCi0KLQotLyoqCi0gKiBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlX3JjdQotICogQHBvczoJdGhlICZzdHJ1Y3QgbGlzdF9oZWFkIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgotICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCi0gKgotICogSXRlcmF0ZSBvdmVyIGFuIHJjdS1wcm90ZWN0ZWQgbGlzdCwgY29udGludWluZyBhZnRlciBjdXJyZW50IHBvaW50LgotICoKLSAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQotICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi0jZGVmaW5lIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1KHBvcywgaGVhZCkgXAotCWZvciAoKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpOyBcCi0JCXByZWZldGNoKChwb3MpLT5uZXh0KSwgKHBvcykgIT0gKGhlYWQpOyBcCi0JCShwb3MpID0gcmN1X2RlcmVmZXJlbmNlKChwb3MpLT5uZXh0KSkKLQogLyoKICAqIERvdWJsZSBsaW5rZWQgbGlzdHMgd2l0aCBhIHNpbmdsZSBwb2ludGVyIGxpc3QgaGVhZC4KICAqIE1vc3RseSB1c2VmdWwgZm9yIGhhc2ggdGFibGVzIHdoZXJlIHRoZSB0d28gcG9pbnRlciBsaXN0IGhlYWQgaXMKQEAgLTczMCwzMSArNTE1LDYgQEAKIAluLT5wcHJldiA9IExJU1RfUE9JU09OMjsKIH0KIAotLyoqCi0gKiBobGlzdF9kZWxfcmN1IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGhhc2ggbGlzdCB3aXRob3V0IHJlLWluaXRpYWxpemF0aW9uCi0gKiBAbjogdGhlIGVsZW1lbnQgdG8gZGVsZXRlIGZyb20gdGhlIGhhc2ggbGlzdC4KLSAqCi0gKiBOb3RlOiBsaXN0X3VuaGFzaGVkKCkgb24gZW50cnkgZG9lcyBub3QgcmV0dXJuIHRydWUgYWZ0ZXIgdGhpcywKLSAqIHRoZSBlbnRyeSBpcyBpbiBhbiB1bmRlZmluZWQgc3RhdGUuIEl0IGlzIHVzZWZ1bCBmb3IgUkNVIGJhc2VkCi0gKiBsb2NrZnJlZSB0cmF2ZXJzYWwuCi0gKgotICogSW4gcGFydGljdWxhciwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gbm90IHBvaXNvbiB0aGUgZm9yd2FyZAotICogcG9pbnRlcnMgdGhhdCBtYXkgc3RpbGwgYmUgdXNlZCBmb3Igd2Fsa2luZyB0aGUgaGFzaCBsaXN0LgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBobGlzdF9mb3JfZWFjaF9lbnRyeSgpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfZGVsX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbikKLXsKLQlfX2hsaXN0X2RlbChuKTsKLQluLT5wcHJldiA9IExJU1RfUE9JU09OMjsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2RlbF9pbml0KHN0cnVjdCBobGlzdF9ub2RlICpuKQogewogCWlmICghaGxpc3RfdW5oYXNoZWQobikpIHsKQEAgLTc2MywyNyArNTIzLDYgQEAKIAl9CiB9CiAKLS8qKgotICogaGxpc3RfcmVwbGFjZV9yY3UgLSByZXBsYWNlIG9sZCBlbnRyeSBieSBuZXcgb25lCi0gKiBAb2xkIDogdGhlIGVsZW1lbnQgdG8gYmUgcmVwbGFjZWQKLSAqIEBuZXcgOiB0aGUgbmV3IGVsZW1lbnQgdG8gaW5zZXJ0Ci0gKgotICogVGhlIEBvbGQgZW50cnkgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBAbmV3IGVudHJ5IGF0b21pY2FsbHkuCi0gKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9yZXBsYWNlX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqb2xkLAotCQkJCQlzdHJ1Y3QgaGxpc3Rfbm9kZSAqbmV3KQotewotCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0ID0gb2xkLT5uZXh0OwotCi0JbmV3LT5uZXh0ID0gbmV4dDsKLQluZXctPnBwcmV2ID0gb2xkLT5wcHJldjsKLQlzbXBfd21iKCk7Ci0JaWYgKG5leHQpCi0JCW5ldy0+bmV4dC0+cHByZXYgPSAmbmV3LT5uZXh0OwotCSpuZXctPnBwcmV2ID0gbmV3OwotCW9sZC0+cHByZXYgPSBMSVNUX1BPSVNPTjI7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9hZGRfaGVhZChzdHJ1Y3QgaGxpc3Rfbm9kZSAqbiwgc3RydWN0IGhsaXN0X2hlYWQgKmgpCiB7CiAJc3RydWN0IGhsaXN0X25vZGUgKmZpcnN0ID0gaC0+Zmlyc3Q7CkBAIC03OTQsMzggKzUzMyw2IEBACiAJbi0+cHByZXYgPSAmaC0+Zmlyc3Q7CiB9CiAKLQotLyoqCi0gKiBobGlzdF9hZGRfaGVhZF9yY3UKLSAqIEBuOiB0aGUgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KLSAqIEBoOiB0aGUgbGlzdCB0byBhZGQgdG8uCi0gKgotICogRGVzY3JpcHRpb246Ci0gKiBBZGRzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byB0aGUgc3BlY2lmaWVkIGhsaXN0LAotICogd2hpbGUgcGVybWl0dGluZyByYWNpbmcgdHJhdmVyc2Fscy4KLSAqCi0gKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5Ci0gKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKLSAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQotICogb3IgaGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgotICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAotICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcwotICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksIHVzZWQgdG8gcHJldmVudCBtZW1vcnktY29uc2lzdGVuY3kKLSAqIHByb2JsZW1zIG9uIEFscGhhIENQVXMuICBSZWdhcmRsZXNzIG9mIHRoZSB0eXBlIG9mIENQVSwgdGhlCi0gKiBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbXVzdCBiZSBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9oZWFkX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbiwKLQkJCQkJc3RydWN0IGhsaXN0X2hlYWQgKmgpCi17Ci0Jc3RydWN0IGhsaXN0X25vZGUgKmZpcnN0ID0gaC0+Zmlyc3Q7Ci0Jbi0+bmV4dCA9IGZpcnN0OwotCW4tPnBwcmV2ID0gJmgtPmZpcnN0OwotCXNtcF93bWIoKTsKLQlpZiAoZmlyc3QpCi0JCWZpcnN0LT5wcHJldiA9ICZuLT5uZXh0OwotCWgtPmZpcnN0ID0gbjsKLX0KLQogLyogbmV4dCBtdXN0IGJlICE9IE5VTEwgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9hZGRfYmVmb3JlKHN0cnVjdCBobGlzdF9ub2RlICpuLAogCQkJCQlzdHJ1Y3QgaGxpc3Rfbm9kZSAqbmV4dCkKQEAgLTg0Nyw2MyArNTU0LDYgQEAKIAkJbmV4dC0+bmV4dC0+cHByZXYgID0gJm5leHQtPm5leHQ7CiB9CiAKLS8qKgotICogaGxpc3RfYWRkX2JlZm9yZV9yY3UKLSAqIEBuOiB0aGUgbmV3IGVsZW1lbnQgdG8gYWRkIHRvIHRoZSBoYXNoIGxpc3QuCi0gKiBAbmV4dDogdGhlIGV4aXN0aW5nIGVsZW1lbnQgdG8gYWRkIHRoZSBuZXcgZWxlbWVudCBiZWZvcmUuCi0gKgotICogRGVzY3JpcHRpb246Ci0gKiBBZGRzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byB0aGUgc3BlY2lmaWVkIGhsaXN0Ci0gKiBiZWZvcmUgdGhlIHNwZWNpZmllZCBub2RlIHdoaWxlIHBlcm1pdHRpbmcgcmFjaW5nIHRyYXZlcnNhbHMuCi0gKgotICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQotICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCi0gKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKLSAqIG9yIGhsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KLSAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKLSAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLCB1c2VkIHRvIHByZXZlbnQgbWVtb3J5LWNvbnNpc3RlbmN5Ci0gKiBwcm9ibGVtcyBvbiBBbHBoYSBDUFVzLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfYWRkX2JlZm9yZV9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKm4sCi0JCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXh0KQotewotCW4tPnBwcmV2ID0gbmV4dC0+cHByZXY7Ci0Jbi0+bmV4dCA9IG5leHQ7Ci0Jc21wX3dtYigpOwotCW5leHQtPnBwcmV2ID0gJm4tPm5leHQ7Ci0JKihuLT5wcHJldikgPSBuOwotfQotCi0vKioKLSAqIGhsaXN0X2FkZF9hZnRlcl9yY3UKLSAqIEBwcmV2OiB0aGUgZXhpc3RpbmcgZWxlbWVudCB0byBhZGQgdGhlIG5ldyBlbGVtZW50IGFmdGVyLgotICogQG46IHRoZSBuZXcgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KLSAqCi0gKiBEZXNjcmlwdGlvbjoKLSAqIEFkZHMgdGhlIHNwZWNpZmllZCBlbGVtZW50IHRvIHRoZSBzcGVjaWZpZWQgaGxpc3QKLSAqIGFmdGVyIHRoZSBzcGVjaWZpZWQgbm9kZSB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgotICoKLSAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKLSAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZwotICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCi0gKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCi0gKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCi0gKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQotICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9hZnRlcl9yY3Uoc3RydWN0IGhsaXN0X25vZGUgKnByZXYsCi0JCQkJICAgICAgIHN0cnVjdCBobGlzdF9ub2RlICpuKQotewotCW4tPm5leHQgPSBwcmV2LT5uZXh0OwotCW4tPnBwcmV2ID0gJnByZXYtPm5leHQ7Ci0Jc21wX3dtYigpOwotCXByZXYtPm5leHQgPSBuOwotCWlmIChuLT5uZXh0KQotCQluLT5uZXh0LT5wcHJldiA9ICZuLT5uZXh0OwotfQotCiAjZGVmaW5lIGhsaXN0X2VudHJ5KHB0ciwgdHlwZSwgbWVtYmVyKSBjb250YWluZXJfb2YocHRyLHR5cGUsbWVtYmVyKQogCiAjZGVmaW5lIGhsaXN0X2Zvcl9lYWNoKHBvcywgaGVhZCkgXApAQCAtOTY0LDIxICs2MTQsNCBAQAogCQkoeyB0cG9zID0gaGxpc3RfZW50cnkocG9zLCB0eXBlb2YoKnRwb3MpLCBtZW1iZXIpOyAxO30pOyBcCiAJICAgICBwb3MgPSBuKQogCi0vKioKLSAqIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSAtIGl0ZXJhdGUgb3ZlciByY3UgbGlzdCBvZiBnaXZlbiB0eXBlCi0gKiBAdHBvczoJdGhlIHR5cGUgKiB0byB1c2UgYXMgYSBsb29wIGN1cnNvci4KLSAqIEBwb3M6CXRoZSAmc3RydWN0IGhsaXN0X25vZGUgdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCi0gKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KLSAqIEBtZW1iZXI6CXRoZSBuYW1lIG9mIHRoZSBobGlzdF9ub2RlIHdpdGhpbiB0aGUgc3RydWN0LgotICoKLSAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCi0gKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQotICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgotICovCi0jZGVmaW5lIGhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSh0cG9zLCBwb3MsIGhlYWQsIG1lbWJlcikJCSBcCi0JZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5maXJzdCk7CQkJIFwKLQkgICAgICAgIHBvcyAmJiAoeyBwcmVmZXRjaChwb3MtPm5leHQpOyAxO30pICYmCQkJIFwKLQkJKHsgdHBvcyA9IGhsaXN0X2VudHJ5KHBvcywgdHlwZW9mKCp0cG9zKSwgbWVtYmVyKTsgMTt9KTsgXAotCSAgICAgcG9zID0gcmN1X2RlcmVmZXJlbmNlKHBvcy0+bmV4dCkpCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaCBiL2luY2x1ZGUvbGludXgvbG1faW50ZXJmYWNlLmgKaW5kZXggZjI3NDk5Ny4uMmVkOGZhMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9sbV9pbnRlcmZhY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xtX2ludGVyZmFjZS5oCkBAIC0xMjIsMTEgKzEyMiw5IEBACiAgKi8KIAogI2RlZmluZSBMTV9PVVRfU1RfTUFTSwkJMHgwMDAwMDAwMwotI2RlZmluZSBMTV9PVVRfQ0FDSEVBQkxFCTB4MDAwMDAwMDQKICNkZWZpbmUgTE1fT1VUX0NBTkNFTEVECQkweDAwMDAwMDA4CiAjZGVmaW5lIExNX09VVF9BU1lOQwkJMHgwMDAwMDA4MAogI2RlZmluZSBMTV9PVVRfRVJST1IJCTB4MDAwMDAxMDAKLSNkZWZpbmUgTE1fT1VUX0NPTlZfREVBRExLCTB4MDAwMDAyMDAKIAogLyoKICAqIGxtX2NhbGxiYWNrX3QgdHlwZXMKQEAgLTEzOCw5ICsxMzYsNiBAQAogICogTE1fQ0JfTkVFRF9SRUNPVkVSWQogICogVGhlIGdpdmVuIGpvdXJuYWwgbmVlZHMgdG8gYmUgcmVjb3ZlcmVkLgogICoKLSAqIExNX0NCX0RST1BMT0NLUwotICogUmVkdWNlIHRoZSBudW1iZXIgb2YgY2FjaGVkIGxvY2tzLgotICoKICAqIExNX0NCX0FTWU5DCiAgKiBUaGUgZ2l2ZW4gbG9jayBoYXMgYmVlbiBncmFudGVkLgogICovCkBAIC0xNDksNyArMTQ0LDYgQEAKICNkZWZpbmUgTE1fQ0JfTkVFRF9ECQkyNTgKICNkZWZpbmUgTE1fQ0JfTkVFRF9TCQkyNTkKICNkZWZpbmUgTE1fQ0JfTkVFRF9SRUNPVkVSWQkyNjAKLSNkZWZpbmUgTE1fQ0JfRFJPUExPQ0tTCQkyNjEKICNkZWZpbmUgTE1fQ0JfQVNZTkMJCTI2MgogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9sb2NrZGVwLmggYi9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaAppbmRleCA0YzRkMjM2Li4yNDg2ZWI0IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L2xvY2tkZXAuaApAQCAtMTgyLDYgKzE4Miw5IEBACiAgKiBXZSByZWNvcmQgbG9jayBkZXBlbmRlbmN5IGNoYWlucywgc28gdGhhdCB3ZSBjYW4gY2FjaGUgdGhlbToKICAqLwogc3RydWN0IGxvY2tfY2hhaW4geworCXU4CQkJCWlycV9jb250ZXh0OworCXU4CQkJCWRlcHRoOworCXUxNgkJCQliYXNlOwogCXN0cnVjdCBsaXN0X2hlYWQJCWVudHJ5OwogCXU2NAkJCQljaGFpbl9rZXk7CiB9OwpAQCAtMjc2LDE0ICsyNzksNiBAQAogCQkJCSAobG9jayktPmRlcF9tYXAua2V5LCBzdWIpCiAKIC8qCi0gKiBUbyBpbml0aWFsaXplIGEgbG9ja2RlcF9tYXAgc3RhdGljYWxseSB1c2UgdGhpcyBtYWNyby4KLSAqIE5vdGUgdGhhdCBfbmFtZSBtdXN0IG5vdCBiZSBOVUxMLgotICovCi0jZGVmaW5lIFNUQVRJQ19MT0NLREVQX01BUF9JTklUKF9uYW1lLCBfa2V5KSBcCi0JeyAubmFtZSA9IChfbmFtZSksIC5rZXkgPSAodm9pZCAqKShfa2V5KSwgfQotCi0KLS8qCiAgKiBBY3F1aXJlIGEgbG9jay4KICAqCiAgKiBWYWx1ZXMgZm9yICJyZWFkIjoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWFya2VyLmggYi9pbmNsdWRlL2xpbnV4L21hcmtlci5oCmluZGV4IDQzMGY2YWQuLjEyOTA2NTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbWFya2VyLmgKKysrIGIvaW5jbHVkZS9saW51eC9tYXJrZXIuaApAQCAtNDQsOCArNDQsOCBAQAogCQkJCSAqLwogCWNoYXIgc3RhdGU7CQkvKiBNYXJrZXIgc3RhdGUuICovCiAJY2hhciBwdHlwZTsJCS8qIHByb2JlIHR5cGUgOiAwIDogc2luZ2xlLCAxIDogbXVsdGkgKi8KLQl2b2lkICgqY2FsbCkoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCS8qIFByb2JlIHdyYXBwZXIgKi8KLQkJdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisJCQkJLyogUHJvYmUgd3JhcHBlciAqLworCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSBzaW5nbGU7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKIH0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOwpAQCAtNTgsOCArNTgsMTIgQEAKICAqIE1ha2Ugc3VyZSB0aGUgYWxpZ25tZW50IG9mIHRoZSBzdHJ1Y3R1cmUgaW4gdGhlIF9fbWFya2VycyBzZWN0aW9uIHdpbGwKICAqIG5vdCBhZGQgdW53YW50ZWQgcGFkZGluZyBiZXR3ZWVuIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlY3Rpb24gYW5kIHRoZQogICogc3RydWN0dXJlLiBGb3JjZSBhbGlnbm1lbnQgdG8gdGhlIHNhbWUgYWxpZ25tZW50IGFzIHRoZSBzZWN0aW9uIHN0YXJ0LgorICoKKyAqIFRoZSAiZ2VuZXJpYyIgYXJndW1lbnQgY29udHJvbHMgd2hpY2ggbWFya2VyIGVuYWJsaW5nIG1lY2hhbmlzbSBtdXN0IGJlIHVzZWQuCisgKiBJZiBnZW5lcmljIGlzIHRydWUsIGEgdmFyaWFibGUgcmVhZCBpcyB1c2VkLgorICogSWYgZ2VuZXJpYyBpcyBmYWxzZSwgaW1tZWRpYXRlIHZhbHVlcyBhcmUgdXNlZC4KICAqLwotI2RlZmluZSBfX3RyYWNlX21hcmsobmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pCQlcCisjZGVmaW5lIF9fdHJhY2VfbWFyayhnZW5lcmljLCBuYW1lLCBjYWxsX3ByaXZhdGUsIGZvcm1hdCwgYXJncy4uLikJXAogCWRvIHsJCQkJCQkJCVwKIAkJc3RhdGljIGNvbnN0IGNoYXIgX19tc3RydGFiXyMjbmFtZVtdCQkJXAogCQlfX2F0dHJpYnV0ZV9fKChzZWN0aW9uKCJfX21hcmtlcnNfc3RyaW5ncyIpKSkJCVwKQEAgLTcyLDE1ICs3NiwxNCBAQAogCQlfX21hcmtfY2hlY2tfZm9ybWF0KGZvcm1hdCwgIyMgYXJncyk7CQkJXAogCQlpZiAodW5saWtlbHkoX19tYXJrXyMjbmFtZS5zdGF0ZSkpIHsJCQlcCiAJCQkoKl9fbWFya18jI25hbWUuY2FsbCkJCQkJXAotCQkJCSgmX19tYXJrXyMjbmFtZSwgY2FsbF9wcml2YXRlLAkJXAotCQkJCWZvcm1hdCwgIyMgYXJncyk7CQkJXAorCQkJCSgmX19tYXJrXyMjbmFtZSwgY2FsbF9wcml2YXRlLCAjIyBhcmdzKTtcCiAJCX0JCQkJCQkJXAogCX0gd2hpbGUgKDApCiAKIGV4dGVybiB2b2lkIG1hcmtlcl91cGRhdGVfcHJvYmVfcmFuZ2Uoc3RydWN0IG1hcmtlciAqYmVnaW4sCiAJc3RydWN0IG1hcmtlciAqZW5kKTsKICNlbHNlIC8qICFDT05GSUdfTUFSS0VSUyAqLwotI2RlZmluZSBfX3RyYWNlX21hcmsobmFtZSwgY2FsbF9wcml2YXRlLCBmb3JtYXQsIGFyZ3MuLi4pIFwKKyNkZWZpbmUgX190cmFjZV9tYXJrKGdlbmVyaWMsIG5hbWUsIGNhbGxfcHJpdmF0ZSwgZm9ybWF0LCBhcmdzLi4uKSBcCiAJCV9fbWFya19jaGVja19mb3JtYXQoZm9ybWF0LCAjIyBhcmdzKQogc3RhdGljIGlubGluZSB2b2lkIG1hcmtlcl91cGRhdGVfcHJvYmVfcmFuZ2Uoc3RydWN0IG1hcmtlciAqYmVnaW4sCiAJc3RydWN0IG1hcmtlciAqZW5kKQpAQCAtODgsMTUgKzkxLDMwIEBACiAjZW5kaWYgLyogQ09ORklHX01BUktFUlMgKi8KIAogLyoqCi0gKiB0cmFjZV9tYXJrIC0gTWFya2VyCisgKiB0cmFjZV9tYXJrIC0gTWFya2VyIHVzaW5nIGNvZGUgcGF0Y2hpbmcKICAqIEBuYW1lOiBtYXJrZXIgbmFtZSwgbm90IHF1b3RlZC4KICAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKICAqIEBhcmdzLi4uOiB2YXJpYWJsZSBhcmd1bWVudCBsaXN0CiAgKgotICogUGxhY2VzIGEgbWFya2VyLgorICogUGxhY2VzIGEgbWFya2VyIHVzaW5nIG9wdGltaXplZCBjb2RlIHBhdGNoaW5nIHRlY2huaXF1ZSAoaW12X3JlYWQoKSkKKyAqIHRvIGJlIGVuYWJsZWQgd2hlbiBpbW1lZGlhdGUgdmFsdWVzIGFyZSBwcmVzZW50LgogICovCiAjZGVmaW5lIHRyYWNlX21hcmsobmFtZSwgZm9ybWF0LCBhcmdzLi4uKSBcCi0JX190cmFjZV9tYXJrKG5hbWUsIE5VTEwsIGZvcm1hdCwgIyMgYXJncykKKwlfX3RyYWNlX21hcmsoMCwgbmFtZSwgTlVMTCwgZm9ybWF0LCAjIyBhcmdzKQorCisvKioKKyAqIF90cmFjZV9tYXJrIC0gTWFya2VyIHVzaW5nIHZhcmlhYmxlIHJlYWQKKyAqIEBuYW1lOiBtYXJrZXIgbmFtZSwgbm90IHF1b3RlZC4KKyAqIEBmb3JtYXQ6IGZvcm1hdCBzdHJpbmcKKyAqIEBhcmdzLi4uOiB2YXJpYWJsZSBhcmd1bWVudCBsaXN0CisgKgorICogUGxhY2VzIGEgbWFya2VyIHVzaW5nIGEgc3RhbmRhcmQgbWVtb3J5IHJlYWQgKF9pbXZfcmVhZCgpKSB0byBiZQorICogZW5hYmxlZC4gU2hvdWxkIGJlIHVzZWQgZm9yIG1hcmtlcnMgaW4gY29kZSBwYXRocyB3aGVyZSBpbnN0cnVjdGlvbgorICogbW9kaWZpY2F0aW9uIGJhc2VkIGVuYWJsaW5nIGlzIG5vdCB3ZWxjb21lLiAoX19pbml0IGFuZCBfX2V4aXQgZnVuY3Rpb25zLAorICogbG9ja2RlcCwgc29tZSB0cmFwcywgcHJpbnRrKS4KKyAqLworI2RlZmluZSBfdHJhY2VfbWFyayhuYW1lLCBmb3JtYXQsIGFyZ3MuLi4pIFwKKwlfX3RyYWNlX21hcmsoMSwgbmFtZSwgTlVMTCwgZm9ybWF0LCAjIyBhcmdzKQogCiAvKioKICAqIE1BUktfTk9BUkdTIC0gRm9ybWF0IHN0cmluZyBmb3IgYSBtYXJrZXIgd2l0aCBubyBhcmd1bWVudC4KQEAgLTExNyw5ICsxMzUsOSBAQAogZXh0ZXJuIG1hcmtlcl9wcm9iZV9mdW5jIF9fbWFya19lbXB0eV9mdW5jdGlvbjsKIAogZXh0ZXJuIHZvaWQgbWFya2VyX3Byb2JlX2NiKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAotCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCXZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKTsKIGV4dGVybiB2b2lkIG1hcmtlcl9wcm9iZV9jYl9ub2FyZyhjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwKLQl2b2lkICpjYWxsX3ByaXZhdGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKwl2b2lkICpjYWxsX3ByaXZhdGUsIC4uLik7CiAKIC8qCiAgKiBDb25uZWN0IGEgcHJvYmUgdG8gYSBtYXJrZXIuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmggYi9pbmNsdWRlL2xpbnV4L21seDQvZGV2aWNlLmgKaW5kZXggYTc0NDM4My4uODFiM2RkNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tbHg0L2RldmljZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbWx4NC9kZXZpY2UuaApAQCAtMzk4LDcgKzM5OCw4IEBACiBpbnQgbWx4NF9JTklUX1BPUlQoc3RydWN0IG1seDRfZGV2ICpkZXYsIGludCBwb3J0KTsKIGludCBtbHg0X0NMT1NFX1BPUlQoc3RydWN0IG1seDRfZGV2ICpkZXYsIGludCBwb3J0KTsKIAotaW50IG1seDRfbXVsdGljYXN0X2F0dGFjaChzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfcXAgKnFwLCB1OCBnaWRbMTZdKTsKK2ludCBtbHg0X211bHRpY2FzdF9hdHRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSwKKwkJCSAgaW50IGJsb2NrX21jYXN0X2xvb3BiYWNrKTsKIGludCBtbHg0X211bHRpY2FzdF9kZXRhY2goc3RydWN0IG1seDRfZGV2ICpkZXYsIHN0cnVjdCBtbHg0X3FwICpxcCwgdTggZ2lkWzE2XSk7CiAKIGludCBtbHg0X21hcF9waHlzX2ZtcihzdHJ1Y3QgbWx4NF9kZXYgKmRldiwgc3RydWN0IG1seDRfZm1yICpmbXIsIHU2NCAqcGFnZV9saXN0LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbS5oIGIvaW5jbHVkZS9saW51eC9tbS5oCmluZGV4IDU4NmE5NDMuLmNmMWNkM2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L21tLmgKQEAgLTk5OCw4ICs5OTgsOCBAQAogZXh0ZXJuIHZvaWQgZnJlZV9hcmVhX2luaXRfbm9kZXModW5zaWduZWQgbG9uZyAqbWF4X3pvbmVfcGZuKTsKIGV4dGVybiB2b2lkIGFkZF9hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCiAJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7Ci1leHRlcm4gdm9pZCBzaHJpbmtfYWN0aXZlX3JhbmdlKHVuc2lnbmVkIGludCBuaWQsIHVuc2lnbmVkIGxvbmcgb2xkX2VuZF9wZm4sCi0JCQkJCQl1bnNpZ25lZCBsb25nIG5ld19lbmRfcGZuKTsKK2V4dGVybiB2b2lkIHJlbW92ZV9hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJCXVuc2lnbmVkIGxvbmcgZW5kX3Bmbik7CiBleHRlcm4gdm9pZCBwdXNoX25vZGVfYm91bmRhcmllcyh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIHN0YXJ0X3BmbiwKIAkJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKTsKIGV4dGVybiB2b2lkIHJlbW92ZV9hbGxfYWN0aXZlX3Jhbmdlcyh2b2lkKTsKQEAgLTEwMTEsNiArMTAxMSw4IEBACiBleHRlcm4gdW5zaWduZWQgbG9uZyBmaW5kX21heF9wZm5fd2l0aF9hY3RpdmVfcmVnaW9ucyh2b2lkKTsKIGV4dGVybiB2b2lkIGZyZWVfYm9vdG1lbV93aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsCiAJCQkJCQl1bnNpZ25lZCBsb25nIG1heF9sb3dfcGZuKTsKK3R5cGVkZWYgaW50ICgqd29ya19mbl90KSh1bnNpZ25lZCBsb25nLCB1bnNpZ25lZCBsb25nLCB2b2lkICopOworZXh0ZXJuIHZvaWQgd29ya193aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQsIHdvcmtfZm5fdCB3b3JrX2ZuLCB2b2lkICpkYXRhKTsKIGV4dGVybiB2b2lkIHNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zKGludCBuaWQpOwogI2lmbmRlZiBDT05GSUdfSEFWRV9BUkNIX0VBUkxZX1BGTl9UT19OSUQKIGV4dGVybiBpbnQgZWFybHlfcGZuX3RvX25pZCh1bnNpZ25lZCBsb25nIHBmbik7CkBAIC0xMDI0LDYgKzEwMjYsNyBAQAogZXh0ZXJuIHZvaWQgc2hvd19tZW0odm9pZCk7CiBleHRlcm4gdm9pZCBzaV9tZW1pbmZvKHN0cnVjdCBzeXNpbmZvICogdmFsKTsKIGV4dGVybiB2b2lkIHNpX21lbWluZm9fbm9kZShzdHJ1Y3Qgc3lzaW5mbyAqdmFsLCBpbnQgbmlkKTsKK2V4dGVybiBpbnQgYWZ0ZXJfYm9vdG1lbTsKIAogI2lmZGVmIENPTkZJR19OVU1BCiBleHRlcm4gdm9pZCBzZXR1cF9wZXJfY3B1X3BhZ2VzZXQodm9pZCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21taW90cmFjZS5oIGIvaW5jbHVkZS9saW51eC9tbWlvdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWQxOWUxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9tbWlvdHJhY2UuaApAQCAtMCwwICsxLDg1IEBACisjaWZuZGVmIE1NSU9UUkFDRV9ICisjZGVmaW5lIE1NSU9UUkFDRV9ICisKKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKworc3RydWN0IGttbWlvX3Byb2JlOworc3RydWN0IHB0X3JlZ3M7CisKK3R5cGVkZWYgdm9pZCAoKmttbWlvX3ByZV9oYW5kbGVyX3QpKHN0cnVjdCBrbW1pb19wcm9iZSAqLAorCQkJCXN0cnVjdCBwdF9yZWdzICosIHVuc2lnbmVkIGxvbmcgYWRkcik7Cit0eXBlZGVmIHZvaWQgKCprbW1pb19wb3N0X2hhbmRsZXJfdCkoc3RydWN0IGttbWlvX3Byb2JlICosCisJCQkJdW5zaWduZWQgbG9uZyBjb25kaXRpb24sIHN0cnVjdCBwdF9yZWdzICopOworCitzdHJ1Y3Qga21taW9fcHJvYmUgeworCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsgLyoga21taW8gaW50ZXJuYWwgbGlzdCAqLworCXVuc2lnbmVkIGxvbmcgYWRkcjsgLyogc3RhcnQgbG9jYXRpb24gb2YgdGhlIHByb2JlIHBvaW50ICovCisJdW5zaWduZWQgbG9uZyBsZW47IC8qIGxlbmd0aCBvZiB0aGUgcHJvYmUgcmVnaW9uICovCisJa21taW9fcHJlX2hhbmRsZXJfdCBwcmVfaGFuZGxlcjsgLyogQ2FsbGVkIGJlZm9yZSBhZGRyIGlzIGV4ZWN1dGVkLiAqLworCWttbWlvX3Bvc3RfaGFuZGxlcl90IHBvc3RfaGFuZGxlcjsgLyogQ2FsbGVkIGFmdGVyIGFkZHIgaXMgZXhlY3V0ZWQgKi8KKwl2b2lkICpwcml2YXRlOworfTsKKworLyoga21taW8gaXMgYWN0aXZlIGJ5IHNvbWUga21taW9fcHJvYmVzPyAqLworc3RhdGljIGlubGluZSBpbnQgaXNfa21taW9fYWN0aXZlKHZvaWQpCit7CisJZXh0ZXJuIHVuc2lnbmVkIGludCBrbW1pb19jb3VudDsKKwlyZXR1cm4ga21taW9fY291bnQ7Cit9CisKK2V4dGVybiBpbnQgcmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3Byb2JlICpwKTsKK2V4dGVybiB2b2lkIHVucmVnaXN0ZXJfa21taW9fcHJvYmUoc3RydWN0IGttbWlvX3Byb2JlICpwKTsKKworLyogQ2FsbGVkIGZyb20gcGFnZSBmYXVsdCBoYW5kbGVyLiAqLworZXh0ZXJuIGludCBrbW1pb19oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIGFkZHIpOworCisvKiBDYWxsZWQgZnJvbSBpb3JlbWFwLmMgKi8KKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFCitleHRlcm4gdm9pZCBtbWlvdHJhY2VfaW9yZW1hcChyZXNvdXJjZV9zaXplX3Qgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUsCisJCQkJCQkJdm9pZCBfX2lvbWVtICphZGRyKTsKK2V4dGVybiB2b2lkIG1taW90cmFjZV9pb3VubWFwKHZvbGF0aWxlIHZvaWQgX19pb21lbSAqYWRkcik7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIG1taW90cmFjZV9pb3JlbWFwKHJlc291cmNlX3NpemVfdCBvZmZzZXQsCisJCQkJCXVuc2lnbmVkIGxvbmcgc2l6ZSwgdm9pZCBfX2lvbWVtICphZGRyKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgbW1pb3RyYWNlX2lvdW5tYXAodm9sYXRpbGUgdm9pZCBfX2lvbWVtICphZGRyKQoreworfQorI2VuZGlmIC8qIENPTkZJR19NTUlPVFJBQ0VfSE9PS1MgKi8KKworZW51bSBtbV9pb19vcGNvZGUgeworCU1NSU9fUkVBRCA9IDB4MSwgICAgIC8qIHN0cnVjdCBtbWlvdHJhY2VfcncgKi8KKwlNTUlPX1dSSVRFID0gMHgyLCAgICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX3J3ICovCisJTU1JT19QUk9CRSA9IDB4MywgICAgLyogc3RydWN0IG1taW90cmFjZV9tYXAgKi8KKwlNTUlPX1VOUFJPQkUgPSAweDQsICAvKiBzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqLworCU1NSU9fTUFSS0VSID0gMHg1LCAgIC8qIHJhdyBjaGFyIGRhdGEgKi8KKwlNTUlPX1VOS05PV05fT1AgPSAweDYsIC8qIHN0cnVjdCBtbWlvdHJhY2VfcncgKi8KK307CisKK3N0cnVjdCBtbWlvdHJhY2VfcncgeworCXJlc291cmNlX3NpemVfdCBwaHlzOwkvKiBQQ0kgYWRkcmVzcyBvZiByZWdpc3RlciAqLworCXVuc2lnbmVkIGxvbmcgdmFsdWU7CisJdW5zaWduZWQgbG9uZyBwYzsJLyogb3B0aW9uYWwgcHJvZ3JhbSBjb3VudGVyICovCisJaW50IG1hcF9pZDsKKwl1bnNpZ25lZCBjaGFyIG9wY29kZTsJLyogb25lIG9mIE1NSU9fe1JFQUQsV1JJVEUsVU5LTk9XTl9PUH0gKi8KKwl1bnNpZ25lZCBjaGFyIHdpZHRoOwkvKiBzaXplIG9mIHJlZ2lzdGVyIGFjY2VzcyBpbiBieXRlcyAqLworfTsKKworc3RydWN0IG1taW90cmFjZV9tYXAgeworCXJlc291cmNlX3NpemVfdCBwaHlzOwkvKiBiYXNlIGFkZHJlc3MgaW4gUENJIHNwYWNlICovCisJdW5zaWduZWQgbG9uZyB2aXJ0OwkvKiBiYXNlIHZpcnR1YWwgYWRkcmVzcyAqLworCXVuc2lnbmVkIGxvbmcgbGVuOwkvKiBtYXBwaW5nIHNpemUgKi8KKwlpbnQgbWFwX2lkOworCXVuc2lnbmVkIGNoYXIgb3Bjb2RlOwkvKiBNTUlPX1BST0JFIG9yIE1NSU9fVU5QUk9CRSAqLworfTsKKworLyogaW4ga2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jICovCitleHRlcm4gdm9pZCBlbmFibGVfbW1pb3RyYWNlKHZvaWQpOworZXh0ZXJuIHZvaWQgZGlzYWJsZV9tbWlvdHJhY2Uodm9pZCk7CitleHRlcm4gdm9pZCBtbWlvX3RyYWNlX3J3KHN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KTsKK2V4dGVybiB2b2lkIG1taW9fdHJhY2VfbWFwcGluZyhzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbWFwKTsKKworI2VuZGlmIC8qIE1NSU9UUkFDRV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oIGIvaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaAppbmRleCA2OWIyMzQyLi5jNGRiNTgyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L21vZF9kZXZpY2V0YWJsZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbW9kX2RldmljZXRhYmxlLmgKQEAgLTE1OSw2ICsxNTksMTUgQEAKIAogI2RlZmluZSBBUF9ERVZJQ0VfSURfTUFUQ0hfREVWSUNFX1RZUEUJCTB4MDEKIAorLyogczM5MCBjc3MgYnVzIGRldmljZXMgKHN1YmNoYW5uZWxzKSAqLworc3RydWN0IGNzc19kZXZpY2VfaWQgeworCV9fdTggbWF0Y2hfZmxhZ3M7CisJX191OCB0eXBlOyAvKiBzdWJjaGFubmVsIHR5cGUgKi8KKwlfX3UxNiBwYWQyOworCV9fdTMyIHBhZDM7CisJa2VybmVsX3Vsb25nX3QgZHJpdmVyX2RhdGE7Cit9OworCiAjZGVmaW5lIEFDUElfSURfTEVOCTE2IC8qIG9ubHkgOSBieXRlcyBuZWVkZWQgaGVyZSwgMTYgYnl0ZXMgYXJlIHVzZWQgKi8KIAkJCSAgIC8qIHRvIHdvcmthcm91bmQgY3Jvc3Njb21waWxlIGlzc3VlcyAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21wYWdlLmggYi9pbmNsdWRlL2xpbnV4L21wYWdlLmgKaW5kZXggMDY4YTBjOS4uNWM0MjgyMSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9tcGFnZS5oCisrKyBiL2luY2x1ZGUvbGludXgvbXBhZ2UuaApAQCAtMTEsMTEgKzExLDIxIEBACiAgKi8KICNpZmRlZiBDT05GSUdfQkxPQ0sKIAorc3RydWN0IG1wYWdlX2RhdGEgeworCXN0cnVjdCBiaW8gKmJpbzsKKwlzZWN0b3JfdCBsYXN0X2Jsb2NrX2luX2JpbzsKKwlnZXRfYmxvY2tfdCAqZ2V0X2Jsb2NrOworCXVuc2lnbmVkIHVzZV93cml0ZXBhZ2U7Cit9OworCiBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2w7CiAKK3N0cnVjdCBiaW8gKm1wYWdlX2Jpb19zdWJtaXQoaW50IHJ3LCBzdHJ1Y3QgYmlvICpiaW8pOwogaW50IG1wYWdlX3JlYWRwYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgc3RydWN0IGxpc3RfaGVhZCAqcGFnZXMsCiAJCQkJdW5zaWduZWQgbnJfcGFnZXMsIGdldF9ibG9ja190IGdldF9ibG9jayk7CiBpbnQgbXBhZ2VfcmVhZHBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIGdldF9ibG9ja190IGdldF9ibG9jayk7CitpbnQgX19tcGFnZV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLAorCQkgICAgICB2b2lkICpkYXRhKTsKIGludCBtcGFnZV93cml0ZXBhZ2VzKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAogCQlzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYywgZ2V0X2Jsb2NrX3QgZ2V0X2Jsb2NrKTsKIGludCBtcGFnZV93cml0ZXBhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIGdldF9ibG9ja190ICpnZXRfYmxvY2ssCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BhZ2UtZmxhZ3MuaCBiL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCmluZGV4IGYzMWRlYmYuLjBkMmE0ZTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCisrKyBiL2luY2x1ZGUvbGludXgvcGFnZS1mbGFncy5oCkBAIC0xNTcsNiArMTU3LDcgQEAKIF9fUEFHRUZMQUcoU2xhYiwgc2xhYikKIFBBR0VGTEFHKENoZWNrZWQsIG93bmVyX3ByaXZfMSkJCS8qIFVzZWQgYnkgc29tZSBmaWxlc3lzdGVtcyAqLwogUEFHRUZMQUcoUGlubmVkLCBvd25lcl9wcml2XzEpIFRFU1RTQ0ZMQUcoUGlubmVkLCBvd25lcl9wcml2XzEpIC8qIFhlbiAqLworUEFHRUZMQUcoU2F2ZVBpbm5lZCwgZGlydHkpOwkJCQkJLyogWGVuICovCiBQQUdFRkxBRyhSZXNlcnZlZCwgcmVzZXJ2ZWQpIF9fQ0xFQVJQQUdFRkxBRyhSZXNlcnZlZCwgcmVzZXJ2ZWQpCiBQQUdFRkxBRyhQcml2YXRlLCBwcml2YXRlKSBfX0NMRUFSUEFHRUZMQUcoUHJpdmF0ZSwgcHJpdmF0ZSkKIAlfX1NFVFBBR0VGTEFHKFByaXZhdGUsIHByaXZhdGUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oIGIvaW5jbHVkZS9saW51eC9wYWdlYmxvY2stZmxhZ3MuaAppbmRleCBlODc1OTA1Li5lOGMwNjEyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3BhZ2VibG9jay1mbGFncy5oCisrKyBiL2luY2x1ZGUvbGludXgvcGFnZWJsb2NrLWZsYWdzLmgKQEAgLTI1LDEzICsyNSwxMSBAQAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAotLyogTWFjcm8gdG8gYWlkIHRoZSBkZWZpbml0aW9uIG9mIHJhbmdlcyBvZiBiaXRzICovCi0jZGVmaW5lIFBCX3JhbmdlKG5hbWUsIHJlcXVpcmVkX2JpdHMpIFwKLQluYW1lLCBuYW1lICMjIF9lbmQgPSAobmFtZSArIHJlcXVpcmVkX2JpdHMpIC0gMQotCiAvKiBCaXQgaW5kaWNlcyB0aGF0IGFmZmVjdCBhIHdob2xlIGJsb2NrIG9mIHBhZ2VzICovCiBlbnVtIHBhZ2VibG9ja19iaXRzIHsKLQlQQl9yYW5nZShQQl9taWdyYXRlLCAzKSwgLyogMyBiaXRzIHJlcXVpcmVkIGZvciBtaWdyYXRlIHR5cGVzICovCisJUEJfbWlncmF0ZSwKKwlQQl9taWdyYXRlX2VuZCA9IFBCX21pZ3JhdGUgKyAzIC0gMSwKKwkJCS8qIDMgYml0cyByZXF1aXJlZCBmb3IgbWlncmF0ZSB0eXBlcyAqLwogCU5SX1BBR0VCTE9DS19CSVRTCiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmggYi9pbmNsdWRlL2xpbnV4L3BlcmNwdV9jb3VudGVyLmgKaW5kZXggOTAwN2NjZC4uMjA4Mzg4OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wZXJjcHVfY291bnRlci5oCisrKyBiL2luY2x1ZGUvbGludXgvcGVyY3B1X2NvdW50ZXIuaApAQCAtMzUsNyArMzUsNyBAQAogdm9pZCBwZXJjcHVfY291bnRlcl9kZXN0cm95KHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjKTsKIHZvaWQgcGVyY3B1X2NvdW50ZXJfc2V0KHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBzNjQgYW1vdW50KTsKIHZvaWQgX19wZXJjcHVfY291bnRlcl9hZGQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMsIHM2NCBhbW91bnQsIHMzMiBiYXRjaCk7Ci1zNjQgX19wZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpOworczY0IF9fcGVyY3B1X2NvdW50ZXJfc3VtKHN0cnVjdCBwZXJjcHVfY291bnRlciAqZmJjLCBpbnQgc2V0KTsKIAogc3RhdGljIGlubGluZSB2b2lkIHBlcmNwdV9jb3VudGVyX2FkZChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgczY0IGFtb3VudCkKIHsKQEAgLTQ0LDEzICs0NCwxOSBAQAogCiBzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9zdW1fcG9zaXRpdmUoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCiB7Ci0JczY0IHJldCA9IF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYyk7CisJczY0IHJldCA9IF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYywgMCk7CiAJcmV0dXJuIHJldCA8IDAgPyAwIDogcmV0OwogfQogCitzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9zdW1fYW5kX3NldChzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKK3sKKwlyZXR1cm4gX19wZXJjcHVfY291bnRlcl9zdW0oZmJjLCAxKTsKK30KKworCiBzdGF0aWMgaW5saW5lIHM2NCBwZXJjcHVfY291bnRlcl9zdW0oc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCiB7Ci0JcmV0dXJuIF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYyk7CisJcmV0dXJuIF9fcGVyY3B1X2NvdW50ZXJfc3VtKGZiYywgMCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgczY0IHBlcmNwdV9jb3VudGVyX3JlYWQoc3RydWN0IHBlcmNwdV9jb3VudGVyICpmYmMpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3ByZWVtcHQuaCBiL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCmluZGV4IDIzZjBjNTQuLjcyYjFhMTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCisrKyBiL2luY2x1ZGUvbGludXgvcHJlZW1wdC5oCkBAIC0xMCw3ICsxMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgogI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KIAotI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCisjaWYgZGVmaW5lZChDT05GSUdfREVCVUdfUFJFRU1QVCkgfHwgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCiAgIGV4dGVybiB2b2lkIGFkZF9wcmVlbXB0X2NvdW50KGludCB2YWwpOwogICBleHRlcm4gdm9pZCBzdWJfcHJlZW1wdF9jb3VudChpbnQgdmFsKTsKICNlbHNlCkBAIC01Miw2ICs1MiwzNCBAQAogCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOyBcCiB9IHdoaWxlICgwKQogCisvKiBGb3IgZGVidWdnaW5nIGFuZCB0cmFjZXIgaW50ZXJuYWxzIG9ubHkhICovCisjZGVmaW5lIGFkZF9wcmVlbXB0X2NvdW50X25vdHJhY2UodmFsKQkJCVwKKwlkbyB7IHByZWVtcHRfY291bnQoKSArPSAodmFsKTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc3ViX3ByZWVtcHRfY291bnRfbm90cmFjZSh2YWwpCQkJXAorCWRvIHsgcHJlZW1wdF9jb3VudCgpIC09ICh2YWwpOyB9IHdoaWxlICgwKQorI2RlZmluZSBpbmNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCkgYWRkX3ByZWVtcHRfY291bnRfbm90cmFjZSgxKQorI2RlZmluZSBkZWNfcHJlZW1wdF9jb3VudF9ub3RyYWNlKCkgc3ViX3ByZWVtcHRfY291bnRfbm90cmFjZSgxKQorCisjZGVmaW5lIHByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCkgXAorZG8geyBcCisJaW5jX3ByZWVtcHRfY291bnRfbm90cmFjZSgpOyBcCisJYmFycmllcigpOyBcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vX3Jlc2NoZWRfbm90cmFjZSgpIFwKK2RvIHsgXAorCWJhcnJpZXIoKTsgXAorCWRlY19wcmVlbXB0X2NvdW50X25vdHJhY2UoKTsgXAorfSB3aGlsZSAoMCkKKworLyogcHJlZW1wdF9jaGVja19yZXNjaGVkIGlzIE9LIHRvIHRyYWNlICovCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vdHJhY2UoKSBcCitkbyB7IFwKKwlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsgXAorCWJhcnJpZXIoKTsgXAorCXByZWVtcHRfY2hlY2tfcmVzY2hlZCgpOyBcCit9IHdoaWxlICgwKQorCiAjZWxzZQogCiAjZGVmaW5lIHByZWVtcHRfZGlzYWJsZSgpCQlkbyB7IH0gd2hpbGUgKDApCkBAIC01OSw2ICs4NywxMCBAQAogI2RlZmluZSBwcmVlbXB0X2VuYWJsZSgpCQlkbyB7IH0gd2hpbGUgKDApCiAjZGVmaW5lIHByZWVtcHRfY2hlY2tfcmVzY2hlZCgpCQlkbyB7IH0gd2hpbGUgKDApCiAKKyNkZWZpbmUgcHJlZW1wdF9kaXNhYmxlX25vdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHByZWVtcHRfZW5hYmxlX25vdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorCiAjZW5kaWYKIAogI2lmZGVmIENPTkZJR19QUkVFTVBUX05PVElGSUVSUwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvcHRyYWNlLmgKaW5kZXggZjk4NTAxYi4uYzZmNWY5ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wdHJhY2UuaAorKysgYi9pbmNsdWRlL2xpbnV4L3B0cmFjZS5oCkBAIC05NSw4ICs5NSwxMiBAQAogCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5ld19wYXJlbnQpOwogZXh0ZXJuIHZvaWQgX19wdHJhY2VfdW5saW5rKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOwogZXh0ZXJuIHZvaWQgcHRyYWNlX3VudHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7Ci1leHRlcm4gaW50IHB0cmFjZV9tYXlfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7Ci1leHRlcm4gaW50IF9fcHRyYWNlX21heV9hdHRhY2goc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKTsKKyNkZWZpbmUgUFRSQUNFX01PREVfUkVBRCAgIDEKKyNkZWZpbmUgUFRSQUNFX01PREVfQVRUQUNIIDIKKy8qIFJldHVybnMgMCBvbiBzdWNjZXNzLCAtZXJybm8gb24gZGVuaWFsLiAqLworZXh0ZXJuIGludCBfX3B0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpOworLyogUmV0dXJucyB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG9uIGRlbmlhbC4gKi8KK2V4dGVybiBib29sIHB0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpOwogCiBzdGF0aWMgaW5saW5lIGludCBwdHJhY2VfcmVwYXJlbnRlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQogewpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9wd20uaCBiL2luY2x1ZGUvbGludXgvcHdtLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk0NWY4MAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXgvcHdtLmgKQEAgLTAsMCArMSwzMSBAQAorI2lmbmRlZiBfX0xJTlVYX1BXTV9ICisjZGVmaW5lIF9fTElOVVhfUFdNX0gKKworc3RydWN0IHB3bV9kZXZpY2U7CisKKy8qCisgKiBwd21fcmVxdWVzdCAtIHJlcXVlc3QgYSBQV00gZGV2aWNlCisgKi8KK3N0cnVjdCBwd21fZGV2aWNlICpwd21fcmVxdWVzdChpbnQgcHdtX2lkLCBjb25zdCBjaGFyICpsYWJlbCk7CisKKy8qCisgKiBwd21fZnJlZSAtIGZyZWUgYSBQV00gZGV2aWNlCisgKi8KK3ZvaWQgcHdtX2ZyZWUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CisKKy8qCisgKiBwd21fY29uZmlnIC0gY2hhbmdlIGEgUFdNIGRldmljZSBjb25maWd1cmF0aW9uCisgKi8KK2ludCBwd21fY29uZmlnKHN0cnVjdCBwd21fZGV2aWNlICpwd20sIGludCBkdXR5X25zLCBpbnQgcGVyaW9kX25zKTsKKworLyoKKyAqIHB3bV9lbmFibGUgLSBzdGFydCBhIFBXTSBvdXRwdXQgdG9nZ2xpbmcKKyAqLworaW50IHB3bV9lbmFibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CisKKy8qCisgKiBwd21fZGlzYWJsZSAtIHN0b3AgYSBQV00gb3V0cHV0IHRvZ2dsaW5nCisgKi8KK3ZvaWQgcHdtX2Rpc2FibGUoc3RydWN0IHB3bV9kZXZpY2UgKnB3bSk7CisKKyNlbmRpZiAvKiBfX0FTTV9BUkNIX1BXTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3B3bV9iYWNrbGlnaHQuaCBiL2luY2x1ZGUvbGludXgvcHdtX2JhY2tsaWdodC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhOTc1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xpbnV4L3B3bV9iYWNrbGlnaHQuaApAQCAtMCwwICsxLDE3IEBACisvKgorICogR2VuZXJpYyBQV00gYmFja2xpZ2h0IGRyaXZlciBkYXRhIC0gc2VlIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9ibC5jCisgKi8KKyNpZm5kZWYgX19MSU5VWF9QV01fQkFDS0xJR0hUX0gKKyNkZWZpbmUgX19MSU5VWF9QV01fQkFDS0xJR0hUX0gKKworc3RydWN0IHBsYXRmb3JtX3B3bV9iYWNrbGlnaHRfZGF0YSB7CisJaW50IHB3bV9pZDsKKwl1bnNpZ25lZCBpbnQgbWF4X2JyaWdodG5lc3M7CisJdW5zaWduZWQgaW50IGRmdF9icmlnaHRuZXNzOworCXVuc2lnbmVkIGludCBwd21fcGVyaW9kX25zOworCWludCAoKmluaXQpKHN0cnVjdCBkZXZpY2UgKmRldik7CisJaW50ICgqbm90aWZ5KShpbnQgYnJpZ2h0bmVzcyk7CisJdm9pZCAoKmV4aXQpKHN0cnVjdCBkZXZpY2UgKmRldik7Cit9OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1Y2xhc3NpYy5oIGIvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmgKaW5kZXggYjNhYTA1Yi4uOGM3NzQ5MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VjbGFzc2ljLmgKQEAgLTE1MSw3ICsxNTEsMTAgQEAKIAogI2RlZmluZSBfX3N5bmNocm9uaXplX3NjaGVkKCkgc3luY2hyb25pemVfcmN1KCkKIAorI2RlZmluZSBjYWxsX3JjdV9zY2hlZChoZWFkLCBmdW5jKSBjYWxsX3JjdShoZWFkLCBmdW5jKQorCiBleHRlcm4gdm9pZCBfX3JjdV9pbml0KHZvaWQpOworI2RlZmluZSByY3VfaW5pdF9zY2hlZCgpCWRvIHsgfSB3aGlsZSAoMCkKIGV4dGVybiB2b2lkIHJjdV9jaGVja19jYWxsYmFja3MoaW50IGNwdSwgaW50IHVzZXIpOwogZXh0ZXJuIHZvaWQgcmN1X3Jlc3RhcnRfY3B1KGludCBjcHUpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3JjdWxpc3QuaCBiL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oCmluZGV4IGJkZTQ1ODYuLmIwZjM5YmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oCisrKyBiL2luY2x1ZGUvbGludXgvcmN1bGlzdC5oCkBAIC0xLDYgKzEsMzczIEBACiAjaWZuZGVmIF9MSU5VWF9SQ1VMSVNUX0gKICNkZWZpbmUgX0xJTlVYX1JDVUxJU1RfSAogCi0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2lmZGVmIF9fS0VSTkVMX18KIAotI2VuZGlmCS8qIF9MSU5VWF9SQ1VMSVNUX0ggKi8KKy8qCisgKiBSQ1UtcHJvdGVjdGVkIGxpc3QgdmVyc2lvbgorICovCisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CisKKy8qCisgKiBJbnNlcnQgYSBuZXcgZW50cnkgYmV0d2VlbiB0d28ga25vd24gY29uc2VjdXRpdmUgZW50cmllcy4KKyAqCisgKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIGxpc3QgbWFuaXB1bGF0aW9uIHdoZXJlIHdlIGtub3cKKyAqIHRoZSBwcmV2L25leHQgZW50cmllcyBhbHJlYWR5IQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgX19saXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LAorCQlzdHJ1Y3QgbGlzdF9oZWFkICpwcmV2LCBzdHJ1Y3QgbGlzdF9oZWFkICpuZXh0KQoreworCW5ldy0+bmV4dCA9IG5leHQ7CisJbmV3LT5wcmV2ID0gcHJldjsKKwlyY3VfYXNzaWduX3BvaW50ZXIocHJldi0+bmV4dCwgbmV3KTsKKwluZXh0LT5wcmV2ID0gbmV3OworfQorCisvKioKKyAqIGxpc3RfYWRkX3JjdSAtIGFkZCBhIG5ldyBlbnRyeSB0byByY3UtcHJvdGVjdGVkIGxpc3QKKyAqIEBuZXc6IG5ldyBlbnRyeSB0byBiZSBhZGRlZAorICogQGhlYWQ6IGxpc3QgaGVhZCB0byBhZGQgaXQgYWZ0ZXIKKyAqCisgKiBJbnNlcnQgYSBuZXcgZW50cnkgYWZ0ZXIgdGhlIHNwZWNpZmllZCBoZWFkLgorICogVGhpcyBpcyBnb29kIGZvciBpbXBsZW1lbnRpbmcgc3RhY2tzLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCisgKiBvciBsaXN0X2RlbF9yY3UoKSwgcnVubmluZyBvbiB0aGlzIHNhbWUgbGlzdC4KKyAqIEhvd2V2ZXIsIGl0IGlzIHBlcmZlY3RseSBsZWdhbCB0byBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZXMsIHN1Y2ggYXMKKyAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2FkZF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZCwgaGVhZC0+bmV4dCk7Cit9CisKKy8qKgorICogbGlzdF9hZGRfdGFpbF9yY3UgLSBhZGQgYSBuZXcgZW50cnkgdG8gcmN1LXByb3RlY3RlZCBsaXN0CisgKiBAbmV3OiBuZXcgZW50cnkgdG8gYmUgYWRkZWQKKyAqIEBoZWFkOiBsaXN0IGhlYWQgdG8gYWRkIGl0IGJlZm9yZQorICoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBiZWZvcmUgdGhlIHNwZWNpZmllZCBoZWFkLgorICogVGhpcyBpcyB1c2VmdWwgZm9yIGltcGxlbWVudGluZyBxdWV1ZXMuCisgKgorICogVGhlIGNhbGxlciBtdXN0IHRha2Ugd2hhdGV2ZXIgcHJlY2F1dGlvbnMgYXJlIG5lY2Vzc2FyeQorICogKHN1Y2ggYXMgaG9sZGluZyBhcHByb3ByaWF0ZSBsb2NrcykgdG8gYXZvaWQgcmFjaW5nCisgKiB3aXRoIGFub3RoZXIgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmUsIHN1Y2ggYXMgbGlzdF9hZGRfdGFpbF9yY3UoKQorICogb3IgbGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9hZGRfdGFpbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbmV3LAorCQkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCV9fbGlzdF9hZGRfcmN1KG5ldywgaGVhZC0+cHJldiwgaGVhZCk7Cit9CisKKy8qKgorICogbGlzdF9kZWxfcmN1IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3Qgd2l0aG91dCByZS1pbml0aWFsaXphdGlvbgorICogQGVudHJ5OiB0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KKyAqCisgKiBOb3RlOiBsaXN0X2VtcHR5KCkgb24gZW50cnkgZG9lcyBub3QgcmV0dXJuIHRydWUgYWZ0ZXIgdGhpcywKKyAqIHRoZSBlbnRyeSBpcyBpbiBhbiB1bmRlZmluZWQgc3RhdGUuIEl0IGlzIHVzZWZ1bCBmb3IgUkNVIGJhc2VkCisgKiBsb2NrZnJlZSB0cmF2ZXJzYWwuCisgKgorICogSW4gcGFydGljdWxhciwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gbm90IHBvaXNvbiB0aGUgZm9yd2FyZAorICogcG9pbnRlcnMgdGhhdCBtYXkgc3RpbGwgYmUgdXNlZCBmb3Igd2Fsa2luZyB0aGUgbGlzdC4KKyAqCisgKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5CisgKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKKyAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBsaXN0X2RlbF9yY3UoKQorICogb3IgbGlzdF9hZGRfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSgpLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgY2FsbGVyIGlzIG5vdCBwZXJtaXR0ZWQgdG8gaW1tZWRpYXRlbHkgZnJlZQorICogdGhlIG5ld2x5IGRlbGV0ZWQgZW50cnkuICBJbnN0ZWFkLCBlaXRoZXIgc3luY2hyb25pemVfcmN1KCkKKyAqIG9yIGNhbGxfcmN1KCkgbXVzdCBiZSB1c2VkIHRvIGRlZmVyIGZyZWVpbmcgdW50aWwgYW4gUkNVCisgKiBncmFjZSBwZXJpb2QgaGFzIGVsYXBzZWQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X2RlbF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqZW50cnkpCit7CisJX19saXN0X2RlbChlbnRyeS0+cHJldiwgZW50cnktPm5leHQpOworCWVudHJ5LT5wcmV2ID0gTElTVF9QT0lTT04yOworfQorCisvKioKKyAqIGxpc3RfcmVwbGFjZV9yY3UgLSByZXBsYWNlIG9sZCBlbnRyeSBieSBuZXcgb25lCisgKiBAb2xkIDogdGhlIGVsZW1lbnQgdG8gYmUgcmVwbGFjZWQKKyAqIEBuZXcgOiB0aGUgbmV3IGVsZW1lbnQgdG8gaW5zZXJ0CisgKgorICogVGhlIEBvbGQgZW50cnkgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSBAbmV3IGVudHJ5IGF0b21pY2FsbHkuCisgKiBOb3RlOiBAb2xkIHNob3VsZCBub3QgYmUgZW1wdHkuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBsaXN0X3JlcGxhY2VfcmN1KHN0cnVjdCBsaXN0X2hlYWQgKm9sZCwKKwkJCQlzdHJ1Y3QgbGlzdF9oZWFkICpuZXcpCit7CisJbmV3LT5uZXh0ID0gb2xkLT5uZXh0OworCW5ldy0+cHJldiA9IG9sZC0+cHJldjsKKwlyY3VfYXNzaWduX3BvaW50ZXIobmV3LT5wcmV2LT5uZXh0LCBuZXcpOworCW5ldy0+bmV4dC0+cHJldiA9IG5ldzsKKwlvbGQtPnByZXYgPSBMSVNUX1BPSVNPTjI7Cit9CisKKy8qKgorICogbGlzdF9zcGxpY2VfaW5pdF9yY3UgLSBzcGxpY2UgYW4gUkNVLXByb3RlY3RlZCBsaXN0IGludG8gYW4gZXhpc3RpbmcgbGlzdC4KKyAqIEBsaXN0Ogl0aGUgUkNVLXByb3RlY3RlZCBsaXN0IHRvIHNwbGljZQorICogQGhlYWQ6CXRoZSBwbGFjZSBpbiB0aGUgbGlzdCB0byBzcGxpY2UgdGhlIGZpcnN0IGxpc3QgaW50bworICogQHN5bmM6CWZ1bmN0aW9uIHRvIHN5bmM6IHN5bmNocm9uaXplX3JjdSgpLCBzeW5jaHJvbml6ZV9zY2hlZCgpLCAuLi4KKyAqCisgKiBAaGVhZCBjYW4gYmUgUkNVLXJlYWQgdHJhdmVyc2VkIGNvbmN1cnJlbnRseSB3aXRoIHRoaXMgZnVuY3Rpb24uCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gYmxvY2tzLgorICoKKyAqIEltcG9ydGFudCBub3RlOiB0aGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBhY3Rpb24gaXMgbmVjZXNzYXJ5IHRvCisgKglwcmV2ZW50IGFueSBvdGhlciB1cGRhdGVzIHRvIEBoZWFkLiAgSW4gcHJpbmNpcGxlLCBpdCBpcyBwb3NzaWJsZQorICoJdG8gbW9kaWZ5IHRoZSBsaXN0IGFzIHNvb24gYXMgc3luYygpIGJlZ2lucyBleGVjdXRpb24uCisgKglJZiB0aGlzIHNvcnQgb2YgdGhpbmcgYmVjb21lcyBuZWNlc3NhcnksIGFuIGFsdGVybmF0aXZlIHZlcnNpb24KKyAqCWJhc2VkIG9uIGNhbGxfcmN1KCkgY291bGQgYmUgY3JlYXRlZC4gIEJ1dCBvbmx5IGlmIC1yZWFsbHktCisgKgluZWVkZWQgLS0gdGhlcmUgaXMgbm8gc2hvcnRhZ2Ugb2YgUkNVIEFQSSBtZW1iZXJzLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgbGlzdF9zcGxpY2VfaW5pdF9yY3Uoc3RydWN0IGxpc3RfaGVhZCAqbGlzdCwKKwkJCQkJc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKKwkJCQkJdm9pZCAoKnN5bmMpKHZvaWQpKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKmZpcnN0ID0gbGlzdC0+bmV4dDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpsYXN0ID0gbGlzdC0+cHJldjsKKwlzdHJ1Y3QgbGlzdF9oZWFkICphdCA9IGhlYWQtPm5leHQ7CisKKwlpZiAobGlzdF9lbXB0eShoZWFkKSkKKwkJcmV0dXJuOworCisJLyogImZpcnN0IiBhbmQgImxhc3QiIHRyYWNraW5nIGxpc3QsIHNvIGluaXRpYWxpemUgaXQuICovCisKKwlJTklUX0xJU1RfSEVBRChsaXN0KTsKKworCS8qCisJICogQXQgdGhpcyBwb2ludCwgdGhlIGxpc3QgYm9keSBzdGlsbCBwb2ludHMgdG8gdGhlIHNvdXJjZSBsaXN0LgorCSAqIFdhaXQgZm9yIGFueSByZWFkZXJzIHRvIGZpbmlzaCB1c2luZyB0aGUgbGlzdCBiZWZvcmUgc3BsaWNpbmcKKwkgKiB0aGUgbGlzdCBib2R5IGludG8gdGhlIG5ldyBsaXN0LiAgQW55IG5ldyByZWFkZXJzIHdpbGwgc2VlCisJICogYW4gZW1wdHkgbGlzdC4KKwkgKi8KKworCXN5bmMoKTsKKworCS8qCisJICogUmVhZGVycyBhcmUgZmluaXNoZWQgd2l0aCB0aGUgc291cmNlIGxpc3QsIHNvIHBlcmZvcm0gc3BsaWNlLgorCSAqIFRoZSBvcmRlciBpcyBpbXBvcnRhbnQgaWYgdGhlIG5ldyBsaXN0IGlzIGdsb2JhbCBhbmQgYWNjZXNzaWJsZQorCSAqIHRvIGNvbmN1cnJlbnQgUkNVIHJlYWRlcnMuICBOb3RlIHRoYXQgUkNVIHJlYWRlcnMgYXJlIG5vdAorCSAqIHBlcm1pdHRlZCB0byB0cmF2ZXJzZSB0aGUgcHJldiBwb2ludGVycyB3aXRob3V0IGV4Y2x1ZGluZworCSAqIHRoaXMgZnVuY3Rpb24uCisJICovCisKKwlsYXN0LT5uZXh0ID0gYXQ7CisJcmN1X2Fzc2lnbl9wb2ludGVyKGhlYWQtPm5leHQsIGZpcnN0KTsKKwlmaXJzdC0+cHJldiA9IGhlYWQ7CisJYXQtPnByZXYgPSBsYXN0OworfQorCisvKioKKyAqIGxpc3RfZm9yX2VhY2hfcmN1CS0JaXRlcmF0ZSBvdmVyIGFuIHJjdS1wcm90ZWN0ZWQgbGlzdAorICogQHBvczoJdGhlICZzdHJ1Y3QgbGlzdF9oZWFkIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgorICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCisgKgorICogVGhpcyBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbWF5IHNhZmVseSBydW4gY29uY3VycmVudGx5IHdpdGgKKyAqIHRoZSBfcmN1IGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlcyBzdWNoIGFzIGxpc3RfYWRkX3JjdSgpCisgKiBhcyBsb25nIGFzIHRoZSB0cmF2ZXJzYWwgaXMgZ3VhcmRlZCBieSByY3VfcmVhZF9sb2NrKCkuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9yY3UocG9zLCBoZWFkKSBcCisJZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5uZXh0KTsgXAorCQlwcmVmZXRjaChwb3MtPm5leHQpLCBwb3MgIT0gKGhlYWQpOyBcCisJCXBvcyA9IHJjdV9kZXJlZmVyZW5jZShwb3MtPm5leHQpKQorCisjZGVmaW5lIF9fbGlzdF9mb3JfZWFjaF9yY3UocG9zLCBoZWFkKSBcCisJZm9yIChwb3MgPSByY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5uZXh0KTsgXAorCQlwb3MgIT0gKGhlYWQpOyBcCisJCXBvcyA9IHJjdV9kZXJlZmVyZW5jZShwb3MtPm5leHQpKQorCisvKioKKyAqIGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1CS0JaXRlcmF0ZSBvdmVyIHJjdSBsaXN0IG9mIGdpdmVuIHR5cGUKKyAqIEBwb3M6CXRoZSB0eXBlICogdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqIEBtZW1iZXI6CXRoZSBuYW1lIG9mIHRoZSBsaXN0X3N0cnVjdCB3aXRoaW4gdGhlIHN0cnVjdC4KKyAqCisgKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgbGlzdF9hZGRfcmN1KCkKKyAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KKyAqLworI2RlZmluZSBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShwb3MsIGhlYWQsIG1lbWJlcikgXAorCWZvciAocG9zID0gbGlzdF9lbnRyeShyY3VfZGVyZWZlcmVuY2UoKGhlYWQpLT5uZXh0KSwgdHlwZW9mKCpwb3MpLCBtZW1iZXIpOyBcCisJCXByZWZldGNoKHBvcy0+bWVtYmVyLm5leHQpLCAmcG9zLT5tZW1iZXIgIT0gKGhlYWQpOyBcCisJCXBvcyA9IGxpc3RfZW50cnkocmN1X2RlcmVmZXJlbmNlKHBvcy0+bWVtYmVyLm5leHQpLCB0eXBlb2YoKnBvcyksIG1lbWJlcikpCisKKworLyoqCisgKiBsaXN0X2Zvcl9lYWNoX2NvbnRpbnVlX3JjdQorICogQHBvczoJdGhlICZzdHJ1Y3QgbGlzdF9oZWFkIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgorICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCisgKgorICogSXRlcmF0ZSBvdmVyIGFuIHJjdS1wcm90ZWN0ZWQgbGlzdCwgY29udGludWluZyBhZnRlciBjdXJyZW50IHBvaW50LgorICoKKyAqIFRoaXMgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlIG1heSBzYWZlbHkgcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZXMgc3VjaCBhcyBsaXN0X2FkZF9yY3UoKQorICogYXMgbG9uZyBhcyB0aGUgdHJhdmVyc2FsIGlzIGd1YXJkZWQgYnkgcmN1X3JlYWRfbG9jaygpLgorICovCisjZGVmaW5lIGxpc3RfZm9yX2VhY2hfY29udGludWVfcmN1KHBvcywgaGVhZCkgXAorCWZvciAoKHBvcykgPSByY3VfZGVyZWZlcmVuY2UoKHBvcyktPm5leHQpOyBcCisJCXByZWZldGNoKChwb3MpLT5uZXh0KSwgKHBvcykgIT0gKGhlYWQpOyBcCisJCShwb3MpID0gcmN1X2RlcmVmZXJlbmNlKChwb3MpLT5uZXh0KSkKKworLyoqCisgKiBobGlzdF9kZWxfcmN1IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGhhc2ggbGlzdCB3aXRob3V0IHJlLWluaXRpYWxpemF0aW9uCisgKiBAbjogdGhlIGVsZW1lbnQgdG8gZGVsZXRlIGZyb20gdGhlIGhhc2ggbGlzdC4KKyAqCisgKiBOb3RlOiBsaXN0X3VuaGFzaGVkKCkgb24gZW50cnkgZG9lcyBub3QgcmV0dXJuIHRydWUgYWZ0ZXIgdGhpcywKKyAqIHRoZSBlbnRyeSBpcyBpbiBhbiB1bmRlZmluZWQgc3RhdGUuIEl0IGlzIHVzZWZ1bCBmb3IgUkNVIGJhc2VkCisgKiBsb2NrZnJlZSB0cmF2ZXJzYWwuCisgKgorICogSW4gcGFydGljdWxhciwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gbm90IHBvaXNvbiB0aGUgZm9yd2FyZAorICogcG9pbnRlcnMgdGhhdCBtYXkgc3RpbGwgYmUgdXNlZCBmb3Igd2Fsa2luZyB0aGUgaGFzaCBsaXN0LgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCisgKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeSgpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaGxpc3RfZGVsX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbikKK3sKKwlfX2hsaXN0X2RlbChuKTsKKwluLT5wcHJldiA9IExJU1RfUE9JU09OMjsKK30KKworLyoqCisgKiBobGlzdF9yZXBsYWNlX3JjdSAtIHJlcGxhY2Ugb2xkIGVudHJ5IGJ5IG5ldyBvbmUKKyAqIEBvbGQgOiB0aGUgZWxlbWVudCB0byBiZSByZXBsYWNlZAorICogQG5ldyA6IHRoZSBuZXcgZWxlbWVudCB0byBpbnNlcnQKKyAqCisgKiBUaGUgQG9sZCBlbnRyeSB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIEBuZXcgZW50cnkgYXRvbWljYWxseS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X3JlcGxhY2VfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpvbGQsCisJCQkJCXN0cnVjdCBobGlzdF9ub2RlICpuZXcpCit7CisJc3RydWN0IGhsaXN0X25vZGUgKm5leHQgPSBvbGQtPm5leHQ7CisKKwluZXctPm5leHQgPSBuZXh0OworCW5ldy0+cHByZXYgPSBvbGQtPnBwcmV2OworCXJjdV9hc3NpZ25fcG9pbnRlcigqbmV3LT5wcHJldiwgbmV3KTsKKwlpZiAobmV4dCkKKwkJbmV3LT5uZXh0LT5wcHJldiA9ICZuZXctPm5leHQ7CisJb2xkLT5wcHJldiA9IExJU1RfUE9JU09OMjsKK30KKworLyoqCisgKiBobGlzdF9hZGRfaGVhZF9yY3UKKyAqIEBuOiB0aGUgZWxlbWVudCB0byBhZGQgdG8gdGhlIGhhc2ggbGlzdC4KKyAqIEBoOiB0aGUgbGlzdCB0byBhZGQgdG8uCisgKgorICogRGVzY3JpcHRpb246CisgKiBBZGRzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byB0aGUgc3BlY2lmaWVkIGhsaXN0LAorICogd2hpbGUgcGVybWl0dGluZyByYWNpbmcgdHJhdmVyc2Fscy4KKyAqCisgKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5CisgKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKKyAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQorICogb3IgaGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgorICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcworICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksIHVzZWQgdG8gcHJldmVudCBtZW1vcnktY29uc2lzdGVuY3kKKyAqIHByb2JsZW1zIG9uIEFscGhhIENQVXMuICBSZWdhcmRsZXNzIG9mIHRoZSB0eXBlIG9mIENQVSwgdGhlCisgKiBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmUgbXVzdCBiZSBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9oZWFkX3JjdShzdHJ1Y3QgaGxpc3Rfbm9kZSAqbiwKKwkJCQkJc3RydWN0IGhsaXN0X2hlYWQgKmgpCit7CisJc3RydWN0IGhsaXN0X25vZGUgKmZpcnN0ID0gaC0+Zmlyc3Q7CisKKwluLT5uZXh0ID0gZmlyc3Q7CisJbi0+cHByZXYgPSAmaC0+Zmlyc3Q7CisJcmN1X2Fzc2lnbl9wb2ludGVyKGgtPmZpcnN0LCBuKTsKKwlpZiAoZmlyc3QpCisJCWZpcnN0LT5wcHJldiA9ICZuLT5uZXh0OworfQorCisvKioKKyAqIGhsaXN0X2FkZF9iZWZvcmVfcmN1CisgKiBAbjogdGhlIG5ldyBlbGVtZW50IHRvIGFkZCB0byB0aGUgaGFzaCBsaXN0LgorICogQG5leHQ6IHRoZSBleGlzdGluZyBlbGVtZW50IHRvIGFkZCB0aGUgbmV3IGVsZW1lbnQgYmVmb3JlLgorICoKKyAqIERlc2NyaXB0aW9uOgorICogQWRkcyB0aGUgc3BlY2lmaWVkIGVsZW1lbnQgdG8gdGhlIHNwZWNpZmllZCBobGlzdAorICogYmVmb3JlIHRoZSBzcGVjaWZpZWQgbm9kZSB3aGlsZSBwZXJtaXR0aW5nIHJhY2luZyB0cmF2ZXJzYWxzLgorICoKKyAqIFRoZSBjYWxsZXIgbXVzdCB0YWtlIHdoYXRldmVyIHByZWNhdXRpb25zIGFyZSBuZWNlc3NhcnkKKyAqIChzdWNoIGFzIGhvbGRpbmcgYXBwcm9wcmlhdGUgbG9ja3MpIHRvIGF2b2lkIHJhY2luZworICogd2l0aCBhbm90aGVyIGxpc3QtbXV0YXRpb24gcHJpbWl0aXZlLCBzdWNoIGFzIGhsaXN0X2FkZF9oZWFkX3JjdSgpCisgKiBvciBobGlzdF9kZWxfcmN1KCksIHJ1bm5pbmcgb24gdGhpcyBzYW1lIGxpc3QuCisgKiBIb3dldmVyLCBpdCBpcyBwZXJmZWN0bHkgbGVnYWwgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoCisgKiB0aGUgX3JjdSBsaXN0LXRyYXZlcnNhbCBwcmltaXRpdmVzLCBzdWNoIGFzCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UoKSwgdXNlZCB0byBwcmV2ZW50IG1lbW9yeS1jb25zaXN0ZW5jeQorICogcHJvYmxlbXMgb24gQWxwaGEgQ1BVcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGhsaXN0X2FkZF9iZWZvcmVfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpuLAorCQkJCQlzdHJ1Y3QgaGxpc3Rfbm9kZSAqbmV4dCkKK3sKKwluLT5wcHJldiA9IG5leHQtPnBwcmV2OworCW4tPm5leHQgPSBuZXh0OworCXJjdV9hc3NpZ25fcG9pbnRlcigqKG4tPnBwcmV2KSwgbik7CisJbmV4dC0+cHByZXYgPSAmbi0+bmV4dDsKK30KKworLyoqCisgKiBobGlzdF9hZGRfYWZ0ZXJfcmN1CisgKiBAcHJldjogdGhlIGV4aXN0aW5nIGVsZW1lbnQgdG8gYWRkIHRoZSBuZXcgZWxlbWVudCBhZnRlci4KKyAqIEBuOiB0aGUgbmV3IGVsZW1lbnQgdG8gYWRkIHRvIHRoZSBoYXNoIGxpc3QuCisgKgorICogRGVzY3JpcHRpb246CisgKiBBZGRzIHRoZSBzcGVjaWZpZWQgZWxlbWVudCB0byB0aGUgc3BlY2lmaWVkIGhsaXN0CisgKiBhZnRlciB0aGUgc3BlY2lmaWVkIG5vZGUgd2hpbGUgcGVybWl0dGluZyByYWNpbmcgdHJhdmVyc2Fscy4KKyAqCisgKiBUaGUgY2FsbGVyIG11c3QgdGFrZSB3aGF0ZXZlciBwcmVjYXV0aW9ucyBhcmUgbmVjZXNzYXJ5CisgKiAoc3VjaCBhcyBob2xkaW5nIGFwcHJvcHJpYXRlIGxvY2tzKSB0byBhdm9pZCByYWNpbmcKKyAqIHdpdGggYW5vdGhlciBsaXN0LW11dGF0aW9uIHByaW1pdGl2ZSwgc3VjaCBhcyBobGlzdF9hZGRfaGVhZF9yY3UoKQorICogb3IgaGxpc3RfZGVsX3JjdSgpLCBydW5uaW5nIG9uIHRoaXMgc2FtZSBsaXN0LgorICogSG93ZXZlciwgaXQgaXMgcGVyZmVjdGx5IGxlZ2FsIHRvIHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC10cmF2ZXJzYWwgcHJpbWl0aXZlcywgc3VjaCBhcworICogaGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KCksIHVzZWQgdG8gcHJldmVudCBtZW1vcnktY29uc2lzdGVuY3kKKyAqIHByb2JsZW1zIG9uIEFscGhhIENQVXMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBobGlzdF9hZGRfYWZ0ZXJfcmN1KHN0cnVjdCBobGlzdF9ub2RlICpwcmV2LAorCQkJCSAgICAgICBzdHJ1Y3QgaGxpc3Rfbm9kZSAqbikKK3sKKwluLT5uZXh0ID0gcHJldi0+bmV4dDsKKwluLT5wcHJldiA9ICZwcmV2LT5uZXh0OworCXJjdV9hc3NpZ25fcG9pbnRlcihwcmV2LT5uZXh0LCBuKTsKKwlpZiAobi0+bmV4dCkKKwkJbi0+bmV4dC0+cHByZXYgPSAmbi0+bmV4dDsKK30KKworLyoqCisgKiBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UgLSBpdGVyYXRlIG92ZXIgcmN1IGxpc3Qgb2YgZ2l2ZW4gdHlwZQorICogQHRwb3M6CXRoZSB0eXBlICogdG8gdXNlIGFzIGEgbG9vcCBjdXJzb3IuCisgKiBAcG9zOgl0aGUgJnN0cnVjdCBobGlzdF9ub2RlIHRvIHVzZSBhcyBhIGxvb3AgY3Vyc29yLgorICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCisgKiBAbWVtYmVyOgl0aGUgbmFtZSBvZiB0aGUgaGxpc3Rfbm9kZSB3aXRoaW4gdGhlIHN0cnVjdC4KKyAqCisgKiBUaGlzIGxpc3QtdHJhdmVyc2FsIHByaW1pdGl2ZSBtYXkgc2FmZWx5IHJ1biBjb25jdXJyZW50bHkgd2l0aAorICogdGhlIF9yY3UgbGlzdC1tdXRhdGlvbiBwcmltaXRpdmVzIHN1Y2ggYXMgaGxpc3RfYWRkX2hlYWRfcmN1KCkKKyAqIGFzIGxvbmcgYXMgdGhlIHRyYXZlcnNhbCBpcyBndWFyZGVkIGJ5IHJjdV9yZWFkX2xvY2soKS4KKyAqLworI2RlZmluZSBobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UodHBvcywgcG9zLCBoZWFkLCBtZW1iZXIpCQkgXAorCWZvciAocG9zID0gcmN1X2RlcmVmZXJlbmNlKChoZWFkKS0+Zmlyc3QpOwkJCSBcCisJCXBvcyAmJiAoeyBwcmVmZXRjaChwb3MtPm5leHQpOyAxOyB9KSAmJgkJCSBcCisJCSh7IHRwb3MgPSBobGlzdF9lbnRyeShwb3MsIHR5cGVvZigqdHBvcyksIG1lbWJlcik7IDE7IH0pOyBcCisJCXBvcyA9IHJjdV9kZXJlZmVyZW5jZShwb3MtPm5leHQpKQorCisjZW5kaWYJLyogX19LRVJORUxfXyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmggYi9pbmNsdWRlL2xpbnV4L3JjdXBkYXRlLmgKaW5kZXggZDQyZGJlYy4uZThiNDAzOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yY3VwZGF0ZS5oCisrKyBiL2luY2x1ZGUvbGludXgvcmN1cGRhdGUuaApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KICNpbmNsdWRlIDxsaW51eC9zZXFsb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvbG9ja2RlcC5oPgorI2luY2x1ZGUgPGxpbnV4L2NvbXBsZXRpb24uaD4KIAogLyoqCiAgKiBzdHJ1Y3QgcmN1X2hlYWQgLSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIHVzZSB3aXRoIFJDVQpAQCAtMTY4LDYgKzE2OSwyNyBAQAogCQkocCkgPSAodik7IFwKIAl9KQogCisvKiBJbmZyYXN0cnVjdHVyZSB0byBpbXBsZW1lbnQgdGhlIHN5bmNocm9uaXplXygpIHByaW1pdGl2ZXMuICovCisKK3N0cnVjdCByY3Vfc3luY2hyb25pemUgeworCXN0cnVjdCByY3VfaGVhZCBoZWFkOworCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRpb247Cit9OworCitleHRlcm4gdm9pZCB3YWtlbWVfYWZ0ZXJfcmN1KHN0cnVjdCByY3VfaGVhZCAgKmhlYWQpOworCisjZGVmaW5lIHN5bmNocm9uaXplX3JjdV94eHgobmFtZSwgZnVuYykgXAordm9pZCBuYW1lKHZvaWQpIFwKK3sgXAorCXN0cnVjdCByY3Vfc3luY2hyb25pemUgcmN1OyBcCisJXAorCWluaXRfY29tcGxldGlvbigmcmN1LmNvbXBsZXRpb24pOyBcCisJLyogV2lsbCB3YWtlIG1lIGFmdGVyIFJDVSBmaW5pc2hlZC4gKi8gXAorCWZ1bmMoJnJjdS5oZWFkLCB3YWtlbWVfYWZ0ZXJfcmN1KTsgXAorCS8qIFdhaXQgZm9yIGl0LiAqLyBcCisJd2FpdF9mb3JfY29tcGxldGlvbigmcmN1LmNvbXBsZXRpb24pOyBcCit9CisKIC8qKgogICogc3luY2hyb25pemVfc2NoZWQgLSBibG9jayB1bnRpbCBhbGwgQ1BVcyBoYXZlIGV4aXRlZCBhbnkgbm9uLXByZWVtcHRpdmUKICAqIGtlcm5lbCBjb2RlIHNlcXVlbmNlcy4KQEAgLTIyNCw4ICsyNDYsOCBAQAogLyogRXhwb3J0ZWQgY29tbW9uIGludGVyZmFjZXMgKi8KIGV4dGVybiB2b2lkIHN5bmNocm9uaXplX3JjdSh2b2lkKTsKIGV4dGVybiB2b2lkIHJjdV9iYXJyaWVyKHZvaWQpOwotZXh0ZXJuIGxvbmcgcmN1X2JhdGNoZXNfY29tcGxldGVkKHZvaWQpOwotZXh0ZXJuIGxvbmcgcmN1X2JhdGNoZXNfY29tcGxldGVkX2JoKHZvaWQpOworZXh0ZXJuIHZvaWQgcmN1X2JhcnJpZXJfYmgodm9pZCk7CitleHRlcm4gdm9pZCByY3VfYmFycmllcl9zY2hlZCh2b2lkKTsKIAogLyogSW50ZXJuYWwgdG8ga2VybmVsICovCiBleHRlcm4gdm9pZCByY3VfaW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmN1cHJlZW1wdC5oIGIvaW5jbHVkZS9saW51eC9yY3VwcmVlbXB0LmgKaW5kZXggOGEwNWM3ZS4uZjA0YjY0ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9yY3VwcmVlbXB0LmgKKysrIGIvaW5jbHVkZS9saW51eC9yY3VwcmVlbXB0LmgKQEAgLTQwLDEwICs0MCwzOSBAQAogI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KICNpbmNsdWRlIDxsaW51eC9zZXFsb2NrLmg+CiAKLSNkZWZpbmUgcmN1X3FzY3RyX2luYyhjcHUpCitzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgeworCWludCBkeW50aWNrczsKKwlpbnQgZHludGlja3Nfc25hcDsKKwlpbnQgc2NoZWRfcXM7CisJaW50IHNjaGVkX3FzX3NuYXA7CisJaW50IHNjaGVkX2R5bnRpY2tzX3NuYXA7Cit9OworCitERUNMQVJFX1BFUl9DUFUoc3RydWN0IHJjdV9keW50aWNrX3NjaGVkLCByY3VfZHludGlja19zY2hlZCk7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCByY3VfcXNjdHJfaW5jKGludCBjcHUpCit7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOworCisJcmRzc3AtPnNjaGVkX3FzKys7Cit9CiAjZGVmaW5lIHJjdV9iaF9xc2N0cl9pbmMoY3B1KQogI2RlZmluZSBjYWxsX3JjdV9iaChoZWFkLCByY3UpIGNhbGxfcmN1KGhlYWQsIHJjdSkKIAorLyoqCisgKiBjYWxsX3JjdV9zY2hlZCAtIFF1ZXVlIFJDVSBjYWxsYmFjayBmb3IgaW52b2NhdGlvbiBhZnRlciBzY2hlZCBncmFjZSBwZXJpb2QuCisgKiBAaGVhZDogc3RydWN0dXJlIHRvIGJlIHVzZWQgZm9yIHF1ZXVlaW5nIHRoZSBSQ1UgdXBkYXRlcy4KKyAqIEBmdW5jOiBhY3R1YWwgdXBkYXRlIGZ1bmN0aW9uIHRvIGJlIGludm9rZWQgYWZ0ZXIgdGhlIGdyYWNlIHBlcmlvZAorICoKKyAqIFRoZSB1cGRhdGUgZnVuY3Rpb24gd2lsbCBiZSBpbnZva2VkIHNvbWUgdGltZSBhZnRlciBhIGZ1bGwKKyAqIHN5bmNocm9uaXplX3NjaGVkKCktc3R5bGUgZ3JhY2UgcGVyaW9kIGVsYXBzZXMsIGluIG90aGVyIHdvcmRzIGFmdGVyCisgKiBhbGwgY3VycmVudGx5IGV4ZWN1dGluZyBwcmVlbXB0LWRpc2FibGVkIHNlY3Rpb25zIG9mIGNvZGUgKGluY2x1ZGluZworICogaGFyZGlycSBoYW5kbGVycywgTk1JIGhhbmRsZXJzLCBhbmQgbG9jYWxfaXJxX3NhdmUoKSBibG9ja3MpIGhhdmUKKyAqIGNvbXBsZXRlZC4KKyAqLworZXh0ZXJuIHZvaWQgY2FsbF9yY3Vfc2NoZWQoc3RydWN0IHJjdV9oZWFkICpoZWFkLAorCQkJICAgdm9pZCAoKmZ1bmMpKHN0cnVjdCByY3VfaGVhZCAqaGVhZCkpOworCiBleHRlcm4gdm9pZCBfX3JjdV9yZWFkX2xvY2sodm9pZCkJX19hY3F1aXJlcyhSQ1UpOwogZXh0ZXJuIHZvaWQgX19yY3VfcmVhZF91bmxvY2sodm9pZCkJX19yZWxlYXNlcyhSQ1UpOwogZXh0ZXJuIGludCByY3VfcGVuZGluZyhpbnQgY3B1KTsKQEAgLTU1LDYgKzg0LDcgQEAKIGV4dGVybiB2b2lkIF9fc3luY2hyb25pemVfc2NoZWQodm9pZCk7CiAKIGV4dGVybiB2b2lkIF9fcmN1X2luaXQodm9pZCk7CitleHRlcm4gdm9pZCByY3VfaW5pdF9zY2hlZCh2b2lkKTsKIGV4dGVybiB2b2lkIHJjdV9jaGVja19jYWxsYmFja3MoaW50IGNwdSwgaW50IHVzZXIpOwogZXh0ZXJuIHZvaWQgcmN1X3Jlc3RhcnRfY3B1KGludCBjcHUpOwogZXh0ZXJuIGxvbmcgcmN1X2JhdGNoZXNfY29tcGxldGVkKHZvaWQpOwpAQCAtODEsMjAgKzExMSwyMCBAQAogc3RydWN0IHNvZnRpcnFfYWN0aW9uOwogCiAjaWZkZWYgQ09ORklHX05PX0haCi1ERUNMQVJFX1BFUl9DUFUobG9uZywgZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcik7CitERUNMQVJFX1BFUl9DUFUoc3RydWN0IHJjdV9keW50aWNrX3NjaGVkLCByY3VfZHludGlja19zY2hlZCk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCByY3VfZW50ZXJfbm9oeih2b2lkKQogewogCXNtcF9tYigpOyAvKiBDUFVzIHNlZWluZyArKyBtdXN0IHNlZSBwcmlvciBSQ1UgcmVhZC1zaWRlIGNyaXQgc2VjdHMgKi8KLQlfX2dldF9jcHVfdmFyKGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIpKys7Ci0JV0FSTl9PTihfX2dldF9jcHVfdmFyKGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIpICYgMHgxKTsKKwlfX2dldF9jcHVfdmFyKHJjdV9keW50aWNrX3NjaGVkKS5keW50aWNrcysrOworCVdBUk5fT04oX19nZXRfY3B1X3ZhcihyY3VfZHludGlja19zY2hlZCkuZHludGlja3MgJiAweDEpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcmN1X2V4aXRfbm9oeih2b2lkKQogewotCV9fZ2V0X2NwdV92YXIoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikrKzsKIAlzbXBfbWIoKTsgLyogQ1BVcyBzZWVpbmcgKysgbXVzdCBzZWUgbGF0ZXIgUkNVIHJlYWQtc2lkZSBjcml0IHNlY3RzICovCi0JV0FSTl9PTighKF9fZ2V0X2NwdV92YXIoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlcikgJiAweDEpKTsKKwlfX2dldF9jcHVfdmFyKHJjdV9keW50aWNrX3NjaGVkKS5keW50aWNrcysrOworCVdBUk5fT04oIShfX2dldF9jcHVfdmFyKHJjdV9keW50aWNrX3NjaGVkKS5keW50aWNrcyAmIDB4MSkpOwogfQogCiAjZWxzZSAvKiBDT05GSUdfTk9fSFogKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcmVzdW1lLXRyYWNlLmggYi9pbmNsdWRlL2xpbnV4L3Jlc3VtZS10cmFjZS5oCmluZGV4IGYzZjRmMjguLmM5YmEyZmQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvcmVzdW1lLXRyYWNlLmgKKysrIGIvaW5jbHVkZS9saW51eC9yZXN1bWUtdHJhY2UuaApAQCAtOCw3ICs4LDcgQEAKIAogc3RydWN0IGRldmljZTsKIGV4dGVybiB2b2lkIHNldF90cmFjZV9kZXZpY2Uoc3RydWN0IGRldmljZSAqKTsKLWV4dGVybiB2b2lkIGdlbmVyYXRlX3Jlc3VtZV90cmFjZSh2b2lkICp0cmFjZWRhdGEsIHVuc2lnbmVkIGludCB1c2VyKTsKK2V4dGVybiB2b2lkIGdlbmVyYXRlX3Jlc3VtZV90cmFjZShjb25zdCB2b2lkICp0cmFjZWRhdGEsIHVuc2lnbmVkIGludCB1c2VyKTsKIAogI2RlZmluZSBUUkFDRV9ERVZJQ0UoZGV2KSBkbyB7IFwKIAlpZiAocG1fdHJhY2VfZW5hYmxlZCkgXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zY2hlZC5oIGIvaW5jbHVkZS9saW51eC9zY2hlZC5oCmluZGV4IGM1ZDNmODQuLjIxMzQ5MTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc2NoZWQuaAorKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkLmgKQEAgLTEzNCw3ICsxMzQsNiBAQAogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfdW5pbnRlcnJ1cHRpYmxlKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfYWN0aXZlKHZvaWQpOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfaW93YWl0KHZvaWQpOwotZXh0ZXJuIHVuc2lnbmVkIGxvbmcgd2VpZ2h0ZWRfY3B1bG9hZChjb25zdCBpbnQgY3B1KTsKIAogc3RydWN0IHNlcV9maWxlOwogc3RydWN0IGNmc19ycTsKQEAgLTI0Niw2ICsyNDUsOCBAQAogZXh0ZXJuIHZvaWQgaW5pdF9pZGxlKHN0cnVjdCB0YXNrX3N0cnVjdCAqaWRsZSwgaW50IGNwdSk7CiBleHRlcm4gdm9pZCBpbml0X2lkbGVfYm9vdHVwX3Rhc2soc3RydWN0IHRhc2tfc3RydWN0ICppZGxlKTsKIAorZXh0ZXJuIGludCBydW5xdWV1ZV9pc19sb2NrZWQodm9pZCk7CisKIGV4dGVybiBjcHVtYXNrX3Qgbm9oel9jcHVfbWFzazsKICNpZiBkZWZpbmVkKENPTkZJR19TTVApICYmIGRlZmluZWQoQ09ORklHX05PX0haKQogZXh0ZXJuIGludCBzZWxlY3Rfbm9oel9sb2FkX2JhbGFuY2VyKGludCBjcHUpOwpAQCAtNzg0LDYgKzc4NSw4IEBACiAJdW5zaWduZWQgaW50IGJhbGFuY2VfaW50ZXJ2YWw7CS8qIGluaXRpYWxpc2UgdG8gMS4gdW5pdHMgaW4gbXMuICovCiAJdW5zaWduZWQgaW50IG5yX2JhbGFuY2VfZmFpbGVkOyAvKiBpbml0aWFsaXNlIHRvIDAgKi8KIAorCXU2NCBsYXN0X3VwZGF0ZTsKKwogI2lmZGVmIENPTkZJR19TQ0hFRFNUQVRTCiAJLyogbG9hZF9iYWxhbmNlKCkgc3RhdHMgKi8KIAl1bnNpZ25lZCBpbnQgbGJfY291bnRbQ1BVX01BWF9JRExFX1RZUEVTXTsKQEAgLTgyMywyMyArODI2LDYgQEAKIAogI2VuZGlmCS8qIENPTkZJR19TTVAgKi8KIAotLyoKLSAqIEEgcnVucXVldWUgbGFkZW4gd2l0aCBhIHNpbmdsZSBuaWNlIDAgdGFzayBzY29yZXMgYSB3ZWlnaHRlZF9jcHVsb2FkIG9mCi0gKiBTQ0hFRF9MT0FEX1NDQUxFLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgMSBpZiBhbnkgY3B1IGlzIGxhZGVuIHdpdGggYQotICogdGFzayBvZiBuaWNlIDAgb3IgZW5vdWdoIGxvd2VyIHByaW9yaXR5IHRhc2tzIHRvIGJyaW5nIHVwIHRoZQotICogd2VpZ2h0ZWRfY3B1bG9hZAotICovCi1zdGF0aWMgaW5saW5lIGludCBhYm92ZV9iYWNrZ3JvdW5kX2xvYWQodm9pZCkKLXsKLQl1bnNpZ25lZCBsb25nIGNwdTsKLQotCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7Ci0JCWlmICh3ZWlnaHRlZF9jcHVsb2FkKGNwdSkgPj0gU0NIRURfTE9BRF9TQ0FMRSkKLQkJCXJldHVybiAxOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogc3RydWN0IGlvX2NvbnRleHQ7CQkJLyogU2VlIGJsa2Rldi5oICovCiAjZGVmaW5lIE5HUk9VUFNfU01BTEwJCTMyCiAjZGVmaW5lIE5HUk9VUFNfUEVSX0JMT0NLCSgodW5zaWduZWQgaW50KShQQUdFX1NJWkUgLyBzaXplb2YoZ2lkX3QpKSkKQEAgLTkyMSw4ICs5MDcsOCBAQAogCXZvaWQgKCpzZXRfY3B1c19hbGxvd2VkKShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCiAJCQkJIGNvbnN0IGNwdW1hc2tfdCAqbmV3bWFzayk7CiAKLQl2b2lkICgqam9pbl9kb21haW4pKHN0cnVjdCBycSAqcnEpOwotCXZvaWQgKCpsZWF2ZV9kb21haW4pKHN0cnVjdCBycSAqcnEpOworCXZvaWQgKCpycV9vbmxpbmUpKHN0cnVjdCBycSAqcnEpOworCXZvaWQgKCpycV9vZmZsaW5lKShzdHJ1Y3QgcnEgKnJxKTsKIAogCXZvaWQgKCpzd2l0Y2hlZF9mcm9tKSAoc3RydWN0IHJxICp0aGlzX3JxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCiAJCQkgICAgICAgaW50IHJ1bm5pbmcpOwpAQCAtMTAzOSw2ICsxMDI1LDcgQEAKICNlbmRpZgogCiAJaW50IHByaW8sIHN0YXRpY19wcmlvLCBub3JtYWxfcHJpbzsKKwl1bnNpZ25lZCBpbnQgcnRfcHJpb3JpdHk7CiAJY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzICpzY2hlZF9jbGFzczsKIAlzdHJ1Y3Qgc2NoZWRfZW50aXR5IHNlOwogCXN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgcnQ7CkBAIC0xMTIyLDcgKzExMDksNiBAQAogCWludCBfX3VzZXIgKnNldF9jaGlsZF90aWQ7CQkvKiBDTE9ORV9DSElMRF9TRVRUSUQgKi8KIAlpbnQgX191c2VyICpjbGVhcl9jaGlsZF90aWQ7CQkvKiBDTE9ORV9DSElMRF9DTEVBUlRJRCAqLwogCi0JdW5zaWduZWQgaW50IHJ0X3ByaW9yaXR5OwogCWNwdXRpbWVfdCB1dGltZSwgc3RpbWUsIHV0aW1lc2NhbGVkLCBzdGltZXNjYWxlZDsKIAljcHV0aW1lX3QgZ3RpbWU7CiAJY3B1dGltZV90IHByZXZfdXRpbWUsIHByZXZfc3RpbWU7CkBAIC0xMTQxLDEyICsxMTI3LDEyIEBACiAJZ2lkX3QgZ2lkLGVnaWQsc2dpZCxmc2dpZDsKIAlzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ3JvdXBfaW5mbzsKIAlrZXJuZWxfY2FwX3QgICBjYXBfZWZmZWN0aXZlLCBjYXBfaW5oZXJpdGFibGUsIGNhcF9wZXJtaXR0ZWQsIGNhcF9ic2V0OwotCXVuc2lnbmVkIHNlY3VyZWJpdHM7CiAJc3RydWN0IHVzZXJfc3RydWN0ICp1c2VyOworCXVuc2lnbmVkIHNlY3VyZWJpdHM7CiAjaWZkZWYgQ09ORklHX0tFWVMKKwl1bnNpZ25lZCBjaGFyIGppdF9rZXlyaW5nOwkvKiBkZWZhdWx0IGtleXJpbmcgdG8gYXR0YWNoIHJlcXVlc3RlZCBrZXlzIHRvICovCiAJc3RydWN0IGtleSAqcmVxdWVzdF9rZXlfYXV0aDsJLyogYXNzdW1lZCByZXF1ZXN0X2tleSBhdXRob3JpdHkgKi8KIAlzdHJ1Y3Qga2V5ICp0aHJlYWRfa2V5cmluZzsJLyoga2V5cmluZyBwcml2YXRlIHRvIHRoaXMgdGhyZWFkICovCi0JdW5zaWduZWQgY2hhciBqaXRfa2V5cmluZzsJLyogZGVmYXVsdCBrZXlyaW5nIHRvIGF0dGFjaCByZXF1ZXN0ZWQga2V5cyB0byAqLwogI2VuZGlmCiAJY2hhciBjb21tW1RBU0tfQ09NTV9MRU5dOyAvKiBleGVjdXRhYmxlIG5hbWUgZXhjbHVkaW5nIHBhdGgKIAkJCQkgICAgIC0gYWNjZXNzIHdpdGggW2dzXWV0X3Rhc2tfY29tbSAod2hpY2ggbG9jawpAQCAtMTIzMyw4ICsxMjE5LDggQEAKICMgZGVmaW5lIE1BWF9MT0NLX0RFUFRIIDQ4VUwKIAl1NjQgY3Vycl9jaGFpbl9rZXk7CiAJaW50IGxvY2tkZXBfZGVwdGg7Ci0Jc3RydWN0IGhlbGRfbG9jayBoZWxkX2xvY2tzW01BWF9MT0NLX0RFUFRIXTsKIAl1bnNpZ25lZCBpbnQgbG9ja2RlcF9yZWN1cnNpb247CisJc3RydWN0IGhlbGRfbG9jayBoZWxkX2xvY2tzW01BWF9MT0NLX0RFUFRIXTsKICNlbmRpZgogCiAvKiBqb3VybmFsbGluZyBmaWxlc3lzdGVtIGluZm8gKi8KQEAgLTEyNjIsMTAgKzEyNDgsNiBAQAogCXU2NCBhY2N0X3ZtX21lbTE7CS8qIGFjY3VtdWxhdGVkIHZpcnR1YWwgbWVtb3J5IHVzYWdlICovCiAJY3B1dGltZV90IGFjY3Rfc3RpbWV4cGQ7Lyogc3RpbWUgc2luY2UgbGFzdCB1cGRhdGUgKi8KICNlbmRpZgotI2lmZGVmIENPTkZJR19OVU1BCi0gIAlzdHJ1Y3QgbWVtcG9saWN5ICptZW1wb2xpY3k7Ci0Jc2hvcnQgaWxfbmV4dDsKLSNlbmRpZgogI2lmZGVmIENPTkZJR19DUFVTRVRTCiAJbm9kZW1hc2tfdCBtZW1zX2FsbG93ZWQ7CiAJaW50IGNwdXNldF9tZW1zX2dlbmVyYXRpb247CkBAIC0xMjg1LDYgKzEyNjcsMTAgQEAKIAlzdHJ1Y3QgbGlzdF9oZWFkIHBpX3N0YXRlX2xpc3Q7CiAJc3RydWN0IGZ1dGV4X3BpX3N0YXRlICpwaV9zdGF0ZV9jYWNoZTsKICNlbmRpZgorI2lmZGVmIENPTkZJR19OVU1BCisJc3RydWN0IG1lbXBvbGljeSAqbWVtcG9saWN5OworCXNob3J0IGlsX25leHQ7CisjZW5kaWYKIAlhdG9taWNfdCBmc19leGNsOwkvKiBob2xkaW5nIGZzIGV4Y2x1c2l2ZSByZXNvdXJjZXMgKi8KIAlzdHJ1Y3QgcmN1X2hlYWQgcmN1OwogCkBAIC0xNTA0LDYgKzE0OTAsNyBAQAogI2RlZmluZSBQRl9TV0FQV1JJVEUJMHgwMDgwMDAwMAkvKiBBbGxvd2VkIHRvIHdyaXRlIHRvIHN3YXAgKi8KICNkZWZpbmUgUEZfU1BSRUFEX1BBR0UJMHgwMTAwMDAwMAkvKiBTcHJlYWQgcGFnZSBjYWNoZSBvdmVyIGNwdXNldCAqLwogI2RlZmluZSBQRl9TUFJFQURfU0xBQgkweDAyMDAwMDAwCS8qIFNwcmVhZCBzb21lIHNsYWIgY2FjaGVzIG92ZXIgY3B1c2V0ICovCisjZGVmaW5lIFBGX1RIUkVBRF9CT1VORAkweDA0MDAwMDAwCS8qIFRocmVhZCBib3VuZCB0byBzcGVjaWZpYyBjcHUgKi8KICNkZWZpbmUgUEZfTUVNUE9MSUNZCTB4MTAwMDAwMDAJLyogTm9uLWRlZmF1bHQgTlVNQSBtZW1wb2xpY3kgKi8KICNkZWZpbmUgUEZfTVVURVhfVEVTVEVSCTB4MjAwMDAwMDAJLyogVGhyZWFkIGJlbG9uZ3MgdG8gdGhlIHJ0IG11dGV4IHRlc3RlciAqLwogI2RlZmluZSBQRl9GUkVFWkVSX1NLSVAJMHg0MDAwMDAwMAkvKiBGcmVlemVyIHNob3VsZCBub3QgY291bnQgaXQgYXMgZnJlZXplYWJsZSAqLwpAQCAtMTU3MywxMyArMTU2MCwyOCBAQAogc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2Nsb2NrX2lkbGVfd2FrZXVwX2V2ZW50KHU2NCBkZWx0YV9ucykKIHsKIH0KLSNlbHNlCisKKyNpZmRlZiBDT05GSUdfTk9fSFoKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9jbG9ja190aWNrX3N0b3AoaW50IGNwdSkKK3sKK30KKworc3RhdGljIGlubGluZSB2b2lkIHNjaGVkX2Nsb2NrX3RpY2tfc3RhcnQoaW50IGNwdSkKK3sKK30KKyNlbmRpZgorCisjZWxzZSAvKiBDT05GSUdfSEFWRV9VTlNUQUJMRV9TQ0hFRF9DTE9DSyAqLwogZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfaW5pdCh2b2lkKTsKIGV4dGVybiB1NjQgc2NoZWRfY2xvY2tfY3B1KGludCBjcHUpOwogZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfdGljayh2b2lkKTsKIGV4dGVybiB2b2lkIHNjaGVkX2Nsb2NrX2lkbGVfc2xlZXBfZXZlbnQodm9pZCk7CiBleHRlcm4gdm9pZCBzY2hlZF9jbG9ja19pZGxlX3dha2V1cF9ldmVudCh1NjQgZGVsdGFfbnMpOworI2lmZGVmIENPTkZJR19OT19IWgorZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfdGlja19zdG9wKGludCBjcHUpOworZXh0ZXJuIHZvaWQgc2NoZWRfY2xvY2tfdGlja19zdGFydChpbnQgY3B1KTsKICNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19IQVZFX1VOU1RBQkxFX1NDSEVEX0NMT0NLICovCiAKIC8qCiAgKiBGb3Iga2VybmVsLWludGVybmFsIHVzZTogaGlnaC1zcGVlZCAoYnV0IHNsaWdodGx5IGluY29ycmVjdCkgcGVyLWNwdQpAQCAtMTYyMiw2ICsxNjI0LDcgQEAKIGV4dGVybiB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX2ZlYXR1cmVzOwogZXh0ZXJuIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3Q7CiBleHRlcm4gdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9ucl9taWdyYXRlOworZXh0ZXJuIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfc2hhcmVzX3JhdGVsaW1pdDsKIAogaW50IHNjaGVkX25yX2xhdGVuY3lfaGFuZGxlcihzdHJ1Y3QgY3RsX3RhYmxlICp0YWJsZSwgaW50IHdyaXRlLAogCQlzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5ndGgsCkBAIC0xNjU1LDYgKzE2NTgsOCBAQAogZXh0ZXJuIGludCB0YXNrX2N1cnIoY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICpwKTsKIGV4dGVybiBpbnQgaWRsZV9jcHUoaW50IGNwdSk7CiBleHRlcm4gaW50IHNjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKiwgaW50LCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKik7CitleHRlcm4gaW50IHNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqLCBpbnQsCisJCQkJICAgICAgc3RydWN0IHNjaGVkX3BhcmFtICopOwogZXh0ZXJuIHN0cnVjdCB0YXNrX3N0cnVjdCAqaWRsZV90YXNrKGludCBjcHUpOwogZXh0ZXJuIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3Vycl90YXNrKGludCBjcHUpOwogZXh0ZXJuIHZvaWQgc2V0X2N1cnJfdGFzayhpbnQgY3B1LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApOwpAQCAtMjEzMSw2ICsyMTM2LDE4IEBACiB9CiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19UUkFDSU5HCitleHRlcm4gdm9pZAorX190cmFjZV9zcGVjaWFsKHZvaWQgKl9fdHIsIHZvaWQgKl9fZGF0YSwKKwkJdW5zaWduZWQgbG9uZyBhcmcxLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMyk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkCitfX3RyYWNlX3NwZWNpYWwodm9pZCAqX190ciwgdm9pZCAqX19kYXRhLAorCQl1bnNpZ25lZCBsb25nIGFyZzEsIHVuc2lnbmVkIGxvbmcgYXJnMiwgdW5zaWduZWQgbG9uZyBhcmczKQoreworfQorI2VuZGlmCisKIGV4dGVybiBsb25nIHNjaGVkX3NldGFmZmluaXR5KHBpZF90IHBpZCwgY29uc3QgY3B1bWFza190ICpuZXdfbWFzayk7CiBleHRlcm4gbG9uZyBzY2hlZF9nZXRhZmZpbml0eShwaWRfdCBwaWQsIGNwdW1hc2tfdCAqbWFzayk7CiAKQEAgLTIyMjUsNiArMjI0Miw4IEBACiB9CiAjZW5kaWYgLyogQ09ORklHX01NX09XTkVSICovCiAKKyNkZWZpbmUgVEFTS19TVEFURV9UT19DSEFSX1NUUiAiUlNEVHRaWCIKKwogI2VuZGlmIC8qIF9fS0VSTkVMX18gKi8KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmggYi9pbmNsdWRlL2xpbnV4L3NlY3VyaXR5LmgKaW5kZXggNTA3MzdjNy4uMzFjODg1MSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zZWN1cml0eS5oCisrKyBiL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaApAQCAtNDYsNyArNDYsOCBAQAogICovCiBleHRlcm4gaW50IGNhcF9jYXBhYmxlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY2FwKTsKIGV4dGVybiBpbnQgY2FwX3NldHRpbWUoc3RydWN0IHRpbWVzcGVjICp0cywgc3RydWN0IHRpbWV6b25lICp0eik7Ci1leHRlcm4gaW50IGNhcF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpOworZXh0ZXJuIGludCBjYXBfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkgICAgICB1bnNpZ25lZCBpbnQgbW9kZSk7CiBleHRlcm4gaW50IGNhcF9jYXBnZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGtlcm5lbF9jYXBfdCAqZWZmZWN0aXZlLCBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLCBrZXJuZWxfY2FwX3QgKnBlcm1pdHRlZCk7CiBleHRlcm4gaW50IGNhcF9jYXBzZXRfY2hlY2soc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGtlcm5lbF9jYXBfdCAqZWZmZWN0aXZlLCBrZXJuZWxfY2FwX3QgKmluaGVyaXRhYmxlLCBrZXJuZWxfY2FwX3QgKnBlcm1pdHRlZCk7CiBleHRlcm4gdm9pZCBjYXBfY2Fwc2V0X3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwga2VybmVsX2NhcF90ICplZmZlY3RpdmUsIGtlcm5lbF9jYXBfdCAqaW5oZXJpdGFibGUsIGtlcm5lbF9jYXBfdCAqcGVybWl0dGVkKTsKQEAgLTc5LDYgKzgwLDcgQEAKIHN0cnVjdCB4ZnJtX3BvbGljeTsKIHN0cnVjdCB4ZnJtX3N0YXRlOwogc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4Oworc3RydWN0IHNlcV9maWxlOwogCiBleHRlcm4gaW50IGNhcF9uZXRsaW5rX3NlbmQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsKIGV4dGVybiBpbnQgY2FwX25ldGxpbmtfcmVjdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBpbnQgY2FwKTsKQEAgLTI4OSwxMCArMjkxLDYgQEAKICAqCVVwZGF0ZSBtb2R1bGUgc3RhdGUgYWZ0ZXIgYSBzdWNjZXNzZnVsIHBpdm90LgogICoJQG9sZF9wYXRoIGNvbnRhaW5zIHRoZSBwYXRoIGZvciB0aGUgb2xkIHJvb3QuCiAgKglAbmV3X3BhdGggY29udGFpbnMgdGhlIHBhdGggZm9yIHRoZSBuZXcgcm9vdC4KLSAqIEBzYl9nZXRfbW50X29wdHM6Ci0gKglHZXQgdGhlIHNlY3VyaXR5IHJlbGV2YW50IG1vdW50IG9wdGlvbnMgdXNlZCBmb3IgYSBzdXBlcmJsb2NrCi0gKglAc2IgdGhlIHN1cGVyYmxvY2sgdG8gZ2V0IHNlY3VyaXR5IG1vdW50IG9wdGlvbnMgZnJvbQotICoJQG9wdHMgYmluYXJ5IGRhdGEgc3RydWN0dXJlIGNvbnRhaW5pbmcgYWxsIGxzbSBtb3VudCBkYXRhCiAgKiBAc2Jfc2V0X21udF9vcHRzOgogICoJU2V0IHRoZSBzZWN1cml0eSByZWxldmFudCBtb3VudCBvcHRpb25zIHVzZWQgZm9yIGEgc3VwZXJibG9jawogICoJQHNiIHRoZSBzdXBlcmJsb2NrIHRvIHNldCBzZWN1cml0eSBtb3VudCBvcHRpb25zIGZvcgpAQCAtMTE3MCw2ICsxMTY4LDcgQEAKICAqCWF0dHJpYnV0ZXMgd291bGQgYmUgY2hhbmdlZCBieSB0aGUgZXhlY3ZlLgogICoJQHBhcmVudCBjb250YWlucyB0aGUgdGFza19zdHJ1Y3Qgc3RydWN0dXJlIGZvciBwYXJlbnQgcHJvY2Vzcy4KICAqCUBjaGlsZCBjb250YWlucyB0aGUgdGFza19zdHJ1Y3Qgc3RydWN0dXJlIGZvciBjaGlsZCBwcm9jZXNzLgorICoJQG1vZGUgY29udGFpbnMgdGhlIFBUUkFDRV9NT0RFIGZsYWdzIGluZGljYXRpbmcgdGhlIGZvcm0gb2YgYWNjZXNzLgogICoJUmV0dXJuIDAgaWYgcGVybWlzc2lvbiBpcyBncmFudGVkLgogICogQGNhcGdldDoKICAqCUdldCB0aGUgQGVmZmVjdGl2ZSwgQGluaGVyaXRhYmxlLCBhbmQgQHBlcm1pdHRlZCBjYXBhYmlsaXR5IHNldHMgZm9yCkBAIC0xMjQwLDExICsxMjM5LDYgQEAKICAqCUBwYWdlcyBjb250YWlucyB0aGUgbnVtYmVyIG9mIHBhZ2VzLgogICoJUmV0dXJuIDAgaWYgcGVybWlzc2lvbiBpcyBncmFudGVkLgogICoKLSAqIEByZWdpc3Rlcl9zZWN1cml0eToKLSAqCWFsbG93IG1vZHVsZSBzdGFja2luZy4KLSAqCUBuYW1lIGNvbnRhaW5zIHRoZSBuYW1lIG9mIHRoZSBzZWN1cml0eSBtb2R1bGUgYmVpbmcgc3RhY2tlZC4KLSAqCUBvcHMgY29udGFpbnMgYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBvZiB0aGUgbW9kdWxlIHRvIHN0YWNrLgotICoKICAqIEBzZWNpZF90b19zZWNjdHg6CiAgKglDb252ZXJ0IHNlY2lkIHRvIHNlY3VyaXR5IGNvbnRleHQuCiAgKglAc2VjaWQgY29udGFpbnMgdGhlIHNlY3VyaXR5IElELgpAQCAtMTI5NSw3ICsxMjg5LDggQEAKIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIHsKIAljaGFyIG5hbWVbU0VDVVJJVFlfTkFNRV9NQVggKyAxXTsKIAotCWludCAoKnB0cmFjZSkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKTsKKwlpbnQgKCpwdHJhY2UpIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCwKKwkJICAgICAgIHVuc2lnbmVkIGludCBtb2RlKTsKIAlpbnQgKCpjYXBnZXQpIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKIAkJICAgICAgIGtlcm5lbF9jYXBfdCAqZWZmZWN0aXZlLAogCQkgICAgICAga2VybmVsX2NhcF90ICppbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICpwZXJtaXR0ZWQpOwpAQCAtMTMyOCw2ICsxMzIzLDcgQEAKIAl2b2lkICgqc2JfZnJlZV9zZWN1cml0eSkgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOwogCWludCAoKnNiX2NvcHlfZGF0YSkgKGNoYXIgKm9yaWcsIGNoYXIgKmNvcHkpOwogCWludCAoKnNiX2tlcm5fbW91bnQpIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhKTsKKwlpbnQgKCpzYl9zaG93X29wdGlvbnMpIChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOwogCWludCAoKnNiX3N0YXRmcykgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7CiAJaW50ICgqc2JfbW91bnQpIChjaGFyICpkZXZfbmFtZSwgc3RydWN0IHBhdGggKnBhdGgsCiAJCQkgY2hhciAqdHlwZSwgdW5zaWduZWQgbG9uZyBmbGFncywgdm9pZCAqZGF0YSk7CkBAIC0xMzQzLDggKzEzMzksNiBAQAogCQkJICAgICBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpOwogCXZvaWQgKCpzYl9wb3N0X3Bpdm90cm9vdCkgKHN0cnVjdCBwYXRoICpvbGRfcGF0aCwKIAkJCQkgICBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpOwotCWludCAoKnNiX2dldF9tbnRfb3B0cykgKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKTsKIAlpbnQgKCpzYl9zZXRfbW50X29wdHMpIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAogCQkJCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cyk7CiAJdm9pZCAoKnNiX2Nsb25lX21udF9vcHRzKSAoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpvbGRzYiwKQEAgLTE0NzIsMTAgKzE0NjYsNiBAQAogCWludCAoKm5ldGxpbmtfc2VuZCkgKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYik7CiAJaW50ICgqbmV0bGlua19yZWN2KSAoc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGNhcCk7CiAKLQkvKiBhbGxvdyBtb2R1bGUgc3RhY2tpbmcgKi8KLQlpbnQgKCpyZWdpc3Rlcl9zZWN1cml0eSkgKGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKLQogCXZvaWQgKCpkX2luc3RhbnRpYXRlKSAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKTsKIAogCWludCAoKmdldHByb2NhdHRyKSAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCBjaGFyICoqdmFsdWUpOwpAQCAtMTU2NSw3ICsxNTU1LDYgQEAKIGV4dGVybiBpbnQgc2VjdXJpdHlfaW5pdCh2b2lkKTsKIGV4dGVybiBpbnQgc2VjdXJpdHlfbW9kdWxlX2VuYWJsZShzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKTsKIGV4dGVybiBpbnQgcmVnaXN0ZXJfc2VjdXJpdHkoc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcyk7Ci1leHRlcm4gaW50IG1vZF9yZWdfc2VjdXJpdHkoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcyk7CiBleHRlcm4gc3RydWN0IGRlbnRyeSAqc2VjdXJpdHlmc19jcmVhdGVfZmlsZShjb25zdCBjaGFyICpuYW1lLCBtb2RlX3QgbW9kZSwKIAkJCQkJICAgICBzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIHZvaWQgKmRhdGEsCiAJCQkJCSAgICAgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqZm9wcyk7CkBAIC0xNTczLDcgKzE1NjIsOCBAQAogZXh0ZXJuIHZvaWQgc2VjdXJpdHlmc19yZW1vdmUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsKIAogLyogU2VjdXJpdHkgb3BlcmF0aW9ucyAqLwotaW50IHNlY3VyaXR5X3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnBhcmVudCwgc3RydWN0IHRhc2tfc3RydWN0ICpjaGlsZCk7CitpbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkgICAgdW5zaWduZWQgaW50IG1vZGUpOwogaW50IHNlY3VyaXR5X2NhcGdldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKIAkJICAgIGtlcm5lbF9jYXBfdCAqZWZmZWN0aXZlLAogCQkgICAga2VybmVsX2NhcF90ICppbmhlcml0YWJsZSwKQEAgLTE2MDYsNiArMTU5Niw3IEBACiB2b2lkIHNlY3VyaXR5X3NiX2ZyZWUoc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiBpbnQgc2VjdXJpdHlfc2JfY29weV9kYXRhKGNoYXIgKm9yaWcsIGNoYXIgKmNvcHkpOwogaW50IHNlY3VyaXR5X3NiX2tlcm5fbW91bnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSk7CitpbnQgc2VjdXJpdHlfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYik7CiBpbnQgc2VjdXJpdHlfc2Jfc3RhdGZzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7CiBpbnQgc2VjdXJpdHlfc2JfbW91bnQoY2hhciAqZGV2X25hbWUsIHN0cnVjdCBwYXRoICpwYXRoLAogCQkgICAgICBjaGFyICp0eXBlLCB1bnNpZ25lZCBsb25nIGZsYWdzLCB2b2lkICpkYXRhKTsKQEAgLTE2MTcsOCArMTYwOCw2IEBACiB2b2lkIHNlY3VyaXR5X3NiX3Bvc3RfYWRkbW91bnQoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICptb3VudHBvaW50KTsKIGludCBzZWN1cml0eV9zYl9waXZvdHJvb3Qoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpOwogdm9pZCBzZWN1cml0eV9zYl9wb3N0X3Bpdm90cm9vdChzdHJ1Y3QgcGF0aCAqb2xkX3BhdGgsIHN0cnVjdCBwYXRoICpuZXdfcGF0aCk7Ci1pbnQgc2VjdXJpdHlfc2JfZ2V0X21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKTsKIGludCBzZWN1cml0eV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKTsKIHZvaWQgc2VjdXJpdHlfc2JfY2xvbmVfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpvbGRzYiwKIAkJCQlzdHJ1Y3Qgc3VwZXJfYmxvY2sgKm5ld3NiKTsKQEAgLTE3NTUsOSArMTc0NCwxMSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCitzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsCisJCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkJCSAgdW5zaWduZWQgaW50IG1vZGUpCiB7Ci0JcmV0dXJuIGNhcF9wdHJhY2UocGFyZW50LCBjaGlsZCk7CisJcmV0dXJuIGNhcF9wdHJhY2UocGFyZW50LCBjaGlsZCwgbW9kZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X2NhcGdldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKQEAgLTE4ODEsNiArMTg3MiwxMiBAQAogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLAorCQkJCQkgICBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9zYl9zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXJldHVybiAwOwpAQCAtMTkyNywxMiArMTkyNCw2IEBACiBzdGF0aWMgaW5saW5lIHZvaWQgc2VjdXJpdHlfc2JfcG9zdF9waXZvdHJvb3Qoc3RydWN0IHBhdGggKm9sZF9wYXRoLAogCQkJCQkgICAgICBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCiB7IH0KLXN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X3NiX2dldF9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCQkgICBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0Jc2VjdXJpdHlfaW5pdF9tbnRfb3B0cyhvcHRzKTsKLQlyZXR1cm4gMDsKLX0KIAogc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfc2Jfc2V0X21udF9vcHRzKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJCQkJCSAgIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvc21wLmggYi9pbmNsdWRlL2xpbnV4L3NtcC5oCmluZGV4IDU1MjMyY2MuLjQ4MjYyZjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc21wLmgKKysrIGIvaW5jbHVkZS9saW51eC9zbXAuaApAQCAtNyw5ICs3LDE4IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvbGlzdC5oPgorI2luY2x1ZGUgPGxpbnV4L2NwdW1hc2suaD4KIAogZXh0ZXJuIHZvaWQgY3B1X2lkbGUodm9pZCk7CiAKK3N0cnVjdCBjYWxsX3NpbmdsZV9kYXRhIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKTsKKwl2b2lkICppbmZvOworCXVuc2lnbmVkIGludCBmbGFnczsKK307CisKICNpZmRlZiBDT05GSUdfU01QCiAKICNpbmNsdWRlIDxsaW51eC9wcmVlbXB0Lmg+CkBAIC01MiwxNSArNjEsMzQgQEAKIC8qCiAgKiBDYWxsIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIHByb2Nlc3NvcnMKICAqLwotaW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KTsKLQoraW50IHNtcF9jYWxsX2Z1bmN0aW9uKHZvaWQoKmZ1bmMpKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgd2FpdCk7CitpbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCgqZnVuYykodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCisJCQkJaW50IHdhaXQpOwogaW50IHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1aWQsIHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sCi0JCQkJaW50IHJldHJ5LCBpbnQgd2FpdCk7CisJCQkJaW50IHdhaXQpOwordm9pZCBfX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShpbnQgY3B1aWQsIHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhKTsKKworLyoKKyAqIEdlbmVyaWMgYW5kIGFyY2ggaGVscGVycworICovCisjaWZkZWYgQ09ORklHX1VTRV9HRU5FUklDX1NNUF9IRUxQRVJTCit2b2lkIGdlbmVyaWNfc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCh2b2lkKTsKK3ZvaWQgZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCk7Cit2b2lkIGluaXRfY2FsbF9zaW5nbGVfZGF0YSh2b2lkKTsKK3ZvaWQgaXBpX2NhbGxfbG9jayh2b2lkKTsKK3ZvaWQgaXBpX2NhbGxfdW5sb2NrKHZvaWQpOwordm9pZCBpcGlfY2FsbF9sb2NrX2lycSh2b2lkKTsKK3ZvaWQgaXBpX2NhbGxfdW5sb2NrX2lycSh2b2lkKTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jYWxsX3NpbmdsZV9kYXRhKHZvaWQpCit7Cit9CisjZW5kaWYKIAogLyoKICAqIENhbGwgYSBmdW5jdGlvbiBvbiBhbGwgcHJvY2Vzc29ycwogICovCi1pbnQgb25fZWFjaF9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHJldHJ5LCBpbnQgd2FpdCk7CitpbnQgb25fZWFjaF9jcHUodm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpOwogCiAjZGVmaW5lIE1TR19BTExfQlVUX1NFTEYJMHg4MDAwCS8qIEFzc3VtZSA8MzI3NjggQ1BVJ3MgKi8KICNkZWZpbmUgTVNHX0FMTAkJCTB4ODAwMQpAQCAtOTAsOSArMTE4LDkgQEAKIHsKIAlyZXR1cm4gMDsKIH0KLSNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgcmV0cnksIHdhaXQpIFwKKyNkZWZpbmUgc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgd2FpdCkgXAogCQkJKHVwX3NtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8pKQotI2RlZmluZSBvbl9lYWNoX2NwdShmdW5jLGluZm8scmV0cnksd2FpdCkJXAorI2RlZmluZSBvbl9lYWNoX2NwdShmdW5jLGluZm8sd2FpdCkJCVwKIAkoewkJCQkJXAogCQlsb2NhbF9pcnFfZGlzYWJsZSgpOwkJXAogCQlmdW5jKGluZm8pOwkJCVwKQEAgLTEwMiw3ICsxMzAsNyBAQAogc3RhdGljIGlubGluZSB2b2lkIHNtcF9zZW5kX3Jlc2NoZWR1bGUoaW50IGNwdSkgeyB9CiAjZGVmaW5lIG51bV9ib290aW5nX2NwdXMoKQkJCTEKICNkZWZpbmUgc21wX3ByZXBhcmVfYm9vdF9jcHUoKQkJCWRvIHt9IHdoaWxlICgwKQotI2RlZmluZSBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1aWQsIGZ1bmMsIGluZm8sIHJldHJ5LCB3YWl0KSBcCisjZGVmaW5lIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHVpZCwgZnVuYywgaW5mbywgd2FpdCkgXAogKHsgXAogCVdBUk5fT04oY3B1aWQgIT0gMCk7CVwKIAlsb2NhbF9pcnFfZGlzYWJsZSgpOwlcCkBAIC0xMTIsNyArMTQwLDkgQEAKIH0pCiAjZGVmaW5lIHNtcF9jYWxsX2Z1bmN0aW9uX21hc2sobWFzaywgZnVuYywgaW5mbywgd2FpdCkgXAogCQkJKHVwX3NtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8pKQotCitzdGF0aWMgaW5saW5lIHZvaWQgaW5pdF9jYWxsX3NpbmdsZV9kYXRhKHZvaWQpCit7Cit9CiAjZW5kaWYgLyogIVNNUCAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zbXBfbG9jay5oIGIvaW5jbHVkZS9saW51eC9zbXBfbG9jay5oCmluZGV4IGFhYjNhNGMuLjgxM2JlNTkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvc21wX2xvY2suaAorKysgYi9pbmNsdWRlL2xpbnV4L3NtcF9sb2NrLmgKQEAgLTI3LDExICsyNywyNCBAQAogZXh0ZXJuIHZvaWQgX19sb2NrZnVuYyBsb2NrX2tlcm5lbCh2b2lkKQlfX2FjcXVpcmVzKGtlcm5lbF9sb2NrKTsKIGV4dGVybiB2b2lkIF9fbG9ja2Z1bmMgdW5sb2NrX2tlcm5lbCh2b2lkKQlfX3JlbGVhc2VzKGtlcm5lbF9sb2NrKTsKIAorLyoKKyAqIFZhcmlvdXMgbGVnYWN5IGRyaXZlcnMgZG9uJ3QgcmVhbGx5IG5lZWQgdGhlIEJLTCBpbiBhIHNwZWNpZmljCisgKiBmdW5jdGlvbiwgYnV0IHRoZXkgKmRvKiBuZWVkIHRvIGtub3cgdGhhdCB0aGUgQktMIGJlY2FtZSBhdmFpbGFibGUuCisgKiBUaGlzIGZ1bmN0aW9uIGp1c3QgYXZvaWRzIHdyYXBwaW5nIGEgYnVuY2ggb2YgbG9jay91bmxvY2sgcGFpcnMKKyAqIGFyb3VuZCBjb2RlIHdoaWNoIGRvZXNuJ3QgcmVhbGx5IG5lZWQgaXQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBjeWNsZV9rZXJuZWxfbG9jayh2b2lkKQoreworCWxvY2tfa2VybmVsKCk7CisJdW5sb2NrX2tlcm5lbCgpOworfQorCiAjZWxzZQogCiAjZGVmaW5lIGxvY2tfa2VybmVsKCkJCQkJZG8geyB9IHdoaWxlKDApCiAjZGVmaW5lIHVubG9ja19rZXJuZWwoKQkJCQlkbyB7IH0gd2hpbGUoMCkKICNkZWZpbmUgcmVsZWFzZV9rZXJuZWxfbG9jayh0YXNrKQkJZG8geyB9IHdoaWxlKDApCisjZGVmaW5lIGN5Y2xlX2tlcm5lbF9sb2NrKCkJCQlkbyB7IH0gd2hpbGUoMCkKICNkZWZpbmUgcmVhY3F1aXJlX2tlcm5lbF9sb2NrKHRhc2spCQkwCiAjZGVmaW5lIGtlcm5lbF9sb2NrZWQoKQkJCQkxCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvdG9wb2xvZ3kuaCBiL2luY2x1ZGUvbGludXgvdG9wb2xvZ3kuaAppbmRleCAyNGYzZDIyLi4yMTU4ZmMwIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmgKKysrIGIvaW5jbHVkZS9saW51eC90b3BvbG9neS5oCkBAIC0xNzksNCArMTc5LDE3IEBACiAjZW5kaWYKICNlbmRpZiAvKiBDT05GSUdfTlVNQSAqLwogCisjaWZuZGVmIHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQKKyNkZWZpbmUgdG9wb2xvZ3lfcGh5c2ljYWxfcGFja2FnZV9pZChjcHUpCSgodm9pZCkoY3B1KSwgLTEpCisjZW5kaWYKKyNpZm5kZWYgdG9wb2xvZ3lfY29yZV9pZAorI2RlZmluZSB0b3BvbG9neV9jb3JlX2lkKGNwdSkJCQkoKHZvaWQpKGNwdSksIDApCisjZW5kaWYKKyNpZm5kZWYgdG9wb2xvZ3lfdGhyZWFkX3NpYmxpbmdzCisjZGVmaW5lIHRvcG9sb2d5X3RocmVhZF9zaWJsaW5ncyhjcHUpCQljcHVtYXNrX29mX2NwdShjcHUpCisjZW5kaWYKKyNpZm5kZWYgdG9wb2xvZ3lfY29yZV9zaWJsaW5ncworI2RlZmluZSB0b3BvbG9neV9jb3JlX3NpYmxpbmdzKGNwdSkJCWNwdW1hc2tfb2ZfY3B1KGNwdSkKKyNlbmRpZgorCiAjZW5kaWYgLyogX0xJTlVYX1RPUE9MT0dZX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvd3JpdGViYWNrLmggYi9pbmNsdWRlL2xpbnV4L3dyaXRlYmFjay5oCmluZGV4IGY0NjI0MzkuLjEyYjE1YzUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvd3JpdGViYWNrLmgKKysrIGIvaW5jbHVkZS9saW51eC93cml0ZWJhY2suaApAQCAtNjMsNiArNjMsNyBAQAogCXVuc2lnbmVkIGZvcl93cml0ZXBhZ2VzOjE7CS8qIFRoaXMgaXMgYSB3cml0ZXBhZ2VzKCkgY2FsbCAqLwogCXVuc2lnbmVkIHJhbmdlX2N5Y2xpYzoxOwkvKiByYW5nZV9zdGFydCBpcyBjeWNsaWMgKi8KIAl1bnNpZ25lZCBtb3JlX2lvOjE7CQkvKiBtb3JlIGlvIHRvIGJlIGRpc3BhdGNoZWQgKi8KKwl1bnNpZ25lZCByYW5nZV9jb250OjE7CiB9OwogCiAvKgpAQCAtMTA1LDYgKzEwNiw4IEBACiBleHRlcm4gaW50IGJsb2NrX2R1bXA7CiBleHRlcm4gaW50IGxhcHRvcF9tb2RlOwogCitleHRlcm4gdW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKTsKKwogZXh0ZXJuIGludCBkaXJ0eV9yYXRpb19oYW5kbGVyKHN0cnVjdCBjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCiAJCXN0cnVjdCBmaWxlICpmaWxwLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QgKmxlbnAsCiAJCWxvZmZfdCAqcHBvcyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3hmcm0uaCBiL2luY2x1ZGUvbGludXgveGZybS5oCmluZGV4IDJjYTZiYWUuLmZiMGMyMTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgveGZybS5oCisrKyBiL2luY2x1ZGUvbGludXgveGZybS5oCkBAIC0zMzksNiArMzM5LDcgQEAKICNkZWZpbmUgWEZSTV9TVEFURV9OT1BNVFVESVNDCTQKICNkZWZpbmUgWEZSTV9TVEFURV9XSUxEUkVDVgk4CiAjZGVmaW5lIFhGUk1fU1RBVEVfSUNNUAkJMTYKKyNkZWZpbmUgWEZSTV9TVEFURV9BRl9VTlNQRUMJMzIKIH07CiAKIHN0cnVjdCB4ZnJtX3VzZXJzYV9pZCB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9idWxrbWVtLmggYi9pbmNsdWRlL3BjbWNpYS9idWxrbWVtLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiYzc0NzIuLjAwMDAwMDAKLS0tIGEvaW5jbHVkZS9wY21jaWEvYnVsa21lbS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotLyoKLSAqIGJ1bGttZW0uaCAtLSBEZWZpbml0aW9ucyBmb3IgYnVsayBtZW1vcnkgc2VydmljZXMKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoZSBpbml0aWFsIGRldmVsb3BlciBvZiB0aGUgb3JpZ2luYWwgY29kZSBpcyBEYXZpZCBBLiBIaW5kcwotICogPGRhaGluZHNAdXNlcnMuc291cmNlZm9yZ2UubmV0Pi4gIFBvcnRpb25zIGNyZWF0ZWQgYnkgRGF2aWQgQS4gSGluZHMKLSAqIGFyZSBDb3B5cmlnaHQgKEMpIDE5OTkgRGF2aWQgQS4gSGluZHMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIChDKSAxOTk5CQlEYXZpZCBBLiBIaW5kcwotICovCi0KLSNpZm5kZWYgX0xJTlVYX0JVTEtNRU1fSAotI2RlZmluZSBfTElOVVhfQlVMS01FTV9ICi0KLS8qIEZvciBHZXRGaXJzdFJlZ2lvbiBhbmQgR2V0TmV4dFJlZ2lvbiAqLwotdHlwZWRlZiBzdHJ1Y3QgcmVnaW9uX2luZm9fdCB7Ci0gICAgdV9pbnQJCUF0dHJpYnV0ZXM7Ci0gICAgdV9pbnQJCUNhcmRPZmZzZXQ7Ci0gICAgdV9pbnQJCVJlZ2lvblNpemU7Ci0gICAgdV9pbnQJCUFjY2Vzc1NwZWVkOwotICAgIHVfaW50CQlCbG9ja1NpemU7Ci0gICAgdV9pbnQJCVBhcnRNdWx0aXBsZTsKLSAgICB1X2NoYXIJCUplZGVjTWZyLCBKZWRlY0luZm87Ci0gICAgbWVtb3J5X2hhbmRsZV90CW5leHQ7Ci19IHJlZ2lvbl9pbmZvX3Q7Ci0KLSNkZWZpbmUgUkVHSU9OX1RZUEUJCTB4MDAwMQotI2RlZmluZSBSRUdJT05fVFlQRV9DTQkJMHgwMDAwCi0jZGVmaW5lIFJFR0lPTl9UWVBFX0FNCQkweDAwMDEKLSNkZWZpbmUgUkVHSU9OX1BSRUZFVENICQkweDAwMDgKLSNkZWZpbmUgUkVHSU9OX0NBQ0hFQUJMRQkweDAwMTAKLSNkZWZpbmUgUkVHSU9OX0JBUl9NQVNLCQkweGUwMDAKLSNkZWZpbmUgUkVHSU9OX0JBUl9TSElGVAkxMwotCi1pbnQgcGNtY2lhX2dldF9maXJzdF9yZWdpb24oc3RydWN0IHBjbWNpYV9kZXZpY2UgKmhhbmRsZSwgcmVnaW9uX2luZm9fdCAqcmduKTsKLWludCBwY21jaWFfZ2V0X25leHRfcmVnaW9uKHN0cnVjdCBwY21jaWFfZGV2aWNlICpoYW5kbGUsIHJlZ2lvbl9pbmZvX3QgKnJnbik7Ci0KLSNlbmRpZiAvKiBfTElOVVhfQlVMS01FTV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9jaXN0cGwuaCBiL2luY2x1ZGUvcGNtY2lhL2Npc3RwbC5oCmluZGV4IGQzYmJiMTkuLmUyZTEwYzEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcGNtY2lhL2Npc3RwbC5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2Npc3RwbC5oCkBAIC01OTUsNyArNTk1LDcgQEAKIGludCBwY2NhcmRfZ2V0X3R1cGxlX2RhdGEoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHR1cGxlX3QgKnR1cGxlKTsKIGludCBwY2NhcmRfcGFyc2VfdHVwbGUodHVwbGVfdCAqdHVwbGUsIGNpc3BhcnNlX3QgKnBhcnNlKTsKIAotaW50IHBjY2FyZF92YWxpZGF0ZV9jaXMoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMsIHVuc2lnbmVkIGludCBmdW5jdGlvbiwgY2lzaW5mb190ICppbmZvKTsKK2ludCBwY2NhcmRfdmFsaWRhdGVfY2lzKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLCB1bnNpZ25lZCBpbnQgZnVuY3Rpb24sIHVuc2lnbmVkIGludCAqY291bnQpOwogCiAvKiAuLi4gYnV0IHVzZSB0aGVzZSB3cmFwcGVycyBpbnN0ZWFkICovCiAjZGVmaW5lIHBjbWNpYV9nZXRfZmlyc3RfdHVwbGUocF9kZXYsIHR1cGxlKSBcCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BjbWNpYS9jcy5oIGIvaW5jbHVkZS9wY21jaWEvY3MuaAppbmRleCA4N2EyNjBlLi40NWQ4NGIyIDEwMDY0NAotLS0gYS9pbmNsdWRlL3BjbWNpYS9jcy5oCisrKyBiL2luY2x1ZGUvcGNtY2lhL2NzLmgKQEAgLTM3Myw5ICszNzMsNiBAQAogCiBpbnQgcGNtY2lhX2FjY2Vzc19jb25maWd1cmF0aW9uX3JlZ2lzdGVyKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgY29uZl9yZWdfdCAqcmVnKTsKIGludCBwY21jaWFfZ2V0X2NvbmZpZ3VyYXRpb25faW5mbyhzdHJ1Y3QgcGNtY2lhX2RldmljZSAqcF9kZXYsIGNvbmZpZ19pbmZvX3QgKmNvbmZpZyk7Ci1pbnQgcGNtY2lhX2dldF9maXJzdF93aW5kb3cod2luZG93X2hhbmRsZV90ICp3aW4sIHdpbl9yZXFfdCAqcmVxKTsKLWludCBwY21jaWFfZ2V0X25leHRfd2luZG93KHdpbmRvd19oYW5kbGVfdCAqd2luLCB3aW5fcmVxX3QgKnJlcSk7Ci1pbnQgcGNtY2lhX2dldF9zdGF0dXMoc3RydWN0IHBjbWNpYV9kZXZpY2UgKnBfZGV2LCBjc19zdGF0dXNfdCAqc3RhdHVzKTsKIGludCBwY21jaWFfZ2V0X21lbV9wYWdlKHdpbmRvd19oYW5kbGVfdCB3aW4sIG1lbXJlcV90ICpyZXEpOwogaW50IHBjbWNpYV9tYXBfbWVtX3BhZ2Uod2luZG93X2hhbmRsZV90IHdpbiwgbWVtcmVxX3QgKnJlcSk7CiBpbnQgcGNtY2lhX21vZGlmeV9jb25maWd1cmF0aW9uKHN0cnVjdCBwY21jaWFfZGV2aWNlICpwX2RldiwgbW9kY29uZl90ICptb2QpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wY21jaWEvY3NfdHlwZXMuaCBiL2luY2x1ZGUvcGNtY2lhL2NzX3R5cGVzLmgKaW5kZXggOWE2YmNjNC4uZjQwMmEwZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY21jaWEvY3NfdHlwZXMuaAorKysgYi9pbmNsdWRlL3BjbWNpYS9jc190eXBlcy5oCkBAIC0yMSw3ICsyMSw4IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX2F2cjMyX18pCisjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fYXZyMzJfXykgfHwgXAorCWRlZmluZWQoX19iZmluX18pCiAvKiBUaGlzIChpb2FkZHJfdCkgaXMgZXhwb3NlZCB0byB1c2Vyc3BhY2UgJiBoZW5jZSBjYW5ub3QgYmUgY2hhbmdlZC4gKi8KIHR5cGVkZWYgdV9pbnQgICBpb2FkZHJfdDsKICNlbHNlCkBAIC0zMyw5ICszNCw2IEBACiB0eXBlZGVmIHVfY2hhcgljaXNkYXRhX3Q7CiB0eXBlZGVmIHVfc2hvcnQJcGFnZV90OwogCi1zdHJ1Y3QgcGNtY2lhX2RldmljZTsKLXR5cGVkZWYgc3RydWN0IHBjbWNpYV9kZXZpY2UgKmNsaWVudF9oYW5kbGVfdDsKLQogc3RydWN0IHdpbmRvd190OwogdHlwZWRlZiBzdHJ1Y3Qgd2luZG93X3QgKndpbmRvd19oYW5kbGVfdDsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wY21jaWEvZHMuaCBiL2luY2x1ZGUvcGNtY2lhL2RzLmgKaW5kZXggZjA0N2ExZi4uYjMxNjAyNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY21jaWEvZHMuaAorKysgYi9pbmNsdWRlL3BjbWNpYS9kcy5oCkBAIC0yMCw3ICsyMCw2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgPHBjbWNpYS9idWxrbWVtLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2NzX3R5cGVzLmg+CiAjaW5jbHVkZSA8cGNtY2lhL2RldmljZV9pZC5oPgogCkBAIC01MSw2ICs1MCwyNCBAQAogICAgIHVfaW50CQlDYXJkT2Zmc2V0OwogfSBtdGRfaW5mb190OwogCit0eXBlZGVmIHN0cnVjdCByZWdpb25faW5mb190IHsKKyAgICB1X2ludAkJQXR0cmlidXRlczsKKyAgICB1X2ludAkJQ2FyZE9mZnNldDsKKyAgICB1X2ludAkJUmVnaW9uU2l6ZTsKKyAgICB1X2ludAkJQWNjZXNzU3BlZWQ7CisgICAgdV9pbnQJCUJsb2NrU2l6ZTsKKyAgICB1X2ludAkJUGFydE11bHRpcGxlOworICAgIHVfY2hhcgkJSmVkZWNNZnIsIEplZGVjSW5mbzsKKyAgICBtZW1vcnlfaGFuZGxlX3QJbmV4dDsKK30gcmVnaW9uX2luZm9fdDsKKyNkZWZpbmUgUkVHSU9OX1RZUEUJCTB4MDAwMQorI2RlZmluZSBSRUdJT05fVFlQRV9DTQkJMHgwMDAwCisjZGVmaW5lIFJFR0lPTl9UWVBFX0FNCQkweDAwMDEKKyNkZWZpbmUgUkVHSU9OX1BSRUZFVENICQkweDAwMDgKKyNkZWZpbmUgUkVHSU9OX0NBQ0hFQUJMRQkweDAwMTAKKyNkZWZpbmUgUkVHSU9OX0JBUl9NQVNLCQkweGUwMDAKKyNkZWZpbmUgUkVHSU9OX0JBUl9TSElGVAkxMworCiB0eXBlZGVmIHVuaW9uIGRzX2lvY3RsX2FyZ190IHsKICAgICBhZGp1c3RfdAkJYWRqdXN0OwogICAgIGNvbmZpZ19pbmZvX3QJY29uZmlnOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wY21jaWEvc3MuaCBiL2luY2x1ZGUvcGNtY2lhL3NzLmgKaW5kZXggZjk1ZGNhMC4uZWQ5MTlkZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9wY21jaWEvc3MuaAorKysgYi9pbmNsdWRlL3BjbWNpYS9zcy5oCkBAIC0yMSw3ICsyMSw2IEBACiAKICNpbmNsdWRlIDxwY21jaWEvY3NfdHlwZXMuaD4KICNpbmNsdWRlIDxwY21jaWEvY3MuaD4KLSNpbmNsdWRlIDxwY21jaWEvYnVsa21lbS5oPgogI2lmZGVmIENPTkZJR19DQVJEQlVTCiAjaW5jbHVkZSA8bGludXgvcGNpLmg+CiAjZW5kaWYKQEAgLTEzNiw4ICsxMzUsMTQgQEAKIAlzdHJ1Y3QgcmVzb3VyY2UqICgqZmluZF9tZW0pCSh1bnNpZ25lZCBsb25nIGJhc2UsIHVuc2lnbmVkIGxvbmcgbnVtLAogCQkJCQkgdW5zaWduZWQgbG9uZyBhbGlnbiwgaW50IGxvdywKIAkJCQkJIHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKTsKLQlpbnQJKCphZGp1c3RfcmVzb3VyY2UpCShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywKLQkJCQkJIGFkanVzdF90ICphZGopOworCWludAkoKmFkZF9pbykJCShzdHJ1Y3QgcGNtY2lhX3NvY2tldCAqcywKKwkJCQkJIHVuc2lnbmVkIGludCBhY3Rpb24sCisJCQkJCSB1bnNpZ25lZCBsb25nIHJfc3RhcnQsCisJCQkJCSB1bnNpZ25lZCBsb25nIHJfZW5kKTsKKwlpbnQJKCphZGRfbWVtKQkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzLAorCQkJCQkgdW5zaWduZWQgaW50IGFjdGlvbiwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9zdGFydCwKKwkJCQkJIHVuc2lnbmVkIGxvbmcgcl9lbmQpOwogCWludAkoKmluaXQpCQkJKHN0cnVjdCBwY21jaWFfc29ja2V0ICpzKTsKIAl2b2lkCSgqZXhpdCkJCQkoc3RydWN0IHBjbWNpYV9zb2NrZXQgKnMpOwogfTsKQEAgLTI0NSw3ICsyNTAsNiBAQAogCiAJc3RydWN0IHRhc2tfc3RydWN0CQkqdGhyZWFkOwogCXN0cnVjdCBjb21wbGV0aW9uCQl0aHJlYWRfZG9uZTsKLQl3YWl0X3F1ZXVlX2hlYWRfdAkJdGhyZWFkX3dhaXQ7CiAJc3BpbmxvY2tfdAkJCXRocmVhZF9sb2NrOwkvKiBwcm90ZWN0cyB0aHJlYWRfZXZlbnRzICovCiAJdW5zaWduZWQgaW50CQkJdGhyZWFkX2V2ZW50czsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wY21jaWEvdmVyc2lvbi5oIGIvaW5jbHVkZS9wY21jaWEvdmVyc2lvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWQ5YzVlLi4wMDAwMDAwCi0tLSBhL2luY2x1ZGUvcGNtY2lhL3ZlcnNpb24uaAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotLyogdmVyc2lvbi5oIDEuOTQgMjAwMC8xMC8wMyAxNzo1NTo0OCAoRGF2aWQgSGluZHMpICovCi0KLS8qIFRoaXMgZmlsZSB3aWxsIGJlIHJlbW92ZWQsIHBsZWFzZSBkb24ndCBpbmNsdWRlIGl0ICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfYWRkci5oIGIvaW5jbHVkZS9yZG1hL2liX2FkZHIuaAppbmRleCBjMzY3NTBmLi40ODMwNTdiIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfYWRkci5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9hZGRyLmgKQEAgLTIsMjkgKzIsMzMgQEAKICAqIENvcHlyaWdodCAoYykgMjAwNSBWb2x0YWlyZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChjKSAyMDA1IEludGVsIENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCi0gKiBUaGlzIFNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzOgorICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8geW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28KKyAqIGxpY2Vuc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUKKyAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyLCBhdmFpbGFibGUgZnJvbSB0aGUgZmlsZQorICogQ09QWUlORyBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZSwgb3IgdGhlCisgKiBPcGVuSUIub3JnIEJTRCBsaWNlbnNlIGJlbG93OgogICoKLSAqIDEpIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgIkNvbW1vbiBQdWJsaWMgTGljZW5zZSAxLjAiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9jcGwucGhwLgorICogICAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3IKKyAqICAgICB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcKKyAqICAgICBjb25kaXRpb25zIGFyZSBtZXQ6CiAgKgotICogMikgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiVGhlIEJTRCBMaWNlbnNlIiBhIGNvcHkgb2Ygd2hpY2ggaXMKLSAqICAgIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvYnNkLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIuCiAgKgotICogMykgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgVmVyc2lvbiAyIiBhCi0gKiAgICBjb3B5IG9mIHdoaWNoIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBPcGVuIFNvdXJjZSBJbml0aWF0aXZlLCBzZWUKLSAqICAgIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvZ3BsLWxpY2Vuc2UucGhwLgorICogICAgICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0gKiBMaWNlbnNlZSBoYXMgdGhlIHJpZ2h0IHRvIGNob29zZSBvbmUgb2YgdGhlIGFib3ZlIGxpY2Vuc2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UgYW5kIG9uZSBvZiB0aGUgbGljZW5zZSBub3RpY2VzLgotICoKLSAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMgaW4gdGhlIGRvY3VtZW50YXRpb24KLSAqIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUworICogQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOCisgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgorICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQorICogU09GVFdBUkUuCiAgKi8KIAogI2lmICFkZWZpbmVkKElCX0FERFJfSCkKQEAgLTU3LDYgKzYxLDcgQEAKIAl1bnNpZ25lZCBjaGFyIGRzdF9kZXZfYWRkcltNQVhfQUREUl9MRU5dOwogCXVuc2lnbmVkIGNoYXIgYnJvYWRjYXN0W01BWF9BRERSX0xFTl07CiAJZW51bSByZG1hX25vZGVfdHlwZSBkZXZfdHlwZTsKKwlzdHJ1Y3QgbmV0X2RldmljZSAqc3JjX2RldjsKIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX2NhY2hlLmggYi9pbmNsdWRlL3JkbWEvaWJfY2FjaGUuaAppbmRleCBmMTc5ZDIzLi4wMGEyYjhlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfY2FjaGUuaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfY2FjaGUuaApAQCAtMzAsOCArMzAsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfY2FjaGUuaCAxMzQ5IDIwMDQtMTItMTYgMjE6MDk6NDNaIHJvbGFuZCAkCiAgKi8KIAogI2lmbmRlZiBfSUJfQ0FDSEVfSApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX2NtLmggYi9pbmNsdWRlL3JkbWEvaWJfY20uaAppbmRleCBhNjI3Yzg2Li5lYzdjNmQ5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfY20uaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfY20uaApAQCAtMzEsOCArMzEsNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfY20uaCA0MzExIDIwMDUtMTItMDUgMTg6NDI6MDFaIHNlYW4uaGVmdHkgJAogICovCiAjaWYgIWRlZmluZWQoSUJfQ01fSCkKICNkZWZpbmUgSUJfQ01fSApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX2Ztcl9wb29sLmggYi9pbmNsdWRlL3JkbWEvaWJfZm1yX3Bvb2wuaAppbmRleCAwMGRhZGJmLi5mNjJiODQyIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfZm1yX3Bvb2wuaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfZm1yX3Bvb2wuaApAQCAtMjksOCArMjksNiBAQAogICogQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKICAqIFNPRlRXQVJFLgotICoKLSAqICRJZDogaWJfZm1yX3Bvb2wuaCAyNzMwIDIwMDUtMDYtMjggMTY6NDM6MDNaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZiAhZGVmaW5lZChJQl9GTVJfUE9PTF9IKQpAQCAtNjEsNyArNTksNyBAQAogCWludCAgICAgICAgICAgICAgICAgICAgIHBvb2xfc2l6ZTsKIAlpbnQgICAgICAgICAgICAgICAgICAgICBkaXJ0eV93YXRlcm1hcms7CiAJdm9pZCAgICAgICAgICAgICAgICAgICgqZmx1c2hfZnVuY3Rpb24pKHN0cnVjdCBpYl9mbXJfcG9vbCAqcG9vbCwKLQkJCQkJCXZvaWQgKiAgICAgICAgICAgICAgYXJnKTsKKwkJCQkJCXZvaWQgICAgICAgICAgICAgICAqYXJnKTsKIAl2b2lkICAgICAgICAgICAgICAgICAgICpmbHVzaF9hcmc7CiAJdW5zaWduZWQgICAgICAgICAgICAgICAgY2FjaGU6MTsKIH07CmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfbWFkLmggYi9pbmNsdWRlL3JkbWEvaWJfbWFkLmgKaW5kZXggNzIyOGMwNS4uNWY2YzQwZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX21hZC5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9tYWQuaApAQCAtMzIsMTEgKzMyLDkgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX21hZC5oIDU1OTYgMjAwNi0wMy0wMyAwMTowMDowN1ogc2Vhbi5oZWZ0eSAkCiAgKi8KIAotI2lmICFkZWZpbmVkKCBJQl9NQURfSCApCisjaWYgIWRlZmluZWQoSUJfTUFEX0gpCiAjZGVmaW5lIElCX01BRF9ICiAKICNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CkBAIC0xOTQsOCArMTkyLDcgQEAKIAl1OAkJCWRhdGFbSUJfTUdNVF9WRU5ET1JfREFUQV07CiB9OwogCi1zdHJ1Y3QgaWJfY2xhc3NfcG9ydF9pbmZvCi17CitzdHJ1Y3QgaWJfY2xhc3NfcG9ydF9pbmZvIHsKIAl1OAkJCWJhc2VfdmVyc2lvbjsKIAl1OAkJCWNsYXNzX3ZlcnNpb247CiAJX19iZTE2CQkJY2FwYWJpbGl0eV9tYXNrOwpAQCAtNjE0LDExICs2MTEsMTEgQEAKICAqIGFueSBjbGFzcyBzcGVjaWZpYyBoZWFkZXIsIGFuZCBNQUQgZGF0YSBhcmVhLgogICogSWYgQHJtcHBfYWN0aXZlIGlzIHNldCwgdGhlIFJNUFAgaGVhZGVyIHdpbGwgYmUgaW5pdGlhbGl6ZWQgZm9yIHNlbmRpbmcuCiAgKi8KLXN0cnVjdCBpYl9tYWRfc2VuZF9idWYgKiBpYl9jcmVhdGVfc2VuZF9tYWQoc3RydWN0IGliX21hZF9hZ2VudCAqbWFkX2FnZW50LAotCQkJCQkgICAgdTMyIHJlbW90ZV9xcG4sIHUxNiBwa2V5X2luZGV4LAotCQkJCQkgICAgaW50IHJtcHBfYWN0aXZlLAotCQkJCQkgICAgaW50IGhkcl9sZW4sIGludCBkYXRhX2xlbiwKLQkJCQkJICAgIGdmcF90IGdmcF9tYXNrKTsKK3N0cnVjdCBpYl9tYWRfc2VuZF9idWYgKmliX2NyZWF0ZV9zZW5kX21hZChzdHJ1Y3QgaWJfbWFkX2FnZW50ICptYWRfYWdlbnQsCisJCQkJCSAgIHUzMiByZW1vdGVfcXBuLCB1MTYgcGtleV9pbmRleCwKKwkJCQkJICAgaW50IHJtcHBfYWN0aXZlLAorCQkJCQkgICBpbnQgaGRyX2xlbiwgaW50IGRhdGFfbGVuLAorCQkJCQkgICBnZnBfdCBnZnBfbWFzayk7CiAKIC8qKgogICogaWJfaXNfbWFkX2NsYXNzX3JtcHAgLSByZXR1cm5zIHdoZXRoZXIgZ2l2ZW4gbWFuYWdlbWVudCBjbGFzcwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2liX3BhY2suaCBiL2luY2x1ZGUvcmRtYS9pYl9wYWNrLmgKaW5kZXggZjkyNjAyMC4uZDdmYzQ1YyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3BhY2suaAorKysgYi9pbmNsdWRlL3JkbWEvaWJfcGFjay5oCkBAIC0yOCw4ICsyOCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9wYWNrLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZm5kZWYgSUJfUEFDS19ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfc2EuaCBiL2luY2x1ZGUvcmRtYS9pYl9zYS5oCmluZGV4IDk0MjY5MmIuLjM4NDFjMWEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl9zYS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9zYS5oCkBAIC0zMCw4ICszMCw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl9zYS5oIDI4MTEgMjAwNS0wNy0wNiAxODoxMTo0M1ogaGFsciAkCiAgKi8KIAogI2lmbmRlZiBJQl9TQV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfc21pLmggYi9pbmNsdWRlL3JkbWEvaWJfc21pLmgKaW5kZXggZjI5YWYxMy4uYWFjYTA4NyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3NtaS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl9zbWkuaApAQCAtMzIsMTEgKzMyLDkgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3NtaS5oIDEzODkgMjAwNC0xMi0yNyAyMjo1Njo0N1ogcm9sYW5kICQKICAqLwogCi0jaWYgIWRlZmluZWQoIElCX1NNSV9IICkKKyNpZiAhZGVmaW5lZChJQl9TTUlfSCkKICNkZWZpbmUgSUJfU01JX0gKIAogI2luY2x1ZGUgPHJkbWEvaWJfbWFkLmg+CmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfdXNlcl9jbS5oIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfY20uaAppbmRleCAzNzY1MGFmLi5iZDNkMzgwIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfdXNlcl9jbS5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl91c2VyX2NtLmgKQEAgLTI5LDggKzI5LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3VzZXJfY20uaCA0MDE5IDIwMDUtMTEtMTEgMDA6MzM6MDlaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZm5kZWYgSUJfVVNFUl9DTV9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfdXNlcl9tYWQuaCBiL2luY2x1ZGUvcmRtYS9pYl91c2VyX21hZC5oCmluZGV4IDI5ZDJjNzIuLmQ2ZmNlMWMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9pYl91c2VyX21hZC5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl91c2VyX21hZC5oCkBAIC0yOSw4ICsyOSw2IEBACiAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTgogICogQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogICogU09GVFdBUkUuCi0gKgotICogJElkOiBpYl91c2VyX21hZC5oIDI4MTQgMjAwNS0wNy0wNiAxOToxNDowOVogaGFsciAkCiAgKi8KIAogI2lmbmRlZiBJQl9VU0VSX01BRF9ICmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvaWJfdXNlcl92ZXJicy5oIGIvaW5jbHVkZS9yZG1hL2liX3VzZXJfdmVyYnMuaAppbmRleCA4ZDY1YmYwLi5hMTdmNzcxIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaWJfdXNlcl92ZXJicy5oCisrKyBiL2luY2x1ZGUvcmRtYS9pYl91c2VyX3ZlcmJzLmgKQEAgLTMxLDggKzMxLDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3VzZXJfdmVyYnMuaCA0MDE5IDIwMDUtMTEtMTEgMDA6MzM6MDlaIHNlYW4uaGVmdHkgJAogICovCiAKICNpZm5kZWYgSUJfVVNFUl9WRVJCU19ICkBAIC0yOTEsNyArMjg5LDEwIEBACiAJX191MzIgb3Bjb2RlOwogCV9fdTMyIHZlbmRvcl9lcnI7CiAJX191MzIgYnl0ZV9sZW47Ci0JX191MzIgaW1tX2RhdGE7CisJdW5pb24geworCQlfX3UzMiBpbW1fZGF0YTsKKwkJX191MzIgaW52YWxpZGF0ZV9ya2V5OworCX0gZXg7CiAJX191MzIgcXBfbnVtOwogCV9fdTMyIHNyY19xcDsKIAlfX3UzMiB3Y19mbGFnczsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9pYl92ZXJicy5oIGIvaW5jbHVkZS9yZG1hL2liX3ZlcmJzLmgKaW5kZXggMzFkMzBiMS4uOTBiNTI5ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9yZG1hL2liX3ZlcmJzLmgKKysrIGIvaW5jbHVkZS9yZG1hL2liX3ZlcmJzLmgKQEAgLTM0LDggKzM0LDYgQEAKICAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiAgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiAgKiBTT0ZUV0FSRS4KLSAqCi0gKiAkSWQ6IGliX3ZlcmJzLmggMTM0OSAyMDA0LTEyLTE2IDIxOjA5OjQzWiByb2xhbmQgJAogICovCiAKICNpZiAhZGVmaW5lZChJQl9WRVJCU19IKQpAQCAtOTMsNyArOTEsNyBAQAogCUlCX0RFVklDRV9SQ19STlJfTkFLX0dFTgk9ICgxPDwxMiksCiAJSUJfREVWSUNFX1NSUV9SRVNJWkUJCT0gKDE8PDEzKSwKIAlJQl9ERVZJQ0VfTl9OT1RJRllfQ1EJCT0gKDE8PDE0KSwKLQlJQl9ERVZJQ0VfWkVST19TVEFHCQk9ICgxPDwxNSksCisJSUJfREVWSUNFX0xPQ0FMX0RNQV9MS0VZCT0gKDE8PDE1KSwKIAlJQl9ERVZJQ0VfUkVTRVJWRUQJCT0gKDE8PDE2KSwgLyogb2xkIFNFTkRfV19JTlYgKi8KIAlJQl9ERVZJQ0VfTUVNX1dJTkRPVwkJPSAoMTw8MTcpLAogCS8qCkBAIC0xMDUsNiArMTAzLDggQEAKIAkgKi8KIAlJQl9ERVZJQ0VfVURfSVBfQ1NVTQkJPSAoMTw8MTgpLAogCUlCX0RFVklDRV9VRF9UU08JCT0gKDE8PDE5KSwKKwlJQl9ERVZJQ0VfTUVNX01HVF9FWFRFTlNJT05TCT0gKDE8PDIxKSwKKwlJQl9ERVZJQ0VfQkxPQ0tfTVVMVElDQVNUX0xPT1BCQUNLID0gKDE8PDIyKSwKIH07CiAKIGVudW0gaWJfYXRvbWljX2NhcCB7CkBAIC0xNTAsNiArMTUwLDcgQEAKIAlpbnQJCQltYXhfc3JxOwogCWludAkJCW1heF9zcnFfd3I7CiAJaW50CQkJbWF4X3NycV9zZ2U7CisJdW5zaWduZWQgaW50CQltYXhfZmFzdF9yZWdfcGFnZV9saXN0X2xlbjsKIAl1MTYJCQltYXhfcGtleXM7CiAJdTgJCQlsb2NhbF9jYV9hY2tfZGVsYXk7CiB9OwpAQCAtMjI2LDYgKzIyNyw1NyBAQAogCX0KIH0KIAorc3RydWN0IGliX3Byb3RvY29sX3N0YXRzIHsKKwkvKiBUQkQuLi4gKi8KK307CisKK3N0cnVjdCBpd19wcm90b2NvbF9zdGF0cyB7CisJdTY0CWlwSW5SZWNlaXZlczsKKwl1NjQJaXBJbkhkckVycm9yczsKKwl1NjQJaXBJblRvb0JpZ0Vycm9yczsKKwl1NjQJaXBJbk5vUm91dGVzOworCXU2NAlpcEluQWRkckVycm9yczsKKwl1NjQJaXBJblVua25vd25Qcm90b3M7CisJdTY0CWlwSW5UcnVuY2F0ZWRQa3RzOworCXU2NAlpcEluRGlzY2FyZHM7CisJdTY0CWlwSW5EZWxpdmVyczsKKwl1NjQJaXBPdXRGb3J3RGF0YWdyYW1zOworCXU2NAlpcE91dFJlcXVlc3RzOworCXU2NAlpcE91dERpc2NhcmRzOworCXU2NAlpcE91dE5vUm91dGVzOworCXU2NAlpcFJlYXNtVGltZW91dDsKKwl1NjQJaXBSZWFzbVJlcWRzOworCXU2NAlpcFJlYXNtT0tzOworCXU2NAlpcFJlYXNtRmFpbHM7CisJdTY0CWlwRnJhZ09LczsKKwl1NjQJaXBGcmFnRmFpbHM7CisJdTY0CWlwRnJhZ0NyZWF0ZXM7CisJdTY0CWlwSW5NY2FzdFBrdHM7CisJdTY0CWlwT3V0TWNhc3RQa3RzOworCXU2NAlpcEluQmNhc3RQa3RzOworCXU2NAlpcE91dEJjYXN0UGt0czsKKworCXU2NAl0Y3BSdG9BbGdvcml0aG07CisJdTY0CXRjcFJ0b01pbjsKKwl1NjQJdGNwUnRvTWF4OworCXU2NAl0Y3BNYXhDb25uOworCXU2NAl0Y3BBY3RpdmVPcGVuczsKKwl1NjQJdGNwUGFzc2l2ZU9wZW5zOworCXU2NAl0Y3BBdHRlbXB0RmFpbHM7CisJdTY0CXRjcEVzdGFiUmVzZXRzOworCXU2NAl0Y3BDdXJyRXN0YWI7CisJdTY0CXRjcEluU2VnczsKKwl1NjQJdGNwT3V0U2VnczsKKwl1NjQJdGNwUmV0cmFuc1NlZ3M7CisJdTY0CXRjcEluRXJyczsKKwl1NjQJdGNwT3V0UnN0czsKK307CisKK3VuaW9uIHJkbWFfcHJvdG9jb2xfc3RhdHMgeworCXN0cnVjdCBpYl9wcm90b2NvbF9zdGF0cwlpYjsKKwlzdHJ1Y3QgaXdfcHJvdG9jb2xfc3RhdHMJaXc7Cit9OworCiBzdHJ1Y3QgaWJfcG9ydF9hdHRyIHsKIAllbnVtIGliX3BvcnRfc3RhdGUJc3RhdGU7CiAJZW51bSBpYl9tdHUJCW1heF9tdHU7CkBAIC00MTMsNiArNDY1LDggQEAKIAlJQl9XQ19GRVRDSF9BREQsCiAJSUJfV0NfQklORF9NVywKIAlJQl9XQ19MU08sCisJSUJfV0NfTE9DQUxfSU5WLAorCUlCX1dDX0ZBU1RfUkVHX01SLAogLyoKICAqIFNldCB2YWx1ZSBvZiBJQl9XQ19SRUNWIHNvIGNvbnN1bWVycyBjYW4gdGVzdCBpZiBhIGNvbXBsZXRpb24gaXMgYQogICogcmVjZWl2ZSBieSB0ZXN0aW5nIChvcGNvZGUgJiBJQl9XQ19SRUNWKS4KQEAgLTQyMyw3ICs0NzcsOCBAQAogCiBlbnVtIGliX3djX2ZsYWdzIHsKIAlJQl9XQ19HUkgJCT0gMSwKLQlJQl9XQ19XSVRIX0lNTQkJPSAoMTw8MSkKKwlJQl9XQ19XSVRIX0lNTQkJPSAoMTw8MSksCisJSUJfV0NfV0lUSF9JTlZBTElEQVRFCT0gKDE8PDIpLAogfTsKIAogc3RydWN0IGliX3djIHsKQEAgLTQzMyw3ICs0ODgsMTAgQEAKIAl1MzIJCQl2ZW5kb3JfZXJyOwogCXUzMgkJCWJ5dGVfbGVuOwogCXN0cnVjdCBpYl9xcAkgICAgICAgKnFwOwotCV9fYmUzMgkJCWltbV9kYXRhOworCXVuaW9uIHsKKwkJX19iZTMyCQlpbW1fZGF0YTsKKwkJdTMyCQlpbnZhbGlkYXRlX3JrZXk7CisJfSBleDsKIAl1MzIJCQlzcmNfcXA7CiAJaW50CQkJd2NfZmxhZ3M7CiAJdTE2CQkJcGtleV9pbmRleDsKQEAgLTQ5OCw3ICs1NTYsOCBAQAogfTsKIAogZW51bSBpYl9xcF9jcmVhdGVfZmxhZ3MgewotCUlCX1FQX0NSRUFURV9JUE9JQl9VRF9MU08JPSAxIDw8IDAsCisJSUJfUVBfQ1JFQVRFX0lQT0lCX1VEX0xTTwkJPSAxIDw8IDAsCisJSUJfUVBfQ1JFQVRFX0JMT0NLX01VTFRJQ0FTVF9MT09QQkFDSwk9IDEgPDwgMSwKIH07CiAKIHN0cnVjdCBpYl9xcF9pbml0X2F0dHIgewpAQCAtNjI3LDYgKzY4Niw5IEBACiAJSUJfV1JfQVRPTUlDX0ZFVENIX0FORF9BREQsCiAJSUJfV1JfTFNPLAogCUlCX1dSX1NFTkRfV0lUSF9JTlYsCisJSUJfV1JfUkRNQV9SRUFEX1dJVEhfSU5WLAorCUlCX1dSX0xPQ0FMX0lOViwKKwlJQl9XUl9GQVNUX1JFR19NUiwKIH07CiAKIGVudW0gaWJfc2VuZF9mbGFncyB7CkBAIC02NDMsNiArNzA1LDEyIEBACiAJdTMyCWxrZXk7CiB9OwogCitzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0IHsKKwlzdHJ1Y3QgaWJfZGV2aWNlICAgICAgICpkZXZpY2U7CisJdTY0CQkgICAgICAgKnBhZ2VfbGlzdDsKKwl1bnNpZ25lZCBpbnQJCW1heF9wYWdlX2xpc3RfbGVuOworfTsKKwogc3RydWN0IGliX3NlbmRfd3IgewogCXN0cnVjdCBpYl9zZW5kX3dyICAgICAgKm5leHQ7CiAJdTY0CQkJd3JfaWQ7CkBAIC02NzUsNiArNzQzLDE1IEBACiAJCQl1MTYJcGtleV9pbmRleDsgLyogdmFsaWQgZm9yIEdTSSBvbmx5ICovCiAJCQl1OAlwb3J0X251bTsgICAvKiB2YWxpZCBmb3IgRFIgU01QcyBvbiBzd2l0Y2ggb25seSAqLwogCQl9IHVkOworCQlzdHJ1Y3QgeworCQkJdTY0CQkJCWlvdmFfc3RhcnQ7CisJCQlzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICAgKnBhZ2VfbGlzdDsKKwkJCXVuc2lnbmVkIGludAkJCXBhZ2Vfc2hpZnQ7CisJCQl1bnNpZ25lZCBpbnQJCQlwYWdlX2xpc3RfbGVuOworCQkJdTMyCQkJCWxlbmd0aDsKKwkJCWludAkJCQlhY2Nlc3NfZmxhZ3M7CisJCQl1MzIJCQkJcmtleTsKKwkJfSBmYXN0X3JlZzsKIAl9IHdyOwogfTsKIApAQCAtNzc3LDcgKzg1NCw3IEBACiAJc3RydWN0IGliX3VvYmplY3QgICAgICAqdW9iamVjdDsKIAlpYl9jb21wX2hhbmRsZXIgICAJY29tcF9oYW5kbGVyOwogCXZvaWQgICAgICAgICAgICAgICAgICAoKmV2ZW50X2hhbmRsZXIpKHN0cnVjdCBpYl9ldmVudCAqLCB2b2lkICopOwotCXZvaWQgKiAgICAgICAgICAgIAljcV9jb250ZXh0OworCXZvaWQgICAgICAgICAgICAgICAgICAgKmNxX2NvbnRleHQ7CiAJaW50ICAgICAgICAgICAgICAgCWNxZTsKIAlhdG9taWNfdCAgICAgICAgICAJdXNlY250OyAvKiBjb3VudCBudW1iZXIgb2Ygd29yayBxdWV1ZXMgKi8KIH07CkBAIC04ODMsNyArOTYwLDcgQEAKIAl2b2lkCQkoKnN5bmNfc2luZ2xlX2Zvcl9jcHUpKHN0cnVjdCBpYl9kZXZpY2UgKmRldiwKIAkJCQkJICAgICAgIHU2NCBkbWFfaGFuZGxlLAogCQkJCQkgICAgICAgc2l6ZV90IHNpemUsCi0JCQkJICAgICAgICAgICAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKKwkJCQkJICAgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcik7CiAJdm9pZAkJKCpzeW5jX3NpbmdsZV9mb3JfZGV2aWNlKShzdHJ1Y3QgaWJfZGV2aWNlICpkZXYsCiAJCQkJCQkgIHU2NCBkbWFfaGFuZGxlLAogCQkJCQkJICBzaXplX3Qgc2l6ZSwKQEAgLTkxOSw2ICs5OTYsOCBAQAogCiAJc3RydWN0IGl3X2NtX3ZlcmJzCSAgICAgKml3Y207CiAKKwlpbnQJCSAgICAgICAgICAgKCpnZXRfcHJvdG9jb2xfc3RhdHMpKHN0cnVjdCBpYl9kZXZpY2UgKmRldmljZSwKKwkJCQkJCQkgdW5pb24gcmRtYV9wcm90b2NvbF9zdGF0cyAqc3RhdHMpOwogCWludAkJICAgICAgICAgICAoKnF1ZXJ5X2RldmljZSkoc3RydWN0IGliX2RldmljZSAqZGV2aWNlLAogCQkJCQkJICAgc3RydWN0IGliX2RldmljZV9hdHRyICpkZXZpY2VfYXR0cik7CiAJaW50CQkgICAgICAgICAgICgqcXVlcnlfcG9ydCkoc3RydWN0IGliX2RldmljZSAqZGV2aWNlLApAQCAtMTAxMyw2ICsxMDkyLDExIEBACiAJaW50ICAgICAgICAgICAgICAgICAgICAgICAgKCpxdWVyeV9tcikoc3RydWN0IGliX21yICptciwKIAkJCQkJICAgICAgIHN0cnVjdCBpYl9tcl9hdHRyICptcl9hdHRyKTsKIAlpbnQgICAgICAgICAgICAgICAgICAgICAgICAoKmRlcmVnX21yKShzdHJ1Y3QgaWJfbXIgKm1yKTsKKwlzdHJ1Y3QgaWJfbXIgKgkJICAgKCphbGxvY19mYXN0X3JlZ19tcikoc3RydWN0IGliX3BkICpwZCwKKwkJCQkJICAgICAgIGludCBtYXhfcGFnZV9saXN0X2xlbik7CisJc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqICgqYWxsb2NfZmFzdF9yZWdfcGFnZV9saXN0KShzdHJ1Y3QgaWJfZGV2aWNlICpkZXZpY2UsCisJCQkJCQkJCSAgIGludCBwYWdlX2xpc3RfbGVuKTsKKwl2b2lkCQkJICAgKCpmcmVlX2Zhc3RfcmVnX3BhZ2VfbGlzdCkoc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0KTsKIAlpbnQgICAgICAgICAgICAgICAgICAgICAgICAoKnJlcmVnX3BoeXNfbXIpKHN0cnVjdCBpYl9tciAqbXIsCiAJCQkJCQkgICAgaW50IG1yX3JlcmVnX21hc2ssCiAJCQkJCQkgICAgc3RydWN0IGliX3BkICpwZCwKQEAgLTEwNjUsNiArMTE0OSw3IEBACiAKIAljaGFyCQkJICAgICBub2RlX2Rlc2NbNjRdOwogCV9fYmU2NAkJCSAgICAgbm9kZV9ndWlkOworCXUzMgkJCSAgICAgbG9jYWxfZG1hX2xrZXk7CiAJdTggICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlX3R5cGU7CiAJdTggICAgICAgICAgICAgICAgICAgICAgICAgICBwaHlzX3BvcnRfY250OwogfTsKQEAgLTE4MDcsNiArMTg5Miw1NCBAQAogaW50IGliX2RlcmVnX21yKHN0cnVjdCBpYl9tciAqbXIpOwogCiAvKioKKyAqIGliX2FsbG9jX2Zhc3RfcmVnX21yIC0gQWxsb2NhdGVzIG1lbW9yeSByZWdpb24gdXNhYmxlIHdpdGggdGhlCisgKiAgIElCX1dSX0ZBU1RfUkVHX01SIHNlbmQgd29yayByZXF1ZXN0LgorICogQHBkOiBUaGUgcHJvdGVjdGlvbiBkb21haW4gYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpb24uCisgKiBAbWF4X3BhZ2VfbGlzdF9sZW46IHJlcXVlc3RlZCBtYXggcGh5c2ljYWwgYnVmZmVyIGxpc3QgbGVuZ3RoIHRvIGJlCisgKiAgIHVzZWQgd2l0aCBmYXN0IHJlZ2lzdGVyIHdvcmsgcmVxdWVzdHMgZm9yIHRoaXMgTVIuCisgKi8KK3N0cnVjdCBpYl9tciAqaWJfYWxsb2NfZmFzdF9yZWdfbXIoc3RydWN0IGliX3BkICpwZCwgaW50IG1heF9wYWdlX2xpc3RfbGVuKTsKKworLyoqCisgKiBpYl9hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QgLSBBbGxvY2F0ZXMgYSBwYWdlIGxpc3QgYXJyYXkKKyAqIEBkZXZpY2UgLSBpYiBkZXZpY2UgcG9pbnRlci4KKyAqIEBwYWdlX2xpc3RfbGVuIC0gc2l6ZSBvZiB0aGUgcGFnZSBsaXN0IGFycmF5IHRvIGJlIGFsbG9jYXRlZC4KKyAqCisgKiBUaGlzIGFsbG9jYXRlcyBhbmQgcmV0dXJucyBhIHN0cnVjdCBpYl9mYXN0X3JlZ19wYWdlX2xpc3QgKiBhbmQgYQorICogcGFnZV9saXN0IGFycmF5IHRoYXQgaXMgYXQgbGVhc3QgcGFnZV9saXN0X2xlbiBpbiBzaXplLiAgVGhlIGFjdHVhbAorICogc2l6ZSBpcyByZXR1cm5lZCBpbiBtYXhfcGFnZV9saXN0X2xlbi4gIFRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUKKyAqIGZvciBpbml0aWFsaXppbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBwYWdlX2xpc3QgYXJyYXkgYmVmb3JlIHBvc3RpbmcKKyAqIGEgc2VuZCB3b3JrIHJlcXVlc3Qgd2l0aCB0aGUgSUJfV0NfRkFTVF9SRUdfTVIgb3Bjb2RlLgorICoKKyAqIFRoZSBwYWdlX2xpc3QgYXJyYXkgZW50cmllcyBtdXN0IGJlIHRyYW5zbGF0ZWQgdXNpbmcgb25lIG9mIHRoZQorICogaWJfZG1hXyooKSBmdW5jdGlvbnMganVzdCBsaWtlIHRoZSBhZGRyZXNzZXMgcGFzc2VkIHRvCisgKiBpYl9tYXBfcGh5c19mbXIoKS4gIE9uY2UgdGhlIGliX3Bvc3Rfc2VuZCgpIGlzIGlzc3VlZCwgdGhlIHN0cnVjdAorICogaWJfZmFzdF9yZWdfcGFnZV9saXN0IG11c3Qgbm90IGJlIG1vZGlmaWVkIGJ5IHRoZSBjYWxsZXIgdW50aWwgdGhlCisgKiBJQl9XQ19GQVNUX1JFR19NUiB3b3JrIHJlcXVlc3QgY29tcGxldGVzLgorICovCitzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0ICppYl9hbGxvY19mYXN0X3JlZ19wYWdlX2xpc3QoCisJCQkJc3RydWN0IGliX2RldmljZSAqZGV2aWNlLCBpbnQgcGFnZV9saXN0X2xlbik7CisKKy8qKgorICogaWJfZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3QgLSBEZWFsbG9jYXRlcyBhIHByZXZpb3VzbHkgYWxsb2NhdGVkCisgKiAgIHBhZ2UgbGlzdCBhcnJheS4KKyAqIEBwYWdlX2xpc3QgLSBzdHJ1Y3QgaWJfZmFzdF9yZWdfcGFnZV9saXN0IHBvaW50ZXIgdG8gYmUgZGVhbGxvY2F0ZWQuCisgKi8KK3ZvaWQgaWJfZnJlZV9mYXN0X3JlZ19wYWdlX2xpc3Qoc3RydWN0IGliX2Zhc3RfcmVnX3BhZ2VfbGlzdCAqcGFnZV9saXN0KTsKKworLyoqCisgKiBpYl91cGRhdGVfZmFzdF9yZWdfa2V5IC0gdXBkYXRlcyB0aGUga2V5IHBvcnRpb24gb2YgdGhlIGZhc3RfcmVnIE1SCisgKiAgIFJfS2V5IGFuZCBMX0tleS4KKyAqIEBtciAtIHN0cnVjdCBpYl9tciBwb2ludGVyIHRvIGJlIHVwZGF0ZWQuCisgKiBAbmV3a2V5IC0gbmV3IGtleSB0byBiZSB1c2VkLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgaWJfdXBkYXRlX2Zhc3RfcmVnX2tleShzdHJ1Y3QgaWJfbXIgKm1yLCB1OCBuZXdrZXkpCit7CisJbXItPmxrZXkgPSAobXItPmxrZXkgJiAweGZmZmZmZjAwKSB8IG5ld2tleTsKKwltci0+cmtleSA9IChtci0+cmtleSAmIDB4ZmZmZmZmMDApIHwgbmV3a2V5OworfQorCisvKioKICAqIGliX2FsbG9jX213IC0gQWxsb2NhdGVzIGEgbWVtb3J5IHdpbmRvdy4KICAqIEBwZDogVGhlIHByb3RlY3Rpb24gZG9tYWluIGFzc29jaWF0ZWQgd2l0aCB0aGUgbWVtb3J5IHdpbmRvdy4KICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9yZG1hL2l3X2NtLmggYi9pbmNsdWRlL3JkbWEvaXdfY20uaAppbmRleCBhZWVmYTliLi5jYmI4MjJlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvaXdfY20uaAorKysgYi9pbmNsdWRlL3JkbWEvaXdfY20uaApAQCAtNjIsNyArNjIsNyBAQAogCXN0cnVjdCBzb2NrYWRkcl9pbiByZW1vdGVfYWRkcjsKIAl2b2lkICpwcml2YXRlX2RhdGE7CiAJdTggcHJpdmF0ZV9kYXRhX2xlbjsKLQl2b2lkKiBwcm92aWRlcl9kYXRhOworCXZvaWQgKnByb3ZpZGVyX2RhdGE7CiB9OwogCiAvKioKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtLmggYi9pbmNsdWRlL3JkbWEvcmRtYV9jbS5oCmluZGV4IDAxMGY4NzYuLjIyYmIyZTcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvcmRtYS9yZG1hX2NtLmgKKysrIGIvaW5jbHVkZS9yZG1hL3JkbWFfY20uaApAQCAtMiwyOSArMiwzMyBAQAogICogQ29weXJpZ2h0IChjKSAyMDA1IFZvbHRhaXJlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDUgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaWYgIWRlZmluZWQoUkRNQV9DTV9IKQpAQCAtNTcsMTEgKzYxLDExIEBACiB9OwogCiBlbnVtIHJkbWFfcG9ydF9zcGFjZSB7Ci0JUkRNQV9QU19TRFAgID0gMHgwMDAxLAotCVJETUFfUFNfSVBPSUI9IDB4MDAwMiwKLQlSRE1BX1BTX1RDUCAgPSAweDAxMDYsCi0JUkRNQV9QU19VRFAgID0gMHgwMTExLAotCVJETUFfUFNfU0NUUCA9IDB4MDE4MworCVJETUFfUFNfU0RQICAgPSAweDAwMDEsCisJUkRNQV9QU19JUE9JQiA9IDB4MDAwMiwKKwlSRE1BX1BTX1RDUCAgID0gMHgwMTA2LAorCVJETUFfUFNfVURQICAgPSAweDAxMTEsCisJUkRNQV9QU19TQ1RQICA9IDB4MDE4MwogfTsKIAogc3RydWN0IHJkbWFfYWRkciB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL3JkbWEvcmRtYV9jbV9pYi5oIGIvaW5jbHVkZS9yZG1hL3JkbWFfY21faWIuaAppbmRleCA5NTA0MjRiLi4yMzg5YzNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL3JkbWEvcmRtYV9jbV9pYi5oCisrKyBiL2luY2x1ZGUvcmRtYS9yZG1hX2NtX2liLmgKQEAgLTEsMjkgKzEsMzMgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKGMpIDIwMDYgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKLSAqIFRoaXMgU29mdHdhcmUgaXMgbGljZW5zZWQgdW5kZXIgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXM6CisgKiBUaGlzIHNvZnR3YXJlIGlzIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYSBjaG9pY2Ugb2Ygb25lIG9mIHR3bworICogbGljZW5zZXMuICBZb3UgbWF5IGNob29zZSB0byBiZSBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCisgKiBDT1BZSU5HIGluIHRoZSBtYWluIGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLCBvciB0aGUKKyAqIE9wZW5JQi5vcmcgQlNEIGxpY2Vuc2UgYmVsb3c6CiAgKgotICogMSkgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSAiQ29tbW9uIFB1YmxpYyBMaWNlbnNlIDEuMCIgYSBjb3B5IG9mIHdoaWNoIGlzCi0gKiAgICBhdmFpbGFibGUgZnJvbSB0aGUgT3BlbiBTb3VyY2UgSW5pdGlhdGl2ZSwgc2VlCi0gKiAgICBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2NwbC5waHAuCisgKiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgorICogICAgIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZworICogICAgIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAqCi0gKiAyKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJUaGUgQlNEIExpY2Vuc2UiIGEgY29weSBvZiB3aGljaCBpcwotICogICAgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lci4KICAqCi0gKiAzKSB1bmRlciB0aGUgdGVybXMgb2YgdGhlICJHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSBWZXJzaW9uIDIiIGEKLSAqICAgIGNvcHkgb2Ygd2hpY2ggaXMgYXZhaWxhYmxlIGZyb20gdGhlIE9wZW4gU291cmNlIEluaXRpYXRpdmUsIHNlZQotICogICAgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5waHAuCisgKiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICAgICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIExpY2Vuc2VlIGhhcyB0aGUgcmlnaHQgdG8gY2hvb3NlIG9uZSBvZiB0aGUgYWJvdmUgbGljZW5zZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSBhbmQgb25lIG9mIHRoZSBsaWNlbnNlIG5vdGljZXMuCi0gKgotICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIGJvdGggdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCBvbmUgb2YgdGhlIGxpY2Vuc2Ugbm90aWNlcyBpbiB0aGUgZG9jdW1lbnRhdGlvbgotICogYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5ECisgKiBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCisgKiBTT0ZUV0FSRS4KICAqLwogCiAjaWYgIWRlZmluZWQoUkRNQV9DTV9JQl9IKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zY3NpL3Njc2lfZGV2aWNlLmggYi9pbmNsdWRlL3Njc2kvc2NzaV9kZXZpY2UuaAppbmRleCBmNmE5ZmUwLi4wMGI3ODc2IDEwMDY0NAotLS0gYS9pbmNsdWRlL3Njc2kvc2NzaV9kZXZpY2UuaAorKysgYi9pbmNsdWRlL3Njc2kvc2NzaV9kZXZpY2UuaApAQCAtMTM0LDYgKzEzNCw3IEBACiAJdW5zaWduZWQgbm9fc3RhcnRfb25fYWRkOjE7CS8qIGRvIG5vdCBpc3N1ZSBzdGFydCBvbiBhZGQgKi8KIAl1bnNpZ25lZCBhbGxvd19yZXN0YXJ0OjE7IC8qIGlzc3VlIFNUQVJUX1VOSVQgaW4gZXJyb3IgaGFuZGxlciAqLwogCXVuc2lnbmVkIG1hbmFnZV9zdGFydF9zdG9wOjE7CS8qIExldCBITEQgKHNkKSBtYW5hZ2Ugc3RhcnQvc3RvcCAqLworCXVuc2lnbmVkIHN0YXJ0X3N0b3BfcHdyX2NvbmQ6MTsJLyogU2V0IHBvd2VyIGNvbmQuIGluIFNUQVJUX1NUT1BfVU5JVCAqLwogCXVuc2lnbmVkIG5vX3VsZF9hdHRhY2g6MTsgLyogZGlzYWJsZSBjb25uZWN0aW5nIHRvIHVwcGVyIGxldmVsIGRyaXZlcnMgKi8KIAl1bnNpZ25lZCBzZWxlY3Rfbm9fYXRuOjE7CiAJdW5zaWduZWQgZml4X2NhcGFjaXR5OjE7CS8qIFJFQURfQ0FQQUNJVFkgaXMgdG9vIGhpZ2ggYnkgMSAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9hZDE4NDMuaCBiL2luY2x1ZGUvc291bmQvYWQxODQzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIzNmE5ZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc291bmQvYWQxODQzLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIFRoaXMgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLiAgU2VlIHRoZSBmaWxlICJDT1BZSU5HIiBpbiB0aGUgbWFpbiBkaXJlY3Rvcnkgb2YgdGhpcyBhcmNoaXZlCisgKiBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIENvcHlyaWdodCAyMDAzIFZpdmllbiBDaGFwcGVsaWVyIDx2aXZpZW4uY2hhcHBlbGllckBsaW51eC1taXBzLm9yZz4KKyAqIENvcHlyaWdodCAyMDA4IFRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGZyYW5rZW4uZGU+CisgKi8KKworI2lmbmRlZiBfX1NPVU5EX0FEMTg0M19ICisjZGVmaW5lIF9fU09VTkRfQUQxODQzX0gKKworc3RydWN0IHNuZF9hZDE4NDMgeworCXZvaWQgKmNoaXA7CisJaW50ICgqcmVhZCkodm9pZCAqY2hpcCwgaW50IHJlZyk7CisJaW50ICgqd3JpdGUpKHZvaWQgKmNoaXAsIGludCByZWcsIGludCB2YWwpOworfTsKKworI2RlZmluZSBBRDE4NDNfR0FJTl9SRUNMRVYgMAorI2RlZmluZSBBRDE4NDNfR0FJTl9MSU5FICAgMQorI2RlZmluZSBBRDE4NDNfR0FJTl9MSU5FXzIgMgorI2RlZmluZSBBRDE4NDNfR0FJTl9NSUMgICAgMworI2RlZmluZSBBRDE4NDNfR0FJTl9QQ01fMCAgNAorI2RlZmluZSBBRDE4NDNfR0FJTl9QQ01fMSAgNQorI2RlZmluZSBBRDE4NDNfR0FJTl9TSVpFICAgKEFEMTg0M19HQUlOX1BDTV8xKzEpCisKK2ludCBhZDE4NDNfZ2V0X2dhaW5fbWF4KHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBpZCk7CitpbnQgYWQxODQzX2dldF9nYWluKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBpZCk7CitpbnQgYWQxODQzX3NldF9nYWluKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBpZCwgaW50IG5ld3ZhbCk7CitpbnQgYWQxODQzX2dldF9yZWNzcmMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0Myk7CitpbnQgYWQxODQzX3NldF9yZWNzcmMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IG5ld3NyYyk7Cit2b2lkIGFkMTg0M19zZXR1cF9kYWMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJICAgICAgdW5zaWduZWQgaW50IGlkLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKTsKK3ZvaWQgYWQxODQzX3NodXRkb3duX2RhYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkJIHVuc2lnbmVkIGludCBpZCk7Cit2b2lkIGFkMTg0M19zZXR1cF9hZGMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJICAgICAgdW5zaWduZWQgaW50IGZyYW1lcmF0ZSwKKwkJICAgICAgc25kX3BjbV9mb3JtYXRfdCBmbXQsCisJCSAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscyk7Cit2b2lkIGFkMTg0M19zaHV0ZG93bl9hZGMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0Myk7CitpbnQgYWQxODQzX2luaXQoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0Myk7CisKKyNlbmRpZiAvKiBfX1NPVU5EX0FEMTg0M19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL2NvbnRyb2wuaCBiL2luY2x1ZGUvc291bmQvY29udHJvbC5oCmluZGV4IDNkYzEyOTEuLjQ3MjFiNGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvY29udHJvbC5oCisrKyBiL2luY2x1ZGUvc291bmQvY29udHJvbC5oCkBAIC0xMjksOSArMTI5LDYgQEAKICNkZWZpbmUgc25kX2N0bF91bnJlZ2lzdGVyX2lvY3RsX2NvbXBhdChmY24pCiAjZW5kaWYKIAotaW50IHNuZF9jdGxfZWxlbV9yZWFkKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCk7Ci1pbnQgc25kX2N0bF9lbGVtX3dyaXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9jdGxfZmlsZSAqZmlsZSwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCk7Ci0KIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHNuZF9jdGxfZ2V0X2lvZmZudW0oc3RydWN0IHNuZF9rY29udHJvbCAqa2N0bCwgc3RydWN0IHNuZF9jdGxfZWxlbV9pZCAqaWQpCiB7CiAJcmV0dXJuIGlkLT5udW1pZCAtIGtjdGwtPmlkLm51bWlkOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9jb3JlLmggYi9pbmNsdWRlL3NvdW5kL2NvcmUuaAppbmRleCA2OTVlZTUzLi41NThiOTYyIDEwMDY0NAotLS0gYS9pbmNsdWRlL3NvdW5kL2NvcmUuaAorKysgYi9pbmNsdWRlL3NvdW5kL2NvcmUuaApAQCAtNDEyLDEzICs0MTIsMTMgQEAKIAogI2VuZGlmIC8qIENPTkZJR19TTkRfREVCVUcgKi8KIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAvKioKICAqIHNuZF9wcmludGRkIC0gZGVidWcgcHJpbnRrCiAgKiBAZm9ybWF0OiBmb3JtYXQgc3RyaW5nCiAgKgogICogV29ya3MgbGlrZSBzbmRfcHJpbnRrKCkgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KLSAqIElnbm9yZWQgd2hlbiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVCBpcyBub3Qgc2V0LgorICogSWdub3JlZCB3aGVuIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRSBpcyBub3Qgc2V0LgogICovCiAjZGVmaW5lIHNuZF9wcmludGRkKGZvcm1hdCwgYXJncy4uLikgc25kX3ByaW50ayhmb3JtYXQsICMjYXJncykKICNlbHNlCkBAIC00NDIsNyArNDQyLDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBzdWJ2ZW5kb3I7CS8qIFBDSSBzdWJ2ZW5kb3IgSUQgKi8KIAl1bnNpZ25lZCBzaG9ydCBzdWJkZXZpY2U7CS8qIFBDSSBzdWJkZXZpY2UgSUQgKi8KIAlpbnQgdmFsdWU7CQkJLyogdmFsdWUgKi8KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWNvbnN0IGNoYXIgKm5hbWU7CQkvKiBuYW1lIG9mIHRoZSBkZXZpY2UgKG9wdGlvbmFsKSAqLwogI2VuZGlmCiB9OwpAQCAtNDUwLDcgKzQ1MCw3IEBACiAjZGVmaW5lIF9TTkRfUENJX1FVSVJLX0lEKHZlbmQsZGV2KSBcCiAJLnN1YnZlbmRvciA9ICh2ZW5kKSwgLnN1YmRldmljZSA9IChkZXYpCiAjZGVmaW5lIFNORF9QQ0lfUVVJUktfSUQodmVuZCxkZXYpIHtfU05EX1BDSV9RVUlSS19JRCh2ZW5kLCBkZXYpfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAjZGVmaW5lIFNORF9QQ0lfUVVJUksodmVuZCxkZXYseG5hbWUsdmFsKSBcCiAJe19TTkRfUENJX1FVSVJLX0lEKHZlbmQsIGRldiksIC52YWx1ZSA9ICh2YWwpLCAubmFtZSA9ICh4bmFtZSl9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9jczQyMzEtcmVncy5oIGIvaW5jbHVkZS9zb3VuZC9jczQyMzEtcmVncy5oCmluZGV4IGU4ZDFmM2UuLjkyNjQ3NTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvY3M0MjMxLXJlZ3MuaAorKysgYi9pbmNsdWRlL3NvdW5kL2NzNDIzMS1yZWdzLmgKQEAgLTE3Nyw0ICsxNzcsMTIgQEAKICNkZWZpbmUgQ1M0MjM2X1JJR0hUX1dBVkUJMHgxYwkvKiByaWdodCB3YXZldGFibGUgc2VyaWFsIHBvcnQgdm9sdW1lICovCiAjZGVmaW5lIENTNDIzNl9WRVJTSU9OCQkweDljCS8qIGNoaXAgdmVyc2lvbiBhbmQgSUQgKi8KIAorLyogZGVmaW5pdGlvbnMgZm9yIGV4dGVuZGVkIHJlZ2lzdGVycyAtIE9QVEk5M1ggKi8KKyNkZWZpbmUgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVAkweDEwCisjZGVmaW5lIE9QVGk5MzFfQVVYX1JJR0hUX0lOUFVUCTB4MTEKKyNkZWZpbmUgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVAkweDE0CisjZGVmaW5lIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVUCTB4MTUKKyNkZWZpbmUgT1BUaTkzWF9PVVRfTEVGVAkweDE2CisjZGVmaW5lIE9QVGk5M1hfT1VUX1JJR0hUCTB4MTcKKwogI2VuZGlmIC8qIF9fU09VTkRfQ1M0MjMxX1JFR1NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9jczQyMzEuaCBiL2luY2x1ZGUvc291bmQvY3M0MjMxLmgKaW5kZXggNjYwNTVkNy4uZjA3ODVmOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zb3VuZC9jczQyMzEuaAorKysgYi9pbmNsdWRlL3NvdW5kL2NzNDIzMS5oCkBAIC01OCw2ICs1OCw3IEBACiAvKiBjb21wYXRpYmxlLCBidXQgY2xvbmVzICovCiAjZGVmaW5lIENTNDIzMV9IV19JTlRFUldBVkUgICAgIDB4MTAwMAkvKiBJbnRlcldhdmUgY2hpcCAqLwogI2RlZmluZSBDUzQyMzFfSFdfT1BMM1NBMiAgICAgICAweDExMDEJLyogT1BMMy1TQTIgY2hpcCwgc2ltaWxhciB0byBjczQyMzEgKi8KKyNkZWZpbmUgQ1M0MjMxX0hXX09QVEk5M1ggCTB4MTEwMgkvKiBPcHRpIDkzMC85MzEvOTMzICovCiAKIC8qIGRlZmluZXMgZm9yIGNvZGVjLmh3c2hhcmUgKi8KICNkZWZpbmUgQ1M0MjMxX0hXU0hBUkVfSVJRCSgxPDwwKQpAQCAtMTIwLDYgKzEyMSw4IEBACiB2b2lkIHNuZF9jczQyMzFfbWNlX3VwKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKTsKIHZvaWQgc25kX2NzNDIzMV9tY2VfZG93bihzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCk7CiAKK3ZvaWQgc25kX2NzNDIzMV9vdmVycmFuZ2Uoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApOworCiBpcnFyZXR1cm5fdCBzbmRfY3M0MjMxX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpOwogCiBjb25zdCBjaGFyICpzbmRfY3M0MjMxX2NoaXBfaWQoc3RydWN0IHNuZF9jczQyMzEgKmNoaXApOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9lbXUxMGsxLmggYi9pbmNsdWRlL3NvdW5kL2VtdTEwazEuaAppbmRleCA3YjdiOWIxLi4xMGVlMjhlIDEwMDY0NAotLS0gYS9pbmNsdWRlL3NvdW5kL2VtdTEwazEuaAorKysgYi9pbmNsdWRlL3NvdW5kL2VtdTEwazEuaApAQCAtMTY3MCw2ICsxNjcwLDcgQEAKIAl1bnNpZ25lZCBjaGFyIHNwaV9kYWM7ICAgICAgLyogU1BJIGludGVyZmFjZSBmb3IgREFDICovCiAJdW5zaWduZWQgY2hhciBpMmNfYWRjOyAgICAgIC8qIEkyQyBpbnRlcmZhY2UgZm9yIEFEQyAqLwogCXVuc2lnbmVkIGNoYXIgYWRjXzEzNjF0OyAgICAvKiBVc2UgUGhpbGlwcyAxMzYxVCBBREMgKi8KKwl1bnNpZ25lZCBjaGFyIGludmVydF9zaGFyZWRfc3BkaWY7IC8qIGFuYWxvZy9kaWdpdGFsIHN3aXRjaCBpbnZlcnRlZCAqLwogCWNvbnN0IGNoYXIgKmRyaXZlcjsKIAljb25zdCBjaGFyICpuYW1lOwogCWNvbnN0IGNoYXIgKmlkOwkJLyogZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgLSBjYW4gYmUgTlVMTCBpZiBub3QgbmVlZGVkICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3NlcV9rZXJuZWwuaCBiL2luY2x1ZGUvc291bmQvc2VxX2tlcm5lbC5oCmluZGV4IGYwMjNjMWIuLjNkOWFmYjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvc2VxX2tlcm5lbC5oCisrKyBiL2luY2x1ZGUvc291bmQvc2VxX2tlcm5lbC5oCkBAIC0xMDUsNyArMTA1LDcgQEAKIAkJCSAgICAgIGludCBjYXAsIGludCB0eXBlLCBpbnQgbWlkaV9jaGFubmVscywgaW50IG1pZGlfdm9pY2VzLCBjaGFyICpwb3J0bmFtZSk7CiBpbnQgc25kX3NlcV9ldmVudF9wb3J0X2RldGFjaChpbnQgY2xpZW50LCBpbnQgcG9ydCk7CiAKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiB2b2lkIHNuZF9zZXFfYXV0b2xvYWRfbG9jayh2b2lkKTsKIHZvaWQgc25kX3NlcV9hdXRvbG9hZF91bmxvY2sodm9pZCk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9zb2MtZGFwbS5oIGIvaW5jbHVkZS9zb3VuZC9zb2MtZGFwbS5oCmluZGV4IGExMDViMDEuLjMwMzBmZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvc29jLWRhcG0uaAorKysgYi9pbmNsdWRlL3NvdW5kL3NvYy1kYXBtLmgKQEAgLTEzMCw2ICsxMzAsMTMgQEAKIHsJLmlkID0gc25kX3NvY19kYXBtX2FkYywgLm5hbWUgPSB3bmFtZSwgLnNuYW1lID0gc3RuYW1lLCAucmVnID0gd3JlZywgXAogCS5zaGlmdCA9IHdzaGlmdCwgLmludmVydCA9IHdpbnZlcnR9CiAKKy8qIGdlbmVyaWMgcmVnaXN0ZXIgbW9kaWZpZXIgd2lkZ2V0ICovCisjZGVmaW5lIFNORF9TT0NfREFQTV9SRUcod2lkLCB3bmFtZSwgd3JlZywgd3NoaWZ0LCB3bWFzaywgd29uX3ZhbCwgd29mZl92YWwpIFwKK3sJLmlkID0gd2lkLCAubmFtZSA9IHduYW1lLCAua2NvbnRyb2xzID0gTlVMTCwgLm51bV9rY29udHJvbHMgPSAwLCBcCisJLnJlZyA9IC0oKHdyZWcpICsgMSksIC5zaGlmdCA9IHdzaGlmdCwgLm1hc2sgPSB3bWFzaywgXAorCS5vbl92YWwgPSB3b25fdmFsLCAub2ZmX3ZhbCA9IHdvZmZfdmFsLCAuZXZlbnQgPSBkYXBtX3JlZ19ldmVudCwgXAorCS5ldmVudF9mbGFncyA9IFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EfQorCiAvKiBkYXBtIGtjb250cm9sIHR5cGVzICovCiAjZGVmaW5lIFNPQ19EQVBNX1NJTkdMRSh4bmFtZSwgcmVnLCBzaGlmdCwgbWF4LCBpbnZlcnQpIFwKIHsJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIFwKQEAgLTE5Myw2ICsyMDAsNyBAQAogZW51bSBzbmRfc29jX2RhcG1fdHlwZTsKIHN0cnVjdCBzbmRfc29jX2RhcG1fcGF0aDsKIHN0cnVjdCBzbmRfc29jX2RhcG1fcGluOworc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZTsKIAogLyogZGFwbSBjb250cm9scyAqLwogaW50IHNuZF9zb2NfZGFwbV9wdXRfdm9sc3coc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCkBAIC0yMDUsMjUgKzIxMywzMiBAQAogCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKTsKIGludCBzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAogCWNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3aWRnZXQpOworaW50IHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3aWRnZXQsCisJaW50IG51bSk7CiAKIC8qIGRhcG0gcGF0aCBzZXR1cCAqLwotaW50IHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKK2ludCAgX19kZXByZWNhdGVkIHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKIAljb25zdCBjaGFyICpzaW5rX25hbWUsIGNvbnN0IGNoYXIgKmNvbnRyb2xfbmFtZSwgY29uc3QgY2hhciAqc3JjX25hbWUpOwogaW50IHNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOwogdm9pZCBzbmRfc29jX2RhcG1fZnJlZShzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2Rldik7CitpbnQgc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJICAgIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgKnJvdXRlLCBpbnQgbnVtKTsKIAogLyogZGFwbSBldmVudHMgKi8KIGludCBzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqc3RyZWFtLAogCWludCBldmVudCk7Ci1pbnQgc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiwgaW50IGV2ZW50KTsKK2ludCBzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsCisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpOwogCiAvKiBkYXBtIHN5cyBmcyAtIHVzZWQgYnkgdGhlIGNvcmUgKi8KIGludCBzbmRfc29jX2RhcG1fc3lzX2FkZChzdHJ1Y3QgZGV2aWNlICpkZXYpOwogCi0vKiBkYXBtIGF1ZGlvIGVuZHBvaW50IGNvbnRyb2wgKi8KLWludCBzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKLQljaGFyICpwaW4sIGludCBzdGF0dXMpOwotaW50IHNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOworLyogZGFwbSBhdWRpbyBwaW4gY29udHJvbCBhbmQgc3RhdHVzICovCitpbnQgc25kX3NvY19kYXBtX2VuYWJsZV9waW4oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pOworaW50IHNuZF9zb2NfZGFwbV9kaXNhYmxlX3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGNoYXIgKnBpbik7CitpbnQgc25kX3NvY19kYXBtX2dldF9waW5fc3RhdHVzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKTsKK2ludCBzbmRfc29jX2RhcG1fc3luYyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOwogCiAvKiBkYXBtIHdpZGdldCB0eXBlcyAqLwogZW51bSBzbmRfc29jX2RhcG1fdHlwZSB7CkBAIC0yNDUsNiArMjYwLDE4IEBACiAJc25kX3NvY19kYXBtX3Bvc3QsCQkJLyogbWFjaGluZSBzcGVjaWZpYyBwb3N0IHdpZGdldCAtIGV4ZWMgbGFzdCAqLwogfTsKIAorLyoKKyAqIERBUE0gYXVkaW8gcm91dGUgZGVmaW5pdGlvbi4KKyAqCisgKiBEZWZpbmVzIGFuIGF1ZGlvIHJvdXRlIG9yaWdpbmF0aW5nIGF0IHNvdXJjZSB2aWEgY29udHJvbCBhbmQgZmluaXNoaW5nCisgKiBhdCBzaW5rLgorICovCitzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIHsKKwljb25zdCBjaGFyICpzaW5rOworCWNvbnN0IGNoYXIgKmNvbnRyb2w7CisJY29uc3QgY2hhciAqc291cmNlOworfTsKKwogLyogZGFwbSBhdWRpbyBwYXRoIGJldHdlZW4gdHdvIHdpZGdldHMgKi8KIHN0cnVjdCBzbmRfc29jX2RhcG1fcGF0aCB7CiAJY2hhciAqbmFtZTsKQEAgLTI3Nyw2ICszMDQsOSBAQAogCXVuc2lnbmVkIGNoYXIgc2hpZnQ7CQkJLyogYml0cyB0byBzaGlmdCAqLwogCXVuc2lnbmVkIGludCBzYXZlZF92YWx1ZTsJCS8qIHdpZGdldCBzYXZlZCB2YWx1ZSAqLwogCXVuc2lnbmVkIGludCB2YWx1ZTsJCQkJLyogd2lkZ2V0IGN1cnJlbnQgdmFsdWUgKi8KKwl1bnNpZ25lZCBpbnQgbWFzazsJCQkvKiBub24tc2hpZnRlZCBtYXNrICovCisJdW5zaWduZWQgaW50IG9uX3ZhbDsJCQkvKiBvbiBzdGF0ZSB2YWx1ZSAqLworCXVuc2lnbmVkIGludCBvZmZfdmFsOwkJCS8qIG9mZiBzdGF0ZSB2YWx1ZSAqLwogCXVuc2lnbmVkIGNoYXIgcG93ZXI6MTsJCQkvKiBibG9jayBwb3dlciBzdGF0dXMgKi8KIAl1bnNpZ25lZCBjaGFyIGludmVydDoxOwkJCS8qIGludmVydCB0aGUgcG93ZXIgYml0ICovCiAJdW5zaWduZWQgY2hhciBhY3RpdmU6MTsJCQkvKiBhY3RpdmUgc3RyZWFtIG9uIERBQywgQURDJ3MgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvc29jLmggYi9pbmNsdWRlL3NvdW5kL3NvYy5oCmluZGV4IGQzYzhjMDMuLjE4OTBkODcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvc29jLmgKKysrIGIvaW5jbHVkZS9zb3VuZC9zb2MuaApAQCAtNzMsNiArNzMsMTUgQEAKIAkuZ2V0ID0gc25kX3NvY19nZXRfdm9sc3dfMnIsIC5wdXQgPSBzbmRfc29jX3B1dF92b2xzd18yciwgXAogCS5wcml2YXRlX3ZhbHVlID0gKHJlZ19sZWZ0KSB8ICgoc2hpZnQpIDw8IDgpICB8IFwKIAkJKChtYXgpIDw8IDEyKSB8ICgoaW52ZXJ0KSA8PCAyMCkgfCAoKHJlZ19yaWdodCkgPDwgMjQpIH0KKyNkZWZpbmUgU09DX0RPVUJMRV9TOF9UTFYoeG5hbWUsIHJlZywgbWluLCBtYXgsIHRsdl9hcnJheSkgXAorewkuaWZhY2UgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0gKHhuYW1lKSwgXAorCS5hY2Nlc3MgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUQgfCBcCisJCSAgU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwgXAorCS50bHYucCAgPSAodGx2X2FycmF5KSwgXAorCS5pbmZvICAgPSBzbmRfc29jX2luZm9fdm9sc3dfczgsIC5nZXQgPSBzbmRfc29jX2dldF92b2xzd19zOCwgXAorCS5wdXQgICAgPSBzbmRfc29jX3B1dF92b2xzd19zOCwgXAorCS5wcml2YXRlX3ZhbHVlID0gKHJlZykgfCAoKChzaWduZWQgY2hhciltYXgpIDw8IDE2KSB8IFwKKwkJCSAoKChzaWduZWQgY2hhciltaW4pIDw8IDI0KSB9CiAjZGVmaW5lIFNPQ19FTlVNX0RPVUJMRSh4cmVnLCB4c2hpZnRfbCwgeHNoaWZ0X3IsIHhtYXNrLCB4dGV4dHMpIFwKIHsJLnJlZyA9IHhyZWcsIC5zaGlmdF9sID0geHNoaWZ0X2wsIC5zaGlmdF9yID0geHNoaWZ0X3IsIFwKIAkubWFzayA9IHhtYXNrLCAudGV4dHMgPSB4dGV4dHMgfQpAQCAtOTEsNiArMTAwLDE1IEBACiAJLmluZm8gPSBzbmRfc29jX2luZm9fdm9sc3csIFwKIAkuZ2V0ID0geGhhbmRsZXJfZ2V0LCAucHV0ID0geGhhbmRsZXJfcHV0LCBcCiAJLnByaXZhdGVfdmFsdWUgPSBTT0NfU0lOR0xFX1ZBTFVFKHhyZWcsIHhzaGlmdCwgeG1hc2ssIHhpbnZlcnQpIH0KKyNkZWZpbmUgU09DX1NJTkdMRV9FWFRfVExWKHhuYW1lLCB4cmVnLCB4c2hpZnQsIHhtYXNrLCB4aW52ZXJ0LFwKKwkgeGhhbmRsZXJfZ2V0LCB4aGFuZGxlcl9wdXQsIHRsdl9hcnJheSkgXAorewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgXAorCS5hY2Nlc3MgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUQgfFwKKwkJIFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsXAorCS50bHYucCA9ICh0bHZfYXJyYXkpLCBcCisJLmluZm8gPSBzbmRfc29jX2luZm9fdm9sc3csIFwKKwkuZ2V0ID0geGhhbmRsZXJfZ2V0LCAucHV0ID0geGhhbmRsZXJfcHV0LCBcCisJLnByaXZhdGVfdmFsdWUgPSBTT0NfU0lOR0xFX1ZBTFVFKHhyZWcsIHhzaGlmdCwgeG1hc2ssIHhpbnZlcnQpIH0KICNkZWZpbmUgU09DX1NJTkdMRV9CT09MX0VYVCh4bmFtZSwgeGRhdGEsIHhoYW5kbGVyX2dldCwgeGhhbmRsZXJfcHV0KSBcCiB7CS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCBcCiAJLmluZm8gPSBzbmRfc29jX2luZm9fYm9vbF9leHQsIFwKQEAgLTEwMyw2ICsxMjEsMjQgQEAKIAkucHJpdmF0ZV92YWx1ZSA9ICh1bnNpZ25lZCBsb25nKSZ4ZW51bSB9CiAKIC8qCisgKiBCaWFzIGxldmVscworICoKKyAqIEBPTjogICAgICBCaWFzIGlzIGZ1bGx5IG9uIGZvciBhdWRpbyBwbGF5YmFjayBhbmQgY2FwdHVyZSBvcGVyYXRpb25zLgorICogQFBSRVBBUkU6IFByZXBhcmUgZm9yIGF1ZGlvIG9wZXJhdGlvbnMuIENhbGxlZCBiZWZvcmUgREFQTSBzd2l0Y2hpbmcgZm9yCisgKiAgICAgICAgICAgc3RyZWFtIHN0YXJ0IGFuZCBzdG9wIG9wZXJhdGlvbnMuCisgKiBAU1RBTkRCWTogTG93IHBvd2VyIHN0YW5kYnkgc3RhdGUgd2hlbiBubyBwbGF5YmFjay9jYXB0dXJlIG9wZXJhdGlvbnMgYXJlCisgKiAgICAgICAgICAgaW4gcHJvZ3Jlc3MuIE5PVEU6IFRoZSB0cmFuc2l0aW9uIHRpbWUgYmV0d2VlbiBTVEFOREJZIGFuZCBPTgorICogICAgICAgICAgIHNob3VsZCBiZSBhcyBmYXN0IGFzIHBvc3NpYmxlIGFuZCBubyBsb25nZXIgdGhhbiAxMG1zLgorICogQE9GRjogICAgIFBvd2VyIE9mZi4gTm8gcmVzdHJpY3Rpb25zIG9uIHRyYW5zaXRpb24gdGltZXMuCisgKi8KK2VudW0gc25kX3NvY19iaWFzX2xldmVsIHsKKwlTTkRfU09DX0JJQVNfT04sCisJU05EX1NPQ19CSUFTX1BSRVBBUkUsCisJU05EX1NPQ19CSUFTX1NUQU5EQlksCisJU05EX1NPQ19CSUFTX09GRiwKK307CisKKy8qCiAgKiBEaWdpdGFsIEF1ZGlvIEludGVyZmFjZSAoREFJKSB0eXBlcwogICovCiAjZGVmaW5lIFNORF9TT0NfREFJX0FDOTcJMHgxCkBAIC0xODUsOCArMjIxLDcgQEAKIHN0cnVjdCBzbmRfc29jX29wczsKIHN0cnVjdCBzbmRfc29jX2RhaV9tb2RlOwogc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWU7Ci1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWk7Ci1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpOworc3RydWN0IHNuZF9zb2NfZGFpOwogc3RydWN0IHNuZF9zb2NfY29kZWM7CiBzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lX2NvbmZpZzsKIHN0cnVjdCBzb2NfZW51bTsKQEAgLTIyMSw2ICsyNTYsMjcgQEAKIAlzdHJ1Y3Qgc25kX2FjOTdfYnVzX29wcyAqb3BzLCBpbnQgbnVtKTsKIHZvaWQgc25kX3NvY19mcmVlX2FjOTdfY29kZWMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKTsKIAorLyogRGlnaXRhbCBBdWRpbyBJbnRlcmZhY2UgY2xvY2tpbmcgQVBJLiovCitpbnQgc25kX3NvY19kYWlfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IGNsa19pZCwKKwl1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcik7CisKK2ludCBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBkaXZfaWQsIGludCBkaXYpOworCitpbnQgc25kX3NvY19kYWlfc2V0X3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KTsKKworLyogRGlnaXRhbCBBdWRpbyBpbnRlcmZhY2UgZm9ybWF0dGluZyAqLworaW50IHNuZF9zb2NfZGFpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpOworCitpbnQgc25kX3NvY19kYWlfc2V0X3RkbV9zbG90KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCXVuc2lnbmVkIGludCBtYXNrLCBpbnQgc2xvdHMpOworCitpbnQgc25kX3NvY19kYWlfc2V0X3RyaXN0YXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgdHJpc3RhdGUpOworCisvKiBEaWdpdGFsIEF1ZGlvIEludGVyZmFjZSBtdXRlICovCitpbnQgc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSk7CisKIC8qCiAgKkNvbnRyb2xzCiAgKi8KQEAgLTI0OSw2ICszMDUsMTIgQEAKIAlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CiBpbnQgc25kX3NvY19wdXRfdm9sc3dfMnIoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCiAJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpOworaW50IHNuZF9zb2NfaW5mb192b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX2luZm8gKnVpbmZvKTsKK2ludCBzbmRfc29jX2dldF92b2xzd19zOChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCk7CitpbnQgc25kX3NvY19wdXRfdm9sc3dfczgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpOwogCiAvKiBTb0MgUENNIHN0cmVhbSBpbmZvcm1hdGlvbiAqLwogc3RydWN0IHNuZF9zb2NfcGNtX3N0cmVhbSB7CkBAIC0yNzIsODcgKzMzNCw0NSBAQAogCWludCAoKnRyaWdnZXIpKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqLCBpbnQpOwogfTsKIAotLyogQVNvQyBjb2RlYyBEQUkgb3BzICovCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19vcHMgewotCS8qIGNvZGVjIERBSSBjbG9ja2luZyBjb25maWd1cmF0aW9uICovCi0JaW50ICgqc2V0X3N5c2Nsaykoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCisvKiBBU29DIERBSSBvcHMgKi8KK3N0cnVjdCBzbmRfc29jX2RhaV9vcHMgeworCS8qIERBSSBjbG9ja2luZyBjb25maWd1cmF0aW9uICovCisJaW50ICgqc2V0X3N5c2Nsaykoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKTsKLQlpbnQgKCpzZXRfcGxsKShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKKwlpbnQgKCpzZXRfcGxsKShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCk7Ci0JaW50ICgqc2V0X2Nsa2Rpdikoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCi0JCWludCBkaXZfaWQsIGludCBkaXYpOworCWludCAoKnNldF9jbGtkaXYpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgZGl2X2lkLCBpbnQgZGl2KTsKIAotCS8qIENQVSBEQUkgZm9ybWF0IGNvbmZpZ3VyYXRpb24gKi8KLQlpbnQgKCpzZXRfZm10KShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKLQkJdW5zaWduZWQgaW50IGZtdCk7Ci0JaW50ICgqc2V0X3RkbV9zbG90KShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKKwkvKiBEQUkgZm9ybWF0IGNvbmZpZ3VyYXRpb24gKi8KKwlpbnQgKCpzZXRfZm10KShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCk7CisJaW50ICgqc2V0X3RkbV9zbG90KShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAkJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cyk7Ci0JaW50ICgqc2V0X3RyaXN0YXRlKShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKiwgaW50IHRyaXN0YXRlKTsKKwlpbnQgKCpzZXRfdHJpc3RhdGUpKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgdHJpc3RhdGUpOwogCiAJLyogZGlnaXRhbCBtdXRlICovCi0JaW50ICgqZGlnaXRhbF9tdXRlKShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKiwgaW50IG11dGUpOworCWludCAoKmRpZ2l0YWxfbXV0ZSkoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKTsKIH07CiAKLS8qIEFTb0MgY3B1IERBSSBvcHMgKi8KLXN0cnVjdCBzbmRfc29jX2NwdV9vcHMgewotCS8qIENQVSBEQUkgY2xvY2tpbmcgY29uZmlndXJhdGlvbiAqLwotCWludCAoKnNldF9zeXNjbGspKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKTsKLQlpbnQgKCpzZXRfY2xrZGl2KShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAotCQlpbnQgZGl2X2lkLCBpbnQgZGl2KTsKLQlpbnQgKCpzZXRfcGxsKShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAotCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KTsKLQotCS8qIENQVSBEQUkgZm9ybWF0IGNvbmZpZ3VyYXRpb24gKi8KLQlpbnQgKCpzZXRfZm10KShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAotCQl1bnNpZ25lZCBpbnQgZm10KTsKLQlpbnQgKCpzZXRfdGRtX3Nsb3QpKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCi0JCXVuc2lnbmVkIGludCBtYXNrLCBpbnQgc2xvdHMpOwotCWludCAoKnNldF90cmlzdGF0ZSkoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqLCBpbnQgdHJpc3RhdGUpOwotfTsKLQotLyogU29DIENvZGVjIERBSSAqLwotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHsKLQljaGFyICpuYW1lOwotCWludCBpZDsKLQl1bnNpZ25lZCBjaGFyIHR5cGU7Ci0KLQkvKiBEQUkgY2FwYWJpbGl0aWVzICovCi0Jc3RydWN0IHNuZF9zb2NfcGNtX3N0cmVhbSBwbGF5YmFjazsKLQlzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIGNhcHR1cmU7Ci0KLQkvKiBEQUkgcnVudGltZSBpbmZvICovCi0Jc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOwotCXVuc2lnbmVkIGludCBhY3RpdmU7Ci0JdW5zaWduZWQgY2hhciBwb3Bfd2FpdDoxOwotCi0JLyogb3BzICovCi0Jc3RydWN0IHNuZF9zb2Nfb3BzIG9wczsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19vcHMgZGFpX29wczsKLQotCS8qIERBSSBwcml2YXRlIGRhdGEgKi8KLQl2b2lkICpwcml2YXRlX2RhdGE7Ci19OwotCi0vKiBTb0MgQ1BVIERBSSAqLwotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSB7Ci0KKy8qIFNvQyAgREFJIChEaWdpdGFsIEF1ZGlvIEludGVyZmFjZSkgKi8KK3N0cnVjdCBzbmRfc29jX2RhaSB7CiAJLyogREFJIGRlc2NyaXB0aW9uICovCiAJY2hhciAqbmFtZTsKIAl1bnNpZ25lZCBpbnQgaWQ7CiAJdW5zaWduZWQgY2hhciB0eXBlOwogCiAJLyogREFJIGNhbGxiYWNrcyAqLwotCWludCAoKnByb2JlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKLQl2b2lkICgqcmVtb3ZlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKKwlpbnQgKCpwcm9iZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSk7CisJdm9pZCAoKnJlbW92ZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJICAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKIAlpbnQgKCpzdXNwZW5kKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpOwogCWludCAoKnJlc3VtZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKIAogCS8qIG9wcyAqLwogCXN0cnVjdCBzbmRfc29jX29wcyBvcHM7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X29wcyBkYWlfb3BzOworCXN0cnVjdCBzbmRfc29jX2RhaV9vcHMgZGFpX29wczsKIAogCS8qIERBSSBjYXBhYmlsaXRpZXMgKi8KIAlzdHJ1Y3Qgc25kX3NvY19wY21fc3RyZWFtIGNhcHR1cmU7CkBAIC0zNjAsNyArMzgwLDkgQEAKIAogCS8qIERBSSBydW50aW1lIGluZm8gKi8KIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lOwotCXVuc2lnbmVkIGNoYXIgYWN0aXZlOjE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCXVuc2lnbmVkIGludCBhY3RpdmU7CisJdW5zaWduZWQgY2hhciBwb3Bfd2FpdDoxOwogCXZvaWQgKmRtYV9kYXRhOwogCiAJLyogREFJIHByaXZhdGUgZGF0YSAqLwpAQCAtMzc0LDcgKzM5Niw4IEBACiAJc3RydWN0IG11dGV4IG11dGV4OwogCiAJLyogY2FsbGJhY2tzICovCi0JaW50ICgqZGFwbV9ldmVudCkoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpOworCWludCAoKnNldF9iaWFzX2xldmVsKShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqLAorCQkJICAgICAgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpOwogCiAJLyogcnVudGltZSAqLwogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKQEAgLTM5NiwxMiArNDE5LDEyIEBACiAJLyogZGFwbSAqLwogCXN0cnVjdCBsaXN0X2hlYWQgZGFwbV93aWRnZXRzOwogCXN0cnVjdCBsaXN0X2hlYWQgZGFwbV9wYXRoczsKLQl1bnNpZ25lZCBpbnQgZGFwbV9zdGF0ZTsKLQl1bnNpZ25lZCBpbnQgc3VzcGVuZF9kYXBtX3N0YXRlOworCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGJpYXNfbGV2ZWw7CisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgc3VzcGVuZF9iaWFzX2xldmVsOwogCXN0cnVjdCBkZWxheWVkX3dvcmsgZGVsYXllZF93b3JrOwogCiAJLyogY29kZWMgREFJJ3MgKi8KLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaTsKIAl1bnNpZ25lZCBpbnQgbnVtX2RhaTsKIH07CiAKQEAgLTQyMCwxMiArNDQzLDEyIEBACiAJaW50ICgqcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOwogCWludCAoKnJlbW92ZSkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAJaW50ICgqc3VzcGVuZCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKTsKIAlpbnQgKCpyZXN1bWUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSk7CiAKIAkvKiBwY20gY3JlYXRpb24gYW5kIGRlc3RydWN0aW9uICovCi0JaW50ICgqcGNtX25ldykoc3RydWN0IHNuZF9jYXJkICosIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqLAorCWludCAoKnBjbV9uZXcpKHN0cnVjdCBzbmRfY2FyZCAqLCBzdHJ1Y3Qgc25kX3NvY19kYWkgKiwKIAkJc3RydWN0IHNuZF9wY20gKik7CiAJdm9pZCAoKnBjbV9mcmVlKShzdHJ1Y3Qgc25kX3BjbSAqKTsKIApAQCAtNDM5LDggKzQ2Miw4IEBACiAJY2hhciAqc3RyZWFtX25hbWU7CQkvKiBTdHJlYW0gbmFtZSAqLwogCiAJLyogREFJICovCi0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWk7CiAKIAkvKiBtYWNoaW5lIHN0cmVhbSBvcGVyYXRpb25zICovCiAJc3RydWN0IHNuZF9zb2Nfb3BzICpvcHM7CkBAIC00NjcsNyArNDkwLDggQEAKIAlpbnQgKCpyZXN1bWVfcG9zdCkoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldik7CiAKIAkvKiBjYWxsYmFja3MgKi8KLQlpbnQgKCpkYXBtX2V2ZW50KShzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICosIGludCBldmVudCk7CisJaW50ICgqc2V0X2JpYXNfbGV2ZWwpKHN0cnVjdCBzbmRfc29jX21hY2hpbmUgKiwKKwkJCSAgICAgIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKTsKIAogCS8qIENQVSA8LS0+IENvZGVjIERBSSBsaW5rcyAgKi8KIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqZGFpX2xpbms7CkBAIC00ODIsNiArNTA2LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CiAJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXY7CiAJc3RydWN0IGRlbGF5ZWRfd29yayBkZWxheWVkX3dvcms7CisJc3RydWN0IHdvcmtfc3RydWN0IGRlZmVycmVkX3Jlc3VtZV93b3JrOwogCXZvaWQgKmNvZGVjX2RhdGE7CiB9OwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvdW5kL3VkYTEzNDEuaCBiL2luY2x1ZGUvc291bmQvdWRhMTM0MS5oCmluZGV4IDJlNTY0YmYuLjExMGQ1ZGMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvc291bmQvdWRhMTM0MS5oCisrKyBiL2luY2x1ZGUvc291bmQvdWRhMTM0MS5oCkBAIC0xNSw4ICsxNSw2IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIGZlYXR1cmVzIHN1cHBvcnQKICAqLwogCi0vKiAkSWQ6IHVkYTEzNDEuaCx2IDEuOCAyMDA1LzExLzE3IDE0OjE3OjIxIHRpd2FpIEV4cCAkICovCi0KICNkZWZpbmUgVURBMTM0MV9BTFNBX05BTUUgInNuZC11ZGExMzQxIgogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC92ZXJzaW9uLmggYi9pbmNsdWRlL3NvdW5kL3ZlcnNpb24uaAppbmRleCBlZDZmYjJlLi42Yjc4YWZmIDEwMDY0NAotLS0gYS9pbmNsdWRlL3NvdW5kL3ZlcnNpb24uaAorKysgYi9pbmNsdWRlL3NvdW5kL3ZlcnNpb24uaApAQCAtMSwzICsxLDMgQEAKLS8qIGluY2x1ZGUvdmVyc2lvbi5oLiAgR2VuZXJhdGVkIGJ5IGFsc2Eva3N5bmMgc2NyaXB0LiAgKi8KLSNkZWZpbmUgQ09ORklHX1NORF9WRVJTSU9OICIxLjAuMTYiCisvKiBpbmNsdWRlL3ZlcnNpb24uaCAqLworI2RlZmluZSBDT05GSUdfU05EX1ZFUlNJT04gIjEuMC4xNyIKICNkZWZpbmUgQ09ORklHX1NORF9EQVRFICIiCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9ldmVudHMuaCBiL2luY2x1ZGUveGVuL2V2ZW50cy5oCmluZGV4IGFjZDhlMDYuLjY3YzQ0MzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2V2ZW50cy5oCisrKyBiL2luY2x1ZGUveGVuL2V2ZW50cy5oCkBAIC0zMiw2ICszMiw3IEBACiAKIHZvaWQgeGVuX3NlbmRfSVBJX29uZSh1bnNpZ25lZCBpbnQgY3B1LCBlbnVtIGlwaV92ZWN0b3IgdmVjdG9yKTsKIGludCByZXNlbmRfaXJxX29uX2V2dGNobih1bnNpZ25lZCBpbnQgaXJxKTsKK3ZvaWQgcmViaW5kX2V2dGNobl9pcnEoaW50IGV2dGNobiwgaW50IGlycSk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlfcmVtb3RlX3ZpYV9ldnRjaG4oaW50IHBvcnQpCiB7CkBAIC00MCw0ICs0MSw3IEBACiB9CiAKIGV4dGVybiB2b2lkIG5vdGlmeV9yZW1vdGVfdmlhX2lycShpbnQgaXJxKTsKKworZXh0ZXJuIHZvaWQgeGVuX2lycV9yZXN1bWUodm9pZCk7CisKICNlbmRpZgkvKiBfWEVOX0VWRU5UU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oIGIvaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaAppbmRleCA0NjYyMDQ4Li5hNDBmMWNkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9ncmFudF90YWJsZS5oCisrKyBiL2luY2x1ZGUveGVuL2dyYW50X3RhYmxlLmgKQEAgLTUxLDYgKzUxLDkgQEAKIAl1MTYgY291bnQ7CiB9OwogCitpbnQgZ250dGFiX3N1c3BlbmQodm9pZCk7CitpbnQgZ250dGFiX3Jlc3VtZSh2b2lkKTsKKwogaW50IGdudHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzcyhkb21pZF90IGRvbWlkLCB1bnNpZ25lZCBsb25nIGZyYW1lLAogCQkJCWludCByZWFkb25seSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2h2Yy1jb25zb2xlLmggYi9pbmNsdWRlL3hlbi9odmMtY29uc29sZS5oCmluZGV4IDIxYzBlY2YuLjk4Yjc5YmMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2h2Yy1jb25zb2xlLmgKKysrIGIvaW5jbHVkZS94ZW4vaHZjLWNvbnNvbGUuaApAQCAtMyw0ICszLDEzIEBACiAKIGV4dGVybiBzdHJ1Y3QgY29uc29sZSB4ZW5ib290X2NvbnNvbGU7CiAKKyNpZmRlZiBDT05GSUdfSFZDX1hFTgordm9pZCB4ZW5fY29uc29sZV9yZXN1bWUodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHhlbl9jb25zb2xlX3Jlc3VtZSh2b2lkKSB7IH0KKyNlbmRpZgorCit2b2lkIHhlbl9yYXdfY29uc29sZV93cml0ZShjb25zdCBjaGFyICpzdHIpOwordm9pZCB4ZW5fcmF3X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLik7CisKICNlbmRpZgkvKiBYRU5fSFZDX0NPTlNPTEVfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9lbGZub3RlLmgKaW5kZXggYTY0ZDNkZi4uN2E4MjYyYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oCkBAIC0xMjAsNiArMTIwLDI2IEBACiAgKi8KICNkZWZpbmUgWEVOX0VMRk5PVEVfQlNEX1NZTVRBQiAgICAxMQogCisvKgorICogVGhlIGxvd2VzdCBhZGRyZXNzIHRoZSBoeXBlcnZpc29yIGhvbGUgY2FuIGJlZ2luIGF0IChudW1lcmljKS4KKyAqCisgKiBUaGlzIG11c3Qgbm90IGJlIHNldCBoaWdoZXIgdGhhbiBIWVBFUlZJU09SX1ZJUlRfU1RBUlQuIEl0cyBwcmVzZW5jZQorICogYWxzbyBpbmRpY2F0ZXMgdG8gdGhlIGh5cGVydmlzb3IgdGhhdCB0aGUga2VybmVsIGNhbiBkZWFsIHdpdGggdGhlCisgKiBob2xlIHN0YXJ0aW5nIGF0IGEgaGlnaGVyIGFkZHJlc3MuCisgKi8KKyNkZWZpbmUgWEVOX0VMRk5PVEVfSFZfU1RBUlRfTE9XICAxMgorCisvKgorICogTGlzdCBvZiBtYWRkcl90LXNpemVkIG1hc2svdmFsdWUgcGFpcnMgZGVzY3JpYmluZyBob3cgdG8gcmVjb2duaXplCisgKiAobm9uLXByZXNlbnQpIEwxIHBhZ2UgdGFibGUgZW50cmllcyBjYXJyeWluZyB2YWxpZCBNRk5zIChudW1lcmljKS4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9MMV9NRk5fVkFMSUQgIDEzCisKKy8qCisgKiBXaGV0aGVyIG9yIG5vdCB0aGUgZ3Vlc3Qgc3VwcG9ydHMgY29vcGVyYXRpdmUgc3VzcGVuZCBjYW5jZWxsYXRpb24uCisgKi8KKyNkZWZpbmUgWEVOX0VMRk5PVEVfU1VTUEVORF9DQU5DRUwgMTQKKwogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19FTEZOT1RFX0hfXyAqLwogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2ZlYXR1cmVzLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaAppbmRleCBkNzMyMjhkLi5mNTFiNjQxIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaAorKysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZmVhdHVyZXMuaApAQCAtMzgsNiArMzgsOSBAQAogICovCiAjZGVmaW5lIFhFTkZFQVRfcGFlX3BnZGlyX2Fib3ZlXzRnYiAgICAgICAgNAogCisvKiB4ODY6IERvZXMgdGhpcyBYZW4gaG9zdCBzdXBwb3J0IHRoZSBNTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEIGh5cGVyY2FsbD8gKi8KKyNkZWZpbmUgWEVORkVBVF9tbXVfcHRfdXBkYXRlX3ByZXNlcnZlX2FkICA1CisKICNkZWZpbmUgWEVORkVBVF9OUl9TVUJNQVBTIDEKIAogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19GRUFUVVJFU19IX18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9mYmlmLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vZmJpZi5oCmluZGV4IDVhOTM0ZGQuLjk3NGE1MWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9mYmlmLmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL2ZiaWYuaApAQCAtNDksMTEgKzQ5LDI3IEBACiAJaW50MzJfdCBoZWlnaHQ7CQkvKiByZWN0IGhlaWdodCAqLwogfTsKIAorLyoKKyAqIEZyYW1lYnVmZmVyIHJlc2l6ZSBub3RpZmljYXRpb24gZXZlbnQKKyAqIENhcGFibGUgYmFja2VuZCBzZXRzIGZlYXR1cmUtcmVzaXplIGluIHhlbnN0b3JlLgorICovCisjZGVmaW5lIFhFTkZCX1RZUEVfUkVTSVpFIDMKKworc3RydWN0IHhlbmZiX3Jlc2l6ZSB7CisJdWludDhfdCB0eXBlOwkJLyogWEVORkJfVFlQRV9SRVNJWkUgKi8KKwlpbnQzMl90IHdpZHRoOwkJLyogd2lkdGggaW4gcGl4ZWxzICovCisJaW50MzJfdCBoZWlnaHQ7CQkvKiBoZWlnaHQgaW4gcGl4ZWxzICovCisJaW50MzJfdCBzdHJpZGU7CQkvKiBzdHJpZGUgaW4gYnl0ZXMgKi8KKwlpbnQzMl90IGRlcHRoOwkJLyogZGVwdGggaW4gYml0cyAqLworCWludDMyX3Qgb2Zmc2V0OwkJLyogc3RhcnQgb2Zmc2V0IHdpdGhpbiBmcmFtZWJ1ZmZlciAqLworfTsKKwogI2RlZmluZSBYRU5GQl9PVVRfRVZFTlRfU0laRSA0MAogCiB1bmlvbiB4ZW5mYl9vdXRfZXZlbnQgewogCXVpbnQ4X3QgdHlwZTsKIAlzdHJ1Y3QgeGVuZmJfdXBkYXRlIHVwZGF0ZTsKKwlzdHJ1Y3QgeGVuZmJfcmVzaXplIHJlc2l6ZTsKIAljaGFyIHBhZFtYRU5GQl9PVVRfRVZFTlRfU0laRV07CiB9OwogCkBAIC0xMDUsMTUgKzEyMSwxOCBAQAogCSAqIEVhY2ggZGlyZWN0b3J5IHBhZ2UgaG9sZHMgUEFHRV9TSVpFIC8gc2l6ZW9mKCpwZCkKIAkgKiBmcmFtZWJ1ZmZlciBwYWdlcywgYW5kIGNhbiB0aHVzIG1hcCB1cCB0byBQQUdFX1NJWkUgKgogCSAqIFBBR0VfU0laRSAvIHNpemVvZigqcGQpIGJ5dGVzLiAgV2l0aCBQQUdFX1NJWkUgPT0gNDA5NiBhbmQKLQkgKiBzaXplb2YodW5zaWduZWQgbG9uZykgPT0gNCwgdGhhdCdzIDQgTWVncy4gIFR3byBkaXJlY3RvcnkKLQkgKiBwYWdlcyBzaG91bGQgYmUgZW5vdWdoIGZvciBhIHdoaWxlLgorCSAqIHNpemVvZih1bnNpZ25lZCBsb25nKSA9PSA0LzgsIHRoYXQncyA0IE1lZ3MgMzIgYml0IGFuZCAyCisJICogTWVncyA2NCBiaXQuICAyNTYgZGlyZWN0b3JpZXMgZ2l2ZSBlbm91Z2ggcm9vbSBmb3IgYSA1MTIKKwkgKiBNZWcgZnJhbWVidWZmZXIgd2l0aCBhIG1heCByZXNvbHV0aW9uIG9mIDEyLDgwMHgxMCwyNDAuCisJICogU2hvdWxkIGJlIGVub3VnaCBmb3IgYSB3aGlsZSB3aXRoIHJvb20gbGVmdG92ZXIgZm9yCisJICogZXhwYW5zaW9uLgogCSAqLwotCXVuc2lnbmVkIGxvbmcgcGRbMl07CisJdW5zaWduZWQgbG9uZyBwZFsyNTZdOwogfTsKIAogLyoKLSAqIFdhcnQ6IHhlbmtiZCBuZWVkcyB0byBrbm93IHJlc29sdXRpb24uICBQdXQgaXQgaGVyZSB1bnRpbCBhIGJldHRlcgotICogc29sdXRpb24gaXMgZm91bmQsIGJ1dCBkb24ndCBsZWFrIGl0IHRvIHRoZSBiYWNrZW5kLgorICogV2FydDogeGVua2JkIG5lZWRzIHRvIGtub3cgZGVmYXVsdCByZXNvbHV0aW9uLiAgUHV0IGl0IGhlcmUgdW50aWwgYQorICogYmV0dGVyIHNvbHV0aW9uIGlzIGZvdW5kLCBidXQgZG9uJ3QgbGVhayBpdCB0byB0aGUgYmFja2VuZC4KICAqLwogI2lmZGVmIF9fS0VSTkVMX18KICNkZWZpbmUgWEVORkJfV0lEVEggODAwCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8va2JkaWYuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9rYmRpZi5oCmluZGV4IGZiOTdmNDIuLjgwNjZjNzggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9rYmRpZi5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9pby9rYmRpZi5oCkBAIC00OSw2ICs0OSw3IEBACiAJdWludDhfdCB0eXBlOwkJLyogWEVOS0JEX1RZUEVfTU9USU9OICovCiAJaW50MzJfdCByZWxfeDsJCS8qIHJlbGF0aXZlIFggbW90aW9uICovCiAJaW50MzJfdCByZWxfeTsJCS8qIHJlbGF0aXZlIFkgbW90aW9uICovCisJaW50MzJfdCByZWxfejsJCS8qIHJlbGF0aXZlIFogbW90aW9uICh3aGVlbCkgKi8KIH07CiAKIHN0cnVjdCB4ZW5rYmRfa2V5IHsKQEAgLTYxLDYgKzYyLDcgQEAKIAl1aW50OF90IHR5cGU7CQkvKiBYRU5LQkRfVFlQRV9QT1MgKi8KIAlpbnQzMl90IGFic194OwkJLyogYWJzb2x1dGUgWCBwb3NpdGlvbiAoaW4gRkIgcGl4ZWxzKSAqLwogCWludDMyX3QgYWJzX3k7CQkvKiBhYnNvbHV0ZSBZIHBvc2l0aW9uIChpbiBGQiBwaXhlbHMpICovCisJaW50MzJfdCByZWxfejsJCS8qIHJlbGF0aXZlIFogbW90aW9uICh3aGVlbCkgKi8KIH07CiAKICNkZWZpbmUgWEVOS0JEX0lOX0VWRU5UX1NJWkUgNDAKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9tZW1vcnkuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9tZW1vcnkuaAppbmRleCBkYTc2ODQ2Li5hZjM2ZWFkIDEwMDY0NAotLS0gYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvbWVtb3J5LmgKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL21lbW9yeS5oCkBAIC0yOSw3ICsyOSw3IEBACiAgICAgICogICBPVVQ6IEdNRk4gYmFzZXMgb2YgZXh0ZW50cyB0aGF0IHdlcmUgYWxsb2NhdGVkCiAgICAgICogICAoTkIuIFRoaXMgY29tbWFuZCBhbHNvIHVwZGF0ZXMgdGhlIG1hY2hfdG9fcGh5cyB0cmFuc2xhdGlvbiB0YWJsZSkKICAgICAgKi8KLSAgICB1bG9uZyBleHRlbnRfc3RhcnQ7CisgICAgR1VFU1RfSEFORExFKHVsb25nKSBleHRlbnRfc3RhcnQ7CiAKICAgICAvKiBOdW1iZXIgb2YgZXh0ZW50cywgYW5kIHNpemUvYWxpZ25tZW50IG9mIGVhY2ggKDJeZXh0ZW50X29yZGVyIHBhZ2VzKS4gKi8KICAgICB1bnNpZ25lZCBsb25nICBucl9leHRlbnRzOwpAQCAtNTAsNiArNTAsNyBAQAogICAgIGRvbWlkX3QgICAgICAgIGRvbWlkOwogCiB9OworREVGSU5FX0dVRVNUX0hBTkRMRV9TVFJVQ1QoeGVuX21lbW9yeV9yZXNlcnZhdGlvbik7CiAKIC8qCiAgKiBSZXR1cm5zIHRoZSBtYXhpbXVtIG1hY2hpbmUgZnJhbWUgbnVtYmVyIG9mIG1hcHBlZCBSQU0gaW4gdGhpcyBzeXN0ZW0uCkBAIC04NSw3ICs4Niw3IEBACiAgICAgICogYW55IGxhcmdlIGRpc2NvbnRpZ3VpdGllcyBpbiB0aGUgbWFjaGluZSBhZGRyZXNzIHNwYWNlLCAyTUIgZ2FwcyBpbgogICAgICAqIHRoZSBtYWNocGh5cyB0YWJsZSB3aWxsIGJlIHJlcHJlc2VudGVkIGJ5IGFuIE1GTiBiYXNlIG9mIHplcm8uCiAgICAgICovCi0gICAgdWxvbmcgZXh0ZW50X3N0YXJ0OworICAgIEdVRVNUX0hBTkRMRSh1bG9uZykgZXh0ZW50X3N0YXJ0OwogCiAgICAgLyoKICAgICAgKiBOdW1iZXIgb2YgZXh0ZW50cyB3cml0dGVuIHRvIHRoZSBhYm92ZSBhcnJheS4gVGhpcyB3aWxsIGJlIHNtYWxsZXIKQEAgLTkzLDYgKzk0LDcgQEAKICAgICAgKi8KICAgICB1bnNpZ25lZCBpbnQgbnJfZXh0ZW50czsKIH07CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fbWFjaHBoeXNfbWZuX2xpc3QpOwogCiAvKgogICogU2V0cyB0aGUgR1BGTiBhdCB3aGljaCBhIHBhcnRpY3VsYXIgcGFnZSBhcHBlYXJzIGluIHRoZSBzcGVjaWZpZWQgZ3Vlc3QncwpAQCAtMTE1LDYgKzExNyw3IEBACiAgICAgLyogR1BGTiB3aGVyZSB0aGUgc291cmNlIG1hcHBpbmcgcGFnZSBzaG91bGQgYXBwZWFyLiAqLwogICAgIHVuc2lnbmVkIGxvbmcgZ3BmbjsKIH07CitERUZJTkVfR1VFU1RfSEFORExFX1NUUlVDVCh4ZW5fYWRkX3RvX3BoeXNtYXApOwogCiAvKgogICogVHJhbnNsYXRlcyBhIGxpc3Qgb2YgZG9tYWluLXNwZWNpZmljIEdQRk5zIGludG8gTUZOcy4gUmV0dXJucyBhIC12ZSBlcnJvcgpAQCAtMTI5LDEzICsxMzIsMTQgQEAKICAgICB1bnNpZ25lZCBsb25nIG5yX2dwZm5zOwogCiAgICAgLyogTGlzdCBvZiBHUEZOcyB0byB0cmFuc2xhdGUuICovCi0gICAgdWxvbmcgZ3Bmbl9saXN0OworICAgIEdVRVNUX0hBTkRMRSh1bG9uZykgZ3Bmbl9saXN0OwogCiAgICAgLyoKICAgICAgKiBPdXRwdXQgbGlzdCB0byBjb250YWluIE1GTiB0cmFuc2xhdGlvbnMuIE1heSBiZSB0aGUgc2FtZSBhcyB0aGUgaW5wdXQKICAgICAgKiBsaXN0IChpbiB3aGljaCBjYXNlIGVhY2ggaW5wdXQgR1BGTiBpcyBvdmVyd3JpdHRlbiB3aXRoIHRoZSBvdXRwdXQgTUZOKS4KICAgICAgKi8KLSAgICB1bG9uZyBtZm5fbGlzdDsKKyAgICBHVUVTVF9IQU5ETEUodWxvbmcpIG1mbl9saXN0OwogfTsKK0RFRklORV9HVUVTVF9IQU5ETEVfU1RSVUNUKHhlbl90cmFuc2xhdGVfZ3Bmbl9saXN0KTsKIAogI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19NRU1PUllfSF9fICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgKaW5kZXggODE5YTAzMy4uMmJlZmEzZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3hlbi5oCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS94ZW4uaApAQCAtMTE0LDkgKzExNCwxNCBAQAogICogcHRyWzoyXSAgLS0gTWFjaGluZSBhZGRyZXNzIHdpdGhpbiB0aGUgZnJhbWUgd2hvc2UgbWFwcGluZyB0byBtb2RpZnkuCiAgKiAgICAgICAgICAgICBUaGUgZnJhbWUgbXVzdCBiZWxvbmcgdG8gdGhlIEZELCBpZiBvbmUgaXMgc3BlY2lmaWVkLgogICogdmFsICAgICAgLS0gVmFsdWUgdG8gd3JpdGUgaW50byB0aGUgbWFwcGluZyBlbnRyeS4KKyAqCisgKiBwdHJbMTowXSA9PSBNTVVfUFRfVVBEQVRFX1BSRVNFUlZFX0FEOgorICogQXMgTU1VX05PUk1BTF9QVF9VUERBVEUgYWJvdmUsIGJ1dCBBL0QgYml0cyBjdXJyZW50bHkgaW4gdGhlIFBURSBhcmUgT1JlZAorICogd2l0aCB0aG9zZSBpbiBAdmFsLgogICovCi0jZGVmaW5lIE1NVV9OT1JNQUxfUFRfVVBEQVRFICAgICAwIC8qIGNoZWNrZWQgJypwdHIgPSB2YWwnLiBwdHIgaXMgTUEuICAgICAgICovCi0jZGVmaW5lIE1NVV9NQUNIUEhZU19VUERBVEUgICAgICAxIC8qIHB0ciA9IE1BIG9mIGZyYW1lIHRvIG1vZGlmeSBlbnRyeSBmb3IgICovCisjZGVmaW5lIE1NVV9OT1JNQUxfUFRfVVBEQVRFICAgICAgMCAvKiBjaGVja2VkICcqcHRyID0gdmFsJy4gcHRyIGlzIE1BLiAgICAgICAqLworI2RlZmluZSBNTVVfTUFDSFBIWVNfVVBEQVRFICAgICAgIDEgLyogcHRyID0gTUEgb2YgZnJhbWUgdG8gbW9kaWZ5IGVudHJ5IGZvciAgKi8KKyNkZWZpbmUgTU1VX1BUX1VQREFURV9QUkVTRVJWRV9BRCAyIC8qIGF0b21pY2FsbHk6ICpwdHIgPSB2YWwgfCAoKnB0ciYoQXxEKSkgKi8KIAogLyoKICAqIE1NVSBFWFRFTkRFRCBPUEVSQVRJT05TCmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi94ZW4tb3BzLmggYi9pbmNsdWRlL3hlbi94ZW4tb3BzLmgKaW5kZXggMTBkZGZlMC4uYTcwNmQ2YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4veGVuLW9wcy5oCisrKyBiL2luY2x1ZGUveGVuL3hlbi1vcHMuaApAQCAtNSw0ICs1LDEwIEBACiAKIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgdmNwdV9pbmZvICosIHhlbl92Y3B1KTsKIAordm9pZCB4ZW5fcHJlX3N1c3BlbmQodm9pZCk7Cit2b2lkIHhlbl9wb3N0X3N1c3BlbmQoaW50IHN1c3BlbmRfY2FuY2VsbGVkKTsKKwordm9pZCB4ZW5fbW1fcGluX2FsbCh2b2lkKTsKK3ZvaWQgeGVuX21tX3VucGluX2FsbCh2b2lkKTsKKwogI2VuZGlmIC8qIElOQ0xVREVfWEVOX09QU19IICovCmRpZmYgLS1naXQgYS9pbml0L2NhbGlicmF0ZS5jIGIvaW5pdC9jYWxpYnJhdGUuYwppbmRleCBlY2IzODIyLi43OTYzZTNmIDEwMDY0NAotLS0gYS9pbml0L2NhbGlicmF0ZS5jCisrKyBiL2luaXQvY2FsaWJyYXRlLmMKQEAgLTgsNyArOCw5IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvdGltZXguaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KIAordW5zaWduZWQgbG9uZyBscGpfZmluZTsKIHVuc2lnbmVkIGxvbmcgcHJlc2V0X2xwajsKIHN0YXRpYyBpbnQgX19pbml0IGxwal9zZXR1cChjaGFyICpzdHIpCiB7CkBAIC0zMyw5ICszNSw5IEBACiAJdW5zaWduZWQgbG9uZyBwcmVfc3RhcnQsIHN0YXJ0LCBwb3N0X3N0YXJ0OwogCXVuc2lnbmVkIGxvbmcgcHJlX2VuZCwgZW5kLCBwb3N0X2VuZDsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0X2ppZmZpZXM7Ci0JdW5zaWduZWQgbG9uZyB0c2NfcmF0ZV9taW4sIHRzY19yYXRlX21heDsKLQl1bnNpZ25lZCBsb25nIGdvb2RfdHNjX3N1bSA9IDA7Ci0JdW5zaWduZWQgbG9uZyBnb29kX3RzY19jb3VudCA9IDA7CisJdW5zaWduZWQgbG9uZyB0aW1lcl9yYXRlX21pbiwgdGltZXJfcmF0ZV9tYXg7CisJdW5zaWduZWQgbG9uZyBnb29kX3RpbWVyX3N1bSA9IDA7CisJdW5zaWduZWQgbG9uZyBnb29kX3RpbWVyX2NvdW50ID0gMDsKIAlpbnQgaTsKIAogCWlmIChyZWFkX2N1cnJlbnRfdGltZXIoJnByZV9zdGFydCkgPCAwICkKQEAgLTc5LDIyICs4MSwyNCBAQAogCQl9CiAJCXJlYWRfY3VycmVudF90aW1lcigmcG9zdF9lbmQpOwogCi0JCXRzY19yYXRlX21heCA9IChwb3N0X2VuZCAtIHByZV9zdGFydCkgLyBERUxBWV9DQUxJQlJBVElPTl9USUNLUzsKLQkJdHNjX3JhdGVfbWluID0gKHByZV9lbmQgLSBwb3N0X3N0YXJ0KSAvIERFTEFZX0NBTElCUkFUSU9OX1RJQ0tTOworCQl0aW1lcl9yYXRlX21heCA9IChwb3N0X2VuZCAtIHByZV9zdGFydCkgLworCQkJCQlERUxBWV9DQUxJQlJBVElPTl9USUNLUzsKKwkJdGltZXJfcmF0ZV9taW4gPSAocHJlX2VuZCAtIHBvc3Rfc3RhcnQpIC8KKwkJCQkJREVMQVlfQ0FMSUJSQVRJT05fVElDS1M7CiAKIAkJLyoKLQkgCSAqIElmIHRoZSB1cHBlciBsaW1pdCBhbmQgbG93ZXIgbGltaXQgb2YgdGhlIHRzY19yYXRlIGlzCisJCSAqIElmIHRoZSB1cHBlciBsaW1pdCBhbmQgbG93ZXIgbGltaXQgb2YgdGhlIHRpbWVyX3JhdGUgaXMKIAkJICogPj0gMTIuNSUgYXBhcnQsIHJlZG8gY2FsaWJyYXRpb24uCiAJCSAqLwogCQlpZiAocHJlX3N0YXJ0ICE9IDAgJiYgcHJlX2VuZCAhPSAwICYmCi0JCSAgICAodHNjX3JhdGVfbWF4IC0gdHNjX3JhdGVfbWluKSA8ICh0c2NfcmF0ZV9tYXggPj4gMykpIHsKLQkJCWdvb2RfdHNjX2NvdW50Kys7Ci0JCQlnb29kX3RzY19zdW0gKz0gdHNjX3JhdGVfbWF4OworCQkgICAgKHRpbWVyX3JhdGVfbWF4IC0gdGltZXJfcmF0ZV9taW4pIDwgKHRpbWVyX3JhdGVfbWF4ID4+IDMpKSB7CisJCQlnb29kX3RpbWVyX2NvdW50Kys7CisJCQlnb29kX3RpbWVyX3N1bSArPSB0aW1lcl9yYXRlX21heDsKIAkJfQogCX0KIAotCWlmIChnb29kX3RzY19jb3VudCkKLQkJcmV0dXJuIChnb29kX3RzY19zdW0vZ29vZF90c2NfY291bnQpOworCWlmIChnb29kX3RpbWVyX2NvdW50KQorCQlyZXR1cm4gKGdvb2RfdGltZXJfc3VtL2dvb2RfdGltZXJfY291bnQpOwogCiAJcHJpbnRrKEtFUk5fV0FSTklORyAiY2FsaWJyYXRlX2RlbGF5X2RpcmVjdCgpIGZhaWxlZCB0byBnZXQgYSBnb29kICIKIAkgICAgICAgImVzdGltYXRlIGZvciBsb29wc19wZXJfamlmZnkuXG5Qcm9iYWJseSBkdWUgdG8gbG9uZyBwbGF0Zm9ybSBpbnRlcnJ1cHRzLiBDb25zaWRlciB1c2luZyBcImxwaj1cIiBib290IG9wdGlvbi5cbiIpOwpAQCAtMTA4LDYgKzExMiwxMCBAQAogICogVGhpcyBpcyB0aGUgbnVtYmVyIG9mIGJpdHMgb2YgcHJlY2lzaW9uIGZvciB0aGUgbG9vcHNfcGVyX2ppZmZ5LiAgRWFjaAogICogYml0IHRha2VzIG9uIGF2ZXJhZ2UgMS41L0haIHNlY29uZHMuICBUaGlzIChsaWtlIHRoZSBvcmlnaW5hbCkgaXMgYSBsaXR0bGUKICAqIGJldHRlciB0aGFuIDElCisgKiBGb3IgdGhlIGJvb3QgY3B1IHdlIGNhbiBza2lwIHRoZSBkZWxheSBjYWxpYnJhdGlvbiBhbmQgYXNzaWduIGl0IGEgdmFsdWUKKyAqIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRpbWVyIGZyZXF1ZW5jeS4KKyAqIEZvciB0aGUgcmVzdCBvZiB0aGUgQ1BVcyB3ZSBjYW5ub3QgYXNzdW1lIHRoYXQgdGhlIHRpbWVyIGZyZXF1ZW5jeSBpcyBzYW1lIGFzCisgKiB0aGUgY3B1IGZyZXF1ZW5jeSwgaGVuY2UgZG8gdGhlIGNhbGlicmF0aW9uIGZvciB0aG9zZS4KICAqLwogI2RlZmluZSBMUFNfUFJFQyA4CiAKQEAgLTExOCwyMCArMTI2LDIwIEBACiAKIAlpZiAocHJlc2V0X2xwaikgewogCQlsb29wc19wZXJfamlmZnkgPSBwcmVzZXRfbHBqOwotCQlwcmludGsoIkNhbGlicmF0aW5nIGRlbGF5IGxvb3AgKHNraXBwZWQpLi4uICIKLQkJCSIlbHUuJTAybHUgQm9nb01JUFMgcHJlc2V0XG4iLAotCQkJbG9vcHNfcGVyX2ppZmZ5Lyg1MDAwMDAvSFopLAotCQkJKGxvb3BzX3Blcl9qaWZmeS8oNTAwMC9IWikpICUgMTAwKTsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkJIkNhbGlicmF0aW5nIGRlbGF5IGxvb3AgKHNraXBwZWQpIHByZXNldCB2YWx1ZS4uICIpOworCX0gZWxzZSBpZiAoKHNtcF9wcm9jZXNzb3JfaWQoKSA9PSAwKSAmJiBscGpfZmluZSkgeworCQlsb29wc19wZXJfamlmZnkgPSBscGpfZmluZTsKKwkJcHJpbnRrKEtFUk5fSU5GTworCQkJIkNhbGlicmF0aW5nIGRlbGF5IGxvb3AgKHNraXBwZWQpLCAiCisJCQkidmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aW1lciBmcmVxdWVuY3kuLiAiKTsKIAl9IGVsc2UgaWYgKChsb29wc19wZXJfamlmZnkgPSBjYWxpYnJhdGVfZGVsYXlfZGlyZWN0KCkpICE9IDApIHsKLQkJcHJpbnRrKCJDYWxpYnJhdGluZyBkZWxheSB1c2luZyB0aW1lciBzcGVjaWZpYyByb3V0aW5lLi4gIik7Ci0JCXByaW50aygiJWx1LiUwMmx1IEJvZ29NSVBTIChscGo9JWx1KVxuIiwKLQkJCWxvb3BzX3Blcl9qaWZmeS8oNTAwMDAwL0haKSwKLQkJCShsb29wc19wZXJfamlmZnkvKDUwMDAvSFopKSAlIDEwMCwKLQkJCWxvb3BzX3Blcl9qaWZmeSk7CisJCXByaW50ayhLRVJOX0lORk8KKwkJCSJDYWxpYnJhdGluZyBkZWxheSB1c2luZyB0aW1lciBzcGVjaWZpYyByb3V0aW5lLi4gIik7CiAJfSBlbHNlIHsKIAkJbG9vcHNfcGVyX2ppZmZ5ID0gKDE8PDEyKTsKIAotCQlwcmludGsoS0VSTl9ERUJVRyAiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcC4uLiAiKTsKKwkJcHJpbnRrKEtFUk5fSU5GTyAiQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcC4uLiAiKTsKIAkJd2hpbGUgKChsb29wc19wZXJfamlmZnkgPDw9IDEpICE9IDApIHsKIAkJCS8qIHdhaXQgZm9yICJzdGFydCBvZiIgY2xvY2sgdGljayAqLwogCQkJdGlja3MgPSBqaWZmaWVzOwpAQCAtMTYxLDEyICsxNjksOCBAQAogCQkJaWYgKGppZmZpZXMgIT0gdGlja3MpCS8qIGxvbmdlciB0aGFuIDEgdGljayAqLwogCQkJCWxvb3BzX3Blcl9qaWZmeSAmPSB+bG9vcGJpdDsKIAkJfQotCi0JCS8qIFJvdW5kIHRoZSB2YWx1ZSBhbmQgcHJpbnQgaXQgKi8KLQkJcHJpbnRrKCIlbHUuJTAybHUgQm9nb01JUFMgKGxwaj0lbHUpXG4iLAotCQkJbG9vcHNfcGVyX2ppZmZ5Lyg1MDAwMDAvSFopLAotCQkJKGxvb3BzX3Blcl9qaWZmeS8oNTAwMC9IWikpICUgMTAwLAotCQkJbG9vcHNfcGVyX2ppZmZ5KTsKIAl9Ci0KKwlwcmludGsoS0VSTl9JTkZPICIlbHUuJTAybHUgQm9nb01JUFMgKGxwaj0lbHUpXG4iLAorCQkJbG9vcHNfcGVyX2ppZmZ5Lyg1MDAwMDAvSFopLAorCQkJKGxvb3BzX3Blcl9qaWZmeS8oNTAwMC9IWikpICUgMTAwLCBsb29wc19wZXJfamlmZnkpOwogfQpkaWZmIC0tZ2l0IGEvaW5pdC9tYWluLmMgYi9pbml0L21haW4uYwppbmRleCBmN2ZiMjAwLi5lZGVhY2UwIDEwMDY0NAotLS0gYS9pbml0L21haW4uYworKysgYi9pbml0L21haW4uYwpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbF9zdGF0Lmg+CiAjaW5jbHVkZSA8bGludXgvc3RhcnRfa2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRlIDxsaW51eC9wcm9maWxlLmg+CiAjaW5jbHVkZSA8bGludXgvcmN1cGRhdGUuaD4KQEAgLTc1OCw2ICs3NTksNyBAQAogICovCiBzdGF0aWMgdm9pZCBfX2luaXQgZG9fYmFzaWNfc2V0dXAodm9pZCkKIHsKKwlyY3VfaW5pdF9zY2hlZCgpOyAvKiBuZWVkZWQgYnkgbW9kdWxlX2luaXQgc3RhZ2UuICovCiAJLyogZHJpdmVycyB3aWxsIHNlbmQgaG90cGx1ZyBldmVudHMgKi8KIAlpbml0X3dvcmtxdWV1ZXMoKTsKIAl1c2VybW9kZWhlbHBlcl9pbml0KCk7CkBAIC03NzksNiArNzgxLDcgQEAKIHsKIAlleHRlcm4gaW50IHNwYXduX2tzb2Z0aXJxZCh2b2lkKTsKIAorCWluaXRfY2FsbF9zaW5nbGVfZGF0YSgpOwogCW1pZ3JhdGlvbl9pbml0KCk7CiAJc3Bhd25fa3NvZnRpcnFkKCk7CiAJaWYgKCFub3NvZnRsb2NrdXApCmRpZmYgLS1naXQgYS9rZXJuZWwvTWFrZWZpbGUgYi9rZXJuZWwvTWFrZWZpbGUKaW5kZXggMWM5OTM4YS4uMGE3ZWQ4MyAxMDA2NDQKLS0tIGEva2VybmVsL01ha2VmaWxlCisrKyBiL2tlcm5lbC9NYWtlZmlsZQpAQCAtMyw3ICszLDcgQEAKICMKIAogb2JqLXkgICAgID0gc2NoZWQubyBmb3JrLm8gZXhlY19kb21haW4ubyBwYW5pYy5vIHByaW50ay5vIHByb2ZpbGUubyBcCi0JICAgIGV4aXQubyBpdGltZXIubyB0aW1lLm8gc29mdGlycS5vIHJlc291cmNlLm8gXAorCSAgICBjcHUubyBleGl0Lm8gaXRpbWVyLm8gdGltZS5vIHNvZnRpcnEubyByZXNvdXJjZS5vIFwKIAkgICAgc3lzY3RsLm8gY2FwYWJpbGl0eS5vIHB0cmFjZS5vIHRpbWVyLm8gdXNlci5vIFwKIAkgICAgc2lnbmFsLm8gc3lzLm8ga21vZC5vIHdvcmtxdWV1ZS5vIHBpZC5vIFwKIAkgICAgcmN1cGRhdGUubyBleHRhYmxlLm8gcGFyYW1zLm8gcG9zaXgtdGltZXJzLm8gXApAQCAtMTEsNiArMTEsMTggQEAKIAkgICAgaHJ0aW1lci5vIHJ3c2VtLm8gbnNwcm94eS5vIHNyY3UubyBzZW1hcGhvcmUubyBcCiAJICAgIG5vdGlmaWVyLm8ga3N5c2ZzLm8gcG1fcW9zX3BhcmFtcy5vIHNjaGVkX2Nsb2NrLm8KIAorQ0ZMQUdTX1JFTU9WRV9zY2hlZC5vID0gLW1uby1zcGUKKworaWZkZWYgQ09ORklHX0ZUUkFDRQorIyBEbyBub3QgdHJhY2UgZGVidWcgZmlsZXMgYW5kIGludGVybmFsIGZ0cmFjZSBmaWxlcworQ0ZMQUdTX1JFTU9WRV9sb2NrZGVwLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfbG9ja2RlcF9wcm9jLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfbXV0ZXgtZGVidWcubyA9IC1wZworQ0ZMQUdTX1JFTU9WRV9ydG11dGV4LWRlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfY2dyb3VwLWRlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfc2NoZWRfY2xvY2subyA9IC1wZworZW5kaWYKKwogb2JqLSQoQ09ORklHX1NZU0NUTF9TWVNDQUxMX0NIRUNLKSArPSBzeXNjdGxfY2hlY2subwogb2JqLSQoQ09ORklHX1NUQUNLVFJBQ0UpICs9IHN0YWNrdHJhY2Uubwogb2JqLXkgKz0gdGltZS8KQEAgLTI3LDcgKzM5LDggQEAKIG9iai0kKENPTkZJR19ERUJVR19SVF9NVVRFWEVTKSArPSBydG11dGV4LWRlYnVnLm8KIG9iai0kKENPTkZJR19SVF9NVVRFWF9URVNURVIpICs9IHJ0bXV0ZXgtdGVzdGVyLm8KIG9iai0kKENPTkZJR19HRU5FUklDX0lTQV9ETUEpICs9IGRtYS5vCi1vYmotJChDT05GSUdfU01QKSArPSBjcHUubyBzcGlubG9jay5vCitvYmotJChDT05GSUdfVVNFX0dFTkVSSUNfU01QX0hFTFBFUlMpICs9IHNtcC5vCitvYmotJChDT05GSUdfU01QKSArPSBzcGlubG9jay5vCiBvYmotJChDT05GSUdfREVCVUdfU1BJTkxPQ0spICs9IHNwaW5sb2NrLm8KIG9iai0kKENPTkZJR19QUk9WRV9MT0NLSU5HKSArPSBzcGlubG9jay5vCiBvYmotJChDT05GSUdfVUlEMTYpICs9IHVpZDE2Lm8KQEAgLTY5LDYgKzgyLDkgQEAKIG9iai0kKENPTkZJR19UQVNLU1RBVFMpICs9IHRhc2tzdGF0cy5vIHRzYWNjdC5vCiBvYmotJChDT05GSUdfTUFSS0VSUykgKz0gbWFya2VyLm8KIG9iai0kKENPTkZJR19MQVRFTkNZVE9QKSArPSBsYXRlbmN5dG9wLm8KK29iai0kKENPTkZJR19GVFJBQ0UpICs9IHRyYWNlLworb2JqLSQoQ09ORklHX1RSQUNJTkcpICs9IHRyYWNlLworb2JqLSQoQ09ORklHX1NNUCkgKz0gc2NoZWRfY3B1cHJpLm8KIAogaWZuZXEgKCQoQ09ORklHX1NDSEVEX05PX05PX09NSVRfRlJBTUVfUE9JTlRFUikseSkKICMgQWNjb3JkaW5nIHRvIEFsYW4gTW9kcmEgPGFsYW5AbGludXhjYXJlLmNvbS5hdT4sIHRoZSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciBpcwpkaWZmIC0tZ2l0IGEva2VybmVsL2JhY2t0cmFjZXRlc3QuYyBiL2tlcm5lbC9iYWNrdHJhY2V0ZXN0LmMKaW5kZXggZDFhNzYwNS4uYTVlMDI2YiAxMDA2NDQKLS0tIGEva2VybmVsL2JhY2t0cmFjZXRlc3QuYworKysgYi9rZXJuZWwvYmFja3RyYWNldGVzdC5jCkBAIC0xMCwzMCArMTAsNzMgQEAKICAqIG9mIHRoZSBMaWNlbnNlLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgotI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3RhY2t0cmFjZS5oPgogCi1zdGF0aWMgc3RydWN0IHRpbWVyX2xpc3QgYmFja3RyYWNlX3RpbWVyOworc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3Rfbm9ybWFsKHZvaWQpCit7CisJcHJpbnRrKCJUZXN0aW5nIGEgYmFja3RyYWNlIGZyb20gcHJvY2VzcyBjb250ZXh0LlxuIik7CisJcHJpbnRrKCJUaGUgZm9sbG93aW5nIHRyYWNlIGlzIGEga2VybmVsIHNlbGYgdGVzdCBhbmQgbm90IGEgYnVnIVxuIik7CiAKLXN0YXRpYyB2b2lkIGJhY2t0cmFjZV90ZXN0X3RpbWVyKHVuc2lnbmVkIGxvbmcgZGF0YSkKKwlkdW1wX3N0YWNrKCk7Cit9CisKK3N0YXRpYyBERUNMQVJFX0NPTVBMRVRJT04oYmFja3RyYWNlX3dvcmspOworCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfdGVzdF9pcnFfY2FsbGJhY2sodW5zaWduZWQgbG9uZyBkYXRhKQoreworCWR1bXBfc3RhY2soKTsKKwljb21wbGV0ZSgmYmFja3RyYWNlX3dvcmspOworfQorCitzdGF0aWMgREVDTEFSRV9UQVNLTEVUKGJhY2t0cmFjZV90YXNrbGV0LCAmYmFja3RyYWNlX3Rlc3RfaXJxX2NhbGxiYWNrLCAwKTsKKworc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3RfaXJxKHZvaWQpCiB7CiAJcHJpbnRrKCJUZXN0aW5nIGEgYmFja3RyYWNlIGZyb20gaXJxIGNvbnRleHQuXG4iKTsKIAlwcmludGsoIlRoZSBmb2xsb3dpbmcgdHJhY2UgaXMgYSBrZXJuZWwgc2VsZiB0ZXN0IGFuZCBub3QgYSBidWchXG4iKTsKLQlkdW1wX3N0YWNrKCk7CisKKwlpbml0X2NvbXBsZXRpb24oJmJhY2t0cmFjZV93b3JrKTsKKwl0YXNrbGV0X3NjaGVkdWxlKCZiYWNrdHJhY2VfdGFza2xldCk7CisJd2FpdF9mb3JfY29tcGxldGlvbigmYmFja3RyYWNlX3dvcmspOwogfQorCisjaWZkZWYgQ09ORklHX1NUQUNLVFJBQ0UKK3N0YXRpYyB2b2lkIGJhY2t0cmFjZV90ZXN0X3NhdmVkKHZvaWQpCit7CisJc3RydWN0IHN0YWNrX3RyYWNlIHRyYWNlOworCXVuc2lnbmVkIGxvbmcgZW50cmllc1s4XTsKKworCXByaW50aygiVGVzdGluZyBhIHNhdmVkIGJhY2t0cmFjZS5cbiIpOworCXByaW50aygiVGhlIGZvbGxvd2luZyB0cmFjZSBpcyBhIGtlcm5lbCBzZWxmIHRlc3QgYW5kIG5vdCBhIGJ1ZyFcbiIpOworCisJdHJhY2UubnJfZW50cmllcyA9IDA7CisJdHJhY2UubWF4X2VudHJpZXMgPSBBUlJBWV9TSVpFKGVudHJpZXMpOworCXRyYWNlLmVudHJpZXMgPSBlbnRyaWVzOworCXRyYWNlLnNraXAgPSAwOworCisJc2F2ZV9zdGFja190cmFjZSgmdHJhY2UpOworCXByaW50X3N0YWNrX3RyYWNlKCZ0cmFjZSwgMCk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgYmFja3RyYWNlX3Rlc3Rfc2F2ZWQodm9pZCkKK3sKKwlwcmludGsoIlNhdmVkIGJhY2t0cmFjZSB0ZXN0IHNraXBwZWQuXG4iKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgaW50IGJhY2t0cmFjZV9yZWdyZXNzaW9uX3Rlc3Qodm9pZCkKIHsKIAlwcmludGsoIj09PT1bIGJhY2t0cmFjZSB0ZXN0aW5nIF09PT09PT09PT09PVxuIik7Ci0JcHJpbnRrKCJUZXN0aW5nIGEgYmFja3RyYWNlIGZyb20gcHJvY2VzcyBjb250ZXh0LlxuIik7Ci0JcHJpbnRrKCJUaGUgZm9sbG93aW5nIHRyYWNlIGlzIGEga2VybmVsIHNlbGYgdGVzdCBhbmQgbm90IGEgYnVnIVxuIik7Ci0JZHVtcF9zdGFjaygpOwogCi0JaW5pdF90aW1lcigmYmFja3RyYWNlX3RpbWVyKTsKLQliYWNrdHJhY2VfdGltZXIuZnVuY3Rpb24gPSBiYWNrdHJhY2VfdGVzdF90aW1lcjsKLQltb2RfdGltZXIoJmJhY2t0cmFjZV90aW1lciwgamlmZmllcyArIDEwKTsKKwliYWNrdHJhY2VfdGVzdF9ub3JtYWwoKTsKKwliYWNrdHJhY2VfdGVzdF9pcnEoKTsKKwliYWNrdHJhY2VfdGVzdF9zYXZlZCgpOwogCi0JbXNsZWVwKDEwKTsKIAlwcmludGsoIj09PT1bIGVuZCBvZiBiYWNrdHJhY2UgdGVzdGluZyBdPT09PVxuIik7CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9rZXJuZWwvY3B1LmMgYi9rZXJuZWwvY3B1LmMKaW5kZXggYzc3YmMzYS4uYjExZjA2ZCAxMDA2NDQKLS0tIGEva2VybmVsL2NwdS5jCisrKyBiL2tlcm5lbC9jcHUuYwpAQCAtMTUsNiArMTUsMjggQEAKICNpbmNsdWRlIDxsaW51eC9zdG9wX21hY2hpbmUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogCisvKgorICogUmVwcmVzZW50cyBhbGwgY3B1J3MgcHJlc2VudCBpbiB0aGUgc3lzdGVtCisgKiBJbiBzeXN0ZW1zIGNhcGFibGUgb2YgaG90cGx1ZywgdGhpcyBtYXAgY291bGQgZHluYW1pY2FsbHkgZ3JvdworICogYXMgbmV3IGNwdSdzIGFyZSBkZXRlY3RlZCBpbiB0aGUgc3lzdGVtIHZpYSBhbnkgcGxhdGZvcm0gc3BlY2lmaWMKKyAqIG1ldGhvZCwgc3VjaCBhcyBBQ1BJIGZvciBlLmcuCisgKi8KK2NwdW1hc2tfdCBjcHVfcHJlc2VudF9tYXAgX19yZWFkX21vc3RseTsKK0VYUE9SVF9TWU1CT0woY3B1X3ByZXNlbnRfbWFwKTsKKworI2lmbmRlZiBDT05GSUdfU01QCisKKy8qCisgKiBSZXByZXNlbnRzIGFsbCBjcHUncyB0aGF0IGFyZSBjdXJyZW50bHkgb25saW5lLgorICovCitjcHVtYXNrX3QgY3B1X29ubGluZV9tYXAgX19yZWFkX21vc3RseSA9IENQVV9NQVNLX0FMTDsKK0VYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOworCitjcHVtYXNrX3QgY3B1X3Bvc3NpYmxlX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOworRVhQT1JUX1NZTUJPTChjcHVfcG9zc2libGVfbWFwKTsKKworI2Vsc2UgLyogQ09ORklHX1NNUCAqLworCiAvKiBTZXJpYWxpemVzIHRoZSB1cGRhdGVzIHRvIGNwdV9vbmxpbmVfbWFwLCBjcHVfcHJlc2VudF9tYXAgKi8KIHN0YXRpYyBERUZJTkVfTVVURVgoY3B1X2FkZF9yZW1vdmVfbG9jayk7CiAKQEAgLTQwMywzICs0MjUsNSBAQAogCWNwdV9tYXBzX3VwZGF0ZV9kb25lKCk7CiB9CiAjZW5kaWYgLyogQ09ORklHX1BNX1NMRUVQX1NNUCAqLworCisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL2NwdXNldC5jIGIva2VybmVsL2NwdXNldC5jCmluZGV4IDlmY2ViOTcuLjQ1OWQ2MDEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9jcHVzZXQuYworKysgYi9rZXJuZWwvY3B1c2V0LmMKQEAgLTExOTQsNiArMTE5NCwxNSBAQAogCiAJaWYgKGNwdXNfZW1wdHkoY3MtPmNwdXNfYWxsb3dlZCkgfHwgbm9kZXNfZW1wdHkoY3MtPm1lbXNfYWxsb3dlZCkpCiAJCXJldHVybiAtRU5PU1BDOworCWlmICh0c2stPmZsYWdzICYgUEZfVEhSRUFEX0JPVU5EKSB7CisJCWNwdW1hc2tfdCBtYXNrOworCisJCW11dGV4X2xvY2soJmNhbGxiYWNrX211dGV4KTsKKwkJbWFzayA9IGNzLT5jcHVzX2FsbG93ZWQ7CisJCW11dGV4X3VubG9jaygmY2FsbGJhY2tfbXV0ZXgpOworCQlpZiAoIWNwdXNfZXF1YWwodHNrLT5jcHVzX2FsbG93ZWQsIG1hc2spKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQogCiAJcmV0dXJuIHNlY3VyaXR5X3Rhc2tfc2V0c2NoZWR1bGVyKHRzaywgMCwgTlVMTCk7CiB9CkBAIC0xMjA3LDExICsxMjE2LDE0IEBACiAJc3RydWN0IG1tX3N0cnVjdCAqbW07CiAJc3RydWN0IGNwdXNldCAqY3MgPSBjZ3JvdXBfY3MoY29udCk7CiAJc3RydWN0IGNwdXNldCAqb2xkY3MgPSBjZ3JvdXBfY3Mob2xkY29udCk7CisJaW50IGVycjsKIAogCW11dGV4X2xvY2soJmNhbGxiYWNrX211dGV4KTsKIAlndWFyYW50ZWVfb25saW5lX2NwdXMoY3MsICZjcHVzKTsKLQlzZXRfY3B1c19hbGxvd2VkX3B0cih0c2ssICZjcHVzKTsKKwllcnIgPSBzZXRfY3B1c19hbGxvd2VkX3B0cih0c2ssICZjcHVzKTsKIAltdXRleF91bmxvY2soJmNhbGxiYWNrX211dGV4KTsKKwlpZiAoZXJyKQorCQlyZXR1cm47CiAKIAlmcm9tID0gb2xkY3MtPm1lbXNfYWxsb3dlZDsKIAl0byA9IGNzLT5tZW1zX2FsbG93ZWQ7CkBAIC0xODgyLDcgKzE4OTQsNyBAQAogICogaW4gb3JkZXIgdG8gbWluaW1pemUgdGV4dCBzaXplLgogICovCiAKLXN0YXRpYyB2b2lkIGNvbW1vbl9jcHVfbWVtX2hvdHBsdWdfdW5wbHVnKHZvaWQpCitzdGF0aWMgdm9pZCBjb21tb25fY3B1X21lbV9ob3RwbHVnX3VucGx1ZyhpbnQgcmVidWlsZF9zZCkKIHsKIAljZ3JvdXBfbG9jaygpOwogCkBAIC0xODk0LDcgKzE5MDYsOCBAQAogCSAqIFNjaGVkdWxlciBkZXN0cm95cyBkb21haW5zIG9uIGhvdHBsdWcgZXZlbnRzLgogCSAqIFJlYnVpbGQgdGhlbSBiYXNlZCBvbiB0aGUgY3VycmVudCBzZXR0aW5ncy4KIAkgKi8KLQlyZWJ1aWxkX3NjaGVkX2RvbWFpbnMoKTsKKwlpZiAocmVidWlsZF9zZCkKKwkJcmVidWlsZF9zY2hlZF9kb21haW5zKCk7CiAKIAljZ3JvdXBfdW5sb2NrKCk7CiB9CkBAIC0xOTEyLDExICsxOTI1LDIyIEBACiBzdGF0aWMgaW50IGNwdXNldF9oYW5kbGVfY3B1aHAoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICp1bnVzZWRfbmIsCiAJCQkJdW5zaWduZWQgbG9uZyBwaGFzZSwgdm9pZCAqdW51c2VkX2NwdSkKIHsKLQlpZiAocGhhc2UgPT0gQ1BVX0RZSU5HIHx8IHBoYXNlID09IENQVV9EWUlOR19GUk9aRU4pCisJc3dpdGNoIChwaGFzZSkgeworCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgorCWNhc2UgQ1BVX1VQX0NBTkNFTEVEX0ZST1pFTjoKKwljYXNlIENQVV9ET1dOX0ZBSUxFRDoKKwljYXNlIENQVV9ET1dOX0ZBSUxFRF9GUk9aRU46CisJY2FzZSBDUFVfT05MSU5FOgorCWNhc2UgQ1BVX09OTElORV9GUk9aRU46CisJY2FzZSBDUFVfREVBRDoKKwljYXNlIENQVV9ERUFEX0ZST1pFTjoKKwkJY29tbW9uX2NwdV9tZW1faG90cGx1Z191bnBsdWcoMSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CiAJCXJldHVybiBOT1RJRllfRE9ORTsKKwl9CiAKLQljb21tb25fY3B1X21lbV9ob3RwbHVnX3VucGx1ZygpOwotCXJldHVybiAwOworCXJldHVybiBOT1RJRllfT0s7CiB9CiAKICNpZmRlZiBDT05GSUdfTUVNT1JZX0hPVFBMVUcKQEAgLTE5MjksNyArMTk1Myw3IEBACiAKIHZvaWQgY3B1c2V0X3RyYWNrX29ubGluZV9ub2Rlcyh2b2lkKQogewotCWNvbW1vbl9jcHVfbWVtX2hvdHBsdWdfdW5wbHVnKCk7CisJY29tbW9uX2NwdV9tZW1faG90cGx1Z191bnBsdWcoMCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEva2VybmVsL2V4aXQuYyBiL2tlcm5lbC9leGl0LmMKaW5kZXggOGY2MTg1ZS4uY2ViMjU4NyAxMDA2NDQKLS0tIGEva2VybmVsL2V4aXQuYworKysgYi9rZXJuZWwvZXhpdC5jCkBAIC0xMyw2ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvcGVyc29uYWxpdHkuaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KICNpbmNsdWRlIDxsaW51eC9tbnRfbmFtZXNwYWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW9jb250ZXh0Lmg+CiAjaW5jbHVkZSA8bGludXgva2V5Lmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KZGlmZiAtLWdpdCBhL2tlcm5lbC9mb3JrLmMgYi9rZXJuZWwvZm9yay5jCmluZGV4IDE5OTA4YjIuLjRiZDJmNTEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9mb3JrLmMKKysrIGIva2VybmVsL2ZvcmsuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3NlbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9mZHRhYmxlLmg+CisjaW5jbHVkZSA8bGludXgvaW9jb250ZXh0Lmg+CiAjaW5jbHVkZSA8bGludXgva2V5Lmg+CiAjaW5jbHVkZSA8bGludXgvYmluZm10cy5oPgogI2luY2x1ZGUgPGxpbnV4L21tYW4uaD4KQEAgLTkwOSw3ICs5MTAsNyBAQAogCiAJcnRfbXV0ZXhfaW5pdF90YXNrKHApOwogCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCisjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKIAlERUJVR19MT0NLU19XQVJOX09OKCFwLT5oYXJkaXJxc19lbmFibGVkKTsKIAlERUJVR19MT0NLU19XQVJOX09OKCFwLT5zb2Z0aXJxc19lbmFibGVkKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEva2VybmVsL2hydGltZXIuYyBiL2tlcm5lbC9ocnRpbWVyLmMKaW5kZXggYWI4MDUxNS4uYjhlNGRjZSAxMDA2NDQKLS0tIGEva2VybmVsL2hydGltZXIuYworKysgYi9rZXJuZWwvaHJ0aW1lci5jCkBAIC0zMDAsMTEgKzMwMCwxMCBAQAogICovCiB1NjQga3RpbWVfZGl2bnMoY29uc3Qga3RpbWVfdCBrdCwgczY0IGRpdikKIHsKLQl1NjQgZGNsYywgaW5jLCBkbnM7CisJdTY0IGRjbGM7CiAJaW50IHNmdCA9IDA7CiAKLQlkY2xjID0gZG5zID0ga3RpbWVfdG9fbnMoa3QpOwotCWluYyA9IGRpdjsKKwlkY2xjID0ga3RpbWVfdG9fbnMoa3QpOwogCS8qIE1ha2Ugc3VyZSB0aGUgZGl2aXNvciBpcyBsZXNzIHRoYW4gMl4zMjogKi8KIAl3aGlsZSAoZGl2ID4+IDMyKSB7CiAJCXNmdCsrOwpAQCAtNjIzLDcgKzYyMiw3IEBACiB2b2lkIGNsb2NrX3dhc19zZXQodm9pZCkKIHsKIAkvKiBSZXRyaWdnZXIgdGhlIENQVSBsb2NhbCBldmVudHMgZXZlcnl3aGVyZSAqLwotCW9uX2VhY2hfY3B1KHJldHJpZ2dlcl9uZXh0X2V2ZW50LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShyZXRyaWdnZXJfbmV4dF9ldmVudCwgTlVMTCwgMSk7CiB9CiAKIC8qCkBAIC02MzIsOCArNjMxLDYgQEAKICAqLwogdm9pZCBocmVzX3RpbWVyc19yZXN1bWUodm9pZCkKIHsKLQlXQVJOX09OX09OQ0UobnVtX29ubGluZV9jcHVzKCkgPiAxKTsKLQogCS8qIFJldHJpZ2dlciB0aGUgQ1BVIGxvY2FsIGV2ZW50czogKi8KIAlyZXRyaWdnZXJfbmV4dF9ldmVudChOVUxMKTsKIH0KQEAgLTEwODYsNyArMTA4Myw3IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChocnRpbWVyX2dldF9yZW1haW5pbmcpOwogCi0jaWYgZGVmaW5lZChDT05GSUdfTk9fSURMRV9IWikgfHwgZGVmaW5lZChDT05GSUdfTk9fSFopCisjaWZkZWYgQ09ORklHX05PX0haCiAvKioKICAqIGhydGltZXJfZ2V0X25leHRfZXZlbnQgLSBnZXQgdGhlIHRpbWUgdW50aWwgbmV4dCBleHBpcnkgZXZlbnQKICAqCkBAIC0xNjc3LDcgKzE2NzQsNyBAQAogCQkJICAodm9pZCAqKShsb25nKXNtcF9wcm9jZXNzb3JfaWQoKSk7CiAJcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZocnRpbWVyc19uYik7CiAjaWZkZWYgQ09ORklHX0hJR0hfUkVTX1RJTUVSUwotCW9wZW5fc29mdGlycShIUlRJTUVSX1NPRlRJUlEsIHJ1bl9ocnRpbWVyX3NvZnRpcnEsIE5VTEwpOworCW9wZW5fc29mdGlycShIUlRJTUVSX1NPRlRJUlEsIHJ1bl9ocnRpbWVyX3NvZnRpcnEpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvbWFuYWdlLmMgYi9rZXJuZWwvaXJxL21hbmFnZS5jCmluZGV4IDQ2ZDY2MTEuLjc3YTUxYmUgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9pcnEvbWFuYWdlLmMKKysrIGIva2VybmVsL2lycS9tYW5hZ2UuYwpAQCAtMTcsNiArMTcsOCBAQAogCiAjaWZkZWYgQ09ORklHX1NNUAogCitjcHVtYXNrX3QgaXJxX2RlZmF1bHRfYWZmaW5pdHkgPSBDUFVfTUFTS19BTEw7CisKIC8qKgogICoJc3luY2hyb25pemVfaXJxIC0gd2FpdCBmb3IgcGVuZGluZyBJUlEgaGFuZGxlcnMgKG9uIG90aGVyIENQVXMpCiAgKglAaXJxOiBpbnRlcnJ1cHQgbnVtYmVyIHRvIHdhaXQgZm9yCkBAIC05NSw2ICs5NywyNyBAQAogCXJldHVybiAwOwogfQogCisjaWZuZGVmIENPTkZJR19BVVRPX0lSUV9BRkZJTklUWQorLyoKKyAqIEdlbmVyaWMgdmVyc2lvbiBvZiB0aGUgYWZmaW5pdHkgYXV0b3NlbGVjdG9yLgorICovCitpbnQgaXJxX3NlbGVjdF9hZmZpbml0eSh1bnNpZ25lZCBpbnQgaXJxKQoreworCWNwdW1hc2tfdCBtYXNrOworCisJaWYgKCFpcnFfY2FuX3NldF9hZmZpbml0eShpcnEpKQorCQlyZXR1cm4gMDsKKworCWNwdXNfYW5kKG1hc2ssIGNwdV9vbmxpbmVfbWFwLCBpcnFfZGVmYXVsdF9hZmZpbml0eSk7CisKKwlpcnFfZGVzY1tpcnFdLmFmZmluaXR5ID0gbWFzazsKKwlpcnFfZGVzY1tpcnFdLmNoaXAtPnNldF9hZmZpbml0eShpcnEsIG1hc2spOworCisJc2V0X2JhbGFuY2VfaXJxX2FmZmluaXR5KGlycSwgbWFzayk7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogI2VuZGlmCiAKIC8qKgpAQCAtMzU0LDcgKzM3Nyw3IEBACiAKIAkJLyogU2V0dXAgdGhlIHR5cGUgKGxldmVsLCBlZGdlIHBvbGFyaXR5KSBpZiBjb25maWd1cmVkOiAqLwogCQlpZiAobmV3LT5mbGFncyAmIElSUUZfVFJJR0dFUl9NQVNLKSB7Ci0JCQlpZiAoZGVzYy0+Y2hpcCAmJiBkZXNjLT5jaGlwLT5zZXRfdHlwZSkKKwkJCWlmIChkZXNjLT5jaGlwLT5zZXRfdHlwZSkKIAkJCQlkZXNjLT5jaGlwLT5zZXRfdHlwZShpcnEsCiAJCQkJCQluZXctPmZsYWdzICYgSVJRRl9UUklHR0VSX01BU0spOwogCQkJZWxzZQpAQCAtMzY0LDggKzM4Nyw3IEBACiAJCQkJICovCiAJCQkJcHJpbnRrKEtFUk5fV0FSTklORyAiTm8gSVJRRl9UUklHR0VSIHNldF90eXBlICIKIAkJCQkgICAgICAgImZ1bmN0aW9uIGZvciBJUlEgJWQgKCVzKVxuIiwgaXJxLAotCQkJCSAgICAgICBkZXNjLT5jaGlwID8gZGVzYy0+Y2hpcC0+bmFtZSA6Ci0JCQkJICAgICAgICJ1bmtub3duIik7CisJCQkJICAgICAgIGRlc2MtPmNoaXAtPm5hbWUpOwogCQl9IGVsc2UKIAkJCWNvbXBhdF9pcnFfY2hpcF9zZXRfZGVmYXVsdF9oYW5kbGVyKGRlc2MpOwogCkBAIC0zODIsNiArNDA0LDkgQEAKIAkJfSBlbHNlCiAJCQkvKiBVbmRvIG5lc3RlZCBkaXNhYmxlczogKi8KIAkJCWRlc2MtPmRlcHRoID0gMTsKKworCQkvKiBTZXQgZGVmYXVsdCBhZmZpbml0eSBtYXNrIG9uY2UgZXZlcnl0aGluZyBpcyBzZXR1cCAqLworCQlpcnFfc2VsZWN0X2FmZmluaXR5KGlycSk7CiAJfQogCS8qIFJlc2V0IGJyb2tlbiBpcnEgZGV0ZWN0aW9uIHdoZW4gaW5zdGFsbGluZyBuZXcgaGFuZGxlciAqLwogCWRlc2MtPmlycV9jb3VudCA9IDA7CkBAIC01NzEsOCArNTk2LDYgQEAKIAlhY3Rpb24tPm5leHQgPSBOVUxMOwogCWFjdGlvbi0+ZGV2X2lkID0gZGV2X2lkOwogCi0Jc2VsZWN0X3NtcF9hZmZpbml0eShpcnEpOwotCiAjaWZkZWYgQ09ORklHX0RFQlVHX1NISVJRCiAJaWYgKGlycWZsYWdzICYgSVJRRl9TSEFSRUQpIHsKIAkJLyoKZGlmZiAtLWdpdCBhL2tlcm5lbC9pcnEvcHJvYy5jIGIva2VybmVsL2lycS9wcm9jLmMKaW5kZXggYzJmMmNjYi4uNmM2ZDM1ZCAxMDA2NDQKLS0tIGEva2VybmVsL2lycS9wcm9jLmMKKysrIGIva2VybmVsL2lycS9wcm9jLmMKQEAgLTQ0LDcgKzQ0LDcgQEAKIAkJCQkgICB1bnNpZ25lZCBsb25nIGNvdW50LCB2b2lkICpkYXRhKQogewogCXVuc2lnbmVkIGludCBpcnEgPSAoaW50KShsb25nKWRhdGEsIGZ1bGxfY291bnQgPSBjb3VudCwgZXJyOwotCWNwdW1hc2tfdCBuZXdfdmFsdWUsIHRtcDsKKwljcHVtYXNrX3QgbmV3X3ZhbHVlOwogCiAJaWYgKCFpcnFfZGVzY1tpcnFdLmNoaXAtPnNldF9hZmZpbml0eSB8fCBub19pcnFfYWZmaW5pdHkgfHwKIAkgICAgaXJxX2JhbGFuY2luZ19kaXNhYmxlZChpcnEpKQpAQCAtNjIsMTcgKzYyLDUxIEBACiAJICogd2F5IHRvIG1ha2UgdGhlIHN5c3RlbSB1bnVzYWJsZSBhY2NpZGVudGFsbHkgOi0pIEF0IGxlYXN0CiAJICogb25lIG9ubGluZSBDUFUgc3RpbGwgaGFzIHRvIGJlIHRhcmdldGVkLgogCSAqLwotCWNwdXNfYW5kKHRtcCwgbmV3X3ZhbHVlLCBjcHVfb25saW5lX21hcCk7Ci0JaWYgKGNwdXNfZW1wdHkodG1wKSkKKwlpZiAoIWNwdXNfaW50ZXJzZWN0cyhuZXdfdmFsdWUsIGNwdV9vbmxpbmVfbWFwKSkKIAkJLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzZXQgLSBhbGxvdyB0aGUgYXJjaGl0ZWN0dXJlCiAJCSAgIGNvZGUgdG8gc2V0IGRlZmF1bHQgU01QIGFmZmluaXR5LiAqLwotCQlyZXR1cm4gc2VsZWN0X3NtcF9hZmZpbml0eShpcnEpID8gLUVJTlZBTCA6IGZ1bGxfY291bnQ7CisJCXJldHVybiBpcnFfc2VsZWN0X2FmZmluaXR5KGlycSkgPyAtRUlOVkFMIDogZnVsbF9jb3VudDsKIAogCWlycV9zZXRfYWZmaW5pdHkoaXJxLCBuZXdfdmFsdWUpOwogCiAJcmV0dXJuIGZ1bGxfY291bnQ7CiB9CiAKK3N0YXRpYyBpbnQgZGVmYXVsdF9hZmZpbml0eV9yZWFkKGNoYXIgKnBhZ2UsIGNoYXIgKipzdGFydCwgb2ZmX3Qgb2ZmLAorCQkJCSAgaW50IGNvdW50LCBpbnQgKmVvZiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQgbGVuID0gY3B1bWFza19zY25wcmludGYocGFnZSwgY291bnQsIGlycV9kZWZhdWx0X2FmZmluaXR5KTsKKwlpZiAoY291bnQgLSBsZW4gPCAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlsZW4gKz0gc3ByaW50ZihwYWdlICsgbGVuLCAiXG4iKTsKKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgaW50IGRlZmF1bHRfYWZmaW5pdHlfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0IGNoYXIgX191c2VyICpidWZmZXIsCisJCQkJICAgdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBpbnQgZnVsbF9jb3VudCA9IGNvdW50LCBlcnI7CisJY3B1bWFza190IG5ld192YWx1ZTsKKworCWVyciA9IGNwdW1hc2tfcGFyc2VfdXNlcihidWZmZXIsIGNvdW50LCBuZXdfdmFsdWUpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlpZiAoIWlzX2FmZmluaXR5X21hc2tfdmFsaWQobmV3X3ZhbHVlKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCSAqIERvIG5vdCBhbGxvdyBkaXNhYmxpbmcgSVJRcyBjb21wbGV0ZWx5IC0gaXQncyBhIHRvbyBlYXN5CisJICogd2F5IHRvIG1ha2UgdGhlIHN5c3RlbSB1bnVzYWJsZSBhY2NpZGVudGFsbHkgOi0pIEF0IGxlYXN0CisJICogb25lIG9ubGluZSBDUFUgc3RpbGwgaGFzIHRvIGJlIHRhcmdldGVkLgorCSAqLworCWlmICghY3B1c19pbnRlcnNlY3RzKG5ld192YWx1ZSwgY3B1X29ubGluZV9tYXApKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlycV9kZWZhdWx0X2FmZmluaXR5ID0gbmV3X3ZhbHVlOworCisJcmV0dXJuIGZ1bGxfY291bnQ7Cit9CiAjZW5kaWYKIAogc3RhdGljIGludCBpcnFfc3B1cmlvdXNfcmVhZChjaGFyICpwYWdlLCBjaGFyICoqc3RhcnQsIG9mZl90IG9mZiwKQEAgLTE3MSw2ICsyMDUsMjEgQEAKIAkJcmVtb3ZlX3Byb2NfZW50cnkoYWN0aW9uLT5kaXItPm5hbWUsIGlycV9kZXNjW2lycV0uZGlyKTsKIH0KIAordm9pZCByZWdpc3Rlcl9kZWZhdWx0X2FmZmluaXR5X3Byb2Modm9pZCkKK3sKKyNpZmRlZiBDT05GSUdfU01QCisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICplbnRyeTsKKworCS8qIGNyZWF0ZSAvcHJvYy9pcnEvZGVmYXVsdF9zbXBfYWZmaW5pdHkgKi8KKwllbnRyeSA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJkZWZhdWx0X3NtcF9hZmZpbml0eSIsIDA2MDAsIHJvb3RfaXJxX2Rpcik7CisJaWYgKGVudHJ5KSB7CisJCWVudHJ5LT5kYXRhID0gTlVMTDsKKwkJZW50cnktPnJlYWRfcHJvYyAgPSBkZWZhdWx0X2FmZmluaXR5X3JlYWQ7CisJCWVudHJ5LT53cml0ZV9wcm9jID0gZGVmYXVsdF9hZmZpbml0eV93cml0ZTsKKwl9CisjZW5kaWYKK30KKwogdm9pZCBpbml0X2lycV9wcm9jKHZvaWQpCiB7CiAJaW50IGk7CkBAIC0xODAsNiArMjI5LDggQEAKIAlpZiAoIXJvb3RfaXJxX2RpcikKIAkJcmV0dXJuOwogCisJcmVnaXN0ZXJfZGVmYXVsdF9hZmZpbml0eV9wcm9jKCk7CisKIAkvKgogCSAqIENyZWF0ZSBlbnRyaWVzIGZvciBhbGwgZXhpc3RpbmcgSVJRcy4KIAkgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9rcHJvYmVzLmMgYi9rZXJuZWwva3Byb2Jlcy5jCmluZGV4IGQ0OTk4ZjguLjE0ODVjYTggMTAwNjQ0Ci0tLSBhL2tlcm5lbC9rcHJvYmVzLmMKKysrIGIva2VybmVsL2twcm9iZXMuYwpAQCAtNzksNyArNzksNyBAQAogICoKICAqIEZvciBzdWNoIGNhc2VzLCB3ZSBub3cgaGF2ZSBhIGJsYWNrbGlzdAogICovCi1zdHJ1Y3Qga3Byb2JlX2JsYWNrcG9pbnQga3Byb2JlX2JsYWNrbGlzdFtdID0geworc3RhdGljIHN0cnVjdCBrcHJvYmVfYmxhY2twb2ludCBrcHJvYmVfYmxhY2tsaXN0W10gPSB7CiAJeyJwcmVlbXB0X3NjaGVkdWxlIix9LAogCXtOVUxMfSAgICAvKiBUZXJtaW5hdG9yICovCiB9OwpkaWZmIC0tZ2l0IGEva2VybmVsL2t0aHJlYWQuYyBiL2tlcm5lbC9rdGhyZWFkLmMKaW5kZXggYmQxYjllYS4uOTc3NDdjZCAxMDA2NDQKLS0tIGEva2VybmVsL2t0aHJlYWQuYworKysgYi9rZXJuZWwva3RocmVhZC5jCkBAIC0xODAsNiArMTgwLDcgQEAKIAlzZXRfdGFza19jcHUoaywgY3B1KTsKIAlrLT5jcHVzX2FsbG93ZWQgPSBjcHVtYXNrX29mX2NwdShjcHUpOwogCWstPnJ0Lm5yX2NwdXNfYWxsb3dlZCA9IDE7CisJay0+ZmxhZ3MgfD0gUEZfVEhSRUFEX0JPVU5EOwogfQogRVhQT1JUX1NZTUJPTChrdGhyZWFkX2JpbmQpOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvbG9ja2RlcC5jIGIva2VybmVsL2xvY2tkZXAuYwppbmRleCA4MWE0ZTRhLi5kMzhhNjQzIDEwMDY0NAotLS0gYS9rZXJuZWwvbG9ja2RlcC5jCisrKyBiL2tlcm5lbC9sb2NrZGVwLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pcnFmbGFncy5oPgogI2luY2x1ZGUgPGxpbnV4L3V0c25hbWUuaD4KICNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KIApAQCAtODEsNiArODIsOCBAQAogCQlfX3Jhd19zcGluX3VubG9jaygmbG9ja2RlcF9sb2NrKTsKIAkJcmV0dXJuIDA7CiAJfQorCS8qIHByZXZlbnQgYW55IHJlY3Vyc2lvbnMgd2l0aGluIGxvY2tkZXAgZnJvbSBjYXVzaW5nIGRlYWRsb2NrcyAqLworCWN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uKys7CiAJcmV0dXJuIDE7CiB9CiAKQEAgLTg5LDYgKzkyLDcgQEAKIAlpZiAoZGVidWdfbG9ja3MgJiYgIV9fcmF3X3NwaW5faXNfbG9ja2VkKCZsb2NrZGVwX2xvY2spKQogCQlyZXR1cm4gREVCVUdfTE9DS1NfV0FSTl9PTigxKTsKIAorCWN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uLS07CiAJX19yYXdfc3Bpbl91bmxvY2soJmxvY2tkZXBfbG9jayk7CiAJcmV0dXJuIDA7CiB9CkBAIC05ODIsNyArOTg2LDcgQEAKIAlyZXR1cm4gMTsKIH0KIAotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUworI2lmIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKSAmJiBkZWZpbmVkKENPTkZJR19QUk9WRV9MT0NLSU5HKQogLyoKICAqIEZvcndhcmRzIGFuZCBiYWNrd2FyZHMgc3ViZ3JhcGggc2VhcmNoaW5nLCBmb3IgdGhlIHB1cnBvc2VzIG9mCiAgKiBwcm92aW5nIHRoYXQgdHdvIHN1YmdyYXBocyBjYW4gYmUgY29ubmVjdGVkIGJ5IGEgbmV3IGRlcGVuZGVuY3kKQEAgLTE0NTgsNyArMTQ2MiwxNCBAQAogfQogCiB1bnNpZ25lZCBsb25nIG5yX2xvY2tfY2hhaW5zOwotc3RhdGljIHN0cnVjdCBsb2NrX2NoYWluIGxvY2tfY2hhaW5zW01BWF9MT0NLREVQX0NIQUlOU107CitzdHJ1Y3QgbG9ja19jaGFpbiBsb2NrX2NoYWluc1tNQVhfTE9DS0RFUF9DSEFJTlNdOworaW50IG5yX2NoYWluX2hsb2NrczsKK3N0YXRpYyB1MTYgY2hhaW5faGxvY2tzW01BWF9MT0NLREVQX0NIQUlOX0hMT0NLU107CisKK3N0cnVjdCBsb2NrX2NsYXNzICpsb2NrX2NoYWluX2dldF9jbGFzcyhzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW4sIGludCBpKQoreworCXJldHVybiBsb2NrX2NsYXNzZXMgKyBjaGFpbl9obG9ja3NbY2hhaW4tPmJhc2UgKyBpXTsKK30KIAogLyoKICAqIExvb2sgdXAgYSBkZXBlbmRlbmN5IGNoYWluLiBJZiB0aGUga2V5IGlzIG5vdCBwcmVzZW50IHlldCB0aGVuCkBAIC0xNDY2LDEwICsxNDc3LDE1IEBACiAgKiB2YWxpZGF0ZWQuIElmIHRoZSBrZXkgaXMgYWxyZWFkeSBoYXNoZWQsIHJldHVybiAwLgogICogKE9uIHJldHVybiB3aXRoIDEgZ3JhcGhfbG9jayBpcyBoZWxkLikKICAqLwotc3RhdGljIGlubGluZSBpbnQgbG9va3VwX2NoYWluX2NhY2hlKHU2NCBjaGFpbl9rZXksIHN0cnVjdCBsb2NrX2NsYXNzICpjbGFzcykKK3N0YXRpYyBpbmxpbmUgaW50IGxvb2t1cF9jaGFpbl9jYWNoZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsCisJCQkJICAgICBzdHJ1Y3QgaGVsZF9sb2NrICpobG9jaywKKwkJCQkgICAgIHU2NCBjaGFpbl9rZXkpCiB7CisJc3RydWN0IGxvY2tfY2xhc3MgKmNsYXNzID0gaGxvY2stPmNsYXNzOwogCXN0cnVjdCBsaXN0X2hlYWQgKmhhc2hfaGVhZCA9IGNoYWluaGFzaGVudHJ5KGNoYWluX2tleSk7CiAJc3RydWN0IGxvY2tfY2hhaW4gKmNoYWluOworCXN0cnVjdCBoZWxkX2xvY2sgKmhsb2NrX2N1cnIsICpobG9ja19uZXh0OworCWludCBpLCBqLCBuLCBjbjsKIAogCWlmIChERUJVR19MT0NLU19XQVJOX09OKCFpcnFzX2Rpc2FibGVkKCkpKQogCQlyZXR1cm4gMDsKQEAgLTE1MTcsNiArMTUzMywzMiBAQAogCX0KIAljaGFpbiA9IGxvY2tfY2hhaW5zICsgbnJfbG9ja19jaGFpbnMrKzsKIAljaGFpbi0+Y2hhaW5fa2V5ID0gY2hhaW5fa2V5OworCWNoYWluLT5pcnFfY29udGV4dCA9IGhsb2NrLT5pcnFfY29udGV4dDsKKwkvKiBGaW5kIHRoZSBmaXJzdCBoZWxkX2xvY2sgb2YgY3VycmVudCBjaGFpbiAqLworCWhsb2NrX25leHQgPSBobG9jazsKKwlmb3IgKGkgPSBjdXJyLT5sb2NrZGVwX2RlcHRoIC0gMTsgaSA+PSAwOyBpLS0pIHsKKwkJaGxvY2tfY3VyciA9IGN1cnItPmhlbGRfbG9ja3MgKyBpOworCQlpZiAoaGxvY2tfY3Vyci0+aXJxX2NvbnRleHQgIT0gaGxvY2tfbmV4dC0+aXJxX2NvbnRleHQpCisJCQlicmVhazsKKwkJaGxvY2tfbmV4dCA9IGhsb2NrOworCX0KKwlpKys7CisJY2hhaW4tPmRlcHRoID0gY3Vyci0+bG9ja2RlcF9kZXB0aCArIDEgLSBpOworCWNuID0gbnJfY2hhaW5faGxvY2tzOworCXdoaWxlIChjbiArIGNoYWluLT5kZXB0aCA8PSBNQVhfTE9DS0RFUF9DSEFJTl9ITE9DS1MpIHsKKwkJbiA9IGNtcHhjaGcoJm5yX2NoYWluX2hsb2NrcywgY24sIGNuICsgY2hhaW4tPmRlcHRoKTsKKwkJaWYgKG4gPT0gY24pCisJCQlicmVhazsKKwkJY24gPSBuOworCX0KKwlpZiAobGlrZWx5KGNuICsgY2hhaW4tPmRlcHRoIDw9IE1BWF9MT0NLREVQX0NIQUlOX0hMT0NLUykpIHsKKwkJY2hhaW4tPmJhc2UgPSBjbjsKKwkJZm9yIChqID0gMDsgaiA8IGNoYWluLT5kZXB0aCAtIDE7IGorKywgaSsrKSB7CisJCQlpbnQgbG9ja19pZCA9IGN1cnItPmhlbGRfbG9ja3NbaV0uY2xhc3MgLSBsb2NrX2NsYXNzZXM7CisJCQljaGFpbl9obG9ja3NbY2hhaW4tPmJhc2UgKyBqXSA9IGxvY2tfaWQ7CisJCX0KKwkJY2hhaW5faGxvY2tzW2NoYWluLT5iYXNlICsgal0gPSBjbGFzcyAtIGxvY2tfY2xhc3NlczsKKwl9CiAJbGlzdF9hZGRfdGFpbF9yY3UoJmNoYWluLT5lbnRyeSwgaGFzaF9oZWFkKTsKIAlkZWJ1Z19hdG9taWNfaW5jKCZjaGFpbl9sb29rdXBfbWlzc2VzKTsKIAlpbmNfY2hhaW5zKCk7CkBAIC0xNTM4LDcgKzE1ODAsNyBAQAogCSAqIGdyYXBoX2xvY2sgZm9yIHVzKQogCSAqLwogCWlmICghaGxvY2stPnRyeWxvY2sgJiYgKGhsb2NrLT5jaGVjayA9PSAyKSAmJgotCQkJbG9va3VwX2NoYWluX2NhY2hlKGNoYWluX2tleSwgaGxvY2stPmNsYXNzKSkgeworCSAgICBsb29rdXBfY2hhaW5fY2FjaGUoY3VyciwgaGxvY2ssIGNoYWluX2tleSkpIHsKIAkJLyoKIAkJICogQ2hlY2sgd2hldGhlciBsYXN0IGhlbGQgbG9jazoKIAkJICoKQEAgLTE2ODAsNyArMTcyMiw3IEBACiBzdGF0aWMgaW50IG1hcmtfbG9jayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsIHN0cnVjdCBoZWxkX2xvY2sgKnRoaXMsCiAJCSAgICAgZW51bSBsb2NrX3VzYWdlX2JpdCBuZXdfYml0KTsKIAotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUworI2lmIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKSAmJiBkZWZpbmVkKENPTkZJR19QUk9WRV9MT0NLSU5HKQogCiAvKgogICogcHJpbnQgaXJxIGludmVyc2lvbiBidWc6CkBAIC0yMDEzLDExICsyMDU1LDEzIEBACiAvKgogICogSGFyZGlycXMgd2lsbCBiZSBlbmFibGVkOgogICovCi12b2lkIHRyYWNlX2hhcmRpcnFzX29uKHZvaWQpCit2b2lkIHRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcih1bnNpZ25lZCBsb25nIGEwKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IGN1cnJlbnQ7CiAJdW5zaWduZWQgbG9uZyBpcDsKIAorCXRpbWVfaGFyZGlycXNfb24oQ0FMTEVSX0FERFIwLCBhMCk7CisKIAlpZiAodW5saWtlbHkoIWRlYnVnX2xvY2tzIHx8IGN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uKSkKIAkJcmV0dXJuOwogCkBAIC0yMDU1LDE2ICsyMDk5LDIzIEBACiAJY3Vyci0+aGFyZGlycV9lbmFibGVfZXZlbnQgPSArK2N1cnItPmlycV9ldmVudHM7CiAJZGVidWdfYXRvbWljX2luYygmaGFyZGlycXNfb25fZXZlbnRzKTsKIH0KK0VYUE9SVF9TWU1CT0wodHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKTsKIAordm9pZCB0cmFjZV9oYXJkaXJxc19vbih2b2lkKQoreworCXRyYWNlX2hhcmRpcnFzX29uX2NhbGxlcihDQUxMRVJfQUREUjApOworfQogRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbik7CiAKIC8qCiAgKiBIYXJkaXJxcyB3ZXJlIGRpc2FibGVkOgogICovCi12b2lkIHRyYWNlX2hhcmRpcnFzX29mZih2b2lkKQordm9pZCB0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKHVuc2lnbmVkIGxvbmcgYTApCiB7CiAJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyID0gY3VycmVudDsKIAorCXRpbWVfaGFyZGlycXNfb2ZmKENBTExFUl9BRERSMCwgYTApOworCiAJaWYgKHVubGlrZWx5KCFkZWJ1Z19sb2NrcyB8fCBjdXJyZW50LT5sb2NrZGVwX3JlY3Vyc2lvbikpCiAJCXJldHVybjsKIApAQCAtMjA4Miw3ICsyMTMzLDEyIEBACiAJfSBlbHNlCiAJCWRlYnVnX2F0b21pY19pbmMoJnJlZHVuZGFudF9oYXJkaXJxc19vZmYpOwogfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKTsKIAordm9pZCB0cmFjZV9oYXJkaXJxc19vZmYodm9pZCkKK3sKKwl0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKENBTExFUl9BRERSMCk7Cit9CiBFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZik7CiAKIC8qCkBAIC0yMjQ2LDcgKzIzMDIsNyBAQAogICogTWFyayBhIGxvY2sgd2l0aCBhIHVzYWdlIGJpdCwgYW5kIHZhbGlkYXRlIHRoZSBzdGF0ZSB0cmFuc2l0aW9uOgogICovCiBzdGF0aWMgaW50IG1hcmtfbG9jayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIsIHN0cnVjdCBoZWxkX2xvY2sgKnRoaXMsCi0JCSAgICAgZW51bSBsb2NrX3VzYWdlX2JpdCBuZXdfYml0KQorCQkJICAgICBlbnVtIGxvY2tfdXNhZ2VfYml0IG5ld19iaXQpCiB7CiAJdW5zaWduZWQgaW50IG5ld19tYXNrID0gMSA8PCBuZXdfYml0LCByZXQgPSAxOwogCkBAIC0yNjUwLDcgKzI3MDYsOCBAQAogICovCiBzdGF0aWMgdm9pZCBjaGVja19mbGFncyh1bnNpZ25lZCBsb25nIGZsYWdzKQogewotI2lmIGRlZmluZWQoQ09ORklHX0RFQlVHX0xPQ0tERVApICYmIGRlZmluZWQoQ09ORklHX1RSQUNFX0lSUUZMQUdTKQorI2lmIGRlZmluZWQoQ09ORklHX1BST1ZFX0xPQ0tJTkcpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX0xPQ0tERVApICYmIFwKKyAgICBkZWZpbmVkKENPTkZJR19UUkFDRV9JUlFGTEFHUykKIAlpZiAoIWRlYnVnX2xvY2tzKQogCQlyZXR1cm47CiAKQEAgLTI2ODYsNyArMjc0Myw3IEBACiAgKiBhbmQgYWxzbyBhdm9pZCBsb2NrZGVwIHJlY3Vyc2lvbjoKICAqLwogdm9pZCBsb2NrX2FjcXVpcmUoc3RydWN0IGxvY2tkZXBfbWFwICpsb2NrLCB1bnNpZ25lZCBpbnQgc3ViY2xhc3MsCi0JCSAgaW50IHRyeWxvY2ssIGludCByZWFkLCBpbnQgY2hlY2ssIHVuc2lnbmVkIGxvbmcgaXApCisJCQkgIGludCB0cnlsb2NrLCBpbnQgcmVhZCwgaW50IGNoZWNrLCB1bnNpZ25lZCBsb25nIGlwKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKQEAgLTI3MDgsNyArMjc2NSw4IEBACiAKIEVYUE9SVF9TWU1CT0xfR1BMKGxvY2tfYWNxdWlyZSk7CiAKLXZvaWQgbG9ja19yZWxlYXNlKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywgaW50IG5lc3RlZCwgdW5zaWduZWQgbG9uZyBpcCkKK3ZvaWQgbG9ja19yZWxlYXNlKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywgaW50IG5lc3RlZCwKKwkJCSAgdW5zaWduZWQgbG9uZyBpcCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCmRpZmYgLS1naXQgYS9rZXJuZWwvbG9ja2RlcF9pbnRlcm5hbHMuaCBiL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oCmluZGV4IDhjZTA5YmMuLmMzNjAwYTAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oCisrKyBiL2tlcm5lbC9sb2NrZGVwX2ludGVybmFscy5oCkBAIC0yMyw2ICsyMyw4IEBACiAjZGVmaW5lIE1BWF9MT0NLREVQX0NIQUlOU19CSVRTCTE0CiAjZGVmaW5lIE1BWF9MT0NLREVQX0NIQUlOUwkoMVVMIDw8IE1BWF9MT0NLREVQX0NIQUlOU19CSVRTKQogCisjZGVmaW5lIE1BWF9MT0NLREVQX0NIQUlOX0hMT0NLUyAoTUFYX0xPQ0tERVBfQ0hBSU5TKjUpCisKIC8qCiAgKiBTdGFjay10cmFjZTogdGlnaHRseSBwYWNrZWQgYXJyYXkgb2Ygc3RhY2sgYmFja3RyYWNlCiAgKiBhZGRyZXNzZXMuIFByb3RlY3RlZCBieSB0aGUgaGFzaF9sb2NrLgpAQCAtMzAsMTUgKzMyLDE5IEBACiAjZGVmaW5lIE1BWF9TVEFDS19UUkFDRV9FTlRSSUVTCTI2MjE0NFVMCiAKIGV4dGVybiBzdHJ1Y3QgbGlzdF9oZWFkIGFsbF9sb2NrX2NsYXNzZXM7CitleHRlcm4gc3RydWN0IGxvY2tfY2hhaW4gbG9ja19jaGFpbnNbXTsKIAogZXh0ZXJuIHZvaWQKIGdldF91c2FnZV9jaGFycyhzdHJ1Y3QgbG9ja19jbGFzcyAqY2xhc3MsIGNoYXIgKmMxLCBjaGFyICpjMiwgY2hhciAqYzMsIGNoYXIgKmM0KTsKIAogZXh0ZXJuIGNvbnN0IGNoYXIgKiBfX2dldF9rZXlfbmFtZShzdHJ1Y3QgbG9ja2RlcF9zdWJjbGFzc19rZXkgKmtleSwgY2hhciAqc3RyKTsKIAorc3RydWN0IGxvY2tfY2xhc3MgKmxvY2tfY2hhaW5fZ2V0X2NsYXNzKHN0cnVjdCBsb2NrX2NoYWluICpjaGFpbiwgaW50IGkpOworCiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9sb2NrX2NsYXNzZXM7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9saXN0X2VudHJpZXM7CiBleHRlcm4gdW5zaWduZWQgbG9uZyBucl9sb2NrX2NoYWluczsKK2V4dGVybiBpbnQgbnJfY2hhaW5faGxvY2tzOwogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbnJfc3RhY2tfdHJhY2VfZW50cmllczsKIAogZXh0ZXJuIHVuc2lnbmVkIGludCBucl9oYXJkaXJxX2NoYWluczsKZGlmZiAtLWdpdCBhL2tlcm5lbC9sb2NrZGVwX3Byb2MuYyBiL2tlcm5lbC9sb2NrZGVwX3Byb2MuYwppbmRleCBkYzVkMjk2Li45YjBlOTQwIDEwMDY0NAotLS0gYS9rZXJuZWwvbG9ja2RlcF9wcm9jLmMKKysrIGIva2VybmVsL2xvY2tkZXBfcHJvYy5jCkBAIC0xMzksNyArMTM5LDcgQEAKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkoZW50cnksICZjbGFzcy0+bG9ja3NfYWZ0ZXIsIGVudHJ5KSB7CiAJCWlmIChlbnRyeS0+ZGlzdGFuY2UgPT0gMSkgewotCQkJc2VxX3ByaW50ZihtLCAiIC0+IFslcF0gIiwgZW50cnktPmNsYXNzKTsKKwkJCXNlcV9wcmludGYobSwgIiAtPiBbJXBdICIsIGVudHJ5LT5jbGFzcy0+a2V5KTsKIAkJCXByaW50X25hbWUobSwgZW50cnktPmNsYXNzKTsKIAkJCXNlcV9wdXRzKG0sICJcbiIpOwogCQl9CkBAIC0xNzgsNiArMTc4LDk1IEBACiAJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKIH07CiAKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORworc3RhdGljIHZvaWQgKmxjX25leHQoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp2LCBsb2ZmX3QgKnBvcykKK3sKKwlzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW47CisKKwkoKnBvcykrKzsKKworCWlmICh2ID09IFNFUV9TVEFSVF9UT0tFTikKKwkJY2hhaW4gPSBtLT5wcml2YXRlOworCWVsc2UgeworCQljaGFpbiA9IHY7CisKKwkJaWYgKCpwb3MgPCBucl9sb2NrX2NoYWlucykKKwkJCWNoYWluID0gbG9ja19jaGFpbnMgKyAqcG9zOworCQllbHNlCisJCQljaGFpbiA9IE5VTEw7CisJfQorCisJcmV0dXJuIGNoYWluOworfQorCitzdGF0aWMgdm9pZCAqbGNfc3RhcnQoc3RydWN0IHNlcV9maWxlICptLCBsb2ZmX3QgKnBvcykKK3sKKwlpZiAoKnBvcyA9PSAwKQorCQlyZXR1cm4gU0VRX1NUQVJUX1RPS0VOOworCisJaWYgKCpwb3MgPCBucl9sb2NrX2NoYWlucykKKwkJcmV0dXJuIGxvY2tfY2hhaW5zICsgKnBvczsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBsY19zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKK30KKworc3RhdGljIGludCBsY19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgbG9ja19jaGFpbiAqY2hhaW4gPSB2OworCXN0cnVjdCBsb2NrX2NsYXNzICpjbGFzczsKKwlpbnQgaTsKKworCWlmICh2ID09IFNFUV9TVEFSVF9UT0tFTikgeworCQlzZXFfcHJpbnRmKG0sICJhbGwgbG9jayBjaGFpbnM6XG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJc2VxX3ByaW50ZihtLCAiaXJxX2NvbnRleHQ6ICVkXG4iLCBjaGFpbi0+aXJxX2NvbnRleHQpOworCisJZm9yIChpID0gMDsgaSA8IGNoYWluLT5kZXB0aDsgaSsrKSB7CisJCWNsYXNzID0gbG9ja19jaGFpbl9nZXRfY2xhc3MoY2hhaW4sIGkpOworCQlzZXFfcHJpbnRmKG0sICJbJXBdICIsIGNsYXNzLT5rZXkpOworCQlwcmludF9uYW1lKG0sIGNsYXNzKTsKKwkJc2VxX3B1dHMobSwgIlxuIik7CisJfQorCXNlcV9wdXRzKG0sICJcbiIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgbG9ja2RlcF9jaGFpbnNfb3BzID0geworCS5zdGFydAk9IGxjX3N0YXJ0LAorCS5uZXh0CT0gbGNfbmV4dCwKKwkuc3RvcAk9IGxjX3N0b3AsCisJLnNob3cJPSBsY19zaG93LAorfTsKKworc3RhdGljIGludCBsb2NrZGVwX2NoYWluc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXMgPSBzZXFfb3BlbihmaWxlLCAmbG9ja2RlcF9jaGFpbnNfb3BzKTsKKwlpZiAoIXJlcykgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisKKwkJaWYgKG5yX2xvY2tfY2hhaW5zKQorCQkJbS0+cHJpdmF0ZSA9IGxvY2tfY2hhaW5zOworCQllbHNlCisJCQltLT5wcml2YXRlID0gTlVMTDsKKwl9CisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgcHJvY19sb2NrZGVwX2NoYWluc19vcGVyYXRpb25zID0geworCS5vcGVuCQk9IGxvY2tkZXBfY2hhaW5zX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSBzZXFfcmVsZWFzZSwKK307CisjZW5kaWYgLyogQ09ORklHX1BST1ZFX0xPQ0tJTkcgKi8KKwogc3RhdGljIHZvaWQgbG9ja2RlcF9zdGF0c19kZWJ1Z19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSkKIHsKICNpZmRlZiBDT05GSUdfREVCVUdfTE9DS0RFUApAQCAtMjk0LDYgKzM4Myw4IEBACiAjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKIAlzZXFfcHJpbnRmKG0sICIgZGVwZW5kZW5jeSBjaGFpbnM6ICAgICAgICAgICAgICUxMWx1IFttYXg6ICVsdV1cbiIsCiAJCQlucl9sb2NrX2NoYWlucywgTUFYX0xPQ0tERVBfQ0hBSU5TKTsKKwlzZXFfcHJpbnRmKG0sICIgZGVwZW5kZW5jeSBjaGFpbiBobG9ja3M6ICAgICAgICUxMWQgW21heDogJWx1XVxuIiwKKwkJCW5yX2NoYWluX2hsb2NrcywgTUFYX0xPQ0tERVBfQ0hBSU5fSExPQ0tTKTsKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCkBAIC02NjEsNiArNzUyLDEwIEBACiBzdGF0aWMgaW50IF9faW5pdCBsb2NrZGVwX3Byb2NfaW5pdCh2b2lkKQogewogCXByb2NfY3JlYXRlKCJsb2NrZGVwIiwgU19JUlVTUiwgTlVMTCwgJnByb2NfbG9ja2RlcF9vcGVyYXRpb25zKTsKKyNpZmRlZiBDT05GSUdfUFJPVkVfTE9DS0lORworCXByb2NfY3JlYXRlKCJsb2NrZGVwX2NoYWlucyIsIFNfSVJVU1IsIE5VTEwsCisJCSAgICAmcHJvY19sb2NrZGVwX2NoYWluc19vcGVyYXRpb25zKTsKKyNlbmRpZgogCXByb2NfY3JlYXRlKCJsb2NrZGVwX3N0YXRzIiwgU19JUlVTUiwgTlVMTCwKIAkJICAgICZwcm9jX2xvY2tkZXBfc3RhdHNfb3BlcmF0aW9ucyk7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9tYXJrZXIuYyBiL2tlcm5lbC9tYXJrZXIuYwppbmRleCBiNWE5ZmUxLi4xYWJmYjkyIDEwMDY0NAotLS0gYS9rZXJuZWwvbWFya2VyLmMKKysrIGIva2VybmVsL21hcmtlci5jCkBAIC01NSw4ICs1NSw4IEBACiBzdHJ1Y3QgbWFya2VyX2VudHJ5IHsKIAlzdHJ1Y3QgaGxpc3Rfbm9kZSBobGlzdDsKIAljaGFyICpmb3JtYXQ7Ci0Jdm9pZCAoKmNhbGwpKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLAkvKiBQcm9iZSB3cmFwcGVyICovCi0JCXZvaWQgKmNhbGxfcHJpdmF0ZSwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCQkJLyogUHJvYmUgd3JhcHBlciAqLworCXZvaWQgKCpjYWxsKShjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLCAuLi4pOwogCXN0cnVjdCBtYXJrZXJfcHJvYmVfY2xvc3VyZSBzaW5nbGU7CiAJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKIAlpbnQgcmVmY291bnQ7CS8qIE51bWJlciBvZiB0aW1lcyBhcm1lZC4gMCBpZiBkaXNhcm1lZC4gKi8KQEAgLTkxLDE1ICs5MSwxMyBAQAogICogbWFya2VyX3Byb2JlX2NiIENhbGxiYWNrIHRoYXQgcHJlcGFyZXMgdGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgZm9yIHByb2Jlcy4KICAqIEBtZGF0YTogcG9pbnRlciBvZiB0eXBlIHN0cnVjdCBtYXJrZXIKICAqIEBjYWxsX3ByaXZhdGU6IGNhbGxlciBzaXRlIHByaXZhdGUgZGF0YQotICogQGZtdDogZm9ybWF0IHN0cmluZwogICogQC4uLjogIFZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuCiAgKgogICogU2luY2Ugd2UgZG8gbm90IHVzZSAidHlwaWNhbCIgcG9pbnRlciBiYXNlZCBSQ1UgaW4gdGhlIDEgYXJndW1lbnQgY2FzZSwgd2UKICAqIG5lZWQgdG8gcHV0IGEgZnVsbCBzbXBfcm1iKCkgaW4gdGhpcyBicmFuY2guIFRoaXMgaXMgd2h5IHdlIGRvIG5vdCB1c2UKICAqIHJjdV9kZXJlZmVyZW5jZSgpIGZvciB0aGUgcG9pbnRlciByZWFkLgogICovCi12b2lkIG1hcmtlcl9wcm9iZV9jYihjb25zdCBzdHJ1Y3QgbWFya2VyICptZGF0YSwgdm9pZCAqY2FsbF9wcml2YXRlLAotCWNvbnN0IGNoYXIgKmZtdCwgLi4uKQordm9pZCBtYXJrZXJfcHJvYmVfY2IoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsIHZvaWQgKmNhbGxfcHJpdmF0ZSwgLi4uKQogewogCXZhX2xpc3QgYXJnczsKIAljaGFyIHB0eXBlOwpAQCAtMTIwLDggKzExOCw5IEBACiAJCS8qIE11c3QgcmVhZCB0aGUgcHRyIGJlZm9yZSBwcml2YXRlIGRhdGEuIFRoZXkgYXJlIG5vdCBkYXRhCiAJCSAqIGRlcGVuZGFudCwgc28gd2UgcHV0IGFuIGV4cGxpY2l0IHNtcF9ybWIoKSBoZXJlLiAqLwogCQlzbXBfcm1iKCk7Ci0JCXZhX3N0YXJ0KGFyZ3MsIGZtdCk7Ci0JCWZ1bmMobWRhdGEtPnNpbmdsZS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIGZtdCwgJmFyZ3MpOworCQl2YV9zdGFydChhcmdzLCBjYWxsX3ByaXZhdGUpOworCQlmdW5jKG1kYXRhLT5zaW5nbGUucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBtZGF0YS0+Zm9ybWF0LAorCQkJJmFyZ3MpOwogCQl2YV9lbmQoYXJncyk7CiAJfSBlbHNlIHsKIAkJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKQEAgLTEzNiw5ICsxMzUsOSBAQAogCQlzbXBfcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKIAkJbXVsdGkgPSBtZGF0YS0+bXVsdGk7CiAJCWZvciAoaSA9IDA7IG11bHRpW2ldLmZ1bmM7IGkrKykgewotCQkJdmFfc3RhcnQoYXJncywgZm10KTsKLQkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLCBmbXQsCi0JCQkJJmFyZ3MpOworCQkJdmFfc3RhcnQoYXJncywgY2FsbF9wcml2YXRlKTsKKwkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLAorCQkJCW1kYXRhLT5mb3JtYXQsICZhcmdzKTsKIAkJCXZhX2VuZChhcmdzKTsKIAkJfQogCX0KQEAgLTE1MCwxMyArMTQ5LDExIEBACiAgKiBtYXJrZXJfcHJvYmVfY2IgQ2FsbGJhY2sgdGhhdCBkb2VzIG5vdCBwcmVwYXJlIHRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0LgogICogQG1kYXRhOiBwb2ludGVyIG9mIHR5cGUgc3RydWN0IG1hcmtlcgogICogQGNhbGxfcHJpdmF0ZTogY2FsbGVyIHNpdGUgcHJpdmF0ZSBkYXRhCi0gKiBAZm10OiBmb3JtYXQgc3RyaW5nCiAgKiBALi4uOiAgVmFyaWFibGUgYXJndW1lbnQgbGlzdC4KICAqCiAgKiBTaG91bGQgYmUgY29ubmVjdGVkIHRvIG1hcmtlcnMgIk1BUktfTk9BUkdTIi4KICAqLwotdm9pZCBtYXJrZXJfcHJvYmVfY2Jfbm9hcmcoY29uc3Qgc3RydWN0IG1hcmtlciAqbWRhdGEsCi0Jdm9pZCAqY2FsbF9wcml2YXRlLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3ZvaWQgbWFya2VyX3Byb2JlX2NiX25vYXJnKGNvbnN0IHN0cnVjdCBtYXJrZXIgKm1kYXRhLCB2b2lkICpjYWxsX3ByaXZhdGUsIC4uLikKIHsKIAl2YV9saXN0IGFyZ3M7CS8qIG5vdCBpbml0aWFsaXplZCAqLwogCWNoYXIgcHR5cGU7CkBAIC0xNzIsNyArMTY5LDggQEAKIAkJLyogTXVzdCByZWFkIHRoZSBwdHIgYmVmb3JlIHByaXZhdGUgZGF0YS4gVGhleSBhcmUgbm90IGRhdGEKIAkJICogZGVwZW5kYW50LCBzbyB3ZSBwdXQgYW4gZXhwbGljaXQgc21wX3JtYigpIGhlcmUuICovCiAJCXNtcF9ybWIoKTsKLQkJZnVuYyhtZGF0YS0+c2luZ2xlLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgZm10LCAmYXJncyk7CisJCWZ1bmMobWRhdGEtPnNpbmdsZS5wcm9iZV9wcml2YXRlLCBjYWxsX3ByaXZhdGUsIG1kYXRhLT5mb3JtYXQsCisJCQkmYXJncyk7CiAJfSBlbHNlIHsKIAkJc3RydWN0IG1hcmtlcl9wcm9iZV9jbG9zdXJlICptdWx0aTsKIAkJaW50IGk7CkBAIC0xODYsOCArMTg0LDggQEAKIAkJc21wX3JlYWRfYmFycmllcl9kZXBlbmRzKCk7CiAJCW11bHRpID0gbWRhdGEtPm11bHRpOwogCQlmb3IgKGkgPSAwOyBtdWx0aVtpXS5mdW5jOyBpKyspCi0JCQltdWx0aVtpXS5mdW5jKG11bHRpW2ldLnByb2JlX3ByaXZhdGUsIGNhbGxfcHJpdmF0ZSwgZm10LAotCQkJCSZhcmdzKTsKKwkJCW11bHRpW2ldLmZ1bmMobXVsdGlbaV0ucHJvYmVfcHJpdmF0ZSwgY2FsbF9wcml2YXRlLAorCQkJCW1kYXRhLT5mb3JtYXQsICZhcmdzKTsKIAl9CiAJcHJlZW1wdF9lbmFibGUoKTsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9tdXRleC1kZWJ1Zy5jIGIva2VybmVsL211dGV4LWRlYnVnLmMKaW5kZXggM2FhYTA2Yy4uMWQ5NDE2MCAxMDA2NDQKLS0tIGEva2VybmVsL211dGV4LWRlYnVnLmMKKysrIGIva2VybmVsL211dGV4LWRlYnVnLmMKQEAgLTc5LDggKzc5LDggQEAKIAlpZiAodW5saWtlbHkoIWRlYnVnX2xvY2tzKSkKIAkJcmV0dXJuOwogCi0JREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5vd25lciAhPSBjdXJyZW50X3RocmVhZF9pbmZvKCkpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04obG9jay0+bWFnaWMgIT0gbG9jayk7CisJREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5vd25lciAhPSBjdXJyZW50X3RocmVhZF9pbmZvKCkpOwogCURFQlVHX0xPQ0tTX1dBUk5fT04oIWxvY2stPndhaXRfbGlzdC5wcmV2ICYmICFsb2NrLT53YWl0X2xpc3QubmV4dCk7CiAJREVCVUdfTE9DS1NfV0FSTl9PTihsb2NrLT5vd25lciAhPSBjdXJyZW50X3RocmVhZF9pbmZvKCkpOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL211dGV4LmMgYi9rZXJuZWwvbXV0ZXguYwppbmRleCBkMDQ2YTM0Li5iY2RjOWFjIDEwMDY0NAotLS0gYS9rZXJuZWwvbXV0ZXguYworKysgYi9rZXJuZWwvbXV0ZXguYwpAQCAtMTY1LDEwICsxNjUsNyBAQAogCQkgKiBnb3QgYSBzaWduYWw/IChUaGlzIGNvZGUgZ2V0cyBlbGltaW5hdGVkIGluIHRoZQogCQkgKiBUQVNLX1VOSU5URVJSVVBUSUJMRSBjYXNlLikKIAkJICovCi0JCWlmICh1bmxpa2VseSgoc3RhdGUgPT0gVEFTS19JTlRFUlJVUFRJQkxFICYmCi0JCQkJCXNpZ25hbF9wZW5kaW5nKHRhc2spKSB8fAotCQkJICAgICAgKHN0YXRlID09IFRBU0tfS0lMTEFCTEUgJiYKLQkJCQkJZmF0YWxfc2lnbmFsX3BlbmRpbmcodGFzaykpKSkgeworCQlpZiAodW5saWtlbHkoc2lnbmFsX3BlbmRpbmdfc3RhdGUoc3RhdGUsIHRhc2spKSkgewogCQkJbXV0ZXhfcmVtb3ZlX3dhaXRlcihsb2NrLCAmd2FpdGVyLAogCQkJCQkgICAgdGFza190aHJlYWRfaW5mbyh0YXNrKSk7CiAJCQltdXRleF9yZWxlYXNlKCZsb2NrLT5kZXBfbWFwLCAxLCBpcCk7CmRpZmYgLS1naXQgYS9rZXJuZWwvcGlkLmMgYi9rZXJuZWwvcGlkLmMKaW5kZXggMjBkNTlmYS4uMzBiZDVkNCAxMDA2NDQKLS0tIGEva2VybmVsL3BpZC5jCisrKyBiL2tlcm5lbC9waWQuYwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9oYXNoLmg+CiAjaW5jbHVkZSA8bGludXgvcGlkX25hbWVzcGFjZS5oPgpkaWZmIC0tZ2l0IGEva2VybmVsL3BtX3Fvc19wYXJhbXMuYyBiL2tlcm5lbC9wbV9xb3NfcGFyYW1zLmMKaW5kZXggMGFmZTMyYi4uOGNiNzU3MCAxMDA2NDQKLS0tIGEva2VybmVsL3BtX3Fvc19wYXJhbXMuYworKysgYi9rZXJuZWwvcG1fcW9zX3BhcmFtcy5jCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9wbV9xb3NfcGFyYW1zLmg+CiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KQEAgLTM1OCwxNSArMzU5LDE5IEBACiAJaW50IHJldDsKIAlsb25nIHBtX3Fvc19jbGFzczsKIAorCWxvY2tfa2VybmVsKCk7CiAJcG1fcW9zX2NsYXNzID0gZmluZF9wbV9xb3Nfb2JqZWN0X2J5X21pbm9yKGltaW5vcihpbm9kZSkpOwogCWlmIChwbV9xb3NfY2xhc3MgPj0gMCkgewogCQlmaWxwLT5wcml2YXRlX2RhdGEgPSAodm9pZCAqKXBtX3Fvc19jbGFzczsKIAkJc3ByaW50ZihuYW1lLCAicHJvY2Vzc18lZCIsIGN1cnJlbnQtPnBpZCk7CiAJCXJldCA9IHBtX3Fvc19hZGRfcmVxdWlyZW1lbnQocG1fcW9zX2NsYXNzLCBuYW1lLAogCQkJCQlQTV9RT1NfREVGQVVMVF9WQUxVRSk7Ci0JCWlmIChyZXQgPj0gMCkKKwkJaWYgKHJldCA+PSAwKSB7CisJCQl1bmxvY2tfa2VybmVsKCk7CiAJCQlyZXR1cm4gMDsKKwkJfQogCX0KKwl1bmxvY2tfa2VybmVsKCk7CiAKIAlyZXR1cm4gLUVQRVJNOwogfQpkaWZmIC0tZ2l0IGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYyBiL2tlcm5lbC9wb3NpeC1jcHUtdGltZXJzLmMKaW5kZXggZjE1MjVhZC4uYzQyYTAzYSAxMDA2NDQKLS0tIGEva2VybmVsL3Bvc2l4LWNwdS10aW1lcnMuYworKysgYi9rZXJuZWwvcG9zaXgtY3B1LXRpbWVycy5jCkBAIC0xMDM3LDYgKzEwMzcsOSBAQAogCQkJCXNpZy0+cmxpbVtSTElNSVRfUlRUSU1FXS5ybGltX2N1ciArPQogCQkJCQkJCQlVU0VDX1BFUl9TRUM7CiAJCQl9CisJCQlwcmludGsoS0VSTl9JTkZPCisJCQkJIlJUIFdhdGNoZG9nIFRpbWVvdXQ6ICVzWyVkXVxuIiwKKwkJCQl0c2stPmNvbW0sIHRhc2tfcGlkX25yKHRzaykpOwogCQkJX19ncm91cF9zZW5kX3NpZ19pbmZvKFNJR1hDUFUsIFNFTkRfU0lHX1BSSVYsIHRzayk7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9rZXJuZWwvcHJpbnRrLmMgYi9rZXJuZWwvcHJpbnRrLmMKaW5kZXggOGZiMDFjMy4uMDdhZDllNyAxMDA2NDQKLS0tIGEva2VybmVsL3ByaW50ay5jCisrKyBiL2tlcm5lbC9wcmludGsuYwpAQCAtMzgsNyArMzgsNyBAQAogLyoKICAqIEFyY2hpdGVjdHVyZXMgY2FuIG92ZXJyaWRlIGl0OgogICovCi12b2lkIF9fYXR0cmlidXRlX18oKHdlYWspKSBlYXJseV9wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCit2b2lkIGFzbWxpbmthZ2UgX19hdHRyaWJ1dGVfXygod2VhaykpIGVhcmx5X3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikKIHsKIH0KIApAQCAtNzUsNiArNzUsOCBAQAogc3RhdGljIERFQ0xBUkVfTVVURVgoY29uc29sZV9zZW0pOwogc3RhdGljIERFQ0xBUkVfTVVURVgoc2Vjb25kYXJ5X2NvbnNvbGVfc2VtKTsKIHN0cnVjdCBjb25zb2xlICpjb25zb2xlX2RyaXZlcnM7CitFWFBPUlRfU1lNQk9MX0dQTChjb25zb2xlX2RyaXZlcnMpOworCiAvKgogICogVGhpcyBpcyB1c2VkIGZvciBkZWJ1Z2dpbmcgdGhlIG1lc3MgdGhhdCBpcyB0aGUgVlQgY29kZSBieQogICoga2VlcGluZyB0cmFjayBpZiB3ZSBoYXZlIHRoZSBjb25zb2xlIHNlbWFwaG9yZSBoZWxkLiBJdCdzCkBAIC0xMjEsNiArMTIzLDggQEAKIHN0YXRpYyBzdHJ1Y3QgY29uc29sZV9jbWRsaW5lIGNvbnNvbGVfY21kbGluZVtNQVhfQ01ETElORUNPTlNPTEVTXTsKIHN0YXRpYyBpbnQgc2VsZWN0ZWRfY29uc29sZSA9IC0xOwogc3RhdGljIGludCBwcmVmZXJyZWRfY29uc29sZSA9IC0xOworaW50IGNvbnNvbGVfc2V0X29uX2NtZGxpbmU7CitFWFBPUlRfU1lNQk9MKGNvbnNvbGVfc2V0X29uX2NtZGxpbmUpOwogCiAvKiBGbGFnOiBjb25zb2xlIGNvZGUgbWF5IGNhbGwgc2NoZWR1bGUoKSAqLwogc3RhdGljIGludCBjb25zb2xlX21heV9zY2hlZHVsZTsKQEAgLTIzMSw3ICsyMzUsNyBAQAogLyoKICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIHVucmVhZCBjaGFyYWN0ZXJzIGluIHRoZSBsb2cgYnVmZmVyLgogICovCi1pbnQgbG9nX2J1Zl9nZXRfbGVuKHZvaWQpCitzdGF0aWMgaW50IGxvZ19idWZfZ2V0X2xlbih2b2lkKQogewogCXJldHVybiBsb2dnZWRfY2hhcnM7CiB9CkBAIC0yNjgsMTkgKzI3Miw2IEBACiB9CiAKIC8qCi0gKiBFeHRyYWN0IGEgc2luZ2xlIGNoYXJhY3RlciBmcm9tIHRoZSBsb2cgYnVmZmVyLgotICovCi1pbnQgbG9nX2J1Zl9yZWFkKGludCBpZHgpCi17Ci0JY2hhciByZXQ7Ci0KLQlpZiAobG9nX2J1Zl9jb3B5KCZyZXQsIGlkeCwgMSkgPT0gMSkKLQkJcmV0dXJuIHJldDsKLQllbHNlCi0JCXJldHVybiAtMTsKLX0KLQotLyoKICAqIENvbW1hbmRzIHRvIGRvX3N5c2xvZzoKICAqCiAgKiAJMCAtLSBDbG9zZSB0aGUgbG9nLiAgQ3VycmVudGx5IGEgTk9QLgpAQCAtNjY1LDE4ICs2NTYsMTcgQEAKIAlzcGluX3VubG9jaygmbG9nYnVmX2xvY2spOwogCXJldHVybiByZXR2YWw7CiB9Ci0KLWNvbnN0IGNoYXIgcHJpbnRrX3JlY3Vyc2lvbl9idWdfbXNnIFtdID0KLQkJCUtFUk5fQ1JJVCAiQlVHOiByZWNlbnQgcHJpbnRrIHJlY3Vyc2lvbiFcbiI7Ci1zdGF0aWMgaW50IHByaW50a19yZWN1cnNpb25fYnVnOworc3RhdGljIGNvbnN0IGNoYXIgcmVjdXJzaW9uX2J1Z19tc2cgW10gPQorCQlLRVJOX0NSSVQgIkJVRzogcmVjZW50IHByaW50ayByZWN1cnNpb24hXG4iOworc3RhdGljIGludCByZWN1cnNpb25fYnVnOworCXN0YXRpYyBpbnQgbmV3X3RleHRfbGluZSA9IDE7CitzdGF0aWMgY2hhciBwcmludGtfYnVmWzEwMjRdOwogCiBhc21saW5rYWdlIGludCB2cHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKQogewotCXN0YXRpYyBpbnQgbG9nX2xldmVsX3Vua25vd24gPSAxOwotCXN0YXRpYyBjaGFyIHByaW50a19idWZbMTAyNF07Ci0KLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBwcmludGVkX2xlbiA9IDA7CisJaW50IGN1cnJlbnRfbG9nX2xldmVsID0gZGVmYXVsdF9tZXNzYWdlX2xvZ2xldmVsOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHRoaXNfY3B1OwogCWNoYXIgKnA7CiAKQEAgLTY5OSw3ICs2ODksNyBAQAogCQkgKiBpdCBjYW4gYmUgcHJpbnRlZCBhdCB0aGUgbmV4dCBhcHByb3ByaWF0ZSBtb21lbnQ6CiAJCSAqLwogCQlpZiAoIW9vcHNfaW5fcHJvZ3Jlc3MpIHsKLQkJCXByaW50a19yZWN1cnNpb25fYnVnID0gMTsKKwkJCXJlY3Vyc2lvbl9idWcgPSAxOwogCQkJZ290byBvdXRfcmVzdG9yZV9pcnFzOwogCQl9CiAJCXphcF9sb2NrcygpOwpAQCAtNzA5LDcwICs2OTksNjIgQEAKIAlzcGluX2xvY2soJmxvZ2J1Zl9sb2NrKTsKIAlwcmludGtfY3B1ID0gdGhpc19jcHU7CiAKLQlpZiAocHJpbnRrX3JlY3Vyc2lvbl9idWcpIHsKLQkJcHJpbnRrX3JlY3Vyc2lvbl9idWcgPSAwOwotCQlzdHJjcHkocHJpbnRrX2J1ZiwgcHJpbnRrX3JlY3Vyc2lvbl9idWdfbXNnKTsKLQkJcHJpbnRlZF9sZW4gPSBzaXplb2YocHJpbnRrX3JlY3Vyc2lvbl9idWdfbXNnKTsKKwlpZiAocmVjdXJzaW9uX2J1ZykgeworCQlyZWN1cnNpb25fYnVnID0gMDsKKwkJc3RyY3B5KHByaW50a19idWYsIHJlY3Vyc2lvbl9idWdfbXNnKTsKKwkJcHJpbnRlZF9sZW4gPSBzaXplb2YocmVjdXJzaW9uX2J1Z19tc2cpOwogCX0KIAkvKiBFbWl0IHRoZSBvdXRwdXQgaW50byB0aGUgdGVtcG9yYXJ5IGJ1ZmZlciAqLwogCXByaW50ZWRfbGVuICs9IHZzY25wcmludGYocHJpbnRrX2J1ZiArIHByaW50ZWRfbGVuLAogCQkJCSAgc2l6ZW9mKHByaW50a19idWYpIC0gcHJpbnRlZF9sZW4sIGZtdCwgYXJncyk7CiAKKwogCS8qCiAJICogQ29weSB0aGUgb3V0cHV0IGludG8gbG9nX2J1Zi4gIElmIHRoZSBjYWxsZXIgZGlkbid0IHByb3ZpZGUKIAkgKiBhcHByb3ByaWF0ZSBsb2cgbGV2ZWwgdGFncywgd2UgaW5zZXJ0IHRoZW0gaGVyZQogCSAqLwogCWZvciAocCA9IHByaW50a19idWY7ICpwOyBwKyspIHsKLQkJaWYgKGxvZ19sZXZlbF91bmtub3duKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvKiBsb2dfbGV2ZWxfdW5rbm93biBzaWduYWxzIHRoZSBzdGFydCBvZiBhIG5ldyBsaW5lICovCisJCWlmIChuZXdfdGV4dF9saW5lKSB7CisJCQkvKiBJZiBhIHRva2VuLCBzZXQgY3VycmVudF9sb2dfbGV2ZWwgYW5kIHNraXAgb3ZlciAqLworCQkJaWYgKHBbMF0gPT0gJzwnICYmIHBbMV0gPj0gJzAnICYmIHBbMV0gPD0gJzcnICYmCisJCQkgICAgcFsyXSA9PSAnPicpIHsKKwkJCQljdXJyZW50X2xvZ19sZXZlbCA9IHBbMV0gLSAnMCc7CisJCQkJcCArPSAzOworCQkJCXByaW50ZWRfbGVuIC09IDM7CisJCQl9CisKKwkJCS8qIEFsd2F5cyBvdXRwdXQgdGhlIHRva2VuICovCisJCQllbWl0X2xvZ19jaGFyKCc8Jyk7CisJCQllbWl0X2xvZ19jaGFyKGN1cnJlbnRfbG9nX2xldmVsICsgJzAnKTsKKwkJCWVtaXRfbG9nX2NoYXIoJz4nKTsKKwkJCXByaW50ZWRfbGVuICs9IDM7CisJCQluZXdfdGV4dF9saW5lID0gMDsKKwogCQkJaWYgKHByaW50a190aW1lKSB7Ci0JCQkJaW50IGxvZ2xldl9jaGFyOworCQkJCS8qIEZvbGxvdyB0aGUgdG9rZW4gd2l0aCB0aGUgdGltZSAqLwogCQkJCWNoYXIgdGJ1Zls1MF0sICp0cDsKIAkJCQl1bnNpZ25lZCB0bGVuOwogCQkJCXVuc2lnbmVkIGxvbmcgbG9uZyB0OwogCQkJCXVuc2lnbmVkIGxvbmcgbmFub3NlY19yZW07CiAKLQkJCQkvKgotCQkJCSAqIGZvcmNlIHRoZSBsb2cgbGV2ZWwgdG9rZW4gdG8gYmUKLQkJCQkgKiBiZWZvcmUgdGhlIHRpbWUgb3V0cHV0LgotCQkJCSAqLwotCQkJCWlmIChwWzBdID09ICc8JyAmJiBwWzFdID49JzAnICYmCi0JCQkJICAgcFsxXSA8PSAnNycgJiYgcFsyXSA9PSAnPicpIHsKLQkJCQkJbG9nbGV2X2NoYXIgPSBwWzFdOwotCQkJCQlwICs9IDM7Ci0JCQkJCXByaW50ZWRfbGVuIC09IDM7Ci0JCQkJfSBlbHNlIHsKLQkJCQkJbG9nbGV2X2NoYXIgPSBkZWZhdWx0X21lc3NhZ2VfbG9nbGV2ZWwKLQkJCQkJCSsgJzAnOwotCQkJCX0KIAkJCQl0ID0gY3B1X2Nsb2NrKHByaW50a19jcHUpOwogCQkJCW5hbm9zZWNfcmVtID0gZG9fZGl2KHQsIDEwMDAwMDAwMDApOwotCQkJCXRsZW4gPSBzcHJpbnRmKHRidWYsCi0JCQkJCQkiPCVjPlslNWx1LiUwNmx1XSAiLAotCQkJCQkJbG9nbGV2X2NoYXIsCi0JCQkJCQkodW5zaWduZWQgbG9uZyl0LAotCQkJCQkJbmFub3NlY19yZW0vMTAwMCk7CisJCQkJdGxlbiA9IHNwcmludGYodGJ1ZiwgIlslNWx1LiUwNmx1XSAiLAorCQkJCQkJKHVuc2lnbmVkIGxvbmcpIHQsCisJCQkJCQluYW5vc2VjX3JlbSAvIDEwMDApOwogCiAJCQkJZm9yICh0cCA9IHRidWY7IHRwIDwgdGJ1ZiArIHRsZW47IHRwKyspCiAJCQkJCWVtaXRfbG9nX2NoYXIoKnRwKTsKIAkJCQlwcmludGVkX2xlbiArPSB0bGVuOwotCQkJfSBlbHNlIHsKLQkJCQlpZiAocFswXSAhPSAnPCcgfHwgcFsxXSA8ICcwJyB8fAotCQkJCSAgIHBbMV0gPiAnNycgfHwgcFsyXSAhPSAnPicpIHsKLQkJCQkJZW1pdF9sb2dfY2hhcignPCcpOwotCQkJCQllbWl0X2xvZ19jaGFyKGRlZmF1bHRfbWVzc2FnZV9sb2dsZXZlbAotCQkJCQkJKyAnMCcpOwotCQkJCQllbWl0X2xvZ19jaGFyKCc+Jyk7Ci0JCQkJCXByaW50ZWRfbGVuICs9IDM7Ci0JCQkJfQogCQkJfQotCQkJbG9nX2xldmVsX3Vua25vd24gPSAwOworCiAJCQlpZiAoISpwKQogCQkJCWJyZWFrOwogCQl9CisKIAkJZW1pdF9sb2dfY2hhcigqcCk7CiAJCWlmICgqcCA9PSAnXG4nKQotCQkJbG9nX2xldmVsX3Vua25vd24gPSAxOworCQkJbmV3X3RleHRfbGluZSA9IDE7CiAJfQogCiAJLyoKQEAgLTg5MCw2ICs4NzIsNyBAQAogCSpzID0gMDsKIAogCV9fYWRkX3ByZWZlcnJlZF9jb25zb2xlKGJ1ZiwgaWR4LCBvcHRpb25zLCBicmxfb3B0aW9ucyk7CisJY29uc29sZV9zZXRfb25fY21kbGluZSA9IDE7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJjb25zb2xlPSIsIGNvbnNvbGVfc2V0dXApOwpAQCAtMTA0MSw3ICsxMDI0LDkgQEAKIAkJX2xvZ19lbmQgPSBsb2dfZW5kOwogCQljb25fc3RhcnQgPSBsb2dfZW5kOwkJLyogRmx1c2ggKi8KIAkJc3Bpbl91bmxvY2soJmxvZ2J1Zl9sb2NrKTsKKwkJc3RvcF9jcml0aWNhbF90aW1pbmdzKCk7CS8qIGRvbid0IHRyYWNlIHByaW50IGxhdGVuY3kgKi8KIAkJY2FsbF9jb25zb2xlX2RyaXZlcnMoX2Nvbl9zdGFydCwgX2xvZ19lbmQpOworCQlzdGFydF9jcml0aWNhbF90aW1pbmdzKCk7CiAJCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAl9CiAJY29uc29sZV9sb2NrZWQgPSAwOwpAQCAtMTE3Miw4ICsxMTU3LDExIEBACiAJCQljb25zb2xlLT5pbmRleCA9IDA7CiAJCWlmIChjb25zb2xlLT5zZXR1cCA9PSBOVUxMIHx8CiAJCSAgICBjb25zb2xlLT5zZXR1cChjb25zb2xlLCBOVUxMKSA9PSAwKSB7Ci0JCQljb25zb2xlLT5mbGFncyB8PSBDT05fRU5BQkxFRCB8IENPTl9DT05TREVWOwotCQkJcHJlZmVycmVkX2NvbnNvbGUgPSAwOworCQkJY29uc29sZS0+ZmxhZ3MgfD0gQ09OX0VOQUJMRUQ7CisJCQlpZiAoY29uc29sZS0+ZGV2aWNlKSB7CisJCQkJY29uc29sZS0+ZmxhZ3MgfD0gQ09OX0NPTlNERVY7CisJCQkJcHJlZmVycmVkX2NvbnNvbGUgPSAwOworCQkJfQogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9rZXJuZWwvcHJvZmlsZS5jIGIva2VybmVsL3Byb2ZpbGUuYwppbmRleCBhZTdlYWQ4Li41ODkyNjQxIDEwMDY0NAotLS0gYS9rZXJuZWwvcHJvZmlsZS5jCisrKyBiL2tlcm5lbC9wcm9maWxlLmMKQEAgLTI1Miw3ICsyNTIsNyBAQAogCW11dGV4X2xvY2soJnByb2ZpbGVfZmxpcF9tdXRleCk7CiAJaiA9IHBlcl9jcHUoY3B1X3Byb2ZpbGVfZmxpcCwgZ2V0X2NwdSgpKTsKIAlwdXRfY3B1KCk7Ci0Jb25fZWFjaF9jcHUoX19wcm9maWxlX2ZsaXBfYnVmZmVycywgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoX19wcm9maWxlX2ZsaXBfYnVmZmVycywgTlVMTCwgMSk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJc3RydWN0IHByb2ZpbGVfaGl0ICpoaXRzID0gcGVyX2NwdShjcHVfcHJvZmlsZV9oaXRzLCBjcHUpW2pdOwogCQlmb3IgKGkgPSAwOyBpIDwgTlJfUFJPRklMRV9ISVQ7ICsraSkgewpAQCAtMjc1LDcgKzI3NSw3IEBACiAJbXV0ZXhfbG9jaygmcHJvZmlsZV9mbGlwX211dGV4KTsKIAlpID0gcGVyX2NwdShjcHVfcHJvZmlsZV9mbGlwLCBnZXRfY3B1KCkpOwogCXB1dF9jcHUoKTsKLQlvbl9lYWNoX2NwdShfX3Byb2ZpbGVfZmxpcF9idWZmZXJzLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShfX3Byb2ZpbGVfZmxpcF9idWZmZXJzLCBOVUxMLCAxKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgewogCQlzdHJ1Y3QgcHJvZmlsZV9oaXQgKmhpdHMgPSBwZXJfY3B1KGNwdV9wcm9maWxlX2hpdHMsIGNwdSlbaV07CiAJCW1lbXNldChoaXRzLCAwLCBOUl9QUk9GSUxFX0hJVCpzaXplb2Yoc3RydWN0IHByb2ZpbGVfaGl0KSk7CkBAIC01NTgsNyArNTU4LDcgQEAKIG91dF9jbGVhbnVwOgogCXByb2Zfb24gPSAwOwogCXNtcF9tYigpOwotCW9uX2VhY2hfY3B1KHByb2ZpbGVfbm9wLCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShwcm9maWxlX25vcCwgTlVMTCwgMSk7CiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJc3RydWN0IHBhZ2UgKnBhZ2U7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9wdHJhY2UuYyBiL2tlcm5lbC9wdHJhY2UuYwppbmRleCA2YzE5ZTk0Li5lMzM3MzkwIDEwMDY0NAotLS0gYS9rZXJuZWwvcHRyYWNlLmMKKysrIGIva2VybmVsL3B0cmFjZS5jCkBAIC0xMjEsNyArMTIxLDcgQEAKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgX19wdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCitpbnQgX19wdHJhY2VfbWF5X2FjY2VzcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssIHVuc2lnbmVkIGludCBtb2RlKQogewogCS8qIE1heSB3ZSBpbnNwZWN0IHRoZSBnaXZlbiB0YXNrPwogCSAqIFRoaXMgY2hlY2sgaXMgdXNlZCBib3RoIGZvciBhdHRhY2hpbmcgd2l0aCBwdHJhY2UKQEAgLTE0OCwxNiArMTQ4LDE2IEBACiAJaWYgKCFkdW1wYWJsZSAmJiAhY2FwYWJsZShDQVBfU1lTX1BUUkFDRSkpCiAJCXJldHVybiAtRVBFUk07CiAKLQlyZXR1cm4gc2VjdXJpdHlfcHRyYWNlKGN1cnJlbnQsIHRhc2spOworCXJldHVybiBzZWN1cml0eV9wdHJhY2UoY3VycmVudCwgdGFzaywgbW9kZSk7CiB9CiAKLWludCBwdHJhY2VfbWF5X2F0dGFjaChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spCitib29sIHB0cmFjZV9tYXlfYWNjZXNzKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywgdW5zaWduZWQgaW50IG1vZGUpCiB7CiAJaW50IGVycjsKIAl0YXNrX2xvY2sodGFzayk7Ci0JZXJyID0gX19wdHJhY2VfbWF5X2F0dGFjaCh0YXNrKTsKKwllcnIgPSBfX3B0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIG1vZGUpOwogCXRhc2tfdW5sb2NrKHRhc2spOwotCXJldHVybiAhZXJyOworCXJldHVybiAoIWVyciA/IHRydWUgOiBmYWxzZSk7CiB9CiAKIGludCBwdHJhY2VfYXR0YWNoKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykKQEAgLTE5NSw3ICsxOTUsNyBAQAogCS8qIHRoZSBzYW1lIHByb2Nlc3MgY2Fubm90IGJlIGF0dGFjaGVkIG1hbnkgdGltZXMgKi8KIAlpZiAodGFzay0+cHRyYWNlICYgUFRfUFRSQUNFRCkKIAkJZ290byBiYWQ7Ci0JcmV0dmFsID0gX19wdHJhY2VfbWF5X2F0dGFjaCh0YXNrKTsKKwlyZXR2YWwgPSBfX3B0cmFjZV9tYXlfYWNjZXNzKHRhc2ssIFBUUkFDRV9NT0RFX0FUVEFDSCk7CiAJaWYgKHJldHZhbCkKIAkJZ290byBiYWQ7CiAKQEAgLTQ5NCw3ICs0OTQsOCBAQAogCSAqLwogCXRhc2tfbG9jayhjdXJyZW50KTsKIAlpZiAoIShjdXJyZW50LT5wdHJhY2UgJiBQVF9QVFJBQ0VEKSkgewotCQlyZXQgPSBzZWN1cml0eV9wdHJhY2UoY3VycmVudC0+cGFyZW50LCBjdXJyZW50KTsKKwkJcmV0ID0gc2VjdXJpdHlfcHRyYWNlKGN1cnJlbnQtPnBhcmVudCwgY3VycmVudCwKKwkJCQkgICAgICBQVFJBQ0VfTU9ERV9BVFRBQ0gpOwogCQkvKgogCQkgKiBTZXQgdGhlIHB0cmFjZSBiaXQgaW4gdGhlIHByb2Nlc3MgcHRyYWNlIGZsYWdzLgogCQkgKi8KZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VjbGFzc2ljLmMgYi9rZXJuZWwvcmN1Y2xhc3NpYy5jCmluZGV4IGEzODg5NWEuLjE2ZWVlYWEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VjbGFzc2ljLmMKKysrIGIva2VybmVsL3JjdWNsYXNzaWMuYwpAQCAtMzg3LDYgKzM4NywxMCBAQAogCXJjdV9tb3ZlX2JhdGNoKHRoaXNfcmRwLCByZHAtPmRvbmVsaXN0LCByZHAtPmRvbmV0YWlsKTsKIAlyY3VfbW92ZV9iYXRjaCh0aGlzX3JkcCwgcmRwLT5jdXJsaXN0LCByZHAtPmN1cnRhaWwpOwogCXJjdV9tb3ZlX2JhdGNoKHRoaXNfcmRwLCByZHAtPm54dGxpc3QsIHJkcC0+bnh0dGFpbCk7CisKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXRoaXNfcmRwLT5xbGVuICs9IHJkcC0+cWxlbjsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJjdV9vZmZsaW5lX2NwdShpbnQgY3B1KQpAQCAtNTE2LDEwICs1MjAsMzggQEAKIAlpZiAodXNlciB8fAogCSAgICAoaWRsZV9jcHUoY3B1KSAmJiAhaW5fc29mdGlycSgpICYmCiAJCQkJaGFyZGlycV9jb3VudCgpIDw9ICgxIDw8IEhBUkRJUlFfU0hJRlQpKSkgeworCisJCS8qCisJCSAqIEdldCBoZXJlIGlmIHRoaXMgQ1BVIHRvb2sgaXRzIGludGVycnVwdCBmcm9tIHVzZXIKKwkJICogbW9kZSBvciBmcm9tIHRoZSBpZGxlIGxvb3AsIGFuZCBpZiB0aGlzIGlzIG5vdCBhCisJCSAqIG5lc3RlZCBpbnRlcnJ1cHQuICBJbiB0aGlzIGNhc2UsIHRoZSBDUFUgaXMgaW4KKwkJICogYSBxdWllc2NlbnQgc3RhdGUsIHNvIGNvdW50IGl0LgorCQkgKgorCQkgKiBBbHNvIGRvIGEgbWVtb3J5IGJhcnJpZXIuICBUaGlzIGlzIG5lZWRlZCB0byBoYW5kbGUKKwkJICogdGhlIGNhc2Ugd2hlcmUgd3JpdGVzIGZyb20gYSBwcmVlbXB0LWRpc2FibGUgc2VjdGlvbgorCQkgKiBvZiBjb2RlIGdldCByZW9yZGVyZWQgaW50byBzY2hlZHVsZSgpIGJ5IHRoaXMgQ1BVJ3MKKwkJICogd3JpdGUgYnVmZmVyLiAgVGhlIG1lbW9yeSBiYXJyaWVyIG1ha2VzIHN1cmUgdGhhdAorCQkgKiB0aGUgcmN1X3FzY3RyX2luYygpIGFuZCByY3VfYmhfcXNjdHJfaW5jKCkgYXJlIHNlZQorCQkgKiBieSBvdGhlciBDUFVzIHRvIGhhcHBlbiBhZnRlciBhbnkgc3VjaCB3cml0ZS4KKwkJICovCisKKwkJc21wX21iKCk7ICAvKiBTZWUgYWJvdmUgYmxvY2sgY29tbWVudC4gKi8KIAkJcmN1X3FzY3RyX2luYyhjcHUpOwogCQlyY3VfYmhfcXNjdHJfaW5jKGNwdSk7Ci0JfSBlbHNlIGlmICghaW5fc29mdGlycSgpKQorCisJfSBlbHNlIGlmICghaW5fc29mdGlycSgpKSB7CisKKwkJLyoKKwkJICogR2V0IGhlcmUgaWYgdGhpcyBDUFUgZGlkIG5vdCB0YWtlIGl0cyBpbnRlcnJ1cHQgZnJvbQorCQkgKiBzb2Z0aXJxLCBpbiBvdGhlciB3b3JkcywgaWYgaXQgaXMgbm90IGludGVycnVwdGluZworCQkgKiBhIHJjdV9iaCByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbi4gIFRoaXMgaXMgYW4gX2JoCisJCSAqIGNyaXRpY2FsIHNlY3Rpb24sIHNvIGNvdW50IGl0LiAgVGhlIG1lbW9yeSBiYXJyaWVyCisJCSAqIGlzIG5lZWRlZCBmb3IgdGhlIHNhbWUgcmVhc29uIGFzIGlzIHRoZSBhYm92ZSBvbmUuCisJCSAqLworCisJCXNtcF9tYigpOyAgLyogU2VlIGFib3ZlIGJsb2NrIGNvbW1lbnQuICovCiAJCXJjdV9iaF9xc2N0cl9pbmMoY3B1KTsKKwl9CiAJcmFpc2VfcmN1X3NvZnRpcnEoKTsKIH0KIApAQCAtNTQzLDcgKzU3NSw3IEBACiAKIAlyY3VfaW5pdF9wZXJjcHVfZGF0YShjcHUsICZyY3VfY3RybGJsaywgcmRwKTsKIAlyY3VfaW5pdF9wZXJjcHVfZGF0YShjcHUsICZyY3VfYmhfY3RybGJsaywgYmhfcmRwKTsKLQlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcywgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKFJDVV9TT0ZUSVJRLCByY3VfcHJvY2Vzc19jYWxsYmFja3MpOwogfQogCiBzdGF0aWMgaW50IF9fY3B1aW5pdCByY3VfY3B1X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnNlbGYsCmRpZmYgLS1naXQgYS9rZXJuZWwvcmN1cGRhdGUuYyBiL2tlcm5lbC9yY3VwZGF0ZS5jCmluZGV4IGMwOTYwNWYuLmYxNGYzNzIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VwZGF0ZS5jCisrKyBiL2tlcm5lbC9yY3VwZGF0ZS5jCkBAIC0zOSwxNiArMzksMTYgQEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGFzbS9hdG9taWMuaD4KICNpbmNsdWRlIDxsaW51eC9iaXRvcHMuaD4KLSNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvcGVyY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KICNpbmNsdWRlIDxsaW51eC9jcHUuaD4KICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogCi1zdHJ1Y3QgcmN1X3N5bmNocm9uaXplIHsKLQlzdHJ1Y3QgcmN1X2hlYWQgaGVhZDsKLQlzdHJ1Y3QgY29tcGxldGlvbiBjb21wbGV0aW9uOworZW51bSByY3VfYmFycmllciB7CisJUkNVX0JBUlJJRVJfU1RELAorCVJDVV9CQVJSSUVSX0JILAorCVJDVV9CQVJSSUVSX1NDSEVELAogfTsKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCByY3VfaGVhZCwgcmN1X2JhcnJpZXJfaGVhZCkgPSB7TlVMTH07CkBAIC02MCw3ICs2MCw3IEBACiAgKiBBd2FrZW4gdGhlIGNvcnJlc3BvbmRpbmcgc3luY2hyb25pemVfcmN1KCkgaW5zdGFuY2Ugbm93IHRoYXQgYQogICogZ3JhY2UgcGVyaW9kIGhhcyBlbGFwc2VkLgogICovCi1zdGF0aWMgdm9pZCB3YWtlbWVfYWZ0ZXJfcmN1KHN0cnVjdCByY3VfaGVhZCAgKmhlYWQpCit2b2lkIHdha2VtZV9hZnRlcl9yY3Uoc3RydWN0IHJjdV9oZWFkICAqaGVhZCkKIHsKIAlzdHJ1Y3QgcmN1X3N5bmNocm9uaXplICpyY3U7CiAKQEAgLTc3LDE3ICs3Nyw3IEBACiAgKiBzZWN0aW9ucyBhcmUgZGVsaW1pdGVkIGJ5IHJjdV9yZWFkX2xvY2soKSBhbmQgcmN1X3JlYWRfdW5sb2NrKCksCiAgKiBhbmQgbWF5IGJlIG5lc3RlZC4KICAqLwotdm9pZCBzeW5jaHJvbml6ZV9yY3Uodm9pZCkKLXsKLQlzdHJ1Y3QgcmN1X3N5bmNocm9uaXplIHJjdTsKLQotCWluaXRfY29tcGxldGlvbigmcmN1LmNvbXBsZXRpb24pOwotCS8qIFdpbGwgd2FrZSBtZSBhZnRlciBSQ1UgZmluaXNoZWQgKi8KLQljYWxsX3JjdSgmcmN1LmhlYWQsIHdha2VtZV9hZnRlcl9yY3UpOwotCi0JLyogV2FpdCBmb3IgaXQgKi8KLQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZyY3UuY29tcGxldGlvbik7Ci19CitzeW5jaHJvbml6ZV9yY3VfeHh4KHN5bmNocm9uaXplX3JjdSwgY2FsbF9yY3UpCiBFWFBPUlRfU1lNQk9MX0dQTChzeW5jaHJvbml6ZV9yY3UpOwogCiBzdGF0aWMgdm9pZCByY3VfYmFycmllcl9jYWxsYmFjayhzdHJ1Y3QgcmN1X2hlYWQgKm5vdHVzZWQpCkBAIC05OSwxOSArODksMzAgQEAKIC8qCiAgKiBDYWxsZWQgd2l0aCBwcmVlbXB0aW9uIGRpc2FibGVkLCBhbmQgZnJvbSBjcm9zcy1jcHUgSVJRIGNvbnRleHQuCiAgKi8KLXN0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2Z1bmModm9pZCAqbm90dXNlZCkKK3N0YXRpYyB2b2lkIHJjdV9iYXJyaWVyX2Z1bmModm9pZCAqdHlwZSkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCXN0cnVjdCByY3VfaGVhZCAqaGVhZCA9ICZwZXJfY3B1KHJjdV9iYXJyaWVyX2hlYWQsIGNwdSk7CiAKIAlhdG9taWNfaW5jKCZyY3VfYmFycmllcl9jcHVfY291bnQpOwotCWNhbGxfcmN1KGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwlzd2l0Y2ggKChlbnVtIHJjdV9iYXJyaWVyKXR5cGUpIHsKKwljYXNlIFJDVV9CQVJSSUVSX1NURDoKKwkJY2FsbF9yY3UoaGVhZCwgcmN1X2JhcnJpZXJfY2FsbGJhY2spOworCQlicmVhazsKKwljYXNlIFJDVV9CQVJSSUVSX0JIOgorCQljYWxsX3JjdV9iaChoZWFkLCByY3VfYmFycmllcl9jYWxsYmFjayk7CisJCWJyZWFrOworCWNhc2UgUkNVX0JBUlJJRVJfU0NIRUQ6CisJCWNhbGxfcmN1X3NjaGVkKGhlYWQsIHJjdV9iYXJyaWVyX2NhbGxiYWNrKTsKKwkJYnJlYWs7CisJfQogfQogCi0vKioKLSAqIHJjdV9iYXJyaWVyIC0gV2FpdCB1bnRpbCBhbGwgdGhlIGluLWZsaWdodCBSQ1VzIGFyZSBjb21wbGV0ZS4KKy8qCisgKiBPcmNoZXN0cmF0ZSB0aGUgc3BlY2lmaWVkIHR5cGUgb2YgUkNVIGJhcnJpZXIsIHdhaXRpbmcgZm9yIGFsbAorICogUkNVIGNhbGxiYWNrcyBvZiB0aGUgc3BlY2lmaWVkIHR5cGUgdG8gY29tcGxldGUuCiAgKi8KLXZvaWQgcmN1X2JhcnJpZXIodm9pZCkKK3N0YXRpYyB2b2lkIF9yY3VfYmFycmllcihlbnVtIHJjdV9iYXJyaWVyIHR5cGUpCiB7CiAJQlVHX09OKGluX2ludGVycnVwdCgpKTsKIAkvKiBUYWtlIGNwdWNvbnRyb2wgbXV0ZXggdG8gcHJvdGVjdCBhZ2FpbnN0IENQVSBob3RwbHVnICovCkBAIC0xMjcsMTMgKzEyOCwzOSBAQAogCSAqIHVudGlsIGFsbCB0aGUgY2FsbGJhY2tzIGFyZSBxdWV1ZWQuCiAJICovCiAJcmN1X3JlYWRfbG9jaygpOwotCW9uX2VhY2hfY3B1KHJjdV9iYXJyaWVyX2Z1bmMsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KHJjdV9iYXJyaWVyX2Z1bmMsICh2b2lkICopdHlwZSwgMSk7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAJd2FpdF9mb3JfY29tcGxldGlvbigmcmN1X2JhcnJpZXJfY29tcGxldGlvbik7CiAJbXV0ZXhfdW5sb2NrKCZyY3VfYmFycmllcl9tdXRleCk7CiB9CisKKy8qKgorICogcmN1X2JhcnJpZXIgLSBXYWl0IHVudGlsIGFsbCBpbi1mbGlnaHQgY2FsbF9yY3UoKSBjYWxsYmFja3MgY29tcGxldGUuCisgKi8KK3ZvaWQgcmN1X2JhcnJpZXIodm9pZCkKK3sKKwlfcmN1X2JhcnJpZXIoUkNVX0JBUlJJRVJfU1REKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHJjdV9iYXJyaWVyKTsKIAorLyoqCisgKiByY3VfYmFycmllcl9iaCAtIFdhaXQgdW50aWwgYWxsIGluLWZsaWdodCBjYWxsX3JjdV9iaCgpIGNhbGxiYWNrcyBjb21wbGV0ZS4KKyAqLwordm9pZCByY3VfYmFycmllcl9iaCh2b2lkKQoreworCV9yY3VfYmFycmllcihSQ1VfQkFSUklFUl9CSCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChyY3VfYmFycmllcl9iaCk7CisKKy8qKgorICogcmN1X2JhcnJpZXJfc2NoZWQgLSBXYWl0IGZvciBpbi1mbGlnaHQgY2FsbF9yY3Vfc2NoZWQoKSBjYWxsYmFja3MuCisgKi8KK3ZvaWQgcmN1X2JhcnJpZXJfc2NoZWQodm9pZCkKK3sKKwlfcmN1X2JhcnJpZXIoUkNVX0JBUlJJRVJfU0NIRUQpOworfQorRVhQT1JUX1NZTUJPTF9HUEwocmN1X2JhcnJpZXJfc2NoZWQpOworCiB2b2lkIF9faW5pdCByY3VfaW5pdCh2b2lkKQogewogCV9fcmN1X2luaXQoKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9yY3VwcmVlbXB0LmMgYi9rZXJuZWwvcmN1cHJlZW1wdC5jCmluZGV4IDVlMDJiNzcuLjZmNjJiNzcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9yY3VwcmVlbXB0LmMKKysrIGIva2VybmVsL3JjdXByZWVtcHQuYwpAQCAtNDYsMTEgKzQ2LDExIEBACiAjaW5jbHVkZSA8YXNtL2F0b21pYy5oPgogI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wbGV0aW9uLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgotI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvcmFuZG9tLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KQEAgLTgyLDE0ICs4MiwxOCBAQAogCXNwaW5sb2NrX3QJbG9jazsJCS8qIFByb3RlY3QgcmN1X2RhdGEgZmllbGRzLiAqLwogCWxvbmcJCWNvbXBsZXRlZDsJLyogTnVtYmVyIG9mIGxhc3QgY29tcGxldGVkIGJhdGNoLiAqLwogCWludAkJd2FpdGxpc3Rjb3VudDsKLQlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgcmN1X3Rhc2tsZXQ7CiAJc3RydWN0IHJjdV9oZWFkICpuZXh0bGlzdDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKipuZXh0dGFpbDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKndhaXRsaXN0W0dQX1NUQUdFU107CiAJc3RydWN0IHJjdV9oZWFkICoqd2FpdHRhaWxbR1BfU1RBR0VTXTsKLQlzdHJ1Y3QgcmN1X2hlYWQgKmRvbmVsaXN0OworCXN0cnVjdCByY3VfaGVhZCAqZG9uZWxpc3Q7CS8qIGZyb20gd2FpdGxpc3QgJiB3YWl0c2NoZWRsaXN0ICovCiAJc3RydWN0IHJjdV9oZWFkICoqZG9uZXRhaWw7CiAJbG9uZyByY3VfZmxpcGN0clsyXTsKKwlzdHJ1Y3QgcmN1X2hlYWQgKm5leHRzY2hlZGxpc3Q7CisJc3RydWN0IHJjdV9oZWFkICoqbmV4dHNjaGVkdGFpbDsKKwlzdHJ1Y3QgcmN1X2hlYWQgKndhaXRzY2hlZGxpc3Q7CisJc3RydWN0IHJjdV9oZWFkICoqd2FpdHNjaGVkdGFpbDsKKwlpbnQgcmN1X3NjaGVkX3NsZWVwaW5nOwogI2lmZGVmIENPTkZJR19SQ1VfVFJBQ0UKIAlzdHJ1Y3QgcmN1cHJlZW1wdF90cmFjZSB0cmFjZTsKICNlbmRpZiAvKiAjaWZkZWYgQ09ORklHX1JDVV9UUkFDRSAqLwpAQCAtMTMxLDExICsxMzUsMjQgQEAKIAlyY3VfdHJ5X2ZsaXBfd2FpdG1iX3N0YXRlLAogfTsKIAorLyoKKyAqIFN0YXRlcyBmb3IgcmN1X2N0cmxibGsucmN1X3NjaGVkX3NsZWVwLgorICovCisKK2VudW0gcmN1X3NjaGVkX3NsZWVwX3N0YXRlcyB7CisJcmN1X3NjaGVkX25vdF9zbGVlcGluZywJLyogTm90IHNsZWVwaW5nLCBjYWxsYmFja3MgbmVlZCBHUC4gICovCisJcmN1X3NjaGVkX3NsZWVwX3ByZXAsCS8qIFRoaW5raW5nIG9mIHNsZWVwaW5nLCByZWNoZWNraW5nLiAqLworCXJjdV9zY2hlZF9zbGVlcGluZywJLyogU2xlZXBpbmcsIGF3YWtlbiBpZiBHUCBuZWVkZWQuICovCit9OworCiBzdHJ1Y3QgcmN1X2N0cmxibGsgewogCXNwaW5sb2NrX3QJZmxpcGxvY2s7CS8qIFByb3RlY3Qgc3RhdGUtbWFjaGluZSB0cmFuc2l0aW9ucy4gKi8KIAlsb25nCQljb21wbGV0ZWQ7CS8qIE51bWJlciBvZiBsYXN0IGNvbXBsZXRlZCBiYXRjaC4gKi8KIAllbnVtIHJjdV90cnlfZmxpcF9zdGF0ZXMgcmN1X3RyeV9mbGlwX3N0YXRlOyAvKiBUaGUgY3VycmVudCBzdGF0ZSBvZgogCQkJCQkJCXRoZSByY3Ugc3RhdGUgbWFjaGluZSAqLworCXNwaW5sb2NrX3QJc2NoZWRsb2NrOwkvKiBQcm90ZWN0IHJjdV9zY2hlZCBzbGVlcCBzdGF0ZS4gKi8KKwllbnVtIHJjdV9zY2hlZF9zbGVlcF9zdGF0ZXMgc2NoZWRfc2xlZXA7IC8qIHJjdV9zY2hlZCBzdGF0ZS4gKi8KKwl3YWl0X3F1ZXVlX2hlYWRfdCBzY2hlZF93cTsJLyogUGxhY2UgZm9yIHJjdV9zY2hlZCB0byBzbGVlcC4gKi8KIH07CiAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgcmN1X2RhdGEsIHJjdV9kYXRhKTsKQEAgLTE0Myw4ICsxNjAsMTIgQEAKIAkuZmxpcGxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChyY3VfY3RybGJsay5mbGlwbG9jayksCiAJLmNvbXBsZXRlZCA9IDAsCiAJLnJjdV90cnlfZmxpcF9zdGF0ZSA9IHJjdV90cnlfZmxpcF9pZGxlX3N0YXRlLAorCS5zY2hlZGxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChyY3VfY3RybGJsay5zY2hlZGxvY2spLAorCS5zY2hlZF9zbGVlcCA9IHJjdV9zY2hlZF9ub3Rfc2xlZXBpbmcsCisJLnNjaGVkX3dxID0gX19XQUlUX1FVRVVFX0hFQURfSU5JVElBTElaRVIocmN1X2N0cmxibGsuc2NoZWRfd3EpLAogfTsKIAorc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqcmN1X3NjaGVkX2dyYWNlX3BlcmlvZF90YXNrOwogCiAjaWZkZWYgQ09ORklHX1JDVV9UUkFDRQogc3RhdGljIGNoYXIgKnJjdV90cnlfZmxpcF9zdGF0ZV9uYW1lc1tdID0KQEAgLTIwNyw2ICsyMjgsOCBAQAogICovCiAjZGVmaW5lIFJDVV9UUkFDRV9SRFAoZiwgcmRwKSBSQ1VfVFJBQ0UoZiwgJigocmRwKS0+dHJhY2UpKTsKIAorI2RlZmluZSBSQ1VfU0NIRURfQkFUQ0hfVElNRSAoSFogLyA1MCkKKwogLyoKICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIFJDVSBiYXRjaGVzIHByb2Nlc3NlZCB0aHVzIGZhci4gIFVzZWZ1bAogICogZm9yIGRlYnVnIGFuZCBzdGF0aXN0aWNzLgpAQCAtNDExLDMyICs0MzQsMzQgQEAKIAl9CiB9CiAKLSNpZmRlZiBDT05GSUdfTk9fSFoKK0RFRklORV9QRVJfQ1BVX1NIQVJFRF9BTElHTkVEKHN0cnVjdCByY3VfZHludGlja19zY2hlZCwgcmN1X2R5bnRpY2tfc2NoZWQpID0geworCS5keW50aWNrcyA9IDEsCit9OwogCi1ERUZJTkVfUEVSX0NQVShsb25nLCBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyKSA9IDE7Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUobG9uZywgcmN1X2R5bnRpY2tfc25hcHNob3QpOworI2lmZGVmIENPTkZJR19OT19IWgogc3RhdGljIERFRklORV9QRVJfQ1BVKGludCwgcmN1X3VwZGF0ZV9mbGFnKTsKIAogLyoqCiAgKiByY3VfaXJxX2VudGVyIC0gQ2FsbGVkIGZyb20gSGFyZCBpcnEgaGFuZGxlcnMgYW5kIE5NSS9TTUkuCiAgKgogICogSWYgdGhlIENQVSB3YXMgaWRsZSB3aXRoIGR5bmFtaWMgdGlja3MgYWN0aXZlLCB0aGlzIHVwZGF0ZXMgdGhlCi0gKiBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIHRvIGxldCB0aGUgUkNVIGhhbmRsaW5nIGtub3cgdGhhdCB0aGUKKyAqIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIHRvIGxldCB0aGUgUkNVIGhhbmRsaW5nIGtub3cgdGhhdCB0aGUKICAqIENQVSBpcyBhY3RpdmUuCiAgKi8KIHZvaWQgcmN1X2lycV9lbnRlcih2b2lkKQogewogCWludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOwogCiAJaWYgKHBlcl9jcHUocmN1X3VwZGF0ZV9mbGFnLCBjcHUpKQogCQlwZXJfY3B1KHJjdV91cGRhdGVfZmxhZywgY3B1KSsrOwogCiAJLyoKIAkgKiBPbmx5IHVwZGF0ZSBpZiB3ZSBhcmUgY29taW5nIGZyb20gYSBzdG9wcGVkIHRpY2tzIG1vZGUKLQkgKiAoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBpcyBldmVuKS4KKwkgKiAocmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgaXMgZXZlbikuCiAJICovCiAJaWYgKCFpbl9pbnRlcnJ1cHQoKSAmJgotCSAgICAocGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpICYgMHgxKSA9PSAwKSB7CisJICAgIChyZHNzcC0+ZHludGlja3MgJiAweDEpID09IDApIHsKIAkJLyoKIAkJICogVGhlIGZvbGxvd2luZyBtaWdodCBzZWVtIGxpa2Ugd2UgY291bGQgaGF2ZSBhIHJhY2UKIAkJICogd2l0aCBOTUkvU01Jcy4gQnV0IHRoaXMgcmVhbGx5IGlzbid0IGEgcHJvYmxlbS4KQEAgLTQ1OSwxMiArNDg0LDEyIEBACiAJCSAqIFJDVSByZWFkLXNpZGUgY3JpdGljYWwgc2VjdGlvbnMgb24gdGhpcyBDUFUgd291bGQKIAkJICogaGF2ZSBhbHJlYWR5IGNvbXBsZXRlZC4KIAkJICovCi0JCXBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KSsrOworCQlyZHNzcC0+ZHludGlja3MrKzsKIAkJLyoKIAkJICogVGhlIGZvbGxvd2luZyBtZW1vcnkgYmFycmllciBlbnN1cmVzIHRoYXQgYW55CiAJCSAqIHJjdV9yZWFkX2xvY2soKSBwcmltaXRpdmVzIGluIHRoZSBpcnEgaGFuZGxlcgogCQkgKiBhcmUgc2VlbiBieSBvdGhlciBDUFVzIHRvIGZvbGxvdyB0aGUgYWJvdmUKLQkJICogaW5jcmVtZW50IHRvIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIuIFRoaXMgaXMKKwkJICogaW5jcmVtZW50IHRvIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzLiBUaGlzIGlzCiAJCSAqIHJlcXVpcmVkIGluIG9yZGVyIGZvciBvdGhlciBDUFVzIHRvIGNvcnJlY3RseQogCQkgKiBkZXRlcm1pbmUgd2hlbiBpdCBpcyBzYWZlIHRvIGFkdmFuY2UgdGhlIFJDVQogCQkgKiBncmFjZS1wZXJpb2Qgc3RhdGUgbWFjaGluZS4KQEAgLTQ3Miw3ICs0OTcsNyBAQAogCQlzbXBfbWIoKTsgLyogc2VlIGFib3ZlIGJsb2NrIGNvbW1lbnQuICovCiAJCS8qCiAJCSAqIFNpbmNlIHdlIGNhbid0IGRldGVybWluZSB0aGUgZHluYW1pYyB0aWNrIG1vZGUgZnJvbQotCQkgKiB0aGUgZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBhZnRlciB0aGlzIHJvdXRpbmUsCisJCSAqIHRoZSByY3VfZHludGlja19zY2hlZC5keW50aWNrcyBhZnRlciB0aGlzIHJvdXRpbmUsCiAJCSAqIHdlIHVzZSBhIHNlY29uZCBmbGFnIHRvIGFja25vd2xlZGdlIHRoYXQgd2UgY2FtZQogCQkgKiBmcm9tIGFuIGlkbGUgc3RhdGUgd2l0aCB0aWNrcyBzdG9wcGVkLgogCQkgKi8KQEAgLTQ4MCw3ICs1MDUsNyBAQAogCQkvKgogCQkgKiBJZiB3ZSB0YWtlIGFuIE5NSS9TTUkgbm93LCB0aGV5IHdpbGwgYWxzbyBpbmNyZW1lbnQKIAkJICogdGhlIHJjdV91cGRhdGVfZmxhZywgYW5kIHdpbGwgbm90IHVwZGF0ZSB0aGUKLQkJICogZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBvbiBleGl0LiBUaGF0IGlzIGZvcgorCQkgKiByY3VfZHludGlja19zY2hlZC5keW50aWNrcyBvbiBleGl0LiBUaGF0IGlzIGZvcgogCQkgKiB0aGlzIElSUSB0byBkby4KIAkJICovCiAJfQpAQCAtNDkwLDEyICs1MTUsMTMgQEAKICAqIHJjdV9pcnFfZXhpdCAtIENhbGxlZCBmcm9tIGV4aXRpbmcgSGFyZCBpcnEgY29udGV4dC4KICAqCiAgKiBJZiB0aGUgQ1BVIHdhcyBpZGxlIHdpdGggZHluYW1pYyB0aWNrcyBhY3RpdmUsIHVwZGF0ZSB0aGUKLSAqIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIgdG8gcHV0IGxldCB0aGUgUkNVIGhhbmRsaW5nIGJlCisgKiByY3VfZHludGlja19zY2hlZC5keW50aWNrcyB0byBwdXQgbGV0IHRoZSBSQ1UgaGFuZGxpbmcgYmUKICAqIGF3YXJlIHRoYXQgdGhlIENQVSBpcyBnb2luZyBiYWNrIHRvIGlkbGUgd2l0aCBubyB0aWNrcy4KICAqLwogdm9pZCByY3VfaXJxX2V4aXQodm9pZCkKIHsKIAlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKIAogCS8qCiAJICogcmN1X3VwZGF0ZV9mbGFnIGlzIHNldCBpZiB3ZSBpbnRlcnJ1cHRlZCB0aGUgQ1BVCkBAIC01MDMsNyArNTI5LDcgQEAKIAkgKiBPbmNlIHRoaXMgb2NjdXJzLCB3ZSBrZWVwIHRyYWNrIG9mIGludGVycnVwdCBuZXN0aW5nCiAJICogYmVjYXVzZSBhIE5NSS9TTUkgY291bGQgYWxzbyBjb21lIGluLCBhbmQgd2Ugc3RpbGwKIAkgKiBvbmx5IHdhbnQgdGhlIElSUSB0aGF0IHN0YXJ0ZWQgdGhlIGluY3JlbWVudCBvZiB0aGUKLQkgKiBkeW50aWNrc19wcm9ncmVzc19jb3VudGVyIHRvIGJlIHRoZSBvbmUgdGhhdCBtb2RpZmllcworCSAqIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzIHRvIGJlIHRoZSBvbmUgdGhhdCBtb2RpZmllcwogCSAqIGl0IG9uIGV4aXQuCiAJICovCiAJaWYgKHBlcl9jcHUocmN1X3VwZGF0ZV9mbGFnLCBjcHUpKSB7CkBAIC01MTUsMjggKzU0MSwyOSBAQAogCiAJCS8qCiAJCSAqIElmIGFuIE5NSS9TTUkgaGFwcGVucyBub3cgd2UgYXJlIHN0aWxsCi0JCSAqIHByb3RlY3RlZCBieSB0aGUgZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciBiZWluZyBvZGQuCisJCSAqIHByb3RlY3RlZCBieSB0aGUgcmN1X2R5bnRpY2tfc2NoZWQuZHludGlja3MgYmVpbmcgb2RkLgogCQkgKi8KIAogCQkvKgogCQkgKiBUaGUgZm9sbG93aW5nIG1lbW9yeSBiYXJyaWVyIGVuc3VyZXMgdGhhdCBhbnkKIAkJICogcmN1X3JlYWRfdW5sb2NrKCkgcHJpbWl0aXZlcyBpbiB0aGUgaXJxIGhhbmRsZXIKIAkJICogYXJlIHNlZW4gYnkgb3RoZXIgQ1BVcyB0byBwcmVjZWVkIHRoZSBmb2xsb3dpbmcKLQkJICogaW5jcmVtZW50IHRvIGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIuIFRoaXMKKwkJICogaW5jcmVtZW50IHRvIHJjdV9keW50aWNrX3NjaGVkLmR5bnRpY2tzLiBUaGlzCiAJCSAqIGlzIHJlcXVpcmVkIGluIG9yZGVyIGZvciBvdGhlciBDUFVzIHRvIGRldGVybWluZQogCQkgKiB3aGVuIGl0IGlzIHNhZmUgdG8gYWR2YW5jZSB0aGUgUkNVIGdyYWNlLXBlcmlvZAogCQkgKiBzdGF0ZSBtYWNoaW5lLgogCQkgKi8KIAkJc21wX21iKCk7IC8qIHNlZSBhYm92ZSBibG9jayBjb21tZW50LiAqLwotCQlwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSkrKzsKLQkJV0FSTl9PTihwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSkgJiAweDEpOworCQlyZHNzcC0+ZHludGlja3MrKzsKKwkJV0FSTl9PTihyZHNzcC0+ZHludGlja3MgJiAweDEpOwogCX0KIH0KIAogc3RhdGljIHZvaWQgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXIoaW50IGNwdSkKIHsKLQlwZXJfY3B1KHJjdV9keW50aWNrX3NuYXBzaG90LCBjcHUpID0KLQkJcGVyX2NwdShkeW50aWNrc19wcm9ncmVzc19jb3VudGVyLCBjcHUpOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKKworCXJkc3NwLT5keW50aWNrc19zbmFwID0gcmRzc3AtPmR5bnRpY2tzOwogfQogCiBzdGF0aWMgaW5saW5lIGludApAQCAtNTQ0LDkgKzU3MSwxMCBAQAogewogCWxvbmcgY3VycjsKIAlsb25nIHNuYXA7CisJc3RydWN0IHJjdV9keW50aWNrX3NjaGVkICpyZHNzcCA9ICZwZXJfY3B1KHJjdV9keW50aWNrX3NjaGVkLCBjcHUpOwogCi0JY3VyciA9IHBlcl9jcHUoZHludGlja3NfcHJvZ3Jlc3NfY291bnRlciwgY3B1KTsKLQlzbmFwID0gcGVyX2NwdShyY3VfZHludGlja19zbmFwc2hvdCwgY3B1KTsKKwljdXJyID0gcmRzc3AtPmR5bnRpY2tzOworCXNuYXAgPSByZHNzcC0+ZHludGlja3Nfc25hcDsKIAlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcvbGVhdmluZyBkeW50aWNrcy4gKi8KIAogCS8qCkBAIC01NjcsNyArNTk1LDcgQEAKIAkgKiB0aGF0IHRoaXMgQ1BVIGFscmVhZHkgYWNrbm93bGVkZ2VkIHRoZSBjb3VudGVyLgogCSAqLwogCi0JaWYgKChjdXJyIC0gc25hcCkgPiAyIHx8IChzbmFwICYgMHgxKSA9PSAwKQorCWlmICgoY3VyciAtIHNuYXApID4gMiB8fCAoY3VyciAmIDB4MSkgPT0gMCkKIAkJcmV0dXJuIDA7CiAKIAkvKiBXZSBuZWVkIHRoaXMgQ1BVIHRvIGV4cGxpY2l0bHkgYWNrbm93bGVkZ2UgdGhlIGNvdW50ZXIgZmxpcC4gKi8KQEAgLTU4MCw5ICs2MDgsMTAgQEAKIHsKIAlsb25nIGN1cnI7CiAJbG9uZyBzbmFwOworCXN0cnVjdCByY3VfZHludGlja19zY2hlZCAqcmRzc3AgPSAmcGVyX2NwdShyY3VfZHludGlja19zY2hlZCwgY3B1KTsKIAotCWN1cnIgPSBwZXJfY3B1KGR5bnRpY2tzX3Byb2dyZXNzX2NvdW50ZXIsIGNwdSk7Ci0Jc25hcCA9IHBlcl9jcHUocmN1X2R5bnRpY2tfc25hcHNob3QsIGNwdSk7CisJY3VyciA9IHJkc3NwLT5keW50aWNrczsKKwlzbmFwID0gcmRzc3AtPmR5bnRpY2tzX3NuYXA7CiAJc21wX21iKCk7IC8qIGZvcmNlIG9yZGVyaW5nIHdpdGggY3B1IGVudGVyaW5nL2xlYXZpbmcgZHludGlja3MuICovCiAKIAkvKgpAQCAtNjA5LDE0ICs2MzgsODYgQEAKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIHZvaWQgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXJfc2NoZWQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+c2NoZWRfZHludGlja3Nfc25hcCA9IHJkc3NwLT5keW50aWNrczsKK30KKworc3RhdGljIGludCByY3VfcXNjdHJfaW5jX25lZWRlZF9keW50aWNrKGludCBjcHUpCit7CisJbG9uZyBjdXJyOworCWxvbmcgc25hcDsKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwljdXJyID0gcmRzc3AtPmR5bnRpY2tzOworCXNuYXAgPSByZHNzcC0+c2NoZWRfZHludGlja3Nfc25hcDsKKwlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcvbGVhdmluZyBkeW50aWNrcy4gKi8KKworCS8qCisJICogSWYgdGhlIENQVSByZW1haW5lZCBpbiBkeW50aWNrcyBtb2RlIGZvciB0aGUgZW50aXJlIHRpbWUKKwkgKiBhbmQgZGlkbid0IHRha2UgYW55IGludGVycnVwdHMsIE5NSXMsIFNNSXMsIG9yIHdoYXRldmVyLAorCSAqIHRoZW4gaXQgY2Fubm90IGJlIGluIHRoZSBtaWRkbGUgb2YgYW4gcmN1X3JlYWRfbG9jaygpLCBzbworCSAqIHRoZSBuZXh0IHJjdV9yZWFkX2xvY2soKSBpdCBleGVjdXRlcyBtdXN0IHVzZSB0aGUgbmV3IHZhbHVlCisJICogb2YgdGhlIGNvdW50ZXIuICBUaGVyZWZvcmUsIHRoaXMgQ1BVIGhhcyBiZWVuIGluIGEgcXVpZXNjZW50CisJICogc3RhdGUgdGhlIGVudGlyZSB0aW1lLCBhbmQgd2UgZG9uJ3QgbmVlZCB0byB3YWl0IGZvciBpdC4KKwkgKi8KKworCWlmICgoY3VyciA9PSBzbmFwKSAmJiAoKGN1cnIgJiAweDEpID09IDApKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogSWYgdGhlIENQVSBwYXNzZWQgdGhyb3VnaCBvciBlbnRlcmVkIGEgZHludGlja3MgaWRsZSBwaGFzZSB3aXRoCisJICogbm8gYWN0aXZlIGlycSBoYW5kbGVycywgdGhlbiwgYXMgYWJvdmUsIHRoaXMgQ1BVIGhhcyBhbHJlYWR5CisJICogcGFzc2VkIHRocm91Z2ggYSBxdWllc2NlbnQgc3RhdGUuCisJICovCisKKwlpZiAoKGN1cnIgLSBzbmFwKSA+IDIgfHwgKHNuYXAgJiAweDEpID09IDApCisJCXJldHVybiAwOworCisJLyogV2UgbmVlZCB0aGlzIENQVSB0byBnbyB0aHJvdWdoIGEgcXVpZXNjZW50IHN0YXRlLiAqLworCisJcmV0dXJuIDE7Cit9CisKICNlbHNlIC8qICFDT05GSUdfTk9fSFogKi8KIAotIyBkZWZpbmUgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXIoY3B1KQlkbyB7IH0gd2hpbGUgKDApCi0jIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdGFja19uZWVkZWQoY3B1KQkoMSkKLSMgZGVmaW5lIHJjdV90cnlfZmxpcF93YWl0bWJfbmVlZGVkKGNwdSkJKDEpCisjIGRlZmluZSBkeW50aWNrX3NhdmVfcHJvZ3Jlc3NfY291bnRlcihjcHUpCQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdGFja19uZWVkZWQoY3B1KQkJKDEpCisjIGRlZmluZSByY3VfdHJ5X2ZsaXBfd2FpdG1iX25lZWRlZChjcHUpCQkoMSkKKworIyBkZWZpbmUgZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXJfc2NoZWQoY3B1KQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSByY3VfcXNjdHJfaW5jX25lZWRlZF9keW50aWNrKGNwdSkJCSgxKQogCiAjZW5kaWYgLyogQ09ORklHX05PX0haICovCiAKK3N0YXRpYyB2b2lkIHNhdmVfcXNjdHJfc2NoZWQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwlyZHNzcC0+c2NoZWRfcXNfc25hcCA9IHJkc3NwLT5zY2hlZF9xczsKK30KKworc3RhdGljIGlubGluZSBpbnQgcmN1X3FzY3RyX2luY19uZWVkZWQoaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcmN1X2R5bnRpY2tfc2NoZWQgKnJkc3NwID0gJnBlcl9jcHUocmN1X2R5bnRpY2tfc2NoZWQsIGNwdSk7CisKKwkvKgorCSAqIElmIHRoZXJlIGhhcyBiZWVuIGEgcXVpZXNjZW50IHN0YXRlLCBubyBtb3JlIG5lZWQgdG8gd2FpdAorCSAqIG9uIHRoaXMgQ1BVLgorCSAqLworCisJaWYgKHJkc3NwLT5zY2hlZF9xcyAhPSByZHNzcC0+c2NoZWRfcXNfc25hcCkgeworCQlzbXBfbWIoKTsgLyogZm9yY2Ugb3JkZXJpbmcgd2l0aCBjcHUgZW50ZXJpbmcgc2NoZWR1bGUoKS4gKi8KKwkJcmV0dXJuIDA7CisJfQorCisJLyogV2UgbmVlZCB0aGlzIENQVSB0byBnbyB0aHJvdWdoIGEgcXVpZXNjZW50IHN0YXRlLiAqLworCisJcmV0dXJuIDE7Cit9CisKIC8qCiAgKiBHZXQgaGVyZSB3aGVuIFJDVSBpcyBpZGxlLiAgRGVjaWRlIHdoZXRoZXIgd2UgbmVlZCB0bwogICogbW92ZSBvdXQgb2YgaWRsZSBzdGF0ZSwgYW5kIHJldHVybiBub24temVybyBpZiBzby4KQEAgLTgxOSw2ICs5MjAsMjYgQEAKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXN0cnVjdCByY3VfZGF0YSAqcmRwID0gUkNVX0RBVEFfQ1BVKGNwdSk7CiAKKwkvKgorCSAqIElmIHRoaXMgQ1BVIHRvb2sgaXRzIGludGVycnVwdCBmcm9tIHVzZXIgbW9kZSBvciBmcm9tIHRoZQorCSAqIGlkbGUgbG9vcCwgYW5kIHRoaXMgaXMgbm90IGEgbmVzdGVkIGludGVycnVwdCwgdGhlbgorCSAqIHRoaXMgQ1BVIGhhcyB0byBoYXZlIGV4aXRlZCBhbGwgcHJpb3IgcHJlZXB0LWRpc2FibGUKKwkgKiBzZWN0aW9ucyBvZiBjb2RlLiAgU28gaW5jcmVtZW50IHRoZSBjb3VudGVyIHRvIG5vdGUgdGhpcy4KKwkgKgorCSAqIFRoZSBtZW1vcnkgYmFycmllciBpcyBuZWVkZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlCisJICogd3JpdGVzIGZyb20gYSBwcmVlbXB0LWRpc2FibGUgc2VjdGlvbiBvZiBjb2RlIGdldCByZW9yZGVyZWQKKwkgKiBpbnRvIHNjaGVkdWxlKCkgYnkgdGhpcyBDUFUncyB3cml0ZSBidWZmZXIuICBTbyB0aGUgbWVtb3J5CisJICogYmFycmllciBtYWtlcyBzdXJlIHRoYXQgdGhlIHJjdV9xc2N0cl9pbmMoKSBpcyBzZWVuIGJ5IG90aGVyCisJICogQ1BVcyB0byBoYXBwZW4gYWZ0ZXIgYW55IHN1Y2ggd3JpdGUuCisJICovCisKKwlpZiAodXNlciB8fAorCSAgICAoaWRsZV9jcHUoY3B1KSAmJiAhaW5fc29mdGlycSgpICYmCisJICAgICBoYXJkaXJxX2NvdW50KCkgPD0gKDEgPDwgSEFSRElSUV9TSElGVCkpKSB7CisJCXNtcF9tYigpOwkvKiBHdWFyZCBhZ2FpbnN0IGFnZ3Jlc3NpdmUgc2NoZWR1bGUoKS4gKi8KKwkgICAgIAlyY3VfcXNjdHJfaW5jKGNwdSk7CisJfQorCiAJcmN1X2NoZWNrX21iKGNwdSk7CiAJaWYgKHJjdV9jdHJsYmxrLmNvbXBsZXRlZCA9PSByZHAtPmNvbXBsZXRlZCkKIAkJcmN1X3RyeV9mbGlwKCk7CkBAIC04NjksNiArOTkwLDggQEAKIAlzdHJ1Y3QgcmN1X2hlYWQgKmxpc3QgPSBOVUxMOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IHJjdV9kYXRhICpyZHAgPSBSQ1VfREFUQV9DUFUoY3B1KTsKKwlzdHJ1Y3QgcmN1X2hlYWQgKnNjaGVkbGlzdCA9IE5VTEw7CisJc3RydWN0IHJjdV9oZWFkICoqc2NoZWR0YWlsID0gJnNjaGVkbGlzdDsKIAlzdHJ1Y3QgcmN1X2hlYWQgKip0YWlsID0gJmxpc3Q7CiAKIAkvKgpAQCAtODgyLDYgKzEwMDUsMTEgQEAKIAkJcmN1X29mZmxpbmVfY3B1X2VucXVldWUocmRwLT53YWl0bGlzdFtpXSwgcmRwLT53YWl0dGFpbFtpXSwKIAkJCQkJCWxpc3QsIHRhaWwpOwogCXJjdV9vZmZsaW5lX2NwdV9lbnF1ZXVlKHJkcC0+bmV4dGxpc3QsIHJkcC0+bmV4dHRhaWwsIGxpc3QsIHRhaWwpOworCXJjdV9vZmZsaW5lX2NwdV9lbnF1ZXVlKHJkcC0+d2FpdHNjaGVkbGlzdCwgcmRwLT53YWl0c2NoZWR0YWlsLAorCQkJCXNjaGVkbGlzdCwgc2NoZWR0YWlsKTsKKwlyY3Vfb2ZmbGluZV9jcHVfZW5xdWV1ZShyZHAtPm5leHRzY2hlZGxpc3QsIHJkcC0+bmV4dHNjaGVkdGFpbCwKKwkJCQlzY2hlZGxpc3QsIHNjaGVkdGFpbCk7CisJcmRwLT5yY3Vfc2NoZWRfc2xlZXBpbmcgPSAwOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOwogCXJkcC0+d2FpdGxpc3Rjb3VudCA9IDA7CiAKQEAgLTkxNiwzNiArMTA0NCw1MCBAQAogCSAqIGZpeC4KIAkgKi8KIAotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7ICAvKiBkaXNhYmxlIHByZWVtcHQgdGlsbCB3ZSBrbm93IHdoYXQgbG9jay4gKi8KIAlyZHAgPSBSQ1VfREFUQV9NRSgpOwogCXNwaW5fbG9jaygmcmRwLT5sb2NrKTsKIAkqcmRwLT5uZXh0dGFpbCA9IGxpc3Q7CiAJaWYgKGxpc3QpCiAJCXJkcC0+bmV4dHRhaWwgPSB0YWlsOworCSpyZHAtPm5leHRzY2hlZHRhaWwgPSBzY2hlZGxpc3Q7CisJaWYgKHNjaGVkbGlzdCkKKwkJcmRwLT5uZXh0c2NoZWR0YWlsID0gc2NoZWR0YWlsOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOwogfQogCi12b2lkIF9fZGV2aW5pdCByY3Vfb25saW5lX2NwdShpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmcmN1X2N0cmxibGsuZmxpcGxvY2ssIGZsYWdzKTsKLQljcHVfc2V0KGNwdSwgcmN1X2NwdV9vbmxpbmVfbWFwKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5mbGlwbG9jaywgZmxhZ3MpOwotfQotCiAjZWxzZSAvKiAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVICovCiAKIHZvaWQgcmN1X29mZmxpbmVfY3B1KGludCBjcHUpCiB7CiB9CiAKLXZvaWQgX19kZXZpbml0IHJjdV9vbmxpbmVfY3B1KGludCBjcHUpCi17Ci19Ci0KICNlbmRpZiAvKiAjZWxzZSAjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVICovCiAKK3ZvaWQgX19jcHVpbml0IHJjdV9vbmxpbmVfY3B1KGludCBjcHUpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcmN1X2RhdGEgKnJkcDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5mbGlwbG9jaywgZmxhZ3MpOworCWNwdV9zZXQoY3B1LCByY3VfY3B1X29ubGluZV9tYXApOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJjdV9jdHJsYmxrLmZsaXBsb2NrLCBmbGFncyk7CisKKwkvKgorCSAqIFRoZSByY3Vfc2NoZWQgZ3JhY2UtcGVyaW9kIHByb2Nlc3NpbmcgbWlnaHQgaGF2ZSBieXBhc3NlZAorCSAqIHRoaXMgQ1BVLCBnaXZlbiB0aGF0IGl0IHdhcyBub3QgaW4gdGhlIHJjdV9jcHVfb25saW5lX21hcAorCSAqIHdoZW4gdGhlIGdyYWNlLXBlcmlvZCBzY2FuIHN0YXJ0ZWQuICBUaGlzIG1lYW5zIHRoYXQgdGhlCisJICogZ3JhY2UtcGVyaW9kIHRhc2sgbWlnaHQgc2xlZXAuICBTbyBtYWtlIHN1cmUgdGhhdCBpZiB0aGlzCisJICogc2hvdWxkIGhhcHBlbiwgdGhlIGZpcnN0IGNhbGxiYWNrIHBvc3RlZCB0byB0aGlzIENQVSB3aWxsCisJICogd2FrZSB1cCB0aGUgZ3JhY2UtcGVyaW9kIHRhc2sgaWYgbmVlZCBiZS4KKwkgKi8KKworCXJkcCA9IFJDVV9EQVRBX0NQVShjcHUpOworCXNwaW5fbG9ja19pcnFzYXZlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKwlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDE7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmRwLT5sb2NrLCBmbGFncyk7Cit9CisKIHN0YXRpYyB2b2lkIHJjdV9wcm9jZXNzX2NhbGxiYWNrcyhzdHJ1Y3Qgc29mdGlycV9hY3Rpb24gKnVudXNlZCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtOTg2LDMzICsxMTI4LDE5OCBAQAogCSpyZHAtPm5leHR0YWlsID0gaGVhZDsKIAlyZHAtPm5leHR0YWlsID0gJmhlYWQtPm5leHQ7CiAJUkNVX1RSQUNFX1JEUChyY3VwcmVlbXB0X3RyYWNlX25leHRfYWRkLCByZHApOwotCXNwaW5fdW5sb2NrKCZyZHAtPmxvY2spOwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKGNhbGxfcmN1KTsKIAordm9pZCBjYWxsX3JjdV9zY2hlZChzdHJ1Y3QgcmN1X2hlYWQgKmhlYWQsIHZvaWQgKCpmdW5jKShzdHJ1Y3QgcmN1X2hlYWQgKnJjdSkpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3QgcmN1X2RhdGEgKnJkcDsKKwlpbnQgd2FrZV9ncCA9IDA7CisKKwloZWFkLT5mdW5jID0gZnVuYzsKKwloZWFkLT5uZXh0ID0gTlVMTDsKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJcmRwID0gUkNVX0RBVEFfTUUoKTsKKwlzcGluX2xvY2soJnJkcC0+bG9jayk7CisJKnJkcC0+bmV4dHNjaGVkdGFpbCA9IGhlYWQ7CisJcmRwLT5uZXh0c2NoZWR0YWlsID0gJmhlYWQtPm5leHQ7CisJaWYgKHJkcC0+cmN1X3NjaGVkX3NsZWVwaW5nKSB7CisKKwkJLyogR3JhY2UtcGVyaW9kIHByb2Nlc3NpbmcgbWlnaHQgYmUgc2xlZXBpbmcuLi4gKi8KKworCQlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDA7CisJCXdha2VfZ3AgPSAxOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKwlpZiAod2FrZV9ncCkgeworCisJCS8qIFdha2UgdXAgZ3JhY2UtcGVyaW9kIHByb2Nlc3NpbmcsIHVubGVzcyBzb21lb25lIGJlYXQgdXMuICovCisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQlpZiAocmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgIT0gcmN1X3NjaGVkX3NsZWVwaW5nKQorCQkJd2FrZV9ncCA9IDA7CisJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX25vdF9zbGVlcGluZzsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCWlmICh3YWtlX2dwKQorCQkJd2FrZV91cF9pbnRlcnJ1cHRpYmxlKCZyY3VfY3RybGJsay5zY2hlZF93cSk7CisJfQorfQorRVhQT1JUX1NZTUJPTF9HUEwoY2FsbF9yY3Vfc2NoZWQpOworCiAvKgogICogV2FpdCB1bnRpbCBhbGwgY3VycmVudGx5IHJ1bm5pbmcgcHJlZW1wdF9kaXNhYmxlKCkgY29kZSBzZWdtZW50cwogICogKGluY2x1ZGluZyBoYXJkd2FyZS1pcnEtZGlzYWJsZSBzZWdtZW50cykgY29tcGxldGUuICBOb3RlIHRoYXQKICAqIGluIC1ydCB0aGlzIGRvZXMgLW5vdC0gbmVjZXNzYXJpbHkgcmVzdWx0IGluIGFsbCBjdXJyZW50bHkgZXhlY3V0aW5nCiAgKiBpbnRlcnJ1cHQgLWhhbmRsZXJzLSBoYXZpbmcgY29tcGxldGVkLgogICovCi12b2lkIF9fc3luY2hyb25pemVfc2NoZWQodm9pZCkKLXsKLQljcHVtYXNrX3Qgb2xkbWFzazsKLQlpbnQgY3B1OwotCi0JaWYgKHNjaGVkX2dldGFmZmluaXR5KDAsICZvbGRtYXNrKSA8IDApCi0JCW9sZG1hc2sgPSBjcHVfcG9zc2libGVfbWFwOwotCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7Ci0JCXNjaGVkX3NldGFmZmluaXR5KDAsICZjcHVtYXNrX29mX2NwdShjcHUpKTsKLQkJc2NoZWR1bGUoKTsKLQl9Ci0Jc2NoZWRfc2V0YWZmaW5pdHkoMCwgJm9sZG1hc2spOwotfQorc3luY2hyb25pemVfcmN1X3h4eChfX3N5bmNocm9uaXplX3NjaGVkLCBjYWxsX3JjdV9zY2hlZCkKIEVYUE9SVF9TWU1CT0xfR1BMKF9fc3luY2hyb25pemVfc2NoZWQpOwogCiAvKgorICoga3RocmVhZCBmdW5jdGlvbiB0aGF0IG1hbmFnZXMgY2FsbF9yY3Vfc2NoZWQgZ3JhY2UgcGVyaW9kcy4KKyAqLworc3RhdGljIGludCByY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kKHZvaWQgKmFyZykKK3sKKwlpbnQgY291bGRzbGVlcDsJCS8qIG1pZ2h0IHNsZWVwIGFmdGVyIGN1cnJlbnQgcGFzcy4gKi8KKwlpbnQgY291bGRzbGVlcG5leHQgPSAwOyAvKiBtaWdodCBzbGVlcCBhZnRlciBuZXh0IHBhc3MuICovCisJaW50IGNwdTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCByY3VfZGF0YSAqcmRwOworCWludCByZXQ7CisKKwkvKgorCSAqIEVhY2ggcGFzcyB0aHJvdWdoIHRoZSBmb2xsb3dpbmcgbG9vcCBoYW5kbGVzIG9uZQorCSAqIHJjdV9zY2hlZCBncmFjZSBwZXJpb2QgY3ljbGUuCisJICovCisJZG8geworCQkvKiBTYXZlIGVhY2ggQ1BVJ3MgY3VycmVudCBzdGF0ZS4gKi8KKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQkJZHludGlja19zYXZlX3Byb2dyZXNzX2NvdW50ZXJfc2NoZWQoY3B1KTsKKwkJCXNhdmVfcXNjdHJfc2NoZWQoY3B1KTsKKwkJfQorCisJCS8qCisJCSAqIFNsZWVwIGZvciBhYm91dCBhbiBSQ1UgZ3JhY2UtcGVyaW9kJ3Mgd29ydGggdG8KKwkJICogYWxsb3cgYmV0dGVyIGJhdGNoaW5nIGFuZCB0byBjb25zdW1lIGxlc3MgQ1BVLgorCQkgKi8KKwkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKFJDVV9TQ0hFRF9CQVRDSF9USU1FKTsKKworCQkvKgorCQkgKiBJZiB0aGVyZSB3YXMgbm90aGluZyB0byBkbyBsYXN0IHRpbWUsIHByZXBhcmUgdG8KKwkJICogc2xlZXAgYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBncmFjZSBwZXJpb2QgY3ljbGUuCisJCSAqLworCQljb3VsZHNsZWVwID0gY291bGRzbGVlcG5leHQ7CisJCWNvdWxkc2xlZXBuZXh0ID0gMTsKKwkJaWYgKGNvdWxkc2xlZXApIHsKKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX3NsZWVwX3ByZXA7CisJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJfQorCisJCS8qCisJCSAqIFdhaXQgb24gZWFjaCBDUFUgaW4gdHVybiB0byBoYXZlIGVpdGhlciB2aXNpdGVkCisJCSAqIGEgcXVpZXNjZW50IHN0YXRlIG9yIGJlZW4gaW4gZHludGlja3MtaWRsZSBtb2RlLgorCQkgKi8KKwkJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKKwkJCXdoaWxlIChyY3VfcXNjdHJfaW5jX25lZWRlZChjcHUpICYmCisJCQkgICAgICAgcmN1X3FzY3RyX2luY19uZWVkZWRfZHludGljayhjcHUpKSB7CisJCQkJLyogcmVzY2hlZF9jcHUoY3B1KTsgQEBAICovCisJCQkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKDEpOworCQkJfQorCQl9CisKKwkJLyogQWR2YW5jZSBjYWxsYmFja3MgZm9yIGVhY2ggQ1BVLiAgKi8KKworCQlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCisJCQlyZHAgPSBSQ1VfREFUQV9DUFUoY3B1KTsKKwkJCXNwaW5fbG9ja19pcnFzYXZlKCZyZHAtPmxvY2ssIGZsYWdzKTsKKworCQkJLyoKKwkJCSAqIFdlIGFyZSBydW5uaW5nIG9uIHRoaXMgQ1BVIGlycS1kaXNhYmxlZCwgc28gbm8KKwkJCSAqIENQVSBjYW4gZ28gb2ZmbGluZSB1bnRpbCB3ZSByZS1lbmFibGUgaXJxcy4KKwkJCSAqIFRoZSBjdXJyZW50IENQVSBtaWdodCBoYXZlIGFscmVhZHkgZ29uZQorCQkJICogb2ZmbGluZSAoYmV0d2VlbiB0aGUgZm9yX2VhY2hfb2ZmbGluZV9jcHUgYW5kCisJCQkgKiB0aGUgc3Bpbl9sb2NrX2lycXNhdmUpLCBidXQgaW4gdGhhdCBjYXNlIGFsbCBpdHMKKwkJCSAqIGNhbGxiYWNrIGxpc3RzIHdpbGwgYmUgZW1wdHksIHNvIG5vIGhhcm0gZG9uZS4KKwkJCSAqCisJCQkgKiBBZHZhbmNlIHRoZSBjYWxsYmFja3MhICBXZSBzaGFyZSBub3JtYWwgUkNVJ3MKKwkJCSAqIGRvbmVsaXN0LCBzaW5jZSBjYWxsYmFja3MgYXJlIGludm9rZWQgdGhlCisJCQkgKiBzYW1lIHdheSBpbiBlaXRoZXIgY2FzZS4KKwkJCSAqLworCQkJaWYgKHJkcC0+d2FpdHNjaGVkbGlzdCAhPSBOVUxMKSB7CisJCQkJKnJkcC0+ZG9uZXRhaWwgPSByZHAtPndhaXRzY2hlZGxpc3Q7CisJCQkJcmRwLT5kb25ldGFpbCA9IHJkcC0+d2FpdHNjaGVkdGFpbDsKKworCQkJCS8qCisJCQkJICogTmV4dCByY3VfY2hlY2tfY2FsbGJhY2tzKCkgd2lsbAorCQkJCSAqIGRvIHRoZSByZXF1aXJlZCByYWlzZV9zb2Z0aXJxKCkuCisJCQkJICovCisJCQl9CisJCQlpZiAocmRwLT5uZXh0c2NoZWRsaXN0ICE9IE5VTEwpIHsKKwkJCQlyZHAtPndhaXRzY2hlZGxpc3QgPSByZHAtPm5leHRzY2hlZGxpc3Q7CisJCQkJcmRwLT53YWl0c2NoZWR0YWlsID0gcmRwLT5uZXh0c2NoZWR0YWlsOworCQkJCWNvdWxkc2xlZXAgPSAwOworCQkJCWNvdWxkc2xlZXBuZXh0ID0gMDsKKwkJCX0gZWxzZSB7CisJCQkJcmRwLT53YWl0c2NoZWRsaXN0ID0gTlVMTDsKKwkJCQlyZHAtPndhaXRzY2hlZHRhaWwgPSAmcmRwLT53YWl0c2NoZWRsaXN0OworCQkJfQorCQkJcmRwLT5uZXh0c2NoZWRsaXN0ID0gTlVMTDsKKwkJCXJkcC0+bmV4dHNjaGVkdGFpbCA9ICZyZHAtPm5leHRzY2hlZGxpc3Q7CisKKwkJCS8qIE1hcmsgc2xlZXAgaW50ZW50aW9uLiAqLworCisJCQlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IGNvdWxkc2xlZXA7CisKKwkJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJkcC0+bG9jaywgZmxhZ3MpOworCQl9CisKKwkJLyogSWYgd2Ugc2F3IGNhbGxiYWNrcyBvbiB0aGUgbGFzdCBzY2FuLCBnbyBkZWFsIHdpdGggdGhlbS4gKi8KKworCQlpZiAoIWNvdWxkc2xlZXApCisJCQljb250aW51ZTsKKworCQkvKiBBdHRlbXB0IHRvIGJsb2NrLi4uICovCisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJjdV9jdHJsYmxrLnNjaGVkbG9jaywgZmxhZ3MpOworCQlpZiAocmN1X2N0cmxibGsuc2NoZWRfc2xlZXAgIT0gcmN1X3NjaGVkX3NsZWVwX3ByZXApIHsKKworCQkJLyoKKwkJCSAqIFNvbWVvbmUgcG9zdGVkIGEgY2FsbGJhY2sgYWZ0ZXIgd2Ugc2Nhbm5lZC4KKwkJCSAqIEdvIHRha2UgY2FyZSBvZiBpdC4KKwkJCSAqLworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmN1X2N0cmxibGsuc2NoZWRsb2NrLCBmbGFncyk7CisJCQljb3VsZHNsZWVwbmV4dCA9IDA7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIEJsb2NrIHVudGlsIHRoZSBuZXh0IHBlcnNvbiBwb3N0cyBhIGNhbGxiYWNrLiAqLworCisJCXJjdV9jdHJsYmxrLnNjaGVkX3NsZWVwID0gcmN1X3NjaGVkX3NsZWVwaW5nOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyY3VfY3RybGJsay5zY2hlZGxvY2ssIGZsYWdzKTsKKwkJcmV0ID0gMDsKKwkJX193YWl0X2V2ZW50X2ludGVycnVwdGlibGUocmN1X2N0cmxibGsuc2NoZWRfd3EsCisJCQlyY3VfY3RybGJsay5zY2hlZF9zbGVlcCAhPSByY3Vfc2NoZWRfc2xlZXBpbmcsCisJCQlyZXQpOworCisJCS8qCisJCSAqIFNpZ25hbHMgd291bGQgcHJldmVudCB1cyBmcm9tIHNsZWVwaW5nLCBhbmQgd2UgY2Fubm90CisJCSAqIGRvIG11Y2ggd2l0aCB0aGVtIGluIGFueSBjYXNlLiAgU28gZmx1c2ggdGhlbS4KKwkJICovCisJCWlmIChyZXQpCisJCQlmbHVzaF9zaWduYWxzKGN1cnJlbnQpOworCQljb3VsZHNsZWVwbmV4dCA9IDA7CisKKwl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKTsKKworCXJldHVybiAoMCk7Cit9CisKKy8qCiAgKiBDaGVjayB0byBzZWUgaWYgYW55IGZ1dHVyZSBSQ1UtcmVsYXRlZCB3b3JrIHdpbGwgbmVlZCB0byBiZSBkb25lCiAgKiBieSB0aGUgY3VycmVudCBDUFUsIGV2ZW4gaWYgbm9uZSBuZWVkIGJlIGRvbmUgaW1tZWRpYXRlbHksIHJldHVybmluZwogICogMSBpZiBzby4gIEFzc3VtZXMgdGhhdCBub3RpZmllcnMgd291bGQgdGFrZSBjYXJlIG9mIGhhbmRsaW5nIGFueQpAQCAtMTAyNyw3ICsxMzM0LDkgQEAKIAogCXJldHVybiAocmRwLT5kb25lbGlzdCAhPSBOVUxMIHx8CiAJCSEhcmRwLT53YWl0bGlzdGNvdW50IHx8Ci0JCXJkcC0+bmV4dGxpc3QgIT0gTlVMTCk7CisJCXJkcC0+bmV4dGxpc3QgIT0gTlVMTCB8fAorCQlyZHAtPm5leHRzY2hlZGxpc3QgIT0gTlVMTCB8fAorCQlyZHAtPndhaXRzY2hlZGxpc3QgIT0gTlVMTCk7CiB9CiAKIGludCByY3VfcGVuZGluZyhpbnQgY3B1KQpAQCAtMTAzOCw3ICsxMzQ3LDkgQEAKIAogCWlmIChyZHAtPmRvbmVsaXN0ICE9IE5VTEwgfHwKIAkgICAgISFyZHAtPndhaXRsaXN0Y291bnQgfHwKLQkgICAgcmRwLT5uZXh0bGlzdCAhPSBOVUxMKQorCSAgICByZHAtPm5leHRsaXN0ICE9IE5VTEwgfHwKKwkgICAgcmRwLT5uZXh0c2NoZWRsaXN0ICE9IE5VTEwgfHwKKwkgICAgcmRwLT53YWl0c2NoZWRsaXN0ICE9IE5VTEwpCiAJCXJldHVybiAxOwogCiAJLyogVGhlIFJDVSBjb3JlIG5lZWRzIGFuIGFja25vd2xlZGdlbWVudCBmcm9tIHRoaXMgQ1BVLiAqLwpAQCAtMTEwNSw2ICsxNDE2LDExIEBACiAJCXJkcC0+ZG9uZXRhaWwgPSAmcmRwLT5kb25lbGlzdDsKIAkJcmRwLT5yY3VfZmxpcGN0clswXSA9IDA7CiAJCXJkcC0+cmN1X2ZsaXBjdHJbMV0gPSAwOworCQlyZHAtPm5leHRzY2hlZGxpc3QgPSBOVUxMOworCQlyZHAtPm5leHRzY2hlZHRhaWwgPSAmcmRwLT5uZXh0c2NoZWRsaXN0OworCQlyZHAtPndhaXRzY2hlZGxpc3QgPSBOVUxMOworCQlyZHAtPndhaXRzY2hlZHRhaWwgPSAmcmRwLT53YWl0c2NoZWRsaXN0OworCQlyZHAtPnJjdV9zY2hlZF9zbGVlcGluZyA9IDA7CiAJfQogCXJlZ2lzdGVyX2NwdV9ub3RpZmllcigmcmN1X25iKTsKIApAQCAtMTEyMywxNSArMTQzOSwxOSBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQogCQlyY3VfY3B1X25vdGlmeSgmcmN1X25iLCBDUFVfVVBfUFJFUEFSRSwJKHZvaWQgKikobG9uZykgY3B1KTsKIAotCW9wZW5fc29mdGlycShSQ1VfU09GVElSUSwgcmN1X3Byb2Nlc3NfY2FsbGJhY2tzLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoUkNVX1NPRlRJUlEsIHJjdV9wcm9jZXNzX2NhbGxiYWNrcyk7CiB9CiAKIC8qCi0gKiBEZXByZWNhdGVkLCB1c2Ugc3luY2hyb25pemVfcmN1KCkgb3Igc3luY2hyb25pemVfc2NoZWQoKSBpbnN0ZWFkLgorICogTGF0ZS1ib290LXRpbWUgUkNVIGluaXRpYWxpemF0aW9uIHRoYXQgbXVzdCB3YWl0IHVudGlsIGFmdGVyIHNjaGVkdWxlcgorICogaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCiAgKi8KLXZvaWQgc3luY2hyb25pemVfa2VybmVsKHZvaWQpCit2b2lkIF9faW5pdCByY3VfaW5pdF9zY2hlZCh2b2lkKQogewotCXN5bmNocm9uaXplX3JjdSgpOworCXJjdV9zY2hlZF9ncmFjZV9wZXJpb2RfdGFzayA9IGt0aHJlYWRfcnVuKHJjdV9zY2hlZF9ncmFjZV9wZXJpb2QsCisJCQkJCQkgIE5VTEwsCisJCQkJCQkgICJyY3Vfc2NoZWRfZ3JhY2VfcGVyaW9kIik7CisJV0FSTl9PTihJU19FUlIocmN1X3NjaGVkX2dyYWNlX3BlcmlvZF90YXNrKSk7CiB9CiAKICNpZmRlZiBDT05GSUdfUkNVX1RSQUNFCmRpZmYgLS1naXQgYS9rZXJuZWwvcmN1cHJlZW1wdF90cmFjZS5jIGIva2VybmVsL3JjdXByZWVtcHRfdHJhY2UuYwppbmRleCA0OWFjNDk0Ny4uNWVkZjgyYyAxMDA2NDQKLS0tIGEva2VybmVsL3JjdXByZWVtcHRfdHJhY2UuYworKysgYi9rZXJuZWwvcmN1cHJlZW1wdF90cmFjZS5jCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgotI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1Lmg+CiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9yY3VwcmVlbXB0X3RyYWNlLmg+CmRpZmYgLS1naXQgYS9rZXJuZWwvcmN1dG9ydHVyZS5jIGIva2VybmVsL3JjdXRvcnR1cmUuYwppbmRleCAzM2FjYzQyNC4uOTBiNWIxMiAxMDA2NDQKLS0tIGEva2VybmVsL3JjdXRvcnR1cmUuYworKysgYi9rZXJuZWwvcmN1dG9ydHVyZS5jCkBAIC01Nyw3ICs1Nyw5IEBACiAJCQkJLyogIERlZmF1bHRzIHRvICJvbmx5IGF0IGVuZCBvZiB0ZXN0Ii4gKi8KIHN0YXRpYyBpbnQgdmVyYm9zZTsJCS8qIFByaW50IG1vcmUgZGVidWcgaW5mby4gKi8KIHN0YXRpYyBpbnQgdGVzdF9ub19pZGxlX2h6OwkvKiBUZXN0IFJDVSdzIHN1cHBvcnQgZm9yIHRpY2tsZXNzIGlkbGUgQ1BVcy4gKi8KLXN0YXRpYyBpbnQgc2h1ZmZsZV9pbnRlcnZhbCA9IDU7IC8qIEludGVydmFsIGJldHdlZW4gc2h1ZmZsZXMgKGluIHNlYykqLworc3RhdGljIGludCBzaHVmZmxlX2ludGVydmFsID0gMzsgLyogSW50ZXJ2YWwgYmV0d2VlbiBzaHVmZmxlcyAoaW4gc2VjKSovCitzdGF0aWMgaW50IHN0dXR0ZXIgPSA1OwkJLyogU3RhcnQvc3RvcCB0ZXN0aW5nIGludGVydmFsIChpbiBzZWMpICovCitzdGF0aWMgaW50IGlycXJlYWRlciA9IDE7CS8qIFJDVSByZWFkZXJzIGZyb20gaXJxICh0aW1lcnMpLiAqLwogc3RhdGljIGNoYXIgKnRvcnR1cmVfdHlwZSA9ICJyY3UiOyAvKiBXaGF0IFJDVSBpbXBsZW1lbnRhdGlvbiB0byB0b3J0dXJlLiAqLwogCiBtb2R1bGVfcGFyYW0obnJlYWRlcnMsIGludCwgMDQ0NCk7CkBAIC03Miw2ICs3NCwxMCBAQAogTU9EVUxFX1BBUk1fREVTQyh0ZXN0X25vX2lkbGVfaHosICJUZXN0IHN1cHBvcnQgZm9yIHRpY2tsZXNzIGlkbGUgQ1BVcyIpOwogbW9kdWxlX3BhcmFtKHNodWZmbGVfaW50ZXJ2YWwsIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNodWZmbGVfaW50ZXJ2YWwsICJOdW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIHNodWZmbGVzIik7Cittb2R1bGVfcGFyYW0oc3R1dHRlciwgaW50LCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0Moc3R1dHRlciwgIk51bWJlciBvZiBzZWNvbmRzIHRvIHJ1bi9oYWx0IHRlc3QiKTsKK21vZHVsZV9wYXJhbShpcnFyZWFkZXIsIGludCwgMDQ0NCk7CitNT0RVTEVfUEFSTV9ERVNDKGlycXJlYWRlciwgIkFsbG93IFJDVSByZWFkZXJzIGZyb20gaXJxIGhhbmRsZXJzIik7CiBtb2R1bGVfcGFyYW0odG9ydHVyZV90eXBlLCBjaGFycCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHRvcnR1cmVfdHlwZSwgIlR5cGUgb2YgUkNVIHRvIHRvcnR1cmUgKHJjdSwgcmN1X2JoLCBzcmN1KSIpOwogCkBAIC05MSw2ICs5Nyw3IEBACiBzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICoqcmVhZGVyX3Rhc2tzOwogc3RhdGljIHN0cnVjdCB0YXNrX3N0cnVjdCAqc3RhdHNfdGFzazsKIHN0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnNodWZmbGVyX3Rhc2s7CitzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0ICpzdHV0dGVyX3Rhc2s7CiAKICNkZWZpbmUgUkNVX1RPUlRVUkVfUElQRV9MRU4gMTAKIApAQCAtMTE3LDggKzEyNCwxOCBAQAogc3RhdGljIGF0b21pY190IG5fcmN1X3RvcnR1cmVfZnJlZTsKIHN0YXRpYyBhdG9taWNfdCBuX3JjdV90b3J0dXJlX21iZXJyb3I7CiBzdGF0aWMgYXRvbWljX3Qgbl9yY3VfdG9ydHVyZV9lcnJvcjsKK3N0YXRpYyBsb25nIG5fcmN1X3RvcnR1cmVfdGltZXJzID0gMDsKIHN0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIHJjdV90b3J0dXJlX3JlbW92ZWQ7CiAKK3N0YXRpYyBpbnQgc3R1dHRlcl9wYXVzZV90ZXN0ID0gMDsKKworI2lmIGRlZmluZWQoTU9EVUxFKSB8fCBkZWZpbmVkKENPTkZJR19SQ1VfVE9SVFVSRV9URVNUX1JVTk5BQkxFKQorI2RlZmluZSBSQ1VUT1JUVVJFX1JVTk5BQkxFX0lOSVQgMQorI2Vsc2UKKyNkZWZpbmUgUkNVVE9SVFVSRV9SVU5OQUJMRV9JTklUIDAKKyNlbmRpZgoraW50IHJjdXRvcnR1cmVfcnVubmFibGUgPSBSQ1VUT1JUVVJFX1JVTk5BQkxFX0lOSVQ7CisKIC8qCiAgKiBBbGxvY2F0ZSBhbiBlbGVtZW50IGZyb20gdGhlIHJjdV90b3J0dXJlcyBwb29sLgogICovCkBAIC0xNzksNiArMTk2LDE2IEBACiAJcmV0dXJuIHN3YWh3MzIocnJzcC0+cnJzX3N0YXRlKTsKIH0KIAorc3RhdGljIHZvaWQKK3JjdV9zdHV0dGVyX3dhaXQodm9pZCkKK3sKKwl3aGlsZSAoc3R1dHRlcl9wYXVzZV90ZXN0IHx8ICFyY3V0b3J0dXJlX3J1bm5hYmxlKQorCQlpZiAocmN1dG9ydHVyZV9ydW5uYWJsZSkKKwkJCXNjaGVkdWxlX3RpbWVvdXRfaW50ZXJydXB0aWJsZSgxKTsKKwkJZWxzZQorCQkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKHJvdW5kX2ppZmZpZXNfcmVsYXRpdmUoSFopKTsKK30KKwogLyoKICAqIE9wZXJhdGlvbnMgdmVjdG9yIGZvciBzZWxlY3RpbmcgZGlmZmVyZW50IHR5cGVzIG9mIHRlc3RzLgogICovCkBAIC0xOTIsNyArMjE5LDkgQEAKIAlpbnQgKCpjb21wbGV0ZWQpKHZvaWQpOwogCXZvaWQgKCpkZWZlcnJlZGZyZWUpKHN0cnVjdCByY3VfdG9ydHVyZSAqcCk7CiAJdm9pZCAoKnN5bmMpKHZvaWQpOworCXZvaWQgKCpjYl9iYXJyaWVyKSh2b2lkKTsKIAlpbnQgKCpzdGF0cykoY2hhciAqcGFnZSk7CisJaW50IGlycWNhcGFibGU7CiAJY2hhciAqbmFtZTsKIH07CiBzdGF0aWMgc3RydWN0IHJjdV90b3J0dXJlX29wcyAqY3VyX29wcyA9IE5VTEw7CkBAIC0yNjUsNyArMjk0LDkgQEAKIAkuY29tcGxldGVkID0gcmN1X3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3VfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gc3luY2hyb25pemVfcmN1LAorCS5jYl9iYXJyaWVyID0gcmN1X2JhcnJpZXIsCiAJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCiAJLm5hbWUgPSAicmN1IgogfTsKIApAQCAtMzA0LDcgKzMzNSw5IEBACiAJLmNvbXBsZXRlZCA9IHJjdV90b3J0dXJlX2NvbXBsZXRlZCwKIAkuZGVmZXJyZWRmcmVlID0gcmN1X3N5bmNfdG9ydHVyZV9kZWZlcnJlZF9mcmVlLAogCS5zeW5jID0gc3luY2hyb25pemVfcmN1LAorCS5jYl9iYXJyaWVyID0gTlVMTCwKIAkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKIAkubmFtZSA9ICJyY3Vfc3luYyIKIH07CiAKQEAgLTM2NCw3ICszOTcsOSBAQAogCS5jb21wbGV0ZWQgPSByY3VfYmhfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9iaF90b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSByY3VfYmhfdG9ydHVyZV9zeW5jaHJvbml6ZSwKKwkuY2JfYmFycmllciA9IHJjdV9iYXJyaWVyX2JoLAogCS5zdGF0cyA9IE5VTEwsCisJLmlycWNhcGFibGUgPSAxLAogCS5uYW1lID0gInJjdV9iaCIKIH07CiAKQEAgLTM3Nyw3ICs0MTIsOSBAQAogCS5jb21wbGV0ZWQgPSByY3VfYmhfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9zeW5jX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHJjdV9iaF90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gTlVMTCwKIAkuc3RhdHMgPSBOVUxMLAorCS5pcnFjYXBhYmxlID0gMSwKIAkubmFtZSA9ICJyY3VfYmhfc3luYyIKIH07CiAKQEAgLTQ1OCw2ICs0OTUsNyBAQAogCS5jb21wbGV0ZWQgPSBzcmN1X3RvcnR1cmVfY29tcGxldGVkLAogCS5kZWZlcnJlZGZyZWUgPSByY3Vfc3luY190b3J0dXJlX2RlZmVycmVkX2ZyZWUsCiAJLnN5bmMgPSBzcmN1X3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSBOVUxMLAogCS5zdGF0cyA9IHNyY3VfdG9ydHVyZV9zdGF0cywKIAkubmFtZSA9ICJzcmN1IgogfTsKQEAgLTQ4Miw2ICs1MjAsMTEgQEAKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgcmN1X3NjaGVkX3RvcnR1cmVfZGVmZXJyZWRfZnJlZShzdHJ1Y3QgcmN1X3RvcnR1cmUgKnApCit7CisJY2FsbF9yY3Vfc2NoZWQoJnAtPnJ0b3J0X3JjdSwgcmN1X3RvcnR1cmVfY2IpOworfQorCiBzdGF0aWMgdm9pZCBzY2hlZF90b3J0dXJlX3N5bmNocm9uaXplKHZvaWQpCiB7CiAJc3luY2hyb25pemVfc2NoZWQoKTsKQEAgLTQ5NCwxMCArNTM3LDI2IEBACiAJLnJlYWRkZWxheSA9IHJjdV9yZWFkX2RlbGF5LCAgLyoganVzdCByZXVzZSByY3UncyB2ZXJzaW9uLiAqLwogCS5yZWFkdW5sb2NrID0gc2NoZWRfdG9ydHVyZV9yZWFkX3VubG9jaywKIAkuY29tcGxldGVkID0gc2NoZWRfdG9ydHVyZV9jb21wbGV0ZWQsCisJLmRlZmVycmVkZnJlZSA9IHJjdV9zY2hlZF90b3J0dXJlX2RlZmVycmVkX2ZyZWUsCisJLnN5bmMgPSBzY2hlZF90b3J0dXJlX3N5bmNocm9uaXplLAorCS5jYl9iYXJyaWVyID0gcmN1X2JhcnJpZXJfc2NoZWQsCisJLnN0YXRzID0gTlVMTCwKKwkuaXJxY2FwYWJsZSA9IDEsCisJLm5hbWUgPSAic2NoZWQiCit9OworCitzdGF0aWMgc3RydWN0IHJjdV90b3J0dXJlX29wcyBzY2hlZF9vcHNfc3luYyA9IHsKKwkuaW5pdCA9IHJjdV9zeW5jX3RvcnR1cmVfaW5pdCwKKwkuY2xlYW51cCA9IE5VTEwsCisJLnJlYWRsb2NrID0gc2NoZWRfdG9ydHVyZV9yZWFkX2xvY2ssCisJLnJlYWRkZWxheSA9IHJjdV9yZWFkX2RlbGF5LCAgLyoganVzdCByZXVzZSByY3UncyB2ZXJzaW9uLiAqLworCS5yZWFkdW5sb2NrID0gc2NoZWRfdG9ydHVyZV9yZWFkX3VubG9jaywKKwkuY29tcGxldGVkID0gc2NoZWRfdG9ydHVyZV9jb21wbGV0ZWQsCiAJLmRlZmVycmVkZnJlZSA9IHJjdV9zeW5jX3RvcnR1cmVfZGVmZXJyZWRfZnJlZSwKIAkuc3luYyA9IHNjaGVkX3RvcnR1cmVfc3luY2hyb25pemUsCisJLmNiX2JhcnJpZXIgPSBOVUxMLAogCS5zdGF0cyA9IE5VTEwsCi0JLm5hbWUgPSAic2NoZWQiCisJLm5hbWUgPSAic2NoZWRfc3luYyIKIH07CiAKIC8qCkBAIC01MzcsNiArNTk2LDcgQEAKIAkJfQogCQlyY3VfdG9ydHVyZV9jdXJyZW50X3ZlcnNpb24rKzsKIAkJb2xkYmF0Y2ggPSBjdXJfb3BzLT5jb21wbGV0ZWQoKTsKKwkJcmN1X3N0dXR0ZXJfd2FpdCgpOwogCX0gd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkgJiYgIWZ1bGxzdG9wKTsKIAlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3dyaXRlciB0YXNrIHN0b3BwaW5nIik7CiAJd2hpbGUgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCkBAIC01NjAsNiArNjIwLDcgQEAKIAkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoMSArIHJjdV9yYW5kb20oJnJhbmQpJTEwKTsKIAkJdWRlbGF5KHJjdV9yYW5kb20oJnJhbmQpICYgMHgzZmYpOwogCQljdXJfb3BzLT5zeW5jKCk7CisJCXJjdV9zdHV0dGVyX3dhaXQoKTsKIAl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpICYmICFmdWxsc3RvcCk7CiAKIAlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX2Zha2V3cml0ZXIgdGFzayBzdG9wcGluZyIpOwpAQCAtNTY5LDYgKzYzMCw1MiBAQAogfQogCiAvKgorICogUkNVIHRvcnR1cmUgcmVhZGVyIGZyb20gdGltZXIgaGFuZGxlci4gIERlcmVmZXJlbmNlcyByY3VfdG9ydHVyZV9jdXJyZW50LAorICogaW5jcmVtZW50aW5nIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnQgb2YgdGhlIHBpcGVsaW5lIGFycmF5LiAgVGhlCisgKiBjb3VudGVyIGluIHRoZSBlbGVtZW50IHNob3VsZCBuZXZlciBiZSBncmVhdGVyIHRoYW4gMSwgb3RoZXJ3aXNlLCB0aGUKKyAqIFJDVSBpbXBsZW1lbnRhdGlvbiBpcyBicm9rZW4uCisgKi8KK3N0YXRpYyB2b2lkIHJjdV90b3J0dXJlX3RpbWVyKHVuc2lnbmVkIGxvbmcgdW51c2VkKQoreworCWludCBpZHg7CisJaW50IGNvbXBsZXRlZDsKKwlzdGF0aWMgREVGSU5FX1JDVV9SQU5ET00ocmFuZCk7CisJc3RhdGljIERFRklORV9TUElOTE9DSyhyYW5kX2xvY2spOworCXN0cnVjdCByY3VfdG9ydHVyZSAqcDsKKwlpbnQgcGlwZV9jb3VudDsKKworCWlkeCA9IGN1cl9vcHMtPnJlYWRsb2NrKCk7CisJY29tcGxldGVkID0gY3VyX29wcy0+Y29tcGxldGVkKCk7CisJcCA9IHJjdV9kZXJlZmVyZW5jZShyY3VfdG9ydHVyZV9jdXJyZW50KTsKKwlpZiAocCA9PSBOVUxMKSB7CisJCS8qIExlYXZlIGJlY2F1c2UgcmN1X3RvcnR1cmVfd3JpdGVyIGlzIG5vdCB5ZXQgdW5kZXJ3YXkgKi8KKwkJY3VyX29wcy0+cmVhZHVubG9jayhpZHgpOworCQlyZXR1cm47CisJfQorCWlmIChwLT5ydG9ydF9tYnRlc3QgPT0gMCkKKwkJYXRvbWljX2luYygmbl9yY3VfdG9ydHVyZV9tYmVycm9yKTsKKwlzcGluX2xvY2soJnJhbmRfbG9jayk7CisJY3VyX29wcy0+cmVhZGRlbGF5KCZyYW5kKTsKKwluX3JjdV90b3J0dXJlX3RpbWVycysrOworCXNwaW5fdW5sb2NrKCZyYW5kX2xvY2spOworCXByZWVtcHRfZGlzYWJsZSgpOworCXBpcGVfY291bnQgPSBwLT5ydG9ydF9waXBlX2NvdW50OworCWlmIChwaXBlX2NvdW50ID4gUkNVX1RPUlRVUkVfUElQRV9MRU4pIHsKKwkJLyogU2hvdWxkIG5vdCBoYXBwZW4sIGJ1dC4uLiAqLworCQlwaXBlX2NvdW50ID0gUkNVX1RPUlRVUkVfUElQRV9MRU47CisJfQorCSsrX19nZXRfY3B1X3ZhcihyY3VfdG9ydHVyZV9jb3VudClbcGlwZV9jb3VudF07CisJY29tcGxldGVkID0gY3VyX29wcy0+Y29tcGxldGVkKCkgLSBjb21wbGV0ZWQ7CisJaWYgKGNvbXBsZXRlZCA+IFJDVV9UT1JUVVJFX1BJUEVfTEVOKSB7CisJCS8qIFNob3VsZCBub3QgaGFwcGVuLCBidXQuLi4gKi8KKwkJY29tcGxldGVkID0gUkNVX1RPUlRVUkVfUElQRV9MRU47CisJfQorCSsrX19nZXRfY3B1X3ZhcihyY3VfdG9ydHVyZV9iYXRjaClbY29tcGxldGVkXTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCWN1cl9vcHMtPnJlYWR1bmxvY2soaWR4KTsKK30KKworLyoKICAqIFJDVSB0b3J0dXJlIHJlYWRlciBrdGhyZWFkLiAgUmVwZWF0ZWRseSBkZXJlZmVyZW5jZXMgcmN1X3RvcnR1cmVfY3VycmVudCwKICAqIGluY3JlbWVudGluZyB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IG9mIHRoZSBwaXBlbGluZSBhcnJheS4gIFRoZQogICogY291bnRlciBpbiB0aGUgZWxlbWVudCBzaG91bGQgbmV2ZXIgYmUgZ3JlYXRlciB0aGFuIDEsIG90aGVyd2lzZSwgdGhlCkBAIC01ODIsMTEgKzY4OSwxOCBAQAogCURFRklORV9SQ1VfUkFORE9NKHJhbmQpOwogCXN0cnVjdCByY3VfdG9ydHVyZSAqcDsKIAlpbnQgcGlwZV9jb3VudDsKKwlzdHJ1Y3QgdGltZXJfbGlzdCB0OwogCiAJVkVSQk9TRV9QUklOVEtfU1RSSU5HKCJyY3VfdG9ydHVyZV9yZWFkZXIgdGFzayBzdGFydGVkIik7CiAJc2V0X3VzZXJfbmljZShjdXJyZW50LCAxOSk7CisJaWYgKGlycXJlYWRlciAmJiBjdXJfb3BzLT5pcnFjYXBhYmxlKQorCQlzZXR1cF90aW1lcl9vbl9zdGFjaygmdCwgcmN1X3RvcnR1cmVfdGltZXIsIDApOwogCiAJZG8geworCQlpZiAoaXJxcmVhZGVyICYmIGN1cl9vcHMtPmlycWNhcGFibGUpIHsKKwkJCWlmICghdGltZXJfcGVuZGluZygmdCkpCisJCQkJbW9kX3RpbWVyKCZ0LCAxKTsKKwkJfQogCQlpZHggPSBjdXJfb3BzLT5yZWFkbG9jaygpOwogCQljb21wbGV0ZWQgPSBjdXJfb3BzLT5jb21wbGV0ZWQoKTsKIAkJcCA9IHJjdV9kZXJlZmVyZW5jZShyY3VfdG9ydHVyZV9jdXJyZW50KTsKQEAgLTYxNSw4ICs3MjksMTEgQEAKIAkJcHJlZW1wdF9lbmFibGUoKTsKIAkJY3VyX29wcy0+cmVhZHVubG9jayhpZHgpOwogCQlzY2hlZHVsZSgpOworCQlyY3Vfc3R1dHRlcl93YWl0KCk7CiAJfSB3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSAmJiAhZnVsbHN0b3ApOwogCVZFUkJPU0VfUFJJTlRLX1NUUklORygicmN1X3RvcnR1cmVfcmVhZGVyIHRhc2sgc3RvcHBpbmciKTsKKwlpZiAoaXJxcmVhZGVyICYmIGN1cl9vcHMtPmlycWNhcGFibGUpCisJCWRlbF90aW1lcl9zeW5jKCZ0KTsKIAl3aGlsZSAoIWt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKIAkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoMSk7CiAJcmV0dXJuIDA7CkBAIC02NDcsMjAgKzc2NCwyMiBAQAogCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICIlcyVzICIsIHRvcnR1cmVfdHlwZSwgVE9SVFVSRV9GTEFHKTsKIAljbnQgKz0gc3ByaW50ZigmcGFnZVtjbnRdLAogCQkgICAgICAgInJ0YzogJXAgdmVyOiAlbGQgdGZsZTogJWQgcnRhOiAlZCBydGFmOiAlZCBydGY6ICVkICIKLQkJICAgICAgICJydG1iZTogJWQiLAorCQkgICAgICAgInJ0bWJlOiAlZCBudDogJWxkIiwKIAkJICAgICAgIHJjdV90b3J0dXJlX2N1cnJlbnQsCiAJCSAgICAgICByY3VfdG9ydHVyZV9jdXJyZW50X3ZlcnNpb24sCiAJCSAgICAgICBsaXN0X2VtcHR5KCZyY3VfdG9ydHVyZV9mcmVlbGlzdCksCiAJCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9hbGxvYyksCiAJCSAgICAgICBhdG9taWNfcmVhZCgmbl9yY3VfdG9ydHVyZV9hbGxvY19mYWlsKSwKIAkJICAgICAgIGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX2ZyZWUpLAotCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfbWJlcnJvcikpOworCQkgICAgICAgYXRvbWljX3JlYWQoJm5fcmN1X3RvcnR1cmVfbWJlcnJvciksCisJCSAgICAgICBuX3JjdV90b3J0dXJlX3RpbWVycyk7CiAJaWYgKGF0b21pY19yZWFkKCZuX3JjdV90b3J0dXJlX21iZXJyb3IpICE9IDApCiAJCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICIgISEhIik7CiAJY250ICs9IHNwcmludGYoJnBhZ2VbY250XSwgIlxuJXMlcyAiLCB0b3J0dXJlX3R5cGUsIFRPUlRVUkVfRkxBRyk7CiAJaWYgKGkgPiAxKSB7CiAJCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICIhISEgIik7CiAJCWF0b21pY19pbmMoJm5fcmN1X3RvcnR1cmVfZXJyb3IpOworCQlXQVJOX09OX09OQ0UoMSk7CiAJfQogCWNudCArPSBzcHJpbnRmKCZwYWdlW2NudF0sICJSZWFkZXIgUGlwZTogIik7CiAJZm9yIChpID0gMDsgaSA8IFJDVV9UT1JUVVJFX1BJUEVfTEVOICsgMTsgaSsrKQpAQCAtNzg1LDE1ICs5MDQsMzQgQEAKIAlyZXR1cm4gMDsKIH0KIAorLyogQ2F1c2UgdGhlIHJjdXRvcnR1cmUgdGVzdCB0byAic3R1dHRlciIsIHN0YXJ0aW5nIGFuZCBzdG9wcGluZyBhbGwKKyAqIHRocmVhZHMgcGVyaW9kaWNhbGx5LgorICovCitzdGF0aWMgaW50CityY3VfdG9ydHVyZV9zdHV0dGVyKHZvaWQgKmFyZykKK3sKKwlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3N0dXR0ZXIgdGFzayBzdGFydGVkIik7CisJZG8geworCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoc3R1dHRlciAqIEhaKTsKKwkJc3R1dHRlcl9wYXVzZV90ZXN0ID0gMTsKKwkJaWYgKCFrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCisJCQlzY2hlZHVsZV90aW1lb3V0X2ludGVycnVwdGlibGUoc3R1dHRlciAqIEhaKTsKKwkJc3R1dHRlcl9wYXVzZV90ZXN0ID0gMDsKKwl9IHdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKTsKKwlWRVJCT1NFX1BSSU5US19TVFJJTkcoInJjdV90b3J0dXJlX3N0dXR0ZXIgdGFzayBzdG9wcGluZyIpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQKIHJjdV90b3J0dXJlX3ByaW50X21vZHVsZV9wYXJtcyhjaGFyICp0YWcpCiB7CiAJcHJpbnRrKEtFUk5fQUxFUlQgIiVzIiBUT1JUVVJFX0ZMQUcKIAkJIi0tLSAlczogbnJlYWRlcnM9JWQgbmZha2V3cml0ZXJzPSVkICIKIAkJInN0YXRfaW50ZXJ2YWw9JWQgdmVyYm9zZT0lZCB0ZXN0X25vX2lkbGVfaHo9JWQgIgotCQkic2h1ZmZsZV9pbnRlcnZhbCA9ICVkXG4iLAorCQkic2h1ZmZsZV9pbnRlcnZhbD0lZCBzdHV0dGVyPSVkIGlycXJlYWRlcj0lZFxuIiwKIAkJdG9ydHVyZV90eXBlLCB0YWcsIG5yZWFscmVhZGVycywgbmZha2V3cml0ZXJzLAotCQlzdGF0X2ludGVydmFsLCB2ZXJib3NlLCB0ZXN0X25vX2lkbGVfaHosIHNodWZmbGVfaW50ZXJ2YWwpOworCQlzdGF0X2ludGVydmFsLCB2ZXJib3NlLCB0ZXN0X25vX2lkbGVfaHosIHNodWZmbGVfaW50ZXJ2YWwsCisJCXN0dXR0ZXIsIGlycXJlYWRlcik7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC04MDIsNiArOTQwLDExIEBACiAJaW50IGk7CiAKIAlmdWxsc3RvcCA9IDE7CisJaWYgKHN0dXR0ZXJfdGFzaykgeworCQlWRVJCT1NFX1BSSU5US19TVFJJTkcoIlN0b3BwaW5nIHJjdV90b3J0dXJlX3N0dXR0ZXIgdGFzayIpOworCQlrdGhyZWFkX3N0b3Aoc3R1dHRlcl90YXNrKTsKKwl9CisJc3R1dHRlcl90YXNrID0gTlVMTDsKIAlpZiAoc2h1ZmZsZXJfdGFzaykgewogCQlWRVJCT1NFX1BSSU5US19TVFJJTkcoIlN0b3BwaW5nIHJjdV90b3J0dXJlX3NodWZmbGUgdGFzayIpOwogCQlrdGhyZWFkX3N0b3Aoc2h1ZmZsZXJfdGFzayk7CkBAIC04NDgsNyArOTkxLDkgQEAKIAlzdGF0c190YXNrID0gTlVMTDsKIAogCS8qIFdhaXQgZm9yIGFsbCBSQ1UgY2FsbGJhY2tzIHRvIGZpcmUuICAqLwotCXJjdV9iYXJyaWVyKCk7CisKKwlpZiAoY3VyX29wcy0+Y2JfYmFycmllciAhPSBOVUxMKQorCQljdXJfb3BzLT5jYl9iYXJyaWVyKCk7CiAKIAlyY3VfdG9ydHVyZV9zdGF0c19wcmludCgpOyAgLyogLUFmdGVyLSB0aGUgc3RhdHMgdGhyZWFkIGlzIHN0b3BwZWQhICovCiAKQEAgLTg2OCw3ICsxMDEzLDcgQEAKIAlpbnQgZmlyc3RlcnIgPSAwOwogCXN0YXRpYyBzdHJ1Y3QgcmN1X3RvcnR1cmVfb3BzICp0b3J0dXJlX29wc1tdID0KIAkJeyAmcmN1X29wcywgJnJjdV9zeW5jX29wcywgJnJjdV9iaF9vcHMsICZyY3VfYmhfc3luY19vcHMsCi0JCSAgJnNyY3Vfb3BzLCAmc2NoZWRfb3BzLCB9OworCQkgICZzcmN1X29wcywgJnNjaGVkX29wcywgJnNjaGVkX29wc19zeW5jLCB9OwogCiAJLyogUHJvY2VzcyBhcmdzIGFuZCB0ZWxsIHRoZSB3b3JsZCB0aGF0IHRoZSB0b3J0dXJlciBpcyBvbiB0aGUgam9iLiAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRvcnR1cmVfb3BzKTsgaSsrKSB7CkBAIC05ODgsNiArMTEzMywxOSBAQAogCQkJZ290byB1bndpbmQ7CiAJCX0KIAl9CisJaWYgKHN0dXR0ZXIgPCAwKQorCQlzdHV0dGVyID0gMDsKKwlpZiAoc3R1dHRlcikgeworCQkvKiBDcmVhdGUgdGhlIHN0dXR0ZXIgdGhyZWFkICovCisJCXN0dXR0ZXJfdGFzayA9IGt0aHJlYWRfcnVuKHJjdV90b3J0dXJlX3N0dXR0ZXIsIE5VTEwsCisJCQkJCSAgInJjdV90b3J0dXJlX3N0dXR0ZXIiKTsKKwkJaWYgKElTX0VSUihzdHV0dGVyX3Rhc2spKSB7CisJCQlmaXJzdGVyciA9IFBUUl9FUlIoc3R1dHRlcl90YXNrKTsKKwkJCVZFUkJPU0VfUFJJTlRLX0VSUlNUUklORygiRmFpbGVkIHRvIGNyZWF0ZSBzdHV0dGVyIik7CisJCQlzdHV0dGVyX3Rhc2sgPSBOVUxMOworCQkJZ290byB1bndpbmQ7CisJCX0KKwl9CiAJcmV0dXJuIDA7CiAKIHVud2luZDoKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZC5jIGIva2VybmVsL3NjaGVkLmMKaW5kZXggOTRlYWQ0My4uOTllNmQ4NSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkLmMKKysrIGIva2VybmVsL3NjaGVkLmMKQEAgLTcwLDEwICs3MCwxMyBAQAogI2luY2x1ZGUgPGxpbnV4L2Jvb3RtZW0uaD4KICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CiAjaW5jbHVkZSA8bGludXgvY3R5cGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS90bGIuaD4KICNpbmNsdWRlIDxhc20vaXJxX3JlZ3MuaD4KIAorI2luY2x1ZGUgInNjaGVkX2NwdXByaS5oIgorCiAvKgogICogQ29udmVydCB1c2VyLW5pY2UgdmFsdWVzIFsgLTIwIC4uLiAwIC4uLiAxOSBdCiAgKiB0byBzdGF0aWMgcHJpb3JpdHkgWyBNQVhfUlRfUFJJTy4uTUFYX1BSSU8tMSBdLApAQCAtMjg5LDE1ICsyOTIsMTUgQEAKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZW50aXR5LCBpbml0X3NjaGVkX2VudGl0eSk7CiAvKiBEZWZhdWx0IHRhc2sgZ3JvdXAncyBjZnNfcnEgb24gZWFjaCBjcHUgKi8KIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgY2ZzX3JxLCBpbml0X2Nmc19ycSkgX19fX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcDsKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5LCBpbml0X3NjaGVkX3J0X2VudGl0eSk7CiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHJ0X3JxLCBpbml0X3J0X3JxKSBfX19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wOwotI2VuZGlmCi0jZWxzZQorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLworI2Vsc2UgLyogIUNPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAjZGVmaW5lIHJvb3RfdGFza19ncm91cCBpbml0X3Rhc2tfZ3JvdXAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKIC8qIHRhc2tfZ3JvdXBfbG9jayBzZXJpYWxpemVzIGFkZC9yZW1vdmUgb2YgdGFzayBncm91cHMgYW5kIGFsc28gY2hhbmdlcyB0bwogICogYSB0YXNrIGdyb3VwJ3MgY3B1IHNoYXJlcy4KQEAgLTMwNyw5ICszMTAsOSBAQAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiAjaWZkZWYgQ09ORklHX1VTRVJfU0NIRUQKICMgZGVmaW5lIElOSVRfVEFTS19HUk9VUF9MT0FECSgyKk5JQ0VfMF9MT0FEKQotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfVVNFUl9TQ0hFRCAqLwogIyBkZWZpbmUgSU5JVF9UQVNLX0dST1VQX0xPQUQJTklDRV8wX0xPQUQKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCiAKIC8qCiAgKiBBIHdlaWdodCBvZiAwIG9yIDEgY2FuIGNhdXNlIGFyaXRobWV0aWNzIHByb2JsZW1zLgpAQCAtMzYzLDYgKzM2NiwxMCBAQAogI2Vsc2UKIAogc3RhdGljIGlubGluZSB2b2lkIHNldF90YXNrX3JxKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IGNwdSkgeyB9CitzdGF0aWMgaW5saW5lIHN0cnVjdCB0YXNrX2dyb3VwICp0YXNrX2dyb3VwKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gTlVMTDsKK30KIAogI2VuZGlmCS8qIENPTkZJR19HUk9VUF9TQ0hFRCAqLwogCkBAIC0zNzMsNiArMzgwLDcgQEAKIAogCXU2NCBleGVjX2Nsb2NrOwogCXU2NCBtaW5fdnJ1bnRpbWU7CisJdTY0IHBhaXJfc3RhcnQ7CiAKIAlzdHJ1Y3QgcmJfcm9vdCB0YXNrc190aW1lbGluZTsKIAlzdHJ1Y3QgcmJfbm9kZSAqcmJfbGVmdG1vc3Q7CkBAIC00MDEsNiArNDA5LDMxIEBACiAJICovCiAJc3RydWN0IGxpc3RfaGVhZCBsZWFmX2Nmc19ycV9saXN0OwogCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsJLyogZ3JvdXAgdGhhdCAib3ducyIgdGhpcyBydW5xdWV1ZSAqLworCisjaWZkZWYgQ09ORklHX1NNUAorCS8qCisJICogdGhlIHBhcnQgb2YgbG9hZC53ZWlnaHQgY29udHJpYnV0ZWQgYnkgdGFza3MKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHRhc2tfd2VpZ2h0OworCisJLyoKKwkgKiAgIGhfbG9hZCA9IHdlaWdodCAqIGYodGcpCisJICoKKwkgKiBXaGVyZSBmKHRnKSBpcyB0aGUgcmVjdXJzaXZlIHdlaWdodCBmcmFjdGlvbiBhc3NpZ25lZCB0bworCSAqIHRoaXMgZ3JvdXAuCisJICovCisJdW5zaWduZWQgbG9uZyBoX2xvYWQ7CisKKwkvKgorCSAqIHRoaXMgY3B1J3MgcGFydCBvZiB0Zy0+c2hhcmVzCisJICovCisJdW5zaWduZWQgbG9uZyBzaGFyZXM7CisKKwkvKgorCSAqIGxvYWQud2VpZ2h0IGF0IHRoZSB0aW1lIHdlIHNldCBzaGFyZXMKKwkgKi8KKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodDsKKyNlbmRpZgogI2VuZGlmCiB9OwogCkBAIC00NTIsNiArNDg1LDkgQEAKIAkgKi8KIAljcHVtYXNrX3QgcnRvX21hc2s7CiAJYXRvbWljX3QgcnRvX2NvdW50OworI2lmZGVmIENPTkZJR19TTVAKKwlzdHJ1Y3QgY3B1cHJpIGNwdXByaTsKKyNlbmRpZgogfTsKIAogLyoKQEAgLTUyNiw2ICs1NjIsOSBAQAogCWludCBwdXNoX2NwdTsKIAkvKiBjcHUgb2YgdGhpcyBydW5xdWV1ZTogKi8KIAlpbnQgY3B1OworCWludCBvbmxpbmU7CisKKwl1bnNpZ25lZCBsb25nIGF2Z19sb2FkX3Blcl90YXNrOwogCiAJc3RydWN0IHRhc2tfc3RydWN0ICptaWdyYXRpb25fdGhyZWFkOwogCXN0cnVjdCBsaXN0X2hlYWQgbWlncmF0aW9uX3F1ZXVlOwpAQCAtNjA3LDYgKzY0NiwyNCBAQAogIyBkZWZpbmUgY29uc3RfZGVidWcgc3RhdGljIGNvbnN0CiAjZW5kaWYKIAorLyoqCisgKiBydW5xdWV1ZV9pc19sb2NrZWQKKyAqCisgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgY3B1IHJ1bnF1ZXVlIGlzIGxvY2tlZC4KKyAqIFRoaXMgaW50ZXJmYWNlIGFsbG93cyBwcmludGsgdG8gYmUgY2FsbGVkIHdpdGggdGhlIHJ1bnF1ZXVlIGxvY2sKKyAqIGhlbGQgYW5kIGtub3cgd2hldGhlciBvciBub3QgaXQgaXMgT0sgdG8gd2FrZSB1cCB0aGUga2xvZ2QuCisgKi8KK2ludCBydW5xdWV1ZV9pc19sb2NrZWQodm9pZCkKK3sKKwlpbnQgY3B1ID0gZ2V0X2NwdSgpOworCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKKwlpbnQgcmV0OworCisJcmV0ID0gc3Bpbl9pc19sb2NrZWQoJnJxLT5sb2NrKTsKKwlwdXRfY3B1KCk7CisJcmV0dXJuIHJldDsKK30KKwogLyoKICAqIERlYnVnZ2luZzogdmFyaW91cyBmZWF0dXJlIGJpdHMKICAqLwpAQCAtNzQ5LDYgKzgwNiwxMiBAQAogY29uc3RfZGVidWcgdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF9ucl9taWdyYXRlID0gMzI7CiAKIC8qCisgKiByYXRlbGltaXQgZm9yIHVwZGF0aW5nIHRoZSBncm91cCBzaGFyZXMuCisgKiBkZWZhdWx0OiAwLjVtcworICovCitjb25zdF9kZWJ1ZyB1bnNpZ25lZCBpbnQgc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQgPSA1MDAwMDA7CisKKy8qCiAgKiBwZXJpb2Qgb3ZlciB3aGljaCB3ZSBtZWFzdXJlIC1ydCB0YXNrIGNwdSB1c2FnZSBpbiB1cy4KICAqIGRlZmF1bHQ6IDFzCiAgKi8KQEAgLTc3NSw4MiArODM4LDYgQEAKIAlyZXR1cm4gKHU2NClzeXNjdGxfc2NoZWRfcnRfcnVudGltZSAqIE5TRUNfUEVSX1VTRUM7CiB9CiAKLXVuc2lnbmVkIGxvbmcgbG9uZyB0aW1lX3N5bmNfdGhyZXNoID0gMTAwMDAwOwotCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZyBsb25nLCB0aW1lX29mZnNldCk7Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUodW5zaWduZWQgbG9uZyBsb25nLCBwcmV2X2NwdV90aW1lKTsKLQotLyoKLSAqIEdsb2JhbCBsb2NrIHdoaWNoIHdlIHRha2UgZXZlcnkgbm93IGFuZCB0aGVuIHRvIHN5bmNocm9uaXplCi0gKiB0aGUgQ1BVcyB0aW1lLiBUaGlzIG1ldGhvZCBpcyBub3Qgd2FycC1zYWZlLCBidXQgaXQncyBnb29kCi0gKiBlbm91Z2ggdG8gc3luY2hyb25pemUgc2xvd2x5IGRpdmVyZ2luZyB0aW1lIHNvdXJjZXMgYW5kIHRodXMKLSAqIGl0J3MgZ29vZCBlbm91Z2ggZm9yIHRyYWNpbmc6Ci0gKi8KLXN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGltZV9zeW5jX2xvY2spOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBwcmV2X2dsb2JhbF90aW1lOwotCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIF9fc3luY19jcHVfY2xvY2sodW5zaWduZWQgbG9uZyBsb25nIHRpbWUsIGludCBjcHUpCi17Ci0JLyoKLQkgKiBXZSB3YW50IHRoaXMgaW5saW5lZCwgdG8gbm90IGdldCB0cmFjZXIgZnVuY3Rpb24gY2FsbHMKLQkgKiBpbiB0aGlzIGNyaXRpY2FsIHNlY3Rpb246Ci0JICovCi0Jc3Bpbl9hY3F1aXJlKCZ0aW1lX3N5bmNfbG9jay5kZXBfbWFwLCAwLCAwLCBfVEhJU19JUF8pOwotCV9fcmF3X3NwaW5fbG9jaygmdGltZV9zeW5jX2xvY2sucmF3X2xvY2spOwotCi0JaWYgKHRpbWUgPCBwcmV2X2dsb2JhbF90aW1lKSB7Ci0JCXBlcl9jcHUodGltZV9vZmZzZXQsIGNwdSkgKz0gcHJldl9nbG9iYWxfdGltZSAtIHRpbWU7Ci0JCXRpbWUgPSBwcmV2X2dsb2JhbF90aW1lOwotCX0gZWxzZSB7Ci0JCXByZXZfZ2xvYmFsX3RpbWUgPSB0aW1lOwotCX0KLQotCV9fcmF3X3NwaW5fdW5sb2NrKCZ0aW1lX3N5bmNfbG9jay5yYXdfbG9jayk7Ci0Jc3Bpbl9yZWxlYXNlKCZ0aW1lX3N5bmNfbG9jay5kZXBfbWFwLCAxLCBfVEhJU19JUF8pOwotCi0JcmV0dXJuIHRpbWU7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgX19jcHVfY2xvY2soaW50IGNwdSkKLXsKLQl1bnNpZ25lZCBsb25nIGxvbmcgbm93OwotCi0JLyoKLQkgKiBPbmx5IGNhbGwgc2NoZWRfY2xvY2soKSBpZiB0aGUgc2NoZWR1bGVyIGhhcyBhbHJlYWR5IGJlZW4KLQkgKiBpbml0aWFsaXplZCAoc29tZSBjb2RlIG1pZ2h0IGNhbGwgY3B1X2Nsb2NrKCkgdmVyeSBlYXJseSk6Ci0JICovCi0JaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCi0JCXJldHVybiAwOwotCi0Jbm93ID0gc2NoZWRfY2xvY2tfY3B1KGNwdSk7Ci0KLQlyZXR1cm4gbm93OwotfQotCi0vKgotICogRm9yIGtlcm5lbC1pbnRlcm5hbCB1c2U6IGhpZ2gtc3BlZWQgKGJ1dCBzbGlnaHRseSBpbmNvcnJlY3QpIHBlci1jcHUKLSAqIGNsb2NrIGNvbnN0cnVjdGVkIGZyb20gc2NoZWRfY2xvY2soKToKLSAqLwotdW5zaWduZWQgbG9uZyBsb25nIGNwdV9jbG9jayhpbnQgY3B1KQotewotCXVuc2lnbmVkIGxvbmcgbG9uZyBwcmV2X2NwdV90aW1lLCB0aW1lLCBkZWx0YV90aW1lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0JcHJldl9jcHVfdGltZSA9IHBlcl9jcHUocHJldl9jcHVfdGltZSwgY3B1KTsKLQl0aW1lID0gX19jcHVfY2xvY2soY3B1KSArIHBlcl9jcHUodGltZV9vZmZzZXQsIGNwdSk7Ci0JZGVsdGFfdGltZSA9IHRpbWUtcHJldl9jcHVfdGltZTsKLQotCWlmICh1bmxpa2VseShkZWx0YV90aW1lID4gdGltZV9zeW5jX3RocmVzaCkpIHsKLQkJdGltZSA9IF9fc3luY19jcHVfY2xvY2sodGltZSwgY3B1KTsKLQkJcGVyX2NwdShwcmV2X2NwdV90aW1lLCBjcHUpID0gdGltZTsKLQl9Ci0JbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwotCi0JcmV0dXJuIHRpbWU7Ci19Ci1FWFBPUlRfU1lNQk9MX0dQTChjcHVfY2xvY2spOwotCiAjaWZuZGVmIHByZXBhcmVfYXJjaF9zd2l0Y2gKICMgZGVmaW5lIHByZXBhcmVfYXJjaF9zd2l0Y2gobmV4dCkJZG8geyB9IHdoaWxlICgwKQogI2VuZGlmCkBAIC0xMzEzLDE1ICsxMzAwLDE1IEBACiAJaWYgKCF0c2tfaXNfcG9sbGluZyhycS0+aWRsZSkpCiAJCXNtcF9zZW5kX3Jlc2NoZWR1bGUoY3B1KTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OT19IWiAqLwogCi0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TTVAgKi8KIHN0YXRpYyB2b2lkIF9fcmVzY2hlZF90YXNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHRpZl9iaXQpCiB7CiAJYXNzZXJ0X3NwaW5fbG9ja2VkKCZ0YXNrX3JxKHApLT5sb2NrKTsKIAlzZXRfdHNrX3RocmVhZF9mbGFnKHAsIHRpZl9iaXQpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NNUCAqLwogCiAjaWYgQklUU19QRVJfTE9ORyA9PSAzMgogIyBkZWZpbmUgV01VTFRfQ09OU1QJKH4wVUwpCkBAIC0xMzM2LDYgKzEzMjMsOSBAQAogICovCiAjZGVmaW5lIFNSUih4LCB5KSAoKCh4KSArICgxVUwgPDwgKCh5KSAtIDEpKSkgPj4gKHkpKQogCisvKgorICogZGVsdGEgKj0gd2VpZ2h0IC8gbHcKKyAqLwogc3RhdGljIHVuc2lnbmVkIGxvbmcKIGNhbGNfZGVsdGFfbWluZSh1bnNpZ25lZCBsb25nIGRlbHRhX2V4ZWMsIHVuc2lnbmVkIGxvbmcgd2VpZ2h0LAogCQlzdHJ1Y3QgbG9hZF93ZWlnaHQgKmx3KQpAQCAtMTM2MywxMiArMTM1Myw2IEBACiAJcmV0dXJuICh1bnNpZ25lZCBsb25nKW1pbih0bXAsICh1NjQpKHVuc2lnbmVkIGxvbmcpTE9OR19NQVgpOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKLWNhbGNfZGVsdGFfZmFpcih1bnNpZ25lZCBsb25nIGRlbHRhX2V4ZWMsIHN0cnVjdCBsb2FkX3dlaWdodCAqbHcpCi17Ci0JcmV0dXJuIGNhbGNfZGVsdGFfbWluZShkZWx0YV9leGVjLCBOSUNFXzBfTE9BRCwgbHcpOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX2xvYWRfYWRkKHN0cnVjdCBsb2FkX3dlaWdodCAqbHcsIHVuc2lnbmVkIGxvbmcgaW5jKQogewogCWx3LT53ZWlnaHQgKz0gaW5jOwpAQCAtMTQ3OSwxOCArMTQ2MywyMTIgQEAKICNpZmRlZiBDT05GSUdfU01QCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBzb3VyY2VfbG9hZChpbnQgY3B1LCBpbnQgdHlwZSk7CiBzdGF0aWMgdW5zaWduZWQgbG9uZyB0YXJnZXRfbG9hZChpbnQgY3B1LCBpbnQgdHlwZSk7Ci1zdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSk7CiBzdGF0aWMgaW50IHRhc2tfaG90KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdTY0IG5vdywgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpOwotI2Vsc2UgLyogQ09ORklHX1NNUCAqLworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjcHVfYXZnX2xvYWRfcGVyX3Rhc2soaW50IGNwdSkKK3sKKwlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CisKKwlpZiAocnEtPm5yX3J1bm5pbmcpCisJCXJxLT5hdmdfbG9hZF9wZXJfdGFzayA9IHJxLT5sb2FkLndlaWdodCAvIHJxLT5ucl9ydW5uaW5nOworCisJcmV0dXJuIHJxLT5hdmdfbG9hZF9wZXJfdGFzazsKK30KKworI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisKK3R5cGVkZWYgdm9pZCAoKnRnX3Zpc2l0b3IpKHN0cnVjdCB0YXNrX2dyb3VwICosIGludCwgc3RydWN0IHNjaGVkX2RvbWFpbiAqKTsKKworLyoKKyAqIEl0ZXJhdGUgdGhlIGZ1bGwgdHJlZSwgY2FsbGluZyBAZG93biB3aGVuIGZpcnN0IGVudGVyaW5nIGEgbm9kZSBhbmQgQHVwIHdoZW4KKyAqIGxlYXZpbmcgaXQgZm9yIHRoZSBmaW5hbCB0aW1lLgorICovCitzdGF0aWMgdm9pZAord2Fsa190Z190cmVlKHRnX3Zpc2l0b3IgZG93biwgdGdfdmlzaXRvciB1cCwgaW50IGNwdSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnBhcmVudCwgKmNoaWxkOworCisJcmN1X3JlYWRfbG9jaygpOworCXBhcmVudCA9ICZyb290X3Rhc2tfZ3JvdXA7Citkb3duOgorCSgqZG93bikocGFyZW50LCBjcHUsIHNkKTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShjaGlsZCwgJnBhcmVudC0+Y2hpbGRyZW4sIHNpYmxpbmdzKSB7CisJCXBhcmVudCA9IGNoaWxkOworCQlnb3RvIGRvd247CisKK3VwOgorCQljb250aW51ZTsKKwl9CisJKCp1cCkocGFyZW50LCBjcHUsIHNkKTsKKworCWNoaWxkID0gcGFyZW50OworCXBhcmVudCA9IHBhcmVudC0+cGFyZW50OworCWlmIChwYXJlbnQpCisJCWdvdG8gdXA7CisJcmN1X3JlYWRfdW5sb2NrKCk7Cit9CisKK3N0YXRpYyB2b2lkIF9fc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpOworCisvKgorICogQ2FsY3VsYXRlIGFuZCBzZXQgdGhlIGNwdSdzIGdyb3VwIHNoYXJlcy4KKyAqLworc3RhdGljIHZvaWQKK19fdXBkYXRlX2dyb3VwX3NoYXJlc19jcHUoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQkJICB1bnNpZ25lZCBsb25nIHNkX3NoYXJlcywgdW5zaWduZWQgbG9uZyBzZF9ycV93ZWlnaHQpCit7CisJaW50IGJvb3N0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNoYXJlczsKKwl1bnNpZ25lZCBsb25nIHJxX3dlaWdodDsKKworCWlmICghdGctPnNlW2NwdV0pCisJCXJldHVybjsKKworCXJxX3dlaWdodCA9IHRnLT5jZnNfcnFbY3B1XS0+bG9hZC53ZWlnaHQ7CisKKwkvKgorCSAqIElmIHRoZXJlIGFyZSBjdXJyZW50bHkgbm8gdGFza3Mgb24gdGhlIGNwdSBwcmV0ZW5kIHRoZXJlIGlzIG9uZSBvZgorCSAqIGF2ZXJhZ2UgbG9hZCBzbyB0aGF0IHdoZW4gYSBuZXcgdGFzayBnZXRzIHRvIHJ1biBoZXJlIGl0IHdpbGwgbm90CisJICogZ2V0IGRlbGF5ZWQgYnkgZ3JvdXAgc3RhcnZhdGlvbi4KKwkgKi8KKwlpZiAoIXJxX3dlaWdodCkgeworCQlib29zdCA9IDE7CisJCXJxX3dlaWdodCA9IE5JQ0VfMF9MT0FEOworCX0KKworCWlmICh1bmxpa2VseShycV93ZWlnaHQgPiBzZF9ycV93ZWlnaHQpKQorCQlycV93ZWlnaHQgPSBzZF9ycV93ZWlnaHQ7CisKKwkvKgorCSAqICAgICAgICAgICBcU3VtIHNoYXJlcyAqIHJxX3dlaWdodAorCSAqIHNoYXJlcyA9ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCSAqICAgICAgICAgICAgICAgXFN1bSBycV93ZWlnaHQKKwkgKgorCSAqLworCXNoYXJlcyA9IChzZF9zaGFyZXMgKiBycV93ZWlnaHQpIC8gKHNkX3JxX3dlaWdodCArIDEpOworCisJLyoKKwkgKiByZWNvcmQgdGhlIGFjdHVhbCBudW1iZXIgb2Ygc2hhcmVzLCBub3QgdGhlIGJvb3N0ZWQgYW1vdW50LgorCSAqLworCXRnLT5jZnNfcnFbY3B1XS0+c2hhcmVzID0gYm9vc3QgPyAwIDogc2hhcmVzOworCXRnLT5jZnNfcnFbY3B1XS0+cnFfd2VpZ2h0ID0gcnFfd2VpZ2h0OworCisJaWYgKHNoYXJlcyA8IE1JTl9TSEFSRVMpCisJCXNoYXJlcyA9IE1JTl9TSEFSRVM7CisJZWxzZSBpZiAoc2hhcmVzID4gTUFYX1NIQVJFUykKKwkJc2hhcmVzID0gTUFYX1NIQVJFUzsKKworCV9fc2V0X3NlX3NoYXJlcyh0Zy0+c2VbY3B1XSwgc2hhcmVzKTsKK30KKworLyoKKyAqIFJlLWNvbXB1dGUgdGhlIHRhc2sgZ3JvdXAgdGhlaXIgcGVyIGNwdSBzaGFyZXMgb3ZlciB0aGUgZ2l2ZW4gZG9tYWluLgorICogVGhpcyBuZWVkcyB0byBiZSBkb25lIGluIGEgYm90dG9tLXVwIGZhc2hpb24gYmVjYXVzZSB0aGUgcnEgd2VpZ2h0IG9mIGEKKyAqIHBhcmVudCBncm91cCBkZXBlbmRzIG9uIHRoZSBzaGFyZXMgb2YgaXRzIGNoaWxkIGdyb3Vwcy4KKyAqLworc3RhdGljIHZvaWQKK3RnX3NoYXJlc191cChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXVuc2lnbmVkIGxvbmcgcnFfd2VpZ2h0ID0gMDsKKwl1bnNpZ25lZCBsb25nIHNoYXJlcyA9IDA7CisJaW50IGk7CisKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCBzZC0+c3BhbikgeworCQlycV93ZWlnaHQgKz0gdGctPmNmc19ycVtpXS0+bG9hZC53ZWlnaHQ7CisJCXNoYXJlcyArPSB0Zy0+Y2ZzX3JxW2ldLT5zaGFyZXM7CisJfQorCisJaWYgKCghc2hhcmVzICYmIHJxX3dlaWdodCkgfHwgc2hhcmVzID4gdGctPnNoYXJlcykKKwkJc2hhcmVzID0gdGctPnNoYXJlczsKKworCWlmICghc2QtPnBhcmVudCB8fCAhKHNkLT5wYXJlbnQtPmZsYWdzICYgU0RfTE9BRF9CQUxBTkNFKSkKKwkJc2hhcmVzID0gdGctPnNoYXJlczsKKworCWlmICghcnFfd2VpZ2h0KQorCQlycV93ZWlnaHQgPSBjcHVzX3dlaWdodChzZC0+c3BhbikgKiBOSUNFXzBfTE9BRDsKKworCWZvcl9lYWNoX2NwdV9tYXNrKGksIHNkLT5zcGFuKSB7CisJCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoaSk7CisJCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJCV9fdXBkYXRlX2dyb3VwX3NoYXJlc19jcHUodGcsIGksIHNoYXJlcywgcnFfd2VpZ2h0KTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwl9Cit9CisKKy8qCisgKiBDb21wdXRlIHRoZSBjcHUncyBoaWVyYXJjaGljYWwgbG9hZCBmYWN0b3IgZm9yIGVhY2ggdGFzayBncm91cC4KKyAqIFRoaXMgbmVlZHMgdG8gYmUgZG9uZSBpbiBhIHRvcC1kb3duIGZhc2hpb24gYmVjYXVzZSB0aGUgbG9hZCBvZiBhIGNoaWxkCisgKiBncm91cCBpcyBhIGZyYWN0aW9uIG9mIGl0cyBwYXJlbnRzIGxvYWQuCisgKi8KK3N0YXRpYyB2b2lkCit0Z19sb2FkX2Rvd24oc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LCBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvYWQ7CisKKwlpZiAoIXRnLT5wYXJlbnQpIHsKKwkJbG9hZCA9IGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKKwl9IGVsc2UgeworCQlsb2FkID0gdGctPnBhcmVudC0+Y2ZzX3JxW2NwdV0tPmhfbG9hZDsKKwkJbG9hZCAqPSB0Zy0+Y2ZzX3JxW2NwdV0tPnNoYXJlczsKKwkJbG9hZCAvPSB0Zy0+cGFyZW50LT5jZnNfcnFbY3B1XS0+bG9hZC53ZWlnaHQgKyAxOworCX0KKworCXRnLT5jZnNfcnFbY3B1XS0+aF9sb2FkID0gbG9hZDsKK30KKworc3RhdGljIHZvaWQKK3RnX25vcChzdHJ1Y3QgdGFza19ncm91cCAqdGcsIGludCBjcHUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfc2hhcmVzKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXU2NCBub3cgPSBjcHVfY2xvY2socmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJczY0IGVsYXBzZWQgPSBub3cgLSBzZC0+bGFzdF91cGRhdGU7CisKKwlpZiAoZWxhcHNlZCA+PSAoczY0KSh1NjQpc3lzY3RsX3NjaGVkX3NoYXJlc19yYXRlbGltaXQpIHsKKwkJc2QtPmxhc3RfdXBkYXRlID0gbm93OworCQl3YWxrX3RnX3RyZWUodGdfbm9wLCB0Z19zaGFyZXNfdXAsIDAsIHNkKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9zaGFyZXNfbG9ja2VkKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworCXNwaW5fdW5sb2NrKCZycS0+bG9jayk7CisJdXBkYXRlX3NoYXJlcyhzZCk7CisJc3Bpbl9sb2NrKCZycS0+bG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9oX2xvYWQoaW50IGNwdSkKK3sKKwl3YWxrX3RnX3RyZWUodGdfbG9hZF9kb3duLCB0Z19ub3AsIGNwdSwgTlVMTCk7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1cGRhdGVfc2hhcmVzKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkKQoreworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdXBkYXRlX3NoYXJlc19sb2NrZWQoc3RydWN0IHJxICpycSwgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QpCit7Cit9CisKKyNlbmRpZgorCisjZW5kaWYKIAogI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBjZnNfcnFfc2V0X3NoYXJlcyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQogeworI2lmZGVmIENPTkZJR19TTVAKKwljZnNfcnEtPnNoYXJlcyA9IHNoYXJlczsKKyNlbmRpZgogfQogI2VuZGlmCiAKLSNlbmRpZiAvKiBDT05GSUdfU01QICovCi0KICNpbmNsdWRlICJzY2hlZF9zdGF0cy5oIgogI2luY2x1ZGUgInNjaGVkX2lkbGV0YXNrLmMiCiAjaW5jbHVkZSAic2NoZWRfZmFpci5jIgpAQCAtMTUwMCwyNyArMTY3OCwxNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgc2NoZWRfY2xhc3NfaGlnaGVzdCAoJnJ0X3NjaGVkX2NsYXNzKQorI2RlZmluZSBmb3JfZWFjaF9jbGFzcyhjbGFzcykgXAorICAgZm9yIChjbGFzcyA9IHNjaGVkX2NsYXNzX2hpZ2hlc3Q7IGNsYXNzOyBjbGFzcyA9IGNsYXNzLT5uZXh0KQogCi1zdGF0aWMgaW5saW5lIHZvaWQgaW5jX2xvYWQoc3RydWN0IHJxICpycSwgY29uc3Qgc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXVwZGF0ZV9sb2FkX2FkZCgmcnEtPmxvYWQsIHAtPnNlLmxvYWQud2VpZ2h0KTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRlY19sb2FkKHN0cnVjdCBycSAqcnEsIGNvbnN0IHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQl1cGRhdGVfbG9hZF9zdWIoJnJxLT5sb2FkLCBwLT5zZS5sb2FkLndlaWdodCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGluY19ucl9ydW5uaW5nKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIGluY19ucl9ydW5uaW5nKHN0cnVjdCBycSAqcnEpCiB7CiAJcnEtPm5yX3J1bm5pbmcrKzsKLQlpbmNfbG9hZChycSwgcCk7CiB9CiAKLXN0YXRpYyB2b2lkIGRlY19ucl9ydW5uaW5nKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHJxICpycSkKK3N0YXRpYyB2b2lkIGRlY19ucl9ydW5uaW5nKHN0cnVjdCBycSAqcnEpCiB7CiAJcnEtPm5yX3J1bm5pbmctLTsKLQlkZWNfbG9hZChycSwgcCk7CiB9CiAKIHN0YXRpYyB2b2lkIHNldF9sb2FkX3dlaWdodChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCkBAIC0xNTQ0LDYgKzE3MTIsMTIgQEAKIAlwLT5zZS5sb2FkLmludl93ZWlnaHQgPSBwcmlvX3RvX3dtdWx0W3AtPnN0YXRpY19wcmlvIC0gTUFYX1JUX1BSSU9dOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVfYXZnKHU2NCAqYXZnLCB1NjQgc2FtcGxlKQoreworCXM2NCBkaWZmID0gc2FtcGxlIC0gKmF2ZzsKKwkqYXZnICs9IGRpZmYgPj4gMzsKK30KKwogc3RhdGljIHZvaWQgZW5xdWV1ZV90YXNrKHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHdha2V1cCkKIHsKIAlzY2hlZF9pbmZvX3F1ZXVlZChwKTsKQEAgLTE1NTMsNiArMTcyNywxMyBAQAogCiBzdGF0aWMgdm9pZCBkZXF1ZXVlX3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgc2xlZXApCiB7CisJaWYgKHNsZWVwICYmIHAtPnNlLmxhc3Rfd2FrZXVwKSB7CisJCXVwZGF0ZV9hdmcoJnAtPnNlLmF2Z19vdmVybGFwLAorCQkJICAgcC0+c2Uuc3VtX2V4ZWNfcnVudGltZSAtIHAtPnNlLmxhc3Rfd2FrZXVwKTsKKwkJcC0+c2UubGFzdF93YWtldXAgPSAwOworCX0KKworCXNjaGVkX2luZm9fZGVxdWV1ZWQocCk7CiAJcC0+c2NoZWRfY2xhc3MtPmRlcXVldWVfdGFzayhycSwgcCwgc2xlZXApOwogCXAtPnNlLm9uX3JxID0gMDsKIH0KQEAgLTE2MTIsNyArMTc5Myw3IEBACiAJCXJxLT5ucl91bmludGVycnVwdGlibGUtLTsKIAogCWVucXVldWVfdGFzayhycSwgcCwgd2FrZXVwKTsKLQlpbmNfbnJfcnVubmluZyhwLCBycSk7CisJaW5jX25yX3J1bm5pbmcocnEpOwogfQogCiAvKgpAQCAtMTYyNCw3ICsxODA1LDcgQEAKIAkJcnEtPm5yX3VuaW50ZXJydXB0aWJsZSsrOwogCiAJZGVxdWV1ZV90YXNrKHJxLCBwLCBzbGVlcCk7Ci0JZGVjX25yX3J1bm5pbmcocCwgcnEpOworCWRlY19ucl9ydW5uaW5nKHJxKTsKIH0KIAogLyoqCkBAIC0xNjM2LDEyICsxODE3LDYgQEAKIAlyZXR1cm4gY3B1X2N1cnIodGFza19jcHUocCkpID09IHA7CiB9CiAKLS8qIFVzZWQgaW5zdGVhZCBvZiBzb3VyY2VfbG9hZCB3aGVuIHdlIGtub3cgdGhlIHR5cGUgPT0gMCAqLwotdW5zaWduZWQgbG9uZyB3ZWlnaHRlZF9jcHVsb2FkKGNvbnN0IGludCBjcHUpCi17Ci0JcmV0dXJuIGNwdV9ycShjcHUpLT5sb2FkLndlaWdodDsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X3Rhc2tfY3B1KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgdW5zaWduZWQgaW50IGNwdSkKIHsKIAlzZXRfdGFza19ycShwLCBjcHUpOwpAQCAtMTY3MCw2ICsxODQ1LDEyIEBACiAKICNpZmRlZiBDT05GSUdfU01QCiAKKy8qIFVzZWQgaW5zdGVhZCBvZiBzb3VyY2VfbG9hZCB3aGVuIHdlIGtub3cgdGhlIHR5cGUgPT0gMCAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgd2VpZ2h0ZWRfY3B1bG9hZChjb25zdCBpbnQgY3B1KQoreworCXJldHVybiBjcHVfcnEoY3B1KS0+bG9hZC53ZWlnaHQ7Cit9CisKIC8qCiAgKiBJcyB0aGlzIHRhc2sgbGlrZWx5IGNhY2hlLWhvdDoKICAqLwpAQCAtMTg4MCw3ICsyMDYxLDcgQEAKIAlzdHJ1Y3QgcnEgKnJxID0gY3B1X3JxKGNwdSk7CiAJdW5zaWduZWQgbG9uZyB0b3RhbCA9IHdlaWdodGVkX2NwdWxvYWQoY3B1KTsKIAotCWlmICh0eXBlID09IDApCisJaWYgKHR5cGUgPT0gMCB8fCAhc2NoZWRfZmVhdChMQl9CSUFTKSkKIAkJcmV0dXJuIHRvdGFsOwogCiAJcmV0dXJuIG1pbihycS0+Y3B1X2xvYWRbdHlwZS0xXSwgdG90YWwpOwpAQCAtMTg5NSwyNSArMjA3NiwxMyBAQAogCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwogCi0JaWYgKHR5cGUgPT0gMCkKKwlpZiAodHlwZSA9PSAwIHx8ICFzY2hlZF9mZWF0KExCX0JJQVMpKQogCQlyZXR1cm4gdG90YWw7CiAKIAlyZXR1cm4gbWF4KHJxLT5jcHVfbG9hZFt0eXBlLTFdLCB0b3RhbCk7CiB9CiAKIC8qCi0gKiBSZXR1cm4gdGhlIGF2ZXJhZ2UgbG9hZCBwZXIgdGFzayBvbiB0aGUgY3B1J3MgcnVuIHF1ZXVlCi0gKi8KLXN0YXRpYyB1bnNpZ25lZCBsb25nIGNwdV9hdmdfbG9hZF9wZXJfdGFzayhpbnQgY3B1KQotewotCXN0cnVjdCBycSAqcnEgPSBjcHVfcnEoY3B1KTsKLQl1bnNpZ25lZCBsb25nIHRvdGFsID0gd2VpZ2h0ZWRfY3B1bG9hZChjcHUpOwotCXVuc2lnbmVkIGxvbmcgbiA9IHJxLT5ucl9ydW5uaW5nOwotCi0JcmV0dXJuIG4gPyB0b3RhbCAvIG4gOiBTQ0hFRF9MT0FEX1NDQUxFOwotfQotCi0vKgogICogZmluZF9pZGxlc3RfZ3JvdXAgZmluZHMgYW5kIHJldHVybnMgdGhlIGxlYXN0IGJ1c3kgQ1BVIGdyb3VwIHdpdGhpbiB0aGUKICAqIGRvbWFpbi4KICAqLwpAQCAtMjAxOSw2ICsyMTg4LDkgQEAKIAkJCXNkID0gdG1wOwogCX0KIAorCWlmIChzZCkKKwkJdXBkYXRlX3NoYXJlcyhzZCk7CisKIAl3aGlsZSAoc2QpIHsKIAkJY3B1bWFza190IHNwYW4sIHRtcG1hc2s7CiAJCXN0cnVjdCBzY2hlZF9ncm91cCAqZ3JvdXA7CkBAIC0yMDg1LDYgKzIyNTcsMjIgQEAKIAlpZiAoIXNjaGVkX2ZlYXQoU1lOQ19XQUtFVVBTKSkKIAkJc3luYyA9IDA7CiAKKyNpZmRlZiBDT05GSUdfU01QCisJaWYgKHNjaGVkX2ZlYXQoTEJfV0FLRVVQX1VQREFURSkpIHsKKwkJc3RydWN0IHNjaGVkX2RvbWFpbiAqc2Q7CisKKwkJdGhpc19jcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCQljcHUgPSB0YXNrX2NwdShwKTsKKworCQlmb3JfZWFjaF9kb21haW4odGhpc19jcHUsIHNkKSB7CisJCQlpZiAoY3B1X2lzc2V0KGNwdSwgc2QtPnNwYW4pKSB7CisJCQkJdXBkYXRlX3NoYXJlcyhzZCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisjZW5kaWYKKwogCXNtcF93bWIoKTsKIAlycSA9IHRhc2tfcnFfbG9jayhwLCAmZmxhZ3MpOwogCW9sZF9zdGF0ZSA9IHAtPnN0YXRlOwpAQCAtMjEzMSw3ICsyMzE5LDcgQEAKIAkJCX0KIAkJfQogCX0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRFNUQVRTICovCiAKIG91dF9hY3RpdmF0ZToKICNlbmRpZiAvKiBDT05GSUdfU01QICovCkBAIC0yMTQ5LDYgKzIzMzcsOSBAQAogCXN1Y2Nlc3MgPSAxOwogCiBvdXRfcnVubmluZzoKKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF93YWtldXAsCisJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQlwLT5waWQsIHAtPnN0YXRlLCBycSwgcCwgcnEtPmN1cnIpOwogCWNoZWNrX3ByZWVtcHRfY3VycihycSwgcCk7CiAKIAlwLT5zdGF0ZSA9IFRBU0tfUlVOTklORzsKQEAgLTIxNTcsNiArMjM0OCw4IEBACiAJCXAtPnNjaGVkX2NsYXNzLT50YXNrX3dha2VfdXAocnEsIHApOwogI2VuZGlmCiBvdXQ6CisJY3VycmVudC0+c2UubGFzdF93YWtldXAgPSBjdXJyZW50LT5zZS5zdW1fZXhlY19ydW50aW1lOworCiAJdGFza19ycV91bmxvY2socnEsICZmbGFncyk7CiAKIAlyZXR1cm4gc3VjY2VzczsKQEAgLTIyNzcsOCArMjQ3MCwxMSBAQAogCQkgKiBtYW5hZ2VtZW50IChpZiBhbnkpOgogCQkgKi8KIAkJcC0+c2NoZWRfY2xhc3MtPnRhc2tfbmV3KHJxLCBwKTsKLQkJaW5jX25yX3J1bm5pbmcocCwgcnEpOworCQlpbmNfbnJfcnVubmluZyhycSk7CiAJfQorCXRyYWNlX21hcmsoa2VybmVsX3NjaGVkX3dha2V1cF9uZXcsCisJCSJwaWQgJWQgc3RhdGUgJWxkICMjIHJxICVwIHRhc2sgJXAgcnEtPmN1cnIgJXAiLAorCQlwLT5waWQsIHAtPnN0YXRlLCBycSwgcCwgcnEtPmN1cnIpOwogCWNoZWNrX3ByZWVtcHRfY3VycihycSwgcCk7CiAjaWZkZWYgQ09ORklHX1NNUAogCWlmIChwLT5zY2hlZF9jbGFzcy0+dGFza193YWtlX3VwKQpAQCAtMjMzMSw3ICsyNTI3LDcgQEAKIAkJbm90aWZpZXItPm9wcy0+c2NoZWRfb3V0KG5vdGlmaWVyLCBuZXh0KTsKIH0KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMgKi8KIAogc3RhdGljIHZvaWQgZmlyZV9zY2hlZF9pbl9wcmVlbXB0X25vdGlmaWVycyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKmN1cnIpCiB7CkBAIC0yMzQzLDcgKzI1MzksNyBAQAogewogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUFJFRU1QVF9OT1RJRklFUlMgKi8KIAogLyoqCiAgKiBwcmVwYXJlX3Rhc2tfc3dpdGNoIC0gcHJlcGFyZSB0byBzd2l0Y2ggdGFza3MKQEAgLTI0NTEsNiArMjY0NywxMSBAQAogCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCAqb2xkbW07CiAKIAlwcmVwYXJlX3Rhc2tfc3dpdGNoKHJxLCBwcmV2LCBuZXh0KTsKKwl0cmFjZV9tYXJrKGtlcm5lbF9zY2hlZF9zY2hlZHVsZSwKKwkJInByZXZfcGlkICVkIG5leHRfcGlkICVkIHByZXZfc3RhdGUgJWxkICIKKwkJIiMjIHJxICVwIHByZXYgJXAgbmV4dCAlcCIsCisJCXByZXYtPnBpZCwgbmV4dC0+cGlkLCBwcmV2LT5zdGF0ZSwKKwkJcnEsIHByZXYsIG5leHQpOwogCW1tID0gbmV4dC0+bW07CiAJb2xkbW0gPSBwcmV2LT5hY3RpdmVfbW07CiAJLyoKQEAgLTI3ODUsNyArMjk4Niw3IEBACiAJICAgICAgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsIGludCAqYWxsX3Bpbm5lZCwKIAkgICAgICBpbnQgKnRoaXNfYmVzdF9wcmlvLCBzdHJ1Y3QgcnFfaXRlcmF0b3IgKml0ZXJhdG9yKQogewotCWludCBsb29wcyA9IDAsIHB1bGxlZCA9IDAsIHBpbm5lZCA9IDAsIHNraXBfZm9yX2xvYWQ7CisJaW50IGxvb3BzID0gMCwgcHVsbGVkID0gMCwgcGlubmVkID0gMDsKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CiAJbG9uZyByZW1fbG9hZF9tb3ZlID0gbWF4X2xvYWRfbW92ZTsKIApAQCAtMjgwMSwxNCArMzAwMiw4IEBACiBuZXh0OgogCWlmICghcCB8fCBsb29wcysrID4gc3lzY3RsX3NjaGVkX25yX21pZ3JhdGUpCiAJCWdvdG8gb3V0OwotCS8qCi0JICogVG8gaGVscCBkaXN0cmlidXRlIGhpZ2ggcHJpb3JpdHkgdGFza3MgYWNyb3NzIENQVXMgd2UgZG9uJ3QKLQkgKiBza2lwIGEgdGFzayBpZiBpdCB3aWxsIGJlIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sgKGkuZS4gc21hbGxlc3QKLQkgKiBwcmlvIHZhbHVlKSBvbiBpdHMgbmV3IHF1ZXVlIHJlZ2FyZGxlc3Mgb2YgaXRzIGxvYWQgd2VpZ2h0Ci0JICovCi0Jc2tpcF9mb3JfbG9hZCA9IChwLT5zZS5sb2FkLndlaWdodCA+PiAxKSA+IHJlbV9sb2FkX21vdmUgKwotCQkJCQkJCSBTQ0hFRF9MT0FEX1NDQUxFX0ZVWlo7Ci0JaWYgKChza2lwX2Zvcl9sb2FkICYmIHAtPnByaW8gPj0gKnRoaXNfYmVzdF9wcmlvKSB8fAorCisJaWYgKChwLT5zZS5sb2FkLndlaWdodCA+PiAxKSA+IHJlbV9sb2FkX21vdmUgfHwKIAkgICAgIWNhbl9taWdyYXRlX3Rhc2socCwgYnVzaWVzdCwgdGhpc19jcHUsIHNkLCBpZGxlLCAmcGlubmVkKSkgewogCQlwID0gaXRlcmF0b3ItPm5leHQoaXRlcmF0b3ItPmFyZyk7CiAJCWdvdG8gbmV4dDsKQEAgLTI4NjMsNiArMzA1OCwxMCBAQAogCQkJCW1heF9sb2FkX21vdmUgLSB0b3RhbF9sb2FkX21vdmVkLAogCQkJCXNkLCBpZGxlLCBhbGxfcGlubmVkLCAmdGhpc19iZXN0X3ByaW8pOwogCQljbGFzcyA9IGNsYXNzLT5uZXh0OworCisJCWlmIChpZGxlID09IENQVV9ORVdMWV9JRExFICYmIHRoaXNfcnEtPm5yX3J1bm5pbmcpCisJCQlicmVhazsKKwogCX0gd2hpbGUgKGNsYXNzICYmIG1heF9sb2FkX21vdmUgPiB0b3RhbF9sb2FkX21vdmVkKTsKIAogCXJldHVybiB0b3RhbF9sb2FkX21vdmVkID4gMDsKQEAgLTI5MzksNiArMzEzOCw3IEBACiAJbWF4X2xvYWQgPSB0aGlzX2xvYWQgPSB0b3RhbF9sb2FkID0gdG90YWxfcHdyID0gMDsKIAlidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPSBidXNpZXN0X25yX3J1bm5pbmcgPSAwOwogCXRoaXNfbG9hZF9wZXJfdGFzayA9IHRoaXNfbnJfcnVubmluZyA9IDA7CisKIAlpZiAoaWRsZSA9PSBDUFVfTk9UX0lETEUpCiAJCWxvYWRfaWR4ID0gc2QtPmJ1c3lfaWR4OwogCWVsc2UgaWYgKGlkbGUgPT0gQ1BVX05FV0xZX0lETEUpCkBAIC0yOTUzLDYgKzMxNTMsOCBAQAogCQlpbnQgX19ncm91cF9pbWIgPSAwOwogCQl1bnNpZ25lZCBpbnQgYmFsYW5jZV9jcHUgPSAtMSwgZmlyc3RfaWRsZV9jcHUgPSAwOwogCQl1bnNpZ25lZCBsb25nIHN1bV9ucl9ydW5uaW5nLCBzdW1fd2VpZ2h0ZWRfbG9hZDsKKwkJdW5zaWduZWQgbG9uZyBzdW1fYXZnX2xvYWRfcGVyX3Rhc2s7CisJCXVuc2lnbmVkIGxvbmcgYXZnX2xvYWRfcGVyX3Rhc2s7CiAKIAkJbG9jYWxfZ3JvdXAgPSBjcHVfaXNzZXQodGhpc19jcHUsIGdyb3VwLT5jcHVtYXNrKTsKIApAQCAtMjk2MSw2ICszMTYzLDggQEAKIAogCQkvKiBUYWxseSB1cCB0aGUgbG9hZCBvZiBhbGwgQ1BVcyBpbiB0aGUgZ3JvdXAgKi8KIAkJc3VtX3dlaWdodGVkX2xvYWQgPSBzdW1fbnJfcnVubmluZyA9IGF2Z19sb2FkID0gMDsKKwkJc3VtX2F2Z19sb2FkX3Blcl90YXNrID0gYXZnX2xvYWRfcGVyX3Rhc2sgPSAwOworCiAJCW1heF9jcHVfbG9hZCA9IDA7CiAJCW1pbl9jcHVfbG9hZCA9IH4wVUw7CiAKQEAgLTI5OTQsNiArMzE5OCw4IEBACiAJCQlhdmdfbG9hZCArPSBsb2FkOwogCQkJc3VtX25yX3J1bm5pbmcgKz0gcnEtPm5yX3J1bm5pbmc7CiAJCQlzdW1fd2VpZ2h0ZWRfbG9hZCArPSB3ZWlnaHRlZF9jcHVsb2FkKGkpOworCisJCQlzdW1fYXZnX2xvYWRfcGVyX3Rhc2sgKz0gY3B1X2F2Z19sb2FkX3Blcl90YXNrKGkpOwogCQl9CiAKIAkJLyoKQEAgLTMwMTUsNyArMzIyMSwyMCBAQAogCQlhdmdfbG9hZCA9IHNnX2Rpdl9jcHVfcG93ZXIoZ3JvdXAsCiAJCQkJYXZnX2xvYWQgKiBTQ0hFRF9MT0FEX1NDQUxFKTsKIAotCQlpZiAoKG1heF9jcHVfbG9hZCAtIG1pbl9jcHVfbG9hZCkgPiBTQ0hFRF9MT0FEX1NDQUxFKQorCisJCS8qCisJCSAqIENvbnNpZGVyIHRoZSBncm91cCB1bmJhbGFuY2VkIHdoZW4gdGhlIGltYmFsYW5jZSBpcyBsYXJnZXIKKwkJICogdGhhbiB0aGUgYXZlcmFnZSB3ZWlnaHQgb2YgdHdvIHRhc2tzLgorCQkgKgorCQkgKiBBUFo6IHdpdGggY2dyb3VwIHRoZSBhdmcgdGFzayB3ZWlnaHQgY2FuIHZhcnkgd2lsZGx5IGFuZAorCQkgKiAgICAgIG1pZ2h0IG5vdCBiZSBhIHN1aXRhYmxlIG51bWJlciAtIHNob3VsZCB3ZSBrZWVwIGEKKwkJICogICAgICBub3JtYWxpemVkIG5yX3J1bm5pbmcgbnVtYmVyIHNvbWV3aGVyZSB0aGF0IG5lZ2F0ZXMKKwkJICogICAgICB0aGUgaGllcmFyY2h5PworCQkgKi8KKwkJYXZnX2xvYWRfcGVyX3Rhc2sgPSBzZ19kaXZfY3B1X3Bvd2VyKGdyb3VwLAorCQkJCXN1bV9hdmdfbG9hZF9wZXJfdGFzayAqIFNDSEVEX0xPQURfU0NBTEUpOworCisJCWlmICgobWF4X2NwdV9sb2FkIC0gbWluX2NwdV9sb2FkKSA+IDIqYXZnX2xvYWRfcGVyX3Rhc2spCiAJCQlfX2dyb3VwX2ltYiA9IDE7CiAKIAkJZ3JvdXBfY2FwYWNpdHkgPSBncm91cC0+X19jcHVfcG93ZXIgLyBTQ0hFRF9MT0FEX1NDQUxFOwpAQCAtMzE1Niw5ICszMzc1LDkgQEAKIAkJCWlmIChidXNpZXN0X2xvYWRfcGVyX3Rhc2sgPiB0aGlzX2xvYWRfcGVyX3Rhc2spCiAJCQkJaW1ibiA9IDE7CiAJCX0gZWxzZQotCQkJdGhpc19sb2FkX3Blcl90YXNrID0gU0NIRURfTE9BRF9TQ0FMRTsKKwkJCXRoaXNfbG9hZF9wZXJfdGFzayA9IGNwdV9hdmdfbG9hZF9wZXJfdGFzayh0aGlzX2NwdSk7CiAKLQkJaWYgKG1heF9sb2FkIC0gdGhpc19sb2FkICsgU0NIRURfTE9BRF9TQ0FMRV9GVVpaID49CisJCWlmIChtYXhfbG9hZCAtIHRoaXNfbG9hZCArIDIqYnVzaWVzdF9sb2FkX3Blcl90YXNrID49CiAJCQkJCWJ1c2llc3RfbG9hZF9wZXJfdGFzayAqIGltYm4pIHsKIAkJCSppbWJhbGFuY2UgPSBidXNpZXN0X2xvYWRfcGVyX3Rhc2s7CiAJCQlyZXR1cm4gYnVzaWVzdDsKQEAgLTMyODQsNiArMzUwMyw3IEBACiAJc2NoZWRzdGF0X2luYyhzZCwgbGJfY291bnRbaWRsZV0pOwogCiByZWRvOgorCXVwZGF0ZV9zaGFyZXMoc2QpOwogCWdyb3VwID0gZmluZF9idXNpZXN0X2dyb3VwKHNkLCB0aGlzX2NwdSwgJmltYmFsYW5jZSwgaWRsZSwgJnNkX2lkbGUsCiAJCQkJICAgY3B1cywgYmFsYW5jZSk7CiAKQEAgLTMzODYsOCArMzYwNiw5IEBACiAKIAlpZiAoIWxkX21vdmVkICYmICFzZF9pZGxlICYmIHNkLT5mbGFncyAmIFNEX1NIQVJFX0NQVVBPV0VSICYmCiAJICAgICF0ZXN0X3NkX3BhcmVudChzZCwgU0RfUE9XRVJTQVZJTkdTX0JBTEFOQ0UpKQotCQlyZXR1cm4gLTE7Ci0JcmV0dXJuIGxkX21vdmVkOworCQlsZF9tb3ZlZCA9IC0xOworCisJZ290byBvdXQ7CiAKIG91dF9iYWxhbmNlZDoKIAlzY2hlZHN0YXRfaW5jKHNkLCBsYl9iYWxhbmNlZFtpZGxlXSk7CkBAIC0zNDAyLDggKzM2MjMsMTMgQEAKIAogCWlmICghc2RfaWRsZSAmJiBzZC0+ZmxhZ3MgJiBTRF9TSEFSRV9DUFVQT1dFUiAmJgogCSAgICAhdGVzdF9zZF9wYXJlbnQoc2QsIFNEX1BPV0VSU0FWSU5HU19CQUxBTkNFKSkKLQkJcmV0dXJuIC0xOwotCXJldHVybiAwOworCQlsZF9tb3ZlZCA9IC0xOworCWVsc2UKKwkJbGRfbW92ZWQgPSAwOworb3V0OgorCWlmIChsZF9tb3ZlZCkKKwkJdXBkYXRlX3NoYXJlcyhzZCk7CisJcmV0dXJuIGxkX21vdmVkOwogfQogCiAvKgpAQCAtMzQzOCw2ICszNjY0LDcgQEAKIAogCXNjaGVkc3RhdF9pbmMoc2QsIGxiX2NvdW50W0NQVV9ORVdMWV9JRExFXSk7CiByZWRvOgorCXVwZGF0ZV9zaGFyZXNfbG9ja2VkKHRoaXNfcnEsIHNkKTsKIAlncm91cCA9IGZpbmRfYnVzaWVzdF9ncm91cChzZCwgdGhpc19jcHUsICZpbWJhbGFuY2UsIENQVV9ORVdMWV9JRExFLAogCQkJCSAgICZzZF9pZGxlLCBjcHVzLCBOVUxMKTsKIAlpZiAoIWdyb3VwKSB7CkBAIC0zNDgxLDYgKzM3MDgsNyBAQAogCX0gZWxzZQogCQlzZC0+bnJfYmFsYW5jZV9mYWlsZWQgPSAwOwogCisJdXBkYXRlX3NoYXJlc19sb2NrZWQodGhpc19ycSwgc2QpOwogCXJldHVybiBsZF9tb3ZlZDsKIAogb3V0X2JhbGFuY2VkOgpAQCAtMzY3Miw2ICszOTAwLDcgQEAKIAkvKiBFYXJsaWVzdCB0aW1lIHdoZW4gd2UgaGF2ZSB0byBkbyByZWJhbGFuY2UgYWdhaW4gKi8KIAl1bnNpZ25lZCBsb25nIG5leHRfYmFsYW5jZSA9IGppZmZpZXMgKyA2MCpIWjsKIAlpbnQgdXBkYXRlX25leHRfYmFsYW5jZSA9IDA7CisJaW50IG5lZWRfc2VyaWFsaXplOwogCWNwdW1hc2tfdCB0bXA7CiAKIAlmb3JfZWFjaF9kb21haW4oY3B1LCBzZCkgewpAQCAtMzY4OSw4ICszOTE4LDkgQEAKIAkJaWYgKGludGVydmFsID4gSFoqTlJfQ1BVUy8xMCkKIAkJCWludGVydmFsID0gSFoqTlJfQ1BVUy8xMDsKIAorCQluZWVkX3NlcmlhbGl6ZSA9IHNkLT5mbGFncyAmIFNEX1NFUklBTElaRTsKIAotCQlpZiAoc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFKSB7CisJCWlmIChuZWVkX3NlcmlhbGl6ZSkgewogCQkJaWYgKCFzcGluX3RyeWxvY2soJmJhbGFuY2luZykpCiAJCQkJZ290byBvdXQ7CiAJCX0KQEAgLTM3MDYsNyArMzkzNiw3IEBACiAJCQl9CiAJCQlzZC0+bGFzdF9iYWxhbmNlID0gamlmZmllczsKIAkJfQotCQlpZiAoc2QtPmZsYWdzICYgU0RfU0VSSUFMSVpFKQorCQlpZiAobmVlZF9zZXJpYWxpemUpCiAJCQlzcGluX3VubG9jaygmYmFsYW5jaW5nKTsKIG91dDoKIAkJaWYgKHRpbWVfYWZ0ZXIobmV4dF9iYWxhbmNlLCBzZC0+bGFzdF9iYWxhbmNlICsgaW50ZXJ2YWwpKSB7CkBAIC00MDIxLDI2ICs0MjUxLDQ0IEBACiAjZW5kaWYKIH0KIAotI2lmIGRlZmluZWQoQ09ORklHX1BSRUVNUFQpICYmIGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpCisjaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVCkgJiYgKGRlZmluZWQoQ09ORklHX0RFQlVHX1BSRUVNUFQpIHx8IFwKKwkJCQlkZWZpbmVkKENPTkZJR19QUkVFTVBUX1RSQUNFUikpCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfcGFyZW50X2lwKHVuc2lnbmVkIGxvbmcgYWRkcikKK3sKKwlpZiAoaW5fbG9ja19mdW5jdGlvbnMoYWRkcikpIHsKKwkJYWRkciA9IENBTExFUl9BRERSMjsKKwkJaWYgKGluX2xvY2tfZnVuY3Rpb25zKGFkZHIpKQorCQkJYWRkciA9IENBTExFUl9BRERSMzsKKwl9CisJcmV0dXJuIGFkZHI7Cit9CiAKIHZvaWQgX19rcHJvYmVzIGFkZF9wcmVlbXB0X2NvdW50KGludCB2YWwpCiB7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFVuZGVyZmxvdz8KIAkgKi8KIAlpZiAoREVCVUdfTE9DS1NfV0FSTl9PTigocHJlZW1wdF9jb3VudCgpIDwgMCkpKQogCQlyZXR1cm47CisjZW5kaWYKIAlwcmVlbXB0X2NvdW50KCkgKz0gdmFsOworI2lmZGVmIENPTkZJR19ERUJVR19QUkVFTVBUCiAJLyoKIAkgKiBTcGlubG9jayBjb3VudCBvdmVyZmxvd2luZyBzb29uPwogCSAqLwogCURFQlVHX0xPQ0tTX1dBUk5fT04oKHByZWVtcHRfY291bnQoKSAmIFBSRUVNUFRfTUFTSykgPj0KIAkJCQlQUkVFTVBUX01BU0sgLSAxMCk7CisjZW5kaWYKKwlpZiAocHJlZW1wdF9jb3VudCgpID09IHZhbCkKKwkJdHJhY2VfcHJlZW1wdF9vZmYoQ0FMTEVSX0FERFIwLCBnZXRfcGFyZW50X2lwKENBTExFUl9BRERSMSkpOwogfQogRVhQT1JUX1NZTUJPTChhZGRfcHJlZW1wdF9jb3VudCk7CiAKIHZvaWQgX19rcHJvYmVzIHN1Yl9wcmVlbXB0X2NvdW50KGludCB2YWwpCiB7CisjaWZkZWYgQ09ORklHX0RFQlVHX1BSRUVNUFQKIAkvKgogCSAqIFVuZGVyZmxvdz8KIAkgKi8KQEAgLTQwNTIsNyArNDMwMCwxMCBAQAogCWlmIChERUJVR19MT0NLU19XQVJOX09OKCh2YWwgPCBQUkVFTVBUX01BU0spICYmCiAJCQkhKHByZWVtcHRfY291bnQoKSAmIFBSRUVNUFRfTUFTSykpKQogCQlyZXR1cm47CisjZW5kaWYKIAorCWlmIChwcmVlbXB0X2NvdW50KCkgPT0gdmFsKQorCQl0cmFjZV9wcmVlbXB0X29uKENBTExFUl9BRERSMCwgZ2V0X3BhcmVudF9pcChDQUxMRVJfQUREUjEpKTsKIAlwcmVlbXB0X2NvdW50KCkgLT0gdmFsOwogfQogRVhQT1JUX1NZTUJPTChzdWJfcHJlZW1wdF9jb3VudCk7CkBAIC00MDcwLDYgKzQzMjEsNyBAQAogCQlwcmV2LT5jb21tLCBwcmV2LT5waWQsIHByZWVtcHRfY291bnQoKSk7CiAKIAlkZWJ1Z19zaG93X2hlbGRfbG9ja3MocHJldik7CisJcHJpbnRfbW9kdWxlcygpOwogCWlmIChpcnFzX2Rpc2FibGVkKCkpCiAJCXByaW50X2lycXRyYWNlX2V2ZW50cyhwcmV2KTsKIApAQCAtNDE0Myw3ICs0Mzk1LDcgQEAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsICpuZXh0OwogCXVuc2lnbmVkIGxvbmcgKnN3aXRjaF9jb3VudDsKIAlzdHJ1Y3QgcnEgKnJxOwotCWludCBjcHU7CisJaW50IGNwdSwgaHJ0aWNrID0gc2NoZWRfZmVhdChIUlRJQ0spOwogCiBuZWVkX3Jlc2NoZWQ6CiAJcHJlZW1wdF9kaXNhYmxlKCk7CkBAIC00MTU4LDcgKzQ0MTAsOCBAQAogCiAJc2NoZWR1bGVfZGVidWcocHJldik7CiAKLQlocnRpY2tfY2xlYXIocnEpOworCWlmIChocnRpY2spCisJCWhydGlja19jbGVhcihycSk7CiAKIAkvKgogCSAqIERvIHRoZSBycS1jbG9jayB1cGRhdGUgb3V0c2lkZSB0aGUgcnEgbG9jazoKQEAgLTQyMDQsNyArNDQ1Nyw4IEBACiAJfSBlbHNlCiAJCXNwaW5fdW5sb2NrX2lycSgmcnEtPmxvY2spOwogCi0JaHJ0aWNrX3NldChycSk7CisJaWYgKGhydGljaykKKwkJaHJ0aWNrX3NldChycSk7CiAKIAlpZiAodW5saWtlbHkocmVhY3F1aXJlX2tlcm5lbF9sb2NrKGN1cnJlbnQpIDwgMCkpCiAJCWdvdG8gbmVlZF9yZXNjaGVkX25vbnByZWVtcHRpYmxlOwpAQCAtNDU4NiwxMCArNDg0MCw4IEBACiAJCWdvdG8gb3V0X3VubG9jazsKIAl9CiAJb25fcnEgPSBwLT5zZS5vbl9ycTsKLQlpZiAob25fcnEpIHsKKwlpZiAob25fcnEpCiAJCWRlcXVldWVfdGFzayhycSwgcCwgMCk7Ci0JCWRlY19sb2FkKHJxLCBwKTsKLQl9CiAKIAlwLT5zdGF0aWNfcHJpbyA9IE5JQ0VfVE9fUFJJTyhuaWNlKTsKIAlzZXRfbG9hZF93ZWlnaHQocCk7CkBAIC00NTk5LDcgKzQ4NTEsNiBAQAogCiAJaWYgKG9uX3JxKSB7CiAJCWVucXVldWVfdGFzayhycSwgcCwgMCk7Ci0JCWluY19sb2FkKHJxLCBwKTsKIAkJLyoKIAkJICogSWYgdGhlIHRhc2sgaW5jcmVhc2VkIGl0cyBwcmlvcml0eSBvciBpcyBydW5uaW5nIGFuZAogCQkgKiBsb3dlcmVkIGl0cyBwcmlvcml0eSwgdGhlbiByZXNjaGVkdWxlIGl0cyBDUFU6CkBAIC00NzQ0LDE2ICs0OTk1LDggQEAKIAlzZXRfbG9hZF93ZWlnaHQocCk7CiB9CiAKLS8qKgotICogc2NoZWRfc2V0c2NoZWR1bGVyIC0gY2hhbmdlIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBhbmQvb3IgUlQgcHJpb3JpdHkgb2YgYSB0aHJlYWQuCi0gKiBAcDogdGhlIHRhc2sgaW4gcXVlc3Rpb24uCi0gKiBAcG9saWN5OiBuZXcgcG9saWN5LgotICogQHBhcmFtOiBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgbmV3IFJUIHByaW9yaXR5LgotICoKLSAqIE5PVEUgdGhhdCB0aGUgdGFzayBtYXkgYmUgYWxyZWFkeSBkZWFkLgotICovCi1pbnQgc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKLQkJICAgICAgIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pCitzdGF0aWMgaW50IF9fc2NoZWRfc2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJCQlzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtLCBib29sIHVzZXIpCiB7CiAJaW50IHJldHZhbCwgb2xkcHJpbywgb2xkcG9saWN5ID0gLTEsIG9uX3JxLCBydW5uaW5nOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC00Nzg1LDcgKzUwMjgsNyBAQAogCS8qCiAJICogQWxsb3cgdW5wcml2aWxlZ2VkIFJUIHRhc2tzIHRvIGRlY3JlYXNlIHByaW9yaXR5OgogCSAqLwotCWlmICghY2FwYWJsZShDQVBfU1lTX05JQ0UpKSB7CisJaWYgKHVzZXIgJiYgIWNhcGFibGUoQ0FQX1NZU19OSUNFKSkgewogCQlpZiAocnRfcG9saWN5KHBvbGljeSkpIHsKIAkJCXVuc2lnbmVkIGxvbmcgcmxpbV9ydHByaW87CiAKQEAgLTQ4MjEsNyArNTA2NCw4IEBACiAJICogRG8gbm90IGFsbG93IHJlYWx0aW1lIHRhc2tzIGludG8gZ3JvdXBzIHRoYXQgaGF2ZSBubyBydW50aW1lCiAJICogYXNzaWduZWQuCiAJICovCi0JaWYgKHJ0X3BvbGljeShwb2xpY3kpICYmIHRhc2tfZ3JvdXAocCktPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lID09IDApCisJaWYgKHVzZXIKKwkgICAgJiYgcnRfcG9saWN5KHBvbGljeSkgJiYgdGFza19ncm91cChwKS0+cnRfYmFuZHdpZHRoLnJ0X3J1bnRpbWUgPT0gMCkKIAkJcmV0dXJuIC1FUEVSTTsKICNlbmRpZgogCkBAIC00ODcwLDggKzUxMTQsMzkgQEAKIAogCXJldHVybiAwOwogfQorCisvKioKKyAqIHNjaGVkX3NldHNjaGVkdWxlciAtIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBwb2xpY3kgYW5kL29yIFJUIHByaW9yaXR5IG9mIGEgdGhyZWFkLgorICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgorICogQHBvbGljeTogbmV3IHBvbGljeS4KKyAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KKyAqCisgKiBOT1RFIHRoYXQgdGhlIHRhc2sgbWF5IGJlIGFscmVhZHkgZGVhZC4KKyAqLworaW50IHNjaGVkX3NldHNjaGVkdWxlcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBwb2xpY3ksCisJCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQoreworCXJldHVybiBfX3NjaGVkX3NldHNjaGVkdWxlcihwLCBwb2xpY3ksIHBhcmFtLCB0cnVlKTsKK30KIEVYUE9SVF9TWU1CT0xfR1BMKHNjaGVkX3NldHNjaGVkdWxlcik7CiAKKy8qKgorICogc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2sgLSBjaGFuZ2UgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGFuZC9vciBSVCBwcmlvcml0eSBvZiBhIHRocmVhZCBmcm9tIGtlcm5lbHNwYWNlLgorICogQHA6IHRoZSB0YXNrIGluIHF1ZXN0aW9uLgorICogQHBvbGljeTogbmV3IHBvbGljeS4KKyAqIEBwYXJhbTogc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIG5ldyBSVCBwcmlvcml0eS4KKyAqCisgKiBKdXN0IGxpa2Ugc2NoZWRfc2V0c2NoZWR1bGVyLCBvbmx5IGRvbid0IGJvdGhlciBjaGVja2luZyBpZiB0aGUKKyAqIGN1cnJlbnQgY29udGV4dCBoYXMgcGVybWlzc2lvbi4gIEZvciBleGFtcGxlLCB0aGlzIGlzIG5lZWRlZCBpbgorICogc3RvcF9tYWNoaW5lKCk6IHdlIGNyZWF0ZSB0ZW1wb3JhcnkgaGlnaCBwcmlvcml0eSB3b3JrZXIgdGhyZWFkcywKKyAqIGJ1dCBvdXIgY2FsbGVyIG1pZ2h0IG5vdCBoYXZlIHRoYXQgY2FwYWJpbGl0eS4KKyAqLworaW50IHNjaGVkX3NldHNjaGVkdWxlcl9ub2NoZWNrKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHBvbGljeSwKKwkJCSAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKQoreworCXJldHVybiBfX3NjaGVkX3NldHNjaGVkdWxlcihwLCBwb2xpY3ksIHBhcmFtLCBmYWxzZSk7Cit9CisKIHN0YXRpYyBpbnQKIGRvX3NjaGVkX3NldHNjaGVkdWxlcihwaWRfdCBwaWQsIGludCBwb2xpY3ksIHN0cnVjdCBzY2hlZF9wYXJhbSBfX3VzZXIgKnBhcmFtKQogewpAQCAtNTA3MCwyNCArNTM0NSw2IEBACiAJcmV0dXJuIHNjaGVkX3NldGFmZmluaXR5KHBpZCwgJm5ld19tYXNrKTsKIH0KIAotLyoKLSAqIFJlcHJlc2VudHMgYWxsIGNwdSdzIHByZXNlbnQgaW4gdGhlIHN5c3RlbQotICogSW4gc3lzdGVtcyBjYXBhYmxlIG9mIGhvdHBsdWcsIHRoaXMgbWFwIGNvdWxkIGR5bmFtaWNhbGx5IGdyb3cKLSAqIGFzIG5ldyBjcHUncyBhcmUgZGV0ZWN0ZWQgaW4gdGhlIHN5c3RlbSB2aWEgYW55IHBsYXRmb3JtIHNwZWNpZmljCi0gKiBtZXRob2QsIHN1Y2ggYXMgQUNQSSBmb3IgZS5nLgotICovCi0KLWNwdW1hc2tfdCBjcHVfcHJlc2VudF9tYXAgX19yZWFkX21vc3RseTsKLUVYUE9SVF9TWU1CT0woY3B1X3ByZXNlbnRfbWFwKTsKLQotI2lmbmRlZiBDT05GSUdfU01QCi1jcHVtYXNrX3QgY3B1X29ubGluZV9tYXAgX19yZWFkX21vc3RseSA9IENQVV9NQVNLX0FMTDsKLUVYUE9SVF9TWU1CT0woY3B1X29ubGluZV9tYXApOwotCi1jcHVtYXNrX3QgY3B1X3Bvc3NpYmxlX21hcCBfX3JlYWRfbW9zdGx5ID0gQ1BVX01BU0tfQUxMOwotRVhQT1JUX1NZTUJPTChjcHVfcG9zc2libGVfbWFwKTsKLSNlbmRpZgotCiBsb25nIHNjaGVkX2dldGFmZmluaXR5KHBpZF90IHBpZCwgY3B1bWFza190ICptYXNrKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKQEAgLTUzODQsNyArNTY0MSw3IEBACiAJcmV0dXJuIHJldHZhbDsKIH0KIAotc3RhdGljIGNvbnN0IGNoYXIgc3RhdF9uYW1bXSA9ICJSU0RUdFpYIjsKK3N0YXRpYyBjb25zdCBjaGFyIHN0YXRfbmFtW10gPSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSOwogCiB2b2lkIHNjaGVkX3Nob3dfdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCiB7CkBAIC01NTcxLDYgKzU4MjgsMTIgQEAKIAkJZ290byBvdXQ7CiAJfQogCisJaWYgKHVubGlrZWx5KChwLT5mbGFncyAmIFBGX1RIUkVBRF9CT1VORCkgJiYgcCAhPSBjdXJyZW50ICYmCisJCSAgICAgIWNwdXNfZXF1YWwocC0+Y3B1c19hbGxvd2VkLCAqbmV3X21hc2spKSkgeworCQlyZXQgPSAtRUlOVkFMOworCQlnb3RvIG91dDsKKwl9CisKIAlpZiAocC0+c2NoZWRfY2xhc3MtPnNldF9jcHVzX2FsbG93ZWQpCiAJCXAtPnNjaGVkX2NsYXNzLT5zZXRfY3B1c19hbGxvd2VkKHAsIG5ld19tYXNrKTsKIAllbHNlIHsKQEAgLTU2MjIsMTAgKzU4ODUsMTAgQEAKIAlkb3VibGVfcnFfbG9jayhycV9zcmMsIHJxX2Rlc3QpOwogCS8qIEFscmVhZHkgbW92ZWQuICovCiAJaWYgKHRhc2tfY3B1KHApICE9IHNyY19jcHUpCi0JCWdvdG8gb3V0OworCQlnb3RvIGRvbmU7CiAJLyogQWZmaW5pdHkgY2hhbmdlZCAoYWdhaW4pLiAqLwogCWlmICghY3B1X2lzc2V0KGRlc3RfY3B1LCBwLT5jcHVzX2FsbG93ZWQpKQotCQlnb3RvIG91dDsKKwkJZ290byBmYWlsOwogCiAJb25fcnEgPSBwLT5zZS5vbl9ycTsKIAlpZiAob25fcnEpCkBAIC01NjM2LDggKzU4OTksOSBAQAogCQlhY3RpdmF0ZV90YXNrKHJxX2Rlc3QsIHAsIDApOwogCQljaGVja19wcmVlbXB0X2N1cnIocnFfZGVzdCwgcCk7CiAJfQorZG9uZToKIAlyZXQgPSAxOwotb3V0OgorZmFpbDoKIAlkb3VibGVfcnFfdW5sb2NrKHJxX3NyYywgcnFfZGVzdCk7CiAJcmV0dXJuIHJldDsKIH0KQEAgLTYwNTksNiArNjMyMywzNiBAQAogfQogI2VuZGlmCiAKK3N0YXRpYyB2b2lkIHNldF9ycV9vbmxpbmUoc3RydWN0IHJxICpycSkKK3sKKwlpZiAoIXJxLT5vbmxpbmUpIHsKKwkJY29uc3Qgc3RydWN0IHNjaGVkX2NsYXNzICpjbGFzczsKKworCQljcHVfc2V0KHJxLT5jcHUsIHJxLT5yZC0+b25saW5lKTsKKwkJcnEtPm9ubGluZSA9IDE7CisKKwkJZm9yX2VhY2hfY2xhc3MoY2xhc3MpIHsKKwkJCWlmIChjbGFzcy0+cnFfb25saW5lKQorCQkJCWNsYXNzLT5ycV9vbmxpbmUocnEpOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBzZXRfcnFfb2ZmbGluZShzdHJ1Y3QgcnEgKnJxKQoreworCWlmIChycS0+b25saW5lKSB7CisJCWNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyAqY2xhc3M7CisKKwkJZm9yX2VhY2hfY2xhc3MoY2xhc3MpIHsKKwkJCWlmIChjbGFzcy0+cnFfb2ZmbGluZSkKKwkJCQljbGFzcy0+cnFfb2ZmbGluZShycSk7CisJCX0KKworCQljcHVfY2xlYXIocnEtPmNwdSwgcnEtPnJkLT5vbmxpbmUpOworCQlycS0+b25saW5lID0gMDsKKwl9Cit9CisKIC8qCiAgKiBtaWdyYXRpb25fY2FsbCAtIGNhbGxiYWNrIHRoYXQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiBhIENQVSBpcyBhZGRlZC4KICAqIEhlcmUgd2UgY2FuIHN0YXJ0IHVwIHRoZSBuZWNlc3NhcnkgbWlncmF0aW9uIHRocmVhZCBmb3IgdGhlIG5ldyBDUFUuCkBAIC02MDk2LDcgKzYzOTAsOCBAQAogCQlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJaWYgKHJxLT5yZCkgewogCQkJQlVHX09OKCFjcHVfaXNzZXQoY3B1LCBycS0+cmQtPnNwYW4pKTsKLQkJCWNwdV9zZXQoY3B1LCBycS0+cmQtPm9ubGluZSk7CisKKwkJCXNldF9ycV9vbmxpbmUocnEpOwogCQl9CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWJyZWFrOwpAQCAtNjE1Nyw3ICs2NDUyLDcgQEAKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAJCWlmIChycS0+cmQpIHsKIAkJCUJVR19PTighY3B1X2lzc2V0KGNwdSwgcnEtPnJkLT5zcGFuKSk7Ci0JCQljcHVfY2xlYXIoY3B1LCBycS0+cmQtPm9ubGluZSk7CisJCQlzZXRfcnFfb2ZmbGluZShycSk7CiAJCX0KIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKIAkJYnJlYWs7CkBAIC02MTkxLDYgKzY0ODYsMjggQEAKIAogI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRwogCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnNkX2xldmVsX3RvX3N0cmluZyhlbnVtIHNjaGVkX2RvbWFpbl9sZXZlbCBsdmwpCit7CisJc3dpdGNoIChsdmwpIHsKKwljYXNlIFNEX0xWX05PTkU6CisJCQlyZXR1cm4gIk5PTkUiOworCWNhc2UgU0RfTFZfU0lCTElORzoKKwkJCXJldHVybiAiU0lCTElORyI7CisJY2FzZSBTRF9MVl9NQzoKKwkJCXJldHVybiAiTUMiOworCWNhc2UgU0RfTFZfQ1BVOgorCQkJcmV0dXJuICJDUFUiOworCWNhc2UgU0RfTFZfTk9ERToKKwkJCXJldHVybiAiTk9ERSI7CisJY2FzZSBTRF9MVl9BTExOT0RFUzoKKwkJCXJldHVybiAiQUxMTk9ERVMiOworCWNhc2UgU0RfTFZfTUFYOgorCQkJcmV0dXJuICJNQVgiOworCisJfQorCXJldHVybiAiTUFYIjsKK30KKwogc3RhdGljIGludCBzY2hlZF9kb21haW5fZGVidWdfb25lKHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLCBpbnQgY3B1LCBpbnQgbGV2ZWwsCiAJCQkJICBjcHVtYXNrX3QgKmdyb3VwbWFzaykKIHsKQEAgLTYyMTAsNyArNjUyNyw4IEBACiAJCXJldHVybiAtMTsKIAl9CiAKLQlwcmludGsoS0VSTl9DT05UICJzcGFuICVzXG4iLCBzdHIpOworCXByaW50ayhLRVJOX0NPTlQgInNwYW4gJXMgbGV2ZWwgJXNcbiIsCisJCXN0ciwgc2RfbGV2ZWxfdG9fc3RyaW5nKHNkLT5sZXZlbCkpOwogCiAJaWYgKCFjcHVfaXNzZXQoY3B1LCBzZC0+c3BhbikpIHsKIAkJcHJpbnRrKEtFUk5fRVJSICJFUlJPUjogZG9tYWluLT5zcGFuIGRvZXMgbm90IGNvbnRhaW4gIgpAQCAtNjI5NCw5ICs2NjEyLDkgQEAKIAl9CiAJa2ZyZWUoZ3JvdXBtYXNrKTsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1NDSEVEX0RFQlVHICovCiAjIGRlZmluZSBzY2hlZF9kb21haW5fZGVidWcoc2QsIGNwdSkgZG8geyB9IHdoaWxlICgwKQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX0RFQlVHICovCiAKIHN0YXRpYyBpbnQgc2RfZGVnZW5lcmF0ZShzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCkKIHsKQEAgLTYzNTYsMjAgKzY2NzQsMTYgQEAKIHN0YXRpYyB2b2lkIHJxX2F0dGFjaF9yb290KHN0cnVjdCBycSAqcnEsIHN0cnVjdCByb290X2RvbWFpbiAqcmQpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKLQljb25zdCBzdHJ1Y3Qgc2NoZWRfY2xhc3MgKmNsYXNzOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CiAKIAlpZiAocnEtPnJkKSB7CiAJCXN0cnVjdCByb290X2RvbWFpbiAqb2xkX3JkID0gcnEtPnJkOwogCi0JCWZvciAoY2xhc3MgPSBzY2hlZF9jbGFzc19oaWdoZXN0OyBjbGFzczsgY2xhc3MgPSBjbGFzcy0+bmV4dCkgewotCQkJaWYgKGNsYXNzLT5sZWF2ZV9kb21haW4pCi0JCQkJY2xhc3MtPmxlYXZlX2RvbWFpbihycSk7Ci0JCX0KKwkJaWYgKGNwdV9pc3NldChycS0+Y3B1LCBvbGRfcmQtPm9ubGluZSkpCisJCQlzZXRfcnFfb2ZmbGluZShycSk7CiAKIAkJY3B1X2NsZWFyKHJxLT5jcHUsIG9sZF9yZC0+c3Bhbik7Ci0JCWNwdV9jbGVhcihycS0+Y3B1LCBvbGRfcmQtPm9ubGluZSk7CiAKIAkJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJm9sZF9yZC0+cmVmY291bnQpKQogCQkJa2ZyZWUob2xkX3JkKTsKQEAgLTYzODAsMTIgKzY2OTQsNyBAQAogCiAJY3B1X3NldChycS0+Y3B1LCByZC0+c3Bhbik7CiAJaWYgKGNwdV9pc3NldChycS0+Y3B1LCBjcHVfb25saW5lX21hcCkpCi0JCWNwdV9zZXQocnEtPmNwdSwgcmQtPm9ubGluZSk7Ci0KLQlmb3IgKGNsYXNzID0gc2NoZWRfY2xhc3NfaGlnaGVzdDsgY2xhc3M7IGNsYXNzID0gY2xhc3MtPm5leHQpIHsKLQkJaWYgKGNsYXNzLT5qb2luX2RvbWFpbikKLQkJCWNsYXNzLT5qb2luX2RvbWFpbihycSk7Ci0JfQorCQlzZXRfcnFfb25saW5lKHJxKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiB9CkBAIC02Mzk2LDYgKzY3MDUsOCBAQAogCiAJY3B1c19jbGVhcihyZC0+c3Bhbik7CiAJY3B1c19jbGVhcihyZC0+b25saW5lKTsKKworCWNwdXByaV9pbml0KCZyZC0+Y3B1cHJpKTsKIH0KIAogc3RhdGljIHZvaWQgaW5pdF9kZWZyb290ZG9tYWluKHZvaWQpCkBAIC02NTM4LDkgKzY4NDksOSBAQAogCiAJbWluX3ZhbCA9IElOVF9NQVg7CiAKLQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfbm9kZV9pZHM7IGkrKykgewogCQkvKiBTdGFydCBhdCBAbm9kZSAqLwotCQluID0gKG5vZGUgKyBpKSAlIE1BWF9OVU1OT0RFUzsKKwkJbiA9IChub2RlICsgaSkgJSBucl9ub2RlX2lkczsKIAogCQlpZiAoIW5yX2NwdXNfbm9kZShuKSkKIAkJCWNvbnRpbnVlOwpAQCAtNjU5MCw3ICs2OTAxLDcgQEAKIAkJY3B1c19vcigqc3BhbiwgKnNwYW4sICpub2RlbWFzayk7CiAJfQogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX05VTUEgKi8KIAogaW50IHNjaGVkX3NtdF9wb3dlcl9zYXZpbmdzID0gMCwgc2NoZWRfbWNfcG93ZXJfc2F2aW5ncyA9IDA7CiAKQEAgLTY2MDksNyArNjkyMCw3IEBACiAJCSpzZyA9ICZwZXJfY3B1KHNjaGVkX2dyb3VwX2NwdXMsIGNwdSk7CiAJcmV0dXJuIGNwdTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9TTVQgKi8KIAogLyoKICAqIG11bHRpLWNvcmUgc2NoZWQtZG9tYWluczoKQEAgLTY2MTcsNyArNjkyOCw3IEBACiAjaWZkZWYgQ09ORklHX1NDSEVEX01DCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHNjaGVkX2RvbWFpbiwgY29yZV9kb21haW5zKTsKIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3Qgc2NoZWRfZ3JvdXAsIHNjaGVkX2dyb3VwX2NvcmUpOwotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1NDSEVEX01DICovCiAKICNpZiBkZWZpbmVkKENPTkZJR19TQ0hFRF9NQykgJiYgZGVmaW5lZChDT05GSUdfU0NIRURfU01UKQogc3RhdGljIGludApAQCAtNjcxOSw3ICs3MDMwLDcgQEAKIAkJc2cgPSBzZy0+bmV4dDsKIAl9IHdoaWxlIChzZyAhPSBncm91cF9oZWFkKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKICNpZmRlZiBDT05GSUdfTlVNQQogLyogRnJlZSBtZW1vcnkgYWxsb2NhdGVkIGZvciB2YXJpb3VzIHNjaGVkX2dyb3VwIHN0cnVjdHVyZXMgKi8KQEAgLTY3MzQsNyArNzA0NSw3IEBACiAJCWlmICghc2NoZWRfZ3JvdXBfbm9kZXMpCiAJCQljb250aW51ZTsKIAotCQlmb3IgKGkgPSAwOyBpIDwgTUFYX05VTU5PREVTOyBpKyspIHsKKwkJZm9yIChpID0gMDsgaSA8IG5yX25vZGVfaWRzOyBpKyspIHsKIAkJCXN0cnVjdCBzY2hlZF9ncm91cCAqb2xkc2csICpzZyA9IHNjaGVkX2dyb3VwX25vZGVzW2ldOwogCiAJCQkqbm9kZW1hc2sgPSBub2RlX3RvX2NwdW1hc2soaSk7CkBAIC02NzU2LDExICs3MDY3LDExIEBACiAJCXNjaGVkX2dyb3VwX25vZGVzX2J5Y3B1W2NwdV0gPSBOVUxMOwogCX0KIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX05VTUEgKi8KIHN0YXRpYyB2b2lkIGZyZWVfc2NoZWRfZ3JvdXBzKGNvbnN0IGNwdW1hc2tfdCAqY3B1X21hcCwgY3B1bWFza190ICpub2RlbWFzaykKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19OVU1BICovCiAKIC8qCiAgKiBJbml0aWFsaXplIHNjaGVkIGdyb3VwcyBjcHVfcG93ZXIuCkBAIC02OTI3LDcgKzcyMzgsNyBAQAogCS8qCiAJICogQWxsb2NhdGUgdGhlIHBlci1ub2RlIGxpc3Qgb2Ygc2NoZWQgZ3JvdXBzCiAJICovCi0Jc2NoZWRfZ3JvdXBfbm9kZXMgPSBrY2FsbG9jKE1BWF9OVU1OT0RFUywgc2l6ZW9mKHN0cnVjdCBzY2hlZF9ncm91cCAqKSwKKwlzY2hlZF9ncm91cF9ub2RlcyA9IGtjYWxsb2MobnJfbm9kZV9pZHMsIHNpemVvZihzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKiksCiAJCQkJICAgIEdGUF9LRVJORUwpOwogCWlmICghc2NoZWRfZ3JvdXBfbm9kZXMpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORyAiQ2FuIG5vdCBhbGxvYyBzY2hlZCBncm91cCBub2RlIGxpc3RcbiIpOwpAQCAtNzA2Niw3ICs3Mzc3LDcgQEAKICNlbmRpZgogCiAJLyogU2V0IHVwIHBoeXNpY2FsIGdyb3VwcyAqLwotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKG5vZGVtYXNrLCBhbGxtYXNrcyk7CiAJCVNDSEVEX0NQVU1BU0tfVkFSKHNlbmRfY292ZXJlZCwgYWxsbWFza3MpOwogCkBAIC03MDkwLDcgKzc0MDEsNyBAQAogCQkJCQlzZW5kX2NvdmVyZWQsIHRtcG1hc2spOwogCX0KIAotCWZvciAoaSA9IDA7IGkgPCBNQVhfTlVNTk9ERVM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKSB7CiAJCS8qIFNldCB1cCBub2RlIGdyb3VwcyAqLwogCQlzdHJ1Y3Qgc2NoZWRfZ3JvdXAgKnNnLCAqcHJldjsKIAkJU0NIRURfQ1BVTUFTS19WQVIobm9kZW1hc2ssIGFsbG1hc2tzKTsKQEAgLTcxMjksOSArNzQ0MCw5IEBACiAJCWNwdXNfb3IoKmNvdmVyZWQsICpjb3ZlcmVkLCAqbm9kZW1hc2spOwogCQlwcmV2ID0gc2c7CiAKLQkJZm9yIChqID0gMDsgaiA8IE1BWF9OVU1OT0RFUzsgaisrKSB7CisJCWZvciAoaiA9IDA7IGogPCBucl9ub2RlX2lkczsgaisrKSB7CiAJCQlTQ0hFRF9DUFVNQVNLX1ZBUihub3Rjb3ZlcmVkLCBhbGxtYXNrcyk7Ci0JCQlpbnQgbiA9IChpICsgaikgJSBNQVhfTlVNTk9ERVM7CisJCQlpbnQgbiA9IChpICsgaikgJSBucl9ub2RlX2lkczsKIAkJCW5vZGVfdG9fY3B1bWFza19wdHIocG5vZGVtYXNrLCBuKTsKIAogCQkJY3B1c19jb21wbGVtZW50KCpub3Rjb3ZlcmVkLCAqY292ZXJlZCk7CkBAIC03MTg0LDcgKzc0OTUsNyBAQAogCX0KIAogI2lmZGVmIENPTkZJR19OVU1BCi0JZm9yIChpID0gMDsgaSA8IE1BWF9OVU1OT0RFUzsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlX2lkczsgaSsrKQogCQlpbml0X251bWFfc2NoZWRfZ3JvdXBzX3Bvd2VyKHNjaGVkX2dyb3VwX25vZGVzW2ldKTsKIAogCWlmIChzZF9hbGxub2RlcykgewpAQCAtNzQ2OSw3ICs3NzgwLDcgQEAKICNlbmRpZgogCXJldHVybiBlcnI7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU0NIRURfTUMgfHwgQ09ORklHX1NDSEVEX1NNVCAqLwogCiAvKgogICogRm9yY2UgYSByZWluaXRpYWxpemF0aW9uIG9mIHRoZSBzY2hlZCBkb21haW5zIGhpZXJhcmNoeS4gVGhlIGRvbWFpbnMKQEAgLTc0ODAsMjEgKzc3OTEsMjggQEAKIHN0YXRpYyBpbnQgdXBkYXRlX3NjaGVkX2RvbWFpbnMoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuZmIsCiAJCQkJdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmhjcHUpCiB7CisJaW50IGNwdSA9IChpbnQpKGxvbmcpaGNwdTsKKwogCXN3aXRjaCAoYWN0aW9uKSB7Ci0JY2FzZSBDUFVfVVBfUFJFUEFSRToKLQljYXNlIENQVV9VUF9QUkVQQVJFX0ZST1pFTjoKIAljYXNlIENQVV9ET1dOX1BSRVBBUkU6CiAJY2FzZSBDUFVfRE9XTl9QUkVQQVJFX0ZST1pFTjoKKwkJZGlzYWJsZV9ydW50aW1lKGNwdV9ycShjcHUpKTsKKwkJLyogZmFsbC10aHJvdWdoICovCisJY2FzZSBDUFVfVVBfUFJFUEFSRToKKwljYXNlIENQVV9VUF9QUkVQQVJFX0ZST1pFTjoKIAkJZGV0YWNoX2Rlc3Ryb3lfZG9tYWlucygmY3B1X29ubGluZV9tYXApOwogCQlmcmVlX3NjaGVkX2RvbWFpbnMoKTsKIAkJcmV0dXJuIE5PVElGWV9PSzsKIAotCWNhc2UgQ1BVX1VQX0NBTkNFTEVEOgotCWNhc2UgQ1BVX1VQX0NBTkNFTEVEX0ZST1pFTjoKKwogCWNhc2UgQ1BVX0RPV05fRkFJTEVEOgogCWNhc2UgQ1BVX0RPV05fRkFJTEVEX0ZST1pFTjoKIAljYXNlIENQVV9PTkxJTkU6CiAJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKKwkJZW5hYmxlX3J1bnRpbWUoY3B1X3JxKGNwdSkpOworCQkvKiBmYWxsLXRocm91Z2ggKi8KKwljYXNlIENQVV9VUF9DQU5DRUxFRDoKKwljYXNlIENQVV9VUF9DQU5DRUxFRF9GUk9aRU46CiAJY2FzZSBDUFVfREVBRDoKIAljYXNlIENQVV9ERUFEX0ZST1pFTjoKIAkJLyoKQEAgLTc2OTQsOCArODAxMiw4IEBACiAKIAkJcm9vdF90YXNrX2dyb3VwLmNmc19ycSA9IChzdHJ1Y3QgY2ZzX3JxICoqKXB0cjsKIAkJcHRyICs9IG5yX2NwdV9pZHMgKiBzaXplb2Yodm9pZCAqKik7Ci0jZW5kaWYKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19VU0VSX1NDSEVEICovCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIAkJaW5pdF90YXNrX2dyb3VwLnJ0X3NlID0gKHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKiopcHRyOwogCQlwdHIgKz0gbnJfY3B1X2lkcyAqIHNpemVvZih2b2lkICoqKTsKQEAgLTc3MDksOCArODAyNyw4IEBACiAKIAkJcm9vdF90YXNrX2dyb3VwLnJ0X3JxID0gKHN0cnVjdCBydF9ycSAqKilwdHI7CiAJCXB0ciArPSBucl9jcHVfaWRzICogc2l6ZW9mKHZvaWQgKiopOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCX0KIAogI2lmZGVmIENPTkZJR19TTVAKQEAgLTc3MjYsOCArODA0NCw4IEBACiAjaWZkZWYgQ09ORklHX1VTRVJfU0NIRUQKIAlpbml0X3J0X2JhbmR3aWR0aCgmcm9vdF90YXNrX2dyb3VwLnJ0X2JhbmR3aWR0aCwKIAkJCWdsb2JhbF9ydF9wZXJpb2QoKSwgUlVOVElNRV9JTkYpOwotI2VuZGlmCi0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfVVNFUl9TQ0hFRCAqLworI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0dST1VQX1NDSEVECiAJbGlzdF9hZGQoJmluaXRfdGFza19ncm91cC5saXN0LCAmdGFza19ncm91cHMpOwpAQCAtNzczNyw4ICs4MDU1LDggQEAKIAlJTklUX0xJU1RfSEVBRCgmcm9vdF90YXNrX2dyb3VwLmNoaWxkcmVuKTsKIAlpbml0X3Rhc2tfZ3JvdXAucGFyZW50ID0gJnJvb3RfdGFza19ncm91cDsKIAlsaXN0X2FkZCgmaW5pdF90YXNrX2dyb3VwLnNpYmxpbmdzLCAmcm9vdF90YXNrX2dyb3VwLmNoaWxkcmVuKTsKLSNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX1VTRVJfU0NIRUQgKi8KKyNlbmRpZiAvKiBDT05GSUdfR1JPVVBfU0NIRUQgKi8KIAogCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShpKSB7CiAJCXN0cnVjdCBycSAqcnE7CkBAIC03ODE4LDYgKzgxMzYsNyBAQAogCQlycS0+bmV4dF9iYWxhbmNlID0gamlmZmllczsKIAkJcnEtPnB1c2hfY3B1ID0gMDsKIAkJcnEtPmNwdSA9IGk7CisJCXJxLT5vbmxpbmUgPSAwOwogCQlycS0+bWlncmF0aW9uX3RocmVhZCA9IE5VTEw7CiAJCUlOSVRfTElTVF9IRUFEKCZycS0+bWlncmF0aW9uX3F1ZXVlKTsKIAkJcnFfYXR0YWNoX3Jvb3QocnEsICZkZWZfcm9vdF9kb21haW4pOwpAQCAtNzgzMyw3ICs4MTUyLDcgQEAKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1NNUAotCW9wZW5fc29mdGlycShTQ0hFRF9TT0ZUSVJRLCBydW5fcmViYWxhbmNlX2RvbWFpbnMsIE5VTEwpOworCW9wZW5fc29mdGlycShTQ0hFRF9TT0ZUSVJRLCBydW5fcmViYWxhbmNlX2RvbWFpbnMpOwogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdfUlRfTVVURVhFUwpAQCAtODA1Nyw3ICs4Mzc2LDcgQEAKIHsKIAlsaXN0X2RlbF9yY3UoJnRnLT5jZnNfcnFbY3B1XS0+bGVhZl9jZnNfcnFfbGlzdCk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBmcmVlX2ZhaXJfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQogewogfQpAQCAtODA3NSw3ICs4Mzk0LDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX2ZhaXJfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1KQogewogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQgKi8KIAogI2lmZGVmIENPTkZJR19SVF9HUk9VUF9TQ0hFRAogc3RhdGljIHZvaWQgZnJlZV9ydF9zY2hlZF9ncm91cChzdHJ1Y3QgdGFza19ncm91cCAqdGcpCkBAIC04MTQ2LDcgKzg0NjUsNyBAQAogewogCWxpc3RfZGVsX3JjdSgmdGctPnJ0X3JxW2NwdV0tPmxlYWZfcnRfcnFfbGlzdCk7CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogc3RhdGljIGlubGluZSB2b2lkIGZyZWVfcnRfc2NoZWRfZ3JvdXAoc3RydWN0IHRhc2tfZ3JvdXAgKnRnKQogewogfQpAQCAtODE2NCw3ICs4NDgzLDcgQEAKIHN0YXRpYyBpbmxpbmUgdm9pZCB1bnJlZ2lzdGVyX3J0X3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSkKIHsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLwogCiAjaWZkZWYgQ09ORklHX0dST1VQX1NDSEVECiBzdGF0aWMgdm9pZCBmcmVlX3NjaGVkX2dyb3VwKHN0cnVjdCB0YXNrX2dyb3VwICp0ZykKQEAgLTgyNzUsMTcgKzg1OTQsMTQgQEAKIAogCXRhc2tfcnFfdW5sb2NrKHJxLCAmZmxhZ3MpOwogfQotI2VuZGlmCisjZW5kaWYgLyogQ09ORklHX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAotc3RhdGljIHZvaWQgc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCitzdGF0aWMgdm9pZCBfX3NldF9zZV9zaGFyZXMoc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIHVuc2lnbmVkIGxvbmcgc2hhcmVzKQogewogCXN0cnVjdCBjZnNfcnEgKmNmc19ycSA9IHNlLT5jZnNfcnE7Ci0Jc3RydWN0IHJxICpycSA9IGNmc19ycS0+cnE7CiAJaW50IG9uX3JxOwogCi0Jc3Bpbl9sb2NrX2lycSgmcnEtPmxvY2spOwotCiAJb25fcnEgPSBzZS0+b25fcnE7CiAJaWYgKG9uX3JxKQogCQlkZXF1ZXVlX2VudGl0eShjZnNfcnEsIHNlLCAwKTsKQEAgLTgyOTUsOCArODYxMSwxNyBAQAogCiAJaWYgKG9uX3JxKQogCQllbnF1ZXVlX2VudGl0eShjZnNfcnEsIHNlLCAwKTsKK30KIAotCXNwaW5fdW5sb2NrX2lycSgmcnEtPmxvY2spOworc3RhdGljIHZvaWQgc2V0X3NlX3NoYXJlcyhzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgdW5zaWduZWQgbG9uZyBzaGFyZXMpCit7CisJc3RydWN0IGNmc19ycSAqY2ZzX3JxID0gc2UtPmNmc19ycTsKKwlzdHJ1Y3QgcnEgKnJxID0gY2ZzX3JxLT5ycTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJxLT5sb2NrLCBmbGFncyk7CisJX19zZXRfc2Vfc2hhcmVzKHNlLCBzaGFyZXMpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyBERUZJTkVfTVVURVgoc2hhcmVzX211dGV4KTsKQEAgLTgzMzUsOCArODY2MCwxMyBAQAogCSAqIHcvbyB0cmlwcGluZyByZWJhbGFuY2Vfc2hhcmUgb3IgbG9hZF9iYWxhbmNlX2ZhaXIuCiAJICovCiAJdGctPnNoYXJlcyA9IHNoYXJlczsKLQlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgeworCQkvKgorCQkgKiBmb3JjZSBhIHJlYmFsYW5jZQorCQkgKi8KKwkJY2ZzX3JxX3NldF9zaGFyZXModGctPmNmc19ycVtpXSwgMCk7CiAJCXNldF9zZV9zaGFyZXModGctPnNlW2ldLCBzaGFyZXMpOworCX0KIAogCS8qCiAJICogRW5hYmxlIGxvYWQgYmFsYW5jZSBhY3Rpdml0eSBvbiB0aGlzIGdyb3VwLCBieSBpbnNlcnRpbmcgaXQgYmFjayBvbgpAQCAtODM3NSw3ICs4NzA1LDcgQEAKICNpZmRlZiBDT05GSUdfQ0dST1VQX1NDSEVECiBzdGF0aWMgaW50IF9fcnRfc2NoZWR1bGFibGUoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCB1NjQgcGVyaW9kLCB1NjQgcnVudGltZSkKIHsKLQlzdHJ1Y3QgdGFza19ncm91cCAqdGdpLCAqcGFyZW50ID0gdGcgPyB0Zy0+cGFyZW50IDogTlVMTDsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGdpLCAqcGFyZW50ID0gdGctPnBhcmVudDsKIAl1bnNpZ25lZCBsb25nIHRvdGFsID0gMDsKIAogCWlmICghcGFyZW50KSB7CkBAIC04Mzk5LDcgKzg3MjksNyBAQAogCX0KIAlyY3VfcmVhZF91bmxvY2soKTsKIAotCXJldHVybiB0b3RhbCArIHRvX3JhdGlvKHBlcmlvZCwgcnVudGltZSkgPAorCXJldHVybiB0b3RhbCArIHRvX3JhdGlvKHBlcmlvZCwgcnVudGltZSkgPD0KIAkJdG9fcmF0aW8oa3RpbWVfdG9fbnMocGFyZW50LT5ydF9iYW5kd2lkdGgucnRfcGVyaW9kKSwKIAkJCQlwYXJlbnQtPnJ0X2JhbmR3aWR0aC5ydF9ydW50aW1lKTsKIH0KQEAgLTg1MTksMTYgKzg4NDksMjEgQEAKIAogc3RhdGljIGludCBzY2hlZF9ydF9nbG9iYWxfY29uc3RyYWludHModm9pZCkKIHsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSAmcm9vdF90YXNrX2dyb3VwOworCXU2NCBydF9ydW50aW1lLCBydF9wZXJpb2Q7CiAJaW50IHJldCA9IDA7CiAKKwlydF9wZXJpb2QgPSBrdGltZV90b19ucyh0Zy0+cnRfYmFuZHdpZHRoLnJ0X3BlcmlvZCk7CisJcnRfcnVudGltZSA9IHRnLT5ydF9iYW5kd2lkdGgucnRfcnVudGltZTsKKwogCW11dGV4X2xvY2soJnJ0X2NvbnN0cmFpbnRzX211dGV4KTsKLQlpZiAoIV9fcnRfc2NoZWR1bGFibGUoTlVMTCwgMSwgMCkpCisJaWYgKCFfX3J0X3NjaGVkdWxhYmxlKHRnLCBydF9wZXJpb2QsIHJ0X3J1bnRpbWUpKQogCQlyZXQgPSAtRUlOVkFMOwogCW11dGV4X3VubG9jaygmcnRfY29uc3RyYWludHNfbXV0ZXgpOwogCiAJcmV0dXJuIHJldDsKIH0KLSNlbHNlCisjZWxzZSAvKiAhQ09ORklHX1JUX0dST1VQX1NDSEVEICovCiBzdGF0aWMgaW50IHNjaGVkX3J0X2dsb2JhbF9jb25zdHJhaW50cyh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC04NTQ2LDcgKzg4ODEsNyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogaW50IHNjaGVkX3J0X2hhbmRsZXIoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKIAkJc3RydWN0IGZpbGUgKmZpbHAsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVucCwKQEAgLTg2NTQsNyArODk4OSw3IEBACiAKIAlyZXR1cm4gKHU2NCkgdGctPnNoYXJlczsKIH0KLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19GQUlSX0dST1VQX1NDSEVEICovCiAKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKIHN0YXRpYyBpbnQgY3B1X3J0X3J1bnRpbWVfd3JpdGUoc3RydWN0IGNncm91cCAqY2dycCwgc3RydWN0IGNmdHlwZSAqY2Z0LApAQCAtODY3OCw3ICs5MDEzLDcgQEAKIHsKIAlyZXR1cm4gc2NoZWRfZ3JvdXBfcnRfcGVyaW9kKGNncm91cF90ZyhjZ3JwKSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogc3RhdGljIHN0cnVjdCBjZnR5cGUgY3B1X2ZpbGVzW10gPSB7CiAjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jbG9jay5jIGIva2VybmVsL3NjaGVkX2Nsb2NrLmMKaW5kZXggY2UwNTI3MS4uMjJlZDU1ZCAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2Nsb2NrLmMKKysrIGIva2VybmVsL3NjaGVkX2Nsb2NrLmMKQEAgLTMsNiArMyw5IEBACiAgKgogICogIENvcHlyaWdodCAoQykgMjAwOCBSZWQgSGF0LCBJbmMuLCBQZXRlciBaaWpsc3RyYSA8cHppamxzdHJAcmVkaGF0LmNvbT4KICAqCisgKiAgVXBkYXRlcyBhbmQgZW5oYW5jZW1lbnRzOgorICogICAgQ29weXJpZ2h0IChDKSAyMDA4IFJlZCBIYXQsIEluYy4gU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKgogICogQmFzZWQgb24gY29kZSBieToKICAqICAgSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CiAgKiAgIEd1aWxsYXVtZSBDaGF6YXJhaW4gPGd1aWNoYXpAZ21haWwuY29tPgpAQCAtMzIsNiArMzUsMTEgQEAKIAogI2lmZGVmIENPTkZJR19IQVZFX1VOU1RBQkxFX1NDSEVEX0NMT0NLCiAKKyNkZWZpbmUgTVVMVElfU0hJRlQgMTUKKy8qIE1heCBpcyBkb3VibGUsIE1pbiBpcyAxLzIgKi8KKyNkZWZpbmUgTUFYX01VTFRJICgyTEwgPDwgTVVMVElfU0hJRlQpCisjZGVmaW5lIE1JTl9NVUxUSSAoMUxMIDw8IChNVUxUSV9TSElGVC0xKSkKKwogc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgewogCS8qCiAJICogUmF3IHNwaW5sb2NrIC0gdGhpcyBpcyBhIHNwZWNpYWwgY2FzZTogdGhpcyBtaWdodCBiZSBjYWxsZWQKQEAgLTQwLDExICs0OCwxNSBAQAogCSAqLwogCXJhd19zcGlubG9ja190CQlsb2NrOwogCi0JdW5zaWduZWQgbG9uZwkJcHJldl9qaWZmaWVzOworCXVuc2lnbmVkIGxvbmcJCXRpY2tfamlmZmllczsKIAl1NjQJCQlwcmV2X3JhdzsKIAl1NjQJCQl0aWNrX3JhdzsKIAl1NjQJCQl0aWNrX2d0b2Q7CiAJdTY0CQkJY2xvY2s7CisJczY0CQkJbXVsdGk7CisjaWZkZWYgQ09ORklHX05PX0haCisJaW50CQkJY2hlY2tfbWF4OworI2VuZGlmCiB9OwogCiBzdGF0aWMgREVGSU5FX1BFUl9DUFVfU0hBUkVEX0FMSUdORUQoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEsIHNjaGVkX2Nsb2NrX2RhdGEpOwpAQCAtNzEsNDEgKzgzLDkxIEBACiAJCXN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QgPSBjcHVfc2RjKGNwdSk7CiAKIAkJc2NkLT5sb2NrID0gKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKLQkJc2NkLT5wcmV2X2ppZmZpZXMgPSBub3dfamlmZmllczsKKwkJc2NkLT50aWNrX2ppZmZpZXMgPSBub3dfamlmZmllczsKIAkJc2NkLT5wcmV2X3JhdyA9IDA7CiAJCXNjZC0+dGlja19yYXcgPSAwOwogCQlzY2QtPnRpY2tfZ3RvZCA9IGt0aW1lX25vdzsKIAkJc2NkLT5jbG9jayA9IGt0aW1lX25vdzsKKwkJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CisjaWZkZWYgQ09ORklHX05PX0haCisJCXNjZC0+Y2hlY2tfbWF4ID0gMTsKKyNlbmRpZgogCX0KIAogCXNjaGVkX2Nsb2NrX3J1bm5pbmcgPSAxOwogfQogCisjaWZkZWYgQ09ORklHX05PX0haCisvKgorICogVGhlIGR5bmFtaWMgdGlja3MgbWFrZXMgdGhlIGRlbHRhIGppZmZpZXMgaW5hY2N1cmF0ZS4gVGhpcworICogcHJldmVudHMgdXMgZnJvbSBjaGVja2luZyB0aGUgbWF4aW11bSB0aW1lIHVwZGF0ZS4KKyAqIERpc2FibGUgdGhlIG1heGltdW0gY2hlY2sgZHVyaW5nIHN0b3BwZWQgdGlja3MuCisgKi8KK3ZvaWQgc2NoZWRfY2xvY2tfdGlja19zdG9wKGludCBjcHUpCit7CisJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKKworCXNjZC0+Y2hlY2tfbWF4ID0gMDsKK30KKwordm9pZCBzY2hlZF9jbG9ja190aWNrX3N0YXJ0KGludCBjcHUpCit7CisJc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCA9IGNwdV9zZGMoY3B1KTsKKworCXNjZC0+Y2hlY2tfbWF4ID0gMTsKK30KKworc3RhdGljIGludCBjaGVja19tYXgoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCkKK3sKKwlyZXR1cm4gc2NkLT5jaGVja19tYXg7Cit9CisjZWxzZQorc3RhdGljIGludCBjaGVja19tYXgoc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCkKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZiAvKiBDT05GSUdfTk9fSFogKi8KKwogLyoKICAqIHVwZGF0ZSB0aGUgcGVyY3B1IHNjZCBmcm9tIHRoZSByYXcgQG5vdyB2YWx1ZQogICoKICAqICAtIGZpbHRlciBvdXQgYmFja3dhcmQgbW90aW9uCiAgKiAgLSB1c2UgamlmZmllcyB0byBnZW5lcmF0ZSBhIG1pbixtYXggd2luZG93IHRvIGNsaXAgdGhlIHJhdyB2YWx1ZXMKICAqLwotc3RhdGljIHZvaWQgX191cGRhdGVfc2NoZWRfY2xvY2soc3RydWN0IHNjaGVkX2Nsb2NrX2RhdGEgKnNjZCwgdTY0IG5vdykKK3N0YXRpYyB2b2lkIF9fdXBkYXRlX3NjaGVkX2Nsb2NrKHN0cnVjdCBzY2hlZF9jbG9ja19kYXRhICpzY2QsIHU2NCBub3csIHU2NCAqdGltZSkKIHsKIAl1bnNpZ25lZCBsb25nIG5vd19qaWZmaWVzID0gamlmZmllczsKLQlsb25nIGRlbHRhX2ppZmZpZXMgPSBub3dfamlmZmllcyAtIHNjZC0+cHJldl9qaWZmaWVzOworCWxvbmcgZGVsdGFfamlmZmllcyA9IG5vd19qaWZmaWVzIC0gc2NkLT50aWNrX2ppZmZpZXM7CiAJdTY0IGNsb2NrID0gc2NkLT5jbG9jazsKIAl1NjQgbWluX2Nsb2NrLCBtYXhfY2xvY2s7CiAJczY0IGRlbHRhID0gbm93IC0gc2NkLT5wcmV2X3JhdzsKIAogCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKLQltaW5fY2xvY2sgPSBzY2QtPnRpY2tfZ3RvZCArIGRlbHRhX2ppZmZpZXMgKiBUSUNLX05TRUM7CisKKwkvKgorCSAqIEF0IHNjaGVkdWxlIHRpY2sgdGhlIGNsb2NrIGNhbiBiZSBqdXN0IHVuZGVyIHRoZSBndG9kLiBXZSBkb24ndAorCSAqIHdhbnQgdG8gcHVzaCBpdCB0b28gcHJlbWF0dXJlbHkuCisJICovCisJbWluX2Nsb2NrID0gc2NkLT50aWNrX2d0b2QgKyAoZGVsdGFfamlmZmllcyAqIFRJQ0tfTlNFQyk7CisJaWYgKG1pbl9jbG9jayA+IFRJQ0tfTlNFQykKKwkJbWluX2Nsb2NrIC09IFRJQ0tfTlNFQyAvIDI7CiAKIAlpZiAodW5saWtlbHkoZGVsdGEgPCAwKSkgewogCQljbG9jaysrOwogCQlnb3RvIG91dDsKIAl9CiAKLQltYXhfY2xvY2sgPSBtaW5fY2xvY2sgKyBUSUNLX05TRUM7CisJLyoKKwkgKiBUaGUgY2xvY2sgbXVzdCBzdGF5IHdpdGhpbiBhIGppZmZpZSBvZiB0aGUgZ3RvZC4KKwkgKiBCdXQgc2luY2Ugd2UgbWF5IGJlIGF0IHRoZSBzdGFydCBvZiBhIGppZmZ5IG9yIHRoZSBlbmQgb2Ygb25lCisJICogd2UgYWRkIGFub3RoZXIgamlmZnkgYnVmZmVyLgorCSAqLworCW1heF9jbG9jayA9IHNjZC0+dGlja19ndG9kICsgKDIgKyBkZWx0YV9qaWZmaWVzKSAqIFRJQ0tfTlNFQzsKIAotCWlmICh1bmxpa2VseShjbG9jayArIGRlbHRhID4gbWF4X2Nsb2NrKSkgeworCWRlbHRhICo9IHNjZC0+bXVsdGk7CisJZGVsdGEgPj49IE1VTFRJX1NISUZUOworCisJaWYgKHVubGlrZWx5KGNsb2NrICsgZGVsdGEgPiBtYXhfY2xvY2spICYmIGNoZWNrX21heChzY2QpKSB7CiAJCWlmIChjbG9jayA8IG1heF9jbG9jaykKIAkJCWNsb2NrID0gbWF4X2Nsb2NrOwogCQllbHNlCkBAIC0xMTgsOSArMTgwLDEyIEBACiAJaWYgKHVubGlrZWx5KGNsb2NrIDwgbWluX2Nsb2NrKSkKIAkJY2xvY2sgPSBtaW5fY2xvY2s7CiAKLQlzY2QtPnByZXZfcmF3ID0gbm93OwotCXNjZC0+cHJldl9qaWZmaWVzID0gbm93X2ppZmZpZXM7Ci0Jc2NkLT5jbG9jayA9IGNsb2NrOworCWlmICh0aW1lKQorCQkqdGltZSA9IGNsb2NrOworCWVsc2UgeworCQlzY2QtPnByZXZfcmF3ID0gbm93OworCQlzY2QtPmNsb2NrID0gY2xvY2s7CisJfQogfQogCiBzdGF0aWMgdm9pZCBsb2NrX2RvdWJsZV9jbG9jayhzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqZGF0YTEsCkBAIC0xNjAsMjUgKzIyNSwzMCBAQAogCQlub3cgLT0gbXlfc2NkLT50aWNrX3JhdzsKIAkJbm93ICs9IHNjZC0+dGlja19yYXc7CiAKLQkJbm93IC09IG15X3NjZC0+dGlja19ndG9kOwotCQlub3cgKz0gc2NkLT50aWNrX2d0b2Q7CisJCW5vdyArPSBteV9zY2QtPnRpY2tfZ3RvZDsKKwkJbm93IC09IHNjZC0+dGlja19ndG9kOwogCiAJCV9fcmF3X3NwaW5fdW5sb2NrKCZteV9zY2QtPmxvY2spOworCisJCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCAmY2xvY2spOworCisJCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOworCiAJfSBlbHNlIHsKIAkJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOworCQlfX3VwZGF0ZV9zY2hlZF9jbG9jayhzY2QsIG5vdywgTlVMTCk7CisJCWNsb2NrID0gc2NkLT5jbG9jazsKKwkJX19yYXdfc3Bpbl91bmxvY2soJnNjZC0+bG9jayk7CiAJfQogCi0JX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3cpOwotCWNsb2NrID0gc2NkLT5jbG9jazsKLQotCV9fcmF3X3NwaW5fdW5sb2NrKCZzY2QtPmxvY2spOwotCiAJcmV0dXJuIGNsb2NrOwogfQogCiB2b2lkIHNjaGVkX2Nsb2NrX3RpY2sodm9pZCkKIHsKIAlzdHJ1Y3Qgc2NoZWRfY2xvY2tfZGF0YSAqc2NkID0gdGhpc19zY2QoKTsKKwl1bnNpZ25lZCBsb25nIG5vd19qaWZmaWVzID0gamlmZmllczsKKwlzNjQgbXVsdCwgZGVsdGFfZ3RvZCwgZGVsdGFfcmF3OwogCXU2NCBub3csIG5vd19ndG9kOwogCiAJaWYgKHVubGlrZWx5KCFzY2hlZF9jbG9ja19ydW5uaW5nKSkKQEAgLTE4NiwxOCArMjU2LDMzIEBACiAKIAlXQVJOX09OX09OQ0UoIWlycXNfZGlzYWJsZWQoKSk7CiAKLQlub3cgPSBzY2hlZF9jbG9jaygpOwogCW5vd19ndG9kID0ga3RpbWVfdG9fbnMoa3RpbWVfZ2V0KCkpOworCW5vdyA9IHNjaGVkX2Nsb2NrKCk7CiAKIAlfX3Jhd19zcGluX2xvY2soJnNjZC0+bG9jayk7Ci0JX191cGRhdGVfc2NoZWRfY2xvY2soc2NkLCBub3cpOworCV9fdXBkYXRlX3NjaGVkX2Nsb2NrKHNjZCwgbm93LCBOVUxMKTsKIAkvKgogCSAqIHVwZGF0ZSB0aWNrX2d0b2QgYWZ0ZXIgX191cGRhdGVfc2NoZWRfY2xvY2soKSBiZWNhdXNlIHRoYXQgd2lsbAogCSAqIGFscmVhZHkgb2JzZXJ2ZSAxIG5ldyBqaWZmeTsgYWRkaW5nIGEgbmV3IHRpY2tfZ3RvZCB0byB0aGF0IHdvdWxkCiAJICogaW5jcmVhc2UgdGhlIGNsb2NrIDIgamlmZmllcy4KIAkgKi8KKwlkZWx0YV9ndG9kID0gbm93X2d0b2QgLSBzY2QtPnRpY2tfZ3RvZDsKKwlkZWx0YV9yYXcgPSBub3cgLSBzY2QtPnRpY2tfcmF3OworCisJaWYgKChsb25nKWRlbHRhX3JhdyA+IDApIHsKKwkJbXVsdCA9IGRlbHRhX2d0b2QgPDwgTVVMVElfU0hJRlQ7CisJCWRvX2RpdihtdWx0LCBkZWx0YV9yYXcpOworCQlzY2QtPm11bHRpID0gbXVsdDsKKwkJaWYgKHNjZC0+bXVsdGkgPiBNQVhfTVVMVEkpCisJCQlzY2QtPm11bHRpID0gTUFYX01VTFRJOworCQllbHNlIGlmIChzY2QtPm11bHRpIDwgTUlOX01VTFRJKQorCQkJc2NkLT5tdWx0aSA9IE1JTl9NVUxUSTsKKwl9IGVsc2UKKwkJc2NkLT5tdWx0aSA9IDEgPDwgTVVMVElfU0hJRlQ7CisKIAlzY2QtPnRpY2tfcmF3ID0gbm93OwogCXNjZC0+dGlja19ndG9kID0gbm93X2d0b2Q7CisJc2NkLT50aWNrX2ppZmZpZXMgPSBub3dfamlmZmllczsKIAlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIH0KIApAQCAtMjI3LDYgKzMxMiw3IEBACiAJX19yYXdfc3Bpbl9sb2NrKCZzY2QtPmxvY2spOwogCXNjZC0+cHJldl9yYXcgPSBub3c7CiAJc2NkLT5jbG9jayArPSBkZWx0YV9uczsKKwlzY2QtPm11bHRpID0gMSA8PCBNVUxUSV9TSElGVDsKIAlfX3Jhd19zcGluX3VubG9jaygmc2NkLT5sb2NrKTsKIAogCXRvdWNoX3NvZnRsb2NrdXBfd2F0Y2hkb2coKTsKQEAgLTI0NCwzICszMzAsMTYgQEAKIHsKIAlyZXR1cm4gKHVuc2lnbmVkIGxvbmcgbG9uZylqaWZmaWVzICogKE5TRUNfUEVSX1NFQyAvIEhaKTsKIH0KKwordW5zaWduZWQgbG9uZyBsb25nIGNwdV9jbG9jayhpbnQgY3B1KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBjbG9jazsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCWNsb2NrID0gc2NoZWRfY2xvY2tfY3B1KGNwdSk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCisJcmV0dXJuIGNsb2NrOworfQorRVhQT1JUX1NZTUJPTF9HUEwoY3B1X2Nsb2NrKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9jcHVwcmkuYyBiL2tlcm5lbC9zY2hlZF9jcHVwcmkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjE1NGZlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NjaGVkX2NwdXByaS5jCkBAIC0wLDAgKzEsMTc0IEBACisvKgorICogIGtlcm5lbC9zY2hlZF9jcHVwcmkuYworICoKKyAqICBDUFUgcHJpb3JpdHkgbWFuYWdlbWVudAorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBOb3ZlbGwKKyAqCisgKiAgQXV0aG9yOiBHcmVnb3J5IEhhc2tpbnMgPGdoYXNraW5zQG5vdmVsbC5jb20+CisgKgorICogIFRoaXMgY29kZSB0cmFja3MgdGhlIHByaW9yaXR5IG9mIGVhY2ggQ1BVIHNvIHRoYXQgZ2xvYmFsIG1pZ3JhdGlvbgorICogIGRlY2lzaW9ucyBhcmUgZWFzeSB0byBjYWxjdWxhdGUuICBFYWNoIENQVSBjYW4gYmUgaW4gYSBzdGF0ZSBhcyBmb2xsb3dzOgorICoKKyAqICAgICAgICAgICAgICAgICAoSU5WQUxJRCksIElETEUsIE5PUk1BTCwgUlQxLCAuLi4gUlQ5OQorICoKKyAqICBnb2luZyBmcm9tIHRoZSBsb3dlc3QgcHJpb3JpdHkgdG8gdGhlIGhpZ2hlc3QuICBDUFVzIGluIHRoZSBJTlZBTElEIHN0YXRlCisgKiAgYXJlIG5vdCBlbGlnaWJsZSBmb3Igcm91dGluZy4gIFRoZSBzeXN0ZW0gbWFpbnRhaW5zIHRoaXMgc3RhdGUgd2l0aAorICogIGEgMiBkaW1lbnNpb25hbCBiaXRtYXAgKHRoZSBmaXJzdCBmb3IgcHJpb3JpdHkgY2xhc3MsIHRoZSBzZWNvbmQgZm9yIGNwdXMKKyAqICBpbiB0aGF0IGNsYXNzKS4gIFRoZXJlZm9yZSBhIHR5cGljYWwgYXBwbGljYXRpb24gd2l0aG91dCBhZmZpbml0eQorICogIHJlc3RyaWN0aW9ucyBjYW4gZmluZCBhIHN1aXRhYmxlIENQVSB3aXRoIE8oMSkgY29tcGxleGl0eSAoZS5nLiB0d28gYml0CisgKiAgc2VhcmNoZXMpLiAgRm9yIHRhc2tzIHdpdGggYWZmaW5pdHkgcmVzdHJpY3Rpb25zLCB0aGUgYWxnb3JpdGhtIGhhcyBhCisgKiAgd29yc3QgY2FzZSBjb21wbGV4aXR5IG9mIE8obWluKDEwMiwgbnJfZG9tY3B1cykpLCB0aG91Z2ggdGhlIHNjZW5hcmlvIHRoYXQKKyAqICB5aWVsZHMgdGhlIHdvcnN0IGNhc2Ugc2VhcmNoIGlzIGZhaXJseSBjb250cml2ZWQuCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIKKyAqICBvZiB0aGUgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAic2NoZWRfY3B1cHJpLmgiCisKKy8qIENvbnZlcnQgYmV0d2VlbiBhIDE0MCBiYXNlZCB0YXNrLT5wcmlvLCBhbmQgb3VyIDEwMiBiYXNlZCBjcHVwcmkgKi8KK3N0YXRpYyBpbnQgY29udmVydF9wcmlvKGludCBwcmlvKQoreworCWludCBjcHVwcmk7CisKKwlpZiAocHJpbyA9PSBDUFVQUklfSU5WQUxJRCkKKwkJY3B1cHJpID0gQ1BVUFJJX0lOVkFMSUQ7CisJZWxzZSBpZiAocHJpbyA9PSBNQVhfUFJJTykKKwkJY3B1cHJpID0gQ1BVUFJJX0lETEU7CisJZWxzZSBpZiAocHJpbyA+PSBNQVhfUlRfUFJJTykKKwkJY3B1cHJpID0gQ1BVUFJJX05PUk1BTDsKKwllbHNlCisJCWNwdXByaSA9IE1BWF9SVF9QUklPIC0gcHJpbyArIDE7CisKKwlyZXR1cm4gY3B1cHJpOworfQorCisjZGVmaW5lIGZvcl9lYWNoX2NwdXByaV9hY3RpdmUoYXJyYXksIGlkeCkgICAgICAgICAgICAgICAgICAgIFwKKyAgZm9yIChpZHggPSBmaW5kX2ZpcnN0X2JpdChhcnJheSwgQ1BVUFJJX05SX1BSSU9SSVRJRVMpOyAgICAgXAorICAgICAgIGlkeCA8IENQVVBSSV9OUl9QUklPUklUSUVTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgaWR4ID0gZmluZF9uZXh0X2JpdChhcnJheSwgQ1BVUFJJX05SX1BSSU9SSVRJRVMsIGlkeCsxKSkKKworLyoqCisgKiBjcHVwcmlfZmluZCAtIGZpbmQgdGhlIGJlc3QgKGxvd2VzdC1wcmkpIENQVSBpbiB0aGUgc3lzdGVtCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICogQHA6IFRoZSB0YXNrCisgKiBAbG93ZXN0X21hc2s6IEEgbWFzayB0byBmaWxsIGluIHdpdGggc2VsZWN0ZWQgQ1BVcworICoKKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVjb21tZW5kZWQgQ1BVcyBhcyBjYWxjdWxhdGVkIGR1cmluZyB0aGUKKyAqIGN1cnJlbnQgaW52b2thdGlvbi4gIEJ5IHRoZSB0aW1lIHRoZSBjYWxsIHJldHVybnMsIHRoZSBDUFVzIG1heSBoYXZlIGluCisgKiBmYWN0IGNoYW5nZWQgcHJpb3JpdGllcyBhbnkgbnVtYmVyIG9mIHRpbWVzLiAgV2hpbGUgbm90IGlkZWFsLCBpdCBpcyBub3QKKyAqIGFuIGlzc3VlIG9mIGNvcnJlY3RuZXNzIHNpbmNlIHRoZSBub3JtYWwgcmViYWxhbmNlciBsb2dpYyB3aWxsIGNvcnJlY3QKKyAqIGFueSBkaXNjcmVwYW5jaWVzIGNyZWF0ZWQgYnkgcmFjaW5nIGFnYWluc3QgdGhlIHVuY2VydGFpbnR5IG9mIHRoZSBjdXJyZW50CisgKiBwcmlvcml0eSBjb25maWd1cmF0aW9uLgorICoKKyAqIFJldHVybnM6IChpbnQpYm9vbCAtIENQVXMgd2VyZSBmb3VuZAorICovCitpbnQgY3B1cHJpX2ZpbmQoc3RydWN0IGNwdXByaSAqY3AsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwKKwkJY3B1bWFza190ICpsb3dlc3RfbWFzaykKK3sKKwlpbnQgICAgICAgICAgICAgICAgICBpZHggICAgICA9IDA7CisJaW50ICAgICAgICAgICAgICAgICAgdGFza19wcmkgPSBjb252ZXJ0X3ByaW8ocC0+cHJpbyk7CisKKwlmb3JfZWFjaF9jcHVwcmlfYWN0aXZlKGNwLT5wcmlfYWN0aXZlLCBpZHgpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyAgPSAmY3AtPnByaV90b19jcHVbaWR4XTsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJaWYgKGlkeCA+PSB0YXNrX3ByaSkKKwkJCWJyZWFrOworCisJCWNwdXNfYW5kKG1hc2ssIHAtPmNwdXNfYWxsb3dlZCwgdmVjLT5tYXNrKTsKKworCQlpZiAoY3B1c19lbXB0eShtYXNrKSkKKwkJCWNvbnRpbnVlOworCisJCSpsb3dlc3RfbWFzayA9IG1hc2s7CisJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGNwdXByaV9zZXQgLSB1cGRhdGUgdGhlIGNwdSBwcmlvcml0eSBzZXR0aW5nCisgKiBAY3A6IFRoZSBjcHVwcmkgY29udGV4dAorICogQGNwdTogVGhlIHRhcmdldCBjcHUKKyAqIEBwcmk6IFRoZSBwcmlvcml0eSAoSU5WQUxJRC1SVDk5KSB0byBhc3NpZ24gdG8gdGhpcyBDUFUKKyAqCisgKiBOb3RlOiBBc3N1bWVzIGNwdV9ycShjcHUpLT5sb2NrIGlzIGxvY2tlZAorICoKKyAqIFJldHVybnM6ICh2b2lkKQorICovCit2b2lkIGNwdXByaV9zZXQoc3RydWN0IGNwdXByaSAqY3AsIGludCBjcHUsIGludCBuZXdwcmkpCit7CisJaW50ICAgICAgICAgICAgICAgICAqY3VycnByaSA9ICZjcC0+Y3B1X3RvX3ByaVtjcHVdOworCWludCAgICAgICAgICAgICAgICAgIG9sZHByaSAgPSAqY3VycnByaTsKKwl1bnNpZ25lZCBsb25nICAgICAgICBmbGFnczsKKworCW5ld3ByaSA9IGNvbnZlcnRfcHJpbyhuZXdwcmkpOworCisJQlVHX09OKG5ld3ByaSA+PSBDUFVQUklfTlJfUFJJT1JJVElFUyk7CisKKwlpZiAobmV3cHJpID09IG9sZHByaSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJZiB0aGUgY3B1IHdhcyBjdXJyZW50bHkgbWFwcGVkIHRvIGEgZGlmZmVyZW50IHZhbHVlLCB3ZQorCSAqIGZpcnN0IG5lZWQgdG8gdW5tYXAgdGhlIG9sZCB2YWx1ZQorCSAqLworCWlmIChsaWtlbHkob2xkcHJpICE9IENQVVBSSV9JTlZBTElEKSkgeworCQlzdHJ1Y3QgY3B1cHJpX3ZlYyAqdmVjICA9ICZjcC0+cHJpX3RvX2NwdVtvbGRwcmldOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKworCQl2ZWMtPmNvdW50LS07CisJCWlmICghdmVjLT5jb3VudCkKKwkJCWNsZWFyX2JpdChvbGRwcmksIGNwLT5wcmlfYWN0aXZlKTsKKwkJY3B1X2NsZWFyKGNwdSwgdmVjLT5tYXNrKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKwl9CisKKwlpZiAobGlrZWx5KG5ld3ByaSAhPSBDUFVQUklfSU5WQUxJRCkpIHsKKwkJc3RydWN0IGNwdXByaV92ZWMgKnZlYyA9ICZjcC0+cHJpX3RvX2NwdVtuZXdwcmldOworCisJCXNwaW5fbG9ja19pcnFzYXZlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKworCQljcHVfc2V0KGNwdSwgdmVjLT5tYXNrKTsKKwkJdmVjLT5jb3VudCsrOworCQlpZiAodmVjLT5jb3VudCA9PSAxKQorCQkJc2V0X2JpdChuZXdwcmksIGNwLT5wcmlfYWN0aXZlKTsKKworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2ZWMtPmxvY2ssIGZsYWdzKTsKKwl9CisKKwkqY3VycnByaSA9IG5ld3ByaTsKK30KKworLyoqCisgKiBjcHVwcmlfaW5pdCAtIGluaXRpYWxpemUgdGhlIGNwdXByaSBzdHJ1Y3R1cmUKKyAqIEBjcDogVGhlIGNwdXByaSBjb250ZXh0CisgKgorICogUmV0dXJuczogKHZvaWQpCisgKi8KK3ZvaWQgY3B1cHJpX2luaXQoc3RydWN0IGNwdXByaSAqY3ApCit7CisJaW50IGk7CisKKwltZW1zZXQoY3AsIDAsIHNpemVvZigqY3ApKTsKKworCWZvciAoaSA9IDA7IGkgPCBDUFVQUklfTlJfUFJJT1JJVElFUzsgaSsrKSB7CisJCXN0cnVjdCBjcHVwcmlfdmVjICp2ZWMgPSAmY3AtPnByaV90b19jcHVbaV07CisKKwkJc3Bpbl9sb2NrX2luaXQoJnZlYy0+bG9jayk7CisJCXZlYy0+Y291bnQgPSAwOworCQljcHVzX2NsZWFyKHZlYy0+bWFzayk7CisJfQorCisJZm9yX2VhY2hfcG9zc2libGVfY3B1KGkpCisJCWNwLT5jcHVfdG9fcHJpW2ldID0gQ1BVUFJJX0lOVkFMSUQ7Cit9CisKKwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX2NwdXByaS5oIGIva2VybmVsL3NjaGVkX2NwdXByaS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyNTgxMWIwCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NjaGVkX2NwdXByaS5oCkBAIC0wLDAgKzEsMzYgQEAKKyNpZm5kZWYgX0xJTlVYX0NQVVBSSV9ICisjZGVmaW5lIF9MSU5VWF9DUFVQUklfSAorCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKworI2RlZmluZSBDUFVQUklfTlJfUFJJT1JJVElFUwkoTUFYX1JUX1BSSU8gKyAyKQorI2RlZmluZSBDUFVQUklfTlJfUFJJX1dPUkRTCUJJVFNfVE9fTE9OR1MoQ1BVUFJJX05SX1BSSU9SSVRJRVMpCisKKyNkZWZpbmUgQ1BVUFJJX0lOVkFMSUQgLTEKKyNkZWZpbmUgQ1BVUFJJX0lETEUgICAgIDAKKyNkZWZpbmUgQ1BVUFJJX05PUk1BTCAgIDEKKy8qIHZhbHVlcyAyLTEwMSBhcmUgUlQgcHJpb3JpdGllcyAwLTk5ICovCisKK3N0cnVjdCBjcHVwcmlfdmVjIHsKKwlzcGlubG9ja190IGxvY2s7CisJaW50ICAgICAgICBjb3VudDsKKwljcHVtYXNrX3QgIG1hc2s7Cit9OworCitzdHJ1Y3QgY3B1cHJpIHsKKwlzdHJ1Y3QgY3B1cHJpX3ZlYyBwcmlfdG9fY3B1W0NQVVBSSV9OUl9QUklPUklUSUVTXTsKKwlsb25nICAgICAgICAgICAgICBwcmlfYWN0aXZlW0NQVVBSSV9OUl9QUklfV09SRFNdOworCWludCAgICAgICAgICAgICAgIGNwdV90b19wcmlbTlJfQ1BVU107Cit9OworCisjaWZkZWYgQ09ORklHX1NNUAoraW50ICBjcHVwcmlfZmluZChzdHJ1Y3QgY3B1cHJpICpjcCwKKwkJIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY3B1bWFza190ICpsb3dlc3RfbWFzayk7Cit2b2lkIGNwdXByaV9zZXQoc3RydWN0IGNwdXByaSAqY3AsIGludCBjcHUsIGludCBwcmkpOwordm9pZCBjcHVwcmlfaW5pdChzdHJ1Y3QgY3B1cHJpICpjcCk7CisjZWxzZQorI2RlZmluZSBjcHVwcmlfc2V0KGNwLCBjcHUsIHByaSkgZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBjcHVwcmlfaW5pdCgpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjZW5kaWYgLyogX0xJTlVYX0NQVVBSSV9IICovCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfZGVidWcuYyBiL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCmluZGV4IDhiYjcxMzAuLmJiZTZiMzEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCisrKyBiL2tlcm5lbC9zY2hlZF9kZWJ1Zy5jCkBAIC0xMTksOSArMTE5LDcgQEAKIAlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpsYXN0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLSNpZiAhZGVmaW5lZChDT05GSUdfQ0dST1VQX1NDSEVEKSB8fCAhZGVmaW5lZChDT05GSUdfVVNFUl9TQ0hFRCkKLQlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06XG4iLCBjcHUpOwotI2Vsc2UKKyNpZiBkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpICYmIGRlZmluZWQoQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQpCiAJY2hhciBwYXRoWzEyOF0gPSAiIjsKIAlzdHJ1Y3QgY2dyb3VwICpjZ3JvdXAgPSBOVUxMOwogCXN0cnVjdCB0YXNrX2dyb3VwICp0ZyA9IGNmc19ycS0+dGc7CkBAIC0xMzMsNiArMTMxLDggQEAKIAkJY2dyb3VwX3BhdGgoY2dyb3VwLCBwYXRoLCBzaXplb2YocGF0aCkpOwogCiAJU0VRX3ByaW50ZihtLCAiXG5jZnNfcnFbJWRdOiVzXG4iLCBjcHUsIHBhdGgpOworI2Vsc2UKKwlTRVFfcHJpbnRmKG0sICJcbmNmc19ycVslZF06XG4iLCBjcHUpOwogI2VuZGlmCiAKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJUxkLiUwNmxkXG4iLCAiZXhlY19jbG9jayIsCkBAIC0xNjIsMTEgKzE2Miw2NCBAQAogCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbGRcbiIsICJucl9ydW5uaW5nIiwgY2ZzX3JxLT5ucl9ydW5uaW5nKTsKIAlTRVFfcHJpbnRmKG0sICIgIC4lLTMwczogJWxkXG4iLCAibG9hZCIsIGNmc19ycS0+bG9hZC53ZWlnaHQpOwogI2lmZGVmIENPTkZJR19TQ0hFRFNUQVRTCi0JU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVkXG4iLCAiYmtsX2NvdW50IiwKLQkJCXJxLT5ia2xfY291bnQpOworI2RlZmluZSBQKG4pIFNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlZFxuIiwgI24sIHJxLT5uKTsKKworCVAoeWxkX2V4cF9lbXB0eSk7CisJUCh5bGRfYWN0X2VtcHR5KTsKKwlQKHlsZF9ib3RoX2VtcHR5KTsKKwlQKHlsZF9jb3VudCk7CisKKwlQKHNjaGVkX3N3aXRjaCk7CisJUChzY2hlZF9jb3VudCk7CisJUChzY2hlZF9nb2lkbGUpOworCisJUCh0dHd1X2NvdW50KTsKKwlQKHR0d3VfbG9jYWwpOworCisJUChia2xfY291bnQpOworCisjdW5kZWYgUAogI2VuZGlmCiAJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVsZFxuIiwgIm5yX3NwcmVhZF9vdmVyIiwKIAkJCWNmc19ycS0+bnJfc3ByZWFkX292ZXIpOworI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECisjaWZkZWYgQ09ORklHX1NNUAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlbHVcbiIsICJzaGFyZXMiLCBjZnNfcnEtPnNoYXJlcyk7CisjZW5kaWYKKyNlbmRpZgorfQorCit2b2lkIHByaW50X3J0X3JxKHN0cnVjdCBzZXFfZmlsZSAqbSwgaW50IGNwdSwgc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKyNpZiBkZWZpbmVkKENPTkZJR19DR1JPVVBfU0NIRUQpICYmIGRlZmluZWQoQ09ORklHX1JUX0dST1VQX1NDSEVEKQorCWNoYXIgcGF0aFsxMjhdID0gIiI7CisJc3RydWN0IGNncm91cCAqY2dyb3VwID0gTlVMTDsKKwlzdHJ1Y3QgdGFza19ncm91cCAqdGcgPSBydF9ycS0+dGc7CisKKwlpZiAodGcpCisJCWNncm91cCA9IHRnLT5jc3MuY2dyb3VwOworCisJaWYgKGNncm91cCkKKwkJY2dyb3VwX3BhdGgoY2dyb3VwLCBwYXRoLCBzaXplb2YocGF0aCkpOworCisJU0VRX3ByaW50ZihtLCAiXG5ydF9ycVslZF06JXNcbiIsIGNwdSwgcGF0aCk7CisjZWxzZQorCVNFUV9wcmludGYobSwgIlxucnRfcnFbJWRdOlxuIiwgY3B1KTsKKyNlbmRpZgorCisKKyNkZWZpbmUgUCh4KSBcCisJU0VRX3ByaW50ZihtLCAiICAuJS0zMHM6ICVMZFxuIiwgI3gsIChsb25nIGxvbmcpKHJ0X3JxLT54KSkKKyNkZWZpbmUgUE4oeCkgXAorCVNFUV9wcmludGYobSwgIiAgLiUtMzBzOiAlTGQuJTA2bGRcbiIsICN4LCBTUExJVF9OUyhydF9ycS0+eCkpCisKKwlQKHJ0X25yX3J1bm5pbmcpOworCVAocnRfdGhyb3R0bGVkKTsKKwlQTihydF90aW1lKTsKKwlQTihydF9ydW50aW1lKTsKKworI3VuZGVmIFBOCisjdW5kZWYgUAogfQogCiBzdGF0aWMgdm9pZCBwcmludF9jcHUoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1KQpAQCAtMjA4LDYgKzI2MSw3IEBACiAjdW5kZWYgUE4KIAogCXByaW50X2Nmc19zdGF0cyhtLCBjcHUpOworCXByaW50X3J0X3N0YXRzKG0sIGNwdSk7CiAKIAlwcmludF9ycShtLCBycSwgY3B1KTsKIH0KZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9mYWlyLmMgYi9rZXJuZWwvc2NoZWRfZmFpci5jCmluZGV4IDA4YWU4NDguLmYyYWE5ODcgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zY2hlZF9mYWlyLmMKKysrIGIva2VybmVsL3NjaGVkX2ZhaXIuYwpAQCAtNjMsMTMgKzYzLDEzIEBACiAKIC8qCiAgKiBTQ0hFRF9PVEhFUiB3YWtlLXVwIGdyYW51bGFyaXR5LgotICogKGRlZmF1bHQ6IDEwIG1zZWMgKiAoMSArIGlsb2cobmNwdXMpKSwgdW5pdHM6IG5hbm9zZWNvbmRzKQorICogKGRlZmF1bHQ6IDUgbXNlYyAqICgxICsgaWxvZyhuY3B1cykpLCB1bml0czogbmFub3NlY29uZHMpCiAgKgogICogVGhpcyBvcHRpb24gZGVsYXlzIHRoZSBwcmVlbXB0aW9uIGVmZmVjdHMgb2YgZGVjb3VwbGVkIHdvcmtsb2FkcwogICogYW5kIHJlZHVjZXMgdGhlaXIgb3Zlci1zY2hlZHVsaW5nLiBTeW5jaHJvbm91cyB3b3JrbG9hZHMgd2lsbCBzdGlsbAogICogaGF2ZSBpbW1lZGlhdGUgd2FrZXVwL3NsZWVwIGxhdGVuY2llcy4KICAqLwotdW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHkgPSAxMDAwMDAwMFVMOwordW5zaWduZWQgaW50IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHkgPSA1MDAwMDAwVUw7CiAKIGNvbnN0X2RlYnVnIHVuc2lnbmVkIGludCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QgPSA1MDAwMDBVTDsKIApAQCAtMzM0LDYgKzMzNCwzNCBAQAogI2VuZGlmCiAKIC8qCisgKiBkZWx0YSAqPSB3IC8gcncKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nCitjYWxjX2RlbHRhX3dlaWdodCh1bnNpZ25lZCBsb25nIGRlbHRhLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKK3sKKwlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsCisJCQkJc2UtPmxvYWQud2VpZ2h0LCAmY2ZzX3JxX29mKHNlKS0+bG9hZCk7CisJfQorCisJcmV0dXJuIGRlbHRhOworfQorCisvKgorICogZGVsdGEgKj0gcncgLyB3CisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV9mYWlyKHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworCQlkZWx0YSA9IGNhbGNfZGVsdGFfbWluZShkZWx0YSwKKwkJCQljZnNfcnFfb2Yoc2UpLT5sb2FkLndlaWdodCwgJnNlLT5sb2FkKTsKKwl9CisKKwlyZXR1cm4gZGVsdGE7Cit9CisKKy8qCiAgKiBUaGUgaWRlYSBpcyB0byBzZXQgYSBwZXJpb2QgaW4gd2hpY2ggZWFjaCB0YXNrIHJ1bnMgb25jZS4KICAqCiAgKiBXaGVuIHRoZXJlIGFyZSB0b28gbWFueSB0YXNrcyAoc3lzY3RsX3NjaGVkX25yX2xhdGVuY3kpIHdlIGhhdmUgdG8gc3RyZXRjaApAQCAtMzYyLDQ3ICszOTAsODAgQEAKICAqLwogc3RhdGljIHU2NCBzY2hlZF9zbGljZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewotCXU2NCBzbGljZSA9IF9fc2NoZWRfcGVyaW9kKGNmc19ycS0+bnJfcnVubmluZyk7Ci0KLQlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKLQkJY2ZzX3JxID0gY2ZzX3JxX29mKHNlKTsKLQotCQlzbGljZSAqPSBzZS0+bG9hZC53ZWlnaHQ7Ci0JCWRvX2RpdihzbGljZSwgY2ZzX3JxLT5sb2FkLndlaWdodCk7Ci0JfQotCi0KLQlyZXR1cm4gc2xpY2U7CisJcmV0dXJuIGNhbGNfZGVsdGFfd2VpZ2h0KF9fc2NoZWRfcGVyaW9kKGNmc19ycS0+bnJfcnVubmluZyksIHNlKTsKIH0KIAogLyoKICAqIFdlIGNhbGN1bGF0ZSB0aGUgdnJ1bnRpbWUgc2xpY2Ugb2YgYSB0byBiZSBpbnNlcnRlZCB0YXNrCiAgKgotICogdnMgPSBzL3cgPSBwL3J3CisgKiB2cyA9IHMqcncvdyA9IHAKICAqLwogc3RhdGljIHU2NCBzY2hlZF92c2xpY2VfYWRkKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdW5zaWduZWQgbG9uZyBucl9ydW5uaW5nID0gY2ZzX3JxLT5ucl9ydW5uaW5nOwotCXVuc2lnbmVkIGxvbmcgd2VpZ2h0OwotCXU2NCB2c2xpY2U7CiAKIAlpZiAoIXNlLT5vbl9ycSkKIAkJbnJfcnVubmluZysrOwogCi0JdnNsaWNlID0gX19zY2hlZF9wZXJpb2QobnJfcnVubmluZyk7CisJcmV0dXJuIF9fc2NoZWRfcGVyaW9kKG5yX3J1bm5pbmcpOworfQorCisvKgorICogVGhlIGdvYWwgb2YgY2FsY19kZWx0YV9hc3ltKCkgaXMgdG8gYmUgYXN5bW1ldHJpY2FsbHkgYXJvdW5kIE5JQ0VfMF9MT0FELCBpbgorICogdGhhdCBpdCBmYXZvdXJzID49MCBvdmVyIDwwLgorICoKKyAqICAgLTIwICAgICAgICAgfAorICogICAgICAgICAgICAgICB8CisgKiAgICAgMCAtLS0tLS0tLSstLS0tLS0tCisgKiAgICAgICAgICAgICAuJworICogICAgMTkgICAgIC4nCisgKgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworY2FsY19kZWx0YV9hc3ltKHVuc2lnbmVkIGxvbmcgZGVsdGEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQoreworCXN0cnVjdCBsb2FkX3dlaWdodCBsdyA9IHsKKwkJLndlaWdodCA9IE5JQ0VfMF9MT0FELAorCQkuaW52X3dlaWdodCA9IDFVTCA8PCAoV01VTFRfU0hJRlQtTklDRV8wX1NISUZUKQorCX07CiAKIAlmb3JfZWFjaF9zY2hlZF9lbnRpdHkoc2UpIHsKLQkJY2ZzX3JxID0gY2ZzX3JxX29mKHNlKTsKKwkJc3RydWN0IGxvYWRfd2VpZ2h0ICpzZV9sdyA9ICZzZS0+bG9hZDsKKwkJdW5zaWduZWQgbG9uZyBydyA9IGNmc19ycV9vZihzZSktPmxvYWQud2VpZ2h0OwogCi0JCXdlaWdodCA9IGNmc19ycS0+bG9hZC53ZWlnaHQ7Ci0JCWlmICghc2UtPm9uX3JxKQotCQkJd2VpZ2h0ICs9IHNlLT5sb2FkLndlaWdodDsKKyNpZmRlZiBDT05GSUdfRkFJUl9TQ0hFRF9HUk9VUAorCQlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEgPSBzZS0+bXlfcTsKKwkJc3RydWN0IHRhc2tfZ3JvdXAgKnRnID0gTlVMTAogCi0JCXZzbGljZSAqPSBOSUNFXzBfTE9BRDsKLQkJZG9fZGl2KHZzbGljZSwgd2VpZ2h0KTsKKwkJaWYgKGNmc19ycSkKKwkJCXRnID0gY2ZzX3JxLT50ZzsKKworCQlpZiAodGcgJiYgdGctPnNoYXJlcyA8IE5JQ0VfMF9MT0FEKSB7CisJCQkvKgorCQkJICogc2NhbGUgc2hhcmVzIHRvIHdoYXQgaXQgd291bGQgaGF2ZSBiZWVuIGhhZAorCQkJICogdGctPndlaWdodCBiZWVuIE5JQ0VfMF9MT0FEOgorCQkJICoKKwkJCSAqICAgd2VpZ2h0ID0gMTAyNCAqIHNoYXJlcyAvIHRnLT53ZWlnaHQKKwkJCSAqLworCQkJbHcud2VpZ2h0ICo9IHNlLT5sb2FkLndlaWdodDsKKwkJCWx3LndlaWdodCAvPSB0Zy0+c2hhcmVzOworCisJCQlsdy5pbnZfd2VpZ2h0ID0gMDsKKworCQkJc2VfbHcgPSAmbHc7CisJCQlydyArPSBsdy53ZWlnaHQgLSBzZS0+bG9hZC53ZWlnaHQ7CisJCX0gZWxzZQorI2VuZGlmCisKKwkJaWYgKHNlLT5sb2FkLndlaWdodCA8IE5JQ0VfMF9MT0FEKSB7CisJCQlzZV9sdyA9ICZsdzsKKwkJCXJ3ICs9IE5JQ0VfMF9MT0FEIC0gc2UtPmxvYWQud2VpZ2h0OworCQl9CisKKwkJZGVsdGEgPSBjYWxjX2RlbHRhX21pbmUoZGVsdGEsIHJ3LCBzZV9sdyk7CiAJfQogCi0JcmV0dXJuIHZzbGljZTsKKwlyZXR1cm4gZGVsdGE7CiB9CiAKIC8qCkBAIC00MTksMTEgKzQ4MCw3IEBACiAKIAljdXJyLT5zdW1fZXhlY19ydW50aW1lICs9IGRlbHRhX2V4ZWM7CiAJc2NoZWRzdGF0X2FkZChjZnNfcnEsIGV4ZWNfY2xvY2ssIGRlbHRhX2V4ZWMpOwotCWRlbHRhX2V4ZWNfd2VpZ2h0ZWQgPSBkZWx0YV9leGVjOwotCWlmICh1bmxpa2VseShjdXJyLT5sb2FkLndlaWdodCAhPSBOSUNFXzBfTE9BRCkpIHsKLQkJZGVsdGFfZXhlY193ZWlnaHRlZCA9IGNhbGNfZGVsdGFfZmFpcihkZWx0YV9leGVjX3dlaWdodGVkLAotCQkJCQkJCSZjdXJyLT5sb2FkKTsKLQl9CisJZGVsdGFfZXhlY193ZWlnaHRlZCA9IGNhbGNfZGVsdGFfZmFpcihkZWx0YV9leGVjLCBjdXJyKTsKIAljdXJyLT52cnVudGltZSArPSBkZWx0YV9leGVjX3dlaWdodGVkOwogfQogCkBAIC01MTAsMTAgKzU2NywyNyBAQAogICogU2NoZWR1bGluZyBjbGFzcyBxdWV1ZWluZyBtZXRob2RzOgogICovCiAKKyNpZiBkZWZpbmVkIENPTkZJR19TTVAgJiYgZGVmaW5lZCBDT05GSUdfRkFJUl9HUk9VUF9TQ0hFRAorc3RhdGljIHZvaWQKK2FkZF9jZnNfdGFza193ZWlnaHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHdlaWdodCkKK3sKKwljZnNfcnEtPnRhc2tfd2VpZ2h0ICs9IHdlaWdodDsKK30KKyNlbHNlCitzdGF0aWMgaW5saW5lIHZvaWQKK2FkZF9jZnNfdGFza193ZWlnaHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCB1bnNpZ25lZCBsb25nIHdlaWdodCkKK3sKK30KKyNlbmRpZgorCiBzdGF0aWMgdm9pZAogYWNjb3VudF9lbnRpdHlfZW5xdWV1ZShzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEsIHN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlKQogewogCXVwZGF0ZV9sb2FkX2FkZCgmY2ZzX3JxLT5sb2FkLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmICghcGFyZW50X2VudGl0eShzZSkpCisJCWluY19jcHVfbG9hZChycV9vZihjZnNfcnEpLCBzZS0+bG9hZC53ZWlnaHQpOworCWlmIChlbnRpdHlfaXNfdGFzayhzZSkpCisJCWFkZF9jZnNfdGFza193ZWlnaHQoY2ZzX3JxLCBzZS0+bG9hZC53ZWlnaHQpOwogCWNmc19ycS0+bnJfcnVubmluZysrOwogCXNlLT5vbl9ycSA9IDE7CiAJbGlzdF9hZGQoJnNlLT5ncm91cF9ub2RlLCAmY2ZzX3JxLT50YXNrcyk7CkBAIC01MjMsNiArNTk3LDEwIEBACiBhY2NvdW50X2VudGl0eV9kZXF1ZXVlKHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpCiB7CiAJdXBkYXRlX2xvYWRfc3ViKCZjZnNfcnEtPmxvYWQsIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKCFwYXJlbnRfZW50aXR5KHNlKSkKKwkJZGVjX2NwdV9sb2FkKHJxX29mKGNmc19ycSksIHNlLT5sb2FkLndlaWdodCk7CisJaWYgKGVudGl0eV9pc190YXNrKHNlKSkKKwkJYWRkX2Nmc190YXNrX3dlaWdodChjZnNfcnEsIC1zZS0+bG9hZC53ZWlnaHQpOwogCWNmc19ycS0+bnJfcnVubmluZy0tOwogCXNlLT5vbl9ycSA9IDA7CiAJbGlzdF9kZWxfaW5pdCgmc2UtPmdyb3VwX25vZGUpOwpAQCAtNjA5LDggKzY4NywxNyBAQAogCiAJaWYgKCFpbml0aWFsKSB7CiAJCS8qIHNsZWVwcyB1cHRvIGEgc2luZ2xlIGxhdGVuY3kgZG9uJ3QgY291bnQuICovCi0JCWlmIChzY2hlZF9mZWF0KE5FV19GQUlSX1NMRUVQRVJTKSkKLQkJCXZydW50aW1lIC09IHN5c2N0bF9zY2hlZF9sYXRlbmN5OworCQlpZiAoc2NoZWRfZmVhdChORVdfRkFJUl9TTEVFUEVSUykpIHsKKwkJCXVuc2lnbmVkIGxvbmcgdGhyZXNoID0gc3lzY3RsX3NjaGVkX2xhdGVuY3k7CisKKwkJCS8qCisJCQkgKiBjb252ZXJ0IHRoZSBzbGVlcGVyIHRocmVzaG9sZCBpbnRvIHZpcnR1YWwgdGltZQorCQkJICovCisJCQlpZiAoc2NoZWRfZmVhdChOT1JNQUxJWkVEX1NMRUVQRVIpKQorCQkJCXRocmVzaCA9IGNhbGNfZGVsdGFfZmFpcih0aHJlc2gsIHNlKTsKKworCQkJdnJ1bnRpbWUgLT0gdGhyZXNoOworCQl9CiAKIAkJLyogZW5zdXJlIHdlIG5ldmVyIGdhaW4gdGltZSBieSBiZWluZyBwbGFjZWQgYmFja3dhcmRzLiAqLwogCQl2cnVudGltZSA9IG1heF92cnVudGltZShzZS0+dnJ1bnRpbWUsIHZydW50aW1lKTsKQEAgLTYzOSwyMSArNzI2LDYgQEAKIAkJX19lbnF1ZXVlX2VudGl0eShjZnNfcnEsIHNlKTsKIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlX2F2Zyh1NjQgKmF2ZywgdTY0IHNhbXBsZSkKLXsKLQlzNjQgZGlmZiA9IHNhbXBsZSAtICphdmc7Ci0JKmF2ZyArPSBkaWZmID4+IDM7Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9hdmdfc3RhdHMoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKLXsKLQlpZiAoIXNlLT5sYXN0X3dha2V1cCkKLQkJcmV0dXJuOwotCi0JdXBkYXRlX2F2Zygmc2UtPmF2Z19vdmVybGFwLCBzZS0+c3VtX2V4ZWNfcnVudGltZSAtIHNlLT5sYXN0X3dha2V1cCk7Ci0Jc2UtPmxhc3Rfd2FrZXVwID0gMDsKLX0KLQogc3RhdGljIHZvaWQKIGRlcXVldWVfZW50aXR5KHN0cnVjdCBjZnNfcnEgKmNmc19ycSwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UsIGludCBzbGVlcCkKIHsKQEAgLTY2NCw3ICs3MzYsNiBAQAogCiAJdXBkYXRlX3N0YXRzX2RlcXVldWUoY2ZzX3JxLCBzZSk7CiAJaWYgKHNsZWVwKSB7Ci0JCXVwZGF0ZV9hdmdfc3RhdHMoY2ZzX3JxLCBzZSk7CiAjaWZkZWYgQ09ORklHX1NDSEVEU1RBVFMKIAkJaWYgKGVudGl0eV9pc190YXNrKHNlKSkgewogCQkJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSB0YXNrX29mKHNlKTsKQEAgLTcyNiwxNyArNzk3LDE2IEBACiAJc2UtPnByZXZfc3VtX2V4ZWNfcnVudGltZSA9IHNlLT5zdW1fZXhlY19ydW50aW1lOwogfQogCi1zdGF0aWMgaW50Ci13YWtldXBfcHJlZW1wdF9lbnRpdHkoc3RydWN0IHNjaGVkX2VudGl0eSAqY3Vyciwgc3RydWN0IHNjaGVkX2VudGl0eSAqc2UpOwotCiBzdGF0aWMgc3RydWN0IHNjaGVkX2VudGl0eSAqCiBwaWNrX25leHQoc3RydWN0IGNmc19ycSAqY2ZzX3JxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSkKIHsKLQlpZiAoIWNmc19ycS0+bmV4dCkKLQkJcmV0dXJuIHNlOworCXN0cnVjdCBycSAqcnEgPSBycV9vZihjZnNfcnEpOworCXU2NCBwYWlyX3NsaWNlID0gcnEtPmNsb2NrIC0gY2ZzX3JxLT5wYWlyX3N0YXJ0OwogCi0JaWYgKHdha2V1cF9wcmVlbXB0X2VudGl0eShjZnNfcnEtPm5leHQsIHNlKSAhPSAwKQorCWlmICghY2ZzX3JxLT5uZXh0IHx8IHBhaXJfc2xpY2UgPiBzY2hlZF9zbGljZShjZnNfcnEsIGNmc19ycS0+bmV4dCkpIHsKKwkJY2ZzX3JxLT5wYWlyX3N0YXJ0ID0gcnEtPmNsb2NrOwogCQlyZXR1cm4gc2U7CisJfQogCiAJcmV0dXJuIGNmc19ycS0+bmV4dDsKIH0KQEAgLTgzNSw3ICs5MDUsNyBAQAogCQlocnRpY2tfc3RhcnQocnEsIGRlbHRhLCByZXF1ZXVlKTsKIAl9CiB9Ci0jZWxzZQorI2Vsc2UgLyogIUNPTkZJR19TQ0hFRF9IUlRJQ0sgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZAogaHJ0aWNrX3N0YXJ0X2ZhaXIoc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQogewpAQCAtOTc2LDcgKzEwNDYsNyBAQAogCX0KIAlyZXR1cm4gY3B1OwogfQotI2Vsc2UKKyNlbHNlIC8qICFBUkNIX0hBU19TQ0hFRF9XQUtFX0lETEUqLwogc3RhdGljIGlubGluZSBpbnQgd2FrZV9pZGxlKGludCBjcHUsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKIAlyZXR1cm4gY3B1OwpAQCAtOTg3LDYgKzEwNTcsODkgQEAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzY2hlZF9jbGFzcyBmYWlyX3NjaGVkX2NsYXNzOwogCisjaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKKy8qCisgKiBlZmZlY3RpdmVfbG9hZCgpIGNhbGN1bGF0ZXMgdGhlIGxvYWQgY2hhbmdlIGFzIHNlZW4gZnJvbSB0aGUgcm9vdF90YXNrX2dyb3VwCisgKgorICogQWRkaW5nIGxvYWQgdG8gYSBncm91cCBkb2Vzbid0IG1ha2UgYSBncm91cCBoZWF2aWVyLCBidXQgY2FuIGNhdXNlIG1vdmVtZW50CisgKiBvZiBncm91cCBzaGFyZXMgYmV0d2VlbiBjcHVzLiBBc3N1bWluZyB0aGUgc2hhcmVzIHdlcmUgcGVyZmVjdGx5IGFsaWduZWQgb25lCisgKiBjYW4gY2FsY3VsYXRlIHRoZSBzaGlmdCBpbiBzaGFyZXMuCisgKgorICogVGhlIHByb2JsZW0gaXMgdGhhdCBwZXJmZWN0bHkgYWxpZ25pbmcgdGhlIHNoYXJlcyBpcyByYXRoZXIgZXhwZW5zaXZlLCBoZW5jZQorICogd2UgdHJ5IHRvIGF2b2lkIGRvaW5nIHRoYXQgdG9vIG9mdGVuIC0gc2VlIHVwZGF0ZV9zaGFyZXMoKSwgd2hpY2ggcmF0ZWxpbWl0cworICogdGhpcyBjaGFuZ2UuCisgKgorICogV2UgY29tcGVuc2F0ZSB0aGlzIGJ5IG5vdCBvbmx5IHRha2luZyB0aGUgY3VycmVudCBkZWx0YSBpbnRvIGFjY291bnQsIGJ1dAorICogYWxzbyBjb25zaWRlcmluZyB0aGUgZGVsdGEgYmV0d2VlbiB3aGVuIHRoZSBzaGFyZXMgd2VyZSBsYXN0IGFkanVzdGVkIGFuZAorICogbm93LgorICoKKyAqIFdlIHN0aWxsIHNhdyBhIHBlcmZvcm1hbmNlIGRpcCwgc29tZSB0cmFjaW5nIGxlYXJuZWQgdXMgdGhhdCBiZXR3ZWVuCisgKiBjZ3JvdXA6LyBhbmQgY2dyb3VwOi9mb28gYmFsYW5jaW5nIHRoZSBudW1iZXIgb2YgYWZmaW5lIHdha2V1cHMgaW5jcmVhc2VkCisgKiBzaWduaWZpY2FudGx5LiBUaGVyZWZvcmUgdHJ5IHRvIGJpYXMgdGhlIGVycm9yIGluIGRpcmVjdGlvbiBvZiBmYWlsaW5nCisgKiB0aGUgYWZmaW5lIHdha2V1cC4KKyAqCisgKi8KK3N0YXRpYyBsb25nIGVmZmVjdGl2ZV9sb2FkKHN0cnVjdCB0YXNrX2dyb3VwICp0ZywgaW50IGNwdSwKKwkJbG9uZyB3bCwgbG9uZyB3ZykKK3sKKwlzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSA9IHRnLT5zZVtjcHVdOworCWxvbmcgbW9yZV93OworCisJaWYgKCF0Zy0+cGFyZW50KQorCQlyZXR1cm4gd2w7CisKKwkvKgorCSAqIEJ5IG5vdCB0YWtpbmcgdGhlIGRlY3JlYXNlIG9mIHNoYXJlcyBvbiB0aGUgb3RoZXIgY3B1IGludG8KKwkgKiBhY2NvdW50IG91ciBlcnJvciBsZWFucyB0b3dhcmRzIHJlZHVjaW5nIHRoZSBhZmZpbmUgd2FrZXVwcy4KKwkgKi8KKwlpZiAoIXdsICYmIHNjaGVkX2ZlYXQoQVNZTV9FRkZfTE9BRCkpCisJCXJldHVybiB3bDsKKworCS8qCisJICogSW5zdGVhZCBvZiB1c2luZyB0aGlzIGluY3JlbWVudCwgYWxzbyBhZGQgdGhlIGRpZmZlcmVuY2UKKwkgKiBiZXR3ZWVuIHdoZW4gdGhlIHNoYXJlcyB3ZXJlIGxhc3QgdXBkYXRlZCBhbmQgbm93LgorCSAqLworCW1vcmVfdyA9IHNlLT5teV9xLT5sb2FkLndlaWdodCAtIHNlLT5teV9xLT5ycV93ZWlnaHQ7CisJd2wgKz0gbW9yZV93OworCXdnICs9IG1vcmVfdzsKKworCWZvcl9lYWNoX3NjaGVkX2VudGl0eShzZSkgeworI2RlZmluZSBEKG4pIChsaWtlbHkobikgPyAobikgOiAxKQorCisJCWxvbmcgUywgcncsIHMsIGEsIGI7CisKKwkJUyA9IHNlLT5teV9xLT50Zy0+c2hhcmVzOworCQlzID0gc2UtPm15X3EtPnNoYXJlczsKKwkJcncgPSBzZS0+bXlfcS0+cnFfd2VpZ2h0OworCisJCWEgPSBTKihydyArIHdsKTsKKwkJYiA9IFMqcncgKyBzKndnOworCisJCXdsID0gcyooYS1iKS9EKGIpOworCQkvKgorCQkgKiBBc3N1bWUgdGhlIGdyb3VwIGlzIGFscmVhZHkgcnVubmluZyBhbmQgd2lsbAorCQkgKiB0aHVzIGFscmVhZHkgYmUgYWNjb3VudGVkIGZvciBpbiB0aGUgd2VpZ2h0LgorCQkgKgorCQkgKiBUaGF0IGlzLCBtb3Zpbmcgc2hhcmVzIGJldHdlZW4gQ1BVcywgZG9lcyBub3QKKwkJICogYWx0ZXIgdGhlIGdyb3VwIHdlaWdodC4KKwkJICovCisJCXdnID0gMDsKKyN1bmRlZiBECisJfQorCisJcmV0dXJuIHdsOworfQorCisjZWxzZQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZWZmZWN0aXZlX2xvYWQoc3RydWN0IHRhc2tfZ3JvdXAgKnRnLCBpbnQgY3B1LAorCQl1bnNpZ25lZCBsb25nIHdsLCB1bnNpZ25lZCBsb25nIHdnKQoreworCXJldHVybiB3bDsKK30KKworI2VuZGlmCisKIHN0YXRpYyBpbnQKIHdha2VfYWZmaW5lKHN0cnVjdCBycSAqcnEsIHN0cnVjdCBzY2hlZF9kb21haW4gKnRoaXNfc2QsIHN0cnVjdCBycSAqdGhpc19ycSwKIAkgICAgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcHJldl9jcHUsIGludCB0aGlzX2NwdSwgaW50IHN5bmMsCkBAIC05OTQsOCArMTE0NywxMCBAQAogCSAgICB1bnNpZ25lZCBpbnQgaW1iYWxhbmNlKQogewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IHRoaXNfcnEtPmN1cnI7CisJc3RydWN0IHRhc2tfZ3JvdXAgKnRnOwogCXVuc2lnbmVkIGxvbmcgdGwgPSB0aGlzX2xvYWQ7CiAJdW5zaWduZWQgbG9uZyB0bF9wZXJfdGFzazsKKwl1bnNpZ25lZCBsb25nIHdlaWdodDsKIAlpbnQgYmFsYW5jZWQ7CiAKIAlpZiAoISh0aGlzX3NkLT5mbGFncyAmIFNEX1dBS0VfQUZGSU5FKSB8fCAhc2NoZWRfZmVhdChBRkZJTkVfV0FLRVVQUykpCkBAIC0xMDA2LDE5ICsxMTYxLDI4IEBACiAJICogZWZmZWN0IG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyB0YXNrIGZyb20gdGhlIGxvYWQKIAkgKiBvZiB0aGUgY3VycmVudCBDUFU6CiAJICovCi0JaWYgKHN5bmMpCi0JCXRsIC09IGN1cnJlbnQtPnNlLmxvYWQud2VpZ2h0OworCWlmIChzeW5jKSB7CisJCXRnID0gdGFza19ncm91cChjdXJyZW50KTsKKwkJd2VpZ2h0ID0gY3VycmVudC0+c2UubG9hZC53ZWlnaHQ7CiAKLQliYWxhbmNlZCA9IDEwMCoodGwgKyBwLT5zZS5sb2FkLndlaWdodCkgPD0gaW1iYWxhbmNlKmxvYWQ7CisJCXRsICs9IGVmZmVjdGl2ZV9sb2FkKHRnLCB0aGlzX2NwdSwgLXdlaWdodCwgLXdlaWdodCk7CisJCWxvYWQgKz0gZWZmZWN0aXZlX2xvYWQodGcsIHByZXZfY3B1LCAwLCAtd2VpZ2h0KTsKKwl9CisKKwl0ZyA9IHRhc2tfZ3JvdXAocCk7CisJd2VpZ2h0ID0gcC0+c2UubG9hZC53ZWlnaHQ7CisKKwliYWxhbmNlZCA9IDEwMCoodGwgKyBlZmZlY3RpdmVfbG9hZCh0ZywgdGhpc19jcHUsIHdlaWdodCwgd2VpZ2h0KSkgPD0KKwkJaW1iYWxhbmNlKihsb2FkICsgZWZmZWN0aXZlX2xvYWQodGcsIHByZXZfY3B1LCAwLCB3ZWlnaHQpKTsKIAogCS8qCiAJICogSWYgdGhlIGN1cnJlbnRseSBydW5uaW5nIHRhc2sgd2lsbCBzbGVlcCB3aXRoaW4KIAkgKiBhIHJlYXNvbmFibGUgYW1vdW50IG9mIHRpbWUgdGhlbiBhdHRyYWN0IHRoaXMgbmV3bHkKIAkgKiB3b2tlbiB0YXNrOgogCSAqLwotCWlmIChzeW5jICYmIGJhbGFuY2VkICYmIGN1cnItPnNjaGVkX2NsYXNzID09ICZmYWlyX3NjaGVkX2NsYXNzKSB7CisJaWYgKHN5bmMgJiYgYmFsYW5jZWQpIHsKIAkJaWYgKGN1cnItPnNlLmF2Z19vdmVybGFwIDwgc3lzY3RsX3NjaGVkX21pZ3JhdGlvbl9jb3N0ICYmCi0JCQkJcC0+c2UuYXZnX292ZXJsYXAgPCBzeXNjdGxfc2NoZWRfbWlncmF0aW9uX2Nvc3QpCisJCSAgICBwLT5zZS5hdmdfb3ZlcmxhcCA8IHN5c2N0bF9zY2hlZF9taWdyYXRpb25fY29zdCkKIAkJCXJldHVybiAxOwogCX0KIApAQCAtMTExMSwxMSArMTI3NSwxMyBAQAogCXVuc2lnbmVkIGxvbmcgZ3JhbiA9IHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHk7CiAKIAkvKgotCSAqIE1vcmUgZWFzaWx5IHByZWVtcHQgLSBuaWNlIHRhc2tzLCB3aGlsZSBub3QgbWFraW5nCi0JICogaXQgaGFyZGVyIGZvciArIG5pY2UgdGFza3MuCisJICogTW9yZSBlYXNpbHkgcHJlZW1wdCAtIG5pY2UgdGFza3MsIHdoaWxlIG5vdCBtYWtpbmcgaXQgaGFyZGVyIGZvcgorCSAqICsgbmljZSB0YXNrcy4KIAkgKi8KLQlpZiAodW5saWtlbHkoc2UtPmxvYWQud2VpZ2h0ID4gTklDRV8wX0xPQUQpKQotCQlncmFuID0gY2FsY19kZWx0YV9mYWlyKGdyYW4sICZzZS0+bG9hZCk7CisJaWYgKHNjaGVkX2ZlYXQoQVNZTV9HUkFOKSkKKwkJZ3JhbiA9IGNhbGNfZGVsdGFfYXN5bShzeXNjdGxfc2NoZWRfd2FrZXVwX2dyYW51bGFyaXR5LCBzZSk7CisJZWxzZQorCQlncmFuID0gY2FsY19kZWx0YV9mYWlyKHN5c2N0bF9zY2hlZF93YWtldXBfZ3JhbnVsYXJpdHksIHNlKTsKIAogCXJldHVybiBncmFuOwogfQpAQCAtMTE3Nyw3ICsxMzQzLDYgQEAKIAkJcmV0dXJuOwogCX0KIAotCXNlLT5sYXN0X3dha2V1cCA9IHNlLT5zdW1fZXhlY19ydW50aW1lOwogCWlmICh1bmxpa2VseShzZSA9PSBwc2UpKQogCQlyZXR1cm47CiAKQEAgLTEyNzUsMjMgKzE0NDAsMTggQEAKIAlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAgPSBOVUxMOwogCXN0cnVjdCBzY2hlZF9lbnRpdHkgKnNlOwogCi0JaWYgKG5leHQgPT0gJmNmc19ycS0+dGFza3MpCi0JCXJldHVybiBOVUxMOwotCi0JLyogU2tpcCBvdmVyIGVudGl0aWVzIHRoYXQgYXJlIG5vdCB0YXNrcyAqLwotCWRvIHsKKwl3aGlsZSAobmV4dCAhPSAmY2ZzX3JxLT50YXNrcykgewogCQlzZSA9IGxpc3RfZW50cnkobmV4dCwgc3RydWN0IHNjaGVkX2VudGl0eSwgZ3JvdXBfbm9kZSk7CiAJCW5leHQgPSBuZXh0LT5uZXh0OwotCX0gd2hpbGUgKG5leHQgIT0gJmNmc19ycS0+dGFza3MgJiYgIWVudGl0eV9pc190YXNrKHNlKSk7CiAKLQlpZiAobmV4dCA9PSAmY2ZzX3JxLT50YXNrcykKLQkJcmV0dXJuIE5VTEw7CisJCS8qIFNraXAgb3ZlciBlbnRpdGllcyB0aGF0IGFyZSBub3QgdGFza3MgKi8KKwkJaWYgKGVudGl0eV9pc190YXNrKHNlKSkgeworCQkJcCA9IHRhc2tfb2Yoc2UpOworCQkJYnJlYWs7CisJCX0KKwl9CiAKIAljZnNfcnEtPmJhbGFuY2VfaXRlcmF0b3IgPSBuZXh0OwotCi0JaWYgKGVudGl0eV9pc190YXNrKHNlKSkKLQkJcCA9IHRhc2tfb2Yoc2UpOwotCiAJcmV0dXJuIHA7CiB9CiAKQEAgLTEzMDksNzUgKzE0NjksODIgQEAKIAlyZXR1cm4gX19sb2FkX2JhbGFuY2VfaXRlcmF0b3IoY2ZzX3JxLCBjZnNfcnEtPmJhbGFuY2VfaXRlcmF0b3IpOwogfQogCi0jaWZkZWYgQ09ORklHX0ZBSVJfR1JPVVBfU0NIRUQKLXN0YXRpYyBpbnQgY2ZzX3JxX2Jlc3RfcHJpbyhzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEpCitzdGF0aWMgdW5zaWduZWQgbG9uZworX19sb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAorCQl1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsIHN0cnVjdCBzY2hlZF9kb21haW4gKnNkLAorCQllbnVtIGNwdV9pZGxlX3R5cGUgaWRsZSwgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvLAorCQlzdHJ1Y3QgY2ZzX3JxICpjZnNfcnEpCiB7Ci0Jc3RydWN0IHNjaGVkX2VudGl0eSAqY3VycjsKLQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKnA7CisJc3RydWN0IHJxX2l0ZXJhdG9yIGNmc19ycV9pdGVyYXRvcjsKIAotCWlmICghY2ZzX3JxLT5ucl9ydW5uaW5nIHx8ICFmaXJzdF9mYWlyKGNmc19ycSkpCi0JCXJldHVybiBNQVhfUFJJTzsKKwljZnNfcnFfaXRlcmF0b3Iuc3RhcnQgPSBsb2FkX2JhbGFuY2Vfc3RhcnRfZmFpcjsKKwljZnNfcnFfaXRlcmF0b3IubmV4dCA9IGxvYWRfYmFsYW5jZV9uZXh0X2ZhaXI7CisJY2ZzX3JxX2l0ZXJhdG9yLmFyZyA9IGNmc19ycTsKIAotCWN1cnIgPSBjZnNfcnEtPmN1cnI7Ci0JaWYgKCFjdXJyKQotCQljdXJyID0gX19waWNrX25leHRfZW50aXR5KGNmc19ycSk7Ci0KLQlwID0gdGFza19vZihjdXJyKTsKLQotCXJldHVybiBwLT5wcmlvOworCXJldHVybiBiYWxhbmNlX3Rhc2tzKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJbWF4X2xvYWRfbW92ZSwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCisJCQl0aGlzX2Jlc3RfcHJpbywgJmNmc19ycV9pdGVyYXRvcik7CiB9Ci0jZW5kaWYKIAorI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECiBzdGF0aWMgdW5zaWduZWQgbG9uZwogbG9hZF9iYWxhbmNlX2ZhaXIoc3RydWN0IHJxICp0aGlzX3JxLCBpbnQgdGhpc19jcHUsIHN0cnVjdCBycSAqYnVzaWVzdCwKIAkJICB1bnNpZ25lZCBsb25nIG1heF9sb2FkX21vdmUsCiAJCSAgc3RydWN0IHNjaGVkX2RvbWFpbiAqc2QsIGVudW0gY3B1X2lkbGVfdHlwZSBpZGxlLAogCQkgIGludCAqYWxsX3Bpbm5lZCwgaW50ICp0aGlzX2Jlc3RfcHJpbykKIHsKLQlzdHJ1Y3QgY2ZzX3JxICpidXN5X2Nmc19ycTsKIAlsb25nIHJlbV9sb2FkX21vdmUgPSBtYXhfbG9hZF9tb3ZlOwotCXN0cnVjdCBycV9pdGVyYXRvciBjZnNfcnFfaXRlcmF0b3I7CisJaW50IGJ1c2llc3RfY3B1ID0gY3B1X29mKGJ1c2llc3QpOworCXN0cnVjdCB0YXNrX2dyb3VwICp0ZzsKIAotCWNmc19ycV9pdGVyYXRvci5zdGFydCA9IGxvYWRfYmFsYW5jZV9zdGFydF9mYWlyOwotCWNmc19ycV9pdGVyYXRvci5uZXh0ID0gbG9hZF9iYWxhbmNlX25leHRfZmFpcjsKKwlyY3VfcmVhZF9sb2NrKCk7CisJdXBkYXRlX2hfbG9hZChidXNpZXN0X2NwdSk7CiAKLQlmb3JfZWFjaF9sZWFmX2Nmc19ycShidXNpZXN0LCBidXN5X2Nmc19ycSkgewotI2lmZGVmIENPTkZJR19GQUlSX0dST1VQX1NDSEVECi0JCXN0cnVjdCBjZnNfcnEgKnRoaXNfY2ZzX3JxOwotCQlsb25nIGltYmFsYW5jZTsKLQkJdW5zaWduZWQgbG9uZyBtYXhsb2FkOworCWxpc3RfZm9yX2VhY2hfZW50cnkodGcsICZ0YXNrX2dyb3VwcywgbGlzdCkgeworCQlzdHJ1Y3QgY2ZzX3JxICpidXNpZXN0X2Nmc19ycSA9IHRnLT5jZnNfcnFbYnVzaWVzdF9jcHVdOworCQl1bnNpZ25lZCBsb25nIGJ1c2llc3RfaF9sb2FkID0gYnVzaWVzdF9jZnNfcnEtPmhfbG9hZDsKKwkJdW5zaWduZWQgbG9uZyBidXNpZXN0X3dlaWdodCA9IGJ1c2llc3RfY2ZzX3JxLT5sb2FkLndlaWdodDsKKwkJdTY0IHJlbV9sb2FkLCBtb3ZlZF9sb2FkOwogCi0JCXRoaXNfY2ZzX3JxID0gY3B1X2Nmc19ycShidXN5X2Nmc19ycSwgdGhpc19jcHUpOwotCi0JCWltYmFsYW5jZSA9IGJ1c3lfY2ZzX3JxLT5sb2FkLndlaWdodCAtIHRoaXNfY2ZzX3JxLT5sb2FkLndlaWdodDsKLQkJLyogRG9uJ3QgcHVsbCBpZiB0aGlzX2Nmc19ycSBoYXMgbW9yZSBsb2FkIHRoYW4gYnVzeV9jZnNfcnEgKi8KLQkJaWYgKGltYmFsYW5jZSA8PSAwKQorCQkvKgorCQkgKiBlbXB0eSBncm91cAorCQkgKi8KKwkJaWYgKCFidXNpZXN0X2Nmc19ycS0+dGFza193ZWlnaHQpCiAJCQljb250aW51ZTsKIAotCQkvKiBEb24ndCBwdWxsIG1vcmUgdGhhbiBpbWJhbGFuY2UvMiAqLwotCQlpbWJhbGFuY2UgLz0gMjsKLQkJbWF4bG9hZCA9IG1pbihyZW1fbG9hZF9tb3ZlLCBpbWJhbGFuY2UpOworCQlyZW1fbG9hZCA9ICh1NjQpcmVtX2xvYWRfbW92ZSAqIGJ1c2llc3Rfd2VpZ2h0OworCQlyZW1fbG9hZCA9IGRpdl91NjQocmVtX2xvYWQsIGJ1c2llc3RfaF9sb2FkICsgMSk7CiAKLQkJKnRoaXNfYmVzdF9wcmlvID0gY2ZzX3JxX2Jlc3RfcHJpbyh0aGlzX2Nmc19ycSk7Ci0jZWxzZQotIyBkZWZpbmUgbWF4bG9hZCByZW1fbG9hZF9tb3ZlCi0jZW5kaWYKLQkJLyoKLQkJICogcGFzcyBidXN5X2Nmc19ycSBhcmd1bWVudCBpbnRvCi0JCSAqIGxvYWRfYmFsYW5jZV9bc3RhcnR8bmV4dF1fZmFpciBpdGVyYXRvcnMKLQkJICovCi0JCWNmc19ycV9pdGVyYXRvci5hcmcgPSBidXN5X2Nmc19ycTsKLQkJcmVtX2xvYWRfbW92ZSAtPSBiYWxhbmNlX3Rhc2tzKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAotCQkJCQkgICAgICAgbWF4bG9hZCwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCi0JCQkJCSAgICAgICB0aGlzX2Jlc3RfcHJpbywKLQkJCQkJICAgICAgICZjZnNfcnFfaXRlcmF0b3IpOworCQltb3ZlZF9sb2FkID0gX19sb2FkX2JhbGFuY2VfZmFpcih0aGlzX3JxLCB0aGlzX2NwdSwgYnVzaWVzdCwKKwkJCQlyZW1fbG9hZCwgc2QsIGlkbGUsIGFsbF9waW5uZWQsIHRoaXNfYmVzdF9wcmlvLAorCQkJCXRnLT5jZnNfcnFbYnVzaWVzdF9jcHVdKTsKIAotCQlpZiAocmVtX2xvYWRfbW92ZSA8PSAwKQorCQlpZiAoIW1vdmVkX2xvYWQpCisJCQljb250aW51ZTsKKworCQltb3ZlZF9sb2FkICo9IGJ1c2llc3RfaF9sb2FkOworCQltb3ZlZF9sb2FkID0gZGl2X3U2NChtb3ZlZF9sb2FkLCBidXNpZXN0X3dlaWdodCArIDEpOworCisJCXJlbV9sb2FkX21vdmUgLT0gbW92ZWRfbG9hZDsKKwkJaWYgKHJlbV9sb2FkX21vdmUgPCAwKQogCQkJYnJlYWs7CiAJfQorCXJjdV9yZWFkX3VubG9jaygpOwogCiAJcmV0dXJuIG1heF9sb2FkX21vdmUgLSByZW1fbG9hZF9tb3ZlOwogfQorI2Vsc2UKK3N0YXRpYyB1bnNpZ25lZCBsb25nCitsb2FkX2JhbGFuY2VfZmFpcihzdHJ1Y3QgcnEgKnRoaXNfcnEsIGludCB0aGlzX2NwdSwgc3RydWN0IHJxICpidXNpZXN0LAorCQkgIHVuc2lnbmVkIGxvbmcgbWF4X2xvYWRfbW92ZSwKKwkJICBzdHJ1Y3Qgc2NoZWRfZG9tYWluICpzZCwgZW51bSBjcHVfaWRsZV90eXBlIGlkbGUsCisJCSAgaW50ICphbGxfcGlubmVkLCBpbnQgKnRoaXNfYmVzdF9wcmlvKQoreworCXJldHVybiBfX2xvYWRfYmFsYW5jZV9mYWlyKHRoaXNfcnEsIHRoaXNfY3B1LCBidXNpZXN0LAorCQkJbWF4X2xvYWRfbW92ZSwgc2QsIGlkbGUsIGFsbF9waW5uZWQsCisJCQl0aGlzX2Jlc3RfcHJpbywgJmJ1c2llc3QtPmNmcyk7Cit9CisjZW5kaWYKIAogc3RhdGljIGludAogbW92ZV9vbmVfdGFza19mYWlyKHN0cnVjdCBycSAqdGhpc19ycSwgaW50IHRoaXNfY3B1LCBzdHJ1Y3QgcnEgKmJ1c2llc3QsCkBAIC0xNDAyLDcgKzE1NjksNyBAQAogCiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKIC8qCiAgKiBzY2hlZHVsZXIgdGljayBoaXR0aW5nIGEgdGFzayBvZiBvdXIgc2NoZWR1bGluZyBjbGFzczoKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9mZWF0dXJlcy5oIGIva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKaW5kZXggMWM3MjgzYy4uODYyYjA2YiAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKKysrIGIva2VybmVsL3NjaGVkX2ZlYXR1cmVzLmgKQEAgLTEsNCArMSw1IEBACiBTQ0hFRF9GRUFUKE5FV19GQUlSX1NMRUVQRVJTLCAxKQorU0NIRURfRkVBVChOT1JNQUxJWkVEX1NMRUVQRVIsIDEpCiBTQ0hFRF9GRUFUKFdBS0VVUF9QUkVFTVBULCAxKQogU0NIRURfRkVBVChTVEFSVF9ERUJJVCwgMSkKIFNDSEVEX0ZFQVQoQUZGSU5FX1dBS0VVUFMsIDEpCkBAIC02LDUgKzcsNyBAQAogU0NIRURfRkVBVChTWU5DX1dBS0VVUFMsIDEpCiBTQ0hFRF9GRUFUKEhSVElDSywgMSkKIFNDSEVEX0ZFQVQoRE9VQkxFX1RJQ0ssIDApCi1TQ0hFRF9GRUFUKE5PUk1BTElaRURfU0xFRVBFUiwgMSkKLVNDSEVEX0ZFQVQoREVBRExJTkUsIDEpCitTQ0hFRF9GRUFUKEFTWU1fR1JBTiwgMSkKK1NDSEVEX0ZFQVQoTEJfQklBUywgMCkKK1NDSEVEX0ZFQVQoTEJfV0FLRVVQX1VQREFURSwgMSkKK1NDSEVEX0ZFQVQoQVNZTV9FRkZfTE9BRCwgMSkKZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZF9ydC5jIGIva2VybmVsL3NjaGVkX3J0LmMKaW5kZXggMGYzYzE5MS4uNDdjZWFjOSAxMDA2NDQKLS0tIGEva2VybmVsL3NjaGVkX3J0LmMKKysrIGIva2VybmVsL3NjaGVkX3J0LmMKQEAgLTEyLDYgKzEyLDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHJ0X3NldF9vdmVybG9hZChzdHJ1Y3QgcnEgKnJxKQogeworCWlmICghcnEtPm9ubGluZSkKKwkJcmV0dXJuOworCiAJY3B1X3NldChycS0+Y3B1LCBycS0+cmQtPnJ0b19tYXNrKTsKIAkvKgogCSAqIE1ha2Ugc3VyZSB0aGUgbWFzayBpcyB2aXNpYmxlIGJlZm9yZSB3ZSBzZXQKQEAgLTI2LDYgKzI5LDkgQEAKIAogc3RhdGljIGlubGluZSB2b2lkIHJ0X2NsZWFyX292ZXJsb2FkKHN0cnVjdCBycSAqcnEpCiB7CisJaWYgKCFycS0+b25saW5lKQorCQlyZXR1cm47CisKIAkvKiB0aGUgb3JkZXIgaGVyZSByZWFsbHkgZG9lc24ndCBtYXR0ZXIgKi8KIAlhdG9taWNfZGVjKCZycS0+cmQtPnJ0b19jb3VudCk7CiAJY3B1X2NsZWFyKHJxLT5jcHUsIHJxLT5yZC0+cnRvX21hc2spOwpAQCAtMTU1LDcgKzE2MSw3IEBACiAJcmV0dXJuICZydF9ycS0+dGctPnJ0X2JhbmR3aWR0aDsKIH0KIAotI2Vsc2UKKyNlbHNlIC8qICFDT05GSUdfUlRfR1JPVVBfU0NIRUQgKi8KIAogc3RhdGljIGlubGluZSB1NjQgc2NoZWRfcnRfcnVudGltZShzdHJ1Y3QgcnRfcnEgKnJ0X3JxKQogewpAQCAtMjIwLDcgKzIyNiwxNjAgQEAKIAlyZXR1cm4gJmRlZl9ydF9iYW5kd2lkdGg7CiB9CiAKLSNlbmRpZgorI2VuZGlmIC8qIENPTkZJR19SVF9HUk9VUF9TQ0hFRCAqLworCisjaWZkZWYgQ09ORklHX1NNUAorc3RhdGljIGludCBkb19iYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlzdHJ1Y3QgcnRfYmFuZHdpZHRoICpydF9iID0gc2NoZWRfcnRfYmFuZHdpZHRoKHJ0X3JxKTsKKwlzdHJ1Y3Qgcm9vdF9kb21haW4gKnJkID0gY3B1X3JxKHNtcF9wcm9jZXNzb3JfaWQoKSktPnJkOworCWludCBpLCB3ZWlnaHQsIG1vcmUgPSAwOworCXU2NCBydF9wZXJpb2Q7CisKKwl3ZWlnaHQgPSBjcHVzX3dlaWdodChyZC0+c3Bhbik7CisKKwlzcGluX2xvY2soJnJ0X2ItPnJ0X3J1bnRpbWVfbG9jayk7CisJcnRfcGVyaW9kID0ga3RpbWVfdG9fbnMocnRfYi0+cnRfcGVyaW9kKTsKKwlmb3JfZWFjaF9jcHVfbWFzayhpLCByZC0+c3BhbikgeworCQlzdHJ1Y3QgcnRfcnEgKml0ZXIgPSBzY2hlZF9ydF9wZXJpb2RfcnRfcnEocnRfYiwgaSk7CisJCXM2NCBkaWZmOworCisJCWlmIChpdGVyID09IHJ0X3JxKQorCQkJY29udGludWU7CisKKwkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQlpZiAoaXRlci0+cnRfcnVudGltZSA9PSBSVU5USU1FX0lORikKKwkJCWdvdG8gbmV4dDsKKworCQlkaWZmID0gaXRlci0+cnRfcnVudGltZSAtIGl0ZXItPnJ0X3RpbWU7CisJCWlmIChkaWZmID4gMCkgeworCQkJZG9fZGl2KGRpZmYsIHdlaWdodCk7CisJCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgKyBkaWZmID4gcnRfcGVyaW9kKQorCQkJCWRpZmYgPSBydF9wZXJpb2QgLSBydF9ycS0+cnRfcnVudGltZTsKKwkJCWl0ZXItPnJ0X3J1bnRpbWUgLT0gZGlmZjsKKwkJCXJ0X3JxLT5ydF9ydW50aW1lICs9IGRpZmY7CisJCQltb3JlID0gMTsKKwkJCWlmIChydF9ycS0+cnRfcnVudGltZSA9PSBydF9wZXJpb2QpIHsKKwkJCQlzcGluX3VubG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorbmV4dDoKKwkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7CisJfQorCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCisJcmV0dXJuIG1vcmU7Cit9CisKK3N0YXRpYyB2b2lkIF9fZGlzYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IHJxLT5yZDsKKwlzdHJ1Y3QgcnRfcnEgKnJ0X3JxOworCisJaWYgKHVubGlrZWx5KCFzY2hlZHVsZXJfcnVubmluZykpCisJCXJldHVybjsKKworCWZvcl9lYWNoX2xlYWZfcnRfcnEocnRfcnEsIHJxKSB7CisJCXN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IgPSBzY2hlZF9ydF9iYW5kd2lkdGgocnRfcnEpOworCQlzNjQgd2FudDsKKwkJaW50IGk7CisKKwkJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gUlVOVElNRV9JTkYgfHwKKwkJCQlydF9ycS0+cnRfcnVudGltZSA9PSBydF9iLT5ydF9ydW50aW1lKQorCQkJZ290byBiYWxhbmNlZDsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCisJCXdhbnQgPSBydF9iLT5ydF9ydW50aW1lIC0gcnRfcnEtPnJ0X3J1bnRpbWU7CisKKwkJZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKKwkJCXN0cnVjdCBydF9ycSAqaXRlciA9IHNjaGVkX3J0X3BlcmlvZF9ydF9ycShydF9iLCBpKTsKKwkJCXM2NCBkaWZmOworCisJCQlpZiAoaXRlciA9PSBydF9ycSkKKwkJCQljb250aW51ZTsKKworCQkJc3Bpbl9sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCQkJaWYgKHdhbnQgPiAwKSB7CisJCQkJZGlmZiA9IG1pbl90KHM2NCwgaXRlci0+cnRfcnVudGltZSwgd2FudCk7CisJCQkJaXRlci0+cnRfcnVudGltZSAtPSBkaWZmOworCQkJCXdhbnQgLT0gZGlmZjsKKwkJCX0gZWxzZSB7CisJCQkJaXRlci0+cnRfcnVudGltZSAtPSB3YW50OworCQkJCXdhbnQgLT0gd2FudDsKKwkJCX0KKwkJCXNwaW5fdW5sb2NrKCZpdGVyLT5ydF9ydW50aW1lX2xvY2spOworCisJCQlpZiAoIXdhbnQpCisJCQkJYnJlYWs7CisJCX0KKworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlCVUdfT04od2FudCk7CitiYWxhbmNlZDoKKwkJcnRfcnEtPnJ0X3J1bnRpbWUgPSBSVU5USU1FX0lORjsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRpc2FibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcnEtPmxvY2ssIGZsYWdzKTsKKwlfX2Rpc2FibGVfcnVudGltZShycSk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcnEtPmxvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgX19lbmFibGVfcnVudGltZShzdHJ1Y3QgcnEgKnJxKQoreworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlpZiAodW5saWtlbHkoIXNjaGVkdWxlcl9ydW5uaW5nKSkKKwkJcmV0dXJuOworCisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgcnEpIHsKKwkJc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7CisKKwkJc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX2xvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlydF9ycS0+cnRfcnVudGltZSA9IHJ0X2ItPnJ0X3J1bnRpbWU7CisJCXJ0X3JxLT5ydF90aW1lID0gMDsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQlzcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9sb2NrKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGVuYWJsZV9ydW50aW1lKHN0cnVjdCBycSAqcnEpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZycS0+bG9jaywgZmxhZ3MpOworCV9fZW5hYmxlX3J1bnRpbWUocnEpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJxLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCit7CisJaW50IG1vcmUgPSAwOworCisJaWYgKHJ0X3JxLT5ydF90aW1lID4gcnRfcnEtPnJ0X3J1bnRpbWUpIHsKKwkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOworCQltb3JlID0gZG9fYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKKwkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwl9CisKKwlyZXR1cm4gbW9yZTsKK30KKyNlbHNlIC8qICFDT05GSUdfU01QICovCitzdGF0aWMgaW5saW5lIGludCBiYWxhbmNlX3J1bnRpbWUoc3RydWN0IHJ0X3JxICpydF9ycSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZiAvKiBDT05GSUdfU01QICovCiAKIHN0YXRpYyBpbnQgZG9fc2NoZWRfcnRfcGVyaW9kX3RpbWVyKHN0cnVjdCBydF9iYW5kd2lkdGggKnJ0X2IsIGludCBvdmVycnVuKQogewpAQCAtMjQxLDYgKzQwMCw4IEBACiAJCQl1NjQgcnVudGltZTsKIAogCQkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKKwkJCWlmIChydF9ycS0+cnRfdGhyb3R0bGVkKQorCQkJCWJhbGFuY2VfcnVudGltZShydF9ycSk7CiAJCQlydW50aW1lID0gcnRfcnEtPnJ0X3J1bnRpbWU7CiAJCQlydF9ycS0+cnRfdGltZSAtPSBtaW4ocnRfcnEtPnJ0X3RpbWUsIG92ZXJydW4qcnVudGltZSk7CiAJCQlpZiAocnRfcnEtPnJ0X3Rocm90dGxlZCAmJiBydF9ycS0+cnRfdGltZSA8IHJ1bnRpbWUpIHsKQEAgLTI2MSw0NyArNDIyLDYgQEAKIAlyZXR1cm4gaWRsZTsKIH0KIAotI2lmZGVmIENPTkZJR19TTVAKLXN0YXRpYyBpbnQgYmFsYW5jZV9ydW50aW1lKHN0cnVjdCBydF9ycSAqcnRfcnEpCi17Ci0Jc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiA9IHNjaGVkX3J0X2JhbmR3aWR0aChydF9ycSk7Ci0Jc3RydWN0IHJvb3RfZG9tYWluICpyZCA9IGNwdV9ycShzbXBfcHJvY2Vzc29yX2lkKCkpLT5yZDsKLQlpbnQgaSwgd2VpZ2h0LCBtb3JlID0gMDsKLQl1NjQgcnRfcGVyaW9kOwotCi0Jd2VpZ2h0ID0gY3B1c193ZWlnaHQocmQtPnNwYW4pOwotCi0Jc3Bpbl9sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOwotCXJ0X3BlcmlvZCA9IGt0aW1lX3RvX25zKHJ0X2ItPnJ0X3BlcmlvZCk7Ci0JZm9yX2VhY2hfY3B1X21hc2soaSwgcmQtPnNwYW4pIHsKLQkJc3RydWN0IHJ0X3JxICppdGVyID0gc2NoZWRfcnRfcGVyaW9kX3J0X3JxKHJ0X2IsIGkpOwotCQlzNjQgZGlmZjsKLQotCQlpZiAoaXRlciA9PSBydF9ycSkKLQkJCWNvbnRpbnVlOwotCi0JCXNwaW5fbG9jaygmaXRlci0+cnRfcnVudGltZV9sb2NrKTsKLQkJZGlmZiA9IGl0ZXItPnJ0X3J1bnRpbWUgLSBpdGVyLT5ydF90aW1lOwotCQlpZiAoZGlmZiA+IDApIHsKLQkJCWRvX2RpdihkaWZmLCB3ZWlnaHQpOwotCQkJaWYgKHJ0X3JxLT5ydF9ydW50aW1lICsgZGlmZiA+IHJ0X3BlcmlvZCkKLQkJCQlkaWZmID0gcnRfcGVyaW9kIC0gcnRfcnEtPnJ0X3J1bnRpbWU7Ci0JCQlpdGVyLT5ydF9ydW50aW1lIC09IGRpZmY7Ci0JCQlydF9ycS0+cnRfcnVudGltZSArPSBkaWZmOwotCQkJbW9yZSA9IDE7Ci0JCQlpZiAocnRfcnEtPnJ0X3J1bnRpbWUgPT0gcnRfcGVyaW9kKSB7Ci0JCQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JCQkJYnJlYWs7Ci0JCQl9Ci0JCX0KLQkJc3Bpbl91bmxvY2soJml0ZXItPnJ0X3J1bnRpbWVfbG9jayk7Ci0JfQotCXNwaW5fdW5sb2NrKCZydF9iLT5ydF9ydW50aW1lX2xvY2spOwotCi0JcmV0dXJuIG1vcmU7Ci19Ci0jZW5kaWYKLQogc3RhdGljIGlubGluZSBpbnQgcnRfc2VfcHJpbyhzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSkKIHsKICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKQEAgLTMyNywxOCArNDQ3LDEwIEBACiAJaWYgKHNjaGVkX3J0X3J1bnRpbWUocnRfcnEpID49IHNjaGVkX3J0X3BlcmlvZChydF9ycSkpCiAJCXJldHVybiAwOwogCi0jaWZkZWYgQ09ORklHX1NNUAotCWlmIChydF9ycS0+cnRfdGltZSA+IHJ1bnRpbWUpIHsKLQkJaW50IG1vcmU7Ci0KLQkJc3Bpbl91bmxvY2soJnJ0X3JxLT5ydF9ydW50aW1lX2xvY2spOwotCQltb3JlID0gYmFsYW5jZV9ydW50aW1lKHJ0X3JxKTsKLQkJc3Bpbl9sb2NrKCZydF9ycS0+cnRfcnVudGltZV9sb2NrKTsKLQotCQlpZiAobW9yZSkKLQkJCXJ1bnRpbWUgPSBzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKTsKLQl9Ci0jZW5kaWYKKwliYWxhbmNlX3J1bnRpbWUocnRfcnEpOworCXJ1bnRpbWUgPSBzY2hlZF9ydF9ydW50aW1lKHJ0X3JxKTsKKwlpZiAocnVudGltZSA9PSBSVU5USU1FX0lORikKKwkJcmV0dXJuIDA7CiAKIAlpZiAocnRfcnEtPnJ0X3RpbWUgPiBydW50aW1lKSB7CiAJCXJ0X3JxLT5ydF90aHJvdHRsZWQgPSAxOwpAQCAtMzkyLDEyICs1MDQsMjEgQEAKIAlXQVJOX09OKCFydF9wcmlvKHJ0X3NlX3ByaW8ocnRfc2UpKSk7CiAJcnRfcnEtPnJ0X25yX3J1bm5pbmcrKzsKICNpZiBkZWZpbmVkIENPTkZJR19TTVAgfHwgZGVmaW5lZCBDT05GSUdfUlRfR1JPVVBfU0NIRUQKLQlpZiAocnRfc2VfcHJpbyhydF9zZSkgPCBydF9ycS0+aGlnaGVzdF9wcmlvKQorCWlmIChydF9zZV9wcmlvKHJ0X3NlKSA8IHJ0X3JxLT5oaWdoZXN0X3ByaW8pIHsKKwkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKwogCQlydF9ycS0+aGlnaGVzdF9wcmlvID0gcnRfc2VfcHJpbyhydF9zZSk7CisjaWZkZWYgQ09ORklHX1NNUAorCQlpZiAocnEtPm9ubGluZSkKKwkJCWNwdXByaV9zZXQoJnJxLT5yZC0+Y3B1cHJpLCBycS0+Y3B1LAorCQkJCSAgIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKyNlbmRpZgorCX0KICNlbmRpZgogI2lmZGVmIENPTkZJR19TTVAKIAlpZiAocnRfc2UtPm5yX2NwdXNfYWxsb3dlZCA+IDEpIHsKIAkJc3RydWN0IHJxICpycSA9IHJxX29mX3J0X3JxKHJ0X3JxKTsKKwogCQlycS0+cnQucnRfbnJfbWlncmF0b3J5Kys7CiAJfQogCkBAIC00MTcsNiArNTM4LDEwIEBACiBzdGF0aWMgaW5saW5lCiB2b2lkIGRlY19ydF90YXNrcyhzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSwgc3RydWN0IHJ0X3JxICpydF9ycSkKIHsKKyNpZmRlZiBDT05GSUdfU01QCisJaW50IGhpZ2hlc3RfcHJpbyA9IHJ0X3JxLT5oaWdoZXN0X3ByaW87CisjZW5kaWYKKwogCVdBUk5fT04oIXJ0X3ByaW8ocnRfc2VfcHJpbyhydF9zZSkpKTsKIAlXQVJOX09OKCFydF9ycS0+cnRfbnJfcnVubmluZyk7CiAJcnRfcnEtPnJ0X25yX3J1bm5pbmctLTsKQEAgLTQ0MCw2ICs1NjUsMTQgQEAKIAkJcnEtPnJ0LnJ0X25yX21pZ3JhdG9yeS0tOwogCX0KIAorCWlmIChydF9ycS0+aGlnaGVzdF9wcmlvICE9IGhpZ2hlc3RfcHJpbykgeworCQlzdHJ1Y3QgcnEgKnJxID0gcnFfb2ZfcnRfcnEocnRfcnEpOworCisJCWlmIChycS0+b25saW5lKQorCQkJY3B1cHJpX3NldCgmcnEtPnJkLT5jcHVwcmksIHJxLT5jcHUsCisJCQkJICAgcnRfcnEtPmhpZ2hlc3RfcHJpbyk7CisJfQorCiAJdXBkYXRlX3J0X21pZ3JhdGlvbihycV9vZl9ydF9ycShydF9ycSkpOwogI2VuZGlmIC8qIENPTkZJR19TTVAgKi8KICNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQKQEAgLTQ1NSw2ICs1ODgsNyBAQAogCXN0cnVjdCBydF9ycSAqcnRfcnEgPSBydF9ycV9vZl9zZShydF9zZSk7CiAJc3RydWN0IHJ0X3ByaW9fYXJyYXkgKmFycmF5ID0gJnJ0X3JxLT5hY3RpdmU7CiAJc3RydWN0IHJ0X3JxICpncm91cF9ycSA9IGdyb3VwX3J0X3JxKHJ0X3NlKTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpxdWV1ZSA9IGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpOwogCiAJLyoKIAkgKiBEb24ndCBlbnF1ZXVlIHRoZSBncm91cCBpZiBpdHMgdGhyb3R0bGVkLCBvciB3aGVuIGVtcHR5LgpAQCAtNDY1LDcgKzU5OSwxMSBAQAogCWlmIChncm91cF9ycSAmJiAocnRfcnFfdGhyb3R0bGVkKGdyb3VwX3JxKSB8fCAhZ3JvdXBfcnEtPnJ0X25yX3J1bm5pbmcpKQogCQlyZXR1cm47CiAKLQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsIGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpKTsKKwlpZiAocnRfc2UtPm5yX2NwdXNfYWxsb3dlZCA9PSAxKQorCQlsaXN0X2FkZCgmcnRfc2UtPnJ1bl9saXN0LCBxdWV1ZSk7CisJZWxzZQorCQlsaXN0X2FkZF90YWlsKCZydF9zZS0+cnVuX2xpc3QsIHF1ZXVlKTsKKwogCV9fc2V0X2JpdChydF9zZV9wcmlvKHJ0X3NlKSwgYXJyYXktPmJpdG1hcCk7CiAKIAlpbmNfcnRfdGFza3MocnRfc2UsIHJ0X3JxKTsKQEAgLTUzMiw2ICs2NzAsOCBAQAogCQlydF9zZS0+dGltZW91dCA9IDA7CiAKIAllbnF1ZXVlX3J0X2VudGl0eShydF9zZSk7CisKKwlpbmNfY3B1X2xvYWQocnEsIHAtPnNlLmxvYWQud2VpZ2h0KTsKIH0KIAogc3RhdGljIHZvaWQgZGVxdWV1ZV90YXNrX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IHNsZWVwKQpAQCAtNTQwLDYgKzY4MCw4IEBACiAKIAl1cGRhdGVfY3Vycl9ydChycSk7CiAJZGVxdWV1ZV9ydF9lbnRpdHkocnRfc2UpOworCisJZGVjX2NwdV9sb2FkKHJxLCBwLT5zZS5sb2FkLndlaWdodCk7CiB9CiAKIC8qCkBAIC01NTAsMTAgKzY5MiwxMiBAQAogdm9pZCByZXF1ZXVlX3J0X2VudGl0eShzdHJ1Y3QgcnRfcnEgKnJ0X3JxLCBzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSkKIHsKIAlzdHJ1Y3QgcnRfcHJpb19hcnJheSAqYXJyYXkgPSAmcnRfcnEtPmFjdGl2ZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpxdWV1ZSA9IGFycmF5LT5xdWV1ZSArIHJ0X3NlX3ByaW8ocnRfc2UpOwogCi0JaWYgKG9uX3J0X3JxKHJ0X3NlKSkKLQkJbGlzdF9tb3ZlX3RhaWwoJnJ0X3NlLT5ydW5fbGlzdCwgcXVldWUpOworCWlmIChvbl9ydF9ycShydF9zZSkpIHsKKwkJbGlzdF9kZWxfaW5pdCgmcnRfc2UtPnJ1bl9saXN0KTsKKwkJbGlzdF9hZGRfdGFpbCgmcnRfc2UtPnJ1bl9saXN0LAorCQkJICAgICAgYXJyYXktPnF1ZXVlICsgcnRfc2VfcHJpbyhydF9zZSkpOworCX0KIH0KIAogc3RhdGljIHZvaWQgcmVxdWV1ZV90YXNrX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKQEAgLTYxNiw4ICs3NjAsMzcgQEAKICAqLwogc3RhdGljIHZvaWQgY2hlY2tfcHJlZW1wdF9jdXJyX3J0KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKIHsKLQlpZiAocC0+cHJpbyA8IHJxLT5jdXJyLT5wcmlvKQorCWlmIChwLT5wcmlvIDwgcnEtPmN1cnItPnByaW8pIHsKIAkJcmVzY2hlZF90YXNrKHJxLT5jdXJyKTsKKwkJcmV0dXJuOworCX0KKworI2lmZGVmIENPTkZJR19TTVAKKwkvKgorCSAqIElmOgorCSAqCisJICogLSB0aGUgbmV3bHkgd29rZW4gdGFzayBpcyBvZiBlcXVhbCBwcmlvcml0eSB0byB0aGUgY3VycmVudCB0YXNrCisJICogLSB0aGUgbmV3bHkgd29rZW4gdGFzayBpcyBub24tbWlncmF0YWJsZSB3aGlsZSBjdXJyZW50IGlzIG1pZ3JhdGFibGUKKwkgKiAtIGN1cnJlbnQgd2lsbCBiZSBwcmVlbXB0ZWQgb24gdGhlIG5leHQgcmVzY2hlZHVsZQorCSAqCisJICogd2Ugc2hvdWxkIGNoZWNrIHRvIHNlZSBpZiBjdXJyZW50IGNhbiByZWFkaWx5IG1vdmUgdG8gYSBkaWZmZXJlbnQKKwkgKiBjcHUuICBJZiBzbywgd2Ugd2lsbCByZXNjaGVkdWxlIHRvIGFsbG93IHRoZSBwdXNoIGxvZ2ljIHRvIHRyeQorCSAqIHRvIG1vdmUgY3VycmVudCBzb21ld2hlcmUgZWxzZSwgbWFraW5nIHJvb20gZm9yIG91ciBub24tbWlncmF0YWJsZQorCSAqIHRhc2suCisJICovCisJaWYoKHAtPnByaW8gPT0gcnEtPmN1cnItPnByaW8pCisJICAgJiYgcC0+cnQubnJfY3B1c19hbGxvd2VkID09IDEKKwkgICAmJiBycS0+Y3Vyci0+cnQubnJfY3B1c19hbGxvd2VkICE9IDEpIHsKKwkJY3B1bWFza190IG1hc2s7CisKKwkJaWYgKGNwdXByaV9maW5kKCZycS0+cmQtPmNwdXByaSwgcnEtPmN1cnIsICZtYXNrKSkKKwkJCS8qCisJCQkgKiBUaGVyZSBhcHBlYXJzIHRvIGJlIG90aGVyIGNwdXMgdGhhdCBjYW4gYWNjZXB0CisJCQkgKiBjdXJyZW50LCBzbyBsZXRzIHJlc2NoZWR1bGUgdG8gdHJ5IGFuZCBwdXNoIGl0IGF3YXkKKwkJCSAqLworCQkJcmVzY2hlZF90YXNrKHJxLT5jdXJyKTsKKwl9CisjZW5kaWYKIH0KIAogc3RhdGljIHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgKnBpY2tfbmV4dF9ydF9lbnRpdHkoc3RydWN0IHJxICpycSwKQEAgLTcyMCw3MyArODkzLDYgQEAKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKGNwdW1hc2tfdCwgbG9jYWxfY3B1X21hc2spOwogCi1zdGF0aWMgaW50IGZpbmRfbG93ZXN0X2NwdXMoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCBjcHVtYXNrX3QgKmxvd2VzdF9tYXNrKQotewotCWludCAgICAgICBsb3dlc3RfcHJpbyA9IC0xOwotCWludCAgICAgICBsb3dlc3RfY3B1ICA9IC0xOwotCWludCAgICAgICBjb3VudCAgICAgICA9IDA7Ci0JaW50ICAgICAgIGNwdTsKLQotCWNwdXNfYW5kKCpsb3dlc3RfbWFzaywgdGFza19ycSh0YXNrKS0+cmQtPm9ubGluZSwgdGFzay0+Y3B1c19hbGxvd2VkKTsKLQotCS8qCi0JICogU2NhbiBlYWNoIHJxIGZvciB0aGUgbG93ZXN0IHByaW8uCi0JICovCi0JZm9yX2VhY2hfY3B1X21hc2soY3B1LCAqbG93ZXN0X21hc2spIHsKLQkJc3RydWN0IHJxICpycSA9IGNwdV9ycShjcHUpOwotCi0JCS8qIFdlIGxvb2sgZm9yIGxvd2VzdCBSVCBwcmlvIG9yIG5vbi1ydCBDUFUgKi8KLQkJaWYgKHJxLT5ydC5oaWdoZXN0X3ByaW8gPj0gTUFYX1JUX1BSSU8pIHsKLQkJCS8qCi0JCQkgKiBpZiB3ZSBhbHJlYWR5IGZvdW5kIGEgbG93IFJUIHF1ZXVlCi0JCQkgKiBhbmQgbm93IHdlIGZvdW5kIHRoaXMgbm9uLXJ0IHF1ZXVlCi0JCQkgKiBjbGVhciB0aGUgbWFzayBhbmQgc2V0IG91ciBiaXQuCi0JCQkgKiBPdGhlcndpc2UganVzdCByZXR1cm4gdGhlIHF1ZXVlIGFzIGlzCi0JCQkgKiBhbmQgdGhlIGNvdW50PT0xIHdpbGwgY2F1c2UgdGhlIGFsZ29yaXRobQotCQkJICogdG8gdXNlIHRoZSBmaXJzdCBiaXQgZm91bmQuCi0JCQkgKi8KLQkJCWlmIChsb3dlc3RfY3B1ICE9IC0xKSB7Ci0JCQkJY3B1c19jbGVhcigqbG93ZXN0X21hc2spOwotCQkJCWNwdV9zZXQocnEtPmNwdSwgKmxvd2VzdF9tYXNrKTsKLQkJCX0KLQkJCXJldHVybiAxOwotCQl9Ci0KLQkJLyogbm8gbG9ja2luZyBmb3Igbm93ICovCi0JCWlmICgocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+IHRhc2stPnByaW8pCi0JCSAgICAmJiAocnEtPnJ0LmhpZ2hlc3RfcHJpbyA+PSBsb3dlc3RfcHJpbykpIHsKLQkJCWlmIChycS0+cnQuaGlnaGVzdF9wcmlvID4gbG93ZXN0X3ByaW8pIHsKLQkJCQkvKiBuZXcgbG93IC0gY2xlYXIgb2xkIGRhdGEgKi8KLQkJCQlsb3dlc3RfcHJpbyA9IHJxLT5ydC5oaWdoZXN0X3ByaW87Ci0JCQkJbG93ZXN0X2NwdSA9IGNwdTsKLQkJCQljb3VudCA9IDA7Ci0JCQl9Ci0JCQljb3VudCsrOwotCQl9IGVsc2UKLQkJCWNwdV9jbGVhcihjcHUsICpsb3dlc3RfbWFzayk7Ci0JfQotCi0JLyoKLQkgKiBDbGVhciBvdXQgYWxsIHRoZSBzZXQgYml0cyB0aGF0IHJlcHJlc2VudAotCSAqIHJ1bnF1ZXVlcyB0aGF0IHdlcmUgb2YgaGlnaGVyIHByaW8gdGhhbgotCSAqIHRoZSBsb3dlc3RfcHJpby4KLQkgKi8KLQlpZiAobG93ZXN0X2NwdSA+IDApIHsKLQkJLyoKLQkJICogUGVyaGFwcyB3ZSBjb3VsZCBhZGQgYW5vdGhlciBjcHVtYXNrIG9wIHRvCi0JCSAqIHplcm8gb3V0IGJpdHMuIExpa2UgY3B1X3plcm9fYml0cyhjcHVtYXNrLCBucmJpdHMpOwotCQkgKiBUaGVuIHRoYXQgY291bGQgYmUgb3B0aW1pemVkIHRvIHVzZSBtZW1zZXQgYW5kIHN1Y2guCi0JCSAqLwotCQlmb3JfZWFjaF9jcHVfbWFzayhjcHUsICpsb3dlc3RfbWFzaykgewotCQkJaWYgKGNwdSA+PSBsb3dlc3RfY3B1KQotCQkJCWJyZWFrOwotCQkJY3B1X2NsZWFyKGNwdSwgKmxvd2VzdF9tYXNrKTsKLQkJfQotCX0KLQotCXJldHVybiBjb3VudDsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgcGlja19vcHRpbWFsX2NwdShpbnQgdGhpc19jcHUsIGNwdW1hc2tfdCAqbWFzaykKIHsKIAlpbnQgZmlyc3Q7CkBAIC04MDgsMTkgKzkxNCwxNCBAQAogCWNwdW1hc2tfdCAqbG93ZXN0X21hc2sgPSAmX19nZXRfY3B1X3Zhcihsb2NhbF9jcHVfbWFzayk7CiAJaW50IHRoaXNfY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOwogCWludCBjcHUgICAgICA9IHRhc2tfY3B1KHRhc2spOwotCWludCBjb3VudCAgICA9IGZpbmRfbG93ZXN0X2NwdXModGFzaywgbG93ZXN0X21hc2spOwogCi0JaWYgKCFjb3VudCkKKwlpZiAodGFzay0+cnQubnJfY3B1c19hbGxvd2VkID09IDEpCisJCXJldHVybiAtMTsgLyogTm8gb3RoZXIgdGFyZ2V0cyBwb3NzaWJsZSAqLworCisJaWYgKCFjcHVwcmlfZmluZCgmdGFza19ycSh0YXNrKS0+cmQtPmNwdXByaSwgdGFzaywgbG93ZXN0X21hc2spKQogCQlyZXR1cm4gLTE7IC8qIE5vIHRhcmdldHMgZm91bmQgKi8KIAogCS8qCi0JICogVGhlcmUgaXMgbm8gc2Vuc2UgaW4gcGVyZm9ybWluZyBhbiBvcHRpbWFsIHNlYXJjaCBpZiBvbmx5IG9uZQotCSAqIHRhcmdldCBpcyBmb3VuZC4KLQkgKi8KLQlpZiAoY291bnQgPT0gMSkKLQkJcmV0dXJuIGZpcnN0X2NwdSgqbG93ZXN0X21hc2spOwotCi0JLyoKIAkgKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgYnVpbHQgYSBtYXNrIG9mIGNwdXMgcmVwcmVzZW50aW5nIHRoZQogCSAqIGxvd2VzdCBwcmlvcml0eSB0YXNrcyBpbiB0aGUgc3lzdGVtLiAgTm93IHdlIHdhbnQgdG8gZWxlY3QKIAkgKiB0aGUgYmVzdCBvbmUgYmFzZWQgb24gb3VyIGFmZmluaXR5IGFuZCB0b3BvbG9neS4KQEAgLTExNjMsMTcgKzEyNjQsMjUgQEAKIH0KIAogLyogQXNzdW1lcyBycS0+bG9jayBpcyBoZWxkICovCi1zdGF0aWMgdm9pZCBqb2luX2RvbWFpbl9ydChzdHJ1Y3QgcnEgKnJxKQorc3RhdGljIHZvaWQgcnFfb25saW5lX3J0KHN0cnVjdCBycSAqcnEpCiB7CiAJaWYgKHJxLT5ydC5vdmVybG9hZGVkKQogCQlydF9zZXRfb3ZlcmxvYWQocnEpOworCisJX19lbmFibGVfcnVudGltZShycSk7CisKKwljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwgcnEtPnJ0LmhpZ2hlc3RfcHJpbyk7CiB9CiAKIC8qIEFzc3VtZXMgcnEtPmxvY2sgaXMgaGVsZCAqLwotc3RhdGljIHZvaWQgbGVhdmVfZG9tYWluX3J0KHN0cnVjdCBycSAqcnEpCitzdGF0aWMgdm9pZCBycV9vZmZsaW5lX3J0KHN0cnVjdCBycSAqcnEpCiB7CiAJaWYgKHJxLT5ydC5vdmVybG9hZGVkKQogCQlydF9jbGVhcl9vdmVybG9hZChycSk7CisKKwlfX2Rpc2FibGVfcnVudGltZShycSk7CisKKwljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXByaSwgcnEtPmNwdSwgQ1BVUFJJX0lOVkFMSUQpOwogfQogCiAvKgpAQCAtMTMzNiw4ICsxNDQ1LDggQEAKIAkubG9hZF9iYWxhbmNlCQk9IGxvYWRfYmFsYW5jZV9ydCwKIAkubW92ZV9vbmVfdGFzawkJPSBtb3ZlX29uZV90YXNrX3J0LAogCS5zZXRfY3B1c19hbGxvd2VkICAgICAgID0gc2V0X2NwdXNfYWxsb3dlZF9ydCwKLQkuam9pbl9kb21haW4gICAgICAgICAgICA9IGpvaW5fZG9tYWluX3J0LAotCS5sZWF2ZV9kb21haW4gICAgICAgICAgID0gbGVhdmVfZG9tYWluX3J0LAorCS5ycV9vbmxpbmUgICAgICAgICAgICAgID0gcnFfb25saW5lX3J0LAorCS5ycV9vZmZsaW5lICAgICAgICAgICAgID0gcnFfb2ZmbGluZV9ydCwKIAkucHJlX3NjaGVkdWxlCQk9IHByZV9zY2hlZHVsZV9ydCwKIAkucG9zdF9zY2hlZHVsZQkJPSBwb3N0X3NjaGVkdWxlX3J0LAogCS50YXNrX3dha2VfdXAJCT0gdGFza193YWtlX3VwX3J0LApAQCAtMTM1MCwzICsxNDU5LDE3IEBACiAJLnByaW9fY2hhbmdlZAkJPSBwcmlvX2NoYW5nZWRfcnQsCiAJLnN3aXRjaGVkX3RvCQk9IHN3aXRjaGVkX3RvX3J0LAogfTsKKworI2lmZGVmIENPTkZJR19TQ0hFRF9ERUJVRworZXh0ZXJuIHZvaWQgcHJpbnRfcnRfcnEoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1LCBzdHJ1Y3QgcnRfcnEgKnJ0X3JxKTsKKworc3RhdGljIHZvaWQgcHJpbnRfcnRfc3RhdHMoc3RydWN0IHNlcV9maWxlICptLCBpbnQgY3B1KQoreworCXN0cnVjdCBydF9ycSAqcnRfcnE7CisKKwlyY3VfcmVhZF9sb2NrKCk7CisJZm9yX2VhY2hfbGVhZl9ydF9ycShydF9ycSwgY3B1X3JxKGNwdSkpCisJCXByaW50X3J0X3JxKG0sIGNwdSwgcnRfcnEpOworCXJjdV9yZWFkX3VubG9jaygpOworfQorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9ERUJVRyAqLwpkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVkX3N0YXRzLmggYi9rZXJuZWwvc2NoZWRfc3RhdHMuaAppbmRleCA4MDE3OWVmLi44Mzg1ZDQzIDEwMDY0NAotLS0gYS9rZXJuZWwvc2NoZWRfc3RhdHMuaAorKysgYi9rZXJuZWwvc2NoZWRfc3RhdHMuaApAQCAtMTE4LDYgKzExOCwxMyBAQAogCWlmIChycSkKIAkJcnEtPnJxX3NjaGVkX2luZm8uY3B1X3RpbWUgKz0gZGVsdGE7CiB9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorcnFfc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgcnEgKnJxLCB1bnNpZ25lZCBsb25nIGxvbmcgZGVsdGEpCit7CisJaWYgKHJxKQorCQlycS0+cnFfc2NoZWRfaW5mby5ydW5fZGVsYXkgKz0gZGVsdGE7Cit9CiAjIGRlZmluZSBzY2hlZHN0YXRfaW5jKHJxLCBmaWVsZCkJZG8geyAocnEpLT5maWVsZCsrOyB9IHdoaWxlICgwKQogIyBkZWZpbmUgc2NoZWRzdGF0X2FkZChycSwgZmllbGQsIGFtdCkJZG8geyAocnEpLT5maWVsZCArPSAoYW10KTsgfSB3aGlsZSAoMCkKICMgZGVmaW5lIHNjaGVkc3RhdF9zZXQodmFyLCB2YWwpCWRvIHsgdmFyID0gKHZhbCk7IH0gd2hpbGUgKDApCkBAIC0xMjYsNiArMTMzLDkgQEAKIHJxX3NjaGVkX2luZm9fYXJyaXZlKHN0cnVjdCBycSAqcnEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkZWx0YSkKIHt9CiBzdGF0aWMgaW5saW5lIHZvaWQKK3JxX3NjaGVkX2luZm9fZGVxdWV1ZWQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQore30KK3N0YXRpYyBpbmxpbmUgdm9pZAogcnFfc2NoZWRfaW5mb19kZXBhcnQoc3RydWN0IHJxICpycSwgdW5zaWduZWQgbG9uZyBsb25nIGRlbHRhKQoge30KICMgZGVmaW5lIHNjaGVkc3RhdF9pbmMocnEsIGZpZWxkKQlkbyB7IH0gd2hpbGUgKDApCkBAIC0xMzQsNiArMTQ0LDExIEBACiAjZW5kaWYKIAogI2lmIGRlZmluZWQoQ09ORklHX1NDSEVEU1RBVFMpIHx8IGRlZmluZWQoQ09ORklHX1RBU0tfREVMQVlfQUNDVCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHN0cnVjdCB0YXNrX3N0cnVjdCAqdCkKK3sKKwl0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkID0gMDsKK30KKwogLyoKICAqIENhbGxlZCB3aGVuIGEgcHJvY2VzcyBpcyBkZXF1ZXVlZCBmcm9tIHRoZSBhY3RpdmUgYXJyYXkgYW5kIGdpdmVuCiAgKiB0aGUgY3B1LiAgV2Ugc2hvdWxkIG5vdGUgdGhhdCB3aXRoIHRoZSBleGNlcHRpb24gb2YgaW50ZXJhY3RpdmUKQEAgLTE0MywxNSArMTU4LDIyIEBACiAgKiBhY3RpdmUgcXVldWUsIHRodXMgZGVsYXlpbmcgdGFza3MgaW4gdGhlIGV4cGlyZWQgcXVldWUgZnJvbSBydW5uaW5nOwogICogc2VlIHNjaGVkdWxlcl90aWNrKCkpLgogICoKLSAqIFRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWQgZnJvbSBzY2hlZF9pbmZvX2Fycml2ZSgpLCByYXRoZXIgdGhhbgotICogZGVxdWV1ZV90YXNrKCkuIEV2ZW4gdGhvdWdoIGEgdGFzayBtYXkgYmUgcXVldWVkIGFuZCBkZXF1ZXVlZCBtdWx0aXBsZQotICogdGltZXMgYXMgaXQgaXMgc2h1ZmZsZWQgYWJvdXQsIHdlJ3JlIHJlYWxseSBpbnRlcmVzdGVkIGluIGtub3dpbmcgaG93Ci0gKiBsb25nIGl0IHdhcyBmcm9tIHRoZSAqZmlyc3QqIHRpbWUgaXQgd2FzIHF1ZXVlZCB0byB0aGUgdGltZSB0aGF0IGl0Ci0gKiBmaW5hbGx5IGhpdCBhIGNwdS4KKyAqIFRob3VnaCB3ZSBhcmUgaW50ZXJlc3RlZCBpbiBrbm93aW5nIGhvdyBsb25nIGl0IHdhcyBmcm9tIHRoZSAqZmlyc3QqIHRpbWUgYQorICogdGFzayB3YXMgcXVldWVkIHRvIHRoZSB0aW1lIHRoYXQgaXQgZmluYWxseSBoaXQgYSBjcHUsIHdlIGNhbGwgdGhpcyByb3V0aW5lCisgKiBmcm9tIGRlcXVldWVfdGFzaygpIHRvIGFjY291bnQgZm9yIHBvc3NpYmxlIHJxLT5jbG9jayBza2V3IGFjcm9zcyBjcHVzLiBUaGUKKyAqIGRlbHRhIHRha2VuIG9uIGVhY2ggY3B1IHdvdWxkIGFubnVsIHRoZSBza2V3LgogICovCiBzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfaW5mb19kZXF1ZXVlZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnQpCiB7Ci0JdC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCA9IDA7CisJdW5zaWduZWQgbG9uZyBsb25nIG5vdyA9IHRhc2tfcnEodCktPmNsb2NrLCBkZWx0YSA9IDA7CisKKwlpZiAodW5saWtlbHkoc2NoZWRfaW5mb19vbigpKSkKKwkJaWYgKHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQpCisJCQlkZWx0YSA9IG5vdyAtIHQtPnNjaGVkX2luZm8ubGFzdF9xdWV1ZWQ7CisJc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KTsKKwl0LT5zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKKworCXJxX3NjaGVkX2luZm9fZGVxdWV1ZWQodGFza19ycSh0KSwgZGVsdGEpOwogfQogCiAvKgpAQCAtMTY1LDcgKzE4Nyw3IEBACiAKIAlpZiAodC0+c2NoZWRfaW5mby5sYXN0X3F1ZXVlZCkKIAkJZGVsdGEgPSBub3cgLSB0LT5zY2hlZF9pbmZvLmxhc3RfcXVldWVkOwotCXNjaGVkX2luZm9fZGVxdWV1ZWQodCk7CisJc2NoZWRfaW5mb19yZXNldF9kZXF1ZXVlZCh0KTsKIAl0LT5zY2hlZF9pbmZvLnJ1bl9kZWxheSArPSBkZWx0YTsKIAl0LT5zY2hlZF9pbmZvLmxhc3RfYXJyaXZhbCA9IG5vdzsKIAl0LT5zY2hlZF9pbmZvLnBjb3VudCsrOwpAQCAtMjQyLDcgKzI2NCw5IEBACiAJCV9fc2NoZWRfaW5mb19zd2l0Y2gocHJldiwgbmV4dCk7CiB9CiAjZWxzZQotI2RlZmluZSBzY2hlZF9pbmZvX3F1ZXVlZCh0KQkJZG8geyB9IHdoaWxlICgwKQotI2RlZmluZSBzY2hlZF9pbmZvX3N3aXRjaCh0LCBuZXh0KQlkbyB7IH0gd2hpbGUgKDApCisjZGVmaW5lIHNjaGVkX2luZm9fcXVldWVkKHQpCQkJZG8geyB9IHdoaWxlICgwKQorI2RlZmluZSBzY2hlZF9pbmZvX3Jlc2V0X2RlcXVldWVkKHQpCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19kZXF1ZXVlZCh0KQkJCWRvIHsgfSB3aGlsZSAoMCkKKyNkZWZpbmUgc2NoZWRfaW5mb19zd2l0Y2godCwgbmV4dCkJCWRvIHsgfSB3aGlsZSAoMCkKICNlbmRpZiAvKiBDT05GSUdfU0NIRURTVEFUUyB8fCBDT05GSUdfVEFTS19ERUxBWV9BQ0NUICovCiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9zZW1hcGhvcmUuYyBiL2tlcm5lbC9zZW1hcGhvcmUuYwppbmRleCA1YzI5NDJlLi5hYWFlYWU4IDEwMDY0NAotLS0gYS9rZXJuZWwvc2VtYXBob3JlLmMKKysrIGIva2VybmVsL3NlbWFwaG9yZS5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zZW1hcGhvcmUuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgogCiBzdGF0aWMgbm9pbmxpbmUgdm9pZCBfX2Rvd24oc3RydWN0IHNlbWFwaG9yZSAqc2VtKTsKIHN0YXRpYyBub2lubGluZSBpbnQgX19kb3duX2ludGVycnVwdGlibGUoc3RydWN0IHNlbWFwaG9yZSAqc2VtKTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zbXAuYyBiL2tlcm5lbC9zbXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjJjNzg1Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3NtcC5jCkBAIC0wLDAgKzEsMzgzIEBACisvKgorICogR2VuZXJpYyBoZWxwZXJzIGZvciBzbXAgaXBpIGNhbGxzCisgKgorICogKEMpIEplbnMgQXhib2UgPGplbnMuYXhib2VAb3JhY2xlLmNvbT4gMjAwOAorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXAuaD4KKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBjYWxsX3NpbmdsZV9xdWV1ZSwgY2FsbF9zaW5nbGVfcXVldWUpOworc3RhdGljIExJU1RfSEVBRChjYWxsX2Z1bmN0aW9uX3F1ZXVlKTsKK19fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhjYWxsX2Z1bmN0aW9uX2xvY2spOworCitlbnVtIHsKKwlDU0RfRkxBR19XQUlUCQk9IDB4MDEsCisJQ1NEX0ZMQUdfQUxMT0MJCT0gMHgwMiwKK307CisKK3N0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgeworCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhIGNzZDsKKwlzcGlubG9ja190IGxvY2s7CisJdW5zaWduZWQgaW50IHJlZnM7CisJY3B1bWFza190IGNwdW1hc2s7CisJc3RydWN0IHJjdV9oZWFkIHJjdV9oZWFkOworfTsKKworc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisJc3BpbmxvY2tfdCBsb2NrOworfTsKKwordm9pZCBfX2NwdWluaXQgaW5pdF9jYWxsX3NpbmdsZV9kYXRhKHZvaWQpCit7CisJaW50IGk7CisKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoaSkgeworCQlzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUgKnEgPSAmcGVyX2NwdShjYWxsX3NpbmdsZV9xdWV1ZSwgaSk7CisKKwkJc3Bpbl9sb2NrX2luaXQoJnEtPmxvY2spOworCQlJTklUX0xJU1RfSEVBRCgmcS0+bGlzdCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBjc2RfZmxhZ193YWl0KHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhKQoreworCS8qIFdhaXQgZm9yIHJlc3BvbnNlICovCisJZG8geworCQkvKgorCQkgKiBXZSBuZWVkIHRvIHNlZSB0aGUgZmxhZ3Mgc3RvcmUgaW4gdGhlIElQSSBoYW5kbGVyCisJCSAqLworCQlzbXBfbWIoKTsKKwkJaWYgKCEoZGF0YS0+ZmxhZ3MgJiBDU0RfRkxBR19XQUlUKSkKKwkJCWJyZWFrOworCQljcHVfcmVsYXgoKTsKKwl9IHdoaWxlICgxKTsKK30KKworLyoKKyAqIEluc2VydCBhIHByZXZpb3VzbHkgYWxsb2NhdGVkIGNhbGxfc2luZ2xlX2RhdGEgZWxlbWVudCBmb3IgZXhlY3V0aW9uCisgKiBvbiB0aGUgZ2l2ZW4gQ1BVLiBkYXRhIG11c3QgYWxyZWFkeSBoYXZlIC0+ZnVuYywgLT5pbmZvLCBhbmQgLT5mbGFncyBzZXQuCisgKi8KK3N0YXRpYyB2b2lkIGdlbmVyaWNfZXhlY19zaW5nbGUoaW50IGNwdSwgc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgKmRhdGEpCit7CisJc3RydWN0IGNhbGxfc2luZ2xlX3F1ZXVlICpkc3QgPSAmcGVyX2NwdShjYWxsX3NpbmdsZV9xdWV1ZSwgY3B1KTsKKwlpbnQgd2FpdCA9IGRhdGEtPmZsYWdzICYgQ1NEX0ZMQUdfV0FJVCwgaXBpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZHN0LT5sb2NrLCBmbGFncyk7CisJaXBpID0gbGlzdF9lbXB0eSgmZHN0LT5saXN0KTsKKwlsaXN0X2FkZF90YWlsKCZkYXRhLT5saXN0LCAmZHN0LT5saXN0KTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkc3QtPmxvY2ssIGZsYWdzKTsKKworCWlmIChpcGkpCisJCWFyY2hfc2VuZF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pcGkoY3B1KTsKKworCWlmICh3YWl0KQorCQljc2RfZmxhZ193YWl0KGRhdGEpOworfQorCitzdGF0aWMgdm9pZCByY3VfZnJlZV9jYWxsX2RhdGEoc3RydWN0IHJjdV9oZWFkICpoZWFkKQoreworCXN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEgKmRhdGE7CisKKwlkYXRhID0gY29udGFpbmVyX29mKGhlYWQsIHN0cnVjdCBjYWxsX2Z1bmN0aW9uX2RhdGEsIHJjdV9oZWFkKTsKKworCWtmcmVlKGRhdGEpOworfQorCisvKgorICogSW52b2tlZCBieSBhcmNoIHRvIGhhbmRsZSBhbiBJUEkgZm9yIGNhbGwgZnVuY3Rpb24uIE11c3QgYmUgY2FsbGVkIHdpdGgKKyAqIGludGVycnVwdHMgZGlzYWJsZWQuCisgKi8KK3ZvaWQgZ2VuZXJpY19zbXBfY2FsbF9mdW5jdGlvbl9pbnRlcnJ1cHQodm9pZCkKK3sKKwlzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhICpkYXRhOworCWludCBjcHUgPSBnZXRfY3B1KCk7CisKKwkvKgorCSAqIEl0J3Mgb2sgdG8gdXNlIGxpc3RfZm9yX2VhY2hfcmN1KCkgaGVyZSBldmVuIHRob3VnaCB3ZSBtYXkgZGVsZXRlCisJICogJ3BvcycsIHNpbmNlIGxpc3RfZGVsX3JjdSgpIGRvZXNuJ3QgY2xlYXIgLT5uZXh0CisJICovCisJcmN1X3JlYWRfbG9jaygpOworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KGRhdGEsICZjYWxsX2Z1bmN0aW9uX3F1ZXVlLCBjc2QubGlzdCkgeworCQlpbnQgcmVmczsKKworCQlpZiAoIWNwdV9pc3NldChjcHUsIGRhdGEtPmNwdW1hc2spKQorCQkJY29udGludWU7CisKKwkJZGF0YS0+Y3NkLmZ1bmMoZGF0YS0+Y3NkLmluZm8pOworCisJCXNwaW5fbG9jaygmZGF0YS0+bG9jayk7CisJCWNwdV9jbGVhcihjcHUsIGRhdGEtPmNwdW1hc2spOworCQlXQVJOX09OKGRhdGEtPnJlZnMgPT0gMCk7CisJCWRhdGEtPnJlZnMtLTsKKwkJcmVmcyA9IGRhdGEtPnJlZnM7CisJCXNwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKworCQlpZiAocmVmcykKKwkJCWNvbnRpbnVlOworCisJCXNwaW5fbG9jaygmY2FsbF9mdW5jdGlvbl9sb2NrKTsKKwkJbGlzdF9kZWxfcmN1KCZkYXRhLT5jc2QubGlzdCk7CisJCXNwaW5fdW5sb2NrKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworCisJCWlmIChkYXRhLT5jc2QuZmxhZ3MgJiBDU0RfRkxBR19XQUlUKSB7CisJCQkvKgorCQkJICogc2VyaWFsaXplIHN0b3JlcyB0byBkYXRhIHdpdGggdGhlIGZsYWcgY2xlYXIKKwkJCSAqIGFuZCB3YWtldXAKKwkJCSAqLworCQkJc21wX3dtYigpOworCQkJZGF0YS0+Y3NkLmZsYWdzICY9IH5DU0RfRkxBR19XQUlUOworCQl9IGVsc2UKKwkJCWNhbGxfcmN1KCZkYXRhLT5yY3VfaGVhZCwgcmN1X2ZyZWVfY2FsbF9kYXRhKTsKKwl9CisJcmN1X3JlYWRfdW5sb2NrKCk7CisKKwlwdXRfY3B1KCk7Cit9CisKKy8qCisgKiBJbnZva2VkIGJ5IGFyY2ggdG8gaGFuZGxlIGFuIElQSSBmb3IgY2FsbCBmdW5jdGlvbiBzaW5nbGUuIE11c3QgYmUgY2FsbGVkCisgKiBmcm9tIHRoZSBhcmNoIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZC4KKyAqLwordm9pZCBnZW5lcmljX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQodm9pZCkKK3sKKwlzdHJ1Y3QgY2FsbF9zaW5nbGVfcXVldWUgKnEgPSAmX19nZXRfY3B1X3ZhcihjYWxsX3NpbmdsZV9xdWV1ZSk7CisJTElTVF9IRUFEKGxpc3QpOworCisJLyoKKwkgKiBOZWVkIHRvIHNlZSBvdGhlciBzdG9yZXMgdG8gbGlzdCBoZWFkIGZvciBjaGVja2luZyB3aGV0aGVyCisJICogbGlzdCBpcyBlbXB0eSB3aXRob3V0IGhvbGRpbmcgcS0+bG9jaworCSAqLworCXNtcF9tYigpOworCXdoaWxlICghbGlzdF9lbXB0eSgmcS0+bGlzdCkpIHsKKwkJdW5zaWduZWQgaW50IGRhdGFfZmxhZ3M7CisKKwkJc3Bpbl9sb2NrKCZxLT5sb2NrKTsKKwkJbGlzdF9yZXBsYWNlX2luaXQoJnEtPmxpc3QsICZsaXN0KTsKKwkJc3Bpbl91bmxvY2soJnEtPmxvY2spOworCisJCXdoaWxlICghbGlzdF9lbXB0eSgmbGlzdCkpIHsKKwkJCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhOworCisJCQlkYXRhID0gbGlzdF9lbnRyeShsaXN0Lm5leHQsIHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhLAorCQkJCQkJbGlzdCk7CisJCQlsaXN0X2RlbCgmZGF0YS0+bGlzdCk7CisKKwkJCS8qCisJCQkgKiAnZGF0YScgY2FuIGJlIGludmFsaWQgYWZ0ZXIgdGhpcyBjYWxsIGlmCisJCQkgKiBmbGFncyA9PSAwICh3aGVuIGNhbGxlZCB0aHJvdWdoCisJCQkgKiBnZW5lcmljX2V4ZWNfc2luZ2xlKCksIHNvIHNhdmUgdGhlbSBhd2F5IGJlZm9yZQorCQkJICogbWFraW5nIHRoZSBjYWxsLgorCQkJICovCisJCQlkYXRhX2ZsYWdzID0gZGF0YS0+ZmxhZ3M7CisKKwkJCWRhdGEtPmZ1bmMoZGF0YS0+aW5mbyk7CisKKwkJCWlmIChkYXRhX2ZsYWdzICYgQ1NEX0ZMQUdfV0FJVCkgeworCQkJCXNtcF93bWIoKTsKKwkJCQlkYXRhLT5mbGFncyAmPSB+Q1NEX0ZMQUdfV0FJVDsKKwkJCX0gZWxzZSBpZiAoZGF0YV9mbGFncyAmIENTRF9GTEFHX0FMTE9DKQorCQkJCWtmcmVlKGRhdGEpOworCQl9CisJCS8qCisJCSAqIFNlZSBjb21tZW50IG9uIG91dGVyIGxvb3AKKwkJICovCisJCXNtcF9tYigpOworCX0KK30KKworLyoKKyAqIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSAtIFJ1biBhIGZ1bmN0aW9uIG9uIGEgc3BlY2lmaWMgQ1BVCisgKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KKyAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KKyAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IHVudGlsIGZ1bmN0aW9uIGhhcyBjb21wbGV0ZWQgb24gb3RoZXIgQ1BVcy4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgZWxzZSBhIG5lZ2F0aXZlIHN0YXR1cyBjb2RlLiBOb3RlIHRoYXQgQHdhaXQKKyAqIHdpbGwgYmUgaW1wbGljaXRseSB0dXJuZWQgb24gaW4gY2FzZSBvZiBhbGxvY2F0aW9uIGZhaWx1cmVzLCBzaW5jZQorICogd2UgZmFsbCBiYWNrIHRvIG9uLXN0YWNrIGFsbG9jYXRpb24uCisgKi8KK2ludCBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoaW50IGNwdSwgdm9pZCAoKmZ1bmMpICh2b2lkICppbmZvKSwgdm9pZCAqaW5mbywKKwkJCSAgICAgaW50IHdhaXQpCit7CisJc3RydWN0IGNhbGxfc2luZ2xlX2RhdGEgZDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCS8qIHByZXZlbnQgcHJlZW1wdGlvbiBhbmQgcmVzY2hlZHVsZSBvbiBhbm90aGVyIHByb2Nlc3NvciAqLworCWludCBtZSA9IGdldF9jcHUoKTsKKworCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KKwlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7CisKKwlpZiAoY3B1ID09IG1lKSB7CisJCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwkJZnVuYyhpbmZvKTsKKwkJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworCX0gZWxzZSB7CisJCXN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhID0gTlVMTDsKKworCQlpZiAoIXdhaXQpIHsKKwkJCWRhdGEgPSBrbWFsbG9jKHNpemVvZigqZGF0YSksIEdGUF9BVE9NSUMpOworCQkJaWYgKGRhdGEpCisJCQkJZGF0YS0+ZmxhZ3MgPSBDU0RfRkxBR19BTExPQzsKKwkJfQorCQlpZiAoIWRhdGEpIHsKKwkJCWRhdGEgPSAmZDsKKwkJCWRhdGEtPmZsYWdzID0gQ1NEX0ZMQUdfV0FJVDsKKwkJfQorCisJCWRhdGEtPmZ1bmMgPSBmdW5jOworCQlkYXRhLT5pbmZvID0gaW5mbzsKKwkJZ2VuZXJpY19leGVjX3NpbmdsZShjcHUsIGRhdGEpOworCX0KKworCXB1dF9jcHUoKTsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKTsKKworLyoqCisgKiBfX3NtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgpOiBSdW4gYSBmdW5jdGlvbiBvbiBhbm90aGVyIENQVQorICogQGNwdTogVGhlIENQVSB0byBydW4gb24uCisgKiBAZGF0YTogUHJlLWFsbG9jYXRlZCBhbmQgc2V0dXAgZGF0YSBzdHJ1Y3R1cmUKKyAqCisgKiBMaWtlIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZSgpLCBidXQgYWxsb3cgY2FsbGVyIHRvIHBhc3MgaW4gYSBwcmUtYWxsb2NhdGVkCisgKiBkYXRhIHN0cnVjdHVyZS4gVXNlZnVsIGZvciBlbWJlZGRpbmcgQGRhdGEgaW5zaWRlIG90aGVyIHN0cnVjdHVyZXMsIGZvcgorICogaW5zdGFuY2UuCisgKgorICovCit2b2lkIF9fc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGludCBjcHUsIHN0cnVjdCBjYWxsX3NpbmdsZV9kYXRhICpkYXRhKQoreworCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KKwlXQVJOX09OKChkYXRhLT5mbGFncyAmIENTRF9GTEFHX1dBSVQpICYmIGlycXNfZGlzYWJsZWQoKSk7CisKKwlnZW5lcmljX2V4ZWNfc2luZ2xlKGNwdSwgZGF0YSk7Cit9CisKKy8qKgorICogc21wX2NhbGxfZnVuY3Rpb25fbWFzaygpOiBSdW4gYSBmdW5jdGlvbiBvbiBhIHNldCBvZiBvdGhlciBDUFVzLgorICogQG1hc2s6IFRoZSBzZXQgb2YgY3B1cyB0byBydW4gb24uCisgKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KKyAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KKyAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KKyAqCisgKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQuIE5vdGUgdGhhdCBAd2FpdAorICogd2lsbCBiZSBpbXBsaWNpdGx5IHR1cm5lZCBvbiBpbiBjYXNlIG9mIGFsbG9jYXRpb24gZmFpbHVyZXMsIHNpbmNlCisgKiB3ZSBmYWxsIGJhY2sgdG8gb24tc3RhY2sgYWxsb2NhdGlvbi4KKyAqCisgKiBZb3UgbXVzdCBub3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggZGlzYWJsZWQgaW50ZXJydXB0cyBvciBmcm9tIGEKKyAqIGhhcmR3YXJlIGludGVycnVwdCBoYW5kbGVyIG9yIGZyb20gYSBib3R0b20gaGFsZiBoYW5kbGVyLiBQcmVlbXB0aW9uCisgKiBtdXN0IGJlIGRpc2FibGVkIHdoZW4gY2FsbGluZyB0aGlzIGZ1bmN0aW9uLgorICovCitpbnQgc21wX2NhbGxfZnVuY3Rpb25fbWFzayhjcHVtYXNrX3QgbWFzaywgdm9pZCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmluZm8sCisJCQkgICBpbnQgd2FpdCkKK3sKKwlzdHJ1Y3QgY2FsbF9mdW5jdGlvbl9kYXRhIGQ7CisJc3RydWN0IGNhbGxfZnVuY3Rpb25fZGF0YSAqZGF0YSA9IE5VTEw7CisJY3B1bWFza190IGFsbGJ1dHNlbGY7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgY3B1LCBudW1fY3B1czsKKworCS8qIENhbiBkZWFkbG9jayB3aGVuIGNhbGxlZCB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQgKi8KKwlXQVJOX09OKGlycXNfZGlzYWJsZWQoKSk7CisKKwljcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisJYWxsYnV0c2VsZiA9IGNwdV9vbmxpbmVfbWFwOworCWNwdV9jbGVhcihjcHUsIGFsbGJ1dHNlbGYpOworCWNwdXNfYW5kKG1hc2ssIG1hc2ssIGFsbGJ1dHNlbGYpOworCW51bV9jcHVzID0gY3B1c193ZWlnaHQobWFzayk7CisKKwkvKgorCSAqIElmIHplcm8gQ1BVcywgcmV0dXJuLiBJZiBqdXN0IGEgc2luZ2xlIENQVSwgdHVybiB0aGlzIHJlcXVlc3QKKwkgKiBpbnRvIGEgdGFyZ2V0dGVkIHNpbmdsZSBjYWxsIGluc3RlYWQgc2luY2UgaXQncyBmYXN0ZXIuCisJICovCisJaWYgKCFudW1fY3B1cykKKwkJcmV0dXJuIDA7CisJZWxzZSBpZiAobnVtX2NwdXMgPT0gMSkgeworCQljcHUgPSBmaXJzdF9jcHUobWFzayk7CisJCXJldHVybiBzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBmdW5jLCBpbmZvLCB3YWl0KTsKKwl9CisKKwlpZiAoIXdhaXQpIHsKKwkJZGF0YSA9IGttYWxsb2Moc2l6ZW9mKCpkYXRhKSwgR0ZQX0FUT01JQyk7CisJCWlmIChkYXRhKQorCQkJZGF0YS0+Y3NkLmZsYWdzID0gQ1NEX0ZMQUdfQUxMT0M7CisJfQorCWlmICghZGF0YSkgeworCQlkYXRhID0gJmQ7CisJCWRhdGEtPmNzZC5mbGFncyA9IENTRF9GTEFHX1dBSVQ7CisJCXdhaXQgPSAxOworCX0KKworCXNwaW5fbG9ja19pbml0KCZkYXRhLT5sb2NrKTsKKwlkYXRhLT5jc2QuZnVuYyA9IGZ1bmM7CisJZGF0YS0+Y3NkLmluZm8gPSBpbmZvOworCWRhdGEtPnJlZnMgPSBudW1fY3B1czsKKwlkYXRhLT5jcHVtYXNrID0gbWFzazsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjYWxsX2Z1bmN0aW9uX2xvY2ssIGZsYWdzKTsKKwlsaXN0X2FkZF90YWlsX3JjdSgmZGF0YS0+Y3NkLmxpc3QsICZjYWxsX2Z1bmN0aW9uX3F1ZXVlKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjYWxsX2Z1bmN0aW9uX2xvY2ssIGZsYWdzKTsKKworCS8qIFNlbmQgYSBtZXNzYWdlIHRvIGFsbCBDUFVzIGluIHRoZSBtYXAgKi8KKwlhcmNoX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGkobWFzayk7CisKKwkvKiBvcHRpb25hbGx5IHdhaXQgZm9yIHRoZSBDUFVzIHRvIGNvbXBsZXRlICovCisJaWYgKHdhaXQpCisJCWNzZF9mbGFnX3dhaXQoJmRhdGEtPmNzZCk7CisKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb25fbWFzayk7CisKKy8qKgorICogc21wX2NhbGxfZnVuY3Rpb24oKTogUnVuIGEgZnVuY3Rpb24gb24gYWxsIG90aGVyIENQVXMuCisgKiBAZnVuYzogVGhlIGZ1bmN0aW9uIHRvIHJ1bi4gVGhpcyBtdXN0IGJlIGZhc3QgYW5kIG5vbi1ibG9ja2luZy4KKyAqIEBpbmZvOiBBbiBhcmJpdHJhcnkgcG9pbnRlciB0byBwYXNzIHRvIHRoZSBmdW5jdGlvbi4KKyAqIEB3YWl0OiBJZiB0cnVlLCB3YWl0IChhdG9taWNhbGx5KSB1bnRpbCBmdW5jdGlvbiBoYXMgY29tcGxldGVkIG9uIG90aGVyIENQVXMuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIGVsc2UgYSBuZWdhdGl2ZSBzdGF0dXMgY29kZS4KKyAqCisgKiBJZiBAd2FpdCBpcyB0cnVlLCB0aGVuIHJldHVybnMgb25jZSBAZnVuYyBoYXMgcmV0dXJuZWQ7IG90aGVyd2lzZQorICogaXQgcmV0dXJucyBqdXN0IGJlZm9yZSB0aGUgdGFyZ2V0IGNwdSBjYWxscyBAZnVuYy4gSW4gY2FzZSBvZiBhbGxvY2F0aW9uCisgKiBmYWlsdXJlLCBAd2FpdCB3aWxsIGJlIGltcGxpY2l0bHkgdHVybmVkIG9uLgorICoKKyAqIFlvdSBtdXN0IG5vdCBjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBkaXNhYmxlZCBpbnRlcnJ1cHRzIG9yIGZyb20gYQorICogaGFyZHdhcmUgaW50ZXJydXB0IGhhbmRsZXIgb3IgZnJvbSBhIGJvdHRvbSBoYWxmIGhhbmRsZXIuCisgKi8KK2ludCBzbXBfY2FsbF9mdW5jdGlvbih2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqaW5mbywgaW50IHdhaXQpCit7CisJaW50IHJldDsKKworCXByZWVtcHRfZGlzYWJsZSgpOworCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uX21hc2soY3B1X29ubGluZV9tYXAsIGZ1bmMsIGluZm8sIHdhaXQpOworCXByZWVtcHRfZW5hYmxlKCk7CisJcmV0dXJuIHJldDsKK30KK0VYUE9SVF9TWU1CT0woc21wX2NhbGxfZnVuY3Rpb24pOworCit2b2lkIGlwaV9jYWxsX2xvY2sodm9pZCkKK3sKKwlzcGluX2xvY2soJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CisKK3ZvaWQgaXBpX2NhbGxfdW5sb2NrKHZvaWQpCit7CisJc3Bpbl91bmxvY2soJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CisKK3ZvaWQgaXBpX2NhbGxfbG9ja19pcnEodm9pZCkKK3sKKwlzcGluX2xvY2tfaXJxKCZjYWxsX2Z1bmN0aW9uX2xvY2spOworfQorCit2b2lkIGlwaV9jYWxsX3VubG9ja19pcnEodm9pZCkKK3sKKwlzcGluX3VubG9ja19pcnEoJmNhbGxfZnVuY3Rpb25fbG9jayk7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvc29mdGlycS5jIGIva2VybmVsL3NvZnRpcnEuYwppbmRleCAzNmUwNjE3Li44MWUyZmUwIDEwMDY0NAotLS0gYS9rZXJuZWwvc29mdGlycS5jCisrKyBiL2tlcm5lbC9zb2Z0aXJxLmMKQEAgLTEzMSw0OCArMTMxLDExIEBACiAKIEVYUE9SVF9TWU1CT0woX2xvY2FsX2JoX2VuYWJsZSk7CiAKLXZvaWQgbG9jYWxfYmhfZW5hYmxlKHZvaWQpCitzdGF0aWMgaW5saW5lIHZvaWQgX2xvY2FsX2JoX2VuYWJsZV9pcCh1bnNpZ25lZCBsb25nIGlwKQogeworCVdBUk5fT05fT05DRShpbl9pcnEoKSB8fCBpcnFzX2Rpc2FibGVkKCkpOwogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlXQVJOX09OX09OQ0UoaW5faXJxKCkpOwotI2VuZGlmCi0JV0FSTl9PTl9PTkNFKGlycXNfZGlzYWJsZWQoKSk7Ci0KLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQlsb2NhbF9pcnFfc2F2ZShmbGFncyk7Ci0jZW5kaWYKLQkvKgotCSAqIEFyZSBzb2Z0aXJxcyBnb2luZyB0byBiZSB0dXJuZWQgb24gbm93OgotCSAqLwotCWlmIChzb2Z0aXJxX2NvdW50KCkgPT0gU09GVElSUV9PRkZTRVQpCi0JCXRyYWNlX3NvZnRpcnFzX29uKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7Ci0JLyoKLQkgKiBLZWVwIHByZWVtcHRpb24gZGlzYWJsZWQgdW50aWwgd2UgYXJlIGRvbmUgd2l0aAotCSAqIHNvZnRpcnEgcHJvY2Vzc2luZzoKLSAJICovCi0gCXN1Yl9wcmVlbXB0X2NvdW50KFNPRlRJUlFfT0ZGU0VUIC0gMSk7Ci0KLQlpZiAodW5saWtlbHkoIWluX2ludGVycnVwdCgpICYmIGxvY2FsX3NvZnRpcnFfcGVuZGluZygpKSkKLQkJZG9fc29mdGlycSgpOwotCi0JZGVjX3ByZWVtcHRfY291bnQoKTsKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Ci0jZW5kaWYKLQlwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKTsKLX0KLUVYUE9SVF9TWU1CT0wobG9jYWxfYmhfZW5hYmxlKTsKLQotdm9pZCBsb2NhbF9iaF9lbmFibGVfaXAodW5zaWduZWQgbG9uZyBpcCkKLXsKLSNpZmRlZiBDT05GSUdfVFJBQ0VfSVJRRkxBR1MKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCi0JV0FSTl9PTl9PTkNFKGluX2lycSgpKTsKLQotCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwlsb2NhbF9pcnFfZGlzYWJsZSgpOwogI2VuZGlmCiAJLyoKIAkgKiBBcmUgc29mdGlycXMgZ29pbmcgdG8gYmUgdHVybmVkIG9uIG5vdzoKQEAgLTE5MCwxMCArMTUzLDIxIEBACiAKIAlkZWNfcHJlZW1wdF9jb3VudCgpOwogI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKwlsb2NhbF9pcnFfZW5hYmxlKCk7CiAjZW5kaWYKIAlwcmVlbXB0X2NoZWNrX3Jlc2NoZWQoKTsKIH0KKwordm9pZCBsb2NhbF9iaF9lbmFibGUodm9pZCkKK3sKKwlfbG9jYWxfYmhfZW5hYmxlX2lwKCh1bnNpZ25lZCBsb25nKV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSk7Cit9CitFWFBPUlRfU1lNQk9MKGxvY2FsX2JoX2VuYWJsZSk7CisKK3ZvaWQgbG9jYWxfYmhfZW5hYmxlX2lwKHVuc2lnbmVkIGxvbmcgaXApCit7CisJX2xvY2FsX2JoX2VuYWJsZV9pcChpcCk7Cit9CiBFWFBPUlRfU1lNQk9MKGxvY2FsX2JoX2VuYWJsZV9pcCk7CiAKIC8qCkBAIC0zNDcsOSArMzIxLDggQEAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9CiAKLXZvaWQgb3Blbl9zb2Z0aXJxKGludCBuciwgdm9pZCAoKmFjdGlvbikoc3RydWN0IHNvZnRpcnFfYWN0aW9uKiksIHZvaWQgKmRhdGEpCit2b2lkIG9wZW5fc29mdGlycShpbnQgbnIsIHZvaWQgKCphY3Rpb24pKHN0cnVjdCBzb2Z0aXJxX2FjdGlvbiAqKSkKIHsKLQlzb2Z0aXJxX3ZlY1tucl0uZGF0YSA9IGRhdGE7CiAJc29mdGlycV92ZWNbbnJdLmFjdGlvbiA9IGFjdGlvbjsKIH0KIApAQCAtMzYwLDEwICszMzMsOCBAQAogCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCAqKnRhaWw7CiB9OwogCi0vKiBTb21lIGNvbXBpbGVycyBkaXNvYmV5IHNlY3Rpb24gYXR0cmlidXRlIG9uIHN0YXRpY3Mgd2hlbiBub3QKLSAgIGluaXRpYWxpemVkIC0tIFJSICovCi1zdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF92ZWMpID0geyBOVUxMIH07Ci1zdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF9oaV92ZWMpID0geyBOVUxMIH07CitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRhc2tsZXRfaGVhZCwgdGFza2xldF92ZWMpOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0YXNrbGV0X2hlYWQsIHRhc2tsZXRfaGlfdmVjKTsKIAogdm9pZCBfX3Rhc2tsZXRfc2NoZWR1bGUoc3RydWN0IHRhc2tsZXRfc3RydWN0ICp0KQogewpAQCAtNTAzLDggKzQ3NCw4IEBACiAJCQkmcGVyX2NwdSh0YXNrbGV0X2hpX3ZlYywgY3B1KS5oZWFkOwogCX0KIAotCW9wZW5fc29mdGlycShUQVNLTEVUX1NPRlRJUlEsIHRhc2tsZXRfYWN0aW9uLCBOVUxMKTsKLQlvcGVuX3NvZnRpcnEoSElfU09GVElSUSwgdGFza2xldF9oaV9hY3Rpb24sIE5VTEwpOworCW9wZW5fc29mdGlycShUQVNLTEVUX1NPRlRJUlEsIHRhc2tsZXRfYWN0aW9uKTsKKwlvcGVuX3NvZnRpcnEoSElfU09GVElSUSwgdGFza2xldF9oaV9hY3Rpb24pOwogfQogCiBzdGF0aWMgaW50IGtzb2Z0aXJxZCh2b2lkICogX19iaW5kX2NwdSkKQEAgLTY0NSw3ICs2MTYsNyBAQAogCiAJCXAgPSBwZXJfY3B1KGtzb2Z0aXJxZCwgaG90Y3B1KTsKIAkJcGVyX2NwdShrc29mdGlycWQsIGhvdGNwdSkgPSBOVUxMOwotCQlzY2hlZF9zZXRzY2hlZHVsZXIocCwgU0NIRURfRklGTywgJnBhcmFtKTsKKwkJc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2socCwgU0NIRURfRklGTywgJnBhcmFtKTsKIAkJa3RocmVhZF9zdG9wKHApOwogCQl0YWtlb3Zlcl90YXNrbGV0cyhob3RjcHUpOwogCQlicmVhazsKQEAgLTY3NCwxMiArNjQ1LDEyIEBACiAvKgogICogQ2FsbCBhIGZ1bmN0aW9uIG9uIGFsbCBwcm9jZXNzb3JzCiAgKi8KLWludCBvbl9lYWNoX2NwdSh2b2lkICgqZnVuYykgKHZvaWQgKmluZm8pLCB2b2lkICppbmZvLCBpbnQgcmV0cnksIGludCB3YWl0KQoraW50IG9uX2VhY2hfY3B1KHZvaWQgKCpmdW5jKSAodm9pZCAqaW5mbyksIHZvaWQgKmluZm8sIGludCB3YWl0KQogewogCWludCByZXQgPSAwOwogCiAJcHJlZW1wdF9kaXNhYmxlKCk7Ci0JcmV0ID0gc21wX2NhbGxfZnVuY3Rpb24oZnVuYywgaW5mbywgcmV0cnksIHdhaXQpOworCXJldCA9IHNtcF9jYWxsX2Z1bmN0aW9uKGZ1bmMsIGluZm8sIHdhaXQpOwogCWxvY2FsX2lycV9kaXNhYmxlKCk7CiAJZnVuYyhpbmZvKTsKIAlsb2NhbF9pcnFfZW5hYmxlKCk7CmRpZmYgLS1naXQgYS9rZXJuZWwvc3BpbmxvY2suYyBiL2tlcm5lbC9zcGlubG9jay5jCmluZGV4IGFlMjhjODIuLmExZmI1NGMgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zcGlubG9jay5jCisrKyBiL2tlcm5lbC9zcGlubG9jay5jCkBAIC00MzYsNyArNDM2LDcgQEAKIH0KIEVYUE9SVF9TWU1CT0woX3NwaW5fdHJ5bG9ja19iaCk7CiAKLWludCBpbl9sb2NrX2Z1bmN0aW9ucyh1bnNpZ25lZCBsb25nIGFkZHIpCitub3RyYWNlIGludCBpbl9sb2NrX2Z1bmN0aW9ucyh1bnNpZ25lZCBsb25nIGFkZHIpCiB7CiAJLyogTGlua2VyIGFkZHMgdGhlc2U6IHN0YXJ0IGFuZCBlbmQgb2YgX19sb2NrZnVuYyBmdW5jdGlvbnMgKi8KIAlleHRlcm4gY2hhciBfX2xvY2tfdGV4dF9zdGFydFtdLCBfX2xvY2tfdGV4dF9lbmRbXTsKZGlmZiAtLWdpdCBhL2tlcm5lbC9zdGFja3RyYWNlLmMgYi9rZXJuZWwvc3RhY2t0cmFjZS5jCmluZGV4IGI3MTgxNmUuLjk0YjUyN2UgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zdGFja3RyYWNlLmMKKysrIGIva2VybmVsL3N0YWNrdHJhY2UuYwpAQCAtNiwxOSArNiwyMSBAQAogICogIENvcHlyaWdodCAoQykgMjAwNiBSZWQgSGF0LCBJbmMuLCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KICAqLwogI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KICNpbmNsdWRlIDxsaW51eC9zdGFja3RyYWNlLmg+CiAKIHZvaWQgcHJpbnRfc3RhY2tfdHJhY2Uoc3RydWN0IHN0YWNrX3RyYWNlICp0cmFjZSwgaW50IHNwYWNlcykKIHsKLQlpbnQgaSwgajsKKwlpbnQgaTsKKworCWlmIChXQVJOX09OKCF0cmFjZS0+ZW50cmllcykpCisJCXJldHVybjsKIAogCWZvciAoaSA9IDA7IGkgPCB0cmFjZS0+bnJfZW50cmllczsgaSsrKSB7Ci0JCXVuc2lnbmVkIGxvbmcgaXAgPSB0cmFjZS0+ZW50cmllc1tpXTsKLQotCQlmb3IgKGogPSAwOyBqIDwgc3BhY2VzICsgMTsgaisrKQotCQkJcHJpbnRrKCIgIik7Ci0JCXByaW50X2lwX3N5bShpcCk7CisJCXByaW50aygiJSpjIiwgMSArIHNwYWNlcywgJyAnKTsKKwkJcHJpbnRfaXBfc3ltKHRyYWNlLT5lbnRyaWVzW2ldKTsKIAl9CiB9CitFWFBPUlRfU1lNQk9MX0dQTChwcmludF9zdGFja190cmFjZSk7CiAKZGlmZiAtLWdpdCBhL2tlcm5lbC9zdG9wX21hY2hpbmUuYyBiL2tlcm5lbC9zdG9wX21hY2hpbmUuYwppbmRleCBiNzM1MGJiLi5iYTliMjA1IDEwMDY0NAotLS0gYS9rZXJuZWwvc3RvcF9tYWNoaW5lLmMKKysrIGIva2VybmVsL3N0b3BfbWFjaGluZS5jCkBAIC0xODcsNyArMTg3LDcgQEAKIAkJc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtID0geyAuc2NoZWRfcHJpb3JpdHkgPSBNQVhfUlRfUFJJTy0xIH07CiAKIAkJLyogT25lIGhpZ2gtcHJpbyB0aHJlYWQgcGVyIGNwdS4gIFdlJ2xsIGRvIHRoaXMgb25lLiAqLwotCQlzY2hlZF9zZXRzY2hlZHVsZXIocCwgU0NIRURfRklGTywgJnBhcmFtKTsKKwkJc2NoZWRfc2V0c2NoZWR1bGVyX25vY2hlY2socCwgU0NIRURfRklGTywgJnBhcmFtKTsKIAkJa3RocmVhZF9iaW5kKHAsIGNwdSk7CiAJCXdha2VfdXBfcHJvY2VzcyhwKTsKIAkJd2FpdF9mb3JfY29tcGxldGlvbigmc21kYXRhLmRvbmUpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3N5c2N0bC5jIGIva2VybmVsL3N5c2N0bC5jCmluZGV4IDI5MTE2NjUuLjZiMTZlMTYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9zeXNjdGwuYworKysgYi9rZXJuZWwvc3lzY3RsLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9uZnNfZnMuaD4KICNpbmNsdWRlIDxsaW51eC9hY3BpLmg+CiAjaW5jbHVkZSA8bGludXgvcmVib290Lmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CiAKICNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KQEAgLTgyLDYgKzgzLDkgQEAKIGV4dGVybiBpbnQgc3lzY3RsX3N0YXRfaW50ZXJ2YWw7CiBleHRlcm4gaW50IGxhdGVuY3l0b3BfZW5hYmxlZDsKIGV4dGVybiBpbnQgc3lzY3RsX25yX29wZW5fbWluLCBzeXNjdGxfbnJfb3Blbl9tYXg7CisjaWZkZWYgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QKK2V4dGVybiBpbnQgcmN1dG9ydHVyZV9ydW5uYWJsZTsKKyNlbmRpZiAvKiAjaWZkZWYgQ09ORklHX1JDVV9UT1JUVVJFX1RFU1QgKi8KIAogLyogQ29uc3RhbnRzIHVzZWQgZm9yIG1pbmltdW0gYW5kICBtYXhpbXVtICovCiAjaWYgZGVmaW5lZChDT05GSUdfREVURUNUX1NPRlRMT0NLVVApIHx8IGRlZmluZWQoQ09ORklHX0hJR0hNRU0pCkBAIC0xMzIsOCArMTM2LDYgQEAKIGV4dGVybiBpbnQgc3Bpbl9yZXRyeTsKICNlbmRpZgogCi1leHRlcm4gaW50IHN5c2N0bF9oel90aW1lcjsKLQogI2lmZGVmIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUCiBleHRlcm4gaW50IGFjY3RfcGFybVtdOwogI2VuZGlmCkBAIC0yNjYsNiArMjY4LDE0IEBACiAJfSwKIAl7CiAJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUJPSAic2NoZWRfc2hhcmVzX3JhdGVsaW1pdCIsCisJCS5kYXRhCQk9ICZzeXNjdGxfc2NoZWRfc2hhcmVzX3JhdGVsaW1pdCwKKwkJLm1heGxlbgkJPSBzaXplb2YodW5zaWduZWQgaW50KSwKKwkJLm1vZGUJCT0gMDY0NCwKKwkJLnByb2NfaGFuZGxlcgk9ICZwcm9jX2RvaW50dmVjLAorCX0sCisJeworCQkuY3RsX25hbWUJPSBDVExfVU5OVU1CRVJFRCwKIAkJLnByb2NuYW1lCT0gInNjaGVkX2NoaWxkX3J1bnNfZmlyc3QiLAogCQkuZGF0YQkJPSAmc3lzY3RsX3NjaGVkX2NoaWxkX3J1bnNfZmlyc3QsCiAJCS5tYXhsZW4JCT0gc2l6ZW9mKHVuc2lnbmVkIGludCksCkBAIC00NTUsNiArNDY1LDE2IEBACiAJCS5tb2RlCQk9IDA2NDQsCiAJCS5wcm9jX2hhbmRsZXIJPSAmcHJvY19kb2ludHZlYywKIAl9LAorI2lmZGVmIENPTkZJR19GVFJBQ0UKKwl7CisJCS5jdGxfbmFtZQk9IENUTF9VTk5VTUJFUkVELAorCQkucHJvY25hbWUJPSAiZnRyYWNlX2VuYWJsZWQiLAorCQkuZGF0YQkJPSAmZnRyYWNlX2VuYWJsZWQsCisJCS5tYXhsZW4JCT0gc2l6ZW9mKGludCksCisJCS5tb2RlCQk9IDA2NDQsCisJCS5wcm9jX2hhbmRsZXIJPSAmZnRyYWNlX2VuYWJsZV9zeXNjdGwsCisJfSwKKyNlbmRpZgogI2lmZGVmIENPTkZJR19LTU9ECiAJewogCQkuY3RsX25hbWUJPSBLRVJOX01PRFBST0JFLApAQCAtNTYzLDE2ICs1ODMsNiBAQAogCQkucHJvY19oYW5kbGVyCT0gJnByb2NfZG9pbnR2ZWMsCiAJfSwKICNlbmRpZgotI2lmZGVmIENPTkZJR19OT19JRExFX0haCi0JewotCQkuY3RsX25hbWUgICAgICAgPSBLRVJOX0haX1RJTUVSLAotCQkucHJvY25hbWUgICAgICAgPSAiaHpfdGltZXIiLAotCQkuZGF0YSAgICAgICAgICAgPSAmc3lzY3RsX2h6X3RpbWVyLAotCQkubWF4bGVuICAgICAgICAgPSBzaXplb2YoaW50KSwKLQkJLm1vZGUgICAgICAgICAgID0gMDY0NCwKLQkJLnByb2NfaGFuZGxlciAgID0gJnByb2NfZG9pbnR2ZWMsCi0JfSwKLSNlbmRpZgogCXsKIAkJLmN0bF9uYW1lCT0gS0VSTl9TMzkwX1VTRVJfREVCVUdfTE9HR0lORywKIAkJLnByb2NuYW1lCT0gInVzZXJwcm9jZXNzX2RlYnVnIiwKQEAgLTgxMyw2ICs4MjMsMTYgQEAKIAkJLmNoaWxkCQk9IGtleV9zeXNjdGxzLAogCX0sCiAjZW5kaWYKKyNpZmRlZiBDT05GSUdfUkNVX1RPUlRVUkVfVEVTVAorCXsKKwkJLmN0bF9uYW1lICAgICAgID0gQ1RMX1VOTlVNQkVSRUQsCisJCS5wcm9jbmFtZSAgICAgICA9ICJyY3V0b3J0dXJlX3J1bm5hYmxlIiwKKwkJLmRhdGEgICAgICAgICAgID0gJnJjdXRvcnR1cmVfcnVubmFibGUsCisJCS5tYXhsZW4gICAgICAgICA9IHNpemVvZihpbnQpLAorCQkubW9kZSAgICAgICAgICAgPSAwNjQ0LAorCQkucHJvY19oYW5kbGVyICAgPSAmcHJvY19kb2ludHZlYywKKwl9LAorI2VuZGlmCiAvKgogICogTk9URTogZG8gbm90IGFkZCBuZXcgZW50cmllcyB0byB0aGlzIHRhYmxlIHVubGVzcyB5b3UgaGF2ZSByZWFkCiAgKiBEb2N1bWVudGF0aW9uL3N5c2N0bC9jdGxfdW5udW1iZXJlZC50eHQKZGlmZiAtLWdpdCBhL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMgYi9rZXJuZWwvdGltZS90aWNrLWJyb2FkY2FzdC5jCmluZGV4IDU3YTFmMDIuLmY0OGQwZjAgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lL3RpY2stYnJvYWRjYXN0LmMKKysrIGIva2VybmVsL3RpbWUvdGljay1icm9hZGNhc3QuYwpAQCAtMzAsNiArMzAsNyBAQAogc3RydWN0IHRpY2tfZGV2aWNlIHRpY2tfYnJvYWRjYXN0X2RldmljZTsKIHN0YXRpYyBjcHVtYXNrX3QgdGlja19icm9hZGNhc3RfbWFzazsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sodGlja19icm9hZGNhc3RfbG9jayk7CitzdGF0aWMgaW50IHRpY2tfYnJvYWRjYXN0X2ZvcmNlOwogCiAjaWZkZWYgQ09ORklHX1RJQ0tfT05FU0hPVAogc3RhdGljIHZvaWQgdGlja19icm9hZGNhc3RfY2xlYXJfb25lc2hvdChpbnQgY3B1KTsKQEAgLTIzMiwxMCArMjMzLDExIEBACiAJCQkJCQkgICAgIENMT0NLX0VWVF9NT0RFX1NIVVRET1dOKTsKIAkJfQogCQlpZiAoKnJlYXNvbiA9PSBDTE9DS19FVlRfTk9USUZZX0JST0FEQ0FTVF9GT1JDRSkKLQkJCWRldi0+ZmVhdHVyZXMgfD0gQ0xPQ0tfRVZUX0ZFQVRfRFVNTVk7CisJCQl0aWNrX2Jyb2FkY2FzdF9mb3JjZSA9IDE7CiAJCWJyZWFrOwogCWNhc2UgQ0xPQ0tfRVZUX05PVElGWV9CUk9BRENBU1RfT0ZGOgotCQlpZiAoY3B1X2lzc2V0KGNwdSwgdGlja19icm9hZGNhc3RfbWFzaykpIHsKKwkJaWYgKCF0aWNrX2Jyb2FkY2FzdF9mb3JjZSAmJgorCQkgICAgY3B1X2lzc2V0KGNwdSwgdGlja19icm9hZGNhc3RfbWFzaykpIHsKIAkJCWNwdV9jbGVhcihjcHUsIHRpY2tfYnJvYWRjYXN0X21hc2spOwogCQkJaWYgKHRkLT5tb2RlID09IFRJQ0tERVZfTU9ERV9QRVJJT0RJQykKIAkJCQl0aWNrX3NldHVwX3BlcmlvZGljKGRldiwgMCk7CkBAIC0yNjYsNyArMjY4LDcgQEAKIAkJICAgICAgICJvZmZsaW5lIENQVSAjJWRcbiIsICpvbmNwdSk7CiAJZWxzZQogCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoKm9uY3B1LCB0aWNrX2RvX2Jyb2FkY2FzdF9vbl9vZmYsCi0JCQkJCSAmcmVhc29uLCAxLCAxKTsKKwkJCQkJICZyZWFzb24sIDEpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEva2VybmVsL3RpbWUvdGljay1zY2hlZC5jIGIva2VybmVsL3RpbWUvdGljay1zY2hlZC5jCmluZGV4IGI4NTRhODkuLmJlZWY3Y2MgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lL3RpY2stc2NoZWQuYworKysgYi9rZXJuZWwvdGltZS90aWNrLXNjaGVkLmMKQEAgLTQ4LDYgKzQ4LDEzIEBACiAJdW5zaWduZWQgbG9uZyB0aWNrcyA9IDA7CiAJa3RpbWVfdCBkZWx0YTsKIAorCS8qCisJICogRG8gYSBxdWljayBjaGVjayB3aXRob3V0IGhvbGRpbmcgeHRpbWVfbG9jazoKKwkgKi8KKwlkZWx0YSA9IGt0aW1lX3N1Yihub3csIGxhc3RfamlmZmllc191cGRhdGUpOworCWlmIChkZWx0YS50djY0IDwgdGlja19wZXJpb2QudHY2NCkKKwkJcmV0dXJuOworCiAJLyogUmVldmFsdXRlIHdpdGggeHRpbWVfbG9jayBoZWxkICovCiAJd3JpdGVfc2VxbG9jaygmeHRpbWVfbG9jayk7CiAKQEAgLTIyOCw2ICsyMzUsNyBAQAogCQkJICAgICAgIGxvY2FsX3NvZnRpcnFfcGVuZGluZygpKTsKIAkJCXJhdGVsaW1pdCsrOwogCQl9CisJCWdvdG8gZW5kOwogCX0KIAogCXRzLT5pZGxlX2NhbGxzKys7CkBAIC0yNzYsNiArMjg0LDcgQEAKIAkJCXRzLT50aWNrX3N0b3BwZWQgPSAxOwogCQkJdHMtPmlkbGVfamlmZmllcyA9IGxhc3RfamlmZmllczsKIAkJCXJjdV9lbnRlcl9ub2h6KCk7CisJCQlzY2hlZF9jbG9ja190aWNrX3N0b3AoY3B1KTsKIAkJfQogCiAJCS8qCkBAIC0zNzUsNiArMzg0LDcgQEAKIAlzZWxlY3Rfbm9oel9sb2FkX2JhbGFuY2VyKDApOwogCW5vdyA9IGt0aW1lX2dldCgpOwogCXRpY2tfZG9fdXBkYXRlX2ppZmZpZXM2NChub3cpOworCXNjaGVkX2Nsb2NrX3RpY2tfc3RhcnQoY3B1KTsKIAljcHVfY2xlYXIoY3B1LCBub2h6X2NwdV9tYXNrKTsKIAogCS8qCmRpZmYgLS1naXQgYS9rZXJuZWwvdGltZXIuYyBiL2tlcm5lbC90aW1lci5jCmluZGV4IGNlYWNjNjYuLjAzYmM3ZjEgMTAwNjQ0Ci0tLSBhL2tlcm5lbC90aW1lci5jCisrKyBiL2tlcm5lbC90aW1lci5jCkBAIC04MTIsNyArODEyLDcgQEAKIAlzcGluX3VubG9ja19pcnEoJmJhc2UtPmxvY2spOwogfQogCi0jaWYgZGVmaW5lZChDT05GSUdfTk9fSURMRV9IWikgfHwgZGVmaW5lZChDT05GSUdfTk9fSFopCisjaWZkZWYgQ09ORklHX05PX0haCiAvKgogICogRmluZCBvdXQgd2hlbiB0aGUgbmV4dCB0aW1lciBldmVudCBpcyBkdWUgdG8gaGFwcGVuLiBUaGlzCiAgKiBpcyB1c2VkIG9uIFMvMzkwIHRvIHN0b3AgYWxsIGFjdGl2aXR5IHdoZW4gYSBjcHVzIGlzIGlkbGUuCkBAIC05NDcsMTQgKzk0Nyw2IEBACiAKIAlyZXR1cm4gY21wX25leHRfaHJ0aW1lcl9ldmVudChub3csIGV4cGlyZXMpOwogfQotCi0jaWZkZWYgQ09ORklHX05PX0lETEVfSFoKLXVuc2lnbmVkIGxvbmcgbmV4dF90aW1lcl9pbnRlcnJ1cHQodm9pZCkKLXsKLQlyZXR1cm4gZ2V0X25leHRfdGltZXJfaW50ZXJydXB0KGppZmZpZXMpOwotfQotI2VuZGlmCi0KICNlbmRpZgogCiAjaWZuZGVmIENPTkZJR19WSVJUX0NQVV9BQ0NPVU5USU5HCkBAIC0xNTAyLDcgKzE0OTQsNyBAQAogCiAJQlVHX09OKGVyciA9PSBOT1RJRllfQkFEKTsKIAlyZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnRpbWVyc19uYik7Ci0Jb3Blbl9zb2Z0aXJxKFRJTUVSX1NPRlRJUlEsIHJ1bl90aW1lcl9zb2Z0aXJxLCBOVUxMKTsKKwlvcGVuX3NvZnRpcnEoVElNRVJfU09GVElSUSwgcnVuX3RpbWVyX3NvZnRpcnEpOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS9LY29uZmlnIGIva2VybmVsL3RyYWNlL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYzZTllNgotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS9LY29uZmlnCkBAIC0wLDAgKzEsMTM1IEBACisjCisjIEFyY2hpdGVjdHVyZXMgdGhhdCBvZmZlciBhbiBGVFJBQ0UgaW1wbGVtZW50YXRpb24gc2hvdWxkIHNlbGVjdCBIQVZFX0ZUUkFDRToKKyMKK2NvbmZpZyBIQVZFX0ZUUkFDRQorCWJvb2wKKworY29uZmlnIEhBVkVfRFlOQU1JQ19GVFJBQ0UKKwlib29sCisKK2NvbmZpZyBUUkFDRVJfTUFYX1RSQUNFCisJYm9vbAorCitjb25maWcgVFJBQ0lORworCWJvb2wKKwlzZWxlY3QgREVCVUdfRlMKKwlzZWxlY3QgU1RBQ0tUUkFDRQorCitjb25maWcgRlRSQUNFCisJYm9vbCAiS2VybmVsIEZ1bmN0aW9uIFRyYWNlciIKKwlkZXBlbmRzIG9uIEhBVkVfRlRSQUNFCisJc2VsZWN0IEZSQU1FX1BPSU5URVIKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBDT05URVhUX1NXSVRDSF9UUkFDRVIKKwloZWxwCisJICBFbmFibGUgdGhlIGtlcm5lbCB0byB0cmFjZSBldmVyeSBrZXJuZWwgZnVuY3Rpb24uIFRoaXMgaXMgZG9uZQorCSAgYnkgdXNpbmcgYSBjb21waWxlciBmZWF0dXJlIHRvIGluc2VydCBhIHNtYWxsLCA1LWJ5dGUgTm8tT3BlcmF0aW9uCisJICBpbnN0cnVjdGlvbiB0byB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGtlcm5lbCBmdW5jdGlvbiwgd2hpY2ggTk9QCisJICBzZXF1ZW5jZSBpcyB0aGVuIGR5bmFtaWNhbGx5IHBhdGNoZWQgaW50byBhIHRyYWNlciBjYWxsIHdoZW4KKwkgIHRyYWNpbmcgaXMgZW5hYmxlZCBieSB0aGUgYWRtaW5pc3RyYXRvci4gSWYgaXQncyBydW50aW1lIGRpc2FibGVkCisJICAodGhlIGJvb3R1cCBkZWZhdWx0KSwgdGhlbiB0aGUgb3ZlcmhlYWQgb2YgdGhlIGluc3RydWN0aW9ucyBpcyB2ZXJ5CisJICBzbWFsbCBhbmQgbm90IG1lYXN1cmFibGUgZXZlbiBpbiBtaWNyby1iZW5jaG1hcmtzLgorCitjb25maWcgSVJRU09GRl9UUkFDRVIKKwlib29sICJJbnRlcnJ1cHRzLW9mZiBMYXRlbmN5IFRyYWNlciIKKwlkZWZhdWx0IG4KKwlkZXBlbmRzIG9uIFRSQUNFX0lSUUZMQUdTX1NVUFBPUlQKKwlkZXBlbmRzIG9uIEdFTkVSSUNfVElNRQorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0VfSVJRRkxBR1MKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBUUkFDRVJfTUFYX1RSQUNFCisJaGVscAorCSAgVGhpcyBvcHRpb24gbWVhc3VyZXMgdGhlIHRpbWUgc3BlbnQgaW4gaXJxcy1vZmYgY3JpdGljYWwKKwkgIHNlY3Rpb25zLCB3aXRoIG1pY3Jvc2Vjb25kIGFjY3VyYWN5LgorCisJICBUaGUgZGVmYXVsdCBtZWFzdXJlbWVudCBtZXRob2QgaXMgYSBtYXhpbXVtIHNlYXJjaCwgd2hpY2ggaXMKKwkgIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNhbiBiZSBydW50aW1lIChyZS0pc3RhcnRlZAorCSAgdmlhOgorCisJICAgICAgZWNobyAwID4gL2RlYnVnZnMvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisKKwkgIChOb3RlIHRoYXQga2VybmVsIHNpemUgYW5kIG92ZXJoZWFkIGluY3JlYXNlcyB3aXRoIHRoaXMgb3B0aW9uCisJICBlbmFibGVkLiBUaGlzIG9wdGlvbiBhbmQgdGhlIHByZWVtcHQtb2ZmIHRpbWluZyBvcHRpb24gY2FuIGJlCisJICB1c2VkIHRvZ2V0aGVyIG9yIHNlcGFyYXRlbHkuKQorCitjb25maWcgUFJFRU1QVF9UUkFDRVIKKwlib29sICJQcmVlbXB0aW9uLW9mZiBMYXRlbmN5IFRyYWNlciIKKwlkZWZhdWx0IG4KKwlkZXBlbmRzIG9uIEdFTkVSSUNfVElNRQorCWRlcGVuZHMgb24gUFJFRU1QVAorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBUUkFDRVJfTUFYX1RSQUNFCisJaGVscAorCSAgVGhpcyBvcHRpb24gbWVhc3VyZXMgdGhlIHRpbWUgc3BlbnQgaW4gcHJlZW1wdGlvbiBvZmYgY3JpdGljYWwKKwkgIHNlY3Rpb25zLCB3aXRoIG1pY3Jvc2Vjb25kIGFjY3VyYWN5LgorCisJICBUaGUgZGVmYXVsdCBtZWFzdXJlbWVudCBtZXRob2QgaXMgYSBtYXhpbXVtIHNlYXJjaCwgd2hpY2ggaXMKKwkgIGRpc2FibGVkIGJ5IGRlZmF1bHQgYW5kIGNhbiBiZSBydW50aW1lIChyZS0pc3RhcnRlZAorCSAgdmlhOgorCisJICAgICAgZWNobyAwID4gL2RlYnVnZnMvdHJhY2luZy90cmFjaW5nX21heF9sYXRlbmN5CisKKwkgIChOb3RlIHRoYXQga2VybmVsIHNpemUgYW5kIG92ZXJoZWFkIGluY3JlYXNlcyB3aXRoIHRoaXMgb3B0aW9uCisJICBlbmFibGVkLiBUaGlzIG9wdGlvbiBhbmQgdGhlIGlycXMtb2ZmIHRpbWluZyBvcHRpb24gY2FuIGJlCisJICB1c2VkIHRvZ2V0aGVyIG9yIHNlcGFyYXRlbHkuKQorCitjb25maWcgU1lTUFJPRl9UUkFDRVIKKwlib29sICJTeXNwcm9mIFRyYWNlciIKKwlkZXBlbmRzIG9uIFg4NgorCXNlbGVjdCBUUkFDSU5HCisJaGVscAorCSAgVGhpcyB0cmFjZXIgcHJvdmlkZXMgdGhlIHRyYWNlIG5lZWRlZCBieSB0aGUgJ1N5c3Byb2YnIHVzZXJzcGFjZQorCSAgdG9vbC4KKworY29uZmlnIFNDSEVEX1RSQUNFUgorCWJvb2wgIlNjaGVkdWxpbmcgTGF0ZW5jeSBUcmFjZXIiCisJZGVwZW5kcyBvbiBIQVZFX0ZUUkFDRQorCXNlbGVjdCBUUkFDSU5HCisJc2VsZWN0IENPTlRFWFRfU1dJVENIX1RSQUNFUgorCXNlbGVjdCBUUkFDRVJfTUFYX1RSQUNFCisJaGVscAorCSAgVGhpcyB0cmFjZXIgdHJhY2tzIHRoZSBsYXRlbmN5IG9mIHRoZSBoaWdoZXN0IHByaW9yaXR5IHRhc2sKKwkgIHRvIGJlIHNjaGVkdWxlZCBpbiwgc3RhcnRpbmcgZnJvbSB0aGUgcG9pbnQgaXQgaGFzIHdva2VuIHVwLgorCitjb25maWcgQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCisJYm9vbCAiVHJhY2UgcHJvY2VzcyBjb250ZXh0IHN3aXRjaGVzIgorCWRlcGVuZHMgb24gSEFWRV9GVFJBQ0UKKwlzZWxlY3QgVFJBQ0lORworCXNlbGVjdCBNQVJLRVJTCisJaGVscAorCSAgVGhpcyB0cmFjZXIgZ2V0cyBjYWxsZWQgZnJvbSB0aGUgY29udGV4dCBzd2l0Y2ggYW5kIHJlY29yZHMKKwkgIGFsbCBzd2l0Y2hpbmcgb2YgdGFza3MuCisKK2NvbmZpZyBEWU5BTUlDX0ZUUkFDRQorCWJvb2wgImVuYWJsZS9kaXNhYmxlIGZ0cmFjZSB0cmFjZXBvaW50cyBkeW5hbWljYWxseSIKKwlkZXBlbmRzIG9uIEZUUkFDRQorCWRlcGVuZHMgb24gSEFWRV9EWU5BTUlDX0ZUUkFDRQorCWRlZmF1bHQgeQorCWhlbHAKKyAgICAgICAgIFRoaXMgb3B0aW9uIHdpbGwgbW9kaWZ5IGFsbCB0aGUgY2FsbHMgdG8gZnRyYWNlIGR5bmFtaWNhbGx5CisJICh3aWxsIHBhdGNoIHRoZW0gb3V0IG9mIHRoZSBiaW5hcnkgaW1hZ2UgYW5kIHJlcGxhY2VzIHRoZW0KKwkgd2l0aCBhIE5vLU9wIGluc3RydWN0aW9uKSBhcyB0aGV5IGFyZSBjYWxsZWQuIEEgdGFibGUgaXMKKwkgY3JlYXRlZCB0byBkeW5hbWljYWxseSBlbmFibGUgdGhlbSBhZ2Fpbi4KKworCSBUaGlzIHdheSBhIENPTkZJR19GVFJBQ0Uga2VybmVsIGlzIHNsaWdodGx5IGxhcmdlciwgYnV0IG90aGVyd2lzZQorCSBoYXMgbmF0aXZlIHBlcmZvcm1hbmNlIGFzIGxvbmcgYXMgbm8gdHJhY2luZyBpcyBhY3RpdmUuCisKKwkgVGhlIGNoYW5nZXMgdG8gdGhlIGNvZGUgYXJlIGRvbmUgYnkgYSBrZXJuZWwgdGhyZWFkIHRoYXQKKwkgd2FrZXMgdXAgb25jZSBhIHNlY29uZCBhbmQgY2hlY2tzIHRvIHNlZSBpZiBhbnkgZnRyYWNlIGNhbGxzCisJIHdlcmUgbWFkZS4gSWYgc28sIGl0IHJ1bnMgc3RvcF9tYWNoaW5lIChzdG9wcyBhbGwgQ1BVUykKKwkgYW5kIG1vZGlmaWVzIHRoZSBjb2RlIHRvIGp1bXAgb3ZlciB0aGUgY2FsbCB0byBmdHJhY2UuCisKK2NvbmZpZyBGVFJBQ0VfU0VMRlRFU1QKKwlib29sCisKK2NvbmZpZyBGVFJBQ0VfU1RBUlRVUF9URVNUCisJYm9vbCAiUGVyZm9ybSBhIHN0YXJ0dXAgdGVzdCBvbiBmdHJhY2UiCisJZGVwZW5kcyBvbiBUUkFDSU5HCisJc2VsZWN0IEZUUkFDRV9TRUxGVEVTVAorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIHBlcmZvcm1zIGEgc2VyaWVzIG9mIHN0YXJ0dXAgdGVzdHMgb24gZnRyYWNlLiBPbiBib290dXAKKwkgIGEgc2VyaWVzIG9mIHRlc3RzIGFyZSBtYWRlIHRvIHZlcmlmeSB0aGF0IHRoZSB0cmFjZXIgaXMKKwkgIGZ1bmN0aW9uaW5nIHByb3Blcmx5LiBJdCB3aWxsIGRvIHRlc3RzIG9uIGFsbCB0aGUgY29uZmlndXJlZAorCSAgdHJhY2VycyBvZiBmdHJhY2UuCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvTWFrZWZpbGUgYi9rZXJuZWwvdHJhY2UvTWFrZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzFkMTdkZQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS9NYWtlZmlsZQpAQCAtMCwwICsxLDI0IEBACisKKyMgRG8gbm90IGluc3RydW1lbnQgdGhlIHRyYWNlciBpdHNlbGY6CisKK2lmZGVmIENPTkZJR19GVFJBQ0UKK09SSUdfQ0ZMQUdTIDo9ICQoS0JVSUxEX0NGTEFHUykKK0tCVUlMRF9DRkxBR1MgPSAkKHN1YnN0IC1wZywsJChPUklHX0NGTEFHUykpCisKKyMgc2VsZnRlc3QgbmVlZHMgaW5zdHJ1bWVudGF0aW9uCitDRkxBR1NfdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5vID0gLXBnCitvYmoteSArPSB0cmFjZV9zZWxmdGVzdF9keW5hbWljLm8KK2VuZGlmCisKK29iai0kKENPTkZJR19GVFJBQ0UpICs9IGxpYmZ0cmFjZS5vCisKK29iai0kKENPTkZJR19UUkFDSU5HKSArPSB0cmFjZS5vCitvYmotJChDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSKSArPSB0cmFjZV9zY2hlZF9zd2l0Y2gubworb2JqLSQoQ09ORklHX1NZU1BST0ZfVFJBQ0VSKSArPSB0cmFjZV9zeXNwcm9mLm8KK29iai0kKENPTkZJR19GVFJBQ0UpICs9IHRyYWNlX2Z1bmN0aW9ucy5vCitvYmotJChDT05GSUdfSVJRU09GRl9UUkFDRVIpICs9IHRyYWNlX2lycXNvZmYubworb2JqLSQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKSArPSB0cmFjZV9pcnFzb2ZmLm8KK29iai0kKENPTkZJR19TQ0hFRF9UUkFDRVIpICs9IHRyYWNlX3NjaGVkX3dha2V1cC5vCitvYmotJChDT05GSUdfTU1JT1RSQUNFKSArPSB0cmFjZV9tbWlvdHJhY2UubworCitsaWJmdHJhY2UteSA6PSBmdHJhY2UubwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL2Z0cmFjZS5jIGIva2VybmVsL3RyYWNlL2Z0cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyMzFhM2QKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvZnRyYWNlLmMKQEAgLTAsMCArMSwxNzI3IEBACisvKgorICogSW5mcmFzdHJ1Y3R1cmUgZm9yIHByb2ZpbGluZyBjb2RlIGluc2VydGVkIGJ5ICdnY2MgLXBnJy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIE9yaWdpbmFsbHkgcG9ydGVkIGZyb20gdGhlIC1ydCBwYXRjaCBieToKKyAqICAgQ29weXJpZ2h0IChDKSAyMDA3IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUByZWRoYXQuY29tPgorICoKKyAqIEJhc2VkIG9uIGNvZGUgaW4gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworCisjaW5jbHVkZSA8bGludXgvc3RvcF9tYWNoaW5lLmg+CisjaW5jbHVkZSA8bGludXgvY2xvY2tzb3VyY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zeXNjdGwuaD4KKyNpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgorI2luY2x1ZGUgPGxpbnV4L2hhc2guaD4KKyNpbmNsdWRlIDxsaW51eC9saXN0Lmg+CisKKyNpbmNsdWRlIDxhc20vZnRyYWNlLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCisvKiBmdHJhY2VfZW5hYmxlZCBpcyBhIG1ldGhvZCB0byB0dXJuIGZ0cmFjZSBvbiBvciBvZmYgKi8KK2ludCBmdHJhY2VfZW5hYmxlZCBfX3JlYWRfbW9zdGx5Oworc3RhdGljIGludCBsYXN0X2Z0cmFjZV9lbmFibGVkOworCisvKgorICogZnRyYWNlX2Rpc2FibGVkIGlzIHNldCB3aGVuIGFuIGFub21hbHkgaXMgZGlzY292ZXJlZC4KKyAqIGZ0cmFjZV9kaXNhYmxlZCBpcyBtdWNoIHN0cm9uZ2VyIHRoYW4gZnRyYWNlX2VuYWJsZWQuCisgKi8KK3N0YXRpYyBpbnQgZnRyYWNlX2Rpc2FibGVkIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soZnRyYWNlX2xvY2spOworc3RhdGljIERFRklORV9NVVRFWChmdHJhY2Vfc3lzY3RsX2xvY2spOworCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgZnRyYWNlX2xpc3RfZW5kIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gZnRyYWNlX3N0dWIsCit9OworCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgKmZ0cmFjZV9saXN0IF9fcmVhZF9tb3N0bHkgPSAmZnRyYWNlX2xpc3RfZW5kOworZnRyYWNlX2Z1bmNfdCBmdHJhY2VfdHJhY2VfZnVuY3Rpb24gX19yZWFkX21vc3RseSA9IGZ0cmFjZV9zdHViOworCitzdGF0aWMgdm9pZCBmdHJhY2VfbGlzdF9mdW5jKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCXN0cnVjdCBmdHJhY2Vfb3BzICpvcCA9IGZ0cmFjZV9saXN0OworCisJLyogaW4gY2FzZSBzb21lb25lIGFjdHVhbGx5IHBvcnRzIHRoaXMgdG8gYWxwaGEhICovCisJcmVhZF9iYXJyaWVyX2RlcGVuZHMoKTsKKworCXdoaWxlIChvcCAhPSAmZnRyYWNlX2xpc3RfZW5kKSB7CisJCS8qIHNpbGx5IGFscGhhICovCisJCXJlYWRfYmFycmllcl9kZXBlbmRzKCk7CisJCW9wLT5mdW5jKGlwLCBwYXJlbnRfaXApOworCQlvcCA9IG9wLT5uZXh0OworCX07Cit9CisKKy8qKgorICogY2xlYXJfZnRyYWNlX2Z1bmN0aW9uIC0gcmVzZXQgdGhlIGZ0cmFjZSBmdW5jdGlvbgorICoKKyAqIFRoaXMgTlVMTHMgdGhlIGZ0cmFjZSBmdW5jdGlvbiBhbmQgaW4gZXNzZW5jZSBzdG9wcworICogdHJhY2luZy4gIFRoZXJlIG1heSBiZSBsYWcKKyAqLwordm9pZCBjbGVhcl9mdHJhY2VfZnVuY3Rpb24odm9pZCkKK3sKKwlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2Vfc3R1YjsKK30KKworc3RhdGljIGludCBfX3JlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzKQoreworCS8qIFNob3VsZCBuZXZlciBiZSBjYWxsZWQgYnkgaW50ZXJydXB0cyAqLworCXNwaW5fbG9jaygmZnRyYWNlX2xvY2spOworCisJb3BzLT5uZXh0ID0gZnRyYWNlX2xpc3Q7CisJLyoKKwkgKiBXZSBhcmUgZW50ZXJpbmcgb3BzIGludG8gdGhlIGZ0cmFjZV9saXN0IGJ1dCBhbm90aGVyCisJICogQ1BVIG1pZ2h0IGJlIHdhbGtpbmcgdGhhdCBsaXN0LiBXZSBuZWVkIHRvIG1ha2Ugc3VyZQorCSAqIHRoZSBvcHMtPm5leHQgcG9pbnRlciBpcyB2YWxpZCBiZWZvcmUgYW5vdGhlciBDUFUgc2VlcworCSAqIHRoZSBvcHMgcG9pbnRlciBpbmNsdWRlZCBpbnRvIHRoZSBmdHJhY2VfbGlzdC4KKwkgKi8KKwlzbXBfd21iKCk7CisJZnRyYWNlX2xpc3QgPSBvcHM7CisKKwlpZiAoZnRyYWNlX2VuYWJsZWQpIHsKKwkJLyoKKwkJICogRm9yIG9uZSBmdW5jLCBzaW1wbHkgY2FsbCBpdCBkaXJlY3RseS4KKwkJICogRm9yIG1vcmUgdGhhbiBvbmUgZnVuYywgY2FsbCB0aGUgY2hhaW4uCisJCSAqLworCQlpZiAob3BzLT5uZXh0ID09ICZmdHJhY2VfbGlzdF9lbmQpCisJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBvcHMtPmZ1bmM7CisJCWVsc2UKKwkJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9saXN0X2Z1bmM7CisJfQorCisJc3Bpbl91bmxvY2soJmZ0cmFjZV9sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fdW5yZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKK3sKKwlzdHJ1Y3QgZnRyYWNlX29wcyAqKnA7CisJaW50IHJldCA9IDA7CisKKwlzcGluX2xvY2soJmZ0cmFjZV9sb2NrKTsKKworCS8qCisJICogSWYgd2UgYXJlIHJlbW92aW5nIHRoZSBsYXN0IGZ1bmN0aW9uLCB0aGVuIHNpbXBseSBwb2ludAorCSAqIHRvIHRoZSBmdHJhY2Vfc3R1Yi4KKwkgKi8KKwlpZiAoZnRyYWNlX2xpc3QgPT0gb3BzICYmIG9wcy0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKSB7CisJCWZ0cmFjZV90cmFjZV9mdW5jdGlvbiA9IGZ0cmFjZV9zdHViOworCQlmdHJhY2VfbGlzdCA9ICZmdHJhY2VfbGlzdF9lbmQ7CisJCWdvdG8gb3V0OworCX0KKworCWZvciAocCA9ICZmdHJhY2VfbGlzdDsgKnAgIT0gJmZ0cmFjZV9saXN0X2VuZDsgcCA9ICYoKnApLT5uZXh0KQorCQlpZiAoKnAgPT0gb3BzKQorCQkJYnJlYWs7CisKKwlpZiAoKnAgIT0gb3BzKSB7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKwkqcCA9ICgqcCktPm5leHQ7CisKKwlpZiAoZnRyYWNlX2VuYWJsZWQpIHsKKwkJLyogSWYgd2Ugb25seSBoYXZlIG9uZSBmdW5jIGxlZnQsIHRoZW4gY2FsbCB0aGF0IGRpcmVjdGx5ICovCisJCWlmIChmdHJhY2VfbGlzdCA9PSAmZnRyYWNlX2xpc3RfZW5kIHx8CisJCSAgICBmdHJhY2VfbGlzdC0+bmV4dCA9PSAmZnRyYWNlX2xpc3RfZW5kKQorCQkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX2xpc3QtPmZ1bmM7CisJfQorCisgb3V0OgorCXNwaW5fdW5sb2NrKCZmdHJhY2VfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisKK3N0YXRpYyBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmZ0cmFjZWRfdGFzazsKKworZW51bSB7CisJRlRSQUNFX0VOQUJMRV9DQUxMUwkJPSAoMSA8PCAwKSwKKwlGVFJBQ0VfRElTQUJMRV9DQUxMUwkJPSAoMSA8PCAxKSwKKwlGVFJBQ0VfVVBEQVRFX1RSQUNFX0ZVTkMJPSAoMSA8PCAyKSwKKwlGVFJBQ0VfRU5BQkxFX01DT1VOVAkJPSAoMSA8PCAzKSwKKwlGVFJBQ0VfRElTQUJMRV9NQ09VTlQJCT0gKDEgPDwgNCksCit9OworCitzdGF0aWMgaW50IGZ0cmFjZV9maWx0ZXJlZDsKK3N0YXRpYyBpbnQgdHJhY2luZ19vbjsKK3N0YXRpYyBpbnQgZnJvemVuX3JlY29yZF9jb3VudDsKKworc3RhdGljIHN0cnVjdCBobGlzdF9oZWFkIGZ0cmFjZV9oYXNoW0ZUUkFDRV9IQVNIU0laRV07CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSk7CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soZnRyYWNlX3NodXRkb3duX2xvY2spOworc3RhdGljIERFRklORV9NVVRFWChmdHJhY2VkX2xvY2spOworc3RhdGljIERFRklORV9NVVRFWChmdHJhY2VfcmVnZXhfbG9jayk7CisKK3N0cnVjdCBmdHJhY2VfcGFnZSB7CisJc3RydWN0IGZ0cmFjZV9wYWdlCSpuZXh0OworCXVuc2lnbmVkIGxvbmcJCWluZGV4OworCXN0cnVjdCBkeW5fZnRyYWNlCXJlY29yZHNbXTsKK307CisKKyNkZWZpbmUgRU5UUklFU19QRVJfUEFHRSBcCisgICgoUEFHRV9TSVpFIC0gc2l6ZW9mKHN0cnVjdCBmdHJhY2VfcGFnZSkpIC8gc2l6ZW9mKHN0cnVjdCBkeW5fZnRyYWNlKSkKKworLyogZXN0aW1hdGUgZnJvbSBydW5uaW5nIGRpZmZlcmVudCBrZXJuZWxzICovCisjZGVmaW5lIE5SX1RPX0lOSVQJCTEwMDAwCisKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX3BhZ2UJKmZ0cmFjZV9wYWdlc19zdGFydDsKK3N0YXRpYyBzdHJ1Y3QgZnRyYWNlX3BhZ2UJKmZ0cmFjZV9wYWdlczsKKworc3RhdGljIGludCBmdHJhY2VkX3RyaWdnZXI7CitzdGF0aWMgaW50IGZ0cmFjZWRfc3VzcGVuZDsKK3N0YXRpYyBpbnQgZnRyYWNlZF9zdG9wOworCitzdGF0aWMgaW50IGZ0cmFjZV9yZWNvcmRfc3VzcGVuZDsKKworc3RhdGljIHN0cnVjdCBkeW5fZnRyYWNlICpmdHJhY2VfZnJlZV9yZWNvcmRzOworCisKKyNpZmRlZiBDT05GSUdfS1BST0JFUworc3RhdGljIGlubGluZSB2b2lkIGZyZWV6ZV9yZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwlpZiAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZST1pFTikpIHsKKwkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRlJPWkVOOworCQlmcm96ZW5fcmVjb3JkX2NvdW50Kys7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdW5mcmVlemVfcmVjb3JkKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJPWkVOKSB7CisJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9GUk9aRU47CisJCWZyb3plbl9yZWNvcmRfY291bnQtLTsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHJlY29yZF9mcm96ZW4oc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKK3sKKwlyZXR1cm4gcmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GUk9aRU47Cit9CisjZWxzZQorIyBkZWZpbmUgZnJlZXplX3JlY29yZChyZWMpCQkJKHsgMDsgfSkKKyMgZGVmaW5lIHVuZnJlZXplX3JlY29yZChyZWMpCQkJKHsgMDsgfSkKKyMgZGVmaW5lIHJlY29yZF9mcm96ZW4ocmVjKQkJCSh7IDA7IH0pCisjZW5kaWYgLyogQ09ORklHX0tQUk9CRVMgKi8KKworaW50IHNraXBfdHJhY2UodW5zaWduZWQgbG9uZyBpcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWM7CisJc3RydWN0IGhsaXN0X25vZGUgKnQ7CisJc3RydWN0IGhsaXN0X2hlYWQgKmhlYWQ7CisKKwlpZiAoZnJvemVuX3JlY29yZF9jb3VudCA9PSAwKQorCQlyZXR1cm4gMDsKKworCWhlYWQgPSAmZnRyYWNlX2hhc2hbaGFzaF9sb25nKGlwLCBGVFJBQ0VfSEFTSEJJVFMpXTsKKwlobGlzdF9mb3JfZWFjaF9lbnRyeV9yY3UocmVjLCB0LCBoZWFkLCBub2RlKSB7CisJCWlmIChyZWMtPmlwID09IGlwKSB7CisJCQlpZiAocmVjb3JkX2Zyb3plbihyZWMpKSB7CisJCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCQlyZXR1cm4gMTsKKworCQkJCWlmICghKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfQ09OVkVSVEVEKSkKKwkJCQkJcmV0dXJuIDE7CisKKwkJCQlpZiAoIXRyYWNpbmdfb24gfHwgIWZ0cmFjZV9lbmFibGVkKQorCQkJCQlyZXR1cm4gMTsKKworCQkJCWlmIChmdHJhY2VfZmlsdGVyZWQpIHsKKwkJCQkJZmwgPSByZWMtPmZsYWdzICYgKEZUUkFDRV9GTF9GSUxURVIgfAorCQkJCQkJCSAgIEZUUkFDRV9GTF9OT1RSQUNFKTsKKwkJCQkJaWYgKCFmbCB8fCAoZmwgJiBGVFJBQ0VfRkxfTk9UUkFDRSkpCisJCQkJCQlyZXR1cm4gMTsKKwkJCQl9CisJCQl9CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludAorZnRyYWNlX2lwX2luX2hhc2godW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBrZXkpCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKnA7CisJc3RydWN0IGhsaXN0X25vZGUgKnQ7CisJaW50IGZvdW5kID0gMDsKKworCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdShwLCB0LCAmZnRyYWNlX2hhc2hba2V5XSwgbm9kZSkgeworCQlpZiAocC0+aXAgPT0gaXApIHsKKwkJCWZvdW5kID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJcmV0dXJuIGZvdW5kOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK2Z0cmFjZV9hZGRfaGFzaChzdHJ1Y3QgZHluX2Z0cmFjZSAqbm9kZSwgdW5zaWduZWQgbG9uZyBrZXkpCit7CisJaGxpc3RfYWRkX2hlYWRfcmN1KCZub2RlLT5ub2RlLCAmZnRyYWNlX2hhc2hba2V5XSk7Cit9CisKKy8qIGNhbGxlZCBmcm9tIGtzdG9wX21hY2hpbmUgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBmdHJhY2VfZGVsX2hhc2goc3RydWN0IGR5bl9mdHJhY2UgKm5vZGUpCit7CisJaGxpc3RfZGVsKCZub2RlLT5ub2RlKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX2ZyZWVfcmVjKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMpCit7CisJLyogbm8gbG9ja2luZywgb25seSBjYWxsZWQgZnJvbSBrc3RvcF9tYWNoaW5lICovCisKKwlyZWMtPmlwID0gKHVuc2lnbmVkIGxvbmcpZnRyYWNlX2ZyZWVfcmVjb3JkczsKKwlmdHJhY2VfZnJlZV9yZWNvcmRzID0gcmVjOworCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZSRUU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZHluX2Z0cmFjZSAqZnRyYWNlX2FsbG9jX2R5bl9ub2RlKHVuc2lnbmVkIGxvbmcgaXApCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYzsKKworCS8qIEZpcnN0IGNoZWNrIGZvciBmcmVlZCByZWNvcmRzICovCisJaWYgKGZ0cmFjZV9mcmVlX3JlY29yZHMpIHsKKwkJcmVjID0gZnRyYWNlX2ZyZWVfcmVjb3JkczsKKworCQlpZiAodW5saWtlbHkoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZSRUUpKSkgeworCQkJV0FSTl9PTl9PTkNFKDEpOworCQkJZnRyYWNlX2ZyZWVfcmVjb3JkcyA9IE5VTEw7CisJCQlmdHJhY2VfZGlzYWJsZWQgPSAxOworCQkJZnRyYWNlX2VuYWJsZWQgPSAwOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKworCQlmdHJhY2VfZnJlZV9yZWNvcmRzID0gKHZvaWQgKilyZWMtPmlwOworCQltZW1zZXQocmVjLCAwLCBzaXplb2YoKnJlYykpOworCQlyZXR1cm4gcmVjOworCX0KKworCWlmIChmdHJhY2VfcGFnZXMtPmluZGV4ID09IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJaWYgKCFmdHJhY2VfcGFnZXMtPm5leHQpCisJCQlyZXR1cm4gTlVMTDsKKwkJZnRyYWNlX3BhZ2VzID0gZnRyYWNlX3BhZ2VzLT5uZXh0OworCX0KKworCXJldHVybiAmZnRyYWNlX3BhZ2VzLT5yZWNvcmRzW2Z0cmFjZV9wYWdlcy0+aW5kZXgrK107Cit9CisKK3N0YXRpYyB2b2lkCitmdHJhY2VfcmVjb3JkX2lwKHVuc2lnbmVkIGxvbmcgaXApCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKm5vZGU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIGtleTsKKwlpbnQgcmVzY2hlZDsKKwlpbnQgYXRvbWljOworCWludCBjcHU7CisKKwlpZiAoIWZ0cmFjZV9lbmFibGVkIHx8IGZ0cmFjZV9kaXNhYmxlZCkKKwkJcmV0dXJuOworCisJcmVzY2hlZCA9IG5lZWRfcmVzY2hlZCgpOworCXByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCk7CisKKwkvKgorCSAqIFdlIHNpbXBseSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCByZWN1cnNpb24uCisJICogVXNlIHRoZSB0aGUgcmF3IHZlcnNpb24gb2Ygc21wX3Byb2Nlc3Nvcl9pZCBhbmQgbm90CisJICogX19nZXRfY3B1X3ZhciB3aGljaCBjYW4gY2FsbCBkZWJ1ZyBob29rcyB0aGF0IGNhbgorCSAqIGNhdXNlIGEgcmVjdXJzaXZlIGNyYXNoIGhlcmUuCisJICovCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlwZXJfY3B1KGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSwgY3B1KSsrOworCWlmIChwZXJfY3B1KGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSwgY3B1KSAhPSAxKQorCQlnb3RvIG91dDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfcmVjb3JkX3N1c3BlbmQpKQorCQlnb3RvIG91dDsKKworCWtleSA9IGhhc2hfbG9uZyhpcCwgRlRSQUNFX0hBU0hCSVRTKTsKKworCVdBUk5fT05fT05DRShrZXkgPj0gRlRSQUNFX0hBU0hTSVpFKTsKKworCWlmIChmdHJhY2VfaXBfaW5faGFzaChpcCwga2V5KSkKKwkJZ290byBvdXQ7CisKKwlhdG9taWMgPSBpcnFzX2Rpc2FibGVkKCk7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZnRyYWNlX3NodXRkb3duX2xvY2ssIGZsYWdzKTsKKworCS8qIFRoaXMgaXAgbWF5IGhhdmUgaGl0IHRoZSBoYXNoIGJlZm9yZSB0aGUgbG9jayAqLworCWlmIChmdHJhY2VfaXBfaW5faGFzaChpcCwga2V5KSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJbm9kZSA9IGZ0cmFjZV9hbGxvY19keW5fbm9kZShpcCk7CisJaWYgKCFub2RlKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlub2RlLT5pcCA9IGlwOworCisJZnRyYWNlX2FkZF9oYXNoKG5vZGUsIGtleSk7CisKKwlmdHJhY2VkX3RyaWdnZXIgPSAxOworCisgb3V0X3VubG9jazoKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZmdHJhY2Vfc2h1dGRvd25fbG9jaywgZmxhZ3MpOworIG91dDoKKwlwZXJfY3B1KGZ0cmFjZV9zaHV0ZG93bl9kaXNhYmxlX2NwdSwgY3B1KS0tOworCisJLyogcHJldmVudCByZWN1cnNpb24gd2l0aCBzY2hlZHVsZXIgKi8KKwlpZiAocmVzY2hlZCkKKwkJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCk7CisJZWxzZQorCQlwcmVlbXB0X2VuYWJsZV9ub3RyYWNlKCk7Cit9CisKKyNkZWZpbmUgRlRSQUNFX0FERFIgKChsb25nKShmdHJhY2VfY2FsbGVyKSkKKworc3RhdGljIGludAorX19mdHJhY2VfcmVwbGFjZV9jb2RlKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMsCisJCSAgICAgIHVuc2lnbmVkIGNoYXIgKm9sZCwgdW5zaWduZWQgY2hhciAqbmV3LCBpbnQgZW5hYmxlKQoreworCXVuc2lnbmVkIGxvbmcgaXAsIGZsOworCisJaXAgPSByZWMtPmlwOworCisJaWYgKGZ0cmFjZV9maWx0ZXJlZCAmJiBlbmFibGUpIHsKKwkJLyoKKwkJICogSWYgZmlsdGVyaW5nIGlzIG9uOgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgdG8gYmUgZmlsdGVyZWQgYW5kCisJCSAqIGlzIGVuYWJsZWQgdGhlbiBkbyBub3RoaW5nLgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgdG8gYmUgZmlsdGVyZWQgYW5kCisJCSAqIGl0IGlzIG5vdCBlbmFibGVkLCBlbmFibGUgaXQuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIG5vdCBzZXQgdG8gYmUgZmlsdGVyZWQKKwkJICogYW5kIGl0IGlzIG5vdCBlbmFibGVkIGRvIG5vdGhpbmcuCisJCSAqCisJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCBub3QgdG8gdHJhY2UgdGhlbgorCQkgKiBkbyBub3RoaW5nLgorCQkgKgorCQkgKiBJZiB0aGlzIHJlY29yZCBpcyBzZXQgbm90IHRvIHRyYWNlIGFuZAorCQkgKiBpdCBpcyBlbmFibGVkIHRoZW4gZGlzYWJsZSBpdC4KKwkJICoKKwkJICogSWYgdGhpcyByZWNvcmQgaXMgbm90IHNldCB0byBiZSBmaWx0ZXJlZCBhbmQKKwkJICogaXQgaXMgZW5hYmxlZCwgZGlzYWJsZSBpdC4KKwkJICovCisKKwkJZmwgPSByZWMtPmZsYWdzICYgKEZUUkFDRV9GTF9GSUxURVIgfCBGVFJBQ0VfRkxfTk9UUkFDRSB8CisJCQkJICAgRlRSQUNFX0ZMX0VOQUJMRUQpOworCisJCWlmICgoZmwgPT0gIChGVFJBQ0VfRkxfRklMVEVSIHwgRlRSQUNFX0ZMX0VOQUJMRUQpKSB8fAorCQkgICAgKGZsID09ICAoRlRSQUNFX0ZMX0ZJTFRFUiB8IEZUUkFDRV9GTF9OT1RSQUNFKSkgfHwKKwkJICAgICFmbCB8fCAoZmwgPT0gRlRSQUNFX0ZMX05PVFJBQ0UpKQorCQkJcmV0dXJuIDA7CisKKwkJLyoKKwkJICogSWYgaXQgaXMgZW5hYmxlZCBkaXNhYmxlIGl0LAorCQkgKiBvdGhlcndpc2UgZW5hYmxlIGl0IQorCQkgKi8KKwkJaWYgKGZsICYgRlRSQUNFX0ZMX0VOQUJMRUQpIHsKKwkJCS8qIHN3YXAgbmV3IGFuZCBvbGQgKi8KKwkJCW5ldyA9IG9sZDsKKwkJCW9sZCA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIEZUUkFDRV9BRERSKTsKKwkJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9FTkFCTEVEOworCQl9IGVsc2UgeworCQkJbmV3ID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCQkJcmVjLT5mbGFncyB8PSBGVFJBQ0VfRkxfRU5BQkxFRDsKKwkJfQorCX0gZWxzZSB7CisKKwkJaWYgKGVuYWJsZSkgeworCQkJLyoKKwkJCSAqIElmIHRoaXMgcmVjb3JkIGlzIHNldCBub3QgdG8gdHJhY2UgYW5kIGlzCisJCQkgKiBub3QgZW5hYmxlZCwgZG8gbm90aGluZy4KKwkJCSAqLworCQkJZmwgPSByZWMtPmZsYWdzICYgKEZUUkFDRV9GTF9OT1RSQUNFIHwgRlRSQUNFX0ZMX0VOQUJMRUQpOworCQkJaWYgKGZsID09IEZUUkFDRV9GTF9OT1RSQUNFKQorCQkJCXJldHVybiAwOworCisJCQluZXcgPSBmdHJhY2VfY2FsbF9yZXBsYWNlKGlwLCBGVFJBQ0VfQUREUik7CisJCX0gZWxzZQorCQkJb2xkID0gZnRyYWNlX2NhbGxfcmVwbGFjZShpcCwgRlRSQUNFX0FERFIpOworCisJCWlmIChlbmFibGUpIHsKKwkJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0VOQUJMRUQpCisJCQkJcmV0dXJuIDA7CisJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9FTkFCTEVEOworCQl9IGVsc2UgeworCQkJaWYgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9FTkFCTEVEKSkKKwkJCQlyZXR1cm4gMDsKKwkJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9FTkFCTEVEOworCQl9CisJfQorCisJcmV0dXJuIGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgb2xkLCBuZXcpOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfcmVwbGFjZV9jb2RlKGludCBlbmFibGUpCit7CisJaW50IGksIGZhaWxlZDsKKwl1bnNpZ25lZCBjaGFyICpuZXcgPSBOVUxMLCAqb2xkID0gTlVMTDsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCXN0cnVjdCBmdHJhY2VfcGFnZSAqcGc7CisKKwlpZiAoZW5hYmxlKQorCQlvbGQgPSBmdHJhY2Vfbm9wX3JlcGxhY2UoKTsKKwllbHNlCisJCW5ldyA9IGZ0cmFjZV9ub3BfcmVwbGFjZSgpOworCisJZm9yIChwZyA9IGZ0cmFjZV9wYWdlc19zdGFydDsgcGc7IHBnID0gcGctPm5leHQpIHsKKwkJZm9yIChpID0gMDsgaSA8IHBnLT5pbmRleDsgaSsrKSB7CisJCQlyZWMgPSAmcGctPnJlY29yZHNbaV07CisKKwkJCS8qIGRvbid0IG1vZGlmeSBjb2RlIHRoYXQgaGFzIGFscmVhZHkgZmF1bHRlZCAqLworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBpZ25vcmUgdXBkYXRlcyB0byB0aGlzIHJlY29yZCdzIG1jb3VudCBzaXRlICovCisJCQlpZiAoZ2V0X2twcm9iZSgodm9pZCAqKXJlYy0+aXApKSB7CisJCQkJZnJlZXplX3JlY29yZChyZWMpOworCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIHsKKwkJCQl1bmZyZWV6ZV9yZWNvcmQocmVjKTsKKwkJCX0KKworCQkJZmFpbGVkID0gX19mdHJhY2VfcmVwbGFjZV9jb2RlKHJlYywgb2xkLCBuZXcsIGVuYWJsZSk7CisJCQlpZiAoZmFpbGVkICYmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0NPTlZFUlRFRCkpIHsKKwkJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9GQUlMRUQ7CisJCQkJaWYgKChzeXN0ZW1fc3RhdGUgPT0gU1lTVEVNX0JPT1RJTkcpIHx8CisJCQkJICAgICFjb3JlX2tlcm5lbF90ZXh0KHJlYy0+aXApKSB7CisJCQkJCWZ0cmFjZV9kZWxfaGFzaChyZWMpOworCQkJCQlmdHJhY2VfZnJlZV9yZWMocmVjKTsKKwkJCQl9CisJCQl9CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zaHV0ZG93bl9yZXBsZW5pc2godm9pZCkKK3sKKwlpZiAoZnRyYWNlX3BhZ2VzLT5uZXh0KQorCQlyZXR1cm47CisKKwkvKiBhbGxvY2F0ZSBhbm90aGVyIHBhZ2UgKi8KKwlmdHJhY2VfcGFnZXMtPm5leHQgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX2NvZGVfZGlzYWJsZShzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQoreworCXVuc2lnbmVkIGxvbmcgaXA7CisJdW5zaWduZWQgY2hhciAqbm9wLCAqY2FsbDsKKwlpbnQgZmFpbGVkOworCisJaXAgPSByZWMtPmlwOworCisJbm9wID0gZnRyYWNlX25vcF9yZXBsYWNlKCk7CisJY2FsbCA9IGZ0cmFjZV9jYWxsX3JlcGxhY2UoaXAsIE1DT1VOVF9BRERSKTsKKworCWZhaWxlZCA9IGZ0cmFjZV9tb2RpZnlfY29kZShpcCwgY2FsbCwgbm9wKTsKKwlpZiAoZmFpbGVkKSB7CisJCXJlYy0+ZmxhZ3MgfD0gRlRSQUNFX0ZMX0ZBSUxFRDsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IF9fZnRyYWNlX3VwZGF0ZV9jb2RlKHZvaWQgKmlnbm9yZSk7CisKK3N0YXRpYyBpbnQgX19mdHJhY2VfbW9kaWZ5X2NvZGUodm9pZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50ICpjb21tYW5kID0gZGF0YTsKKworCWlmICgqY29tbWFuZCAmIEZUUkFDRV9FTkFCTEVfQ0FMTFMpIHsKKwkJLyoKKwkJICogVXBkYXRlIGFueSByZWNvcmRlZCBpcHMgbm93IHRoYXQgd2UgaGF2ZSB0aGUKKwkJICogbWFjaGluZSBzdG9wcGVkCisJCSAqLworCQlfX2Z0cmFjZV91cGRhdGVfY29kZShOVUxMKTsKKwkJZnRyYWNlX3JlcGxhY2VfY29kZSgxKTsKKwkJdHJhY2luZ19vbiA9IDE7CisJfSBlbHNlIGlmICgqY29tbWFuZCAmIEZUUkFDRV9ESVNBQkxFX0NBTExTKSB7CisJCWZ0cmFjZV9yZXBsYWNlX2NvZGUoMCk7CisJCXRyYWNpbmdfb24gPSAwOworCX0KKworCWlmICgqY29tbWFuZCAmIEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQykKKwkJZnRyYWNlX3VwZGF0ZV9mdHJhY2VfZnVuYyhmdHJhY2VfdHJhY2VfZnVuY3Rpb24pOworCisJaWYgKCpjb21tYW5kICYgRlRSQUNFX0VOQUJMRV9NQ09VTlQpIHsKKwkJYWRkciA9ICh1bnNpZ25lZCBsb25nKWZ0cmFjZV9yZWNvcmRfaXA7CisJCWZ0cmFjZV9tY291bnRfc2V0KCZhZGRyKTsKKwl9IGVsc2UgaWYgKCpjb21tYW5kICYgRlRSQUNFX0RJU0FCTEVfTUNPVU5UKSB7CisJCWFkZHIgPSAodW5zaWduZWQgbG9uZylmdHJhY2Vfc3R1YjsKKwkJZnRyYWNlX21jb3VudF9zZXQoJmFkZHIpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGludCBjb21tYW5kKQoreworCXN0b3BfbWFjaGluZV9ydW4oX19mdHJhY2VfbW9kaWZ5X2NvZGUsICZjb21tYW5kLCBOUl9DUFVTKTsKK30KKwordm9pZCBmdHJhY2VfZGlzYWJsZV9kYWVtb24odm9pZCkKK3sKKwkvKiBTdG9wIHRoZSBkYWVtb24gZnJvbSBjYWxsaW5nIGtzdG9wX21hY2hpbmUgKi8KKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWZ0cmFjZWRfc3RvcCA9IDE7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCisJZnRyYWNlX2ZvcmNlX3VwZGF0ZSgpOworfQorCit2b2lkIGZ0cmFjZV9lbmFibGVfZGFlbW9uKHZvaWQpCit7CisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwlmdHJhY2VkX3N0b3AgPSAwOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKKworCWZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKK30KKworc3RhdGljIGZ0cmFjZV9mdW5jX3Qgc2F2ZWRfZnRyYWNlX2Z1bmM7CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9zdGFydHVwKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdXNwZW5kKys7CisJaWYgKGZ0cmFjZWRfc3VzcGVuZCA9PSAxKQorCQljb21tYW5kIHw9IEZUUkFDRV9FTkFCTEVfQ0FMTFM7CisKKwlpZiAoc2F2ZWRfZnRyYWNlX2Z1bmMgIT0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKSB7CisJCXNhdmVkX2Z0cmFjZV9mdW5jID0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uOworCQljb21tYW5kIHw9IEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQzsKKwl9CisKKwlpZiAoIWNvbW1hbmQgfHwgIWZ0cmFjZV9lbmFibGVkKQorCQlnb3RvIG91dDsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7Cisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3NodXRkb3duKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZWRfbG9jayk7CisJZnRyYWNlZF9zdXNwZW5kLS07CisJaWYgKCFmdHJhY2VkX3N1c3BlbmQpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0RJU0FCTEVfQ0FMTFM7CisKKwlpZiAoc2F2ZWRfZnRyYWNlX2Z1bmMgIT0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uKSB7CisJCXNhdmVkX2Z0cmFjZV9mdW5jID0gZnRyYWNlX3RyYWNlX2Z1bmN0aW9uOworCQljb21tYW5kIHw9IEZUUkFDRV9VUERBVEVfVFJBQ0VfRlVOQzsKKwl9CisKKwlpZiAoIWNvbW1hbmQgfHwgIWZ0cmFjZV9lbmFibGVkKQorCQlnb3RvIG91dDsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7Cisgb3V0OgorCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgZnRyYWNlX3N0YXJ0dXBfc3lzY3RsKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSBGVFJBQ0VfRU5BQkxFX01DT1VOVDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCS8qIEZvcmNlIHVwZGF0ZSBuZXh0IHRpbWUgKi8KKwlzYXZlZF9mdHJhY2VfZnVuYyA9IE5VTEw7CisJLyogZnRyYWNlZF9zdXNwZW5kIGlzIHRydWUgaWYgd2Ugd2FudCBmdHJhY2UgcnVubmluZyAqLworCWlmIChmdHJhY2VkX3N1c3BlbmQpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0VOQUJMRV9DQUxMUzsKKworCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoY29tbWFuZCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworfQorCitzdGF0aWMgdm9pZCBmdHJhY2Vfc2h1dGRvd25fc3lzY3RsKHZvaWQpCit7CisJaW50IGNvbW1hbmQgPSBGVFJBQ0VfRElTQUJMRV9NQ09VTlQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwkvKiBmdHJhY2VkX3N1c3BlbmQgaXMgdHJ1ZSBpZiBmdHJhY2UgaXMgcnVubmluZyAqLworCWlmIChmdHJhY2VkX3N1c3BlbmQpCisJCWNvbW1hbmQgfD0gRlRSQUNFX0RJU0FCTEVfQ0FMTFM7CisKKwlmdHJhY2VfcnVuX3VwZGF0ZV9jb2RlKGNvbW1hbmQpOworCW11dGV4X3VubG9jaygmZnRyYWNlZF9sb2NrKTsKK30KKworc3RhdGljIGN5Y2xlX3QJCWZ0cmFjZV91cGRhdGVfdGltZTsKK3N0YXRpYyB1bnNpZ25lZCBsb25nCWZ0cmFjZV91cGRhdGVfY250OwordW5zaWduZWQgbG9uZwkJZnRyYWNlX3VwZGF0ZV90b3RfY250OworCitzdGF0aWMgaW50IF9fZnRyYWNlX3VwZGF0ZV9jb2RlKHZvaWQgKmlnbm9yZSkKK3sKKwlpbnQgaSwgc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwljeWNsZV90IHN0YXJ0LCBzdG9wOworCXN0cnVjdCBkeW5fZnRyYWNlICpwOworCXN0cnVjdCBobGlzdF9ub2RlICp0LCAqbjsKKwlzdHJ1Y3QgaGxpc3RfaGVhZCAqaGVhZCwgdGVtcF9saXN0OworCisJLyogRG9uJ3QgYmUgcmVjb3JkaW5nIGZ1bmNzIG5vdyAqLworCWZ0cmFjZV9yZWNvcmRfc3VzcGVuZCsrOworCXNhdmVfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKwlmdHJhY2VfZW5hYmxlZCA9IDA7CisKKwlzdGFydCA9IGZ0cmFjZV9ub3cocmF3X3NtcF9wcm9jZXNzb3JfaWQoKSk7CisJZnRyYWNlX3VwZGF0ZV9jbnQgPSAwOworCisJLyogTm8gbG9ja3MgbmVlZGVkLCB0aGUgbWFjaGluZSBpcyBzdG9wcGVkISAqLworCWZvciAoaSA9IDA7IGkgPCBGVFJBQ0VfSEFTSFNJWkU7IGkrKykgeworCQlJTklUX0hMSVNUX0hFQUQoJnRlbXBfbGlzdCk7CisJCWhlYWQgPSAmZnRyYWNlX2hhc2hbaV07CisKKwkJLyogYWxsIENQVVMgYXJlIHN0b3BwZWQsIHdlIGFyZSBzYWZlIHRvIG1vZGlmeSBjb2RlICovCisJCWhsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocCwgdCwgbiwgaGVhZCwgbm9kZSkgeworCQkJLyogU2tpcCBvdmVyIGZhaWxlZCByZWNvcmRzIHdoaWNoIGhhdmUgbm90IGJlZW4KKwkJCSAqIGZyZWVkLiAqLworCQkJaWYgKHAtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkKKwkJCQljb250aW51ZTsKKworCQkJLyogVW5jb252ZXJ0ZWQgcmVjb3JkcyBhcmUgYWx3YXlzIGF0IHRoZSBoZWFkIG9mIHRoZQorCQkJICogaGFzaCBidWNrZXQuIE9uY2Ugd2UgZW5jb3VudGVyIGEgY29udmVydGVkIHJlY29yZCwKKwkJCSAqIHNpbXBseSBza2lwIG92ZXIgdG8gdGhlIG5leHQgYnVja2V0LiBTYXZlcyBmdHJhY2VkCisJCQkgKiBzb21lIHByb2Nlc3NvciBjeWNsZXMgKGZ0cmFjZSBkb2VzIGl0cyBiaWQgZm9yCisJCQkgKiBnbG9iYWwgd2FybWluZyA6LXAgKS4gKi8KKwkJCWlmIChwLT5mbGFncyAmIChGVFJBQ0VfRkxfQ09OVkVSVEVEKSkKKwkJCQlicmVhazsKKworCQkJLyogSWdub3JlIHVwZGF0ZXMgdG8gdGhpcyByZWNvcmQncyBtY291bnQgc2l0ZS4KKwkJCSAqIFJlaW50cm9kdWNlIHRoaXMgcmVjb3JkIGF0IHRoZSBoZWFkIG9mIHRoaXMKKwkJCSAqIGJ1Y2tldCB0byBhdHRlbXB0IHRvICJjb252ZXJ0IiBpdCBhZ2FpbiBpZgorCQkJICogdGhlIGtwcm9iZSBvbiBpdCBpcyB1bnJlZ2lzdGVyZWQgYmVmb3JlIHRoZQorCQkJICogbmV4dCBydW4uICovCisJCQlpZiAoZ2V0X2twcm9iZSgodm9pZCAqKXAtPmlwKSkgeworCQkJCWZ0cmFjZV9kZWxfaGFzaChwKTsKKwkJCQlJTklUX0hMSVNUX05PREUoJnAtPm5vZGUpOworCQkJCWhsaXN0X2FkZF9oZWFkKCZwLT5ub2RlLCAmdGVtcF9saXN0KTsKKwkJCQlmcmVlemVfcmVjb3JkKHApOworCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIHsKKwkJCQl1bmZyZWV6ZV9yZWNvcmQocCk7CisJCQl9CisKKwkJCS8qIGNvbnZlcnQgcmVjb3JkIChpLmUsIHBhdGNoIG1jb3VudC1jYWxsIHdpdGggTk9QKSAqLworCQkJaWYgKGZ0cmFjZV9jb2RlX2Rpc2FibGUocCkpIHsKKwkJCQlwLT5mbGFncyB8PSBGVFJBQ0VfRkxfQ09OVkVSVEVEOworCQkJCWZ0cmFjZV91cGRhdGVfY250Kys7CisJCQl9IGVsc2UgeworCQkJCWlmICgoc3lzdGVtX3N0YXRlID09IFNZU1RFTV9CT09USU5HKSB8fAorCQkJCSAgICAhY29yZV9rZXJuZWxfdGV4dChwLT5pcCkpIHsKKwkJCQkJZnRyYWNlX2RlbF9oYXNoKHApOworCQkJCQlmdHJhY2VfZnJlZV9yZWMocCk7CisJCQkJfQorCQkJfQorCQl9CisKKwkJaGxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwLCB0LCBuLCAmdGVtcF9saXN0LCBub2RlKSB7CisJCQlobGlzdF9kZWwoJnAtPm5vZGUpOworCQkJSU5JVF9ITElTVF9OT0RFKCZwLT5ub2RlKTsKKwkJCWhsaXN0X2FkZF9oZWFkKCZwLT5ub2RlLCBoZWFkKTsKKwkJfQorCX0KKworCXN0b3AgPSBmdHJhY2Vfbm93KHJhd19zbXBfcHJvY2Vzc29yX2lkKCkpOworCWZ0cmFjZV91cGRhdGVfdGltZSA9IHN0b3AgLSBzdGFydDsKKwlmdHJhY2VfdXBkYXRlX3RvdF9jbnQgKz0gZnRyYWNlX3VwZGF0ZV9jbnQ7CisJZnRyYWNlZF90cmlnZ2VyID0gMDsKKworCWZ0cmFjZV9lbmFibGVkID0gc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwlmdHJhY2VfcmVjb3JkX3N1c3BlbmQtLTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGZ0cmFjZV91cGRhdGVfY29kZSh2b2lkKQoreworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpIHx8CisJICAgICFmdHJhY2VfZW5hYmxlZCB8fCAhZnRyYWNlZF90cmlnZ2VyKQorCQlyZXR1cm4gMDsKKworCXN0b3BfbWFjaGluZV9ydW4oX19mdHJhY2VfdXBkYXRlX2NvZGUsIE5VTEwsIE5SX0NQVVMpOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgZnRyYWNlZCh2b2lkICppZ25vcmUpCit7CisJdW5zaWduZWQgbG9uZyB1c2VjczsKKworCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7CisKKwkJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKKworCQkvKiBjaGVjayBvbmNlIGEgc2Vjb25kICovCisJCXNjaGVkdWxlX3RpbWVvdXQoSFopOworCisJCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQkJY29udGludWU7CisKKwkJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwkJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwkJaWYgKCFmdHJhY2VkX3N1c3BlbmQgJiYgIWZ0cmFjZWRfc3RvcCAmJgorCQkgICAgZnRyYWNlX3VwZGF0ZV9jb2RlKCkpIHsKKwkJCXVzZWNzID0gbnNlY3NfdG9fdXNlY3MoZnRyYWNlX3VwZGF0ZV90aW1lKTsKKwkJCWlmIChmdHJhY2VfdXBkYXRlX3RvdF9jbnQgPiAxMDAwMDApIHsKKwkJCQlmdHJhY2VfdXBkYXRlX3RvdF9jbnQgPSAwOworCQkJCXByX2luZm8oImhtLCBkZnRyYWNlIG92ZXJmbG93OiAlbHUgY2hhbmdlJXMiCisJCQkJCSIgKCVsdSB0b3RhbCkgaW4gJWx1IHVzZWMlc1xuIiwKKwkJCQkJZnRyYWNlX3VwZGF0ZV9jbnQsCisJCQkJCWZ0cmFjZV91cGRhdGVfY250ICE9IDEgPyAicyIgOiAiIiwKKwkJCQkJZnRyYWNlX3VwZGF0ZV90b3RfY250LAorCQkJCQl1c2VjcywgdXNlY3MgIT0gMSA/ICJzIiA6ICIiKTsKKwkJCQlmdHJhY2VfZGlzYWJsZWQgPSAxOworCQkJCVdBUk5fT05fT05DRSgxKTsKKwkJCX0KKwkJfQorCQltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisJCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCQlmdHJhY2Vfc2h1dGRvd25fcmVwbGVuaXNoKCk7CisJfQorCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2luaXQgZnRyYWNlX2R5bl90YWJsZV9hbGxvYyh2b2lkKQoreworCXN0cnVjdCBmdHJhY2VfcGFnZSAqcGc7CisJaW50IGNudDsKKwlpbnQgaTsKKworCS8qIGFsbG9jYXRlIGEgZmV3IHBhZ2VzICovCisJZnRyYWNlX3BhZ2VzX3N0YXJ0ID0gKHZvaWQgKilnZXRfemVyb2VkX3BhZ2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFmdHJhY2VfcGFnZXNfc3RhcnQpCisJCXJldHVybiAtMTsKKworCS8qCisJICogQWxsb2NhdGUgYSBmZXcgbW9yZSBwYWdlcy4KKwkgKgorCSAqIFRPRE86IGhhdmUgc29tZSBwYXJzZXIgc2VhcmNoIHZtbGludXggYmVmb3JlCisJICogICBmaW5hbCBsaW5raW5nIHRvIGZpbmQgYWxsIGNhbGxzIHRvIGZ0cmFjZS4KKwkgKiAgIFRoZW4gd2UgY2FuOgorCSAqICAgIGEpIGtub3cgaG93IG1hbnkgcGFnZXMgdG8gYWxsb2NhdGUuCisJICogICAgIGFuZC9vcgorCSAqICAgIGIpIHNldCB1cCB0aGUgdGFibGUgdGhlbi4KKwkgKgorCSAqICBUaGUgZHluYW1pYyBjb2RlIGlzIHN0aWxsIG5lY2Vzc2FyeSBmb3IKKwkgKiAgbW9kdWxlcy4KKwkgKi8KKworCXBnID0gZnRyYWNlX3BhZ2VzID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCisJY250ID0gTlJfVE9fSU5JVCAvIEVOVFJJRVNfUEVSX1BBR0U7CisKKwlmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKwkJcGctPm5leHQgPSAodm9pZCAqKWdldF96ZXJvZWRfcGFnZShHRlBfS0VSTkVMKTsKKworCQkvKiBJZiB3ZSBmYWlsLCB3ZSdsbCB0cnkgbGF0ZXIgYW55d2F5ICovCisJCWlmICghcGctPm5leHQpCisJCQlicmVhazsKKworCQlwZyA9IHBnLT5uZXh0OworCX0KKworCXJldHVybiAwOworfQorCitlbnVtIHsKKwlGVFJBQ0VfSVRFUl9GSUxURVIJPSAoMSA8PCAwKSwKKwlGVFJBQ0VfSVRFUl9DT05UCT0gKDEgPDwgMSksCisJRlRSQUNFX0lURVJfTk9UUkFDRQk9ICgxIDw8IDIpLAorCUZUUkFDRV9JVEVSX0ZBSUxVUkVTCT0gKDEgPDwgMyksCit9OworCisjZGVmaW5lIEZUUkFDRV9CVUZGX01BWCAoS1NZTV9TWU1CT0xfTEVOKzQpIC8qIHJvb20gZm9yIHdpbGRjYXJkcyAqLworCitzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yIHsKKwlsb2ZmX3QJCQlwb3M7CisJc3RydWN0IGZ0cmFjZV9wYWdlCSpwZzsKKwl1bnNpZ25lZAkJaWR4OworCXVuc2lnbmVkCQlmbGFnczsKKwl1bnNpZ25lZCBjaGFyCQlidWZmZXJbRlRSQUNFX0JVRkZfTUFYKzFdOworCXVuc2lnbmVkCQlidWZmZXJfaWR4OworCXVuc2lnbmVkCQlmaWx0ZXJlZDsKK307CisKK3N0YXRpYyB2b2lkICoKK3RfbmV4dChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYsIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXN0cnVjdCBkeW5fZnRyYWNlICpyZWMgPSBOVUxMOworCisJKCpwb3MpKys7CisKKyByZXRyeToKKwlpZiAoaXRlci0+aWR4ID49IGl0ZXItPnBnLT5pbmRleCkgeworCQlpZiAoaXRlci0+cGctPm5leHQpIHsKKwkJCWl0ZXItPnBnID0gaXRlci0+cGctPm5leHQ7CisJCQlpdGVyLT5pZHggPSAwOworCQkJZ290byByZXRyeTsKKwkJfQorCX0gZWxzZSB7CisJCXJlYyA9ICZpdGVyLT5wZy0+cmVjb3Jkc1tpdGVyLT5pZHgrK107CisJCWlmICgoIShpdGVyLT5mbGFncyAmIEZUUkFDRV9JVEVSX0ZBSUxVUkVTKSAmJgorCQkgICAgIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkpIHx8CisKKwkJICAgICgoaXRlci0+ZmxhZ3MgJiBGVFJBQ0VfSVRFUl9GQUlMVVJFUykgJiYKKwkJICAgICAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0ZBSUxFRCkgfHwKKwkJICAgICAgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRlJFRSkpKSB8fAorCisJCSAgICAoKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfRklMVEVSKSAmJgorCQkgICAgICEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9GSUxURVIpKSB8fAorCisJCSAgICAoKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfTk9UUkFDRSkgJiYKKwkJICAgICAhKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfTk9UUkFDRSkpKSB7CisJCQlyZWMgPSBOVUxMOworCQkJZ290byByZXRyeTsKKwkJfQorCX0KKworCWl0ZXItPnBvcyA9ICpwb3M7CisKKwlyZXR1cm4gcmVjOworfQorCitzdGF0aWMgdm9pZCAqdF9zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCXZvaWQgKnAgPSBOVUxMOworCWxvZmZfdCBsID0gLTE7CisKKwlpZiAoKnBvcyAhPSBpdGVyLT5wb3MpIHsKKwkJZm9yIChwID0gdF9uZXh0KG0sIHAsICZsKTsgcCAmJiBsIDwgKnBvczsgcCA9IHRfbmV4dChtLCBwLCAmbCkpCisJCQk7CisJfSBlbHNlIHsKKwkJbCA9ICpwb3M7CisJCXAgPSB0X25leHQobSwgcCwgJmwpOworCX0KKworCXJldHVybiBwOworfQorCitzdGF0aWMgdm9pZCB0X3N0b3Aoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpwKQoreworfQorCitzdGF0aWMgaW50IHRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7CisJc3RydWN0IGR5bl9mdHJhY2UgKnJlYyA9IHY7CisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKworCWlmICghcmVjKQorCQlyZXR1cm4gMDsKKworCWthbGxzeW1zX2xvb2t1cChyZWMtPmlwLCBOVUxMLCBOVUxMLCBOVUxMLCBzdHIpOworCisJc2VxX3ByaW50ZihtLCAiJXNcbiIsIHN0cik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzZXFfb3BlcmF0aW9ucyBzaG93X2Z0cmFjZV9zZXFfb3BzID0geworCS5zdGFydCA9IHRfc3RhcnQsCisJLm5leHQgPSB0X25leHQsCisJLnN0b3AgPSB0X3N0b3AsCisJLnNob3cgPSB0X3Nob3csCit9OworCitzdGF0aWMgaW50CitmdHJhY2VfYXZhaWxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCWludCByZXQ7CisKKwlpZiAodW5saWtlbHkoZnRyYWNlX2Rpc2FibGVkKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJaXRlci0+cGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJaXRlci0+cG9zID0gLTE7CisKKwlyZXQgPSBzZXFfb3BlbihmaWxlLCAmc2hvd19mdHJhY2Vfc2VxX29wcyk7CisJaWYgKCFyZXQpIHsKKwkJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJCW0tPnByaXZhdGUgPSBpdGVyOworCX0gZWxzZSB7CisJCWtmcmVlKGl0ZXIpOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK2ludCBmdHJhY2VfYXZhaWxfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSAoc3RydWN0IHNlcV9maWxlICopZmlsZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCisJc2VxX3JlbGVhc2UoaW5vZGUsIGZpbGUpOworCWtmcmVlKGl0ZXIpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9mYWlsdXJlc19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCWludCByZXQ7CisJc3RydWN0IHNlcV9maWxlICptOworCXN0cnVjdCBmdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwlyZXQgPSBmdHJhY2VfYXZhaWxfb3Blbihpbm9kZSwgZmlsZSk7CisJaWYgKCFyZXQpIHsKKwkJbSA9IChzdHJ1Y3Qgc2VxX2ZpbGUgKilmaWxlLT5wcml2YXRlX2RhdGE7CisJCWl0ZXIgPSAoc3RydWN0IGZ0cmFjZV9pdGVyYXRvciAqKW0tPnByaXZhdGU7CisJCWl0ZXItPmZsYWdzID0gRlRSQUNFX0lURVJfRkFJTFVSRVM7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworCitzdGF0aWMgdm9pZCBmdHJhY2VfZmlsdGVyX3Jlc2V0KGludCBlbmFibGUpCit7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCXVuc2lnbmVkIGxvbmcgdHlwZSA9IGVuYWJsZSA/IEZUUkFDRV9GTF9GSUxURVIgOiBGVFJBQ0VfRkxfTk9UUkFDRTsKKwl1bnNpZ25lZCBpOworCisJLyoga2VlcCBrc3RvcCBtYWNoaW5lIGZyb20gcnVubmluZyAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCWlmIChlbmFibGUpCisJCWZ0cmFjZV9maWx0ZXJlZCA9IDA7CisJcGcgPSBmdHJhY2VfcGFnZXNfc3RhcnQ7CisJd2hpbGUgKHBnKSB7CisJCWZvciAoaSA9IDA7IGkgPCBwZy0+aW5kZXg7IGkrKykgeworCQkJcmVjID0gJnBnLT5yZWNvcmRzW2ldOworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCQkJcmVjLT5mbGFncyAmPSB+dHlwZTsKKwkJfQorCQlwZyA9IHBnLT5uZXh0OworCX0KKwlwcmVlbXB0X2VuYWJsZSgpOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfcmVnZXhfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCWludCByZXQgPSAwOworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCppdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpdGVyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKwlpZiAoKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKSAmJgorCSAgICAhKGZpbGUtPmZfZmxhZ3MgJiBPX0FQUEVORCkpCisJCWZ0cmFjZV9maWx0ZXJfcmVzZXQoZW5hYmxlKTsKKworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKSB7CisJCWl0ZXItPnBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCQlpdGVyLT5wb3MgPSAtMTsKKwkJaXRlci0+ZmxhZ3MgPSBlbmFibGUgPyBGVFJBQ0VfSVRFUl9GSUxURVIgOgorCQkJRlRSQUNFX0lURVJfTk9UUkFDRTsKKworCQlyZXQgPSBzZXFfb3BlbihmaWxlLCAmc2hvd19mdHJhY2Vfc2VxX29wcyk7CisJCWlmICghcmV0KSB7CisJCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCQltLT5wcml2YXRlID0gaXRlcjsKKwkJfSBlbHNlCisJCQlrZnJlZShpdGVyKTsKKwl9IGVsc2UKKwkJZmlsZS0+cHJpdmF0ZV9kYXRhID0gaXRlcjsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQKK2Z0cmFjZV9maWx0ZXJfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X29wZW4oaW5vZGUsIGZpbGUsIDEpOworfQorCitzdGF0aWMgaW50CitmdHJhY2Vfbm90cmFjZV9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfb3Blbihpbm9kZSwgZmlsZSwgMCk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VfcmVnZXhfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJaWYgKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1JFQUQpCisJCXJldHVybiBzZXFfcmVhZChmaWxlLCB1YnVmLCBjbnQsIHBwb3MpOworCWVsc2UKKwkJcmV0dXJuIC1FUEVSTTsKK30KKworc3RhdGljIGxvZmZfdAorZnRyYWNlX3JlZ2V4X2xzZWVrKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3Qgb2Zmc2V0LCBpbnQgb3JpZ2luKQoreworCWxvZmZfdCByZXQ7CisKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkKKwkJcmV0ID0gc2VxX2xzZWVrKGZpbGUsIG9mZnNldCwgb3JpZ2luKTsKKwllbHNlCisJCWZpbGUtPmZfcG9zID0gcmV0ID0gMTsKKworCXJldHVybiByZXQ7Cit9CisKK2VudW0geworCU1BVENIX0ZVTEwsCisJTUFUQ0hfRlJPTlRfT05MWSwKKwlNQVRDSF9NSURETEVfT05MWSwKKwlNQVRDSF9FTkRfT05MWSwKK307CisKK3N0YXRpYyB2b2lkCitmdHJhY2VfbWF0Y2godW5zaWduZWQgY2hhciAqYnVmZiwgaW50IGxlbiwgaW50IGVuYWJsZSkKK3sKKwljaGFyIHN0cltLU1lNX1NZTUJPTF9MRU5dOworCWNoYXIgKnNlYXJjaCA9IE5VTEw7CisJc3RydWN0IGZ0cmFjZV9wYWdlICpwZzsKKwlzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjOworCWludCB0eXBlID0gTUFUQ0hfRlVMTDsKKwl1bnNpZ25lZCBsb25nIGZsYWcgPSBlbmFibGUgPyBGVFJBQ0VfRkxfRklMVEVSIDogRlRSQUNFX0ZMX05PVFJBQ0U7CisJdW5zaWduZWQgaSwgbWF0Y2ggPSAwLCBzZWFyY2hfbGVuID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworCQlpZiAoYnVmZltpXSA9PSAnKicpIHsKKwkJCWlmICghaSkgeworCQkJCXNlYXJjaCA9IGJ1ZmYgKyBpICsgMTsKKwkJCQl0eXBlID0gTUFUQ0hfRU5EX09OTFk7CisJCQkJc2VhcmNoX2xlbiA9IGxlbiAtIChpICsgMSk7CisJCQl9IGVsc2UgeworCQkJCWlmICh0eXBlID09IE1BVENIX0VORF9PTkxZKSB7CisJCQkJCXR5cGUgPSBNQVRDSF9NSURETEVfT05MWTsKKwkJCQl9IGVsc2UgeworCQkJCQltYXRjaCA9IGk7CisJCQkJCXR5cGUgPSBNQVRDSF9GUk9OVF9PTkxZOworCQkJCX0KKwkJCQlidWZmW2ldID0gMDsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCS8qIGtlZXAga3N0b3AgbWFjaGluZSBmcm9tIHJ1bm5pbmcgKi8KKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwlpZiAoZW5hYmxlKQorCQlmdHJhY2VfZmlsdGVyZWQgPSAxOworCXBnID0gZnRyYWNlX3BhZ2VzX3N0YXJ0OworCXdoaWxlIChwZykgeworCQlmb3IgKGkgPSAwOyBpIDwgcGctPmluZGV4OyBpKyspIHsKKwkJCWludCBtYXRjaGVkID0gMDsKKwkJCWNoYXIgKnB0cjsKKworCQkJcmVjID0gJnBnLT5yZWNvcmRzW2ldOworCQkJaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRkFJTEVEKQorCQkJCWNvbnRpbnVlOworCQkJa2FsbHN5bXNfbG9va3VwKHJlYy0+aXAsIE5VTEwsIE5VTEwsIE5VTEwsIHN0cik7CisJCQlzd2l0Y2ggKHR5cGUpIHsKKwkJCWNhc2UgTUFUQ0hfRlVMTDoKKwkJCQlpZiAoc3RyY21wKHN0ciwgYnVmZikgPT0gMCkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlIE1BVENIX0ZST05UX09OTFk6CisJCQkJaWYgKG1lbWNtcChzdHIsIGJ1ZmYsIG1hdGNoKSA9PSAwKQorCQkJCQltYXRjaGVkID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgTUFUQ0hfTUlERExFX09OTFk6CisJCQkJaWYgKHN0cnN0cihzdHIsIHNlYXJjaCkpCisJCQkJCW1hdGNoZWQgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSBNQVRDSF9FTkRfT05MWToKKwkJCQlwdHIgPSBzdHJzdHIoc3RyLCBzZWFyY2gpOworCQkJCWlmIChwdHIgJiYgKHB0cltzZWFyY2hfbGVuXSA9PSAwKSkKKwkJCQkJbWF0Y2hlZCA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAobWF0Y2hlZCkKKwkJCQlyZWMtPmZsYWdzIHw9IGZsYWc7CisJCX0KKwkJcGcgPSBwZy0+bmV4dDsKKwl9CisJcHJlZW1wdF9lbmFibGUoKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZV9yZWdleF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcywgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCWNoYXIgY2g7CisJc2l6ZV90IHJlYWQgPSAwOworCXNzaXplX3QgcmV0OworCisJaWYgKCFjbnQgfHwgY250IDwgMCkKKwkJcmV0dXJuIDA7CisKKwltdXRleF9sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7CisKKwlpZiAoZmlsZS0+Zl9tb2RlICYgRk1PREVfUkVBRCkgeworCQlzdHJ1Y3Qgc2VxX2ZpbGUgKm0gPSBmaWxlLT5wcml2YXRlX2RhdGE7CisJCWl0ZXIgPSBtLT5wcml2YXRlOworCX0gZWxzZQorCQlpdGVyID0gZmlsZS0+cHJpdmF0ZV9kYXRhOworCisJaWYgKCEqcHBvcykgeworCQlpdGVyLT5mbGFncyAmPSB+RlRSQUNFX0lURVJfQ09OVDsKKwkJaXRlci0+YnVmZmVyX2lkeCA9IDA7CisJfQorCisJcmV0ID0gZ2V0X3VzZXIoY2gsIHVidWYrKyk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisJcmVhZCsrOworCWNudC0tOworCisJaWYgKCEoaXRlci0+ZmxhZ3MgJiB+RlRSQUNFX0lURVJfQ09OVCkpIHsKKwkJLyogc2tpcCB3aGl0ZSBzcGFjZSAqLworCQl3aGlsZSAoY250ICYmIGlzc3BhY2UoY2gpKSB7CisJCQlyZXQgPSBnZXRfdXNlcihjaCwgdWJ1ZisrKTsKKwkJCWlmIChyZXQpCisJCQkJZ290byBvdXQ7CisJCQlyZWFkKys7CisJCQljbnQtLTsKKwkJfQorCisJCWlmIChpc3NwYWNlKGNoKSkgeworCQkJZmlsZS0+Zl9wb3MgKz0gcmVhZDsKKwkJCXJldCA9IHJlYWQ7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWl0ZXItPmJ1ZmZlcl9pZHggPSAwOworCX0KKworCXdoaWxlIChjbnQgJiYgIWlzc3BhY2UoY2gpKSB7CisJCWlmIChpdGVyLT5idWZmZXJfaWR4IDwgRlRSQUNFX0JVRkZfTUFYKQorCQkJaXRlci0+YnVmZmVyW2l0ZXItPmJ1ZmZlcl9pZHgrK10gPSBjaDsKKwkJZWxzZSB7CisJCQlyZXQgPSAtRUlOVkFMOworCQkJZ290byBvdXQ7CisJCX0KKwkJcmV0ID0gZ2V0X3VzZXIoY2gsIHVidWYrKyk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwkJcmVhZCsrOworCQljbnQtLTsKKwl9CisKKwlpZiAoaXNzcGFjZShjaCkpIHsKKwkJaXRlci0+ZmlsdGVyZWQrKzsKKwkJaXRlci0+YnVmZmVyW2l0ZXItPmJ1ZmZlcl9pZHhdID0gMDsKKwkJZnRyYWNlX21hdGNoKGl0ZXItPmJ1ZmZlciwgaXRlci0+YnVmZmVyX2lkeCwgZW5hYmxlKTsKKwkJaXRlci0+YnVmZmVyX2lkeCA9IDA7CisJfSBlbHNlCisJCWl0ZXItPmZsYWdzIHw9IEZUUkFDRV9JVEVSX0NPTlQ7CisKKworCWZpbGUtPmZfcG9zICs9IHJlYWQ7CisKKwlyZXQgPSByZWFkOworIG91dDoKKwltdXRleF91bmxvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2VfZmlsdGVyX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3dyaXRlKGZpbGUsIHVidWYsIGNudCwgcHBvcywgMSk7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitmdHJhY2Vfbm90cmFjZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXJldHVybiBmdHJhY2VfcmVnZXhfd3JpdGUoZmlsZSwgdWJ1ZiwgY250LCBwcG9zLCAwKTsKK30KKworc3RhdGljIHZvaWQKK2Z0cmFjZV9zZXRfcmVnZXgodW5zaWduZWQgY2hhciAqYnVmLCBpbnQgbGVuLCBpbnQgcmVzZXQsIGludCBlbmFibGUpCit7CisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9yZWdleF9sb2NrKTsKKwlpZiAocmVzZXQpCisJCWZ0cmFjZV9maWx0ZXJfcmVzZXQoZW5hYmxlKTsKKwlpZiAoYnVmKQorCQlmdHJhY2VfbWF0Y2goYnVmLCBsZW4sIGVuYWJsZSk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VfcmVnZXhfbG9jayk7Cit9CisKKy8qKgorICogZnRyYWNlX3NldF9maWx0ZXIgLSBzZXQgYSBmdW5jdGlvbiB0byBmaWx0ZXIgb24gaW4gZnRyYWNlCisgKiBAYnVmIC0gdGhlIHN0cmluZyB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiBmaWx0ZXIgdGV4dC4KKyAqIEBsZW4gLSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcuCisgKiBAcmVzZXQgLSBub24gemVybyB0byByZXNldCBhbGwgZmlsdGVycyBiZWZvcmUgYXBwbHlpbmcgdGhpcyBmaWx0ZXIuCisgKgorICogRmlsdGVycyBkZW5vdGUgd2hpY2ggZnVuY3Rpb25zIHNob3VsZCBiZSBlbmFibGVkIHdoZW4gdHJhY2luZyBpcyBlbmFibGVkLgorICogSWYgQGJ1ZiBpcyBOVUxMIGFuZCByZXNldCBpcyBzZXQsIGFsbCBmdW5jdGlvbnMgd2lsbCBiZSBlbmFibGVkIGZvciB0cmFjaW5nLgorICovCit2b2lkIGZ0cmFjZV9zZXRfZmlsdGVyKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KQoreworCWZ0cmFjZV9zZXRfcmVnZXgoYnVmLCBsZW4sIHJlc2V0LCAxKTsKK30KKworLyoqCisgKiBmdHJhY2Vfc2V0X25vdHJhY2UgLSBzZXQgYSBmdW5jdGlvbiB0byBub3QgdHJhY2UgaW4gZnRyYWNlCisgKiBAYnVmIC0gdGhlIHN0cmluZyB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvbiBub3RyYWNlIHRleHQuCisgKiBAbGVuIC0gdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLgorICogQHJlc2V0IC0gbm9uIHplcm8gdG8gcmVzZXQgYWxsIGZpbHRlcnMgYmVmb3JlIGFwcGx5aW5nIHRoaXMgZmlsdGVyLgorICoKKyAqIE5vdHJhY2UgRmlsdGVycyBkZW5vdGUgd2hpY2ggZnVuY3Rpb25zIHNob3VsZCBub3QgYmUgZW5hYmxlZCB3aGVuIHRyYWNpbmcKKyAqIGlzIGVuYWJsZWQuIElmIEBidWYgaXMgTlVMTCBhbmQgcmVzZXQgaXMgc2V0LCBhbGwgZnVuY3Rpb25zIHdpbGwgYmUgZW5hYmxlZAorICogZm9yIHRyYWNpbmcuCisgKi8KK3ZvaWQgZnRyYWNlX3NldF9ub3RyYWNlKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50IGxlbiwgaW50IHJlc2V0KQoreworCWZ0cmFjZV9zZXRfcmVnZXgoYnVmLCBsZW4sIHJlc2V0LCAwKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX3JlZ2V4X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsIGludCBlbmFibGUpCit7CisJc3RydWN0IHNlcV9maWxlICptID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgZnRyYWNlX2l0ZXJhdG9yICppdGVyOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCWlmIChmaWxlLT5mX21vZGUgJiBGTU9ERV9SRUFEKSB7CisJCWl0ZXIgPSBtLT5wcml2YXRlOworCisJCXNlcV9yZWxlYXNlKGlub2RlLCBmaWxlKTsKKwl9IGVsc2UKKwkJaXRlciA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCWlmIChpdGVyLT5idWZmZXJfaWR4KSB7CisJCWl0ZXItPmZpbHRlcmVkKys7CisJCWl0ZXItPmJ1ZmZlcltpdGVyLT5idWZmZXJfaWR4XSA9IDA7CisJCWZ0cmFjZV9tYXRjaChpdGVyLT5idWZmZXIsIGl0ZXItPmJ1ZmZlcl9pZHgsIGVuYWJsZSk7CisJfQorCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKwltdXRleF9sb2NrKCZmdHJhY2VkX2xvY2spOworCWlmIChpdGVyLT5maWx0ZXJlZCAmJiBmdHJhY2VkX3N1c3BlbmQgJiYgZnRyYWNlX2VuYWJsZWQpCisJCWZ0cmFjZV9ydW5fdXBkYXRlX2NvZGUoRlRSQUNFX0VOQUJMRV9DQUxMUyk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCWtmcmVlKGl0ZXIpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3JlZ2V4X2xvY2spOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50CitmdHJhY2VfZmlsdGVyX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIGZ0cmFjZV9yZWdleF9yZWxlYXNlKGlub2RlLCBmaWxlLCAxKTsKK30KKworc3RhdGljIGludAorZnRyYWNlX25vdHJhY2VfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gZnRyYWNlX3JlZ2V4X3JlbGVhc2UoaW5vZGUsIGZpbGUsIDApOworfQorCitzdGF0aWMgc3NpemVfdAorZnRyYWNlZF9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJLyogZG9uJ3Qgd29ycnkgYWJvdXQgcmFjZXMgKi8KKwljaGFyICpidWYgPSBmdHJhY2VkX3N0b3AgPyAiZGlzYWJsZWRcbiIgOiAiZW5hYmxlZFxuIjsKKwlpbnQgciA9IHN0cmxlbihidWYpOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK2Z0cmFjZWRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciBidWZbNjRdOworCWxvbmcgdmFsOworCWludCByZXQ7CisKKwlpZiAoY250ID49IHNpemVvZihidWYpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcigmYnVmLCB1YnVmLCBjbnQpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWlmIChzdHJuY21wKGJ1ZiwgImVuYWJsZSIsIDYpID09IDApCisJCXZhbCA9IDE7CisJZWxzZSBpZiAoc3RybmNtcChidWYsICJkaXNhYmxlIiwgNykgPT0gMCkKKwkJdmFsID0gMDsKKwllbHNlIHsKKwkJYnVmW2NudF0gPSAwOworCisJCXJldCA9IHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisKKwkJdmFsID0gISF2YWw7CisJfQorCisJaWYgKHZhbCkKKwkJZnRyYWNlX2VuYWJsZV9kYWVtb24oKTsKKwllbHNlCisJCWZ0cmFjZV9kaXNhYmxlX2RhZW1vbigpOworCisJZmlscC0+Zl9wb3MgKz0gY250OworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlX2F2YWlsX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2VfYXZhaWxfb3BlbiwKKwkucmVhZCA9IHNlcV9yZWFkLAorCS5sbHNlZWsgPSBzZXFfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2VfYXZhaWxfcmVsZWFzZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZ0cmFjZV9mYWlsdXJlc19mb3BzID0geworCS5vcGVuID0gZnRyYWNlX2ZhaWx1cmVzX29wZW4sCisJLnJlYWQgPSBzZXFfcmVhZCwKKwkubGxzZWVrID0gc2VxX2xzZWVrLAorCS5yZWxlYXNlID0gZnRyYWNlX2F2YWlsX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2VfZmlsdGVyX2ZvcHMgPSB7CisJLm9wZW4gPSBmdHJhY2VfZmlsdGVyX29wZW4sCisJLnJlYWQgPSBmdHJhY2VfcmVnZXhfcmVhZCwKKwkud3JpdGUgPSBmdHJhY2VfZmlsdGVyX3dyaXRlLAorCS5sbHNlZWsgPSBmdHJhY2VfcmVnZXhfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2VfZmlsdGVyX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmdHJhY2Vfbm90cmFjZV9mb3BzID0geworCS5vcGVuID0gZnRyYWNlX25vdHJhY2Vfb3BlbiwKKwkucmVhZCA9IGZ0cmFjZV9yZWdleF9yZWFkLAorCS53cml0ZSA9IGZ0cmFjZV9ub3RyYWNlX3dyaXRlLAorCS5sbHNlZWsgPSBmdHJhY2VfcmVnZXhfbHNlZWssCisJLnJlbGVhc2UgPSBmdHJhY2Vfbm90cmFjZV9yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZnRyYWNlZF9mb3BzID0geworCS5vcGVuID0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQgPSBmdHJhY2VkX3JlYWQsCisJLndyaXRlID0gZnRyYWNlZF93cml0ZSwKK307CisKKy8qKgorICogZnRyYWNlX2ZvcmNlX3VwZGF0ZSAtIGZvcmNlIGFuIHVwZGF0ZSB0byBhbGwgcmVjb3JkaW5nIGZ0cmFjZSBmdW5jdGlvbnMKKyAqLworaW50IGZ0cmFjZV9mb3JjZV91cGRhdGUodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKworCS8qCisJICogSWYgZnRyYWNlZF90cmlnZ2VyIGlzIG5vdCBzZXQsIHRoZW4gdGhlcmUgaXMgbm90aGluZworCSAqIHRvIHVwZGF0ZS4KKwkgKi8KKwlpZiAoZnRyYWNlZF90cmlnZ2VyICYmICFmdHJhY2VfdXBkYXRlX2NvZGUoKSkKKwkJcmV0ID0gLUVCVVNZOworCisJbXV0ZXhfdW5sb2NrKCZmdHJhY2VkX2xvY2spOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGZ0cmFjZV9mb3JjZV9zaHV0ZG93bih2b2lkKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlpbnQgY29tbWFuZCA9IEZUUkFDRV9ESVNBQkxFX0NBTExTIHwgRlRSQUNFX1VQREFURV9UUkFDRV9GVU5DOworCisJbXV0ZXhfbG9jaygmZnRyYWNlZF9sb2NrKTsKKwl0YXNrID0gZnRyYWNlZF90YXNrOworCWZ0cmFjZWRfdGFzayA9IE5VTEw7CisJZnRyYWNlZF9zdXNwZW5kID0gLTE7CisJZnRyYWNlX3J1bl91cGRhdGVfY29kZShjb21tYW5kKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZWRfbG9jayk7CisKKwlpZiAodGFzaykKKwkJa3RocmVhZF9zdG9wKHRhc2spOworfQorCitzdGF0aWMgX19pbml0IGludCBmdHJhY2VfaW5pdF9kZWJ1Z2ZzKHZvaWQpCit7CisJc3RydWN0IGRlbnRyeSAqZF90cmFjZXI7CisJc3RydWN0IGRlbnRyeSAqZW50cnk7CisKKwlkX3RyYWNlciA9IHRyYWNpbmdfaW5pdF9kZW50cnkoKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiYXZhaWxhYmxlX2ZpbHRlcl9mdW5jdGlvbnMiLCAwNDQ0LAorCQkJCSAgICBkX3RyYWNlciwgTlVMTCwgJmZ0cmFjZV9hdmFpbF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidhdmFpbGFibGVfZmlsdGVyX2Z1bmN0aW9ucycgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJmYWlsdXJlcyIsIDA0NDQsCisJCQkJICAgIGRfdHJhY2VyLCBOVUxMLCAmZnRyYWNlX2ZhaWx1cmVzX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnZmFpbHVyZXMnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgic2V0X2Z0cmFjZV9maWx0ZXIiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJmZ0cmFjZV9maWx0ZXJfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICInc2V0X2Z0cmFjZV9maWx0ZXInIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgic2V0X2Z0cmFjZV9ub3RyYWNlIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZmdHJhY2Vfbm90cmFjZV9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIidzZXRfZnRyYWNlX25vdHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiZnRyYWNlZF9lbmFibGVkIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZmdHJhY2VkX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ2Z0cmFjZWRfZW5hYmxlZCcgZW50cnlcbiIpOworCXJldHVybiAwOworfQorCitmc19pbml0Y2FsbChmdHJhY2VfaW5pdF9kZWJ1Z2ZzKTsKKworc3RhdGljIGludCBfX2luaXQgZnRyYWNlX2R5bmFtaWNfaW5pdCh2b2lkKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcDsKKwl1bnNpZ25lZCBsb25nIGFkZHI7CisJaW50IHJldDsKKworCWFkZHIgPSAodW5zaWduZWQgbG9uZylmdHJhY2VfcmVjb3JkX2lwOworCisJc3RvcF9tYWNoaW5lX3J1bihmdHJhY2VfZHluX2FyY2hfaW5pdCwgJmFkZHIsIE5SX0NQVVMpOworCisJLyogZnRyYWNlX2R5bl9hcmNoX2luaXQgcGxhY2VzIHRoZSByZXR1cm4gY29kZSBpbiBhZGRyICovCisJaWYgKGFkZHIpIHsKKwkJcmV0ID0gKGludClhZGRyOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlyZXQgPSBmdHJhY2VfZHluX3RhYmxlX2FsbG9jKCk7CisJaWYgKHJldCkKKwkJZ290byBmYWlsZWQ7CisKKwlwID0ga3RocmVhZF9ydW4oZnRyYWNlZCwgTlVMTCwgImZ0cmFjZWQiKTsKKwlpZiAoSVNfRVJSKHApKSB7CisJCXJldCA9IC0xOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlsYXN0X2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQgPSAxOworCWZ0cmFjZWRfdGFzayA9IHA7CisKKwlyZXR1cm4gMDsKKworIGZhaWxlZDoKKwlmdHJhY2VfZGlzYWJsZWQgPSAxOworCXJldHVybiByZXQ7Cit9CisKK2NvcmVfaW5pdGNhbGwoZnRyYWNlX2R5bmFtaWNfaW5pdCk7CisjZWxzZQorIyBkZWZpbmUgZnRyYWNlX3N0YXJ0dXAoKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgZnRyYWNlX3NodXRkb3duKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9zdGFydHVwX3N5c2N0bCgpCWRvIHsgfSB3aGlsZSAoMCkKKyMgZGVmaW5lIGZ0cmFjZV9zaHV0ZG93bl9zeXNjdGwoKQlkbyB7IH0gd2hpbGUgKDApCisjIGRlZmluZSBmdHJhY2VfZm9yY2Vfc2h1dGRvd24oKQlkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYgLyogQ09ORklHX0RZTkFNSUNfRlRSQUNFICovCisKKy8qKgorICogZnRyYWNlX2tpbGxfYXRvbWljIC0ga2lsbCBmdHJhY2UgZnJvbSBjcml0aWNhbCBzZWN0aW9ucworICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgYnkgcGFuaWMgY29kZS4gSXQgc3RvcHMgZnRyYWNlCisgKiBidXQgaW4gYSBub3Qgc28gbmljZSB3YXkuIElmIHlvdSBuZWVkIHRvIHNpbXBseSBraWxsIGZ0cmFjZQorICogZnJvbSBhIG5vbi1hdG9taWMgc2VjdGlvbiwgdXNlIGZ0cmFjZV9raWxsLgorICovCit2b2lkIGZ0cmFjZV9raWxsX2F0b21pYyh2b2lkKQoreworCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCWZ0cmFjZWRfc3VzcGVuZCA9IC0xOworI2VuZGlmCisJY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKCk7Cit9CisKKy8qKgorICogZnRyYWNlX2tpbGwgLSB0b3RhbGx5IHNodXRkb3duIGZ0cmFjZQorICoKKyAqIFRoaXMgaXMgYSBzYWZldHkgbWVhc3VyZS4gSWYgc29tZXRoaW5nIHdhcyBkZXRlY3RlZCB0aGF0IHNlZW1zCisgKiB3cm9uZywgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHdpbGwga2VlcCBmdHJhY2UgZnJvbSBkb2luZworICogYW55IG1vcmUgbW9kaWZpY2F0aW9ucywgYW5kIHVwZGF0ZXMuCisgKiB1c2VkIHdoZW4gc29tZXRoaW5nIHdlbnQgd3JvbmcuCisgKi8KK3ZvaWQgZnRyYWNlX2tpbGwodm9pZCkKK3sKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCWZ0cmFjZV9kaXNhYmxlZCA9IDE7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJY2xlYXJfZnRyYWNlX2Z1bmN0aW9uKCk7CisJbXV0ZXhfdW5sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCisJLyogVHJ5IHRvIHRvdGFsbHkgZGlzYWJsZSBmdHJhY2UgKi8KKwlmdHJhY2VfZm9yY2Vfc2h1dGRvd24oKTsKK30KKworLyoqCisgKiByZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24gLSByZWdpc3RlciBhIGZ1bmN0aW9uIGZvciBwcm9maWxpbmcKKyAqIEBvcHMgLSBvcHMgc3RydWN0dXJlIHRoYXQgaG9sZHMgdGhlIGZ1bmN0aW9uIGZvciBwcm9maWxpbmcuCisgKgorICogUmVnaXN0ZXIgYSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgYnkgYWxsIGZ1bmN0aW9ucyBpbiB0aGUKKyAqIGtlcm5lbC4KKyAqCisgKiBOb3RlOiBAb3BzLT5mdW5jIGFuZCBhbGwgdGhlIGZ1bmN0aW9ucyBpdCBjYWxscyBtdXN0IGJlIGxhYmVsZWQKKyAqICAgICAgIHdpdGggIm5vdHJhY2UiLCBvdGhlcndpc2UgaXQgd2lsbCBnbyBpbnRvIGEKKyAqICAgICAgIHJlY3Vyc2l2ZSBsb29wLgorICovCitpbnQgcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJaW50IHJldDsKKworCWlmICh1bmxpa2VseShmdHJhY2VfZGlzYWJsZWQpKQorCQlyZXR1cm4gLTE7CisKKwltdXRleF9sb2NrKCZmdHJhY2Vfc3lzY3RsX2xvY2spOworCXJldCA9IF9fcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKG9wcyk7CisJZnRyYWNlX3N0YXJ0dXAoKTsKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uIC0gdW5yZXNnaXN0ZXIgYSBmdW5jdGlvbiBmb3IgcHJvZmlsaW5nLgorICogQG9wcyAtIG9wcyBzdHJ1Y3R1cmUgdGhhdCBob2xkcyB0aGUgZnVuY3Rpb24gdG8gdW5yZWdpc3RlcgorICoKKyAqIFVucmVnaXN0ZXIgYSBmdW5jdGlvbiB0aGF0IHdhcyBhZGRlZCB0byBiZSBjYWxsZWQgYnkgZnRyYWNlIHByb2ZpbGluZy4KKyAqLworaW50IHVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKHN0cnVjdCBmdHJhY2Vfb3BzICpvcHMpCit7CisJaW50IHJldDsKKworCW11dGV4X2xvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJcmV0ID0gX191bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbihvcHMpOworCWZ0cmFjZV9zaHV0ZG93bigpOworCW11dGV4X3VubG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldHVybiByZXQ7Cit9CisKK2ludAorZnRyYWNlX2VuYWJsZV9zeXNjdGwoc3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKKwkJICAgICBzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCBfX3VzZXIgKmJ1ZmZlciwgc2l6ZV90ICpsZW5wLAorCQkgICAgIGxvZmZfdCAqcHBvcykKK3sKKwlpbnQgcmV0OworCisJaWYgKHVubGlrZWx5KGZ0cmFjZV9kaXNhYmxlZCkpCisJCXJldHVybiAtRU5PREVWOworCisJbXV0ZXhfbG9jaygmZnRyYWNlX3N5c2N0bF9sb2NrKTsKKworCXJldCAgPSBwcm9jX2RvaW50dmVjKHRhYmxlLCB3cml0ZSwgZmlsZSwgYnVmZmVyLCBsZW5wLCBwcG9zKTsKKworCWlmIChyZXQgfHwgIXdyaXRlIHx8IChsYXN0X2Z0cmFjZV9lbmFibGVkID09IGZ0cmFjZV9lbmFibGVkKSkKKwkJZ290byBvdXQ7CisKKwlsYXN0X2Z0cmFjZV9lbmFibGVkID0gZnRyYWNlX2VuYWJsZWQ7CisKKwlpZiAoZnRyYWNlX2VuYWJsZWQpIHsKKworCQlmdHJhY2Vfc3RhcnR1cF9zeXNjdGwoKTsKKworCQkvKiB3ZSBhcmUgc3RhcnRpbmcgZnRyYWNlIGFnYWluICovCisJCWlmIChmdHJhY2VfbGlzdCAhPSAmZnRyYWNlX2xpc3RfZW5kKSB7CisJCQlpZiAoZnRyYWNlX2xpc3QtPm5leHQgPT0gJmZ0cmFjZV9saXN0X2VuZCkKKwkJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdC0+ZnVuYzsKKwkJCWVsc2UKKwkJCQlmdHJhY2VfdHJhY2VfZnVuY3Rpb24gPSBmdHJhY2VfbGlzdF9mdW5jOworCQl9CisKKwl9IGVsc2UgeworCQkvKiBzdG9wcGluZyBmdHJhY2UgY2FsbHMgKGp1c3Qgc2VuZCB0byBmdHJhY2Vfc3R1YikgKi8KKwkJZnRyYWNlX3RyYWNlX2Z1bmN0aW9uID0gZnRyYWNlX3N0dWI7CisKKwkJZnRyYWNlX3NodXRkb3duX3N5c2N0bCgpOworCX0KKworIG91dDoKKwltdXRleF91bmxvY2soJmZ0cmFjZV9zeXNjdGxfbG9jayk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2tlcm5lbC90cmFjZS90cmFjZS5jIGIva2VybmVsL3RyYWNlL3RyYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY4ZTEyMQotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZS5jCkBAIC0wLDAgKzEsMzE2MSBAQAorLyoKKyAqIHJpbmcgYnVmZmVyIGJhc2VkIGZ1bmN0aW9uIHRyYWNlcgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDA4IFN0ZXZlbiBSb3N0ZWR0IDxzcm9zdGVkdEByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgorICoKKyAqIE9yaWdpbmFsbHkgdGFrZW4gZnJvbSB0aGUgUlQgcGF0Y2ggYnk6CisgKiAgICBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICogIENvcHlyaWdodCAoQykgMjAwNC0yMDA2IEluZ28gTW9sbmFyCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0IFdpbGxpYW0gTGVlIElyd2luIElJSQorICovCisjaW5jbHVkZSA8bGludXgvdXRzcmVsZWFzZS5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgorI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9saW5rYWdlLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L3BlcmNwdS5oPgorI2luY2x1ZGUgPGxpbnV4L2N0eXBlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KKyNpbmNsdWRlIDxsaW51eC9nZnAuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2twcm9iZXMuaD4KKyNpbmNsdWRlIDxsaW51eC93cml0ZWJhY2suaD4KKworI2luY2x1ZGUgPGxpbnV4L3N0YWNrdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3Vuc2lnbmVkIGxvbmcgX19yZWFkX21vc3RseQl0cmFjaW5nX21heF9sYXRlbmN5ID0gKGN5Y2xlX3QpVUxPTkdfTUFYOwordW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5CXRyYWNpbmdfdGhyZXNoOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyBfX3JlYWRfbW9zdGx5CXRyYWNpbmdfbnJfYnVmZmVyczsKK3N0YXRpYyBjcHVtYXNrX3QgX19yZWFkX21vc3RseQkJdHJhY2luZ19idWZmZXJfbWFzazsKKworI2RlZmluZSBmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpCVwKKwlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIHRyYWNpbmdfYnVmZmVyX21hc2spCisKK3N0YXRpYyBpbnQgdHJhY2VfYWxsb2NfcGFnZSh2b2lkKTsKK3N0YXRpYyBpbnQgdHJhY2VfZnJlZV9wYWdlKHZvaWQpOworCitzdGF0aWMgaW50IHRyYWNpbmdfZGlzYWJsZWQgPSAxOworCitzdGF0aWMgdW5zaWduZWQgbG9uZyB0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZDsKKworbG9uZworbnMydXNlY3MoY3ljbGVfdCBuc2VjKQoreworCW5zZWMgKz0gNTAwOworCWRvX2Rpdihuc2VjLCAxMDAwKTsKKwlyZXR1cm4gbnNlYzsKK30KKworY3ljbGVfdCBmdHJhY2Vfbm93KGludCBjcHUpCit7CisJcmV0dXJuIGNwdV9jbG9jayhjcHUpOworfQorCisvKgorICogVGhlIGdsb2JhbF90cmFjZSBpcyB0aGUgZGVzY3JpcHRvciB0aGF0IGhvbGRzIHRoZSB0cmFjaW5nCisgKiBidWZmZXJzIGZvciB0aGUgbGl2ZSB0cmFjaW5nLiBGb3IgZWFjaCBDUFUsIGl0IGNvbnRhaW5zCisgKiBhIGxpbmsgbGlzdCBvZiBwYWdlcyB0aGF0IHdpbGwgc3RvcmUgdHJhY2UgZW50cmllcy4gVGhlCisgKiBwYWdlIGRlc2NyaXB0b3Igb2YgdGhlIHBhZ2VzIGluIHRoZSBtZW1vcnkgaXMgdXNlZCB0byBob2xkCisgKiB0aGUgbGluayBsaXN0IGJ5IGxpbmtpbmcgdGhlIGxydSBpdGVtIGluIHRoZSBwYWdlIGRlc2NyaXB0b3IKKyAqIHRvIGVhY2ggb2YgdGhlIHBhZ2VzIGluIHRoZSBidWZmZXIgcGVyIENQVS4KKyAqCisgKiBGb3IgZWFjaCBhY3RpdmUgQ1BVIHRoZXJlIGlzIGEgZGF0YSBmaWVsZCB0aGF0IGhvbGRzIHRoZQorICogcGFnZXMgZm9yIHRoZSBidWZmZXIgZm9yIHRoYXQgQ1BVLiBFYWNoIENQVSBoYXMgdGhlIHNhbWUgbnVtYmVyCisgKiBvZiBwYWdlcyBhbGxvY2F0ZWQgZm9yIGl0cyBidWZmZXIuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJZ2xvYmFsX3RyYWNlOworCitzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHRyYWNlX2FycmF5X2NwdSwgZ2xvYmFsX3RyYWNlX2NwdSk7CisKKy8qCisgKiBUaGUgbWF4X3RyIGlzIHVzZWQgdG8gc25hcHNob3QgdGhlIGdsb2JhbF90cmFjZSB3aGVuIGEgbWF4aW11bQorICogbGF0ZW5jeSBpcyByZWFjaGVkLiBTb21lIHRyYWNlcnMgd2lsbCB1c2UgdGhpcyB0byBzdG9yZSBhIG1heGltdW0KKyAqIHRyYWNlIHdoaWxlIGl0IGNvbnRpbnVlcyBleGFtaW5pbmcgbGl2ZSB0cmFjZXMuCisgKgorICogVGhlIGJ1ZmZlcnMgZm9yIHRoZSBtYXhfdHIgYXJlIHNldCB1cCB0aGUgc2FtZSBhcyB0aGUgZ2xvYmFsX3RyYWNlLgorICogV2hlbiBhIHNuYXBzaG90IGlzIHRha2VuLCB0aGUgbGluayBsaXN0IG9mIHRoZSBtYXhfdHIgaXMgc3dhcHBlZAorICogd2l0aCB0aGUgbGluayBsaXN0IG9mIHRoZSBnbG9iYWxfdHJhY2UgYW5kIHRoZSBidWZmZXJzIGFyZSByZXNldCBmb3IKKyAqIHRoZSBnbG9iYWxfdHJhY2Ugc28gdGhlIHRyYWNpbmcgY2FuIGNvbnRpbnVlLgorICovCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CW1heF90cjsKKworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUsIG1heF9kYXRhKTsKKworLyogdHJhY2VyX2VuYWJsZWQgaXMgdXNlZCB0byB0b2dnbGUgYWN0aXZhdGlvbiBvZiBhIHRyYWNlciAqLworc3RhdGljIGludAkJCXRyYWNlcl9lbmFibGVkID0gMTsKKworLyogZnVuY3Rpb24gdHJhY2luZyBlbmFibGVkICovCitpbnQJCQkJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQ7CisKKy8qCisgKiB0cmFjZV9ucl9lbnRyaWVzIGlzIHRoZSBudW1iZXIgb2YgZW50cmllcyB0aGF0IGlzIGFsbG9jYXRlZAorICogZm9yIGEgYnVmZmVyLiBOb3RlLCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaXMgYWx3YXlzIHJvdW5kZWQKKyAqIHRvIEVOVFJJRVNfUEVSX1BBR0UuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nCQl0cmFjZV9ucl9lbnRyaWVzID0gNjU1MzZVTDsKKworLyogdHJhY2VfdHlwZXMgaG9sZHMgYSBsaW5rIGxpc3Qgb2YgYXZhaWxhYmxlIHRyYWNlcnMuICovCitzdGF0aWMgc3RydWN0IHRyYWNlcgkJKnRyYWNlX3R5cGVzIF9fcmVhZF9tb3N0bHk7CisKKy8qIGN1cnJlbnRfdHJhY2UgcG9pbnRzIHRvIHRoZSB0cmFjZXIgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlICovCitzdGF0aWMgc3RydWN0IHRyYWNlcgkJKmN1cnJlbnRfdHJhY2UgX19yZWFkX21vc3RseTsKKworLyoKKyAqIG1heF90cmFjZXJfdHlwZV9sZW4gaXMgdXNlZCB0byBzaW1wbGlmeSB0aGUgYWxsb2NhdGluZyBvZgorICogYnVmZmVycyB0byByZWFkIHVzZXJzcGFjZSB0cmFjZXIgbmFtZXMuIFdlIGtlZXAgdHJhY2sgb2YKKyAqIHRoZSBsb25nZXN0IHRyYWNlciBuYW1lIHJlZ2lzdGVyZWQuCisgKi8KK3N0YXRpYyBpbnQJCQltYXhfdHJhY2VyX3R5cGVfbGVuOworCisvKgorICogdHJhY2VfdHlwZXNfbG9jayBpcyB1c2VkIHRvIHByb3RlY3QgdGhlIHRyYWNlX3R5cGVzIGxpc3QuCisgKiBUaGlzIGxvY2sgaXMgYWxzbyB1c2VkIHRvIGtlZXAgdXNlciBhY2Nlc3Mgc2VyaWFsaXplZC4KKyAqIEFjY2Vzc2VzIGZyb20gdXNlcnNwYWNlIHdpbGwgZ3JhYiB0aGlzIGxvY2sgd2hpbGUgdXNlcnNwYWNlCisgKiBhY3Rpdml0aWVzIGhhcHBlbiBpbnNpZGUgdGhlIGtlcm5lbC4KKyAqLworc3RhdGljIERFRklORV9NVVRFWCh0cmFjZV90eXBlc19sb2NrKTsKKworLyogdHJhY2Vfd2FpdCBpcyBhIHdhaXRxdWV1ZSBmb3IgdGFza3MgYmxvY2tlZCBvbiB0cmFjZV9wb2xsICovCitzdGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQodHJhY2Vfd2FpdCk7CisKKy8qIHRyYWNlX2ZsYWdzIGhvbGRzIGl0ZXJfY3RybCBvcHRpb25zICovCit1bnNpZ25lZCBsb25nIHRyYWNlX2ZsYWdzID0gVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlQ7CisKK3N0YXRpYyBub3RyYWNlIHZvaWQgbm9fdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDA7CisJaWYodHItPmN0cmwpCisJCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKKwl0cmFjZXJfZW5hYmxlZCA9IDA7Cit9CisKKy8qIGR1bW15IHRyYWNlIHRvIGRpc2FibGUgdHJhY2luZyAqLworc3RhdGljIHN0cnVjdCB0cmFjZXIgbm9fdHJhY2VyIF9fcmVhZF9tb3N0bHkgPSB7CisJLm5hbWUJCT0gIm5vbmUiLAorCS5pbml0CQk9IG5vX3RyYWNlX2luaXQKK307CisKKworLyoqCisgKiB0cmFjZV93YWtlX3VwIC0gd2FrZSB1cCB0YXNrcyB3YWl0aW5nIGZvciB0cmFjZSBpbnB1dAorICoKKyAqIFNpbXBseSB3YWtlcyB1cCBhbnkgdGFzayB0aGF0IGlzIGJsb2NrZWQgb24gdGhlIHRyYWNlX3dhaXQKKyAqIHF1ZXVlLiBUaGVzZSBpcyB1c2VkIHdpdGggdHJhY2VfcG9sbCBmb3IgdGFza3MgcG9sbGluZyB0aGUgdHJhY2UuCisgKi8KK3ZvaWQgdHJhY2Vfd2FrZV91cCh2b2lkKQoreworCS8qCisJICogVGhlIHJ1bnF1ZXVlX2lzX2xvY2tlZCgpIGNhbiBmYWlsLCBidXQgdGhpcyBpcyB0aGUgYmVzdCB3ZQorCSAqIGhhdmUgZm9yIG5vdzoKKwkgKi8KKwlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfQkxPQ0spICYmICFydW5xdWV1ZV9pc19sb2NrZWQoKSkKKwkJd2FrZV91cCgmdHJhY2Vfd2FpdCk7Cit9CisKKyNkZWZpbmUgRU5UUklFU19QRVJfUEFHRSAoUEFHRV9TSVpFIC8gc2l6ZW9mKHN0cnVjdCB0cmFjZV9lbnRyeSkpCisKK3N0YXRpYyBpbnQgX19pbml0IHNldF9ucl9lbnRyaWVzKGNoYXIgKnN0cikKK3sKKwl1bnNpZ25lZCBsb25nIG5yX2VudHJpZXM7CisJaW50IHJldDsKKworCWlmICghc3RyKQorCQlyZXR1cm4gMDsKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChzdHIsIDAsICZucl9lbnRyaWVzKTsKKwkvKiBucl9lbnRyaWVzIGNhbiBub3QgYmUgemVybyAqLworCWlmIChyZXQgPCAwIHx8IG5yX2VudHJpZXMgPT0gMCkKKwkJcmV0dXJuIDA7CisJdHJhY2VfbnJfZW50cmllcyA9IG5yX2VudHJpZXM7CisJcmV0dXJuIDE7Cit9CitfX3NldHVwKCJ0cmFjZV9lbnRyaWVzPSIsIHNldF9ucl9lbnRyaWVzKTsKKwordW5zaWduZWQgbG9uZyBuc2Vjc190b191c2Vjcyh1bnNpZ25lZCBsb25nIG5zZWNzKQoreworCXJldHVybiBuc2VjcyAvIDEwMDA7Cit9CisKKy8qCisgKiB0cmFjZV9mbGFnX3R5cGUgaXMgYW4gZW51bWVyYXRpb24gdGhhdCBob2xkcyBkaWZmZXJlbnQKKyAqIHN0YXRlcyB3aGVuIGEgdHJhY2Ugb2NjdXJzLiBUaGVzZSBhcmU6CisgKiAgSVJRU19PRkYJLSBpbnRlcnJ1cHRzIHdlcmUgZGlzYWJsZWQKKyAqICBORUVEX1JFU0NFRCAtIHJlc2NoZWR1bGUgaXMgcmVxdWVzdGVkCisgKiAgSEFSRElSUQktIGluc2lkZSBhbiBpbnRlcnJ1cHQgaGFuZGxlcgorICogIFNPRlRJUlEJLSBpbnNpZGUgYSBzb2Z0aXJxIGhhbmRsZXIKKyAqLworZW51bSB0cmFjZV9mbGFnX3R5cGUgeworCVRSQUNFX0ZMQUdfSVJRU19PRkYJCT0gMHgwMSwKKwlUUkFDRV9GTEFHX05FRURfUkVTQ0hFRAkJPSAweDAyLAorCVRSQUNFX0ZMQUdfSEFSRElSUQkJPSAweDA0LAorCVRSQUNFX0ZMQUdfU09GVElSUQkJPSAweDA4LAorfTsKKworLyoKKyAqIFRSQUNFX0lURVJfU1lNX01BU0sgbWFza3MgdGhlIG9wdGlvbnMgaW4gdHJhY2VfZmxhZ3MgdGhhdAorICogY29udHJvbCB0aGUgb3V0cHV0IG9mIGtlcm5lbCBzeW1ib2xzLgorICovCisjZGVmaW5lIFRSQUNFX0lURVJfU1lNX01BU0sgXAorCShUUkFDRV9JVEVSX1BSSU5UX1BBUkVOVHxUUkFDRV9JVEVSX1NZTV9PRkZTRVR8VFJBQ0VfSVRFUl9TWU1fQUREUikKKworLyogVGhlc2UgbXVzdCBtYXRjaCB0aGUgYml0IHBvc3Rpb25zIGluIHRyYWNlX2l0ZXJhdG9yX2ZsYWdzICovCitzdGF0aWMgY29uc3QgY2hhciAqdHJhY2Vfb3B0aW9uc1tdID0geworCSJwcmludC1wYXJlbnQiLAorCSJzeW0tb2Zmc2V0IiwKKwkic3ltLWFkZHIiLAorCSJ2ZXJib3NlIiwKKwkicmF3IiwKKwkiaGV4IiwKKwkiYmluIiwKKwkiYmxvY2siLAorCSJzdGFja3RyYWNlIiwKKwkic2NoZWQtdHJlZSIsCisJTlVMTAorfTsKKworLyoKKyAqIGZ0cmFjZV9tYXhfbG9jayBpcyB1c2VkIHRvIHByb3RlY3QgdGhlIHN3YXBwaW5nIG9mIGJ1ZmZlcnMKKyAqIHdoZW4gdGFraW5nIGEgbWF4IHNuYXBzaG90LiBUaGUgYnVmZmVycyB0aGVtc2VsdmVzIGFyZQorICogcHJvdGVjdGVkIGJ5IHBlcl9jcHUgc3BpbmxvY2tzLiBCdXQgdGhlIGFjdGlvbiBvZiB0aGUgc3dhcAorICogbmVlZHMgaXRzIG93biBsb2NrLgorICoKKyAqIFRoaXMgaXMgZGVmaW5lZCBhcyBhIHJhd19zcGlubG9ja190IGluIG9yZGVyIHRvIGhlbHAKKyAqIHdpdGggcGVyZm9ybWFuY2Ugd2hlbiBsb2NrZGVwIGRlYnVnZ2luZyBpcyBlbmFibGVkLgorICovCitzdGF0aWMgcmF3X3NwaW5sb2NrX3QgZnRyYWNlX21heF9sb2NrID0KKwkocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOworCisvKgorICogQ29weSB0aGUgbmV3IG1heGltdW0gdHJhY2UgaW50byB0aGUgc2VwYXJhdGUgbWF4aW11bS10cmFjZQorICogc3RydWN0dXJlLiAodGhpcyB3YXkgdGhlIG1heGltdW0gdHJhY2UgaXMgcGVybWFuZW50bHkgc2F2ZWQsCisgKiBmb3IgbGF0ZXIgcmV0cmlldmFsIHZpYSAvZGVidWdmcy90cmFjaW5nL2xhdGVuY3lfdHJhY2UpCisgKi8KK3N0YXRpYyB2b2lkCitfX3VwZGF0ZV9tYXhfdHIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IHRyLT5kYXRhW2NwdV07CisKKwltYXhfdHIuY3B1ID0gY3B1OworCW1heF90ci50aW1lX3N0YXJ0ID0gZGF0YS0+cHJlZW1wdF90aW1lc3RhbXA7CisKKwlkYXRhID0gbWF4X3RyLmRhdGFbY3B1XTsKKwlkYXRhLT5zYXZlZF9sYXRlbmN5ID0gdHJhY2luZ19tYXhfbGF0ZW5jeTsKKworCW1lbWNweShkYXRhLT5jb21tLCB0c2stPmNvbW0sIFRBU0tfQ09NTV9MRU4pOworCWRhdGEtPnBpZCA9IHRzay0+cGlkOworCWRhdGEtPnVpZCA9IHRzay0+dWlkOworCWRhdGEtPm5pY2UgPSB0c2stPnN0YXRpY19wcmlvIC0gMjAgLSBNQVhfUlRfUFJJTzsKKwlkYXRhLT5wb2xpY3kgPSB0c2stPnBvbGljeTsKKwlkYXRhLT5ydF9wcmlvcml0eSA9IHRzay0+cnRfcHJpb3JpdHk7CisKKwkvKiByZWNvcmQgdGhpcyB0YXNrcyBjb21tICovCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShjdXJyZW50KTsKK30KKworI2RlZmluZSBDSEVDS19DT05EKGNvbmQpCQkJXAorCWlmICh1bmxpa2VseShjb25kKSkgewkJCVwKKwkJdHJhY2luZ19kaXNhYmxlZCA9IDE7CQlcCisJCVdBUk5fT04oMSk7CQkJXAorCQlyZXR1cm4gLTE7CQkJXAorCX0KKworLyoqCisgKiBjaGVja19wYWdlcyAtIGludGVncml0eSBjaGVjayBvZiB0cmFjZSBidWZmZXJzCisgKgorICogQXMgYSBzYWZ0eSBtZWFzdXJlIHdlIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgZGF0YSBwYWdlcyBoYXZlIG5vdAorICogYmVlbiBjb3JydXB0ZWQuCisgKi8KK2ludCBjaGVja19wYWdlcyhzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCBwYWdlICpwYWdlLCAqdG1wOworCisJQ0hFQ0tfQ09ORChkYXRhLT50cmFjZV9wYWdlcy5uZXh0LT5wcmV2ICE9ICZkYXRhLT50cmFjZV9wYWdlcyk7CisJQ0hFQ0tfQ09ORChkYXRhLT50cmFjZV9wYWdlcy5wcmV2LT5uZXh0ICE9ICZkYXRhLT50cmFjZV9wYWdlcyk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLCAmZGF0YS0+dHJhY2VfcGFnZXMsIGxydSkgeworCQlDSEVDS19DT05EKHBhZ2UtPmxydS5uZXh0LT5wcmV2ICE9ICZwYWdlLT5scnUpOworCQlDSEVDS19DT05EKHBhZ2UtPmxydS5wcmV2LT5uZXh0ICE9ICZwYWdlLT5scnUpOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGhlYWRfcGFnZSAtIHBhZ2UgYWRkcmVzcyBvZiB0aGUgZmlyc3QgcGFnZSBpbiBwZXJfY3B1IGJ1ZmZlci4KKyAqCisgKiBoZWFkX3BhZ2UgcmV0dXJucyB0aGUgcGFnZSBhZGRyZXNzIG9mIHRoZSBmaXJzdCBwYWdlIGluCisgKiBhIHBlcl9jcHUgYnVmZmVyLiBUaGlzIGFsc28gcHJlZm9ybXMgdmFyaW91cyBjb25zaXN0ZW5jeQorICogY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGUgYnVmZmVyIGhhcyBub3QgYmVlbiBjb3JydXB0ZWQuCisgKi8KK3ZvaWQgKmhlYWRfcGFnZShzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCBwYWdlICpwYWdlOworCisJaWYgKGxpc3RfZW1wdHkoJmRhdGEtPnRyYWNlX3BhZ2VzKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlwYWdlID0gbGlzdF9lbnRyeShkYXRhLT50cmFjZV9wYWdlcy5uZXh0LCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwlCVUdfT04oJnBhZ2UtPmxydSA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpOworCisJcmV0dXJuIHBhZ2VfYWRkcmVzcyhwYWdlKTsKK30KKworLyoqCisgKiB0cmFjZV9zZXFfcHJpbnRmIC0gc2VxdWVuY2UgcHJpbnRpbmcgb2YgdHJhY2UgaW5mb3JtYXRpb24KKyAqIEBzOiB0cmFjZSBzZXF1ZW5jZSBkZXNjcmlwdG9yCisgKiBAZm10OiBwcmludGYgZm9ybWF0IHN0cmluZworICoKKyAqIFRoZSB0cmFjZXIgbWF5IHVzZSBlaXRoZXIgc2VxdWVuY2Ugb3BlcmF0aW9ucyBvciBpdHMgb3duCisgKiBjb3B5IHRvIHVzZXIgcm91dGluZXMuIFRvIHNpbXBsaWZ5IGZvcm1hdGluZyBvZiBhIHRyYWNlCisgKiB0cmFjZV9zZXFfcHJpbnRmIGlzIHVzZWQgdG8gc3RvcmUgc3RyaW5ncyBpbnRvIGEgc3BlY2lhbAorICogYnVmZmVyIChAcykuIFRoZW4gdGhlIG91dHB1dCBtYXkgYmUgZWl0aGVyIHVzZWQgYnkKKyAqIHRoZSBzZXF1ZW5jZXIgb3IgcHVsbGVkIGludG8gYW5vdGhlciBidWZmZXIuCisgKi8KK2ludAordHJhY2Vfc2VxX3ByaW50ZihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgbGVuID0gKFBBR0VfU0laRSAtIDEpIC0gcy0+bGVuOworCXZhX2xpc3QgYXA7CisJaW50IHJldDsKKworCWlmICghbGVuKQorCQlyZXR1cm4gMDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXJldCA9IHZzbnByaW50ZihzLT5idWZmZXIgKyBzLT5sZW4sIGxlbiwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCS8qIElmIHdlIGNhbid0IHdyaXRlIGl0IGFsbCwgZG9uJ3QgYm90aGVyIHdyaXRpbmcgYW55dGhpbmcgKi8KKwlpZiAocmV0ID49IGxlbikKKwkJcmV0dXJuIDA7CisKKwlzLT5sZW4gKz0gcmV0OworCisJcmV0dXJuIGxlbjsKK30KKworLyoqCisgKiB0cmFjZV9zZXFfcHV0cyAtIHRyYWNlIHNlcXVlbmNlIHByaW50aW5nIG9mIHNpbXBsZSBzdHJpbmcKKyAqIEBzOiB0cmFjZSBzZXF1ZW5jZSBkZXNjcmlwdG9yCisgKiBAc3RyOiBzaW1wbGUgc3RyaW5nIHRvIHJlY29yZAorICoKKyAqIFRoZSB0cmFjZXIgbWF5IHVzZSBlaXRoZXIgdGhlIHNlcXVlbmNlIG9wZXJhdGlvbnMgb3IgaXRzIG93bgorICogY29weSB0byB1c2VyIHJvdXRpbmVzLiBUaGlzIGZ1bmN0aW9uIHJlY29yZHMgYSBzaW1wbGUgc3RyaW5nCisgKiBpbnRvIGEgc3BlY2lhbCBidWZmZXIgKEBzKSBmb3IgbGF0ZXIgcmV0cmlldmFsIGJ5IGEgc2VxdWVuY2VyCisgKiBvciBvdGhlciBtZWNoYW5pc20uCisgKi8KK3N0YXRpYyBpbnQKK3RyYWNlX3NlcV9wdXRzKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlpbnQgbGVuID0gc3RybGVuKHN0cik7CisKKwlpZiAobGVuID4gKChQQUdFX1NJWkUgLSAxKSAtIHMtPmxlbikpCisJCXJldHVybiAwOworCisJbWVtY3B5KHMtPmJ1ZmZlciArIHMtPmxlbiwgc3RyLCBsZW4pOworCXMtPmxlbiArPSBsZW47CisKKwlyZXR1cm4gbGVuOworfQorCitzdGF0aWMgaW50Cit0cmFjZV9zZXFfcHV0YyhzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB1bnNpZ25lZCBjaGFyIGMpCit7CisJaWYgKHMtPmxlbiA+PSAoUEFHRV9TSVpFIC0gMSkpCisJCXJldHVybiAwOworCisJcy0+YnVmZmVyW3MtPmxlbisrXSA9IGM7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dG1lbShzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB2b2lkICptZW0sIHNpemVfdCBsZW4pCit7CisJaWYgKGxlbiA+ICgoUEFHRV9TSVpFIC0gMSkgLSBzLT5sZW4pKQorCQlyZXR1cm4gMDsKKworCW1lbWNweShzLT5idWZmZXIgKyBzLT5sZW4sIG1lbSwgbGVuKTsKKwlzLT5sZW4gKz0gbGVuOworCisJcmV0dXJuIGxlbjsKK30KKworI2RlZmluZSBIRVhfQ0hBUlMgMTcKK3N0YXRpYyBjb25zdCBjaGFyIGhleDJhc2NbXSA9ICIwMTIzNDU2Nzg5YWJjZGVmIjsKKworc3RhdGljIGludAordHJhY2Vfc2VxX3B1dG1lbV9oZXgoc3RydWN0IHRyYWNlX3NlcSAqcywgdm9pZCAqbWVtLCBzaXplX3QgbGVuKQoreworCXVuc2lnbmVkIGNoYXIgaGV4W0hFWF9DSEFSU107CisJdW5zaWduZWQgY2hhciAqZGF0YSA9IG1lbTsKKwl1bnNpZ25lZCBjaGFyIGJ5dGU7CisJaW50IGksIGo7CisKKwlCVUdfT04obGVuID49IEhFWF9DSEFSUyk7CisKKyNpZmRlZiBfX0JJR19FTkRJQU4KKwlmb3IgKGkgPSAwLCBqID0gMDsgaSA8IGxlbjsgaSsrKSB7CisjZWxzZQorCWZvciAoaSA9IGxlbi0xLCBqID0gMDsgaSA+PSAwOyBpLS0pIHsKKyNlbmRpZgorCQlieXRlID0gZGF0YVtpXTsKKworCQloZXhbaisrXSA9IGhleDJhc2NbYnl0ZSAmIDB4MGZdOworCQloZXhbaisrXSA9IGhleDJhc2NbYnl0ZSA+PiA0XTsKKwl9CisJaGV4W2orK10gPSAnICc7CisKKwlyZXR1cm4gdHJhY2Vfc2VxX3B1dG1lbShzLCBoZXgsIGopOworfQorCitzdGF0aWMgdm9pZAordHJhY2Vfc2VxX3Jlc2V0KHN0cnVjdCB0cmFjZV9zZXEgKnMpCit7CisJcy0+bGVuID0gMDsKKwlzLT5yZWFkcG9zID0gMDsKK30KKworc3NpemVfdCB0cmFjZV9zZXFfdG9fdXNlcihzdHJ1Y3QgdHJhY2Vfc2VxICpzLCBjaGFyIF9fdXNlciAqdWJ1Ziwgc2l6ZV90IGNudCkKK3sKKwlpbnQgbGVuOworCWludCByZXQ7CisKKwlpZiAocy0+bGVuIDw9IHMtPnJlYWRwb3MpCisJCXJldHVybiAtRUJVU1k7CisKKwlsZW4gPSBzLT5sZW4gLSBzLT5yZWFkcG9zOworCWlmIChjbnQgPiBsZW4pCisJCWNudCA9IGxlbjsKKwlyZXQgPSBjb3B5X3RvX3VzZXIodWJ1Ziwgcy0+YnVmZmVyICsgcy0+cmVhZHBvcywgY250KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gLUVGQVVMVDsKKworCXMtPnJlYWRwb3MgKz0gbGVuOworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyB2b2lkCit0cmFjZV9wcmludF9zZXEoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgdHJhY2Vfc2VxICpzKQoreworCWludCBsZW4gPSBzLT5sZW4gPj0gUEFHRV9TSVpFID8gUEFHRV9TSVpFIC0gMSA6IHMtPmxlbjsKKworCXMtPmJ1ZmZlcltsZW5dID0gMDsKKwlzZXFfcHV0cyhtLCBzLT5idWZmZXIpOworCisJdHJhY2Vfc2VxX3Jlc2V0KHMpOworfQorCisvKgorICogZmxpcCB0aGUgdHJhY2UgYnVmZmVycyBiZXR3ZWVuIHR3byB0cmFjZSBkZXNjcmlwdG9ycy4KKyAqIFRoaXMgdXN1YWxseSBpcyB0aGUgYnVmZmVycyBiZXR3ZWVuIHRoZSBnbG9iYWxfdHJhY2UgYW5kCisgKiB0aGUgbWF4X3RyIHRvIHJlY29yZCBhIHNuYXBzaG90IG9mIGEgY3VycmVudCB0cmFjZS4KKyAqCisgKiBUaGUgZnRyYWNlX21heF9sb2NrIG11c3QgYmUgaGVsZC4KKyAqLworc3RhdGljIHZvaWQKK2ZsaXBfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqdHIxLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICp0cjIpCit7CisJc3RydWN0IGxpc3RfaGVhZCBmbGlwX3BhZ2VzOworCisJSU5JVF9MSVNUX0hFQUQoJmZsaXBfcGFnZXMpOworCisJbWVtY3B5KCZ0cjEtPnRyYWNlX2hlYWRfaWR4LCAmdHIyLT50cmFjZV9oZWFkX2lkeCwKKwkJc2l6ZW9mKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUpIC0KKwkJb2Zmc2V0b2Yoc3RydWN0IHRyYWNlX2FycmF5X2NwdSwgdHJhY2VfaGVhZF9pZHgpKTsKKworCWNoZWNrX3BhZ2VzKHRyMSk7CisJY2hlY2tfcGFnZXModHIyKTsKKwlsaXN0X3NwbGljZV9pbml0KCZ0cjEtPnRyYWNlX3BhZ2VzLCAmZmxpcF9wYWdlcyk7CisJbGlzdF9zcGxpY2VfaW5pdCgmdHIyLT50cmFjZV9wYWdlcywgJnRyMS0+dHJhY2VfcGFnZXMpOworCWxpc3Rfc3BsaWNlX2luaXQoJmZsaXBfcGFnZXMsICZ0cjItPnRyYWNlX3BhZ2VzKTsKKwlCVUdfT04oIWxpc3RfZW1wdHkoJmZsaXBfcGFnZXMpKTsKKwljaGVja19wYWdlcyh0cjEpOworCWNoZWNrX3BhZ2VzKHRyMik7Cit9CisKKy8qKgorICogdXBkYXRlX21heF90ciAtIHNuYXBzaG90IGFsbCB0cmFjZSBidWZmZXJzIGZyb20gZ2xvYmFsX3RyYWNlIHRvIG1heF90cgorICogQHRyOiB0cmFjZXIKKyAqIEB0c2s6IHRoZSB0YXNrIHdpdGggdGhlIGxhdGVuY3kKKyAqIEBjcHU6IFRoZSBjcHUgdGhhdCBpbml0aWF0ZWQgdGhlIHRyYWNlLgorICoKKyAqIEZsaXAgdGhlIGJ1ZmZlcnMgYmV0d2VlbiB0aGUgQHRyIGFuZCB0aGUgbWF4X3RyIGFuZCByZWNvcmQgaW5mb3JtYXRpb24KKyAqIGFib3V0IHdoaWNoIHRhc2sgd2FzIHRoZSBjYXVzZSBvZiB0aGlzIGxhdGVuY3kuCisgKi8KK3ZvaWQKK3VwZGF0ZV9tYXhfdHIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRhc2tfc3RydWN0ICp0c2ssIGludCBjcHUpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlpbnQgaTsKKworCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJLyogY2xlYXIgb3V0IGFsbCB0aGUgcHJldmlvdXMgdHJhY2VzICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gdHItPmRhdGFbaV07CisJCWZsaXBfdHJhY2UobWF4X3RyLmRhdGFbaV0sIGRhdGEpOworCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCX0KKworCV9fdXBkYXRlX21heF90cih0ciwgdHNrLCBjcHUpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworfQorCisvKioKKyAqIHVwZGF0ZV9tYXhfdHJfc2luZ2xlIC0gb25seSBjb3B5IG9uZSB0cmFjZSBvdmVyLCBhbmQgcmVzZXQgdGhlIHJlc3QKKyAqIEB0ciAtIHRyYWNlcgorICogQHRzayAtIHRhc2sgd2l0aCB0aGUgbGF0ZW5jeQorICogQGNwdSAtIHRoZSBjcHUgb2YgdGhlIGJ1ZmZlciB0byBjb3B5LgorICoKKyAqIEZsaXAgdGhlIHRyYWNlIG9mIGEgc2luZ2xlIENQVSBidWZmZXIgYmV0d2VlbiB0aGUgQHRyIGFuZCB0aGUgbWF4X3RyLgorICovCit2b2lkCit1cGRhdGVfbWF4X3RyX3NpbmdsZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlpbnQgaTsKKworCVdBUk5fT05fT05DRSghaXJxc19kaXNhYmxlZCgpKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkKKwkJdHJhY2luZ19yZXNldChtYXhfdHIuZGF0YVtpXSk7CisKKwlmbGlwX3RyYWNlKG1heF90ci5kYXRhW2NwdV0sIGRhdGEpOworCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisKKwlfX3VwZGF0ZV9tYXhfdHIodHIsIHRzaywgY3B1KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZnRyYWNlX21heF9sb2NrKTsKK30KKworLyoqCisgKiByZWdpc3Rlcl90cmFjZXIgLSByZWdpc3RlciBhIHRyYWNlciB3aXRoIHRoZSBmdHJhY2Ugc3lzdGVtLgorICogQHR5cGUgLSB0aGUgcGx1Z2luIGZvciB0aGUgdHJhY2VyCisgKgorICogUmVnaXN0ZXIgYSBuZXcgcGx1Z2luIHRyYWNlci4KKyAqLworaW50IHJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKQoreworCXN0cnVjdCB0cmFjZXIgKnQ7CisJaW50IGxlbjsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghdHlwZS0+bmFtZSkgeworCQlwcl9pbmZvKCJUcmFjZXIgbXVzdCBoYXZlIGEgbmFtZVxuIik7CisJCXJldHVybiAtMTsKKwl9CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKHQgPSB0cmFjZV90eXBlczsgdDsgdCA9IHQtPm5leHQpIHsKKwkJaWYgKHN0cmNtcCh0eXBlLT5uYW1lLCB0LT5uYW1lKSA9PSAwKSB7CisJCQkvKiBhbHJlYWR5IGZvdW5kICovCisJCQlwcl9pbmZvKCJUcmFjZSAlcyBhbHJlYWR5IHJlZ2lzdGVyZWRcbiIsCisJCQkJdHlwZS0+bmFtZSk7CisJCQlyZXQgPSAtMTsKKwkJCWdvdG8gb3V0OworCQl9CisJfQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QKKwlpZiAodHlwZS0+c2VsZnRlc3QpIHsKKwkJc3RydWN0IHRyYWNlciAqc2F2ZWRfdHJhY2VyID0gY3VycmVudF90cmFjZTsKKwkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwkJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJCWludCBzYXZlZF9jdHJsID0gdHItPmN0cmw7CisJCWludCBpOworCQkvKgorCQkgKiBSdW4gYSBzZWxmdGVzdCBvbiB0aGlzIHRyYWNlci4KKwkJICogSGVyZSB3ZSByZXNldCB0aGUgdHJhY2UgYnVmZmVyLCBhbmQgc2V0IHRoZSBjdXJyZW50CisJCSAqIHRyYWNlciB0byBiZSB0aGlzIHRyYWNlci4gVGhlIHRyYWNlciBjYW4gdGhlbiBydW4gc29tZQorCQkgKiBpbnRlcm5hbCB0cmFjaW5nIHRvIHZlcmlmeSB0aGF0IGV2ZXJ5dGhpbmcgaXMgaW4gb3JkZXIuCisJCSAqIElmIHdlIGZhaWwsIHdlIGRvIG5vdCByZWdpc3RlciB0aGlzIHRyYWNlci4KKwkJICovCisJCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJCWRhdGEgPSB0ci0+ZGF0YVtpXTsKKwkJCWlmICghaGVhZF9wYWdlKGRhdGEpKQorCQkJCWNvbnRpbnVlOworCQkJdHJhY2luZ19yZXNldChkYXRhKTsKKwkJfQorCQljdXJyZW50X3RyYWNlID0gdHlwZTsKKwkJdHItPmN0cmwgPSAwOworCQkvKiB0aGUgdGVzdCBpcyByZXNwb25zaWJsZSBmb3IgaW5pdGlhbGl6aW5nIGFuZCBlbmFibGluZyAqLworCQlwcl9pbmZvKCJUZXN0aW5nIHRyYWNlciAlczogIiwgdHlwZS0+bmFtZSk7CisJCXJldCA9IHR5cGUtPnNlbGZ0ZXN0KHR5cGUsIHRyKTsKKwkJLyogdGhlIHRlc3QgaXMgcmVzcG9uc2libGUgZm9yIHJlc2V0dGluZyB0b28gKi8KKwkJY3VycmVudF90cmFjZSA9IHNhdmVkX3RyYWNlcjsKKwkJdHItPmN0cmwgPSBzYXZlZF9jdHJsOworCQlpZiAocmV0KSB7CisJCQlwcmludGsoS0VSTl9DT05UICJGQUlMRUQhXG4iKTsKKwkJCWdvdG8gb3V0OworCQl9CisJCS8qIE9ubHkgcmVzZXQgb24gcGFzc2luZywgdG8gYXZvaWQgdG91Y2hpbmcgY29ycnVwdGVkIGJ1ZmZlcnMgKi8KKwkJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQkJZGF0YSA9IHRyLT5kYXRhW2ldOworCQkJaWYgKCFoZWFkX3BhZ2UoZGF0YSkpCisJCQkJY29udGludWU7CisJCQl0cmFjaW5nX3Jlc2V0KGRhdGEpOworCQl9CisJCXByaW50ayhLRVJOX0NPTlQgIlBBU1NFRFxuIik7CisJfQorI2VuZGlmCisKKwl0eXBlLT5uZXh0ID0gdHJhY2VfdHlwZXM7CisJdHJhY2VfdHlwZXMgPSB0eXBlOworCWxlbiA9IHN0cmxlbih0eXBlLT5uYW1lKTsKKwlpZiAobGVuID4gbWF4X3RyYWNlcl90eXBlX2xlbikKKwkJbWF4X3RyYWNlcl90eXBlX2xlbiA9IGxlbjsKKworIG91dDoKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKwordm9pZCB1bnJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKQoreworCXN0cnVjdCB0cmFjZXIgKip0OworCWludCBsZW47CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlmb3IgKHQgPSAmdHJhY2VfdHlwZXM7ICp0OyB0ID0gJigqdCktPm5leHQpIHsKKwkJaWYgKCp0ID09IHR5cGUpCisJCQlnb3RvIGZvdW5kOworCX0KKwlwcl9pbmZvKCJUcmFjZSAlcyBub3QgcmVnaXN0ZXJlZFxuIiwgdHlwZS0+bmFtZSk7CisJZ290byBvdXQ7CisKKyBmb3VuZDoKKwkqdCA9ICgqdCktPm5leHQ7CisJaWYgKHN0cmxlbih0eXBlLT5uYW1lKSAhPSBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQlnb3RvIG91dDsKKworCW1heF90cmFjZXJfdHlwZV9sZW4gPSAwOworCWZvciAodCA9ICZ0cmFjZV90eXBlczsgKnQ7IHQgPSAmKCp0KS0+bmV4dCkgeworCQlsZW4gPSBzdHJsZW4oKCp0KS0+bmFtZSk7CisJCWlmIChsZW4gPiBtYXhfdHJhY2VyX3R5cGVfbGVuKQorCQkJbWF4X3RyYWNlcl90eXBlX2xlbiA9IGxlbjsKKwl9Cisgb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7Cit9CisKK3ZvaWQgdHJhY2luZ19yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCWRhdGEtPnRyYWNlX2lkeCA9IDA7CisJZGF0YS0+b3ZlcnJ1biA9IDA7CisJZGF0YS0+dHJhY2VfaGVhZCA9IGRhdGEtPnRyYWNlX3RhaWwgPSBoZWFkX3BhZ2UoZGF0YSk7CisJZGF0YS0+dHJhY2VfaGVhZF9pZHggPSAwOworCWRhdGEtPnRyYWNlX3RhaWxfaWR4ID0gMDsKK30KKworI2RlZmluZSBTQVZFRF9DTURMSU5FUyAxMjgKK3N0YXRpYyB1bnNpZ25lZCBtYXBfcGlkX3RvX2NtZGxpbmVbUElEX01BWF9ERUZBVUxUKzFdOworc3RhdGljIHVuc2lnbmVkIG1hcF9jbWRsaW5lX3RvX3BpZFtTQVZFRF9DTURMSU5FU107CitzdGF0aWMgY2hhciBzYXZlZF9jbWRsaW5lc1tTQVZFRF9DTURMSU5FU11bVEFTS19DT01NX0xFTl07CitzdGF0aWMgaW50IGNtZGxpbmVfaWR4Oworc3RhdGljIERFRklORV9TUElOTE9DSyh0cmFjZV9jbWRsaW5lX2xvY2spOworCisvKiB0ZW1wb3JhcnkgZGlzYWJsZSByZWNvcmRpbmcgKi8KK2F0b21pY190IHRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyB2b2lkIHRyYWNlX2luaXRfY21kbGluZXModm9pZCkKK3sKKwltZW1zZXQoJm1hcF9waWRfdG9fY21kbGluZSwgLTEsIHNpemVvZihtYXBfcGlkX3RvX2NtZGxpbmUpKTsKKwltZW1zZXQoJm1hcF9jbWRsaW5lX3RvX3BpZCwgLTEsIHNpemVvZihtYXBfY21kbGluZV90b19waWQpKTsKKwljbWRsaW5lX2lkeCA9IDA7Cit9CisKK3ZvaWQgdHJhY2Vfc3RvcF9jbWRsaW5lX3JlY29yZGluZyh2b2lkKTsKKworc3RhdGljIHZvaWQgdHJhY2Vfc2F2ZV9jbWRsaW5lKHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrKQoreworCXVuc2lnbmVkIG1hcDsKKwl1bnNpZ25lZCBpZHg7CisKKwlpZiAoIXRzay0+cGlkIHx8IHVubGlrZWx5KHRzay0+cGlkID4gUElEX01BWF9ERUZBVUxUKSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJdCdzIG5vdCB0aGUgZW5kIG9mIHRoZSB3b3JsZCBpZiB3ZSBkb24ndCBnZXQKKwkgKiB0aGUgbG9jaywgYnV0IHdlIGFsc28gZG9uJ3Qgd2FudCB0byBzcGluCisJICogbm9yIGRvIHdlIHdhbnQgdG8gZGlzYWJsZSBpbnRlcnJ1cHRzLAorCSAqIHNvIGlmIHdlIG1pc3MgaGVyZSwgdGhlbiBiZXR0ZXIgbHVjayBuZXh0IHRpbWUuCisJICovCisJaWYgKCFzcGluX3RyeWxvY2soJnRyYWNlX2NtZGxpbmVfbG9jaykpCisJCXJldHVybjsKKworCWlkeCA9IG1hcF9waWRfdG9fY21kbGluZVt0c2stPnBpZF07CisJaWYgKGlkeCA+PSBTQVZFRF9DTURMSU5FUykgeworCQlpZHggPSAoY21kbGluZV9pZHggKyAxKSAlIFNBVkVEX0NNRExJTkVTOworCisJCW1hcCA9IG1hcF9jbWRsaW5lX3RvX3BpZFtpZHhdOworCQlpZiAobWFwIDw9IFBJRF9NQVhfREVGQVVMVCkKKwkJCW1hcF9waWRfdG9fY21kbGluZVttYXBdID0gKHVuc2lnbmVkKS0xOworCisJCW1hcF9waWRfdG9fY21kbGluZVt0c2stPnBpZF0gPSBpZHg7CisKKwkJY21kbGluZV9pZHggPSBpZHg7CisJfQorCisJbWVtY3B5KCZzYXZlZF9jbWRsaW5lc1tpZHhdLCB0c2stPmNvbW0sIFRBU0tfQ09NTV9MRU4pOworCisJc3Bpbl91bmxvY2soJnRyYWNlX2NtZGxpbmVfbG9jayk7Cit9CisKK3N0YXRpYyBjaGFyICp0cmFjZV9maW5kX2NtZGxpbmUoaW50IHBpZCkKK3sKKwljaGFyICpjbWRsaW5lID0gIjwuLi4+IjsKKwl1bnNpZ25lZCBtYXA7CisKKwlpZiAoIXBpZCkKKwkJcmV0dXJuICI8aWRsZT4iOworCisJaWYgKHBpZCA+IFBJRF9NQVhfREVGQVVMVCkKKwkJZ290byBvdXQ7CisKKwltYXAgPSBtYXBfcGlkX3RvX2NtZGxpbmVbcGlkXTsKKwlpZiAobWFwID49IFNBVkVEX0NNRExJTkVTKQorCQlnb3RvIG91dDsKKworCWNtZGxpbmUgPSBzYXZlZF9jbWRsaW5lc1ttYXBdOworCisgb3V0OgorCXJldHVybiBjbWRsaW5lOworfQorCit2b2lkIHRyYWNpbmdfcmVjb3JkX2NtZGxpbmUoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCit7CisJaWYgKGF0b21pY19yZWFkKCZ0cmFjZV9yZWNvcmRfY21kbGluZV9kaXNhYmxlZCkpCisJCXJldHVybjsKKworCXRyYWNlX3NhdmVfY21kbGluZSh0c2spOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBsaXN0X2hlYWQgKgordHJhY2VfbmV4dF9saXN0KHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsIHN0cnVjdCBsaXN0X2hlYWQgKm5leHQpCit7CisJLyoKKwkgKiBSb3VuZHJvYmluIC0gYnV0IHNraXAgdGhlIGhlYWQgKHdoaWNoIGlzIG5vdCBhIHJlYWwgcGFnZSk6CisJICovCisJbmV4dCA9IG5leHQtPm5leHQ7CisJaWYgKHVubGlrZWx5KG5leHQgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKSkKKwkJbmV4dCA9IG5leHQtPm5leHQ7CisJQlVHX09OKG5leHQgPT0gJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKworCXJldHVybiBuZXh0OworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgKgordHJhY2VfbmV4dF9wYWdlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsIHZvaWQgKmFkZHIpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqbmV4dDsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKworCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYWRkcik7CisKKwluZXh0ID0gdHJhY2VfbmV4dF9saXN0KGRhdGEsICZwYWdlLT5scnUpOworCXBhZ2UgPSBsaXN0X2VudHJ5KG5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCisJcmV0dXJuIHBhZ2VfYWRkcmVzcyhwYWdlKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgdHJhY2VfZW50cnkgKgordHJhY2luZ19nZXRfdHJhY2VfZW50cnkoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIGlkeCwgaWR4X25leHQ7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKworCWRhdGEtPnRyYWNlX2lkeCsrOworCWlkeCA9IGRhdGEtPnRyYWNlX2hlYWRfaWR4OworCWlkeF9uZXh0ID0gaWR4ICsgMTsKKworCUJVR19PTihpZHggKiBUUkFDRV9FTlRSWV9TSVpFID49IFBBR0VfU0laRSk7CisKKwllbnRyeSA9IGRhdGEtPnRyYWNlX2hlYWQgKyBpZHggKiBUUkFDRV9FTlRSWV9TSVpFOworCisJaWYgKHVubGlrZWx5KGlkeF9uZXh0ID49IEVOVFJJRVNfUEVSX1BBR0UpKSB7CisJCWRhdGEtPnRyYWNlX2hlYWQgPSB0cmFjZV9uZXh0X3BhZ2UoZGF0YSwgZGF0YS0+dHJhY2VfaGVhZCk7CisJCWlkeF9uZXh0ID0gMDsKKwl9CisKKwlpZiAoZGF0YS0+dHJhY2VfaGVhZCA9PSBkYXRhLT50cmFjZV90YWlsICYmCisJICAgIGlkeF9uZXh0ID09IGRhdGEtPnRyYWNlX3RhaWxfaWR4KSB7CisJCS8qIG92ZXJydW4gKi8KKwkJZGF0YS0+b3ZlcnJ1bisrOworCQlkYXRhLT50cmFjZV90YWlsX2lkeCsrOworCQlpZiAoZGF0YS0+dHJhY2VfdGFpbF9pZHggPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQkJZGF0YS0+dHJhY2VfdGFpbCA9CisJCQkJdHJhY2VfbmV4dF9wYWdlKGRhdGEsIGRhdGEtPnRyYWNlX3RhaWwpOworCQkJZGF0YS0+dHJhY2VfdGFpbF9pZHggPSAwOworCQl9CisJfQorCisJZGF0YS0+dHJhY2VfaGVhZF9pZHggPSBpZHhfbmV4dDsKKworCXJldHVybiBlbnRyeTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCit0cmFjaW5nX2dlbmVyaWNfZW50cnlfdXBkYXRlKHN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnksIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBjdXJyZW50OworCXVuc2lnbmVkIGxvbmcgcGM7CisKKwlwYyA9IHByZWVtcHRfY291bnQoKTsKKworCWVudHJ5LT5wcmVlbXB0X2NvdW50CT0gcGMgJiAweGZmOworCWVudHJ5LT5waWQJCT0gKHRzaykgPyB0c2stPnBpZCA6IDA7CisJZW50cnktPnQJCT0gZnRyYWNlX25vdyhyYXdfc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwllbnRyeS0+ZmxhZ3MgPSAoaXJxc19kaXNhYmxlZF9mbGFncyhmbGFncykgPyBUUkFDRV9GTEFHX0lSUVNfT0ZGIDogMCkgfAorCQkoKHBjICYgSEFSRElSUV9NQVNLKSA/IFRSQUNFX0ZMQUdfSEFSRElSUSA6IDApIHwKKwkJKChwYyAmIFNPRlRJUlFfTUFTSykgPyBUUkFDRV9GTEFHX1NPRlRJUlEgOiAwKSB8CisJCShuZWVkX3Jlc2NoZWQoKSA/IFRSQUNFX0ZMQUdfTkVFRF9SRVNDSEVEIDogMCk7Cit9CisKK3ZvaWQKK3RyYWNlX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJICAgICAgIHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLCB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoaXJxX2ZsYWdzKTsKKwlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgZmxhZ3MpOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX0ZOOworCWVudHJ5LT5mbi5pcAkJPSBpcDsKKwllbnRyeS0+Zm4ucGFyZW50X2lwCT0gcGFyZW50X2lwOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKK30KKwordm9pZAorZnRyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisgICAgICAgdW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJaWYgKGxpa2VseSghYXRvbWljX3JlYWQoJmRhdGEtPmRpc2FibGVkKSkpCisJCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7Cit9CisKKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFCit2b2lkIF9fdHJhY2VfbW1pb3RyYWNlX3J3KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJCQlzdHJ1Y3QgbW1pb3RyYWNlX3J3ICpydykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKworCWVudHJ5CQkJPSB0cmFjaW5nX2dldF90cmFjZV9lbnRyeSh0ciwgZGF0YSk7CisJdHJhY2luZ19nZW5lcmljX2VudHJ5X3VwZGF0ZShlbnRyeSwgMCk7CisJZW50cnktPnR5cGUJCT0gVFJBQ0VfTU1JT19SVzsKKwllbnRyeS0+bW1pb3J3CQk9ICpydzsKKworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKKworCXRyYWNlX3dha2VfdXAoKTsKK30KKwordm9pZCBfX3RyYWNlX21taW90cmFjZV9tYXAoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQkJCXN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKKworCXJhd19sb2NhbF9pcnFfc2F2ZShpcnFfZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZGF0YS0+bG9jayk7CisKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIDApOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX01NSU9fTUFQOworCWVudHJ5LT5tbWlvbWFwCQk9ICptYXA7CisKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisjZW5kaWYKKwordm9pZCBfX3RyYWNlX3N0YWNrKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCSAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCSAgIGludCBza2lwKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJc3RydWN0IHN0YWNrX3RyYWNlIHRyYWNlOworCisJaWYgKCEodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1NUQUNLVFJBQ0UpKQorCQlyZXR1cm47CisKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9TVEFDSzsKKworCW1lbXNldCgmZW50cnktPnN0YWNrLCAwLCBzaXplb2YoZW50cnktPnN0YWNrKSk7CisKKwl0cmFjZS5ucl9lbnRyaWVzCT0gMDsKKwl0cmFjZS5tYXhfZW50cmllcwk9IEZUUkFDRV9TVEFDS19FTlRSSUVTOworCXRyYWNlLnNraXAJCT0gc2tpcDsKKwl0cmFjZS5lbnRyaWVzCQk9IGVudHJ5LT5zdGFjay5jYWxsZXI7CisKKwlzYXZlX3N0YWNrX3RyYWNlKCZ0cmFjZSk7Cit9CisKK3ZvaWQKK19fdHJhY2Vfc3BlY2lhbCh2b2lkICpfX3RyLCB2b2lkICpfX2RhdGEsCisJCXVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IF9fZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gX190cjsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIDApOworCWVudHJ5LT50eXBlCQk9IFRSQUNFX1NQRUNJQUw7CisJZW50cnktPnNwZWNpYWwuYXJnMQk9IGFyZzE7CisJZW50cnktPnNwZWNpYWwuYXJnMgk9IGFyZzI7CisJZW50cnktPnNwZWNpYWwuYXJnMwk9IGFyZzM7CisJX190cmFjZV9zdGFjayh0ciwgZGF0YSwgaXJxX2ZsYWdzLCA0KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisKK3ZvaWQKK3RyYWNpbmdfc2NoZWRfc3dpdGNoX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpuZXh0LAorCQkJICAgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9DVFg7CisJZW50cnktPmN0eC5wcmV2X3BpZAk9IHByZXYtPnBpZDsKKwllbnRyeS0+Y3R4LnByZXZfcHJpbwk9IHByZXYtPnByaW87CisJZW50cnktPmN0eC5wcmV2X3N0YXRlCT0gcHJldi0+c3RhdGU7CisJZW50cnktPmN0eC5uZXh0X3BpZAk9IG5leHQtPnBpZDsKKwllbnRyeS0+Y3R4Lm5leHRfcHJpbwk9IG5leHQtPnByaW87CisJZW50cnktPmN0eC5uZXh0X3N0YXRlCT0gbmV4dC0+c3RhdGU7CisJX190cmFjZV9zdGFjayh0ciwgZGF0YSwgZmxhZ3MsIDUpOworCV9fcmF3X3NwaW5fdW5sb2NrKCZkYXRhLT5sb2NrKTsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoaXJxX2ZsYWdzKTsKK30KKwordm9pZAordHJhY2luZ19zY2hlZF93YWtldXBfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKndha2VlLAorCQkJICAgc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyLAorCQkJICAgdW5zaWduZWQgbG9uZyBmbGFncykKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5OworCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOworCisJcmF3X2xvY2FsX2lycV9zYXZlKGlycV9mbGFncyk7CisJX19yYXdfc3Bpbl9sb2NrKCZkYXRhLT5sb2NrKTsKKwllbnRyeQkJCT0gdHJhY2luZ19nZXRfdHJhY2VfZW50cnkodHIsIGRhdGEpOworCXRyYWNpbmdfZ2VuZXJpY19lbnRyeV91cGRhdGUoZW50cnksIGZsYWdzKTsKKwllbnRyeS0+dHlwZQkJPSBUUkFDRV9XQUtFOworCWVudHJ5LT5jdHgucHJldl9waWQJPSBjdXJyLT5waWQ7CisJZW50cnktPmN0eC5wcmV2X3ByaW8JPSBjdXJyLT5wcmlvOworCWVudHJ5LT5jdHgucHJldl9zdGF0ZQk9IGN1cnItPnN0YXRlOworCWVudHJ5LT5jdHgubmV4dF9waWQJPSB3YWtlZS0+cGlkOworCWVudHJ5LT5jdHgubmV4dF9wcmlvCT0gd2FrZWUtPnByaW87CisJZW50cnktPmN0eC5uZXh0X3N0YXRlCT0gd2FrZWUtPnN0YXRlOworCV9fdHJhY2Vfc3RhY2sodHIsIGRhdGEsIGZsYWdzLCA2KTsKKwlfX3Jhd19zcGluX3VubG9jaygmZGF0YS0+bG9jayk7CisJcmF3X2xvY2FsX2lycV9yZXN0b3JlKGlycV9mbGFncyk7CisKKwl0cmFjZV93YWtlX3VwKCk7Cit9CisKK3ZvaWQKK2Z0cmFjZV9zcGVjaWFsKHVuc2lnbmVkIGxvbmcgYXJnMSwgdW5zaWduZWQgbG9uZyBhcmcyLCB1bnNpZ25lZCBsb25nIGFyZzMpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkIHx8IGN1cnJlbnRfdHJhY2UgPT0gJm5vX3RyYWNlciB8fCAhdHItPmN0cmwpCisJCXJldHVybjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgYXJnMSwgYXJnMiwgYXJnMyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorc3RhdGljIHZvaWQKK2Z1bmN0aW9uX3RyYWNlX2NhbGwodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCWlmICh1bmxpa2VseSghZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwlpZiAoc2tpcF90cmFjZShpcCkpCisJCXJldHVybjsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisJbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOworfQorCitzdGF0aWMgc3RydWN0IGZ0cmFjZV9vcHMgdHJhY2Vfb3BzIF9fcmVhZF9tb3N0bHkgPQoreworCS5mdW5jID0gZnVuY3Rpb25fdHJhY2VfY2FsbCwKK307CisKK3ZvaWQgdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSh2b2lkKQoreworCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwlyZWdpc3Rlcl9mdHJhY2VfZnVuY3Rpb24oJnRyYWNlX29wcyk7CisJaWYgKHRyYWNlcl9lbmFibGVkKQorCQlmdHJhY2VfZnVuY3Rpb25fZW5hYmxlZCA9IDE7Cit9CisKK3ZvaWQgdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKHZvaWQpCit7CisJZnRyYWNlX2Z1bmN0aW9uX2VuYWJsZWQgPSAwOworCXVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworfQorI2VuZGlmCisKK2VudW0gdHJhY2VfZmlsZV90eXBlIHsKKwlUUkFDRV9GSUxFX0xBVF9GTVQJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCB0cmFjZV9lbnRyeSAqCit0cmFjZV9lbnRyeV9pZHgoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCBpbnQgY3B1KQoreworCXN0cnVjdCBwYWdlICpwYWdlOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqYXJyYXk7CisKKwlpZiAoaXRlci0+bmV4dF9pZHhbY3B1XSA+PSB0ci0+ZW50cmllcyB8fAorCSAgICBpdGVyLT5uZXh0X2lkeFtjcHVdID49IGRhdGEtPnRyYWNlX2lkeCB8fAorCSAgICAoZGF0YS0+dHJhY2VfaGVhZCA9PSBkYXRhLT50cmFjZV90YWlsICYmCisJICAgICBkYXRhLT50cmFjZV9oZWFkX2lkeCA9PSBkYXRhLT50cmFjZV90YWlsX2lkeCkpCisJCXJldHVybiBOVUxMOworCisJaWYgKCFpdGVyLT5uZXh0X3BhZ2VbY3B1XSkgeworCQkvKiBJbml0aWFsaXplIHRoZSBpdGVyYXRvciBmb3IgdGhpcyBjcHUgdHJhY2UgYnVmZmVyICovCisJCVdBUk5fT04oIWRhdGEtPnRyYWNlX3RhaWwpOworCQlwYWdlID0gdmlydF90b19wYWdlKGRhdGEtPnRyYWNlX3RhaWwpOworCQlpdGVyLT5uZXh0X3BhZ2VbY3B1XSA9ICZwYWdlLT5scnU7CisJCWl0ZXItPm5leHRfcGFnZV9pZHhbY3B1XSA9IGRhdGEtPnRyYWNlX3RhaWxfaWR4OworCX0KKworCXBhZ2UgPSBsaXN0X2VudHJ5KGl0ZXItPm5leHRfcGFnZVtjcHVdLCBzdHJ1Y3QgcGFnZSwgbHJ1KTsKKwlCVUdfT04oJmRhdGEtPnRyYWNlX3BhZ2VzID09ICZwYWdlLT5scnUpOworCisJYXJyYXkgPSBwYWdlX2FkZHJlc3MocGFnZSk7CisKKwlXQVJOX09OKGl0ZXItPm5leHRfcGFnZV9pZHhbY3B1XSA+PSBFTlRSSUVTX1BFUl9QQUdFKTsKKwlyZXR1cm4gJmFycmF5W2l0ZXItPm5leHRfcGFnZV9pZHhbY3B1XV07Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfZW50cnkgKgorZmluZF9uZXh0X2VudHJ5KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwgaW50ICplbnRfY3B1KQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBpdGVyLT50cjsKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudCwgKm5leHQgPSBOVUxMOworCWludCBuZXh0X2NwdSA9IC0xOworCWludCBjcHU7CisKKwlmb3JfZWFjaF90cmFjaW5nX2NwdShjcHUpIHsKKwkJaWYgKCFoZWFkX3BhZ2UodHItPmRhdGFbY3B1XSkpCisJCQljb250aW51ZTsKKwkJZW50ID0gdHJhY2VfZW50cnlfaWR4KHRyLCB0ci0+ZGF0YVtjcHVdLCBpdGVyLCBjcHUpOworCQkvKgorCQkgKiBQaWNrIHRoZSBlbnRyeSB3aXRoIHRoZSBzbWFsbGVzdCB0aW1lc3RhbXA6CisJCSAqLworCQlpZiAoZW50ICYmICghbmV4dCB8fCBlbnQtPnQgPCBuZXh0LT50KSkgeworCQkJbmV4dCA9IGVudDsKKwkJCW5leHRfY3B1ID0gY3B1OworCQl9CisJfQorCisJaWYgKGVudF9jcHUpCisJCSplbnRfY3B1ID0gbmV4dF9jcHU7CisKKwlyZXR1cm4gbmV4dDsKK30KKworc3RhdGljIHZvaWQgdHJhY2VfaXRlcmF0b3JfaW5jcmVtZW50KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpdGVyLT5pZHgrKzsKKwlpdGVyLT5uZXh0X2lkeFtpdGVyLT5jcHVdKys7CisJaXRlci0+bmV4dF9wYWdlX2lkeFtpdGVyLT5jcHVdKys7CisKKwlpZiAoaXRlci0+bmV4dF9wYWdlX2lkeFtpdGVyLT5jcHVdID49IEVOVFJJRVNfUEVSX1BBR0UpIHsKKwkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IGl0ZXItPnRyLT5kYXRhW2l0ZXItPmNwdV07CisKKwkJaXRlci0+bmV4dF9wYWdlX2lkeFtpdGVyLT5jcHVdID0gMDsKKwkJaXRlci0+bmV4dF9wYWdlW2l0ZXItPmNwdV0gPQorCQkJdHJhY2VfbmV4dF9saXN0KGRhdGEsIGl0ZXItPm5leHRfcGFnZVtpdGVyLT5jcHVdKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNlX2NvbnN1bWUoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSBpdGVyLT50ci0+ZGF0YVtpdGVyLT5jcHVdOworCisJZGF0YS0+dHJhY2VfdGFpbF9pZHgrKzsKKwlpZiAoZGF0YS0+dHJhY2VfdGFpbF9pZHggPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQlkYXRhLT50cmFjZV90YWlsID0gdHJhY2VfbmV4dF9wYWdlKGRhdGEsIGRhdGEtPnRyYWNlX3RhaWwpOworCQlkYXRhLT50cmFjZV90YWlsX2lkeCA9IDA7CisJfQorCisJLyogQ2hlY2sgaWYgd2UgZW1wdHkgaXQsIHRoZW4gcmVzZXQgdGhlIGluZGV4ICovCisJaWYgKGRhdGEtPnRyYWNlX2hlYWQgPT0gZGF0YS0+dHJhY2VfdGFpbCAmJgorCSAgICBkYXRhLT50cmFjZV9oZWFkX2lkeCA9PSBkYXRhLT50cmFjZV90YWlsX2lkeCkKKwkJZGF0YS0+dHJhY2VfaWR4ID0gMDsKK30KKworc3RhdGljIHZvaWQgKmZpbmRfbmV4dF9lbnRyeV9pbmMoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqbmV4dDsKKwlpbnQgbmV4dF9jcHUgPSAtMTsKKworCW5leHQgPSBmaW5kX25leHRfZW50cnkoaXRlciwgJm5leHRfY3B1KTsKKworCWl0ZXItPnByZXZfZW50ID0gaXRlci0+ZW50OworCWl0ZXItPnByZXZfY3B1ID0gaXRlci0+Y3B1OworCisJaXRlci0+ZW50ID0gbmV4dDsKKwlpdGVyLT5jcHUgPSBuZXh0X2NwdTsKKworCWlmIChuZXh0KQorCQl0cmFjZV9pdGVyYXRvcl9pbmNyZW1lbnQoaXRlcik7CisKKwlyZXR1cm4gbmV4dCA/IGl0ZXIgOiBOVUxMOworfQorCitzdGF0aWMgdm9pZCAqc19uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKwl2b2lkICpsYXN0X2VudCA9IGl0ZXItPmVudDsKKwlpbnQgaSA9IChpbnQpKnBvczsKKwl2b2lkICplbnQ7CisKKwkoKnBvcykrKzsKKworCS8qIGNhbid0IGdvIGJhY2t3YXJkcyAqLworCWlmIChpdGVyLT5pZHggPiBpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChpdGVyLT5pZHggPCAwKQorCQllbnQgPSBmaW5kX25leHRfZW50cnlfaW5jKGl0ZXIpOworCWVsc2UKKwkJZW50ID0gaXRlcjsKKworCXdoaWxlIChlbnQgJiYgaXRlci0+aWR4IDwgaSkKKwkJZW50ID0gZmluZF9uZXh0X2VudHJ5X2luYyhpdGVyKTsKKworCWl0ZXItPnBvcyA9ICpwb3M7CisKKwlpZiAobGFzdF9lbnQgJiYgIWVudCkKKwkJc2VxX3B1dHMobSwgIlxuXG52aW06ZnQ9aGVscFxuIik7CisKKwlyZXR1cm4gZW50OworfQorCitzdGF0aWMgdm9pZCAqc19zdGFydChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIGxvZmZfdCAqcG9zKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IG0tPnByaXZhdGU7CisJdm9pZCAqcCA9IE5VTEw7CisJbG9mZl90IGwgPSAwOworCWludCBpOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlpZiAoIWN1cnJlbnRfdHJhY2UgfHwgY3VycmVudF90cmFjZSAhPSBpdGVyLT50cmFjZSkgeworCQltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlhdG9taWNfaW5jKCZ0cmFjZV9yZWNvcmRfY21kbGluZV9kaXNhYmxlZCk7CisKKwkvKiBsZXQgdGhlIHRyYWNlciBncmFiIGxvY2tzIGhlcmUgaWYgbmVlZGVkICovCisJaWYgKGN1cnJlbnRfdHJhY2UtPnN0YXJ0KQorCQljdXJyZW50X3RyYWNlLT5zdGFydChpdGVyKTsKKworCWlmICgqcG9zICE9IGl0ZXItPnBvcykgeworCQlpdGVyLT5lbnQgPSBOVUxMOworCQlpdGVyLT5jcHUgPSAwOworCQlpdGVyLT5pZHggPSAtMTsKKwkJaXRlci0+cHJldl9lbnQgPSBOVUxMOworCQlpdGVyLT5wcmV2X2NwdSA9IC0xOworCisJCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpIHsKKwkJCWl0ZXItPm5leHRfaWR4W2ldID0gMDsKKwkJCWl0ZXItPm5leHRfcGFnZVtpXSA9IE5VTEw7CisJCX0KKworCQlmb3IgKHAgPSBpdGVyOyBwICYmIGwgPCAqcG9zOyBwID0gc19uZXh0KG0sIHAsICZsKSkKKwkJCTsKKworCX0gZWxzZSB7CisJCWwgPSAqcG9zIC0gMTsKKwkJcCA9IHNfbmV4dChtLCBwLCAmbCk7CisJfQorCisJcmV0dXJuIHA7Cit9CisKK3N0YXRpYyB2b2lkIHNfc3RvcChzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnApCit7CisJc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyID0gbS0+cHJpdmF0ZTsKKworCWF0b21pY19kZWMoJnRyYWNlX3JlY29yZF9jbWRsaW5lX2Rpc2FibGVkKTsKKworCS8qIGxldCB0aGUgdHJhY2VyIHJlbGVhc2UgbG9ja3MgaGVyZSBpZiBuZWVkZWQgKi8KKwlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlID09IGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5zdG9wKQorCQlpdGVyLT50cmFjZS0+c3RvcChpdGVyKTsKKworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7Cit9CisKKyNkZWZpbmUgS1JFVFBST0JFX01TRyAiW3Vua25vd24va3JldHByb2JlJ2RdIgorCisjaWZkZWYgQ09ORklHX0tSRVRQUk9CRVMKK3N0YXRpYyBpbmxpbmUgaW50IGtyZXRwcm9iZWQodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiBhZGRyID09ICh1bnNpZ25lZCBsb25nKWtyZXRwcm9iZV90cmFtcG9saW5lOworfQorI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGtyZXRwcm9iZWQodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXJldHVybiAwOworfQorI2VuZGlmIC8qIENPTkZJR19LUkVUUFJPQkVTICovCisKK3N0YXRpYyBpbnQKK3NlcV9wcmludF9zeW1fc2hvcnQoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3QgY2hhciAqZm10LCB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisjaWZkZWYgQ09ORklHX0tBTExTWU1TCisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKworCWthbGxzeW1zX2xvb2t1cChhZGRyZXNzLCBOVUxMLCBOVUxMLCBOVUxMLCBzdHIpOworCisJcmV0dXJuIHRyYWNlX3NlcV9wcmludGYocywgZm10LCBzdHIpOworI2VuZGlmCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQKK3NlcV9wcmludF9zeW1fb2Zmc2V0KHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwKKwkJICAgICB1bnNpZ25lZCBsb25nIGFkZHJlc3MpCit7CisjaWZkZWYgQ09ORklHX0tBTExTWU1TCisJY2hhciBzdHJbS1NZTV9TWU1CT0xfTEVOXTsKKworCXNwcmludF9zeW1ib2woc3RyLCBhZGRyZXNzKTsKKwlyZXR1cm4gdHJhY2Vfc2VxX3ByaW50ZihzLCBmbXQsIHN0cik7CisjZW5kaWYKKwlyZXR1cm4gMTsKK30KKworI2lmbmRlZiBDT05GSUdfNjRCSVQKKyMgZGVmaW5lIElQX0ZNVCAiJTA4bHgiCisjZWxzZQorIyBkZWZpbmUgSVBfRk1UICIlMDE2bHgiCisjZW5kaWYKKworc3RhdGljIGludAorc2VxX3ByaW50X2lwX3N5bShzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25nIHN5bV9mbGFncykKK3sKKwlpbnQgcmV0OworCisJaWYgKCFpcCkKKwkJcmV0dXJuIHRyYWNlX3NlcV9wcmludGYocywgIjAiKTsKKworCWlmIChzeW1fZmxhZ3MgJiBUUkFDRV9JVEVSX1NZTV9PRkZTRVQpCisJCXJldCA9IHNlcV9wcmludF9zeW1fb2Zmc2V0KHMsICIlcyIsIGlwKTsKKwllbHNlCisJCXJldCA9IHNlcV9wcmludF9zeW1fc2hvcnQocywgIiVzIiwgaXApOworCisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCisJaWYgKHN5bV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX0FERFIpCisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiA8IiBJUF9GTVQgIj4iLCBpcCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfbGF0X2hlbHBfaGVhZGVyKHN0cnVjdCBzZXFfZmlsZSAqbSkKK3sKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgICBfLS0tLS0tPT4gQ1BVIyAgICAgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgICAvIF8tLS0tLT0+IGlycXMtb2ZmICAgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8IC8gXy0tLS09PiBuZWVkLXJlc2NoZWQgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHwgLyBfLS0tPT4gaGFyZGlycS9zb2Z0aXJxIFxuIik7CisJc2VxX3B1dHMobSwgIiMgICAgICAgICAgICAgIHx8fCAvIF8tLT0+IHByZWVtcHQtZGVwdGggICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8fHx8IC8gICAgICAgICAgICAgICAgICAgICAgXG4iKTsKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgICAgfHx8fHwgICAgIGRlbGF5ICAgICAgICAgICAgIFxuIik7CisJc2VxX3B1dHMobSwgIiMgIGNtZCAgICAgcGlkIHx8fHx8IHRpbWUgIHwgICBjYWxsZXIgICAgICBcbiIpOworCXNlcV9wdXRzKG0sICIjICAgICBcXCAgIC8gICAgfHx8fHwgICBcXCAgIHwgICAvICAgICAgICAgICBcbiIpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9mdW5jX2hlbHBfaGVhZGVyKHN0cnVjdCBzZXFfZmlsZSAqbSkKK3sKKwlzZXFfcHV0cyhtLCAiIyAgICAgICAgICAgVEFTSy1QSUQgICBDUFUjICAgIFRJTUVTVEFNUCAgRlVOQ1RJT05cbiIpOworCXNlcV9wdXRzKG0sICIjICAgICAgICAgICAgICB8IHwgICAgICB8ICAgICAgICAgIHwgICAgICAgICB8XG4iKTsKK30KKworCitzdGF0aWMgdm9pZAorcHJpbnRfdHJhY2VfaGVhZGVyKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXVuc2lnbmVkIGxvbmcgc3ltX2ZsYWdzID0gKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9TWU1fTUFTSyk7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGl0ZXItPnRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVt0ci0+Y3B1XTsKKwlzdHJ1Y3QgdHJhY2VyICp0eXBlID0gY3VycmVudF90cmFjZTsKKwl1bnNpZ25lZCBsb25nIHRvdGFsICAgPSAwOworCXVuc2lnbmVkIGxvbmcgZW50cmllcyA9IDA7CisJaW50IGNwdTsKKwljb25zdCBjaGFyICpuYW1lID0gInByZWVtcHRpb24iOworCisJaWYgKHR5cGUpCisJCW5hbWUgPSB0eXBlLT5uYW1lOworCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWlmIChoZWFkX3BhZ2UodHItPmRhdGFbY3B1XSkpIHsKKwkJCXRvdGFsICs9IHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeDsKKwkJCWlmICh0ci0+ZGF0YVtjcHVdLT50cmFjZV9pZHggPiB0ci0+ZW50cmllcykKKwkJCQllbnRyaWVzICs9IHRyLT5lbnRyaWVzOworCQkJZWxzZQorCQkJCWVudHJpZXMgKz0gdHItPmRhdGFbY3B1XS0+dHJhY2VfaWR4OworCQl9CisJfQorCisJc2VxX3ByaW50ZihtLCAiJXMgbGF0ZW5jeSB0cmFjZSB2MS4xLjUgb24gJXNcbiIsCisJCSAgIG5hbWUsIFVUU19SRUxFQVNFKTsKKwlzZXFfcHV0cyhtLCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisJCSAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKwlzZXFfcHJpbnRmKG0sICIgbGF0ZW5jeTogJWx1IHVzLCAjJWx1LyVsdSwgQ1BVIyVkIHwiCisJCSAgICIgKE06JXMgVlA6JWQsIEtQOiVkLCBTUDolZCBIUDolZCIsCisJCSAgIG5zZWNzX3RvX3VzZWNzKGRhdGEtPnNhdmVkX2xhdGVuY3kpLAorCQkgICBlbnRyaWVzLAorCQkgICB0b3RhbCwKKwkJICAgdHItPmNwdSwKKyNpZiBkZWZpbmVkKENPTkZJR19QUkVFTVBUX05PTkUpCisJCSAgICJzZXJ2ZXIiLAorI2VsaWYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9WT0xVTlRBUlkpCisJCSAgICJkZXNrdG9wIiwKKyNlbGlmIGRlZmluZWQoQ09ORklHX1BSRUVNUFQpCisJCSAgICJwcmVlbXB0IiwKKyNlbHNlCisJCSAgICJ1bmtub3duIiwKKyNlbmRpZgorCQkgICAvKiBUaGVzZSBhcmUgcmVzZXJ2ZWQgZm9yIGxhdGVyIHVzZSAqLworCQkgICAwLCAwLCAwLCAwKTsKKyNpZmRlZiBDT05GSUdfU01QCisJc2VxX3ByaW50ZihtLCAiICNQOiVkKVxuIiwgbnVtX29ubGluZV9jcHVzKCkpOworI2Vsc2UKKwlzZXFfcHV0cyhtLCAiKVxuIik7CisjZW5kaWYKKwlzZXFfcHV0cyhtLCAiICAgIC0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKKwlzZXFfcHJpbnRmKG0sICIgICAgfCB0YXNrOiAlLjE2cy0lZCAiCisJCSAgICIodWlkOiVkIG5pY2U6JWxkIHBvbGljeTolbGQgcnRfcHJpbzolbGQpXG4iLAorCQkgICBkYXRhLT5jb21tLCBkYXRhLT5waWQsIGRhdGEtPnVpZCwgZGF0YS0+bmljZSwKKwkJICAgZGF0YS0+cG9saWN5LCBkYXRhLT5ydF9wcmlvcml0eSk7CisJc2VxX3B1dHMobSwgIiAgICAtLS0tLS0tLS0tLS0tLS0tLVxuIik7CisKKwlpZiAoZGF0YS0+Y3JpdGljYWxfc3RhcnQpIHsKKwkJc2VxX3B1dHMobSwgIiA9PiBzdGFydGVkIGF0OiAiKTsKKwkJc2VxX3ByaW50X2lwX3N5bSgmaXRlci0+c2VxLCBkYXRhLT5jcml0aWNhbF9zdGFydCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2VfcHJpbnRfc2VxKG0sICZpdGVyLT5zZXEpOworCQlzZXFfcHV0cyhtLCAiXG4gPT4gZW5kZWQgYXQ6ICAgIik7CisJCXNlcV9wcmludF9pcF9zeW0oJml0ZXItPnNlcSwgZGF0YS0+Y3JpdGljYWxfZW5kLCBzeW1fZmxhZ3MpOworCQl0cmFjZV9wcmludF9zZXEobSwgJml0ZXItPnNlcSk7CisJCXNlcV9wdXRzKG0sICJcbiIpOworCX0KKworCXNlcV9wdXRzKG0sICJcbiIpOworfQorCitzdGF0aWMgdm9pZAorbGF0X3ByaW50X2dlbmVyaWMoc3RydWN0IHRyYWNlX3NlcSAqcywgc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSwgaW50IGNwdSkKK3sKKwlpbnQgaGFyZGlycSwgc29mdGlycTsKKwljaGFyICpjb21tOworCisJY29tbSA9IHRyYWNlX2ZpbmRfY21kbGluZShlbnRyeS0+cGlkKTsKKworCXRyYWNlX3NlcV9wcmludGYocywgIiU4LjhzLSUtNWQgIiwgY29tbSwgZW50cnktPnBpZCk7CisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWQiLCBjcHUpOworCXRyYWNlX3NlcV9wcmludGYocywgIiVjJWMiLAorCQkJKGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfSVJRU19PRkYpID8gJ2QnIDogJy4nLAorCQkJKChlbnRyeS0+ZmxhZ3MgJiBUUkFDRV9GTEFHX05FRURfUkVTQ0hFRCkgPyAnTicgOiAnLicpKTsKKworCWhhcmRpcnEgPSBlbnRyeS0+ZmxhZ3MgJiBUUkFDRV9GTEFHX0hBUkRJUlE7CisJc29mdGlycSA9IGVudHJ5LT5mbGFncyAmIFRSQUNFX0ZMQUdfU09GVElSUTsKKwlpZiAoaGFyZGlycSAmJiBzb2Z0aXJxKSB7CisJCXRyYWNlX3NlcV9wdXRjKHMsICdIJyk7CisJfSBlbHNlIHsKKwkJaWYgKGhhcmRpcnEpIHsKKwkJCXRyYWNlX3NlcV9wdXRjKHMsICdoJyk7CisJCX0gZWxzZSB7CisJCQlpZiAoc29mdGlycSkKKwkJCQl0cmFjZV9zZXFfcHV0YyhzLCAncycpOworCQkJZWxzZQorCQkJCXRyYWNlX3NlcV9wdXRjKHMsICcuJyk7CisJCX0KKwl9CisKKwlpZiAoZW50cnktPnByZWVtcHRfY291bnQpCisJCXRyYWNlX3NlcV9wcmludGYocywgIiV4IiwgZW50cnktPnByZWVtcHRfY291bnQpOworCWVsc2UKKwkJdHJhY2Vfc2VxX3B1dHMocywgIi4iKTsKK30KKwordW5zaWduZWQgbG9uZyBwcmVlbXB0X21hcmtfdGhyZXNoID0gMTAwOworCitzdGF0aWMgdm9pZAorbGF0X3ByaW50X3RpbWVzdGFtcChzdHJ1Y3QgdHJhY2Vfc2VxICpzLCB1bnNpZ25lZCBsb25nIGxvbmcgYWJzX3VzZWNzLAorCQkgICAgdW5zaWduZWQgbG9uZyByZWxfdXNlY3MpCit7CisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiICU0bGxkdXMiLCBhYnNfdXNlY3MpOworCWlmIChyZWxfdXNlY3MgPiBwcmVlbXB0X21hcmtfdGhyZXNoKQorCQl0cmFjZV9zZXFfcHV0cyhzLCAiITogIik7CisJZWxzZSBpZiAocmVsX3VzZWNzID4gMSkKKwkJdHJhY2Vfc2VxX3B1dHMocywgIis6ICIpOworCWVsc2UKKwkJdHJhY2Vfc2VxX3B1dHMocywgIiA6ICIpOworfQorCitzdGF0aWMgY29uc3QgY2hhciBzdGF0ZV90b19jaGFyW10gPSBUQVNLX1NUQVRFX1RPX0NIQVJfU1RSOworCitzdGF0aWMgaW50CitwcmludF9sYXRfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciwgdW5zaWduZWQgaW50IHRyYWNlX2lkeCwgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIHN5bV9mbGFncyA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX01BU0spOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqbmV4dF9lbnRyeSA9IGZpbmRfbmV4dF9lbnRyeShpdGVyLCBOVUxMKTsKKwl1bnNpZ25lZCBsb25nIHZlcmJvc2UgPSAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1ZFUkJPU0UpOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkgPSBpdGVyLT5lbnQ7CisJdW5zaWduZWQgbG9uZyBhYnNfdXNlY3M7CisJdW5zaWduZWQgbG9uZyByZWxfdXNlY3M7CisJY2hhciAqY29tbTsKKwlpbnQgUywgVDsKKwlpbnQgaTsKKwl1bnNpZ25lZCBzdGF0ZTsKKworCWlmICghbmV4dF9lbnRyeSkKKwkJbmV4dF9lbnRyeSA9IGVudHJ5OworCXJlbF91c2VjcyA9IG5zMnVzZWNzKG5leHRfZW50cnktPnQgLSBlbnRyeS0+dCk7CisJYWJzX3VzZWNzID0gbnMydXNlY3MoZW50cnktPnQgLSBpdGVyLT50ci0+dGltZV9zdGFydCk7CisKKwlpZiAodmVyYm9zZSkgeworCQljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGVudHJ5LT5waWQpOworCQl0cmFjZV9zZXFfcHJpbnRmKHMsICIlMTZzICU1ZCAlZCAlZCAlMDh4ICUwOHggWyUwOGx4XSIKKwkJCQkgIiAlbGQuJTAzbGRtcyAoKyVsZC4lMDNsZG1zKTogIiwKKwkJCQkgY29tbSwKKwkJCQkgZW50cnktPnBpZCwgY3B1LCBlbnRyeS0+ZmxhZ3MsCisJCQkJIGVudHJ5LT5wcmVlbXB0X2NvdW50LCB0cmFjZV9pZHgsCisJCQkJIG5zMnVzZWNzKGVudHJ5LT50KSwKKwkJCQkgYWJzX3VzZWNzLzEwMDAsCisJCQkJIGFic191c2VjcyAlIDEwMDAsIHJlbF91c2Vjcy8xMDAwLAorCQkJCSByZWxfdXNlY3MgJSAxMDAwKTsKKwl9IGVsc2UgeworCQlsYXRfcHJpbnRfZ2VuZXJpYyhzLCBlbnRyeSwgY3B1KTsKKwkJbGF0X3ByaW50X3RpbWVzdGFtcChzLCBhYnNfdXNlY3MsIHJlbF91c2Vjcyk7CisJfQorCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlzZXFfcHJpbnRfaXBfc3ltKHMsIGVudHJ5LT5mbi5pcCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2Vfc2VxX3B1dHMocywgIiAoIik7CisJCWlmIChrcmV0cHJvYmVkKGVudHJ5LT5mbi5wYXJlbnRfaXApKQorCQkJdHJhY2Vfc2VxX3B1dHMocywgS1JFVFBST0JFX01TRyk7CisJCWVsc2UKKwkJCXNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLnBhcmVudF9pcCwgc3ltX2ZsYWdzKTsKKwkJdHJhY2Vfc2VxX3B1dHMocywgIilcbiIpOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwljYXNlIFRSQUNFX1dBS0U6CisJCVQgPSBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4Lm5leHRfc3RhdGVdIDogJ1gnOworCisJCXN0YXRlID0gZW50cnktPmN0eC5wcmV2X3N0YXRlID8gX19mZnMoZW50cnktPmN0eC5wcmV2X3N0YXRlKSArIDEgOiAwOworCQlTID0gc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgLSAxID8gc3RhdGVfdG9fY2hhcltzdGF0ZV0gOiAnWCc7CisJCWNvbW0gPSB0cmFjZV9maW5kX2NtZGxpbmUoZW50cnktPmN0eC5uZXh0X3BpZCk7CisJCXRyYWNlX3NlcV9wcmludGYocywgIiAlNWQ6JTNkOiVjICVzICU1ZDolM2Q6JWMgJXNcbiIsCisJCQkJIGVudHJ5LT5jdHgucHJldl9waWQsCisJCQkJIGVudHJ5LT5jdHgucHJldl9wcmlvLAorCQkJCSBTLCBlbnRyeS0+dHlwZSA9PSBUUkFDRV9DVFggPyAiPT0+IiA6ICIgICsiLAorCQkJCSBlbnRyeS0+Y3R4Lm5leHRfcGlkLAorCQkJCSBlbnRyeS0+Y3R4Lm5leHRfcHJpbywKKwkJCQkgVCwgY29tbSk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwkJdHJhY2Vfc2VxX3ByaW50ZihzLCAiIyAlbGQgJWxkICVsZFxuIiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMSwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCWZvciAoaSA9IDA7IGkgPCBGVFJBQ0VfU1RBQ0tfRU5UUklFUzsgaSsrKSB7CisJCQlpZiAoaSkKKwkJCQl0cmFjZV9zZXFfcHV0cyhzLCAiIDw9ICIpOworCQkJc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+c3RhY2suY2FsbGVyW2ldLCBzeW1fZmxhZ3MpOworCQl9CisJCXRyYWNlX3NlcV9wdXRzKHMsICJcbiIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl0cmFjZV9zZXFfcHJpbnRmKHMsICJVbmtub3duIHR5cGUgJWRcbiIsIGVudHJ5LT50eXBlKTsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdHJhY2VfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIHN5bV9mbGFncyA9ICh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfU1lNX01BU0spOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJdW5zaWduZWQgbG9uZyB1c2VjX3JlbTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdDsKKwl1bnNpZ25lZCBsb25nIHNlY3M7CisJY2hhciAqY29tbTsKKwlpbnQgcmV0OworCWludCBTLCBUOworCWludCBpOworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwljb21tID0gdHJhY2VfZmluZF9jbWRsaW5lKGl0ZXItPmVudC0+cGlkKTsKKworCXQgPSBuczJ1c2VjcyhlbnRyeS0+dCk7CisJdXNlY19yZW0gPSBkb19kaXYodCwgMTAwMDAwMFVMTCk7CisJc2VjcyA9ICh1bnNpZ25lZCBsb25nKXQ7CisKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlMTZzLSUtNWQgIiwgY29tbSwgZW50cnktPnBpZCk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIlslMDJkXSAiLCBpdGVyLT5jcHUpOworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlNWx1LiUwNmx1OiAiLCBzZWNzLCB1c2VjX3JlbSk7CisJaWYgKCFyZXQpCisJCXJldHVybiAwOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCXJldCA9IHNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLmlwLCBzeW1fZmxhZ3MpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlpZiAoKHN5bV9mbGFncyAmIFRSQUNFX0lURVJfUFJJTlRfUEFSRU5UKSAmJgorCQkJCQkJZW50cnktPmZuLnBhcmVudF9pcCkgeworCQkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIDwtIik7CisJCQlpZiAoIXJldCkKKwkJCQlyZXR1cm4gMDsKKwkJCWlmIChrcmV0cHJvYmVkKGVudHJ5LT5mbi5wYXJlbnRfaXApKQorCQkJCXJldCA9IHRyYWNlX3NlcV9wdXRzKHMsIEtSRVRQUk9CRV9NU0cpOworCQkJZWxzZQorCQkJCXJldCA9IHNlcV9wcmludF9pcF9zeW0ocywgZW50cnktPmZuLnBhcmVudF9pcCwKKwkJCQkJCSAgICAgICBzeW1fZmxhZ3MpOworCQkJaWYgKCFyZXQpCisJCQkJcmV0dXJuIDA7CisJCX0KKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiXG4iKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlTID0gZW50cnktPmN0eC5wcmV2X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5wcmV2X3N0YXRlXSA6ICdYJzsKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywgIiAlNWQ6JTNkOiVjICVzICU1ZDolM2Q6JWNcbiIsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9wcmlvLAorCQkJCSAgICAgICBTLAorCQkJCSAgICAgICBlbnRyeS0+dHlwZSA9PSBUUkFDRV9DVFggPyAiPT0+IiA6ICIgICsiLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcGlkLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcHJpbywKKwkJCQkgICAgICAgVCk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIyAlbGQgJWxkICVsZFxuIiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMSwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMiwKKwkJCQkgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCWZvciAoaSA9IDA7IGkgPCBGVFJBQ0VfU1RBQ0tfRU5UUklFUzsgaSsrKSB7CisJCQlpZiAoaSkgeworCQkJCXJldCA9IHRyYWNlX3NlcV9wdXRzKHMsICIgPD0gIik7CisJCQkJaWYgKCFyZXQpCisJCQkJCXJldHVybiAwOworCQkJfQorCQkJcmV0ID0gc2VxX3ByaW50X2lwX3N5bShzLCBlbnRyeS0+c3RhY2suY2FsbGVyW2ldLAorCQkJCQkgICAgICAgc3ltX2ZsYWdzKTsKKwkJCWlmICghcmV0KQorCQkJCXJldHVybiAwOworCQl9CisJCXJldCA9IHRyYWNlX3NlcV9wdXRzKHMsICJcbiIpOworCQlpZiAoIXJldCkKKwkJCXJldHVybiAwOworCQlicmVhazsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfcmF3X2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKwlpbnQgcmV0OworCWludCBTLCBUOworCisJZW50cnkgPSBpdGVyLT5lbnQ7CisKKwlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIlZCAlZCAlbGx1ICIsCisJCWVudHJ5LT5waWQsIGl0ZXItPmNwdSwgZW50cnktPnQpOworCWlmICghcmV0KQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoZW50cnktPnR5cGUpIHsKKwljYXNlIFRSQUNFX0ZOOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIleCAleFxuIiwKKwkJCQkJZW50cnktPmZuLmlwLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCQlTID0gZW50cnktPmN0eC5wcmV2X3N0YXRlIDwgc2l6ZW9mKHN0YXRlX3RvX2NoYXIpID8KKwkJCXN0YXRlX3RvX2NoYXJbZW50cnktPmN0eC5wcmV2X3N0YXRlXSA6ICdYJzsKKwkJVCA9IGVudHJ5LT5jdHgubmV4dF9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgubmV4dF9zdGF0ZV0gOiAnWCc7CisJCWlmIChlbnRyeS0+dHlwZSA9PSBUUkFDRV9XQUtFKQorCQkJUyA9ICcrJzsKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiJWQgJWQgJWMgJWQgJWQgJWNcbiIsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9waWQsCisJCQkJICAgICAgIGVudHJ5LT5jdHgucHJldl9wcmlvLAorCQkJCSAgICAgICBTLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcGlkLAorCQkJCSAgICAgICBlbnRyeS0+Y3R4Lm5leHRfcHJpbywKKwkJCQkgICAgICAgVCk7CisJCWlmICghcmV0KQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfU1BFQ0lBTDoKKwljYXNlIFRSQUNFX1NUQUNLOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIjICVsZCAlbGQgJWxkXG4iLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcxLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmcyLAorCQkJCSBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJfQorCXJldHVybiAxOworfQorCisjZGVmaW5lIFNFUV9QVVRfRklFTERfUkVUKHMsIHgpCQkJCVwKK2RvIHsJCQkJCQkJXAorCWlmICghdHJhY2Vfc2VxX3B1dG1lbShzLCAmKHgpLCBzaXplb2YoeCkpKQlcCisJCXJldHVybiAwOwkJCQlcCit9IHdoaWxlICgwKQorCisjZGVmaW5lIFNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCB4KQkJCVwKK2RvIHsJCQkJCQkJXAorCWlmICghdHJhY2Vfc2VxX3B1dG1lbV9oZXgocywgJih4KSwgc2l6ZW9mKHgpKSkJXAorCQlyZXR1cm4gMDsJCQkJXAorfSB3aGlsZSAoMCkKKworc3RhdGljIGludCBwcmludF9oZXhfZm10KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzID0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBjaGFyIG5ld2xpbmUgPSAnXG4nOworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnk7CisJaW50IFMsIFQ7CisKKwllbnRyeSA9IGl0ZXItPmVudDsKKworCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+cGlkKTsKKwlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgaXRlci0+Y3B1KTsKKwlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnQpOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4uaXApOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmZuLnBhcmVudF9pcCk7CisJCWJyZWFrOworCWNhc2UgVFJBQ0VfQ1RYOgorCWNhc2UgVFJBQ0VfV0FLRToKKwkJUyA9IGVudHJ5LT5jdHgucHJldl9zdGF0ZSA8IHNpemVvZihzdGF0ZV90b19jaGFyKSA/CisJCQlzdGF0ZV90b19jaGFyW2VudHJ5LT5jdHgucHJldl9zdGF0ZV0gOiAnWCc7CisJCVQgPSBlbnRyeS0+Y3R4Lm5leHRfc3RhdGUgPCBzaXplb2Yoc3RhdGVfdG9fY2hhcikgPworCQkJc3RhdGVfdG9fY2hhcltlbnRyeS0+Y3R4Lm5leHRfc3RhdGVdIDogJ1gnOworCQlpZiAoZW50cnktPnR5cGUgPT0gVFJBQ0VfV0FLRSkKKwkJCVMgPSAnKyc7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4LnByZXZfcGlkKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9wcmlvKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIFMpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3BpZCk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Y3R4Lm5leHRfcHJpbyk7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+Zm4ucGFyZW50X2lwKTsKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIFQpOworCQlicmVhazsKKwljYXNlIFRSQUNFX1NQRUNJQUw6CisJY2FzZSBUUkFDRV9TVEFDSzoKKwkJU0VRX1BVVF9IRVhfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzEpOworCQlTRVFfUFVUX0hFWF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMik7CisJCVNFUV9QVVRfSEVYX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmczKTsKKwkJYnJlYWs7CisJfQorCVNFUV9QVVRfRklFTERfUkVUKHMsIG5ld2xpbmUpOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfYmluX2ZtdChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX3NlcSAqcyA9ICZpdGVyLT5zZXE7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeTsKKworCWVudHJ5ID0gaXRlci0+ZW50OworCisJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnBpZCk7CisJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmNwdSk7CisJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnQpOworCisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5pcCk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5mbi5wYXJlbnRfaXApOworCQlicmVhazsKKwljYXNlIFRSQUNFX0NUWDoKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3BpZCk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgucHJldl9wcmlvKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5wcmV2X3N0YXRlKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3BpZCk7CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5jdHgubmV4dF9wcmlvKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPmN0eC5uZXh0X3N0YXRlKTsKKwkJYnJlYWs7CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJCVNFUV9QVVRfRklFTERfUkVUKHMsIGVudHJ5LT5zcGVjaWFsLmFyZzEpOworCQlTRVFfUFVUX0ZJRUxEX1JFVChzLCBlbnRyeS0+c3BlY2lhbC5hcmcyKTsKKwkJU0VRX1BVVF9GSUVMRF9SRVQocywgZW50cnktPnNwZWNpYWwuYXJnMyk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCB0cmFjZV9lbXB0eShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlpbnQgY3B1OworCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCisJCWlmIChoZWFkX3BhZ2UoZGF0YSkgJiYgZGF0YS0+dHJhY2VfaWR4ICYmCisJCSAgICAoZGF0YS0+dHJhY2VfdGFpbCAhPSBkYXRhLT50cmFjZV9oZWFkIHx8CisJCSAgICAgZGF0YS0+dHJhY2VfdGFpbF9pZHggIT0gZGF0YS0+dHJhY2VfaGVhZF9pZHgpKQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByaW50X3RyYWNlX2xpbmUoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCWlmIChpdGVyLT50cmFjZSAmJiBpdGVyLT50cmFjZS0+cHJpbnRfbGluZSkKKwkJcmV0dXJuIGl0ZXItPnRyYWNlLT5wcmludF9saW5lKGl0ZXIpOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9CSU4pCisJCXJldHVybiBwcmludF9iaW5fZm10KGl0ZXIpOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9IRVgpCisJCXJldHVybiBwcmludF9oZXhfZm10KGl0ZXIpOworCisJaWYgKHRyYWNlX2ZsYWdzICYgVFJBQ0VfSVRFUl9SQVcpCisJCXJldHVybiBwcmludF9yYXdfZm10KGl0ZXIpOworCisJaWYgKGl0ZXItPml0ZXJfZmxhZ3MgJiBUUkFDRV9GSUxFX0xBVF9GTVQpCisJCXJldHVybiBwcmludF9sYXRfZm10KGl0ZXIsIGl0ZXItPmlkeCwgaXRlci0+Y3B1KTsKKworCXJldHVybiBwcmludF90cmFjZV9mbXQoaXRlcik7Cit9CisKK3N0YXRpYyBpbnQgc19zaG93KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdikKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSB2OworCisJaWYgKGl0ZXItPmVudCA9PSBOVUxMKSB7CisJCWlmIChpdGVyLT50cikgeworCQkJc2VxX3ByaW50ZihtLCAiIyB0cmFjZXI6ICVzXG4iLCBpdGVyLT50cmFjZS0+bmFtZSk7CisJCQlzZXFfcHV0cyhtLCAiI1xuIik7CisJCX0KKwkJaWYgKGl0ZXItPml0ZXJfZmxhZ3MgJiBUUkFDRV9GSUxFX0xBVF9GTVQpIHsKKwkJCS8qIHByaW50IG5vdGhpbmcgaWYgdGhlIGJ1ZmZlcnMgYXJlIGVtcHR5ICovCisJCQlpZiAodHJhY2VfZW1wdHkoaXRlcikpCisJCQkJcmV0dXJuIDA7CisJCQlwcmludF90cmFjZV9oZWFkZXIobSwgaXRlcik7CisJCQlpZiAoISh0cmFjZV9mbGFncyAmIFRSQUNFX0lURVJfVkVSQk9TRSkpCisJCQkJcHJpbnRfbGF0X2hlbHBfaGVhZGVyKG0pOworCQl9IGVsc2UgeworCQkJaWYgKCEodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX1ZFUkJPU0UpKQorCQkJCXByaW50X2Z1bmNfaGVscF9oZWFkZXIobSk7CisJCX0KKwl9IGVsc2UgeworCQlwcmludF90cmFjZV9saW5lKGl0ZXIpOworCQl0cmFjZV9wcmludF9zZXEobSwgJml0ZXItPnNlcSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgdHJhY2VyX3NlcV9vcHMgPSB7CisJLnN0YXJ0CQk9IHNfc3RhcnQsCisJLm5leHQJCT0gc19uZXh0LAorCS5zdG9wCQk9IHNfc3RvcCwKKwkuc2hvdwkJPSBzX3Nob3csCit9OworCitzdGF0aWMgc3RydWN0IHRyYWNlX2l0ZXJhdG9yICoKK19fdHJhY2luZ19vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgKnJldCkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXI7CisKKwlpZiAodHJhY2luZ19kaXNhYmxlZCkgeworCQkqcmV0ID0gLUVOT0RFVjsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCppdGVyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpdGVyKSB7CisJCSpyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlLT5wcmludF9tYXgpCisJCWl0ZXItPnRyID0gJm1heF90cjsKKwllbHNlCisJCWl0ZXItPnRyID0gaW5vZGUtPmlfcHJpdmF0ZTsKKwlpdGVyLT50cmFjZSA9IGN1cnJlbnRfdHJhY2U7CisJaXRlci0+cG9zID0gLTE7CisKKwkvKiBUT0RPIHN0b3AgdHJhY2VyICovCisJKnJldCA9IHNlcV9vcGVuKGZpbGUsICZ0cmFjZXJfc2VxX29wcyk7CisJaWYgKCEqcmV0KSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJbS0+cHJpdmF0ZSA9IGl0ZXI7CisKKwkJLyogc3RvcCB0aGUgdHJhY2Ugd2hpbGUgZHVtcGluZyAqLworCQlpZiAoaXRlci0+dHItPmN0cmwpIHsKKwkJCXRyYWNlcl9lbmFibGVkID0gMDsKKwkJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMDsKKwkJfQorCisJCWlmIChpdGVyLT50cmFjZSAmJiBpdGVyLT50cmFjZS0+b3BlbikKKwkJCWl0ZXItPnRyYWNlLT5vcGVuKGl0ZXIpOworCX0gZWxzZSB7CisJCWtmcmVlKGl0ZXIpOworCQlpdGVyID0gTlVMTDsKKwl9CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworIG91dDoKKwlyZXR1cm4gaXRlcjsKK30KKworaW50IHRyYWNpbmdfb3Blbl9nZW5lcmljKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWZpbHAtPnByaXZhdGVfZGF0YSA9IGlub2RlLT5pX3ByaXZhdGU7CisJcmV0dXJuIDA7Cit9CisKK2ludCB0cmFjaW5nX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJc3RydWN0IHNlcV9maWxlICptID0gKHN0cnVjdCBzZXFfZmlsZSAqKWZpbGUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBtLT5wcml2YXRlOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKGl0ZXItPnRyYWNlICYmIGl0ZXItPnRyYWNlLT5jbG9zZSkKKwkJaXRlci0+dHJhY2UtPmNsb3NlKGl0ZXIpOworCisJLyogcmVlbmFibGUgdHJhY2luZyBpZiBpdCB3YXMgcHJldmlvdXNseSBlbmFibGVkICovCisJaWYgKGl0ZXItPnRyLT5jdHJsKSB7CisJCXRyYWNlcl9lbmFibGVkID0gMTsKKwkJLyoKKwkJICogSXQgaXMgc2FmZSB0byBlbmFibGUgZnVuY3Rpb24gdHJhY2luZyBldmVuIGlmIGl0CisJCSAqIGlzbid0IHVzZWQKKwkJICovCisJCWZ0cmFjZV9mdW5jdGlvbl9lbmFibGVkID0gMTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXNlcV9yZWxlYXNlKGlub2RlLCBmaWxlKTsKKwlrZnJlZShpdGVyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0cmFjaW5nX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCit7CisJaW50IHJldDsKKworCV9fdHJhY2luZ19vcGVuKGlub2RlLCBmaWxlLCAmcmV0KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgdHJhY2luZ19sdF9vcGVuKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcjsKKwlpbnQgcmV0OworCisJaXRlciA9IF9fdHJhY2luZ19vcGVuKGlub2RlLCBmaWxlLCAmcmV0KTsKKworCWlmICghcmV0KQorCQlpdGVyLT5pdGVyX2ZsYWdzIHw9IFRSQUNFX0ZJTEVfTEFUX0ZNVDsKKworCXJldHVybiByZXQ7Cit9CisKKworc3RhdGljIHZvaWQgKgordF9uZXh0KHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdiwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlciAqdCA9IG0tPnByaXZhdGU7CisKKwkoKnBvcykrKzsKKworCWlmICh0KQorCQl0ID0gdC0+bmV4dDsKKworCW0tPnByaXZhdGUgPSB0OworCisJcmV0dXJuIHQ7Cit9CisKK3N0YXRpYyB2b2lkICp0X3N0YXJ0KHN0cnVjdCBzZXFfZmlsZSAqbSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IHRyYWNlciAqdCA9IG0tPnByaXZhdGU7CisJbG9mZl90IGwgPSAwOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJZm9yICg7IHQgJiYgbCA8ICpwb3M7IHQgPSB0X25leHQobSwgdCwgJmwpKQorCQk7CisKKwlyZXR1cm4gdDsKK30KKworc3RhdGljIHZvaWQgdF9zdG9wKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqcCkKK3sKKwltdXRleF91bmxvY2soJnRyYWNlX3R5cGVzX2xvY2spOworfQorCitzdGF0aWMgaW50IHRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCit7CisJc3RydWN0IHRyYWNlciAqdCA9IHY7CisKKwlpZiAoIXQpCisJCXJldHVybiAwOworCisJc2VxX3ByaW50ZihtLCAiJXMiLCB0LT5uYW1lKTsKKwlpZiAodC0+bmV4dCkKKwkJc2VxX3B1dGMobSwgJyAnKTsKKwllbHNlCisJCXNlcV9wdXRjKG0sICdcbicpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc2VxX29wZXJhdGlvbnMgc2hvd190cmFjZXNfc2VxX29wcyA9IHsKKwkuc3RhcnQJCT0gdF9zdGFydCwKKwkubmV4dAkJPSB0X25leHQsCisJLnN0b3AJCT0gdF9zdG9wLAorCS5zaG93CQk9IHRfc2hvdywKK307CisKK3N0YXRpYyBpbnQgc2hvd190cmFjZXNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCisJaWYgKHRyYWNpbmdfZGlzYWJsZWQpCisJCXJldHVybiAtRU5PREVWOworCisJcmV0ID0gc2VxX29wZW4oZmlsZSwgJnNob3dfdHJhY2VzX3NlcV9vcHMpOworCWlmICghcmV0KSB7CisJCXN0cnVjdCBzZXFfZmlsZSAqbSA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKwkJbS0+cHJpdmF0ZSA9IHRyYWNlX3R5cGVzOworCX0KKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW4sCisJLnJlYWQJCT0gc2VxX3JlYWQsCisJLmxsc2VlawkJPSBzZXFfbHNlZWssCisJLnJlbGVhc2UJPSB0cmFjaW5nX3JlbGVhc2UsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2x0X2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19sdF9vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5sbHNlZWsJCT0gc2VxX2xzZWVrLAorCS5yZWxlYXNlCT0gdHJhY2luZ19yZWxlYXNlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc2hvd190cmFjZXNfZm9wcyA9IHsKKwkub3BlbgkJPSBzaG93X3RyYWNlc19vcGVuLAorCS5yZWFkCQk9IHNlcV9yZWFkLAorCS5yZWxlYXNlCT0gc2VxX3JlbGVhc2UsCit9OworCisvKgorICogT25seSB0cmFjZSBvbiBhIENQVSBpZiB0aGUgYml0bWFzayBpcyBzZXQ6CisgKi8KK3N0YXRpYyBjcHVtYXNrX3QgdHJhY2luZ19jcHVtYXNrID0gQ1BVX01BU0tfQUxMOworCisvKgorICogV2hlbiB0cmFjaW5nL3RyYWNpbmdfY3B1X21hc2sgaXMgbW9kaWZpZWQgdGhlbiB0aGlzIGhvbGRzCisgKiB0aGUgbmV3IGJpdG1hc2sgd2UgYXJlIGFib3V0IHRvIGluc3RhbGw6CisgKi8KK3N0YXRpYyBjcHVtYXNrX3QgdHJhY2luZ19jcHVtYXNrX25ldzsKKworLyoKKyAqIFRoZSB0cmFjZXIgaXRzZWxmIHdpbGwgbm90IHRha2UgdGhpcyBsb2NrLCBidXQgc3RpbGwgd2Ugd2FudAorICogdG8gcHJvdmlkZSBhIGNvbnNpc3RlbnQgY3B1bWFzayB0byB1c2VyLXNwYWNlOgorICovCitzdGF0aWMgREVGSU5FX01VVEVYKHRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKy8qCisgKiBUZW1wb3Jhcnkgc3RvcmFnZSBmb3IgdGhlIGNoYXJhY3RlciByZXByZXNlbnRhdGlvbiBvZiB0aGUKKyAqIENQVSBiaXRtYXNrIChhbmQgb25lIG1vcmUgYnl0ZSBmb3IgdGhlIG5ld2xpbmUpOgorICovCitzdGF0aWMgY2hhciBtYXNrX3N0cltOUl9DUFVTICsgMV07CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2NwdW1hc2tfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpCit7CisJaW50IGxlbjsKKworCW11dGV4X2xvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisKKwlsZW4gPSBjcHVtYXNrX3NjbnByaW50ZihtYXNrX3N0ciwgY291bnQsIHRyYWNpbmdfY3B1bWFzayk7CisJaWYgKGNvdW50IC0gbGVuIDwgMikgeworCQljb3VudCA9IC1FSU5WQUw7CisJCWdvdG8gb3V0X2VycjsKKwl9CisJbGVuICs9IHNwcmludGYobWFza19zdHIgKyBsZW4sICJcbiIpOworCWNvdW50ID0gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY291bnQsIHBwb3MsIG1hc2tfc3RyLCBOUl9DUFVTKzEpOworCitvdXRfZXJyOgorCW11dGV4X3VubG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCXJldHVybiBjb3VudDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3B1bWFza193cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQoreworCWludCBlcnIsIGNwdTsKKworCW11dGV4X2xvY2soJnRyYWNpbmdfY3B1bWFza191cGRhdGVfbG9jayk7CisJZXJyID0gY3B1bWFza19wYXJzZV91c2VyKHVidWYsIGNvdW50LCB0cmFjaW5nX2NwdW1hc2tfbmV3KTsKKwlpZiAoZXJyKQorCQlnb3RvIGVycl91bmxvY2s7CisKKwlyYXdfbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwlfX3Jhd19zcGluX2xvY2soJmZ0cmFjZV9tYXhfbG9jayk7CisJZm9yX2VhY2hfdHJhY2luZ19jcHUoY3B1KSB7CisJCS8qCisJCSAqIEluY3JlYXNlL2RlY3JlYXNlIHRoZSBkaXNhYmxlZCBjb3VudGVyIGlmIHdlIGFyZQorCQkgKiBhYm91dCB0byBmbGlwIGEgYml0IGluIHRoZSBjcHVtYXNrOgorCQkgKi8KKwkJaWYgKGNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFzaykgJiYKKwkJCQkhY3B1X2lzc2V0KGNwdSwgdHJhY2luZ19jcHVtYXNrX25ldykpIHsKKwkJCWF0b21pY19pbmMoJmdsb2JhbF90cmFjZS5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwkJfQorCQlpZiAoIWNwdV9pc3NldChjcHUsIHRyYWNpbmdfY3B1bWFzaykgJiYKKwkJCQljcHVfaXNzZXQoY3B1LCB0cmFjaW5nX2NwdW1hc2tfbmV3KSkgeworCQkJYXRvbWljX2RlYygmZ2xvYmFsX3RyYWNlLmRhdGFbY3B1XS0+ZGlzYWJsZWQpOworCQl9CisJfQorCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCXJhd19sb2NhbF9pcnFfZW5hYmxlKCk7CisKKwl0cmFjaW5nX2NwdW1hc2sgPSB0cmFjaW5nX2NwdW1hc2tfbmV3OworCisJbXV0ZXhfdW5sb2NrKCZ0cmFjaW5nX2NwdW1hc2tfdXBkYXRlX2xvY2spOworCisJcmV0dXJuIGNvdW50OworCitlcnJfdW5sb2NrOgorCW11dGV4X3VubG9jaygmdHJhY2luZ19jcHVtYXNrX3VwZGF0ZV9sb2NrKTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfY3B1bWFza19mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfY3B1bWFza19yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX2NwdW1hc2tfd3JpdGUsCit9OworCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19pdGVyX2N0cmxfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJY2hhciAqYnVmOworCWludCByID0gMDsKKwlpbnQgbGVuID0gMDsKKwlpbnQgaTsKKworCS8qIGNhbHVsYXRlIG1heCBzaXplICovCisJZm9yIChpID0gMDsgdHJhY2Vfb3B0aW9uc1tpXTsgaSsrKSB7CisJCWxlbiArPSBzdHJsZW4odHJhY2Vfb3B0aW9uc1tpXSk7CisJCWxlbiArPSAzOyAvKiAibm8iIGFuZCBzcGFjZSAqLworCX0KKworCS8qICsyIGZvciBcbiBhbmQgXDAgKi8KKwlidWYgPSBrbWFsbG9jKGxlbiArIDIsIEdGUF9LRVJORUwpOworCWlmICghYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZvciAoaSA9IDA7IHRyYWNlX29wdGlvbnNbaV07IGkrKykgeworCQlpZiAodHJhY2VfZmxhZ3MgJiAoMSA8PCBpKSkKKwkJCXIgKz0gc3ByaW50ZihidWYgKyByLCAiJXMgIiwgdHJhY2Vfb3B0aW9uc1tpXSk7CisJCWVsc2UKKwkJCXIgKz0gc3ByaW50ZihidWYgKyByLCAibm8lcyAiLCB0cmFjZV9vcHRpb25zW2ldKTsKKwl9CisKKwlyICs9IHNwcmludGYoYnVmICsgciwgIlxuIik7CisJV0FSTl9PTihyID49IGxlbiArIDIpOworCisJciA9IHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKKworCWtmcmVlKGJ1Zik7CisKKwlyZXR1cm4gcjsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfaXRlcl9jdHJsX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJCXNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1Zls2NF07CisJY2hhciAqY21wID0gYnVmOworCWludCBuZWcgPSAwOworCWludCBpOworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlpZiAoc3RybmNtcChidWYsICJubyIsIDIpID09IDApIHsKKwkJbmVnID0gMTsKKwkJY21wICs9IDI7CisJfQorCisJZm9yIChpID0gMDsgdHJhY2Vfb3B0aW9uc1tpXTsgaSsrKSB7CisJCWludCBsZW4gPSBzdHJsZW4odHJhY2Vfb3B0aW9uc1tpXSk7CisKKwkJaWYgKHN0cm5jbXAoY21wLCB0cmFjZV9vcHRpb25zW2ldLCBsZW4pID09IDApIHsKKwkJCWlmIChuZWcpCisJCQkJdHJhY2VfZmxhZ3MgJj0gfigxIDw8IGkpOworCQkJZWxzZQorCQkJCXRyYWNlX2ZsYWdzIHw9ICgxIDw8IGkpOworCQkJYnJlYWs7CisJCX0KKwl9CisJLyoKKwkgKiBJZiBubyBvcHRpb24gY291bGQgYmUgc2V0LCByZXR1cm4gYW4gZXJyb3I6CisJICovCisJaWYgKCF0cmFjZV9vcHRpb25zW2ldKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfaXRlcl9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9nZW5lcmljLAorCS5yZWFkCQk9IHRyYWNpbmdfaXRlcl9jdHJsX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfaXRlcl9jdHJsX3dyaXRlLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgcmVhZG1lX21zZ1tdID0KKwkidHJhY2luZyBtaW5pLUhPV1RPOlxuXG4iCisJIiMgbWtkaXIgL2RlYnVnXG4iCisJIiMgbW91bnQgLXQgZGVidWdmcyBub2RldiAvZGVidWdcblxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy9hdmFpbGFibGVfdHJhY2Vyc1xuIgorCSJ3YWtldXAgcHJlZW1wdGlycXNvZmYgcHJlZW1wdG9mZiBpcnFzb2ZmIGZ0cmFjZSBzY2hlZF9zd2l0Y2ggbm9uZVxuXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyXG4iCisJIm5vbmVcbiIKKwkiIyBlY2hvIHNjaGVkX3N3aXRjaCA+IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyXG4iCisJIiMgY2F0IC9kZWJ1Zy90cmFjaW5nL2N1cnJlbnRfdHJhY2VyXG4iCisJInNjaGVkX3N3aXRjaFxuIgorCSIjIGNhdCAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmxcbiIKKwkibm9wcmludC1wYXJlbnQgbm9zeW0tb2Zmc2V0IG5vc3ltLWFkZHIgbm92ZXJib3NlXG4iCisJIiMgZWNobyBwcmludC1wYXJlbnQgPiAvZGVidWcvdHJhY2luZy9pdGVyX2N0cmxcbiIKKwkiIyBlY2hvIDEgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWRcbiIKKwkiIyBjYXQgL2RlYnVnL3RyYWNpbmcvdHJhY2UgPiAvdG1wL3RyYWNlLnR4dFxuIgorCSJlY2hvIDAgPiAvZGVidWcvdHJhY2luZy90cmFjaW5nX2VuYWJsZWRcbiIKKzsKKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfcmVhZG1lX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsCisJCQkJCXJlYWRtZV9tc2csIHN0cmxlbihyZWFkbWVfbXNnKSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfcmVhZG1lX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19yZWFkbWVfcmVhZCwKK307CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX2N0cmxfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisJY2hhciBidWZbNjRdOworCWludCByOworCisJciA9IHNwcmludGYoYnVmLCAiJWxkXG4iLCB0ci0+Y3RybCk7CisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfY3RybF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlsb25nIHZhbDsKKwlpbnQgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCXZhbCA9ICEhdmFsOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKHRyLT5jdHJsIF4gdmFsKSB7CisJCWlmICh2YWwpCisJCQl0cmFjZXJfZW5hYmxlZCA9IDE7CisJCWVsc2UKKwkJCXRyYWNlcl9lbmFibGVkID0gMDsKKworCQl0ci0+Y3RybCA9IHZhbDsKKworCQlpZiAoY3VycmVudF90cmFjZSAmJiBjdXJyZW50X3RyYWNlLT5jdHJsX3VwZGF0ZSkKKwkJCWN1cnJlbnRfdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwl9CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3NldF90cmFjZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwljaGFyIGJ1ZlttYXhfdHJhY2VyX3R5cGVfbGVuKzJdOworCWludCByOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaWYgKGN1cnJlbnRfdHJhY2UpCisJCXIgPSBzcHJpbnRmKGJ1ZiwgIiVzXG4iLCBjdXJyZW50X3RyYWNlLT5uYW1lKTsKKwllbHNlCisJCXIgPSBzcHJpbnRmKGJ1ZiwgIlxuIik7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3NldF90cmFjZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCQlzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICZnbG9iYWxfdHJhY2U7CisJc3RydWN0IHRyYWNlciAqdDsKKwljaGFyIGJ1ZlttYXhfdHJhY2VyX3R5cGVfbGVuKzFdOworCWludCBpOworCisJaWYgKGNudCA+IG1heF90cmFjZXJfdHlwZV9sZW4pCisJCWNudCA9IG1heF90cmFjZXJfdHlwZV9sZW47CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwkvKiBzdHJpcCBlbmRpbmcgd2hpdGVzcGFjZS4gKi8KKwlmb3IgKGkgPSBjbnQgLSAxOyBpID4gMCAmJiBpc3NwYWNlKGJ1ZltpXSk7IGktLSkKKwkJYnVmW2ldID0gMDsKKworCW11dGV4X2xvY2soJnRyYWNlX3R5cGVzX2xvY2spOworCWZvciAodCA9IHRyYWNlX3R5cGVzOyB0OyB0ID0gdC0+bmV4dCkgeworCQlpZiAoc3RyY21wKHQtPm5hbWUsIGJ1ZikgPT0gMCkKKwkJCWJyZWFrOworCX0KKwlpZiAoIXQgfHwgdCA9PSBjdXJyZW50X3RyYWNlKQorCQlnb3RvIG91dDsKKworCWlmIChjdXJyZW50X3RyYWNlICYmIGN1cnJlbnRfdHJhY2UtPnJlc2V0KQorCQljdXJyZW50X3RyYWNlLT5yZXNldCh0cik7CisKKwljdXJyZW50X3RyYWNlID0gdDsKKwlpZiAodC0+aW5pdCkKKwkJdC0+aW5pdCh0cik7CisKKyBvdXQ6CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX21heF9sYXRfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXVuc2lnbmVkIGxvbmcgKnB0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVsZFxuIiwKKwkJICAgICAqcHRyID09ICh1bnNpZ25lZCBsb25nKS0xID8gLTEgOiBuc2Vjc190b191c2VjcygqcHRyKSk7CisJaWYgKHIgPiBzaXplb2YoYnVmKSkKKwkJciA9IHNpemVvZihidWYpOworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX21heF9sYXRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJbG9uZyAqcHRyID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlsb25nIHZhbDsKKwlpbnQgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCSpwdHIgPSB2YWwgKiAxMDAwOworCisJcmV0dXJuIGNudDsKK30KKworc3RhdGljIGF0b21pY190IHRyYWNpbmdfcmVhZGVyOworCitzdGF0aWMgaW50IHRyYWNpbmdfb3Blbl9waXBlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcjsKKworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCS8qIFdlIG9ubHkgYWxsb3cgZm9yIHJlYWRlciBvZiB0aGUgcGlwZSAqLworCWlmIChhdG9taWNfaW5jX3JldHVybigmdHJhY2luZ19yZWFkZXIpICE9IDEpIHsKKwkJYXRvbWljX2RlYygmdHJhY2luZ19yZWFkZXIpOworCQlyZXR1cm4gLUVCVVNZOworCX0KKworCS8qIGNyZWF0ZSBhIGJ1ZmZlciB0byBzdG9yZSB0aGUgaW5mb3JtYXRpb24gdG8gcGFzcyB0byB1c2Vyc3BhY2UgKi8KKwlpdGVyID0ga3phbGxvYyhzaXplb2YoKml0ZXIpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWl0ZXIpCisJCXJldHVybiAtRU5PTUVNOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisJaXRlci0+dHIgPSAmZ2xvYmFsX3RyYWNlOworCWl0ZXItPnRyYWNlID0gY3VycmVudF90cmFjZTsKKwlmaWxwLT5wcml2YXRlX2RhdGEgPSBpdGVyOworCisJaWYgKGl0ZXItPnRyYWNlLT5waXBlX29wZW4pCisJCWl0ZXItPnRyYWNlLT5waXBlX29wZW4oaXRlcik7CisJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRyYWNpbmdfcmVsZWFzZV9waXBlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IGZpbGUtPnByaXZhdGVfZGF0YTsKKworCWtmcmVlKGl0ZXIpOworCWF0b21pY19kZWMoJnRyYWNpbmdfcmVhZGVyKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50Cit0cmFjaW5nX3BvbGxfcGlwZShzdHJ1Y3QgZmlsZSAqZmlscCwgcG9sbF90YWJsZSAqcG9sbF90YWJsZSkKK3sKKwlzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIgPSBmaWxwLT5wcml2YXRlX2RhdGE7CisKKwlpZiAodHJhY2VfZmxhZ3MgJiBUUkFDRV9JVEVSX0JMT0NLKSB7CisJCS8qCisJCSAqIEFsd2F5cyBzZWxlY3QgYXMgcmVhZGFibGUgd2hlbiBpbiBibG9ja2luZyBtb2RlCisJCSAqLworCQlyZXR1cm4gUE9MTElOIHwgUE9MTFJETk9STTsKKwl9IGVsc2UgeworCQlpZiAoIXRyYWNlX2VtcHR5KGl0ZXIpKQorCQkJcmV0dXJuIFBPTExJTiB8IFBPTExSRE5PUk07CisJCXBvbGxfd2FpdChmaWxwLCAmdHJhY2Vfd2FpdCwgcG9sbF90YWJsZSk7CisJCWlmICghdHJhY2VfZW1wdHkoaXRlcikpCisJCQlyZXR1cm4gUE9MTElOIHwgUE9MTFJETk9STTsKKworCQlyZXR1cm4gMDsKKwl9Cit9CisKKy8qCisgKiBDb25zdW1lciByZWFkZXIuCisgKi8KK3N0YXRpYyBzc2l6ZV90Cit0cmFjaW5nX3JlYWRfcGlwZShzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0YXRpYyBjcHVtYXNrX3QgbWFzazsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworI2lmZGVmIENPTkZJR19GVFJBQ0UKKwlpbnQgZnRyYWNlX3NhdmU7CisjZW5kaWYKKwlpbnQgY3B1OworCXNzaXplX3Qgc3JldDsKKworCS8qIHJldHVybiBhbnkgbGVmdG92ZXIgZGF0YSAqLworCXNyZXQgPSB0cmFjZV9zZXFfdG9fdXNlcigmaXRlci0+c2VxLCB1YnVmLCBjbnQpOworCWlmIChzcmV0ICE9IC1FQlVTWSkKKwkJcmV0dXJuIHNyZXQ7CisJc3JldCA9IDA7CisKKwl0cmFjZV9zZXFfcmVzZXQoJml0ZXItPnNlcSk7CisKKwltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKwlpZiAoaXRlci0+dHJhY2UtPnJlYWQpIHsKKwkJc3JldCA9IGl0ZXItPnRyYWNlLT5yZWFkKGl0ZXIsIGZpbHAsIHVidWYsIGNudCwgcHBvcyk7CisJCWlmIChzcmV0KQorCQkJZ290byBvdXQ7CisJfQorCisJd2hpbGUgKHRyYWNlX2VtcHR5KGl0ZXIpKSB7CisKKwkJaWYgKChmaWxwLT5mX2ZsYWdzICYgT19OT05CTE9DSykpIHsKKwkJCXNyZXQgPSAtRUFHQUlOOworCQkJZ290byBvdXQ7CisJCX0KKworCQkvKgorCQkgKiBUaGlzIGlzIGEgbWFrZS1zaGlmdCB3YWl0cXVldWUuIFRoZSByZWFzb24gd2UgZG9uJ3QgdXNlCisJCSAqIGFuIGFjdHVhbCB3YWl0IHF1ZXVlIGlzIGJlY2F1c2U6CisJCSAqICAxKSB3ZSBvbmx5IGV2ZXIgaGF2ZSBvbmUgd2FpdGVyCisJCSAqICAyKSB0aGUgdHJhY2luZywgdHJhY2VzIGFsbCBmdW5jdGlvbnMsIHdlIGRvbid0IHdhbnQKKwkJICogICAgIHRoZSBvdmVyaGVhZCBvZiBjYWxsaW5nIHdha2VfdXAgYW5kIGZyaWVuZHMKKwkJICogICAgIChhbmQgdHJhY2luZyB0aGVtIHRvbykKKwkJICogICAgIEFueXdheSwgdGhpcyBpcyByZWFsbHkgdmVyeSBwcmltaXRpdmUgd2FrZXVwLgorCQkgKi8KKwkJc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19JTlRFUlJVUFRJQkxFKTsKKwkJaXRlci0+dHItPndhaXRlciA9IGN1cnJlbnQ7CisKKwkJbXV0ZXhfdW5sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCQkvKiBzbGVlcCBmb3IgMTAwIG1zZWNzLCBhbmQgdHJ5IGFnYWluLiAqLworCQlzY2hlZHVsZV90aW1lb3V0KEhaLzEwKTsKKworCQltdXRleF9sb2NrKCZ0cmFjZV90eXBlc19sb2NrKTsKKworCQlpdGVyLT50ci0+d2FpdGVyID0gTlVMTDsKKworCQlpZiAoc2lnbmFsX3BlbmRpbmcoY3VycmVudCkpIHsKKwkJCXNyZXQgPSAtRUlOVFI7CisJCQlnb3RvIG91dDsKKwkJfQorCisJCWlmIChpdGVyLT50cmFjZSAhPSBjdXJyZW50X3RyYWNlKQorCQkJZ290byBvdXQ7CisKKwkJLyoKKwkJICogV2UgYmxvY2sgdW50aWwgd2UgcmVhZCBzb21ldGhpbmcgYW5kIHRyYWNpbmcgaXMgZGlzYWJsZWQuCisJCSAqIFdlIHN0aWxsIGJsb2NrIGlmIHRyYWNpbmcgaXMgZGlzYWJsZWQsIGJ1dCB3ZSBoYXZlIG5ldmVyCisJCSAqIHJlYWQgYW55dGhpbmcuIFRoaXMgYWxsb3dzIGEgdXNlciB0byBjYXQgdGhpcyBmaWxlLCBhbmQKKwkJICogdGhlbiBlbmFibGUgdHJhY2luZy4gQnV0IGFmdGVyIHdlIGhhdmUgcmVhZCBzb21ldGhpbmcsCisJCSAqIHdlIGdpdmUgYW4gRU9GIHdoZW4gdHJhY2luZyBpcyBhZ2FpbiBkaXNhYmxlZC4KKwkJICoKKwkJICogaXRlci0+cG9zIHdpbGwgYmUgMCBpZiB3ZSBoYXZlbid0IHJlYWQgYW55dGhpbmcuCisJCSAqLworCQlpZiAoIXRyYWNlcl9lbmFibGVkICYmIGl0ZXItPnBvcykKKwkJCWJyZWFrOworCisJCWNvbnRpbnVlOworCX0KKworCS8qIHN0b3Agd2hlbiB0cmFjaW5nIGlzIGZpbmlzaGVkICovCisJaWYgKHRyYWNlX2VtcHR5KGl0ZXIpKQorCQlnb3RvIG91dDsKKworCWlmIChjbnQgPj0gUEFHRV9TSVpFKQorCQljbnQgPSBQQUdFX1NJWkUgLSAxOworCisJLyogcmVzZXQgYWxsIGJ1dCB0ciwgdHJhY2UsIGFuZCBvdmVycnVucyAqLworCW1lbXNldCgmaXRlci0+c2VxLCAwLAorCSAgICAgICBzaXplb2Yoc3RydWN0IHRyYWNlX2l0ZXJhdG9yKSAtCisJICAgICAgIG9mZnNldG9mKHN0cnVjdCB0cmFjZV9pdGVyYXRvciwgc2VxKSk7CisJaXRlci0+cG9zID0gLTE7CisKKwkvKgorCSAqIFdlIG5lZWQgdG8gc3RvcCBhbGwgdHJhY2luZyBvbiBhbGwgQ1BVUyB0byByZWFkIHRoZQorCSAqIHRoZSBuZXh0IGJ1ZmZlci4gVGhpcyBpcyBhIGJpdCBleHBlbnNpdmUsIGJ1dCBpcworCSAqIG5vdCBkb25lIG9mdGVuLiBXZSBmaWxsIGFsbCB3aGF0IHdlIGNhbiByZWFkLAorCSAqIGFuZCB0aGVuIHJlbGVhc2UgdGhlIGxvY2tzIGFnYWluLgorCSAqLworCisJY3B1c19jbGVhcihtYXNrKTsKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisjaWZkZWYgQ09ORklHX0ZUUkFDRQorCWZ0cmFjZV9zYXZlID0gZnRyYWNlX2VuYWJsZWQ7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworI2VuZGlmCisJc21wX3dtYigpOworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGNwdSkgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKworCQlpZiAoIWhlYWRfcGFnZShkYXRhKSB8fCAhZGF0YS0+dHJhY2VfaWR4KQorCQkJY29udGludWU7CisKKwkJYXRvbWljX2luYygmZGF0YS0+ZGlzYWJsZWQpOworCQljcHVfc2V0KGNwdSwgbWFzayk7CisJfQorCisJZm9yX2VhY2hfY3B1X21hc2soY3B1LCBtYXNrKSB7CisJCWRhdGEgPSBpdGVyLT50ci0+ZGF0YVtjcHVdOworCQlfX3Jhd19zcGluX2xvY2soJmRhdGEtPmxvY2spOworCisJCWlmIChkYXRhLT5vdmVycnVuID4gaXRlci0+bGFzdF9vdmVycnVuW2NwdV0pCisJCQlpdGVyLT5vdmVycnVuW2NwdV0gKz0KKwkJCQlkYXRhLT5vdmVycnVuIC0gaXRlci0+bGFzdF9vdmVycnVuW2NwdV07CisJCWl0ZXItPmxhc3Rfb3ZlcnJ1bltjcHVdID0gZGF0YS0+b3ZlcnJ1bjsKKwl9CisKKwl3aGlsZSAoZmluZF9uZXh0X2VudHJ5X2luYyhpdGVyKSAhPSBOVUxMKSB7CisJCWludCByZXQ7CisJCWludCBsZW4gPSBpdGVyLT5zZXEubGVuOworCisJCXJldCA9IHByaW50X3RyYWNlX2xpbmUoaXRlcik7CisJCWlmICghcmV0KSB7CisJCQkvKiBkb24ndCBwcmludCBwYXJ0aWFsIGxpbmVzICovCisJCQlpdGVyLT5zZXEubGVuID0gbGVuOworCQkJYnJlYWs7CisJCX0KKworCQl0cmFjZV9jb25zdW1lKGl0ZXIpOworCisJCWlmIChpdGVyLT5zZXEubGVuID49IGNudCkKKwkJCWJyZWFrOworCX0KKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKwkJX19yYXdfc3Bpbl91bmxvY2soJmRhdGEtPmxvY2spOworCX0KKworCWZvcl9lYWNoX2NwdV9tYXNrKGNwdSwgbWFzaykgeworCQlkYXRhID0gaXRlci0+dHItPmRhdGFbY3B1XTsKKwkJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCX0KKyNpZmRlZiBDT05GSUdfRlRSQUNFCisJZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2Vfc2F2ZTsKKyNlbmRpZgorCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKKworCS8qIE5vdyBjb3B5IHdoYXQgd2UgaGF2ZSB0byB0aGUgdXNlciAqLworCXNyZXQgPSB0cmFjZV9zZXFfdG9fdXNlcigmaXRlci0+c2VxLCB1YnVmLCBjbnQpOworCWlmIChpdGVyLT5zZXEucmVhZHBvcyA+PSBpdGVyLT5zZXEubGVuKQorCQl0cmFjZV9zZXFfcmVzZXQoJml0ZXItPnNlcSk7CisJaWYgKHNyZXQgPT0gLUVCVVNZKQorCQlzcmV0ID0gMDsKKworb3V0OgorCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gc3JldDsKK30KKworc3RhdGljIHNzaXplX3QKK3RyYWNpbmdfZW50cmllc19yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICBzaXplX3QgY250LCBsb2ZmX3QgKnBwb3MpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGZpbHAtPnByaXZhdGVfZGF0YTsKKwljaGFyIGJ1Zls2NF07CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbHVcbiIsIHRyLT5lbnRyaWVzKTsKKwlyZXR1cm4gc2ltcGxlX3JlYWRfZnJvbV9idWZmZXIodWJ1ZiwgY250LCBwcG9zLCBidWYsIHIpOworfQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19lbnRyaWVzX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCBjaGFyIF9fdXNlciAqdWJ1ZiwKKwkJICAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXVuc2lnbmVkIGxvbmcgdmFsOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgaSwgcmV0OworCisJaWYgKGNudCA+PSBzaXplb2YoYnVmKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJmJ1ZiwgdWJ1ZiwgY250KSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlidWZbY250XSA9IDA7CisKKwlyZXQgPSBzdHJpY3Rfc3RydG91bChidWYsIDEwLCAmdmFsKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKKworCS8qIG11c3QgaGF2ZSBhdCBsZWFzdCAxIGVudHJ5ICovCisJaWYgKCF2YWwpCisJCXJldHVybiAtRUlOVkFMOworCisJbXV0ZXhfbG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlpZiAoY3VycmVudF90cmFjZSAhPSAmbm9fdHJhY2VyKSB7CisJCWNudCA9IC1FQlVTWTsKKwkJcHJfaW5mbygiZnRyYWNlOiBzZXQgY3VycmVudF90cmFjZXIgdG8gbm9uZSIKKwkJCSIgYmVmb3JlIG1vZGlmeWluZyBidWZmZXIgc2l6ZVxuIik7CisJCWdvdG8gb3V0OworCX0KKworCWlmICh2YWwgPiBnbG9iYWxfdHJhY2UuZW50cmllcykgeworCQlsb25nIHBhZ2VzX3JlcXVlc3RlZDsKKwkJdW5zaWduZWQgbG9uZyBmcmVlYWJsZV9wYWdlczsKKworCQkvKiBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggbWVtb3J5IGJlZm9yZSBtYXBwaW5nICovCisJCXBhZ2VzX3JlcXVlc3RlZCA9CisJCQkodmFsICsgKEVOVFJJRVNfUEVSX1BBR0UtMSkpIC8gRU5UUklFU19QRVJfUEFHRTsKKworCQkvKiBhY2NvdW50IGZvciBlYWNoIGJ1ZmZlciAoYW5kIG1heF90cikgKi8KKwkJcGFnZXNfcmVxdWVzdGVkICo9IHRyYWNpbmdfbnJfYnVmZmVycyAqIDI7CisKKwkJLyogQ2hlY2sgZm9yIG92ZXJmbG93ICovCisJCWlmIChwYWdlc19yZXF1ZXN0ZWQgPCAwKSB7CisJCQljbnQgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CisJCX0KKworCQlmcmVlYWJsZV9wYWdlcyA9IGRldGVybWluZV9kaXJ0eWFibGVfbWVtb3J5KCk7CisKKwkJLyogd2Ugb25seSBhbGxvdyB0byByZXF1ZXN0IDEvNCBvZiB1c2VhYmxlIG1lbW9yeSAqLworCQlpZiAocGFnZXNfcmVxdWVzdGVkID4KKwkJICAgICgoZnJlZWFibGVfcGFnZXMgKyB0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZCkgLyA0KSkgeworCQkJY250ID0gLUVOT01FTTsKKwkJCWdvdG8gb3V0OworCQl9CisKKwkJd2hpbGUgKGdsb2JhbF90cmFjZS5lbnRyaWVzIDwgdmFsKSB7CisJCQlpZiAodHJhY2VfYWxsb2NfcGFnZSgpKSB7CisJCQkJY250ID0gLUVOT01FTTsKKwkJCQlnb3RvIG91dDsKKwkJCX0KKwkJCS8qIGRvdWJsZSBjaGVjayB0aGF0IHdlIGRvbid0IGdvIG92ZXIgdGhlIGtub3duIHBhZ2VzICovCisJCQlpZiAodHJhY2luZ19wYWdlc19hbGxvY2F0ZWQgPiBwYWdlc19yZXF1ZXN0ZWQpCisJCQkJYnJlYWs7CisJCX0KKworCX0gZWxzZSB7CisJCS8qIGluY2x1ZGUgdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHZhbCAoaW5jIG9mIHBhZ2UgZW50cmllcykgKi8KKwkJd2hpbGUgKGdsb2JhbF90cmFjZS5lbnRyaWVzID4gdmFsICsgKEVOVFJJRVNfUEVSX1BBR0UgLSAxKSkKKwkJCXRyYWNlX2ZyZWVfcGFnZSgpOworCX0KKworCS8qIGNoZWNrIGludGVncml0eSAqLworCWZvcl9lYWNoX3RyYWNpbmdfY3B1KGkpCisJCWNoZWNrX3BhZ2VzKGdsb2JhbF90cmFjZS5kYXRhW2ldKTsKKworCWZpbHAtPmZfcG9zICs9IGNudDsKKworCS8qIElmIGNoZWNrIHBhZ2VzIGZhaWxlZCwgcmV0dXJuIEVOT01FTSAqLworCWlmICh0cmFjaW5nX2Rpc2FibGVkKQorCQljbnQgPSAtRU5PTUVNOworIG91dDoKKwltYXhfdHIuZW50cmllcyA9IGdsb2JhbF90cmFjZS5lbnRyaWVzOworCW11dGV4X3VubG9jaygmdHJhY2VfdHlwZXNfbG9jayk7CisKKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX21heF9sYXRfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX21heF9sYXRfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19tYXhfbGF0X3dyaXRlLAorfTsKKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19jdHJsX2ZvcHMgPSB7CisJLm9wZW4JCT0gdHJhY2luZ19vcGVuX2dlbmVyaWMsCisJLnJlYWQJCT0gdHJhY2luZ19jdHJsX3JlYWQsCisJLndyaXRlCQk9IHRyYWNpbmdfY3RybF93cml0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHNldF90cmFjZXJfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX3NldF90cmFjZV9yZWFkLAorCS53cml0ZQkJPSB0cmFjaW5nX3NldF90cmFjZV93cml0ZSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHRyYWNpbmdfcGlwZV9mb3BzID0geworCS5vcGVuCQk9IHRyYWNpbmdfb3Blbl9waXBlLAorCS5wb2xsCQk9IHRyYWNpbmdfcG9sbF9waXBlLAorCS5yZWFkCQk9IHRyYWNpbmdfcmVhZF9waXBlLAorCS5yZWxlYXNlCT0gdHJhY2luZ19yZWxlYXNlX3BpcGUsCit9OworCitzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB0cmFjaW5nX2VudHJpZXNfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX2VudHJpZXNfcmVhZCwKKwkud3JpdGUJCT0gdHJhY2luZ19lbnRyaWVzX3dyaXRlLAorfTsKKworI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRQorCitzdGF0aWMgc3NpemVfdAordHJhY2luZ19yZWFkX2xvbmcoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgIHNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcykKK3sKKwl1bnNpZ25lZCBsb25nICpwID0gZmlscC0+cHJpdmF0ZV9kYXRhOworCWNoYXIgYnVmWzY0XTsKKwlpbnQgcjsKKworCXIgPSBzcHJpbnRmKGJ1ZiwgIiVsZFxuIiwgKnApOworCisJcmV0dXJuIHNpbXBsZV9yZWFkX2Zyb21fYnVmZmVyKHVidWYsIGNudCwgcHBvcywgYnVmLCByKTsKK30KKworc3RhdGljIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgdHJhY2luZ19yZWFkX2xvbmdfZm9wcyA9IHsKKwkub3BlbgkJPSB0cmFjaW5nX29wZW5fZ2VuZXJpYywKKwkucmVhZAkJPSB0cmFjaW5nX3JlYWRfbG9uZywKK307CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBkZW50cnkgKmRfdHJhY2VyOworCitzdHJ1Y3QgZGVudHJ5ICp0cmFjaW5nX2luaXRfZGVudHJ5KHZvaWQpCit7CisJc3RhdGljIGludCBvbmNlOworCisJaWYgKGRfdHJhY2VyKQorCQlyZXR1cm4gZF90cmFjZXI7CisKKwlkX3RyYWNlciA9IGRlYnVnZnNfY3JlYXRlX2RpcigidHJhY2luZyIsIE5VTEwpOworCisJaWYgKCFkX3RyYWNlciAmJiAhb25jZSkgeworCQlvbmNlID0gMTsKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzIGRpcmVjdG9yeSAndHJhY2luZydcbiIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gZF90cmFjZXI7Cit9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisvKiBMZXQgc2VsZnRlc3QgaGF2ZSBhY2Nlc3MgdG8gc3RhdGljIGZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgKi8KKyNpbmNsdWRlICJ0cmFjZV9zZWxmdGVzdC5jIgorI2VuZGlmCisKK3N0YXRpYyBfX2luaXQgdm9pZCB0cmFjZXJfaW5pdF9kZWJ1Z2ZzKHZvaWQpCit7CisJc3RydWN0IGRlbnRyeSAqZF90cmFjZXI7CisJc3RydWN0IGRlbnRyeSAqZW50cnk7CisKKwlkX3RyYWNlciA9IHRyYWNpbmdfaW5pdF9kZW50cnkoKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ19lbmFibGVkIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgICZnbG9iYWxfdHJhY2UsICZ0cmFjaW5nX2N0cmxfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjaW5nX2VuYWJsZWQnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgiaXRlcl9jdHJsIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZ0cmFjaW5nX2l0ZXJfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdpdGVyX2N0cmwnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2luZ19jcHVtYXNrIiwgMDY0NCwgZF90cmFjZXIsCisJCQkJICAgIE5VTEwsICZ0cmFjaW5nX2NwdW1hc2tfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjaW5nX2NwdW1hc2snIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgibGF0ZW5jeV90cmFjZSIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19sdF9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ2xhdGVuY3lfdHJhY2UnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2UiLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmdsb2JhbF90cmFjZSwgJnRyYWNpbmdfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJhdmFpbGFibGVfdHJhY2VycyIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmc2hvd190cmFjZXNfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICd0cmFjZScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJjdXJyZW50X3RyYWNlciIsIDA0NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmc2V0X3RyYWNlcl9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgJ3RyYWNlJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNpbmdfbWF4X2xhdGVuY3kiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJnRyYWNpbmdfbWF4X2xhdGVuY3ksCisJCQkJICAgICZ0cmFjaW5nX21heF9sYXRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ19tYXhfbGF0ZW5jeScgZW50cnlcbiIpOworCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJ0cmFjaW5nX3RocmVzaCIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmdHJhY2luZ190aHJlc2gsICZ0cmFjaW5nX21heF9sYXRfZm9wcyk7CisJaWYgKCFlbnRyeSkKKwkJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICIKKwkJCSAgICIndHJhY2luZ190aHJlYXNoJyBlbnRyeVxuIik7CisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJSRUFETUUiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfcmVhZG1lX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAnUkVBRE1FJyBlbnRyeVxuIik7CisKKwllbnRyeSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInRyYWNlX3BpcGUiLCAwNjQ0LCBkX3RyYWNlciwKKwkJCQkgICAgTlVMTCwgJnRyYWNpbmdfcGlwZV9mb3BzKTsKKwlpZiAoIWVudHJ5KQorCQlwcl93YXJuaW5nKCJDb3VsZCBub3QgY3JlYXRlIGRlYnVnZnMgIgorCQkJICAgIid0cmFjaW5nX3RocmVhc2gnIGVudHJ5XG4iKTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgidHJhY2VfZW50cmllcyIsIDA2NDQsIGRfdHJhY2VyLAorCQkJCSAgICAmZ2xvYmFsX3RyYWNlLCAmdHJhY2luZ19lbnRyaWVzX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ3RyYWNpbmdfdGhyZWFzaCcgZW50cnlcbiIpOworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCisJZW50cnkgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJkeW5fZnRyYWNlX3RvdGFsX2luZm8iLCAwNDQ0LCBkX3RyYWNlciwKKwkJCQkgICAgJmZ0cmFjZV91cGRhdGVfdG90X2NudCwKKwkJCQkgICAgJnRyYWNpbmdfcmVhZF9sb25nX2ZvcHMpOworCWlmICghZW50cnkpCisJCXByX3dhcm5pbmcoIkNvdWxkIG5vdCBjcmVhdGUgZGVidWdmcyAiCisJCQkgICAiJ2R5bl9mdHJhY2VfdG90YWxfaW5mbycgZW50cnlcbiIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX1NZU1BST0ZfVFJBQ0VSCisJaW5pdF90cmFjZXJfc3lzcHJvZl9kZWJ1Z2ZzKGRfdHJhY2VyKTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50IHRyYWNlX2FsbG9jX3BhZ2Uodm9pZCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0cnVjdCBwYWdlICpwYWdlLCAqdG1wOworCUxJU1RfSEVBRChwYWdlcyk7CisJdm9pZCAqYXJyYXk7CisJdW5zaWduZWQgcGFnZXNfYWxsb2NhdGVkID0gMDsKKwlpbnQgaTsKKworCS8qIGZpcnN0IGFsbG9jYXRlIGEgcGFnZSBmb3IgZWFjaCBDUFUgKi8KKwlmb3JfZWFjaF90cmFjaW5nX2NwdShpKSB7CisJCWFycmF5ID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmIChhcnJheSA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgInRyYWNlcjogZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2UiCisJCQkgICAgICAgImZvciB0cmFjZSBidWZmZXIhXG4iKTsKKwkJCWdvdG8gZnJlZV9wYWdlczsKKwkJfQorCisJCXBhZ2VzX2FsbG9jYXRlZCsrOworCQlwYWdlID0gdmlydF90b19wYWdlKGFycmF5KTsKKwkJbGlzdF9hZGQoJnBhZ2UtPmxydSwgJnBhZ2VzKTsKKworLyogT25seSBhbGxvY2F0ZSBpZiB3ZSBhcmUgYWN0dWFsbHkgdXNpbmcgdGhlIG1heCB0cmFjZSAqLworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWFycmF5ID0gKHZvaWQgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7CisJCWlmIChhcnJheSA9PSBOVUxMKSB7CisJCQlwcmludGsoS0VSTl9FUlIgInRyYWNlcjogZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2UiCisJCQkgICAgICAgImZvciB0cmFjZSBidWZmZXIhXG4iKTsKKwkJCWdvdG8gZnJlZV9wYWdlczsKKwkJfQorCQlwYWdlc19hbGxvY2F0ZWQrKzsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZwYWdlcyk7CisjZW5kaWYKKwl9CisKKwkvKiBOb3cgdGhhdCB3ZSBzdWNjZXNzZnVsbHkgYWxsb2NhdGUgYSBwYWdlIHBlciBDUFUsIGFkZCB0aGVtICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV07CisJCXBhZ2UgPSBsaXN0X2VudHJ5KHBhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQlsaXN0X2FkZF90YWlsKCZwYWdlLT5scnUsICZkYXRhLT50cmFjZV9wYWdlcyk7CisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKworI2lmZGVmIENPTkZJR19UUkFDRVJfTUFYX1RSQUNFCisJCWRhdGEgPSBtYXhfdHIuZGF0YVtpXTsKKwkJcGFnZSA9IGxpc3RfZW50cnkocGFnZXMubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCWxpc3RfYWRkX3RhaWwoJnBhZ2UtPmxydSwgJmRhdGEtPnRyYWNlX3BhZ2VzKTsKKwkJU2V0UGFnZUxSVShwYWdlKTsKKyNlbmRpZgorCX0KKwl0cmFjaW5nX3BhZ2VzX2FsbG9jYXRlZCArPSBwYWdlc19hbGxvY2F0ZWQ7CisJZ2xvYmFsX3RyYWNlLmVudHJpZXMgKz0gRU5UUklFU19QRVJfUEFHRTsKKworCXJldHVybiAwOworCisgZnJlZV9wYWdlczoKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLCAmcGFnZXMsIGxydSkgeworCQlsaXN0X2RlbF9pbml0KCZwYWdlLT5scnUpOworCQlfX2ZyZWVfcGFnZShwYWdlKTsKKwl9CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK3N0YXRpYyBpbnQgdHJhY2VfZnJlZV9wYWdlKHZvaWQpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCWludCBpOworCWludCByZXQgPSAwOworCisJLyogZnJlZSBvbmUgcGFnZSBmcm9tIGVhY2ggYnVmZmVyICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV07CisJCXAgPSBkYXRhLT50cmFjZV9wYWdlcy5uZXh0OworCQlpZiAocCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJCS8qIHNob3VsZCBuZXZlciBoYXBwZW4gKi8KKwkJCVdBUk5fT04oMSk7CisJCQl0cmFjaW5nX2Rpc2FibGVkID0gMTsKKwkJCXJldCA9IC0xOworCQkJYnJlYWs7CisJCX0KKwkJcGFnZSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKwkJbGlzdF9kZWwoJnBhZ2UtPmxydSk7CisJCXRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkLS07CisJCXRyYWNpbmdfcGFnZXNfYWxsb2NhdGVkLS07CisJCV9fZnJlZV9wYWdlKHBhZ2UpOworCisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisKKyNpZmRlZiBDT05GSUdfVFJBQ0VSX01BWF9UUkFDRQorCQlkYXRhID0gbWF4X3RyLmRhdGFbaV07CisJCXAgPSBkYXRhLT50cmFjZV9wYWdlcy5uZXh0OworCQlpZiAocCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJCS8qIHNob3VsZCBuZXZlciBoYXBwZW4gKi8KKwkJCVdBUk5fT04oMSk7CisJCQl0cmFjaW5nX2Rpc2FibGVkID0gMTsKKwkJCXJldCA9IC0xOworCQkJYnJlYWs7CisJCX0KKwkJcGFnZSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKwkJbGlzdF9kZWwoJnBhZ2UtPmxydSk7CisJCV9fZnJlZV9wYWdlKHBhZ2UpOworCisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisjZW5kaWYKKwl9CisJZ2xvYmFsX3RyYWNlLmVudHJpZXMgLT0gRU5UUklFU19QRVJfUEFHRTsKKworCXJldHVybiByZXQ7Cit9CisKK19faW5pdCBzdGF0aWMgaW50IHRyYWNlcl9hbGxvY19idWZmZXJzKHZvaWQpCit7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl2b2lkICphcnJheTsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgcGFnZXMgPSAwOworCWludCByZXQgPSAtRU5PTUVNOworCWludCBpOworCisJLyogVE9ETzogbWFrZSB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgaG90IHBsdWdnYWJsZSB3aXRoIENQVVMgKi8KKwl0cmFjaW5nX25yX2J1ZmZlcnMgPSBudW1fcG9zc2libGVfY3B1cygpOworCXRyYWNpbmdfYnVmZmVyX21hc2sgPSBjcHVfcG9zc2libGVfbWFwOworCisJLyogQWxsb2NhdGUgdGhlIGZpcnN0IHBhZ2UgZm9yIGFsbCBidWZmZXJzICovCisJZm9yX2VhY2hfdHJhY2luZ19jcHUoaSkgeworCQlkYXRhID0gZ2xvYmFsX3RyYWNlLmRhdGFbaV0gPSAmcGVyX2NwdShnbG9iYWxfdHJhY2VfY3B1LCBpKTsKKwkJbWF4X3RyLmRhdGFbaV0gPSAmcGVyX2NwdShtYXhfZGF0YSwgaSk7CisKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX2J1ZmZlcnM7CisJCX0KKworCQkvKiBzZXQgdGhlIGFycmF5IHRvIHRoZSBsaXN0ICovCisJCUlOSVRfTElTVF9IRUFEKCZkYXRhLT50cmFjZV9wYWdlcyk7CisJCXBhZ2UgPSB2aXJ0X3RvX3BhZ2UoYXJyYXkpOworCQlsaXN0X2FkZCgmcGFnZS0+bHJ1LCAmZGF0YS0+dHJhY2VfcGFnZXMpOworCQkvKiB1c2UgdGhlIExSVSBmbGFnIHRvIGRpZmZlcmVudGlhdGUgdGhlIHR3byBidWZmZXJzICovCisJCUNsZWFyUGFnZUxSVShwYWdlKTsKKworCQlkYXRhLT5sb2NrID0gKHJhd19zcGlubG9ja190KV9fUkFXX1NQSU5fTE9DS19VTkxPQ0tFRDsKKwkJbWF4X3RyLmRhdGFbaV0tPmxvY2sgPSAocmF3X3NwaW5sb2NrX3QpX19SQVdfU1BJTl9MT0NLX1VOTE9DS0VEOworCisvKiBPbmx5IGFsbG9jYXRlIGlmIHdlIGFyZSBhY3R1YWxseSB1c2luZyB0aGUgbWF4IHRyYWNlICovCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJYXJyYXkgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKKwkJaWYgKGFycmF5ID09IE5VTEwpIHsKKwkJCXByaW50ayhLRVJOX0VSUiAidHJhY2VyOiBmYWlsZWQgdG8gYWxsb2NhdGUgcGFnZSIKKwkJCSAgICAgICAiZm9yIHRyYWNlIGJ1ZmZlciFcbiIpOworCQkJZ290byBmcmVlX2J1ZmZlcnM7CisJCX0KKworCQlJTklUX0xJU1RfSEVBRCgmbWF4X3RyLmRhdGFbaV0tPnRyYWNlX3BhZ2VzKTsKKwkJcGFnZSA9IHZpcnRfdG9fcGFnZShhcnJheSk7CisJCWxpc3RfYWRkKCZwYWdlLT5scnUsICZtYXhfdHIuZGF0YVtpXS0+dHJhY2VfcGFnZXMpOworCQlTZXRQYWdlTFJVKHBhZ2UpOworI2VuZGlmCisJfQorCisJLyoKKwkgKiBTaW5jZSB3ZSBhbGxvY2F0ZSBieSBvcmRlcnMgb2YgcGFnZXMsIHdlIG1heSBiZSBhYmxlIHRvCisJICogcm91bmQgdXAgYSBiaXQuCisJICovCisJZ2xvYmFsX3RyYWNlLmVudHJpZXMgPSBFTlRSSUVTX1BFUl9QQUdFOworCXBhZ2VzKys7CisKKwl3aGlsZSAoZ2xvYmFsX3RyYWNlLmVudHJpZXMgPCB0cmFjZV9ucl9lbnRyaWVzKSB7CisJCWlmICh0cmFjZV9hbGxvY19wYWdlKCkpCisJCQlicmVhazsKKwkJcGFnZXMrKzsKKwl9CisJbWF4X3RyLmVudHJpZXMgPSBnbG9iYWxfdHJhY2UuZW50cmllczsKKworCXByX2luZm8oInRyYWNlcjogJWQgcGFnZXMgYWxsb2NhdGVkIGZvciAlbGQgZW50cmllcyBvZiAlbGQgYnl0ZXNcbiIsCisJCXBhZ2VzLCB0cmFjZV9ucl9lbnRyaWVzLCAobG9uZylUUkFDRV9FTlRSWV9TSVpFKTsKKwlwcl9pbmZvKCIgICBhY3R1YWwgZW50cmllcyAlbGRcbiIsIGdsb2JhbF90cmFjZS5lbnRyaWVzKTsKKworCXRyYWNlcl9pbml0X2RlYnVnZnMoKTsKKworCXRyYWNlX2luaXRfY21kbGluZXMoKTsKKworCXJlZ2lzdGVyX3RyYWNlcigmbm9fdHJhY2VyKTsKKwljdXJyZW50X3RyYWNlID0gJm5vX3RyYWNlcjsKKworCS8qIEFsbCBzZWVtcyBPSywgZW5hYmxlIHRyYWNpbmcgKi8KKwlnbG9iYWxfdHJhY2UuY3RybCA9IHRyYWNlcl9lbmFibGVkOworCXRyYWNpbmdfZGlzYWJsZWQgPSAwOworCisJcmV0dXJuIDA7CisKKyBmcmVlX2J1ZmZlcnM6CisJZm9yIChpLS0gOyBpID49IDA7IGktLSkgeworCQlzdHJ1Y3QgcGFnZSAqcGFnZSwgKnRtcDsKKwkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSA9IGdsb2JhbF90cmFjZS5kYXRhW2ldOworCisJCWlmIChkYXRhKSB7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocGFnZSwgdG1wLAorCQkJCQkJICZkYXRhLT50cmFjZV9wYWdlcywgbHJ1KSB7CisJCQkJbGlzdF9kZWxfaW5pdCgmcGFnZS0+bHJ1KTsKKwkJCQlfX2ZyZWVfcGFnZShwYWdlKTsKKwkJCX0KKwkJfQorCisjaWZkZWYgQ09ORklHX1RSQUNFUl9NQVhfVFJBQ0UKKwkJZGF0YSA9IG1heF90ci5kYXRhW2ldOworCQlpZiAoZGF0YSkgeworCQkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHBhZ2UsIHRtcCwKKwkJCQkJCSAmZGF0YS0+dHJhY2VfcGFnZXMsIGxydSkgeworCQkJCWxpc3RfZGVsX2luaXQoJnBhZ2UtPmxydSk7CisJCQkJX19mcmVlX3BhZ2UocGFnZSk7CisJCQl9CisJCX0KKyNlbmRpZgorCX0KKwlyZXR1cm4gcmV0OworfQorZnNfaW5pdGNhbGwodHJhY2VyX2FsbG9jX2J1ZmZlcnMpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlLmggYi9rZXJuZWwvdHJhY2UvdHJhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjlmODY3Ci0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlLmgKQEAgLTAsMCArMSwzMzkgQEAKKyNpZm5kZWYgX0xJTlVYX0tFUk5FTF9UUkFDRV9ICisjZGVmaW5lIF9MSU5VWF9LRVJORUxfVFJBQ0VfSAorCisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxhc20vYXRvbWljLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKyNpbmNsdWRlIDxsaW51eC9jbG9ja3NvdXJjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21taW90cmFjZS5oPgorCitlbnVtIHRyYWNlX3R5cGUgeworCV9fVFJBQ0VfRklSU1RfVFlQRSA9IDAsCisKKwlUUkFDRV9GTiwKKwlUUkFDRV9DVFgsCisJVFJBQ0VfV0FLRSwKKwlUUkFDRV9TVEFDSywKKwlUUkFDRV9TUEVDSUFMLAorCVRSQUNFX01NSU9fUlcsCisJVFJBQ0VfTU1JT19NQVAsCisKKwlfX1RSQUNFX0xBU1RfVFlQRQorfTsKKworLyoKKyAqIEZ1bmN0aW9uIHRyYWNlIGVudHJ5IC0gZnVuY3Rpb24gYWRkcmVzcyBhbmQgcGFyZW50IGZ1bmN0aW9uIGFkZHJlczoKKyAqLworc3RydWN0IGZ0cmFjZV9lbnRyeSB7CisJdW5zaWduZWQgbG9uZwkJaXA7CisJdW5zaWduZWQgbG9uZwkJcGFyZW50X2lwOworfTsKKworLyoKKyAqIENvbnRleHQgc3dpdGNoIHRyYWNlIGVudHJ5IC0gd2hpY2ggdGFzayAoYW5kIHByaW8pIHdlIHN3aXRjaGVkIGZyb20vdG86CisgKi8KK3N0cnVjdCBjdHhfc3dpdGNoX2VudHJ5IHsKKwl1bnNpZ25lZCBpbnQJCXByZXZfcGlkOworCXVuc2lnbmVkIGNoYXIJCXByZXZfcHJpbzsKKwl1bnNpZ25lZCBjaGFyCQlwcmV2X3N0YXRlOworCXVuc2lnbmVkIGludAkJbmV4dF9waWQ7CisJdW5zaWduZWQgY2hhcgkJbmV4dF9wcmlvOworCXVuc2lnbmVkIGNoYXIJCW5leHRfc3RhdGU7Cit9OworCisvKgorICogU3BlY2lhbCAoZnJlZS1mb3JtKSB0cmFjZSBlbnRyeToKKyAqLworc3RydWN0IHNwZWNpYWxfZW50cnkgeworCXVuc2lnbmVkIGxvbmcJCWFyZzE7CisJdW5zaWduZWQgbG9uZwkJYXJnMjsKKwl1bnNpZ25lZCBsb25nCQlhcmczOworfTsKKworLyoKKyAqIFN0YWNrLXRyYWNlIGVudHJ5OgorICovCisKKyNkZWZpbmUgRlRSQUNFX1NUQUNLX0VOVFJJRVMJOAorCitzdHJ1Y3Qgc3RhY2tfZW50cnkgeworCXVuc2lnbmVkIGxvbmcJCWNhbGxlcltGVFJBQ0VfU1RBQ0tfRU5UUklFU107Cit9OworCisvKgorICogVGhlIHRyYWNlIGVudHJ5IC0gdGhlIG1vc3QgYmFzaWMgdW5pdCBvZiB0cmFjaW5nLiBUaGlzIGlzIHdoYXQKKyAqIGlzIHByaW50ZWQgaW4gdGhlIGVuZCBhcyBhIHNpbmdsZSBsaW5lIGluIHRoZSB0cmFjZSBvdXRwdXQsIHN1Y2ggYXM6CisgKgorICogICAgIGJhc2gtMTU4MTYgWzAxXSAgIDIzNS4xOTc1ODU6IGlkbGVfY3B1IDwtIGlycV9lbnRlcgorICovCitzdHJ1Y3QgdHJhY2VfZW50cnkgeworCWNoYXIJCQl0eXBlOworCWNoYXIJCQljcHU7CisJY2hhcgkJCWZsYWdzOworCWNoYXIJCQlwcmVlbXB0X2NvdW50OworCWludAkJCXBpZDsKKwljeWNsZV90CQkJdDsKKwl1bmlvbiB7CisJCXN0cnVjdCBmdHJhY2VfZW50cnkJCWZuOworCQlzdHJ1Y3QgY3R4X3N3aXRjaF9lbnRyeQkJY3R4OworCQlzdHJ1Y3Qgc3BlY2lhbF9lbnRyeQkJc3BlY2lhbDsKKwkJc3RydWN0IHN0YWNrX2VudHJ5CQlzdGFjazsKKwkJc3RydWN0IG1taW90cmFjZV9ydwkJbW1pb3J3OworCQlzdHJ1Y3QgbW1pb3RyYWNlX21hcAkJbW1pb21hcDsKKwl9OworfTsKKworI2RlZmluZSBUUkFDRV9FTlRSWV9TSVpFCXNpemVvZihzdHJ1Y3QgdHJhY2VfZW50cnkpCisKKy8qCisgKiBUaGUgQ1BVIHRyYWNlIGFycmF5IC0gaXQgY29uc2lzdHMgb2YgdGhvdXNhbmRzIG9mIHRyYWNlIGVudHJpZXMKKyAqIHBsdXMgc29tZSBvdGhlciBkZXNjcmlwdG9yIGRhdGE6IChmb3IgZXhhbXBsZSB3aGljaCB0YXNrIHN0YXJ0ZWQKKyAqIHRoZSB0cmFjZSwgZXRjLikKKyAqLworc3RydWN0IHRyYWNlX2FycmF5X2NwdSB7CisJc3RydWN0IGxpc3RfaGVhZAl0cmFjZV9wYWdlczsKKwlhdG9taWNfdAkJZGlzYWJsZWQ7CisJcmF3X3NwaW5sb2NrX3QJCWxvY2s7CisJc3RydWN0IGxvY2tfY2xhc3Nfa2V5CWxvY2tfa2V5OworCisJLyogdGhlc2UgZmllbGRzIGdldCBjb3BpZWQgaW50byBtYXgtdHJhY2U6ICovCisJdW5zaWduZWQJCXRyYWNlX2hlYWRfaWR4OworCXVuc2lnbmVkCQl0cmFjZV90YWlsX2lkeDsKKwl2b2lkCQkJKnRyYWNlX2hlYWQ7IC8qIHByb2R1Y2VyICovCisJdm9pZAkJCSp0cmFjZV90YWlsOyAvKiBjb25zdW1lciAqLworCXVuc2lnbmVkIGxvbmcJCXRyYWNlX2lkeDsKKwl1bnNpZ25lZCBsb25nCQlvdmVycnVuOworCXVuc2lnbmVkIGxvbmcJCXNhdmVkX2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZwkJY3JpdGljYWxfc3RhcnQ7CisJdW5zaWduZWQgbG9uZwkJY3JpdGljYWxfZW5kOworCXVuc2lnbmVkIGxvbmcJCWNyaXRpY2FsX3NlcXVlbmNlOworCXVuc2lnbmVkIGxvbmcJCW5pY2U7CisJdW5zaWduZWQgbG9uZwkJcG9saWN5OworCXVuc2lnbmVkIGxvbmcJCXJ0X3ByaW9yaXR5OworCWN5Y2xlX3QJCQlwcmVlbXB0X3RpbWVzdGFtcDsKKwlwaWRfdAkJCXBpZDsKKwl1aWRfdAkJCXVpZDsKKwljaGFyCQkJY29tbVtUQVNLX0NPTU1fTEVOXTsKK307CisKK3N0cnVjdCB0cmFjZV9pdGVyYXRvcjsKKworLyoKKyAqIFRoZSB0cmFjZSBhcnJheSAtIGFuIGFycmF5IG9mIHBlci1DUFUgdHJhY2UgYXJyYXlzLiBUaGlzIGlzIHRoZQorICogaGlnaGVzdCBsZXZlbCBkYXRhIHN0cnVjdHVyZSB0aGF0IGluZGl2aWR1YWwgdHJhY2VycyBkZWFsIHdpdGguCisgKiBUaGV5IGhhdmUgb24vb2ZmIHN0YXRlIGFzIHdlbGw6CisgKi8KK3N0cnVjdCB0cmFjZV9hcnJheSB7CisJdW5zaWduZWQgbG9uZwkJZW50cmllczsKKwlsb25nCQkJY3RybDsKKwlpbnQJCQljcHU7CisJY3ljbGVfdAkJCXRpbWVfc3RhcnQ7CisJc3RydWN0IHRhc2tfc3RydWN0CSp3YWl0ZXI7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdQkqZGF0YVtOUl9DUFVTXTsKK307CisKKy8qCisgKiBBIHNwZWNpZmljIHRyYWNlciwgcmVwcmVzZW50ZWQgYnkgbWV0aG9kcyB0aGF0IG9wZXJhdGUgb24gYSB0cmFjZSBhcnJheToKKyAqLworc3RydWN0IHRyYWNlciB7CisJY29uc3QgY2hhcgkJKm5hbWU7CisJdm9pZAkJCSgqaW5pdCkoc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisJdm9pZAkJCSgqcmVzZXQpKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworCXZvaWQJCQkoKm9wZW4pKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJdm9pZAkJCSgqcGlwZV9vcGVuKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKmNsb3NlKShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKnN0YXJ0KShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpOworCXZvaWQJCQkoKnN0b3ApKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcik7CisJc3NpemVfdAkJCSgqcmVhZCkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLAorCQkJCQlzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKnVidWYsCisJCQkJCXNpemVfdCBjbnQsIGxvZmZfdCAqcHBvcyk7CisJdm9pZAkJCSgqY3RybF91cGRhdGUpKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2lmZGVmIENPTkZJR19GVFJBQ0VfU1RBUlRVUF9URVNUCisJaW50CQkJKCpzZWxmdGVzdCkoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorCWludAkJCSgqcHJpbnRfbGluZSkoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKTsKKwlzdHJ1Y3QgdHJhY2VyCQkqbmV4dDsKKwlpbnQJCQlwcmludF9tYXg7Cit9OworCitzdHJ1Y3QgdHJhY2Vfc2VxIHsKKwl1bnNpZ25lZCBjaGFyCQlidWZmZXJbUEFHRV9TSVpFXTsKKwl1bnNpZ25lZCBpbnQJCWxlbjsKKwl1bnNpZ25lZCBpbnQJCXJlYWRwb3M7Cit9OworCisvKgorICogVHJhY2UgaXRlcmF0b3IgLSB1c2VkIGJ5IHByaW50b3V0IHJvdXRpbmVzIHdobyBwcmVzZW50IHRyYWNlCisgKiByZXN1bHRzIHRvIHVzZXJzIGFuZCB3aGljaCByb3V0aW5lcyBtaWdodCBzbGVlcCwgZXRjOgorICovCitzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgeworCXN0cnVjdCB0cmFjZV9hcnJheQkqdHI7CisJc3RydWN0IHRyYWNlcgkJKnRyYWNlOworCXZvaWQJCQkqcHJpdmF0ZTsKKwlsb25nCQkJbGFzdF9vdmVycnVuW05SX0NQVVNdOworCWxvbmcJCQlvdmVycnVuW05SX0NQVVNdOworCisJLyogVGhlIGJlbG93IGlzIHplcm9lZCBvdXQgaW4gcGlwZV9yZWFkICovCisJc3RydWN0IHRyYWNlX3NlcQlzZXE7CisJc3RydWN0IHRyYWNlX2VudHJ5CSplbnQ7CisJaW50CQkJY3B1OworCisJc3RydWN0IHRyYWNlX2VudHJ5CSpwcmV2X2VudDsKKwlpbnQJCQlwcmV2X2NwdTsKKworCXVuc2lnbmVkIGxvbmcJCWl0ZXJfZmxhZ3M7CisJbG9mZl90CQkJcG9zOworCXVuc2lnbmVkIGxvbmcJCW5leHRfaWR4W05SX0NQVVNdOworCXN0cnVjdCBsaXN0X2hlYWQJKm5leHRfcGFnZVtOUl9DUFVTXTsKKwl1bnNpZ25lZAkJbmV4dF9wYWdlX2lkeFtOUl9DUFVTXTsKKwlsb25nCQkJaWR4OworfTsKKwordm9pZCB0cmFjaW5nX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpOworaW50IHRyYWNpbmdfb3Blbl9nZW5lcmljKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxwKTsKK3N0cnVjdCBkZW50cnkgKnRyYWNpbmdfaW5pdF9kZW50cnkodm9pZCk7Cit2b2lkIGluaXRfdHJhY2VyX3N5c3Byb2ZfZGVidWdmcyhzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcik7CisKK3ZvaWQgZnRyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCSAgICB1bnNpZ25lZCBsb25nIGlwLAorCQkJICAgIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAorCQkJICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOwordm9pZCB0cmFjaW5nX3NjaGVkX3N3aXRjaF90cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCwKKwkJCQl1bnNpZ25lZCBsb25nIGZsYWdzKTsKK3ZvaWQgdHJhY2luZ19yZWNvcmRfY21kbGluZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayk7CisKK3ZvaWQgdHJhY2luZ19zY2hlZF93YWtldXBfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJCQlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqd2FrZWUsCisJCQkJc3RydWN0IHRhc2tfc3RydWN0ICpjdXIsCisJCQkJdW5zaWduZWQgbG9uZyBmbGFncyk7Cit2b2lkIHRyYWNlX3NwZWNpYWwoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgdW5zaWduZWQgbG9uZyBhcmcxLAorCQkgICB1bnNpZ25lZCBsb25nIGFyZzIsCisJCSAgIHVuc2lnbmVkIGxvbmcgYXJnMyk7Cit2b2lkIHRyYWNlX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCSAgICBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhLAorCQkgICAgdW5zaWduZWQgbG9uZyBpcCwKKwkJICAgIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAorCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncyk7CisKK3ZvaWQgdHJhY2luZ19zdGFydF9jbWRsaW5lX3JlY29yZCh2b2lkKTsKK3ZvaWQgdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKHZvaWQpOworaW50IHJlZ2lzdGVyX3RyYWNlcihzdHJ1Y3QgdHJhY2VyICp0eXBlKTsKK3ZvaWQgdW5yZWdpc3Rlcl90cmFjZXIoc3RydWN0IHRyYWNlciAqdHlwZSk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIG5zZWNzX3RvX3VzZWNzKHVuc2lnbmVkIGxvbmcgbnNlY3MpOworCitleHRlcm4gdW5zaWduZWQgbG9uZyB0cmFjaW5nX21heF9sYXRlbmN5OworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgdHJhY2luZ190aHJlc2g7CisKK3ZvaWQgdXBkYXRlX21heF90cihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNwdSk7Cit2b2lkIHVwZGF0ZV9tYXhfdHJfc2luZ2xlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkgIHN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrLCBpbnQgY3B1KTsKKworZXh0ZXJuIGN5Y2xlX3QgZnRyYWNlX25vdyhpbnQgY3B1KTsKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKK3ZvaWQgdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSh2b2lkKTsKK3ZvaWQgdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKHZvaWQpOworI2Vsc2UKKyMgZGVmaW5lIHRyYWNpbmdfc3RhcnRfZnVuY3Rpb25fdHJhY2UoKQkJZG8geyB9IHdoaWxlICgwKQorIyBkZWZpbmUgdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKCkJCWRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUgordHlwZWRlZiB2b2lkCisoKnRyYWNlcl9zd2l0Y2hfZnVuY190KSh2b2lkICpwcml2YXRlLAorCQkJdm9pZCAqX19ycSwKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCk7CisKK3N0cnVjdCB0cmFjZXJfc3dpdGNoX29wcyB7CisJdHJhY2VyX3N3aXRjaF9mdW5jX3QJCWZ1bmM7CisJdm9pZAkJCQkqcHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2VyX3N3aXRjaF9vcHMJKm5leHQ7Cit9OworCisjZW5kaWYgLyogQ09ORklHX0NPTlRFWFRfU1dJVENIX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFCitleHRlcm4gdW5zaWduZWQgbG9uZyBmdHJhY2VfdXBkYXRlX3RvdF9jbnQ7CisjZGVmaW5lIERZTl9GVFJBQ0VfVEVTVF9OQU1FIHRyYWNlX3NlbGZ0ZXN0X2R5bmFtaWNfdGVzdF9mdW5jCitleHRlcm4gaW50IERZTl9GVFJBQ0VfVEVTVF9OQU1FKHZvaWQpOworI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfTU1JT1RSQUNFCitleHRlcm4gdm9pZCBfX3RyYWNlX21taW90cmFjZV9ydyhzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEsCisJCQkJc3RydWN0IG1taW90cmFjZV9ydyAqcncpOworZXh0ZXJuIHZvaWQgX190cmFjZV9tbWlvdHJhY2VfbWFwKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIsCisJCQkJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJCQlzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbWFwKTsKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TVEFSVFVQX1RFU1QKKyNpZmRlZiBDT05GSUdfRlRSQUNFCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZnVuY3Rpb24oc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworI2VuZGlmCisjaWZkZWYgQ09ORklHX0lSUVNPRkZfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfaXJxc29mZihzdHJ1Y3QgdHJhY2VyICp0cmFjZSwKKwkJCQkJICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKTsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgorZXh0ZXJuIGludCB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCSAgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZiBkZWZpbmVkKENPTkZJR19JUlFTT0ZGX1RSQUNFUikgJiYgZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfcHJlZW1wdGlycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsCisJCQkJCQkgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU0NIRURfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfd2FrZXVwKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSCitleHRlcm4gaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc2NoZWRfc3dpdGNoKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICAgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfU1lTUFJPRl9UUkFDRVIKK2V4dGVybiBpbnQgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zeXNwcm9mKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICAgICAgc3RydWN0IHRyYWNlX2FycmF5ICp0cik7CisjZW5kaWYKKyNlbmRpZiAvKiBDT05GSUdfRlRSQUNFX1NUQVJUVVBfVEVTVCAqLworCitleHRlcm4gdm9pZCAqaGVhZF9wYWdlKHN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEpOworZXh0ZXJuIGludCB0cmFjZV9zZXFfcHJpbnRmKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK2V4dGVybiBzc2l6ZV90IHRyYWNlX3NlcV90b191c2VyKHN0cnVjdCB0cmFjZV9zZXEgKnMsIGNoYXIgX191c2VyICp1YnVmLAorCQkJCSBzaXplX3QgY250KTsKK2V4dGVybiBsb25nIG5zMnVzZWNzKGN5Y2xlX3QgbnNlYyk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIHRyYWNlX2ZsYWdzOworCisvKgorICogdHJhY2VfaXRlcmF0b3JfZmxhZ3MgaXMgYW4gZW51bWVyYXRpb24gdGhhdCBkZWZpbmVzIGJpdAorICogcG9zaXRpb25zIGludG8gdHJhY2VfZmxhZ3MgdGhhdCBjb250cm9scyB0aGUgb3V0cHV0LgorICoKKyAqIE5PVEU6IFRoZXNlIGJpdHMgbXVzdCBtYXRjaCB0aGUgdHJhY2Vfb3B0aW9ucyBhcnJheSBpbgorICogICAgICAgdHJhY2UuYy4KKyAqLworZW51bSB0cmFjZV9pdGVyYXRvcl9mbGFncyB7CisJVFJBQ0VfSVRFUl9QUklOVF9QQVJFTlQJCT0gMHgwMSwKKwlUUkFDRV9JVEVSX1NZTV9PRkZTRVQJCT0gMHgwMiwKKwlUUkFDRV9JVEVSX1NZTV9BRERSCQk9IDB4MDQsCisJVFJBQ0VfSVRFUl9WRVJCT1NFCQk9IDB4MDgsCisJVFJBQ0VfSVRFUl9SQVcJCQk9IDB4MTAsCisJVFJBQ0VfSVRFUl9IRVgJCQk9IDB4MjAsCisJVFJBQ0VfSVRFUl9CSU4JCQk9IDB4NDAsCisJVFJBQ0VfSVRFUl9CTE9DSwkJPSAweDgwLAorCVRSQUNFX0lURVJfU1RBQ0tUUkFDRQkJPSAweDEwMCwKKwlUUkFDRV9JVEVSX1NDSEVEX1RSRUUJCT0gMHgyMDAsCit9OworCisjZW5kaWYgLyogX0xJTlVYX0tFUk5FTF9UUkFDRV9IICovCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2VfZnVuY3Rpb25zLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2VfZnVuY3Rpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyMTQ0OAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9mdW5jdGlvbnMuYwpAQCAtMCwwICsxLDgxIEBACisvKgorICogcmluZyBidWZmZXIgYmFzZWQgZnVuY3Rpb24gdHJhY2VyCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gY29kZSBmcm9tIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfZnVuY3Rpb25fdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwl0ci0+Y3B1ID0gZ2V0X2NwdSgpOworCWZ1bmN0aW9uX3Jlc2V0KHRyKTsKKwlwdXRfY3B1KCk7CisKKwl0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKCk7CisJdHJhY2luZ19zdGFydF9mdW5jdGlvbl90cmFjZSgpOworfQorCitzdGF0aWMgdm9pZCBzdG9wX2Z1bmN0aW9uX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2luZ19zdG9wX2Z1bmN0aW9uX3RyYWNlKCk7CisJdHJhY2luZ19zdG9wX2NtZGxpbmVfcmVjb3JkKCk7Cit9CisKK3N0YXRpYyB2b2lkIGZ1bmN0aW9uX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X2Z1bmN0aW9uX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHZvaWQgZnVuY3Rpb25fdHJhY2VfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpZiAodHItPmN0cmwpCisJCXN0b3BfZnVuY3Rpb25fdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBmdW5jdGlvbl90cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfZnVuY3Rpb25fdHJhY2UodHIpOworCWVsc2UKKwkJc3RvcF9mdW5jdGlvbl90cmFjZSh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIGZ1bmN0aW9uX3RyYWNlIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCSAgICAgPSAiZnRyYWNlIiwKKwkuaW5pdAkgICAgID0gZnVuY3Rpb25fdHJhY2VfaW5pdCwKKwkucmVzZXQJICAgICA9IGZ1bmN0aW9uX3RyYWNlX3Jlc2V0LAorCS5jdHJsX3VwZGF0ZSA9IGZ1bmN0aW9uX3RyYWNlX2N0cmxfdXBkYXRlLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2Z1bmN0aW9uLAorI2VuZGlmCit9OworCitzdGF0aWMgX19pbml0IGludCBpbml0X2Z1bmN0aW9uX3RyYWNlKHZvaWQpCit7CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmZnVuY3Rpb25fdHJhY2UpOworfQorCitkZXZpY2VfaW5pdGNhbGwoaW5pdF9mdW5jdGlvbl90cmFjZSk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2VfaXJxc29mZi5jIGIva2VybmVsL3RyYWNlL3RyYWNlX2lycXNvZmYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjFkNmZlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX2lycXNvZmYuYwpAQCAtMCwwICsxLDQ4NiBAQAorLyoKKyAqIHRyYWNlIGlycXMgb2ZmIGNyaXRpY2FsbCB0aW1pbmdzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDggU3RldmVuIFJvc3RlZHQgPHNyb3N0ZWR0QHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggSW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CisgKgorICogRnJvbSBjb2RlIGluIHRoZSBsYXRlbmN5X3RyYWNlciwgdGhhdCBpczoKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDYgSW5nbyBNb2xuYXIKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQgV2lsbGlhbSBMZWUgSXJ3aW4gSUlJCisgKi8KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJCSppcnFzb2ZmX3RyYWNlIF9fcmVhZF9tb3N0bHk7CitzdGF0aWMgaW50CQkJCXRyYWNlcl9lbmFibGVkIF9fcmVhZF9tb3N0bHk7CisKK3N0YXRpYyBERUZJTkVfUEVSX0NQVShpbnQsIHRyYWNpbmdfY3B1KTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyhtYXhfdHJhY2VfbG9jayk7CisKK2VudW0geworCVRSQUNFUl9JUlFTX09GRgkJPSAoMSA8PCAxKSwKKwlUUkFDRVJfUFJFRU1QVF9PRkYJPSAoMSA8PCAyKSwKK307CisKK3N0YXRpYyBpbnQgdHJhY2VfdHlwZSBfX3JlYWRfbW9zdGx5OworCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitzdGF0aWMgaW5saW5lIGludAorcHJlZW1wdF90cmFjZSh2b2lkKQoreworCXJldHVybiAoKHRyYWNlX3R5cGUgJiBUUkFDRVJfUFJFRU1QVF9PRkYpICYmIHByZWVtcHRfY291bnQoKSk7Cit9CisjZWxzZQorIyBkZWZpbmUgcHJlZW1wdF90cmFjZSgpICgwKQorI2VuZGlmCisKKyNpZmRlZiBDT05GSUdfSVJRU09GRl9UUkFDRVIKK3N0YXRpYyBpbmxpbmUgaW50CitpcnFfdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gKCh0cmFjZV90eXBlICYgVFJBQ0VSX0lSUVNfT0ZGKSAmJgorCQlpcnFzX2Rpc2FibGVkKCkpOworfQorI2Vsc2UKKyMgZGVmaW5lIGlycV90cmFjZSgpICgwKQorI2VuZGlmCisKKy8qCisgKiBTZXF1ZW5jZSBjb3VudCAtIHdlIHJlY29yZCBpdCB3aGVuIHN0YXJ0aW5nIGEgbWVhc3VyZW1lbnQgYW5kCisgKiBza2lwIHRoZSBsYXRlbmN5IGlmIHRoZSBzZXF1ZW5jZSBoYXMgY2hhbmdlZCAtIHNvbWUgb3RoZXIgc2VjdGlvbgorICogZGlkIGEgbWF4aW11bSBhbmQgY291bGQgZGlzdHVyYiBvdXIgbWVhc3VyZW1lbnQgd2l0aCBzZXJpYWwgY29uc29sZQorICogcHJpbnRvdXRzLCBldGMuIFRydWx5IGNvaW5jaWRpbmcgbWF4aW11bSBsYXRlbmNpZXMgc2hvdWxkIGJlIHJhcmUKKyAqIGFuZCB3aGF0IGhhcHBlbnMgdG9nZXRoZXIgaGFwcGVucyBzZXBhcmF0ZWx5IGFzIHdlbGwsIHNvIHRoaXMgZG9lc250CisgKiBkZWNyZWFzZSB0aGUgdmFsaWRpdHkgb2YgdGhlIG1heGltdW0gZm91bmQ6CisgKi8KK3N0YXRpYyBfX2NhY2hlbGluZV9hbGlnbmVkX2luX3NtcAl1bnNpZ25lZCBsb25nIG1heF9zZXF1ZW5jZTsKKworI2lmZGVmIENPTkZJR19GVFJBQ0UKKy8qCisgKiBpcnFzb2ZmIHVzZXMgaXRzIG93biB0cmFjZXIgZnVuY3Rpb24gdG8ga2VlcCB0aGUgb3ZlcmhlYWQgZG93bjoKKyAqLworc3RhdGljIHZvaWQKK2lycXNvZmZfdHJhY2VyX2NhbGwodW5zaWduZWQgbG9uZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGlycXNvZmZfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IGNwdTsKKworCS8qCisJICogRG9lcyBub3QgbWF0dGVyIGlmIHdlIHByZWVtcHQuIFdlIHRlc3QgdGhlIGZsYWdzCisJICogYWZ0ZXJ3YXJkLCB0byBzZWUgaWYgaXJxcyBhcmUgZGlzYWJsZWQgb3Igbm90LgorCSAqIElmIHdlIHByZWVtcHQgYW5kIGdldCBhIGZhbHNlIHBvc2l0aXZlLCB0aGUgZmxhZ3MKKwkgKiB0ZXN0IHdpbGwgZmFpbC4KKwkgKi8KKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWlmIChsaWtlbHkoIXBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkpKQorCQlyZXR1cm47CisKKwlsb2NhbF9zYXZlX2ZsYWdzKGZsYWdzKTsKKwkvKiBzbGlnaHQgY2hhbmNlIHRvIGdldCBhIGZhbHNlIHBvc2l0aXZlIG9uIHRyYWNpbmdfY3B1ICovCisJaWYgKCFpcnFzX2Rpc2FibGVkX2ZsYWdzKGZsYWdzKSkKKwkJcmV0dXJuOworCisJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJZGlzYWJsZWQgPSBhdG9taWNfaW5jX3JldHVybigmZGF0YS0+ZGlzYWJsZWQpOworCisJaWYgKGxpa2VseShkaXNhYmxlZCA9PSAxKSkKKwkJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCWF0b21pY19kZWMoJmRhdGEtPmRpc2FibGVkKTsKK30KKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzIHRyYWNlX29wcyBfX3JlYWRfbW9zdGx5ID0KK3sKKwkuZnVuYyA9IGlycXNvZmZfdHJhY2VyX2NhbGwsCit9OworI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworLyoKKyAqIFNob3VsZCB0aGlzIG5ldyBsYXRlbmN5IGJlIHJlcG9ydGVkL3JlY29yZGVkPworICovCitzdGF0aWMgaW50IHJlcG9ydF9sYXRlbmN5KGN5Y2xlX3QgZGVsdGEpCit7CisJaWYgKHRyYWNpbmdfdGhyZXNoKSB7CisJCWlmIChkZWx0YSA8IHRyYWNpbmdfdGhyZXNoKQorCQkJcmV0dXJuIDA7CisJfSBlbHNlIHsKKwkJaWYgKGRlbHRhIDw9IHRyYWNpbmdfbWF4X2xhdGVuY3kpCisJCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkCitjaGVja19jcml0aWNhbF90aW1pbmcoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwKKwkJICAgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSwKKwkJICAgICAgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCisJCSAgICAgIGludCBjcHUpCit7CisJdW5zaWduZWQgbG9uZyBsYXRlbmN5LCB0MCwgdDE7CisJY3ljbGVfdCBUMCwgVDEsIGRlbHRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwkvKgorCSAqIHVzZWNzIGNvbnZlcnNpb24gaXMgc2xvdyBzbyB3ZSB0cnkgdG8gZGVsYXkgdGhlIGNvbnZlcnNpb24KKwkgKiBhcyBsb25nIGFzIHBvc3NpYmxlOgorCSAqLworCVQwID0gZGF0YS0+cHJlZW1wdF90aW1lc3RhbXA7CisJVDEgPSBmdHJhY2Vfbm93KGNwdSk7CisJZGVsdGEgPSBUMS1UMDsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCisJaWYgKCFyZXBvcnRfbGF0ZW5jeShkZWx0YSkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJm1heF90cmFjZV9sb2NrLCBmbGFncyk7CisKKwkvKiBjaGVjayBpZiB3ZSBhcmUgc3RpbGwgdGhlIG1heCBsYXRlbmN5ICovCisJaWYgKCFyZXBvcnRfbGF0ZW5jeShkZWx0YSkpCisJCWdvdG8gb3V0X3VubG9jazsKKworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBDQUxMRVJfQUREUjAsIHBhcmVudF9pcCwgZmxhZ3MpOworCisJbGF0ZW5jeSA9IG5zZWNzX3RvX3VzZWNzKGRlbHRhKTsKKworCWlmIChkYXRhLT5jcml0aWNhbF9zZXF1ZW5jZSAhPSBtYXhfc2VxdWVuY2UpCisJCWdvdG8gb3V0X3VubG9jazsKKworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSBkZWx0YTsKKwl0MCA9IG5zZWNzX3RvX3VzZWNzKFQwKTsKKwl0MSA9IG5zZWNzX3RvX3VzZWNzKFQxKTsKKworCWRhdGEtPmNyaXRpY2FsX2VuZCA9IHBhcmVudF9pcDsKKworCXVwZGF0ZV9tYXhfdHJfc2luZ2xlKHRyLCBjdXJyZW50LCBjcHUpOworCisJbWF4X3NlcXVlbmNlKys7CisKK291dF91bmxvY2s6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmbWF4X3RyYWNlX2xvY2ssIGZsYWdzKTsKKworb3V0OgorCWRhdGEtPmNyaXRpY2FsX3NlcXVlbmNlID0gbWF4X3NlcXVlbmNlOworCWRhdGEtPnByZWVtcHRfdGltZXN0YW1wID0gZnRyYWNlX25vdyhjcHUpOworCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIENBTExFUl9BRERSMCwgcGFyZW50X2lwLCBmbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorc3RhcnRfY3JpdGljYWxfdGltaW5nKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCWludCBjcHU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGlycXNvZmZfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYgKGxpa2VseSghdHJhY2VyX2VuYWJsZWQpKQorCQlyZXR1cm47CisKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCisJaWYgKHBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkpCisJCXJldHVybjsKKworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCisJaWYgKHVubGlrZWx5KCFkYXRhKSB8fCBhdG9taWNfcmVhZCgmZGF0YS0+ZGlzYWJsZWQpKQorCQlyZXR1cm47CisKKwlhdG9taWNfaW5jKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlkYXRhLT5jcml0aWNhbF9zZXF1ZW5jZSA9IG1heF9zZXF1ZW5jZTsKKwlkYXRhLT5wcmVlbXB0X3RpbWVzdGFtcCA9IGZ0cmFjZV9ub3coY3B1KTsKKwlkYXRhLT5jcml0aWNhbF9zdGFydCA9IHBhcmVudF9pcCA/IDogaXA7CisJdHJhY2luZ19yZXNldChkYXRhKTsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIGlwLCBwYXJlbnRfaXAsIGZsYWdzKTsKKworCXBlcl9jcHUodHJhY2luZ19jcHUsIGNwdSkgPSAxOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3N0b3BfY3JpdGljYWxfdGltaW5nKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCWludCBjcHU7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IGlycXNvZmZfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwkvKiBBbHdheXMgY2xlYXIgdGhlIHRyYWNpbmcgY3B1IG9uIHN0b3BwaW5nIHRoZSB0cmFjZSAqLworCWlmICh1bmxpa2VseShwZXJfY3B1KHRyYWNpbmdfY3B1LCBjcHUpKSkKKwkJcGVyX2NwdSh0cmFjaW5nX2NwdSwgY3B1KSA9IDA7CisJZWxzZQorCQlyZXR1cm47CisKKwlpZiAoIXRyYWNlcl9lbmFibGVkKQorCQlyZXR1cm47CisKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKworCWlmICh1bmxpa2VseSghZGF0YSkgfHwgdW5saWtlbHkoIWhlYWRfcGFnZShkYXRhKSkgfHwKKwkgICAgIWRhdGEtPmNyaXRpY2FsX3N0YXJ0IHx8IGF0b21pY19yZWFkKCZkYXRhLT5kaXNhYmxlZCkpCisJCXJldHVybjsKKworCWF0b21pY19pbmMoJmRhdGEtPmRpc2FibGVkKTsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisJY2hlY2tfY3JpdGljYWxfdGltaW5nKHRyLCBkYXRhLCBwYXJlbnRfaXAgPyA6IGlwLCBjcHUpOworCWRhdGEtPmNyaXRpY2FsX3N0YXJ0ID0gMDsKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7Cit9CisKKy8qIHN0YXJ0IGFuZCBzdG9wIGNyaXRpY2FsIHRpbWluZ3MgdXNlZCB0byBmb3Igc3RvcHBhZ2UgKGluIGlkbGUpICovCit2b2lkIHN0YXJ0X2NyaXRpY2FsX3RpbWluZ3Modm9pZCkKK3sKKwlpZiAocHJlZW1wdF90cmFjZSgpIHx8IGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorCit2b2lkIHN0b3BfY3JpdGljYWxfdGltaW5ncyh2b2lkKQoreworCWlmIChwcmVlbXB0X3RyYWNlKCkgfHwgaXJxX3RyYWNlKCkpCisJCXN0b3BfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgQ0FMTEVSX0FERFIxKTsKK30KKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorI2lmZGVmIENPTkZJR19QUk9WRV9MT0NLSU5HCit2b2lkIHRpbWVfaGFyZGlycXNfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKwordm9pZCB0aW1lX2hhcmRpcnFzX29mZih1bnNpZ25lZCBsb25nIGEwLCB1bnNpZ25lZCBsb25nIGExKQoreworCWlmICghcHJlZW1wdF90cmFjZSgpICYmIGlycV90cmFjZSgpKQorCQlzdGFydF9jcml0aWNhbF90aW1pbmcoYTAsIGExKTsKK30KKworI2Vsc2UgLyogIUNPTkZJR19QUk9WRV9MT0NLSU5HICovCisKKy8qCisgKiBTdHViczoKKyAqLworCit2b2lkIGVhcmx5X2Jvb3RfaXJxc19vZmYodm9pZCkKK3sKK30KKwordm9pZCBlYXJseV9ib290X2lycXNfb24odm9pZCkKK3sKK30KKwordm9pZCB0cmFjZV9zb2Z0aXJxc19vbih1bnNpZ25lZCBsb25nIGlwKQoreworfQorCit2b2lkIHRyYWNlX3NvZnRpcnFzX29mZih1bnNpZ25lZCBsb25nIGlwKQoreworfQorCitpbmxpbmUgdm9pZCBwcmludF9pcnF0cmFjZV9ldmVudHMoc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyKQoreworfQorCisvKgorICogV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBoYXJkaXJxIG9uL29mZiBldmVudHM6CisgKi8KK3ZvaWQgdHJhY2VfaGFyZGlycXNfb24odm9pZCkKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RvcF9jcml0aWNhbF90aW1pbmcoQ0FMTEVSX0FERFIwLCBDQUxMRVJfQUREUjEpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbik7CisKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb2ZmKHZvaWQpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0YXJ0X2NyaXRpY2FsX3RpbWluZyhDQUxMRVJfQUREUjAsIENBTExFUl9BRERSMSk7Cit9CitFWFBPUlRfU1lNQk9MKHRyYWNlX2hhcmRpcnFzX29mZik7CisKK3ZvaWQgdHJhY2VfaGFyZGlycXNfb25fY2FsbGVyKHVuc2lnbmVkIGxvbmcgY2FsbGVyX2FkZHIpCit7CisJaWYgKCFwcmVlbXB0X3RyYWNlKCkgJiYgaXJxX3RyYWNlKCkpCisJCXN0b3BfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgY2FsbGVyX2FkZHIpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vbl9jYWxsZXIpOworCit2b2lkIHRyYWNlX2hhcmRpcnFzX29mZl9jYWxsZXIodW5zaWduZWQgbG9uZyBjYWxsZXJfYWRkcikKK3sKKwlpZiAoIXByZWVtcHRfdHJhY2UoKSAmJiBpcnFfdHJhY2UoKSkKKwkJc3RhcnRfY3JpdGljYWxfdGltaW5nKENBTExFUl9BRERSMCwgY2FsbGVyX2FkZHIpOworfQorRVhQT1JUX1NZTUJPTCh0cmFjZV9oYXJkaXJxc19vZmZfY2FsbGVyKTsKKworI2VuZGlmIC8qIENPTkZJR19QUk9WRV9MT0NLSU5HICovCisjZW5kaWYgLyogIENPTkZJR19JUlFTT0ZGX1RSQUNFUiAqLworCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCit2b2lkIHRyYWNlX3ByZWVtcHRfb24odW5zaWduZWQgbG9uZyBhMCwgdW5zaWduZWQgbG9uZyBhMSkKK3sKKwlzdG9wX2NyaXRpY2FsX3RpbWluZyhhMCwgYTEpOworfQorCit2b2lkIHRyYWNlX3ByZWVtcHRfb2ZmKHVuc2lnbmVkIGxvbmcgYTAsIHVuc2lnbmVkIGxvbmcgYTEpCit7CisJc3RhcnRfY3JpdGljYWxfdGltaW5nKGEwLCBhMSk7Cit9CisjZW5kaWYgLyogQ09ORklHX1BSRUVNUFRfVFJBQ0VSICovCisKK3N0YXRpYyB2b2lkIHN0YXJ0X2lycXNvZmZfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCXRyYWNlcl9lbmFibGVkID0gMTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9pcnFzb2ZmX3RyYWNlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlcl9lbmFibGVkID0gMDsKKwl1bnJlZ2lzdGVyX2Z0cmFjZV9mdW5jdGlvbigmdHJhY2Vfb3BzKTsKK30KKworc3RhdGljIHZvaWQgX19pcnFzb2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaXJxc29mZl90cmFjZSA9IHRyOworCS8qIG1ha2Ugc3VyZSB0aGF0IHRoZSB0cmFjZXIgaXMgdmlzaWJsZSAqLworCXNtcF93bWIoKTsKKworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfaXJxc29mZl90cmFjZXIodHIpOworfQorCitzdGF0aWMgdm9pZCBpcnFzb2ZmX3RyYWNlcl9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9pcnFzb2ZmX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9pcnFzb2ZmX3RyYWNlcih0cik7CisJZWxzZQorCQlzdG9wX2lycXNvZmZfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfb3BlbihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJLyogc3RvcCB0aGUgdHJhY2Ugd2hpbGUgZHVtcGluZyAqLworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RvcF9pcnFzb2ZmX3RyYWNlcihpdGVyLT50cik7Cit9CisKK3N0YXRpYyB2b2lkIGlycXNvZmZfdHJhY2VyX2Nsb3NlKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpZiAoaXRlci0+dHItPmN0cmwpCisJCXN0YXJ0X2lycXNvZmZfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgorc3RhdGljIHZvaWQgaXJxc29mZl90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXRyYWNlX3R5cGUgPSBUUkFDRVJfSVJRU19PRkY7CisKKwlfX2lycXNvZmZfdHJhY2VyX2luaXQodHIpOworfQorc3RhdGljIHN0cnVjdCB0cmFjZXIgaXJxc29mZl90cmFjZXIgX19yZWFkX21vc3RseSA9Cit7CisJLm5hbWUJCT0gImlycXNvZmYiLAorCS5pbml0CQk9IGlycXNvZmZfdHJhY2VyX2luaXQsCisJLnJlc2V0CQk9IGlycXNvZmZfdHJhY2VyX3Jlc2V0LAorCS5vcGVuCQk9IGlycXNvZmZfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IGlycXNvZmZfdHJhY2VyX2Nsb3NlLAorCS5jdHJsX3VwZGF0ZQk9IGlycXNvZmZfdHJhY2VyX2N0cmxfdXBkYXRlLAorCS5wcmludF9tYXgJPSAxLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2lycXNvZmYsCisjZW5kaWYKK307CisjIGRlZmluZSByZWdpc3Rlcl9pcnFzb2ZmKHRyYWNlKSByZWdpc3Rlcl90cmFjZXIoJnRyYWNlKQorI2Vsc2UKKyMgZGVmaW5lIHJlZ2lzdGVyX2lycXNvZmYodHJhY2UpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCisjaWZkZWYgQ09ORklHX1BSRUVNUFRfVFJBQ0VSCitzdGF0aWMgdm9pZCBwcmVlbXB0b2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VfdHlwZSA9IFRSQUNFUl9QUkVFTVBUX09GRjsKKworCV9faXJxc29mZl90cmFjZXJfaW5pdCh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHByZWVtcHRvZmZfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJwcmVlbXB0b2ZmIiwKKwkuaW5pdAkJPSBwcmVlbXB0b2ZmX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSBpcnFzb2ZmX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSBpcnFzb2ZmX3RyYWNlcl9vcGVuLAorCS5jbG9zZQkJPSBpcnFzb2ZmX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSBpcnFzb2ZmX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0b2ZmLAorI2VuZGlmCit9OworIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdG9mZih0cmFjZSkgcmVnaXN0ZXJfdHJhY2VyKCZ0cmFjZSkKKyNlbHNlCisjIGRlZmluZSByZWdpc3Rlcl9wcmVlbXB0b2ZmKHRyYWNlKSBkbyB7IH0gd2hpbGUgKDApCisjZW5kaWYKKworI2lmIGRlZmluZWQoQ09ORklHX0lSUVNPRkZfVFJBQ0VSKSAmJiBcCisJZGVmaW5lZChDT05GSUdfUFJFRU1QVF9UUkFDRVIpCisKK3N0YXRpYyB2b2lkIHByZWVtcHRpcnFzb2ZmX3RyYWNlcl9pbml0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VfdHlwZSA9IFRSQUNFUl9JUlFTX09GRiB8IFRSQUNFUl9QUkVFTVBUX09GRjsKKworCV9faXJxc29mZl90cmFjZXJfaW5pdCh0cik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIHByZWVtcHRpcnFzb2ZmX3RyYWNlciBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAicHJlZW1wdGlycXNvZmYiLAorCS5pbml0CQk9IHByZWVtcHRpcnFzb2ZmX3RyYWNlcl9pbml0LAorCS5yZXNldAkJPSBpcnFzb2ZmX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSBpcnFzb2ZmX3RyYWNlcl9vcGVuLAorCS5jbG9zZQkJPSBpcnFzb2ZmX3RyYWNlcl9jbG9zZSwKKwkuY3RybF91cGRhdGUJPSBpcnFzb2ZmX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9wcmVlbXB0aXJxc29mZiwKKyNlbmRpZgorfTsKKworIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdGlycXNvZmYodHJhY2UpIHJlZ2lzdGVyX3RyYWNlcigmdHJhY2UpCisjZWxzZQorIyBkZWZpbmUgcmVnaXN0ZXJfcHJlZW1wdGlycXNvZmYodHJhY2UpIGRvIHsgfSB3aGlsZSAoMCkKKyNlbmRpZgorCitfX2luaXQgc3RhdGljIGludCBpbml0X2lycXNvZmZfdHJhY2VyKHZvaWQpCit7CisJcmVnaXN0ZXJfaXJxc29mZihpcnFzb2ZmX3RyYWNlcik7CisJcmVnaXN0ZXJfcHJlZW1wdG9mZihwcmVlbXB0b2ZmX3RyYWNlcik7CisJcmVnaXN0ZXJfcHJlZW1wdGlycXNvZmYocHJlZW1wdGlycXNvZmZfdHJhY2VyKTsKKworCXJldHVybiAwOworfQorZGV2aWNlX2luaXRjYWxsKGluaXRfaXJxc29mZl90cmFjZXIpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jIGIva2VybmVsL3RyYWNlL3RyYWNlX21taW90cmFjZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxM2RjMTkKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2VfbW1pb3RyYWNlLmMKQEAgLTAsMCArMSwyOTUgQEAKKy8qCisgKiBNZW1vcnkgbWFwcGVkIEkvTyB0cmFjaW5nCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IFBla2thIFBhYWxhbmVuIDxwcUBpa2kuZmk+CisgKi8KKworI2RlZmluZSBERUJVRyAxCisKKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9tbWlvdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9wY2kuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0cnVjdCBoZWFkZXJfaXRlciB7CisJc3RydWN0IHBjaV9kZXYgKmRldjsKK307CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkgKm1taW9fdHJhY2VfYXJyYXk7CitzdGF0aWMgYm9vbCBvdmVycnVuX2RldGVjdGVkOworCitzdGF0aWMgdm9pZCBtbWlvX3Jlc2V0X2RhdGEoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlpbnQgY3B1OworCisJb3ZlcnJ1bl9kZXRlY3RlZCA9IGZhbHNlOworCXRyLT50aW1lX3N0YXJ0ID0gZnRyYWNlX25vdyh0ci0+Y3B1KTsKKworCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KQorCQl0cmFjaW5nX3Jlc2V0KHRyLT5kYXRhW2NwdV0pOworfQorCitzdGF0aWMgdm9pZCBtbWlvX3RyYWNlX2luaXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlwcl9kZWJ1ZygiaW4gJXNcbiIsIF9fZnVuY19fKTsKKwltbWlvX3RyYWNlX2FycmF5ID0gdHI7CisJaWYgKHRyLT5jdHJsKSB7CisJCW1taW9fcmVzZXRfZGF0YSh0cik7CisJCWVuYWJsZV9tbWlvdHJhY2UoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fdHJhY2VfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlwcl9kZWJ1ZygiaW4gJXNcbiIsIF9fZnVuY19fKTsKKwlpZiAodHItPmN0cmwpCisJCWRpc2FibGVfbW1pb3RyYWNlKCk7CisJbW1pb19yZXNldF9kYXRhKHRyKTsKKwltbWlvX3RyYWNlX2FycmF5ID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgbW1pb190cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXByX2RlYnVnKCJpbiAlc1xuIiwgX19mdW5jX18pOworCWlmICh0ci0+Y3RybCkgeworCQltbWlvX3Jlc2V0X2RhdGEodHIpOworCQllbmFibGVfbW1pb3RyYWNlKCk7CisJfSBlbHNlIHsKKwkJZGlzYWJsZV9tbWlvdHJhY2UoKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgbW1pb19wcmludF9wY2lkZXYoc3RydWN0IHRyYWNlX3NlcSAqcywgY29uc3Qgc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKwlpbnQgcmV0ID0gMDsKKwlpbnQgaTsKKwlyZXNvdXJjZV9zaXplX3Qgc3RhcnQsIGVuZDsKKwljb25zdCBzdHJ1Y3QgcGNpX2RyaXZlciAqZHJ2ID0gcGNpX2Rldl9kcml2ZXIoZGV2KTsKKworCS8qIFhYWDogaW5jb21wbGV0ZSBjaGVja3MgZm9yIHRyYWNlX3NlcV9wcmludGYoKSByZXR1cm4gdmFsdWUgKi8KKwlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiUENJREVWICUwMnglMDJ4ICUwNHglMDR4ICV4IiwKKwkJCQlkZXYtPmJ1cy0+bnVtYmVyLCBkZXYtPmRldmZuLAorCQkJCWRldi0+dmVuZG9yLCBkZXYtPmRldmljZSwgZGV2LT5pcnEpOworCS8qCisJICogWFhYOiBpcyBwY2lfcmVzb3VyY2VfdG9fdXNlcigpIGFwcHJvcHJpYXRlLCBzaW5jZSB3ZSBhcmUKKwkgKiBzdXBwb3NlZCB0byBpbnRlcnByZXQgdGhlIF9faW9yZW1hcCgpIHBoeXNfYWRkciBhcmd1bWVudCBiYXNlZCBvbgorCSAqIHRoZXNlIHByaW50ZWQgdmFsdWVzPworCSAqLworCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspIHsKKwkJcGNpX3Jlc291cmNlX3RvX3VzZXIoZGV2LCBpLCAmZGV2LT5yZXNvdXJjZVtpXSwgJnN0YXJ0LCAmZW5kKTsKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiAlbGx4IiwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpKHN0YXJ0IHwKKwkJCShkZXYtPnJlc291cmNlW2ldLmZsYWdzICYgUENJX1JFR0lPTl9GTEFHX01BU0spKSk7CisJfQorCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspIHsKKwkJcGNpX3Jlc291cmNlX3RvX3VzZXIoZGV2LCBpLCAmZGV2LT5yZXNvdXJjZVtpXSwgJnN0YXJ0LCAmZW5kKTsKKwkJcmV0ICs9IHRyYWNlX3NlcV9wcmludGYocywgIiAlbGx4IiwKKwkJCWRldi0+cmVzb3VyY2VbaV0uc3RhcnQgPCBkZXYtPnJlc291cmNlW2ldLmVuZCA/CisJCQkodW5zaWduZWQgbG9uZyBsb25nKShlbmQgLSBzdGFydCkgKyAxIDogMCk7CisJfQorCWlmIChkcnYpCisJCXJldCArPSB0cmFjZV9zZXFfcHJpbnRmKHMsICIgJXNcbiIsIGRydi0+bmFtZSk7CisJZWxzZQorCQlyZXQgKz0gdHJhY2Vfc2VxX3ByaW50ZihzLCAiIFxuIik7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgZGVzdHJveV9oZWFkZXJfaXRlcihzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyKQoreworCWlmICghaGl0ZXIpCisJCXJldHVybjsKKwlwY2lfZGV2X3B1dChoaXRlci0+ZGV2KTsKKwlrZnJlZShoaXRlcik7Cit9CisKK3N0YXRpYyB2b2lkIG1taW9fcGlwZV9vcGVuKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgaGVhZGVyX2l0ZXIgKmhpdGVyOworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCisJdHJhY2Vfc2VxX3ByaW50ZihzLCAiVkVSU0lPTiAyMDA3MDgyNFxuIik7CisKKwloaXRlciA9IGt6YWxsb2Moc2l6ZW9mKCpoaXRlciksIEdGUF9LRVJORUwpOworCWlmICghaGl0ZXIpCisJCXJldHVybjsKKworCWhpdGVyLT5kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBOVUxMKTsKKwlpdGVyLT5wcml2YXRlID0gaGl0ZXI7Cit9CisKKy8qIFhYWDogVGhpcyBpcyBub3QgY2FsbGVkIHdoZW4gdGhlIHBpcGUgaXMgY2xvc2VkISAqLworc3RhdGljIHZvaWQgbW1pb19jbG9zZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IGhlYWRlcl9pdGVyICpoaXRlciA9IGl0ZXItPnByaXZhdGU7CisJZGVzdHJveV9oZWFkZXJfaXRlcihoaXRlcik7CisJaXRlci0+cHJpdmF0ZSA9IE5VTEw7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGNvdW50X292ZXJydW5zKHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlpbnQgY3B1OworCXVuc2lnbmVkIGxvbmcgY250ID0gMDsKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQljbnQgKz0gaXRlci0+b3ZlcnJ1bltjcHVdOworCQlpdGVyLT5vdmVycnVuW2NwdV0gPSAwOworCX0KKwlyZXR1cm4gY250OworfQorCitzdGF0aWMgc3NpemVfdCBtbWlvX3JlYWQoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyLCBzdHJ1Y3QgZmlsZSAqZmlscCwKKwkJCQljaGFyIF9fdXNlciAqdWJ1Ziwgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCXNzaXplX3QgcmV0OworCXN0cnVjdCBoZWFkZXJfaXRlciAqaGl0ZXIgPSBpdGVyLT5wcml2YXRlOworCXN0cnVjdCB0cmFjZV9zZXEgKnMgPSAmaXRlci0+c2VxOworCXVuc2lnbmVkIGxvbmcgbjsKKworCW4gPSBjb3VudF9vdmVycnVucyhpdGVyKTsKKwlpZiAobikgeworCQkvKiBYWFg6IFRoaXMgaXMgbGF0ZXIgdGhhbiB3aGVyZSBldmVudHMgd2VyZSBsb3N0LiAqLworCQl0cmFjZV9zZXFfcHJpbnRmKHMsICJNQVJLIDAuMDAwMDAwIExvc3QgJWx1IGV2ZW50cy5cbiIsIG4pOworCQlpZiAoIW92ZXJydW5fZGV0ZWN0ZWQpCisJCQlwcl93YXJuaW5nKCJtbWlvdHJhY2UgaGFzIGxvc3QgZXZlbnRzLlxuIik7CisJCW92ZXJydW5fZGV0ZWN0ZWQgPSB0cnVlOworCQlnb3RvIHByaW50X291dDsKKwl9CisKKwlpZiAoIWhpdGVyKQorCQlyZXR1cm4gMDsKKworCW1taW9fcHJpbnRfcGNpZGV2KHMsIGhpdGVyLT5kZXYpOworCWhpdGVyLT5kZXYgPSBwY2lfZ2V0X2RldmljZShQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCBoaXRlci0+ZGV2KTsKKworCWlmICghaGl0ZXItPmRldikgeworCQlkZXN0cm95X2hlYWRlcl9pdGVyKGhpdGVyKTsKKwkJaXRlci0+cHJpdmF0ZSA9IE5VTEw7CisJfQorCitwcmludF9vdXQ6CisJcmV0ID0gdHJhY2Vfc2VxX3RvX3VzZXIocywgdWJ1ZiwgY250KTsKKwlyZXR1cm4gKHJldCA9PSAtRUJVU1kpID8gMCA6IHJldDsKK30KKworc3RhdGljIGludCBtbWlvX3ByaW50X3J3KHN0cnVjdCB0cmFjZV9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgdHJhY2VfZW50cnkgKmVudHJ5ID0gaXRlci0+ZW50OworCXN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3CT0gJmVudHJ5LT5tbWlvcnc7CisJc3RydWN0IHRyYWNlX3NlcSAqcwk9ICZpdGVyLT5zZXE7CisJdW5zaWduZWQgbG9uZyBsb25nIHQJPSBuczJ1c2VjcyhlbnRyeS0+dCk7CisJdW5zaWduZWQgbG9uZyB1c2VjX3JlbQk9IGRvX2Rpdih0LCAxMDAwMDAwVUxMKTsKKwl1bnNpZ25lZCBzZWNzCQk9ICh1bnNpZ25lZCBsb25nKXQ7CisJaW50IHJldCA9IDE7CisKKwlzd2l0Y2ggKGVudHJ5LT5tbWlvcncub3Bjb2RlKSB7CisJY2FzZSBNTUlPX1JFQUQ6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJSICVkICVsdS4lMDZsdSAlZCAweCVsbHggMHglbHggMHglbHggJWRcbiIsCisJCQlydy0+d2lkdGgsIHNlY3MsIHVzZWNfcmVtLCBydy0+bWFwX2lkLAorCQkJKHVuc2lnbmVkIGxvbmcgbG9uZylydy0+cGh5cywKKwkJCXJ3LT52YWx1ZSwgcnctPnBjLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNTUlPX1dSSVRFOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiVyAlZCAlbHUuJTA2bHUgJWQgMHglbGx4IDB4JWx4IDB4JWx4ICVkXG4iLAorCQkJcnctPndpZHRoLCBzZWNzLCB1c2VjX3JlbSwgcnctPm1hcF9pZCwKKwkJCSh1bnNpZ25lZCBsb25nIGxvbmcpcnctPnBoeXMsCisJCQlydy0+dmFsdWUsIHJ3LT5wYywgMCk7CisJCWJyZWFrOworCWNhc2UgTU1JT19VTktOT1dOX09QOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiVU5LTk9XTiAlbHUuJTA2bHUgJWQgMHglbGx4ICUwMngsJTAyeCwlMDJ4IDB4JWx4ICVkXG4iLAorCQkJc2VjcywgdXNlY19yZW0sIHJ3LT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKXJ3LT5waHlzLAorCQkJKHJ3LT52YWx1ZSA+PiAxNikgJiAweGZmLCAocnctPnZhbHVlID4+IDgpICYgMHhmZiwKKwkJCShydy0+dmFsdWUgPj4gMCkgJiAweGZmLCBydy0+cGMsIDApOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsICJydyB3aGF0P1xuIik7CisJCWJyZWFrOworCX0KKwlpZiAocmV0KQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtbWlvX3ByaW50X21hcChzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJc3RydWN0IHRyYWNlX2VudHJ5ICplbnRyeSA9IGl0ZXItPmVudDsKKwlzdHJ1Y3QgbW1pb3RyYWNlX21hcCAqbQk9ICZlbnRyeS0+bW1pb21hcDsKKwlzdHJ1Y3QgdHJhY2Vfc2VxICpzCT0gJml0ZXItPnNlcTsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdAk9IG5zMnVzZWNzKGVudHJ5LT50KTsKKwl1bnNpZ25lZCBsb25nIHVzZWNfcmVtCT0gZG9fZGl2KHQsIDEwMDAwMDBVTEwpOworCXVuc2lnbmVkIHNlY3MJCT0gKHVuc2lnbmVkIGxvbmcpdDsKKwlpbnQgcmV0ID0gMTsKKworCXN3aXRjaCAoZW50cnktPm1taW9ydy5vcGNvZGUpIHsKKwljYXNlIE1NSU9fUFJPQkU6CisJCXJldCA9IHRyYWNlX3NlcV9wcmludGYocywKKwkJCSJNQVAgJWx1LiUwNmx1ICVkIDB4JWxseCAweCVseCAweCVseCAweCVseCAlZFxuIiwKKwkJCXNlY3MsIHVzZWNfcmVtLCBtLT5tYXBfaWQsCisJCQkodW5zaWduZWQgbG9uZyBsb25nKW0tPnBoeXMsIG0tPnZpcnQsIG0tPmxlbiwKKwkJCTBVTCwgMCk7CisJCWJyZWFrOworCWNhc2UgTU1JT19VTlBST0JFOgorCQlyZXQgPSB0cmFjZV9zZXFfcHJpbnRmKHMsCisJCQkiVU5NQVAgJWx1LiUwNmx1ICVkIDB4JWx4ICVkXG4iLAorCQkJc2VjcywgdXNlY19yZW0sIG0tPm1hcF9pZCwgMFVMLCAwKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gdHJhY2Vfc2VxX3ByaW50ZihzLCAibWFwIHdoYXQ/XG4iKTsKKwkJYnJlYWs7CisJfQorCWlmIChyZXQpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisvKiByZXR1cm4gMCB0byBhYm9ydCBwcmludGluZyB3aXRob3V0IGNvbnN1bWluZyBjdXJyZW50IGVudHJ5IGluIHBpcGUgbW9kZSAqLworc3RhdGljIGludCBtbWlvX3ByaW50X2xpbmUoc3RydWN0IHRyYWNlX2l0ZXJhdG9yICppdGVyKQoreworCXN3aXRjaCAoaXRlci0+ZW50LT50eXBlKSB7CisJY2FzZSBUUkFDRV9NTUlPX1JXOgorCQlyZXR1cm4gbW1pb19wcmludF9ydyhpdGVyKTsKKwljYXNlIFRSQUNFX01NSU9fTUFQOgorCQlyZXR1cm4gbW1pb19wcmludF9tYXAoaXRlcik7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7IC8qIGlnbm9yZSB1bmtub3duIGVudHJpZXMgKi8KKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VyIG1taW9fdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJtbWlvdHJhY2UiLAorCS5pbml0CQk9IG1taW9fdHJhY2VfaW5pdCwKKwkucmVzZXQJCT0gbW1pb190cmFjZV9yZXNldCwKKwkucGlwZV9vcGVuCT0gbW1pb19waXBlX29wZW4sCisJLmNsb3NlCQk9IG1taW9fY2xvc2UsCisJLnJlYWQJCT0gbW1pb19yZWFkLAorCS5jdHJsX3VwZGF0ZQk9IG1taW9fdHJhY2VfY3RybF91cGRhdGUsCisJLnByaW50X2xpbmUJPSBtbWlvX3ByaW50X2xpbmUsCit9OworCitfX2luaXQgc3RhdGljIGludCBpbml0X21taW9fdHJhY2Uodm9pZCkKK3sKKwlyZXR1cm4gcmVnaXN0ZXJfdHJhY2VyKCZtbWlvX3RyYWNlcik7Cit9CitkZXZpY2VfaW5pdGNhbGwoaW5pdF9tbWlvX3RyYWNlKTsKKwordm9pZCBtbWlvX3RyYWNlX3J3KHN0cnVjdCBtbWlvdHJhY2VfcncgKnJ3KQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSBtbWlvX3RyYWNlX2FycmF5OworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGEgPSB0ci0+ZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldOworCV9fdHJhY2VfbW1pb3RyYWNlX3J3KHRyLCBkYXRhLCBydyk7Cit9CisKK3ZvaWQgbW1pb190cmFjZV9tYXBwaW5nKHN0cnVjdCBtbWlvdHJhY2VfbWFwICptYXApCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9IG1taW9fdHJhY2VfYXJyYXk7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKworCXByZWVtcHRfZGlzYWJsZSgpOworCWRhdGEgPSB0ci0+ZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldOworCV9fdHJhY2VfbW1pb3RyYWNlX21hcCh0ciwgZGF0YSwgbWFwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworfQpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3N3aXRjaC5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3NjaGVkX3N3aXRjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiODE3YTIKLS0tIC9kZXYvbnVsbAorKysgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfc3dpdGNoLmMKQEAgLTAsMCArMSwyODYgQEAKKy8qCisgKiB0cmFjZSBjb250ZXh0IHN3aXRjaAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPgorI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKyNpbmNsdWRlIDxsaW51eC9tYXJrZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9mdHJhY2UuaD4KKworI2luY2x1ZGUgInRyYWNlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdHJhY2VfYXJyYXkJKmN0eF90cmFjZTsKK3N0YXRpYyBpbnQgX19yZWFkX21vc3RseQl0cmFjZXJfZW5hYmxlZDsKK3N0YXRpYyBhdG9taWNfdAkJCXNjaGVkX3JlZjsKKworc3RhdGljIHZvaWQKK3NjaGVkX3N3aXRjaF9mdW5jKHZvaWQgKnByaXZhdGUsIHZvaWQgKl9fcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldiwKKwkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcml2YXRlOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlsb25nIGRpc2FibGVkOworCWludCBjcHU7CisKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKHByZXYpOworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUobmV4dCk7CisKKwlpZiAoIXRyYWNlcl9lbmFibGVkKQorCQlyZXR1cm47CisKKwlsb2NhbF9pcnFfc2F2ZShmbGFncyk7CisJY3B1ID0gcmF3X3NtcF9wcm9jZXNzb3JfaWQoKTsKKwlkYXRhID0gdHItPmRhdGFbY3B1XTsKKwlkaXNhYmxlZCA9IGF0b21pY19pbmNfcmV0dXJuKCZkYXRhLT5kaXNhYmxlZCk7CisKKwlpZiAobGlrZWx5KGRpc2FibGVkID09IDEpKQorCQl0cmFjaW5nX3NjaGVkX3N3aXRjaF90cmFjZSh0ciwgZGF0YSwgcHJldiwgbmV4dCwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAorc2NoZWRfc3dpdGNoX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQ7CisJc3RydWN0IHJxICpfX3JxOworCisJaWYgKCFhdG9taWNfcmVhZCgmc2NoZWRfcmVmKSkKKwkJcmV0dXJuOworCisJLyogc2tpcCBwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBsb25nKTsKKwlfX3JxID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoX19ycSkpOworCXByZXYgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihwcmV2KSk7CisJbmV4dCA9IHZhX2FyZygqYXJncywgdHlwZW9mKG5leHQpKTsKKworCS8qCisJICogSWYgdHJhY2VyX3N3aXRjaF9mdW5jIG9ubHkgcG9pbnRzIHRvIHRoZSBsb2NhbAorCSAqIHN3aXRjaCBmdW5jLCBpdCBzdGlsbCBuZWVkcyB0aGUgcHRyIHBhc3NlZCB0byBpdC4KKwkgKi8KKwlzY2hlZF9zd2l0Y2hfZnVuYyhwcm9iZV9kYXRhLCBfX3JxLCBwcmV2LCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQKK3dha2V1cF9mdW5jKHZvaWQgKnByaXZhdGUsIHZvaWQgKl9fcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqd2FrZWUsIHN0cnVjdAorCQkJdGFza19zdHJ1Y3QgKmN1cnIpCit7CisJc3RydWN0IHRyYWNlX2FycmF5ICoqcHRyID0gcHJpdmF0ZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyID0gKnB0cjsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKCF0cmFjZXJfZW5hYmxlZCkKKwkJcmV0dXJuOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZShjdXJyKTsKKworCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKworCWlmIChsaWtlbHkoZGlzYWJsZWQgPT0gMSkpCisJCXRyYWNpbmdfc2NoZWRfd2FrZXVwX3RyYWNlKHRyLCBkYXRhLCB3YWtlZSwgY3VyciwgZmxhZ3MpOworCisJYXRvbWljX2RlYygmZGF0YS0+ZGlzYWJsZWQpOworCWxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAord2FrZV91cF9jYWxsYmFjayh2b2lkICpwcm9iZV9kYXRhLCB2b2lkICpjYWxsX2RhdGEsCisJCSBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgKmFyZ3MpCit7CisJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwlpZiAobGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCS8qIFNraXAgcGlkICVkIHN0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCS8qIG5vdyBnZXQgdGhlIG1lYXQ6ICJycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiAqLworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJdGFzayA9IHZhX2FyZygqYXJncywgdHlwZW9mKHRhc2spKTsKKwljdXJyID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoY3VycikpOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZSh0YXNrKTsKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnIpOworCisJd2FrZXVwX2Z1bmMocHJvYmVfZGF0YSwgX19ycSwgdGFzaywgY3Vycik7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIGludCB0cmFjaW5nX3NjaGVkX3JlZ2lzdGVyKHZvaWQpCit7CisJaW50IHJldDsKKworCXJldCA9IG1hcmtlcl9wcm9iZV9yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmY3R4X3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cFxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmY3R4X3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cF9uZXdcbiIpOworCQlnb3RvIGZhaWxfZGVwcm9iZTsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCSJwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAiCisJCSIjIyBycSAlcCBwcmV2ICVwIG5leHQgJXAiLAorCQlzY2hlZF9zd2l0Y2hfY2FsbGJhY2ssCisJCSZjdHhfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygic2NoZWQgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF9zY2hlZHVsZVxuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlX3dha2VfbmV3OworCX0KKworCXJldHVybiByZXQ7CitmYWlsX2RlcHJvYmVfd2FrZV9uZXc6CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXBfbmV3IiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworZmFpbF9kZXByb2JlOgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwIiwKKwkJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJCSZjdHhfdHJhY2UpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNpbmdfc2NoZWRfdW5yZWdpc3Rlcih2b2lkKQoreworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfc2NoZWR1bGUiLAorCQkJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJCQkmY3R4X3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJmN0eF90cmFjZSk7Cit9CisKK3N0YXRpYyB2b2lkIHRyYWNpbmdfc3RhcnRfc2NoZWRfc3dpdGNoKHZvaWQpCit7CisJbG9uZyByZWY7CisKKwlyZWYgPSBhdG9taWNfaW5jX3JldHVybigmc2NoZWRfcmVmKTsKKwlpZiAocmVmID09IDEpCisJCXRyYWNpbmdfc2NoZWRfcmVnaXN0ZXIoKTsKK30KKworc3RhdGljIHZvaWQgdHJhY2luZ19zdG9wX3NjaGVkX3N3aXRjaCh2b2lkKQoreworCWxvbmcgcmVmOworCisJcmVmID0gYXRvbWljX2RlY19hbmRfdGVzdCgmc2NoZWRfcmVmKTsKKwlpZiAocmVmKQorCQl0cmFjaW5nX3NjaGVkX3VucmVnaXN0ZXIoKTsKK30KKwordm9pZCB0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKHZvaWQpCit7CisJdHJhY2luZ19zdGFydF9zY2hlZF9zd2l0Y2goKTsKK30KKwordm9pZCB0cmFjaW5nX3N0b3BfY21kbGluZV9yZWNvcmQodm9pZCkKK3sKKwl0cmFjaW5nX3N0b3Bfc2NoZWRfc3dpdGNoKCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3NjaGVkX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJc2NoZWRfc3dpdGNoX3Jlc2V0KHRyKTsKKwl0cmFjaW5nX3N0YXJ0X2NtZGxpbmVfcmVjb3JkKCk7CisJdHJhY2VyX2VuYWJsZWQgPSAxOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3NjaGVkX3RyYWNlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCXRyYWNpbmdfc3RvcF9jbWRsaW5lX3JlY29yZCgpOworfQorCitzdGF0aWMgdm9pZCBzY2hlZF9zd2l0Y2hfdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWN0eF90cmFjZSA9IHRyOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zY2hlZF90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF90cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9zY2hlZF90cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF90cmFjZV9jdHJsX3VwZGF0ZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCS8qIFdoZW4gc3RhcnRpbmcgYSBuZXcgdHJhY2UsIHJlc2V0IHRoZSBidWZmZXJzICovCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF9zY2hlZF90cmFjZSh0cik7CisJZWxzZQorCQlzdG9wX3NjaGVkX3RyYWNlKHRyKTsKK30KKworc3RhdGljIHN0cnVjdCB0cmFjZXIgc2NoZWRfc3dpdGNoX3RyYWNlIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJzY2hlZF9zd2l0Y2giLAorCS5pbml0CQk9IHNjaGVkX3N3aXRjaF90cmFjZV9pbml0LAorCS5yZXNldAkJPSBzY2hlZF9zd2l0Y2hfdHJhY2VfcmVzZXQsCisJLmN0cmxfdXBkYXRlCT0gc2NoZWRfc3dpdGNoX3RyYWNlX2N0cmxfdXBkYXRlLAorI2lmZGVmIENPTkZJR19GVFJBQ0VfU0VMRlRFU1QKKwkuc2VsZnRlc3QgICAgPSB0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3NjaGVkX3N3aXRjaCwKKyNlbmRpZgorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF9zY2hlZF9zd2l0Y2hfdHJhY2Uodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKworCWlmIChhdG9taWNfcmVhZCgmc2NoZWRfcmVmKSkKKwkJcmV0ID0gdHJhY2luZ19zY2hlZF9yZWdpc3RlcigpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygiZXJyb3IgcmVnaXN0ZXJpbmcgc2NoZWR1bGVyIHRyYWNlXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisJcmV0dXJuIHJlZ2lzdGVyX3RyYWNlcigmc2NoZWRfc3dpdGNoX3RyYWNlKTsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X3NjaGVkX3N3aXRjaF90cmFjZSk7CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfd2FrZXVwLmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2NoZWRfd2FrZXVwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M4ZDYxZAotLS0gL2Rldi9udWxsCisrKyBiL2tlcm5lbC90cmFjZS90cmFjZV9zY2hlZF93YWtldXAuYwpAQCAtMCwwICsxLDQ0OCBAQAorLyoKKyAqIHRyYWNlIHRhc2sgd2FrZXVwIHRpbWluZ3MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAwOCBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gdGhlIGxhdGVuY3lfdHJhY2VyLCB0aGF0IGlzOgorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwNiBJbmdvIE1vbG5hcgorICogIENvcHlyaWdodCAoQykgMjAwNCBXaWxsaWFtIExlZSBJcndpbiBJSUkKKyAqLworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorI2luY2x1ZGUgPGxpbnV4L2Z0cmFjZS5oPgorI2luY2x1ZGUgPGxpbnV4L21hcmtlci5oPgorCisjaW5jbHVkZSAidHJhY2UuaCIKKworc3RhdGljIHN0cnVjdCB0cmFjZV9hcnJheQkqd2FrZXVwX3RyYWNlOworc3RhdGljIGludCBfX3JlYWRfbW9zdGx5CXRyYWNlcl9lbmFibGVkOworCitzdGF0aWMgc3RydWN0IHRhc2tfc3RydWN0CSp3YWtldXBfdGFzazsKK3N0YXRpYyBpbnQJCQl3YWtldXBfY3B1Oworc3RhdGljIHVuc2lnbmVkCQkJd2FrZXVwX3ByaW8gPSAtMTsKKworc3RhdGljIERFRklORV9TUElOTE9DSyh3YWtldXBfbG9jayk7CisKK3N0YXRpYyB2b2lkIF9fd2FrZXVwX3Jlc2V0KHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpOworCisjaWZkZWYgQ09ORklHX0ZUUkFDRQorLyoKKyAqIGlycXNvZmYgdXNlcyBpdHMgb3duIHRyYWNlciBmdW5jdGlvbiB0byBrZWVwIHRoZSBvdmVyaGVhZCBkb3duOgorICovCitzdGF0aWMgdm9pZAord2FrZXVwX3RyYWNlcl9jYWxsKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSB3YWtldXBfdHJhY2U7CisJc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWxvbmcgZGlzYWJsZWQ7CisJaW50IHJlc2NoZWQ7CisJaW50IGNwdTsKKworCWlmIChsaWtlbHkoIXdha2V1cF90YXNrKSkKKwkJcmV0dXJuOworCisJcmVzY2hlZCA9IG5lZWRfcmVzY2hlZCgpOworCXByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCk7CisKKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJmRhdGEtPmRpc2FibGVkKTsKKwlpZiAodW5saWtlbHkoZGlzYWJsZWQgIT0gMSkpCisJCWdvdG8gb3V0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJndha2V1cF9sb2NrLCBmbGFncyk7CisKKwlpZiAodW5saWtlbHkoIXdha2V1cF90YXNrKSkKKwkJZ290byB1bmxvY2s7CisKKwkvKgorCSAqIFRoZSB0YXNrIGNhbid0IGRpc2FwcGVhciBiZWNhdXNlIGl0IG5lZWRzIHRvCisJICogd2FrZSB1cCBmaXJzdCwgYW5kIHdlIGhhdmUgdGhlIHdha2V1cF9sb2NrLgorCSAqLworCWlmICh0YXNrX2NwdSh3YWtldXBfdGFzaykgIT0gY3B1KQorCQlnb3RvIHVubG9jazsKKworCXRyYWNlX2Z1bmN0aW9uKHRyLCBkYXRhLCBpcCwgcGFyZW50X2lwLCBmbGFncyk7CisKKyB1bmxvY2s6CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKworIG91dDoKKwlhdG9taWNfZGVjKCZkYXRhLT5kaXNhYmxlZCk7CisKKwkvKgorCSAqIFRvIHByZXZlbnQgcmVjdXJzaW9uIGZyb20gdGhlIHNjaGVkdWxlciwgaWYgdGhlCisJICogcmVzY2hlZCBmbGFnIHdhcyBzZXQgYmVmb3JlIHdlIGVudGVyZWQsIHRoZW4KKwkgKiBkb24ndCByZXNjaGVkdWxlLgorCSAqLworCWlmIChyZXNjaGVkKQorCQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkX25vdHJhY2UoKTsKKwllbHNlCisJCXByZWVtcHRfZW5hYmxlX25vdHJhY2UoKTsKK30KKworc3RhdGljIHN0cnVjdCBmdHJhY2Vfb3BzIHRyYWNlX29wcyBfX3JlYWRfbW9zdGx5ID0KK3sKKwkuZnVuYyA9IHdha2V1cF90cmFjZXJfY2FsbCwKK307CisjZW5kaWYgLyogQ09ORklHX0ZUUkFDRSAqLworCisvKgorICogU2hvdWxkIHRoaXMgbmV3IGxhdGVuY3kgYmUgcmVwb3J0ZWQvcmVjb3JkZWQ/CisgKi8KK3N0YXRpYyBpbnQgcmVwb3J0X2xhdGVuY3koY3ljbGVfdCBkZWx0YSkKK3sKKwlpZiAodHJhY2luZ190aHJlc2gpIHsKKwkJaWYgKGRlbHRhIDwgdHJhY2luZ190aHJlc2gpCisJCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlpZiAoZGVsdGEgPD0gdHJhY2luZ19tYXhfbGF0ZW5jeSkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgbm90cmFjZQord2FrZXVwX3NjaGVkX3N3aXRjaCh2b2lkICpwcml2YXRlLCB2b2lkICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwcmV2LAorCXN0cnVjdCB0YXNrX3N0cnVjdCAqbmV4dCkKK3sKKwl1bnNpZ25lZCBsb25nIGxhdGVuY3kgPSAwLCB0MCA9IDAsIHQxID0gMDsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKipwdHIgPSBwcml2YXRlOworCXN0cnVjdCB0cmFjZV9hcnJheSAqdHIgPSAqcHRyOworCXN0cnVjdCB0cmFjZV9hcnJheV9jcHUgKmRhdGE7CisJY3ljbGVfdCBUMCwgVDEsIGRlbHRhOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKwlpbnQgY3B1OworCisJaWYgKHVubGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCS8qCisJICogV2hlbiB3ZSBzdGFydCBhIG5ldyB0cmFjZSwgd2Ugc2V0IHdha2V1cF90YXNrIHRvIE5VTEwKKwkgKiBhbmQgdGhlbiBzZXQgdHJhY2VyX2VuYWJsZWQgPSAxLiBXZSB3YW50IHRvIG1ha2Ugc3VyZQorCSAqIHRoYXQgYW5vdGhlciBDUFUgZG9lcyBub3Qgc2VlIHRoZSB0cmFjZXJfZW5hYmxlZCA9IDEKKwkgKiBhbmQgdGhlIHdha2V1cF90YXNrIHdpdGggYW4gb2xkZXIgdGFzaywgdGhhdCBtaWdodAorCSAqIGFjdHVhbGx5IGJlIHRoZSBzYW1lIGFzIG5leHQuCisJICovCisJc21wX3JtYigpOworCisJaWYgKG5leHQgIT0gd2FrZXVwX3Rhc2spCisJCXJldHVybjsKKworCS8qIFRoZSB0YXNrIHdlIGFyZSB3YWl0aW5nIGZvciBpcyB3YWtpbmcgdXAgKi8KKwlkYXRhID0gdHItPmRhdGFbd2FrZXVwX2NwdV07CisKKwkvKiBkaXNhYmxlIGxvY2FsIGRhdGEsIG5vdCB3YWtldXBfY3B1IGRhdGEgKi8KKwljcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwlpZiAobGlrZWx5KGRpc2FibGVkICE9IDEpKQorCQlnb3RvIG91dDsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworCisJLyogV2UgY291bGQgcmFjZSB3aXRoIGdyYWJiaW5nIHdha2V1cF9sb2NrICovCisJaWYgKHVubGlrZWx5KCF0cmFjZXJfZW5hYmxlZCB8fCBuZXh0ICE9IHdha2V1cF90YXNrKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJdHJhY2VfZnVuY3Rpb24odHIsIGRhdGEsIENBTExFUl9BRERSMSwgQ0FMTEVSX0FERFIyLCBmbGFncyk7CisKKwkvKgorCSAqIHVzZWNzIGNvbnZlcnNpb24gaXMgc2xvdyBzbyB3ZSB0cnkgdG8gZGVsYXkgdGhlIGNvbnZlcnNpb24KKwkgKiBhcyBsb25nIGFzIHBvc3NpYmxlOgorCSAqLworCVQwID0gZGF0YS0+cHJlZW1wdF90aW1lc3RhbXA7CisJVDEgPSBmdHJhY2Vfbm93KGNwdSk7CisJZGVsdGEgPSBUMS1UMDsKKworCWlmICghcmVwb3J0X2xhdGVuY3koZGVsdGEpKQorCQlnb3RvIG91dF91bmxvY2s7CisKKwlsYXRlbmN5ID0gbnNlY3NfdG9fdXNlY3MoZGVsdGEpOworCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IGRlbHRhOworCXQwID0gbnNlY3NfdG9fdXNlY3MoVDApOworCXQxID0gbnNlY3NfdG9fdXNlY3MoVDEpOworCisJdXBkYXRlX21heF90cih0ciwgd2FrZXVwX3Rhc2ssIHdha2V1cF9jcHUpOworCitvdXRfdW5sb2NrOgorCV9fd2FrZXVwX3Jlc2V0KHRyKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ3YWtldXBfbG9jaywgZmxhZ3MpOworb3V0OgorCWF0b21pY19kZWMoJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKK30KKworc3RhdGljIG5vdHJhY2Ugdm9pZAorc2NoZWRfc3dpdGNoX2NhbGxiYWNrKHZvaWQgKnByb2JlX2RhdGEsIHZvaWQgKmNhbGxfZGF0YSwKKwkJICAgICAgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0YXNrX3N0cnVjdCAqcHJldjsKKwlzdHJ1Y3QgdGFza19zdHJ1Y3QgKm5leHQ7CisJc3RydWN0IHJxICpfX3JxOworCisJLyogc2tpcCBwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGludCk7CisJKHZvaWQpdmFfYXJnKCphcmdzLCBsb25nKTsKKwlfX3JxID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoX19ycSkpOworCXByZXYgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihwcmV2KSk7CisJbmV4dCA9IHZhX2FyZygqYXJncywgdHlwZW9mKG5leHQpKTsKKworCXRyYWNpbmdfcmVjb3JkX2NtZGxpbmUocHJldik7CisKKwkvKgorCSAqIElmIHRyYWNlcl9zd2l0Y2hfZnVuYyBvbmx5IHBvaW50cyB0byB0aGUgbG9jYWwKKwkgKiBzd2l0Y2ggZnVuYywgaXQgc3RpbGwgbmVlZHMgdGhlIHB0ciBwYXNzZWQgdG8gaXQuCisJICovCisJd2FrZXVwX3NjaGVkX3N3aXRjaChwcm9iZV9kYXRhLCBfX3JxLCBwcmV2LCBuZXh0KTsKK30KKworc3RhdGljIHZvaWQgX193YWtldXBfcmVzZXQoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCWludCBjcHU7CisKKwlhc3NlcnRfc3Bpbl9sb2NrZWQoJndha2V1cF9sb2NrKTsKKworCWZvcl9lYWNoX3Bvc3NpYmxlX2NwdShjcHUpIHsKKwkJZGF0YSA9IHRyLT5kYXRhW2NwdV07CisJCXRyYWNpbmdfcmVzZXQoZGF0YSk7CisJfQorCisJd2FrZXVwX2NwdSA9IC0xOworCXdha2V1cF9wcmlvID0gLTE7CisKKwlpZiAod2FrZXVwX3Rhc2spCisJCXB1dF90YXNrX3N0cnVjdCh3YWtldXBfdGFzayk7CisKKwl3YWtldXBfdGFzayA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKKwlfX3dha2V1cF9yZXNldCh0cik7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmd2FrZXVwX2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQKK3dha2V1cF9jaGVja19zdGFydChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsCisJCSAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3VycikKK3sKKwlpbnQgY3B1ID0gc21wX3Byb2Nlc3Nvcl9pZCgpOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJbG9uZyBkaXNhYmxlZDsKKworCWlmIChsaWtlbHkoIXJ0X3Rhc2socCkpIHx8CisJCQlwLT5wcmlvID49IHdha2V1cF9wcmlvIHx8CisJCQlwLT5wcmlvID49IGN1cnItPnByaW8pCisJCXJldHVybjsKKworCWRpc2FibGVkID0gYXRvbWljX2luY19yZXR1cm4oJnRyLT5kYXRhW2NwdV0tPmRpc2FibGVkKTsKKwlpZiAodW5saWtlbHkoZGlzYWJsZWQgIT0gMSkpCisJCWdvdG8gb3V0OworCisJLyogaW50ZXJydXB0cyBzaG91bGQgYmUgb2ZmIGZyb20gdHJ5X3RvX3dha2VfdXAgKi8KKwlzcGluX2xvY2soJndha2V1cF9sb2NrKTsKKworCS8qIGNoZWNrIGZvciByYWNlcy4gKi8KKwlpZiAoIXRyYWNlcl9lbmFibGVkIHx8IHAtPnByaW8gPj0gd2FrZXVwX3ByaW8pCisJCWdvdG8gb3V0X2xvY2tlZDsKKworCS8qIHJlc2V0IHRoZSB0cmFjZSAqLworCV9fd2FrZXVwX3Jlc2V0KHRyKTsKKworCXdha2V1cF9jcHUgPSB0YXNrX2NwdShwKTsKKwl3YWtldXBfcHJpbyA9IHAtPnByaW87CisKKwl3YWtldXBfdGFzayA9IHA7CisJZ2V0X3Rhc2tfc3RydWN0KHdha2V1cF90YXNrKTsKKworCWxvY2FsX3NhdmVfZmxhZ3MoZmxhZ3MpOworCisJdHItPmRhdGFbd2FrZXVwX2NwdV0tPnByZWVtcHRfdGltZXN0YW1wID0gZnRyYWNlX25vdyhjcHUpOworCXRyYWNlX2Z1bmN0aW9uKHRyLCB0ci0+ZGF0YVt3YWtldXBfY3B1XSwKKwkJICAgICAgIENBTExFUl9BRERSMSwgQ0FMTEVSX0FERFIyLCBmbGFncyk7CisKK291dF9sb2NrZWQ6CisJc3Bpbl91bmxvY2soJndha2V1cF9sb2NrKTsKK291dDoKKwlhdG9taWNfZGVjKCZ0ci0+ZGF0YVtjcHVdLT5kaXNhYmxlZCk7Cit9CisKK3N0YXRpYyBub3RyYWNlIHZvaWQKK3dha2VfdXBfY2FsbGJhY2sodm9pZCAqcHJvYmVfZGF0YSwgdm9pZCAqY2FsbF9kYXRhLAorCQkgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0ICphcmdzKQoreworCXN0cnVjdCB0cmFjZV9hcnJheSAqKnB0ciA9IHByb2JlX2RhdGE7CisJc3RydWN0IHRyYWNlX2FycmF5ICp0ciA9ICpwdHI7CisJc3RydWN0IHRhc2tfc3RydWN0ICpjdXJyOworCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzazsKKwlzdHJ1Y3QgcnEgKl9fcnE7CisKKwlpZiAobGlrZWx5KCF0cmFjZXJfZW5hYmxlZCkpCisJCXJldHVybjsKKworCS8qIFNraXAgcGlkICVkIHN0YXRlICVsZCAqLworCSh2b2lkKXZhX2FyZygqYXJncywgaW50KTsKKwkodm9pZCl2YV9hcmcoKmFyZ3MsIGxvbmcpOworCS8qIG5vdyBnZXQgdGhlIG1lYXQ6ICJycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiAqLworCV9fcnEgPSB2YV9hcmcoKmFyZ3MsIHR5cGVvZihfX3JxKSk7CisJdGFzayA9IHZhX2FyZygqYXJncywgdHlwZW9mKHRhc2spKTsKKwljdXJyID0gdmFfYXJnKCphcmdzLCB0eXBlb2YoY3VycikpOworCisJdHJhY2luZ19yZWNvcmRfY21kbGluZSh0YXNrKTsKKwl0cmFjaW5nX3JlY29yZF9jbWRsaW5lKGN1cnIpOworCisJd2FrZXVwX2NoZWNrX3N0YXJ0KHRyLCB0YXNrLCBjdXJyKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfd2FrZXVwX3RyYWNlcihzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCByZXQ7CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJInBpZCAlZCBzdGF0ZSAlbGQgIyMgcnEgJXAgdGFzayAlcCBycS0+Y3VyciAlcCIsCisJCQl3YWtlX3VwX2NhbGxiYWNrLAorCQkJJndha2V1cF90cmFjZSk7CisJaWYgKHJldCkgeworCQlwcl9pbmZvKCJ3YWtldXAgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF93YWtldXBcbiIpOworCQlyZXR1cm47CisJfQorCisJcmV0ID0gbWFya2VyX3Byb2JlX3JlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkicGlkICVkIHN0YXRlICVsZCAjIyBycSAlcCB0YXNrICVwIHJxLT5jdXJyICVwIiwKKwkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkmd2FrZXVwX3RyYWNlKTsKKwlpZiAocmV0KSB7CisJCXByX2luZm8oIndha2V1cCB0cmFjZTogQ291bGRuJ3QgYWRkIG1hcmtlciIKKwkJCSIgcHJvYmUgdG8ga2VybmVsX3NjaGVkX3dha2V1cF9uZXdcbiIpOworCQlnb3RvIGZhaWxfZGVwcm9iZTsKKwl9CisKKwlyZXQgPSBtYXJrZXJfcHJvYmVfcmVnaXN0ZXIoImtlcm5lbF9zY2hlZF9zY2hlZHVsZSIsCisJCSJwcmV2X3BpZCAlZCBuZXh0X3BpZCAlZCBwcmV2X3N0YXRlICVsZCAiCisJCSIjIyBycSAlcCBwcmV2ICVwIG5leHQgJXAiLAorCQlzY2hlZF9zd2l0Y2hfY2FsbGJhY2ssCisJCSZ3YWtldXBfdHJhY2UpOworCWlmIChyZXQpIHsKKwkJcHJfaW5mbygic2NoZWQgdHJhY2U6IENvdWxkbid0IGFkZCBtYXJrZXIiCisJCQkiIHByb2JlIHRvIGtlcm5lbF9zY2hlZF9zY2hlZHVsZVxuIik7CisJCWdvdG8gZmFpbF9kZXByb2JlX3dha2VfbmV3OworCX0KKworCXdha2V1cF9yZXNldCh0cik7CisKKwkvKgorCSAqIERvbid0IGxldCB0aGUgdHJhY2VyX2VuYWJsZWQgPSAxIHNob3cgdXAgYmVmb3JlCisJICogdGhlIHdha2V1cF90YXNrIGlzIHJlc2V0LiBUaGlzIG1heSBiZSBvdmVya2lsbCBzaW5jZQorCSAqIHdha2V1cF9yZXNldCBkb2VzIGEgc3Bpbl91bmxvY2sgYWZ0ZXIgc2V0dGluZyB0aGUKKwkgKiB3YWtldXBfdGFzayB0byBOVUxMLCBidXQgSSB3YW50IHRvIGJlIHNhZmUuCisJICogVGhpcyBpcyBhIHNsb3cgcGF0aCBhbnl3YXkuCisJICovCisJc21wX3dtYigpOworCisJcmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCisJdHJhY2VyX2VuYWJsZWQgPSAxOworCisJcmV0dXJuOworZmFpbF9kZXByb2JlX3dha2VfbmV3OgorCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfd2FrZXVwX25ldyIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKK2ZhaWxfZGVwcm9iZToKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cCIsCisJCQkJd2FrZV91cF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF93YWtldXBfdHJhY2VyKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdHJhY2VyX2VuYWJsZWQgPSAwOworCXVucmVnaXN0ZXJfZnRyYWNlX2Z1bmN0aW9uKCZ0cmFjZV9vcHMpOworCW1hcmtlcl9wcm9iZV91bnJlZ2lzdGVyKCJrZXJuZWxfc2NoZWRfc2NoZWR1bGUiLAorCQkJCXNjaGVkX3N3aXRjaF9jYWxsYmFjaywKKwkJCQkmd2FrZXVwX3RyYWNlKTsKKwltYXJrZXJfcHJvYmVfdW5yZWdpc3Rlcigia2VybmVsX3NjaGVkX3dha2V1cF9uZXciLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7CisJbWFya2VyX3Byb2JlX3VucmVnaXN0ZXIoImtlcm5lbF9zY2hlZF93YWtldXAiLAorCQkJCXdha2VfdXBfY2FsbGJhY2ssCisJCQkJJndha2V1cF90cmFjZSk7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXdha2V1cF90cmFjZSA9IHRyOworCisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF93YWtldXBfdHJhY2VyKHRyKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkgeworCQlzdG9wX3dha2V1cF90cmFjZXIodHIpOworCQkvKiBtYWtlIHN1cmUgd2UgcHV0IGJhY2sgYW55IHRhc2tzIHdlIGFyZSB0cmFjaW5nICovCisJCXdha2V1cF9yZXNldCh0cik7CisJfQorfQorCitzdGF0aWMgdm9pZCB3YWtldXBfdHJhY2VyX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJaWYgKHRyLT5jdHJsKQorCQlzdGFydF93YWtldXBfdHJhY2VyKHRyKTsKKwllbHNlCisJCXN0b3Bfd2FrZXVwX3RyYWNlcih0cik7Cit9CisKK3N0YXRpYyB2b2lkIHdha2V1cF90cmFjZXJfb3BlbihzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJLyogc3RvcCB0aGUgdHJhY2Ugd2hpbGUgZHVtcGluZyAqLworCWlmIChpdGVyLT50ci0+Y3RybCkKKwkJc3RvcF93YWtldXBfdHJhY2VyKGl0ZXItPnRyKTsKK30KKworc3RhdGljIHZvaWQgd2FrZXVwX3RyYWNlcl9jbG9zZShzdHJ1Y3QgdHJhY2VfaXRlcmF0b3IgKml0ZXIpCit7CisJLyogZm9yZ2V0IGFib3V0IGFueSBwcm9jZXNzZXMgd2Ugd2VyZSByZWNvcmRpbmcgKi8KKwlpZiAoaXRlci0+dHItPmN0cmwpCisJCXN0YXJ0X3dha2V1cF90cmFjZXIoaXRlci0+dHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciB3YWtldXBfdHJhY2VyIF9fcmVhZF9tb3N0bHkgPQoreworCS5uYW1lCQk9ICJ3YWtldXAiLAorCS5pbml0CQk9IHdha2V1cF90cmFjZXJfaW5pdCwKKwkucmVzZXQJCT0gd2FrZXVwX3RyYWNlcl9yZXNldCwKKwkub3BlbgkJPSB3YWtldXBfdHJhY2VyX29wZW4sCisJLmNsb3NlCQk9IHdha2V1cF90cmFjZXJfY2xvc2UsCisJLmN0cmxfdXBkYXRlCT0gd2FrZXVwX3RyYWNlcl9jdHJsX3VwZGF0ZSwKKwkucHJpbnRfbWF4CT0gMSwKKyNpZmRlZiBDT05GSUdfRlRSQUNFX1NFTEZURVNUCisJLnNlbGZ0ZXN0ICAgID0gdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF93YWtldXAsCisjZW5kaWYKK307CisKK19faW5pdCBzdGF0aWMgaW50IGluaXRfd2FrZXVwX3RyYWNlcih2b2lkKQoreworCWludCByZXQ7CisKKwlyZXQgPSByZWdpc3Rlcl90cmFjZXIoJndha2V1cF90cmFjZXIpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXR1cm4gMDsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X3dha2V1cF90cmFjZXIpOwpkaWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0LmMgYi9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTExYjdlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0LmMKQEAgLTAsMCArMSw1NjMgQEAKKy8qIEluY2x1ZGUgaW4gdHJhY2UuYyAqLworCisjaW5jbHVkZSA8bGludXgva3RocmVhZC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisKK3N0YXRpYyBpbmxpbmUgaW50IHRyYWNlX3ZhbGlkX2VudHJ5KHN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cnkpCit7CisJc3dpdGNoIChlbnRyeS0+dHlwZSkgeworCWNhc2UgVFJBQ0VfRk46CisJY2FzZSBUUkFDRV9DVFg6CisJY2FzZSBUUkFDRV9XQUtFOgorCWNhc2UgVFJBQ0VfU1RBQ0s6CisJY2FzZSBUUkFDRV9TUEVDSUFMOgorCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3RyYWNlX3Rlc3RfYnVmZmVyX2NwdShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLCBzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhKQoreworCXN0cnVjdCB0cmFjZV9lbnRyeSAqZW50cmllczsKKwlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlpbnQgaWR4ID0gMDsKKwlpbnQgaTsKKworCUJVR19PTihsaXN0X2VtcHR5KCZkYXRhLT50cmFjZV9wYWdlcykpOworCXBhZ2UgPSBsaXN0X2VudHJ5KGRhdGEtPnRyYWNlX3BhZ2VzLm5leHQsIHN0cnVjdCBwYWdlLCBscnUpOworCWVudHJpZXMgPSBwYWdlX2FkZHJlc3MocGFnZSk7CisKKwljaGVja19wYWdlcyhkYXRhKTsKKwlpZiAoaGVhZF9wYWdlKGRhdGEpICE9IGVudHJpZXMpCisJCWdvdG8gZmFpbGVkOworCisJLyoKKwkgKiBUaGUgc3RhcnRpbmcgdHJhY2UgYnVmZmVyIGFsd2F5cyBoYXMgdmFsaWQgZWxlbWVudHMsCisJICogaWYgYW55IGVsZW1lbnQgZXhpc3RzLgorCSAqLworCWVudHJpZXMgPSBoZWFkX3BhZ2UoZGF0YSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgdHItPmVudHJpZXM7IGkrKykgeworCisJCWlmIChpIDwgZGF0YS0+dHJhY2VfaWR4ICYmICF0cmFjZV92YWxpZF9lbnRyeSgmZW50cmllc1tpZHhdKSkgeworCQkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gaW52YWxpZCBlbnRyeSAlZCAiLAorCQkJCWVudHJpZXNbaWR4XS50eXBlKTsKKwkJCWdvdG8gZmFpbGVkOworCQl9CisKKwkJaWR4Kys7CisJCWlmIChpZHggPj0gRU5UUklFU19QRVJfUEFHRSkgeworCQkJcGFnZSA9IHZpcnRfdG9fcGFnZShlbnRyaWVzKTsKKwkJCWlmIChwYWdlLT5scnUubmV4dCA9PSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJCQlpZiAoaSAhPSB0ci0+ZW50cmllcyAtIDEpIHsKKwkJCQkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gZW50cmllcyBidWZmZXIgbWlzbWF0Y2giKTsKKwkJCQkJZ290byBmYWlsZWQ7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQlwYWdlID0gbGlzdF9lbnRyeShwYWdlLT5scnUubmV4dCwgc3RydWN0IHBhZ2UsIGxydSk7CisJCQkJZW50cmllcyA9IHBhZ2VfYWRkcmVzcyhwYWdlKTsKKwkJCX0KKwkJCWlkeCA9IDA7CisJCX0KKwl9CisKKwlwYWdlID0gdmlydF90b19wYWdlKGVudHJpZXMpOworCWlmIChwYWdlLT5scnUubmV4dCAhPSAmZGF0YS0+dHJhY2VfcGFnZXMpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gdG9vIG1hbnkgZW50cmllcyIpOworCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlyZXR1cm4gMDsKKworIGZhaWxlZDoKKwkvKiBkaXNhYmxlIHRyYWNpbmcgKi8KKwl0cmFjaW5nX2Rpc2FibGVkID0gMTsKKwlwcmludGsoS0VSTl9DT05UICIuLiBjb3JydXB0ZWQgdHJhY2UgYnVmZmVyIC4uICIpOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIFRlc3QgdGhlIHRyYWNlIGJ1ZmZlciB0byBzZWUgaWYgYWxsIHRoZSBlbGVtZW50cworICogYXJlIHN0aWxsIHNhbmUuCisgKi8KK3N0YXRpYyBpbnQgdHJhY2VfdGVzdF9idWZmZXIoc3RydWN0IHRyYWNlX2FycmF5ICp0ciwgdW5zaWduZWQgbG9uZyAqY291bnQpCit7CisJdW5zaWduZWQgbG9uZyBmbGFncywgY250ID0gMDsKKwlpbnQgY3B1LCByZXQgPSAwOworCisJLyogRG9uJ3QgYWxsb3cgZmxpcHBpbmcgb2YgbWF4IHRyYWNlcyBub3cgKi8KKwlyYXdfbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOworCV9fcmF3X3NwaW5fbG9jaygmZnRyYWNlX21heF9sb2NrKTsKKwlmb3JfZWFjaF9wb3NzaWJsZV9jcHUoY3B1KSB7CisJCWlmICghaGVhZF9wYWdlKHRyLT5kYXRhW2NwdV0pKQorCQkJY29udGludWU7CisKKwkJY250ICs9IHRyLT5kYXRhW2NwdV0tPnRyYWNlX2lkeDsKKworCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcl9jcHUodHIsIHRyLT5kYXRhW2NwdV0pOworCQlpZiAocmV0KQorCQkJYnJlYWs7CisJfQorCV9fcmF3X3NwaW5fdW5sb2NrKCZmdHJhY2VfbWF4X2xvY2spOworCXJhd19sb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CisKKwlpZiAoY291bnQpCisJCSpjb3VudCA9IGNudDsKKworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBDT05GSUdfRlRSQUNFCisKKyNpZmRlZiBDT05GSUdfRFlOQU1JQ19GVFJBQ0UKKworI2RlZmluZSBfX1NUUih4KSAjeAorI2RlZmluZSBTVFIoeCkgX19TVFIoeCkKKworLyogVGVzdCBkeW5hbWljIGNvZGUgbW9kaWZpY2F0aW9uIGFuZCBmdHJhY2UgZmlsdGVycyAqLworaW50IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZHluYW1pY190cmFjaW5nKHN0cnVjdCB0cmFjZXIgKnRyYWNlLAorCQkJCQkgICBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCQkJCQkgICBpbnQgKCpmdW5jKSh2b2lkKSkKK3sKKwl1bnNpZ25lZCBsb25nIGNvdW50OworCWludCByZXQ7CisJaW50IHNhdmVfZnRyYWNlX2VuYWJsZWQgPSBmdHJhY2VfZW5hYmxlZDsKKwlpbnQgc2F2ZV90cmFjZXJfZW5hYmxlZCA9IHRyYWNlcl9lbmFibGVkOworCWNoYXIgKmZ1bmNfbmFtZTsKKworCS8qIFRoZSBmdHJhY2UgdGVzdCBQQVNTRUQgKi8KKwlwcmludGsoS0VSTl9DT05UICJQQVNTRURcbiIpOworCXByX2luZm8oIlRlc3RpbmcgZHluYW1pYyBmdHJhY2U6ICIpOworCisJLyogZW5hYmxlIHRyYWNpbmcsIGFuZCByZWNvcmQgdGhlIGZpbHRlciBmdW5jdGlvbiAqLworCWZ0cmFjZV9lbmFibGVkID0gMTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKwkvKiBwYXNzZWQgaW4gYnkgcGFyYW1ldGVyIHRvIGZvb2wgZ2NjIGZyb20gb3B0aW1pemluZyAqLworCWZ1bmMoKTsKKworCS8qIHVwZGF0ZSB0aGUgcmVjb3JkcyAqLworCXJldCA9IGZ0cmFjZV9mb3JjZV91cGRhdGUoKTsKKwlpZiAocmV0KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIGZ0cmFjZWQgZmFpbGVkIC4uICIpOworCQlyZXR1cm4gcmV0OworCX0KKworCS8qCisJICogU29tZSBhcmNocyAqY291Z2gqUG93ZXJQQypjb3VnaCogYWRkIGNoYXJhY2h0ZXJzIHRvIHRoZQorCSAqIHN0YXJ0IG9mIHRoZSBmdW5jdGlvbiBuYW1lcy4gV2Ugc2ltcGx5IHB1dCBhICcqJyB0bworCSAqIGFjY29tb2RhdGUgdGhlbS4KKwkgKi8KKwlmdW5jX25hbWUgPSAiKiIgU1RSKERZTl9GVFJBQ0VfVEVTVF9OQU1FKTsKKworCS8qIGZpbHRlciBvbmx5IG9uIG91ciBmdW5jdGlvbiAqLworCWZ0cmFjZV9zZXRfZmlsdGVyKGZ1bmNfbmFtZSwgc3RybGVuKGZ1bmNfbmFtZSksIDEpOworCisJLyogZW5hYmxlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKworCS8qIHdlIHNob3VsZCBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJaWYgKGNvdW50KSB7CisJCXJldCA9IC0xOworCQlwcmludGsoS0VSTl9DT05UICIuLiBmaWx0ZXIgZGlkIG5vdCBmaWx0ZXIgLi4gIik7CisJCWdvdG8gb3V0OworCX0KKworCS8qIGNhbGwgb3VyIGZ1bmN0aW9uIGFnYWluICovCisJZnVuYygpOworCisJLyogc2xlZXAgYWdhaW4gKi8KKwltc2xlZXAoMTAwKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJZnRyYWNlX2VuYWJsZWQgPSAwOworCisJLyogY2hlY2sgdGhlIHRyYWNlIGJ1ZmZlciAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwkvKiB3ZSBzaG91bGQgb25seSBoYXZlIG9uZSBpdGVtICovCisJaWYgKCFyZXQgJiYgY291bnQgIT0gMSkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBmaWx0ZXIgZmFpbGVkIGNvdW50PSVsZCAuLiIsIGNvdW50KTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKyBvdXQ6CisJZnRyYWNlX2VuYWJsZWQgPSBzYXZlX2Z0cmFjZV9lbmFibGVkOworCXRyYWNlcl9lbmFibGVkID0gc2F2ZV90cmFjZXJfZW5hYmxlZDsKKworCS8qIEVuYWJsZSB0cmFjaW5nIG9uIGFsbCBmdW5jdGlvbnMgYWdhaW4gKi8KKwlmdHJhY2Vfc2V0X2ZpbHRlcihOVUxMLCAwLCAxKTsKKworCXJldHVybiByZXQ7Cit9CisjZWxzZQorIyBkZWZpbmUgdHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9keW5hbWljX3RyYWNpbmcodHJhY2UsIHRyLCBmdW5jKSAoeyAwOyB9KQorI2VuZGlmIC8qIENPTkZJR19EWU5BTUlDX0ZUUkFDRSAqLworLyoKKyAqIFNpbXBsZSB2ZXJpZmljYXRpb24gdGVzdCBvZiBmdHJhY2UgZnVuY3Rpb24gdHJhY2VyLgorICogRW5hYmxlIGZ0cmFjZSwgc2xlZXAgMS8xMCBzZWNvbmQsIGFuZCB0aGVuIHJlYWQgdGhlIHRyYWNlCisgKiBidWZmZXIgdG8gc2VlIGlmIGFsbCBpcyBpbiBvcmRlci4KKyAqLworaW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2Z1bmN0aW9uKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKwlpbnQgc2F2ZV9mdHJhY2VfZW5hYmxlZCA9IGZ0cmFjZV9lbmFibGVkOworCWludCBzYXZlX3RyYWNlcl9lbmFibGVkID0gdHJhY2VyX2VuYWJsZWQ7CisKKwkvKiBtYWtlIHN1cmUgbXNsZWVwIGhhcyBiZWVuIHJlY29yZGVkICovCisJbXNsZWVwKDEpOworCisJLyogZm9yY2UgdGhlIHJlY29yZGVkIGZ1bmN0aW9ucyB0byBiZSB0cmFjZWQgKi8KKwlyZXQgPSBmdHJhY2VfZm9yY2VfdXBkYXRlKCk7CisJaWYgKHJldCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBmdHJhY2VkIGZhaWxlZCAuLiAiKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwkvKiBzdGFydCB0aGUgdHJhY2luZyAqLworCWZ0cmFjZV9lbmFibGVkID0gMTsKKwl0cmFjZXJfZW5hYmxlZCA9IDE7CisKKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCWZ0cmFjZV9lbmFibGVkID0gMDsKKworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJCWdvdG8gb3V0OworCX0KKworCXJldCA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfZHluYW1pY190cmFjaW5nKHRyYWNlLCB0ciwKKwkJCQkJCSAgICAgRFlOX0ZUUkFDRV9URVNUX05BTUUpOworCisgb3V0OgorCWZ0cmFjZV9lbmFibGVkID0gc2F2ZV9mdHJhY2VfZW5hYmxlZDsKKwl0cmFjZXJfZW5hYmxlZCA9IHNhdmVfdHJhY2VyX2VuYWJsZWQ7CisKKwkvKiBraWxsIGZ0cmFjZSB0b3RhbGx5IGlmIHdlIGZhaWxlZCAqLworCWlmIChyZXQpCisJCWZ0cmFjZV9raWxsKCk7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19GVFJBQ0UgKi8KKworI2lmZGVmIENPTkZJR19JUlFTT0ZGX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX2lycXNvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCS8qIGRpc2FibGUgaW50ZXJydXB0cyBmb3IgYSBiaXQgKi8KKwlsb2NhbF9pcnFfZGlzYWJsZSgpOworCXVkZWxheSgxMDApOworCWxvY2FsX2lycV9lbmFibGUoKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAoIXJldCkKKwkJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJfQorCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IHNhdmVfbWF4OworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfSVJRU09GRl9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19QUkVFTVBUX1RSQUNFUgoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRvZmYoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCS8qIGRpc2FibGUgcHJlZW1wdGlvbiBmb3IgYSBiaXQgKi8KKwlwcmVlbXB0X2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmICghcmV0KQorCQlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcigmbWF4X3RyLCAmY291bnQpOworCXRyYWNlLT5yZXNldCh0cik7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19QUkVFTVBUX1RSQUNFUiAqLworCisjaWYgZGVmaW5lZChDT05GSUdfSVJRU09GRl9UUkFDRVIpICYmIGRlZmluZWQoQ09ORklHX1BSRUVNUFRfVFJBQ0VSKQoraW50Cit0cmFjZV9zZWxmdGVzdF9zdGFydHVwX3ByZWVtcHRpcnFzb2ZmKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgc2F2ZV9tYXggPSB0cmFjaW5nX21heF9sYXRlbmN5OworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKworCS8qIHJlc2V0IHRoZSBtYXggbGF0ZW5jeSAqLworCXRyYWNpbmdfbWF4X2xhdGVuY3kgPSAwOworCisJLyogZGlzYWJsZSBwcmVlbXB0aW9uIGFuZCBpbnRlcnJ1cHRzIGZvciBhIGJpdCAqLworCXByZWVtcHRfZGlzYWJsZSgpOworCWxvY2FsX2lycV9kaXNhYmxlKCk7CisJdWRlbGF5KDEwMCk7CisJcHJlZW1wdF9lbmFibGUoKTsKKwkvKiByZXZlcnNlIHRoZSBvcmRlciBvZiBwcmVlbXB0IHZzIGlycXMgKi8KKwlsb2NhbF9pcnFfZW5hYmxlKCk7CisKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIGJvdGggdHJhY2UgYnVmZmVycyAqLworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKHRyLCBOVUxMKTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisJaWYgKHJldCkKKwkJZ290byBvdXQ7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogZG8gdGhlIHRlc3QgYnkgZGlzYWJsaW5nIGludGVycnVwdHMgZmlyc3QgdGhpcyB0aW1lICovCisJdHJhY2luZ19tYXhfbGF0ZW5jeSA9IDA7CisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJcHJlZW1wdF9kaXNhYmxlKCk7CisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKwl1ZGVsYXkoMTAwKTsKKwlwcmVlbXB0X2VuYWJsZSgpOworCS8qIHJldmVyc2UgdGhlIG9yZGVyIG9mIHByZWVtcHQgdnMgaXJxcyAqLworCWxvY2FsX2lycV9lbmFibGUoKTsKKworCS8qIHN0b3AgdGhlIHRyYWNpbmcuICovCisJdHItPmN0cmwgPSAwOworCXRyYWNlLT5jdHJsX3VwZGF0ZSh0cik7CisJLyogY2hlY2sgYm90aCB0cmFjZSBidWZmZXJzICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsIE5VTEwpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIoJm1heF90ciwgJmNvdW50KTsKKworCWlmICghcmV0ICYmICFjb3VudCkgeworCQlwcmludGsoS0VSTl9DT05UICIuLiBubyBlbnRyaWVzIGZvdW5kIC4uIik7CisJCXJldCA9IC0xOworCQlnb3RvIG91dDsKKwl9CisKKyBvdXQ6CisJdHJhY2UtPnJlc2V0KHRyKTsKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19JUlFTT0ZGX1RSQUNFUiAmJiBDT05GSUdfUFJFRU1QVF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19TQ0hFRF9UUkFDRVIKK3N0YXRpYyBpbnQgdHJhY2Vfd2FrZXVwX3Rlc3RfdGhyZWFkKHZvaWQgKmRhdGEpCit7CisJLyogTWFrZSB0aGlzIGEgUlQgdGhyZWFkLCBkb2Vzbid0IG5lZWQgdG8gYmUgdG9vIGhpZ2ggKi8KKwlzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW0gPSB7IC5zY2hlZF9wcmlvcml0eSA9IDUgfTsKKwlzdHJ1Y3QgY29tcGxldGlvbiAqeCA9IGRhdGE7CisKKwlzY2hlZF9zZXRzY2hlZHVsZXIoY3VycmVudCwgU0NIRURfRklGTywgJnBhcmFtKTsKKworCS8qIE1ha2UgaXQga25vdyB3ZSBoYXZlIGEgbmV3IHByaW8gKi8KKwljb21wbGV0ZSh4KTsKKworCS8qIG5vdyBnbyB0byBzbGVlcCBhbmQgbGV0IHRoZSB0ZXN0IHdha2UgdXMgdXAgKi8KKwlzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOworCXNjaGVkdWxlKCk7CisKKwkvKiB3ZSBhcmUgYXdha2UsIG5vdyB3YWl0IHRvIGRpc2FwcGVhciAqLworCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7CisJCS8qCisJCSAqIFRoaXMgaXMgYW4gUlQgdGFzaywgZG8gc2hvcnQgc2xlZXBzIHRvIGxldAorCQkgKiBvdGhlcnMgcnVuLgorCQkgKi8KKwkJbXNsZWVwKDEwMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF93YWtldXAoc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBzYXZlX21heCA9IHRyYWNpbmdfbWF4X2xhdGVuY3k7CisJc3RydWN0IHRhc2tfc3RydWN0ICpwOworCXN0cnVjdCBjb21wbGV0aW9uIGlzcnQ7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJaW5pdF9jb21wbGV0aW9uKCZpc3J0KTsKKworCS8qIGNyZWF0ZSBhIGhpZ2ggcHJpbyB0aHJlYWQgKi8KKwlwID0ga3RocmVhZF9ydW4odHJhY2Vfd2FrZXVwX3Rlc3RfdGhyZWFkLCAmaXNydCwgImZ0cmFjZS10ZXN0Iik7CisJaWYgKElTX0VSUihwKSkgeworCQlwcmludGsoS0VSTl9DT05UICJGYWlsZWQgdG8gY3JlYXRlIGZ0cmFjZSB3YWtldXAgdGVzdCB0aHJlYWQgIik7CisJCXJldHVybiAtMTsKKwl9CisKKwkvKiBtYWtlIHN1cmUgdGhlIHRocmVhZCBpcyBydW5uaW5nIGF0IGFuIFJUIHByaW8gKi8KKwl3YWl0X2Zvcl9jb21wbGV0aW9uKCZpc3J0KTsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiByZXNldCB0aGUgbWF4IGxhdGVuY3kgKi8KKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gMDsKKworCS8qIHNsZWVwIHRvIGxldCB0aGUgUlQgdGhyZWFkIHNsZWVwIHRvbyAqLworCW1zbGVlcCgxMDApOworCisJLyoKKwkgKiBZZXMgdGhpcyBpcyBzbGlnaHRseSByYWN5LiBJdCBpcyBwb3NzaWJsZSB0aGF0IGZvciBzb21lCisJICogc3RyYW5nZSByZWFzb24gdGhhdCB0aGUgUlQgdGhyZWFkIHdlIGNyZWF0ZWQsIGRpZCBub3QKKwkgKiBjYWxsIHNjaGVkdWxlIGZvciAxMDBtcyBhZnRlciBkb2luZyB0aGUgY29tcGxldGlvbiwKKwkgKiBhbmQgd2UgZG8gYSB3YWtldXAgb24gYSB0YXNrIHRoYXQgYWxyZWFkeSBpcyBhd2FrZS4KKwkgKiBCdXQgdGhhdCBpcyBleHRyZW1lbHkgdW5saWtlbHksIGFuZCB0aGUgd29yc3QgdGhpbmcgdGhhdAorCSAqIGhhcHBlbnMgaW4gc3VjaCBhIGNhc2UsIGlzIHRoYXQgd2UgZGlzYWJsZSB0cmFjaW5nLgorCSAqIEhvbmVzdGx5LCBpZiB0aGlzIHJhY2UgZG9lcyBoYXBwZW4gc29tZXRoaW5nIGlzIGhvcnJpYmxlCisJICogd3Jvbmcgd2l0aCB0aGUgc3lzdGVtLgorCSAqLworCisJd2FrZV91cF9wcm9jZXNzKHApOworCisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayBib3RoIHRyYWNlIGJ1ZmZlcnMgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgTlVMTCk7CisJaWYgKCFyZXQpCisJCXJldCA9IHRyYWNlX3Rlc3RfYnVmZmVyKCZtYXhfdHIsICZjb3VudCk7CisKKworCXRyYWNlLT5yZXNldCh0cik7CisKKwl0cmFjaW5nX21heF9sYXRlbmN5ID0gc2F2ZV9tYXg7CisKKwkvKiBraWxsIHRoZSB0aHJlYWQgKi8KKwlrdGhyZWFkX3N0b3AocCk7CisKKwlpZiAoIXJldCAmJiAhY291bnQpIHsKKwkJcHJpbnRrKEtFUk5fQ09OVCAiLi4gbm8gZW50cmllcyBmb3VuZCAuLiIpOworCQlyZXQgPSAtMTsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIENPTkZJR19TQ0hFRF9UUkFDRVIgKi8KKworI2lmZGVmIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zY2hlZF9zd2l0Y2goc3RydWN0IHRyYWNlciAqdHJhY2UsIHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJdW5zaWduZWQgbG9uZyBjb3VudDsKKwlpbnQgcmV0OworCisJLyogc3RhcnQgdGhlIHRyYWNpbmcgKi8KKwl0ci0+Y3RybCA9IDE7CisJdHJhY2UtPmluaXQodHIpOworCS8qIFNsZWVwIGZvciBhIDEvMTAgb2YgYSBzZWNvbmQgKi8KKwltc2xlZXAoMTAwKTsKKwkvKiBzdG9wIHRoZSB0cmFjaW5nLiAqLworCXRyLT5jdHJsID0gMDsKKwl0cmFjZS0+Y3RybF91cGRhdGUodHIpOworCS8qIGNoZWNrIHRoZSB0cmFjZSBidWZmZXIgKi8KKwlyZXQgPSB0cmFjZV90ZXN0X2J1ZmZlcih0ciwgJmNvdW50KTsKKwl0cmFjZS0+cmVzZXQodHIpOworCisJaWYgKCFyZXQgJiYgIWNvdW50KSB7CisJCXByaW50ayhLRVJOX0NPTlQgIi4uIG5vIGVudHJpZXMgZm91bmQgLi4iKTsKKwkJcmV0ID0gLTE7CisJfQorCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBDT05GSUdfQ09OVEVYVF9TV0lUQ0hfVFJBQ0VSICovCisKKyNpZmRlZiBDT05GSUdfU1lTUFJPRl9UUkFDRVIKK2ludAordHJhY2Vfc2VsZnRlc3Rfc3RhcnR1cF9zeXNwcm9mKHN0cnVjdCB0cmFjZXIgKnRyYWNlLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXVuc2lnbmVkIGxvbmcgY291bnQ7CisJaW50IHJldDsKKworCS8qIHN0YXJ0IHRoZSB0cmFjaW5nICovCisJdHItPmN0cmwgPSAxOworCXRyYWNlLT5pbml0KHRyKTsKKwkvKiBTbGVlcCBmb3IgYSAxLzEwIG9mIGEgc2Vjb25kICovCisJbXNsZWVwKDEwMCk7CisJLyogc3RvcCB0aGUgdHJhY2luZy4gKi8KKwl0ci0+Y3RybCA9IDA7CisJdHJhY2UtPmN0cmxfdXBkYXRlKHRyKTsKKwkvKiBjaGVjayB0aGUgdHJhY2UgYnVmZmVyICovCisJcmV0ID0gdHJhY2VfdGVzdF9idWZmZXIodHIsICZjb3VudCk7CisJdHJhY2UtPnJlc2V0KHRyKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYgLyogQ09ORklHX1NZU1BST0ZfVFJBQ0VSICovCmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc2VsZnRlc3RfZHluYW1pYy5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGRkNzdjCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3NlbGZ0ZXN0X2R5bmFtaWMuYwpAQCAtMCwwICsxLDcgQEAKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitpbnQgRFlOX0ZUUkFDRV9URVNUX05BTUUodm9pZCkKK3sKKwkvKiB1c2VkIHRvIGNhbGwgbWNvdW50ICovCisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvdHJhY2Vfc3lzcHJvZi5jIGIva2VybmVsL3RyYWNlL3RyYWNlX3N5c3Byb2YuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzAxZTFlCi0tLSAvZGV2L251bGwKKysrIGIva2VybmVsL3RyYWNlL3RyYWNlX3N5c3Byb2YuYwpAQCAtMCwwICsxLDM2MyBAQAorLyoKKyAqIHRyYWNlIHN0YWNrIHRyYWNlcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwNC0yMDA4LCBTb2VyZW4gU2FuZG1hbm4KKyAqIENvcHlyaWdodCAoQykgMjAwNyBTdGV2ZW4gUm9zdGVkdCA8c3Jvc3RlZHRAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KKyAqLworI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+CisjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgorI2luY2x1ZGUgPGxpbnV4L2hydGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvZnRyYWNlLmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaXJxLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKworI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisKKyNpbmNsdWRlICJ0cmFjZS5oIgorCitzdGF0aWMgc3RydWN0IHRyYWNlX2FycmF5CSpzeXNwcm9mX3RyYWNlOworc3RhdGljIGludCBfX3JlYWRfbW9zdGx5CXRyYWNlcl9lbmFibGVkOworCisvKgorICogMSBtc2VjIHNhbXBsZSBpbnRlcnZhbCBieSBkZWZhdWx0OgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBzYW1wbGVfcGVyaW9kID0gMTAwMDAwMDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgc2FtcGxlX21heF9kZXB0aCA9IDUxMjsKKworc3RhdGljIERFRklORV9NVVRFWChzYW1wbGVfdGltZXJfbG9jayk7CisvKgorICogUGVyIENQVSBocnRpbWVycyB0aGF0IGRvIHRoZSBwcm9maWxpbmc6CisgKi8KK3N0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgaHJ0aW1lciwgc3RhY2tfdHJhY2VfaHJ0aW1lcik7CisKK3N0cnVjdCBzdGFja19mcmFtZSB7CisJY29uc3Qgdm9pZCBfX3VzZXIJKm5leHRfZnA7CisJdW5zaWduZWQgbG9uZwkJcmV0dXJuX2FkZHJlc3M7Cit9OworCitzdGF0aWMgaW50IGNvcHlfc3RhY2tfZnJhbWUoY29uc3Qgdm9pZCBfX3VzZXIgKmZwLCBzdHJ1Y3Qgc3RhY2tfZnJhbWUgKmZyYW1lKQoreworCWludCByZXQ7CisKKwlpZiAoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwgZnAsIHNpemVvZigqZnJhbWUpKSkKKwkJcmV0dXJuIDA7CisKKwlyZXQgPSAxOworCXBhZ2VmYXVsdF9kaXNhYmxlKCk7CisJaWYgKF9fY29weV9mcm9tX3VzZXJfaW5hdG9taWMoZnJhbWUsIGZwLCBzaXplb2YoKmZyYW1lKSkpCisJCXJldCA9IDA7CisJcGFnZWZhdWx0X2VuYWJsZSgpOworCisJcmV0dXJuIHJldDsKK30KKworc3RydWN0IGJhY2t0cmFjZV9pbmZvIHsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1CSpkYXRhOworCXN0cnVjdCB0cmFjZV9hcnJheQkqdHI7CisJaW50CQkJcG9zOworfTsKKworc3RhdGljIHZvaWQKK2JhY2t0cmFjZV93YXJuaW5nX3N5bWJvbCh2b2lkICpkYXRhLCBjaGFyICptc2csIHVuc2lnbmVkIGxvbmcgc3ltYm9sKQoreworCS8qIElnbm9yZSB3YXJuaW5ncyAqLworfQorCitzdGF0aWMgdm9pZCBiYWNrdHJhY2Vfd2FybmluZyh2b2lkICpkYXRhLCBjaGFyICptc2cpCit7CisJLyogSWdub3JlIHdhcm5pbmdzICovCit9CisKK3N0YXRpYyBpbnQgYmFja3RyYWNlX3N0YWNrKHZvaWQgKmRhdGEsIGNoYXIgKm5hbWUpCit7CisJLyogRG9uJ3QgYm90aGVyIHdpdGggSVJRIHN0YWNrcyBmb3Igbm93ICovCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBiYWNrdHJhY2VfYWRkcmVzcyh2b2lkICpkYXRhLCB1bnNpZ25lZCBsb25nIGFkZHIsIGludCByZWxpYWJsZSkKK3sKKwlzdHJ1Y3QgYmFja3RyYWNlX2luZm8gKmluZm8gPSBkYXRhOworCisJaWYgKGluZm8tPnBvcyA8IHNhbXBsZV9tYXhfZGVwdGggJiYgcmVsaWFibGUpIHsKKwkJX190cmFjZV9zcGVjaWFsKGluZm8tPnRyLCBpbmZvLT5kYXRhLCAxLCBhZGRyLCAwKTsKKworCQlpbmZvLT5wb3MrKzsKKwl9Cit9CisKK2NvbnN0IHN0YXRpYyBzdHJ1Y3Qgc3RhY2t0cmFjZV9vcHMgYmFja3RyYWNlX29wcyA9IHsKKwkud2FybmluZwkJPSBiYWNrdHJhY2Vfd2FybmluZywKKwkud2FybmluZ19zeW1ib2wJCT0gYmFja3RyYWNlX3dhcm5pbmdfc3ltYm9sLAorCS5zdGFjawkJCT0gYmFja3RyYWNlX3N0YWNrLAorCS5hZGRyZXNzCQk9IGJhY2t0cmFjZV9hZGRyZXNzLAorfTsKKworc3RhdGljIGludAordHJhY2Vfa2VybmVsKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyLAorCSAgICAgc3RydWN0IHRyYWNlX2FycmF5X2NwdSAqZGF0YSkKK3sKKwlzdHJ1Y3QgYmFja3RyYWNlX2luZm8gaW5mbzsKKwl1bnNpZ25lZCBsb25nIGJwOworCWNoYXIgKnN0YWNrOworCisJaW5mby50ciA9IHRyOworCWluZm8uZGF0YSA9IGRhdGE7CisJaW5mby5wb3MgPSAxOworCisJX190cmFjZV9zcGVjaWFsKGluZm8udHIsIGluZm8uZGF0YSwgMSwgcmVncy0+aXAsIDApOworCisJc3RhY2sgPSAoKGNoYXIgKilyZWdzICsgc2l6ZW9mKHN0cnVjdCBwdF9yZWdzKSk7CisjaWZkZWYgQ09ORklHX0ZSQU1FX1BPSU5URVIKKwlicCA9IHJlZ3MtPmJwOworI2Vsc2UKKwlicCA9IDA7CisjZW5kaWYKKworCWR1bXBfdHJhY2UoTlVMTCwgcmVncywgKHZvaWQgKilzdGFjaywgYnAsICZiYWNrdHJhY2Vfb3BzLCAmaW5mbyk7CisKKwlyZXR1cm4gaW5mby5wb3M7Cit9CisKK3N0YXRpYyB2b2lkIHRpbWVyX25vdGlmeShzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IGNwdSkKK3sKKwlzdHJ1Y3QgdHJhY2VfYXJyYXlfY3B1ICpkYXRhOworCXN0cnVjdCBzdGFja19mcmFtZSBmcmFtZTsKKwlzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyOworCWNvbnN0IHZvaWQgX191c2VyICpmcDsKKwlpbnQgaXNfdXNlcjsKKwlpbnQgaTsKKworCWlmICghcmVncykKKwkJcmV0dXJuOworCisJdHIgPSBzeXNwcm9mX3RyYWNlOworCWRhdGEgPSB0ci0+ZGF0YVtjcHVdOworCWlzX3VzZXIgPSB1c2VyX21vZGUocmVncyk7CisKKwlpZiAoIWN1cnJlbnQgfHwgY3VycmVudC0+cGlkID09IDApCisJCXJldHVybjsKKworCWlmIChpc191c2VyICYmIGN1cnJlbnQtPnN0YXRlICE9IFRBU0tfUlVOTklORykKKwkJcmV0dXJuOworCisJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAwLCAwLCBjdXJyZW50LT5waWQpOworCisJaWYgKCFpc191c2VyKQorCQlpID0gdHJhY2Vfa2VybmVsKHJlZ3MsIHRyLCBkYXRhKTsKKwllbHNlCisJCWkgPSAwOworCisJLyoKKwkgKiBUcmFjZSB1c2VyIHN0YWNrIGlmIHdlIGFyZSBub3QgYSBrZXJuZWwgdGhyZWFkCisJICovCisJaWYgKGN1cnJlbnQtPm1tICYmIGkgPCBzYW1wbGVfbWF4X2RlcHRoKSB7CisJCXJlZ3MgPSAoc3RydWN0IHB0X3JlZ3MgKiljdXJyZW50LT50aHJlYWQuc3AwIC0gMTsKKworCQlmcCA9ICh2b2lkIF9fdXNlciAqKXJlZ3MtPmJwOworCisJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgMiwgcmVncy0+aXAsIDApOworCisJCXdoaWxlIChpIDwgc2FtcGxlX21heF9kZXB0aCkgeworCQkJZnJhbWUubmV4dF9mcCA9IDA7CisJCQlmcmFtZS5yZXR1cm5fYWRkcmVzcyA9IDA7CisJCQlpZiAoIWNvcHlfc3RhY2tfZnJhbWUoZnAsICZmcmFtZSkpCisJCQkJYnJlYWs7CisJCQlpZiAoKHVuc2lnbmVkIGxvbmcpZnAgPCByZWdzLT5zcCkKKwkJCQlicmVhazsKKworCQkJX190cmFjZV9zcGVjaWFsKHRyLCBkYXRhLCAyLCBmcmFtZS5yZXR1cm5fYWRkcmVzcywKKwkJCQkJKHVuc2lnbmVkIGxvbmcpZnApOworCQkJZnAgPSBmcmFtZS5uZXh0X2ZwOworCisJCQlpKys7CisJCX0KKworCX0KKworCS8qCisJICogU3BlY2lhbCB0cmFjZSBlbnRyeSBpZiB3ZSBvdmVyZmxvdyB0aGUgbWF4IGRlcHRoOgorCSAqLworCWlmIChpID09IHNhbXBsZV9tYXhfZGVwdGgpCisJCV9fdHJhY2Vfc3BlY2lhbCh0ciwgZGF0YSwgLTEsIC0xLCAtMSk7CisKKwlfX3RyYWNlX3NwZWNpYWwodHIsIGRhdGEsIDMsIGN1cnJlbnQtPnBpZCwgaSk7Cit9CisKK3N0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBzdGFja190cmFjZV90aW1lcl9mbihzdHJ1Y3QgaHJ0aW1lciAqaHJ0aW1lcikKK3sKKwkvKiB0cmFjZSBoZXJlICovCisJdGltZXJfbm90aWZ5KGdldF9pcnFfcmVncygpLCBzbXBfcHJvY2Vzc29yX2lkKCkpOworCisJaHJ0aW1lcl9mb3J3YXJkX25vdyhocnRpbWVyLCBuc190b19rdGltZShzYW1wbGVfcGVyaW9kKSk7CisKKwlyZXR1cm4gSFJUSU1FUl9SRVNUQVJUOworfQorCitzdGF0aWMgdm9pZCBzdGFydF9zdGFja190aW1lcihpbnQgY3B1KQoreworCXN0cnVjdCBocnRpbWVyICpocnRpbWVyID0gJnBlcl9jcHUoc3RhY2tfdHJhY2VfaHJ0aW1lciwgY3B1KTsKKworCWhydGltZXJfaW5pdChocnRpbWVyLCBDTE9DS19NT05PVE9OSUMsIEhSVElNRVJfTU9ERV9SRUwpOworCWhydGltZXItPmZ1bmN0aW9uID0gc3RhY2tfdHJhY2VfdGltZXJfZm47CisJaHJ0aW1lci0+Y2JfbW9kZSA9IEhSVElNRVJfQ0JfSVJRU0FGRV9OT19TT0ZUSVJROworCisJaHJ0aW1lcl9zdGFydChocnRpbWVyLCBuc190b19rdGltZShzYW1wbGVfcGVyaW9kKSwgSFJUSU1FUl9NT0RFX1JFTCk7Cit9CisKK3N0YXRpYyB2b2lkIHN0YXJ0X3N0YWNrX3RpbWVycyh2b2lkKQoreworCWNwdW1hc2tfdCBzYXZlZF9tYXNrID0gY3VycmVudC0+Y3B1c19hbGxvd2VkOworCWludCBjcHU7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQlzZXRfY3B1c19hbGxvd2VkX3B0cihjdXJyZW50LCAmY3B1bWFza19vZl9jcHUoY3B1KSk7CisJCXN0YXJ0X3N0YWNrX3RpbWVyKGNwdSk7CisJfQorCXNldF9jcHVzX2FsbG93ZWRfcHRyKGN1cnJlbnQsICZzYXZlZF9tYXNrKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9zdGFja190aW1lcihpbnQgY3B1KQoreworCXN0cnVjdCBocnRpbWVyICpocnRpbWVyID0gJnBlcl9jcHUoc3RhY2tfdHJhY2VfaHJ0aW1lciwgY3B1KTsKKworCWhydGltZXJfY2FuY2VsKGhydGltZXIpOworfQorCitzdGF0aWMgdm9pZCBzdG9wX3N0YWNrX3RpbWVycyh2b2lkKQoreworCWludCBjcHU7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJc3RvcF9zdGFja190aW1lcihjcHUpOworfQorCitzdGF0aWMgdm9pZCBzdGFja19yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWludCBjcHU7CisKKwl0ci0+dGltZV9zdGFydCA9IGZ0cmFjZV9ub3codHItPmNwdSk7CisKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKKwkJdHJhY2luZ19yZXNldCh0ci0+ZGF0YVtjcHVdKTsKK30KKworc3RhdGljIHZvaWQgc3RhcnRfc3RhY2tfdHJhY2Uoc3RydWN0IHRyYWNlX2FycmF5ICp0cikKK3sKKwltdXRleF9sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7CisJc3RhY2tfcmVzZXQodHIpOworCXN0YXJ0X3N0YWNrX3RpbWVycygpOworCXRyYWNlcl9lbmFibGVkID0gMTsKKwltdXRleF91bmxvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgc3RvcF9zdGFja190cmFjZShzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCW11dGV4X2xvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKwlzdG9wX3N0YWNrX3RpbWVycygpOworCXRyYWNlcl9lbmFibGVkID0gMDsKKwltdXRleF91bmxvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKK30KKworc3RhdGljIHZvaWQgc3RhY2tfdHJhY2VfaW5pdChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCXN5c3Byb2ZfdHJhY2UgPSB0cjsKKworCWlmICh0ci0+Y3RybCkKKwkJc3RhcnRfc3RhY2tfdHJhY2UodHIpOworfQorCitzdGF0aWMgdm9pZCBzdGFja190cmFjZV9yZXNldChzdHJ1Y3QgdHJhY2VfYXJyYXkgKnRyKQoreworCWlmICh0ci0+Y3RybCkKKwkJc3RvcF9zdGFja190cmFjZSh0cik7Cit9CisKK3N0YXRpYyB2b2lkIHN0YWNrX3RyYWNlX2N0cmxfdXBkYXRlKHN0cnVjdCB0cmFjZV9hcnJheSAqdHIpCit7CisJLyogV2hlbiBzdGFydGluZyBhIG5ldyB0cmFjZSwgcmVzZXQgdGhlIGJ1ZmZlcnMgKi8KKwlpZiAodHItPmN0cmwpCisJCXN0YXJ0X3N0YWNrX3RyYWNlKHRyKTsKKwllbHNlCisJCXN0b3Bfc3RhY2tfdHJhY2UodHIpOworfQorCitzdGF0aWMgc3RydWN0IHRyYWNlciBzdGFja190cmFjZSBfX3JlYWRfbW9zdGx5ID0KK3sKKwkubmFtZQkJPSAic3lzcHJvZiIsCisJLmluaXQJCT0gc3RhY2tfdHJhY2VfaW5pdCwKKwkucmVzZXQJCT0gc3RhY2tfdHJhY2VfcmVzZXQsCisJLmN0cmxfdXBkYXRlCT0gc3RhY2tfdHJhY2VfY3RybF91cGRhdGUsCisjaWZkZWYgQ09ORklHX0ZUUkFDRV9TRUxGVEVTVAorCS5zZWxmdGVzdCAgICA9IHRyYWNlX3NlbGZ0ZXN0X3N0YXJ0dXBfc3lzcHJvZiwKKyNlbmRpZgorfTsKKworX19pbml0IHN0YXRpYyBpbnQgaW5pdF9zdGFja190cmFjZSh2b2lkKQoreworCXJldHVybiByZWdpc3Rlcl90cmFjZXIoJnN0YWNrX3RyYWNlKTsKK30KK2RldmljZV9pbml0Y2FsbChpbml0X3N0YWNrX3RyYWNlKTsKKworI2RlZmluZSBNQVhfTE9OR19ESUdJVFMgMjIKKworc3RhdGljIHNzaXplX3QKK3N5c3Byb2Zfc2FtcGxlX3JlYWQoc3RydWN0IGZpbGUgKmZpbHAsIGNoYXIgX191c2VyICp1YnVmLAorCQkgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmW01BWF9MT05HX0RJR0lUU107CisJaW50IHI7CisKKwlyID0gc3ByaW50ZihidWYsICIlbGRcbiIsIG5zZWNzX3RvX3VzZWNzKHNhbXBsZV9wZXJpb2QpKTsKKworCXJldHVybiBzaW1wbGVfcmVhZF9mcm9tX2J1ZmZlcih1YnVmLCBjbnQsIHBwb3MsIGJ1Ziwgcik7Cit9CisKK3N0YXRpYyBzc2l6ZV90CitzeXNwcm9mX3NhbXBsZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgY2hhciBfX3VzZXIgKnVidWYsCisJCSAgICAgc2l6ZV90IGNudCwgbG9mZl90ICpwcG9zKQoreworCWNoYXIgYnVmW01BWF9MT05HX0RJR0lUU107CisJdW5zaWduZWQgbG9uZyB2YWw7CisKKwlpZiAoY250ID4gTUFYX0xPTkdfRElHSVRTLTEpCisJCWNudCA9IE1BWF9MT05HX0RJR0lUUy0xOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZidWYsIHVidWYsIGNudCkpCisJCXJldHVybiAtRUZBVUxUOworCisJYnVmW2NudF0gPSAwOworCisJdmFsID0gc2ltcGxlX3N0cnRvdWwoYnVmLCBOVUxMLCAxMCk7CisJLyoKKwkgKiBFbmZvcmNlIGEgbWluaW11bSBzYW1wbGUgcGVyaW9kIG9mIDEwMCB1c2VjczoKKwkgKi8KKwlpZiAodmFsIDwgMTAwKQorCQl2YWwgPSAxMDA7CisKKwltdXRleF9sb2NrKCZzYW1wbGVfdGltZXJfbG9jayk7CisJc3RvcF9zdGFja190aW1lcnMoKTsKKwlzYW1wbGVfcGVyaW9kID0gdmFsICogMTAwMDsKKwlzdGFydF9zdGFja190aW1lcnMoKTsKKwltdXRleF91bmxvY2soJnNhbXBsZV90aW1lcl9sb2NrKTsKKworCXJldHVybiBjbnQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHN5c3Byb2Zfc2FtcGxlX2ZvcHMgPSB7CisJLnJlYWQJCT0gc3lzcHJvZl9zYW1wbGVfcmVhZCwKKwkud3JpdGUJCT0gc3lzcHJvZl9zYW1wbGVfd3JpdGUsCit9OworCit2b2lkIGluaXRfdHJhY2VyX3N5c3Byb2ZfZGVidWdmcyhzdHJ1Y3QgZGVudHJ5ICpkX3RyYWNlcikKK3sKKwlzdHJ1Y3QgZGVudHJ5ICplbnRyeTsKKworCWVudHJ5ID0gZGVidWdmc19jcmVhdGVfZmlsZSgic3lzcHJvZl9zYW1wbGVfcGVyaW9kIiwgMDY0NCwKKwkJCWRfdHJhY2VyLCBOVUxMLCAmc3lzcHJvZl9zYW1wbGVfZm9wcyk7CisJaWYgKGVudHJ5KQorCQlyZXR1cm47CisJcHJfd2FybmluZygiQ291bGQgbm90IGNyZWF0ZSBkZWJ1Z2ZzICdkeW5fZnRyYWNlX3RvdGFsX2luZm8nIGVudHJ5XG4iKTsKK30KZGlmZiAtLWdpdCBhL2xpYi9LY29uZmlnLmRlYnVnIGIvbGliL0tjb25maWcuZGVidWcKaW5kZXggZDIwOTlmNC4uZGYyNzEzMiAxMDA2NDQKLS0tIGEvbGliL0tjb25maWcuZGVidWcKKysrIGIvbGliL0tjb25maWcuZGVidWcKQEAgLTQxOSw3ICs0MTksNiBAQAogCiBjb25maWcgU1RBQ0tUUkFDRQogCWJvb2wKLQlkZXBlbmRzIG9uIERFQlVHX0tFUk5FTAogCWRlcGVuZHMgb24gU1RBQ0tUUkFDRV9TVVBQT1JUCiAKIGNvbmZpZyBERUJVR19LT0JKRUNUCkBAIC01MzEsMTYgKzUzMCwzNCBAQAogY29uZmlnIFJDVV9UT1JUVVJFX1RFU1QKIAl0cmlzdGF0ZSAidG9ydHVyZSB0ZXN0cyBmb3IgUkNVIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCi0JZGVwZW5kcyBvbiBtCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgVGhpcyBvcHRpb24gcHJvdmlkZXMgYSBrZXJuZWwgbW9kdWxlIHRoYXQgcnVucyB0b3J0dXJlIHRlc3RzCiAJICBvbiB0aGUgUkNVIGluZnJhc3RydWN0dXJlLiAgVGhlIGtlcm5lbCBtb2R1bGUgbWF5IGJlIGJ1aWx0CiAJICBhZnRlciB0aGUgZmFjdCBvbiB0aGUgcnVubmluZyBrZXJuZWwgdG8gYmUgdGVzdGVkLCBpZiBkZXNpcmVkLgogCisJICBTYXkgWSBoZXJlIGlmIHlvdSB3YW50IFJDVSB0b3J0dXJlIHRlc3RzIHRvIGJlIGJ1aWx0IGludG8KKwkgIHRoZSBrZXJuZWwuCiAJICBTYXkgTSBpZiB5b3Ugd2FudCB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgdG8gYnVpbGQgYXMgYSBtb2R1bGUuCiAJICBTYXkgTiBpZiB5b3UgYXJlIHVuc3VyZS4KIAorY29uZmlnIFJDVV9UT1JUVVJFX1RFU1RfUlVOTkFCTEUKKwlib29sICJ0b3J0dXJlIHRlc3RzIGZvciBSQ1UgcnVubmFibGUgYnkgZGVmYXVsdCIKKwlkZXBlbmRzIG9uIFJDVV9UT1JUVVJFX1RFU1QgPSB5CisJZGVmYXVsdCBuCisJaGVscAorCSAgVGhpcyBvcHRpb24gcHJvdmlkZXMgYSB3YXkgdG8gYnVpbGQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzCisJICBkaXJlY3RseSBpbnRvIHRoZSBrZXJuZWwgd2l0aG91dCB0aGVtIHN0YXJ0aW5nIHVwIGF0IGJvb3QKKwkgIHRpbWUuICBZb3UgY2FuIHVzZSAvcHJvYy9zeXMva2VybmVsL3JjdXRvcnR1cmVfcnVubmFibGUKKwkgIHRvIG1hbnVhbGx5IG92ZXJyaWRlIHRoaXMgc2V0dGluZy4gIFRoaXMgL3Byb2MgZmlsZSBpcworCSAgYXZhaWxhYmxlIG9ubHkgd2hlbiB0aGUgUkNVIHRvcnR1cmUgdGVzdHMgaGF2ZSBiZWVuIGJ1aWx0CisJICBpbnRvIHRoZSBrZXJuZWwuCisKKwkgIFNheSBZIGhlcmUgaWYgeW91IHdhbnQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzIHRvIHN0YXJ0IGR1cmluZworCSAgYm9vdCAoeW91IHByb2JhYmx5IGRvbid0KS4KKwkgIFNheSBOIGhlcmUgaWYgeW91IHdhbnQgdGhlIFJDVSB0b3J0dXJlIHRlc3RzIHRvIHN0YXJ0IG9ubHkKKwkgIGFmdGVyIGJlaW5nIG1hbnVhbGx5IGVuYWJsZWQgdmlhIC9wcm9jLgorCiBjb25maWcgS1BST0JFU19TQU5JVFlfVEVTVAogCWJvb2wgIktwcm9iZXMgc2FuaXR5IHRlc3RzIgogCWRlcGVuZHMgb24gREVCVUdfS0VSTkVMCkBAIC01NjMsNiArNTgwLDkgQEAKIAkgIGZvciBkaXN0cmlidXRpb25zIG9yIGdlbmVyYWwga2VybmVscywgYnV0IG9ubHkgZm9yIGtlcm5lbAogCSAgZGV2ZWxvcGVycyB3b3JraW5nIG9uIGFyY2hpdGVjdHVyZSBjb2RlLgogCisJICBOb3RlIHRoYXQgaWYgeW91IHdhbnQgdG8gYWxzbyB0ZXN0IHNhdmVkIGJhY2t0cmFjZXMsIHlvdSB3aWxsCisJICBoYXZlIHRvIGVuYWJsZSBTVEFDS1RSQUNFIGFzIHdlbGwuCisKIAkgIFNheSBOIGlmIHlvdSBhcmUgdW5zdXJlLgogCiBjb25maWcgTEtEVE0KQEAgLTYzNCw2ICs2NTQsOCBAQAogCSAgRW5hYmxlIHRoaXMgb3B0aW9uIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUgTGF0ZW5jeVRPUCB0b29sCiAJICB0byBmaW5kIG91dCB3aGljaCB1c2Vyc3BhY2UgaXMgYmxvY2tpbmcgb24gd2hhdCBrZXJuZWwgb3BlcmF0aW9ucy4KIAorc291cmNlIGtlcm5lbC90cmFjZS9LY29uZmlnCisKIGNvbmZpZyBQUk9WSURFX09IQ0kxMzk0X0RNQV9JTklUCiAJYm9vbCAiUmVtb3RlIGRlYnVnZ2luZyBvdmVyIEZpcmVXaXJlIGVhcmx5IG9uIGJvb3QiCiAJZGVwZW5kcyBvbiBQQ0kgJiYgWDg2CmRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIvTWFrZWZpbGUKaW5kZXggNzRiMGNmYi4uNGI4MzZhNSAxMDA2NDQKLS0tIGEvbGliL01ha2VmaWxlCisrKyBiL2xpYi9NYWtlZmlsZQpAQCAtOCw2ICs4LDE1IEBACiAJIHNoYTEubyBpcnFfcmVncy5vIHJlY2lwcm9jYWxfZGl2Lm8gYXJndl9zcGxpdC5vIFwKIAkgcHJvcG9ydGlvbnMubyBwcmlvX2hlYXAubyByYXRlbGltaXQubwogCitpZmRlZiBDT05GSUdfRlRSQUNFCisjIERvIG5vdCBwcm9maWxlIHN0cmluZy5vLCBzaW5jZSBpdCBtYXkgYmUgdXNlZCBpbiBlYXJseSBib290IG9yIHZkc28KK0NGTEFHU19SRU1PVkVfc3RyaW5nLm8gPSAtcGcKKyMgQWxzbyBkbyBub3QgcHJvZmlsZSBhbnkgZGVidWcgdXRpbGl0aWVzCitDRkxBR1NfUkVNT1ZFX3NwaW5sb2NrX2RlYnVnLm8gPSAtcGcKK0NGTEFHU19SRU1PVkVfbGlzdF9kZWJ1Zy5vID0gLXBnCitDRkxBR1NfUkVNT1ZFX2RlYnVnb2JqZWN0cy5vID0gLXBnCitlbmRpZgorCiBsaWItJChDT05GSUdfTU1VKSArPSBpb3JlbWFwLm8KIGxpYi0kKENPTkZJR19TTVApICs9IGNwdW1hc2subwogCmRpZmYgLS1naXQgYS9saWIvcGVyY3B1X2NvdW50ZXIuYyBiL2xpYi9wZXJjcHVfY291bnRlci5jCmluZGV4IDExOTE3NDQuLjRhOGJhNGIgMTAwNjQ0Ci0tLSBhL2xpYi9wZXJjcHVfY291bnRlci5jCisrKyBiL2xpYi9wZXJjcHVfY291bnRlci5jCkBAIC01Miw3ICs1Miw3IEBACiAgKiBBZGQgdXAgYWxsIHRoZSBwZXItY3B1IGNvdW50cywgcmV0dXJuIHRoZSByZXN1bHQuICBUaGlzIGlzIGEgbW9yZSBhY2N1cmF0ZQogICogYnV0IG11Y2ggc2xvd2VyIHZlcnNpb24gb2YgcGVyY3B1X2NvdW50ZXJfcmVhZF9wb3NpdGl2ZSgpCiAgKi8KLXM2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYykKK3M2NCBfX3BlcmNwdV9jb3VudGVyX3N1bShzdHJ1Y3QgcGVyY3B1X2NvdW50ZXIgKmZiYywgaW50IHNldCkKIHsKIAlzNjQgcmV0OwogCWludCBjcHU7CkBAIC02Miw3ICs2MiwxMiBAQAogCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7CiAJCXMzMiAqcGNvdW50ID0gcGVyX2NwdV9wdHIoZmJjLT5jb3VudGVycywgY3B1KTsKIAkJcmV0ICs9ICpwY291bnQ7CisJCWlmIChzZXQpCisJCQkqcGNvdW50ID0gMDsKIAl9CisJaWYgKHNldCkKKwkJZmJjLT5jb3VudCA9IHJldDsKKwogCXNwaW5fdW5sb2NrKCZmYmMtPmxvY2spOwogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jIGIvbGliL3NtcF9wcm9jZXNzb3JfaWQuYwppbmRleCA2YzkwZmI5Li4zYjRkYzA5IDEwMDY0NAotLS0gYS9saWIvc21wX3Byb2Nlc3Nvcl9pZC5jCisrKyBiL2xpYi9zbXBfcHJvY2Vzc29yX2lkLmMKQEAgLTcsNyArNyw3IEBACiAjaW5jbHVkZSA8bGludXgva2FsbHN5bXMuaD4KICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogCi11bnNpZ25lZCBpbnQgZGVidWdfc21wX3Byb2Nlc3Nvcl9pZCh2b2lkKQorbm90cmFjZSB1bnNpZ25lZCBpbnQgZGVidWdfc21wX3Byb2Nlc3Nvcl9pZCh2b2lkKQogewogCXVuc2lnbmVkIGxvbmcgcHJlZW1wdF9jb3VudCA9IHByZWVtcHRfY291bnQoKTsKIAlpbnQgdGhpc19jcHUgPSByYXdfc21wX3Byb2Nlc3Nvcl9pZCgpOwpAQCAtMzcsNyArMzcsNyBAQAogCS8qCiAJICogQXZvaWQgcmVjdXJzaW9uOgogCSAqLwotCXByZWVtcHRfZGlzYWJsZSgpOworCXByZWVtcHRfZGlzYWJsZV9ub3RyYWNlKCk7CiAKIAlpZiAoIXByaW50a19yYXRlbGltaXQoKSkKIAkJZ290byBvdXRfZW5hYmxlOwpAQCAtNDksNyArNDksNyBAQAogCWR1bXBfc3RhY2soKTsKIAogb3V0X2VuYWJsZToKLQlwcmVlbXB0X2VuYWJsZV9ub19yZXNjaGVkKCk7CisJcHJlZW1wdF9lbmFibGVfbm9fcmVzY2hlZF9ub3RyYWNlKCk7CiBvdXQ6CiAJcmV0dXJuIHRoaXNfY3B1OwogfQpkaWZmIC0tZ2l0IGEvbGliL3RleHRzZWFyY2guYyBiL2xpYi90ZXh0c2VhcmNoLmMKaW5kZXggYmU4YmRhMy4uYTNlNTAwYSAxMDA2NDQKLS0tIGEvbGliL3RleHRzZWFyY2guYworKysgYi9saWIvdGV4dHNlYXJjaC5jCkBAIC05Nyw2ICs5Nyw3IEBACiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPGxpbnV4L3JjdXBkYXRlLmg+CiAjaW5jbHVkZSA8bGludXgvZXJyLmg+CiAjaW5jbHVkZSA8bGludXgvdGV4dHNlYXJjaC5oPgpkaWZmIC0tZ2l0IGEvbW0vS2NvbmZpZyBiL21tL0tjb25maWcKaW5kZXggM2FhODE5ZC4uYzRkZTg1MiAxMDA2NDQKLS0tIGEvbW0vS2NvbmZpZworKysgYi9tbS9LY29uZmlnCkBAIC0xMjksNyArMTI5LDcgQEAKIAlib29sICJBbGxvdyBmb3IgbWVtb3J5IGhvdC1hZGQiCiAJZGVwZW5kcyBvbiBTUEFSU0VNRU0gfHwgWDg2XzY0X0FDUElfTlVNQQogCWRlcGVuZHMgb24gSE9UUExVRyAmJiAhSElCRVJOQVRJT04gJiYgQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUcKLQlkZXBlbmRzIG9uIChJQTY0IHx8IFg4NiB8fCBQUEM2NCB8fCBTVVBFUkgpCisJZGVwZW5kcyBvbiAoSUE2NCB8fCBYODYgfHwgUFBDNjQgfHwgU1VQRVJIIHx8IFMzOTApCiAKIGNvbW1lbnQgIk1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRseSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kIgogCWRlcGVuZHMgb24gU1BBUlNFTUVNICYmIEhPVFBMVUcgJiYgSElCRVJOQVRJT04KQEAgLTE5OSw3ICsxOTksNyBAQAogY29uZmlnIE5SX1FVSUNLCiAJaW50CiAJZGVwZW5kcyBvbiBRVUlDS0xJU1QKLQlkZWZhdWx0ICIyIiBpZiBTVVBFUkgKKwlkZWZhdWx0ICIyIiBpZiBTVVBFUkggfHwgQVZSMzIKIAlkZWZhdWx0ICIxIgogCiBjb25maWcgVklSVF9UT19CVVMKZGlmZiAtLWdpdCBhL21tL2ZpbGVtYXAuYyBiL21tL2ZpbGVtYXAuYwppbmRleCAxZTZhN2QzLi42NWQ5ZDllIDEwMDY0NAotLS0gYS9tbS9maWxlbWFwLmMKKysrIGIvbW0vZmlsZW1hcC5jCkBAIC0yMzYsMTEgKzIzNiwxMiBAQAogfQogRVhQT1JUX1NZTUJPTChmaWxlbWFwX2ZkYXRhd3JpdGUpOwogCi1zdGF0aWMgaW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHN0YXJ0LAoraW50IGZpbGVtYXBfZmRhdGF3cml0ZV9yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHN0YXJ0LAogCQkJCWxvZmZfdCBlbmQpCiB7CiAJcmV0dXJuIF9fZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKG1hcHBpbmcsIHN0YXJ0LCBlbmQsIFdCX1NZTkNfQUxMKTsKIH0KK0VYUE9SVF9TWU1CT0woZmlsZW1hcF9mZGF0YXdyaXRlX3JhbmdlKTsKIAogLyoqCiAgKiBmaWxlbWFwX2ZsdXNoIC0gbW9zdGx5IGEgbm9uLWJsb2NraW5nIGZsdXNoCmRpZmYgLS1naXQgYS9tbS9tcHJvdGVjdC5jIGIvbW0vbXByb3RlY3QuYwppbmRleCBhNWJmMzFjLi5hY2ZlN2M4IDEwMDY0NAotLS0gYS9tbS9tcHJvdGVjdC5jCisrKyBiL21tL21wcm90ZWN0LmMKQEAgLTQ3LDE5ICs0NywxNyBAQAogCQlpZiAocHRlX3ByZXNlbnQob2xkcHRlKSkgewogCQkJcHRlX3QgcHRlbnQ7CiAKLQkJCS8qIEF2b2lkIGFuIFNNUCByYWNlIHdpdGggaGFyZHdhcmUgdXBkYXRlZCBkaXJ0eS9jbGVhbgotCQkJICogYml0cyBieSB3aXBpbmcgdGhlIHB0ZSBhbmQgdGhlbiBzZXR0aW5nIHRoZSBuZXcgcHRlCi0JCQkgKiBpbnRvIHBsYWNlLgotCQkJICovCi0JCQlwdGVudCA9IHB0ZXBfZ2V0X2FuZF9jbGVhcihtbSwgYWRkciwgcHRlKTsKKwkJCXB0ZW50ID0gcHRlcF9tb2RpZnlfcHJvdF9zdGFydChtbSwgYWRkciwgcHRlKTsKIAkJCXB0ZW50ID0gcHRlX21vZGlmeShwdGVudCwgbmV3cHJvdCk7CisKIAkJCS8qCiAJCQkgKiBBdm9pZCB0YWtpbmcgd3JpdGUgZmF1bHRzIGZvciBwYWdlcyB3ZSBrbm93IHRvIGJlCiAJCQkgKiBkaXJ0eS4KIAkJCSAqLwogCQkJaWYgKGRpcnR5X2FjY291bnRhYmxlICYmIHB0ZV9kaXJ0eShwdGVudCkpCiAJCQkJcHRlbnQgPSBwdGVfbWt3cml0ZShwdGVudCk7Ci0JCQlzZXRfcHRlX2F0KG1tLCBhZGRyLCBwdGUsIHB0ZW50KTsKKworCQkJcHRlcF9tb2RpZnlfcHJvdF9jb21taXQobW0sIGFkZHIsIHB0ZSwgcHRlbnQpOwogI2lmZGVmIENPTkZJR19NSUdSQVRJT04KIAkJfSBlbHNlIGlmICghcHRlX2ZpbGUob2xkcHRlKSkgewogCQkJc3dwX2VudHJ5X3QgZW50cnkgPSBwdGVfdG9fc3dwX2VudHJ5KG9sZHB0ZSk7CmRpZmYgLS1naXQgYS9tbS9wYWdlLXdyaXRlYmFjay5jIGIvbW0vcGFnZS13cml0ZWJhY2suYwppbmRleCA3ODliNmFkLi45NGM2ZDg5IDEwMDY0NAotLS0gYS9tbS9wYWdlLXdyaXRlYmFjay5jCisrKyBiL21tL3BhZ2Utd3JpdGViYWNrLmMKQEAgLTEyNiw4ICsxMjYsNiBAQAogc3RhdGljIHN0cnVjdCBwcm9wX2Rlc2NyaXB0b3Igdm1fY29tcGxldGlvbnM7CiBzdGF0aWMgc3RydWN0IHByb3BfZGVzY3JpcHRvciB2bV9kaXJ0aWVzOwogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBkZXRlcm1pbmVfZGlydHlhYmxlX21lbW9yeSh2b2lkKTsKLQogLyoKICAqIGNvdXBsZSB0aGUgcGVyaW9kIHRvIHRoZSBkaXJ0eV9yYXRpbzoKICAqCkBAIC0zNDcsNyArMzQ1LDEzIEBACiAjZW5kaWYKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkodm9pZCkKKy8qKgorICogZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkgLSBhbW91bnQgb2YgbWVtb3J5IHRoYXQgbWF5IGJlIHVzZWQKKyAqCisgKiBSZXR1cm5zIHRoZSBudW1lYnIgb2YgcGFnZXMgdGhhdCBjYW4gY3VycmVudGx5IGJlIGZyZWVkIGFuZCB1c2VkCisgKiBieSB0aGUga2VybmVsIGZvciBkaXJlY3QgbWFwcGluZ3MuCisgKi8KK3Vuc2lnbmVkIGxvbmcgZGV0ZXJtaW5lX2RpcnR5YWJsZV9tZW1vcnkodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHg7CiAKQEAgLTk1Niw2ICs5NjAsOSBAQAogCX0KIAlpZiAod2JjLT5yYW5nZV9jeWNsaWMgfHwgKHJhbmdlX3dob2xlICYmIHdiYy0+bnJfdG9fd3JpdGUgPiAwKSkKIAkJbWFwcGluZy0+d3JpdGViYWNrX2luZGV4ID0gaW5kZXg7CisKKwlpZiAod2JjLT5yYW5nZV9jb250KQorCQl3YmMtPnJhbmdlX3N0YXJ0ID0gaW5kZXggPDwgUEFHRV9DQUNIRV9TSElGVDsKIAlyZXR1cm4gcmV0OwogfQogRVhQT1JUX1NZTUJPTCh3cml0ZV9jYWNoZV9wYWdlcyk7CmRpZmYgLS1naXQgYS9tbS9wYWdlX2FsbG9jLmMgYi9tbS9wYWdlX2FsbG9jLmMKaW5kZXggZjMyZmFlMy4uNzlhYzRhZiAxMDA2NDQKLS0tIGEvbW0vcGFnZV9hbGxvYy5jCisrKyBiL21tL3BhZ2VfYWxsb2MuYwpAQCAtOTE4LDcgKzkxOCw3IEBACiAgKi8KIHZvaWQgZHJhaW5fYWxsX3BhZ2VzKHZvaWQpCiB7Ci0Jb25fZWFjaF9jcHUoZHJhaW5fbG9jYWxfcGFnZXMsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGRyYWluX2xvY2FsX3BhZ2VzLCBOVUxMLCAxKTsKIH0KIAogI2lmZGVmIENPTkZJR19ISUJFUk5BVElPTgpAQCAtMjkyOSw2ICsyOTI5LDE4IEBACiAJfQogfQogCit2b2lkIF9faW5pdCB3b3JrX3dpdGhfYWN0aXZlX3JlZ2lvbnMoaW50IG5pZCwgd29ya19mbl90IHdvcmtfZm4sIHZvaWQgKmRhdGEpCit7CisJaW50IGk7CisJaW50IHJldDsKKworCWZvcl9lYWNoX2FjdGl2ZV9yYW5nZV9pbmRleF9pbl9uaWQoaSwgbmlkKSB7CisJCXJldCA9IHdvcmtfZm4oZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuLAorCQkJICAgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiwgZGF0YSk7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9Cit9CiAvKioKICAqIHNwYXJzZV9tZW1vcnlfcHJlc2VudF93aXRoX2FjdGl2ZV9yZWdpb25zIC0gQ2FsbCBtZW1vcnlfcHJlc2VudCBmb3IgZWFjaCBhY3RpdmUgcmFuZ2UKICAqIEBuaWQ6IFRoZSBub2RlIHRvIGNhbGwgbWVtb3J5X3ByZXNlbnQgZm9yLiBJZiBNQVhfTlVNTk9ERVMsIGFsbCBub2RlcyB3aWxsIGJlIHVzZWQuCkBAIC0zNDYxLDYgKzM0NzMsMTEgQEAKIAljYWxjdWxhdGVfbm9kZV90b3RhbHBhZ2VzKHBnZGF0LCB6b25lc19zaXplLCB6aG9sZXNfc2l6ZSk7CiAKIAlhbGxvY19ub2RlX21lbV9tYXAocGdkYXQpOworI2lmZGVmIENPTkZJR19GTEFUX05PREVfTUVNX01BUAorCXByaW50ayhLRVJOX0RFQlVHICJmcmVlX2FyZWFfaW5pdF9ub2RlOiBub2RlICVkLCBwZ2RhdCAlMDhseCwgbm9kZV9tZW1fbWFwICUwOGx4XG4iLAorCQluaWQsICh1bnNpZ25lZCBsb25nKXBnZGF0LAorCQkodW5zaWduZWQgbG9uZylwZ2RhdC0+bm9kZV9tZW1fbWFwKTsKKyNlbmRpZgogCiAJZnJlZV9hcmVhX2luaXRfY29yZShwZ2RhdCwgem9uZXNfc2l6ZSwgemhvbGVzX3NpemUpOwogfQpAQCAtMzUwMyw3ICszNTIwLDcgQEAKIHsKIAlpbnQgaTsKIAotCXByaW50ayhLRVJOX0RFQlVHICJFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKCVkLCAlbHUsICVsdSkgIgorCXByaW50ayhLRVJOX0RFQlVHICJFbnRlcmluZyBhZGRfYWN0aXZlX3JhbmdlKCVkLCAlI2x4LCAlI2x4KSAiCiAJCQkgICIlZCBlbnRyaWVzIG9mICVkIHVzZWRcbiIsCiAJCQkgIG5pZCwgc3RhcnRfcGZuLCBlbmRfcGZuLAogCQkJICBucl9ub2RlbWFwX2VudHJpZXMsIE1BWF9BQ1RJVkVfUkVHSU9OUyk7CkBAIC0zNTQ3LDI3ICszNTY0LDY4IEBACiB9CiAKIC8qKgotICogc2hyaW5rX2FjdGl2ZV9yYW5nZSAtIFNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkIHJhbmdlIG9mIFBGTnMKKyAqIHJlbW92ZV9hY3RpdmVfcmFuZ2UgLSBTaHJpbmsgYW4gZXhpc3RpbmcgcmVnaXN0ZXJlZCByYW5nZSBvZiBQRk5zCiAgKiBAbmlkOiBUaGUgbm9kZSBpZCB0aGUgcmFuZ2UgaXMgb24gdGhhdCBzaG91bGQgYmUgc2hydW5rCi0gKiBAb2xkX2VuZF9wZm46IFRoZSBvbGQgZW5kIFBGTiBvZiB0aGUgcmFuZ2UKLSAqIEBuZXdfZW5kX3BmbjogVGhlIG5ldyBQRk4gb2YgdGhlIHJhbmdlCisgKiBAc3RhcnRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKKyAqIEBlbmRfcGZuOiBUaGUgbmV3IFBGTiBvZiB0aGUgcmFuZ2UKICAqCiAgKiBpMzg2IHdpdGggTlVNQSB1c2UgYWxsb2NfcmVtYXAoKSB0byBzdG9yZSBhIG5vZGVfbWVtX21hcCBvbiBhIGxvY2FsIG5vZGUuCi0gKiBUaGUgbWFwIGlzIGtlcHQgYXQgdGhlIGVuZCBwaHlzaWNhbCBwYWdlIHJhbmdlIHRoYXQgaGFzIGFscmVhZHkgYmVlbgotICogcmVnaXN0ZXJlZCB3aXRoIGFkZF9hY3RpdmVfcmFuZ2UoKS4gVGhpcyBmdW5jdGlvbiBhbGxvd3MgYW4gYXJjaCB0byBzaHJpbmsKLSAqIGFuIGV4aXN0aW5nIHJlZ2lzdGVyZWQgcmFuZ2UuCisgKiBUaGUgbWFwIGlzIGtlcHQgbmVhciB0aGUgZW5kIHBoeXNpY2FsIHBhZ2UgcmFuZ2UgdGhhdCBoYXMgYWxyZWFkeSBiZWVuCisgKiByZWdpc3RlcmVkLiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBhbiBhcmNoIHRvIHNocmluayBhbiBleGlzdGluZyByZWdpc3RlcmVkCisgKiByYW5nZS4KICAqLwotdm9pZCBfX2luaXQgc2hyaW5rX2FjdGl2ZV9yYW5nZSh1bnNpZ25lZCBpbnQgbmlkLCB1bnNpZ25lZCBsb25nIG9sZF9lbmRfcGZuLAotCQkJCQkJdW5zaWduZWQgbG9uZyBuZXdfZW5kX3BmbikKK3ZvaWQgX19pbml0IHJlbW92ZV9hY3RpdmVfcmFuZ2UodW5zaWduZWQgaW50IG5pZCwgdW5zaWduZWQgbG9uZyBzdGFydF9wZm4sCisJCQkJdW5zaWduZWQgbG9uZyBlbmRfcGZuKQogewotCWludCBpOworCWludCBpLCBqOworCWludCByZW1vdmVkID0gMDsKKworCXByaW50ayhLRVJOX0RFQlVHICJyZW1vdmVfYWN0aXZlX3JhbmdlICglZCwgJWx1LCAlbHUpXG4iLAorCQkJICBuaWQsIHN0YXJ0X3BmbiwgZW5kX3Bmbik7CiAKIAkvKiBGaW5kIHRoZSBvbGQgYWN0aXZlIHJlZ2lvbiBlbmQgYW5kIHNocmluayAqLwotCWZvcl9lYWNoX2FjdGl2ZV9yYW5nZV9pbmRleF9pbl9uaWQoaSwgbmlkKQotCQlpZiAoZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA9PSBvbGRfZW5kX3BmbikgewotCQkJZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA9IG5ld19lbmRfcGZuOwotCQkJYnJlYWs7CisJZm9yX2VhY2hfYWN0aXZlX3JhbmdlX2luZGV4X2luX25pZChpLCBuaWQpIHsKKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA+PSBzdGFydF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPD0gZW5kX3BmbikgeworCQkJLyogY2xlYXIgaXQgKi8KKwkJCWVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA9IDA7CisJCQllYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuID0gMDsKKwkJCXJlbW92ZWQgPSAxOworCQkJY29udGludWU7CiAJCX0KKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA8IHN0YXJ0X3BmbiAmJgorCQkgICAgZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA+IHN0YXJ0X3BmbikgeworCQkJdW5zaWduZWQgbG9uZyB0ZW1wX2VuZF9wZm4gPSBlYXJseV9ub2RlX21hcFtpXS5lbmRfcGZuOworCQkJZWFybHlfbm9kZV9tYXBbaV0uZW5kX3BmbiA9IHN0YXJ0X3BmbjsKKwkJCWlmICh0ZW1wX2VuZF9wZm4gPiBlbmRfcGZuKQorCQkJCWFkZF9hY3RpdmVfcmFuZ2UobmlkLCBlbmRfcGZuLCB0ZW1wX2VuZF9wZm4pOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLnN0YXJ0X3BmbiA+PSBzdGFydF9wZm4gJiYKKwkJICAgIGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4gPiBlbmRfcGZuICYmCisJCSAgICBlYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4gPCBlbmRfcGZuKSB7CisJCQllYXJseV9ub2RlX21hcFtpXS5zdGFydF9wZm4gPSBlbmRfcGZuOworCQkJY29udGludWU7CisJCX0KKwl9CisKKwlpZiAoIXJlbW92ZWQpCisJCXJldHVybjsKKworCS8qIHJlbW92ZSB0aGUgYmxhbmsgb25lcyAqLworCWZvciAoaSA9IG5yX25vZGVtYXBfZW50cmllcyAtIDE7IGkgPiAwOyBpLS0pIHsKKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLm5pZCAhPSBuaWQpCisJCQljb250aW51ZTsKKwkJaWYgKGVhcmx5X25vZGVfbWFwW2ldLmVuZF9wZm4pCisJCQljb250aW51ZTsKKwkJLyogd2UgZm91bmQgaXQsIGdldCByaWQgb2YgaXQgKi8KKwkJZm9yIChqID0gaTsgaiA8IG5yX25vZGVtYXBfZW50cmllcyAtIDE7IGorKykKKwkJCW1lbWNweSgmZWFybHlfbm9kZV9tYXBbal0sICZlYXJseV9ub2RlX21hcFtqKzFdLAorCQkJCXNpemVvZihlYXJseV9ub2RlX21hcFtqXSkpOworCQlqID0gbnJfbm9kZW1hcF9lbnRyaWVzIC0gMTsKKwkJbWVtc2V0KCZlYXJseV9ub2RlX21hcFtqXSwgMCwgc2l6ZW9mKGVhcmx5X25vZGVfbWFwW2pdKSk7CisJCW5yX25vZGVtYXBfZW50cmllcy0tOworCX0KIH0KIAogLyoqCkBAIC0zNjExLDcgKzM2NjksNyBAQAogfQogCiAvKiBGaW5kIHRoZSBsb3dlc3QgcGZuIGZvciBhIG5vZGUgKi8KLXVuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWluX3Bmbl9mb3Jfbm9kZSh1bnNpZ25lZCBsb25nIG5pZCkKK3Vuc2lnbmVkIGxvbmcgX19pbml0IGZpbmRfbWluX3Bmbl9mb3Jfbm9kZShpbnQgbmlkKQogewogCWludCBpOwogCXVuc2lnbmVkIGxvbmcgbWluX3BmbiA9IFVMT05HX01BWDsKQEAgLTM2MjIsNyArMzY4MCw3IEBACiAKIAlpZiAobWluX3BmbiA9PSBVTE9OR19NQVgpIHsKIAkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkJIkNvdWxkIG5vdCBmaW5kIHN0YXJ0X3BmbiBmb3Igbm9kZSAlbHVcbiIsIG5pZCk7CisJCQkiQ291bGQgbm90IGZpbmQgc3RhcnRfcGZuIGZvciBub2RlICVkXG4iLCBuaWQpOwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTM4NzgsNyArMzkzNiw3IEBACiAJZm9yIChpID0gMDsgaSA8IE1BWF9OUl9aT05FUzsgaSsrKSB7CiAJCWlmIChpID09IFpPTkVfTU9WQUJMRSkKIAkJCWNvbnRpbnVlOwotCQlwcmludGsoIiAgJS04cyAlOGx1IC0+ICU4bHVcbiIsCisJCXByaW50aygiICAlLThzICUwIzEwbHggLT4gJTAjMTBseFxuIiwKIAkJCQl6b25lX25hbWVzW2ldLAogCQkJCWFyY2hfem9uZV9sb3dlc3RfcG9zc2libGVfcGZuW2ldLAogCQkJCWFyY2hfem9uZV9oaWdoZXN0X3Bvc3NpYmxlX3BmbltpXSk7CkBAIC0zODk0LDcgKzM5NTIsNyBAQAogCS8qIFByaW50IG91dCB0aGUgZWFybHlfbm9kZV9tYXBbXSAqLwogCXByaW50aygiZWFybHlfbm9kZV9tYXBbJWRdIGFjdGl2ZSBQRk4gcmFuZ2VzXG4iLCBucl9ub2RlbWFwX2VudHJpZXMpOwogCWZvciAoaSA9IDA7IGkgPCBucl9ub2RlbWFwX2VudHJpZXM7IGkrKykKLQkJcHJpbnRrKCIgICUzZDogJThsdSAtPiAlOGx1XG4iLCBlYXJseV9ub2RlX21hcFtpXS5uaWQsCisJCXByaW50aygiICAlM2Q6ICUwIzEwbHggLT4gJTAjMTBseFxuIiwgZWFybHlfbm9kZV9tYXBbaV0ubmlkLAogCQkJCQkJZWFybHlfbm9kZV9tYXBbaV0uc3RhcnRfcGZuLAogCQkJCQkJZWFybHlfbm9kZV9tYXBbaV0uZW5kX3Bmbik7CiAKZGlmZiAtLWdpdCBhL21tL3NsYWIuYyBiL21tL3NsYWIuYwppbmRleCAwNDY2MDdmLi4wNTJlN2Q2NCAxMDA2NDQKLS0tIGEvbW0vc2xhYi5jCisrKyBiL21tL3NsYWIuYwpAQCAtMTkwMSwxNSArMTkwMSw3IEBACiAjZW5kaWYKIAogI2lmIERFQlVHCi0vKioKLSAqIHNsYWJfZGVzdHJveV9vYmpzIC0gZGVzdHJveSBhIHNsYWIgYW5kIGl0cyBvYmplY3RzCi0gKiBAY2FjaGVwOiBjYWNoZSBwb2ludGVyIGJlaW5nIGRlc3Ryb3llZAotICogQHNsYWJwOiBzbGFiIHBvaW50ZXIgYmVpbmcgZGVzdHJveWVkCi0gKgotICogQ2FsbCB0aGUgcmVnaXN0ZXJlZCBkZXN0cnVjdG9yIGZvciBlYWNoIG9iamVjdCBpbiBhIHNsYWIgdGhhdCBpcyBiZWluZwotICogZGVzdHJveWVkLgotICovCi1zdGF0aWMgdm9pZCBzbGFiX2Rlc3Ryb3lfb2JqcyhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGVwLCBzdHJ1Y3Qgc2xhYiAqc2xhYnApCitzdGF0aWMgdm9pZCBzbGFiX2Rlc3Ryb3lfZGVidWdjaGVjayhzdHJ1Y3Qga21lbV9jYWNoZSAqY2FjaGVwLCBzdHJ1Y3Qgc2xhYiAqc2xhYnApCiB7CiAJaW50IGk7CiAJZm9yIChpID0gMDsgaSA8IGNhY2hlcC0+bnVtOyBpKyspIHsKQEAgLTE5MzgsNyArMTkzMCw3IEBACiAJfQogfQogI2Vsc2UKLXN0YXRpYyB2b2lkIHNsYWJfZGVzdHJveV9vYmpzKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHN0cnVjdCBzbGFiICpzbGFicCkKK3N0YXRpYyB2b2lkIHNsYWJfZGVzdHJveV9kZWJ1Z2NoZWNrKHN0cnVjdCBrbWVtX2NhY2hlICpjYWNoZXAsIHN0cnVjdCBzbGFiICpzbGFicCkKIHsKIH0KICNlbmRpZgpAQCAtMTk1Niw3ICsxOTQ4LDcgQEAKIHsKIAl2b2lkICphZGRyID0gc2xhYnAtPnNfbWVtIC0gc2xhYnAtPmNvbG91cm9mZjsKIAotCXNsYWJfZGVzdHJveV9vYmpzKGNhY2hlcCwgc2xhYnApOworCXNsYWJfZGVzdHJveV9kZWJ1Z2NoZWNrKGNhY2hlcCwgc2xhYnApOwogCWlmICh1bmxpa2VseShjYWNoZXAtPmZsYWdzICYgU0xBQl9ERVNUUk9ZX0JZX1JDVSkpIHsKIAkJc3RydWN0IHNsYWJfcmN1ICpzbGFiX3JjdTsKIApAQCAtMjQ1NCw3ICsyNDQ2LDcgQEAKIAlzdHJ1Y3Qga21lbV9saXN0MyAqbDM7CiAJaW50IG5vZGU7CiAKLQlvbl9lYWNoX2NwdShkb19kcmFpbiwgY2FjaGVwLCAxLCAxKTsKKwlvbl9lYWNoX2NwdShkb19kcmFpbiwgY2FjaGVwLCAxKTsKIAljaGVja19pcnFfb24oKTsKIAlmb3JfZWFjaF9vbmxpbmVfbm9kZShub2RlKSB7CiAJCWwzID0gY2FjaGVwLT5ub2RlbGlzdHNbbm9kZV07CkBAIC0zOTM5LDcgKzM5MzEsNyBAQAogCX0KIAluZXctPmNhY2hlcCA9IGNhY2hlcDsKIAotCW9uX2VhY2hfY3B1KGRvX2NjdXBkYXRlX2xvY2FsLCAodm9pZCAqKW5ldywgMSwgMSk7CisJb25fZWFjaF9jcHUoZG9fY2N1cGRhdGVfbG9jYWwsICh2b2lkICopbmV3LCAxKTsKIAogCWNoZWNrX2lycV9vbigpOwogCWNhY2hlcC0+YmF0Y2hjb3VudCA9IGJhdGNoY291bnQ7CmRpZmYgLS1naXQgYS9tbS9zbHViLmMgYi9tbS9zbHViLmMKaW5kZXggMWE0MjdjMC4uMzVhYjM4YSAxMDA2NDQKLS0tIGEvbW0vc2x1Yi5jCisrKyBiL21tL3NsdWIuYwpAQCAtNDExLDcgKzQxMSw3IEBACiAJaWYgKGFkZHIpIHsKIAkJcC0+YWRkciA9IGFkZHI7CiAJCXAtPmNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKLQkJcC0+cGlkID0gY3VycmVudCA/IGN1cnJlbnQtPnBpZCA6IC0xOworCQlwLT5waWQgPSBjdXJyZW50LT5waWQ7CiAJCXAtPndoZW4gPSBqaWZmaWVzOwogCX0gZWxzZQogCQltZW1zZXQocCwgMCwgc2l6ZW9mKHN0cnVjdCB0cmFjaykpOwpAQCAtNDMxLDkgKzQzMSw4IEBACiAJaWYgKCF0LT5hZGRyKQogCQlyZXR1cm47CiAKLQlwcmludGsoS0VSTl9FUlIgIklORk86ICVzIGluICIsIHMpOwotCV9fcHJpbnRfc3ltYm9sKCIlcyIsICh1bnNpZ25lZCBsb25nKXQtPmFkZHIpOwotCXByaW50aygiIGFnZT0lbHUgY3B1PSV1IHBpZD0lZFxuIiwgamlmZmllcyAtIHQtPndoZW4sIHQtPmNwdSwgdC0+cGlkKTsKKwlwcmludGsoS0VSTl9FUlIgIklORk86ICVzIGluICVwUyBhZ2U9JWx1IGNwdT0ldSBwaWQ9JWRcbiIsCisJCXMsIHQtPmFkZHIsIGppZmZpZXMgLSB0LT53aGVuLCB0LT5jcHUsIHQtPnBpZCk7CiB9CiAKIHN0YXRpYyB2b2lkIHByaW50X3RyYWNraW5nKHN0cnVjdCBrbWVtX2NhY2hlICpzLCB2b2lkICpvYmplY3QpCkBAIC0xNDk3LDcgKzE0OTYsNyBAQAogc3RhdGljIHZvaWQgZmx1c2hfYWxsKHN0cnVjdCBrbWVtX2NhY2hlICpzKQogewogI2lmZGVmIENPTkZJR19TTVAKLQlvbl9lYWNoX2NwdShmbHVzaF9jcHVfc2xhYiwgcywgMSwgMSk7CisJb25fZWFjaF9jcHUoZmx1c2hfY3B1X3NsYWIsIHMsIDEpOwogI2Vsc2UKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0xNjI4LDkgKzE2MjcsMTEgQEAKIAl2b2lkICoqb2JqZWN0OwogCXN0cnVjdCBrbWVtX2NhY2hlX2NwdSAqYzsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGludCBvYmpzaXplOwogCiAJbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwogCWMgPSBnZXRfY3B1X3NsYWIocywgc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKwlvYmpzaXplID0gYy0+b2Jqc2l6ZTsKIAlpZiAodW5saWtlbHkoIWMtPmZyZWVsaXN0IHx8ICFub2RlX21hdGNoKGMsIG5vZGUpKSkKIAogCQlvYmplY3QgPSBfX3NsYWJfYWxsb2MocywgZ2ZwZmxhZ3MsIG5vZGUsIGFkZHIsIGMpOwpAQCAtMTY0Myw3ICsxNjQ0LDcgQEAKIAlsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiAKIAlpZiAodW5saWtlbHkoKGdmcGZsYWdzICYgX19HRlBfWkVSTykgJiYgb2JqZWN0KSkKLQkJbWVtc2V0KG9iamVjdCwgMCwgYy0+b2Jqc2l6ZSk7CisJCW1lbXNldChvYmplY3QsIDAsIG9ianNpemUpOwogCiAJcmV0dXJuIG9iamVjdDsKIH0KQEAgLTI3NjUsNiArMjc2Niw3IEBACiAKIAlwYWdlID0gdmlydF90b19oZWFkX3BhZ2UoeCk7CiAJaWYgKHVubGlrZWx5KCFQYWdlU2xhYihwYWdlKSkpIHsKKwkJQlVHX09OKCFQYWdlQ29tcG91bmQocGFnZSkpOwogCQlwdXRfcGFnZShwYWdlKTsKIAkJcmV0dXJuOwogCX0KZGlmZiAtLWdpdCBhL25ldC84MDIvcHNuYXAuYyBiL25ldC84MDIvcHNuYXAuYwppbmRleCAzMTEyOGNiLi5lYTQ2NDM5IDEwMDY0NAotLS0gYS9uZXQvODAyL3BzbmFwLmMKKysrIGIvbmV0LzgwMi9wc25hcC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9pbi5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKIHN0YXRpYyBMSVNUX0hFQUQoc25hcF9saXN0KTsKIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0soc25hcF9sb2NrKTsKZGlmZiAtLWdpdCBhL25ldC84MDIxcS92bGFuLmMgYi9uZXQvODAyMXEvdmxhbi5jCmluZGV4IGFiMjIyNWQuLjA4ZjE0ZjYgMTAwNjQ0Ci0tLSBhL25ldC84MDIxcS92bGFuLmMKKysrIGIvbmV0LzgwMjFxL3ZsYW4uYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L21tLmg+CiAjaW5jbHVkZSA8bGludXgvaW4uaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvcmN1bGlzdC5oPgogI2luY2x1ZGUgPG5ldC9wODAyMi5oPgogI2luY2x1ZGUgPG5ldC9hcnAuaD4KICNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KZGlmZiAtLWdpdCBhL25ldC9icmlkZ2UvYnJfZmRiLmMgYi9uZXQvYnJpZGdlL2JyX2ZkYi5jCmluZGV4IDcyYzU5NzYuLjE0MjA2MGYgMTAwNjQ0Ci0tLSBhL25ldC9icmlkZ2UvYnJfZmRiLmMKKysrIGIvbmV0L2JyaWRnZS9icl9mZGIuYwpAQCAtMTUsNiArMTUsNyBAQAogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVzLmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZGV2aWNlLmg+CmRpZmYgLS1naXQgYS9uZXQvYnJpZGdlL2JyX3N0cC5jIGIvbmV0L2JyaWRnZS9icl9zdHAuYwppbmRleCBlMzgwMzRhLi45ZTk2ZmZjIDEwMDY0NAotLS0gYS9uZXQvYnJpZGdlL2JyX3N0cC5jCisrKyBiL25ldC9icmlkZ2UvYnJfc3RwLmMKQEAgLTEzLDYgKzEzLDcgQEAKICAqCTIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKi8KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKICNpbmNsdWRlICJicl9wcml2YXRlLmgiCiAjaW5jbHVkZSAiYnJfcHJpdmF0ZV9zdHAuaCIKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggZmNhMjNhMy4uODIxY2IxNiAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2NvcmUvZGV2LmMKQEAgLTQ1ODUsOCArNDU4NSw4IEBACiAKIAlkZXZfYm9vdF9waGFzZSA9IDA7CiAKLQlvcGVuX3NvZnRpcnEoTkVUX1RYX1NPRlRJUlEsIG5ldF90eF9hY3Rpb24sIE5VTEwpOwotCW9wZW5fc29mdGlycShORVRfUlhfU09GVElSUSwgbmV0X3J4X2FjdGlvbiwgTlVMTCk7CisJb3Blbl9zb2Z0aXJxKE5FVF9UWF9TT0ZUSVJRLCBuZXRfdHhfYWN0aW9uKTsKKwlvcGVuX3NvZnRpcnEoTkVUX1JYX1NPRlRJUlEsIG5ldF9yeF9hY3Rpb24pOwogCiAJaG90Y3B1X25vdGlmaWVyKGRldl9jcHVfY2FsbGJhY2ssIDApOwogCWRzdF9pbml0KCk7CmRpZmYgLS1naXQgYS9uZXQvY29yZS9mbG93LmMgYi9uZXQvY29yZS9mbG93LmMKaW5kZXggMTk5OTExNy4uNWNmODEwNSAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZmxvdy5jCisrKyBiL25ldC9jb3JlL2Zsb3cuYwpAQCAtMjk4LDcgKzI5OCw3IEBACiAJaW5pdF9jb21wbGV0aW9uKCZpbmZvLmNvbXBsZXRpb24pOwogCiAJbG9jYWxfYmhfZGlzYWJsZSgpOwotCXNtcF9jYWxsX2Z1bmN0aW9uKGZsb3dfY2FjaGVfZmx1c2hfcGVyX2NwdSwgJmluZm8sIDEsIDApOworCXNtcF9jYWxsX2Z1bmN0aW9uKGZsb3dfY2FjaGVfZmx1c2hfcGVyX2NwdSwgJmluZm8sIDApOwogCWZsb3dfY2FjaGVfZmx1c2hfdGFza2xldCgodW5zaWduZWQgbG9uZykmaW5mbyk7CiAJbG9jYWxfYmhfZW5hYmxlKCk7CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2ZpYl90cmllLmMgYi9uZXQvaXB2NC9maWJfdHJpZS5jCmluZGV4IDRiMDJkMTQuLmUxNjAwYWQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2ZpYl90cmllLmMKKysrIGIvbmV0L2lwdjQvZmliX3RyaWUuYwpAQCAtMTM1OSwxNyArMTM1OSwxNyBAQAogCQkJdC0+c3RhdHMuc2VtYW50aWNfbWF0Y2hfbWlzcysrOwogI2VuZGlmCiAJCWlmIChlcnIgPD0gMCkKLQkJCXJldHVybiBwbGVuOworCQkJcmV0dXJuIGVycjsKIAl9CiAKLQlyZXR1cm4gLTE7CisJcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQgZm5fdHJpZV9sb29rdXAoc3RydWN0IGZpYl90YWJsZSAqdGIsIGNvbnN0IHN0cnVjdCBmbG93aSAqZmxwLAogCQkJICBzdHJ1Y3QgZmliX3Jlc3VsdCAqcmVzKQogewogCXN0cnVjdCB0cmllICp0ID0gKHN0cnVjdCB0cmllICopIHRiLT50Yl9kYXRhOwotCWludCBwbGVuLCByZXQgPSAwOworCWludCByZXQ7CiAJc3RydWN0IG5vZGUgKm47CiAJc3RydWN0IHRub2RlICpwbjsKIAlpbnQgcG9zLCBiaXRzOwpAQCAtMTM5MywxMCArMTM5Myw3IEBACiAKIAkvKiBKdXN0IGEgbGVhZj8gKi8KIAlpZiAoSVNfTEVBRihuKSkgewotCQlwbGVuID0gY2hlY2tfbGVhZih0LCAoc3RydWN0IGxlYWYgKiluLCBrZXksIGZscCwgcmVzKTsKLQkJaWYgKHBsZW4gPCAwKQotCQkJZ290byBmYWlsZWQ7Ci0JCXJldCA9IDA7CisJCXJldCA9IGNoZWNrX2xlYWYodCwgKHN0cnVjdCBsZWFmICopbiwga2V5LCBmbHAsIHJlcyk7CiAJCWdvdG8gZm91bmQ7CiAJfQogCkBAIC0xNDIxLDExICsxNDE4LDkgQEAKIAkJfQogCiAJCWlmIChJU19MRUFGKG4pKSB7Ci0JCQlwbGVuID0gY2hlY2tfbGVhZih0LCAoc3RydWN0IGxlYWYgKiluLCBrZXksIGZscCwgcmVzKTsKLQkJCWlmIChwbGVuIDwgMCkKKwkJCXJldCA9IGNoZWNrX2xlYWYodCwgKHN0cnVjdCBsZWFmICopbiwga2V5LCBmbHAsIHJlcyk7CisJCQlpZiAocmV0ID4gMCkKIAkJCQlnb3RvIGJhY2t0cmFjZTsKLQotCQkJcmV0ID0gMDsKIAkJCWdvdG8gZm91bmQ7CiAJCX0KIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvbmV0ZmlsdGVyL25mX25hdF9zbm1wX2Jhc2ljLmMgYi9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYwppbmRleCA3NzUwYzk3Li5mZmVhZmZjIDEwMDY0NAotLS0gYS9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYworKysgYi9uZXQvaXB2NC9uZXRmaWx0ZXIvbmZfbmF0X3NubXBfYmFzaWMuYwpAQCAtNDM5LDggKzQzOSw4IEBACiAJCQkJICAgICB1bnNpZ25lZCBpbnQgKmxlbikKIHsKIAl1bnNpZ25lZCBsb25nIHN1YmlkOwotCXVuc2lnbmVkIGludCAgc2l6ZTsKIAl1bnNpZ25lZCBsb25nICpvcHRyOworCXNpemVfdCBzaXplOwogCiAJc2l6ZSA9IGVvYyAtIGN0eC0+cG9pbnRlciArIDE7CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9wcm9iZS5jIGIvbmV0L2lwdjQvdGNwX3Byb2JlLmMKaW5kZXggNWZmMGNlNi4uN2RkYzMwZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNwX3Byb2JlLmMKKysrIGIvbmV0L2lwdjQvdGNwX3Byb2JlLmMKQEAgLTIyNCw3ICsyMjQsNyBAQAogCWlmIChidWZzaXplIDwgMCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQl0Y3BfcHJvYmUubG9nID0ga2NhbGxvYyhzaXplb2Yoc3RydWN0IHRjcF9sb2cpLCBidWZzaXplLCBHRlBfS0VSTkVMKTsKKwl0Y3BfcHJvYmUubG9nID0ga2NhbGxvYyhidWZzaXplLCBzaXplb2Yoc3RydWN0IHRjcF9sb2cpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXRjcF9wcm9iZS5sb2cpCiAJCWdvdG8gZXJyMDsKIApkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvYWRkcmNvbmYuYyBiL25ldC9pcHY2L2FkZHJjb25mLmMKaW5kZXggMTQ3NTg4Zi4uZmY2MWE1YyAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvYWRkcmNvbmYuYworKysgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCkBAIC03NDksMTIgKzc0OSwxMiBAQAogCX0KIAl3cml0ZV91bmxvY2tfYmgoJmlkZXYtPmxvY2spOwogCisJYWRkcmNvbmZfZGVsX3RpbWVyKGlmcCk7CisKIAlpcHY2X2lmYV9ub3RpZnkoUlRNX0RFTEFERFIsIGlmcCk7CiAKIAlhdG9taWNfbm90aWZpZXJfY2FsbF9jaGFpbigmaW5ldDZhZGRyX2NoYWluLCBORVRERVZfRE9XTiwgaWZwKTsKIAotCWFkZHJjb25mX2RlbF90aW1lcihpZnApOwotCiAJLyoKIAkgKiBQdXJnZSBvciB1cGRhdGUgY29ycmVzcG9uZGluZyBwcmVmaXgKIAkgKgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvZXh0aGRycy5jIGIvbmV0L2lwdjYvZXh0aGRycy5jCmluZGV4IDNjZDFjOTkuLmRjZjk0ZmQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2V4dGhkcnMuYworKysgYi9uZXQvaXB2Ni9leHRoZHJzLmMKQEAgLTQ0NSw3ICs0NDUsNyBAQAogCQkJa2ZyZWVfc2tiKHNrYik7CiAJCQlyZXR1cm4gLTE7CiAJCX0KLQkJaWYgKCFpcHY2X2Noa19ob21lX2FkZHIoJmluaXRfbmV0LCBhZGRyKSkgeworCQlpZiAoIWlwdjZfY2hrX2hvbWVfYWRkcihkZXZfbmV0KHNrYi0+ZHN0LT5kZXYpLCBhZGRyKSkgewogCQkJSVA2X0lOQ19TVEFUU19CSChpcDZfZHN0X2lkZXYoc2tiLT5kc3QpLAogCQkJCQkgSVBTVEFUU19NSUJfSU5BRERSRVJST1JTKTsKIAkJCWtmcmVlX3NrYihza2IpOwpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaCBiL25ldC9pcmRhL2lybmV0L2lybmV0LmgKaW5kZXggYjAwMWMzNi4uYmNjZjRkMCAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJuZXQvaXJuZXQuaAorKysgYi9uZXQvaXJkYS9pcm5ldC9pcm5ldC5oCkBAIC0yNDEsNiArMjQxLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIAogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CiAjaW5jbHVkZSA8bGludXgvdHR5Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPgpkaWZmIC0tZ2l0IGEvbmV0L2lyZGEvaXJuZXQvaXJuZXRfcHBwLmMgYi9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYwppbmRleCBlMGVhYjU5Li5lODRhNzBkIDEwMDY0NAotLS0gYS9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYworKysgYi9uZXQvaXJkYS9pcm5ldC9pcm5ldF9wcHAuYwpAQCAtNDc5LDYgKzQ3OSw3IEBACiAgIGFwID0ga3phbGxvYyhzaXplb2YoKmFwKSwgR0ZQX0tFUk5FTCk7CiAgIERBQk9SVChhcCA9PSBOVUxMLCAtRU5PTUVNLCBGU19FUlJPUiwgIkNhbid0IGFsbG9jYXRlIHN0cnVjdCBpcm5ldC4uLlxuIik7CiAKKyAgbG9ja19rZXJuZWwoKTsKICAgLyogaW5pdGlhbGl6ZSB0aGUgaXJuZXQgc3RydWN0dXJlICovCiAgIGFwLT5maWxlID0gZmlsZTsKIApAQCAtNTAwLDYgKzUwMSw3IEBACiAgICAgewogICAgICAgREVSUk9SKEZTX0VSUk9SLCAiQ2FuJ3Qgc2V0dXAgSXJEQSBsaW5rLi4uXG4iKTsKICAgICAgIGtmcmVlKGFwKTsKKyAgICAgIHVubG9ja19rZXJuZWwoKTsKICAgICAgIHJldHVybiBlcnI7CiAgICAgfQogCkBAIC01MTAsNiArNTEyLDcgQEAKICAgZmlsZS0+cHJpdmF0ZV9kYXRhID0gYXA7CiAKICAgREVYSVQoRlNfVFJBQ0UsICIgLSBhcD0weCVwXG4iLCBhcCk7CisgIHVubG9ja19rZXJuZWwoKTsKICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL25ldC9pcmRhL2lybmV0bGluay5jIGIvbmV0L2lyZGEvaXJuZXRsaW5rLmMKaW5kZXggOWUxZmI4Mi4uMmYwNWVjMSAxMDA2NDQKLS0tIGEvbmV0L2lyZGEvaXJuZXRsaW5rLmMKKysrIGIvbmV0L2lyZGEvaXJuZXRsaW5rLmMKQEAgLTEwMSw4ICsxMDEsOCBAQAogCiAJaGRyID0gZ2VubG1zZ19wdXQobXNnLCBpbmZvLT5zbmRfcGlkLCBpbmZvLT5zbmRfc2VxLAogCQkJICAmaXJkYV9ubF9mYW1pbHksIDAsICBJUkRBX05MX0NNRF9HRVRfTU9ERSk7Ci0JaWYgKElTX0VSUihoZHIpKSB7Ci0JCXJldCA9IFBUUl9FUlIoaGRyKTsKKwlpZiAoaGRyID09IE5VTEwpIHsKKwkJcmV0ID0gLUVNU0dTSVpFOwogCQlnb3RvIGVycl9vdXQ7CiAJfQogCmRpZmYgLS1naXQgYS9uZXQvaXVjdi9hZl9pdWN2LmMgYi9uZXQvaXVjdi9hZl9pdWN2LmMKaW5kZXggN2IwMDM4Zi4uYmRhNzEwMSAxMDA2NDQKLS0tIGEvbmV0L2l1Y3YvYWZfaXVjdi5jCisrKyBiL25ldC9pdWN2L2FmX2l1Y3YuYwpAQCAtMTEzNSw4ICsxMTM1LDcgQEAKIAkJaWYgKHRoaXMpCiAJCQlrZnJlZV9za2IodGhpcyk7CiAJfQotCWlmICghdGhpcykKLQkJcHJpbnRrKEtFUk5fRVJSICJBRl9JVUNWIG1zZyB0YWcgJXUgbm90IGZvdW5kXG4iLCBtc2ctPnRhZyk7CisJQlVHX09OKCF0aGlzKTsKIAogCWlmIChzay0+c2tfc3RhdGUgPT0gSVVDVl9DTE9TSU5HKSB7CiAJCWlmIChza2JfcXVldWVfZW1wdHkoJml1Y3Zfc2soc2spLT5zZW5kX3NrYl9xKSkgewpAQCAtMTE5Niw3ICsxMTk1LDcgQEAKIAl9CiAJY3BjbWQoIlFVRVJZIFVTRVJJRCIsIGl1Y3ZfdXNlcmlkLCBzaXplb2YoaXVjdl91c2VyaWQpLCAmZXJyKTsKIAlpZiAodW5saWtlbHkoZXJyKSkgewotCQlwcmludGsoS0VSTl9FUlIgIkFGX0lVQ1YgbmVlZHMgdGhlIFZNIHVzZXJpZFxuIik7CisJCVdBUk5fT04oZXJyKTsKIAkJZXJyID0gLUVQUk9UT05PU1VQUE9SVDsKIAkJZ290byBvdXQ7CiAJfQpAQCAtMTIxMCw3ICsxMjA5LDYgQEAKIAllcnIgPSBzb2NrX3JlZ2lzdGVyKCZpdWN2X3NvY2tfZmFtaWx5X29wcyk7CiAJaWYgKGVycikKIAkJZ290byBvdXRfcHJvdG87Ci0JcHJpbnRrKEtFUk5fSU5GTyAiQUZfSVVDViBsb3dsZXZlbCBkcml2ZXIgaW5pdGlhbGl6ZWRcbiIpOwogCXJldHVybiAwOwogCiBvdXRfcHJvdG86CkBAIC0xMjI2LDggKzEyMjQsNiBAQAogCXNvY2tfdW5yZWdpc3RlcihQRl9JVUNWKTsKIAlwcm90b191bnJlZ2lzdGVyKCZpdWN2X3Byb3RvKTsKIAlpdWN2X3VucmVnaXN0ZXIoJmFmX2l1Y3ZfaGFuZGxlciwgMCk7Ci0KLQlwcmludGsoS0VSTl9JTkZPICJBRl9JVUNWIGxvd2xldmVsIGRyaXZlciB1bmxvYWRlZFxuIik7CiB9CiAKIG1vZHVsZV9pbml0KGFmaXVjdl9pbml0KTsKZGlmZiAtLWdpdCBhL25ldC9pdWN2L2l1Y3YuYyBiL25ldC9pdWN2L2l1Y3YuYwppbmRleCA5MTg5NzA3Li5jYzM0YWM3IDEwMDY0NAotLS0gYS9uZXQvaXVjdi9pdWN2LmMKKysrIGIvbmV0L2l1Y3YvaXVjdi5jCkBAIC00ODAsNyArNDgwLDcgQEAKIAkJaWYgKGNwdV9pc3NldChjcHUsIGl1Y3ZfYnVmZmVyX2NwdW1hc2spICYmCiAJCSAgICAhY3B1X2lzc2V0KGNwdSwgaXVjdl9pcnFfY3B1bWFzaykpCiAJCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2FsbG93X2NwdSwKLQkJCQkJCSBOVUxMLCAwLCAxKTsKKwkJCQkJCSBOVUxMLCAxKTsKIAlwcmVlbXB0X2VuYWJsZSgpOwogfQogCkBAIC00OTgsNyArNDk4LDcgQEAKIAljcHVtYXNrID0gaXVjdl9pcnFfY3B1bWFzazsKIAljcHVfY2xlYXIoZmlyc3RfY3B1KGl1Y3ZfaXJxX2NwdW1hc2spLCBjcHVtYXNrKTsKIAlmb3JfZWFjaF9jcHVfbWFzayhjcHUsIGNwdW1hc2spCi0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfYmxvY2tfY3B1LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9ibG9ja19jcHUsIE5VTEwsIDEpOwogfQogCiAvKioKQEAgLTUyMyw3ICs1MjMsNyBAQAogCXJjID0gLUVJTzsKIAlwcmVlbXB0X2Rpc2FibGUoKTsKIAlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9kZWNsYXJlX2NwdSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfZGVjbGFyZV9jcHUsIE5VTEwsIDEpOwogCXByZWVtcHRfZW5hYmxlKCk7CiAJaWYgKGNwdXNfZW1wdHkoaXVjdl9idWZmZXJfY3B1bWFzaykpCiAJCS8qIE5vIGNwdSBjb3VsZCBkZWNsYXJlIGFuIGl1Y3YgYnVmZmVyLiAqLwpAQCAtNTQ1LDcgKzU0NSw3IEBACiAgKi8KIHN0YXRpYyB2b2lkIGl1Y3ZfZGlzYWJsZSh2b2lkKQogewotCW9uX2VhY2hfY3B1KGl1Y3ZfcmV0cmlldmVfY3B1LCBOVUxMLCAwLCAxKTsKKwlvbl9lYWNoX2NwdShpdWN2X3JldHJpZXZlX2NwdSwgTlVMTCwgMSk7CiAJa2ZyZWUoaXVjdl9wYXRoX3RhYmxlKTsKIH0KIApAQCAtNTgwLDcgKzU4MCw3IEBACiAJY2FzZSBDUFVfT05MSU5FX0ZST1pFTjoKIAljYXNlIENQVV9ET1dOX0ZBSUxFRDoKIAljYXNlIENQVV9ET1dOX0ZBSUxFRF9GUk9aRU46Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfZGVjbGFyZV9jcHUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBpdWN2X2RlY2xhcmVfY3B1LCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJY2FzZSBDUFVfRE9XTl9QUkVQQVJFOgogCWNhc2UgQ1BVX0RPV05fUFJFUEFSRV9GUk9aRU46CkBAIC01ODksMTAgKzU4OSwxMCBAQAogCQlpZiAoY3B1c19lbXB0eShjcHVtYXNrKSkKIAkJCS8qIENhbid0IG9mZmxpbmUgbGFzdCBJVUNWIGVuYWJsZWQgY3B1LiAqLwogCQkJcmV0dXJuIE5PVElGWV9CQUQ7Ci0JCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGl1Y3ZfcmV0cmlldmVfY3B1LCBOVUxMLCAwLCAxKTsKKwkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaXVjdl9yZXRyaWV2ZV9jcHUsIE5VTEwsIDEpOwogCQlpZiAoY3B1c19lbXB0eShpdWN2X2lycV9jcHVtYXNrKSkKIAkJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShmaXJzdF9jcHUoaXVjdl9idWZmZXJfY3B1bWFzayksCi0JCQkJCQkgaXVjdl9hbGxvd19jcHUsIE5VTEwsIDAsIDEpOworCQkJCQkJIGl1Y3ZfYWxsb3dfY3B1LCBOVUxMLCAxKTsKIAkJYnJlYWs7CiAJfQogCXJldHVybiBOT1RJRllfT0s7CkBAIC02NTIsNyArNjUyLDcgQEAKIAkgKiBwZW5kaW5nIGludGVycnVwdHMgZm9yY2UgdGhlbSB0byB0aGUgd29yayBxdWV1ZSBieSBjYWxsaW5nCiAJICogYW4gZW1wdHkgZnVuY3Rpb24gb24gYWxsIGNwdXMuCiAJICovCi0Jc21wX2NhbGxfZnVuY3Rpb24oX19pdWN2X2NsZWFudXBfcXVldWUsIE5VTEwsIDAsIDEpOworCXNtcF9jYWxsX2Z1bmN0aW9uKF9faXVjdl9jbGVhbnVwX3F1ZXVlLCBOVUxMLCAxKTsKIAlzcGluX2xvY2tfaXJxKCZpdWN2X3F1ZXVlX2xvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShwLCBuLCAmaXVjdl90YXNrX3F1ZXVlLCBsaXN0KSB7CiAJCS8qIFJlbW92ZSBzdGFsZSB3b3JrIGl0ZW1zIGZyb20gdGhlIHRhc2sgcXVldWUuICovCkBAIC0xNTU5LDE2ICsxNTU5LDExIEBACiAKIAlwID0gaXVjdl9pcnFfZGF0YVtzbXBfcHJvY2Vzc29yX2lkKCldOwogCWlmIChwLT5pcHBhdGhpZCA+PSBpdWN2X21heF9wYXRoaWQpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiaXVjdl9kb19pbnQ6IEdvdCBpbnRlcnJ1cHQgd2l0aCAiCi0JCSAgICAgICAicGF0aGlkICVkID4gbWF4X2Nvbm5lY3Rpb25zICglbGQpXG4iLAotCQkgICAgICAgcC0+aXBwYXRoaWQsIGl1Y3ZfbWF4X3BhdGhpZCAtIDEpOworCQlXQVJOX09OKHAtPmlwcGF0aGlkID49IGl1Y3ZfbWF4X3BhdGhpZCk7CiAJCWl1Y3Zfc2V2ZXJfcGF0aGlkKHAtPmlwcGF0aGlkLCBpdWN2X2Vycm9yX25vX2xpc3RlbmVyKTsKIAkJcmV0dXJuOwogCX0KLQlpZiAocC0+aXB0eXBlICA8IDB4MDEgfHwgcC0+aXB0eXBlID4gMHgwOSkgewotCQlwcmludGsoS0VSTl9FUlIgIml1Y3ZfZG9faW50OiB1bmtub3duIGl1Y3YgaW50ZXJydXB0XG4iKTsKLQkJcmV0dXJuOwotCX0KKwlCVUdfT04ocC0+aXB0eXBlICA8IDB4MDEgfHwgcC0+aXB0eXBlID4gMHgwOSk7CiAJd29yayA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCBpdWN2X2lycV9saXN0KSwgR0ZQX0FUT01JQyk7CiAJaWYgKCF3b3JrKSB7CiAJCXByaW50ayhLRVJOX1dBUk5JTkcgIml1Y3ZfZXh0ZXJuYWxfaW50ZXJydXB0OiBvdXQgb2YgbWVtb3J5XG4iKTsKZGlmZiAtLWdpdCBhL25ldC9tYWM4MDIxMS9tYWluLmMgYi9uZXQvbWFjODAyMTEvbWFpbi5jCmluZGV4IDk4YzBiNWUuLmRmMDgzNmYgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS9tYWluLmMKKysrIGIvbmV0L21hYzgwMjExL21haW4uYwpAQCAtNTMwLDggKzUzMCw2IEBACiAJCQkJbG9jYWwtPnN0YV9od19zY2FubmluZyA9IDA7CiAJCX0KIAotCQlmbHVzaF93b3JrcXVldWUobG9jYWwtPmh3LndvcmtxdWV1ZSk7Ci0KIAkJc2RhdGEtPnUuc3RhLmZsYWdzICY9IH5JRUVFODAyMTFfU1RBX1BSSVZBQ1lfSU5WT0tFRDsKIAkJa2ZyZWUoc2RhdGEtPnUuc3RhLmV4dHJhX2llKTsKIAkJc2RhdGEtPnUuc3RhLmV4dHJhX2llID0gTlVMTDsKQEAgLTU1NSw2ICs1NTMsOCBAQAogCiAJCWllZWU4MDIxMV9sZWRfcmFkaW8obG9jYWwsIDApOwogCisJCWZsdXNoX3dvcmtxdWV1ZShsb2NhbC0+aHcud29ya3F1ZXVlKTsKKwogCQl0YXNrbGV0X2Rpc2FibGUoJmxvY2FsLT50eF9wZW5kaW5nX3Rhc2tsZXQpOwogCQl0YXNrbGV0X2Rpc2FibGUoJmxvY2FsLT50YXNrbGV0KTsKIAl9CmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvbWxtZS5jIGIvbmV0L21hYzgwMjExL21sbWUuYwppbmRleCA0ZDJiNTgyLi5iNDA0NTM3IDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvbWxtZS5jCisrKyBiL25ldC9tYWM4MDIxMS9tbG1lLmMKQEAgLTU0NywxNSArNTQ3LDE0IEBACiAJCQlzZGF0YS0+YnNzX2NvbmYuaHRfYnNzX2NvbmYgPSAmY29uZi0+aHRfYnNzX2NvbmY7CiAJCX0KIAotCQluZXRpZl9jYXJyaWVyX29uKGRldik7CiAJCWlmc3RhLT5mbGFncyB8PSBJRUVFODAyMTFfU1RBX1BSRVZfQlNTSURfU0VUOwogCQltZW1jcHkoaWZzdGEtPnByZXZfYnNzaWQsIHNkYXRhLT51LnN0YS5ic3NpZCwgRVRIX0FMRU4pOwogCQltZW1jcHkod3JxdS5hcF9hZGRyLnNhX2RhdGEsIHNkYXRhLT51LnN0YS5ic3NpZCwgRVRIX0FMRU4pOwogCQlpZWVlODAyMTFfc3RhX3NlbmRfYXNzb2NpbmZvKGRldiwgaWZzdGEpOwogCX0gZWxzZSB7CisJCW5ldGlmX2NhcnJpZXJfb2ZmKGRldik7CiAJCWllZWU4MDIxMV9zdGFfdGVhcl9kb3duX0JBX3Nlc3Npb25zKGRldiwgaWZzdGEtPmJzc2lkKTsKIAkJaWZzdGEtPmZsYWdzICY9IH5JRUVFODAyMTFfU1RBX0FTU09DSUFURUQ7Ci0JCW5ldGlmX2NhcnJpZXJfb2ZmKGRldik7CiAJCWllZWU4MDIxMV9yZXNldF9lcnBfaW5mbyhkZXYpOwogCiAJCXNkYXRhLT5ic3NfY29uZi5hc3NvY19odCA9IDA7CkBAIC01NjksNiArNTY4LDEwIEBACiAKIAlzZGF0YS0+YnNzX2NvbmYuYXNzb2MgPSBhc3NvYzsKIAlpZWVlODAyMTFfYnNzX2luZm9fY2hhbmdlX25vdGlmeShzZGF0YSwgY2hhbmdlZCk7CisKKwlpZiAoYXNzb2MpCisJCW5ldGlmX2NhcnJpZXJfb24oZGV2KTsKKwogCXdycXUuYXBfYWRkci5zYV9mYW1pbHkgPSBBUlBIUkRfRVRIRVI7CiAJd2lyZWxlc3Nfc2VuZF9ldmVudChkZXYsIFNJT0NHSVdBUCwgJndycXUsIE5VTEwpOwogfQpAQCAtMzYxMSw4ICszNjE0LDEwIEBACiAJc3Bpbl91bmxvY2tfYmgoJmxvY2FsLT5zdGFfYnNzX2xvY2spOwogCiAjaWZkZWYgQ09ORklHX01BQzgwMjExX0lCU1NfREVCVUcKLQlwcmludGsoS0VSTl9ERUJVRyAiICAgc3RhX2ZpbmRfaWJzczogc2VsZWN0ZWQgJXMgY3VycmVudCAiCi0JICAgICAgICIlc1xuIiwgcHJpbnRfbWFjKG1hYywgYnNzaWQpLCBwcmludF9tYWMobWFjMiwgaWZzdGEtPmJzc2lkKSk7CisJaWYgKGZvdW5kKQorCQlwcmludGsoS0VSTl9ERUJVRyAiICAgc3RhX2ZpbmRfaWJzczogc2VsZWN0ZWQgJXMgY3VycmVudCAiCisJCSAgICAgICAiJXNcbiIsIHByaW50X21hYyhtYWMsIGJzc2lkKSwKKwkJICAgICAgIHByaW50X21hYyhtYWMyLCBpZnN0YS0+YnNzaWQpKTsKICNlbmRpZiAvKiBDT05GSUdfTUFDODAyMTFfSUJTU19ERUJVRyAqLwogCWlmIChmb3VuZCAmJiBtZW1jbXAoaWZzdGEtPmJzc2lkLCBic3NpZCwgRVRIX0FMRU4pICE9IDAgJiYKIAkgICAgKGJzcyA9IGllZWU4MDIxMV9yeF9ic3NfZ2V0KGRldiwgYnNzaWQsCmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWQuaCBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZC5oCmluZGV4IDA0YWZjMTMuLjRlYTdiOTcgMTAwNjQ0Ci0tLSBhL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZC5oCisrKyBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZC5oCkBAIC0xNDEsNyArMTQxLDYgQEAKICAqCXJhdGUgYmVoYXZpb3VyIHZhbHVlcyAobG93ZXIgbWVhbnMgd2Ugc2hvdWxkIHRydXN0IG1vcmUgd2hhdCB3ZSBsZWFybnQKICAqCWFib3V0IGJlaGF2aW91ciBvZiByYXRlcywgaGlnaGVyIG1lYW5zIHdlIHNob3VsZCB0cnVzdCBtb3JlIHRoZSBuYXR1cmFsCiAgKglvcmRlcmluZyBvZiByYXRlcykKLSAqIEBmYXN0X3N0YXJ0OiBpZiBZLCBwdXNoIGhpZ2ggcmF0ZXMgcmlnaHQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24KICAqLwogc3RydWN0IHJjX3BpZF9kZWJ1Z2ZzX2VudHJpZXMgewogCXN0cnVjdCBkZW50cnkgKmRpcjsKQEAgLTE1NCw3ICsxNTMsNiBAQAogCXN0cnVjdCBkZW50cnkgKnNoYXJwZW5fZmFjdG9yOwogCXN0cnVjdCBkZW50cnkgKnNoYXJwZW5fZHVyYXRpb247CiAJc3RydWN0IGRlbnRyeSAqbm9ybV9vZmZzZXQ7Ci0Jc3RydWN0IGRlbnRyeSAqZmFzdF9zdGFydDsKIH07CiAKIHZvaWQgcmF0ZV9jb250cm9sX3BpZF9ldmVudF90eF9zdGF0dXMoc3RydWN0IHJjX3BpZF9ldmVudF9idWZmZXIgKmJ1ZiwKQEAgLTI2Nyw5ICsyNjUsNiBAQAogCS8qIE5vcm1hbGl6YXRpb24gb2Zmc2V0LiAqLwogCXVuc2lnbmVkIGludCBub3JtX29mZnNldDsKIAotCS8qIEZhc3Qgc3RhcnN0IHBhcmFtZXRlci4gKi8KLQl1bnNpZ25lZCBpbnQgZmFzdF9zdGFydDsKLQogCS8qIFJhdGVzIGluZm9ybWF0aW9uLiAqLwogCXN0cnVjdCByY19waWRfcmF0ZWluZm8gKnJpbmZvOwogCmRpZmYgLS1naXQgYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWRfYWxnby5jIGIvbmV0L21hYzgwMjExL3JjODAyMTFfcGlkX2FsZ28uYwppbmRleCBhODQ5Yjc0Li5iY2QyN2MxIDEwMDY0NAotLS0gYS9uZXQvbWFjODAyMTEvcmM4MDIxMV9waWRfYWxnby5jCisrKyBiL25ldC9tYWM4MDIxMS9yYzgwMjExX3BpZF9hbGdvLmMKQEAgLTM5OCwxMyArMzk4LDI1IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAorCXBpbmZvLT50YXJnZXQgPSBSQ19QSURfVEFSR0VUX1BGOworCXBpbmZvLT5zYW1wbGluZ19wZXJpb2QgPSBSQ19QSURfSU5URVJWQUw7CisJcGluZm8tPmNvZWZmX3AgPSBSQ19QSURfQ09FRkZfUDsKKwlwaW5mby0+Y29lZmZfaSA9IFJDX1BJRF9DT0VGRl9JOworCXBpbmZvLT5jb2VmZl9kID0gUkNfUElEX0NPRUZGX0Q7CisJcGluZm8tPnNtb290aGluZ19zaGlmdCA9IFJDX1BJRF9TTU9PVEhJTkdfU0hJRlQ7CisJcGluZm8tPnNoYXJwZW5fZmFjdG9yID0gUkNfUElEX1NIQVJQRU5JTkdfRkFDVE9SOworCXBpbmZvLT5zaGFycGVuX2R1cmF0aW9uID0gUkNfUElEX1NIQVJQRU5JTkdfRFVSQVRJT047CisJcGluZm8tPm5vcm1fb2Zmc2V0ID0gUkNfUElEX05PUk1fT0ZGU0VUOworCXBpbmZvLT5yaW5mbyA9IHJpbmZvOworCXBpbmZvLT5vbGRyYXRlID0gMDsKKwogCS8qIFNvcnQgdGhlIHJhdGVzLiBUaGlzIGlzIG9wdGltaXplZCBmb3IgdGhlIG1vc3QgY29tbW9uIGNhc2UgKGkuZS4KIAkgKiBhbG1vc3Qtc29ydGVkIENDSytPRkRNIHJhdGVzKS4gS2luZCBvZiBidWJibGUtc29ydCB3aXRoIHJldmVyc2VkCiAJICogbWFwcGluZyB0b28uICovCiAJZm9yIChpID0gMDsgaSA8IHNiYW5kLT5uX2JpdHJhdGVzOyBpKyspIHsKIAkJcmluZm9baV0uaW5kZXggPSBpOwogCQlyaW5mb1tpXS5yZXZfaW5kZXggPSBpOwotCQlpZiAocGluZm8tPmZhc3Rfc3RhcnQpCisJCWlmIChSQ19QSURfRkFTVF9TVEFSVCkKIAkJCXJpbmZvW2ldLmRpZmYgPSAwOwogCQllbHNlCiAJCQlyaW5mb1tpXS5kaWZmID0gaSAqIHBpbmZvLT5ub3JtX29mZnNldDsKQEAgLTQyNSwxOSArNDM3LDYgQEAKIAkJCWJyZWFrOwogCX0KIAotCXBpbmZvLT50YXJnZXQgPSBSQ19QSURfVEFSR0VUX1BGOwotCXBpbmZvLT5zYW1wbGluZ19wZXJpb2QgPSBSQ19QSURfSU5URVJWQUw7Ci0JcGluZm8tPmNvZWZmX3AgPSBSQ19QSURfQ09FRkZfUDsKLQlwaW5mby0+Y29lZmZfaSA9IFJDX1BJRF9DT0VGRl9JOwotCXBpbmZvLT5jb2VmZl9kID0gUkNfUElEX0NPRUZGX0Q7Ci0JcGluZm8tPnNtb290aGluZ19zaGlmdCA9IFJDX1BJRF9TTU9PVEhJTkdfU0hJRlQ7Ci0JcGluZm8tPnNoYXJwZW5fZmFjdG9yID0gUkNfUElEX1NIQVJQRU5JTkdfRkFDVE9SOwotCXBpbmZvLT5zaGFycGVuX2R1cmF0aW9uID0gUkNfUElEX1NIQVJQRU5JTkdfRFVSQVRJT047Ci0JcGluZm8tPm5vcm1fb2Zmc2V0ID0gUkNfUElEX05PUk1fT0ZGU0VUOwotCXBpbmZvLT5mYXN0X3N0YXJ0ID0gUkNfUElEX0ZBU1RfU1RBUlQ7Ci0JcGluZm8tPnJpbmZvID0gcmluZm87Ci0JcGluZm8tPm9sZHJhdGUgPSAwOwotCiAjaWZkZWYgQ09ORklHX01BQzgwMjExX0RFQlVHRlMKIAlkZSA9ICZwaW5mby0+ZGVudHJpZXM7CiAJZGUtPmRpciA9IGRlYnVnZnNfY3JlYXRlX2RpcigicmM4MDIxMV9waWQiLApAQCAtNDY1LDkgKzQ2NCw2IEBACiAJZGUtPm5vcm1fb2Zmc2V0ID0gZGVidWdmc19jcmVhdGVfdTMyKCJub3JtX29mZnNldCIsCiAJCQkJCSAgICAgU19JUlVTUiB8IFNfSVdVU1IsIGRlLT5kaXIsCiAJCQkJCSAgICAgJnBpbmZvLT5ub3JtX29mZnNldCk7Ci0JZGUtPmZhc3Rfc3RhcnQgPSBkZWJ1Z2ZzX2NyZWF0ZV9ib29sKCJmYXN0X3N0YXJ0IiwKLQkJCQkJICAgICBTX0lSVVNSIHwgU19JV1VTUiwgZGUtPmRpciwKLQkJCQkJICAgICAmcGluZm8tPmZhc3Rfc3RhcnQpOwogI2VuZGlmCiAKIAlyZXR1cm4gcGluZm87CkBAIC00NzksNyArNDc1LDYgQEAKICNpZmRlZiBDT05GSUdfTUFDODAyMTFfREVCVUdGUwogCXN0cnVjdCByY19waWRfZGVidWdmc19lbnRyaWVzICpkZSA9ICZwaW5mby0+ZGVudHJpZXM7CiAKLQlkZWJ1Z2ZzX3JlbW92ZShkZS0+ZmFzdF9zdGFydCk7CiAJZGVidWdmc19yZW1vdmUoZGUtPm5vcm1fb2Zmc2V0KTsKIAlkZWJ1Z2ZzX3JlbW92ZShkZS0+c2hhcnBlbl9kdXJhdGlvbik7CiAJZGVidWdmc19yZW1vdmUoZGUtPnNoYXJwZW5fZmFjdG9yKTsKZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2hlbHBlci5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMKaW5kZXggN2QxYjExNy4uOGUwYjRjOCAxMDA2NDQKLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfaGVscGVyLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAKICNpbmNsdWRlIDxuZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFjay5oPgogI2luY2x1ZGUgPG5ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX2wzcHJvdG8uaD4KZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX25ldGxpbmsuYwppbmRleCAwZWRlZmNmLi4wNzdiY2QyIDEwMDY0NAotLS0gYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19uZXRsaW5rLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfbmV0bGluay5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L3JjdWxpc3QuaD4KICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CmRpZmYgLS1naXQgYS9uZXQvbmV0ZmlsdGVyL25mX2Nvbm50cmFja19wcm90b190Y3AuYyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jCmluZGV4IDI3MWNkMDEuLmRkMjhmYjIgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jCisrKyBiL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRyYWNrX3Byb3RvX3RjcC5jCkBAIC04NDQsOSArODQ0LDE1IEBACiAJCQkvKiBBdHRlbXB0IHRvIHJlb3BlbiBhIGNsb3NlZC9hYm9ydGVkIGNvbm5lY3Rpb24uCiAJCQkgKiBEZWxldGUgdGhpcyBjb25uZWN0aW9uIGFuZCBsb29rIHVwIGFnYWluLiAqLwogCQkJd3JpdGVfdW5sb2NrX2JoKCZ0Y3BfbG9jayk7Ci0JCQlpZiAoZGVsX3RpbWVyKCZjdC0+dGltZW91dCkpCisJCQkvKiBPbmx5IHJlcGVhdCBpZiB3ZSBjYW4gYWN0dWFsbHkgcmVtb3ZlIHRoZSB0aW1lci4KKwkJCSAqIERlc3RydWN0aW9uIG1heSBhbHJlYWR5IGJlIGluIHByb2dyZXNzIGluIHByb2Nlc3MKKwkJCSAqIGNvbnRleHQgYW5kIHdlIG11c3QgZ2l2ZSBpdCBhIGNoYW5jZSB0byB0ZXJtaW5hdGUuCisJCQkgKi8KKwkJCWlmIChkZWxfdGltZXIoJmN0LT50aW1lb3V0KSkgewogCQkJCWN0LT50aW1lb3V0LmZ1bmN0aW9uKCh1bnNpZ25lZCBsb25nKWN0KTsKLQkJCXJldHVybiAtTkZfUkVQRUFUOworCQkJCXJldHVybiAtTkZfUkVQRUFUOworCQkJfQorCQkJcmV0dXJuIC1ORl9EUk9QOwogCQl9CiAJCS8qIEZhbGwgdGhyb3VnaCAqLwogCWNhc2UgVENQX0NPTk5UUkFDS19JR05PUkU6CmRpZmYgLS1naXQgYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfY2lwc29fdjQuYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jCmluZGV4IGZkYzE0YTAuLjkwODBjNjEgMTAwNjQ0Ci0tLSBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jCisrKyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9jaXBzb192NC5jCkBAIC01ODQsMTIgKzU4NCw3IEBACiAJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlnZW5sbXNnX2VuZChhbnNfc2tiLCBkYXRhKTsKLQotCXJldF92YWwgPSBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwotCWlmIChyZXRfdmFsICE9IDApCi0JCWdvdG8gbGlzdF9mYWlsdXJlOwotCi0JcmV0dXJuIDA7CisJcmV0dXJuIGdlbmxtc2dfcmVwbHkoYW5zX3NrYiwgaW5mbyk7CiAKIGxpc3RfcmV0cnk6CiAJLyogWFhYIC0gdGhpcyBsaW1pdCBpcyBhIGd1ZXNzdGltYXRlICovCmRpZmYgLS1naXQgYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfZG9tYWluaGFzaC5jIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX2RvbWFpbmhhc2guYwppbmRleCAwMmMyZjdjLi42NDNjMDMyIDEwMDY0NAotLS0gYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfZG9tYWluaGFzaC5jCisrKyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9kb21haW5oYXNoLmMKQEAgLTMwLDggKzMwLDcgQEAKICAqLwogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9yY3VwZGF0ZS5oPgotI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyNpbmNsdWRlIDxsaW51eC9yY3VsaXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2tidWZmLmg+CiAjaW5jbHVkZSA8bGludXgvc3BpbmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4KZGlmZiAtLWdpdCBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9tZ210LmMgYi9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfbWdtdC5jCmluZGV4IDIyYzE5MTIuLjQ0YmU1ZDUgMTAwNjQ0Ci0tLSBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF9tZ210LmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX21nbXQuYwpAQCAtMzg2LDExICszODYsNyBAQAogCXJjdV9yZWFkX3VubG9jaygpOwogCiAJZ2VubG1zZ19lbmQoYW5zX3NrYiwgZGF0YSk7Ci0KLQlyZXRfdmFsID0gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKLQlpZiAocmV0X3ZhbCAhPSAwKQotCQlnb3RvIGxpc3RkZWZfZmFpbHVyZTsKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKIAogbGlzdGRlZl9mYWlsdXJlX2xvY2s6CiAJcmN1X3JlYWRfdW5sb2NrKCk7CkBAIC01MDEsMTEgKzQ5Nyw3IEBACiAJCWdvdG8gdmVyc2lvbl9mYWlsdXJlOwogCiAJZ2VubG1zZ19lbmQoYW5zX3NrYiwgZGF0YSk7Ci0KLQlyZXRfdmFsID0gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKLQlpZiAocmV0X3ZhbCAhPSAwKQotCQlnb3RvIHZlcnNpb25fZmFpbHVyZTsKLQlyZXR1cm4gMDsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShhbnNfc2tiLCBpbmZvKTsKIAogdmVyc2lvbl9mYWlsdXJlOgogCWtmcmVlX3NrYihhbnNfc2tiKTsKZGlmZiAtLWdpdCBhL25ldC9uZXRsYWJlbC9uZXRsYWJlbF91bmxhYmVsZWQuYyBiL25ldC9uZXRsYWJlbC9uZXRsYWJlbF91bmxhYmVsZWQuYwppbmRleCA1MmIyNjExLi41NmY4MDg3IDEwMDY0NAotLS0gYS9uZXQvbmV0bGFiZWwvbmV0bGFiZWxfdW5sYWJlbGVkLmMKKysrIGIvbmV0L25ldGxhYmVsL25ldGxhYmVsX3VubGFiZWxlZC5jCkBAIC0xMTA3LDExICsxMTA3LDcgQEAKIAkJZ290byBsaXN0X2ZhaWx1cmU7CiAKIAlnZW5sbXNnX2VuZChhbnNfc2tiLCBkYXRhKTsKLQotCXJldF92YWwgPSBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwotCWlmIChyZXRfdmFsICE9IDApCi0JCWdvdG8gbGlzdF9mYWlsdXJlOwotCXJldHVybiAwOworCXJldHVybiBnZW5sbXNnX3JlcGx5KGFuc19za2IsIGluZm8pOwogCiBsaXN0X2ZhaWx1cmU6CiAJa2ZyZWVfc2tiKGFuc19za2IpOwpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvc21fc3RhdGVmdW5zLmMgYi9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYwppbmRleCAwYzlkNWE2Li5mY2RiNDVkIDEwMDY0NAotLS0gYS9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYworKysgYi9uZXQvc2N0cC9zbV9zdGF0ZWZ1bnMuYwpAQCAtNTg5OSwxMiArNTg5OSw2IEBACiAJCXJldHVybiBTQ1RQX0lFUlJPUl9OT19EQVRBOwogCX0KIAotCS8qIElmIGRlZmluYXRlbHkgYWNjZXB0aW5nIHRoZSBEQVRBIGNodW5rLCByZWNvcmQgaXRzIFRTTiwgb3RoZXJ3aXNlCi0JICogd2FpdCBmb3IgcmVuZWdlIHByb2Nlc3NpbmcuCi0JICovCi0JaWYgKFNDVFBfQ01EX0NIVU5LX1VMUCA9PSBkZWxpdmVyKQotCQlzY3RwX2FkZF9jbWRfc2YoY29tbWFuZHMsIFNDVFBfQ01EX1JFUE9SVF9UU04sIFNDVFBfVTMyKHRzbikpOwotCiAJY2h1bmstPmRhdGFfYWNjZXB0ZWQgPSAxOwogCiAJLyogTm90ZTogU29tZSBjaHVua3MgbWF5IGdldCBvdmVyY291bnRlZCAoaWYgd2UgZHJvcCkgb3Igb3ZlcmNvdW50ZWQKQEAgLTU5MjQsNiArNTkxOCw5IEBACiAJICogYW5kIGRpc2NhcmQgdGhlIERBVEEgY2h1bmsuCiAJICovCiAJaWYgKG50b2hzKGRhdGFfaGRyLT5zdHJlYW0pID49IGFzb2MtPmMuc2luaXRfbWF4X2luc3RyZWFtcykgeworCQkvKiBNYXJrIHRzbiBhcyByZWNlaXZlZCBldmVuIHRob3VnaCB3ZSBkcm9wIGl0ICovCisJCXNjdHBfYWRkX2NtZF9zZihjb21tYW5kcywgU0NUUF9DTURfUkVQT1JUX1RTTiwgU0NUUF9VMzIodHNuKSk7CisKIAkJZXJyID0gc2N0cF9tYWtlX29wX2Vycm9yKGFzb2MsIGNodW5rLCBTQ1RQX0VSUk9SX0lOVl9TVFJNLAogCQkJCQkgJmRhdGFfaGRyLT5zdHJlYW0sCiAJCQkJCSBzaXplb2YoZGF0YV9oZHItPnN0cmVhbSkpOwpkaWZmIC0tZ2l0IGEvbmV0L3NjdHAvdWxwZXZlbnQuYyBiL25ldC9zY3RwL3VscGV2ZW50LmMKaW5kZXggY2U2Y2RhNi4uYTFmNjU0YSAxMDA2NDQKLS0tIGEvbmV0L3NjdHAvdWxwZXZlbnQuYworKysgYi9uZXQvc2N0cC91bHBldmVudC5jCkBAIC03MTAsNiArNzEwLDExIEBACiAJaWYgKCFza2IpCiAJCWdvdG8gZmFpbDsKIAorCS8qIE5vdyB0aGF0IGFsbCBtZW1vcnkgYWxsb2NhdGlvbnMgZm9yIHRoaXMgY2h1bmsgc3VjY2VlZGVkLCB3ZQorCSAqIGNhbiBtYXJrIGl0IGFzIHJlY2VpdmVkIHNvIHRoZSB0c25fbWFwIGlzIHVwZGF0ZWQgY29ycmVjdGx5LgorCSAqLworCXNjdHBfdHNubWFwX21hcmsoJmFzb2MtPnBlZXIudHNuX21hcCwgbnRvaGwoY2h1bmstPnN1YmguZGF0YV9oZHItPnRzbikpOworCiAJLyogRmlyc3QgY2FsY3VsYXRlIHRoZSBwYWRkaW5nLCBzbyB3ZSBkb24ndCBpbmFkdmVydGVudGx5CiAJICogcGFzcyB1cCB0aGUgd3JvbmcgbGVuZ3RoIHRvIHRoZSB1c2VyLgogCSAqCmRpZmYgLS1naXQgYS9uZXQveGZybS94ZnJtX3VzZXIuYyBiL25ldC94ZnJtL3hmcm1fdXNlci5jCmluZGV4IGI5NzZkOWUuLjA0YzQxNTAgMTAwNjQ0Ci0tLSBhL25ldC94ZnJtL3hmcm1fdXNlci5jCisrKyBiL25ldC94ZnJtL3hmcm1fdXNlci5jCkBAIC0yNzcsOSArMjc3LDggQEAKIAltZW1jcHkoJngtPnByb3BzLnNhZGRyLCAmcC0+c2FkZHIsIHNpemVvZih4LT5wcm9wcy5zYWRkcikpOwogCXgtPnByb3BzLmZsYWdzID0gcC0+ZmxhZ3M7CiAKLQlpZiAoIXgtPnNlbC5mYW1pbHkpCisJaWYgKCF4LT5zZWwuZmFtaWx5ICYmICEocC0+ZmxhZ3MgJiBYRlJNX1NUQVRFX0FGX1VOU1BFQykpCiAJCXgtPnNlbC5mYW1pbHkgPSBwLT5mYW1pbHk7Ci0KIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0IGIvc2NyaXB0cy9NYWtlZmlsZS5md2luc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QyZjQ2MAotLS0gL2Rldi9udWxsCisrKyBiL3NjcmlwdHMvTWFrZWZpbGUuZndpbnN0CkBAIC0wLDAgKzEsNDUgQEAKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgSW5zdGFsbGluZyBmaXJtd2FyZQorIworIyBXZSBkb24ndCBpbmNsdWRlIHRoZSAuY29uZmlnLCBzbyBhbGwgZmlybXdhcmUgZmlsZXMgYXJlIGluICQoZnctc2hpcHBlZC0pCisjIHJhdGhlciB0aGFuIGluICQoZnctc2hpcHBlZC15KSBvciAkKGZ3LXNoaXBwZWQtbikuCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0lOU1RBTEwgOj0gaW5zdGFsbAorc3JjIDo9ICQob2JqKQorCisjIEZvciBtb2R1bGVzX2luc3RhbGwgaW5zdGFsbGluZyBmaXJtd2FyZSwgd2Ugd2FudCB0byBzZWUgLmNvbmZpZworIyBCdXQgZm9yIGZpcm13YXJlX2luc3RhbGwsIHdlIGRvbid0IGNhcmUsIGJ1dCBkb24ndCB3YW50IHRvIHJlcXVpcmUgaXQuCistaW5jbHVkZSAkKG9ianRyZWUpLy5jb25maWcKKworaW5jbHVkZSBzY3JpcHRzL0tidWlsZC5pbmNsdWRlCitpbmNsdWRlICQoc3JjdHJlZSkvJChvYmopL01ha2VmaWxlCisKK2luY2x1ZGUgc2NyaXB0cy9NYWtlZmlsZS5ob3N0CisKK21vZC1mdyA6PSAkKGFkZHByZWZpeCAkKElOU1RBTExfRldfUEFUSCkvLCQoZnctc2hpcHBlZC1tKSkKKworIyBJZiBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMIGlzbid0IHNldCwgdGhlbiBpbnN0YWxsIHRoZSAKKyMgZmlybXdhcmUgZm9yIGluLWtlcm5lbCBkcml2ZXJzIHRvby4KK2lmbmRlZiBDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMCittb2QtZncgKz0gJChhZGRwcmVmaXggJChJTlNUQUxMX0ZXX1BBVEgpLywkKGZ3LXNoaXBwZWQteSkpCitlbmRpZgorCitpbnN0YWxsZWQtZncgOj0gJChhZGRwcmVmaXggJChJTlNUQUxMX0ZXX1BBVEgpLywkKGZ3LXNoaXBwZWQtYWxsKSkKK2luc3RhbGxlZC1mdy1kaXJzIDo9ICQoc29ydCAkKGRpciAkKGluc3RhbGxlZC1mdykpKSAkKElOU1RBTExfRldfUEFUSCkvLgorCitxdWlldF9jbWRfaW5zdGFsbCA9IElOU1RBTEwgJChzdWJzdCAkKHNyY3RyZWUpLywsJEApCisgICAgICBjbWRfaW5zdGFsbCA9ICQoSU5TVEFMTCkgLW0wNjQ0ICQ8ICRACisKKyQoaW5zdGFsbGVkLWZ3LWRpcnMpOgorCSQoY2FsbCBjbWQsbWtkaXIpCisKKyQoaW5zdGFsbGVkLWZ3KTogJChJTlNUQUxMX0ZXX1BBVEgpLyU6ICQob2JqKS8lIHwgJChJTlNUQUxMX0ZXX1BBVEgpLyQkKGRpciAlKS8KKwkkKGNhbGwgY21kLGluc3RhbGwpCisKKy5QSE9OWTogX19md19pbnN0YWxsIF9fZndfbW9kaW5zdCBGT1JDRQorCitfX2Z3X2luc3RhbGw6ICQoaW5zdGFsbGVkLWZ3KQorX19md19tb2RpbnN0OiAkKG1vZC1mdykKKworRk9SQ0U6CmRpZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmxpYiBiL3NjcmlwdHMvTWFrZWZpbGUubGliCmluZGV4IDhlNDQwMjMuLmVhNDhiODIgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvTWFrZWZpbGUubGliCisrKyBiL3NjcmlwdHMvTWFrZWZpbGUubGliCkBAIC05Niw3ICs5Niw4IEBACiBtb2RuYW1lX2ZsYWdzICA9ICQoaWYgJChmaWx0ZXIgMSwkKHdvcmRzICQobW9kbmFtZSkpKSxcCiAgICAgICAgICAgICAgICAgIC1EIktCVUlMRF9NT0ROQU1FPUtCVUlMRF9TVFIoJChjYWxsIG5hbWUtZml4LCQobW9kbmFtZSkpKSIpCiAKLV9jX2ZsYWdzICAgICAgID0gJChLQlVJTERfQ0ZMQUdTKSAkKGNjZmxhZ3MteSkgJChDRkxBR1NfJChiYXNldGFyZ2V0KS5vKQorb3JpZ19jX2ZsYWdzICAgPSAkKEtCVUlMRF9DRkxBR1MpICQoY2NmbGFncy15KSAkKENGTEFHU18kKGJhc2V0YXJnZXQpLm8pCitfY19mbGFncyAgICAgICA9ICQoZmlsdGVyLW91dCAkKENGTEFHU19SRU1PVkVfJChiYXNldGFyZ2V0KS5vKSwgJChvcmlnX2NfZmxhZ3MpKQogX2FfZmxhZ3MgICAgICAgPSAkKEtCVUlMRF9BRkxBR1MpICQoYXNmbGFncy15KSAkKEFGTEFHU18kKGJhc2V0YXJnZXQpLm8pCiBfY3BwX2ZsYWdzICAgICA9ICQoS0JVSUxEX0NQUEZMQUdTKSAkKGNwcGZsYWdzLXkpICQoQ1BQRkxBR1NfJChARikpCiAKZGlmZiAtLWdpdCBhL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYyBiL3NjcmlwdHMvbW9kL2ZpbGUyYWxpYXMuYwppbmRleCBjZWE0YTc5Li4zN2Q1YzM2IDEwMDY0NAotLS0gYS9zY3JpcHRzL21vZC9maWxlMmFsaWFzLmMKKysrIGIvc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jCkBAIC0zMDQsNiArMzA0LDE0IEBACiAJcmV0dXJuIDE7CiB9CiAKKy8qIGxvb2tzIGxpa2U6ICJjc3M6dE4iICovCitzdGF0aWMgaW50IGRvX2Nzc19lbnRyeShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCXN0cnVjdCBjc3NfZGV2aWNlX2lkICppZCwgY2hhciAqYWxpYXMpCit7CisJc3ByaW50ZihhbGlhcywgImNzczp0JTAxWCIsIGlkLT50eXBlKTsKKwlyZXR1cm4gMTsKK30KKwogLyogTG9va3MgbGlrZTogInNlcmlvOnR5TnByTmlkTmV4TiIgKi8KIHN0YXRpYyBpbnQgZG9fc2VyaW9fZW50cnkoY29uc3QgY2hhciAqZmlsZW5hbWUsCiAJCQkgIHN0cnVjdCBzZXJpb19kZXZpY2VfaWQgKmlkLCBjaGFyICphbGlhcykKQEAgLTY4MCw2ICs2ODgsMTAgQEAKIAkJZG9fdGFibGUoc3ltdmFsLCBzeW0tPnN0X3NpemUsCiAJCQkgc2l6ZW9mKHN0cnVjdCBhcF9kZXZpY2VfaWQpLCAiYXAiLAogCQkJIGRvX2FwX2VudHJ5LCBtb2QpOworCWVsc2UgaWYgKHN5bV9pcyhzeW1uYW1lLCAiX19tb2RfY3NzX2RldmljZV90YWJsZSIpKQorCQlkb190YWJsZShzeW12YWwsIHN5bS0+c3Rfc2l6ZSwKKwkJCSBzaXplb2Yoc3RydWN0IGNzc19kZXZpY2VfaWQpLCAiY3NzIiwKKwkJCSBkb19jc3NfZW50cnksIG1vZCk7CiAJZWxzZSBpZiAoc3ltX2lzKHN5bW5hbWUsICJfX21vZF9zZXJpb19kZXZpY2VfdGFibGUiKSkKIAkJZG9fdGFibGUoc3ltdmFsLCBzeW0tPnN0X3NpemUsCiAJCQkgc2l6ZW9mKHN0cnVjdCBzZXJpb19kZXZpY2VfaWQpLCAic2VyaW8iLApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvS2NvbmZpZyBiL3NlY3VyaXR5L0tjb25maWcKaW5kZXggNDliNTFmOS4uNjJlZDQ3MSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvS2NvbmZpZworKysgYi9zZWN1cml0eS9LY29uZmlnCkBAIC03MywxNyArNzMsOSBAQAogCSAgSVBTZWMuCiAJICBJZiB5b3UgYXJlIHVuc3VyZSBob3cgdG8gYW5zd2VyIHRoaXMgcXVlc3Rpb24sIGFuc3dlciBOLgogCi1jb25maWcgU0VDVVJJVFlfQ0FQQUJJTElUSUVTCi0JYm9vbCAiRGVmYXVsdCBMaW51eCBDYXBhYmlsaXRpZXMiCi0JZGVwZW5kcyBvbiBTRUNVUklUWQotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFRoaXMgZW5hYmxlcyB0aGUgImRlZmF1bHQiIExpbnV4IGNhcGFiaWxpdGllcyBmdW5jdGlvbmFsaXR5LgotCSAgSWYgeW91IGFyZSB1bnN1cmUgaG93IHRvIGFuc3dlciB0aGlzIHF1ZXN0aW9uLCBhbnN3ZXIgWS4KLQogY29uZmlnIFNFQ1VSSVRZX0ZJTEVfQ0FQQUJJTElUSUVTCiAJYm9vbCAiRmlsZSBQT1NJWCBDYXBhYmlsaXRpZXMgKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiAoU0VDVVJJVFk9biB8fCBTRUNVUklUWV9DQVBBQklMSVRJRVMhPW4pICYmIEVYUEVSSU1FTlRBTAorCWRlcGVuZHMgb24gRVhQRVJJTUVOVEFMCiAJZGVmYXVsdCBuCiAJaGVscAogCSAgVGhpcyBlbmFibGVzIGZpbGVzeXN0ZW0gY2FwYWJpbGl0aWVzLCBhbGxvd2luZyB5b3UgdG8gZ2l2ZQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvTWFrZWZpbGUgYi9zZWN1cml0eS9NYWtlZmlsZQppbmRleCA3ZWYxMTA3Li5mNjU0MjYwIDEwMDY0NAotLS0gYS9zZWN1cml0eS9NYWtlZmlsZQorKysgYi9zZWN1cml0eS9NYWtlZmlsZQpAQCAtNiwxNiArNiwxMyBAQAogc3ViZGlyLSQoQ09ORklHX1NFQ1VSSVRZX1NFTElOVVgpCSs9IHNlbGludXgKIHN1YmRpci0kKENPTkZJR19TRUNVUklUWV9TTUFDSykJCSs9IHNtYWNrCiAKLSMgaWYgd2UgZG9uJ3Qgc2VsZWN0IGEgc2VjdXJpdHkgbW9kZWwsIHVzZSB0aGUgZGVmYXVsdCBjYXBhYmlsaXRpZXMKLWlmbmVxICgkKENPTkZJR19TRUNVUklUWSkseSkKKyMgYWx3YXlzIGVuYWJsZSBkZWZhdWx0IGNhcGFiaWxpdGllcwogb2JqLXkJCSs9IGNvbW1vbmNhcC5vCi1lbmRpZgogCiAjIE9iamVjdCBmaWxlIGxpc3RzCi1vYmotJChDT05GSUdfU0VDVVJJVFkpCQkJKz0gc2VjdXJpdHkubyBkdW1teS5vIGlub2RlLm8KK29iai0kKENPTkZJR19TRUNVUklUWSkJCQkrPSBzZWN1cml0eS5vIGNhcGFiaWxpdHkubyBpbm9kZS5vCiAjIE11c3QgcHJlY2VkZSBjYXBhYmlsaXR5Lm8gaW4gb3JkZXIgdG8gc3RhY2sgcHJvcGVybHkuCiBvYmotJChDT05GSUdfU0VDVVJJVFlfU0VMSU5VWCkJCSs9IHNlbGludXgvYnVpbHQtaW4ubwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1NNQUNLKQkJKz0gY29tbW9uY2FwLm8gc21hY2svYnVpbHQtaW4ubwotb2JqLSQoQ09ORklHX1NFQ1VSSVRZX0NBUEFCSUxJVElFUykJKz0gY29tbW9uY2FwLm8gY2FwYWJpbGl0eS5vCi1vYmotJChDT05GSUdfU0VDVVJJVFlfUk9PVFBMVUcpCQkrPSBjb21tb25jYXAubyByb290X3BsdWcubworb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1NNQUNLKQkJKz0gc21hY2svYnVpbHQtaW4ubworb2JqLSQoQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHKQkJKz0gcm9vdF9wbHVnLm8KIG9iai0kKENPTkZJR19DR1JPVVBfREVWSUNFKQkJKz0gZGV2aWNlX2Nncm91cC5vCmRpZmYgLS1naXQgYS9zZWN1cml0eS9jYXBhYmlsaXR5LmMgYi9zZWN1cml0eS9jYXBhYmlsaXR5LmMKaW5kZXggMzhhYzU0ZS4uNWIwMWMwYiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvY2FwYWJpbGl0eS5jCisrKyBiL3NlY3VyaXR5L2NhcGFiaWxpdHkuYwpAQCAtMSw2ICsxLDggQEAKIC8qCiAgKiAgQ2FwYWJpbGl0aWVzIExpbnV4IFNlY3VyaXR5IE1vZHVsZQogICoKKyAqICBUaGlzIGlzIHRoZSBkZWZhdWx0IHNlY3VyaXR5IG1vZHVsZSBpbiBjYXNlIG5vIG90aGVyIG1vZHVsZSBpcyBsb2FkZWQuCisgKgogICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAgKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgpAQCAtOCw3NSArMTAsOTg4IEBACiAgKgogICovCiAKLSNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvc2VjdXJpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9maWxlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW0uaD4KLSNpbmNsdWRlIDxsaW51eC9tbWFuLmg+Ci0jaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgotI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KLSNpbmNsdWRlIDxsaW51eC9za2J1ZmYuaD4KLSNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0jaW5jbHVkZSA8bGludXgvcHRyYWNlLmg+Ci0jaW5jbHVkZSA8bGludXgvbW9kdWxlcGFyYW0uaD4KIAotc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGNhcGFiaWxpdHlfb3BzID0gewotCS5wdHJhY2UgPQkJCWNhcF9wdHJhY2UsCi0JLmNhcGdldCA9CQkJY2FwX2NhcGdldCwKLQkuY2Fwc2V0X2NoZWNrID0JCQljYXBfY2Fwc2V0X2NoZWNrLAotCS5jYXBzZXRfc2V0ID0JCQljYXBfY2Fwc2V0X3NldCwKLQkuY2FwYWJsZSA9CQkJY2FwX2NhcGFibGUsCi0JLnNldHRpbWUgPQkJCWNhcF9zZXR0aW1lLAotCS5uZXRsaW5rX3NlbmQgPQkJCWNhcF9uZXRsaW5rX3NlbmQsCi0JLm5ldGxpbmtfcmVjdiA9CQkJY2FwX25ldGxpbmtfcmVjdiwKLQotCS5icHJtX2FwcGx5X2NyZWRzID0JCWNhcF9icHJtX2FwcGx5X2NyZWRzLAotCS5icHJtX3NldF9zZWN1cml0eSA9CQljYXBfYnBybV9zZXRfc2VjdXJpdHksCi0JLmJwcm1fc2VjdXJlZXhlYyA9CQljYXBfYnBybV9zZWN1cmVleGVjLAotCi0JLmlub2RlX3NldHhhdHRyID0JCWNhcF9pbm9kZV9zZXR4YXR0ciwKLQkuaW5vZGVfcmVtb3ZleGF0dHIgPQkJY2FwX2lub2RlX3JlbW92ZXhhdHRyLAotCS5pbm9kZV9uZWVkX2tpbGxwcml2ID0JCWNhcF9pbm9kZV9uZWVkX2tpbGxwcml2LAotCS5pbm9kZV9raWxscHJpdiA9CQljYXBfaW5vZGVfa2lsbHByaXYsCi0KLQkudGFza19zZXRzY2hlZHVsZXIgPQkJY2FwX3Rhc2tfc2V0c2NoZWR1bGVyLAotCS50YXNrX3NldGlvcHJpbyA9CQljYXBfdGFza19zZXRpb3ByaW8sCi0JLnRhc2tfc2V0bmljZSA9CQkJY2FwX3Rhc2tfc2V0bmljZSwKLQkudGFza19wb3N0X3NldHVpZCA9CQljYXBfdGFza19wb3N0X3NldHVpZCwKLQkudGFza19wcmN0bCA9ICAgICAgICAgICAgICAgICAgIGNhcF90YXNrX3ByY3RsLAotCS50YXNrX3JlcGFyZW50X3RvX2luaXQgPQljYXBfdGFza19yZXBhcmVudF90b19pbml0LAotCi0JLnN5c2xvZyA9ICAgICAgICAgICAgICAgICAgICAgICBjYXBfc3lzbG9nLAotCi0JLnZtX2Vub3VnaF9tZW1vcnkgPSAgICAgICAgICAgICBjYXBfdm1fZW5vdWdoX21lbW9yeSwKLX07Ci0KLS8qIGZsYWcgdG8ga2VlcCB0cmFjayBvZiBob3cgd2Ugd2VyZSByZWdpc3RlcmVkICovCi1zdGF0aWMgaW50IHNlY29uZGFyeTsKLQotc3RhdGljIGludCBjYXBhYmlsaXR5X2Rpc2FibGU7Ci1tb2R1bGVfcGFyYW1fbmFtZWQoZGlzYWJsZSwgY2FwYWJpbGl0eV9kaXNhYmxlLCBpbnQsIDApOwotCi1zdGF0aWMgaW50IF9faW5pdCBjYXBhYmlsaXR5X2luaXQgKHZvaWQpCitzdGF0aWMgaW50IGNhcF9hY2N0KHN0cnVjdCBmaWxlICpmaWxlKQogewotCWlmIChjYXBhYmlsaXR5X2Rpc2FibGUpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiQ2FwYWJpbGl0aWVzIGRpc2FibGVkIGF0IGluaXRpYWxpemF0aW9uXG4iKTsKLQkJcmV0dXJuIDA7Ci0JfQotCS8qIHJlZ2lzdGVyIG91cnNlbHZlcyB3aXRoIHRoZSBzZWN1cml0eSBmcmFtZXdvcmsgKi8KLQlpZiAocmVnaXN0ZXJfc2VjdXJpdHkgKCZjYXBhYmlsaXR5X29wcykpIHsKLQkJLyogdHJ5IHJlZ2lzdGVyaW5nIHdpdGggcHJpbWFyeSBtb2R1bGUgKi8KLQkJaWYgKG1vZF9yZWdfc2VjdXJpdHkgKEtCVUlMRF9NT0ROQU1FLCAmY2FwYWJpbGl0eV9vcHMpKSB7Ci0JCQlwcmludGsgKEtFUk5fSU5GTyAiRmFpbHVyZSByZWdpc3RlcmluZyBjYXBhYmlsaXRpZXMgIgotCQkJCSJ3aXRoIHByaW1hcnkgc2VjdXJpdHkgbW9kdWxlLlxuIik7Ci0JCQlyZXR1cm4gLUVJTlZBTDsKLQkJfQotCQlzZWNvbmRhcnkgPSAxOwotCX0KLQlwcmludGsgKEtFUk5fSU5GTyAiQ2FwYWJpbGl0eSBMU00gaW5pdGlhbGl6ZWQlc1xuIiwKLQkJc2Vjb25kYXJ5ID8gIiBhcyBzZWNvbmRhcnkiIDogIiIpOwogCXJldHVybiAwOwogfQogCi1zZWN1cml0eV9pbml0Y2FsbCAoY2FwYWJpbGl0eV9pbml0KTsKK3N0YXRpYyBpbnQgY2FwX3N5c2N0bChjdGxfdGFibGUgKnRhYmxlLCBpbnQgb3ApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3F1b3RhY3RsKGludCBjbWRzLCBpbnQgdHlwZSwgaW50IGlkLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9xdW90YV9vbihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2Jwcm1fYWxsb2Nfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2Jwcm1fZnJlZV9zZWN1cml0eShzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfYnBybV9wb3N0X2FwcGx5X2NyZWRzKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2Jwcm1fY2hlY2tfc2VjdXJpdHkoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKK30KKworc3RhdGljIGludCBjYXBfc2JfY29weV9kYXRhKGNoYXIgKm9yaWcsIGNoYXIgKmNvcHkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX2tlcm5fbW91bnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2Jfc2hvd19vcHRpb25zKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2Jfc3RhdGZzKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfbW91bnQoY2hhciAqZGV2X25hbWUsIHN0cnVjdCBwYXRoICpwYXRoLCBjaGFyICp0eXBlLAorCQkJdW5zaWduZWQgbG9uZyBmbGFncywgdm9pZCAqZGF0YSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2JfY2hlY2tfc2Ioc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zYl91bW91bnQoc3RydWN0IHZmc21vdW50ICptbnQsIGludCBmbGFncykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Vtb3VudF9jbG9zZShzdHJ1Y3QgdmZzbW91bnQgKm1udCkKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX3NiX3Vtb3VudF9idXN5KHN0cnVjdCB2ZnNtb3VudCAqbW50KQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfcG9zdF9yZW1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCB1bnNpZ25lZCBsb25nIGZsYWdzLAorCQkJCXZvaWQgKmRhdGEpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zYl9wb3N0X2FkZG1vdW50KHN0cnVjdCB2ZnNtb3VudCAqbW50LCBzdHJ1Y3QgcGF0aCAqcGF0aCkKK3sKK30KKworc3RhdGljIGludCBjYXBfc2JfcGl2b3Ryb290KHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfcG9zdF9waXZvdHJvb3Qoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3NldF9tbnRfb3B0cyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAorCQkJICAgICAgIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKK3sKKwlpZiAodW5saWtlbHkob3B0cy0+bnVtX21udF9vcHRzKSkKKwkJcmV0dXJuIC1FT1BOT1RTVVBQOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2JfY2xvbmVfbW50X29wdHMoY29uc3Qgc3RydWN0IHN1cGVyX2Jsb2NrICpvbGRzYiwKKwkJCQkgIHN0cnVjdCBzdXBlcl9ibG9jayAqbmV3c2IpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NiX3BhcnNlX29wdHNfc3RyKGNoYXIgKm9wdGlvbnMsIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSkKK3sKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfaW5pdF9zZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaW5vZGUgKmRpciwKKwkJCQkgICBjaGFyICoqbmFtZSwgdm9pZCAqKnZhbHVlLCBzaXplX3QgKmxlbikKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2NyZWF0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICAgaW50IG1hc2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2xpbmsoc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwgc3RydWN0IGlub2RlICppbm9kZSwKKwkJCSAgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfdW5saW5rKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfc3ltbGluayhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX21rZGlyKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCSAgIGludCBtYXNrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9ybWRpcihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX21rbm9kKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKwkJCSAgIGludCBtb2RlLCBkZXZfdCBkZXYpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX3JlbmFtZShzdHJ1Y3QgaW5vZGUgKm9sZF9pbm9kZSwgc3RydWN0IGRlbnRyeSAqb2xkX2RlbnRyeSwKKwkJCSAgICBzdHJ1Y3QgaW5vZGUgKm5ld19pbm9kZSwgc3RydWN0IGRlbnRyeSAqbmV3X2RlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcmVhZGxpbmsoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9mb2xsb3dfbGluayhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisJCQkJIHN0cnVjdCBuYW1laWRhdGEgKm5hbWVpZGF0YSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbWFzaywKKwkJCQlzdHJ1Y3QgbmFtZWlkYXRhICpuZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfc2V0YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqaWF0dHIpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lub2RlX2dldGF0dHIoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX2RlbGV0ZShzdHJ1Y3QgaW5vZGUgKmlubykKK3sKK30KKworc3RhdGljIHZvaWQgY2FwX2lub2RlX3Bvc3Rfc2V0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSAgICBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKK3sKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfZ2V0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9saXN0eGF0dHIoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9nZXRzZWN1cml0eShjb25zdCBzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCSB2b2lkICoqYnVmZmVyLCBib29sIGFsbG9jKQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKworc3RhdGljIGludCBjYXBfaW5vZGVfc2V0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9pbm9kZV9saXN0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY2hhciAqYnVmZmVyLAorCQkJCSAgc2l6ZV90IGJ1ZmZlcl9zaXplKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaW5vZGVfZ2V0c2VjaWQoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgdTMyICpzZWNpZCkKK3sKKwkqc2VjaWQgPSAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX3Blcm1pc3Npb24oc3RydWN0IGZpbGUgKmZpbGUsIGludCBtYXNrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBmaWxlICpmaWxlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfZmlsZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBmaWxlICpmaWxlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9maWxlX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY29tbWFuZCwKKwkJCSAgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfbW1hcChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgbG9uZyByZXFwcm90LAorCQkJIHVuc2lnbmVkIGxvbmcgcHJvdCwgdW5zaWduZWQgbG9uZyBmbGFncywKKwkJCSB1bnNpZ25lZCBsb25nIGFkZHIsIHVuc2lnbmVkIGxvbmcgYWRkcl9vbmx5KQoreworCWlmICgoYWRkciA8IG1tYXBfbWluX2FkZHIpICYmICFjYXBhYmxlKENBUF9TWVNfUkFXSU8pKQorCQlyZXR1cm4gLUVBQ0NFUzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9tcHJvdGVjdChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSwgdW5zaWduZWQgbG9uZyByZXFwcm90LAorCQkJICAgICB1bnNpZ25lZCBsb25nIHByb3QpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfbG9jayhzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9mY250bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKKwkJCSAgdW5zaWduZWQgbG9uZyBhcmcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfc2V0X2Zvd25lcihzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZmlsZV9zZW5kX3NpZ2lvdGFzayhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywKKwkJCQkgICBzdHJ1Y3QgZm93bl9zdHJ1Y3QgKmZvd24sIGludCBzaWcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2ZpbGVfcmVjZWl2ZShzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfZGVudHJ5X29wZW4oc3RydWN0IGZpbGUgKmZpbGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfY3JlYXRlKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHRhc2tfc3RydWN0ICpwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfdGFza19mcmVlX3NlY3VyaXR5KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKK30KKworc3RhdGljIGludCBjYXBfdGFza19zZXR1aWQodWlkX3QgaWQwLCB1aWRfdCBpZDEsIHVpZF90IGlkMiwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX3NldGdpZChnaWRfdCBpZDAsIGdpZF90IGlkMSwgZ2lkX3QgaWQyLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0cGdpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHBpZF90IHBnaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0cGdpZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0c2lkKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3Rhc2tfZ2V0c2VjaWQoc3RydWN0IHRhc2tfc3RydWN0ICpwLCB1MzIgKnNlY2lkKQoreworCSpzZWNpZCA9IDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0Z3JvdXBzKHN0cnVjdCBncm91cF9pbmZvICpncm91cF9pbmZvKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF90YXNrX2dldGlvcHJpbyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfc2V0cmxpbWl0KHVuc2lnbmVkIGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqbmV3X3JsaW0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3Rhc2tfZ2V0c2NoZWR1bGVyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19tb3ZlbWVtb3J5KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza193YWl0KHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfdGFza19raWxsKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgc3RydWN0IHNpZ2luZm8gKmluZm8sCisJCQkgaW50IHNpZywgdTMyIHNlY2lkKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfdGFza190b19pbm9kZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBpbm9kZSAqaW5vZGUpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2lwY19wZXJtaXNzaW9uKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCBzaG9ydCBmbGFnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfaXBjX2dldHNlY2lkKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCB1MzIgKnNlY2lkKQoreworCSpzZWNpZCA9IDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19tc2dfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IG1zZ19tc2cgKm1zZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX21zZ19tc2dfZnJlZV9zZWN1cml0eShzdHJ1Y3QgbXNnX21zZyAqbXNnKQoreworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQoreworfQorCitzdGF0aWMgaW50IGNhcF9tc2dfcXVldWVfYXNzb2NpYXRlKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgaW50IG1zcWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfbXNnX3F1ZXVlX21zZ2N0bChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9tc2dzbmQoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBzdHJ1Y3QgbXNnX21zZyAqbXNnLAorCQkJCWludCBtc2dmbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX21zZ19xdWV1ZV9tc2dyY3Yoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBzdHJ1Y3QgbXNnX21zZyAqbXNnLAorCQkJCXN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBsb25nIHR5cGUsIGludCBtb2RlKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfc2htX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zaG1fYXNzb2NpYXRlKHN0cnVjdCBzaG1pZF9rZXJuZWwgKnNocCwgaW50IHNobWZsZykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2htX3NobWN0bChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBjbWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NobV9zaG1hdChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGNoYXIgX191c2VyICpzaG1hZGRyLAorCQkJIGludCBzaG1mbGcpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9hbGxvY19zZWN1cml0eShzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zZW1fZnJlZV9zZWN1cml0eShzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NlbV9hc3NvY2lhdGUoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgc2VtZmxnKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zZW1fc2VtY3RsKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgaW50IGNtZCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc2VtX3NlbW9wKHN0cnVjdCBzZW1fYXJyYXkgKnNtYSwgc3RydWN0IHNlbWJ1ZiAqc29wcywKKwkJCSB1bnNpZ25lZCBuc29wcywgaW50IGFsdGVyKQoreworCXJldHVybiAwOworfQorCisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUksKK3N0YXRpYyBpbnQgY2FwX3VuaXhfc3RyZWFtX2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqb3RoZXIsCisJCQkJICAgc3RydWN0IHNvY2sgKm5ld3NrKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF91bml4X21heV9zZW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm90aGVyKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfY3JlYXRlKGludCBmYW1pbHksIGludCB0eXBlLCBpbnQgcHJvdG9jb2wsIGludCBrZXJuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfcG9zdF9jcmVhdGUoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGZhbWlseSwgaW50IHR5cGUsCisJCQkJICBpbnQgcHJvdG9jb2wsIGludCBrZXJuKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCisJCQkgICBpbnQgYWRkcmxlbikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2Nvbm5lY3Qoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2thZGRyICphZGRyZXNzLAorCQkJICAgICAgaW50IGFkZHJsZW4pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9saXN0ZW4oc3RydWN0IHNvY2tldCAqc29jaywgaW50IGJhY2tsb2cpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9hY2NlcHQoc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IHNvY2tldCAqbmV3c29jaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NvY2tldF9wb3N0X2FjY2VwdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrKQoreworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc2VuZG1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csIGludCBzaXplKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfcmVjdm1zZyhzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgbXNnaGRyICptc2csCisJCQkgICAgICBpbnQgc2l6ZSwgaW50IGZsYWdzKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfZ2V0c29ja25hbWUoc3RydWN0IHNvY2tldCAqc29jaykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHBlZXJuYW1lKHN0cnVjdCBzb2NrZXQgKnNvY2spCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9zZXRzb2Nrb3B0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRzb2Nrb3B0KHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBsZXZlbCwgaW50IG9wdG5hbWUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9zaHV0ZG93bihzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgaG93KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF9zb2NrZXRfc29ja19yY3Zfc2tiKHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNrX2J1ZmYgKnNrYikKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfc29ja2V0X2dldHBlZXJzZWNfc3RyZWFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssCisJCQkJCWNoYXIgX191c2VyICpvcHR2YWwsCisJCQkJCWludCBfX3VzZXIgKm9wdGxlbiwgdW5zaWduZWQgbGVuKQoreworCXJldHVybiAtRU5PUFJPVE9PUFQ7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3NvY2tldF9nZXRwZWVyc2VjX2RncmFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssCisJCQkJICAgICAgIHN0cnVjdCBza19idWZmICpza2IsIHUzMiAqc2VjaWQpCit7CisJcmV0dXJuIC1FTk9QUk9UT09QVDsKK30KKworc3RhdGljIGludCBjYXBfc2tfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHNvY2sgKnNrLCBpbnQgZmFtaWx5LCBnZnBfdCBwcmlvcml0eSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3NrX2ZyZWVfc2VjdXJpdHkoc3RydWN0IHNvY2sgKnNrKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfc2tfY2xvbmVfc2VjdXJpdHkoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29jayAqbmV3c2spCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9za19nZXRzZWNpZChzdHJ1Y3Qgc29jayAqc2ssIHUzMiAqc2VjaWQpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9zb2NrX2dyYWZ0KHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2tldCAqcGFyZW50KQoreworfQorCitzdGF0aWMgaW50IGNhcF9pbmV0X2Nvbm5fcmVxdWVzdChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsCisJCQkJIHN0cnVjdCByZXF1ZXN0X3NvY2sgKnJlcSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX2luZXRfY3NrX2Nsb25lKHN0cnVjdCBzb2NrICpuZXdzaywKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEpCit7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9pbmV0X2Nvbm5fZXN0YWJsaXNoZWQoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQoreworfQorCitzdGF0aWMgdm9pZCBjYXBfcmVxX2NsYXNzaWZ5X2Zsb3coY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxLAorCQkJCSAgc3RydWN0IGZsb3dpICpmbCkKK3sKK30KKyNlbmRpZgkvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSyAqLworCisjaWZkZWYgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQorc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqKmN0eHAsCisJCQkJCSAgc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpvbGRfY3R4LAorCQkJCQkgIHN0cnVjdCB4ZnJtX3NlY19jdHggKipuZXdfY3R4cCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2FwX3hmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQoreworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3N0YXRlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4LAorCQkJCQkgc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4LAorCQkJCQkgdTMyIHNlY2lkKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQoreworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3N0YXRlX2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfeGZybV9wb2xpY3lfbG9va3VwKHN0cnVjdCB4ZnJtX3NlY19jdHggKmN0eCwgdTMyIHNrX3NpZCwgdTggZGlyKQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNhcF94ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKHN0cnVjdCB4ZnJtX3N0YXRlICp4LAorCQkJCQkgc3RydWN0IHhmcm1fcG9saWN5ICp4cCwKKwkJCQkJIHN0cnVjdCBmbG93aSAqZmwpCit7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgY2FwX3hmcm1fZGVjb2RlX3Nlc3Npb24oc3RydWN0IHNrX2J1ZmYgKnNrYiwgdTMyICpmbCwgaW50IGNrYWxsKQoreworCXJldHVybiAwOworfQorCisjZW5kaWYgLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLworc3RhdGljIHZvaWQgY2FwX2RfaW5zdGFudGlhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoreworfQorCitzdGF0aWMgaW50IGNhcF9nZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNoYXIgKm5hbWUsIGNoYXIgKip2YWx1ZSkKK3sKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIGludCBjYXBfc2V0cHJvY2F0dHIoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBjaGFyICpuYW1lLCB2b2lkICp2YWx1ZSwKKwkJCSAgIHNpemVfdCBzaXplKQoreworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IGNhcF9zZWNpZF90b19zZWNjdHgodTMyIHNlY2lkLCBjaGFyICoqc2VjZGF0YSwgdTMyICpzZWNsZW4pCit7CisJcmV0dXJuIC1FT1BOT1RTVVBQOworfQorCitzdGF0aWMgaW50IGNhcF9zZWNjdHhfdG9fc2VjaWQoY29uc3QgY2hhciAqc2VjZGF0YSwgdTMyIHNlY2xlbiwgdTMyICpzZWNpZCkKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9yZWxlYXNlX3NlY2N0eChjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuKQoreworfQorCisjaWZkZWYgQ09ORklHX0tFWVMKK3N0YXRpYyBpbnQgY2FwX2tleV9hbGxvYyhzdHJ1Y3Qga2V5ICprZXksIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3R4LAorCQkJIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGNhcF9rZXlfZnJlZShzdHJ1Y3Qga2V5ICprZXkpCit7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2tleV9wZXJtaXNzaW9uKGtleV9yZWZfdCBrZXlfcmVmLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNvbnRleHQsCisJCQkgICAgICBrZXlfcGVybV90IHBlcm0pCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2tleV9nZXRzZWN1cml0eShzdHJ1Y3Qga2V5ICprZXksIGNoYXIgKipfYnVmZmVyKQoreworCSpfYnVmZmVyID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworI2VuZGlmIC8qIENPTkZJR19LRVlTICovCisKKyNpZmRlZiBDT05GSUdfQVVESVQKK3N0YXRpYyBpbnQgY2FwX2F1ZGl0X3J1bGVfaW5pdCh1MzIgZmllbGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwgdm9pZCAqKmxzbXJ1bGUpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2FwX2F1ZGl0X3J1bGVfa25vd24oc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSkKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjYXBfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2VjaWQsIHUzMiBmaWVsZCwgdTMyIG9wLCB2b2lkICpsc21ydWxlLAorCQkJCXN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQoreworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBjYXBfYXVkaXRfcnVsZV9mcmVlKHZvaWQgKmxzbXJ1bGUpCit7Cit9CisjZW5kaWYgLyogQ09ORklHX0FVRElUICovCisKK3N0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGRlZmF1bHRfc2VjdXJpdHlfb3BzID0geworCS5uYW1lCT0gImRlZmF1bHQiLAorfTsKKworI2RlZmluZSBzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmdW5jdGlvbikJCQkJXAorCWRvIHsJCQkJCQkJCVwKKwkJaWYgKCFvcHMtPmZ1bmN0aW9uKSB7CQkJCQlcCisJCQlvcHMtPmZ1bmN0aW9uID0gY2FwXyMjZnVuY3Rpb247CQkJXAorCQkJcHJfZGVidWcoIkhhZCB0byBvdmVycmlkZSB0aGUgIiAjZnVuY3Rpb24JXAorCQkJCSAiIHNlY3VyaXR5IG9wZXJhdGlvbiB3aXRoIHRoZSBkZWZhdWx0LlxuIik7XAorCQkJfQkJCQkJCVwKKwl9IHdoaWxlICgwKQorCit2b2lkIHNlY3VyaXR5X2ZpeHVwX29wcyhzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQoreworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHB0cmFjZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgY2FwZ2V0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBjYXBzZXRfY2hlY2spOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcHNldF9zZXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGFjY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGNhcGFibGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHF1b3RhY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBxdW90YV9vbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc3lzY3RsKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzeXNsb2cpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNldHRpbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHZtX2Vub3VnaF9tZW1vcnkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGJwcm1fZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9hcHBseV9jcmVkcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9wb3N0X2FwcGx5X2NyZWRzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBicHJtX3NldF9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9jaGVja19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgYnBybV9zZWN1cmVleGVjKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfY29weV9kYXRhKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9rZXJuX21vdW50KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9zaG93X29wdGlvbnMpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3N0YXRmcyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfbW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX2NoZWNrX3NiKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl91bW91bnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9jbG9zZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfdW1vdW50X2J1c3kpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNiX3Bvc3RfcmVtb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcG9zdF9hZGRtb3VudCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcGl2b3Ryb290KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9wb3N0X3Bpdm90cm9vdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2Jfc2V0X21udF9vcHRzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzYl9jbG9uZV9tbnRfb3B0cyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2JfcGFyc2Vfb3B0c19zdHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9pbml0X3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2xpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3VubGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfc3ltbGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfbWtkaXIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JtZGlyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9ta25vZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfcmVuYW1lKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9yZWFkbGluayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZm9sbG93X2xpbmspOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3NldGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2RlbGV0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfc2V0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3Bvc3Rfc2V0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldHhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9saXN0eGF0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3JlbW92ZXhhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9uZWVkX2tpbGxwcml2KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9raWxscHJpdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5vZGVfZ2V0c2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX3NldHNlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbm9kZV9saXN0c2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9pb2N0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9tbWFwKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX21wcm90ZWN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBmaWxlX2xvY2spOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfZmNudGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGZpbGVfc2V0X2Zvd25lcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9zZW5kX3NpZ2lvdGFzayk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZmlsZV9yZWNlaXZlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBkZW50cnlfb3Blbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19jcmVhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXR1aWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfcG9zdF9zZXR1aWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldHBnaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0cGdpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19nZXRzaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0Z3JvdXBzKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3NldG5pY2UpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0aW9wcmlvKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldGlvcHJpbyk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19zZXRybGltaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfc2V0c2NoZWR1bGVyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX2dldHNjaGVkdWxlcik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19tb3ZlbWVtb3J5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3dhaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHRhc2tfa2lsbCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19wcmN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdGFza19yZXBhcmVudF90b19pbml0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB0YXNrX3RvX2lub2RlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpcGNfcGVybWlzc2lvbik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaXBjX2dldHNlY2lkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfbXNnX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBtc2dfbXNnX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9hc3NvY2lhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2djdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dzbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dyY3YpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9hbGxvY19zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2htX2ZyZWVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9hc3NvY2lhdGUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9zaG1jdGwpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNobV9zaG1hdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZW1fZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX2Fzc29jaWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX3NlbWN0bCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2VtX3NlbW9wKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBuZXRsaW5rX3NlbmQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIG5ldGxpbmtfcmVjdik7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZF9pbnN0YW50aWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgZ2V0cHJvY2F0dHIpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNldHByb2NhdHRyKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzZWNpZF90b19zZWNjdHgpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNlY2N0eF90b19zZWNpZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgcmVsZWFzZV9zZWNjdHgpOworI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdW5peF9zdHJlYW1fY29ubmVjdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgdW5peF9tYXlfc2VuZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2NyZWF0ZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3Bvc3RfY3JlYXRlKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfYmluZCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2Nvbm5lY3QpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9saXN0ZW4pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9hY2NlcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2FjY2VwdCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NlbmRtc2cpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9yZWN2bXNnKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja25hbWUpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVybmFtZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X3NldHNvY2tvcHQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRzb2Nrb3B0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBzb2NrZXRfc2h1dGRvd24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9zb2NrX3Jjdl9za2IpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX3N0cmVhbSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJzZWNfZGdyYW0pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNrX2FsbG9jX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBza19jbG9uZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgc2tfZ2V0c2VjaWQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHNvY2tfZ3JhZnQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGluZXRfY29ubl9yZXF1ZXN0KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBpbmV0X2Nza19jbG9uZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgaW5ldF9jb25uX2VzdGFibGlzaGVkKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCByZXFfY2xhc3NpZnlfZmxvdyk7CisjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KKyNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2Nsb25lX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9mcmVlX3NlY3VyaXR5KTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfYWxsb2Nfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfZnJlZV9zZWN1cml0eSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIHhmcm1fcG9saWN5X2xvb2t1cCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9wb2xfZmxvd19tYXRjaCk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywgeGZybV9kZWNvZGVfc2Vzc2lvbik7CisjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLworI2lmZGVmIENPTkZJR19LRVlTCisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X2FsbG9jKTsKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBrZXlfZnJlZSk7CisJc2V0X3RvX2NhcF9pZl9udWxsKG9wcywga2V5X3Blcm1pc3Npb24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGtleV9nZXRzZWN1cml0eSk7CisjZW5kaWYJLyogQ09ORklHX0tFWVMgKi8KKyNpZmRlZiBDT05GSUdfQVVESVQKKwlzZXRfdG9fY2FwX2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2luaXQpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfa25vd24pOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfbWF0Y2gpOworCXNldF90b19jYXBfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfZnJlZSk7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2NvbW1vbmNhcC5jIGIvc2VjdXJpdHkvY29tbW9uY2FwLmMKaW5kZXggMzNkMzQzMy4uMGI2NTM3YSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvY29tbW9uY2FwLmMKKysrIGIvc2VjdXJpdHkvY29tbW9uY2FwLmMKQEAgLTYzLDcgKzYzLDggQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IGNhcF9wdHJhY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQoraW50IGNhcF9wdHJhY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQl1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAkvKiBEZXJpdmVkIGZyb20gYXJjaC9pMzg2L2tlcm5lbC9wdHJhY2UuYzpzeXNfcHRyYWNlLiAqLwogCWlmICghY2FwX2lzc3Vic2V0KGNoaWxkLT5jYXBfcGVybWl0dGVkLCBwYXJlbnQtPmNhcF9wZXJtaXR0ZWQpICYmCmRpZmYgLS1naXQgYS9zZWN1cml0eS9kZXZpY2VfY2dyb3VwLmMgYi9zZWN1cml0eS9kZXZpY2VfY2dyb3VwLmMKaW5kZXggZmQ3NjRhMC4uZGRkOTJjZSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvZGV2aWNlX2Nncm91cC5jCisrKyBiL3NlY3VyaXR5L2RldmljZV9jZ3JvdXAuYwpAQCAtMjIyLDcgKzIyMiw3IEBACiAjZGVmaW5lIERFVkNHX0RFTlkgMgogI2RlZmluZSBERVZDR19MSVNUIDMKIAotI2RlZmluZSBNQUpNSU5MRU4gMTAKKyNkZWZpbmUgTUFKTUlOTEVOIDEzCiAjZGVmaW5lIEFDQ0xFTiA0CiAKIHN0YXRpYyB2b2lkIHNldF9hY2Nlc3MoY2hhciAqYWNjLCBzaG9ydCBhY2Nlc3MpCkBAIC0yNTQsNyArMjU0LDcgQEAKIAlpZiAobSA9PSB+MCkKIAkJc3ByaW50ZihzdHIsICIqIik7CiAJZWxzZQotCQlzbnByaW50ZihzdHIsIE1BSk1JTkxFTiwgIiVkIiwgbSk7CisJCXNucHJpbnRmKHN0ciwgTUFKTUlOTEVOLCAiJXUiLCBtKTsKIH0KIAogc3RhdGljIGludCBkZXZjZ3JvdXBfc2VxX3JlYWQoc3RydWN0IGNncm91cCAqY2dyb3VwLCBzdHJ1Y3QgY2Z0eXBlICpjZnQsCkBAIC0zMDAsNyArMzAwLDcgQEAKIAkJCWNvbnRpbnVlOwogCQlpZiAod2hpdGVtLT5taW5vciAhPSB+MCAmJiB3aGl0ZW0tPm1pbm9yICE9IHJlZndoLT5taW5vcikKIAkJCWNvbnRpbnVlOwotCQlpZiAocmVmd2gtPmFjY2VzcyAmICh+KHdoaXRlbS0+YWNjZXNzIHwgQUNDX01BU0spKSkKKwkJaWYgKHJlZndoLT5hY2Nlc3MgJiAofndoaXRlbS0+YWNjZXNzKSkKIAkJCWNvbnRpbnVlOwogCQlyZXR1cm4gMTsKIAl9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9kdW1teS5jIGIvc2VjdXJpdHkvZHVtbXkuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg5MTY4OC4uMDAwMDAwMAotLS0gYS9zZWN1cml0eS9kdW1teS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTI1MSArMCwwIEBACi0vKgotICogU3R1YiBmdW5jdGlvbnMgZm9yIHRoZSBkZWZhdWx0IHNlY3VyaXR5IGZ1bmN0aW9uIHBvaW50ZXJzIGluIGNhc2Ugbm8KLSAqIHNlY3VyaXR5IG1vZGVsIGlzIGxvYWRlZC4KLSAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgV2lyZVggQ29tbXVuaWNhdGlvbnMsIEluYyA8Y2hyaXNAd2lyZXguY29tPgotICogQ29weXJpZ2h0IChDKSAyMDAxLTIwMDIgIEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ0Brcm9haC5jb20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDEgTmV0d29ya3MgQXNzb2NpYXRlcyBUZWNobm9sb2d5LCBJbmMgPHNzbWFsbGV5QG5haS5jb20+Ci0gKgotICoJVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqCWl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKgl0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICoJKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqLwotCi0jdW5kZWYgREVCVUcKLQotI2luY2x1ZGUgPGxpbnV4L2NhcGFiaWxpdHkuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNsdWRlIDxsaW51eC9tbWFuLmg+Ci0jaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgotI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KLSNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgotI2luY2x1ZGUgPGxpbnV4L3NrYnVmZi5oPgotI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KLSNpbmNsdWRlIDxuZXQvc29jay5oPgotI2luY2x1ZGUgPGxpbnV4L3hhdHRyLmg+Ci0jaW5jbHVkZSA8bGludXgvaHVnZXRsYi5oPgotI2luY2x1ZGUgPGxpbnV4L3B0cmFjZS5oPgotI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KLSNpbmNsdWRlIDxsaW51eC9wcmN0bC5oPgotI2luY2x1ZGUgPGxpbnV4L3NlY3VyZWJpdHMuaD4KLQotc3RhdGljIGludCBkdW1teV9wdHJhY2UgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2NhcGdldCAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsIGtlcm5lbF9jYXBfdCAqIGVmZmVjdGl2ZSwKLQkJCSBrZXJuZWxfY2FwX3QgKiBpbmhlcml0YWJsZSwga2VybmVsX2NhcF90ICogcGVybWl0dGVkKQotewotCWlmICh0YXJnZXQtPmV1aWQgPT0gMCkgewotCQljYXBfc2V0X2Z1bGwoKnBlcm1pdHRlZCk7Ci0JCWNhcF9zZXRfaW5pdF9lZmYoKmVmZmVjdGl2ZSk7Ci0JfSBlbHNlIHsKLQkJY2FwX2NsZWFyKCpwZXJtaXR0ZWQpOwotCQljYXBfY2xlYXIoKmVmZmVjdGl2ZSk7Ci0JfQotCi0JY2FwX2NsZWFyKCppbmhlcml0YWJsZSk7Ci0KLQlpZiAodGFyZ2V0LT5mc3VpZCAhPSAwKSB7Ci0JCSpwZXJtaXR0ZWQgPSBjYXBfZHJvcF9mc19zZXQoKnBlcm1pdHRlZCk7Ci0JCSplZmZlY3RpdmUgPSBjYXBfZHJvcF9mc19zZXQoKmVmZmVjdGl2ZSk7Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2NhcHNldF9jaGVjayAoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsCi0JCQkgICAgICAga2VybmVsX2NhcF90ICogZWZmZWN0aXZlLAotCQkJICAgICAgIGtlcm5lbF9jYXBfdCAqIGluaGVyaXRhYmxlLAotCQkJICAgICAgIGtlcm5lbF9jYXBfdCAqIHBlcm1pdHRlZCkKLXsKLQlyZXR1cm4gLUVQRVJNOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9jYXBzZXRfc2V0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKLQkJCSAgICAgIGtlcm5lbF9jYXBfdCAqIGVmZmVjdGl2ZSwKLQkJCSAgICAgIGtlcm5lbF9jYXBfdCAqIGluaGVyaXRhYmxlLAotCQkJICAgICAga2VybmVsX2NhcF90ICogcGVybWl0dGVkKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9hY2N0IChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9jYXBhYmxlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywgaW50IGNhcCkKLXsKLQlpZiAoY2FwX3JhaXNlZCAodHNrLT5jYXBfZWZmZWN0aXZlLCBjYXApKQotCQlyZXR1cm4gMDsKLQlyZXR1cm4gLUVQRVJNOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3N5c2N0bCAoY3RsX3RhYmxlICogdGFibGUsIGludCBvcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9xdW90YWN0bCAoaW50IGNtZHMsIGludCB0eXBlLCBpbnQgaWQsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfcXVvdGFfb24gKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zeXNsb2cgKGludCB0eXBlKQotewotCWlmICgodHlwZSAhPSAzICYmIHR5cGUgIT0gMTApICYmIGN1cnJlbnQtPmV1aWQpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2V0dGltZShzdHJ1Y3QgdGltZXNwZWMgKnRzLCBzdHJ1Y3QgdGltZXpvbmUgKnR6KQotewotCWlmICghY2FwYWJsZShDQVBfU1lTX1RJTUUpKQotCQlyZXR1cm4gLUVQRVJNOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3ZtX2Vub3VnaF9tZW1vcnkoc3RydWN0IG1tX3N0cnVjdCAqbW0sIGxvbmcgcGFnZXMpCi17Ci0JaW50IGNhcF9zeXNfYWRtaW4gPSAwOwotCi0JaWYgKGR1bW15X2NhcGFibGUoY3VycmVudCwgQ0FQX1NZU19BRE1JTikgPT0gMCkKLQkJY2FwX3N5c19hZG1pbiA9IDE7Ci0JcmV0dXJuIF9fdm1fZW5vdWdoX21lbW9yeShtbSwgcGFnZXMsIGNhcF9zeXNfYWRtaW4pOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2Jwcm1fZnJlZV9zZWN1cml0eSAoc3RydWN0IGxpbnV4X2JpbnBybSAqYnBybSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2Jwcm1fYXBwbHlfY3JlZHMgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0sIGludCB1bnNhZmUpCi17Ci0JaWYgKGJwcm0tPmVfdWlkICE9IGN1cnJlbnQtPnVpZCB8fCBicHJtLT5lX2dpZCAhPSBjdXJyZW50LT5naWQpIHsKLQkJc2V0X2R1bXBhYmxlKGN1cnJlbnQtPm1tLCBzdWlkX2R1bXBhYmxlKTsKLQotCQlpZiAoKHVuc2FmZSAmIH5MU01fVU5TQUZFX1BUUkFDRV9DQVApICYmICFjYXBhYmxlKENBUF9TRVRVSUQpKSB7Ci0JCQlicHJtLT5lX3VpZCA9IGN1cnJlbnQtPnVpZDsKLQkJCWJwcm0tPmVfZ2lkID0gY3VycmVudC0+Z2lkOwotCQl9Ci0JfQotCi0JY3VycmVudC0+c3VpZCA9IGN1cnJlbnQtPmV1aWQgPSBjdXJyZW50LT5mc3VpZCA9IGJwcm0tPmVfdWlkOwotCWN1cnJlbnQtPnNnaWQgPSBjdXJyZW50LT5lZ2lkID0gY3VycmVudC0+ZnNnaWQgPSBicHJtLT5lX2dpZDsKLQotCWR1bW15X2NhcGdldChjdXJyZW50LCAmY3VycmVudC0+Y2FwX2VmZmVjdGl2ZSwgJmN1cnJlbnQtPmNhcF9pbmhlcml0YWJsZSwgJmN1cnJlbnQtPmNhcF9wZXJtaXR0ZWQpOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9icHJtX3Bvc3RfYXBwbHlfY3JlZHMgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fc2V0X3NlY3VyaXR5IChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2Jwcm1fY2hlY2tfc2VjdXJpdHkgKHN0cnVjdCBsaW51eF9iaW5wcm0gKmJwcm0pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfYnBybV9zZWN1cmVleGVjIChzdHJ1Y3QgbGludXhfYmlucHJtICpicHJtKQotewotCS8qIFRoZSBuZXcgdXNlcmxhbmQgd2lsbCBzaW1wbHkgdXNlIHRoZSB2YWx1ZSBwcm92aWRlZAotCSAgIGluIHRoZSBBVF9TRUNVUkUgZmllbGQgdG8gZGVjaWRlIHdoZXRoZXIgc2VjdXJlIG1vZGUKLQkgICBpcyByZXF1aXJlZC4gIEhlbmNlLCB0aGlzIGxvZ2ljIGlzIHJlcXVpcmVkIHRvIHByZXNlcnZlCi0JICAgdGhlIGxlZ2FjeSBkZWNpc2lvbiBhbGdvcml0aG0gdXNlZCBieSB0aGUgb2xkIHVzZXJsYW5kLiAqLwotCXJldHVybiAoY3VycmVudC0+ZXVpZCAhPSBjdXJyZW50LT51aWQgfHwKLQkJY3VycmVudC0+ZWdpZCAhPSBjdXJyZW50LT5naWQpOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9mcmVlX3NlY3VyaXR5IChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9jb3B5X2RhdGEgKGNoYXIgKm9yaWcsIGNoYXIgKmNvcHkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2Jfa2Vybl9tb3VudCAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9zdGF0ZnMgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9tb3VudCAoY2hhciAqZGV2X25hbWUsIHN0cnVjdCBwYXRoICpwYXRoLCBjaGFyICp0eXBlLAotCQkJICAgdW5zaWduZWQgbG9uZyBmbGFncywgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9jaGVja19zYiAoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3Vtb3VudCAoc3RydWN0IHZmc21vdW50ICptbnQsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfdW1vdW50X2Nsb3NlIChzdHJ1Y3QgdmZzbW91bnQgKm1udCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Vtb3VudF9idXN5IChzdHJ1Y3QgdmZzbW91bnQgKm1udCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX3Bvc3RfcmVtb3VudCAoc3RydWN0IHZmc21vdW50ICptbnQsIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCi0JCQkJICAgdm9pZCAqZGF0YSkKLXsKLQlyZXR1cm47Ci19Ci0KLQotc3RhdGljIHZvaWQgZHVtbXlfc2JfcG9zdF9hZGRtb3VudCAoc3RydWN0IHZmc21vdW50ICptbnQsIHN0cnVjdCBwYXRoICpwYXRoKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9waXZvdHJvb3QgKHN0cnVjdCBwYXRoICpvbGRfcGF0aCwgc3RydWN0IHBhdGggKm5ld19wYXRoKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zYl9wb3N0X3Bpdm90cm9vdCAoc3RydWN0IHBhdGggKm9sZF9wYXRoLCBzdHJ1Y3QgcGF0aCAqbmV3X3BhdGgpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX2dldF9tbnRfb3B0cyhjb25zdCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLAotCQkJCSBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCi17Ci0Jc2VjdXJpdHlfaW5pdF9tbnRfb3B0cyhvcHRzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKLQkJCQkgc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCWlmICh1bmxpa2VseShvcHRzLT5udW1fbW50X29wdHMpKQotCQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NiX2Nsb25lX21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqb2xkc2IsCi0JCQkJICAgIHN0cnVjdCBzdXBlcl9ibG9jayAqbmV3c2IpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NiX3BhcnNlX29wdHNfc3RyKGNoYXIgKm9wdGlvbnMsIHN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyAqb3B0cykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9hbGxvY19zZWN1cml0eSAoc3RydWN0IGlub2RlICppbm9kZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfZnJlZV9zZWN1cml0eSAoc3RydWN0IGlub2RlICppbm9kZSkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfaW5pdF9zZWN1cml0eSAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGlub2RlICpkaXIsCi0JCQkJICAgICAgY2hhciAqKm5hbWUsIHZvaWQgKip2YWx1ZSwgc2l6ZV90ICpsZW4pCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2NyZWF0ZSAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJICAgICAgIGludCBtYXNrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2xpbmsgKHN0cnVjdCBkZW50cnkgKm9sZF9kZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCi0JCQkgICAgIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfdW5saW5rIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc3ltbGluayAoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJCWNvbnN0IGNoYXIgKm5hbWUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbWtkaXIgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCSAgICAgIGludCBtYXNrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3JtZGlyIChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfbWtub2QgKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKLQkJCSAgICAgIGludCBtb2RlLCBkZXZfdCBkZXYpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcmVuYW1lIChzdHJ1Y3QgaW5vZGUgKm9sZF9pbm9kZSwKLQkJCSAgICAgICBzdHJ1Y3QgZGVudHJ5ICpvbGRfZGVudHJ5LAotCQkJICAgICAgIHN0cnVjdCBpbm9kZSAqbmV3X2lub2RlLAotCQkJICAgICAgIHN0cnVjdCBkZW50cnkgKm5ld19kZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcmVhZGxpbmsgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9mb2xsb3dfbGluayAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LAotCQkJCSAgICBzdHJ1Y3QgbmFtZWlkYXRhICpuYW1laWRhdGEpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfcGVybWlzc2lvbiAoc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1hc2ssIHN0cnVjdCBuYW1laWRhdGEgKm5kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX3NldGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlhdHRyICppYXR0cikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9nZXRhdHRyIChzdHJ1Y3QgdmZzbW91bnQgKm1udCwgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pbm9kZV9kZWxldGUgKHN0cnVjdCBpbm9kZSAqaW5vKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9zZXR4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lLAotCQkJCSBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGludCBmbGFncykKLXsKLQlpZiAoIXN0cm5jbXAobmFtZSwgWEFUVFJfU0VDVVJJVFlfUFJFRklYLAotCQkgICAgIHNpemVvZihYQVRUUl9TRUNVUklUWV9QUkVGSVgpIC0gMSkgJiYKLQkgICAgIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X2lub2RlX3Bvc3Rfc2V0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKLQkJCQkgICAgICAgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLAotCQkJCSAgICAgICBpbnQgZmxhZ3MpCi17Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZ2V0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9saXN0eGF0dHIgKHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9yZW1vdmV4YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25zdCBjaGFyICpuYW1lKQotewotCWlmICghc3RybmNtcChuYW1lLCBYQVRUUl9TRUNVUklUWV9QUkVGSVgsCi0JCSAgICAgc2l6ZW9mKFhBVFRSX1NFQ1VSSVRZX1BSRUZJWCkgLSAxKSAmJgotCSAgICAhY2FwYWJsZShDQVBfU1lTX0FETUlOKSkKLQkJcmV0dXJuIC1FUEVSTTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9uZWVkX2tpbGxwcml2KHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9pbm9kZV9raWxscHJpdihzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfZ2V0c2VjdXJpdHkoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwgdm9pZCAqKmJ1ZmZlciwgYm9vbCBhbGxvYykKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaW5vZGVfc2V0c2VjdXJpdHkoc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwgY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBpbnQgZmxhZ3MpCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2lub2RlX2xpc3RzZWN1cml0eShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjaGFyICpidWZmZXIsIHNpemVfdCBidWZmZXJfc2l6ZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfaW5vZGVfZ2V0c2VjaWQoY29uc3Qgc3RydWN0IGlub2RlICppbm9kZSwgdTMyICpzZWNpZCkKLXsKLQkqc2VjaWQgPSAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfcGVybWlzc2lvbiAoc3RydWN0IGZpbGUgKmZpbGUsIGludCBtYXNrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfYWxsb2Nfc2VjdXJpdHkgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9maWxlX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBmaWxlICpmaWxlKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2lvY3RsIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNvbW1hbmQsCi0JCQkgICAgIHVuc2lnbmVkIGxvbmcgYXJnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfbW1hcCAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKLQkJCSAgICB1bnNpZ25lZCBsb25nIHByb3QsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBmbGFncywKLQkJCSAgICB1bnNpZ25lZCBsb25nIGFkZHIsCi0JCQkgICAgdW5zaWduZWQgbG9uZyBhZGRyX29ubHkpCi17Ci0JaWYgKChhZGRyIDwgbW1hcF9taW5fYWRkcikgJiYgIWNhcGFibGUoQ0FQX1NZU19SQVdJTykpCi0JCXJldHVybiAtRUFDQ0VTOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2ZpbGVfbXByb3RlY3QgKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAotCQkJCXVuc2lnbmVkIGxvbmcgcmVxcHJvdCwKLQkJCQl1bnNpZ25lZCBsb25nIHByb3QpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9sb2NrIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX2ZjbnRsIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBhcmcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9zZXRfZm93bmVyIChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9maWxlX3NlbmRfc2lnaW90YXNrIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywKLQkJCQkgICAgICBzdHJ1Y3QgZm93bl9zdHJ1Y3QgKmZvd24sIGludCBzaWcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfZmlsZV9yZWNlaXZlIChzdHJ1Y3QgZmlsZSAqZmlsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9kZW50cnlfb3BlbiAoc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19jcmVhdGUgKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3MpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19hbGxvY19zZWN1cml0eSAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXR1aWQgKHVpZF90IGlkMCwgdWlkX3QgaWQxLCB1aWRfdCBpZDIsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3Bvc3Rfc2V0dWlkICh1aWRfdCBpZDAsIHVpZF90IGlkMSwgdWlkX3QgaWQyLCBpbnQgZmxhZ3MpCi17Ci0JZHVtbXlfY2FwZ2V0KGN1cnJlbnQsICZjdXJyZW50LT5jYXBfZWZmZWN0aXZlLCAmY3VycmVudC0+Y2FwX2luaGVyaXRhYmxlLCAmY3VycmVudC0+Y2FwX3Blcm1pdHRlZCk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRnaWQgKGdpZF90IGlkMCwgZ2lkX3QgaWQxLCBnaWRfdCBpZDIsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHBnaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgcGlkX3QgcGdpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldHBnaWQgKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX2dldHNpZCAoc3RydWN0IHRhc2tfc3RydWN0ICpwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV90YXNrX2dldHNlY2lkIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHUzMiAqc2VjaWQpCi17Ci0JKnNlY2lkID0gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldGdyb3VwcyAoc3RydWN0IGdyb3VwX2luZm8gKmdyb3VwX2luZm8pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19zZXRuaWNlIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBuaWNlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfc2V0aW9wcmlvIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBpb3ByaW8pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19nZXRpb3ByaW8gKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHJsaW1pdCAodW5zaWduZWQgaW50IHJlc291cmNlLCBzdHJ1Y3QgcmxpbWl0ICpuZXdfcmxpbSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3NldHNjaGVkdWxlciAoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgcG9saWN5LAotCQkJCSAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKmxwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3Rhc2tfZ2V0c2NoZWR1bGVyIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19tb3ZlbWVtb3J5IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza193YWl0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfdGFza19raWxsIChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIHN0cnVjdCBzaWdpbmZvICppbmZvLAotCQkJICAgIGludCBzaWcsIHUzMiBzZWNpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV90YXNrX3ByY3RsIChpbnQgb3B0aW9uLCB1bnNpZ25lZCBsb25nIGFyZzIsIHVuc2lnbmVkIGxvbmcgYXJnMywKLQkJCSAgICAgdW5zaWduZWQgbG9uZyBhcmc0LCB1bnNpZ25lZCBsb25nIGFyZzUsIGxvbmcgKnJjX3ApCi17Ci0Jc3dpdGNoIChvcHRpb24pIHsKLQljYXNlIFBSX0NBUEJTRVRfUkVBRDoKLQkJKnJjX3AgPSAoY2FwX3ZhbGlkKGFyZzIpID8gMSA6IC1FSU5WQUwpOwotCQlicmVhazsKLQljYXNlIFBSX0dFVF9LRUVQQ0FQUzoKLQkJKnJjX3AgPSBpc3NlY3VyZShTRUNVUkVfS0VFUF9DQVBTKTsKLQkJYnJlYWs7Ci0JY2FzZSBQUl9TRVRfS0VFUENBUFM6Ci0JCWlmIChhcmcyID4gMSkKLQkJCSpyY19wID0gLUVJTlZBTDsKLQkJZWxzZSBpZiAoYXJnMikKLQkJCWN1cnJlbnQtPnNlY3VyZWJpdHMgfD0gaXNzZWN1cmVfbWFzayhTRUNVUkVfS0VFUF9DQVBTKTsKLQkJZWxzZQotCQkJY3VycmVudC0+c2VjdXJlYml0cyAmPQotCQkJCX5pc3NlY3VyZV9tYXNrKFNFQ1VSRV9LRUVQX0NBUFMpOwotCQlicmVhazsKLQlkZWZhdWx0OgotCQlyZXR1cm4gMDsKLQl9Ci0KLQlyZXR1cm4gMTsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfdGFza19yZXBhcmVudF90b19pbml0IChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnApCi17Ci0JcC0+ZXVpZCA9IHAtPmZzdWlkID0gMDsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3Rhc2tfdG9faW5vZGUoc3RydWN0IHRhc2tfc3RydWN0ICpwLCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQoteyB9Ci0KLXN0YXRpYyBpbnQgZHVtbXlfaXBjX3Blcm1pc3Npb24gKHN0cnVjdCBrZXJuX2lwY19wZXJtICppcGNwLCBzaG9ydCBmbGFnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9pcGNfZ2V0c2VjaWQoc3RydWN0IGtlcm5faXBjX3Blcm0gKmlwY3AsIHUzMiAqc2VjaWQpCi17Ci0JKnNlY2lkID0gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfbXNnX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3QgbXNnX21zZyAqbXNnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9tc2dfbXNnX2ZyZWVfc2VjdXJpdHkgKHN0cnVjdCBtc2dfbXNnICptc2cpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9hbGxvY19zZWN1cml0eSAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9tc2dfcXVldWVfZnJlZV9zZWN1cml0eSAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9tc2dfcXVldWVfYXNzb2NpYXRlIChzdHJ1Y3QgbXNnX3F1ZXVlICptc3EsIAotCQkJCSAgICAgIGludCBtc3FmbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfbXNnX3F1ZXVlX21zZ2N0bCAoc3RydWN0IG1zZ19xdWV1ZSAqbXNxLCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9tc2dzbmQgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKLQkJCQkgICBpbnQgbXNnZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X21zZ19xdWV1ZV9tc2dyY3YgKHN0cnVjdCBtc2dfcXVldWUgKm1zcSwgc3RydWN0IG1zZ19tc2cgKm1zZywKLQkJCQkgICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwgbG9uZyB0eXBlLAotCQkJCSAgIGludCBtb2RlKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9hbGxvY19zZWN1cml0eSAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zaG1fZnJlZV9zZWN1cml0eSAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zaG1fYXNzb2NpYXRlIChzdHJ1Y3Qgc2htaWRfa2VybmVsICpzaHAsIGludCBzaG1mbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2htX3NobWN0bCAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NobV9zaG1hdCAoc3RydWN0IHNobWlkX2tlcm5lbCAqc2hwLCBjaGFyIF9fdXNlciAqc2htYWRkciwKLQkJCSAgICBpbnQgc2htZmxnKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9hbGxvY19zZWN1cml0eSAoc3RydWN0IHNlbV9hcnJheSAqc21hKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9zZW1fZnJlZV9zZWN1cml0eSAoc3RydWN0IHNlbV9hcnJheSAqc21hKQotewotCXJldHVybjsKLX0KLQotc3RhdGljIGludCBkdW1teV9zZW1fYXNzb2NpYXRlIChzdHJ1Y3Qgc2VtX2FycmF5ICpzbWEsIGludCBzZW1mbGcpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VtX3NlbWN0bCAoc3RydWN0IHNlbV9hcnJheSAqc21hLCBpbnQgY21kKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlbV9zZW1vcCAoc3RydWN0IHNlbV9hcnJheSAqc21hLCAKLQkJCSAgICBzdHJ1Y3Qgc2VtYnVmICpzb3BzLCB1bnNpZ25lZCBuc29wcywgaW50IGFsdGVyKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X25ldGxpbmtfc2VuZCAoc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQotewotCU5FVExJTktfQ0Ioc2tiKS5lZmZfY2FwID0gY3VycmVudC0+Y2FwX2VmZmVjdGl2ZTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9uZXRsaW5rX3JlY3YgKHN0cnVjdCBza19idWZmICpza2IsIGludCBjYXApCi17Ci0JaWYgKCFjYXBfcmFpc2VkIChORVRMSU5LX0NCIChza2IpLmVmZl9jYXAsIGNhcCkpCi0JCXJldHVybiAtRVBFUk07Ci0JcmV0dXJuIDA7Ci19Ci0KLSNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SSwotc3RhdGljIGludCBkdW1teV91bml4X3N0cmVhbV9jb25uZWN0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLAotCQkJCSAgICAgIHN0cnVjdCBzb2NrZXQgKm90aGVyLAotCQkJCSAgICAgIHN0cnVjdCBzb2NrICpuZXdzaykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV91bml4X21heV9zZW5kIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLAotCQkJCXN0cnVjdCBzb2NrZXQgKm90aGVyKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9jcmVhdGUgKGludCBmYW1pbHksIGludCB0eXBlLAotCQkJCWludCBwcm90b2NvbCwgaW50IGtlcm4pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3Bvc3RfY3JlYXRlIChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgZmFtaWx5LCBpbnQgdHlwZSwKLQkJCQkgICAgIGludCBwcm90b2NvbCwgaW50IGtlcm4pCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2JpbmQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkcmVzcywKLQkJCSAgICAgIGludCBhZGRybGVuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9jb25uZWN0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKmFkZHJlc3MsCi0JCQkJIGludCBhZGRybGVuKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9saXN0ZW4gKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGludCBiYWNrbG9nKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9hY2NlcHQgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrZXQgKm5ld3NvY2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3NvY2tldF9wb3N0X2FjY2VwdCAoc3RydWN0IHNvY2tldCAqc29jaywgCi0JCQkJICAgICAgc3RydWN0IHNvY2tldCAqbmV3c29jaykKLXsKLQlyZXR1cm47Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3NlbmRtc2cgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywKLQkJCQkgaW50IHNpemUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X3JlY3Ztc2cgKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywKLQkJCQkgaW50IHNpemUsIGludCBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0c29ja25hbWUgKHN0cnVjdCBzb2NrZXQgKnNvY2spCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHBlZXJuYW1lIChzdHJ1Y3Qgc29ja2V0ICpzb2NrKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zZXRzb2Nrb3B0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9nZXRzb2Nrb3B0IChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBpbnQgbGV2ZWwsIGludCBvcHRuYW1lKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NvY2tldF9zaHV0ZG93biAoc3RydWN0IHNvY2tldCAqc29jaywgaW50IGhvdykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfc29ja19yY3Zfc2tiIChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc29ja2V0X2dldHBlZXJzZWNfc3RyZWFtKHN0cnVjdCBzb2NrZXQgKnNvY2ssIGNoYXIgX191c2VyICpvcHR2YWwsCi0JCQkJCSAgaW50IF9fdXNlciAqb3B0bGVuLCB1bnNpZ25lZCBsZW4pCi17Ci0JcmV0dXJuIC1FTk9QUk9UT09QVDsKLX0KLQotc3RhdGljIGludCBkdW1teV9zb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbShzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKnNlY2lkKQotewotCXJldHVybiAtRU5PUFJPVE9PUFQ7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X3NrX2FsbG9jX3NlY3VyaXR5IChzdHJ1Y3Qgc29jayAqc2ssIGludCBmYW1pbHksIGdmcF90IHByaW9yaXR5KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc2tfZnJlZV9zZWN1cml0eSAoc3RydWN0IHNvY2sgKnNrKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc2tfY2xvbmVfc2VjdXJpdHkgKGNvbnN0IHN0cnVjdCBzb2NrICpzaywgc3RydWN0IHNvY2sgKm5ld3NrKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc2tfZ2V0c2VjaWQoc3RydWN0IHNvY2sgKnNrLCB1MzIgKnNlY2lkKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfc29ja19ncmFmdChzdHJ1Y3Qgc29jayogc2ssIHN0cnVjdCBzb2NrZXQgKnBhcmVudCkKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfaW5ldF9jb25uX3JlcXVlc3Qoc3RydWN0IHNvY2sgKnNrLAotCQkJc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfaW5ldF9jc2tfY2xvbmUoc3RydWN0IHNvY2sgKm5ld3NrLAotCQkJY29uc3Qgc3RydWN0IHJlcXVlc3Rfc29jayAqcmVxKQotewotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfaW5ldF9jb25uX2VzdGFibGlzaGVkKHN0cnVjdCBzb2NrICpzaywKLQkJCXN0cnVjdCBza19idWZmICpza2IpCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkdW1teV9yZXFfY2xhc3NpZnlfZmxvdyhjb25zdCBzdHJ1Y3QgcmVxdWVzdF9zb2NrICpyZXEsCi0JCQlzdHJ1Y3QgZmxvd2kgKmZsKQotewotfQotI2VuZGlmCS8qIENPTkZJR19TRUNVUklUWV9ORVRXT1JLICovCi0KLSNpZmRlZiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fcG9saWN5X2FsbG9jX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3NlY19jdHggKipjdHhwLAotCQkJCQkgICAgc3RydWN0IHhmcm1fdXNlcl9zZWNfY3R4ICpzZWNfY3R4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBkdW1teV94ZnJtX3BvbGljeV9jbG9uZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpvbGRfY3R4LAotCQkJCQkgICBzdHJ1Y3QgeGZybV9zZWNfY3R4ICoqbmV3X2N0eHApCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIGR1bW15X3hmcm1fcG9saWN5X2ZyZWVfc2VjdXJpdHkoc3RydWN0IHhmcm1fc2VjX2N0eCAqY3R4KQotewotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fcG9saWN5X2RlbGV0ZV9zZWN1cml0eShzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgeGZybV9zdGF0ZSAqeCwKLQlzdHJ1Y3QgeGZybV91c2VyX3NlY19jdHggKnNlY19jdHgsIHUzMiBzZWNpZCkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgZHVtbXlfeGZybV9zdGF0ZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQotewotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fc3RhdGVfZGVsZXRlX3NlY3VyaXR5KHN0cnVjdCB4ZnJtX3N0YXRlICp4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3hmcm1fcG9saWN5X2xvb2t1cChzdHJ1Y3QgeGZybV9zZWNfY3R4ICpjdHgsCi0JCQkJICAgIHUzMiBza19zaWQsIHU4IGRpcikKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBkdW1teV94ZnJtX3N0YXRlX3BvbF9mbG93X21hdGNoKHN0cnVjdCB4ZnJtX3N0YXRlICp4LAotCQkJCXN0cnVjdCB4ZnJtX3BvbGljeSAqeHAsIHN0cnVjdCBmbG93aSAqZmwpCi17Ci0JcmV0dXJuIDE7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfeGZybV9kZWNvZGVfc2Vzc2lvbihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgKmZsLCBpbnQgY2thbGwpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLSNlbmRpZiAvKiBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNICovCi1zdGF0aWMgaW50IGR1bW15X3JlZ2lzdGVyX3NlY3VyaXR5IChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9kX2luc3RhbnRpYXRlIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpCi17Ci0JcmV0dXJuOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2dldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgY2hhciAqKnZhbHVlKQotewotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY2hhciAqbmFtZSwgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplKQotewotCXJldHVybiAtRUlOVkFMOwotfQotCi1zdGF0aWMgaW50IGR1bW15X3NlY2lkX3RvX3NlY2N0eCh1MzIgc2VjaWQsIGNoYXIgKipzZWNkYXRhLCB1MzIgKnNlY2xlbikKLXsKLQlyZXR1cm4gLUVPUE5PVFNVUFA7Ci19Ci0KLXN0YXRpYyBpbnQgZHVtbXlfc2VjY3R4X3RvX3NlY2lkKGNvbnN0IGNoYXIgKnNlY2RhdGEsIHUzMiBzZWNsZW4sIHUzMiAqc2VjaWQpCi17Ci0JcmV0dXJuIC1FT1BOT1RTVVBQOwotfQotCi1zdGF0aWMgdm9pZCBkdW1teV9yZWxlYXNlX3NlY2N0eChjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuKQotewotfQotCi0jaWZkZWYgQ09ORklHX0tFWVMKLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2tleV9hbGxvYyhzdHJ1Y3Qga2V5ICprZXksIHN0cnVjdCB0YXNrX3N0cnVjdCAqY3R4LAotCQkJCSAgdW5zaWduZWQgbG9uZyBmbGFncykKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGR1bW15X2tleV9mcmVlKHN0cnVjdCBrZXkgKmtleSkKLXsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfa2V5X3Blcm1pc3Npb24oa2V5X3JlZl90IGtleV9yZWYsCi0JCQkJICAgICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqY29udGV4dCwKLQkJCQkgICAgICAga2V5X3Blcm1fdCBwZXJtKQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IGR1bW15X2tleV9nZXRzZWN1cml0eShzdHJ1Y3Qga2V5ICprZXksIGNoYXIgKipfYnVmZmVyKQotewotCSpfYnVmZmVyID0gTlVMTDsKLQlyZXR1cm4gMDsKLX0KLQotI2VuZGlmIC8qIENPTkZJR19LRVlTICovCi0KLSNpZmRlZiBDT05GSUdfQVVESVQKLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2F1ZGl0X3J1bGVfaW5pdCh1MzIgZmllbGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwKLQkJCQkJdm9pZCAqKmxzbXJ1bGUpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGR1bW15X2F1ZGl0X3J1bGVfa25vd24oc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSkKLXsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgZHVtbXlfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2VjaWQsIHUzMiBmaWVsZCwgdTMyIG9wLAotCQkJCQkgdm9pZCAqbHNtcnVsZSwKLQkJCQkJIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQotewotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgZHVtbXlfYXVkaXRfcnVsZV9mcmVlKHZvaWQgKmxzbXJ1bGUpCi17IH0KLQotI2VuZGlmIC8qIENPTkZJR19BVURJVCAqLwotCi1zdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkdW1teV9zZWN1cml0eV9vcHMgPSB7Ci0JLm5hbWUgPSAiZHVtbXkiLAotfTsKLQotI2RlZmluZSBzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGZ1bmN0aW9uKQkJCQlcCi0JZG8gewkJCQkJCQkJXAotCQlpZiAoIW9wcy0+ZnVuY3Rpb24pIHsJCQkJCVwKLQkJCW9wcy0+ZnVuY3Rpb24gPSBkdW1teV8jI2Z1bmN0aW9uOwkJXAotCQkJcHJfZGVidWcoIkhhZCB0byBvdmVycmlkZSB0aGUgIiAjZnVuY3Rpb24JXAotCQkJCSAiIHNlY3VyaXR5IG9wZXJhdGlvbiB3aXRoIHRoZSBkdW1teSBvbmUuXG4iKTtcCi0JCQl9CQkJCQkJXAotCX0gd2hpbGUgKDApCi0KLXZvaWQgc2VjdXJpdHlfZml4dXBfb3BzIChzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqb3BzKQotewotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcHRyYWNlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcGdldCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBjYXBzZXRfY2hlY2spOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgY2Fwc2V0X3NldCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhY2N0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGNhcGFibGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcXVvdGFjdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcXVvdGFfb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc3lzY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHN5c2xvZyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZXR0aW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHZtX2Vub3VnaF9tZW1vcnkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9hcHBseV9jcmVkcyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX3Bvc3RfYXBwbHlfY3JlZHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9zZXRfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYnBybV9jaGVja19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBicHJtX3NlY3VyZWV4ZWMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9jb3B5X2RhdGEpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2Jfa2Vybl9tb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9zdGF0ZnMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfY2hlY2tfc2IpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfdW1vdW50KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3Vtb3VudF9jbG9zZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl91bW91bnRfYnVzeSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9wb3N0X3JlbW91bnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcG9zdF9hZGRtb3VudCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9waXZvdHJvb3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfcG9zdF9waXZvdHJvb3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2JfZ2V0X21udF9vcHRzKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNiX3NldF9tbnRfb3B0cyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9jbG9uZV9tbnRfb3B0cyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzYl9wYXJzZV9vcHRzX3N0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2luaXRfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfY3JlYXRlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2xpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfdW5saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3N5bWxpbmspOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbWtkaXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcm1kaXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfbWtub2QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfcmVuYW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3JlYWRsaW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2ZvbGxvd19saW5rKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5vZGVfc2V0YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXRhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2RlbGV0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9zZXR4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9wb3N0X3NldHhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2dldHhhdHRyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2xpc3R4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9yZW1vdmV4YXR0cik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9uZWVkX2tpbGxwcml2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2tpbGxwcml2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2dldHNlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX3NldHNlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlub2RlX2xpc3RzZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBpbm9kZV9nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9pb2N0bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX21tYXApOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9tcHJvdGVjdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX2xvY2spOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9mY250bCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3NldF9mb3duZXIpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZmlsZV9zZW5kX3NpZ2lvdGFzayk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBmaWxlX3JlY2VpdmUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgZGVudHJ5X29wZW4pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXR1aWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19wb3N0X3NldHVpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldGdpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3NldHBnaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19nZXRwZ2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2VjaWQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRncm91cHMpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19zZXRuaWNlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0aW9wcmlvKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0aW9wcmlvKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0cmxpbWl0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfc2V0c2NoZWR1bGVyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfZ2V0c2NoZWR1bGVyKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfbW92ZW1lbW9yeSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3dhaXQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19raWxsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHRhc2tfcHJjdGwpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgdGFza19yZXBhcmVudF90b19pbml0KTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB0YXNrX3RvX2lub2RlKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlwY19wZXJtaXNzaW9uKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGlwY19nZXRzZWNpZCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfbXNnX2FsbG9jX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19tc2dfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX2Fzc29jaWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBtc2dfcXVldWVfbXNnY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIG1zZ19xdWV1ZV9tc2dzbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbXNnX3F1ZXVlX21zZ3Jjdik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2htX2Fzc29jaWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzaG1fc2htY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNobV9zaG1hdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VtX2Fzc29jaWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZW1fc2VtY3RsKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlbV9zZW1vcCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBuZXRsaW5rX3NlbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgbmV0bGlua19yZWN2KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlZ2lzdGVyX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGRfaW5zdGFudGlhdGUpOwotIAlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGdldHByb2NhdHRyKTsKLSAJc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzZXRwcm9jYXR0cik7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc2VjaWRfdG9fc2VjY3R4KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNlY2N0eF90b19zZWNpZCk7Ci0gCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgcmVsZWFzZV9zZWNjdHgpOwotI2lmZGVmIENPTkZJR19TRUNVUklUWV9ORVRXT1JLCi0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB1bml4X3N0cmVhbV9jb25uZWN0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHVuaXhfbWF5X3NlbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2NyZWF0ZSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfcG9zdF9jcmVhdGUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2JpbmQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2Nvbm5lY3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2xpc3Rlbik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfYWNjZXB0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9wb3N0X2FjY2VwdCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc2VuZG1zZyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfcmVjdm1zZyk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0c29ja25hbWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgc29ja2V0X2dldHBlZXJuYW1lKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9zZXRzb2Nrb3B0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRzb2Nrb3B0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9zaHV0ZG93bik7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfc29ja19yY3Zfc2tiKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tldF9nZXRwZWVyc2VjX3N0cmVhbSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBzb2NrZXRfZ2V0cGVlcnNlY19kZ3JhbSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBza19mcmVlX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNrX2Nsb25lX3NlY3VyaXR5KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNrX2dldHNlY2lkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHNvY2tfZ3JhZnQpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5ldF9jb25uX3JlcXVlc3QpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5ldF9jc2tfY2xvbmUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgaW5ldF9jb25uX2VzdGFibGlzaGVkKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHJlcV9jbGFzc2lmeV9mbG93KTsKLSAjZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUksgKi8KLSNpZmRlZiAgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTQotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfYWxsb2Nfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfY2xvbmVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfZnJlZV9zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3BvbGljeV9kZWxldGVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9hbGxvY19zZWN1cml0eSk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCB4ZnJtX3N0YXRlX2ZyZWVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9zdGF0ZV9kZWxldGVfc2VjdXJpdHkpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9wb2xpY3lfbG9va3VwKTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIHhmcm1fc3RhdGVfcG9sX2Zsb3dfbWF0Y2gpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgeGZybV9kZWNvZGVfc2Vzc2lvbik7Ci0jZW5kaWYJLyogQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSAqLwotI2lmZGVmIENPTkZJR19LRVlTCi0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBrZXlfYWxsb2MpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X2ZyZWUpOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X3Blcm1pc3Npb24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywga2V5X2dldHNlY3VyaXR5KTsKLSNlbmRpZgkvKiBDT05GSUdfS0VZUyAqLwotI2lmZGVmIENPTkZJR19BVURJVAotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9pbml0KTsKLQlzZXRfdG9fZHVtbXlfaWZfbnVsbChvcHMsIGF1ZGl0X3J1bGVfa25vd24pOwotCXNldF90b19kdW1teV9pZl9udWxsKG9wcywgYXVkaXRfcnVsZV9tYXRjaCk7Ci0Jc2V0X3RvX2R1bW15X2lmX251bGwob3BzLCBhdWRpdF9ydWxlX2ZyZWUpOwotI2VuZGlmCi19Ci0KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3Jvb3RfcGx1Zy5jIGIvc2VjdXJpdHkvcm9vdF9wbHVnLmMKaW5kZXggYTQxY2Y0Mi4uYmUwZWJlYyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvcm9vdF9wbHVnLmMKKysrIGIvc2VjdXJpdHkvcm9vdF9wbHVnLmMKQEAgLTI4LDkgKzI4LDYgQEAKICNpbmNsdWRlIDxsaW51eC91c2IuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgogCi0vKiBmbGFnIHRvIGtlZXAgdHJhY2sgb2YgaG93IHdlIHdlcmUgcmVnaXN0ZXJlZCAqLwotc3RhdGljIGludCBzZWNvbmRhcnk7Ci0KIC8qIGRlZmF1bHQgaXMgYSBnZW5lcmljIHR5cGUgb2YgdXNiIHRvIHNlcmlhbCBjb252ZXJ0ZXIgKi8KIHN0YXRpYyBpbnQgdmVuZG9yX2lkID0gMHgwNTU3Owogc3RhdGljIGludCBwcm9kdWN0X2lkID0gMHgyMDA4OwpAQCAtOTcsMTMgKzk0LDcgQEAKIAlpZiAocmVnaXN0ZXJfc2VjdXJpdHkgKCZyb290cGx1Z19zZWN1cml0eV9vcHMpKSB7CiAJCXByaW50ayAoS0VSTl9JTkZPIAogCQkJIkZhaWx1cmUgcmVnaXN0ZXJpbmcgUm9vdCBQbHVnIG1vZHVsZSB3aXRoIHRoZSBrZXJuZWxcbiIpOwotCQkvKiB0cnkgcmVnaXN0ZXJpbmcgd2l0aCBwcmltYXJ5IG1vZHVsZSAqLwotCQlpZiAobW9kX3JlZ19zZWN1cml0eSAoTVlfTkFNRSwgJnJvb3RwbHVnX3NlY3VyaXR5X29wcykpIHsKLQkJCXByaW50ayAoS0VSTl9JTkZPICJGYWlsdXJlIHJlZ2lzdGVyaW5nIFJvb3QgUGx1ZyAiCi0JCQkJIiBtb2R1bGUgd2l0aCBwcmltYXJ5IHNlY3VyaXR5IG1vZHVsZS5cbiIpOwogCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQkJc2Vjb25kYXJ5ID0gMTsKIAl9CiAJcHJpbnRrIChLRVJOX0lORk8gIlJvb3QgUGx1ZyBtb2R1bGUgaW5pdGlhbGl6ZWQsICIKIAkJInZlbmRvcl9pZCA9ICU0LjR4LCBwcm9kdWN0IGlkID0gJTQuNHhcbiIsIHZlbmRvcl9pZCwgcHJvZHVjdF9pZCk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWN1cml0eS5jIGIvc2VjdXJpdHkvc2VjdXJpdHkuYwppbmRleCA1OTgzOGE5Li41OWYyM2I1IDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWN1cml0eS5jCisrKyBiL3NlY3VyaXR5L3NlY3VyaXR5LmMKQEAgLTIwLDggKzIwLDggQEAKIC8qIEJvb3QtdGltZSBMU00gdXNlciBjaG9pY2UgKi8KIHN0YXRpYyBfX2luaXRkYXRhIGNoYXIgY2hvc2VuX2xzbVtTRUNVUklUWV9OQU1FX01BWCArIDFdOwogCi0vKiB0aGluZ3MgdGhhdCBsaXZlIGluIGR1bW15LmMgKi8KLWV4dGVybiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBkdW1teV9zZWN1cml0eV9vcHM7CisvKiB0aGluZ3MgdGhhdCBsaXZlIGluIGNhcGFiaWxpdHkuYyAqLworZXh0ZXJuIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zIGRlZmF1bHRfc2VjdXJpdHlfb3BzOwogZXh0ZXJuIHZvaWQgc2VjdXJpdHlfZml4dXBfb3BzKHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpOwogCiBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqc2VjdXJpdHlfb3BzOwkvKiBJbml0aWFsaXplZCB0byBOVUxMICovCkBAIC01NywxMyArNTcsOCBAQAogewogCXByaW50ayhLRVJOX0lORk8gIlNlY3VyaXR5IEZyYW1ld29yayBpbml0aWFsaXplZFxuIik7CiAKLQlpZiAodmVyaWZ5KCZkdW1teV9zZWN1cml0eV9vcHMpKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiJXMgY291bGQgbm90IHZlcmlmeSAiCi0JCSAgICAgICAiZHVtbXlfc2VjdXJpdHlfb3BzIHN0cnVjdHVyZS5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU87Ci0JfQotCi0Jc2VjdXJpdHlfb3BzID0gJmR1bW15X3NlY3VyaXR5X29wczsKKwlzZWN1cml0eV9maXh1cF9vcHMoJmRlZmF1bHRfc2VjdXJpdHlfb3BzKTsKKwlzZWN1cml0eV9vcHMgPSAmZGVmYXVsdF9zZWN1cml0eV9vcHM7CiAJZG9fc2VjdXJpdHlfaW5pdGNhbGxzKCk7CiAKIAlyZXR1cm4gMDsKQEAgLTEyMiw3ICsxMTcsNyBAQAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlpZiAoc2VjdXJpdHlfb3BzICE9ICZkdW1teV9zZWN1cml0eV9vcHMpCisJaWYgKHNlY3VyaXR5X29wcyAhPSAmZGVmYXVsdF9zZWN1cml0eV9vcHMpCiAJCXJldHVybiAtRUFHQUlOOwogCiAJc2VjdXJpdHlfb3BzID0gb3BzOwpAQCAtMTMwLDQwICsxMjUsMTIgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyoqCi0gKiBtb2RfcmVnX3NlY3VyaXR5IC0gYWxsb3dzIHNlY3VyaXR5IG1vZHVsZXMgdG8gYmUgInN0YWNrZWQiCi0gKiBAbmFtZTogYSBwb2ludGVyIHRvIGEgc3RyaW5nIHdpdGggdGhlIG5hbWUgb2YgdGhlIHNlY3VyaXR5X29wdGlvbnMgdG8gYmUgcmVnaXN0ZXJlZAotICogQG9wczogYSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3Qgc2VjdXJpdHlfb3B0aW9ucyB0aGF0IGlzIHRvIGJlIHJlZ2lzdGVyZWQKLSAqCi0gKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBzZWN1cml0eSBtb2R1bGVzIHRvIGJlIHN0YWNrZWQgaWYgdGhlIGN1cnJlbnRseSBsb2FkZWQKLSAqIHNlY3VyaXR5IG1vZHVsZSBhbGxvd3MgdGhpcyB0byBoYXBwZW4uICBJdCBwYXNzZXMgdGhlIEBuYW1lIGFuZCBAb3BzIHRvIHRoZQotICogcmVnaXN0ZXJfc2VjdXJpdHkgZnVuY3Rpb24gb2YgdGhlIGN1cnJlbnRseSBsb2FkZWQgc2VjdXJpdHkgbW9kdWxlLgotICoKLSAqIFRoZSByZXR1cm4gdmFsdWUgZGVwZW5kcyBvbiB0aGUgY3VycmVudGx5IGxvYWRlZCBzZWN1cml0eSBtb2R1bGUsIHdpdGggMCBhcwotICogc3VjY2Vzcy4KLSAqLwotaW50IG1vZF9yZWdfc2VjdXJpdHkoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlpZiAodmVyaWZ5KG9wcykpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiJXMgY291bGQgbm90IHZlcmlmeSAiCi0JCSAgICAgICAic2VjdXJpdHkgb3BlcmF0aW9ucy5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JaWYgKG9wcyA9PSBzZWN1cml0eV9vcHMpIHsKLQkJcHJpbnRrKEtFUk5fSU5GTyAiJXMgc2VjdXJpdHkgb3BlcmF0aW9ucyAiCi0JCSAgICAgICAiYWxyZWFkeSByZWdpc3RlcmVkLlxuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0KLQlyZXR1cm4gc2VjdXJpdHlfb3BzLT5yZWdpc3Rlcl9zZWN1cml0eShuYW1lLCBvcHMpOwotfQotCiAvKiBTZWN1cml0eSBvcGVyYXRpb25zICovCiAKLWludCBzZWN1cml0eV9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCitpbnQgc2VjdXJpdHlfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkgICAgdW5zaWduZWQgaW50IG1vZGUpCiB7Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+cHRyYWNlKHBhcmVudCwgY2hpbGQpOworCXJldHVybiBzZWN1cml0eV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkLCBtb2RlKTsKIH0KIAogaW50IHNlY3VyaXR5X2NhcGdldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwKQEAgLTI5MSw2ICsyNTgsMTEgQEAKIAlyZXR1cm4gc2VjdXJpdHlfb3BzLT5zYl9rZXJuX21vdW50KHNiLCBkYXRhKTsKIH0KIAoraW50IHNlY3VyaXR5X3NiX3Nob3dfb3B0aW9ucyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpCit7CisJcmV0dXJuIHNlY3VyaXR5X29wcy0+c2Jfc2hvd19vcHRpb25zKG0sIHNiKTsKK30KKwogaW50IHNlY3VyaXR5X3NiX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7CiAJcmV0dXJuIHNlY3VyaXR5X29wcy0+c2Jfc3RhdGZzKGRlbnRyeSk7CkBAIC0zNDIsMTIgKzMxNCw2IEBACiAJc2VjdXJpdHlfb3BzLT5zYl9wb3N0X3Bpdm90cm9vdChvbGRfcGF0aCwgbmV3X3BhdGgpOwogfQogCi1pbnQgc2VjdXJpdHlfc2JfZ2V0X21udF9vcHRzKGNvbnN0IHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCi0JCQkJc3RydWN0IHNlY3VyaXR5X21udF9vcHRzICpvcHRzKQotewotCXJldHVybiBzZWN1cml0eV9vcHMtPnNiX2dldF9tbnRfb3B0cyhzYiwgb3B0cyk7Ci19Ci0KIGludCBzZWN1cml0eV9zYl9zZXRfbW50X29wdHMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKIAkJCQlzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCiB7CkBAIC04OTQsNyArODYwLDcgQEAKIAogdm9pZCBzZWN1cml0eV9yZWxlYXNlX3NlY2N0eChjaGFyICpzZWNkYXRhLCB1MzIgc2VjbGVuKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnJlbGVhc2Vfc2VjY3R4KHNlY2RhdGEsIHNlY2xlbik7CisJc2VjdXJpdHlfb3BzLT5yZWxlYXNlX3NlY2N0eChzZWNkYXRhLCBzZWNsZW4pOwogfQogRVhQT1JUX1NZTUJPTChzZWN1cml0eV9yZWxlYXNlX3NlY2N0eCk7CiAKQEAgLTEwMTEsMTIgKzk3NywxMiBAQAogCiB2b2lkIHNlY3VyaXR5X3NrX2ZyZWUoc3RydWN0IHNvY2sgKnNrKQogewotCXJldHVybiBzZWN1cml0eV9vcHMtPnNrX2ZyZWVfc2VjdXJpdHkoc2spOworCXNlY3VyaXR5X29wcy0+c2tfZnJlZV9zZWN1cml0eShzayk7CiB9CiAKIHZvaWQgc2VjdXJpdHlfc2tfY2xvbmUoY29uc3Qgc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc29jayAqbmV3c2spCiB7Ci0JcmV0dXJuIHNlY3VyaXR5X29wcy0+c2tfY2xvbmVfc2VjdXJpdHkoc2ssIG5ld3NrKTsKKwlzZWN1cml0eV9vcHMtPnNrX2Nsb25lX3NlY3VyaXR5KHNrLCBuZXdzayk7CiB9CiAKIHZvaWQgc2VjdXJpdHlfc2tfY2xhc3NpZnlfZmxvdyhzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBmbG93aSAqZmwpCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKaW5kZXggMWM4NjRjMC4uNjNmMTMxZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYwpAQCAtOSw3ICs5LDggQEAKICAqCSAgICAgIEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgogICoKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEsMjAwMiBOZXR3b3JrcyBBc3NvY2lhdGVzIFRlY2hub2xvZ3ksIEluYy4KLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMgUmVkIEhhdCwgSW5jLiwgSmFtZXMgTW9ycmlzIDxqbW9ycmlzQHJlZGhhdC5jb20+CisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLTIwMDggUmVkIEhhdCwgSW5jLiwgSmFtZXMgTW9ycmlzIDxqbW9ycmlzQHJlZGhhdC5jb20+CisgKgkJCQkJICAgRXJpYyBQYXJpcyA8ZXBhcmlzQHJlZGhhdC5jb20+CiAgKiAgQ29weXJpZ2h0IChDKSAyMDA0LTIwMDUgVHJ1c3RlZCBDb21wdXRlciBTb2x1dGlvbnMsIEluYy4KICAqCQkJICAgIDxkZ29lZGRlbEB0cnVzdGVkY3MuY29tPgogICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBIZXdsZXR0LVBhY2thcmQgRGV2ZWxvcG1lbnQgQ29tcGFueSwgTC5QLgpAQCAtNDIsOSArNDMsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZkdGFibGUuaD4KICNpbmNsdWRlIDxsaW51eC9uYW1laS5oPgogI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+Ci0jaW5jbHVkZSA8bGludXgvZXh0Ml9mcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZC5oPgogI2luY2x1ZGUgPGxpbnV4L25ldGZpbHRlcl9pcHY0Lmg+CiAjaW5jbHVkZSA8bGludXgvbmV0ZmlsdGVyX2lwdjYuaD4KICNpbmNsdWRlIDxsaW51eC90dHkuaD4KQEAgLTUzLDcgKzUyLDcgQEAKICNpbmNsdWRlIDxuZXQvdGNwLmg+CQkvKiBzdHJ1Y3Qgb3JfY2FsbGFibGUgdXNlZCBpbiBzb2NrX3Jjdl9za2IgKi8KICNpbmNsdWRlIDxuZXQvbmV0X25hbWVzcGFjZS5oPgogI2luY2x1ZGUgPG5ldC9uZXRsYWJlbC5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgogI2luY2x1ZGUgPGFzbS9pb2N0bHMuaD4KICNpbmNsdWRlIDxhc20vYXRvbWljLmg+CiAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+CkBAIC0xMDQsNyArMTAzLDkgQEAKIAogc3RhdGljIGludCBfX2luaXQgZW5mb3JjaW5nX3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2VuZm9yY2luZyA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAwKTsKKwl1bnNpZ25lZCBsb25nIGVuZm9yY2luZzsKKwlpZiAoIXN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJmVuZm9yY2luZykpCisJCXNlbGludXhfZW5mb3JjaW5nID0gZW5mb3JjaW5nID8gMSA6IDA7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJlbmZvcmNpbmc9IiwgZW5mb3JjaW5nX3NldHVwKTsKQEAgLTExNSw3ICsxMTYsOSBAQAogCiBzdGF0aWMgaW50IF9faW5pdCBzZWxpbnV4X2VuYWJsZWRfc2V0dXAoY2hhciAqc3RyKQogewotCXNlbGludXhfZW5hYmxlZCA9IHNpbXBsZV9zdHJ0b2woc3RyLCBOVUxMLCAwKTsKKwl1bnNpZ25lZCBsb25nIGVuYWJsZWQ7CisJaWYgKCFzdHJpY3Rfc3RydG91bChzdHIsIDAsICZlbmFibGVkKSkKKwkJc2VsaW51eF9lbmFibGVkID0gZW5hYmxlZCA/IDEgOiAwOwogCXJldHVybiAxOwogfQogX19zZXR1cCgic2VsaW51eD0iLCBzZWxpbnV4X2VuYWJsZWRfc2V0dXApOwpAQCAtMTIzLDEzICsxMjYsMTEgQEAKIGludCBzZWxpbnV4X2VuYWJsZWQgPSAxOwogI2VuZGlmCiAKLS8qIE9yaWdpbmFsIChkdW1teSkgc2VjdXJpdHkgbW9kdWxlLiAqLwotc3RhdGljIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcmlnaW5hbF9vcHM7CiAKLS8qIE1pbmltYWwgc3VwcG9ydCBmb3IgYSBzZWNvbmRhcnkgc2VjdXJpdHkgbW9kdWxlLAotICAganVzdCB0byBhbGxvdyB0aGUgdXNlIG9mIHRoZSBkdW1teSBvciBjYXBhYmlsaXR5IG1vZHVsZXMuCi0gICBUaGUgb3dsc20gbW9kdWxlIGNhbiBhbHRlcm5hdGl2ZWx5IGJlIHVzZWQgYXMgYSBzZWNvbmRhcnkKLSAgIG1vZHVsZSBhcyBsb25nIGFzIENPTkZJR19PV0xTTV9GRCBpcyBub3QgZW5hYmxlZC4gKi8KKy8qCisgKiBNaW5pbWFsIHN1cHBvcnQgZm9yIGEgc2Vjb25kYXJ5IHNlY3VyaXR5IG1vZHVsZSwKKyAqIGp1c3QgdG8gYWxsb3cgdGhlIHVzZSBvZiB0aGUgY2FwYWJpbGl0eSBtb2R1bGUuCisgKi8KIHN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyAqc2Vjb25kYXJ5X29wczsKIAogLyogTGlzdHMgb2YgaW5vZGUgYW5kIHN1cGVyYmxvY2sgc2VjdXJpdHkgc3RydWN0dXJlcyBpbml0aWFsaXplZApAQCAtNTk0LDcgKzU5NSw3IEBACiAJICovCiAJaWYgKHNic2VjLT5pbml0aWFsaXplZCAmJiAoc2ItPnNfdHlwZS0+ZnNfZmxhZ3MgJiBGU19CSU5BUllfTU9VTlREQVRBKQogCSAgICAmJiAobnVtX29wdHMgPT0gMCkpCi0JICAgICAgICBnb3RvIG91dDsKKwkJZ290byBvdXQ7CiAKIAkvKgogCSAqIHBhcnNlIHRoZSBtb3VudCBvcHRpb25zLCBjaGVjayBpZiB0aGV5IGFyZSB2YWxpZCBzaWRzLgpAQCAtOTU2LDYgKzk1Nyw1NyBAQAogCXJldHVybiByYzsKIH0KIAordm9pZCBzZWxpbnV4X3dyaXRlX29wdHMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc2VjdXJpdHlfbW50X29wdHMgKm9wdHMpCit7CisJaW50IGk7CisJY2hhciAqcHJlZml4OworCisJZm9yIChpID0gMDsgaSA8IG9wdHMtPm51bV9tbnRfb3B0czsgaSsrKSB7CisJCWNoYXIgKmhhc19jb21tYSA9IHN0cmNocihvcHRzLT5tbnRfb3B0c1tpXSwgJywnKTsKKworCQlzd2l0Y2ggKG9wdHMtPm1udF9vcHRzX2ZsYWdzW2ldKSB7CisJCWNhc2UgQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQljYXNlIEZTQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBGU0NPTlRFWFRfU1RSOworCQkJYnJlYWs7CisJCWNhc2UgUk9PVENPTlRFWFRfTU5UOgorCQkJcHJlZml4ID0gUk9PVENPTlRFWFRfU1RSOworCQkJYnJlYWs7CisJCWNhc2UgREVGQ09OVEVYVF9NTlQ6CisJCQlwcmVmaXggPSBERUZDT05URVhUX1NUUjsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJQlVHKCk7CisJCX07CisJCS8qIHdlIG5lZWQgYSBjb21tYSBiZWZvcmUgZWFjaCBvcHRpb24gKi8KKwkJc2VxX3B1dGMobSwgJywnKTsKKwkJc2VxX3B1dHMobSwgcHJlZml4KTsKKwkJaWYgKGhhc19jb21tYSkKKwkJCXNlcV9wdXRjKG0sICdcIicpOworCQlzZXFfcHV0cyhtLCBvcHRzLT5tbnRfb3B0c1tpXSk7CisJCWlmIChoYXNfY29tbWEpCisJCQlzZXFfcHV0YyhtLCAnXCInKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc2VsaW51eF9zYl9zaG93X29wdGlvbnMoc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQoreworCXN0cnVjdCBzZWN1cml0eV9tbnRfb3B0cyBvcHRzOworCWludCByYzsKKworCXJjID0gc2VsaW51eF9nZXRfbW50X29wdHMoc2IsICZvcHRzKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXNlbGludXhfd3JpdGVfb3B0cyhtLCAmb3B0cyk7CisKKwlzZWN1cml0eV9mcmVlX21udF9vcHRzKCZvcHRzKTsKKworCXJldHVybiByYzsKK30KKwogc3RhdGljIGlubGluZSB1MTYgaW5vZGVfbW9kZV90b19zZWN1cml0eV9jbGFzcyh1bW9kZV90IG1vZGUpCiB7CiAJc3dpdGNoIChtb2RlICYgU19JRk1UKSB7CkBAIC0xNjgyLDE0ICsxNzM0LDIzIEBACiAKIC8qIEhvb2sgZnVuY3Rpb25zIGJlZ2luIGhlcmUuICovCiAKLXN0YXRpYyBpbnQgc2VsaW51eF9wdHJhY2Uoc3RydWN0IHRhc2tfc3RydWN0ICpwYXJlbnQsIHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpbGQpCitzdGF0aWMgaW50IHNlbGludXhfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqcGFyZW50LAorCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLAorCQkJICB1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAlpbnQgcmM7CiAKLQlyYyA9IHNlY29uZGFyeV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkKTsKKwlyYyA9IHNlY29uZGFyeV9vcHMtPnB0cmFjZShwYXJlbnQsIGNoaWxkLCBtb2RlKTsKIAlpZiAocmMpCiAJCXJldHVybiByYzsKIAorCWlmIChtb2RlID09IFBUUkFDRV9NT0RFX1JFQUQpIHsKKwkJc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0ICp0c2VjID0gcGFyZW50LT5zZWN1cml0eTsKKwkJc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0ICpjc2VjID0gY2hpbGQtPnNlY3VyaXR5OworCQlyZXR1cm4gYXZjX2hhc19wZXJtKHRzZWMtPnNpZCwgY3NlYy0+c2lkLAorCQkJCSAgICBTRUNDTEFTU19GSUxFLCBGSUxFX19SRUFELCBOVUxMKTsKKwl9CisKIAlyZXR1cm4gdGFza19oYXNfcGVybShwYXJlbnQsIGNoaWxkLCBQUk9DRVNTX19QVFJBQ0UpOwogfQogCkBAIC0yNDk1LDcgKzI1NTYsNyBAQAogCX0KIAogCWlmICh2YWx1ZSAmJiBsZW4pIHsKLQkJcmMgPSBzZWN1cml0eV9zaWRfdG9fY29udGV4dChuZXdzaWQsICZjb250ZXh0LCAmY2xlbik7CisJCXJjID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UobmV3c2lkLCAmY29udGV4dCwgJmNsZW4pOwogCQlpZiAocmMpIHsKIAkJCWtmcmVlKG5hbWVwKTsKIAkJCXJldHVybiByYzsKQEAgLTI2NjksNiArMjczMCwxMSBAQAogCQlyZXR1cm4gcmM7CiAKIAlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKKwlpZiAocmMgPT0gLUVJTlZBTCkgeworCQlpZiAoIWNhcGFibGUoQ0FQX01BQ19BRE1JTikpCisJCQlyZXR1cm4gcmM7CisJCXJjID0gc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UodmFsdWUsIHNpemUsICZuZXdzaWQpOworCX0KIAlpZiAocmMpCiAJCXJldHVybiByYzsKIApAQCAtMjY5MCw3ICsyNzU2LDcgQEAKIH0KIAogc3RhdGljIHZvaWQgc2VsaW51eF9pbm9kZV9wb3N0X3NldHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsCisJCQkJCWNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwKIAkJCQkJaW50IGZsYWdzKQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CkBAIC0yNzAzLDEwICsyNzY5LDExIEBACiAJCXJldHVybjsKIAl9CiAKLQlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKKwlyYyA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKHZhbHVlLCBzaXplLCAmbmV3c2lkKTsKIAlpZiAocmMpIHsKLQkJcHJpbnRrKEtFUk5fV0FSTklORyAiJXM6ICB1bmFibGUgdG8gb2J0YWluIFNJRCBmb3IgY29udGV4dCAiCi0JCSAgICAgICAiJXMsIHJjPSVkXG4iLCBfX2Z1bmNfXywgKGNoYXIgKil2YWx1ZSwgLXJjKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJTRUxpbnV4OiAgdW5hYmxlIHRvIG1hcCBjb250ZXh0IHRvIFNJRCIKKwkJICAgICAgICJmb3IgKCVzLCAlbHUpLCByYz0lZFxuIiwKKwkJICAgICAgIGlub2RlLT5pX3NiLT5zX2lkLCBpbm9kZS0+aV9pbm8sIC1yYyk7CiAJCXJldHVybjsKIAl9CiAKQEAgLTI3MzUsOSArMjgwMiw3IEBACiB9CiAKIC8qCi0gKiBDb3B5IHRoZSBpbi1jb3JlIGlub2RlIHNlY3VyaXR5IGNvbnRleHQgdmFsdWUgdG8gdGhlIHVzZXIuICBJZiB0aGUKLSAqIGdldHhhdHRyKCkgcHJpb3IgdG8gdGhpcyBzdWNjZWVkZWQsIGNoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRvCi0gKiBjYW5vbmljYWxpemUgdGhlIHZhbHVlIHRvIGJlIGZpbmFsbHkgcmV0dXJuZWQgdG8gdGhlIHVzZXIuCisgKiBDb3B5IHRoZSBpbm9kZSBzZWN1cml0eSBjb250ZXh0IHZhbHVlIHRvIHRoZSB1c2VyLgogICoKICAqIFBlcm1pc3Npb24gY2hlY2sgaXMgaGFuZGxlZCBieSBzZWxpbnV4X2lub2RlX2dldHhhdHRyIGhvb2suCiAgKi8KQEAgLTI3NDYsMTIgKzI4MTEsMzMgQEAKIAl1MzIgc2l6ZTsKIAlpbnQgZXJyb3I7CiAJY2hhciAqY29udGV4dCA9IE5VTEw7CisJc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0ICp0c2VjID0gY3VycmVudC0+c2VjdXJpdHk7CiAJc3RydWN0IGlub2RlX3NlY3VyaXR5X3N0cnVjdCAqaXNlYyA9IGlub2RlLT5pX3NlY3VyaXR5OwogCiAJaWYgKHN0cmNtcChuYW1lLCBYQVRUUl9TRUxJTlVYX1NVRkZJWCkpCiAJCXJldHVybiAtRU9QTk9UU1VQUDsKIAotCWVycm9yID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQoaXNlYy0+c2lkLCAmY29udGV4dCwgJnNpemUpOworCS8qCisJICogSWYgdGhlIGNhbGxlciBoYXMgQ0FQX01BQ19BRE1JTiwgdGhlbiBnZXQgdGhlIHJhdyBjb250ZXh0CisJICogdmFsdWUgZXZlbiBpZiBpdCBpcyBub3QgZGVmaW5lZCBieSBjdXJyZW50IHBvbGljeTsgb3RoZXJ3aXNlLAorCSAqIHVzZSB0aGUgaW4tY29yZSB2YWx1ZSB1bmRlciBjdXJyZW50IHBvbGljeS4KKwkgKiBVc2UgdGhlIG5vbi1hdWRpdGluZyBmb3JtcyBvZiB0aGUgcGVybWlzc2lvbiBjaGVja3Mgc2luY2UKKwkgKiBnZXR4YXR0ciBtYXkgYmUgY2FsbGVkIGJ5IHVucHJpdmlsZWdlZCBwcm9jZXNzZXMgY29tbW9ubHkKKwkgKiBhbmQgbGFjayBvZiBwZXJtaXNzaW9uIGp1c3QgbWVhbnMgdGhhdCB3ZSBmYWxsIGJhY2sgdG8gdGhlCisJICogaW4tY29yZSBjb250ZXh0IHZhbHVlLCBub3QgYSBkZW5pYWwuCisJICovCisJZXJyb3IgPSBzZWNvbmRhcnlfb3BzLT5jYXBhYmxlKGN1cnJlbnQsIENBUF9NQUNfQURNSU4pOworCWlmICghZXJyb3IpCisJCWVycm9yID0gYXZjX2hhc19wZXJtX25vYXVkaXQodHNlYy0+c2lkLCB0c2VjLT5zaWQsCisJCQkJCSAgICAgU0VDQ0xBU1NfQ0FQQUJJTElUWTIsCisJCQkJCSAgICAgQ0FQQUJJTElUWTJfX01BQ19BRE1JTiwKKwkJCQkJICAgICAwLAorCQkJCQkgICAgIE5VTEwpOworCWlmICghZXJyb3IpCisJCWVycm9yID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UoaXNlYy0+c2lkLCAmY29udGV4dCwKKwkJCQkJCSAgICAgICZzaXplKTsKKwllbHNlCisJCWVycm9yID0gc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQoaXNlYy0+c2lkLCAmY29udGV4dCwgJnNpemUpOwogCWlmIChlcnJvcikKIAkJcmV0dXJuIGVycm9yOwogCWVycm9yID0gc2l6ZTsKQEAgLTI4NjUsNDYgKzI5NTEsMTYgQEAKIHN0YXRpYyBpbnQgc2VsaW51eF9maWxlX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLAogCQkJICAgICAgdW5zaWduZWQgbG9uZyBhcmcpCiB7Ci0JaW50IGVycm9yID0gMDsKKwl1MzIgYXYgPSAwOwogCi0Jc3dpdGNoIChjbWQpIHsKLQljYXNlIEZJT05SRUFEOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRklCTUFQOgotCS8qIGZhbGwgdGhyb3VnaCAqLwotCWNhc2UgRklHRVRCU1o6Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBFWFQyX0lPQ19HRVRGTEFHUzoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEVYVDJfSU9DX0dFVFZFUlNJT046Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCBGSUxFX19HRVRBVFRSKTsKLQkJYnJlYWs7CisJaWYgKF9JT0NfRElSKGNtZCkgJiBfSU9DX1dSSVRFKQorCQlhdiB8PSBGSUxFX19XUklURTsKKwlpZiAoX0lPQ19ESVIoY21kKSAmIF9JT0NfUkVBRCkKKwkJYXYgfD0gRklMRV9fUkVBRDsKKwlpZiAoIWF2KQorCQlhdiA9IEZJTEVfX0lPQ1RMOwogCi0JY2FzZSBFWFQyX0lPQ19TRVRGTEFHUzoKLQkvKiBmYWxsIHRocm91Z2ggKi8KLQljYXNlIEVYVDJfSU9DX1NFVFZFUlNJT046Ci0JCWVycm9yID0gZmlsZV9oYXNfcGVybShjdXJyZW50LCBmaWxlLCBGSUxFX19TRVRBVFRSKTsKLQkJYnJlYWs7Ci0KLQkvKiBzeXNfaW9jdGwoKSBjaGVja3MgKi8KLQljYXNlIEZJT05CSU86Ci0JLyogZmFsbCB0aHJvdWdoICovCi0JY2FzZSBGSU9BU1lOQzoKLQkJZXJyb3IgPSBmaWxlX2hhc19wZXJtKGN1cnJlbnQsIGZpbGUsIDApOwotCQlicmVhazsKLQotCWNhc2UgS0RTS0JFTlQ6Ci0JY2FzZSBLRFNLQlNFTlQ6Ci0JCWVycm9yID0gdGFza19oYXNfY2FwYWJpbGl0eShjdXJyZW50LCBDQVBfU1lTX1RUWV9DT05GSUcpOwotCQlicmVhazsKLQotCS8qIGRlZmF1bHQgY2FzZSBhc3N1bWVzIHRoYXQgdGhlIGNvbW1hbmQgd2lsbCBnbwotCSAqIHRvIHRoZSBmaWxlJ3MgaW9jdGwoKSBmdW5jdGlvbi4KLQkgKi8KLQlkZWZhdWx0OgotCQllcnJvciA9IGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgRklMRV9fSU9DVEwpOwotCX0KLQlyZXR1cm4gZXJyb3I7CisJcmV0dXJuIGZpbGVfaGFzX3Blcm0oY3VycmVudCwgZmlsZSwgYXYpOwogfQogCiBzdGF0aWMgaW50IGZpbGVfbWFwX3Byb3RfY2hlY2soc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgcHJvdCwgaW50IHNoYXJlZCkKQEAgLTM2NjMsNyArMzcxOSw3IEBACiAJCXN0cnVjdCBzb2NrYWRkcl9pbjYgKmFkZHI2ID0gTlVMTDsKIAkJdW5zaWduZWQgc2hvcnQgc251bTsKIAkJc3RydWN0IHNvY2sgKnNrID0gc29jay0+c2s7Ci0JCXUzMiBzaWQsIG5vZGVfcGVybSwgYWRkcmxlbjsKKwkJdTMyIHNpZCwgbm9kZV9wZXJtOwogCiAJCXRzZWMgPSBjdXJyZW50LT5zZWN1cml0eTsKIAkJaXNlYyA9IFNPQ0tfSU5PREUoc29jayktPmlfc2VjdXJpdHk7CkBAIC0zNjcxLDEyICszNzI3LDEwIEBACiAJCWlmIChmYW1pbHkgPT0gUEZfSU5FVCkgewogCQkJYWRkcjQgPSAoc3RydWN0IHNvY2thZGRyX2luICopYWRkcmVzczsKIAkJCXNudW0gPSBudG9ocyhhZGRyNC0+c2luX3BvcnQpOwotCQkJYWRkcmxlbiA9IHNpemVvZihhZGRyNC0+c2luX2FkZHIuc19hZGRyKTsKIAkJCWFkZHJwID0gKGNoYXIgKikmYWRkcjQtPnNpbl9hZGRyLnNfYWRkcjsKIAkJfSBlbHNlIHsKIAkJCWFkZHI2ID0gKHN0cnVjdCBzb2NrYWRkcl9pbjYgKilhZGRyZXNzOwogCQkJc251bSA9IG50b2hzKGFkZHI2LT5zaW42X3BvcnQpOwotCQkJYWRkcmxlbiA9IHNpemVvZihhZGRyNi0+c2luNl9hZGRyLnM2X2FkZHIpOwogCQkJYWRkcnAgPSAoY2hhciAqKSZhZGRyNi0+c2luNl9hZGRyLnM2X2FkZHI7CiAJCX0KIApAQCAtNTA0NywyNCArNTEwMSw2IEBACiAJKnNlY2lkID0gaXNlYy0+c2lkOwogfQogCi0vKiBtb2R1bGUgc3RhY2tpbmcgb3BlcmF0aW9ucyAqLwotc3RhdGljIGludCBzZWxpbnV4X3JlZ2lzdGVyX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzZWN1cml0eV9vcGVyYXRpb25zICpvcHMpCi17Ci0JaWYgKHNlY29uZGFyeV9vcHMgIT0gb3JpZ2luYWxfb3BzKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiJXM6ICBUaGVyZSBpcyBhbHJlYWR5IGEgc2Vjb25kYXJ5IHNlY3VyaXR5ICIKLQkJICAgICAgICJtb2R1bGUgcmVnaXN0ZXJlZC5cbiIsIF9fZnVuY19fKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jc2Vjb25kYXJ5X29wcyA9IG9wczsKLQotCXByaW50ayhLRVJOX0lORk8gIiVzOiAgUmVnaXN0ZXJpbmcgc2Vjb25kYXJ5IG1vZHVsZSAlc1xuIiwKLQkgICAgICAgX19mdW5jX18sCi0JICAgICAgIG5hbWUpOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyB2b2lkIHNlbGludXhfZF9pbnN0YW50aWF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpCiB7CiAJaWYgKGlub2RlKQpAQCAtNTE1Myw2ICs1MTg5LDEyIEBACiAJCQlzaXplLS07CiAJCX0KIAkJZXJyb3IgPSBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCh2YWx1ZSwgc2l6ZSwgJnNpZCk7CisJCWlmIChlcnJvciA9PSAtRUlOVkFMICYmICFzdHJjbXAobmFtZSwgImZzY3JlYXRlIikpIHsKKwkJCWlmICghY2FwYWJsZShDQVBfTUFDX0FETUlOKSkKKwkJCQlyZXR1cm4gZXJyb3I7CisJCQllcnJvciA9IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKHZhbHVlLCBzaXplLAorCQkJCQkJCSAgICAgICZzaWQpOworCQl9CiAJCWlmIChlcnJvcikKIAkJCXJldHVybiBlcnJvcjsKIAl9CkBAIC01MTg2LDEyICs1MjI4LDEyIEBACiAJCQlzdHJ1Y3QgdGFza19zdHJ1Y3QgKmcsICp0OwogCQkJc3RydWN0IG1tX3N0cnVjdCAqbW0gPSBwLT5tbTsKIAkJCXJlYWRfbG9jaygmdGFza2xpc3RfbG9jayk7Ci0JCQlkb19lYWNoX3RocmVhZChnLCB0KQorCQkJZG9fZWFjaF90aHJlYWQoZywgdCkgewogCQkJCWlmICh0LT5tbSA9PSBtbSAmJiB0ICE9IHApIHsKIAkJCQkJcmVhZF91bmxvY2soJnRhc2tsaXN0X2xvY2spOwogCQkJCQlyZXR1cm4gLUVQRVJNOwogCQkJCX0KLQkJCXdoaWxlX2VhY2hfdGhyZWFkKGcsIHQpOworCQkJfSB3aGlsZV9lYWNoX3RocmVhZChnLCB0KTsKIAkJCXJlYWRfdW5sb2NrKCZ0YXNrbGlzdF9sb2NrKTsKIAkJfQogCkBAIC01MzQzLDEwICs1Mzg1LDEwIEBACiAJLnNiX2ZyZWVfc2VjdXJpdHkgPQkJc2VsaW51eF9zYl9mcmVlX3NlY3VyaXR5LAogCS5zYl9jb3B5X2RhdGEgPQkJCXNlbGludXhfc2JfY29weV9kYXRhLAogCS5zYl9rZXJuX21vdW50ID0JCXNlbGludXhfc2Jfa2Vybl9tb3VudCwKKwkuc2Jfc2hvd19vcHRpb25zID0JCXNlbGludXhfc2Jfc2hvd19vcHRpb25zLAogCS5zYl9zdGF0ZnMgPQkJCXNlbGludXhfc2Jfc3RhdGZzLAogCS5zYl9tb3VudCA9CQkJc2VsaW51eF9tb3VudCwKIAkuc2JfdW1vdW50ID0JCQlzZWxpbnV4X3Vtb3VudCwKLQkuc2JfZ2V0X21udF9vcHRzID0JCXNlbGludXhfZ2V0X21udF9vcHRzLAogCS5zYl9zZXRfbW50X29wdHMgPQkJc2VsaW51eF9zZXRfbW50X29wdHMsCiAJLnNiX2Nsb25lX21udF9vcHRzID0JCXNlbGludXhfc2JfY2xvbmVfbW50X29wdHMsCiAJLnNiX3BhcnNlX29wdHNfc3RyID0gCQlzZWxpbnV4X3BhcnNlX29wdHNfc3RyLApAQCAtNTM3OCw3ICs1NDIwLDcgQEAKIAkuaW5vZGVfbGlzdHNlY3VyaXR5ID0JCXNlbGludXhfaW5vZGVfbGlzdHNlY3VyaXR5LAogCS5pbm9kZV9uZWVkX2tpbGxwcml2ID0JCXNlbGludXhfaW5vZGVfbmVlZF9raWxscHJpdiwKIAkuaW5vZGVfa2lsbHByaXYgPQkJc2VsaW51eF9pbm9kZV9raWxscHJpdiwKLQkuaW5vZGVfZ2V0c2VjaWQgPSAgICAgICAgICAgICAgIHNlbGludXhfaW5vZGVfZ2V0c2VjaWQsCisJLmlub2RlX2dldHNlY2lkID0JCXNlbGludXhfaW5vZGVfZ2V0c2VjaWQsCiAKIAkuZmlsZV9wZXJtaXNzaW9uID0JCXNlbGludXhfZmlsZV9wZXJtaXNzaW9uLAogCS5maWxlX2FsbG9jX3NlY3VyaXR5ID0JCXNlbGludXhfZmlsZV9hbGxvY19zZWN1cml0eSwKQEAgLTU0MTksNyArNTQ2MSw3IEBACiAJLnRhc2tfdG9faW5vZGUgPQkJc2VsaW51eF90YXNrX3RvX2lub2RlLAogCiAJLmlwY19wZXJtaXNzaW9uID0JCXNlbGludXhfaXBjX3Blcm1pc3Npb24sCi0JLmlwY19nZXRzZWNpZCA9ICAgICAgICAgICAgICAgICBzZWxpbnV4X2lwY19nZXRzZWNpZCwKKwkuaXBjX2dldHNlY2lkID0JCQlzZWxpbnV4X2lwY19nZXRzZWNpZCwKIAogCS5tc2dfbXNnX2FsbG9jX3NlY3VyaXR5ID0Jc2VsaW51eF9tc2dfbXNnX2FsbG9jX3NlY3VyaXR5LAogCS5tc2dfbXNnX2ZyZWVfc2VjdXJpdHkgPQlzZWxpbnV4X21zZ19tc2dfZnJlZV9zZWN1cml0eSwKQEAgLTU0NDMsOCArNTQ4NSw2IEBACiAJLnNlbV9zZW1jdGwgPQkJCXNlbGludXhfc2VtX3NlbWN0bCwKIAkuc2VtX3NlbW9wID0JCQlzZWxpbnV4X3NlbV9zZW1vcCwKIAotCS5yZWdpc3Rlcl9zZWN1cml0eSA9CQlzZWxpbnV4X3JlZ2lzdGVyX3NlY3VyaXR5LAotCiAJLmRfaW5zdGFudGlhdGUgPQkJc2VsaW51eF9kX2luc3RhbnRpYXRlLAogCiAJLmdldHByb2NhdHRyID0JCQlzZWxpbnV4X2dldHByb2NhdHRyLApAQCAtNTUzOCw3ICs1NTc4LDcgQEAKIAkJCQkJICAgIDAsIFNMQUJfUEFOSUMsIE5VTEwpOwogCWF2Y19pbml0KCk7CiAKLQlvcmlnaW5hbF9vcHMgPSBzZWNvbmRhcnlfb3BzID0gc2VjdXJpdHlfb3BzOworCXNlY29uZGFyeV9vcHMgPSBzZWN1cml0eV9vcHM7CiAJaWYgKCFzZWNvbmRhcnlfb3BzKQogCQlwYW5pYygiU0VMaW51eDogTm8gaW5pdGlhbCBzZWN1cml0eSBvcGVyYXRpb25zXG4iKTsKIAlpZiAocmVnaXN0ZXJfc2VjdXJpdHkoJnNlbGludXhfb3BzKSkKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdWRpdC5oIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmgKaW5kZXggNmM4YjllZi4uMWJkZjk3MyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F1ZGl0LmgKQEAgLTEsNyArMSw3IEBACiAvKgogICogU0VMaW51eCBzdXBwb3J0IGZvciB0aGUgQXVkaXQgTFNNIGhvb2tzCiAgKgotICogTW9zdCBvZiBiZWxvdyBoZWFkZXIgd2FzIG1vdmVkIGZyb20gaW5jbHVkZS9saW51eC9zZWxpbnV4Lmggd2hpY2ggCisgKiBNb3N0IG9mIGJlbG93IGhlYWRlciB3YXMgbW92ZWQgZnJvbSBpbmNsdWRlL2xpbnV4L3NlbGludXguaCB3aGljaAogICogaXMgcmVsZWFzZWQgdW5kZXIgYmVsb3cgY29weXJpZ2h0czoKICAqCiAgKiBBdXRob3I6IEphbWVzIE1vcnJpcyA8am1vcnJpc0ByZWRoYXQuY29tPgpAQCAtNTIsNyArNTIsNyBAQAogICoJLWVycm5vIG9uIGZhaWx1cmUuCiAgKi8KIGludCBzZWxpbnV4X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNpZCwgdTMyIGZpZWxkLCB1MzIgb3AsIHZvaWQgKnJ1bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KTsKKwkJCSAgICAgc3RydWN0IGF1ZGl0X2NvbnRleHQgKmFjdHgpOwogCiAvKioKICAqCXNlbGludXhfYXVkaXRfcnVsZV9rbm93biAtIGNoZWNrIHRvIHNlZSBpZiBydWxlIGNvbnRhaW5zIHNlbGludXggZmllbGRzLgpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL2F2Yy5oCmluZGV4IDhlMjNkN2EuLjdiOTc2OWYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9hdmMuaAorKysgYi9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvYXZjLmgKQEAgLTc1LDEzICs3NSwxMiBAQAogCiAvKiBJbml0aWFsaXplIGFuIEFWQyBhdWRpdCBkYXRhIHN0cnVjdHVyZS4gKi8KICNkZWZpbmUgQVZDX0FVRElUX0RBVEFfSU5JVChfZCxfdCkgXAotICAgICAgICB7IG1lbXNldCgoX2QpLCAwLCBzaXplb2Yoc3RydWN0IGF2Y19hdWRpdF9kYXRhKSk7IChfZCktPnR5cGUgPSBBVkNfQVVESVRfREFUQV8jI190OyB9CisJeyBtZW1zZXQoKF9kKSwgMCwgc2l6ZW9mKHN0cnVjdCBhdmNfYXVkaXRfZGF0YSkpOyAoX2QpLT50eXBlID0gQVZDX0FVRElUX0RBVEFfIyNfdDsgfQogCiAvKgogICogQVZDIHN0YXRpc3RpY3MKICAqLwotc3RydWN0IGF2Y19jYWNoZV9zdGF0cwoteworc3RydWN0IGF2Y19jYWNoZV9zdGF0cyB7CiAJdW5zaWduZWQgaW50IGxvb2t1cHM7CiAJdW5zaWduZWQgaW50IGhpdHM7CiAJdW5zaWduZWQgaW50IG1pc3NlczsKQEAgLTk3LDggKzk2LDggQEAKIHZvaWQgX19pbml0IGF2Y19pbml0KHZvaWQpOwogCiB2b2lkIGF2Y19hdWRpdCh1MzIgc3NpZCwgdTMyIHRzaWQsCi0gICAgICAgICAgICAgICB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAotICAgICAgICAgICAgICAgc3RydWN0IGF2X2RlY2lzaW9uICphdmQsIGludCByZXN1bHQsIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKKwkgICAgICAgdTE2IHRjbGFzcywgdTMyIHJlcXVlc3RlZCwKKwkgICAgICAgc3RydWN0IGF2X2RlY2lzaW9uICphdmQsIGludCByZXN1bHQsIHN0cnVjdCBhdmNfYXVkaXRfZGF0YSAqYXVkaXRkYXRhKTsKIAogI2RlZmluZSBBVkNfU1RSSUNUIDEgLyogSWdub3JlIHBlcm1pc3NpdmUgbW9kZS4gKi8KIGludCBhdmNfaGFzX3Blcm1fbm9hdWRpdCh1MzIgc3NpZCwgdTMyIHRzaWQsCkBAIC0xMDcsOCArMTA2LDggQEAKIAkJCSBzdHJ1Y3QgYXZfZGVjaXNpb24gKmF2ZCk7CiAKIGludCBhdmNfaGFzX3Blcm0odTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgICB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAotICAgICAgICAgICAgICAgICBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmF1ZGl0ZGF0YSk7CisJCSB1MTYgdGNsYXNzLCB1MzIgcmVxdWVzdGVkLAorCQkgc3RydWN0IGF2Y19hdWRpdF9kYXRhICphdWRpdGRhdGEpOwogCiB1MzIgYXZjX3BvbGljeV9zZXFubyh2b2lkKTsKIApAQCAtMTIyLDcgKzEyMSw3IEBACiAjZGVmaW5lIEFWQ19DQUxMQkFDS19BVURJVERFTllfRElTQUJMRQkxMjgKIAogaW50IGF2Y19hZGRfY2FsbGJhY2soaW50ICgqY2FsbGJhY2spKHUzMiBldmVudCwgdTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiB0Y2xhc3MsIHUzMiBwZXJtcywKKwkJCQkgICAgIHUxNiB0Y2xhc3MsIHUzMiBwZXJtcywKIAkJCQkgICAgIHUzMiAqb3V0X3JldGFpbmVkKSwKIAkJICAgICB1MzIgZXZlbnRzLCB1MzIgc3NpZCwgdTMyIHRzaWQsCiAJCSAgICAgdTE2IHRjbGFzcywgdTMyIHBlcm1zKTsKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaAppbmRleCAwMzJjMjM1Li45MTA3MGFiIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvb2Jqc2VjLmgKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oCkBAIC00NCw3ICs0NCw2IEBACiAJdTE2IHNjbGFzczsJCS8qIHNlY3VyaXR5IGNsYXNzIG9mIHRoaXMgb2JqZWN0ICovCiAJdW5zaWduZWQgY2hhciBpbml0aWFsaXplZDsJLyogaW5pdGlhbGl6YXRpb24gZmxhZyAqLwogCXN0cnVjdCBtdXRleCBsb2NrOwotCXVuc2lnbmVkIGNoYXIgaW5oZXJpdDsJLyogaW5oZXJpdCBTSUQgZnJvbSBwYXJlbnQgZW50cnkgKi8KIH07CiAKIHN0cnVjdCBmaWxlX3NlY3VyaXR5X3N0cnVjdCB7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2luY2x1ZGUvc2VjdXJpdHkuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oCmluZGV4IGFkMzBhYzQuLjdjNTQzMDAgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9zZWN1cml0eS5oCkBAIC05MywxMiArOTMsMTcgQEAKIGludCBzZWN1cml0eV9zaWRfdG9fY29udGV4dCh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsCiAJdTMyICpzY29udGV4dF9sZW4pOwogCitpbnQgc2VjdXJpdHlfc2lkX3RvX2NvbnRleHRfZm9yY2UodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LCB1MzIgKnNjb250ZXh0X2xlbik7CisKIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZChjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKIAl1MzIgKm91dF9zaWQpOwogCiBpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfZGVmYXVsdChjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwKIAkJCQkgICAgdTMyICpvdXRfc2lkLCB1MzIgZGVmX3NpZCwgZ2ZwX3QgZ2ZwX2ZsYWdzKTsKIAoraW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2ZvcmNlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAorCQkJCSAgdTMyICpzaWQpOworCiBpbnQgc2VjdXJpdHlfZ2V0X3VzZXJfc2lkcyh1MzIgY2FsbHNpZCwgY2hhciAqdXNlcm5hbWUsCiAJCQkgICB1MzIgKipzaWRzLCB1MzIgKm5lbCk7CiAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvbmV0bm9kZS5jIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKaW5kZXggYjZjY2QwOS4uNzEwMDA3MiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9uZXRub2RlLmMKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9pcHY2Lmg+CiAjaW5jbHVkZSA8bmV0L2lwLmg+CiAjaW5jbHVkZSA8bmV0L2lwdjYuaD4KLSNpbmNsdWRlIDxhc20vYnVnLmg+CiAKICNpbmNsdWRlICJuZXRub2RlLmgiCiAjaW5jbHVkZSAib2Jqc2VjLmgiCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L25ldHBvcnQuYyBiL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jCmluZGV4IDkwYjRjZmYuLmZlN2ZiYTYgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvbmV0cG9ydC5jCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8bGludXgvaXB2Ni5oPgogI2luY2x1ZGUgPG5ldC9pcC5oPgogI2luY2x1ZGUgPG5ldC9pcHY2Lmg+Ci0jaW5jbHVkZSA8YXNtL2J1Zy5oPgogCiAjaW5jbHVkZSAibmV0cG9ydC5oIgogI2luY2x1ZGUgIm9ianNlYy5oIgpAQCAtMjcyLDcgKzI3MSw3IEBACiAJfQogCiAJcmV0ID0gYXZjX2FkZF9jYWxsYmFjayhzZWxfbmV0cG9ydF9hdmNfY2FsbGJhY2ssIEFWQ19DQUxMQkFDS19SRVNFVCwKLQkgICAgICAgICAgICAgICAgICAgICAgIFNFQ1NJRF9OVUxMLCBTRUNTSURfTlVMTCwgU0VDQ0xBU1NfTlVMTCwgMCk7CisJCQkgICAgICAgU0VDU0lEX05VTEwsIFNFQ1NJRF9OVUxMLCBTRUNDTEFTU19OVUxMLCAwKTsKIAlpZiAocmV0ICE9IDApCiAJCXBhbmljKCJhdmNfYWRkX2NhbGxiYWNrKCkgZmFpbGVkLCBlcnJvciAlZFxuIiwgcmV0KTsKIApkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYyBiL3NlY3VyaXR5L3NlbGludXgvc2VsaW51eGZzLmMKaW5kZXggYWMxY2NjMS4uNjljOWRjYyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zZWxpbnV4ZnMuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L3NlbGludXhmcy5jCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9wZXJjcHUuaD4KICNpbmNsdWRlIDxsaW51eC9hdWRpdC5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+CisjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgogCiAvKiBzZWxpbnV4ZnMgcHNldWRvIGZpbGVzeXN0ZW0gZm9yIGV4cG9ydGluZyB0aGUgc2VjdXJpdHkgcG9saWN5IEFQSS4KICAgIEJhc2VkIG9uIHRoZSBwcm9jIGNvZGUgYW5kIHRoZSBmcy9uZnNkL25mc2N0bC5jIGNvZGUuICovCkBAIC01NywxNCArNTcsMTggQEAKIAogc3RhdGljIGludCBfX2luaXQgY2hlY2tyZXFwcm90X3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2NoZWNrcmVxcHJvdCA9IHNpbXBsZV9zdHJ0b3VsKHN0ciwgTlVMTCwgMCkgPyAxIDogMDsKKwl1bnNpZ25lZCBsb25nIGNoZWNrcmVxcHJvdDsKKwlpZiAoIXN0cmljdF9zdHJ0b3VsKHN0ciwgMCwgJmNoZWNrcmVxcHJvdCkpCisJCXNlbGludXhfY2hlY2tyZXFwcm90ID0gY2hlY2tyZXFwcm90ID8gMSA6IDA7CiAJcmV0dXJuIDE7CiB9CiBfX3NldHVwKCJjaGVja3JlcXByb3Q9IiwgY2hlY2tyZXFwcm90X3NldHVwKTsKIAogc3RhdGljIGludCBfX2luaXQgc2VsaW51eF9jb21wYXRfbmV0X3NldHVwKGNoYXIgKnN0cikKIHsKLQlzZWxpbnV4X2NvbXBhdF9uZXQgPSBzaW1wbGVfc3RydG91bChzdHIsIE5VTEwsIDApID8gMSA6IDA7CisJdW5zaWduZWQgbG9uZyBjb21wYXRfbmV0OworCWlmICghc3RyaWN0X3N0cnRvdWwoc3RyLCAwLCAmY29tcGF0X25ldCkpCisJCXNlbGludXhfY29tcGF0X25ldCA9IGNvbXBhdF9uZXQgPyAxIDogMDsKIAlyZXR1cm4gMTsKIH0KIF9fc2V0dXAoInNlbGludXhfY29tcGF0X25ldD0iLCBzZWxpbnV4X2NvbXBhdF9uZXRfc2V0dXApOwpAQCAtMzUyLDExICszNTYsNiBAQAogCQlsZW5ndGggPSBjb3VudDsKIAogb3V0MToKLQotCXByaW50ayhLRVJOX0lORk8gIlNFTGludXg6IHBvbGljeSBsb2FkZWQgd2l0aCBoYW5kbGVfdW5rbm93bj0lc1xuIiwKLQkgICAgICAgKHNlY3VyaXR5X2dldF9yZWplY3RfdW5rbm93bigpID8gInJlamVjdCIgOgotCQkoc2VjdXJpdHlfZ2V0X2FsbG93X3Vua25vd24oKSA/ICJhbGxvdyIgOiAiZGVueSIpKSk7Ci0KIAlhdWRpdF9sb2coY3VycmVudC0+YXVkaXRfY29udGV4dCwgR0ZQX0tFUk5FTCwgQVVESVRfTUFDX1BPTElDWV9MT0FELAogCQkicG9saWN5IGxvYWRlZCBhdWlkPSV1IHNlcz0ldSIsCiAJCWF1ZGl0X2dldF9sb2dpbnVpZChjdXJyZW50KSwKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvYXZ0YWIuYyBiL3NlY3VyaXR5L3NlbGludXgvc3MvYXZ0YWIuYwppbmRleCA5ZTY2MjYzLi5hMWJlOTdmIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL2F2dGFiLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9hdnRhYi5jCkBAIC0zMTEsNyArMzExLDcgQEAKIAl9CiAKIAlwcmludGsoS0VSTl9ERUJVRyAiU0VMaW51eDogJXM6ICAlZCBlbnRyaWVzIGFuZCAlZC8lZCBidWNrZXRzIHVzZWQsICIKLQkgICAgICAgImxvbmdlc3QgY2hhaW4gbGVuZ3RoICVkIHN1bSBvZiBjaGFpbiBsZW5ndGheMiAlTHVcbiIsCisJICAgICAgICJsb25nZXN0IGNoYWluIGxlbmd0aCAlZCBzdW0gb2YgY2hhaW4gbGVuZ3RoXjIgJWxsdVxuIiwKIAkgICAgICAgdGFnLCBoLT5uZWwsIHNsb3RzX3VzZWQsIGgtPm5zbG90LCBtYXhfY2hhaW5fbGVuLAogCSAgICAgICBjaGFpbjJfbGVuX3N1bSk7CiB9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL2NvbnRleHQuaCBiL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oCmluZGV4IGI5YTZmN2YuLjY1OGMyYmQgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvY29udGV4dC5oCkBAIC0yOCw2ICsyOCw4IEBACiAJdTMyIHJvbGU7CiAJdTMyIHR5cGU7CiAJc3RydWN0IG1sc19yYW5nZSByYW5nZTsKKwljaGFyICpzdHI7CS8qIHN0cmluZyByZXByZXNlbnRhdGlvbiBpZiBjb250ZXh0IGNhbm5vdCBiZSBtYXBwZWQuICovCisJdTMyIGxlbjsgICAgICAgIC8qIGxlbmd0aCBvZiBzdHJpbmcgaW4gYnl0ZXMgKi8KIH07CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBtbHNfY29udGV4dF9pbml0KHN0cnVjdCBjb250ZXh0ICpjKQpAQCAtMTA2LDIwICsxMDgsNDMgQEAKIAogc3RhdGljIGlubGluZSBpbnQgY29udGV4dF9jcHkoc3RydWN0IGNvbnRleHQgKmRzdCwgc3RydWN0IGNvbnRleHQgKnNyYykKIHsKKwlpbnQgcmM7CisKIAlkc3QtPnVzZXIgPSBzcmMtPnVzZXI7CiAJZHN0LT5yb2xlID0gc3JjLT5yb2xlOwogCWRzdC0+dHlwZSA9IHNyYy0+dHlwZTsKLQlyZXR1cm4gbWxzX2NvbnRleHRfY3B5KGRzdCwgc3JjKTsKKwlpZiAoc3JjLT5zdHIpIHsKKwkJZHN0LT5zdHIgPSBrc3RyZHVwKHNyYy0+c3RyLCBHRlBfQVRPTUlDKTsKKwkJaWYgKCFkc3QtPnN0cikKKwkJCXJldHVybiAtRU5PTUVNOworCQlkc3QtPmxlbiA9IHNyYy0+bGVuOworCX0gZWxzZSB7CisJCWRzdC0+c3RyID0gTlVMTDsKKwkJZHN0LT5sZW4gPSAwOworCX0KKwlyYyA9IG1sc19jb250ZXh0X2NweShkc3QsIHNyYyk7CisJaWYgKHJjKSB7CisJCWtmcmVlKGRzdC0+c3RyKTsKKwkJcmV0dXJuIHJjOworCX0KKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGNvbnRleHRfZGVzdHJveShzdHJ1Y3QgY29udGV4dCAqYykKIHsKIAljLT51c2VyID0gYy0+cm9sZSA9IGMtPnR5cGUgPSAwOworCWtmcmVlKGMtPnN0cik7CisJYy0+c3RyID0gTlVMTDsKKwljLT5sZW4gPSAwOwogCW1sc19jb250ZXh0X2Rlc3Ryb3koYyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgaW50IGNvbnRleHRfY21wKHN0cnVjdCBjb250ZXh0ICpjMSwgc3RydWN0IGNvbnRleHQgKmMyKQogeworCWlmIChjMS0+bGVuICYmIGMyLT5sZW4pCisJCXJldHVybiAoYzEtPmxlbiA9PSBjMi0+bGVuICYmICFzdHJjbXAoYzEtPnN0ciwgYzItPnN0cikpOworCWlmIChjMS0+bGVuIHx8IGMyLT5sZW4pCisJCXJldHVybiAwOwogCXJldHVybiAoKGMxLT51c2VyID09IGMyLT51c2VyKSAmJgogCQkoYzEtPnJvbGUgPT0gYzItPnJvbGUpICYmCiAJCShjMS0+dHlwZSA9PSBjMi0+dHlwZSkgJiYKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5jCmluZGV4IDhiMTcwNmIuLjc3ZDc0NWQgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuYwpAQCAtMjM5LDcgKzIzOSw4IEBACiAgKiBQb2xpY3kgcmVhZC1sb2NrIG11c3QgYmUgaGVsZCBmb3Igc2lkdGFiIGxvb2t1cC4KICAqCiAgKi8KLWludCBtbHNfY29udGV4dF90b19zaWQoY2hhciBvbGRjLAoraW50IG1sc19jb250ZXh0X3RvX3NpZChzdHJ1Y3QgcG9saWN5ZGIgKnBvbCwKKwkJICAgICAgIGNoYXIgb2xkYywKIAkJICAgICAgIGNoYXIgKipzY29udGV4dCwKIAkJICAgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogCQkgICAgICAgc3RydWN0IHNpZHRhYiAqcywKQEAgLTI4Niw3ICsyODcsNyBAQAogCQkqcCsrID0gMDsKIAogCWZvciAobCA9IDA7IGwgPCAyOyBsKyspIHsKLQkJbGV2ZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX2xldmVscy50YWJsZSwgc2NvbnRleHRwKTsKKwkJbGV2ZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfbGV2ZWxzLnRhYmxlLCBzY29udGV4dHApOwogCQlpZiAoIWxldmRhdHVtKSB7CiAJCQlyYyA9IC1FSU5WQUw7CiAJCQlnb3RvIG91dDsKQEAgLTMxMSw3ICszMTIsNyBAQAogCQkJCQkqcm5ncHRyKysgPSAwOwogCQkJCX0KIAotCQkJCWNhdGRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9jYXRzLnRhYmxlLAorCQkJCWNhdGRhdHVtID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX2NhdHMudGFibGUsCiAJCQkJCQkJICBzY29udGV4dHApOwogCQkJCWlmICghY2F0ZGF0dW0pIHsKIAkJCQkJcmMgPSAtRUlOVkFMOwpAQCAtMzI3LDcgKzMyOCw3IEBACiAJCQkJaWYgKHJuZ3B0cikgewogCQkJCQlpbnQgaTsKIAotCQkJCQlybmdkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfY2F0cy50YWJsZSwgcm5ncHRyKTsKKwkJCQkJcm5nZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfY2F0cy50YWJsZSwgcm5ncHRyKTsKIAkJCQkJaWYgKCFybmdkYXR1bSkgewogCQkJCQkJcmMgPSAtRUlOVkFMOwogCQkJCQkJZ290byBvdXQ7CkBAIC0zOTUsNyArMzk2LDcgQEAKIAlpZiAoIXRtcHN0cikgewogCQlyYyA9IC1FTk9NRU07CiAJfSBlbHNlIHsKLQkJcmMgPSBtbHNfY29udGV4dF90b19zaWQoJzonLCAmdG1wc3RyLCBjb250ZXh0LAorCQlyYyA9IG1sc19jb250ZXh0X3RvX3NpZCgmcG9saWN5ZGIsICc6JywgJnRtcHN0ciwgY29udGV4dCwKIAkJCQkJTlVMTCwgU0VDU0lEX05VTEwpOwogCQlrZnJlZShmcmVlc3RyKTsKIAl9CkBAIC00MzYsMTMgKzQzNywxMyBAQAogCQlzdHJ1Y3QgbWxzX2xldmVsICp1c2VyY29uX2NsciA9ICYodXNlcmNvbi0+cmFuZ2UubGV2ZWxbMV0pOwogCiAJCS8qIEhvbm9yIHRoZSB1c2VyJ3MgZGVmYXVsdCBsZXZlbCBpZiB3ZSBjYW4gKi8KLQkJaWYgKG1sc19sZXZlbF9iZXR3ZWVuKHVzZXJfZGVmLCBmcm9tY29uX3NlbiwgZnJvbWNvbl9jbHIpKSB7CisJCWlmIChtbHNfbGV2ZWxfYmV0d2Vlbih1c2VyX2RlZiwgZnJvbWNvbl9zZW4sIGZyb21jb25fY2xyKSkKIAkJCSp1c2VyY29uX3NlbiA9ICp1c2VyX2RlZjsKLQkJfSBlbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX3NlbiwgdXNlcl9kZWYsIHVzZXJfY2xyKSkgeworCQllbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX3NlbiwgdXNlcl9kZWYsIHVzZXJfY2xyKSkKIAkJCSp1c2VyY29uX3NlbiA9ICpmcm9tY29uX3NlbjsKLQkJfSBlbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX2NsciwgdXNlcl9sb3csIHVzZXJfZGVmKSkgeworCQllbHNlIGlmIChtbHNfbGV2ZWxfYmV0d2Vlbihmcm9tY29uX2NsciwgdXNlcl9sb3csIHVzZXJfZGVmKSkKIAkJCSp1c2VyY29uX3NlbiA9ICp1c2VyX2xvdzsKLQkJfSBlbHNlCisJCWVsc2UKIAkJCXJldHVybiAtRUlOVkFMOwogCiAJCS8qIExvd2VyIHRoZSBjbGVhcmFuY2Ugb2YgYXZhaWxhYmxlIGNvbnRleHRzCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5oIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9tbHMuaAppbmRleCAwZmRmNjI1Li4xMjc2NzE1IDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL21scy5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvbWxzLmgKQEAgLTMwLDcgKzMwLDggQEAKIGludCBtbHNfcmFuZ2VfaXN2YWxpZChzdHJ1Y3QgcG9saWN5ZGIgKnAsIHN0cnVjdCBtbHNfcmFuZ2UgKnIpOwogaW50IG1sc19sZXZlbF9pc3ZhbGlkKHN0cnVjdCBwb2xpY3lkYiAqcCwgc3RydWN0IG1sc19sZXZlbCAqbCk7CiAKLWludCBtbHNfY29udGV4dF90b19zaWQoY2hhciBvbGRjLAoraW50IG1sc19jb250ZXh0X3RvX3NpZChzdHJ1Y3QgcG9saWN5ZGIgKnAsCisJCSAgICAgICBjaGFyIG9sZGMsCiAJCSAgICAgICBjaGFyICoqc2NvbnRleHQsCiAJCSAgICAgICBzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKIAkJICAgICAgIHN0cnVjdCBzaWR0YWIgKnMsCmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3BvbGljeWRiLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3BvbGljeWRiLmMKaW5kZXggODRmOGNjNy4uMjM5MTc2MSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9wb2xpY3lkYi5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3MvcG9saWN5ZGIuYwpAQCAtMTQ3OCw3ICsxNDc4LDggQEAKIAlzdHJ1Y3Qgb2NvbnRleHQgKmwsICpjLCAqbmV3YzsKIAlzdHJ1Y3QgZ2VuZnMgKmdlbmZzX3AsICpnZW5mcywgKm5ld2dlbmZzOwogCWludCBpLCBqLCByYzsKLQlfX2xlMzIgYnVmWzhdOworCV9fbGUzMiBidWZbNF07CisJdTMyIG5vZGVidWZbOF07CiAJdTMyIGxlbiwgbGVuMiwgY29uZmlnLCBucHJpbSwgbmVsLCBuZWwyOwogCWNoYXIgKnBvbGljeWRiX3N0cjsKIAlzdHJ1Y3QgcG9saWN5ZGJfY29tcGF0X2luZm8gKmluZm87CkBAIC0xNzQ5LDExICsxNzUwLDExIEBACiAJCQkJCWdvdG8gYmFkOwogCQkJCWJyZWFrOwogCQkJY2FzZSBPQ09OX05PREU6Ci0JCQkJcmMgPSBuZXh0X2VudHJ5KGJ1ZiwgZnAsIHNpemVvZih1MzIpICogMik7CisJCQkJcmMgPSBuZXh0X2VudHJ5KG5vZGVidWYsIGZwLCBzaXplb2YodTMyKSAqIDIpOwogCQkJCWlmIChyYyA8IDApCiAJCQkJCWdvdG8gYmFkOwotCQkJCWMtPnUubm9kZS5hZGRyID0gbGUzMl90b19jcHUoYnVmWzBdKTsKLQkJCQljLT51Lm5vZGUubWFzayA9IGxlMzJfdG9fY3B1KGJ1ZlsxXSk7CisJCQkJYy0+dS5ub2RlLmFkZHIgPSBub2RlYnVmWzBdOyAvKiBuZXR3b3JrIG9yZGVyICovCisJCQkJYy0+dS5ub2RlLm1hc2sgPSBub2RlYnVmWzFdOyAvKiBuZXR3b3JrIG9yZGVyICovCiAJCQkJcmMgPSBjb250ZXh0X3JlYWRfYW5kX3ZhbGlkYXRlKCZjLT5jb250ZXh0WzBdLCBwLCBmcCk7CiAJCQkJaWYgKHJjKQogCQkJCQlnb3RvIGJhZDsKQEAgLTE3ODIsMTMgKzE3ODMsMTMgQEAKIAkJCWNhc2UgT0NPTl9OT0RFNjogewogCQkJCWludCBrOwogCi0JCQkJcmMgPSBuZXh0X2VudHJ5KGJ1ZiwgZnAsIHNpemVvZih1MzIpICogOCk7CisJCQkJcmMgPSBuZXh0X2VudHJ5KG5vZGVidWYsIGZwLCBzaXplb2YodTMyKSAqIDgpOwogCQkJCWlmIChyYyA8IDApCiAJCQkJCWdvdG8gYmFkOwogCQkJCWZvciAoayA9IDA7IGsgPCA0OyBrKyspCi0JCQkJCWMtPnUubm9kZTYuYWRkcltrXSA9IGxlMzJfdG9fY3B1KGJ1ZltrXSk7CisJCQkJCWMtPnUubm9kZTYuYWRkcltrXSA9IG5vZGVidWZba107CiAJCQkJZm9yIChrID0gMDsgayA8IDQ7IGsrKykKLQkJCQkJYy0+dS5ub2RlNi5tYXNrW2tdID0gbGUzMl90b19jcHUoYnVmW2srNF0pOworCQkJCQljLT51Lm5vZGU2Lm1hc2tba10gPSBub2RlYnVmW2srNF07CiAJCQkJaWYgKGNvbnRleHRfcmVhZF9hbmRfdmFsaWRhdGUoJmMtPmNvbnRleHRbMF0sIHAsIGZwKSkKIAkJCQkJZ290byBiYWQ7CiAJCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NlcnZpY2VzLmMKaW5kZXggZGNjMmUxYy4uYjUyZjkyMyAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvc2VsaW51eC9zcy9zZXJ2aWNlcy5jCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2VydmljZXMuYwpAQCAtNzEsMTQgKzcxLDYgQEAKIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc2VsaW51eF9jbGFzc19wZXJtIHNlbGludXhfY2xhc3NfcGVybTsKIAogc3RhdGljIERFRklORV9SV0xPQ0socG9saWN5X3J3bG9jayk7Ci0jZGVmaW5lIFBPTElDWV9SRExPQ0sgcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKQotI2RlZmluZSBQT0xJQ1lfV1JMT0NLIHdyaXRlX2xvY2tfaXJxKCZwb2xpY3lfcndsb2NrKQotI2RlZmluZSBQT0xJQ1lfUkRVTkxPQ0sgcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spCi0jZGVmaW5lIFBPTElDWV9XUlVOTE9DSyB3cml0ZV91bmxvY2tfaXJxKCZwb2xpY3lfcndsb2NrKQotCi1zdGF0aWMgREVGSU5FX01VVEVYKGxvYWRfbXV0ZXgpOwotI2RlZmluZSBMT0FEX0xPQ0sgbXV0ZXhfbG9jaygmbG9hZF9tdXRleCkKLSNkZWZpbmUgTE9BRF9VTkxPQ0sgbXV0ZXhfdW5sb2NrKCZsb2FkX211dGV4KQogCiBzdGF0aWMgc3RydWN0IHNpZHRhYiBzaWR0YWI7CiBzdHJ1Y3QgcG9saWN5ZGIgcG9saWN5ZGI7CkBAIC0zMzIsNyArMzI0LDcgQEAKIAkJZ290byBpbnZhbF9jbGFzczsKIAlpZiAodW5saWtlbHkodGNsYXNzID4gcG9saWN5ZGIucF9jbGFzc2VzLm5wcmltKSkKIAkJaWYgKHRjbGFzcyA+IGtkZWZzLT5jdHNfbGVuIHx8Ci0JCSAgICAha2RlZnMtPmNsYXNzX3RvX3N0cmluZ1t0Y2xhc3MgLSAxXSB8fAorCQkgICAgIWtkZWZzLT5jbGFzc190b19zdHJpbmdbdGNsYXNzXSB8fAogCQkgICAgIXBvbGljeWRiLmFsbG93X3Vua25vd24pCiAJCQlnb3RvIGludmFsX2NsYXNzOwogCkBAIC00MTUsOSArNDA3LDE5IEBACiAJcmV0dXJuIDA7CiAKIGludmFsX2NsYXNzOgotCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgY2xhc3MgJWRcbiIsIF9fZnVuY19fLAotCQl0Y2xhc3MpOwotCXJldHVybiAtRUlOVkFMOworCWlmICghdGNsYXNzIHx8IHRjbGFzcyA+IGtkZWZzLT5jdHNfbGVuIHx8CisJICAgICFrZGVmcy0+Y2xhc3NfdG9fc3RyaW5nW3RjbGFzc10pIHsKKwkJaWYgKHByaW50a19yYXRlbGltaXQoKSkKKwkJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgY2xhc3MgJWRcbiIsCisJCQkgICAgICAgX19mdW5jX18sIHRjbGFzcyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogS25vd24gdG8gdGhlIGtlcm5lbCwgYnV0IG5vdCB0byB0aGUgcG9saWN5LgorCSAqIEhhbmRsZSBhcyBhIGRlbmlhbCAoYWxsb3dlZCBpcyAwKS4KKwkgKi8KKwlyZXR1cm4gMDsKIH0KIAogLyoKQEAgLTQyOSw3ICs0MzEsNyBAQAogCXUzMiB0eXBlOwogCWludCByYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWNvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJQlVHX09OKCFjb250ZXh0KTsKQEAgLTQ0MSw3ICs0NDMsNyBAQAogCSAqLwogCXJjID0gZWJpdG1hcF9nZXRfYml0KCZwb2xpY3lkYi5wZXJtaXNzaXZlX21hcCwgdHlwZSk7CiAKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtNDg2LDcgKzQ4OCw3IEBACiAJaWYgKCFzc19pbml0aWFsaXplZCkKIAkJcmV0dXJuIDA7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAkvKgogCSAqIFJlbWFwIGV4dGVuZGVkIE5ldGxpbmsgY2xhc3NlcyBmb3Igb2xkIHBvbGljeSB2ZXJzaW9ucy4KQEAgLTU0Myw3ICs1NDUsNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC01NzgsNyArNTgwLDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJc2NvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNzaWQpOwogCWlmICghc2NvbnRleHQpIHsKQEAgLTU5OCw3ICs2MDAsNyBAQAogCXJjID0gY29udGV4dF9zdHJ1Y3RfY29tcHV0ZV9hdihzY29udGV4dCwgdGNvbnRleHQsIHRjbGFzcywKIAkJCQkgICAgICAgcmVxdWVzdGVkLCBhdmQpOwogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC02MTYsNiArNjE4LDE0IEBACiAJKnNjb250ZXh0ID0gTlVMTDsKIAkqc2NvbnRleHRfbGVuID0gMDsKIAorCWlmIChjb250ZXh0LT5sZW4pIHsKKwkJKnNjb250ZXh0X2xlbiA9IGNvbnRleHQtPmxlbjsKKwkJKnNjb250ZXh0ID0ga3N0cmR1cChjb250ZXh0LT5zdHIsIEdGUF9BVE9NSUMpOworCQlpZiAoISgqc2NvbnRleHQpKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJldHVybiAwOworCX0KKwogCS8qIENvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGNvbnRleHQuICovCiAJKnNjb250ZXh0X2xlbiArPSBzdHJsZW4ocG9saWN5ZGIucF91c2VyX3ZhbF90b19uYW1lW2NvbnRleHQtPnVzZXIgLSAxXSkgKyAxOwogCSpzY29udGV4dF9sZW4gKz0gc3RybGVuKHBvbGljeWRiLnBfcm9sZV92YWxfdG9fbmFtZVtjb250ZXh0LT5yb2xlIC0gMV0pICsgMTsKQEAgLTY1NSwxNyArNjY1LDggQEAKIAlyZXR1cm4gaW5pdGlhbF9zaWRfdG9fc3RyaW5nW3NpZF07CiB9CiAKLS8qKgotICogc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQgLSBPYnRhaW4gYSBjb250ZXh0IGZvciBhIGdpdmVuIFNJRC4KLSAqIEBzaWQ6IHNlY3VyaXR5IGlkZW50aWZpZXIsIFNJRAotICogQHNjb250ZXh0OiBzZWN1cml0eSBjb250ZXh0Ci0gKiBAc2NvbnRleHRfbGVuOiBsZW5ndGggaW4gYnl0ZXMKLSAqCi0gKiBXcml0ZSB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCBAc2lkCi0gKiBpbnRvIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZyBvZiB0aGUgY29ycmVjdCBzaXplLiAgU2V0IEBzY29udGV4dAotICogdG8gcG9pbnQgdG8gdGhpcyBzdHJpbmcgYW5kIHNldCBAc2NvbnRleHRfbGVuIHRvIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KLSAqLwotaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pCitzdGF0aWMgaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2NvcmUodTMyIHNpZCwgY2hhciAqKnNjb250ZXh0LAorCQkJCQl1MzIgKnNjb250ZXh0X2xlbiwgaW50IGZvcmNlKQogewogCXN0cnVjdCBjb250ZXh0ICpjb250ZXh0OwogCWludCByYyA9IDA7CkBAIC02OTIsOCArNjkzLDExIEBACiAJCXJjID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CiAJfQotCVBPTElDWV9SRExPQ0s7Ci0JY29udGV4dCA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOworCWlmIChmb3JjZSkKKwkJY29udGV4dCA9IHNpZHRhYl9zZWFyY2hfZm9yY2UoJnNpZHRhYiwgc2lkKTsKKwllbHNlCisJCWNvbnRleHQgPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJaWYgKCFjb250ZXh0KSB7CiAJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgU0lEICVkXG4iLAogCQkJX19mdW5jX18sIHNpZCk7CkBAIC03MDIsNTkgKzcwNiw1NCBAQAogCX0KIAlyYyA9IGNvbnRleHRfc3RydWN0X3RvX3N0cmluZyhjb250ZXh0LCBzY29udGV4dCwgc2NvbnRleHRfbGVuKTsKIG91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIG91dDoKIAlyZXR1cm4gcmM7CiAKIH0KIAotc3RhdGljIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAotCQkJCQl1MzIgKnNpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncykKKy8qKgorICogc2VjdXJpdHlfc2lkX3RvX2NvbnRleHQgLSBPYnRhaW4gYSBjb250ZXh0IGZvciBhIGdpdmVuIFNJRC4KKyAqIEBzaWQ6IHNlY3VyaXR5IGlkZW50aWZpZXIsIFNJRAorICogQHNjb250ZXh0OiBzZWN1cml0eSBjb250ZXh0CisgKiBAc2NvbnRleHRfbGVuOiBsZW5ndGggaW4gYnl0ZXMKKyAqCisgKiBXcml0ZSB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb250ZXh0IGFzc29jaWF0ZWQgd2l0aCBAc2lkCisgKiBpbnRvIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkIHN0cmluZyBvZiB0aGUgY29ycmVjdCBzaXplLiAgU2V0IEBzY29udGV4dAorICogdG8gcG9pbnQgdG8gdGhpcyBzdHJpbmcgYW5kIHNldCBAc2NvbnRleHRfbGVuIHRvIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KKyAqLworaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0KHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pCiB7Ci0JY2hhciAqc2NvbnRleHQyOwotCXN0cnVjdCBjb250ZXh0IGNvbnRleHQ7CisJcmV0dXJuIHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2NvcmUoc2lkLCBzY29udGV4dCwgc2NvbnRleHRfbGVuLCAwKTsKK30KKworaW50IHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2ZvcmNlKHUzMiBzaWQsIGNoYXIgKipzY29udGV4dCwgdTMyICpzY29udGV4dF9sZW4pCit7CisJcmV0dXJuIHNlY3VyaXR5X3NpZF90b19jb250ZXh0X2NvcmUoc2lkLCBzY29udGV4dCwgc2NvbnRleHRfbGVuLCAxKTsKK30KKworLyoKKyAqIENhdmVhdDogIE11dGF0ZXMgc2NvbnRleHQuCisgKi8KK3N0YXRpYyBpbnQgc3RyaW5nX3RvX2NvbnRleHRfc3RydWN0KHN0cnVjdCBwb2xpY3lkYiAqcG9sLAorCQkJCSAgICBzdHJ1Y3Qgc2lkdGFiICpzaWR0YWJwLAorCQkJCSAgICBjaGFyICpzY29udGV4dCwKKwkJCQkgICAgdTMyIHNjb250ZXh0X2xlbiwKKwkJCQkgICAgc3RydWN0IGNvbnRleHQgKmN0eCwKKwkJCQkgICAgdTMyIGRlZl9zaWQpCit7CiAJc3RydWN0IHJvbGVfZGF0dW0gKnJvbGU7CiAJc3RydWN0IHR5cGVfZGF0dW0gKnR5cGRhdHVtOwogCXN0cnVjdCB1c2VyX2RhdHVtICp1c3JkYXR1bTsKIAljaGFyICpzY29udGV4dHAsICpwLCBvbGRjOwogCWludCByYyA9IDA7CiAKLQlpZiAoIXNzX2luaXRpYWxpemVkKSB7Ci0JCWludCBpOwotCi0JCWZvciAoaSA9IDE7IGkgPCBTRUNJTklUU0lEX05VTTsgaSsrKSB7Ci0JCQlpZiAoIXN0cmNtcChpbml0aWFsX3NpZF90b19zdHJpbmdbaV0sIHNjb250ZXh0KSkgewotCQkJCSpzaWQgPSBpOwotCQkJCWdvdG8gb3V0OwotCQkJfQotCQl9Ci0JCSpzaWQgPSBTRUNJTklUU0lEX0tFUk5FTDsKLQkJZ290byBvdXQ7Ci0JfQotCSpzaWQgPSBTRUNTSURfTlVMTDsKLQotCS8qIENvcHkgdGhlIHN0cmluZyBzbyB0aGF0IHdlIGNhbiBtb2RpZnkgdGhlIGNvcHkgYXMgd2UgcGFyc2UgaXQuCi0JICAgVGhlIHN0cmluZyBzaG91bGQgYWxyZWFkeSBieSBudWxsIHRlcm1pbmF0ZWQsIGJ1dCB3ZSBhcHBlbmQgYQotCSAgIG51bGwgc3VmZml4IHRvIHRoZSBjb3B5IHRvIGF2b2lkIHByb2JsZW1zIHdpdGggdGhlIGV4aXN0aW5nCi0JICAgYXR0ciBwYWNrYWdlLCB3aGljaCBkb2Vzbid0IHZpZXcgdGhlIG51bGwgdGVybWluYXRvciBhcyBwYXJ0Ci0JICAgb2YgdGhlIGF0dHJpYnV0ZSB2YWx1ZS4gKi8KLQlzY29udGV4dDIgPSBrbWFsbG9jKHNjb250ZXh0X2xlbisxLCBnZnBfZmxhZ3MpOwotCWlmICghc2NvbnRleHQyKSB7Ci0JCXJjID0gLUVOT01FTTsKLQkJZ290byBvdXQ7Ci0JfQotCW1lbWNweShzY29udGV4dDIsIHNjb250ZXh0LCBzY29udGV4dF9sZW4pOwotCXNjb250ZXh0MltzY29udGV4dF9sZW5dID0gMDsKLQotCWNvbnRleHRfaW5pdCgmY29udGV4dCk7Ci0JKnNpZCA9IFNFQ1NJRF9OVUxMOwotCi0JUE9MSUNZX1JETE9DSzsKKwljb250ZXh0X2luaXQoY3R4KTsKIAogCS8qIFBhcnNlIHRoZSBzZWN1cml0eSBjb250ZXh0LiAqLwogCiAJcmMgPSAtRUlOVkFMOwotCXNjb250ZXh0cCA9IChjaGFyICopIHNjb250ZXh0MjsKKwlzY29udGV4dHAgPSAoY2hhciAqKSBzY29udGV4dDsKIAogCS8qIEV4dHJhY3QgdGhlIHVzZXIuICovCiAJcCA9IHNjb250ZXh0cDsKQEAgLTc2MiwxNSArNzYxLDE1IEBACiAJCXArKzsKIAogCWlmICgqcCA9PSAwKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCiAJKnArKyA9IDA7CiAKLQl1c3JkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfdXNlcnMudGFibGUsIHNjb250ZXh0cCk7CisJdXNyZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfdXNlcnMudGFibGUsIHNjb250ZXh0cCk7CiAJaWYgKCF1c3JkYXR1bSkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAotCWNvbnRleHQudXNlciA9IHVzcmRhdHVtLT52YWx1ZTsKKwljdHgtPnVzZXIgPSB1c3JkYXR1bS0+dmFsdWU7CiAKIAkvKiBFeHRyYWN0IHJvbGUuICovCiAJc2NvbnRleHRwID0gcDsKQEAgLTc3OCwxNCArNzc3LDE0IEBACiAJCXArKzsKIAogCWlmICgqcCA9PSAwKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCiAJKnArKyA9IDA7CiAKLQlyb2xlID0gaGFzaHRhYl9zZWFyY2gocG9saWN5ZGIucF9yb2xlcy50YWJsZSwgc2NvbnRleHRwKTsKKwlyb2xlID0gaGFzaHRhYl9zZWFyY2gocG9sLT5wX3JvbGVzLnRhYmxlLCBzY29udGV4dHApOwogCWlmICghcm9sZSkKLQkJZ290byBvdXRfdW5sb2NrOwotCWNvbnRleHQucm9sZSA9IHJvbGUtPnZhbHVlOworCQlnb3RvIG91dDsKKwljdHgtPnJvbGUgPSByb2xlLT52YWx1ZTsKIAogCS8qIEV4dHJhY3QgdHlwZS4gKi8KIAlzY29udGV4dHAgPSBwOwpAQCAtNzk0LDM2ICs3OTMsOTAgQEAKIAlvbGRjID0gKnA7CiAJKnArKyA9IDA7CiAKLQl0eXBkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBvbGljeWRiLnBfdHlwZXMudGFibGUsIHNjb250ZXh0cCk7CisJdHlwZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwb2wtPnBfdHlwZXMudGFibGUsIHNjb250ZXh0cCk7CiAJaWYgKCF0eXBkYXR1bSkKLQkJZ290byBvdXRfdW5sb2NrOworCQlnb3RvIG91dDsKIAotCWNvbnRleHQudHlwZSA9IHR5cGRhdHVtLT52YWx1ZTsKKwljdHgtPnR5cGUgPSB0eXBkYXR1bS0+dmFsdWU7CiAKLQlyYyA9IG1sc19jb250ZXh0X3RvX3NpZChvbGRjLCAmcCwgJmNvbnRleHQsICZzaWR0YWIsIGRlZl9zaWQpOworCXJjID0gbWxzX2NvbnRleHRfdG9fc2lkKHBvbCwgb2xkYywgJnAsIGN0eCwgc2lkdGFicCwgZGVmX3NpZCk7CiAJaWYgKHJjKQotCQlnb3RvIG91dF91bmxvY2s7CisJCWdvdG8gb3V0OwogCi0JaWYgKChwIC0gc2NvbnRleHQyKSA8IHNjb250ZXh0X2xlbikgeworCWlmICgocCAtIHNjb250ZXh0KSA8IHNjb250ZXh0X2xlbikgewogCQlyYyA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X3VubG9jazsKKwkJZ290byBvdXQ7CiAJfQogCiAJLyogQ2hlY2sgdGhlIHZhbGlkaXR5IG9mIHRoZSBuZXcgY29udGV4dC4gKi8KLQlpZiAoIXBvbGljeWRiX2NvbnRleHRfaXN2YWxpZCgmcG9saWN5ZGIsICZjb250ZXh0KSkgeworCWlmICghcG9saWN5ZGJfY29udGV4dF9pc3ZhbGlkKHBvbCwgY3R4KSkgewogCQlyYyA9IC1FSU5WQUw7Ci0JCWdvdG8gb3V0X3VubG9jazsKKwkJY29udGV4dF9kZXN0cm95KGN0eCk7CisJCWdvdG8gb3V0OwogCX0KLQkvKiBPYnRhaW4gdGhlIG5ldyBzaWQuICovCi0JcmMgPSBzaWR0YWJfY29udGV4dF90b19zaWQoJnNpZHRhYiwgJmNvbnRleHQsIHNpZCk7Ci1vdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKLQljb250ZXh0X2Rlc3Ryb3koJmNvbnRleHQpOwotCWtmcmVlKHNjb250ZXh0Mik7CisJcmMgPSAwOwogb3V0OgogCXJldHVybiByYzsKIH0KIAorc3RhdGljIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZF9jb3JlKGNvbnN0IGNoYXIgKnNjb250ZXh0LCB1MzIgc2NvbnRleHRfbGVuLAorCQkJCQl1MzIgKnNpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncywKKwkJCQkJaW50IGZvcmNlKQoreworCWNoYXIgKnNjb250ZXh0MiwgKnN0ciA9IE5VTEw7CisJc3RydWN0IGNvbnRleHQgY29udGV4dDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFzc19pbml0aWFsaXplZCkgeworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAxOyBpIDwgU0VDSU5JVFNJRF9OVU07IGkrKykgeworCQkJaWYgKCFzdHJjbXAoaW5pdGlhbF9zaWRfdG9fc3RyaW5nW2ldLCBzY29udGV4dCkpIHsKKwkJCQkqc2lkID0gaTsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCQkqc2lkID0gU0VDSU5JVFNJRF9LRVJORUw7CisJCXJldHVybiAwOworCX0KKwkqc2lkID0gU0VDU0lEX05VTEw7CisKKwkvKiBDb3B5IHRoZSBzdHJpbmcgc28gdGhhdCB3ZSBjYW4gbW9kaWZ5IHRoZSBjb3B5IGFzIHdlIHBhcnNlIGl0LiAqLworCXNjb250ZXh0MiA9IGttYWxsb2Moc2NvbnRleHRfbGVuKzEsIGdmcF9mbGFncyk7CisJaWYgKCFzY29udGV4dDIpCisJCXJldHVybiAtRU5PTUVNOworCW1lbWNweShzY29udGV4dDIsIHNjb250ZXh0LCBzY29udGV4dF9sZW4pOworCXNjb250ZXh0MltzY29udGV4dF9sZW5dID0gMDsKKworCWlmIChmb3JjZSkgeworCQkvKiBTYXZlIGFub3RoZXIgY29weSBmb3Igc3RvcmluZyBpbiB1bmludGVycHJldGVkIGZvcm0gKi8KKwkJc3RyID0ga3N0cmR1cChzY29udGV4dDIsIGdmcF9mbGFncyk7CisJCWlmICghc3RyKSB7CisJCQlrZnJlZShzY29udGV4dDIpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOworCXJjID0gc3RyaW5nX3RvX2NvbnRleHRfc3RydWN0KCZwb2xpY3lkYiwgJnNpZHRhYiwKKwkJCQkgICAgICBzY29udGV4dDIsIHNjb250ZXh0X2xlbiwKKwkJCQkgICAgICAmY29udGV4dCwgZGVmX3NpZCk7CisJaWYgKHJjID09IC1FSU5WQUwgJiYgZm9yY2UpIHsKKwkJY29udGV4dC5zdHIgPSBzdHI7CisJCWNvbnRleHQubGVuID0gc2NvbnRleHRfbGVuOworCQlzdHIgPSBOVUxMOworCX0gZWxzZSBpZiAocmMpCisJCWdvdG8gb3V0OworCXJjID0gc2lkdGFiX2NvbnRleHRfdG9fc2lkKCZzaWR0YWIsICZjb250ZXh0LCBzaWQpOworCWlmIChyYykKKwkJY29udGV4dF9kZXN0cm95KCZjb250ZXh0KTsKK291dDoKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CisJa2ZyZWUoc2NvbnRleHQyKTsKKwlrZnJlZShzdHIpOworCXJldHVybiByYzsKK30KKwogLyoqCiAgKiBzZWN1cml0eV9jb250ZXh0X3RvX3NpZCAtIE9idGFpbiBhIFNJRCBmb3IgYSBnaXZlbiBzZWN1cml0eSBjb250ZXh0LgogICogQHNjb250ZXh0OiBzZWN1cml0eSBjb250ZXh0CkBAIC04MzgsNyArODkxLDcgQEAKIGludCBzZWN1cml0eV9jb250ZXh0X3RvX3NpZChjb25zdCBjaGFyICpzY29udGV4dCwgdTMyIHNjb250ZXh0X2xlbiwgdTMyICpzaWQpCiB7CiAJcmV0dXJuIHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkX2NvcmUoc2NvbnRleHQsIHNjb250ZXh0X2xlbiwKLQkJCQkJICAgIHNpZCwgU0VDU0lEX05VTEwsIEdGUF9LRVJORUwpOworCQkJCQkgICAgc2lkLCBTRUNTSURfTlVMTCwgR0ZQX0tFUk5FTCwgMCk7CiB9CiAKIC8qKgpAQCAtODU1LDYgKzkwOCw3IEBACiAgKiBUaGUgZGVmYXVsdCBTSUQgaXMgcGFzc2VkIHRvIHRoZSBNTFMgbGF5ZXIgdG8gYmUgdXNlZCB0byBhbGxvdwogICoga2VybmVsIGxhYmVsaW5nIG9mIHRoZSBNTFMgZmllbGQgaWYgdGhlIE1MUyBmaWVsZCBpcyBub3QgcHJlc2VudAogICogKGZvciB1cGdyYWRpbmcgdG8gTUxTIHdpdGhvdXQgZnVsbCByZWxhYmVsKS4KKyAqIEltcGxpY2l0bHkgZm9yY2VzIGFkZGluZyBvZiB0aGUgY29udGV4dCBldmVuIGlmIGl0IGNhbm5vdCBiZSBtYXBwZWQgeWV0LgogICogUmV0dXJucyAtJUVJTlZBTCBpZiB0aGUgY29udGV4dCBpcyBpbnZhbGlkLCAtJUVOT01FTSBpZiBpbnN1ZmZpY2llbnQKICAqIG1lbW9yeSBpcyBhdmFpbGFibGUsIG9yIDAgb24gc3VjY2Vzcy4KICAqLwpAQCAtODYyLDcgKzkxNiwxNCBAQAogCQkJCSAgICB1MzIgKnNpZCwgdTMyIGRlZl9zaWQsIGdmcF90IGdmcF9mbGFncykKIHsKIAlyZXR1cm4gc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShzY29udGV4dCwgc2NvbnRleHRfbGVuLAotCQkJCQkgICAgc2lkLCBkZWZfc2lkLCBnZnBfZmxhZ3MpOworCQkJCQkgICAgc2lkLCBkZWZfc2lkLCBnZnBfZmxhZ3MsIDEpOworfQorCitpbnQgc2VjdXJpdHlfY29udGV4dF90b19zaWRfZm9yY2UoY29uc3QgY2hhciAqc2NvbnRleHQsIHUzMiBzY29udGV4dF9sZW4sCisJCQkJICB1MzIgKnNpZCkKK3sKKwlyZXR1cm4gc2VjdXJpdHlfY29udGV4dF90b19zaWRfY29yZShzY29udGV4dCwgc2NvbnRleHRfbGVuLAorCQkJCQkgICAgc2lkLCBTRUNTSURfTlVMTCwgR0ZQX0tFUk5FTCwgMSk7CiB9CiAKIHN0YXRpYyBpbnQgY29tcHV0ZV9zaWRfaGFuZGxlX2ludmFsaWRfY29udGV4dCgKQEAgLTkyMiw3ICs5ODMsNyBAQAogCiAJY29udGV4dF9pbml0KCZuZXdjb250ZXh0KTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXNjb250ZXh0ID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBzc2lkKTsKIAlpZiAoIXNjb250ZXh0KSB7CkBAIC0xMDI3LDcgKzEwODgsNyBAQAogCS8qIE9idGFpbiB0aGUgc2lkIGZvciB0aGUgY29udGV4dC4gKi8KIAlyYyA9IHNpZHRhYl9jb250ZXh0X3RvX3NpZCgmc2lkdGFiLCAmbmV3Y29udGV4dCwgb3V0X3NpZCk7CiBvdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJY29udGV4dF9kZXN0cm95KCZuZXdjb250ZXh0KTsKIG91dDoKIAlyZXR1cm4gcmM7CkBAIC0xMTEwLDYgKzExNzEsNyBAQAogCWNvbnN0IHN0cnVjdCBzZWxpbnV4X2NsYXNzX3Blcm0gKmtkZWZzID0gJnNlbGludXhfY2xhc3NfcGVybTsKIAljb25zdCBjaGFyICpkZWZfY2xhc3MsICpkZWZfcGVybSwgKnBvbF9jbGFzczsKIAlzdHJ1Y3Qgc3ltdGFiICpwZXJtczsKKwlib29sIHByaW50X3Vua25vd25faGFuZGxlID0gMDsKIAogCWlmIChwLT5hbGxvd191bmtub3duKSB7CiAJCXUzMiBudW1fY2xhc3NlcyA9IGtkZWZzLT5jdHNfbGVuOwpAQCAtMTEzMCw2ICsxMTkyLDcgQEAKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCWlmIChwLT5hbGxvd191bmtub3duKQogCQkJCXAtPnVuZGVmaW5lZF9wZXJtc1tpLTFdID0gfjBVOworCQkJcHJpbnRfdW5rbm93bl9oYW5kbGUgPSAxOwogCQkJY29udGludWU7CiAJCX0KIAkJcG9sX2NsYXNzID0gcC0+cF9jbGFzc192YWxfdG9fbmFtZVtpLTFdOwpAQCAtMTE1OSw2ICsxMjIyLDcgQEAKIAkJCQlyZXR1cm4gLUVJTlZBTDsKIAkJCWlmIChwLT5hbGxvd191bmtub3duKQogCQkJCXAtPnVuZGVmaW5lZF9wZXJtc1tjbGFzc192YWwtMV0gfD0gcGVybV92YWw7CisJCQlwcmludF91bmtub3duX2hhbmRsZSA9IDE7CiAJCQljb250aW51ZTsKIAkJfQogCQlwZXJkYXR1bSA9IGhhc2h0YWJfc2VhcmNoKHBlcm1zLT50YWJsZSwgZGVmX3Blcm0pOwpAQCAtMTIwNiw2ICsxMjcwLDcgQEAKIAkJCQkJcmV0dXJuIC1FSU5WQUw7CiAJCQkJaWYgKHAtPmFsbG93X3Vua25vd24pCiAJCQkJCXAtPnVuZGVmaW5lZF9wZXJtc1tjbGFzc192YWwtMV0gfD0gKDEgPDwgaik7CisJCQkJcHJpbnRfdW5rbm93bl9oYW5kbGUgPSAxOwogCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJcGVyZGF0dW0gPSBoYXNodGFiX3NlYXJjaChwZXJtcy0+dGFibGUsIGRlZl9wZXJtKTsKQEAgLTEyMjMsNiArMTI4OCw5IEBACiAJCQl9CiAJCX0KIAl9CisJaWYgKHByaW50X3Vua25vd25faGFuZGxlKQorCQlwcmludGsoS0VSTl9JTkZPICJTRUxpbnV4OiB0aGUgYWJvdmUgdW5rbm93biBjbGFzc2VzIGFuZCBwZXJtaXNzaW9ucyB3aWxsIGJlICVzXG4iLAorCQkJKHNlY3VyaXR5X2dldF9hbGxvd191bmtub3duKCkgPyAiYWxsb3dlZCIgOiAiZGVuaWVkIikpOwogCXJldHVybiAwOwogfQogCkBAIC0xMjQ2LDkgKzEzMTQsMTIgQEAKIAkJY2hhciAqczsKIAkJdTMyIGxlbjsKIAotCQljb250ZXh0X3N0cnVjdF90b19zdHJpbmcoY29udGV4dCwgJnMsICZsZW4pOwotCQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICBjb250ZXh0ICVzIGlzIGludmFsaWRcbiIsIHMpOwotCQlrZnJlZShzKTsKKwkJaWYgKCFjb250ZXh0X3N0cnVjdF90b19zdHJpbmcoY29udGV4dCwgJnMsICZsZW4pKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCSAgICAgICAiU0VMaW51eDogIENvbnRleHQgJXMgd291bGQgYmUgaW52YWxpZCBpZiBlbmZvcmNpbmdcbiIsCisJCQkgICAgICAgcyk7CisJCQlrZnJlZShzKTsKKwkJfQogCX0KIAlyZXR1cm4gcmM7CiB9CkBAIC0xMjgwLDYgKzEzNTEsMzcgQEAKIAogCWFyZ3MgPSBwOwogCisJaWYgKGMtPnN0cikgeworCQlzdHJ1Y3QgY29udGV4dCBjdHg7CisJCXMgPSBrc3RyZHVwKGMtPnN0ciwgR0ZQX0tFUk5FTCk7CisJCWlmICghcykgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBvdXQ7CisJCX0KKwkJcmMgPSBzdHJpbmdfdG9fY29udGV4dF9zdHJ1Y3QoYXJncy0+bmV3cCwgTlVMTCwgcywKKwkJCQkJICAgICAgYy0+bGVuLCAmY3R4LCBTRUNTSURfTlVMTCk7CisJCWtmcmVlKHMpOworCQlpZiAoIXJjKSB7CisJCQlwcmludGsoS0VSTl9JTkZPCisJCSAgICAgICAiU0VMaW51eDogIENvbnRleHQgJXMgYmVjYW1lIHZhbGlkIChtYXBwZWQpLlxuIiwKKwkJCSAgICAgICBjLT5zdHIpOworCQkJLyogUmVwbGFjZSBzdHJpbmcgd2l0aCBtYXBwZWQgcmVwcmVzZW50YXRpb24uICovCisJCQlrZnJlZShjLT5zdHIpOworCQkJbWVtY3B5KGMsICZjdHgsIHNpemVvZigqYykpOworCQkJZ290byBvdXQ7CisJCX0gZWxzZSBpZiAocmMgPT0gLUVJTlZBTCkgeworCQkJLyogUmV0YWluIHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgbGF0ZXIgbWFwcGluZy4gKi8KKwkJCXJjID0gMDsKKwkJCWdvdG8gb3V0OworCQl9IGVsc2UgeworCQkJLyogT3RoZXIgZXJyb3IgY29uZGl0aW9uLCBlLmcuIEVOT01FTS4gKi8KKwkJCXByaW50ayhLRVJOX0VSUgorCQkgICAgICAgIlNFTGludXg6ICAgVW5hYmxlIHRvIG1hcCBjb250ZXh0ICVzLCByYyA9ICVkLlxuIiwKKwkJCSAgICAgICBjLT5zdHIsIC1yYyk7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKwogCXJjID0gY29udGV4dF9jcHkoJm9sZGMsIGMpOwogCWlmIChyYykKIAkJZ290byBvdXQ7CkBAIC0xMzE5LDEzICsxNDIxLDIxIEBACiAJfQogCiAJY29udGV4dF9kZXN0cm95KCZvbGRjKTsKKwlyYyA9IDA7CiBvdXQ6CiAJcmV0dXJuIHJjOwogYmFkOgotCWNvbnRleHRfc3RydWN0X3RvX3N0cmluZygmb2xkYywgJnMsICZsZW4pOworCS8qIE1hcCBvbGQgcmVwcmVzZW50YXRpb24gdG8gc3RyaW5nIGFuZCBzYXZlIGl0LiAqLworCWlmIChjb250ZXh0X3N0cnVjdF90b19zdHJpbmcoJm9sZGMsICZzLCAmbGVuKSkKKwkJcmV0dXJuIC1FTk9NRU07CiAJY29udGV4dF9kZXN0cm95KCZvbGRjKTsKLQlwcmludGsoS0VSTl9FUlIgIlNFTGludXg6ICBpbnZhbGlkYXRpbmcgY29udGV4dCAlc1xuIiwgcyk7Ci0Ja2ZyZWUocyk7CisJY29udGV4dF9kZXN0cm95KGMpOworCWMtPnN0ciA9IHM7CisJYy0+bGVuID0gbGVuOworCXByaW50ayhLRVJOX0lORk8KKwkgICAgICAgIlNFTGludXg6ICBDb250ZXh0ICVzIGJlY2FtZSBpbnZhbGlkICh1bm1hcHBlZCkuXG4iLAorCSAgICAgICBjLT5zdHIpOworCXJjID0gMDsKIAlnb3RvIG91dDsKIH0KIApAQCAtMTM1OSwxNyArMTQ2OSwxMyBAQAogCWludCByYyA9IDA7CiAJc3RydWN0IHBvbGljeV9maWxlIGZpbGUgPSB7IGRhdGEsIGxlbiB9LCAqZnAgPSAmZmlsZTsKIAotCUxPQURfTE9DSzsKLQogCWlmICghc3NfaW5pdGlhbGl6ZWQpIHsKIAkJYXZ0YWJfY2FjaGVfaW5pdCgpOwogCQlpZiAocG9saWN5ZGJfcmVhZCgmcG9saWN5ZGIsIGZwKSkgewotCQkJTE9BRF9VTkxPQ0s7CiAJCQlhdnRhYl9jYWNoZV9kZXN0cm95KCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCQlpZiAocG9saWN5ZGJfbG9hZF9pc2lkcygmcG9saWN5ZGIsICZzaWR0YWIpKSB7Ci0JCQlMT0FEX1VOTE9DSzsKIAkJCXBvbGljeWRiX2Rlc3Ryb3koJnBvbGljeWRiKTsKIAkJCWF2dGFiX2NhY2hlX2Rlc3Ryb3koKTsKIAkJCXJldHVybiAtRUlOVkFMOwpAQCAtMTM3OCw3ICsxNDg0LDYgQEAKIAkJaWYgKHZhbGlkYXRlX2NsYXNzZXMoJnBvbGljeWRiKSkgewogCQkJcHJpbnRrKEtFUk5fRVJSCiAJCQkgICAgICAgIlNFTGludXg6ICB0aGUgZGVmaW5pdGlvbiBvZiBhIGNsYXNzIGlzIGluY29ycmVjdFxuIik7Ci0JCQlMT0FEX1VOTE9DSzsKIAkJCXNpZHRhYl9kZXN0cm95KCZzaWR0YWIpOwogCQkJcG9saWN5ZGJfZGVzdHJveSgmcG9saWN5ZGIpOwogCQkJYXZ0YWJfY2FjaGVfZGVzdHJveSgpOwpAQCAtMTM4OCw3ICsxNDkzLDYgQEAKIAkJcG9saWN5ZGJfbG9hZGVkX3ZlcnNpb24gPSBwb2xpY3lkYi5wb2xpY3l2ZXJzOwogCQlzc19pbml0aWFsaXplZCA9IDE7CiAJCXNlcW5vID0gKytsYXRlc3RfZ3JhbnRpbmc7Ci0JCUxPQURfVU5MT0NLOwogCQlzZWxpbnV4X2NvbXBsZXRlX2luaXQoKTsKIAkJYXZjX3NzX3Jlc2V0KHNlcW5vKTsKIAkJc2Vsbmxfbm90aWZ5X3BvbGljeWxvYWQoc2Vxbm8pOwpAQCAtMTQwMSwxMiArMTUwNSwxMyBAQAogCXNpZHRhYl9oYXNoX2V2YWwoJnNpZHRhYiwgInNpZHMiKTsKICNlbmRpZgogCi0JaWYgKHBvbGljeWRiX3JlYWQoJm5ld3BvbGljeWRiLCBmcCkpIHsKLQkJTE9BRF9VTkxPQ0s7CisJaWYgKHBvbGljeWRiX3JlYWQoJm5ld3BvbGljeWRiLCBmcCkpCiAJCXJldHVybiAtRUlOVkFMOwotCX0KIAotCXNpZHRhYl9pbml0KCZuZXdzaWR0YWIpOworCWlmIChzaWR0YWJfaW5pdCgmbmV3c2lkdGFiKSkgeworCQlwb2xpY3lkYl9kZXN0cm95KCZuZXdwb2xpY3lkYik7CisJCXJldHVybiAtRU5PTUVNOworCX0KIAogCS8qIFZlcmlmeSB0aGF0IHRoZSBrZXJuZWwgZGVmaW5lZCBjbGFzc2VzIGFyZSBjb3JyZWN0LiAqLwogCWlmICh2YWxpZGF0ZV9jbGFzc2VzKCZuZXdwb2xpY3lkYikpIHsKQEAgLTE0MjksMjUgKzE1MzQsMjggQEAKIAkJZ290byBlcnI7CiAJfQogCi0JLyogQ29udmVydCB0aGUgaW50ZXJuYWwgcmVwcmVzZW50YXRpb25zIG9mIGNvbnRleHRzCi0JICAgaW4gdGhlIG5ldyBTSUQgdGFibGUgYW5kIHJlbW92ZSBpbnZhbGlkIFNJRHMuICovCisJLyoKKwkgKiBDb252ZXJ0IHRoZSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMgb2YgY29udGV4dHMKKwkgKiBpbiB0aGUgbmV3IFNJRCB0YWJsZS4KKwkgKi8KIAlhcmdzLm9sZHAgPSAmcG9saWN5ZGI7CiAJYXJncy5uZXdwID0gJm5ld3BvbGljeWRiOwotCXNpZHRhYl9tYXBfcmVtb3ZlX29uX2Vycm9yKCZuZXdzaWR0YWIsIGNvbnZlcnRfY29udGV4dCwgJmFyZ3MpOworCXJjID0gc2lkdGFiX21hcCgmbmV3c2lkdGFiLCBjb252ZXJ0X2NvbnRleHQsICZhcmdzKTsKKwlpZiAocmMpCisJCWdvdG8gZXJyOwogCiAJLyogU2F2ZSB0aGUgb2xkIHBvbGljeWRiIGFuZCBTSUQgdGFibGUgdG8gZnJlZSBsYXRlci4gKi8KIAltZW1jcHkoJm9sZHBvbGljeWRiLCAmcG9saWN5ZGIsIHNpemVvZiBwb2xpY3lkYik7CiAJc2lkdGFiX3NldCgmb2xkc2lkdGFiLCAmc2lkdGFiKTsKIAogCS8qIEluc3RhbGwgdGhlIG5ldyBwb2xpY3lkYiBhbmQgU0lEIHRhYmxlLiAqLwotCVBPTElDWV9XUkxPQ0s7CisJd3JpdGVfbG9ja19pcnEoJnBvbGljeV9yd2xvY2spOwogCW1lbWNweSgmcG9saWN5ZGIsICZuZXdwb2xpY3lkYiwgc2l6ZW9mIHBvbGljeWRiKTsKIAlzaWR0YWJfc2V0KCZzaWR0YWIsICZuZXdzaWR0YWIpOwogCXNlY3VyaXR5X2xvYWRfcG9saWN5Y2FwcygpOwogCXNlcW5vID0gKytsYXRlc3RfZ3JhbnRpbmc7CiAJcG9saWN5ZGJfbG9hZGVkX3ZlcnNpb24gPSBwb2xpY3lkYi5wb2xpY3l2ZXJzOwotCVBPTElDWV9XUlVOTE9DSzsKLQlMT0FEX1VOTE9DSzsKKwl3cml0ZV91bmxvY2tfaXJxKCZwb2xpY3lfcndsb2NrKTsKIAogCS8qIEZyZWUgdGhlIG9sZCBwb2xpY3lkYiBhbmQgU0lEIHRhYmxlLiAqLwogCXBvbGljeWRiX2Rlc3Ryb3koJm9sZHBvbGljeWRiKTsKQEAgLTE0NjEsNyArMTU2OSw2IEBACiAJcmV0dXJuIDA7CiAKIGVycjoKLQlMT0FEX1VOTE9DSzsKIAlzaWR0YWJfZGVzdHJveSgmbmV3c2lkdGFiKTsKIAlwb2xpY3lkYl9kZXN0cm95KCZuZXdwb2xpY3lkYik7CiAJcmV0dXJuIHJjOwpAQCAtMTQ3OSw3ICsxNTg2LDcgQEAKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAJaW50IHJjID0gMDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWMgPSBwb2xpY3lkYi5vY29udGV4dHNbT0NPTl9QT1JUXTsKIAl3aGlsZSAoYykgewpAQCAtMTUwNCw3ICsxNjExLDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTUxOCw3ICsxNjI1LDcgQEAKIAlpbnQgcmMgPSAwOwogCXN0cnVjdCBvY29udGV4dCAqYzsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWMgPSBwb2xpY3lkYi5vY29udGV4dHNbT0NPTl9ORVRJRl07CiAJd2hpbGUgKGMpIHsKQEAgLTE1NDUsNyArMTY1Miw3IEBACiAJCSppZl9zaWQgPSBTRUNJTklUU0lEX05FVElGOwogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE1NzcsNyArMTY4NCw3IEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlzd2l0Y2ggKGRvbWFpbikgewogCWNhc2UgQUZfSU5FVDogewpAQCAtMTYzMiw3ICsxNzM5LDcgQEAKIAl9CiAKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMTY3MSw3ICsxNzc4LDkgQEAKIAlpZiAoIXNzX2luaXRpYWxpemVkKQogCQlnb3RvIG91dDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKKworCWNvbnRleHRfaW5pdCgmdXNlcmNvbik7CiAKIAlmcm9tY29uID0gc2lkdGFiX3NlYXJjaCgmc2lkdGFiLCBmcm9tc2lkKTsKIAlpZiAoIWZyb21jb24pIHsKQEAgLTE3MjIsNyArMTgzMSw3IEBACiAJfQogCiBvdXRfdW5sb2NrOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJaWYgKHJjIHx8ICFteW5lbCkgewogCQlrZnJlZShteXNpZHMpOwogCQlnb3RvIG91dDsKQEAgLTE3NzUsNyArMTg4NCw3IEBACiAJd2hpbGUgKHBhdGhbMF0gPT0gJy8nICYmIHBhdGhbMV0gPT0gJy8nKQogCQlwYXRoKys7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlmb3IgKGdlbmZzID0gcG9saWN5ZGIuZ2VuZnM7IGdlbmZzOyBnZW5mcyA9IGdlbmZzLT5uZXh0KSB7CiAJCWNtcCA9IHN0cmNtcChmc3R5cGUsIGdlbmZzLT5mc3R5cGUpOwpAQCAtMTgxMiw3ICsxOTIxLDcgQEAKIAogCSpzaWQgPSBjLT5zaWRbMF07CiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTE4MzAsNyArMTkzOSw3IEBACiAJaW50IHJjID0gMDsKIAlzdHJ1Y3Qgb2NvbnRleHQgKmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAljID0gcG9saWN5ZGIub2NvbnRleHRzW09DT05fRlNVU0VdOwogCXdoaWxlIChjKSB7CkBAIC0xODYwLDcgKzE5NjksNyBAQAogCX0KIAogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogfQogCkBAIC0xODY4LDcgKzE5NzcsNyBAQAogewogCWludCBpLCByYyA9IC1FTk9NRU07CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAJKm5hbWVzID0gTlVMTDsKIAkqdmFsdWVzID0gTlVMTDsKIApAQCAtMTg5OCw3ICsyMDA3LDcgQEAKIAl9CiAJcmMgPSAwOwogb3V0OgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogZXJyOgogCWlmICgqbmFtZXMpIHsKQEAgLTE5MTYsNyArMjAyNSw3IEBACiAJaW50IGxlbnAsIHNlcW5vID0gMDsKIAlzdHJ1Y3QgY29uZF9ub2RlICpjdXI7CiAKLQlQT0xJQ1lfV1JMT0NLOworCXdyaXRlX2xvY2tfaXJxKCZwb2xpY3lfcndsb2NrKTsKIAogCWxlbnAgPSBwb2xpY3lkYi5wX2Jvb2xzLm5wcmltOwogCWlmIChsZW4gIT0gbGVucCkgewpAQCAtMTk1MCw3ICsyMDU5LDcgQEAKIAlzZXFubyA9ICsrbGF0ZXN0X2dyYW50aW5nOwogCiBvdXQ6Ci0JUE9MSUNZX1dSVU5MT0NLOworCXdyaXRlX3VubG9ja19pcnEoJnBvbGljeV9yd2xvY2spOwogCWlmICghcmMpIHsKIAkJYXZjX3NzX3Jlc2V0KHNlcW5vKTsKIAkJc2Vsbmxfbm90aWZ5X3BvbGljeWxvYWQoc2Vxbm8pOwpAQCAtMTk2NCw3ICsyMDczLDcgQEAKIAlpbnQgcmMgPSAwOwogCWludCBsZW47CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlsZW4gPSBwb2xpY3lkYi5wX2Jvb2xzLm5wcmltOwogCWlmIChib29sID49IGxlbikgewpAQCAtMTk3NCw3ICsyMDgzLDcgQEAKIAogCXJjID0gcG9saWN5ZGIuYm9vbF92YWxfdG9fc3RydWN0W2Jvb2xdLT5zdGF0ZTsKIG91dDoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KIApAQCAtMjAyOSw3ICsyMTM4LDcgQEAKIAogCWNvbnRleHRfaW5pdCgmbmV3Y29uKTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljb250ZXh0MSA9IHNpZHRhYl9zZWFyY2goJnNpZHRhYiwgc2lkKTsKIAlpZiAoIWNvbnRleHQxKSB7CiAJCXByaW50ayhLRVJOX0VSUiAiU0VMaW51eDogJXM6ICB1bnJlY29nbml6ZWQgU0lEICVkXG4iLApAQCAtMjA3MSw3ICsyMTgwLDcgQEAKIAl9CiAKIG91dF91bmxvY2s6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljb250ZXh0X2Rlc3Ryb3koJm5ld2Nvbik7CiBvdXQ6CiAJcmV0dXJuIHJjOwpAQCAtMjEyOCw3ICsyMjM3LDcgQEAKIAkJcmV0dXJuIDA7CiAJfQogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJbmxibF9jdHggPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIG5sYmxfc2lkKTsKIAlpZiAoIW5sYmxfY3R4KSB7CkBAIC0yMTQ3LDcgKzIyNTYsNyBAQAogCXJjID0gKG1sc19jb250ZXh0X2NtcChubGJsX2N0eCwgeGZybV9jdHgpID8gMCA6IC1FQUNDRVMpOwogCiBvdXRfc2xvd3BhdGg6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlpZiAocmMgPT0gMCkKIAkJLyogYXQgcHJlc2VudCBOZXRMYWJlbCBTSURzL2xhYmVscyByZWFsbHkgb25seSBjYXJyeSBNTFMKIAkJICogaW5mb3JtYXRpb24gc28gaWYgdGhlIE1MUyBwb3J0aW9uIG9mIHRoZSBOZXRMYWJlbCBTSUQKQEAgLTIxNzcsNyArMjI4Niw3IEBACiB7CiAJaW50IHJjID0gLUVOT01FTTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCSpuY2xhc3NlcyA9IHBvbGljeWRiLnBfY2xhc3Nlcy5ucHJpbTsKIAkqY2xhc3NlcyA9IGtjYWxsb2MoKm5jbGFzc2VzLCBzaXplb2YoKmNsYXNzZXMpLCBHRlBfQVRPTUlDKTsKQEAgLTIxOTQsNyArMjMwMyw3IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiB9CiAKQEAgLTIyMTYsNyArMjMyNSw3IEBACiAJaW50IHJjID0gLUVOT01FTSwgaTsKIAlzdHJ1Y3QgY2xhc3NfZGF0dW0gKm1hdGNoOwogCi0JUE9MSUNZX1JETE9DSzsKKwlyZWFkX2xvY2soJnBvbGljeV9yd2xvY2spOwogCiAJbWF0Y2ggPSBoYXNodGFiX3NlYXJjaChwb2xpY3lkYi5wX2NsYXNzZXMudGFibGUsIGNsYXNzKTsKIAlpZiAoIW1hdGNoKSB7CkBAIC0yMjQ0LDExICsyMzUzLDExIEBACiAJCWdvdG8gZXJyOwogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gcmM7CiAKIGVycjoKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCWZvciAoaSA9IDA7IGkgPCAqbnBlcm1zOyBpKyspCiAJCWtmcmVlKCgqcGVybXMpW2ldKTsKIAlrZnJlZSgqcGVybXMpOwpAQCAtMjI3OSw5ICsyMzg4LDkgQEAKIHsKIAlpbnQgcmM7CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmMgPSBlYml0bWFwX2dldF9iaXQoJnBvbGljeWRiLnBvbGljeWNhcHMsIHJlcV9jYXApOwotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlyZXR1cm4gcmM7CiB9CkBAIC0yMzQ1LDcgKzI0NTQsNyBAQAogCiAJY29udGV4dF9pbml0KCZ0bXBydWxlLT5hdV9jdHh0KTsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXRtcHJ1bGUtPmF1X3NlcW5vID0gbGF0ZXN0X2dyYW50aW5nOwogCkBAIC0yMzgyLDcgKzI0OTEsNyBAQAogCQlicmVhazsKIAl9CiAKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCiAJaWYgKHJjKSB7CiAJCXNlbGludXhfYXVkaXRfcnVsZV9mcmVlKHRtcHJ1bGUpOwpAQCAtMjQyMCw3ICsyNTI5LDcgQEAKIH0KIAogaW50IHNlbGludXhfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2lkLCB1MzIgZmllbGQsIHUzMiBvcCwgdm9pZCAqdnJ1bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhdWRpdF9jb250ZXh0ICphY3R4KQorCQkJICAgICBzdHJ1Y3QgYXVkaXRfY29udGV4dCAqYWN0eCkKIHsKIAlzdHJ1Y3QgY29udGV4dCAqY3R4dDsKIAlzdHJ1Y3QgbWxzX2xldmVsICpsZXZlbDsKQEAgLTI0MzMsNyArMjU0Miw3IEBACiAJCXJldHVybiAtRU5PRU5UOwogCX0KIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCWlmIChydWxlLT5hdV9zZXFubyA8IGxhdGVzdF9ncmFudGluZykgewogCQlhdWRpdF9sb2coYWN0eCwgR0ZQX0FUT01JQywgQVVESVRfU0VMSU5VWF9FUlIsCkBAIC0yNTI3LDE0ICsyNjM2LDE0IEBACiAJfQogCiBvdXQ6Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAlyZXR1cm4gbWF0Y2g7CiB9CiAKIHN0YXRpYyBpbnQgKCphdXJ1bGVfY2FsbGJhY2spKHZvaWQpID0gYXVkaXRfdXBkYXRlX2xzbV9ydWxlczsKIAogc3RhdGljIGludCBhdXJ1bGVfYXZjX2NhbGxiYWNrKHUzMiBldmVudCwgdTMyIHNzaWQsIHUzMiB0c2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUxNiBjbGFzcywgdTMyIHBlcm1zLCB1MzIgKnJldGFpbmVkKQorCQkJICAgICAgIHUxNiBjbGFzcywgdTMyIHBlcm1zLCB1MzIgKnJldGFpbmVkKQogewogCWludCBlcnIgPSAwOwogCkBAIC0yNjE1LDcgKzI3MjQsNyBAQAogCQlyZXR1cm4gMDsKIAl9CiAKLQlQT0xJQ1lfUkRMT0NLOworCXJlYWRfbG9jaygmcG9saWN5X3J3bG9jayk7CiAKIAlpZiAoc2VjYXR0ci0+ZmxhZ3MgJiBORVRMQkxfU0VDQVRUUl9DQUNIRSkgewogCQkqc2lkID0gKih1MzIgKilzZWNhdHRyLT5jYWNoZS0+ZGF0YTsKQEAgLTI2NjAsNyArMjc2OSw3IEBACiAJfQogCiBuZXRsYmxfc2VjYXR0cl90b19zaWRfcmV0dXJuOgotCVBPTElDWV9SRFVOTE9DSzsKKwlyZWFkX3VubG9jaygmcG9saWN5X3J3bG9jayk7CiAJcmV0dXJuIHJjOwogbmV0bGJsX3NlY2F0dHJfdG9fc2lkX3JldHVybl9jbGVhbnVwOgogCWViaXRtYXBfZGVzdHJveSgmY3R4X25ldy5yYW5nZS5sZXZlbFswXS5jYXQpOwpAQCAtMjY4NSw3ICsyNzk0LDcgQEAKIAlpZiAoIXNzX2luaXRpYWxpemVkKQogCQlyZXR1cm4gMDsKIAotCVBPTElDWV9SRExPQ0s7CisJcmVhZF9sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAljdHggPSBzaWR0YWJfc2VhcmNoKCZzaWR0YWIsIHNpZCk7CiAJaWYgKGN0eCA9PSBOVUxMKQogCQlnb3RvIG5ldGxibF9zaWRfdG9fc2VjYXR0cl9mYWlsdXJlOwpAQCAtMjY5NiwxMiArMjgwNSwxMiBAQAogCXJjID0gbWxzX2V4cG9ydF9uZXRsYmxfY2F0KGN0eCwgc2VjYXR0cik7CiAJaWYgKHJjICE9IDApCiAJCWdvdG8gbmV0bGJsX3NpZF90b19zZWNhdHRyX2ZhaWx1cmU7Ci0JUE9MSUNZX1JEVU5MT0NLOworCXJlYWRfdW5sb2NrKCZwb2xpY3lfcndsb2NrKTsKIAogCXJldHVybiAwOwogCiBuZXRsYmxfc2lkX3RvX3NlY2F0dHJfZmFpbHVyZToKLQlQT0xJQ1lfUkRVTkxPQ0s7CisJcmVhZF91bmxvY2soJnBvbGljeV9yd2xvY2spOwogCXJldHVybiByYzsKIH0KICNlbmRpZiAvKiBDT05GSUdfTkVUTEFCRUwgKi8KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmMgYi9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5jCmluZGV4IDRhNTE2ZmYuLmE4MWRlZDEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmMKKysrIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuYwpAQCAtMTQsMTAgKzE0LDYgQEAKICNkZWZpbmUgU0lEVEFCX0hBU0goc2lkKSBcCiAoc2lkICYgU0lEVEFCX0hBU0hfTUFTSykKIAotI2RlZmluZSBJTklUX1NJRFRBQl9MT0NLKHMpIHNwaW5fbG9ja19pbml0KCZzLT5sb2NrKQotI2RlZmluZSBTSURUQUJfTE9DSyhzLCB4KSBzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgeCkKLSNkZWZpbmUgU0lEVEFCX1VOTE9DSyhzLCB4KSBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCB4KQotCiBpbnQgc2lkdGFiX2luaXQoc3RydWN0IHNpZHRhYiAqcykKIHsKIAlpbnQgaTsKQEAgLTMwLDcgKzI2LDcgQEAKIAlzLT5uZWwgPSAwOwogCXMtPm5leHRfc2lkID0gMTsKIAlzLT5zaHV0ZG93biA9IDA7Ci0JSU5JVF9TSURUQUJfTE9DSyhzKTsKKwlzcGluX2xvY2tfaW5pdCgmcy0+bG9jayk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTg2LDcgKzgyLDcgQEAKIAlyZXR1cm4gcmM7CiB9CiAKLXN0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpCitzdGF0aWMgc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2hfY29yZShzdHJ1Y3Qgc2lkdGFiICpzLCB1MzIgc2lkLCBpbnQgZm9yY2UpCiB7CiAJaW50IGh2YWx1ZTsKIAlzdHJ1Y3Qgc2lkdGFiX25vZGUgKmN1cjsKQEAgLTk5LDcgKzk1LDEwIEBACiAJd2hpbGUgKGN1ciAhPSBOVUxMICYmIHNpZCA+IGN1ci0+c2lkKQogCQljdXIgPSBjdXItPm5leHQ7CiAKLQlpZiAoY3VyID09IE5VTEwgfHwgc2lkICE9IGN1ci0+c2lkKSB7CisJaWYgKGZvcmNlICYmIGN1ciAmJiBzaWQgPT0gY3VyLT5zaWQgJiYgY3VyLT5jb250ZXh0LmxlbikKKwkJcmV0dXJuICZjdXItPmNvbnRleHQ7CisKKwlpZiAoY3VyID09IE5VTEwgfHwgc2lkICE9IGN1ci0+c2lkIHx8IGN1ci0+Y29udGV4dC5sZW4pIHsKIAkJLyogUmVtYXAgaW52YWxpZCBTSURzIHRvIHRoZSB1bmxhYmVsZWQgU0lELiAqLwogCQlzaWQgPSBTRUNJTklUU0lEX1VOTEFCRUxFRDsKIAkJaHZhbHVlID0gU0lEVEFCX0hBU0goc2lkKTsKQEAgLTExMyw2ICsxMTIsMTYgQEAKIAlyZXR1cm4gJmN1ci0+Y29udGV4dDsKIH0KIAorc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2goc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCkKK3sKKwlyZXR1cm4gc2lkdGFiX3NlYXJjaF9jb3JlKHMsIHNpZCwgMCk7Cit9CisKK3N0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoX2ZvcmNlKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpCit7CisJcmV0dXJuIHNpZHRhYl9zZWFyY2hfY29yZShzLCBzaWQsIDEpOworfQorCiBpbnQgc2lkdGFiX21hcChzdHJ1Y3Qgc2lkdGFiICpzLAogCSAgICAgICBpbnQgKCphcHBseSkgKHUzMiBzaWQsCiAJCQkgICAgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LApAQCAtMTM4LDQzICsxNDcsNiBAQAogCXJldHVybiByYzsKIH0KIAotdm9pZCBzaWR0YWJfbWFwX3JlbW92ZV9vbl9lcnJvcihzdHJ1Y3Qgc2lkdGFiICpzLAotCQkJCWludCAoKmFwcGx5KSAodTMyIHNpZCwKLQkJCQkJICAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCi0JCQkJCSAgICAgIHZvaWQgKmFyZ3MpLAotCQkJCXZvaWQgKmFyZ3MpCi17Ci0JaW50IGksIHJldDsKLQlzdHJ1Y3Qgc2lkdGFiX25vZGUgKmxhc3QsICpjdXIsICp0ZW1wOwotCi0JaWYgKCFzKQotCQlyZXR1cm47Ci0KLQlmb3IgKGkgPSAwOyBpIDwgU0lEVEFCX1NJWkU7IGkrKykgewotCQlsYXN0ID0gTlVMTDsKLQkJY3VyID0gcy0+aHRhYmxlW2ldOwotCQl3aGlsZSAoY3VyICE9IE5VTEwpIHsKLQkJCXJldCA9IGFwcGx5KGN1ci0+c2lkLCAmY3VyLT5jb250ZXh0LCBhcmdzKTsKLQkJCWlmIChyZXQpIHsKLQkJCQlpZiAobGFzdCkKLQkJCQkJbGFzdC0+bmV4dCA9IGN1ci0+bmV4dDsKLQkJCQllbHNlCi0JCQkJCXMtPmh0YWJsZVtpXSA9IGN1ci0+bmV4dDsKLQkJCQl0ZW1wID0gY3VyOwotCQkJCWN1ciA9IGN1ci0+bmV4dDsKLQkJCQljb250ZXh0X2Rlc3Ryb3koJnRlbXAtPmNvbnRleHQpOwotCQkJCWtmcmVlKHRlbXApOwotCQkJCXMtPm5lbC0tOwotCQkJfSBlbHNlIHsKLQkJCQlsYXN0ID0gY3VyOwotCQkJCWN1ciA9IGN1ci0+bmV4dDsKLQkJCX0KLQkJfQotCX0KLQotCXJldHVybjsKLX0KLQogc3RhdGljIGlubGluZSB1MzIgc2lkdGFiX3NlYXJjaF9jb250ZXh0KHN0cnVjdCBzaWR0YWIgKnMsCiAJCQkJCQkgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0KQogewpAQCAtMjA0LDcgKzE3Niw3IEBACiAKIAlzaWQgPSBzaWR0YWJfc2VhcmNoX2NvbnRleHQocywgY29udGV4dCk7CiAJaWYgKCFzaWQpIHsKLQkJU0lEVEFCX0xPQ0socywgZmxhZ3MpOworCQlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwogCQkvKiBSZXNjYW4gbm93IHRoYXQgd2UgaG9sZCB0aGUgbG9jay4gKi8KIAkJc2lkID0gc2lkdGFiX3NlYXJjaF9jb250ZXh0KHMsIGNvbnRleHQpOwogCQlpZiAoc2lkKQpAQCAtMjE1LDExICsxODcsMTUgQEAKIAkJCWdvdG8gdW5sb2NrX291dDsKIAkJfQogCQlzaWQgPSBzLT5uZXh0X3NpZCsrOworCQlpZiAoY29udGV4dC0+bGVuKQorCQkJcHJpbnRrKEtFUk5fSU5GTworCQkgICAgICAgIlNFTGludXg6ICBDb250ZXh0ICVzIGlzIG5vdCB2YWxpZCAobGVmdCB1bm1hcHBlZCkuXG4iLAorCQkJICAgICAgIGNvbnRleHQtPnN0cik7CiAJCXJldCA9IHNpZHRhYl9pbnNlcnQocywgc2lkLCBjb250ZXh0KTsKIAkJaWYgKHJldCkKIAkJCXMtPm5leHRfc2lkLS07CiB1bmxvY2tfb3V0OgotCQlTSURUQUJfVU5MT0NLKHMsIGZsYWdzKTsKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcy0+bG9jaywgZmxhZ3MpOwogCX0KIAogCWlmIChyZXQpCkBAIC0yODQsMTkgKzI2MCwxOSBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlTSURUQUJfTE9DSyhzcmMsIGZsYWdzKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmc3JjLT5sb2NrLCBmbGFncyk7CiAJZHN0LT5odGFibGUgPSBzcmMtPmh0YWJsZTsKIAlkc3QtPm5lbCA9IHNyYy0+bmVsOwogCWRzdC0+bmV4dF9zaWQgPSBzcmMtPm5leHRfc2lkOwogCWRzdC0+c2h1dGRvd24gPSAwOwotCVNJRFRBQl9VTkxPQ0soc3JjLCBmbGFncyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc3JjLT5sb2NrLCBmbGFncyk7CiB9CiAKIHZvaWQgc2lkdGFiX3NodXRkb3duKHN0cnVjdCBzaWR0YWIgKnMpCiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCVNJRFRBQl9MT0NLKHMsIGZsYWdzKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmcy0+bG9jaywgZmxhZ3MpOwogCXMtPnNodXRkb3duID0gMTsKLQlTSURUQUJfVU5MT0NLKHMsIGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzLT5sb2NrLCBmbGFncyk7CiB9CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5oIGIvc2VjdXJpdHkvc2VsaW51eC9zcy9zaWR0YWIuaAppbmRleCAyZmU5ZGZhLi42NGVhNWIxIDEwMDY0NAotLS0gYS9zZWN1cml0eS9zZWxpbnV4L3NzL3NpZHRhYi5oCisrKyBiL3NlY3VyaXR5L3NlbGludXgvc3Mvc2lkdGFiLmgKQEAgLTMyLDYgKzMyLDcgQEAKIGludCBzaWR0YWJfaW5pdChzdHJ1Y3Qgc2lkdGFiICpzKTsKIGludCBzaWR0YWJfaW5zZXJ0KHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQsIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0KTsKIHN0cnVjdCBjb250ZXh0ICpzaWR0YWJfc2VhcmNoKHN0cnVjdCBzaWR0YWIgKnMsIHUzMiBzaWQpOworc3RydWN0IGNvbnRleHQgKnNpZHRhYl9zZWFyY2hfZm9yY2Uoc3RydWN0IHNpZHRhYiAqcywgdTMyIHNpZCk7CiAKIGludCBzaWR0YWJfbWFwKHN0cnVjdCBzaWR0YWIgKnMsCiAJICAgICAgIGludCAoKmFwcGx5KSAodTMyIHNpZCwKQEAgLTM5LDEyICs0MCw2IEBACiAJCQkgICAgIHZvaWQgKmFyZ3MpLAogCSAgICAgICB2b2lkICphcmdzKTsKIAotdm9pZCBzaWR0YWJfbWFwX3JlbW92ZV9vbl9lcnJvcihzdHJ1Y3Qgc2lkdGFiICpzLAotCQkJCWludCAoKmFwcGx5KSAodTMyIHNpZCwKLQkJCQkJICAgICAgc3RydWN0IGNvbnRleHQgKmNvbnRleHQsCi0JCQkJCSAgICAgIHZvaWQgKmFyZ3MpLAotCQkJCXZvaWQgKmFyZ3MpOwotCiBpbnQgc2lkdGFiX2NvbnRleHRfdG9fc2lkKHN0cnVjdCBzaWR0YWIgKnMsCiAJCQkgIHN0cnVjdCBjb250ZXh0ICpjb250ZXh0LAogCQkJICB1MzIgKnNpZCk7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCmluZGV4IDRhMDkyOTMuLmVlNWE1MWMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCisrKyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xzbS5jCkBAIC05NSwxMSArOTUsMTIgQEAKICAqCiAgKiBEbyB0aGUgY2FwYWJpbGl0eSBjaGVja3MsIGFuZCByZXF1aXJlIHJlYWQgYW5kIHdyaXRlLgogICovCi1zdGF0aWMgaW50IHNtYWNrX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnB0cCwgc3RydWN0IHRhc2tfc3RydWN0ICpjdHApCitzdGF0aWMgaW50IHNtYWNrX3B0cmFjZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnB0cCwgc3RydWN0IHRhc2tfc3RydWN0ICpjdHAsCisJCQl1bnNpZ25lZCBpbnQgbW9kZSkKIHsKIAlpbnQgcmM7CiAKLQlyYyA9IGNhcF9wdHJhY2UocHRwLCBjdHApOworCXJjID0gY2FwX3B0cmFjZShwdHAsIGN0cCwgbW9kZSk7CiAJaWYgKHJjICE9IDApCiAJCXJldHVybiByYzsKIApAQCAtMTgyMSwyNyArMTgyMiw2IEBACiAJKnNlY2lkID0gc21hY2tfdG9fc2VjaWQoc21hY2spOwogfQogCi0vKiBtb2R1bGUgc3RhY2tpbmcgb3BlcmF0aW9ucyAqLwotCi0vKioKLSAqIHNtYWNrX3JlZ2lzdGVyX3NlY3VyaXR5IC0gc3RhY2sgY2FwYWJpbGl0eSBtb2R1bGUKLSAqIEBuYW1lOiBtb2R1bGUgbmFtZQotICogQG9wczogbW9kdWxlIG9wZXJhdGlvbnMgLSBpZ25vcmVkCi0gKgotICogQWxsb3cgdGhlIGNhcGFiaWxpdHkgbW9kdWxlIHRvIHJlZ2lzdGVyLgotICovCi1zdGF0aWMgaW50IHNtYWNrX3JlZ2lzdGVyX3NlY3VyaXR5KGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJICAgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgKm9wcykKLXsKLQlpZiAoc3RyY21wKG5hbWUsICJjYXBhYmlsaXR5IikgIT0gMCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlwcmludGsoS0VSTl9JTkZPICIlczogIFJlZ2lzdGVyaW5nIHNlY29uZGFyeSBtb2R1bGUgJXNcbiIsCi0JICAgICAgIF9fZnVuY19fLCBuYW1lKTsKLQotCXJldHVybiAwOwotfQotCiAvKioKICAqIHNtYWNrX2RfaW5zdGFudGlhdGUgLSBNYWtlIHN1cmUgdGhlIGJsb2IgaXMgY29ycmVjdCBvbiBhbiBpbm9kZQogICogQG9wdF9kZW50cnk6IHVudXNlZApAQCAtMjY3Miw4ICsyNjUyLDYgQEAKIAkubmV0bGlua19zZW5kID0JCQljYXBfbmV0bGlua19zZW5kLAogCS5uZXRsaW5rX3JlY3YgPSAJCWNhcF9uZXRsaW5rX3JlY3YsCiAKLQkucmVnaXN0ZXJfc2VjdXJpdHkgPSAJCXNtYWNrX3JlZ2lzdGVyX3NlY3VyaXR5LAotCiAJLmRfaW5zdGFudGlhdGUgPSAJCXNtYWNrX2RfaW5zdGFudGlhdGUsCiAKIAkuZ2V0cHJvY2F0dHIgPSAJCQlzbWFja19nZXRwcm9jYXR0ciwKZGlmZiAtLWdpdCBhL3NvdW5kL0tjb25maWcgYi9zb3VuZC9LY29uZmlnCmluZGV4IDQyNDc0MDYuLmEzN2JlZTAgMTAwNjQ0Ci0tLSBhL3NvdW5kL0tjb25maWcKKysrIGIvc291bmQvS2NvbmZpZwpAQCAtMSwxMSArMSw5IEBACiAjIHNvdW5kL0NvbmZpZy5pbgogIwogCi1tZW51ICJTb3VuZCIKLQlkZXBlbmRzIG9uIEhBU19JT01FTQotCi1jb25maWcgU09VTkQKK21lbnVjb25maWcgU09VTkQKIAl0cmlzdGF0ZSAiU291bmQgY2FyZCBzdXBwb3J0IgorCWRlcGVuZHMgb24gSEFTX0lPTUVNCiAJaGVscAogCSAgSWYgeW91IGhhdmUgYSBzb3VuZCBjYXJkIGluIHlvdXIgY29tcHV0ZXIsIGkuZS4gaWYgaXQgY2FuIHNheSBtb3JlCiAJICB0aGFuIGFuIG9jY2FzaW9uYWwgYmVlcCwgc2F5IFkuICBCZSBzdXJlIHRvIGhhdmUgYWxsIHRoZSBpbmZvcm1hdGlvbgpAQCAtMjgsMjIgKzI2LDIyIEBACiAJICBhbmQgcmVhZCA8ZmlsZTpEb2N1bWVudGF0aW9uL3NvdW5kL29zcy9SRUFETUUubW9kdWxlcz47IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNvdW5kY29yZS4KIAoraWYgU09VTkQKKwogc291cmNlICJzb3VuZC9vc3MvZG1hc291bmQvS2NvbmZpZyIKIAogaWYgIU02OEsKIAotbWVudSAiQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlIgotCWRlcGVuZHMgb24gU09VTkQhPW4KLQotY29uZmlnIFNORAorbWVudWNvbmZpZyBTTkQKIAl0cmlzdGF0ZSAiQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlIgotCWRlcGVuZHMgb24gU09VTkQKIAloZWxwCiAJICBTYXkgJ1knIG9yICdNJyB0byBlbmFibGUgQUxTQSAoQWR2YW5jZWQgTGludXggU291bmQgQXJjaGl0ZWN0dXJlKSwKIAkgIHRoZSBuZXcgYmFzZSBzb3VuZCBzeXN0ZW0uCiAKIAkgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgPGh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy8+CiAKK2lmIFNORAorCiBzb3VyY2UgInNvdW5kL2NvcmUvS2NvbmZpZyIKIAogc291cmNlICJzb3VuZC9kcml2ZXJzL0tjb25maWciCkBAIC01OCw5ICs1Niw3IEBACiAKIHNvdXJjZSAic291bmQvYXJtL0tjb25maWciCiAKLWlmIFNQSQogc291cmNlICJzb3VuZC9zcGkvS2NvbmZpZyIKLWVuZGlmCiAKIHNvdXJjZSAic291bmQvbWlwcy9LY29uZmlnIgogCkBAIC04MCwyMiArNzYsMjAgQEAKIAogc291cmNlICJzb3VuZC9zb2MvS2NvbmZpZyIKIAotZW5kbWVudQorZW5kaWYgIyBTTkQKIAotbWVudSAiT3BlbiBTb3VuZCBTeXN0ZW0iCi0JZGVwZW5kcyBvbiBTT1VORCE9bgotCi1jb25maWcgU09VTkRfUFJJTUUKK21lbnVjb25maWcgU09VTkRfUFJJTUUKIAl0cmlzdGF0ZSAiT3BlbiBTb3VuZCBTeXN0ZW0gKERFUFJFQ0FURUQpIgotCWRlcGVuZHMgb24gU09VTkQKIAloZWxwCiAJICBTYXkgJ1knIG9yICdNJyB0byBlbmFibGUgT3BlbiBTb3VuZCBTeXN0ZW0gZHJpdmVycy4KIAoraWYgU09VTkRfUFJJTUUKKwogc291cmNlICJzb3VuZC9vc3MvS2NvbmZpZyIKIAotZW5kbWVudQorZW5kaWYgIyBTT1VORF9QUklNRQogCi1lbmRpZgorZW5kaWYgIyAhTTY4SwogCiBjb25maWcgQUM5N19CVVMKIAl0cmlzdGF0ZQpAQCAtMTA1LDQgKzk5LDQgQEAKIAkgIHNvdW5kIGFsdGhvdWdoIHRoZXkncmUgc2hhcmluZyB0aGUgQUM5NyBidXMuIENvbmNlcm5lZCBkcml2ZXJzCiAJICBzaG91bGQgInNlbGVjdCIgdGhpcy4KIAotZW5kbWVudQorZW5kaWYgIyBTT1VORApkaWZmIC0tZ2l0IGEvc291bmQvYW9hL0tjb25maWcgYi9zb3VuZC9hb2EvS2NvbmZpZwppbmRleCA1ZDU4MTNjLi5jMDgxZTE4IDEwMDY0NAotLS0gYS9zb3VuZC9hb2EvS2NvbmZpZworKysgYi9zb3VuZC9hb2EvS2NvbmZpZwpAQCAtMSwxOCArMSwxNyBAQAotbWVudSAiQXBwbGUgT25ib2FyZCBBdWRpbyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgUFBDX1BNQUMKLQotY29uZmlnIFNORF9BT0EKK21lbnVjb25maWcgU05EX0FPQQogCXRyaXN0YXRlICJBcHBsZSBPbmJvYXJkIEF1ZGlvIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAorCWRlcGVuZHMgb24gUFBDX1BNQUMKIAlzZWxlY3QgU05EX1BDTQogCS0tLWhlbHAtLS0KIAlUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBuZXcgZHJpdmVyIGZvciB0aGUgdmFyaW91cwogCUFwcGxlIE9uYm9hcmQgQXVkaW8gY29tcG9uZW50cy4KIAoraWYgU05EX0FPQQorCiBzb3VyY2UgInNvdW5kL2FvYS9mYWJyaWNzL0tjb25maWciCiAKIHNvdXJjZSAic291bmQvYW9hL2NvZGVjcy9LY29uZmlnIgogCiBzb3VyY2UgInNvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnIgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9BT0EKZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZyBiL3NvdW5kL2FvYS9jb2RlY3MvS2NvbmZpZwppbmRleCBkNWZiZDYwLi44MDhlYjExIDEwMDY0NAotLS0gYS9zb3VuZC9hb2EvY29kZWNzL0tjb25maWcKKysrIGIvc291bmQvYW9hL2NvZGVjcy9LY29uZmlnCkBAIC0xLDYgKzEsNSBAQAogY29uZmlnIFNORF9BT0FfT05ZWAogCXRyaXN0YXRlICJzdXBwb3J0IE9ueXggY2hpcCIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAlzZWxlY3QgSTJDCiAJc2VsZWN0IEkyQ19QT1dFUk1BQwogCS0tLWhlbHAtLS0KQEAgLTEwLDcgKzksNiBAQAogCiAjY29uZmlnIFNORF9BT0FfVE9QQVoKICMJdHJpc3RhdGUgInN1cHBvcnQgVG9wYXogY2hpcHMiCi0jCWRlcGVuZHMgb24gU05EX0FPQQogIwktLS1oZWxwLS0tCiAjCVRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIFRvcGF6IChDUzg0eHgpCiAjCWNvZGVjIGNoaXBzIGZvdW5kIGluIHRoZSBsYXRlc3QgQXBwbGUgbWFjaGluZXMsCkBAIC0xOSw3ICsxNyw2IEBACiAKIGNvbmZpZyBTTkRfQU9BX1RBUwogCXRyaXN0YXRlICJzdXBwb3J0IFRBUyBjaGlwcyIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAlzZWxlY3QgSTJDCiAJc2VsZWN0IEkyQ19QT1dFUk1BQwogCS0tLWhlbHAtLS0KQEAgLTI5LDcgKzI2LDYgQEAKIAogY29uZmlnIFNORF9BT0FfVE9PTklFCiAJdHJpc3RhdGUgInN1cHBvcnQgVG9vbmllIGNoaXAiCi0JZGVwZW5kcyBvbiBTTkRfQU9BCiAJLS0taGVscC0tLQogCVRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIHRvb25pZSBjb2RlYwogCWZvdW5kIGluIHRoZSBNYWMgTWluaS4gSWYgeW91IGhhdmUgYSBNYWMgTWluaSBhbmQKZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9mYWJyaWNzL0tjb25maWcgYi9zb3VuZC9hb2EvZmFicmljcy9LY29uZmlnCmluZGV4IDUwZDcwMjEuLjNjYTQ3NWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FvYS9mYWJyaWNzL0tjb25maWcKKysrIGIvc291bmQvYW9hL2ZhYnJpY3MvS2NvbmZpZwpAQCAtMSw2ICsxLDUgQEAKIGNvbmZpZyBTTkRfQU9BX0ZBQlJJQ19MQVlPVVQKIAl0cmlzdGF0ZSAibGF5b3V0LWlkIGZhYnJpYyIKLQlkZXBlbmRzIG9uIFNORF9BT0EKIAlzZWxlY3QgU05EX0FPQV9TT1VOREJVUwogCXNlbGVjdCBTTkRfQU9BX1NPVU5EQlVTX0kyUwogCS0tLWhlbHAtLS0KZGlmZiAtLWdpdCBhL3NvdW5kL2FvYS9zb3VuZGJ1cy9LY29uZmlnIGIvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcKaW5kZXggNzM2OGI3ZC4uODM5ZDExMyAxMDA2NDQKLS0tIGEvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcKKysrIGIvc291bmQvYW9hL3NvdW5kYnVzL0tjb25maWcKQEAgLTEsNiArMSw1IEBACiBjb25maWcgU05EX0FPQV9TT1VOREJVUwogCXRyaXN0YXRlICJBcHBsZSBTb3VuZGJ1cyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkQKIAlzZWxlY3QgU05EX1BDTQogCS0tLWhlbHAtLS0KIAlUaGlzIG9wdGlvbiBlbmFibGVzIHRoZSBnZW5lcmljIGRyaXZlciBmb3IgdGhlIHNvdW5kYnVzCmRpZmYgLS1naXQgYS9zb3VuZC9hcm0vS2NvbmZpZyBiL3NvdW5kL2FybS9LY29uZmlnCmluZGV4IDJlNGE1ZTAuLjM1MWUxOWUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FybS9LY29uZmlnCisrKyBiL3NvdW5kL2FybS9LY29uZmlnCkBAIC0xLDExICsxLDE5IEBACiAjIEFMU0EgQVJNIGRyaXZlcnMKIAotbWVudSAiQUxTQSBBUk0gZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBBUk0KK21lbnVjb25maWcgU05EX0FSTQorCWJvb2wgIkFSTSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gQVJNCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBzcGVjaWZpYyB0byBBUk0gYXJjaGl0ZWN0dXJlcy4KKwkgIERyaXZlcnMgdGhhdCBhcmUgaW1wbGVtZW50ZWQgb24gQVNvQyBjYW4gYmUgZm91bmQgaW4KKwkgICJBTFNBIGZvciBTb0MgYXVkaW8gc3VwcG9ydCIgc2VjdGlvbi4KKworaWYgU05EX0FSTQogCiBjb25maWcgU05EX1NBMTFYWF9VREExMzQxCiAJdHJpc3RhdGUgIlNBMTF4eCBVREExMzQxVFMgZHJpdmVyIChpUGFxIEgzNjAwKSIKLQlkZXBlbmRzIG9uIEFSQ0hfU0ExMTAwICYmIFNORCAmJiBMMworCWRlcGVuZHMgb24gQVJDSF9TQTExMDAgJiYgTDMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGhhdmUgYSBDb21wYXEgaVBhcSBIM3gwMCBoYW5kaGVsZCBjb21wdXRlcgpAQCAtMTYsNyArMjQsNyBAQAogCiBjb25maWcgU05EX0FSTUFBQ0kKIAl0cmlzdGF0ZSAiQVJNIFByaW1lQ2VsbCBQTDA0MSBBQyBMaW5rIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgQVJNX0FNQkEKKwlkZXBlbmRzIG9uIEFSTV9BTUJBCiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIApAQCAtMjYsMTEgKzM0LDEyIEBACiAKIGNvbmZpZyBTTkRfUFhBMlhYX0FDOTcKIAl0cmlzdGF0ZSAiQUM5NyBkcml2ZXIgZm9yIHRoZSBJbnRlbCBQWEEyeHggY2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfUFhBICYmIFNORAorCWRlcGVuZHMgb24gQVJDSF9QWEEKIAlzZWxlY3QgU05EX1BYQTJYWF9QQ00KIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgYW55IEFDOTcgY29kZWMgYXR0YWNoZWQgdG8KIAkgIHRoZSBQWEEyeHggQUM5NyBpbnRlcmZhY2UuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0FSTQorCmRpZmYgLS1naXQgYS9zb3VuZC9hcm0vc2ExMXh4LXVkYTEzNDEuYyBiL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jCmluZGV4IDBlZmYzM2MuLmZhZWRkZjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jCisrKyBiL3NvdW5kL2FybS9zYTExeHgtdWRhMTM0MS5jCkBAIC0yMSw4ICsyMSw2IEBACiAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lcmdlZCBIQUwgbGF5ZXIgKHBhdGNoZXMgZnJvbSBCcmlhbikKICAqLwogCi0vKiAkSWQ6IHNhMTF4eC11ZGExMzQxLmMsdiAxLjI3IDIwMDUvMTIvMDcgMDk6MTM6NDIgY2xhZGlzY2ggRXhwICQgKi8KLQogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKgogKiBUbyB1bmRlcnN0YW5kIHdoYXQgQWxzYSBEcml2ZXJzIHNob3VsZCBiZSBkb2luZyBsb29rIGF0ICJXcml0aW5nIGFuIEFsc2EgRHJpdmVyIiBieSBUYWthc2hpIEl3YWkKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvS2NvbmZpZyBiL3NvdW5kL2NvcmUvS2NvbmZpZwppbmRleCBhOGQ3MWM2Li4zMzVkNDVlIDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL0tjb25maWcKKysrIGIvc291bmQvY29yZS9LY29uZmlnCkBAIC0xLDI0ICsxLDE5IEBACiAjIEFMU0Egc291bmRjYXJkLWNvbmZpZ3VyYXRpb24KIGNvbmZpZyBTTkRfVElNRVIKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05ECiAKIGNvbmZpZyBTTkRfUENNCiAJdHJpc3RhdGUKIAlzZWxlY3QgU05EX1RJTUVSCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9IV0RFUAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9SQVdNSURJCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORAogCiBjb25maWcgU05EX1NFUVVFTkNFUgogCXRyaXN0YXRlICJTZXF1ZW5jZXIgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfVElNRVIKIAloZWxwCiAJICBTYXkgWSBvciBNIHRvIGVuYWJsZSBNSURJIHNlcXVlbmNlciBhbmQgcm91dGVyIHN1cHBvcnQuICBUaGlzCkBAIC00NCwxMSArMzksOSBAQAogCiBjb25maWcgU05EX09TU0VNVUwKIAlib29sCi0JZGVwZW5kcyBvbiBTTkQKIAogY29uZmlnIFNORF9NSVhFUl9PU1MKIAl0cmlzdGF0ZSAiT1NTIE1peGVyIEFQSSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1NTRU1VTAogCWhlbHAKIAkgIFRvIGVuYWJsZSBPU1MgbWl4ZXIgQVBJIGVtdWxhdGlvbiAoL2Rldi9taXhlciopLCBzYXkgWSBoZXJlCkBAIC02MSw3ICs1NCw2IEBACiAKIGNvbmZpZyBTTkRfUENNX09TUwogCXRyaXN0YXRlICJPU1MgUENNIChkaWdpdGFsIGF1ZGlvKSBBUEkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09TU0VNVUwKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTg0LDcgKzc2LDcgQEAKIAogY29uZmlnIFNORF9TRVFVRU5DRVJfT1NTCiAJYm9vbCAiT1NTIFNlcXVlbmNlciBBUEkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgU05EX1NFUVVFTkNFUgorCWRlcGVuZHMgb24gU05EX1NFUVVFTkNFUgogCXNlbGVjdCBTTkRfT1NTRU1VTAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIE9TUyBzZXF1ZW5jZXIgZW11bGF0aW9uIChib3RoCkBAIC05OCw3ICs5MCw3IEBACiAKIGNvbmZpZyBTTkRfUlRDVElNRVIKIAl0cmlzdGF0ZSAiUlRDIFRpbWVyIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUlRDCisJZGVwZW5kcyBvbiBSVEMKIAlzZWxlY3QgU05EX1RJTUVSCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgUlRDIHRpbWVyIHN1cHBvcnQgZm9yIEFMU0EuICBBTFNBIHVzZXMKQEAgLTEyMyw3ICsxMTUsNiBAQAogCiBjb25maWcgU05EX0RZTkFNSUNfTUlOT1JTCiAJYm9vbCAiRHluYW1pYyBkZXZpY2UgZmlsZSBtaW5vciBudW1iZXJzIgotCWRlcGVuZHMgb24gU05ECiAJaGVscAogCSAgSWYgeW91IHNheSBZIGhlcmUsIHRoZSBtaW5vciBudW1iZXJzIG9mIEFMU0EgZGV2aWNlIGZpbGVzIGluCiAJICAvZGV2L3NuZC8gYXJlIGFsbG9jYXRlZCBkeW5hbWljYWxseS4gIFRoaXMgYWxsb3dzIHlvdSB0byBoYXZlCkBAIC0xMzQsNyArMTI1LDYgQEAKIAogY29uZmlnIFNORF9TVVBQT1JUX09MRF9BUEkKIAlib29sICJTdXBwb3J0IG9sZCBBTFNBIEFQSSIKLQlkZXBlbmRzIG9uIFNORAogCWRlZmF1bHQgeQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gc3VwcG9ydCB0aGUgb2Jzb2xldGUgQUxTQSBQQ00gQVBJICh2ZXIuMC45LjAgcmMzCkBAIC0xNDIsNyArMTMyLDcgQEAKIAogY29uZmlnIFNORF9WRVJCT1NFX1BST0NGUwogCWJvb2wgIlZlcmJvc2UgcHJvY2ZzIGNvbnRlbnRzIgotCWRlcGVuZHMgb24gU05EICYmIFBST0NfRlMKKwlkZXBlbmRzIG9uIFBST0NfRlMKIAlkZWZhdWx0IHkKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgY29kZSBmb3IgdmVyYm9zZSBwcm9jZnMgY29udGVudHMgKHByb3ZpZGVzCkBAIC0xNTEsNyArMTQxLDYgQEAKIAogY29uZmlnIFNORF9WRVJCT1NFX1BSSU5USwogCWJvb2wgIlZlcmJvc2UgcHJpbnRrIgotCWRlcGVuZHMgb24gU05ECiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgdmVyYm9zZSBsb2cgbWVzc2FnZXMuICBUaGVzZSBtZXNzYWdlcwogCSAgd2lsbCBoZWxwIHRvIGlkZW50aWZ5IHNvdXJjZSBmaWxlIGFuZCBwb3NpdGlvbiBjb250YWluaW5nCkBAIC0xNjEsMTYgKzE1MCwxNyBAQAogCiBjb25maWcgU05EX0RFQlVHCiAJYm9vbCAiRGVidWciCi0JZGVwZW5kcyBvbiBTTkQKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGVuYWJsZSBBTFNBIGRlYnVnIGNvZGUuCiAKLWNvbmZpZyBTTkRfREVCVUdfREVURUNUCi0JYm9vbCAiRGVidWcgZGV0ZWN0aW9uIgorY29uZmlnIFNORF9ERUJVR19WRVJCT1NFCisJYm9vbCAiTW9yZSB2ZXJib3NlIGRlYnVnIgogCWRlcGVuZHMgb24gU05EX0RFQlVHCiAJaGVscAotCSAgU2F5IFkgaGVyZSB0byBlbmFibGUgZXh0cmEtdmVyYm9zZSBsb2cgbWVzc2FnZXMgcHJpbnRlZCB3aGVuCi0JICBkZXRlY3RpbmcgZGV2aWNlcy4KKwkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIGV4dHJhLXZlcmJvc2UgZGVidWdnaW5nIG1lc3NhZ2VzLgorCSAgCisJICBMZXQgbWUgcmVwZWF0OiBpdCBlbmFibGVzIEVYVFJBLVZFUkJPU0UgREVCVUdHSU5HIG1lc3NhZ2VzLgorCSAgU28sIHNheSBZIG9ubHkgaWYgeW91IGFyZSByZWFkeSB0byBiZSBhbm5veWVkLgogCiBjb25maWcgU05EX1BDTV9YUlVOX0RFQlVHCiAJYm9vbCAiRW5hYmxlIFBDTSByaW5nIGJ1ZmZlciBvdmVycnVuL3VuZGVycnVuIGRlYnVnZ2luZyIKQEAgLTE4NCw0ICsxNzQsMyBAQAogCiBjb25maWcgU05EX1ZNQVNURVIKIAlib29sCi0JZGVwZW5kcyBvbiBTTkQKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvY29udHJvbC5jIGIvc291bmQvY29yZS9jb250cm9sLmMKaW5kZXggMDFhMWE1YS4uMjgxYjJlMiAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9jb250cm9sLmMKKysrIGIvc291bmQvY29yZS9jb250cm9sLmMKQEAgLTY4NCw3ICs2ODQsOCBAQAogCXJldHVybiByZXN1bHQ7CiB9CiAKLWludCBzbmRfY3RsX2VsZW1fcmVhZChzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKmNvbnRyb2wpCitzdGF0aWMgaW50IHNuZF9jdGxfZWxlbV9yZWFkKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCSAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCkKIHsKIAlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOwogCXN0cnVjdCBzbmRfa2NvbnRyb2xfdm9sYXRpbGUgKnZkOwpAQCAtNzM0LDggKzczNSw4IEBACiAJcmV0dXJuIHJlc3VsdDsKIH0KIAotaW50IHNuZF9jdGxfZWxlbV93cml0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfY3RsX2ZpbGUgKmZpbGUsCi0JCSAgICAgICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICpjb250cm9sKQorc3RhdGljIGludCBzbmRfY3RsX2VsZW1fd3JpdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2N0bF9maWxlICpmaWxlLAorCQkJICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqY29udHJvbCkKIHsKIAlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOwogCXN0cnVjdCBzbmRfa2NvbnRyb2xfdm9sYXRpbGUgKnZkOwpkaWZmIC0tZ2l0IGEvc291bmQvY29yZS9pbml0LmMgYi9zb3VuZC9jb3JlL2luaXQuYwppbmRleCBhYzA1NzM0Li41YzI1NGQ0IDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL2luaXQuYworKysgYi9zb3VuZC9jb3JlL2luaXQuYwpAQCAtNDYsMTcgKzQ2LDI0IEBACiBtb2R1bGVfcGFyYW1fYXJyYXkoc2xvdHMsIGNoYXJwLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2xvdHMsICJNb2R1bGUgbmFtZXMgYXNzaWduZWQgdG8gdGhlIHNsb3RzLiIpOwogCi0vKiByZXR1cm4gbm9uLXplcm8gaWYgdGhlIGdpdmVuIGluZGV4IGlzIGFscmVhZHkgcmVzZXJ2ZWQgZm9yIGFub3RoZXIKKy8qIHJldHVybiBub24temVybyBpZiB0aGUgZ2l2ZW4gaW5kZXggaXMgcmVzZXJ2ZWQgZm9yIHRoZSBnaXZlbgogICogbW9kdWxlIHZpYSBzbG90cyBvcHRpb24KICAqLwotc3RhdGljIGludCBtb2R1bGVfc2xvdF9taXNtYXRjaChzdHJ1Y3QgbW9kdWxlICptb2R1bGUsIGludCBpZHgpCitzdGF0aWMgaW50IG1vZHVsZV9zbG90X21hdGNoKHN0cnVjdCBtb2R1bGUgKm1vZHVsZSwgaW50IGlkeCkKIHsKKwlpbnQgbWF0Y2ggPSAxOwogI2lmZGVmIE1PRFVMRQotCWNoYXIgKnMxLCAqczI7CisJY29uc3QgY2hhciAqczEsICpzMjsKKwogCWlmICghbW9kdWxlIHx8ICFtb2R1bGUtPm5hbWUgfHwgIXNsb3RzW2lkeF0pCiAJCXJldHVybiAwOwotCXMxID0gc2xvdHNbaWR4XTsKLQlzMiA9IG1vZHVsZS0+bmFtZTsKKworCXMxID0gbW9kdWxlLT5uYW1lOworCXMyID0gc2xvdHNbaWR4XTsKKwlpZiAoKnMyID09ICchJykgeworCQltYXRjaCA9IDA7IC8qIG5lZ2F0aXZlIG1hdGNoICovCisJCXMyKys7CisJfQogCS8qIGNvbXBhcmUgbW9kdWxlIG5hbWUgc3RyaW5ncwogCSAqIGh5cGhlbnMgYXJlIGhhbmRsZWQgYXMgZXF1aXZhbGVudCB3aXRoIHVuZGVyc2NvcmUKIAkgKi8KQEAgLTY4LDEyICs3NSwxMiBAQAogCQlpZiAoYzIgPT0gJy0nKQogCQkJYzIgPSAnXyc7CiAJCWlmIChjMSAhPSBjMikKLQkJCXJldHVybiAxOworCQkJcmV0dXJuICFtYXRjaDsKIAkJaWYgKCFjMSkKIAkJCWJyZWFrOwogCX0KLSNlbmRpZgotCXJldHVybiAwOworI2VuZGlmIC8qIE1PRFVMRSAqLworCXJldHVybiBtYXRjaDsKIH0KIAogI2lmIGRlZmluZWQoQ09ORklHX1NORF9NSVhFUl9PU1MpIHx8IGRlZmluZWQoQ09ORklHX1NORF9NSVhFUl9PU1NfTU9EVUxFKQpAQCAtMTI5LDcgKzEzNiw3IEBACiAJCQkgc3RydWN0IG1vZHVsZSAqbW9kdWxlLCBpbnQgZXh0cmFfc2l6ZSkKIHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7Ci0JaW50IGVycjsKKwlpbnQgZXJyLCBpZHgyOwogCiAJaWYgKGV4dHJhX3NpemUgPCAwKQogCQlleHRyYV9zaXplID0gMDsKQEAgLTE0NCwzNSArMTUxLDQxIEBACiAJZXJyID0gMDsKIAltdXRleF9sb2NrKCZzbmRfY2FyZF9tdXRleCk7CiAJaWYgKGlkeCA8IDApIHsKLQkJaW50IGlkeDI7CiAJCWZvciAoaWR4MiA9IDA7IGlkeDIgPCBTTkRSVl9DQVJEUzsgaWR4MisrKQogCQkJLyogaWR4ID09IC0xID09IDB4ZmZmZiBtZWFuczogdGFrZSBhbnkgZnJlZSBzbG90ICovCiAJCQlpZiAofnNuZF9jYXJkc19sb2NrICYgaWR4ICYgMTw8aWR4MikgewotCQkJCWlmIChtb2R1bGVfc2xvdF9taXNtYXRjaChtb2R1bGUsIGlkeDIpKQotCQkJCQljb250aW51ZTsKLQkJCQlpZHggPSBpZHgyOwotCQkJCWlmIChpZHggPj0gc25kX2VjYXJkc19saW1pdCkKLQkJCQkJc25kX2VjYXJkc19saW1pdCA9IGlkeCArIDE7Ci0JCQkJYnJlYWs7CisJCQkJaWYgKG1vZHVsZV9zbG90X21hdGNoKG1vZHVsZSwgaWR4MikpIHsKKwkJCQkJaWR4ID0gaWR4MjsKKwkJCQkJYnJlYWs7CisJCQkJfQogCQkJfQotCX0gZWxzZSB7Ci0JCSBpZiAoaWR4IDwgc25kX2VjYXJkc19saW1pdCkgewotCQkJaWYgKHNuZF9jYXJkc19sb2NrICYgKDEgPDwgaWR4KSkKLQkJCQllcnIgPSAtRUJVU1k7CS8qIGludmFsaWQgKi8KLQkJfSBlbHNlIHsKLQkJCWlmIChpZHggPCBTTkRSVl9DQVJEUykKLQkJCQlzbmRfZWNhcmRzX2xpbWl0ID0gaWR4ICsgMTsgLyogaW5jcmVhc2UgdGhlIGxpbWl0ICovCi0JCQllbHNlCi0JCQkJZXJyID0gLUVOT0RFVjsKLQkJfQogCX0KLQlpZiAoaWR4IDwgMCB8fCBlcnIgPCAwKSB7CisJaWYgKGlkeCA8IDApIHsKKwkJZm9yIChpZHgyID0gMDsgaWR4MiA8IFNORFJWX0NBUkRTOyBpZHgyKyspCisJCQkvKiBpZHggPT0gLTEgPT0gMHhmZmZmIG1lYW5zOiB0YWtlIGFueSBmcmVlIHNsb3QgKi8KKwkJCWlmICh+c25kX2NhcmRzX2xvY2sgJiBpZHggJiAxPDxpZHgyKSB7CisJCQkJaWYgKCFzbG90c1tpZHgyXSB8fCAhKnNsb3RzW2lkeDJdKSB7CisJCQkJCWlkeCA9IGlkeDI7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwl9CisJaWYgKGlkeCA8IDApCisJCWVyciA9IC1FTk9ERVY7CisJZWxzZSBpZiAoaWR4IDwgc25kX2VjYXJkc19saW1pdCkgeworCQlpZiAoc25kX2NhcmRzX2xvY2sgJiAoMSA8PCBpZHgpKQorCQkJZXJyID0gLUVCVVNZOwkvKiBpbnZhbGlkICovCisJfSBlbHNlIGlmIChpZHggPj0gU05EUlZfQ0FSRFMpCisJCWVyciA9IC1FTk9ERVY7CisJaWYgKGVyciA8IDApIHsKIAkJbXV0ZXhfdW5sb2NrKCZzbmRfY2FyZF9tdXRleCk7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImNhbm5vdCBmaW5kIHRoZSBzbG90IGZvciBpbmRleCAlZCAocmFuZ2UgMC0laSksIGVycm9yOiAlZFxuIiwKIAkJCSBpZHgsIHNuZF9lY2FyZHNfbGltaXQgLSAxLCBlcnIpOwogCQlnb3RvIF9fZXJyb3I7CiAJfQogCXNuZF9jYXJkc19sb2NrIHw9IDEgPDwgaWR4OwkJLyogbG9jayBpdCAqLworCWlmIChpZHggPj0gc25kX2VjYXJkc19saW1pdCkKKwkJc25kX2VjYXJkc19saW1pdCA9IGlkeCArIDE7IC8qIGluY3JlYXNlIHRoZSBsaW1pdCAqLwogCW11dGV4X3VubG9jaygmc25kX2NhcmRfbXV0ZXgpOwogCWNhcmQtPm51bWJlciA9IGlkeDsKIAljYXJkLT5tb2R1bGUgPSBtb2R1bGU7CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL21lbWFsbG9jLmMgYi9zb3VuZC9jb3JlL21lbWFsbG9jLmMKaW5kZXggMjNiN2JjMC4uZjVkNmQ4ZCAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9tZW1hbGxvYy5jCisrKyBiL3NvdW5kL2NvcmUvbWVtYWxsb2MuYwpAQCAtODAsNjggKzgwLDYgQEAKICNlbmRpZgogCiAvKgotICogIEhhY2tzCi0gKi8KLQotI2lmIGRlZmluZWQoX19pMzg2X18pCi0vKgotICogQSBoYWNrIHRvIGFsbG9jYXRlIGxhcmdlIGJ1ZmZlcnMgdmlhIGRtYV9hbGxvY19jb2hlcmVudCgpCi0gKgotICogc2luY2UgZG1hX2FsbG9jX2NvaGVyZW50IGFsd2F5cyB0cmllcyBHRlBfRE1BIHdoZW4gdGhlIHJlcXVlc3RlZAotICogcGNpIG1lbW9yeSByZWdpb24gaXMgYmVsb3cgMzJiaXQsIGl0IGhhcHBlbnMgcXVpdGUgb2Z0ZW4gdGhhdCBldmVuCi0gKiAyIG9yZGVyIG9mIHBhZ2VzIGNhbm5vdCBiZSBhbGxvY2F0ZWQuCi0gKgotICogc28gaW4gdGhlIGZvbGxvd2luZywgd2UgYWxsb2NhdGUgYXQgZmlyc3Qgd2l0aG91dCBkbWFfbWFzaywgc28gdGhhdAotICogYWxsb2NhdGlvbiB3aWxsIGJlIGRvbmUgd2l0aG91dCBHRlBfRE1BLiAgaWYgdGhlIGFyZWEgZG9lc24ndCBtYXRjaAotICogd2l0aCB0aGUgcmVxdWVzdGVkIHJlZ2lvbiwgdGhlbiByZWFsbG9hdGUgd2l0aCB0aGUgb3JpZ2luYWwgZG1hX21hc2sKLSAqIGFnYWluLgotICoKLSAqIFJlYWxseSwgd2Ugd2FudCB0byBtb3ZlIHRoaXMgdHlwZSBvZiB0aGluZyBpbnRvIGRtYV9hbGxvY19jb2hlcmVudCgpCi0gKiBzbyBkbWFfbWFzayBkb2Vzbid0IGhhdmUgdG8gYmUgbWVzc2VkIHdpdGguCi0gKi8KLQotc3RhdGljIHZvaWQgKnNuZF9kbWFfaGFja19hbGxvY19jb2hlcmVudChzdHJ1Y3QgZGV2aWNlICpkZXYsIHNpemVfdCBzaXplLAotCQkJCQkgZG1hX2FkZHJfdCAqZG1hX2hhbmRsZSwKLQkJCQkJIGdmcF90IGZsYWdzKQotewotCXZvaWQgKnJldDsKLQl1NjQgZG1hX21hc2ssIGNvaGVyZW50X2RtYV9tYXNrOwotCi0JaWYgKGRldiA9PSBOVUxMIHx8ICFkZXYtPmRtYV9tYXNrKQotCQlyZXR1cm4gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCWRtYV9tYXNrID0gKmRldi0+ZG1hX21hc2s7Ci0JY29oZXJlbnRfZG1hX21hc2sgPSBkZXYtPmNvaGVyZW50X2RtYV9tYXNrOwotCSpkZXYtPmRtYV9tYXNrID0gMHhmZmZmZmZmZjsgCS8qIGRvIHdpdGhvdXQgbWFza2luZyAqLwotCWRldi0+Y29oZXJlbnRfZG1hX21hc2sgPSAweGZmZmZmZmZmOyAJLyogZG8gd2l0aG91dCBtYXNraW5nICovCi0JcmV0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCSpkZXYtPmRtYV9tYXNrID0gZG1hX21hc2s7CS8qIHJlc3RvcmUgKi8KLQlkZXYtPmNvaGVyZW50X2RtYV9tYXNrID0gY29oZXJlbnRfZG1hX21hc2s7CS8qIHJlc3RvcmUgKi8KLQlpZiAocmV0KSB7Ci0JCS8qIG9idGFpbmVkIGFkZHJlc3MgaXMgb3V0IG9mIHJhbmdlPyAqLwotCQlpZiAoKCh1bnNpZ25lZCBsb25nKSpkbWFfaGFuZGxlICsgc2l6ZSAtIDEpICYgfmRtYV9tYXNrKSB7Ci0JCQkvKiByZWFsbG9jYXRlIHdpdGggdGhlIHByb3BlciBtYXNrICovCi0JCQlkbWFfZnJlZV9jb2hlcmVudChkZXYsIHNpemUsIHJldCwgKmRtYV9oYW5kbGUpOwotCQkJcmV0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCQl9Ci0JfSBlbHNlIHsKLQkJLyogd2lzaCB0byBzdWNjZXNzIG5vdyB3aXRoIHRoZSBwcm9wZXIgbWFzay4uLiAqLwotCQlpZiAoZG1hX21hc2sgIT0gMHhmZmZmZmZmZlVMKSB7Ci0JCQkvKiBhbGxvY2F0aW9uIHdpdGggR0ZQX0FUT01JQyB0byBhdm9pZCB0aGUgbG9uZyBzdGFsbCAqLwotCQkJZmxhZ3MgJj0gfkdGUF9LRVJORUw7Ci0JCQlmbGFncyB8PSBHRlBfQVRPTUlDOwotCQkJcmV0ID0gZG1hX2FsbG9jX2NvaGVyZW50KGRldiwgc2l6ZSwgZG1hX2hhbmRsZSwgZmxhZ3MpOwotCQl9Ci0JfQotCXJldHVybiByZXQ7Ci19Ci0KLS8qIHJlZGVmaW5lIGRtYV9hbGxvY19jb2hlcmVudCBmb3Igc29tZSBhcmNoaXRlY3R1cmVzICovCi0jdW5kZWYgZG1hX2FsbG9jX2NvaGVyZW50Ci0jZGVmaW5lIGRtYV9hbGxvY19jb2hlcmVudCBzbmRfZG1hX2hhY2tfYWxsb2NfY29oZXJlbnQKLQotI2VuZGlmIC8qIGFyY2ggKi8KLQotLyoKICAqCiAgKiAgR2VuZXJpYyBtZW1vcnkgYWxsb2NhdG9ycwogICoKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvcGNtX25hdGl2ZS5jIGIvc291bmQvY29yZS9wY21fbmF0aXZlLmMKaW5kZXggNjFmNWQ0Mi4uYzQ5YjlkOSAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9wY21fbmF0aXZlLmMKKysrIGIvc291bmQvY29yZS9wY21fbmF0aXZlLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlIDxsaW51eC9tbS5oPgogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4KICNpbmNsdWRlIDxsaW51eC90aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcW9zX3BhcmFtcy5oPgogI2luY2x1ZGUgPGxpbnV4L3Vpby5oPgpAQCAtMzI0OSwxNCArMzI1MCwxNyBAQAogCXN0cnVjdCBzbmRfcGNtX2ZpbGUgKiBwY21fZmlsZTsKIAlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lOwotCWludCBlcnI7CisJaW50IGVyciA9IC1FTlhJTzsKIAorCWxvY2tfa2VybmVsKCk7CiAJcGNtX2ZpbGUgPSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJc3Vic3RyZWFtID0gcGNtX2ZpbGUtPnN1YnN0cmVhbTsKLQlzbmRfYXNzZXJ0KHN1YnN0cmVhbSAhPSBOVUxMLCByZXR1cm4gLUVOWElPKTsKKwlzbmRfYXNzZXJ0KHN1YnN0cmVhbSAhPSBOVUxMLCBnb3RvIG91dCk7CiAJcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAogCWVyciA9IGZhc3luY19oZWxwZXIoZmQsIGZpbGUsIG9uLCAmcnVudGltZS0+ZmFzeW5jKTsKK291dDoKKwl1bmxvY2tfa2VybmVsKCk7CiAJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3NlcS9zZXFfY2xpZW50bWdyLmMgYi9zb3VuZC9jb3JlL3NlcS9zZXFfY2xpZW50bWdyLmMKaW5kZXggNDdjZmE1MS4uN2ExNTQ1ZCAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9zZXEvc2VxX2NsaWVudG1nci5jCisrKyBiL3NvdW5kL2NvcmUvc2VxL3NlcV9jbGllbnRtZ3IuYwpAQCAtMTQ4LDcgKzE0OCw3IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjbGllbnRzX2xvY2ssIGZsYWdzKTsKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAJaWYgKCFpbl9pbnRlcnJ1cHQoKSkgewogCQlzdGF0aWMgY2hhciBjbGllbnRfcmVxdWVzdGVkW1NORFJWX1NFUV9HTE9CQUxfQ0xJRU5UU107CiAJCXN0YXRpYyBjaGFyIGNhcmRfcmVxdWVzdGVkW1NORFJWX0NBUkRTXTsKZGlmZiAtLWdpdCBhL3NvdW5kL2NvcmUvc2VxL3NlcV9kZXZpY2UuYyBiL3NvdW5kL2NvcmUvc2VxL3NlcV9kZXZpY2UuYwppbmRleCAyZjAwYWQyLi4wNTQxMGU1IDEwMDY0NAotLS0gYS9zb3VuZC9jb3JlL3NlcS9zZXFfZGV2aWNlLmMKKysrIGIvc291bmQvY29yZS9zZXEvc2VxX2RldmljZS5jCkBAIC0xMjQsNyArMTI0LDcgQEAKICAqIGxvYWQgYWxsIHJlZ2lzdGVyZWQgZHJpdmVycyAoY2FsbGVkIGZyb20gc2VxX2NsaWVudG1nci5jKQogICovCiAKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAvKiBhdm9pZCBhdXRvLWxvYWRpbmcgZHVyaW5nIG1vZHVsZV9pbml0KCkgKi8KIHN0YXRpYyBpbnQgc25kX3NlcV9pbl9pbml0Owogdm9pZCBzbmRfc2VxX2F1dG9sb2FkX2xvY2sodm9pZCkKQEAgLTE0MCw3ICsxNDAsNyBAQAogCiB2b2lkIHNuZF9zZXFfZGV2aWNlX2xvYWRfZHJpdmVycyh2b2lkKQogewotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAlzdHJ1Y3Qgb3BzX2xpc3QgKm9wczsKIAogCS8qIENhbGxpbmcgcmVxdWVzdF9tb2R1bGUgZHVyaW5nIG1vZHVsZV9pbml0KCkKQEAgLTU2Niw3ICs1NjYsNSBAQAogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2RldmljZV9uZXcpOwogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2RldmljZV9yZWdpc3Rlcl9kcml2ZXIpOwogRVhQT1JUX1NZTUJPTChzbmRfc2VxX2RldmljZV91bnJlZ2lzdGVyX2RyaXZlcik7Ci0jaWZkZWYgQ09ORklHX0tNT0QKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9hdXRvbG9hZF9sb2NrKTsKIEVYUE9SVF9TWU1CT0woc25kX3NlcV9hdXRvbG9hZF91bmxvY2spOwotI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3NvdW5kLmMgYi9zb3VuZC9jb3JlL3NvdW5kLmMKaW5kZXggNmM4YWI0OC4uMTAwM2FlMyAxMDA2NDQKLS0tIGEvc291bmQvY29yZS9zb3VuZC5jCisrKyBiL3NvdW5kL2NvcmUvc291bmQuYwpAQCAtMjEsNiArMjEsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3RpbWUuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgpAQCAtNjAsMTQgKzYxLDE0IEBACiBzdGF0aWMgc3RydWN0IHNuZF9taW5vciAqc25kX21pbm9yc1tTTkRSVl9PU19NSU5PUlNdOwogc3RhdGljIERFRklORV9NVVRFWChzb3VuZF9tdXRleCk7CiAKLSNpZmRlZiBDT05GSUdfS01PRAorI2lmZGVmIENPTkZJR19NT0RVTEVTCiAKIC8qKgogICogc25kX3JlcXVlc3RfY2FyZCAtIHRyeSB0byBsb2FkIHRoZSBjYXJkIG1vZHVsZQogICogQGNhcmQ6IHRoZSBjYXJkIG51bWJlcgogICoKICAqIFRyaWVzIHRvIGxvYWQgdGhlIG1vZHVsZSAic25kLWNhcmQtWCIgZm9yIHRoZSBnaXZlbiBjYXJkIG51bWJlcgotICogdmlhIEtNT0QuICBSZXR1cm5zIGltbWVkaWF0ZWx5IGlmIGFscmVhZHkgbG9hZGVkLgorICogdmlhIHJlcXVlc3RfbW9kdWxlLiAgUmV0dXJucyBpbW1lZGlhdGVseSBpZiBhbHJlYWR5IGxvYWRlZC4KICAqLwogdm9pZCBzbmRfcmVxdWVzdF9jYXJkKGludCBjYXJkKQogewpAQCAtOTIsNyArOTMsNyBAQAogCXJlcXVlc3RfbW9kdWxlKHN0cik7CiB9CiAKLSNlbmRpZgkJCQkvKiByZXF1ZXN0X21vZHVsZSBzdXBwb3J0ICovCisjZW5kaWYJLyogbW9kdWxhciBrZXJuZWwgKi8KIAogLyoqCiAgKiBzbmRfbG9va3VwX21pbm9yX2RhdGEgLSBnZXQgdXNlciBkYXRhIG9mIGEgcmVnaXN0ZXJlZCBkZXZpY2UKQEAgLTEyMSw3ICsxMjIsNyBAQAogCiBFWFBPUlRfU1lNQk9MKHNuZF9sb29rdXBfbWlub3JfZGF0YSk7CiAKLXN0YXRpYyBpbnQgc25kX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCitzdGF0aWMgaW50IF9fc25kX29wZW4oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCiB7CiAJdW5zaWduZWQgaW50IG1pbm9yID0gaW1pbm9yKGlub2RlKTsKIAlzdHJ1Y3Qgc25kX21pbm9yICptcHRyID0gTlVMTDsKQEAgLTEzMiw3ICsxMzMsNyBAQAogCQlyZXR1cm4gLUVOT0RFVjsKIAltcHRyID0gc25kX21pbm9yc1ttaW5vcl07CiAJaWYgKG1wdHIgPT0gTlVMTCkgewotI2lmZGVmIENPTkZJR19LTU9ECisjaWZkZWYgQ09ORklHX01PRFVMRVMKIAkJaW50IGRldiA9IFNORFJWX01JTk9SX0RFVklDRShtaW5vcik7CiAJCWlmIChkZXYgPT0gU05EUlZfTUlOT1JfQ09OVFJPTCkgewogCQkJLyogL2Rldi9hbG9hZEM/ICovCkBAIC0xNjMsNiArMTY0LDE4IEBACiAJcmV0dXJuIGVycjsKIH0KIAorCisvKiBCS0wgcHVzaGRvd246IG5hc3R5ICNpZmRlZiBhdm9pZGFuY2Ugd3JhcHBlciAqLworc3RhdGljIGludCBzbmRfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkKK3sKKwlpbnQgcmV0OworCisJbG9ja19rZXJuZWwoKTsKKwlyZXQgPSBfX3NuZF9vcGVuKGlub2RlLCBmaWxlKTsKKwl1bmxvY2tfa2VybmVsKCk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc25kX2ZvcHMgPQogewogCS5vd25lciA9CVRISVNfTU9EVUxFLApkaWZmIC0tZ2l0IGEvc291bmQvY29yZS90aW1lci5jIGIvc291bmQvY29yZS90aW1lci5jCmluZGV4IDlkODE4NGEuLjBhZjMzN2UgMTAwNjQ0Ci0tLSBhL3NvdW5kL2NvcmUvdGltZXIuYworKysgYi9zb3VuZC9jb3JlL3RpbWVyLmMKQEAgLTE0Niw3ICsxNDYsNyBAQAogCXJldHVybiBOVUxMOwogfQogCi0jaWZkZWYgQ09ORklHX0tNT0QKKyNpZmRlZiBDT05GSUdfTU9EVUxFUwogCiBzdGF0aWMgdm9pZCBzbmRfdGltZXJfcmVxdWVzdChzdHJ1Y3Qgc25kX3RpbWVyX2lkICp0aWQpCiB7CkBAIC0yNTksOCArMjU5LDggQEAKIAkvKiBvcGVuIGEgbWFzdGVyIGluc3RhbmNlICovCiAJbXV0ZXhfbG9jaygmcmVnaXN0ZXJfbXV0ZXgpOwogCXRpbWVyID0gc25kX3RpbWVyX2ZpbmQodGlkKTsKLSNpZmRlZiBDT05GSUdfS01PRAotCWlmICh0aW1lciA9PSBOVUxMKSB7CisjaWZkZWYgQ09ORklHX01PRFVMRVMKKwlpZiAoIXRpbWVyKSB7CiAJCW11dGV4X3VubG9jaygmcmVnaXN0ZXJfbXV0ZXgpOwogCQlzbmRfdGltZXJfcmVxdWVzdCh0aWQpOwogCQltdXRleF9sb2NrKCZyZWdpc3Rlcl9tdXRleCk7CmRpZmYgLS1naXQgYS9zb3VuZC9kcml2ZXJzL0tjb25maWcgYi9zb3VuZC9kcml2ZXJzL0tjb25maWcKaW5kZXggNjAyYjU4ZS4uMjU1ZmQxOCAxMDA2NDQKLS0tIGEvc291bmQvZHJpdmVycy9LY29uZmlnCisrKyBiL3NvdW5kL2RyaXZlcnMvS2NvbmZpZwpAQCAtMSwxNSArMSw0MSBAQAotIyBBTFNBIGdlbmVyaWMgZHJpdmVycworY29uZmlnIFNORF9NUFU0MDFfVUFSVAorICAgICAgICB0cmlzdGF0ZQorICAgICAgICBzZWxlY3QgU05EX1JBV01JREkKIAotbWVudSAiR2VuZXJpYyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uCitjb25maWcgU05EX09QTDNfTElCCisJdHJpc3RhdGUKKwlzZWxlY3QgU05EX1RJTUVSCisJc2VsZWN0IFNORF9IV0RFUAogCitjb25maWcgU05EX09QTDRfTElCCisJdHJpc3RhdGUKKwlzZWxlY3QgU05EX1RJTUVSCisJc2VsZWN0IFNORF9IV0RFUAorCitjb25maWcgU05EX1ZYX0xJQgorCXRyaXN0YXRlCisJc2VsZWN0IFNORF9IV0RFUAorCXNlbGVjdCBTTkRfUENNCisKK2NvbmZpZyBTTkRfQUM5N19DT0RFQworCXRyaXN0YXRlCisJc2VsZWN0IFNORF9QQ00KKwlzZWxlY3QgQUM5N19CVVMKKwlzZWxlY3QgU05EX1ZNQVNURVIKKworbWVudWNvbmZpZyBTTkRfRFJJVkVSUworCWJvb2wgIkdlbmVyaWMgc291bmQgZGV2aWNlcyIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBnZW5lcmljIHNvdW5kIGRldmljZXMuCisgIAoraWYgU05EX0RSSVZFUlMKIAogY29uZmlnIFNORF9QQ1NQCiAJdHJpc3RhdGUgIlBDLVNwZWFrZXIgc3VwcG9ydCAoUkVBRCBIRUxQISkiCiAJZGVwZW5kcyBvbiBQQ1NQS1JfUExBVEZPUk0gJiYgWDg2X1BDICYmIEhJR0hfUkVTX1RJTUVSUwogCWRlcGVuZHMgb24gSU5QVVQKIAlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBJZiB5b3UgZG9uJ3QgaGF2ZSBhIHNvdW5kIGNhcmQgaW4geW91ciBjb21wdXRlciwgeW91IGNhbiBpbmNsdWRlIGEKQEAgLTM1LDMzICs2MSw4IEBACiAJICBTYXkgTSBpZiB5b3UgZG9uJ3QuCiAJICBTYXkgWSBvbmx5IGlmIHlvdSByZWFsbHkga25vdyB3aGF0IHlvdSBkby4KIAotY29uZmlnIFNORF9NUFU0MDFfVUFSVAotICAgICAgICB0cmlzdGF0ZQotICAgICAgICBzZWxlY3QgU05EX1JBV01JREkKLQotY29uZmlnIFNORF9PUEwzX0xJQgotCXRyaXN0YXRlCi0Jc2VsZWN0IFNORF9USU1FUgotCXNlbGVjdCBTTkRfSFdERVAKLQotY29uZmlnIFNORF9PUEw0X0xJQgotCXRyaXN0YXRlCi0Jc2VsZWN0IFNORF9USU1FUgotCXNlbGVjdCBTTkRfSFdERVAKLQotY29uZmlnIFNORF9WWF9MSUIKLQl0cmlzdGF0ZQotCXNlbGVjdCBTTkRfSFdERVAKLQlzZWxlY3QgU05EX1BDTQotCi1jb25maWcgU05EX0FDOTdfQ09ERUMKLQl0cmlzdGF0ZQotCXNlbGVjdCBTTkRfUENNCi0Jc2VsZWN0IEFDOTdfQlVTCi0KIGNvbmZpZyBTTkRfRFVNTVkKIAl0cmlzdGF0ZSAiRHVtbXkgKC9kZXYvbnVsbCkgc291bmRjYXJkIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIGR1bW15IGRyaXZlci4gIFRoaXMgZHJpdmVyIGRvZXMKQEAgLTkwLDcgKzkxLDYgQEAKIAogY29uZmlnIFNORF9NVFBBVgogCXRyaXN0YXRlICJNT1RVIE1pZGlUaW1lUGllY2UgQVYgbXVsdGlwb3J0IE1JREkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCiAJICBUbyB1c2UgYSBNT1RVIE1pZGlUaW1lUGllY2UgQVYgbXVsdGlwb3J0IE1JREkgYWRhcHRlcgpAQCAtMTAyLDcgKzEwMiw3IEBACiAKIGNvbmZpZyBTTkRfTVRTNjQKIAl0cmlzdGF0ZSAiRVNJIE1pZGl0ZXJtaW5hbCA0MTQwIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBQQVJQT1JUCisJZGVwZW5kcyBvbiBQQVJQT1JUCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJaGVscAogCSAgVGhlIEVTSSBNaWRpdGVybWluYWwgNDE0MCBpcyBhIDQgSW4gNCBPdXQgTUlESSBJbnRlcmZhY2Ugd2l0aCAKQEAgLTExNSw3ICsxMTUsNiBAQAogCiBjb25maWcgU05EX1NFUklBTF9VMTY1NTAKIAl0cmlzdGF0ZSAiVUFSVDE2NTUwIHNlcmlhbCBNSURJIGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKIAkgIFRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgTUlESSBzZXJpYWwgcG9ydCBpbnRlcmZhY2VzLCBzYXkgWSBoZXJlCkBAIC0xMzEsNyArMTMwLDYgQEAKIAogY29uZmlnIFNORF9NUFU0MDEKIAl0cmlzdGF0ZSAiR2VuZXJpYyBNUFUtNDAxIFVBUlQgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBNSURJIHBvcnRzIGNvbXBhdGlibGUgd2l0aApAQCAtMTQyLDcgKzE0MCw3IEBACiAKIGNvbmZpZyBTTkRfUE9SVE1BTjJYNAogCXRyaXN0YXRlICJQb3J0bWFuIDJ4NCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUEFSUE9SVAorCWRlcGVuZHMgb24gUEFSUE9SVAogCXNlbGVjdCBTTkRfUkFXTUlESQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBNaWRpbWFuIFBvcnRtYW4gMng0IHBhcmFsbGVsCkBAIC0xNTMsNyArMTUxLDcgQEAKIAogY29uZmlnIFNORF9NTDQwM19BQzk3Q1IKIAl0cmlzdGF0ZSAiWGlsaW54IE1MNDAzIEFDOTcgQ29udHJvbGxlciBSZWZlcmVuY2UiCi0JZGVwZW5kcyBvbiBTTkQgJiYgWElMSU5YX1ZJUlRFWAorCWRlcGVuZHMgb24gWElMSU5YX1ZJUlRFWAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUKQEAgLTE2Myw0ICsxNjEsMjUgQEAKIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZSBtb2R1bGUKIAkgIHdpbGwgYmUgY2FsbGVkIHNuZC1tbDQwM19hYzk3Y3IuCiAKLWVuZG1lbnUKK2NvbmZpZyBTTkRfQUM5N19QT1dFUl9TQVZFCisJYm9vbCAiQUM5NyBQb3dlci1TYXZpbmcgTW9kZSIKKwlkZXBlbmRzIG9uIFNORF9BQzk3X0NPREVDICYmIEVYUEVSSU1FTlRBTAorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFNheSBZIGhlcmUgdG8gZW5hYmxlIHRoZSBhZ2dyZXNzaXZlIHBvd2VyLXNhdmluZyBzdXBwb3J0IG9mCisJICBBQzk3IGNvZGVjcy4gIEluIHRoaXMgbW9kZSwgdGhlIHBvd2VyLW1vZGUgaXMgZHluYW1pY2FsbHkKKwkgIGNvbnRyb2xsZWQgYXQgZWFjaCBvcGVuL2Nsb3NlLgorCisJICBUaGUgbW9kZSBpcyBhY3RpdmF0ZWQgYnkgcGFzc2luZyBwb3dlcl9zYXZlPTEgb3B0aW9uIHRvCisJICBzbmQtYWM5Ny1jb2RlYyBkcml2ZXIuICBZb3UgY2FuIHRvZ2dsZSBpdCBkeW5hbWljYWxseSBvdmVyCisJICBzeXNmcywgdG9vLgorCitjb25maWcgU05EX0FDOTdfUE9XRVJfU0FWRV9ERUZBVUxUCisJaW50ICJEZWZhdWx0IHRpbWUtb3V0IGZvciBBQzk3IHBvd2VyLXNhdmUgbW9kZSIKKwlkZXBlbmRzIG9uIFNORF9BQzk3X1BPV0VSX1NBVkUKKwlkZWZhdWx0IDAKKwloZWxwCisJICBUaGUgZGVmYXVsdCB0aW1lLW91dCB2YWx1ZSBpbiBzZWNvbmRzIGZvciBBQzk3IGF1dG9tYXRpYworCSAgcG93ZXItc2F2ZSBtb2RlLiAgMCBtZWFucyB0byBkaXNhYmxlIHRoZSBwb3dlci1zYXZlIG1vZGUuCisKK2VuZGlmCSMgU05EX0RSSVZFUlMKZGlmZiAtLWdpdCBhL3NvdW5kL2RyaXZlcnMvdngvdnhfY29yZS5jIGIvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMKaW5kZXggOTk1Mzg4Ni4uNTg1YWYyZSAxMDA2NDQKLS0tIGEvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMKKysrIGIvc291bmQvZHJpdmVycy92eC92eF9jb3JlLmMKQEAgLTQ1Myw3ICs0NTMsNyBAQAogCQkJdnhfb3V0YihjaGlwLCBUWE0sIDApOwogCQkJdnhfb3V0YihjaGlwLCBUWEwsIDApOwogCQl9IGVsc2UgewotCQkJdW5zaWduZWQgY2hhciAqaW1hZ2UgPSBib290LT5kYXRhICsgaTsKKwkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmltYWdlID0gYm9vdC0+ZGF0YSArIGk7CiAJCQlpZiAodnhfd2FpdF9pc3JfYml0KGNoaXAsIElTUl9UWF9FTVBUWSkgPCAwKSB7CiAJCQkJc25kX3ByaW50ayhLRVJOX0VSUiAiZHNwIGJvb3QgZmFpbGVkIGF0ICVkXG4iLCBpKTsKIAkJCQlyZXR1cm4gLUVJTzsKQEAgLTY3MSw3ICs2NzEsNyBAQAogCXVuc2lnbmVkIGludCBpOwogCWludCBlcnI7CiAJdW5zaWduZWQgaW50IGNzdW0gPSAwOwotCXVuc2lnbmVkIGNoYXIgKmltYWdlLCAqY3B0cjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZSwgKmNwdHI7CiAKIAlzbmRfYXNzZXJ0KGRzcC0+c2l6ZSAlIDMgPT0gMCwgcmV0dXJuIC1FSU5WQUwpOwogCmRpZmYgLS1naXQgYS9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2h3ZGVwLmMgYi9zb3VuZC9kcml2ZXJzL3Z4L3Z4X2h3ZGVwLmMKaW5kZXggMWRmZTY5NC4uZWZkMjJlOSAxMDA2NDQKLS0tIGEvc291bmQvZHJpdmVycy92eC92eF9od2RlcC5jCisrKyBiL3NvdW5kL2RyaXZlcnMvdngvdnhfaHdkZXAuYwpAQCAtMTgzLDcgKzE4Myw3IEBACiAJCWtmcmVlKGZ3KTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlmIChjb3B5X2Zyb21fdXNlcihmdy0+ZGF0YSwgZHNwLT5pbWFnZSwgZHNwLT5sZW5ndGgpKSB7CisJaWYgKGNvcHlfZnJvbV91c2VyKCh2b2lkICopZnctPmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgewogCQlmcmVlX2Z3KGZ3KTsKIAkJcmV0dXJuIC1FRkFVTFQ7CiAJfQpkaWZmIC0tZ2l0IGEvc291bmQvaTJjL2NzODQyNy5jIGIvc291bmQvaTJjL2NzODQyNy5jCmluZGV4IGU1N2U5Y2IuLjljM2QzNjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL2kyYy9jczg0MjcuYworKysgYi9zb3VuZC9pMmMvY3M4NDI3LmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8YXNtL3VuYWxpZ25lZC5oPgogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CiAjaW5jbHVkZSA8c291bmQvcGNtLmg+CkBAIC0yNjQsMTAgKzI2NSw3IEBACiAJCWdvdG8gX19mYWlsOwogCX0KIAkvKiB3cml0ZSBkZWZhdWx0IGNoYW5uZWwgc3RhdHVzIGJ5dGVzICovCi0JYnVmWzBdID0gKCh1bnNpZ25lZCBjaGFyKShTTkRSVl9QQ01fREVGQVVMVF9DT05fU1BESUYgPj4gMCkpOwotCWJ1ZlsxXSA9ICgodW5zaWduZWQgY2hhcikoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGID4+IDgpKTsKLQlidWZbMl0gPSAoKHVuc2lnbmVkIGNoYXIpKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiA+PiAxNikpOwotCWJ1ZlszXSA9ICgodW5zaWduZWQgY2hhcikoU05EUlZfUENNX0RFRkFVTFRfQ09OX1NQRElGID4+IDI0KSk7CisJcHV0X3VuYWxpZ25lZF9sZTMyKFNORFJWX1BDTV9ERUZBVUxUX0NPTl9TUERJRiwgYnVmKTsKIAltZW1zZXQoYnVmICsgNCwgMCwgMjQgLSA0KTsKIAlpZiAoc25kX2NzODQyN19zZW5kX2NvcnVkYXRhKGRldmljZSwgMCwgYnVmLCAyNCkgPCAwKQogCQlnb3RvIF9fZmFpbDsKZGlmZiAtLWdpdCBhL3NvdW5kL2kyYy9sMy91ZGExMzQxLmMgYi9zb3VuZC9pMmMvbDMvdWRhMTM0MS5jCmluZGV4IGJmYTVkMmMuLjFmNDk0MmUgMTAwNjQ0Ci0tLSBhL3NvdW5kL2kyYy9sMy91ZGExMzQxLmMKKysrIGIvc291bmQvaTJjL2wzL3VkYTEzNDEuYwpAQCAtMTcsOCArMTcsNiBAQAogICogMjAwMi0wNS0xMiAgIFRvbWFzIEthc3BhcmVrICBhbm90aGVyIGNvZGUgY2xlYW51cAogICovCiAKLS8qICRJZDogdWRhMTM0MS5jLHYgMS4xOCAyMDA1LzExLzE3IDE0OjE3OjIxIHRpd2FpIEV4cCAkICovCi0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9LY29uZmlnIGIvc291bmQvaXNhL0tjb25maWcKaW5kZXggMjYzOWE2YS4uNTc2OWExMyAxMDA2NDQKLS0tIGEvc291bmQvaXNhL0tjb25maWcKKysrIGIvc291bmQvaXNhL0tjb25maWcKQEAgLTIxLDEyICsyMSwxNyBAQAogICAgICAgICBzZWxlY3QgU05EX1BDTQogICAgICAgICBzZWxlY3QgU05EX1NCX0NPTU1PTgogCi1tZW51ICJJU0EgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBJU0EgJiYgSVNBX0RNQV9BUEkKK21lbnVjb25maWcgU05EX0lTQQorCWJvb2wgIklTQSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gSVNBICYmIElTQV9ETUFfQVBJCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBJU0EgYnVzLgorCitpZiBTTkRfSVNBCiAKIGNvbmZpZyBTTkRfQURMSUIKIAl0cmlzdGF0ZSAiQWRMaWIgRk0gY2FyZCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQWRMaWIgRk0gY2FyZHMuCkBAIC0zNiw3ICs0MSw3IEBACiAKIGNvbmZpZyBTTkRfQUQxODE2QQogCXRyaXN0YXRlICJBbmFsb2cgRGV2aWNlcyBTb3VuZFBvcnQgQUQxODE2QSIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTUwLDcgKzU1LDYgQEAKIAogY29uZmlnIFNORF9BRDE4NDgKIAl0cmlzdGF0ZSAiR2VuZXJpYyBBRDE4NDgvQ1M0MjQ4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUQxODQ4X0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBRDE4NDggKEFuYWxvZyBEZXZpY2VzKSBvcgpAQCAtNjQsNyArNjgsNyBAQAogCiBjb25maWcgU05EX0FMUzEwMAogCXRyaXN0YXRlICJBdmFuY2UgTG9naWMgQUxTMTAwL0FMUzEyMCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTc4LDcgKzgyLDcgQEAKIAogY29uZmlnIFNORF9BWlQyMzIwCiAJdHJpc3RhdGUgIkF6dGVjaCBTeXN0ZW1zIEFaVDIzMjAiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IElTQVBOUAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC05Miw3ICs5Niw2IEBACiAKIGNvbmZpZyBTTkRfQ01JODMzMAogCXRyaXN0YXRlICJDLU1lZGlhIENNSTgzMzAiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FEMTg0OF9MSUIKIAlzZWxlY3QgU05EX1NCMTZfRFNQCiAJaGVscApAQCAtMTA0LDcgKzEwNyw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjMxCiAJdHJpc3RhdGUgIkdlbmVyaWMgQ2lycnVzIExvZ2ljIENTNDIzMSBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCiAJaGVscApAQCAtMTE2LDcgKzExOCw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjMyCiAJdHJpc3RhdGUgIkdlbmVyaWMgQ2lycnVzIExvZ2ljIENTNDIzMiBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgpAQCAtMTI5LDcgKzEzMCw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0MjM2CiAJdHJpc3RhdGUgIkdlbmVyaWMgQ2lycnVzIExvZ2ljIENTNDIzNisgZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKQEAgLTE0Miw3ICsxNDIsNyBAQAogCiBjb25maWcgU05EX0RUMDE5WAogCXRyaXN0YXRlICJEaWFtb25kIFRlY2hub2xvZ2llcyBEVC0wMTlYLCBBdmFuY2UgTG9naWMgQUxTLTAwNyIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTE1Niw3ICsxNTYsNyBAQAogCiBjb25maWcgU05EX0VTOTY4CiAJdHJpc3RhdGUgIkdlbmVyaWMgRVNTIEVTOTY4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgSVNBUE5QCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfU0I4X0RTUApAQCAtMTY4LDcgKzE2OCw2IEBACiAKIGNvbmZpZyBTTkRfRVMxNjg4CiAJdHJpc3RhdGUgIkdlbmVyaWMgRVNTIEVTNjg4L0VTMTY4OCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfUENNCkBAIC0xODEsNyArMTgwLDYgQEAKIAogY29uZmlnIFNORF9FUzE4WFgKIAl0cmlzdGF0ZSAiR2VuZXJpYyBFU1MgRVMxOHh4IGRyaXZlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTE5Myw3ICsxOTEsNyBAQAogCiBjb25maWcgU05EX1NDNjAwMAogCXRyaXN0YXRlICJHYWxsYW50IFNDLTYwMDAsIEF1ZGlvIEV4Y2VsIERTUCAxNiIKLQlkZXBlbmRzIG9uIFNORCAmJiBIQVNfSU9QT1JUCisJZGVwZW5kcyBvbiBIQVNfSU9QT1JUCiAJc2VsZWN0IFNORF9BRDE4NDhfTElCCiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTIwNCwxNSArMjAyLDEwIEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtc2M2MDAwLgogCi1jb25maWcgU05EX0dVU19TWU5USAotCXRyaXN0YXRlCi0KIGNvbmZpZyBTTkRfR1VTQ0xBU1NJQwogCXRyaXN0YXRlICJHcmF2aXMgVWx0cmFTb3VuZCBDbGFzc2ljIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBHcmF2aXMgVWx0cmFTb3VuZCBDbGFzc2ljCiAJICBzb3VuZGNhcmRzLgpAQCAtMjIyLDExICsyMTUsOSBAQAogCiBjb25maWcgU05EX0dVU0VYVFJFTUUKIAl0cmlzdGF0ZSAiR3JhdmlzIFVsdHJhU291bmQgRXh0cmVtZSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBHcmF2aXMgVWx0cmFTb3VuZCBFeHRyZW1lCiAJICBzb3VuZGNhcmRzLgpAQCAtMjM2LDEwICsyMjcsOCBAQAogCiBjb25maWcgU05EX0dVU01BWAogCXRyaXN0YXRlICJHcmF2aXMgVWx0cmFTb3VuZCBNQVgiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBHcmF2aXMgVWx0cmFTb3VuZCBNQVgKIAkgIHNvdW5kY2FyZHMuCkBAIC0yNDksMTAgKzIzOCw5IEBACiAKIGNvbmZpZyBTTkRfSU5URVJXQVZFCiAJdHJpc3RhdGUgIkFNRCBJbnRlcldhdmUsIEdyYXZpcyBVbHRyYVNvdW5kIFBuUCIKLQlkZXBlbmRzIG9uIFNORCAmJiBQTlAgJiYgSVNBCisJZGVwZW5kcyBvbiBQTlAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKLQlzZWxlY3QgU05EX0dVU19TWU5USAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBTUQgSW50ZXJXYXZlIGJhc2VkCiAJICBzb3VuZGNhcmRzIChHcmF2aXMgVWx0cmFTb3VuZCBQbHVnICYgUGxheSwgU1RCIFNvdW5kUmFnZTMyLApAQCAtMjYzLDEwICsyNTEsOSBAQAogCiBjb25maWcgU05EX0lOVEVSV0FWRV9TVEIKIAl0cmlzdGF0ZSAiQU1EIEludGVyV2F2ZSArIFRFQTYzMzBUIChVbHRyYVNvdW5kIDMyLVBybykiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUE5QICYmIElTQQorCWRlcGVuZHMgb24gUE5QCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9DUzQyMzFfTElCCi0Jc2VsZWN0IFNORF9HVVNfU1lOVEgKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQU1EIEludGVyV2F2ZSBiYXNlZAogCSAgc291bmRjYXJkcyB3aXRoIGEgVEVBNjMzMFQgYmFzcyBhbmQgdHJlYmxlIHJlZ3VsYXRvcgpAQCAtMjc3LDcgKzI2NCw2IEBACiAKIGNvbmZpZyBTTkRfT1BMM1NBMgogCXRyaXN0YXRlICJZYW1haGEgT1BMMy1TQTIvU0EzIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0NTNDIzMV9MSUIKQEAgLTI5MCw3ICsyNzYsNiBAQAogCiBjb25maWcgU05EX09QVEk5MlhfQUQxODQ4CiAJdHJpc3RhdGUgIk9QVGkgODJDOTJ4IC0gQUQxODQ4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfT1BMNF9MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC0zMDQsNyArMjg5LDYgQEAKIAogY29uZmlnIFNORF9PUFRJOTJYX0NTNDIzMQogCXRyaXN0YXRlICJPUFRpIDgyQzkyeCAtIENTNDIzMSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX09QTDRfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtMzE4LDEwICszMDIsOSBAQAogCiBjb25maWcgU05EX09QVEk5M1gKIAl0cmlzdGF0ZSAiT1BUaSA4MkM5M3giCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAotCXNlbGVjdCBTTkRfUENNCisJc2VsZWN0IFNORF9DUzQyMzFfTElCCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHNvdW5kY2FyZHMgYmFzZWQgb24gT3B0aQogCSAgODJDOTN4IGNoaXBzLgpAQCAtMzMxLDcgKzMxNCw2IEBACiAKIGNvbmZpZyBTTkRfTUlSTwogCXRyaXN0YXRlICJNaXJvIG1pcm9TT1VORCBQQ00xcHJvL1BDTTEyL1BDTTIwcmFkaW8gZHJpdmVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEw0X0xJQgogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKQEAgLTM0NSw3ICszMjcsNiBAQAogCiBjb25maWcgU05EX1NCOAogCXRyaXN0YXRlICJTb3VuZCBCbGFzdGVyIDEuMC8yLjAvUHJvICg4LWJpdCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9TQjhfRFNQCkBAIC0zNTgsNyArMzM5LDYgQEAKIAogY29uZmlnIFNORF9TQjE2CiAJdHJpc3RhdGUgIlNvdW5kIEJsYXN0ZXIgMTYgKFBuUCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfU0IxNl9EU1AKQEAgLTM3MSw3ICszNTEsNiBAQAogCiBjb25maWcgU05EX1NCQVdFCiAJdHJpc3RhdGUgIlNvdW5kIEJsYXN0ZXIgQVdFICgzMiw2NCkgKFBuUCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfU0IxNl9EU1AKQEAgLTM5MSwxOCArMzcwLDggQEAKIAkgIGNvcHJvY2Vzc29yIGNhbiBkbyB2YXJpYWJsZSB0YXNrcyBsaWtlIHZhcmlvdXMgY29tcHJlc3Npb24gYW5kCiAJICBkZWNvbXByZXNzaW9uIGFsZ29yaXRobXMuCiAKLWNvbmZpZyBTTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBTQjE2IENTUCIKLQlkZXBlbmRzIG9uIFNORF9TQjE2X0NTUAotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgU0IxNiBDU1AgY29udHJvbGxlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZAotCSAgdG8gaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCiBjb25maWcgU05EX1NHQUxBWFkKIAl0cmlzdGF0ZSAiQXp0ZWNoIFNvdW5kIEdhbGF4eSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUQxODQ4X0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBBenRlY2ggU291bmQgR2FsYXh5CkBAIC00MTMsNyArMzgyLDYgQEAKIAogY29uZmlnIFNORF9TU0NBUEUKIAl0cmlzdGF0ZSAiRW5zb25pcSBTb3VuZFNjYXBlIFBuUCBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQ1M0MjMxX0xJQgpAQCAtNDI2LDcgKzM5NCw2IEBACiAKIGNvbmZpZyBTTkRfV0FWRUZST05UCiAJdHJpc3RhdGUgIlR1cnRsZSBCZWFjaCBNYXVpLFRyb3BleixUcm9wZXorIChXYXZlZnJvbnQpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCkBAIC00NDgsNCArNDE1LDUgQEAKIAkgIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlCiAJICBhbHNhLWZpcm13YXJlIHBhY2thZ2UuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX0lTQQorCmRpZmYgLS1naXQgYS9zb3VuZC9pc2EvY3M0MjN4L2NzNDIzMV9saWIuYyBiL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jCmluZGV4IDBhYTg2NDkuLjUyMWRiNzAgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jCisrKyBiL3NvdW5kL2lzYS9jczQyM3gvY3M0MjMxX2xpYi5jCkBAIC0xMTksNiArMTE5LDQyIEBACiAJMHgwMCwJCQkvKiAxZi8zMSAtIGNicmwgKi8KIH07CiAKK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X29yaWdpbmFsX2ltYWdlWzMyXSA9Cit7CisJMHgwMCwJCS8qIDAwLzAwIC0gbF9taXhvdXRfb3V0Y3RybCAqLworCTB4MDAsCQkvKiAwMS8wMSAtIHJfbWl4b3V0X291dGN0cmwgKi8KKwkweDg4LAkJLyogMDIvMDIgLSBsX2NkX2luY3RybCAqLworCTB4ODgsCQkvKiAwMy8wMyAtIHJfY2RfaW5jdHJsICovCisJMHg4OCwJCS8qIDA0LzA0IC0gbF9hMS9mbV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMDUvMDUgLSByX2ExL2ZtX2luY3RybCAqLworCTB4ODAsCQkvKiAwNi8wNiAtIGxfZGFjX2luY3RybCAqLworCTB4ODAsCQkvKiAwNy8wNyAtIHJfZGFjX2luY3RybCAqLworCTB4MDAsCQkvKiAwOC8wOCAtIHBseV9kYXRhZm9ybV9yZWcgKi8KKwkweDAwLAkJLyogMDkvMDkgLSBpZl9jb25mICovCisJMHgwMCwJCS8qIDBhLzEwIC0gcGluX2N0cmwgKi8KKwkweDAwLAkJLyogMGIvMTEgLSBlcnJfaW5pdF9yZWcgKi8KKwkweDBhLAkJLyogMGMvMTIgLSBpZF9yZWcgKi8KKwkweDAwLAkJLyogMGQvMTMgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAwZS8xNCAtIHBseV91cGNvdW50X3JlZyAqLworCTB4MDAsCQkvKiAwZi8xNSAtIHBseV9sb3djb3VudF9yZWcgKi8KKwkweDg4LAkJLyogMTAvMTYgLSByZXNlcnZlZC9sX2ExX2luY3RybCAqLworCTB4ODgsCQkvKiAxMS8xNyAtIHJlc2VydmVkL3JfYTFfaW5jdHJsICovCisJMHg4OCwJCS8qIDEyLzE4IC0gbF9saW5lX2luY3RybCAqLworCTB4ODgsCQkvKiAxMy8xOSAtIHJfbGluZV9pbmN0cmwgKi8KKwkweDg4LAkJLyogMTQvMjAgLSBsX21pY19pbmN0cmwgKi8KKwkweDg4LAkJLyogMTUvMjEgLSByX21pY19pbmN0cmwgKi8KKwkweDgwLAkJLyogMTYvMjIgLSBsX291dF9vdXRjdHJsICovCisJMHg4MCwJCS8qIDE3LzIzIC0gcl9vdXRfb3V0Y3RybCAqLworCTB4MDAsCQkvKiAxOC8yNCAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDE5LzI1IC0gcmVzZXJ2ZWQgKi8KKwkweDAwLAkJLyogMWEvMjYgLSByZXNlcnZlZCAqLworCTB4MDAsCQkvKiAxYi8yNyAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDFjLzI4IC0gY2FwX2RhdGFmb3JtX3JlZyAqLworCTB4MDAsCQkvKiAxZC8yOSAtIHJlc2VydmVkICovCisJMHgwMCwJCS8qIDFlLzMwIC0gY2FwX3VwY291bnRfcmVnICovCisJMHgwMAkJLyogMWYvMzEgLSBjYXBfbG93Y291bnRfcmVnICovCit9OworCiAvKgogICogIEJhc2ljIEkvTyBmdW5jdGlvbnMKICAqLwpAQCAtODk1LDcgKzkzMSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIHNuZF9jczQyMzFfb3ZlcnJhbmdlKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKQordm9pZCBzbmRfY3M0MjMxX292ZXJyYW5nZShzdHJ1Y3Qgc25kX2NzNDIzMSAqY2hpcCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXVuc2lnbmVkIGNoYXIgcmVzOwpAQCAtMTA1NCw4ICsxMDkwLDExIEBACiAJY2hpcC0+aW1hZ2VbQ1M0MjMxX0lGQUNFX0NUUkxdID0KIAkgICAgKGNoaXAtPmltYWdlW0NTNDIzMV9JRkFDRV9DVFJMXSAmIH5DUzQyMzFfU0lOR0xFX0RNQSkgfAogCSAgICAoY2hpcC0+c2luZ2xlX2RtYSA/IENTNDIzMV9TSU5HTEVfRE1BIDogMCk7Ci0JY2hpcC0+aW1hZ2VbQ1M0MjMxX0FMVF9GRUFUVVJFXzFdID0gMHg4MDsKLQljaGlwLT5pbWFnZVtDUzQyMzFfQUxUX0ZFQVRVUkVfMl0gPSBjaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfSU5URVJXQVZFID8gMHhjMiA6IDB4MDE7CisJaWYgKGNoaXAtPmhhcmR3YXJlICE9IENTNDIzMV9IV19PUFRJOTNYKSB7CisJCWNoaXAtPmltYWdlW0NTNDIzMV9BTFRfRkVBVFVSRV8xXSA9IDB4ODA7CisJCWNoaXAtPmltYWdlW0NTNDIzMV9BTFRfRkVBVFVSRV8yXSA9CisJCQljaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfSU5URVJXQVZFID8gMHhjMiA6IDB4MDE7CisJfQogCXB0ciA9ICh1bnNpZ25lZCBjaGFyICopICZjaGlwLT5pbWFnZTsKIAlzbmRfY3M0MjMxX21jZV9kb3duKGNoaXApOwogCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOwpAQCAtMTM3Niw2ICsxNDE1LDcgQEAKIAljYXNlIENTNDIzMV9IV19JTlRFUldBVkU6IHJldHVybiAiQU1EIEludGVyV2F2ZSI7CiAJY2FzZSBDUzQyMzFfSFdfT1BMM1NBMjogcmV0dXJuIGNoaXAtPmNhcmQtPnNob3J0bmFtZTsKIAljYXNlIENTNDIzMV9IV19BRDE4NDU6IHJldHVybiAiQUQxODQ1IjsKKwljYXNlIENTNDIzMV9IV19PUFRJOTNYOiByZXR1cm4gIk9QVGkgOTN4IjsKIAlkZWZhdWx0OiByZXR1cm4gIj8/PyI7CiAJfQogfQpAQCAtMTQwMSw4ICsxNDQxLDEzIEBACiAJY2hpcC0+cmF0ZV9jb25zdHJhaW50ID0gc25kX2NzNDIzMV94cmF0ZTsKIAljaGlwLT5zZXRfcGxheWJhY2tfZm9ybWF0ID0gc25kX2NzNDIzMV9wbGF5YmFja19mb3JtYXQ7CiAJY2hpcC0+c2V0X2NhcHR1cmVfZm9ybWF0ID0gc25kX2NzNDIzMV9jYXB0dXJlX2Zvcm1hdDsKLSAgICAgICAgbWVtY3B5KCZjaGlwLT5pbWFnZSwgJnNuZF9jczQyMzFfb3JpZ2luYWxfaW1hZ2UsIHNpemVvZihzbmRfY3M0MjMxX29yaWdpbmFsX2ltYWdlKSk7Ci0gICAgICAgIAorCWlmIChjaGlwLT5oYXJkd2FyZSA9PSBDUzQyMzFfSFdfT1BUSTkzWCkKKwkJbWVtY3B5KCZjaGlwLT5pbWFnZSwgJnNuZF9vcHRpOTN4X29yaWdpbmFsX2ltYWdlLAorCQkgICAgICAgc2l6ZW9mKHNuZF9vcHRpOTN4X29yaWdpbmFsX2ltYWdlKSk7CisJZWxzZQorCQltZW1jcHkoJmNoaXAtPmltYWdlLCAmc25kX2NzNDIzMV9vcmlnaW5hbF9pbWFnZSwKKwkJICAgICAgIHNpemVvZihzbmRfY3M0MjMxX29yaWdpbmFsX2ltYWdlKSk7CisKICAgICAgICAgKnJjaGlwID0gY2hpcDsKICAgICAgICAgcmV0dXJuIDA7CiB9CkBAIC0xNzkwLDYgKzE4MzUsNDggQEAKIENTNDIzMV9TSU5HTEUoIkxvb3BiYWNrIENhcHR1cmUgVm9sdW1lIiwgMCwgQ1M0MjMxX0xPT1BCQUNLLCAyLCA2MywgMSkKIH07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX29wdGk5M3hfY29udHJvbHNbXSA9IHsKK0NTNDIzMV9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCAxLCAxLCAzMSwgMSksCitDUzQyMzFfRE9VQkxFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9PVVRQVVQsIENTNDIzMV9SSUdIVF9PVVRQVVQsIDcsIDcsIDEsIDEpLAorQ1M0MjMxX0RPVUJMRSgiUENNIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfT1VUUFVULCBDUzQyMzFfUklHSFRfT1VUUFVULCAwLCAwLCAzMSwgMSksCitDUzQyMzFfRE9VQkxFKCJGTSBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIENTNDIzMV9BVVgyX0xFRlRfSU5QVVQsIENTNDIzMV9BVVgyX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIkZNIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0FVWDJfTEVGVF9JTlBVVCwgQ1M0MjMxX0FVWDJfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfTEVGVF9MSU5FX0lOLCBDUzQyMzFfUklHSFRfTElORV9JTiwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDAsCisJICAgICAgQ1M0MjMxX0xFRlRfTElORV9JTiwgQ1M0MjMxX1JJR0hUX0xJTkVfSU4sIDAsIDAsIDE1LCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAwLAorCSAgICAgIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKK0NTNDIzMV9ET1VCTEUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIE9QVGk5M1hfTUlDX0xFRlRfSU5QVVQsIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJNaWMgQm9vc3QiLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX0lOUFVULCBDUzQyMzFfUklHSFRfSU5QVVQsIDUsIDUsIDEsIDApLAorQ1M0MjMxX0RPVUJMRSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBDUzQyMzFfQVVYMV9MRUZUX0lOUFVULCBDUzQyMzFfQVVYMV9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9BVVgxX0xFRlRfSU5QVVQsIENTNDIzMV9BVVgxX1JJR0hUX0lOUFVULCAxLCAxLCAxNSwgMSksCitDUzQyMzFfRE9VQkxFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgMCwKKwkgICAgICBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgNywgNywgMSwgMSksCitDUzQyMzFfRE9VQkxFKCJBdXggUGxheWJhY2sgVm9sdW1lIiwgMCwKKwkgICAgICBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLAorQ1M0MjMxX0RPVUJMRSgiQ2FwdHVyZSBWb2x1bWUiLCAwLAorCSAgICAgIENTNDIzMV9MRUZUX0lOUFVULCBDUzQyMzFfUklHSFRfSU5QVVQsIDAsIDAsIDE1LCAwKSwKK3sKKwkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSA9ICJDYXB0dXJlIFNvdXJjZSIsCisJLmluZm8gPSBzbmRfY3M0MjMxX2luZm9fbXV4LAorCS5nZXQgPSBzbmRfY3M0MjMxX2dldF9tdXgsCisJLnB1dCA9IHNuZF9jczQyMzFfcHV0X211eCwKK30KK307CisKIGludCBzbmRfY3M0MjMxX21peGVyKHN0cnVjdCBzbmRfY3M0MjMxICpjaGlwKQogewogCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKQEAgLTE4MDIsMTAgKzE4ODksMjIgQEAKIAogCXN0cmNweShjYXJkLT5taXhlcm5hbWUsIGNoaXAtPnBjbS0+bmFtZSk7CiAKLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2NzNDIzMV9jb250cm9scyk7IGlkeCsrKSB7Ci0JCWlmICgoZXJyID0gc25kX2N0bF9hZGQoY2FyZCwgc25kX2N0bF9uZXcxKCZzbmRfY3M0MjMxX2NvbnRyb2xzW2lkeF0sIGNoaXApKSkgPCAwKQotCQkJcmV0dXJuIGVycjsKLQl9CisJaWYgKGNoaXAtPmhhcmR3YXJlID09IENTNDIzMV9IV19PUFRJOTNYKQorCQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX29wdGk5M3hfY29udHJvbHMpOyBpZHgrKykgeworCQkJZXJyID0gc25kX2N0bF9hZGQoY2FyZCwKKwkJCQkJc25kX2N0bF9uZXcxKCZzbmRfb3B0aTkzeF9jb250cm9sc1tpZHhdLAorCQkJCQkJICAgICBjaGlwKSk7CisJCQlpZiAoZXJyIDwgMCkKKwkJCQlyZXR1cm4gZXJyOworCQl9CisJZWxzZQorCQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2NzNDIzMV9jb250cm9scyk7IGlkeCsrKSB7CisJCQllcnIgPSBzbmRfY3RsX2FkZChjYXJkLAorCQkJCQlzbmRfY3RsX25ldzEoJnNuZF9jczQyMzFfY29udHJvbHNbaWR4XSwKKwkJCQkJCSAgICAgY2hpcCkpOworCQkJaWYgKGVyciA8IDApCisJCQkJcmV0dXJuIGVycjsKKwkJfQogCXJldHVybiAwOwogfQogCkBAIC0xODE1LDYgKzE5MTQsNyBAQAogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjM2X2V4dF9pbik7CiBFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfbWNlX3VwKTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9tY2VfZG93bik7CitFWFBPUlRfU1lNQk9MKHNuZF9jczQyMzFfb3ZlcnJhbmdlKTsKIEVYUE9SVF9TWU1CT0woc25kX2NzNDIzMV9pbnRlcnJ1cHQpOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX2NoaXBfaWQpOwogRVhQT1JUX1NZTUJPTChzbmRfY3M0MjMxX2NyZWF0ZSk7CmRpZmYgLS1naXQgYS9zb3VuZC9pc2Evb3B0aTl4eC9vcHRpOTJ4LWFkMTg0OC5jIGIvc291bmQvaXNhL29wdGk5eHgvb3B0aTkyeC1hZDE4NDguYwppbmRleCBmZTFhZmMxLi40MWMwNDdlIDEwMDY0NAotLS0gYS9zb3VuZC9pc2Evb3B0aTl4eC9vcHRpOTJ4LWFkMTg0OC5jCisrKyBiL3NvdW5kL2lzYS9vcHRpOXh4L29wdGk5MngtYWQxODQ4LmMKQEAgLTMzLDE1ICszMywxMCBAQAogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9kbWEuaD4KICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+Ci0jaWZkZWYgQ1M0MjMxCisjaWYgZGVmaW5lZChDUzQyMzEpIHx8IGRlZmluZWQoT1BUaTkzWCkKICNpbmNsdWRlIDxzb3VuZC9jczQyMzEuaD4KICNlbHNlCi0jaWZuZGVmIE9QVGk5M1gKICNpbmNsdWRlIDxzb3VuZC9hZDE4NDguaD4KLSNlbHNlCi0jaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgotI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgotI2VuZGlmCS8qIE9QVGk5M1ggKi8KICNlbmRpZgkvKiBDUzQyMzEgKi8KICNpbmNsdWRlIDxzb3VuZC9tcHU0MDEuaD4KICNpbmNsdWRlIDxzb3VuZC9vcGwzLmg+CkBAIC0xMDksNyArMTA0LDYgQEAKIE1PRFVMRV9QQVJNX0RFU0MoZG1hMiwgIjJuZCBkbWEgIyBmb3Igb3B0aTl4eCBkcml2ZXIuIik7CiAjZW5kaWYJLyogQ1M0MjMxIHx8IE9QVGk5M1ggKi8KIAotI2RlZmluZSBPUFRpOVhYX0hXX0RFVEVDVAkwCiAjZGVmaW5lIE9QVGk5WFhfSFdfODJDOTI4CTEKICNkZWZpbmUgT1BUaTlYWF9IV184MkM5MjkJMgogI2RlZmluZSBPUFRpOVhYX0hXXzgyQzkyNAkzCkBAIC0xMjMsMTA1ICsxMTcsMTIgQEAKIAogI2lmZGVmIE9QVGk5M1gKIAotI2RlZmluZSBPUFRpOTNYX0lOREVYCQkJMHgwMAotI2RlZmluZSBPUFRpOTNYX0RBVEEJCQkweDAxCiAjZGVmaW5lIE9QVGk5M1hfU1RBVFVTCQkJMHgwMgotI2RlZmluZSBPUFRpOTNYX0REQVRBCQkJMHgwMwogI2RlZmluZSBPUFRpOTNYX1BPUlQoY2hpcCwgcikJCSgoY2hpcCktPnBvcnQgKyBPUFRpOTNYXyMjcikKIAotI2RlZmluZSBPUFRpOTNYX01JWE9VVF9MRUZUCQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX1JJR0hUCQkweDAxCi0jZGVmaW5lIE9QVGk5M1hfQ0RfTEVGVF9JTlBVVAkJMHgwMgotI2RlZmluZSBPUFRpOTNYX0NEX1JJR0hUX0lOUFVUCQkweDAzCi0jZGVmaW5lIE9QVGk5MzBfQVVYX0xFRlRfSU5QVVQJCTB4MDQKLSNkZWZpbmUgT1BUaTkzMF9BVVhfUklHSFRfSU5QVVQJCTB4MDUKLSNkZWZpbmUgT1BUaTkzMV9GTV9MRUZUX0lOUFVUCQkweDA0Ci0jZGVmaW5lIE9QVGk5MzFfRk1fUklHSFRfSU5QVVQJCTB4MDUKLSNkZWZpbmUgT1BUaTkzWF9EQUNfTEVGVAkJMHgwNgotI2RlZmluZSBPUFRpOTNYX0RBQ19SSUdIVAkJMHgwNwotI2RlZmluZSBPUFRpOTNYX1BMQVlfRk9STUFUCQkweDA4Ci0jZGVmaW5lIE9QVGk5M1hfSUZBQ0VfQ09ORgkJMHgwOQotI2RlZmluZSBPUFRpOTNYX1BJTl9DVFJMCQkweDBhCi0jZGVmaW5lIE9QVGk5M1hfRVJSX0lOSVQJCTB4MGIKLSNkZWZpbmUgT1BUaTkzWF9JRAkJCTB4MGMKLSNkZWZpbmUgT1BUaTkzWF9QTEFZX1VQUl9DTlQJCTB4MGUKLSNkZWZpbmUgT1BUaTkzWF9QTEFZX0xXUl9DTlQJCTB4MGYKLSNkZWZpbmUgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVAkJMHgxMAotI2RlZmluZSBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVAkJMHgxMQotI2RlZmluZSBPUFRpOTNYX0xJTkVfTEVGVF9JTlBVVAkJMHgxMgotI2RlZmluZSBPUFRpOTNYX0xJTkVfUklHSFRfSU5QVVQJMHgxMwotI2RlZmluZSBPUFRpOTNYX01JQ19MRUZUX0lOUFVUCQkweDE0Ci0jZGVmaW5lIE9QVGk5M1hfTUlDX1JJR0hUX0lOUFVUCQkweDE1Ci0jZGVmaW5lIE9QVGk5M1hfT1VUX0xFRlQJCTB4MTYKLSNkZWZpbmUgT1BUaTkzWF9PVVRfUklHSFQJCTB4MTcKLSNkZWZpbmUgT1BUaTkzWF9DQVBUX0ZPUk1BVAkJMHgxYwotI2RlZmluZSBPUFRpOTNYX0NBUFRfVVBSX0NOVAkJMHgxZQotI2RlZmluZSBPUFRpOTNYX0NBUFRfTFdSX0NOVAkJMHgxZgotCi0jZGVmaW5lIE9QVGk5M1hfVFJECQkJMHgyMAotI2RlZmluZSBPUFRpOTNYX01DRQkJCTB4NDAKLSNkZWZpbmUgT1BUaTkzWF9JTklUCQkJMHg4MAotCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX01JQ19HQUlOCQkweDIwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX0xJTkUJCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfQ0QJCTB4NDAKLSNkZWZpbmUgT1BUaTkzWF9NSVhPVVRfTUlDCQkweDgwCi0jZGVmaW5lIE9QVGk5M1hfTUlYT1VUX01JWEVSCQkweGMwCi0KLSNkZWZpbmUgT1BUaTkzWF9TVEVSRU8JCQkweDEwCi0jZGVmaW5lIE9QVGk5M1hfTElORUFSXzgJCTB4MDAKLSNkZWZpbmUgT1BUaTkzWF9VTEFXXzgJCQkweDIwCi0jZGVmaW5lIE9QVGk5M1hfTElORUFSXzE2X0xJVAkJMHg0MAotI2RlZmluZSBPUFRpOTNYX0FMQVdfOAkJCTB4NjAKLSNkZWZpbmUgT1BUaTkzWF9BRFBDTV8xNgkJMHhhMAotI2RlZmluZSBPUFRpOTNYX0xJTkVBUl8xNl9CSUcJCTB4YzAKLQotI2RlZmluZSBPUFRpOTNYX0NBUFRVUkVfUElPCQkweDgwCi0jZGVmaW5lIE9QVGk5M1hfUExBWUJBQ0tfUElPCQkweDQwCi0jZGVmaW5lIE9QVGk5M1hfQVVUT0NBTElCCQkweDA4Ci0jZGVmaW5lIE9QVGk5M1hfU0lOR0xFX0RNQQkJMHgwNAotI2RlZmluZSBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFCQkweDAyCi0jZGVmaW5lIE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFCQkweDAxCi0KLSNkZWZpbmUgT1BUaTkzWF9JUlFfRU5BQkxFCQkweDAyCi0KLSNkZWZpbmUgT1BUaTkzWF9ETUFfUkVRVUVTVAkJMHgxMAotI2RlZmluZSBPUFRpOTNYX0NBTElCX0lOX1BST0dSRVNTCTB4MjAKLQogI2RlZmluZSBPUFRpOTNYX0lSUV9QTEFZQkFDSwkJMHgwNAogI2RlZmluZSBPUFRpOTNYX0lSUV9DQVBUVVJFCQkweDA4CiAKLQotc3RydWN0IHNuZF9vcHRpOTN4IHsKLQl1bnNpZ25lZCBsb25nIHBvcnQ7Ci0Jc3RydWN0IHJlc291cmNlICpyZXNfcG9ydDsKLQlpbnQgaXJxOwotCWludCBkbWExOwotCWludCBkbWEyOwotCi0Jc3RydWN0IHNuZF9vcHRpOXh4ICpjaGlwOwotCXVuc2lnbmVkIHNob3J0IGhhcmR3YXJlOwotCXVuc2lnbmVkIGNoYXIgaW1hZ2VbMzJdOwotCi0JdW5zaWduZWQgY2hhciBtY2VfYml0OwotCXVuc2lnbmVkIHNob3J0IG1vZGU7Ci0JaW50IG11dGU7Ci0KLQlzcGlubG9ja190IGxvY2s7Ci0KLQlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7Ci0Jc3RydWN0IHNuZF9wY20gKnBjbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnBsYXliYWNrX3N1YnN0cmVhbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKmNhcHR1cmVfc3Vic3RyZWFtOwotCXVuc2lnbmVkIGludCBwX2RtYV9zaXplOwotCXVuc2lnbmVkIGludCBjX2RtYV9zaXplOwotfTsKLQotI2RlZmluZSBPUFRpOTNYX01PREVfTk9ORQkweDAwCi0jZGVmaW5lIE9QVGk5M1hfTU9ERV9QTEFZCTB4MDEKLSNkZWZpbmUgT1BUaTkzWF9NT0RFX0NBUFRVUkUJMHgwMgotI2RlZmluZSBPUFRpOTNYX01PREVfT1BFTgkoT1BUaTkzWF9NT0RFX1BMQVkgfCBPUFRpOTNYX01PREVfQ0FQVFVSRSkKLQogI2VuZGlmIC8qIE9QVGk5M1ggKi8KIAogc3RydWN0IHNuZF9vcHRpOXh4IHsKQEAgLTIzNCw2ICsxMzUsNyBAQAogCXVuc2lnbmVkIGxvbmcgbWNfYmFzZV9zaXplOwogI2lmZGVmIE9QVGk5M1gKIAl1bnNpZ25lZCBsb25nIG1jX2luZGlyX2luZGV4OworCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYzsKICNlbmRpZgkvKiBPUFRpOTNYICovCiAJdW5zaWduZWQgbG9uZyBwd2RfcmVnOwogCkBAIC00OTEsMTYgKzM5Myw5IEBACiAJCWJyZWFrOwogCiAjZWxzZQkvKiBPUFRpOTNYICovCi0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMDoKIAljYXNlIE9QVGk5WFhfSFdfODJDOTMxOgogCWNhc2UgT1BUaTlYWF9IV184MkM5MzM6Ci0JCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNiksIDB4MDIsIDB4MDMpOwotCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDMpLCAweDAwLCAweGZmKTsKLQkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg0KSwgMHgxMCB8Ci0JCQkoY2hpcC0+aGFyZHdhcmUgPT0gT1BUaTlYWF9IV184MkM5MzAgPyAweDAwIDogMHgwNCksCi0JCQkweDM0KTsKLQkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg1KSwgMHgyMCwgMHhiZik7Ci0JCS8qIAorCQkvKgogCQkgKiBUaGUgQlRDIDE4MTdEVyBoYXMgUVMxMDAwIHdhdmV0YWJsZSB3aGljaCBpcyBjb25uZWN0ZWQKIAkJICogdG8gdGhlIHNlcmlhbCBkaWdpdGFsIGlucHV0IG9mIHRoZSBPUFRJOTMxLgogCQkgKi8KQEAgLTUxMCw2ICs0MDUsMTMgQEAKIAkJICogb3IgZGlnaXRhbCBpbnB1dCBzaWduYWwuCiAJCSAqLwogCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDI2KSwgMHgwMSwgMHgwMSk7CisJY2FzZSBPUFRpOVhYX0hXXzgyQzkzMDogLyogRkFMTCBUSFJPVUdIICovCisJCXNuZF9vcHRpOXh4X3dyaXRlX21hc2soY2hpcCwgT1BUaTlYWF9NQ19SRUcoNiksIDB4MDIsIDB4MDMpOworCQlzbmRfb3B0aTl4eF93cml0ZV9tYXNrKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDMpLCAweDAwLCAweGZmKTsKKwkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg0KSwgMHgxMCB8CisJCQkoY2hpcC0+aGFyZHdhcmUgPT0gT1BUaTlYWF9IV184MkM5MzAgPyAweDAwIDogMHgwNCksCisJCQkweDM0KTsKKwkJc25kX29wdGk5eHhfd3JpdGVfbWFzayhjaGlwLCBPUFRpOVhYX01DX1JFRyg1KSwgMHgyMCwgMHhiZik7CiAJCWJyZWFrOwogI2VuZGlmCS8qIE9QVGk5M1ggKi8KIApAQCAtNjU0LDk3OSArNTU2LDIzIEBACiAKICNpZmRlZiBPUFRpOTNYCiAKLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF9vcHRpOTN4X2RlZmF1bHRfaW1hZ2VbMzJdID0KLXsKLQkweDAwLAkJLyogMDAvMDAgLSBsX21peG91dF9vdXRjdHJsICovCi0JMHgwMCwJCS8qIDAxLzAxIC0gcl9taXhvdXRfb3V0Y3RybCAqLwotCTB4ODgsCQkvKiAwMi8wMiAtIGxfY2RfaW5jdHJsICovCi0JMHg4OCwJCS8qIDAzLzAzIC0gcl9jZF9pbmN0cmwgKi8KLQkweDg4LAkJLyogMDQvMDQgLSBsX2ExL2ZtX2luY3RybCAqLwotCTB4ODgsCQkvKiAwNS8wNSAtIHJfYTEvZm1faW5jdHJsICovCi0JMHg4MCwJCS8qIDA2LzA2IC0gbF9kYWNfaW5jdHJsICovCi0JMHg4MCwJCS8qIDA3LzA3IC0gcl9kYWNfaW5jdHJsICovCi0JMHgwMCwJCS8qIDA4LzA4IC0gcGx5X2RhdGFmb3JtX3JlZyAqLwotCTB4MDAsCQkvKiAwOS8wOSAtIGlmX2NvbmYgKi8KLQkweDAwLAkJLyogMGEvMTAgLSBwaW5fY3RybCAqLwotCTB4MDAsCQkvKiAwYi8xMSAtIGVycl9pbml0X3JlZyAqLwotCTB4MGEsCQkvKiAwYy8xMiAtIGlkX3JlZyAqLwotCTB4MDAsCQkvKiAwZC8xMyAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDBlLzE0IC0gcGx5X3VwY291bnRfcmVnICovCi0JMHgwMCwJCS8qIDBmLzE1IC0gcGx5X2xvd2NvdW50X3JlZyAqLwotCTB4ODgsCQkvKiAxMC8xNiAtIHJlc2VydmVkL2xfYTFfaW5jdHJsICovCi0JMHg4OCwJCS8qIDExLzE3IC0gcmVzZXJ2ZWQvcl9hMV9pbmN0cmwgKi8KLQkweDg4LAkJLyogMTIvMTggLSBsX2xpbmVfaW5jdHJsICovCi0JMHg4OCwJCS8qIDEzLzE5IC0gcl9saW5lX2luY3RybCAqLwotCTB4ODgsCQkvKiAxNC8yMCAtIGxfbWljX2luY3RybCAqLwotCTB4ODgsCQkvKiAxNS8yMSAtIHJfbWljX2luY3RybCAqLwotCTB4ODAsCQkvKiAxNi8yMiAtIGxfb3V0X291dGN0cmwgKi8KLQkweDgwLAkJLyogMTcvMjMgLSByX291dF9vdXRjdHJsICovCi0JMHgwMCwJCS8qIDE4LzI0IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMTkvMjUgLSByZXNlcnZlZCAqLwotCTB4MDAsCQkvKiAxYS8yNiAtIHJlc2VydmVkICovCi0JMHgwMCwJCS8qIDFiLzI3IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMWMvMjggLSBjYXBfZGF0YWZvcm1fcmVnICovCi0JMHgwMCwJCS8qIDFkLzI5IC0gcmVzZXJ2ZWQgKi8KLQkweDAwLAkJLyogMWUvMzAgLSBjYXBfdXBjb3VudF9yZWcgKi8KLQkweDAwCQkvKiAxZi8zMSAtIGNhcF9sb3djb3VudF9yZWcgKi8KLX07Ci0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9idXN5X3dhaXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCWludCB0aW1lb3V0OwotCi0JZm9yICh0aW1lb3V0ID0gMjUwOyB0aW1lb3V0LS0gPiAwOyB1ZGVsYXkoMTApKQotCQlpZiAoIShpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSkgJiBPUFRpOTNYX0lOSVQpKQotCQkJcmV0dXJuIDA7Ci0KLQlzbmRfcHJpbnRrKCJjaGlwIHN0aWxsIGJ1c3kuXG4iKTsKLQlyZXR1cm4gLUVCVVNZOwotfQotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9pbihzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGNoYXIgcmVnKQotewotCXNuZF9vcHRpOTN4X2J1c3lfd2FpdChjaGlwKTsKLQlvdXRiKGNoaXAtPm1jZV9iaXQgfCAocmVnICYgMHgxZiksIE9QVGk5M1hfUE9SVChjaGlwLCBJTkRFWCkpOwotCXJldHVybiBpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIERBVEEpKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfb3V0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciByZWcsCi0JCQkgICAgdW5zaWduZWQgY2hhciB2YWx1ZSkKLXsKLQlzbmRfb3B0aTkzeF9idXN5X3dhaXQoY2hpcCk7Ci0Jb3V0YihjaGlwLT5tY2VfYml0IHwgKHJlZyAmIDB4MWYpLCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLQlvdXRiKHZhbHVlLCBPUFRpOTNYX1BPUlQoY2hpcCwgREFUQSkpOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9vdXRfaW1hZ2Uoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIHJlZywKLQkJCQkgIHVuc2lnbmVkIGNoYXIgdmFsdWUpCi17Ci0Jc25kX29wdGk5M3hfb3V0KGNoaXAsIHJlZywgY2hpcC0+aW1hZ2VbcmVnXSA9IHZhbHVlKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfb3V0X21hc2soc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIHJlZywKLQkJCQkgdW5zaWduZWQgY2hhciBtYXNrLCB1bnNpZ25lZCBjaGFyIHZhbHVlKQotewotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCByZWcsCi0JCShjaGlwLT5pbWFnZVtyZWddICYgfm1hc2spIHwgKHZhbHVlICYgbWFzaykpOwotfQotCi0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X21jZV91cChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXApCi17Ci0Jc25kX29wdGk5M3hfYnVzeV93YWl0KGNoaXApOwotCi0JY2hpcC0+bWNlX2JpdCA9IE9QVGk5M1hfTUNFOwotCWlmICghKGluYihPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKSAmIE9QVGk5M1hfTUNFKSkKLQkJb3V0YihjaGlwLT5tY2VfYml0LCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfbWNlX2Rvd24oc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXNuZF9vcHRpOTN4X2J1c3lfd2FpdChjaGlwKTsKLQotCWNoaXAtPm1jZV9iaXQgPSAwOwotCWlmIChpbmIoT1BUaTkzWF9QT1JUKGNoaXAsIElOREVYKSkgJiBPUFRpOTNYX01DRSkKLQkJb3V0YihjaGlwLT5tY2VfYml0LCBPUFRpOTNYX1BPUlQoY2hpcCwgSU5ERVgpKTsKLX0KLQotI2RlZmluZSBzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCByZWcsIG11dGUpCVwKLQlzbmRfb3B0aTkzeF9vdXQoY2hpcCwgcmVnLCBtdXRlID8gMHg4MCA6IGNoaXAtPmltYWdlW3JlZ10pOwotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9tdXRlKHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgaW50IG11dGUpCi17Ci0JbXV0ZSA9IG11dGUgPyAxIDogMDsKLQlpZiAoY2hpcC0+bXV0ZSA9PSBtdXRlKQotCQlyZXR1cm47Ci0KLQljaGlwLT5tdXRlID0gbXV0ZTsKLQotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfQ0RfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9DRF9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0Jc3dpdGNoIChjaGlwLT5oYXJkd2FyZSkgewotCWNhc2UgT1BUaTlYWF9IV184MkM5MzA6Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzBfQVVYX0xFRlRfSU5QVVQsIG11dGUpOwotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMwX0FVWF9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0JCWJyZWFrOwotCWNhc2UgT1BUaTlYWF9IV184MkM5MzE6Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMzoKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMV9GTV9MRUZUX0lOUFVULCBtdXRlKTsKLQkJc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzMV9GTV9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0JCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5MzFfQVVYX0xFRlRfSU5QVVQsIG11dGUpOwotCQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0JfQotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfREFDX0xFRlQsIG11dGUpOwotCXNuZF9vcHRpOTN4X211dGVfcmVnKGNoaXAsIE9QVGk5M1hfREFDX1JJR0hULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX0xJTkVfTEVGVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9MSU5FX1JJR0hUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBtdXRlKTsKLQlzbmRfb3B0aTkzeF9tdXRlX3JlZyhjaGlwLCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9PVVRfTEVGVCwgbXV0ZSk7Ci0Jc25kX29wdGk5M3hfbXV0ZV9yZWcoY2hpcCwgT1BUaTkzWF9PVVRfUklHSFQsIG11dGUpOwotfQotCi0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgc25kX29wdGk5M3hfZ2V0X2NvdW50KHVuc2lnbmVkIGNoYXIgZm9ybWF0LAotCQkJCQkgIHVuc2lnbmVkIGludCBzaXplKQotewotCXN3aXRjaCAoZm9ybWF0ICYgMHhlMCkgewotCWNhc2UgT1BUaTkzWF9MSU5FQVJfMTZfTElUOgotCWNhc2UgT1BUaTkzWF9MSU5FQVJfMTZfQklHOgotCQlzaXplID4+PSAxOwotCQlicmVhazsKLQljYXNlIE9QVGk5M1hfQURQQ01fMTY6Ci0JCXJldHVybiBzaXplID4+IDI7Ci0JfQotCXJldHVybiAoZm9ybWF0ICYgT1BUaTkzWF9TVEVSRU8pID8gKHNpemUgPj4gMSkgOiBzaXplOwotfQotCi1zdGF0aWMgdW5zaWduZWQgaW50IHJhdGVzW10gPSB7ICA1NTEyLCAgNjYxNSwgIDgwMDAsICA5NjAwLCAxMTAyNSwgMTYwMDAsIAotCQkJCTE4OTAwLCAyMjA1MCwgMjc0MjgsIDMyMDAwLCAzMzA3NSwgMzc4MDAsCi0JCQkJNDQxMDAsIDQ4MDAwIH07Ci0jZGVmaW5lIFJBVEVTIEFSUkFZX1NJWkUocmF0ZXMpCi0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QgaHdfY29uc3RyYWludHNfcmF0ZXMgPSB7Ci0JLmNvdW50ID0gUkFURVMsCi0JLmxpc3QgPSByYXRlcywKLQkubWFzayA9IDAsCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBiaXRzW10gPSB7ICAweDAxLCAgMHgwZiwgIDB4MDAsICAweDBlLCAgMHgwMywgIDB4MDIsCi0JCQkJIDB4MDUsICAweDA3LCAgMHgwNCwgIDB4MDYsICAweDBkLCAgMHgwOSwKLQkJCQkgMHgwYiwgIDB4MGN9OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBzbmRfb3B0aTkzeF9nZXRfZnJlcSh1bnNpZ25lZCBpbnQgcmF0ZSkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCBSQVRFUzsgaSsrKSB7Ci0JCWlmIChyYXRlID09IHJhdGVzW2ldKQotCQkJcmV0dXJuIGJpdHNbaV07Ci0JfQotCXNuZF9CVUcoKTsKLQlyZXR1cm4gYml0c1tSQVRFUy0xXTsKLX0KLQotc3RhdGljIHVuc2lnbmVkIGNoYXIgc25kX29wdGk5M3hfZ2V0X2Zvcm1hdChzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsCi0JCQkJCSAgICB1bnNpZ25lZCBpbnQgZm9ybWF0LCBpbnQgY2hhbm5lbHMpCi17Ci0JdW5zaWduZWQgY2hhciByZXR2YWwgPSBPUFRpOTNYX0xJTkVBUl84OwotCi0Jc3dpdGNoIChmb3JtYXQpIHsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfTVVfTEFXOgotCQlyZXR2YWwgPSBPUFRpOTNYX1VMQVdfODsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX0FfTEFXOgotCQlyZXR2YWwgPSBPUFRpOTNYX0FMQVdfODsKLQkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToKLQkJcmV0dmFsID0gT1BUaTkzWF9MSU5FQVJfMTZfTElUOwotCQlicmVhazsKLQljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0JFOgotCQlyZXR2YWwgPSBPUFRpOTNYX0xJTkVBUl8xNl9CSUc7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9JTUFfQURQQ006Ci0JCXJldHZhbCA9IE9QVGk5M1hfQURQQ01fMTY7Ci0JfQotCXJldHVybiAoY2hhbm5lbHMgPiAxKSA/IChyZXR2YWwgfCBPUFRpOTNYX1NURVJFTykgOiByZXR2YWw7Ci19Ci0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfcGxheWJhY2tfZm9ybWF0KHN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCwgdW5zaWduZWQgY2hhciBmbXQpCi17Ci0JdW5zaWduZWQgY2hhciBtYXNrOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAxKTsKLQotCXNuZF9vcHRpOTN4X21jZV91cChjaGlwKTsKLQltYXNrID0gKGNoaXAtPm1vZGUgJiBPUFRpOTNYX01PREVfQ0FQVFVSRSkgPyAweGYwIDogMHhmZjsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX1BMQVlfRk9STUFULCBtYXNrLCBmbXQpOwotCXNuZF9vcHRpOTN4X21jZV9kb3duKGNoaXApOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAwKTsKLX0KLQotc3RhdGljIHZvaWQgc25kX29wdGk5M3hfY2FwdHVyZV9mb3JtYXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwLCB1bnNpZ25lZCBjaGFyIGZtdCkKLXsKLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDEpOwotCi0Jc25kX29wdGk5M3hfbWNlX3VwKGNoaXApOwotCWlmICghKGNoaXAtPm1vZGUgJiBPUFRpOTNYX01PREVfUExBWSkpCi0JCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfUExBWV9GT1JNQVQsIDB4MGYsIGZtdCk7Ci0JZWxzZQotCQlmbXQgPSBjaGlwLT5pbWFnZVtPUFRpOTNYX1BMQVlfRk9STUFUXSAmIDB4ZjA7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfQ0FQVF9GT1JNQVQsIGZtdCk7Ci0Jc25kX29wdGk5M3hfbWNlX2Rvd24oY2hpcCk7Ci0KLQlzbmRfb3B0aTkzeF9tdXRlKGNoaXAsIDApOwotfQotCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfb3BlbihzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGludCBtb2RlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JaWYgKGNoaXAtPm1vZGUgJiBtb2RlKSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuIC1FQUdBSU47Ci0JfQotCi0JaWYgKCEoY2hpcC0+bW9kZSAmIE9QVGk5M1hfTU9ERV9PUEVOKSkgewotCQlvdXRiKDB4MDAsIE9QVGk5M1hfUE9SVChjaGlwLCBTVEFUVVMpKTsKLQkJc25kX29wdGk5M3hfb3V0X21hc2soY2hpcCwgT1BUaTkzWF9QSU5fQ1RSTCwKLQkJCU9QVGk5M1hfSVJRX0VOQUJMRSwgT1BUaTkzWF9JUlFfRU5BQkxFKTsKLQkJY2hpcC0+bW9kZSA9IG1vZGU7Ci0JfQotCWVsc2UKLQkJY2hpcC0+bW9kZSB8PSBtb2RlOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9jbG9zZShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAsIHVuc2lnbmVkIGludCBtb2RlKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JY2hpcC0+bW9kZSAmPSB+bW9kZTsKLQlpZiAoY2hpcC0+bW9kZSAmIE9QVGk5M1hfTU9ERV9PUEVOKSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQkJcmV0dXJuOwotCX0KLQotCXNuZF9vcHRpOTN4X211dGUoY2hpcCwgMSk7Ci0KLQlvdXRiKDAsIE9QVGk5M1hfUE9SVChjaGlwLCBTVEFUVVMpKTsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX1BJTl9DVFJMLCBPUFRpOTNYX0lSUV9FTkFCTEUsCi0JCX5PUFRpOTNYX0lSUV9FTkFCTEUpOwotCi0Jc25kX29wdGk5M3hfbWNlX3VwKGNoaXApOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsIDB4MDApOwotCXNuZF9vcHRpOTN4X21jZV9kb3duKGNoaXApOwotCWNoaXAtPm1vZGUgPSAwOwotCi0Jc25kX29wdGk5M3hfbXV0ZShjaGlwLCAwKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgCi0JCQkgICAgICAgdW5zaWduZWQgY2hhciB3aGF0LCBpbnQgY21kKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQotCXN3aXRjaCAoY21kKSB7Ci0JY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKLQljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6Ci0JewotCQl1bnNpZ25lZCBpbnQgd2hhdCA9IDA7Ci0JCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqczsKLQkJc25kX3BjbV9ncm91cF9mb3JfZWFjaF9lbnRyeShzLCBzdWJzdHJlYW0pIHsKLQkJCWlmIChzID09IGNoaXAtPnBsYXliYWNrX3N1YnN0cmVhbSkgewotCQkJCXdoYXQgfD0gT1BUaTkzWF9QTEFZQkFDS19FTkFCTEU7Ci0JCQkJc25kX3BjbV90cmlnZ2VyX2RvbmUocywgc3Vic3RyZWFtKTsKLQkJCX0gZWxzZSBpZiAocyA9PSBjaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSkgewotCQkJCXdoYXQgfD0gT1BUaTkzWF9DQVBUVVJFX0VOQUJMRTsKLQkJCQlzbmRfcGNtX3RyaWdnZXJfZG9uZShzLCBzdWJzdHJlYW0pOwotCQkJfQotCQl9Ci0JCXNwaW5fbG9jaygmY2hpcC0+bG9jayk7Ci0JCWlmIChjbWQgPT0gU05EUlZfUENNX1RSSUdHRVJfU1RBUlQpIHsKLQkJCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwgd2hhdCwgd2hhdCk7Ci0JCQlpZiAod2hhdCAmIE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUpCi0JCQkJdWRlbGF5KDUwKTsKLQkJfSBlbHNlCi0JCQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsIHdoYXQsIDB4MDApOwotCQlzcGluX3VubG9jaygmY2hpcC0+bG9jayk7Ci0JCWJyZWFrOwotCX0KLQlkZWZhdWx0OgotCQlyZXR1cm4gLUVJTlZBTDsKLQl9Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGxheWJhY2tfdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKLXsKLQlyZXR1cm4gc25kX29wdGk5M3hfdHJpZ2dlcihzdWJzdHJlYW0sCi0JCQkJICAgT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUsIGNtZCk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV90cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQotewotCXJldHVybiBzbmRfb3B0aTkzeF90cmlnZ2VyKHN1YnN0cmVhbSwKLQkJCQkgICBPUFRpOTNYX0NBUFRVUkVfRU5BQkxFLCBjbWQpOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKLQkJCQkgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpod19wYXJhbXMpCi17Ci0JcmV0dXJuIHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdWJzdHJlYW0sIHBhcmFtc19idWZmZXJfYnl0ZXMoaHdfcGFyYW1zKSk7Ci19Ci0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXNuZF9wY21fbGliX2ZyZWVfcGFnZXMoc3Vic3RyZWFtKTsKLQlyZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BsYXliYWNrX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBjaGFyIGZvcm1hdDsKLQl1bnNpZ25lZCBpbnQgY291bnQgPSBzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKTsKLQl1bnNpZ25lZCBpbnQgc2l6ZSA9IHNuZF9wY21fbGliX2J1ZmZlcl9ieXRlcyhzdWJzdHJlYW0pOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQotCWNoaXAtPnBfZG1hX3NpemUgPSBzaXplOwotCXNuZF9vcHRpOTN4X291dF9tYXNrKGNoaXAsIE9QVGk5M1hfSUZBQ0VfQ09ORiwKLQkJT1BUaTkzWF9QTEFZQkFDS19FTkFCTEUgfCBPUFRpOTNYX1BMQVlCQUNLX1BJTywKLQkJfihPUFRpOTNYX1BMQVlCQUNLX0VOQUJMRSB8IE9QVGk5M1hfUExBWUJBQ0tfUElPKSk7Ci0KLQlzbmRfZG1hX3Byb2dyYW0oY2hpcC0+ZG1hMSwgcnVudGltZS0+ZG1hX2FkZHIsIHNpemUsCi0JCURNQV9NT0RFX1dSSVRFIHwgRE1BX0FVVE9JTklUKTsKLQotCWZvcm1hdCA9IHNuZF9vcHRpOTN4X2dldF9mcmVxKHJ1bnRpbWUtPnJhdGUpOwotCWZvcm1hdCB8PSBzbmRfb3B0aTkzeF9nZXRfZm9ybWF0KGNoaXAsIHJ1bnRpbWUtPmZvcm1hdCwKLQkJcnVudGltZS0+Y2hhbm5lbHMpOwotCXNuZF9vcHRpOTN4X3BsYXliYWNrX2Zvcm1hdChjaGlwLCBmb3JtYXQpOwotCWZvcm1hdCA9IGNoaXAtPmltYWdlW09QVGk5M1hfUExBWV9GT1JNQVRdOwotCi0JY291bnQgPSBzbmRfb3B0aTkzeF9nZXRfY291bnQoZm9ybWF0LCBjb3VudCkgLSAxOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX1BMQVlfTFdSX0NOVCwgY291bnQpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX1BMQVlfVVBSX0NOVCwgY291bnQgPj4gOCk7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgY2hhciBmb3JtYXQ7Ci0JdW5zaWduZWQgaW50IGNvdW50ID0gc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSk7Ci0JdW5zaWduZWQgaW50IHNpemUgPSBzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKTsKLQotCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQljaGlwLT5jX2RtYV9zaXplID0gc2l6ZTsKLQlzbmRfb3B0aTkzeF9vdXRfbWFzayhjaGlwLCBPUFRpOTNYX0lGQUNFX0NPTkYsCi0JCU9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUgfCBPUFRpOTNYX0NBUFRVUkVfUElPLCAwKTsKLQotCXNuZF9kbWFfcHJvZ3JhbShjaGlwLT5kbWEyLCBydW50aW1lLT5kbWFfYWRkciwgc2l6ZSwKLQkJRE1BX01PREVfUkVBRCB8IERNQV9BVVRPSU5JVCk7Ci0KLQlmb3JtYXQgPSBzbmRfb3B0aTkzeF9nZXRfZnJlcShydW50aW1lLT5yYXRlKTsKLQlmb3JtYXQgfD0gc25kX29wdGk5M3hfZ2V0X2Zvcm1hdChjaGlwLCBydW50aW1lLT5mb3JtYXQsCi0JCXJ1bnRpbWUtPmNoYW5uZWxzKTsKLQlzbmRfb3B0aTkzeF9jYXB0dXJlX2Zvcm1hdChjaGlwLCBmb3JtYXQpOwotCWZvcm1hdCA9IGNoaXAtPmltYWdlW09QVGk5M1hfQ0FQVF9GT1JNQVRdOwotCi0JY291bnQgPSBzbmRfb3B0aTkzeF9nZXRfY291bnQoZm9ybWF0LCBjb3VudCkgLSAxOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0NBUFRfTFdSX0NOVCwgY291bnQpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCBPUFRpOTNYX0NBUFRfVVBSX0NOVCwgY291bnQgPj4gOCk7Ci0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBzbmRfb3B0aTkzeF9wbGF5YmFja19wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzaXplX3QgcHRyOwotCi0JaWYgKCEoY2hpcC0+aW1hZ2VbT1BUaTkzWF9JRkFDRV9DT05GXSAmIE9QVGk5M1hfUExBWUJBQ0tfRU5BQkxFKSkKLQkJcmV0dXJuIDA7Ci0KLQlwdHIgPSBzbmRfZG1hX3BvaW50ZXIoY2hpcC0+ZG1hMSwgY2hpcC0+cF9kbWFfc2l6ZSk7Ci0JcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsIHB0cik7Ci19Ci0KLXN0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBzbmRfb3B0aTkzeF9jYXB0dXJlX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCXNpemVfdCBwdHI7Ci0JCi0JaWYgKCEoY2hpcC0+aW1hZ2VbT1BUaTkzWF9JRkFDRV9DT05GXSAmIE9QVGk5M1hfQ0FQVFVSRV9FTkFCTEUpKQotCQlyZXR1cm4gMDsKLQotCXB0ciA9IHNuZF9kbWFfcG9pbnRlcihjaGlwLT5kbWEyLCBjaGlwLT5jX2RtYV9zaXplKTsKLQlyZXR1cm4gYnl0ZXNfdG9fZnJhbWVzKHN1YnN0cmVhbS0+cnVudGltZSwgcHRyKTsKLX0KLQotCi1zdGF0aWMgdm9pZCBzbmRfb3B0aTkzeF9vdmVycmFuZ2Uoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCi0JaWYgKHNuZF9vcHRpOTN4X2luKGNoaXAsIE9QVGk5M1hfRVJSX0lOSVQpICYgKDB4MDggfCAweDAyKSkKLQkJY2hpcC0+Y2FwdHVyZV9zdWJzdHJlYW0tPnJ1bnRpbWUtPm92ZXJyYW5nZSsrOwotCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotfQotCiBzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX29wdGk5M3hfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjID0gZGV2X2lkOworCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYyA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAgPSBjb2RlYy0+Y2FyZC0+cHJpdmF0ZV9kYXRhOwogCXVuc2lnbmVkIGNoYXIgc3RhdHVzOwogCi0Jc3RhdHVzID0gc25kX29wdGk5eHhfcmVhZChjb2RlYy0+Y2hpcCwgT1BUaTlYWF9NQ19SRUcoMTEpKTsKKwlzdGF0dXMgPSBzbmRfb3B0aTl4eF9yZWFkKGNoaXAsIE9QVGk5WFhfTUNfUkVHKDExKSk7CiAJaWYgKChzdGF0dXMgJiBPUFRpOTNYX0lSUV9QTEFZQkFDSykgJiYgY29kZWMtPnBsYXliYWNrX3N1YnN0cmVhbSkKIAkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjb2RlYy0+cGxheWJhY2tfc3Vic3RyZWFtKTsKIAlpZiAoKHN0YXR1cyAmIE9QVGk5M1hfSVJRX0NBUFRVUkUpICYmIGNvZGVjLT5jYXB0dXJlX3N1YnN0cmVhbSkgewotCQlzbmRfb3B0aTkzeF9vdmVycmFuZ2UoY29kZWMpOworCQlzbmRfY3M0MjMxX292ZXJyYW5nZShjb2RlYyk7CiAJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY29kZWMtPmNhcHR1cmVfc3Vic3RyZWFtKTsKIAl9CiAJb3V0YigweDAwLCBPUFRpOTNYX1BPUlQoY29kZWMsIFNUQVRVUykpOwogCXJldHVybiBJUlFfSEFORExFRDsKIH0KIAotCi1zdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgc25kX29wdGk5M3hfcGxheWJhY2sgPSB7Ci0JLmluZm8gPQkJCShTTkRSVl9QQ01fSU5GT19NTUFQIHwgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAotCQkJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwgU05EUlZfUENNX0lORk9fU1lOQ19TVEFSVCksCi0JLmZvcm1hdHMgPQkJKFNORFJWX1BDTV9GTVRCSVRfTVVfTEFXIHwgU05EUlZfUENNX0ZNVEJJVF9BX0xBVyB8IFNORFJWX1BDTV9GTVRCSVRfSU1BX0FEUENNIHwKLQkJCQkgU05EUlZfUENNX0ZNVEJJVF9VOCB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUpLAotCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV9LTk9UIHwgU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCwKLQkucmF0ZV9taW4gPQkJNTUxMiwKLQkucmF0ZV9tYXggPQkJNDgwMDAsCi0JLmNoYW5uZWxzX21pbiA9CQkxLAotCS5jaGFubmVsc19tYXggPQkJMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9CSgxMjgqMTAyNCksCi0JLnBlcmlvZF9ieXRlc19taW4gPQk2NCwKLQkucGVyaW9kX2J5dGVzX21heCA9CSgxMjgqMTAyNCksCi0JLnBlcmlvZHNfbWluID0JCTEsCi0JLnBlcmlvZHNfbWF4ID0JCTEwMjQsCi0JLmZpZm9fc2l6ZSA9CQkwLAotfTsKLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIHNuZF9vcHRpOTN4X2NhcHR1cmUgPSB7Ci0JLmluZm8gPQkJCShTTkRSVl9QQ01fSU5GT19NTUFQIHwgU05EUlZfUENNX0lORk9fSU5URVJMRUFWRUQgfAotCQkJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwgU05EUlZfUENNX0lORk9fU1lOQ19TVEFSVCksCi0JLmZvcm1hdHMgPQkJKFNORFJWX1BDTV9GTVRCSVRfTVVfTEFXIHwgU05EUlZfUENNX0ZNVEJJVF9BX0xBVyB8IFNORFJWX1BDTV9GTVRCSVRfSU1BX0FEUENNIHwKLQkJCQkgU05EUlZfUENNX0ZNVEJJVF9VOCB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMTZfQkUpLAotCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwLAotCS5yYXRlX21pbiA9CQk1NTEyLAotCS5yYXRlX21heCA9CQk0ODAwMCwKLQkuY2hhbm5lbHNfbWluID0JCTEsCi0JLmNoYW5uZWxzX21heCA9CQkyLAotCS5idWZmZXJfYnl0ZXNfbWF4ID0JKDEyOCoxMDI0KSwKLQkucGVyaW9kX2J5dGVzX21pbiA9CTY0LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0JKDEyOCoxMDI0KSwKLQkucGVyaW9kc19taW4gPQkJMSwKLQkucGVyaW9kc19tYXggPQkJMTAyNCwKLQkuZmlmb19zaXplID0JCTAsCi19OwotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BsYXliYWNrX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X29wZW4oY2hpcCwgT1BUaTkzWF9NT0RFX1BMQVkpKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQlzbmRfcGNtX3NldF9zeW5jKHN1YnN0cmVhbSk7Ci0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gc3Vic3RyZWFtOwotCXJ1bnRpbWUtPmh3ID0gc25kX29wdGk5M3hfcGxheWJhY2s7Ci0Jc25kX3BjbV9saW1pdF9pc2FfZG1hX3NpemUoY2hpcC0+ZG1hMSwgJnJ1bnRpbWUtPmh3LmJ1ZmZlcl9ieXRlc19tYXgpOwotCXNuZF9wY21faHdfY29uc3RyYWludF9saXN0KHJ1bnRpbWUsIDAsIFNORFJWX1BDTV9IV19QQVJBTV9SQVRFLCAmaHdfY29uc3RyYWludHNfcmF0ZXMpOwotCXJldHVybiBlcnJvcjsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jYXB0dXJlX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwotCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X29wZW4oY2hpcCwgT1BUaTkzWF9NT0RFX0NBUFRVUkUpKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQlydW50aW1lLT5odyA9IHNuZF9vcHRpOTN4X2NhcHR1cmU7Ci0Jc25kX3BjbV9zZXRfc3luYyhzdWJzdHJlYW0pOwotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gc3Vic3RyZWFtOwotCXNuZF9wY21fbGltaXRfaXNhX2RtYV9zaXplKGNoaXAtPmRtYTIsICZydW50aW1lLT5ody5idWZmZXJfYnl0ZXNfbWF4KTsKLQlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdChydW50aW1lLCAwLCBTTkRSVl9QQ01fSFdfUEFSQU1fUkFURSwgJmh3X2NvbnN0cmFpbnRzX3JhdGVzKTsKLQlyZXR1cm4gZXJyb3I7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcGxheWJhY2tfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOwotCi0JY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtID0gTlVMTDsKLQlzbmRfb3B0aTkzeF9jbG9zZShjaGlwLCBPUFRpOTNYX01PREVfUExBWSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfY2FwdHVyZV9jbG9zZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7Ci0KLQljaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSA9IE5VTEw7Ci0Jc25kX29wdGk5M3hfY2xvc2UoY2hpcCwgT1BUaTkzWF9NT0RFX0NBUFRVUkUpOwotCXJldHVybiAwOwotfQotCi0KLXN0YXRpYyB2b2lkIHNuZF9vcHRpOTN4X2luaXQoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGk7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXNuZF9vcHRpOTN4X21jZV91cChjaGlwKTsKLQotCWZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKQotCQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgaSwgc25kX29wdGk5M3hfZGVmYXVsdF9pbWFnZVtpXSk7Ci0KLQlzbmRfb3B0aTkzeF9tY2VfZG93bihjaGlwKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcHJvYmUoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JdW5zaWduZWQgY2hhciB2YWw7Ci0KLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXZhbCA9IHNuZF9vcHRpOTN4X2luKGNoaXAsIE9QVGk5M1hfSUQpICYgMHgwZjsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0KLQlyZXR1cm4gKHZhbCA9PSAweDBhKSA/IDAgOiAtRU5PREVWOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2ZyZWUoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2UoY2hpcC0+cmVzX3BvcnQpOwotCWlmIChjaGlwLT5kbWExID49IDApIHsKLQkJZGlzYWJsZV9kbWEoY2hpcC0+ZG1hMSk7Ci0JCWZyZWVfZG1hKGNoaXAtPmRtYTEpOwotCX0KLQlpZiAoY2hpcC0+ZG1hMiA+PSAwKSB7Ci0JCWRpc2FibGVfZG1hKGNoaXAtPmRtYTIpOwotCQlmcmVlX2RtYShjaGlwLT5kbWEyKTsKLQl9Ci0JaWYgKGNoaXAtPmlycSA+PSAwKSB7Ci0JICBmcmVlX2lycShjaGlwLT5pcnEsIGNoaXApOwotCX0KLQlrZnJlZShjaGlwKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IGRldmljZS0+ZGV2aWNlX2RhdGE7Ci0JcmV0dXJuIHNuZF9vcHRpOTN4X2ZyZWUoY2hpcCk7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICpzbmRfb3B0aTkzeF9jaGlwX2lkKHN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWMpCi17Ci0Jc3dpdGNoIChjb2RlYy0+aGFyZHdhcmUpIHsKLQljYXNlIE9QVGk5WFhfSFdfODJDOTMwOiByZXR1cm4gIjgyQzkzMCI7Ci0JY2FzZSBPUFRpOVhYX0hXXzgyQzkzMTogcmV0dXJuICI4MkM5MzEiOwotCWNhc2UgT1BUaTlYWF9IV184MkM5MzM6IHJldHVybiAiODJDOTMzIjsKLQlkZWZhdWx0OgkJcmV0dXJuICI/Pz8iOwotCX0KLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9jcmVhdGUoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAsCi0JCQkgICAgICBpbnQgZG1hMSwgaW50IGRtYTIsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX29wdGk5M3ggKipyY29kZWMpCi17Ci0Jc3RhdGljIHN0cnVjdCBzbmRfZGV2aWNlX29wcyBvcHMgPSB7Ci0JCS5kZXZfZnJlZSA9CXNuZF9vcHRpOTN4X2Rldl9mcmVlLAotCX07Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWM7Ci0KLQkqcmNvZGVjID0gTlVMTDsKLQljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKCpjb2RlYyksIEdGUF9LRVJORUwpOwotCWlmIChjb2RlYyA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQljb2RlYy0+aXJxID0gLTE7Ci0JY29kZWMtPmRtYTEgPSAtMTsKLQljb2RlYy0+ZG1hMiA9IC0xOwotCi0JaWYgKChjb2RlYy0+cmVzX3BvcnQgPSByZXF1ZXN0X3JlZ2lvbihjaGlwLT53c3NfYmFzZSArIDQsIDQsICJPUFRJOTN4IENPREVDIikpID09IE5VTEwpIHsKLQkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBwb3J0IDB4JWx4XG4iLCBjaGlwLT53c3NfYmFzZSArIDQpOwotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0JaWYgKHJlcXVlc3RfZG1hKGRtYTEsICJPUFRJOTN4IC0gMSIpKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgRE1BMSAlZFxuIiwgZG1hMSk7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQljb2RlYy0+ZG1hMSA9IGNoaXAtPmRtYTE7Ci0JaWYgKHJlcXVlc3RfZG1hKGRtYTIsICJPUFRJOTN4IC0gMiIpKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgIm9wdGk5eHg6IGNhbid0IGdyYWIgRE1BMiAlZFxuIiwgZG1hMik7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gLUVCVVNZOwotCX0KLQljb2RlYy0+ZG1hMiA9IGNoaXAtPmRtYTI7Ci0KLQlpZiAocmVxdWVzdF9pcnEoY2hpcC0+aXJxLCBzbmRfb3B0aTkzeF9pbnRlcnJ1cHQsIElSUUZfRElTQUJMRUQsIERFVl9OQU1FIiAtIFdTUyIsIGNvZGVjKSkgewotCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJvcHRpOXh4OiBjYW4ndCBncmFiIElSUSAlZFxuIiwgY2hpcC0+aXJxKTsKLQkJc25kX29wdGk5M3hfZnJlZShjb2RlYyk7Ci0JCXJldHVybiAtRUJVU1k7Ci0JfQotCi0JY29kZWMtPmNhcmQgPSBjYXJkOwotCWNvZGVjLT5wb3J0ID0gY2hpcC0+d3NzX2Jhc2UgKyA0OwotCWNvZGVjLT5pcnEgPSBjaGlwLT5pcnE7Ci0KLQlzcGluX2xvY2tfaW5pdCgmY29kZWMtPmxvY2spOwotCWNvZGVjLT5oYXJkd2FyZSA9IGNoaXAtPmhhcmR3YXJlOwotCWNvZGVjLT5jaGlwID0gY2hpcDsKLQotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9wcm9iZShjb2RlYykpKSB7Ci0JCXNuZF9vcHRpOTN4X2ZyZWUoY29kZWMpOwotCQlyZXR1cm4gZXJyb3I7Ci0JfQotCi0Jc25kX29wdGk5M3hfaW5pdChjb2RlYyk7Ci0KLQkvKiBSZWdpc3RlciBkZXZpY2UgKi8KLQlpZiAoKGVycm9yID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjb2RlYywgJm9wcykpIDwgMCkgewotCQlzbmRfb3B0aTkzeF9mcmVlKGNvZGVjKTsKLQkJcmV0dXJuIGVycm9yOwotCX0KLQotCSpyY29kZWMgPSBjb2RlYzsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfb3B0aTkzeF9wbGF5YmFja19vcHMgPSB7Ci0JLm9wZW4gPQkJc25kX29wdGk5M3hfcGxheWJhY2tfb3BlbiwKLQkuY2xvc2UgPQlzbmRfb3B0aTkzeF9wbGF5YmFja19jbG9zZSwKLQkuaW9jdGwgPQlzbmRfcGNtX2xpYl9pb2N0bCwKLQkuaHdfcGFyYW1zID0Jc25kX29wdGk5M3hfaHdfcGFyYW1zLAotCS5od19mcmVlID0Jc25kX29wdGk5M3hfaHdfZnJlZSwKLQkucHJlcGFyZSA9CXNuZF9vcHRpOTN4X3BsYXliYWNrX3ByZXBhcmUsCi0JLnRyaWdnZXIgPQlzbmRfb3B0aTkzeF9wbGF5YmFja190cmlnZ2VyLAotCS5wb2ludGVyID0Jc25kX29wdGk5M3hfcGxheWJhY2tfcG9pbnRlciwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX29wdGk5M3hfY2FwdHVyZV9vcHMgPSB7Ci0JLm9wZW4gPQkJc25kX29wdGk5M3hfY2FwdHVyZV9vcGVuLAotCS5jbG9zZSA9CXNuZF9vcHRpOTN4X2NhcHR1cmVfY2xvc2UsCi0JLmlvY3RsID0Jc25kX3BjbV9saWJfaW9jdGwsCi0JLmh3X3BhcmFtcyA9CXNuZF9vcHRpOTN4X2h3X3BhcmFtcywKLQkuaHdfZnJlZSA9CXNuZF9vcHRpOTN4X2h3X2ZyZWUsCi0JLnByZXBhcmUgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX3ByZXBhcmUsCi0JLnRyaWdnZXIgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX3RyaWdnZXIsCi0JLnBvaW50ZXIgPQlzbmRfb3B0aTkzeF9jYXB0dXJlX3BvaW50ZXIsCi19OwotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3BjbShzdHJ1Y3Qgc25kX29wdGk5M3ggKmNvZGVjLCBpbnQgZGV2aWNlLCBzdHJ1Y3Qgc25kX3BjbSAqKnJwY20pCi17Ci0JaW50IGVycm9yOwotCXN0cnVjdCBzbmRfcGNtICpwY207Ci0KLQlpZiAoKGVycm9yID0gc25kX3BjbV9uZXcoY29kZWMtPmNhcmQsICJPUFRpIDgyQzkzWCIsIGRldmljZSwgMSwgMSwgJnBjbSkpIDwgMCkKLQkJcmV0dXJuIGVycm9yOwotCi0Jc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSywgJnNuZF9vcHRpOTN4X3BsYXliYWNrX29wcyk7Ci0Jc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFLCAmc25kX29wdGk5M3hfY2FwdHVyZV9vcHMpOwotCi0JcGNtLT5wcml2YXRlX2RhdGEgPSBjb2RlYzsKLQlwY20tPmluZm9fZmxhZ3MgPSBTTkRSVl9QQ01fSU5GT19KT0lOVF9EVVBMRVg7Ci0KLQlzdHJjcHkocGNtLT5uYW1lLCBzbmRfb3B0aTkzeF9jaGlwX2lkKGNvZGVjKSk7Ci0KLQlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9wYWdlc19mb3JfYWxsKHBjbSwgU05EUlZfRE1BX1RZUEVfREVWLAotCQkJCQkgICAgICBzbmRfZG1hX2lzYV9kYXRhKCksCi0JCQkJCSAgICAgIDY0KjEwMjQsIGNvZGVjLT5kbWExID4gMyB8fCBjb2RlYy0+ZG1hMiA+IDMgPyAxMjgqMTAyNCA6IDY0KjEwMjQpOwotCi0JY29kZWMtPnBjbSA9IHBjbTsKLQlpZiAocnBjbSkKLQkJKnJwY20gPSBwY207Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiAgTUlYRVIgcGFydAotICovCi0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaW5mb19tdXgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCi17Ci0Jc3RhdGljIGNoYXIgKnRleHRzWzRdID0gewotCQkiTGluZTEiLCAiQXV4IiwgIk1pYyIsICJNaXgiCi0JfTsKLQotCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9FTlVNRVJBVEVEOwotCXVpbmZvLT5jb3VudCA9IDI7Ci0JdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbXMgPSA0OwotCWlmICh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtID4gMykKLQkJdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbSA9IDM7Ci0Jc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9nZXRfbXV4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQkKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPSAoY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfTEVGVF0gJiBPUFRpOTNYX01JWE9VVF9NSVhFUikgPj4gNjsKLQl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzFdID0gKGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX1JJR0hUXSAmIE9QVGk5M1hfTUlYT1VUX01JWEVSKSA+PiA2OwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9wdXRfbXV4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKLXsKLQlzdHJ1Y3Qgc25kX29wdGk5M3ggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQl1bnNpZ25lZCBzaG9ydCBsZWZ0LCByaWdodDsKLQlpbnQgY2hhbmdlOwotCQotCWlmICh1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdID4gMyB8fAotCSAgICB1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzFdID4gMykKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JbGVmdCA9IHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPDwgNjsKLQlyaWdodCA9IHVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMV0gPDwgNjsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCWxlZnQgPSAoY2hpcC0+aW1hZ2VbT1BUaTkzWF9NSVhPVVRfTEVGVF0gJiB+T1BUaTkzWF9NSVhPVVRfTUlYRVIpIHwgbGVmdDsKLQlyaWdodCA9IChjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9SSUdIVF0gJiB+T1BUaTkzWF9NSVhPVVRfTUlYRVIpIHwgcmlnaHQ7Ci0JY2hhbmdlID0gbGVmdCAhPSBjaGlwLT5pbWFnZVtPUFRpOTNYX01JWE9VVF9MRUZUXSB8fAotCSAgICAgICAgIHJpZ2h0ICE9IGNoaXAtPmltYWdlW09QVGk5M1hfTUlYT1VUX1JJR0hUXTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgT1BUaTkzWF9NSVhPVVRfTEVGVCwgbGVmdCk7Ci0Jc25kX29wdGk5M3hfb3V0X2ltYWdlKGNoaXAsIE9QVGk5M1hfTUlYT1VUX1JJR0hULCByaWdodCk7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXJldHVybiBjaGFuZ2U7Ci19Ci0KLSNpZiAwCi0KLSNkZWZpbmUgT1BUaTkzWF9TSU5HTEUoeG5hbWUsIHhpbmRleCwgcmVnLCBzaGlmdCwgbWFzaywgaW52ZXJ0KSBcCi17IC5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLCAubmFtZSA9IHhuYW1lLCAuaW5kZXggPSB4aW5kZXgsIFwKLSAgLmluZm8gPSBzbmRfb3B0aTkzeF9pbmZvX3NpbmdsZSwgXAotICAuZ2V0ID0gc25kX29wdGk5M3hfZ2V0X3NpbmdsZSwgLnB1dCA9IHNuZF9vcHRpOTN4X3B1dF9zaW5nbGUsIFwKLSAgLnByaXZhdGVfdmFsdWUgPSByZWcgfCAoc2hpZnQgPDwgOCkgfCAobWFzayA8PCAxNikgfCAoaW52ZXJ0IDw8IDI0KSB9Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfaW5mb19zaW5nbGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCi17Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhmZjsKLQotCXVpbmZvLT50eXBlID0gbWFzayA9PSAxID8gU05EUlZfQ1RMX0VMRU1fVFlQRV9CT09MRUFOIDogU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOwotCXVpbmZvLT5jb3VudCA9IDE7Ci0JdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSBtYXNrOwotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X2dldF9zaW5nbGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7Ci0JaW50IHNoaWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHhmZjsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweGZmOwotCWludCBpbnZlcnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQkKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gKGNoaXAtPmltYWdlW3JlZ10gPj4gc2hpZnQpICYgbWFzazsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGludmVydCkKLQkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBtYXNrIC0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfcHV0X3NpbmdsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IHJlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKLQlpbnQgc2hpZnQgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweGZmOwotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4ZmY7Ci0JaW50IGludmVydCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCWludCBjaGFuZ2U7Ci0JdW5zaWduZWQgc2hvcnQgdmFsOwotCQotCXZhbCA9ICh1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSAmIG1hc2spOwotCWlmIChpbnZlcnQpCi0JCXZhbCA9IG1hc2sgLSB2YWw7Ci0JdmFsIDw8PSBzaGlmdDsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXZhbCA9IChjaGlwLT5pbWFnZVtyZWddICYgfihtYXNrIDw8IHNoaWZ0KSkgfCB2YWw7Ci0JY2hhbmdlID0gdmFsICE9IGNoaXAtPmltYWdlW3JlZ107Ci0Jc25kX29wdGk5M3hfb3V0KGNoaXAsIHJlZywgdmFsKTsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JcmV0dXJuIGNoYW5nZTsKLX0KLQotI2VuZGlmIC8qIHNpbmdsZSAqLwotCi0jZGVmaW5lIE9QVGk5M1hfRE9VQkxFKHhuYW1lLCB4aW5kZXgsIGxlZnRfcmVnLCByaWdodF9yZWcsIHNoaWZ0X2xlZnQsIHNoaWZ0X3JpZ2h0LCBtYXNrLCBpbnZlcnQpIFwKLXsgLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0geG5hbWUsIC5pbmRleCA9IHhpbmRleCwgXAotICAuaW5mbyA9IHNuZF9vcHRpOTN4X2luZm9fZG91YmxlLCBcCi0gIC5nZXQgPSBzbmRfb3B0aTkzeF9nZXRfZG91YmxlLCAucHV0ID0gc25kX29wdGk5M3hfcHV0X2RvdWJsZSwgXAotICAucHJpdmF0ZV92YWx1ZSA9IGxlZnRfcmVnIHwgKHJpZ2h0X3JlZyA8PCA4KSB8IChzaGlmdF9sZWZ0IDw8IDE2KSB8IChzaGlmdF9yaWdodCA8PCAxOSkgfCAobWFzayA8PCAyNCkgfCAoaW52ZXJ0IDw8IDIyKSB9Ci0KLSNkZWZpbmUgT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVCh4Y3RsKSBcCi0JZG8geyB4Y3RsLnByaXZhdGVfdmFsdWUgXj0gMjI7IH0gd2hpbGUgKDApCi0jZGVmaW5lIE9QVGk5M1hfRE9VQkxFX0NIQU5HRV9SRUdTKHhjdGwsIGxlZnRfcmVnLCByaWdodF9yZWcpIFwKLQlkbyB7IHhjdGwucHJpdmF0ZV92YWx1ZSAmPSB+MHgwMDAwZmZmZjsgXAotCSAgICAgeGN0bC5wcml2YXRlX3ZhbHVlIHw9IGxlZnRfcmVnIHwgKHJpZ2h0X3JlZyA8PCA4KTsgfSB3aGlsZSAoMCkKLQotc3RhdGljIGludCBzbmRfb3B0aTkzeF9pbmZvX2RvdWJsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV9pbmZvICp1aW5mbykKLXsKLQlpbnQgbWFzayA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmOwotCi0JdWluZm8tPnR5cGUgPSBtYXNrID09IDEgPyBTTkRSVl9DVExfRUxFTV9UWVBFX0JPT0xFQU4gOiBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7Ci0JdWluZm8tPmNvdW50ID0gMjsKLQl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOwotCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IG1hc2s7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQgc25kX29wdGk5M3hfZ2V0X2RvdWJsZShzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCi17Ci0Jc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0JaW50IGxlZnRfcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwotCWludCByaWdodF9yZWcgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gOCkgJiAweGZmOwotCWludCBzaGlmdF9sZWZ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4MDc7Ci0JaW50IHNoaWZ0X3JpZ2h0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE5KSAmIDB4MDc7Ci0JaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMjQpICYgMHhmZjsKLQlpbnQgaW52ZXJ0ID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDIyKSAmIDE7Ci0JCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IChjaGlwLT5pbWFnZVtsZWZ0X3JlZ10gPj4gc2hpZnRfbGVmdCkgJiBtYXNrOwotCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0gKGNoaXAtPmltYWdlW3JpZ2h0X3JlZ10gPj4gc2hpZnRfcmlnaHQpICYgbWFzazsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5sb2NrLCBmbGFncyk7Ci0JaWYgKGludmVydCkgewotCQl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9IG1hc2sgLSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKLQkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPSBtYXNrIC0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV07Ci0JfQotCXJldHVybiAwOwotfQotCi1zdGF0aWMgaW50IHNuZF9vcHRpOTN4X3B1dF9kb3VibGUoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQotewotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCWludCBsZWZ0X3JlZyA9IGtjb250cm9sLT5wcml2YXRlX3ZhbHVlICYgMHhmZjsKLQlpbnQgcmlnaHRfcmVnID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDgpICYgMHhmZjsKLQlpbnQgc2hpZnRfbGVmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxNikgJiAweDA3OwotCWludCBzaGlmdF9yaWdodCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAxOSkgJiAweDA3OwotCWludCBtYXNrID0gKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmY7Ci0JaW50IGludmVydCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyMikgJiAxOwotCWludCBjaGFuZ2U7Ci0JdW5zaWduZWQgc2hvcnQgdmFsMSwgdmFsMjsKLQkKLQl2YWwxID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gJiBtYXNrOwotCXZhbDIgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSAmIG1hc2s7Ci0JaWYgKGludmVydCkgewotCQl2YWwxID0gbWFzayAtIHZhbDE7Ci0JCXZhbDIgPSBtYXNrIC0gdmFsMjsKLQl9Ci0JdmFsMSA8PD0gc2hpZnRfbGVmdDsKLQl2YWwyIDw8PSBzaGlmdF9yaWdodDsKLQlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+bG9jaywgZmxhZ3MpOwotCXZhbDEgPSAoY2hpcC0+aW1hZ2VbbGVmdF9yZWddICYgfihtYXNrIDw8IHNoaWZ0X2xlZnQpKSB8IHZhbDE7Ci0JdmFsMiA9IChjaGlwLT5pbWFnZVtyaWdodF9yZWddICYgfihtYXNrIDw8IHNoaWZ0X3JpZ2h0KSkgfCB2YWwyOwotCWNoYW5nZSA9IHZhbDEgIT0gY2hpcC0+aW1hZ2VbbGVmdF9yZWddIHx8IHZhbDIgIT0gY2hpcC0+aW1hZ2VbcmlnaHRfcmVnXTsKLQlzbmRfb3B0aTkzeF9vdXRfaW1hZ2UoY2hpcCwgbGVmdF9yZWcsIHZhbDEpOwotCXNuZF9vcHRpOTN4X291dF9pbWFnZShjaGlwLCByaWdodF9yZWcsIHZhbDIpOwotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmxvY2ssIGZsYWdzKTsKLQlyZXR1cm4gY2hhbmdlOwotfQotCi1zdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc25kX29wdGk5M3hfY29udHJvbHNbXSBfX2RldmluaXRkYXRhID0gewotT1BUaTkzWF9ET1VCTEUoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX09VVF9MRUZULCBPUFRpOTNYX09VVF9SSUdIVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfT1VUX0xFRlQsIE9QVGk5M1hfT1VUX1JJR0hULCAxLCAxLCAzMSwgMSksIAotT1BUaTkzWF9ET1VCTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCAwLCBPUFRpOTNYX0RBQ19MRUZULCBPUFRpOTNYX0RBQ19SSUdIVCwgNywgNywgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiUENNIFBsYXliYWNrIFZvbHVtZSIsIDAsIE9QVGk5M1hfREFDX0xFRlQsIE9QVGk5M1hfREFDX1JJR0hULCAwLCAwLCAzMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiRk0gUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzMV9GTV9MRUZUX0lOUFVULCBPUFRpOTMxX0ZNX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJGTSBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTMxX0ZNX0xFRlRfSU5QVVQsIE9QVGk5MzFfRk1fUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJMaW5lIFBsYXliYWNrIFN3aXRjaCIsIDAsIE9QVGk5M1hfTElORV9MRUZUX0lOUFVULCBPUFRpOTNYX0xJTkVfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwgMCwgT1BUaTkzWF9MSU5FX0xFRlRfSU5QVVQsIE9QVGk5M1hfTElORV9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9NSUNfTEVGVF9JTlBVVCwgT1BUaTkzWF9NSUNfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX01JQ19MRUZUX0lOUFVULCBPUFRpOTNYX01JQ19SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJNaWMgQm9vc3QiLCAwLCBPUFRpOTNYX01JWE9VVF9MRUZULCBPUFRpOTNYX01JWE9VVF9SSUdIVCwgNSwgNSwgMSwgMSksCi1PUFRpOTNYX0RPVUJMRSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzWF9DRF9MRUZUX0lOUFVULCBPUFRpOTNYX0NEX1JJR0hUX0lOUFVULCA3LCA3LCAxLCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTNYX0NEX0xFRlRfSU5QVVQsIE9QVGk5M1hfQ0RfUklHSFRfSU5QVVQsIDEsIDEsIDE1LCAxKSwKLU9QVGk5M1hfRE9VQkxFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgMCwgT1BUaTkzMV9BVVhfTEVGVF9JTlBVVCwgT1BUaTkzMV9BVVhfUklHSFRfSU5QVVQsIDcsIDcsIDEsIDEpLAotT1BUaTkzWF9ET1VCTEUoIkF1eCBQbGF5YmFjayBWb2x1bWUiLCAwLCBPUFRpOTMxX0FVWF9MRUZUX0lOUFVULCBPUFRpOTMxX0FVWF9SSUdIVF9JTlBVVCwgMSwgMSwgMTUsIDEpLCAKLU9QVGk5M1hfRE9VQkxFKCJDYXB0dXJlIFZvbHVtZSIsIDAsIE9QVGk5M1hfTUlYT1VUX0xFRlQsIE9QVGk5M1hfTUlYT1VUX1JJR0hULCAwLCAwLCAxNSwgMCksCi17Ci0JLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCi0JLm5hbWUgPSAiQ2FwdHVyZSBTb3VyY2UiLAotCS5pbmZvID0gc25kX29wdGk5M3hfaW5mb19tdXgsCi0JLmdldCA9IHNuZF9vcHRpOTN4X2dldF9tdXgsCi0JLnB1dCA9IHNuZF9vcHRpOTN4X3B1dF9tdXgsCi19Ci19OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotc3RhdGljIGludCBfX2RldmluaXQgc25kX29wdGk5M3hfbWl4ZXIoc3RydWN0IHNuZF9vcHRpOTN4ICpjaGlwKQotewotCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKLQlzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBrbmV3OwotCWludCBlcnI7Ci0JdW5zaWduZWQgaW50IGlkeDsKLQotCXNuZF9hc3NlcnQoY2hpcCAhPSBOVUxMICYmIGNoaXAtPmNhcmQgIT0gTlVMTCwgcmV0dXJuIC1FSU5WQUwpOwotCi0JY2FyZCA9IGNoaXAtPmNhcmQ7Ci0KLQlzdHJjcHkoY2FyZC0+bWl4ZXJuYW1lLCBzbmRfb3B0aTkzeF9jaGlwX2lkKGNoaXApKTsKLQotCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfb3B0aTkzeF9jb250cm9scyk7IGlkeCsrKSB7Ci0JCWtuZXcgPSBzbmRfb3B0aTkzeF9jb250cm9sc1tpZHhdOwotCQlpZiAoY2hpcC0+aGFyZHdhcmUgPT0gT1BUaTlYWF9IV184MkM5MzApIHsKLQkJCWlmIChzdHJzdHIoa25ldy5uYW1lLCAiRk0iKSkJLyogc2tpcCBGTSBjb250cm9scyAqLwotCQkJCWNvbnRpbnVlOwotCQkJZWxzZSBpZiAoc3RyY21wKGtuZXcubmFtZSwgIk1pYyBQbGF5YmFjayBWb2x1bWUiKSkKLQkJCQlPUFRpOTNYX0RPVUJMRV9JTlZFUlRfSU5WRVJUKGtuZXcpOwotCQkJZWxzZSBpZiAoc3Ryc3RyKGtuZXcubmFtZSwgIkF1eCIpKQotCQkJCU9QVGk5M1hfRE9VQkxFX0NIQU5HRV9SRUdTKGtuZXcsIE9QVGk5MzBfQVVYX0xFRlRfSU5QVVQsIE9QVGk5MzBfQVVYX1JJR0hUX0lOUFVUKTsKLQkJCWVsc2UgaWYgKHN0cmNtcChrbmV3Lm5hbWUsICJQQ00gUGxheWJhY2sgVm9sdW1lIikpCi0JCQkJT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVChrbmV3KTsKLQkJCWVsc2UgaWYgKHN0cmNtcChrbmV3Lm5hbWUsICJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIikpCi0JCQkJT1BUaTkzWF9ET1VCTEVfSU5WRVJUX0lOVkVSVChrbmV3KTsKLQkJfQotCQlpZiAoKGVyciA9IHNuZF9jdGxfYWRkKGNhcmQsIHNuZF9jdGxfbmV3MSgmc25kX29wdGk5M3hfY29udHJvbHNbaWR4XSwgY2hpcCkpKSA8IDApCi0JCQlyZXR1cm4gZXJyOwotCX0KLQlyZXR1cm4gMDsKLX0KLQogI2VuZGlmIC8qIE9QVGk5M1ggKi8KIAogc3RhdGljIGludCBfX2RldmluaXQgc25kX2NhcmRfb3B0aTl4eF9kZXRlY3Qoc3RydWN0IHNuZF9jYXJkICpjYXJkLApAQCAtMTczOSw4ICs2ODUsMTYgQEAKIHsKIAlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7CiAgICAgICAgIAotCWlmIChjaGlwKQorCWlmIChjaGlwKSB7CisjaWZkZWYgT1BUaTkzWAorCQlzdHJ1Y3Qgc25kX2NzNDIzMSAqY29kZWMgPSBjaGlwLT5jb2RlYzsKKwkJaWYgKGNvZGVjLT5pcnEgPiAwKSB7CisJCQlkaXNhYmxlX2lycShjb2RlYy0+aXJxKTsKKwkJCWZyZWVfaXJxKGNvZGVjLT5pcnEsIGNvZGVjKTsKKwkJfQorI2VuZGlmCiAJCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2UoY2hpcC0+cmVzX21jX2Jhc2UpOworCX0KIH0KIAogc3RhdGljIGludCBfX2RldmluaXQgc25kX29wdGk5eHhfcHJvYmUoc3RydWN0IHNuZF9jYXJkICpjYXJkKQpAQCAtMTc0OCwxMSArNzAyLDExIEBACiAJc3RhdGljIGxvbmcgcG9zc2libGVfcG9ydHNbXSA9IHsweDUzMCwgMHhlODAsIDB4ZjQwLCAweDYwNCwgLTF9OwogCWludCBlcnJvcjsKIAlzdHJ1Y3Qgc25kX29wdGk5eHggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7Ci0jaWYgZGVmaW5lZChPUFRpOTNYKQotCXN0cnVjdCBzbmRfb3B0aTkzeCAqY29kZWM7Ci0jZWxpZiBkZWZpbmVkKENTNDIzMSkKKyNpZiBkZWZpbmVkKENTNDIzMSkgfHwgZGVmaW5lZChPUFRpOTNYKQogCXN0cnVjdCBzbmRfY3M0MjMxICpjb2RlYzsKKyNpZmRlZiBDUzQyMzEKIAlzdHJ1Y3Qgc25kX3RpbWVyICp0aW1lcjsKKyNlbmRpZgogI2Vsc2UKIAlzdHJ1Y3Qgc25kX2FkMTg0OCAqY29kZWM7CiAjZW5kaWYKQEAgLTE3ODQsMjYgKzczOCwzNCBAQAogCWlmICgoZXJyb3IgPSBzbmRfb3B0aTl4eF9jb25maWd1cmUoY2hpcCkpKQogCQlyZXR1cm4gZXJyb3I7CiAKLSNpZiBkZWZpbmVkKE9QVGk5M1gpCi0JaWYgKChlcnJvciA9IHNuZF9vcHRpOTN4X2NyZWF0ZShjYXJkLCBjaGlwLCBjaGlwLT5kbWExLCBjaGlwLT5kbWEyLCAmY29kZWMpKSkKLQkJcmV0dXJuIGVycm9yOwotCWlmICgoZXJyb3IgPSBzbmRfb3B0aTkzeF9wY20oY29kZWMsIDAsICZwY20pKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLQlpZiAoKGVycm9yID0gc25kX29wdGk5M3hfbWl4ZXIoY29kZWMpKSA8IDApCi0JCXJldHVybiBlcnJvcjsKLSNlbGlmIGRlZmluZWQoQ1M0MjMxKQorI2lmIGRlZmluZWQoQ1M0MjMxKSB8fCBkZWZpbmVkKE9QVGk5M1gpCiAJaWYgKChlcnJvciA9IHNuZF9jczQyMzFfY3JlYXRlKGNhcmQsIGNoaXAtPndzc19iYXNlICsgNCwgLTEsCiAJCQkJICAgICAgIGNoaXAtPmlycSwgY2hpcC0+ZG1hMSwgY2hpcC0+ZG1hMiwKLQkJCQkgICAgICAgQ1M0MjMxX0hXX0RFVEVDVCwKLQkJCQkgICAgICAgMCwKKyNpZmRlZiBDUzQyMzEKKwkJCQkgICAgICAgQ1M0MjMxX0hXX0RFVEVDVCwgMCwKKyNlbHNlIC8qIE9QVGk5M3ggKi8KKwkJCQkgICAgICAgQ1M0MjMxX0hXX09QVEk5M1gsIENTNDIzMV9IV1NIQVJFX0lSUSwKKyNlbmRpZgogCQkJCSAgICAgICAmY29kZWMpKSA8IDApCiAJCXJldHVybiBlcnJvcjsKKyNpZmRlZiBPUFRpOTNYCisJY2hpcC0+Y29kZWMgPSBjb2RlYzsKKyNlbmRpZgogCWlmICgoZXJyb3IgPSBzbmRfY3M0MjMxX3BjbShjb2RlYywgMCwgJnBjbSkpIDwgMCkKIAkJcmV0dXJuIGVycm9yOwogCWlmICgoZXJyb3IgPSBzbmRfY3M0MjMxX21peGVyKGNvZGVjKSkgPCAwKQogCQlyZXR1cm4gZXJyb3I7CisjaWZkZWYgQ1M0MjMxCiAJaWYgKChlcnJvciA9IHNuZF9jczQyMzFfdGltZXIoY29kZWMsIDAsICZ0aW1lcikpIDwgMCkKIAkJcmV0dXJuIGVycm9yOworI2Vsc2UgLyogT1BUSTkzWCAqLworCWVycm9yID0gcmVxdWVzdF9pcnEoY2hpcC0+aXJxLCBzbmRfb3B0aTkzeF9pbnRlcnJ1cHQsCisJCQkgICAgSVJRRl9ESVNBQkxFRCwgREVWX05BTUUiIC0gV1NTIiwgY29kZWMpOworCWlmIChlcnJvciA8IDApIHsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAib3B0aTl4eDogY2FuJ3QgZ3JhYiBJUlEgJWRcbiIsIGNoaXAtPmlycSk7CisJCXJldHVybiBlcnJvcjsKKwl9CisjZW5kaWYKICNlbHNlCiAJaWYgKChlcnJvciA9IHNuZF9hZDE4NDhfY3JlYXRlKGNhcmQsIGNoaXAtPndzc19iYXNlICsgNCwKIAkJCQkgICAgICAgY2hpcC0+aXJxLCBjaGlwLT5kbWExLApkaWZmIC0tZ2l0IGEvc291bmQvaXNhL3NiL01ha2VmaWxlIGIvc291bmQvaXNhL3NiL01ha2VmaWxlCmluZGV4IGM5ZDFjOTguLjEwOThhNTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL2lzYS9zYi9NYWtlZmlsZQorKysgYi9zb3VuZC9pc2Evc2IvTWFrZWZpbGUKQEAgLTM0LDUgKzM0LDMgQEAKICAgb2JqLSQoQ09ORklHX1NORF9TQkFXRSkgKz0gc25kLXNiMTYtY3NwLm8KIGVuZGlmCiBvYmotJChjYWxsIHNlcXVlbmNlciwkKENPTkZJR19TTkRfU0JBV0UpKSArPSBzbmQtZW11ODAwMC1zeW50aC5vCi0KLW9iai1tIDo9ICQoc29ydCAkKG9iai1tKSkKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9zYi9zYjE2X2NzcC5jIGIvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMKaW5kZXggZjNmZDdiNC4uMzVmM2Q3YiAxMDA2NDQKLS0tIGEvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMKKysrIGIvc291bmQvaXNhL3NiL3NiMTZfY3NwLmMKQEAgLTM1LDEzICszNSwxMSBAQAogTU9EVUxFX0FVVEhPUigiVXJvcyBCaXpqYWsgPHVyb3NAa3NzLWxva2Euc2k+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFMU0EgZHJpdmVyIGZvciBTQjE2IENyZWF0aXZlIFNpZ25hbCBQcm9jZXNzb3IiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKLSNpZm5kZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9tdWxhd19tYWluLmNzcCIpOwogTU9EVUxFX0ZJUk1XQVJFKCJzYjE2L2FsYXdfbWFpbi5jc3AiKTsKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9pbWFfYWRwY21faW5pdC5jc3AiKTsKIE1PRFVMRV9GSVJNV0FSRSgic2IxNi9pbWFfYWRwY21fcGxheWJhY2suY3NwIik7CiBNT0RVTEVfRklSTVdBUkUoInNiMTYvaW1hX2FkcGNtX2NhcHR1cmUuY3NwIik7Ci0jZW5kaWYKIAogI2lmZGVmIFNORFJWX0xJVFRMRV9FTkRJQU4KICNkZWZpbmUgQ1NQX0hEUl9WQUxVRShhLGIsYyxkKQkoKGEpIHwgKChiKTw8OCkgfCAoKGMpPDwxNikgfCAoKGQpPDwyNCkpCkBAIC0xNjgsMTcgKzE2NiwxMyBAQAogICovCiBzdGF0aWMgdm9pZCBzbmRfc2JfY3NwX2ZyZWUoc3RydWN0IHNuZF9od2RlcCAqaHdkZXApCiB7Ci0jaWZuZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCiAJaW50IGk7Ci0jZW5kaWYKIAlzdHJ1Y3Qgc25kX3NiX2NzcCAqcCA9IGh3ZGVwLT5wcml2YXRlX2RhdGE7CiAJaWYgKHApIHsKIAkJaWYgKHAtPnJ1bm5pbmcgJiBTTkRSVl9TQl9DU1BfU1RfUlVOTklORykKIAkJCXNuZF9zYl9jc3Bfc3RvcChwKTsKLSNpZm5kZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocC0+Y3NwX3Byb2dyYW1zKTsgKytpKQogCQkJcmVsZWFzZV9maXJtd2FyZShwLT5jc3BfcHJvZ3JhbXNbaV0pOwotI2VuZGlmCiAJCWtmcmVlKHApOwogCX0KIH0KQEAgLTcwMSwxOCArNjk1LDYgQEAKIAlyZXR1cm4gZXJyOwogfQogCi0jaWZkZWYgQ09ORklHX1NORF9TQjE2X0NTUF9GSVJNV0FSRV9JTl9LRVJORUwKLSNpbmNsdWRlICJzYjE2X2NzcF9jb2RlY3MuaCIKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSBzbmRfc2JfY3NwX3N0YXRpY19wcm9ncmFtc1tdID0gewotCXsgLmRhdGEgPSBtdWxhd19tYWluLCAuc2l6ZSA9IHNpemVvZiBtdWxhd19tYWluIH0sCi0JeyAuZGF0YSA9IGFsYXdfbWFpbiwgLnNpemUgPSBzaXplb2YgYWxhd19tYWluIH0sCi0JeyAuZGF0YSA9IGltYV9hZHBjbV9pbml0LCAuc2l6ZSA9IHNpemVvZiBpbWFfYWRwY21faW5pdCB9LAotCXsgLmRhdGEgPSBpbWFfYWRwY21fcGxheWJhY2ssIC5zaXplID0gc2l6ZW9mIGltYV9hZHBjbV9wbGF5YmFjayB9LAotCXsgLmRhdGEgPSBpbWFfYWRwY21fY2FwdHVyZSwgLnNpemUgPSBzaXplb2YgaW1hX2FkcGNtX2NhcHR1cmUgfSwKLX07Ci0jZW5kaWYKLQogc3RhdGljIGludCBzbmRfc2JfY3NwX2Zpcm13YXJlX2xvYWQoc3RydWN0IHNuZF9zYl9jc3AgKnAsIGludCBpbmRleCwgaW50IGZsYWdzKQogewogCXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBuYW1lc1tdID0gewpAQCAtNzI3LDE0ICs3MDksMTAgQEAKIAlCVUlMRF9CVUdfT04oQVJSQVlfU0laRShuYW1lcykgIT0gQ1NQX1BST0dSQU1fQ09VTlQpOwogCXByb2dyYW0gPSBwLT5jc3BfcHJvZ3JhbXNbaW5kZXhdOwogCWlmICghcHJvZ3JhbSkgewotI2lmZGVmIENPTkZJR19TTkRfU0IxNl9DU1BfRklSTVdBUkVfSU5fS0VSTkVMCi0JCXByb2dyYW0gPSAmc25kX3NiX2NzcF9zdGF0aWNfcHJvZ3JhbXNbaW5kZXhdOwotI2Vsc2UKIAkJaW50IGVyciA9IHJlcXVlc3RfZmlybXdhcmUoJnByb2dyYW0sIG5hbWVzW2luZGV4XSwKIAkJCQkgICAgICAgcC0+Y2hpcC0+Y2FyZC0+ZGV2KTsKIAkJaWYgKGVyciA8IDApCiAJCQlyZXR1cm4gZXJyOwotI2VuZGlmCiAJCXAtPmNzcF9wcm9ncmFtc1tpbmRleF0gPSBwcm9ncmFtOwogCX0KIAlyZXR1cm4gc25kX3NiX2NzcF9sb2FkKHAsIHByb2dyYW0tPmRhdGEsIHByb2dyYW0tPnNpemUsIGZsYWdzKTsKZGlmZiAtLWdpdCBhL3NvdW5kL2lzYS9zYi9zYjE2X2NzcF9jb2RlY3MuaCBiL3NvdW5kL2lzYS9zYi9zYjE2X2NzcF9jb2RlY3MuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBlOGIwZC4uMDAwMDAwMAotLS0gYS9zb3VuZC9pc2Evc2Ivc2IxNl9jc3BfY29kZWNzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5NDkgKzAsMCBAQAotLyoKLSAqICBDb3B5cmlnaHQgKGMpIDE5OTQgQ3JlYXRpdmUgVGVjaG5vbG9neSBMdGQuCi0gKiAgTWljcm9jb2RlIGZpbGVzIGZvciBTQjE2IEFkdmFuY2VkIFNpZ25hbCBQcm9jZXNzb3IKLSAqCi0gKiAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0gKiAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSAqICAgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgVVNBCi0gKgotICovCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIG11bGF3X21haW5bXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4YjEsIDB4MDAsIDB4NDQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NDQsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHg2MSwgMHhhOCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwNSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBmLCAweGQ0LCAweDQ5LAotCTB4MjAsIDB4MDEsIDB4MDksIDB4MGUsIDB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhhOCwgMHgwMSwgMHhhOCwgMHg4MCwgMHg4OCwgMHgwMSwgMHhhOCwgMHg4MCwKLQkweGE4LCAweDAwLCAweDAwLCAweDgwLCAweGQyLCAweDAwLCAweDcxLCAweDhiLAotCTB4ODgsIDB4MDAsIDB4YTgsIDB4ODAsIDB4YTgsIDB4MDQsIDB4YjMsIDB4ODAsCi0JMHgyMCwgMHgwNywgMHhiMywgMHg4MCwgMHg4OCwgMHgwMywgMHhiMSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDA5LCAweDVjLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHhhMiwgMHgyMCwgMHg3MSwgMHg4YiwgMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMyLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NDAsIDB4MDAsIDB4MTQsIDB4MDgsIDB4NDAsIDB4MDQsIDB4MjQsCi0JMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwgMHgwYywgMHg0MCwgMHgwMCwgMHg0NCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MzIsIDB4MDAsIDB4MDksIDB4NWMsIDB4MDAsIDB4MDAsIDB4MGMsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHg0MCwgMHg0MCwgMHgwOSwgMHhlZiwKLQkweGZmLCAweDIwLCAweDA5LCAweGNmLCAweDAwLCAweDA0LCAweDYzLCAweGExLAotCTB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwgMHgwMCwgMHhkMCwgMHgwNCwgMHg1NCwKLQkweDA0LCAweGUwLCAweDAwLCAweGM0LCAweDIwLCAweDAzLCAweDgwLCAweGMwLAotCTB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGMwLCAweDAwLCAweDAwLCAweDk5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwgMHgwOCwgMHgzMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDBlLCAweDQyLCAweDhiLCAweDAwLCAweGEyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsIDB4MGMsIDB4YjIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwgMHgwMCwgMHg2MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDllLCAweDQyLCAweDhiLCAweDA4LCAweDUyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsIDB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwgMHgwNCwgMHg3MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDI0LCAweDQyLCAweDhiLCAweDAwLCAweGQyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDMwLCAweDQyLCAweDhiLCAweDA4LCAweDgyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweDAwLCAweGIyLCAweDAwLCAweGM0LAotCTB4MGYsIDB4ZjIsIDB4YTgsIDB4YTgsIDB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwKLQkweGMwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MGQsIDB4ZjIsIDB4YTMsIDB4YTgsIDB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDYxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDEwLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsCi0JMHg2MCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MDAsIDB4ZTIsIDB4MDAsIDB4ODQsCi0JMHgwMywgMHgwMywgMHgwNCwgMHg0OSwgMHgwOCwgMHhjMiwgMHgwMCwgMHg1NCwKLQkweDAwLCAweDYwLCAweDA0LCAweDY0LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDAsIDB4MjAsIDB4ZTIsIDB4OGIsIDB4MGMsIDB4ZjIsIDB4MDAsIDB4ODQsCi0JMHgzZSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDA4LCAweDAxLCAweDAwLCAweDQ0LCAweDZjLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzAsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDIsIDB4ZTIsIDB4OGIsCi0JMHgwNCwgMHgyMSwgMHgwMCwgMHg4NCwgMHhmZCwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMyLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDExLCAweDAwLCAweDQ0LAotCTB4ZmUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzIsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHhlNSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGM5LCAweDIwLCAweDA0LCAweDE5LAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzEsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjMywgMHgyMCwgMHgwNCwgMHgxOSwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM3LCAweDIwLCAweDA0LCAweDE5LCAweDVlLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2YsIDB4MDAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjNiwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGM4LCAweDIwLCAweDA0LCAweDE5LCAweGNhLCAweDIwLCAweDA0LCAweDE5LAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2MsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDA5LCAweDA0LCAweDYxLCAweGE4LCAweGMxLCAweDAwLCAweDA0LCAweDE5LAotCTB4MGIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4Y2EsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHg2MCwgMHgwMCwgMHhkNCwgMHgwZCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDkwLCAweDQwLCAweDA5LCAweDhmLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4MGYsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDAsIDB4NDAsIDB4MDksIDB4OGYsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHg4MiwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDgwLCAweDQwLCAweDA5LCAweGNmLCAweDAyLCAweDAwLCAweDYxLCAweDIyLAotCTB4NDMsIDB4MjUsIDB4NjEsIDB4MjIsIDB4NDAsIDB4MzMsIDB4MDAsIDB4ODAsCi0JMHgwOCwgMHhhOCwgMHgwMCwgMHg0NCwgMHgyMCwgMHgzMSwgMHg0OSwgMHg1YywKLQkweDkyLCAweDAwLCAweDA5LCAweDRlLCAweDAyLCAweDAzLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDAsIDB4YTMsIDB4MDIsIDB4YzAsIDB4MDAsIDB4NzEsIDB4YzAsCi0JMHgyMCwgMHgwMCwgMHhlYiwgMHg4MCwgMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDA0LCAweDYxLCAweDgwLCAweDAwLCAweDA0LCAweDdhLCAweDAyLAotCTB4Y2IsIDB4MDAsIDB4YTgsIDB4NTgsIDB4YjAsIDB4MDUsIDB4ZjMsIDB4ODAsCi0JMHgyMCwgMHgwNCwgMHhhOCwgMHgxMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwKLQkweGIwLCAweDAwLCAweGUwLCAweDhiLCAweDIwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4Y2IsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MDIsCi0JMHg0MCwgMHgwMCwgMHgwMSwgMHg1YiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDRhLCAweGNiLCAweDIwLCAweDAwLCAweDEzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4ZTAsIDB4MjEsIDB4MDAsIDB4YzAsCi0JMHgwOCwgMHgwMCwgMHgwOCwgMHg0OSwgMHgxMCwgMHg0MSwgMHgwOSwgMHg4ZSwKLQkweGZmLCAweGZmLCAweDYyLCAweDhiLCAweDAwLCAweDA0LCAweDYxLCAweDIyLAotCTB4MDAsIDB4MDMsIDB4MDAsIDB4NDUsIDB4MjIsIDB4MDEsIDB4MzMsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhhMywgMHgwMiwgMHgwMCwgMHgwMCwgMHg3YSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDAwLCAweDgyLCAweDA3LCAweDIwLCAweDQwLCAweDBhLAotCTB4MDgsIDB4ODMsIDB4MDAsIDB4ODQsIDB4NDAsIDB4MjEsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwNSwgMHg5MywgMHgxMCwgMHhjNywgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDA3LCAweDIwLCAweDQwLCAweDBhLAotCTB4MGMsIDB4YTMsIDB4MDAsIDB4ODQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgwYywgMHgyNCwgMHg2MSwgMHg1MCwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweGM3LCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHg0MiwgMHgwMSwgMHgwOSwgMHgwZSwgMHgwMiwgMHgyMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAxLCAweDAwLCAweDQ1LCAweDBjLCAweDIwLCAweDYwLCAweDBhLAotCTB4MDAsIDB4NzMsIDB4MDAsIDB4ODQsIDB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwgMHgwYywgMHg2MSwgMHgwNCwgMHhkNCwKLQkweDAwLCAweDI0LCAweDcxLCAweGMwLCAweDIwLCAweDMzLCAweDMzLCAweGMwLAotCTB4ZTAsIDB4MDEsIDB4YTMsIDB4ODIsIDB4MjIsIDB4MDMsIDB4N2EsIDB4MDIsCi0JMHhjMywgMHgwMSwgMHhhMywgMHg4MiwgMHgyMCwgMHgwMSwgMHgzMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDdhLCAweDgwLCAweGMyLCAweDAxLCAweGIzLCAweDUwLAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4NzEsIDB4ODAsCi0JMHgwMCwgMHhmMywgMHgwMCwgMHg0NCwgMHgwYywgMHgyMCwgMHg2MCwgMHgwYSwKLQkweDAwLCAweGQzLCAweDAwLCAweDg0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MzksIDB4MGMsIDB4NjEsIDB4MDQsIDB4ZDQsCi0JMHgwMCwgMHgwMCwgMHhiMywgMHgxMCwgMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweDcxLCAweGMwLCAweDAwLCAweGYzLCAweDAwLCAweDQ0LAotCTB4Y2MsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MjAsIDB4NzEsIDB4YzAsCi0JMHgwMCwgMHgzMCwgMHg3MSwgMHhjMCwgMHgwMCwgMHhmMywgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDAwLCAweDgwLCAweGZmLCAweGZmLCAweDYyLCAweDhiLAotCTB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHgyMCwgMHhlMSwgMHgwOSwgMHg1YywKLQkweDgyLCAweDAwLCAweDA5LCAweDJmLCAweDgwLCAweDRhLCAweDA5LCAweDhlLAotCTB4ZTAsIDB4MDEsIDB4YjMsIDB4ODIsIDB4MjAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHhjYiwgMHgwMywgMHgwMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAwLCAweDEwLCAweDM5LCAweDA4LCAweDA0LCAweGVhLCAweDEwLAotCTB4MDgsIDB4MDQsIDB4N2EsIDB4MTAsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwMCwgMHgyMSwgMHhjYiwgMHgwYywgMHgwMCwgMHhlOCwgMHgxMCwKLQkweDAwLCAweDAwLCAweDQxLCAweDAyLCAweDBjLCAweDAwLCAweGViLCAweDEwLAotCTB4ZjIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MjEsIDB4MzMsIDB4MDIsCi0JMHgwOCwgMHgyMCwgMHg2MSwgMHgwYSwgMHhjNCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGM3LCAweDAwLCAweDAwLCAweDk5LCAweDAyLCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4ZTgsIDB4MDQsIDB4MTQsIDB4MDEsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhiOCwgMHgwNCwgMHg1NCwKLQkweGMzLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGI4LCAweDAwLCAweDQ0LAotCTB4MDgsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4YjgsIDB4MDQsIDB4NTQsCi0JMHhjOCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYSwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA5LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweDY4LCAweDA0LCAweDU0LAotCTB4YzksIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4NjgsIDB4MDAsIDB4NDQsCi0JMHgwYiwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHg2OCwgMHgwNCwgMHg1NCwKLQkweGNiLCAweDAwLCAweDA0LCAweDE5LCAweDA0LCAweDAwLCAweDYxLCAweDBhLAotCTB4MDYsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4NzgsIDB4MDQsIDB4NTQsCi0JMHhjNiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHg3OCwgMHgwMCwgMHg0NCwKLQkweDA1LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweDc4LCAweDA0LCAweDU0LAotCTB4YzUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHhlOCwgMHgwNCwgMHg1NCwKLQkweGNjLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweGU4LCAweDAwLCAweDQ0LAotCTB4MGUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4ZTgsIDB4MDQsIDB4NTQsCi0JMHhjZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDIwLCAweDEwLCAweDcxLCAweDhiLCAweDA5LCAweDNmLCAweDA3LCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBhbGF3X21haW5bXSA9IHsKLQkweDAwLCAweDEwLCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4YjEsIDB4MDAsIDB4NDQsIDB4MDAsIDB4NjEsIDB4MDAsIDB4NDQsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHg2MSwgMHhhOCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwNSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBmLCAweGQ0LCAweDQ5LAotCTB4MjAsIDB4MDEsIDB4MDksIDB4MGUsIDB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhhOCwgMHgwMSwgMHhhOCwgMHg4MCwgMHg4OCwgMHgwMSwgMHhhOCwgMHg4MCwKLQkweGE4LCAweDAwLCAweDAwLCAweDgwLCAweGQyLCAweDAwLCAweDcxLCAweDhiLAotCTB4ODgsIDB4MDAsIDB4YTgsIDB4ODAsIDB4YTgsIDB4MDQsIDB4YjMsIDB4ODAsCi0JMHgyMCwgMHgwNywgMHhiMywgMHg4MCwgMHg4OCwgMHgwMywgMHhiMSwgMHg4MCwKLQkweGMwLCAweDAwLCAweDA5LCAweDVjLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YTEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgyMSwgMHgyMCwgMHg3MSwgMHg4YiwgMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMyLCAweDAwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NDAsIDB4MDAsIDB4MTQsIDB4MDgsIDB4NDAsIDB4MDQsIDB4MjQsCi0JMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwgMHgwYywgMHg0MCwgMHgwMCwgMHg0NCwKLQkweDQ0LCAweDA0LCAweDA0LCAweDM5LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MzIsIDB4MDAsIDB4MDksIDB4NWMsIDB4MDAsIDB4MDAsIDB4MGMsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHg0MCwgMHg0MCwgMHgwOSwgMHhlZiwKLQkweGZmLCAweDIwLCAweDA5LCAweGNmLCAweDAwLCAweDA0LCAweDYzLCAweGExLAotCTB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDQsIDB4YTMsIDB4ODAsCi0JMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwgMHgwMCwgMHhkMCwgMHgwNCwgMHg1NCwKLQkweDA0LCAweGUwLCAweDAwLCAweGM0LCAweDIwLCAweDAzLCAweDgwLCAweGMwLAotCTB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4N2EsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGMwLCAweDAwLCAweDAwLCAweDk5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwgMHgwOCwgMHgzMiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDBlLCAweDQyLCAweDhiLCAweDAwLCAweGEyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsIDB4MGMsIDB4YjIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwgMHgwMCwgMHg2MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDllLCAweDQyLCAweDhiLCAweDA4LCAweDUyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsIDB4MDgsIDB4NTIsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwgMHgwNCwgMHg3MiwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDI0LCAweDQyLCAweDhiLCAweDAwLCAweGQyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsIDB4MDAsIDB4NjAsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDMwLCAweDQyLCAweDhiLCAweDA4LCAweDgyLCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDAwLCAweGUyLCAweGFiLCAweDAwLCAweGIyLCAweDAwLCAweGM0LAotCTB4MGYsIDB4ZjIsIDB4YTgsIDB4YTgsIDB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg0MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwKLQkweGMwLCAweDAxLCAweDAwLCAweDgyLCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MGQsIDB4ZjIsIDB4YTMsIDB4YTgsIDB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAwLCAweDYxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksIDB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDEwLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsCi0JMHg2MCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MDAsIDB4ZTIsIDB4MDAsIDB4ODQsCi0JMHgwMywgMHgwMywgMHgwNCwgMHg0OSwgMHgwNCwgMHhjMiwgMHgwMCwgMHg1NCwKLQkweDAwLCAweDYwLCAweDA0LCAweDY0LCAweDAwLCAweDYwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDIwLCAweDAxLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDAsIDB4MjAsIDB4ZTIsIDB4OGIsIDB4MGMsIDB4ZjIsIDB4MDAsIDB4ODQsCi0JMHhiZSwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDA4LCAweDAxLCAweDAwLCAweDQ0LCAweGVjLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzAsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDIsIDB4ZTIsIDB4OGIsCi0JMHgwNCwgMHgyMSwgMHgwMCwgMHg4NCwgMHgzZiwgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMyLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDExLCAweDAwLCAweDQ0LAotCTB4M2QsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzIsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHhlNSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjZCwgMHgwMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGM5LCAweDIwLCAweDA0LCAweDE5LAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzEsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHhjMywgMHgyMCwgMHgwNCwgMHgxOSwgMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGM3LCAweDIwLCAweDA0LCAweDE5LCAweGRlLCAweDAwLCAweDUxLCAweDhiLAotCTB4Y2YsIDB4MDAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDEsIDB4YjEsIDB4ODAsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHhjNiwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGM4LCAweDIwLCAweDA0LCAweDE5LCAweGNhLCAweDIwLCAweDA0LCAweDE5LAotCTB4MjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2MsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwgMHgwMCwgMHg2MCwgMHgwMCwgMHg0NCwKLQkweDA5LCAweDA0LCAweDYxLCAweGE4LCAweGMxLCAweDAwLCAweDA0LCAweDE5LAotCTB4MGIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4Y2EsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHg2MCwgMHgwMCwgMHhkNCwgMHgwZCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDkwLCAweDQwLCAweDA5LCAweDhmLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4MGYsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDAsIDB4NDAsIDB4MDksIDB4OGYsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHg4MiwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDgwLCAweDQwLCAweDA5LCAweGNmLCAweDAyLCAweDAwLCAweDYxLCAweDIyLAotCTB4NDMsIDB4MjUsIDB4NjEsIDB4MjIsIDB4NDAsIDB4MzMsIDB4MDAsIDB4ODAsCi0JMHgwOCwgMHg0OCwgMHgwMCwgMHg0NCwgMHgyMCwgMHhiMSwgMHg0OSwgMHg1YywKLQkweDkyLCAweDAwLCAweDA5LCAweDRlLCAweDAyLCAweDAzLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDAsIDB4YTMsIDB4MDIsIDB4YzAsIDB4MDAsIDB4NzEsIDB4YzAsCi0JMHgyMCwgMHgwMCwgMHhlYiwgMHg4MCwgMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDA0LCAweDYxLCAweDgwLCAweDAwLCAweDA0LCAweDdhLCAweDAyLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MGMsIDB4YzMsIDB4MDgsIDB4NDksCi0JMHhiMCwgMHgwMSwgMHhmMywgMHg4MCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgzOSwKLQkweDIwLCAweDAwLCAweDBjLCAweDg5LCAweDBjLCAweDg4LCAweDA4LCAweDQ5LAotCTB4MDMsIDB4MDAsIDB4YTgsIDB4MTgsIDB4MDAsIDB4MDAsIDB4MTAsIDB4MzksCi0JMHhiZCwgMHhmZiwgMHg2MiwgMHg4YiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYzLCAweGNiLCAweDAwLCAweDAwLCAweDdhLCAweDAyLAotCTB4NDAsIDB4MDAsIDB4MDEsIDB4NWIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg0YSwgMHhjYiwgMHgyMCwgMHgwMCwgMHgxMywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweGUwLCAweDIxLCAweDAwLCAweGMwLAotCTB4MDgsIDB4MDAsIDB4MDgsIDB4NDksIDB4MTAsIDB4NDEsIDB4MDksIDB4OGUsCi0JMHhhZSwgMHhhZSwgMHg2MiwgMHg4YiwgMHgwMCwgMHgwNCwgMHg2MSwgMHgyMiwKLQkweDAwLCAweDAzLCAweDAwLCAweDQ1LCAweDIyLCAweDAxLCAweDMzLCAweDgwLAotCTB4MjAsIDB4MDEsIDB4YTMsIDB4MDIsIDB4MDAsIDB4MDAsIDB4N2EsIDB4ODAsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwNywgMHgyMCwgMHg0MCwgMHgwYSwKLQkweDA4LCAweGEzLCAweDAwLCAweDg0LCAweDQwLCAweDIxLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDUsIDB4OTMsIDB4MTAsIDB4YzcsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwNywgMHgyMCwgMHg0MCwgMHgwYSwKLQkweDBjLCAweDkzLCAweDAwLCAweDg0LCAweDA4LCAweDAwLCAweDAwLCAweDgyLAotCTB4MGMsIDB4MjQsIDB4NjEsIDB4NTAsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHhjNywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4NDIsIDB4MDEsIDB4MDksIDB4MGUsIDB4MDIsIDB4MjAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHgwYywgMHgyMCwgMHg2MCwgMHgwYSwKLQkweDAwLCAweGMzLCAweDAwLCAweDg0LCAweDAwLCAweDA0LCAweGIxLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MzksIDB4MGMsIDB4NjEsIDB4MDQsIDB4ZDQsCi0JMHgwMCwgMHgyNCwgMHg3MSwgMHhjMCwgMHgyMCwgMHgzMywgMHgzMywgMHhjMCwKLQkweGUwLCAweDAxLCAweGEzLCAweDgyLCAweDIyLCAweDAzLCAweDdhLCAweDAyLAotCTB4YzMsIDB4MDEsIDB4YTMsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHhjMiwgMHgwMSwgMHhiMywgMHg1MCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDcxLCAweDgwLAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsIDB4MGMsIDB4MjAsIDB4NjAsIDB4MGEsCi0JMHgwMCwgMHhmMywgMHgwMCwgMHg4NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDA2LCAweDM5LCAweDBjLCAweDYxLCAweDA0LCAweGQ0LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsIDB4MDAsIDB4MDAsIDB4OTMsIDB4MTAsCi0JMHhjYywgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwOCwgMHgwMCwgMHg0NCwKLQkweGNjLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDIwLCAweDAwLCAweGMwLAotCTB4MDAsIDB4MzAsIDB4NzEsIDB4YzAsIDB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwgMHhhZSwgMHhhZSwgMHg2MiwgMHg4YiwKLQkweDIwLCAweDAxLCAweDMzLCAweDgwLCAweDAwLCAweDAwLCAweDgzLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsIDB4MjAsIDB4YTEsIDB4NDksIDB4NWMsCi0JMHg4MiwgMHgwMCwgMHgwOSwgMHg2ZSwgMHg4MCwgMHg0YSwgMHgwOSwgMHg4ZSwKLQkweGUwLCAweDAxLCAweGIzLCAweDgyLCAweDIwLCAweDA0LCAweGEzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4N2EsIDB4Y2IsIDB4MjgsIDB4MDQsIDB4ZWEsIDB4MTAsCi0JMHgwYywgMHgwNCwgMHg3YSwgMHgxMCwgMHg3MCwgMHgwMCwgMHhjMCwgMHg4YiwKLQkweDAwLCAweDAwLCAweDEwLCAweDM5LCAweDkwLCAweDAzLCAweDAwLCAweDgwLAotCTB4NDAsIDB4MDAsIDB4MjEsIDB4NWIsIDB4OTAsIDB4MDAsIDB4NjEsIDB4ODAsCi0JMHgwYywgMHg4YSwgMHgwOCwgMHg0OSwgMHgwMCwgMHgwMCwgMHgxYywgMHgxOSwKLQkweDQwLCAweDAwLCAweDA4LCAweDViLCAweDA4LCAweDAwLCAweDA4LCAweDQ5LAotCTB4MjAsIDB4MDIsIDB4MDAsIDB4ODAsIDB4MDMsIDB4MDAsIDB4YTgsIDB4MTgsCi0JMHgwMCwgMHgwMCwgMHgxNCwgMHgxOSwgMHg0MCwgMHgwMCwgMHgyMSwgMHhjYiwKLQkweDAwLCAweDAwLCAweDQxLCAweDAyLCAweDAwLCAweDAwLCAweGViLCAweDgwLAotCTB4ZjIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MjEsIDB4MzMsIDB4MDIsCi0JMHgwOCwgMHgyMCwgMHg2MSwgMHgwYSwgMHhjNCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweGM3LCAweDAwLCAweDAwLCAweDk5LCAweDAyLCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4MGEsIDB4MDQsIDB4MTQsIDB4MDEsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHg1OCwgMHgwNCwgMHg1NCwKLQkweGMzLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDU4LCAweDAwLCAweDQ0LAotCTB4MDgsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4NTgsIDB4MDQsIDB4NTQsCi0JMHhjOCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYSwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA5LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGM4LCAweDA0LCAweDU0LAotCTB4YzksIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YzgsIDB4MDAsIDB4NDQsCi0JMHgwYiwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhjOCwgMHgwNCwgMHg1NCwKLQkweGNiLCAweDAwLCAweDA0LCAweDE5LCAweDA0LCAweDAwLCAweDYxLCAweDBhLAotCTB4MDYsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4ZDgsIDB4MDQsIDB4NTQsCi0JMHhjNiwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhkOCwgMHgwMCwgMHg0NCwKLQkweDA1LCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGQ4LCAweDA0LCAweDU0LAotCTB4YzUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHgwMCwgMHg0OCwgMHgwYSwgMHgwMCwgMHgwYSwgMHgwNCwgMHg1NCwKLQkweGNjLCAweDAwLCAweDA0LCAweDE5LCAweDBjLCAweDBhLCAweDAwLCAweDQ0LAotCTB4MGUsIDB4MDAsIDB4YzgsIDB4MGEsIDB4MGMsIDB4MGEsIDB4MDQsIDB4NTQsCi0JMHhjZSwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDIwLCAweDEwLCAweDcxLCAweDhiLCAweDA4LCAweDQyLCAweDA2LCAweDAwCi19OwotCi0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGltYV9hZHBjbV9pbml0W10gPSB7Ci0JMHgwMCwgMHgxMCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDAwLCAweDQwLCAweDQ1LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4YWEsIDB4YWEsIDB4NzEsIDB4OGIsCi0JMHg0NCwgMHgwNCwgMHgwNCwgMHgxOSwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweGZmLCAweDZlLCAweDIxLCAweDQ5LCAweGZmLCAweDBmLCAweGQ0LCAweDQ5LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwNSwgMHhiMSwgMHg4MCwgMHg2MiwgMHgwMCwgMHgxOSwgMHgwZSwKLQkweDIxLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg0MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDYwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGMwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzMiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGEyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg2MiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGMyLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZjIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgxMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGExLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjEsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlMSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDEzLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YjMsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjMywgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE4LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NjgsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgwYSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDRhLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MjksIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3OSwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDliLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTQsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmNCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGU2LCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZTUsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhkNywgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDJlLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OWQsIDB4MDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhlZiwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIyLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MzMsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyYSwgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDNiLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NDYsIDB4MjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgyYywgMHgyMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRkLCAweDIwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MDEsIDB4MTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5YSwgMHgxMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDE2LCAweDEwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4OGUsIDB4MTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjMiwgMHgzMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGM5LCAweDMwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4M2MsIDB4MzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg4MSwgMHg4MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGQ0LCAweDgwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTAsIDB4YTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzNCwgMHhhMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDAyLCAweDkwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NzUsIDB4OTAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5YSwgMHhiMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDEyLCAweDQwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MGQsIDB4NDAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHgzYywgMHg2MCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGU3LCAweDUwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MGUsIDB4NzAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmZiwgMHhjMCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGM4LCAweGQwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NTcsIDB4ZjAsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhjOCwgMHgyMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGIwLCAweDMyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4ZGQsIDB4ODIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg5MCwgMHhiMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDhhLCAweDYyLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4Y2UsIDB4NzIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhhNSwgMHhkMiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDk3LCAweDIxLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4YTIsIDB4YTEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg1YywgMHg0MSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGZlLCAweGMxLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4N2EsIDB4MjMsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg3OCwgMHg5MywgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDY3LCAweDczLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTcsIDB4MjgsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHg4OCwgMHg0OCwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRiLCAweGY4LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MmIsIDB4YmEsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmMSwgMHgwOSwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweGRjLCAweDY5LCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4MTksIDB4OGIsIDB4NzEsIDB4OGIsIDB4ODgsIDB4MDAsIDB4MDAsIDB4ODAsCi0JMHhmZiwgMHhmYiwgMHg3MSwgMHg4YiwgMHg4OCwgMHgwMCwgMHgwMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweDcxLCAweDhiLCAweDg4LCAweDAwLCAweDAwLCAweDgwLAotCTB4NTIsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhmZiwgMHhmZiwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweDkwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4NDAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhmZiwgMHhmZiwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHgxMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDgwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4OTAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHg0MCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweGZmLCAweGZiLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MDQsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHg0YSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwKLQkweDAwLCAweDAwLCAweDcxLCAweDhiLCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMCwgMHgwMCwgMHg4MiwgMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDEwLCAweDAwLCAweDA5LCAweDRmLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsIDB4YzIsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwgMHhjMiwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweGMyLCAweDAxLCAweDAwLCAweDgyLCAweGMyLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDAsIDB4MTAsIDB4NzEsIDB4OGIsIDB4YzEsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwgMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweGNmLCAweDMwLCAweDAwLCAweDA5LCAweDAwLCAweDAwLCAweDM0LCAweDQ5LAotCTB4MDAsIDB4MDgsIDB4MDAsIDB4NDQsIDB4YzgsIDB4NTQsIDB4MTEsIDB4MDAKLX07Ci0KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIGltYV9hZHBjbV9wbGF5YmFja1tdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4NDQsCi0JMHgwYywgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHg3MCwgMHgwMCwgMHg0NCwKLQkweDA0LCAweDcwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweDYxLCAweGE4LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBkLCAweGQ0LCAweDQ5LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwMSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgwMSwgMHhiMSwgMHg4MCwKLQkweGM5LCAweDIwLCAweDA0LCAweDE5LCAweDUxLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2QsIDB4MDAsIDB4MDQsIDB4MTksIDB4ZTQsIDB4MjAsIDB4NzEsIDB4OGIsCi0JMHhjZiwgMHgwMCwgMHgwNCwgMHgxOSwgMHg4MCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNiLCAweDIwLCAweDA0LCAweDE5LCAweDEwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzQsIDB4MjAsIDB4MDQsIDB4MTksIDB4NjUsIDB4MDAsIDB4NTEsIDB4OGIsCi0JMHhjMiwgMHgyMCwgMHgwMCwgMHgzOSwgMHgwMCwgMHgwMCwgMHhiMSwgMHg4MCwKLQkweGMyLCAweDMwLCAweDA0LCAweDE5LCAweDAwLCAweDAwLCAweDYzLCAweDgwLAotCTB4YzEsIDB4YTAsIDB4MDQsIDB4MTksIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDA0LCAweDQwLCAweDAwLCAweDE0LCAweDBjLCAweDQwLCAweDAwLCAweDE0LAotCTB4MDAsIDB4MDQsIDB4NjEsIDB4YTgsIDB4MDIsIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHgwNCwgMHg2MCwgMHgwNCwgMHgyNCwgMHgwMCwgMHgwMCwgMHgzNCwgMHg0OSwKLQkweDAwLCAweDUwLCAweDAwLCAweDQ0LCAweDQ0LCAweDA0LCAweDA0LCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwZiwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDQwLCAweDQwLCAweDA5LCAweGVmLCAweGZmLCAweDIwLCAweDA5LCAweGNmLAotCTB4MDAsIDB4MDQsIDB4NjMsIDB4YTEsIDB4NTAsIDB4MDMsIDB4MzMsIDB4ODAsCi0JMHgwMCwgMHgwNCwgMHhhMywgMHg4MCwgMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwKLQkweDA4LCAweGYwLCAweDA0LCAweDU0LCAweDBjLCAweGQwLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDMsIDB4ODAsIDB4YzAsIDB4MzAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweGMwLCAweDAwLCAweDAwLCAweDk5LAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4ZmYsIDB4YzIsIDB4OGIsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwZCwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGEyLCAweDAwLCAweGM0LCAweDAwLCAweDBlLCAweDQyLCAweDhiLAotCTB4MGMsIDB4OTIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MWUsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHg2MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHg4ZSwgMHg0MiwgMHg4YiwKLQkweDBjLCAweDUyLCAweDAwLCAweGM0LCAweDAwLCAweDllLCAweDQyLCAweDhiLAotCTB4MDAsIDB4YzIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4YmUsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHhjMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwNCwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGYyLCAweDAwLCAweGM0LCAweDAwLCAweDI0LCAweDQyLCAweDhiLAotCTB4MDAsIDB4OTEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4NTUsIDB4NDIsIDB4OGIsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHhjNCwgMHgwMCwgMHgzZiwgMHg0MiwgMHg4YiwKLQkweDA4LCAweGUyLCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MjAsIDB4MDEsIDB4NzksIDB4ODAsIDB4MDAsIDB4MzAsIDB4NDIsIDB4OGIsCi0JMHgwMCwgMHg5MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwKLQkweDAwLCAweDAwLCAweDcxLCAweDhiLCAweDQwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHgwYywgMHg0MiwgMHgwMCwgMHhjNCwgMHgwZiwgMHhmMiwgMHhhOCwgMHhhOCwKLQkweDIwLCAweDAwLCAweGIxLCAweDg4LCAweDAwLCAweDAwLCAweDQxLCAweDAyLAotCTB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksIDB4YzAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwZCwgMHhmMiwgMHhhMywgMHhhOCwKLQkweDRkLCAweGYyLCAweDAwLCAweDM5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsIDB4MjAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHgwMiwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweGZmLCAweDAwLCAweGUyLCAweGFiLAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NjEsIDB4MTAsCi0JMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweGZmLCAweDIwLCAweGUyLCAweGFiLCAweDYwLCAweDAwLCAweDAwLCAweDg4LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4YzAsIDB4NGQsIDB4ZjIsIDB4MDQsIDB4MTksCi0JMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwMCwgMHg3YSwgMHgwYSwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDAxLCAweGEwLCAweDQxLCAweDBhLAotCTB4MDQsIDB4ZDIsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHhjMSwgMHgzMCwgMHgwNCwgMHgxOSwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDc5LCAweDgwLCAweDAwLCAweGExLCAweDAwLCAweDg0LAotCTB4YjUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4Y2YsIDB4MDAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMSwgMHhiMSwgMHg4MCwgMHg4OCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDhhLCAweDAwLCAweDA0LCAweDE5LCAweGM4LCAweDIwLCAweDA0LCAweDE5LAotCTB4Y2EsIDB4MjAsIDB4MDQsIDB4MTksIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweGIwLCAweDAwLCAweDcxLCAweDhiLCAweDhjLCAweDAwLCAweDA0LCAweDE5LAotCTB4OGUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MTAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwgMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwKLQkweGNkLCAweDMwLCAweDAwLCAweDA5LCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MDMsIDB4MDMsIDB4MDQsIDB4NDksIDB4MDQsIDB4ODEsIDB4MDAsIDB4NTQsCi0JMHgwOCwgMHg1MCwgMHgwNCwgMHg2NCwgMHgwOCwgMHg1MCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDAwLCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDgsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgyMCwgMHgwMSwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwKLQkweDAwLCAweDAyLCAweGUyLCAweDhiLCAweDA4LCAweDQxLCAweDAwLCAweDg0LAotCTB4NjUsIDB4MDAsIDB4NTEsIDB4OGIsIDB4YzIsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwMCwgMHgwMCwgMHg2MywgMHg4MCwgMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwKLQkweDA4LCAweDYxLCAweDAwLCAweDQ0LCAweDJkLCAweDAwLCAweDUxLCAweDhiLAotCTB4YzIsIDB4MjAsIDB4MDAsIDB4MzksIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjMSwgMHhhMCwgMHgwNCwgMHgxOSwgMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwKLQkweDA4LCAweDUwLCAweDAwLCAweDQ0LCAweDAyLCAweDIwLCAweDYxLCAweDBhLAotCTB4MDAsIDB4MDEsIDB4MDAsIDB4NDUsIDB4MDIsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwNCwgMHgwMywgMHgwMCwgMHhjNCwgMHgwNSwgMHhiMCwgMHhjOCwgMHgxOCwKLQkweDA0LCAweDcxLCAweDAwLCAweGM0LCAweDAwLCAweDEzLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4NzksIDB4MDgsIDB4NDQsIDB4MDAsIDB4MDQsIDB4NzksIDB4ODAsCi0JMHgwMCwgMHg0OSwgMHgwMCwgMHhjNCwgMHhjYSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDRhLCAweDA0LCAweDA0LCAweDE5LCAweGZmLCAweDAwLCAweGUyLCAweDhiLAotCTB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHgyYiwgMHgwOCwgMHg0NCwgMHg4ZSwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDAzLCAweDMwLCAweDYxLCAweDBhLCAweGM4LCAweDIwLCAweDAwLCAweDM5LAotCTB4NDgsIDB4MDQsIDB4MDAsIDB4MzksIDB4MGEsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHhmOSwgMHgwOCwgMHg0NCwgMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweDJiLCAweDA4LCAweDQ0LCAweDhjLCAweDAwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweGMzLCAweDMwLCAweDA0LCAweDE5LAotCTB4Y2EsIDB4MzAsIDB4MDAsIDB4OTksIDB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsCi0JMHg0MiwgMHgwYSwgMHgwOSwgMHgwZSwgMHgwMCwgMHgwMSwgMHgzMywgMHgxMSwKLQkweDhjLCAweDAxLCAweGEzLCAweDgwLCAweDAwLCAweDAxLCAweDdhLCAweDEwLAotCTB4ODAsIDB4MDUsIDB4YjEsIDB4ODAsIDB4MDUsIDB4YjAsIDB4ZTAsIDB4MTgsCi0JMHgwMCwgMHg5MywgMHgwMCwgMHg4NCwgMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwKLQkweDAwLCAweDA0LCAweDc5LCAweDgwLCAweDAwLCAweDQ5LCAweDAwLCAweGM0LAotCTB4MGMsIDB4MWIsIDB4MDgsIDB4NDQsIDB4ODgsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4YSwgMHgwMCwgMHgwMCwgMHg5OSwgMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwKLQkweDQyLCAweDBhLCAweDA5LCAweDBlLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDQsIDB4YjEsIDB4ODIsIDB4MTAsIDB4MDAsIDB4ZTAsIDB4MGIsCi0JMHgwMCwgMHg0MywgMHgwMCwgMHg4NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAxLCAweDMwLCAweGM4LCAweDBhLCAweDAwLCAweDQzLCAweDAwLCAweDg0LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwYywgMHhhOCwgMHgwMCwgMHg0NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweGQzLCAweDAwLCAweGM0LCAweDA1LCAweGIwLCAweGM4LCAweDE4LAotCTB4MDQsIDB4NjMsIDB4MDAsIDB4YzQsIDB4MDgsIDB4ZjMsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweDIwLCAweDAwLCAweDA0LCAweDE5LAotCTB4ZmYsIDB4MDAsIDB4ZTIsIDB4OGIsIDB4MGMsIDB4ZjksIDB4MDgsIDB4NDQsCi0JMHhjZCwgMHgxMCwgMHgwNCwgMHgxOSwgMHhjZiwgMHgxMCwgMHgwNCwgMHgxOSwKLQkweDBjLCAweDJiLCAweDA4LCAweDQ0LCAweDhjLCAweDAwLCAweDA0LCAweDE5LAotCTB4OGUsIDB4MDAsIDB4MDQsIDB4MTksIDB4MDMsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHhjOCwgMHgyMCwgMHgwMCwgMHgzOSwgMHhjYSwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDQ4LCAweDA0LCAweDAwLCAweDM5LCAweDRhLCAweDA0LCAweDAwLCAweDM5LAotCTB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwNCwgMHg3OSwgMHg4MCwKLQkweDAwLCAweDQ5LCAweDAwLCAweGM0LCAweGMzLCAweDMwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4ZDksIDB4MDgsIDB4NDQsIDB4NDIsIDB4MGEsIDB4MDksIDB4MGUsCi0JMHgwNSwgMHhiMCwgMHhlMCwgMHgxOCwgMHgwMCwgMHgxOCwgMHgwMCwgMHg4NCwKLQkweDAwLCAweDc5LCAweDA4LCAweDQ0LCAweDAwLCAweDA0LCAweDc5LCAweDgwLAotCTB4MDAsIDB4NDksIDB4MDAsIDB4YzQsIDB4MGMsIDB4MWIsIDB4MDgsIDB4NDQsCi0JMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwYywgMHhkOSwgMHgwOCwgMHg0NCwKLQkweDQyLCAweDBhLCAweDA5LCAweDBlLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDQsIDB4YjEsIDB4ODIsIDB4MTAsIDB4MDAsIDB4ZTAsIDB4MGIsCi0JMHgwMCwgMHg4OCwgMHgwMCwgMHg4NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAxLCAweDMwLCAweGM4LCAweDBhLCAweDAwLCAweDg4LCAweDAwLCAweDg0LAotCTB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwgMHgwMCwgMHgwZiwgMHhlMiwgMHg4YiwKLQkweDAwLCAweDAwLCAweDQxLCAweGNiLCAweDhjLCAweDAwLCAweDAwLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4NDgsIDB4Y2IsIDB4MjAsIDB4MDAsIDB4N2EsIDB4ODAsCi0JMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwgMHg4MiwgMHgwYywgMHgwOSwgMHg2ZSwKLQkweDAzLCAweDA4LCAweDA5LCAweDBlLCAweDgwLCAweDQwLCAweDA5LCAweGNmLAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4YzIsIDB4MDAsIDB4MDgsIDB4YzIsIDB4MWIsCi0JMHgwNCwgMHhiOCwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwKLQkweDIwLCAweDAxLCAweGYwLCAweDgwLCAweDAwLCAweDAxLCAweGMyLCAweDFiLAotCTB4MDQsIDB4NDgsIDB4MDAsIDB4YzQsIDB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwgMHgwMCwgMHgwMiwgMHhjMiwgMHgxYiwKLQkweDA0LCAweDY4LCAweDAwLCAweGM0LCAweDIwLCAweDA1LCAweGE4LCAweDgwLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MjAsIDB4MDMsIDB4YTgsIDB4ODAsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHgxMSwgMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwKLQkweDA4LCAweDc4LCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweGU5LCAweDgwLAotCTB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsIDB4MDAsIDB4MDAsIDB4NGEsIDB4Y2IsCi0JMHgyMCwgMHgwMCwgMHhhOCwgMHgyMiwgMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDQwLCAweDAxLCAweDAwLCAweDgwLCAweGM0LCAweDAwLCAweDA0LCAweDE5LAotCTB4YjAsIDB4MDAsIDB4ZTIsIDB4OGIsIDB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsCi0JMHgyZCwgMHgxMCwgMHg2MSwgMHgwYSwgMHhkMSwgMHgwOCwgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAxLCAweGE4LCAweDAyLCAweDBjLCAweGY5LCAweDA4LCAweDQ0LAotCTB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksIDB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsCi0JMHgwMywgMHgwOCwgMHgwOSwgMHgwZSwgMHg5YSwgMHgyNSwgMHhiMSwgMHg2MCwKLQkweGEyLCAweDBlLCAweDA5LCAweDZlLCAweDAzLCAweDAwLCAweDA5LCAweDBmLAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHhjYiwgMHg4MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAzLCAweDAwLCAweDA5LCAweDBmLCAweDAwLCAweDAxLCAweDcxLCAweGMyLAotCTB4MDAsIDB4MDgsIDB4YzIsIDB4MWIsIDB4MGMsIDB4MmEsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwNSwgMHhhOCwgMHg4MCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDAwLCAweDAxLCAweGMyLCAweDFiLCAweDBjLCAweDFhLCAweDAwLCAweGM0LAotCTB4MjAsIDB4MDUsIDB4YTgsIDB4ODAsIDB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsCi0JMHgwMCwgMHgwMiwgMHhjMiwgMHgxYiwgMHgwYywgMHgzYSwgMHgwMCwgMHhjNCwKLQkweDIwLCAweDA1LCAweGE4LCAweDgwLCAweDIwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDMsIDB4YTgsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsCi0JMHgwMCwgMHgwNCwgMHhjMiwgMHg4YiwgMHgwNCwgMHhhYSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweGU5LCAweDgwLCAweDA1LCAweGIwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDAsIDB4NGEsIDB4Y2IsIDB4MjAsIDB4MDAsIDB4YTgsIDB4MjIsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHg0MCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweGM3LCAweDAwLCAweDA0LCAweDE5LCAweGIwLCAweDAwLCAweGUyLCAweDhiLAotCTB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsIDB4MmYsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHhmMSwgMHgwOCwgMHgwOSwgMHgyZSwgMHgwMCwgMHgwMSwgMHhhOCwgMHgwMiwKLQkweDBjLCAweGY5LCAweDA4LCAweDQ0LCAweGNmLCAweDEwLCAweDA0LCAweDE5LAotCTB4MGMsIDB4MmIsIDB4MDgsIDB4NDQsIDB4OWYsIDB4MzUsIDB4YjEsIDB4NjAsCi0JMHgwMywgMHgwOCwgMHgwOSwgMHgwZSwgMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwKLQkweDIwLCAweDAxLCAweDAwLCAweDgwLCAweDAwLCAweDAwLCAweDYxLCAweGNiLAotCTB4ODAsIDB4MDEsIDB4MDAsIDB4ODAsIDB4ZTQsIDB4MjAsIDB4NzEsIDB4OGIsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHg5MCwgMHg0MCwgMHgwOSwgMHg4ZiwKLQkweDAwLCAweDA1LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4MDgsIDB4MTksIDB4MDQsIDB4ZDQsIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhlNywgMHgwMCwgMHgwMSwgMHg2ZiwgMHgwZCwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDIwLCAweDA0LCAweDYxLCAweGE4LCAweGMyLCAweDAwLCAweDAwLCAweDgyLAotCTB4MDIsIDB4MDQsIDB4NjEsIDB4YTgsIDB4YzIsIDB4MDAsIDB4MDAsIDB4ODIsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHgwMiwgMHgwMCwgMHgwMCwgMHgwMiwKLQkweDAyLCAweDAwLCAweDAwLCAweDAyLCAweGMwLCAweDgwLCAweDAwLCAweDA5LAotCTB4MjAsIDB4MDAsIDB4MDksIDB4NDksIDB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwgMHgwMCwgMHgyOSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDgwLCAweGM4LCAweDBhLCAweDAwLCAweDI5LCAweDAwLCAweGM0LAotCTB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsIDB4MDAsIDB4MDAsIDB4MDYsIDB4MzksCi0JMHhjOSwgMHgyMCwgMHgwNCwgMHgzOSwgMHgwMCwgMHgzOSwgMHgwMCwgMHg0NCwKLQkweDAwLCAweDA0LCAweDYzLCAweDgwLCAweDAwLCAweDAwLCAweDA2LCAweDM5LAotCTB4MDAsIDB4MDQsIDB4YjEsIDB4ODAsIDB4YzksIDB4MjAsIDB4MDQsIDB4MzksCi0JMHgwMCwgMHgzOSwgMHgwMCwgMHg0NCwgMHgwOSwgMHgyMCwgMHgyMywgMHgwYSwKLQkweDAwLCAweDAwLCAweDA2LCAweDE5LCAweGM5LCAweDIwLCAweDA0LCAweDE5LAotCTB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsIDB4MDIsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwYywgMHhiOSwgMHgwNCwgMHgxNCwgMHgwNCwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDA2LCAweDAwLCAweDQ4LCAweDBhLCAweDAwLCAweGE5LCAweDA0LCAweDU0LAotCTB4YzYsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4YTksIDB4MDAsIDB4NDQsCi0JMHgwNSwgMHgwMCwgMHhjOCwgMHgwYSwgMHgwYywgMHhhOSwgMHgwNCwgMHg1NCwKLQkweGM1LCAweDAwLCAweDA0LCAweDE5LCAweDA3LCAweDAwLCAweDYxLCAweDBhLAotCTB4MGMsIDB4MDAsIDB4NDgsIDB4MGEsIDB4MDAsIDB4YjksIDB4MDQsIDB4NTQsCi0JMHhjYywgMHgwMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhiOSwgMHgwMCwgMHg0NCwKLQkweDBlLCAweDAwLCAweGM4LCAweDBhLCAweDBjLCAweGI5LCAweDA0LCAweDU0LAotCTB4Y2UsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHg4MiwgMHgwZCwgMHgwOSwgMHgyZSwgMHg4MCwgMHg0MCwgMHgwOSwgMHhjZiwKLQkweDAwLCAweGRmLCAweDcxLCAweDhiLCAweDgwLCAweDAxLCAweDAwLCAweDgwLAotCTB4MDIsIDB4YzEsIDB4MDAsIDB4MjIsIDB4MDMsIDB4YzEsIDB4MDAsIDB4MjIsCi0JMHgwMCwgMHgwMSwgMHg2NSwgMHg4MCwgMHhkMiwgMHgwNSwgMHg2NSwgMHg4MiwKLQkweDQwLCAweDIxLCAweDAwLCAweDgwLCAweGQzLCAweDAzLCAweDAwLCAweDgyLAotCTB4NDAsIDB4MzMsIDB4MDAsIDB4ODAsIDB4MGMsIDB4NWEsIDB4MDAsIDB4NDQsCi0JMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwKLQkweDA4LCAweGQ5LCAweDAwLCAweGM0LCAweDkzLCAweDAwLCAweDAxLCAweDRmLAotCTB4ZTcsIDB4MDAsIDB4MDEsIDB4NmYsIDB4MGYsIDB4MzAsIDB4NjEsIDB4MGEsCi0JMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMiwgMHgwMCwgMHg2MSwgMHgwMiwKLQkweDAyLCAweDAwLCAweDAwLCAweDAzLCAweGNmLCAweDMwLCAweDAwLCAweDA5LAotCTB4MjAsIDB4MDAsIDB4MDksIDB4NDksIDB4MDAsIDB4MDQsIDB4NjMsIDB4ODAsCi0JMHgwNCwgMHhkOSwgMHgwMCwgMHg0NCwgMHgwMCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgwZSwgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweDBiLCAweDA0LCAweDE0LCAweDBlLCAweDEwLCAweDYxLCAweDBhLAotCTB4MDQsIDB4MmIsIDB4MDAsIDB4NDQsIDB4MGMsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHgyYiwgMHgwNCwgMHg1NCwgMHgwYywgMHgxMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDAwLCAweDEwLCAweGE4LCAweDE4LAotCTB4YTAsIDB4MDAsIDB4MDAsIDB4ODgsIDB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHgwMCwgMHgwNCwgMHgzMywgMHg4MCwKLQkweDAwLCAweDAwLCAweDgzLCAweDgwLCAweDIwLCAweDA0LCAweDdhLCAweDgwLAotCTB4MjAsIDB4MDEsIDB4MzMsIDB4ODAsIDB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsCi0JMHgyMCwgMHgwMCwgMHg3YSwgMHg4MCwgMHgyMCwgMHgwMywgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDAwLCAweDQ2LCAweDE2LCAweGNlLCAweDExLCAweDAwCi19OwotCi1zdGF0aWMgdW5zaWduZWQgY2hhciBpbWFfYWRwY21fY2FwdHVyZVtdID0gewotCTB4MDAsIDB4MTAsIDB4MDAsIDB4NDQsIDB4MDgsIDB4MDAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHg3MCwgMHgwMCwgMHg0NCwgMHgwOCwgMHhkMCwgMHgwMCwgMHg0NCwKLQkweDAwLCAweGYwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweDYxLCAweGE4LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHg4MCwgMHgwMCwgMHgwMCwgMHgwNiwgMHgzOSwKLQkweGZmLCAweDJlLCAweDIxLCAweDQ5LCAweGZmLCAweDBjLCAweGQ0LCAweDQ5LAotCTB4NDAsIDB4NDksIDB4MzksIDB4YWMsIDB4NTUsIDB4NTUsIDB4NzEsIDB4OGIsCi0JMHg1MCwgMHgwMSwgMHhiMSwgMHg4MCwgMHgwMCwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGMyLCAweDMwLCAweDA0LCAweDE5LCAweGMwLCAweGEwLCAweDA0LCAweDE5LAotCTB4YzIsIDB4YTAsIDB4MDQsIDB4MTksIDB4ODksIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjOCwgMHgzMCwgMHgwNCwgMHgxOSwgMHg3MSwgMHgwMCwgMHg3MSwgMHg4YiwKLQkweGNkLCAweDAwLCAweDA0LCAweDE5LCAweGNmLCAweDAwLCAweDA0LCAweDE5LAotCTB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksCi0JMHgyMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjNCwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweDQ3LCAweDAwLCAweDUxLCAweDhiLCAweGMwLCAweDIwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsIDB4YzEsIDB4YTAsIDB4MDQsIDB4MTksCi0JMHg5MywgMHgwMCwgMHgwMSwgMHg0ZiwgMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweGNmLCAweDMwLCAweDAwLCAweDA5LCAweDBjLCAweDQwLCAweDAwLCAweDE0LAotCTB4MDAsIDB4NjAsIDB4MDAsIDB4MTQsIDB4MDAsIDB4MDQsIDB4NjEsIDB4YTgsCi0JMHgwMiwgMHgwNCwgMHg2MSwgMHhhOCwgMHgwYywgMHg2MCwgMHgwNCwgMHgyNCwKLQkweDAwLCAweDAwLCAweDM0LCAweDQ5LCAweDA4LCAweDUwLCAweDAwLCAweDQ0LAotCTB4NDQsIDB4MDQsIDB4MDQsIDB4MzksIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgwOCwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwNSwgMHhiMCwgMHhlOCwgMHgxOCwKLQkweDBjLCAweGMwLCAweDA0LCAweDU0LCAweGM4LCAweDMwLCAweDA0LCAweDE5LAotCTB4MDksIDB4MDQsIDB4MDAsIDB4YTgsIDB4MGIsIDB4MDQsIDB4MDAsIDB4YTgsCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHgwOSwgMHgwNCwgMHg2MSwgMHhhOCwKLQkweGMxLCAweDAwLCAweDA0LCAweDE5LCAweDBiLCAweDA0LCAweDYxLCAweGE4LAotCTB4Y2EsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGQsIDB4MDAsIDB4NjEsIDB4MGEsCi0JMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwgMHgwZiwgMHgwMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDQwLCAweDA5LCAweDhmLCAweDAwLCAweDAxLCAweDAwLCAweDQ1LAotCTB4NDAsIDB4NDAsIDB4MDksIDB4ZWYsIDB4ZmYsIDB4MjAsIDB4MDksIDB4Y2YsCi0JMHgwMCwgMHgwNCwgMHg2MywgMHhhMSwgMHg1MCwgMHgwMywgMHgzMywgMHg4MCwKLQkweDAwLCAweDA0LCAweGEzLCAweDgwLCAweDAwLCAweGZmLCAweGMyLCAweDhiLAotCTB4MGMsIDB4MTIsIDB4MDQsIDB4NTQsIDB4MDgsIDB4MTIsIDB4MDAsIDB4YzQsCi0JMHgyMCwgMHgwMywgMHg4MCwgMHhjMCwgMHgzMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDdhLCAweDBhLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4YzAsIDB4MDAsIDB4MDAsIDB4OTksCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHgwMCwgMHhmZiwgMHhjMiwgMHg4YiwKLQkweDIwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDBkLCAweDQyLCAweDhiLAotCTB4MDQsIDB4NDIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MGUsIDB4NDIsIDB4OGIsCi0JMHgwOCwgMHg1MiwgMHgwMCwgMHhjNCwgMHgwMCwgMHgxZSwgMHg0MiwgMHg4YiwKLQkweDAwLCAweGUyLCAweDAwLCAweGM0LCAweDAwLCAweDhlLCAweDQyLCAweDhiLAotCTB4MDgsIDB4ZDIsIDB4MDAsIDB4YzQsIDB4MDAsIDB4OWUsIDB4NDIsIDB4OGIsCi0JMHgwNCwgMHhmMiwgMHgwMCwgMHhjNCwgMHgwMCwgMHhiZSwgMHg0MiwgMHg4YiwKLQkweDA0LCAweGYyLCAweDAwLCAweGM0LCAweDAwLCAweDA0LCAweDQyLCAweDhiLAotCTB4MDQsIDB4MTEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MjQsIDB4NDIsIDB4OGIsCi0JMHgwYywgMHg2MSwgMHgwMCwgMHhjNCwgMHgwMCwgMHg1NSwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDUwLCAweDAwLCAweGM0LCAweDAwLCAweDNmLCAweDQyLCAweDhiLAotCTB4MGMsIDB4MDEsIDB4MDAsIDB4YzQsIDB4MDAsIDB4MDAsIDB4NDAsIDB4NDUsCi0JMHgyMCwgMHgwMSwgMHg3OSwgMHg4MCwgMHgwMCwgMHgzMCwgMHg0MiwgMHg4YiwKLQkweDA0LCAweDYyLCAweDAwLCAweGM0LCAweDAwLCAweDAwLCAweDQwLCAweDQ1LAotCTB4MDAsIDB4MDAsIDB4NzEsIDB4OGIsIDB4NDAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwNCwgMHg1MCwgMHgwMCwgMHg0NCwgMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwKLQkweDA4LCAweGMyLCAweDAwLCAweGM0LCAweDBmLCAweGYyLCAweGE4LCAweGE4LAotCTB4MjAsIDB4MDAsIDB4YjEsIDB4ODgsIDB4MDAsIDB4MDAsIDB4NDEsIDB4MDIsCi0JMHg0ZCwgMHhmMiwgMHgwMCwgMHgzOSwgMHhjMCwgMHgwMSwgMHgwMCwgMHg4MiwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDBkLCAweGYyLCAweGEzLCAweGE4LAotCTB4NGQsIDB4ZjIsIDB4MDAsIDB4MzksIDB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHhmZiwgMHgwMCwgMHhlMiwgMHhhYiwgMHgyMCwgMHgwMCwgMHgwMCwgMHg4OCwKLQkweDAwLCAweDAwLCAweDYxLCAweDAyLCAweDRkLCAweGYyLCAweDA0LCAweDE5LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4ZmYsIDB4MDAsIDB4ZTIsIDB4YWIsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMCwgMHg2MSwgMHgxMCwKLQkweDRkLCAweGYyLCAweDA0LCAweDE5LCAweDA0LCAweDUwLCAweDAwLCAweDQ0LAotCTB4ZmYsIDB4MjAsIDB4ZTIsIDB4YWIsIDB4NjAsIDB4MDAsIDB4MDAsIDB4ODgsCi0JMHgwMCwgMHgwMCwgMHg3MSwgMHhjMCwgMHg0ZCwgMHhmMiwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDAwLCAweDAwLCAweDdhLCAweDBhLAotCTB4MjAsIDB4MDEsIDB4ZjAsIDB4ODAsIDB4MDEsIDB4YTAsIDB4NDEsIDB4MGEsCi0JMHgwMCwgMHgxMSwgMHgwMCwgMHhjNCwgMHgyMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweGMxLCAweDMwLCAweDA0LCAweDE5LCAweDA0LCAweDUwLCAweDAwLCAweDQ0LAotCTB4MDAsIDB4MDAsIDB4NzksIDB4ODAsIDB4MGMsIDB4NDEsIDB4MDAsIDB4ODQsCi0JMHg4OSwgMHgwMCwgMHg3MSwgMHg4YiwgMHhjOCwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDk3LCAweDAwLCAweDcxLCAweDhiLCAweGNkLCAweDAwLCAweDAwLCAweDM5LAotCTB4MDAsIDB4MDEsIDB4YjEsIDB4ODAsIDB4ODAsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHg4MiwgMHgwMCwgMHgwNCwgMHgxOSwgMHhjMSwgMHgyMCwgMHgwNCwgMHgxOSwKLQkweGMzLCAweDIwLCAweDA0LCAweDE5LCAweGMyLCAweDMwLCAweDA0LCAweDE5LAotCTB4Y2QsIDB4MTAsIDB4MDQsIDB4MTksIDB4Y2YsIDB4MTAsIDB4MDQsIDB4MTksCi0JMHhiMCwgMHgwMCwgMHg3MSwgMHg4YiwgMHg4NCwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDg2LCAweDAwLCAweDA0LCAweDE5LCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4Y2IsIDB4MjAsIDB4MDQsIDB4MTksIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhjZCwgMHgzMCwgMHgwMCwgMHgwOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDAzLCAweDAyLCAweDA0LCAweDQ5LCAweDA4LCAweDQxLCAweDAwLCAweDE0LAotCTB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4NjMsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHgwNiwgMHgxOSwgMHgwMywgMHgwMCwgMHgwNCwgMHg0OSwKLQkweDA0LCAweDUwLCAweDAwLCAweDQ0LCAweDIwLCAweDAxLCAweDYzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4MDYsIDB4MTksIDB4MDAsIDB4MjAsIDB4ZTIsIDB4OGIsCi0JMHgwMCwgMHhjMSwgMHgwMCwgMHg4NCwgMHg0NywgMHgwMCwgMHg1MSwgMHg4YiwKLQkweGMwLCAweDIwLCAweDAwLCAweDM5LCAweDAwLCAweDAwLCAweDYzLCAweDgwLAotCTB4YzEsIDB4YTAsIDB4MDQsIDB4MTksIDB4MDAsIDB4ZTEsIDB4MDAsIDB4NDQsCi0JMHhiZCwgMHgwMCwgMHg1MSwgMHg4YiwgMHhjMCwgMHgyMCwgMHgwMCwgMHgzOSwKLQkweDAwLCAweDAwLCAweGIxLCAweDgwLCAweGMxLCAweGEwLCAweDA0LCAweDE5LAotCTB4MDMsIDB4MDAsIDB4MDQsIDB4NDksIDB4MDQsIDB4NTAsIDB4MDAsIDB4NDQsCi0JMHgwMCwgMHgyMCwgMHg2MSwgMHgwYSwgMHgwMCwgMHgwMSwgMHgwMCwgMHg0NSwKLQkweDAyLCAweDMwLCAweDYxLCAweDBhLCAweDBjLCAweDgzLCAweDAwLCAweGM0LAotCTB4MGMsIDB4NzgsIDB4MDgsIDB4NDQsIDB4MDQsIDB4NWEsIDB4MDgsIDB4NDQsCi0JMHhiMiwgMHgwMCwgMHgwOSwgMHg0ZiwgMHgxMCwgMHg0MiwgMHgwOSwgMHg4ZSwKLQkweDA1LCAweGIwLCAweGUwLCAweDE4LCAweDA0LCAweDIzLCAweDAwLCAweDg0LAotCTB4MGMsIDB4MDEsIDB4MDAsIDB4MTEsIDB4MDgsIDB4MDUsIDB4NjEsIDB4MTAsCi0JMHgwMCwgMHg0OSwgMHgwOCwgMHg0NCwgMHgwMCwgMHg0OCwgMHgwOCwgMHg0NCwKLQkweGIyLCAweDAwLCAweDA5LCAweDRmLCAweDgwLCAweDAwLCAweDcxLCAweDhiLAotCTB4YzAsIDB4MDAsIDB4MDAsIDB4ODIsIDB4MGMsIDB4MDEsIDB4MzMsIDB4MTAsCi0JMHgyOCwgMHgwMSwgMHhhMywgMHgxMCwgMHgwMCwgMHgwMSwgMHg3YSwgMHg4MCwKLQkweDhjLCAweDAxLCAweDAwLCAweDgwLCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MjAsIDB4MDAsIDB4MDQsIDB4MTksIDB4MGMsIDB4ODMsIDB4MDAsIDB4YzQsCi0JMHgwNSwgMHhiMCwgMHhjOCwgMHgxOCwgMHgwOCwgMHg0MywgMHgwMCwgMHhjNCwKLQkweDAxLCAweDMwLCAweGM4LCAweDBhLCAweDBjLCAweDM4LCAweDAwLCAweGM0LAotCTB4MDgsIDB4ODgsIDB4MDAsIDB4NDQsIDB4MGMsIDB4NzgsIDB4MDgsIDB4NDQsCi0JMHgwNCwgMHg1YSwgMHgwOCwgMHg0NCwgMHgwMCwgMHgwMCwgMHhhMywgMHgxOCwKLQkweDgwLCAweDAwLCAweDA0LCAweDE5LCAweDBiLCAweDA0LCAweDYxLCAweGE4LAotCTB4YzMsIDB4MjAsIDB4MDAsIDB4MzksIDB4YzMsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwZiwgMHgxMCwgMHg2MSwgMHgwYSwgMHhjYSwgMHgzMCwgMHgwNCwgMHgxOSwKLQkweDA5LCAweDA0LCAweDQxLCAweGE4LCAweGUxLCAweDIwLCAweDAwLCAweDM5LAotCTB4ZDEsIDB4MDAsIDB4MDksIDB4NGYsIDB4MDAsIDB4MDQsIDB4NjEsIDB4MDIsCi0JMHgwOCwgMHg2MywgMHgwMCwgMHg0NCwgMHgwMywgMHgzMCwgMHg0MSwgMHgwYSwKLQkweDIwLCAweDAwLCAweDAwLCAweDM5LCAweGEzLCAweDAwLCAweDA5LCAweDRmLAotCTB4MDAsIDB4MDQsIDB4NjEsIDB4MDIsIDB4MDAsIDB4NDgsIDB4MDgsIDB4NDQsCi0JMHgwOCwgMHg4OCwgMHgwMCwgMHg0NCwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDA4LCAweDAwLCAweGM0LCAweDBjLCAweDc4LCAweDA4LCAweDQ0LAotCTB4MDQsIDB4NWEsIDB4MDgsIDB4NDQsIDB4YjIsIDB4MDAsIDB4MDksIDB4MGYsCi0JMHgxMCwgMHg0MCwgMHgwOSwgMHg4ZSwgMHgwMCwgMHgwMCwgMHg2OCwgMHg1YiwKLQkweDIwLCAweDA0LCAweGIxLCAweDgwLCAweDAyLCAweDAwLCAweDYxLCAweDViLAotCTB4ODgsIDB4MDMsIDB4N2EsIDB4ODAsIDB4YWMsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwNSwgMHhiMCwgMHhlMCwgMHgxOCwgMHgwMCwgMHhkMywgMHgwMCwgMHg4NCwKLQkweDAwLCAweDQ5LCAweDA4LCAweDQ0LCAweDAwLCAweDQ4LCAweDA4LCAweDQ0LAotCTB4YjIsIDB4MDAsIDB4MDksIDB4MGYsIDB4ODAsIDB4MDAsIDB4NzEsIDB4OGIsCi0JMHhjMCwgMHgwMCwgMHgwMCwgMHg4MiwgMHgwMiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDAwLCAweDA4LCAweDAwLCAweGM0LCAweDA1LCAweGIwLCAweGM4LCAweDE4LAotCTB4MGMsIDB4MTgsIDB4MDAsIDB4YzQsIDB4MDEsIDB4MzAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHgzOCwgMHgwMCwgMHhjNCwgMHgwOCwgMHg4OCwgMHgwMCwgMHg0NCwKLQkweDBjLCAweDc4LCAweDA4LCAweDQ0LCAweDAwLCAweDAwLCAweDYxLCAweDE4LAotCTB4MjAsIDB4MDUsIDB4YjEsIDB4ODAsIDB4MDAsIDB4MDAsIDB4NjgsIDB4Y2IsCi0JMHg4MCwgMHgwMCwgMHgwNCwgMHgxOSwgMHgwZCwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweGMzLCAweDMwLCAweDA0LCAweDE5LCAweDBiLCAweDA0LCAweDQxLCAweGE4LAotCTB4MDksIDB4MDQsIDB4NDEsIDB4YTgsIDB4ZTEsIDB4MjAsIDB4MDAsIDB4MzksCi0JMHgwOCwgMHgzOCwgMHgwMCwgMHg0NCwgMHgwMywgMHgzMCwgMHg0MSwgMHgwYSwKLQkweDIwLCAweDA0LCAweGIxLCAweDgwLCAweDAwLCAweDQ4LCAweDA4LCAweDQ0LAotCTB4MDgsIDB4ODgsIDB4MDAsIDB4NDQsIDB4MDAsIDB4MDAsIDB4YjEsIDB4ODAsCi0JMHhjMiwgMHgzMCwgMHgwNCwgMHgxOSwgMHgwYywgMHhiOCwgMHgwMCwgMHhkNCwKLQkweDBmLCAweDMwLCAweDYxLCAweDBhLCAweDBkLCAweDMwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4YjgsIDB4MDAsIDB4YzQsIDB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsCi0JMHhlNywgMHgwMCwgMHgwMSwgMHg2ZiwgMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwKLQkweDIwLCAweDAwLCAweDAwLCAweDg4LCAweDAyLCAweDAwLCAweDYxLCAweDAyLAotCTB4NDEsIDB4MDQsIDB4MDQsIDB4MTksIDB4MDIsIDB4MDQsIDB4NjEsIDB4MDIsCi0JMHg0MywgMHgwNCwgMHgwNCwgMHgzOSwgMHhjZiwgMHgzMCwgMHgwMCwgMHgwOSwKLQkweDIwLCAweDAwLCAweDA5LCAweDQ5LCAweDAwLCAweDU5LCAweDAwLCAweDQ0LAotCTB4OTMsIDB4MDAsIDB4MDEsIDB4NGYsIDB4ZTcsIDB4MDAsIDB4MDEsIDB4NmYsCi0JMHgwZCwgMHgzMCwgMHg2MSwgMHgwYSwgMHgyMCwgMHgwMCwgMHg2MSwgMHg4OCwKLQkweGMyLCAweDAwLCAweDAwLCAweDgyLCAweGMyLCAweDAzLCAweDAwLCAweDgyLAotCTB4Y2QsIDB4MzAsIDB4MDAsIDB4MDksIDB4MjAsIDB4MDAsIDB4MDksIDB4NDksCi0JMHgwZiwgMHgzMCwgMHg2MSwgMHgwYSwgMHgwZCwgMHgzMCwgMHhjOCwgMHgwYSwKLQkweDBjLCAweDU4LCAweDAwLCAweDg0LCAweDAyLCAweDMwLCAweDYxLCAweDBhLAotCTB4MDUsIDB4YjAsIDB4YTgsIDB4MTgsIDB4YzIsIDB4MzAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwgMHg5MCwgMHg0MCwgMHgwOSwgMHg4ZiwKLQkweDEyLCAweDA0LCAweDA5LCAweDZlLCAweDAzLCAweDAwLCAweDA5LCAweDBlLAotCTB4MDAsIDB4MDEsIDB4NzEsIDB4ODIsIDB4MjAsIDB4MDEsIDB4MDAsIDB4ODAsCi0JMHgwMCwgMHgwMCwgMHg2MSwgMHhjYiwgMHg4MCwgMHgwNCwgMHhiMSwgMHg4MCwKLQkweDAwLCAweDAxLCAweGUwLCAweDYwLCAweDBjLCAweGQ4LCAweDA0LCAweDE0LAotCTB4MDAsIDB4MDEsIDB4ZWIsIDB4ODAsIDB4NDAsIDB4MDAsIDB4NTIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHg3OSwgMHg4MCwgMHhjMCwgMHgwMSwgMHg3MSwgMHhjMiwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDA4LCAweDBhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4ODAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDBjLCAweDJhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4MTAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMSwgMHhmMCwgMHg4MCwKLQkweDIwLCAweDAwLCAweGMwLCAweDgwLCAweDA4LCAweDNhLCAweDA0LCAweDU0LAotCTB4YzAsIDB4MDQsIDB4YTgsIDB4ODIsIDB4MjAsIDB4MDAsIDB4NzIsIDB4MWIsCi0JMHg4MCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhjMCwgMHgwMywgMHhmMCwgMHg4MiwKLQkweDIwLCAweDAwLCAweGEwLCAweDgwLCAweDAwLCAweDAxLCAweDAwLCAweDExLAotCTB4NDAsIDB4MDAsIDB4YzIsIDB4OGIsIDB4MDAsIDB4YWEsIDB4MDAsIDB4YzQsCi0JMHgwMCwgMHgwMCwgMHhlOSwgMHg4MCwgMHgwNSwgMHhiMCwgMHhhOCwgMHgxOCwKLQkweDAwLCAweDAxLCAweGE4LCAweDIyLCAweGQwLCAweDAxLCAweDAwLCAweDgyLAotCTB4ZjAsIDB4MDAsIDB4ZTIsIDB4MWIsIDB4MDYsIDB4MjAsIDB4YTgsIDB4MGEsCi0JMHgyZCwgMHgxMCwgMHg2MSwgMHgwYSwgMHhkMSwgMHgwMCwgMHgwOSwgMHgyZSwKLQkweDAwLCAweDAxLCAweGE4LCAweDAyLCAweDBlLCAweDEwLCAweGM4LCAweDBhLAotCTB4MGMsIDB4YmEsIDB4MDQsIDB4MTQsIDB4MGUsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHgwNCwgMHg0YSwgMHgwMCwgMHg0NCwgMHgwYywgMHgxMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDRhLCAweDA0LCAweDU0LCAweDBjLCAweDEwLCAweDYxLCAweDBhLAotCTB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsIDB4MDAsIDB4MTAsIDB4YTgsIDB4MTgsCi0JMHhhMCwgMHgwMCwgMHgwMCwgMHg4OCwgMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwKLQkweDAzLCAweDAwLCAweDA5LCAweDBlLCAweDlhLCAweDAxLCAweDAwLCAweDYwLAotCTB4MzIsIDB4MDAsIDB4MDksIDB4MmUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsCi0JMHgwMCwgMHgwMSwgMHg3MSwgMHg4MiwgMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwKLQkweDAwLCAweDAwLCAweDYxLCAweGNiLCAweDgwLCAweDI0LCAweGIxLCAweGMwLAotCTB4MDAsIDB4MzEsIDB4ZTAsIDB4NjAsIDB4MGMsIDB4Y2EsIDB4MDQsIDB4MTQsCi0JMHgwMCwgMHgwMSwgMHhlYiwgMHg4MCwgMHg0MCwgMHgwMCwgMHg1MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDc5LCAweDgwLCAweGMwLCAweDAxLCAweDcxLCAweGMyLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MDgsIDB4ZGEsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHg4MCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MGMsIDB4ZmEsIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHgxMCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweDAwLCAweDAxLCAweGYwLCAweDgwLAotCTB4MjAsIDB4MDAsIDB4YzAsIDB4ODAsIDB4MDgsIDB4MjksIDB4MDQsIDB4NTQsCi0JMHhjMCwgMHgwNCwgMHhhOCwgMHg4MiwgMHgyMCwgMHgwMCwgMHg3MiwgMHgxYiwKLQkweDgwLCAweDAwLCAweDAwLCAweDgwLCAweGMwLCAweDAzLCAweGYwLCAweDgyLAotCTB4MjAsIDB4MDAsIDB4YTAsIDB4ODAsIDB4MDAsIDB4MDEsIDB4MDAsIDB4MTEsCi0JMHg0MCwgMHgwMCwgMHhjMiwgMHg4YiwgMHgwMCwgMHgzOSwgMHgwMCwgMHhjNCwKLQkweDAwLCAweDAwLCAweGU5LCAweDgwLCAweDA1LCAweGIwLCAweGE4LCAweDE4LAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MjIsIDB4ZDAsIDB4MDEsIDB4MDAsIDB4ODIsCi0JMHhiMCwgMHgwMCwgMHhlMiwgMHgxYiwgMHgwNiwgMHgyMCwgMHhhOCwgMHgwYSwKLQkweDJmLCAweDEwLCAweDYxLCAweDBhLCAweGYxLCAweDAwLCAweDA5LCAweDJlLAotCTB4MDAsIDB4MDEsIDB4YTgsIDB4MDIsIDB4MGUsIDB4MTAsIDB4YzgsIDB4MGEsCi0JMHgwYywgMHhhOSwgMHgwNCwgMHgxNCwgMHgwZSwgMHgxMCwgMHg2MSwgMHgwYSwKLQkweDA0LCAweDk5LCAweDAwLCAweDQ0LCAweDBjLCAweDEwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4OTksIDB4MDQsIDB4NTQsIDB4MGMsIDB4MTAsIDB4NjEsIDB4MGEsCi0JMHhkMCwgMHgwMSwgMHgwMCwgMHg4MiwgMHgwMCwgMHgxMCwgMHhhOCwgMHgxOCwKLQkweGEwLCAweDAwLCAweDAwLCAweDg4LCAweDAwLCAweDAxLCAweDcxLCAweDgyLAotCTB4OWYsIDB4MDEsIDB4MDAsIDB4NjAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NDYsCi0JMHgwMCwgMHgwMCwgMHgzMywgMHg4MCwgMHgwMCwgMHgwMCwgMHg4MywgMHg4MCwKLQkweDIwLCAweDAwLCAweDdhLCAweDgwLCAweDIwLCAweDA3LCAweDMzLCAweDgwLAotCTB4MDAsIDB4MDAsIDB4ODMsIDB4ODAsIDB4MjAsIDB4MDQsIDB4N2EsIDB4ODAsCi0JMHgyMCwgMHgwMSwgMHgwMCwgMHg4MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg0NiwKLQkweDAyLCAweDAwLCAweDYxLCAweDBhLCAweDA0LCAweDFiLCAweDA0LCAweDE0LAotCTB4MDEsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MDMsIDB4MDAsIDB4NDgsIDB4MGEsCi0JMHgwYywgMHg3OSwgMHgwNCwgMHg1NCwgMHhjMywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweGM5LCAweDAwLCAweDQ0LCAweDA4LCAweDAwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4YzksIDB4MDQsIDB4NTQsIDB4YzgsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwYSwgMHgwMCwgMHg2MSwgMHgwYSwgMHgwOSwgMHgwMCwgMHg0OCwgMHgwYSwKLQkweDBjLCAweGU5LCAweDA0LCAweDU0LCAweGM5LCAweDAwLCAweDA0LCAweDE5LAotCTB4MDQsIDB4ZDksIDB4MDAsIDB4NDQsIDB4MGIsIDB4MDAsIDB4YzgsIDB4MGEsCi0JMHgwNCwgMHhkOSwgMHgwNCwgMHg1NCwgMHhjYiwgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDAwLCAweDYxLCAweDBhLCAweDA2LCAweDAwLCAweDQ4LCAweDBhLAotCTB4MGMsIDB4ZjksIDB4MDQsIDB4NTQsIDB4YzYsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwNCwgMHgwYiwgMHgwMCwgMHg0NCwgMHgwNSwgMHgwMCwgMHhjOCwgMHgwYSwKLQkweDA0LCAweDBiLCAweDA0LCAweDU0LCAweGM1LCAweDAwLCAweDA0LCAweDE5LAotCTB4MDcsIDB4MDAsIDB4NjEsIDB4MGEsIDB4MGMsIDB4MDAsIDB4NDgsIDB4MGEsCi0JMHgwYywgMHgyYiwgMHgwNCwgMHg1NCwgMHhjYywgMHgwMCwgMHgwNCwgMHgxOSwKLQkweDA0LCAweDFiLCAweDAwLCAweDQ0LCAweDBlLCAweDAwLCAweGM4LCAweDBhLAotCTB4MDQsIDB4MWIsIDB4MDQsIDB4NTQsIDB4Y2UsIDB4MDAsIDB4MDQsIDB4MTksCi0JMHgwMCwgMHgwMCwgMHg0MCwgMHg0NSwgMHg5MiwgMHgyMCwgMHg3MSwgMHg4YiwKLQkweGE2LCAweGM1LCAweDExLCAweDAwCi19OwpkaWZmIC0tZ2l0IGEvc291bmQvaXNhL3dhdmVmcm9udC93YXZlZnJvbnRfc3ludGguYyBiL3NvdW5kL2lzYS93YXZlZnJvbnQvd2F2ZWZyb250X3N5bnRoLmMKaW5kZXggOTVlZWNhMS4uMGJiOWI5MiAxMDA2NDQKLS0tIGEvc291bmQvaXNhL3dhdmVmcm9udC93YXZlZnJvbnRfc3ludGguYworKysgYi9zb3VuZC9pc2Evd2F2ZWZyb250L3dhdmVmcm9udF9zeW50aC5jCkBAIC0xOTM5LDcgKzE5MzksNyBAQAogd2F2ZWZyb250X2Rvd25sb2FkX2Zpcm13YXJlIChzbmRfd2F2ZWZyb250X3QgKmRldiwgY2hhciAqcGF0aCkKIAogewotCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpidWY7CiAJaW50IGxlbiwgZXJyOwogCWludCBzZWN0aW9uX2NudF9kb3dubG9hZGVkID0gMDsKIAljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZpcm13YXJlOwpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9LY29uZmlnIGIvc291bmQvbWlwcy9LY29uZmlnCmluZGV4IDUzMWY4YmEuLmE5ODIzZmEgMTAwNjQ0Ci0tLSBhL3NvdW5kL21pcHMvS2NvbmZpZworKysgYi9zb3VuZC9taXBzL0tjb25maWcKQEAgLTEsMTUgKzEsMzQgQEAKICMgQUxTQSBNSVBTIGRyaXZlcnMKIAotbWVudSAiQUxTQSBNSVBTIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgTUlQUworbWVudWNvbmZpZyBTTkRfTUlQUworCWJvb2wgIk1JUFMgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIE1JUFMKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIG9mIE1JUFMgYXJjaGl0ZWN0dXJlcy4KKworaWYgU05EX01JUFMKKworY29uZmlnIFNORF9TR0lfTzIKKwl0cmlzdGF0ZSAiU0dJIE8yIEF1ZGlvIgorCWRlcGVuZHMgb24gU0dJX0lQMzIKKyAgICAgICAgaGVscAorICAgICAgICAgICAgICAgIFNvdW5kIHN1cHBvcnQgZm9yIHRoZSBTR0kgTzIgV29ya3N0YXRpb24uIAorCitjb25maWcgU05EX1NHSV9IQUwyCisgICAgICAgIHRyaXN0YXRlICJTR0kgSEFMMiBBdWRpbyIKKyAgICAgICAgZGVwZW5kcyBvbiBTR0lfSEFTX0hBTDIKKyAgICAgICAgaGVscAorICAgICAgICAgICAgICAgIFNvdW5kIHN1cHBvcnQgZm9yIHRoZSBTR0kgSW5keSBhbmQgSW5kaWdvMiBXb3Jrc3RhdGlvbi4KKwogCiBjb25maWcgU05EX0FVMVgwMAogCXRyaXN0YXRlICJBdTF4MDAgQUM5NyBQb3J0IERyaXZlciIKLQlkZXBlbmRzIG9uIChTT0NfQVUxMDAwIHx8IFNPQ19BVTExMDAgfHwgU09DX0FVMTUwMCkgJiYgU05ECisJZGVwZW5kcyBvbiBTT0NfQVUxMDAwIHx8IFNPQ19BVTExMDAgfHwgU09DX0FVMTUwMAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgQUxTQSBTb3VuZCBkcml2ZXIgZm9yIHRoZSBBdTF4MDAncyBBQzk3IHBvcnQuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX01JUFMKIApkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9NYWtlZmlsZSBiL3NvdW5kL21pcHMvTWFrZWZpbGUKaW5kZXggNDdhZmVkOS4uODYxZWMwYSAxMDA2NDQKLS0tIGEvc291bmQvbWlwcy9NYWtlZmlsZQorKysgYi9zb3VuZC9taXBzL01ha2VmaWxlCkBAIC0zLDYgKzMsMTAgQEAKICMKIAogc25kLWF1MXgwMC1vYmpzIDo9IGF1MXgwMC5vCitzbmQtc2dpLW8yLW9ianMgOj0gc2dpbzJhdWRpby5vIGFkMTg0My5vCitzbmQtc2dpLWhhbDItb2JqcyA6PSBoYWwyLm8KIAogIyBUb3BsZXZlbCBNb2R1bGUgRGVwZW5kZW5jeQogb2JqLSQoQ09ORklHX1NORF9BVTFYMDApICs9IHNuZC1hdTF4MDAubworb2JqLSQoQ09ORklHX1NORF9TR0lfTzIpICs9IHNuZC1zZ2ktbzIubworb2JqLSQoQ09ORklHX1NORF9TR0lfSEFMMikgKz0gc25kLXNnaS1oYWwyLm8KZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvYWQxODQzLmMgYi9zb3VuZC9taXBzL2FkMTg0My5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MjQ1MTAKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9taXBzL2FkMTg0My5jCkBAIC0wLDAgKzEsNTYxIEBACisvKgorICogICBBRDE4NDMgbG93IGxldmVsIGRyaXZlcgorICoKKyAqICAgQ29weXJpZ2h0IDIwMDMgVml2aWVuIENoYXBwZWxpZXIgPHZpdmllbi5jaGFwcGVsaWVyQGxpbnV4LW1pcHMub3JnPgorICogICBDb3B5cmlnaHQgMjAwOCBUaG9tYXMgQm9nZW5kb2VyZmVyIDx0c2JvZ2VuZEBhbHBoYS5mcmFua2VuLmRlPgorICoKKyAqICAgaW5zcGlyZWQgZnJvbSB2d3NuZC5jIChTR0kgVlcgYXVkaW8gZHJpdmVyKQorICogICAgIENvcHlyaWdodCAxOTk5IFNpbGljb24gR3JhcGhpY3MsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3IFVTQQorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvYWQxODQzLmg+CisKKy8qCisgKiBBRDE4NDMgYml0ZmllbGQgZGVmaW5pdGlvbnMuICBBbGwgYXJlIG5hbWVkIGFzIGluIHRoZSBBRDE4NDMgZGF0YQorICogc2hlZXQsIHdpdGggYWQxODQzXyBwcmVwZW5kZWQgYW5kIGluZGl2aWR1YWwgYml0IG51bWJlcnMgcmVtb3ZlZC4KKyAqCisgKiBFLmcuLCBiaXRzIExTUzAgdGhyb3VnaCBMU1MyIGJlY29tZSBhZDE4NDNfTFNTLgorICoKKyAqIE9ubHkgdGhlIGJpdGZpZWxkcyB3ZSBuZWVkIGFyZSBkZWZpbmVkLgorICovCisKK3N0cnVjdCBhZDE4NDNfYml0ZmllbGQgeworCWNoYXIgcmVnOworCWNoYXIgbG9fYml0OworCWNoYXIgbmJpdHM7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZAorCWFkMTg0M19QRE5PICAgPSB7ICAwLCAxNCwgIDEgfSwJLyogQ29udmVydGVyIFBvd2VyLURvd24gRmxhZyAqLworCWFkMTg0M19JTklUICAgPSB7ICAwLCAxNSwgIDEgfSwJLyogQ2xvY2sgSW5pdGlhbGl6YXRpb24gRmxhZyAqLworCWFkMTg0M19SSUcgICAgPSB7ICAyLCAgMCwgIDQgfSwJLyogUmlnaHQgQURDIElucHV0IEdhaW4gKi8KKwlhZDE4NDNfUk1HRSAgID0geyAgMiwgIDQsICAxIH0sCS8qIFJpZ2h0IEFEQyBNaWMgR2FpbiBFbmFibGUgKi8KKwlhZDE4NDNfUlNTICAgID0geyAgMiwgIDUsICAzIH0sCS8qIFJpZ2h0IEFEQyBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX0xJRyAgICA9IHsgIDIsICA4LCAgNCB9LAkvKiBMZWZ0IEFEQyBJbnB1dCBHYWluICovCisJYWQxODQzX0xNR0UgICA9IHsgIDIsIDEyLCAgMSB9LAkvKiBMZWZ0IEFEQyBNaWMgR2FpbiBFbmFibGUgKi8KKwlhZDE4NDNfTFNTICAgID0geyAgMiwgMTMsICAzIH0sCS8qIExlZnQgQURDIFNvdXJjZSBTZWxlY3QgKi8KKwlhZDE4NDNfUkQyTSAgID0geyAgMywgIDAsICA1IH0sCS8qIFJpZ2h0IERBQyAyIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX1JEMk1NICA9IHsgIDMsICA3LCAgMSB9LAkvKiBSaWdodCBEQUMgMiBNaXggTXV0ZSAqLworCWFkMTg0M19MRDJNICAgPSB7ICAzLCAgOCwgIDUgfSwJLyogTGVmdCBEQUMgMiBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19MRDJNTSAgPSB7ICAzLCAxNSwgIDEgfSwJLyogTGVmdCBEQUMgMiBNaXggTXV0ZSAqLworCWFkMTg0M19SWDFNICAgPSB7ICA0LCAgMCwgIDUgfSwJLyogUmlnaHQgQXV4IDEgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfUlgxTU0gID0geyAgNCwgIDcsICAxIH0sCS8qIFJpZ2h0IEF1eCAxIE1peCBNdXRlICovCisJYWQxODQzX0xYMU0gICA9IHsgIDQsICA4LCAgNSB9LAkvKiBMZWZ0IEF1eCAxIE1peCBHYWluL0F0dGVuICovCisJYWQxODQzX0xYMU1NICA9IHsgIDQsIDE1LCAgMSB9LAkvKiBMZWZ0IEF1eCAxIE1peCBNdXRlICovCisJYWQxODQzX1JYMk0gICA9IHsgIDUsICAwLCAgNSB9LAkvKiBSaWdodCBBdXggMiBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19SWDJNTSAgPSB7ICA1LCAgNywgIDEgfSwJLyogUmlnaHQgQXV4IDIgTWl4IE11dGUgKi8KKwlhZDE4NDNfTFgyTSAgID0geyAgNSwgIDgsICA1IH0sCS8qIExlZnQgQXV4IDIgTWl4IEdhaW4vQXR0ZW4gKi8KKwlhZDE4NDNfTFgyTU0gID0geyAgNSwgMTUsICAxIH0sCS8qIExlZnQgQXV4IDIgTWl4IE11dGUgKi8KKwlhZDE4NDNfUk1DTSAgID0geyAgNywgIDAsICA1IH0sCS8qIFJpZ2h0IE1pYyBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19STUNNTSAgPSB7ICA3LCAgNywgIDEgfSwJLyogUmlnaHQgTWljIE1peCBNdXRlICovCisJYWQxODQzX0xNQ00gICA9IHsgIDcsICA4LCAgNSB9LAkvKiBMZWZ0IE1pYyBNaXggR2Fpbi9BdHRlbiAqLworCWFkMTg0M19MTUNNTSAgPSB7ICA3LCAxNSwgIDEgfSwJLyogTGVmdCBNaWMgTWl4IE11dGUgKi8KKwlhZDE4NDNfSFBPUyAgID0geyAgOCwgIDQsICAxIH0sCS8qIEhlYWRwaG9uZSBPdXRwdXQgVm9sdGFnZSBTd2luZyAqLworCWFkMTg0M19IUE9NICAgPSB7ICA4LCAgNSwgIDEgfSwJLyogSGVhZHBob25lIE91dHB1dCBNdXRlICovCisJYWQxODQzX01QT00gICA9IHsgIDgsICA2LCAgMSB9LAkvKiBNb25vIE91dHB1dCBNdXRlICovCisJYWQxODQzX1JEQTFHICA9IHsgIDksICAwLCAgNiB9LAkvKiBSaWdodCBEQUMxIEFuYWxvZy9EaWdpdGFsIEdhaW4gKi8KKwlhZDE4NDNfUkRBMUdNID0geyAgOSwgIDcsICAxIH0sCS8qIFJpZ2h0IERBQzEgQW5hbG9nIE11dGUgKi8KKwlhZDE4NDNfTERBMUcgID0geyAgOSwgIDgsICA2IH0sCS8qIExlZnQgREFDMSBBbmFsb2cvRGlnaXRhbCBHYWluICovCisJYWQxODQzX0xEQTFHTSA9IHsgIDksIDE1LCAgMSB9LAkvKiBMZWZ0IERBQzEgQW5hbG9nIE11dGUgKi8KKwlhZDE4NDNfUkRBMkcgID0geyAxMCwgIDAsICA2IH0sCS8qIFJpZ2h0IERBQzIgQW5hbG9nL0RpZ2l0YWwgR2FpbiAqLworCWFkMTg0M19SREEyR00gPSB7IDEwLCAgNywgIDEgfSwJLyogUmlnaHQgREFDMiBBbmFsb2cgTXV0ZSAqLworCWFkMTg0M19MREEyRyAgPSB7IDEwLCAgOCwgIDYgfSwJLyogTGVmdCBEQUMyIEFuYWxvZy9EaWdpdGFsIEdhaW4gKi8KKwlhZDE4NDNfTERBMkdNID0geyAxMCwgMTUsICAxIH0sCS8qIExlZnQgREFDMiBBbmFsb2cgTXV0ZSAqLworCWFkMTg0M19SREExQU0gPSB7IDExLCAgNywgIDEgfSwJLyogUmlnaHQgREFDMSBEaWdpdGFsIE11dGUgKi8KKwlhZDE4NDNfTERBMUFNID0geyAxMSwgMTUsICAxIH0sCS8qIExlZnQgREFDMSBEaWdpdGFsIE11dGUgKi8KKwlhZDE4NDNfUkRBMkFNID0geyAxMiwgIDcsICAxIH0sCS8qIFJpZ2h0IERBQzIgRGlnaXRhbCBNdXRlICovCisJYWQxODQzX0xEQTJBTSA9IHsgMTIsIDE1LCAgMSB9LAkvKiBMZWZ0IERBQzIgRGlnaXRhbCBNdXRlICovCisJYWQxODQzX0FETEMgICA9IHsgMTUsICAwLCAgMiB9LAkvKiBBREMgTGVmdCBTYW1wbGUgUmF0ZSBTb3VyY2UgKi8KKwlhZDE4NDNfQURSQyAgID0geyAxNSwgIDIsICAyIH0sCS8qIEFEQyBSaWdodCBTYW1wbGUgUmF0ZSBTb3VyY2UgKi8KKwlhZDE4NDNfREExQyAgID0geyAxNSwgIDgsICAyIH0sCS8qIERBQzEgU2FtcGxlIFJhdGUgU291cmNlICovCisJYWQxODQzX0RBMkMgICA9IHsgMTUsIDEwLCAgMiB9LAkvKiBEQUMyIFNhbXBsZSBSYXRlIFNvdXJjZSAqLworCWFkMTg0M19DMUMgICAgPSB7IDE3LCAgMCwgMTYgfSwJLyogQ2xvY2sgMSBTYW1wbGUgUmF0ZSBTZWxlY3QgKi8KKwlhZDE4NDNfQzJDICAgID0geyAyMCwgIDAsIDE2IH0sCS8qIENsb2NrIDIgU2FtcGxlIFJhdGUgU2VsZWN0ICovCisJYWQxODQzX0MzQyAgICA9IHsgMjMsICAwLCAxNiB9LAkvKiBDbG9jayAzIFNhbXBsZSBSYXRlIFNlbGVjdCAqLworCWFkMTg0M19EQUFETCAgPSB7IDI1LCAgNCwgIDIgfSwJLyogRGlnaXRhbCBBREMgTGVmdCBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX0RBQURSICA9IHsgMjUsICA2LCAgMiB9LAkvKiBEaWdpdGFsIEFEQyBSaWdodCBTb3VyY2UgU2VsZWN0ICovCisJYWQxODQzX0RBTUlYICA9IHsgMjUsIDE0LCAgMSB9LAkvKiBEQUMgRGlnaXRhbCBNaXggRW5hYmxlICovCisJYWQxODQzX0RSU0ZMVCA9IHsgMjUsIDE1LCAgMSB9LAkvKiBEaWdpdGFsIFJlYW1wbGVyIEZpbHRlciBNb2RlICovCisJYWQxODQzX0FETEYgICA9IHsgMjYsICAwLCAgMiB9LCAvKiBBREMgTGVmdCBDaGFubmVsIERhdGEgRm9ybWF0ICovCisJYWQxODQzX0FEUkYgICA9IHsgMjYsICAyLCAgMiB9LCAvKiBBREMgUmlnaHQgQ2hhbm5lbCBEYXRhIEZvcm1hdCAqLworCWFkMTg0M19BRFRMSyAgPSB7IDI2LCAgNCwgIDEgfSwJLyogQURDIFRyYW5zbWl0IExvY2sgTW9kZSBTZWxlY3QgKi8KKwlhZDE4NDNfU0NGICAgID0geyAyNiwgIDcsICAxIH0sCS8qIFNDTEsgRnJlcXVlbmN5IFNlbGVjdCAqLworCWFkMTg0M19EQTFGICAgPSB7IDI2LCAgOCwgIDIgfSwJLyogREFDMSBEYXRhIEZvcm1hdCBTZWxlY3QgKi8KKwlhZDE4NDNfREEyRiAgID0geyAyNiwgMTAsICAyIH0sCS8qIERBQzIgRGF0YSBGb3JtYXQgU2VsZWN0ICovCisJYWQxODQzX0RBMVNNICA9IHsgMjYsIDE0LCAgMSB9LAkvKiBEQUMxIFN0ZXJlby9Nb25vIE1vZGUgU2VsZWN0ICovCisJYWQxODQzX0RBMlNNICA9IHsgMjYsIDE1LCAgMSB9LAkvKiBEQUMyIFN0ZXJlby9Nb25vIE1vZGUgU2VsZWN0ICovCisJYWQxODQzX0FETEVOICA9IHsgMjcsICAwLCAgMSB9LAkvKiBBREMgTGVmdCBDaGFubmVsIEVuYWJsZSAqLworCWFkMTg0M19BRFJFTiAgPSB7IDI3LCAgMSwgIDEgfSwJLyogQURDIFJpZ2h0IENoYW5uZWwgRW5hYmxlICovCisJYWQxODQzX0FBTUVOICA9IHsgMjcsICA0LCAgMSB9LAkvKiBBbmFsb2cgdG8gQW5hbG9nIE1peCBFbmFibGUgKi8KKwlhZDE4NDNfQU5BRU4gID0geyAyNywgIDcsICAxIH0sCS8qIEFuYWxvZyBDaGFubmVsIEVuYWJsZSAqLworCWFkMTg0M19EQTFFTiAgPSB7IDI3LCAgOCwgIDEgfSwJLyogREFDMSBFbmFibGUgKi8KKwlhZDE4NDNfREEyRU4gID0geyAyNywgIDksICAxIH0sCS8qIERBQzIgRW5hYmxlICovCisJYWQxODQzX0RETUVOICA9IHsgMjcsIDEyLCAgMSB9LAkvKiBEQUMyIHRvIERBQzEgTWl4ICBFbmFibGUgKi8KKwlhZDE4NDNfQzFFTiAgID0geyAyOCwgMTEsICAxIH0sCS8qIENsb2NrIEdlbmVyYXRvciAxIEVuYWJsZSAqLworCWFkMTg0M19DMkVOICAgPSB7IDI4LCAxMiwgIDEgfSwJLyogQ2xvY2sgR2VuZXJhdG9yIDIgRW5hYmxlICovCisJYWQxODQzX0MzRU4gICA9IHsgMjgsIDEzLCAgMSB9LAkvKiBDbG9jayBHZW5lcmF0b3IgMyBFbmFibGUgKi8KKwlhZDE4NDNfUEROSSAgID0geyAyOCwgMTUsICAxIH07CS8qIENvbnZlcnRlciBQb3dlciBEb3duICovCisKKy8qCisgKiBUaGUgdmFyaW91cyByZWdpc3RlcnMgb2YgdGhlIEFEMTg0MyB1c2UgdGhyZWUgZGlmZmVyZW50IGZvcm1hdHMgZm9yCisgKiBzcGVjaWZ5aW5nIGdhaW4uICBUaGUgYWQxODQzX2dhaW4gc3RydWN0dXJlIHBhcmFtZXRlcml6ZXMgdGhlCisgKiBmb3JtYXRzLgorICovCisKK3N0cnVjdCBhZDE4NDNfZ2FpbiB7CisJaW50CW5lZ2F0aXZlOwkJLyogbm9uemVybyBpZiBnYWluIGlzIG5lZ2F0aXZlLiAqLworCWNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKmxmaWVsZDsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpyZmllbGQ7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqbG11dGU7CisJY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqcm11dGU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX1JFQ0xFViA9IHsKKwkubmVnYXRpdmUgPSAwLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTElHLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUklHCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9MSU5FID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MWDFNLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUlgxTSwKKwkubG11dGUgICAgPSAmYWQxODQzX0xYMU1NLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUlgxTU0KK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX0xJTkVfMiA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTERBMkcsCisJLnJmaWVsZCAgID0gJmFkMTg0M19SREEyRywKKwkubG11dGUgICAgPSAmYWQxODQzX0xEQTJHTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JEQTJHTQorfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gYWQxODQzX2dhaW5fTUlDID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MTUNNLAorCS5yZmllbGQgICA9ICZhZDE4NDNfUk1DTSwKKwkubG11dGUgICAgPSAmYWQxODQzX0xNQ01NLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUk1DTU0KK307CitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluIGFkMTg0M19nYWluX1BDTV8wID0geworCS5uZWdhdGl2ZSA9IDEsCisJLmxmaWVsZCAgID0gJmFkMTg0M19MREExRywKKwkucmZpZWxkICAgPSAmYWQxODQzX1JEQTFHLAorCS5sbXV0ZSAgICA9ICZhZDE4NDNfTERBMUdNLAorCS5ybXV0ZSAgICA9ICZhZDE4NDNfUkRBMUdNCit9Oworc3RhdGljIGNvbnN0IHN0cnVjdCBhZDE4NDNfZ2FpbiBhZDE4NDNfZ2Fpbl9QQ01fMSA9IHsKKwkubmVnYXRpdmUgPSAxLAorCS5sZmllbGQgICA9ICZhZDE4NDNfTEQyTSwKKwkucmZpZWxkICAgPSAmYWQxODQzX1JEMk0sCisJLmxtdXRlICAgID0gJmFkMTg0M19MRDJNTSwKKwkucm11dGUgICAgPSAmYWQxODQzX1JEMk1NCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICphZDE4NDNfZ2FpbltBRDE4NDNfR0FJTl9TSVpFXSA9Cit7CisJJmFkMTg0M19nYWluX1JFQ0xFViwKKwkmYWQxODQzX2dhaW5fTElORSwKKwkmYWQxODQzX2dhaW5fTElORV8yLAorCSZhZDE4NDNfZ2Fpbl9NSUMsCisJJmFkMTg0M19nYWluX1BDTV8wLAorCSZhZDE4NDNfZ2Fpbl9QQ01fMSwKK307CisKKy8qIHJlYWQgdGhlIGN1cnJlbnQgdmFsdWUgb2YgYW4gQUQxODQzIGJpdGZpZWxkLiAqLworCitzdGF0aWMgaW50IGFkMTg0M19yZWFkX2JpdHMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJCSAgICBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmaWVsZCkKK3sKKwlpbnQgdzsKKworCXcgPSBhZDE4NDMtPnJlYWQoYWQxODQzLT5jaGlwLCBmaWVsZC0+cmVnKTsKKwlyZXR1cm4gdyA+PiBmaWVsZC0+bG9fYml0ICYgKCgxIDw8IGZpZWxkLT5uYml0cykgLSAxKTsKK30KKworLyoKKyAqIHdyaXRlIGEgbmV3IHZhbHVlIHRvIGFuIEFEMTg0MyBiaXRmaWVsZCBhbmQgcmV0dXJuIHRoZSBvbGQgdmFsdWUuCisgKi8KKworc3RhdGljIGludCBhZDE4NDNfd3JpdGVfYml0cyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLAorCQkJICAgICBjb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmaWVsZCwKKwkJCSAgICAgaW50IG5ld3ZhbCkKK3sKKwlpbnQgdywgbWFzaywgb2xkdmFsLCBuZXdiaXRzOworCisJdyA9IGFkMTg0My0+cmVhZChhZDE4NDMtPmNoaXAsIGZpZWxkLT5yZWcpOworCW1hc2sgPSAoKDEgPDwgZmllbGQtPm5iaXRzKSAtIDEpIDw8IGZpZWxkLT5sb19iaXQ7CisJb2xkdmFsID0gKHcgJiBtYXNrKSA+PiBmaWVsZC0+bG9fYml0OworCW5ld2JpdHMgPSAobmV3dmFsIDw8IGZpZWxkLT5sb19iaXQpICYgbWFzazsKKwl3ID0gKHcgJiB+bWFzaykgfCBuZXdiaXRzOworCWFkMTg0My0+d3JpdGUoYWQxODQzLT5jaGlwLCBmaWVsZC0+cmVnLCB3KTsKKworCXJldHVybiBvbGR2YWw7Cit9CisKKy8qCisgKiBhZDE4NDNfcmVhZF9tdWx0aSByZWFkcyBtdWx0aXBsZSBiaXRmaWVsZHMgZnJvbSB0aGUgc2FtZSBBRDE4NDMKKyAqIHJlZ2lzdGVyLiAgSXQgdXNlcyBhIHNpbmdsZSByZWFkIGN5Y2xlIHRvIGRvIGl0LiAgKFJlYWRpbmcgdGhlCisgKiBhZDE4NDMgcmVxdWlyZXMgMjU2IGJpdCB0aW1lcyBhdCAxMi4yODggTUh6LCBvciBuZWFybHkgMjAKKyAqIG1pY3Jvc2Vjb25kcy4pCisgKgorICogQ2FsbGVkIGxpa2UgdGhpcy4KKyAqCisgKiAgYWQxODQzX3JlYWRfbXVsdGkoYWQxODQzLCBuZmllbGRzLAorICoJCSAgICAgICZhZDE4NDNfRklFTEQxLCAmdmFsMSwKKyAqCQkgICAgICAmYWQxODQzX0ZJRUxEMiwgJnZhbDIsIC4uLik7CisgKi8KKworc3RhdGljIHZvaWQgYWQxODQzX3JlYWRfbXVsdGkoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGFyZ2NvdW50LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmcDsKKwlpbnQgdyA9IDAsIG1hc2ssICp2YWx1ZSwgcmVnID0gLTE7CisKKwl2YV9zdGFydChhcCwgYXJnY291bnQpOworCXdoaWxlICgtLWFyZ2NvdW50ID49IDApIHsKKwkJZnAgPSB2YV9hcmcoYXAsIGNvbnN0IHN0cnVjdCBhZDE4NDNfYml0ZmllbGQgKik7CisJCXZhbHVlID0gdmFfYXJnKGFwLCBpbnQgKik7CisJCWlmIChyZWcgPT0gLTEpIHsKKwkJCXJlZyA9IGZwLT5yZWc7CisJCQl3ID0gYWQxODQzLT5yZWFkKGFkMTg0My0+Y2hpcCwgcmVnKTsKKwkJfQorCisJCW1hc2sgPSAoMSA8PCBmcC0+bmJpdHMpIC0gMTsKKwkJKnZhbHVlID0gdyA+PiBmcC0+bG9fYml0ICYgbWFzazsKKwl9CisJdmFfZW5kKGFwKTsKK30KKworLyoKKyAqIGFkMTg0M193cml0ZV9tdWx0aSBzdG9yZXMgbXVsdGlwbGUgYml0ZmllbGRzIGludG8gdGhlIHNhbWUgQUQxODQzCisgKiByZWdpc3Rlci4gIEl0IHVzZXMgb25lIHJlYWQgYW5kIG9uZSB3cml0ZSBjeWNsZSB0byBkbyBpdC4KKyAqCisgKiBDYWxsZWQgbGlrZSB0aGlzLgorICoKKyAqICBhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCBuZmllbGRzLAorICoJCSAgICAgICAmYWQxODQzX0ZJRUxEMSwgdmFsMSwKKyAqCQkgICAgICAgJmFkMTg0M19GSUVMRjIsIHZhbDIsIC4uLik7CisgKi8KKworc3RhdGljIHZvaWQgYWQxODQzX3dyaXRlX211bHRpKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBhcmdjb3VudCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJaW50IHJlZzsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2JpdGZpZWxkICpmcDsKKwlpbnQgdmFsdWU7CisJaW50IHcsIG0sIG1hc2ssIGJpdHM7CisKKwltYXNrID0gMDsKKwliaXRzID0gMDsKKwlyZWcgPSAtMTsKKworCXZhX3N0YXJ0KGFwLCBhcmdjb3VudCk7CisJd2hpbGUgKC0tYXJnY291bnQgPj0gMCkgeworCQlmcCA9IHZhX2FyZyhhcCwgY29uc3Qgc3RydWN0IGFkMTg0M19iaXRmaWVsZCAqKTsKKwkJdmFsdWUgPSB2YV9hcmcoYXAsIGludCk7CisJCWlmIChyZWcgPT0gLTEpCisJCQlyZWcgPSBmcC0+cmVnOworCQllbHNlCisJCQlCVUdfT04ocmVnICE9IGZwLT5yZWcpOworCQltID0gKCgxIDw8IGZwLT5uYml0cykgLSAxKSA8PCBmcC0+bG9fYml0OworCQltYXNrIHw9IG07CisJCWJpdHMgfD0gKHZhbHVlIDw8IGZwLT5sb19iaXQpICYgbTsKKwl9CisJdmFfZW5kKGFwKTsKKworCWlmICh+bWFzayAmIDB4RkZGRikKKwkJdyA9IGFkMTg0My0+cmVhZChhZDE4NDMtPmNoaXAsIHJlZyk7CisJZWxzZQorCQl3ID0gMDsKKwl3ID0gKHcgJiB+bWFzaykgfCBiaXRzOworCWFkMTg0My0+d3JpdGUoYWQxODQzLT5jaGlwLCByZWcsIHcpOworfQorCitpbnQgYWQxODQzX2dldF9nYWluX21heChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgaWQpCit7CisJY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICpncCA9IGFkMTg0M19nYWluW2lkXTsKKwlpbnQgcmV0OworCisJcmV0ID0gKDEgPDwgZ3AtPmxmaWVsZC0+bmJpdHMpOworCWlmICghZ3AtPmxtdXRlKQorCQlyZXQgLT0gMTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogYWQxODQzX2dldF9nYWluIHJlYWRzIHRoZSBzcGVjaWZpZWQgcmVnaXN0ZXIgYW5kIGV4dHJhY3RzIHRoZSBnYWluIHZhbHVlCisgKiB1c2luZyB0aGUgc3VwcGxpZWQgZ2FpbiB0eXBlLgorICovCisKK2ludCBhZDE4NDNfZ2V0X2dhaW4oc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgaW50IGlkKQoreworCWludCBsZywgcmcsIGxtLCBybTsKKwljb25zdCBzdHJ1Y3QgYWQxODQzX2dhaW4gKmdwID0gYWQxODQzX2dhaW5baWRdOworCXVuc2lnbmVkIHNob3J0IG1hc2sgPSAoMSA8PCBncC0+bGZpZWxkLT5uYml0cykgLSAxOworCisJYWQxODQzX3JlYWRfbXVsdGkoYWQxODQzLCAyLCBncC0+bGZpZWxkLCAmbGcsIGdwLT5yZmllbGQsICZyZyk7CisJaWYgKGdwLT5uZWdhdGl2ZSkgeworCQlsZyA9IG1hc2sgLSBsZzsKKwkJcmcgPSBtYXNrIC0gcmc7CisJfQorCWlmIChncC0+bG11dGUpIHsKKwkJYWQxODQzX3JlYWRfbXVsdGkoYWQxODQzLCAyLCBncC0+bG11dGUsICZsbSwgZ3AtPnJtdXRlLCAmcm0pOworCQlpZiAobG0pCisJCQlsZyA9IDA7CisJCWlmIChybSkKKwkJCXJnID0gMDsKKwl9CisJcmV0dXJuIGxnIDw8IDAgfCByZyA8PCA4OworfQorCisvKgorICogU2V0IGFuIGF1ZGlvIGNoYW5uZWwncyBnYWluLgorICoKKyAqIFJldHVybnMgdGhlIG5ldyBnYWluLCB3aGljaCBtYXkgYmUgbG93ZXIgdGhhbiB0aGUgb2xkIGdhaW4uCisgKi8KKworaW50IGFkMTg0M19zZXRfZ2FpbihzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzLCBpbnQgaWQsIGludCBuZXd2YWwpCit7CisJY29uc3Qgc3RydWN0IGFkMTg0M19nYWluICpncCA9IGFkMTg0M19nYWluW2lkXTsKKwl1bnNpZ25lZCBzaG9ydCBtYXNrID0gKDEgPDwgZ3AtPmxmaWVsZC0+bmJpdHMpIC0gMTsKKworCWludCBsZyA9IChuZXd2YWwgPj4gMCkgJiBtYXNrOworCWludCByZyA9IChuZXd2YWwgPj4gOCkgJiBtYXNrOworCWludCBsbSA9IChsZyA9PSAwKSA/IDEgOiAwOworCWludCBybSA9IChyZyA9PSAwKSA/IDEgOiAwOworCisJaWYgKGdwLT5uZWdhdGl2ZSkgeworCQlsZyA9IG1hc2sgLSBsZzsKKwkJcmcgPSBtYXNrIC0gcmc7CisJfQorCWlmIChncC0+bG11dGUpCisJCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsIGdwLT5sbXV0ZSwgbG0sIGdwLT5ybXV0ZSwgcm0pOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsIGdwLT5sZmllbGQsIGxnLCBncC0+cmZpZWxkLCByZyk7CisJcmV0dXJuIGFkMTg0M19nZXRfZ2FpbihhZDE4NDMsIGlkKTsKK30KKworLyogUmV0dXJucyB0aGUgY3VycmVudCByZWNvcmRpbmcgc291cmNlICovCisKK2ludCBhZDE4NDNfZ2V0X3JlY3NyYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKQoreworCWludCB2YWwgPSBhZDE4NDNfcmVhZF9iaXRzKGFkMTg0MywgJmFkMTg0M19MU1MpOworCisJaWYgKHZhbCA8IDAgfHwgdmFsID4gMikgeworCQl2YWwgPSAyOworCQlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLAorCQkJCSAgICZhZDE4NDNfTFNTLCB2YWwsICZhZDE4NDNfUlNTLCB2YWwpOworCX0KKwlyZXR1cm4gdmFsOworfQorCisvKgorICogU2V0IHJlY29yZGluZyBzb3VyY2UuCisgKgorICogUmV0dXJucyBuZXdzcmMgb24gc3VjY2VzcywgLWVycm5vIG9uIGZhaWx1cmUuCisgKi8KKworaW50IGFkMTg0M19zZXRfcmVjc3JjKHN0cnVjdCBzbmRfYWQxODQzICphZDE4NDMsIGludCBuZXdzcmMpCit7CisJaWYgKG5ld3NyYyA8IDAgfHwgbmV3c3JjID4gMikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLCAmYWQxODQzX0xTUywgbmV3c3JjLCAmYWQxODQzX1JTUywgbmV3c3JjKTsKKwlyZXR1cm4gbmV3c3JjOworfQorCisvKiBTZXR1cCBhZDE4NDMgZm9yIEQvQSBjb252ZXJzaW9uLiAqLworCit2b2lkIGFkMTg0M19zZXR1cF9kYWMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJICAgICAgdW5zaWduZWQgaW50IGlkLAorCQkgICAgICB1bnNpZ25lZCBpbnQgZnJhbWVyYXRlLAorCQkgICAgICBzbmRfcGNtX2Zvcm1hdF90IGZtdCwKKwkJICAgICAgdW5zaWduZWQgaW50IGNoYW5uZWxzKQoreworCWludCBhZF9mbXQgPSAwLCBhZF9tb2RlID0gMDsKKworCXN3aXRjaCAoZm10KSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1M4OgorCQlhZF9mbXQgPSAwOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfVTg6CisJCWFkX2ZtdCA9IDA7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6CisJCWFkX2ZtdCA9IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9NVV9MQVc6CisJCWFkX2ZtdCA9IDI7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9BX0xBVzoKKwkJYWRfZm10ID0gMzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJc3dpdGNoIChjaGFubmVscykgeworCWNhc2UgMjoKKwkJYWRfbW9kZSA9IDA7CisJCWJyZWFrOworCWNhc2UgMToKKwkJYWRfbW9kZSA9IDE7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCWlmIChpZCkgeworCQlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfQzJDLCBmcmFtZXJhdGUpOworCQlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAyLAorCQkJCSAgICZhZDE4NDNfREEyU00sIGFkX21vZGUsCisJCQkJICAgJmFkMTg0M19EQTJGLCBhZF9mbXQpOworCX0gZWxzZSB7CisJCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19DMUMsIGZyYW1lcmF0ZSk7CisJCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsCisJCQkJICAgJmFkMTg0M19EQTFTTSwgYWRfbW9kZSwKKwkJCQkgICAmYWQxODQzX0RBMUYsIGFkX2ZtdCk7CisJfQorfQorCit2b2lkIGFkMTg0M19zaHV0ZG93bl9kYWMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywgdW5zaWduZWQgaW50IGlkKQoreworCWlmIChpZCkKKwkJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0RBMkYsIDEpOworCWVsc2UKKwkJYWQxODQzX3dyaXRlX2JpdHMoYWQxODQzLCAmYWQxODQzX0RBMUYsIDEpOworfQorCit2b2lkIGFkMTg0M19zZXR1cF9hZGMoc3RydWN0IHNuZF9hZDE4NDMgKmFkMTg0MywKKwkJICAgICAgdW5zaWduZWQgaW50IGZyYW1lcmF0ZSwKKwkJICAgICAgc25kX3BjbV9mb3JtYXRfdCBmbXQsCisJCSAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscykKK3sKKwlpbnQgZGFfZm10ID0gMDsKKworCXN3aXRjaCAoZm10KSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1M4OglkYV9mbXQgPSAwOyBicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfVTg6CWRhX2ZtdCA9IDA7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEU6CWRhX2ZtdCA9IDE7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9NVV9MQVc6CWRhX2ZtdCA9IDI7IGJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9BX0xBVzoJZGFfZm10ID0gMzsgYnJlYWs7CisJZGVmYXVsdDoJCWJyZWFrOworCX0KKworCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19DM0MsIGZyYW1lcmF0ZSk7CisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMiwKKwkJCSAgICZhZDE4NDNfQURMRiwgZGFfZm10LCAmYWQxODQzX0FEUkYsIGRhX2ZtdCk7Cit9CisKK3ZvaWQgYWQxODQzX3NodXRkb3duX2FkYyhzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKQoreworCS8qIG5vdGhpbmcgdG8gZG8gKi8KK30KKworLyoKKyAqIEZ1bGx5IGluaXRpYWxpemUgdGhlIGFkMTg0My4gIEFzIGRlc2NyaWJlZCBpbiB0aGUgQUQxODQzIGRhdGEKKyAqIHNoZWV0LCBzZWN0aW9uICJTVEFSVC1VUCBTRVFVRU5DRSIuICBUaGUgbnVtYmVyZWQgY29tbWVudHMgYXJlCisgKiBzdWJzZWN0aW9uIGhlYWRpbmdzIGZyb20gdGhlIGRhdGEgc2hlZXQuICBTZWUgdGhlIGRhdGEgc2hlZXQsIHBhZ2VzCisgKiA1Mi01NCwgZm9yIG1vcmUgaW5mby4KKyAqCisgKiByZXR1cm4gMCBvbiBzdWNjZXNzLCAtZXJybm8gb24gZmFpbHVyZS4gICovCisKK2ludCBhZDE4NDNfaW5pdChzdHJ1Y3Qgc25kX2FkMTg0MyAqYWQxODQzKQoreworCXVuc2lnbmVkIGxvbmcgbGF0ZXI7CisKKwlpZiAoYWQxODQzX3JlYWRfYml0cyhhZDE4NDMsICZhZDE4NDNfSU5JVCkgIT0gMCkgeworCQlwcmludGsoS0VSTl9FUlIgImFkMTg0MzogQUQxODQzIHdvbid0IGluaXRpYWxpemVcbiIpOworCQlyZXR1cm4gLUVJTzsKKwl9CisKKwlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfU0NGLCAxKTsKKworCS8qIDQuIFB1dCB0aGUgY29udmVyc2lvbiByZXNvdXJjZXMgaW50byBzdGFuZGJ5LiAqLworCWFkMTg0M193cml0ZV9iaXRzKGFkMTg0MywgJmFkMTg0M19QRE5JLCAwKTsKKwlsYXRlciA9IGppZmZpZXMgKyBtc2Vjc190b19qaWZmaWVzKDUwMCk7CisKKwl3aGlsZSAoYWQxODQzX3JlYWRfYml0cyhhZDE4NDMsICZhZDE4NDNfUEROTykpIHsKKwkJaWYgKHRpbWVfYWZ0ZXIoamlmZmllcywgbGF0ZXIpKSB7CisJCQlwcmludGsoS0VSTl9FUlIKKwkJCSAgICAgICAiYWQxODQzOiBBRDE4NDMgd29uJ3QgcG93ZXIgdXBcbiIpOworCQkJcmV0dXJuIC1FSU87CisJCX0KKwkJc2NoZWR1bGVfdGltZW91dF9pbnRlcnJ1cHRpYmxlKDUpOworCX0KKworCS8qIDUuIFBvd2VyIHVwIHRoZSBjbG9jayBnZW5lcmF0b3JzIGFuZCBlbmFibGUgY2xvY2sgb3V0cHV0IHBpbnMuICovCisJYWQxODQzX3dyaXRlX211bHRpKGFkMTg0MywgMywKKwkJCSAgICZhZDE4NDNfQzFFTiwgMSwKKwkJCSAgICZhZDE4NDNfQzJFTiwgMSwKKwkJCSAgICZhZDE4NDNfQzNFTiwgMSk7CisKKwkvKiA2LiBDb25maWd1cmUgY29udmVyc2lvbiByZXNvdXJjZXMgd2hpbGUgdGhleSBhcmUgaW4gc3RhbmRieS4gKi8KKworCS8qIERBQzEvMiB1c2UgY2xvY2sgMS8yIGFzIHNvdXJjZSwgQURDIHVzZXMgY2xvY2sgMy4gIEFsd2F5cy4gKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCA0LAorCQkJICAgJmFkMTg0M19EQTFDLCAxLAorCQkJICAgJmFkMTg0M19EQTJDLCAyLAorCQkJICAgJmFkMTg0M19BRExDLCAzLAorCQkJICAgJmFkMTg0M19BRFJDLCAzKTsKKworCS8qIDcuIEVuYWJsZSBjb252ZXJzaW9uIHJlc291cmNlcy4gKi8KKwlhZDE4NDNfd3JpdGVfYml0cyhhZDE4NDMsICZhZDE4NDNfQURUTEssIDEpOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDcsCisJCQkgICAmYWQxODQzX0FOQUVOLCAxLAorCQkJICAgJmFkMTg0M19BQU1FTiwgMSwKKwkJCSAgICZhZDE4NDNfREExRU4sIDEsCisJCQkgICAmYWQxODQzX0RBMkVOLCAxLAorCQkJICAgJmFkMTg0M19ERE1FTiwgMSwKKwkJCSAgICZhZDE4NDNfQURMRU4sIDEsCisJCQkgICAmYWQxODQzX0FEUkVOLCAxKTsKKworCS8qIDguIENvbmZpZ3VyZSBjb252ZXJzaW9uIHJlc291cmNlcyB3aGlsZSB0aGV5IGFyZSBlbmFibGVkLiAqLworCisJLyogc2V0IGdhaW4gdG8gMCBmb3IgYWxsIGNoYW5uZWxzICovCisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fUkVDTEVWLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9MSU5FLCAwKTsKKwlhZDE4NDNfc2V0X2dhaW4oYWQxODQzLCBBRDE4NDNfR0FJTl9MSU5FXzIsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX01JQywgMCk7CisJYWQxODQzX3NldF9nYWluKGFkMTg0MywgQUQxODQzX0dBSU5fUENNXzAsIDApOworCWFkMTg0M19zZXRfZ2FpbihhZDE4NDMsIEFEMTg0M19HQUlOX1BDTV8xLCAwKTsKKworCS8qIFVubXV0ZSBhbGwgY2hhbm5lbHMuICovCisJLyogREFDMSAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTERBMUdNLCAwLCAmYWQxODQzX1JEQTFHTSwgMCk7CisJLyogREFDMiAqLworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTERBMkdNLCAwLCAmYWQxODQzX1JEQTJHTSwgMCk7CisKKwkvKiBTZXQgZGVmYXVsdCByZWNvcmRpbmcgc291cmNlIHRvIExpbmUgSW4gYW5kIHNldAorCSAqIG1pYyBnYWluIHRvICsyMCBkQi4KKwkgKi8KKwlhZDE4NDNfc2V0X3JlY3NyYyhhZDE4NDMsIDIpOworCWFkMTg0M193cml0ZV9tdWx0aShhZDE4NDMsIDIsICZhZDE4NDNfTE1HRSwgMSwgJmFkMTg0M19STUdFLCAxKTsKKworCS8qIFNldCBTcGVha2VyIE91dCBsZXZlbCB0byArLy0gNFYgYW5kIHVubXV0ZSBpdC4gKi8KKwlhZDE4NDNfd3JpdGVfbXVsdGkoYWQxODQzLCAzLAorCQkJICAgJmFkMTg0M19IUE9TLCAxLAorCQkJICAgJmFkMTg0M19IUE9NLCAwLAorCQkJICAgJmFkMTg0M19NUE9NLCAwKTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvc291bmQvbWlwcy9oYWwyLmMgYi9zb3VuZC9taXBzL2hhbDIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjQ5NWJlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvbWlwcy9oYWwyLmMKQEAgLTAsMCArMSw5NDcgQEAKKy8qCisgKiAgRHJpdmVyIGZvciBBMiBhdWRpbyBzeXN0ZW0gdXNlZCBpbiBTR0kgbWFjaGluZXMKKyAqICBDb3B5cmlnaHQgKGMpIDIwMDggVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRAYWxwaGEuZmFua2VuLmRlPgorICoKKyAqICBCYXNlZCBvbiBPU1MgY29kZSBmcm9tIExhZGlzbGF2IE1pY2hsIDxsYWRpc0BsaW51eC1taXBzLm9yZz4sIHdoaWNoCisgKiAgd2FzIGJhc2VkIG9uIGNvZGUgZnJvbSBVbGYgQ2FybHNzb24KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCisgKgorICovCisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9zZ2kvaHBjMy5oPgorI2luY2x1ZGUgPGFzbS9zZ2kvaXAyMi5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL2NvbnRyb2wuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20taW5kaXJlY3QuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisKKyNpbmNsdWRlICJoYWwyLmgiCisKK3N0YXRpYyBpbnQgaW5kZXggPSBTTkRSVl9ERUZBVUxUX0lEWDE7ICAvKiBJbmRleCAwLU1BWCAqLworc3RhdGljIGNoYXIgKmlkID0gU05EUlZfREVGQVVMVF9TVFIxOyAgIC8qIElEIGZvciB0aGlzIGNhcmQgKi8KKworbW9kdWxlX3BhcmFtKGluZGV4LCBpbnQsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpbmRleCwgIkluZGV4IHZhbHVlIGZvciBTR0kgSEFMMiBzb3VuZGNhcmQuIik7Cittb2R1bGVfcGFyYW0oaWQsIGNoYXJwLCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaWQsICJJRCBzdHJpbmcgZm9yIFNHSSBIQUwyIHNvdW5kY2FyZC4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiQUxTQSBkcml2ZXIgZm9yIFNHSSBIQUwyIGF1ZGlvIik7CitNT0RVTEVfQVVUSE9SKCJUaG9tYXMgQm9nZW5kb2VyZmVyIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CisKKworI2RlZmluZSBIMl9CTE9DS19TSVpFCTEwMjQKKyNkZWZpbmUgSDJfQlVGX1NJWkUJMTYzODQKKworc3RydWN0IGhhbDJfcGJ1cyB7CisJc3RydWN0IGhwYzNfcGJ1c19kbWFjcmVncyAqcGJ1czsKKwlpbnQgcGJ1c25yOworCXVuc2lnbmVkIGludCBjdHJsOwkJLyogQ3VycmVudCBzdGF0ZSBvZiBwYnVzLT5wYmRtYV9jdHJsICovCit9OworCitzdHJ1Y3QgaGFsMl9kZXNjIHsKKwlzdHJ1Y3QgaHBjX2RtYV9kZXNjIGRlc2M7CisJdTMyIHBhZDsJCQkvKiBwYWRkaW5nICovCit9OworCitzdHJ1Y3QgaGFsMl9jb2RlYyB7CisJc3RydWN0IHNuZF9wY21faW5kaXJlY3QgcGNtX2luZGlyZWN0OworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCisJdW5zaWduZWQgY2hhciAqYnVmZmVyOworCWRtYV9hZGRyX3QgYnVmZmVyX2RtYTsKKwlzdHJ1Y3QgaGFsMl9kZXNjICpkZXNjOworCWRtYV9hZGRyX3QgZGVzY19kbWE7CisJaW50IGRlc2NfY291bnQ7CisJc3RydWN0IGhhbDJfcGJ1cyBwYnVzOworCWludCB2b2ljZXM7CQkJLyogbW9uby9zdGVyZW8gKi8KKwl1bnNpZ25lZCBpbnQgc2FtcGxlX3JhdGU7CisJdW5zaWduZWQgaW50IG1hc3RlcjsJCS8qIE1hc3RlciBmcmVxdWVuY3kgKi8KKwl1bnNpZ25lZCBzaG9ydCBtb2Q7CQkvKiBNT0QgdmFsdWUgKi8KKwl1bnNpZ25lZCBzaG9ydCBpbmM7CQkvKiBJTkMgdmFsdWUgKi8KK307CisKKyNkZWZpbmUgSDJfTUlYX09VVFBVVF9BVFQJMAorI2RlZmluZSBIMl9NSVhfSU5QVVRfR0FJTgkxCisKK3N0cnVjdCBzbmRfaGFsMiB7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkOworCisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKmN0bF9yZWdzOwkvKiBIQUwyIGN0bCByZWdpc3RlcnMgKi8KKwlzdHJ1Y3QgaGFsMl9hZXNfcmVncyAqYWVzX3JlZ3M7CS8qIEhBTDIgYWVzIHJlZ2lzdGVycyAqLworCXN0cnVjdCBoYWwyX3ZvbF9yZWdzICp2b2xfcmVnczsJLyogSEFMMiB2b2wgcmVnaXN0ZXJzICovCisJc3RydWN0IGhhbDJfc3luX3JlZ3MgKnN5bl9yZWdzOwkvKiBIQUwyIHN5biByZWdpc3RlcnMgKi8KKworCXN0cnVjdCBoYWwyX2NvZGVjIGRhYzsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyBhZGM7Cit9OworCisjZGVmaW5lIEgyX0lORElSRUNUX1dBSVQocmVncykJd2hpbGUgKGhhbDJfcmVhZCgmcmVncy0+aXNyKSAmIEgyX0lTUl9UU1RBVFVTKTsKKworI2RlZmluZSBIMl9SRUFEX0FERFIoYWRkcikJKGFkZHIgfCAoMTw8NykpCisjZGVmaW5lIEgyX1dSSVRFX0FERFIoYWRkcikJKGFkZHIpCisKK3N0YXRpYyBpbmxpbmUgdTMyIGhhbDJfcmVhZCh1MzIgKnJlZykKK3sKKwlyZXR1cm4gX19yYXdfcmVhZGwocmVnKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGhhbDJfd3JpdGUodTMyIHZhbCwgdTMyICpyZWcpCit7CisJX19yYXdfd3JpdGVsKHZhbCwgcmVnKTsKK30KKworCitzdGF0aWMgdTMyIGhhbDJfaV9yZWFkMzIoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkcikKK3sKKwl1MzIgcmV0OworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKEgyX1JFQURfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKKwlyZXQgPSBoYWwyX3JlYWQoJnJlZ3MtPmlkcjApICYgMHhmZmZmOworCWhhbDJfd3JpdGUoSDJfUkVBRF9BRERSKGFkZHIpIHwgMHgxLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworCXJldCB8PSAoaGFsMl9yZWFkKCZyZWdzLT5pZHIwKSAmIDB4ZmZmZikgPDwgMTY7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgaGFsMl9pX3dyaXRlMTYoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkciwgdTE2IHZhbCkKK3sKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZSh2YWwsICZyZWdzLT5pZHIwKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIxKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIyKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIzKTsKKwloYWwyX3dyaXRlKEgyX1dSSVRFX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfaV93cml0ZTMyKHN0cnVjdCBzbmRfaGFsMiAqaGFsMiwgdTE2IGFkZHIsIHUzMiB2YWwpCit7CisJc3RydWN0IGhhbDJfY3RsX3JlZ3MgKnJlZ3MgPSBoYWwyLT5jdGxfcmVnczsKKworCWhhbDJfd3JpdGUodmFsICYgMHhmZmZmLCAmcmVncy0+aWRyMCk7CisJaGFsMl93cml0ZSh2YWwgPj4gMTYsICZyZWdzLT5pZHIxKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIyKTsKKwloYWwyX3dyaXRlKDAsICZyZWdzLT5pZHIzKTsKKwloYWwyX3dyaXRlKEgyX1dSSVRFX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfaV9zZXRiaXQxNihzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIsIHUxNiBhZGRyLCB1MTYgYml0KQoreworCXN0cnVjdCBoYWwyX2N0bF9yZWdzICpyZWdzID0gaGFsMi0+Y3RsX3JlZ3M7CisKKwloYWwyX3dyaXRlKEgyX1JFQURfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKKwloYWwyX3dyaXRlKChoYWwyX3JlYWQoJnJlZ3MtPmlkcjApICYgMHhmZmZmKSB8IGJpdCwgJnJlZ3MtPmlkcjApOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjEpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjIpOworCWhhbDJfd3JpdGUoMCwgJnJlZ3MtPmlkcjMpOworCWhhbDJfd3JpdGUoSDJfV1JJVEVfQUREUihhZGRyKSwgJnJlZ3MtPmlhcik7CisJSDJfSU5ESVJFQ1RfV0FJVChyZWdzKTsKK30KKworc3RhdGljIHZvaWQgaGFsMl9pX2NsZWFyYml0MTYoc3RydWN0IHNuZF9oYWwyICpoYWwyLCB1MTYgYWRkciwgdTE2IGJpdCkKK3sKKwlzdHJ1Y3QgaGFsMl9jdGxfcmVncyAqcmVncyA9IGhhbDItPmN0bF9yZWdzOworCisJaGFsMl93cml0ZShIMl9SRUFEX0FERFIoYWRkciksICZyZWdzLT5pYXIpOworCUgyX0lORElSRUNUX1dBSVQocmVncyk7CisJaGFsMl93cml0ZSgoaGFsMl9yZWFkKCZyZWdzLT5pZHIwKSAmIDB4ZmZmZikgJiB+Yml0LCAmcmVncy0+aWRyMCk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMSk7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMik7CisJaGFsMl93cml0ZSgwLCAmcmVncy0+aWRyMyk7CisJaGFsMl93cml0ZShIMl9XUklURV9BRERSKGFkZHIpLCAmcmVncy0+aWFyKTsKKwlIMl9JTkRJUkVDVF9XQUlUKHJlZ3MpOworfQorCitzdGF0aWMgaW50IGhhbDJfZ2Fpbl9pbmZvKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7CisJdWluZm8tPmNvdW50ID0gMjsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOworCXN3aXRjaCAoKGludClrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSkgeworCWNhc2UgSDJfTUlYX09VVFBVVF9BVFQ6CisJCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IDMxOworCQlicmVhazsKKwljYXNlIEgyX01JWF9JTlBVVF9HQUlOOgorCQl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSAxNTsKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfZ2Fpbl9nZXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgICAgICAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCXUzMiB0bXA7CisJaW50IGwsIHI7CisKKwlzd2l0Y2ggKChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpIHsKKwljYXNlIEgyX01JWF9PVVRQVVRfQVRUOgorCQl0bXAgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9EQUNfQzIpOworCQlpZiAodG1wICYgSDJJX0MyX01VVEUpIHsKKwkJCWwgPSAwOworCQkJciA9IDA7CisJCX0gZWxzZSB7CisJCQlsID0gMzEgLSAoKHRtcCA+PiBIMklfQzJfTF9BVFRfU0hJRlQpICYgMzEpOworCQkJciA9IDMxIC0gKCh0bXAgPj4gSDJJX0MyX1JfQVRUX1NISUZUKSAmIDMxKTsKKwkJfQorCQlicmVhazsKKwljYXNlIEgyX01JWF9JTlBVVF9HQUlOOgorCQl0bXAgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9BRENfQzIpOworCQlsID0gKHRtcCA+PiBIMklfQzJfTF9HQUlOX1NISUZUKSAmIDE1OworCQlyID0gKHRtcCA+PiBIMklfQzJfUl9HQUlOX1NISUZUKSAmIDE1OworCQlicmVhazsKKwl9CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBsOworCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzFdID0gcjsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhbDJfZ2Fpbl9wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQkgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCXUzMiBvbGQsIG5ldzsKKwlpbnQgbCwgcjsKKworCWwgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsKKwlyID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV07CisKKwlzd2l0Y2ggKChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpIHsKKwljYXNlIEgyX01JWF9PVVRQVVRfQVRUOgorCQlvbGQgPSBoYWwyX2lfcmVhZDMyKGhhbDIsIEgySV9EQUNfQzIpOworCQluZXcgPSBvbGQgJiB+KEgySV9DMl9MX0FUVF9NIHwgSDJJX0MyX1JfQVRUX00gfCBIMklfQzJfTVVURSk7CisJCWlmIChsIHwgcikgeworCQkJbCA9IDMxIC0gbDsKKwkJCXIgPSAzMSAtIHI7CisJCQluZXcgfD0gKGwgPDwgSDJJX0MyX0xfQVRUX1NISUZUKTsKKwkJCW5ldyB8PSAociA8PCBIMklfQzJfUl9BVFRfU0hJRlQpOworCQl9IGVsc2UKKwkJCW5ldyB8PSBIMklfQzJfTF9BVFRfTSB8IEgySV9DMl9SX0FUVF9NIHwgSDJJX0MyX01VVEU7CisJCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9EQUNfQzIsIG5ldyk7CisJCWJyZWFrOworCWNhc2UgSDJfTUlYX0lOUFVUX0dBSU46CisJCW9sZCA9IGhhbDJfaV9yZWFkMzIoaGFsMiwgSDJJX0FEQ19DMik7CisJCW5ldyA9IG9sZCAmIH4oSDJJX0MyX0xfR0FJTl9NIHwgSDJJX0MyX1JfR0FJTl9NKTsKKwkJbmV3IHw9IChsIDw8IEgySV9DMl9MX0dBSU5fU0hJRlQpOworCQluZXcgfD0gKHIgPDwgSDJJX0MyX1JfR0FJTl9TSElGVCk7CisJCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9BRENfQzIsIG5ldyk7CisJCWJyZWFrOworCX0KKwlyZXR1cm4gb2xkICE9IG5ldzsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGhhbDJfY3RybF9oZWFkcGhvbmUgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiSGVhZHBob25lIFBsYXliYWNrIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBIMl9NSVhfT1VUUFVUX0FUVCwKKwkuaW5mbyAgICAgICAgICAgPSBoYWwyX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBoYWwyX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IGhhbDJfZ2Fpbl9wdXQsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgaGFsMl9jdHJsX21pYyBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJNaWMgQ2FwdHVyZSBWb2x1bWUiLAorCS5hY2Nlc3MgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0FDQ0VTU19SRUFEV1JJVEUsCisJLnByaXZhdGVfdmFsdWUgID0gSDJfTUlYX0lOUFVUX0dBSU4sCisJLmluZm8gICAgICAgICAgID0gaGFsMl9nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gaGFsMl9nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBoYWwyX2dhaW5fcHV0LAorfTsKKworc3RhdGljIGludCBfX2RldmluaXQgaGFsMl9taXhlcl9jcmVhdGUoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCWludCBlcnI7CisKKwkvKiBtdXRlIERBQyAqLworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9EQUNfQzIsCisJCSAgICAgICBIMklfQzJfTF9BVFRfTSB8IEgySV9DMl9SX0FUVF9NIHwgSDJJX0MyX01VVEUpOworCS8qIG11dGUgQURDICovCisJaGFsMl9pX3dyaXRlMzIoaGFsMiwgSDJJX0FEQ19DMiwgMCk7CisKKwllcnIgPSBzbmRfY3RsX2FkZChoYWwyLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJmhhbDJfY3RybF9oZWFkcGhvbmUsIGhhbDIpKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGhhbDItPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmaGFsMl9jdHJsX21pYywgaGFsMikpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBoYWwyX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaWQpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gZGV2X2lkOworCWlycXJldHVybl90IHJldCA9IElSUV9OT05FOworCisJLyogZGVjaWRlIHdoYXQgY2F1c2VkIHRoaXMgaW50ZXJydXB0ICovCisJaWYgKGhhbDItPmRhYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgJiBIUEMzX1BETUFDVFJMX0lOVCkgeworCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGhhbDItPmRhYy5zdWJzdHJlYW0pOworCQlyZXQgPSBJUlFfSEFORExFRDsKKwl9CisJaWYgKGhhbDItPmFkYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgJiBIUEMzX1BETUFDVFJMX0lOVCkgeworCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGhhbDItPmFkYy5zdWJzdHJlYW0pOworCQlyZXQgPSBJUlFfSEFORExFRDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBoYWwyX2NvbXB1dGVfcmF0ZShzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByYXRlKQoreworCXVuc2lnbmVkIHNob3J0IG1vZDsKKworCWlmICg0NDEwMCAlIHJhdGUgPCA0ODAwMCAlIHJhdGUpIHsKKwkJbW9kID0gNCAqIDQ0MTAwIC8gcmF0ZTsKKwkJY29kZWMtPm1hc3RlciA9IDQ0MTAwOworCX0gZWxzZSB7CisJCW1vZCA9IDQgKiA0ODAwMCAvIHJhdGU7CisJCWNvZGVjLT5tYXN0ZXIgPSA0ODAwMDsKKwl9CisKKwljb2RlYy0+aW5jID0gNDsKKwljb2RlYy0+bW9kID0gbW9kOworCXJhdGUgPSA0ICogY29kZWMtPm1hc3RlciAvIG1vZDsKKworCXJldHVybiByYXRlOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldF9kYWNfcmF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IG1hc3RlciA9IGhhbDItPmRhYy5tYXN0ZXI7CisJaW50IGluYyA9IGhhbDItPmRhYy5pbmM7CisJaW50IG1vZCA9IGhhbDItPmRhYy5tb2Q7CisKKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfQlJFUzFfQzEsIChtYXN0ZXIgPT0gNDQxMDApID8gMSA6IDApOworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9CUkVTMV9DMiwKKwkJICAgICAgICgoMHhmZmZmICYgKGluYyAtIG1vZCAtIDEpKSA8PCAxNikgfCBpbmMpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldF9hZGNfcmF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IG1hc3RlciA9IGhhbDItPmFkYy5tYXN0ZXI7CisJaW50IGluYyA9IGhhbDItPmFkYy5pbmM7CisJaW50IG1vZCA9IGhhbDItPmFkYy5tb2Q7CisKKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfQlJFUzJfQzEsIChtYXN0ZXIgPT0gNDQxMDApID8gMSA6IDApOworCWhhbDJfaV93cml0ZTMyKGhhbDIsIEgySV9CUkVTMl9DMiwKKwkJICAgICAgICgoMHhmZmZmICYgKGluYyAtIG1vZCAtIDEpKSA8PCAxNikgfCBpbmMpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldHVwX2RhYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IGZpZm9iZWcsIGZpZm9lbmQsIGhpZ2h3YXRlciwgc2FtcGxlX3NpemU7CisJc3RydWN0IGhhbDJfcGJ1cyAqcGJ1cyA9ICZoYWwyLT5kYWMucGJ1czsKKworCS8qIE5vdyB3ZSBzZXQgdXAgc29tZSBQQlVTIGluZm9ybWF0aW9uLiBUaGUgUEJVUyBuZWVkcyBpbmZvcm1hdGlvbiBhYm91dAorCSAqIHdoYXQgcG9ydGlvbiBvZiB0aGUgZmlmbyBpdCB3aWxsIHVzZS4gSWYgaXQncyByZWNlaXZpbmcgb3IKKwkgKiB0cmFuc21pdHRpbmcsIGFuZCBmaW5hbGx5IHdoZXRoZXIgdGhlIHN0cmVhbSBpcyBsaXR0bGUgZW5kaWFuIG9yIGJpZworCSAqIGVuZGlhbi4gVGhlIGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gbGF0ZXIsIG9uIHRoZSBzdGFydCBjYWxsLgorCSAqLworCXNhbXBsZV9zaXplID0gMiAqIGhhbDItPmRhYy52b2ljZXM7CisJLyogRmlmbyBzaG91bGQgYmUgc2V0IHRvIGhvbGQgZXhhY3RseSBmb3VyIHNhbXBsZXMuIEhpZ2h3YXRlciBtYXJrCisJICogc2hvdWxkIGJlIHNldCB0byB0d28gc2FtcGxlcy4gKi8KKwloaWdod2F0ZXIgPSAoc2FtcGxlX3NpemUgKiAyKSA+PiAxOwkvKiBoYWxmd29yZHMgKi8KKwlmaWZvYmVnID0gMDsJCQkJLyogcGxheWJhY2sgaXMgZmlyc3QgKi8KKwlmaWZvZW5kID0gKHNhbXBsZV9zaXplICogNCkgPj4gMzsJLyogZG91Ymxld29yZHMgKi8KKwlwYnVzLT5jdHJsID0gSFBDM19QRE1BQ1RSTF9SVCB8IEhQQzNfUERNQUNUUkxfTEQgfAorCQkgICAgIChoaWdod2F0ZXIgPDwgOCkgfCAoZmlmb2JlZyA8PCAxNikgfCAoZmlmb2VuZCA8PCAyNCk7CisJLyogV2UgZGlzYWJsZSBldmVyeXRoaW5nIGJlZm9yZSB3ZSBkbyBhbnl0aGluZyBhdCBhbGwgKi8KKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gSFBDM19QRE1BQ1RSTF9MRDsKKwloYWwyX2lfY2xlYXJiaXQxNihoYWwyLCBIMklfRE1BX1BPUlRfRU4sIEgySV9ETUFfUE9SVF9FTl9DT0RFQ1RYKTsKKwkvKiBTZXR1cCB0aGUgSEFMMiBmb3IgcGxheWJhY2sgKi8KKwloYWwyX3NldF9kYWNfcmF0ZShoYWwyKTsKKwkvKiBTZXQgZW5kaWFuZXNzICovCisJaGFsMl9pX2NsZWFyYml0MTYoaGFsMiwgSDJJX0RNQV9FTkQsIEgySV9ETUFfRU5EX0NPREVDVFgpOworCS8qIFNldCBETUEgYnVzICovCisJaGFsMl9pX3NldGJpdDE2KGhhbDIsIEgySV9ETUFfRFJWLCAoMSA8PCBwYnVzLT5wYnVzbnIpKTsKKwkvKiBXZSBhcmUgdXNpbmcgMXN0IEJyZXNlbmhhbSBjbG9jayBnZW5lcmF0b3IgZm9yIHBsYXliYWNrICovCisJaGFsMl9pX3dyaXRlMTYoaGFsMiwgSDJJX0RBQ19DMSwgKHBidXMtPnBidXNuciA8PCBIMklfQzFfRE1BX1NISUZUKQorCQkJfCAoMSA8PCBIMklfQzFfQ0xLSURfU0hJRlQpCisJCQl8IChoYWwyLT5kYWMudm9pY2VzIDw8IEgySV9DMV9EQVRBVF9TSElGVCkpOworfQorCitzdGF0aWMgdm9pZCBoYWwyX3NldHVwX2FkYyhzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJdW5zaWduZWQgaW50IGZpZm9iZWcsIGZpZm9lbmQsIGhpZ2h3YXRlciwgc2FtcGxlX3NpemU7CisJc3RydWN0IGhhbDJfcGJ1cyAqcGJ1cyA9ICZoYWwyLT5hZGMucGJ1czsKKworCXNhbXBsZV9zaXplID0gMiAqIGhhbDItPmFkYy52b2ljZXM7CisJaGlnaHdhdGVyID0gKHNhbXBsZV9zaXplICogMikgPj4gMTsJCS8qIGhhbGZ3b3JkcyAqLworCWZpZm9iZWcgPSAoNCAqIDQpID4+IDM7CQkJCS8qIHJlY29yZCBpcyBzZWNvbmQgKi8KKwlmaWZvZW5kID0gKDQgKiA0ICsgc2FtcGxlX3NpemUgKiA0KSA+PiAzOwkvKiBkb3VibGV3b3JkcyAqLworCXBidXMtPmN0cmwgPSBIUEMzX1BETUFDVFJMX1JUIHwgSFBDM19QRE1BQ1RSTF9SQ1YgfCBIUEMzX1BETUFDVFJMX0xEIHwKKwkJICAgICAoaGlnaHdhdGVyIDw8IDgpIHwgKGZpZm9iZWcgPDwgMTYpIHwgKGZpZm9lbmQgPDwgMjQpOworCXBidXMtPnBidXMtPnBiZG1hX2N0cmwgPSBIUEMzX1BETUFDVFJMX0xEOworCWhhbDJfaV9jbGVhcmJpdDE2KGhhbDIsIEgySV9ETUFfUE9SVF9FTiwgSDJJX0RNQV9QT1JUX0VOX0NPREVDUik7CisJLyogU2V0dXAgdGhlIEhBTDIgZm9yIHJlY29yZCAqLworCWhhbDJfc2V0X2FkY19yYXRlKGhhbDIpOworCS8qIFNldCBlbmRpYW5lc3MgKi8KKwloYWwyX2lfY2xlYXJiaXQxNihoYWwyLCBIMklfRE1BX0VORCwgSDJJX0RNQV9FTkRfQ09ERUNSKTsKKwkvKiBTZXQgRE1BIGJ1cyAqLworCWhhbDJfaV9zZXRiaXQxNihoYWwyLCBIMklfRE1BX0RSViwgKDEgPDwgcGJ1cy0+cGJ1c25yKSk7CisJLyogV2UgYXJlIHVzaW5nIDJuZCBCcmVzZW5oYW0gY2xvY2sgZ2VuZXJhdG9yIGZvciByZWNvcmQgKi8KKwloYWwyX2lfd3JpdGUxNihoYWwyLCBIMklfQURDX0MxLCAocGJ1cy0+cGJ1c25yIDw8IEgySV9DMV9ETUFfU0hJRlQpCisJCQl8ICgyIDw8IEgySV9DMV9DTEtJRF9TSElGVCkKKwkJCXwgKGhhbDItPmFkYy52b2ljZXMgPDwgSDJJX0MxX0RBVEFUX1NISUZUKSk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc3RhcnRfZGFjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwlzdHJ1Y3QgaGFsMl9wYnVzICpwYnVzID0gJmhhbDItPmRhYy5wYnVzOworCisJcGJ1cy0+cGJ1cy0+cGJkbWFfZHB0ciA9IGhhbDItPmRhYy5kZXNjX2RtYTsKKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gcGJ1cy0+Y3RybCB8IEhQQzNfUERNQUNUUkxfQUNUOworCS8qIGVuYWJsZSBEQUMgKi8KKwloYWwyX2lfc2V0Yml0MTYoaGFsMiwgSDJJX0RNQV9QT1JUX0VOLCBIMklfRE1BX1BPUlRfRU5fQ09ERUNUWCk7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfc3RhcnRfYWRjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwlzdHJ1Y3QgaGFsMl9wYnVzICpwYnVzID0gJmhhbDItPmFkYy5wYnVzOworCisJcGJ1cy0+cGJ1cy0+cGJkbWFfZHB0ciA9IGhhbDItPmFkYy5kZXNjX2RtYTsKKwlwYnVzLT5wYnVzLT5wYmRtYV9jdHJsID0gcGJ1cy0+Y3RybCB8IEhQQzNfUERNQUNUUkxfQUNUOworCS8qIGVuYWJsZSBBREMgKi8KKwloYWwyX2lfc2V0Yml0MTYoaGFsMiwgSDJJX0RNQV9QT1JUX0VOLCBIMklfRE1BX1BPUlRfRU5fQ09ERUNSKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGhhbDJfc3RvcF9kYWMoc3RydWN0IHNuZF9oYWwyICpoYWwyKQoreworCWhhbDItPmRhYy5wYnVzLnBidXMtPnBiZG1hX2N0cmwgPSBIUEMzX1BETUFDVFJMX0xEOworCS8qIFRoZSBIQUwyIGl0c2VsZiBtYXkgcmVtYWluIGVuYWJsZWQgc2FmZWx5ICovCit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBoYWwyX3N0b3BfYWRjKHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwloYWwyLT5hZGMucGJ1cy5wYnVzLT5wYmRtYV9jdHJsID0gSFBDM19QRE1BQ1RSTF9MRDsKK30KKworc3RhdGljIGludCBoYWwyX2FsbG9jX2RtYWJ1ZihzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMpCit7CisJc3RydWN0IGhhbDJfZGVzYyAqZGVzYzsKKwlkbWFfYWRkcl90IGRlc2NfZG1hLCBidWZmZXJfZG1hOworCWludCBjb3VudCA9IEgyX0JVRl9TSVpFIC8gSDJfQkxPQ0tfU0laRTsKKwlpbnQgaTsKKworCWNvZGVjLT5idWZmZXIgPSBkbWFfYWxsb2Nfbm9uY29oZXJlbnQoTlVMTCwgSDJfQlVGX1NJWkUsCisJCQkJCSAgICAgICZidWZmZXJfZG1hLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNvZGVjLT5idWZmZXIpCisJCXJldHVybiAtRU5PTUVNOworCWRlc2MgPSBkbWFfYWxsb2Nfbm9uY29oZXJlbnQoTlVMTCwgY291bnQgKiBzaXplb2Yoc3RydWN0IGhhbDJfZGVzYyksCisJCQkJICAgICAmZGVzY19kbWEsIEdGUF9LRVJORUwpOworCWlmICghZGVzYykgeworCQlkbWFfZnJlZV9ub25jb2hlcmVudChOVUxMLCBIMl9CVUZfU0laRSwKKwkJCQkgICAgIGNvZGVjLT5idWZmZXIsIGJ1ZmZlcl9kbWEpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJY29kZWMtPmJ1ZmZlcl9kbWEgPSBidWZmZXJfZG1hOworCWNvZGVjLT5kZXNjX2RtYSA9IGRlc2NfZG1hOworCWNvZGVjLT5kZXNjID0gZGVzYzsKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlkZXNjLT5kZXNjLnBidWYgPSBidWZmZXJfZG1hICsgaSAqIEgyX0JMT0NLX1NJWkU7CisJCWRlc2MtPmRlc2MuY250aW5mbyA9IEhQQ0RNQV9YSUUgfCBIMl9CTE9DS19TSVpFOworCQlkZXNjLT5kZXNjLnBuZXh0ID0gKGkgPT0gY291bnQgLSAxKSA/CisJCSAgICAgIGRlc2NfZG1hIDogZGVzY19kbWEgKyAoaSArIDEpICogc2l6ZW9mKHN0cnVjdCBoYWwyX2Rlc2MpOworCQlkZXNjKys7CisJfQorCWRtYV9jYWNoZV9zeW5jKE5VTEwsIGNvZGVjLT5kZXNjLCBjb3VudCAqIHNpemVvZihzdHJ1Y3QgaGFsMl9kZXNjKSwKKwkJICAgICAgIERNQV9UT19ERVZJQ0UpOworCWNvZGVjLT5kZXNjX2NvdW50ID0gY291bnQ7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfZnJlZV9kbWFidWYoc3RydWN0IGhhbDJfY29kZWMgKmNvZGVjKQoreworCWRtYV9mcmVlX25vbmNvaGVyZW50KE5VTEwsIGNvZGVjLT5kZXNjX2NvdW50ICogc2l6ZW9mKHN0cnVjdCBoYWwyX2Rlc2MpLAorCQkJICAgICBjb2RlYy0+ZGVzYywgY29kZWMtPmRlc2NfZG1hKTsKKwlkbWFfZnJlZV9ub25jb2hlcmVudChOVUxMLCBIMl9CVUZfU0laRSwgY29kZWMtPmJ1ZmZlciwKKwkJCSAgICAgY29kZWMtPmJ1ZmZlcl9kbWEpOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgaGFsMl9wY21faHcgPSB7CisJLmluZm8gPSAoU05EUlZfUENNX0lORk9fTU1BUCB8CisJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0JMT0NLX1RSQU5TRkVSKSwKKwkuZm9ybWF0cyA9ICAgICAgICAgIFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFLAorCS5yYXRlcyA9ICAgICAgICAgICAgU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCwKKwkucmF0ZV9taW4gPSAgICAgICAgIDgwMDAsCisJLnJhdGVfbWF4ID0gICAgICAgICA0ODAwMCwKKwkuY2hhbm5lbHNfbWluID0gICAgIDIsCisJLmNoYW5uZWxzX21heCA9ICAgICAyLAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gNjU1MzYsCisJLnBlcmlvZF9ieXRlc19taW4gPSAxMDI0LAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gNjU1MzYsCisJLnBlcmlvZHNfbWluID0gICAgICAyLAorCS5wZXJpb2RzX21heCA9ICAgICAgMTAyNCwKK307CisKK3N0YXRpYyBpbnQgaGFsMl9wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJaW50IGVycjsKKworCWVyciA9IHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdWJzdHJlYW0sIHBhcmFtc19idWZmZXJfYnl0ZXMocGFyYW1zKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXJldHVybiBzbmRfcGNtX2xpYl9mcmVlX3BhZ2VzKHN1YnN0cmVhbSk7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCWludCBlcnI7CisKKwlydW50aW1lLT5odyA9IGhhbDJfcGNtX2h3OworCisJZXJyID0gaGFsMl9hbGxvY19kbWFidWYoJmhhbDItPmRhYyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX3BsYXliYWNrX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKworCWhhbDJfZnJlZV9kbWFidWYoJmhhbDItPmRhYyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBoYWwyX2NvZGVjICpkYWMgPSAmaGFsMi0+ZGFjOworCisJZGFjLT52b2ljZXMgPSBydW50aW1lLT5jaGFubmVsczsKKwlkYWMtPnNhbXBsZV9yYXRlID0gaGFsMl9jb21wdXRlX3JhdGUoZGFjLCBydW50aW1lLT5yYXRlKTsKKwltZW1zZXQoJmRhYy0+cGNtX2luZGlyZWN0LCAwLCBzaXplb2YoZGFjLT5wY21faW5kaXJlY3QpKTsKKwlkYWMtPnBjbV9pbmRpcmVjdC5od19idWZmZXJfc2l6ZSA9IEgyX0JVRl9TSVpFOworCWRhYy0+cGNtX2luZGlyZWN0LnN3X2J1ZmZlcl9zaXplID0gc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7CisJZGFjLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJaGFsMl9zZXR1cF9kYWMoaGFsMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwkJaGFsMi0+ZGFjLnBjbV9pbmRpcmVjdC5od19pbyA9IGhhbDItPmRhYy5idWZmZXJfZG1hOworCQloYWwyLT5kYWMucGNtX2luZGlyZWN0Lmh3X2RhdGEgPSAwOworCQlzdWJzdHJlYW0tPm9wcy0+YWNrKHN1YnN0cmVhbSk7CisJCWhhbDJfc3RhcnRfZGFjKGhhbDIpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJCWhhbDJfc3RvcF9kYWMoaGFsMik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CitoYWwyX3BsYXliYWNrX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICpkYWMgPSAmaGFsMi0+ZGFjOworCisJcmV0dXJuIHNuZF9wY21faW5kaXJlY3RfcGxheWJhY2tfcG9pbnRlcihzdWJzdHJlYW0sICZkYWMtPnBjbV9pbmRpcmVjdCwKKwkJCQkJCSBkYWMtPnBidXMucGJ1cy0+cGJkbWFfYnB0cik7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfcGxheWJhY2tfdHJhbnNmZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgc3RydWN0IHNuZF9wY21faW5kaXJlY3QgKnJlYywgc2l6ZV90IGJ5dGVzKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwl1bnNpZ25lZCBjaGFyICpidWYgPSBoYWwyLT5kYWMuYnVmZmVyICsgcmVjLT5od19kYXRhOworCisJbWVtY3B5KGJ1Ziwgc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSArIHJlYy0+c3dfZGF0YSwgYnl0ZXMpOworCWRtYV9jYWNoZV9zeW5jKE5VTEwsIGJ1ZiwgYnl0ZXMsIERNQV9UT19ERVZJQ0UpOworCit9CisKK3N0YXRpYyBpbnQgaGFsMl9wbGF5YmFja19hY2soc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICpkYWMgPSAmaGFsMi0+ZGFjOworCisJZGFjLT5wY21faW5kaXJlY3QuaHdfcXVldWVfc2l6ZSA9IEgyX0JVRl9TSVpFIC8gMjsKKwlzbmRfcGNtX2luZGlyZWN0X3BsYXliYWNrX3RyYW5zZmVyKHN1YnN0cmVhbSwKKwkJCQkJICAgJmRhYy0+cGNtX2luZGlyZWN0LAorCQkJCQkgICBoYWwyX3BsYXliYWNrX3RyYW5zZmVyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqYWRjID0gJmhhbDItPmFkYzsKKwlpbnQgZXJyOworCisJcnVudGltZS0+aHcgPSBoYWwyX3BjbV9odzsKKworCWVyciA9IGhhbDJfYWxsb2NfZG1hYnVmKGFkYyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCisJaGFsMl9mcmVlX2RtYWJ1ZigmaGFsMi0+YWRjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NhcHR1cmVfcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgaGFsMl9jb2RlYyAqYWRjID0gJmhhbDItPmFkYzsKKworCWFkYy0+dm9pY2VzID0gcnVudGltZS0+Y2hhbm5lbHM7CisJYWRjLT5zYW1wbGVfcmF0ZSA9IGhhbDJfY29tcHV0ZV9yYXRlKGFkYywgcnVudGltZS0+cmF0ZSk7CisJbWVtc2V0KCZhZGMtPnBjbV9pbmRpcmVjdCwgMCwgc2l6ZW9mKGFkYy0+cGNtX2luZGlyZWN0KSk7CisJYWRjLT5wY21faW5kaXJlY3QuaHdfYnVmZmVyX3NpemUgPSBIMl9CVUZfU0laRTsKKwlhZGMtPnBjbV9pbmRpcmVjdC5od19xdWV1ZV9zaXplID0gSDJfQlVGX1NJWkUgLyAyOworCWFkYy0+cGNtX2luZGlyZWN0LnN3X2J1ZmZlcl9zaXplID0gc25kX3BjbV9saWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7CisJYWRjLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJaGFsMl9zZXR1cF9hZGMoaGFsMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9jYXB0dXJlX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCisJc3dpdGNoIChjbWQpIHsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgorCQloYWwyLT5hZGMucGNtX2luZGlyZWN0Lmh3X2lvID0gaGFsMi0+YWRjLmJ1ZmZlcl9kbWE7CisJCWhhbDItPmFkYy5wY21faW5kaXJlY3QuaHdfZGF0YSA9IDA7CisJCXByaW50ayhLRVJOX0RFQlVHICJidWZmZXJfZG1hICV4XG4iLCBoYWwyLT5hZGMuYnVmZmVyX2RtYSk7CisJCWhhbDJfc3RhcnRfYWRjKGhhbDIpOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJCWhhbDJfc3RvcF9hZGMoaGFsMik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CitoYWwyX2NhcHR1cmVfcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IGhhbDJfY29kZWMgKmFkYyA9ICZoYWwyLT5hZGM7CisKKwlyZXR1cm4gc25kX3BjbV9pbmRpcmVjdF9jYXB0dXJlX3BvaW50ZXIoc3Vic3RyZWFtLCAmYWRjLT5wY21faW5kaXJlY3QsCisJCQkJCQlhZGMtPnBidXMucGJ1cy0+cGJkbWFfYnB0cik7Cit9CisKK3N0YXRpYyB2b2lkIGhhbDJfY2FwdHVyZV90cmFuc2ZlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgIHN0cnVjdCBzbmRfcGNtX2luZGlyZWN0ICpyZWMsIHNpemVfdCBieXRlcykKK3sKKwlzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJdW5zaWduZWQgY2hhciAqYnVmID0gaGFsMi0+YWRjLmJ1ZmZlciArIHJlYy0+aHdfZGF0YTsKKworCWRtYV9jYWNoZV9zeW5jKE5VTEwsIGJ1ZiwgYnl0ZXMsIERNQV9GUk9NX0RFVklDRSk7CisJbWVtY3B5KHN1YnN0cmVhbS0+cnVudGltZS0+ZG1hX2FyZWEgKyByZWMtPnN3X2RhdGEsIGJ1ZiwgYnl0ZXMpOworfQorCitzdGF0aWMgaW50IGhhbDJfY2FwdHVyZV9hY2soc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9oYWwyICpoYWwyID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBoYWwyX2NvZGVjICphZGMgPSAmaGFsMi0+YWRjOworCisJc25kX3BjbV9pbmRpcmVjdF9jYXB0dXJlX3RyYW5zZmVyKHN1YnN0cmVhbSwKKwkJCQkJICAmYWRjLT5wY21faW5kaXJlY3QsCisJCQkJCSAgaGFsMl9jYXB0dXJlX3RyYW5zZmVyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBoYWwyX3BsYXliYWNrX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBoYWwyX3BsYXliYWNrX29wZW4sCisJLmNsb3NlID0gICAgICAgaGFsMl9wbGF5YmFja19jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBoYWwyX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgaGFsMl9wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9ICAgICBoYWwyX3BsYXliYWNrX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgaGFsMl9wbGF5YmFja190cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIGhhbDJfcGxheWJhY2tfcG9pbnRlciwKKwkuYWNrID0gICAgICAgICBoYWwyX3BsYXliYWNrX2FjaywKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgaGFsMl9jYXB0dXJlX29wcyA9IHsKKwkub3BlbiA9ICAgICAgICBoYWwyX2NhcHR1cmVfb3BlbiwKKwkuY2xvc2UgPSAgICAgICBoYWwyX2NhcHR1cmVfY2xvc2UsCisJLmlvY3RsID0gICAgICAgc25kX3BjbV9saWJfaW9jdGwsCisJLmh3X3BhcmFtcyA9ICAgaGFsMl9wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIGhhbDJfcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgaGFsMl9jYXB0dXJlX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgaGFsMl9jYXB0dXJlX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgaGFsMl9jYXB0dXJlX3BvaW50ZXIsCisJLmFjayA9ICAgICAgICAgaGFsMl9jYXB0dXJlX2FjaywKK307CisKK3N0YXRpYyBpbnQgX19kZXZpbml0IGhhbDJfcGNtX2NyZWF0ZShzdHJ1Y3Qgc25kX2hhbDIgKmhhbDIpCit7CisJc3RydWN0IHNuZF9wY20gKnBjbTsKKwlpbnQgZXJyOworCisJLyogY3JlYXRlIGZpcnN0IHBjbSBkZXZpY2Ugd2l0aCBvbmUgb3V0cHV0cyBhbmQgb25lIGlucHV0ICovCisJZXJyID0gc25kX3BjbV9uZXcoaGFsMi0+Y2FyZCwgIlNHSSBIQUwyIEF1ZGlvIiwgMCwgMSwgMSwgJnBjbSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwlwY20tPnByaXZhdGVfZGF0YSA9IGhhbDI7CisJc3RyY3B5KHBjbS0+bmFtZSwgIlNHSSBIQUwyIik7CisKKwkvKiBzZXQgb3BlcmF0b3JzICovCisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSywKKwkJCSZoYWwyX3BsYXliYWNrX29wcyk7CisJc25kX3BjbV9zZXRfb3BzKHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFLAorCQkJJmhhbDJfY2FwdHVyZV9vcHMpOworCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9DT05USU5VT1VTLAorCQkJCQkgICBzbmRfZG1hX2NvbnRpbnVvdXNfZGF0YShHRlBfS0VSTkVMKSwKKwkJCQkJICAgMCwgMTAyNCAqIDEwMjQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGFsMl9kZXZfZnJlZShzdHJ1Y3Qgc25kX2RldmljZSAqZGV2aWNlKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMiA9IGRldmljZS0+ZGV2aWNlX2RhdGE7CisKKwlmcmVlX2lycShTR0lfSFBDRE1BX0lSUSwgaGFsMik7CisJa2ZyZWUoaGFsMik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2RldmljZV9vcHMgaGFsMl9vcHMgPSB7CisJLmRldl9mcmVlID0gaGFsMl9kZXZfZnJlZSwKK307CisKK3N0YXRpYyB2b2lkIGhhbDJfaW5pdF9jb2RlYyhzdHJ1Y3QgaGFsMl9jb2RlYyAqY29kZWMsIHN0cnVjdCBocGMzX3JlZ3MgKmhwYzMsCisJCQkgICAgaW50IGluZGV4KQoreworCWNvZGVjLT5wYnVzLnBidXNuciA9IGluZGV4OworCWNvZGVjLT5wYnVzLnBidXMgPSAmaHBjMy0+cGJkbWFbaW5kZXhdOworfQorCitzdGF0aWMgaW50IGhhbDJfZGV0ZWN0KHN0cnVjdCBzbmRfaGFsMiAqaGFsMikKK3sKKwl1bnNpZ25lZCBzaG9ydCBib2FyZCwgbWFqb3IsIG1pbm9yOworCXVuc2lnbmVkIHNob3J0IHJldjsKKworCS8qIHJlc2V0IEhBTDIgKi8KKwloYWwyX3dyaXRlKDAsICZoYWwyLT5jdGxfcmVncy0+aXNyKTsKKworCS8qIHJlbGVhc2UgcmVzZXQgKi8KKwloYWwyX3dyaXRlKEgyX0lTUl9HTE9CQUxfUkVTRVRfTiB8IEgyX0lTUl9DT0RFQ19SRVNFVF9OLAorCQkgICAmaGFsMi0+Y3RsX3JlZ3MtPmlzcik7CisKKworCWhhbDJfaV93cml0ZTE2KGhhbDIsIEgySV9SRUxBWV9DLCBIMklfUkVMQVlfQ19TVEFURSk7CisJcmV2ID0gaGFsMl9yZWFkKCZoYWwyLT5jdGxfcmVncy0+cmV2KTsKKwlpZiAocmV2ICYgSDJfUkVWX0FVRElPX1BSRVNFTlQpCisJCXJldHVybiAtRU5PREVWOworCisJYm9hcmQgPSAocmV2ICYgSDJfUkVWX0JPQVJEX00pID4+IDEyOworCW1ham9yID0gKHJldiAmIEgyX1JFVl9NQUpPUl9DSElQX00pID4+IDQ7CisJbWlub3IgPSAocmV2ICYgSDJfUkVWX01JTk9SX0NISVBfTSk7CisKKwlwcmludGsoS0VSTl9JTkZPICJTR0kgSEFMMiByZXZpc2lvbiAlaS4laS4laVxuIiwKKwkgICAgICAgYm9hcmQsIG1ham9yLCBtaW5vcik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoYWwyX2NyZWF0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfaGFsMiAqKnJjaGlwKQoreworCXN0cnVjdCBzbmRfaGFsMiAqaGFsMjsKKwlzdHJ1Y3QgaHBjM19yZWdzICpocGMzID0gaHBjM2MwOworCWludCBlcnI7CisKKwloYWwyID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9oYWwyKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFoYWwyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWhhbDItPmNhcmQgPSBjYXJkOworCisJaWYgKHJlcXVlc3RfaXJxKFNHSV9IUENETUFfSVJRLCBoYWwyX2ludGVycnVwdCwgSVJRRl9TSEFSRUQsCisJCQkiU0dJIEhBTDIiLCBoYWwyKSkgeworCQlwcmludGsoS0VSTl9FUlIgIkhBTDI6IENhbid0IGdldCBpcnEgJWRcbiIsIFNHSV9IUENETUFfSVJRKTsKKwkJa2ZyZWUoaGFsMik7CisJCXJldHVybiAtRUFHQUlOOworCX0KKworCWhhbDItPmN0bF9yZWdzID0gKHN0cnVjdCBoYWwyX2N0bF9yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzBdOworCWhhbDItPmFlc19yZWdzID0gKHN0cnVjdCBoYWwyX2Flc19yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzFdOworCWhhbDItPnZvbF9yZWdzID0gKHN0cnVjdCBoYWwyX3ZvbF9yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzJdOworCWhhbDItPnN5bl9yZWdzID0gKHN0cnVjdCBoYWwyX3N5bl9yZWdzICopaHBjMy0+cGJ1c19leHRyZWdzWzNdOworCisJaWYgKGhhbDJfZGV0ZWN0KGhhbDIpIDwgMCkgeworCQlrZnJlZShoYWwyKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJaGFsMl9pbml0X2NvZGVjKCZoYWwyLT5kYWMsIGhwYzMsIDApOworCWhhbDJfaW5pdF9jb2RlYygmaGFsMi0+YWRjLCBocGMzLCAxKTsKKworCS8qCisJICogQWxsIERNQSBjaGFubmVsIGludGVyZmFjZXMgaW4gSEFMMiBhcmUgZGVzaWduZWQgdG8gb3BlcmF0ZSB3aXRoCisJICogUEJVUyBwcm9ncmFtbWVkIGZvciAyIGN5Y2xlcyBpbiBEMywgMiBjeWNsZXMgaW4gRDQgYW5kIDIgY3ljbGVzCisJICogaW4gRDUuIEhBTDIgaXMgYSAxNi1iaXQgZGV2aWNlIHdoaWNoIGNhbiBhY2NlcHQgYm90aCBiaWcgYW5kIGxpdHRsZQorCSAqIGVuZGlhbiBmb3JtYXQuIEl0IGFzc3VtZXMgdGhhdCBldmVuIGFkZHJlc3MgYnl0ZXMgYXJlIG9uIGhpZ2gKKwkgKiBwb3J0aW9uIG9mIFBCVVMgKDE1OjgpIGFuZCBhc3N1bWVzIHRoYXQgSFBDMyBpcyBwcm9ncmFtbWVkIHRvCisJICogYWNjZXB0IGEgbGl2ZSAodW5zeW5jaHJvbml6ZWQpIHZlcnNpb24gb2YgUF9EUkVRX04gZnJvbSBIQUwyLgorCSAqLworI2RlZmluZSBIQUwyX1BCVVNfRE1BQ0ZHICgoMCA8PCBIUEMzX0RNQUNGR19EM1JfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENFJfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENVJfU0hJRlQpIHwgXAorCQkJICAoMCA8PCBIUEMzX0RNQUNGR19EM1dfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENFdfU0hJRlQpIHwgXAorCQkJICAoMiA8PCBIUEMzX0RNQUNGR19ENVdfU0hJRlQpIHwgXAorCQkJCUhQQzNfRE1BQ0ZHX0RTMTYgfCBcCisJCQkJSFBDM19ETUFDRkdfRVZFTkhJIHwgXAorCQkJCUhQQzNfRE1BQ0ZHX1JUSU1FIHwgXAorCQkJICAoOCA8PCBIUEMzX0RNQUNGR19CVVJTVF9TSElGVCkgfCBcCisJCQkJSFBDM19ETUFDRkdfRFJRTElWRSkKKwkvKgorCSAqIElnbm9yZSB3aGF0J3MgbWVudGlvbmVkIGluIHRoZSBzcGVjaWZpY2F0aW9uIGFuZCB3cml0ZSB2YWx1ZSB3aGljaAorCSAqIHdvcmtzIGluIFRoZSBSZWFsIFdvcmxkIChUTSkKKwkgKi8KKwlocGMzLT5wYnVzX2RtYWNmZ1toYWwyLT5kYWMucGJ1cy5wYnVzbnJdWzBdID0gMHg4MjA4ODQ0OworCWhwYzMtPnBidXNfZG1hY2ZnW2hhbDItPmFkYy5wYnVzLnBidXNucl1bMF0gPSAweDgyMDg4NDQ7CisKKwllcnIgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGhhbDIsICZoYWwyX29wcyk7CisJaWYgKGVyciA8IDApIHsKKwkJZnJlZV9pcnEoU0dJX0hQQ0RNQV9JUlEsIGhhbDIpOworCQlrZnJlZShoYWwyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJKnJjaGlwID0gaGFsMjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgaGFsMl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZDsKKwlzdHJ1Y3Qgc25kX2hhbDIgKmNoaXA7CisJaW50IGVycjsKKworCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXgsIGlkLCBUSElTX01PRFVMRSwgMCk7CisJaWYgKGNhcmQgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwllcnIgPSBoYWwyX2NyZWF0ZShjYXJkLCAmY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJc25kX2NhcmRfc2V0X2RldihjYXJkLCAmcGRldi0+ZGV2KTsKKworCWVyciA9IGhhbDJfcGNtX2NyZWF0ZShjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwllcnIgPSBoYWwyX21peGVyX2NyZWF0ZShjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKworCXN0cmNweShjYXJkLT5kcml2ZXIsICJTR0kgSEFMMiBBdWRpbyIpOworCXN0cmNweShjYXJkLT5zaG9ydG5hbWUsICJTR0kgSEFMMiBBdWRpbyIpOworCXNwcmludGYoY2FyZC0+bG9uZ25hbWUsICIlcyBpcnEgJWkiLAorCQljYXJkLT5zaG9ydG5hbWUsCisJCVNHSV9IUENETUFfSVJRKTsKKworCWVyciA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNhcmQpOworCWlmIChlcnIgPCAwKSB7CisJCXNuZF9jYXJkX2ZyZWUoY2FyZCk7CisJCXJldHVybiBlcnI7CisJfQorCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGNhcmQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZXhpdCBoYWwyX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfY2FyZCAqY2FyZCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJc25kX2NhcmRfZnJlZShjYXJkKTsKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBOVUxMKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgaGFsMl9kcml2ZXIgPSB7CisJLnByb2JlCT0gaGFsMl9wcm9iZSwKKwkucmVtb3ZlCT0gX19kZXZleGl0X3AoaGFsMl9yZW1vdmUpLAorCS5kcml2ZXIgPSB7CisJCS5uYW1lCT0gInNnaWhhbDIiLAorCQkub3duZXIJPSBUSElTX01PRFVMRSwKKwl9Cit9OworCitzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfaGFsMl9pbml0KHZvaWQpCit7CisJcmV0dXJuIHBsYXRmb3JtX2RyaXZlcl9yZWdpc3RlcigmaGFsMl9kcml2ZXIpOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYWxzYV9jYXJkX2hhbDJfZXhpdCh2b2lkKQoreworCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZoYWwyX2RyaXZlcik7Cit9CisKK21vZHVsZV9pbml0KGFsc2FfY2FyZF9oYWwyX2luaXQpOworbW9kdWxlX2V4aXQoYWxzYV9jYXJkX2hhbDJfZXhpdCk7CmRpZmYgLS1naXQgYS9zb3VuZC9taXBzL2hhbDIuaCBiL3NvdW5kL21pcHMvaGFsMi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOTgyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9taXBzL2hhbDIuaApAQCAtMCwwICsxLDI0NSBAQAorI2lmbmRlZiBfX0hBTDJfSAorI2RlZmluZSBfX0hBTDJfSAorCisvKgorICogIERyaXZlciBmb3IgSEFMMiBzb3VuZCBwcm9jZXNzb3JzCisgKiAgQ29weXJpZ2h0IChjKSAxOTk5IFVsZiBDYXJsc3NvbiA8dWxmY0BidW4uZmFsa2VuYmVyZy5zZT4KKyAqICBDb3B5cmlnaHQgKGMpIDIwMDEsIDIwMDIsIDIwMDMgTGFkaXNsYXYgTWljaGwgPGxhZGlzQGxpbnV4LW1pcHMub3JnPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKKy8qIEluZGlyZWN0IHN0YXR1cyByZWdpc3RlciAqLworCisjZGVmaW5lIEgyX0lTUl9UU1RBVFVTCQkweDAxCS8qIFJPOiB0cmFuc2FjdGlvbiBzdGF0dXMgMT1idXN5ICovCisjZGVmaW5lIEgyX0lTUl9VU1RBVFVTCQkweDAyCS8qIFJPOiB1dGltZSBzdGF0dXMgYml0IDE9YXJtZWQgKi8KKyNkZWZpbmUgSDJfSVNSX1FVQURfTU9ERQkweDA0CS8qIGNvZGVjIG1vZGUgMD1pbmRpZ28gMT1xdWFkICovCisjZGVmaW5lIEgyX0lTUl9HTE9CQUxfUkVTRVRfTgkweDA4CS8qIGNoaXAgZ2xvYmFsIHJlc2V0IDA9cmVzZXQgKi8KKyNkZWZpbmUgSDJfSVNSX0NPREVDX1JFU0VUX04JMHgxMAkvKiBjb2RlYy9zeW50aCByZXNldCAwPXJlc2V0ICAqLworCisvKiBSZXZpc2lvbiByZWdpc3RlciAqLworCisjZGVmaW5lIEgyX1JFVl9BVURJT19QUkVTRU5UCTB4ODAwMAkvKiBSTzogYXVkaW8gcHJlc2VudCAwPXByZXNlbnQgKi8KKyNkZWZpbmUgSDJfUkVWX0JPQVJEX00JCTB4NzAwMAkvKiBSTzogYml0cyAxNDoxMiwgYm9hcmQgcmV2aXNpb24gKi8KKyNkZWZpbmUgSDJfUkVWX01BSk9SX0NISVBfTQkweDAwRjAJLyogUk86IGJpdHMgNzo0LCBtYWpvciBjaGlwIHJldmlzaW9uICovCisjZGVmaW5lIEgyX1JFVl9NSU5PUl9DSElQX00JMHgwMDBGCS8qIFJPOiBiaXRzIDM6MCwgbWlub3IgY2hpcCByZXZpc2lvbiAqLworCisvKiBJbmRpcmVjdCBhZGRyZXNzIHJlZ2lzdGVyICovCisKKy8qCisgKiBBZGRyZXNzIG9mIGluZGlyZWN0IGludGVybmFsIHJlZ2lzdGVyIHRvIGJlIGFjY2Vzc2VkLiBBIHdyaXRlIHRvIHRoaXMKKyAqIHJlZ2lzdGVyIGluaXRpYXRlcyByZWFkIG9yIHdyaXRlIGFjY2VzcyB0byB0aGUgaW5kaXJlY3QgcmVnaXN0ZXJzIGluIHRoZQorICogSEFMMi4gTm90ZSB0aGF0IHRoZXJlIGFmIGZvdXIgaW5kaXJlY3QgZGF0YSByZWdpc3RlcnMgZm9yIHdyaXRlIGFjY2VzcyB0bworICogcmVnaXN0ZXJzIGxhcmdlciB0aGFuIDE2IGJ5dGUuCisgKi8KKworI2RlZmluZSBIMl9JQVJfVFlQRV9NCQkweEYwMDAJLyogYml0cyAxNToxMiwgdHlwZSBvZiBmdW5jdGlvbmFsICovCisJCQkJCS8qIGJsb2NrIHRoZSByZWdpc3RlciByZXNpZGVzIGluICovCisJCQkJCS8qIDE9RE1BIFBvcnQgKi8KKwkJCQkJLyogOT1HbG9iYWwgRE1BIENvbnRyb2wgKi8KKwkJCQkJLyogMj1CcmVzZW5oYW0gKi8KKwkJCQkJLyogMz1Vbml4IFRpbWVyICovCisjZGVmaW5lIEgyX0lBUl9OVU1fTQkJMHgwRjAwCS8qIGJpdHMgMTE6OCBpbnN0YW5jZSBvZiB0aGUgKi8KKwkJCQkJLyogYmxvY2tpbiB3aGljaCB0aGUgaW5kaXJlY3QgKi8KKwkJCQkJLyogcmVnaXN0ZXIgcmVzaWRlcyAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPURNQSBQb3J0OiAqLworCQkJCQkvKiAxPVN5bnRoIEluICovCisJCQkJCS8qIDI9QUVTIEluICovCisJCQkJCS8qIDM9QUVTIE91dCAqLworCQkJCQkvKiA0PURBQyBPdXQgKi8KKwkJCQkJLyogNT1BREMgT3V0ICovCisJCQkJCS8qIDY9U3ludGggQ29udHJvbCAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPUdsb2JhbCBETUEgQ29udHJvbDogKi8KKwkJCQkJLyogMT1Db250cm9sICovCisJCQkJCS8qIElmIElBUl9UWVBFX009QnJlc2VuaGFtOiAqLworCQkJCQkvKiAxPUJyZXNlbmhhbSBDbG9jayBHZW4gMSAqLworCQkJCQkvKiAyPUJyZXNlbmhhbSBDbG9jayBHZW4gMiAqLworCQkJCQkvKiAzPUJyZXNlbmhhbSBDbG9jayBHZW4gMyAqLworCQkJCQkvKiBJZiBJQVJfVFlQRV9NPVVuaXggVGltZXI6ICovCisJCQkJCS8qIDE9VW5peCBUaW1lciAqLworI2RlZmluZSBIMl9JQVJfQUNDRVNTX1NFTEVDVAkweDAwODAJLyogMT1yZWFkIDA9d3JpdGUgKi8KKyNkZWZpbmUgSDJfSUFSX1BBUkFNCQkweDAwMEMJLyogUGFyYW1ldGVyIFNlbGVjdCAqLworI2RlZmluZSBIMl9JQVJfUkJfSU5ERVhfTQkweDAwMDMJLyogUmVhZCBCYWNrIEluZGV4ICovCisJCQkJCS8qIDAwOndvcmQwICovCisJCQkJCS8qIDAxOndvcmQxICovCisJCQkJCS8qIDEwOndvcmQyICovCisJCQkJCS8qIDExOndvcmQzICovCisvKgorICogSEFMMiBpbnRlcm5hbCBhZGRyZXNzaW5nCisgKgorICogVGhlIEhBTDIgaGFzICJpbmRpcmVjdCByZWdpc3RlcnMiIChpZHIpIHdoaWNoIGFyZSBhY2Nlc3NlZCBieSB3cml0aW5nIHRvIHRoZQorICogSW5kaXJlY3QgRGF0YSByZWdpc3RlcnMuIFdyaXRlIHRoZSBhZGRyZXNzIHRvIHRoZSBJbmRpcmVjdCBBZGRyZXNzIHJlZ2lzdGVyCisgKiB0byB0cmFuc2ZlciB0aGUgZGF0YS4KKyAqCisgKiBXZSBkZWZpbmUgdGhlIEgySVJfKiB0byB0aGUgcmVhZCBhZGRyZXNzIGFuZCBIMklXXyogdG8gdGhlIHdyaXRlIGFkZHJlc3MgYW5kCisgKiBIMklfKiB0byBiZSBmaWVsZHMgaW4gd2hhdGV2ZXIgcmVnaXN0ZXIgaXMgcmVmZXJyZWQgdG8uCisgKgorICogV2hlbiB3ZSB3cml0ZSB0byBpbmRpcmVjdCByZWdpc3RlcnMgd2hpY2ggYXJlIGxhcmdlciB0aGFuIG9uZSB3b3JkICgxNiBiaXQpCisgKiB3ZSBoYXZlIHRvIGZpbGwgbW9yZSB0aGFuIG9uZSBpbmRpcmVjdCByZWdpc3RlciBiZWZvcmUgd3JpdGluZy4gV2hlbiB3ZSByZWFkCisgKiBiYWNrIGhvd2V2ZXIgd2UgaGF2ZSB0byByZWFkIHNldmVyYWwgdGltZXMsIGVhY2ggdGltZSB3aXRoIGRpZmZlcmVudCBSZWFkCisgKiBCYWNrIEluZGV4ZXMgKHRoZXJlIGFyZSBkZWZzIGZvciBkb2luZyB0aGlzIGVhc2lseSkuCisgKi8KKworLyoKKyAqIFJlbGF5IENvbnRyb2wKKyAqLworI2RlZmluZSBIMklfUkVMQVlfQwkJMHg5MTAwCisjZGVmaW5lIEgySV9SRUxBWV9DX1NUQVRFCTB4MDEJCS8qIHN0YXRlIG9mIFJFTEFZIHBpbiBzaWduYWwgKi8KKworLyogRE1BIHBvcnQgZW5hYmxlICovCisKKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOCQkweDkxMDQKKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX1NZX0lOCTB4MDEJCS8qIFN5bnRoX2luIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfUE9SVF9FTl9BRVNSWAkweDAyCQkvKiBBRVMgcmVjZWl2ZXIgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9QT1JUX0VOX0FFU1RYCTB4MDQJCS8qIEFFUyB0cmFuc21pdHRlciBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fQ09ERUNUWAkweDA4CQkvKiBDT0RFQyB0cmFuc21pdCBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX1BPUlRfRU5fQ09ERUNSCTB4MTAJCS8qIENPREVDIHJlY2VpdmUgRE1BIHBvcnQgKi8KKworI2RlZmluZSBIMklfRE1BX0VORAkJMHg5MTA4IAkJLyogZ2xvYmFsIGRtYSBlbmRpYW4gc2VsZWN0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX1NZX0lOCTB4MDEJCS8qIFN5bnRoX2luIERNQSBwb3J0ICovCisjZGVmaW5lIEgySV9ETUFfRU5EX0FFU1JYCTB4MDIJCS8qIEFFUyByZWNlaXZlciBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX0VORF9BRVNUWAkweDA0CQkvKiBBRVMgdHJhbnNtaXR0ZXIgRE1BIHBvcnQgKi8KKyNkZWZpbmUgSDJJX0RNQV9FTkRfQ09ERUNUWAkweDA4CQkvKiBDT0RFQyB0cmFuc21pdCBETUEgcG9ydCAqLworI2RlZmluZSBIMklfRE1BX0VORF9DT0RFQ1IJMHgxMAkJLyogQ09ERUMgcmVjZWl2ZSBETUEgcG9ydCAqLworCQkJCQkJLyogMD1iX2VuZCAxPWxfZW5kICovCisKKyNkZWZpbmUgSDJJX0RNQV9EUlYJCTB4OTEwQyAgCS8qIGdsb2JhbCBQQlVTIERNQSBlbmFibGUgKi8KKworI2RlZmluZSBIMklfU1lOVEhfQwkJMHgxMTA0CQkvKiBTeW50aCBETUEgY29udHJvbCAqLworCisjZGVmaW5lIEgySV9BRVNSWF9DCQkweDEyMDQJIAkvKiBBRVMgUlggZG1hIGNvbnRyb2wgKi8KKworI2RlZmluZSBIMklfQ19UU19FTgkJMHgyMAkJLyogVGltZXN0YW1wIGVuYWJsZSAqLworI2RlZmluZSBIMklfQ19UU19GUk1UCQkweDQwCQkvKiBUaW1lc3RhbXAgZm9ybWF0ICovCisjZGVmaW5lIEgySV9DX05BVURJTwkJMHg4MAkJLyogU2lnbiBleHRlbmQgKi8KKworLyogQUVTUlggQ1RMLCAxNiBiaXQgKi8KKworI2RlZmluZSBIMklfQUVTVFhfQwkJMHgxMzA0CQkvKiBBRVMgVFggRE1BIGNvbnRyb2wgKi8KKyNkZWZpbmUgSDJJX0FFU1RYX0NfQ0xLSURfU0hJRlQJMwkJLyogQnJlc2VuaGFtIENsb2NrIEdlbiAxLTMgKi8KKyNkZWZpbmUgSDJJX0FFU1RYX0NfQ0xLSURfTQkweDE4CisjZGVmaW5lIEgySV9BRVNUWF9DX0RBVEFUX1NISUZUCTgJCS8qIDE9bW9ubyAyPXN0ZXJlbyAoMz1xdWFkKSAqLworI2RlZmluZSBIMklfQUVTVFhfQ19EQVRBVF9NCTB4MzAwCisKKy8qIENPREVDIHJlZ2lzdGVycyAqLworCisjZGVmaW5lIEgySV9EQUNfQzEJCTB4MTQwNCAJCS8qIERBQyBETUEgY29udHJvbCwgMTYgYml0ICovCisjZGVmaW5lIEgySV9EQUNfQzIJCTB4MTQwOAkJLyogREFDIERNQSBjb250cm9sLCAzMiBiaXQgKi8KKyNkZWZpbmUgSDJJX0FEQ19DMQkJMHgxNTA0IAkJLyogQURDIERNQSBjb250cm9sLCAxNiBiaXQgKi8KKyNkZWZpbmUgSDJJX0FEQ19DMgkJMHgxNTA4CQkvKiBBREMgRE1BIGNvbnRyb2wsIDMyIGJpdCAqLworCisvKiBCaXRzIGluIENUTDEgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBIMklfQzFfRE1BX1NISUZUCTAJCS8qIERNQSBjaGFubmVsICovCisjZGVmaW5lIEgySV9DMV9ETUFfTQkJMHg3CisjZGVmaW5lIEgySV9DMV9DTEtJRF9TSElGVAkzCQkvKiBCcmVzZW5oYW0gQ2xvY2sgR2VuIDEtMyAqLworI2RlZmluZSBIMklfQzFfQ0xLSURfTQkJMHgxOAorI2RlZmluZSBIMklfQzFfREFUQVRfU0hJRlQJOAkJLyogMT1tb25vIDI9c3RlcmVvICgzPXF1YWQpICovCisjZGVmaW5lIEgySV9DMV9EQVRBVF9NCQkweDMwMAorCisvKiBCaXRzIGluIENUTDIgcmVnaXN0ZXIgKi8KKworI2RlZmluZSBIMklfQzJfUl9HQUlOX1NISUZUCTAJCS8qIHJpZ2h0IGEvZCBpbnB1dCBnYWluICovCisjZGVmaW5lIEgySV9DMl9SX0dBSU5fTQkJMHhmCisjZGVmaW5lIEgySV9DMl9MX0dBSU5fU0hJRlQJNAkJLyogbGVmdCBhL2QgaW5wdXQgZ2FpbiAqLworI2RlZmluZSBIMklfQzJfTF9HQUlOX00JCTB4ZjAKKyNkZWZpbmUgSDJJX0MyX1JfU0VMCQkweDEwMAkJLyogcmlnaHQgaW5wdXQgc2VsZWN0ICovCisjZGVmaW5lIEgySV9DMl9MX1NFTAkJMHgyMDAJCS8qIGxlZnQgaW5wdXQgc2VsZWN0ICovCisjZGVmaW5lIEgySV9DMl9NVVRFCQkweDQwMAkJLyogbXV0ZSAqLworI2RlZmluZSBIMklfQzJfRE8xCQkweDAwMDEwMDAwCS8qIGRpZ2l0YWwgb3V0cHV0IHBvcnQgYml0IDAgKi8KKyNkZWZpbmUgSDJJX0MyX0RPMgkJMHgwMDAyMDAwMAkvKiBkaWdpdGFsIG91dHB1dCBwb3J0IGJpdCAxICovCisjZGVmaW5lIEgySV9DMl9SX0FUVF9TSElGVAkxOAkJLyogcmlnaHQgZC9hIG91dHB1dCAtICovCisjZGVmaW5lIEgySV9DMl9SX0FUVF9NCQkweDAwN2MwMDAwCS8qIGF0dGVudWF0aW9uICovCisjZGVmaW5lIEgySV9DMl9MX0FUVF9TSElGVAkyMwkJLyogbGVmdCBkL2Egb3V0cHV0IC0gKi8KKyNkZWZpbmUgSDJJX0MyX0xfQVRUX00JCTB4MGY4MDAwMDAJLyogYXR0ZW51YXRpb24gKi8KKworI2RlZmluZSBIMklfU1lOVEhfTUFQX0MJCTB4MTEwNAkJLyogc3ludGggZG1hIGhhbmRzaGFrZSBjdHJsICovCisKKy8qIENsb2NrIGdlbmVyYXRvciBDVEwgMSwgMTYgYml0ICovCisKKyNkZWZpbmUgSDJJX0JSRVMxX0MxCQkweDIxMDQKKyNkZWZpbmUgSDJJX0JSRVMyX0MxCQkweDIyMDQKKyNkZWZpbmUgSDJJX0JSRVMzX0MxCQkweDIzMDQKKworI2RlZmluZSBIMklfQlJFU19DMV9TSElGVAkwCQkvKiAwPTQ4LjAgMT00NC4xIDI9YWVzX3J4ICovCisjZGVmaW5lIEgySV9CUkVTX0MxX00JCTB4MDMKKworLyogQ2xvY2sgZ2VuZXJhdG9yIENUTCAyLCAzMiBiaXQgKi8KKworI2RlZmluZSBIMklfQlJFUzFfQzIJCTB4MjEwOAorI2RlZmluZSBIMklfQlJFUzJfQzIJCTB4MjIwOAorI2RlZmluZSBIMklfQlJFUzNfQzIJCTB4MjMwOAorCisjZGVmaW5lIEgySV9CUkVTX0MyX0lOQ19TSElGVAkwCQkvKiBpbmNyZW1lbnQgdmFsdWUgKi8KKyNkZWZpbmUgSDJJX0JSRVNfQzJfSU5DX00JMHhmZmZmCisjZGVmaW5lIEgySV9CUkVTX0MyX01PRF9TSElGVAkxNgkJLyogbW9kY29udHJvbCB2YWx1ZSAqLworI2RlZmluZSBIMklfQlJFU19DMl9NT0RfTQkweGZmZmYwMDAwCS8qIG1vZGN0cmw9MHhmZmZmJihtb2RpbmMtMSkgKi8KKworLyogVW5peCB0aW1lciwgNjQgYml0ICovCisKKyNkZWZpbmUgSDJJX1VUSU1FCQkweDMxMDQKKyNkZWZpbmUgSDJJX1VUSU1FXzBfTEQJCTB4ZmZmZgkJLyogbWljcm9zZWNvbmRzLCBMU0IncyAqLworI2RlZmluZSBIMklfVVRJTUVfMV9MRDAJCTB4MGYJCS8qIG1pY3Jvc2Vjb25kcywgTVNCJ3MgKi8KKyNkZWZpbmUgSDJJX1VUSU1FXzFfTEQxCQkweGYwCQkvKiB0ZW50aHMgb2YgbWljcm9zZWNvbmRzICovCisjZGVmaW5lIEgySV9VVElNRV8yX0xECQkweGZmZmYJCS8qIHNlY29uZHMsIExTQidzICovCisjZGVmaW5lIEgySV9VVElNRV8zX0xECQkweGZmZmYJCS8qIHNlY29uZHMsIE1TQidzICovCisKK3N0cnVjdCBoYWwyX2N0bF9yZWdzIHsKKwl1MzIgX3VudXNlZDBbNF07CisJdTMyIGlzcjsJCS8qIDB4MTAgU3RhdHVzIFJlZ2lzdGVyICovCisJdTMyIF91bnVzZWQxWzNdOworCXUzMiByZXY7CQkvKiAweDIwIFJldmlzaW9uIFJlZ2lzdGVyICovCisJdTMyIF91bnVzZWQyWzNdOworCXUzMiBpYXI7CQkvKiAweDMwIEluZGlyZWN0IEFkZHJlc3MgUmVnaXN0ZXIgKi8KKwl1MzIgX3VudXNlZDNbM107CisJdTMyIGlkcjA7CQkvKiAweDQwIEluZGlyZWN0IERhdGEgUmVnaXN0ZXIgMCAqLworCXUzMiBfdW51c2VkNFszXTsKKwl1MzIgaWRyMTsJCS8qIDB4NTAgSW5kaXJlY3QgRGF0YSBSZWdpc3RlciAxICovCisJdTMyIF91bnVzZWQ1WzNdOworCXUzMiBpZHIyOwkJLyogMHg2MCBJbmRpcmVjdCBEYXRhIFJlZ2lzdGVyIDIgKi8KKwl1MzIgX3VudXNlZDZbM107CisJdTMyIGlkcjM7CQkvKiAweDcwIEluZGlyZWN0IERhdGEgUmVnaXN0ZXIgMyAqLworfTsKKworc3RydWN0IGhhbDJfYWVzX3JlZ3MgeworCXUzMiByeF9zdGF0WzJdOwkvKiBTdGF0dXMgcmVnaXN0ZXJzICovCisJdTMyIHJ4X2NyWzJdOwkJLyogQ29udHJvbCByZWdpc3RlcnMgKi8KKwl1MzIgcnhfdWRbNF07CQkvKiBVc2VyIGRhdGEgd2luZG93ICovCisJdTMyIHJ4X3N0WzI0XTsJCS8qIENoYW5uZWwgc3RhdHVzIGRhdGEgKi8KKworCXUzMiB0eF9zdGF0WzFdOwkvKiBTdGF0dXMgcmVnaXN0ZXIgKi8KKwl1MzIgdHhfY3JbM107CQkvKiBDb250cm9sIHJlZ2lzdGVycyAqLworCXUzMiB0eF91ZFs0XTsJCS8qIFVzZXIgZGF0YSB3aW5kb3cgKi8KKwl1MzIgdHhfc3RbMjRdOwkJLyogQ2hhbm5lbCBzdGF0dXMgZGF0YSAqLworfTsKKworc3RydWN0IGhhbDJfdm9sX3JlZ3MgeworCXUzMiByaWdodDsJCS8qIFJpZ2h0IHZvbHVtZSAqLworCXUzMiBsZWZ0OwkJLyogTGVmdCB2b2x1bWUgKi8KK307CisKK3N0cnVjdCBoYWwyX3N5bl9yZWdzIHsKKwl1MzIgX3VudXNlZDBbMl07CisJdTMyIHBhZ2U7CQkvKiBET0MgUGFnZSByZWdpc3RlciAqLworCXUzMiByZWdzZWw7CQkvKiBET0MgUmVnaXN0ZXIgc2VsZWN0aW9uICovCisJdTMyIGRsb3c7CQkvKiBET0MgRGF0YSBsb3cgKi8KKwl1MzIgZGhpZ2g7CQkvKiBET0MgRGF0YSBoaWdoICovCisJdTMyIGlycTsJCS8qIElSUSBTdGF0dXMgKi8KKwl1MzIgZHJhbTsJCS8qIERSQU0gQWNjZXNzICovCit9OworCisjZW5kaWYJLyogX19IQUwyX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL21pcHMvc2dpbzJhdWRpby5jIGIvc291bmQvbWlwcy9zZ2lvMmF1ZGlvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM2MzUwNAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL21pcHMvc2dpbzJhdWRpby5jCkBAIC0wLDAgKzEsMTAwNiBAQAorLyoKKyAqICAgU291bmQgZHJpdmVyIGZvciBTaWxpY29uIEdyYXBoaWNzIE8yIFdvcmtzdGF0aW9ucyBBL1YgYm9hcmQgYXVkaW8uCisgKgorICogICBDb3B5cmlnaHQgMjAwMyBWaXZpZW4gQ2hhcHBlbGllciA8dml2aWVuLmNoYXBwZWxpZXJAbGludXgtbWlwcy5vcmc+CisgKiAgIENvcHlyaWdodCAyMDA4IFRob21hcyBCb2dlbmRvZXJmZXIgPHRzYm9nZW5kQGFscGhhLmZyYW5rZW4uZGU+CisgKiAgIE14aWVyIHBhcnQgdGFrZW4gZnJvbSBtYWNlX2F1ZGlvLmM6CisgKiAgIENvcHlyaWdodCAyMDA3IFRob3JiZW4gSsOkbmRsaW5nIDx0ai50cmV2ZWx5YW5AZ21haWwuY29tPgorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyBVU0EKKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2NrLmg+CisjaW5jbHVkZSA8bGludXgvZ2ZwLmg+CisjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvaW8uaD4KKworI2luY2x1ZGUgPGFzbS9pcDMyL2lwMzJfaW50cy5oPgorI2luY2x1ZGUgPGFzbS9pcDMyL21hY2UuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb250cm9sLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjZGVmaW5lIFNORFJWX0dFVF9JRAorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9hZDE4NDMuaD4KKworCitNT0RVTEVfQVVUSE9SKCJWaXZpZW4gQ2hhcHBlbGllciA8dml2aWVuLmNoYXBwZWxpZXJAbGludXgtbWlwcy5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIlNHSSBPMiBBdWRpbyIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7U2lsaWNvbiBHcmFwaGljcywgTzIgQXVkaW99fSIpOworCitzdGF0aWMgaW50IGluZGV4ID0gU05EUlZfREVGQVVMVF9JRFgxOyAgLyogSW5kZXggMC1NQVggKi8KK3N0YXRpYyBjaGFyICppZCA9IFNORFJWX0RFRkFVTFRfU1RSMTsgICAvKiBJRCBmb3IgdGhpcyBjYXJkICovCisKK21vZHVsZV9wYXJhbShpbmRleCwgaW50LCAwNDQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoaW5kZXgsICJJbmRleCB2YWx1ZSBmb3IgU0dJIE8yIHNvdW5kY2FyZC4iKTsKK21vZHVsZV9wYXJhbShpZCwgY2hhcnAsIDA0NDQpOworTU9EVUxFX1BBUk1fREVTQyhpZCwgIklEIHN0cmluZyBmb3IgU0dJIE8yIHNvdW5kY2FyZC4iKTsKKworCisjZGVmaW5lIEFVRElPX0NPTlRST0xfUkVTRVQgICAgICAgICAgICAgIEJJVCgwKSAvKiAxOiByZXNldCBhdWRpbyBpbnRlcmZhY2UgKi8KKyNkZWZpbmUgQVVESU9fQ09OVFJPTF9DT0RFQ19QUkVTRU5UICAgICAgQklUKDEpIC8qIDE6IGNvZGVjIGRldGVjdGVkICovCisKKyNkZWZpbmUgQ09ERUNfQ09OVFJPTF9XT1JEX1NISUZUICAgICAgICAwCisjZGVmaW5lIENPREVDX0NPTlRST0xfUkVBRCAgICAgICAgICAgICAgQklUKDE2KQorI2RlZmluZSBDT0RFQ19DT05UUk9MX0FERFJFU1NfU0hJRlQgICAgIDE3CisKKyNkZWZpbmUgQ0hBTk5FTF9DT05UUk9MX1JFU0VUICAgICAgICAgICBCSVQoMTApIC8qIDE6IHJlc2V0IGNoYW5uZWwgKi8KKyNkZWZpbmUgQ0hBTk5FTF9ETUFfRU5BQkxFICAgICAgICAgICAgICBCSVQoOSkgIC8qIDE6IGVuYWJsZSBETUEgdHJhbnNmZXIgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX0RJU0FCTEVEICAoMCA8PCA1KSAvKiBpbnRlcnJ1cHQgZGlzYWJsZWQgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEXzI1ICAgICAgICAoMSA8PCA1KSAvKiBpbnQgb24gYnVmZmVyID4yNSUgZnVsbCAqLworI2RlZmluZSBDSEFOTkVMX0lOVF9USFJFU0hPTERfNTAgICAgICAgICgyIDw8IDUpIC8qIGludCBvbiBidWZmZXIgPjUwJSBmdWxsICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF83NSAgICAgICAgKDMgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciA+NzUlIGZ1bGwgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX0VNUFRZICAgICAoNCA8PCA1KSAvKiBpbnQgb24gYnVmZmVyIGVtcHR5ICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9OT1RfRU1QVFkgKDUgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciAhZW1wdHkgKi8KKyNkZWZpbmUgQ0hBTk5FTF9JTlRfVEhSRVNIT0xEX0ZVTEwgICAgICAoNiA8PCA1KSAvKiBpbnQgb24gYnVmZmVyIGVtcHR5ICovCisjZGVmaW5lIENIQU5ORUxfSU5UX1RIUkVTSE9MRF9OT1RfRlVMTCAgKDcgPDwgNSkgLyogaW50IG9uIGJ1ZmZlciAhZW1wdHkgKi8KKworI2RlZmluZSBDSEFOTkVMX1JJTkdfU0hJRlQgICAgICAgICAgICAgIDEyCisjZGVmaW5lIENIQU5ORUxfUklOR19TSVpFICAgICAgICAgICAgICAgKDEgPDwgQ0hBTk5FTF9SSU5HX1NISUZUKQorI2RlZmluZSBDSEFOTkVMX1JJTkdfTUFTSyAgICAgICAgICAgICAgIChDSEFOTkVMX1JJTkdfU0laRSAtIDEpCisKKyNkZWZpbmUgQ0hBTk5FTF9MRUZUX1NISUZUIDQwCisjZGVmaW5lIENIQU5ORUxfUklHSFRfU0hJRlQgOAorCitzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiB7CisJaW50IGlkeDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlpbnQgcG9zOworCXNuZF9wY21fdWZyYW1lc190IHNpemU7CisJc3BpbmxvY2tfdCBsb2NrOworfTsKKworLyogZGVmaW5pdGlvbiBvZiB0aGUgY2hpcC1zcGVjaWZpYyByZWNvcmQgKi8KK3N0cnVjdCBzbmRfc2dpbzJhdWRpbyB7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkOworCisJLyogY29kZWMgKi8KKwlzdHJ1Y3Qgc25kX2FkMTg0MyBhZDE4NDM7CisJc3BpbmxvY2tfdCBhZDE4NDNfbG9jazsKKworCS8qIGNoYW5uZWxzICovCisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvX2NoYW4gY2hhbm5lbFszXTsKKworCS8qIHJlc291cmNlcyAqLworCXZvaWQgKnJpbmdfYmFzZTsKKwlkbWFfYWRkcl90IHJpbmdfYmFzZV9kbWE7Cit9OworCisvKiBBRDE4NDMgYWNjZXNzICovCisKKy8qCisgKiByZWFkX2FkMTg0M19yZWcgcmV0dXJucyB0aGUgY3VycmVudCBjb250ZW50cyBvZiBhIDE2IGJpdCBBRDE4NDMgcmVnaXN0ZXIuCisgKgorICogUmV0dXJucyB1bnNpZ25lZCByZWdpc3RlciB2YWx1ZSBvbiBzdWNjZXNzLCAtZXJybm8gb24gZmFpbHVyZS4KKyAqLworc3RhdGljIGludCByZWFkX2FkMTg0M19yZWcodm9pZCAqcHJpdiwgaW50IHJlZykKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBwcml2OworCWludCB2YWw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCisJd3JpdGVxKChyZWcgPDwgQ09ERUNfQ09OVFJPTF9BRERSRVNTX1NISUZUKSB8CisJICAgICAgIENPREVDX0NPTlRST0xfUkVBRCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX2NvbnRyb2wpOworCXdtYigpOworCXZhbCA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19jb250cm9sKTsgLyogZmx1c2ggYnVzICovCisJdWRlbGF5KDIwMCk7CisKKwl2YWwgPSByZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY29kZWNfcmVhZCk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCXJldHVybiB2YWw7Cit9CisKKy8qCisgKiB3cml0ZV9hZDE4NDNfcmVnIHdyaXRlcyB0aGUgc3BlY2lmaWVkIHZhbHVlIHRvIGEgMTYgYml0IEFEMTg0MyByZWdpc3Rlci4KKyAqLworc3RhdGljIGludCB3cml0ZV9hZDE4NDNfcmVnKHZvaWQgKnByaXYsIGludCByZWcsIGludCB3b3JkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHByaXY7CisJaW50IHZhbDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmFkMTg0M19sb2NrLCBmbGFncyk7CisKKwl3cml0ZXEoKHJlZyA8PCBDT0RFQ19DT05UUk9MX0FERFJFU1NfU0hJRlQpIHwKKwkgICAgICAgKHdvcmQgPDwgQ09ERUNfQ09OVFJPTF9XT1JEX1NISUZUKSwKKwkgICAgICAgJm1hY2UtPnBlcmlmLmF1ZGlvLmNvZGVjX2NvbnRyb2wpOworCXdtYigpOworCXZhbCA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jb2RlY19jb250cm9sKTsgLyogZmx1c2ggYnVzICovCisJdWRlbGF5KDIwMCk7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5hZDE4NDNfbG9jaywgZmxhZ3MpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNnaW8yYXVkaW9fZ2Fpbl9pbmZvKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCisJdWluZm8tPnR5cGUgPSBTTkRSVl9DVExfRUxFTV9UWVBFX0lOVEVHRVI7CisJdWluZm8tPmNvdW50ID0gMjsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5taW4gPSAwOworCXVpbmZvLT52YWx1ZS5pbnRlZ2VyLm1heCA9IGFkMTg0M19nZXRfZ2Fpbl9tYXgoJmNoaXAtPmFkMTg0MywKKwkJCQkJICAgICAoaW50KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX2dhaW5fZ2V0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgdm9sOworCisJdm9sID0gYWQxODQzX2dldF9nYWluKCZjaGlwLT5hZDE4NDMsIChpbnQpa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOworCisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSAodm9sID4+IDgpICYgMHhGRjsKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVsxXSA9IHZvbCAmIDB4RkY7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX2dhaW5fcHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCBuZXd2b2wsIG9sZHZvbDsKKworCW9sZHZvbCA9IGFkMTg0M19nZXRfZ2FpbigmY2hpcC0+YWQxODQzLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CisJbmV3dm9sID0gKHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdIDw8IDgpIHwKKwkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV07CisKKwluZXd2b2wgPSBhZDE4NDNfc2V0X2dhaW4oJmNoaXAtPmFkMTg0Mywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUsCisJCW5ld3ZvbCk7CisKKwlyZXR1cm4gbmV3dm9sICE9IG9sZHZvbDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX3NvdXJjZV9pbmZvKHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJc3RhdGljIGNvbnN0IGNoYXIgKnRleHRzWzNdID0geworCQkiQ2FtIE1pYyIsICJNaWMiLCAiTGluZSIKKwl9OworCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9FTlVNRVJBVEVEOworCXVpbmZvLT5jb3VudCA9IDE7CisJdWluZm8tPnZhbHVlLmVudW1lcmF0ZWQuaXRlbXMgPSAzOworCWlmICh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtID49IDMpCisJCXVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW0gPSAxOworCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLAorCSAgICAgICB0ZXh0c1t1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpbzJhdWRpb19zb3VyY2VfZ2V0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICAgICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKworCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMF0gPSBhZDE4NDNfZ2V0X3JlY3NyYygmY2hpcC0+YWQxODQzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lvMmF1ZGlvX3NvdXJjZV9wdXQoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJCQlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CisJaW50IG5ld3NyYywgb2xkc3JjOworCisJb2xkc3JjID0gYWQxODQzX2dldF9yZWNzcmMoJmNoaXAtPmFkMTg0Myk7CisJbmV3c3JjID0gYWQxODQzX3NldF9yZWNzcmMoJmNoaXAtPmFkMTg0MywKKwkJCQkgICB1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdKTsKKworCXJldHVybiBuZXdzcmMgIT0gb2xkc3JjOworfQorCisvKiBkYWMxL3BjbTAgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9wY20wIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIlBDTSBQbGF5YmFjayBWb2x1bWUiLAorCS5pbmRleCAgICAgICAgICA9IDAsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9QQ01fMCwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiBkYWMyL3BjbTEgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9wY20xIF9fZGV2aW5pdGRhdGEgPSB7CisJLmlmYWNlICAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsCisJLm5hbWUgICAgICAgICAgID0gIlBDTSBQbGF5YmFjayBWb2x1bWUiLAorCS5pbmRleCAgICAgICAgICA9IDEsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9QQ01fMSwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiByZWNvcmQgbGV2ZWwgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9yZWNsZXZlbCBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJDYXB0dXJlIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9SRUNMRVYsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogcmVjb3JkIGxldmVsIHNvdXJjZSBjb250cm9sICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgc2dpbzJhdWRpb19jdHJsX3JlY3NvdXJjZSBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJDYXB0dXJlIFNvdXJjZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX3NvdXJjZV9pbmZvLAorCS5nZXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fc291cmNlX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX3NvdXJjZV9wdXQsCit9OworCisvKiBsaW5lIG1peGVyIGNvbnRyb2wgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzZ2lvMmF1ZGlvX2N0cmxfbGluZSBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJMaW5lIFBsYXliYWNrIFZvbHVtZSIsCisJLmluZGV4ICAgICAgICAgID0gMCwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX0xJTkUsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworLyogY2QgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9jZCBfX2RldmluaXRkYXRhID0geworCS5pZmFjZSAgICAgICAgICA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCS5uYW1lICAgICAgICAgICA9ICJMaW5lIFBsYXliYWNrIFZvbHVtZSIsCisJLmluZGV4ICAgICAgICAgID0gMSwKKwkuYWNjZXNzICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLAorCS5wcml2YXRlX3ZhbHVlICA9IEFEMTg0M19HQUlOX0xJTkVfMiwKKwkuaW5mbyAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5faW5mbywKKwkuZ2V0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fZ2V0LAorCS5wdXQgICAgICAgICAgICA9IHNnaW8yYXVkaW9fZ2Fpbl9wdXQsCit9OworCisvKiBtaWMgbWl4ZXIgY29udHJvbCAqLworc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNnaW8yYXVkaW9fY3RybF9taWMgX19kZXZpbml0ZGF0YSA9IHsKKwkuaWZhY2UgICAgICAgICAgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKKwkubmFtZSAgICAgICAgICAgPSAiTWljIFBsYXliYWNrIFZvbHVtZSIsCisJLmFjY2VzcyAgICAgICAgID0gU05EUlZfQ1RMX0VMRU1fQUNDRVNTX1JFQURXUklURSwKKwkucHJpdmF0ZV92YWx1ZSAgPSBBRDE4NDNfR0FJTl9NSUMsCisJLmluZm8gICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2luZm8sCisJLmdldCAgICAgICAgICAgID0gc2dpbzJhdWRpb19nYWluX2dldCwKKwkucHV0ICAgICAgICAgICAgPSBzZ2lvMmF1ZGlvX2dhaW5fcHV0LAorfTsKKworCitzdGF0aWMgaW50IF9fZGV2aW5pdCBzbmRfc2dpbzJhdWRpb19uZXdfbWl4ZXIoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwKQoreworCWludCBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9wY20wLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9wY20xLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfY3RsX2FkZChjaGlwLT5jYXJkLAorCQkJICBzbmRfY3RsX25ldzEoJnNnaW8yYXVkaW9fY3RybF9yZWNsZXZlbCwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfcmVjc291cmNlLCBjaGlwKSk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfbGluZSwgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwKKwkJCSAgc25kX2N0bF9uZXcxKCZzZ2lvMmF1ZGlvX2N0cmxfY2QsIGNoaXApKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCWVyciA9IHNuZF9jdGxfYWRkKGNoaXAtPmNhcmQsCisJCQkgIHNuZF9jdGxfbmV3MSgmc2dpbzJhdWRpb19jdHJsX21pYywgY2hpcCkpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGxvdy1sZXZlbCBhdWRpbyBpbnRlcmZhY2UgRE1BICovCisKKy8qIGdldCBkYXRhIG91dCBvZiBib3VuY2UgYnVmZmVyLCBjb3VudCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzIgKi8KKy8qIHJldHVybnMgMSBpZiBhIHBlcmlvZCBoYXMgZWxhcHNlZCAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kbWFfcHVsbF9mcmFnKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCwKKwkJCQkJdW5zaWduZWQgaW50IGNoLCB1bnNpZ25lZCBpbnQgY291bnQpCit7CisJaW50IHJldDsKKwl1bnNpZ25lZCBsb25nIHNyY19iYXNlLCBzcmNfcG9zLCBkc3RfbWFzazsKKwl1bnNpZ25lZCBjaGFyICpkc3RfYmFzZTsKKwlpbnQgZHN0X3BvczsKKwl1NjQgKnNyYzsKKwlzMTYgKmRzdDsKKwl1NjQgeDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBjaGlwLT5jaGFubmVsW2NoXS5zdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+Y2hhbm5lbFtjaF0ubG9jaywgZmxhZ3MpOworCisJc3JjX2Jhc2UgPSAodW5zaWduZWQgbG9uZykgY2hpcC0+cmluZ19iYXNlIHwgKGNoIDw8IENIQU5ORUxfUklOR19TSElGVCk7CisJc3JjX3BvcyA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS5yZWFkX3B0cik7CisJZHN0X2Jhc2UgPSBydW50aW1lLT5kbWFfYXJlYTsKKwlkc3RfcG9zID0gY2hpcC0+Y2hhbm5lbFtjaF0ucG9zOworCWRzdF9tYXNrID0gZnJhbWVzX3RvX2J5dGVzKHJ1bnRpbWUsIHJ1bnRpbWUtPmJ1ZmZlcl9zaXplKSAtIDE7CisKKwkvKiBjaGVjayBpZiBhIHBlcmlvZCBoYXMgZWxhcHNlZCAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgKz0gKGNvdW50ID4+IDMpOyAvKiBpbiBmcmFtZXMgKi8KKwlyZXQgPSBjaGlwLT5jaGFubmVsW2NoXS5zaXplID49IHJ1bnRpbWUtPnBlcmlvZF9zaXplOworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgJT0gcnVudGltZS0+cGVyaW9kX3NpemU7CisKKwl3aGlsZSAoY291bnQpIHsKKwkJc3JjID0gKHU2NCAqKShzcmNfYmFzZSArIHNyY19wb3MpOworCQlkc3QgPSAoczE2ICopKGRzdF9iYXNlICsgZHN0X3Bvcyk7CisKKwkJeCA9ICpzcmM7CisJCWRzdFswXSA9ICh4ID4+IENIQU5ORUxfTEVGVF9TSElGVCkgJiAweGZmZmY7CisJCWRzdFsxXSA9ICh4ID4+IENIQU5ORUxfUklHSFRfU0hJRlQpICYgMHhmZmZmOworCisJCXNyY19wb3MgPSAoc3JjX3BvcyArIHNpemVvZih1NjQpKSAmIENIQU5ORUxfUklOR19NQVNLOworCQlkc3RfcG9zID0gKGRzdF9wb3MgKyAyICogc2l6ZW9mKHMxNikpICYgZHN0X21hc2s7CisJCWNvdW50IC09IHNpemVvZih1NjQpOworCX0KKworCXdyaXRlcShzcmNfcG9zLCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0ucmVhZF9wdHIpOyAvKiBpbiBieXRlcyAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnBvcyA9IGRzdF9wb3M7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisJcmV0dXJuIHJldDsKK30KKworLyogcHV0IHNvbWUgRE1BIGRhdGEgaW4gYm91bmNlIGJ1ZmZlciwgY291bnQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyICovCisvKiByZXR1cm5zIDEgaWYgYSBwZXJpb2QgaGFzIGVsYXBzZWQgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZG1hX3B1c2hfZnJhZyhzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAsCisJCQkJCXVuc2lnbmVkIGludCBjaCwgdW5zaWduZWQgaW50IGNvdW50KQoreworCWludCByZXQ7CisJczY0IGwsIHI7CisJdW5zaWduZWQgbG9uZyBkc3RfYmFzZSwgZHN0X3Bvcywgc3JjX21hc2s7CisJdW5zaWduZWQgY2hhciAqc3JjX2Jhc2U7CisJaW50IHNyY19wb3M7CisJdTY0ICpkc3Q7CisJczE2ICpzcmM7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gY2hpcC0+Y2hhbm5lbFtjaF0uc3Vic3RyZWFtLT5ydW50aW1lOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKworCWRzdF9iYXNlID0gKHVuc2lnbmVkIGxvbmcpY2hpcC0+cmluZ19iYXNlIHwgKGNoIDw8IENIQU5ORUxfUklOR19TSElGVCk7CisJZHN0X3BvcyA9IHJlYWRxKCZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS53cml0ZV9wdHIpOworCXNyY19iYXNlID0gcnVudGltZS0+ZG1hX2FyZWE7CisJc3JjX3BvcyA9IGNoaXAtPmNoYW5uZWxbY2hdLnBvczsKKwlzcmNfbWFzayA9IGZyYW1lc190b19ieXRlcyhydW50aW1lLCBydW50aW1lLT5idWZmZXJfc2l6ZSkgLSAxOworCisJLyogY2hlY2sgaWYgYSBwZXJpb2QgaGFzIGVsYXBzZWQgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5zaXplICs9IChjb3VudCA+PiAzKTsgLyogaW4gZnJhbWVzICovCisJcmV0ID0gY2hpcC0+Y2hhbm5lbFtjaF0uc2l6ZSA+PSBydW50aW1lLT5wZXJpb2Rfc2l6ZTsKKwljaGlwLT5jaGFubmVsW2NoXS5zaXplICU9IHJ1bnRpbWUtPnBlcmlvZF9zaXplOworCisJd2hpbGUgKGNvdW50KSB7CisJCXNyYyA9IChzMTYgKikoc3JjX2Jhc2UgKyBzcmNfcG9zKTsKKwkJZHN0ID0gKHU2NCAqKShkc3RfYmFzZSArIGRzdF9wb3MpOworCisJCWwgPSBzcmNbMF07IC8qIHNpZ24gZXh0ZW5kICovCisJCXIgPSBzcmNbMV07IC8qIHNpZ24gZXh0ZW5kICovCisKKwkJKmRzdCA9ICgobCAmIDB4MDBmZmZmZmYpIDw8IENIQU5ORUxfTEVGVF9TSElGVCkgfAorCQkJKChyICYgMHgwMGZmZmZmZikgPDwgQ0hBTk5FTF9SSUdIVF9TSElGVCk7CisKKwkJZHN0X3BvcyA9IChkc3RfcG9zICsgc2l6ZW9mKHU2NCkpICYgQ0hBTk5FTF9SSU5HX01BU0s7CisJCXNyY19wb3MgPSAoc3JjX3BvcyArIDIgKiBzaXplb2YoczE2KSkgJiBzcmNfbWFzazsKKwkJY291bnQgLT0gc2l6ZW9mKHU2NCk7CisJfQorCisJd3JpdGVxKGRzdF9wb3MsICZtYWNlLT5wZXJpZi5hdWRpby5jaGFuW2NoXS53cml0ZV9wdHIpOyAvKiBpbiBieXRlcyAqLworCWNoaXAtPmNoYW5uZWxbY2hdLnBvcyA9IHNyY19wb3M7CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5jaGFubmVsW2NoXS5sb2NrLCBmbGFncyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19kbWFfc3RhcnQoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisJaW50IGNoID0gY2hhbi0+aWR4OworCisJLyogcmVzZXQgRE1BIGNoYW5uZWwgKi8KKwl3cml0ZXEoQ0hBTk5FTF9DT05UUk9MX1JFU0VULCAmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uY29udHJvbCk7CisJdWRlbGF5KDEwKTsKKwl3cml0ZXEoMCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmNvbnRyb2wpOworCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spIHsKKwkJLyogcHVzaCBhIGZ1bGwgYnVmZmVyICovCisJCXNuZF9zZ2lvMmF1ZGlvX2RtYV9wdXNoX2ZyYWcoY2hpcCwgY2gsIENIQU5ORUxfUklOR19TSVpFIC0gMzIpOworCX0KKwkvKiBzZXQgRE1BIHRvIHdha2Ugb24gNTAlIGVtcHR5IGFuZCBlbmFibGUgaW50ZXJydXB0ICovCisJd3JpdGVxKENIQU5ORUxfRE1BX0VOQUJMRSB8IENIQU5ORUxfSU5UX1RIUkVTSE9MRF81MCwKKwkgICAgICAgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hdLmNvbnRyb2wpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2RtYV9zdG9wKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisKKwl3cml0ZXEoMCwgJm1hY2UtPnBlcmlmLmF1ZGlvLmNoYW5bY2hhbi0+aWR4XS5jb250cm9sKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlycXJldHVybl90IHNuZF9zZ2lvMmF1ZGlvX2RtYV9pbl9pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gZGV2X2lkOworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcDsKKwlpbnQgY291bnQsIGNoOworCisJc3Vic3RyZWFtID0gY2hhbi0+c3Vic3RyZWFtOworCWNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJY2ggPSBjaGFuLT5pZHg7CisKKwkvKiBlbXB0eSB0aGUgcmluZyAqLworCWNvdW50ID0gQ0hBTk5FTF9SSU5HX1NJWkUgLQorCQlyZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uZGVwdGgpIC0gMzI7CisJaWYgKHNuZF9zZ2lvMmF1ZGlvX2RtYV9wdWxsX2ZyYWcoY2hpcCwgY2gsIGNvdW50KSkKKwkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChzdWJzdHJlYW0pOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX3NnaW8yYXVkaW9fZG1hX291dF9pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gZGV2X2lkOworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcDsKKwlpbnQgY291bnQsIGNoOworCisJc3Vic3RyZWFtID0gY2hhbi0+c3Vic3RyZWFtOworCWNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJY2ggPSBjaGFuLT5pZHg7CisJLyogZmlsbCB0aGUgcmluZyAqLworCWNvdW50ID0gQ0hBTk5FTF9SSU5HX1NJWkUgLQorCQlyZWFkcSgmbWFjZS0+cGVyaWYuYXVkaW8uY2hhbltjaF0uZGVwdGgpIC0gMzI7CisJaWYgKHNuZF9zZ2lvMmF1ZGlvX2RtYV9wdXNoX2ZyYWcoY2hpcCwgY2gsIGNvdW50KSkKKwkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChzdWJzdHJlYW0pOworCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCitzdGF0aWMgaXJxcmV0dXJuX3Qgc25kX3NnaW8yYXVkaW9fZXJyb3JfaXNyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IGRldl9pZDsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKworCXN1YnN0cmVhbSA9IGNoYW4tPnN1YnN0cmVhbTsKKwlzbmRfc2dpbzJhdWRpb19kbWFfc3RvcChzdWJzdHJlYW0pOworCXNuZF9zZ2lvMmF1ZGlvX2RtYV9zdGFydChzdWJzdHJlYW0pOworCXJldHVybiBJUlFfSEFORExFRDsKK30KKworLyogUENNIHBhcnQgKi8KKy8qIFBDTSBoYXJkd2FyZSBkZWZpbml0aW9uICovCitzdGF0aWMgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgc25kX3NnaW8yYXVkaW9fcGNtX2h3ID0geworCS5pbmZvID0gKFNORFJWX1BDTV9JTkZPX01NQVAgfAorCQkgU05EUlZfUENNX0lORk9fTU1BUF9WQUxJRCB8CisJCSBTTkRSVl9QQ01fSU5GT19JTlRFUkxFQVZFRCB8CisJCSBTTkRSVl9QQ01fSU5GT19CTE9DS19UUkFOU0ZFUiksCisJLmZvcm1hdHMgPSAgICAgICAgICBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSwKKwkucmF0ZXMgPSAgICAgICAgICAgIFNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAsCisJLnJhdGVfbWluID0gICAgICAgICA4MDAwLAorCS5yYXRlX21heCA9ICAgICAgICAgNDgwMDAsCisJLmNoYW5uZWxzX21pbiA9ICAgICAyLAorCS5jaGFubmVsc19tYXggPSAgICAgMiwKKwkuYnVmZmVyX2J5dGVzX21heCA9IDY1NTM2LAorCS5wZXJpb2RfYnl0ZXNfbWluID0gMzI3NjgsCisJLnBlcmlvZF9ieXRlc19tYXggPSA2NTUzNiwKKwkucGVyaW9kc19taW4gPSAgICAgIDEsCisJLnBlcmlvZHNfbWF4ID0gICAgICAxMDI0LAorfTsKKworLyogUENNIHBsYXliYWNrIG9wZW4gY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGxheWJhY2sxX29wZW4oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlydW50aW1lLT5odyA9IHNuZF9zZ2lvMmF1ZGlvX3BjbV9odzsKKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSAmY2hpcC0+Y2hhbm5lbFsxXTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazJfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKworCXJ1bnRpbWUtPmh3ID0gc25kX3NnaW8yYXVkaW9fcGNtX2h3OworCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9ICZjaGlwLT5jaGFubmVsWzJdOworCXJldHVybiAwOworfQorCisvKiBQQ00gY2FwdHVyZSBvcGVuIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX2NhcHR1cmVfb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKworCXJ1bnRpbWUtPmh3ID0gc25kX3NnaW8yYXVkaW9fcGNtX2h3OworCXJ1bnRpbWUtPnByaXZhdGVfZGF0YSA9ICZjaGlwLT5jaGFubmVsWzBdOworCXJldHVybiAwOworfQorCisvKiBQQ00gY2xvc2UgY2FsbGJhY2sgKi8KK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fcGNtX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisKKwlydW50aW1lLT5wcml2YXRlX2RhdGEgPSBOVUxMOworCXJldHVybiAwOworfQorCisKKy8qIGh3X3BhcmFtcyBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCQlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKmh3X3BhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCWludCBzaXplID0gcGFyYW1zX2J1ZmZlcl9ieXRlcyhod19wYXJhbXMpOworCisJLyogYWxsb2MgdmlydHVhbCAnZG1hJyBhcmVhICovCisJaWYgKHJ1bnRpbWUtPmRtYV9hcmVhKQorCQl2ZnJlZShydW50aW1lLT5kbWFfYXJlYSk7CisJcnVudGltZS0+ZG1hX2FyZWEgPSB2bWFsbG9jKHNpemUpOworCWlmIChydW50aW1lLT5kbWFfYXJlYSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKwlydW50aW1lLT5kbWFfYnl0ZXMgPSBzaXplOworCXJldHVybiAwOworfQorCisvKiBod19mcmVlIGNhbGxiYWNrICovCitzdGF0aWMgaW50IHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCWlmIChzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhKQorCQl2ZnJlZShzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhKTsKKwlzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hcmVhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworLyogcHJlcGFyZSBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21fcHJlcGFyZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW9fY2hhbiAqY2hhbiA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCWludCBjaCA9IGNoYW4tPmlkeDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKworCS8qIFNldHVwIHRoZSBwc2V1ZG8tZG1hIHRyYW5zZmVyIHBvaW50ZXJzLiAgKi8KKwljaGlwLT5jaGFubmVsW2NoXS5wb3MgPSAwOworCWNoaXAtPmNoYW5uZWxbY2hdLnNpemUgPSAwOworCWNoaXAtPmNoYW5uZWxbY2hdLnN1YnN0cmVhbSA9IHN1YnN0cmVhbTsKKworCS8qIHNldCBBRDE4NDMgZm9ybWF0ICovCisJLyogaGFyZHdhcmUgZm9ybWF0IGlzIGFsd2F5cyBTMTZfTEUgKi8KKwlzd2l0Y2ggKHN1YnN0cmVhbS0+c3RyZWFtKSB7CisJY2FzZSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLOgorCQlhZDE4NDNfc2V0dXBfZGFjKCZjaGlwLT5hZDE4NDMsCisJCQkJIGNoIC0gMSwKKwkJCQkgcnVudGltZS0+cmF0ZSwKKwkJCQkgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEUsCisJCQkJIHJ1bnRpbWUtPmNoYW5uZWxzKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkU6CisJCWFkMTg0M19zZXR1cF9hZGMoJmNoaXAtPmFkMTg0MywKKwkJCQkgcnVudGltZS0+cmF0ZSwKKwkJCQkgU05EUlZfUENNX0ZPUk1BVF9TMTZfTEUsCisJCQkJIHJ1bnRpbWUtPmNoYW5uZWxzKTsKKwkJYnJlYWs7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPmNoYW5uZWxbY2hdLmxvY2ssIGZsYWdzKTsKKwlyZXR1cm4gMDsKK30KKworLyogdHJpZ2dlciBjYWxsYmFjayAqLworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19wY21fdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgICAgICBpbnQgY21kKQoreworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVEFSVDoKKwkJLyogc3RhcnQgdGhlIFBDTSBlbmdpbmUgKi8KKwkJc25kX3NnaW8yYXVkaW9fZG1hX3N0YXJ0KHN1YnN0cmVhbSk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwkJLyogc3RvcCB0aGUgUENNIGVuZ2luZSAqLworCQlzbmRfc2dpbzJhdWRpb19kbWFfc3RvcChzdWJzdHJlYW0pOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIHBvaW50ZXIgY2FsbGJhY2sgKi8KK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdAorc25kX3NnaW8yYXVkaW9fcGNtX3BvaW50ZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwID0gc25kX3BjbV9zdWJzdHJlYW1fY2hpcChzdWJzdHJlYW0pOworCXN0cnVjdCBzbmRfc2dpbzJhdWRpb19jaGFuICpjaGFuID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisKKwkvKiBnZXQgdGhlIGN1cnJlbnQgaGFyZHdhcmUgcG9pbnRlciAqLworCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLAorCQkJICAgICAgIGNoaXAtPmNoYW5uZWxbY2hhbi0+aWR4XS5wb3MpOworfQorCisvKiBnZXQgdGhlIHBoeXNpY2FsIHBhZ2UgcG9pbnRlciBvbiB0aGUgZ2l2ZW4gb2Zmc2V0ICovCitzdGF0aWMgc3RydWN0IHBhZ2UgKnNuZF9zZ2lvMmF1ZGlvX3BhZ2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJCXVuc2lnbmVkIGxvbmcgb2Zmc2V0KQoreworCXJldHVybiB2bWFsbG9jX3RvX3BhZ2Uoc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYXJlYSArIG9mZnNldCk7Cit9CisKKy8qIG9wZXJhdG9ycyAqLworc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBzbmRfc2dpbzJhdWRpb19wbGF5YmFjazFfb3BzID0geworCS5vcGVuID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMV9vcGVuLAorCS5jbG9zZSA9ICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wb2ludGVyLAorCS5wYWdlID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BhZ2UsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9wY21fb3BzIHNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMl9vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGxheWJhY2syX29wZW4sCisJLmNsb3NlID0gICAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2Nsb3NlLAorCS5pb2N0bCA9ICAgICAgIHNuZF9wY21fbGliX2lvY3RsLAorCS5od19wYXJhbXMgPSAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19wYXJhbXMsCisJLmh3X2ZyZWUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX2h3X2ZyZWUsCisJLnByZXBhcmUgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3RyaWdnZXIsCisJLnBvaW50ZXIgPSAgICAgc25kX3NnaW8yYXVkaW9fcGNtX3BvaW50ZXIsCisJLnBhZ2UgPSAgICAgICAgc25kX3NnaW8yYXVkaW9fcGFnZSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgc25kX3NnaW8yYXVkaW9fY2FwdHVyZV9vcHMgPSB7CisJLm9wZW4gPSAgICAgICAgc25kX3NnaW8yYXVkaW9fY2FwdHVyZV9vcGVuLAorCS5jbG9zZSA9ICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSAgICAgICBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gICBzbmRfc2dpbzJhdWRpb19wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9od19mcmVlLAorCS5wcmVwYXJlID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wcmVwYXJlLAorCS50cmlnZ2VyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gICAgIHNuZF9zZ2lvMmF1ZGlvX3BjbV9wb2ludGVyLAorCS5wYWdlID0gICAgICAgIHNuZF9zZ2lvMmF1ZGlvX3BhZ2UsCit9OworCisvKgorICogIGRlZmluaXRpb25zIG9mIGNhcHR1cmUgYXJlIG9taXR0ZWQgaGVyZS4uLgorICovCisKKy8qIGNyZWF0ZSBhIHBjbSBkZXZpY2UgKi8KK3N0YXRpYyBpbnQgX19kZXZpbml0IHNuZF9zZ2lvMmF1ZGlvX25ld19wY20oc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwKQoreworCXN0cnVjdCBzbmRfcGNtICpwY207CisJaW50IGVycjsKKworCS8qIGNyZWF0ZSBmaXJzdCBwY20gZGV2aWNlIHdpdGggb25lIG91dHB1dHMgYW5kIG9uZSBpbnB1dCAqLworCWVyciA9IHNuZF9wY21fbmV3KGNoaXAtPmNhcmQsICJTR0kgTzIgQXVkaW8iLCAwLCAxLCAxLCAmcGNtKTsKKwlpZiAoZXJyIDwgMCkKKwkJcmV0dXJuIGVycjsKKworCXBjbS0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKKwlzdHJjcHkocGNtLT5uYW1lLCAiU0dJIE8yIERBQzEiKTsKKworCS8qIHNldCBvcGVyYXRvcnMgKi8KKwlzbmRfcGNtX3NldF9vcHMocGNtLCBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLLAorCQkJJnNuZF9zZ2lvMmF1ZGlvX3BsYXliYWNrMV9vcHMpOworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fQ0FQVFVSRSwKKwkJCSZzbmRfc2dpbzJhdWRpb19jYXB0dXJlX29wcyk7CisKKwkvKiBjcmVhdGUgc2Vjb25kICBwY20gZGV2aWNlIHdpdGggb25lIG91dHB1dHMgYW5kIG5vIGlucHV0ICovCisJZXJyID0gc25kX3BjbV9uZXcoY2hpcC0+Y2FyZCwgIlNHSSBPMiBBdWRpbyIsIDEsIDEsIDAsICZwY20pOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJcGNtLT5wcml2YXRlX2RhdGEgPSBjaGlwOworCXN0cmNweShwY20tPm5hbWUsICJTR0kgTzIgREFDMiIpOworCisJLyogc2V0IG9wZXJhdG9ycyAqLworCXNuZF9wY21fc2V0X29wcyhwY20sIFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0ssCisJCQkmc25kX3NnaW8yYXVkaW9fcGxheWJhY2syX29wcyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCB7CisJaW50IGlkeDsKKwlpbnQgaXJxOworCWlycXJldHVybl90ICgqaXNyKShpbnQsIHZvaWQgKik7CisJY29uc3QgY2hhciAqZGVzYzsKK30gc25kX3NnaW8yX2lzcl90YWJsZVtdID0geworCXsKKwkJLmlkeCA9IDAsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMV9ETUFUX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2RtYV9pbl9pc3IsCisJCS5kZXNjID0gIkNhcHR1cmUgRE1BIENoYW5uZWwgMCIKKwl9LCB7CisJCS5pZHggPSAwLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzFfT0ZfSVJRLAorCQkuaXNyID0gc25kX3NnaW8yYXVkaW9fZXJyb3JfaXNyLAorCQkuZGVzYyA9ICJDYXB0dXJlIE92ZXJmbG93IgorCX0sIHsKKwkJLmlkeCA9IDEsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMl9ETUFUX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2RtYV9vdXRfaXNyLAorCQkuZGVzYyA9ICJQbGF5YmFjayBETUEgQ2hhbm5lbCAxIgorCX0sIHsKKwkJLmlkeCA9IDEsCisJCS5pcnEgPSBNQUNFSVNBX0FVRElPMl9NRVJSX0lSUSwKKwkJLmlzciA9IHNuZF9zZ2lvMmF1ZGlvX2Vycm9yX2lzciwKKwkJLmRlc2MgPSAiTWVtb3J5IEVycm9yIENoYW5uZWwgMSIKKwl9LCB7CisJCS5pZHggPSAyLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzNfRE1BVF9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19kbWFfb3V0X2lzciwKKwkJLmRlc2MgPSAiUGxheWJhY2sgRE1BIENoYW5uZWwgMiIKKwl9LCB7CisJCS5pZHggPSAyLAorCQkuaXJxID0gTUFDRUlTQV9BVURJTzNfTUVSUl9JUlEsCisJCS5pc3IgPSBzbmRfc2dpbzJhdWRpb19lcnJvcl9pc3IsCisJCS5kZXNjID0gIk1lbW9yeSBFcnJvciBDaGFubmVsIDIiCisJfQorfTsKKworLyogQUxTQSBkcml2ZXIgKi8KKworc3RhdGljIGludCBzbmRfc2dpbzJhdWRpb19mcmVlKHN0cnVjdCBzbmRfc2dpbzJhdWRpbyAqY2hpcCkKK3sKKwlpbnQgaTsKKworCS8qIHJlc2V0IGludGVyZmFjZSAqLworCXdyaXRlcShBVURJT19DT05UUk9MX1JFU0VULCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisJdWRlbGF5KDEpOworCXdyaXRlcSgwLCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisKKwkvKiByZWxlYXNlIElSUSdzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc25kX3NnaW8yX2lzcl90YWJsZSk7IGkrKykKKwkJZnJlZV9pcnEoc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pcnEsCisJCQkgJmNoaXAtPmNoYW5uZWxbc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pZHhdKTsKKworCWRtYV9mcmVlX2NvaGVyZW50KE5VTEwsIE1BQ0VJU0FfUklOR0JVRkZFUlNfU0laRSwKKwkJCSAgY2hpcC0+cmluZ19iYXNlLCBjaGlwLT5yaW5nX2Jhc2VfZG1hKTsKKworCS8qIHJlbGVhc2UgY2FyZCBkYXRhICovCisJa2ZyZWUoY2hpcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc25kX3NnaW8yYXVkaW9fZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc25kX3NnaW8yYXVkaW8gKmNoaXAgPSBkZXZpY2UtPmRldmljZV9kYXRhOworCisJcmV0dXJuIHNuZF9zZ2lvMmF1ZGlvX2ZyZWUoY2hpcCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2RldmljZV9vcHMgb3BzID0geworCS5kZXZfZnJlZSA9IHNuZF9zZ2lvMmF1ZGlvX2Rldl9mcmVlLAorfTsKKworc3RhdGljIGludCBfX2RldmluaXQgc25kX3NnaW8yYXVkaW9fY3JlYXRlKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKKwkJCQkJICAgc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICoqcmNoaXApCit7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwOworCWludCBpLCBlcnI7CisKKwkqcmNoaXAgPSBOVUxMOworCisJLyogY2hlY2sgaWYgYSBjb2RlYyBpcyBhdHRhY2hlZCB0byB0aGUgaW50ZXJmYWNlICovCisJLyogKEF1ZGlvIG9yIEF1ZGlvL1ZpZGVvIGJvYXJkIHByZXNlbnQpICovCisJaWYgKCEocmVhZHEoJm1hY2UtPnBlcmlmLmF1ZGlvLmNvbnRyb2wpICYgQVVESU9fQ09OVFJPTF9DT0RFQ19QUkVTRU5UKSkKKwkJcmV0dXJuIC1FTk9FTlQ7CisKKwljaGlwID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zZ2lvMmF1ZGlvKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNoaXAgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwljaGlwLT5jYXJkID0gY2FyZDsKKworCWNoaXAtPnJpbmdfYmFzZSA9IGRtYV9hbGxvY19jb2hlcmVudChOVUxMLCBNQUNFSVNBX1JJTkdCVUZGRVJTX1NJWkUsCisJCQkJCSAgICAgJmNoaXAtPnJpbmdfYmFzZV9kbWEsIEdGUF9VU0VSKTsKKwlpZiAoY2hpcC0+cmluZ19iYXNlID09IE5VTEwpIHsKKwkJcHJpbnRrKEtFUk5fRVJSCisJCSAgICAgICAic2dpbzJhdWRpbzogY291bGQgbm90IGFsbG9jYXRlIHJpbmcgYnVmZmVyc1xuIik7CisJCWtmcmVlKGNoaXApOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlzcGluX2xvY2tfaW5pdCgmY2hpcC0+YWQxODQzX2xvY2spOworCisJLyogaW5pdGlhbGl6ZSBjaGFubmVscyAqLworCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspIHsKKwkJc3Bpbl9sb2NrX2luaXQoJmNoaXAtPmNoYW5uZWxbaV0ubG9jayk7CisJCWNoaXAtPmNoYW5uZWxbaV0uaWR4ID0gaTsKKwl9CisKKwkvKiBhbGxvY2F0ZSBJUlFzICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc25kX3NnaW8yX2lzcl90YWJsZSk7IGkrKykgeworCQlpZiAocmVxdWVzdF9pcnEoc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pcnEsCisJCQkJc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pc3IsCisJCQkJMCwKKwkJCQlzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmRlc2MsCisJCQkJJmNoaXAtPmNoYW5uZWxbc25kX3NnaW8yX2lzcl90YWJsZVtpXS5pZHhdKSkgeworCQkJc25kX3NnaW8yYXVkaW9fZnJlZShjaGlwKTsKKwkJCXByaW50ayhLRVJOX0VSUiAic2dpbzJhdWRpbzogY2Fubm90IGFsbG9jYXRlIGlycSAlZFxuIiwKKwkJCSAgICAgICBzbmRfc2dpbzJfaXNyX3RhYmxlW2ldLmlycSk7CisJCQlyZXR1cm4gLUVCVVNZOworCQl9CisJfQorCisJLyogcmVzZXQgdGhlIGludGVyZmFjZSAqLworCXdyaXRlcShBVURJT19DT05UUk9MX1JFU0VULCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisJdWRlbGF5KDEpOworCXdyaXRlcSgwLCAmbWFjZS0+cGVyaWYuYXVkaW8uY29udHJvbCk7CisJbXNsZWVwX2ludGVycnVwdGlibGUoMSk7IC8qIGdpdmUgdGltZSB0byByZWNvdmVyICovCisKKwkvKiBzZXQgcmluZyBiYXNlICovCisJd3JpdGVxKGNoaXAtPnJpbmdfYmFzZV9kbWEsICZtYWNlLT5wZXJpZi5jdHJsLnJpbmdiYXNlKTsKKworCS8qIGF0dGFjaCB0aGUgQUQxODQzIGNvZGVjICovCisJY2hpcC0+YWQxODQzLnJlYWQgPSByZWFkX2FkMTg0M19yZWc7CisJY2hpcC0+YWQxODQzLndyaXRlID0gd3JpdGVfYWQxODQzX3JlZzsKKwljaGlwLT5hZDE4NDMuY2hpcCA9IGNoaXA7CisKKwkvKiBpbml0aWFsaXplIHRoZSBBRDE4NDMgY29kZWMgKi8KKwllcnIgPSBhZDE4NDNfaW5pdCgmY2hpcC0+YWQxODQzKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfc2dpbzJhdWRpb19mcmVlKGNoaXApOworCQlyZXR1cm4gZXJyOworCX0KKworCWVyciA9IHNuZF9kZXZpY2VfbmV3KGNhcmQsIFNORFJWX0RFVl9MT1dMRVZFTCwgY2hpcCwgJm9wcyk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX3NnaW8yYXVkaW9fZnJlZShjaGlwKTsKKwkJcmV0dXJuIGVycjsKKwl9CisJKnJjaGlwID0gY2hpcDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2RldmluaXQgc25kX3NnaW8yYXVkaW9fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CisJc3RydWN0IHNuZF9zZ2lvMmF1ZGlvICpjaGlwOworCWludCBlcnI7CisKKwljYXJkID0gc25kX2NhcmRfbmV3KGluZGV4LCBpZCwgVEhJU19NT0RVTEUsIDApOworCWlmIChjYXJkID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJZXJyID0gc25kX3NnaW8yYXVkaW9fY3JlYXRlKGNhcmQsICZjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwlzbmRfY2FyZF9zZXRfZGV2KGNhcmQsICZwZGV2LT5kZXYpOworCisJZXJyID0gc25kX3NnaW8yYXVkaW9fbmV3X3BjbShjaGlwKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwllcnIgPSBzbmRfc2dpbzJhdWRpb19uZXdfbWl4ZXIoY2hpcCk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX2NhcmRfZnJlZShjYXJkKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlzdHJjcHkoY2FyZC0+ZHJpdmVyLCAiU0dJIE8yIEF1ZGlvIik7CisJc3RyY3B5KGNhcmQtPnNob3J0bmFtZSwgIlNHSSBPMiBBdWRpbyIpOworCXNwcmludGYoY2FyZC0+bG9uZ25hbWUsICIlcyBpcnEgJWktJWkiLAorCQljYXJkLT5zaG9ydG5hbWUsCisJCU1BQ0VJU0FfQVVESU8xX0RNQVRfSVJRLAorCQlNQUNFSVNBX0FVRElPM19NRVJSX0lSUSk7CisKKwllcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKTsKKwlpZiAoZXJyIDwgMCkgeworCQlzbmRfY2FyZF9mcmVlKGNhcmQpOworCQlyZXR1cm4gZXJyOworCX0KKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBjYXJkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX2V4aXQgc25kX3NnaW8yYXVkaW9fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlzbmRfY2FyZF9mcmVlKGNhcmQpOworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBzZ2lvMmF1ZGlvX2RyaXZlciA9IHsKKwkucHJvYmUJPSBzbmRfc2dpbzJhdWRpb19wcm9iZSwKKwkucmVtb3ZlCT0gX19kZXZleGl0X3Aoc25kX3NnaW8yYXVkaW9fcmVtb3ZlKSwKKwkuZHJpdmVyID0geworCQkubmFtZQk9ICJzZ2lvMmF1ZGlvIiwKKwkJLm93bmVyCT0gVEhJU19NT0RVTEUsCisJfQorfTsKKworc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX3NnaW8yYXVkaW9faW5pdCh2b2lkKQoreworCXJldHVybiBwbGF0Zm9ybV9kcml2ZXJfcmVnaXN0ZXIoJnNnaW8yYXVkaW9fZHJpdmVyKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGFsc2FfY2FyZF9zZ2lvMmF1ZGlvX2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmc2dpbzJhdWRpb19kcml2ZXIpOworfQorCittb2R1bGVfaW5pdChhbHNhX2NhcmRfc2dpbzJhdWRpb19pbml0KQorbW9kdWxlX2V4aXQoYWxzYV9jYXJkX3NnaW8yYXVkaW9fZXhpdCkKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9LY29uZmlnIGIvc291bmQvb3NzL0tjb25maWcKaW5kZXggM2JlMmRjMS4uMzM5NDAxMyAxMDA2NDQKLS0tIGEvc291bmQvb3NzL0tjb25maWcKKysrIGIvc291bmQvb3NzL0tjb25maWcKQEAgLTcsNyArNyw3IEBACiAKIGNvbmZpZyBTT1VORF9CQ01fQ1M0Mjk3QQogCXRyaXN0YXRlICJDcnlzdGFsIFNvdW5kIENTNDI5N2EgKGZvciBTd2FybSkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBTSUJZVEVfU1dBUk0KKwlkZXBlbmRzIG9uIFNJQllURV9TV0FSTQogCWhlbHAKIAkgIFRoZSBCQ005MTI1MEEgaGFzIGEgQ3J5c3RhbCBDUzQyOTdhIG9uIHN5bmNocm9ub3VzIHNlcmlhbAogCSAgcG9ydCBCIChpbiBhZGRpdGlvbiB0byB0aGUgREItOSBzZXJpYWwgcG9ydCkuICBTYXkgWSBvciBNCkBAIC0xNyw3ICsxNyw3IEBACiAKIGNvbmZpZyBTT1VORF9WV1NORAogCXRyaXN0YXRlICJTR0kgVmlzdWFsIFdvcmtzdGF0aW9uIFNvdW5kIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgWDg2X1ZJU1dTCisJZGVwZW5kcyBvbiBYODZfVklTV1MKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSBoYXZlIGFuIFNHSSBWaXN1YWwgV29ya3N0YXRpb24gYW5kIHlvdSB3YW50IHRvIGJlCiAJICBhYmxlIHRvIHVzZSBpdHMgb24tYm9hcmQgYXVkaW8uICBSZWFkCkBAIC0yNiwxOSArMjYsMTggQEAKIAogY29uZmlnIFNPVU5EX0hBTDIKIAl0cmlzdGF0ZSAiU0dJIEhBTDIgc291bmQgKEVYUEVSSU1FTlRBTCkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBTR0lfSVAyMiAmJiBFWFBFUklNRU5UQUwKKwlkZXBlbmRzIG9uIFNHSV9JUDIyICYmIEVYUEVSSU1FTlRBTAogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IGhhdmUgYW4gU0dJIEluZHkgb3IgSW5kaWdvMiBzeXN0ZW0gYW5kIHdhbnQgdG8gYmUgYWJsZSB0bwogCSAgdXNlIGl0cyBvbi1ib2FyZCBBMiBhdWRpbyBzeXN0ZW0uCiAKIGNvbmZpZyBTT1VORF9BVTE1NTBfQUM5NwogCXRyaXN0YXRlICJBdTE1NTAvQXUxMjAwIEFDOTcgU291bmQiCi0Jc2VsZWN0IFNORF9BQzk3X0NPREVDCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiAoU09DX0FVMTU1MCB8fCBTT0NfQVUxMjAwKQorCWRlcGVuZHMgb24gU09DX0FVMTU1MCB8fCBTT0NfQVUxMjAwCiAKIGNvbmZpZyBTT1VORF9UUklERU5UCiAJdHJpc3RhdGUgIlRyaWRlbnQgNERXYXZlIERYL05YLCBTaVMgNzAxOCBvciBBTGkgNTQ1MSBQQ0kgQXVkaW8gQ29yZSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFBDSQorCWRlcGVuZHMgb24gUENJCiAJLS0taGVscC0tLQogCSAgU2F5IFkgb3IgTSBpZiB5b3UgaGF2ZSBhIFBDSSBzb3VuZCBjYXJkIHV0aWxpemluZyB0aGUgVHJpZGVudAogCSAgNERXYXZlLURYL05YIGNoaXBzZXQgb3IgeW91ciBtb3RoZXIgYm9hcmQgY2hpcHNldCBoYXMgU2lTIDcwMTgKQEAgLTc5LDcgKzc4LDcgQEAKIAogY29uZmlnIFNPVU5EX01TTkRDTEFTCiAJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIENsYXNzaWMsIFRhaGl0aSwgTW9udGVyZXkiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiAobSB8fCAhU1RBTkRBTE9ORSkgJiYgSVNBCisJZGVwZW5kcyBvbiAobSB8fCAhU1RBTkRBTE9ORSkgJiYgSVNBCiAJaGVscAogCSAgU2F5IE0gaGVyZSBpZiB5b3UgaGF2ZSBhIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIENsYXNzaWMsIFRhaGl0aSBvcgogCSAgTW9udGVyZXkgKG5vdCBmb3IgdGhlIFBpbm5hY2xlIG9yIEZpamkpLgpAQCAtMTQzLDcgKzE0Miw3IEBACiAKIGNvbmZpZyBTT1VORF9NU05EUElOCiAJdHJpc3RhdGUgIlN1cHBvcnQgZm9yIFR1cnRsZSBCZWFjaCBNdWx0aVNvdW5kIFBpbm5hY2xlLCBGaWppIgotCWRlcGVuZHMgb24gU09VTkRfUFJJTUUgJiYgKG0gfHwgIVNUQU5EQUxPTkUpICYmIElTQQorCWRlcGVuZHMgb24gKG0gfHwgIVNUQU5EQUxPTkUpICYmIElTQQogCWhlbHAKIAkgIFNheSBNIGhlcmUgaWYgeW91IGhhdmUgYSBUdXJ0bGUgQmVhY2ggTXVsdGlTb3VuZCBQaW5uYWNsZSBvciBGaWppLgogCSAgU2VlIDxmaWxlOkRvY3VtZW50YXRpb24vc291bmQvb3NzL011bHRpU291bmQ+IGZvciBpbXBvcnRhbnQgaW5mb3JtYXRpb24KQEAgLTIyOSw3ICsyMjgsNyBAQAogCSAgY29uZmlndXJlIHRoZSBjYXJkJ3MgcmVzb3VyY2VzLgogCiBjb21tZW50ICJNU05EIFBpbm5hY2xlIERTUCBzZWN0aW9uIHdpbGwgYmUgY29uZmlndXJlZCB0byBhYm92ZSBwYXJhbWV0ZXJzLiIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCiAKIGNvbmZpZyBNU05EUElOX0NGRwogCWhleCAiTVNORCBQaW5uYWNsZSBjb25maWcgcG9ydCAyNTAsMjYwLDI3MCIKQEAgLTI0Miw3ICsyNDEsNyBAQAogCSAgTW9kZSIuCiAKIGNvbW1lbnQgIlBpbm5hY2xlLXNwZWNpZmljIERldmljZSBDb25maWd1cmF0aW9uICgwIGRpc2FibGVzKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIFNPVU5EX01TTkRQSU49eSAmJiBNU05EUElOX05PTlBOUAorCWRlcGVuZHMgb24gU09VTkRfTVNORFBJTj15ICYmIE1TTkRQSU5fTk9OUE5QCiAKIGNvbmZpZyBNU05EUElOX01QVV9JTwogCWhleCAiTVNORCBQaW5uYWNsZSBNUFUgSS9PIChlLmcuIDMzMCkiCkBAIC0yOTQsNyArMjkzLDcgQEAKIAogY29uZmlnIE1TTkRfRklGT1NJWkUKIAlpbnQgIk1TTkQgYnVmZmVyIHNpemUgKGtCKSIKLQlkZXBlbmRzIG9uIFNPVU5EX1BSSU1FICYmIChTT1VORF9NU05EUElOPXkgfHwgU09VTkRfTVNORENMQVM9eSkKKwlkZXBlbmRzIG9uIFNPVU5EX01TTkRQSU49eSB8fCBTT1VORF9NU05EQ0xBUz15CiAJZGVmYXVsdCAiMTI4IgogCWhlbHAKIAkgIENvbmZpZ3VyZXMgdGhlIHNpemUgb2YgZWFjaCBhdWRpbyBidWZmZXIsIGluIGtpbG9ieXRlcywgZm9yCkBAIC0zMDIsOSArMzAxLDkgQEAKIAkgIGFuZCBQaW5uYWNsZSkuIExhcmdlciB2YWx1ZXMgcmVkdWNlIHRoZSBjaGFuY2Ugb2YgZGF0YSBvdmVycnVucyBhdAogCSAgdGhlIGV4cGVuc2Ugb2Ygb3ZlcmFsbCBsYXRlbmN5LiBJZiB1bnN1cmUsIHVzZSB0aGUgZGVmYXVsdC4KIAotY29uZmlnIFNPVU5EX09TUworbWVudWNvbmZpZyBTT1VORF9PU1MKIAl0cmlzdGF0ZSAiT1NTIHNvdW5kIG1vZHVsZXMiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBJU0FfRE1BX0FQSSAmJiBWSVJUX1RPX0JVUworCWRlcGVuZHMgb24gSVNBX0RNQV9BUEkgJiYgVklSVF9UT19CVVMKIAloZWxwCiAJICBPU1MgaXMgdGhlIE9wZW4gU291bmQgU3lzdGVtIHN1aXRlIG9mIHNvdW5kIGNhcmQgZHJpdmVycy4gIFRoZXkgbWFrZQogCSAgc291bmQgcHJvZ3JhbW1pbmcgZWFzaWVyIHNpbmNlIHRoZXkgcHJvdmlkZSBhIGNvbW1vbiBBUEkuICBTYXkgWSBvcgpAQCAtMzEyLDE2ICszMTEsMTYgQEAKIAkgIGRyaXZlciBmb3IgeW91ciBzb3VuZCBjYXJkIGFib3ZlLCB0aGVuIHBpY2sgeW91ciBkcml2ZXIgZnJvbSB0aGUKIAkgIGxpc3QgYmVsb3cuCiAKK2lmIFNPVU5EX09TUworCiBjb25maWcgU09VTkRfVFJBQ0VJTklUCiAJYm9vbCAiVmVyYm9zZSBpbml0aWFsaXNhdGlvbiIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFZlcmJvc2Ugc291bmRjYXJkIGluaXRpYWxpemF0aW9uIC0tIGFmZmVjdHMgdGhlIGZvcm1hdCBvZiBhdXRvcHJvYmUKIAkgIGFuZCBpbml0aWFsaXphdGlvbiBtZXNzYWdlcyBhdCBib290IHRpbWUuCiAKIGNvbmZpZyBTT1VORF9ETUFQCiAJYm9vbCAiUGVyc2lzdGVudCBETUEgYnVmZmVycyIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIExpbnV4IGNhbiBvZnRlbiBoYXZlIHByb2JsZW1zIGFsbG9jYXRpbmcgRE1BIGJ1ZmZlcnMgZm9yIElTQSBzb3VuZAogCSAgY2FyZHMgb24gbWFjaGluZXMgd2l0aCBtb3JlIHRoYW4gMTZNQiBvZiBSQU0uIFRoaXMgaXMgYmVjYXVzZSBJU0EKQEAgLTMzOCw4ICszMzcsNiBAQAogCiBjb25maWcgU09VTkRfU1NDQVBFCiAJdHJpc3RhdGUgIkVuc29uaXEgU291bmRTY2FwZSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCi0JZGVwZW5kcyBvbiBWSVJUX1RPX0JVUwogCWhlbHAKIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGEgc291bmQgY2FyZCBiYXNlZCBvbiB0aGUgRW5zb25pcSBTb3VuZFNjYXBlCiAJICBjaGlwc2V0LiBTdWNoIGNhcmRzIGFyZSBiZWluZyBtYW51ZmFjdHVyZWQgYXQgbGVhc3QgYnkgRW5zb25pcSwgU3BlYQpAQCAtMzUyLDEzICszNDksMTEgQEAKIAogY29uZmlnIFNPVU5EX1ZNSURJCiAJdHJpc3RhdGUgIkxvb3BiYWNrIE1JREkgZGV2aWNlIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAloZWxwCiAJICBTdXBwb3J0IGZvciBNSURJIGxvb3BiYWNrIG9uIHBvcnQgMSBvciAyLgogCiBjb25maWcgU09VTkRfVFJJWAogCXRyaXN0YXRlICJNZWRpYVRyaXggQXVkaW9Ucml4IFBybyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJaGVscAogCSAgQW5zd2VyIFkgaWYgeW91IGhhdmUgdGhlIEF1ZGlvVHJpWCBQcm8gc291bmQgY2FyZCBtYW51ZmFjdHVyZWQKIAkgIGJ5IE1lZGlhVHJpeC4KQEAgLTM4Miw3ICszNzcsNiBAQAogCiBjb25maWcgU09VTkRfTVNTCiAJdHJpc3RhdGUgIk1pY3Jvc29mdCBTb3VuZCBTeXN0ZW0gc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFnYWluIHRoaW5rIGNhcmVmdWxseSBiZWZvcmUgYW5zd2VyaW5nIFkgdG8gdGhpcyBxdWVzdGlvbi4gIEl0J3MKIAkgIHNhZmUgdG8gYW5zd2VyIFkgaWYgeW91IGhhdmUgdGhlIG9yaWdpbmFsIFdpbmRvd3MgU291bmQgU3lzdGVtIGNhcmQKQEAgLTQxNCw3ICs0MDgsNiBAQAogCiBjb25maWcgU09VTkRfTVBVNDAxCiAJdHJpc3RhdGUgIk1QVS00MDEgc3VwcG9ydCAoTk9UIGZvciBTQjE2KSIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEJlIGNhcmVmdWwgd2l0aCB0aGlzIHF1ZXN0aW9uLiAgVGhlIE1QVTQwMSBpbnRlcmZhY2UgaXMgc3VwcG9ydGVkIGJ5CiAJICBhbGwgc291bmQgY2FyZHMuICBIb3dldmVyLCBzb21lIG5hdGl2ZWx5IHN1cHBvcnRlZCBjYXJkcyBoYXZlIHRoZWlyCkBAIC00MzAsNyArNDIzLDYgQEAKIAogY29uZmlnIFNPVU5EX1BBUwogCXRyaXN0YXRlICJQcm9BdWRpb1NwZWN0cnVtIDE2IHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBvbmx5IGlmIHlvdSBoYXZlIGEgUHJvIEF1ZGlvIFNwZWN0cnVtIDE2LCBQcm9BdWRpbyBTdHVkaW8KIAkgIDE2IG9yIExvZ2l0ZWNoIFNvdW5kTWFuIDE2IHNvdW5kIGNhcmQuIEFuc3dlciBOIGlmIHlvdSBoYXZlIHNvbWUKQEAgLTQ1Miw3ICs0NDQsNiBAQAogCiBjb25maWcgU09VTkRfUFNTCiAJdHJpc3RhdGUgIlBTUyAoQUQxODQ4LCBBRFNQLTIxMTUsIEVTQzYxNCkgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIEFuc3dlciBZIG9yIE0gaWYgeW91IGhhdmUgYW4gT3JjaGlkIFNXMzIsIENhcmRpbmFsIERTUDE2LCBCZWV0aG92ZW4KIAkgIEFEU1AtMTYgb3Igc29tZSBvdGhlciBjYXJkIGJhc2VkIG9uIHRoZSBQU1MgY2hpcHNldCAoQUQxODQ4IGNvZGVjICsKQEAgLTQ5NSw3ICs0ODYsNiBAQAogCiBjb25maWcgU09VTkRfU0IKIAl0cmlzdGF0ZSAiMTAwJSBTb3VuZCBCbGFzdGVyIGNvbXBhdGlibGVzIChTQjE2LzMyLzY0LCBFU1MsIEphenoxNikgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCS0tLWhlbHAtLS0KIAkgIEFuc3dlciBZIGlmIHlvdSBoYXZlIGFuIG9yaWdpbmFsIFNvdW5kIEJsYXN0ZXIgY2FyZCBtYWRlIGJ5IENyZWF0aXZlCiAJICBMYWJzIG9yIGEgMTAwJSBoYXJkd2FyZSBjb21wYXRpYmxlIGNsb25lIChsaWtlIHRoZSBUaHVuZGVyYm9hcmQgb3IKQEAgLTUyMiw3ICs1MTIsNiBAQAogCiBjb25maWcgU09VTkRfWU0zODEyCiAJdHJpc3RhdGUgIllhbWFoYSBGTSBzeW50aGVzaXplciAoWU0zODEyL09QTC0zKSBzdXBwb3J0IgotCWRlcGVuZHMgb24gU09VTkRfT1NTCiAJLS0taGVscC0tLQogCSAgQW5zd2VyIFkgaWYgeW91ciBjYXJkIGhhcyBhIEZNIGNoaXAgbWFkZSBieSBZYW1haGEgKE9QTDIvT1BMMy9PUEw0KS4KIAkgIEFuc3dlcmluZyBZIGlzIHVzdWFsbHkgYSBzYWZlIGFuZCByZWNvbW1lbmRlZCBjaG9pY2UsIGhvd2V2ZXIgc29tZQpAQCAtNTM4LDcgKzUyNyw2IEBACiAKIGNvbmZpZyBTT1VORF9VQVJUNjg1MAogCXRyaXN0YXRlICI2ODUwIFVBUlQgc3VwcG9ydCIKLQlkZXBlbmRzIG9uIFNPVU5EX09TUwogCWhlbHAKIAkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgTUlESSBpbnRlcmZhY2VzIGJhc2VkIG9uIHRoZSA2ODUwCiAJICBVQVJUIGNoaXAuIFRoaXMgaW50ZXJmYWNlIGlzIHJhcmVseSBmb3VuZCBvbiBzb3VuZCBjYXJkcy4gSXQncyBzYWZlCkBAIC01NDksNyArNTM3LDYgQEAKIAogY29uZmlnIFNPVU5EX0FFRFNQMTYKIAl0cmlzdGF0ZSAiR2FsbGFudCBBdWRpbyBDYXJkcyAoU0MtNjAwMCBhbmQgU0MtNjYwMCBiYXNlZCkiCi0JZGVwZW5kcyBvbiBTT1VORF9PU1MKIAktLS1oZWxwLS0tCiAJICBBbnN3ZXIgWSBpZiB5b3UgaGF2ZSBhIEdhbGxhbnQncyBBdWRpbyBFeGNlbCBEU1AgMTYgY2FyZC4gVGhpcwogCSAgZHJpdmVyIHN1cHBvcnRzIEF1ZGlvIEV4Y2VsIERTUCAxNiBidXQgbm90IHRoZSBJSUkgbm9yIFBuUCB2ZXJzaW9ucwpAQCAtNjMwLDE0ICs2MTcsMTQgQEAKIAogY29uZmlnIFNPVU5EX1ZJREMKIAl0cmlzdGF0ZSAiVklEQyAxNi1iaXQgc291bmQiCi0JZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfQUNPUk4gfHwgQVJDSF9DTFBTNzUwMCkgJiYgU09VTkRfT1NTCisJZGVwZW5kcyBvbiBBUk0gJiYgKEFSQ0hfQUNPUk4gfHwgQVJDSF9DTFBTNzUwMCkKIAloZWxwCiAJICAxNi1iaXQgc3VwcG9ydCBmb3IgdGhlIFZJREMgb25ib2FyZCBzb3VuZCBoYXJkd2FyZSBmb3VuZCBvbiBBY29ybgogCSAgbWFjaGluZXMuCiAKIGNvbmZpZyBTT1VORF9XQVZFQVJUSVNUCiAJdHJpc3RhdGUgIk5ldHdpbmRlciBXYXZlQXJ0aXN0IgotCWRlcGVuZHMgb24gQVJNICYmIFNPVU5EX09TUyAmJiBBUkNIX05FVFdJTkRFUgorCWRlcGVuZHMgb24gQVJNICYmIEFSQ0hfTkVUV0lOREVSCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBSb2Nrd2VsbCBXYXZlQXJ0aXN0IHNvdW5kCiAJICBzeXN0ZW0uICBUaGlzIGRyaXZlciBpcyBtYWlubHkgZm9yIHRoZSBOZXRXaW5kZXIuCkBAIC02NDYsOSArNjMzLDExIEBACiAJdHJpc3RhdGUgIlhwcmVzc0F1ZGlvIFNvdW5kIEJsYXN0ZXIgZW11bGF0aW9uIgogCWRlcGVuZHMgb24gU09VTkRfU0IKIAorZW5kaWYJIyBTT1VORF9PU1MKKwogY29uZmlnIFNPVU5EX1NIX0RBQ19BVURJTwogCXRyaXN0YXRlICJTdXBlckggREFDIGF1ZGlvIHN1cHBvcnQiCi0JZGVwZW5kcyBvbiBTT1VORF9QUklNRSAmJiBDUFVfU0gzCisJZGVwZW5kcyBvbiBDUFVfU0gzCiAKIGNvbmZpZyBTT1VORF9TSF9EQUNfQVVESU9fQ0hBTk5FTAogCWludCAiREFDIGNoYW5uZWwiCmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX2NvcmUuYwppbmRleCBhMDAzYzBlLi45NWZjNWM2IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfY29yZS5jCisrKyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9jb3JlLmMKQEAgLTIxMSwxMCArMjExLDYgQEAKIHN0YXRpYyBpbnQgaXJxX2luc3RhbGxlZDsKICNlbmRpZiAvKiBNT0RVTEUgKi8KIAotLyogc29mdHdhcmUgaW1wbGVtZW50ZWQgcmVjb3JkaW5nIHZvbHVtZSEgKi8KLXVpbnQgc29mdHdhcmVfaW5wdXRfdm9sdW1lID0gU1dfSU5QVVRfVk9MVU1FX1NDQUxFICogU1dfSU5QVVRfVk9MVU1FX0RFRkFVTFQ7Ci1FWFBPUlRfU1lNQk9MKHNvZnR3YXJlX2lucHV0X3ZvbHVtZSk7Ci0KIC8qIGNvbnRyb2wgb3ZlciB3aG8gY2FuIG1vZGlmeSByZXNvdXJjZXMgc2hhcmVkIGJldHdlZW4gcGxheS9yZWNvcmQgKi8KIHN0YXRpYyBtb2RlX3Qgc2hhcmVkX3Jlc291cmNlX293bmVyOwogc3RhdGljIGludCBzaGFyZWRfcmVzb3VyY2VzX2luaXRpYWxpc2VkOwpAQCAtMTE4OCw3ICsxMTg0LDcgQEAKIAogLyogcHVibGlzaCB0aGlzIGZ1bmN0aW9uIGZvciB1c2UgYnkgbG93LWxldmVsIGNvZGUsIGlmIHJlcXVpcmVkICovCiAKLWNoYXIgKmdldF9hZm10X3N0cmluZyhpbnQgYWZtdCkKK3N0YXRpYyBjaGFyICpnZXRfYWZtdF9zdHJpbmcoaW50IGFmbXQpCiB7CiAgICAgICAgIHN3aXRjaChhZm10KSB7CiAgICAgICAgICAgICBjYXNlIEFGTVRfTVVfTEFXOgpAQCAtMTU1MSw0ICsxNTQ3LDMgQEAKIEVYUE9SVF9TWU1CT0woZG1hc291bmRfdWxhdzJkbWE4KTsKIEVYUE9SVF9TWU1CT0woZG1hc291bmRfYWxhdzJkbWE4KTsKICNlbmRpZgotRVhQT1JUX1NZTUJPTChnZXRfYWZtdF9zdHJpbmcpIDsKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9wYXVsYS5jIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKaW5kZXggMjAyZTgxMC4uMDZlOWU4OCAxMDA2NDQKLS0tIGEvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKKysrIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3BhdWxhLmMKQEAgLTcxMCw3ICs3MTAsNyBAQAogLyoqKiBDb25maWcgJiBTZXR1cCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAKLWludCBfX2luaXQgZG1hc291bmRfcGF1bGFfaW5pdCh2b2lkKQorc3RhdGljIGludCBfX2luaXQgZG1hc291bmRfcGF1bGFfaW5pdCh2b2lkKQogewogCWludCBlcnI7CiAKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYyBiL3NvdW5kL29zcy9kbWFzb3VuZC9kbWFzb3VuZF9xNDAuYwppbmRleCBiMzM3OWRkLi4xODU1YjE0IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvZG1hc291bmQvZG1hc291bmRfcTQwLmMKKysrIGIvc291bmQvb3NzL2RtYXNvdW5kL2RtYXNvdW5kX3E0MC5jCkBAIC02MTEsNyArNjExLDcgQEAKIC8qKiogQ29uZmlnICYgU2V0dXAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogCi1pbnQgX19pbml0IGRtYXNvdW5kX3E0MF9pbml0KHZvaWQpCitzdGF0aWMgaW50IF9faW5pdCBkbWFzb3VuZF9xNDBfaW5pdCh2b2lkKQogewogCWlmIChNQUNIX0lTX1E0MCkgewogCSAgICBkbWFzb3VuZC5tYWNoID0gbWFjaFE0MDsKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kLmMgYi9zb3VuZC9vc3MvbXNuZC5jCmluZGV4IGJhMzhkNjIwLi5lNDI4MmQ5IDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZC5jCisrKyBiL3NvdW5kL29zcy9tc25kLmMKQEAgLTIwLDggKzIwLDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmQuYyx2IDEuMTcgMTk5OS8wMy8yMSAxNjo1MDowOSBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvc291bmQvb3NzL21zbmQuaCBiL3NvdW5kL29zcy9tc25kLmgKaW5kZXggZDBjYTU4Mi4uNjFiMzk1NSAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmQuaAorKysgYi9zb3VuZC9vc3MvbXNuZC5oCkBAIC0yNCw4ICsyNCw2IEBACiAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogICogRm91bmRhdGlvbiwgSW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0EuCiAgKgotICogJElkOiBtc25kLmgsdiAxLjM2IDE5OTkvMDMvMjEgMTc6MDU6NDIgYW5kcmV3dHYgRXhwICQKLSAqCiAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAjaWZuZGVmIF9fTVNORF9ICiAjZGVmaW5lIF9fTVNORF9ICmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmggYi9zb3VuZC9vc3MvbXNuZF9jbGFzc2ljLmgKaW5kZXggN2ZmZWE1Mi4uMWExN2RkZSAxMDA2NDQKLS0tIGEvc291bmQvb3NzL21zbmRfY2xhc3NpYy5oCisrKyBiL3NvdW5kL29zcy9tc25kX2NsYXNzaWMuaApAQCAtMjQsOCArMjQsNiBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKICAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogICogCi0gKiAkSWQ6IG1zbmRfY2xhc3NpYy5oLHYgMS4xMCAxOTk5LzAzLzIxIDE3OjM2OjA5IGFuZHJld3R2IEV4cCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogI2lmbmRlZiBfX01TTkRfQ0xBU1NJQ19ICiAjZGVmaW5lIF9fTVNORF9DTEFTU0lDX0gKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMgYi9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5jCmluZGV4IGYxZjQ5ZWIuLmJmMjdlMDAgMTAwNjQ0Ci0tLSBhL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmMKKysrIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuYwpAQCAtMjksMTMgKzI5LDggQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmRfcGlubmFjbGUuYyx2IDEuOCAyMDAwLzEyLzMwIDAwOjMzOjIxIHN5Y2Ftb3JlIEV4cCAkCi0gKgogICogMTItMy0yMDAwICBNb2RpZmllZCBJTyBwb3J0IHZhbGlkYXRpb24gIFN0ZXZlIFN5Y2Ftb3JlCiAgKgotICoKLSAqICQkJDogbXNuZF9waW5uYWNsZS5jLHYgMS43NSAxOTk5LzAzLzIxIDE2OjUwOjA5IGFuZHJld3R2ICQkJCAkCi0gKgogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CmRpZmYgLS1naXQgYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oIGIvc291bmQvb3NzL21zbmRfcGlubmFjbGUuaAppbmRleCBjY2U5MTE0Li5jMThkNjZjIDEwMDY0NAotLS0gYS9zb3VuZC9vc3MvbXNuZF9waW5uYWNsZS5oCisrKyBiL3NvdW5kL29zcy9tc25kX3Bpbm5hY2xlLmgKQEAgLTI0LDggKzI0LDYgQEAKICAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA2NzUgTWFzcyBBdmUsIENhbWJyaWRnZSwgTUEgMDIxMzksIFVTQS4KICAqCi0gKiAkSWQ6IG1zbmRfcGlubmFjbGUuaCx2IDEuMTEgMTk5OS8wMy8yMSAxNzozNjowOSBhbmRyZXd0diBFeHAgJAotICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KICNpZm5kZWYgX19NU05EX1BJTk5BQ0xFX0gKICNkZWZpbmUgX19NU05EX1BJTk5BQ0xFX0gKZGlmZiAtLWdpdCBhL3NvdW5kL29zcy92d3NuZC5jIGIvc291bmQvb3NzL3Z3c25kLmMKaW5kZXggMmM1YWFhNS4uZGNiYjNmNyAxMDA2NDQKLS0tIGEvc291bmQvb3NzL3Z3c25kLmMKKysrIGIvc291bmQvb3NzL3Z3c25kLmMKQEAgLTE1MCw3ICsxNTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKLSNpbmNsdWRlIDxhc20vbWFjaC12aXN3cy9jb2JhbHQuaD4KKyNpbmNsdWRlIDxhc20vdmlzd3MvY29iYWx0Lmg+CiAKICNpbmNsdWRlICJzb3VuZF9jb25maWcuaCIKIApkaWZmIC0tZ2l0IGEvc291bmQvcGFyaXNjL0tjb25maWcgYi9zb3VuZC9wYXJpc2MvS2NvbmZpZwppbmRleCBhNWE3ZjlkLi45YjYxZDk1IDEwMDY0NAotLS0gYS9zb3VuZC9wYXJpc2MvS2NvbmZpZworKysgYi9zb3VuZC9wYXJpc2MvS2NvbmZpZwpAQCAtMSwxNSArMSwyMCBAQAogIyBBTFNBIFBBLVJJU0MgZHJpdmVycwogCi1tZW51ICJHU0MgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBHU0MKK21lbnVjb25maWcgU05EX0dTQworCWJvb2wgIkdTQyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gR1NDCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3IgR1NDIHNvdW5kIGRldmljZXMgb24gUEEtUklTQyBhcmNoaXRlY3R1cmVzLgorCitpZiBTTkRfR1NDCiAKIGNvbmZpZyBTTkRfSEFSTU9OWQogCXRyaXN0YXRlICJIYXJtb255L1ZpdmFjZSBzb3VuZCBjaGlwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgJ1knIG9yICdNJyB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBIYXJtb255L1ZpdmFjZSBzb3VuZAogCSAgY2hpcCBmb3VuZCBpbiBtb3N0IEdTQy1iYXNlZCBQQS1SSVNDIHdvcmtzdGF0aW9ucy4gIEl0J3MgZnJlcXVlbnRseQogCSAgcHJvdmlkZWQgYXMgcGFydCBvZiB0aGUgTGFzaSBtdWx0aS1mdW5jdGlvbiBJQy4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfR1NDCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvS2NvbmZpZyBiL3NvdW5kL3BjaS9LY29uZmlnCmluZGV4IDdlNDc0MjEuLmY3ZDk1YjIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9LY29uZmlnCisrKyBiL3NvdW5kL3BjaS9LY29uZmlnCkBAIC0xLDExICsxLDE2IEBACiAjIEFMU0EgUENJIGRyaXZlcnMKIAotbWVudSAiUENJIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgUENJCittZW51Y29uZmlnIFNORF9QQ0kKKwlib29sICJQQ0kgc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFBDSQorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgUENJIGJ1cy4KKworaWYgU05EX1BDSQogCiBjb25maWcgU05EX0FEMTg4OQogCXRyaXN0YXRlICJBbmFsb2cgRGV2aWNlcyBBRDE4ODkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGludGVncmF0ZWQgQUM5NyBzb3VuZApAQCAtMTcsNyArMjIsNiBAQAogCiBjb25maWcgU05EX0FMUzMwMAogCXRyaXN0YXRlICJBdmFuY2UgTG9naWMgQUxTMzAwL0FMUzMwMCsiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfT1BMM19MSUIKQEAgLTI5LDcgKzMzLDcgQEAKIAogY29uZmlnIFNORF9BTFM0MDAwCiAJdHJpc3RhdGUgIkF2YW5jZSBMb2dpYyBBTFM0MDAwIgotCWRlcGVuZHMgb24gU05EICYmIElTQV9ETUFfQVBJCisJZGVwZW5kcyBvbiBJU0FfRE1BX0FQSQogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTQzLDcgKzQ3LDYgQEAKIAogY29uZmlnIFNORF9BTEk1NDUxCiAJdHJpc3RhdGUgIkFMaSBNNTQ1MSBQQ0kgQXVkaW8gQ29udHJvbGxlciIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC01Nyw3ICs2MCw2IEBACiAKIGNvbmZpZyBTTkRfQVRJSVhQCiAJdHJpc3RhdGUgIkFUSSBJWFAgQUM5NyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIEFDOTcgc291bmQKQEAgLTY5LDcgKzcxLDYgQEAKIAogY29uZmlnIFNORF9BVElJWFBfTU9ERU0KIAl0cmlzdGF0ZSAiQVRJIElYUCBNb2RlbSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBNQzk3IG1vZGVtIG9uCkBAIC04MCw3ICs4MSw2IEBACiAKIGNvbmZpZyBTTkRfQVU4ODEwCiAJdHJpc3RhdGUgIkF1cmVhbCBBZHZhbnRhZ2UiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtOTUsNyArOTUsNiBAQAogCiBjb25maWcgU05EX0FVODgyMAogCXRyaXN0YXRlICJBdXJlYWwgVm9ydGV4IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTEwOSw3ICsxMDgsNiBAQAogCiBjb25maWcgU05EX0FVODgzMAogCXRyaXN0YXRlICJBdXJlYWwgVm9ydGV4IDIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMTI0LDcgKzEyMiw2IEBACiAKIGNvbmZpZyBTTkRfQVcyCiAJdHJpc3RhdGUgIkVtYWdpYyBBdWRpb3dlcmsgMiIKLQlkZXBlbmRzIG9uIFNORAogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBFbWFnaWMgQXVkaW93ZXJrIDIgc291bmRjYXJkcy4KIApAQCAtMTM5LDcgKzEzNiw3IEBACiAKIGNvbmZpZyBTTkRfQVpUMzMyOAogCXRyaXN0YXRlICJBenRlY2ggQVpGMzMyOCAvIFBDSTE2OCAoRVhQRVJJTUVOVEFMKSIKLQlkZXBlbmRzIG9uIFNORCAmJiBFWFBFUklNRU5UQUwKKwlkZXBlbmRzIG9uIEVYUEVSSU1FTlRBTAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTE1Miw3ICsxNDksNiBAQAogCiBjb25maWcgU05EX0JUODdYCiAJdHJpc3RhdGUgIkJ0ODd4IEF1ZGlvIENhcHR1cmUiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIElmIHlvdSB3YW50IHRvIHJlY29yZCBhdWRpbyBmcm9tIFRWIGNhcmRzIGJhc2VkIG9uCkBAIC0xNzQsNyArMTcwLDYgQEAKIAogY29uZmlnIFNORF9DQTAxMDYKIAl0cmlzdGF0ZSAiU0IgQXVkaWd5IExTIC8gTGl2ZSAyNGJpdCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfVk1BU1RFUgpAQCAtMTg3LDcgKzE4Miw2IEBACiAKIGNvbmZpZyBTTkRfQ01JUENJCiAJdHJpc3RhdGUgIkMtTWVkaWEgODMzOCwgODczOCwgODc2OCwgODc3MCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1BMM19MSUIKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9QQ00KQEAgLTIwMSwxMyArMTk1LDExIEBACiAKIGNvbmZpZyBTTkRfT1hZR0VOX0xJQgogICAgICAgICB0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAKIGNvbmZpZyBTTkRfT1hZR0VOCiAJdHJpc3RhdGUgIkMtTWVkaWEgODc4OCAoT3h5Z2VuKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1hZR0VOX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBzb3VuZCBjYXJkcyBiYXNlZCBvbiB0aGUKQEAgLTIyNSw3ICsyMTcsNiBAQAogCiBjb25maWcgU05EX0NTNDI4MQogCXRyaXN0YXRlICJDaXJydXMgTG9naWMgKFNvdW5kIEZ1c2lvbikgQ1M0MjgxIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtMjM3LDcgKzIyOCw2IEBACiAKIGNvbmZpZyBTTkRfQ1M0NlhYCiAJdHJpc3RhdGUgIkNpcnJ1cyBMb2dpYyAoU291bmQgRnVzaW9uKSBDUzQyODAvQ1M0NjF4L0NTNDYyeC9DUzQ2M3giCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC0yNTgsNyArMjQ4LDcgQEAKIAogY29uZmlnIFNORF9DUzU1MzAKIAl0cmlzdGF0ZSAiQ1M1NTMwIEF1ZGlvIgotCWRlcGVuZHMgb24gU05EICYmIElTQV9ETUFfQVBJCisJZGVwZW5kcyBvbiBJU0FfRE1BX0FQSQogCXNlbGVjdCBTTkRfU0IxNl9EU1AKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgYXVkaW8gb24gQ3lyaXgvTmF0U2VtaSBDUzU1MzAgY2hpcHMuCkBAIC0yNjgsNyArMjU4LDcgQEAKIAogY29uZmlnIFNORF9DUzU1MzVBVURJTwogCXRyaXN0YXRlICJDUzU1MzUvQ1M1NTM2IEF1ZGlvIgotCWRlcGVuZHMgb24gU05EICYmIFg4NiAmJiAhWDg2XzY0CisJZGVwZW5kcyBvbiBYODYgJiYgIVg4Nl82NAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtMjg2LDcgKzI3Niw2IEBACiAKIGNvbmZpZyBTTkRfREFSTEEyMAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBEYXJsYTIwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtMjk3LDcgKzI4Niw2IEBACiAKIGNvbmZpZyBTTkRfR0lOQTIwCiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEdpbmEyMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTMwOCw3ICsyOTYsNiBAQAogCiBjb25maWcgU05EX0xBWUxBMjAKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTGF5bGEyMCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzIwLDcgKzMwNyw2IEBACiAKIGNvbmZpZyBTTkRfREFSTEEyNAogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBEYXJsYTI0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUENNCiAJaGVscApAQCAtMzMxLDcgKzMxNyw2IEBACiAKIGNvbmZpZyBTTkRfR0lOQTI0CiAJdHJpc3RhdGUgIihFY2hvYXVkaW8pIEdpbmEyNCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKQEAgLTM0Miw3ICszMjcsNiBAQAogCiBjb25maWcgU05EX0xBWUxBMjQKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTGF5bGEyNCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMzU0LDcgKzMzOCw2IEBACiAKIGNvbmZpZyBTTkRfTU9OQQogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBNb25hIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zNjYsNyArMzQ5LDYgQEAKIAogY29uZmlnIFNORF9NSUEKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgTWlhIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IEZXX0xPQURFUgogCXNlbGVjdCBTTkRfUkFXTUlESQogCXNlbGVjdCBTTkRfUENNCkBAIC0zNzgsNyArMzYwLDYgQEAKIAogY29uZmlnIFNORF9FQ0hPM0cKIAl0cmlzdGF0ZSAiKEVjaG9hdWRpbykgM0cgY2FyZHMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTM5MCw3ICszNzEsNiBAQAogCiBjb25maWcgU05EX0lORElHTwogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBJbmRpZ28iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00MDEsNyArMzgxLDYgQEAKIAogY29uZmlnIFNORF9JTkRJR09JTwogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBJbmRpZ28gSU8iCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00MTIsNyArMzkxLDYgQEAKIAogY29uZmlnIFNORF9JTkRJR09ESgogCXRyaXN0YXRlICIoRWNob2F1ZGlvKSBJbmRpZ28gREoiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgRldfTE9BREVSCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00MjMsNyArNDAxLDYgQEAKIAogY29uZmlnIFNORF9FTVUxMEsxCiAJdHJpc3RhdGUgIkVtdTEwazEgKFNCIExpdmUhLCBBdWRpZ3ksIEUtbXUgQVBTKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCkBAIC00NDEsNyArNDE4LDYgQEAKIAogY29uZmlnIFNORF9FTVUxMEsxWAogCXRyaXN0YXRlICJFbXUxMGsxWCAoRGVsbCBPRU0gVmVyc2lvbikiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1JBV01JREkKIAloZWxwCkBAIC00NTMsNyArNDI5LDYgQEAKIAogY29uZmlnIFNORF9FTlMxMzcwCiAJdHJpc3RhdGUgIihDcmVhdGl2ZSkgRW5zb25pcSBBdWRpb1BDSSAxMzcwIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC00NjQsNyArNDM5LDYgQEAKIAogY29uZmlnIFNORF9FTlMxMzcxCiAJdHJpc3RhdGUgIihDcmVhdGl2ZSkgRW5zb25pcSBBdWRpb1BDSSAxMzcxLzEzNzMiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC00NzYsNyArNDUwLDYgQEAKIAogY29uZmlnIFNORF9FUzE5MzgKIAl0cmlzdGF0ZSAiRVNTIEVTMTkzOC8xOTQ2LzE5NjkgKFNvbG8tMSkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtNDg5LDcgKzQ2Miw2IEBACiAKIGNvbmZpZyBTTkRfRVMxOTY4CiAJdHJpc3RhdGUgIkVTUyBFUzE5NjgvMTk3OCAoTWFlc3Ryby0xLzIvMkUpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKQEAgLTUwMSw3ICs0NzMsNiBAQAogCiBjb25maWcgU05EX0ZNODAxCiAJdHJpc3RhdGUgIkZvcnRlTWVkaWEgRk04MDEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtNTI4LDcgKzQ5OSw2IEBACiAKIGNvbmZpZyBTTkRfSERBX0lOVEVMCiAJdHJpc3RhdGUgIkludGVsIEhEIEF1ZGlvIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAlzZWxlY3QgU05EX1ZNQVNURVIKIAloZWxwCkBAIC02MzcsNyArNjA3LDYgQEAKIAogY29uZmlnIFNORF9IRFNQCiAJdHJpc3RhdGUgIlJNRSBIYW1tZXJmYWxsIERTUCBBdWRpbyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtNjUwLDcgKzYxOSw2IEBACiAKIGNvbmZpZyBTTkRfSERTUE0KIAl0cmlzdGF0ZSAiUk1FIEhhbW1lcmZhbGwgRFNQIE1BREkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTY2Myw3ICs2MzEsNiBAQAogCiBjb25maWcgU05EX0hJRklFUgogCXRyaXN0YXRlICJUZW1wb1RlYyBIaUZpZXIgRmFudGFzaWEiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX09YWUdFTl9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIE1lZGlhVGVrL1RlbXBvVGVjIEhpRmllcgpAQCAtNjc0LDcgKzY0MSw2IEBACiAKIGNvbmZpZyBTTkRfSUNFMTcxMgogCXRyaXN0YXRlICJJQ0Vuc2VtYmxlIElDRTE3MTIgKEVudnkyNCkiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtNjkxLDggKzY1Nyw3IEBACiAKIGNvbmZpZyBTTkRfSUNFMTcyNAogCXRyaXN0YXRlICJJQ0UvVlQxNzI0LzE3MjAgKEVudnkyNEhUL1BUKSIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKKwlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAlzZWxlY3QgU05EX1ZNQVNURVIKIAloZWxwCkBAIC03MDksNyArNjc0LDYgQEAKIAogY29uZmlnIFNORF9JTlRFTDhYMAogCXRyaXN0YXRlICJJbnRlbC9TaVMvblZpZGlhL0FNRC9BTGkgQUM5NyBDb250cm9sbGVyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIEFDOTcgc291bmQKQEAgLTcyMiw3ICs2ODYsNiBAQAogCiBjb25maWcgU05EX0lOVEVMOFgwTQogCXRyaXN0YXRlICJJbnRlbC9TaVMvblZpZGlhL0FNRCBNQzk3IE1vZGVtIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIHRoZSBpbnRlZ3JhdGVkIE1DOTcgbW9kZW0gb24KQEAgLTczMyw4ICs2OTYsNiBAQAogCiBjb25maWcgU05EX0tPUkcxMjEyCiAJdHJpc3RhdGUgIktvcmcgMTIxMiBJTyIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBGV19MT0FERVIgaWYgIVNORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBLb3JnIDEyMTJJTyBzb3VuZGNhcmRzLgpAQCAtNzQyLDE5ICs3MDMsOCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLWtvcmcxMjEyLgogCi1jb25maWcgU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWJvb2wgIkluLWtlcm5lbCBmaXJtd2FyZSBmb3IgS29yZzEyMTIgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EX0tPUkcxMjEyCi0JZGVmYXVsdCB5Ci0JaGVscAotCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHRoZSBzdGF0aWMgZmlybXdhcmUgYnVpbHQgaW4gdGhlIGtlcm5lbAotCSAgZm9yIHRoZSBLb3JnMTIxMiBkcml2ZXIuICBJZiB5b3UgY2hvb3NlIE4gaGVyZSwgeW91IG5lZWQgdG8KLQkgIGluc3RhbGwgdGhlIGZpcm13YXJlIGZpbGVzIGZyb20gdGhlIGFsc2EtZmlybXdhcmUgcGFja2FnZS4KLQogY29uZmlnIFNORF9NQUVTVFJPMwogCXRyaXN0YXRlICJFU1MgQWxsZWdyby9NYWVzdHJvMyIKLQlkZXBlbmRzIG9uIFNORAotCXNlbGVjdCBGV19MT0FERVIgaWYgIVNORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3Igc291bmRjYXJkcyBiYXNlZCBvbiBFU1MgTWFlc3RybyAzCkBAIC03NjMsMTggKzcxMyw4IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtbWFlc3RybzMuCiAKLWNvbmZpZyBTTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBNYWVzdHJvMyBkcml2ZXIiCi0JZGVwZW5kcyBvbiBTTkRfTUFFU1RSTzMKLQlkZWZhdWx0IHkKLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgdGhlIHN0YXRpYyBmaXJtd2FyZSBidWlsdCBpbiB0aGUga2VybmVsCi0JICBmb3IgdGhlIE1hZXN0cm8zIGRyaXZlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZCB0bwotCSAgaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCiBjb25maWcgU05EX01JWEFSVAogCXRyaXN0YXRlICJEaWdpZ3JhbSBtaVhhcnQiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCkBAIC03ODYsNyArNzI2LDYgQEAKIAogY29uZmlnIFNORF9OTTI1NgogCXRyaXN0YXRlICJOZW9NYWdpYyBOTTI1NkFWL1pYIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIE5lb01hZ2ljIE5NMjU2QVYvWlggY2hpcHMuCkBAIC03OTYsNyArNzM1LDYgQEAKIAogY29uZmlnIFNORF9QQ1hIUgogCXRyaXN0YXRlICJEaWdpZ3JhbSBQQ1hIUiIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJc2VsZWN0IFNORF9IV0RFUAogCWhlbHAKQEAgLTgwNyw3ICs3NDUsNiBAQAogCiBjb25maWcgU05EX1JJUFRJREUKIAl0cmlzdGF0ZSAiQ29uZXhhbnQgUmlwdGlkZSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBGV19MT0FERVIKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVApAQCAtODIwLDcgKzc1Nyw2IEBACiAKIGNvbmZpZyBTTkRfUk1FMzIKIAl0cmlzdGF0ZSAiUk1FIERpZ2kzMiwgMzIvOCwgMzIgUFJPIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFJNRSBEaWdpMzIsIERpZ2kzMiBQUk8gYW5kCkBAIC04MzIsNyArNzY4LDYgQEAKIAogY29uZmlnIFNORF9STUU5NgogCXRyaXN0YXRlICJSTUUgRGlnaTk2LCA5Ni84LCA5Ni84IFBSTyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFJNRSBEaWdpOTYsIERpZ2k5Ni84IGFuZApAQCAtODQzLDcgKzc3OCw2IEBACiAKIGNvbmZpZyBTTkRfUk1FOTY1MgogCXRyaXN0YXRlICJSTUUgRGlnaTk2NTIgKEhhbW1lcmZhbGwpIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgUk1FIEhhbW1lcmZhbGwgKFJNRQpAQCAtODU0LDcgKzc4OCw3IEBACiAKIGNvbmZpZyBTTkRfU0lTNzAxOQogCXRyaXN0YXRlICJTaVMgNzAxOSBBdWRpbyBBY2NlbGVyYXRvciIKLQlkZXBlbmRzIG9uIFNORCAmJiBYODYgJiYgIVg4Nl82NAorCWRlcGVuZHMgb24gWDg2ICYmICFYODZfNjQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIFNpUyA3MDE5IEF1ZGlvIEFjY2VsZXJhdG9yLgpAQCAtODY0LDcgKzc5OCw2IEBACiAKIGNvbmZpZyBTTkRfU09OSUNWSUJFUwogCXRyaXN0YXRlICJTMyBTb25pY1ZpYmVzIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9PUEwzX0xJQgogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKQEAgLTg3Nyw3ICs4MTAsNiBAQAogCiBjb25maWcgU05EX1RSSURFTlQKIAl0cmlzdGF0ZSAiVHJpZGVudCA0RC1XYXZlIERYL05YOyBTaVMgNzAxOCIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfTVBVNDAxX1VBUlQKIAlzZWxlY3QgU05EX0FDOTdfQ09ERUMKIAloZWxwCkBAIC04ODksNyArODIxLDYgQEAKIAogY29uZmlnIFNORF9WSUE4MlhYCiAJdHJpc3RhdGUgIlZJQSA4MkM2ODZBL0IsIDgyMzMvODIzNSBBQzk3IENvbnRyb2xsZXIiCi0JZGVwZW5kcyBvbiBTTkQKIAlzZWxlY3QgU05EX01QVTQwMV9VQVJUCiAJc2VsZWN0IFNORF9BQzk3X0NPREVDCiAJaGVscApAQCAtOTAxLDcgKzgzMiw2IEBACiAKIGNvbmZpZyBTTkRfVklBODJYWF9NT0RFTQogCXRyaXN0YXRlICJWSUEgODJDNjg2QS9CLCA4MjMzIGJhc2VkIE1vZGVtcyIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBNQzk3IG1vZGVtIG9uCkBAIC05MTIsNyArODQyLDYgQEAKIAogY29uZmlnIFNORF9WSVJUVU9TTwogCXRyaXN0YXRlICJBc3VzIFZpcnR1b3NvIDEwMC8yMDAgKFhvbmFyKSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfT1hZR0VOX0xJQgogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBzb3VuZCBjYXJkcyBiYXNlZCBvbiB0aGUKQEAgLTkyMyw3ICs4NTIsNiBAQAogCiBjb25maWcgU05EX1ZYMjIyCiAJdHJpc3RhdGUgIkRpZ2lncmFtIFZYMjIyIgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9WWF9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgRGlnaWdyYW0gVlgyMjIgc291bmRjYXJkcy4KQEAgLTkzMyw4ICs4NjEsNiBAQAogCiBjb25maWcgU05EX1lNRlBDSQogCXRyaXN0YXRlICJZYW1haGEgWU1GNzI0Lzc0MC83NDQvNzU0IgotCWRlcGVuZHMgb24gU05ECi0Jc2VsZWN0IEZXX0xPQURFUiBpZiAhU05EX1lNRlBDSV9GSVJNV0FSRV9JTl9LRVJORUwKIAlzZWxlY3QgU05EX09QTDNfTElCCiAJc2VsZWN0IFNORF9NUFU0MDFfVUFSVAogCXNlbGVjdCBTTkRfQUM5N19DT0RFQwpAQCAtOTQ1LDM0ICs4NzEsNCBAQAogCSAgVG8gY29tcGlsZSB0aGlzIGRyaXZlciBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlIG1vZHVsZQogCSAgd2lsbCBiZSBjYWxsZWQgc25kLXltZnBjaS4KIAotY29uZmlnIFNORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCi0JYm9vbCAiSW4ta2VybmVsIGZpcm13YXJlIGZvciBZTUZQQ0kgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EX1lNRlBDSQotCWRlZmF1bHQgeQotCWhlbHAKLQkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSB0aGUgc3RhdGljIGZpcm13YXJlIGJ1aWx0IGluIHRoZSBrZXJuZWwKLQkgIGZvciB0aGUgWU1GUENJIGRyaXZlci4gIElmIHlvdSBjaG9vc2UgTiBoZXJlLCB5b3UgbmVlZCB0bwotCSAgaW5zdGFsbCB0aGUgZmlybXdhcmUgZmlsZXMgZnJvbSB0aGUgYWxzYS1maXJtd2FyZSBwYWNrYWdlLgotCi1jb25maWcgU05EX0FDOTdfUE9XRVJfU0FWRQotCWJvb2wgIkFDOTcgUG93ZXItU2F2aW5nIE1vZGUiCi0JZGVwZW5kcyBvbiBTTkRfQUM5N19DT0RFQyAmJiBFWFBFUklNRU5UQUwKLQlkZWZhdWx0IG4KLQloZWxwCi0JICBTYXkgWSBoZXJlIHRvIGVuYWJsZSB0aGUgYWdncmVzc2l2ZSBwb3dlci1zYXZpbmcgc3VwcG9ydCBvZgotCSAgQUM5NyBjb2RlY3MuICBJbiB0aGlzIG1vZGUsIHRoZSBwb3dlci1tb2RlIGlzIGR5bmFtaWNhbGx5Ci0JICBjb250cm9sbGVkIGF0IGVhY2ggb3Blbi9jbG9zZS4KLQotCSAgVGhlIG1vZGUgaXMgYWN0aXZhdGVkIGJ5IHBhc3NpbmcgcG93ZXJfc2F2ZT0xIG9wdGlvbiB0bwotCSAgc25kLWFjOTctY29kZWMgZHJpdmVyLiAgWW91IGNhbiB0b2dnbGUgaXQgZHluYW1pY2FsbHkgb3ZlcgotCSAgc3lzZnMsIHRvby4KLQotY29uZmlnIFNORF9BQzk3X1BPV0VSX1NBVkVfREVGQVVMVAotCWludCAiRGVmYXVsdCB0aW1lLW91dCBmb3IgQUM5NyBwb3dlci1zYXZlIG1vZGUiCi0JZGVwZW5kcyBvbiBTTkRfQUM5N19QT1dFUl9TQVZFCi0JZGVmYXVsdCAwCi0JaGVscAotCSAgVGhlIGRlZmF1bHQgdGltZS1vdXQgdmFsdWUgaW4gc2Vjb25kcyBmb3IgQUM5NyBhdXRvbWF0aWMKLQkgIHBvd2VyLXNhdmUgbW9kZS4gIDAgbWVhbnMgdG8gZGlzYWJsZSB0aGUgcG93ZXItc2F2ZSBtb2RlLgotCi1lbmRtZW51CitlbmRpZgkjIFNORF9QQ0kKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9NYWtlZmlsZSBiL3NvdW5kL3BjaS9NYWtlZmlsZQppbmRleCA4NWVmMTRiLi42NWIyNWQyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvTWFrZWZpbGUKKysrIGIvc291bmQvcGNpL01ha2VmaWxlCkBAIC0xMyw3ICsxMyw3IEBACiBzbmQtY21pcGNpLW9ianMgOj0gY21pcGNpLm8KIHNuZC1jczQyODEtb2JqcyA6PSBjczQyODEubwogc25kLWNzNTUzMC1vYmpzIDo9IGNzNTUzMC5vCi1zbmQtZW5zMTM3MC1vYmpzIDo9IGVuczEzNzAubworc25kLWVuczEzNzAtb2JqcyA6PSBlbnMxMzcwLm8gYWs0NTMxX2NvZGVjLm8KIHNuZC1lbnMxMzcxLW9ianMgOj0gZW5zMTM3MS5vCiBzbmQtZXMxOTM4LW9ianMgOj0gZXMxOTM4Lm8KIHNuZC1lczE5Njgtb2JqcyA6PSBlczE5NjgubwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvTWFrZWZpbGUgYi9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZQppbmRleCAwYmU0OGIxLi40MWZhMzIyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZQorKysgYi9zb3VuZC9wY2kvYWM5Ny9NYWtlZmlsZQpAQCAtMywxNiArMyw4IEBACiAjIENvcHlyaWdodCAoYykgMjAwMSBieSBKYXJvc2xhdiBLeXNlbGEgPHBlcmV4QHBlcmV4LmN6PgogIwogCi1zbmQtYWM5Ny1jb2RlYy1vYmpzIDo9IGFjOTdfY29kZWMubyBhYzk3X3BjbS5vCi0KLWlmbmVxICgkKENPTkZJR19QUk9DX0ZTKSwpCi1zbmQtYWM5Ny1jb2RlYy1vYmpzICs9IGFjOTdfcHJvYy5vCi1lbmRpZgotCi1zbmQtYWs0NTMxLWNvZGVjLW9ianMgOj0gYWs0NTMxX2NvZGVjLm8KK3NuZC1hYzk3LWNvZGVjLXkgOj0gYWM5N19jb2RlYy5vIGFjOTdfcGNtLm8KK3NuZC1hYzk3LWNvZGVjLSQoQ09ORklHX1BST0NfRlMpICs9IGFjOTdfcHJvYy5vCiAKICMgVG9wbGV2ZWwgTW9kdWxlIERlcGVuZGVuY3kKIG9iai0kKENPTkZJR19TTkRfQUM5N19DT0RFQykgKz0gc25kLWFjOTctY29kZWMubwotb2JqLSQoQ09ORklHX1NORF9FTlMxMzcwKSArPSBzbmQtYWs0NTMxLWNvZGVjLm8KLQotb2JqLW0gOj0gJChzb3J0ICQob2JqLW0pKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jIGIvc291bmQvcGNpL2FjOTcvYWM5N19jb2RlYy5jCmluZGV4IDQ1ZmQyOTAuLjA3MzY0YzAgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfY29kZWMuYworKysgYi9zb3VuZC9wY2kvYWM5Ny9hYzk3X2NvZGVjLmMKQEAgLTQ5LDggKzQ5LDkgQEAKIAogI2lmZGVmIENPTkZJR19TTkRfQUM5N19QT1dFUl9TQVZFCiBzdGF0aWMgaW50IHBvd2VyX3NhdmUgPSBDT05GSUdfU05EX0FDOTdfUE9XRVJfU0FWRV9ERUZBVUxUOwotbW9kdWxlX3BhcmFtKHBvd2VyX3NhdmUsIGJvb2wsIDA2NDQpOwotTU9EVUxFX1BBUk1fREVTQyhwb3dlcl9zYXZlLCAiRW5hYmxlIEFDOTcgcG93ZXItc2F2aW5nIGNvbnRyb2wiKTsKK21vZHVsZV9wYXJhbShwb3dlcl9zYXZlLCBpbnQsIDA2NDQpOworTU9EVUxFX1BBUk1fREVTQyhwb3dlcl9zYXZlLCAiQXV0b21hdGljIHBvd2VyLXNhdmluZyB0aW1lb3V0ICIKKwkJICIoaW4gc2Vjb25kLCAwID0gZGlzYWJsZSkuIik7CiAjZW5kaWYKIC8qCiAKQEAgLTIyOTQsOSArMjI5NSwxMSBAQAogCXBvd2VyIHw9IEFDOTdfUERfUFIwIHwgQUM5N19QRF9QUjE7CS8qIEFEQyAmIERBQyBwb3dlcmRvd24gKi8KIAlzbmRfYWM5N193cml0ZShhYzk3LCBBQzk3X1BPV0VSRE9XTiwgcG93ZXIpOwogCXVkZWxheSgxMDApOwotCXBvd2VyIHw9IEFDOTdfUERfUFIyIHwgQUM5N19QRF9QUjM7CS8qIEFuYWxvZyBNaXhlciBwb3dlcmRvd24gKi8KKwlwb3dlciB8PSBBQzk3X1BEX1BSMjsJLyogQW5hbG9nIE1peGVyIHBvd2VyZG93biAoVnJlZiBvbikgKi8KIAlzbmRfYWM5N193cml0ZShhYzk3LCBBQzk3X1BPV0VSRE9XTiwgcG93ZXIpOwogCWlmIChhYzk3X2lzX3Bvd2VyX3NhdmVfbW9kZShhYzk3KSkgeworCQlwb3dlciB8PSBBQzk3X1BEX1BSMzsJLyogQW5hbG9nIE1peGVyIHBvd2VyZG93biAqLworCQlzbmRfYWM5N193cml0ZShhYzk3LCBBQzk3X1BPV0VSRE9XTiwgcG93ZXIpOwogCQl1ZGVsYXkoMTAwKTsKIAkJLyogQUMtbGluayBwb3dlcmRvd24sIGludGVybmFsIENsayBkaXNhYmxlICovCiAJCS8qIEZJWE1FOiB0aGlzIG1heSBjYXVzZSBjbGljayBub2lzZXMgb24gc29tZSBib2FyZHMgKi8KQEAgLTIzNjIsNyArMjM2NSw3IEBACiAJCSAqICB0aGF0IG9wZW4vY2xvc2UgZnJlcXVlbnRseSkKIAkJICovCiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmYWM5Ny0+cG93ZXJfd29yaywKLQkJCQkgICAgICBtc2Vjc190b19qaWZmaWVzKDIwMDApKTsKKwkJCQkgICAgICBtc2Vjc190b19qaWZmaWVzKHBvd2VyX3NhdmUgKiAxMDAwKSk7CiAJZWxzZSB7CiAJCWNhbmNlbF9kZWxheWVkX3dvcmsoJmFjOTctPnBvd2VyX3dvcmspOwogCQl1cGRhdGVfcG93ZXJfcmVncyhhYzk3KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYyBiL3NvdW5kL3BjaS9hYzk3L2FjOTdfcGF0Y2guYwppbmRleCAxMjkyZGNlLi4wNzQ2ZTljIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvYWM5Ny9hYzk3X3BhdGNoLmMKKysrIGIvc291bmQvcGNpL2FjOTcvYWM5N19wYXRjaC5jCkBAIC02NjksNiArNjY5LDcgQEAKIEFDOTdfU0lOR0xFKCJNaWMgMiBWb2x1bWUiLCBBQzk3X01JQywgMCwgMzEsIDEpLAogQUM5N19TSU5HTEUoIk1pYyAyMGRCIEJvb3N0IFN3aXRjaCIsIEFDOTdfTUlDLCA3LCAxLCAwKSwKIAorQUM5N19TSU5HTEUoIk1hc3RlciBMZWZ0IEludiBTd2l0Y2giLCBBQzk3X01BU1RFUiwgNiwgMSwgMCksCiBBQzk3X1NJTkdMRSgiTWFzdGVyIFpDIFN3aXRjaCIsIEFDOTdfTUFTVEVSLCA3LCAxLCAwKSwKIEFDOTdfU0lOR0xFKCJIZWFkcGhvbmUgWkMgU3dpdGNoIiwgQUM5N19IRUFEUEhPTkUsIDcsIDEsIDApLAogQUM5N19TSU5HTEUoIk1vbm8gWkMgU3dpdGNoIiwgQUM5N19NQVNURVJfTU9OTywgNywgMSwgMCksCkBAIC0zMzUyLDggKzMzNTMsNjYgQEAKIEFDOTdfU0lOR0xFKCJEb3dubWl4IFN1cnJvdW5kIHRvIEZyb250IiwgMHg1YSwgMTEsIDEsIDApLAogfTsKIAorc3RhdGljIGNvbnN0IGNoYXIgKnNsYXZlX3ZvbHNfdnQxNjE2W10gPSB7CisJIkZyb250IFBsYXliYWNrIFZvbHVtZSIsCisJIlN1cnJvdW5kIFBsYXliYWNrIFZvbHVtZSIsCisJIkNlbnRlciBQbGF5YmFjayBWb2x1bWUiLAorCSJMRkUgUGxheWJhY2sgVm9sdW1lIiwKKwlOVUxMCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqc2xhdmVfc3dzX3Z0MTYxNltdID0geworCSJGcm9udCBQbGF5YmFjayBTd2l0Y2giLAorCSJTdXJyb3VuZCBQbGF5YmFjayBTd2l0Y2giLAorCSJDZW50ZXIgUGxheWJhY2sgU3dpdGNoIiwKKwkiTEZFIFBsYXliYWNrIFN3aXRjaCIsCisJTlVMTAorfTsKKworLyogZmluZCBhIG1peGVyIGNvbnRyb2wgZWxlbWVudCB3aXRoIHRoZSBnaXZlbiBuYW1lICovCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbCAqc25kX2FjOTdfZmluZF9taXhlcl9jdGwoc3RydWN0IHNuZF9hYzk3ICphYzk3LAorCQkJCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IHNuZF9jdGxfZWxlbV9pZCBpZDsKKwltZW1zZXQoJmlkLCAwLCBzaXplb2YoaWQpKTsKKwlpZC5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSOworCXN0cmNweShpZC5uYW1lLCBuYW1lKTsKKwlyZXR1cm4gc25kX2N0bF9maW5kX2lkKGFjOTctPmJ1cy0+Y2FyZCwgJmlkKTsKK30KKworLyogY3JlYXRlIGEgdmlydHVhbCBtYXN0ZXIgY29udHJvbCBhbmQgYWRkIHNsYXZlcyAqLworaW50IHNuZF9hYzk3X2FkZF92bWFzdGVyKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywgY2hhciAqbmFtZSwKKwkJCSBjb25zdCB1bnNpZ25lZCBpbnQgKnRsdiwgY29uc3QgY2hhciAqKnNsYXZlcykKK3sKKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY3RsOworCWNvbnN0IGNoYXIgKipzOworCWludCBlcnI7CisKKwlrY3RsID0gc25kX2N0bF9tYWtlX3ZpcnR1YWxfbWFzdGVyKG5hbWUsIHRsdik7CisJaWYgKCFrY3RsKQorCQlyZXR1cm4gLUVOT01FTTsKKwllcnIgPSBzbmRfY3RsX2FkZChhYzk3LT5idXMtPmNhcmQsIGtjdGwpOworCWlmIChlcnIgPCAwKQorCQlyZXR1cm4gZXJyOworCisJZm9yIChzID0gc2xhdmVzOyAqczsgcysrKSB7CisJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKnNjdGw7CisKKwkJc2N0bCA9IHNuZF9hYzk3X2ZpbmRfbWl4ZXJfY3RsKGFjOTcsICpzKTsKKwkJaWYgKCFzY3RsKSB7CisJCQlzbmRfcHJpbnRkZCgiQ2Fubm90IGZpbmQgc2xhdmUgJXMsIHNraXBwZWRcbiIsICpzKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWVyciA9IHNuZF9jdGxfYWRkX3NsYXZlKGtjdGwsIHNjdGwpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHBhdGNoX3Z0MTYxNl9zcGVjaWZpYyhzdHJ1Y3Qgc25kX2FjOTcgKiBhYzk3KQogeworCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjdGw7CiAJaW50IGVycjsKIAogCWlmIChzbmRfYWM5N190cnlfYml0KGFjOTcsIDB4NWEsIDkpKQpAQCAtMzM2MSw2ICszNDIwLDI0IEBACiAJCQlyZXR1cm4gZXJyOwogCWlmICgoZXJyID0gcGF0Y2hfYnVpbGRfY29udHJvbHMoYWM5NywgJnNuZF9hYzk3X2NvbnRyb2xzX3Z0MTYxNlsxXSwgQVJSQVlfU0laRShzbmRfYWM5N19jb250cm9sc192dDE2MTYpIC0gMSkpIDwgMCkKIAkJcmV0dXJuIGVycjsKKworCS8qIFRoZXJlIGlzIGFscmVhZHkgYSBtaXNuYW1lZCBtYXN0ZXIgc3dpdGNoLiAgUmVuYW1lIGl0LiAgKi8KKwlrY3RsID0gc25kX2FjOTdfZmluZF9taXhlcl9jdGwoYWM5NywgIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiKTsKKwlpZiAoIWtjdGwpCisJCXJldHVybiAtRUlOVkFMOworCisJc25kX2FjOTdfcmVuYW1lX3ZvbF9jdGwoYWM5NywgIk1hc3RlciBQbGF5YmFjayIsICJGcm9udCBQbGF5YmFjayIpOworCisJZXJyID0gc25kX2FjOTdfYWRkX3ZtYXN0ZXIoYWM5NywgIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLAorCQkJCSAgIGtjdGwtPnRsdi5wLCBzbGF2ZV92b2xzX3Z0MTYxNik7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKKwllcnIgPSBzbmRfYWM5N19hZGRfdm1hc3RlcihhYzk3LCAiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsCisJCQkJICAgTlVMTCwgc2xhdmVfc3dzX3Z0MTYxNik7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMzYzMyw3ICszNzEwLDcgQEAKIHsKIAlhYzk3LT5idWlsZF9vcHMgPSAmcGF0Y2hfdWNiMTQwMF9vcHM7CiAJLyogZW5hYmxlIGhlYWRwaG9uZSBkcml2ZXIgYW5kIHNtYXJ0IGxvdyBwb3dlciBtb2RlIGJ5IGRlZmF1bHQgKi8KLQlzbmRfYWM5N193cml0ZShhYzk3LCAweDZhLCAweDAwNTApOwotCXNuZF9hYzk3X3dyaXRlKGFjOTcsIDB4NmMsIDB4MDAzMCk7CisJc25kX2FjOTdfd3JpdGVfY2FjaGUoYWM5NywgMHg2YSwgMHgwMDUwKTsKKwlzbmRfYWM5N193cml0ZV9jYWNoZShhYzk3LCAweDZjLCAweDAwMzApOwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2FjOTcvYWs0NTMxX2NvZGVjLmMgYi9zb3VuZC9wY2kvYWs0NTMxX2NvZGVjLmMKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gc291bmQvcGNpL2FjOTcvYWs0NTMxX2NvZGVjLmMKcmVuYW1lIHRvIHNvdW5kL3BjaS9hazQ1MzFfY29kZWMuYwppbmRleCBjMGMxNjMzOS4uMzNkMzdiMSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2FjOTcvYWs0NTMxX2NvZGVjLmMKKysrIGIvc291bmQvcGNpL2FrNDUzMV9jb2RlYy5jCkBAIC0yOCw5ICsyOCwxMSBAQAogI2luY2x1ZGUgPHNvdW5kL2FrNDUzMV9jb2RlYy5oPgogI2luY2x1ZGUgPHNvdW5kL3Rsdi5oPgogCisvKgogTU9EVUxFX0FVVEhPUigiSmFyb3NsYXYgS3lzZWxhIDxwZXJleEBwZXJleC5jej4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiVW5pdmVyc2FsIHJvdXRpbmVzIGZvciBBSzQ1MzEgY29kZWMiKTsKIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKyovCiAKICNpZmRlZiBDT05GSUdfUFJPQ19GUwogc3RhdGljIHZvaWQgc25kX2FrNDUzMV9wcm9jX2luaXQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqYWs0NTMxKTsKQEAgLTI3MCw3ICsyNzIsNyBAQAogc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGRiX3NjYWxlX21vbm8sIC0yODAwLCA0MDAsIDApOwogc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGRiX3NjYWxlX2lucHV0LCAtNTAwMCwgMjAwLCAwKTsKIAotc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9hazQ1MzFfY29udHJvbHNbXSA9IHsKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBzbmRfYWs0NTMxX2NvbnRyb2xzW10gX19kZXZpbml0ZGF0YSA9IHsKIAogQUs0NTMxX0RPVUJMRV9UTFYoIk1hc3RlciBQbGF5YmFjayBTd2l0Y2giLCAwLAogCQkgIEFLNDUzMV9MTUFTVEVSLCBBSzQ1MzFfUk1BU1RFUiwgNywgNywgMSwgMSwKQEAgLTM3OSw4ICszODEsOSBAQAogCTB4MDEJCS8qIDE5OiBNaWMgQW1wIFNldHVwICovCiB9OwogCi1pbnQgc25kX2FrNDUzMV9taXhlcihzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfYWs0NTMxICpfYWs0NTMxLAotCQkgICAgIHN0cnVjdCBzbmRfYWs0NTMxICoqcmFrNDUzMSkKK2ludCBfX2RldmluaXQgc25kX2FrNDUzMV9taXhlcihzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQkgICAgICAgc3RydWN0IHNuZF9hazQ1MzEgKl9hazQ1MzEsCisJCQkgICAgICAgc3RydWN0IHNuZF9hazQ1MzEgKipyYWs0NTMxKQogewogCXVuc2lnbmVkIGludCBpZHg7CiAJaW50IGVycjsKQEAgLTQ3Niw3ICs0NzksOCBAQAogCQkgICAgYWs0NTMxLT5yZWdzW0FLNDUzMV9NSUNfR0FJTl0gJiAxID8gIiszMGRCIiA6ICIrMGRCIik7CiB9CiAKLXN0YXRpYyB2b2lkIHNuZF9hazQ1MzFfcHJvY19pbml0KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9hazQ1MzEgKmFrNDUzMSkKK3N0YXRpYyB2b2lkIF9fZGV2aW5pdAorc25kX2FrNDUzMV9wcm9jX2luaXQoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX2FrNDUzMSAqYWs0NTMxKQogewogCXN0cnVjdCBzbmRfaW5mb19lbnRyeSAqZW50cnk7CiAKQEAgLTQ4NCwyNSArNDg4LDMgQEAKIAkJc25kX2luZm9fc2V0X3RleHRfb3BzKGVudHJ5LCBhazQ1MzEsIHNuZF9hazQ1MzFfcHJvY19yZWFkKTsKIH0KICNlbmRpZgotCi1FWFBPUlRfU1lNQk9MKHNuZF9hazQ1MzFfbWl4ZXIpOwotI2lmZGVmIENPTkZJR19QTQotRVhQT1JUX1NZTUJPTChzbmRfYWs0NTMxX3N1c3BlbmQpOwotRVhQT1JUX1NZTUJPTChzbmRfYWs0NTMxX3Jlc3VtZSk7Ci0jZW5kaWYKLQotLyoKLSAqICBJTklUIHBhcnQKLSAqLwotCi1zdGF0aWMgaW50IF9faW5pdCBhbHNhX2FrNDUzMV9pbml0KHZvaWQpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIF9fZXhpdCBhbHNhX2FrNDUzMV9leGl0KHZvaWQpCi17Ci19Ci0KLW1vZHVsZV9pbml0KGFsc2FfYWs0NTMxX2luaXQpCi1tb2R1bGVfZXhpdChhbHNhX2FrNDUzMV9leGl0KQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jIGIvc291bmQvcGNpL2F1ODh4MC9hdTg4eDBfZ2FtZS5jCmluZGV4IGJjMjEyZjQuLmUyOTFhYTUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9hdTg4eDAvYXU4OHgwX2dhbWUuYworKysgYi9zb3VuZC9wY2kvYXU4OHgwL2F1ODh4MF9nYW1lLmMKQEAgLTEsNiArMSw0IEBACiAvKgotICogJElkOiBhdTg4eDBfZ2FtZS5jLHYgMS45IDIwMDMvMDkvMjIgMDM6NTE6MjggbWphbmRlciBFeHAgJAotICoKICAqICBNYW51ZWwgSmFuZGVyLgogICoKICAqICBCYXNlZCBvbiB0aGUgd29yayBvZjoKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9henQzMzI4LmMgYi9zb3VuZC9wY2kvYXp0MzMyOC5jCmluZGV4IDVmNjNhZjYuLjIyZjE4ZjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9henQzMzI4LmMKKysrIGIvc291bmQvcGNpL2F6dDMzMjguYwpAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiAgYXp0MzMyOC5jIC0gZHJpdmVyIGZvciBBenRlY2ggQVpGMzMyOCBiYXNlZCBzb3VuZGNhcmRzIChlLmcuIFBDSTE2OCkuCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDA3IGJ5IEFuZHJlYXMgTW9ociA8YW5kaSBBVCBsaXNhcy5kZT4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUgLSAyMDA4IGJ5IEFuZHJlYXMgTW9ociA8YW5kaSBBVCBsaXNhcy5kZT4KICAqCiAgKiAgRnJhbWV3b3JrIGJvcnJvd2VkIGZyb20gQmFydCBIYXJ0Z2VycydzIGFsczQwMDAuYy4KICAqICBEcml2ZXIgZGV2ZWxvcGVkIG9uIFBDSTE2OCBBUChXKSB2ZXJzaW9uIChQQ0kgcmV2LiAxMCwgc3Vic3lzdGVtIElEIDE4MDEpLApAQCAtMzUsOSArMzUsMjAgQEAKICAqICAoMyB3ZWVrcycgd29ydGggb2YgZXZlbmluZ3MgZmlsbGVkIHdpdGggZHJpdmVyIHdvcmspLgogICogIChhbmQgbm8sIEkgZGlkIE5PVCBnbyB0aGUgZWFzeSB3YXk6IHRvIHBpY2sgdXAgYSBTQiBQQ0kxMjggZm9yIDkgRXVyb3MpCiAgKgotICogIFRoZSBBWkYzMzI4IGNoaXAgKG5vdGU6IEFaRjMzMjgsICpub3QqIEFaVDMzMjgsIHRoYXQncyBqdXN0IHRoZSBkcml2ZXIgbmFtZQotICogIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMpIGhhcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgorICogIEl0IGlzIHF1aXRlIGxpa2VseSB0aGF0IHRoZSBBWkYzMzI4IGNoaXAgaXMgdGhlIFBDSSBjb3VzaW4gb2YgdGhlCisgKiAgQVpGMzMxOCAoImF6dDEwMjAgcG5wIiwgIk1NIFBybyAxNiIpIElTQSBjaGlwLCBnaXZlbiB2ZXJ5IHNpbWlsYXIgc3BlY3MuCiAgKgorICogIFRoZSBBWkYzMzI4IGNoaXAgKG5vdGU6IEFaRjMzMjgsICpub3QqIEFaVDMzMjgsIHRoYXQncyBqdXN0IHRoZSBkcml2ZXIgbmFtZQorICogIGZvciBjb21wYXRpYmlsaXR5IHJlYXNvbnMpIGZyb20gQXpmaW4gKGpvaW50LXZlbnR1cmUgb2YgQXp0ZWNoIGFuZCBGaW5jaXRlYywKKyAqICBGaW5jaXRlYyBhY3F1aXJlZCBieSBOYXRpb25hbCBTZW1pY29uZHVjdG9yIGluIDIwMDIsIHRvZ2V0aGVyIHdpdGggdGhlCisgKiAgRmluY2l0ZWMtcmVsYXRlZCBjb21wYW55IEFSU21pa3JvKSBoYXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKyAqCisgKiAgLSBjb21wYXRpYmlsaXR5ICYgY29tcGxpYW5jZToKKyAqICAgIC0gTWljcm9zb2Z0IFBDIDk3ICgiUEMgOTcgSGFyZHdhcmUgRGVzaWduIEd1aWRlIiwKKyAqICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vd2hkYy9hcmNoaXZlL3BjZ3VpZGVzLm1zcHgpCisgKiAgICAtIE1pY3Jvc29mdCBQQyA5OCBCYXNlbGluZSBBdWRpbworICogICAgLSBNUFU0MDEgVUFSVAorICogICAgLSBTb3VuZCBCbGFzdGVyIEVtdWxhdGlvbiAoRE9TIEJveCkKICAqICAtIGJ1aWx0aW4gQUM5NyBjb25mb3JtYW50IGNvZGVjIChTTlIgb3ZlciA4MGRCKQogICogICAgTm90ZSB0aGF0ICJjb25mb3JtYW50IiAhPSAiY29tcGxpYW50IiEhIHRoaXMgY2hpcCdzIG1peGVyIHJlZ2lzdGVyIGxheW91dAogICogICAgKmRpZmZlcnMqIGZyb20gdGhlIHN0YW5kYXJkIEFDOTcgbGF5b3V0OgpAQCAtNDgsMjEgKzU5LDI4IEBACiAgKiAgICBhZGRyZXNzZXMgaWxsZWdhbGx5LiBTbyBmYXIgdW5mb3J0dW5hdGVseSBpdCBsb29rcyBsaWtlIHRoZSB2ZXJ5IGZsZXhpYmxlCiAgKiAgICBBTFNBIEFDOTcgc3VwcG9ydCBpcyBzdGlsbCBub3QgZW5vdWdoIHRvIGVhc2lseSBjb21wZW5zYXRlIGZvciBzdWNoIGEKICAqICAgIGdyYXZlIGxheW91dCB2aW9sYXRpb24gZGVzcGl0ZSBhbGwgdHdlYWtzIGFuZCBxdWlya3MgbWVjaGFuaXNtcyBpdCBvZmZlcnMuCi0gKiAgLSBidWlsdGluIGdlbnVpbmUgT1BMMworICogIC0gYnVpbHRpbiBnZW51aW5lIE9QTDMgLSB2ZXJpZmllZCB0byB3b3JrIGZpbmUsIDIwMDgwNTA2CiAgKiAgLSBmdWxsIGR1cGxleCAxNmJpdCBwbGF5YmFjay9yZWNvcmQgYXQgaW5kZXBlbmRlbnQgc2FtcGxpbmcgcmF0ZQotICogIC0gTVBVNDAxICgrIGxlZ2FjeSBhZGRyZXNzIHN1cHBvcnQpIEZJWE1FOiBob3cgdG8gZW5hYmxlIGxlZ2FjeSBhZGRyPz8KKyAqICAtIE1QVTQwMSAoKyBsZWdhY3kgYWRkcmVzcyBzdXBwb3J0LCBjbGFpbWVkIGJ5IG9uZSBvZmZpY2lhbCBzcGVjIHNoZWV0KQorICogICAgRklYTUU6IGhvdyB0byBlbmFibGUgbGVnYWN5IGFkZHI/PwogICogIC0gZ2FtZSBwb3J0IChsZWdhY3kgYWRkcmVzcyBzdXBwb3J0KQotICogIC0gYnVpbHRpbiAzRCBlbmhhbmNlbWVudCAoc2FpZCB0byBiZSBZQU1BSEEgWW1lcnNpb24pCiAgKiAgLSBidWlsdGluIERpcmVjdElucHV0IHN1cHBvcnQsIGhlbHBzIHJlZHVjZSBDUFUgb3ZlcmhlYWQgKGludGVycnVwdC1kcml2ZW4KLSAqICAgIGZlYXR1cmVzIHN1cHBvcnRlZCkKKyAqICAgIGZlYXR1cmVzIHN1cHBvcnRlZCkuIC0gU2VlIGNvbW1vbiB0ZXJtICJEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydCIuLi4KKyAqICAgIChwcm9iYWJseSBEaXJlY3RJbnB1dCAzLjAgc3BlYyAtIGNvbmZpcm0pCisgKiAgLSBidWlsdGluIDNEIGVuaGFuY2VtZW50IChzYWlkIHRvIGJlIFlBTUFIQSBZbWVyc2lvbikKICAqICAtIGJ1aWx0LWluIEdlbmVyYWwgRGlyZWN0WCB0aW1lciBoYXZpbmcgYSAyMCBiaXRzIGNvdW50ZXIKICAqICAgIHdpdGggMXVzIHJlc29sdXRpb24gKHNlZSBiZWxvdyEpCi0gKiAgLSBJMlMgc2VyaWFsIHBvcnQgZm9yIGV4dGVybmFsIERBQworICogIC0gSTJTIHNlcmlhbCBvdXRwdXQgcG9ydCBmb3IgZXh0ZXJuYWwgREFDCiAgKiAgLSBzdXBwb3J0cyAzM01IeiBQQ0kgc3BlYyAyLjEsIFBDSSBwb3dlciBtYW5hZ2VtZW50IDEuMCwgY29tcGxpYW50IHdpdGggQUNQSQogICogIC0gc3VwcG9ydHMgaGFyZHdhcmUgdm9sdW1lIGNvbnRyb2wKICAqICAtIHNpbmdsZSBjaGlwIGxvdyBjb3N0IHNvbHV0aW9uICgxMjggcGluIFFGUCkKICAqICAtIHN1cHBvcnRzIHByb2dyYW1tYWJsZSBTdWItdmVuZG9yIGFuZCBTdWItc3lzdGVtIElECiAgKiAgICByZXF1aXJlZCBmb3IgTWljcm9zb2Z0J3MgbG9nbyBjb21wbGlhbmNlIChGSVhNRTogd2hlcmU/KQorICogICAgQXQgbGVhc3QgdGhlIFRyaWRlbnQgNEQgV2F2ZSBEWCBoYXMgb25lIGJpdCBzb21ld2hlcmUKKyAqICAgIHRvIGVuYWJsZSB3cml0ZXMgdG8gUENJIHN1YnN5c3RlbSBWSUQgcmVnaXN0ZXJzLCB0aGF0IHNob3VsZCBiZSBpdC4KKyAqICAgIFRoaXMgbWlnaHQgZWFzaWx5IGJlIGluIGV4dGVuZGVkIFBDSSByZWcgc3BhY2UsIHNpbmNlIFBDSTE2OCBhbHNvIGhhcworICogICAgc29tZSBjdXN0b20gZGF0YSBzdGFydGluZyBhdCAweDgwLiBXaGF0IGtpbmQgb2YgY29uZmlnIHNldHRpbmdzCisgKiAgICBhcmUgbG9jYXRlZCBpbiBvdXIgZXh0ZW5kZWQgUENJIHNwYWNlIGFueXdheT8/CiAgKiAgLSBQQ0kxNjggQVAoVykgY2FyZDogcG93ZXIgYW1wbGlmaWVyIHdpdGggNCBXYXR0cy9jaGFubmVsIGF0IDQgT2htcwogICoKICAqICBOb3RlIHRoYXQgdGhpcyBkcml2ZXIgbm93IGlzIGFjdHVhbGx5ICpiZXR0ZXIqIHRoYW4gdGhlIFdpbmRvd3MgZHJpdmVyLApAQCAtNzQsNiArOTIsMjQgQEAKICAqICAtICJ0aW1pZGl0eSAtaUF2IC1CMiw4IC1PcyAtRUZyZXZlcmI9MCIKICAqICAtICJwbWlkaSAtcCAxMjg6MCBqYXp6Lm1pZCIKICAqCisgKiAgT1BMMyBoYXJkd2FyZSBwbGF5YmFjayB0ZXN0aW5nLCB0cnkgc29tZXRoaW5nIGxpa2U6CisgKiAgY2F0IC9wcm9jL2Fzb3VuZC9od2RlcAorICogIGFuZAorICogIGFjb25uZWN0IC1vCisgKiAgVGhlbiB1c2UKKyAqICBzYmlsb2FkIC1EaHc6eCx5IC0tb3BsMyAvdXNyL3NoYXJlL3NvdW5kcy9vcGwzL3N0ZC5vMyAuLi4uLi4uL2RydW1zLm8zCisgKiAgd2hlcmUgeCx5IGlzIHRoZSB4eC15eSBudW1iZXIgYXMgZ2l2ZW4gaW4gaHdkZXAuCisgKiAgVGhlbiB0cnkKKyAqICBwbWlkaSAtcCBhOmIgamF6ei5taWQKKyAqICB3aGVyZSBhOmIgaXMgdGhlIGNsaWVudCBudW1iZXIgcGx1cyAwIHVzdWFsbHksIGFzIGdpdmVuIGJ5IGFjb25uZWN0IGFib3ZlLgorICogIE9oLCBhbmQgbWFrZSBzdXJlIHRvIHVubXV0ZSB0aGUgRk0gbWl4ZXIgY29udHJvbCAoZG9oISkKKyAqICBOT1RFOiBwb3dlciB1c2UgZHVyaW5nIE9QTDMgcGxheWJhY2sgaXMgX1ZFUllfIGhpZ2ggKDcwVyAtLT4gOTBXISkKKyAqICBkZXNwaXRlIG5vIENQVSBhY3Rpdml0eSwgcG9zc2libHkgZHVlIHRvIGhpbmRlcmluZyBBQ1BJIGlkbGluZyBzb21laG93LgorICogIFNob3VsZG4ndCBiZSBhIHByb2JsZW0gb2YgdGhlIEFaRjMzMjggY2hpcCBpdHNlbGYsIEknZCBob3BlLgorICogIEhpZ2hlciBQQ00gLyBGTSBtaXhlciBsZXZlbHMgc2VlbSB0byBjb25mbGljdCAoY2F1c2VzIGNyYWNrbGluZyksCisgKiAgYXQgbGVhc3Qgc29tZXRpbWVzLiAgIE1heWJlIGV2ZW4gdXNlIHdpdGggaGFyZHdhcmUgc2VxdWVuY2VyIHRpbWVyIGFib3ZlIDopCisgKiAgYWRwbGF5L2FkcGx1Zy11dGlscyBtaWdodCBzb29uIG9mZmVyIGhhcmR3YXJlLWJhc2VkIE9QTDMgcGxheWJhY2ssIHRvby4KKyAqCiAgKiAgQ2VydGFpbiBQQ0kgdmVyc2lvbnMgb2YgdGhpcyBjYXJkIGFyZSBzdXNjZXB0aWJsZSB0byBETUEgdHJhZmZpYyB1bmRlcnJ1bnMKICAqICBpbiBzb21lIHN5c3RlbXMgKHJlc3VsdGluZyBpbiBzb3VuZCBjcmFja2xpbmcvY2xpY2tpbmcvcG9wcGluZyksCiAgKiAgcHJvYmFibHkgYmVjYXVzZSB0aGV5IGRvbid0IGhhdmUgYSBETUEgRklGTyBidWZmZXIgb3Igc28uCkBAIC04Nyw2ICsxMjMsOCBAQAogICogIGJldHRlciB0aGFuIGEgVklBLCB5ZXQgaXJvbmljYWxseSBJIHN0aWxsIGdldCBjcmFja2xpbmcsIGxpa2UgbWFueSBvdGhlcgogICogIHBlb3BsZSB3aXRoIHRoZSBzYW1lIGNoaXBzZXQuCiAgKiAgUG9zc2libGUgcmVtZWRpZXM6CisgKiAgLSB1c2Ugc3BlYWtlciAoYW1wbGlmaWVyKSBvdXRwdXQgaW5zdGVhZCBvZiBoZWFkcGhvbmUgb3V0cHV0CisgKiAgICAoaW4gY2FzZSBjcmFja2xpbmcgaXMgZHVlIHRvIG92ZXJsb2FkZWQgb3V0cHV0IGNsaXBwaW5nKQogICogIC0gcGx1ZyBjYXJkIGludG8gYSBkaWZmZXJlbnQgUENJIHNsb3QsIHByZWZlcnJhYmx5IG9uZSB0aGF0IGlzbid0IHNoYXJlZAogICogICAgdG9vIG11Y2ggKHRoaXMgaGVscHMgYSBsb3QsIGJ1dCBub3QgY29tcGxldGVseSEpCiAgKiAgLSBnZXQgcmlkIG9mIFBDSSBWR0EgY2FyZCwgdXNlIEFHUCBpbnN0ZWFkCkBAIC05NCwxOCArMTMyLDIzIEBACiAgKiAgLSBmaWRkbGUgd2l0aCBQQ0kgbGF0ZW5jeSBzZXR0aW5ncyAoc2V0cGNpIC12IC1zIEJVU0lEIGxhdGVuY3lfdGltZXI9WFgpCiAgKiAgICBOb3QgdG9vIGhlbHBmdWwuCiAgKiAgLSBEaXNhYmxlIEFDUEkvcG93ZXIgbWFuYWdlbWVudC8iQXV0byBEZXRlY3QgUkFNL1BDSSBDbGsiIGluIEJJT1MKLSAqIAorICoKICAqIEJVR1MKLSAqICAtIGZ1bGwtZHVwbGV4IG1pZ2h0ICpzdGlsbCogYmUgcHJvYmxlbWF0aWMsIG5vdCBmdWxseSB0ZXN0ZWQgcmVjZW50bHkKKyAqICAtIGZ1bGwtZHVwbGV4IG1pZ2h0ICpzdGlsbCogYmUgcHJvYmxlbWF0aWMsIGhvd2V2ZXIgYSByZWNlbnQgdGVzdCB3YXMgZmluZQogICogIC0gKG5vbi1idWcpICJCYXNzL1RyZWJsZSBvciAzRCBzZXR0aW5ncyBkb24ndCB3b3JrIiAtIHRoZXkgZG8gZ2V0IGV2YWx1YXRlZAogICogICAgaWYgeW91IHNldCBQQ00gb3V0cHV0IHN3aXRjaCB0byAicHJlIDNEIiBpbnN0ZWFkIG9mICJwb3N0IDNEIi4KICAqICAgIElmIHRoaXMgY2FuJ3QgYmUgc2V0LCB0aGVuIGdldCBhIG1peGVyIGFwcGxpY2F0aW9uIHRoYXQgSXNuJ3QgU3R1cGlkICh0bSkKICAqICAgIChlLmcuIGttaXgsIGdhbWl4KSAtIHVuZm9ydHVuYXRlbHkgc2V2ZXJhbCBhcmUhIQotICogCisgKiAgLSBsb2NraW5nIGlzIG5vdCBlbnRpcmVseSBjbGVhbiwgZXNwZWNpYWxseSB0aGUgYXVkaW8gc3RyZWFtIGFjdGl2aXR5CisgKiAgICBpbnRzIC0tPiBtYXkgYmUgcmFjeQorICogIC0gYW4gX3VuY29ubmVjdGVkXyBzZWNvbmRhcnkgam95c3RpY2sgYXQgdGhlIGdhbWVwb3J0IHdpbGwgYmUgcmVwb3J0ZWQKKyAqICAgIHRvIGJlICJhY3RpdmUiIChmbG9hdGluZyB2YWx1ZXMsIG5vdCBwcmVjaXNlbHkgLTEpIGR1ZSB0byB0aGUgd2F5IHdlIG5lZWQKKyAqICAgIHRvIHJlYWQgdGhlIERpZ2l0YWwgRW5oYW5jZWQgR2FtZSBQb3J0LiBOb3Qgc3VyZSB3aGV0aGVyIGl0IGlzIGZpeGFibGUuCisgKgogICogVE9ETwogICogIC0gdGVzdCBNUFU0MDEgTUlESSBwbGF5YmFjayBldGMuCi0gKiAgLSBhZGQgc29tZSBwb3dlciBtaWNyby1tYW5hZ2VtZW50IChkaXNhYmxlIHZhcmlvdXMgdW5pdHMgb2YgdGhlIGNhcmQKLSAqICAgIGFzIGxvbmcgYXMgdGhleSdyZSB1bnVzZWQpLiBIb3dldmVyIHRoaXMgcmVxdWlyZXMgSS9PIHBvcnRzIHdoaWNoIEkKKyAqICAtIGFkZCBtb3JlIHBvd2VyIG1pY3JvLW1hbmFnZW1lbnQgKGRpc2FibGUgdmFyaW91cyB1bml0cyBvZiB0aGUgY2FyZAorICogICAgYXMgbG9uZyBhcyB0aGV5J3JlIHVudXNlZCkuIEhvd2V2ZXIgdGhpcyByZXF1aXJlcyBtb3JlIEkvTyBwb3J0cyB3aGljaCBJCiAgKiAgICBoYXZlbid0IGZpZ3VyZWQgb3V0IHlldCBhbmQgd2hpY2ggdGh1cyBtaWdodCBub3QgZXZlbiBleGlzdC4uLgogICogICAgVGhlIHN0YW5kYXJkIHN1c3BlbmQvcmVzdW1lIGZ1bmN0aW9uYWxpdHkgY291bGQgcHJvYmFibHkgbWFrZSB1c2Ugb2YKICAqICAgIHNvbWUgaW1wcm92ZW1lbnQsIHRvby4uLgpAQCAtMTEzLDYgKzE1Niw3IEBACiAgKiAgLSBmaWd1cmUgb3V0IHNvbWUgY2xldmVybHkgZXZpbCBzY2hlbWUgdG8gcG9zc2libHkgbWFrZSBBTFNBIEFDOTcgY29kZQogICogICAgZnVsbHkgYWNjZXB0IG91ciBxdWl0ZSBpbmNvbXBhdGlibGUgIiJBQzk3IiIgbWl4ZXIgYW5kIHRodXMgc2F2ZSBzb21lCiAgKiAgICBjb2RlIChidXQgSSdtIG5vdCB0b28gb3B0aW1pc3RpYyB0aGF0IGRvaW5nIHRoaXMgaXMgcG9zc2libGUgYXQgYWxsKQorICogIC0gdXNlIE1NSU8gKG1lbW9yeS1tYXBwZWQgSS9PKT8gU2xpZ2h0bHkgZmFzdGVyIGFjY2VzcywgZS5nLiBmb3IgZ2FtZXBvcnQuCiAgKi8KIAogI2luY2x1ZGUgPGFzbS9pby5oPgpAQCAtMTM4LDcgKzE4Miw3IEBACiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tBenRlY2gsQVpGMzMyOH19Iik7CiAKICNpZiBkZWZpbmVkKENPTkZJR19HQU1FUE9SVCkgfHwgKGRlZmluZWQoTU9EVUxFKSAmJiBkZWZpbmVkKENPTkZJR19HQU1FUE9SVF9NT0RVTEUpKQotI2RlZmluZSBTVVBQT1JUX0pPWVNUSUNLIDEKKyNkZWZpbmUgU1VQUE9SVF9HQU1FUE9SVCAxCiAjZW5kaWYKIAogI2RlZmluZSBERUJVR19NSVNDCTAKQEAgLTE0NywxMyArMTkxLDE0IEBACiAjZGVmaW5lIERFQlVHX1BMQVlfUkVDCTAKICNkZWZpbmUgREVCVUdfSU8JMAogI2RlZmluZSBERUJVR19USU1FUgkwCisjZGVmaW5lIERFQlVHX0dBTUUJMAogI2RlZmluZSBNSVhFUl9URVNUSU5HCTAKIAogI2lmIERFQlVHX01JU0MKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnbWlzYyhmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhLRVJOX0VSUiBmb3JtYXQsICMjYXJncykKICNlbHNlCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21pc2MoZm9ybWF0LCBhcmdzLi4uKQotI2VuZGlmCQkKKyNlbmRpZgogCiAjaWYgREVCVUdfQ0FMTFMKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJnY2FsbHMoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoZm9ybWF0LCAjI2FyZ3MpCkBAIC0xNjMsMjUgKzIwOCwzMSBAQAogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdjYWxscyhmb3JtYXQsIGFyZ3MuLi4pCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpCi0jZW5kaWYJCQorI2VuZGlmCiAKICNpZiBERUJVR19NSVhFUgogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdtaXhlcihmb3JtYXQsIGFyZ3MuLi4pIHByaW50ayhmb3JtYXQsICMjYXJncykKICNlbHNlCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ21peGVyKGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX1BMQVlfUkVDCiAjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ3BsYXkoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdwbGF5KGZvcm1hdCwgYXJncy4uLikKLSNlbmRpZgkJCisjZW5kaWYKIAogI2lmIERFQlVHX01JU0MKICNkZWZpbmUgc25kX2F6ZjMzMjhfZGJndGltZXIoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCiAjZWxzZQogI2RlZmluZSBzbmRfYXpmMzMyOF9kYmd0aW1lcihmb3JtYXQsIGFyZ3MuLi4pCi0jZW5kaWYJCQorI2VuZGlmCisKKyNpZiBERUJVR19HQU1FCisjZGVmaW5lIHNuZF9hemYzMzI4X2RiZ2dhbWUoZm9ybWF0LCBhcmdzLi4uKSBwcmludGsoS0VSTl9FUlIgZm9ybWF0LCAjI2FyZ3MpCisjZWxzZQorI2RlZmluZSBzbmRfYXpmMzMyOF9kYmdnYW1lKGZvcm1hdCwgYXJncy4uLikKKyNlbmRpZgogCiBzdGF0aWMgaW50IGluZGV4W1NORFJWX0NBUkRTXSA9IFNORFJWX0RFRkFVTFRfSURYOwkvKiBJbmRleCAwLU1BWCAqLwogbW9kdWxlX3BhcmFtX2FycmF5KGluZGV4LCBpbnQsIE5VTEwsIDA0NDQpOwpAQCAtMTk1LDUxICsyNDYsNjIgQEAKIG1vZHVsZV9wYXJhbV9hcnJheShlbmFibGUsIGJvb2wsIE5VTEwsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhlbmFibGUsICJFbmFibGUgQVpGMzMyOCBzb3VuZGNhcmQuIik7CiAKLSNpZmRlZiBTVVBQT1JUX0pPWVNUSUNLCi1zdGF0aWMgaW50IGpveXN0aWNrW1NORFJWX0NBUkRTXTsKLW1vZHVsZV9wYXJhbV9hcnJheShqb3lzdGljaywgYm9vbCwgTlVMTCwgMDQ0NCk7Ci1NT0RVTEVfUEFSTV9ERVNDKGpveXN0aWNrLCAiRW5hYmxlIGpveXN0aWNrIGZvciBBWkYzMzI4IHNvdW5kY2FyZC4iKTsKLSNlbmRpZgotCiBzdGF0aWMgaW50IHNlcXRpbWVyX3NjYWxpbmcgPSAxMjg7CiBtb2R1bGVfcGFyYW0oc2VxdGltZXJfc2NhbGluZywgaW50LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2VxdGltZXJfc2NhbGluZywgIlNldCAxMDI0MDAwSHogc2VxdWVuY2VyIHRpbWVyIHNjYWxlIGZhY3RvciAobG9ja3VwIGRhbmdlciEpLiBEZWZhdWx0IDEyOC4iKTsKIAorc3RydWN0IHNuZF9hemYzMzI4X2F1ZGlvX3N0cmVhbSB7CisJc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07CisJaW50IGVuYWJsZWQ7CisJaW50IHJ1bm5pbmc7CisJdW5zaWduZWQgbG9uZyBwb3J0YmFzZTsKK307CisKK2VudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IHsKKyAgQVpGX1BMQVlCQUNLID0gMCwKKyAgQVpGX0NBUFRVUkUgPSAxLAorfTsKKwogc3RydWN0IHNuZF9hemYzMzI4IHsKIAkvKiBvZnRlbi11c2VkIGZpZWxkcyB0b3dhcmRzIGJlZ2lubmluZywgdGhlbiBncm91cGVkICovCi0JdW5zaWduZWQgbG9uZyBjb2RlY19wb3J0OwotCXVuc2lnbmVkIGxvbmcgaW8yX3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBtcHVfcG9ydDsKLQl1bnNpZ25lZCBsb25nIHN5bnRoX3BvcnQ7Ci0JdW5zaWduZWQgbG9uZyBtaXhlcl9wb3J0OworCisJdW5zaWduZWQgbG9uZyBjb2RlY19pbzsgLyogdXN1YWxseSAweGIwMDAsIHNpemUgMTI4ICovCisJdW5zaWduZWQgbG9uZyBnYW1lX2lvOyAgLyogdXN1YWxseSAweGI0MDAsIHNpemUgOCAqLworCXVuc2lnbmVkIGxvbmcgbXB1X2lvOyAgIC8qIHVzdWFsbHkgMHhiODAwLCBzaXplIDQgKi8KKwl1bnNpZ25lZCBsb25nIG9wbDNfaW87IC8qIHVzdWFsbHkgMHhiYzAwLCBzaXplIDggKi8KKwl1bnNpZ25lZCBsb25nIG1peGVyX2lvOyAvKiB1c3VhbGx5IDB4YzAwMCwgc2l6ZSA2NCAqLwogCiAJc3BpbmxvY2tfdCByZWdfbG9jazsKIAogCXN0cnVjdCBzbmRfdGltZXIgKnRpbWVyOwotCQorCiAJc3RydWN0IHNuZF9wY20gKnBjbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnBsYXliYWNrX3N1YnN0cmVhbTsKLQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKmNhcHR1cmVfc3Vic3RyZWFtOwotCXVuc2lnbmVkIGludCBpc19wbGF5aW5nOwotCXVuc2lnbmVkIGludCBpc19yZWNvcmRpbmc7CisJc3RydWN0IHNuZF9hemYzMzI4X2F1ZGlvX3N0cmVhbSBhdWRpb19zdHJlYW1bMl07CiAKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQ7CiAJc3RydWN0IHNuZF9yYXdtaWRpICpybWlkaTsKIAotI2lmZGVmIFNVUFBPUlRfSk9ZU1RJQ0sKKyNpZmRlZiBTVVBQT1JUX0dBTUVQT1JUCiAJc3RydWN0IGdhbWVwb3J0ICpnYW1lcG9ydDsKKwlpbnQgYXhlc1s0XTsKICNlbmRpZgogCiAJc3RydWN0IHBjaV9kZXYgKnBjaTsKIAlpbnQgaXJxOwogCisJLyogcmVnaXN0ZXIgMHg2YSBpcyB3cml0ZS1vbmx5LCB0aHVzIG5lZWQgdG8gcmVtZW1iZXIgc2V0dGluZy4KKwkgKiBJZiB3ZSBuZWVkIHRvIGFkZCBtb3JlIHJlZ2lzdGVycyBoZXJlLCB0aGVuIHdlIG1pZ2h0IHRyeSB0byBmb2xkIHRoaXMKKwkgKiBpbnRvIHNvbWUgdHJhbnNwYXJlbnQgY29tYmluZWQgc2hhZG93IHJlZ2lzdGVyIGhhbmRsaW5nIHdpdGgKKwkgKiBDT05GSUdfUE0gcmVnaXN0ZXIgc3RvcmFnZSBiZWxvdywgYnV0IHRoYXQncyBzbGlnaHRseSBkaWZmaWN1bHQuICovCisJdTE2IHNoYWRvd19yZWdfY29kZWNfNkFIOworCiAjaWZkZWYgQ09ORklHX1BNCiAJLyogcmVnaXN0ZXIgdmFsdWUgY29udGFpbmVycyBmb3IgcG93ZXIgbWFuYWdlbWVudAogCSAqIE5vdGU6IG5vdCBhbHdheXMgZnVsbCBJL08gcmFuZ2UgcHJlc2VydmVkIChqdXN0IGxpa2UgV2luIGRyaXZlciEpICovCi0JdTE2IHNhdmVkX3JlZ3NfY29kZWMgW0FaRl9JT19TSVpFX0NPREVDX1BNIC8gMl07Ci0JdTE2IHNhdmVkX3JlZ3NfaW8yICAgW0FaRl9JT19TSVpFX0lPMl9QTSAvIDJdOwotCXUxNiBzYXZlZF9yZWdzX21wdSAgIFtBWkZfSU9fU0laRV9NUFVfUE0gLyAyXTsKLQl1MTYgc2F2ZWRfcmVnc19zeW50aFtBWkZfSU9fU0laRV9TWU5USF9QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX2NvZGVjW0FaRl9JT19TSVpFX0NPREVDX1BNIC8gMl07CisJdTE2IHNhdmVkX3JlZ3NfZ2FtZSBbQVpGX0lPX1NJWkVfR0FNRV9QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX21wdSAgW0FaRl9JT19TSVpFX01QVV9QTSAvIDJdOworCXUxNiBzYXZlZF9yZWdzX29wbDMgW0FaRl9JT19TSVpFX09QTDNfUE0gLyAyXTsKIAl1MTYgc2F2ZWRfcmVnc19taXhlcltBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDJdOwogI2VuZGlmCiB9OwpAQCAtMjUyLDEyNiArMzE0LDE2NiBAQAogCiBNT0RVTEVfREVWSUNFX1RBQkxFKHBjaSwgc25kX2F6ZjMzMjhfaWRzKTsKIAotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTggdmFsdWUpCisKK3N0YXRpYyBpbnQKK3NuZF9hemYzMzI4X2lvX3JlZ19zZXRiKHVuc2lnbmVkIHJlZywgdTggbWFzaywgaW50IGRvX3NldCkKIHsKLQlvdXRiKHZhbHVlLCBjaGlwLT5jb2RlY19wb3J0ICsgcmVnKTsKKwl1OCBwcmV2ID0gaW5iKHJlZyksIG5ldzsKKworCW5ldyA9IChkb19zZXQpID8gKHByZXZ8bWFzaykgOiAocHJldiAmIH5tYXNrKTsKKwkvKiB3ZSBuZWVkIHRvIGFsd2F5cyB3cml0ZSB0aGUgbmV3IHZhbHVlIG5vIG1hdHRlciB3aGV0aGVyIGl0IGRpZmZlcnMKKwkgKiBvciBub3QsIHNpbmNlIHNvbWUgcmVnaXN0ZXIgYml0cyBkb24ndCBpbmRpY2F0ZSB0aGVpciBzZXR0aW5nICovCisJb3V0YihuZXcsIHJlZyk7CisJaWYgKG5ldyAhPSBwcmV2KQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX291dGIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHU4IHZhbHVlKQoreworCW91dGIodmFsdWUsIGNoaXAtPmNvZGVjX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1OAotc25kX2F6ZjMzMjhfY29kZWNfaW5iKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2NvZGVjX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW5iKGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCXJldHVybiBpbmIoY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2NvZGVjX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1MTYgdmFsdWUpCitzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MTYgdmFsdWUpCiB7Ci0Jb3V0dyh2YWx1ZSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJb3V0dyh2YWx1ZSwgY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHUxNgotc25kX2F6ZjMzMjhfY29kZWNfaW53KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZykKK3NuZF9hemYzMzI4X2NvZGVjX2ludyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW53KGNoaXAtPmNvZGVjX3BvcnQgKyByZWcpOworCXJldHVybiBpbncoY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2NvZGVjX291dGwoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCB1MzIgdmFsdWUpCitzbmRfYXpmMzMyOF9jb2RlY19vdXRsKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnLCB1MzIgdmFsdWUpCiB7Ci0Jb3V0bCh2YWx1ZSwgY2hpcC0+Y29kZWNfcG9ydCArIHJlZyk7CisJb3V0bCh2YWx1ZSwgY2hpcC0+Y29kZWNfaW8gKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHUzMgorc25kX2F6ZjMzMjhfY29kZWNfaW5sKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgdW5zaWduZWQgcmVnKQoreworCXJldHVybiBpbmwoY2hpcC0+Y29kZWNfaW8gKyByZWcpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLXNuZF9hemYzMzI4X2lvMl9vdXRiKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTggdmFsdWUpCitzbmRfYXpmMzMyOF9nYW1lX291dGIoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHU4IHZhbHVlKQogewotCW91dGIodmFsdWUsIGNoaXAtPmlvMl9wb3J0ICsgcmVnKTsKKwlvdXRiKHZhbHVlLCBjaGlwLT5nYW1lX2lvICsgcmVnKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lX291dHcoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcsIHUxNiB2YWx1ZSkKK3sKKwlvdXR3KHZhbHVlLCBjaGlwLT5nYW1lX2lvICsgcmVnKTsKIH0KIAogc3RhdGljIGlubGluZSB1OAotc25kX2F6ZjMzMjhfaW8yX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCByZWcpCitzbmRfYXpmMzMyOF9nYW1lX2luYihjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZykKIHsKLQlyZXR1cm4gaW5iKGNoaXAtPmlvMl9wb3J0ICsgcmVnKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9taXhlcl9vdXR3KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdTE2IHZhbHVlKQotewotCW91dHcodmFsdWUsIGNoaXAtPm1peGVyX3BvcnQgKyByZWcpOworCXJldHVybiBpbmIoY2hpcC0+Z2FtZV9pbyArIHJlZyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTE2Ci1zbmRfYXpmMzMyOF9taXhlcl9pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnKQorc25kX2F6ZjMzMjhfZ2FtZV9pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCiB7Ci0JcmV0dXJuIGludyhjaGlwLT5taXhlcl9wb3J0ICsgcmVnKTsKKwlyZXR1cm4gaW53KGNoaXAtPmdhbWVfaW8gKyByZWcpOwogfQogCi1zdGF0aWMgdm9pZAotc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgcmVnLCBpbnQgZG9fbXV0ZSkKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIHVuc2lnbmVkIHJlZywgdTE2IHZhbHVlKQogewotCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2UgPSBjaGlwLT5taXhlcl9wb3J0ICsgcmVnICsgMTsKLQl1bnNpZ25lZCBjaGFyIG9sZHZhbDsKKwlvdXR3KHZhbHVlLCBjaGlwLT5taXhlcl9pbyArIHJlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdTE2CitzbmRfYXpmMzMyOF9taXhlcl9pbncoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCB1bnNpZ25lZCByZWcpCit7CisJcmV0dXJuIGludyhjaGlwLT5taXhlcl9pbyArIHJlZyk7Cit9CisKKyNkZWZpbmUgQVpGX01VVEVfQklUIDB4ODAKKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY29uc3Qgc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJICAgdW5zaWduZWQgcmVnLCBpbnQgZG9fbXV0ZQorKQoreworCXVuc2lnbmVkIGxvbmcgcG9ydGJhc2UgPSBjaGlwLT5taXhlcl9pbyArIHJlZyArIDE7CisJaW50IHVwZGF0ZWQ7CiAKIAkvKiB0aGUgbXV0ZSBiaXQgaXMgb24gdGhlICpzZWNvbmQqIChpLmUuIHJpZ2h0KSByZWdpc3RlciBvZiBhCiAJICogbGVmdC9yaWdodCBjaGFubmVsIHNldHRpbmcgKi8KLQlvbGR2YWwgPSBpbmIocG9ydGJhc2UpOwotCWlmIChkb19tdXRlKQotCQlvbGR2YWwgfD0gMHg4MDsKLQllbHNlCi0JCW9sZHZhbCAmPSB+MHg4MDsKLQlvdXRiKG9sZHZhbCwgcG9ydGJhc2UpOworCXVwZGF0ZWQgPSBzbmRfYXpmMzMyOF9pb19yZWdfc2V0Yihwb3J0YmFzZSwgQVpGX01VVEVfQklULCBkb19tdXRlKTsKKworCS8qIGluZGljYXRlIHdoZXRoZXIgaXQgd2FzIG11dGVkIGJlZm9yZSAqLworCXJldHVybiAoZG9fbXV0ZSkgPyAhdXBkYXRlZCA6IHVwZGF0ZWQ7CiB9CiAKIHN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9taXhlcl93cml0ZV92b2x1bWVfZ3JhZHVhbGx5KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IHJlZywgdW5zaWduZWQgY2hhciBkc3Rfdm9sX2xlZnQsIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9yaWdodCwgaW50IGNoYW5fc2VsLCBpbnQgZGVsYXkpCitzbmRfYXpmMzMyOF9taXhlcl93cml0ZV92b2x1bWVfZ3JhZHVhbGx5KGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCQkJIHVuc2lnbmVkIHJlZywKKwkJCQkJIHVuc2lnbmVkIGNoYXIgZHN0X3ZvbF9sZWZ0LAorCQkJCQkgdW5zaWduZWQgY2hhciBkc3Rfdm9sX3JpZ2h0LAorCQkJCQkgaW50IGNoYW5fc2VsLCBpbnQgZGVsYXkKKykKIHsKLQl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfcG9ydCArIHJlZzsKKwl1bnNpZ25lZCBsb25nIHBvcnRiYXNlID0gY2hpcC0+bWl4ZXJfaW8gKyByZWc7CiAJdW5zaWduZWQgY2hhciBjdXJyX3ZvbF9sZWZ0ID0gMCwgY3Vycl92b2xfcmlnaHQgPSAwOwotCWludCBsZWZ0X2RvbmUgPSAwLCByaWdodF9kb25lID0gMDsKLQkKKwlpbnQgbGVmdF9jaGFuZ2UgPSAwLCByaWdodF9jaGFuZ2UgPSAwOworCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7Ci0JaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fTEVGVCkKKworCWlmIChjaGFuX3NlbCAmIFNFVF9DSEFOX0xFRlQpIHsKIAkJY3Vycl92b2xfbGVmdCAgPSBpbmIocG9ydGJhc2UgKyAxKTsKLQllbHNlCi0JCWxlZnRfZG9uZSA9IDE7Ci0JaWYgKGNoYW5fc2VsICYgU0VUX0NIQU5fUklHSFQpCisKKwkJLyogdGFrZSBjYXJlIG9mIG11dGluZyBmbGFnIGNvbnRhaW5lZCBpbiBsZWZ0IGNoYW5uZWwgKi8KKwkJaWYgKGN1cnJfdm9sX2xlZnQgJiBBWkZfTVVURV9CSVQpCisJCQlkc3Rfdm9sX2xlZnQgfD0gQVpGX01VVEVfQklUOworCQllbHNlCisJCQlkc3Rfdm9sX2xlZnQgJj0gfkFaRl9NVVRFX0JJVDsKKworCQlsZWZ0X2NoYW5nZSA9IChjdXJyX3ZvbF9sZWZ0ID4gZHN0X3ZvbF9sZWZ0KSA/IC0xIDogMTsKKwl9CisKKwlpZiAoY2hhbl9zZWwgJiBTRVRfQ0hBTl9SSUdIVCkgewogCQljdXJyX3ZvbF9yaWdodCA9IGluYihwb3J0YmFzZSArIDApOwotCWVsc2UKLQkJcmlnaHRfZG9uZSA9IDE7Ci0JCi0JLyogdGFrZSBjYXJlIG9mIG11dGluZyBmbGFnICgweDgwKSBjb250YWluZWQgaW4gbGVmdCBjaGFubmVsICovCi0JaWYgKGN1cnJfdm9sX2xlZnQgJiAweDgwKQotCQlkc3Rfdm9sX2xlZnQgfD0gMHg4MDsKLQllbHNlCi0JCWRzdF92b2xfbGVmdCAmPSB+MHg4MDsKKworCQlyaWdodF9jaGFuZ2UgPSAoY3Vycl92b2xfcmlnaHQgPiBkc3Rfdm9sX3JpZ2h0KSA/IC0xIDogMTsKKwl9CiAKIAlkbyB7Ci0JCWlmICghbGVmdF9kb25lKSB7Ci0JCQlpZiAoY3Vycl92b2xfbGVmdCA+IGRzdF92b2xfbGVmdCkKLQkJCQljdXJyX3ZvbF9sZWZ0LS07Ci0JCQllbHNlCi0JCQlpZiAoY3Vycl92b2xfbGVmdCA8IGRzdF92b2xfbGVmdCkKLQkJCQljdXJyX3ZvbF9sZWZ0Kys7Ci0JCQllbHNlCi0JCQkgICAgbGVmdF9kb25lID0gMTsKLQkJCW91dGIoY3Vycl92b2xfbGVmdCwgcG9ydGJhc2UgKyAxKTsKKwkJaWYgKGxlZnRfY2hhbmdlKSB7CisJCQlpZiAoY3Vycl92b2xfbGVmdCAhPSBkc3Rfdm9sX2xlZnQpIHsKKwkJCQljdXJyX3ZvbF9sZWZ0ICs9IGxlZnRfY2hhbmdlOworCQkJCW91dGIoY3Vycl92b2xfbGVmdCwgcG9ydGJhc2UgKyAxKTsKKwkJCX0gZWxzZQorCQkJICAgIGxlZnRfY2hhbmdlID0gMDsKIAkJfQotCQlpZiAoIXJpZ2h0X2RvbmUpIHsKLQkJCWlmIChjdXJyX3ZvbF9yaWdodCA+IGRzdF92b2xfcmlnaHQpCi0JCQkJY3Vycl92b2xfcmlnaHQtLTsKLQkJCWVsc2UKLQkJCWlmIChjdXJyX3ZvbF9yaWdodCA8IGRzdF92b2xfcmlnaHQpCi0JCQkJY3Vycl92b2xfcmlnaHQrKzsKLQkJCWVsc2UKLQkJCSAgICByaWdodF9kb25lID0gMTsKKwkJaWYgKHJpZ2h0X2NoYW5nZSkgeworCQkJaWYgKGN1cnJfdm9sX3JpZ2h0ICE9IGRzdF92b2xfcmlnaHQpIHsKKwkJCQljdXJyX3ZvbF9yaWdodCArPSByaWdodF9jaGFuZ2U7CisKIAkJCS8qIGR1cmluZyB2b2x1bWUgY2hhbmdlLCB0aGUgcmlnaHQgY2hhbm5lbCBpcyBjcmFja2xpbmcKIAkJCSAqIHNvbWV3aGF0IG1vcmUgdGhhbiB0aGUgbGVmdCBjaGFubmVsLCB1bmZvcnR1bmF0ZWx5LgogCQkJICogVGhpcyBzZWVtcyB0byBiZSBhIGhhcmR3YXJlIGlzc3VlLiAqLwotCQkJb3V0YihjdXJyX3ZvbF9yaWdodCwgcG9ydGJhc2UgKyAwKTsKKwkJCQlvdXRiKGN1cnJfdm9sX3JpZ2h0LCBwb3J0YmFzZSArIDApOworCQkJfSBlbHNlCisJCQkgICAgcmlnaHRfY2hhbmdlID0gMDsKIAkJfQogCQlpZiAoZGVsYXkpCiAJCQltZGVsYXkoZGVsYXkpOwotCX0gd2hpbGUgKCghbGVmdF9kb25lKSB8fCAoIXJpZ2h0X2RvbmUpKTsKKwl9IHdoaWxlICgobGVmdF9jaGFuZ2UpIHx8IChyaWdodF9jaGFuZ2UpKTsKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIH0KIApAQCAtMzc5LDcgKzQ4MSw3IEBACiAgKiBnZW5lcmFsIG1peGVyIGVsZW1lbnQKICAqLwogc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHsKLQl1bnNpZ25lZCBpbnQgcmVnOworCXVuc2lnbmVkIHJlZzsKIAl1bnNpZ25lZCBpbnQgbGNoYW5fc2hpZnQsIHJjaGFuX3NoaWZ0OwogCXVuc2lnbmVkIGludCBtYXNrOwogCXVuc2lnbmVkIGludCBpbnZlcnQ6IDE7CkBAIC01NDQsMTMgKzY0NiwxNCBAQAogCQkiTWl4IiwgIk1pYyIKIAl9OwogCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdGV4dHMzW10gPSB7Ci0gICAgICAgICAgICAgICAgIk1pYyIsICJDRCIsICJWaWRlbyIsICJBdXgiLAorCQkiTWljIiwgIkNEIiwgIlZpZGVvIiwgIkF1eCIsCiAJCSJMaW5lIiwgIk1peCIsICJNaXggTW9ubyIsICJQaG9uZSIKICAgICAgICAgfTsKIAlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHRleHRzNFtdID0gewogCQkicHJlIDNEIiwgInBvc3QgM0QiCiAgICAgICAgIH07CiAJc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHJlZzsKKwljb25zdCBjaGFyICogY29uc3QgKnAgPSBOVUxMOwogCiAJc25kX2F6ZjMzMjhfbWl4ZXJfcmVnX2RlY29kZSgmcmVnLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CiAgICAgICAgIHVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9FTlVNRVJBVEVEOwpAQCAtNTYxLDE4ICs2NjQsMjAgQEAKIAlpZiAocmVnLnJlZyA9PSBJRFhfTUlYRVJfQURWQ1RMMikgewogCQlzd2l0Y2gocmVnLmxjaGFuX3NoaWZ0KSB7CiAJCWNhc2UgODogLyogbW9kZW0gb3V0IHNlbCAqLwotCQkJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzMVt1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXSk7CisJCQlwID0gdGV4dHMxOwogCQkJYnJlYWs7CiAJCWNhc2UgOTogLyogbW9ubyBzZWwgc291cmNlICovCi0JCQlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHMyW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKKwkJCXAgPSB0ZXh0czI7CiAJCQlicmVhazsKIAkJY2FzZSAxNTogLyogUENNIE91dCBQYXRoICovCi0JCQlzdHJjcHkodWluZm8tPnZhbHVlLmVudW1lcmF0ZWQubmFtZSwgdGV4dHM0W3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKKwkJCXAgPSB0ZXh0czQ7CiAJCQlicmVhazsKIAkJfQogCX0gZWxzZQotICAgICAgICAJc3RyY3B5KHVpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLm5hbWUsIHRleHRzM1t1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5pdGVtXQotKTsKKwlpZiAocmVnLnJlZyA9PSBJRFhfTUlYRVJfUkVDX1NFTEVDVCkKKwkJcCA9IHRleHRzMzsKKworCXN0cmNweSh1aW5mby0+dmFsdWUuZW51bWVyYXRlZC5uYW1lLCBwW3VpbmZvLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1dKTsKICAgICAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTU4Myw3ICs2ODgsNyBAQAogICAgICAgICBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CiAJc3RydWN0IGF6ZjMzMjhfbWl4ZXJfcmVnIHJlZzsKICAgICAgICAgdW5zaWduZWQgc2hvcnQgdmFsOwotICAgICAgICAKKwogCXNuZF9hemYzMzI4X21peGVyX3JlZ19kZWNvZGUoJnJlZywga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUpOwogCXZhbCA9IHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCByZWcucmVnKTsKIAlpZiAocmVnLnJlZyA9PSBJRFhfTUlYRVJfUkVDX1NFTEVDVCkgewpAQCAtNjA1LDcgKzcxMCw3IEBACiAgICAgICAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKIAlzdHJ1Y3QgYXpmMzMyOF9taXhlcl9yZWcgcmVnOwogCXVuc2lnbmVkIGludCBvcmVnLCBucmVnLCB2YWw7Ci0gICAgICAgIAorCiAJc25kX2F6ZjMzMjhfbWl4ZXJfcmVnX2RlY29kZSgmcmVnLCBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSk7CiAJb3JlZyA9IHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCByZWcucmVnKTsKIAl2YWwgPSBvcmVnOwpAQCAtNjMxLDkgKzczNiwxMSBAQAogc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzW10gX19kZXZpbml0ZGF0YSA9IHsKIAlBWkYzMzI4X01JWEVSX1NXSVRDSCgiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMTUsIDEpLAogCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiTWFzdGVyIFBsYXliYWNrIFZvbHVtZSIsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMHgxZiwgMSksCi0JQVpGMzMyOF9NSVhFUl9TV0lUQ0goIldhdmUgUGxheWJhY2sgU3dpdGNoIiwgSURYX01JWEVSX1dBVkVPVVQsIDE1LCAxKSwKLQlBWkYzMzI4X01JWEVSX1ZPTF9TVEVSRU8oIldhdmUgUGxheWJhY2sgVm9sdW1lIiwgSURYX01JWEVSX1dBVkVPVVQsIDB4MWYsIDEpLAotCUFaRjMzMjhfTUlYRVJfU1dJVENIKCJXYXZlIDNEIEJ5cGFzcyBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfQURWQ1RMMiwgNywgMSksCisJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIlBDTSBQbGF5YmFjayBTd2l0Y2giLCBJRFhfTUlYRVJfV0FWRU9VVCwgMTUsIDEpLAorCUFaRjMzMjhfTUlYRVJfVk9MX1NURVJFTygiUENNIFBsYXliYWNrIFZvbHVtZSIsCisJCQkJCUlEWF9NSVhFUl9XQVZFT1VULCAweDFmLCAxKSwKKwlBWkYzMzI4X01JWEVSX1NXSVRDSCgiUENNIDNEIEJ5cGFzcyBQbGF5YmFjayBTd2l0Y2giLAorCQkJCQlJRFhfTUlYRVJfQURWQ1RMMiwgNywgMSksCiAJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIkZNIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9GTVNZTlRILCAxNSwgMSksCiAJQVpGMzMyOF9NSVhFUl9WT0xfU1RFUkVPKCJGTSBQbGF5YmFjayBWb2x1bWUiLCBJRFhfTUlYRVJfRk1TWU5USCwgMHgxZiwgMSksCiAJQVpGMzMyOF9NSVhFUl9TV0lUQ0goIkNEIFBsYXliYWNrIFN3aXRjaCIsIElEWF9NSVhFUl9DREFVRElPLCAxNSwgMSksCkBAIC03MTcsMTUgKzgyNCwxNiBAQAogCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwgSURYX01JWEVSX1JFU0VULCAweDAwMDApOwogCiAJLyogbXV0ZSBhbmQgemVybyB2b2x1bWUgY2hhbm5lbHMgKi8KLQlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfaW5pdF92YWx1ZXMpOyBpZHgrKykgeworCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9pbml0X3ZhbHVlcyk7ICsraWR4KSB7CiAJCXNuZF9hemYzMzI4X21peGVyX291dHcoY2hpcCwKIAkJCXNuZF9hemYzMzI4X2luaXRfdmFsdWVzW2lkeF1bMF0sCiAJCQlzbmRfYXpmMzMyOF9pbml0X3ZhbHVlc1tpZHhdWzFdKTsKIAl9Ci0JCisKIAkvKiBhZGQgbWl4ZXIgY29udHJvbHMgKi8KIAlzdyA9IHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzOwotCWZvciAoaWR4ID0gMDsgaWR4IDwgQVJSQVlfU0laRShzbmRfYXpmMzMyOF9taXhlcl9jb250cm9scyk7IGlkeCsrLCBzdysrKSB7CisJZm9yIChpZHggPSAwOyBpZHggPCBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X21peGVyX2NvbnRyb2xzKTsKKwkJCSsraWR4LCArK3N3KSB7CiAJCWlmICgoZXJyID0gc25kX2N0bF9hZGQoY2hpcC0+Y2FyZCwgc25kX2N0bF9uZXcxKHN3LCBjaGlwKSkpIDwgMCkKIAkJCXJldHVybiBlcnI7CiAJfQpAQCAtNzU3LDkgKzg2NSw5IEBACiB9CiAKIHN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF9zZXRmbXQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAotCQkJICAgICAgIHVuc2lnbmVkIGludCByZWcsCi0JCQkgICAgICAgdW5zaWduZWQgaW50IGJpdHJhdGUsCitzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLAorCQkJICAgICAgIHVuc2lnbmVkIHJlZywKKwkJCSAgICAgICBlbnVtIGF6Zl9mcmVxX3QgYml0cmF0ZSwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgZm9ybWF0X3dpZHRoLAogCQkJICAgICAgIHVuc2lnbmVkIGludCBjaGFubmVscwogKQpAQCAtNzY5LDI0ICs4NzcsMjUgQEAKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwogCXN3aXRjaCAoYml0cmF0ZSkgewotCWNhc2UgIDQwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80MDAwOyBicmVhazsKLQljYXNlICA0ODAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDgwMDsgYnJlYWs7Ci0JY2FzZSAgNTUxMjogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNTUxMDsgYnJlYWs7IC8qIHRoZSBBWkYzMzI4IG5hbWVzIGl0ICI1NTEwIiBmb3Igc29tZSBzdHJhbmdlIHJlYXNvbiAqLwotCWNhc2UgIDY2MjA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzY2MjA7IGJyZWFrOwotCWNhc2UgIDgwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzgwMDA7IGJyZWFrOwotCWNhc2UgIDk2MDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzk2MDA7IGJyZWFrOwotCWNhc2UgMTEwMjU6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzExMDI1OyBicmVhazsKLQljYXNlIDEzMjQwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfMTMyNDA7IGJyZWFrOwotCWNhc2UgMTYwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzE2MDAwOyBicmVhazsKLQljYXNlIDIyMDUwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8yMjA1MDsgYnJlYWs7Ci0JY2FzZSAzMjAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMzIwMDA7IGJyZWFrOwotCWNhc2UgNDQxMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzQ0MTAwOyBicmVhazsKLQljYXNlIDQ4MDAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80ODAwMDsgYnJlYWs7Ci0JY2FzZSA2NjIwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzY2MjAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzQwMDA6ICB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDAwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV80ODAwOiAgdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfU1VTUEVDVEVEXzQ4MDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNTUxMjoKKwkJLyogdGhlIEFaRjMzMjggbmFtZXMgaXQgIjU1MTAiIGZvciBzb21lIHN0cmFuZ2UgcmVhc29uICovCisJCQkgICAgIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzU1MTA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNjYyMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzY2MjA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfODAwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzgwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfOTYwMDogIHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzk2MDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMTEwMjU6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzExMDI1OyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzEzMjQwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfMTMyNDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfMTYwMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRXzE2MDAwOyBicmVhazsKKwljYXNlIEFaRl9GUkVRXzIyMDUwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV8yMjA1MDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV8zMjAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfMzIwMDA7IGJyZWFrOwogCWRlZmF1bHQ6CiAJCXNuZF9wcmludGsoS0VSTl9XQVJOSU5HICJ1bmtub3duIGJpdHJhdGUgJWQsIGFzc3VtaW5nIDQ0LjFrSHohXG4iLCBiaXRyYXRlKTsKLQkJdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDQxMDA7Ci0JCWJyZWFrOworCQkvKiBmYWxsLXRocm91Z2ggKi8KKwljYXNlIEFaRl9GUkVRXzQ0MTAwOiB2YWwgfD0gU09VTkRGT1JNQVRfRlJFUV80NDEwMDsgYnJlYWs7CisJY2FzZSBBWkZfRlJFUV80ODAwMDogdmFsIHw9IFNPVU5ERk9STUFUX0ZSRVFfNDgwMDA7IGJyZWFrOworCWNhc2UgQVpGX0ZSRVFfNjYyMDA6IHZhbCB8PSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF82NjIwMDsgYnJlYWs7CiAJfQogCS8qIHZhbCA9IDB4ZmYwNzsgM20yNy45OTNzICg2NTMwMUh6OyAtPiA2NDAwMEh6Pz8/KSBobW0sIDY2MTIwLCA2NTk2NywgNjYxMjMgKi8KIAkvKiB2YWwgPSAweGZmMDk7IDE3bTE1LjA5OHMgKDEzMTIzLDQ3OEh6OyAtPiAxMjAwMEh6Pz8/KSBobW0sIDEzMjM3LjJIej8gKi8KQEAgLTgwNSwxMCArOTE0LDEwIEBACiAJCXZhbCB8PSBTT1VOREZPUk1BVF9GTEFHXzE2QklUOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7Ci0JCisKIAkvKiBzZXQgYml0cmF0ZS9mb3JtYXQgKi8KIAlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIHJlZywgdmFsKTsKLQkKKwogCS8qIGNoYW5naW5nIHRoZSBiaXRyYXRlL2Zvcm1hdCBzZXR0aW5ncyBzd2l0Y2hlcyBvZmYgdGhlCiAJICogYXVkaW8gb3V0cHV0IHdpdGggYW4gYW5ub3lpbmcgY2xpY2sgaW4gY2FzZSBvZiA4LzE2Yml0IGZvcm1hdCBjaGFuZ2UKIAkgKiAobWF5YmUgc2h1dHRpbmcgZG93biBEQUMvQURDPyksIHRodXMgaW1tZWRpYXRlbHkKQEAgLTgzMCwzMSArOTM5LDk1IEBACiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAorc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10X2xvd3Bvd2VyKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCSAgICB1bnNpZ25lZCByZWcKKykKK3sKKwkvKiBjaG9vc2UgbG93ZXN0IGZyZXF1ZW5jeSBmb3IgbG93IHBvd2VyIGNvbnN1bXB0aW9uLgorCSAqIFdoaWxlIHRoaXMgd2lsbCBjYXVzZSBsb3VkZXIgbm9pc2UgZHVlIHRvIHJhdGhlciBjb2Fyc2UgZnJlcXVlbmN5LAorCSAqIGl0IHNob3VsZCBuZXZlciBtYXR0ZXIgc2luY2Ugb3V0cHV0IHNob3VsZCBhbHdheXMKKwkgKiBnZXQgZGlzYWJsZWQgcHJvcGVybHkgd2hlbiBpZGxlIGFueXdheS4gKi8KKwlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgcmVnLCBBWkZfRlJFUV80MDAwLCA4LCAxKTsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX3JlZ182QUhfdXBkYXRlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKKwkJCQkJdW5zaWduZWQgYml0bWFzaywKKwkJCQkJaW50IGVuYWJsZQorKQoreworCWlmIChlbmFibGUpCisJCWNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIICY9IH5iaXRtYXNrOworCWVsc2UKKwkJY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUggfD0gYml0bWFzazsKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KCI2QUhfdXBkYXRlIG1hc2sgMHglMDR4IGVuYWJsZSAlZDogdmFsIDB4JTA0eFxuIiwKKwkJCWJpdG1hc2ssIGVuYWJsZSwgY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUgpOworCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPXzZBSCwgY2hpcC0+c2hhZG93X3JlZ19jb2RlY182QUgpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2NvZGVjX2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfZGJncGxheSgiY29kZWNfZW5hYmxlICVkXG4iLCBlbmFibGUpOworCS8qIG5vIGlkZWEgd2hhdCBleGFjdGx5IGlzIGJlaW5nIGRvbmUgaGVyZSwgYnV0IEkgc3Ryb25nbHkgYXNzdW1lIGl0J3MKKwkgKiBQTSByZWxhdGVkICovCisJc25kX2F6ZjMzMjhfY29kZWNfcmVnXzZBSF91cGRhdGUoCisJCWNoaXAsIElPXzZBX1BBVVNFX1BMQVlCQUNLX0JJVDgsIGVuYWJsZQorCSk7Cit9CisKK3N0YXRpYyB2b2lkCitzbmRfYXpmMzMyOF9jb2RlY19hY3Rpdml0eShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsCisJCQkJZW51bSBzbmRfYXpmMzMyOF9zdHJlYW1faW5kZXggc3RyZWFtX3R5cGUsCisJCQkJaW50IGVuYWJsZQorKQoreworCWludCBuZWVkX2NoYW5nZSA9IChjaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnJ1bm5pbmcgIT0gZW5hYmxlKTsKKworCXNuZF9hemYzMzI4X2RiZ3BsYXkoCisJCSJjb2RlY19hY3Rpdml0eTogdHlwZSAlZCwgZW5hYmxlICVkLCBuZWVkX2NoYW5nZSAlZFxuIiwKKwkJCQlzdHJlYW1fdHlwZSwgZW5hYmxlLCBuZWVkX2NoYW5nZQorCSk7CisJaWYgKG5lZWRfY2hhbmdlKSB7CisJCWVudW0gc25kX2F6ZjMzMjhfc3RyZWFtX2luZGV4IG90aGVyID0KKwkJCShzdHJlYW1fdHlwZSA9PSBBWkZfUExBWUJBQ0spID8KKwkJCQlBWkZfQ0FQVFVSRSA6IEFaRl9QTEFZQkFDSzsKKwkJLyogc21hbGwgY2hlY2sgdG8gcHJldmVudCBzaHV0dGluZyBkb3duIHRoZSBvdGhlciBwYXJ0eQorCQkgKiBpbiBjYXNlIGl0J3MgYWN0aXZlICovCisJCWlmICgoZW5hYmxlKSB8fCAhKGNoaXAtPmF1ZGlvX3N0cmVhbVtvdGhlcl0ucnVubmluZykpCisJCQlzbmRfYXpmMzMyOF9jb2RlY19lbmFibGUoY2hpcCwgZW5hYmxlKTsKKworCQkvKiAuLi5hbmQgYWRqdXN0IGNsb2NrLCB0b28KKwkJICogKHJlZHVjZSBub2lzZSBhbmQgcG93ZXIgY29uc3VtcHRpb24pICovCisJCWlmICghZW5hYmxlKQorCQkJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10X2xvd3Bvd2VyKAorCQkJCWNoaXAsCisJCQkJY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5wb3J0YmFzZQorCQkJCQkrIElEWF9JT19QTEFZX1NPVU5ERk9STUFUCisJCQkpOworCX0KKwljaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnJ1bm5pbmcgPSBlbmFibGU7Cit9CisKIHN0YXRpYyB2b2lkCiBzbmRfYXpmMzMyOF9zZXRkbWFhKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwKIAkJCQlsb25nIHVuc2lnbmVkIGludCBhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY291bnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzaXplLAotCQkJCWludCBkb19yZWNvcmRpbmcpCisJCQkJZW51bSBzbmRfYXpmMzMyOF9zdHJlYW1faW5kZXggc3RyZWFtX3R5cGUKKykKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzLCBwb3J0YmFzZTsKLQl1bnNpZ25lZCBpbnQgaXNfcnVubmluZzsKLQogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWlmIChkb19yZWNvcmRpbmcpIHsKLQkJLyogYWNjZXNzIGNhcHR1cmUgcmVnaXN0ZXJzLCBpLmUuIHNraXAgcGxheWJhY2sgcmVnIHNlY3Rpb24gKi8KLQkJcG9ydGJhc2UgPSBjaGlwLT5jb2RlY19wb3J0ICsgMHgyMDsKLQkJaXNfcnVubmluZyA9IGNoaXAtPmlzX3JlY29yZGluZzsKLQl9IGVsc2UgewotCQkvKiBhY2Nlc3MgdGhlIHBsYXliYWNrIHJlZ2lzdGVyIHNlY3Rpb24gKi8KLQkJcG9ydGJhc2UgPSBjaGlwLT5jb2RlY19wb3J0ICsgMHgwMDsKLQkJaXNfcnVubmluZyA9IGNoaXAtPmlzX3BsYXlpbmc7Ci0JfQorCWlmICghY2hpcC0+YXVkaW9fc3RyZWFtW3N0cmVhbV90eXBlXS5ydW5uaW5nKSB7CisJCS8qIEFaRjMzMjggdXNlcyBhIHR3byBidWZmZXIgcG9pbnRlciBETUEgcGxheWJhY2sgYXBwcm9hY2ggKi8KIAotCS8qIEFaRjMzMjggdXNlcyBhIHR3byBidWZmZXIgcG9pbnRlciBETUEgcGxheWJhY2sgYXBwcm9hY2ggKi8KLQlpZiAoIWlzX3J1bm5pbmcpIHsKLQkJdW5zaWduZWQgbG9uZyBhZGRyX2FyZWEyOwotCQl1bnNpZ25lZCBsb25nIGNvdW50X2FyZWFzLCBjb3VudF90bXA7IC8qIHdpZHRoIDMyYml0IC0tIG92ZXJmbG93ISEgKi8KKwkJdW5zaWduZWQgbG9uZyBmbGFncywgcG9ydGJhc2UsIGFkZHJfYXJlYTI7CisKKwkJLyogd2lkdGggMzJiaXQgKHByZXZlbnQgb3ZlcmZsb3cpOiAqLworCQl1bnNpZ25lZCBsb25nIGNvdW50X2FyZWFzLCBjb3VudF90bXA7CisKKwkJcG9ydGJhc2UgPSBjaGlwLT5hdWRpb19zdHJlYW1bc3RyZWFtX3R5cGVdLnBvcnRiYXNlOwogCQljb3VudF9hcmVhcyA9IHNpemUvMjsKIAkJYWRkcl9hcmVhMiA9IGFkZHIrY291bnRfYXJlYXM7CiAJCWNvdW50X2FyZWFzLS07IC8qIG1heC4gaW5kZXggKi8KQEAgLTg4NCwxMSArMTA1NywxMSBAQAogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7CiAjaWYgMAotCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKKwlzbmRfYXpmMzMyOF9jb2RlY19zZXRmbXQoY2hpcCwgSURYX0lPX1BMQVlfU09VTkRGT1JNQVQsCiAJCXJ1bnRpbWUtPnJhdGUsCiAJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCXJ1bnRpbWUtPmNoYW5uZWxzKTsKLQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLCBjb3VudCwgc2l6ZSwgMCk7CisJc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIEFaRl9QTEFZQkFDSyk7CiAjZW5kaWYKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gMDsKQEAgLTkwNiwxMSArMTA3OSwxMSBAQAogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGVudGVyKCk7CiAjaWYgMAotCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAorCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAogCQlydW50aW1lLT5yYXRlLAogCQlzbmRfcGNtX2Zvcm1hdF93aWR0aChydW50aW1lLT5mb3JtYXQpLAogCQlydW50aW1lLT5jaGFubmVscyk7Ci0Jc25kX2F6ZjMzMjhfc2V0ZG1hYShjaGlwLCBydW50aW1lLT5kbWFfYWRkciwgY291bnQsIHNpemUsIDEpOworCXNuZF9hemYzMzI4X3NldGRtYWEoY2hpcCwgcnVudGltZS0+ZG1hX2FkZHIsIGNvdW50LCBzaXplLCBBWkZfQ0FQVFVSRSk7CiAjZW5kaWYKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKIAlyZXR1cm4gMDsKQEAgLTkyMyw2ICsxMDk2LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOwogCWludCByZXN1bHQgPSAwOwogCXVuc2lnbmVkIGludCBzdGF0dXMxOworCWludCBwcmV2aW91c2x5X211dGVkOwogCiAJc25kX2F6ZjMzMjhfZGJnY2FsbHMoInNuZF9hemYzMzI4X3BsYXliYWNrX3RyaWdnZXIgY21kICVkXG4iLCBjbWQpOwogCkBAIC05MzAsMjAgKzExMDQsMjMgQEAKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUQVJUOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVCBQTEFZQkFDS1xuIik7CiAKLQkJLyogbXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKKwkJLyogbXV0ZSBXYXZlT3V0IChhdm9pZCBjbGlja2luZyBkdXJpbmcgc2V0dXApICovCisJCXByZXZpb3VzbHlfbXV0ZWQgPQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOwogCi0JCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwKKwkJc25kX2F6ZjMzMjhfY29kZWNfc2V0Zm10KGNoaXAsIElEWF9JT19QTEFZX1NPVU5ERk9STUFULAogCQkJcnVudGltZS0+cmF0ZSwKIAkJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCQlydW50aW1lLT5jaGFubmVscyk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JCS8qIHN0b3AgcGxheWJhY2sgKi8KKwkJLyogZmlyc3QsIHJlbWVtYmVyIGN1cnJlbnQgdmFsdWU6ICovCiAJCXN0YXR1czEgPSBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpOworCisJCS8qIHN0b3AgcGxheWJhY2sgKi8KIAkJc3RhdHVzMSAmPSB+RE1BX1JFU1VNRTsKIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywgc3RhdHVzMSk7Ci0JICAgIAorCiAJCS8qIEZJWE1FOiBjbGVhciBpbnRlcnJ1cHRzIG9yIHdoYXQ/Pz8gKi8KIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFLCAweGZmZmYpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwpAQCAtOTUxLDcgKzExMjgsNyBAQAogCQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLAogCQkJc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSksCiAJCQlzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKSwKLQkJCTApOworCQkJQVpGX1BMQVlCQUNLKTsKIAogCQlzcGluX2xvY2soJmNoaXAtPnJlZ19sb2NrKTsKICNpZmRlZiBXSU45WApAQCAtOTc4LDMwICsxMTU1LDM1IEBACiAJCQlETUFfU09NRVRISU5HX0VMU0UpOwogI2VuZGlmCiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9QTEFZQkFDSywgMSk7CiAKIAkJLyogbm93IHVubXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAwKTsKKwkJaWYgKCFwcmV2aW91c2x5X211dGVkKQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOwogCi0JCWNoaXAtPmlzX3BsYXlpbmcgPSAxOwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVEVEIFBMQVlCQUNLXG4iKTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlJFU1VNRSBQTEFZQkFDS1xuIik7CiAJCS8qIHJlc3VtZSBwbGF5YmFjayBpZiB3ZSB3ZXJlIGFjdGl2ZSAqLwotCQlpZiAoY2hpcC0+aXNfcGxheWluZykKKwkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCWlmIChjaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5ydW5uaW5nKQogCQkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywKIAkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MpIHwgRE1BX1JFU1VNRSk7CisJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RPUCBQTEFZQkFDS1xuIik7CiAKLQkJLyogbXV0ZSBXYXZlT3V0ICovCi0JCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9XQVZFT1VULCAxKTsKKwkJLyogbXV0ZSBXYXZlT3V0IChhdm9pZCBjbGlja2luZyBkdXJpbmcgc2V0dXApICovCisJCXByZXZpb3VzbHlfbXV0ZWQgPQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDEpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHBsYXliYWNrICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKTsKIAorCQkvKiBzdG9wIHBsYXliYWNrICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHN0YXR1czEpOwogCkBAIC0xMDEzLDEwICsxMTk1LDEyIEBACiAJCXN0YXR1czEgJj0gfkRNQV9QTEFZX1NPTUVUSElORzE7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1BMQVlfRkxBR1MsIHN0YXR1czEpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwotCSAgICAKKwkJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX1BMQVlCQUNLLCAwKTsKKwogCQkvKiBub3cgdW5tdXRlIFdhdmVPdXQgKi8KLQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOwotCQljaGlwLT5pc19wbGF5aW5nID0gMDsKKwkJaWYgKCFwcmV2aW91c2x5X211dGVkKQorCQkJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1dBVkVPVVQsIDApOworCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1BQRUQgUExBWUJBQ0tcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CkBAIC0xMDM1LDcgKzEyMTksNyBAQAogCQlwcmludGsoS0VSTl9FUlIgIkZJWE1FOiB1bmtub3duIHRyaWdnZXIgbW9kZSFcbiIpOwogICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCX0KLQkKKwogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiByZXN1bHQ7CiB9CkBAIC0xMDU3LDE3ICsxMjQxLDE5IEBACiAKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiU1RBUlQgQ0FQVFVSRVxuIik7CiAKLQkJc25kX2F6ZjMzMjhfc2V0Zm10KGNoaXAsIElEWF9JT19SRUNfU09VTkRGT1JNQVQsCisJCXNuZF9hemYzMzI4X2NvZGVjX3NldGZtdChjaGlwLCBJRFhfSU9fUkVDX1NPVU5ERk9STUFULAogCQkJcnVudGltZS0+cmF0ZSwKIAkJCXNuZF9wY21fZm9ybWF0X3dpZHRoKHJ1bnRpbWUtPmZvcm1hdCksCiAJCQlydW50aW1lLT5jaGFubmVscyk7CiAKIAkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7Ci0JCS8qIHN0b3AgcmVjb3JkaW5nICovCisJCS8qIGZpcnN0LCByZW1lbWJlciBjdXJyZW50IHZhbHVlOiAqLwogCQlzdGF0dXMxID0gc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19SRUNfRkxBR1MpOworCisJCS8qIHN0b3AgcmVjb3JkaW5nICovCiAJCXN0YXR1czEgJj0gfkRNQV9SRVNVTUU7CiAJCXNuZF9hemYzMzI4X2NvZGVjX291dHcoY2hpcCwgSURYX0lPX1JFQ19GTEFHUywgc3RhdHVzMSk7Ci0JICAgIAorCiAJCS8qIEZJWE1FOiBjbGVhciBpbnRlcnJ1cHRzIG9yIHdoYXQ/Pz8gKi8KIAkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0lSUVRZUEUsIDB4ZmZmZik7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CkBAIC0xMDc1LDcgKzEyNjEsNyBAQAogCQlzbmRfYXpmMzMyOF9zZXRkbWFhKGNoaXAsIHJ1bnRpbWUtPmRtYV9hZGRyLAogCQkJc25kX3BjbV9saWJfcGVyaW9kX2J5dGVzKHN1YnN0cmVhbSksCiAJCQlzbmRfcGNtX2xpYl9idWZmZXJfYnl0ZXMoc3Vic3RyZWFtKSwKLQkJCTEpOworCQkJQVpGX0NBUFRVUkUpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwogI2lmZGVmIFdJTjlYCkBAIC0xMTAyLDI0ICsxMjg4LDI3IEBACiAJCQlETUFfU09NRVRISU5HX0VMU0UpOwogI2VuZGlmCiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCXNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KGNoaXAsIEFaRl9DQVBUVVJFLCAxKTsKIAotCQljaGlwLT5pc19yZWNvcmRpbmcgPSAxOwogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVEFSVEVEIENBUFRVUkVcbiIpOwogCQlicmVhazsKIAljYXNlIFNORFJWX1BDTV9UUklHR0VSX1JFU1VNRToKIAkJc25kX2F6ZjMzMjhfZGJncGxheSgiUkVTVU1FIENBUFRVUkVcbiIpOwogCQkvKiByZXN1bWUgcmVjb3JkaW5nIGlmIHdlIHdlcmUgYWN0aXZlICovCi0JCWlmIChjaGlwLT5pc19yZWNvcmRpbmcpCisJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQlpZiAoY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5ydW5uaW5nKQogCQkJc25kX2F6ZjMzMjhfY29kZWNfb3V0dyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTLAogCQkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTKSB8IERNQV9SRVNVTUUpOworCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwogCQlicmVhazsKICAgICAgICAgY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgogCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJTVE9QIENBUFRVUkVcbiIpOwogCiAJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOwotCQkvKiBzdG9wIHJlY29yZGluZyAqLworCQkvKiBmaXJzdCwgcmVtZW1iZXIgY3VycmVudCB2YWx1ZTogKi8KIAkJc3RhdHVzMSA9IHNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUkVDX0ZMQUdTKTsKIAorCQkvKiBzdG9wIHJlY29yZGluZyAqLwogCQlzdGF0dXMxICY9IH5ETUFfUkVTVU1FOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHN0YXR1czEpOwogCkBAIC0xMTI5LDggKzEzMTgsOCBAQAogCQlzdGF0dXMxICY9IH5ETUFfUExBWV9TT01FVEhJTkcxOwogCQlzbmRfYXpmMzMyOF9jb2RlY19vdXR3KGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHN0YXR1czEpOwogCQlzcGluX3VubG9jaygmY2hpcC0+cmVnX2xvY2spOwotCSAgICAKLQkJY2hpcC0+aXNfcmVjb3JkaW5nID0gMDsKKwkJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX0NBUFRVUkUsIDApOworCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoIlNUT1BQRUQgQ0FQVFVSRVxuIik7CiAJCWJyZWFrOwogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKQEAgLTExNDksNyArMTMzOCw3IEBACiAJCXByaW50ayhLRVJOX0VSUiAiRklYTUU6IHVua25vd24gdHJpZ2dlciBtb2RlIVxuIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAJfQotCQorCiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTExNjIsMTEgKzEzNTEsMTEgQEAKIAlzbmRfcGNtX3VmcmFtZXNfdCBmcm1yZXM7CiAKICNpZmRlZiBRVUVSWV9IQVJEV0FSRQotCWJ1ZnB0ciA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19QTEFZX0RNQV9TVEFSVF8xKTsKKwlidWZwdHIgPSBzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1BMQVlfRE1BX1NUQVJUXzEpOwogI2Vsc2UKIAlidWZwdHIgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPmRtYV9hZGRyOwogI2VuZGlmCi0JcmVzdWx0ID0gaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MpOworCXJlc3VsdCA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUExBWV9ETUFfQ1VSUlBPUyk7CiAKIAkvKiBjYWxjdWxhdGUgb2Zmc2V0ICovCiAJcmVzdWx0IC09IGJ1ZnB0cjsKQEAgLTExODMsMTEgKzEzNzIsMTEgQEAKIAlzbmRfcGNtX3VmcmFtZXNfdCBmcm1yZXM7CiAKICNpZmRlZiBRVUVSWV9IQVJEV0FSRQotCWJ1ZnB0ciA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19SRUNfRE1BX1NUQVJUXzEpOworCWJ1ZnB0ciA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUkVDX0RNQV9TVEFSVF8xKTsKICNlbHNlCiAJYnVmcHRyID0gc3Vic3RyZWFtLT5ydW50aW1lLT5kbWFfYWRkcjsKICNlbmRpZgotCXJlc3VsdCA9IGlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19SRUNfRE1BX0NVUlJQT1MpOworCXJlc3VsdCA9IHNuZF9hemYzMzI4X2NvZGVjX2lubChjaGlwLCBJRFhfSU9fUkVDX0RNQV9DVVJSUE9TKTsKIAogCS8qIGNhbGN1bGF0ZSBvZmZzZXQgKi8KIAlyZXN1bHQgLT0gYnVmcHRyOwpAQCAtMTE5NiwyNyArMTM4NSwyNDEgQEAKIAlyZXR1cm4gZnJtcmVzOwogfQogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjaWZkZWYgU1VQUE9SVF9HQU1FUE9SVAorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9pcnFfZW5hYmxlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGVuYWJsZSkKK3sKKwlzbmRfYXpmMzMyOF9pb19yZWdfc2V0YigKKwkJY2hpcC0+Z2FtZV9pbytJRFhfR0FNRV9IV0NPTkZJRywKKwkJR0FNRV9IV0NGR19JUlFfRU5BQkxFLAorCQllbmFibGUKKwkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2xlZ2FjeV9hZGRyZXNzX2VuYWJsZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAsIGludCBlbmFibGUpCit7CisJc25kX2F6ZjMzMjhfaW9fcmVnX3NldGIoCisJCWNoaXAtPmdhbWVfaW8rSURYX0dBTUVfSFdDT05GSUcsCisJCUdBTUVfSFdDRkdfTEVHQUNZX0FERFJFU1NfRU5BQkxFLAorCQllbmFibGUKKwkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2F4aXNfY2lyY3VpdF9lbmFibGUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZW5hYmxlKQoreworCXNuZF9hemYzMzI4X2NvZGVjX3JlZ182QUhfdXBkYXRlKAorCQljaGlwLCBJT182QV9TT01FVEhJTkcyX0dBTUVQT1JULCBlbmFibGUKKwkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ludGVycnVwdChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJLyoKKwkgKiBza2VsZXRvbiBoYW5kbGVyIG9ubHkKKwkgKiAod2UgZG8gbm90IHdhbnQgYXhpcyByZWFkaW5nIGluIGludGVycnVwdCBoYW5kbGVyIC0gdG9vIG11Y2ggbG9hZCEpCisJICovCisJc25kX2F6ZjMzMjhfZGJnZ2FtZSgiZ2FtZXBvcnQgaXJxXG4iKTsKKworCSAvKiB0aGlzIHNob3VsZCBBQ0sgdGhlIGdhbWVwb3J0IElSUSBwcm9wZXJseSwgaG9wZWZ1bGx5LiAqLworCXNuZF9hemYzMzI4X2dhbWVfaW53KGNoaXAsIElEWF9HQU1FX0FYSVNfVkFMVUUpOworfQorCitzdGF0aWMgaW50CitzbmRfYXpmMzMyOF9nYW1lcG9ydF9vcGVuKHN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQsIGludCBtb2RlKQoreworCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IGdhbWVwb3J0X2dldF9wb3J0X2RhdGEoZ2FtZXBvcnQpOworCWludCByZXM7CisKKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJnYW1lcG9ydF9vcGVuLCBtb2RlICVkXG4iLCBtb2RlKTsKKwlzd2l0Y2ggKG1vZGUpIHsKKwljYXNlIEdBTUVQT1JUX01PREVfQ09PS0VEOgorCWNhc2UgR0FNRVBPUlRfTU9ERV9SQVc6CisJCXJlcyA9IDA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJlcyA9IC0xOworCQlicmVhazsKKwl9CisKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKGNoaXAsIChyZXMgPT0gMCkpOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2Nsb3NlKHN0cnVjdCBnYW1lcG9ydCAqZ2FtZXBvcnQpCit7CisJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZ2FtZXBvcnRfZ2V0X3BvcnRfZGF0YShnYW1lcG9ydCk7CisKKwlzbmRfYXpmMzMyOF9kYmdnYW1lKCJnYW1lcG9ydF9jbG9zZVxuIik7CisJc25kX2F6ZjMzMjhfZ2FtZXBvcnRfYXhpc19jaXJjdWl0X2VuYWJsZShjaGlwLCAwKTsKK30KKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfZ2FtZXBvcnRfY29va2VkX3JlYWQoc3RydWN0IGdhbWVwb3J0ICpnYW1lcG9ydCwKKwkJCQkgaW50ICpheGVzLAorCQkJCSBpbnQgKmJ1dHRvbnMKKykKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGdhbWVwb3J0KTsKKwlpbnQgaTsKKwl1OCB2YWw7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNuZF9hc3NlcnQoY2hpcCwgcmV0dXJuIDApOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CisJdmFsID0gc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgSURYX0dBTUVfTEVHQUNZX0NPTVBBVElCTEUpOworCSpidXR0b25zID0gKH4odmFsKSA+PiA0KSAmIDB4ZjsKKworCS8qIG9rLCB0aGlzIG9uZSBpcyBhIGJpdCBkaXJ0eTogY29va2VkX3JlYWQgaXMgYmVpbmcgcG9sbGVkIGJ5IGEgdGltZXIsCisJICogdGh1cyB3ZSdyZSBhdG9taWMgYW5kIGNhbm5vdCBhY3RpdmVseSB3YWl0IGluIGhlcmUKKwkgKiAod2hpY2ggd291bGQgYmUgdXNlZnVsIGZvciB1cyBzaW5jZSBpdCBwcm9iYWJseSB3b3VsZCBiZSBiZXR0ZXIKKwkgKiB0byB0cmlnZ2VyIGEgbWVhc3VyZW1lbnQgaW4gaGVyZSwgdGhlbiB3YWl0IGEgc2hvcnQgYW1vdW50IG9mCisJICogdGltZSB1bnRpbCBpdCdzIGZpbmlzaGVkLCB0aGVuIHJlYWQgdmFsdWVzIG9mIF90aGlzXyBtZWFzdXJlbWVudCkuCisJICoKKwkgKiBUaHVzIHdlIHNpbXBseSByZXNvcnQgdG8gcmVhZGluZyB2YWx1ZXMgaWYgdGhleSdyZSBhdmFpbGFibGUgYWxyZWFkeQorCSAqIGFuZCB0cmlnZ2VyIHRoZSBuZXh0IG1lYXN1cmVtZW50LgorCSAqLworCisJdmFsID0gc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgSURYX0dBTUVfQVhFU19DT05GSUcpOworCWlmICh2YWwgJiBHQU1FX0FYRVNfU0FNUExJTkdfUkVBRFkpIHsKKwkJZm9yIChpID0gMDsgaSA8IDQ7ICsraSkgeworCQkJLyogY29uZmlndXJlIHRoZSBheGlzIHRvIHJlYWQgKi8KKwkJCXZhbCA9IChpIDw8IDQpIHwgMHgwZjsKKwkJCXNuZF9hemYzMzI4X2dhbWVfb3V0YihjaGlwLCBJRFhfR0FNRV9BWEVTX0NPTkZJRywgdmFsKTsKKworCQkJY2hpcC0+YXhlc1tpXSA9IHNuZF9hemYzMzI4X2dhbWVfaW53KAorCQkJCQkJY2hpcCwgSURYX0dBTUVfQVhJU19WQUxVRQorCQkJCQkpOworCQl9CisJfQorCisJLyogdHJpZ2dlciBuZXh0IGF4ZXMgc2FtcGxpbmcsIHRvIGJlIGV2YWx1YXRlZCB0aGUgbmV4dCB0aW1lIHdlCisJICogZW50ZXIgdGhpcyBmdW5jdGlvbiAqLworCisJLyogZm9yIHNvbWUgdmVyeSwgdmVyeSBzdHJhbmdlIHJlYXNvbiB3ZSBjYW5ub3QgZW5hYmxlCisJICogTWVhc3VyZW1lbnQgUmVhZHkgbW9uaXRvcmluZyBmb3IgYWxsIGF4ZXMgaGVyZSwKKwkgKiBhdCBsZWFzdCBub3Qgd2hlbiBvbmx5IG9uZSBqb3lzdGljayBjb25uZWN0ZWQgKi8KKwl2YWwgPSAweDAzOyAvKiB3ZSdyZSBhYmxlIHRvIG1vbml0b3IgYXhlcyAxIGFuZCAyIG9ubHkgKi8KKwlzbmRfYXpmMzMyOF9nYW1lX291dGIoY2hpcCwgSURYX0dBTUVfQVhFU19DT05GSUcsIHZhbCk7CisKKwlzbmRfYXpmMzMyOF9nYW1lX291dHcoY2hpcCwgSURYX0dBTUVfQVhJU19WQUxVRSwgMHhmZmZmKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZjaGlwLT5yZWdfbG9jaywgZmxhZ3MpOworCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlheGVzW2ldID0gY2hpcC0+YXhlc1tpXTsKKwkJaWYgKGF4ZXNbaV0gPT0gMHhmZmZmKQorCQkJYXhlc1tpXSA9IC0xOworCX0KKworCXNuZF9hemYzMzI4X2RiZ2dhbWUoImNvb2tlZF9yZWFkOiBheGVzICVkICVkICVkICVkIGJ1dHRvbnMgJWRcbiIsCisJCWF4ZXNbMF0sIGF4ZXNbMV0sIGF4ZXNbMl0sIGF4ZXNbM10sICpidXR0b25zCisJKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IF9fZGV2aW5pdAorc25kX2F6ZjMzMjhfZ2FtZXBvcnQoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwLCBpbnQgZGV2KQoreworCXN0cnVjdCBnYW1lcG9ydCAqZ3A7CisKKwljaGlwLT5nYW1lcG9ydCA9IGdwID0gZ2FtZXBvcnRfYWxsb2NhdGVfcG9ydCgpOworCWlmICghZ3ApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJhenQzMzI4OiBjYW5ub3QgYWxsb2MgbWVtb3J5IGZvciBnYW1lcG9ydFxuIik7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWdhbWVwb3J0X3NldF9uYW1lKGdwLCAiQVpGMzMyOCBHYW1lcG9ydCIpOworCWdhbWVwb3J0X3NldF9waHlzKGdwLCAicGNpJXMvZ2FtZXBvcnQwIiwgcGNpX25hbWUoY2hpcC0+cGNpKSk7CisJZ2FtZXBvcnRfc2V0X2Rldl9wYXJlbnQoZ3AsICZjaGlwLT5wY2ktPmRldik7CisJZ3AtPmlvID0gY2hpcC0+Z2FtZV9pbzsKKwlnYW1lcG9ydF9zZXRfcG9ydF9kYXRhKGdwLCBjaGlwKTsKKworCWdwLT5vcGVuID0gc25kX2F6ZjMzMjhfZ2FtZXBvcnRfb3BlbjsKKwlncC0+Y2xvc2UgPSBzbmRfYXpmMzMyOF9nYW1lcG9ydF9jbG9zZTsKKwlncC0+ZnV6eiA9IDE2OyAvKiBzZWVtcyBvayAqLworCWdwLT5jb29rZWRfcmVhZCA9IHNuZF9hemYzMzI4X2dhbWVwb3J0X2Nvb2tlZF9yZWFkOworCisJLyogRElTQUJMRSBsZWdhY3kgYWRkcmVzczogd2UgZG9uJ3QgbmVlZCBpdCEgKi8KKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9sZWdhY3lfYWRkcmVzc19lbmFibGUoY2hpcCwgMCk7CisKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9heGlzX2NpcmN1aXRfZW5hYmxlKGNoaXAsIDApOworCisJZ2FtZXBvcnRfcmVnaXN0ZXJfcG9ydChjaGlwLT5nYW1lcG9ydCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ZyZWUoc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQoreworCWlmIChjaGlwLT5nYW1lcG9ydCkgeworCQlnYW1lcG9ydF91bnJlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOworCQljaGlwLT5nYW1lcG9ydCA9IE5VTEw7CisJfQorCXNuZF9hemYzMzI4X2dhbWVwb3J0X2lycV9lbmFibGUoY2hpcCwgMCk7Cit9CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK3NuZF9hemYzMzI4X2dhbWVwb3J0KHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikgeyByZXR1cm4gLUVOT1NZUzsgfQorc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9nYW1lcG9ydF9mcmVlKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkgeyB9CitzdGF0aWMgaW5saW5lIHZvaWQKK3NuZF9hemYzMzI4X2dhbWVwb3J0X2ludGVycnVwdChzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJcHJpbnRrKEtFUk5fV0FSTklORyAiaHVoLCBnYW1lIHBvcnQgSVJRIG9jY3VycmVkIT9cbiIpOworfQorI2VuZGlmIC8qIFNVUFBPUlRfR0FNRVBPUlQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIGlubGluZSB2b2lkCitzbmRfYXpmMzMyOF9pcnFfbG9nX3Vua25vd25fdHlwZSh1OCB3aGljaCkKK3sKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KAorCSJhenQzMzI4OiB1bmtub3duIElSUSB0eXBlICgleCkgb2NjdXJyZWQsIHBsZWFzZSByZXBvcnQhXG4iLAorCQl3aGljaAorCSk7Cit9CisKIHN0YXRpYyBpcnFyZXR1cm5fdAogc25kX2F6ZjMzMjhfaW50ZXJydXB0KGludCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBkZXZfaWQ7CiAJdTggc3RhdHVzLCB3aGljaDsKKyNpZiBERUJVR19QTEFZX1JFQwogCXN0YXRpYyB1bnNpZ25lZCBsb25nIGlycV9jb3VudDsKKyNlbmRpZgogCiAJc3RhdHVzID0gc25kX2F6ZjMzMjhfY29kZWNfaW5iKGNoaXAsIElEWF9JT19JUlFTVEFUVVMpOwogCiAgICAgICAgIC8qIGZhc3QgcGF0aCBvdXQsIHRvIGVhc2UgaW50ZXJydXB0IHNoYXJpbmcgKi8KLQlpZiAoIShzdGF0dXMgJiAoSVJRX1BMQVlCQUNLfElSUV9SRUNPUkRJTkd8SVJRX01QVTQwMXxJUlFfVElNRVIpKSkKKwlpZiAoIShzdGF0dXMgJgorCQkoSVJRX1BMQVlCQUNLfElSUV9SRUNPUkRJTkd8SVJRX0dBTUVQT1JUfElSUV9NUFU0MDF8SVJRX1RJTUVSKQorCSkpCiAJCXJldHVybiBJUlFfTk9ORTsgLyogbXVzdCBiZSBpbnRlcnJ1cHQgZm9yIGFub3RoZXIgZGV2aWNlICovCiAKLQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJJbnRlcnJ1cHQgJWxkIVxuSURYX0lPX1BMQVlfRkxBR1MgJTA0eCwgSURYX0lPX1BMQVlfSVJRVFlQRSAlMDR4LCBJRFhfSU9fSVJRU1RBVFVTICUwNHhcbiIsCi0JCWlycV9jb3VudCwKLQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKSwKLQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0lSUVRZUEUpLAotCQlzdGF0dXMpOwotCQkKKwlzbmRfYXpmMzMyOF9kYmdwbGF5KAorCQkiaXJxX2NvdW50ICVsZCEgSURYX0lPX1BMQVlfRkxBR1MgJTA0eCwgIgorCQkiSURYX0lPX1BMQVlfSVJRVFlQRSAlMDR4LCBJRFhfSU9fSVJRU1RBVFVTICUwNHhcbiIsCisJCQlpcnFfY291bnQrKyAvKiBkZWJ1Zy1vbmx5ICovLAorCQkJc25kX2F6ZjMzMjhfY29kZWNfaW53KGNoaXAsIElEWF9JT19QTEFZX0ZMQUdTKSwKKwkJCXNuZF9hemYzMzI4X2NvZGVjX2ludyhjaGlwLCBJRFhfSU9fUExBWV9JUlFUWVBFKSwKKwkJCXN0YXR1cworCSk7CisKIAlpZiAoc3RhdHVzICYgSVJRX1RJTUVSKSB7Ci0JCS8qIHNuZF9hemYzMzI4X2RiZ3BsYXkoInRpbWVyICVsZFxuIiwgaW5sKGNoaXAtPmNvZGVjX3BvcnQrSURYX0lPX1RJTUVSX1ZBTFVFKSAmIFRJTUVSX1ZBTFVFX01BU0spOyAqLworCQkvKiBzbmRfYXpmMzMyOF9kYmdwbGF5KCJ0aW1lciAlbGRcbiIsCisJCQlzbmRfYXpmMzMyOF9jb2RlY19pbmwoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFKQorCQkJCSYgVElNRVJfVkFMVUVfTUFTSworCQkpOyAqLwogCQlpZiAoY2hpcC0+dGltZXIpCiAJCQlzbmRfdGltZXJfaW50ZXJydXB0KGNoaXAtPnRpbWVyLCBjaGlwLT50aW1lci0+c3RpY2tzKTsKIAkJLyogQUNLIHRpbWVyICovCkBAIC0xMjMyLDE1ICsxNjM1LDIwIEBACiAJCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1BMQVlfSVJRVFlQRSwgd2hpY2gpOwogICAgICAgICAgICAgICAgCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAKLQkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5wbGF5YmFja19zdWJzdHJlYW0pIHsKLQkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2hpcC0+cGxheWJhY2tfc3Vic3RyZWFtKTsKKwkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5zdWJzdHJlYW0pIHsKKwkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoCisJCQkJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtCisJCQkpOwogCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiUExBWSBwZXJpb2QgZG9uZSAoIyV4KSwgQCAleFxuIiwKIAkJCQl3aGljaCwKLQkJCQlpbmwoY2hpcC0+Y29kZWNfcG9ydCtJRFhfSU9fUExBWV9ETUFfQ1VSUlBPUykpOworCQkJCXNuZF9hemYzMzI4X2NvZGVjX2lubCgKKwkJCQkJY2hpcCwgSURYX0lPX1BMQVlfRE1BX0NVUlJQT1MKKwkJCQkpCisJCQkpOwogCQl9IGVsc2UKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IG91Y2gsIGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImF6dDMzMjg6IGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKIAkJaWYgKHdoaWNoICYgSVJRX1BMQVlfU09NRVRISU5HKQotCQkJc25kX2F6ZjMzMjhfZGJncGxheSgiYXp0MzMyODogdW5rbm93biBwbGF5IElSUSB0eXBlIG9jY3VycmVkLCBwbGVhc2UgcmVwb3J0IVxuIik7CisJCQlzbmRfYXpmMzMyOF9pcnFfbG9nX3Vua25vd25fdHlwZSh3aGljaCk7CiAJfQogCWlmIChzdGF0dXMgJiBJUlFfUkVDT1JESU5HKSB7CiAgICAgICAgICAgICAgICAgc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CkBAIC0xMjQ5LDE2ICsxNjU3LDIzIEBACiAJCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1JFQ19JUlFUWVBFLCB3aGljaCk7CiAJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAKLQkJaWYgKGNoaXAtPnBjbSAmJiBjaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSkgewotCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjaGlwLT5jYXB0dXJlX3N1YnN0cmVhbSk7CisJCWlmIChjaGlwLT5wY20gJiYgY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0pIHsKKwkJCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoCisJCQkJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9DQVBUVVJFXS5zdWJzdHJlYW0KKwkJCSk7CiAJCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJSRUMgIHBlcmlvZCBkb25lICgjJXgpLCBAICV4XG4iLAogCQkJCXdoaWNoLAotCQkJCWlubChjaGlwLT5jb2RlY19wb3J0K0lEWF9JT19SRUNfRE1BX0NVUlJQT1MpKTsKKwkJCQlzbmRfYXpmMzMyOF9jb2RlY19pbmwoCisJCQkJCWNoaXAsIElEWF9JT19SRUNfRE1BX0NVUlJQT1MKKwkJCQkpCisJCQkpOwogCQl9IGVsc2UKLQkJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IG91Y2gsIGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcgImF6dDMzMjg6IGlycSBoYW5kbGVyIHByb2JsZW0hXG4iKTsKIAkJaWYgKHdoaWNoICYgSVJRX1JFQ19TT01FVEhJTkcpCi0JCQlzbmRfYXpmMzMyOF9kYmdwbGF5KCJhenQzMzI4OiB1bmtub3duIHJlYyBJUlEgdHlwZSBvY2N1cnJlZCwgcGxlYXNlIHJlcG9ydCFcbiIpOworCQkJc25kX2F6ZjMzMjhfaXJxX2xvZ191bmtub3duX3R5cGUod2hpY2gpOwogCX0KKwlpZiAoc3RhdHVzICYgSVJRX0dBTUVQT1JUKQorCQlzbmRfYXpmMzMyOF9nYW1lcG9ydF9pbnRlcnJ1cHQoY2hpcCk7CiAJLyogTVBVNDAxIGhhcyBsZXNzIGNyaXRpY2FsIElSUSByZXF1aXJlbWVudHMKIAkgKiB0aGFuIHRpbWVyIGFuZCBwbGF5YmFjay9yZWNvcmRpbmcsIHJpZ2h0PyAqLwogCWlmIChzdGF0dXMgJiBJUlFfTVBVNDAxKSB7CkBAIC0xMjY4LDcgKzE2ODMsNiBAQAogCQkgKiBJZiBzbywgdGhlbiBJIGRvbid0IGtub3cgaG93Li4uICovCiAJCXNuZF9hemYzMzI4X2RiZ3BsYXkoImF6dDMzMjg6IE1QVTQwMSBJUlFcbiIpOwogCX0KLQlpcnFfY291bnQrKzsKIAlyZXR1cm4gSVJRX0hBTkRMRUQ7CiB9CiAKQEAgLTEyODcsOCArMTcwMSw4IEBACiAJLnJhdGVzID0JCVNORFJWX1BDTV9SQVRFXzU1MTIgfAogCQkJCVNORFJWX1BDTV9SQVRFXzgwMDBfNDgwMDAgfAogCQkJCVNORFJWX1BDTV9SQVRFX0tOT1QsCi0JLnJhdGVfbWluID0JCTQwMDAsCi0JLnJhdGVfbWF4ID0JCTY2MjAwLAorCS5yYXRlX21pbiA9CQlBWkZfRlJFUV80MDAwLAorCS5yYXRlX21heCA9CQlBWkZfRlJFUV82NjIwMCwKIAkuY2hhbm5lbHNfbWluID0JCTEsCiAJLmNoYW5uZWxzX21heCA9CQkyLAogCS5idWZmZXJfYnl0ZXNfbWF4ID0JNjU1MzYsCkBAIC0xMzE1LDggKzE3MjksOCBAQAogCS5yYXRlcyA9CQlTTkRSVl9QQ01fUkFURV81NTEyIHwKIAkJCQlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwIHwKIAkJCQlTTkRSVl9QQ01fUkFURV9LTk9ULAotCS5yYXRlX21pbiA9CQk0MDAwLAotCS5yYXRlX21heCA9CQk2NjIwMCwKKwkucmF0ZV9taW4gPQkJQVpGX0ZSRVFfNDAwMCwKKwkucmF0ZV9tYXggPQkJQVpGX0ZSRVFfNjYyMDAsCiAJLmNoYW5uZWxzX21pbiA9CQkxLAogCS5jaGFubmVsc19tYXggPQkJMiwKIAkuYnVmZmVyX2J5dGVzX21heCA9CTY1NTM2LApAQCAtMTMyOSwxMCArMTc0MywyNCBAQAogCiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgc25kX2F6ZjMzMjhfZml4ZWRfcmF0ZXNbXSA9IHsKLQk0MDAwLCA0ODAwLCA1NTEyLCA2NjIwLCA4MDAwLCA5NjAwLCAxMTAyNSwgMTMyNDAsIDE2MDAwLCAyMjA1MCwgMzIwMDAsCi0JNDQxMDAsIDQ4MDAwLCA2NjIwMCB9OworCUFaRl9GUkVRXzQwMDAsCisJQVpGX0ZSRVFfNDgwMCwKKwlBWkZfRlJFUV81NTEyLAorCUFaRl9GUkVRXzY2MjAsCisJQVpGX0ZSRVFfODAwMCwKKwlBWkZfRlJFUV85NjAwLAorCUFaRl9GUkVRXzExMDI1LAorCUFaRl9GUkVRXzEzMjQwLAorCUFaRl9GUkVRXzE2MDAwLAorCUFaRl9GUkVRXzIyMDUwLAorCUFaRl9GUkVRXzMyMDAwLAorCUFaRl9GUkVRXzQ0MTAwLAorCUFaRl9GUkVRXzQ4MDAwLAorCUFaRl9GUkVRXzY2MjAwCit9OworCiBzdGF0aWMgc3RydWN0IHNuZF9wY21faHdfY29uc3RyYWludF9saXN0IHNuZF9hemYzMzI4X2h3X2NvbnN0cmFpbnRzX3JhdGVzID0gewotCS5jb3VudCA9IEFSUkFZX1NJWkUoc25kX2F6ZjMzMjhfZml4ZWRfcmF0ZXMpLCAKKwkuY291bnQgPSBBUlJBWV9TSVpFKHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzKSwKIAkubGlzdCA9IHNuZF9hemYzMzI4X2ZpeGVkX3JhdGVzLAogCS5tYXNrID0gMCwKIH07CkBAIC0xMzQ2LDcgKzE3NzQsNyBAQAogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5wbGF5YmFja19zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10uc3Vic3RyZWFtID0gc3Vic3RyZWFtOwogCXJ1bnRpbWUtPmh3ID0gc25kX2F6ZjMzMjhfcGxheWJhY2s7CiAJc25kX3BjbV9od19jb25zdHJhaW50X2xpc3QocnVudGltZSwgMCwgU05EUlZfUENNX0hXX1BBUkFNX1JBVEUsCiAJCQkJICAgJnNuZF9hemYzMzI4X2h3X2NvbnN0cmFpbnRzX3JhdGVzKTsKQEAgLTEzNjEsNyArMTc4OSw3IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gc3Vic3RyZWFtOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfQ0FQVFVSRV0uc3Vic3RyZWFtID0gc3Vic3RyZWFtOwogCXJ1bnRpbWUtPmh3ID0gc25kX2F6ZjMzMjhfY2FwdHVyZTsKIAlzbmRfcGNtX2h3X2NvbnN0cmFpbnRfbGlzdChydW50aW1lLCAwLCBTTkRSVl9QQ01fSFdfUEFSQU1fUkFURSwKIAkJCQkgICAmc25kX2F6ZjMzMjhfaHdfY29uc3RyYWludHNfcmF0ZXMpOwpAQCAtMTM3NSw3ICsxODAzLDcgQEAKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBzbmRfcGNtX3N1YnN0cmVhbV9jaGlwKHN1YnN0cmVhbSk7CiAKIAlzbmRfYXpmMzMyOF9kYmdjYWxsZW50ZXIoKTsKLQljaGlwLT5wbGF5YmFja19zdWJzdHJlYW0gPSBOVUxMOworCWNoaXAtPmF1ZGlvX3N0cmVhbVtBWkZfUExBWUJBQ0tdLnN1YnN0cmVhbSA9IE5VTEw7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xMzg2LDcgKzE4MTQsNyBAQAogCXN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKIAogCXNuZF9hemYzMzI4X2RiZ2NhbGxlbnRlcigpOwotCWNoaXAtPmNhcHR1cmVfc3Vic3RyZWFtID0gTlVMTDsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnN1YnN0cmVhbSA9IE5VTEw7CiAJc25kX2F6ZjMzMjhfZGJnY2FsbGxlYXZlKCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0xNDQxLDEwMiArMTg2OSw4IEBACiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKLSNpZmRlZiBTVVBQT1JUX0pPWVNUSUNLCi1zdGF0aWMgaW50IF9fZGV2aW5pdAotc25kX2F6ZjMzMjhfY29uZmlnX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikKLXsKLQlzdHJ1Y3QgZ2FtZXBvcnQgKmdwOwotCXN0cnVjdCByZXNvdXJjZSAqcjsKLQotCWlmICgham95c3RpY2tbZGV2XSkKLQkJcmV0dXJuIC1FTk9ERVY7Ci0KLQlpZiAoIShyID0gcmVxdWVzdF9yZWdpb24oMHgyMDAsIDgsICJBWkYzMzI4IGdhbWVwb3J0IikpKSB7Ci0JCXByaW50ayhLRVJOX1dBUk5JTkcgImF6dDMzMjg6IGNhbm5vdCByZXNlcnZlIGpveXN0aWNrIHBvcnRzXG4iKTsKLQkJcmV0dXJuIC1FQlVTWTsKLQl9Ci0KLQljaGlwLT5nYW1lcG9ydCA9IGdwID0gZ2FtZXBvcnRfYWxsb2NhdGVfcG9ydCgpOwotCWlmICghZ3ApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJhenQzMzI4OiBjYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGZvciBnYW1lcG9ydFxuIik7Ci0JCXJlbGVhc2VfYW5kX2ZyZWVfcmVzb3VyY2Uocik7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCWdhbWVwb3J0X3NldF9uYW1lKGdwLCAiQVpGMzMyOCBHYW1lcG9ydCIpOwotCWdhbWVwb3J0X3NldF9waHlzKGdwLCAicGNpJXMvZ2FtZXBvcnQwIiwgcGNpX25hbWUoY2hpcC0+cGNpKSk7Ci0JZ2FtZXBvcnRfc2V0X2Rldl9wYXJlbnQoZ3AsICZjaGlwLT5wY2ktPmRldik7Ci0JZ3AtPmlvID0gMHgyMDA7Ci0JZ2FtZXBvcnRfc2V0X3BvcnRfZGF0YShncCwgcik7Ci0KLQlzbmRfYXpmMzMyOF9pbzJfb3V0YihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSLAotCQkJICAgICAgc25kX2F6ZjMzMjhfaW8yX2luYihjaGlwLCBJRFhfSU8yX0xFR0FDWV9BRERSKSB8IExFR0FDWV9KT1kpOwotCi0JZ2FtZXBvcnRfcmVnaXN0ZXJfcG9ydChjaGlwLT5nYW1lcG9ydCk7Ci0KLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQKLXNuZF9hemYzMzI4X2ZyZWVfam95c3RpY2soc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwKQotewotCWlmIChjaGlwLT5nYW1lcG9ydCkgewotCQlzdHJ1Y3QgcmVzb3VyY2UgKnIgPSBnYW1lcG9ydF9nZXRfcG9ydF9kYXRhKGNoaXAtPmdhbWVwb3J0KTsKLQotCQlnYW1lcG9ydF91bnJlZ2lzdGVyX3BvcnQoY2hpcC0+Z2FtZXBvcnQpOwotCQljaGlwLT5nYW1lcG9ydCA9IE5VTEw7Ci0JCS8qIGRpc2FibGUgZ2FtZXBvcnQgKi8KLQkJc25kX2F6ZjMzMjhfaW8yX291dGIoY2hpcCwgSURYX0lPMl9MRUdBQ1lfQUREUiwKLQkJCQkgICAgICBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIpICYgfkxFR0FDWV9KT1kpOwotCQlyZWxlYXNlX2FuZF9mcmVlX3Jlc291cmNlKHIpOwotCX0KLX0KLSNlbHNlCi1zdGF0aWMgaW5saW5lIGludAotc25kX2F6ZjMzMjhfY29uZmlnX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCwgaW50IGRldikgeyByZXR1cm4gLUVOT1NZUzsgfQotc3RhdGljIGlubGluZSB2b2lkCi1zbmRfYXpmMzMyOF9mcmVlX2pveXN0aWNrKHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkgeyB9Ci0jZW5kaWYKLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotc3RhdGljIGludAotc25kX2F6ZjMzMjhfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCi17Ci0gICAgICAgIGlmIChjaGlwLT5pcnEgPCAwKQotICAgICAgICAgICAgICAgIGdvdG8gX19lbmRfaHc7Ci0KLQkvKiByZXNldCAoY2xvc2UpIG1peGVyICovCi0Jc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAxKTsgLyogZmlyc3QgbXV0ZSBtYXN0ZXIgdm9sdW1lICovCi0Jc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjaGlwLCBJRFhfTUlYRVJfUkVTRVQsIDB4MDAwMCk7Ci0KLSAgICAgICAgLyogaW50ZXJydXB0IHNldHVwIC0gbWFzayBldmVyeXRoaW5nIChGSVhNRSEpICovCi0JLyogd2VsbCwgYXQgbGVhc3Qgd2Uga25vdyBob3cgdG8gZGlzYWJsZSB0aGUgdGltZXIgSVJRICovCi0Jc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fVElNRVJfVkFMVUUgKyAzLCAweDAwKTsKLQotCWlmIChjaGlwLT5pcnEgPj0gMCkKLSAgICAgICAgCXN5bmNocm9uaXplX2lycShjaGlwLT5pcnEpOwotX19lbmRfaHc6Ci0Jc25kX2F6ZjMzMjhfZnJlZV9qb3lzdGljayhjaGlwKTsKLSAgICAgICAgaWYgKGNoaXAtPmlycSA+PSAwKQotCQlmcmVlX2lycShjaGlwLT5pcnEsIGNoaXApOwotCXBjaV9yZWxlYXNlX3JlZ2lvbnMoY2hpcC0+cGNpKTsKLQlwY2lfZGlzYWJsZV9kZXZpY2UoY2hpcC0+cGNpKTsKLQotICAgICAgICBrZnJlZShjaGlwKTsKLSAgICAgICAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQKLXNuZF9hemYzMzI4X2Rldl9mcmVlKHN0cnVjdCBzbmRfZGV2aWNlICpkZXZpY2UpCi17Ci0Jc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gZGV2aWNlLT5kZXZpY2VfZGF0YTsKLQlyZXR1cm4gc25kX2F6ZjMzMjhfZnJlZShjaGlwKTsKLX0KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyoqKiBOT1RFOiB0aGUgcGh5c2ljYWwgdGltZXIgcmVzb2x1dGlvbiBhY3R1YWxseSBpcyAxMDI0MDAwIHRpY2tzIHBlciBzZWNvbmQsCisvKioqIE5PVEU6IHRoZSBwaHlzaWNhbCB0aW1lciByZXNvbHV0aW9uIGFjdHVhbGx5IGlzIDEwMjQwMDAgdGlja3MgcGVyIHNlY29uZAorICoqKiAocHJvYmFibHkgZGVyaXZlZCBmcm9tIG1haW4gY3J5c3RhbCB2aWEgYSBkaXZpZGVyIG9mIDI0KSwKICAqKiogYnV0IGFubm91bmNpbmcgdGhvc2UgYXR0cmlidXRlcyB0byB1c2VyLXNwYWNlIHdvdWxkIG1ha2UgcHJvZ3JhbXMKICAqKiogY29uZmlndXJlIHRoZSB0aW1lciB0byBhIDEgdGljayB2YWx1ZSwgcmVzdWx0aW5nIGluIGFuIGFic29sdXRlbHkgZmF0YWwKICAqKiogdGltZXIgSVJRIHN0b3JtLgpAQCAtMTU2NCw3ICsxODk4LDcgQEAKIAkJZGVsYXkgPSA0OTsgLyogbWluaW11bSB0aW1lIGlzIDQ5IHRpY2tzICovCiAJfQogCXNuZF9hemYzMzI4X2RiZ3RpbWVyKCJzZXR0aW5nIHRpbWVyIGNvdW50ZG93biB2YWx1ZSAlZCwgYWRkIENPVU5URE9XTnxJUlFcbiIsIGRlbGF5KTsKLQlkZWxheSB8PSBUSU1FUl9FTkFCTEVfQ09VTlRET1dOIHwgVElNRVJfRU5BQkxFX0lSUTsKKwlkZWxheSB8PSBUSU1FUl9DT1VOVERPV05fRU5BQkxFIHwgVElNRVJfSVJRX0VOQUJMRTsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRsKGNoaXAsIElEWF9JT19USU1FUl9WQUxVRSwgZGVsYXkpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CkBAIC0xNTgyLDcgKzE5MTYsNyBAQAogCWNoaXAgPSBzbmRfdGltZXJfY2hpcCh0aW1lcik7CiAJc3Bpbl9sb2NrX2lycXNhdmUoJmNoaXAtPnJlZ19sb2NrLCBmbGFncyk7CiAJLyogZGlzYWJsZSB0aW1lciBjb3VudGRvd24gYW5kIGludGVycnVwdCAqLwotCS8qIEZJWE1FOiBzaG91bGQgd2Ugd3JpdGUgVElNRVJfQUNLX0lSUSBoZXJlPyAqLworCS8qIEZJWE1FOiBzaG91bGQgd2Ugd3JpdGUgVElNRVJfSVJRX0FDSyBoZXJlPyAqLwogCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFICsgMywgMCk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY2hpcC0+cmVnX2xvY2ssIGZsYWdzKTsKIAlzbmRfYXpmMzMyOF9kYmdjYWxsbGVhdmUoKTsKQEAgLTE2MjYsOSArMTk2MCwxMCBAQAogCiAJc25kX2F6ZjMzMjhfdGltZXJfaHcucmVzb2x1dGlvbiAqPSBzZXF0aW1lcl9zY2FsaW5nOwogCXNuZF9hemYzMzI4X3RpbWVyX2h3LnRpY2tzIC89IHNlcXRpbWVyX3NjYWxpbmc7Ci0JaWYgKChlcnIgPSBzbmRfdGltZXJfbmV3KGNoaXAtPmNhcmQsICJBWkYzMzI4IiwgJnRpZCwgJnRpbWVyKSkgPCAwKSB7CisKKwllcnIgPSBzbmRfdGltZXJfbmV3KGNoaXAtPmNhcmQsICJBWkYzMzI4IiwgJnRpZCwgJnRpbWVyKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXQ7Ci0JfQogCiAJc3RyY3B5KHRpbWVyLT5uYW1lLCAiQVpGMzMyOCB0aW1lciIpOwogCXRpbWVyLT5wcml2YXRlX2RhdGEgPSBjaGlwOwpAQCAtMTYzNiw2ICsxOTcxLDggQEAKIAogCWNoaXAtPnRpbWVyID0gdGltZXI7CiAKKwlzbmRfYXpmMzMyOF90aW1lcl9zdG9wKHRpbWVyKTsKKwogCWVyciA9IDA7CiAKIG91dDoKQEAgLTE2NDUsMTAgKzE5ODIsNDQgQEAKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAorc3RhdGljIGludAorc25kX2F6ZjMzMjhfZnJlZShzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApCit7CisJaWYgKGNoaXAtPmlycSA8IDApCisJCWdvdG8gX19lbmRfaHc7CisKKwkvKiByZXNldCAoY2xvc2UpIG1peGVyOgorCSAqIGZpcnN0IG11dGUgbWFzdGVyIHZvbHVtZSwgdGhlbiByZXNldAorCSAqLworCXNuZF9hemYzMzI4X21peGVyX3NldF9tdXRlKGNoaXAsIElEWF9NSVhFUl9QTEFZX01BU1RFUiwgMSk7CisJc25kX2F6ZjMzMjhfbWl4ZXJfb3V0dyhjaGlwLCBJRFhfTUlYRVJfUkVTRVQsIDB4MDAwMCk7CisKKwlzbmRfYXpmMzMyOF90aW1lcl9zdG9wKGNoaXAtPnRpbWVyKTsKKwlzbmRfYXpmMzMyOF9nYW1lcG9ydF9mcmVlKGNoaXApOworCisJaWYgKGNoaXAtPmlycSA+PSAwKQorCQlzeW5jaHJvbml6ZV9pcnEoY2hpcC0+aXJxKTsKK19fZW5kX2h3OgorCWlmIChjaGlwLT5pcnEgPj0gMCkKKwkJZnJlZV9pcnEoY2hpcC0+aXJxLCBjaGlwKTsKKwlwY2lfcmVsZWFzZV9yZWdpb25zKGNoaXAtPnBjaSk7CisJcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7CisKKwlrZnJlZShjaGlwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorc25kX2F6ZjMzMjhfZGV2X2ZyZWUoc3RydWN0IHNuZF9kZXZpY2UgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBkZXZpY2UtPmRldmljZV9kYXRhOworCXJldHVybiBzbmRfYXpmMzMyOF9mcmVlKGNoaXApOworfQorCiAjaWYgMAogLyogY2hlY2sgd2hldGhlciBhIGJpdCBjYW4gYmUgbW9kaWZpZWQgKi8KIHN0YXRpYyB2b2lkCi1zbmRfYXpmMzMyOF90ZXN0X2JpdCh1bnNpZ25lZCBpbnQgcmVnLCBpbnQgYml0KQorc25kX2F6ZjMzMjhfdGVzdF9iaXQodW5zaWduZWQgdW5zaWduZWQgcmVnLCBpbnQgYml0KQogewogCXVuc2lnbmVkIGNoYXIgdmFsLCB2YWxvZmYsIHZhbG9uOwogCkBAIC0xNjU5LDQyICsyMDMwLDc0IEBACiAKIAlvdXRiKHZhbHwoMSA8PCBiaXQpLCByZWcpOwogCXZhbG9uID0gaW5iKHJlZyk7Ci0JCisKIAlvdXRiKHZhbCwgcmVnKTsKIAotCXByaW50ayhLRVJOX0VSUiAicmVnICUwNHggYml0ICVkOiAlMDJ4ICUwMnggJTAyeFxuIiwgcmVnLCBiaXQsIHZhbCwgdmFsb2ZmLCB2YWxvbik7CisJcHJpbnRrKEtFUk5fRVJSICJyZWcgJTA0eCBiaXQgJWQ6ICUwMnggJTAyeCAlMDJ4XG4iLAorCQkJCXJlZywgYml0LCB2YWwsIHZhbG9mZiwgdmFsb24KKwkpOwogfQogI2VuZGlmCiAKLSNpZiBERUJVR19NSVNDCi1zdGF0aWMgdm9pZAorc3RhdGljIGlubGluZSB2b2lkCiBzbmRfYXpmMzMyOF9kZWJ1Z19zaG93X3BvcnRzKGNvbnN0IHN0cnVjdCBzbmRfYXpmMzMyOCAqY2hpcCkKIHsKKyNpZiBERUJVR19NSVNDCiAJdTE2IHRtcDsKIAotCXNuZF9hemYzMzI4X2RiZ21pc2MoImNvZGVjX3BvcnQgMHglbHgsIGlvMl9wb3J0IDB4JWx4LCBtcHVfcG9ydCAweCVseCwgc3ludGhfcG9ydCAweCVseCwgbWl4ZXJfcG9ydCAweCVseCwgaXJxICVkXG4iLCBjaGlwLT5jb2RlY19wb3J0LCBjaGlwLT5pbzJfcG9ydCwgY2hpcC0+bXB1X3BvcnQsIGNoaXAtPnN5bnRoX3BvcnQsIGNoaXAtPm1peGVyX3BvcnQsIGNoaXAtPmlycSk7CisJc25kX2F6ZjMzMjhfZGJnbWlzYygKKwkJImNvZGVjX2lvIDB4JWx4LCBnYW1lX2lvIDB4JWx4LCBtcHVfaW8gMHglbHgsICIKKwkJIm9wbDNfaW8gMHglbHgsIG1peGVyX2lvIDB4JWx4LCBpcnEgJWRcbiIsCisJCWNoaXAtPmNvZGVjX2lvLCBjaGlwLT5nYW1lX2lvLCBjaGlwLT5tcHVfaW8sCisJCWNoaXAtPm9wbDNfaW8sIGNoaXAtPm1peGVyX2lvLCBjaGlwLT5pcnEKKwkpOwogCi0Jc25kX2F6ZjMzMjhfZGJnbWlzYygiaW8yICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeCAlMDJ4XG4iLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDApLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDEpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDIpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDMpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDQpLCBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIDUpKTsKKwlzbmRfYXpmMzMyOF9kYmdtaXNjKCJnYW1lICUwMnggJTAyeCAlMDJ4ICUwMnggJTAyeCAlMDJ4XG4iLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAwKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgMSksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDIpLAorCQlzbmRfYXpmMzMyOF9nYW1lX2luYihjaGlwLCAzKSwKKwkJc25kX2F6ZjMzMjhfZ2FtZV9pbmIoY2hpcCwgNCksCisJCXNuZF9hemYzMzI4X2dhbWVfaW5iKGNoaXAsIDUpCisJKTsKIAotCWZvciAodG1wPTA7IHRtcCA8PSAweDAxOyB0bXAgKz0gMSkKLQkJc25kX2F6ZjMzMjhfZGJnbWlzYygiMHglMDJ4OiBvcGwgMHglMDR4LCBtcHUzMDAgMHglMDR4LCBtcHUzMTAgMHglMDR4LCBtcHUzMjAgMHglMDR4LCBtcHUzMzAgMHglMDR4XG4iLCB0bXAsIGluYigweDM4OCArIHRtcCksIGluYigweDMwMCArIHRtcCksIGluYigweDMxMCArIHRtcCksIGluYigweDMyMCArIHRtcCksIGluYigweDMzMCArIHRtcCkpOworCWZvciAodG1wID0gMDsgdG1wIDwgMHgwNzsgdG1wICs9IDEpCisJCXNuZF9hemYzMzI4X2RiZ21pc2MoIm1wdV9pbyAweCUwNHhcbiIsIGluYihjaGlwLT5tcHVfaW8gKyB0bXApKTsKKworCWZvciAodG1wID0gMDsgdG1wIDw9IDB4MDc7IHRtcCArPSAxKQorCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCIweCUwMng6IGdhbWUyMDAgMHglMDR4LCBnYW1lMjA4IDB4JTA0eFxuIiwKKwkJCXRtcCwgaW5iKDB4MjAwICsgdG1wKSwgaW5iKDB4MjA4ICsgdG1wKSk7CisKKwlmb3IgKHRtcCA9IDA7IHRtcCA8PSAweDAxOyB0bXAgKz0gMSkKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygKKwkJCSIweCUwMng6IG1wdTMwMCAweCUwNHgsIG1wdTMxMCAweCUwNHgsIG1wdTMyMCAweCUwNHgsICIKKwkJCSJtcHUzMzAgMHglMDR4IG9wbDM4OCAweCUwNHggb3BsMzhjIDB4JTA0eFxuIiwKKwkJCQl0bXAsCisJCQkJaW5iKDB4MzAwICsgdG1wKSwKKwkJCQlpbmIoMHgzMTAgKyB0bXApLAorCQkJCWluYigweDMyMCArIHRtcCksCisJCQkJaW5iKDB4MzMwICsgdG1wKSwKKwkJCQlpbmIoMHgzODggKyB0bXApLAorCQkJCWluYigweDM4YyArIHRtcCkKKwkJKTsKIAogCWZvciAodG1wID0gMDsgdG1wIDwgQVpGX0lPX1NJWkVfQ09ERUM7IHRtcCArPSAyKQotCQlzbmRfYXpmMzMyOF9kYmdtaXNjKCJjb2RlYyAweCUwMng6IDB4JTA0eFxuIiwgdG1wLCBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgdG1wKSk7CisJCXNuZF9hemYzMzI4X2RiZ21pc2MoImNvZGVjIDB4JTAyeDogMHglMDR4XG4iLAorCQkJdG1wLCBzbmRfYXpmMzMyOF9jb2RlY19pbncoY2hpcCwgdG1wKQorCQkpOwogCiAJZm9yICh0bXAgPSAwOyB0bXAgPCBBWkZfSU9fU0laRV9NSVhFUjsgdG1wICs9IDIpCi0JCXNuZF9hemYzMzI4X2RiZ21pc2MoIm1peGVyIDB4JTAyeDogMHglMDR4XG4iLCB0bXAsIHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCB0bXApKTsKKwkJc25kX2F6ZjMzMjhfZGJnbWlzYygibWl4ZXIgMHglMDJ4OiAweCUwNHhcbiIsCisJCQl0bXAsIHNuZF9hemYzMzI4X21peGVyX2ludyhjaGlwLCB0bXApCisJCSk7CisjZW5kaWYgLyogREVCVUdfTUlTQyAqLwogfQotI2Vsc2UKLXN0YXRpYyBpbmxpbmUgdm9pZAotc25kX2F6ZjMzMjhfZGVidWdfc2hvd19wb3J0cyhjb25zdCBzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXApIHt9Ci0jZW5kaWYKIAogc3RhdGljIGludCBfX2RldmluaXQKIHNuZF9hemYzMzI4X2NyZWF0ZShzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwY2lfZGV2ICpwY2ksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZGV2aWNlX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzbmRfYXpmMzMyOCAqKiByY2hpcCkKKwkJICAgc3RydWN0IHBjaV9kZXYgKnBjaSwKKwkJICAgdW5zaWduZWQgbG9uZyBkZXZpY2VfdHlwZSwKKwkJICAgc3RydWN0IHNuZF9hemYzMzI4ICoqcmNoaXApCiB7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwOwogCWludCBlcnI7CkBAIC0xNzA1LDcgKzIxMDgsOCBAQAogCiAJKnJjaGlwID0gTlVMTDsKIAotCWlmICgoZXJyID0gcGNpX2VuYWJsZV9kZXZpY2UocGNpKSkgPCAwKQorCWVyciA9IHBjaV9lbmFibGVfZGV2aWNlKHBjaSk7CisJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAKIAljaGlwID0ga3phbGxvYyhzaXplb2YoKmNoaXApLCBHRlBfS0VSTkVMKTsKQEAgLTE3MjEsMjAgKzIxMjUsMjUgQEAKIAkvKiBjaGVjayBpZiB3ZSBjYW4gcmVzdHJpY3QgUENJIERNQSB0cmFuc2ZlcnMgdG8gMjQgYml0cyAqLwogCWlmIChwY2lfc2V0X2RtYV9tYXNrKHBjaSwgRE1BXzI0QklUX01BU0spIDwgMCB8fAogCSAgICBwY2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2socGNpLCBETUFfMjRCSVRfTUFTSykgPCAwKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgImFyY2hpdGVjdHVyZSBkb2VzIG5vdCBzdXBwb3J0IDI0Yml0IFBDSSBidXNtYXN0ZXIgRE1BXG4iKTsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXJjaGl0ZWN0dXJlIGRvZXMgbm90IHN1cHBvcnQgIgorCQkJCQkiMjRiaXQgUENJIGJ1c21hc3RlciBETUFcbiIKKwkJKTsKIAkJZXJyID0gLUVOWElPOwogCQlnb3RvIG91dF9lcnI7CiAJfQogCi0JaWYgKChlcnIgPSBwY2lfcmVxdWVzdF9yZWdpb25zKHBjaSwgIkF6dGVjaCBBWkYzMzI4IikpIDwgMCkgeworCWVyciA9IHBjaV9yZXF1ZXN0X3JlZ2lvbnMocGNpLCAiQXp0ZWNoIEFaRjMzMjgiKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAotCWNoaXAtPmNvZGVjX3BvcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAwKTsKLQljaGlwLT5pbzJfcG9ydCAgID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMSk7Ci0JY2hpcC0+bXB1X3BvcnQgICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDIpOwotCWNoaXAtPnN5bnRoX3BvcnQgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAzKTsKLQljaGlwLT5taXhlcl9wb3J0ID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgNCk7CisJY2hpcC0+Y29kZWNfaW8gPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGNpLCAwKTsKKwljaGlwLT5nYW1lX2lvICA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDEpOworCWNoaXAtPm1wdV9pbyAgID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgMik7CisJY2hpcC0+b3BsM19pbyA9IHBjaV9yZXNvdXJjZV9zdGFydChwY2ksIDMpOworCWNoaXAtPm1peGVyX2lvID0gcGNpX3Jlc291cmNlX3N0YXJ0KHBjaSwgNCk7CisKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX1BMQVlCQUNLXS5wb3J0YmFzZSA9IGNoaXAtPmNvZGVjX2lvICsgMHgwMDsKKwljaGlwLT5hdWRpb19zdHJlYW1bQVpGX0NBUFRVUkVdLnBvcnRiYXNlICAgPSBjaGlwLT5jb2RlY19pbyArIDB4MjA7CiAKIAlpZiAocmVxdWVzdF9pcnEocGNpLT5pcnEsIHNuZF9hemYzMzI4X2ludGVycnVwdCwKIAkJCUlSUUZfU0hBUkVELCBjYXJkLT5zaG9ydG5hbWUsIGNoaXApKSB7CkBAIC0xNzQ3LDI5ICsyMTU2LDI5IEBACiAJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7CiAKIAlzbmRfYXpmMzMyOF9kZWJ1Z19zaG93X3BvcnRzKGNoaXApOwotCQotCWlmICgoZXJyID0gc25kX2RldmljZV9uZXcoY2FyZCwgU05EUlZfREVWX0xPV0xFVkVMLCBjaGlwLCAmb3BzKSkgPCAwKSB7CisKKwllcnIgPSBzbmRfZGV2aWNlX25ldyhjYXJkLCBTTkRSVl9ERVZfTE9XTEVWRUwsIGNoaXAsICZvcHMpOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCiAJLyogY3JlYXRlIG1peGVyIGludGVyZmFjZSAmIHN3aXRjaGVzICovCi0JaWYgKChlcnIgPSBzbmRfYXpmMzMyOF9taXhlcl9uZXcoY2hpcCkpIDwgMCkKKwllcnIgPSBzbmRfYXpmMzMyOF9taXhlcl9uZXcoY2hpcCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKIAotI2lmIDAKLQkvKiBzZXQgdmVyeSBsb3cgYml0cmF0ZSB0byByZWR1Y2Ugbm9pc2UgYW5kIHBvd2VyIGNvbnN1bXB0aW9uPyAqLwotCXNuZF9hemYzMzI4X3NldGZtdChjaGlwLCBJRFhfSU9fUExBWV9TT1VOREZPUk1BVCwgNTUxMiwgOCwgMSk7Ci0jZW5kaWYKKwkvKiBzaHV0ZG93biBjb2RlY3MgdG8gc2F2ZSBwb3dlciAqLworCQkvKiBoYXZlIHNuZF9hemYzMzI4X2NvZGVjX2FjdGl2aXR5KCkgYWN0IHByb3Blcmx5ICovCisJY2hpcC0+YXVkaW9fc3RyZWFtW0FaRl9QTEFZQkFDS10ucnVubmluZyA9IDE7CisJc25kX2F6ZjMzMjhfY29kZWNfYWN0aXZpdHkoY2hpcCwgQVpGX1BMQVlCQUNLLCAwKTsKIAogCS8qIHN0YW5kYXJkIGNoaXAgaW5pdCBzdHVmZiAqLwotCS8qIGRlZmF1bHQgSVJRIGluaXQgdmFsdWUgKi8KKwkJLyogZGVmYXVsdCBJUlEgaW5pdCB2YWx1ZSAqLwogCXRtcCA9IERNQV9QTEFZX1NPTUVUSElORzJ8RE1BX0VQSUxPR1VFX1NPTUVUSElOR3xETUFfU09NRVRISU5HX0VMU0U7CiAKIAlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fUExBWV9GTEFHUywgdG1wKTsKIAlzbmRfYXpmMzMyOF9jb2RlY19vdXRiKGNoaXAsIElEWF9JT19SRUNfRkxBR1MsIHRtcCk7CiAJc25kX2F6ZjMzMjhfY29kZWNfb3V0YihjaGlwLCBJRFhfSU9fU09NRVRISU5HX0ZMQUdTLCB0bXApOwotCXNuZF9hemYzMzI4X2NvZGVjX291dGIoY2hpcCwgSURYX0lPX1RJTUVSX1ZBTFVFICsgMywgMHgwMCk7IC8qIGRpc2FibGUgdGltZXIgKi8KIAlzcGluX3VubG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKIAogCXNuZF9jYXJkX3NldF9kZXYoY2FyZCwgJnBjaS0+ZGV2KTsKQEAgLTE4MDUsNTIgKzIyMTQsNjEgQEAKIAkJcmV0dXJuIC1FTk9FTlQ7CiAJfQogCi0JY2FyZCA9IHNuZF9jYXJkX25ldyhpbmRleFtkZXZdLCBpZFtkZXZdLCBUSElTX01PRFVMRSwgMCApOworCWNhcmQgPSBzbmRfY2FyZF9uZXcoaW5kZXhbZGV2XSwgaWRbZGV2XSwgVEhJU19NT0RVTEUsIDApOwogCWlmIChjYXJkID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJc3RyY3B5KGNhcmQtPmRyaXZlciwgIkFaRjMzMjgiKTsKIAlzdHJjcHkoY2FyZC0+c2hvcnRuYW1lLCAiQXp0ZWNoIEFaRjMzMjggKFBDSTE2OCkiKTsKIAotICAgICAgICBpZiAoKGVyciA9IHNuZF9hemYzMzI4X2NyZWF0ZShjYXJkLCBwY2ksIHBjaV9pZC0+ZHJpdmVyX2RhdGEsICZjaGlwKSkgPCAwKSB7CisJZXJyID0gc25kX2F6ZjMzMjhfY3JlYXRlKGNhcmQsIHBjaSwgcGNpX2lkLT5kcml2ZXJfZGF0YSwgJmNoaXApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCiAJY2FyZC0+cHJpdmF0ZV9kYXRhID0gY2hpcDsKIAotCWlmICgoZXJyID0gc25kX21wdTQwMV91YXJ0X25ldyggY2FyZCwgMCwgTVBVNDAxX0hXX01QVTQwMSwKLQkJCQkgICAgICAgIGNoaXAtPm1wdV9wb3J0LCBNUFU0MDFfSU5GT19JTlRFR1JBVEVELAotCQkJCQlwY2ktPmlycSwgMCwgJmNoaXAtPnJtaWRpKSkgPCAwKSB7Ci0JCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IG5vIE1QVS00MDEgZGV2aWNlIGF0IDB4JWx4P1xuIiwgY2hpcC0+bXB1X3BvcnQpOworCWVyciA9IHNuZF9tcHU0MDFfdWFydF9uZXcoCisJCWNhcmQsIDAsIE1QVTQwMV9IV19NUFU0MDEsIGNoaXAtPm1wdV9pbywgTVBVNDAxX0lORk9fSU5URUdSQVRFRCwKKwkJcGNpLT5pcnEsIDAsICZjaGlwLT5ybWlkaQorCSk7CisJaWYgKGVyciA8IDApIHsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAiYXpmMzMyODogbm8gTVBVLTQwMSBkZXZpY2UgYXQgMHglbHg/XG4iLAorCQkJCWNoaXAtPm1wdV9pbworCQkpOwogCQlnb3RvIG91dF9lcnI7CiAJfQogCi0JaWYgKChlcnIgPSBzbmRfYXpmMzMyOF90aW1lcihjaGlwLCAwKSkgPCAwKSB7CisJZXJyID0gc25kX2F6ZjMzMjhfdGltZXIoY2hpcCwgMCk7CisJaWYgKGVyciA8IDApCiAJCWdvdG8gb3V0X2VycjsKLQl9CiAKLQlpZiAoKGVyciA9IHNuZF9hemYzMzI4X3BjbShjaGlwLCAwKSkgPCAwKSB7CisJZXJyID0gc25kX2F6ZjMzMjhfcGNtKGNoaXAsIDApOworCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dF9lcnI7Ci0JfQogCi0JaWYgKHNuZF9vcGwzX2NyZWF0ZShjYXJkLCBjaGlwLT5zeW50aF9wb3J0LCBjaGlwLT5zeW50aF9wb3J0KzIsCisJaWYgKHNuZF9vcGwzX2NyZWF0ZShjYXJkLCBjaGlwLT5vcGwzX2lvLCBjaGlwLT5vcGwzX2lvKzIsCiAJCQkgICAgT1BMM19IV19BVVRPLCAxLCAmb3BsMykgPCAwKSB7CiAJCXNuZF9wcmludGsoS0VSTl9FUlIgImF6ZjMzMjg6IG5vIE9QTDMgZGV2aWNlIGF0IDB4JWx4LTB4JWx4P1xuIiwKLQkJCSAgIGNoaXAtPnN5bnRoX3BvcnQsIGNoaXAtPnN5bnRoX3BvcnQrMiApOworCQkJICAgY2hpcC0+b3BsM19pbywgY2hpcC0+b3BsM19pbysyCisJCSk7CiAJfSBlbHNlIHsKLQkJaWYgKChlcnIgPSBzbmRfb3BsM19od2RlcF9uZXcob3BsMywgMCwgMSwgTlVMTCkpIDwgMCkgeworCQkvKiBuZWVkIHRvIHVzZSBJRHMgMSwgMiBzaW5jZSBJRCAwIGlzIHNuZF9hemYzMzI4X3RpbWVyIGFib3ZlICovCisJCWVyciA9IHNuZF9vcGwzX3RpbWVyX25ldyhvcGwzLCAxLCAyKTsKKwkJaWYgKGVyciA8IDApCiAJCQlnb3RvIG91dF9lcnI7Ci0JCX0KKwkJZXJyID0gc25kX29wbDNfaHdkZXBfbmV3KG9wbDMsIDAsIDEsIE5VTEwpOworCQlpZiAoZXJyIDwgMCkKKwkJCWdvdG8gb3V0X2VycjsKIAl9CiAKIAlvcGwzLT5wcml2YXRlX2RhdGEgPSBjaGlwOwogCiAJc3ByaW50ZihjYXJkLT5sb25nbmFtZSwgIiVzIGF0IDB4JWx4LCBpcnEgJWkiLAotCQljYXJkLT5zaG9ydG5hbWUsIGNoaXAtPmNvZGVjX3BvcnQsIGNoaXAtPmlycSk7CisJCWNhcmQtPnNob3J0bmFtZSwgY2hpcC0+Y29kZWNfaW8sIGNoaXAtPmlycSk7CiAKLQlpZiAoKGVyciA9IHNuZF9jYXJkX3JlZ2lzdGVyKGNhcmQpKSA8IDApIHsKKwllcnIgPSBzbmRfY2FyZF9yZWdpc3RlcihjYXJkKTsKKwlpZiAoZXJyIDwgMCkKIAkJZ290byBvdXRfZXJyOwotCX0KIAogI2lmZGVmIE1PRFVMRQogCXByaW50aygKQEAgLTE4NjEsMTkgKzIyNzksMTggQEAKIAkxMDI0MDAwIC8gc2VxdGltZXJfc2NhbGluZywgc2VxdGltZXJfc2NhbGluZyk7CiAjZW5kaWYKIAotCWlmIChzbmRfYXpmMzMyOF9jb25maWdfam95c3RpY2soY2hpcCwgZGV2KSA8IDApCi0JCXNuZF9hemYzMzI4X2lvMl9vdXRiKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIsCi0JCQkgICAgICBzbmRfYXpmMzMyOF9pbzJfaW5iKGNoaXAsIElEWF9JTzJfTEVHQUNZX0FERFIpICYgfkxFR0FDWV9KT1kpOworCXNuZF9hemYzMzI4X2dhbWVwb3J0KGNoaXAsIGRldik7CiAKIAlwY2lfc2V0X2RydmRhdGEocGNpLCBjYXJkKTsKIAlkZXYrKzsKIAogCWVyciA9IDA7CiAJZ290byBvdXQ7Ci0JCisKIG91dF9lcnI6CisJc25kX3ByaW50ayhLRVJOX0VSUiAiYXpmMzMyODogc29tZXRoaW5nIGZhaWxlZCwgZXhpdGluZ1xuIik7CiAJc25kX2NhcmRfZnJlZShjYXJkKTsKLQkKKwogb3V0OgogCXNuZF9hemYzMzI4X2RiZ2NhbGxsZWF2ZSgpOwogCXJldHVybiBlcnI7CkBAIC0xODk0LDI3ICsyMzExLDMxIEBACiB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkID0gcGNpX2dldF9kcnZkYXRhKHBjaSk7CiAJc3RydWN0IHNuZF9hemYzMzI4ICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOwotCWludCByZWc7CisJdW5zaWduZWQgcmVnOwogCiAJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOwotCQorCiAJc25kX3BjbV9zdXNwZW5kX2FsbChjaGlwLT5wY20pOwogCi0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX21peGVyW3JlZ10gPSBpbncoY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTUlYRVJfUE0gLyAyOyArK3JlZykKKwkJY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddID0gaW53KGNoaXAtPm1peGVyX2lvICsgcmVnICogMik7CiAKIAkvKiBtYWtlIHN1cmUgdG8gZGlzYWJsZSBtYXN0ZXIgdm9sdW1lIGV0Yy4gdG8gcHJldmVudCBsb29waW5nIHNvdW5kICovCiAJc25kX2F6ZjMzMjhfbWl4ZXJfc2V0X211dGUoY2hpcCwgSURYX01JWEVSX1BMQVlfTUFTVEVSLCAxKTsKIAlzbmRfYXpmMzMyOF9taXhlcl9zZXRfbXV0ZShjaGlwLCBJRFhfTUlYRVJfV0FWRU9VVCwgMSk7Ci0JCi0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10gPSBpbncoY2hpcC0+Y29kZWNfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfSU8yX1BNIC8gMjsgcmVnKyspCi0JCWNoaXAtPnNhdmVkX3JlZ3NfaW8yW3JlZ10gPSBpbncoY2hpcC0+aW8yX3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX21wdVtyZWddID0gaW53KGNoaXAtPm1wdV9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9TWU5USF9QTSAvIDI7IHJlZysrKQotCQljaGlwLT5zYXZlZF9yZWdzX3N5bnRoW3JlZ10gPSBpbncoY2hpcC0+c3ludGhfcG9ydCArIHJlZyAqIDIpOworCisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9DT0RFQ19QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10gPSBpbncoY2hpcC0+Y29kZWNfaW8gKyByZWcgKiAyKTsKKworCS8qIG1hbnVhbGx5IHN0b3JlIHRoZSBvbmUgY3VycmVudGx5IHJlbGV2YW50IHdyaXRlLW9ubHkgcmVnLCB0b28gKi8KKwljaGlwLT5zYXZlZF9yZWdzX2NvZGVjW0lEWF9JT182QUggLyAyXSA9IGNoaXAtPnNoYWRvd19yZWdfY29kZWNfNkFIOworCisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9HQU1FX1BNIC8gMjsgKytyZWcpCisJCWNoaXAtPnNhdmVkX3JlZ3NfZ2FtZVtyZWddID0gaW53KGNoaXAtPmdhbWVfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01QVV9QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX21wdVtyZWddID0gaW53KGNoaXAtPm1wdV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfT1BMM19QTSAvIDI7ICsrcmVnKQorCQljaGlwLT5zYXZlZF9yZWdzX29wbDNbcmVnXSA9IGludyhjaGlwLT5vcGwzX2lvICsgcmVnICogMik7CiAKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGNpKTsKIAlwY2lfc2F2ZV9zdGF0ZShwY2kpOwpAQCAtMTkyNyw3ICsyMzQ4LDcgQEAKIHsKIAlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKIAlzdHJ1Y3Qgc25kX2F6ZjMzMjggKmNoaXAgPSBjYXJkLT5wcml2YXRlX2RhdGE7Ci0JaW50IHJlZzsKKwl1bnNpZ25lZCByZWc7CiAKIAlwY2lfc2V0X3Bvd2VyX3N0YXRlKHBjaSwgUENJX0QwKTsKIAlwY2lfcmVzdG9yZV9zdGF0ZShwY2kpOwpAQCAtMTkzOSwyMyArMjM2MCwyMSBAQAogCX0KIAlwY2lfc2V0X21hc3RlcihwY2kpOwogCi0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9JTzJfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2lvMltyZWddLCBjaGlwLT5pbzJfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTVBVX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSwgY2hpcC0+bXB1X3BvcnQgKyByZWcgKiAyKTsKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX1NZTlRIX1BNIC8gMjsgcmVnKyspCi0JCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19zeW50aFtyZWddLCBjaGlwLT5zeW50aF9wb3J0ICsgcmVnICogMik7Ci0JZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9NSVhFUl9QTSAvIDI7IHJlZysrKQotCQlvdXR3KGNoaXAtPnNhdmVkX3JlZ3NfbWl4ZXJbcmVnXSwgY2hpcC0+bWl4ZXJfcG9ydCArIHJlZyAqIDIpOwotCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyByZWcrKykKLQkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10sIGNoaXAtPmNvZGVjX3BvcnQgKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX0dBTUVfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2dhbWVbcmVnXSwgY2hpcC0+Z2FtZV9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfTVBVX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19tcHVbcmVnXSwgY2hpcC0+bXB1X2lvICsgcmVnICogMik7CisJZm9yIChyZWcgPSAwOyByZWcgPCBBWkZfSU9fU0laRV9PUEwzX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19vcGwzW3JlZ10sIGNoaXAtPm9wbDNfaW8gKyByZWcgKiAyKTsKKwlmb3IgKHJlZyA9IDA7IHJlZyA8IEFaRl9JT19TSVpFX01JWEVSX1BNIC8gMjsgKytyZWcpCisJCW91dHcoY2hpcC0+c2F2ZWRfcmVnc19taXhlcltyZWddLCBjaGlwLT5taXhlcl9pbyArIHJlZyAqIDIpOworCWZvciAocmVnID0gMDsgcmVnIDwgQVpGX0lPX1NJWkVfQ09ERUNfUE0gLyAyOyArK3JlZykKKwkJb3V0dyhjaGlwLT5zYXZlZF9yZWdzX2NvZGVjW3JlZ10sIGNoaXAtPmNvZGVjX2lvICsgcmVnICogMik7CiAKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7CiAJcmV0dXJuIDA7CiB9Ci0jZW5kaWYKLQotCisjZW5kaWYgLyogQ09ORklHX1BNICovCiAKIAogc3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGRyaXZlciA9IHsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9henQzMzI4LmggYi9zb3VuZC9wY2kvYXp0MzMyOC5oCmluZGV4IDY3OWZhOTkuLjdlM2U4OTQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9henQzMzI4LmgKKysrIGIvc291bmQvcGNpL2F6dDMzMjguaApAQCAtMSw3ICsxLDggQEAKICNpZm5kZWYgX19TT1VORF9BWlQzMzI4X0gKICNkZWZpbmUgX19TT1VORF9BWlQzMzI4X0gKIAotLyogIlBVIiA9PSAicG93ZXItdXAgdmFsdWUiLCBhcyB0ZXN0ZWQgb24gUENJMTY4IFBDSSByZXYuIDEwICovCisvKiAiUFUiID09ICJwb3dlci11cCB2YWx1ZSIsIGFzIHRlc3RlZCBvbiBQQ0kxNjggUENJIHJldi4gMTAKKyAqICJXUklURV9PTkxZIiAgPT0gcmVnaXN0ZXIgZG9lcyBub3QgaW5kaWNhdGUgYWN0dWFsIGJpdCB2YWx1ZXMgKi8KIAogLyoqKiBtYWluIEkvTyBhcmVhIHBvcnQgaW5kaWNlcyAqKiovCiAvKiAob25seSAweDcwIG9mIDB4ODAgYnl0ZXMgc2F2ZWQvcmVzdG9yZWQgYnkgV2luZG93cyBkcml2ZXIpICovCkBAIC01NCw3ICs1NSwxMCBAQAogICAjZGVmaW5lIFNPVU5ERk9STUFUX1hUQUwxCQkweDAwCiAgICNkZWZpbmUgU09VTkRGT1JNQVRfWFRBTDIJCTB4MDEKICAgICAvKiBhbGwgX1NVU1BFQ1RFRF8gdmFsdWVzIGFyZSBub3QgdXNlZCBieSBXaW5kb3dzIGRyaXZlcnMsIHNvIHdlIGRvbid0Ci0gICAgICogaGF2ZSBhbnkgaGFyZCBmYWN0cywgb25seSByb3VnaCBtZWFzdXJlbWVudHMgKi8KKyAgICAgKiBoYXZlIGFueSBoYXJkIGZhY3RzLCBvbmx5IHJvdWdoIG1lYXN1cmVtZW50cy4KKyAgICAgKiBBbGwgd2Uga25vdyBpcyB0aGF0IHRoZSBjcnlzdGFsIHVzZWQgb24gdGhlIGJvYXJkIGhhcyAyNC41NzZNSHosCisgICAgICogbGlrZSBtYW55IHNvdW5kY2FyZHMgKHdoaWNoIHJlc3VsdHMgaW4gdGhlIGZyZXF1ZW5jaWVzIGJlbG93IHdoZW4KKyAgICAgKiB1c2luZyBjZXJ0YWluIGRpdmlkZXIgdmFsdWVzIHNlbGVjdGVkIGJ5IHRoZSB2YWx1ZXMgYmVsb3cpICovCiAgICAgI2RlZmluZSBTT1VOREZPUk1BVF9GUkVRX1NVU1BFQ1RFRF80MDAwCTB4MGMgfCBTT1VOREZPUk1BVF9YVEFMMQogICAgICNkZWZpbmUgU09VTkRGT1JNQVRfRlJFUV9TVVNQRUNURURfNDgwMAkweDBhIHwgU09VTkRGT1JNQVRfWFRBTDEKICAgICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZSRVFfNTUxMAkJMHgwYyB8IFNPVU5ERk9STUFUX1hUQUwyCkBAIC03Miw2ICs3NiwyNiBAQAogICAjZGVmaW5lIFNPVU5ERk9STUFUX0ZMQUdfMTZCSVQJMHgwMDEwCiAgICNkZWZpbmUgU09VTkRGT1JNQVRfRkxBR18yQ0hBTk5FTFMJMHgwMDIwCiAKKy8qIGRlZmluZSBmcmVxdWVuY3kgaGVscGVycywgZm9yIG1heGltdW0gdmFsdWUgc2FmZXR5ICovCitlbnVtIGF6Zl9mcmVxX3QgeworI2RlZmluZSBBWkZfRlJFUShyYXRlKSBBWkZfRlJFUV8jI3JhdGUgPSByYXRlCisgIEFaRl9GUkVRKDQwMDApLAorICBBWkZfRlJFUSg0ODAwKSwKKyAgQVpGX0ZSRVEoNTUxMiksCisgIEFaRl9GUkVRKDY2MjApLAorICBBWkZfRlJFUSg4MDAwKSwKKyAgQVpGX0ZSRVEoOTYwMCksCisgIEFaRl9GUkVRKDExMDI1KSwKKyAgQVpGX0ZSRVEoMTMyNDApLAorICBBWkZfRlJFUSgxNjAwMCksCisgIEFaRl9GUkVRKDIyMDUwKSwKKyAgQVpGX0ZSRVEoMzIwMDApLAorICBBWkZfRlJFUSg0NDEwMCksCisgIEFaRl9GUkVRKDQ4MDAwKSwKKyAgQVpGX0ZSRVEoNjYyMDApLAorI3VuZGVmIEFaRl9GUkVRCit9IEFaRl9GUkVRVUVOQ0lFUzsKKwogLyoqIHJlY29yZGluZyBhcmVhIChzZWUgYWxzbzogcGxheWJhY2sgYml0IGZsYWcgZGVmaW5pdGlvbnMpICoqLwogI2RlZmluZSBJRFhfSU9fUkVDX0ZMQUdTCTB4MjAgLyogPz8sIFBVOjB4MDAwMCAqLwogI2RlZmluZSBJRFhfSU9fUkVDX0lSUVRZUEUJMHgyMiAvKiA/PywgUFU6MHgwMDAwICovCkBAIC05Nyw0MCArMTIxLDE3MSBAQAogCiAvKiogRGlyZWN0WCB0aW1lciwgbWFpbiBpbnRlcnJ1cHQgYXJlYSAoRklYTUU6IGFuZCBzb21ldGhpbmcgZWxzZT8pICoqLyAKICNkZWZpbmUgSURYX0lPX1RJTUVSX1ZBTFVFCTB4NjAgLyogZm91bmQgdGhpcyB0aW1lciBhcmVhIGJ5IHB1cmUgbHVjayA6LSkgKi8KLSAgI2RlZmluZSBUSU1FUl9WQUxVRV9NQVNLCQkweDAwMGZmZmZmVUwgLyogdGltZXIgY291bnRkb3duIHZhbHVlOyB0cmlnZ2VycyBJUlEgd2hlbiB0aW1lciBpcyBmaW5pc2hlZCAqLwotICAjZGVmaW5lIFRJTUVSX0VOQUJMRV9DT1VOVERPV04JMHgwMTAwMDAwMFVMIC8qIGFjdGl2YXRlIHRoZSB0aW1lciBjb3VudGRvd24gKi8KLSAgI2RlZmluZSBUSU1FUl9FTkFCTEVfSVJRCQkweDAyMDAwMDAwVUwgLyogdHJpZ2dlciB0aW1lciBJUlEgb24gemVybyB0cmFuc2l0aW9uICovCi0gICNkZWZpbmUgVElNRVJfQUNLX0lSUQkJCTB4MDQwMDAwMDBVTCAvKiBiZWluZyBzZXQgaW4gSVJRIGhhbmRsZXIgaW4gY2FzZSBwb3J0IDB4MDAgKGhtbSwgbm90IHBvcnQgMHg2NCE/IT8pIGhhZCAweDAwMjAgc2V0IHVwb24gSVJRIGhhbmRsZXIgKi8KKyAgLyogdGltZXIgY291bnRkb3duIHZhbHVlOyB0cmlnZ2VycyBJUlEgd2hlbiB0aW1lciBpcyBmaW5pc2hlZCAqLworICAjZGVmaW5lIFRJTUVSX1ZBTFVFX01BU0sJCTB4MDAwZmZmZmZVTAorICAvKiBhY3RpdmF0ZSB0aW1lciBjb3VudGRvd24gKi8KKyAgI2RlZmluZSBUSU1FUl9DT1VOVERPV05fRU5BQkxFCTB4MDEwMDAwMDBVTAorICAvKiB0cmlnZ2VyIHRpbWVyIElSUSBvbiB6ZXJvIHRyYW5zaXRpb24gKi8KKyAgI2RlZmluZSBUSU1FUl9JUlFfRU5BQkxFCQkweDAyMDAwMDAwVUwKKyAgLyogYmVpbmcgc2V0IGluIElSUSBoYW5kbGVyIGluIGNhc2UgcG9ydCAweDAwIChobW0sIG5vdCBwb3J0IDB4NjQhPyE/KQorICAgKiBoYWQgMHgwMDIwIHNldCB1cG9uIElSUSBoYW5kbGVyICovCisgICNkZWZpbmUgVElNRVJfSVJRX0FDSwkJCTB4MDQwMDAwMDBVTAogI2RlZmluZSBJRFhfSU9fSVJRU1RBVFVTICAgICAgICAweDY0Ci0gICNkZWZpbmUgSVJRX1BMQVlCQUNLCQkJMHgwMDAxCi0gICNkZWZpbmUgSVJRX1JFQ09SRElORwkJCTB4MDAwMgotICAjZGVmaW5lIElSUV9NUFU0MDEJCQkweDAwMTAKLSAgI2RlZmluZSBJUlFfVElNRVIJCQkweDAwMjAgLyogRGlyZWN0WCB0aW1lciAqLwotICAjZGVmaW5lIElSUV9VTktOT1dOMQkJCTB4MDA0MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyBvciBnYW1lcG9ydCBJUlE/ICovCi0gICNkZWZpbmUgSVJRX1VOS05PV04yCQkJMHgwMDgwIC8qIHByb2JhYmx5IHVudXNlZCwgb3IgcG9zc2libHkgSTJTIHBvcnQ/IG9yIGdhbWVwb3J0IElSUT8gKi8KKyAgLyogc29tZSBJUlEgYml0IGluIGhlcmUgbWlnaHQgYWxzbyBiZSB1c2VkIHRvIHNpZ25hbCBhIHBvd2VyLW1hbmFnZW1lbnQgdGltZXIKKyAgICogdGltZW91dCwgdG8gcmVxdWVzdCBzaHV0ZG93biBvZiB0aGUgY2hpcCAoZS5nLiBBRDE4MTVKUyBoYXMgc3VjaCBhIHRoaW5nKS4KKyAgICogU29tZSBPUEwzIGhhcmR3YXJlIChlLmcuIGluIExNNDU2MCkgaGFzIHNvbWUgc3BlY2lhbCB0aW1lciBoYXJkd2FyZSB3aGljaAorICAgKiBjYW4gdHJpZ2dlciBhbiBPUEwzIHRpbWVyIElSUSwgc28gbWF5YmUgdGhlcmUncyBzdWNoIGEgdGhpbmcgYXMgd2VsbC4uLiAqLworCisgICNkZWZpbmUgSVJRX1BMQVlCQUNLCTB4MDAwMQorICAjZGVmaW5lIElSUV9SRUNPUkRJTkcJMHgwMDAyCisgICNkZWZpbmUgSVJRX1VOS05PV04xCTB4MDAwNCAvKiBtb3N0IHByb2JhYmx5IEkyUyBwb3J0ICovCisgICNkZWZpbmUgSVJRX0dBTUVQT1JUCTB4MDAwOCAvKiBJbnRlcnJ1cHQgb2YgRGlnaXRhbChseSkgRW5oYW5jZWQgR2FtZSBQb3J0ICovCisgICNkZWZpbmUgSVJRX01QVTQwMQkweDAwMTAKKyAgI2RlZmluZSBJUlFfVElNRVIJMHgwMDIwIC8qIERpcmVjdFggdGltZXIgKi8KKyAgI2RlZmluZSBJUlFfVU5LTk9XTjIJMHgwMDQwIC8qIHByb2JhYmx5IHVudXNlZCwgb3IgcG9zc2libHkgSTJTIHBvcnQ/ICovCisgICNkZWZpbmUgSVJRX1VOS05PV04zCTB4MDA4MCAvKiBwcm9iYWJseSB1bnVzZWQsIG9yIHBvc3NpYmx5IEkyUyBwb3J0PyAqLwogI2RlZmluZSBJRFhfSU9fNjZICQkweDY2ICAgIC8qIHdyaXRpbmcgMHhmZmZmIHJldHVybnMgMHgwMDAwICovCi0jZGVmaW5lIElEWF9JT19TT01FX1ZBTFVFCTB4NjgJLyogdGhpcyBpcyBzZXQgdG8gZS5nLiAweDNmZiBvciAweDMwMCwgYW5kIHdyaXRhYmxlOyBtYXliZSBzb21lIGJ1ZmZlciBsaW1pdCwgYnV0IEkgY291bGRuJ3QgZmluZCBvdXQgbW9yZSwgUFU6MHgwMGZmICovCi0jZGVmaW5lIElEWF9JT182QUgJCTB4NkEJLyogdGhpcyBXT1JEIGNhbiBiZSBzZXQgdG8gaGF2ZSBiaXRzIDB4MDAyOCBhY3RpdmF0ZWQgKEZJWE1FOiBjb3JyZWN0Pz8pOyBhY3R1YWxseSBpbmhpYml0cyBQQ00gcGxheWJhY2shISEgbWF5YmUgcG93ZXIgbWFuYWdlbWVudD8/ICovCi0gICNkZWZpbmUgSU9fNkFfUEFVU0VfUExBWUJBQ0sJCTB4MDIwMCAvKiBiaXQgOTsgc3VyZSwgdGhpcyBwYXVzZXMgcGxheWJhY2ssIGJ1dCB3aGF0IHRoZSBoZWNrIGlzIHRoaXMgcmVhbGx5IGFib3V0Pz8gKi8KLSNkZWZpbmUgSURYX0lPXzZDSAkJMHg2QwotI2RlZmluZSBJRFhfSU9fNkVICQkweDZFCS8qIHdyaXRpbmcgMHhmZmZmIHJldHVybnMgMHg4M2ZlICovCi0vKiBmdXJ0aGVyIEkvTyBpbmRpY2VzIG5vdCBzYXZlZC9yZXN0b3JlZCwgc28gcHJvYmFibHkgbm90IHVzZWQgKi8KKyAgLyogdGhpcyBpcyBzZXQgdG8gZS5nLiAweDNmZiBvciAweDMwMCwgYW5kIHdyaXRhYmxlOworICAgKiBtYXliZSBzb21lIGJ1ZmZlciBsaW1pdCwgYnV0IEkgY291bGRuJ3QgZmluZCBvdXQgbW9yZSwgUFU6MHgwMGZmOiAqLworI2RlZmluZSBJRFhfSU9fU09NRV9WQUxVRQkweDY4CisgICNkZWZpbmUgSU9fNjhfUkFORE9NX1RPR0dMRTEJMHgwMTAwCS8qIHRvZ2dsZXMgcmFuZG9tbHkgKi8KKyAgI2RlZmluZSBJT182OF9SQU5ET01fVE9HR0xFMgkweDAyMDAJLyogdG9nZ2xlcyByYW5kb21seSAqLworICAvKiB1bW0sIG5vcGUsIGJlaGF2aW91ciBvZiB0aGVzZSBiaXRzIGNoYW5nZXMgZGVwZW5kaW5nIG9uIHdoYXQgd2Ugd3JvdGUKKyAgICogdG8gMHg2YiEhCisgICAqIEFuZCB0aGV5IGNoYW5nZSB1cG9uIHBsYXliYWNrL3N0b3AsIHRvbzoKKyAgICogV3JpdGluZyBhIHZhbHVlIHRvIDB4Njggd2lsbCBkaXNwbGF5IHRoaXMgZXhhY3QgdmFsdWUgZHVyaW5nIHBsYXliYWNrLAorICAgKiB0b28gYnV0IHdoZW4gc3RvcHBlZCBpdCBjYW4gZmFsbCBiYWNrIHRvIGEgcmF0aGVyIGRpZmZlcmVudAorICAgKiBzZWVtaW5nbHkgcmFuZG9tIHZhbHVlKS4gSG1tLCBwb3NzaWJseSB0aGlzIGlzIGEgcmVnaXN0ZXIgd2hpY2gKKyAgICogaGFzIGEgcmVtb3RlIHNoYWRvdyB3aGljaCBuZWVkcyBwcm9wZXIgZGV2aWNlIHN1cHBseSB3aGljaCBvbmx5IGV4aXN0cworICAgKiBpbiBjYXNlIHBsYXliYWNrIGlzIGFjdGl2ZT8gT3IgaXMgdGhpcyBkcml2ZXItaW5kdWNlZD8KKyAgICovCisKKy8qIHRoaXMgV09SRCBjYW4gYmUgc2V0IHRvIGhhdmUgYml0cyAweDAwMjggYWN0aXZhdGVkIChGSVhNRTogY29ycmVjdD8/KTsKKyAqIGFjdHVhbGx5IGluaGliaXRzIFBDTSBwbGF5YmFjayEhISBtYXliZSBwb3dlciBtYW5hZ2VtZW50Pz86ICovCisjZGVmaW5lIElEWF9JT182QUgJCTB4NkEgLyogV1JJVEVfT05MWSEgKi8KKyAgLyogYml0IDU6IGVuYWJsaW5nIHRoaXMgd2lsbCBhY3RpdmF0ZSBwZXJtYW5lbnQgY291bnRpbmcgb2YgYnl0ZXMgMi8zCisgICAqIGF0IGdhbWVwb3J0IEkvTyAoMHhiNDAyLzMpIChlcXVhbCB2YWx1ZXMgZWFjaCkgYW5kIGNhdXNlCisgICAqIGdhbWVwb3J0IGxlZ2FjeSBJL08gYXQgMHgwMjAwIHRvIGJlIF9ESVNBQkxFRF8hCisgICAqIElzIHRoaXMgRGlnaXRhbCBFbmhhbmNlZCBHYW1lIFBvcnQgRW5hYmxlPz8/IE9yIG1heWJlIGl0J3MgVGVzdG1vZGUKKyAgICogZm9yIEVuaGFuY2VkIERpZ2l0YWwgR2FtZXBvcnQgKHNlZSA0RCBXYXZlIERYIGNhcmQpOiAqLworICAjZGVmaW5lIElPXzZBX1NPTUVUSElORzFfR0FNRVBPUlQJMHgwMDIwCisgIC8qIGJpdCA4OyBzdXJlLCB0aGlzIF9wYXVzZXNfIHBsYXliYWNrIChsYXRlciByZXN1bWVzIGF0IHNhbWUgc3BvdCEpLAorICAgKiBidXQgd2hhdCB0aGUgaGVjayBpcyB0aGlzIHJlYWxseSBhYm91dD8/OiAqLworICAjZGVmaW5lIElPXzZBX1BBVVNFX1BMQVlCQUNLX0JJVDgJMHgwMTAwCisgIC8qIGJpdCA5OyBzdXJlLCB0aGlzIF9wYXVzZXNfIHBsYXliYWNrIChsYXRlciByZXN1bWVzIGF0IHNhbWUgc3BvdCEpLAorICAgKiBidXQgd2hhdCB0aGUgaGVjayBpcyB0aGlzIHJlYWxseSBhYm91dD8/OiAqLworICAjZGVmaW5lIElPXzZBX1BBVVNFX1BMQVlCQUNLX0JJVDkJMHgwMjAwCisJLyogQklUOCBhbmQgQklUOSBhcmUgX05PVF8gYWJsZSB0byBhZmZlY3QgT1BMMyBNSURJIHBsYXliYWNrLAorCSAqIHRodXMgaXQgc3VnZ2VzdHMgaW5mbHVlbmNlIG9uIFBDTSBvbmx5ISEKKwkgKiBIb3dldmVyIE9UT0ggdGhlcmUgc2VlbXMgdG8gYmUgbm8gYml0IGFueXdoZXJlIGFyb3VuZCBoZXJlCisJICogd2hpY2ggaXMgYWJsZSB0byBkaXNhYmxlIE9QTDMuLi4gKi8KKyAgLyogYml0IDEwOiBlbmFibGluZyB0aGlzIGFjdHVhbGx5IGNoYW5nZXMgdmFsdWVzIGF0IGxlZ2FjeSBnYW1lcG9ydAorICAgKiBJL08gYWRkcmVzcyAoMHgyMDApOyBpcyB0aGlzIGVuYWJsaW5nIG9mIHRoZSBEaWdpdGFsIEVuaGFuY2VkIEdhbWUgUG9ydD8/PworICAgKiBPciBtYXliZSB0aGlzIHNpbXBseSBzd2l0Y2hlcyBvZmYgdGhlIE5FNTU4IGNpcmN1aXQsIHNpbmNlIGVuYWJsaW5nIHRoaXMKKyAgICogc3RpbGwgbGV0cyB1cyBldmFsdWF0ZSBidXR0b24gc3RhdGVzLCBidXQgbm90IGF4aXMgc3RhdGVzICovCisgICNkZWZpbmUgSU9fNkFfU09NRVRISU5HMl9HQU1FUE9SVCAgICAgIDB4MDQwMAorCS8qIHdyaXRpbmcgMHgwMzAwOiBjYXVzZXMgcXVpdGUgc29tZSBjcmFja2xpbmcgZHVyaW5nCisJICogUEMgYWN0aXZpdHkgc3VjaCBhcyBzd2l0Y2hpbmcgd2luZG93cyAoUENJIHRyYWZmaWM/PworCSAqIC0tPiBGSUZPL3RpbWluZyBzZXR0aW5ncz8/PykgKi8KKwkvKiB3cml0aW5nIDB4MDEwMCBwbHVzL29yIDB4MDIwMCBpbmhpYml0cyBwbGF5YmFjayAqLworCS8qIHNpbmNlIHRoZSBXaW5kb3dzIC5JTkYgZmlsZSBoYXMgRmxhZ19FbmFibGVfSm95U3RpY2sgYW5kCisJICogRmxhZ19FbmFibGVfU0JfRE9TX0VtdWxhdGlvbiBkaXJlY3RseSB0b2dldGhlciwgaXQgc3RhbmRzIHRvIHJlYXNvbgorCSAqIHRoYXQgc29tZSBvdGhlciBiaXQgaW4gdGhpcyBzYW1lIHJlZ2lzdGVyIG1pZ2h0IGJlIHJlc3BvbnNpYmxlCisJICogZm9yIFNCIERPUyBFbXVsYXRpb24gYWN0aXZhdGlvbiAobm90ZSB0aGF0IHRoZSBmaWxlIGRpZCBOT1QgZGVmaW5lCisJICogYSBzd2l0Y2ggZm9yIE9QTDMhKSAqLworI2RlZmluZSBJRFhfSU9fNkNICQkweDZDCS8qIHVua25vd247IGZ1bGx5IHJlYWQtd3JpdGFibGUgKi8KKyNkZWZpbmUgSURYX0lPXzZFSAkJMHg2RQorCS8qIHdyaXRpbmcgMHhmZmZmIHJldHVybnMgMHg4M2ZlIChvciAweDAzZmUgb25seSkuCisJICogd3JpdGluZyAweDgzIChhbmQgb25seSAweDgzISEpIHRvIDB4NmYgd2lsbCBjYXVzZSAweDZjIHRvIHN3aXRjaAorCSAqIGZyb20gMDAwMCB0byBmZmZmLiAqLworCisvKiBmdXJ0aGVyIEkvTyBpbmRpY2VzIG5vdCBzYXZlZC9yZXN0b3JlZCBhbmQgbm90IHJlYWRhYmxlIGFmdGVyIHdyaXRpbmcsCisgKiBzbyBwcm9iYWJseSBub3QgdXNlZCAqLwogCiAKLS8qKiogSS9PIDIgYXJlYSBwb3J0IGluZGljZXMgKioqLworLyoqKiBHYW1lcG9ydCBhcmVhIHBvcnQgaW5kaWNlcyAqKiovCiAvKiAob25seSAweDA2IG9mIDB4MDggYnl0ZXMgc2F2ZWQvcmVzdG9yZWQgYnkgV2luZG93cyBkcml2ZXIpICovIAotI2RlZmluZSBBWkZfSU9fU0laRV9JTzIJCTB4MDgKLSNkZWZpbmUgQVpGX0lPX1NJWkVfSU8yX1BNCTB4MDYKKyNkZWZpbmUgQVpGX0lPX1NJWkVfR0FNRQkJMHgwOAorI2RlZmluZSBBWkZfSU9fU0laRV9HQU1FX1BNCTB4MDYKIAotI2RlZmluZSBJRFhfSU8yX0xFR0FDWV9BRERSCTB4MDQKLSAgI2RlZmluZSBMRUdBQ1lfU09NRVRISU5HCQkweDAxIC8qIE9QTDM/PyAqLwotICAjZGVmaW5lIExFR0FDWV9KT1kJCQkweDA4CitlbnVtIHsKKwlBWkZfR0FNRV9MRUdBQ1lfSU9fUE9SVCA9IDB4MjAwCit9IEFaRl9HQU1FX0NPTkZJR1M7CiAKKyNkZWZpbmUgSURYX0dBTUVfTEVHQUNZX0NPTVBBVElCTEUJMHgwMAorCS8qIGluIHNvbWUgb3BlcmF0aW9uIG1vZGUsIHdyaXRpbmcgYW55dGhpbmcgdG8gdGhpcyBwb3J0CisJICogdHJpZ2dlcnMgYW4gaW50ZXJydXB0OgorCSAqIHl1cCwgdGhhdCdzIGluIGNhc2UgSURYX0dBTUVfMDFIIGhhcyBvbmUgb2YgdGhlCisJICogYXhpcyBtZWFzdXJlbWVudCBiaXRzIGVuYWJsZWQKKwkgKiAoYW5kIG9mIGNvdXJzZSBvbmUgbmVlZHMgdG8gaGF2ZSBHQU1FX0hXQ0ZHX0lSUV9FTkFCTEUsIHRvbykgKi8KKworI2RlZmluZSBJRFhfR0FNRV9BWEVTX0NPTkZJRyAgICAgICAgICAgIDB4MDEKKwkvKiBOT1RFOiBsYXlvdXQgb2YgdGhpcyByZWdpc3RlciBhd2Z1bGx5IHNpbWlsYXIgKHJlYWQ6ICJpZGVudGljYWw/PyIpCisJICogdG8gQUQxODE1SlMucGRmIChwLjI5KSAqLworCisgIC8qIGVuYWJsZXMgYXhpcyAxIChYIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfMQkJMHgwMQorICAvKiBlbmFibGVzIGF4aXMgMiAoWSBheGlzKSBtZWFzdXJlbWVudDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfRU5BQkxFXzIJCTB4MDIKKyAgLyogZW5hYmxlcyBheGlzIDMgKFggYXhpcykgbWVhc3VyZW1lbnQ6ICovCisgICNkZWZpbmUgR0FNRV9BWEVTX0VOQUJMRV8zCQkweDA0CisgIC8qIGVuYWJsZXMgYXhpcyA0IChZIGF4aXMpIG1lYXN1cmVtZW50OiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19FTkFCTEVfNAkJMHgwOAorICAvKiBzZWxlY3RzIHRoZSBjdXJyZW50IGF4aXMgdG8gcmVhZCB0aGUgbWVhc3VyZWQgdmFsdWUgb2YKKyAgICogKGF0IElEWF9HQU1FX0FYSVNfVkFMVUUpOgorICAgKiAwMCA9IGF4aXMgMSwgMDEgPSBheGlzIDIsIDEwID0gYXhpcyAzLCAxMSA9IGF4aXMgNDogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfUkVBRF9NQVNLCQkweDMwCisgIC8qIGVuYWJsZSB0byBoYXZlIHRoZSBsYXRjaCBjb250aW51b3VzbHkgYWNjZXB0IEFEQyB2YWx1ZXMKKyAgICogKGFuZCBjb250aW51b3VzbHkgY2F1c2UgaW50ZXJydXB0cyBpbiBjYXNlIGludGVycnVwdHMgYXJlIGVuYWJsZWQpOworICAgKiBBRDE4MTVKUy5wZGYgc2F5cyBpdCdzIH4xNm1zIGludGVydmFsIHRoZXJlOiAqLworICAjZGVmaW5lIEdBTUVfQVhFU19MQVRDSF9FTkFCTEUJMHg0MAorICAvKiBqb3lzdGljayBkYXRhIChtZWFzdXJlZCBheGVzKSByZWFkeSBmb3IgcmVhZGluZzogKi8KKyAgI2RlZmluZSBHQU1FX0FYRVNfU0FNUExJTkdfUkVBRFkJMHg4MAorCisgIC8qIE5PVEU6IG90aGVyIGNhcmQgc3BlY3MgKFNpUzk2MCBhbmQgb3RoZXJzISkgc3RhdGUgdGhhdCB0aGUKKyAgICogZ2FtZSBwb3NpdGlvbiBsYXRjaGVzIHNob3VsZCBiZSBmcm96ZW4gd2hlbiByZWFkaW5nIGFuZCBiZSBmcmVlZAorICAgKiAoPT0gcmVzZXQ/KSBhZnRlciByZWFkaW5nISEhCisgICAqIEZyZWV6aW5nIG1vc3QgbGlrZWx5IG1lYW5zIGRpc2FibGluZyAweDQwIChHQU1FX0FYRVNfTEFUQ0hfRU5BQkxFKSwKKyAgICogIGJ1dCBob3cgdG8gZnJlZSB0aGUgdmFsdWU/ICovCisgIC8qIEFuIGludGVybmV0IHNlYXJjaCBmb3IgImdhbWVwb3J0IGxhdGNoIEFEQyIgc2hvdWxkIHByb3ZpZGUgc29tZSBpbnNpZ2h0CisgICAqIGludG8gaG93IHRvIHByb2dyYW0gc3VjaCBhIGdhbWVwb3J0IHN5c3RlbS4gKi8KKworICAvKiB3cml0aW5nIDB4ZjAgdG8gMDFIIG9uY2UgcmVzZXQgYm90aCBjb3VudGVycyB0byAwLCBpbiBzb21lIHNwZWNpYWwgbW9kZSE/CisgICAqIHl1cCwgaW4gY2FzZSA2QUggMHgyMCBpcyBub3QgZW5hYmxlZAorICAgKiAoYW5kIDB4NDAgaXMgc3VmZmljaWVudCwgMHhmMCBpcyBub3QgbmVlZGVkKSAqLworCisjZGVmaW5lIElEWF9HQU1FX0FYSVNfVkFMVUUJMHgwMgorCS8qIFI6IHZhbHVlIG9mIGN1cnJlbnRseSBjb25maWd1cmVkIGF4aXMgKHdvcmQgdmFsdWUhKTsKKwkgKiBXOiB0cmlnZ2VyIGF4aXMgbWVhc3VyZW1lbnQgKi8KKworI2RlZmluZSBJRFhfR0FNRV9IV0NPTkZJRwkweDA0CisJLyogbm90ZTogYml0cyA0IHRvIDcgYXJlIG5ldmVyIHNldCAoPT0gMCkgd2hlbiByZWFkaW5nIQorCSAqIC0tPiByZXNlcnZlZCBiaXRzPyAqLworICAvKiBlbmFibGVzIElSUSBub3RpZmljYXRpb24gdXBvbiBheGVzIG1lYXN1cmVtZW50IHJlYWR5OiAqLworICAjZGVmaW5lIEdBTUVfSFdDRkdfSVJRX0VOQUJMRQkJCTB4MDEKKyAgLyogdGhlc2UgYml0cyBjaG9vc2UgYSBkaWZmZXJlbnQgZnJlcXVlbmN5IGZvciB0aGUKKyAgICogIGludGVybmFsIEFEQyBjb3VudGVyIGluY3JlbWVudC4KKyAgICogaG1tLCBzZWVtcyB0byBiZSBhIGNvbWJvIG9mIGJpdHM6CisgICAqIDAwIC0tPiBzdGFuZGFyZCBmcmVxdWVuY3kKKyAgICogMTAgLS0+IDEvMgorICAgKiAwMSAtLT4gMS8yMAorICAgKiAxMSAtLT4gMS8yMDA6ICovCisgICNkZWZpbmUgR0FNRV9IV0NGR19BRENfQ09VTlRFUl9GUkVRX01BU0sJMHgwNgorCisgIC8qIGVuYWJsZSBnYW1lcG9ydCBsZWdhY3kgSS9PIGFkZHJlc3MgKDB4MjAwKQorICAgKiBJIHdhcyB1bmFibGUgdG8gbG9jYXRlIGFueSBjb25maWd1cmFiaWxpdHkgZm9yIGEgZGlmZmVyZW50IGFkZHJlc3M6ICovCisgICNkZWZpbmUgR0FNRV9IV0NGR19MRUdBQ1lfQUREUkVTU19FTkFCTEUJMHgwOAorCisvKioqIE1QVTQwMSAqKiovCiAjZGVmaW5lIEFaRl9JT19TSVpFX01QVQkJMHgwNAogI2RlZmluZSBBWkZfSU9fU0laRV9NUFVfUE0JMHgwNAogCi0jZGVmaW5lIEFaRl9JT19TSVpFX1NZTlRICTB4MDgKLSNkZWZpbmUgQVpGX0lPX1NJWkVfU1lOVEhfUE0JMHgwNgorLyoqKiBPUEwzIHN5bnRoICoqKi8KKyNkZWZpbmUgQVpGX0lPX1NJWkVfT1BMMwkweDA4CisjZGVmaW5lIEFaRl9JT19TSVpFX09QTDNfUE0JMHgwNgorLyogaG1tLCBnaXZlbiB0aGF0IGEgc3RhbmRhcmQgT1BMMyBoYXMgNCByZWdpc3RlcnMgb25seSwKKyAqIHRoZXJlIG1pZ2h0IGJlIHNvbWUgZW5oYW5jZWQgZnVuY3Rpb25hbGl0eSBsdXJraW5nIGF0IHRoZSBlbmQKKyAqIChlc3BlY2lhbGx5IHNpbmNlIHJlZ2lzdGVyIDB4MDQgaGFzIGEgIm5vbi1lbXB0eSIgdmFsdWUgMHhmZSkgKi8KIAogLyoqKiBtaXhlciBJL08gYXJlYSBwb3J0IGluZGljZXMgKioqLwogLyogKG9ubHkgMHgyMiBvZiAweDQwIGJ5dGVzIHNhdmVkL3Jlc3RvcmVkIGJ5IFdpbmRvd3MgZHJpdmVyKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jIGIvc291bmQvcGNpL2NhMDEwNi9jYTAxMDZfbWFpbi5jCmluZGV4IGVjYmU3OWIuLjJmOGIyOGEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9jYTAxMDYvY2EwMTA2X21haW4uYworKysgYi9zb3VuZC9wY2kvY2EwMTA2L2NhMDEwNl9tYWluLmMKQEAgLTI0OSw2ICsyNDksMTEgQEAKIAkgICAubmFtZSAgID0gIk1TSSBLOE4gRGlhbW9uZCBNQiBbU0IwNDM4XSIsCiAJICAgLmdwaW9fdHlwZSA9IDIsCiAJICAgLmkyY19hZGMgPSAxIH0gLAorCSAvKiBBbm90aGVyIE1TSSBLOE4gRGlhbW9uZCBNQiwgd2hpY2ggaGFzIGFwcHJlbnRseSBhIGRpZmZlcmVudCBTU0lEICovCisJIHsgLnNlcmlhbCA9IDB4MTAwOTExMDIsCisJICAgLm5hbWUgICA9ICJNU0kgSzhOIERpYW1vbmQgTUIiLAorCSAgIC5ncGlvX3R5cGUgPSAyLAorCSAgIC5pMmNfYWRjID0gMSB9ICwKIAkgLyogU2h1dHRsZSBYUEMgU0QzMVAgd2hpY2ggaGFzIGFuIG9uYm9hcmQgQ3JlYXRpdmUgTGFicwogCSAgKiBTb3VuZCBCbGFzdGVyIExpdmUhIDI0LWJpdCBFQVgKIAkgICogaGlnaC1kZWZpbml0aW9uIDcuMSBhdWRpbyBwcm9jZXNzb3IiLgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2VtdTEwazEvZW11MTBrMV9tYWluLmMgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYwppbmRleCA1NDhjOWNjLi4yZjI4M2VhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYworKysgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXUxMGsxX21haW4uYwpAQCAtMTUyOCw2ICsxNTI4LDcgQEAKIAkgLmNhMDE1MV9jaGlwID0gMSwKIAkgLnNwazcxID0gMSwKIAkgLnNwZGlmX2J1ZyA9IDEsCisJIC5pbnZlcnRfc2hhcmVkX3NwZGlmID0gMSwJLyogZGlnaXRhbC9hbmFsb2cgc3dpdGNoIHN3YXBwZWQgKi8KIAkgLmFkY18xMzYxdCA9IDEsICAvKiAyNCBiaXQgY2FwdHVyZSBpbnN0ZWFkIG9mIDE2Yml0LiBGaXhlcyBBTFNBIGJ1ZyMzMjQgKi8KIAkgLmFjOTdfY2hpcCA9IDF9ICwKIAl7LnZlbmRvciA9IDB4MTEwMiwgLmRldmljZSA9IDB4MDAwNCwgLnJldmlzaW9uID0gMHgwNCwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMgYi9zb3VuZC9wY2kvZW11MTBrMS9lbXVtaXhlci5jCmluZGV4IGZkMjIxMjAuLmYzNGJiZmIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9lbXUxMGsxL2VtdW1peGVyLmMKKysrIGIvc291bmQvcGNpL2VtdTEwazEvZW11bWl4ZXIuYwpAQCAtMTU3OCw2ICsxNTc4LDEwIEBACiAJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gaW5sKGVtdS0+cG9ydCArIEFfSU9DRkcpICYgQV9JT0NGR19HUE9VVDAgPyAxIDogMDsKIAllbHNlCiAJCXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdID0gaW5sKGVtdS0+cG9ydCArIEhDRkcpICYgSENGR19HUE9VVDAgPyAxIDogMDsKKwlpZiAoZW11LT5jYXJkX2NhcGFiaWxpdGllcy0+aW52ZXJ0X3NoYXJlZF9zcGRpZikKKwkJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPQorCQkJIXVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOworCQkKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTU4NiwxNSArMTU5MCwxOCBAQAogewogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJc3RydWN0IHNuZF9lbXUxMGsxICplbXUgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7Ci0JdW5zaWduZWQgaW50IHJlZywgdmFsOworCXVuc2lnbmVkIGludCByZWcsIHZhbCwgc3c7CiAJaW50IGNoYW5nZSA9IDA7CiAKKwlzdyA9IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdOworCWlmIChlbXUtPmNhcmRfY2FwYWJpbGl0aWVzLT5pbnZlcnRfc2hhcmVkX3NwZGlmKQorCQlzdyA9ICFzdzsKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZW11LT5yZWdfbG9jaywgZmxhZ3MpOwogCWlmICggZW11LT5jYXJkX2NhcGFiaWxpdGllcy0+aTJjX2FkYykgewogCQkvKiBEbyBub3RoaW5nIGZvciBBdWRpZ3kgMiBaUyBOb3RlYm9vayAqLwogCX0gZWxzZSBpZiAoZW11LT5hdWRpZ3kpIHsKIAkJcmVnID0gaW5sKGVtdS0+cG9ydCArIEFfSU9DRkcpOwotCQl2YWwgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA/IEFfSU9DRkdfR1BPVVQwIDogMDsKKwkJdmFsID0gc3cgPyBBX0lPQ0ZHX0dQT1VUMCA6IDA7CiAJCWNoYW5nZSA9IChyZWcgJiBBX0lPQ0ZHX0dQT1VUMCkgIT0gdmFsOwogCQlpZiAoY2hhbmdlKSB7CiAJCQlyZWcgJj0gfkFfSU9DRkdfR1BPVVQwOwpAQCAtMTYwMyw3ICsxNjEwLDcgQEAKIAkJfQogCX0KIAlyZWcgPSBpbmwoZW11LT5wb3J0ICsgSENGRyk7Ci0JdmFsID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPyBIQ0ZHX0dQT1VUMCA6IDA7CisJdmFsID0gc3cgPyBIQ0ZHX0dQT1VUMCA6IDA7CiAJY2hhbmdlIHw9IChyZWcgJiBIQ0ZHX0dQT1VUMCkgIT0gdmFsOwogCWlmIChjaGFuZ2UpIHsKIAkJcmVnICY9IH5IQ0ZHX0dQT1VUMDsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9lbXUxMGsxL21lbW9yeS5jIGIvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMKaW5kZXggOTE2YzFkYi4uN2QzNzlmNSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMKKysrIGIvc291bmQvcGNpL2VtdTEwazEvbWVtb3J5LmMKQEAgLTQzNyw0MyArNDM3LDQ5IEBACiAJKmxhc3RfcGFnZV9yZXQgPSBsYXN0X3BhZ2U7CiB9CiAKKy8qIHJlbGVhc2UgYWxsb2NhdGVkIHBhZ2VzICovCitzdGF0aWMgdm9pZCBfX3N5bnRoX2ZyZWVfcGFnZXMoc3RydWN0IHNuZF9lbXUxMGsxICplbXUsIGludCBmaXJzdF9wYWdlLAorCQkJICAgICAgIGludCBsYXN0X3BhZ2UpCit7CisJaW50IHBhZ2U7CisKKwlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7CisJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZyllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdKTsKKwkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSAwOworCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gTlVMTDsKKwl9Cit9CisKIC8qCiAgKiBhbGxvY2F0ZSBrZXJuZWwgcGFnZXMKICAqLwogc3RhdGljIGludCBzeW50aF9hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX2VtdTEwazEgKmVtdSwgc3RydWN0IHNuZF9lbXUxMGsxX21lbWJsayAqYmxrKQogewogCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0Jc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7CiAKIAllbXUxMGsxX21lbWJsa19pbml0KGJsayk7CiAJZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKGVtdS0+bWVtaGRyLCBibGssICZmaXJzdF9wYWdlLCAmbGFzdF9wYWdlKTsKIAkvKiBhbGxvY2F0ZSBrZXJuZWwgcGFnZXMgKi8KIAlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWlmIChzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBFX0RFViwgc25kX2RtYV9wY2lfZGF0YShlbXUtPnBjaSksCi0JCQkJCVBBR0VfU0laRSwgJmRtYWIpIDwgMCkKLQkJCWdvdG8gX19mYWlsOwotCQlpZiAoISBpc192YWxpZF9wYWdlKGVtdSwgZG1hYi5hZGRyKSkgewotCQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJCWdvdG8gX19mYWlsOworCQkvKiBmaXJzdCB0cnkgdG8gYWxsb2NhdGUgZnJvbSA8NEdCIHpvbmUgKi8KKwkJc3RydWN0IHBhZ2UgKnAgPSBhbGxvY19wYWdlKEdGUF9LRVJORUwgfCBHRlBfRE1BMzIgfAorCQkJCQkgICAgX19HRlBfTk9XQVJOKTsKKwkJaWYgKCFwIHx8IChwYWdlX3RvX3BmbihwKSAmIH4oZW11LT5kbWFfbWFzayA+PiBQQUdFX1NISUZUKSkpIHsKKwkJCWlmIChwKQorCQkJCV9fZnJlZV9wYWdlKHApOworCQkJLyogdHJ5IHRvIGFsbG9jYXRlIGZyb20gPDE2TUIgem9uZSAqLworCQkJcCA9IGFsbG9jX3BhZ2UoR0ZQX0FUT01JQyB8IEdGUF9ETUEgfAorCQkJCSAgICAgICBfX0dGUF9OT1JFVFJZIHwgLyogbm8gT09NLWtpbGxlciAqLworCQkJCSAgICAgICBfX0dGUF9OT1dBUk4pOwogCQl9Ci0JCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gZG1hYi5hZGRyOwotCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gZG1hYi5hcmVhOworCQlpZiAoIXApIHsKKwkJCV9fc3ludGhfZnJlZV9wYWdlcyhlbXUsIGZpcnN0X3BhZ2UsIHBhZ2UgLSAxKTsKKwkJCXJldHVybiAtRU5PTUVNOworCQl9CisJCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gcGFnZV90b19waHlzKHApOworCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gcGFnZV9hZGRyZXNzKHApOwogCX0KIAlyZXR1cm4gMDsKLQotX19mYWlsOgotCS8qIHJlbGVhc2UgYWxsb2NhdGVkIHBhZ2VzICovCi0JbGFzdF9wYWdlID0gcGFnZSAtIDE7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykgewotCQlkbWFiLmFyZWEgPSBlbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdOwotCQlkbWFiLmFkZHIgPSBlbXUtPnBhZ2VfYWRkcl90YWJsZVtwYWdlXTsKLQkJZG1hYi5ieXRlcyA9IFBBR0VfU0laRTsKLQkJc25kX2RtYV9mcmVlX3BhZ2VzKCZkbWFiKTsKLQkJZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV0gPSAwOwotCQllbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID0gTlVMTDsKLQl9Ci0KLQlyZXR1cm4gLUVOT01FTTsKIH0KIAogLyoKQEAgLTQ4MSwyMyArNDg3LDEwIEBACiAgKi8KIHN0YXRpYyBpbnQgc3ludGhfZnJlZV9wYWdlcyhzdHJ1Y3Qgc25kX2VtdTEwazEgKmVtdSwgc3RydWN0IHNuZF9lbXUxMGsxX21lbWJsayAqYmxrKQogewotCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0Jc3RydWN0IHNuZF9kbWFfYnVmZmVyIGRtYWI7CisJaW50IGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKIAogCWdldF9zaW5nbGVfcGFnZV9yYW5nZShlbXUtPm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7Ci0JZG1hYi5kZXYudHlwZSA9IFNORFJWX0RNQV9UWVBFX0RFVjsKLQlkbWFiLmRldi5kZXYgPSBzbmRfZG1hX3BjaV9kYXRhKGVtdS0+cGNpKTsKLQlmb3IgKHBhZ2UgPSBmaXJzdF9wYWdlOyBwYWdlIDw9IGxhc3RfcGFnZTsgcGFnZSsrKSB7Ci0JCWlmIChlbXUtPnBhZ2VfcHRyX3RhYmxlW3BhZ2VdID09IE5VTEwpCi0JCQljb250aW51ZTsKLQkJZG1hYi5hcmVhID0gZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXTsKLQkJZG1hYi5hZGRyID0gZW11LT5wYWdlX2FkZHJfdGFibGVbcGFnZV07Ci0JCWRtYWIuYnl0ZXMgPSBQQUdFX1NJWkU7Ci0JCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JCWVtdS0+cGFnZV9hZGRyX3RhYmxlW3BhZ2VdID0gMDsKLQkJZW11LT5wYWdlX3B0cl90YWJsZVtwYWdlXSA9IE5VTEw7Ci0JfQotCisJX19zeW50aF9mcmVlX3BhZ2VzKGVtdSwgZmlyc3RfcGFnZSwgbGFzdF9wYWdlKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmMKaW5kZXggYTZiZTZlMy4uZDJlMTA5MyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuYworKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5jCkBAIC0yMzM1LDcgKzIzMzUsNyBAQAogCWlmICghdGJsKQogCQlyZXR1cm4gLTE7CiAJaWYgKHRibC0+dmFsdWUgPj0gMCAmJiB0YmwtPnZhbHVlIDwgbnVtX2NvbmZpZ3MpIHsKLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCQljaGFyIHRtcFsxMF07CiAJCWNvbnN0IGNoYXIgKm1vZGVsID0gTlVMTDsKIAkJaWYgKG1vZGVscykKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmggYi9zb3VuZC9wY2kvaGRhL2hkYV9jb2RlYy5oCmluZGV4IGRjZDM5MGIuLmVmYzY4MjggMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2NvZGVjLmgKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfY29kZWMuaApAQCAtNzgsNyArNzgsNyBAQAogI2RlZmluZSBBQ19WRVJCX0dFVF9CRUVQX0NPTlRST0wJCTB4MGYwYQogI2RlZmluZSBBQ19WRVJCX0dFVF9FQVBEX0JUTEVOQUJMRQkJMHgwZjBjCiAjZGVmaW5lIEFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8xCQkweDBmMGQKLSNkZWZpbmUgQUNfVkVSQl9HRVRfRElHSV9DT05WRVJUXzIJCTB4MGYwZQorI2RlZmluZSBBQ19WRVJCX0dFVF9ESUdJX0NPTlZFUlRfMgkJMHgwZjBlIC8qIHVudXNlZCAqLwogI2RlZmluZSBBQ19WRVJCX0dFVF9WT0xVTUVfS05PQl9DT05UUk9MCQkweDBmMGYKIC8qIGYxMC1mMWE6IEdQSU8gKi8KICNkZWZpbmUgQUNfVkVSQl9HRVRfR1BJT19EQVRBCQkJMHgwZjE1CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jIGIvc291bmQvcGNpL2hkYS9oZGFfaHdkZXAuYwppbmRleCAyMTc3ZDlhLi42ZTE4YTQyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9od2RlcC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvaGRhX2h3ZGVwLmMKQEAgLTg4LDcgKzg4LDcgQEAKIAogc3RhdGljIGludCBoZGFfaHdkZXBfb3BlbihzdHJ1Y3Qgc25kX2h3ZGVwICpodywgc3RydWN0IGZpbGUgKmZpbGUpCiB7Ci0jaWZuZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZuZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCWlmICghY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMgYi9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jCmluZGV4IGIzYTYxOGUuLjE2NzE1YTYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvaGRhX2ludGVsLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYwpAQCAtNTUsNiArNTUsNyBAQAogc3RhdGljIGludCBlbmFibGVbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9FTkFCTEVfUE5QOwogc3RhdGljIGNoYXIgKm1vZGVsW1NORFJWX0NBUkRTXTsKIHN0YXRpYyBpbnQgcG9zaXRpb25fZml4W1NORFJWX0NBUkRTXTsKK3N0YXRpYyBpbnQgYmRsX3Bvc19hZGpbU05EUlZfQ0FSRFNdID0ge1swIC4uLiAoU05EUlZfQ0FSRFMtMSldID0gLTF9Owogc3RhdGljIGludCBwcm9iZV9tYXNrW1NORFJWX0NBUkRTXSA9IHtbMCAuLi4gKFNORFJWX0NBUkRTLTEpXSA9IC0xfTsKIHN0YXRpYyBpbnQgc2luZ2xlX2NtZDsKIHN0YXRpYyBpbnQgZW5hYmxlX21zaTsKQEAgLTY5LDcgKzcwLDkgQEAKIE1PRFVMRV9QQVJNX0RFU0MobW9kZWwsICJVc2UgdGhlIGdpdmVuIGJvYXJkIG1vZGVsLiIpOwogbW9kdWxlX3BhcmFtX2FycmF5KHBvc2l0aW9uX2ZpeCwgaW50LCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MocG9zaXRpb25fZml4LCAiRml4IERNQSBwb2ludGVyICIKLQkJICIoMCA9IGF1dG8sIDEgPSBub25lLCAyID0gUE9TQlVGLCAzID0gRklGTyBzaXplKS4iKTsKKwkJICIoMCA9IGF1dG8sIDEgPSBub25lLCAyID0gUE9TQlVGKS4iKTsKK21vZHVsZV9wYXJhbV9hcnJheShiZGxfcG9zX2FkaiwgaW50LCBOVUxMLCAwNjQ0KTsKK01PRFVMRV9QQVJNX0RFU0MoYmRsX3Bvc19hZGosICJCREwgcG9zaXRpb24gYWRqdXN0bWVudCBvZmZzZXQuIik7CiBtb2R1bGVfcGFyYW1fYXJyYXkocHJvYmVfbWFzaywgaW50LCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MocHJvYmVfbWFzaywgIkJpdG1hc2sgdG8gcHJvYmUgY29kZWNzIChkZWZhdWx0ID0gLTEpLiIpOwogbW9kdWxlX3BhcmFtKHNpbmdsZV9jbWQsIGJvb2wsIDA0NDQpOwpAQCAtMTk3LDYgKzIwMCwxMCBAQAogI2RlZmluZSBBVElIRE1JX05VTV9DQVBUVVJFCTAKICNkZWZpbmUgQVRJSERNSV9OVU1fUExBWUJBQ0sJMQogCisvKiBURVJBIGhhcyA0IHBsYXliYWNrIGFuZCAzIGNhcHR1cmUgKi8KKyNkZWZpbmUgVEVSQV9OVU1fQ0FQVFVSRQkzCisjZGVmaW5lIFRFUkFfTlVNX1BMQVlCQUNLCTQKKwogLyogdGhpcyBudW1iZXIgaXMgc3RhdGljYWxseSBkZWZpbmVkIGZvciBzaW1wbGljaXR5ICovCiAjZGVmaW5lIE1BWF9BWlhfREVWCQkxNgogCkBAIC0yNTksOSArMjY2LDggQEAKIC8qIHBvc2l0aW9uIGZpeCBtb2RlICovCiBlbnVtIHsKIAlQT1NfRklYX0FVVE8sCi0JUE9TX0ZJWF9OT05FLAorCVBPU19GSVhfTFBJQiwKIAlQT1NfRklYX1BPU0JVRiwKLQlQT1NfRklYX0ZJRk8sCiB9OwogCiAvKiBEZWZpbmVzIGZvciBBVEkgSEQgQXVkaW8gc3VwcG9ydCBpbiBTQjQ1MCBzb3V0aCBicmlkZ2UgKi8KQEAgLTI4NSw2ICsyOTEsNyBAQAogCXUzMiAqcG9zYnVmOwkJLyogcG9zaXRpb24gYnVmZmVyIHBvaW50ZXIgKi8KIAogCXVuc2lnbmVkIGludCBidWZzaXplOwkvKiBzaXplIG9mIHRoZSBwbGF5IGJ1ZmZlciBpbiBieXRlcyAqLworCXVuc2lnbmVkIGludCBwZXJpb2RfYnl0ZXM7IC8qIHNpemUgb2YgdGhlIHBlcmlvZCBpbiBieXRlcyAqLwogCXVuc2lnbmVkIGludCBmcmFnczsJLyogbnVtYmVyIGZvciBwZXJpb2QgaW4gdGhlIHBsYXkgYnVmZmVyICovCiAJdW5zaWduZWQgaW50IGZpZm9fc2l6ZTsJLyogRklGTyBzaXplICovCiAKQEAgLTMwMSwxMSArMzA4LDExIEBACiAJCQkJCSAqLwogCXVuc2lnbmVkIGNoYXIgc3RyZWFtX3RhZzsJLyogYXNzaWduZWQgc3RyZWFtICovCiAJdW5zaWduZWQgY2hhciBpbmRleDsJCS8qIHN0cmVhbSBpbmRleCAqLwotCS8qIGZvciBzYW5pdHkgY2hlY2sgb2YgcG9zaXRpb24gYnVmZmVyICovCi0JdW5zaWduZWQgaW50IHBlcmlvZF9pbnRyOwogCiAJdW5zaWduZWQgaW50IG9wZW5lZCA6MTsKIAl1bnNpZ25lZCBpbnQgcnVubmluZyA6MTsKKwl1bnNpZ25lZCBpbnQgaXJxX3BlbmRpbmcgOjE7CisJdW5zaWduZWQgaW50IGlycV9pZ25vcmUgOjE7CiB9OwogCiAvKiBDT1JCL1JJUkIgKi8KQEAgLTMyMyw2ICszMzAsNyBAQAogc3RydWN0IGF6eCB7CiAJc3RydWN0IHNuZF9jYXJkICpjYXJkOwogCXN0cnVjdCBwY2lfZGV2ICpwY2k7CisJaW50IGRldl9pbmRleDsKIAogCS8qIGNoaXAgdHlwZSBzcGVjaWZpYyAqLwogCWludCBkcml2ZXJfdHlwZTsKQEAgLTM2Niw5ICszNzQsMTMgQEAKIAl1bnNpZ25lZCBpbnQgc2luZ2xlX2NtZCA6MTsKIAl1bnNpZ25lZCBpbnQgcG9sbGluZ19tb2RlIDoxOwogCXVuc2lnbmVkIGludCBtc2kgOjE7CisJdW5zaWduZWQgaW50IGlycV9wZW5kaW5nX3dhcm5lZCA6MTsKIAogCS8qIGZvciBkZWJ1Z2dpbmcgKi8KIAl1bnNpZ25lZCBpbnQgbGFzdF9jbWQ7CS8qIGxhc3QgaXNzdWVkIGNvbW1hbmQgKHRvIHN5bmMpICovCisKKwkvKiBmb3IgcGVuZGluZyBpcnFzICovCisJc3RydWN0IHdvcmtfc3RydWN0IGlycV9wZW5kaW5nX3dvcms7CiB9OwogCiAvKiBkcml2ZXIgdHlwZXMgKi8KQEAgLTM4MSw2ICszOTMsNyBAQAogCUFaWF9EUklWRVJfU0lTLAogCUFaWF9EUklWRVJfVUxJLAogCUFaWF9EUklWRVJfTlZJRElBLAorCUFaWF9EUklWRVJfVEVSQSwKIH07CiAKIHN0YXRpYyBjaGFyICpkcml2ZXJfc2hvcnRfbmFtZXNbXSBfX2RldmluaXRkYXRhID0gewpAQCAtMzkyLDYgKzQwNSw3IEBACiAJW0FaWF9EUklWRVJfU0lTXSA9ICJIREEgU0lTOTY2IiwKIAlbQVpYX0RSSVZFUl9VTEldID0gIkhEQSBVTEkgTTU0NjEiLAogCVtBWlhfRFJJVkVSX05WSURJQV0gPSAiSERBIE5WaWRpYSIsCisJW0FaWF9EUklWRVJfVEVSQV0gPSAiSERBIFRlcmFkaWNpIiwgCiB9OwogCiAvKgpAQCAtNDI2LDExICs0NDAsNiBAQAogLyogZm9yIHBjbSBzdXBwb3J0ICovCiAjZGVmaW5lIGdldF9henhfZGV2KHN1YnN0cmVhbSkgKHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhKQogCi0vKiBHZXQgdGhlIHVwcGVyIDMyYml0IG9mIHRoZSBnaXZlbiBkbWFfYWRkcl90Ci0gKiBDb21waWxlciBzaG91bGQgb3B0aW1pemUgYW5kIGVsaW1pbmF0ZSB0aGUgY29kZSBpZiBkbWFfYWRkcl90IGlzIDMyYml0Ci0gKi8KLSNkZWZpbmUgdXBwZXJfMzJiaXQoYWRkcikgKHNpemVvZihhZGRyKSA+IDQgPyAodTMyKSgoYWRkcikgPj4gMzIpIDogKHUzMikwKQotCiBzdGF0aWMgaW50IGF6eF9hY3F1aXJlX2lycShzdHJ1Y3QgYXp4ICpjaGlwLCBpbnQgZG9fZGlzY29ubmVjdCk7CiAKIC8qCkBAIC00NjEsNyArNDcwLDcgQEAKIAljaGlwLT5jb3JiLmFkZHIgPSBjaGlwLT5yYi5hZGRyOwogCWNoaXAtPmNvcmIuYnVmID0gKHUzMiAqKWNoaXAtPnJiLmFyZWE7CiAJYXp4X3dyaXRlbChjaGlwLCBDT1JCTEJBU0UsICh1MzIpY2hpcC0+Y29yYi5hZGRyKTsKLQlhenhfd3JpdGVsKGNoaXAsIENPUkJVQkFTRSwgdXBwZXJfMzJiaXQoY2hpcC0+Y29yYi5hZGRyKSk7CisJYXp4X3dyaXRlbChjaGlwLCBDT1JCVUJBU0UsIHVwcGVyXzMyX2JpdHMoY2hpcC0+Y29yYi5hZGRyKSk7CiAKIAkvKiBzZXQgdGhlIGNvcmIgc2l6ZSB0byAyNTYgZW50cmllcyAoVUxJIHJlcXVpcmVzIGV4cGxpY2l0bHkpICovCiAJYXp4X3dyaXRlYihjaGlwLCBDT1JCU0laRSwgMHgwMik7CkBAIC00NzYsNyArNDg1LDcgQEAKIAljaGlwLT5yaXJiLmFkZHIgPSBjaGlwLT5yYi5hZGRyICsgMjA0ODsKIAljaGlwLT5yaXJiLmJ1ZiA9ICh1MzIgKikoY2hpcC0+cmIuYXJlYSArIDIwNDgpOwogCWF6eF93cml0ZWwoY2hpcCwgUklSQkxCQVNFLCAodTMyKWNoaXAtPnJpcmIuYWRkcik7Ci0JYXp4X3dyaXRlbChjaGlwLCBSSVJCVUJBU0UsIHVwcGVyXzMyYml0KGNoaXAtPnJpcmIuYWRkcikpOworCWF6eF93cml0ZWwoY2hpcCwgUklSQlVCQVNFLCB1cHBlcl8zMl9iaXRzKGNoaXAtPnJpcmIuYWRkcikpOwogCiAJLyogc2V0IHRoZSByaXJiIHNpemUgdG8gMjU2IGVudHJpZXMgKFVMSSByZXF1aXJlcyBleHBsaWNpdGx5KSAqLwogCWF6eF93cml0ZWIoY2hpcCwgUklSQlNJWkUsIDB4MDIpOwpAQCAtODQ3LDcgKzg1Niw3IEBACiAKIAkvKiBwcm9ncmFtIHRoZSBwb3NpdGlvbiBidWZmZXIgKi8KIAlhenhfd3JpdGVsKGNoaXAsIERQTEJBU0UsICh1MzIpY2hpcC0+cG9zYnVmLmFkZHIpOwotCWF6eF93cml0ZWwoY2hpcCwgRFBVQkFTRSwgdXBwZXJfMzJiaXQoY2hpcC0+cG9zYnVmLmFkZHIpKTsKKwlhenhfd3JpdGVsKGNoaXAsIERQVUJBU0UsIHVwcGVyXzMyX2JpdHMoY2hpcC0+cG9zYnVmLmFkZHIpKTsKIAogCWNoaXAtPmluaXRpYWxpemVkID0gMTsKIH0KQEAgLTkwOCw2ICs5MTcsOCBAQAogfQogCiAKK3N0YXRpYyBpbnQgYXp4X3Bvc2l0aW9uX29rKHN0cnVjdCBhenggKmNoaXAsIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KTsKKwogLyoKICAqIGludGVycnVwdCBoYW5kbGVyCiAgKi8KQEAgLTkzMCwxMSArOTQxLDIzIEBACiAJCWF6eF9kZXYgPSAmY2hpcC0+YXp4X2RldltpXTsKIAkJaWYgKHN0YXR1cyAmIGF6eF9kZXYtPnNkX2ludF9zdGFfbWFzaykgewogCQkJYXp4X3NkX3dyaXRlYihhenhfZGV2LCBTRF9TVFMsIFNEX0lOVF9NQVNLKTsKLQkJCWlmIChhenhfZGV2LT5zdWJzdHJlYW0gJiYgYXp4X2Rldi0+cnVubmluZykgewotCQkJCWF6eF9kZXYtPnBlcmlvZF9pbnRyKys7CisJCQlpZiAoIWF6eF9kZXYtPnN1YnN0cmVhbSB8fCAhYXp4X2Rldi0+cnVubmluZykKKwkJCQljb250aW51ZTsKKwkJCS8qIGlnbm9yZSB0aGUgZmlyc3QgZHVtbXkgSVJRIChkdWUgdG8gcG9zX2FkaikgKi8KKwkJCWlmIChhenhfZGV2LT5pcnFfaWdub3JlKSB7CisJCQkJYXp4X2Rldi0+aXJxX2lnbm9yZSA9IDA7CisJCQkJY29udGludWU7CisJCQl9CisJCQkvKiBjaGVjayB3aGV0aGVyIHRoaXMgSVJRIGlzIHJlYWxseSBhY2NlcHRhYmxlICovCisJCQlpZiAoYXp4X3Bvc2l0aW9uX29rKGNoaXAsIGF6eF9kZXYpKSB7CisJCQkJYXp4X2Rldi0+aXJxX3BlbmRpbmcgPSAwOwogCQkJCXNwaW5fdW5sb2NrKCZjaGlwLT5yZWdfbG9jayk7CiAJCQkJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChhenhfZGV2LT5zdWJzdHJlYW0pOwogCQkJCXNwaW5fbG9jaygmY2hpcC0+cmVnX2xvY2spOworCQkJfSBlbHNlIHsKKwkJCQkvKiBib2d1cyBJUlEsIHByb2Nlc3MgaXQgbGF0ZXIgKi8KKwkJCQlhenhfZGV2LT5pcnFfcGVuZGluZyA9IDE7CisJCQkJc2NoZWR1bGVfd29yaygmY2hpcC0+aXJxX3BlbmRpbmdfd29yayk7CiAJCQl9CiAJCX0KIAl9CkBAIC05NTksNTkgKzk4MiwxMDcgQEAKIAogCiAvKgotICogc2V0IHVwIEJETCBlbnRyaWVzCisgKiBzZXQgdXAgYSBCREwgZW50cnkKICAqLwotc3RhdGljIGludCBhenhfc2V0dXBfcGVyaW9kcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKLQkJCSAgICAgc3RydWN0IGF6eF9kZXYgKmF6eF9kZXYpCitzdGF0aWMgaW50IHNldHVwX2JkbGUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCSAgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2LCB1MzIgKipiZGxwLAorCQkgICAgICBpbnQgb2ZzLCBpbnQgc2l6ZSwgaW50IHdpdGhfaW9jKQogewogCXN0cnVjdCBzbmRfc2dfYnVmICpzZ2J1ZiA9IHNuZF9wY21fc3Vic3RyZWFtX3NnYnVmKHN1YnN0cmVhbSk7CisJdTMyICpiZGwgPSAqYmRscDsKKworCXdoaWxlIChzaXplID4gMCkgeworCQlkbWFfYWRkcl90IGFkZHI7CisJCWludCBjaHVuazsKKworCQlpZiAoYXp4X2Rldi0+ZnJhZ3MgPj0gQVpYX01BWF9CRExfRU5UUklFUykKKwkJCXJldHVybiAtRUlOVkFMOworCisJCWFkZHIgPSBzbmRfcGNtX3NnYnVmX2dldF9hZGRyKHNnYnVmLCBvZnMpOworCQkvKiBwcm9ncmFtIHRoZSBhZGRyZXNzIGZpZWxkIG9mIHRoZSBCREwgZW50cnkgKi8KKwkJYmRsWzBdID0gY3B1X3RvX2xlMzIoKHUzMilhZGRyKTsKKwkJYmRsWzFdID0gY3B1X3RvX2xlMzIodXBwZXJfMzJfYml0cyhhZGRyKSk7CisJCS8qIHByb2dyYW0gdGhlIHNpemUgZmllbGQgb2YgdGhlIEJETCBlbnRyeSAqLworCQljaHVuayA9IFBBR0VfU0laRSAtIChvZnMgJSBQQUdFX1NJWkUpOworCQlpZiAoc2l6ZSA8IGNodW5rKQorCQkJY2h1bmsgPSBzaXplOworCQliZGxbMl0gPSBjcHVfdG9fbGUzMihjaHVuayk7CisJCS8qIHByb2dyYW0gdGhlIElPQyB0byBlbmFibGUgaW50ZXJydXB0CisJCSAqIG9ubHkgd2hlbiB0aGUgd2hvbGUgZnJhZ21lbnQgaXMgcHJvY2Vzc2VkCisJCSAqLworCQlzaXplIC09IGNodW5rOworCQliZGxbM10gPSAoc2l6ZSB8fCAhd2l0aF9pb2MpID8gMCA6IGNwdV90b19sZTMyKDB4MDEpOworCQliZGwgKz0gNDsKKwkJYXp4X2Rldi0+ZnJhZ3MrKzsKKwkJb2ZzICs9IGNodW5rOworCX0KKwkqYmRscCA9IGJkbDsKKwlyZXR1cm4gb2ZzOworfQorCisvKgorICogc2V0IHVwIEJETCBlbnRyaWVzCisgKi8KK3N0YXRpYyBpbnQgYXp4X3NldHVwX3BlcmlvZHMoc3RydWN0IGF6eCAqY2hpcCwKKwkJCSAgICAgc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgICAgIHN0cnVjdCBhenhfZGV2ICphenhfZGV2KQorewogCXUzMiAqYmRsOwogCWludCBpLCBvZnMsIHBlcmlvZHMsIHBlcmlvZF9ieXRlczsKKwlpbnQgcG9zX2FkajsKIAogCS8qIHJlc2V0IEJETCBhZGRyZXNzICovCiAJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQTCwgMCk7CiAJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgMCk7CiAKIAlwZXJpb2RfYnl0ZXMgPSBzbmRfcGNtX2xpYl9wZXJpb2RfYnl0ZXMoc3Vic3RyZWFtKTsKKwlhenhfZGV2LT5wZXJpb2RfYnl0ZXMgPSBwZXJpb2RfYnl0ZXM7CiAJcGVyaW9kcyA9IGF6eF9kZXYtPmJ1ZnNpemUgLyBwZXJpb2RfYnl0ZXM7CiAKIAkvKiBwcm9ncmFtIHRoZSBpbml0aWFsIEJETCBlbnRyaWVzICovCiAJYmRsID0gKHUzMiAqKWF6eF9kZXYtPmJkbC5hcmVhOwogCW9mcyA9IDA7CiAJYXp4X2Rldi0+ZnJhZ3MgPSAwOwotCWZvciAoaSA9IDA7IGkgPCBwZXJpb2RzOyBpKyspIHsKLQkJaW50IHNpemUsIHJlc3Q7Ci0JCWlmIChpID49IEFaWF9NQVhfQkRMX0VOVFJJRVMpIHsKLQkJCXNuZF9wcmludGsoS0VSTl9FUlIgIlRvbyBtYW55IEJETCBlbnRyaWVzOiAiCi0JCQkJICAgImJ1ZmZlcj0lZCwgcGVyaW9kPSVkXG4iLAotCQkJCSAgIGF6eF9kZXYtPmJ1ZnNpemUsIHBlcmlvZF9ieXRlcyk7Ci0JCQkvKiByZXNldCAqLwotCQkJYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQTCwgMCk7Ci0JCQlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCAwKTsKLQkJCXJldHVybiAtRUlOVkFMOworCWF6eF9kZXYtPmlycV9pZ25vcmUgPSAwOworCXBvc19hZGogPSBiZGxfcG9zX2FkaltjaGlwLT5kZXZfaW5kZXhdOworCWlmIChwb3NfYWRqID4gMCkgeworCQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCQlwb3NfYWRqID0gKHBvc19hZGogKiBydW50aW1lLT5yYXRlICsgNDc5OTkpIC8gNDgwMDA7CisJCWlmICghcG9zX2FkaikKKwkJCXBvc19hZGogPSAxOworCQlwb3NfYWRqID0gZnJhbWVzX3RvX2J5dGVzKHJ1bnRpbWUsIHBvc19hZGopOworCQlpZiAocG9zX2FkaiA+PSBwZXJpb2RfYnl0ZXMpIHsKKwkJCXNuZF9wcmludGsoS0VSTl9XQVJOSU5HICJUb28gYmlnIGFkanVzdG1lbnQgJWRcbiIsCisJCQkJICAgYmRsX3Bvc19hZGpbY2hpcC0+ZGV2X2luZGV4XSk7CisJCQlwb3NfYWRqID0gMDsKKwkJfSBlbHNlIHsKKwkJCW9mcyA9IHNldHVwX2JkbGUoc3Vic3RyZWFtLCBhenhfZGV2LAorCQkJCQkgJmJkbCwgb2ZzLCBwb3NfYWRqLCAxKTsKKwkJCWlmIChvZnMgPCAwKQorCQkJCWdvdG8gZXJyb3I7CisJCQlhenhfZGV2LT5pcnFfaWdub3JlID0gMTsKIAkJfQotCQlyZXN0ID0gcGVyaW9kX2J5dGVzOwotCQlkbyB7Ci0JCQlkbWFfYWRkcl90IGFkZHIgPSBzbmRfcGNtX3NnYnVmX2dldF9hZGRyKHNnYnVmLCBvZnMpOwotCQkJLyogcHJvZ3JhbSB0aGUgYWRkcmVzcyBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCi0JCQliZGxbMF0gPSBjcHVfdG9fbGUzMigodTMyKWFkZHIpOwotCQkJYmRsWzFdID0gY3B1X3RvX2xlMzIodXBwZXJfMzJiaXQoYWRkcikpOwotCQkJLyogcHJvZ3JhbSB0aGUgc2l6ZSBmaWVsZCBvZiB0aGUgQkRMIGVudHJ5ICovCi0JCQlzaXplID0gUEFHRV9TSVpFIC0gKG9mcyAlIFBBR0VfU0laRSk7Ci0JCQlpZiAocmVzdCA8IHNpemUpCi0JCQkJc2l6ZSA9IHJlc3Q7Ci0JCQliZGxbMl0gPSBjcHVfdG9fbGUzMihzaXplKTsKLQkJCS8qIHByb2dyYW0gdGhlIElPQyB0byBlbmFibGUgaW50ZXJydXB0Ci0JCQkgKiBvbmx5IHdoZW4gdGhlIHdob2xlIGZyYWdtZW50IGlzIHByb2Nlc3NlZAotCQkJICovCi0JCQlyZXN0IC09IHNpemU7Ci0JCQliZGxbM10gPSByZXN0ID8gMCA6IGNwdV90b19sZTMyKDB4MDEpOwotCQkJYmRsICs9IDQ7Ci0JCQlhenhfZGV2LT5mcmFncysrOwotCQkJb2ZzICs9IHNpemU7Ci0JCX0gd2hpbGUgKHJlc3QgPiAwKTsKKwl9IGVsc2UKKwkJcG9zX2FkaiA9IDA7CisJZm9yIChpID0gMDsgaSA8IHBlcmlvZHM7IGkrKykgeworCQlpZiAoaSA9PSBwZXJpb2RzIC0gMSAmJiBwb3NfYWRqKQorCQkJb2ZzID0gc2V0dXBfYmRsZShzdWJzdHJlYW0sIGF6eF9kZXYsICZiZGwsIG9mcywKKwkJCQkJIHBlcmlvZF9ieXRlcyAtIHBvc19hZGosIDApOworCQllbHNlCisJCQlvZnMgPSBzZXR1cF9iZGxlKHN1YnN0cmVhbSwgYXp4X2RldiwgJmJkbCwgb2ZzLAorCQkJCQkgcGVyaW9kX2J5dGVzLCAxKTsKKwkJaWYgKG9mcyA8IDApCisJCQlnb3RvIGVycm9yOwogCX0KIAlyZXR1cm4gMDsKKworIGVycm9yOgorCXNuZF9wcmludGsoS0VSTl9FUlIgIlRvbyBtYW55IEJETCBlbnRyaWVzOiBidWZmZXI9JWQsIHBlcmlvZD0lZFxuIiwKKwkJICAgYXp4X2Rldi0+YnVmc2l6ZSwgcGVyaW9kX2J5dGVzKTsKKwkvKiByZXNldCAqLworCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsIDApOworCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUFUsIDApOworCXJldHVybiAtRUlOVkFMOwogfQogCiAvKgpAQCAtMTA2Miw3ICsxMTMzLDcgQEAKIAkvKiBsb3dlciBCREwgYWRkcmVzcyAqLwogCWF6eF9zZF93cml0ZWwoYXp4X2RldiwgU0RfQkRMUEwsICh1MzIpYXp4X2Rldi0+YmRsLmFkZHIpOwogCS8qIHVwcGVyIEJETCBhZGRyZXNzICovCi0JYXp4X3NkX3dyaXRlbChhenhfZGV2LCBTRF9CRExQVSwgdXBwZXJfMzJiaXQoYXp4X2Rldi0+YmRsLmFkZHIpKTsKKwlhenhfc2Rfd3JpdGVsKGF6eF9kZXYsIFNEX0JETFBVLCB1cHBlcl8zMl9iaXRzKGF6eF9kZXYtPmJkbC5hZGRyKSk7CiAKIAkvKiBlbmFibGUgdGhlIHBvc2l0aW9uIGJ1ZmZlciAqLwogCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9QT1NCVUYgfHwKQEAgLTEwODUsNyArMTE1Niw3IEBACiAgKi8KIAogc3RhdGljIHVuc2lnbmVkIGludCBhenhfbWF4X2NvZGVjc1tdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JW0FaWF9EUklWRVJfSUNIXSA9IDMsCisJW0FaWF9EUklWRVJfSUNIXSA9IDQsCQkvKiBTb21lIElDSDkgYm9hcmRzIHVzZSBTRDMgKi8KIAlbQVpYX0RSSVZFUl9TQ0hdID0gMywKIAlbQVpYX0RSSVZFUl9BVEldID0gNCwKIAlbQVpYX0RSSVZFUl9BVElIRE1JXSA9IDQsCkBAIC0xMDkzLDYgKzExNjQsNyBAQAogCVtBWlhfRFJJVkVSX1NJU10gPSAzLAkJLyogRklYTUU6IGNvcnJlY3Q/ICovCiAJW0FaWF9EUklWRVJfVUxJXSA9IDMsCQkvKiBGSVhNRTogY29ycmVjdD8gKi8KIAlbQVpYX0RSSVZFUl9OVklESUFdID0gMywJLyogRklYTUU6IGNvcnJlY3Q/ICovCisJW0FaWF9EUklWRVJfVEVSQV0gPSAxLAogfTsKIAogc3RhdGljIGludCBfX2RldmluaXQgYXp4X2NvZGVjX2NyZWF0ZShzdHJ1Y3QgYXp4ICpjaGlwLCBjb25zdCBjaGFyICptb2RlbCwKQEAgLTEzMTYsNyArMTM4OCw3IEBACiAKIAlzbmRfcHJpbnRkZCgiYXp4X3BjbV9wcmVwYXJlOiBidWZzaXplPTB4JXgsIGZvcm1hdD0weCV4XG4iLAogCQkgICAgYXp4X2Rldi0+YnVmc2l6ZSwgYXp4X2Rldi0+Zm9ybWF0X3ZhbCk7Ci0JaWYgKGF6eF9zZXR1cF9wZXJpb2RzKHN1YnN0cmVhbSwgYXp4X2RldikgPCAwKQorCWlmIChhenhfc2V0dXBfcGVyaW9kcyhjaGlwLCBzdWJzdHJlYW0sIGF6eF9kZXYpIDwgMCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAJYXp4X3NldHVwX2NvbnRyb2xsZXIoY2hpcCwgYXp4X2Rldik7CiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCkBAIC0xNDIxLDM1ICsxNDkzLDExMyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc25kX3BjbV91ZnJhbWVzX3QgYXp4X3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQorc3RhdGljIHVuc2lnbmVkIGludCBhenhfZ2V0X3Bvc2l0aW9uKHN0cnVjdCBhenggKmNoaXAsCisJCQkJICAgICBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKIHsKLQlzdHJ1Y3QgYXp4X3BjbSAqYXBjbSA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKLQlzdHJ1Y3QgYXp4ICpjaGlwID0gYXBjbS0+Y2hpcDsKLQlzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiA9IGdldF9henhfZGV2KHN1YnN0cmVhbSk7CiAJdW5zaWduZWQgaW50IHBvczsKIAogCWlmIChjaGlwLT5wb3NpdGlvbl9maXggPT0gUE9TX0ZJWF9QT1NCVUYgfHwKIAkgICAgY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfQVVUTykgewogCQkvKiB1c2UgdGhlIHBvc2l0aW9uIGJ1ZmZlciAqLwogCQlwb3MgPSBsZTMyX3RvX2NwdSgqYXp4X2Rldi0+cG9zYnVmKTsKLQkJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0FVVE8gJiYKLQkJICAgIGF6eF9kZXYtPnBlcmlvZF9pbnRyID09IDEgJiYgIXBvcykgewotCQkJcHJpbnRrKEtFUk5fV0FSTklORwotCQkJICAgICAgICJoZGEtaW50ZWw6IEludmFsaWQgcG9zaXRpb24gYnVmZmVyLCAiCi0JCQkgICAgICAgInVzaW5nIExQSUIgcmVhZCBtZXRob2QgaW5zdGVhZC5cbiIpOwotCQkJY2hpcC0+cG9zaXRpb25fZml4ID0gUE9TX0ZJWF9OT05FOwotCQkJZ290byByZWFkX2xwaWI7Ci0JCX0KIAl9IGVsc2UgewotCXJlYWRfbHBpYjoKIAkJLyogcmVhZCBMUElCICovCiAJCXBvcyA9IGF6eF9zZF9yZWFkbChhenhfZGV2LCBTRF9MUElCKTsKLQkJaWYgKGNoaXAtPnBvc2l0aW9uX2ZpeCA9PSBQT1NfRklYX0ZJRk8pCi0JCQlwb3MgKz0gYXp4X2Rldi0+Zmlmb19zaXplOwogCX0KIAlpZiAocG9zID49IGF6eF9kZXYtPmJ1ZnNpemUpCiAJCXBvcyA9IDA7Ci0JcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsIHBvcyk7CisJcmV0dXJuIHBvczsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190IGF6eF9wY21fcG9pbnRlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXp4X3BjbSAqYXBjbSA9IHNuZF9wY21fc3Vic3RyZWFtX2NoaXAoc3Vic3RyZWFtKTsKKwlzdHJ1Y3QgYXp4ICpjaGlwID0gYXBjbS0+Y2hpcDsKKwlzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiA9IGdldF9henhfZGV2KHN1YnN0cmVhbSk7CisJcmV0dXJuIGJ5dGVzX3RvX2ZyYW1lcyhzdWJzdHJlYW0tPnJ1bnRpbWUsCisJCQkgICAgICAgYXp4X2dldF9wb3NpdGlvbihjaGlwLCBhenhfZGV2KSk7Cit9CisKKy8qCisgKiBDaGVjayB3aGV0aGVyIHRoZSBjdXJyZW50IERNQSBwb3NpdGlvbiBpcyBhY2NlcHRhYmxlIGZvciB1cGRhdGluZworICogcGVyaW9kcy4gIFJldHVybnMgbm9uLXplcm8gaWYgaXQncyBPSy4KKyAqCisgKiBNYW55IEhELWF1ZGlvIGNvbnRyb2xsZXJzIGFwcGVhciBwcmV0dHkgaW5hY2N1cmF0ZSBhYm91dAorICogdGhlIHVwZGF0ZS1JUlEgdGltaW5nLiAgVGhlIElSUSBpcyBpc3N1ZWQgYmVmb3JlIGFjdHVhbGx5IHRoZQorICogZGF0YSBpcyBwcm9jZXNzZWQuICBTbywgd2UgbmVlZCB0byBwcm9jZXNzIGl0IGFmdGVyd29yZHMgaW4gYQorICogd29ya3F1ZXVlLgorICovCitzdGF0aWMgaW50IGF6eF9wb3NpdGlvbl9vayhzdHJ1Y3QgYXp4ICpjaGlwLCBzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldikKK3sKKwl1bnNpZ25lZCBpbnQgcG9zOworCisJcG9zID0gYXp4X2dldF9wb3NpdGlvbihjaGlwLCBhenhfZGV2KTsKKwlpZiAoY2hpcC0+cG9zaXRpb25fZml4ID09IFBPU19GSVhfQVVUTykgeworCQlpZiAoIXBvcykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJICAgICAgICJoZGEtaW50ZWw6IEludmFsaWQgcG9zaXRpb24gYnVmZmVyLCAiCisJCQkgICAgICAgInVzaW5nIExQSUIgcmVhZCBtZXRob2QgaW5zdGVhZC5cbiIpOworCQkJY2hpcC0+cG9zaXRpb25fZml4ID0gUE9TX0ZJWF9MUElCOworCQkJcG9zID0gYXp4X2dldF9wb3NpdGlvbihjaGlwLCBhenhfZGV2KTsKKwkJfSBlbHNlCisJCQljaGlwLT5wb3NpdGlvbl9maXggPSBQT1NfRklYX1BPU0JVRjsKKwl9CisKKwlpZiAocG9zICUgYXp4X2Rldi0+cGVyaW9kX2J5dGVzID4gYXp4X2Rldi0+cGVyaW9kX2J5dGVzIC8gMikKKwkJcmV0dXJuIDA7IC8qIE5HIC0gaXQncyBiZWxvdyB0aGUgcGVyaW9kIGJvdW5kYXJ5ICovCisJcmV0dXJuIDE7IC8qIE9LLCBpdCdzIGZpbmUgKi8KK30KKworLyoKKyAqIFRoZSB3b3JrIGZvciBwZW5kaW5nIFBDTSBwZXJpb2QgdXBkYXRlcy4KKyAqLworc3RhdGljIHZvaWQgYXp4X2lycV9wZW5kaW5nX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQoreworCXN0cnVjdCBhenggKmNoaXAgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGF6eCwgaXJxX3BlbmRpbmdfd29yayk7CisJaW50IGksIHBlbmRpbmc7CisKKwlpZiAoIWNoaXAtPmlycV9wZW5kaW5nX3dhcm5lZCkgeworCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCSAgICAgICAiaGRhLWludGVsOiBJUlEgdGltaW5nIHdvcmthcm91bmQgaXMgYWN0aXZhdGVkICIKKwkJICAgICAgICJmb3IgY2FyZCAjJWQuIFN1Z2dlc3QgYSBiaWdnZXIgYmRsX3Bvc19hZGouXG4iLAorCQkgICAgICAgY2hpcC0+Y2FyZC0+bnVtYmVyKTsKKwkJY2hpcC0+aXJxX3BlbmRpbmdfd2FybmVkID0gMTsKKwl9CisKKwlmb3IgKDs7KSB7CisJCXBlbmRpbmcgPSAwOworCQlzcGluX2xvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJCWZvciAoaSA9IDA7IGkgPCBjaGlwLT5udW1fc3RyZWFtczsgaSsrKSB7CisJCQlzdHJ1Y3QgYXp4X2RldiAqYXp4X2RldiA9ICZjaGlwLT5henhfZGV2W2ldOworCQkJaWYgKCFhenhfZGV2LT5pcnFfcGVuZGluZyB8fAorCQkJICAgICFhenhfZGV2LT5zdWJzdHJlYW0gfHwKKwkJCSAgICAhYXp4X2Rldi0+cnVubmluZykKKwkJCQljb250aW51ZTsKKwkJCWlmIChhenhfcG9zaXRpb25fb2soY2hpcCwgYXp4X2RldikpIHsKKwkJCQlhenhfZGV2LT5pcnFfcGVuZGluZyA9IDA7CisJCQkJc3Bpbl91bmxvY2soJmNoaXAtPnJlZ19sb2NrKTsKKwkJCQlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKGF6eF9kZXYtPnN1YnN0cmVhbSk7CisJCQkJc3Bpbl9sb2NrKCZjaGlwLT5yZWdfbG9jayk7CisJCQl9IGVsc2UKKwkJCQlwZW5kaW5nKys7CisJCX0KKwkJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJCWlmICghcGVuZGluZykKKwkJCXJldHVybjsKKwkJY29uZF9yZXNjaGVkKCk7CisJfQorfQorCisvKiBjbGVhciBpcnFfcGVuZGluZyBmbGFncyBhbmQgYXNzdXJlIG5vIG9uLWdvaW5nIHdvcmtxICovCitzdGF0aWMgdm9pZCBhenhfY2xlYXJfaXJxX3BlbmRpbmcoc3RydWN0IGF6eCAqY2hpcCkKK3sKKwlpbnQgaTsKKworCXNwaW5fbG9ja19pcnEoJmNoaXAtPnJlZ19sb2NrKTsKKwlmb3IgKGkgPSAwOyBpIDwgY2hpcC0+bnVtX3N0cmVhbXM7IGkrKykKKwkJY2hpcC0+YXp4X2RldltpXS5pcnFfcGVuZGluZyA9IDA7CisJc3Bpbl91bmxvY2tfaXJxKCZjaGlwLT5yZWdfbG9jayk7CisJZmx1c2hfc2NoZWR1bGVkX3dvcmsoKTsKIH0KIAogc3RhdGljIHN0cnVjdCBzbmRfcGNtX29wcyBhenhfcGNtX29wcyA9IHsKQEAgLTE2NzYsNiArMTgyNiw3IEBACiAJaW50IGk7CiAKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJYXp4X2NsZWFyX2lycV9wZW5kaW5nKGNoaXApOwogCWZvciAoaSA9IDA7IGkgPCBBWlhfTUFYX1BDTVM7IGkrKykKIAkJc25kX3BjbV9zdXNwZW5kX2FsbChjaGlwLT5wY21baV0pOwogCWlmIChjaGlwLT5pbml0aWFsaXplZCkKQEAgLTE3MzIsNiArMTg4Myw3IEBACiAJaW50IGk7CiAKIAlpZiAoY2hpcC0+aW5pdGlhbGl6ZWQpIHsKKwkJYXp4X2NsZWFyX2lycV9wZW5kaW5nKGNoaXApOwogCQlmb3IgKGkgPSAwOyBpIDwgY2hpcC0+bnVtX3N0cmVhbXM7IGkrKykKIAkJCWF6eF9zdHJlYW1fc3RvcChjaGlwLCAmY2hpcC0+YXp4X2RldltpXSk7CiAJCWF6eF9zdG9wX2NoaXAoY2hpcCk7CkBAIC0xNzcwLDkgKzE5MjIsOSBAQAogICogd2hpdGUvYmxhY2stbGlzdGluZyBmb3IgcG9zaXRpb25fZml4CiAgKi8KIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjaV9xdWlyayBwb3NpdGlvbl9maXhfbGlzdFtdIF9fZGV2aW5pdGRhdGEgPSB7Ci0JU05EX1BDSV9RVUlSSygweDEwMjgsIDB4MDFjYywgIkRlbGwgRDgyMCIsIFBPU19GSVhfTk9ORSksCi0JU05EX1BDSV9RVUlSSygweDEwMjgsIDB4MDFkZSwgIkRlbGwgUHJlY2lzaW9uIDM5MCIsIFBPU19GSVhfTk9ORSksCi0JU05EX1BDSV9RVUlSSygweDEwNDMsIDB4ODEzZCwgIkFTVVMgUDVBRDIiLCBQT1NfRklYX05PTkUpLAorCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxY2MsICJEZWxsIEQ4MjAiLCBQT1NfRklYX0xQSUIpLAorCVNORF9QQ0lfUVVJUksoMHgxMDI4LCAweDAxZGUsICJEZWxsIFByZWNpc2lvbiAzOTAiLCBQT1NfRklYX0xQSUIpLAorCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgxM2QsICJBU1VTIFA1QUQyIiwgUE9TX0ZJWF9MUElCKSwKIAl7fQogfTsKIApAQCAtMTg1NywxMiArMjAwOSwyNSBAQAogCWNoaXAtPmlycSA9IC0xOwogCWNoaXAtPmRyaXZlcl90eXBlID0gZHJpdmVyX3R5cGU7CiAJY2hpcC0+bXNpID0gZW5hYmxlX21zaTsKKwljaGlwLT5kZXZfaW5kZXggPSBkZXY7CisJSU5JVF9XT1JLKCZjaGlwLT5pcnFfcGVuZGluZ193b3JrLCBhenhfaXJxX3BlbmRpbmdfd29yayk7CiAKIAljaGlwLT5wb3NpdGlvbl9maXggPSBjaGVja19wb3NpdGlvbl9maXgoY2hpcCwgcG9zaXRpb25fZml4W2Rldl0pOwogCWNoZWNrX3Byb2JlX21hc2soY2hpcCwgZGV2KTsKIAogCWNoaXAtPnNpbmdsZV9jbWQgPSBzaW5nbGVfY21kOwogCisJaWYgKGJkbF9wb3NfYWRqW2Rldl0gPCAwKSB7CisJCXN3aXRjaCAoY2hpcC0+ZHJpdmVyX3R5cGUpIHsKKwkJY2FzZSBBWlhfRFJJVkVSX0lDSDoKKwkJCWJkbF9wb3NfYWRqW2Rldl0gPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQliZGxfcG9zX2FkaltkZXZdID0gMzI7CisJCQlicmVhazsKKwkJfQorCX0KKwogI2lmIEJJVFNfUEVSX0xPTkcgIT0gNjQKIAkvKiBGaXggdXAgYmFzZSBhZGRyZXNzIG9uIFVMSSBNNTQ2MSAqLwogCWlmIChjaGlwLT5kcml2ZXJfdHlwZSA9PSBBWlhfRFJJVkVSX1VMSSkgewpAQCAtMjA4OSw2ICsyMjU0LDcgQEAKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI3ZDgpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjY5YSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyODRiKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKKwl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDI5MTEpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LAogCXsgUENJX0RFVklDRSgweDgwODYsIDB4MjkzZSksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfSUNIIH0sCiAJeyBQQ0lfREVWSUNFKDB4ODA4NiwgMHgyOTNmKSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9JQ0ggfSwKIAl7IFBDSV9ERVZJQ0UoMHg4MDg2LCAweDNhM2UpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX0lDSCB9LApAQCAtMjE0MSw2ICsyMzA3LDggQEAKIAl7IFBDSV9ERVZJQ0UoMHgxMGRlLCAweDBiZDUpLCAuZHJpdmVyX2RhdGEgPSBBWlhfRFJJVkVSX05WSURJQSB9LAogCXsgUENJX0RFVklDRSgweDEwZGUsIDB4MGJkNiksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfTlZJRElBIH0sCiAJeyBQQ0lfREVWSUNFKDB4MTBkZSwgMHgwYmQ3KSwgLmRyaXZlcl9kYXRhID0gQVpYX0RSSVZFUl9OVklESUEgfSwKKwkvKiBUZXJhZGljaSAqLworCXsgUENJX0RFVklDRSgweDY1NDksIDB4MTIwMCksIC5kcml2ZXJfZGF0YSA9IEFaWF9EUklWRVJfVEVSQSB9LAogCXsgMCwgfQogfTsKIE1PRFVMRV9ERVZJQ0VfVEFCTEUocGNpLCBhenhfaWRzKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYyBiL3NvdW5kL3BjaS9oZGEvaGRhX3Byb2MuYwppbmRleCA1NjMzZjc3Li4xZTVhZmY1IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvaGRhL2hkYV9wcm9jLmMKKysrIGIvc291bmQvcGNpL2hkYS9oZGFfcHJvYy5jCkBAIC0zNjYsOCArMzY2LDYgQEAKIHsKIAl1bnNpZ25lZCBpbnQgZGlnaTEgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIG5pZCwgMCwKIAkJCQkJCUFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8xLCAwKTsKLQl1bnNpZ25lZCBpbnQgZGlnaTIgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIG5pZCwgMCwKLQkJCQkJCUFDX1ZFUkJfR0VUX0RJR0lfQ09OVkVSVF8yLCAwKTsKIAlzbmRfaXByaW50ZihidWZmZXIsICIgIERpZ2l0YWw6Iik7CiAJaWYgKGRpZ2kxICYgQUNfRElHMV9FTkFCTEUpCiAJCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiBFbmFibGVkIik7CkBAIC0zODYsNyArMzg0LDggQEAKIAlpZiAoZGlnaTEgJiBBQ19ESUcxX0xFVkVMKQogCQlzbmRfaXByaW50ZihidWZmZXIsICIgR2VuTGV2ZWwiKTsKIAlzbmRfaXByaW50ZihidWZmZXIsICJcbiIpOwotCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiAgRGlnaXRhbCBjYXRlZ29yeTogMHgleFxuIiwgZGlnaTIgJiBBQ19ESUcyX0NDKTsKKwlzbmRfaXByaW50ZihidWZmZXIsICIgIERpZ2l0YWwgY2F0ZWdvcnk6IDB4JXhcbiIsCisJCSAgICAoZGlnaTEgPj4gOCkgJiBBQ19ESUcyX0NDKTsKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIgKmdldF9wd3Jfc3RhdGUodTMyIHN0YXRlKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfYW5hbG9nLmMKaW5kZXggYTk5ZTg2ZC4uZTgwMDNkOSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9hbmFsb2cuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2FuYWxvZy5jCkBAIC0yMyw3ICsyMyw2IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+Ci0jaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KIAogI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KICNpbmNsdWRlICJoZGFfY29kZWMuaCIKQEAgLTY0LDcgKzYzLDYgQEAKIAkvKiBQQ00gaW5mb3JtYXRpb24gKi8KIAlzdHJ1Y3QgaGRhX3BjbSBwY21fcmVjWzNdOwkvKiB1c2VkIGluIGFsY19idWlsZF9wY21zKCkgKi8KIAotCXN0cnVjdCBtdXRleCBhbXBfbXV0ZXg7CS8qIFBDTSB2b2x1bWUvbXV0ZSBjb250cm9sIG11dGV4ICovCiAJdW5zaWduZWQgaW50IHNwZGlmX3JvdXRlOwogCiAJLyogZHluYW1pYyBjb250cm9scywgaW5pdF92ZXJicyBhbmQgaW5wdXRfbXV4ICovCkBAIC0xNjE4LDYgKzE2MTYsNyBAQAogCiBzdGF0aWMgc3RydWN0IHNuZF9wY2lfcXVpcmsgYWQxOTgxX2NmZ190YmxbXSA9IHsKIAlTTkRfUENJX1FVSVJLKDB4MTAxNCwgMHgwNTk3LCAiTGVub3ZvIFo2MCIsIEFEMTk4MV9USElOS1BBRCksCisJU05EX1BDSV9RVUlSSygweDEwMTQsIDB4MDViNywgIkxlbm92byBaNjBtIiwgQUQxOTgxX1RISU5LUEFEKSwKIAkvKiBBbGwgSFAgbW9kZWxzICovCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDAsICJIUCBueCIsIEFEMTk4MV9IUCksCiAJU05EX1BDSV9RVUlSSygweDExNzksIDB4MDAwMSwgIlRvc2hpYmEgVTIwNSIsIEFEMTk4MV9UT1NISUJBKSwKQEAgLTI2MjMsNyArMjYyMiw3IEBACiB7CiAJc3RydWN0IGFkMTk4eF9zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CiAJaGRhX25pZF90IG5pZDsKLQlpbnQgaWR4LCBlcnI7CisJaW50IGksIGlkeCwgZXJyOwogCWNoYXIgbmFtZVszMl07CiAKIAlpZiAoISBwaW4pCkBAIC0yNjMxLDE2ICsyNjMwLDI2IEBACiAKIAlpZHggPSBhZDE5ODhfcGluX2lkeChwaW4pOwogCW5pZCA9IGFkMTk4OF9pZHhfdG9fZGFjKGNvZGVjLCBpZHgpOwotCS8qIHNwZWNpZnkgdGhlIERBQyBhcyB0aGUgZXh0cmEgb3V0cHV0ICovCi0JaWYgKCEgc3BlYy0+bXVsdGlvdXQuaHBfbmlkKQotCQlzcGVjLT5tdWx0aW91dC5ocF9uaWQgPSBuaWQ7Ci0JZWxzZQotCQlzcGVjLT5tdWx0aW91dC5leHRyYV9vdXRfbmlkWzBdID0gbmlkOwotCS8qIGNvbnRyb2wgSFAgdm9sdW1lL3N3aXRjaCBvbiB0aGUgb3V0cHV0IG1peGVyIGFtcCAqLwotCXNwcmludGYobmFtZSwgIiVzIFBsYXliYWNrIFZvbHVtZSIsIHBmeCk7Ci0JaWYgKChlcnIgPSBhZGRfY29udHJvbChzcGVjLCBBRF9DVExfV0lER0VUX1ZPTCwgbmFtZSwKLQkJCSAgICAgICBIREFfQ09NUE9TRV9BTVBfVkFMKG5pZCwgMywgMCwgSERBX09VVFBVVCkpKSA8IDApCi0JCXJldHVybiBlcnI7CisJLyogY2hlY2sgd2hldGhlciB0aGUgY29ycmVzcG9uZGluZyBEQUMgd2FzIGFscmVhZHkgdGFrZW4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgc3BlYy0+YXV0b2NmZy5saW5lX291dHM7IGkrKykgeworCQloZGFfbmlkX3QgcGluID0gc3BlYy0+YXV0b2NmZy5saW5lX291dF9waW5zW2ldOworCQloZGFfbmlkX3QgZGFjID0gYWQxOTg4X2lkeF90b19kYWMoY29kZWMsIGFkMTk4OF9waW5faWR4KHBpbikpOworCQlpZiAoZGFjID09IG5pZCkKKwkJCWJyZWFrOworCX0KKwlpZiAoaSA+PSBzcGVjLT5hdXRvY2ZnLmxpbmVfb3V0cykgeworCQkvKiBzcGVjaWZ5IHRoZSBEQUMgYXMgdGhlIGV4dHJhIG91dHB1dCAqLworCQlpZiAoIXNwZWMtPm11bHRpb3V0LmhwX25pZCkKKwkJCXNwZWMtPm11bHRpb3V0LmhwX25pZCA9IG5pZDsKKwkJZWxzZQorCQkJc3BlYy0+bXVsdGlvdXQuZXh0cmFfb3V0X25pZFswXSA9IG5pZDsKKwkJLyogY29udHJvbCBIUCB2b2x1bWUvc3dpdGNoIG9uIHRoZSBvdXRwdXQgbWl4ZXIgYW1wICovCisJCXNwcmludGYobmFtZSwgIiVzIFBsYXliYWNrIFZvbHVtZSIsIHBmeCk7CisJCWVyciA9IGFkZF9jb250cm9sKHNwZWMsIEFEX0NUTF9XSURHRVRfVk9MLCBuYW1lLAorCQkJCSAgSERBX0NPTVBPU0VfQU1QX1ZBTChuaWQsIDMsIDAsIEhEQV9PVVRQVVQpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KIAluaWQgPSBhZDE5ODhfbWl4ZXJfbmlkc1tpZHhdOwogCXNwcmludGYobmFtZSwgIiVzIFBsYXliYWNrIFN3aXRjaCIsIHBmeCk7CiAJaWYgKChlcnIgPSBhZGRfY29udHJvbChzcGVjLCBBRF9DVExfQklORF9NVVRFLCBuYW1lLApAQCAtMzE3Nyw3ICszMTg2LDYgQEAKIAlpZiAoc3BlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTM4NDcsNyArMzg1NSw2IEBACiAJaWYgKHNwZWMgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQltdXRleF9pbml0KCZzcGVjLT5hbXBfbXV0ZXgpOwogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAogCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDI7CkBAIC00MTUyLDcgKzQxNTksNiBAQAogCWlmIChzcGVjID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSA2OwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9jb25leGFudC5jCmluZGV4IDM2ZmQ4NTIuLjdjMWViMjMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfY29uZXhhbnQuYworKysgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX2NvbmV4YW50LmMKQEAgLTgyLDcgKzgyLDYgQEAKIAkvKiBQQ00gaW5mb3JtYXRpb24gKi8KIAlzdHJ1Y3QgaGRhX3BjbSBwY21fcmVjWzJdOwkvKiB1c2VkIGluIGJ1aWxkX3BjbXMoKSAqLwogCi0Jc3RydWN0IG11dGV4IGFtcF9tdXRleDsJLyogUENNIHZvbHVtZS9tdXRlIGNvbnRyb2wgbXV0ZXggKi8KIAl1bnNpZ25lZCBpbnQgc3BkaWZfcm91dGU7CiAKIAkvKiBkeW5hbWljIGNvbnRyb2xzLCBpbml0X3ZlcmJzIGFuZCBpbnB1dF9tdXggKi8KQEAgLTY4Nyw3ICs2ODYsNyBAQAogCiBzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGN4dDUwNDVfaW5pdF92ZXJic1tdID0gewogCS8qIExpbmUgaW4sIE1pYyAqLwotCXsweDEyLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTiB9LAorCXsweDEyLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTnxBQ19QSU5DVExfVlJFRl84MCB9LAogCXsweDE0LCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTnxBQ19QSU5DVExfVlJFRl84MCB9LAogCS8qIEhQLCBBbXAgICovCiAJezB4MTAsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVH0sCkBAIC05MDcsMTAgKzkwNiwxMiBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwY2YsICJIUCBEVjk1MzNFRyIsIENYVDUwNDVfTEFQVE9QX0hQU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwZDUsICJIUCA1MzAiLCBDWFQ1MDQ1X0xBUFRPUF9IUDUzMCksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzBkOSwgIkhQIFNwYXJ0YW4iLCBDWFQ1MDQ1X0xBUFRPUF9IUFNFTlNFKSwKKwlTTkRfUENJX1FVSVJLKDB4MTE3OSwgMHhmZjMxLCAiVG9zaGliYSBQMTA1IiwgQ1hUNTA0NV9MQVBUT1BfTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTJkLCAweDA3NTMsICJCZW5xIFI1NUUiLCBDWFQ1MDQ1X0JFTlEpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwYWQsICJGdWppdHN1IFNpMTUyMCIsIENYVDUwNDVfTEFQVE9QX01JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGNiLCAiRnVqaXRzdSBTaTM1MTUiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKLQlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMTBlLCAiRnVqaXRzdSBWNTUwNSIsIENYVDUwNDVfTEFQVE9QX0hQU0VOU0UpLAorCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDExMGUsICJGdWppdHN1IFY1NTA1IiwKKwkJICAgICAgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCiAJU05EX1BDSV9RVUlSSygweDE1MDksIDB4MWU0MCwgIkZJQyIsIENYVDUwNDVfTEFQVE9QX0hQTUlDU0VOU0UpLAogCVNORF9QQ0lfUVVJUksoMHgxNTA5LCAweDJmMDUsICJGSUMiLCBDWFQ1MDQ1X0xBUFRPUF9IUE1JQ1NFTlNFKSwKIAlTTkRfUENJX1FVSVJLKDB4MTUwOSwgMHgyZjA2LCAiRklDIiwgQ1hUNTA0NV9MQVBUT1BfSFBNSUNTRU5TRSksCkBAIC05MjgsNyArOTI5LDYgQEAKIAlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwZWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJc3BlYy0+bXVsdGlvdXQubWF4X2NoYW5uZWxzID0gMjsKQEAgLTk2Myw2ICs5NjMsNyBAQAogCQljb2RlYy0+cGF0Y2hfb3BzLmluaXQgPSBjeHQ1MDQ1X2luaXQ7CiAJCWJyZWFrOwogCWNhc2UgQ1hUNTA0NV9MQVBUT1BfTUlDU0VOU0U6CisJCWNvZGVjLT5wYXRjaF9vcHMudW5zb2xfZXZlbnQgPSBjeHQ1MDQ1X2hwX3Vuc29sX2V2ZW50OwogCQlzcGVjLT5pbnB1dF9tdXggPSAmY3h0NTA0NV9jYXB0dXJlX3NvdXJjZTsKIAkJc3BlYy0+bnVtX2luaXRfdmVyYnMgPSAyOwogCQlzcGVjLT5pbml0X3ZlcmJzWzFdID0gY3h0NTA0NV9taWNfc2Vuc2VfaW5pdF92ZXJiczsKQEAgLTEwMDcsMTUgKzEwMDgsMTkgQEAKICNlbmRpZgkKIAl9CiAKLQkvKgotCSAqIEZpeCBtYXggUENNIGxldmVsIHRvIDAgZEIKLQkgKiAob3JpZ2luYWxsIGl0IGhhcyAweDJiIHN0ZXBzIHdpdGggMGRCIG9mZnNldCAweDE0KQotCSAqLwotCXNuZF9oZGFfb3ZlcnJpZGVfYW1wX2NhcHMoY29kZWMsIDB4MTcsIEhEQV9JTlBVVCwKLQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9PRkZTRVRfU0hJRlQpIHwKLQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9OVU1fU1RFUFNfU0hJRlQpIHwKLQkJCQkgICgweDA1IDw8IEFDX0FNUENBUF9TVEVQX1NJWkVfU0hJRlQpIHwKLQkJCQkgICgxIDw8IEFDX0FNUENBUF9NVVRFX1NISUZUKSk7CisJc3dpdGNoIChjb2RlYy0+c3Vic3lzdGVtX2lkID4+IDE2KSB7CisJY2FzZSAweDEwM2M6CisJCS8qIEhQIGxhcHRvcCBoYXMgYSByZWFsbHkgYmFkIHNvdW5kIG92ZXIgMGRCIG9uIE5JRCAweDE3LgorCQkgKiBGaXggbWF4IFBDTSBsZXZlbCB0byAwIGRCCisJCSAqIChvcmlnaW5hbGwgaXQgaGFzIDB4MmIgc3RlcHMgd2l0aCAwZEIgb2Zmc2V0IDB4MTQpCisJCSAqLworCQlzbmRfaGRhX292ZXJyaWRlX2FtcF9jYXBzKGNvZGVjLCAweDE3LCBIREFfSU5QVVQsCisJCQkJCSAgKDB4MTQgPDwgQUNfQU1QQ0FQX09GRlNFVF9TSElGVCkgfAorCQkJCQkgICgweDE0IDw8IEFDX0FNUENBUF9OVU1fU1RFUFNfU0hJRlQpIHwKKwkJCQkJICAoMHgwNSA8PCBBQ19BTVBDQVBfU1RFUF9TSVpFX1NISUZUKSB8CisJCQkJCSAgKDEgPDwgQUNfQU1QQ0FQX01VVEVfU0hJRlQpKTsKKwkJYnJlYWs7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNDc3LDcgKzE0ODIsNiBAQAogCXNwZWMgPSBremFsbG9jKHNpemVvZigqc3BlYyksIEdGUF9LRVJORUwpOwogCWlmICghc3BlYykKIAkJcmV0dXJuIC1FTk9NRU07Ci0JbXV0ZXhfaW5pdCgmc3BlYy0+YW1wX211dGV4KTsKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKIAlzcGVjLT5tdWx0aW91dC5tYXhfY2hhbm5lbHMgPSAyOwpAQCAtMTczNiw3ICsxNzQwLDYgQEAKIAlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwZWMpCiAJCXJldHVybiAtRU5PTUVNOwotCW11dGV4X2luaXQoJnNwZWMtPmFtcF9tdXRleCk7CiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCiAJY29kZWMtPnBhdGNoX29wcyA9IGNvbmV4YW50X3BhdGNoX29wczsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9oZGEvcGF0Y2hfcmVhbHRlay5jIGIvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKaW5kZXggYjBhMmEyNi4uMjgwN2JjOCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKKysrIGIvc291bmQvcGNpL2hkYS9wYXRjaF9yZWFsdGVrLmMKQEAgLTE2Myw2ICsxNjMsMTAgQEAKIAlBTEM2NjJfTEVOT1ZPXzEwMUUsCiAJQUxDNjYyX0FTVVNfRUVFUENfUDcwMSwKIAlBTEM2NjJfQVNVU19FRUVQQ19FUDIwLAorCUFMQzY2M19BU1VTX001MVZBLAorCUFMQzY2M19BU1VTX0c3MVYsCisJQUxDNjYzX0FTVVNfSDEzLAorCUFMQzY2M19BU1VTX0c1MFYsCiAJQUxDNjYyX0FVVE8sCiAJQUxDNjYyX01PREVMX0xBU1QsCiB9OwpAQCAtMjA1LDYgKzIwOSw3IEBACiAJQUxDODgzX01JVEFDLAogCUFMQzg4M19DTEVWT19NNzIwLAogCUFMQzg4M19GVUpJVFNVX1BJMjUxNSwKKwlBTEM4ODNfM1NUXzZjaF9JTlRFTCwKIAlBTEM4ODNfQVVUTywKIAlBTEM4ODNfTU9ERUxfTEFTVCwKIH07CkBAIC0yODAsNiArMjg1LDEwIEBACiAjaWZkZWYgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRQogCXN0cnVjdCBoZGFfbG9vcGJhY2tfY2hlY2sgbG9vcGJhY2s7CiAjZW5kaWYKKworCS8qIGZvciBQTEwgZml4ICovCisJaGRhX25pZF90IHBsbF9uaWQ7CisJdW5zaWduZWQgaW50IHBsbF9jb2VmX2lkeCwgcGxsX2NvZWZfYml0OwogfTsKIAogLyoKQEAgLTc0Nyw2ICs3NTYsMzggQEAKIAl7IH0KIH07CiAKKy8qCisgKiBGaXggaGFyZHdhcmUgUExMIGlzc3VlCisgKiBPbiBzb21lIGNvZGVjcywgdGhlIGFuYWxvZyBQTEwgZ2F0aW5nIGNvbnRyb2wgbXVzdCBiZSBvZmYgd2hpbGUKKyAqIHRoZSBkZWZhdWx0IHZhbHVlIGlzIDEuCisgKi8KK3N0YXRpYyB2b2lkIGFsY19maXhfcGxsKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXN0cnVjdCBhbGNfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOworCXVuc2lnbmVkIGludCB2YWw7CisKKwlpZiAoIXNwZWMtPnBsbF9uaWQpCisJCXJldHVybjsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLAorCQkJICAgIHNwZWMtPnBsbF9jb2VmX2lkeCk7CisJdmFsID0gc25kX2hkYV9jb2RlY19yZWFkKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLAorCQkJCSBBQ19WRVJCX0dFVF9QUk9DX0NPRUYsIDApOworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIHNwZWMtPnBsbF9uaWQsIDAsIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsCisJCQkgICAgc3BlYy0+cGxsX2NvZWZfaWR4KTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCBzcGVjLT5wbGxfbmlkLCAwLCBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsCisJCQkgICAgdmFsICYgfigxIDw8IHNwZWMtPnBsbF9jb2VmX2JpdCkpOworfQorCitzdGF0aWMgdm9pZCBhbGNfZml4X3BsbF9pbml0KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLCBoZGFfbmlkX3QgbmlkLAorCQkJICAgICB1bnNpZ25lZCBpbnQgY29lZl9pZHgsIHVuc2lnbmVkIGludCBjb2VmX2JpdCkKK3sKKwlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKKwlzcGVjLT5wbGxfbmlkID0gbmlkOworCXNwZWMtPnBsbF9jb2VmX2lkeCA9IGNvZWZfaWR4OworCXNwZWMtPnBsbF9jb2VmX2JpdCA9IGNvZWZfYml0OworCWFsY19maXhfcGxsKGNvZGVjKTsKK30KKwogc3RhdGljIHZvaWQgYWxjX3NrdV9hdXRvbXV0ZShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKIHsKIAlzdHJ1Y3QgYWxjX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKQEAgLTc3Niw2ICs4MTcsMjQgQEAKIAlhbGNfc2t1X2F1dG9tdXRlKGNvZGVjKTsKIH0KIAorLyogYWRkaXRpb25hbCBpbml0aWFsaXphdGlvbiBmb3IgQUxDODg4IHZhcmlhbnRzICovCitzdGF0aWMgdm9pZCBhbGM4ODhfY29lZl9pbml0KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCB0bXA7CisKKwlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDIwLCAwLCBBQ19WRVJCX1NFVF9DT0VGX0lOREVYLCAwKTsKKwl0bXAgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjAsIDAsIEFDX1ZFUkJfR0VUX1BST0NfQ09FRiwgMCk7CisJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwgQUNfVkVSQl9TRVRfQ09FRl9JTkRFWCwgNyk7CisJaWYgKCh0bXAgJiAweGYwKSA9PSAyKQorCQkvKiBhbGM4ODhTLVZDICovCisJCXNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMCwgMCwKKwkJCQkgICBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsIDB4ODMwKTsKKwkgZWxzZQorCQkgLyogYWxjODg4LVZCICovCisJCSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjAsIDAsCisJCQkJICAgIEFDX1ZFUkJfU0VUX1BST0NfQ09FRiwgMHgzMDMwKTsKK30KKwogLyogMzItYml0IHN1YnN5c3RlbSBJRCBmb3IgQklPUyBsb2FkaW5nIGluIEhEIEF1ZGlvIGNvZGVjLgogICoJMzEgfiAxNiA6CU1hbnVmYWN0dXJlIElECiAgKgkxNSB+IDgJOglTS1UgSUQKQEAgLTg1MSw4ICs5MTAsMTAgQEAKIAkJY2FzZSAweDEwZWMwMjY3OgogCQljYXNlIDB4MTBlYzAyNjg6CiAJCWNhc2UgMHgxMGVjMDI2OToKKwkJY2FzZSAweDEwZWMwNjYwOgorCQljYXNlIDB4MTBlYzA2NjI6CisJCWNhc2UgMHgxMGVjMDY2MzoKIAkJY2FzZSAweDEwZWMwODYyOgotCQljYXNlIDB4MTBlYzA2NjI6CQogCQljYXNlIDB4MTBlYzA4ODk6CiAJCQlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLCAweDE0LCAwLAogCQkJCQkgICAgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDIpOwpAQCAtODc3LDcgKzkzOCw2IEBACiAJCWNhc2UgMHgxMGVjMDg4MjoKIAkJY2FzZSAweDEwZWMwODgzOgogCQljYXNlIDB4MTBlYzA4ODU6Ci0JCWNhc2UgMHgxMGVjMDg4ODoKIAkJY2FzZSAweDEwZWMwODg5OgogCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwKIAkJCQkJICAgIEFDX1ZFUkJfU0VUX0NPRUZfSU5ERVgsIDcpOwpAQCAtODg5LDYgKzk0OSw5IEBACiAJCQkJCSAgICBBQ19WRVJCX1NFVF9QUk9DX0NPRUYsCiAJCQkJCSAgICB0bXAgfCAweDIwMTApOwogCQkJYnJlYWs7CisJCWNhc2UgMHgxMGVjMDg4ODoKKwkJCWFsYzg4OF9jb2VmX2luaXQoY29kZWMpOworCQkJYnJlYWs7CiAJCWNhc2UgMHgxMGVjMDI2NzoKIAkJY2FzZSAweDEwZWMwMjY4OgogCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywgMHgyMCwgMCwKQEAgLTIzNzMsNiArMjQzNiw4IEBACiAJc3RydWN0IGFsY19zcGVjICpzcGVjID0gY29kZWMtPnNwZWM7CiAJdW5zaWduZWQgaW50IGk7CiAKKwlhbGNfZml4X3BsbChjb2RlYyk7CisKIAlmb3IgKGkgPSAwOyBpIDwgc3BlYy0+bnVtX2luaXRfdmVyYnM7IGkrKykKIAkJc25kX2hkYV9zZXF1ZW5jZV93cml0ZShjb2RlYywgc3BlYy0+aW5pdF92ZXJic1tpXSk7CiAKQEAgLTMwMDksNiArMzA3NCw3IEBACiAJU05EX1BDSV9RVUlSSygweDE2OTUsIDB4NDAwZCwgIkVQb1giLCBBTEM4ODBfNVNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE2OTUsIDB4NDAxMiwgIkVQb3ggRVAtNUxEQSIsIEFMQzg4MF81U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMDdjLCAiRlNDIEYxNzM0IiwgQUxDODgwX0YxNzM0KSwKKwlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMDk0LCAiRlNDIEFtaWxvIE0xNDUxRyIsIEFMQzg4MF9GVUpJVFNVKSwKIAlTTkRfUENJX1FVSVJLKDB4MTczNCwgMHgxMGFjLCAiRlNDIiwgQUxDODgwX1VOSVdJTEwpLAogCVNORF9QQ0lfUVVJUksoMHgxNzM0LCAweDEwYjAsICJGdWppdHN1IiwgQUxDODgwX0ZVSklUU1UpLAogCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDAwMTgsICJMRyBMVzIwIiwgQUxDODgwX0xHX0xXKSwKQEAgLTUxMDEsNyArNTE2Nyw3IEBACiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MjgwOCwgIkhQIGQ1NzAwIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDI4MGEsICJIUCBkNTc1MCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDEwLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCi0JU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMSwgIkhQIiwgQUxDMjYwX0hQKSwKKwlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDExLCAiSFAiLCBBTEMyNjBfSFBfMzAxMyksCiAJU05EX1BDSV9RVUlSSygweDEwM2MsIDB4MzAxMiwgIkhQIiwgQUxDMjYwX0hQXzMwMTMpLAogCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDMwMTMsICJIUCIsIEFMQzI2MF9IUF8zMDEzKSwKIAlTTkRfUENJX1FVSVJLKDB4MTAzYywgMHgzMDE0LCAiSFAiLCBBTEMyNjBfSFApLApAQCAtNjEyNyw2ICs2MTkzLDcgQEAKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MTdmLCAiQXN1cyBQNUxEMiIsIEFMQzg4Ml82U1RfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MWQ4LCAiQXN1cyBQNVdEIiwgQUxDODgyXzZTVF9ESUcpLAogCVNORF9QQ0lfUVVJUksoMHgxMDViLCAweDY2NjgsICJGb3hjb25uIiwgQUxDODgyXzZTVF9ESUcpLAorCVNORF9QQ0lfUVVJUksoMHgxMDZiLCAweDAwYTAsICJBcHBsZSBpTWFjIDI0JyciLCBBTEM4ODVfSU1BQzI0KSwKIAlTTkRfUENJX1FVSVJLKDB4MTQ1OCwgMHhhMDAyLCAiR2lnYWJ5dGUgUDM1IERTM1IiLCBBTEM4ODJfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE0NjIsIDB4MjhmYiwgIlRhcmdhIFQ4IiwgQUxDODgyX1RBUkdBKSwgLyogTVNJLTEwNDkgVDggICovCiAJU05EX1BDSV9RVUlSSygweDE0NjIsIDB4NjY2OCwgIk1TSSIsIEFMQzg4Ml82U1RfRElHKSwKQEAgLTYzNTMsNyArNjQyMCw5IEBACiAJCQljb250aW51ZTsKIAkJdnJlZiA9IFBJTl9JTjsKIAkJaWYgKDEgLyppIDw9IEFVVE9fUElOX0ZST05UX01JQyovKSB7Ci0JCQlpZiAoc25kX2hkYV9wYXJhbV9yZWFkKGNvZGVjLCBuaWQsIEFDX1BBUl9QSU5fQ0FQKSAmCisJCQl1bnNpZ25lZCBpbnQgcGluY2FwOworCQkJcGluY2FwID0gc25kX2hkYV9wYXJhbV9yZWFkKGNvZGVjLCBuaWQsIEFDX1BBUl9QSU5fQ0FQKTsKKwkJCWlmICgocGluY2FwID4+IEFDX1BJTkNBUF9WUkVGX1NISUZUKSAmCiAJCQkgICAgQUNfUElOQ0FQX1ZSRUZfODApCiAJCQkJdnJlZiA9IFBJTl9WUkVGODA7CiAJCX0KQEAgLTY0NTAsOCArNjUxOSw5IEBACiAJCWNhc2UgMHgxMDZiMTAwMDogLyogaU1hYyAyNCAqLwogCQkJYm9hcmRfY29uZmlnID0gQUxDODg1X0lNQUMyNDsKIAkJCWJyZWFrOwotCQljYXNlIDB4MTA2YjAwYTE6IC8qIE1hY2Jvb2sgKi8KKwkJY2FzZSAweDEwNmIwMGExOiAvKiBNYWNib29rIChtaWdodCBiZSB3cm9uZyAtIFBDSSBTU0lEPykgKi8KIAkJY2FzZSAweDEwNmIyYzAwOiAvKiBNYWNib29rIFBybyByZXYzICovCisJCWNhc2UgMHgxMDZiMzYwMDogLyogTWFjYm9vayAzLjEgKi8KIAkJCWJvYXJkX2NvbmZpZyA9IEFMQzg4NV9NQlAzOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CkBAIC02NDg1LDE0ICs2NTU1LDIwIEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEM4ODJfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGM4ODJfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODIgQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwODg1KSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODUgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODUgRGlnaXRhbCI7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzg4MiBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzg4MiBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzg4Ml9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGM4ODJfcGNtX2FuYWxvZ19jYXB0dXJlOwogCS8qIEZJWE1FOiBzZXR1cCBEQUM1ICovCiAJLypzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9wbGF5YmFjayA9ICZhbGM4ODBfcGNtX2FuYWxvZ19hbHRfcGxheWJhY2s7Ki8KIAlzcGVjLT5zdHJlYW1fYW5hbG9nX2FsdF9jYXB0dXJlID0gJmFsYzg4MF9wY21fYW5hbG9nX2FsdF9jYXB0dXJlOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODIgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjODgyX3BjbV9kaWdpdGFsX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX2NhcHR1cmUgPSAmYWxjODgyX3BjbV9kaWdpdGFsX2NhcHR1cmU7CiAKQEAgLTY1NjksNiArNjY0NSwxNiBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjODgzXzNzdGFja182Y2hfaW50ZWwgPSB7CisJLm51bV9pdGVtcyA9IDQsCisJLml0ZW1zID0geworCQl7ICJNaWMiLCAweDEgfSwKKwkJeyAiRnJvbnQgTWljIiwgMHgwIH0sCisJCXsgIkxpbmUiLCAweDIgfSwKKwkJeyAiQ0QiLCAweDQgfSwKKwl9LAorfTsKKwogc3RhdGljIHN0cnVjdCBoZGFfaW5wdXRfbXV4IGFsYzg4M19sZW5vdm9fMTAxZV9jYXB0dXJlX3NvdXJjZSA9IHsKIAkubnVtX2l0ZW1zID0gMiwKIAkuaXRlbXMgPSB7CkBAIC02NjUwLDYgKzY3MzYsNDggQEAKIH07CiAKIC8qCisgKiAyY2ggbW9kZQorICovCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzg4M18zU1RfY2gyX2ludGVsX2luaXRbXSA9IHsKKwl7IDB4MTksIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX1ZSRUY4MCB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9NVVRFIH0sCisJeyAweDFhLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9JTiB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9NVVRFIH0sCisJeyB9IC8qIGVuZCAqLworfTsKKworLyoKKyAqIDRjaCBtb2RlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzXzNTVF9jaDRfaW50ZWxfaW5pdFtdID0geworCXsgMHgxOSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fVlJFRjgwIH0sCisJeyAweDE5LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX01VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxIH0sCisJeyB9IC8qIGVuZCAqLworfTsKKworLyoKKyAqIDZjaCBtb2RlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzXzNTVF9jaDZfaW50ZWxfaW5pdFtdID0geworCXsgMHgxOSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUIH0sCisJeyAweDE5LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURSB9LAorCXsgMHgxOSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDIgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB9LAorCXsgMHgxYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX09VVF9VTk1VVEUgfSwKKwl7IDB4MWEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxIH0sCisJeyB9IC8qIGVuZCAqLworfTsKKworc3RhdGljIHN0cnVjdCBoZGFfY2hhbm5lbF9tb2RlIGFsYzg4M18zU1RfNmNoX2ludGVsX21vZGVzWzNdID0geworCXsgMiwgYWxjODgzXzNTVF9jaDJfaW50ZWxfaW5pdCB9LAorCXsgNCwgYWxjODgzXzNTVF9jaDRfaW50ZWxfaW5pdCB9LAorCXsgNiwgYWxjODgzXzNTVF9jaDZfaW50ZWxfaW5pdCB9LAorfTsKKworLyoKICAqIDZjaCBtb2RlCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjODgzX3NpeHN0YWNrX2NoNl9pbml0W10gPSB7CkBAIC02ODgxLDE1ICs3MDA5LDU0IEBACiAJeyB9IC8qIGVuZCAqLwogfTsKIAorc3RhdGljIHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFsYzg4M18zU1RfNmNoX2ludGVsX21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgUGxheWJhY2sgVm9sdW1lIiwgMHgwYywgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDBjLCAyLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIlN1cnJvdW5kIFBsYXliYWNrIFZvbHVtZSIsIDB4MGQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwgMHgwZCwgMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkNlbnRlciBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAxLCAweDAsCisJCQkgICAgICBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkxGRSBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9CSU5EX01VVEVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsIDB4MGUsIDEsIDIsIEhEQV9JTlBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJMRkUgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMiwgMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MTUsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiQ0QgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiQ0QgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwNCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJMaW5lIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MDIsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkxpbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBCb29zdCIsIDB4MTksIDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJGcm9udCBNaWMgQm9vc3QiLCAweDE4LCAwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJGcm9udCBNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIlBDIFNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwNSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiUEMgU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDA1LCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkNhcHR1cmUgVm9sdW1lIiwgMHgwOCwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJDYXB0dXJlIFN3aXRjaCIsIDB4MDgsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FX0lEWCgiQ2FwdHVyZSBWb2x1bWUiLCAxLCAweDA5LCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEVfSURYKCJDYXB0dXJlIFN3aXRjaCIsIDEsIDB4MDksIDB4MCwgSERBX0lOUFVUKSwKKwl7CisJCS5pZmFjZSA9IFNORFJWX0NUTF9FTEVNX0lGQUNFX01JWEVSLAorCQkvKiAubmFtZSA9ICJDYXB0dXJlIFNvdXJjZSIsICovCisJCS5uYW1lID0gIklucHV0IFNvdXJjZSIsCisJCS5jb3VudCA9IDIsCisJCS5pbmZvID0gYWxjODgzX211eF9lbnVtX2luZm8sCisJCS5nZXQgPSBhbGM4ODNfbXV4X2VudW1fZ2V0LAorCQkucHV0ID0gYWxjODgzX211eF9lbnVtX3B1dCwKKwl9LAorCXsgfSAvKiBlbmQgKi8KK307CisKIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM4ODNfZml2ZXN0YWNrX21peGVyW10gPSB7CiAJSERBX0NPREVDX1ZPTFVNRSgiRnJvbnQgUGxheWJhY2sgVm9sdW1lIiwgMHgwYywgMHgwLCBIREFfT1VUUFVUKSwKLQlIREFfQ09ERUNfTVVURSgiRnJvbnQgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQklORF9NVVRFKCJGcm9udCBQbGF5YmFjayBTd2l0Y2giLCAweDBjLCAyLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19WT0xVTUUoIlN1cnJvdW5kIFBsYXliYWNrIFZvbHVtZSIsIDB4MGQsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEUoIlN1cnJvdW5kIFBsYXliYWNrIFN3aXRjaCIsIDB4MTUsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURSgiU3Vycm91bmQgUGxheWJhY2sgU3dpdGNoIiwgMHgwZCwgMiwgSERBX0lOUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FX01PTk8oIkNlbnRlciBQbGF5YmFjayBWb2x1bWUiLCAweDBlLCAxLCAweDAsIEhEQV9PVVRQVVQpLAogCUhEQV9DT0RFQ19WT0xVTUVfTU9OTygiTEZFIFBsYXliYWNrIFZvbHVtZSIsIDB4MGUsIDIsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEVfTU9OTygiQ2VudGVyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTYsIDEsIDB4MCwgSERBX09VVFBVVCksCi0JSERBX0NPREVDX01VVEVfTU9OTygiTEZFIFBsYXliYWNrIFN3aXRjaCIsIDB4MTYsIDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0JJTkRfTVVURV9NT05PKCJDZW50ZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgwZSwgMSwgMiwgSERBX0lOUFVUKSwKKwlIREFfQklORF9NVVRFX01PTk8oIkxGRSBQbGF5YmFjayBTd2l0Y2giLCAweDBlLCAyLCAyLCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19NVVRFKCJIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoIiwgMHgxYiwgMHgwLCBIREFfT1VUUFVUKSwKIAlIREFfQ09ERUNfVk9MVU1FKCJDRCBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDA0LCBIREFfSU5QVVQpLAogCUhEQV9DT0RFQ19NVVRFKCJDRCBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDA0LCBIREFfSU5QVVQpLApAQCAtNzcyOSw2ICs3ODk2LDcgQEAKIAlbQUxDODgzX01JVEFDXQkJPSAibWl0YWMiLAogCVtBTEM4ODNfQ0xFVk9fTTcyMF0JPSAiY2xldm8tbTcyMCIsCiAJW0FMQzg4M19GVUpJVFNVX1BJMjUxNV0gPSAiZnVqaXRzdS1waTI1MTUiLAorCVtBTEM4ODNfM1NUXzZjaF9JTlRFTF0JPSAiM3N0YWNrLTZjaC1pbnRlbCIsCiAJW0FMQzg4M19BVVRPXQkJPSAiYXV0byIsCiB9OwogCkBAIC03Nzg2LDYgKzc5NTQsOCBAQAogCVNORF9QQ0lfUVVJUksoMHgxN2MwLCAweDQwNzEsICJNRURJT04gTUQyIiwgQUxDODgzX01FRElPTl9NRDIpLAogCVNORF9QQ0lfUVVJUksoMHgxN2YyLCAweDUwMDAsICJBbGJhdHJvbiBLSTY5MC1BTTIiLCBBTEM4ODNfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE5OTEsIDB4NTYyNSwgIkhhaWVyIFc2NiIsIEFMQzg4M19IQUlFUl9XNjYpLAorCVNORF9QQ0lfUVVJUksoMHg4MDg2LCAweDAwMDEsICJERzMzQlVDIiwgQUxDODgzXzNTVF82Y2hfSU5URUwpLAorCVNORF9QQ0lfUVVJUksoMHg4MDg2LCAweDAwMDIsICJERzMzRkJDIiwgQUxDODgzXzNTVF82Y2hfSU5URUwpLAogCVNORF9QQ0lfUVVJUksoMHg4MDg2LCAweGQ2MDEsICJEMTAyR0dDIiwgQUxDODgzXzNTVF82Y2gpLAogCXt9CiB9OwpAQCAtNzgyNCw2ICs3OTk0LDE4IEBACiAJCS5uZWVkX2RhY19maXggPSAxLAogCQkuaW5wdXRfbXV4ID0gJmFsYzg4M19jYXB0dXJlX3NvdXJjZSwKIAl9LAorCVtBTEM4ODNfM1NUXzZjaF9JTlRFTF0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzg4M18zU1RfNmNoX2ludGVsX21peGVyLCBhbGM4ODNfY2htb2RlX21peGVyIH0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM4ODNfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzg4M19kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzg4M19kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDODgzX0RJR09VVF9OSUQsCisJCS5kaWdfaW5fbmlkID0gQUxDODgzX0RJR0lOX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzg4M18zU1RfNmNoX2ludGVsX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzg4M18zU1RfNmNoX2ludGVsX21vZGVzLAorCQkubmVlZF9kYWNfZml4ID0gMSwKKwkJLmlucHV0X211eCA9ICZhbGM4ODNfM3N0YWNrXzZjaF9pbnRlbCwKKwl9LAogCVtBTEM4ODNfNlNUX0RJR10gPSB7CiAJCS5taXhlcnMgPSB7IGFsYzg4M19iYXNlX21peGVyLCBhbGM4ODNfY2htb2RlX21peGVyIH0sCiAJCS5pbml0X3ZlcmJzID0geyBhbGM4ODNfaW5pdF92ZXJicyB9LApAQCAtODE0NSw2ICs4MzI3LDggQEAKIAogCWNvZGVjLT5zcGVjID0gc3BlYzsKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MGEsIDEwKTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEM4ODNfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjODgzX21vZGVscywKIAkJCQkJCSAgYWxjODgzX2NmZ190YmwpOwpAQCAtODE3MSwxMiArODM1NSwyNSBAQAogCWlmIChib2FyZF9jb25maWcgIT0gQUxDODgzX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjODgzX3ByZXNldHNbYm9hcmRfY29uZmlnXSk7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODgzIEFuYWxvZyI7CisJc3dpdGNoIChjb2RlYy0+dmVuZG9yX2lkKSB7CisJY2FzZSAweDEwZWMwODg4OgorCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODg4IEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODg4IERpZ2l0YWwiOworCQlicmVhazsKKwljYXNlIDB4MTBlYzA4ODk6CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODkgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODkgRGlnaXRhbCI7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4ODMgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4ODMgRGlnaXRhbCI7CisJCWJyZWFrOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjODgzX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzg4M19wY21fYW5hbG9nX2NhcHR1cmU7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19hbHRfY2FwdHVyZSA9ICZhbGM4ODNfcGNtX2FuYWxvZ19hbHRfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODgzIERpZ2l0YWwiOwogCXNwZWMtPnN0cmVhbV9kaWdpdGFsX3BsYXliYWNrID0gJmFsYzg4M19wY21fZGlnaXRhbF9wbGF5YmFjazsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9jYXB0dXJlID0gJmFsYzg4M19wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC04MTg5LDYgKzgzODYsOSBAQAogCWNvZGVjLT5wYXRjaF9vcHMgPSBhbGNfcGF0Y2hfb3BzOwogCWlmIChib2FyZF9jb25maWcgPT0gQUxDODgzX0FVVE8pCiAJCXNwZWMtPmluaXRfaG9vayA9IGFsYzg4M19hdXRvX2luaXQ7CisJZWxzZSBpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwODg4KQorCQlzcGVjLT5pbml0X2hvb2sgPSBhbGM4ODhfY29lZl9pbml0OworCiAjaWZkZWYgQ09ORklHX1NORF9IREFfUE9XRVJfU0FWRQogCWlmICghc3BlYy0+bG9vcGJhY2suYW1wbGlzdCkKIAkJc3BlYy0+bG9vcGJhY2suYW1wbGlzdCA9IGFsYzg4M19sb29wYmFja3M7CkBAIC05NTIyLDYgKzk3MjIsOCBAQAogCVNORF9QQ0lfUVVJUksoMHgxMDRkLCAweDgyMGYsICJTb255IEFTU0FNRCIsIEFMQzI2Ml9TT05ZX0FTU0FNRCksCiAJU05EX1BDSV9RVUlSSygweDEwNGQsIDB4OTAwZSwgIlNvbnkgQVNTQU1EIiwgQUxDMjYyX1NPTllfQVNTQU1EKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0ZCwgMHg5MDE1LCAiU29ueSAweDkwMTUiLCBBTEMyNjJfU09OWV9BU1NBTUQpLAorCVNORF9QQ0lfUVVJUksoMHgxMTc5LCAweDAwMDEsICJUb3NoaWJhIGR5bmFib29rIFNTIFJYMSIsCisJCSAgICAgIEFMQzI2Ml9TT05ZX0FTU0FNRCksCiAJU05EX1BDSV9RVUlSSygweDEwY2YsIDB4MTM5NywgIkZ1aml0c3UiLCBBTEMyNjJfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDEwY2YsIDB4MTQyZCwgIkZ1aml0c3UgTGlmZWJvb2sgRTg0MTAiLCBBTEMyNjJfRlVKSVRTVSksCiAJU05EX1BDSV9RVUlSSygweDE0NGQsIDB4YzAzMiwgIlNhbXN1bmcgUTEgVWx0cmEiLCBBTEMyNjJfVUxUUkEpLApAQCAtOTcyOSw2ICs5OTMxLDggQEAKIAl9CiAjZW5kaWYKIAorCWFsY19maXhfcGxsX2luaXQoY29kZWMsIDB4MjAsIDB4MGEsIDEwKTsKKwogCWJvYXJkX2NvbmZpZyA9IHNuZF9oZGFfY2hlY2tfYm9hcmRfY29uZmlnKGNvZGVjLCBBTEMyNjJfTU9ERUxfTEFTVCwKIAkJCQkJCSAgYWxjMjYyX21vZGVscywKIAkJCQkJCSAgYWxjMjYyX2NmZ190YmwpOwpAQCAtMTA2NzQsMTIgKzEwODc4LDE4IEBACiAJaWYgKGJvYXJkX2NvbmZpZyAhPSBBTEMyNjhfQVVUTykKIAkJc2V0dXBfcHJlc2V0KHNwZWMsICZhbGMyNjhfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEMyNjggQW5hbG9nIjsKKwlpZiAoY29kZWMtPnZlbmRvcl9pZCA9PSAweDEwZWMwMjY3KSB7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEMyNjcgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEMyNjcgRGlnaXRhbCI7CisJfSBlbHNlIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzI2OCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzI2OCBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzI2OF9wY21fYW5hbG9nX3BsYXliYWNrOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfY2FwdHVyZSA9ICZhbGMyNjhfcGNtX2FuYWxvZ19jYXB0dXJlOwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfYWx0X2NhcHR1cmUgPSAmYWxjMjY4X3BjbV9hbmFsb2dfYWx0X2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzI2OCBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGMyNjhfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAKIAlpZiAoIXF1ZXJ5X2FtcF9jYXBzKGNvZGVjLCAweDFkLCBIREFfSU5QVVQpKQpAQCAtMTEwMzMsNiArMTEyNDMsOCBAQAogCiAJY29kZWMtPnNwZWMgPSBzcGVjOwogCisJYWxjX2ZpeF9wbGxfaW5pdChjb2RlYywgMHgyMCwgMHgwNCwgMTUpOworCiAJYm9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsIEFMQzI2OV9NT0RFTF9MQVNULAogCQkJCQkJICBhbGMyNjlfbW9kZWxzLAogCQkJCQkJICBhbGMyNjlfY2ZnX3RibCk7CkBAIC0xMjYzMSw2ICsxMjg0MywxMiBAQAogCXsgfQogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjB2ZF9lYXBkX3ZlcmJzW10gPSB7CisJezB4MTQsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwl7MHgxNSwgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDJ9LAorCXsgfQorfTsKKwogc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM4NjF2ZF9sZW5vdm9fdW5zb2xfdmVyYnNbXSA9IHsKIAl7MHgwYywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCiAJezB4MGMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMSl9LApAQCAtMTI3ODYsNiArMTMwMDQsNyBAQAogCVNORF9QQ0lfUVVJUksoMHgxNTY1LCAweDgyMGQsICJCaW9zdGFyIE5GNjFTIFNFIiwgQUxDODYxVkRfNlNUX0RJRyksCiAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4MjA2NiwgIkxlbm92byIsIEFMQzg2MVZEX0xFTk9WTyksCiAJU05EX1BDSV9RVUlSSygweDE3YWEsIDB4MzgwMiwgIkxlbm92byAzMDAwIEMyMDAiLCBBTEM4NjFWRF9MRU5PVk8pLAorCVNORF9QQ0lfUVVJUksoMHgxN2FhLCAweDM4NGUsICJMZW5vdm8gMzAwMCBOMjAwIiwgQUxDODYxVkRfTEVOT1ZPKSwKIAlTTkRfUENJX1FVSVJLKDB4MTg0OSwgMHgwODYyLCAiQVNSb2NrIEs4TkY2Ry1WU1RBIiwgQUxDODYxVkRfNlNUX0RJRyksCiAJe30KIH07CkBAIC0xMzE2OCwxMSArMTMzODcsMTkgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzg2MVZEX0FVVE8pCiAJCXNldHVwX3ByZXNldChzcGVjLCAmYWxjODYxdmRfcHJlc2V0c1tib2FyZF9jb25maWddKTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2FuYWxvZyA9ICJBTEM4NjFWRCBBbmFsb2ciOworCWlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzA2NjApIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MC1WRCBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MC1WRCBEaWdpdGFsIjsKKwkJLyogYWx3YXlzIHR1cm4gb24gRUFQRCAqLworCQlzcGVjLT5pbml0X3ZlcmJzW3NwZWMtPm51bV9pbml0X3ZlcmJzKytdID0gYWxjNjYwdmRfZWFwZF92ZXJiczsKKwl9IGVsc2UgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDODYxVkQgQW5hbG9nIjsKKwkJc3BlYy0+c3RyZWFtX25hbWVfZGlnaXRhbCA9ICJBTEM4NjFWRCBEaWdpdGFsIjsKKwl9CisKIAlzcGVjLT5zdHJlYW1fYW5hbG9nX3BsYXliYWNrID0gJmFsYzg2MXZkX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzg2MXZkX3BjbV9hbmFsb2dfY2FwdHVyZTsKIAotCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDODYxVkQgRGlnaXRhbCI7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfcGxheWJhY2sgPSAmYWxjODYxdmRfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM4NjF2ZF9wY21fZGlnaXRhbF9jYXB0dXJlOwogCkBAIC0xMzI1MSw2ICsxMzQ3OCwyMyBAQAogCX0sCiB9OwogCitzdGF0aWMgc3RydWN0IGhkYV9pbnB1dF9tdXggYWxjNjYzX2NhcHR1cmVfc291cmNlID0geworCS5udW1faXRlbXMgPSAzLAorCS5pdGVtcyA9IHsKKwkJeyAiTWljIiwgMHgwIH0sCisJCXsgIkZyb250IE1pYyIsIDB4MSB9LAorCQl7ICJMaW5lIiwgMHgyIH0sCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX2lucHV0X211eCBhbGM2NjNfbTUxdmFfY2FwdHVyZV9zb3VyY2UgPSB7CisJLm51bV9pdGVtcyA9IDIsCisJLml0ZW1zID0geworCQl7ICJFeHQtTWljIiwgMHgwIH0sCisJCXsgIkQtTWljIiwgMHg5IH0sCisJfSwKK307CisKICNkZWZpbmUgYWxjNjYyX211eF9lbnVtX2luZm8gYWxjX211eF9lbnVtX2luZm8KICNkZWZpbmUgYWxjNjYyX211eF9lbnVtX2dldCBhbGNfbXV4X2VudW1fZ2V0CiAjZGVmaW5lIGFsYzY2Ml9tdXhfZW51bV9wdXQgYWxjODgyX211eF9lbnVtX3B1dApAQCAtMTM0MzEsNiArMTM2NzUsNDQgQEAKIAl7IH0gLyogZW5kICovCiB9OwogCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYzX201MXZhX21peGVyW10gPSB7CisJSERBX0NPREVDX1ZPTFVNRSgiU3BlYWtlciBQbGF5YmFjayBWb2x1bWUiLCAweDAyLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIDB4MTQsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDIxLCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIk1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIk1pYyBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoIkRNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgyMywgMHg5LCBIREFfSU5QVVQpLAorCXsgfSAvKiBlbmQgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjNfZzcxdl9taXhlcltdID0geworCUhEQV9DT0RFQ19WT0xVTUUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgMHgwMiwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiU3BlYWtlciBQbGF5YmFjayBTd2l0Y2giLCAweDE0LCAweDAsIEhEQV9PVVRQVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkZyb250IFBsYXliYWNrIFZvbHVtZSIsIDB4MDMsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkZyb250IFBsYXliYWNrIFN3aXRjaCIsIDB4MTUsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIkhlYWRwaG9uZSBQbGF5YmFjayBTd2l0Y2giLCAweDIxLCAweDAsIEhEQV9PVVRQVVQpLAorCisJSERBX0NPREVDX1ZPTFVNRSgiTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MCwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfVk9MVU1FKCJpLU1pYyBQbGF5YmFjayBWb2x1bWUiLCAweDBiLCAweDEsIEhEQV9JTlBVVCksCisJSERBX0NPREVDX01VVEUoImktTWljIFBsYXliYWNrIFN3aXRjaCIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwl7IH0gLyogZW5kICovCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYzX2c1MHZfbWl4ZXJbXSA9IHsKKwlIREFfQ09ERUNfVk9MVU1FKCJTcGVha2VyIFBsYXliYWNrIFZvbHVtZSIsIDB4MDIsIDB4MCwgSERBX09VVFBVVCksCisJSERBX0NPREVDX01VVEUoIlNwZWFrZXIgUGxheWJhY2sgU3dpdGNoIiwgMHgxNCwgMHgwLCBIREFfT1VUUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiSGVhZHBob25lIFBsYXliYWNrIFN3aXRjaCIsIDB4MjEsIDB4MCwgSERBX09VVFBVVCksCisKKwlIREFfQ09ERUNfVk9MVU1FKCJNaWMgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19NVVRFKCJNaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgwLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoImktTWljIFBsYXliYWNrIFZvbHVtZSIsIDB4MGIsIDB4MSwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiaS1NaWMgUGxheWJhY2sgU3dpdGNoIiwgMHgwYiwgMHgxLCBIREFfSU5QVVQpLAorCUhEQV9DT0RFQ19WT0xVTUUoIkxpbmUgUGxheWJhY2sgVm9sdW1lIiwgMHgwYiwgMHgwMiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiTGluZSBQbGF5YmFjayBTd2l0Y2giLCAweDBiLCAweDAyLCBIREFfSU5QVVQpLAorCXsgfSAvKiBlbmQgKi8KK307CisKIHN0YXRpYyBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhbGM2NjJfY2htb2RlX21peGVyW10gPSB7CiAJewogCQkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwKQEAgLTEzNTAxLDYgKzEzNzgzLDExIEBACiAJezB4MjMsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMSl9LAogCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDIpfSwKIAl7MHgyMywgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSg0KX0sCisKKwkvKiBhbHdheXMgdHJ1biBvbiBFQVBEICovCisJezB4MTQsIEFDX1ZFUkJfU0VUX0VBUERfQlRMRU5BQkxFLCAyfSwKKwl7MHgxNSwgQUNfVkVSQl9TRVRfRUFQRF9CVExFTkFCTEUsIDJ9LAorCiAJeyB9CiB9OwogCkBAIC0xMzU3MSw2ICsxMzg1OCw0MyBAQAogCXsgfQogfTsKIAorc3RhdGljIHN0cnVjdCBoZGFfdmVyYiBhbGM2NjNfbTUxdmFfaW5pdF92ZXJic1tdID0geworCXsweDIxLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9IUH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDB9LAkvKiBIZWFkcGhvbmUgKi8KKworCXsweDIzLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDkpfSwKKworCXsweDE4LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX01JQ19FVkVOVH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU4gfCBBTEM4ODBfSFBfRVZFTlR9LAorCXt9Cit9OworCitzdGF0aWMgc3RydWN0IGhkYV92ZXJiIGFsYzY2M19nNzF2X2luaXRfdmVyYnNbXSA9IHsKKwl7MHgxNSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCS8qIHsweDE1LCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sICovCisJLyogezB4MTUsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAxfSwgKi8gLyogSGVhZHBob25lICovCisKKwl7MHgyMSwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fSFB9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfT1VUX1VOTVVURX0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDAwfSwJLyogSGVhZHBob25lICovCisKKwl7MHgxNSwgQUNfVkVSQl9TRVRfVU5TT0xJQ0lURURfRU5BQkxFLCBBQ19VU1JTUF9FTnxBTEM4ODBfRlJPTlRfRVZFTlR9LAorCXsweDE4LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOfEFMQzg4MF9NSUNfRVZFTlR9LAorCXsweDIxLCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOfEFMQzg4MF9IUF9FVkVOVH0sCisJe30KK307CisKK3N0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgYWxjNjYzX2c1MHZfaW5pdF92ZXJic1tdID0geworCXsweDIxLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9IUH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9PVVRfVU5NVVRFfSwKKwl7MHgyMSwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4MDB9LAkvKiBIZWFkcGhvbmUgKi8KKworCXsweDE4LCBBQ19WRVJCX1NFVF9VTlNPTElDSVRFRF9FTkFCTEUsIEFDX1VTUlNQX0VOIHwgQUxDODgwX01JQ19FVkVOVH0sCisJezB4MjEsIEFDX1ZFUkJfU0VUX1VOU09MSUNJVEVEX0VOQUJMRSwgQUNfVVNSU1BfRU4gfCBBTEM4ODBfSFBfRVZFTlR9LAorCXt9Cit9OworCiAvKiBjYXB0dXJlIG1peGVyIGVsZW1lbnRzICovCiBzdGF0aWMgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWxjNjYyX2NhcHR1cmVfbWl4ZXJbXSA9IHsKIAlIREFfQ09ERUNfVk9MVU1FKCJDYXB0dXJlIFZvbHVtZSIsIDB4MDksIDB4MCwgSERBX0lOUFVUKSwKQEAgLTEzNjkyLDYgKzE0MDE2LDEyNSBAQAogCWFsYzY2Ml9lZWVwY19lcDIwX2F1dG9tdXRlKGNvZGVjKTsKIH0KIAorc3RhdGljIHZvaWQgYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCit7CisJdW5zaWduZWQgaW50IHByZXNlbnQ7CisJdW5zaWduZWQgY2hhciBiaXRzOworCisJcHJlc2VudCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgyMSwgMCwKKwkJCQkgICAgIEFDX1ZFUkJfR0VUX1BJTl9TRU5TRSwgMCkKKwkJJiBBQ19QSU5TRU5TRV9QUkVTRU5DRTsKKwliaXRzID0gcHJlc2VudCA/IEhEQV9BTVBfTVVURSA6IDA7CisJc25kX2hkYV9jb2RlY19hbXBfc3RlcmVvKGNvZGVjLCAweDE0LCBIREFfT1VUUFVULCAwLAorCQkJCSBIREFfQU1QX01VVEUsIGJpdHMpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfbWljX2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCisJcHJlc2VudCA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgMHgxOCwgMCwKKwkJCQkgICAgIEFDX1ZFUkJfR0VUX1BJTl9TRU5TRSwgMCkKKwkJJiBBQ19QSU5TRU5TRV9QUkVTRU5DRTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIyLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDAwIDw8IDgpIHwgKHByZXNlbnQgPyAwIDogMHg4MCkpOworCXNuZF9oZGFfY29kZWNfd3JpdGVfY2FjaGUoY29kZWMsIDB4MjMsIDAsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsCisJCQkgICAgMHg3MDAwIHwgKDB4MDAgPDwgOCkgfCAocHJlc2VudCA/IDAgOiAweDgwKSk7CisJc25kX2hkYV9jb2RlY193cml0ZV9jYWNoZShjb2RlYywgMHgyMiwgMCwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwKKwkJCSAgICAweDcwMDAgfCAoMHgwOSA8PCA4KSB8IChwcmVzZW50ID8gMHg4MCA6IDApKTsKKwlzbmRfaGRhX2NvZGVjX3dyaXRlX2NhY2hlKGNvZGVjLCAweDIzLCAwLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLAorCQkJICAgIDB4NzAwMCB8ICgweDA5IDw8IDgpIHwgKHByZXNlbnQgPyAweDgwIDogMCkpOworfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfbTUxdmFfdW5zb2xfZXZlbnQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCSAgIHVuc2lnbmVkIGludCByZXMpCit7CisJc3dpdGNoIChyZXMgPj4gMjYpIHsKKwljYXNlIEFMQzg4MF9IUF9FVkVOVDoKKwkJYWxjNjYzX201MXZhX3NwZWFrZXJfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9NSUNfRVZFTlQ6CisJCWFsYzY2M19tNTF2YV9taWNfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19tNTF2YV9pbml0aG9vayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYzX201MXZhX21pY19hdXRvbXV0ZShjb2RlYyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X2hwX2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCXVuc2lnbmVkIGNoYXIgYml0czsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MjEsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJYml0cyA9IHByZXNlbnQgPyBIREFfQU1QX01VVEUgOiAwOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNSwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKKwlzbmRfaGRhX2NvZGVjX2FtcF9zdGVyZW8oY29kZWMsIDB4MTQsIEhEQV9PVVRQVVQsIDAsCisJCQkJIEhEQV9BTVBfTVVURSwgYml0cyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X2Zyb250X2F1dG9tdXRlKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXVuc2lnbmVkIGludCBwcmVzZW50OworCXVuc2lnbmVkIGNoYXIgYml0czsKKworCXByZXNlbnQgPSBzbmRfaGRhX2NvZGVjX3JlYWQoY29kZWMsIDB4MTUsIDAsCisJCQkJICAgICBBQ19WRVJCX0dFVF9QSU5fU0VOU0UsIDApCisJCSYgQUNfUElOU0VOU0VfUFJFU0VOQ0U7CisJYml0cyA9IHByZXNlbnQgPyBIREFfQU1QX01VVEUgOiAwOworCXNuZF9oZGFfY29kZWNfYW1wX3N0ZXJlbyhjb2RlYywgMHgxNCwgSERBX09VVFBVVCwgMCwKKwkJCQkgSERBX0FNUF9NVVRFLCBiaXRzKTsKK30KKworc3RhdGljIHZvaWQgYWxjNjYzX2c3MXZfdW5zb2xfZXZlbnQoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCSAgIHVuc2lnbmVkIGludCByZXMpCit7CisJc3dpdGNoIChyZXMgPj4gMjYpIHsKKwljYXNlIEFMQzg4MF9IUF9FVkVOVDoKKwkJYWxjNjYzX2c3MXZfaHBfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9GUk9OVF9FVkVOVDoKKwkJYWxjNjYzX2c3MXZfZnJvbnRfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwljYXNlIEFMQzg4MF9NSUNfRVZFTlQ6CisJCWFsYzY2Ml9lZWVwY19taWNfYXV0b211dGUoY29kZWMpOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNzF2X2luaXRob29rKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCWFsYzY2M19nNzF2X2Zyb250X2F1dG9tdXRlKGNvZGVjKTsKKwlhbGM2NjNfZzcxdl9ocF9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsYzY2M19nNTB2X3Vuc29sX2V2ZW50KHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAorCQkJCQkgICB1bnNpZ25lZCBpbnQgcmVzKQoreworCXN3aXRjaCAocmVzID4+IDI2KSB7CisJY2FzZSBBTEM4ODBfSFBfRVZFTlQ6CisJCWFsYzY2M19tNTF2YV9zcGVha2VyX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJY2FzZSBBTEM4ODBfTUlDX0VWRU5UOgorCQlhbGM2NjJfZWVlcGNfbWljX2F1dG9tdXRlKGNvZGVjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBhbGM2NjNfZzUwdl9pbml0aG9vayhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlhbGM2NjNfbTUxdmFfc3BlYWtlcl9hdXRvbXV0ZShjb2RlYyk7CisJYWxjNjYyX2VlZXBjX21pY19hdXRvbXV0ZShjb2RlYyk7Cit9CisKICNpZmRlZiBDT05GSUdfU05EX0hEQV9QT1dFUl9TQVZFCiAjZGVmaW5lIGFsYzY2Ml9sb29wYmFja3MJYWxjODgwX2xvb3BiYWNrcwogI2VuZGlmCkBAIC0xMzcxNCwxNCArMTQxNTcsMjQgQEAKIAlbQUxDNjYyX0xFTk9WT18xMDFFXQk9ICJsZW5vdm8tMTAxZSIsCiAJW0FMQzY2Ml9BU1VTX0VFRVBDX1A3MDFdID0gImVlZXBjLXA3MDEiLAogCVtBTEM2NjJfQVNVU19FRUVQQ19FUDIwXSA9ICJlZWVwYy1lcDIwIiwKKwlbQUxDNjYzX0FTVVNfTTUxVkFdID0gIm01MXZhIiwKKwlbQUxDNjYzX0FTVVNfRzcxVl0gPSAiZzcxdiIsCisJW0FMQzY2M19BU1VTX0gxM10gPSAiaDEzIiwKKwlbQUxDNjYzX0FTVVNfRzUwVl0gPSAiZzUwdiIsCiAJW0FMQzY2Ml9BVVRPXQkJPSAiYXV0byIsCiB9OwogCiBzdGF0aWMgc3RydWN0IHNuZF9wY2lfcXVpcmsgYWxjNjYyX2NmZ190YmxbXSA9IHsKKwlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHgxMWMzLCAiQVNVUyBHNzFWIiwgQUxDNjYzX0FTVVNfRzcxViksCisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4MTg3OCwgIkFTVVMgTTUxVkEiLCBBTEM2NjNfQVNVU19NNTFWQSksCisJU05EX1BDSV9RVUlSSygweDEwNDMsIDB4MTlhMywgIkFTVVMgTTUxVkEiLCBBTEM2NjNfQVNVU19HNTBWKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MjkwLCAiQVNVUyBQNUdDLU1YIiwgQUxDNjYyXzNTVF82Y2hfRElHKSwKIAlTTkRfUENJX1FVSVJLKDB4MTA0MywgMHg4MmExLCAiQVNVUyBFZWVwYyIsIEFMQzY2Ml9BU1VTX0VFRVBDX1A3MDEpLAogCVNORF9QQ0lfUVVJUksoMHgxMDQzLCAweDgyZDEsICJBU1VTIEVlZXBjIEVQMjAiLCBBTEM2NjJfQVNVU19FRUVQQ19FUDIwKSwKIAlTTkRfUENJX1FVSVJLKDB4MTdhYSwgMHgxMDFlLCAiTGVub3ZvIiwgQUxDNjYyX0xFTk9WT18xMDFFKSwKKwlTTkRfUENJX1FVSVJLKDB4MTg1NCwgMHgyMDAwLCAiQVNVUyBIMTMtMjAwMCIsIEFMQzY2M19BU1VTX0gxMyksCisJU05EX1BDSV9RVUlSSygweDE4NTQsIDB4MjAwMSwgIkFTVVMgSDEzLTIwMDEiLCBBTEM2NjNfQVNVU19IMTMpLAorCVNORF9QQ0lfUVVJUksoMHgxODU0LCAweDIwMDIsICJBU1VTIEgxMy0yMDAyIiwgQUxDNjYzX0FTVVNfSDEzKSwKIAl7fQogfTsKIApAQCAtMTM4MDksNyArMTQyNjIsNTMgQEAKIAkJLnVuc29sX2V2ZW50ID0gYWxjNjYyX2VlZXBjX2VwMjBfdW5zb2xfZXZlbnQsCiAJCS5pbml0X2hvb2sgPSBhbGM2NjJfZWVlcGNfZXAyMF9pbml0aG9vaywKIAl9LAotCisJW0FMQzY2M19BU1VTX001MVZBXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX201MXZhX21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX201MXZhX2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5kaWdfb3V0X25pZCA9IEFMQzY2Ml9ESUdPVVRfTklELAorCQkubnVtX2NoYW5uZWxfbW9kZSA9IEFSUkFZX1NJWkUoYWxjNjYyXzNTVF8yY2hfbW9kZXMpLAorCQkuY2hhbm5lbF9tb2RlID0gYWxjNjYyXzNTVF8yY2hfbW9kZXMsCisJCS5pbnB1dF9tdXggPSAmYWxjNjYzX201MXZhX2NhcHR1cmVfc291cmNlLAorCQkudW5zb2xfZXZlbnQgPSBhbGM2NjNfbTUxdmFfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfbTUxdmFfaW5pdGhvb2ssCisJfSwKKwlbQUxDNjYzX0FTVVNfRzcxVl0gPSB7CisJCS5taXhlcnMgPSB7IGFsYzY2M19nNzF2X21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX2c3MXZfaW5pdF92ZXJicyB9LAorCQkubnVtX2RhY3MgPSBBUlJBWV9TSVpFKGFsYzY2Ml9kYWNfbmlkcyksCisJCS5kYWNfbmlkcyA9IGFsYzY2Ml9kYWNfbmlkcywKKwkJLmRpZ19vdXRfbmlkID0gQUxDNjYyX0RJR09VVF9OSUQsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzJjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzJjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjJfZWVlcGNfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19nNzF2X3Vuc29sX2V2ZW50LAorCQkuaW5pdF9ob29rID0gYWxjNjYzX2c3MXZfaW5pdGhvb2ssCisJfSwKKwlbQUxDNjYzX0FTVVNfSDEzXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX201MXZhX21peGVyLCBhbGM2NjJfY2FwdHVyZV9taXhlcn0sCisJCS5pbml0X3ZlcmJzID0geyBhbGM2NjJfaW5pdF92ZXJicywgYWxjNjYzX201MXZhX2luaXRfdmVyYnMgfSwKKwkJLm51bV9kYWNzID0gQVJSQVlfU0laRShhbGM2NjJfZGFjX25pZHMpLAorCQkuZGFjX25pZHMgPSBhbGM2NjJfZGFjX25pZHMsCisJCS5udW1fY2hhbm5lbF9tb2RlID0gQVJSQVlfU0laRShhbGM2NjJfM1NUXzJjaF9tb2RlcyksCisJCS5jaGFubmVsX21vZGUgPSBhbGM2NjJfM1NUXzJjaF9tb2RlcywKKwkJLmlucHV0X211eCA9ICZhbGM2NjNfbTUxdmFfY2FwdHVyZV9zb3VyY2UsCisJCS51bnNvbF9ldmVudCA9IGFsYzY2M19tNTF2YV91bnNvbF9ldmVudCwKKwkJLmluaXRfaG9vayA9IGFsYzY2M19tNTF2YV9pbml0aG9vaywKKwl9LAorCVtBTEM2NjNfQVNVU19HNTBWXSA9IHsKKwkJLm1peGVycyA9IHsgYWxjNjYzX2c1MHZfbWl4ZXIsIGFsYzY2Ml9jYXB0dXJlX21peGVyfSwKKwkJLmluaXRfdmVyYnMgPSB7IGFsYzY2Ml9pbml0X3ZlcmJzLCBhbGM2NjNfZzUwdl9pbml0X3ZlcmJzIH0sCisJCS5udW1fZGFjcyA9IEFSUkFZX1NJWkUoYWxjNjYyX2RhY19uaWRzKSwKKwkJLmRhY19uaWRzID0gYWxjNjYyX2RhY19uaWRzLAorCQkuZGlnX291dF9uaWQgPSBBTEM2NjJfRElHT1VUX05JRCwKKwkJLm51bV9jaGFubmVsX21vZGUgPSBBUlJBWV9TSVpFKGFsYzY2Ml8zU1RfNmNoX21vZGVzKSwKKwkJLmNoYW5uZWxfbW9kZSA9IGFsYzY2Ml8zU1RfNmNoX21vZGVzLAorCQkuaW5wdXRfbXV4ID0gJmFsYzY2M19jYXB0dXJlX3NvdXJjZSwKKwkJLnVuc29sX2V2ZW50ID0gYWxjNjYzX2c1MHZfdW5zb2xfZXZlbnQsCisJCS5pbml0X2hvb2sgPSBhbGM2NjNfZzUwdl9pbml0aG9vaywKKwl9LAogfTsKIAogCkBAIC0xNDA4Miw2ICsxNDU4MSw4IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAKKwlhbGNfZml4X3BsbF9pbml0KGNvZGVjLCAweDIwLCAweDA0LCAxNSk7CisKIAlib2FyZF9jb25maWcgPSBzbmRfaGRhX2NoZWNrX2JvYXJkX2NvbmZpZyhjb2RlYywgQUxDNjYyX01PREVMX0xBU1QsCiAJCQkJCQkgIGFsYzY2Ml9tb2RlbHMsCiAJCQkgIAkgICAgICAgICAgICAgICAgICBhbGM2NjJfY2ZnX3RibCk7CkBAIC0xNDEwOCwxMSArMTQ2MDksMTcgQEAKIAlpZiAoYm9hcmRfY29uZmlnICE9IEFMQzY2Ml9BVVRPKQogCQlzZXR1cF9wcmVzZXQoc3BlYywgJmFsYzY2Ml9wcmVzZXRzW2JvYXJkX2NvbmZpZ10pOwogCi0Jc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MiBBbmFsb2ciOworCWlmIChjb2RlYy0+dmVuZG9yX2lkID09IDB4MTBlYzA2NjMpIHsKKwkJc3BlYy0+c3RyZWFtX25hbWVfYW5hbG9nID0gIkFMQzY2MyBBbmFsb2ciOworCQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MyBEaWdpdGFsIjsKKwl9IGVsc2UgeworCQlzcGVjLT5zdHJlYW1fbmFtZV9hbmFsb2cgPSAiQUxDNjYyIEFuYWxvZyI7CisJCXNwZWMtPnN0cmVhbV9uYW1lX2RpZ2l0YWwgPSAiQUxDNjYyIERpZ2l0YWwiOworCX0KKwogCXNwZWMtPnN0cmVhbV9hbmFsb2dfcGxheWJhY2sgPSAmYWxjNjYyX3BjbV9hbmFsb2dfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2FuYWxvZ19jYXB0dXJlID0gJmFsYzY2Ml9wY21fYW5hbG9nX2NhcHR1cmU7CiAKLQlzcGVjLT5zdHJlYW1fbmFtZV9kaWdpdGFsID0gIkFMQzY2MiBEaWdpdGFsIjsKIAlzcGVjLT5zdHJlYW1fZGlnaXRhbF9wbGF5YmFjayA9ICZhbGM2NjJfcGNtX2RpZ2l0YWxfcGxheWJhY2s7CiAJc3BlYy0+c3RyZWFtX2RpZ2l0YWxfY2FwdHVyZSA9ICZhbGM2NjJfcGNtX2RpZ2l0YWxfY2FwdHVyZTsKIApAQCAtMTQxNTEsNiArMTQ2NTgsNyBAQAogCSAgLnBhdGNoID0gcGF0Y2hfYWxjODgzIH0sCiAJeyAuaWQgPSAweDEwZWMwNjYyLCAucmV2ID0gMHgxMDAxMDEsIC5uYW1lID0gIkFMQzY2MiByZXYxIiwKIAkgIC5wYXRjaCA9IHBhdGNoX2FsYzY2MiB9LAorCXsgLmlkID0gMHgxMGVjMDY2MywgLm5hbWUgPSAiQUxDNjYzIiwgLnBhdGNoID0gcGF0Y2hfYWxjNjYyIH0sCiAJeyAuaWQgPSAweDEwZWMwODgwLCAubmFtZSA9ICJBTEM4ODAiLCAucGF0Y2ggPSBwYXRjaF9hbGM4ODAgfSwKIAl7IC5pZCA9IDB4MTBlYzA4ODIsIC5uYW1lID0gIkFMQzg4MiIsIC5wYXRjaCA9IHBhdGNoX2FsYzg4MiB9LAogCXsgLmlkID0gMHgxMGVjMDg4MywgLm5hbWUgPSAiQUxDODgzIiwgLnBhdGNoID0gcGF0Y2hfYWxjODgzIH0sCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMgYi9zb3VuZC9wY2kvaGRhL3BhdGNoX3NpZ21hdGVsLmMKaW5kZXggYTRmNDRhMC4uMDhjYjc3ZiAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2hkYS9wYXRjaF9zaWdtYXRlbC5jCisrKyBiL3NvdW5kL3BjaS9oZGEvcGF0Y2hfc2lnbWF0ZWwuYwpAQCAtNjM2LDIxICs2MzYsMjggQEAKIAl7IDB4MGYsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogfTsKIAorI2RlZmluZSBIRF9ESVNBQkxFX1BPUlRGIDMKIHN0YXRpYyBzdHJ1Y3QgaGRhX3ZlcmIgc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfY29yZV9pbml0W10gPSB7CisJLyogc3RhcnQgb2YgY29uZmlnICMxICovCisKKwkvKiBjb25uZWN0IHBvcnQgMGYgdG8gYXVkaW8gbWl4ZXIgKi8KKwl7IDB4MGYsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDJ9LAorCXsgMHgwZiwgQUNfVkVSQl9TRVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUfSwgLyogU3BlYWtlciAqLworCS8qIHVubXV0ZSByaWdodCBhbmQgbGVmdCBjaGFubmVscyBmb3Igbm9kZSAweDBmICovCisJeyAweDBmLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKKwkvKiBzdGFydCBvZiBjb25maWcgIzIgKi8KKwogCS8qIHNldCBtYXN0ZXIgdm9sdW1lIGFuZCBkaXJlY3QgY29udHJvbCAqLwogCXsgMHgyOCwgQUNfVkVSQl9TRVRfVk9MVU1FX0tOT0JfQ09OVFJPTCwgMHhmZn0sCiAJLyogY29ubmVjdCBoZWFkcGhvbmUgamFjayB0byBkYWMxICovCiAJeyAweDBhLCBBQ19WRVJCX1NFVF9DT05ORUNUX1NFTCwgMHgwMX0sCi0JLyogY29ubmVjdCBwb3J0cyAwZCBhbmQgMGYgdG8gYXVkaW8gbWl4ZXIgKi8KKwkvKiBjb25uZWN0IHBvcnQgMGQgdG8gYXVkaW8gbWl4ZXIgKi8KIAl7IDB4MGQsIEFDX1ZFUkJfU0VUX0NPTk5FQ1RfU0VMLCAweDJ9LAotCXsgMHgwZiwgQUNfVkVSQl9TRVRfQ09OTkVDVF9TRUwsIDB4Mn0sCi0JeyAweDBmLCBBQ19WRVJCX1NFVF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVR9LCAvKiBTcGVha2VyICovCiAJLyogdW5tdXRlIGRhYzAgaW5wdXQgaW4gYXVkaW8gbWl4ZXIgKi8KIAl7IDB4MTcsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIDB4NzAxZn0sCi0JLyogdW5tdXRlIHJpZ2h0IGFuZCBsZWZ0IGNoYW5uZWxzIGZvciBub2RlcyAweDBhLCAweGQsIDB4MGYgKi8KKwkvKiB1bm11dGUgcmlnaHQgYW5kIGxlZnQgY2hhbm5lbHMgZm9yIG5vZGVzIDB4MGEsIDB4ZCAqLwogCXsgMHgwYSwgQUNfVkVSQl9TRVRfQU1QX0dBSU5fTVVURSwgQU1QX0lOX1VOTVVURSgwKX0sCiAJeyAweDBkLCBBQ19WRVJCX1NFVF9BTVBfR0FJTl9NVVRFLCBBTVBfSU5fVU5NVVRFKDApfSwKLQl7IDB4MGYsIEFDX1ZFUkJfU0VUX0FNUF9HQUlOX01VVEUsIEFNUF9JTl9VTk1VVEUoMCl9LAogCXt9CiB9OwogCkBAIC04MTgsNiArODI1LDkgQEAKIAlIREFfQ09ERUNfTVVURV9JRFgoIkNhcHR1cmUgU3dpdGNoIiwgMHgxLCAweDFkLCAweDAsIEhEQV9PVVRQVVQpLAogCUhEQV9DT0RFQ19WT0xVTUVfSURYKCJDYXB0dXJlIE11eCBWb2x1bWUiLCAweDEsIDB4MWIsIDB4MCwgSERBX09VVFBVVCksCiAKKwlIREFfQ09ERUNfVk9MVU1FKCJQQyBCZWVwIFZvbHVtZSIsIDB4MTcsIDB4MiwgSERBX0lOUFVUKSwKKwlIREFfQ09ERUNfTVVURSgiUEMgQmVlcCBTd2l0Y2giLCAweDE3LCAweDIsIEhEQV9JTlBVVCksCisKIAlIREFfQ09ERUNfTVVURSgiQW5hbG9nIExvb3BiYWNrIDEiLCAweDE3LCAweDMsIEhEQV9JTlBVVCksCiAJSERBX0NPREVDX01VVEUoIkFuYWxvZyBMb29wYmFjayAyIiwgMHgxNywgMHg0LCBIREFfSU5QVVQpLAogCXsgfSAvKiBlbmQgKi8KQEAgLTEzMTcsMTMgKzEzMjcsMTMgQEAKIAkweDkwYTAwMGYwLCAweDAxNDUyMDUwLAogfTsKIAotc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzFfcGluX2NvbmZpZ3NbMTNdID0geworc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzFfcGluX2NvbmZpZ3NbMTBdID0gewogCTB4MDQyMTEwMWYsIDB4MDRhMTEyMjEsIDB4NDBmMDAwZjAsIDB4OTAxNzAxMTAsCiAJMHgyM2ExOTAyZSwgMHgyMzAxNDI1MCwgMHg0MGYwMDBmMCwgMHg5MGEwMDBmMCwKIAkweDQwZjAwMGYwLCAweDRmMDAwMGYwLAogfTsKIAotc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzJfcGluX2NvbmZpZ3NbMTNdID0geworc3RhdGljIHVuc2lnbmVkIGludCBkZWxsX200XzJfcGluX2NvbmZpZ3NbMTBdID0gewogCTB4MDQyMTEwMWYsIDB4MDRhMTEyMjEsIDB4OTBhNzAzMzAsIDB4OTAxNzAxMTAsCiAJMHgyM2ExOTAyZSwgMHgyMzAxNDI1MCwgMHg0MGYwMDBmMCwgMHg0MGYwMDBmMCwKIAkweDQwZjAwMGYwLCAweDA0NDQxM2IwLApAQCAtMTc1NCwxMiArMTc2NCw4IEBACiAJCSAgICAgICJ1bmtub3duIERlbGwiLCBTVEFDXzkyMDVfREVMTF9NNDIpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZjgsCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxYywKLQkJCSAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWY5LAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWIsCi0JCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmYSwKIAkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKIAlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZjLApAQCAtMTc3MCwxOCArMTc3NiwxNCBAQAogCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmYsCiAJCSAgICAgICJEZWxsIFByZWNpc2lvbiBNNDMwMCIsIFNUQUNfOTIwNV9ERUxMX000MyksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIwNiwKLQkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWYxLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCi0JU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDFmMiwKLQkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAotCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAxZmMsCi0JCSAgICAgICJEZWxsIEluc3Bpcm9uIiwgU1RBQ185MjA1X0RFTExfTTQ0KSwKLQlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMWZkLAotCQkgICAgICAiRGVsbCBJbnNwaXJvbiIsIFNUQUNfOTIwNV9ERUxMX000NCksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIwNCwKIAkJICAgICAgInVua25vd24gRGVsbCIsIFNUQUNfOTIwNV9ERUxMX000MiksCisJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIwNiwKKwkJICAgICAgIkRlbGwgUHJlY2lzaW9uIiwgU1RBQ185MjA1X0RFTExfTTQzKSwKKwlTTkRfUENJX1FVSVJLKFBDSV9WRU5ET1JfSURfREVMTCwgMHgwMjFiLAorCQkgICAgICAiRGVsbCBQcmVjaXNpb24iLCBTVEFDXzkyMDVfREVMTF9NNDMpLAorCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMWMsCisJCSAgICAgICJEZWxsIFByZWNpc2lvbiIsIFNUQUNfOTIwNV9ERUxMX000MyksCiAJU05EX1BDSV9RVUlSSyhQQ0lfVkVORE9SX0lEX0RFTEwsIDB4MDIxZiwKIAkJICAgICAgIkRlbGwgSW5zcGlyb24iLCBTVEFDXzkyMDVfREVMTF9NNDQpLAogCVNORF9QQ0lfUVVJUksoUENJX1ZFTkRPUl9JRF9ERUxMLCAweDAyMjgsCkBAIC0zMTAzLDEzICszMTA1LDE2IEBACiAJCQkJCTAsIEFDX1ZFUkJfR0VUX1BJTl9XSURHRVRfQ09OVFJPTCwgMCk7CiAJCWludCBkZWZfY29uZiA9IHNuZF9oZGFfY29kZWNfcmVhZChjb2RlYywgc3BlYy0+cHdyX25pZHNbaV0sCiAJCQkJCTAsIEFDX1ZFUkJfR0VUX0NPTkZJR19ERUZBVUxULCAwKTsKKwkJZGVmX2NvbmYgPSBnZXRfZGVmY2ZnX2Nvbm5lY3QoZGVmX2NvbmYpOwogCQkvKiBvdXRwdXRzIGFyZSBvbmx5IHBvcnRzIGNhcGFibGUgb2YgcG93ZXIgbWFuYWdlbWVudAogCQkgKiBhbnkgYXR0ZW1wdHMgb24gcG93ZXJpbmcgZG93biBhIGlucHV0IHBvcnQgY2F1c2UgdGhlCiAJCSAqIHJlZmVyZW5jZWQgVlJFRiB0byBhY3QgcXVpcmt5LgogCQkgKi8KIAkJaWYgKHBpbmN0bCAmIEFDX1BJTkNUTF9JTl9FTikKIAkJCWNvbnRpbnVlOwotCQlpZiAoZ2V0X2RlZmNmZ19jb25uZWN0KGRlZl9jb25mKSAhPSBBQ19KQUNLX1BPUlRfRklYRUQpCisJCS8qIHNraXAgYW55IHBvcnRzIHRoYXQgZG9uJ3QgaGF2ZSBqYWNrcyBzaW5jZSBwcmVzZW5jZQorIAkJICogZGV0ZWN0aW9uIGlzIHVzZWxlc3MgKi8KKwkJaWYgKGRlZl9jb25mICYmIGRlZl9jb25mICE9IEFDX0pBQ0tfUE9SVF9GSVhFRCkKIAkJCWNvbnRpbnVlOwogCQllbmFibGVfcGluX2RldGVjdChjb2RlYywgc3BlYy0+cHdyX25pZHNbaV0sIGV2ZW50IHwgaSk7CiAJCWNvZGVjLT5wYXRjaF9vcHMudW5zb2xfZXZlbnQoY29kZWMsIChldmVudCB8IGkpIDw8IDI2KTsKQEAgLTM2MTQsNiArMzYxOSw3IEBACiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAJc3BlYy0+bnVtX3BpbnMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfcGluX25pZHMpOworCXNwZWMtPm51bV9wd3JzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X3B3cl9uaWRzKTsKIAlzcGVjLT5waW5fbmlkcyA9IHN0YWM5MmhkNzFieHhfcGluX25pZHM7CiAJc3BlYy0+Ym9hcmRfY29uZmlnID0gc25kX2hkYV9jaGVja19ib2FyZF9jb25maWcoY29kZWMsCiAJCQkJCQkJU1RBQ185MkhENzFCWFhfTU9ERUxTLApAQCAtMzY0Miw2ICszNjQ4LDE5IEBACiAJCXNwZWMtPm1peGVyID0gc3RhYzkyaGQ3MWJ4eF9taXhlcjsKIAkJc3BlYy0+aW5pdCA9IHN0YWM5MmhkNzFieHhfY29yZV9pbml0OwogCQlicmVhazsKKwljYXNlIDB4MTExZDc2MDg6IC8qIDUgUG9ydCB3aXRoIEFuYWxvZyBNaXhlciAqLworCQkvKiBubyBvdXRwdXQgYW1wcyAqLworCQlzcGVjLT5udW1fcHdycyA9IDA7CisJCXNwZWMtPm1peGVyID0gc3RhYzkyaGQ3MWJ4eF9hbmFsb2dfbWl4ZXI7CisKKwkJLyogZGlzYWJsZSBWU1cgKi8KKwkJc3BlYy0+aW5pdCA9ICZzdGFjOTJoZDcxYnh4X2FuYWxvZ19jb3JlX2luaXRbSERfRElTQUJMRV9QT1JURl07CisJCXN0YWM5Mnh4X3NldF9jb25maWdfcmVnKGNvZGVjLCAweGYsIDB4NDBmMDAwZjApOworCQlicmVhazsKKwljYXNlIDB4MTExZDc2MDM6IC8qIDYgUG9ydCB3aXRoIEFuYWxvZyBNaXhlciAqLworCQkvKiBubyBvdXRwdXQgYW1wcyAqLworCQlzcGVjLT5udW1fcHdycyA9IDA7CisJCS8qIGZhbGx0aHJ1ICovCiAJZGVmYXVsdDoKIAkJc3BlYy0+bWl4ZXIgPSBzdGFjOTJoZDcxYnh4X2FuYWxvZ19taXhlcjsKIAkJc3BlYy0+aW5pdCA9IHN0YWM5MmhkNzFieHhfYW5hbG9nX2NvcmVfaW5pdDsKQEAgLTM2NTMsMjIgKzM2NzIsMTkgQEAKIAkvKiBHUElPMCBIaWdoID0gRUFQRCAqLwogCXNwZWMtPmdwaW9fbWFzayA9IDB4MDE7CiAJc3BlYy0+Z3Bpb19kaXIgPSAweDAxOwotCXNwZWMtPmdwaW9fbWFzayA9IDB4MDE7CiAJc3BlYy0+Z3Bpb19kYXRhID0gMHgwMTsKIAogCXNwZWMtPm11eF9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9tdXhfbmlkczsKIAlzcGVjLT5hZGNfbmlkcyA9IHN0YWM5MmhkNzFieHhfYWRjX25pZHM7CiAJc3BlYy0+ZG1pY19uaWRzID0gc3RhYzkyaGQ3MWJ4eF9kbWljX25pZHM7CiAJc3BlYy0+ZG11eF9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9kbXV4X25pZHM7CisJc3BlYy0+cHdyX25pZHMgPSBzdGFjOTJoZDcxYnh4X3B3cl9uaWRzOwogCiAJc3BlYy0+bnVtX211eGVzID0gQVJSQVlfU0laRShzdGFjOTJoZDcxYnh4X211eF9uaWRzKTsKIAlzcGVjLT5udW1fYWRjcyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9hZGNfbmlkcyk7CiAJc3BlYy0+bnVtX2RtaWNzID0gU1RBQzkySEQ3MUJYWF9OVU1fRE1JQ1M7CiAJc3BlYy0+bnVtX2RtdXhlcyA9IEFSUkFZX1NJWkUoc3RhYzkyaGQ3MWJ4eF9kbXV4X25pZHMpOwogCi0Jc3BlYy0+bnVtX3B3cnMgPSBBUlJBWV9TSVpFKHN0YWM5MmhkNzFieHhfcHdyX25pZHMpOwotCXNwZWMtPnB3cl9uaWRzID0gc3RhYzkyaGQ3MWJ4eF9wd3JfbmlkczsKLQogCXNwZWMtPm11bHRpb3V0Lm51bV9kYWNzID0gMTsKIAlzcGVjLT5tdWx0aW91dC5ocF9uaWQgPSAweDExOwogCXNwZWMtPm11bHRpb3V0LmRhY19uaWRzID0gc3RhYzkyaGQ3MWJ4eF9kYWNfbmlkczsKQEAgLTQzMDYsMTAgKzQzMjIsMTEgQEAKICAJeyAuaWQgPSAweDgzODQ3NmE1LCAubmFtZSA9ICJTVEFDOTI1NUQiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTIwNSB9LAogIAl7IC5pZCA9IDB4ODM4NDc2YTYsIC5uYW1lID0gIlNUQUM5MjU0IiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyMDUgfSwKICAJeyAuaWQgPSAweDgzODQ3NmE3LCAubmFtZSA9ICJTVEFDOTI1NEQiLCAucGF0Y2ggPSBwYXRjaF9zdGFjOTIwNSB9LAorCXsgLmlkID0gMHgxMTFkNzYwMywgLm5hbWUgPSAiOTJIRDc1QjNYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHh9LAorCXsgLmlkID0gMHgxMTFkNzYwOCwgLm5hbWUgPSAiOTJIRDc1QjJYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzFieHh9LAogCXsgLmlkID0gMHgxMTFkNzY3NCwgLm5hbWUgPSAiOTJIRDczRDFYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzN4eCB9LAogCXsgLmlkID0gMHgxMTFkNzY3NSwgLm5hbWUgPSAiOTJIRDczQzFYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzN4eCB9LAogCXsgLmlkID0gMHgxMTFkNzY3NiwgLm5hbWUgPSAiOTJIRDczRTFYNSIsIC5wYXRjaCA9IHBhdGNoX3N0YWM5MmhkNzN4eCB9LAotCXsgLmlkID0gMHgxMTFkNzYwOCwgLm5hbWUgPSAiOTJIRDcxQlhYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LAogCXsgLmlkID0gMHgxMTFkNzZiMCwgLm5hbWUgPSAiOTJIRDcxQjhYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LAogCXsgLmlkID0gMHgxMTFkNzZiMSwgLm5hbWUgPSAiOTJIRDcxQjhYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LAogCXsgLmlkID0gMHgxMTFkNzZiMiwgLm5hbWUgPSAiOTJIRDcxQjdYIiwgLnBhdGNoID0gcGF0Y2hfc3RhYzkyaGQ3MWJ4eCB9LApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaCBiL3NvdW5kL3BjaS9pY2UxNzEyL2VudnkyNGh0LmgKaW5kZXggNDNiOWUzZS4uYTBjNWUwMCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2ljZTE3MTIvZW52eTI0aHQuaAorKysgYi9zb3VuZC9wY2kvaWNlMTcxMi9lbnZ5MjRodC5oCkBAIC05Myw5ICs5MywxMyBAQAogI2RlZmluZSBWVDE3MjRfUkVHX01QVV9UWEZJRk8JCTB4MGEJLypieXRlIHJvLiBudW1iZXIgb2YgYnl0ZXMgaW4gVFggZmlmbyovCiAjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX1JYRklGTwkJMHgwYgkvKmJ5dGUgcm8uIG51bWJlciBvZiBieXRlcyBpbiBSWCBmaWZvKi8KIAotLy9hcmUgdGhlc2UgMiB0aGUgd3Jvbmcgd2F5IGFyb3VuZD8gdGhleSBkb24ndCBzZWVtIHRvIGJlIHVzZWQgeWV0IGFueXdheQotI2RlZmluZSBWVDE3MjRfUkVHX01QVV9DVFJMCQkweDBjCS8qIGJ5dGUgKi8KLSNkZWZpbmUgVlQxNzI0X1JFR19NUFVfREFUQQkJMHgwZAkvKiBieXRlICovCisjZGVmaW5lIFZUMTcyNF9SRUdfTVBVX0RBVEEJCTB4MGMJLyogYnl0ZSAqLworI2RlZmluZSBWVDE3MjRfUkVHX01QVV9DVFJMCQkweDBkCS8qIGJ5dGUgKi8KKyNkZWZpbmUgICBWVDE3MjRfTVBVX1VBUlQJMHgwMQorI2RlZmluZSAgIFZUMTcyNF9NUFVfVFhfRU1QVFkJMHgwMgorI2RlZmluZSAgIFZUMTcyNF9NUFVfVFhfRlVMTAkweDA0CisjZGVmaW5lICAgVlQxNzI0X01QVV9SWF9FTVBUWQkweDA4CisjZGVmaW5lICAgVlQxNzI0X01QVV9SWF9GVUxMCTB4MTAKIAogI2RlZmluZSBWVDE3MjRfUkVHX01QVV9GSUZPX1dNCTB4MGUJLypieXRlIHNldCB0aGUgaGlnaC9sb3cgd2F0ZXJtYXJrcyBmb3IgUlgvVFggZmlmb3MqLwogI2RlZmluZSAgIFZUMTcyNF9NUFVfUlhfRklGTwkweDIwCS8vMT1yeCBmaWZvIHdhdGVybWFyayAwPXR4IGZpZm8gd2F0ZXJtYXJrCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmggYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzEyLmgKaW5kZXggMzIwODkwMS4uNzYyZmJkNyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcxMi5oCisrKyBiL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MTIuaApAQCAtMzMzLDYgKzMzMyw4IEBACiAJdW5zaWduZWQgaW50IGhhc19zcGRpZjogMTsJLyogVlQxNzIwLzQgLSBoYXMgU1BESUYgSS9PICovCiAJdW5zaWduZWQgaW50IGZvcmNlX3BkbWE0OiAxOwkvKiBWVDE3MjAvNCAtIFBETUE0IGFzIG5vbi1zcGRpZiAqLwogCXVuc2lnbmVkIGludCBmb3JjZV9yZG1hMTogMTsJLyogVlQxNzIwLzQgLSBSRE1BMSBhcyBub24tc3BkaWYgKi8KKwl1bnNpZ25lZCBpbnQgbWlkaV9vdXRwdXQ6IDE7CS8qIFZUMTcyMC80OiBNSURJIG91dHB1dCB0cmlnZ2VyZWQgKi8KKwl1bnNpZ25lZCBpbnQgbWlkaV9pbnB1dDogMTsJLyogVlQxNzIwLzQ6IE1JREkgaW5wdXQgdHJpZ2dlcmVkICovCiAJdW5zaWduZWQgaW50IG51bV90b3RhbF9kYWNzOwkvKiB0b3RhbCBEQUNzICovCiAJdW5zaWduZWQgaW50IG51bV90b3RhbF9hZGNzOwkvKiB0b3RhbCBBRENzICovCiAJdW5zaWduZWQgaW50IGN1cl9yYXRlOwkJLyogY3VycmVudCByYXRlICovCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMgYi9zb3VuZC9wY2kvaWNlMTcxMi9pY2UxNzI0LmMKaW5kZXggNjczNTA5MC4uZTU5NmQ3NyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL2ljZTE3MTIvaWNlMTcyNC5jCisrKyBiL3NvdW5kL3BjaS9pY2UxNzEyL2ljZTE3MjQuYwpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL2luZm8uaD4KLSNpbmNsdWRlIDxzb3VuZC9tcHU0MDEuaD4KKyNpbmNsdWRlIDxzb3VuZC9yYXdtaWRpLmg+CiAjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgogCiAjaW5jbHVkZSA8c291bmQvYXNvdW5kZWYuaD4KQEAgLTIyMywzMCArMjIzLDE1MyBAQAogfQogCiAvKgotICogTVBVNDAxIGFjY2Vzc29yCisgKiBNSURJCiAgKi8KLXN0YXRpYyB1bnNpZ25lZCBjaGFyIHNuZF92dDE3MjRfbXB1NDAxX3JlYWQoc3RydWN0IHNuZF9tcHU0MDEgKm1wdSwKLQkJCQkJICAgIHVuc2lnbmVkIGxvbmcgYWRkcikKKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfY2xlYXJfcngoc3RydWN0IHNuZF9pY2UxNzEyICppY2UpCiB7Ci0JLyogZml4IHN0YXR1cyBiaXRzIHRvIHRoZSBzdGFuZGFyZCBwb3NpdGlvbiAqLwotCS8qIG9ubHkgUlhfRU1QVFkgYW5kIFRYX0ZVTEwgYXJlIGNoZWNrZWQgKi8KLQlpZiAoYWRkciA9PSBNUFU0MDFDKG1wdSkpCi0JCXJldHVybiAoaW5iKGFkZHIpICYgMHgwYykgPDwgNDsKLQllbHNlCi0JCXJldHVybiBpbmIoYWRkcik7CisJdW5zaWduZWQgaW50IGNvdW50OworCisJZm9yIChjb3VudCA9IGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX1JYRklGTykpOyBjb3VudCA+IDA7IC0tY291bnQpCisJCWluYihJQ0VSRUcxNzI0KGljZSwgTVBVX0RBVEEpKTsKIH0KIAotc3RhdGljIHZvaWQgc25kX3Z0MTcyNF9tcHU0MDFfd3JpdGUoc3RydWN0IHNuZF9tcHU0MDEgKm1wdSwKLQkJCQkgICAgdW5zaWduZWQgY2hhciBkYXRhLCB1bnNpZ25lZCBsb25nIGFkZHIpCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKgorZ2V0X3Jhd21pZGlfc3Vic3RyZWFtKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlLCB1bnNpZ25lZCBpbnQgc3RyZWFtKQogewotCWlmIChhZGRyID09IE1QVTQwMUMobXB1KSkgewotCQlpZiAoZGF0YSA9PSBNUFU0MDFfRU5URVJfVUFSVCkKLQkJCW91dGIoMHgwMSwgYWRkcik7Ci0JCS8qIHdoYXQgZWxzZT8gKi8KLQl9IGVsc2UKLQkJb3V0YihkYXRhLCBhZGRyKTsKKwlyZXR1cm4gbGlzdF9maXJzdF9lbnRyeSgmaWNlLT5ybWlkaVswXS0+c3RyZWFtc1tzdHJlYW1dLnN1YnN0cmVhbXMsCisJCQkJc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSwgbGlzdCk7CiB9CiAKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX3dyaXRlKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlKQoreworCXN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnM7CisJaW50IGNvdW50LCBpOworCXU4IGJ1ZmZlclszMl07CisKKwlzID0gZ2V0X3Jhd21pZGlfc3Vic3RyZWFtKGljZSwgU05EUlZfUkFXTUlESV9TVFJFQU1fT1VUUFVUKTsKKwljb3VudCA9IDMxIC0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfVFhGSUZPKSk7CisJaWYgKGNvdW50ID4gMCkgeworCQljb3VudCA9IHNuZF9yYXdtaWRpX3RyYW5zbWl0KHMsIGJ1ZmZlciwgY291bnQpOworCQlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkKKwkJCW91dGIoYnVmZmVyW2ldLCBJQ0VSRUcxNzI0KGljZSwgTVBVX0RBVEEpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHZ0MTcyNF9taWRpX3JlYWQoc3RydWN0IHNuZF9pY2UxNzEyICppY2UpCit7CisJc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqczsKKwlpbnQgY291bnQsIGk7CisJdTggYnVmZmVyWzMyXTsKKworCXMgPSBnZXRfcmF3bWlkaV9zdWJzdHJlYW0oaWNlLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVCk7CisJY291bnQgPSBpbmIoSUNFUkVHMTcyNChpY2UsIE1QVV9SWEZJRk8pKTsKKwlpZiAoY291bnQgPiAwKSB7CisJCWNvdW50ID0gbWluKGNvdW50LCAzMik7CisJCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgKytpKQorCQkJYnVmZmVyW2ldID0gaW5iKElDRVJFRzE3MjQoaWNlLCBNUFVfREFUQSkpOworCQlzbmRfcmF3bWlkaV9yZWNlaXZlKHMsIGJ1ZmZlciwgY291bnQpOworCX0KK30KKworc3RhdGljIHZvaWQgdnQxNzI0X2VuYWJsZV9taWRpX2lycShzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkJICAgdTggZmxhZywgaW50IGVuYWJsZSkKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHN1YnN0cmVhbS0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1OCBtYXNrOworCisJc3Bpbl9sb2NrX2lycSgmaWNlLT5yZWdfbG9jayk7CisJbWFzayA9IGluYihJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCWlmIChlbmFibGUpCisJCW1hc2sgJj0gfmZsYWc7CisJZWxzZQorCQltYXNrIHw9IGZsYWc7CisJb3V0YihtYXNrLCBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCXNwaW5fdW5sb2NrX2lycSgmaWNlLT5yZWdfbG9jayk7Cit9CisKK3N0YXRpYyBpbnQgdnQxNzI0X21pZGlfb3V0cHV0X29wZW4oc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1RYLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9vdXRwdXRfY2xvc2Uoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1RYLCAwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfb3V0cHV0X3RyaWdnZXIoc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcywgaW50IHVwKQoreworCXN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlID0gcy0+cm1pZGktPnByaXZhdGVfZGF0YTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmljZS0+cmVnX2xvY2ssIGZsYWdzKTsKKwlpZiAodXApIHsKKwkJaWNlLT5taWRpX291dHB1dCA9IDE7CisJCXZ0MTcyNF9taWRpX3dyaXRlKGljZSk7CisJfSBlbHNlIHsKKwkJaWNlLT5taWRpX291dHB1dCA9IDA7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmljZS0+cmVnX2xvY2ssIGZsYWdzKTsKK30KKworc3RhdGljIHZvaWQgdnQxNzI0X21pZGlfb3V0cHV0X2RyYWluKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMpCit7CisJc3RydWN0IHNuZF9pY2UxNzEyICppY2UgPSBzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKKworCS8qIDMyIGJ5dGVzIHNob3VsZCBiZSB0cmFuc21pdHRlZCBpbiBsZXNzIHRoYW4gYWJvdXQgMTIgbXMgKi8KKwl0aW1lb3V0ID0gamlmZmllcyArIG1zZWNzX3RvX2ppZmZpZXMoMTUpOworCWRvIHsKKwkJaWYgKGluYihJQ0VSRUcxNzI0KGljZSwgTVBVX0NUUkwpKSAmIFZUMTcyNF9NUFVfVFhfRU1QVFkpCisJCQlicmVhazsKKwkJc2NoZWR1bGVfdGltZW91dF91bmludGVycnVwdGlibGUoMSk7CisJfSB3aGlsZSAodGltZV9hZnRlcih0aW1lb3V0LCBqaWZmaWVzKSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3Jhd21pZGlfb3BzIHZ0MTcyNF9taWRpX291dHB1dF9vcHMgPSB7CisJLm9wZW4gPSB2dDE3MjRfbWlkaV9vdXRwdXRfb3BlbiwKKwkuY2xvc2UgPSB2dDE3MjRfbWlkaV9vdXRwdXRfY2xvc2UsCisJLnRyaWdnZXIgPSB2dDE3MjRfbWlkaV9vdXRwdXRfdHJpZ2dlciwKKwkuZHJhaW4gPSB2dDE3MjRfbWlkaV9vdXRwdXRfZHJhaW4sCit9OworCitzdGF0aWMgaW50IHZ0MTcyNF9taWRpX2lucHV0X29wZW4oc3RydWN0IHNuZF9yYXdtaWRpX3N1YnN0cmVhbSAqcykKK3sKKwl2dDE3MjRfbWlkaV9jbGVhcl9yeChzLT5ybWlkaS0+cHJpdmF0ZV9kYXRhKTsKKwl2dDE3MjRfZW5hYmxlX21pZGlfaXJxKHMsIFZUMTcyNF9JUlFfTVBVX1JYLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2dDE3MjRfbWlkaV9pbnB1dF9jbG9zZShzdHJ1Y3Qgc25kX3Jhd21pZGlfc3Vic3RyZWFtICpzKQoreworCXZ0MTcyNF9lbmFibGVfbWlkaV9pcnEocywgVlQxNzI0X0lSUV9NUFVfUlgsIDApOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCB2dDE3MjRfbWlkaV9pbnB1dF90cmlnZ2VyKHN0cnVjdCBzbmRfcmF3bWlkaV9zdWJzdHJlYW0gKnMsIGludCB1cCkKK3sKKwlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHMtPnJtaWRpLT5wcml2YXRlX2RhdGE7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7CisJaWYgKHVwKSB7CisJCWljZS0+bWlkaV9pbnB1dCA9IDE7CisJCXZ0MTcyNF9taWRpX3JlYWQoaWNlKTsKKwl9IGVsc2UgeworCQlpY2UtPm1pZGlfaW5wdXQgPSAwOworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpY2UtPnJlZ19sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3Jhd21pZGlfb3BzIHZ0MTcyNF9taWRpX2lucHV0X29wcyA9IHsKKwkub3BlbiA9IHZ0MTcyNF9taWRpX2lucHV0X29wZW4sCisJLmNsb3NlID0gdnQxNzI0X21pZGlfaW5wdXRfY2xvc2UsCisJLnRyaWdnZXIgPSB2dDE3MjRfbWlkaV9pbnB1dF90cmlnZ2VyLAorfTsKKwogCiAvKgogICogIEludGVycnVwdCBoYW5kbGVyCkBAIC0yNzgsMTMgKzQwMSwxMCBAQAogI2VuZGlmCiAJCWhhbmRsZWQgPSAxOwkJCiAJCWlmIChzdGF0dXMgJiBWVDE3MjRfSVJRX01QVV9UWCkgewotCQkJaWYgKGljZS0+cm1pZGlbMF0pCi0JCQkJc25kX21wdTQwMV91YXJ0X2ludGVycnVwdF90eChpcnEsCi0JCQkJCWljZS0+cm1pZGlbMF0tPnByaXZhdGVfZGF0YSk7Ci0JCQllbHNlIC8qIGRpc2FibGUgVFggdG8gYmUgc3VyZSAqLwotCQkJCW91dGIoaW5iKElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSkgfAotCQkJCSAgICAgVlQxNzI0X0lSUV9NUFVfVFgsCi0JCQkJICAgICBJQ0VSRUcxNzI0KGljZSwgSVJRTUFTSykpOworCQkJc3Bpbl9sb2NrKCZpY2UtPnJlZ19sb2NrKTsKKwkJCWlmIChpY2UtPm1pZGlfb3V0cHV0KQorCQkJCXZ0MTcyNF9taWRpX3dyaXRlKGljZSk7CisJCQlzcGluX3VubG9jaygmaWNlLT5yZWdfbG9jayk7CiAJCQkvKiBEdWUgdG8gbXlzdGVyaWNhbCByZWFzb25zLCBNUFVfVFggaXMgYWx3YXlzCiAJCQkgKiBnZW5lcmF0ZWQgKGFuZCBjYW4ndCBiZSBjbGVhcmVkKSB3aGVuIGEgUENNCiAJCQkgKiBwbGF5YmFjayBpcyBnb2luZy4gIFNvIGxldCdzIGlnbm9yZSBhdCB0aGUKQEAgLTI5MywxMyArNDEzLDEyIEBACiAJCQlzdGF0dXNfbWFzayAmPSB+VlQxNzI0X0lSUV9NUFVfVFg7CiAJCX0KIAkJaWYgKHN0YXR1cyAmIFZUMTcyNF9JUlFfTVBVX1JYKSB7Ci0JCQlpZiAoaWNlLT5ybWlkaVswXSkKLQkJCQlzbmRfbXB1NDAxX3VhcnRfaW50ZXJydXB0KGlycSwKLQkJCQkJaWNlLT5ybWlkaVswXS0+cHJpdmF0ZV9kYXRhKTsKLQkJCWVsc2UgLyogZGlzYWJsZSBSWCB0byBiZSBzdXJlICovCi0JCQkJb3V0YihpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKSB8Ci0JCQkJICAgICBWVDE3MjRfSVJRX01QVV9SWCwKLQkJCQkgICAgIElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJCQlzcGluX2xvY2soJmljZS0+cmVnX2xvY2spOworCQkJaWYgKGljZS0+bWlkaV9pbnB1dCkKKwkJCQl2dDE3MjRfbWlkaV9yZWFkKGljZSk7CisJCQllbHNlCisJCQkJdnQxNzI0X21pZGlfY2xlYXJfcngoaWNlKTsKKwkJCXNwaW5fdW5sb2NrKCZpY2UtPnJlZ19sb2NrKTsKIAkJfQogCQkvKiBhY2sgTVBVIGlycSAqLwogCQlvdXRiKHN0YXR1cywgSUNFUkVHMTcyNChpY2UsIElSUVNUQVQpKTsKQEAgLTI0MjUsMjggKzI1NDQsMzAgQEAKIAogCWlmICghIGMtPm5vX21wdTQwMSkgewogCQlpZiAoaWNlLT5lZXByb20uZGF0YVtJQ0VfRUVQMl9TWVNDT05GXSAmIFZUMTcyNF9DRkdfTVBVNDAxKSB7Ci0JCQlzdHJ1Y3Qgc25kX21wdTQwMSAqbXB1OwotCQkJaWYgKChlcnIgPSBzbmRfbXB1NDAxX3VhcnRfbmV3KGNhcmQsIDAsIE1QVTQwMV9IV19JQ0UxNzEyLAotCQkJCQkJICAgICAgIElDRVJFRzE3MjQoaWNlLCBNUFVfQ1RSTCksCi0JCQkJCQkgICAgICAgKE1QVTQwMV9JTkZPX0lOVEVHUkFURUQgfAotCQkJCQkJCU1QVTQwMV9JTkZPX05PX0FDSyB8Ci0JCQkJCQkJTVBVNDAxX0lORk9fVFhfSVJRKSwKLQkJCQkJCSAgICAgICBpY2UtPmlycSwgMCwKLQkJCQkJCSAgICAgICAmaWNlLT5ybWlkaVswXSkpIDwgMCkgeworCQkJc3RydWN0IHNuZF9yYXdtaWRpICpybWlkaTsKKworCQkJZXJyID0gc25kX3Jhd21pZGlfbmV3KGNhcmQsICJNSURJIiwgMCwgMSwgMSwgJnJtaWRpKTsKKwkJCWlmIChlcnIgPCAwKSB7CiAJCQkJc25kX2NhcmRfZnJlZShjYXJkKTsKIAkJCQlyZXR1cm4gZXJyOwogCQkJfQotCQkJbXB1ID0gaWNlLT5ybWlkaVswXS0+cHJpdmF0ZV9kYXRhOwotCQkJbXB1LT5yZWFkID0gc25kX3Z0MTcyNF9tcHU0MDFfcmVhZDsKLQkJCW1wdS0+d3JpdGUgPSBzbmRfdnQxNzI0X21wdTQwMV93cml0ZTsKLQkJCS8qIHVubWFzayBNUFUgUlgvVFggaXJxcyAqLwotCQkJb3V0YihpbmIoSUNFUkVHMTcyNChpY2UsIElSUU1BU0spKSAmCi0JCQkgICAgIH4oVlQxNzI0X0lSUV9NUFVfUlggfCBWVDE3MjRfSVJRX01QVV9UWCksCi0JCQkgICAgIElDRVJFRzE3MjQoaWNlLCBJUlFNQVNLKSk7CisJCQlpY2UtPnJtaWRpWzBdID0gcm1pZGk7CisJCQlybWlkaS0+cHJpdmF0ZV9kYXRhID0gaWNlOworCQkJc3RyY3B5KHJtaWRpLT5uYW1lLCAiSUNFMTcyNCBNSURJIik7CisJCQlybWlkaS0+aW5mb19mbGFncyA9IFNORFJWX1JBV01JRElfSU5GT19PVVRQVVQgfAorCQkJCQkgICAgU05EUlZfUkFXTUlESV9JTkZPX0lOUFVUIHwKKwkJCQkJICAgIFNORFJWX1JBV01JRElfSU5GT19EVVBMRVg7CisJCQlzbmRfcmF3bWlkaV9zZXRfb3BzKHJtaWRpLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9PVVRQVVQsCisJCQkJCSAgICAmdnQxNzI0X21pZGlfb3V0cHV0X29wcyk7CisJCQlzbmRfcmF3bWlkaV9zZXRfb3BzKHJtaWRpLCBTTkRSVl9SQVdNSURJX1NUUkVBTV9JTlBVVCwKKwkJCQkJICAgICZ2dDE3MjRfbWlkaV9pbnB1dF9vcHMpOworCiAJCQkvKiBzZXQgd2F0ZXJtYXJrcyAqLwogCQkJb3V0YihWVDE3MjRfTVBVX1JYX0ZJRk8gfCAweDEsCiAJCQkgICAgIElDRVJFRzE3MjQoaWNlLCBNUFVfRklGT19XTSkpOwogCQkJb3V0YigweDEsIElDRVJFRzE3MjQoaWNlLCBNUFVfRklGT19XTSkpOworCQkJLyogc2V0IFVBUlQgbW9kZSAqLworCQkJb3V0YihWVDE3MjRfTVBVX1VBUlQsIElDRVJFRzE3MjQoaWNlLCBNUFVfQ1RSTCkpOwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTItZmlybXdhcmUuaCBiL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi1maXJtd2FyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmY1YjkxLi4wMDAwMDAwCi0tLSBhL3NvdW5kL3BjaS9rb3JnMTIxMi9rb3JnMTIxMi1maXJtd2FyZS5oCisrKyAvZGV2L251bGwKQEAgLTEsOTg3ICswLDAgQEAKLXN0YXRpYyBjaGFyIGRzcENvZGUgW10gPSB7Ci0weDAxLDB4ZmYsMHgxOCwweGZmLDB4ZjUsMHhmZiwweGNmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MjYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgzOCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDMsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZmMsMHhmZiwweDY3LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwYywweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ3LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDBhLDB4ZmYsCi0weDgyLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3YSwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDcyLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDVmLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDIsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDIsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4ZmYsMHhmZiwweDQ3LDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDE3LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLAotMHg4MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ODQsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDAyLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDAxLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDJiLDB4ZmYsMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgyYiwweGZmLAotMHg4MCwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ODIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4ODEsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDg0LDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg4NSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4ODIsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4ODEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDg4LDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OGMsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDgzLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4YSwweGZmLDB4NDMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDhlLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4MiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODMsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ODAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGI2LDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2MiwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhNiwweGZmLDB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDQwLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhiNiwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NjIsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTYsMHhmZiwweDYyLDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE2LDB4ZmYsMHgwNSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YmIsMHhmZiwKLTB4MDIsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODIsMHhmZiwweGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGNiLDB4ZmYsMHgwNSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZGIsMHhmZiwKLTB4MjAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsMHgwMCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODIsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OWIsMHhmZiwweDAzLDB4ZmYsMHg0MSwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weGUwLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhiYiwweGZmLDB4MjAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ0LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgyMSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4NDAsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDIsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHgwYSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhhZSwweGZmLAotMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsCi0weDBhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGZlLDB4ZmYsMHgwMCwweGZmLDB4YTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMywweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDBiLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg3OCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1ZiwweGZmLDB4MDMsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4NzgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4NWYsMHhmZiwweDViLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHg4MCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ZGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ZmUsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDgwLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHhjMSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDMsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4ZmMsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweDAyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDIzLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg1OSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkZiwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDBjLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHgwMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDg0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgyMiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwYywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg2ZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDc2LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsCi0weDg2LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg2NCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ODEsMHhmZiwKLTB4MDAsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDYxLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGFmLDB4ZmYsMHg3NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhhZiwweGZmLAotMHg2MywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4MDUsMHhmZiwweDM1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTIsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg2NSwweGZmLAotMHgwZiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg2ZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwNSwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsCi0weDEwLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDBlLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDc5LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MTYsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDBlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDc1LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsMHg4MCwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDExLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NywweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4OTAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLAotMHgwMywweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4NjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4ODMsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDgzLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg3LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg2YSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0MCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4ODAsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHg3ZSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0MCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwweDEzLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGJlLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDUsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTIsMHhmZiwweDQzLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUxLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwKLTB4NzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4OGYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHg3MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwweDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLAotMHgzOCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4NDgsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgzMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDFlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDIwLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGNmLDB4ZmYsMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDZhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGJmLDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLAotMHg2NywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MDgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg2OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLDB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwKLTB4NzksMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVkLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDJmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1ZCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4N2YsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsCi0weDE4LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGVmLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg3ZiwweGZmLAotMHgxOCwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhlZiwweGZmLDB4NWQsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MmYsMHhmZiwKLTB4MTgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZWYsMHhmZiwweDY2LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDVjLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDdmLDB4ZmYsMHgxNiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4MywweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTksMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHgwNCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsCi0weDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLAotMHg4MywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwKLTB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDZlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGJmLDB4ZmYsCi0weDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg5MiwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4MjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDgzLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHg0MSwweGZmLAotMHg2YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLDB4ODcsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDQwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLAotMHgxYiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhjZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4YiwweGZmLDB4OWIsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg4YiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4N2UsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDU1LDB4ZmYsMHgxZCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzZSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLAotMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgxMywweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4OGIsMHhmZiwweDk3LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDhiLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweDYxLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgyNiwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4ODMsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg1MSwweGZmLAotMHg3OSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4YjQsMHhmZiwKLTB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDFlLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGQ1LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4MDQsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDgzLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDQ2LDB4ZmYsMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHg4YiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4ODMsMHhmZiwweDhiLDB4ZmYsMHhmZiwweGZmLDB4ZTEsMHhmZiwweDg3LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDZlLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGJmLDB4ZmYsMHg4NywweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg5MiwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4N2YsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MjMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDgzLDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHg0MSwweGZmLAotMHg2YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgyZiwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGQsMHhmZiwweDhmLDB4ZmYsMHhmZiwweGZmLDB4YzUsMHhmZiwweDIwLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweGFlLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLDB4MDAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4OGEsMHhmZiwweDY0LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhlNSwweGZmLDB4MjEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4NWUsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MWMsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4NzgsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4NDgsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4YjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OTAsMHhmZiwKLTB4MGMsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NmYsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDksMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDI2LDB4ZmYsCi0weDk4LDB4ZmYsMHhjYywweGZmLDB4ZmYsMHhmZiwweDM3LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhhNSwweGZmLAotMHgyNCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhmZSwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwKLTB4MDgsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsMHg2OSwweGZmLDB4Y2MsMHhmZiwweGZmLDB4ZmYsMHgzNywweGZmLAotMHgwMCwweGZmLDB4MDUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDcyLDB4ZmYsCi0weDA4LDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLAotMHg2OSwweGZmLDB4Y2MsMHhmZiwweGZmLDB4ZmYsMHgzNywweGZmLDB4MDAsMHhmZiwweDA1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHgwOCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHhjNiwweGZmLDB4NjksMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDA1LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg1OCwweGZmLDB4ZmYsMHhmZiwweGM2LDB4ZmYsCi0weDMwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4NDcsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NTgsMHhmZiwKLTB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDY2LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDI2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDk0LDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4ODAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDE2LDB4ZmYsMHgwZiwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDY2LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzOCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDcsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwKLTB4ODIsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDdhLDB4ZmYsCi0weDdhLDB4ZmYsMHgyNiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgzOCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLDB4MjcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDIsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgyOSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg5MiwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDFjLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxYywweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwNCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHgwMCwweGZmLDB4MDQsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MDAsMHhmZiwweDA0LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDMxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDEyLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwKLTB4OTAsMHhmZiwweDM3LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAyLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg1NSwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGUsMHhmZiwweGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxOCwweGZmLDB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWUsMHhmZiwweGFmLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg0OCwweGZmLDB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwKLTB4ODcsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmUsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsCi0weDAyLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHhlMCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMSwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjgsMHhmZiwKLTB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weGE3LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MzgsMHhmZiwKLTB4MDAsMHhmZiwweDBlLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVlLDB4ZmYsCi0weGFmLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwKLTB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg2MywweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLDB4NDksMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0YSwweGZmLAotMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwweDYzLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsMHg0OSwweGZmLDB4NmEsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTAsMHhmZiwKLTB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRhLDB4ZmYsCi0weDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg1YSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4NjMsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NGEsMHhmZiwweDQ5LDB4ZmYsMHg2YSwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLAotMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDMyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDQyLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDQsMHhmZiwKLTB4MDgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDhhLDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzNSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhkMiwweGZmLAotMHgwMCwweGZmLDB4NGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwYSwweGZmLDB4N2EsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDMzLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDEwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzNCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg4NSwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwZCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weGZmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg5MCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTAsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDIsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NTAsMHhmZiwKLTB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHgxMCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MzksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MjIsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MzgsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ODQsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MzAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDMwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGQ0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhiNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDgsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0YSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4OTQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRjLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg4NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NGQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0ZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDRmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwZSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGU0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NSwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNkLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4M2YsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDBhLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgzZiwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MGEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MzQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDNmLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwYSwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDIxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDI1LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHhlOSwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHhlZCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDQsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZjEsMHhmZiwweDQxLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwweDQ2LDB4ZmYsMHg4NCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MjIsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDQ2LDB4ZmYsMHg4OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLAotMHgwMCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHgyMywweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLAotMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLDB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weGZmLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHhmZiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MiwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAzLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZjIsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTMsMHhmZiwweGY3LDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLAotMHg0NiwweGZmLDB4ODQsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDIyLDB4ZmYsCi0weDY3LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDYyLDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDg0LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MzIsMHhmZiwweDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDcyLDB4ZmYsCi0weDY3LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDY3LDB4ZmYsMHhmNywweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmNCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3NCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0OCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgwMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4NDYsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAzLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDQ2LDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhjMCwweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhjNywweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjcsMHhmZiwKLTB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweDQ2LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDc0LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsMHg0NiwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTcsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwMCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NiwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2NywweGZmLDB4ZjcsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwKLTB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzQsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDYsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDUxLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDgxLDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZhLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNiwweGZmLDB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4OTAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NzEsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsCi0weDBmLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg4OCwweGZmLDB4NjMsMHhmZiwweGZmLDB4ZmYsMHgyNywweGZmLDB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwKLTB4NjIsMHhmZiwweDYxLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwweDg4LDB4ZmYsMHgyYiwweGZmLDB4ZmYsMHhmZiwweDhiLDB4ZmYsCi0weGU4LDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLAotMHg4OCwweGZmLDB4MmYsMHhmZiwweGZmLDB4ZmYsMHhmYiwweGZmLDB4ODksMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OTgsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGFiLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiOCwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhjZiwweGZmLDB4NjIsMHhmZiwweDIxLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHg4MCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTEsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWIsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4ZCwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhhYywweGZmLDB4ODIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4NTQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MmUsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsCi0weDU0LDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDFlLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NTEsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGMsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGE0LDB4ZmYsCi0weGUwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1MywweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhiMywweGZmLAotMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGJhLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGY1LDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxNCwweGZmLDB4MTgsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NTUsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MjEsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsCi0weDgwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTQsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwweDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4NWEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZhLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgzMSwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4YzksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4NTQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDUsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDVhLDB4ZmYsMHg4MiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHhmZiwweGZmLDB4NGYsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLDB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4YzksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwweDU2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGI0LDB4ZmYsCi0weDU0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGRmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDE2LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4YTAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weDE4LDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg5MSwweGZmLAotMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGEwLDB4ZmYsMHgyMywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg2YSwweGZmLAotMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTYsMHhmZiwKLTB4MTAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDkwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4ODgsMHhmZiwweDYzLDB4ZmYsMHhmZiwweGZmLDB4MjcsMHhmZiwKLTB4ZTgsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDcsMHhmZiwweDYyLDB4ZmYsMHg2MSwweGZmLDB4ZmYsMHhmZiwweDI3LDB4ZmYsCi0weDg4LDB4ZmYsMHgyYiwweGZmLDB4ZmYsMHhmZiwweDhiLDB4ZmYsMHhlOCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLAotMHg2MiwweGZmLDB4NjEsMHhmZiwweGZmLDB4ZmYsMHgxNywweGZmLDB4ODgsMHhmZiwweDJmLDB4ZmYsMHhmZiwweGZmLDB4ZmIsMHhmZiwKLTB4ODksMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGVhLDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhYiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiOCwweGZmLDB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4Y2YsMHhmZiwKLTB4NjIsMHhmZiwweDIxLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDEwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDYyLDB4ZmYsMHgyMSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLAotMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLDB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NTcsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGViLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGZjLDB4ZmYsMHg1YywweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgzZiwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTcsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MWYsMHhmZiwKLTB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YWMsMHhmZiwweDgyLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDQ1LDB4ZmYsCi0weDVhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg1YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzZSwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDAwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDU3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDFmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBjLDB4ZmYsMHg4ZCwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhhNCwweGZmLAotMHhlMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NTksMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4ZDMsMHhmZiwKLTB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHhhMCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiYSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjUsMHhmZiwKLTB4NWMsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4M2YsMHhmZiwweDExLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDZiLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsMHgxOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1YiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg2MSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODAsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhlNCwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NjAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyYSwweGZmLDB4ZmYsMHhmZiwweGVhLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhlZSwweGZmLAotMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLDB4NWUsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NWIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmMSwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NDksMHhmZiwweDJhLDB4ZmYsMHhmZiwweGZmLDB4ZWEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGVlLDB4ZmYsCi0weDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MTQsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGYxLDB4ZmYsMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0OSwweGZmLDB4MmEsMHhmZiwweGZmLDB4ZmYsMHhlYSwweGZmLDB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZmEsMHhmZiwKLTB4OGIsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ZWUsMHhmZiwweDBjLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg3OCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg1ZSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDgsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg1ZiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHg1NCwweGZmLAotMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLDB4OTAsMHhmZiwweDgwLDB4ZmYsMHhmZiwweGZmLDB4YTgsMHhmZiwKLTB4MTAsMHhmZiwweDBmLDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDkwLDB4ZmYsMHg4MCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDg4LDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHhiNiwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHhmYSwweGZmLDB4ZjIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDE0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgzOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwKLTB4ZTIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwZiwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHhmNSwweGZmLAotMHg5MCwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZTIsMHhmZiwKLTB4ODgsMHhmZiwweDI3LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDk4LDB4ZmYsMHgyMCwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA3LDB4ZmYsMHhlOCwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhhYywweGZmLDB4ZjIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4MGEsMHhmZiwweDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weGUyLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3NCwweGZmLDB4MTgsMHhmZiwweGZmLDB4ZmYsMHhlMiwweGZmLAotMHgzOCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTIsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDc0LDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweGUyLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHhkNCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwKLTB4ZmYsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4ODksMHhmZiwweDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGI4LDB4ZmYsMHgwMCwweGZmLDB4MGUsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLDB4YTcsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGE4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMiwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MjYsMHhmZiwweDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGQ4LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHg0ZSwweGZmLAotMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4YzgsMHhmZiwweDAwLDB4ZmYsMHgwZSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDRlLDB4ZmYsMHhhNywweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhhMywweGZmLDB4MDAsMHhmZiwweDA5LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZDAsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHgzMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDAwLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMSwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDcsMHhmZiwweDQyLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwKLTB4MDMsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAyLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsMHgwOCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMywweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4MDEsMHhmZiwweDkxLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDA0LDB4ZmYsMHg5MSwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwNCwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHgwMCwweGZmLDB4OTEsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMSwweGZmLDB4NDIsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4NDksMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwKLTB4NjIsMHhmZiwweDFjLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLAotMHgwNSwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4OTIsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsCi0weDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsMHg2NSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg5ZSwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAxLDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLAotMHg2MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDgxLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg0OSwweGZmLDB4ODAsMHhmZiwweGZmLDB4ZmYsMHg0OCwweGZmLAotMHgxMCwweGZmLDB4MGYsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4NjYsMHhmZiwweDIzLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NzQsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4NTQsMHhmZiwweDg2LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDQ5LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsMHg2MiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLAotMHg4NiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg4MCwweGZmLDB4MDEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4ZTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDhhLDB4ZmYsCi0weDY3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhkMCwweGZmLAotMHg3NSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDgyLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4ZjQsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4OSwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLDB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NTUsMHhmZiwKLTB4NjAsMHhmZiwweDI2LDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDQ5LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsMHgxMCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhhMCwweGZmLDB4OGQsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwKLTB4ODksMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4MjQsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsCi0weDg5LDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDM1LDB4ZmYsMHg2MCwweGZmLDB4MjYsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg0OSwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YTMsMHhmZiwKLTB4MTAsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGEzLDB4ZmYsCi0weDhkLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHgyMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNCwweGZmLAotMHg2MCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4OGQsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NmEsMHhmZiwKLTB4MGMsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDEsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwKLTB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwweGZmLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDg5LDB4ZmYsCi0weDAwLDB4ZmYsMHgwOSwweGZmLDB4ZmYsMHhmZiwweDAxLDB4ZmYsMHg4NywweGZmLDB4OGIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg4OCwweGZmLDB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NywweGZmLDB4OWIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDEsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDZhLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDllLDB4ZmYsCi0weDY3LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDNmLDB4ZmYsMHg2OSwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg2NiwweGZmLDB4MWMsMHhmZiwweGZmLDB4ZmYsMHgxZiwweGZmLDB4MzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NmEsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ODUsMHhmZiwweDhiLDB4ZmYsMHg4MywweGZmLDB4ZmYsMHhmZiwweDQwLDB4ZmYsCi0weDc4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ODIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDZhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGY0LDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODcsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4ZjAsMHhmZiwKLTB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDYwLDB4ZmYsMHg4MiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLAotMHg4NiwweGZmLDB4ODcsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MDgsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2MCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4OSwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODksMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg5LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg2NCwweGZmLDB4MDAsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4MzUsMHhmZiwKLTB4MDEsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4OTYsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDY1LDB4ZmYsMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHg5NiwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDIsMHhmZiwweDM0LDB4ZmYsMHhmZiwweGZmLDB4NDksMHhmZiwKLTB4MDIsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NDksMHhmZiwweDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDA2LDB4ZmYsCi0weDEwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAyLDB4ZmYsMHgzMCwweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHgyNSwweGZmLDB4NmQsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4YmUsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHg4OCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweGM0LDB4ZmYsMHg4OCwweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLAotMHg4MywweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4OTgsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NzMsMHhmZiwweDg4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsCi0weDgzLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGM1LDB4ZmYsMHg4OCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLAotMHg4MywweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YzYsMHhmZiwKLTB4MDAsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4MjUsMHhmZiwweDZlLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDhlLDB4ZmYsCi0weDk4LDB4ZmYsMHg1MCwweGZmLDB4ZmYsMHhmZiwweDczLDB4ZmYsMHg4OCwweGZmLDB4NTAsMHhmZiwweGZmLDB4ZmYsMHg3MywweGZmLAotMHg4MywweGZmLDB4NzgsMHhmZiwweGZmLDB4ZmYsMHhjNCwweGZmLDB4ODgsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwKLTB4MDAsMHhmZiwweDc4LDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDIwLDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHhlOSwweGZmLAotMHgwMSwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgyOCwweGZmLDB4MDEsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MjksMHhmZiwKLTB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4NjYsMHhmZiwweDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDM0LDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDc1LDB4ZmYsMHgxMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLAotMHgwMCwweGZmLDB4NDEsMHhmZiwweGZmLDB4ZmYsMHgwNywweGZmLDB4MzAsMHhmZiwweDBjLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4OTgsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHgzYywweGZmLDB4ZmYsMHhmZiwweDI1LDB4ZmYsCi0weDcwLDB4ZmYsMHgxNCwweGZmLDB4ZmYsMHhmZiwweDJlLDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwweDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NiwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwweDYzLDB4ZmYsMHg3MiwweGZmLDB4ZmYsMHhmZiwweDIwLDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0MiwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4ODAsMHhmZiwweDcwLDB4ZmYsMHhmZiwweGZmLDB4NDEsMHhmZiwKLTB4NjMsMHhmZiwweDZhLDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsCi0weDgwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsMHgwMCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4ZjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDUsMHhmZiwweDAwLDB4ZmYsMHg0ZiwweGZmLDB4ZmYsMHhmZiwweDA0LDB4ZmYsCi0weDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsMHg4MCwweGZmLDB4MjcsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4OCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4ZWEsMHhmZiwweDIwLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4NzQsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweGE3LDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDI0LDB4ZmYsMHg4MCwweGZmLDB4NzAsMHhmZiwweGZmLDB4ZmYsMHg0NCwweGZmLAotMHg2MywweGZmLDB4NzIsMHhmZiwweGZmLDB4ZmYsMHgyNCwweGZmLDB4ODAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwKLTB4MDAsMHhmZiwweDRmLDB4ZmYsMHhmZiwweGZmLDB4MDQsMHhmZiwweDAwLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsCi0weDgwLDB4ZmYsMHgyNywweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4OCwweGZmLDB4MjMsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHhlYSwweGZmLDB4MjAsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLDB4NzQsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4YTcsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3MiwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHgzMCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDBlLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDEwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgxMCwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg5MCwweGZmLDB4MDIsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDEwLDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGIwLDB4ZmYsMHhiMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg1MCwweGZmLDB4MzAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwweDc4LDB4ZmYsMHg0MiwweGZmLDB4ZmYsMHhmZiwweDUwLDB4ZmYsCi0weDQ4LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsMHg0MCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0OSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MTgsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4NDcsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NzAsMHhmZiwweDE4LDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDEwLDB4ZmYsCi0weDQ3LDB4ZmYsMHg5MCwweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsMHgxOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4NjAsMHhmZiwweDhkLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsCi0weDBiLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHgxMSwweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHgwMCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgxMCwweGZmLDB4MTEsMHhmZiwweDkwLDB4ZmYsMHhmZiwweGZmLDB4ZTAsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwOCwweGZmLDB4NDAsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg0NywweGZmLDB4OTAsMHhmZiwweGZmLDB4ZmYsMHgyMCwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MTAsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsMHgwMCwweGZmLDB4NDgsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHg4NiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg3MCwweGZmLDB4MjIsMHhmZiwweDE4LDB4ZmYsMHhmZiwweGZmLDB4OWYsMHhmZiwKLTB4MDAsMHhmZiwweDQ4LDB4ZmYsMHhmZiwweGZmLDB4MjAsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDcwLDB4ZmYsCi0weDIyLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDlmLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg0OCwweGZmLAotMHgwMCwweGZmLDB4NjAsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4ODYsMHhmZiwweDkzLDB4ZmYsMHhmZiwweGZmLDB4YjAsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDg2LDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweGMwLDB4ZmYsCi0weDg2LDB4ZmYsMHg5NywweGZmLDB4ZmYsMHhmZiwweGQwLDB4ZmYsMHgwMCwweGZmLDB4MGEsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg4MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMiwweGZmLDB4ODQsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDIsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MGIsMHhmZiwweDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweDkwLDB4ZmYsCi0weDAwLDB4ZmYsMHg3MCwweGZmLDB4ZmYsMHhmZiwweDBiLDB4ZmYsMHgwYywweGZmLDB4MGQsMHhmZiwweGZmLDB4ZmYsMHhiMCwweGZmLAotMHg4OCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMywweGZmLDB4OGMsMHhmZiwweDNiLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDEsMHhmZiwweDhiLDB4ZmYsMHg5MywweGZmLDB4ZmYsMHhmZiwweDUxLDB4ZmYsCi0weDgyLDB4ZmYsMHg0MywweGZmLDB4ZmYsMHhmZiwweDgwLDB4ZmYsMHg4YiwweGZmLDB4OTMsMHhmZiwweGZmLDB4ZmYsMHg2MCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg4OSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MGMsMHhmZiwweDBkLDB4ZmYsMHhmZiwweGZmLDB4ODAsMHhmZiwweDBjLDB4ZmYsMHgwZCwweGZmLDB4ZmYsMHhmZiwweGEwLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg4MCwweGZmLDB4MzcsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLAotMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLDB4MDIsMHhmZiwweDNjLDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4NzYsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4ZGUsMHhmZiwweDAwLDB4ZmYsMHhhMCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsCi0weDg0LDB4ZmYsMHgzNywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHgwOCwweGZmLAotMHgwMiwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHg0NSwweGZmLDB4NzcsMHhmZiwweDE0LDB4ZmYsMHhmZiwweGZmLDB4MmUsMHhmZiwKLTB4MDAsMHhmZiwweGEwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDdlLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsCi0weDAwLDB4ZmYsMHgzOCwweGZmLDB4ZmYsMHhmZiwweDA4LDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhlNSwweGZmLAotMHg3NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHg4ZSwweGZmLDB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDAsMHhmZiwweDU4LDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weDY0LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDRmLDB4ZmYsMHgzOCwweGZmLDB4MjIsMHhmZiwweGZmLDB4ZmYsMHgwZiwweGZmLAotMHg3NywweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhlNSwweGZmLDB4OGIsMHhmZiwweDgzLDB4ZmYsMHhmZiwweGZmLDB4NDAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDY0LDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweDhmLDB4ZmYsCi0weDM4LDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3OCwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHgzNSwweGZmLAotMHg4YiwweGZmLDB4ODMsMHhmZiwweGZmLDB4ZmYsMHg0MCwweGZmLDB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDA5LDB4ZmYsCi0weDAwLDB4ZmYsMHgzNCwweGZmLDB4ZmYsMHhmZiwweDg1LDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHg1NiwweGZmLAotMHgwMCwweGZmLDB4MDksMHhmZiwweGZmLDB4ZmYsMHgwNiwweGZmLDB4MjAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwKLTB4MDEsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzEsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweDQ0LDB4ZmYsCi0weDAwLDB4ZmYsMHg2OCwweGZmLDB4ZmYsMHhmZiwweDA1LDB4ZmYsMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgxNSwweGZmLAotMHgwMCwweGZmLDB4NjgsMHhmZiwweGZmLDB4ZmYsMHgwNSwweGZmLDB4MDAsMHhmZiwweDY4LDB4ZmYsMHhmZiwweGZmLDB4NDUsMHhmZiwKLTB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDg2LDB4ZmYsMHg4NywweGZmLDB4ZmYsMHhmZiwweGYwLDB4ZmYsCi0weDg2LDB4ZmYsMHg4YiwweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsMHgwMCwweGZmLDB4MzQsMHhmZiwweGZmLDB4ZmYsMHhjOCwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHhjOCwweGZmLDB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MDMsMHhmZiwKLTB4MDAsMHhmZiwweDYwLDB4ZmYsMHhmZiwweGZmLDB4MTMsMHhmZiwweDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDEzLDB4ZmYsCi0weDAwLDB4ZmYsMHg3OCwweGZmLDB4ZmYsMHhmZiwweDAzLDB4ZmYsMHg4NiwweGZmLDB4OTcsMHhmZiwweGZmLDB4ZmYsMHhmMCwweGZmLAotMHg4NiwweGZmLDB4OWIsMHhmZiwweGZmLDB4ZmYsMHhlMCwweGZmLDB4MDUsMHhmZiwweDgxLDB4ZmYsMHhmZiwweGZmLDB4YzAsMHhmZiwKLTB4NzgsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDIxLDB4ZmYsMHgxOCwweGZmLDB4ZmYsMHhmZiwweDcxLDB4ZmYsCi0weDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHg3ZiwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwMSwweGZmLAotMHgwMCwweGZmLDB4MzgsMHhmZiwweGZmLDB4ZmYsMHgwOSwweGZmLDB4MDAsMHhmZiwweDM4LDB4ZmYsMHhmZiwweGZmLDB4MDYsMHhmZiwKLTB4N2UsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4MDAsMHhmZiwweDAwLDB4ZmYsMHg0MCwweGZmLDB4ZmYsMHhmZiwweGIxLDB4ZmYsCi0weDA4LDB4ZmYsMHgwYywweGZmLDB4ZmYsMHhmZiwweDAwLDB4ZmYsMHgwMCwweGZmLDB4M2MsMHhmZiwweGZmLDB4ZmYsMHhjNSwweGZmLAotMHg3YSwweGZmLDB4MTQsMHhmZiwweGZmLDB4ZmYsMHhiZSwweGZmLDB4MDAsMHhmZiwweDUwLDB4ZmYsMHhmZiwweGZmLDB4NDYsMHhmZiwKLTB4ZTEsMHhmZiwweDIyLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwweDdhLDB4ZmYsMHgxYywweGZmLDB4ZmYsMHhmZiwweGUwLDB4ZmYsCi0weDYwLDB4ZmYsMHgyMiwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsMHgwMCwweGZmLDB4NTgsMHhmZiwweGZmLDB4ZmYsMHhhNywweGZmLAotMHgwYywweGZmLDB4MGMsMHhmZiwweGZmLDB4ZmYsMHgwMCwweGZmLDB4MDAsMHhmZiwweDBhLDB4ZmYsMHhmZiwweGZmLDB4MGYsMHhmZiwKLTB4MDAsMHhmZiwweDQwLDB4ZmYsMHhmZiwweGZmLDB4YzQsMHhmZiwweDAwLDB4ZmYsMHgwYSwweGZmLDB4ZmYsMHhmZiwweDBmLDB4ZmYsCi0weGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLDB4ZmYsMHhmZiwweGZmLAotMHhmZiwweGZmLDB4ZmYsMHhmZiB9OwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2tvcmcxMjEyL2tvcmcxMjEyLmMgYi9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYwppbmRleCBmNGM4NWI1Li40YTQ0YzBmIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYworKysgYi9zb3VuZC9wY2kva29yZzEyMTIva29yZzEyMTIuYwpAQCAtMjYwLDE0ICsyNjAsNiBAQAogI2RlZmluZSBDT01NQU5EX0FDS19ERUxBWSAgIDEzICAgICAgICAgLy8gbnVtYmVyIG9mIFJUQyB0aWNrcyB0byB3YWl0IGZvciBhbiBhY2tub3dsZWRnZW1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIGZyb20gdGhlIGNhcmQgYWZ0ZXIgc2VuZGluZyBhIGNvbW1hbmQuCiAKLSNpZmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAotI2luY2x1ZGUgImtvcmcxMjEyLWZpcm13YXJlLmgiCi1zdGF0aWMgY29uc3Qgc3RydWN0IGZpcm13YXJlIHN0YXRpY19kc3BfY29kZSA9IHsKLQkuZGF0YSA9ICh1OCAqKWRzcENvZGUsCi0JLnNpemUgPSBzaXplb2YgZHNwQ29kZQotfTsKLSNlbmRpZgotCiBlbnVtIENsb2NrU291cmNlSW5kZXggewogICAgSzEyMTJfQ0xLSURYX0FkYXRBdDQ0XzFLID0gMCwgICAgLy8gc2VsZWN0cyBzb3VyY2UgYXMgQURBVCBhdCA0NC4xIGtIegogICAgSzEyMTJfQ0xLSURYX0FkYXRBdDQ4SywgICAgICAgICAgLy8gc2VsZWN0cyBzb3VyY2UgYXMgQURBVCBhdCA0OCBrSHoKQEAgLTQxMiw5ICs0MDQsNyBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCJrb3JnMTIxMiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7S09SRyxrb3JnMTIxMn19Iik7Ci0jaWZuZGVmIENPTkZJR19TTkRfS09SRzEyMTJfRklSTVdBUkVfSU5fS0VSTkVMCiBNT0RVTEVfRklSTVdBUkUoImtvcmcvazEyMTIuZHNwIik7Ci0jZW5kaWYKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsgICAgIC8qIEluZGV4IDAtTUFYICovCiBzdGF0aWMgY2hhciAqaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7CSAgIC8qIElEIGZvciB0aGlzIGNhcmQgKi8KQEAgLTIzNDgsOSArMjMzOCw2IEBACiAgICAgICAgIGtvcmcxMjEyLT5BZGF0VGltZUNvZGVQaHkgPSBrb3JnMTIxMi0+c2hhcmVkQnVmZmVyUGh5ICsKIAkJb2Zmc2V0b2Yoc3RydWN0IEtvcmdTaGFyZWRCdWZmZXIsIEFkYXRUaW1lQ29kZSk7CiAKLSNpZmRlZiBDT05GSUdfU05EX0tPUkcxMjEyX0ZJUk1XQVJFX0lOX0tFUk5FTAotCWRzcF9jb2RlID0gJnN0YXRpY19kc3BfY29kZTsKLSNlbHNlCiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmZHNwX2NvZGUsICJrb3JnL2sxMjEyLmRzcCIsICZwY2ktPmRldik7CiAJaWYgKGVyciA8IDApIHsKIAkJcmVsZWFzZV9maXJtd2FyZShkc3BfY29kZSk7CkBAIC0yMzU4LDE1ICsyMzQ1LDEyIEBACiAJCXNuZF9rb3JnMTIxMl9mcmVlKGtvcmcxMjEyKTsKIAkJcmV0dXJuIGVycjsKIAl9Ci0jZW5kaWYKIAogCWlmIChzbmRfZG1hX2FsbG9jX3BhZ2VzKFNORFJWX0RNQV9UWVBFX0RFViwgc25kX2RtYV9wY2lfZGF0YShwY2kpLAogCQkJCWRzcF9jb2RlLT5zaXplLCAma29yZzEyMTItPmRtYV9kc3ApIDwgMCkgewogCQlzbmRfcHJpbnRrKEtFUk5fRVJSICJrb3JnMTIxMjogY2Fubm90IGFsbG9jYXRlIGRzcCBjb2RlIG1lbW9yeSAoJXpkIGJ5dGVzKVxuIiwgZHNwX2NvZGUtPnNpemUpOwogICAgICAgICAgICAgICAgIHNuZF9rb3JnMTIxMl9mcmVlKGtvcmcxMjEyKTsKLSNpZm5kZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIAkJcmVsZWFzZV9maXJtd2FyZShkc3BfY29kZSk7Ci0jZW5kaWYKICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICAgICAgfQogCkBAIC0yMzc2LDkgKzIzNjAsNyBAQAogCiAJbWVtY3B5KGtvcmcxMjEyLT5kbWFfZHNwLmFyZWEsIGRzcF9jb2RlLT5kYXRhLCBkc3BfY29kZS0+c2l6ZSk7CiAKLSNpZm5kZWYgQ09ORklHX1NORF9LT1JHMTIxMl9GSVJNV0FSRV9JTl9LRVJORUwKIAlyZWxlYXNlX2Zpcm13YXJlKGRzcF9jb2RlKTsKLSNlbmRpZgogCiAJcmMgPSBzbmRfa29yZzEyMTJfU2VuZDEyMTJDb21tYW5kKGtvcmcxMjEyLCBLMTIxMl9EQl9SZWJvb3RDYXJkLCAwLCAwLCAwLCAwKTsKIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL21hZXN0cm8zLmMgYi9zb3VuZC9wY2kvbWFlc3RybzMuYwppbmRleCBhNTM2YzU5Li4wMDM3YmU3IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvbWFlc3RybzMuYworKysgYi9zb3VuZC9wY2kvbWFlc3RybzMuYwpAQCAtNTgsMTAgKzU4LDggQEAKIAkJIntFU1MsQWxsZWdybyBQQ0l9LCIKIAkJIntFU1MsQWxsZWdyby0xIFBDSX0sIgogCSAgICAgICAgIntFU1MsQ2FueW9uM0QtMi9MRSBQQ0l9fSIpOwotI2lmbmRlZiBDT05GSUdfU05EX01BRVNUUk8zX0ZJUk1XQVJFX0lOX0tFUk5FTAogTU9EVUxFX0ZJUk1XQVJFKCJlc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZnciKTsKIE1PRFVMRV9GSVJNV0FSRSgiZXNzL21hZXN0cm8zX2Fzc3BfbWluaXNyYy5mdyIpOwotI2VuZGlmCiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CS8qIEluZGV4IDAtTUFYICovCiBzdGF0aWMgY2hhciAqaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7CS8qIElEIGZvciB0aGlzIGNhcmQgKi8KQEAgLTIxMDEsMTYzICsyMDk5LDYgQEAKIH0KIAogCi0jaWZkZWYgQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwKLQotLyoKLSAqIERTUCBDb2RlIGltYWdlcwotICovCi0KLXN0YXRpYyBjb25zdCB1MTYgYXNzcF9rZXJuZWxfaW1hZ2VbXSA9IHsKLSAgICAweDc5ODAsIDB4MDAzMCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDBGQiwgMHg3OTgwLCAweDAwREQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweDc5ODAsIDB4MDMzMiwgMHg3OTgwLCAweDAyODcsIDB4Nzk4MCwgMHgwM0I0LCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweDc5ODAsIDB4MDMxQSwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwMjJGLCAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweDc5ODAsIDB4MDNCNCwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwMDYzLCAweDc5ODAsIDB4MDA2QiwgMHg3OTgwLCAweDAzQjQsIDB4Nzk4MCwgMHgwM0I0LCAKLSAgICAweEJGODAsIDB4MkM3QywgMHg4ODA2LCAweDg4MDQsIDB4QkU0MCwgMHhCQzIwLCAweEFFMDksIDB4MTAwMCwgMHhBRTBBLCAweDAwMDEsIDB4NjkzOCwgMHhFQjA4LCAKLSAgICAweDAwNTMsIDB4Njk1QSwgMHhFQjA4LCAweDAwRDYsIDB4MDAwOSwgMHg4Qjg4LCAweDY5ODAsIDB4RTM4OCwgMHgwMDM2LCAweEJFMzAsIDB4QkMyMCwgMHg2OTA5LCAKLSAgICAweEI4MDEsIDB4OTAwOSwgMHhCRTQxLCAweEJFNDEsIDB4NjkyOCwgMHhFQjg4LCAweDAwNzgsIDB4QkU0MSwgMHhCRTQwLCAweDc5ODAsIDB4MDAzOCwgMHhCRTQxLCAKLSAgICAweEJFNDEsIDB4OTAzQSwgMHg2OTM4LCAweEUzMDgsIDB4MDA1NiwgMHg5MDNBLCAweEJFNDEsIDB4QkU0MCwgMHhFRjAwLCAweDkwM0EsIDB4NjkzOSwgMHhFMzA4LCAKLSAgICAweDAwNUUsIDB4OTAzQSwgMHhFRjAwLCAweDY5MEIsIDB4NjYwQywgMHhFRjhDLCAweDY5MEEsIDB4NjYwQywgMHg2MjBCLCAweDY2MDksIDB4RUYwMCwgMHg2OTEwLCAKLSAgICAweDY2MEYsIDB4RUYwNCwgMHhFMzg4LCAweDAwNzUsIDB4NjkwRSwgMHg2NjBGLCAweDYyMTAsIDB4NjYwRCwgMHhFRjAwLCAweDY5MEUsIDB4NjYwRCwgMHhFRjAwLCAKLSAgICAweEFFNzAsIDB4MDAwMSwgMHhCQzIwLCAweEFFMjcsIDB4MDAwMSwgMHg2OTM5LCAweEVCMDgsIDB4MDA1RCwgMHg2OTI2LCAweEI4MDEsIDB4OTAyNiwgMHgwMDI2LCAKLSAgICAweDhCODgsIDB4Njk4MCwgMHhFMzg4LCAweDAwQ0IsIDB4OTAyOCwgMHgwRDI4LCAweDQyMTEsIDB4RTEwMCwgMHgwMDdBLCAweDQ3MTEsIDB4RTEwMCwgMHgwMEEwLCAKLSAgICAweDdBODAsIDB4MDA2MywgMHhCODExLCAweDY2MEEsIDB4NjIwOSwgMHhFMzA0LCAweDAwN0EsIDB4MEMwQiwgMHg0MDA1LCAweDEwMEEsIDB4QkEwMSwgMHg5MDEyLCAKLSAgICAweDBDMTIsIDB4NDAwMiwgMHg3OTgwLCAweDAwQUYsIDB4N0E4MCwgMHgwMDZCLCAweEJFMDIsIDB4NjIwRSwgMHg2NjBELCAweEJBMTAsIDB4RTM0NCwgMHgwMDdBLCAKLSAgICAweDBDMTAsIDB4NDAwNSwgMHgxMDBFLCAweEJBMDEsIDB4OTAxMiwgMHgwQzEyLCAweDQwMDIsIDB4MTAwMywgMHhCQTAyLCAweDkwMTIsIDB4MEMxMiwgMHg0MDAwLCAKLSAgICAweDEwMDMsIDB4RTM4OCwgMHgwMEJBLCAweDEwMDQsIDB4Nzk4MCwgMHgwMEJDLCAweDEwMDQsIDB4QkEwMSwgMHg5MDEyLCAweDBDMTIsIDB4NDAwMSwgMHgwQzA1LCAKLSAgICAweDQwMDMsIDB4MEMwNiwgMHg0MDA0LCAweDEwMTEsIDB4QkZCMCwgMHgwMUZGLCAweDkwMTIsIDB4MEMxMiwgMHg0MDA2LCAweEJDMjAsIDB4RUYwMCwgMHhBRTI2LCAKLSAgICAweDEwMjgsIDB4Njk3MCwgMHhCRkQwLCAweDAwMDEsIDB4OTA3MCwgMHhFMzg4LCAweDAwN0EsIDB4QUUyOCwgMHgwMDAwLCAweEVGMDAsIDB4QUU3MCwgMHgwMzAwLCAKLSAgICAweDBDNzAsIDB4QjAwQywgMHhBRTVBLCAweDAwMDAsIDB4RUYwMCwgMHg3QTgwLCAweDAzOEEsIDB4Njk3RiwgMHhCODAxLCAweDkwN0YsIDB4MDA1NiwgMHg4Qjg4LCAKLSAgICAweDBDQTAsIDB4QjAwOCwgMHhBRjcxLCAweEIwMDAsIDB4NEU3MSwgMHhFMjAwLCAweDAwRjMsIDB4QUU1NiwgMHgxMDU3LCAweDAwNTYsIDB4MENBMCwgMHhCMDA4LCAKLSAgICAweDgwNTYsIDB4Nzk4MCwgMHgwM0ExLCAweDA4MTAsIDB4QkZBMCwgMHgxMDU5LCAweEUzMDQsIDB4MDNBMSwgMHg4MDU2LCAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAKLSAgICAweDAzOEEsIDB4QkYwMSwgMHhCRTQzLCAweEJFNTksIDB4OTA3QywgMHg2OTM3LCAweEUzODgsIDB4MDEwRCwgMHhCQTAxLCAweEUzMDgsIDB4MDEwQywgMHhBRTcxLCAKLSAgICAweDAwMDQsIDB4MEM3MSwgMHg1MDAwLCAweDY5MzYsIDB4OTAzNywgMHhCRjBBLCAweDEwOUUsIDB4OEI4QSwgMHhBRjgwLCAweDgwMTQsIDB4NEM4MCwgMHhCRjBBLCAKLSAgICAweDA1NjAsIDB4RjUwMCwgMHhCRjBBLCAweDA1MjAsIDB4QjkwMCwgMHhCQjE3LCAweDkwQTAsIDB4NjkxNywgMHhFMzg4LCAweDAxNDgsIDB4MEQxNywgMHhFMTAwLCAKLSAgICAweDAxMjcsIDB4QkYwQywgMHgwNTc4LCAweEJGMEQsIDB4MDU3QywgMHg3OTgwLCAweDAxMkIsIDB4QkYwQywgMHgwNTM4LCAweEJGMEQsIDB4MDUzQywgMHg2OTAwLCAKLSAgICAweEUzMDgsIDB4MDEzNSwgMHg4QjhDLCAweEJFNTksIDB4QkIwNywgMHg5MEEwLCAweEJDMjAsIDB4Nzk4MCwgMHgwMTU3LCAweDAzMEMsIDB4OEI4QiwgMHhCOTAzLCAKLSAgICAweDg4MDksIDB4QkVDNiwgMHgwMTNFLCAweDY5QUMsIDB4OTBBQiwgMHg2OUFELCAweDkwQUIsIDB4MDgxMywgMHg2NjBBLCAweEUzNDQsIDB4MDE0NCwgMHgwMzA5LCAKLSAgICAweDgzMEMsIDB4QkMyMCwgMHg3OTgwLCAweDAxNTcsIDB4Njk1NSwgMHhFMzg4LCAweDAxNTcsIDB4N0MzOCwgMHhCRjBCLCAweDA1NzgsIDB4RjUwMCwgMHhCRjBCLCAKLSAgICAweDA1MzgsIDB4QjkwNywgMHg4ODA5LCAweEJFQzYsIDB4MDE1NiwgMHgxMEFCLCAweDkwQUEsIDB4Njk3NCwgMHhFMzg4LCAweDAxNjMsIDB4QUU3MiwgMHgwNTQwLCAKLSAgICAweEY1MDAsIDB4QUU3MiwgMHgwNTAwLCAweEFFNjEsIDB4MTAzQiwgMHg3QTgwLCAweDAyRjYsIDB4Njk3OCwgMHhFMzg4LCAweDAxODIsIDB4OEI4QywgMHhCRjBDLCAKLSAgICAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDA4MTQsIDB4QkEyMCwgMHg4ODEyLCAweDczM0QsIDB4N0E4MCwgMHgwMzgwLCAweDczM0UsIDB4N0E4MCwgMHgwMzgwLCAKLSAgICAweDhCOEMsIDB4QkYwQywgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMkMsIDB4ODgxMiwgMHg3MzNGLCAweDdBODAsIDB4MDM4MCwgMHg3MzQwLCAKLSAgICAweDdBODAsIDB4MDM4MCwgMHg2OTc1LCAweEUzODgsIDB4MDE4RSwgMHhBRTcyLCAweDA1NDgsIDB4RjUwMCwgMHhBRTcyLCAweDA1MDgsIDB4QUU2MSwgMHgxMDQxLCAKLSAgICAweDdBODAsIDB4MDJGNiwgMHg2OTc5LCAweEUzODgsIDB4MDFBRCwgMHg4QjhDLCAweEJGMEMsIDB4MDU2MCwgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTE4LCAKLSAgICAweDg4MTIsIDB4NzM0MywgMHg3QTgwLCAweDAzODAsIDB4NzM0NCwgMHg3QTgwLCAweDAzODAsIDB4OEI4QywgMHhCRjBDLCAweDA1NkMsIDB4RTUwMCwgMHg3QzQwLCAKLSAgICAweDA4MTQsIDB4QkEyNCwgMHg4ODEyLCAweDczNDUsIDB4N0E4MCwgMHgwMzgwLCAweDczNDYsIDB4N0E4MCwgMHgwMzgwLCAweDY5NzYsIDB4RTM4OCwgMHgwMUI5LCAKLSAgICAweEFFNzIsIDB4MDU1OCwgMHhGNTAwLCAweEFFNzIsIDB4MDUxOCwgMHhBRTYxLCAweDEwNDcsIDB4N0E4MCwgMHgwMkY2LCAweDY5N0EsIDB4RTM4OCwgMHgwMUQ4LCAKLSAgICAweDhCOEMsIDB4QkYwQywgMHgwNTYwLCAweEU1MDAsIDB4N0M0MCwgMHgwODE0LCAweEJBMDgsIDB4ODgxMiwgMHg3MzQ5LCAweDdBODAsIDB4MDM4MCwgMHg3MzRBLCAKLSAgICAweDdBODAsIDB4MDM4MCwgMHg4QjhDLCAweEJGMEMsIDB4MDU2QywgMHhFNTAwLCAweDdDNDAsIDB4MDgxNCwgMHhCQTE0LCAweDg4MTIsIDB4NzM0QiwgMHg3QTgwLCAKLSAgICAweDAzODAsIDB4NzM0QywgMHg3QTgwLCAweDAzODAsIDB4QkMyMSwgMHhBRTFDLCAweDEwOTAsIDB4OEI4QSwgMHhCRjBBLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAKLSAgICAweDA4MTIsIDB4QjgwNCwgMHg4ODEzLCAweDhCOEQsIDB4QkYwRCwgMHgwNTZDLCAweEU1MDAsIDB4N0M0MCwgMHgwODE1LCAweEI4MDQsIDB4ODgxMSwgMHg3QTgwLCAKLSAgICAweDAzNEEsIDB4OEI4QSwgMHhCRjBBLCAweDA1NjAsIDB4RTUwMCwgMHg3QzQwLCAweDczMUYsIDB4QjkwMywgMHg4ODA5LCAweEJFQzYsIDB4MDFGOSwgMHg1NDhBLCAKLSAgICAweEJFMDMsIDB4OThBMCwgMHg3MzIwLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDAyMDEsIDB4NTQ4QSwgMHhCRTAzLCAweDk4QTAsIDB4MUYyMCwgMHgyRjFGLCAKLSAgICAweDk4MjYsIDB4QkMyMCwgMHg2OTM1LCAweEUzODgsIDB4MDNBMSwgMHg2OTMzLCAweEI4MDEsIDB4OTAzMywgMHhCRkEwLCAweDAyRUUsIDB4RTMwOCwgMHgwM0ExLCAKLSAgICAweDkwMzMsIDB4QkYwMCwgMHg2OTUxLCAweEUzODgsIDB4MDIxRiwgMHg3MzM0LCAweEJFODAsIDB4NTc2MCwgMHhCRTAzLCAweDlGN0UsIDB4QkU1OSwgMHg5MDM0LCAKLSAgICAweDY5N0UsIDB4MEQ1MSwgMHg5MDEzLCAweEJDMjAsIDB4Njk1QywgMHhFMzg4LCAweDAzQTEsIDB4NzM1RSwgMHhCRTgwLCAweDU3NjAsIDB4QkUwMywgMHg5RjdFLCAKLSAgICAweEJFNTksIDB4OTA1RSwgMHg2OTdFLCAweDBENUMsIDB4OTAxMywgMHg3OTgwLCAweDAzQTEsIDB4N0E4MCwgMHgwMzhBLCAweEJGMDEsIDB4QkU0MywgMHg2OTc3LCAKLSAgICAweEUzODgsIDB4MDI0RSwgMHhBRTYxLCAweDEwNEQsIDB4MDA2MSwgMHg4Qjg4LCAweDY5ODAsIDB4RTM4OCwgMHgwMjRFLCAweDkwNzEsIDB4MEQ3MSwgMHgwMDBCLCAKLSAgICAweEFGQTAsIDB4ODAxMCwgMHhBRkEwLCAweDgwMTAsIDB4MDgxMCwgMHg2NjBBLCAweEUzMDgsIDB4MDI0OSwgMHgwMDA5LCAweDA4MTAsIDB4NjYwQywgMHhFMzg4LCAKLSAgICAweDAyNEUsIDB4ODAwQiwgMHhCQzIwLCAweDY5N0IsIDB4RTM4OCwgMHgwM0ExLCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAweEFGODAsIDB4ODAxNCwgMHg0QzgwLCAKLSAgICAweEUxMDAsIDB4MDI2NiwgMHg2OTdDLCAweEJGOTAsIDB4MDU2MCwgMHg5MDcyLCAweDAzNzIsIDB4Njk3QywgMHhCRjkwLCAweDA1NjQsIDB4OTA3MywgMHgwNDczLCAKLSAgICAweDc5ODAsIDB4MDI3MCwgMHg2OTdDLCAweEJGOTAsIDB4MDUyMCwgMHg5MDcyLCAweDAzNzIsIDB4Njk3QywgMHhCRjkwLCAweDA1MjQsIDB4OTA3MywgMHgwNDczLCAKLSAgICAweDY5N0MsIDB4QjgwMSwgMHg5MDdDLCAweEJGMEEsIDB4MTBGRCwgMHg4QjhBLCAweEFGODAsIDB4ODAxMCwgMHg3MzRGLCAweDU0OEEsIDB4QkUwMywgMHg5ODgwLCAKLSAgICAweEJDMjEsIDB4NzMyNiwgMHg1NDhCLCAweEJFMDMsIDB4NjE4QiwgMHg5ODhDLCAweEJFMDMsIDB4NjE4MCwgMHg5ODgwLCAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAKLSAgICAweDAzOEEsIDB4MEQyOCwgMHg0NzExLCAweEUxMDAsIDB4MDJCRSwgMHhBRjEyLCAweDQwMDYsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4RTM4OCwgMHgwMkI2LCAKLSAgICAweEJGQTAsIDB4MDgwMCwgMHhFMzg4LCAweDAyQjIsIDB4NjkxMiwgMHhCRkIwLCAweDBDMDAsIDB4QkZBMCwgMHgwNDAwLCAweEUzODgsIDB4MDJBMywgMHg2OTA5LCAKLSAgICAweDkwMEIsIDB4Nzk4MCwgMHgwMkE1LCAweEFGMEIsIDB4NDAwNSwgMHg2OTAxLCAweDkwMDUsIDB4NjkwMiwgMHg5MDA2LCAweDQzMTEsIDB4RTEwMCwgMHgwMkVELCAKLSAgICAweDY5MTEsIDB4QkZDMCwgMHgyMDAwLCAweDkwMTEsIDB4Nzk4MCwgMHgwMkVELCAweDY5MDksIDB4OTAwQiwgMHg3OTgwLCAweDAyQjgsIDB4QUYwQiwgMHg0MDA1LCAKLSAgICAweEFGMDUsIDB4NDAwMywgMHhBRjA2LCAweDQwMDQsIDB4Nzk4MCwgMHgwMkVELCAweEFGMTIsIDB4NDAwNiwgMHg2OTEyLCAweEJGQjAsIDB4MEMwMCwgMHhFMzg4LCAKLSAgICAweDAyRTcsIDB4QkZBMCwgMHgwODAwLCAweEUzODgsIDB4MDJFMywgMHg2OTEyLCAweEJGQjAsIDB4MEMwMCwgMHhCRkEwLCAweDA0MDAsIDB4RTM4OCwgMHgwMkQ0LCAKLSAgICAweDY5MEQsIDB4OTAxMCwgMHg3OTgwLCAweDAyRDYsIDB4QUYxMCwgMHg0MDA1LCAweDY5MDEsIDB4OTAwNSwgMHg2OTAyLCAweDkwMDYsIDB4NDMxMSwgMHhFMTAwLCAKLSAgICAweDAyRUQsIDB4NjkxMSwgMHhCRkMwLCAweDIwMDAsIDB4OTAxMSwgMHg3OTgwLCAweDAyRUQsIDB4NjkwRCwgMHg5MDEwLCAweDc5ODAsIDB4MDJFOSwgMHhBRjEwLCAKLSAgICAweDQwMDUsIDB4QUYwNSwgMHg0MDAzLCAweEFGMDYsIDB4NDAwNCwgMHhCQzIwLCAweDY5NzAsIDB4OTA3MSwgMHg3QTgwLCAweDAwNzgsIDB4Njk3MSwgMHg5MDcwLCAKLSAgICAweDc5ODAsIDB4MDNBMSwgMHhCQzIwLCAweDAzNjEsIDB4OEI4QiwgMHg2OTgwLCAweEVGODgsIDB4MDI3MiwgMHgwMzcyLCAweDc4MDQsIDB4OTA3MSwgMHgwRDcxLCAKLSAgICAweDhCOEEsIDB4MDAwQiwgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwMzA5LCAweDY5QTgsIDB4OTBBQiwgMHg2OUE4LCAweDkwQUEsIDB4MDgxMCwgMHg2NjBBLCAKLSAgICAweEUzNDQsIDB4MDMwRiwgMHgwMDA5LCAweDA4MTAsIDB4NjYwQywgMHhFMzg4LCAweDAzMTQsIDB4ODAwQiwgMHhCQzIwLCAweDY5NjEsIDB4QjgwMSwgMHg5MDYxLCAKLSAgICAweDc5ODAsIDB4MDJGNywgMHg3QTgwLCAweDAzOEEsIDB4NUQzNSwgMHgwMDAxLCAweDY5MzQsIDB4QjgwMSwgMHg5MDM0LCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAKLSAgICAweEFGODAsIDB4ODAxNCwgMHg0ODgwLCAweEFFNzIsIDB4MDU1MCwgMHhGNTAwLCAweEFFNzIsIDB4MDUxMCwgMHhBRTYxLCAweDEwNTEsIDB4N0E4MCwgMHgwMkY2LCAKLSAgICAweDc5ODAsIDB4MDNBMSwgMHg3QTgwLCAweDAzOEEsIDB4NUQzNSwgMHgwMDAyLCAweDY5NUUsIDB4QjgwMSwgMHg5MDVFLCAweEJGMEEsIDB4MTA5RSwgMHg4QjhBLCAKLSAgICAweEFGODAsIDB4ODAxNCwgMHg0NzgwLCAweEFFNzIsIDB4MDU1OCwgMHhGNTAwLCAweEFFNzIsIDB4MDUxOCwgMHhBRTYxLCAweDEwNUMsIDB4N0E4MCwgMHgwMkY2LCAKLSAgICAweDc5ODAsIDB4MDNBMSwgMHgwMDFDLCAweDhCODgsIDB4Njk4MCwgMHhFRjg4LCAweDkwMUQsIDB4MEQxRCwgMHgxMDBGLCAweDY2MTAsIDB4RTM4QywgMHgwMzU4LCAKLSAgICAweDY5MEUsIDB4NjYxMCwgMHg2MjBGLCAweDY2MEQsIDB4QkEwRiwgMHhFMzAxLCAweDAzN0EsIDB4MDQxMCwgMHg4QjhBLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAKLSAgICAweDAzNkMsIDB4NkE4QywgMHg2MUFBLCAweDk4QUIsIDB4NkE4QywgMHg2MUFCLCAweDk4QUQsIDB4NkE4QywgMHg2MUFELCAweDk4QTksIDB4NkE4QywgMHg2MUE5LCAKLSAgICAweDk4QUEsIDB4N0MwNCwgMHg4QjhCLCAweDdDMDQsIDB4OEI4RCwgMHg3QzA0LCAweDhCODksIDB4N0MwNCwgMHgwODE0LCAweDY2MEUsIDB4RTMwOCwgMHgwMzc5LCAKLSAgICAweDA0MEQsIDB4ODQxMCwgMHhCQzIxLCAweDY5MUMsIDB4QjgwMSwgMHg5MDFDLCAweDc5ODAsIDB4MDM0QSwgMHhCOTAzLCAweDg4MDksIDB4OEI4QSwgMHhCRUM2LCAKLSAgICAweDAzODgsIDB4NTRBQywgMHhCRTAzLCAweDYxOEMsIDB4OThBQSwgMHhFRjAwLCAweEJDMjAsIDB4QkU0NiwgMHgwODA5LCAweDkwNkIsIDB4MDgwQSwgMHg5MDZDLCAKLSAgICAweDA4MEIsIDB4OTA2RCwgMHgwODFBLCAweDkwNjIsIDB4MDgxQiwgMHg5MDYzLCAweDA4MUUsIDB4OTA2NCwgMHhCRTU5LCAweDg4MUUsIDB4ODA2NSwgMHg4MTY2LCAKLSAgICAweDgyNjcsIDB4ODM2OCwgMHg4NDY5LCAweDg1NkEsIDB4RUYwMCwgMHhCQzIwLCAweDY5NkIsIDB4ODgwOSwgMHg2OTZDLCAweDg4MEEsIDB4Njk2RCwgMHg4ODBCLCAKLSAgICAweDY5NjIsIDB4ODgxQSwgMHg2OTYzLCAweDg4MUIsIDB4Njk2NCwgMHg4ODFFLCAweDAwNjUsIDB4MDE2NiwgMHgwMjY3LCAweDAzNjgsIDB4MDQ2OSwgMHgwNTZBLCAKLSAgICAweEJFM0EsIAotfTsKLQotLyoKLSAqIE1pbmkgc2FtcGxlIHJhdGUgY29udmVydGVyIGNvZGUgaW1hZ2UKLSAqIHRoYXQgaXMgdG8gYmUgbG9hZGVkIGF0IDB4NDAwIG9uIHRoZSBEU1AuCi0gKi8KLXN0YXRpYyBjb25zdCB1MTYgYXNzcF9taW5pc3JjX2ltYWdlW10gPSB7Ci0KLSAgICAweEJGODAsIDB4MTAxRSwgMHg5MDZFLCAweDAwNkUsIDB4OEI4OCwgMHg2OTgwLCAweEVGODgsIDB4OTA2RiwgMHgwRDZGLCAweDY5MDAsIDB4RUIwOCwgMHgwNDEyLCAKLSAgICAweEJDMjAsIDB4Njk2RSwgMHhCODAxLCAweDkwNkUsIDB4Nzk4MCwgMHgwNDAzLCAweEI5MEUsIDB4ODgwNywgMHhCRTQzLCAweEJGMDEsIDB4QkU0NywgMHhCRTQxLCAKLSAgICAweDdBODAsIDB4MDAyQSwgMHhCRTQwLCAweDMwMjksIDB4RUZDQywgMHhCRTQxLCAweDdBODAsIDB4MDAyOCwgMHhCRTQwLCAweDMwMjgsIDB4RUZDQywgMHg2OTA3LCAKLSAgICAweEUzMDgsIDB4MDQyQSwgMHg2OTA5LCAweDkwMkMsIDB4Nzk4MCwgMHgwNDJDLCAweDY5MEQsIDB4OTAyQywgMHgxMDA5LCAweDg4MUEsIDB4MTAwQSwgMHhCQTAxLCAKLSAgICAweDg4MUIsIDB4MTAwRCwgMHg4ODFDLCAweDEwMEUsIDB4QkEwMSwgMHg4ODFELCAweEJGODAsIDB4MDBFRCwgMHg4ODFFLCAweDA1MEMsIDB4MDEyNCwgMHhCOTA0LCAKLSAgICAweDkwMjcsIDB4NjkxOCwgMHhFMzA4LCAweDA0QjMsIDB4OTAyRCwgMHg2OTEzLCAweEJGQTAsIDB4NzU5OCwgMHhGNzA0LCAweEFFMkQsIDB4MDBGRiwgMHg4QjhELCAKLSAgICAweDY5MTksIDB4RTMwOCwgMHgwNDYzLCAweDY5MUEsIDB4RTMwOCwgMHgwNDU2LCAweEI5MDcsIDB4ODgwOSwgMHhCRUM2LCAweDA0NTMsIDB4MTBBOSwgMHg5MEFELCAKLSAgICAweDc5ODAsIDB4MDQ3QywgMHhCOTAzLCAweDg4MDksIDB4QkVDNiwgMHgwNDYwLCAweDE4ODksIDB4NkMyMiwgMHg5MEFELCAweDEwQTksIDB4NkUyMywgMHg2QzIyLCAKLSAgICAweDkwQUQsIDB4Nzk4MCwgMHgwNDdDLCAweDEwMUEsIDB4RTMwOCwgMHgwNDZGLCAweEI5MDMsIDB4ODgwOSwgMHhCRUM2LCAweDA0NkMsIDB4MTBBOSwgMHg5MEEwLCAKLSAgICAweDkwQUQsIDB4Nzk4MCwgMHgwNDdDLCAweEI5MDEsIDB4ODgwOSwgMHhCRUM2LCAweDA0N0IsIDB4MTg4OSwgMHg2QzIyLCAweDkwQTAsIDB4OTBBRCwgMHgxMEE5LCAKLSAgICAweDZFMjMsIDB4NkMyMiwgMHg5MEEwLCAweDkwQUQsIDB4NjkyRCwgMHhFMzA4LCAweDA0OUMsIDB4MDEyNCwgMHhCNzAzLCAweEI5MDIsIDB4ODgxOCwgMHg4Qjg5LCAKLSAgICAweDAyMkMsIDB4MTA4QSwgMHg3QzA0LCAweDkwQTAsIDB4NjkyQiwgMHg4ODFGLCAweDdFODAsIDB4MDU1QiwgMHg2OTJBLCAweDg4MDksIDB4OEI4OSwgMHg5OUEwLCAKLSAgICAweDEwOEEsIDB4OTBBMCwgMHg2OTJCLCAweDg4MUYsIDB4N0U4MCwgMHgwNTVCLCAweDY5MkEsIDB4ODgwOSwgMHg4Qjg5LCAweDk5QUYsIDB4N0I5OSwgMHgwNDg0LCAKLSAgICAweDAxMjQsIDB4MDYwRiwgMHgxMDFCLCAweDIwMTMsIDB4OTAxQiwgMHhCRkEwLCAweDdGRkYsIDB4RTM0NCwgMHgwNEFDLCAweDkwMUIsIDB4OEI4OSwgMHg3QTgwLCAKLSAgICAweDA1MUEsIDB4NjkyNywgMHhCQTAxLCAweDkwMjcsIDB4N0E4MCwgMHgwNTIzLCAweDY5MjcsIDB4RTMwOCwgMHgwNDlFLCAweDc5ODAsIDB4MDUwRiwgMHgwNjI0LCAKLSAgICAweDEwMjYsIDB4MjAxMywgMHg5MDI2LCAweEJGQTAsIDB4N0ZGRiwgMHhFMzA0LCAweDA0QzAsIDB4OEI4RCwgMHg3QTgwLCAweDA1MUEsIDB4Nzk4MCwgMHgwNEI0LCAKLSAgICAweDkwMjYsIDB4MTAxMywgMHgzMDI2LCAweDkwMUIsIDB4OEI4RCwgMHg3QTgwLCAweDA1MUEsIDB4N0E4MCwgMHgwNTIzLCAweDEwMjcsIDB4QkEwMSwgMHg5MDI3LCAKLSAgICAweEUzMDgsIDB4MDRCNCwgMHgwMTI0LCAweDA2MEYsIDB4OEI4OSwgMHg2OTFBLCAweEUzMDgsIDB4MDRFQSwgMHg2OTE5LCAweEUzODgsIDB4MDRFMCwgMHhCOTAzLCAKLSAgICAweDg4MDksIDB4QkVDNiwgMHgwNERELCAweDFGQTAsIDB4MkZBRSwgMHg5OEE5LCAweDc5ODAsIDB4MDUwRiwgMHhCOTAxLCAweDg4MTgsIDB4QjkwNywgMHg4ODA5LCAKLSAgICAweEJFQzYsIDB4MDRFNywgMHgxMEVFLCAweDkwQTksIDB4Nzk4MCwgMHgwNTBGLCAweDY5MTksIDB4RTMwOCwgMHgwNEZFLCAweEI5MDMsIDB4ODgwOSwgMHhCRTQ2LCAKLSAgICAweEJFQzYsIDB4MDRGQSwgMHgxN0EwLCAweEJFMUUsIDB4MUZBRSwgMHhCRkJGLCAweEZGMDAsIDB4QkUxMywgMHhCRkRGLCAweDgwODAsIDB4OTlBOSwgMHhCRTQ3LCAKLSAgICAweDc5ODAsIDB4MDUwRiwgMHhCOTAxLCAweDg4MDksIDB4QkVDNiwgMHgwNTBFLCAweDE2QTAsIDB4MjZBMCwgMHhCRkI3LCAweEZGMDAsIDB4QkUxRSwgMHgxRUEwLCAKLSAgICAweDJFQUUsIDB4QkZCRiwgMHhGRjAwLCAweEJFMTMsIDB4QkZERiwgMHg4MDgwLCAweDk5QTksIDB4ODUwQywgMHg4NjBGLCAweDY5MDcsIDB4RTM4OCwgMHgwNTE2LCAKLSAgICAweDBEMDcsIDB4ODUxMCwgMHhCRTU5LCAweDg4MUUsIDB4QkU0QSwgMHhFRjAwLCAweDEwMUUsIDB4OTAxQywgMHgxMDFGLCAweDkwMUQsIDB4MTBBMCwgMHg5MDFFLCAKLSAgICAweDEwQTAsIDB4OTAxRiwgMHhFRjAwLCAweDEwMUUsIDB4MzAxQywgMHg5MDIwLCAweDczMUIsIDB4NTQyMCwgMHhCRTAzLCAweDk4MjUsIDB4MTAyNSwgMHgyMDFDLCAKLSAgICAweDkwMjUsIDB4NzMyNSwgMHg1NDE0LCAweEJFMDMsIDB4OEI4RSwgMHg5ODgwLCAweDY5MkYsIDB4RTM4OCwgMHgwNTM5LCAweEJFNTksIDB4QkIwNywgMHg2MTgwLCAKLSAgICAweDk4ODAsIDB4OEJBMCwgMHgxMDFGLCAweDMwMUQsIDB4OTAyMSwgMHg3MzFCLCAweDU0MjEsIDB4QkUwMywgMHg5ODJFLCAweDEwMkUsIDB4MjAxRCwgMHg5MDJFLCAKLSAgICAweDczMkUsIDB4NTQxNSwgMHhCRTAzLCAweDk4ODAsIDB4NjkyRiwgMHhFMzg4LCAweDA1NEYsIDB4QkU1OSwgMHhCQjA3LCAweDYxODAsIDB4OTg4MCwgMHg4QkEwLCAKLSAgICAweDY5MTgsIDB4RUYwOCwgMHg3MzI1LCAweDU0MTYsIDB4QkUwMywgMHg5OEEwLCAweDczMkUsIDB4NTQxNywgMHhCRTAzLCAweDk4QTAsIDB4RUYwMCwgMHg4QkEwLCAKLSAgICAweEJFQzYsIDB4MDU2QiwgMHhCRTU5LCAweEJCMDQsIDB4QUE5MCwgMHhCRTA0LCAweEJFMUUsIDB4OTlFMCwgMHg4QkUwLCAweDY5QTAsIDB4OTBEMCwgMHg2OUEwLCAKLSAgICAweDkwRDAsIDB4MDgxRiwgMHhCODA1LCAweDg4MUYsIDB4OEI5MCwgMHg2OUEwLCAweDkwRDAsIDB4NjlBMCwgMHg5MDkwLCAweDhCRDAsIDB4OEJEOCwgMHhCRTFGLCAKLSAgICAweEVGMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAKLSAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAKLX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgYXNzcF9rZXJuZWwgPSB7Ci0JLmRhdGEgPSAodTggKilhc3NwX2tlcm5lbF9pbWFnZSwKLQkuc2l6ZSA9IHNpemVvZiBhc3NwX2tlcm5lbF9pbWFnZQotfTsKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgYXNzcF9taW5pc3JjID0gewotCS5kYXRhID0gKHU4ICopYXNzcF9taW5pc3JjX2ltYWdlLAotCS5zaXplID0gc2l6ZW9mIGFzc3BfbWluaXNyY19pbWFnZQotfTsKLQotI2Vsc2UgLyogQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwgKi8KLQotI2lmZGVmIF9fTElUVExFX0VORElBTgotc3RhdGljIGlubGluZSB2b2lkIHNuZF9tM19jb252ZXJ0X2Zyb21fbGUoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdykgeyB9Ci0jZWxzZQotc3RhdGljIHZvaWQgc25kX20zX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQotewotCWludCBpOwotCXUxNiAqZGF0YSA9ICh1MTYgKilmdy0+ZGF0YTsKLQotCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZSAvIDI7ICsraSkKLQkJbGUxNl90b19jcHVzKCZkYXRhW2ldKTsKLX0KLSNlbmRpZgotCi0jZW5kaWYgLyogQ09ORklHX1NORF9NQUVTVFJPM19GSVJNV0FSRV9JTl9LRVJORUwgKi8KLQotCiAvKgogICogaW5pdGlhbGl6ZSBBU1NQCiAgKi8KQEAgLTIyNzEsNyArMjExMiw3IEBACiBzdGF0aWMgdm9pZCBzbmRfbTNfYXNzcF9pbml0KHN0cnVjdCBzbmRfbTMgKmNoaXApCiB7CiAJdW5zaWduZWQgaW50IGk7Ci0JdTE2ICpkYXRhOworCWNvbnN0IHUxNiAqZGF0YTsKIAogCS8qIHplcm8ga2VybmVsIGRhdGEgKi8KIAlmb3IgKGkgPSAwOyBpIDwgKFJFVl9CX0RBVEFfTUVNT1JZX1VOSVRfTEVOR1RIICogTlVNX1VOSVRTX0tFUk5FTF9EQVRBKSAvIDI7IGkrKykKQEAgLTIyODksMTAgKzIxMzAsMTEgQEAKIAkJCSAgS0RBVEFfRE1BX1hGRVIwKTsKIAogCS8qIHdyaXRlIGtlcm5lbCBpbnRvIGNvZGUgbWVtb3J5Li4gKi8KLQlkYXRhID0gKHUxNiAqKWNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLT5kYXRhOworCWRhdGEgPSAoY29uc3QgdTE2ICopY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UtPmRhdGE7CiAJZm9yIChpID0gMCA7IGkgKiAyIDwgY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UtPnNpemU7IGkrKykgewogCQlzbmRfbTNfYXNzcF93cml0ZShjaGlwLCBNRU1UWVBFX0lOVEVSTkFMX0NPREUsIAotCQkJCSAgUkVWX0JfQ09ERV9NRU1PUllfQkVHSU4gKyBpLCBkYXRhW2ldKTsKKwkJCQkgIFJFVl9CX0NPREVfTUVNT1JZX0JFR0lOICsgaSwKKwkJCQkgIGxlMTZfdG9fY3B1KGRhdGFbaV0pKTsKIAl9CiAKIAkvKgpAQCAtMjMwMSwxMCArMjE0MywxMCBAQAogCSAqIGRyb3AgaXQgdGhlcmUuICBJdCBzZWVtcyB0aGF0IHRoZSBtaW5pc3JjIGRvZXNuJ3QKIAkgKiBuZWVkIHZlY3RvcnMsIHNvIHdlIHdvbid0IGJvdGhlciB3aXRoIHRoZW0uLgogCSAqLwotCWRhdGEgPSAodTE2ICopY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLT5kYXRhOworCWRhdGEgPSAoY29uc3QgdTE2ICopY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLT5kYXRhOwogCWZvciAoaSA9IDA7IGkgKiAyIDwgY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLT5zaXplOyBpKyspIHsKIAkJc25kX20zX2Fzc3Bfd3JpdGUoY2hpcCwgTUVNVFlQRV9JTlRFUk5BTF9DT0RFLCAKLQkJCQkgIDB4NDAwICsgaSwgZGF0YVtpXSk7CisJCQkJICAweDQwMCArIGksIGxlMTZfdG9fY3B1KGRhdGFbaV0pKTsKIAl9CiAKIAkvKgpAQCAtMjQyNyw2ICsyMjY5LDI5IEBACiAJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKIH0KIAorc3RhdGljIHZvaWQKK3NuZF9tM19odl9pbml0KHN0cnVjdCBzbmRfbTMgKmNoaXApCit7CisJdW5zaWduZWQgbG9uZyBpbyA9IGNoaXAtPmlvYmFzZTsKKwl1MTYgdmFsID0gR1BJX1ZPTF9ET1dOIHwgR1BJX1ZPTF9VUDsKKworCWlmICghY2hpcC0+aXNfb21uaWJvb2spCisJCXJldHVybjsKKworCS8qCisJICogVm9sdW1lIGJ1dHRvbnMgb24gc29tZSBIUCBPbW5pQm9vayBsYXB0b3BzCisJICogcmVxdWlyZSBzb21lIEdQSU8gbWFnaWMgdG8gd29yayBjb3JyZWN0bHkuCisJICovCisJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKKwlvdXR3KDB4MDAwMCwgaW8gKyBHUElPX0RBVEEpOworCisJb3V0dyh+dmFsLCBpbyArIEdQSU9fTUFTSyk7CisJb3V0dyhpbncoaW8gKyBHUElPX0RJUkVDVElPTikgJiB+dmFsLCBpbyArIEdQSU9fRElSRUNUSU9OKTsKKwlvdXR3KHZhbCwgaW8gKyBHUElPX01BU0spOworCisJb3V0dygweGZmZmYsIGlvICsgR1BJT19NQVNLKTsKK30KKwogc3RhdGljIGludAogc25kX20zX2NoaXBfaW5pdChzdHJ1Y3Qgc25kX20zICpjaGlwKQogewpAQCAtMjQ0MiwyMSArMjMwNyw2IEBACiAJICAgICAgIERJU0FCTEVfTEVHQUNZKTsKIAlwY2lfd3JpdGVfY29uZmlnX3dvcmQocGNpZGV2LCBQQ0lfTEVHQUNZX0FVRElPX0NUUkwsIHcpOwogCi0JaWYgKGNoaXAtPmlzX29tbmlib29rKSB7Ci0JCS8qCi0JCSAqIFZvbHVtZSBidXR0b25zIG9uIHNvbWUgSFAgT21uaUJvb2sgbGFwdG9wcyBkb24ndCB3b3JrCi0JCSAqIGNvcnJlY3RseS4gVGhpcyBtYWtlcyB0aGVtIHdvcmsgZm9yIHRoZSBtb3N0IHBhcnQuCi0JCSAqCi0JCSAqIFZvbHVtZSB1cCBhbmQgZG93biBidXR0b25zIG9uIHRoZSBsYXB0b3Agc2lkZSB3b3JrLgotCQkgKiBGbitjdXJzb3JfdXAgKHZvbG1lIHVwKSB3b3Jrcy4KLQkJICogRm4rY3Vyc29yX2Rvd24gKHZvbHVtZSBkb3duKSBkb2Vzbid0IHdvcmsuCi0JCSAqIEZuK0Y3IChtdXRlKSB3b3JrcyBhY3RzIGFzIHZvbHVtZSB1cC4KLQkJICovCi0JCW91dHcofihHUElfVk9MX0RPV058R1BJX1ZPTF9VUCksIGlvICsgR1BJT19NQVNLKTsKLQkJb3V0dyhpbncoaW8gKyBHUElPX0RJUkVDVElPTikgJiB+KEdQSV9WT0xfRE9XTnxHUElfVk9MX1VQKSwgaW8gKyBHUElPX0RJUkVDVElPTik7Ci0JCW91dHcoKEdQSV9WT0xfRE9XTnxHUElfVk9MX1VQKSwgaW8gKyBHUElPX0RBVEEpOwotCQlvdXR3KDB4ZmZmZiwgaW8gKyBHUElPX01BU0spOwotCX0KIAlwY2lfcmVhZF9jb25maWdfZHdvcmQocGNpZGV2LCBQQ0lfQUxMRUdST19DT05GSUcsICZuKTsKIAluICY9IH4oSFZfQ1RSTF9FTkFCTEUgfCBSRURVQ0VEX0RFQk9VTkNFIHwgSFZfQlVUVE9OX0ZST01fR0QpOwogCW4gfD0gY2hpcC0+aHZfY29uZmlnOwpAQCAtMjU0OCwxMCArMjM5OCw4IEBACiAJaWYgKGNoaXAtPmlvYmFzZSkKIAkJcGNpX3JlbGVhc2VfcmVnaW9ucyhjaGlwLT5wY2kpOwogCi0jaWZuZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5hc3NwX2tlcm5lbF9pbWFnZSk7CiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UpOwotI2VuZGlmCiAKIAlwY2lfZGlzYWJsZV9kZXZpY2UoY2hpcC0+cGNpKTsKIAlrZnJlZShjaGlwKTsKQEAgLTI2NDIsNiArMjQ5MCw4IEBACiAJc25kX20zX2VuYWJsZV9pbnRzKGNoaXApOwogCXNuZF9tM19hbXBfZW5hYmxlKGNoaXAsIDEpOwogCisJc25kX20zX2h2X2luaXQoY2hpcCk7CisKIAlzbmRfcG93ZXJfY2hhbmdlX3N0YXRlKGNhcmQsIFNORFJWX0NUTF9QT1dFUl9EMCk7CiAJcmV0dXJuIDA7CiB9CkBAIC0yNzQxLDI5ICsyNTkxLDE5IEBACiAJCXJldHVybiAtRU5PTUVNOwogCX0KIAotI2lmZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0JY2hpcC0+YXNzcF9rZXJuZWxfaW1hZ2UgPSAmYXNzcF9rZXJuZWw7Ci0jZWxzZQogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlLAogCQkJICAgICAgICJlc3MvbWFlc3RybzNfYXNzcF9rZXJuZWwuZnciLCAmcGNpLT5kZXYpOwogCWlmIChlcnIgPCAwKSB7CiAJCXNuZF9tM19mcmVlKGNoaXApOwogCQlyZXR1cm4gZXJyOwotCX0gZWxzZQotCQlzbmRfbTNfY29udmVydF9mcm9tX2xlKGNoaXAtPmFzc3Bfa2VybmVsX2ltYWdlKTsKLSNlbmRpZgorCX0KIAotI2lmZGVmIENPTkZJR19TTkRfTUFFU1RSTzNfRklSTVdBUkVfSU5fS0VSTkVMCi0JY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlID0gJmFzc3BfbWluaXNyYzsKLSNlbHNlCiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmY2hpcC0+YXNzcF9taW5pc3JjX2ltYWdlLAogCQkJICAgICAgICJlc3MvbWFlc3RybzNfYXNzcF9taW5pc3JjLmZ3IiwgJnBjaS0+ZGV2KTsKIAlpZiAoZXJyIDwgMCkgewogCQlzbmRfbTNfZnJlZShjaGlwKTsKIAkJcmV0dXJuIGVycjsKLQl9IGVsc2UKLQkJc25kX20zX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5hc3NwX21pbmlzcmNfaW1hZ2UpOwotI2VuZGlmCisJfQogCiAJaWYgKChlcnIgPSBwY2lfcmVxdWVzdF9yZWdpb25zKHBjaSwgY2FyZC0+ZHJpdmVyKSkgPCAwKSB7CiAJCXNuZF9tM19mcmVlKGNoaXApOwpAQCAtMjc4MSw2ICsyNjIxLDggQEAKIAogCXNuZF9tM19hbXBfZW5hYmxlKGNoaXAsIDEpOwogCisJc25kX20zX2h2X2luaXQoY2hpcCk7CisKIAl0YXNrbGV0X2luaXQoJmNoaXAtPmh3dm9sX3RxLCBzbmRfbTNfdXBkYXRlX2h3X3ZvbHVtZSwgKHVuc2lnbmVkIGxvbmcpY2hpcCk7CiAKIAlpZiAocmVxdWVzdF9pcnEocGNpLT5pcnEsIHNuZF9tM19pbnRlcnJ1cHQsIElSUUZfU0hBUkVELApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYyBiL3NvdW5kL3BjaS9taXhhcnQvbWl4YXJ0X2h3ZGVwLmMKaW5kZXggMTIyYzI4ZS4uZjk4NjAzMSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL21peGFydC9taXhhcnRfaHdkZXAuYworKysgYi9zb3VuZC9wY2kvbWl4YXJ0L21peGFydF9od2RlcC5jCkBAIC02MTMsNyArNjEzLDcgQEAKIAkJCSAgIChpbnQpZHNwLT5sZW5ndGgpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9Ci0JaWYgKGNvcHlfZnJvbV91c2VyKGZ3LmRhdGEsIGRzcC0+aW1hZ2UsIGRzcC0+bGVuZ3RoKSkgeworCWlmIChjb3B5X2Zyb21fdXNlcigodm9pZCAqKSBmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKIAkJdmZyZWUoZncuZGF0YSk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9ubTI1Ni9ubTI1Ni5jIGIvc291bmQvcGNpL25tMjU2L25tMjU2LmMKaW5kZXggN2VmYjgzOC4uMDZkMTNlNyAxMDA2NDQKLS0tIGEvc291bmQvcGNpL25tMjU2L25tMjU2LmMKKysrIGIvc291bmQvcGNpL25tMjU2L25tMjU2LmMKQEAgLTEzMDIsOCArMTMwMiw4IEBACiAJCS5yZWFkID0gc25kX25tMjU2X2FjOTdfcmVhZCwKIAl9OwogCi0JY2hpcC0+YWM5N19yZWdzID0ga2NhbGxvYyhzaXplb2Yoc2hvcnQpLAotCQkJCSAgQVJSQVlfU0laRShubTI1Nl9hYzk3X2luaXRfdmFsKSwgR0ZQX0tFUk5FTCk7CisJY2hpcC0+YWM5N19yZWdzID0ga2NhbGxvYyhBUlJBWV9TSVpFKG5tMjU2X2FjOTdfaW5pdF92YWwpLAorCQkJCSAgc2l6ZW9mKHNob3J0KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCEgY2hpcC0+YWM5N19yZWdzKQogCQlyZXR1cm4gLUVOT01FTTsKIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYyBiL3NvdW5kL3BjaS9veHlnZW4vaGlmaWVyLmMKaW5kZXggMDkwZGQ0My4uNzQ0MjQ2MCAxMDA2NDQKLS0tIGEvc291bmQvcGNpL294eWdlbi9oaWZpZXIuYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL2hpZmllci5jCkBAIC0yOCw3ICsyOCw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJUZW1wb1RlYyBIaUZpZXIgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CiBzdGF0aWMgY2hhciAqaWRbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9TVFI7CkBAIC02MiwxNiArNjIsMjggQEAKIAkJCSBBSzQzOTZfV1JJVEUgfCAocmVnIDw8IDgpIHwgdmFsdWUpOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X3ZvbHVtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfTENIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVswXSk7CisJYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9SQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzFdKTsKK30KKworc3RhdGljIHZvaWQgaGlmaWVyX3JlZ2lzdGVyc19pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IGhpZmllcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKKwlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMiwgZGF0YS0+YWs0Mzk2X2N0bDIpOworCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8zLCBBSzQzOTZfUENNKTsKKwl1cGRhdGVfYWs0Mzk2X3ZvbHVtZShjaGlwKTsKK30KKwogc3RhdGljIHZvaWQgaGlmaWVyX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgaGlmaWVyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwogCiAJZGF0YS0+YWs0Mzk2X2N0bDIgPSBBSzQzOTZfU01VVEUgfCBBSzQzOTZfREVNX09GRiB8IEFLNDM5Nl9ERlNfTk9STUFMOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8xLCBBSzQzOTZfRElGXzI0X01TQiB8IEFLNDM5Nl9SU1ROKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMiwgZGF0YS0+YWs0Mzk2X2N0bDIpOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfQ09OVFJPTF8zLCBBSzQzOTZfUENNKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0xDSF9BVFQsIDApOwotCWFrNDM5Nl93cml0ZShjaGlwLCBBSzQzOTZfUkNIX0FUVCwgMCk7CisJaGlmaWVyX3JlZ2lzdGVyc19pbml0KGNoaXApOwogCiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkFLNDM5NiIpOwogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzUzNDAiKTsKQEAgLTEwMCwxMiArMTEyLDYgQEAKIAlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X0NPTlRST0xfMSwgQUs0Mzk2X0RJRl8yNF9NU0IgfCBBSzQzOTZfUlNUTik7CiB9CiAKLXN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JYWs0Mzk2X3dyaXRlKGNoaXAsIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lWzBdKTsKLQlhazQzOTZfd3JpdGUoY2hpcCwgQUs0Mzk2X1JDSF9BVFQsIGNoaXAtPmRhY192b2x1bWVbMV0pOwotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfYWs0Mzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgaGlmaWVyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwpAQCAtMTQwLDYgKzE0Niw3IEBACiAJLmluaXQgPSBoaWZpZXJfaW5pdCwKIAkuY29udHJvbF9maWx0ZXIgPSBoaWZpZXJfY29udHJvbF9maWx0ZXIsCiAJLmNsZWFudXAgPSBoaWZpZXJfY2xlYW51cCwKKwkucmVzdW1lID0gaGlmaWVyX3JlZ2lzdGVyc19pbml0LAogCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9hazQzOTZfcGFyYW1zLAogCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9jczUzNDBfcGFyYW1zLAogCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9hazQzOTZfdm9sdW1lLApAQCAtMTgwLDYgKzE4NywxMCBAQAogCS5pZF90YWJsZSA9IGhpZmllcl9pZHMsCiAJLnByb2JlID0gaGlmaWVyX3Byb2JlLAogCS5yZW1vdmUgPSBfX2RldmV4aXRfcChveHlnZW5fcGNpX3JlbW92ZSksCisjaWZkZWYgQ09ORklHX1BNCisJLnN1c3BlbmQgPSBveHlnZW5fcGNpX3N1c3BlbmQsCisJLnJlc3VtZSA9IG94eWdlbl9wY2lfcmVzdW1lLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfaGlmaWVyX2luaXQodm9pZCkKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMgYi9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5jCmluZGV4IDYzZjE4NWMuLjdjOGFlMzEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmMKKysrIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uYwpAQCAtNDMsNyArNDMsNyBAQAogCiBNT0RVTEVfQVVUSE9SKCJDbGVtZW5zIExhZGlzY2ggPGNsZW1lbnNAbGFkaXNjaC5kZT4iKTsKIE1PRFVMRV9ERVNDUklQVElPTigiQy1NZWRpYSBDTUk4Nzg4IGRyaXZlciIpOwotTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7Qy1NZWRpYSxDTUk4Nzg4fX0iKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsKQEAgLTgwLDYgKzgwLDcgQEAKIAogc3RydWN0IGdlbmVyaWNfZGF0YSB7CiAJdTggYWs0Mzk2X2N0bDI7CisJdTE2IHNhdmVkX3dtODc4NV9yZWdpc3RlcnNbMl07CiB9OwogCiBzdGF0aWMgdm9pZCBhazQzOTZfd3JpdGUoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IGNvZGVjLApAQCAtOTksMjAgKzEwMCwzNSBAQAogCiBzdGF0aWMgdm9pZCB3bTg3ODVfd3JpdGUoc3RydWN0IG94eWdlbiAqY2hpcCwgdTggcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCiB7CisJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKIAlveHlnZW5fd3JpdGVfc3BpKGNoaXAsIE9YWUdFTl9TUElfVFJJR0dFUiB8CiAJCQkgT1hZR0VOX1NQSV9EQVRBX0xFTkdUSF8yIHwKIAkJCSBPWFlHRU5fU1BJX0NMT0NLXzE2MCB8CiAJCQkgKDMgPDwgT1hZR0VOX1NQSV9DT0RFQ19TSElGVCkgfAogCQkJIE9YWUdFTl9TUElfQ0VOX0xBVENIX0NMT0NLX0xPLAogCQkJIChyZWcgPDwgOSkgfCB2YWx1ZSk7CisJaWYgKHJlZyA8IEFSUkFZX1NJWkUoZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVycykpCisJCWRhdGEtPnNhdmVkX3dtODc4NV9yZWdpc3RlcnNbcmVnXSA9IHZhbHVlOwogfQogCi1zdGF0aWMgdm9pZCBhazQzOTZfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQorc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCisJCQkgICAgIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7CisJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAorCQkJICAgICBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGFrNDM5Nl9yZWdpc3RlcnNfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwogCXVuc2lnbmVkIGludCBpOwogCi0JZGF0YS0+YWs0Mzk2X2N0bDIgPSBBSzQzOTZfU01VVEUgfCBBSzQzOTZfREVNX09GRiB8IEFLNDM5Nl9ERlNfTk9STUFMOwogCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKIAkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCiAJCQkgICAgIEFLNDM5Nl9DT05UUk9MXzEsIEFLNDM5Nl9ESUZfMjRfTVNCIHwgQUs0Mzk2X1JTVE4pOwpAQCAtMTIwLDkgKzEzNiwxNiBAQAogCQkJICAgICBBSzQzOTZfQ09OVFJPTF8yLCBkYXRhLT5hazQzOTZfY3RsMik7CiAJCWFrNDM5Nl93cml0ZShjaGlwLCBpLAogCQkJICAgICBBSzQzOTZfQ09OVFJPTF8zLCBBSzQzOTZfUENNKTsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksIEFLNDM5Nl9MQ0hfQVRULCAwKTsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksIEFLNDM5Nl9SQ0hfQVRULCAwKTsKIAl9CisJdXBkYXRlX2FrNDM5Nl92b2x1bWUoY2hpcCk7Cit9CisKK3N0YXRpYyB2b2lkIGFrNDM5Nl9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IGdlbmVyaWNfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5hazQzOTZfY3RsMiA9IEFLNDM5Nl9TTVVURSB8IEFLNDM5Nl9ERU1fT0ZGIHwgQUs0Mzk2X0RGU19OT1JNQUw7CisJYWs0Mzk2X3JlZ2lzdGVyc19pbml0KGNoaXApOwogCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJBSzQzOTYiKTsKIH0KIApAQCAtMTMzLDEyICsxNTYsMjMgQEAKIAlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQUs1Mzg1Iik7CiB9CiAKK3N0YXRpYyB2b2lkIHdtODc4NV9yZWdpc3RlcnNfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SNywgMCk7CisJd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMCwgZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1swXSk7CisJd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMSwgZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1sxXSk7Cit9CisKIHN0YXRpYyB2b2lkIHdtODc4NV9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCiB7Ci0Jd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SNywgMCk7Ci0Jd204Nzg1X3dyaXRlKGNoaXAsIFdNODc4NV9SMCwgV004Nzg1X01DUl9TTEFWRSB8Ci0JCSAgICAgV004Nzg1X09TUl9TSU5HTEUgfCBXTTg3ODVfRk9STUFUX0xKVVNUKTsKLQl3bTg3ODVfd3JpdGUoY2hpcCwgV004Nzg1X1IxLCBXTTg3ODVfV0xfMjQpOworCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1swXSA9IFdNODc4NV9NQ1JfU0xBVkUgfAorCQlXTTg3ODVfT1NSX1NJTkdMRSB8IFdNODc4NV9GT1JNQVRfTEpVU1Q7CisJZGF0YS0+c2F2ZWRfd204Nzg1X3JlZ2lzdGVyc1sxXSA9IFdNODc4NV9XTF8yNDsKKwl3bTg3ODVfcmVnaXN0ZXJzX2luaXQoY2hpcCk7CiAJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIldNODc4NSIpOwogfQogCkBAIC0xNTgsNiArMTkyLDEyIEBACiB7CiB9CiAKK3N0YXRpYyB2b2lkIGdlbmVyaWNfcmVzdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJYWs0Mzk2X3JlZ2lzdGVyc19pbml0KGNoaXApOworCXdtODc4NV9yZWdpc3RlcnNfaW5pdChjaGlwKTsKK30KKwogc3RhdGljIHZvaWQgc2V0X2FrNDM5Nl9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKIAkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewpAQCAtMTgzLDE4ICsyMjMsNiBAQAogCX0KIH0KIAotc3RhdGljIHZvaWQgdXBkYXRlX2FrNDM5Nl92b2x1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKLQkJYWs0Mzk2X3dyaXRlKGNoaXAsIGksCi0JCQkgICAgIEFLNDM5Nl9MQ0hfQVRULCBjaGlwLT5kYWNfdm9sdW1lW2kgKiAyXSk7Ci0JCWFrNDM5Nl93cml0ZShjaGlwLCBpLAotCQkJICAgICBBSzQzOTZfUkNIX0FUVCwgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKLQl9Ci19Ci0KIHN0YXRpYyB2b2lkIHVwZGF0ZV9hazQzOTZfbXV0ZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCBnZW5lcmljX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwpAQCAtMjU2LDYgKzI4NCw3IEBACiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmluaXQgPSBnZW5lcmljX2luaXQsCiAJLmNsZWFudXAgPSBnZW5lcmljX2NsZWFudXAsCisJLnJlc3VtZSA9IGdlbmVyaWNfcmVzdW1lLAogCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9hazQzOTZfcGFyYW1zLAogCS5zZXRfYWRjX3BhcmFtcyA9IHNldF93bTg3ODVfcGFyYW1zLAogCS51cGRhdGVfZGFjX3ZvbHVtZSA9IHVwZGF0ZV9hazQzOTZfdm9sdW1lLApAQCAtMjgzLDYgKzMxMiw3IEBACiAJLm93bmVyID0gVEhJU19NT0RVTEUsCiAJLmluaXQgPSBtZXJpZGlhbl9pbml0LAogCS5jbGVhbnVwID0gZ2VuZXJpY19jbGVhbnVwLAorCS5yZXN1bWUgPSBhazQzOTZfcmVnaXN0ZXJzX2luaXQsCiAJLnNldF9kYWNfcGFyYW1zID0gc2V0X2FrNDM5Nl9wYXJhbXMsCiAJLnNldF9hZGNfcGFyYW1zID0gc2V0X2FrNTM4NV9wYXJhbXMsCiAJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX2FrNDM5Nl92b2x1bWUsCkBAIC0zMzEsNiArMzYxLDEwIEBACiAJLmlkX3RhYmxlID0gb3h5Z2VuX2lkcywKIAkucHJvYmUgPSBnZW5lcmljX294eWdlbl9wcm9iZSwKIAkucmVtb3ZlID0gX19kZXZleGl0X3Aob3h5Z2VuX3BjaV9yZW1vdmUpLAorI2lmZGVmIENPTkZJR19QTQorCS5zdXNwZW5kID0gb3h5Z2VuX3BjaV9zdXNwZW5kLAorCS5yZXN1bWUgPSBveHlnZW5fcGNpX3Jlc3VtZSwKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCBfX2luaXQgYWxzYV9jYXJkX294eWdlbl9pbml0KHZvaWQpCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oIGIvc291bmQvcGNpL294eWdlbi9veHlnZW4uaAppbmRleCBhNzFjNmUwLi43NGE2NDQ4IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbi5oCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuLmgKQEAgLTE2LDYgKzE2LDggQEAKICNkZWZpbmUgUENNX0FDOTcJNQogI2RlZmluZSBQQ01fQ09VTlQJNgogCisjZGVmaW5lIE9YWUdFTl9JT19TSVpFCTB4MTAwCisKIC8qIG1vZGVsLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb2Ygb3V0cHV0cy9pbnB1dHMgKi8KICNkZWZpbmUgUExBWUJBQ0tfMF9UT19JMlMJMHgwMDEKICNkZWZpbmUgUExBWUJBQ0tfMV9UT19TUERJRgkweDAwNApAQCAtNzgsNiArODAsMTIgQEAKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgc3BkaWZfaW5wdXRfYml0c193b3JrOwogCXN0cnVjdCB3b3JrX3N0cnVjdCBncGlvX3dvcms7CiAJd2FpdF9xdWV1ZV9oZWFkX3QgYWM5N193YWl0cXVldWU7CisJdW5pb24geworCQl1OCBfOFtPWFlHRU5fSU9fU0laRV07CisJCV9fbGUxNiBfMTZbT1hZR0VOX0lPX1NJWkUgLyAyXTsKKwkJX19sZTMyIF8zMltPWFlHRU5fSU9fU0laRSAvIDRdOworCX0gc2F2ZWRfcmVnaXN0ZXJzOworCXUxNiBzYXZlZF9hYzk3X3JlZ2lzdGVyc1syXVsweDQwXTsKIH07CiAKIHN0cnVjdCBveHlnZW5fbW9kZWwgewpAQCAtODksNiArOTcsOCBAQAogCWludCAoKmNvbnRyb2xfZmlsdGVyKShzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyAqdGVtcGxhdGUpOwogCWludCAoKm1peGVyX2luaXQpKHN0cnVjdCBveHlnZW4gKmNoaXApOwogCXZvaWQgKCpjbGVhbnVwKShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKTsKKwl2b2lkICgqc3VzcGVuZCkoc3RydWN0IG94eWdlbiAqY2hpcCk7CisJdm9pZCAoKnJlc3VtZSkoc3RydWN0IG94eWdlbiAqY2hpcCk7CiAJdm9pZCAoKnBjbV9oYXJkd2FyZV9maWx0ZXIpKHVuc2lnbmVkIGludCBjaGFubmVsLAogCQkJCSAgICBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSAqaGFyZHdhcmUpOwogCXZvaWQgKCpzZXRfZGFjX3BhcmFtcykoc3RydWN0IG94eWdlbiAqY2hpcCwKQEAgLTExNyw2ICsxMjcsMTAgQEAKIGludCBveHlnZW5fcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwY2ksIGludCBpbmRleCwgY2hhciAqaWQsCiAJCSAgICAgY29uc3Qgc3RydWN0IG94eWdlbl9tb2RlbCAqbW9kZWwpOwogdm9pZCBveHlnZW5fcGNpX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqcGNpKTsKKyNpZmRlZiBDT05GSUdfUE0KK2ludCBveHlnZW5fcGNpX3N1c3BlbmQoc3RydWN0IHBjaV9kZXYgKnBjaSwgcG1fbWVzc2FnZV90IHN0YXRlKTsKK2ludCBveHlnZW5fcGNpX3Jlc3VtZShzdHJ1Y3QgcGNpX2RldiAqcGNpKTsKKyNlbmRpZgogCiAvKiBveHlnZW5fbWl4ZXIuYyAqLwogCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jIGIvc291bmQvcGNpL294eWdlbi9veHlnZW5faW8uYwppbmRleCA1NTY5NjA2Li44M2YxMzVmIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9pby5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2lvLmMKQEAgLTQ0LDE4ICs0NCwyMSBAQAogdm9pZCBveHlnZW5fd3JpdGU4KHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCByZWcsIHU4IHZhbHVlKQogewogCW91dGIodmFsdWUsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fOFtyZWddID0gdmFsdWU7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTgpOwogCiB2b2lkIG94eWdlbl93cml0ZTE2KHN0cnVjdCBveHlnZW4gKmNoaXAsIHVuc2lnbmVkIGludCByZWcsIHUxNiB2YWx1ZSkKIHsKIAlvdXR3KHZhbHVlLCBjaGlwLT5hZGRyICsgcmVnKTsKKwljaGlwLT5zYXZlZF9yZWdpc3RlcnMuXzE2W3JlZyAvIDJdID0gY3B1X3RvX2xlMTYodmFsdWUpOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUxNik7CiAKIHZvaWQgb3h5Z2VuX3dyaXRlMzIoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IHJlZywgdTMyIHZhbHVlKQogewogCW91dGwodmFsdWUsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMzJbcmVnIC8gNF0gPSBjcHVfdG9fbGUzMih2YWx1ZSk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTMyKTsKIApAQCAtNjMsNyArNjYsMTAgQEAKIAkJCSAgdTggdmFsdWUsIHU4IG1hc2spCiB7CiAJdTggdG1wID0gaW5iKGNoaXAtPmFkZHIgKyByZWcpOwotCW91dGIoKHRtcCAmIH5tYXNrKSB8ICh2YWx1ZSAmIG1hc2spLCBjaGlwLT5hZGRyICsgcmVnKTsKKwl0bXAgJj0gfm1hc2s7CisJdG1wIHw9IHZhbHVlICYgbWFzazsKKwlvdXRiKHRtcCwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl84W3JlZ10gPSB0bXA7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZThfbWFza2VkKTsKIApAQCAtNzEsNyArNzcsMTAgQEAKIAkJCSAgIHUxNiB2YWx1ZSwgdTE2IG1hc2spCiB7CiAJdTE2IHRtcCA9IGludyhjaGlwLT5hZGRyICsgcmVnKTsKLQlvdXR3KCh0bXAgJiB+bWFzaykgfCAodmFsdWUgJiBtYXNrKSwgY2hpcC0+YWRkciArIHJlZyk7CisJdG1wICY9IH5tYXNrOworCXRtcCB8PSB2YWx1ZSAmIG1hc2s7CisJb3V0dyh0bXAsIGNoaXAtPmFkZHIgKyByZWcpOworCWNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fMTZbcmVnIC8gMl0gPSBjcHVfdG9fbGUxNih0bXApOwogfQogRVhQT1JUX1NZTUJPTChveHlnZW5fd3JpdGUxNl9tYXNrZWQpOwogCkBAIC03OSw3ICs4OCwxMCBAQAogCQkJICAgdTMyIHZhbHVlLCB1MzIgbWFzaykKIHsKIAl1MzIgdG1wID0gaW5sKGNoaXAtPmFkZHIgKyByZWcpOwotCW91dGwoKHRtcCAmIH5tYXNrKSB8ICh2YWx1ZSAmIG1hc2spLCBjaGlwLT5hZGRyICsgcmVnKTsKKwl0bXAgJj0gfm1hc2s7CisJdG1wIHw9IHZhbHVlICYgbWFzazsKKwlvdXRsKHRtcCwgY2hpcC0+YWRkciArIHJlZyk7CisJY2hpcC0+c2F2ZWRfcmVnaXN0ZXJzLl8zMltyZWcgLyA0XSA9IGNwdV90b19sZTMyKHRtcCk7CiB9CiBFWFBPUlRfU1lNQk9MKG94eWdlbl93cml0ZTMyX21hc2tlZCk7CiAKQEAgLTEyOCw4ICsxNDAsMTAgQEAKIAkJb3h5Z2VuX3dyaXRlMzIoY2hpcCwgT1hZR0VOX0FDOTdfUkVHUywgcmVnKTsKIAkJLyogcmVxdWlyZSB0d28gImNvbXBsZXRlZCIgd3JpdGVzLCBqdXN0IHRvIGJlIHN1cmUgKi8KIAkJaWYgKG94eWdlbl9hYzk3X3dhaXQoY2hpcCwgT1hZR0VOX0FDOTdfSU5UX1dSSVRFX0RPTkUpID49IDAgJiYKLQkJICAgICsrc3VjY2VlZGVkID49IDIpCisJCSAgICArK3N1Y2NlZWRlZCA+PSAyKSB7CisJCQljaGlwLT5zYXZlZF9hYzk3X3JlZ2lzdGVyc1tjb2RlY11baW5kZXggLyAyXSA9IGRhdGE7CiAJCQlyZXR1cm47CisJCX0KIAl9CiAJc25kX3ByaW50ayhLRVJOX0VSUiAiQUMnOTcgd3JpdGUgdGltZW91dFxuIik7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9saWIuYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jCmluZGV4IDg5NzY5N2QuLjIyZjM3ODUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX2xpYi5jCkBAIC0zMiw3ICszMiw3IEBACiAKIE1PRFVMRV9BVVRIT1IoIkNsZW1lbnMgTGFkaXNjaCA8Y2xlbWVuc0BsYWRpc2NoLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJDLU1lZGlhIENNSTg3ODggaGVscGVyIGxpYnJhcnkiKTsKLU1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKIAogCiBzdGF0aWMgaXJxcmV0dXJuX3Qgb3h5Z2VuX2ludGVycnVwdChpbnQgZHVtbXksIHZvaWQgKmRldl9pZCkKQEAgLTE3Myw3ICsxNzMsNyBAQAogCWludCBpLCBqOwogCiAJc25kX2lwcmludGYoYnVmZmVyLCAiQ01JODc4OFxuXG4iKTsKLQlmb3IgKGkgPSAwOyBpIDwgMHgxMDA7IGkgKz0gMHgxMCkgeworCWZvciAoaSA9IDA7IGkgPCBPWFlHRU5fSU9fU0laRTsgaSArPSAweDEwKSB7CiAJCXNuZF9pcHJpbnRmKGJ1ZmZlciwgIiUwMng6IiwgaSk7CiAJCWZvciAoaiA9IDA7IGogPCAweDEwOyArK2opCiAJCQlzbmRfaXByaW50ZihidWZmZXIsICIgJTAyeCIsIG94eWdlbl9yZWFkOChjaGlwLCBpICsgaikpOwpAQCAtMzE0LDYgKzMxNCwxMCBAQAogCQkJCSAgICBPWFlHRU5fU1BESUZfTE9DS19NQVNLIHwKIAkJCQkgICAgT1hZR0VOX1NQRElGX1JBVEVfTUFTSyk7CiAJb3h5Z2VuX3dyaXRlMzIoY2hpcCwgT1hZR0VOX1NQRElGX09VVFBVVF9CSVRTLCBjaGlwLT5zcGRpZl9iaXRzKTsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fMldJUkVfQlVTX1NUQVRVUywKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9MRU5HVEhfOCB8CisJCSAgICAgICBPWFlHRU5fMldJUkVfSU5URVJSVVBUX01BU0sgfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX1NQRUVEX1NUQU5EQVJEKTsKIAlveHlnZW5fY2xlYXJfYml0czgoY2hpcCwgT1hZR0VOX01QVTQwMV9DT05UUk9MLCBPWFlHRU5fTVBVNDAxX0xPT1BCQUNLKTsKIAlveHlnZW5fd3JpdGU4KGNoaXAsIE9YWUdFTl9HUElfSU5URVJSVVBUX01BU0ssIDApOwogCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9HUElPX0lOVEVSUlVQVF9NQVNLLCAwKTsKQEAgLTQ1NSw3ICs0NTksNyBAQAogCX0KIAogCWlmICghKHBjaV9yZXNvdXJjZV9mbGFncyhwY2ksIDApICYgSU9SRVNPVVJDRV9JTykgfHwKLQkgICAgcGNpX3Jlc291cmNlX2xlbihwY2ksIDApIDwgMHgxMDApIHsKKwkgICAgcGNpX3Jlc291cmNlX2xlbihwY2ksIDApIDwgT1hZR0VOX0lPX1NJWkUpIHsKIAkJc25kX3ByaW50ayhLRVJOX0VSUiAiaW52YWxpZCBQQ0kgSS9PIHJhbmdlXG4iKTsKIAkJZXJyID0gLUVOWElPOwogCQlnb3RvIGVycl9wY2lfcmVnaW9uczsKQEAgLTUzNCwzICs1MzgsOTkgQEAKIAlwY2lfc2V0X2RydmRhdGEocGNpLCBOVUxMKTsKIH0KIEVYUE9SVF9TWU1CT0wob3h5Z2VuX3BjaV9yZW1vdmUpOworCisjaWZkZWYgQ09ORklHX1BNCitpbnQgb3h5Z2VuX3BjaV9zdXNwZW5kKHN0cnVjdCBwY2lfZGV2ICpwY2ksIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKKwlzdHJ1Y3Qgb3h5Z2VuICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGludCBpLCBzYXZlZF9pbnRlcnJ1cHRfbWFzazsKKworCXNuZF9wb3dlcl9jaGFuZ2Vfc3RhdGUoY2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKworCWZvciAoaSA9IDA7IGkgPCBQQ01fQ09VTlQ7ICsraSkKKwkJaWYgKGNoaXAtPnN0cmVhbXNbaV0pCisJCQlzbmRfcGNtX3N1c3BlbmQoY2hpcC0+c3RyZWFtc1tpXSk7CisKKwlpZiAoY2hpcC0+bW9kZWwtPnN1c3BlbmQpCisJCWNoaXAtPm1vZGVsLT5zdXNwZW5kKGNoaXApOworCisJc3Bpbl9sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCXNhdmVkX2ludGVycnVwdF9tYXNrID0gY2hpcC0+aW50ZXJydXB0X21hc2s7CisJY2hpcC0+aW50ZXJydXB0X21hc2sgPSAwOworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9ETUFfU1RBVFVTLCAwKTsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fSU5URVJSVVBUX01BU0ssIDApOworCXNwaW5fdW5sb2NrX2lycSgmY2hpcC0+cmVnX2xvY2spOworCisJc3luY2hyb25pemVfaXJxKGNoaXAtPmlycSk7CisJZmx1c2hfc2NoZWR1bGVkX3dvcmsoKTsKKwljaGlwLT5pbnRlcnJ1cHRfbWFzayA9IHNhdmVkX2ludGVycnVwdF9tYXNrOworCisJcGNpX2Rpc2FibGVfZGV2aWNlKHBjaSk7CisJcGNpX3NhdmVfc3RhdGUocGNpKTsKKwlwY2lfc2V0X3Bvd2VyX3N0YXRlKHBjaSwgcGNpX2Nob29zZV9zdGF0ZShwY2ksIHN0YXRlKSk7CisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKG94eWdlbl9wY2lfc3VzcGVuZCk7CisKK3N0YXRpYyBjb25zdCB1MzIgcmVnaXN0ZXJzX3RvX3Jlc3RvcmVbT1hZR0VOX0lPX1NJWkUgLyAzMl0gPSB7CisJMHhmZmZmZmZmZiwgMHgwMGZmMDc3ZiwgMHgwMDAxMWQwOCwgMHgwMDdmMDBmZiwKKwkweDAwMzAwMDAwLCAweDAwMDAwZmU0LCAweDBmZjcwMDFmLCAweDAwMDAwMDAwCit9Oworc3RhdGljIGNvbnN0IHUzMiBhYzk3X3JlZ2lzdGVyc190b19yZXN0b3JlWzJdWzB4NDAgLyAzMl0gPSB7CisJeyAweDE4Mjg0ZmEyLCAweDAzMDYwMDAwIH0sCisJeyAweDAwMDA3ZmE2LCAweDAwMjAwMDAwIH0KK307CisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX2JpdF9zZXQoY29uc3QgdTMyICpiaXRtYXAsIHVuc2lnbmVkIGludCBiaXQpCit7CisJcmV0dXJuIGJpdG1hcFtiaXQgLyAzMl0gJiAoMSA8PCAoYml0ICYgMzEpKTsKK30KKworc3RhdGljIHZvaWQgb3h5Z2VuX3Jlc3RvcmVfYWM5NyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLCB1bnNpZ25lZCBpbnQgY29kZWMpCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlveHlnZW5fd3JpdGVfYWM5NyhjaGlwLCBjb2RlYywgQUM5N19SRVNFVCwgMCk7CisJbXNsZWVwKDEpOworCWZvciAoaSA9IDE7IGkgPCAweDQwOyArK2kpCisJCWlmIChpc19iaXRfc2V0KGFjOTdfcmVnaXN0ZXJzX3RvX3Jlc3RvcmVbY29kZWNdLCBpKSkKKwkJCW94eWdlbl93cml0ZV9hYzk3KGNoaXAsIGNvZGVjLCBpICogMiwKKwkJCQkJICBjaGlwLT5zYXZlZF9hYzk3X3JlZ2lzdGVyc1tjb2RlY11baV0pOworfQorCitpbnQgb3h5Z2VuX3BjaV9yZXN1bWUoc3RydWN0IHBjaV9kZXYgKnBjaSkKK3sKKwlzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQgPSBwY2lfZ2V0X2RydmRhdGEocGNpKTsKKwlzdHJ1Y3Qgb3h5Z2VuICpjaGlwID0gY2FyZC0+cHJpdmF0ZV9kYXRhOworCXVuc2lnbmVkIGludCBpOworCisJcGNpX3NldF9wb3dlcl9zdGF0ZShwY2ksIFBDSV9EMCk7CisJcGNpX3Jlc3RvcmVfc3RhdGUocGNpKTsKKwlpZiAocGNpX2VuYWJsZV9kZXZpY2UocGNpKSA8IDApIHsKKwkJc25kX3ByaW50ayhLRVJOX0VSUiAiY2Fubm90IHJlZW5hYmxlIGRldmljZSIpOworCQlzbmRfY2FyZF9kaXNjb25uZWN0KGNhcmQpOworCQlyZXR1cm4gLUVJTzsKKwl9CisJcGNpX3NldF9tYXN0ZXIocGNpKTsKKworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9ETUFfU1RBVFVTLCAwKTsKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fSU5URVJSVVBUX01BU0ssIDApOworCWZvciAoaSA9IDA7IGkgPCBPWFlHRU5fSU9fU0laRTsgKytpKQorCQlpZiAoaXNfYml0X3NldChyZWdpc3RlcnNfdG9fcmVzdG9yZSwgaSkpCisJCQlveHlnZW5fd3JpdGU4KGNoaXAsIGksIGNoaXAtPnNhdmVkX3JlZ2lzdGVycy5fOFtpXSk7CisJaWYgKGNoaXAtPmhhc19hYzk3XzApCisJCW94eWdlbl9yZXN0b3JlX2FjOTcoY2hpcCwgMCk7CisJaWYgKGNoaXAtPmhhc19hYzk3XzEpCisJCW94eWdlbl9yZXN0b3JlX2FjOTcoY2hpcCwgMSk7CisKKwlpZiAoY2hpcC0+bW9kZWwtPnJlc3VtZSkKKwkJY2hpcC0+bW9kZWwtPnJlc3VtZShjaGlwKTsKKworCW94eWdlbl93cml0ZTE2KGNoaXAsIE9YWUdFTl9JTlRFUlJVUFRfTUFTSywgY2hpcC0+aW50ZXJydXB0X21hc2spOworCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjYXJkLCBTTkRSVl9DVExfUE9XRVJfRDApOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChveHlnZW5fcGNpX3Jlc3VtZSk7CisjZW5kaWYgLyogQ09ORklHX1BNICovCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvb3h5Z2VuL294eWdlbl9wY20uYyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jCmluZGV4IGIxN2M0MDUuLmM0YWQ2NWEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jCisrKyBiL3NvdW5kL3BjaS9veHlnZW4vb3h5Z2VuX3BjbS5jCkBAIC0yNCw2ICsyNCwxNiBAQAogI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KICNpbmNsdWRlICJveHlnZW4uaCIKIAorLyogbW9zdCBETUEgY2hhbm5lbHMgaGF2ZSBhIDE2LWJpdCBjb3VudGVyIGZvciAzMi1iaXQgd29yZHMgKi8KKyNkZWZpbmUgQlVGRkVSX0JZVEVTX01BWAkJKCgxIDw8IDE2KSAqIDQpCisvKiB0aGUgbXVsdGljaGFubmVsIERNQSBjaGFubmVsIGhhcyBhIDI0LWJpdCBjb3VudGVyICovCisjZGVmaW5lIEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSAkoKDEgPDwgMjQpICogNCkKKworI2RlZmluZSBQRVJJT0RfQllURVNfTUlOCQk2NAorCisjZGVmaW5lIERFRkFVTFRfQlVGRkVSX0JZVEVTCQkoQlVGRkVSX0JZVEVTX01BWCAvIDIpCisjZGVmaW5lIERFRkFVTFRfQlVGRkVSX0JZVEVTX01VTFRJQ0gJKDEwMjQgKiAxMDI0KQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgb3h5Z2VuX3N0ZXJlb19oYXJkd2FyZSA9IHsKIAkuaW5mbyA9IFNORFJWX1BDTV9JTkZPX01NQVAgfAogCQlTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKQEAgLTQ0LDExICs1NCwxMSBAQAogCS5yYXRlX21heCA9IDE5MjAwMCwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gMiwKLQkuYnVmZmVyX2J5dGVzX21heCA9IDI1NiAqIDEwMjQsCi0JLnBlcmlvZF9ieXRlc19taW4gPSAxMjgsCi0JLnBlcmlvZF9ieXRlc19tYXggPSAxMjggKiAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCwKKwkucGVyaW9kX2J5dGVzX21pbiA9IFBFUklPRF9CWVRFU19NSU4sCisJLnBlcmlvZF9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gMiwKIAkucGVyaW9kc19taW4gPSAyLAotCS5wZXJpb2RzX21heCA9IDIwNDgsCisJLnBlcmlvZHNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWCAvIFBFUklPRF9CWVRFU19NSU4sCiB9Owogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIG94eWdlbl9tdWx0aWNoYW5uZWxfaGFyZHdhcmUgPSB7CiAJLmluZm8gPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwKQEAgLTcwLDExICs4MCwxMSBAQAogCS5yYXRlX21heCA9IDE5MjAwMCwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gOCwKLQkuYnVmZmVyX2J5dGVzX21heCA9IDIwNDggKiAxMDI0LAotCS5wZXJpb2RfYnl0ZXNfbWluID0gMTI4LAotCS5wZXJpb2RfYnl0ZXNfbWF4ID0gMjU2ICogMTAyNCwKKwkuYnVmZmVyX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVhfTVVMVElDSCwKKwkucGVyaW9kX2J5dGVzX21pbiA9IFBFUklPRF9CWVRFU19NSU4sCisJLnBlcmlvZF9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYX01VTFRJQ0ggLyAyLAogCS5wZXJpb2RzX21pbiA9IDIsCi0JLnBlcmlvZHNfbWF4ID0gMTYzODQsCisJLnBlcmlvZHNfbWF4ID0gQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNIIC8gUEVSSU9EX0JZVEVTX01JTiwKIH07CiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgb3h5Z2VuX2FjOTdfaGFyZHdhcmUgPSB7CiAJLmluZm8gPSBTTkRSVl9QQ01fSU5GT19NTUFQIHwKQEAgLTg4LDExICs5OCwxMSBAQAogCS5yYXRlX21heCA9IDQ4MDAwLAogCS5jaGFubmVsc19taW4gPSAyLAogCS5jaGFubmVsc19tYXggPSAyLAotCS5idWZmZXJfYnl0ZXNfbWF4ID0gMjU2ICogMTAyNCwKLQkucGVyaW9kX2J5dGVzX21pbiA9IDEyOCwKLQkucGVyaW9kX2J5dGVzX21heCA9IDEyOCAqIDEwMjQsCisJLmJ1ZmZlcl9ieXRlc19tYXggPSBCVUZGRVJfQllURVNfTUFYLAorCS5wZXJpb2RfYnl0ZXNfbWluID0gUEVSSU9EX0JZVEVTX01JTiwKKwkucGVyaW9kX2J5dGVzX21heCA9IEJVRkZFUl9CWVRFU19NQVggLyAyLAogCS5wZXJpb2RzX21pbiA9IDIsCi0JLnBlcmlvZHNfbWF4ID0gMjA0OCwKKwkucGVyaW9kc19tYXggPSBCVUZGRVJfQllURVNfTUFYIC8gUEVSSU9EX0JZVEVTX01JTiwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3BjbV9oYXJkd2FyZSAqY29uc3Qgb3h5Z2VuX2hhcmR3YXJlW1BDTV9DT1VOVF0gPSB7CkBAIC0xNTUsNiArMTY1LDEyIEBACiAJCWlmIChlcnIgPCAwKQogCQkJcmV0dXJuIGVycjsKIAl9CisJaWYgKGNoYW5uZWwgPT0gUENNX01VTFRJQ0gpIHsKKwkJZXJyID0gc25kX3BjbV9od19jb25zdHJhaW50X21pbm1heAorCQkJKHJ1bnRpbWUsIFNORFJWX1BDTV9IV19QQVJBTV9QRVJJT0RfVElNRSwgMCwgODE5MjAwMCk7CisJCWlmIChlcnIgPCAwKQorCQkJcmV0dXJuIGVycjsKKwl9CiAJc25kX3BjbV9zZXRfc3luYyhzdWJzdHJlYW0pOwogCWNoaXAtPnN0cmVhbXNbY2hhbm5lbF0gPSBzdWJzdHJlYW07CiAKQEAgLTUxNyw2ICs1MzMsNyBAQAogCXN3aXRjaCAoY21kKSB7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgogCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgogCQlwYXVzaW5nID0gMDsKIAkJYnJlYWs7CiAJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9QQVVTRV9QVVNIOgpAQCAtNjYzLDEyICs2ODAsMTQgQEAKIAkJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzKHBjbS0+c3RyZWFtc1tTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLXS5zdWJzdHJlYW0sCiAJCQkJCQkgICAgICBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICA1MTIgKiAxMDI0LCAyMDQ4ICogMTAyNCk7CisJCQkJCQkgICAgICBERUZBVUxUX0JVRkZFUl9CWVRFU19NVUxUSUNILAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWF9NVUxUSUNIKTsKIAkJaWYgKGlucykKIAkJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzKHBjbS0+c3RyZWFtc1tTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkVdLnN1YnN0cmVhbSwKIAkJCQkJCSAgICAgIFNORFJWX0RNQV9UWVBFX0RFViwKIAkJCQkJCSAgICAgIHNuZF9kbWFfcGNpX2RhdGEoY2hpcC0+cGNpKSwKLQkJCQkJCSAgICAgIDEyOCAqIDEwMjQsIDI1NiAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVMsCisJCQkJCQkgICAgICBCVUZGRVJfQllURVNfTUFYKTsKIAl9CiAKIAlvdXRzID0gISEoY2hpcC0+bW9kZWwtPnBjbV9kZXZfY2ZnICYgUExBWUJBQ0tfMV9UT19TUERJRik7CkBAIC02ODgsNyArNzA3LDggQEAKIAkJc3RyY3B5KHBjbS0+bmFtZSwgIkRpZ2l0YWwiKTsKIAkJc25kX3BjbV9saWJfcHJlYWxsb2NhdGVfcGFnZXNfZm9yX2FsbChwY20sIFNORFJWX0RNQV9UWVBFX0RFViwKIAkJCQkJCSAgICAgIHNuZF9kbWFfcGNpX2RhdGEoY2hpcC0+cGNpKSwKLQkJCQkJCSAgICAgIDEyOCAqIDEwMjQsIDI1NiAqIDEwMjQpOworCQkJCQkJICAgICAgREVGQVVMVF9CVUZGRVJfQllURVMsCisJCQkJCQkgICAgICBCVUZGRVJfQllURVNfTUFYKTsKIAl9CiAKIAlpZiAoY2hpcC0+aGFzX2FjOTdfMSkgewpAQCAtNzE4LDcgKzczOCw4IEBACiAJCXN0cmNweShwY20tPm5hbWUsIG91dHMgPyAiRnJvbnQgUGFuZWwiIDogIkFuYWxvZyAyIik7CiAJCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCiAJCQkJCQkgICAgICBzbmRfZG1hX3BjaV9kYXRhKGNoaXAtPnBjaSksCi0JCQkJCQkgICAgICAxMjggKiAxMDI0LCAyNTYgKiAxMDI0KTsKKwkJCQkJCSAgICAgIERFRkFVTFRfQlVGRkVSX0JZVEVTLAorCQkJCQkJICAgICAgQlVGRkVSX0JZVEVTX01BWCk7CiAJfQogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jIGIvc291bmQvcGNpL294eWdlbi92aXJ0dW9zby5jCmluZGV4IDdmODRmYTUuLjlhMmMxNmIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS9veHlnZW4vdmlydHVvc28uYworKysgYi9zb3VuZC9wY2kvb3h5Z2VuL3ZpcnR1b3NvLmMKQEAgLTc5LDcgKzc5LDcgQEAKIAogTU9EVUxFX0FVVEhPUigiQ2xlbWVucyBMYWRpc2NoIDxjbGVtZW5zQGxhZGlzY2guZGU+Iik7CiBNT0RVTEVfREVTQ1JJUFRJT04oIkFzdXMgQVZ4MDAgZHJpdmVyIik7Ci1NT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CiBNT0RVTEVfU1VQUE9SVEVEX0RFVklDRSgie3tBc3VzLEFWMTAwfSx7QXN1cyxBVjIwMH19Iik7CiAKIHN0YXRpYyBpbnQgaW5kZXhbU05EUlZfQ0FSRFNdID0gU05EUlZfREVGQVVMVF9JRFg7CkBAIC0xMzIsNiArMTMyLDkgQEAKIAl1OCBleHRfcG93ZXJfaW50X3JlZzsKIAl1OCBleHRfcG93ZXJfYml0OwogCXU4IGhhc19wb3dlcjsKKwl1OCBwY20xNzk2X292ZXJzYW1wbGluZzsKKwl1OCBjczQzOThfZm07CisJdTggY3M0MzYyYV9mbTsKIH07CiAKIHN0YXRpYyB2b2lkIHBjbTE3OTZfd3JpdGUoc3RydWN0IG94eWdlbiAqY2hpcCwgdW5zaWduZWQgaW50IGNvZGVjLApAQCAtMTU5LDYgKzE2MiwxNCBAQAogCW94eWdlbl93cml0ZV9pMmMoY2hpcCwgSTJDX0RFVklDRV9DUzQzNjJBLCByZWcsIHZhbHVlKTsKIH0KIAorc3RhdGljIHZvaWQgeG9uYXJfZW5hYmxlX291dHB1dChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCW1zbGVlcChkYXRhLT5hbnRpX3BvcF9kZWxheSk7CisJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOworfQorCiBzdGF0aWMgdm9pZCB4b25hcl9jb21tb25faW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTE3MCwzMiArMTgxLDU5IEBACiAJCWRhdGEtPmhhc19wb3dlciA9ICEhKG94eWdlbl9yZWFkOChjaGlwLCBkYXRhLT5leHRfcG93ZXJfcmVnKQogCQkJCSAgICAgJiBkYXRhLT5leHRfcG93ZXJfYml0KTsKIAl9Ci0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwgR1BJT19DUzUzeDFfTV9NQVNLKTsKKwlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLAorCQkJICBHUElPX0NTNTN4MV9NX01BU0sgfCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7CiAJb3h5Z2VuX3dyaXRlMTZfbWFza2VkKGNoaXAsIE9YWUdFTl9HUElPX0RBVEEsCiAJCQkgICAgICBHUElPX0NTNTN4MV9NX1NJTkdMRSwgR1BJT19DUzUzeDFfTV9NQVNLKTsKIAlveHlnZW5fYWM5N19zZXRfYml0cyhjaGlwLCAwLCBDTTk3ODBfSkFDSywgQ005NzgwX0ZNSUMyTUlDKTsKLQltc2xlZXAoZGF0YS0+YW50aV9wb3BfZGVsYXkpOwotCW94eWdlbl9zZXRfYml0czE2KGNoaXAsIE9YWUdFTl9HUElPX0NPTlRST0wsIGRhdGEtPm91dHB1dF9lbmFibGVfYml0KTsKLQlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7CisJeG9uYXJfZW5hYmxlX291dHB1dChjaGlwKTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlX3BjbTE3OTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJdW5zaWduZWQgaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7CisJCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTYsIGNoaXAtPmRhY192b2x1bWVbaSAqIDJdKTsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNywgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl1bnNpZ25lZCBpbnQgaTsKKwl1OCB2YWx1ZTsKKworCXZhbHVlID0gUENNMTc5Nl9ETUZfRElTQUJMRUQgfCBQQ00xNzk2X0ZNVF8yNF9MSlVTVCB8IFBDTTE3OTZfQVRMRDsKKwlpZiAoY2hpcC0+ZGFjX211dGUpCisJCXZhbHVlIHw9IFBDTTE3OTZfTVVURTsKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQorCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE4LCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHBjbTE3OTZfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpIHsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOSwgUENNMTc5Nl9GTFRfU0hBUlAgfCBQQ00xNzk2X0FUU18xKTsKKwkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgZGF0YS0+cGNtMTc5Nl9vdmVyc2FtcGxpbmcpOworCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIxLCAwKTsKKwl9CisJdXBkYXRlX3BjbTE3OTZfbXV0ZShjaGlwKTsgLyogc2V0IEFUTEQgYmVmb3JlIEFUTC9BVFIgKi8KKwl1cGRhdGVfcGNtMTc5Nl92b2x1bWUoY2hpcCk7CiB9CiAKIHN0YXRpYyB2b2lkIHhvbmFyX2QyX2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKIHsKIAlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7Ci0JdW5zaWduZWQgaW50IGk7CiAKIAlkYXRhLT5hbnRpX3BvcF9kZWxheSA9IDMwMDsKIAlkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCA9IEdQSU9fRDJfT1VUUFVUX0VOQUJMRTsKKwlkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyA9IFBDTTE3OTZfT1NfNjQ7CiAKLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTgsIFBDTTE3OTZfTVVURSB8IFBDTTE3OTZfRE1GX0RJU0FCTEVEIHwKLQkJCSAgICAgIFBDTTE3OTZfRk1UXzI0X0xKVVNUIHwgUENNMTc5Nl9BVExEKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOSwgUENNMTc5Nl9GTFRfU0hBUlAgfCBQQ00xNzk2X0FUU18xKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAyMCwgUENNMTc5Nl9PU182NCk7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjEsIDApOwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE2LCAweDBmKTsgLyogc2V0IEFUTC9BVFIgYWZ0ZXIgQVRMRCAqLwotCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDE3LCAweDBmKTsKLQl9CisJcGNtMTc5Nl9pbml0KGNoaXApOwogCiAJb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwgR1BJT19EMl9BTFQpOwogCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgR1BJT19EMl9BTFQpOwpAQCAtMjE3LDE1MSArMjU1LDYgQEAKIAl4b25hcl9kMl9pbml0KGNoaXApOwogfQogCi1zdGF0aWMgdm9pZCB4b25hcl9keF9pbml0KHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0Jc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOwotCi0JZGF0YS0+YW50aV9wb3BfZGVsYXkgPSA4MDA7Ci0JZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQgPSBHUElPX0RYX09VVFBVVF9FTkFCTEU7Ci0JZGF0YS0+ZXh0X3Bvd2VyX3JlZyA9IE9YWUdFTl9HUElfREFUQTsKLQlkYXRhLT5leHRfcG93ZXJfaW50X3JlZyA9IE9YWUdFTl9HUElfSU5URVJSVVBUX01BU0s7Ci0JZGF0YS0+ZXh0X3Bvd2VyX2JpdCA9IEdQSV9EWF9FWFRfUE9XRVI7Ci0KLQlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fMldJUkVfQlVTX1NUQVRVUywKLQkJICAgICAgIE9YWUdFTl8yV0lSRV9MRU5HVEhfOCB8Ci0JCSAgICAgICBPWFlHRU5fMldJUkVfSU5URVJSVVBUX01BU0sgfAotCQkgICAgICAgT1hZR0VOXzJXSVJFX1NQRUVEX0ZBU1QpOwotCi0JLyogc2V0IENQRU4gKGNvbnRyb2wgcG9ydCBtb2RlKSBhbmQgcG93ZXIgZG93biAqLwotCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTiB8IENTNDM5OF9QRE4pOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOwotCS8qIGNvbmZpZ3VyZSAqLwotCWNzNDM5OF93cml0ZShjaGlwLCAyLCBDUzQzOThfRk1fU0lOR0xFIHwKLQkJICAgICBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUKTsKLQljczQzOThfd3JpdGUoY2hpcCwgMywgQ1M0Mzk4X0FUQVBJX0JfUiB8IENTNDM5OF9BVEFQSV9BX0wpOwotCWNzNDM5OF93cml0ZShjaGlwLCA0LCBDUzQzOThfTVVURVBfTE9XIHwgQ1M0Mzk4X1BBTVVURSk7Ci0JY3M0Mzk4X3dyaXRlKGNoaXAsIDUsIDB4ZmUpOwotCWNzNDM5OF93cml0ZShjaGlwLCA2LCAweGZlKTsKLQljczQzOThfd3JpdGUoY2hpcCwgNywgQ1M0Mzk4X1JNUF9ETiB8IENTNDM5OF9STVBfVVAgfAotCQkgICAgIENTNDM5OF9aRVJPX0NST1NTIHwgQ1M0Mzk4X1NPRlRfUkFNUCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAyLCBDUzQzNjJBX0RJRl9MSlVTVCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAzLCBDUzQzNjJBX01VVEVDXzYgfCBDUzQzNjJBX0FNVVRFIHwKLQkJICAgICAgQ1M0MzYyQV9STVBfVVAgfCBDUzQzNjJBX1pFUk9fQ1JPU1MgfCBDUzQzNjJBX1NPRlRfUkFNUCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA0LCBDUzQzNjJBX1JNUF9ETiB8IENTNDM2MkFfREVNX05PTkUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNSwgMCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBDUzQzNjJBX0ZNX1NJTkdMRSB8Ci0JCSAgICAgIENTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0wpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNywgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA4LCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIENTNDM2MkFfRk1fU0lOR0xFIHwKLQkJICAgICAgQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTCk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDBhLCAweDdmIHwgQ1M0MzYyQV9NVVRFKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGIsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgQ1M0MzYyQV9GTV9TSU5HTEUgfAotCQkgICAgICBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGQsIDB4N2YgfCBDUzQzNjJBX01VVEUpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwZSwgMHg3ZiB8IENTNDM2MkFfTVVURSk7Ci0JLyogY2xlYXIgcG93ZXIgZG93biAqLwotCWNzNDM5OF93cml0ZShjaGlwLCA4LCBDUzQzOThfQ1BFTik7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX0NQRU4pOwotCi0Jb3h5Z2VuX3NldF9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fQ09OVFJPTCwKLQkJCSAgR1BJT19EWF9GUk9OVF9QQU5FTCB8IEdQSU9fRFhfSU5QVVRfUk9VVEUpOwotCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKLQkJCSAgICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7Ci0KLQl4b25hcl9jb21tb25faW5pdChjaGlwKTsKLQotCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzOTgiKTsKLQlzbmRfY29tcG9uZW50X2FkZChjaGlwLT5jYXJkLCAiQ1M0MzYyQSIpOwotCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzUzNjEiKTsKLX0KLQotc3RhdGljIHZvaWQgeG9uYXJfY2xlYW51cChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQotewotCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKLQotCW94eWdlbl9jbGVhcl9iaXRzMTYoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwgZGF0YS0+b3V0cHV0X2VuYWJsZV9iaXQpOwotfQotCi1zdGF0aWMgdm9pZCB4b25hcl9keF9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JeG9uYXJfY2xlYW51cChjaGlwKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDEsIENTNDM2MkFfUEROIHwgQ1M0MzYyQV9DUEVOKTsKLQlveHlnZW5fY2xlYXJfYml0czgoY2hpcCwgT1hZR0VOX0ZVTkNUSU9OLCBPWFlHRU5fRlVOQ1RJT05fUkVTRVRfQ09ERUMpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfcGNtMTc5Nl9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKLQkJCSAgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQl1OCB2YWx1ZTsKLQotCXZhbHVlID0gcGFyYW1zX3JhdGUocGFyYW1zKSA+PSA5NjAwMCA/IFBDTTE3OTZfT1NfMzIgOiBQQ00xNzk2X09TXzY0OwotCWZvciAoaSA9IDA7IGkgPCA0OyArK2kpCi0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMjAsIHZhbHVlKTsKLX0KLQotc3RhdGljIHZvaWQgdXBkYXRlX3BjbTE3OTZfdm9sdW1lKHN0cnVjdCBveHlnZW4gKmNoaXApCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JCXBjbTE3OTZfd3JpdGUoY2hpcCwgaSwgMTYsIGNoaXAtPmRhY192b2x1bWVbaSAqIDJdKTsKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxNywgY2hpcC0+ZGFjX3ZvbHVtZVtpICogMiArIDFdKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIHVwZGF0ZV9wY20xNzk2X211dGUoc3RydWN0IG94eWdlbiAqY2hpcCkKLXsKLQl1bnNpZ25lZCBpbnQgaTsKLQl1OCB2YWx1ZTsKLQotCXZhbHVlID0gUENNMTc5Nl9GTVRfMjRfTEpVU1QgfCBQQ00xNzk2X0FUTEQ7Ci0JaWYgKGNoaXAtPmRhY19tdXRlKQotCQl2YWx1ZSB8PSBQQ00xNzk2X01VVEU7Ci0JZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKLQkJcGNtMTc5Nl93cml0ZShjaGlwLCBpLCAxOCwgdmFsdWUpOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfY3M1M3gxX3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAotCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCi17Ci0JdW5zaWduZWQgaW50IHZhbHVlOwotCi0JaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gNTQwMDApCi0JCXZhbHVlID0gR1BJT19DUzUzeDFfTV9TSU5HTEU7Ci0JZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDgwMDApCi0JCXZhbHVlID0gR1BJT19DUzUzeDFfTV9ET1VCTEU7Ci0JZWxzZQotCQl2YWx1ZSA9IEdQSU9fQ1M1M3gxX01fUVVBRDsKLQlveHlnZW5fd3JpdGUxNl9tYXNrZWQoY2hpcCwgT1hZR0VOX0dQSU9fREFUQSwKLQkJCSAgICAgIHZhbHVlLCBHUElPX0NTNTN4MV9NX01BU0spOwotfQotCi1zdGF0aWMgdm9pZCBzZXRfY3M0M3h4X3BhcmFtcyhzdHJ1Y3Qgb3h5Z2VuICpjaGlwLAotCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCi17Ci0JdTggZm1fY3M0Mzk4LCBmbV9jczQzNjJhOwotCi0JZm1fY3M0Mzk4ID0gQ1M0Mzk4X0RFTV9OT05FIHwgQ1M0Mzk4X0RJRl9MSlVTVDsKLQlmbV9jczQzNjJhID0gQ1M0MzYyQV9BVEFQSV9CX1IgfCBDUzQzNjJBX0FUQVBJX0FfTDsKLQlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1MDAwMCkgewotCQlmbV9jczQzOTggfD0gQ1M0Mzk4X0ZNX1NJTkdMRTsKLQkJZm1fY3M0MzYyYSB8PSBDUzQzNjJBX0ZNX1NJTkdMRTsKLQl9IGVsc2UgaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPD0gMTAwMDAwKSB7Ci0JCWZtX2NzNDM5OCB8PSBDUzQzOThfRk1fRE9VQkxFOwotCQlmbV9jczQzNjJhIHw9IENTNDM2MkFfRk1fRE9VQkxFOwotCX0gZWxzZSB7Ci0JCWZtX2NzNDM5OCB8PSBDUzQzOThfRk1fUVVBRDsKLQkJZm1fY3M0MzYyYSB8PSBDUzQzNjJBX0ZNX1FVQUQ7Ci0JfQotCWNzNDM5OF93cml0ZShjaGlwLCAyLCBmbV9jczQzOTgpOwotCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNiwgZm1fY3M0MzYyYSk7Ci0JY3M0MzYyYV93cml0ZShjaGlwLCAweDA5LCBmbV9jczQzNjJhKTsKLQljczQzNjJhX3dyaXRlKGNoaXAsIDB4MGMsIGZtX2NzNDM2MmEpOwotfQotCiBzdGF0aWMgdm9pZCB1cGRhdGVfY3M0MzYyYV92b2x1bWVzKHN0cnVjdCBveHlnZW4gKmNoaXApCiB7CiAJdTggbXV0ZTsKQEAgLTM5Myw2ICsyODYsMTQxIEBACiAJdXBkYXRlX2NzNDM2MmFfdm9sdW1lcyhjaGlwKTsKIH0KIAorc3RhdGljIHZvaWQgY3M0M3h4X2luaXQoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwkvKiBzZXQgQ1BFTiAoY29udHJvbCBwb3J0IG1vZGUpIGFuZCBwb3dlciBkb3duICovCisJY3M0Mzk4X3dyaXRlKGNoaXAsIDgsIENTNDM5OF9DUEVOIHwgQ1M0Mzk4X1BETik7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAxLCBDUzQzNjJBX1BETiB8IENTNDM2MkFfQ1BFTik7CisJLyogY29uZmlndXJlICovCisJY3M0Mzk4X3dyaXRlKGNoaXAsIDIsIGRhdGEtPmNzNDM5OF9mbSk7CisJY3M0Mzk4X3dyaXRlKGNoaXAsIDMsIENTNDM5OF9BVEFQSV9CX1IgfCBDUzQzOThfQVRBUElfQV9MKTsKKwljczQzOThfd3JpdGUoY2hpcCwgNywgQ1M0Mzk4X1JNUF9ETiB8IENTNDM5OF9STVBfVVAgfAorCQkgICAgIENTNDM5OF9aRVJPX0NST1NTIHwgQ1M0Mzk4X1NPRlRfUkFNUCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAyLCBDUzQzNjJBX0RJRl9MSlVTVCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDAzLCBDUzQzNjJBX01VVEVDXzYgfCBDUzQzNjJBX0FNVVRFIHwKKwkJICAgICAgQ1M0MzYyQV9STVBfVVAgfCBDUzQzNjJBX1pFUk9fQ1JPU1MgfCBDUzQzNjJBX1NPRlRfUkFNUCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA0LCBDUzQzNjJBX1JNUF9ETiB8IENTNDM2MkFfREVNX05PTkUpOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwNSwgMCk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIGRhdGEtPmNzNDM2MmFfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgZGF0YS0+Y3M0MzYyYV9mbSk7CisJdXBkYXRlX2NzNDN4eF92b2x1bWUoY2hpcCk7CisJdXBkYXRlX2NzNDN4eF9tdXRlKGNoaXApOworCS8qIGNsZWFyIHBvd2VyIGRvd24gKi8KKwljczQzOThfd3JpdGUoY2hpcCwgOCwgQ1M0Mzk4X0NQRU4pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9DUEVOKTsKK30KKworc3RhdGljIHZvaWQgeG9uYXJfZHhfaW5pdChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKKworCWRhdGEtPmFudGlfcG9wX2RlbGF5ID0gODAwOworCWRhdGEtPm91dHB1dF9lbmFibGVfYml0ID0gR1BJT19EWF9PVVRQVVRfRU5BQkxFOworCWRhdGEtPmV4dF9wb3dlcl9yZWcgPSBPWFlHRU5fR1BJX0RBVEE7CisJZGF0YS0+ZXh0X3Bvd2VyX2ludF9yZWcgPSBPWFlHRU5fR1BJX0lOVEVSUlVQVF9NQVNLOworCWRhdGEtPmV4dF9wb3dlcl9iaXQgPSBHUElfRFhfRVhUX1BPV0VSOworCWRhdGEtPmNzNDM5OF9mbSA9IENTNDM5OF9GTV9TSU5HTEUgfCBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUOworCWRhdGEtPmNzNDM2MmFfZm0gPSBDUzQzNjJBX0ZNX1NJTkdMRSB8CisJCUNTNDM2MkFfQVRBUElfQl9SIHwgQ1M0MzYyQV9BVEFQSV9BX0w7CisKKwlveHlnZW5fd3JpdGUxNihjaGlwLCBPWFlHRU5fMldJUkVfQlVTX1NUQVRVUywKKwkJICAgICAgIE9YWUdFTl8yV0lSRV9MRU5HVEhfOCB8CisJCSAgICAgICBPWFlHRU5fMldJUkVfSU5URVJSVVBUX01BU0sgfAorCQkgICAgICAgT1hZR0VOXzJXSVJFX1NQRUVEX0ZBU1QpOworCisJY3M0M3h4X2luaXQoY2hpcCk7CisKKwlveHlnZW5fc2V0X2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19DT05UUk9MLAorCQkJICBHUElPX0RYX0ZST05UX1BBTkVMIHwgR1BJT19EWF9JTlBVVF9ST1VURSk7CisJb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAorCQkJICAgIEdQSU9fRFhfRlJPTlRfUEFORUwgfCBHUElPX0RYX0lOUFVUX1JPVVRFKTsKKworCXhvbmFyX2NvbW1vbl9pbml0KGNoaXApOworCisJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNDM5OCIpOworCXNuZF9jb21wb25lbnRfYWRkKGNoaXAtPmNhcmQsICJDUzQzNjJBIik7CisJc25kX2NvbXBvbmVudF9hZGQoY2hpcC0+Y2FyZCwgIkNTNTM2MSIpOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9jbGVhbnVwKHN0cnVjdCBveHlnZW4gKmNoaXApCit7CisJc3RydWN0IHhvbmFyX2RhdGEgKmRhdGEgPSBjaGlwLT5tb2RlbF9kYXRhOworCisJb3h5Z2VuX2NsZWFyX2JpdHMxNihjaGlwLCBPWFlHRU5fR1BJT19EQVRBLCBkYXRhLT5vdXRwdXRfZW5hYmxlX2JpdCk7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2R4X2NsZWFudXAoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwl4b25hcl9jbGVhbnVwKGNoaXApOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwMSwgQ1M0MzYyQV9QRE4gfCBDUzQzNjJBX0NQRU4pOworCW94eWdlbl9jbGVhcl9iaXRzOChjaGlwLCBPWFlHRU5fRlVOQ1RJT04sIE9YWUdFTl9GVU5DVElPTl9SRVNFVF9DT0RFQyk7Cit9CisKK3N0YXRpYyB2b2lkIHhvbmFyX2QyX3Jlc3VtZShzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQoreworCXBjbTE3OTZfaW5pdChjaGlwKTsKKwl4b25hcl9lbmFibGVfb3V0cHV0KGNoaXApOworfQorCitzdGF0aWMgdm9pZCB4b25hcl9keF9yZXN1bWUoc3RydWN0IG94eWdlbiAqY2hpcCkKK3sKKwljczQzeHhfaW5pdChjaGlwKTsKKwl4b25hcl9lbmFibGVfb3V0cHV0KGNoaXApOworfQorCitzdGF0aWMgdm9pZCBzZXRfcGNtMTc5Nl9wYXJhbXMoc3RydWN0IG94eWdlbiAqY2hpcCwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisJdW5zaWduZWQgaW50IGk7CisKKwlkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyA9CisJCXBhcmFtc19yYXRlKHBhcmFtcykgPj0gOTYwMDAgPyBQQ00xNzk2X09TXzMyIDogUENNMTc5Nl9PU182NDsKKwlmb3IgKGkgPSAwOyBpIDwgNDsgKytpKQorCQlwY20xNzk2X3dyaXRlKGNoaXAsIGksIDIwLCBkYXRhLT5wY20xNzk2X292ZXJzYW1wbGluZyk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9jczUzeDFfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwl1bnNpZ25lZCBpbnQgdmFsdWU7CisKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSA1NDAwMCkKKwkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX1NJTkdMRTsKKwllbHNlIGlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDEwODAwMCkKKwkJdmFsdWUgPSBHUElPX0NTNTN4MV9NX0RPVUJMRTsKKwllbHNlCisJCXZhbHVlID0gR1BJT19DUzUzeDFfTV9RVUFEOworCW94eWdlbl93cml0ZTE2X21hc2tlZChjaGlwLCBPWFlHRU5fR1BJT19EQVRBLAorCQkJICAgICAgdmFsdWUsIEdQSU9fQ1M1M3gxX01fTUFTSyk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9jczQzeHhfcGFyYW1zKHN0cnVjdCBveHlnZW4gKmNoaXAsCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3QgeG9uYXJfZGF0YSAqZGF0YSA9IGNoaXAtPm1vZGVsX2RhdGE7CisKKwlkYXRhLT5jczQzOThfZm0gPSBDUzQzOThfREVNX05PTkUgfCBDUzQzOThfRElGX0xKVVNUOworCWRhdGEtPmNzNDM2MmFfZm0gPSBDUzQzNjJBX0FUQVBJX0JfUiB8IENTNDM2MkFfQVRBUElfQV9MOworCWlmIChwYXJhbXNfcmF0ZShwYXJhbXMpIDw9IDUwMDAwKSB7CisJCWRhdGEtPmNzNDM5OF9mbSB8PSBDUzQzOThfRk1fU0lOR0xFOworCQlkYXRhLT5jczQzNjJhX2ZtIHw9IENTNDM2MkFfRk1fU0lOR0xFOworCX0gZWxzZSBpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8PSAxMDAwMDApIHsKKwkJZGF0YS0+Y3M0Mzk4X2ZtIHw9IENTNDM5OF9GTV9ET1VCTEU7CisJCWRhdGEtPmNzNDM2MmFfZm0gfD0gQ1M0MzYyQV9GTV9ET1VCTEU7CisJfSBlbHNlIHsKKwkJZGF0YS0+Y3M0Mzk4X2ZtIHw9IENTNDM5OF9GTV9RVUFEOworCQlkYXRhLT5jczQzNjJhX2ZtIHw9IENTNDM2MkFfRk1fUVVBRDsKKwl9CisJY3M0Mzk4X3dyaXRlKGNoaXAsIDIsIGRhdGEtPmNzNDM5OF9mbSk7CisJY3M0MzYyYV93cml0ZShjaGlwLCAweDA2LCBkYXRhLT5jczQzNjJhX2ZtKTsKKwljczQzNjJhX3dyaXRlKGNoaXAsIDB4MDksIGRhdGEtPmNzNDM2MmFfZm0pOworCWNzNDM2MmFfd3JpdGUoY2hpcCwgMHgwYywgZGF0YS0+Y3M0MzYyYV9mbSk7Cit9CisKIHN0YXRpYyB2b2lkIHhvbmFyX2dwaW9fY2hhbmdlZChzdHJ1Y3Qgb3h5Z2VuICpjaGlwKQogewogCXN0cnVjdCB4b25hcl9kYXRhICpkYXRhID0gY2hpcC0+bW9kZWxfZGF0YTsKQEAgLTUzNSw2ICs1NjMsOCBAQAogCQkuY29udHJvbF9maWx0ZXIgPSB4b25hcl9kMl9jb250cm9sX2ZpbHRlciwKIAkJLm1peGVyX2luaXQgPSB4b25hcl9taXhlcl9pbml0LAogCQkuY2xlYW51cCA9IHhvbmFyX2NsZWFudXAsCisJCS5zdXNwZW5kID0geG9uYXJfY2xlYW51cCwKKwkJLnJlc3VtZSA9IHhvbmFyX2QyX3Jlc3VtZSwKIAkJLnNldF9kYWNfcGFyYW1zID0gc2V0X3BjbTE3OTZfcGFyYW1zLAogCQkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1M3gxX3BhcmFtcywKIAkJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX3BjbTE3OTZfdm9sdW1lLApAQCAtNTYzLDYgKzU5Myw4IEBACiAJCS5jb250cm9sX2ZpbHRlciA9IHhvbmFyX2QyX2NvbnRyb2xfZmlsdGVyLAogCQkubWl4ZXJfaW5pdCA9IHhvbmFyX21peGVyX2luaXQsCiAJCS5jbGVhbnVwID0geG9uYXJfY2xlYW51cCwKKwkJLnN1c3BlbmQgPSB4b25hcl9jbGVhbnVwLAorCQkucmVzdW1lID0geG9uYXJfZDJfcmVzdW1lLAogCQkuc2V0X2RhY19wYXJhbXMgPSBzZXRfcGNtMTc5Nl9wYXJhbXMsCiAJCS5zZXRfYWRjX3BhcmFtcyA9IHNldF9jczUzeDFfcGFyYW1zLAogCQkudXBkYXRlX2RhY192b2x1bWUgPSB1cGRhdGVfcGNtMTc5Nl92b2x1bWUsCkBAIC01OTIsNiArNjI0LDggQEAKIAkJLmNvbnRyb2xfZmlsdGVyID0geG9uYXJfZHhfY29udHJvbF9maWx0ZXIsCiAJCS5taXhlcl9pbml0ID0geG9uYXJfZHhfbWl4ZXJfaW5pdCwKIAkJLmNsZWFudXAgPSB4b25hcl9keF9jbGVhbnVwLAorCQkuc3VzcGVuZCA9IHhvbmFyX2R4X2NsZWFudXAsCisJCS5yZXN1bWUgPSB4b25hcl9keF9yZXN1bWUsCiAJCS5zZXRfZGFjX3BhcmFtcyA9IHNldF9jczQzeHhfcGFyYW1zLAogCQkuc2V0X2FkY19wYXJhbXMgPSBzZXRfY3M1M3gxX3BhcmFtcywKIAkJLnVwZGF0ZV9kYWNfdm9sdW1lID0gdXBkYXRlX2NzNDN4eF92b2x1bWUsCkBAIC02MzYsNiArNjcwLDEwIEBACiAJLmlkX3RhYmxlID0geG9uYXJfaWRzLAogCS5wcm9iZSA9IHhvbmFyX3Byb2JlLAogCS5yZW1vdmUgPSBfX2RldmV4aXRfcChveHlnZW5fcGNpX3JlbW92ZSksCisjaWZkZWYgQ09ORklHX1BNCisJLnN1c3BlbmQgPSBveHlnZW5fcGNpX3N1c3BlbmQsCisJLnJlc3VtZSA9IG94eWdlbl9wY2lfcmVzdW1lLAorI2VuZGlmCiB9OwogCiBzdGF0aWMgaW50IF9faW5pdCBhbHNhX2NhcmRfeG9uYXJfaW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3BjeGhyL3BjeGhyLmMgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYwppbmRleCA3ZmRjZGM4Li4yYzdlMjUzIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYworKysgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHIuYwpAQCAtNTE2LDcgKzUxNiw3IEBACiAJaW50IGNhcHR1cmVfbWFzayA9IDA7CiAJaW50IHBsYXliYWNrX21hc2sgPSAwOwogCi0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAlzdHJ1Y3QgdGltZXZhbCBteV90djEsIG15X3R2MjsKIAlkb19nZXR0aW1lb2ZkYXkoJm15X3R2MSk7CiAjZW5kaWYKQEAgLTYyMyw3ICs2MjMsNyBAQAogCiAJbXV0ZXhfdW5sb2NrKCZtZ3ItPnNldHVwX211dGV4KTsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djIpOwogCXNuZF9wcmludGRkKCIqKipUUklHR0VSIFRBU0tMRVQqKiogVElNRSA9ICVsZCAoZXJyID0gJXgpXG4iLAogCQkgICAgKGxvbmcpKG15X3R2Mi50dl91c2VjIC0gbXlfdHYxLnR2X3VzZWMpLCBlcnIpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYyBiL3NvdW5kL3BjaS9wY3hoci9wY3hocl9jb3JlLmMKaW5kZXggNzhhYTgxZi4uMDAwZTZmZSAxMDA2NDQKLS0tIGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2NvcmUuYworKysgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfY29yZS5jCkBAIC0yNjksNyArMjY5LDcgQEAKIAl1bnNpZ25lZCBpbnQgY2hpcHNjOwogCXVuc2lnbmVkIGNoYXIgZGF0YTsKIAl1bnNpZ25lZCBjaGFyIG1hc2s7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2U7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2U7CiAKIAkvKiB0ZXN0IGZpcnN0IHhpbGlueCAqLwogCWNoaXBzYyA9IFBDWEhSX0lOUEwobWdyLCBQQ1hIUl9QTFhfQ0hJUFNDKTsKQEAgLTMxNiw3ICszMTYsNyBAQAogCWludCBlcnI7CiAJdW5zaWduZWQgaW50IGk7CiAJdW5zaWduZWQgaW50IGxlbjsKLQl1bnNpZ25lZCBjaGFyICpkYXRhOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGE7CiAJdW5zaWduZWQgY2hhciBkdW1teTsKIAkvKiBjaGVjayB0aGUgbGVuZ3RoIG9mIGJvb3QgaW1hZ2UgKi8KIAlzbmRfYXNzZXJ0KGRzcC0+c2l6ZSA+IDAsIHJldHVybiAtRUlOVkFMKTsKQEAgLTQ3Myw3ICs0NzMsNyBAQAogW0NNRF9BVURJT19MRVZFTF9BREpVU1RdID0JCXsgMHhjMjIwMDAsIDAsIFJNSF9TU0laRV9GSVhFRCB9LAogfTsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiBzdGF0aWMgY2hhciogY21kX25hbWVzW10gPSB7CiBbQ01EX1ZFUlNJT05dID0JCQkJIkNNRF9WRVJTSU9OIiwKIFtDTURfU1VQUE9SVEVEXSA9CQkJIkNNRF9TVVBQT1JURUQiLApAQCAtNTQ5LDcgKzU0OSw3IEBACiAJCQkJfQogCQkJfQogCQl9Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJaWYgKHJtaC0+Y21kX2lkeCA8IENNRF9MQVNUX0lOREVYKQogCQkJc25kX3ByaW50ZGQoIiAgICBzdGF0WyVkXT0leFxuIiwgaSwgZGF0YSk7CiAjZW5kaWYKQEAgLTU5Nyw3ICs1OTcsNyBAQAogCQlkYXRhIHw9IDB4MDA4MDAwOwkvKiBNQVNLX01PUkVfVEhBTl8xX1dPUkRfQ09NTUFORCAqLwogCWVsc2UKIAkJZGF0YSAmPSAweGZmN2ZmZjsJLyogTUFTS18xX1dPUkRfQ09NTUFORCAqLwotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJaWYgKHJtaC0+Y21kX2lkeCA8IENNRF9MQVNUX0lOREVYKQogCQlzbmRfcHJpbnRkZCgiTVNHIGNtZFswXT0leCAoJXMpXG4iLCBkYXRhLCBjbWRfbmFtZXNbcm1oLT5jbWRfaWR4XSk7CiAjZW5kaWYKQEAgLTYyNCw3ICs2MjQsNyBAQAogCQlmb3IgKGk9MTsgaSA8IHJtaC0+Y21kX2xlbjsgaSsrKSB7CiAJCQkvKiBzZW5kIG90aGVyIHdvcmRzICovCiAJCQlkYXRhID0gcm1oLT5jbWRbaV07Ci0jaWZkZWYgQ09ORklHX1NORF9ERUJVR19ERVRFQ1QKKyNpZmRlZiBDT05GSUdfU05EX0RFQlVHX1ZFUkJPU0UKIAkJCWlmIChybWgtPmNtZF9pZHggPCBDTURfTEFTVF9JTkRFWCkKIAkJCQlzbmRfcHJpbnRkZCgiICAgIGNtZFslZF09JXhcbiIsIGksIGRhdGEpOwogI2VuZGlmCkBAIC04NDcsNyArODQ3LDcgQEAKIAlpbnQgc3RhdGUsIGksIGVycjsKIAlpbnQgYXVkaW9fbWFzazsKIAotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJc3RydWN0IHRpbWV2YWwgbXlfdHYxLCBteV90djI7CiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djEpOwogI2VuZGlmCkBAIC04OTQsNyArODk0LDcgQEAKIAkJaWYgKGVycikKIAkJCXJldHVybiBlcnI7CiAJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJZG9fZ2V0dGltZW9mZGF5KCZteV90djIpOwogCXNuZF9wcmludGRkKCIqKipTRVQgUElQRSBTVEFURSoqKiBUSU1FID0gJWxkIChlcnIgPSAleClcbiIsCiAJCSAgICAobG9uZykobXlfdHYyLnR2X3VzZWMgLSBteV90djEudHZfdXNlYyksIGVycik7CkBAIC05NTEsNyArOTUxLDcgQEAKIAkJCQkgIGVudW0gcGN4aHJfYXN5bmNfZXJyX3NyYyBlcnJfc3JjLCBpbnQgcGlwZSwKIAkJCQkgIGludCBpc19jYXB0dXJlKQogewotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJc3RhdGljIGNoYXIqIGVycl9zcmNfbmFtZVtdID0gewogCQlbUENYSFJfRVJSX1BJUEVdCT0gIlBpcGUiLAogCQlbUENYSFJfRVJSX1NUUkVBTV0JPSAiU3RyZWFtIiwKQEAgLTExNjksNyArMTE2OSw3IEBACiAJCQkJICAgIG1nci0+ZHNwX3RpbWVfbGFzdCwgZHNwX3RpbWVfbmV3KTsKIAkJCW1nci0+ZHNwX3RpbWVfZXJyKys7CiAJCX0KLSNpZmRlZiBDT05GSUdfU05EX0RFQlVHX0RFVEVDVAorI2lmZGVmIENPTkZJR19TTkRfREVCVUdfVkVSQk9TRQogCQlpZiAoZHNwX3RpbWVfZGlmZiA9PSAwKQogCQkJc25kX3ByaW50ZGQoIkVSUk9SIERTUCBUSU1FIE5PIERJRkYgdGltZSglZClcbiIsIGRzcF90aW1lX25ldyk7CiAJCWVsc2UgaWYgKGRzcF90aW1lX2RpZmYgPj0gKDIqUENYSFJfR1JBTlVMQVJJVFkpKQpAQCAtMTIwOCw3ICsxMjA4LDcgQEAKIAkJbWdyLT5zcmNfaXRfZHNwID0gcmVnOwogCQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZtZ3ItPm1zZ190YXNrcSk7CiAJfQotI2lmZGVmIENPTkZJR19TTkRfREVCVUdfREVURUNUCisjaWZkZWYgQ09ORklHX1NORF9ERUJVR19WRVJCT1NFCiAJaWYgKHJlZyAmIFBDWEhSX0ZBVEFMX0RTUF9FUlIpCiAJCXNuZF9wcmludGRkKCJGQVRBTCBEU1AgRVJST1IgOiAleFxuIiwgcmVnKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3BjeGhyL3BjeGhyX2h3ZGVwLmMgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYwppbmRleCBlNmE0YmZiLi5kMmYwNDMyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYworKysgYi9zb3VuZC9wY2kvcGN4aHIvcGN4aHJfaHdkZXAuYwpAQCAtMzk0LDcgKzM5NCw3IEBACiAJCQkgICAodW5zaWduZWQgbG9uZylmdy5zaXplKTsKIAkJcmV0dXJuIC1FTk9NRU07CiAJfQotCWlmIChjb3B5X2Zyb21fdXNlcihmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKKwlpZiAoY29weV9mcm9tX3VzZXIoKHZvaWQgKilmdy5kYXRhLCBkc3AtPmltYWdlLCBkc3AtPmxlbmd0aCkpIHsKIAkJdmZyZWUoZncuZGF0YSk7CiAJCXJldHVybiAtRUZBVUxUOwogCX0KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYyBiL3NvdW5kL3BjaS9yaXB0aWRlL3JpcHRpZGUuYwppbmRleCA5NzlmN2RhLi42YTM1OTYyIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvcmlwdGlkZS9yaXB0aWRlLmMKKysrIGIvc291bmQvcGNpL3JpcHRpZGUvcmlwdGlkZS5jCkBAIC02ODIsNyArNjgyLDcgQEAKIAl9LAogfTsKIAotc3RhdGljIHUzMiBhdG9oKHVuc2lnbmVkIGNoYXIgKmluLCB1bnNpZ25lZCBpbnQgbGVuKQorc3RhdGljIHUzMiBhdG9oKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluLCB1bnNpZ25lZCBpbnQgbGVuKQogewogCXUzMiBzdW0gPSAwOwogCXVuc2lnbmVkIGludCBtdWx0ID0gMTsKQEAgLTcwMiwxMiArNzAyLDEyIEBACiAJcmV0dXJuIHN1bTsKIH0KIAotc3RhdGljIGludCBzZW5kZGF0YShzdHJ1Y3QgY21kaWYgKmNpZiwgdW5zaWduZWQgY2hhciAqaW4sIHUzMiBvZmZzZXQpCitzdGF0aWMgaW50IHNlbmRkYXRhKHN0cnVjdCBjbWRpZiAqY2lmLCBjb25zdCB1bnNpZ25lZCBjaGFyICppbiwgdTMyIG9mZnNldCkKIHsKIAl1MzIgYWRkcjsKIAl1MzIgZGF0YTsKIAl1MzIgaTsKLQl1bnNpZ25lZCBjaGFyICpwOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnA7CiAKIAlpID0gYXRvaCgmaW5bMV0sIDIpOwogCWFkZHIgPSBvZmZzZXQgKyBhdG9oKCZpblszXSwgNCk7CkBAIC03MjYsMTAgKzcyNiwxMCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGxvYWRmaXJtd2FyZShzdHJ1Y3QgY21kaWYgKmNpZiwgdW5zaWduZWQgY2hhciAqaW1nLAorc3RhdGljIGludCBsb2FkZmlybXdhcmUoc3RydWN0IGNtZGlmICpjaWYsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmltZywKIAkJCXVuc2lnbmVkIGludCBzaXplKQogewotCXVuc2lnbmVkIGNoYXIgKmluOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmluOwogCXUzMiBsYWRkciwgc2FkZHIsIHQsIHZhbDsKIAlpbnQgZXJyID0gMDsKIApkaWZmIC0tZ2l0IGEvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tYWluLmMgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYwppbmRleCBiYmNlZTJjLi5hNjliNDIwIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYworKysgYi9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21haW4uYwpAQCAtMTU5MCw3ICsxNTkwLDEwIEBACiAJaWYgKHNwZGlmX2ZsYWcpIHsKIAkJaWYgKHRyaWRlbnQtPmRldmljZSAhPSBUUklERU5UX0RFVklDRV9JRF9TSTcwMTgpIHsKIAkJCW91dGwodHJpZGVudC0+c3BkaWZfcGNtX2JpdHMsIFRSSURfUkVHKHRyaWRlbnQsIE5YX1NQQ1NUQVRVUykpOwotCQkJb3V0Yih0cmlkZW50LT5zcGRpZl9wY21fY3RybCwgVFJJRF9SRUcodHJpZGVudCwgTlhfU1BDVFJMX1NQQ1NPICsgMykpOworCQkJdmFsID0gdHJpZGVudC0+c3BkaWZfcGNtX2N0cmw7CisJCQlpZiAoIWdvKQorCQkJCXZhbCAmPSB+KDB4MjgpOworCQkJb3V0Yih2YWwsIFRSSURfUkVHKHRyaWRlbnQsIE5YX1NQQ1RSTF9TUENTTyArIDMpKTsKIAkJfSBlbHNlIHsKIAkJCW91dGwodHJpZGVudC0+c3BkaWZfcGNtX2JpdHMsIFRSSURfUkVHKHRyaWRlbnQsIFNJX1NQRElGX0NTKSk7CiAJCQl2YWwgPSBpbmwoVFJJRF9SRUcodHJpZGVudCwgU0lfU0VSSUFMX0lOVEZfQ1RSTCkpIHwgU1BESUZfRU47CmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jIGIvc291bmQvcGNpL3RyaWRlbnQvdHJpZGVudF9tZW1vcnkuYwppbmRleCBkZjliNDg3Li4zZmQ3ZjFiIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdHJpZGVudC90cmlkZW50X21lbW9yeS5jCisrKyBiL3NvdW5kL3BjaS90cmlkZW50L3RyaWRlbnRfbWVtb3J5LmMKQEAgLTMxMCwxODEgKzMxMCwzIEBACiAJbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKIAlyZXR1cm4gMDsKIH0KLQotCi0vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIG1lbW9yeSBhbGxvY2F0aW9uIHVzaW5nIG11bHRpcGxlIHBhZ2VzIChmb3Igc3ludGgpCi0gKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAqIFVubGlrZSB0aGUgRE1BIGFsbG9jYXRpb24gYWJvdmUsIG5vbi1jb250aWd1b3VzIHBhZ2VzIGFyZQotICogYXNzaWduZWQgdG8gVExCLgotICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLQotLyoKLSAqLwotc3RhdGljIGludCBzeW50aF9hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspOwotc3RhdGljIGludCBzeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfdHJpZGVudCAqaHcsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsayk7Ci0KLS8qCi0gKiBhbGxvY2F0ZSBhIHN5bnRoIHNhbXBsZSBhcmVhCi0gKi8KLXN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKgotc25kX3RyaWRlbnRfc3ludGhfYWxsb2Moc3RydWN0IHNuZF90cmlkZW50ICpodywgdW5zaWduZWQgaW50IHNpemUpCi17Ci0Jc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrOwotCXN0cnVjdCBzbmRfdXRpbF9tZW1oZHIgKmhkciA9IGh3LT50bGIubWVtaGRyOyAKLQotCW11dGV4X2xvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCWJsayA9IF9fc25kX3V0aWxfbWVtX2FsbG9jKGhkciwgc2l6ZSk7Ci0JaWYgKGJsayA9PSBOVUxMKSB7Ci0JCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQlpZiAoc3ludGhfYWxsb2NfcGFnZXMoaHcsIGJsaykpIHsKLQkJX19zbmRfdXRpbF9tZW1fZnJlZShoZHIsIGJsayk7Ci0JCW11dGV4X3VubG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQltdXRleF91bmxvY2soJmhkci0+YmxvY2tfbXV0ZXgpOwotCXJldHVybiBibGs7Ci19Ci0KLUVYUE9SVF9TWU1CT0woc25kX3RyaWRlbnRfc3ludGhfYWxsb2MpOwotCi0vKgotICogZnJlZSBhIHN5bnRoIHNhbXBsZSBhcmVhCi0gKi8KLWludAotc25kX3RyaWRlbnRfc3ludGhfZnJlZShzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspCi17Ci0Jc3RydWN0IHNuZF91dGlsX21lbWhkciAqaGRyID0gaHctPnRsYi5tZW1oZHI7IAotCi0JbXV0ZXhfbG9jaygmaGRyLT5ibG9ja19tdXRleCk7Ci0Jc3ludGhfZnJlZV9wYWdlcyhodywgYmxrKTsKLQkgX19zbmRfdXRpbF9tZW1fZnJlZShoZHIsIGJsayk7Ci0JbXV0ZXhfdW5sb2NrKCZoZHItPmJsb2NrX211dGV4KTsKLQlyZXR1cm4gMDsKLX0KLQotRVhQT1JUX1NZTUJPTChzbmRfdHJpZGVudF9zeW50aF9mcmVlKTsKLQotLyoKLSAqIHJlc2V0IFRMQiBlbnRyeSBhbmQgZnJlZSBrZXJuZWwgcGFnZQotICovCi1zdGF0aWMgdm9pZCBjbGVhcl90bGIoc3RydWN0IHNuZF90cmlkZW50ICp0cmlkZW50LCBpbnQgcGFnZSkKLXsKLQl2b2lkICpwdHIgPSBwYWdlX3RvX3B0cih0cmlkZW50LCBwYWdlKTsKLQlkbWFfYWRkcl90IGFkZHIgPSBwYWdlX3RvX2FkZHIodHJpZGVudCwgcGFnZSk7Ci0Jc2V0X3NpbGVudF90bGIodHJpZGVudCwgcGFnZSk7Ci0JaWYgKHB0cikgewotCQlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgZG1hYjsKLQkJZG1hYi5kZXYudHlwZSA9IFNORFJWX0RNQV9UWVBFX0RFVjsKLQkJZG1hYi5kZXYuZGV2ID0gc25kX2RtYV9wY2lfZGF0YSh0cmlkZW50LT5wY2kpOwotCQlkbWFiLmFyZWEgPSBwdHI7Ci0JCWRtYWIuYWRkciA9IGFkZHI7Ci0JCWRtYWIuYnl0ZXMgPSBBTElHTl9QQUdFX1NJWkU7Ci0JCXNuZF9kbWFfZnJlZV9wYWdlcygmZG1hYik7Ci0JfQotfQotCi0vKiBjaGVjayBuZXcgYWxsb2NhdGlvbiByYW5nZSAqLwotc3RhdGljIHZvaWQgZ2V0X3NpbmdsZV9wYWdlX3JhbmdlKHN0cnVjdCBzbmRfdXRpbF9tZW1oZHIgKmhkciwKLQkJCQkgIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKmJsaywKLQkJCQkgIGludCAqZmlyc3RfcGFnZV9yZXQsIGludCAqbGFzdF9wYWdlX3JldCkKLXsKLQlzdHJ1Y3QgbGlzdF9oZWFkICpwOwotCXN0cnVjdCBzbmRfdXRpbF9tZW1ibGsgKnE7Ci0JaW50IGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQlmaXJzdF9wYWdlID0gZmlyc3RwZyhibGspOwotCWlmICgocCA9IGJsay0+bGlzdC5wcmV2KSAhPSAmaGRyLT5ibG9jaykgewotCQlxID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrLCBsaXN0KTsKLQkJaWYgKGxhc3RwZyhxKSA9PSBmaXJzdF9wYWdlKQotCQkJZmlyc3RfcGFnZSsrOyAgLyogZmlyc3QgcGFnZSB3YXMgYWxyZWFkeSBhbGxvY2F0ZWQgKi8KLQl9Ci0JbGFzdF9wYWdlID0gbGFzdHBnKGJsayk7Ci0JaWYgKChwID0gYmxrLT5saXN0Lm5leHQpICE9ICZoZHItPmJsb2NrKSB7Ci0JCXEgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBzbmRfdXRpbF9tZW1ibGssIGxpc3QpOwotCQlpZiAoZmlyc3RwZyhxKSA9PSBsYXN0X3BhZ2UpCi0JCQlsYXN0X3BhZ2UtLTsgLyogbGFzdCBwYWdlIHdhcyBhbHJlYWR5IGFsbG9jYXRlZCAqLwotCX0KLQkqZmlyc3RfcGFnZV9yZXQgPSBmaXJzdF9wYWdlOwotCSpsYXN0X3BhZ2VfcmV0ID0gbGFzdF9wYWdlOwotfQotCi0vKgotICogYWxsb2NhdGUga2VybmVsIHBhZ2VzIGFuZCBhc3NpZ24gdGhlbSB0byBUTEIKLSAqLwotc3RhdGljIGludCBzeW50aF9hbGxvY19wYWdlcyhzdHJ1Y3Qgc25kX3RyaWRlbnQgKmh3LCBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGspCi17Ci0JaW50IHBhZ2UsIGZpcnN0X3BhZ2UsIGxhc3RfcGFnZTsKLQlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgZG1hYjsKLQotCWZpcnN0cGcoYmxrKSA9IGdldF9hbGlnbmVkX3BhZ2UoYmxrLT5vZmZzZXQpOwotCWxhc3RwZyhibGspID0gZ2V0X2FsaWduZWRfcGFnZShibGstPm9mZnNldCArIGJsay0+c2l6ZSAtIDEpOwotCWdldF9zaW5nbGVfcGFnZV9yYW5nZShody0+dGxiLm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7Ci0KLQkvKiBhbGxvY2F0ZSBhIGtlcm5lbCBwYWdlIGZvciBlYWNoIFRyaWRlbnQgcGFnZSAtCi0JICogZm9ydHVuYXRlbHkgVHJpZGVudCBwYWdlIHNpemUgYW5kIGtlcm5lbCBQQUdFX1NJWkUgaXMgaWRlbnRpY2FsIQotCSAqLwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspIHsKLQkJaWYgKHNuZF9kbWFfYWxsb2NfcGFnZXMoU05EUlZfRE1BX1RZUEVfREVWLCBzbmRfZG1hX3BjaV9kYXRhKGh3LT5wY2kpLAotCQkJCQlBTElHTl9QQUdFX1NJWkUsICZkbWFiKSA8IDApCi0JCQlnb3RvIF9fZmFpbDsKLQkJaWYgKCEgaXNfdmFsaWRfcGFnZShkbWFiLmFkZHIpKSB7Ci0JCQlzbmRfZG1hX2ZyZWVfcGFnZXMoJmRtYWIpOwotCQkJZ290byBfX2ZhaWw7Ci0JCX0KLQkJc2V0X3RsYl9idXMoaHcsIHBhZ2UsICh1bnNpZ25lZCBsb25nKWRtYWIuYXJlYSwgZG1hYi5hZGRyKTsKLQl9Ci0JcmV0dXJuIDA7Ci0KLV9fZmFpbDoKLQkvKiByZWxlYXNlIGFsbG9jYXRlZCBwYWdlcyAqLwotCWxhc3RfcGFnZSA9IHBhZ2UgLSAxOwotCWZvciAocGFnZSA9IGZpcnN0X3BhZ2U7IHBhZ2UgPD0gbGFzdF9wYWdlOyBwYWdlKyspCi0JCWNsZWFyX3RsYihodywgcGFnZSk7Ci0KLQlyZXR1cm4gLUVOT01FTTsKLX0KLQotLyoKLSAqIGZyZWUgcGFnZXMKLSAqLwotc3RhdGljIGludCBzeW50aF9mcmVlX3BhZ2VzKHN0cnVjdCBzbmRfdHJpZGVudCAqdHJpZGVudCwgc3RydWN0IHNuZF91dGlsX21lbWJsayAqYmxrKQotewotCWludCBwYWdlLCBmaXJzdF9wYWdlLCBsYXN0X3BhZ2U7Ci0KLQlnZXRfc2luZ2xlX3BhZ2VfcmFuZ2UodHJpZGVudC0+dGxiLm1lbWhkciwgYmxrLCAmZmlyc3RfcGFnZSwgJmxhc3RfcGFnZSk7Ci0JZm9yIChwYWdlID0gZmlyc3RfcGFnZTsgcGFnZSA8PSBsYXN0X3BhZ2U7IHBhZ2UrKykKLQkJY2xlYXJfdGxiKHRyaWRlbnQsIHBhZ2UpOwotCi0JcmV0dXJuIDA7Ci19Ci0KLS8qCi0gKiBjb3B5X2Zyb21fdXNlcihibGsgKyBvZmZzZXQsIGRhdGEsIHNpemUpCi0gKi8KLWludCBzbmRfdHJpZGVudF9zeW50aF9jb3B5X2Zyb21fdXNlcihzdHJ1Y3Qgc25kX3RyaWRlbnQgKnRyaWRlbnQsCi0JCQkJICAgICBzdHJ1Y3Qgc25kX3V0aWxfbWVtYmxrICpibGssCi0JCQkJICAgICBpbnQgb2Zmc2V0LCBjb25zdCBjaGFyIF9fdXNlciAqZGF0YSwgaW50IHNpemUpCi17Ci0JaW50IHBhZ2UsIG5leHRvZnMsIGVuZF9vZmZzZXQsIHRlbXAsIHRlbXAxOwotCi0Jb2Zmc2V0ICs9IGJsay0+b2Zmc2V0OwotCWVuZF9vZmZzZXQgPSBvZmZzZXQgKyBzaXplOwotCXBhZ2UgPSBnZXRfYWxpZ25lZF9wYWdlKG9mZnNldCkgKyAxOwotCWRvIHsKLQkJbmV4dG9mcyA9IGFsaWduZWRfcGFnZV9vZmZzZXQocGFnZSk7Ci0JCXRlbXAgPSBuZXh0b2ZzIC0gb2Zmc2V0OwotCQl0ZW1wMSA9IGVuZF9vZmZzZXQgLSBvZmZzZXQ7Ci0JCWlmICh0ZW1wMSA8IHRlbXApCi0JCQl0ZW1wID0gdGVtcDE7Ci0JCWlmIChjb3B5X2Zyb21fdXNlcihvZmZzZXRfcHRyKHRyaWRlbnQsIG9mZnNldCksIGRhdGEsIHRlbXApKQotCQkJcmV0dXJuIC1FRkFVTFQ7Ci0JCW9mZnNldCA9IG5leHRvZnM7Ci0JCWRhdGEgKz0gdGVtcDsKLQkJcGFnZSsrOwotCX0gd2hpbGUgKG9mZnNldCA8IGVuZF9vZmZzZXQpOwotCXJldHVybiAwOwotfQotCi1FWFBPUlRfU1lNQk9MKHNuZF90cmlkZW50X3N5bnRoX2NvcHlfZnJvbV91c2VyKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS92aWE4Mnh4LmMgYi9zb3VuZC9wY2kvdmlhODJ4eC5jCmluZGV4IGI1ODVjYzMuLjY3ODFiZTkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3BjaS92aWE4Mnh4LmMKKysrIGIvc291bmQvcGNpL3ZpYTgyeHguYwpAQCAtMTc1Nyw2ICsxNzU3LDEyIEBACiAJCS50eXBlID0gQUM5N19UVU5FX0hQX09OTFkKIAl9LAogCXsKKwkJLnN1YnZlbmRvciA9IDB4MTAxOSwKKwkJLnN1YmRldmljZSA9IDB4MTg0MSwKKwkJLm5hbWUgPSAiRUNTIEs3VlRBMyIsCisJCS50eXBlID0gQUM5N19UVU5FX0hQX09OTFkKKwl9LAorCXsKIAkJLnN1YnZlbmRvciA9IDB4MTg0OSwKIAkJLnN1YmRldmljZSA9IDB4MzA1OSwKIAkJLm5hbWUgPSAiQVNSb2NrIEs3Vk0yIiwKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYyBiL3NvdW5kL3BjaS92eDIyMi92eDIyMl9vcHMuYwppbmRleCBiNGJmYzFhLi42MzFmM2E2IDEwMDY0NAotLS0gYS9zb3VuZC9wY2kvdngyMjIvdngyMjJfb3BzLmMKKysrIGIvc291bmQvcGNpL3Z4MjIyL3Z4MjIyX29wcy5jCkBAIC0zNTksNyArMzU5LDcgQEAKIHsKIAl1bnNpZ25lZCBpbnQgaTsKIAl1bnNpZ25lZCBpbnQgcG9ydDsKLQl1bnNpZ25lZCBjaGFyICppbWFnZTsKKwljb25zdCB1bnNpZ25lZCBjaGFyICppbWFnZTsKIAogCS8qIFhJTElOWCByZXNldCAod2FpdCBhdCBsZWFzdCAxIG1pbGlzZWNvbmQgYmV0d2VlbiByZXNldCBvbiBhbmQgb2ZmKS4gKi8KIAl2eF9vdXRsKGNoaXAsIENOVFJMLCBWWF9DTlRSTF9SRUdJU1RFUl9WQUxVRSB8IFZYX1hJTElOWF9SRVNFVF9NQVNLKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX2ltYWdlLmggYi9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9pbWFnZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTJmMmZmLi4wMDAwMDAwCi0tLSBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX2ltYWdlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxNTY1ICswLDAgQEAKLSNpZm5kZWYgX0hXTUNPREVfCi0jZGVmaW5lIF9IV01DT0RFXwotCi1zdGF0aWMgdTMyIERzcEluc3RbWURTWEdfRFNQTEVOR1RIIC8gNF0gPSB7Ci0JMHgwMDAwMDA4MSwgMHgwMDAwMDFhNCwgMHgwMDAwMDAwYSwgMHgwMDAwMDAyZiwKLQkweDAwMDgwMjUzLCAweDAxODAwMzE3LCAweDAwMDA0MDdiLCAweDAwMDA4NDNmLAotCTB4MDAwMTQ4M2MsIDB4MDAwMTk0M2MsIDB4MDAwNWQ4M2MsIDB4MDAwMDFjM2MsCi0JMHgwMDAwYzA3YiwgMHgwMDA1MGMzZiwgMHgwMTIxNTAzYywgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLAotCTB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsIDB4MDAwMDAwMDAsCi0JMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwgMHgwMDAwMDAwMCwKLQkweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwLCAweDAwMDAwMDAwCi19OwotCi1zdGF0aWMgdTMyIENudHJsSW5zdFtZRFNYR19DVFJMTEVOR1RIIC8gNF0gPSB7Ci0JMHgwMDAwMDcsIDB4MjQwMDA3LCAweDBDMDAwNywgMHgxQzAwMDcsCi0JMHgwNjAwMDcsIDB4NzAwMDAyLCAweDAwMDAyMCwgMHgwMzAwNDAsCi0JMHgwMDcxMDQsIDB4MDA0Mjg2LCAweDAzMDA0MCwgMHgwMDBGMEQsCi0JMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMDI4MiwgMHgwMDAyMEQsCi0JMHgwMDA4MTAsIDB4MjAwNDNBLCAweDAwMTI4MiwgMHgyMDBFODIsCi0JMHgwMDFBODIsIDB4MDMyRDBELCAweDAwMDgxMCwgMHgxMDA0M0EsCi0JMHgwMkQzOEQsIDB4MDAwODEwLCAweDE4MDQzQSwgMHgwMDAxMEQsCi0JMHgwMjAwMTUsIDB4MDAwMEZELCAweDAwMDAyMCwgMHgwMzg4NjAsCi0JMHgwMzkwNjAsIDB4MDM4MDYwLCAweDAzODA0MCwgMHgwMzgwNDAsCi0JMHgwMzgwNDAsIDB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDAsCi0JMHgwMzgwNDAsIDB4MDE4MDQwLCAweDIwMDQwMiwgMHgwMDA4ODIsCi0JMHgwODAwMUEsIDB4MDAwOTA0LCAweDAxNTk4NiwgMHgwMDAwMDcsCi0JMHgyNjAwMDcsIDB4MDAwMDA3LCAweDAwMDAwNywgMHgwMThBMDYsCi0JMHgwMDAwMDcsIDB4MDMwQzhELCAweDAwMDgxMCwgMHgxODA0M0EsCi0JMHgyNjAwMDcsIDB4MDAwODdELCAweDAxODA0MiwgMHgwMDE2MEEsCi0JMHgwNEEyMDYsIDB4MDAwMDA3LCAweDAwMjE4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MjFDMjA2LCAweDAwMDAwNywgMHgwMDA3RkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgwMjkzODYsCi0JMHgwMDAxOTUsIDB4MDkwRDA0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMDAwRjUsIDB4MDAwQjdELCAweDAxRjA2MCwgMHgwMDAwRkQsCi0JMHgwMzIyMDYsIDB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDIsCi0JMHgxMzgwNEEsIDB4MTgwMDBBLCAweDAwMTgyMCwgMHgwNTkwNjAsCi0JMHgwNTg4NjAsIDB4MDE4MDQwLCAweDAwMDBGRCwgMHgwMTgwNDIsCi0JMHg3MDAwMEEsIDB4MDAwMTE1LCAweDA3MTE0NCwgMHgwMzIzODYsCi0JMHgwMzAwMDAsIDB4MDA3MDIwLCAweDAzNEEwNiwgMHgwMTgwNDAsCi0JMHgwMDM0OEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyMUVBMDYsCi0JMHgwMDAwMDcsIDB4MDJEMzhELCAweDAwMDgxMCwgMHgxODA0M0EsCi0JMHgwMTgyMDYsIDB4MDAwMDA3LCAweDI0MDAwNywgMHgwMDBGOEQsCi0JMHgwMDA4MTAsIDB4MDAxNjNBLCAweDAwMjQwMiwgMHgwMDVDMDIsCi0JMHgwMDI4RkQsIDB4MDAwMDIwLCAweDAxODA0MCwgMHgwODAwMEQsCi0JMHgwMDA4MTUsIDB4NTEwOTg0LCAweDAwMDAwNywgMHgwMDAwNEQsCi0JMHgwMDBFNUQsIDB4MDAwRTAyLCAweDAwNDE4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkM4QTA2LCAweDAwMDAwNywgMHgwMDAwOEQsCi0JMHgwMDA5MjQsIDB4MDAwRjAyLCAweDAwNDU4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4MkM4QTA2LCAweDAwMDAwNywgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMTAxNSwgMHgwMTA5ODQsCi0JMHgwMTgzODYsIDB4MDAwMDA3LCAweDAxQUEwNiwgMHgwMDAwMDcsCi0JMHgwMDA4RkQsIDB4MDE4MDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsCi0JMHgyMTgwODYsIDB4MjgwMDA3LCAweDAwMTgxMCwgMHgyODA0M0EsCi0JMHgyODBDMDIsIDB4MDAwMDBELCAweDAwMDgxMCwgMHgyODE0M0EsCi0JMHgwODgwOEQsIDB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsCi0JMHgyMDAwMDcsIDB4MDAwMjBELCAweDE4OTkwNCwgMHgwMDAwMDcsCi0JMHgwMDQwMkQsIDB4MDAwMEJELCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDA1NUE4NiwgMHgwMDAwMDcsCi0JMHgwMDAxMDAsIDB4MDAwQTIwLCAweDAwMDQ3RCwgMHgwMTgwNDAsCi0JMHgwMTgwNDIsIDB4MjAwMDBBLCAweDAwMzAxNSwgMHgwMTIxNDQsCi0JMHgwMzQ5ODYsIDB4MDAwMDA3LCAweDAwMjEwNCwgMHgwMzQ5ODYsCi0JMHgwMDAwMDcsIDB4MDAwRjhELCAweDAwMDgxMCwgMHgyODBDM0EsCi0JMHgwMjM5NDQsIDB4MDZDOTg2LCAweDAwMDAwNywgMHgwMDE4MTAsCi0JMHgyODA0M0EsIDB4MDg4MTBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwMjgxMCwgMHg3ODAwM0EsCi0JMHgwMDY4OEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyODhBMDYsCi0JMHgwMDAwMDcsIDB4MDA0MDBELCAweDAwMTAxNSwgMHgxODk5MDQsCi0JMHgyOTI5MDQsIDB4MzkzOTA0LCAweDAwMDAwNywgMHgwNjAyMDYsCi0JMHgwMDAwMDcsIDB4MDAwNEY1LCAweDAwMDA3RCwgMHgwMDAwMjAsCi0JMHgwMDAwOEQsIDB4MDEwODYwLCAweDAxODA0MCwgMHgwMDA0N0QsCi0JMHgwMzgwNDIsIDB4MjE4MDRBLCAweDE4MDAwQSwgMHgwMjE5NDQsCi0JMHgyMTU4ODYsIDB4MDAwMDA3LCAweDAwNDA3NSwgMHg3MUYxMDQsCi0JMHgwMDAwMDcsIDB4MDEwMDQyLCAweDI4MDAwQSwgMHgwMDI5MDQsCi0JMHgyMTIwODYsIDB4MDAwMDA3LCAweDAwM0MwRCwgMHgzMEE5MDQsCi0JMHgwMDAwMDcsIDB4MDAwNzdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MDdEQTg2LCAweDAwMDU3RCwgMHgwMDI4MjAsCi0JMHgwM0IwNjAsIDB4MDdGMjA2LCAweDAxODA0MCwgMHgwMDMwMjAsCi0JMHgwM0E4NjAsIDB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDA3RkE4NiwgMHgwMDAwMDcsCi0JMHgwMDA1N0QsIDB4MDE4MDQyLCAweDI4MDQwQSwgMHgwMDBFOEQsCi0JMHgwMDA4MTAsIDB4MjgwQzNBLCAweDAwMDAwRCwgMHgwMDA4MTAsCi0JMHgyODE0M0EsIDB4MDkwMDBELCAweDAwMDgyMCwgMHgwMDAyRkQsCi0JMHgwMTgwNDAsIDB4MjAwMDA3LCAweDAwM0RGRCwgMHgwMDAwMjAsCi0JMHgwMTgwNDAsIDB4MDAxMDdELCAweDAwOEQ4RCwgMHgwMDA4MTAsCi0JMHgwODA0M0EsIDB4Mjg4QTA2LCAweDAwMDAwNywgMHgwMDA4MTUsCi0JMHgwODAwMUEsIDB4MDEwOTg0LCAweDA5NTE4NiwgMHgwMDEzN0QsCi0JMHgyMDA1MDAsIDB4MjgwRjIwLCAweDMzOEY2MCwgMHgzQjhGNjAsCi0JMHg0MzhGNjAsIDB4NEI4RjYwLCAweDUzOEY2MCwgMHg1QjhGNjAsCi0JMHgwMzhBNjAsIDB4MDE4MDQwLCAweDAwN0ZCRCwgMHgzODNEQzQsCi0JMHgwMDAwMDcsIDB4MDAxQTdELCAweDAwMTM3NSwgMHgwMTgwNDIsCi0JMHgwOTAwNEEsIDB4MTAwMDBBLCAweDBCOEQwNCwgMHgxMzk1MDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAxOTA2MCwgMHgwMDExMDQsCi0JMHgyMTIwODYsIDB4MDEwMDQwLCAweDAwMTdGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDIxMjI4NiwgMHgwMDAwMDcsCi0JMHgwMDE5N0QsIDB4MDM4MDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsCi0JMHgwMDA5MjQsIDB4MDAxNjY0LCAweDAwMTFGRCwgMHgwMzgwNDIsCi0JMHgyQjgwNEEsIDB4MTk4MDRBLCAweDAwMDA4RCwgMHgyMTg5NDQsCi0JMHgwMDAwMDcsIDB4MDAyMjQ0LCAweDBBRTE4NiwgMHgwMDAwMDcsCi0JMHgwMDFBNjQsIDB4MDAyQTI0LCAweDAwMTk3RCwgMHgwODAxMDIsCi0JMHgxMDAxMjIsIDB4MDAwODIwLCAweDAzOTA2MCwgMHgwMTgwNDAsCi0JMHgwMDNERkQsIDB4MDAwMDhELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwMDEzNzUsIDB4MDAxQTdELCAweDAxMDA0MiwgMHgwOTgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwMjFELCAweDAxODlFNCwgMHgyOTkyRTQsCi0JMHgzMDkxNDQsIDB4MDAwMDA3LCAweDAwMDYwRCwgMHgwMDBBMTUsCi0JMHgwMDBDMUQsIDB4MDAxMDI1LCAweDAwQTlFNCwgMHgwMTJCRTQsCi0JMHgwMDA0NjQsIDB4MDFCM0U0LCAweDAyMzJFNCwgMHgwMDA0NjQsCi0JMHgwMDA0NjQsIDB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA0MEQsCi0JMHgwOEIxQzQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDBCRjUsCi0JMHgwMzAwNDAsIDB4MDAxOTdELCAweDAzODA0MiwgMHgwOTgwNEEsCi0JMHgwMDBBMjQsIDB4MDgwMDBBLCAweDA4MEU2NCwgMHgwMDAwMDcsCi0JMHgxMDAxMjIsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMTAwNDAsCi0JMHgwMDY0QUMsIDB4MDAwMjdELCAweDAwMDAyMCwgMHgwMTgwNDAsCi0JMHgwMDEwN0QsIDB4MDE4MDQyLCAweDAwMTFGRCwgMHgzQjgwNEEsCi0JMHgwOTgwNEEsIDB4MjAwMDBBLCAweDAwMDA5NSwgMHgxQTExNDQsCi0JMHgwMEExNDQsIDB4MEQyMDg2LCAweDAwMDQwRCwgMHgwMEI5ODQsCi0JMHgwRDIxODYsIDB4MDAxOEZELCAweDAxODA0MiwgMHgwMDEwRkQsCi0JMHgwOTgwNEEsIDB4MjgwMDBBLCAweDAwMDA5NSwgMHgwMTA5MjQsCi0JMHgwMDJBNjQsIDB4MEQxMTg2LCAweDAwMDAwNywgMHgwMDI5MDQsCi0JMHgwRDIyODYsIDB4MDAwMDA3LCAweDBEMkEwNiwgMHgwODAwMDIsCi0JMHgwMDAwOEQsIDB4MDAzODdELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwMDEyN0QsIDB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDM5MDQsCi0JMHgwREQxODYsIDB4MDAwODBELCAweDdGRkZCNSwgMHgwMEI5ODQsCi0JMHgwREExODYsIDB4MDAwMDI1LCAweDBFN0EwNiwgMHgwMDAwMkQsCi0JMHgwMDAwMTUsIDB4MDAwODJELCAweDAyQzc4RCwgMHgwMDA4MjAsCi0JMHgwRUMyMDYsIDB4MDAwMDBELCAweDdGODAzNSwgMHgwMEI5ODQsCi0JMHgwRTcxODYsIDB4NDAwMDI1LCAweDAwMDA4RCwgMHgxMTA5NDQsCi0JMHgwMDAwMDcsIDB4MDAwMThELCAweDEwOTUwNCwgMHgwMDAwMDcsCi0JMHgwMDkxNjQsIDB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgxMDAxMDIsIDB4MjgwMDAyLCAweDAyQzY4RCwgMHgwMDA4MjAsCi0JMHgwRUMyMDYsIDB4MDAwMThELCAweDAwMDQyRCwgMHgwMDAwOEQsCi0JMHgxMDk1MDQsIDB4MDAwMDA3LCAweDAwMDIwRCwgMHgxMDkxODQsCi0JMHgwMDAwMDcsIDB4MDJDNzBELCAweDAwMDgyMCwgMHgwMDAwOEQsCi0JMHgwMDM4RkQsIDB4MDE4MDQwLCAweDAwM0JGRCwgMHgwMDEwMjAsCi0JMHgwM0E4NjAsIDB4MDAwODE1LCAweDMxMzE4NCwgMHgyMTIxODQsCi0JMHgwMDAwMDcsIDB4MDNCMDYwLCAweDAzQTA2MCwgMHgwMTgwNDAsCi0JMHgwMDIyRkQsIDB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAxMjY0LCAweDEwMDEwMiwgMHgwMDA4MjAsCi0JMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwMTkyNCwgMHgwMEZCOEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAxMTdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDBBMjQsIDB4MjgwNTAyLCAweDI4MEMwMiwgMHgwOTgwMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwgMHgyMDAwMDcsCi0JMHgwMDIyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDAwOTUsCi0JMHgyODBEQzQsIDB4MDExOTI0LCAweDAwMTk3RCwgMHgwMTgwNDIsCi0JMHgwMDExRkQsIDB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDAwQjUsCi0JMHgxMTMxNDQsIDB4MEE4RDA0LCAweDAwMDAwNywgMHgwODBBNDQsCi0JMHgxMjk1MDQsIDB4MDAwMDA3LCAweDAwMjNGRCwgMHgwMDEwMjAsCi0JMHgwMzgwNDAsIDB4MTAxMjQ0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDEwRkE4NiwgMHgwMDAwMDcsCi0JMHgwMDNCRkQsIDB4MDAwMTAwLCAweDAwMEExMCwgMHgwQjgwN0EsCi0JMHgxMzgwNEEsIDB4MDkwOTg0LCAweDAwMDAwNywgMHgwMDAwOTUsCi0JMHgwMTNEMDQsIDB4MTE4MDg2LCAweDEwMDAwQSwgMHgxMDAwMDIsCi0JMHgwOTA5ODQsIDB4MDAwMDA3LCAweDAzODA0MiwgMHgxMTgwNEEsCi0JMHgwOTBEMDQsIDB4MDAwMDA3LCAweDEwMDAwQSwgMHgwOTBEODQsCi0JMHgwMDAwMDcsIDB4MDAyNTdELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwMDAxMEQsIDB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDEyN0QsCi0JMHgwMTgwNDIsIDB4MjAwMDBBLCAweDAwMTk3RCwgMHgwMTgwNDIsCi0JMHgwMDExN0QsIDB4MzE4MDRBLCAweDEwMDAwQSwgMHgwMDMxMjQsCi0JMHgwMTI4MEQsIDB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsCi0JMHgwMzgwNDIsIDB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsCi0JMHgzMDAxMDIsIDB4MDAzMTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgwMDEyMjQsIDB4MjgwNTAyLCAweDAwMUE0QywgMHgxMzAxODYsCi0JMHg3MDAwMDIsIDB4MDAwMDJELCAweDAzMDAwMCwgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MTAwMDBBLCAweDEzMkEwNiwgMHgwMDIxMjQsCi0JMHgwMDAwQUQsIDB4MTAwMDAyLCAweDAwMDEwRCwgMHgwMDA5MjQsCi0JMHgwMDZCMjQsIDB4MDEzNjhELCAweDAwMzk3RCwgMHgwMDA4MjAsCi0JMHgwNTgwNDAsIDB4MDM4MDQyLCAweDA5ODQ0QSwgMHgwMDA2MDYsCi0JMHgwODA0MEEsIDB4MDAzMjY0LCAweDAwMDA4RCwgMHgwMDBBMjQsCi0JMHgwMDEwMjAsIDB4MDAyMjdELCAweDAxODA0MCwgMHgwMTNDMEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDI5RDIwNiwgMHgwMDAwMDcsCi0JMHgwMDI4MjAsIDB4MDAyMDdELCAweDAxODA0MCwgMHgwMDExN0QsCi0JMHgwMzgwNDIsIDB4MTM4MDRBLCAweDMzODAwQSwgMHgwMDM4N0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNjNBODYsCi0JMHgwMDAwMDcsIDB4MDAwMDhELCAweDAzMDk2NCwgMHgwMTQ3OEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgzODAxMDIsCi0JMHgwMDA0MjQsIDB4MDAwNDI0LCAweDAwMTIyNCwgMHgwMDAyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNEEyODYsCi0JMHgwMDAwMDcsIDB4MjgwNTAyLCAweDAwMUE0QywgMHgxNjM5ODYsCi0JMHgwMDAwMDcsIDB4MDMyMTY0LCAweDAwNjMyQywgMHgwMDNERkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDA5NSwgMHgwOTA5MDQsCi0JMHgwMDAwMDcsIDB4MDAwODIwLCAweDAwMUE0QywgMHgxNTYxODYsCi0JMHgwMTgwNDAsIDB4MDMwMDAwLCAweDE1N0EwNiwgMHgwMDIxMjQsCi0JMHgwMDAxMEQsIDB4MDAwOTI0LCAweDAwNkIyNCwgMHgwMTVCOEQsCi0JMHgwMDM5N0QsIDB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsCi0JMHgwOTg0NEEsIDB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDNBNjQsCi0JMHgwMDAwOTUsIDB4MDAxMjI0LCAweDAwMDJGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDE1REE4NiwgMHgwMDAwMDcsCi0JMHgwMTYyOEQsIDB4MDAwODEwLCAweDA4MDQzQSwgMHgyOUQyMDYsCi0JMHgwMDAwMDcsIDB4MTREMjA2LCAweDAwMDAwNywgMHgwMDcwMjAsCi0JMHgwODAxMEEsIDB4MTAwMTJBLCAweDAwMjBGRCwgMHgwMzg4NjAsCi0JMHgwMzkwNjAsIDB4MDE4MDQwLCAweDAwMjI3RCwgMHgwMTgwNDIsCi0JMHgwMDNERkQsIDB4MDgwMDBBLCAweDMxODQ0QSwgMHgwMDA5MDQsCi0JMHgxNkQ4ODYsIDB4MTgwMDhCLCAweDAwMDA4RCwgMHgxODk5MDQsCi0JMHgwMDMxMkMsIDB4MTdBQTA2LCAweDAwMDAwNywgMHgwMDMyNEMsCi0JMHgxNzMzODYsIDB4MDAwMDA3LCAweDAwMTkwNCwgMHgxNzMwODYsCi0JMHgwMDAwMDcsIDB4MDAwMDk1LCAweDE5OTE0NCwgMHgwMDIyMkMsCi0JMHgwMDMxMjQsIDB4MDA2MzZDLCAweDAwMEUzRCwgMHgwMDEzNzUsCi0JMHgwMDBCRkQsIDB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsCi0JMHgwMzhBRUMsIDB4MDM5M0VDLCAweDAwMjI0QywgMHgxN0E5ODYsCi0JMHgwMDAwMDcsIDB4MDAwMDhELCAweDE4OTkwNCwgMHgwMDIyNkMsCi0JMHgwMDMyMkMsIDB4MzAwNTBBLCAweDMwMURBQiwgMHgwMDIwODMsCi0JMHgwMDE4RkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMTg5MjQsCi0JMHgzMDA1MDIsIDB4MDAxMDgzLCAweDAwMTg3NSwgMHgwMTAwNDIsCi0JMHgxMDAwMEEsIDB4MDAwMDhELCAweDAxMDkyNCwgMHgwMDEzNzUsCi0JMHgzMzA1NDIsIDB4MzMwQ0NCLCAweDMzMkNDQiwgMHgzMzM0Q0IsCi0JMHgzMzNDQ0IsIDB4MzM0NENCLCAweDMzNENDQiwgMHgzMzU0Q0IsCi0JMHgzMDVDOEIsIDB4MDA2MDgzLCAweDAwMDJGNSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDE4N0E4NiwgMHgwMDAwMDcsCi0JMHgwMDFFMkQsIDB4MDAwNUZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMjg5MjQsIDB4MjgwNTAyLCAweDAwMDYwRCwgMHgwMDA4MTAsCi0JMHgyODBDM0EsIDB4MDAwMDhELCAweDAwMDgxMCwgMHgyODE0M0EsCi0JMHgwQTgwOEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMjAwMDcsIDB4MDAxMjc1LCAweDAzMDA0MiwgMHgyMTAwNEEsCi0JMHgwMDAwOEQsIDB4MUEwOTQ0LCAweDAwMDAwNywgMHgwMTk4MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJCMjIwNiwgMHgwMDAwMDcsCi0JMHgwMDAxRjUsIDB4MDMwMDQyLCAweDBEMDA0QSwgMHgxMDAwMEEsCi0JMHgwODkxNDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsCi0JMHgwMDI1RjUsIDB4MEEzMTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsCi0JMHgwMzI4NjAsIDB4MDMwMDQwLCAweDAwMjE3RCwgMHgwMzgwNDIsCi0JMHgwQjgwNEEsIDB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMzAwNDAsIDB4MDAwMDhELCAweDAwMDEyNCwgMHgwMDAxMkMsCi0JMHgwMDBFNjQsIDB4MDAxQTY0LCAweDAwNjM2QywgMHgwODAxMEEsCi0JMHgxMDAxMkEsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsCi0JMHgwMDIwRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDIyN0QsCi0JMHgwMTgwNDIsIDB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMzAwNDAsIDB4MDAxOTdELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDIyRkQsIDB4MDM4MDQyLCAweDEwMDAwQSwgMHgwMDA4MjAsCi0JMHgwMzEwNjAsIDB4MDMwMDQwLCAweDA5MEQwNCwgMHgwMDAwMDcsCi0JMHgwMDA4MjAsIDB4MDMwMDQwLCAweDAzODA0MiwgMHgwQjgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsCi0JMHgwMzgwNDIsIDB4MTM4MDRBLCAweDE5ODA0QSwgMHgxMTBEMDQsCi0JMHgxOThEMDQsIDB4MDAwMDA3LCAweDA4MDAwQSwgMHgwMDEwMjAsCi0JMHgwMzE4NjAsIDB4MDMwODYwLCAweDAzMDA0MCwgMHgwMDAwOEQsCi0JMHgwQjA5NDQsIDB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsCi0JMHgwMDA1RjUsIDB4MDMwMDQyLCAweDA4MDAwQSwgMHgwMDA4MjAsCi0JMHgwMTAwNDAsIDB4MDAwMEY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MUM2MDg2LCAweDAwMUU3NSwgMHgwMzAwNDIsCi0JMHgwMTA0NEEsIDB4MDAwQzBBLCAweDFDNzIwNiwgMHgwMDAwMDcsCi0JMHgwMDA0MDIsIDB4MDAwQzAyLCAweDAwMTc3RCwgMHgwMDFBRjUsCi0JMHgwMTgwNDIsIDB4MDMxNDRBLCAweDAzMUM0QSwgMHgwMzI0NEEsCi0JMHgwMzJDNEEsIDB4MDMzNDRBLCAweDAzM0M0QSwgMHgwMzQ0NEEsCi0JMHgwMDRDMEEsIDB4MDAwNDNELCAweDAwMTNGNSwgMHgwMDFBRkQsCi0JMHgwMzAwNDIsIDB4MEIwMDRBLCAweDFCODA0QSwgMHgxMzgwNEEsCi0JMHgyMDAwMEEsIDB4MDg5MTQ0LCAweDE5QTE0NCwgMHgwMzg5RTQsCi0JMHgwMzk5RUMsIDB4MDA1NTAyLCAweDAwNUQwQSwgMHgwMzAwNDIsCi0JMHgwQjAwNEEsIDB4MUI4MDRBLCAweDEzODA0QSwgMHgyMDAwMEEsCi0JMHgwODkxNDQsIDB4MTlBMTQ0LCAweDAzODlFNCwgMHgwMzk5RUMsCi0JMHgwMDY1MDIsIDB4MDA2RDBBLCAweDAzMDA0MiwgMHgwQjAwNEEsCi0JMHgxOTAwNEEsIDB4MkI4MDRBLCAweDEzODA0QSwgMHgyMTgwNEEsCi0JMHgzMDAwMEEsIDB4MDg5MTQ0LCAweDE5QTE0NCwgMHgyQUIxNDQsCi0JMHgwMzg5RTQsIDB4MDM5OUVDLCAweDAwNzUwMiwgMHgwMDdEMEEsCi0JMHgwM0E5RTQsIDB4MDAwNzAyLCAweDAwMTA3RCwgMHgwMDA0MTUsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAxMDlFNCwgMHgwMDBGMDIsCi0JMHgwMDJBRjUsIDB4MDAxOUZELCAweDAxMDA0MiwgMHgwOTgwNEEsCi0JMHgxMDAwMEEsIDB4MDAwOTM0LCAweDAwMTY3NCwgMHgwMDI5RjUsCi0JMHgwMTAwNDIsIDB4MTAwMDBBLCAweDAwOTE3QywgMHgwMDIwNzUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgxRUQyODYsCi0JMHgwMDI2RjUsIDB4MDAyN0Y1LCAweDAzMDA0MiwgMHgwOTAwNEEsCi0JMHgxMDAwMEEsIDB4MDAwQTNDLCAweDAwMTY3QywgMHgwMDFBNzUsCi0JMHgwMDBCRkQsIDB4MDEwMDQyLCAweDUxODA0QSwgMHg0ODAwMEEsCi0JMHgxNjAwMDcsIDB4MDAxMDc1LCAweDAxMDA0MiwgMHgyODJDMEEsCi0JMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUYzMiwgMHgxRTAwMDcsCi0JMHgwRTAwMDcsIDB4MDAxOTc1LCAweDAxMDA0MiwgMHgwMDJERjUsCi0JMHgwRDAwNEEsIDB4MTAwMDBBLCAweDAwOTE0NCwgMHgxRkIyODYsCi0JMHgwMTAwNDIsIDB4MjgzNDBBLCAweDAwMEU1RCwgMHgwMDAwOEQsCi0JMHgwMDAzNzUsIDB4MDAwODIwLCAweDAxMDA0MCwgMHgwNUQyRjQsCi0JMHg1NEQxMDQsIDB4MDA3MzVDLCAweDIwNTM4NiwgMHgwMDAwMDcsCi0JMHgwQzAwMDcsIDB4MDgwMDA3LCAweDBBMDAwNywgMHgwMjA0MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDMzMjIwNiwgMHgwMDAwMDcsCi0JMHgyMDVBMDYsIDB4MDAwMDA3LCAweDA4MDAwNywgMHgwMDIyNzUsCi0JMHgwMTAwNDIsIDB4MjAwMDBBLCAweDAwMjEwNCwgMHgyMTIwODYsCi0JMHgwMDFFMkQsIDB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4MjA5Mjg2LCAweDAwMDAwNywgMHgwMDIwMTAsCi0JMHgzMDA0M0EsIDB4MDAwNTdELCAweDAxODBDMywgMHgwODAwMEEsCi0JMHgwMjg5MjQsIDB4MjgwNTAyLCAweDI4MEMwMiwgMHgwQTgxMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwgMHgyMjAwMDcsCi0JMHgwMDA0RkQsIDB4MDE4MDQyLCAweDcwMDAwQSwgMHgwMzAwMDAsCi0JMHgwMDcwMjAsIDB4MDZGQTA2LCAweDAxODA0MCwgMHgwMjE4MEQsCi0JMHgwMDA4MTAsIDB4MDgwNDNBLCAweDJCMjIwNiwgMHgwMDAwMDcsCi0JMHgwMDAyRkQsIDB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyMThBODYsIDB4MDAwMDA3LCAweDAxRjIwNiwgMHgwMDAwMDcsCi0JMHgwMDA4NzUsIDB4MDAwOUZELCAweDAwMDEwRCwgMHgyMjBBMDYsCi0JMHgwMDAyOTUsIDB4MDAwQjc1LCAweDAwMDk3RCwgMHgwMDAwMEQsCi0JMHgwMDA1MTUsIDB4MDEwMDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsCi0JMHgyODc4ODYsIDB4MDAwNkY1LCAweDAwMTAyMCwgMHgwMTAwNDAsCi0JMHgwMDA0RjUsIDB4MDAwODIwLCAweDAxMDA0MCwgMHgwMDA3NzUsCi0JMHgwMTAwNDIsIDB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDExMjQsCi0JMHgwMDA5MDQsIDB4MjJCQTg2LCAweDAwMDgxNSwgMHgwODAxMDIsCi0JMHgxMDEyMDQsIDB4MjJEQTA2LCAweDAwMDU3NSwgMHgwODEyMDQsCi0JMHgwMDAwMDcsIDB4MTAwMTAyLCAweDAwMDU3NSwgMHgwMDA0MjUsCi0JMHgwMjExMjQsIDB4MTAwMTAyLCAweDAwMDgyMCwgMHgwMzEwNjAsCi0JMHgwMTAwNDAsIDB4MDAxOTI0LCAweDI4Nzg4NiwgMHgwMDAwOEQsCi0JMHgwMDA0NjQsIDB4MDA5RDA0LCAweDI3ODg4NiwgMHgxODAxMDIsCi0JMHgwMDA1NzUsIDB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAxOEQsCi0JMHgwMDA5MjQsIDB4MjgwRDAyLCAweDAwMDAwRCwgMHgwMDA5MjQsCi0JMHgyODE1MDIsIDB4MTAwMDBELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjAwMDA3LCAweDAwMTE3NSwgMHgwMDAyRkQsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyM0MyODYsCi0JMHgwMDAwMDcsIDB4MDAwMTAwLCAweDA4MEIyMCwgMHgxMzBCNjAsCi0JMHgxQjBCNjAsIDB4MDMwQTYwLCAweDAxMDA0MCwgMHgwNTAwNDIsCi0JMHgzRDAwNEEsIDB4MzUwMDRBLCAweDJEMDA0QSwgMHgyMDAwMEEsCi0JMHgwMDA2RjUsIDB4MDEwMDQyLCAweDI4MTQwQSwgMHgwMDA0RjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsCi0JMHgyNENBODYsIDB4MDA0MDE1LCAweDAwMDA5NSwgMHgwMTBEMDQsCi0JMHgyNEI4ODYsIDB4MTAwMDIyLCAweDEwMDAyQSwgMHgyNEUyMDYsCi0JMHgwMDAwMDcsIDB4MzMzMTA0LCAweDJBQTkwNCwgMHgwMDAwMDcsCi0JMHgwMzIxMjQsIDB4MjgwNTAyLCAweDAwMTEyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAzMjI0LCAweDAwMjkyQywgMHgwMDYzNkMsCi0JMHgyNUYzODYsIDB4MDAwMDA3LCAweDAyQjE2NCwgMHgwMDA0NjQsCi0JMHgwMDA0NjQsIDB4MDAwMDhELCAweDAwMEE2NCwgMHgyODBEMDIsCi0JMHgxMDAwOEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMjAwMDcsIDB4MDAwMDhELCAweDM4QjkwNCwgMHgwMDAwMDcsCi0JMHgwMzI5NkMsIDB4MzAwMTBBLCAweDAwMDJGNSwgMHgwMTAwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDI1QkE4NiwgMHgwMDAwMDcsCi0JMHgwMjMxMkMsIDB4MjgwNTBBLCAweDAwMDA4RCwgMHgwMTA5NkMsCi0JMHgyODBEMEEsIDB4MTAwMTBELCAweDAwMDgyMCwgMHgwMDAyRjUsCi0JMHgwMTAwNDAsIDB4MjIwMDA3LCAweDAwMTEyNCwgMHgwMDA0MjQsCi0JMHgwMDA0MjQsIDB4MDAzMjI0LCAweDMwMDEwMiwgMHgwMzI5NDQsCi0JMHgyNjdBODYsIDB4MDAwMDA3LCAweDMwMDAwMiwgMHgwMDA0RjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsCi0JMHgyNkMwODYsIDB4MDAzMTI0LCAweDAwMDQ2NCwgMHgzMDAxMDIsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyNkNBODYsIDB4MDAwMDA3LCAweDAwMzEyNCwgMHgzMDA1MDIsCi0JMHgwMDM5MjQsIDB4MzAwNTgzLCAweDAwMDg4MywgMHgwMDA1RjUsCi0JMHgwMTAwNDIsIDB4MjgwNDBBLCAweDAwMDA4RCwgMHgwMDgxMjQsCi0JMHgyODBEMDIsIDB4MDAwMDhELCAweDAwODEyNCwgMHgyODE1MDIsCi0JMHgxMDAxOEQsIDB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsCi0JMHgyMjAwMDcsIDB4MDAxMDI1LCAweDAwMDU3NSwgMHgwMzAwNDIsCi0JMHgwOTAwNEEsIDB4MTAwMDBBLCAweDBBMDkwNCwgMHgxMjExMDQsCi0JMHgwMDAwMDcsIDB4MDAxMDIwLCAweDA1MDg2MCwgMHgwNTAwNDAsCi0JMHgwMDA2RkQsIDB4MDE4MDQyLCAweDA5MDA0QSwgMHgxMDAwMEEsCi0JMHgwMDAwQTUsIDB4MEEwOTA0LCAweDEyMTEwNCwgMHgwMDAwMDcsCi0JMHgwMDA4MjAsIDB4MDE5MDYwLCAweDAxMDA0MCwgMHgwMDAyRjUsCi0JMHgwMTAwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyODQyODYsCi0JMHgwMDAwMDcsIDB4MjMwQTA2LCAweDAwMDAwNywgMHgwMDA2MDYsCi0JMHgwMDAwMDcsIDB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDA5MDQsIDB4Mjg5Mjg2LCAweDAwMDAwNywgMHgwMDAxMDAsCi0JMHgwODBCMjAsIDB4MTM4QjYwLCAweDFCOEI2MCwgMHgyMzhCNjAsCi0JMHgyQjhCNjAsIDB4MzM4QjYwLCAweDNCOEI2MCwgMHg0MzhCNjAsCi0JMHg0QjhCNjAsIDB4NTM4QjYwLCAweDVCOEI2MCwgMHg2MzhCNjAsCi0JMHg2QjhCNjAsIDB4NzM4QjYwLCAweDdCOEI2MCwgMHgwMzhGNjAsCi0JMHgwQjhGNjAsIDB4MTM4RjYwLCAweDFCOEY2MCwgMHgyMzhGNjAsCi0JMHgyQjhGNjAsIDB4MzM4RjYwLCAweDNCOEY2MCwgMHg0MzhGNjAsCi0JMHg0QjhGNjAsIDB4NTM4RjYwLCAweDVCOEY2MCwgMHg2MzhGNjAsCi0JMHg2QjhGNjAsIDB4NzM4RjYwLCAweDdCOEY2MCwgMHgwMzhBNjAsCi0JMHgwMDA2MDYsIDB4MDE4MDQwLCAweDAwMDA4RCwgMHgwMDBBNjQsCi0JMHgyODBEMDIsIDB4MDAwQTI0LCAweDAwMDI3RCwgMHgwMTgwNDIsCi0JMHgxMDAwMEEsIDB4MDAxMjI0LCAweDAwMDNGRCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDJBODI4NiwgMHgwMDAwMDcsCi0JMHgwMDAxOEQsIDB4MDAwQTI0LCAweDAwMDQ2NCwgMHgwMDA0NjQsCi0JMHgwODAxMDIsIDB4MDAwOTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsCi0JMHgxMDAxMDIsIDB4MDIwMDBELCAweDAwOTE0NCwgMHgyQUQ5ODYsCi0JMHgwMDAwMDcsIDB4MDAwMUZELCAweDAxODA0MiwgMHgwODAwMEEsCi0JMHgwMDBBNDQsIDB4MkFCQjg2LCAweDAxODA0MiwgMHgwQTAwMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkZELCAweDAxODA0MCwgMHgyMDAwMDcsCi0JMHgwMDAyN0QsIDB4MDAxMDIwLCAweDAwMDYwNiwgMHgwMTgwNDAsCi0JMHgwMDAyRjUsIDB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsCi0JMHgyQjJBODYsIDB4MDAwMDA3LCAweDAwMDM3RCwgMHgwMTgwNDIsCi0JMHgwODAwMEEsIDB4MDAwOTA0LCAweDJCNUE4NiwgMHgwMDAwMDcsCi0JMHgwMDAwNzUsIDB4MDAyRTdELCAweDAxMDA0MiwgMHgwQjgwNEEsCi0JMHgwMDAwMjAsIDB4MDAwOTA0LCAweDAwMDY4NiwgMHgwMTAwNDAsCi0JMHgzMTg0NEEsIDB4MzAwNDhCLCAweDAwMDg4MywgMHgwMDAwOEQsCi0JMHgwMDA4MTAsIDB4MjgxNDNBLCAweDAwMDA4RCwgMHgwMDA4MTAsCi0JMHgyODBDM0EsIDB4MDAwNjc1LCAweDAxMDA0MiwgMHgwODAwMEEsCi0JMHgwMDM4MTUsIDB4MDEwOTI0LCAweDI4MDUwMiwgMHgwQjAwMEQsCi0JMHgwMDA4MjAsIDB4MDAwMkY1LCAweDAxMDA0MCwgMHgwMDA2MDYsCi0JMHgyMjAwMDcsIDB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA2MDYsCi0JMHgwMDAwMDcsIDB4MDAwMTM0LCAweDAwN0Y4RCwgMHgwMDA5M0MsCi0JMHgyODFEMTIsIDB4MjgyNTEyLCAweDAwMUYzMiwgMHgwRTAwMDcsCi0JMHgwMDAxMEQsIDB4MDAwMzdELCAweDAwMDgyMCwgMHgwMTgwNDAsCi0JMHgwNUQyRjQsIDB4MDAwMDA3LCAweDA4MDAwNywgMHgwMDAzN0QsCi0JMHgwMTgwNDIsIDB4MDgwMDBBLCAweDAwMDkwNCwgMHgyRDAyODYsCi0JMHgwMDAwMDcsIDB4MDAwNjA2LCAweDAwMDAwNywgMHgwMDAwMDcsCi0JMHgwMDAwMTIsIDB4MTAwMDA3LCAweDMyMDAwNywgMHg2MDAwMDcsCi0JMHgxMDAwODAsIDB4NDgwMDFBLCAweDAwNDkwNCwgMHgyRDYxODYsCi0JMHgwMDAwMDcsIDB4MDAxMjEwLCAweDU4MDAzQSwgMHgwMDAxNDUsCi0JMHg1QzVEMDQsIDB4MDAwMDA3LCAweDAwMDA4MCwgMHg0ODAwMUEsCi0JMHgwMDQ5MDQsIDB4MkRCMTg2LCAweDAwMDAwNywgMHgwMDEyMTAsCi0JMHg1MDAwM0EsIDB4MDA1OTA0LCAweDJFMDg4NiwgMHgwMDAwNDUsCi0JMHgwMDAwQzUsIDB4N0ZGRkY1LCAweDdGRkY3RCwgMHgwN0Q1MjQsCi0JMHgwMDQyMjQsIDB4NTAwMTAyLCAweDIwMDUwMiwgMHgwMDAwODIsCi0JMHg0MDAwMUEsIDB4MDA0MTA0LCAweDJFMzk4NiwgMHgwMDAwMDcsCi0JMHgwMDM4NjUsIDB4NDAwMDFBLCAweDAwNDAyMCwgMHgwMDEwNEQsCi0JMHgwNEMxODQsIDB4MzAxQjg2LCAweDAwMDA0MCwgMHgwNDAwMDcsCi0JMHgwMDAxNjUsIDB4MDAwMTQ1LCAweDAwNDAyMCwgMHgwMDAwNDAsCi0JMHgwMDA3NjUsIDB4MDgwMDgwLCAweDQwMDAxQSwgMHgwMDQxMDQsCi0JMHgyRUM5ODYsIDB4MDAwMDA3LCAweDAwMTIxMCwgMHg0MDAwM0EsCi0JMHgwMDQxMDQsIDB4MkYyMjg2LCAweDAwMDA0RCwgMHgwMDAwQ0QsCi0JMHgwMDQ4MTAsIDB4MjAwNDNBLCAweDAwMDg4MiwgMHg0MDAwMUEsCi0JMHgwMDQxMDQsIDB4MkYzMTg2LCAweDAwMDAwNywgMHgwMDQ4MjAsCi0JMHgwMDU5MDQsIDB4MzAwODg2LCAweDAwMDA0MCwgMHgwMDA3RTUsCi0JMHgyMDA0ODAsIDB4MjgxNkEwLCAweDMyMTZFMCwgMHgzQTE2RTAsCi0JMHg0MjE2RTAsIDB4MDIxMjYwLCAweDAwMDA0MCwgMHgwMDAwMzIsCi0JMHg0MDAwNzUsIDB4MDAwMDdELCAweDA3RDU3NCwgMHgyMDA1MTIsCi0JMHgwMDAwODIsIDB4NDAwMDFBLCAweDAwNDEwNCwgMHgyRkUxODYsCi0JMHgwMDAwMDcsIDB4MDM3MjA2LCAweDY0MDAwNywgMHgwNjAwMDcsCi0JMHgwMDAwRTUsIDB4MDAwMDIwLCAweDAwMDA0MCwgMHgwMDBBNjUsCi0JMHgwMDAwMjAsIDB4MDIwMDQwLCAweDAyMDA0MCwgMHgwMDAwNDAsCi0JMHgwMDAxNjUsIDB4MDAwMDQyLCAweDcwMDAwQSwgMHgwMDcxMDQsCi0JMHgzMEEyODYsIDB4MDAwMDA3LCAweDAxODIwNiwgMHg2NDAwMDcsCi0JMHgwNTAwMDAsIDB4MDA3MDIwLCAweDAwMDA0MCwgMHgwMzcyMDYsCi0JMHg2NDAwMDcsIDB4MDAwMDA3LCAweDAwMzA2RCwgMHgwMjg4NjAsCi0JMHgwMjkwNjAsIDB4MDgwMDBBLCAweDAyODg2MCwgMHgwMDgwNDAsCi0JMHgxMDAwMTIsIDB4MDAxMDBELCAweDAwOTE4NCwgMHgzMTQxODYsCi0JMHgwMDBFMEQsIDB4MDA5MTg0LCAweDMyNTE4NiwgMHgwMDAwMDcsCi0JMHgzMDAwMDcsIDB4MDAxMDIwLCAweDAwM0I2RCwgMHgwMDgwNDAsCi0JMHgwMDAwODAsIDB4MDgwMDFBLCAweDAwMDkwNCwgMHgzMTYxODYsCi0JMHgwMDAwMDcsIDB4MDAxMjIwLCAweDAwMERFRCwgMHgwMDgwNDAsCi0JMHgwMDgwNDIsIDB4MTAwMDBBLCAweDQwMDAwRCwgMHgxMDk1NDQsCi0JMHgwMDAwMDcsIDB4MDAxMDIwLCAweDAwMERFRCwgMHgwMDgwNDAsCi0JMHgwMDgwNDIsIDB4MjAwNDBBLCAweDAwMDA4MiwgMHgwODAwMUEsCi0JMHgwMDA5MDQsIDB4MzFGMTg2LCAweDAwMDAwNywgMHgwMDNCNkQsCi0JMHgwMDgwNDIsIDB4MDgwMDBBLCAweDAwMEUxNSwgMHgwMTA5ODQsCi0JMHgzMjlCODYsIDB4NjAwMDA3LCAweDA4MDAxQSwgMHgwMDBDMTUsCi0JMHgwMTA5ODQsIDB4MzI4Mzg2LCAweDAwMDAyMCwgMHgxQTAwMDcsCi0JMHgwMDAyRUQsIDB4MDA4MDQwLCAweDYyMDAwNywgMHgwMDMwNkQsCi0JMHgwMjgwNDIsIDB4MEE4MDRBLCAweDAwMDgyMCwgMHgwQTgwNEEsCi0JMHgwMDA2MDYsIDB4MTA4MDRBLCAweDAwMDAwNywgMHgyODI1MTIsCi0JMHgwMDFGMzIsIDB4MDVEMkY0LCAweDU0RDEwNCwgMHgwMDczNUMsCi0JMHgwMDA3ODYsIDB4MDAwMDA3LCAweDBDMDAwNywgMHgwQTAwMDcsCi0JMHgxQzAwMDcsIDB4MDAzNDY1LCAweDAyMDA0MCwgMHgwMDQ4MjAsCi0JMHgwMjUwNjAsIDB4NDAwMDBBLCAweDAyNDA2MCwgMHgwMDAwNDAsCi0JMHg0NTQ5NDQsIDB4MDAwMDA3LCAweDAwNDAyMCwgMHgwMDNBRTUsCi0JMHgwMDAwNDAsIDB4MDAyOEU1LCAweDAwMDA0MiwgMHg0ODAwMEEsCi0JMHgwMDQ5MDQsIDB4Mzg2ODg2LCAweDAwMkM2NSwgMHgwMDAwNDIsCi0JMHg0MDAwMEEsIDB4MDAwMEQ1LCAweDQ1NDEwNCwgMHgwMDAwMDcsCi0JMHgwMDA2NTUsIDB4MDU0NTA0LCAweDM0RjI4NiwgMHgwMDAxRDUsCi0JMHgwNTQ1MDQsIDB4MzRGMDg2LCAweDAwMkI2NSwgMHgwMDAwNDIsCi0JMHgwMDNBRTUsIDB4NTAwMDRBLCAweDQwMDAwQSwgMHg0NUMzRDQsCi0JMHgwMDAwMDcsIDB4NDU0NTA0LCAweDAwMDAwNywgMHgwMDAwQ0QsCi0JMHg0NDQ5NDQsIDB4MDAwMDA3LCAweDQ1NDUwNCwgMHgwMDAwMDcsCi0JMHgwMDAxNEQsIDB4NTU0OTQ0LCAweDAwMDAwNywgMHgwNDUxNDQsCi0JMHgzNEU5ODYsIDB4MDAyQzY1LCAweDAwMDA0MiwgMHg0ODAwMEEsCi0JMHg0Q0QxMDQsIDB4MDAwMDA3LCAweDA0QzE0NCwgMHgzNEYzODYsCi0JMHgwMDAwMDcsIDB4MTYwMDA3LCAweDAwMkNFNSwgMHgwNDAwNDIsCi0JMHg0MDAwMEEsIDB4MDA0MDIwLCAweDAwMDA0MCwgMHgwMDI5NjUsCi0JMHgwMDAwNDIsIDB4NDAwMDBBLCAweDAwNDEwNCwgMHgzNTYwODYsCi0JMHgwMDAwMDcsIDB4MDAyNDAyLCAweDM2QTIwNiwgMHgwMDVDMDIsCi0JMHgwMDI1RTUsIDB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQyNzQsCi0JMHgwMDJBRTUsIDB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQyNzQsCi0JMHg1MDAxMTIsIDB4MDAyOUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQyMzQsIDB4NDU0MTA0LCAweDAwMDAwNywgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4MDAzRUU1LCAweDAwMDAyMCwgMHgwMDAwNDAsCi0JMHgwMDJERTUsIDB4NDAwMTUyLCAweDUwMDAwQSwgMHgwNDUxNDQsCi0JMHgzNjRBODYsIDB4MDAwMEM1LCAweDAwM0VFNSwgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4MDAyQkU1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHg0MDQyNTQsIDB4MDAwMDA3LCAweDAwMkFFNSwgMHgwMDQwMjAsCi0JMHgwMDAwNDAsIDB4NTAwMTMyLCAweDA0MDEzNCwgMHgwMDU2NzQsCi0JMHgwMDI5RTUsIDB4MDIwMDQyLCAweDQyMDAwQSwgMHgwMDAwNDIsCi0JMHg1MDAwMEEsIDB4MDU0MTdDLCAweDAwMjhFNSwgMHgwMDAwNDIsCi0JMHg0ODAwMEEsIDB4MDAwMEM1LCAweDRDQzE0NCwgMHgzNzEwODYsCi0JMHgwMDI2RTUsIDB4MDAyN0U1LCAweDAyMDA0MiwgMHg0MDAwNEEsCi0JMHg1MDAwMEEsIDB4MDA0MjNDLCAweDAwNTY3QywgMHgwMDI4RTUsCi0JMHgwMDQ4MjAsIDB4MDAwMDQwLCAweDI4MUQxMiwgMHgyODI1MTIsCi0JMHgwMDFGNzIsIDB4MDAyOTY1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQxMDQsIDB4MzdBQTg2LCAweDBFMDAwNywgMHgxNjAwMDcsCi0JMHgxRTAwMDcsIDB4MDAzRUU1LCAweDAwMDA0MiwgMHg0MDAwMEEsCi0JMHgwMDQxMDQsIDB4MzdFODg2LCAweDAwMkQ2NSwgMHgwMDAwNDIsCi0JMHgyODM0MEEsIDB4MDAzNDY1LCAweDAyMDA0MiwgMHg0MjAwNEEsCi0JMHgwMDQwMjAsIDB4NEEwMDRBLCAweDUwMDA0QSwgMHgwNUQyRjQsCi0JMHg1NEQxMDQsIDB4MDA3MzVDLCAweDM4NTE4NiwgMHgwMDAwMDcsCi0JMHgwMDA2MDYsIDB4MDgwMDA3LCAweDBDMDAwNywgMHgwODAwMDcsCi0JMHgwQTAwMDcsIDB4MDAwMUU1LCAweDAyMDA0NSwgMHgwMDQwMjAsCi0JMHgwMDAwNjAsIDB4MDAwMzY1LCAweDAwMDA0MCwgMHgwMDJFNjUsCi0JMHgwMDFBMjAsIDB4MEExQTYwLCAweDAwMDA0MCwgMHgwMDM0NjUsCi0JMHgwMjAwNDIsIDB4NDIwMDRBLCAweDAwNDAyMCwgMHg0QTAwNEEsCi0JMHgwMDA2MDYsIDB4NTAwMDRBLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsCi0JMHgwMDAwMDAsIDB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAKLX07Ci0KLS8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0vLyAgRFMtMUUgQ29udHJvbGxlciBJbnN0cnVjdGlvblJBTSBDb2RlCi0vLwkxOTk5LzA2LzIxCi0vLwlCdWY0NDEgc2xvdCBpcyBFbmFibGVkLgotLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS8vIDA0LzA5ICBjcmVhdAotLy8gMDQvMTIgIHN0b3AgbmlzZSBmaXgKLS8vIDA2LzIxICBXb3JraW5nT2ZmIHRpbW1pbmcKLXN0YXRpYyB1MzIgQ250cmxJbnN0MUVbWURTWEdfQ1RSTExFTkdUSCAvIDRdID0gewotCTB4MDAwMDA3LCAweDI0MDAwNywgMHgwQzAwMDcsIDB4MUMwMDA3LAotCTB4MDYwMDA3LCAweDcwMDAwMiwgMHgwMDAwMjAsIDB4MDMwMDQwLAotCTB4MDA3MTA0LCAweDAwNDI4NiwgMHgwMzAwNDAsIDB4MDAwRjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDAyODIsIDB4MDAwMjBELAotCTB4MDAwODEwLCAweDIwMDQzQSwgMHgwMDEyODIsIDB4MjAwRTgyLAotCTB4MDA4MDBELCAweDAwMDgxMCwgMHgyMDA0M0EsIDB4MDAxQTgyLAotCTB4MDM0NjBELCAweDAwMDgxMCwgMHgxMDA0M0EsIDB4MDJFQzBELAotCTB4MDAwODEwLCAweDE4MDQzQSwgMHgwMDAxMEQsIDB4MDIwMDE1LAotCTB4MDAwMEZELCAweDAwMDAyMCwgMHgwMzg4NjAsIDB4MDM5MDYwLAotCTB4MDM4MDYwLCAweDAzODA0MCwgMHgwMzgwNDAsIDB4MDM4MDQwLAotCTB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDAsIDB4MDM4MDQwLAotCTB4MDE4MDQwLCAweDIwMDQwMiwgMHgwMDA4ODIsIDB4MDgwMDFBLAotCTB4MDAwOTA0LCAweDAxNzE4NiwgMHgwMDAwMDcsIDB4MjYwMDA3LAotCTB4NDAwMDA3LCAweDAwMDAwNywgMHgwMzI1OEQsIDB4MDAwODEwLAotCTB4MTgwNDNBLCAweDI2MDAwNywgMHgyODQ0MDIsIDB4MDAwODdELAotCTB4MDE4MDQyLCAweDAwMTYwQSwgMHgwNUEyMDYsIDB4MDAwMDA3LAotCTB4NDQwMDA3LCAweDAwMjMwRCwgMHgwMDA4MTAsIDB4MDgwNDNBLAotCTB4MjJGQTA2LCAweDAwMDAwNywgMHgwMDA3RkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwMkFCODYsIDB4MDAwMTk1LAotCTB4MDkwRDA0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDAwMEY1LAotCTB4MDAwQjdELCAweDAxRjA2MCwgMHgwMDAwRkQsIDB4MDMzQTA2LAotCTB4MDE4MDQwLCAweDAwMEE3RCwgMHgwMzgwNDIsIDB4MTM4MDRBLAotCTB4MTgwMDBBLCAweDAwMTgyMCwgMHgwNTkwNjAsIDB4MDU4ODYwLAotCTB4MDE4MDQwLCAweDAwMDBGRCwgMHgwMTgwNDIsIDB4NzAwMDBBLAotCTB4MDAwMTE1LCAweDA3MTE0NCwgMHgwMzNCODYsIDB4MDMwMDAwLAotCTB4MDA3MDIwLCAweDAzNjIwNiwgMHgwMTgwNDAsIDB4MDAzNjBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyMzIyMDYsIDB4MDAwMDA3LAotCTB4MDJFQzBELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDE5QTA2LAotCTB4MDAwMDA3LCAweDI0MDAwNywgMHgwMDBGOEQsIDB4MDAwODEwLAotCTB4MDAxNjNBLCAweDAwMjQwMiwgMHgwMDVDMDIsIDB4MDAyOEZELAotCTB4MDAwMDIwLCAweDAxODA0MCwgMHgwODAwMEQsIDB4MDAwODE1LAotCTB4NTEwOTg0LCAweDAwMDAwNywgMHgwMDAwNEQsIDB4MDAwRTVELAotCTB4MDAwRTAyLCAweDAwNDMwRCwgMHgwMDA4MTAsIDB4MDgwNDNBLAotCTB4MkUxMjA2LCAweDAwMDAwNywgMHgwMDAwOEQsIDB4MDAwOTI0LAotCTB4MDAwRjAyLCAweDAwNDcwRCwgMHgwMDA4MTAsIDB4MDgwNDNBLAotCTB4MkUxMjA2LCAweDAwMDAwNywgMHg0ODA0ODAsIDB4MDAxMjEwLAotCTB4MjgwNDNBLCAweDAwNzc4RCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDAwNjhELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4Mjg0NDAyLAotCTB4MDMyNThELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDdGRjhELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjYwMDA3LAotCTB4MjAwMDA3LCAweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDA1MTI4NiwgMHgwMDAwMDcsIDB4MjQwMDA3LAotCTB4MDJFQzBELCAweDAwMDgxMCwgMHgxODA0M0EsIDB4MDAzODdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDEwMTUsIDB4MDEwOTg0LAotCTB4MDE5Qjg2LCAweDAwMDAwNywgMHgwMUIyMDYsIDB4MDAwMDA3LAotCTB4MDAwOEZELCAweDAxODA0MiwgMHgxODAwMEEsIDB4MDAxOTA0LAotCTB4MjJCODg2LCAweDI4MDAwNywgMHgwMDE4MTAsIDB4MjgwNDNBLAotCTB4MjgwQzAyLCAweDAwMDAwRCwgMHgwMDA4MTAsIDB4MjgxNDNBLAotCTB4MDg4MDhELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMDIwRCwgMHgxODk5MDQsIDB4MDAwMDA3LAotCTB4MDA0MDJELCAweDAwMDBCRCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwNjVBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDAwMEEyMCwgMHgwMDA0N0QsIDB4MDE4MDQwLAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMDMwMTUsIDB4MDEyMTQ0LAotCTB4MDM2MTg2LCAweDAwMDAwNywgMHgwMDIxMDQsIDB4MDM2MTg2LAotCTB4MDAwMDA3LCAweDAwMEY4RCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDIzOTQ0LCAweDA3Qzk4NiwgMHgwMDAwMDcsIDB4MDAxODEwLAotCTB4MjgwNDNBLCAweDA4ODEwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDI4MTAsIDB4NzgwMDNBLAotCTB4MDA3ODhELCAweDAwMDgxMCwgMHgwODA0M0EsIDB4MkExMjA2LAotCTB4MDAwMDA3LCAweDAwNDAwRCwgMHgwMDEwMTUsIDB4MTg5OTA0LAotCTB4MjkyOTA0LCAweDM5MzkwNCwgMHgwMDAwMDcsIDB4MDcwMjA2LAotCTB4MDAwMDA3LCAweDAwMDRGNSwgMHgwMDAwN0QsIDB4MDAwMDIwLAotCTB4MDAwMDhELCAweDAxMDg2MCwgMHgwMTgwNDAsIDB4MDAwNDdELAotCTB4MDM4MDQyLCAweDIxODA0QSwgMHgxODAwMEEsIDB4MDIxOTQ0LAotCTB4MjI5MDg2LCAweDAwMDAwNywgMHgwMDQwNzUsIDB4NzFGMTA0LAotCTB4MDAwMDA3LCAweDAxMDA0MiwgMHgyODAwMEEsIDB4MDAyOTA0LAotCTB4MjI1ODg2LCAweDAwMDAwNywgMHgwMDNDMEQsIDB4MzBBOTA0LAotCTB4MDAwMDA3LCAweDAwMDc3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDA4REE4NiwgMHgwMDA1N0QsIDB4MDAyODIwLAotCTB4MDNCMDYwLCAweDA4RjIwNiwgMHgwMTgwNDAsIDB4MDAzMDIwLAotCTB4MDNBODYwLCAweDAxODA0MCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgwOEZBODYsIDB4MDAwMDA3LAotCTB4MDAwNTdELCAweDAxODA0MiwgMHgyODA0MEEsIDB4MDAwRThELAotCTB4MDAwODEwLCAweDI4MEMzQSwgMHgwMDAwMEQsIDB4MDAwODEwLAotCTB4MjgxNDNBLCAweDA5MDAwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDNERkQsIDB4MDAwMDIwLAotCTB4MDE4MDQwLCAweDAwMTA3RCwgMHgwMDlEOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJBMTIwNiwgMHgwMDAwMDcsIDB4MDAwODE1LAotCTB4MDgwMDFBLCAweDAxMDk4NCwgMHgwQTUxODYsIDB4MDAxMzdELAotCTB4MjAwNTAwLCAweDI4MEYyMCwgMHgzMzhGNjAsIDB4M0I4RjYwLAotCTB4NDM4RjYwLCAweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLAotCTB4MDM4QTYwLCAweDAxODA0MCwgMHgwMDEwN0QsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDIxNSwgMHgwMTA5ODQsIDB4M0E4MTg2LAotCTB4MDAwMDA3LCAweDAwN0ZCRCwgMHgzODNEQzQsIDB4MDAwMDA3LAotCTB4MDAxQTdELCAweDAwMTM3NSwgMHgwMTgwNDIsIDB4MDkwMDRBLAotCTB4MTAwMDBBLCAweDBCOEQwNCwgMHgxMzk1MDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAxOTA2MCwgMHgwMDExMDQsIDB4MjI1ODg2LAotCTB4MDEwMDQwLCAweDAwMTdGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDIyNUE4NiwgMHgwMDAwMDcsIDB4MDAxOTdELAotCTB4MDM4MDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDAwOTI0LAotCTB4MDAxNjY0LCAweDAwMTFGRCwgMHgwMzgwNDIsIDB4MkI4MDRBLAotCTB4MTk4MDRBLCAweDAwMDA4RCwgMHgyMTg5NDQsIDB4MDAwMDA3LAotCTB4MDAyMjQ0LCAweDBDMTk4NiwgMHgwMDAwMDcsIDB4MDAxQTY0LAotCTB4MDAyQTI0LCAweDAwMTk3RCwgMHgwODAxMDIsIDB4MTAwMTIyLAotCTB4MDAwODIwLCAweDAzOTA2MCwgMHgwMTgwNDAsIDB4MDAzREZELAotCTB4MDAwMDhELCAweDAwMDgyMCwgMHgwMTgwNDAsIDB4MDAxMzc1LAotCTB4MDAxQTdELCAweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDAwMjFELCAweDAxODlFNCwgMHgyOTkyRTQsIDB4MzA5MTQ0LAotCTB4MDAwMDA3LCAweDAwMDYwRCwgMHgwMDBBMTUsIDB4MDAwQzFELAotCTB4MDAxMDI1LCAweDAwQTlFNCwgMHgwMTJCRTQsIDB4MDAwNDY0LAotCTB4MDFCM0U0LCAweDAyMzJFNCwgMHgwMDA0NjQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDA0MEQsIDB4MDhCMUM0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMDBCRjUsIDB4MDMwMDQwLAotCTB4MDAxOTdELCAweDAzODA0MiwgMHgwOTgwNEEsIDB4MDAwQTI0LAotCTB4MDgwMDBBLCAweDA4MEU2NCwgMHgwMDAwMDcsIDB4MTAwMTIyLAotCTB4MDAwODIwLCAweDAzMTA2MCwgMHgwMTAwNDAsIDB4MDA2NEFDLAotCTB4MDAwMjdELCAweDAwMDAyMCwgMHgwMTgwNDAsIDB4MDAxMDdELAotCTB4MDE4MDQyLCAweDAwMTFGRCwgMHgzQjgwNEEsIDB4MDk4MDRBLAotCTB4MjAwMDBBLCAweDAwMDA5NSwgMHgxQTExNDQsIDB4MDBBMTQ0LAotCTB4MEU1ODg2LCAweDAwMDQwRCwgMHgwMEI5ODQsIDB4MEU1OTg2LAotCTB4MDAxOEZELCAweDAxODA0MiwgMHgwMDEwRkQsIDB4MDk4MDRBLAotCTB4MjgwMDBBLCAweDAwMDA5NSwgMHgwMTA5MjQsIDB4MDAyQTY0LAotCTB4MEU0OTg2LCAweDAwMDAwNywgMHgwMDI5MDQsIDB4MEU1QTg2LAotCTB4MDAwMDA3LCAweDBFNjIwNiwgMHgwODAwMDIsIDB4MDAwMDhELAotCTB4MDAzODdELCAweDAwMDgyMCwgMHgwMTgwNDAsIDB4MDAxMjdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDM5MDQsIDB4MEYwOTg2LAotCTB4MDAwODBELCAweDdGRkZCNSwgMHgwMEI5ODQsIDB4MEVEOTg2LAotCTB4MDAwMDI1LCAweDBGQjIwNiwgMHgwMDAwMkQsIDB4MDAwMDE1LAotCTB4MDAwODJELCAweDAyRTAwRCwgMHgwMDA4MjAsIDB4MEZGQTA2LAotCTB4MDAwMDBELCAweDdGODAzNSwgMHgwMEI5ODQsIDB4MEZBOTg2LAotCTB4NDAwMDI1LCAweDAwMDA4RCwgMHgxMTA5NDQsIDB4MDAwMDA3LAotCTB4MDAwMThELCAweDEwOTUwNCwgMHgwMDAwMDcsIDB4MDA5MTY0LAotCTB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDA0MjQsIDB4MTAwMTAyLAotCTB4MjgwMDAyLCAweDAyREYwRCwgMHgwMDA4MjAsIDB4MEZGQTA2LAotCTB4MDAwMThELCAweDAwMDQyRCwgMHgwMDAwOEQsIDB4MTA5NTA0LAotCTB4MDAwMDA3LCAweDAwMDIwRCwgMHgxMDkxODQsIDB4MDAwMDA3LAotCTB4MDJERjhELCAweDAwMDgyMCwgMHgwMDAwOEQsIDB4MDAzOEZELAotCTB4MDE4MDQwLCAweDAwM0JGRCwgMHgwMDEwMjAsIDB4MDNBODYwLAotCTB4MDAwODE1LCAweDMxMzE4NCwgMHgyMTIxODQsIDB4MDAwMDA3LAotCTB4MDNCMDYwLCAweDAzQTA2MCwgMHgwMTgwNDAsIDB4MDAyMkZELAotCTB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAxMjY0LCAweDEwMDEwMiwgMHgwMDA4MjAsIDB4MDM5MDYwLAotCTB4MDE4MDQwLCAweDAwMTkyNCwgMHgwMTBGMEQsIDB4MDAzOTdELAotCTB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLAotCTB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAxMTdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwQTI0LAotCTB4MjgwNTAyLCAweDI4MEMwMiwgMHgwOTgwMEQsIDB4MDAwODIwLAotCTB4MDAwMkZELCAweDAxODA0MCwgMHgyMDAwMDcsIDB4MDAyMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDAwOTUsIDB4MjgwREM0LAotCTB4MDExOTI0LCAweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDAxMUZELAotCTB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDAwQjUsIDB4MTEzMTQ0LAotCTB4MEE4RDA0LCAweDAwMDAwNywgMHgwODBBNDQsIDB4MTI5NTA0LAotCTB4MDAwMDA3LCAweDAwMjNGRCwgMHgwMDEwMjAsIDB4MDM4MDQwLAotCTB4MTAxMjQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDM5MDYwLAotCTB4MDE4MDQwLCAweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDEyMzI4NiwgMHgwMDAwMDcsIDB4MDAzQkZELAotCTB4MDAwMTAwLCAweDAwMEExMCwgMHgwQjgwN0EsIDB4MTM4MDRBLAotCTB4MDkwOTg0LCAweDAwMDAwNywgMHgwMDAwOTUsIDB4MDEzRDA0LAotCTB4MTJCODg2LCAweDEwMDAwQSwgMHgxMDAwMDIsIDB4MDkwOTg0LAotCTB4MDAwMDA3LCAweDAzODA0MiwgMHgxMTgwNEEsIDB4MDkwRDA0LAotCTB4MDAwMDA3LCAweDEwMDAwQSwgMHgwOTBEODQsIDB4MDAwMDA3LAotCTB4MDAyNTdELCAweDAwMDgyMCwgMHgwMTgwNDAsIDB4MDAwMTBELAotCTB4MDAwODEwLCAweDI4MTQzQSwgMHgwMDEyN0QsIDB4MDE4MDQyLAotCTB4MjAwMDBBLCAweDAwMTk3RCwgMHgwMTgwNDIsIDB4MDAxMTdELAotCTB4MzE4MDRBLCAweDEwMDAwQSwgMHgwMDMxMjQsIDB4MDEzQjhELAotCTB4MDAzOTdELCAweDAwMDgyMCwgMHgwNTgwNDAsIDB4MDM4MDQyLAotCTB4MDk4NDRBLCAweDAwMDYwNiwgMHgwODA0MEEsIDB4MzAwMTAyLAotCTB4MDAzMTI0LCAweDAwMDQyNCwgMHgwMDA0MjQsIDB4MDAxMjI0LAotCTB4MjgwNTAyLCAweDAwMUE0QywgMHgxNDM5ODYsIDB4NzAwMDAyLAotCTB4MDAwMDJELCAweDAzMDAwMCwgMHgwMDM4N0QsIDB4MDE4MDQyLAotCTB4MTAwMDBBLCAweDE0NjIwNiwgMHgwMDIxMjQsIDB4MDAwMEFELAotCTB4MTAwMDAyLCAweDAwMDEwRCwgMHgwMDA5MjQsIDB4MDA2QjI0LAotCTB4MDE0QTBELCAweDAwMzk3RCwgMHgwMDA4MjAsIDB4MDU4MDQwLAotCTB4MDM4MDQyLCAweDA5ODQ0QSwgMHgwMDA2MDYsIDB4MDgwNDBBLAotCTB4MDAzMjY0LCAweDAwMDA4RCwgMHgwMDBBMjQsIDB4MDAxMDIwLAotCTB4MDAyMjdELCAweDAxODA0MCwgMHgwMTRGOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJCNUEwNiwgMHgwMDAwMDcsIDB4MDAyODIwLAotCTB4MDAyMDdELCAweDAxODA0MCwgMHgwMDExN0QsIDB4MDM4MDQyLAotCTB4MTM4MDRBLCAweDMzODAwQSwgMHgwMDM4N0QsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNzcyODYsIDB4MDAwMDA3LAotCTB4MDAwMDhELCAweDAzMDk2NCwgMHgwMTVCMEQsIDB4MDAzOTdELAotCTB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLAotCTB4MDAwNjA2LCAweDA4MDQwQSwgMHgzODAxMDIsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMTIyNCwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgxNURBODYsIDB4MDAwMDA3LAotCTB4MjgwNTAyLCAweDAwMUE0QywgMHgxNzcxODYsIDB4MDAwMDA3LAotCTB4MDMyMTY0LCAweDAwNjMyQywgMHgwMDNERkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDA5NSwgMHgwOTA5MDQsIDB4MDAwMDA3LAotCTB4MDAwODIwLCAweDAwMUE0QywgMHgxNjk5ODYsIDB4MDE4MDQwLAotCTB4MDMwMDAwLCAweDE2QjIwNiwgMHgwMDIxMjQsIDB4MDAwMTBELAotCTB4MDAwOTI0LCAweDAwNkIyNCwgMHgwMTZGMEQsIDB4MDAzOTdELAotCTB4MDAwODIwLCAweDA1ODA0MCwgMHgwMzgwNDIsIDB4MDk4NDRBLAotCTB4MDAwNjA2LCAweDA4MDQwQSwgMHgwMDNBNjQsIDB4MDAwMDk1LAotCTB4MDAxMjI0LCAweDAwMDJGRCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDE3MTI4NiwgMHgwMDAwMDcsIDB4MDE3NjBELAotCTB4MDAwODEwLCAweDA4MDQzQSwgMHgyQjVBMDYsIDB4MDAwMDA3LAotCTB4MTYwQTA2LCAweDAwMDAwNywgMHgwMDcwMjAsIDB4MDgwMTBBLAotCTB4MTAwMTJBLCAweDAwMjBGRCwgMHgwMzg4NjAsIDB4MDM5MDYwLAotCTB4MDE4MDQwLCAweDAwMjI3RCwgMHgwMTgwNDIsIDB4MDAzREZELAotCTB4MDgwMDBBLCAweDMxODQ0QSwgMHgwMDA5MDQsIDB4MTgxMDg2LAotCTB4MTgwMDhCLCAweDAwMDA4RCwgMHgxODk5MDQsIDB4MDAzMTJDLAotCTB4MThFMjA2LCAweDAwMDAwNywgMHgwMDMyNEMsIDB4MTg2Qjg2LAotCTB4MDAwMDA3LCAweDAwMTkwNCwgMHgxODY4ODYsIDB4MDAwMDA3LAotCTB4MDAwMDk1LCAweDE5OTE0NCwgMHgwMDIyMkMsIDB4MDAzMTI0LAotCTB4MDA2MzZDLCAweDAwMEUzRCwgMHgwMDEzNzUsIDB4MDAwQkZELAotCTB4MDEwMDQyLCAweDA5ODA0QSwgMHgxMDAwMEEsIDB4MDM4QUVDLAotCTB4MDM5M0VDLCAweDAwMjI0QywgMHgxOEUxODYsIDB4MDAwMDA3LAotCTB4MDAwMDhELCAweDE4OTkwNCwgMHgwMDIyNkMsIDB4MDAzMjJDLAotCTB4MzAwNTBBLCAweDMwMURBQiwgMHgwMDIwODMsIDB4MDAxOEZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMTg5MjQsIDB4MzAwNTAyLAotCTB4MDAxMDgzLCAweDAwMTg3NSwgMHgwMTAwNDIsIDB4MTAwMDBBLAotCTB4MDAwMDhELCAweDAxMDkyNCwgMHgwMDEzNzUsIDB4MzMwNTQyLAotCTB4MzMwQ0NCLCAweDMzMkNDQiwgMHgzMzM0Q0IsIDB4MzMzQ0NCLAotCTB4MzM0NENCLCAweDMzNENDQiwgMHgzMzU0Q0IsIDB4MzA1QzhCLAotCTB4MDA2MDgzLCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDE5QjI4NiwgMHgwMDAwMDcsIDB4MDAxRTJELAotCTB4MDAwNUZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDI4OTI0LAotCTB4MjgwNTAyLCAweDAwMDYwRCwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MDAwMDhELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4MEE4MDhELAotCTB4MDAwODIwLCAweDAwMDJGNSwgMHgwMTAwNDAsIDB4MjIwMDA3LAotCTB4MDAxMjc1LCAweDAzMDA0MiwgMHgyMTAwNEEsIDB4MDAwMDhELAotCTB4MUEwOTQ0LCAweDAwMDAwNywgMHgwMUFCOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDQUEwNiwgMHgwMDAwMDcsIDB4MDAwMUY1LAotCTB4MDMwMDQyLCAweDBEMDA0QSwgMHgxMDAwMEEsIDB4MDg5MTQ0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAyNUY1LAotCTB4MEEzMTQ0LCAweDAwMDAwNywgMHgwMDA4MjAsIDB4MDMyODYwLAotCTB4MDMwMDQwLCAweDAwMjE3RCwgMHgwMzgwNDIsIDB4MEI4MDRBLAotCTB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDAwMDhELCAweDAwMDEyNCwgMHgwMDAxMkMsIDB4MDAwRTY0LAotCTB4MDAxQTY0LCAweDAwNjM2QywgMHgwODAxMEEsIDB4MTAwMTJBLAotCTB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsIDB4MDAyMEZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDIyN0QsIDB4MDE4MDQyLAotCTB4MTAwMDBBLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDMwMDQwLAotCTB4MDAxOTdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAyMkZELAotCTB4MDM4MDQyLCAweDEwMDAwQSwgMHgwMDA4MjAsIDB4MDMxMDYwLAotCTB4MDMwMDQwLCAweDA5MEQwNCwgMHgwMDAwMDcsIDB4MDAwODIwLAotCTB4MDMwMDQwLCAweDAzODA0MiwgMHgwQjgwNEEsIDB4MTAwMDBBLAotCTB4MDAwODIwLCAweDAzMTA2MCwgMHgwMzAwNDAsIDB4MDM4MDQyLAotCTB4MTM4MDRBLCAweDE5ODA0QSwgMHgxMTBEMDQsIDB4MTk4RDA0LAotCTB4MDAwMDA3LCAweDA4MDAwQSwgMHgwMDEwMjAsIDB4MDMxODYwLAotCTB4MDMwODYwLCAweDAzMDA0MCwgMHgwMDAwOEQsIDB4MEIwOTQ0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTAwNDAsIDB4MDAwNUY1LAotCTB4MDMwMDQyLCAweDA4MDAwQSwgMHgwMDA4MjAsIDB4MDEwMDQwLAotCTB4MDAwMEY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MUQ5ODg2LCAweDAwMUU3NSwgMHgwMzAwNDIsIDB4MDEwNDRBLAotCTB4MDAwQzBBLCAweDFEQUEwNiwgMHgwMDAwMDcsIDB4MDAwNDAyLAotCTB4MDAwQzAyLCAweDAwMTc3RCwgMHgwMDFBRjUsIDB4MDE4MDQyLAotCTB4MDMxNDRBLCAweDAzMUM0QSwgMHgwMzI0NEEsIDB4MDMyQzRBLAotCTB4MDMzNDRBLCAweDAzM0M0QSwgMHgwMzQ0NEEsIDB4MDA0QzBBLAotCTB4MDAwNDNELCAweDAwMTNGNSwgMHgwMDFBRkQsIDB4MDMwMDQyLAotCTB4MEIwMDRBLCAweDFCODA0QSwgMHgxMzgwNEEsIDB4MjAwMDBBLAotCTB4MDg5MTQ0LCAweDE5QTE0NCwgMHgwMzg5RTQsIDB4MDM5OUVDLAotCTB4MDA1NTAyLCAweDAwNUQwQSwgMHgwMzAwNDIsIDB4MEIwMDRBLAotCTB4MUI4MDRBLCAweDEzODA0QSwgMHgyMDAwMEEsIDB4MDg5MTQ0LAotCTB4MTlBMTQ0LCAweDAzODlFNCwgMHgwMzk5RUMsIDB4MDA2NTAyLAotCTB4MDA2RDBBLCAweDAzMDA0MiwgMHgwQjAwNEEsIDB4MTkwMDRBLAotCTB4MkI4MDRBLCAweDEzODA0QSwgMHgyMTgwNEEsIDB4MzAwMDBBLAotCTB4MDg5MTQ0LCAweDE5QTE0NCwgMHgyQUIxNDQsIDB4MDM4OUU0LAotCTB4MDM5OUVDLCAweDAwNzUwMiwgMHgwMDdEMEEsIDB4MDNBOUU0LAotCTB4MDAwNzAyLCAweDAwMTA3RCwgMHgwMDA0MTUsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAxMDlFNCwgMHgwMDBGMDIsIDB4MDAyQUY1LAotCTB4MDAxOUZELCAweDAxMDA0MiwgMHgwOTgwNEEsIDB4MTAwMDBBLAotCTB4MDAwOTM0LCAweDAwMTY3NCwgMHgwMDI5RjUsIDB4MDEwMDQyLAotCTB4MTAwMDBBLCAweDAwOTE3QywgMHgwMDIwNzUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyMDBBODYsIDB4MDAyNkY1LAotCTB4MDAyN0Y1LCAweDAzMDA0MiwgMHgwOTAwNEEsIDB4MTAwMDBBLAotCTB4MDAwQTNDLCAweDAwMTY3QywgMHgwMDFBNzUsIDB4MDAwQkZELAotCTB4MDEwMDQyLCAweDUxODA0QSwgMHg0ODAwMEEsIDB4MTYwMDA3LAotCTB4MDAxMDc1LCAweDAxMDA0MiwgMHgyODJDMEEsIDB4MjgxRDEyLAotCTB4MjgyNTEyLCAweDAwMUYzMiwgMHgxRTAwMDcsIDB4MEUwMDA3LAotCTB4MDAxOTc1LCAweDAxMDA0MiwgMHgwMDJERjUsIDB4MEQwMDRBLAotCTB4MTAwMDBBLCAweDAwOTE0NCwgMHgyMEVBODYsIDB4MDEwMDQyLAotCTB4MjgzNDBBLCAweDAwMEU1RCwgMHgwMDAwOEQsIDB4MDAwMzc1LAotCTB4MDAwODIwLCAweDAxMDA0MCwgMHgwNUQyRjQsIDB4NTREMTA0LAotCTB4MDA3MzVDLCAweDIxOEI4NiwgMHgwMDAwMDcsIDB4MEMwMDA3LAotCTB4MDgwMDA3LCAweDBBMDAwNywgMHgwMjE3OEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDM0QjIwNiwgMHgwMDAwMDcsIDB4MjE5MjA2LAotCTB4MDAwMDA3LCAweDA4MDAwNywgMHgwMDIyNzUsIDB4MDEwMDQyLAotCTB4MjAwMDBBLCAweDAwMjEwNCwgMHgyMjU4ODYsIDB4MDAxRTJELAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjFDQTg2LCAweDAwMDAwNywgMHgwMDIwMTAsIDB4MzAwNDNBLAotCTB4MDAwNTdELCAweDAxODBDMywgMHgwODAwMEEsIDB4MDI4OTI0LAotCTB4MjgwNTAyLCAweDI4MEMwMiwgMHgwQTgxMEQsIDB4MDAwODIwLAotCTB4MDAwMkY1LCAweDAxMDA0MCwgMHgyMjAwMDcsIDB4MDAwNEZELAotCTB4MDE4MDQyLCAweDcwMDAwQSwgMHgwMzAwMDAsIDB4MDA3MDIwLAotCTB4MDdGQTA2LCAweDAxODA0MCwgMHgwMjJCOEQsIDB4MDAwODEwLAotCTB4MDgwNDNBLCAweDJDQUEwNiwgMHgwMDAwMDcsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjJDMjg2LAotCTB4MDAwMDA3LCAweDAyMDIwNiwgMHgwMDAwMDcsIDB4MDAwODc1LAotCTB4MDAwOUZELCAweDAwMDEwRCwgMHgyMzQyMDYsIDB4MDAwMjk1LAotCTB4MDAwQjc1LCAweDAwMDk3RCwgMHgwMDAwMEQsIDB4MDAwNTE1LAotCTB4MDEwMDQyLCAweDE4MDAwQSwgMHgwMDE5MDQsIDB4MkEwMDg2LAotCTB4MDAwNkY1LCAweDAwMTAyMCwgMHgwMTAwNDAsIDB4MDAwNEY1LAotCTB4MDAwODIwLCAweDAxMDA0MCwgMHgwMDA3NzUsIDB4MDEwMDQyLAotCTB4MDk4MDRBLCAweDEwMDAwQSwgMHgwMDExMjQsIDB4MDAwOTA0LAotCTB4MjNGMjg2LCAweDAwMDgxNSwgMHgwODAxMDIsIDB4MTAxMjA0LAotCTB4MjQxMjA2LCAweDAwMDU3NSwgMHgwODEyMDQsIDB4MDAwMDA3LAotCTB4MTAwMTAyLCAweDAwMDU3NSwgMHgwMDA0MjUsIDB4MDIxMTI0LAotCTB4MTAwMTAyLCAweDAwMDgyMCwgMHgwMzEwNjAsIDB4MDEwMDQwLAotCTB4MDAxOTI0LCAweDJBMDA4NiwgMHgwMDAwOEQsIDB4MDAwNDY0LAotCTB4MDA5RDA0LCAweDI5MTA4NiwgMHgxODAxMDIsIDB4MDAwNTc1LAotCTB4MDEwMDQyLCAweDI4MDQwQSwgMHgwMDAxOEQsIDB4MDAwOTI0LAotCTB4MjgwRDAyLCAweDAwMDAwRCwgMHgwMDA5MjQsIDB4MjgxNTAyLAotCTB4MTAwMDBELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MjAwMDA3LCAweDAwMTE3NSwgMHgwMDAyRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyNEZBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDA4MEIyMCwgMHgxMzBCNjAsIDB4MUIwQjYwLAotCTB4MDMwQTYwLCAweDAxMDA0MCwgMHgwNTAwNDIsIDB4M0QwMDRBLAotCTB4MzUwMDRBLCAweDJEMDA0QSwgMHgyMDAwMEEsIDB4MDAwNkY1LAotCTB4MDEwMDQyLCAweDI4MTQwQSwgMHgwMDA0RjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDMxNSwgMHgwMTBEMDQsIDB4MjYwMjg2LAotCTB4MDA0MDE1LCAweDAwMDA5NSwgMHgwMTBEMDQsIDB4MjVGMDg2LAotCTB4MTAwMDIyLCAweDEwMDAyQSwgMHgyNjFBMDYsIDB4MDAwMDA3LAotCTB4MzMzMTA0LCAweDJBQTkwNCwgMHgwMDAwMDcsIDB4MDMyMTI0LAotCTB4MjgwNTAyLCAweDI4NDQwMiwgMHgwMDExMjQsIDB4NDAwMTAyLAotCTB4MDAwNDI0LCAweDAwMDQyNCwgMHgwMDMyMjQsIDB4MDAyOTJDLAotCTB4MDA2MzZDLCAweDI3NzM4NiwgMHgwMDAwMDcsIDB4MDJCMTY0LAotCTB4MDAwNDY0LCAweDAwMDQ2NCwgMHgwMDAwOEQsIDB4MDAwQTY0LAotCTB4MjgwRDAyLCAweDEwMDA4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDAwOEQsIDB4MzhCOTA0LAotCTB4MDAwMDA3LCAweDAzMjk2QywgMHgzMDAxMEEsIDB4MDAwMkY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MjcwMjg2LAotCTB4MDAwMDA3LCAweDAwMjEyQywgMHgyODA1MEEsIDB4MDAzMTZDLAotCTB4MDAwNDZDLCAweDAwMDQ2QywgMHgyODQ1MEEsIDB4MDAxMTI0LAotCTB4MDA2QjY0LCAweDEwMDEwMiwgMHgwMDAwOEQsIDB4MDEwOTZDLAotCTB4MjgwRDBBLCAweDEwMDEwRCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDQxMjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDAwMzIyNCwgMHgzMDAxMDIsIDB4MDMyOTQ0LAotCTB4MjdGQTg2LCAweDAwMDAwNywgMHgzMDAwMDIsIDB4MDAwNEY1LAotCTB4MDEwMDQyLCAweDA4MDAwQSwgMHgwMDAzMTUsIDB4MDEwRDA0LAotCTB4Mjg0MDg2LCAweDAwMzEyNCwgMHgwMDA0NjQsIDB4MzAwMTAyLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4Mjg0QTg2LCAweDAwMDAwNywgMHgyODQ0MDIsIDB4MDAzMTI0LAotCTB4MzAwNTAyLCAweDAwMzkyNCwgMHgzMDA1ODMsIDB4MDAwODgzLAotCTB4MDAwNUY1LCAweDAxMDA0MiwgMHgyODA0MEEsIDB4MDAwMDhELAotCTB4MDA4MTI0LCAweDI4MEQwMiwgMHgwMDAwOEQsIDB4MDA4MTI0LAotCTB4MjgxNTAyLCAweDEwMDE4RCwgMHgwMDA4MjAsIDB4MDAwMkY1LAotCTB4MDEwMDQwLCAweDIyMDAwNywgMHgwMDEwMjUsIDB4MDAwNTc1LAotCTB4MDMwMDQyLCAweDA5MDA0QSwgMHgxMDAwMEEsIDB4MEEwOTA0LAotCTB4MTIxMTA0LCAweDAwMDAwNywgMHgwMDEwMjAsIDB4MDUwODYwLAotCTB4MDUwMDQwLCAweDAwMDZGRCwgMHgwMTgwNDIsIDB4MDkwMDRBLAotCTB4MTAwMDBBLCAweDAwMDBBNSwgMHgwQTA5MDQsIDB4MTIxMTA0LAotCTB4MDAwMDA3LCAweDAwMDgyMCwgMHgwMTkwNjAsIDB4MDEwMDQwLAotCTB4MDAwMkY1LCAweDAxMDA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjlDQTg2LCAweDAwMDAwNywgMHgyNDQyMDYsIDB4MDAwMDA3LAotCTB4MDAwNjA2LCAweDAwMDAwNywgMHgwMDAyRjUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMDkwNCwgMHgyQTFBODYsIDB4MDAwMDA3LAotCTB4MDAwMTAwLCAweDA4MEIyMCwgMHgxMzhCNjAsIDB4MUI4QjYwLAotCTB4MjM4QjYwLCAweDJCOEI2MCwgMHgzMzhCNjAsIDB4M0I4QjYwLAotCTB4NDM4QjYwLCAweDRCOEI2MCwgMHg1MzhCNjAsIDB4NUI4QjYwLAotCTB4NjM4QjYwLCAweDZCOEI2MCwgMHg3MzhCNjAsIDB4N0I4QjYwLAotCTB4MDM4RjYwLCAweDBCOEY2MCwgMHgxMzhGNjAsIDB4MUI4RjYwLAotCTB4MjM4RjYwLCAweDJCOEY2MCwgMHgzMzhGNjAsIDB4M0I4RjYwLAotCTB4NDM4RjYwLCAweDRCOEY2MCwgMHg1MzhGNjAsIDB4NUI4RjYwLAotCTB4NjM4RjYwLCAweDZCOEY2MCwgMHg3MzhGNjAsIDB4N0I4RjYwLAotCTB4MDM4QTYwLCAweDAwMDYwNiwgMHgwMTgwNDAsIDB4MDAwMDhELAotCTB4MDAwQTY0LCAweDI4MEQwMiwgMHgwMDBBMjQsIDB4MDAwMjdELAotCTB4MDE4MDQyLCAweDEwMDAwQSwgMHgwMDEyMjQsIDB4MDAwM0ZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkMwQTg2LAotCTB4MDAwMDA3LCAweDAwMDE4RCwgMHgwMDBBMjQsIDB4MDAwNDY0LAotCTB4MDAwNDY0LCAweDA4MDEwMiwgMHgwMDA5MjQsIDB4MDAwNDI0LAotCTB4MDAwNDI0LCAweDEwMDEwMiwgMHgwMjAwMEQsIDB4MDA5MTQ0LAotCTB4MkM2MTg2LCAweDAwMDAwNywgMHgwMDAxRkQsIDB4MDE4MDQyLAotCTB4MDgwMDBBLCAweDAwMEE0NCwgMHgyQzQzODYsIDB4MDE4MDQyLAotCTB4MEEwMDBELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMDI3RCwgMHgwMDEwMjAsIDB4MDAwNjA2LAotCTB4MDE4MDQwLCAweDAwMDJGNSwgMHgwMTAwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDJDQjI4NiwgMHgwMDAwMDcsIDB4MDAwMzdELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4MkNFMjg2LAotCTB4MDAwMDA3LCAweDAwMDA3NSwgMHgwMDJFN0QsIDB4MDEwMDQyLAotCTB4MEI4MDRBLCAweDAwMDAyMCwgMHgwMDA5MDQsIDB4MDAwNjg2LAotCTB4MDEwMDQwLCAweDMxODQ0QSwgMHgzMDA0OEIsIDB4MDAwODgzLAotCTB4MDAwMDhELCAweDAwMDgxMCwgMHgyODE0M0EsIDB4MDAwMDhELAotCTB4MDAwODEwLCAweDI4MEMzQSwgMHgwMDA2NzUsIDB4MDEwMDQyLAotCTB4MDgwMDBBLCAweDAwMzgxNSwgMHgwMTA5MjQsIDB4MjgwNTAyLAotCTB4MEIwMDBELCAweDAwMDgyMCwgMHgwMDAyRjUsIDB4MDEwMDQwLAotCTB4MDAwNjA2LCAweDIyMDAwNywgMHgwMDA0NjQsIDB4MDAwNDY0LAotCTB4MDAwNjA2LCAweDAwMDAwNywgMHgwMDAxMzQsIDB4MDA3RjhELAotCTB4MDAwOTNDLCAweDI4MUQxMiwgMHgyODI1MTIsIDB4MDAxRjMyLAotCTB4MEUwMDA3LCAweDAwMDEwRCwgMHgwMDAzN0QsIDB4MDAwODIwLAotCTB4MDE4MDQwLCAweDA1RDJGNCwgMHgwMDAwMDcsIDB4MDgwMDA3LAotCTB4MDAwMzdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MkU4QTg2LCAweDAwMDAwNywgMHgwMDA2MDYsIDB4MDAwMDA3LAotCTB4MDAwMDA3LCAweDAwMDAxMiwgMHgxMDAwMDcsIDB4MzIwMDA3LAotCTB4NjAwMDA3LCAweDQ2MDAwNywgMHgxMDAwODAsIDB4NDgwMDFBLAotCTB4MDA0OTA0LCAweDJFRjE4NiwgMHgwMDAwMDcsIDB4MDAxMjEwLAotCTB4NTgwMDNBLCAweDAwMDE0NSwgMHg1QzVEMDQsIDB4MDAwMDA3LAotCTB4MDAwMDgwLCAweDQ4MDAxQSwgMHgwMDQ5MDQsIDB4MkY0MTg2LAotCTB4MDAwMDA3LCAweDAwMTIxMCwgMHg1MDAwM0EsIDB4MDA1OTA0LAotCTB4MkY5ODg2LCAweDAwMDA0NSwgMHgwMDAwQzUsIDB4N0ZGRkY1LAotCTB4N0ZGRjdELCAweDA3RDUyNCwgMHgwMDQyMjQsIDB4NTAwMTAyLAotCTB4MjAwNTAyLCAweDAwMDA4MiwgMHg0MDAwMUEsIDB4MDA0MTA0LAotCTB4MkZDOTg2LCAweDAwMDAwNywgMHgwMDM4NjUsIDB4NDAwMDFBLAotCTB4MDA0MDIwLCAweDAwMTA0RCwgMHgwNEMxODQsIDB4MzFBQjg2LAotCTB4MDAwMDQwLCAweDA0MDAwNywgMHgwMDAxNjUsIDB4MDAwMTQ1LAotCTB4MDA0MDIwLCAweDAwMDA0MCwgMHgwMDA3NjUsIDB4MDgwMDgwLAotCTB4NDAwMDFBLCAweDAwNDEwNCwgMHgzMDU5ODYsIDB4MDAwMDA3LAotCTB4MDAxMjEwLCAweDQwMDAzQSwgMHgwMDQxMDQsIDB4MzBCMjg2LAotCTB4MDAwMDRELCAweDAwMDBDRCwgMHgwMDQ4MTAsIDB4MjAwNDNBLAotCTB4MDAwODgyLCAweDQwMDAxQSwgMHgwMDQxMDQsIDB4MzBDMTg2LAotCTB4MDAwMDA3LCAweDAwNDgyMCwgMHgwMDU5MDQsIDB4MzE5ODg2LAotCTB4MDAwMDQwLCAweDAwMDdFNSwgMHgyMDA0ODAsIDB4MjgxNkEwLAotCTB4MzIxNkUwLCAweDNBMTZFMCwgMHg0MjE2RTAsIDB4MDIxMjYwLAotCTB4MDAwMDQwLCAweDAwMDAzMiwgMHg0MDAwNzUsIDB4MDAwMDdELAotCTB4MDdENTc0LCAweDIwMDUxMiwgMHgwMDAwODIsIDB4NDAwMDFBLAotCTB4MDA0MTA0LCAweDMxNzE4NiwgMHgwMDAwMDcsIDB4MDM4QTA2LAotCTB4NjQwMDA3LCAweDAwMDBFNSwgMHgwMDAwMjAsIDB4MDAwMDQwLAotCTB4MDAwQTY1LCAweDAwMDAyMCwgMHgwMjAwNDAsIDB4MDIwMDQwLAotCTB4MDAwMDQwLCAweDAwMDE2NSwgMHgwMDAwNDIsIDB4NzAwMDBBLAotCTB4MDA3MTA0LCAweDMyMzI4NiwgMHgwMDAwMDcsIDB4MDYwMDA3LAotCTB4MDE5QTA2LCAweDY0MDAwNywgMHgwNTAwMDAsIDB4MDA3MDIwLAotCTB4MDAwMDQwLCAweDAzOEEwNiwgMHg2NDAwMDcsIDB4MDAwMDA3LAotCTB4MDAzMDZELCAweDAyODg2MCwgMHgwMjkwNjAsIDB4MDgwMDBBLAotCTB4MDI4ODYwLCAweDAwODA0MCwgMHgxMDAwMTIsIDB4MDAxMDBELAotCTB4MDA5MTg0LCAweDMyRDE4NiwgMHgwMDBFMEQsIDB4MDA5MTg0LAotCTB4MzNFMTg2LCAweDAwMDAwNywgMHgzMDAwMDcsIDB4MDAxMDIwLAotCTB4MDAzQjZELCAweDAwODA0MCwgMHgwMDAwODAsIDB4MDgwMDFBLAotCTB4MDAwOTA0LCAweDMyRjE4NiwgMHgwMDAwMDcsIDB4MDAxMjIwLAotCTB4MDAwREVELCAweDAwODA0MCwgMHgwMDgwNDIsIDB4MTAwMDBBLAotCTB4NDAwMDBELCAweDEwOTU0NCwgMHgwMDAwMDcsIDB4MDAxMDIwLAotCTB4MDAwREVELCAweDAwODA0MCwgMHgwMDgwNDIsIDB4MjAwNDBBLAotCTB4MDAwMDgyLCAweDA4MDAxQSwgMHgwMDA5MDQsIDB4MzM4MTg2LAotCTB4MDAwMDA3LCAweDAwM0I2RCwgMHgwMDgwNDIsIDB4MDgwMDBBLAotCTB4MDAwRTE1LCAweDAxMDk4NCwgMHgzNDJCODYsIDB4NjAwMDA3LAotCTB4MDgwMDFBLCAweDAwMEMxNSwgMHgwMTA5ODQsIDB4MzQxMzg2LAotCTB4MDAwMDIwLCAweDFBMDAwNywgMHgwMDAyRUQsIDB4MDA4MDQwLAotCTB4NjIwMDA3LCAweDAwMzA2RCwgMHgwMjgwNDIsIDB4MEE4MDRBLAotCTB4MDAwODIwLCAweDBBODA0QSwgMHgwMDA2MDYsIDB4MTA4MDRBLAotCTB4MDAwMDA3LCAweDI4MjUxMiwgMHgwMDFGMzIsIDB4MDVEMkY0LAotCTB4NTREMTA0LCAweDAwNzM1QywgMHgwMDA3ODYsIDB4MDAwMDA3LAotCTB4MEMwMDA3LCAweDBBMDAwNywgMHgxQzAwMDcsIDB4MDAzNDY1LAotCTB4MDIwMDQwLCAweDAwNDgyMCwgMHgwMjUwNjAsIDB4NDAwMDBBLAotCTB4MDI0MDYwLCAweDAwMDA0MCwgMHg0NTQ5NDQsIDB4MDAwMDA3LAotCTB4MDA0MDIwLCAweDAwM0FFNSwgMHgwMDAwNDAsIDB4MDAyOEU1LAotCTB4MDAwMDQyLCAweDQ4MDAwQSwgMHgwMDQ5MDQsIDB4MzlGODg2LAotCTB4MDAyQzY1LCAweDAwMDA0MiwgMHg0MDAwMEEsIDB4MDAwMEQ1LAotCTB4NDU0MTA0LCAweDAwMDAwNywgMHgwMDA2NTUsIDB4MDU0NTA0LAotCTB4MzY4Mjg2LCAweDAwMDFENSwgMHgwNTQ1MDQsIDB4MzY4MDg2LAotCTB4MDAyQjY1LCAweDAwMDA0MiwgMHgwMDNBRTUsIDB4NTAwMDRBLAotCTB4NDAwMDBBLCAweDQ1QzNENCwgMHgwMDAwMDcsIDB4NDU0NTA0LAotCTB4MDAwMDA3LCAweDAwMDBDRCwgMHg0NDQ5NDQsIDB4MDAwMDA3LAotCTB4NDU0NTA0LCAweDAwMDAwNywgMHgwMDAxNEQsIDB4NTU0OTQ0LAotCTB4MDAwMDA3LCAweDA0NTE0NCwgMHgzNjc5ODYsIDB4MDAyQzY1LAotCTB4MDAwMDQyLCAweDQ4MDAwQSwgMHg0Q0QxMDQsIDB4MDAwMDA3LAotCTB4MDRDMTQ0LCAweDM2ODM4NiwgMHgwMDAwMDcsIDB4MTYwMDA3LAotCTB4MDAyQ0U1LCAweDA0MDA0MiwgMHg0MDAwMEEsIDB4MDA0MDIwLAotCTB4MDAwMDQwLCAweDAwMjk2NSwgMHgwMDAwNDIsIDB4NDAwMDBBLAotCTB4MDA0MTA0LCAweDM2RjA4NiwgMHgwMDAwMDcsIDB4MDAyNDAyLAotCTB4MzgzMjA2LCAweDAwNUMwMiwgMHgwMDI1RTUsIDB4MDAwMDQyLAotCTB4NDAwMDBBLCAweDAwNDI3NCwgMHgwMDJBRTUsIDB4MDAwMDQyLAotCTB4NDAwMDBBLCAweDAwNDI3NCwgMHg1MDAxMTIsIDB4MDAyOUU1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQyMzQsIDB4NDU0MTA0LAotCTB4MDAwMDA3LCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAzRUU1LAotCTB4MDAwMDIwLCAweDAwMDA0MCwgMHgwMDJERTUsIDB4NDAwMTUyLAotCTB4NTAwMDBBLCAweDA0NTE0NCwgMHgzN0RBODYsIDB4MDAwMEM1LAotCTB4MDAzRUU1LCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4MDAyQkU1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHg0MDQyNTQsIDB4MDAwMDA3LAotCTB4MDAyQUU1LCAweDAwNDAyMCwgMHgwMDAwNDAsIDB4NTAwMTMyLAotCTB4MDQwMTM0LCAweDAwNTY3NCwgMHgwMDI5RTUsIDB4MDIwMDQyLAotCTB4NDIwMDBBLCAweDAwMDA0MiwgMHg1MDAwMEEsIDB4MDU0MTdDLAotCTB4MDAyOEU1LCAweDAwMDA0MiwgMHg0ODAwMEEsIDB4MDAwMEM1LAotCTB4NENDMTQ0LCAweDM4QTA4NiwgMHgwMDI2RTUsIDB4MDAyN0U1LAotCTB4MDIwMDQyLCAweDQwMDA0QSwgMHg1MDAwMEEsIDB4MDA0MjNDLAotCTB4MDA1NjdDLCAweDAwMjhFNSwgMHgwMDQ4MjAsIDB4MDAwMDQwLAotCTB4MjgxRDEyLCAweDI4MjUxMiwgMHgwMDFGNzIsIDB4MDAyOTY1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQxMDQsIDB4MzkzQTg2LAotCTB4MEUwMDA3LCAweDE2MDAwNywgMHgxRTAwMDcsIDB4MDAzRUU1LAotCTB4MDAwMDQyLCAweDQwMDAwQSwgMHgwMDQxMDQsIDB4Mzk3ODg2LAotCTB4MDAyRDY1LCAweDAwMDA0MiwgMHgyODM0MEEsIDB4MDAzNDY1LAotCTB4MDIwMDQyLCAweDQyMDA0QSwgMHgwMDQwMjAsIDB4NEEwMDRBLAotCTB4NTAwMDRBLCAweDA1RDJGNCwgMHg1NEQxMDQsIDB4MDA3MzVDLAotCTB4MzlFMTg2LCAweDAwMDAwNywgMHgwMDA2MDYsIDB4MDgwMDA3LAotCTB4MEMwMDA3LCAweDA4MDAwNywgMHgwQTAwMDcsIDB4MDAwMUU1LAotCTB4MDIwMDQ1LCAweDAwNDAyMCwgMHgwMDAwNjAsIDB4MDAwMzY1LAotCTB4MDAwMDQwLCAweDAwMkU2NSwgMHgwMDFBMjAsIDB4MEExQTYwLAotCTB4MDAwMDQwLCAweDAwMzQ2NSwgMHgwMjAwNDIsIDB4NDIwMDRBLAotCTB4MDA0MDIwLCAweDRBMDA0QSwgMHgwMDA2MDYsIDB4NTAwMDRBLAotCTB4MDAxN0ZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4MjI1QTg2LCAweDAwMDAwNywgMHgwMDEwN0QsIDB4MDE4MDQyLAotCTB4MDAxMUZELCAweDMzODA0QSwgMHgxOTgwNEEsIDB4MjAwMDBBLAotCTB4MDAwMDk1LCAweDJBMTE0NCwgMHgwMUExNDQsIDB4M0I5MDg2LAotCTB4MDAwNDBELCAweDAwQjE4NCwgMHgzQjkxODYsIDB4MDAxOEZELAotCTB4MDE4MDQyLCAweDAwMTBGRCwgMHgwOTgwNEEsIDB4MzgwMDBBLAotCTB4MDAwMDk1LCAweDAxMDkyNCwgMHgwMDNBNjQsIDB4M0I4MTg2LAotCTB4MDAwMDA3LCAweDAwMzkwNCwgMHgzQjkyODYsIDB4MDAwMDA3LAotCTB4M0I5QTA2LCAweDAwMDAwRCwgMHgwMDAwOEQsIDB4MDAwODIwLAotCTB4MDAzODdELCAweDAxODA0MCwgMHg3MDAwMDIsIDB4MDAxMTdELAotCTB4MDE4MDQyLCAweDAwMTk3RCwgMHgyOTgwNEEsIDB4MzAwMDBBLAotCTB4MzgwMDAyLCAweDAwMzEyNCwgMHgwMDA0MjQsIDB4MDAwNDI0LAotCTB4MDAyQTI0LCAweDI4MDUwMiwgMHgwMDA2OEQsIDB4MDAwODEwLAotCTB4MjgxNDNBLCAweDAwNzUwRCwgMHgwMEIxMjQsIDB4MDAyMjY0LAotCTB4M0QwMzg2LCAweDI4NDQwMiwgMHgwMDA4MTAsIDB4MjgwQzNBLAotCTB4MEI4MDBELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwNzU4RCwgMHgwMEIxMjQsIDB4MTAwMTAyLAotCTB4MDEyMTQ0LCAweDNFNDk4NiwgMHgwMDE4MTAsIDB4MTAwMDNBLAotCTB4MDAzODdELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4M0U0ODg2LCAweDAzMDAwMCwgMHgzRTRBMDYsIDB4MDAwMEJELAotCTB4MDAwMDhELCAweDAyMzE2NCwgMHgwMDBBNjQsIDB4MjgwRDAyLAotCTB4MEI4MDhELCAweDAwMDgyMCwgMHgwMDAyRkQsIDB4MDE4MDQwLAotCTB4MjAwMDA3LCAweDAwMzg3RCwgMHgwMTgwNDIsIDB4MDgwMDBBLAotCTB4MDAwOTA0LCAweDNFMzI4NiwgMHgwMzAwMDAsIDB4MDAwMkZELAotCTB4MDE4MDQyLCAweDA4MDAwQSwgMHgwMDA5MDQsIDB4M0Q4Mjg2LAotCTB4MDAwMDA3LCAweDAwMjgxMCwgMHgyODA0M0EsIDB4MDA3NTBELAotCTB4MDMwOTI0LCAweDAwMjI2NCwgMHgyODBEMDIsIDB4MDIzMTZDLAotCTB4Mjg0NTBBLCAweDBCODEwRCwgMHgwMDA4MjAsIDB4MDAwMkZELAotCTB4MDE4MDQwLCAweDIwMDAwNywgMHgwMDAwOEQsIDB4MDAwQTI0LAotCTB4M0U0QTA2LCAweDEwMDEwMiwgMHgwMDE4MTAsIDB4MTAwMDNBLAotCTB4MDAwMEJELCAweDAwMzgxMCwgMHgzMDA0M0EsIDB4MDAxODdELAotCTB4MDE4MDQyLCAweDAwMThGRCwgMHgwOTgwNEEsIDB4MjAwMDBBLAotCTB4MDAwMEFELCAweDAyODkyNCwgMHgwNzIxMkMsIDB4MDAxMDEwLAotCTB4MzAwNTgzLCAweDMwMEQ4QiwgMHgzMDE0QkIsIDB4MzAxQzgzLAotCTB4MDAyMDgzLCAweDAwMTM3RCwgMHgwMzgwNDIsIDB4MzM4NDRBLAotCTB4MzNBQ0NCLCAweDMzQjRDQiwgMHgzM0JDQ0IsIDB4MzNDNENCLAotCTB4MzNDQ0NCLCAweDMzRDRDQiwgMHgzMDVDOEIsIDB4MDA2MDgzLAotCTB4MDAxRTBELCAweDAwMDVGRCwgMHgwMTgwNDIsIDB4MjAwMDBBLAotCTB4MDIwOTI0LCAweDAwMDY4RCwgMHgwMEE5NkMsIDB4MDAwMDlELAotCTB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4M0Y2QTg2LCAweDAwMDAwNywgMHgyODA1MDIsIDB4MjgwRDBBLAotCTB4Mjg0NDAyLCAweDAwMTgxMCwgMHgyODE0M0EsIDB4MEMwMDhELAotCTB4MDAwODIwLCAweDAwMDJGRCwgMHgwMTgwNDAsIDB4MjIwMDA3LAotCTB4MDAzOTA0LCAweDIyNTg4NiwgMHgwMDFFMEQsIDB4MDAwNTdELAotCTB4MDE4MDQyLCAweDIwMDAwQSwgMHgwMjA5MjQsIDB4MDAwMEE1LAotCTB4MDAwMkZELCAweDAxODA0MiwgMHgwODAwMEEsIDB4MDAwOTA0LAotCTB4NDAyQTg2LCAweDAwMDAwNywgMHgyODA1MDIsIDB4MjgwQzAyLAotCTB4MDAyMDEwLCAweDI4MTQzQSwgMHgwQzAxMEQsIDB4MDAwODIwLAotCTB4MDAwMkZELCAweDAxODA0MCwgMHgyMjVBMDYsIDB4MjIwMDA3LAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwLAotCTB4MDAwMDAwLCAweDAwMDAwMCwgMHgwMDAwMDAsIDB4MDAwMDAwCi19OwotCi0jZW5kaWYJLy9fSFdNQ09ERV8KZGlmZiAtLWdpdCBhL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYyBiL3NvdW5kL3BjaS95bWZwY2kveW1mcGNpX21haW4uYwppbmRleCAyOWIzMDU2Li45MmQ0OWFhIDEwMDY0NAotLS0gYS9zb3VuZC9wY2kveW1mcGNpL3ltZnBjaV9tYWluLmMKKysrIGIvc291bmQvcGNpL3ltZnBjaS95bWZwY2lfbWFpbi5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CiAjaW5jbHVkZSA8bGludXgvdm1hbGxvYy5oPgorI2luY2x1ZGUgPGxpbnV4L211dGV4Lmg+CiAKICNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CiAjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgpAQCAtMTk5Myw1NSArMTk5NCw2IEBACiAJfQogfQogCi0jaWZkZWYgQ09ORklHX1NORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCi0KLSNpbmNsdWRlICJ5bWZwY2lfaW1hZ2UuaCIKLQotc3RhdGljIHN0cnVjdCBmaXJtd2FyZSBzbmRfeW1mcGNpX2RzcF9taWNyb2NvZGUgPSB7Ci0JLnNpemUgPSBZRFNYR19EU1BMRU5HVEgsCi0JLmRhdGEgPSAodTggKilEc3BJbnN0LAotfTsKLXN0YXRpYyBzdHJ1Y3QgZmlybXdhcmUgc25kX3ltZnBjaV9jb250cm9sbGVyX21pY3JvY29kZSA9IHsKLQkuc2l6ZSA9IFlEU1hHX0NUUkxMRU5HVEgsCi0JLmRhdGEgPSAodTggKilDbnRybEluc3QsCi19Owotc3RhdGljIHN0cnVjdCBmaXJtd2FyZSBzbmRfeW1mcGNpX2NvbnRyb2xsZXJfMWVfbWljcm9jb2RlID0gewotCS5zaXplID0gWURTWEdfQ1RSTExFTkdUSCwKLQkuZGF0YSA9ICh1OCAqKUNudHJsSW5zdDFFLAotfTsKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX1NORF9ZTUZQQ0lfRklSTVdBUkVfSU5fS0VSTkVMCi1zdGF0aWMgaW50IHNuZF95bWZwY2lfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3Qgc25kX3ltZnBjaSAqY2hpcCkKLXsKLQljaGlwLT5kc3BfbWljcm9jb2RlID0gJnNuZF95bWZwY2lfZHNwX21pY3JvY29kZTsKLQlpZiAoY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzcyNEYgfHwKLQkgICAgY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzc0MEMgfHwKLQkgICAgY2hpcC0+ZGV2aWNlX2lkID09IFBDSV9ERVZJQ0VfSURfWUFNQUhBXzc0NCB8fAotCSAgICBjaGlwLT5kZXZpY2VfaWQgPT0gUENJX0RFVklDRV9JRF9ZQU1BSEFfNzU0KQotCQljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSA9Ci0JCQkmc25kX3ltZnBjaV9jb250cm9sbGVyXzFlX21pY3JvY29kZTsKLQllbHNlCi0JCWNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlID0KLQkJCSZzbmRfeW1mcGNpX2NvbnRyb2xsZXJfbWljcm9jb2RlOwotCXJldHVybiAwOwotfQotCi0jZWxzZSAvKiB1c2UgZndfbG9hZGVyICovCi0KLSNpZmRlZiBfX0xJVFRMRV9FTkRJQU4KLXN0YXRpYyBpbmxpbmUgdm9pZCBzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KSB7IH0KLSNlbHNlCi1zdGF0aWMgdm9pZCBzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3KQotewotCWludCBpOwotCXUzMiAqZGF0YSA9ICh1MzIgKilmdy0+ZGF0YTsKLQotCWZvciAoaSA9IDA7IGkgPCBmdy0+c2l6ZSAvIDQ7ICsraSkKLQkJbGUzMl90b19jcHVzKCZkYXRhW2ldKTsKLX0KLSNlbmRpZgotCiBzdGF0aWMgaW50IHNuZF95bWZwY2lfcmVxdWVzdF9maXJtd2FyZShzdHJ1Y3Qgc25kX3ltZnBjaSAqY2hpcCkKIHsKIAlpbnQgZXJyLCBpc18xZTsKQEAgLTIwNTAsOSArMjAwMiw3IEBACiAJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmY2hpcC0+ZHNwX21pY3JvY29kZSwgInlhbWFoYS9kczFfZHNwLmZ3IiwKIAkJCSAgICAgICAmY2hpcC0+cGNpLT5kZXYpOwogCWlmIChlcnIgPj0gMCkgewotCQlpZiAoY2hpcC0+ZHNwX21pY3JvY29kZS0+c2l6ZSA9PSBZRFNYR19EU1BMRU5HVEgpCi0JCQlzbmRfeW1mcGNpX2NvbnZlcnRfZnJvbV9sZShjaGlwLT5kc3BfbWljcm9jb2RlKTsKLQkJZWxzZSB7CisJCWlmIChjaGlwLT5kc3BfbWljcm9jb2RlLT5zaXplICE9IFlEU1hHX0RTUExFTkdUSCkgewogCQkJc25kX3ByaW50ayhLRVJOX0VSUiAiRFNQIG1pY3JvY29kZSBoYXMgd3Jvbmcgc2l6ZVxuIik7CiAJCQllcnIgPSAtRUlOVkFMOwogCQl9CkBAIC0yMDY3LDkgKzIwMTcsNyBAQAogCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLCBuYW1lLAogCQkJICAgICAgICZjaGlwLT5wY2ktPmRldik7CiAJaWYgKGVyciA+PSAwKSB7Ci0JCWlmIChjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+c2l6ZSA9PSBZRFNYR19DVFJMTEVOR1RIKQotCQkJc25kX3ltZnBjaV9jb252ZXJ0X2Zyb21fbGUoY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUpOwotCQllbHNlIHsKKwkJaWYgKGNoaXAtPmNvbnRyb2xsZXJfbWljcm9jb2RlLT5zaXplICE9IFlEU1hHX0NUUkxMRU5HVEgpIHsKIAkJCXNuZF9wcmludGsoS0VSTl9FUlIgImNvbnRyb2xsZXIgbWljcm9jb2RlIgogCQkJCSAgICIgaGFzIHdyb25nIHNpemVcbiIpOwogCQkJZXJyID0gLUVJTlZBTDsKQEAgLTIwODQsMTMgKzIwMzIsMTEgQEAKIE1PRFVMRV9GSVJNV0FSRSgieWFtYWhhL2RzMV9jdHJsLmZ3Iik7CiBNT0RVTEVfRklSTVdBUkUoInlhbWFoYS9kczFlX2N0cmwuZnciKTsKIAotI2VuZGlmCi0KIHN0YXRpYyB2b2lkIHNuZF95bWZwY2lfZG93bmxvYWRfaW1hZ2Uoc3RydWN0IHNuZF95bWZwY2kgKmNoaXApCiB7CiAJaW50IGk7CiAJdTE2IGN0cmw7Ci0JdTMyICppbnN0OworCWNvbnN0IF9fbGUzMiAqaW5zdDsKIAogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9OQVRJVkVEQUNPVVRWT0wsIDB4MDAwMDAwMDApOwogCXNuZF95bWZwY2lfZGlzYWJsZV9kc3AoY2hpcCk7CkBAIC0yMTA1LDE0ICsyMDUxLDE2IEBACiAJc25kX3ltZnBjaV93cml0ZXcoY2hpcCwgWURTWEdSX0dMT0JBTENUUkwsIGN0cmwgJiB+MHgwMDA3KTsKIAogCS8qIHNldHVwIERTUCBpbnN0cnVjdGlvbiBjb2RlICovCi0JaW5zdCA9ICh1MzIgKiljaGlwLT5kc3BfbWljcm9jb2RlLT5kYXRhOworCWluc3QgPSAoY29uc3QgX19sZTMyICopY2hpcC0+ZHNwX21pY3JvY29kZS0+ZGF0YTsKIAlmb3IgKGkgPSAwOyBpIDwgWURTWEdfRFNQTEVOR1RIIC8gNDsgaSsrKQotCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfRFNQSU5TVFJBTSArIChpIDw8IDIpLCBpbnN0W2ldKTsKKwkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0RTUElOU1RSQU0gKyAoaSA8PCAyKSwKKwkJCQkgIGxlMzJfdG9fY3B1KGluc3RbaV0pKTsKIAogCS8qIHNldHVwIGNvbnRyb2wgaW5zdHJ1Y3Rpb24gY29kZSAqLwotCWluc3QgPSAodTMyICopY2hpcC0+Y29udHJvbGxlcl9taWNyb2NvZGUtPmRhdGE7CisJaW5zdCA9IChjb25zdCBfX2xlMzIgKiljaGlwLT5jb250cm9sbGVyX21pY3JvY29kZS0+ZGF0YTsKIAlmb3IgKGkgPSAwOyBpIDwgWURTWEdfQ1RSTExFTkdUSCAvIDQ7IGkrKykKLQkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0NUUkxJTlNUUkFNICsgKGkgPDwgMiksIGluc3RbaV0pOworCQlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfQ1RSTElOU1RSQU0gKyAoaSA8PCAyKSwKKwkJCQkgIGxlMzJfdG9fY3B1KGluc3RbaV0pKTsKIAogCXNuZF95bWZwY2lfZW5hYmxlX2RzcChjaGlwKTsKIH0KQEAgLTIyMDUsNiArMjE1Myw3IEBACiAJZm9yIChyZWcgPSAweDgwOyByZWcgPCAweGMwOyByZWcgKz0gNCkKIAkJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgcmVnLCAwKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfTkFUSVZFREFDT1VUVk9MLCAweDNmZmYzZmZmKTsKKwlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfQlVGNDQxT1VUVk9MLCAweDNmZmYzZmZmKTsKIAlzbmRfeW1mcGNpX3dyaXRlbChjaGlwLCBZRFNYR1JfWlZPVVRWT0wsIDB4M2ZmZjNmZmYpOwogCXNuZF95bWZwY2lfd3JpdGVsKGNoaXAsIFlEU1hHUl9TUERJRk9VVFZPTCwgMHgzZmZmM2ZmZik7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRUFEQ0lOVk9MLCAweDNmZmYzZmZmKTsKQEAgLTIyNjQsMTAgKzIyMTMsOCBAQAogCXBjaV93cml0ZV9jb25maWdfd29yZChjaGlwLT5wY2ksIDB4NDAsIGNoaXAtPm9sZF9sZWdhY3lfY3RybCk7CiAJCiAJcGNpX2Rpc2FibGVfZGV2aWNlKGNoaXAtPnBjaSk7Ci0jaWZuZGVmIENPTkZJR19TTkRfWU1GUENJX0ZJUk1XQVJFX0lOX0tFUk5FTAogCXJlbGVhc2VfZmlybXdhcmUoY2hpcC0+ZHNwX21pY3JvY29kZSk7CiAJcmVsZWFzZV9maXJtd2FyZShjaGlwLT5jb250cm9sbGVyX21pY3JvY29kZSk7Ci0jZW5kaWYKIAlrZnJlZShjaGlwKTsKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMjQsNiArMjI3MSw3IEBACiAJCWNoaXAtPnNhdmVkX3JlZ3NbaV0gPSBzbmRfeW1mcGNpX3JlYWRsKGNoaXAsIHNhdmVkX3JlZ3NfaW5kZXhbaV0pOwogCWNoaXAtPnNhdmVkX3lkc3hncl9tb2RlID0gc25kX3ltZnBjaV9yZWFkbChjaGlwLCBZRFNYR1JfTU9ERSk7CiAJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX05BVElWRURBQ09VVFZPTCwgMCk7CisJc25kX3ltZnBjaV93cml0ZWwoY2hpcCwgWURTWEdSX0JVRjQ0MU9VVFZPTCwgMCk7CiAJc25kX3ltZnBjaV9kaXNhYmxlX2RzcChjaGlwKTsKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGNpKTsKIAlwY2lfc2F2ZV9zdGF0ZShwY2kpOwpkaWZmIC0tZ2l0IGEvc291bmQvcGNtY2lhL0tjb25maWcgYi9zb3VuZC9wY21jaWEvS2NvbmZpZwppbmRleCBjOWZhMWEyLi43ZmJiMTkwIDEwMDY0NAotLS0gYS9zb3VuZC9wY21jaWEvS2NvbmZpZworKysgYi9zb3VuZC9wY21jaWEvS2NvbmZpZwpAQCAtMSwxMSArMSwxNiBAQAogIyBBTFNBIFBDTUNJQSBkcml2ZXJzCiAKLW1lbnUgIlBDTUNJQSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBDTUNJQQorbWVudWNvbmZpZyBTTkRfUENNQ0lBCisJYm9vbCAiUENNQ0lBIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBQQ01DSUEKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIGNvbm5lY3RlZCB2aWEgdGhlIFBDTUNJQSBidXMuCisKK2lmIFNORF9QQ01DSUEgJiYgUENNQ0lBCiAKIGNvbmZpZyBTTkRfVlhQT0NLRVQKIAl0cmlzdGF0ZSAiRGlnaWdyYW0gVlhwb2NrZXQiCi0JZGVwZW5kcyBvbiBTTkQgJiYgUENNQ0lBCiAJc2VsZWN0IFNORF9WWF9MSUIKIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgRGlnaWdyYW0gVlhwb2NrZXQgYW5kCkBAIC0xNiw3ICsyMSw2IEBACiAKIGNvbmZpZyBTTkRfUERBVURJT0NGCiAJdHJpc3RhdGUgIlNvdW5kIENvcmUgUERBdWRpb0NGIgotCWRlcGVuZHMgb24gU05EICYmIFBDTUNJQQogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIFNvdW5kIENvcmUgUERBdWRpb0NGCkBAIC0yNSw0ICsyOSw1IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtcGRhdWRpb2NmLgogCi1lbmRtZW51CitlbmRpZgkjIFNORF9QQ01DSUEKKwpkaWZmIC0tZ2l0IGEvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYyBiL3NvdW5kL3BjbWNpYS92eC92eHBfb3BzLmMKaW5kZXggMTU3YjBiNS4uOTliZjJhNiAxMDA2NDQKLS0tIGEvc291bmQvcGNtY2lhL3Z4L3Z4cF9vcHMuYworKysgYi9zb3VuZC9wY21jaWEvdngvdnhwX29wcy5jCkBAIC0xNTEsNyArMTUxLDcgQEAKIAl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgYzsKIAlpbnQgcmVnQ1NVRVIsIHJlZ1JVRVI7Ci0JdW5zaWduZWQgY2hhciAqaW1hZ2U7CisJY29uc3QgdW5zaWduZWQgY2hhciAqaW1hZ2U7CiAJdW5zaWduZWQgY2hhciBkYXRhOwogCiAJLyogU3dpdGNoIHRvIHByb2dyYW1tYXRpb24gbW9kZSAqLwpkaWZmIC0tZ2l0IGEvc291bmQvcHBjL0tjb25maWcgYi9zb3VuZC9wcGMvS2NvbmZpZwppbmRleCBjYWNiMGIxLi43NzdkZTJiIDEwMDY0NAotLS0gYS9zb3VuZC9wcGMvS2NvbmZpZworKysgYi9zb3VuZC9wcGMvS2NvbmZpZwpAQCAtMSwxNyArMSwxNyBAQAogIyBBTFNBIFBvd2VyTWFjIGRyaXZlcnMKIAotbWVudSAiQUxTQSBQb3dlck1hYyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFBQQworbWVudWNvbmZpZyBTTkRfUFBDCisJYm9vbCAiUG93ZXJQQyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gUFBDNjQgfHwgUFBDMzIKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIFBvd2VyUEMgYXJjaGl0ZWN0dXJlcy4KIAotY29tbWVudCAiQUxTQSBQb3dlck1hYyByZXF1aXJlcyBJMkMiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSTJDPW4KLQotY29tbWVudCAiQUxTQSBQb3dlck1hYyByZXF1aXJlcyBJTlBVVCIKLQlkZXBlbmRzIG9uIFNORCAmJiBJTlBVVD1uCitpZiBTTkRfUFBDCiAKIGNvbmZpZyBTTkRfUE9XRVJNQUMKIAl0cmlzdGF0ZSAiUG93ZXJNYWMgKEFXQUNTLCBEQUNBLCBCdXJndW5keSwgVHVtYmxlciwgS2V5d2VzdCkiCi0JZGVwZW5kcyBvbiBTTkQgJiYgSTJDICYmIElOUFVUICYmIFBQQ19QTUFDCisJZGVwZW5kcyBvbiBJMkMgJiYgSU5QVVQgJiYgUFBDX1BNQUMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUgaW50ZWdyYXRlZCBzb3VuZCBkZXZpY2UuCkBAIC0zMiwxNCArMzIsOSBAQAogCSAgTm90ZSB0aGF0IHlvdSBjYW4gdHVybiBvbi9vZmYgRFJDIG1hbnVhbGx5IGV2ZW4gd2l0aG91dCB0aGlzCiAJICBvcHRpb24uCiAKLWVuZG1lbnUKLQotbWVudSAiQUxTQSBQb3dlclBDIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgKCBQUEM2NCB8fCBQUEMzMiApCi0KIGNvbmZpZyBTTkRfUFMzCiAJdHJpc3RhdGUgIlBTMyBBdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05EICYmIFBTM19QUzNBVgorCWRlcGVuZHMgb24gUFMzX1BTM0FWCiAJc2VsZWN0IFNORF9QQ00KIAlkZWZhdWx0IG0KIAloZWxwCkBAIC01Miw0ICs0Nyw1IEBACiAJaW50ICJTdGFydHVwIGRlbGF5IHRpbWUgaW4gbXMiCiAJZGVwZW5kcyBvbiBTTkRfUFMzCiAJZGVmYXVsdCAiMjAwMCIKLWVuZG1lbnUKKworZW5kaWYJIyBTTkRfUFBDCmRpZmYgLS1naXQgYS9zb3VuZC9wcGMvZGFjYS5jIGIvc291bmQvcHBjL2RhY2EuYwppbmRleCBjYTk0NTI5Li44YTViMjkwIDEwMDY0NAotLS0gYS9zb3VuZC9wcGMvZGFjYS5jCisrKyBiL3NvdW5kL3BwYy9kYWNhLmMKQEAgLTI0OSw5ICsyNDksNyBAQAogCWludCBpLCBlcnI7CiAJc3RydWN0IHBtYWNfZGFjYSAqbWl4OwogCi0jaWZkZWYgQ09ORklHX0tNT0QKIAlyZXF1ZXN0X21vZHVsZSgiaTJjLXBvd2VybWFjIik7Ci0jZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KIAogCW1peCA9IGt6YWxsb2Moc2l6ZW9mKCptaXgpLCBHRlBfS0VSTkVMKTsKIAlpZiAoISBtaXgpCmRpZmYgLS1naXQgYS9zb3VuZC9wcGMvdHVtYmxlci5jIGIvc291bmQvcHBjL3R1bWJsZXIuYwppbmRleCAzZjhkNzE2Li4wMDlkZjhkIDEwMDY0NAotLS0gYS9zb3VuZC9wcGMvdHVtYmxlci5jCisrKyBiL3NvdW5kL3BwYy90dW1ibGVyLmMKQEAgLTEzNTAsOSArMTM1MCw3IEBACiAJc3RydWN0IGRldmljZV9ub2RlICp0YXNfbm9kZSwgKm5wOwogCWNoYXIgKmNoaXBuYW1lOwogCi0jaWZkZWYgQ09ORklHX0tNT0QKIAlyZXF1ZXN0X21vZHVsZSgiaTJjLXBvd2VybWFjIik7Ci0jZW5kaWYgLyogQ09ORklHX0tNT0QgKi8KIAogCW1peCA9IGt6YWxsb2Moc2l6ZW9mKCptaXgpLCBHRlBfS0VSTkVMKTsKIAlpZiAoISBtaXgpCmRpZmYgLS1naXQgYS9zb3VuZC9zaC9LY29uZmlnIGIvc291bmQvc2gvS2NvbmZpZwppbmRleCBiN2UwOGVmLi5jZmMxNDM5IDEwMDY0NAotLS0gYS9zb3VuZC9zaC9LY29uZmlnCisrKyBiL3NvdW5kL3NoL0tjb25maWcKQEAgLTEsMTQgKzEsMjIgQEAKICMgQUxTQSBTSCBkcml2ZXJzCiAKLW1lbnUgIlNVUEVSSCBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EIT1uICYmIFNVUEVSSAorbWVudWNvbmZpZyBTTkRfU1VQRVJICisJYm9vbCAiU1VQRVJIIHNvdW5kIGRldmljZXMiCisJZGVwZW5kcyBvbiBTVVBFUkgKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIFNVUEVSSCBhcmNoaXRlY3R1cmVzLgorCSAgRHJpdmVycyB0aGF0IGFyZSBpbXBsZW1lbnRlZCBvbiBBU29DIGNhbiBiZSBmb3VuZCBpbgorCSAgIkFMU0EgZm9yIFNvQyBhdWRpbyBzdXBwb3J0IiBzZWN0aW9uLgorCitpZiBTTkRfU1VQRVJICiAKIGNvbmZpZyBTTkRfQUlDQQogCXRyaXN0YXRlICJEcmVhbWNhc3QgWWFtYWhhIEFJQ0Egc291bmQiCi0JZGVwZW5kcyBvbiBTSF9EUkVBTUNBU1QgJiYgU05ECisJZGVwZW5kcyBvbiBTSF9EUkVBTUNBU1QKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIEFMU0EgU291bmQgZHJpdmVyIGZvciB0aGUgU0VHQSBEcmVhbWNhc3QgY29uc29sZS4KIAotZW5kbWVudQorZW5kaWYJIyBTTkRfU1VQRVJICiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9LY29uZmlnIGIvc291bmQvc29jL0tjb25maWcKaW5kZXggMThmMjhhYy4uZjc0MzUzMCAxMDA2NDQKLS0tIGEvc291bmQvc29jL0tjb25maWcKKysrIGIvc291bmQvc29jL0tjb25maWcKQEAgLTIsMTUgKzIsOCBAQAogIyBTb0MgYXVkaW8gY29uZmlndXJhdGlvbgogIwogCi1tZW51ICJTeXN0ZW0gb24gQ2hpcCBhdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05EIT1uCi0KLWNvbmZpZyBTTkRfU09DX0FDOTdfQlVTCi0JYm9vbAotCi1jb25maWcgU05EX1NPQworbWVudWNvbmZpZyBTTkRfU09DCiAJdHJpc3RhdGUgIkFMU0EgZm9yIFNvQyBhdWRpbyBzdXBwb3J0IgotCWRlcGVuZHMgb24gU05ECiAJc2VsZWN0IFNORF9QQ00KIAktLS1oZWxwLS0tCiAKQEAgLTIzLDggKzE2LDE1IEBACiAJICBUaGlzIEFTb0MgYXVkaW8gc3VwcG9ydCBjYW4gYWxzbyBiZSBidWlsdCBhcyBhIG1vZHVsZS4gIElmIHNvLCB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtc29jLWNvcmUuCiAKK2lmIFNORF9TT0MKKworY29uZmlnIFNORF9TT0NfQUM5N19CVVMKKwlib29sCisKICMgQWxsIHRoZSBzdXBwb3J0ZWQgU29jJ3MKK3NvdXJjZSAic291bmQvc29jL2F0MzIvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL2F0OTEvS2NvbmZpZyIKK3NvdXJjZSAic291bmQvc29jL2F1MXgvS2NvbmZpZyIKIHNvdXJjZSAic291bmQvc29jL3B4YS9LY29uZmlnIgogc291cmNlICJzb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnIgogc291cmNlICJzb3VuZC9zb2Mvc2gvS2NvbmZpZyIKQEAgLTM1LDQgKzM1LDUgQEAKICMgU3VwcG9ydGVkIGNvZGVjcwogc291cmNlICJzb3VuZC9zb2MvY29kZWNzL0tjb25maWciCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NPQworCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvTWFrZWZpbGUKaW5kZXggNzgyZGIyMS4uOTMzYTY2ZCAxMDA2NDQKLS0tIGEvc291bmQvc29jL01ha2VmaWxlCisrKyBiL3NvdW5kL3NvYy9NYWtlZmlsZQpAQCAtMSw0ICsxLDUgQEAKIHNuZC1zb2MtY29yZS1vYmpzIDo9IHNvYy1jb3JlLm8gc29jLWRhcG0ubwogCiBvYmotJChDT05GSUdfU05EX1NPQykJKz0gc25kLXNvYy1jb3JlLm8KLW9iai0kKENPTkZJR19TTkRfU09DKQkrPSBjb2RlY3MvIGF0OTEvIHB4YS8gczNjMjR4eC8gc2gvIGZzbC8gZGF2aW5jaS8gb21hcC8KK29iai0kKENPTkZJR19TTkRfU09DKQkrPSBjb2RlY3MvIGF0MzIvIGF0OTEvIHB4YS8gczNjMjR4eC8gc2gvIGZzbC8gZGF2aW5jaS8KK29iai0kKENPTkZJR19TTkRfU09DKQkrPSBvbWFwLyBhdTF4LwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvS2NvbmZpZyBiL3NvdW5kL3NvYy9hdDMyL0tjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA3NjVlOAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL0tjb25maWcKQEAgLTAsMCArMSwzNCBAQAorY29uZmlnIFNORF9BVDMyX1NPQworICAgICAgICB0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgQXRtZWwgQVQzMiBTeXN0ZW0tb24tYS1DaGlwIgorICAgICAgICBkZXBlbmRzIG9uIEFWUjMyICYmIFNORF9TT0MKKyAgICAgICAgaGVscAorICAgICAgICAgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0byAKKyAgICAgICAgICB0aGUgQVQzMiBTU0MgaW50ZXJmYWNlLiAgWW91IHdpbGwgYWxzbyBuZWVkIHRvCisgICAgICAgICAgdG8gc2VsZWN0IHRoZSBhdWRpbyBpbnRlcmZhY2VzIHRvIHN1cHBvcnQgYmVsb3cuCisKKworY29uZmlnIFNORF9BVDMyX1NPQ19TU0MKKyAgICAgICAgdHJpc3RhdGUKKworCisKK2NvbmZpZyBTTkRfQVQzMl9TT0NfUExBWVBBUQorICAgICAgICB0cmlzdGF0ZSAiU29DIEF1ZGlvIHN1cHBvcnQgZm9yIFBsYXlQYXEgd2l0aCBXTTg1MTAiCisgICAgICAgIGRlcGVuZHMgb24gU05EX0FUMzJfU09DICYmIEJPQVJEX1BMQVlQQVEKKyAgICAgICAgc2VsZWN0IFNORF9BVDMyX1NPQ19TU0MKKyAgICAgICAgc2VsZWN0IFNORF9TT0NfV004NTEwCisgICAgICAgIGhlbHAKKyAgICAgICAgICBTYXkgWSBvciBNIGhlcmUgaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIFNvQyBhdWRpbworICAgICAgICAgIG9uIHRoZSBMUlMgUGxheVBhcS4KKworCisKK2NvbmZpZyBTTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorICAgICAgICBib29sICJSdW4gQ09ERUMgb24gUGxheVBhcSBpbiBzbGF2ZSBtb2RlIgorICAgICAgICBkZXBlbmRzIG9uIFNORF9BVDMyX1NPQ19QTEFZUEFRCisgICAgICAgIGRlZmF1bHQgbgorICAgICAgICBoZWxwCisgICAgICAgICAgU2F5IFkgaWYgeW91IHdhbnQgdG8gcnVuIHdpdGggdGhlIEFUMzIgU1NDIGdlbmVyYXRpbmcgdGhlIEJDTEsKKyAgICAgICAgICBhbmQgRlJBTUUgc2lnbmFscyBvbiB0aGUgUGxheVBhcS4gIFVubGVzcyB5b3Ugd2FudCB0byBwbGF5CisgICAgICAgICAgd2l0aCB0aGUgQVQzMiBhcyB0aGUgU1NDIG1hc3RlciwgeW91IHByb2JhYmx5IHdhbnQgdG8gc2F5IE4gaGVyZSwKKyAgICAgICAgICBhcyB0aGlzIHdpbGwgZ2l2ZSB5b3UgYmV0dGVyIHNvdW5kIHF1YWxpdHkuCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9NYWtlZmlsZSBiL3NvdW5kL3NvYy9hdDMyL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwM2U1NWUKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9NYWtlZmlsZQpAQCAtMCwwICsxLDExIEBACisjIEFUMzIgUGxhdGZvcm0gU3VwcG9ydAorc25kLXNvYy1hdDMyLW9ianMgOj0gYXQzMi1wY20ubworc25kLXNvYy1hdDMyLXNzYy1vYmpzIDo9IGF0MzItc3NjLm8KKworb2JqLSQoQ09ORklHX1NORF9BVDMyX1NPQykgKz0gc25kLXNvYy1hdDMyLm8KK29iai0kKENPTkZJR19TTkRfQVQzMl9TT0NfU1NDKSArPSBzbmQtc29jLWF0MzItc3NjLm8KKworIyBBVDMyIE1hY2hpbmUgU3VwcG9ydAorc25kLXNvYy1wbGF5cGFxLW9ianMgOj0gcGxheXBhcV93bTg1MTAubworCitvYmotJChDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVEpICs9IHNuZC1zb2MtcGxheXBhcS5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5jIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzVmMWRhCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1wY20uYwpAQCAtMCwwICsxLDQ5MSBAQAorLyogc291bmQvc29jL2F0MzIvYXQzMi1wY20uYworICogQVNvQyBQQ00gaW50ZXJmYWNlIGZvciBBdG1lbCBBVDMyIFNvQworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBMb25nIFJhbmdlIFN5c3RlbXMKKyAqICAgIEdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogTm90ZSB0aGF0IHRoaXMgaXMgYmFzaWNhbGx5IGEgcG9ydCBvZiB0aGUgc291bmQvc29jL2F0OTEtcGNtLmMgdG8KKyAqIHRoZSBBVlIzMiBrZXJuZWwuICBUaGFua3MgdG8gRnJhbmsgTWFuZGFyaW5vIGZvciB0aGF0IGNvZGUuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KKyNpbmNsdWRlIDxsaW51eC9hdG1lbF9wZGMuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBIYXJkd2FyZSBkZWZpbml0aW9uCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFRPRE86IFRoZXNlIHZhbHVlcyB3ZXJlIHRha2VuIGZyb20gdGhlIEFUOTEgcGxhdGZvcm0gZHJpdmVyLCBjaGVjaworICoJIHRoZW0gYWdhaW5zdCByZWFsIHZhbHVlcyBmb3IgQVQzMgorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9wY21faGFyZHdhcmUgYXQzMl9wY21faGFyZHdhcmUgPSB7CisJLmluZm8gPSAoU05EUlZfUENNX0lORk9fTU1BUCB8CisJCSBTTkRSVl9QQ01fSU5GT19NTUFQX1ZBTElEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVEIHwKKwkJIFNORFJWX1BDTV9JTkZPX0JMT0NLX1RSQU5TRkVSIHwKKwkJIFNORFJWX1BDTV9JTkZPX1BBVVNFKSwKKworCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTYsCisJLnBlcmlvZF9ieXRlc19taW4gPSAzMiwKKwkucGVyaW9kX2J5dGVzX21heCA9IDgxOTIsCS8qIDUxMiBmcmFtZXMgKiAxNiBieXRlcyAvIGZyYW1lICovCisJLnBlcmlvZHNfbWluID0gMiwKKwkucGVyaW9kc19tYXggPSAxMDI0LAorCS5idWZmZXJfYnl0ZXNfbWF4ID0gMzIgKiAxMDI0LAorfTsKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogRGF0YSB0eXBlcworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgeworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXM7CisJZG1hX2FkZHJfdCBkbWFfYnVmZmVyOwkvKiBwaHlzaWNhbCBhZGRyZXNzIG9mIERNQSBidWZmZXIgKi8KKwlkbWFfYWRkcl90IGRtYV9idWZmZXJfZW5kOyAvKiBmaXJzdCBhZGRyZXNzIGJleW9uZCBETUEgYnVmZmVyICovCisJc2l6ZV90IHBlcmlvZF9zaXplOworCisJZG1hX2FkZHJfdCBwZXJpb2RfcHRyOwkvKiBwaHlzaWNhbCBhZGRyZXNzIG9mIG5leHQgcGVyaW9kICovCisJaW50IHBlcmlvZHM7CQkvKiBwZXJpb2QgaW5kZXggb2YgcGVyaW9kX3B0ciAqLworCisJLyogU2F2ZSBQREMgcmVnaXN0ZXJzIChmb3IgcG93ZXIgbWFuYWdlbWVudCkgKi8KKwl1MzIgcGRjX3hwcl9zYXZlOworCXUzMiBwZGNfeGNyX3NhdmU7CisJdTMyIHBkY194bnByX3NhdmU7CisJdTMyIHBkY194bmNyX3NhdmU7Cit9OworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBIZWxwZXIgZnVuY3Rpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyBpbnQgYXQzMl9wY21fcHJlYWxsb2NhdGVfZG1hX2J1ZmZlcihzdHJ1Y3Qgc25kX3BjbSAqcGNtLCBpbnQgc3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtID0gcGNtLT5zdHJlYW1zW3N0cmVhbV0uc3Vic3RyZWFtOworCXN0cnVjdCBzbmRfZG1hX2J1ZmZlciAqZG1hYnVmID0gJnN1YnN0cmVhbS0+ZG1hX2J1ZmZlcjsKKwlzaXplX3Qgc2l6ZSA9IGF0MzJfcGNtX2hhcmR3YXJlLmJ1ZmZlcl9ieXRlc19tYXg7CisKKwlkbWFidWYtPmRldi50eXBlID0gU05EUlZfRE1BX1RZUEVfREVWOworCWRtYWJ1Zi0+ZGV2LmRldiA9IHBjbS0+Y2FyZC0+ZGV2OworCWRtYWJ1Zi0+cHJpdmF0ZV9kYXRhID0gTlVMTDsKKwlkbWFidWYtPmFyZWEgPSBkbWFfYWxsb2NfY29oZXJlbnQocGNtLT5jYXJkLT5kZXYsIHNpemUsCisJCQkJCSAgJmRtYWJ1Zi0+YWRkciwgR0ZQX0tFUk5FTCk7CisJcHJfZGVidWcoImF0MzJfcGNtOiBwcmVhbGxvY2F0ZV9kbWFfYnVmZmVyOiAiCisJCSAiYXJlYT0lcCwgYWRkcj0lcCwgc2l6ZT0lbGRcbiIsCisJCSAodm9pZCAqKWRtYWJ1Zi0+YXJlYSwgKHZvaWQgKilkbWFidWYtPmFkZHIsIHNpemUpOworCisJaWYgKCFkbWFidWYtPmFyZWEpCisJCXJldHVybiAtRU5PTUVNOworCisJZG1hYnVmLT5ieXRlcyA9IHNpemU7CisJcmV0dXJuIDA7Cit9CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIElTUgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBhdDMyX3BjbV9kbWFfaXJxKHUzMiBzc2Nfc3IsIHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydGQtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCXN0YXRpYyBpbnQgY291bnQ7CisKKwljb3VudCsrOworCWlmIChzc2Nfc3IgJiBwYXJhbXMtPm1hc2stPnNzY19lbmRidWYpIHsKKwkJcHJfd2FybmluZygiYXQzMi1wY206IGJ1ZmZlciAlcyBvbiAlcyAoU1NDX1NSPSUjeCwgY291bnQ9JWQpXG4iLAorCQkJICAgc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyA/CisJCQkgICAidW5kZXJydW4iIDogIm92ZXJydW4iLCBwYXJhbXMtPm5hbWUsIHNzY19zciwgY291bnQpOworCisJCS8qIHJlLXN0YXJ0IHRoZSBQREMgKi8KKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKwkJcHJ0ZC0+cGVyaW9kX3B0ciArPSBwcnRkLT5wZXJpb2Rfc2l6ZTsKKwkJaWYgKHBydGQtPnBlcmlvZF9wdHIgPj0gcHJ0ZC0+ZG1hX2J1ZmZlcl9lbmQpCisJCQlwcnRkLT5wZXJpb2RfcHRyID0gcHJ0ZC0+ZG1hX2J1ZmZlcjsKKworCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCX0KKworCisJaWYgKHNzY19zciAmIHBhcmFtcy0+bWFzay0+c3NjX2VuZHgpIHsKKwkJLyogTG9hZCB0aGUgUERDIG5leHQgcG9pbnRlciBhbmQgY291bnRlciByZWdpc3RlcnMgKi8KKwkJcHJ0ZC0+cGVyaW9kX3B0ciArPSBwcnRkLT5wZXJpb2Rfc2l6ZTsKKwkJaWYgKHBydGQtPnBlcmlvZF9wdHIgPj0gcHJ0ZC0+ZG1hX2J1ZmZlcl9lbmQpCisJCQlwcnRkLT5wZXJpb2RfcHRyID0gcHJ0ZC0+ZG1hX2J1ZmZlcjsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IsCisJCQkgICBwcnRkLT5wZXJpb2Rfc2l6ZSAvIHBhcmFtcy0+cGRjX3hmZXJfc2l6ZSk7CisJfQorCisKKwlzbmRfcGNtX3BlcmlvZF9lbGFwc2VkKHN1YnN0cmVhbSk7Cit9CisKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIFBDTSBvcGVyYXRpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KK3N0YXRpYyBpbnQgYXQzMl9wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJICAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCisJLyogdGhpcyBtYXkgZ2V0IGNhbGxlZCBzZXZlcmFsIHRpbWVzIGJ5IG9zcyBlbXVsYXRpb24KKwkgKiB3aXRoIGRpZmZlcmVudCBwYXJhbXMKKwkgKi8KKwlzbmRfcGNtX3NldF9ydW50aW1lX2J1ZmZlcihzdWJzdHJlYW0sICZzdWJzdHJlYW0tPmRtYV9idWZmZXIpOworCXJ1bnRpbWUtPmRtYV9ieXRlcyA9IHBhcmFtc19idWZmZXJfYnl0ZXMocGFyYW1zKTsKKworCXBydGQtPnBhcmFtcyA9IHJ0ZC0+ZGFpLT5jcHVfZGFpLT5kbWFfZGF0YTsKKwlwcnRkLT5wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIgPSBhdDMyX3BjbV9kbWFfaXJxOworCisJcHJ0ZC0+ZG1hX2J1ZmZlciA9IHJ1bnRpbWUtPmRtYV9hZGRyOworCXBydGQtPmRtYV9idWZmZXJfZW5kID0gcnVudGltZS0+ZG1hX2FkZHIgKyBydW50aW1lLT5kbWFfYnl0ZXM7CisJcHJ0ZC0+cGVyaW9kX3NpemUgPSBwYXJhbXNfcGVyaW9kX2J5dGVzKHBhcmFtcyk7CisKKwlwcl9kZWJ1ZygiaHdfcGFyYW1zOiBETUEgZm9yICVzIGluaXRpYWxpemVkICIKKwkJICIoZG1hX2J5dGVzPSVsZCwgcGVyaW9kX3NpemU9JWxkKVxuIiwKKwkJIHBydGQtPnBhcmFtcy0+bmFtZSwgcnVudGltZS0+ZG1hX2J5dGVzLCBwcnRkLT5wZXJpb2Rfc2l6ZSk7CisKKwlyZXR1cm4gMDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21faHdfZnJlZShzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQgPSBzdWJzdHJlYW0tPnJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJaWYgKHBhcmFtcyAhPSBOVUxMKSB7CisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19QRENfUFRDUiwKKwkJCSAgIHBhcmFtcy0+bWFzay0+cGRjX2Rpc2FibGUpOworCQlwcnRkLT5wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIgPSBOVUxMOworCX0KKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3BjbV9wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHN1YnN0cmVhbS0+cnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfSURSLAorCQkgICBwYXJhbXMtPm1hc2stPnNzY19lbmR4IHwgcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKTsKKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBBVE1FTF9QRENfUFRDUiwKKwkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZGlzYWJsZSk7CisKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IGF0MzJfcGNtX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZCA9IHJ0ZC0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisJaW50IHJldCA9IDA7CisKKwlwcl9kZWJ1ZygiYXQzMl9wY21fdHJpZ2dlcjogYnVmZmVyX3NpemUgPSAlbGQsICIKKwkJICJkbWFfYXJlYSA9ICVwLCBkbWFfYnl0ZXMgPSAlbGRcbiIsCisJCSBydGQtPmJ1ZmZlcl9zaXplLCBydGQtPmRtYV9hcmVhLCBydGQtPmRtYV9ieXRlcyk7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJCXBydGQtPnBlcmlvZF9wdHIgPSBwcnRkLT5kbWFfYnVmZmVyOworCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIsCisJCQkgICBwcnRkLT5wZXJpb2RfcHRyKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKworCQlwcnRkLT5wZXJpb2RfcHRyICs9IHBydGQtPnBlcmlvZF9zaXplOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wciwKKwkJCSAgIHBydGQtPnBlcmlvZF9wdHIpOworCQlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jciwKKwkJCSAgIHBydGQtPnBlcmlvZF9zaXplIC8gcGFyYW1zLT5wZGNfeGZlcl9zaXplKTsKKworCQlwcl9kZWJ1ZygidHJpZ2dlcjogcGVyaW9kX3B0cj0lbHgsIHhwcj0leCwgIgorCQkJICJ4Y3I9JWQsIHhucHI9JXgsIHhuY3I9JWRcbiIsCisJCQkgKHVuc2lnbmVkIGxvbmcpcHJ0ZC0+cGVyaW9kX3B0ciwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIpLAorCQkJIHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhjciksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wciksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5jcikpOworCisJCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19JRVIsCisJCQkgICBwYXJhbXMtPm1hc2stPnNzY19lbmR4IHwgcGFyYW1zLT5tYXNrLT5zc2NfZW5kYnVmKTsKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgU1NDX1BEQ19QVENSLAorCQkJICAgcGFyYW1zLT5tYXNrLT5wZGNfZW5hYmxlKTsKKworCQlwcl9kZWJ1Zygic3I9JXgsIGltcj0leFxuIiwKKwkJCSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIFNTQ19TUiksCisJCQkgc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBTU0NfSUVSKSk7CisJCWJyZWFrOwkJLyogU05EUlZfUENNX1RSSUdHRVJfU1RBUlQgKi8KKworCisKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NUT1A6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVVNQRU5EOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUEFVU0VfUFVTSDoKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUkVTVU1FOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfUEFVU0VfUkVMRUFTRToKKwkJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgQVRNRUxfUERDX1BUQ1IsCisJCQkgICBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworCisKK3N0YXRpYyBzbmRfcGNtX3VmcmFtZXNfdCBhdDMyX3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXMgPSBwcnRkLT5wYXJhbXM7CisJZG1hX2FkZHJfdCBwdHI7CisJc25kX3BjbV91ZnJhbWVzX3QgeDsKKworCXB0ciA9IChkbWFfYWRkcl90KSBzc2NfcmVhZHgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54cHIpOworCXggPSBieXRlc190b19mcmFtZXMocnVudGltZSwgcHRyIC0gcHJ0ZC0+ZG1hX2J1ZmZlcik7CisKKwlpZiAoeCA9PSBydW50aW1lLT5idWZmZXJfc2l6ZSkKKwkJeCA9IDA7CisKKwlyZXR1cm4geDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fb3BlbihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdDMyX3J1bnRpbWVfZGF0YSAqcHJ0ZDsKKwlpbnQgcmV0ID0gMDsKKworCXNuZF9zb2Nfc2V0X3J1bnRpbWVfaHdwYXJhbXMoc3Vic3RyZWFtLCAmYXQzMl9wY21faGFyZHdhcmUpOworCisJLyogZW5zdXJlIHRoYXQgYnVmZmVyIHNpemUgaXMgYSBtdWx0aXBsZSBvZiBwZXJpb2Qgc2l6ZSAqLworCXJldCA9IHNuZF9wY21faHdfY29uc3RyYWludF9pbnRlZ2VyKHJ1bnRpbWUsCisJCQkJCSAgICBTTkRSVl9QQ01fSFdfUEFSQU1fUEVSSU9EUyk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0OworCisJcHJ0ZCA9IGt6YWxsb2Moc2l6ZW9mKCpwcnRkKSwgR0ZQX0tFUk5FTCk7CisJaWYgKHBydGQgPT0gTlVMTCkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dDsKKwl9CisJcnVudGltZS0+cHJpdmF0ZV9kYXRhID0gcHJ0ZDsKKworCitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworCisKK3N0YXRpYyBpbnQgYXQzMl9wY21fY2xvc2Uoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkID0gc3Vic3RyZWFtLT5ydW50aW1lLT5wcml2YXRlX2RhdGE7CisKKwlrZnJlZShwcnRkKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IGF0MzJfcGNtX21tYXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCit7CisJcmV0dXJuIHJlbWFwX3Bmbl9yYW5nZSh2bWEsIHZtYS0+dm1fc3RhcnQsCisJCQkgICAgICAgc3Vic3RyZWFtLT5kbWFfYnVmZmVyLmFkZHIgPj4gUEFHRV9TSElGVCwKKwkJCSAgICAgICB2bWEtPnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQsIHZtYS0+dm1fcGFnZV9wcm90KTsKK30KKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3BjbV9vcHMgYXQzMl9wY21fb3BzID0geworCS5vcGVuID0gYXQzMl9wY21fb3BlbiwKKwkuY2xvc2UgPSBhdDMyX3BjbV9jbG9zZSwKKwkuaW9jdGwgPSBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zID0gYXQzMl9wY21faHdfcGFyYW1zLAorCS5od19mcmVlID0gYXQzMl9wY21faHdfZnJlZSwKKwkucHJlcGFyZSA9IGF0MzJfcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIgPSBhdDMyX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyID0gYXQzMl9wY21fcG9pbnRlciwKKwkubW1hcCA9IGF0MzJfcGNtX21tYXAsCit9OworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBBU29DIHBsYXRmb3JtIGRyaXZlcgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdTY0IGF0MzJfcGNtX2RtYW1hc2sgPSAweGZmZmZmZmZmOworCitzdGF0aWMgaW50IGF0MzJfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsCisJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwkJCXN0cnVjdCBzbmRfcGNtICpwY20pCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoIWNhcmQtPmRldi0+ZG1hX21hc2spCisJCWNhcmQtPmRldi0+ZG1hX21hc2sgPSAmYXQzMl9wY21fZG1hbWFzazsKKwlpZiAoIWNhcmQtPmRldi0+Y29oZXJlbnRfZG1hX21hc2spCisJCWNhcmQtPmRldi0+Y29oZXJlbnRfZG1hX21hc2sgPSAweGZmZmZmZmZmOworCisJaWYgKGRhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluKSB7CisJCXJldCA9IGF0MzJfcGNtX3ByZWFsbG9jYXRlX2RtYV9idWZmZXIoCisJCQkgIHBjbSwgU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSyk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKwlpZiAoZGFpLT5jYXB0dXJlLmNoYW5uZWxzX21pbikgeworCQlwcl9kZWJ1ZygiYXQzMi1wY206IEFsbG9jYXRpbmcgUENNIGNhcHR1cmUgRE1BIGJ1ZmZlclxuIik7CisJCXJldCA9IGF0MzJfcGNtX3ByZWFsbG9jYXRlX2RtYV9idWZmZXIoCisJCQkgIHBjbSwgU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gb3V0OworCX0KKworCitvdXQ6CisJcmV0dXJuIHJldDsKK30KKworCisKK3N0YXRpYyB2b2lkIGF0MzJfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMoc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwlzdHJ1Y3Qgc25kX2RtYV9idWZmZXIgKmJ1ZjsKKwlpbnQgc3RyZWFtOworCisJZm9yIChzdHJlYW0gPSAwOyBzdHJlYW0gPCAyOyBzdHJlYW0rKykgeworCQlzdWJzdHJlYW0gPSBwY20tPnN0cmVhbXNbc3RyZWFtXS5zdWJzdHJlYW07CisJCWlmIChzdWJzdHJlYW0gPT0gTlVMTCkKKwkJCWNvbnRpbnVlOworCisJCWJ1ZiA9ICZzdWJzdHJlYW0tPmRtYV9idWZmZXI7CisJCWlmICghYnVmLT5hcmVhKQorCQkJY29udGludWU7CisJCWRtYV9mcmVlX2NvaGVyZW50KHBjbS0+Y2FyZC0+ZGV2LCBidWYtPmJ5dGVzLAorCQkJCSAgYnVmLT5hcmVhLCBidWYtPmFkZHIpOworCQlidWYtPmFyZWEgPSBOVUxMOworCX0KK30KKworCisKKyNpZmRlZiBDT05GSUdfUE0KK3N0YXRpYyBpbnQgYXQzMl9wY21fc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CisJc3RydWN0IGF0MzJfcnVudGltZV9kYXRhICpwcnRkOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpwYXJhbXM7CisKKwlpZiAocnVudGltZSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlwcnRkID0gcnVudGltZS0+cHJpdmF0ZV9kYXRhOworCXBhcmFtcyA9IHBydGQtPnBhcmFtczsKKworCS8qIERpc2FibGUgdGhlIFBEQyBhbmQgc2F2ZSB0aGUgUERDIHJlZ2lzdGVycyAqLworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFBEQ19QVENSLCBwYXJhbXMtPm1hc2stPnBkY19kaXNhYmxlKTsKKworCXBydGQtPnBkY194cHJfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhwcik7CisJcHJ0ZC0+cGRjX3hjcl9zYXZlID0gc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eGNyKTsKKwlwcnRkLT5wZGNfeG5wcl9zYXZlID0gc3NjX3JlYWR4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eG5wcik7CisJcHJ0ZC0+cGRjX3huY3Jfc2F2ZSA9IHNzY19yZWFkeChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhuY3IpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgaW50IGF0MzJfcGNtX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IGRhaS0+cnVudGltZTsKKwlzdHJ1Y3QgYXQzMl9ydW50aW1lX2RhdGEgKnBydGQ7CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKnBhcmFtczsKKworCWlmIChydW50aW1lID09IE5VTEwpCisJCXJldHVybiAwOworCXBydGQgPSBydW50aW1lLT5wcml2YXRlX2RhdGE7CisJcGFyYW1zID0gcHJ0ZC0+cGFyYW1zOworCisJLyogUmVzdG9yZSB0aGUgUERDIHJlZ2lzdGVycyBhbmQgZW5hYmxlIHRoZSBQREMgKi8KKwlzc2Nfd3JpdGV4KHBhcmFtcy0+c3NjLT5yZWdzLCBwYXJhbXMtPnBkYy0+eHByLCBwcnRkLT5wZGNfeHByX3NhdmUpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54Y3IsIHBydGQtPnBkY194Y3Jfc2F2ZSk7CisJc3NjX3dyaXRleChwYXJhbXMtPnNzYy0+cmVncywgcGFyYW1zLT5wZGMtPnhucHIsIHBydGQtPnBkY194bnByX3NhdmUpOworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIHBhcmFtcy0+cGRjLT54bmNyLCBwcnRkLT5wZGNfeG5jcl9zYXZlKTsKKworCXNzY193cml0ZXgocGFyYW1zLT5zc2MtPnJlZ3MsIFBEQ19QVENSLCBwYXJhbXMtPm1hc2stPnBkY19lbmFibGUpOworCXJldHVybiAwOworfQorI2Vsc2UgLyogQ09ORklHX1BNICovCisjICBkZWZpbmUgYXQzMl9wY21fc3VzcGVuZAlOVUxMCisjICBkZWZpbmUgYXQzMl9wY21fcmVzdW1lCU5VTEwKKyNlbmRpZiAvKiBDT05GSUdfUE0gKi8KKworCisKK3N0cnVjdCBzbmRfc29jX3BsYXRmb3JtIGF0MzJfc29jX3BsYXRmb3JtID0geworCS5uYW1lID0gImF0MzItYXVkaW8iLAorCS5wY21fb3BzID0gJmF0MzJfcGNtX29wcywKKwkucGNtX25ldyA9IGF0MzJfcGNtX25ldywKKwkucGNtX2ZyZWUgPSBhdDMyX3BjbV9mcmVlX2RtYV9idWZmZXJzLAorCS5zdXNwZW5kID0gYXQzMl9wY21fc3VzcGVuZCwKKwkucmVzdW1lID0gYXQzMl9wY21fcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF0MzJfc29jX3BsYXRmb3JtKTsKKworCisKK01PRFVMRV9BVVRIT1IoIkdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdG1lbCBBVDMyIFBDTSBtb2R1bGUiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmggYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNTI0MzAKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXQzMi9hdDMyLXBjbS5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItcGNtLmgKKyAqIEFTb0MgUENNIGludGVyZmFjZSBmb3IgQXRtZWwgQVQzMiBTb0MKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpZm5kZWYgX19TT1VORF9TT0NfQVQzMl9BVDMyX1BDTV9ICisjZGVmaW5lIF9fU09VTkRfU09DX0FUMzJfQVQzMl9QQ01fSCBfX0ZJTEVfXworCisjaW5jbHVkZSA8bGludXgvYXRtZWwtc3NjLmg+CisKKworLyoKKyAqIFJlZ2lzdGVycyBhbmQgc3RhdHVzIGJpdHMgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdGhlIFBDTSBkcml2ZXIKKyAqIFRPRE86IElzIHB0Y3IgcmVhbGx5IHVzZWQ/CisgKi8KK3N0cnVjdCBhdDMyX3BkY19yZWdzIHsKKwl1MzIgeHByOwkJLyogUERDIFJYL1RYIHBvaW50ZXIgKi8KKwl1MzIgeGNyOwkJLyogUERDIFJYL1RYIGNvdW50ZXIgKi8KKwl1MzIgeG5wcjsJCS8qIFBEQyBuZXh0IFJYL1RYIHBvaW50ZXIgKi8KKwl1MzIgeG5jcjsJCS8qIFBEQyBuZXh0IFJYL1RYIGNvdW50ZXIgKi8KKwl1MzIgcHRjcjsJCS8qIFBEQyB0cmFuc2ZlciBjb250cm9sICovCit9OworCisKKworLyoKKyAqIFNTQyBtYXNrIGluZm8KKyAqLworc3RydWN0IGF0MzJfc3NjX21hc2sgeworCXUzMiBzc2NfZW5hYmxlOwkJLyogU1NDIFJYL1RYIGVuYWJsZSAqLworCXUzMiBzc2NfZGlzYWJsZTsJLyogU1NDIFJYL1RYIGRpc2FibGUgKi8KKwl1MzIgc3NjX2VuZHg7CQkvKiBTU0MgRU5EVFggb3IgRU5EUlggKi8KKwl1MzIgc3NjX2VuZGJ1ZjsJCS8qIFNTQyBUWEJVRkYgb3IgUlhCVUZGICovCisJdTMyIHBkY19lbmFibGU7CQkvKiBQREMgUlgvVFggZW5hYmxlICovCisJdTMyIHBkY19kaXNhYmxlOwkvKiBQREMgUlgvVFggZGlzYWJsZSAqLworfTsKKworCisKKy8qCisgKiBUaGlzIHN0cnVjdHVyZSwgc2hhcmVkIGJldHdlZW4gdGhlIFBDTSBkcml2ZXIgYW5kIHRoZSBpbnRlcmZhY2UsCisgKiBjb250YWlucyBhbGwgaW5mb3JtYXRpb24gcmVxdWlyZWQgYnkgdGhlIFBDTSBkcml2ZXIgdG8gcGVyZm9ybSB0aGUKKyAqIFBEQyBETUEgb3BlcmF0aW9uLiAgQWxsIGZpZWxkcyBleGNlcHQgZG1hX2ludHJfaGFuZGxlcigpIGFyZSBpbml0aWFsaXplZAorICogYnkgdGhlIGludGVyZmFjZS4gIFRoZSBkbXNfaW50cl9oYW5kbGVyKCkgcG9pbnRlciBpcyBzZXQgYnkgdGhlIFBDTQorICogZHJpdmVyIGFuZCBjYWxsZWQgYnkgdGhlIGludGVyZmFjZSBTU0MgaW50ZXJydXB0IGhhbmRsZXIgaWYgaXQgaXMKKyAqIG5vbi1OVUxMLgorICovCitzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyB7CisJY2hhciAqbmFtZTsJCS8qIHN0cmVhbSBpZGVudGlmaWVyICovCisJaW50IHBkY194ZmVyX3NpemU7CS8qIFBEQyBjb3VudGVyIGluY3JlbWVudCBpbiBieXRlcyAqLworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2M7CS8qIFNTQyBkZXZpY2UgZm9yIHN0cmVhbSAqLworCXN0cnVjdCBhdDMyX3BkY19yZWdzICpwZGM7CS8qIFBEQyByZWdpc3RlciBpbmZvICovCisJc3RydWN0IGF0MzJfc3NjX21hc2sgKm1hc2s7CS8qIFNTQyBtYXNrIGluZm8gKi8KKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbTsKKwl2b2lkICgqZG1hX2ludHJfaGFuZGxlcikgKHUzMiwgc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICopOworfTsKKworCisKKy8qCisgKiBUaGUgQVQzMiBBU29DIHBsYXRmb3JtIGRyaXZlcgorICovCitleHRlcm4gc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXQzMl9zb2NfcGxhdGZvcm07CisKKworCisvKgorICogU1NDIHJlZ2lzdGVyIGFjY2VzcyAoc2luY2Ugc3NjX3dyaXRlbCgpIC8gc3NjX3JlYWRsKCkgcmVxdWlyZSBsaXRlcmFsIG5hbWUpCisgKi8KKyNkZWZpbmUgc3NjX3JlYWR4KGJhc2UsIHJlZykgICAgICAgICAgICAoX19yYXdfcmVhZGwoKGJhc2UpICsgKHJlZykpKQorI2RlZmluZSBzc2Nfd3JpdGV4KGJhc2UsIHJlZywgdmFsdWUpICAgIF9fcmF3X3dyaXRlbCgodmFsdWUpLCAoYmFzZSkgKyAocmVnKSkKKworI2VuZGlmIC8qIF9fU09VTkRfU09DX0FUMzJfQVQzMl9QQ01fSCAqLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuYyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVmNjQ5MgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMKQEAgLTAsMCArMSw4NDkgQEAKKy8qIHNvdW5kL3NvYy9hdDMyL2F0MzItc3NjLmMKKyAqIEFTb0MgcGxhdGZvcm0gZHJpdmVyIGZvciBBVDMyIHVzaW5nIFNTQyBhcyBEQUkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlzIGJhc2ljYWxseSBhIHBvcnQgb2YgdGhlIHNvdW5kL3NvYy9hdDkxLXNzYy5jIHRvCisgKiB0aGUgQVZSMzIga2VybmVsLiAgVGhhbmtzIHRvIEZyYW5rIE1hbmRhcmlubyBmb3IgdGhhdCBjb2RlLgorICovCisKKy8qICNkZWZpbmUgREVCVUcgKi8KKworI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L2Nsay5oPgorI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWxfcGRjLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWwtc3NjLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKworI2luY2x1ZGUgImF0MzItcGNtLmgiCisjaW5jbHVkZSAiYXQzMi1zc2MuaCIKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBDb25zdGFudHMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIE5VTV9TU0NfREVWSUNFUwkJMworCisvKgorICogU1NDIGRpcmVjdGlvbiBtYXNrcworICovCisjZGVmaW5lIFNTQ19ESVJfTUFTS19VTlVTRUQJMAorI2RlZmluZSBTU0NfRElSX01BU0tfUExBWUJBQ0sJMQorI2RlZmluZSBTU0NfRElSX01BU0tfQ0FQVFVSRQkyCisKKy8qCisgKiBTU0MgcmVnaXN0ZXIgdmFsdWVzIHRoYXQgQXRtZWwgbGVmdCBvdXQgb2YgPGxpbnV4L2F0bWVsLXNzYy5oPi4gIFRoZXNlCisgKiBhcmUgZXhwZWN0ZWQgdG8gYmUgdXNlZCB3aXRoIFNTQ19CRgorICovCisvKiBTVEFSVCBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19TVEFSVF9DT05USU5VT1VTCTAKKyNkZWZpbmUgU1NDX1NUQVJUX1RYX1JYCQkxCisjZGVmaW5lIFNTQ19TVEFSVF9MT1dfUkYJMgorI2RlZmluZSBTU0NfU1RBUlRfSElHSF9SRgkzCisjZGVmaW5lIFNTQ19TVEFSVF9GQUxMSU5HX1JGCTQKKyNkZWZpbmUgU1NDX1NUQVJUX1JJU0lOR19SRgk1CisjZGVmaW5lIFNTQ19TVEFSVF9MRVZFTF9SRgk2CisjZGVmaW5lIFNTQ19TVEFSVF9FREdFX1JGCTcKKyNkZWZpbmUgU1NTX1NUQVJUX0NPTVBBUkVfMAk4CisKKy8qIENLSSBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19DS0lfRkFMTElORwkJMAorI2RlZmluZSBTU0NfQ0tJX1JJU0lORwkJMQorCisvKiBDS08gYml0IGZpZWxkIHZhbHVlcyAqLworI2RlZmluZSBTU0NfQ0tPX05PTkUJCTAKKyNkZWZpbmUgU1NDX0NLT19DT05USU5VT1VTCTEKKyNkZWZpbmUgU1NDX0NLT19UUkFOU0ZFUgkyCisKKy8qIENLUyBiaXQgZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFNTQ19DS1NfRElWCQkwCisjZGVmaW5lIFNTQ19DS1NfQ0xPQ0sJCTEKKyNkZWZpbmUgU1NDX0NLU19QSU4JCTIKKworLyogRlNFREdFIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0ZTRURHRV9QT1NJVElWRQkwCisjZGVmaW5lIFNTQ19GU0VER0VfTkVHQVRJVkUJMQorCisvKiBGU09TIGJpdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUgU1NDX0ZTT1NfTk9ORQkJMAorI2RlZmluZSBTU0NfRlNPU19ORUdBVElWRQkxCisjZGVmaW5lIFNTQ19GU09TX1BPU0lUSVZFCTIKKyNkZWZpbmUgU1NDX0ZTT1NfTE9XCQkzCisjZGVmaW5lIFNTQ19GU09TX0hJR0gJCTQKKyNkZWZpbmUgU1NDX0ZTT1NfVE9HR0xFCQk1CisKKyNkZWZpbmUgU1RBUlRfREVMQVkJCTEKKworCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBNb2R1bGUgZGF0YQorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCisgKiBTU0MgUERDIHJlZ2lzdGVyZWQgcmVxdWlyZWQgYnkgdGhlIFBDTSBETUEgZW5naW5lCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQzMl9wZGNfcmVncyBwZGNfdHhfcmVnID0geworCS54cHIgPSBTU0NfUERDX1RQUiwKKwkueGNyID0gU1NDX1BEQ19UQ1IsCisJLnhucHIgPSBTU0NfUERDX1ROUFIsCisJLnhuY3IgPSBTU0NfUERDX1ROQ1IsCit9OworCisKKworc3RhdGljIHN0cnVjdCBhdDMyX3BkY19yZWdzIHBkY19yeF9yZWcgPSB7CisJLnhwciA9IFNTQ19QRENfUlBSLAorCS54Y3IgPSBTU0NfUERDX1JDUiwKKwkueG5wciA9IFNTQ19QRENfUk5QUiwKKwkueG5jciA9IFNTQ19QRENfUk5DUiwKK307CisKKworCisvKgorICogU1NDIGFuZCBQREMgc3RhdHVzIGJpdHMgZm9yIHRyYW5zbWl0IGFuZCByZWNlaXZlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQzMl9zc2NfbWFzayBzc2NfdHhfbWFzayA9IHsKKwkuc3NjX2VuYWJsZSA9IFNTQ19CSVQoQ1JfVFhFTiksCisJLnNzY19kaXNhYmxlID0gU1NDX0JJVChDUl9UWERJUyksCisJLnNzY19lbmR4ID0gU1NDX0JJVChTUl9FTkRUWCksCisJLnNzY19lbmRidWYgPSBTU0NfQklUKFNSX1RYQlVGRSksCisJLnBkY19lbmFibGUgPSBTU0NfQklUKFBEQ19QVENSX1RYVEVOKSwKKwkucGRjX2Rpc2FibGUgPSBTU0NfQklUKFBEQ19QVENSX1RYVERJUyksCit9OworCisKKworc3RhdGljIHN0cnVjdCBhdDMyX3NzY19tYXNrIHNzY19yeF9tYXNrID0geworCS5zc2NfZW5hYmxlID0gU1NDX0JJVChDUl9SWEVOKSwKKwkuc3NjX2Rpc2FibGUgPSBTU0NfQklUKENSX1JYRElTKSwKKwkuc3NjX2VuZHggPSBTU0NfQklUKFNSX0VORFJYKSwKKwkuc3NjX2VuZGJ1ZiA9IFNTQ19CSVQoU1JfUlhCVUZGKSwKKwkucGRjX2VuYWJsZSA9IFNTQ19CSVQoUERDX1BUQ1JfUlhURU4pLAorCS5wZGNfZGlzYWJsZSA9IFNTQ19CSVQoUERDX1BUQ1JfUlhURElTKSwKK307CisKKworCisvKgorICogRE1BIHBhcmFtZXRlcnMgZm9yIGVhY2ggU1NDCisgKi8KK3N0YXRpYyBzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyBzc2NfZG1hX3BhcmFtc1tOVU1fU1NDX0RFVklDRVNdWzJdID0geworCXsKKwkgeworCSAgLm5hbWUgPSAiU1NDMCBQQ00gb3V0IiwKKwkgIC5wZGMgPSAmcGRjX3R4X3JlZywKKwkgIC5tYXNrID0gJnNzY190eF9tYXNrLAorCSAgfSwKKwkgeworCSAgLm5hbWUgPSAiU1NDMCBQQ00gaW4iLAorCSAgLnBkYyA9ICZwZGNfcnhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3J4X21hc2ssCisJICB9LAorCSB9LAorCXsKKwkgeworCSAgLm5hbWUgPSAiU1NDMSBQQ00gb3V0IiwKKwkgIC5wZGMgPSAmcGRjX3R4X3JlZywKKwkgIC5tYXNrID0gJnNzY190eF9tYXNrLAorCSAgfSwKKwkgeworCSAgLm5hbWUgPSAiU1NDMSBQQ00gaW4iLAorCSAgLnBkYyA9ICZwZGNfcnhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3J4X21hc2ssCisJICB9LAorCSB9LAorCXsKKwkgeworCSAgLm5hbWUgPSAiU1NDMiBQQ00gb3V0IiwKKwkgIC5wZGMgPSAmcGRjX3R4X3JlZywKKwkgIC5tYXNrID0gJnNzY190eF9tYXNrLAorCSAgfSwKKwkgeworCSAgLm5hbWUgPSAiU1NDMiBQQ00gaW4iLAorCSAgLnBkYyA9ICZwZGNfcnhfcmVnLAorCSAgLm1hc2sgPSAmc3NjX3J4X21hc2ssCisJICB9LAorCSB9LAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3QgYXQzMl9zc2NfaW5mbyBzc2NfaW5mb1tOVU1fU1NDX0RFVklDRVNdID0geworCXsKKwkgLm5hbWUgPSAic3NjMCIsCisJIC5sb2NrID0gX19TUElOX0xPQ0tfVU5MT0NLRUQoc3NjX2luZm9bMF0ubG9jayksCisJIC5kaXJfbWFzayA9IFNTQ19ESVJfTUFTS19VTlVTRUQsCisJIC5pbml0aWFsaXplZCA9IDAsCisJIH0sCisJeworCSAubmFtZSA9ICJzc2MxIiwKKwkgLmxvY2sgPSBfX1NQSU5fTE9DS19VTkxPQ0tFRChzc2NfaW5mb1sxXS5sb2NrKSwKKwkgLmRpcl9tYXNrID0gU1NDX0RJUl9NQVNLX1VOVVNFRCwKKwkgLmluaXRpYWxpemVkID0gMCwKKwkgfSwKKwl7CisJIC5uYW1lID0gInNzYzIiLAorCSAubG9jayA9IF9fU1BJTl9MT0NLX1VOTE9DS0VEKHNzY19pbmZvWzJdLmxvY2spLAorCSAuZGlyX21hc2sgPSBTU0NfRElSX01BU0tfVU5VU0VELAorCSAuaW5pdGlhbGl6ZWQgPSAwLAorCSB9LAorfTsKKworCisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlwKKyAqIElTUgorXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qCisgKiBTU0MgaW50ZXJydXB0IGhhbmRsZXIuICBQYXNzZXMgUERDIGludGVycnVwdHMgdG8gdGhlIERNQSBpbnRlcnJ1cHQKKyAqIGhhbmRsZXIgaW4gdGhlIFBDTSBkcml2ZXIuCisgKi8KK3N0YXRpYyBpcnFyZXR1cm5fdCBhdDMyX3NzY19pbnRlcnJ1cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9IGRldl9pZDsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtczsKKwl1MzIgc3NjX3NyOworCXUzMiBzc2Nfc3Vic3RyZWFtX21hc2s7CisJaW50IGk7CisKKwlzc2Nfc3IgPSAoc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFNSKSAmCisJCSAgc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIElNUikpOworCisJLyoKKwkgKiBMb29wIHRocm91Z2ggc3Vic3RyZWFtcyBhdHRhY2hlZCB0byB0aGlzIFNTQy4gIElmIGEgRE1BLXJlbGF0ZWQKKwkgKiBpbnRlcnJ1cHQgb2NjdXJlZCBvbiB0aGF0IHN1YnN0cmVhbSwgY2FsbCB0aGUgRE1BIGludGVycnVwdAorCSAqIGhhbmRsZXIgZnVuY3Rpb24sIGlmIG9uZSBoYXMgYmVlbiByZWdpc3RlcmVkIGluIHRoZSBkbWFfcGFyYW0KKwkgKiBzdHJ1Y3R1cmUgYnkgdGhlIFBDTSBkcml2ZXIuCisJICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc3NjX3AtPmRtYV9wYXJhbXMpOyBpKyspIHsKKwkJZG1hX3BhcmFtcyA9IHNzY19wLT5kbWFfcGFyYW1zW2ldOworCisJCWlmICgoZG1hX3BhcmFtcyAhPSBOVUxMKSAmJgorCQkgICAgKGRtYV9wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIgIT0gTlVMTCkpIHsKKwkJCXNzY19zdWJzdHJlYW1fbWFzayA9IChkbWFfcGFyYW1zLT5tYXNrLT5zc2NfZW5keCB8CisJCQkJCSAgICAgIGRtYV9wYXJhbXMtPm1hc2stPnNzY19lbmRidWYpOworCQkJaWYgKHNzY19zciAmIHNzY19zdWJzdHJlYW1fbWFzaykgeworCQkJCWRtYV9wYXJhbXMtPmRtYV9pbnRyX2hhbmRsZXIoc3NjX3NyLAorCQkJCQkJCSAgICAgZG1hX3BhcmFtcy0+CisJCQkJCQkJICAgICBzdWJzdHJlYW0pOworCQkJfQorCQl9CisJfQorCisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7Cit9CisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBEQUkgZnVuY3Rpb25zCitcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworLyoKKyAqIFN0YXJ0dXAuICBPbmx5IHRoYXQgb25lIHN1YnN0cmVhbSBhbGxvd2VkIGluIGVhY2ggZGlyZWN0aW9uLgorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tydGQtPmRhaS0+Y3B1X2RhaS0+aWRdOworCWludCBkaXJfbWFzazsKKworCWRpcl9tYXNrID0gKChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSA/CisJCSAgICBTU0NfRElSX01BU0tfUExBWUJBQ0sgOiBTU0NfRElSX01BU0tfQ0FQVFVSRSk7CisKKwlzcGluX2xvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisJaWYgKHNzY19wLT5kaXJfbWFzayAmIGRpcl9tYXNrKSB7CisJCXNwaW5fdW5sb2NrX2lycSgmc3NjX3AtPmxvY2spOworCQlyZXR1cm4gLUVCVVNZOworCX0KKwlzc2NfcC0+ZGlyX21hc2sgfD0gZGlyX21hc2s7CisJc3Bpbl91bmxvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisKKwlyZXR1cm4gMDsKK30KKworCisKKy8qCisgKiBTaHV0ZG93bi4gIENsZWFyIERNQSBwYXJhbWV0ZXJzIGFuZCBzaHV0ZG93biB0aGUgU1NDIGlmIHRoZXJlCisgKiBhcmUgbm8gb3RoZXIgc3Vic3RyZWFtcyBvcGVuLgorICovCitzdGF0aWMgdm9pZCBhdDMyX3NzY19zaHV0ZG93bihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW3J0ZC0+ZGFpLT5jcHVfZGFpLT5pZF07CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisJaW50IGRpcl9tYXNrOworCisJZG1hX3BhcmFtcyA9IHNzY19wLT5kbWFfcGFyYW1zW3N1YnN0cmVhbS0+c3RyZWFtXTsKKworCWlmIChkbWFfcGFyYW1zICE9IE5VTEwpIHsKKwkJc3NjX3dyaXRlbChkbWFfcGFyYW1zLT5zc2MtPnJlZ3MsIENSLAorCQkJICAgZG1hX3BhcmFtcy0+bWFzay0+c3NjX2Rpc2FibGUpOworCQlwcl9kZWJ1ZygiJXMgZGlzYWJsZWQgU1NDX1NSPTB4JTA4eFxuIiwKKwkJCSAoc3Vic3RyZWFtLT5zdHJlYW0gPyAicmVjZWl2ZXIiIDogInRyYW5zbWl0IiksCisJCQkgc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFNSKSk7CisKKwkJZG1hX3BhcmFtcy0+c3NjID0gTlVMTDsKKwkJZG1hX3BhcmFtcy0+c3Vic3RyZWFtID0gTlVMTDsKKwkJc3NjX3AtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dID0gTlVMTDsKKwl9CisKKworCWRpcl9tYXNrID0gMSA8PCBzdWJzdHJlYW0tPnN0cmVhbTsKKwlzcGluX2xvY2tfaXJxKCZzc2NfcC0+bG9jayk7CisJc3NjX3AtPmRpcl9tYXNrICY9IH5kaXJfbWFzazsKKwlpZiAoIXNzY19wLT5kaXJfbWFzaykgeworCQkvKiBTaHV0ZG93biB0aGUgU1NDIGNsb2NrICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU3RvcHBpbmcgdXNlciAlZCBjbG9ja1xuIiwKKwkJCSBzc2NfcC0+c3NjLT51c2VyKTsKKwkJY2xrX2Rpc2FibGUoc3NjX3AtPnNzYy0+Y2xrKTsKKworCQlpZiAoc3NjX3AtPmluaXRpYWxpemVkKSB7CisJCQlmcmVlX2lycShzc2NfcC0+c3NjLT5pcnEsIHNzY19wKTsKKwkJCXNzY19wLT5pbml0aWFsaXplZCA9IDA7CisJCX0KKworCQkvKiBSZXNldCB0aGUgU1NDICovCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIFNTQ19CSVQoQ1JfU1dSU1QpKTsKKworCQkvKiBjbGVhciB0aGUgU1NDIGRpdmlkZXJzICovCisJCXNzY19wLT5jbXJfZGl2ID0gMDsKKwkJc3NjX3AtPnRjbXJfcGVyaW9kID0gMDsKKwkJc3NjX3AtPnJjbXJfcGVyaW9kID0gMDsKKwl9CisJc3Bpbl91bmxvY2tfaXJxKCZzc2NfcC0+bG9jayk7Cit9CisKKworCisvKgorICogU2V0IHRoZSBTU0Mgc3lzdGVtIGNsb2NrIHJhdGUKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCisJCQkJICAgaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJLyogVE9ETzogV2hhdCB0aGUgaGVjayBkbyBJIGRvIGhlcmU/ICovCisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogUmVjb3JkIERBSSBmb3JtYXQgZm9yIHVzZSBieSBod19wYXJhbXMoKQorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CisKKwlzc2NfcC0+ZGFpZm10ID0gZm10OworCXJldHVybiAwOworfQorCisKKworLyoKKyAqIFJlY29yZCBTU0MgY2xvY2sgZGl2aWRlcnMgZm9yIHVzZSBpbiBod19wYXJhbXMoKQorICovCitzdGF0aWMgaW50IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKKwkJCQkgICBpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tjcHVfZGFpLT5pZF07CisKKwlzd2l0Y2ggKGRpdl9pZCkgeworCWNhc2UgQVQzMl9TU0NfQ01SX0RJVjoKKwkJLyoKKwkJICogVGhlIHNhbWUgbWFzdGVyIGNsb2NrIGRpdmlkZXIgaXMgdXNlZCBmb3IgYm90aAorCQkgKiB0cmFuc21pdCBhbmQgcmVjZWl2ZSwgc28gaWYgYSB2YWx1ZSBoYXMgYWxyZWFkeQorCQkgKiBiZWVuIHNldCwgaXQgbXVzdCBtYXRjaCB0aGlzIHZhbHVlCisJCSAqLworCQlpZiAoc3NjX3AtPmNtcl9kaXYgPT0gMCkKKwkJCXNzY19wLT5jbXJfZGl2ID0gZGl2OworCQllbHNlIGlmIChkaXYgIT0gc3NjX3AtPmNtcl9kaXYpCisJCQlyZXR1cm4gLUVCVVNZOworCQlicmVhazsKKworCWNhc2UgQVQzMl9TU0NfVENNUl9QRVJJT0Q6CisJCXNzY19wLT50Y21yX3BlcmlvZCA9IGRpdjsKKwkJYnJlYWs7CisKKwljYXNlIEFUMzJfU1NDX1JDTVJfUEVSSU9EOgorCQlzc2NfcC0+cmNtcl9wZXJpb2QgPSBkaXY7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworCisvKgorICogQ29uZmlndXJlIHRoZSBTU0MKKyAqLworc3RhdGljIGludCBhdDMyX3NzY19od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJCQkgICAgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJaW50IGlkID0gcnRkLT5kYWktPmNwdV9kYWktPmlkOworCXN0cnVjdCBhdDMyX3NzY19pbmZvICpzc2NfcCA9ICZzc2NfaW5mb1tpZF07CisJc3RydWN0IGF0MzJfcGNtX2RtYV9wYXJhbXMgKmRtYV9wYXJhbXM7CisJaW50IGNoYW5uZWxzLCBiaXRzOworCXUzMiB0Zm1yLCByZm1yLCB0Y21yLCByY21yOworCWludCBzdGFydF9ldmVudDsKKwlpbnQgcmV0OworCisKKwkvKgorCSAqIEN1cnJlbnRseSwgdGhlcmUgaXMgb25seSBvbmUgc2V0IG9mIGRtYV9wYXJhbXMgZm9yIGVhY2ggZGlyZWN0aW9uLgorCSAqIElmIG1vcmUgYXJlIGFkZGVkLCB0aGlzIGNvZGUgd2lsbCBoYXZlIHRvIGJlIGNoYW5nZWQgdG8gc2VsZWN0CisJICogdGhlIHByb3BlciBzZXQKKwkgKi8KKwlkbWFfcGFyYW1zID0gJnNzY19kbWFfcGFyYW1zW2lkXVtzdWJzdHJlYW0tPnN0cmVhbV07CisJZG1hX3BhcmFtcy0+c3NjID0gc3NjX3AtPnNzYzsKKwlkbWFfcGFyYW1zLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisKKwlzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV0gPSBkbWFfcGFyYW1zOworCisKKwkvKgorCSAqIFRoZSBjcHVfZGFpLT5kbWFfZGF0YSBmaWVsZCBpcyBvbmx5IHVzZWQgdG8gY29tbXVuaWNhdGUgdGhlCisJICogYXBwcm9wcmlhdGUgRE1BIHBhcmFtZXRlcnMgdG8gdGhlIFBDTSBkcml2ZXIncyBod19wYXJhbXMoKQorCSAqIGZ1bmN0aW9uLiAgSXQgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBvdGhlciBwdXJwb3NlcyBhcyBpdAorCSAqIGlzIGNvbW1vbiB0byBhbGwgc3Vic3RyZWFtcy4KKwkgKi8KKwlydGQtPmRhaS0+Y3B1X2RhaS0+ZG1hX2RhdGEgPSBkbWFfcGFyYW1zOworCisJY2hhbm5lbHMgPSBwYXJhbXNfY2hhbm5lbHMocGFyYW1zKTsKKworCisJLyoKKwkgKiBEZXRlcm1pbmUgc2FtcGxlIHNpemUgaW4gYml0cyBhbmQgdGhlIFBEQyBpbmNyZW1lbnQKKwkgKi8KKwlzd2l0Y2ggKHBhcmFtc19mb3JtYXQocGFyYW1zKSkgeworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TODoKKwkJYml0cyA9IDg7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSAxOworCQlicmVhazsKKworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMTY6CisJCWJpdHMgPSAxNjsKKwkJZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSA9IDI7CisJCWJyZWFrOworCisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyNDoKKwkJYml0cyA9IDI0OworCQlkbWFfcGFyYW1zLT5wZGNfeGZlcl9zaXplID0gNDsKKwkJYnJlYWs7CisKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzMyOgorCQliaXRzID0gMzI7CisJCWRtYV9wYXJhbXMtPnBkY194ZmVyX3NpemUgPSA0OworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXByX3dhcm5pbmcoImF0MzItc3NjOiBVbnN1cHBvcnRlZCBQQ00gZm9ybWF0ICVkIiwKKwkJCSAgIHBhcmFtc19mb3JtYXQocGFyYW1zKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlwcl9kZWJ1ZygiYXQzMi1zc2M6IGJpdHMgPSAlZCwgcGRjX3hmZXJfc2l6ZSA9ICVkLCBjaGFubmVscyA9ICVkXG4iLAorCQkgYml0cywgZG1hX3BhcmFtcy0+cGRjX3hmZXJfc2l6ZSwgY2hhbm5lbHMpOworCisKKwkvKgorCSAqIFRoZSBTU0Mgb25seSBzdXBwb3J0cyB1cCB0byAxNi1iaXQgc2FtcGxlcyBpbiBJMlMgZm9ybWF0LCBkdWUKKwkgKiB0byB0aGUgc2l6ZSBvZiB0aGUgRnJhbWUgTW9kZSBSZWdpc3RlciBGU0xFTiBmaWVsZC4KKwkgKi8KKwlpZiAoKHNzY19wLT5kYWlmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgPT0gU05EX1NPQ19EQUlGTVRfSTJTKQorCQlpZiAoYml0cyA+IDE2KSB7CisJCQlwcl93YXJuaW5nKCJhdDMyLXNzYzogIgorCQkJCSAgICJzYW1wbGUgc2l6ZSAlZCBpcyB0b28gbGFyZ2UgZm9yIEkyU1xuIiwKKwkJCQkgICBiaXRzKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKworCS8qCisJICogQ29tcHV0ZSB0aGUgU1NDIHJlZ2lzdGVyIHNldHRpbmdzCisJICovCisJc3dpdGNoIChzc2NfcC0+ZGFpZm10ICYgKFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLIHwKKwkJCQkgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgorCQkvKgorCQkgKiBJMlMgZm9ybWF0LCBTU0MgcHJvdmlkZXMgQkNMSyBhbmQgTFJTIGNsb2Nrcy4KKwkJICoKKwkJICogVGhlIFNTQyB0cmFuc21pdCBhbmQgcmVjZWl2ZSBjbG9ja3MgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZQorCQkgKiBNQ0sgZGl2aWRlciwgYW5kIHRoZSBCQ0xLIHNpZ25hbCBpcyBvdXRwdXQgb24gdGhlIFNTQyBUSyBsaW5lCisJCSAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBtb2RlIGlzIEkyUyBCQ0xLIC8gRlJBTUUgbWFzdGVyXG4iKTsKKwkJcmNtciA9IChTU0NfQkYoUkNNUl9QRVJJT0QsIHNzY19wLT5yY21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFJDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFJDTVJfU1RBUlQsIFNTQ19TVEFSVF9GQUxMSU5HX1JGKSB8CisJCQlTU0NfQkYoUkNNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoUkNNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFJDTVJfQ0tTLCBTU0NfQ0tTX0RJVikpOworCisJCXJmbXIgPSAoU1NDX0JGKFJGTVJfRlNFREdFLCBTU0NfRlNFREdFX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9GU09TLCBTU0NfRlNPU19ORUdBVElWRSkgfAorCQkJU1NDX0JGKFJGTVJfRlNMRU4sIGJpdHMgLSAxKSB8CisJCQlTU0NfQkYoUkZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8CisJCQlTU0NfQklUKFJGTVJfTVNCRikgfCBTU0NfQkYoUkZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisKKwkJdGNtciA9IChTU0NfQkYoVENNUl9QRVJJT0QsIHNzY19wLT50Y21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFRDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFRDTVJfU1RBUlQsIFNTQ19TVEFSVF9GQUxMSU5HX1JGKSB8CisJCQlTU0NfQkYoVENNUl9DS0ksIFNTQ19DS0lfRkFMTElORykgfAorCQkJU1NDX0JGKFRDTVJfQ0tPLCBTU0NfQ0tPX0NPTlRJTlVPVVMpIHwKKwkJCVNTQ19CRihUQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQl0Zm1yID0gKFNTQ19CRihURk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfRlNPUywgU1NDX0ZTT1NfTkVHQVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTTEVOLCBiaXRzIC0gMSkgfAorCQkJU1NDX0JGKFRGTVJfREFUTkIsIGNoYW5uZWxzIC0gMSkgfCBTU0NfQklUKFRGTVJfTVNCRikgfAorCQkJU1NDX0JGKFRGTVJfREFUTEVOLCBiaXRzIC0gMSkpOworCQlicmVhazsKKworCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCQkvKgorCQkgKiBJMlMgZm9ybWF0LCBDT0RFQyBzdXBwbGllcyBCQ0xLIGFuZCBMUkMgY2xvY2suCisJCSAqCisJCSAqIFRoZSBTU0MgdHJhbnNtaXQgY2xvY2sgaXMgb2J0YWluZWQgZnJvbSB0aGUgQkNMSyBzaWduYWwKKwkJICogb24gdGhlIFRLIGxpbmUsIGFuZCB0aGUgU1NDIHJlY2VpdmUgY2xvY2sgaXMgZ2VuZXJhdGVkIGZyb20KKwkJICogdGhlIHRyYW5zbWl0IGNsb2NrLgorCQkgKgorCQkgKiBGb3Igc2luZ2xlIGNoYW5uZWwgZGF0YSwgb25lIHNhbXBsZSBpcyB0cmFuc2ZlcnJlZCBvbiB0aGUKKwkJICogZmFsbGluZyBlZGdlIG9mIHRoZSBMUkMgY2xvY2suICBGb3IgdHdvIGNoYW5uZWwgZGF0YSwgb25lCisJCSAqIHNhbXBsZSBpcyB0cmFuc2ZlcnJlZCBvbiBib3RoIGVkZ2VzIG9mIHRoZSBMUkMgY2xvY2suCisJCSAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFNTQyBtb2RlIGlzIEkyUyBCQ0xLIC8gRlJBTUUgc2xhdmVcbiIpOworCQlzdGFydF9ldmVudCA9ICgoY2hhbm5lbHMgPT0gMSkgPworCQkJICAgICAgIFNTQ19TVEFSVF9GQUxMSU5HX1JGIDogU1NDX1NUQVJUX0VER0VfUkYpOworCisJCXJjbXIgPSAoU1NDX0JGKFJDTVJfU1RURExZLCBTVEFSVF9ERUxBWSkgfAorCQkJU1NDX0JGKFJDTVJfU1RBUlQsIHN0YXJ0X2V2ZW50KSB8CisJCQlTU0NfQkYoUkNNUl9DS0ksIFNTQ19DS0lfUklTSU5HKSB8CisJCQlTU0NfQkYoUkNNUl9DS08sIFNTQ19DS09fTk9ORSkgfAorCQkJU1NDX0JGKFJDTVJfQ0tTLCBTU0NfQ0tTX0NMT0NLKSk7CisKKwkJcmZtciA9IChTU0NfQkYoUkZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTT1MsIFNTQ19GU09TX05PTkUpIHwKKwkJCVNTQ19CSVQoUkZNUl9NU0JGKSB8IFNTQ19CRihSRk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKworCQl0Y21yID0gKFNTQ19CRihUQ01SX1NUVERMWSwgU1RBUlRfREVMQVkpIHwKKwkJCVNTQ19CRihUQ01SX1NUQVJULCBzdGFydF9ldmVudCkgfAorCQkJU1NDX0JGKFRDTVJfQ0tJLCBTU0NfQ0tJX0ZBTExJTkcpIHwKKwkJCVNTQ19CRihUQ01SX0NLTywgU1NDX0NLT19OT05FKSB8CisJCQlTU0NfQkYoVENNUl9DS1MsIFNTQ19DS1NfUElOKSk7CisKKwkJdGZtciA9IChTU0NfQkYoVEZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0ZTT1MsIFNTQ19GU09TX05PTkUpIHwKKwkJCVNTQ19CSVQoVEZNUl9NU0JGKSB8IFNTQ19CRihURk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0EgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgorCQkvKgorCQkgKiBEU1AvUENNIE1vZGUgQSBmb3JtYXQsIFNTQyBwcm92aWRlcyBCQ0xLIGFuZCBMUkMgY2xvY2tzLgorCQkgKgorCQkgKiBUaGUgU1NDIHRyYW5zbWl0IGFuZCByZWNlaXZlIGNsb2NrcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlCisJCSAqIE1DSyBkaXZpZGVyLCBhbmQgdGhlIEJDTEsgc2lnbmFsIGlzIG91dHB1dCBvbiB0aGUgU1NDIFRLIGxpbmUKKwkJICovCisJCXByX2RlYnVnKCJhdDMyLXNzYzogU1NDIG1vZGUgaXMgRFNQIEEgQkNMSyAvIEZSQU1FIG1hc3RlclxuIik7CisJCXJjbXIgPSAoU1NDX0JGKFJDTVJfUEVSSU9ELCBzc2NfcC0+cmNtcl9wZXJpb2QpIHwKKwkJCVNTQ19CRihSQ01SX1NUVERMWSwgMSkgfAorCQkJU1NDX0JGKFJDTVJfU1RBUlQsIFNTQ19TVEFSVF9SSVNJTkdfUkYpIHwKKwkJCVNTQ19CRihSQ01SX0NLSSwgU1NDX0NLSV9SSVNJTkcpIHwKKwkJCVNTQ19CRihSQ01SX0NLTywgU1NDX0NLT19OT05FKSB8CisJCQlTU0NfQkYoUkNNUl9DS1MsIFNTQ19DS1NfRElWKSk7CisKKwkJcmZtciA9IChTU0NfQkYoUkZNUl9GU0VER0UsIFNTQ19GU0VER0VfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihSRk1SX0ZTT1MsIFNTQ19GU09TX1BPU0lUSVZFKSB8CisJCQlTU0NfQkYoUkZNUl9EQVROQiwgY2hhbm5lbHMgLSAxKSB8CisJCQlTU0NfQklUKFJGTVJfTVNCRikgfCBTU0NfQkYoUkZNUl9EQVRMRU4sIGJpdHMgLSAxKSk7CisKKwkJdGNtciA9IChTU0NfQkYoVENNUl9QRVJJT0QsIHNzY19wLT50Y21yX3BlcmlvZCkgfAorCQkJU1NDX0JGKFRDTVJfU1RURExZLCAxKSB8CisJCQlTU0NfQkYoVENNUl9TVEFSVCwgU1NDX1NUQVJUX1JJU0lOR19SRikgfAorCQkJU1NDX0JGKFRDTVJfQ0tJLCBTU0NfQ0tJX1JJU0lORykgfAorCQkJU1NDX0JGKFRDTVJfQ0tPLCBTU0NfQ0tPX0NPTlRJTlVPVVMpIHwKKwkJCVNTQ19CRihUQ01SX0NLUywgU1NDX0NLU19ESVYpKTsKKworCQl0Zm1yID0gKFNTQ19CRihURk1SX0ZTRURHRSwgU1NDX0ZTRURHRV9QT1NJVElWRSkgfAorCQkJU1NDX0JGKFRGTVJfRlNPUywgU1NDX0ZTT1NfUE9TSVRJVkUpIHwKKwkJCVNTQ19CRihURk1SX0RBVE5CLCBjaGFubmVscyAtIDEpIHwKKwkJCVNTQ19CSVQoVEZNUl9NU0JGKSB8IFNTQ19CRihURk1SX0RBVExFTiwgYml0cyAtIDEpKTsKKwkJYnJlYWs7CisKKworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0EgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCWRlZmF1bHQ6CisJCXByX3dhcm5pbmcoImF0MzItc3NjOiB1bnN1cHBvcnRlZCBEQUkgZm9ybWF0IDB4JXhcbiIsCisJCQkgICBzc2NfcC0+ZGFpZm10KTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJCWJyZWFrOworCX0KKwlwcl9kZWJ1ZygiYXQzMi1zc2M6IFJDTVI9JTA4eCBSRk1SPSUwOHggVENNUj0lMDh4IFRGTVI9JTA4eFxuIiwKKwkJIHJjbXIsIHJmbXIsIHRjbXIsIHRmbXIpOworCisKKwlpZiAoIXNzY19wLT5pbml0aWFsaXplZCkgeworCQkvKiBlbmFibGUgcGVyaXBoZXJhbCBjbG9jayAqLworCQlwcl9kZWJ1ZygiYXQzMi1zc2M6IFN0YXJ0aW5nIGNsb2NrXG4iKTsKKwkJY2xrX2VuYWJsZShzc2NfcC0+c3NjLT5jbGspOworCisJCS8qIFJlc2V0IHRoZSBTU0MgYW5kIGl0cyBQREMgcmVnaXN0ZXJzICovCisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ1IsIFNTQ19CSVQoQ1JfU1dSU1QpKTsKKworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19SUFIsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19SQ1IsIDApOworCQlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFBEQ19STlBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfUk5DUiwgMCk7CisKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVFBSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVENSLCAwKTsKKwkJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBQRENfVE5QUiwgMCk7CisJCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUERDX1ROQ1IsIDApOworCisJCXJldCA9IHJlcXVlc3RfaXJxKHNzY19wLT5zc2MtPmlycSwgYXQzMl9zc2NfaW50ZXJydXB0LCAwLAorCQkJCSAgc3NjX3AtPm5hbWUsIHNzY19wKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByX3dhcm5pbmcoImF0MzItc3NjOiByZXF1ZXN0IGlycSBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKKwkJCXByX2RlYnVnKCJhdDMyLXNzYzogU3RvcHBpbmcgY2xvY2tcbiIpOworCQkJY2xrX2Rpc2FibGUoc3NjX3AtPnNzYy0+Y2xrKTsKKwkJCXJldHVybiByZXQ7CisJCX0KKworCQlzc2NfcC0+aW5pdGlhbGl6ZWQgPSAxOworCX0KKworCS8qIFNldCBTU0MgY2xvY2sgbW9kZSByZWdpc3RlciAqLworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ01SLCBzc2NfcC0+Y21yX2Rpdik7CisKKwkvKiBzZXQgcmVjZWl2ZSBjbG9jayBtb2RlIGFuZCBmb3JtYXQgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJDTVIsIHJjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgUkZNUiwgcmZtcik7CisKKwkvKiBzZXQgdHJhbnNtaXQgY2xvY2sgbW9kZSBhbmQgZm9ybWF0ICovCisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBUQ01SLCB0Y21yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRGTVIsIHRmbXIpOworCisJcHJfZGVidWcoImF0MzItc3NjOiBTU0MgaW5pdGlhbGl6ZWRcbiIpOworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3NzY19wcmVwYXJlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bcnRkLT5kYWktPmNwdV9kYWktPmlkXTsKKwlzdHJ1Y3QgYXQzMl9wY21fZG1hX3BhcmFtcyAqZG1hX3BhcmFtczsKKworCWRtYV9wYXJhbXMgPSBzc2NfcC0+ZG1hX3BhcmFtc1tzdWJzdHJlYW0tPnN0cmVhbV07CisKKwlzc2Nfd3JpdGVsKGRtYV9wYXJhbXMtPnNzYy0+cmVncywgQ1IsIGRtYV9wYXJhbXMtPm1hc2stPnNzY19lbmFibGUpOworCisJcmV0dXJuIDA7Cit9CisKKworCisjaWZkZWYgQ09ORklHX1BNCitzdGF0aWMgaW50IGF0MzJfc3NjX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wOworCisJaWYgKCFjcHVfZGFpLT5hY3RpdmUpCisJCXJldHVybiAwOworCisJc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJLyogU2F2ZSB0aGUgc3RhdHVzIHJlZ2lzdGVyIGJlZm9yZSBkaXNhYmxpbmcgdHJhbnNtaXQgYW5kIHJlY2VpdmUgKi8KKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19zciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBTUik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDUiwgU1NDX0JJVChDUl9UWERJUykgfCBTU0NfQklUKENSX1JYRElTKSk7CisKKwkvKiBTYXZlIHRoZSBjdXJyZW50IGludGVycnVwdCBtYXNrLCB0aGVuIGRpc2FibGUgdW5tYXNrZWQgaW50ZXJydXB0cyAqLworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX2ltciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBJTVIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgSURSLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19pbXIpOworCisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfY21yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIENNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfcmNtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBSQ01SKTsKKwlzc2NfcC0+c3NjX3N0YXRlLnNzY19yZm1yID0gc3NjX3JlYWRsKHNzY19wLT5zc2MtPnJlZ3MsIFJGTVIpOworCXNzY19wLT5zc2Nfc3RhdGUuc3NjX3RjbXIgPSBzc2NfcmVhZGwoc3NjX3AtPnNzYy0+cmVncywgVENNUik7CisJc3NjX3AtPnNzY19zdGF0ZS5zc2NfdGZtciA9IHNzY19yZWFkbChzc2NfcC0+c3NjLT5yZWdzLCBURk1SKTsKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIGludCBhdDMyX3NzY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgIHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3A7CisJdTMyIGNyOworCisJaWYgKCFjcHVfZGFpLT5hY3RpdmUpCisJCXJldHVybiAwOworCisJc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOworCisJLyogcmVzdG9yZSBTU0MgcmVnaXN0ZXIgc2V0dGluZ3MgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFRGTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3RmbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgVENNUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfdGNtcik7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBSRk1SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19yZm1yKTsKKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIFJDTVIsIHNzY19wLT5zc2Nfc3RhdGUuc3NjX3JjbXIpOworCXNzY193cml0ZWwoc3NjX3AtPnNzYy0+cmVncywgQ01SLCBzc2NfcC0+c3NjX3N0YXRlLnNzY19jbXIpOworCisJLyogcmUtZW5hYmxlIGludGVycnVwdHMgKi8KKwlzc2Nfd3JpdGVsKHNzY19wLT5zc2MtPnJlZ3MsIElFUiwgc3NjX3AtPnNzY19zdGF0ZS5zc2NfaW1yKTsKKworCS8qIFJlLWVuYWJsZSByZWNpZXZlIGFuZCB0cmFuc21pdCBhcyBhcHByb3ByaWF0ZSAqLworCWNyID0gMDsKKwljciB8PQorCSAgICAoc3NjX3AtPnNzY19zdGF0ZS5zc2Nfc3IgJiBTU0NfQklUKFNSX1JYRU4pKSA/IFNTQ19CSVQoQ1JfUlhFTikgOiAwOworCWNyIHw9CisJICAgIChzc2NfcC0+c3NjX3N0YXRlLnNzY19zciAmIFNTQ19CSVQoU1JfVFhFTikpID8gU1NDX0JJVChDUl9UWEVOKSA6IDA7CisJc3NjX3dyaXRlbChzc2NfcC0+c3NjLT5yZWdzLCBDUiwgY3IpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZSAvKiBDT05GSUdfUE0gKi8KKyMgIGRlZmluZSBhdDMyX3NzY19zdXNwZW5kCU5VTEwKKyMgIGRlZmluZSBhdDMyX3NzY19yZXN1bWUJTlVMTAorI2VuZGlmIC8qIENPTkZJR19QTSAqLworCisKKyNkZWZpbmUgQVQzMl9TU0NfUkFURVMgXAorICAgIChTTkRSVl9QQ01fUkFURV84MDAwICB8IFNORFJWX1BDTV9SQVRFXzExMDI1IHwgU05EUlZfUENNX1JBVEVfMTYwMDAgfCBcCisgICAgIFNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfMzIwMDAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKKyAgICAgU05EUlZfUENNX1JBVEVfNDgwMDAgfCBTTkRSVl9QQ01fUkFURV84ODIwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQorCisKKyNkZWZpbmUgQVQzMl9TU0NfRk9STUFUUyBcCisgICAgKFNORFJWX1BDTV9GTVRCSVRfUzggIHwgU05EUlZfUENNX0ZNVEJJVF9TMTYgfCBcCisgICAgIFNORFJWX1BDTV9GTVRCSVRfUzI0IHwgU05EUlZfUENNX0ZNVEJJVF9TMzIpCisKKworc3RydWN0IHNuZF9zb2NfZGFpIGF0MzJfc3NjX2RhaVtOVU1fU1NDX0RFVklDRVNdID0geworCXsKKwkgLm5hbWUgPSAiYXQzMi1zc2MwIiwKKwkgLmlkID0gMCwKKwkgLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCisJIC5zdXNwZW5kID0gYXQzMl9zc2Nfc3VzcGVuZCwKKwkgLnJlc3VtZSA9IGF0MzJfc3NjX3Jlc3VtZSwKKwkgLnBsYXliYWNrID0geworCQkgICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgIH0sCisJIC5jYXB0dXJlID0geworCQkgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgIC5yYXRlcyA9IEFUMzJfU1NDX1JBVEVTLAorCQkgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICB9LAorCSAub3BzID0geworCQkgLnN0YXJ0dXAgPSBhdDMyX3NzY19zdGFydHVwLAorCQkgLnNodXRkb3duID0gYXQzMl9zc2Nfc2h1dGRvd24sCisJCSAucHJlcGFyZSA9IGF0MzJfc3NjX3ByZXBhcmUsCisJCSAuaHdfcGFyYW1zID0gYXQzMl9zc2NfaHdfcGFyYW1zLAorCQkgfSwKKwkgLmRhaV9vcHMgPSB7CisJCSAgICAgLnNldF9zeXNjbGsgPSBhdDMyX3NzY19zZXRfZGFpX3N5c2NsaywKKwkJICAgICAuc2V0X2ZtdCA9IGF0MzJfc3NjX3NldF9kYWlfZm10LAorCQkgICAgIC5zZXRfY2xrZGl2ID0gYXQzMl9zc2Nfc2V0X2RhaV9jbGtkaXYsCisJCSAgICAgfSwKKwkgLnByaXZhdGVfZGF0YSA9ICZzc2NfaW5mb1swXSwKKwkgfSwKKwl7CisJIC5uYW1lID0gImF0MzItc3NjMSIsCisJIC5pZCA9IDEsCisJIC50eXBlID0gU05EX1NPQ19EQUlfUENNLAorCSAuc3VzcGVuZCA9IGF0MzJfc3NjX3N1c3BlbmQsCisJIC5yZXN1bWUgPSBhdDMyX3NzY19yZXN1bWUsCisJIC5wbGF5YmFjayA9IHsKKwkJICAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgIC5jaGFubmVsc19tYXggPSAyLAorCQkgICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgICB9LAorCSAuY2FwdHVyZSA9IHsKKwkJICAgICAuY2hhbm5lbHNfbWluID0gMSwKKwkJICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAucmF0ZXMgPSBBVDMyX1NTQ19SQVRFUywKKwkJICAgICAuZm9ybWF0cyA9IEFUMzJfU1NDX0ZPUk1BVFMsCisJCSAgICAgfSwKKwkgLm9wcyA9IHsKKwkJIC5zdGFydHVwID0gYXQzMl9zc2Nfc3RhcnR1cCwKKwkJIC5zaHV0ZG93biA9IGF0MzJfc3NjX3NodXRkb3duLAorCQkgLnByZXBhcmUgPSBhdDMyX3NzY19wcmVwYXJlLAorCQkgLmh3X3BhcmFtcyA9IGF0MzJfc3NjX2h3X3BhcmFtcywKKwkJIH0sCisJIC5kYWlfb3BzID0geworCQkgICAgIC5zZXRfc3lzY2xrID0gYXQzMl9zc2Nfc2V0X2RhaV9zeXNjbGssCisJCSAgICAgLnNldF9mbXQgPSBhdDMyX3NzY19zZXRfZGFpX2ZtdCwKKwkJICAgICAuc2V0X2Nsa2RpdiA9IGF0MzJfc3NjX3NldF9kYWlfY2xrZGl2LAorCQkgICAgIH0sCisJIC5wcml2YXRlX2RhdGEgPSAmc3NjX2luZm9bMV0sCisJIH0sCisJeworCSAubmFtZSA9ICJhdDMyLXNzYzIiLAorCSAuaWQgPSAyLAorCSAudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKKwkgLnN1c3BlbmQgPSBhdDMyX3NzY19zdXNwZW5kLAorCSAucmVzdW1lID0gYXQzMl9zc2NfcmVzdW1lLAorCSAucGxheWJhY2sgPSB7CisJCSAgICAgIC5jaGFubmVsc19taW4gPSAxLAorCQkgICAgICAuY2hhbm5lbHNfbWF4ID0gMiwKKwkJICAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgIC5mb3JtYXRzID0gQVQzMl9TU0NfRk9STUFUUywKKwkJICAgICAgfSwKKwkgLmNhcHR1cmUgPSB7CisJCSAgICAgLmNoYW5uZWxzX21pbiA9IDEsCisJCSAgICAgLmNoYW5uZWxzX21heCA9IDIsCisJCSAgICAgLnJhdGVzID0gQVQzMl9TU0NfUkFURVMsCisJCSAgICAgLmZvcm1hdHMgPSBBVDMyX1NTQ19GT1JNQVRTLAorCQkgICAgIH0sCisJIC5vcHMgPSB7CisJCSAuc3RhcnR1cCA9IGF0MzJfc3NjX3N0YXJ0dXAsCisJCSAuc2h1dGRvd24gPSBhdDMyX3NzY19zaHV0ZG93biwKKwkJIC5wcmVwYXJlID0gYXQzMl9zc2NfcHJlcGFyZSwKKwkJIC5od19wYXJhbXMgPSBhdDMyX3NzY19od19wYXJhbXMsCisJCSB9LAorCSAuZGFpX29wcyA9IHsKKwkJICAgICAuc2V0X3N5c2NsayA9IGF0MzJfc3NjX3NldF9kYWlfc3lzY2xrLAorCQkgICAgIC5zZXRfZm10ID0gYXQzMl9zc2Nfc2V0X2RhaV9mbXQsCisJCSAgICAgLnNldF9jbGtkaXYgPSBhdDMyX3NzY19zZXRfZGFpX2Nsa2RpdiwKKwkJICAgICB9LAorCSAucHJpdmF0ZV9kYXRhID0gJnNzY19pbmZvWzJdLAorCSB9LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKGF0MzJfc3NjX2RhaSk7CisKKworTU9EVUxFX0FVVEhPUigiR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkFUMzIgU1NDIEFTb0MgSW50ZXJmYWNlIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5oIGIvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzA1MmRiCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvYXQzMi1zc2MuaApAQCAtMCwwICsxLDU5IEBACisvKiBzb3VuZC9zb2MvYXQzMi9hdDMyLXNzYy5oCisgKiBBU29DIFNTQyBpbnRlcmZhY2UgZm9yIEF0bWVsIEFUMzIgU29DCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4IExvbmcgUmFuZ2UgU3lzdGVtcworICogICAgR2VvZmZyZXkgV29zc3VtIDxnd29zc3VtQGFjbS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fU09VTkRfU09DX0FUMzJfQVQzMl9TU0NfSAorI2RlZmluZSBfX1NPVU5EX1NPQ19BVDMyX0FUMzJfU1NDX0ggX19GSUxFX18KKworI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisjaW5jbHVkZSA8bGludXgvYXRtZWwtc3NjLmg+CisKKyNpbmNsdWRlICJhdDMyLXBjbS5oIgorCisKKworc3RydWN0IGF0MzJfc3NjX3N0YXRlIHsKKwl1MzIgc3NjX2NtcjsKKwl1MzIgc3NjX3JjbXI7CisJdTMyIHNzY19yZm1yOworCXUzMiBzc2NfdGNtcjsKKwl1MzIgc3NjX3RmbXI7CisJdTMyIHNzY19zcjsKKwl1MzIgc3NjX2ltcjsKK307CisKKworCitzdHJ1Y3QgYXQzMl9zc2NfaW5mbyB7CisJY2hhciAqbmFtZTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjOworCXNwaW5sb2NrX3QgbG9jazsJLyogbG9jayBmb3IgZGlyX21hc2sgKi8KKwl1bnNpZ25lZCBzaG9ydCBkaXJfbWFzazsJLyogMD11bnVzZWQsIDE9cGxheWJhY2ssIDI9Y2FwdHVyZSAqLworCXVuc2lnbmVkIHNob3J0IGluaXRpYWxpemVkOwkvKiB0cnVlIGlmIFNTQyBoYXMgYmVlbiBpbml0aWFsaXplZCAqLworCXVuc2lnbmVkIHNob3J0IGRhaWZtdDsKKwl1bnNpZ25lZCBzaG9ydCBjbXJfZGl2OworCXVuc2lnbmVkIHNob3J0IHRjbXJfcGVyaW9kOworCXVuc2lnbmVkIHNob3J0IHJjbXJfcGVyaW9kOworCXN0cnVjdCBhdDMyX3BjbV9kbWFfcGFyYW1zICpkbWFfcGFyYW1zWzJdOworCXN0cnVjdCBhdDMyX3NzY19zdGF0ZSBzc2Nfc3RhdGU7Cit9OworCisKKy8qIFNTQyBkaXZpZGVyIGlkcyAqLworI2RlZmluZSBBVDMyX1NTQ19DTVJfRElWICAgICAgICAwCS8qIE1DSyBkaXZpZGVyIGZvciBCQ0xLICovCisjZGVmaW5lIEFUMzJfU1NDX1RDTVJfUEVSSU9EICAgIDEJLyogQkNMSyBkaXZpZGVyIGZvciB0cmFuc21pdCBGUyAqLworI2RlZmluZSBBVDMyX1NTQ19SQ01SX1BFUklPRCAgICAyCS8qIEJDTEsgZGl2aWRlciBmb3IgcmVjZWl2ZSBGUyAqLworCisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYXQzMl9zc2NfZGFpW107CisKKworCisjZW5kaWYgLyogX19TT1VORF9TT0NfQVQzMl9BVDMyX1NTQ19IICovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQzMi9wbGF5cGFxX3dtODUxMC5jIGIvc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWU1ZjhlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYwpAQCAtMCwwICsxLDUyMiBAQAorLyogc291bmQvc29jL2F0MzIvcGxheXBhcV93bTg1MTAuYworICogQVNvQyBtYWNoaW5lIGRyaXZlciBmb3IgUGxheVBhcSB1c2luZyBXTTg1MTAgY29kZWMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggTG9uZyBSYW5nZSBTeXN0ZW1zCisgKiAgICBHZW9mZnJleSBXb3NzdW0gPGd3b3NzdW1AYWNtLm9yZz4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgY29kZSBpcyBsYXJnZWx5IGluc3BpcmVkIGJ5IHNvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYworICoKKyAqIE5PVEU6IElmIHlvdSBkb24ndCBoYXZlIHRoZSBBVDMyIGVuaGFuY2VkIHBvcnRtdXggY29uZmlndXJlZCAod2hpY2gKKyAqIGlzbid0IGN1cnJlbnRseSBpbiB0aGUgbWFpbmxpbmUgb3IgQXRtZWwgcGF0Y2hlZCBrZXJuZWwpLCB5b3Ugd2lsbAorICogbmVlZCB0byBzZXQgdGhlIE1DTEsgcGluIChQQTMwKSB0byBwZXJpcGhlcmFsIEEgaW4geW91ciBib2FyZCBpbml0aWFsaXphdGlvbgorICogY29kZS4gIFNvbWV0aGluZyBsaWtlOgorICoJYXQzMl9zZWxlY3RfcGVyaXBoKEdQSU9fUElOX1BBKDMwKSwgR1BJT19QRVJJUEhfQSwgMCk7CisgKgorICovCisKKy8qICNkZWZpbmUgREVCVUcgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CisjaW5jbHVkZSA8bGludXgvdGltZXIuaD4KKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKworI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9wY21fcGFyYW1zLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKworI2luY2x1ZGUgPGFzbS9hcmNoL2F0MzJhcDcwMHguaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9wb3J0bXV4Lmg+CisKKyNpbmNsdWRlICIuLi9jb2RlY3Mvd204NTEwLmgiCisjaW5jbHVkZSAiYXQzMi1wY20uaCIKKyNpbmNsdWRlICJhdDMyLXNzYy5oIgorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBjb25zdGFudHMKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisjZGVmaW5lIE1DTEtfUElOCQlHUElPX1BJTl9QQSgzMCkKKyNkZWZpbmUgTUNMS19QRVJJUEgJCUdQSU9fUEVSSVBIX0EKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogZGF0YSB0eXBlcworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKy8qIFNTQyBjbG9ja2luZyBkYXRhICovCitzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgeworCS8qIENNUiBkaXYgKi8KKwl1bnNpZ25lZCBpbnQgY21yX2RpdjsKKworCS8qIEZyYW1lIHBlcmlvZCAoYXMgbmVlZGVkIGJ5IHhDTVIuUEVSSU9EKSAqLworCXVuc2lnbmVkIGludCBwZXJpb2Q7CisKKwkvKiBUaGUgU1NDIGNsb2NrIHJhdGUgdGhlc2Ugc2V0dGluZ3Mgd2hlcmUgY2FsY3VsYXRlZCBmb3IgKi8KKwl1bnNpZ25lZCBsb25nIHNzY19yYXRlOworfTsKKworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXAorICogbW9kdWxlIGRhdGEKK1wqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgc3RydWN0IGNsayAqX2djbGswOworc3RhdGljIHN0cnVjdCBjbGsgKl9wbGwwOworCisjZGVmaW5lIENPREVDX0NMSyAoX2djbGswKQorCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcCisgKiBTb3VuZCBTT0Mgb3BlcmF0aW9ucworXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKyNpZiBkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorc3RhdGljIHN0cnVjdCBzc2NfY2xvY2tfZGF0YSBwbGF5cGFxX3dtODUxMF9jYWxjX3NzY19jbG9jaygKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcywKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2MgPSBzc2NfcC0+c3NjOworCXN0cnVjdCBzc2NfY2xvY2tfZGF0YSBjZDsKKwl1bnNpZ25lZCBpbnQgcmF0ZSwgd2lkdGhfYml0cywgY2hhbm5lbHM7CisJdW5zaWduZWQgaW50IGJpdHJhdGUsIHNzY19kaXY7CisJdW5zaWduZWQgYWN0dWFsX3JhdGU7CisKKworCS8qCisJICogRmlndXJlIG91dCByZXF1aXJlZCBiaXRyYXRlCisJICovCisJcmF0ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyk7CisJY2hhbm5lbHMgPSBwYXJhbXNfY2hhbm5lbHMocGFyYW1zKTsKKwl3aWR0aF9iaXRzID0gc25kX3BjbV9mb3JtYXRfcGh5c2ljYWxfd2lkdGgocGFyYW1zX2Zvcm1hdChwYXJhbXMpKTsKKwliaXRyYXRlID0gcmF0ZSAqIHdpZHRoX2JpdHMgKiBjaGFubmVsczsKKworCisJLyoKKwkgKiBGaWd1cmUgb3V0IHJlcXVpcmVkIFNTQyBkaXZpZGVyIGFuZCBwZXJpb2QgZm9yIHJlcXVpcmVkIGJpdHJhdGUKKwkgKi8KKwljZC5zc2NfcmF0ZSA9IGNsa19nZXRfcmF0ZShzc2MtPmNsayk7CisJc3NjX2RpdiA9IGNkLnNzY19yYXRlIC8gYml0cmF0ZTsKKwljZC5jbXJfZGl2ID0gc3NjX2RpdiAvIDI7CisJaWYgKHNzY19kaXYgJiAxKSB7CisJCS8qIHJvdW5kIGNtcl9kaXYgdXAgKi8KKwkJY2QuY21yX2RpdisrOworCX0KKwljZC5wZXJpb2QgPSB3aWR0aF9iaXRzIC0gMTsKKworCisJLyoKKwkgKiBGaW5kIGFjdHVhbCByYXRlLCBjb21wYXJlIHRvIHJlcXVlc3RlZCByYXRlCisJICovCisJYWN0dWFsX3JhdGUgPSAoY2Quc3NjX3JhdGUgLyAoY2QuY21yX2RpdiAqIDIpKSAvICgyICogKGNkLnBlcmlvZCArIDEpKTsKKwlwcl9kZWJ1ZygicGxheXBhcV93bTg1MTA6IFJlcXVlc3QgcmF0ZSA9ICVkLCBhY3R1YWwgcmF0ZSA9ICVkXG4iLAorCQkgcmF0ZSwgYWN0dWFsX3JhdGUpOworCisKKwlyZXR1cm4gY2Q7Cit9CisjZW5kaWYgLyogQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFICovCisKKworCitzdGF0aWMgaW50IHBsYXlwYXFfd204NTEwX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBjcHVfZGFpLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNzY19kZXZpY2UgKnNzYyA9IHNzY19wLT5zc2M7CisJdW5zaWduZWQgaW50IHBsbF9vdXQgPSAwLCBiY2xrID0gMCwgbWNsa19kaXYgPSAwOworCWludCByZXQ7CisKKworCS8qIER1ZSB0byBkaWZmaWN1bHRpZXMgd2l0aCBnZXR0aW5nIHRoZSBjb3JyZWN0IGNsb2NrcyBmcm9tIHRoZSBBVDMyJ3MKKwkgKiBQTEwwLCB3ZSdyZSBnb2luZyB0byBsZXQgdGhlIENPREVDIGJlIGluIGNoYXJnZSBvZiBhbGwgdGhlIGNsb2NrcworCSAqLworI2lmICFkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorCWNvbnN0IHVuc2lnbmVkIGludCBmbXQgPSAoU05EX1NPQ19EQUlGTVRfSTJTIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX05CX05GIHwKKwkJCQkgIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOworI2Vsc2UKKwlzdHJ1Y3Qgc3NjX2Nsb2NrX2RhdGEgY2Q7CisJY29uc3QgdW5zaWduZWQgaW50IGZtdCA9IChTTkRfU09DX0RBSUZNVF9JMlMgfAorCQkJCSAgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAorCQkJCSAgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CisjZW5kaWYKKworCWlmIChzc2MgPT0gTlVMTCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMF9od19wYXJhbXM6IHNzYyBpcyBOVUxMIVxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCisJLyoKKwkgKiBGaWd1cmUgb3V0IFBMTCBhbmQgQkNMSyBkaXZpZGVycyBmb3IgV004NTEwCisJICovCisJc3dpdGNoIChwYXJhbXNfcmF0ZShwYXJhbXMpKSB7CisJY2FzZSA0ODAwMDoKKwkJcGxsX291dCA9IDEyMjg4MDAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzE7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgNDQxMDA6CisJCXBsbF9vdXQgPSAxMTI4OTYwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl8xOworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDIyMDUwOgorCQlwbGxfb3V0ID0gMTEyODk2MDA7CisJCW1jbGtfZGl2ID0gV004NTEwX01DTEtESVZfMjsKKwkJYmNsayA9IFdNODUxMF9CQ0xLRElWXzg7CisJCWJyZWFrOworCisJY2FzZSAxNjAwMDoKKwkJcGxsX291dCA9IDEyMjg4MDAwOworCQltY2xrX2RpdiA9IFdNODUxMF9NQ0xLRElWXzM7CisJCWJjbGsgPSBXTTg1MTBfQkNMS0RJVl84OworCQlicmVhazsKKworCWNhc2UgMTEwMjU6CisJCXBsbF9vdXQgPSAxMTI4OTYwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl80OworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwljYXNlIDgwMDA6CisJCXBsbF9vdXQgPSAxMjI4ODAwMDsKKwkJbWNsa19kaXYgPSBXTTg1MTBfTUNMS0RJVl82OworCQliY2xrID0gV004NTEwX0JDTEtESVZfODsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogVW5zdXBwb3J0ZWQgc2FtcGxlIHJhdGUgJWRcbiIsCisJCQkgICBwYXJhbXNfcmF0ZShwYXJhbXMpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisKKwkvKgorCSAqIHNldCBDUFUgYW5kIENPREVDIERBSSBjb25maWd1cmF0aW9uCisJICovCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIGZtdCk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6ICIKKwkJCSAgICJGYWlsZWQgdG8gc2V0IENPREVDIERBSSBmb3JtYXQgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgZm10KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgQ1BVIERBSSBmb3JtYXQgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisKKwkvKgorCSAqIFNldCBDUFUgY2xvY2sgY29uZmlndXJhdGlvbgorCSAqLworI2lmIGRlZmluZWQgQ09ORklHX1NORF9BVDMyX1NPQ19QTEFZUEFRX1NMQVZFCisJY2QgPSBwbGF5cGFxX3dtODUxMF9jYWxjX3NzY19jbG9jayhwYXJhbXMsIGNwdV9kYWkpOworCXByX2RlYnVnKCJwbGF5cGFxX3dtODUxMDogY21yX2RpdiA9ICVkLCBwZXJpb2QgPSAlZFxuIiwKKwkJIGNkLmNtcl9kaXYsIGNkLnBlcmlvZCk7CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDMyX1NTQ19DTVJfRElWLCBjZC5jbXJfZGl2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDUFUgQ01SX0RJViAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2RpdihjcHVfZGFpLCBBVDMyX1NTQ19UQ01SX1BFUklPRCwKKwkJCQkJICBjZC5wZXJpb2QpOworCWlmIChyZXQgPCAwKSB7CisJCXByX3dhcm5pbmcoInBsYXlwYXFfd204NTEwOiAiCisJCQkgICAiRmFpbGVkIHRvIHNldCBDUFUgdHJhbnNtaXQgcGVyaW9kICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKyNlbmRpZiAvKiBDT05GSUdfU05EX0FUMzJfU09DX1BMQVlQQVFfU0xBVkUgKi8KKworCisJLyoKKwkgKiBTZXQgQ09ERUMgY2xvY2sgY29uZmlndXJhdGlvbgorCSAqLworCXByX2RlYnVnKCJwbGF5cGFxX3dtODUxMDogIgorCQkgInBsbF9pbiA9ICVsZCwgcGxsX291dCA9ICV1LCBiY2xrID0gJXgsIG1jbGsgPSAleFxuIiwKKwkJIGNsa19nZXRfcmF0ZShDT0RFQ19DTEspLCBwbGxfb3V0LCBiY2xrLCBtY2xrX2Rpdik7CisKKworI2lmICFkZWZpbmVkIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg1MTBfQkNMS0RJViwgYmNsayk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZworCQkgICAgKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDT0RFQyBEQUkgQkNMS0RJViAoJWQpXG4iLAorCQkgICAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorI2VuZGlmIC8qIENPTkZJR19TTkRfQVQzMl9TT0NfUExBWVBBUV9TTEFWRSAqLworCisKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgMCwKKwkJCQkJIGNsa19nZXRfcmF0ZShDT0RFQ19DTEspLCBwbGxfb3V0KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogRmFpbGVkIHRvIHNldCBDT0RFQyBEQUkgUExMICglZClcbiIsCisJCQkgICByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODUxMF9NQ0xLRElWLCBtY2xrX2Rpdik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfd2FybmluZygicGxheXBhcV93bTg1MTA6IEZhaWxlZCB0byBzZXQgQ09ERUMgTUNMS0RJViAoJWQpXG4iLAorCQkJICAgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKworCXJldHVybiAwOworfQorCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX29wcyBwbGF5cGFxX3dtODUxMF9vcHMgPSB7CisJLmh3X3BhcmFtcyA9IHBsYXlwYXFfd204NTEwX2h3X3BhcmFtcywKK307CisKKworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgcGxheXBhcV9kYXBtX3dpZGdldHNbXSA9IHsKKwlTTkRfU09DX0RBUE1fTUlDKCJJbnQgTWljIiwgTlVMTCksCisJU05EX1NPQ19EQVBNX1NQSygiRXh0IFNwayIsIE5VTEwpLAorfTsKKworCisKK3N0YXRpYyBjb25zdCBjaGFyICppbnRlcmNvbltdWzNdID0geworCS8qIHNwZWFrZXIgY29ubmVjdGVkIHRvIFNQS09VVCAqLworCXsiRXh0IFNwayIsIE5VTEwsICJTUEtPVVRQIn0sCisJeyJFeHQgU3BrIiwgTlVMTCwgIlNQS09VVE4ifSwKKworCXsiTWljIEJpYXMiLCBOVUxMLCAiSW50IE1pYyJ9LAorCXsiTUlDTiIsIE5VTEwsICJNaWMgQmlhcyJ9LAorCXsiTUlDUCIsIE5VTEwsICJNaWMgQmlhcyJ9LAorCisJLyogVGVybWluYXRvciAqLworCXtOVUxMLCBOVUxMLCBOVUxMfSwKK307CisKKworCitzdGF0aWMgaW50IHBsYXlwYXFfd204NTEwX2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBpOworCisJLyoKKwkgKiBBZGQgREFQTSB3aWRnZXRzCisJICovCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGxheXBhcV9kYXBtX3dpZGdldHMpOyBpKyspCisJCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJnBsYXlwYXFfZGFwbV93aWRnZXRzW2ldKTsKKworCisKKwkvKgorCSAqIFNldHVwIGF1ZGlvIHBhdGggaW50ZXJjb25uZWN0cworCSAqLworCWZvciAoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykgeworCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywKKwkJCQkJICAgaW50ZXJjb25baV1bMF0sCisJCQkJCSAgIGludGVyY29uW2ldWzFdLCBpbnRlcmNvbltpXVsyXSk7CisJfQorCisKKwkvKiBhbHdheXMgY29ubmVjdGVkIHBpbnMgKi8KKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkludCBNaWMiKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CisKKworCisJLyogTWFrZSBDU0Igc2hvdyBQTEwgcmF0ZSAqLworCXNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWMtPmRhaSwgV004NTEwX09QQ0xLRElWLAorCQkJCSAgICAgICBXTTg1MTBfT1BDTEtESVZfMSB8IDQpOworCisJcmV0dXJuIDA7Cit9CisKKworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgcGxheXBhcV93bTg1MTBfZGFpID0geworCS5uYW1lID0gIldNODUxMCIsCisJLnN0cmVhbV9uYW1lID0gIldNODUxMCBQQ00iLAorCS5jcHVfZGFpID0gJmF0MzJfc3NjX2RhaVswXSwKKwkuY29kZWNfZGFpID0gJndtODUxMF9kYWksCisJLmluaXQgPSBwbGF5cGFxX3dtODUxMF9pbml0LAorCS5vcHMgPSAmcGxheXBhcV93bTg1MTBfb3BzLAorfTsKKworCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lIHNuZF9zb2NfbWFjaGluZV9wbGF5cGFxID0geworCS5uYW1lID0gIkxSU19QbGF5UGFxX1dNODUxMCIsCisJLmRhaV9saW5rID0gJnBsYXlwYXFfd204NTEwX2RhaSwKKwkubnVtX2xpbmtzID0gMSwKK307CisKKworCitzdGF0aWMgc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhIHBsYXlwYXFfd204NTEwX3NldHVwID0geworCS5pMmNfYWRkcmVzcyA9IDB4MWEsCit9OworCisKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSBwbGF5cGFxX3dtODUxMF9zbmRfZGV2ZGF0YSA9IHsKKwkubWFjaGluZSA9ICZzbmRfc29jX21hY2hpbmVfcGxheXBhcSwKKwkucGxhdGZvcm0gPSAmYXQzMl9zb2NfcGxhdGZvcm0sCisJLmNvZGVjX2RldiA9ICZzb2NfY29kZWNfZGV2X3dtODUxMCwKKwkuY29kZWNfZGF0YSA9ICZwbGF5cGFxX3dtODUxMF9zZXR1cCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwbGF5cGFxX3NuZF9kZXZpY2U7CisKKworc3RhdGljIGludCBfX2luaXQgcGxheXBhcV9hc29jX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0ID0gMDsKKwlzdHJ1Y3QgYXQzMl9zc2NfaW5mbyAqc3NjX3AgPSBwbGF5cGFxX3dtODUxMF9kYWkuY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzc2NfZGV2aWNlICpzc2MgPSBOVUxMOworCisKKwkvKgorCSAqIFJlcXVlc3QgU1NDIGRldmljZQorCSAqLworCXNzYyA9IHNzY19yZXF1ZXN0KDApOworCWlmIChJU19FUlIoc3NjKSkgeworCQlyZXQgPSBQVFJfRVJSKHNzYyk7CisJCXNzYyA9IE5VTEw7CisJCWdvdG8gZXJyX3NzYzsKKwl9CisJc3NjX3AtPnNzYyA9IHNzYzsKKworCisJLyoKKwkgKiBDb25maWd1cmUgTUNMSyBmb3IgV004NTEwCisJICovCisJX2djbGswID0gY2xrX2dldChOVUxMLCAiZ2NsazAiKTsKKwlpZiAoSVNfRVJSKF9nY2xrMCkpIHsKKwkJX2djbGswID0gTlVMTDsKKwkJZ290byBlcnJfZ2NsazA7CisJfQorCV9wbGwwID0gY2xrX2dldChOVUxMLCAicGxsMCIpOworCWlmIChJU19FUlIoX3BsbDApKSB7CisJCV9wbGwwID0gTlVMTDsKKwkJZ290byBlcnJfcGxsMDsKKwl9CisJaWYgKGNsa19zZXRfcGFyZW50KF9nY2xrMCwgX3BsbDApKSB7CisJCXByX3dhcm5pbmcoInNuZC1zb2MtcGxheXBhcTogIgorCQkJICAgIkZhaWxlZCB0byBzZXQgUExMMCBhcyBwYXJlbnQgZm9yIERBQyBjbG9ja1xuIik7CisJCWdvdG8gZXJyX3NldF9jbGs7CisJfQorCWNsa19zZXRfcmF0ZShDT0RFQ19DTEssIDEyMDAwMDAwKTsKKwljbGtfZW5hYmxlKENPREVDX0NMSyk7CisKKyNpZiBkZWZpbmVkIENPTkZJR19BVDMyX0VOSEFOQ0VEX1BPUlRNVVgKKwlhdDMyX3NlbGVjdF9wZXJpcGgoTUNMS19QSU4sIE1DTEtfUEVSSVBILCAwKTsKKyNlbmRpZgorCisKKwkvKgorCSAqIENyZWF0ZSBhbmQgcmVnaXN0ZXIgcGxhdGZvcm0gZGV2aWNlCisJICovCisJcGxheXBhcV9zbmRfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAwKTsKKwlpZiAocGxheXBhcV9zbmRfZGV2aWNlID09IE5VTEwpIHsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBlcnJfZGV2aWNlX2FsbG9jOworCX0KKworCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBsYXlwYXFfc25kX2RldmljZSwgJnBsYXlwYXFfd204NTEwX3NuZF9kZXZkYXRhKTsKKwlwbGF5cGFxX3dtODUxMF9zbmRfZGV2ZGF0YS5kZXYgPSAmcGxheXBhcV9zbmRfZGV2aWNlLT5kZXY7CisKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKHBsYXlwYXFfc25kX2RldmljZSk7CisJaWYgKHJldCkgeworCQlwcl93YXJuaW5nKCJwbGF5cGFxX3dtODUxMDogcGxhdGZvcm1fZGV2aWNlX2FkZCBmYWlsZWQgKCVkKVxuIiwKKwkJCSAgIHJldCk7CisJCWdvdG8gZXJyX2RldmljZV9hZGQ7CisJfQorCisJcmV0dXJuIDA7CisKKworZXJyX2RldmljZV9hZGQ6CisJaWYgKHBsYXlwYXFfc25kX2RldmljZSAhPSBOVUxMKSB7CisJCXBsYXRmb3JtX2RldmljZV9wdXQocGxheXBhcV9zbmRfZGV2aWNlKTsKKwkJcGxheXBhcV9zbmRfZGV2aWNlID0gTlVMTDsKKwl9CitlcnJfZGV2aWNlX2FsbG9jOgorZXJyX3NldF9jbGs6CisJaWYgKF9wbGwwICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfcGxsMCk7CisJCV9wbGwwID0gTlVMTDsKKwl9CitlcnJfcGxsMDoKKwlpZiAoX2djbGswICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfZ2NsazApOworCQlfZ2NsazAgPSBOVUxMOworCX0KK2Vycl9nY2xrMDoKKwlpZiAoc3NjICE9IE5VTEwpIHsKKwkJc3NjX2ZyZWUoc3NjKTsKKwkJc3NjID0gTlVMTDsKKwl9CitlcnJfc3NjOgorCXJldHVybiByZXQ7Cit9CisKKworc3RhdGljIHZvaWQgX19leGl0IHBsYXlwYXFfYXNvY19leGl0KHZvaWQpCit7CisJc3RydWN0IGF0MzJfc3NjX2luZm8gKnNzY19wID0gcGxheXBhcV93bTg1MTBfZGFpLmNwdV9kYWktPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc3NjX2RldmljZSAqc3NjOworCisJaWYgKHNzY19wICE9IE5VTEwpIHsKKwkJc3NjID0gc3NjX3AtPnNzYzsKKwkJaWYgKHNzYyAhPSBOVUxMKQorCQkJc3NjX2ZyZWUoc3NjKTsKKwkJc3NjX3AtPnNzYyA9IE5VTEw7CisJfQorCisJaWYgKF9nY2xrMCAhPSBOVUxMKSB7CisJCWNsa19wdXQoX2djbGswKTsKKwkJX2djbGswID0gTlVMTDsKKwl9CisJaWYgKF9wbGwwICE9IE5VTEwpIHsKKwkJY2xrX3B1dChfcGxsMCk7CisJCV9wbGwwID0gTlVMTDsKKwl9CisKKyNpZiBkZWZpbmVkIENPTkZJR19BVDMyX0VOSEFOQ0VEX1BPUlRNVVgKKwlhdDMyX2ZyZWVfcGluKE1DTEtfUElOKTsKKyNlbmRpZgorCisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIocGxheXBhcV9zbmRfZGV2aWNlKTsKKwlwbGF5cGFxX3NuZF9kZXZpY2UgPSBOVUxMOworfQorCittb2R1bGVfaW5pdChwbGF5cGFxX2Fzb2NfaW5pdCk7Cittb2R1bGVfZXhpdChwbGF5cGFxX2Fzb2NfZXhpdCk7CisKK01PRFVMRV9BVVRIT1IoIkdlb2ZmcmV5IFdvc3N1bSA8Z3dvc3N1bUBhY20ub3JnPiIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBU29DIG1hY2hpbmUgZHJpdmVyIGZvciBMUlMgUGxheVBhcSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvS2NvbmZpZyBiL3NvdW5kL3NvYy9hdDkxL0tjb25maWcKaW5kZXggNWNiOTNmZC4uOTA1MTg2NSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvYXQ5MS9LY29uZmlnCkBAIC0xLDYgKzEsNiBAQAogY29uZmlnIFNORF9BVDkxX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBBdG1lbCBBVDkxIFN5c3RlbS1vbi1DaGlwIgotCWRlcGVuZHMgb24gQVJDSF9BVDkxICYmIFNORF9TT0MKKwlkZXBlbmRzIG9uIEFSQ0hfQVQ5MQogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0bwogCSAgdGhlIEFUOTEgU1NDIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jIGIvc291bmQvc29jL2F0OTEvYXQ5MS1wY20uYwppbmRleCBjY2FjNmJkLi5kNDc0OTJiIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXBjbS5jCisrKyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtcGNtLmMKQEAgLTMxOCw3ICszMTgsNyBAQAogc3RhdGljIHU2NCBhdDkxX3BjbV9kbWFtYXNrID0gMHhmZmZmZmZmZjsKIAogc3RhdGljIGludCBhdDkxX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwogCkBAIC0zNjcsNyArMzY3LDcgQEAKIAogI2lmZGVmIENPTkZJR19QTQogc3RhdGljIGludCBhdDkxX3BjbV9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CiAJc3RydWN0IGF0OTFfcnVudGltZV9kYXRhICpwcnRkOwpAQCAtMzkyLDcgKzM5Miw3IEBACiB9CiAKIHN0YXRpYyBpbnQgYXQ5MV9wY21fcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYWktPnJ1bnRpbWU7CiAJc3RydWN0IGF0OTFfcnVudGltZV9kYXRhICpwcnRkOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmMKaW5kZXggYmMzNWQwMC4uMDkwZTYwNyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuYworKysgYi9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5jCkBAIC00MSw3ICs0MSw3IEBACiAjZGVmaW5lCURCRyh4Li4uKQogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FUOTFTQU05MjYwKQorI2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTkyNjApIHx8IGRlZmluZWQoQ09ORklHX0FSQ0hfQVQ5MVNBTTlHMjApCiAjZGVmaW5lIE5VTV9TU0NfREVWSUNFUwkJMQogI2Vsc2UKICNkZWZpbmUgTlVNX1NTQ19ERVZJQ0VTCQkzCkBAIC0yODEsNyArMjgxLDcgQEAKIC8qCiAgKiBSZWNvcmQgdGhlIFNTQyBzeXN0ZW0gY2xvY2sgcmF0ZS4KICAqLwotc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCS8qCkBAIC0zMDMsNyArMzAzLDcgQEAKIC8qCiAgKiBSZWNvcmQgdGhlIERBSSBmb3JtYXQgZm9yIHVzZSBpbiBod19wYXJhbXMoKS4KICAqLwotc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wID0gJnNzY19pbmZvW2NwdV9kYWktPmlkXTsKQEAgLTMxNSw3ICszMTUsNyBAQAogLyoKICAqIFJlY29yZCBTU0MgY2xvY2sgZGl2aWRlcnMgZm9yIHVzZSBpbiBod19wYXJhbXMoKS4KICAqLwotc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBhdDkxX3NzY19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3QgYXQ5MV9zc2NfaW5mbyAqc3NjX3AgPSAmc3NjX2luZm9bY3B1X2RhaS0+aWRdOwpAQCAtNjM0LDcgKzYzNCw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgYXQ5MV9zc2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpKQogewogCXN0cnVjdCBhdDkxX3NzY19pbmZvICpzc2NfcDsKIApAQCAtNjYyLDcgKzY2Miw3IEBACiB9CiAKIHN0YXRpYyBpbnQgYXQ5MV9zc2NfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJc3RydWN0IGF0OTFfc3NjX2luZm8gKnNzY19wOwogCkBAIC03MDAsNyArNzAwLDcgQEAKICNkZWZpbmUgQVQ5MV9TU0NfRk9STUFUUyAoU05EUlZfUENNX0ZNVEJJVF9TOCAgICAgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8XAogCQkJICBTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGF0OTFfc3NjX2RhaVtOVU1fU1NDX0RFVklDRVNdID0geworc3RydWN0IHNuZF9zb2NfZGFpIGF0OTFfc3NjX2RhaVtOVU1fU1NDX0RFVklDRVNdID0gewogCXsJLm5hbWUgPSAiYXQ5MS1zc2MwIiwKIAkJLmlkID0gMCwKIAkJLnR5cGUgPSBTTkRfU09DX0RBSV9QQ00sCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oIGIvc291bmQvc29jL2F0OTEvYXQ5MS1zc2MuaAppbmRleCBiMTg4Zjk3Li42YjdiZjM4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvYXQ5MS9hdDkxLXNzYy5oCisrKyBiL3NvdW5kL3NvYy9hdDkxL2F0OTEtc3NjLmgKQEAgLTIxLDcgKzIxLDcgQEAKICNkZWZpbmUgQVQ5MVNTQ19UQ01SX1BFUklPRAkxIC8qIEJDTEsgZGl2aWRlciBmb3IgdHJhbnNtaXQgRlMgKi8KICNkZWZpbmUgQVQ5MVNTQ19SQ01SX1BFUklPRAkyIC8qIEJDTEsgZGl2aWRlciBmb3IgcmVjZWl2ZSBGUyAqLwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBhdDkxX3NzY19kYWlbXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYXQ5MV9zc2NfZGFpW107CiAKICNlbmRpZiAvKiBfQVQ5MV9TU0NfSCAqLwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMgYi9zb3VuZC9zb2MvYXQ5MS9ldGlfYjFfd204NzMxLmMKaW5kZXggMTM0N2RjZi4uZDUzMmRlOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2F0OTEvZXRpX2IxX3dtODczMS5jCisrKyBiL3NvdW5kL3NvYy9hdDkxL2V0aV9iMV93bTg3MzEuYwpAQCAtNTMsMTggKzUzLDE4IEBACiBzdGF0aWMgaW50IGV0aV9iMV9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgcmV0OwogCiAJLyogY3B1IGNsb2NrIGlzIHRoZSBBVDkxIG1hc3RlciBjbG9jayBzZW50IHRvIHRoZSBTU0MgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgQVQ5MV9TWVNDTEtfTUNLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgQVQ5MV9TWVNDTEtfTUNLLAogCQk2MDAwMDAwMCwgU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBjb2RlYyBzeXN0ZW0gY2xvY2sgaXMgc3VwcGxpZWQgYnkgUENLMSwgc2V0IHRvIDEyTUh6ICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLAogCQkxMjAwMDAwMCwgU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC04Nyw4ICs4Nyw4IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCWludCByZXQ7CiAKICNpZmRlZiBDT05GSUdfU05EX0FUOTFfU09DX0VUSV9TTEFWRQpAQCAtOTYsMTMgKzk2LDEzIEBACiAJaW50IGNtcl9kaXYsIHBlcmlvZDsKIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0xNDEsMTcgKzE0MSwxNyBAQAogCX0KIAogCS8qIHNldCB0aGUgTUNLIGRpdmlkZXIgZm9yIEJDTEsgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwgQVQ5MVNTQ19DTVJfRElWLCBjbXJfZGl2KTsKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksIEFUOTFTU0NfQ01SX0RJViwgY21yX2Rpdik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykgewogCQkvKiBzZXQgdGhlIEJDTEsgZGl2aWRlciBmb3IgREFDTFJDICovCi0JCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLAorCQlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNwdV9kYWksCiAJCQkJCQlBVDkxU1NDX1RDTVJfUEVSSU9ELCBwZXJpb2QpOwogCX0gZWxzZSB7CiAJCS8qIHNldCB0aGUgQkNMSyBkaXZpZGVyIGZvciBBRENMUkMgKi8KLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KGNwdV9kYWksCisJCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwKIAkJCQkJCUFUOTFTU0NfUkNNUl9QRVJJT0QsIHBlcmlvZCk7CiAJfQogCWlmIChyZXQgPCAwKQpAQCAtMTYzLDEzICsxNjMsMTMgQEAKIAkgKi8KIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjcHUgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0xOTEsNyArMTkxLDcgQEAKIAlTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgTlVMTCksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqaW50ZXJjb25bXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGludGVyY29uW10gPSB7CiAKIAkvKiBzcGVha2VyIGNvbm5lY3RlZCB0byBMSFBPVVQgKi8KIAl7IkV4dCBTcGsiLCBOVUxMLCAiTEhQT1VUIn0sCkBAIC0xOTksOSArMTk5LDYgQEAKIAkvKiBtaWMgaXMgY29ubmVjdGVkIHRvIE1pYyBKYWNrLCB3aXRoIFdNODczMSBNaWMgQmlhcyAqLwogCXsiTUlDSU4iLCBOVUxMLCAiTWljIEJpYXMifSwKIAl7Ik1pYyBCaWFzIiwgTlVMTCwgIkludCBNaWMifSwKLQotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiAvKgpAQCAtMjA5LDMwICsyMDYsMjQgQEAKICAqLwogc3RhdGljIGludCBldGlfYjFfd204NzMxX2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOwotCiAJREJHKCJldGlfYjFfd204NzMxX2luaXQoKSBjYWxsZWRcbiIpOwogCiAJLyogQWRkIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGV0aV9iMV9kYXBtX3dpZGdldHMpOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmZXRpX2IxX2RhcG1fd2lkZ2V0c1tpXSk7Ci0JfQorCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIGV0aV9iMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGV0aV9iMV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBzcGVjaWZpYyBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMgKi8KLQlmb3IoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykgewotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgaW50ZXJjb25baV1bMF0sCi0JCQlpbnRlcmNvbltpXVsxXSwgaW50ZXJjb25baV1bMl0pOwotCX0KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlKGNvZGVjLCBpbnRlcmNvbiwgQVJSQVlfU0laRShpbnRlcmNvbikpOwogCiAJLyogbm90IGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSTElORUlOIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxMSU5FSU4iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSTElORUlOIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTExJTkVJTiIpOwogCiAJLyogYWx3YXlzIGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJJbnQgTWljIiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCAxKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkludCBNaWMiKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkV4dCBTcGsiKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9LY29uZmlnIGIvc291bmQvc29jL2F1MXgvS2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTBhODkzCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvS2NvbmZpZwpAQCAtMCwwICsxLDMyIEBACisjIworIyMgQXUxMjAwL0F1MTU1MCBQU0MgKyBEQkRNQQorIyMKK2NvbmZpZyBTTkRfU09DX0FVMVhQU0MKKwl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciBBdTEyMDAvQXUxMjUwL0F1MTU1MCIKKwlkZXBlbmRzIG9uIFNPQ19BVTEyMDAgfHwgU09DX0FVMTU1MAorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMgc3VwcG9ydCBmb3IgdGhlIFByb2dyYW1tYWJsZSBTZXJpYWwKKwkgIENvbnRyb2xsZXJzIGluIEFDOTcgYW5kIEkyUyBtb2RlLCBhbmQgdGhlIERlc2NyaXB0b3ItQmFzZWQgRE1BCisJICBDb250cm9sbGVyIChEQkRNQSkgYXMgZm91bmQgb24gdGhlIEF1MTIwMC9BdTEyNTAvQXUxNTUwIFNvQy4KKworY29uZmlnIFNORF9TT0NfQVUxWFBTQ19JMlMKKwl0cmlzdGF0ZQorCitjb25maWcgU05EX1NPQ19BVTFYUFNDX0FDOTcKKwl0cmlzdGF0ZQorCXNlbGVjdCBBQzk3X0JVUworCXNlbGVjdCBTTkRfQUM5N19DT0RFQworCXNlbGVjdCBTTkRfU09DX0FDOTdfQlVTCisKKworIyMKKyMjIEJvYXJkcworIyMKK2NvbmZpZyBTTkRfU09DX1NBTVBMRV9QU0NfQUM5NworCXRyaXN0YXRlICJTYW1wbGUgQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBzb3VuZCBtYWNoaW5lIgorCWRlcGVuZHMgb24gU05EX1NPQ19BVTFYUFNDCisJc2VsZWN0IFNORF9TT0NfQVUxWFBTQ19BQzk3CisJc2VsZWN0IFNORF9TT0NfQUM5N19DT0RFQworCWhlbHAKKwkgIFRoaXMgaXMgYSBzYW1wbGUgQUM5NyBzb3VuZCBtYWNoaW5lIGZvciB1c2UgaW4gQXUxMngwL0F1MTU1MAorCSAgYmFzZWQgc3lzdGVtcyB3aGljaCBoYXZlIGF1ZGlvIG9uIFBTQzEgKGUuZy4gRGIxMjAwIGRlbW9ib2FyZCkuCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9NYWtlZmlsZSBiL3NvdW5kL3NvYy9hdTF4L01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjNjk1MGIKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9NYWtlZmlsZQpAQCAtMCwwICsxLDEzIEBACisjIEF1MTIwMC9BdTE1NTAgUFNDIGF1ZGlvCitzbmQtc29jLWF1MXhwc2MtZGJkbWEtb2JqcyA6PSBkYmRtYTIubworc25kLXNvYy1hdTF4cHNjLWkycy1vYmpzIDo9IHBzYy1pMnMubworc25kLXNvYy1hdTF4cHNjLWFjOTctb2JqcyA6PSBwc2MtYWM5Ny5vCisKK29iai0kKENPTkZJR19TTkRfU09DX0FVMVhQU0MpICs9IHNuZC1zb2MtYXUxeHBzYy1kYmRtYS5vCitvYmotJChDT05GSUdfU05EX1NPQ19BVTFYUFNDX0kyUykgKz0gc25kLXNvYy1hdTF4cHNjLWkycy5vCitvYmotJChDT05GSUdfU05EX1NPQ19BVTFYUFNDX0FDOTcpICs9IHNuZC1zb2MtYXUxeHBzYy1hYzk3Lm8KKworIyBCb2FyZHMKK3NuZC1zb2Mtc2FtcGxlLWFjOTctb2JqcyA6PSBzYW1wbGUtYWM5Ny5vCisKK29iai0kKENPTkZJR19TTkRfU09DX1NBTVBMRV9QU0NfQUM5NykgKz0gc25kLXNvYy1zYW1wbGUtYWM5Ny5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9kYmRtYTIuYyBiL3NvdW5kL3NvYy9hdTF4L2RiZG1hMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NjZkOTMKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9kYmRtYTIuYwpAQCAtMCwwICsxLDQyMSBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBETUEgZ2x1ZSBmb3IgQXUxeC1QU0MgYXVkaW8uCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKi8KKworCisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorCisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTEwMDAuaD4KKyNpbmNsdWRlIDxhc20vbWFjaC1hdTF4MDAvYXUxeHh4X2RiZG1hLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9wc2MuaD4KKworI2luY2x1ZGUgInBzYy5oIgorCisvKiNkZWZpbmUgUENNX0RFQlVHKi8KKworI2RlZmluZSBNU0coeC4uLikJcHJpbnRrKEtFUk5fSU5GTyAiYXUxeHBzY19wY206ICIgeCkKKyNpZmRlZiBQQ01fREVCVUcKKyNkZWZpbmUgREJHCQlNU0cKKyNlbHNlCisjZGVmaW5lIERCRyh4Li4uKQlkbyB7fSB3aGlsZSAoMCkKKyNlbmRpZgorCitzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhIHsKKwkvKiBERE1BIGNvbnRyb2wgZGF0YSAqLworCXVuc2lnbmVkIGludCBkZG1hX2lkOwkJLyogRERNQSBkaXJlY3Rpb24gSUQgZm9yIHRoaXMgUFNDICovCisJdTMyIGRkbWFfY2hhbjsJCQkvKiBERE1BIGNvbnRleHQgKi8KKworCS8qIFBDTSBjb250ZXh0IChmb3IgaXJxIGhhbmRsZXJzKSAqLworCXN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtOworCXVuc2lnbmVkIGxvbmcgY3Vycl9wZXJpb2Q7CS8qIGN1cnJlbnQgc2VnbWVudCBERE1BIGlzIHdvcmtpbmcgb24gKi8KKwl1bnNpZ25lZCBsb25nIHFfcGVyaW9kOwkJLyogcXVldWUgcGVyaW9kKHMpICovCisJdW5zaWduZWQgbG9uZyBkbWFfYXJlYTsJCS8qIGFkZHJlc3Mgb2YgcXVldWVkIERNQSBhcmVhICovCisJdW5zaWduZWQgbG9uZyBkbWFfYXJlYV9zOwkvKiBzdGFydCBhZGRyZXNzIG9mIERNQSBhcmVhICovCisJdW5zaWduZWQgbG9uZyBwb3M7CQkvKiBjdXJyZW50IGJ5dGUgcG9zaXRpb24gYmVpbmcgcGxheWVkICovCisJdW5zaWduZWQgbG9uZyBwZXJpb2RzOwkJLyogbnVtYmVyIG9mIFNHIHNlZ21lbnRzIGluIHRvdGFsICovCisJdW5zaWduZWQgbG9uZyBwZXJpb2RfYnl0ZXM7CS8qIHNpemUgaW4gYnl0ZXMgb2Ygb25lIFNHIHNlZ21lbnQgKi8KKworCS8qIHJ1bnRpbWUgZGF0YSAqLworCWludCBtc2JpdHM7Cit9OworCisvKiBpbnN0YW5jZSBkYXRhLiBUaGVyZSBjYW4gYmUgb25seSBvbmUsIE1hY0xlb2QhISEhICovCitzdGF0aWMgc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqYXUxeHBzY19hdWRpb19wY21kbWFbMl07CisKKy8qCisgKiBUaGVzZSBzZXR0aW5ncyBhcmUgc29tZXdoYXQgb2theSwgYXQgbGVhc3Qgb24gbXkgbWFjaGluZSBhdWRpbyBwbGF5cworICogYWxtb3N0IHNraXAtZnJlZS4gRXNwZWNpYWxseSB0aGUgNjRrQiBidWZmZXIgc2VlbXMgdG8gaGVscCBhIExPVC4KKyAqLworI2RlZmluZSBBVTFYUFNDX1BFUklPRF9NSU5fQllURVMJMTAyNAorI2RlZmluZSBBVTFYUFNDX0JVRkZFUl9NSU5fQllURVMJNjU1MzYKKworI2RlZmluZSBBVTFYUFNDX1BDTV9GTVRTCQkJCQlcCisJKFNORFJWX1BDTV9GTVRCSVRfUzggICAgIHwgU05EUlZfUENNX0ZNVEJJVF9VOCB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MxNl9CRSB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9VMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UxNl9CRSB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9CRSB8CVwKKwkgU05EUlZfUENNX0ZNVEJJVF9VMzJfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UzMl9CRSB8CVwKKwkgMCkKKworLyogUENNIGhhcmR3YXJlIERNQSBjYXBhYmlsaXRpZXMgLSBwbGF0Zm9ybSBzcGVjaWZpYyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfcGNtX2hhcmR3YXJlIGF1MXhwc2NfcGNtX2hhcmR3YXJlID0geworCS5pbmZvCQkgID0gU05EUlZfUENNX0lORk9fTU1BUCB8IFNORFJWX1BDTV9JTkZPX01NQVBfVkFMSUQgfAorCQkJICAgIFNORFJWX1BDTV9JTkZPX0lOVEVSTEVBVkVELAorCS5mb3JtYXRzCSAgPSBBVTFYUFNDX1BDTV9GTVRTLAorCS5wZXJpb2RfYnl0ZXNfbWluID0gQVUxWFBTQ19QRVJJT0RfTUlOX0JZVEVTLAorCS5wZXJpb2RfYnl0ZXNfbWF4ID0gNDA5NiAqIDEwMjQgLSAxLAorCS5wZXJpb2RzX21pbgkgID0gMiwKKwkucGVyaW9kc19tYXgJICA9IDQwOTYsCS8qIDIgdG8gYXMtbXVjaC1hcy15b3UtbGlrZSAqLworCS5idWZmZXJfYnl0ZXNfbWF4ID0gNDA5NiAqIDEwMjQgLSAxLAorCS5maWZvX3NpemUJICA9IDE2LAkJLyogZmlmbyBlbnRyaWVzIG9mIEFDOTcvSTJTIFBTQyAqLworfTsKKworc3RhdGljIHZvaWQgYXUxeF9wY21fcXVldWVfdHgoc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqY2QpCit7CisJYXUxeHh4X2RiZG1hX3B1dF9zb3VyY2VfZmxhZ3MoY2QtPmRkbWFfY2hhbiwKKwkJCQkodm9pZCAqKXBoeXNfdG9fdmlydChjZC0+ZG1hX2FyZWEpLAorCQkJCWNkLT5wZXJpb2RfYnl0ZXMsIERETUFfRkxBR1NfSUUpOworCisJLyogdXBkYXRlIG5leHQtdG8tcXVldWUgcGVyaW9kICovCisJKytjZC0+cV9wZXJpb2Q7CisJY2QtPmRtYV9hcmVhICs9IGNkLT5wZXJpb2RfYnl0ZXM7CisJaWYgKGNkLT5xX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cV9wZXJpb2QgPSAwOworCQljZC0+ZG1hX2FyZWEgPSBjZC0+ZG1hX2FyZWFfczsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX3F1ZXVlX3J4KHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkKQoreworCWF1MXh4eF9kYmRtYV9wdXRfZGVzdF9mbGFncyhjZC0+ZGRtYV9jaGFuLAorCQkJCSh2b2lkICopcGh5c190b192aXJ0KGNkLT5kbWFfYXJlYSksCisJCQkJY2QtPnBlcmlvZF9ieXRlcywgRERNQV9GTEFHU19JRSk7CisKKwkvKiB1cGRhdGUgbmV4dC10by1xdWV1ZSBwZXJpb2QgKi8KKwkrK2NkLT5xX3BlcmlvZDsKKwljZC0+ZG1hX2FyZWEgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoY2QtPnFfcGVyaW9kID49IGNkLT5wZXJpb2RzKSB7CisJCWNkLT5xX3BlcmlvZCA9IDA7CisJCWNkLT5kbWFfYXJlYSA9IGNkLT5kbWFfYXJlYV9zOworCX0KK30KKworc3RhdGljIHZvaWQgYXUxeF9wY21fZG1hdHhfY2IoaW50IGlycSwgdm9pZCAqZGV2X2lkKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKmNkID0gZGV2X2lkOworCisJY2QtPnBvcyArPSBjZC0+cGVyaW9kX2J5dGVzOworCWlmICgrK2NkLT5jdXJyX3BlcmlvZCA+PSBjZC0+cGVyaW9kcykgeworCQljZC0+cG9zID0gMDsKKwkJY2QtPmN1cnJfcGVyaW9kID0gMDsKKwl9CisJc25kX3BjbV9wZXJpb2RfZWxhcHNlZChjZC0+c3Vic3RyZWFtKTsKKwlhdTF4X3BjbV9xdWV1ZV90eChjZCk7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhfcGNtX2RtYXJ4X2NiKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhICpjZCA9IGRldl9pZDsKKworCWNkLT5wb3MgKz0gY2QtPnBlcmlvZF9ieXRlczsKKwlpZiAoKytjZC0+Y3Vycl9wZXJpb2QgPj0gY2QtPnBlcmlvZHMpIHsKKwkJY2QtPnBvcyA9IDA7CisJCWNkLT5jdXJyX3BlcmlvZCA9IDA7CisJfQorCXNuZF9wY21fcGVyaW9kX2VsYXBzZWQoY2QtPnN1YnN0cmVhbSk7CisJYXUxeF9wY21fcXVldWVfcngoY2QpOworfQorCitzdGF0aWMgdm9pZCBhdTF4X3BjbV9kYmRtYV9mcmVlKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZCkKK3sKKwlpZiAocGNkLT5kZG1hX2NoYW4pIHsKKwkJYXUxeHh4X2RiZG1hX3N0b3AocGNkLT5kZG1hX2NoYW4pOworCQlhdTF4eHhfZGJkbWFfcmVzZXQocGNkLT5kZG1hX2NoYW4pOworCQlhdTF4eHhfZGJkbWFfY2hhbl9mcmVlKHBjZC0+ZGRtYV9jaGFuKTsKKwkJcGNkLT5kZG1hX2NoYW4gPSAwOworCQlwY2QtPm1zYml0cyA9IDA7CisJfQorfQorCisvKiBpbiBjYXNlIG9mIG1pc3NpbmcgRE1BIHJpbmcgb3IgY2hhbmdlZCBUWC1zb3VyY2UgLyBSWC1kZXN0IGJpdCB3aWR0aHMsCisgKiBhbGxvY2F0ZSAob3IgcmVhbGxvY2F0ZSkgYSAyLWRlc2NyaXB0b3IgRE1BIHJpbmcgd2l0aCBiaXQgZGVwdGggYWNjb3JkaW5nCisgKiB0byBBTFNBLXN1cHBsaWVkIHNhbXBsZSBkZXB0aC4gIFRoaXMgaXMgZHVlIHRvIGxpbWl0YXRpb25zIGluIHRoZSBkYmRtYSBhcGkKKyAqIChjYW5ub3QgYWRqdXN0IHNvdXJjZS9kZXN0IHdpZHRocyBvZiBhbHJlYWR5IGFsbG9jYXRlZCBkZXNjcmlwdG9yIHJpbmcpLgorICovCitzdGF0aWMgaW50IGF1MXhfcGNtX2RiZG1hX3JlYWxsb2Moc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqcGNkLAorCQkJCSBpbnQgc3R5cGUsIGludCBtc2JpdHMpCit7CisJLyogRE1BIG9ubHkgaW4gOC8xNi8zMiBiaXQgd2lkdGhzICovCisJaWYgKG1zYml0cyA9PSAyNCkKKwkJbXNiaXRzID0gMzI7CisKKwkvKiBjaGVjayBjdXJyZW50IGNvbmZpZzogY29ycmVjdCBiaXRzIGFuZCBkZXNjcmlwdG9ycyBhbGxvY2F0ZWQ/ICovCisJaWYgKChwY2QtPmRkbWFfY2hhbikgJiYgKG1zYml0cyA9PSBwY2QtPm1zYml0cykpCisJCWdvdG8gb3V0OwkvKiBhbGwgb2shICovCisKKwlhdTF4X3BjbV9kYmRtYV9mcmVlKHBjZCk7CisKKwlpZiAoc3R5cGUgPT0gUENNX1JYKQorCQlwY2QtPmRkbWFfY2hhbiA9IGF1MXh4eF9kYmRtYV9jaGFuX2FsbG9jKHBjZC0+ZGRtYV9pZCwKKwkJCQkJRFNDUl9DTUQwX0FMV0FZUywKKwkJCQkJYXUxeF9wY21fZG1hcnhfY2IsICh2b2lkICopcGNkKTsKKwllbHNlCisJCXBjZC0+ZGRtYV9jaGFuID0gYXUxeHh4X2RiZG1hX2NoYW5fYWxsb2MoRFNDUl9DTUQwX0FMV0FZUywKKwkJCQkJcGNkLT5kZG1hX2lkLAorCQkJCQlhdTF4X3BjbV9kbWF0eF9jYiwgKHZvaWQgKilwY2QpOworCisJaWYgKCFwY2QtPmRkbWFfY2hhbikKKwkJcmV0dXJuIC1FTk9NRU07OworCisJYXUxeHh4X2RiZG1hX3NldF9kZXZ3aWR0aChwY2QtPmRkbWFfY2hhbiwgbXNiaXRzKTsKKwlhdTF4eHhfZGJkbWFfcmluZ19hbGxvYyhwY2QtPmRkbWFfY2hhbiwgMik7CisKKwlwY2QtPm1zYml0cyA9IG1zYml0czsKKworCWF1MXh4eF9kYmRtYV9zdG9wKHBjZC0+ZGRtYV9jaGFuKTsKKwlhdTF4eHhfZGJkbWFfcmVzZXQocGNkLT5kZG1hX2NoYW4pOworCitvdXQ6CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21faHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0gc3Vic3RyZWFtLT5ydW50aW1lOworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEgKnBjZDsKKwlpbnQgc3R5cGUsIHJldDsKKworCXJldCA9IHNuZF9wY21fbGliX21hbGxvY19wYWdlcyhzdWJzdHJlYW0sIHBhcmFtc19idWZmZXJfYnl0ZXMocGFyYW1zKSk7CisJaWYgKHJldCA8IDApCisJCWdvdG8gb3V0OworCisJc3R5cGUgPSBTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pOworCXBjZCA9IGF1MXhwc2NfYXVkaW9fcGNtZG1hW3N0eXBlXTsKKworCURCRygicnVudGltZS0+ZG1hX2FyZWEgPSAweCUwOGx4IGRtYV9hZGRyX3QgPSAweCUwOGx4IGRtYV9zaXplID0gJWQgIgorCSAgICAicnVudGltZS0+bWluX2FsaWduICVkXG4iLAorCQkodW5zaWduZWQgbG9uZylydW50aW1lLT5kbWFfYXJlYSwKKwkJKHVuc2lnbmVkIGxvbmcpcnVudGltZS0+ZG1hX2FkZHIsIHJ1bnRpbWUtPmRtYV9ieXRlcywKKwkJcnVudGltZS0+bWluX2FsaWduKTsKKworCURCRygiYml0cyAlZCAgZnJhZ3MgJWQgIGZyYWdfYnl0ZXMgJWQgIGlzX3J4ICVkXG4iLCBwYXJhbXMtPm1zYml0cywKKwkJcGFyYW1zX3BlcmlvZHMocGFyYW1zKSwgcGFyYW1zX3BlcmlvZF9ieXRlcyhwYXJhbXMpLCBzdHlwZSk7CisKKwlyZXQgPSBhdTF4X3BjbV9kYmRtYV9yZWFsbG9jKHBjZCwgc3R5cGUsIHBhcmFtcy0+bXNiaXRzKTsKKwlpZiAocmV0KSB7CisJCU1TRygiRERNQSBjaGFubmVsIChyZSlhbGxvYyBmYWlsZWQhXG4iKTsKKwkJZ290byBvdXQ7CisJfQorCisJcGNkLT5zdWJzdHJlYW0gPSBzdWJzdHJlYW07CisJcGNkLT5wZXJpb2RfYnl0ZXMgPSBwYXJhbXNfcGVyaW9kX2J5dGVzKHBhcmFtcyk7CisJcGNkLT5wZXJpb2RzID0gcGFyYW1zX3BlcmlvZHMocGFyYW1zKTsKKwlwY2QtPmRtYV9hcmVhX3MgPSBwY2QtPmRtYV9hcmVhID0gKHVuc2lnbmVkIGxvbmcpcnVudGltZS0+ZG1hX2FkZHI7CisJcGNkLT5xX3BlcmlvZCA9IDA7CisJcGNkLT5jdXJyX3BlcmlvZCA9IDA7CisJcGNkLT5wb3MgPSAwOworCisJcmV0ID0gMDsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc25kX3BjbV9saWJfZnJlZV9wYWdlcyhzdWJzdHJlYW0pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZG1hZGF0YSAqcGNkID0KKwkJCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldOworCisJYXUxeHh4X2RiZG1hX3Jlc2V0KHBjZC0+ZGRtYV9jaGFuKTsKKworCWlmIChTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pID09IFBDTV9SWCkgeworCQlhdTF4X3BjbV9xdWV1ZV9yeChwY2QpOworCQlhdTF4X3BjbV9xdWV1ZV9yeChwY2QpOworCX0gZWxzZSB7CisJCWF1MXhfcGNtX3F1ZXVlX3R4KHBjZCk7CisJCWF1MXhfcGNtX3F1ZXVlX3R4KHBjZCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19wY21fdHJpZ2dlcihzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwgaW50IGNtZCkKK3sKKwl1MzIgYyA9IGF1MXhwc2NfYXVkaW9fcGNtZG1hW1NVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSldLT5kZG1hX2NoYW47CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJCWF1MXh4eF9kYmRtYV9zdGFydChjKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwkJYXUxeHh4X2RiZG1hX3N0b3AoYyk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHNuZF9wY21fdWZyYW1lc190CithdTF4cHNjX3BjbV9wb2ludGVyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXJldHVybiBieXRlc190b19mcmFtZXMoc3Vic3RyZWFtLT5ydW50aW1lLAorCQlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtTVUJTVFJFQU1fVFlQRShzdWJzdHJlYW0pXS0+cG9zKTsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9vcGVuKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCXNuZF9zb2Nfc2V0X3J1bnRpbWVfaHdwYXJhbXMoc3Vic3RyZWFtLCAmYXUxeHBzY19wY21faGFyZHdhcmUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfcGNtX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQoreworCWF1MXhfcGNtX2RiZG1hX2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKV0pOworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3BjbV9vcHMgYXUxeHBzY19wY21fb3BzID0geworCS5vcGVuCQk9IGF1MXhwc2NfcGNtX29wZW4sCisJLmNsb3NlCQk9IGF1MXhwc2NfcGNtX2Nsb3NlLAorCS5pb2N0bAkJPSBzbmRfcGNtX2xpYl9pb2N0bCwKKwkuaHdfcGFyYW1zCT0gYXUxeHBzY19wY21faHdfcGFyYW1zLAorCS5od19mcmVlCT0gYXUxeHBzY19wY21faHdfZnJlZSwKKwkucHJlcGFyZQk9IGF1MXhwc2NfcGNtX3ByZXBhcmUsCisJLnRyaWdnZXIJPSBhdTF4cHNjX3BjbV90cmlnZ2VyLAorCS5wb2ludGVyCT0gYXUxeHBzY19wY21fcG9pbnRlciwKK307CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMoc3RydWN0IHNuZF9wY20gKnBjbSkKK3sKKwlzbmRfcGNtX2xpYl9wcmVhbGxvY2F0ZV9mcmVlX2Zvcl9hbGwocGNtKTsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJCQkgICBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQoreworCXNuZF9wY21fbGliX3ByZWFsbG9jYXRlX3BhZ2VzX2Zvcl9hbGwocGNtLCBTTkRSVl9ETUFfVFlQRV9ERVYsCisJCWNhcmQtPmRldiwgQVUxWFBTQ19CVUZGRVJfTUlOX0JZVEVTLCAoNDA5NiAqIDEwMjQpIC0gMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCByZXNvdXJjZSAqcjsKKwlpbnQgcmV0OworCisJaWYgKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0gfHwgYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCS8qIFRYIERNQSAqLworCWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9UWF0KKwkJPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgYXUxeHBzY19hdWRpb19kbWFkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9ETUEsIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDE7CisJfQorCShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdKS0+ZGRtYV9pZCA9IHItPnN0YXJ0OworCisJLyogUlggRE1BICovCisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1JYXQorCQk9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RtYWRhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pCisJCXJldHVybiAtRU5PTUVNOworCisJciA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX0RNQSwgMSk7CisJaWYgKCFyKSB7CisJCXJldCA9IC1FTk9ERVY7CisJCWdvdG8gb3V0MjsKKwl9CisJKGF1MXhwc2NfYXVkaW9fcGNtZG1hW1BDTV9SWF0pLT5kZG1hX2lkID0gci0+c3RhcnQ7CisKKwlyZXR1cm4gMDsKKworb3V0MjoKKwlrZnJlZShhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdKTsKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdID0gTlVMTDsKK291dDE6CisJa2ZyZWUoYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSk7CisJYXUxeHBzY19hdWRpb19wY21kbWFbUENNX1RYXSA9IE5VTEw7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX3BjbV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJaWYgKGF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldKSB7CisJCQlhdTF4X3BjbV9kYmRtYV9mcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldKTsKKwkJCWtmcmVlKGF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldKTsKKwkJCWF1MXhwc2NfYXVkaW9fcGNtZG1hW2ldID0gTlVMTDsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKiBhdTF4cHNjIGF1ZGlvIHBsYXRmb3JtICovCitzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBhdTF4cHNjX3NvY19wbGF0Zm9ybSA9IHsKKwkubmFtZQkJPSAiYXUxeHBzYy1wY20tZGJkbWEiLAorCS5wcm9iZQkJPSBhdTF4cHNjX3BjbV9wcm9iZSwKKwkucmVtb3ZlCQk9IGF1MXhwc2NfcGNtX3JlbW92ZSwKKwkucGNtX29wcyAJPSAmYXUxeHBzY19wY21fb3BzLAorCS5wY21fbmV3CT0gYXUxeHBzY19wY21fbmV3LAorCS5wY21fZnJlZQk9IGF1MXhwc2NfcGNtX2ZyZWVfZG1hX2J1ZmZlcnMsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYXUxeHBzY19zb2NfcGxhdGZvcm0pOworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX2F1ZGlvX2RiZG1hX2luaXQodm9pZCkKK3sKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fVFhdID0gTlVMTDsKKwlhdTF4cHNjX2F1ZGlvX3BjbWRtYVtQQ01fUlhdID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2NfYXVkaW9fZGJkbWFfZXhpdCh2b2lkKQoreworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX2F1ZGlvX2RiZG1hX2luaXQpOworbW9kdWxlX2V4aXQoYXUxeHBzY19hdWRpb19kYmRtYV9leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTEyeDAvQXUxNTUwIFBTQyBBdWRpbyBETUEgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9wc2MtYWM5Ny5jIGIvc291bmQvc29jL2F1MXgvcHNjLWFjOTcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2ZhY2JhCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvcHNjLWFjOTcuYwpAQCAtMCwwICsxLDM4NyBAQAorLyoKKyAqIEF1MTJ4MC9BdTE1NTAgUFNDIEFMU0EgQVNvQyBhdWRpbyBzdXBwb3J0LgorICoKKyAqIChjKSAyMDA3LTIwMDggTVNDIFZlcnRyaWVic2dlcy5tLmIuSC4sCisgKglNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBBdTF4eHgtUFNDIEFDOTcgZ2x1ZS4KKyAqCisgKiBOT1RFOiBhbGwgb2YgdGhlc2UgZHJpdmVycyBjYW4gb25seSB3b3JrIHdpdGggYSBTSU5HTEUgaW5zdGFuY2UKKyAqCSBvZiBhIFBTQy4gTXVsdGlwbGUgaW5kZXBlbmRlbnQgYXVkaW8gZGV2aWNlcyBhcmUgaW1wb3NzaWJsZQorICoJIHdpdGggQVNvQyB2MS4KKyAqLworCisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisKKyNpbmNsdWRlICJwc2MuaCIKKworI2RlZmluZSBBQzk3X0RJUglcCisJKFNORF9TT0NfREFJRElSX1BMQVlCQUNLIHwgU05EX1NPQ19EQUlESVJfQ0FQVFVSRSkKKworI2RlZmluZSBBQzk3X1JBVEVTCVwKKwlTTkRSVl9QQ01fUkFURV84MDAwXzQ4MDAwCisKKyNkZWZpbmUgQUM5N19GTVRTCVwKKwkoU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MyMF8zQkUpCisKKyNkZWZpbmUgQUM5N1BDUl9TVEFSVChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19BQzk3UENSX1RTIDogUFNDX0FDOTdQQ1JfUlMpCisjZGVmaW5lIEFDOTdQQ1JfU1RPUChzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19BQzk3UENSX1RQIDogUFNDX0FDOTdQQ1JfUlApCisjZGVmaW5lIEFDOTdQQ1JfQ0xSRklGTyhzdHlwZSkJXAorCSgoc3R5cGUpID09IFBDTV9UWCA/IFBTQ19BQzk3UENSX1RDIDogUFNDX0FDOTdQQ1JfUkMpCisKKy8qIGluc3RhbmNlIGRhdGEuIFRoZXJlIGNhbiBiZSBvbmx5IG9uZSwgTWFjTGVvZCEhISEgKi8KK3N0YXRpYyBzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICphdTF4cHNjX2FjOTdfd29ya2RhdGE7CisKKy8qIEFDOTcgY29udHJvbGxlciByZWFkcyBjb2RlYyByZWdpc3RlciAqLworc3RhdGljIHVuc2lnbmVkIHNob3J0IGF1MXhwc2NfYWM5N19yZWFkKHN0cnVjdCBzbmRfYWM5NyAqYWM5NywKKwkJCQkJdW5zaWduZWQgc2hvcnQgcmVnKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwl1bnNpZ25lZCBzaG9ydCBkYXRhLCB0bW87CisKKwlhdV93cml0ZWwoUFNDX0FDOTdDRENfUkQgfCBQU0NfQUM5N0NEQ19JTkRYKHJlZyksIEFDOTdfQ0RDKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwl0bW8gPSAxMDAwOworCXdoaWxlICgoIShhdV9yZWFkbChBQzk3X0VWTlQocHNjZGF0YSkpICYgUFNDX0FDOTdFVk5UX0NEKSkgJiYgLS10bW8pCisJCXVkZWxheSgyKTsKKworCWlmICghdG1vKQorCQlkYXRhID0gMHhmZmZmOworCWVsc2UKKwkJZGF0YSA9IGF1X3JlYWRsKEFDOTdfQ0RDKHBzY2RhdGEpKSAmIDB4ZmZmZjsKKworCWF1X3dyaXRlbChQU0NfQUM5N0VWTlRfQ0QsIEFDOTdfRVZOVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJcmV0dXJuIGRhdGE7Cit9CisKKy8qIEFDOTcgY29udHJvbGxlciB3cml0ZXMgdG8gY29kZWMgcmVnaXN0ZXIgKi8KK3N0YXRpYyB2b2lkIGF1MXhwc2NfYWM5N193cml0ZShzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcsIHVuc2lnbmVkIHNob3J0IHJlZywKKwkJCQl1bnNpZ25lZCBzaG9ydCB2YWwpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCXVuc2lnbmVkIGludCB0bW87CisKKwlhdV93cml0ZWwoUFNDX0FDOTdDRENfSU5EWChyZWcpIHwgKHZhbCAmIDB4ZmZmZiksIEFDOTdfQ0RDKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJdG1vID0gMTAwMDsKKwl3aGlsZSAoKCEoYXVfcmVhZGwoQUM5N19FVk5UKHBzY2RhdGEpKSAmIFBTQ19BQzk3RVZOVF9DRCkpICYmIC0tdG1vKQorCQlhdV9zeW5jKCk7CisKKwlhdV93cml0ZWwoUFNDX0FDOTdFVk5UX0NELCBBQzk3X0VWTlQocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKK30KKworLyogQUM5NyBjb250cm9sbGVyIGFzc2VydHMgYSB3YXJtIHJlc2V0ICovCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfd2FybV9yZXNldChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCisJYXVfd3JpdGVsKFBTQ19BQzk3UlNUX1NOQywgQUM5N19SU1QocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwltc2xlZXAoMTApOworCWF1X3dyaXRlbCgwLCBBQzk3X1JTVChwc2NkYXRhKSk7CisJYXVfc3luYygpOworfQorCitzdGF0aWMgdm9pZCBhdTF4cHNjX2FjOTdfY29sZF9yZXNldChzdHJ1Y3Qgc25kX2FjOTcgKmFjOTcpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCWludCBpOworCisJLyogZGlzYWJsZSBQU0MgZHVyaW5nIGNvbGQgcmVzZXQgKi8KKwlhdV93cml0ZWwoMCwgQUM5N19DRkcoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogaXNzdWUgY29sZCByZXNldCAqLworCWF1X3dyaXRlbChQU0NfQUM5N1JTVF9SU1QsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJbXNsZWVwKDUwMCk7CisJYXVfd3JpdGVsKDAsIEFDOTdfUlNUKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiBlbmFibGUgUFNDICovCisJYXVfd3JpdGVsKFBTQ19DVFJMX0VOQUJMRSwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIFBTQyB0byBpbmRpY2F0ZSBpdCdzIHJlYWR5ICovCisJaSA9IDEwMDAwMDsKKwl3aGlsZSAoISgoYXVfcmVhZGwoQUM5N19TVEFUKHBzY2RhdGEpKSAmIFBTQ19BQzk3U1RBVF9TUikpICYmICgtLWkpKQorCQlhdV9zeW5jKCk7CisKKwlpZiAoaSA9PSAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiYXUxeHBzYy1hYzk3OiBQU0Mgbm90IHJlYWR5IVxuIik7CisJCXJldHVybjsKKwl9CisKKwkvKiBlbmFibGUgdGhlIGFjOTcgZnVuY3Rpb24gKi8KKwlhdV93cml0ZWwocHNjZGF0YS0+Y2ZnIHwgUFNDX0FDOTdDRkdfREVfRU5BQkxFLCBBQzk3X0NGRyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3IgQUM5NyBjb3JlIHRvIGJlY29tZSByZWFkeSAqLworCWkgPSAxMDAwMDA7CisJd2hpbGUgKCEoKGF1X3JlYWRsKEFDOTdfU1RBVChwc2NkYXRhKSkgJiBQU0NfQUM5N1NUQVRfRFIpKSAmJiAoLS1pKSkKKwkJYXVfc3luYygpOworCWlmIChpID09IDApCisJCXByaW50ayhLRVJOX0VSUiAiYXUxeHBzYy1hYzk3OiBBQzk3IGN0cmwgbm90IHJlYWR5XG4iKTsKK30KKworLyogQUM5NyBjb250cm9sbGVyIG9wZXJhdGlvbnMgKi8KK3N0cnVjdCBzbmRfYWM5N19idXNfb3BzIHNvY19hYzk3X29wcyA9IHsKKwkucmVhZAkJPSBhdTF4cHNjX2FjOTdfcmVhZCwKKwkud3JpdGUJCT0gYXUxeHBzY19hYzk3X3dyaXRlLAorCS5yZXNldAkJPSBhdTF4cHNjX2FjOTdfY29sZF9yZXNldCwKKwkud2FybV9yZXNldAk9IGF1MXhwc2NfYWM5N193YXJtX3Jlc2V0LAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19hYzk3X29wcyk7CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwkJCQkgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCS8qIEZJWE1FICovCisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfYWM5N193b3JrZGF0YTsKKwl1bnNpZ25lZCBsb25nIHIsIHN0YXQ7CisJaW50IGNoYW5zLCBzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisKKwljaGFucyA9IHBhcmFtc19jaGFubmVscyhwYXJhbXMpOworCisJciA9IGF1X3JlYWRsKEFDOTdfQ0ZHKHBzY2RhdGEpKTsKKwlzdGF0ID0gYXVfcmVhZGwoQUM5N19TVEFUKHBzY2RhdGEpKTsKKworCS8qIGFscmVhZHkgYWN0aXZlPyAqLworCWlmIChzdGF0ICYgKFBTQ19BQzk3U1RBVF9UQiB8IFBTQ19BQzk3U1RBVF9SQikpIHsKKwkJLyogcmVqZWN0IHBhcmFtZXRlcnMgbm90IGN1cnJlbnRseSBzZXQgdXAgKi8KKwkJaWYgKChQU0NfQUM5N0NGR19HRVRfTEVOKHIpICE9IHBhcmFtcy0+bXNiaXRzKSB8fAorCQkgICAgKHBzY2RhdGEtPnJhdGUgIT0gcGFyYW1zX3JhdGUocGFyYW1zKSkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwl9IGVsc2UgeworCQkvKiBkaXNhYmxlIEFDOTcgZGV2aWNlIGNvbnRyb2xsZXIgZmlyc3QgKi8KKwkJYXVfd3JpdGVsKHIgJiB+UFNDX0FDOTdDRkdfREVfRU5BQkxFLCBBQzk3X0NGRyhwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKworCQkvKiBzZXQgc2FtcGxlIGJpdGRlcHRoOiBSRUdbMjQ6MjFdPShCSVRTLTIpLzIgKi8KKwkJciAmPSB+UFNDX0FDOTdDRkdfTEVOX01BU0s7CisJCXIgfD0gUFNDX0FDOTdDRkdfU0VUX0xFTihwYXJhbXMtPm1zYml0cyk7CisKKwkJLyogY2hhbm5lbHM6IGVuYWJsZSBzbG90cyBmb3IgZnJvbnQgTC9SIGNoYW5uZWwgKi8KKwkJaWYgKHN0eXBlID09IFBDTV9UWCkgeworCQkJciAmPSB+UFNDX0FDOTdDRkdfVFhTTE9UX01BU0s7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1RYU0xPVF9FTkEoMyk7CisJCQlyIHw9IFBTQ19BQzk3Q0ZHX1RYU0xPVF9FTkEoNCk7CisJCX0gZWxzZSB7CisJCQlyICY9IH5QU0NfQUM5N0NGR19SWFNMT1RfTUFTSzsKKwkJCXIgfD0gUFNDX0FDOTdDRkdfUlhTTE9UX0VOQSgzKTsKKwkJCXIgfD0gUFNDX0FDOTdDRkdfUlhTTE9UX0VOQSg0KTsKKwkJfQorCisJCS8qIGZpbmFsbHkgZW5hYmxlIHRoZSBBQzk3IGNvbnRyb2xsZXIgYWdhaW4gKi8KKwkJYXVfd3JpdGVsKHIgfCBQU0NfQUM5N0NGR19ERV9FTkFCTEUsIEFDOTdfQ0ZHKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCisJCXBzY2RhdGEtPmNmZyA9IHI7CisJCXBzY2RhdGEtPnJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfYWM5N190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCWludCBjbWQpCit7CisJLyogRklYTUUgKi8KKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19hYzk3X3dvcmtkYXRhOworCWludCByZXQsIHN0eXBlID0gU1VCU1RSRUFNX1RZUEUoc3Vic3RyZWFtKTsKKworCXJldCA9IDA7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJCWF1X3dyaXRlbChBQzk3UENSX1NUQVJUKHN0eXBlKSwgQUM5N19QQ1IocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RPUDoKKwljYXNlIFNORFJWX1BDTV9UUklHR0VSX1NVU1BFTkQ6CisJCWF1X3dyaXRlbChBQzk3UENSX1NUT1Aoc3R5cGUpLCBBQzk3X1BDUihwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0ID0gLUVJTlZBTDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQoreworCWludCByZXQ7CisJc3RydWN0IHJlc291cmNlICpyOworCXVuc2lnbmVkIGxvbmcgc2VsOworCisJaWYgKGF1MXhwc2NfYWM5N193b3JrZGF0YSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9CisJCWt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfYWM5N193b3JrZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKwlpZiAoIXIpIHsKKwkJcmV0ID0gLUVOT0RFVjsKKwkJZ290byBvdXQwOworCX0KKworCXJldCA9IC1FQlVTWTsKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSA9CisJCXJlcXVlc3RfbWVtX3JlZ2lvbihyLT5zdGFydCwgci0+ZW5kIC0gci0+c3RhcnQgKyAxLAorCQkJCQkiYXUxeHBzY19hYzk3Iik7CisJaWYgKCFhdTF4cHNjX2FjOTdfd29ya2RhdGEtPmlvYXJlYSkKKwkJZ290byBvdXQwOworCisJYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5tbWlvID0gaW9yZW1hcChyLT5zdGFydCwgMHhmZmZmKTsKKwlpZiAoIWF1MXhwc2NfYWM5N193b3JrZGF0YS0+bW1pbykKKwkJZ290byBvdXQxOworCisJLyogY29uZmlndXJhdGlvbjogbWF4IGRtYSB0cmlnZ2VyIHRocmVzaG9sZCwgZW5hYmxlIGFjOTcgKi8KKwkgYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5jZmcgPSBQU0NfQUM5N0NGR19SVF9GSUZPOCB8CisJCQkJICAgICAgUFNDX0FDOTdDRkdfVFRfRklGTzggfAorCQkJCSAgICAgIFBTQ19BQzk3Q0ZHX0RFX0VOQUJMRTsKKworCS8qIHByZXNlcnZlIFBTQyBjbG9jayBzb3VyY2Ugc2V0IHVwIGJ5IHBsYXRmb3JtIChkZXYucGxhdGZvcm1fZGF0YQorCSAqIGlzIGFscmVhZHkgb2NjdXBpZWQgYnkgc29jIGxheWVyKQorCSAqLworCXNlbCA9IGF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSkgJiBQU0NfU0VMX0NMS19NQVNLOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKDAsIFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfU0VMX1BTX0FDOTdNT0RFIHwgc2VsLCBQU0NfU0VMKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwkvKiBuZXh0IHVwOiBjb2xkIHJlc2V0LiAgRG9udCBjaGVjayBmb3IgUFNDLXJlYWR5IG5vdyBzaW5jZQorCSAqIHRoZXJlIG1heSBub3QgYmUgYW55IGNvZGVjIGNsb2NrIHlldC4KKwkgKi8KKworCXJldHVybiAwOworCitvdXQxOgorCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKK291dDA6CisJa2ZyZWUoYXUxeHBzY19hYzk3X3dvcmtkYXRhKTsKKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIGF1MXhwc2NfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwkvKiBkaXNhYmxlIFBTQyBjb21wbGV0ZWx5ICovCisJYXVfd3JpdGVsKDAsIEFDOTdfQ0ZHKGF1MXhwc2NfYWM5N193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJaW91bm1hcChhdTF4cHNjX2FjOTdfd29ya2RhdGEtPm1taW8pOworCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19hYzk3X3dvcmtkYXRhLT5pb2FyZWEpOworCWtmcmVlKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2FjOTdfd29ya2RhdGEpOworCWF1MXhwc2NfYWM5N193b3JrZGF0YSA9IE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19hYzk3X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKK3sKKwkvKiBzYXZlIGludGVyZXN0aW5nIHJlZ2lzdGVycyBhbmQgZGlzYWJsZSBQU0MgKi8KKwlhdTF4cHNjX2FjOTdfd29ya2RhdGEtPnBtWzBdID0KKwkJCWF1X3JlYWRsKFBTQ19TRUwoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisKKwlhdV93cml0ZWwoMCwgQUM5N19DRkcoYXUxeHBzY19hYzk3X3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2FjOTdfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJLyogcmVzdG9yZSBQU0MgY2xvY2sgY29uZmlnICovCisJYXVfd3JpdGVsKGF1MXhwc2NfYWM5N193b3JrZGF0YS0+cG1bMF0gfCBQU0NfU0VMX1BTX0FDOTdNT0RFLAorCQkJUFNDX1NFTChhdTF4cHNjX2FjOTdfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiBhZnRlciB0aGlzIHBvaW50IHRoZSBhYzk3IGNvcmUgd2lsbCBjb2xkLXJlc2V0IHRoZSBjb2RlYy4KKwkgKiBEdXJpbmcgY29sZC1yZXNldCB0aGUgUFNDIGlzIHJlaW5pdGlhbGl6ZWQgYW5kIHRoZSBsYXN0CisJICogY29uZmlndXJhdGlvbiBzZXQgdXAgaW4gaHdfcGFyYW1zKCkgaXMgcmVzdG9yZWQuCisJICovCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2FjOTdfZGFpID0geworCS5uYW1lCQkJPSAiYXUxeHBzY19hYzk3IiwKKwkudHlwZQkJCT0gU05EX1NPQ19EQUlfQUM5NywKKwkucHJvYmUJCQk9IGF1MXhwc2NfYWM5N19wcm9iZSwKKwkucmVtb3ZlCQkJPSBhdTF4cHNjX2FjOTdfcmVtb3ZlLAorCS5zdXNwZW5kCQk9IGF1MXhwc2NfYWM5N19zdXNwZW5kLAorCS5yZXN1bWUJCQk9IGF1MXhwc2NfYWM5N19yZXN1bWUsCisJLnBsYXliYWNrID0geworCQkucmF0ZXMJCT0gQUM5N19SQVRFUywKKwkJLmZvcm1hdHMJPSBBQzk3X0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gMiwKKwl9LAorCS5jYXB0dXJlID0geworCQkucmF0ZXMJCT0gQUM5N19SQVRFUywKKwkJLmZvcm1hdHMJPSBBQzk3X0ZNVFMsCisJCS5jaGFubmVsc19taW4JPSAyLAorCQkuY2hhbm5lbHNfbWF4CT0gMiwKKwl9LAorCS5vcHMgPSB7CisJCS50cmlnZ2VyCT0gYXUxeHBzY19hYzk3X3RyaWdnZXIsCisJCS5od19wYXJhbXMJPSBhdTF4cHNjX2FjOTdfaHdfcGFyYW1zLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwoYXUxeHBzY19hYzk3X2RhaSk7CisKK3N0YXRpYyBpbnQgX19pbml0IGF1MXhwc2NfYWM5N19pbml0KHZvaWQpCit7CisJYXUxeHBzY19hYzk3X3dvcmtkYXRhID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGF1MXhwc2NfYWM5N19leGl0KHZvaWQpCit7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2NfYWM5N19pbml0KTsKK21vZHVsZV9leGl0KGF1MXhwc2NfYWM5N19leGl0KTsKKworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBdTEyeDAvQXUxNTUwIFBTQyBBQzk3IEFMU0EgQVNvQyBhdWRpbyBkcml2ZXIiKTsKK01PRFVMRV9BVVRIT1IoIk1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4iKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9hdTF4L3BzYy1pMnMuYyBiL3NvdW5kL3NvYy9hdTF4L3BzYy1pMnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTRiNWMxCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2F1MXgvcHNjLWkycy5jCkBAIC0wLDAgKzEsNDE0IEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIEF1MXh4eC1QU0MgSTJTIGdsdWUuCisgKgorICogTk9URTogYWxsIG9mIHRoZXNlIGRyaXZlcnMgY2FuIG9ubHkgd29yayB3aXRoIGEgU0lOR0xFIGluc3RhbmNlCisgKgkgb2YgYSBQU0MuIE11bHRpcGxlIGluZGVwZW5kZW50IGF1ZGlvIGRldmljZXMgYXJlIGltcG9zc2libGUKKyAqCSB3aXRoIEFTb0MgdjEuCisgKiBOT1RFOiBzbyBmYXIgb25seSBQU0Mgc2xhdmUgbW9kZSAoYml0LSBhbmQgZnJhbWVjbG9jaykgaXMgc3VwcG9ydGVkLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgorI2luY2x1ZGUgPHNvdW5kL2NvcmUuaD4KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisKKyNpbmNsdWRlICJwc2MuaCIKKworLyogc3VwcG9ydGVkIEkyUyBEQUkgaGFyZHdhcmUgZm9ybWF0cyAqLworI2RlZmluZSBBVTFYUFNDX0kyU19EQUlGTVQgXAorCShTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9MRUZUX0ogfAlcCisJIFNORF9TT0NfREFJRk1UX05CX05GKQorCisvKiBzdXBwb3J0ZWQgSTJTIGRpcmVjdGlvbiAqLworI2RlZmluZSBBVTFYUFNDX0kyU19ESVIgXAorCShTTkRfU09DX0RBSURJUl9QTEFZQkFDSyB8IFNORF9TT0NfREFJRElSX0NBUFRVUkUpCisKKyNkZWZpbmUgQVUxWFBTQ19JMlNfUkFURVMgXAorCVNORFJWX1BDTV9SQVRFXzgwMDBfMTkyMDAwCisKKyNkZWZpbmUgQVUxWFBTQ19JMlNfRk1UUyBcCisJKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUpCisKKyNkZWZpbmUgSTJTU1RBVF9CVVNZKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1NUQVRfVEIgOiBQU0NfSTJTU1RBVF9SQikKKyNkZWZpbmUgSTJTUENSX1NUQVJUKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1BDUl9UUyA6IFBTQ19JMlNQQ1JfUlMpCisjZGVmaW5lIEkyU1BDUl9TVE9QKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1BDUl9UUCA6IFBTQ19JMlNQQ1JfUlApCisjZGVmaW5lIEkyU1BDUl9DTFJGSUZPKHN0eXBlKQlcCisJKChzdHlwZSkgPT0gUENNX1RYID8gUFNDX0kyU1BDUl9UQyA6IFBTQ19JMlNQQ1JfUkMpCisKKworLyogaW5zdGFuY2UgZGF0YS4gVGhlcmUgY2FuIGJlIG9ubHkgb25lLCBNYWNMZW9kISEhISAqLworc3RhdGljIHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKmF1MXhwc2NfaTJzX3dvcmtkYXRhOworCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAorCQkJICAgICAgIHVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSA9IGF1MXhwc2NfaTJzX3dvcmtkYXRhOworCXVuc2lnbmVkIGxvbmcgY3Q7CisJaW50IHJldDsKKworCXJldCA9IC1FSU5WQUw7CisKKwljdCA9IHBzY2RhdGEtPmNmZzsKKworCWN0ICY9IH4oUFNDX0kyU0NGR19YTSB8IFBTQ19JMlNDRkdfTUxKKTsJLyogbGVmdC1qdXN0aWZpZWQgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWN0IHw9IFBTQ19JMlNDRkdfWE07CS8qIGVuYWJsZSBJMlMgbW9kZSAqLworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX01TQjoKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MU0I6CisJCWN0IHw9IFBTQ19JMlNDRkdfTUxKOwkvKiBMU0IgKHJpZ2h0LSkganVzdGlmaWVkICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWdvdG8gb3V0OworCX0KKworCWN0ICY9IH4oUFNDX0kyU0NGR19CSSB8IFBTQ19JMlNDRkdfV0kpOwkJLyogSUItSUYgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0lOVl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9ORjoKKwkJY3QgfD0gUFNDX0kyU0NGR19CSSB8IFBTQ19JMlNDRkdfV0k7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfSUY6CisJCWN0IHw9IFBTQ19JMlNDRkdfQkk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfSUJfTkY6CisJCWN0IHw9IFBTQ19JMlNDRkdfV0k7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfSUJfSUY6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWdvdG8gb3V0OworCX0KKworCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spIHsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCTV9DRk06CS8qIENPREVDIG1hc3RlciAqLworCQljdCB8PSBQU0NfSTJTQ0ZHX01TOwkvKiBQU0MgSTJTIHNsYXZlIG1vZGUgKi8KKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgkvKiBDT0RFQyBzbGF2ZSAqLworCQljdCAmPSB+UFNDX0kyU0NGR19NUzsJLyogUFNDIEkyUyBNYXN0ZXIgbW9kZSAqLworCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG91dDsKKwl9CisKKwlwc2NkYXRhLT5jZmcgPSBjdDsKKwlyZXQgPSAwOworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCQkJCSBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhID0gYXUxeHBzY19pMnNfd29ya2RhdGE7CisKKwlpbnQgY2ZnYml0czsKKwl1bnNpZ25lZCBsb25nIHN0YXQ7CisKKwkvKiBjaGVjayBpZiB0aGUgUFNDIGlzIGFscmVhZHkgc3RyZWFtaW5nIGRhdGEgKi8KKwlzdGF0ID0gYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpOworCWlmIChzdGF0ICYgKFBTQ19JMlNTVEFUX1RCIHwgUFNDX0kyU1NUQVRfUkIpKSB7CisJCS8qIHJlamVjdCBwYXJhbWV0ZXJzIG5vdCBjdXJyZW50bHkgc2V0IHVwIGluIGhhcmR3YXJlICovCisJCWNmZ2JpdHMgPSBhdV9yZWFkbChJMlNfQ0ZHKHBzY2RhdGEpKTsKKwkJaWYgKChQU0NfSTJTQ0ZHX0dFVF9MRU4oY2ZnYml0cykgIT0gcGFyYW1zLT5tc2JpdHMpIHx8CisJCSAgICAocGFyYW1zX3JhdGUocGFyYW1zKSAhPSBwc2NkYXRhLT5yYXRlKSkKKwkJCXJldHVybiAtRUlOVkFMOworCX0gZWxzZSB7CisJCS8qIHNldCBzYW1wbGUgYml0ZGVwdGggKi8KKwkJcHNjZGF0YS0+Y2ZnICY9IH4oMHgxZiA8PCA0KTsKKwkJcHNjZGF0YS0+Y2ZnIHw9IFBTQ19JMlNDRkdfU0VUX0xFTihwYXJhbXMtPm1zYml0cyk7CisJCS8qIHJlbWVtYmVyIGN1cnJlbnQgcmF0ZSBmb3Igb3RoZXIgc3RyZWFtICovCisJCXBzY2RhdGEtPnJhdGUgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogQ29uZmlndXJlIFBTQyBsYXRlOiAgb24gbXkgZGV2ZWwgc3lzdGVtcyB0aGUgY29kZWMgIGlzIEkyUyBtYXN0ZXIgYW5kCisgKiBzdXBwbGllcyB0aGUgaTJzYml0Y2xvY2sgX19BTkRfXyBpMnNNY2xrICghKSB0byB0aGUgUFNDIHVuaXQuICBBU29DCisgKiB1c2VzIGFnZ3Jlc3NpdmUgUE0gYW5kICBzd2l0Y2hlcyB0aGUgY29kZWMgb2ZmICB3aGVuIGl0IGlzIG5vdCBpbiB1c2UKKyAqIHdoaWNoIGFsc28gbWVhbnMgdGhlIFBTQyB1bml0IGRvZXNuJ3QgZ2V0IGFueSBjbG9ja3MgYW5kIGlzIHRoZXJlZm9yZQorICogZGVhZC4gVGhhdCdzIHdoeSB0aGlzIGNodW5rIGhlcmUgZ2V0cyBjYWxsZWQgZnJvbSB0aGUgdHJpZ2dlciBjYWxsYmFjaworICogYmVjYXVzZSBJIGNhbiBiZSByZWFzb25hYmx5IGNlcnRhaW4gdGhlIGNvZGVjIGlzIGRyaXZpbmcgdGhlIGNsb2Nrcy4KKyAqLworc3RhdGljIGludCBhdTF4cHNjX2kyc19jb25maWd1cmUoc3RydWN0IGF1MXhwc2NfYXVkaW9fZGF0YSAqcHNjZGF0YSkKK3sKKwl1bnNpZ25lZCBsb25nIHRtbzsKKworCS8qIGJyaW5nIFBTQyBvdXQgb2Ygc2xlZXAsIGFuZCBjb25maWd1cmUgSTJTIHVuaXQgKi8KKwlhdV93cml0ZWwoUFNDX0NUUkxfRU5BQkxFLCBQU0NfQ1RSTChwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJdG1vID0gMTAwMDAwMDsKKwl3aGlsZSAoIShhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBQU0NfSTJTU1RBVF9TUikgJiYgdG1vKQorCQl0bW8tLTsKKworCWlmICghdG1vKQorCQlnb3RvIHBzY19lcnI7CisKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCWF1X3dyaXRlbChwc2NkYXRhLT5jZmcgfCBQU0NfSTJTQ0ZHX0RFX0VOQUJMRSwgSTJTX0NGRyhwc2NkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogd2FpdCBmb3IgSTJTIGNvbnRyb2xsZXIgdG8gYmVjb21lIHJlYWR5ICovCisJdG1vID0gMTAwMDAwMDsKKwl3aGlsZSAoIShhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBQU0NfSTJTU1RBVF9EUikgJiYgdG1vKQorCQl0bW8tLTsKKworCWlmICh0bW8pCisJCXJldHVybiAwOworCitwc2NfZXJyOgorCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKHBzY2RhdGEpKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfU1VTUEVORCwgUFNDX0NUUkwocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKwlyZXR1cm4gLUVUSU1FRE9VVDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19zdGFydChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhLCBpbnQgc3R5cGUpCit7CisJdW5zaWduZWQgbG9uZyB0bW8sIHN0YXQ7CisJaW50IHJldDsKKworCXJldCA9IDA7CisKKwkvKiBpZiBib3RoIFRYIGFuZCBSWCBhcmUgaWRsZSwgY29uZmlndXJlIHRoZSBQU0MgICovCisJc3RhdCA9IGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKTsKKwlpZiAoIShzdGF0ICYgKFBTQ19JMlNTVEFUX1RCIHwgUFNDX0kyU1NUQVRfUkIpKSkgeworCQlyZXQgPSBhdTF4cHNjX2kyc19jb25maWd1cmUocHNjZGF0YSk7CisJCWlmIChyZXQpCisJCQlnb3RvIG91dDsKKwl9CisKKwlhdV93cml0ZWwoSTJTUENSX0NMUkZJRk8oc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKEkyU1BDUl9TVEFSVChzdHlwZSksIEkyU19QQ1IocHNjZGF0YSkpOworCWF1X3N5bmMoKTsKKworCS8qIHdhaXQgZm9yIHN0YXJ0IGNvbmZpcm1hdGlvbiAqLworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKCEoYXVfcmVhZGwoSTJTX1NUQVQocHNjZGF0YSkpICYgSTJTU1RBVF9CVVNZKHN0eXBlKSkgJiYgdG1vKQorCQl0bW8tLTsKKworCWlmICghdG1vKSB7CisJCWF1X3dyaXRlbChJMlNQQ1JfU1RPUChzdHlwZSksIEkyU19QQ1IocHNjZGF0YSkpOworCQlhdV9zeW5jKCk7CisJCXJldCA9IC1FVElNRURPVVQ7CisJfQorb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfc3RvcChzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhICpwc2NkYXRhLCBpbnQgc3R5cGUpCit7CisJdW5zaWduZWQgbG9uZyB0bW8sIHN0YXQ7CisKKwlhdV93cml0ZWwoSTJTUENSX1NUT1Aoc3R5cGUpLCBJMlNfUENSKHBzY2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwkvKiB3YWl0IGZvciBzdG9wIGNvbmZpcm1hdGlvbiAqLworCXRtbyA9IDEwMDAwMDA7CisJd2hpbGUgKChhdV9yZWFkbChJMlNfU1RBVChwc2NkYXRhKSkgJiBJMlNTVEFUX0JVU1koc3R5cGUpKSAmJiB0bW8pCisJCXRtby0tOworCisJLyogaWYgYm90aCBUWCBhbmQgUlggYXJlIGlkbGUsIGRpc2FibGUgUFNDICovCisJc3RhdCA9IGF1X3JlYWRsKEkyU19TVEFUKHBzY2RhdGEpKTsKKwlpZiAoIShzdGF0ICYgKFBTQ19JMlNTVEFUX1JCIHwgUFNDX0kyU1NUQVRfUkIpKSkgeworCQlhdV93cml0ZWwoMCwgSTJTX0NGRyhwc2NkYXRhKSk7CisJCWF1X3N5bmMoKTsKKwkJYXVfd3JpdGVsKFBTQ19DVFJMX1NVU1BFTkQsIFBTQ19DVFJMKHBzY2RhdGEpKTsKKwkJYXVfc3luYygpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc190cmlnZ2VyKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLCBpbnQgY21kKQoreworCXN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEgKnBzY2RhdGEgPSBhdTF4cHNjX2kyc193b3JrZGF0YTsKKwlpbnQgcmV0LCBzdHlwZSA9IFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSk7CisKKwlzd2l0Y2ggKGNtZCkgeworCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1RBUlQ6CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9SRVNVTUU6CisJCXJldCA9IGF1MXhwc2NfaTJzX3N0YXJ0KHBzY2RhdGEsIHN0eXBlKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fVFJJR0dFUl9TVE9QOgorCWNhc2UgU05EUlZfUENNX1RSSUdHRVJfU1VTUEVORDoKKwkJcmV0ID0gYXUxeHBzY19pMnNfc3RvcChwc2NkYXRhLCBzdHlwZSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9IC1FSU5WQUw7CisJfQorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgYXUxeHBzY19pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJc3RydWN0IHJlc291cmNlICpyOworCXVuc2lnbmVkIGxvbmcgc2VsOworCWludCByZXQ7CisKKwlpZiAoYXUxeHBzY19pMnNfd29ya2RhdGEpCisJCXJldHVybiAtRUJVU1k7CisKKwlhdTF4cHNjX2kyc193b3JrZGF0YSA9CisJCWt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhdTF4cHNjX2F1ZGlvX2RhdGEpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWF1MXhwc2NfaTJzX3dvcmtkYXRhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXIgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCWlmICghcikgeworCQlyZXQgPSAtRU5PREVWOworCQlnb3RvIG91dDA7CisJfQorCisJcmV0ID0gLUVCVVNZOworCWF1MXhwc2NfaTJzX3dvcmtkYXRhLT5pb2FyZWEgPQorCQlyZXF1ZXN0X21lbV9yZWdpb24oci0+c3RhcnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSwKKwkJCQkJImF1MXhwc2NfaTJzIik7CisJaWYgKCFhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKQorCQlnb3RvIG91dDA7CisKKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+bW1pbyA9IGlvcmVtYXAoci0+c3RhcnQsIDB4ZmZmZik7CisJaWYgKCFhdTF4cHNjX2kyc193b3JrZGF0YS0+bW1pbykKKwkJZ290byBvdXQxOworCisJLyogcHJlc2VydmUgUFNDIGNsb2NrIHNvdXJjZSBzZXQgdXAgYnkgcGxhdGZvcm0gKGRldi5wbGF0Zm9ybV9kYXRhCisJICogaXMgYWxyZWFkeSBvY2N1cGllZCBieSBzb2MgbGF5ZXIpCisJICovCisJc2VsID0gYXVfcmVhZGwoUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpICYgUFNDX1NFTF9DTEtfTUFTSzsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19TRUxfUFNfSTJTTU9ERSB8IHNlbCwgUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3dyaXRlbCgwLCBJMlNfQ0ZHKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJLyogcHJlY29uZmlndXJlOiBzZXQgbWF4IHJ4L3R4IGZpZm8gZGVwdGhzICovCisJYXUxeHBzY19pMnNfd29ya2RhdGEtPmNmZyB8PQorCQkJUFNDX0kyU0NGR19SVF9GSUZPOCB8IFBTQ19JMlNDRkdfVFRfRklGTzg7CisKKwkvKiBkb24ndCB3YWl0IGZvciBJMlMgY29yZSB0byBiZWNvbWUgcmVhZHkgbm93OyBjbG9ja3MgbWF5IG5vdAorCSAqIGJlIHJ1bm5pbmcgeWV0OyBkZXBlbmRpbmcgb24gY2xvY2sgaW5wdXQgZm9yIFBTQyBhIHdhaXQgbWlnaHQKKwkgKiB0aW1lIG91dC4KKwkgKi8KKworCXJldHVybiAwOworCitvdXQxOgorCXJlbGVhc2VfcmVzb3VyY2UoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CisJa2ZyZWUoYXUxeHBzY19pMnNfd29ya2RhdGEtPmlvYXJlYSk7CitvdXQwOgorCWtmcmVlKGF1MXhwc2NfaTJzX3dvcmtkYXRhKTsKKwlhdTF4cHNjX2kyc193b3JrZGF0YSA9IE5VTEw7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgYXUxeHBzY19pMnNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCisJCQkgICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCit7CisJYXVfd3JpdGVsKDAsIEkyU19DRkcoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisJYXVfd3JpdGVsKFBTQ19DVFJMX0RJU0FCTEUsIFBTQ19DVFJMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisJYXVfc3luYygpOworCisJaW91bm1hcChhdTF4cHNjX2kyc193b3JrZGF0YS0+bW1pbyk7CisJcmVsZWFzZV9yZXNvdXJjZShhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YS0+aW9hcmVhKTsKKwlrZnJlZShhdTF4cHNjX2kyc193b3JrZGF0YSk7CisJYXUxeHBzY19pMnNfd29ya2RhdGEgPSBOVUxMOworfQorCitzdGF0aWMgaW50IGF1MXhwc2NfaTJzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCit7CisJLyogc2F2ZSBpbnRlcmVzdGluZyByZWdpc3RlciBhbmQgZGlzYWJsZSBQU0MgKi8KKwlhdTF4cHNjX2kyc193b3JrZGF0YS0+cG1bMF0gPQorCQlhdV9yZWFkbChQU0NfU0VMKGF1MXhwc2NfaTJzX3dvcmtkYXRhKSk7CisKKwlhdV93cml0ZWwoMCwgSTJTX0NGRyhhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoUFNDX0NUUkxfRElTQUJMRSwgUFNDX0NUUkwoYXUxeHBzY19pMnNfd29ya2RhdGEpKTsKKwlhdV9zeW5jKCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhdTF4cHNjX2kyc19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSkKK3sKKwkvKiBzZWxlY3QgSTJTIG1vZGUgYW5kIFBTQyBjbG9jayAqLworCWF1X3dyaXRlbChQU0NfQ1RSTF9ESVNBQkxFLCBQU0NfQ1RSTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoMCwgUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKwlhdV93cml0ZWwoYXUxeHBzY19pMnNfd29ya2RhdGEtPnBtWzBdLAorCQkJUFNDX1NFTChhdTF4cHNjX2kyc193b3JrZGF0YSkpOworCWF1X3N5bmMoKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19kYWkgYXUxeHBzY19pMnNfZGFpID0geworCS5uYW1lCQkJPSAiYXUxeHBzY19pMnMiLAorCS50eXBlCQkJPSBTTkRfU09DX0RBSV9JMlMsCisJLnByb2JlCQkJPSBhdTF4cHNjX2kyc19wcm9iZSwKKwkucmVtb3ZlCQkJPSBhdTF4cHNjX2kyc19yZW1vdmUsCisJLnN1c3BlbmQJCT0gYXUxeHBzY19pMnNfc3VzcGVuZCwKKwkucmVzdW1lCQkJPSBhdTF4cHNjX2kyc19yZXN1bWUsCisJLnBsYXliYWNrID0geworCQkucmF0ZXMJCT0gQVUxWFBTQ19JMlNfUkFURVMsCisJCS5mb3JtYXRzCT0gQVUxWFBTQ19JMlNfRk1UUywKKwkJLmNoYW5uZWxzX21pbgk9IDIsCisJCS5jaGFubmVsc19tYXgJPSA4LAkvKiAyIHdpdGhvdXQgZXh0ZXJuYWwgaGVscCAqLworCX0sCisJLmNhcHR1cmUgPSB7CisJCS5yYXRlcwkJPSBBVTFYUFNDX0kyU19SQVRFUywKKwkJLmZvcm1hdHMJPSBBVTFYUFNDX0kyU19GTVRTLAorCQkuY2hhbm5lbHNfbWluCT0gMiwKKwkJLmNoYW5uZWxzX21heAk9IDgsCS8qIDIgd2l0aG91dCBleHRlcm5hbCBoZWxwICovCisJfSwKKwkub3BzID0geworCQkudHJpZ2dlcgk9IGF1MXhwc2NfaTJzX3RyaWdnZXIsCisJCS5od19wYXJhbXMJPSBhdTF4cHNjX2kyc19od19wYXJhbXMsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLnNldF9mbXQJPSBhdTF4cHNjX2kyc19zZXRfZm10LAorCX0sCit9OworRVhQT1JUX1NZTUJPTChhdTF4cHNjX2kyc19kYWkpOworCitzdGF0aWMgaW50IF9faW5pdCBhdTF4cHNjX2kyc19pbml0KHZvaWQpCit7CisJYXUxeHBzY19pMnNfd29ya2RhdGEgPSBOVUxMOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgYXUxeHBzY19pMnNfZXhpdCh2b2lkKQoreworfQorCittb2R1bGVfaW5pdChhdTF4cHNjX2kyc19pbml0KTsKK21vZHVsZV9leGl0KGF1MXhwc2NfaTJzX2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MTJ4MC9BdTE1NTAgUFNDIEkyUyBBTFNBIEFTb0MgYXVkaW8gZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJNYW51ZWwgTGF1c3MgPG1hbm9Acm9hcmluZWxrLmhvbWVsaW51eC5uZXQ+Iik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYXUxeC9wc2MuaCBiL3NvdW5kL3NvYy9hdTF4L3BzYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmZGIxYTAKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvYXUxeC9wc2MuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQXUxMngwL0F1MTU1MCBQU0MgQUxTQSBBU29DIGF1ZGlvIHN1cHBvcnQuCisgKgorICogKGMpIDIwMDctMjAwOCBNU0MgVmVydHJpZWJzZ2VzLm0uYi5ILiwKKyAqCU1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIE5PVEU6IGFsbCBvZiB0aGVzZSBkcml2ZXJzIGNhbiBvbmx5IHdvcmsgd2l0aCBhIFNJTkdMRSBpbnN0YW5jZQorICoJIG9mIGEgUFNDLiBNdWx0aXBsZSBpbmRlcGVuZGVudCBhdWRpbyBkZXZpY2VzIGFyZSBpbXBvc3NpYmxlCisgKgkgd2l0aCBBU29DIHYxLgorICovCisKKyNpZm5kZWYgX0FVMVhfUENNX0gKKyNkZWZpbmUgX0FVMVhfUENNX0gKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2FjOTdfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhdTF4cHNjX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gYXUxeHBzY19zb2NfcGxhdGZvcm07CitleHRlcm4gc3RydWN0IHNuZF9hYzk3X2J1c19vcHMgc29jX2FjOTdfb3BzOworCitzdHJ1Y3QgYXUxeHBzY19hdWRpb19kYXRhIHsKKwl2b2lkIF9faW9tZW0gKm1taW87CisKKwl1bnNpZ25lZCBsb25nIGNmZzsKKwl1bnNpZ25lZCBsb25nIHJhdGU7CisKKwl1bnNpZ25lZCBsb25nIHBtWzJdOworCXN0cnVjdCByZXNvdXJjZSAqaW9hcmVhOworfTsKKworI2RlZmluZSBQQ01fVFgJMAorI2RlZmluZSBQQ01fUlgJMQorCisjZGVmaW5lIFNVQlNUUkVBTV9UWVBFKHN1YnN0cmVhbSkgXAorCSgoc3Vic3RyZWFtKS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0sgPyBQQ01fVFggOiBQQ01fUlgpCisKKy8qIGVhc3kgYWNjZXNzIG1hY3JvcyAqLworI2RlZmluZSBQU0NfQ1RSTCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQ1RSTF9PRkZTRVQpCisjZGVmaW5lIFBTQ19TRUwoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX1NFTF9PRkZTRVQpCisjZGVmaW5lIEkyU19TVEFUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19JMlNTVEFUX09GRlNFVCkKKyNkZWZpbmUgSTJTX0NGRyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTQ0ZHX09GRlNFVCkKKyNkZWZpbmUgSTJTX1BDUih4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfSTJTUENSX09GRlNFVCkKKyNkZWZpbmUgQUM5N19DRkcoeCkJKCh1bnNpZ25lZCBsb25nKSgoeCktPm1taW8pICsgUFNDX0FDOTdDRkdfT0ZGU0VUKQorI2RlZmluZSBBQzk3X0NEQyh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0NEQ19PRkZTRVQpCisjZGVmaW5lIEFDOTdfRVZOVCh4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N0VWTlRfT0ZGU0VUKQorI2RlZmluZSBBQzk3X1BDUih4KQkoKHVuc2lnbmVkIGxvbmcpKCh4KS0+bW1pbykgKyBQU0NfQUM5N1BDUl9PRkZTRVQpCisjZGVmaW5lIEFDOTdfUlNUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3UlNUX09GRlNFVCkKKyNkZWZpbmUgQUM5N19TVEFUKHgpCSgodW5zaWduZWQgbG9uZykoKHgpLT5tbWlvKSArIFBTQ19BQzk3U1RBVF9PRkZTRVQpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2F1MXgvc2FtcGxlLWFjOTcuYyBiL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1YWU3ZgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9hdTF4L3NhbXBsZS1hYzk3LmMKQEAgLTAsMCArMSwxNDQgQEAKKy8qCisgKiBTYW1wbGUgQXUxMngwL0F1MTU1MCBQU0MgQUM5NyBzb3VuZCBtYWNoaW5lLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAwNy0yMDA4IE1hbnVlbCBMYXVzcyA8bWFub0Byb2FyaW5lbGsuaG9tZWxpbnV4Lm5ldD4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb3V0bGluZWQgaW4gdGhlIGZpbGUgQ09QWUlORyBhdCB0aGUgcm9vdCBvZiB0aGlzCisgKiAgc291cmNlIGFyY2hpdmUuCisgKgorICogVGhpcyBpcyBhIHZlcnkgZ2VuZXJpYyBBQzk3IHNvdW5kIG1hY2hpbmUgZHJpdmVyIGZvciBib2FyZHMgd2hpY2gKKyAqIGhhdmUgKEFDOTcpIGF1ZGlvIGF0IFBTQzEgKGUuZy4gREIxMjAwIGRlbW9ib2FyZHMpLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L3RpbWVyLmg+CisjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MTAwMC5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLWF1MXgwMC9hdTF4eHhfcHNjLmg+CisjaW5jbHVkZSA8YXNtL21hY2gtYXUxeDAwL2F1MXh4eF9kYmRtYS5oPgorCisjaW5jbHVkZSAiLi4vY29kZWNzL2FjOTcuaCIKKyNpbmNsdWRlICJwc2MuaCIKKworc3RhdGljIGludCBhdTF4cHNjX3NhbXBsZV9hYzk3X2luaXQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RhaV9saW5rIGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGFpID0geworCS5uYW1lCQk9ICJBQzk3IiwKKwkuc3RyZWFtX25hbWUJPSAiQUM5NyBIaUZpIiwKKwkuY3B1X2RhaQk9ICZhdTF4cHNjX2FjOTdfZGFpLAkvKiBzZWUgcHNjLWFjOTcuYyAqLworCS5jb2RlY19kYWkJPSAmYWM5N19kYWksCQkvKiBzZWUgY29kZWNzL2FjOTcuYyAqLworCS5pbml0CQk9IGF1MXhwc2Nfc2FtcGxlX2FjOTdfaW5pdCwKKwkub3BzCQk9IE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBhdTF4cHNjX3NhbXBsZV9hYzk3X21hY2hpbmUgPSB7CisJLm5hbWUJCT0gIkF1MXh4eCBQU0MgQUM5NyBBdWRpbyIsCisJLmRhaV9saW5rCT0gJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGFpLAorCS5udW1fbGlua3MJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSBhdTF4cHNjX3NhbXBsZV9hYzk3X2RldmRhdGEgPSB7CisJLm1hY2hpbmUJPSAmYXUxeHBzY19zYW1wbGVfYWM5N19tYWNoaW5lLAorCS5wbGF0Zm9ybQk9ICZhdTF4cHNjX3NvY19wbGF0Zm9ybSwgLyogc2VlIGRiZG1hMi5jICovCisJLmNvZGVjX2Rldgk9ICZzb2NfY29kZWNfZGV2X2FjOTcsCit9OworCitzdGF0aWMgc3RydWN0IHJlc291cmNlIGF1MXhwc2NfcHNjMV9yZXNbXSA9IHsKKwlbMF0gPSB7CisJCS5zdGFydAk9IENQSFlTQUREUihQU0MxX0JBU0VfQUREUiksCisJCS5lbmQJPSBDUEhZU0FERFIoUFNDMV9CQVNFX0FERFIpICsgMHgwMDBmZmZmZiwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9NRU0sCisJfSwKKwlbMV0gPSB7CisjaWZkZWYgQ09ORklHX1NPQ19BVTEyMDAKKwkJLnN0YXJ0CT0gQVUxMjAwX1BTQzFfSU5ULAorCQkuZW5kCT0gQVUxMjAwX1BTQzFfSU5ULAorI2VsaWYgZGVmaW5lZChDT05GSUdfU09DX0FVMTU1MCkKKwkJLnN0YXJ0CT0gQVUxNTUwX1BTQzFfSU5ULAorCQkuZW5kCT0gQVUxNTUwX1BTQzFfSU5ULAorI2VuZGlmCisJCS5mbGFncwk9IElPUkVTT1VSQ0VfSVJRLAorCX0sCisJWzJdID0geworCQkuc3RhcnQJPSBEU0NSX0NNRDBfUFNDMV9UWCwKKwkJLmVuZAk9IERTQ1JfQ01EMF9QU0MxX1RYLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX0RNQSwKKwl9LAorCVszXSA9IHsKKwkJLnN0YXJ0CT0gRFNDUl9DTUQwX1BTQzFfUlgsCisJCS5lbmQJPSBEU0NSX0NNRDBfUFNDMV9SWCwKKwkJLmZsYWdzCT0gSU9SRVNPVVJDRV9ETUEsCisJfSwKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdTF4cHNjX3NhbXBsZV9hYzk3X2RldjsKKworc3RhdGljIGludCBfX2luaXQgYXUxeHBzY19zYW1wbGVfYWM5N19sb2FkKHZvaWQpCit7CisJaW50IHJldDsKKworI2lmZGVmIENPTkZJR19TT0NfQVUxMjAwCisJdW5zaWduZWQgbG9uZyBpbzsKKworCS8qIG1vZGlmeSBzeXNfcGluZnVuYyBmb3IgQUM5NyBvbiBQU0MxICovCisJaW8gPSBhdV9yZWFkbChTWVNfUElORlVOQyk7CisJaW8gfD0gU1lTX1BJTkZVTkNfUDFDOworCWlvICY9IH4oU1lTX1BJTkZVTkNfUDFBIHwgU1lTX1BJTkZVTkNfUDFCKTsKKwlhdV93cml0ZWwoaW8sIFNZU19QSU5GVU5DKTsKKwlhdV9zeW5jKCk7CisjZW5kaWYKKworCXJldCA9IC1FTk9NRU07CisKKwkvKiBzZXR1cCBQU0MgY2xvY2sgc291cmNlIGZvciBBQzk3IHBhcnQ6IGV4dGVybmFsIGNsb2NrIHByb3ZpZGVkCisJICogYnkgY29kZWMuICBUaGUgcHNjLWFjOTcuYyBkcml2ZXIgZGVwZW5kcyBvbiB0aGlzIHNldHRpbmchCisJICovCisJYXVfd3JpdGVsKFBTQ19TRUxfQ0xLX1NFUkNMSywgUFNDMV9CQVNFX0FERFIgKyBQU0NfU0VMX09GRlNFVCk7CisJYXVfc3luYygpOworCisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKKwlpZiAoIWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KQorCQlnb3RvIG91dDsKKworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5yZXNvdXJjZSA9CisJCWttZW1kdXAoYXUxeHBzY19wc2MxX3Jlcywgc2l6ZW9mKHN0cnVjdCByZXNvdXJjZSkgKgorCQkJQVJSQVlfU0laRShhdTF4cHNjX3BzYzFfcmVzKSwgR0ZQX0tFUk5FTCk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYtPm51bV9yZXNvdXJjZXMgPSBBUlJBWV9TSVpFKGF1MXhwc2NfcHNjMV9yZXMpOworCWF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2LT5pZCA9IDE7CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShhdTF4cHNjX3NhbXBsZV9hYzk3X2RldiwKKwkJCSAgICAgJmF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2ZGF0YSk7CisJYXUxeHBzY19zYW1wbGVfYWM5N19kZXZkYXRhLmRldiA9ICZhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldi0+ZGV2OworCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGQoYXUxeHBzY19zYW1wbGVfYWM5N19kZXYpOworCisJaWYgKHJldCkgeworCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfZGV2KTsKKwkJYXUxeHBzY19zYW1wbGVfYWM5N19kZXYgPSBOVUxMOworCX0KKworb3V0OgorCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkIF9fZXhpdCBhdTF4cHNjX3NhbXBsZV9hYzk3X2V4aXQodm9pZCkKK3sKKwlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihhdTF4cHNjX3NhbXBsZV9hYzk3X2Rldik7Cit9CisKK21vZHVsZV9pbml0KGF1MXhwc2Nfc2FtcGxlX2FjOTdfbG9hZCk7Cittb2R1bGVfZXhpdChhdTF4cHNjX3NhbXBsZV9hYzk3X2V4aXQpOworCitNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1MXh4eCBQU0Mgc2FtcGxlIEFDOTcgbWFjaGluZSIpOworTU9EVUxFX0FVVEhPUigiTWFudWVsIExhdXNzIDxtYW5vQHJvYXJpbmVsay5ob21lbGludXgubmV0PiIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9LY29uZmlnIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnCmluZGV4IDM5MDNhYjcuLjFkYjA0YTIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcKQEAgLTEsMzEgKzEsMzcgQEAKIGNvbmZpZyBTTkRfU09DX0FDOTdfQ09ERUMKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQworCXNlbGVjdCBTTkRfQUM5N19DT0RFQworCitjb25maWcgU05EX1NPQ19BSzQ1MzUKKwl0cmlzdGF0ZQorCitjb25maWcgU05EX1NPQ19VREExMzgwCisgICAgICAgIHRyaXN0YXRlCisKK2NvbmZpZyBTTkRfU09DX1dNODUxMAorCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1dNODczMQogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNODc1MAogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNODc1MwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCisKK2NvbmZpZyBTTkRfU09DX1dNODk5MAorCXRyaXN0YXRlCiAKIGNvbmZpZyBTTkRfU09DX1dNOTcxMgogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKIGNvbmZpZyBTTkRfU09DX1dNOTcxMwogCXRyaXN0YXRlCi0JZGVwZW5kcyBvbiBTTkRfU09DCiAKICMgQ2lycnVzIExvZ2ljIENTNDI3MCBDb2RlYwogY29uZmlnIFNORF9TT0NfQ1M0MjcwCiAJdHJpc3RhdGUKLQlkZXBlbmRzIG9uIFNORF9TT0MKIAogIyBDaXJydXMgTG9naWMgQ1M0MjcwIENvZGVjIEhhcmR3YXJlIE11dGUgU3VwcG9ydAogIyBTZWxlY3QgaWYgeW91IGhhdmUgZXh0ZXJuYWwgbXV0aW5nIGNpcmN1aXRyeSBhdHRhY2hlZCB0byB5b3VyIENTNDI3MC4KQEAgLTQzLDQgKzQ5LDQgQEAKIAogY29uZmlnIFNORF9TT0NfVExWMzIwQUlDM1gKIAl0cmlzdGF0ZQotCWRlcGVuZHMgb24gU05EX1NPQyAmJiBJMkMKKwlkZXBlbmRzIG9uIEkyQwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSBiL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUKaW5kZXggNGUxMzE0Yy4uZDdiOTdhYiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlCkBAIC0xLDE2ICsxLDI0IEBACiBzbmQtc29jLWFjOTctb2JqcyA6PSBhYzk3Lm8KK3NuZC1zb2MtYWs0NTM1LW9ianMgOj0gYWs0NTM1Lm8KK3NuZC1zb2MtdWRhMTM4MC1vYmpzIDo9IHVkYTEzODAubworc25kLXNvYy13bTg1MTAtb2JqcyA6PSB3bTg1MTAubwogc25kLXNvYy13bTg3MzEtb2JqcyA6PSB3bTg3MzEubwogc25kLXNvYy13bTg3NTAtb2JqcyA6PSB3bTg3NTAubwogc25kLXNvYy13bTg3NTMtb2JqcyA6PSB3bTg3NTMubworc25kLXNvYy13bTg5OTAtb2JqcyA6PSB3bTg5OTAubwogc25kLXNvYy13bTk3MTItb2JqcyA6PSB3bTk3MTIubwogc25kLXNvYy13bTk3MTMtb2JqcyA6PSB3bTk3MTMubwogc25kLXNvYy1jczQyNzAtb2JqcyA6PSBjczQyNzAubwogc25kLXNvYy10bHYzMjBhaWMzeC1vYmpzIDo9IHRsdjMyMGFpYzN4Lm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0NfQUM5N19DT0RFQykJKz0gc25kLXNvYy1hYzk3Lm8KK29iai0kKENPTkZJR19TTkRfU09DX0FLNDUzNSkJKz0gc25kLXNvYy1hazQ1MzUubworb2JqLSQoQ09ORklHX1NORF9TT0NfVURBMTM4MCkJKz0gc25kLXNvYy11ZGExMzgwLm8KK29iai0kKENPTkZJR19TTkRfU09DX1dNODUxMCkJKz0gc25kLXNvYy13bTg1MTAubwogb2JqLSQoQ09ORklHX1NORF9TT0NfV004NzMxKQkrPSBzbmQtc29jLXdtODczMS5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTg3NTApCSs9IHNuZC1zb2Mtd204NzUwLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNODc1MykJKz0gc25kLXNvYy13bTg3NTMubworb2JqLSQoQ09ORklHX1NORF9TT0NfV004OTkwKQkrPSBzbmQtc29jLXdtODk5MC5vCiBvYmotJChDT05GSUdfU05EX1NPQ19XTTk3MTIpCSs9IHNuZC1zb2Mtd205NzEyLm8KIG9iai0kKENPTkZJR19TTkRfU09DX1dNOTcxMykJKz0gc25kLXNvYy13bTk3MTMubwogb2JqLSQoQ09ORklHX1NORF9TT0NfQ1M0MjcwKQkrPSBzbmQtc29jLWNzNDI3MC5vCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuYyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCmluZGV4IDJhMWZmZTMuLjYxZmQ5NmMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5jCkBAIC0xMCw5ICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTd0aCBPY3QgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKiBHZW5lcmljIEFDOTcgc3VwcG9ydC4KICAqLwogCkBAIC0yNCw2ICsyMSw3IEBACiAjaW5jbHVkZSA8c291bmQvYWM5N19jb2RlYy5oPgogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KICNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlICJhYzk3LmgiCiAKICNkZWZpbmUgQUM5N19WRVJTSU9OICIwLjYiCiAKQEAgLTQzLDcgKzQxLDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMjIwNTAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8XAogCQlTTkRSVl9QQ01fUkFURV80ODAwMCkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGFjOTdfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGFjOTdfZGFpID0gewogCS5uYW1lID0gIkFDOTcgSGlGaSIsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9BQzk3LAogCS5wbGF5YmFjayA9IHsKQEAgLTE0Niw5ICsxNDQsMzQgQEAKIAlyZXR1cm4gMDsKIH0KIAorI2lmZGVmIENPTkZJR19QTQorc3RhdGljIGludCBhYzk3X3NvY19zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBtc2cpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKworCXNuZF9hYzk3X3N1c3BlbmQoc29jZGV2LT5jb2RlYy0+YWM5Nyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhYzk3X3NvY19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCisJc25kX2FjOTdfcmVzdW1lKHNvY2Rldi0+Y29kZWMtPmFjOTcpOworCisJcmV0dXJuIDA7Cit9CisjZWxzZQorI2RlZmluZSBhYzk3X3NvY19zdXNwZW5kIE5VTEwKKyNkZWZpbmUgYWM5N19zb2NfcmVzdW1lIE5VTEwKKyNlbmRpZgorCiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hYzk3ID0gewogCS5wcm9iZSA9IAlhYzk3X3NvY19wcm9iZSwKIAkucmVtb3ZlID0gCWFjOTdfc29jX3JlbW92ZSwKKwkuc3VzcGVuZCA9CWFjOTdfc29jX3N1c3BlbmQsCisJLnJlc3VtZSA9CWFjOTdfc29jX3Jlc3VtZSwKIH07CiBFWFBPUlRfU1lNQk9MX0dQTChzb2NfY29kZWNfZGV2X2FjOTcpOwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FjOTcuaCBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oCmluZGV4IDJiZjZkNjkuLjI4MWFhNDIgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWM5Ny5oCkBAIC0xNCw2ICsxNCw2IEBACiAjZGVmaW5lIF9fTElOVVhfU05EX1NPQ19BQzk3X0gKIAogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FjOTc7Ci1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGFjOTdfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBhYzk3X2RhaTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL2FrNDUzNS5jIGIvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjYwMDNjCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuYwpAQCAtMCwwICsxLDY5NiBAQAorLyoKKyAqIGFrNDUzNS5jICAtLSAgQUs0NTM1IEFMU0EgU29jIEF1ZGlvIGRyaXZlcgorICoKKyAqIENvcHlyaWdodCAyMDA1IE9wZW5lZGhhbmQgTHRkLgorICoKKyAqIEF1dGhvcjogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmRAb3BlbmVkaGFuZC5jb20+CisgKgorICogQmFzZWQgb24gd204NzUzLmMgYnkgTGlhbSBHaXJkd29vZAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvaW5pdC5oPgorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvcG0uaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPgorCisjaW5jbHVkZSAiYWs0NTM1LmgiCisKKyNkZWZpbmUgQVVESU9fTkFNRSAiYWs0NTM1IgorI2RlZmluZSBBSzQ1MzVfVkVSU0lPTiAiMC4zIgorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hazQ1MzU7CisKKy8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLworc3RydWN0IGFrNDUzNV9wcml2IHsKKwl1bnNpZ25lZCBpbnQgc3lzY2xrOworfTsKKworLyoKKyAqIGFrNDUzNSByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgY29uc3QgdTE2IGFrNDUzNV9yZWdbQUs0NTM1X0NBQ0hFUkVHTlVNXSA9IHsKKyAgICAweDAwMDAsIDB4MDA4MCwgMHgwMDAwLCAweDAwMDMsCisgICAgMHgwMDAyLCAweDAwMDAsIDB4MDAxMSwgMHgwMDAxLAorICAgIDB4MDAwMCwgMHgwMDQwLCAweDAwMzYsIDB4MDAxMCwKKyAgICAweDAwMDAsIDB4MDAwMCwgMHgwMDU3LCAweDAwMDAsCit9OworCisvKgorICogcmVhZCBhazQ1MzUgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgYWs0NTM1X3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPj0gQUs0NTM1X0NBQ0hFUkVHTlVNKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIGNhY2hlW3JlZ107Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGFrNDUzNV9yZWFkKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXU4IGRhdGE7CisJZGF0YSA9IHJlZzsKKworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgJmRhdGEsIDEpICE9IDEpCisJCXJldHVybiAtRUlPOworCisJaWYgKGNvZGVjLT5od19yZWFkKGNvZGVjLT5jb250cm9sX2RhdGEsICZkYXRhLCAxKSAhPSAxKQorCQlyZXR1cm4gLUVJTzsKKworCXJldHVybiBkYXRhOworfTsKKworLyoKKyAqIHdyaXRlIGFrNDUzNSByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgYWs0NTM1X3dyaXRlX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdTE2IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPj0gQUs0NTM1X0NBQ0hFUkVHTlVNKQorCQlyZXR1cm47CisJY2FjaGVbcmVnXSA9IHZhbHVlOworfQorCisvKgorICogd3JpdGUgdG8gdGhlIEFLNDUzNSByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IGFrNDUzNV93cml0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJdW5zaWduZWQgaW50IHZhbHVlKQoreworCXU4IGRhdGFbMl07CisKKwkvKiBkYXRhIGlzCisJICogICBEMTUuLkQ4IEFLNDUzNSByZWdpc3RlciBvZmZzZXQKKwkgKiAgIEQ3Li4uRDAgcmVnaXN0ZXIgZGF0YQorCSAqLworCWRhdGFbMF0gPSByZWcgJiAweGZmOworCWRhdGFbMV0gPSB2YWx1ZSAmIDB4ZmY7CisKKwlhazQ1MzVfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpID09IDIpCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X3N5bmMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWludCBpLCByID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBBSzQ1MzVfQ0FDSEVSRUdOVU07IGkrKykKKwkJciB8PSBhazQ1MzVfd3JpdGUoY29kZWMsIGksIGNhY2hlW2ldKTsKKworCXJldHVybiByOworfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9tb25vX2dhaW5bXSA9IHsiKzZkQiIsICItMTdkQiJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9tb25vX291dFtdID0geyIoTCArIFIpLzIiLCAiSGktWiJ9Oworc3RhdGljIGNvbnN0IGNoYXIgKmFrNDUzNV9ocF9vdXRbXSA9IHsiU3RlcmVvIiwgIk1vbm8ifTsKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfZGVlbXBbXSA9IHsiNDQuMWtIeiIsICJPZmYiLCAiNDhrSHoiLCAiMzJrSHoifTsKK3N0YXRpYyBjb25zdCBjaGFyICphazQ1MzVfbWljX3NlbGVjdFtdID0geyJJbnRlcm5hbCIsICJFeHRlcm5hbCJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIGFrNDUzNV9lbnVtW10gPSB7CisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9TSUcxLCA3LCAyLCBhazQ1MzVfbW9ub19nYWluKSwKKwlTT0NfRU5VTV9TSU5HTEUoQUs0NTM1X1NJRzEsIDYsIDIsIGFrNDUzNV9tb25vX291dCksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9NT0RFMiwgMiwgMiwgYWs0NTM1X2hwX291dCksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9EQUMsIDAsIDQsIGFrNDUzNV9kZWVtcCksCisJU09DX0VOVU1fU0lOR0xFKEFLNDUzNV9NSUMsIDEsIDIsIGFrNDUzNV9taWNfc2VsZWN0KSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfc25kX2NvbnRyb2xzW10gPSB7CisJU09DX1NJTkdMRSgiQUxDMiBTd2l0Y2giLCBBSzQ1MzVfU0lHMSwgMSwgMSwgMCksCisJU09DX0VOVU0oIk1vbm8gMSBPdXRwdXQiLCBhazQ1MzVfZW51bVsxXSksCisJU09DX0VOVU0oIk1vbm8gMSBHYWluIiwgYWs0NTM1X2VudW1bMF0pLAorCVNPQ19FTlVNKCJIZWFkcGhvbmUgT3V0cHV0IiwgYWs0NTM1X2VudW1bMl0pLAorCVNPQ19FTlVNKCJQbGF5YmFjayBEZWVtcGhhc2lzIiwgYWs0NTM1X2VudW1bM10pLAorCVNPQ19TSU5HTEUoIkJhc3MgVm9sdW1lIiwgQUs0NTM1X0RBQywgMiwgMywgMCksCisJU09DX1NJTkdMRSgiTWljIEJvb3N0ICgrMjBkQikgU3dpdGNoIiwgQUs0NTM1X01JQywgMCwgMSwgMCksCisJU09DX0VOVU0oIk1pYyBTZWxlY3QiLCBhazQ1MzVfZW51bVs0XSksCisJU09DX1NJTkdMRSgiQUxDIE9wZXJhdGlvbiBUaW1lIiwgQUs0NTM1X1RJTUVSLCAwLCAzLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgUmVjb3ZlcnkgVGltZSIsIEFLNDUzNV9USU1FUiwgMiwgMywgMCksCisJU09DX1NJTkdMRSgiQUxDIFpDIFRpbWUiLCBBSzQ1MzVfVElNRVIsIDQsIDMsIDApLAorCVNPQ19TSU5HTEUoIkFMQyAxIFN3aXRjaCIsIEFLNDUzNV9BTEMxLCA1LCAxLCAwKSwKKwlTT0NfU0lOR0xFKCJBTEMgMiBTd2l0Y2giLCBBSzQ1MzVfQUxDMSwgNiwgMSwgMCksCisJU09DX1NJTkdMRSgiQUxDIFZvbHVtZSIsIEFLNDUzNV9BTEMyLCAwLCAxMjcsIDApLAorCVNPQ19TSU5HTEUoIkNhcHR1cmUgVm9sdW1lIiwgQUs0NTM1X1BHQSwgMCwgMTI3LCAwKSwKKwlTT0NfU0lOR0xFKCJMZWZ0IFBsYXliYWNrIFZvbHVtZSIsIEFLNDUzNV9MQVRULCAwLCAxMjcsIDEpLAorCVNPQ19TSU5HTEUoIlJpZ2h0IFBsYXliYWNrIFZvbHVtZSIsIEFLNDUzNV9SQVRULCAwLCAxMjcsIDEpLAorCVNPQ19TSU5HTEUoIkFVWCBCeXBhc3MgVm9sdW1lIiwgQUs0NTM1X1ZPTCwgMCwgMTUsIDApLAorCVNPQ19TSU5HTEUoIk1pYyBTaWRldG9uZSBWb2x1bWUiLCBBSzQ1MzVfVk9MLCA0LCA3LCAwKSwKK307CisKKy8qIGFkZCBub24gZGFwbSBjb250cm9scyAqLworc3RhdGljIGludCBhazQ1MzVfYWRkX2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgZXJyLCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWs0NTM1X3NuZF9jb250cm9scyk7IGkrKykgeworCQllcnIgPSBzbmRfY3RsX2FkZChjb2RlYy0+Y2FyZCwKKwkJCXNuZF9zb2NfY25ldygmYWs0NTM1X3NuZF9jb250cm9sc1tpXSwgY29kZWMsIE5VTEwpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiAwOworfQorCisvKiBNb25vIDEgTWl4ZXIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfbW9ubzFfbWl4ZXJfY29udHJvbHNbXSA9IHsKKwlTT0NfREFQTV9TSU5HTEUoIk1pYyBTaWRldG9uZSBTd2l0Y2giLCBBSzQ1MzVfU0lHMSwgNCwgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJNb25vIFBsYXliYWNrIFN3aXRjaCIsIEFLNDUzNV9TSUcxLCA1LCAxLCAwKSwKK307CisKKy8qIFN0ZXJlbyBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFrNDUzNV9zdGVyZW9fbWl4ZXJfY29udHJvbHNbXSA9IHsKKwlTT0NfREFQTV9TSU5HTEUoIk1pYyBTaWRldG9uZSBTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgNCwgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJQbGF5YmFjayBTd2l0Y2giLCBBSzQ1MzVfU0lHMiwgNywgMSwgMCksCisJU09DX0RBUE1fU0lOR0xFKCJBdXggQnlwYXNzIFN3aXRjaCIsIEFLNDUzNV9TSUcyLCA1LCAxLCAwKSwKK307CisKKy8qIElucHV0IE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2lucHV0X21peGVyX2NvbnRyb2xzW10gPSB7CisJU09DX0RBUE1fU0lOR0xFKCJNaWMgQ2FwdHVyZSBTd2l0Y2giLCBBSzQ1MzVfTUlDLCAyLCAxLCAwKSwKKwlTT0NfREFQTV9TSU5HTEUoIkF1eCBDYXB0dXJlIFN3aXRjaCIsIEFLNDUzNV9NSUMsIDUsIDEsIDApLAorfTsKKworLyogSW5wdXQgbXV4ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2lucHV0X211eF9jb250cm9sID0KKwlTT0NfREFQTV9FTlVNKCJJbnB1dCBTZWxlY3QiLCBhazQ1MzVfZW51bVs0XSk7CisKKy8qIEhQIEwgc3dpdGNoICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X2hwbF9jb250cm9sID0KKwlTT0NfREFQTV9TSU5HTEUoIlN3aXRjaCIsIEFLNDUzNV9TSUcyLCAxLCAxLCAxKTsKKworLyogSFAgUiBzd2l0Y2ggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfaHByX2NvbnRyb2wgPQorCVNPQ19EQVBNX1NJTkdMRSgiU3dpdGNoIiwgQUs0NTM1X1NJRzIsIDAsIDEsIDEpOworCisvKiBtb25vIDIgc3dpdGNoICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgYWs0NTM1X21vbm8yX2NvbnRyb2wgPQorCVNPQ19EQVBNX1NJTkdMRSgiU3dpdGNoIiwgQUs0NTM1X1NJRzEsIDAsIDEsIDApOworCisvKiBMaW5lIG91dCBzd2l0Y2ggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhazQ1MzVfbGluZV9jb250cm9sID0KKwlTT0NfREFQTV9TSU5HTEUoIlN3aXRjaCIsIEFLNDUzNV9TSUcyLCA2LCAxLCAwKTsKKworLyogYWs0NTM1IGRhcG0gd2lkZ2V0cyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IGFrNDUzNV9kYXBtX3dpZGdldHNbXSA9IHsKKwlTTkRfU09DX0RBUE1fTUlYRVIoIlN0ZXJlbyBNaXhlciIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9zdGVyZW9fbWl4ZXJfY29udHJvbHNbMF0sCisJCUFSUkFZX1NJWkUoYWs0NTM1X3N0ZXJlb19taXhlcl9jb250cm9scykpLAorCVNORF9TT0NfREFQTV9NSVhFUigiTW9ubzEgTWl4ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfbW9ubzFfbWl4ZXJfY29udHJvbHNbMF0sCisJCUFSUkFZX1NJWkUoYWs0NTM1X21vbm8xX21peGVyX2NvbnRyb2xzKSksCisJU05EX1NPQ19EQVBNX01JWEVSKCJJbnB1dCBNaXhlciIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9pbnB1dF9taXhlcl9jb250cm9sc1swXSwKKwkJQVJSQVlfU0laRShhazQ1MzVfaW5wdXRfbWl4ZXJfY29udHJvbHMpKSwKKwlTTkRfU09DX0RBUE1fTVVYKCJJbnB1dCBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfaW5wdXRfbXV4X2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9EQUMoIkRBQyIsICJQbGF5YmFjayIsIEFLNDUzNV9QTTIsIDAsIDApLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIk1vbm8gMiBFbmFibGUiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfbW9ubzJfY29udHJvbCksCisJLyogc3BlYWtlciBwb3dlcnNhdmUgYml0ICovCisJU05EX1NPQ19EQVBNX1BHQSgiU3BlYWtlciBFbmFibGUiLCBBSzQ1MzVfTU9ERTIsIDAsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIkxpbmUgT3V0IEVuYWJsZSIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJmFrNDUzNV9saW5lX2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9TV0lUQ0goIkxlZnQgSFAgRW5hYmxlIiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmYWs0NTM1X2hwbF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fU1dJVENIKCJSaWdodCBIUCBFbmFibGUiLCBTTkRfU09DX05PUE0sIDAsIDAsCisJCSZhazQ1MzVfaHByX2NvbnRyb2wpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIkxPVVQiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIUEwiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJST1VUIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiSFBSIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiU1BQIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiU1BOIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiTU9VVDEiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJNT1VUMiIpLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIk1JQ09VVCIpLAorCVNORF9TT0NfREFQTV9BREMoIkFEQyIsICJDYXB0dXJlIiwgQUs0NTM1X1BNMSwgMCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiU3BrIEFtcCIsIEFLNDUzNV9QTTIsIDMsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIkhQIFIgQW1wIiwgQUs0NTM1X1BNMiwgMSwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiSFAgTCBBbXAiLCBBSzQ1MzVfUE0yLCAyLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJNaWMiLCBBSzQ1MzVfUE0xLCAxLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJMaW5lIE91dCIsIEFLNDUzNV9QTTEsIDQsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9QR0EoIk1vbm8gT3V0IiwgQUs0NTM1X1BNMSwgMywgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX1BHQSgiQVVYIEluIiwgQUs0NTM1X1BNMSwgMiwgMCwgTlVMTCwgMCksCisKKwlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEludCBCaWFzIiwgQUs0NTM1X01JQywgMywgMCksCisJU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBFeHQgQmlhcyIsIEFLNDUzNV9NSUMsIDQsIDApLAorCVNORF9TT0NfREFQTV9JTlBVVCgiTUlDSU4iKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIk1JQ0VYVCIpLAorCVNORF9TT0NfREFQTV9JTlBVVCgiQVVYIiksCisJU05EX1NPQ19EQVBNX0lOUFVUKCJNSU4iKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTiIpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisJLypzdGVyZW8gbWl4ZXIgKi8KKwl7IlN0ZXJlbyBNaXhlciIsICJQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisJeyJTdGVyZW8gTWl4ZXIiLCAiTWljIFNpZGV0b25lIFN3aXRjaCIsICJNaWMifSwKKwl7IlN0ZXJlbyBNaXhlciIsICJBdXggQnlwYXNzIFN3aXRjaCIsICJBVVggSW4ifSwKKworCS8qIG1vbm8xIG1peGVyICovCisJeyJNb25vMSBNaXhlciIsICJNaWMgU2lkZXRvbmUgU3dpdGNoIiwgIk1pYyJ9LAorCXsiTW9ubzEgTWl4ZXIiLCAiTW9ubyBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisKKwkvKiBNaWMgKi8KKwl7Ik1pYyIsIE5VTEwsICJBSU4ifSwKKwl7IklucHV0IE11eCIsICJJbnRlcm5hbCIsICJNaWMgSW50IEJpYXMifSwKKwl7IklucHV0IE11eCIsICJFeHRlcm5hbCIsICJNaWMgRXh0IEJpYXMifSwKKwl7Ik1pYyBJbnQgQmlhcyIsIE5VTEwsICJNSUNJTiJ9LAorCXsiTWljIEV4dCBCaWFzIiwgTlVMTCwgIk1JQ0VYVCJ9LAorCXsiTUlDT1VUIiwgTlVMTCwgIklucHV0IE11eCJ9LAorCisJLyogbGluZSBvdXQgKi8KKwl7IkxPVVQiLCBOVUxMLCAiTGluZSBPdXQgRW5hYmxlIn0sCisJeyJST1VUIiwgTlVMTCwgIkxpbmUgT3V0IEVuYWJsZSJ9LAorCXsiTGluZSBPdXQgRW5hYmxlIiwgIlN3aXRjaCIsICJMaW5lIE91dCJ9LAorCXsiTGluZSBPdXQiLCBOVUxMLCAiU3RlcmVvIE1peGVyIn0sCisKKwkvKiBtb25vMSBvdXQgKi8KKwl7Ik1PVVQxIiwgTlVMTCwgIk1vbm8gT3V0In0sCisJeyJNb25vIE91dCIsIE5VTEwsICJNb25vMSBNaXhlciJ9LAorCisJLyogbGVmdCBIUCAqLworCXsiSFBMIiwgTlVMTCwgIkxlZnQgSFAgRW5hYmxlIn0sCisJeyJMZWZ0IEhQIEVuYWJsZSIsICJTd2l0Y2giLCAiSFAgTCBBbXAifSwKKwl7IkhQIEwgQW1wIiwgTlVMTCwgIlN0ZXJlbyBNaXhlciJ9LAorCisJLyogcmlnaHQgSFAgKi8KKwl7IkhQUiIsIE5VTEwsICJSaWdodCBIUCBFbmFibGUifSwKKwl7IlJpZ2h0IEhQIEVuYWJsZSIsICJTd2l0Y2giLCAiSFAgUiBBbXAifSwKKwl7IkhQIFIgQW1wIiwgTlVMTCwgIlN0ZXJlbyBNaXhlciJ9LAorCisJLyogc3BlYWtlciAqLworCXsiU1BQIiwgTlVMTCwgIlNwZWFrZXIgRW5hYmxlIn0sCisJeyJTUE4iLCBOVUxMLCAiU3BlYWtlciBFbmFibGUifSwKKwl7IlNwZWFrZXIgRW5hYmxlIiwgIlN3aXRjaCIsICJTcGsgQW1wIn0sCisJeyJTcGsgQW1wIiwgTlVMTCwgIk1JTiJ9LAorCisJLyogbW9ubyAyICovCisJeyJNT1VUMiIsIE5VTEwsICJNb25vIDIgRW5hYmxlIn0sCisJeyJNb25vIDIgRW5hYmxlIiwgIlN3aXRjaCIsICJTdGVyZW8gTWl4ZXIifSwKKworCS8qIEF1eCBJbiAqLworCXsiQXV4IEluIiwgTlVMTCwgIkFVWCJ9LAorCisJLyogQURDICovCisJeyJBREMiLCBOVUxMLCAiSW5wdXQgTWl4ZXIifSwKKwl7IklucHV0IE1peGVyIiwgIk1pYyBDYXB0dXJlIFN3aXRjaCIsICJNaWMifSwKKwl7IklucHV0IE1peGVyIiwgIkF1eCBDYXB0dXJlIFN3aXRjaCIsICJBdXggSW4ifSwKK307CisKK3N0YXRpYyBpbnQgYWs0NTM1X2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBhazQ1MzVfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhazQ1MzVfZGFwbV93aWRnZXRzKSk7CisKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlzdHJ1Y3QgYWs0NTM1X3ByaXYgKmFrNDUzNSA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CisKKwlhazQ1MzUtPnN5c2NsayA9IGZyZXE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBhazQ1MzVfcHJpdiAqYWs0NTM1ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKKwl1OCBtb2RlMiA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X01PREUyKSAmIH4oMHgzIDw8IDUpOworCWludCByYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKSwgZnMgPSAyNTY7CisKKwlpZiAocmF0ZSkKKwkJZnMgPSBhazQ1MzUtPnN5c2NsayAvIHJhdGU7CisKKwkvKiBzZXQgZnMgKi8KKwlzd2l0Y2ggKGZzKSB7CisJY2FzZSAxMDI0OgorCQltb2RlMiB8PSAoMHgyIDw8IDUpOworCQlicmVhazsKKwljYXNlIDUxMjoKKwkJbW9kZTIgfD0gKDB4MSA8PCA1KTsKKwkJYnJlYWs7CisJY2FzZSAyNTY6CisJCWJyZWFrOworCX0KKworCS8qIHNldCByYXRlICovCisJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfTU9ERTIsIG1vZGUyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCisJCXVuc2lnbmVkIGludCBmbXQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1OCBtb2RlMSA9IDA7CisKKwkvKiBpbnRlcmZhY2UgZm9ybWF0ICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQltb2RlMSA9IDB4MDAwMjsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9MRUZUX0o6CisJCW1vZGUxID0gMHgwMDAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiB1c2UgMzIgZnMgZm9yIEJDTEsgdG8gc2F2ZSBwb3dlciAqLworCW1vZGUxIHw9IDB4NDsKKworCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X01PREUxLCBtb2RlMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWs0NTM1X211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CisJdTE2IG11dGVfcmVnID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfREFDKSAmIDB4ZmZkZjsKKwlpZiAoIW11dGUpCisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X0RBQywgbXV0ZV9yZWcpOworCWVsc2UKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfREFDLCBtdXRlX3JlZyB8IDB4MjApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCit7CisJdTE2IGk7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJCWFrNDUzNV9tdXRlKGNvZGVjLT5kYWksIDApOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgorCQlhazQ1MzVfbXV0ZShjb2RlYy0+ZGFpLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJaSA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X1BNMSk7CisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X1BNMSwgaSB8IDB4ODApOworCQlpID0gYWs0NTM1X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBBSzQ1MzVfUE0yKTsKKwkJYWs0NTM1X3dyaXRlKGNvZGVjLCBBSzQ1MzVfUE0yLCBpICYgKH4weDgwKSk7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKKwkJaSA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUs0NTM1X1BNMSk7CisJCWFrNDUzNV93cml0ZShjb2RlYywgQUs0NTM1X1BNMSwgaSAmICh+MHg4MCkpOworCQlicmVhazsKKwl9CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBBSzQ1MzVfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAorCQlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHxcCisJCVNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCisKK3N0cnVjdCBzbmRfc29jX2RhaSBhazQ1MzVfZGFpID0geworCS5uYW1lID0gIkFLNDUzNSIsCisJLnBsYXliYWNrID0geworCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IEFLNDUzNV9SQVRFUywKKwkJLmZvcm1hdHMgPSBTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSx9LAorCS5jYXB0dXJlID0geworCQkuc3RyZWFtX25hbWUgPSAiQ2FwdHVyZSIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gQUs0NTM1X1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IGFrNDUzNV9od19wYXJhbXMsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLnNldF9mbXQgPSBhazQ1MzVfc2V0X2RhaV9mbXQsCisJCS5kaWdpdGFsX211dGUgPSBhazQ1MzVfbXV0ZSwKKwkJLnNldF9zeXNjbGsgPSBhazQ1MzVfc2V0X2RhaV9zeXNjbGssCisJfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTChhazQ1MzVfZGFpKTsKKworc3RhdGljIGludCBhazQ1MzVfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCisJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhazQ1MzVfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWFrNDUzNV9zeW5jKGNvZGVjKTsKKwlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwlhazQ1MzVfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwpOworCXJldHVybiAwOworfQorCisvKgorICogaW5pdGlhbGlzZSB0aGUgQUs0NTM1IGRyaXZlcgorICogcmVnaXN0ZXIgdGhlIG1peGVyIGFuZCBkc3AgaW50ZXJmYWNlcyB3aXRoIHRoZSBrZXJuZWwKKyAqLworc3RhdGljIGludCBhazQ1MzVfaW5pdChzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCByZXQgPSAwOworCisJY29kZWMtPm5hbWUgPSAiQUs0NTM1IjsKKwljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKKwljb2RlYy0+cmVhZCA9IGFrNDUzNV9yZWFkX3JlZ19jYWNoZTsKKwljb2RlYy0+d3JpdGUgPSBhazQ1MzVfd3JpdGU7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gYWs0NTM1X3NldF9iaWFzX2xldmVsOworCWNvZGVjLT5kYWkgPSAmYWs0NTM1X2RhaTsKKwljb2RlYy0+bnVtX2RhaSA9IDE7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRShhazQ1MzVfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cChhazQ1MzVfcmVnLCBzaXplb2YoYWs0NTM1X3JlZyksIEdGUF9LRVJORUwpOworCisJaWYgKGNvZGVjLT5yZWdfY2FjaGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKiByZWdpc3RlciBwY21zICovCisJcmV0ID0gc25kX3NvY19uZXdfcGNtcyhzb2NkZXYsIFNORFJWX0RFRkFVTFRfSURYMSwgU05EUlZfREVGQVVMVF9TVFIxKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgImFrNDUzNTogZmFpbGVkIHRvIGNyZWF0ZSBwY21zXG4iKTsKKwkJZ290byBwY21fZXJyOworCX0KKworCS8qIHBvd2VyIG9uIGRldmljZSAqLworCWFrNDUzNV9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCisJYWs0NTM1X2FkZF9jb250cm9scyhjb2RlYyk7CisJYWs0NTM1X2FkZF93aWRnZXRzKGNvZGVjKTsKKwlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgImFrNDUzNTogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKworCXJldHVybiByZXQ7CisKK2NhcmRfZXJyOgorCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKK3BjbV9lcnI6CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfZGV2aWNlICphazQ1MzVfc29jZGV2OworCisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCisjZGVmaW5lIEkyQ19EUklWRVJJRF9BSzQ1MzUgMHhmZWZlIC8qIGxpYW0gLSAgbmVlZCBhIHByb3BlciBpZCAqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciBhazQ1MzVfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKKy8qIElmIHRoZSBpMmMgbGF5ZXIgd2VyZW4ndCBzbyBicm9rZW4sIHdlIGNvdWxkIHBhc3MgdGhpcyBraW5kIG9mIGRhdGEKKyAgIGFyb3VuZCAqLworc3RhdGljIGludCBhazQ1MzVfY29kZWNfcHJvYmUoc3RydWN0IGkyY19hZGFwdGVyICphZGFwLCBpbnQgYWRkciwgaW50IGtpbmQpCit7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBhazQ1MzVfc29jZGV2OworCXN0cnVjdCBhazQ1MzVfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjOworCWludCByZXQ7CisKKwlpZiAoYWRkciAhPSBzZXR1cC0+aTJjX2FkZHJlc3MpCisJCXJldHVybiAtRU5PREVWOworCisJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOworCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKKworCWkyYyA9IGttZW1kdXAoJmNsaWVudF90ZW1wbGF0ZSwgc2l6ZW9mKGNsaWVudF90ZW1wbGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChpMmMgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBjb2RlYyk7CisJY29kZWMtPmNvbnRyb2xfZGF0YSA9IGkyYzsKKworCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSBhazQ1MzVfaW5pdChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAiZmFpbGVkIHRvIGluaXRpYWxpc2UgQUs0NTM1XG4iKTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiByZXQ7CisKK2VycjoKKwlrZnJlZShjb2RlYyk7CisJa2ZyZWUoaTJjKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGFrNDUzNV9pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gaTJjX2dldF9jbGllbnRkYXRhKGNsaWVudCk7CisJaTJjX2RldGFjaF9jbGllbnQoY2xpZW50KTsKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlrZnJlZShjbGllbnQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFrNDUzNV9pMmNfYXR0YWNoKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCkKK3sKKwlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIGFrNDUzNV9jb2RlY19wcm9iZSk7Cit9CisKKy8qIGNvcmdpIGkyYyBjb2RlYyBjb250cm9sIGxheWVyICovCitzdGF0aWMgc3RydWN0IGkyY19kcml2ZXIgYWs0NTM1X2kyY19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAiQUs0NTM1IEkyQyBDb2RlYyIsCisJCS5vd25lciA9IFRISVNfTU9EVUxFLAorCX0sCisJLmlkID0gICAgICAgICAgICAgSTJDX0RSSVZFUklEX0FLNDUzNSwKKwkuYXR0YWNoX2FkYXB0ZXIgPSBhazQ1MzVfaTJjX2F0dGFjaCwKKwkuZGV0YWNoX2NsaWVudCA9ICBhazQ1MzVfaTJjX2RldGFjaCwKKwkuY29tbWFuZCA9ICAgICAgICBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBpMmNfY2xpZW50IGNsaWVudF90ZW1wbGF0ZSA9IHsKKwkubmFtZSA9ICAgIkFLNDUzNSIsCisJLmRyaXZlciA9ICZhazQ1MzVfaTJjX2RyaXZlciwKK307CisjZW5kaWYKKworc3RhdGljIGludCBhazQ1MzVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBhazQ1MzVfc2V0dXBfZGF0YSAqc2V0dXA7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCXN0cnVjdCBhazQ1MzVfcHJpdiAqYWs0NTM1OworCWludCByZXQgPSAwOworCisJcHJpbnRrKEtFUk5fSU5GTyAiQUs0NTM1IEF1ZGlvIENvZGVjICVzIiwgQUs0NTM1X1ZFUlNJT04pOworCisJc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOworCWlmIChjb2RlYyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWFrNDUzNSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBhazQ1MzVfcHJpdiksIEdGUF9LRVJORUwpOworCWlmIChhazQ1MzUgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWNvZGVjLT5wcml2YXRlX2RhdGEgPSBhazQ1MzU7CisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisKKwlhazQ1MzVfc29jZGV2ID0gc29jZGV2OworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CisJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CisJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KWkyY19tYXN0ZXJfc2VuZDsKKwkJY29kZWMtPmh3X3JlYWQgPSAoaHdfcmVhZF90KWkyY19tYXN0ZXJfcmVjdjsKKwkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJmFrNDUzNV9pMmNfZHJpdmVyKTsKKwkJaWYgKHJldCAhPSAwKQorCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOworCX0KKyNlbHNlCisJLyogQWRkIG90aGVyIGludGVyZmFjZXMgaGVyZSAqLworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgZG93biBjaGlwICovCitzdGF0aWMgaW50IGFrNDUzNV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJYWs0NTM1X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJmFrNDUzNV9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjLT5wcml2YXRlX2RhdGEpOworCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl9hazQ1MzUgPSB7CisJLnByb2JlID0gCWFrNDUzNV9wcm9iZSwKKwkucmVtb3ZlID0gCWFrNDUzNV9yZW1vdmUsCisJLnN1c3BlbmQgPSAJYWs0NTM1X3N1c3BlbmQsCisJLnJlc3VtZSA9CWFrNDUzNV9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl9hazQ1MzUpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIlNvYyBBSzQ1MzUgZHJpdmVyIik7CitNT0RVTEVfQVVUSE9SKCJSaWNoYXJkIFB1cmRpZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9hazQ1MzUuaCBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmZTMwZQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvYWs0NTM1LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIGFrNDUzNS5oICAtLSAgQUs0NTM1IFNvYyBBdWRpbyBkcml2ZXIKKyAqCisgKiBDb3B5cmlnaHQgMjAwNSBPcGVuZWRoYW5kIEx0ZC4KKyAqCisgKiBBdXRob3I6IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkQG9wZW5lZGhhbmQuY29tPgorICoKKyAqIEJhc2VkIG9uIHdtODc1My5oCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9BSzQ1MzVfSAorI2RlZmluZSBfQUs0NTM1X0gKKworLyogQUs0NTM1IHJlZ2lzdGVyIHNwYWNlICovCisKKyNkZWZpbmUgQUs0NTM1X1BNMQkJMHgwCisjZGVmaW5lIEFLNDUzNV9QTTIJCTB4MQorI2RlZmluZSBBSzQ1MzVfU0lHMQkJMHgyCisjZGVmaW5lIEFLNDUzNV9TSUcyCQkweDMKKyNkZWZpbmUgQUs0NTM1X01PREUxCQkweDQKKyNkZWZpbmUgQUs0NTM1X01PREUyCQkweDUKKyNkZWZpbmUgQUs0NTM1X0RBQwkJMHg2CisjZGVmaW5lIEFLNDUzNV9NSUMJCTB4NworI2RlZmluZSBBSzQ1MzVfVElNRVIJCTB4OAorI2RlZmluZSBBSzQ1MzVfQUxDMQkJMHg5CisjZGVmaW5lIEFLNDUzNV9BTEMyCQkweGEKKyNkZWZpbmUgQUs0NTM1X1BHQQkJMHhiCisjZGVmaW5lIEFLNDUzNV9MQVRUCQkweGMKKyNkZWZpbmUgQUs0NTM1X1JBVFQJCTB4ZAorI2RlZmluZSBBSzQ1MzVfVk9MCQkweGUKKyNkZWZpbmUgQUs0NTM1X1NUQVRVUwkJMHhmCisKKyNkZWZpbmUgQUs0NTM1X0NBQ0hFUkVHTlVNIAkweDEwCisKK3N0cnVjdCBhazQ1MzVfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7Cit9OworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGFrNDUzNV9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfYWs0NTM1OworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmMgYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5jCmluZGV4IGU3M2ZjZmQuLjlkZWI4YzcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuYwpAQCAtMjAxLDcgKzIwMSw3IEBACiAgKiBkcml2ZXIgd2hhdCB0aGUgaW5wdXQgc2V0dGluZ3MgY2FuIGJlLiAgVGhpcyB3b3VsZCBuZWVkIHRvIGJlIGltcGxlbWVudGVkCiAgKiBmb3Igc3RhbmQtYWxvbmUgbW9kZSB0byB3b3JrLgogICovCi1zdGF0aWMgaW50IGNzNDI3MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgY3M0MjcwX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQkJCSBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMjUxLDcgKzI1MSw3IEBACiAgKiBkYXRhIGZvciBwbGF5YmFjayBvbmx5LCBidXQgQVNvQyBjdXJyZW50bHkgZG9lcyBub3Qgc3VwcG9ydCBkaWZmZXJlbnQKICAqIGZvcm1hdHMgZm9yIHBsYXliYWNrIHZzLiByZWNvcmQuCiAgKi8KLXN0YXRpYyBpbnQgY3M0MjcwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCBjczQyNzBfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCQkgICAgICB1bnNpZ25lZCBpbnQgZm9ybWF0KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC00NzEsNyArNDcxLDcgQEAKICAqIGJvYXJkIGRvZXMgbm90IGhhdmUgdGhlIE1VVEVBIG9yIE1VVEVCIHBpbnMgY29ubmVjdGVkIHRvIHN1Y2ggY2lyY3VpdHJ5LAogICogdGhlbiB0aGlzIGZ1bmN0aW9uIHdpbGwgZG8gbm90aGluZy4KICAqLwotc3RhdGljIGludCBjczQyNzBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IGNzNDI3MF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCWludCByZWc2OwpAQCAtNjY3LDcgKzY2Nyw3IEBACiAKICNlbmRpZiAvKiBVU0VfSTJDKi8KIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGNzNDI3MF9kYWkgPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgY3M0MjcwX2RhaSA9IHsKIAkubmFtZSA9ICJDUzQyNzAiLAogCS5wbGF5YmFjayA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmggYi9zb3VuZC9zb2MvY29kZWNzL2NzNDI3MC5oCmluZGV4IDBjZWQ0OWIuLmFkYzZjZDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvY3M0MjcwLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy9jczQyNzAuaApAQCAtMTYsNyArMTYsNyBAQAogICogVGhlIEFTb0MgY29kZWMgREFJIHN0cnVjdHVyZSBmb3IgdGhlIENTNDI3MC4gIEFzc2lnbiB0aGlzIHN0cnVjdHVyZSB0bwogICogdGhlIC5jb2RlY19kYWkgZmllbGQgb2YgeW91ciBtYWNoaW5lIGRyaXZlcidzIHNuZF9zb2NfZGFpX2xpbmsgc3RydWN0dXJlLgogICovCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIGNzNDI3MF9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGNzNDI3MF9kYWk7CiAKIC8qCiAgKiBUaGUgQVNvQyBjb2RlYyBkZXZpY2Ugc3RydWN0dXJlIGZvciB0aGUgQ1M0MjcwLiAgQXNzaWduIHRoaXMgc3RydWN0dXJlCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmMgYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmMKaW5kZXggMDliMTY2MS4uYjFkY2U1ZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guYwpAQCAtMjksNyArMjksNyBAQAogICogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICoKICAqICBIZW5jZSB0aGUgbWFjaGluZSBsYXllciBzaG91bGQgZGlzYWJsZSB1bnN1cHBvcnRlZCBpbnB1dHMvb3V0cHV0cyBieQotICogIHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PX0xPVVQiLCAwKSwgZXRjLgorICogIHNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9fTE9VVCIpLCBldGMuCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgInRsdjMyMGFpYzN4LmgiCiAKICNkZWZpbmUgQVVESU9fTkFNRSAiYWljM3giCi0jZGVmaW5lIEFJQzNYX1ZFUlNJT04gIjAuMSIKKyNkZWZpbmUgQUlDM1hfVkVSU0lPTiAiMC4yIgogCiAvKiBjb2RlYyBwcml2YXRlIGRhdGEgKi8KIHN0cnVjdCBhaWMzeF9wcml2IHsKQEAgLTEzOCw2ICsxMzgsMjAgQEAKIAkJcmV0dXJuIC1FSU87CiB9CiAKKy8qCisgKiByZWFkIGZyb20gdGhlIGFpYzN4IHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgYWljM3hfcmVhZChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIHVuc2lnbmVkIGludCByZWcsCisJCSAgICAgIHU4ICp2YWx1ZSkKK3sKKwkqdmFsdWUgPSByZWcgJiAweGZmOworCWlmIChjb2RlYy0+aHdfcmVhZChjb2RlYy0+Y29udHJvbF9kYXRhLCB2YWx1ZSwgMSkgIT0gMSkKKwkJcmV0dXJuIC1FSU87CisKKwlhaWMzeF93cml0ZV9yZWdfY2FjaGUoY29kZWMsIHJlZywgKnZhbHVlKTsKKwlyZXR1cm4gMDsKK30KKwogI2RlZmluZSBTT0NfREFQTV9TSU5HTEVfQUlDM1goeG5hbWUsIHJlZywgc2hpZnQsIG1hc2ssIGludmVydCkgXAogewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFtZSwgXAogCS5pbmZvID0gc25kX3NvY19pbmZvX3ZvbHN3LCBcCkBAIC0xOTIsNyArMjA2LDcgQEAKIAkJfQogCiAJCWlmIChmb3VuZCkKLQkJCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyh3aWRnZXQtPmNvZGVjKTsKKwkJCXNuZF9zb2NfZGFwbV9zeW5jKHdpZGdldC0+Y29kZWMpOwogCX0KIAogCXJldCA9IHNuZF9zb2NfdXBkYXRlX2JpdHMod2lkZ2V0LT5jb2RlYywgcmVnLCB2YWxfbWFzaywgdmFsKTsKQEAgLTIwOSw2ICsyMjMsOCBAQAogICAgIHsgImRpZmZlcmVudGlhbCBvZiBIUFJPVVQiLCAiY29uc3RhbnQgVkNNIiwgInNpbmdsZS1lbmRlZCIsCiAgICAgICAiZGlmZmVyZW50aWFsIG9mIEhQTENPTSIsICJleHRlcm5hbCBmZWVkYmFjayIgfTsKIHN0YXRpYyBjb25zdCBjaGFyICphaWMzeF9saW5laW5fbW9kZV9tdXhbXSA9IHsgInNpbmdsZS1lbmRlZCIsICJkaWZmZXJlbnRpYWwiIH07CitzdGF0aWMgY29uc3QgY2hhciAqYWljM3hfYWRjX2hwZltdID0KKyAgICB7ICJEaXNhYmxlZCIsICIwLjAwNDV4RnMiLCAiMC4wMTI1eEZzIiwgIjAuMDI1eEZzIiB9OwogCiAjZGVmaW5lIExEQUNfRU5VTQkwCiAjZGVmaW5lIFJEQUNfRU5VTQkxCkBAIC0yMTgsNiArMjM0LDcgQEAKICNkZWZpbmUgTElORTFSX0VOVU0JNQogI2RlZmluZSBMSU5FMkxfRU5VTQk2CiAjZGVmaW5lIExJTkUyUl9FTlVNCTcKKyNkZWZpbmUgQURDX0hQRl9FTlVNCTgKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSBhaWMzeF9lbnVtW10gPSB7CiAJU09DX0VOVU1fU0lOR0xFKERBQ19MSU5FX01VWCwgNiwgMywgYWljM3hfbGVmdF9kYWNfbXV4KSwKQEAgLTIyOCw2ICsyNDUsNyBAQAogCVNPQ19FTlVNX1NJTkdMRShMSU5FMVJfMl9SQURDX0NUUkwsIDcsIDIsIGFpYzN4X2xpbmVpbl9tb2RlX211eCksCiAJU09DX0VOVU1fU0lOR0xFKExJTkUyTF8yX0xBRENfQ1RSTCwgNywgMiwgYWljM3hfbGluZWluX21vZGVfbXV4KSwKIAlTT0NfRU5VTV9TSU5HTEUoTElORTJSXzJfUkFEQ19DVFJMLCA3LCAyLCBhaWMzeF9saW5laW5fbW9kZV9tdXgpLAorCVNPQ19FTlVNX0RPVUJMRShBSUMzWF9DT0RFQ19ERklMVF9DVFJMLCA2LCA0LCA0LCBhaWMzeF9hZGNfaHBmKSwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBhaWMzeF9zbmRfY29udHJvbHNbXSA9IHsKQEAgLTI3OCw2ICsyOTYsOCBAQAogCS8qIElucHV0ICovCiAJU09DX0RPVUJMRV9SKCJQR0EgQ2FwdHVyZSBWb2x1bWUiLCBMQURDX1ZPTCwgUkFEQ19WT0wsIDAsIDB4N2YsIDApLAogCVNPQ19ET1VCTEVfUigiUEdBIENhcHR1cmUgU3dpdGNoIiwgTEFEQ19WT0wsIFJBRENfVk9MLCA3LCAweDAxLCAxKSwKKworCVNPQ19FTlVNKCJBREMgSFBGIEN1dC1vZmYiLCBhaWMzeF9lbnVtW0FEQ19IUEZfRU5VTV0pLAogfTsKIAogLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCkBAIC00NDEsMTEgKzQ2MSwzNCBAQAogCVNORF9TT0NfREFQTV9NVVgoIlJpZ2h0IExpbmUyUiBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsCiAJCQkgJmFpYzN4X3JpZ2h0X2xpbmUyX211eF9jb250cm9scyksCiAKKwkvKgorCSAqIE5vdCBhIHJlYWwgbWljIGJpYXMgd2lkZ2V0IGJ1dCBzaW1pbGFyIGZ1bmN0aW9uLiBUaGlzIGlzIGZvciBkeW5hbWljCisJICogY29udHJvbCBvZiBHUElPMSBkaWdpdGFsIG1pYyBtb2R1bGF0b3IgY2xvY2sgb3V0cHV0IGZ1bmN0aW9uIHdoZW4KKwkgKiB1c2luZyBkaWdpdGFsIG1pYy4KKwkgKi8KKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiR1BJTzEgZG1pYyBtb2RjbGsiLAorCQkJIEFJQzNYX0dQSU8xX1JFRywgNCwgMHhmLAorCQkJIEFJQzNYX0dQSU8xX0ZVTkNfRElHSVRBTF9NSUNfTU9EQ0xLLAorCQkJIEFJQzNYX0dQSU8xX0ZVTkNfRElTQUJMRUQpLAorCisJLyoKKwkgKiBBbHNvIHNpbWlsYXIgZnVuY3Rpb24gbGlrZSBtaWMgYmlhcy4gU2VsZWN0cyBkaWdpdGFsIG1pYyB3aXRoCisJICogY29uZmlndXJhYmxlIG92ZXJzYW1wbGluZyByYXRlIGluc3RlYWQgb2YgQURDIGNvbnZlcnRlci4KKwkgKi8KKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiRE1pYyBSYXRlIDEyOCIsCisJCQkgQUlDM1hfQVNEX0lOVEZfQ1RSTEEsIDAsIDMsIDEsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJETWljIFJhdGUgNjQiLAorCQkJIEFJQzNYX0FTRF9JTlRGX0NUUkxBLCAwLCAzLCAyLCAwKSwKKwlTTkRfU09DX0RBUE1fUkVHKHNuZF9zb2NfZGFwbV9taWNiaWFzLCAiRE1pYyBSYXRlIDMyIiwKKwkJCSBBSUMzWF9BU0RfSU5URl9DVFJMQSwgMCwgMywgMywgMCksCisKIAkvKiBNaWMgQmlhcyAqLwotCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyAyViIsIE1JQ0JJQVNfQ1RSTCwgNiwgMCksCi0JU05EX1NPQ19EQVBNX01JQ0JJQVMoIk1pYyBCaWFzIDIuNVYiLCBNSUNCSUFTX0NUUkwsIDcsIDApLAotCVNORF9TT0NfREFQTV9NSUNCSUFTKCJNaWMgQmlhcyBBVkREIiwgTUlDQklBU19DVFJMLCA2LCAwKSwKLQlTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMgQVZERCIsIE1JQ0JJQVNfQ1RSTCwgNywgMCksCisJU05EX1NPQ19EQVBNX1JFRyhzbmRfc29jX2RhcG1fbWljYmlhcywgIk1pYyBCaWFzIDJWIiwKKwkJCSBNSUNCSUFTX0NUUkwsIDYsIDMsIDEsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJNaWMgQmlhcyAyLjVWIiwKKwkJCSBNSUNCSUFTX0NUUkwsIDYsIDMsIDIsIDApLAorCVNORF9TT0NfREFQTV9SRUcoc25kX3NvY19kYXBtX21pY2JpYXMsICJNaWMgQmlhcyBBVkREIiwKKwkJCSBNSUNCSUFTX0NUUkwsIDYsIDMsIDMsIDApLAogCiAJLyogTGVmdCBQR0EgdG8gTGVmdCBPdXRwdXQgYnlwYXNzICovCiAJU05EX1NPQ19EQVBNX01JWEVSKCJMZWZ0IFBHQSBCeXBhc3MgTWl4ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsCkBAIC00ODMsNyArNTI2LDcgQEAKIAlTTkRfU09DX0RBUE1fSU5QVVQoIkxJTkUyUiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewogCS8qIExlZnQgT3V0cHV0ICovCiAJeyJMZWZ0IERBQyBNdXgiLCAiREFDX0wxIiwgIkxlZnQgREFDIn0sCiAJeyJMZWZ0IERBQyBNdXgiLCAiREFDX0wyIiwgIkxlZnQgREFDIn0sCkBAIC01NTQsNiArNTk3LDcgQEAKIAl7IkxlZnQgUEdBIE1peGVyIiwgIk1pYzNMIFN3aXRjaCIsICJNSUMzTCJ9LAogCiAJeyJMZWZ0IEFEQyIsIE5VTEwsICJMZWZ0IFBHQSBNaXhlciJ9LAorCXsiTGVmdCBBREMiLCBOVUxMLCAiR1BJTzEgZG1pYyBtb2RjbGsifSwKIAogCS8qIFJpZ2h0IElucHV0ICovCiAJeyJSaWdodCBMaW5lMVIgTXV4IiwgInNpbmdsZS1lbmRlZCIsICJMSU5FMVIifSwKQEAgLTU2Nyw2ICs2MTEsNyBAQAogCXsiUmlnaHQgUEdBIE1peGVyIiwgIk1pYzNSIFN3aXRjaCIsICJNSUMzUiJ9LAogCiAJeyJSaWdodCBBREMiLCBOVUxMLCAiUmlnaHQgUEdBIE1peGVyIn0sCisJeyJSaWdodCBBREMiLCBOVUxMLCAiR1BJTzEgZG1pYyBtb2RjbGsifSwKIAogCS8qIExlZnQgUEdBIEJ5cGFzcyAqLwogCXsiTGVmdCBQR0EgQnlwYXNzIE1peGVyIiwgIkxpbmUgU3dpdGNoIiwgIkxlZnQgUEdBIE1peGVyIn0sCkBAIC02MjgsMTAxICs2NzMsMjcgQEAKIAl7Ik1vbm8gT3V0IiwgTlVMTCwgIlJpZ2h0IExpbmUyIEJ5cGFzcyBNaXhlciJ9LAogCXsiUmlnaHQgSFAgT3V0IiwgTlVMTCwgIlJpZ2h0IExpbmUyIEJ5cGFzcyBNaXhlciJ9LAogCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKKwkvKgorCSAqIExvZ2ljYWwgcGF0aCBiZXR3ZWVuIGRpZ2l0YWwgbWljIGVuYWJsZSBhbmQgR1BJTzEgbW9kdWxhdG9yIGNsb2NrCisJICogb3V0cHV0IGZ1bmN0aW9uCisJICovCisJeyJHUElPMSBkbWljIG1vZGNsayIsIE5VTEwsICJETWljIFJhdGUgMTI4In0sCisJeyJHUElPMSBkbWljIG1vZGNsayIsIE5VTEwsICJETWljIFJhdGUgNjQifSwKKwl7IkdQSU8xIGRtaWMgbW9kY2xrIiwgTlVMTCwgIkRNaWMgUmF0ZSAzMiJ9LAogfTsKIAogc3RhdGljIGludCBhaWMzeF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzeF9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmFpYzN4X2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgYWljM3hfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhaWMzeF9kYXBtX3dpZGdldHMpKTsKIAogCS8qIHNldCB1cCBhdWRpbyBwYXRoIGludGVyY29ubmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBpbnRlcmNvbltpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBpbnRlcmNvbltpXVswXSwKLQkJCQkJICAgaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgaW50ZXJjb24sIEFSUkFZX1NJWkUoaW50ZXJjb24pKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKLXN0cnVjdCBhaWMzeF9yYXRlX2RpdnMgewotCXUzMiBtY2xrOwotCXUzMiByYXRlOwotCXUzMiBmc3JlZl9yZWc7Ci0JdTggc3JfcmVnOjQ7Ci0JdTggcGxsal9yZWc7Ci0JdTE2IHBsbGRfcmVnOwotfTsKLQotLyogQUlDM1ggY29kZWMgbWNsayBjbG9jayBkaXZpZGVyIGNvZWZmaWNpZW50cyAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBhaWMzeF9yYXRlX2RpdnMgYWljM3hfZGl2c1tdID0gewotCS8qIDhrICovCi0JezEyMDAwMDAwLCA4MDAwLCA0ODAwMCwgMHhhLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA4MDAwLCA0ODAwMCwgMHhhLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCA4MDAwLCA0ODAwMCwgMHhhLCA4LCA3MDc1fSwKLQl7MzM4Njg4MDAsIDgwMDAsIDQ4MDAwLCAweGEsIDUsIDgwNDl9LAotCS8qIDExLjAyNWsgKi8KLQl7MTIwMDAwMDAsIDExMDI1LCA0NDEwMCwgMHg2LCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDExMDI1LCA0NDEwMCwgMHg2LCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDExMDI1LCA0NDEwMCwgMHg2LCA4LCAwfSwKLQl7MzM4Njg4MDAsIDExMDI1LCA0NDEwMCwgMHg2LCA1LCAzMzMzfSwKLQkvKiAxNmsgKi8KLQl7MTIwMDAwMDAsIDE2MDAwLCA0ODAwMCwgMHg0LCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCAxNjAwMCwgNDgwMDAsIDB4NCwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgMTYwMDAsIDQ4MDAwLCAweDQsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgMTYwMDAsIDQ4MDAwLCAweDQsIDUsIDgwNDl9LAotCS8qIDIyLjA1ayAqLwotCXsxMjAwMDAwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDE1LCA1Mjh9LAotCXsxOTIwMDAwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDksIDQwODB9LAotCXsyMjU3OTIwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDgsIDB9LAotCXszMzg2ODgwMCwgMjIwNTAsIDQ0MTAwLCAweDIsIDUsIDMzMzN9LAotCS8qIDMyayAqLwotCXsxMjAwMDAwMCwgMzIwMDAsIDQ4MDAwLCAweDEsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDMyMDAwLCA0ODAwMCwgMHgxLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCAzMjAwMCwgNDgwMDAsIDB4MSwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCAzMjAwMCwgNDgwMDAsIDB4MSwgNSwgODA0OX0sCi0JLyogNDQuMWsgKi8KLQl7MTIwMDAwMDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCA4LCAwfSwKLQl7MzM4Njg4MDAsIDQ0MTAwLCA0NDEwMCwgMHgwLCA1LCAzMzMzfSwKLQkvKiA0OGsgKi8KLQl7MTIwMDAwMDAsIDQ4MDAwLCA0ODAwMCwgMHgwLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA0ODAwMCwgNDgwMDAsIDB4MCwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgNDgwMDAsIDQ4MDAwLCAweDAsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgNDgwMDAsIDQ4MDAwLCAweDAsIDUsIDgwNDl9LAotCS8qIDY0ayAqLwotCXsxMjAwMDAwMCwgNjQwMDAsIDk2MDAwLCAweDEsIDE2LCAzODQwfSwKLQl7MTkyMDAwMDAsIDY0MDAwLCA5NjAwMCwgMHgxLCAxMCwgMjQwMH0sCi0JezIyNTc5MjAwLCA2NDAwMCwgOTYwMDAsIDB4MSwgOCwgNzA3NX0sCi0JezMzODY4ODAwLCA2NDAwMCwgOTYwMDAsIDB4MSwgNSwgODA0OX0sCi0JLyogODguMmsgKi8KLQl7MTIwMDAwMDAsIDg4MjAwLCA4ODIwMCwgMHgwLCAxNSwgNTI4fSwKLQl7MTkyMDAwMDAsIDg4MjAwLCA4ODIwMCwgMHgwLCA5LCA0MDgwfSwKLQl7MjI1NzkyMDAsIDg4MjAwLCA4ODIwMCwgMHgwLCA4LCAwfSwKLQl7MzM4Njg4MDAsIDg4MjAwLCA4ODIwMCwgMHgwLCA1LCAzMzMzfSwKLQkvKiA5NmsgKi8KLQl7MTIwMDAwMDAsIDk2MDAwLCA5NjAwMCwgMHgwLCAxNiwgMzg0MH0sCi0JezE5MjAwMDAwLCA5NjAwMCwgOTYwMDAsIDB4MCwgMTAsIDI0MDB9LAotCXsyMjU3OTIwMCwgOTYwMDAsIDk2MDAwLCAweDAsIDgsIDcwNzV9LAotCXszMzg2ODgwMCwgOTYwMDAsIDk2MDAwLCAweDAsIDUsIDgwNDl9LAotfTsKLQotc3RhdGljIGlubGluZSBpbnQgYWljM3hfZ2V0X2RpdnMoaW50IG1jbGssIGludCByYXRlKQotewotCWludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWljM3hfZGl2cyk7IGkrKykgewotCQlpZiAoYWljM3hfZGl2c1tpXS5yYXRlID09IHJhdGUgJiYgYWljM3hfZGl2c1tpXS5tY2xrID09IG1jbGspCi0JCQlyZXR1cm4gaTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBhaWMzeF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCiAJCQkgICBzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKQEAgLTczMCw1NyArNzAxLDkgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAJc3RydWN0IGFpYzN4X3ByaXYgKmFpYzN4ID0gY29kZWMtPnByaXZhdGVfZGF0YTsKLQlpbnQgaTsKLQl1OCBkYXRhLCBwbGxfcCwgcGxsX3IsIHBsbF9qOwotCXUxNiBwbGxfZDsKLQotCWkgPSBhaWMzeF9nZXRfZGl2cyhhaWMzeC0+c3lzY2xrLCBwYXJhbXNfcmF0ZShwYXJhbXMpKTsKLQotCS8qIFJvdXRlIExlZnQgREFDIHRvIGxlZnQgY2hhbm5lbCBpbnB1dCBhbmQKLQkgKiByaWdodCBEQUMgdG8gcmlnaHQgY2hhbm5lbCBpbnB1dCAqLwotCWRhdGEgPSAoTERBQzJMQ0ggfCBSREFDMlJDSCk7Ci0Jc3dpdGNoIChhaWMzeF9kaXZzW2ldLmZzcmVmX3JlZykgewotCWNhc2UgNDQxMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDQxMDA7Ci0JCWJyZWFrOwotCWNhc2UgNDgwMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDgwMDA7Ci0JCWJyZWFrOwotCWNhc2UgODgyMDA6Ci0JCWRhdGEgfD0gRlNSRUZfNDQxMDAgfCBEVUFMX1JBVEVfTU9ERTsKLQkJYnJlYWs7Ci0JY2FzZSA5NjAwMDoKLQkJZGF0YSB8PSBGU1JFRl80ODAwMCB8IERVQUxfUkFURV9NT0RFOwotCQlicmVhazsKLQl9Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0NPREVDX0RBVEFQQVRIX1JFRywgZGF0YSk7Ci0KLQkvKiBjb2RlYyBzYW1wbGUgcmF0ZSBzZWxlY3QgKi8KLQlkYXRhID0gYWljM3hfZGl2c1tpXS5zcl9yZWc7Ci0JZGF0YSB8PSAoZGF0YSA8PCA0KTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfU0FNUExFX1JBVEVfU0VMX1JFRywgZGF0YSk7Ci0KLQkvKiBVc2UgUExMIGZvciBnZW5lcmF0aW9uIEZzcmVmIGJ5IGVxdWF0aW9uOgotCSAqIEZzcmVmID0gKE1DTEsgKiBLICogUikvKDIwNDggKiBQKTsKLQkgKiBGaXggUCA9IDIgYW5kIFIgPSAxIGFuZCBjYWxjdWxhdGUgSywgaWYKLQkgKiBLID0gSi5ELCBpLmUuIEogLSBhbiBpbnRlcmdlciBwb3J0aW9uIG9mIEsgYW5kIEQgaXMgdGhlIGZyYWN0aW9uYWwKLQkgKiBvbmUgd2l0aCA0IGRpZ2l0cyBvZiBwcmVjaXNpb247Ci0JICogRXhhbXBsZToKLQkgKiBGb3IgTUNMSyA9IDIyLjU3OTIgTUh6IGFuZCBGc3JlZiA9IDQ4a0h6OgotCSAqIFNlbGVjdCBQID0gMiwgUj0gMSwgSyA9IDguNzA3NCwgd2hpY2ggcmVzdWx0cyBpbiBKID0gOCwgRCA9IDcwNzQKLQkgKi8KLQlwbGxfcCA9IDI7Ci0JcGxsX3IgPSAxOwotCXBsbF9qID0gYWljM3hfZGl2c1tpXS5wbGxqX3JlZzsKLQlwbGxfZCA9IGFpYzN4X2RpdnNbaV0ucGxsZF9yZWc7Ci0KLQlkYXRhID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcpOwotCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0FfUkVHLCBkYXRhIHwgKHBsbF9wIDw8IFBMTFBfU0hJRlQpKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfT1ZSRl9TVEFUVVNfQU5EX1BMTFJfUkVHLCBwbGxfciA8PCBQTExSX1NISUZUKTsKLQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dCX1JFRywgcGxsX2ogPDwgUExMSl9TSElGVCk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQ19SRUcsIChwbGxfZCA+PiA2KSA8PCBQTExEX01TQl9TSElGVCk7Ci0JYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HRF9SRUcsCi0JCSAgICAocGxsX2QgJiAweDNGKSA8PCBQTExEX0xTQl9TSElGVCk7CisJaW50IGNvZGVjX2NsayA9IDAsIGJ5cGFzc19wbGwgPSAwLCBmc3JlZiwgbGFzdF9jbGsgPSAwOworCXU4IGRhdGEsIHIsIHAsIHBsbF9xLCBwbGxfcCA9IDEsIHBsbF9yID0gMSwgcGxsX2ogPSAxOworCXUxNiBwbGxfZCA9IDE7CiAKIAkvKiBzZWxlY3QgZGF0YSB3b3JkIGxlbmd0aCAqLwogCWRhdGEgPQpAQCAtODAwLDEwICs3MjMsOTggQEAKIAl9CiAJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0FTRF9JTlRGX0NUUkxCLCBkYXRhKTsKIAorCS8qIEZzcmVmIGNhbiBiZSA0NDEwMCBvciA0ODAwMCAqLworCWZzcmVmID0gKHBhcmFtc19yYXRlKHBhcmFtcykgJSAxMTAyNSA9PSAwKSA/IDQ0MTAwIDogNDgwMDA7CisKKwkvKiBUcnkgdG8gZmluZCBhIHZhbHVlIGZvciBRIHdoaWNoIGFsbG93cyB1cyB0byBieXBhc3MgdGhlIFBMTCBhbmQKKwkgKiBnZW5lcmF0ZSBDT0RFQ19DTEsgZGlyZWN0bHkuICovCisJZm9yIChwbGxfcSA9IDI7IHBsbF9xIDwgMTg7IHBsbF9xKyspCisJCWlmIChhaWMzeC0+c3lzY2xrIC8gKDEyOCAqIHBsbF9xKSA9PSBmc3JlZikgeworCQkJYnlwYXNzX3BsbCA9IDE7CisJCQlicmVhazsKKwkJfQorCisJaWYgKGJ5cGFzc19wbGwpIHsKKwkJcGxsX3EgJj0gMHhmOworCQlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRywgcGxsX3EgPDwgUExMUV9TSElGVCk7CisJCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPQl9SRUcsIENPREVDX0NMS0lOX0NMS0RJVik7CisJfSBlbHNlCisJCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPQl9SRUcsIENPREVDX0NMS0lOX1BMTERJVik7CisKKwkvKiBSb3V0ZSBMZWZ0IERBQyB0byBsZWZ0IGNoYW5uZWwgaW5wdXQgYW5kCisJICogcmlnaHQgREFDIHRvIHJpZ2h0IGNoYW5uZWwgaW5wdXQgKi8KKwlkYXRhID0gKExEQUMyTENIIHwgUkRBQzJSQ0gpOworCWRhdGEgfD0gKGZzcmVmID09IDQ0MTAwKSA/IEZTUkVGXzQ0MTAwIDogRlNSRUZfNDgwMDA7CisJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgPj0gNjQwMDApCisJCWRhdGEgfD0gRFVBTF9SQVRFX01PREU7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0NPREVDX0RBVEFQQVRIX1JFRywgZGF0YSk7CisKKwkvKiBjb2RlYyBzYW1wbGUgcmF0ZSBzZWxlY3QgKi8KKwlkYXRhID0gKGZzcmVmICogMjApIC8gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwlpZiAocGFyYW1zX3JhdGUocGFyYW1zKSA8IDY0MDAwKQorCQlkYXRhIC89IDI7CisJZGF0YSAvPSA1OworCWRhdGEgLT0gMjsKKwlkYXRhIHw9IChkYXRhIDw8IDQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9TQU1QTEVfUkFURV9TRUxfUkVHLCBkYXRhKTsKKworCWlmIChieXBhc3NfcGxsKQorCQlyZXR1cm4gMDsKKworCS8qIFVzZSBQTEwKKwkgKiBmaW5kIGFuIGFwcm9wcmlhdGUgc2V0dXAgZm9yIGosIGQsIHIgYW5kIHAgYnkgaXRlcmF0aW5nIG92ZXIKKwkgKiBwIGFuZCByIC0gaiBhbmQgZCBhcmUgY2FsY3VsYXRlZCBmb3IgZWFjaCBmcmFjdGlvbi4KKwkgKiBVcCB0byAxMjggdmFsdWVzIGFyZSBwcm9iZWQsIHRoZSBjbG9zZXN0IG9uZSB3aW5zIHRoZSBnYW1lLgorCSAqIFRoZSBzeXNjbGsgaXMgZGl2aWRlZCBieSAxMDAwIHRvIHByZXZlbnQgaW50ZWdlciBvdmVyZmxvd3MuCisJICovCisJY29kZWNfY2xrID0gKDIwNDggKiBmc3JlZikgLyAoYWljM3gtPnN5c2NsayAvIDEwMDApOworCisJZm9yIChyID0gMTsgciA8PSAxNjsgcisrKQorCQlmb3IgKHAgPSAxOyBwIDw9IDg7IHArKykgeworCQkJaW50IGNsaywgdG1wID0gKGNvZGVjX2NsayAqIHBsbF9yICogMTApIC8gcGxsX3A7CisJCQl1OCBqID0gdG1wIC8gMTAwMDA7CisJCQl1MTYgZCA9IHRtcCAlIDEwMDAwOworCisJCQlpZiAoaiA+IDYzKQorCQkJCWNvbnRpbnVlOworCisJCQlpZiAoZCAhPSAwICYmIGFpYzN4LT5zeXNjbGsgPCAxMDAwMDAwMCkKKwkJCQljb250aW51ZTsKKworCQkJLyogVGhpcyBpcyBhY3R1YWxseSAxMDAwICogKChqICsgKGQvMTAwMDApKSAqIHIpIC8gcAorCQkJICogVGhlIHRlcm0gaGFkIHRvIGJlIGNvbnZlcnRlZCB0byBnZXQgcmlkIG9mIHRoZQorCQkJICogZGl2aXNpb24gYnkgMTAwMDAgKi8KKwkJCWNsayA9ICgoMTAwMDAgKiBqICogcikgKyAoZCAqIHIpKSAvICgxMCAqIHApOworCisJCQkvKiBjaGVjayB3aGV0aGVyIHRoaXMgdmFsdWVzIGdldCBjbG9zZXIgdGhhbiB0aGUgYmVzdAorCQkJICogb25lcyB3ZSBoYWQgYmVmb3JlICovCisJCQlpZiAoYWJzKGNvZGVjX2NsayAtIGNsaykgPCBhYnMoY29kZWNfY2xrIC0gbGFzdF9jbGspKSB7CisJCQkJcGxsX2ogPSBqOyBwbGxfZCA9IGQ7IHBsbF9yID0gcjsgcGxsX3AgPSBwOworCQkJCWxhc3RfY2xrID0gY2xrOworCQkJfQorCisJCQkvKiBFYXJseSBleGl0IGZvciBleGFjdCBtYXRjaGVzICovCisJCQlpZiAoY2xrID09IGNvZGVjX2NsaykKKwkJCQlicmVhazsKKwkJfQorCisJaWYgKGxhc3RfY2xrID09IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICIlcygpOiB1bmFibGUgdG8gc2V0dXAgUExMXG4iLCBfX2Z1bmNfXyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWRhdGEgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUlDM1hfUExMX1BST0dBX1JFRyk7CisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX1BMTF9QUk9HQV9SRUcsIGRhdGEgfCAocGxsX3AgPDwgUExMUF9TSElGVCkpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9PVlJGX1NUQVRVU19BTkRfUExMUl9SRUcsIHBsbF9yIDw8IFBMTFJfU0hJRlQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9QTExfUFJPR0JfUkVHLCBwbGxfaiA8PCBQTExKX1NISUZUKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dDX1JFRywgKHBsbF9kID4+IDYpIDw8IFBMTERfTVNCX1NISUZUKTsKKwlhaWMzeF93cml0ZShjb2RlYywgQUlDM1hfUExMX1BST0dEX1JFRywKKwkJICAgIChwbGxfZCAmIDB4M0YpIDw8IFBMTERfTFNCX1NISUZUKTsKKwogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFpYzN4X211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCBhaWMzeF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXU4IGxkYWNfcmVnID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIExEQUNfVk9MKSAmIH5NVVRFX09OOwpAQCAtODIwLDMxICs4MzEsMjUgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhaWMzeF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgYWljM3hfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCQkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKIAlzdHJ1Y3QgYWljM3hfcHJpdiAqYWljM3ggPSBjb2RlYy0+cHJpdmF0ZV9kYXRhOwogCi0Jc3dpdGNoIChmcmVxKSB7Ci0JY2FzZSAxMjAwMDAwMDoKLQljYXNlIDE5MjAwMDAwOgotCWNhc2UgMjI1NzkyMDA6Ci0JY2FzZSAzMzg2ODgwMDoKLQkJYWljM3gtPnN5c2NsayA9IGZyZXE7Ci0JCXJldHVybiAwOwotCX0KLQotCXJldHVybiAtRUlOVkFMOworCWFpYzN4LT5zeXNjbGsgPSBmcmVxOworCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGFpYzN4X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCBhaWMzeF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJCSAgICAgdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwogCXN0cnVjdCBhaWMzeF9wcml2ICphaWMzeCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7Ci0JdTggaWZhY2VfYXJlZyA9IDA7Ci0JdTggaWZhY2VfYnJlZyA9IDA7CisJdTggaWZhY2VfYXJlZywgaWZhY2VfYnJlZzsKKworCWlmYWNlX2FyZWcgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZShjb2RlYywgQUlDM1hfQVNEX0lOVEZfQ1RSTEEpICYgMHgzZjsKKwlpZmFjZV9icmVnID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIEFJQzNYX0FTRF9JTlRGX0NUUkxCKSAmIDB4M2Y7CiAKIAkvKiBzZXQgbWFzdGVyL3NsYXZlIGF1ZGlvIGludGVyZmFjZSAqLwogCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spIHsKQEAgLTg4MywxMyArODg4LDE0IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYWljM3hfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgYWljM3hfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXN0cnVjdCBhaWMzeF9wcml2ICphaWMzeCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CiAJdTggcmVnOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOgorCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogYWxsIHBvd2VyIGlzIGRyaXZlbiBieSBEQVBNIHN5c3RlbSAqLwogCQlpZiAoYWljM3gtPm1hc3RlcikgewogCQkJLyogZW5hYmxlIHBsbCAqLwpAQCAtODk4LDEwICs5MDQsOSBAQAogCQkJCSAgICByZWcgfCBQTExfRU5BQkxFKTsKIAkJfQogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMToKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjoKKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDoKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKgogCQkgKiBhbGwgcG93ZXIgaXMgZHJpdmVuIGJ5IERBUE0gc3lzdGVtLAogCQkgKiBzbyBvdXRwdXQgcG93ZXIgaXMgc2FmZSBpZiBieXBhc3Mgd2FzIHNldApAQCAtOTEzLDcgKzkxOCw3IEBACiAJCQkJICAgIHJlZyAmIH5QTExfRU5BQkxFKTsKIAkJfQogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQkvKiBmb3JjZSBhbGwgcG93ZXIgb2ZmICovCiAJCXJlZyA9IGFpYzN4X3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBMSU5FMUxfMl9MQURDX0NUUkwpOwogCQlhaWMzeF93cml0ZShjb2RlYywgTElORTFMXzJfTEFEQ19DVFJMLCByZWcgJiB+TEFEQ19QV1JfT04pOwpAQCAtOTQ5LDE2ICs5NTQsNDMgQEAKIAkJfQogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCiAJcmV0dXJuIDA7CiB9CiAKK3ZvaWQgYWljM3hfc2V0X2dwaW8oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZ3BpbywgaW50IHN0YXRlKQoreworCXU4IHJlZyA9IGdwaW8gPyBBSUMzWF9HUElPMl9SRUcgOiBBSUMzWF9HUElPMV9SRUc7CisJdTggYml0ID0gZ3BpbyA/IDM6IDA7CisJdTggdmFsID0gYWljM3hfcmVhZF9yZWdfY2FjaGUoY29kZWMsIHJlZykgJiB+KDEgPDwgYml0KTsKKwlhaWMzeF93cml0ZShjb2RlYywgcmVnLCB2YWwgfCAoISFzdGF0ZSA8PCBiaXQpKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFpYzN4X3NldF9ncGlvKTsKKworaW50IGFpYzN4X2dldF9ncGlvKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGdwaW8pCit7CisJdTggcmVnID0gZ3BpbyA/IEFJQzNYX0dQSU8yX1JFRyA6IEFJQzNYX0dQSU8xX1JFRzsKKwl1OCB2YWwsIGJpdCA9IGdwaW8gPyAyOiAxOworCisJYWljM3hfcmVhZChjb2RlYywgcmVnLCAmdmFsKTsKKwlyZXR1cm4gKHZhbCA+PiBiaXQpICYgMTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGFpYzN4X2dldF9ncGlvKTsKKworaW50IGFpYzN4X2hlYWRzZXRfZGV0ZWN0ZWQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXU4IHZhbDsKKwlhaWMzeF9yZWFkKGNvZGVjLCBBSUMzWF9SVF9JUlFfRkxBR1NfUkVHLCAmdmFsKTsKKwlyZXR1cm4gKHZhbCA+PiAyKSAmIDE7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChhaWMzeF9oZWFkc2V0X2RldGVjdGVkKTsKKwogI2RlZmluZSBBSUMzWF9SQVRFUwlTTkRSVl9QQ01fUkFURV84MDAwXzk2MDAwCiAjZGVmaW5lIEFJQzNYX0ZPUk1BVFMJKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHwgXAogCQkJIFNORFJWX1BDTV9GTVRCSVRfUzI0XzNMRSB8IFNORFJWX1BDTV9GTVRCSVRfUzMyX0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgYWljM3hfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGFpYzN4X2RhaSA9IHsKIAkubmFtZSA9ICJhaWMzeCIsCiAJLnBsYXliYWNrID0gewogCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLApAQCAtOTg4LDcgKzEwMjAsNyBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAotCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCWFpYzN4X3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTAwOCw3ICsxMDQwLDcgQEAKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KIAotCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUpOworCWFpYzN4X3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTAyMCwxNiArMTA1MiwxNyBAQAogc3RhdGljIGludCBhaWMzeF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGFpYzN4X3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOwogCWludCByZWcsIHJldCA9IDA7CiAKIAljb2RlYy0+bmFtZSA9ICJhaWMzeCI7CiAJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CiAJY29kZWMtPnJlYWQgPSBhaWMzeF9yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSBhaWMzeF93cml0ZTsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IGFpYzN4X2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gYWljM3hfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9ICZhaWMzeF9kYWk7CiAJY29kZWMtPm51bV9kYWkgPSAxOwotCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IHNpemVvZihhaWMzeF9yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUoYWljM3hfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cChhaWMzeF9yZWcsIHNpemVvZihhaWMzeF9yZWcpLCBHRlBfS0VSTkVMKTsKIAlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTExMDgsNyArMTE0MSwxMSBAQAogCWFpYzN4X3dyaXRlKGNvZGVjLCBMSU5FMlJfMl9NT05PTE9QTV9WT0wsIERFRkFVTFRfVk9MKTsKIAogCS8qIG9mZiwgd2l0aCBwb3dlciBvbiAqLwotCWFpYzN4X2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJYWljM3hfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKworCS8qIHNldHVwIEdQSU8gZnVuY3Rpb25zICovCisJYWljM3hfd3JpdGUoY29kZWMsIEFJQzNYX0dQSU8xX1JFRywgKHNldHVwLT5ncGlvX2Z1bmNbMF0gJiAweGYpIDw8IDQpOworCWFpYzN4X3dyaXRlKGNvZGVjLCBBSUMzWF9HUElPMl9SRUcsIChzZXR1cC0+Z3Bpb19mdW5jWzFdICYgMHhmKSA8PCA0KTsKIAogCWFpYzN4X2FkZF9jb250cm9scyhjb2RlYyk7CiAJYWljM3hfYWRkX3dpZGdldHMoY29kZWMpOwpAQCAtMTIxNyw2ICsxMjU0LDEyIEBACiAJLm5hbWUgPSAiQUlDM1giLAogCS5kcml2ZXIgPSAmYWljM3hfaTJjX2RyaXZlciwKIH07CisKK3N0YXRpYyBpbnQgYWljM3hfaTJjX3JlYWQoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwgdTggKnZhbHVlLCBpbnQgbGVuKQoreworCXZhbHVlWzBdID0gaTJjX3NtYnVzX3JlYWRfYnl0ZV9kYXRhKGNsaWVudCwgdmFsdWVbMF0pOworCXJldHVybiAobGVuID09IDEpOworfQogI2VuZGlmCiAKIHN0YXRpYyBpbnQgYWljM3hfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKQEAgLTEyNTEsNiArMTI5NCw3IEBACiAJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgewogCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOwogCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdCkgaTJjX21hc3Rlcl9zZW5kOworCQljb2RlYy0+aHdfcmVhZCA9IChod19yZWFkX3QpIGFpYzN4X2kyY19yZWFkOwogCQlyZXQgPSBpMmNfYWRkX2RyaXZlcigmYWljM3hfaTJjX2RyaXZlcik7CiAJCWlmIChyZXQgIT0gMCkKIAkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKQEAgLTEyNjgsNyArMTMxMiw3IEBACiAKIAkvKiBwb3dlciBkb3duIGNoaXAgKi8KIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJYWljM3hfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzKTsKKwkJYWljM3hfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCiAJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKIAlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5oIGIvc291bmQvc29jL2NvZGVjcy90bHYzMjBhaWMzeC5oCmluZGV4IGQwY2RlZWIuLmQ3NmMwNzkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvdGx2MzIwYWljM3guaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3RsdjMyMGFpYzN4LmgKQEAgLTM3LDYgKzM3LDggQEAKICNkZWZpbmUgQUlDM1hfQVNEX0lOVEZfQ1RSTEIJCTkKIC8qIEF1ZGlvIG92ZXJmbG93IHN0YXR1cyBhbmQgUExMIFIgdmFsdWUgcHJvZ3JhbW1pbmcgcmVnaXN0ZXIgKi8KICNkZWZpbmUgQUlDM1hfT1ZSRl9TVEFUVVNfQU5EX1BMTFJfUkVHCTExCisvKiBBdWRpbyBjb2RlYyBkaWdpdGFsIGZpbHRlciBjb250cm9sIHJlZ2lzdGVyICovCisjZGVmaW5lIEFJQzNYX0NPREVDX0RGSUxUX0NUUkwJCTEyCiAKIC8qIEFEQyBQR0EgR2FpbiBjb250cm9sIHJlZ2lzdGVycyAqLwogI2RlZmluZSBMQURDX1ZPTAkJCTE1CkBAIC0xMDgsNiArMTEwLDEzIEBACiAjZGVmaW5lIERBQ1IxXzJfUkxPUE1fVk9MCQk5MgogI2RlZmluZSBMTE9QTV9DVFJMCQkJODYKICNkZWZpbmUgUkxPUE1fQ1RSTAkJCTkzCisvKiBHUElPL0lSUSByZWdpc3RlcnMgKi8KKyNkZWZpbmUgQUlDM1hfU1RJQ0tZX0lSUV9GTEFHU19SRUcJOTYKKyNkZWZpbmUgQUlDM1hfUlRfSVJRX0ZMQUdTX1JFRwkJOTcKKyNkZWZpbmUgQUlDM1hfR1BJTzFfUkVHCQkJOTgKKyNkZWZpbmUgQUlDM1hfR1BJTzJfUkVHCQkJOTkKKyNkZWZpbmUgQUlDM1hfR1BJT0FfUkVHCQkJMTAwCisjZGVmaW5lIEFJQzNYX0dQSU9CX1JFRwkJCTEwMQogLyogQ2xvY2sgZ2VuZXJhdGlvbiBjb250cm9sIHJlZ2lzdGVyICovCiAjZGVmaW5lIEFJQzNYX0NMS0dFTl9DVFJMX1JFRwkJMTAyCiAKQEAgLTEyOCwxMiArMTM3LDE1IEBACiAKIC8qIFBMTCByZWdpc3RlcnMgYml0ZmllbGRzICovCiAjZGVmaW5lIFBMTFBfU0hJRlQJCTAKKyNkZWZpbmUgUExMUV9TSElGVAkJMwogI2RlZmluZSBQTExSX1NISUZUCQkwCiAjZGVmaW5lIFBMTEpfU0hJRlQJCTIKICNkZWZpbmUgUExMRF9NU0JfU0hJRlQJCTAKICNkZWZpbmUgUExMRF9MU0JfU0hJRlQJCTIKIAogLyogQ2xvY2sgZ2VuZXJhdGlvbiByZWdpc3RlciBiaXRzICovCisjZGVmaW5lIENPREVDX0NMS0lOX1BMTERJVgkwCisjZGVmaW5lIENPREVDX0NMS0lOX0NMS0RJVgkxCiAjZGVmaW5lIFBMTF9DTEtJTl9TSElGVAkJNAogI2RlZmluZSBNQ0xLX1NPVVJDRQkJMHgwCiAjZGVmaW5lIFBMTF9DTEtESVZfU0hJRlQJMApAQCAtMTcxLDExICsxODMsNTIgQEAKIC8qIERlZmF1bHQgaW5wdXQgdm9sdW1lICovCiAjZGVmaW5lIERFRkFVTFRfR0FJTiAgICAweDIwCiAKLXN0cnVjdCBhaWMzeF9zZXR1cF9kYXRhIHsKLQl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKKy8qIEdQSU8gQVBJICovCitlbnVtIHsKKwlBSUMzWF9HUElPMV9GVU5DX0RJU0FCTEVECQk9IDAsCisJQUlDM1hfR1BJTzFfRlVOQ19BVURJT19XT1JEQ0xLX0FEQwk9IDEsCisJQUlDM1hfR1BJTzFfRlVOQ19DTE9DS19NVVgJCT0gMiwKKwlBSUMzWF9HUElPMV9GVU5DX0NMT0NLX01VWF9ESVYyCQk9IDMsCisJQUlDM1hfR1BJTzFfRlVOQ19DTE9DS19NVVhfRElWNAkJPSA0LAorCUFJQzNYX0dQSU8xX0ZVTkNfQ0xPQ0tfTVVYX0RJVjgJCT0gNSwKKwlBSUMzWF9HUElPMV9GVU5DX1NIT1JUX0NJUkNVSVRfSVJRCT0gNiwKKwlBSUMzWF9HUElPMV9GVU5DX0FHQ19OT0lTRV9JUlEJCT0gNywKKwlBSUMzWF9HUElPMV9GVU5DX0lOUFVUCQkJPSA4LAorCUFJQzNYX0dQSU8xX0ZVTkNfT1VUUFVUCQkJPSA5LAorCUFJQzNYX0dQSU8xX0ZVTkNfRElHSVRBTF9NSUNfTU9EQ0xLCT0gMTAsCisJQUlDM1hfR1BJTzFfRlVOQ19BVURJT19XT1JEQ0xLCQk9IDExLAorCUFJQzNYX0dQSU8xX0ZVTkNfQlVUVE9OX0lSUQkJPSAxMiwKKwlBSUMzWF9HUElPMV9GVU5DX0hFQURTRVRfREVURUNUX0lSUQk9IDEzLAorCUFJQzNYX0dQSU8xX0ZVTkNfSEVBRFNFVF9ERVRFQ1RfT1JfQlVUVE9OX0lSUQk9IDE0LAorCUFJQzNYX0dQSU8xX0ZVTkNfQUxMX0lSUQkJPSAxNgogfTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSBhaWMzeF9kYWk7CitlbnVtIHsKKwlBSUMzWF9HUElPMl9GVU5DX0RJU0FCTEVECQk9IDAsCisJQUlDM1hfR1BJTzJfRlVOQ19IRUFEU0VUX0RFVEVDVF9JUlEJPSAyLAorCUFJQzNYX0dQSU8yX0ZVTkNfSU5QVVQJCQk9IDMsCisJQUlDM1hfR1BJTzJfRlVOQ19PVVRQVVQJCQk9IDQsCisJQUlDM1hfR1BJTzJfRlVOQ19ESUdJVEFMX01JQ19JTlBVVAk9IDUsCisJQUlDM1hfR1BJTzJfRlVOQ19BVURJT19CSVRDTEsJCT0gOCwKKwlBSUMzWF9HUElPMl9GVU5DX0hFQURTRVRfREVURUNUX09SX0JVVFRPTl9JUlEgPSA5LAorCUFJQzNYX0dQSU8yX0ZVTkNfQUxMX0lSUQkJPSAxMCwKKwlBSUMzWF9HUElPMl9GVU5DX1NIT1JUX0NJUkNVSVRfT1JfQUdDX0lSUSA9IDExLAorCUFJQzNYX0dQSU8yX0ZVTkNfSEVBRFNFVF9PUl9CVVRUT05fUFJFU1NfT1JfU0hPUlRfQ0lSQ1VJVF9JUlEgPSAxMiwKKwlBSUMzWF9HUElPMl9GVU5DX1NIT1JUX0NJUkNVSVRfSVJRCT0gMTMsCisJQUlDM1hfR1BJTzJfRlVOQ19BR0NfTk9JU0VfSVJRCQk9IDE0LAorCUFJQzNYX0dQSU8yX0ZVTkNfQlVUVE9OX1BSRVNTX0lSUQk9IDE1Cit9OworCit2b2lkIGFpYzN4X3NldF9ncGlvKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGdwaW8sIGludCBzdGF0ZSk7CitpbnQgYWljM3hfZ2V0X2dwaW8oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZ3Bpbyk7CitpbnQgYWljM3hfaGVhZHNldF9kZXRlY3RlZChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpOworCitzdHJ1Y3QgYWljM3hfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CisJdW5zaWduZWQgaW50IGdwaW9fZnVuY1syXTsKK307CisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgYWljM3hfZGFpOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X2FpYzN4OwogCiAjZW5kaWYgLyogX0FJQzNYX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5jIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUyZDZkOQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvdWRhMTM4MC5jCkBAIC0wLDAgKzEsODUyIEBACisvKgorICogdWRhMTM4MC5jIC0gUGhpbGlwcyBVREExMzgwIEFMU0EgU29DIGF1ZGlvIGRyaXZlcgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA3IFBoaWxpcHAgWmFiZWwgPHBoaWxpcHAuemFiZWxAZ21haWwuY29tPgorICogSW1wcm92ZWQgc3VwcG9ydCBmb3IgREFQTSBhbmQgYXVkaW8gcm91dGluZy9taXhpbmcgY2FwYWJpbGl0aWVzLAorICogYWRkZWQgVExWIHN1cHBvcnQuCisgKgorICogTW9kaWZpZWQgYnkgUmljaGFyZCBQdXJkaWUgPHJpY2hhcmRAb3BlbmVkaGFuZC5jb20+IHRvIGZpdCBpbnRvIFNvQworICogY29kZWMgbW9kZWwuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA1IEdpb3JnaW8gUGFkcmluIDxnaW9yZ2lvQG1hbmRhcmlubG9naXEub3JnPgorICogQ29weXJpZ2h0IDIwMDUgT3BlbmVkaGFuZCBMdGQuCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKyNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgorI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvY29udHJvbC5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC9pbmZvLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlIDxzb3VuZC90bHYuaD4KKworI2luY2x1ZGUgInVkYTEzODAuaCIKKworI2RlZmluZSBVREExMzgwX1ZFUlNJT04gIjAuNiIKKyNkZWZpbmUgQVVESU9fTkFNRSAidWRhMTM4MCIKKworLyoKKyAqIHVkYTEzODAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGNvbnN0IHUxNiB1ZGExMzgwX3JlZ1tVREExMzgwX0NBQ0hFUkVHTlVNXSA9IHsKKwkweDA1MDIsIDB4MDAwMCwgMHgwMDAwLCAweDNmM2YsCisJMHgwMjAyLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweGZmMDAsIDB4MDAwMCwgMHg0ODAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHg4MDAwLCAweDAwMDIsIDB4MDAwMCwKK307CisKKy8qCisgKiByZWFkIHVkYTEzODAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZykKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID09IFVEQTEzODBfUkVTRVQpCisJCXJldHVybiAwOworCWlmIChyZWcgPj0gVURBMTM4MF9DQUNIRVJFR05VTSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBjYWNoZVtyZWddOworfQorCisvKgorICogd3JpdGUgdWRhMTM4MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgdWRhMTM4MF93cml0ZV9yZWdfY2FjaGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCXUxNiByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKKwlpZiAocmVnID49IFVEQTEzODBfQ0FDSEVSRUdOVU0pCisJCXJldHVybjsKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgVURBMTM4MCByZWdpc3RlciBzcGFjZQorICovCitzdGF0aWMgaW50IHVkYTEzODBfd3JpdGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgcmVnLAorCXVuc2lnbmVkIGludCB2YWx1ZSkKK3sKKwl1OCBkYXRhWzNdOworCisJLyogZGF0YSBpcworCSAqICAgZGF0YVswXSBpcyByZWdpc3RlciBvZmZzZXQKKwkgKiAgIGRhdGFbMV0gaXMgTVMgYnl0ZQorCSAqICAgZGF0YVsyXSBpcyBMUyBieXRlCisJICovCisJZGF0YVswXSA9IHJlZzsKKwlkYXRhWzFdID0gKHZhbHVlICYgMHhmZjAwKSA+PiA4OworCWRhdGFbMl0gPSB2YWx1ZSAmIDB4MDBmZjsKKworCXVkYTEzODBfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKworCS8qIHRoZSBpbnRlcnBvbGF0b3IgJiBkZWNpbWF0b3IgcmVncyBtdXN0IG9ubHkgYmUgd3JpdHRlbiB3aGVuIHRoZQorCSAqIGNvZGVjIERBSSBpcyBhY3RpdmUuCisJICovCisJaWYgKCFjb2RlYy0+YWN0aXZlICYmIChyZWcgPj0gVURBMTM4MF9NVk9MKSkKKwkJcmV0dXJuIDA7CisJcHJfZGVidWcoInVkYTEzODA6IGh3IHdyaXRlICV4IHZhbCAleFxuIiwgcmVnLCB2YWx1ZSk7CisJaWYgKGNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAzKSA9PSAzKSB7CisJCXVuc2lnbmVkIGludCB2YWw7CisJCWkyY19tYXN0ZXJfc2VuZChjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAxKTsKKwkJaTJjX21hc3Rlcl9yZWN2KGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOworCQl2YWwgPSAoZGF0YVswXTw8OCkgfCBkYXRhWzFdOworCQlpZiAodmFsICE9IHZhbHVlKSB7CisJCQlwcl9kZWJ1ZygidWRhMTM4MDogUkVBRCBCQUNLIFZBTCAleFxuIiwKKwkJCQkJKGRhdGFbMF08PDgpIHwgZGF0YVsxXSk7CisJCQlyZXR1cm4gLUVJTzsKKwkJfQorCQlyZXR1cm4gMDsKKwl9IGVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKKyNkZWZpbmUgdWRhMTM4MF9yZXNldChjKQl1ZGExMzgwX3dyaXRlKGMsIFVEQTEzODBfUkVTRVQsIDApCisKKy8qIGRlY2xhcmF0aW9ucyBvZiBBTFNBIHJlZ19lbGVtX1JFQUwgY29udHJvbHMgKi8KK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX2RlZW1wW10gPSB7CisJIk5vbmUiLAorCSIzMmtIeiIsCisJIjQ0LjFrSHoiLAorCSI0OGtIeiIsCisJIjk2a0h6IiwKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9pbnB1dF9zZWxbXSA9IHsKKwkiTGluZSIsCisJIk1pYyArIExpbmUgUiIsCisJIkxpbmUgTCIsCisJIk1pYyIsCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfb3V0cHV0X3NlbFtdID0geworCSJEQUMiLAorCSJBbmFsb2cgTWl4ZXIiLAorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX3NwZl9tb2RlW10gPSB7CisJIkZsYXQiLAorCSJNaW5pbXVtMSIsCisJIk1pbmltdW0yIiwKKwkiTWF4aW11bSIKK307CitzdGF0aWMgY29uc3QgY2hhciAqdWRhMTM4MF9jYXB0dXJlX3NlbFtdID0geworCSJBREMiLAorCSJEaWdpdGFsIE1peGVyIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX3NlbF9uc1tdID0geworCSIzcmQtb3JkZXIiLAorCSI1dGgtb3JkZXIiCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfbWl4X2NvbnRyb2xbXSA9IHsKKwkib2ZmIiwKKwkiUENNIG9ubHkiLAorCSJiZWZvcmUgc291bmQgcHJvY2Vzc2luZyIsCisJImFmdGVyIHNvdW5kIHByb2Nlc3NpbmciCit9Oworc3RhdGljIGNvbnN0IGNoYXIgKnVkYTEzODBfc2RldF9zZXR0aW5nW10gPSB7CisJIjMyMDAiLAorCSI0ODAwIiwKKwkiOTYwMCIsCisJIjE5MjAwIgorfTsKK3N0YXRpYyBjb25zdCBjaGFyICp1ZGExMzgwX29zX3NldHRpbmdbXSA9IHsKKwkic2luZ2xlLXNwZWVkIiwKKwkiZG91YmxlLXNwZWVkIChubyBtaXhpbmcpIiwKKwkicXVhZC1zcGVlZCAobm8gbWl4aW5nKSIKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9kZWVtcF9lbnVtW10gPSB7CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfREVFTVAsIDgsIDUsIHVkYTEzODBfZGVlbXApLAorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX0RFRU1QLCAwLCA1LCB1ZGExMzgwX2RlZW1wKSwKK307CitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfaW5wdXRfc2VsX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX0FEQywgMiwgNCwgdWRhMTM4MF9pbnB1dF9zZWwpOwkJLyogU0VMX01JQywgU0VMX0xOQSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX291dHB1dF9zZWxfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfUE0sIDcsIDIsIHVkYTEzODBfb3V0cHV0X3NlbCk7CQkvKiBSMDJfRU5fQVZDICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfc3BmX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01PREUsIDE0LCA0LCB1ZGExMzgwX3NwZl9tb2RlKTsJCS8qIE0gKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9jYXB0dXJlX3NlbF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9JRkFDRSwgNiwgMiwgdWRhMTM4MF9jYXB0dXJlX3NlbCk7CS8qIFNFTF9TT1VSQ0UgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9zZWxfbnNfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTUlYRVIsIDE0LCAyLCB1ZGExMzgwX3NlbF9ucyk7CQkvKiBTRUxfTlMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gdWRhMTM4MF9taXhfZW51bSA9CisJU09DX0VOVU1fU0lOR0xFKFVEQTEzODBfTUlYRVIsIDEyLCA0LCB1ZGExMzgwX21peF9jb250cm9sKTsJLyogTUlYLCBNSVhfUE9TICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHVkYTEzODBfc2RldF9lbnVtID0KKwlTT0NfRU5VTV9TSU5HTEUoVURBMTM4MF9NSVhFUiwgNCwgNCwgdWRhMTM4MF9zZGV0X3NldHRpbmcpOwkvKiBTRF9WQUxVRSAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB1ZGExMzgwX29zX2VudW0gPQorCVNPQ19FTlVNX1NJTkdMRShVREExMzgwX01JWEVSLCAwLCAzLCB1ZGExMzgwX29zX3NldHRpbmcpOwkvKiBPUyAqLworCisvKgorICogZnJvbSAtNDggZEIgaW4gMS41IGRCIHN0ZXBzIChtdXRlIGluc3RlYWQgb2YgLTQ5LjUgZEIpCisgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRShhbWl4X3RsdiwgLTQ5NTAsIDE1MCwgMSk7CisKKy8qCisgKiBmcm9tIC03OCBkQiBpbiAxIGRCIHN0ZXBzICgzIGRCIHN0ZXBzLCByZWFsbHkuIExTQiBhcmUgaWdub3JlZCksCisgKiBmcm9tIC02NiBkQiBpbiAwLjUgZEIgc3RlcHMgKDIgZEIgc3RlcHMsIHJlYWxseSkgYW5kCisgKiBmcm9tIC01MiBkQiBpbiAwLjI1IGRCIHN0ZXBzCisgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXZvbF90bHZbXSA9IHsKKwlUTFZfREJfUkFOR0VfSEVBRCgzKSwKKwkwLCAxNSwgVExWX0RCX1NDQUxFX0lURU0oLTgyMDAsIDEwMCwgMSksCisJMTYsIDQzLCBUTFZfREJfU0NBTEVfSVRFTSgtNjYwMCwgNTAsIDApLAorCTQ0LCAyNTIsIFRMVl9EQl9TQ0FMRV9JVEVNKC01MjAwLCAyNSwgMCksCit9OworCisvKgorICogZnJvbSAtNzIgZEIgaW4gMS41IGRCIHN0ZXBzICg2IGRCIHN0ZXBzIHJlYWxseSksCisgKiBmcm9tIC02NiBkQiBpbiAwLjc1IGRCIHN0ZXBzICgzIGRCIHN0ZXBzIHJlYWxseSksCisgKiBmcm9tIC02MCBkQiBpbiAwLjUgZEIgc3RlcHMgKDIgZEIgc3RlcHMgcmVhbGx5KSBhbmQKKyAqIGZyb20gLTQ2IGRCIGluIDAuMjUgZEIgc3RlcHMKKyAqLworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCB2Y190bHZbXSA9IHsKKwlUTFZfREJfUkFOR0VfSEVBRCg0KSwKKwkwLCA3LCBUTFZfREJfU0NBTEVfSVRFTSgtNzgwMCwgMTUwLCAxKSwKKwk4LCAxNSwgVExWX0RCX1NDQUxFX0lURU0oLTY2MDAsIDc1LCAwKSwKKwkxNiwgNDMsIFRMVl9EQl9TQ0FMRV9JVEVNKC02MDAwLCA1MCwgMCksCisJNDQsIDIyOCwgVExWX0RCX1NDQUxFX0lURU0oLTQ2MDAsIDI1LCAwKSwKK307CisKKy8qIGZyb20gMCB0byA2IGRCIGluIDIgZEIgc3RlcHMgaWYgU1BGIG1vZGUgIT0gZmxhdCAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKHRyX3RsdiwgMCwgMjAwLCAwKTsKKworLyogZnJvbSAwIHRvIDI0IGRCIGluIDIgZEIgc3RlcHMsIGlmIFNQRiBtb2RlID09IG1heGltdW0sIG90aGVyd2lzZSBjdXRzCisgKiBvZmYgYXQgMTggZEIgbWF4KSAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKGJiX3RsdiwgMCwgMjAwLCAwKTsKKworLyogZnJvbSAtNjMgdG8gMjQgZEIgaW4gMC41IGRCIHN0ZXBzICgtMTI4Li4uNDgpICovCitzdGF0aWMgREVDTEFSRV9UTFZfREJfU0NBTEUoZGVjX3RsdiwgLTY0MDAsIDUwLCAxKTsKKworLyogZnJvbSAwIHRvIDI0IGRCIGluIDMgZEIgc3RlcHMgKi8KK3N0YXRpYyBERUNMQVJFX1RMVl9EQl9TQ0FMRShwZ2FfdGx2LCAwLCAzMDAsIDApOworCisvKiBmcm9tIDAgdG8gMzAgZEIgaW4gMiBkQiBzdGVwcyAqLworc3RhdGljIERFQ0xBUkVfVExWX0RCX1NDQUxFKHZnYV90bHYsIDAsIDIwMCwgMCk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1ZGExMzgwX3NuZF9jb250cm9sc1tdID0geworCVNPQ19ET1VCTEVfVExWKCJBbmFsb2cgTWl4ZXIgVm9sdW1lIiwgVURBMTM4MF9BTUlYLCAwLCA4LCA0NCwgMSwgYW1peF90bHYpLAkvKiBBVkNSLCBBVkNMICovCisJU09DX0RPVUJMRV9UTFYoIk1hc3RlciBQbGF5YmFjayBWb2x1bWUiLCBVREExMzgwX01WT0wsIDAsIDgsIDI1MiwgMSwgbXZvbF90bHYpLAkvKiBNVkNMLCBNVkNSICovCisJU09DX1NJTkdMRV9UTFYoIkFEQyBQbGF5YmFjayBWb2x1bWUiLCBVREExMzgwX01JWFZPTCwgOCwgMjI4LCAxLCB2Y190bHYpLAkvKiBWQzIgKi8KKwlTT0NfU0lOR0xFX1RMVigiUENNIFBsYXliYWNrIFZvbHVtZSIsIFVEQTEzODBfTUlYVk9MLCAwLCAyMjgsIDEsIHZjX3RsdiksCS8qIFZDMSAqLworCVNPQ19FTlVNKCJTb3VuZCBQcm9jZXNzaW5nIEZpbHRlciIsIHVkYTEzODBfc3BmX2VudW0pLAkJCQkvKiBNICovCisJU09DX0RPVUJMRV9UTFYoIlRvbmUgQ29udHJvbCAtIFRyZWJsZSIsIFVEQTEzODBfTU9ERSwgNCwgMTIsIDMsIDAsIHRyX3RsdiksIAkvKiBUUkwsIFRSUiAqLworCVNPQ19ET1VCTEVfVExWKCJUb25lIENvbnRyb2wgLSBCYXNzIiwgVURBMTM4MF9NT0RFLCAwLCA4LCAxNSwgMCwgYmJfdGx2KSwJLyogQkJMLCBCQlIgKi8KKy8qKi8JU09DX1NJTkdMRSgiTWFzdGVyIFBsYXliYWNrIFN3aXRjaCIsIFVEQTEzODBfREVFTVAsIDE0LCAxLCAxKSwJCS8qIE1UTSAqLworCVNPQ19TSU5HTEUoIkFEQyBQbGF5YmFjayBTd2l0Y2giLCBVREExMzgwX0RFRU1QLCAxMSwgMSwgMSksCQkvKiBNVDIgZnJvbSBkZWNpbWF0aW9uIGZpbHRlciAqLworCVNPQ19FTlVNKCJBREMgUGxheWJhY2sgRGUtZW1waGFzaXMiLCB1ZGExMzgwX2RlZW1wX2VudW1bMF0pLAkJLyogREUyICovCisJU09DX1NJTkdMRSgiUENNIFBsYXliYWNrIFN3aXRjaCIsIFVEQTEzODBfREVFTVAsIDMsIDEsIDEpLAkJLyogTVQxLCBmcm9tIGRpZ2l0YWwgZGF0YSBpbnB1dCAqLworCVNPQ19FTlVNKCJQQ00gUGxheWJhY2sgRGUtZW1waGFzaXMiLCB1ZGExMzgwX2RlZW1wX2VudW1bMV0pLAkJLyogREUxICovCisJU09DX1NJTkdMRSgiREFDIFBvbGFyaXR5IGludmVydGluZyBTd2l0Y2giLCBVREExMzgwX01JWEVSLCAxNSwgMSwgMCksCS8qIERBX1BPTF9JTlYgKi8KKwlTT0NfRU5VTSgiTm9pc2UgU2hhcGVyIiwgdWRhMTM4MF9zZWxfbnNfZW51bSksCQkJCS8qIFNFTF9OUyAqLworCVNPQ19FTlVNKCJEaWdpdGFsIE1peGVyIFNpZ25hbCBDb250cm9sIiwgdWRhMTM4MF9taXhfZW51bSksCQkvKiBNSVhfUE9TLCBNSVggKi8KKwlTT0NfU0lOR0xFKCJTaWxlbmNlIFN3aXRjaCIsIFVEQTEzODBfTUlYRVIsIDcsIDEsIDApLAkJCS8qIFNJTEVOQ0UsIGZvcmNlIERBQyBvdXRwdXQgdG8gc2lsZW5jZSAqLworCVNPQ19TSU5HTEUoIlNpbGVuY2UgRGV0ZWN0b3IgU3dpdGNoIiwgVURBMTM4MF9NSVhFUiwgNiwgMSwgMCksCQkvKiBTREVUX09OICovCisJU09DX0VOVU0oIlNpbGVuY2UgRGV0ZWN0b3IgU2V0dGluZyIsIHVkYTEzODBfc2RldF9lbnVtKSwJCS8qIFNEX1ZBTFVFICovCisJU09DX0VOVU0oIk92ZXJzYW1wbGluZyBJbnB1dCIsIHVkYTEzODBfb3NfZW51bSksCQkJLyogT1MgKi8KKwlTT0NfRE9VQkxFX1M4X1RMVigiQURDIENhcHR1cmUgVm9sdW1lIiwgVURBMTM4MF9ERUMsIC0xMjgsIDQ4LCBkZWNfdGx2KSwJLyogTUxfREVDLCBNUl9ERUMgKi8KKy8qKi8JU09DX1NJTkdMRSgiQURDIENhcHR1cmUgU3dpdGNoIiwgVURBMTM4MF9QR0EsIDE1LCAxLCAxKSwJCS8qIE1UX0FEQyAqLworCVNPQ19ET1VCTEVfVExWKCJMaW5lIENhcHR1cmUgVm9sdW1lIiwgVURBMTM4MF9QR0EsIDAsIDgsIDgsIDAsIHBnYV90bHYpLCAvKiBQR0FfR0FJTkNUUkxMLCBQR0FfR0FJTkNUUkxSICovCisJU09DX1NJTkdMRSgiQURDIFBvbGFyaXR5IGludmVydGluZyBTd2l0Y2giLCBVREExMzgwX0FEQywgMTIsIDEsIDApLAkvKiBBRENQT0xfSU5WICovCisJU09DX1NJTkdMRV9UTFYoIk1pYyBDYXB0dXJlIFZvbHVtZSIsIFVEQTEzODBfQURDLCA4LCAxNSwgMCwgdmdhX3RsdiksCS8qIFZHQV9DVFJMICovCisJU09DX1NJTkdMRSgiREMgRmlsdGVyIEJ5cGFzcyBTd2l0Y2giLCBVREExMzgwX0FEQywgMSwgMSwgMCksCQkvKiBTS0lQX0RDRklMIChiZWZvcmUgZGVjaW1hdG9yKSAqLworCVNPQ19TSU5HTEUoIkRDIEZpbHRlciBFbmFibGUgU3dpdGNoIiwgVURBMTM4MF9BREMsIDAsIDEsIDApLAkJLyogRU5fRENGSUwgKGF0IG91dHB1dCBvZiBkZWNpbWF0b3IpICovCisJU09DX1NJTkdMRSgiQUdDIFRpbWluZyIsIFVEQTEzODBfQUdDLCA4LCA3LCAwKSwJCQkvKiBUT0RPOiBlbnVtLCBzZWUgdGFibGUgNjIgKi8KKwlTT0NfU0lOR0xFKCJBR0MgVGFyZ2V0IGxldmVsIiwgVURBMTM4MF9BR0MsIDIsIDMsIDEpLAkJCS8qIEFHQ19MRVZFTCAqLworCS8qIC01LjUsIC04LCAtMTEuNSwgLTE0IGRCRlMgKi8KKwlTT0NfU0lOR0xFKCJBR0MgU3dpdGNoIiwgVURBMTM4MF9BR0MsIDAsIDEsIDApLAorfTsKKworLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCitzdGF0aWMgaW50IHVkYTEzODBfYWRkX2NvbnRyb2xzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlpbnQgZXJyLCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodWRhMTM4MF9zbmRfY29udHJvbHMpOyBpKyspIHsKKwkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCisJCQlzbmRfc29jX2NuZXcoJnVkYTEzODBfc25kX2NvbnRyb2xzW2ldLCBjb2RlYywgTlVMTCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIElucHV0IG11eCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVkYTEzODBfaW5wdXRfbXV4X2NvbnRyb2wgPQorCVNPQ19EQVBNX0VOVU0oIlJvdXRlIiwgdWRhMTM4MF9pbnB1dF9zZWxfZW51bSk7CisKKy8qIE91dHB1dCBtdXggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB1ZGExMzgwX291dHB1dF9tdXhfY29udHJvbCA9CisJU09DX0RBUE1fRU5VTSgiUm91dGUiLCB1ZGExMzgwX291dHB1dF9zZWxfZW51bSk7CisKKy8qIENhcHR1cmUgbXV4ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgdWRhMTM4MF9jYXB0dXJlX211eF9jb250cm9sID0KKwlTT0NfREFQTV9FTlVNKCJSb3V0ZSIsIHVkYTEzODBfY2FwdHVyZV9zZWxfZW51bSk7CisKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHVkYTEzODBfZGFwbV93aWRnZXRzW10gPSB7CisJU05EX1NPQ19EQVBNX01VWCgiSW5wdXQgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLAorCQkmdWRhMTM4MF9pbnB1dF9tdXhfY29udHJvbCksCisJU05EX1NPQ19EQVBNX01VWCgiT3V0cHV0IE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJnVkYTEzODBfb3V0cHV0X211eF9jb250cm9sKSwKKwlTTkRfU09DX0RBUE1fTVVYKCJDYXB0dXJlIE11eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwKKwkJJnVkYTEzODBfY2FwdHVyZV9tdXhfY29udHJvbCksCisJU05EX1NPQ19EQVBNX1BHQSgiTGVmdCBQR0EiLCBVREExMzgwX1BNLCAzLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJSaWdodCBQR0EiLCBVREExMzgwX1BNLCAxLCAwLCBOVUxMLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJNaWMgTE5BIiwgVURBMTM4MF9QTSwgNCwgMCwgTlVMTCwgMCksCisJU05EX1NPQ19EQVBNX0FEQygiTGVmdCBBREMiLCAiTGVmdCBDYXB0dXJlIiwgVURBMTM4MF9QTSwgMiwgMCksCisJU05EX1NPQ19EQVBNX0FEQygiUmlnaHQgQURDIiwgIlJpZ2h0IENhcHR1cmUiLCBVREExMzgwX1BNLCAwLCAwKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlZJTk0iKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlZJTkwiKSwKKwlTTkRfU09DX0RBUE1fSU5QVVQoIlZJTlIiKSwKKwlTTkRfU09DX0RBUE1fTUlYRVIoIkFuYWxvZyBNaXhlciIsIFVEQTEzODBfUE0sIDYsIDAsIE5VTEwsIDApLAorCVNORF9TT0NfREFQTV9PVVRQVVQoIlZPVVRMSFAiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJWT1VUUkhQIiksCisJU05EX1NPQ19EQVBNX09VVFBVVCgiVk9VVEwiKSwKKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJWT1VUUiIpLAorCVNORF9TT0NfREFQTV9EQUMoIkRBQyIsICJQbGF5YmFjayIsIFVEQTEzODBfUE0sIDEwLCAwKSwKKwlTTkRfU09DX0RBUE1fUEdBKCJIZWFkUGhvbmUgRHJpdmVyIiwgVURBMTM4MF9QTSwgMTMsIDAsIE5VTEwsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisKKwkvKiBvdXRwdXQgbXV4ICovCisJeyJIZWFkUGhvbmUgRHJpdmVyIiwgTlVMTCwgIk91dHB1dCBNdXgifSwKKwl7IlZPVVRSIiwgTlVMTCwgIk91dHB1dCBNdXgifSwKKwl7IlZPVVRMIiwgTlVMTCwgIk91dHB1dCBNdXgifSwKKworCXsiQW5hbG9nIE1peGVyIiwgTlVMTCwgIlZJTlIifSwKKwl7IkFuYWxvZyBNaXhlciIsIE5VTEwsICJWSU5MIn0sCisJeyJBbmFsb2cgTWl4ZXIiLCBOVUxMLCAiREFDIn0sCisKKwl7Ik91dHB1dCBNdXgiLCAiREFDIiwgIkRBQyJ9LAorCXsiT3V0cHV0IE11eCIsICJBbmFsb2cgTWl4ZXIiLCAiQW5hbG9nIE1peGVyIn0sCisKKwkvKiB7IkRBQyIsICJEaWdpdGFsIE1peGVyIiwgIkkyUyIgfSAqLworCisJLyogaGVhZHBob25lIGRyaXZlciAqLworCXsiVk9VVExIUCIsIE5VTEwsICJIZWFkUGhvbmUgRHJpdmVyIn0sCisJeyJWT1VUUkhQIiwgTlVMTCwgIkhlYWRQaG9uZSBEcml2ZXIifSwKKworCS8qIGlucHV0IG11eCAqLworCXsiTGVmdCBBREMiLCBOVUxMLCAiSW5wdXQgTXV4In0sCisJeyJJbnB1dCBNdXgiLCAiTWljIiwgIk1pYyBMTkEifSwKKwl7IklucHV0IE11eCIsICJNaWMgKyBMaW5lIFIiLCAiTWljIExOQSJ9LAorCXsiSW5wdXQgTXV4IiwgIkxpbmUgTCIsICJMZWZ0IFBHQSJ9LAorCXsiSW5wdXQgTXV4IiwgIkxpbmUiLCAiTGVmdCBQR0EifSwKKworCS8qIHJpZ2h0IGlucHV0ICovCisJeyJSaWdodCBBREMiLCAiTWljICsgTGluZSBSIiwgIlJpZ2h0IFBHQSJ9LAorCXsiUmlnaHQgQURDIiwgIkxpbmUiLCAiUmlnaHQgUEdBIn0sCisKKwkvKiBpbnB1dHMgKi8KKwl7Ik1pYyBMTkEiLCBOVUxMLCAiVklOTSJ9LAorCXsiTGVmdCBQR0EiLCBOVUxMLCAiVklOTCJ9LAorCXsiUmlnaHQgUEdBIiwgTlVMTCwgIlZJTlIifSwKK307CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgdWRhMTM4MF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHVkYTEzODBfZGFwbV93aWRnZXRzKSk7CisKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJaW50IGlmYWNlOworCisJLyogc2V0IHVwIERBSSBiYXNlZCB1cG9uIGZtdCAqLworCWlmYWNlID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9JRkFDRSk7CisJaWZhY2UgJj0gfihSMDFfU0ZPUklfTUFTSyB8IFIwMV9TSU0gfCBSMDFfU0ZPUk9fTUFTSyk7CisKKwkvKiBGSVhNRTogaG93IHRvIHNlbGVjdCBJMlMgZm9yIERBVEFPIGFuZCBNU0IgZm9yIERBVEFJIGNvcnJlY3RseT8gKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWlmYWNlIHw9IFIwMV9TRk9SSV9JMlMgfCBSMDFfU0ZPUk9fSTJTOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xTQjoKKwkJaWZhY2UgfD0gUjAxX1NGT1JJX0xTQjE2IHwgUjAxX1NGT1JPX0kyUzsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9NU0I6CisJCWlmYWNlIHw9IFIwMV9TRk9SSV9NU0IgfCBSMDFfU0ZPUk9fSTJTOworCX0KKworCWlmICgoZm10ICYgU05EX1NPQ19EQUlGTVRfTUFTVEVSX01BU0spID09IFNORF9TT0NfREFJRk1UX0NCTV9DRk0pCisJCWlmYWNlIHw9IFIwMV9TSU07CisKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0lGQUNFLCBpZmFjZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEZsdXNoIHJlZyBjYWNoZQorICogV2UgY2FuIG9ubHkgd3JpdGUgdGhlIGludGVycG9sYXRvciBhbmQgZGVjaW1hdG9yIHJlZ2lzdGVycworICogd2hlbiB0aGUgREFJIGlzIGJlaW5nIGNsb2NrZWQgYnkgdGhlIENQVSBEQUkuIEl0J3MgdXAgdG8gdGhlCisgKiBtYWNoaW5lIGFuZCBjcHUgREFJIGRyaXZlciB0byBkbyB0aGlzIGJlZm9yZSB3ZSBhcmUgY2FsbGVkLgorICovCitzdGF0aWMgaW50IHVkYTEzODBfcGNtX3ByZXBhcmUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgcmVnLCByZWdfc3RhcnQsIHJlZ19lbmQsIGNsazsKKworCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7CisJCXJlZ19zdGFydCA9IFVEQTEzODBfTVZPTDsKKwkJcmVnX2VuZCA9IFVEQTEzODBfTUlYRVI7CisJfSBlbHNlIHsKKwkJcmVnX3N0YXJ0ID0gVURBMTM4MF9ERUM7CisJCXJlZ19lbmQgPSBVREExMzgwX0FHQzsKKwl9CisKKwkvKiBGSVhNRSBkaXNhYmxlIERBQ19DTEsgKi8KKwljbGsgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0NMSyk7CisJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIGNsayAmIH5SMDBfREFDX0NMSyk7CisKKwlmb3IgKHJlZyA9IHJlZ19zdGFydDsgcmVnIDw9IHJlZ19lbmQ7IHJlZysrKSB7CisJCXByX2RlYnVnKCJ1ZGExMzgwOiBmbHVzaCByZWcgJXggdmFsICV4OiIsIHJlZywKKwkJCQl1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCByZWcpKTsKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgcmVnLCB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCByZWcpKTsKKwl9CisKKwkvKiBGSVhNRSBlbmFibGUgREFDX0NMSyAqLworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGsgfCBSMDBfREFDX0NMSyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3BjbV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sCisJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCisJLyogc2V0IFdTUExMIHBvd2VyIGFuZCBkaXZpZGVyIGlmIHJ1bm5pbmcgZnJvbSB0aGlzIGNsb2NrICovCisJaWYgKGNsayAmIFIwMF9EQUNfQ0xLKSB7CisJCWludCByYXRlID0gcGFyYW1zX3JhdGUocGFyYW1zKTsKKwkJdTE2IHBtID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9QTSk7CisJCWNsayAmPSB+MHgzOyAvKiBjbGVhciBTRUxfTE9PUF9ESVYgKi8KKwkJc3dpdGNoIChyYXRlKSB7CisJCWNhc2UgNjI1MCAuLi4gMTI1MDA6CisJCQljbGsgfD0gMHgwOworCQkJYnJlYWs7CisJCWNhc2UgMTI1MDEgLi4uIDI1MDAwOgorCQkJY2xrIHw9IDB4MTsKKwkJCWJyZWFrOworCQljYXNlIDI1MDAxIC4uLiA1MDAwMDoKKwkJCWNsayB8PSAweDI7CisJCQlicmVhazsKKwkJY2FzZSA1MDAwMSAuLi4gMTAwMDAwOgorCQkJY2xrIHw9IDB4MzsKKwkJCWJyZWFrOworCQl9CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIFIwMl9QT05fUExMIHwgcG0pOworCX0KKworCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQorCQljbGsgfD0gUjAwX0VOX0RBQyB8IFIwMF9FTl9JTlQ7CisJZWxzZQorCQljbGsgfD0gUjAwX0VOX0FEQyB8IFIwMF9FTl9ERUM7CisKKwl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0NMSywgY2xrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdWRhMTM4MF9wY21fc2h1dGRvd24oc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCit7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwl1MTYgY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCisJLyogc2h1dCBkb3duIFdTUExMIHBvd2VyIGlmIHJ1bm5pbmcgZnJvbSB0aGlzIGNsb2NrICovCisJaWYgKGNsayAmIFIwMF9EQUNfQ0xLKSB7CisJCXUxNiBwbSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfUE0pOworCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCB+UjAyX1BPTl9QTEwgJiBwbSk7CisJfQorCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCisJCWNsayAmPSB+KFIwMF9FTl9EQUMgfCBSMDBfRU5fSU5UKTsKKwllbHNlCisJCWNsayAmPSB+KFIwMF9FTl9BREMgfCBSMDBfRU5fREVDKTsKKworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGspOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwgaW50IG11dGUpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwl1MTYgbXV0ZV9yZWcgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBVREExMzgwX0RFRU1QKSAmIH5SMTNfTVRNOworCisJLyogRklYTUU6IG11dGUoY29kZWMsMCkgaXMgY2FsbGVkIHdoZW4gdGhlIG1hZ2ljaWFuIGNsb2NrIGlzIGFscmVhZHkKKwkgKiBzZXQgdG8gV1NQTEwsIGJ1dCBmb3Igc29tZSB1bmtub3duIHJlYXNvbiB3cml0aW5nIHRvIGludGVycG9sYXRvcgorCSAqIHJlZ2lzdGVycyB3b3JrcyBvbmx5IHdoZW4gY2xvY2tlZCBieSBTWVNDTEsgKi8KKwl1MTYgY2xrID0gdWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9DTEspOworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCB+UjAwX0RBQ19DTEsgJiBjbGspOworCWlmIChtdXRlKQorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX0RFRU1QLCBtdXRlX3JlZyB8IFIxM19NVE0pOworCWVsc2UKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9ERUVNUCwgbXV0ZV9yZWcpOworCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfQ0xLLCBjbGspOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQoreworCWludCBwbSA9IHVkYTEzODBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFVEQTEzODBfUE0pOworCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIFIwMl9QT05fQklBUyB8IHBtKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgUjAyX1BPTl9CSUFTKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgorCQl1ZGExMzgwX3dyaXRlKGNvZGVjLCBVREExMzgwX1BNLCAweDApOworCQlicmVhazsKKwl9CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBVREExMzgwX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwkJICAgICAgIFNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfFwKKwkJICAgICAgIFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCisKK3N0cnVjdCBzbmRfc29jX2RhaSB1ZGExMzgwX2RhaVtdID0geworeworCS5uYW1lID0gIlVEQTEzODAiLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLH0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHVkYTEzODBfcGNtX2h3X3BhcmFtcywKKwkJLnNodXRkb3duID0gdWRhMTM4MF9wY21fc2h1dGRvd24sCisJCS5wcmVwYXJlID0gdWRhMTM4MF9wY21fcHJlcGFyZSwKKwl9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gdWRhMTM4MF9tdXRlLAorCQkuc2V0X2ZtdCA9IHVkYTEzODBfc2V0X2RhaV9mbXQsCisJfSwKK30sCit7IC8qIHBsYXliYWNrIG9ubHkgLSBkdWFsIGludGVyZmFjZSAqLworCS5uYW1lID0gIlVEQTEzODAiLAorCS5wbGF5YmFjayA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIlBsYXliYWNrIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBVREExMzgwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFLAorCX0sCisJLm9wcyA9IHsKKwkJLmh3X3BhcmFtcyA9IHVkYTEzODBfcGNtX2h3X3BhcmFtcywKKwkJLnNodXRkb3duID0gdWRhMTM4MF9wY21fc2h1dGRvd24sCisJCS5wcmVwYXJlID0gdWRhMTM4MF9wY21fcHJlcGFyZSwKKwl9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gdWRhMTM4MF9tdXRlLAorCQkuc2V0X2ZtdCA9IHVkYTEzODBfc2V0X2RhaV9mbXQsCisJfSwKK30sCit7IC8qIGNhcHR1cmUgb25seSAtIGR1YWwgaW50ZXJmYWNlKi8KKwkubmFtZSA9ICJVREExMzgwIiwKKwkuY2FwdHVyZSA9IHsKKwkJLnN0cmVhbV9uYW1lID0gIkNhcHR1cmUiLAorCQkuY2hhbm5lbHNfbWluID0gMSwKKwkJLmNoYW5uZWxzX21heCA9IDIsCisJCS5yYXRlcyA9IFVEQTEzODBfUkFURVMsCisJCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsCisJfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gdWRhMTM4MF9wY21faHdfcGFyYW1zLAorCQkuc2h1dGRvd24gPSB1ZGExMzgwX3BjbV9zaHV0ZG93biwKKwkJLnByZXBhcmUgPSB1ZGExMzgwX3BjbV9wcmVwYXJlLAorCX0sCisJLmRhaV9vcHMgPSB7CisJCS5zZXRfZm10ID0gdWRhMTM4MF9zZXRfZGFpX2ZtdCwKKwl9LAorfSwKK307CitFWFBPUlRfU1lNQk9MX0dQTCh1ZGExMzgwX2RhaSk7CisKK3N0YXRpYyBpbnQgdWRhMTM4MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgaTsKKwl1OCBkYXRhWzJdOworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCisJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh1ZGExMzgwX3JlZyk7IGkrKykgeworCQlkYXRhWzBdID0gKGkgPDwgMSkgfCAoKGNhY2hlW2ldID4+IDgpICYgMHgwMDAxKTsKKwkJZGF0YVsxXSA9IGNhY2hlW2ldICYgMHgwMGZmOworCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CisJfQorCXVkYTEzODBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKKwl1ZGExMzgwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGluaXRpYWxpc2UgdGhlIFVEQTEzODAgZHJpdmVyCisgKiByZWdpc3RlciBtaXhlciBhbmQgZHNwIGludGVyZmFjZXMgd2l0aCB0aGUga2VybmVsCisgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2LCBpbnQgZGFjX2NsaykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCWludCByZXQgPSAwOworCisJY29kZWMtPm5hbWUgPSAiVURBMTM4MCI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSB1ZGExMzgwX3JlYWRfcmVnX2NhY2hlOworCWNvZGVjLT53cml0ZSA9IHVkYTEzODBfd3JpdGU7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gdWRhMTM4MF9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gdWRhMTM4MF9kYWk7CisJY29kZWMtPm51bV9kYWkgPSBBUlJBWV9TSVpFKHVkYTEzODBfZGFpKTsKKwljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh1ZGExMzgwX3JlZywgc2l6ZW9mKHVkYTEzODBfcmVnKSwKKwkJCQkgICBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMtPnJlZ19jYWNoZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKwljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBBUlJBWV9TSVpFKHVkYTEzODBfcmVnKTsKKwljb2RlYy0+cmVnX2NhY2hlX3N0ZXAgPSAxOworCXVkYTEzODBfcmVzZXQoY29kZWMpOworCisJLyogcmVnaXN0ZXIgcGNtcyAqLworCXJldCA9IHNuZF9zb2NfbmV3X3BjbXMoc29jZGV2LCBTTkRSVl9ERUZBVUxUX0lEWDEsIFNORFJWX0RFRkFVTFRfU1RSMSk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogcG93ZXIgb24gZGV2aWNlICovCisJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCS8qIHNldCBjbG9jayBpbnB1dCAqLworCXN3aXRjaCAoZGFjX2NsaykgeworCWNhc2UgVURBMTM4MF9EQUNfQ0xLX1NZU0NMSzoKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIDApOworCQlicmVhazsKKwljYXNlIFVEQTEzODBfREFDX0NMS19XU1BMTDoKKwkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9DTEssIFIwMF9EQUNfQ0xLKTsKKwkJYnJlYWs7CisJfQorCisJLyogdWRhMTM4MCBpbml0ICovCisJdWRhMTM4MF9hZGRfY29udHJvbHMoY29kZWMpOworCXVkYTEzODBfYWRkX3dpZGdldHMoY29kZWMpOworCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOworCWlmIChyZXQgPCAwKSB7CisJCXByX2VycigidWRhMTM4MDogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKworCXJldHVybiByZXQ7CisKK2NhcmRfZXJyOgorCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKK3BjbV9lcnI6CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2RldmljZSAqdWRhMTM4MF9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKyNkZWZpbmUgSTJDX0RSSVZFUklEX1VEQTEzODAgMHhmZWZlIC8qIGxpYW0gLSAgbmVlZCBhIHByb3BlciBpZCAqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB1ZGExMzgwX2kyY19kcml2ZXI7CitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlOworCisvKiBJZiB0aGUgaTJjIGxheWVyIHdlcmVuJ3Qgc28gYnJva2VuLCB3ZSBjb3VsZCBwYXNzIHRoaXMga2luZCBvZiBkYXRhCisgICBhcm91bmQgKi8KKworc3RhdGljIGludCB1ZGExMzgwX2NvZGVjX3Byb2JlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gdWRhMTM4MF9zb2NkZXY7CisJc3RydWN0IHVkYTEzODBfc2V0dXBfZGF0YSAqc2V0dXAgPSBzb2NkZXYtPmNvZGVjX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjOworCWludCByZXQ7CisKKwlpZiAoYWRkciAhPSBzZXR1cC0+aTJjX2FkZHJlc3MpCisJCXJldHVybiAtRU5PREVWOworCisJY2xpZW50X3RlbXBsYXRlLmFkYXB0ZXIgPSBhZGFwOworCWNsaWVudF90ZW1wbGF0ZS5hZGRyID0gYWRkcjsKKworCWkyYyA9IGttZW1kdXAoJmNsaWVudF90ZW1wbGF0ZSwgc2l6ZW9mKGNsaWVudF90ZW1wbGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChpMmMgPT0gTlVMTCkgeworCQlrZnJlZShjb2RlYyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBjb2RlYyk7CisJY29kZWMtPmNvbnRyb2xfZGF0YSA9IGkyYzsKKworCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlnb3RvIGVycjsKKwl9CisKKwlyZXQgPSB1ZGExMzgwX2luaXQoc29jZGV2LCBzZXR1cC0+ZGFjX2Nsayk7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJ1ZGExMzgwOiBmYWlsZWQgdG8gaW5pdGlhbGlzZSBVREExMzgwXG4iKTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiByZXQ7CisKK2VycjoKKwlrZnJlZShjb2RlYyk7CisJa2ZyZWUoaTJjKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHVkYTEzODBfaTJjX2RldGFjaChzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGkyY19nZXRfY2xpZW50ZGF0YShjbGllbnQpOworCWkyY19kZXRhY2hfY2xpZW50KGNsaWVudCk7CisJa2ZyZWUoY29kZWMtPnJlZ19jYWNoZSk7CisJa2ZyZWUoY2xpZW50KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1ZGExMzgwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgdWRhMTM4MF9jb2RlY19wcm9iZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB1ZGExMzgwX2kyY19kcml2ZXIgPSB7CisJLmRyaXZlciA9IHsKKwkJLm5hbWUgPSAgIlVEQTEzODAgSTJDIENvZGVjIiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkuaWQgPSAgICAgICAgICAgICBJMkNfRFJJVkVSSURfVURBMTM4MCwKKwkuYXR0YWNoX2FkYXB0ZXIgPSB1ZGExMzgwX2kyY19hdHRhY2gsCisJLmRldGFjaF9jbGllbnQgPSAgdWRhMTM4MF9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiVURBMTM4MCIsCisJLmRyaXZlciA9ICZ1ZGExMzgwX2kyY19kcml2ZXIsCit9OworI2VuZGlmCisKK3N0YXRpYyBpbnQgdWRhMTM4MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHVkYTEzODBfc2V0dXBfZGF0YSAqc2V0dXA7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjOworCWludCByZXQgPSAwOworCisJcHJfaW5mbygiVURBMTM4MCBBdWRpbyBDb2RlYyAlcyIsIFVEQTEzODBfVkVSU0lPTik7CisKKwlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisKKwl1ZGExMzgwX3NvY2RldiA9IHNvY2RldjsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgeworCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOworCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdClpMmNfbWFzdGVyX3NlbmQ7CisJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZ1ZGExMzgwX2kyY19kcml2ZXIpOworCQlpZiAocmV0ICE9IDApCisJCQlwcmludGsoS0VSTl9FUlIgImNhbid0IGFkZCBpMmMgZHJpdmVyIik7CisJfQorI2Vsc2UKKwkvKiBBZGQgb3RoZXIgaW50ZXJmYWNlcyBoZXJlICovCisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBkb3duIGNoaXAgKi8KK3N0YXRpYyBpbnQgdWRhMTM4MF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJdWRhMTM4MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CisjaWYgZGVmaW5lZChDT05GSUdfSTJDKSB8fCBkZWZpbmVkKENPTkZJR19JMkNfTU9EVUxFKQorCWkyY19kZWxfZHJpdmVyKCZ1ZGExMzgwX2kyY19kcml2ZXIpOworI2VuZGlmCisJa2ZyZWUoY29kZWMpOworCisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3VkYTEzODAgPSB7CisJLnByb2JlID0gCXVkYTEzODBfcHJvYmUsCisJLnJlbW92ZSA9IAl1ZGExMzgwX3JlbW92ZSwKKwkuc3VzcGVuZCA9IAl1ZGExMzgwX3N1c3BlbmQsCisJLnJlc3VtZSA9CXVkYTEzODBfcmVzdW1lLAorfTsKK0VYUE9SVF9TWU1CT0xfR1BMKHNvY19jb2RlY19kZXZfdWRhMTM4MCk7CisKK01PRFVMRV9BVVRIT1IoIkdpb3JnaW8gUGFkcmluIik7CitNT0RVTEVfREVTQ1JJUFRJT04oIkF1ZGlvIHN1cHBvcnQgZm9yIGNvZGVjIFBoaWxpcHMgVURBMTM4MCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmggYi9zb3VuZC9zb2MvY29kZWNzL3VkYTEzODAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGM2MDNlCi0tLSAvZGV2L251bGwKKysrIGIvc291bmQvc29jL2NvZGVjcy91ZGExMzgwLmgKQEAgLTAsMCArMSw4OSBAQAorLyoKKyAqIEF1ZGlvIHN1cHBvcnQgZm9yIFBoaWxpcHMgVURBMTM4MAorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA1IEdpb3JnaW8gUGFkcmluIDxnaW9yZ2lvQG1hbmRhcmlubG9naXEub3JnPgorICovCisKKyNpZm5kZWYgX1VEQTEzODBfSAorI2RlZmluZSBfVURBMTM4MF9ICisKKyNkZWZpbmUgVURBMTM4MF9DTEsJMHgwMAorI2RlZmluZSBVREExMzgwX0lGQUNFCTB4MDEKKyNkZWZpbmUgVURBMTM4MF9QTQkweDAyCisjZGVmaW5lIFVEQTEzODBfQU1JWAkweDAzCisjZGVmaW5lIFVEQTEzODBfSFAJMHgwNAorI2RlZmluZSBVREExMzgwX01WT0wJMHgxMAorI2RlZmluZSBVREExMzgwX01JWFZPTAkweDExCisjZGVmaW5lIFVEQTEzODBfTU9ERQkweDEyCisjZGVmaW5lIFVEQTEzODBfREVFTVAJMHgxMworI2RlZmluZSBVREExMzgwX01JWEVSCTB4MTQKKyNkZWZpbmUgVURBMTM4MF9JTlRTVEFUCTB4MTgKKyNkZWZpbmUgVURBMTM4MF9ERUMJMHgyMAorI2RlZmluZSBVREExMzgwX1BHQQkweDIxCisjZGVmaW5lIFVEQTEzODBfQURDCTB4MjIKKyNkZWZpbmUgVURBMTM4MF9BR0MJMHgyMworI2RlZmluZSBVREExMzgwX0RFQ1NUQVQJMHgyOAorI2RlZmluZSBVREExMzgwX1JFU0VUCTB4N2YKKworI2RlZmluZSBVREExMzgwX0NBQ0hFUkVHTlVNIDB4MjQKKworLyogUmVnaXN0ZXIgZmxhZ3MgKi8KKyNkZWZpbmUgUjAwX0VOX0FEQwkweDA4MDAKKyNkZWZpbmUgUjAwX0VOX0RFQwkweDA0MDAKKyNkZWZpbmUgUjAwX0VOX0RBQwkweDAyMDAKKyNkZWZpbmUgUjAwX0VOX0lOVAkweDAxMDAKKyNkZWZpbmUgUjAwX0RBQ19DTEsJMHgwMDEwCisjZGVmaW5lIFIwMV9TRk9SSV9JMlMgICAweDAwMDAKKyNkZWZpbmUgUjAxX1NGT1JJX0xTQjE2IDB4MDEwMAorI2RlZmluZSBSMDFfU0ZPUklfTFNCMTggMHgwMjAwCisjZGVmaW5lIFIwMV9TRk9SSV9MU0IyMCAweDAzMDAKKyNkZWZpbmUgUjAxX1NGT1JJX01TQiAgIDB4MDUwMAorI2RlZmluZSBSMDFfU0ZPUklfTUFTSyAgMHgwNzAwCisjZGVmaW5lIFIwMV9TRk9ST19JMlMgICAweDAwMDAKKyNkZWZpbmUgUjAxX1NGT1JPX0xTQjE2IDB4MDAwMQorI2RlZmluZSBSMDFfU0ZPUk9fTFNCMTggMHgwMDAyCisjZGVmaW5lIFIwMV9TRk9ST19MU0IyMCAweDAwMDMKKyNkZWZpbmUgUjAxX1NGT1JPX0xTQjI0IDB4MDAwNAorI2RlZmluZSBSMDFfU0ZPUk9fTVNCICAgMHgwMDA1CisjZGVmaW5lIFIwMV9TRk9ST19NQVNLICAweDAwMDcKKyNkZWZpbmUgUjAxX1NFTF9TT1VSQ0UgIDB4MDA0MAorI2RlZmluZSBSMDFfU0lNCQkweDAwMTAKKyNkZWZpbmUgUjAyX1BPTl9QTEwJMHg4MDAwCisjZGVmaW5lIFIwMl9QT05fSFAJMHgyMDAwCisjZGVmaW5lIFIwMl9QT05fREFDCTB4MDQwMAorI2RlZmluZSBSMDJfUE9OX0JJQVMJMHgwMTAwCisjZGVmaW5lIFIwMl9FTl9BVkMJMHgwMDgwCisjZGVmaW5lIFIwMl9QT05fQVZDCTB4MDA0MAorI2RlZmluZSBSMDJfUE9OX0xOQQkweDAwMTAKKyNkZWZpbmUgUjAyX1BPTl9QR0FMCTB4MDAwOAorI2RlZmluZSBSMDJfUE9OX0FEQ0wJMHgwMDA0CisjZGVmaW5lIFIwMl9QT05fUEdBUgkweDAwMDIKKyNkZWZpbmUgUjAyX1BPTl9BRENSCTB4MDAwMQorI2RlZmluZSBSMTNfTVRNCQkweDQwMDAKKyNkZWZpbmUgUjE0X1NJTEVOQ0UJMHgwMDgwCisjZGVmaW5lIFIxNF9TREVUX09OCTB4MDA0MAorI2RlZmluZSBSMjFfTVRfQURDCTB4ODAwMAorI2RlZmluZSBSMjJfU0VMX0xOQQkweDAwMDgKKyNkZWZpbmUgUjIyX1NFTF9NSUMJMHgwMDA0CisjZGVmaW5lIFIyMl9TS0lQX0RDRklMCTB4MDAwMgorI2RlZmluZSBSMjNfQUdDX0VOCTB4MDAwMQorCitzdHJ1Y3QgdWRhMTM4MF9zZXR1cF9kYXRhIHsKKwl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKKwlpbnQgICAgICAgICAgICBkYWNfY2xrOworI2RlZmluZSBVREExMzgwX0RBQ19DTEtfU1lTQ0xLIDAKKyNkZWZpbmUgVURBMTM4MF9EQUNfQ0xLX1dTUExMICAxCit9OworCisjZGVmaW5lIFVEQTEzODBfREFJX0RVUExFWAkwIC8qIHBsYXliYWNrIGFuZCBjYXB0dXJlIG9uIHNpbmdsZSBEQUkgKi8KKyNkZWZpbmUgVURBMTM4MF9EQUlfUExBWUJBQ0sJMSAvKiBwbGF5YmFjayBEQUkgKi8KKyNkZWZpbmUgVURBMTM4MF9EQUlfQ0FQVFVSRQkyIC8qIGNhcHR1cmUgREFJICovCisKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgdWRhMTM4MF9kYWlbM107CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfdWRhMTM4MDsKKworI2VuZGlmIC8qIF9VREExMzgwX0ggKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MzI1ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODUxMC5jCkBAIC0wLDAgKzEsODE3IEBACisvKgorICogd204NTEwLmMgIC0tICBXTTg1MTAgQUxTQSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDYgV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqCisgKiBBdXRob3I6IExpYW0gR2lyZHdvb2QgPGxpYW0uZ2lyZHdvb2RAd29sZnNvbm1pY3JvLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKworI2luY2x1ZGUgIndtODUxMC5oIgorCisjZGVmaW5lIEFVRElPX05BTUUgIndtODUxMCIKKyNkZWZpbmUgV004NTEwX1ZFUlNJT04gIjAuNiIKKworc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NTEwOworCisvKgorICogd204NTEwIHJlZ2lzdGVyIGNhY2hlCisgKiBXZSBjYW4ndCByZWFkIHRoZSBXTTg1MTAgcmVnaXN0ZXIgc3BhY2Ugd2hlbiB3ZSBhcmUKKyAqIHVzaW5nIDIgd2lyZSBmb3IgZGV2aWNlIGNvbnRyb2wsIHNvIHdlIGNhY2hlIHRoZW0gaW5zdGVhZC4KKyAqLworc3RhdGljIGNvbnN0IHUxNiB3bTg1MTBfcmVnW1dNODUxMF9DQUNIRVJFR05VTV0gPSB7CisJMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDA1MCwgMHgwMDAwLCAweDAxNDAsIDB4MDAwMCwKKwkweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCAweDAwZmYsCisJMHgwMDAwLCAweDAwMDAsIDB4MDEwMCwgMHgwMGZmLAorCTB4MDAwMCwgMHgwMDAwLCAweDAxMmMsIDB4MDAyYywKKwkweDAwMmMsIDB4MDAyYywgMHgwMDJjLCAweDAwMDAsCisJMHgwMDMyLCAweDAwMDAsIDB4MDAwMCwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMzgsIDB4MDAwYiwgMHgwMDMyLCAweDAwMDAsCisJMHgwMDA4LCAweDAwMGMsIDB4MDA5MywgMHgwMGU5LAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAwMCwKKwkweDAwMDMsIDB4MDAxMCwgMHgwMDAwLCAweDAwMDAsCisJMHgwMDAwLCAweDAwMDIsIDB4MDAwMSwgMHgwMDAwLAorCTB4MDAwMCwgMHgwMDAwLCAweDAwMzksIDB4MDAwMCwKKwkweDAwMDEsCit9OworCisvKgorICogcmVhZCB3bTg1MTAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgd204NTEwX3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCWlmIChyZWcgPT0gV004NTEwX1JFU0VUKQorCQlyZXR1cm4gMDsKKwlpZiAocmVnID49IFdNODUxMF9DQUNIRVJFR05VTSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBjYWNoZVtyZWddOworfQorCisvKgorICogd3JpdGUgd204NTEwIHJlZ2lzdGVyIGNhY2hlCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB3bTg1MTBfd3JpdGVfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1MTYgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTE2ICpjYWNoZSA9IGNvZGVjLT5yZWdfY2FjaGU7CisJaWYgKHJlZyA+PSBXTTg1MTBfQ0FDSEVSRUdOVU0pCisJCXJldHVybjsKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgV004NTEwIHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgd204NTEwX3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwl1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTggZGF0YVsyXTsKKworCS8qIGRhdGEgaXMKKwkgKiAgIEQxNS4uRDkgV004NTEwIHJlZ2lzdGVyIG9mZnNldAorCSAqICAgRDguLi5EMCByZWdpc3RlciBkYXRhCisJICovCisJZGF0YVswXSA9IChyZWcgPDwgMSkgfCAoKHZhbHVlID4+IDgpICYgMHgwMDAxKTsKKwlkYXRhWzFdID0gdmFsdWUgJiAweDAwZmY7CisKKwl3bTg1MTBfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKwlpZiAoY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpID09IDIpCisJCXJldHVybiAwOworCWVsc2UKKwkJcmV0dXJuIC1FSU87Cit9CisKKyNkZWZpbmUgd204NTEwX3Jlc2V0KGMpCXdtODUxMF93cml0ZShjLCBXTTg1MTBfUkVTRVQsIDApCisKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg1MTBfY29tcGFuZGluZ1tdID0geyAiT2ZmIiwgIk5DIiwgInUtbGF3IiwgIkEtbGF3IiB9Oworc3RhdGljIGNvbnN0IGNoYXIgKndtODUxMF9kZWVtcFtdID0geyAiTm9uZSIsICIzMmtIeiIsICI0NC4xa0h6IiwgIjQ4a0h6IiB9Oworc3RhdGljIGNvbnN0IGNoYXIgKndtODUxMF9hbGNbXSA9IHsgIkFMQyIsICJMaW1pdGVyIiB9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODUxMF9lbnVtW10gPSB7CisJU09DX0VOVU1fU0lOR0xFKFdNODUxMF9DT01QLCAxLCA0LCB3bTg1MTBfY29tcGFuZGluZyksIC8qIGFkYyAqLworCVNPQ19FTlVNX1NJTkdMRShXTTg1MTBfQ09NUCwgMywgNCwgd204NTEwX2NvbXBhbmRpbmcpLCAvKiBkYWMgKi8KKwlTT0NfRU5VTV9TSU5HTEUoV004NTEwX0RBQywgIDQsIDQsIHdtODUxMF9kZWVtcCksCisJU09DX0VOVU1fU0lOR0xFKFdNODUxMF9BTEMzLCAgOCwgMiwgd204NTEwX2FsYyksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX3NuZF9jb250cm9sc1tdID0geworCitTT0NfU0lOR0xFKCJEaWdpdGFsIExvb3BiYWNrIFN3aXRjaCIsIFdNODUxMF9DT01QLCAwLCAxLCAwKSwKKworU09DX0VOVU0oIkRBQyBDb21wYW5kaW5nIiwgd204NTEwX2VudW1bMV0pLAorU09DX0VOVU0oIkFEQyBDb21wYW5kaW5nIiwgd204NTEwX2VudW1bMF0pLAorCitTT0NfRU5VTSgiUGxheWJhY2sgRGUtZW1waGFzaXMiLCB3bTg1MTBfZW51bVsyXSksCitTT0NfU0lOR0xFKCJEQUMgSW52ZXJzaW9uIFN3aXRjaCIsIFdNODUxMF9EQUMsIDAsIDEsIDApLAorCitTT0NfU0lOR0xFKCJNYXN0ZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NTEwX0RBQ1ZPTCwgMCwgMTI3LCAwKSwKKworU09DX1NJTkdMRSgiSGlnaCBQYXNzIEZpbHRlciBTd2l0Y2giLCBXTTg1MTBfQURDLCA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkhpZ2ggUGFzcyBDdXQgT2ZmIiwgV004NTEwX0FEQywgNCwgNywgMCksCitTT0NfU0lOR0xFKCJBREMgSW52ZXJzaW9uIFN3aXRjaCIsIFdNODUxMF9DT01QLCAwLCAxLCAwKSwKKworU09DX1NJTkdMRSgiQ2FwdHVyZSBWb2x1bWUiLCBXTTg1MTBfQURDVk9MLCAgMCwgMTI3LCAwKSwKKworU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgU3dpdGNoIiwgV004NTEwX0RBQ0xJTTEsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIERlY2F5IiwgV004NTEwX0RBQ0xJTTEsICA0LCAxNSwgMCksCitTT0NfU0lOR0xFKCJEQUMgUGxheWJhY2sgTGltaXRlciBBdHRhY2siLCBXTTg1MTBfREFDTElNMSwgIDAsIDE1LCAwKSwKKworU09DX1NJTkdMRSgiREFDIFBsYXliYWNrIExpbWl0ZXIgVGhyZXNob2xkIiwgV004NTEwX0RBQ0xJTTIsICA0LCA3LCAwKSwKK1NPQ19TSU5HTEUoIkRBQyBQbGF5YmFjayBMaW1pdGVyIEJvb3N0IiwgV004NTEwX0RBQ0xJTTIsICAwLCAxNSwgMCksCisKK1NPQ19TSU5HTEUoIkFMQyBFbmFibGUgU3dpdGNoIiwgV004NTEwX0FMQzEsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIE1heCBHYWluIiwgV004NTEwX0FMQzEsICAzLCA3LCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIE1pbiBHYWluIiwgV004NTEwX0FMQzEsICAwLCA3LCAwKSwKKworU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgWkMgU3dpdGNoIiwgV004NTEwX0FMQzIsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIEhvbGQiLCBXTTg1MTBfQUxDMiwgIDQsIDcsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgVGFyZ2V0IiwgV004NTEwX0FMQzIsICAwLCAxNSwgMCksCisKK1NPQ19FTlVNKCJBTEMgQ2FwdHVyZSBNb2RlIiwgd204NTEwX2VudW1bM10pLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgRGVjYXkiLCBXTTg1MTBfQUxDMywgIDQsIDE1LCAwKSwKK1NPQ19TSU5HTEUoIkFMQyBDYXB0dXJlIEF0dGFjayIsIFdNODUxMF9BTEMzLCAgMCwgMTUsIDApLAorCitTT0NfU0lOR0xFKCJBTEMgQ2FwdHVyZSBOb2lzZSBHYXRlIFN3aXRjaCIsIFdNODUxMF9OR0FURSwgIDMsIDEsIDApLAorU09DX1NJTkdMRSgiQUxDIENhcHR1cmUgTm9pc2UgR2F0ZSBUaHJlc2hvbGQiLCBXTTg1MTBfTkdBVEUsICAwLCA3LCAwKSwKKworU09DX1NJTkdMRSgiQ2FwdHVyZSBQR0EgWkMgU3dpdGNoIiwgV004NTEwX0lOUFBHQSwgIDcsIDEsIDApLAorU09DX1NJTkdMRSgiQ2FwdHVyZSBQR0EgVm9sdW1lIiwgV004NTEwX0lOUFBHQSwgIDAsIDYzLCAwKSwKKworU09DX1NJTkdMRSgiU3BlYWtlciBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg1MTBfU1BLVk9MLCAgNywgMSwgMCksCitTT0NfU0lOR0xFKCJTcGVha2VyIFBsYXliYWNrIFN3aXRjaCIsIFdNODUxMF9TUEtWT0wsICA2LCAxLCAxKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NTEwX1NQS1ZPTCwgIDAsIDYzLCAwKSwKK1NPQ19TSU5HTEUoIlNwZWFrZXIgQm9vc3QiLCBXTTg1MTBfT1VUUFVULCAyLCAxLCAwKSwKKworU09DX1NJTkdMRSgiQ2FwdHVyZSBCb29zdCgrMjBkQikiLCBXTTg1MTBfQURDQk9PU1QsICA4LCAxLCAwKSwKK1NPQ19TSU5HTEUoIk1vbm8gUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDYsIDEsIDEpLAorfTsKKworLyogYWRkIG5vbiBkYXBtIGNvbnRyb2xzICovCitzdGF0aWMgaW50IHdtODUxMF9hZGRfY29udHJvbHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCWludCBlcnIsIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg1MTBfc25kX2NvbnRyb2xzKTsgaSsrKSB7CisJCWVyciA9IHNuZF9jdGxfYWRkKGNvZGVjLT5jYXJkLAorCQkJCXNuZF9zb2NfY25ldygmd204NTEwX3NuZF9jb250cm9sc1tpXSwgY29kZWMsCisJCQkJCU5VTEwpKTsKKwkJaWYgKGVyciA8IDApCisJCQlyZXR1cm4gZXJyOworCX0KKworCXJldHVybiAwOworfQorCisvKiBTcGVha2VyIE91dHB1dCBNaXhlciAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9zcGVha2VyX21peGVyX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxpbmUgQnlwYXNzIFN3aXRjaCIsIFdNODUxMF9TUEtNSVgsIDEsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX1NQS01JWCwgNSwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlBDTSBQbGF5YmFjayBTd2l0Y2giLCBXTTg1MTBfU1BLTUlYLCAwLCAxLCAwKSwKK307CisKKy8qIE1vbm8gT3V0cHV0IE1peGVyICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NTEwX21vbm9fbWl4ZXJfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTGluZSBCeXBhc3MgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDEsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJBdXggUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDIsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJQQ00gUGxheWJhY2sgU3dpdGNoIiwgV004NTEwX01PTk9NSVgsIDAsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9ib29zdF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJNaWMgUEdBIFN3aXRjaCIsIFdNODUxMF9JTlBQR0EsICA2LCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiQXV4IFZvbHVtZSIsIFdNODUxMF9BRENCT09TVCwgMCwgNywgMCksCitTT0NfREFQTV9TSU5HTEUoIk1pYyBWb2x1bWUiLCBXTTg1MTBfQURDQk9PU1QsIDQsIDcsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODUxMF9taWNwZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTUlDUCBTd2l0Y2giLCBXTTg1MTBfSU5QVVQsIDAsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJNSUNOIFN3aXRjaCIsIFdNODUxMF9JTlBVVCwgMSwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkFVWCBTd2l0Y2giLCBXTTg1MTBfSU5QVVQsIDIsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHdtODUxMF9kYXBtX3dpZGdldHNbXSA9IHsKK1NORF9TT0NfREFQTV9NSVhFUigiU3BlYWtlciBNaXhlciIsIFdNODUxMF9QT1dFUjMsIDIsIDAsCisJJndtODUxMF9zcGVha2VyX21peGVyX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204NTEwX3NwZWFrZXJfbWl4ZXJfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiTW9ubyBNaXhlciIsIFdNODUxMF9QT1dFUjMsIDMsIDAsCisJJndtODUxMF9tb25vX21peGVyX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204NTEwX21vbm9fbWl4ZXJfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9EQUMoIkRBQyIsICJIaUZpIFBsYXliYWNrIiwgV004NTEwX1BPV0VSMywgMCwgMCksCitTTkRfU09DX0RBUE1fQURDKCJBREMiLCAiSGlGaSBDYXB0dXJlIiwgV004NTEwX1BPV0VSMiwgMCwgMCksCitTTkRfU09DX0RBUE1fUEdBKCJBdXggSW5wdXQiLCBXTTg1MTBfUE9XRVIxLCA2LCAwLCBOVUxMLCAwKSwKK1NORF9TT0NfREFQTV9QR0EoIlNwa04gT3V0IiwgV004NTEwX1BPV0VSMywgNSwgMCwgTlVMTCwgMCksCitTTkRfU09DX0RBUE1fUEdBKCJTcGtQIE91dCIsIFdNODUxMF9QT1dFUjMsIDYsIDAsIE5VTEwsIDApLAorU05EX1NPQ19EQVBNX1BHQSgiTW9ubyBPdXQiLCBXTTg1MTBfUE9XRVIzLCA3LCAwLCBOVUxMLCAwKSwKKworU05EX1NPQ19EQVBNX1BHQSgiTWljIFBHQSIsIFdNODUxMF9QT1dFUjIsIDIsIDAsCisJCSAmd204NTEwX21pY3BnYV9jb250cm9sc1swXSwKKwkJIEFSUkFZX1NJWkUod204NTEwX21pY3BnYV9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJCb29zdCBNaXhlciIsIFdNODUxMF9QT1dFUjIsIDQsIDAsCisJJndtODUxMF9ib29zdF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODUxMF9ib29zdF9jb250cm9scykpLAorCitTTkRfU09DX0RBUE1fTUlDQklBUygiTWljIEJpYXMiLCBXTTg1MTBfUE9XRVIxLCA0LCAwKSwKKworU05EX1NPQ19EQVBNX0lOUFVUKCJNSUNOIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIk1JQ1AiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiQVVYIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJNT05PT1VUIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtPVVRQIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtPVVROIiksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKKwkvKiBNb25vIG91dHB1dCBtaXhlciAqLworCXsiTW9ubyBNaXhlciIsICJQQ00gUGxheWJhY2sgU3dpdGNoIiwgIkRBQyJ9LAorCXsiTW9ubyBNaXhlciIsICJBdXggUGxheWJhY2sgU3dpdGNoIiwgIkF1eCBJbnB1dCJ9LAorCXsiTW9ubyBNaXhlciIsICJMaW5lIEJ5cGFzcyBTd2l0Y2giLCAiQm9vc3QgTWl4ZXIifSwKKworCS8qIFNwZWFrZXIgb3V0cHV0IG1peGVyICovCisJeyJTcGVha2VyIE1peGVyIiwgIlBDTSBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCisJeyJTcGVha2VyIE1peGVyIiwgIkF1eCBQbGF5YmFjayBTd2l0Y2giLCAiQXV4IElucHV0In0sCisJeyJTcGVha2VyIE1peGVyIiwgIkxpbmUgQnlwYXNzIFN3aXRjaCIsICJCb29zdCBNaXhlciJ9LAorCisJLyogT3V0cHV0cyAqLworCXsiTW9ubyBPdXQiLCBOVUxMLCAiTW9ubyBNaXhlciJ9LAorCXsiTU9OT09VVCIsIE5VTEwsICJNb25vIE91dCJ9LAorCXsiU3BrTiBPdXQiLCBOVUxMLCAiU3BlYWtlciBNaXhlciJ9LAorCXsiU3BrUCBPdXQiLCBOVUxMLCAiU3BlYWtlciBNaXhlciJ9LAorCXsiU1BLT1VUTiIsIE5VTEwsICJTcGtOIE91dCJ9LAorCXsiU1BLT1VUUCIsIE5VTEwsICJTcGtQIE91dCJ9LAorCisJLyogTWljcm9waG9uZSBQR0EgKi8KKwl7Ik1pYyBQR0EiLCAiTUlDTiBTd2l0Y2giLCAiTUlDTiJ9LAorCXsiTWljIFBHQSIsICJNSUNQIFN3aXRjaCIsICJNSUNQIn0sCisJeyAiTWljIFBHQSIsICJBVVggU3dpdGNoIiwgIkF1eCBJbnB1dCIgfSwKKworCS8qIEJvb3N0IE1peGVyICovCisJeyJCb29zdCBNaXhlciIsICJNaWMgUEdBIFN3aXRjaCIsICJNaWMgUEdBIn0sCisJeyJCb29zdCBNaXhlciIsICJNaWMgVm9sdW1lIiwgIk1JQ1AifSwKKwl7IkJvb3N0IE1peGVyIiwgIkF1eCBWb2x1bWUiLCAiQXV4IElucHV0In0sCisKKwl7IkFEQyIsIE5VTEwsICJCb29zdCBNaXhlciJ9LAorfTsKKworc3RhdGljIGludCB3bTg1MTBfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQoreworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODUxMF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODUxMF9kYXBtX3dpZGdldHMpKTsKKworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CisKKwlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOworCXJldHVybiAwOworfQorCitzdHJ1Y3QgcGxsXyB7CisJdW5zaWduZWQgaW50IHByZV9kaXY6NDsgLyogcHJlc2NhbGUgLSAxICovCisJdW5zaWduZWQgaW50IG46NDsKKwl1bnNpZ25lZCBpbnQgazsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcGxsXyBwbGxfZGl2OworCisvKiBUaGUgc2l6ZSBpbiBiaXRzIG9mIHRoZSBwbGwgZGl2aWRlIG11bHRpcGxpZWQgYnkgMTAKKyAqIHRvIGFsbG93IHJvdW5kaW5nIGxhdGVyICovCisjZGVmaW5lIEZJWEVEX1BMTF9TSVpFICgoMSA8PCAyNCkgKiAxMCkKKworc3RhdGljIHZvaWQgcGxsX2ZhY3RvcnModW5zaWduZWQgaW50IHRhcmdldCwgdW5zaWduZWQgaW50IHNvdXJjZSkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgS3BhcnQ7CisJdW5zaWduZWQgaW50IEssIE5kaXYsIE5tb2Q7CisKKwlOZGl2ID0gdGFyZ2V0IC8gc291cmNlOworCWlmIChOZGl2IDwgNikgeworCQlzb3VyY2UgPj49IDE7CisJCXBsbF9kaXYucHJlX2RpdiA9IDE7CisJCU5kaXYgPSB0YXJnZXQgLyBzb3VyY2U7CisJfSBlbHNlCisJCXBsbF9kaXYucHJlX2RpdiA9IDA7CisKKwlpZiAoKE5kaXYgPCA2KSB8fCAoTmRpdiA+IDEyKSkKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIldNODUxMCBOIHZhbHVlICVkIG91dHdpdGggcmVjb21tZW5kZWQgcmFuZ2UhZFxuIiwKKwkJCU5kaXYpOworCisJcGxsX2Rpdi5uID0gTmRpdjsKKwlObW9kID0gdGFyZ2V0ICUgc291cmNlOworCUtwYXJ0ID0gRklYRURfUExMX1NJWkUgKiAobG9uZyBsb25nKU5tb2Q7CisKKwlkb19kaXYoS3BhcnQsIHNvdXJjZSk7CisKKwlLID0gS3BhcnQgJiAweEZGRkZGRkZGOworCisJLyogQ2hlY2sgaWYgd2UgbmVlZCB0byByb3VuZCAqLworCWlmICgoSyAlIDEwKSA+PSA1KQorCQlLICs9IDU7CisKKwkvKiBNb3ZlIGRvd24gdG8gcHJvcGVyIHJhbmdlIG5vdyByb3VuZGluZyBpcyBkb25lICovCisJSyAvPSAxMDsKKworCXBsbF9kaXYuayA9IEs7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IHJlZzsKKworCWlmIChmcmVxX2luID09IDAgfHwgZnJlcV9vdXQgPT0gMCkgeworCQkvKiBDbG9jayBDT0RFQyBkaXJlY3RseSBmcm9tIE1DTEsgKi8KKwkJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgcmVnICYgMHgwZmYpOworCisJCS8qIFR1cm4gb2ZmIFBMTCAqLworCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9QT1dFUjEpOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjEsIHJlZyAmIDB4MWRmKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcGxsX2ZhY3RvcnMoZnJlcV9vdXQqOCwgZnJlcV9pbik7CisKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExOLCAocGxsX2Rpdi5wcmVfZGl2IDw8IDQpIHwgcGxsX2Rpdi5uKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExLMSwgcGxsX2Rpdi5rID4+IDE4KTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExLMiwgKHBsbF9kaXYuayA+PiA5KSAmIDB4MWZmKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QTExLMywgcGxsX2Rpdi5rICYgMHgxZmYpOworCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX1BPV0VSMSk7CisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCByZWcgfCAweDAyMCk7CisKKwkvKiBSdW4gQ09ERUMgZnJvbSBQTEwgaW5zdGVhZCBvZiBNQ0xLICovCisJcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfQ0xPQ0spOworCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCByZWcgfCAweDEwMCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvbmZpZ3VyZSBXTTg1MTAgY2xvY2sgZGl2aWRlcnMuCisgKi8KK3N0YXRpYyBpbnQgd204NTEwX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IHJlZzsKKworCXN3aXRjaCAoZGl2X2lkKSB7CisJY2FzZSBXTTg1MTBfT1BDTEtESVY6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0dQSU8pICYgMHgxY2Y7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0dQSU8sIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004NTEwX01DTEtESVY6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKSAmIDB4MWY7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX0NMT0NLLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9BRENDTEs6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0FEQykgJiAweDFmNzsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQURDLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9EQUNDTEs6CisJCXJlZyA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0RBQykgJiAweDFmNzsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfREFDLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODUxMF9CQ0xLRElWOgorCQlyZWcgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9DTE9DSykgJiAweDFlMzsKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfQ0xPQ0ssIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdtODUxMF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJdW5zaWduZWQgaW50IGZtdCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOworCXUxNiBpZmFjZSA9IDA7CisJdTE2IGNsayA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0NMT0NLKSAmIDB4MWZlOworCisJLyogc2V0IG1hc3Rlci9zbGF2ZSBhdWRpbyBpbnRlcmZhY2UgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX01BU1RFUl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNOgorCQljbGsgfD0gMHgwMDAxOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCU19DRlM6CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIGludGVyZmFjZSBmb3JtYXQgKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0ZPUk1BVF9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6CisJCWlmYWNlIHw9IDB4MDAxMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9SSUdIVF9KOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoKKwkJaWZhY2UgfD0gMHgwMDA4OworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOgorCQlpZmFjZSB8PSAweDAwMDE4OworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBjbG9jayBpbnZlcnNpb24gKi8KKwlzd2l0Y2ggKGZtdCAmIFNORF9TT0NfREFJRk1UX0lOVl9NQVNLKSB7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9ORjoKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0RBSUZNVF9JQl9JRjoKKwkJaWZhY2UgfD0gMHgwMTgwOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0lCX05GOgorCQlpZmFjZSB8PSAweDAxMDA7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfSUY6CisJCWlmYWNlIHw9IDB4MDA4MDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfSUZBQ0UsIGlmYWNlKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9DTE9DSywgY2xrKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg1MTBfcGNtX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwKKwlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKK3sKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXUxNiBpZmFjZSA9IHdtODUxMF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NTEwX0lGQUNFKSAmIDB4MTlmOworCXUxNiBhZG4gPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODUxMF9BREQpICYgMHgxZjE7CisKKwkvKiBiaXQgc2l6ZSAqLworCXN3aXRjaCAocGFyYW1zX2Zvcm1hdChwYXJhbXMpKSB7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MxNl9MRToKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyMF8zTEU6CisJCWlmYWNlIHw9IDB4MDAyMDsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fRk9STUFUX1MyNF9MRToKKwkJaWZhY2UgfD0gMHgwMDQwOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzMyX0xFOgorCQlpZmFjZSB8PSAweDAwNjA7CisJCWJyZWFrOworCX0KKworCS8qIGZpbHRlciBjb2VmZmljaWVudCAqLworCXN3aXRjaCAocGFyYW1zX3JhdGUocGFyYW1zKSkgeworCWNhc2UgU05EUlZfUENNX1JBVEVfODAwMDoKKwkJYWRuIHw9IDB4NSA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzExMDI1OgorCQlhZG4gfD0gMHg0IDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfMTYwMDA6CisJCWFkbiB8PSAweDMgPDwgMTsKKwkJYnJlYWs7CisJY2FzZSBTTkRSVl9QQ01fUkFURV8yMjA1MDoKKwkJYWRuIHw9IDB4MiA8PCAxOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9SQVRFXzMyMDAwOgorCQlhZG4gfD0gMHgxIDw8IDE7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX1JBVEVfNDQxMDA6CisJY2FzZSBTTkRSVl9QQ01fUkFURV80ODAwMDoKKwkJYnJlYWs7CisJfQorCisJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfSUZBQ0UsIGlmYWNlKTsKKwl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9BREQsIGFkbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CisJdTE2IG11dGVfcmVnID0gd204NTEwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg1MTBfREFDKSAmIDB4ZmZiZjsKKworCWlmIChtdXRlKQorCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9EQUMsIG11dGVfcmVnIHwgMHg0MCk7CisJZWxzZQorCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9EQUMsIG11dGVfcmVnKTsKKwlyZXR1cm4gMDsKK30KKworLyogbGlhbSBuZWVkIHRvIG1ha2UgdGhpcyBsb3dlciBwb3dlciB3aXRoIGRhcG0gKi8KK3N0YXRpYyBpbnQgd204NTEwX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwllbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKK3sKKworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCAweDFmZik7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMiwgMHgxZmYpOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjMsIDB4MWZmKTsKKwkJYnJlYWs7CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgorCQlicmVhazsKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCS8qIGV2ZXJ5dGhpbmcgb2ZmLCBkYWMgbXV0ZSwgaW5hY3RpdmUgKi8KKwkJd204NTEwX3dyaXRlKGNvZGVjLCBXTTg1MTBfUE9XRVIxLCAweDApOworCQl3bTg1MTBfd3JpdGUoY29kZWMsIFdNODUxMF9QT1dFUjIsIDB4MCk7CisJCXdtODUxMF93cml0ZShjb2RlYywgV004NTEwX1BPV0VSMywgMHgwKTsKKwkJYnJlYWs7CisJfQorCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgV004NTEwX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8XAorCQlTTkRSVl9QQ01fUkFURV80NDEwMCB8IFNORFJWX1BDTV9SQVRFXzQ4MDAwKQorCisjZGVmaW5lIFdNODUxMF9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8XAorCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUpCisKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg1MTBfZGFpID0geworCS5uYW1lID0gIldNODUxMCBIaUZpIiwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAyLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gV004NTEwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFdNODUxMF9GT1JNQVRTLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDIsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBXTTg1MTBfUkFURVMsCisJCS5mb3JtYXRzID0gV004NTEwX0ZPUk1BVFMsfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gd204NTEwX3BjbV9od19wYXJhbXMsCisJfSwKKwkuZGFpX29wcyA9IHsKKwkJLmRpZ2l0YWxfbXV0ZSA9IHdtODUxMF9tdXRlLAorCQkuc2V0X2ZtdCA9IHdtODUxMF9zZXRfZGFpX2ZtdCwKKwkJLnNldF9jbGtkaXYgPSB3bTg1MTBfc2V0X2RhaV9jbGtkaXYsCisJCS5zZXRfcGxsID0gd204NTEwX3NldF9kYWlfcGxsLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwod204NTEwX2RhaSk7CisKK3N0YXRpYyBpbnQgd204NTEwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCXdtODUxMF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgaTsKKwl1OCBkYXRhWzJdOworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCisJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg1MTBfcmVnKTsgaSsrKSB7CisJCWRhdGFbMF0gPSAoaSA8PCAxKSB8ICgoY2FjaGVbaV0gPj4gOCkgJiAweDAwMDEpOworCQlkYXRhWzFdID0gY2FjaGVbaV0gJiAweDAwZmY7CisJCWNvZGVjLT5od193cml0ZShjb2RlYy0+Y29udHJvbF9kYXRhLCBkYXRhLCAyKTsKKwl9CisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGluaXRpYWxpc2UgdGhlIFdNODUxMCBkcml2ZXIKKyAqIHJlZ2lzdGVyIHRoZSBtaXhlciBhbmQgZHNwIGludGVyZmFjZXMgd2l0aCB0aGUga2VybmVsCisgKi8KK3N0YXRpYyBpbnQgd204NTEwX2luaXQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgcmV0ID0gMDsKKworCWNvZGVjLT5uYW1lID0gIldNODUxMCI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSB3bTg1MTBfcmVhZF9yZWdfY2FjaGU7CisJY29kZWMtPndyaXRlID0gd204NTEwX3dyaXRlOworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODUxMF9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gJndtODUxMF9kYWk7CisJY29kZWMtPm51bV9kYWkgPSAxOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204NTEwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204NTEwX3JlZywgc2l6ZW9mKHdtODUxMF9yZWcpLCBHRlBfS0VSTkVMKTsKKworCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJd204NTEwX3Jlc2V0KGNvZGVjKTsKKworCS8qIHJlZ2lzdGVyIHBjbXMgKi8KKwlyZXQgPSBzbmRfc29jX25ld19wY21zKHNvY2RldiwgU05EUlZfREVGQVVMVF9JRFgxLCBTTkRSVl9ERUZBVUxUX1NUUjEpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAid204NTEwOiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogcG93ZXIgb24gZGV2aWNlICovCisJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJd204NTEwX2FkZF9jb250cm9scyhjb2RlYyk7CisJd204NTEwX2FkZF93aWRnZXRzKGNvZGVjKTsKKwlyZXQgPSBzbmRfc29jX3JlZ2lzdGVyX2NhcmQoc29jZGV2KTsKKwlpZiAocmV0IDwgMCkgeworCQlwcmludGsoS0VSTl9FUlIgIndtODUxMDogZmFpbGVkIHRvIHJlZ2lzdGVyIGNhcmRcbiIpOworCQlnb3RvIGNhcmRfZXJyOworCX0KKwlyZXR1cm4gcmV0OworCitjYXJkX2VycjoKKwlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOworCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CitwY21fZXJyOgorCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKndtODUxMF9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKy8qCisgKiBXTTg1MTAgMiB3aXJlIGFkZHJlc3MgaXMgMHgxYQorICovCisjZGVmaW5lIEkyQ19EUklWRVJJRF9XTTg1MTAgMHhmZWZlIC8qIGxpYW0gLSAgbmVlZCBhIHByb3BlciBpZCAqLworCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg1MTBfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKKy8qIElmIHRoZSBpMmMgbGF5ZXIgd2VyZW4ndCBzbyBicm9rZW4sIHdlIGNvdWxkIHBhc3MgdGhpcyBraW5kIG9mIGRhdGEKKyAgIGFyb3VuZCAqLworCitzdGF0aWMgaW50IHdtODUxMF9jb2RlY19wcm9iZShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXAsIGludCBhZGRyLCBpbnQga2luZCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHdtODUxMF9zb2NkZXY7CisJc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhICpzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBpMmNfY2xpZW50ICppMmM7CisJaW50IHJldDsKKworCWlmIChhZGRyICE9IHNldHVwLT5pMmNfYWRkcmVzcykKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwljbGllbnRfdGVtcGxhdGUuYWRhcHRlciA9IGFkYXA7CisJY2xpZW50X3RlbXBsYXRlLmFkZHIgPSBhZGRyOworCisJaTJjID0ga21lbWR1cCgmY2xpZW50X3RlbXBsYXRlLCBzaXplb2YoY2xpZW50X3RlbXBsYXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGkyYyA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNvZGVjKTsKKwljb2RlYy0+Y29udHJvbF9kYXRhID0gaTJjOworCisJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCWdvdG8gZXJyOworCX0KKworCXJldCA9IHdtODUxMF9pbml0KHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg1MTBcbiIpOworCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIHJldDsKKworZXJyOgorCWtmcmVlKGNvZGVjKTsKKwlrZnJlZShpMmMpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOworCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCWtmcmVlKGNsaWVudCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204NTEwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgd204NTEwX2NvZGVjX3Byb2JlKTsKK30KKworLyogY29yZ2kgaTJjIGNvZGVjIGNvbnRyb2wgbGF5ZXIgKi8KK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg1MTBfaTJjX2RyaXZlciA9IHsKKwkuZHJpdmVyID0geworCQkubmFtZSA9ICJXTTg1MTAgSTJDIENvZGVjIiwKKwkJLm93bmVyID0gVEhJU19NT0RVTEUsCisJfSwKKwkuaWQgPSAgICAgICAgICAgICBJMkNfRFJJVkVSSURfV004NTEwLAorCS5hdHRhY2hfYWRhcHRlciA9IHdtODUxMF9pMmNfYXR0YWNoLAorCS5kZXRhY2hfY2xpZW50ID0gIHdtODUxMF9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiV004NTEwIiwKKwkuZHJpdmVyID0gJndtODUxMF9pMmNfZHJpdmVyLAorfTsKKyNlbmRpZgorCitzdGF0aWMgaW50IHdtODUxMF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHdtODUxMF9zZXR1cF9kYXRhICpzZXR1cDsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJaW50IHJldCA9IDA7CisKKwlwcl9pbmZvKCJXTTg1MTAgQXVkaW8gQ29kZWMgJXMiLCBXTTg1MTBfVkVSU0lPTik7CisKKwlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKKwljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGNvZGVjID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJc29jZGV2LT5jb2RlYyA9IGNvZGVjOworCW11dGV4X2luaXQoJmNvZGVjLT5tdXRleCk7CisJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3dpZGdldHMpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV9wYXRocyk7CisKKwl3bTg1MTBfc29jZGV2ID0gc29jZGV2OworI2lmIGRlZmluZWQoQ09ORklHX0kyQykgfHwgZGVmaW5lZChDT05GSUdfSTJDX01PRFVMRSkKKwlpZiAoc2V0dXAtPmkyY19hZGRyZXNzKSB7CisJCW5vcm1hbF9pMmNbMF0gPSBzZXR1cC0+aTJjX2FkZHJlc3M7CisJCWNvZGVjLT5od193cml0ZSA9IChod193cml0ZV90KWkyY19tYXN0ZXJfc2VuZDsKKwkJcmV0ID0gaTJjX2FkZF9kcml2ZXIoJndtODUxMF9pMmNfZHJpdmVyKTsKKwkJaWYgKHJldCAhPSAwKQorCQkJcHJpbnRrKEtFUk5fRVJSICJjYW4ndCBhZGQgaTJjIGRyaXZlciIpOworCX0KKyNlbHNlCisJLyogQWRkIG90aGVyIGludGVyZmFjZXMgaGVyZSAqLworI2VuZGlmCisJcmV0dXJuIHJldDsKK30KKworLyogcG93ZXIgZG93biBjaGlwICovCitzdGF0aWMgaW50IHdtODUxMF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3sKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisKKwlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKKwkJd204NTEwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKKworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJndtODUxMF9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg1MTAgPSB7CisJLnByb2JlID0gCXdtODUxMF9wcm9iZSwKKwkucmVtb3ZlID0gCXdtODUxMF9yZW1vdmUsCisJLnN1c3BlbmQgPSAJd204NTEwX3N1c3BlbmQsCisJLnJlc3VtZSA9CXdtODUxMF9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl93bTg1MTApOworCitNT0RVTEVfREVTQ1JJUFRJT04oIkFTb0MgV004NTEwIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTGlhbSBHaXJkd29vZCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg1MTAuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVkMmU0MgotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NTEwLmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisgKiB3bTg1MTAuaCAgLS0gIFdNODUxMCBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9XTTg1MTBfSAorI2RlZmluZSBfV004NTEwX0gKKworLyogV004NTEwIHJlZ2lzdGVyIHNwYWNlICovCisKKyNkZWZpbmUgV004NTEwX1JFU0VUCQkweDAKKyNkZWZpbmUgV004NTEwX1BPV0VSMQkJMHgxCisjZGVmaW5lIFdNODUxMF9QT1dFUjIJCTB4MgorI2RlZmluZSBXTTg1MTBfUE9XRVIzCQkweDMKKyNkZWZpbmUgV004NTEwX0lGQUNFCQkweDQKKyNkZWZpbmUgV004NTEwX0NPTVAJCQkweDUKKyNkZWZpbmUgV004NTEwX0NMT0NLCQkweDYKKyNkZWZpbmUgV004NTEwX0FERAkJCTB4NworI2RlZmluZSBXTTg1MTBfR1BJTwkJCTB4OAorI2RlZmluZSBXTTg1MTBfREFDCQkJMHhhCisjZGVmaW5lIFdNODUxMF9EQUNWT0wJCTB4YgorI2RlZmluZSBXTTg1MTBfQURDCQkJMHhlCisjZGVmaW5lIFdNODUxMF9BRENWT0wJCTB4ZgorI2RlZmluZSBXTTg1MTBfRVExCQkJMHgxMgorI2RlZmluZSBXTTg1MTBfRVEyCQkJMHgxMworI2RlZmluZSBXTTg1MTBfRVEzCQkJMHgxNAorI2RlZmluZSBXTTg1MTBfRVE0CQkJMHgxNQorI2RlZmluZSBXTTg1MTBfRVE1CQkJMHgxNgorI2RlZmluZSBXTTg1MTBfREFDTElNMQkJMHgxOAorI2RlZmluZSBXTTg1MTBfREFDTElNMgkJMHgxOQorI2RlZmluZSBXTTg1MTBfTk9UQ0gxCQkweDFiCisjZGVmaW5lIFdNODUxMF9OT1RDSDIJCTB4MWMKKyNkZWZpbmUgV004NTEwX05PVENIMwkJMHgxZAorI2RlZmluZSBXTTg1MTBfTk9UQ0g0CQkweDFlCisjZGVmaW5lIFdNODUxMF9BTEMxCQkJMHgyMAorI2RlZmluZSBXTTg1MTBfQUxDMgkJCTB4MjEKKyNkZWZpbmUgV004NTEwX0FMQzMJCQkweDIyCisjZGVmaW5lIFdNODUxMF9OR0FURQkJMHgyMworI2RlZmluZSBXTTg1MTBfUExMTgkJCTB4MjQKKyNkZWZpbmUgV004NTEwX1BMTEsxCQkweDI1CisjZGVmaW5lIFdNODUxMF9QTExLMgkJMHgyNgorI2RlZmluZSBXTTg1MTBfUExMSzMJCTB4MjcKKyNkZWZpbmUgV004NTEwX0FUVEVOCQkweDI4CisjZGVmaW5lIFdNODUxMF9JTlBVVAkJMHgyYworI2RlZmluZSBXTTg1MTBfSU5QUEdBCQkweDJkCisjZGVmaW5lIFdNODUxMF9BRENCT09TVAkJMHgyZgorI2RlZmluZSBXTTg1MTBfT1VUUFVUCQkweDMxCisjZGVmaW5lIFdNODUxMF9TUEtNSVgJCTB4MzIKKyNkZWZpbmUgV004NTEwX1NQS1ZPTAkJMHgzNgorI2RlZmluZSBXTTg1MTBfTU9OT01JWAkJMHgzOAorCisjZGVmaW5lIFdNODUxMF9DQUNIRVJFR05VTSAJNTcKKworLyogQ2xvY2sgZGl2aWRlciBJZCdzICovCisjZGVmaW5lIFdNODUxMF9PUENMS0RJVgkJMAorI2RlZmluZSBXTTg1MTBfTUNMS0RJVgkJMQorI2RlZmluZSBXTTg1MTBfQURDQ0xLCQkyCisjZGVmaW5lIFdNODUxMF9EQUNDTEsJCTMKKyNkZWZpbmUgV004NTEwX0JDTEtESVYJCTQKKworLyogREFDIGNsb2NrIGRpdmlkZXJzICovCisjZGVmaW5lIFdNODUxMF9EQUNDTEtfRjIJKDEgPDwgMykKKyNkZWZpbmUgV004NTEwX0RBQ0NMS19GNAkoMCA8PCAzKQorCisvKiBBREMgY2xvY2sgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX0FEQ0NMS19GMgkoMSA8PCAzKQorI2RlZmluZSBXTTg1MTBfQURDQ0xLX0Y0CSgwIDw8IDMpCisKKy8qIFBMTCBPdXQgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzEJKDAgPDwgNCkKKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzIJKDEgPDwgNCkKKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzMJKDIgPDwgNCkKKyNkZWZpbmUgV004NTEwX09QQ0xLRElWXzQJKDMgPDwgNCkKKworLyogQkNMSyBjbG9jayBkaXZpZGVycyAqLworI2RlZmluZSBXTTg1MTBfQkNMS0RJVl8xCSgwIDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzIJKDEgPDwgMikKKyNkZWZpbmUgV004NTEwX0JDTEtESVZfNAkoMiA8PCAyKQorI2RlZmluZSBXTTg1MTBfQkNMS0RJVl84CSgzIDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzE2CSg0IDw8IDIpCisjZGVmaW5lIFdNODUxMF9CQ0xLRElWXzMyCSg1IDw8IDIpCisKKy8qIE1DTEsgY2xvY2sgZGl2aWRlcnMgKi8KKyNkZWZpbmUgV004NTEwX01DTEtESVZfMQkoMCA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8xXzUJKDEgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfMgkoMiA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl8zCSgzIDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzQJKDQgPDwgNSkKKyNkZWZpbmUgV004NTEwX01DTEtESVZfNgkoNSA8PCA1KQorI2RlZmluZSBXTTg1MTBfTUNMS0RJVl84CSg2IDw8IDUpCisjZGVmaW5lIFdNODUxMF9NQ0xLRElWXzEyCSg3IDw8IDUpCisKK3N0cnVjdCB3bTg1MTBfc2V0dXBfZGF0YSB7CisJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7Cit9OworCitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODUxMF9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NTEwOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5jCmluZGV4IDBjZjkyNjUuLjM2OWQzOWMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3MzEuYwpAQCAtMzEsMjUgKzMxLDYgQEAKICNkZWZpbmUgQVVESU9fTkFNRSAid204NzMxIgogI2RlZmluZSBXTTg3MzFfVkVSU0lPTiAiMC4xMyIKIAotLyoKLSAqIERlYnVnCi0gKi8KLQotI2RlZmluZSBXTTg3MzFfREVCVUcgMAotCi0jaWZkZWYgV004NzMxX0RFQlVHCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNlbHNlCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLSNkZWZpbmUgZXJyKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fRVJSIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgaW5mbyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0lORk8gQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSB3YXJuKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fV0FSTklORyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0KIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODczMTsKIAogLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCkBAIC0xOTMsNyArMTc0LDcgQEAKIFNORF9TT0NfREFQTV9JTlBVVCgiTExJTkVJTiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmludGVyY29uW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBpbnRlcmNvbltdID0gewogCS8qIG91dHB1dCBtaXhlciAqLwogCXsiT3V0cHV0IE1peGVyIiwgIkxpbmUgQnlwYXNzIFN3aXRjaCIsICJMaW5lIElucHV0In0sCiAJeyJPdXRwdXQgTWl4ZXIiLCAiSGlGaSBQbGF5YmFjayBTd2l0Y2giLCAiREFDIn0sCkBAIC0yMTQsMjIgKzE5NSwxNCBAQAogCXsiTGluZSBJbnB1dCIsIE5VTEwsICJMTElORUlOIn0sCiAJeyJMaW5lIElucHV0IiwgTlVMTCwgIlJMSU5FSU4ifSwKIAl7Ik1pYyBCaWFzIiwgTlVMTCwgIk1JQ0lOIn0sCi0KLQkvKiB0ZXJtaW5hdG9yICovCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTg3MzFfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODczMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODczMV9kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIGF1ZGlvIHBhdGggaW50ZXJjb25uZWN0cyAqLwotCWZvciAoaSA9IDA7IGludGVyY29uW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGludGVyY29uW2ldWzBdLAotCQkJaW50ZXJjb25baV1bMV0sIGludGVyY29uW2ldWzJdKTsKKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgaW50ZXJjb24sIEFSUkFZX1NJWkUoaW50ZXJjb24pKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC0zNDUsNyArMzE4LDcgQEAKIAl9CiB9CiAKLXN0YXRpYyBpbnQgd204NzMxX211dGUoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIGludCBtdXRlKQorc3RhdGljIGludCB3bTg3MzFfbXV0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IG11dGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gZGFpLT5jb2RlYzsKIAl1MTYgbXV0ZV9yZWcgPSB3bTg3MzFfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODczMV9BUERJR0kpICYgMHhmZmY3OwpAQCAtMzU3LDcgKzMzMCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzMxX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3MzFfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0zNzYsNyArMzQ5LDcgQEAKIH0KIAogCi1zdGF0aWMgaW50IHdtODczMV9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzMxX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC00MzUsMjkgKzQwOCwyOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODczMV9kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAl1MTYgcmVnID0gd204NzMxX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3MzFfUFdSKSAmIDB4ZmY3ZjsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogdnJlZi9taWQsIG9zYyBvbiwgZGFjIHVubXV0ZSAqLwogCQl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9QV1IsIHJlZyk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2hvdDogLyogT2ZmLCB3aXRoIHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKIAkJLyogZXZlcnl0aGluZyBvZmYgZXhjZXB0IHZyZWYvdm1pZCwgKi8KIAkJd204NzMxX3dyaXRlKGNvZGVjLCBXTTg3MzFfUFdSLCByZWcgfCAweDAwNDApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZXZlcnl0aGluZyBvZmYsIGRhYyBtdXRlLCBpbmFjdGl2ZSAqLwogCQl3bTg3MzFfd3JpdGUoY29kZWMsIFdNODczMV9BQ1RJVkUsIDB4MCk7CiAJCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX1BXUiwgMHhmZmZmKTsKIAkJYnJlYWs7CiAJfQotCWNvZGVjLT5kYXBtX3N0YXRlID0gZXZlbnQ7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBsZXZlbDsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDcwLDcgKzQ0Myw3IEBACiAjZGVmaW5lIFdNODczMV9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzIwXzNMRSB8XAogCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFKQogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzMxX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg3MzFfZGFpID0gewogCS5uYW1lID0gIldNODczMSIsCiAJLnBsYXliYWNrID0gewogCQkuc3RyZWFtX25hbWUgPSAiUGxheWJhY2siLApAQCAtNTAzLDcgKzQ3Niw3IEBACiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAogCXdtODczMV93cml0ZShjb2RlYywgV004NzMxX0FDVElWRSwgMHgwKTsKLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTIxLDggKzQ5NCw4IEBACiAJCWRhdGFbMV0gPSBjYWNoZVtpXSAmIDB4MDBmZjsKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKLQl3bTg3MzFfZGFwbV9ldmVudChjb2RlYywgY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNTM5LDEwICs1MTIsMTAgQEAKIAljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKIAljb2RlYy0+cmVhZCA9IHdtODczMV9yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSB3bTg3MzFfd3JpdGU7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTg3MzFfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg3MzFfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9ICZ3bTg3MzFfZGFpOwogCWNvZGVjLT5udW1fZGFpID0gMTsKLQljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXplb2Yod204NzMxX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg3MzFfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg3MzFfcmVnLCBzaXplb2Yod204NzMxX3JlZyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtNTU3LDcgKzUzMCw3IEBACiAJfQogCiAJLyogcG93ZXIgb24gZGV2aWNlICovCi0Jd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd204NzMxX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiBzZXQgdGhlIHVwZGF0ZSBiaXRzICovCiAJcmVnID0gd204NzMxX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3MzFfTE9VVDFWKTsKQEAgLTYzMiwxMyArNjA1LDEzIEBACiAKIAlyZXQgPSBpMmNfYXR0YWNoX2NsaWVudChpMmMpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGF0dGFjaCBjb2RlYyBhdCBhZGRyICV4XG4iLCBhZGRyKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOwogCQlnb3RvIGVycjsKIAl9CiAKIAlyZXQgPSB3bTg3MzFfaW5pdChzb2NkZXYpOwogCWlmIChyZXQgPCAwKSB7Ci0JCWVycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzMxXG4iKTsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3MzFcbiIpOwogCQlnb3RvIGVycjsKIAl9CiAJcmV0dXJuIHJldDsKQEAgLTY4OSw3ICs2NjIsNyBAQAogCXN0cnVjdCB3bTg3MzFfcHJpdiAqd204NzMxOwogCWludCByZXQgPSAwOwogCi0JaW5mbygiV004NzMxIEF1ZGlvIENvZGVjICVzIiwgV004NzMxX1ZFUlNJT04pOworCXByX2luZm8oIldNODczMSBBdWRpbyBDb2RlYyAlcyIsIFdNODczMV9WRVJTSU9OKTsKIAogCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOwogCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKQEAgLTczMCw3ICs3MDMsNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJd204NzMxX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCQl3bTg3MzFfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCiAJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKIAlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3MzEuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzMxLmgKaW5kZXggNWJjYWI2YS4uOTlmMmUzYyAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3MzEuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODczMS5oCkBAIC0zOCw3ICszOCw3IEBACiAJdW5zaWduZWQgc2hvcnQgaTJjX2FkZHJlc3M7CiB9OwogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtODczMV9kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHdtODczMV9kYWk7CiBleHRlcm4gc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlIHNvY19jb2RlY19kZXZfd204NzMxOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5jCmluZGV4IDE2Y2Q1ZDQuLmUyM2NiMDkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTAuYwpAQCAtMzEsMjUgKzMxLDYgQEAKICNkZWZpbmUgQVVESU9fTkFNRSAiV004NzUwIgogI2RlZmluZSBXTTg3NTBfVkVSU0lPTiAiMC4xMiIKIAotLyoKLSAqIERlYnVnCi0gKi8KLQotI2RlZmluZSBXTTg3NTBfREVCVUcgMAotCi0jaWZkZWYgV004NzUwX0RFQlVHCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0RFQlVHIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNlbHNlCi0jZGVmaW5lIGRiZyhmb3JtYXQsIGFyZy4uLikgZG8ge30gd2hpbGUgKDApCi0jZW5kaWYKLSNkZWZpbmUgZXJyKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fRVJSIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLSNkZWZpbmUgaW5mbyhmb3JtYXQsIGFyZy4uLikgXAotCXByaW50ayhLRVJOX0lORk8gQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSB3YXJuKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fV0FSTklORyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0KIC8qIGNvZGVjIHByaXZhdGUgZGF0YSAqLwogc3RydWN0IHdtODc1MF9wcml2IHsKIAl1bnNpZ25lZCBpbnQgc3lzY2xrOwpAQCAtMzc4LDcgKzM1OSw3IEBACiAJU05EX1NPQ19EQVBNX0lOUFVUKCJSSU5QVVQzIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBsZWZ0IG1peGVyICovCiAJeyJMZWZ0IE1peGVyIiwgIlBsYXliYWNrIFN3aXRjaCIsICJMZWZ0IERBQyJ9LAogCXsiTGVmdCBNaXhlciIsICJMZWZ0IEJ5cGFzcyBTd2l0Y2giLCAiTGVmdCBMaW5lIE11eCJ9LApAQCAtNDcwLDIyICs0NTEsMTQgQEAKIAkvKiBBREMgKi8KIAl7IkxlZnQgQURDIiwgTlVMTCwgIkxlZnQgQURDIE11eCJ9LAogCXsiUmlnaHQgQURDIiwgTlVMTCwgIlJpZ2h0IEFEQyBNdXgifSwKLQotCS8qIHRlcm1pbmF0b3IgKi8KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgaW50IHdtODc1MF9hZGRfd2lkZ2V0cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzUwX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzUwX2RhcG1fd2lkZ2V0cykpOwogCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUwX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzUwX2RhcG1fd2lkZ2V0c1tpXSk7Ci0KLQkvKiBzZXQgdXAgYXVkaW8gcGF0aCBhdWRpb19tYXBuZWN0cyAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC01NjMsNyArNTM2LDcgQEAKIAlyZXR1cm4gLUVJTlZBTDsKIH0KIAotc3RhdGljIGludCB3bTg3NTBfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTU4MSw3ICs1NTQsNyBAQAogCXJldHVybiAtRUlOVkFMOwogfQogCi1zdGF0aWMgaW50IHdtODc1MF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSwKK3N0YXRpYyBpbnQgd204NzUwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC02NzQsNyArNjQ3LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB3bTg3NTBfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IHdtODc1MF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXUxNiBtdXRlX3JlZyA9IHdtODc1MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUwX0FEQ0RBQykgJiAweGZmZjc7CkBAIC02ODYsMjkgKzY1OSwyOSBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1MF9kYXBtX2V2ZW50KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgaW50IGV2ZW50KQorc3RhdGljIGludCB3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCQkJCSBlbnVtIHNuZF9zb2NfYmlhc19sZXZlbCBsZXZlbCkKIHsKIAl1MTYgcHdyX3JlZyA9IHdtODc1MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUwX1BXUjEpICYgMHhmZTNlOwogCi0Jc3dpdGNoIChldmVudCkgewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOiAvKiBmdWxsIE9uICovCisJc3dpdGNoIChsZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgogCQkvKiBzZXQgdm1pZCB0byA1MGsgYW5kIHVubXV0ZSBkYWMgKi8KIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgcHdyX3JlZyB8IDB4MDBjMCk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwljYXNlIFNORF9TT0NfQklBU19QUkVQQVJFOgogCQkvKiBzZXQgdm1pZCB0byA1ayBmb3IgcXVpY2sgcG93ZXIgdXAgKi8KIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgcHdyX3JlZyB8IDB4MDFjMSk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OiAvKiBPZmYsIHdpdGggcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19TVEFOREJZOgogCQkvKiBtdXRlIGRhYyBhbmQgc2V0IHZtaWQgdG8gNTAwaywgZW5hYmxlIFZSRUYgKi8KIAkJd204NzUwX3dyaXRlKGNvZGVjLCBXTTg3NTBfUFdSMSwgcHdyX3JlZyB8IDB4MDE0MSk7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDogLyogT2ZmLCB3aXRob3V0IHBvd2VyICovCisJY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgogCQl3bTg3NTBfd3JpdGUoY29kZWMsIFdNODc1MF9QV1IxLCAweDAwMDEpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC03MTksNyArNjkyLDcgQEAKICNkZWZpbmUgV004NzUwX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHxcCiAJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTBfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHdtODc1MF9kYWkgPSB7CiAJLm5hbWUgPSAiV004NzUwIiwKIAkucGxheWJhY2sgPSB7CiAJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCkBAIC03NDgsNyArNzIxLDcgQEAKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPQogCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IHNuZF9zb2NfY29kZWMsIGRlbGF5ZWRfd29yay53b3JrKTsKLQl3bTg3NTBfZGFwbV9ldmVudChjb2RlYywgY29kZWMtPmRhcG1fc3RhdGUpOworCXdtODc1MF9zZXRfYmlhc19sZXZlbChjb2RlYywgY29kZWMtPmJpYXNfbGV2ZWwpOwogfQogCiBzdGF0aWMgaW50IHdtODc1MF9zdXNwZW5kKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKQEAgLTc1Niw3ICs3MjksNyBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAotCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJldHVybiAwOwogfQogCkBAIC03NzcsMTIgKzc1MCwxMiBAQAogCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CiAJfQogCi0Jd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiBjaGFyZ2Ugd204NzUwIGNhcHMgKi8KLQlpZiAoY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9PSBTTkRSVl9DVExfUE9XRVJfRDApIHsKLQkJd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMik7Ci0JCWNvZGVjLT5kYXBtX3N0YXRlID0gU05EUlZfQ1RMX1BPV0VSX0QwOworCWlmIChjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PTikgeworCQl3bTg3NTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19QUkVQQVJFKTsKKwkJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfT047CiAJCXNjaGVkdWxlX2RlbGF5ZWRfd29yaygmY29kZWMtPmRlbGF5ZWRfd29yaywKIAkJCQkJbXNlY3NfdG9famlmZmllcygxMDAwKSk7CiAJfQpAQCAtODAzLDEwICs3NzYsMTAgQEAKIAljb2RlYy0+b3duZXIgPSBUSElTX01PRFVMRTsKIAljb2RlYy0+cmVhZCA9IHdtODc1MF9yZWFkX3JlZ19jYWNoZTsKIAljb2RlYy0+d3JpdGUgPSB3bTg3NTBfd3JpdGU7Ci0JY29kZWMtPmRhcG1fZXZlbnQgPSB3bTg3NTBfZGFwbV9ldmVudDsKKwljb2RlYy0+c2V0X2JpYXNfbGV2ZWwgPSB3bTg3NTBfc2V0X2JpYXNfbGV2ZWw7CiAJY29kZWMtPmRhaSA9ICZ3bTg3NTBfZGFpOwogCWNvZGVjLT5udW1fZGFpID0gMTsKLQljb2RlYy0+cmVnX2NhY2hlX3NpemUgPSBzaXplb2Yod204NzUwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZV9zaXplID0gQVJSQVlfU0laRSh3bTg3NTBfcmVnKTsKIAljb2RlYy0+cmVnX2NhY2hlID0ga21lbWR1cCh3bTg3NTBfcmVnLCBzaXplb2Yod204NzUwX3JlZyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtODIxLDggKzc5NCw4IEBACiAJfQogCiAJLyogY2hhcmdlIG91dHB1dCBjYXBzICovCi0Jd204NzUwX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMik7Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBTTkRSVl9DVExfUE9XRVJfRDNob3Q7CisJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CisJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfU1RBTkRCWTsKIAlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmssIG1zZWNzX3RvX2ppZmZpZXMoMTAwMCkpOwogCiAJLyogc2V0IHRoZSB1cGRhdGUgYml0cyAqLwpAQCAtOTA0LDEzICs4NzcsMTMgQEAKIAogCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CiAJCWdvdG8gZXJyOwogCX0KIAogCXJldCA9IHdtODc1MF9pbml0KHNvY2Rldik7CiAJaWYgKHJldCA8IDApIHsKLQllcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODc1MFxuIik7CisJCXByX2VycigiZmFpbGVkIHRvIGluaXRpYWxpc2UgV004NzUwXG4iKTsKIAkJZ290byBlcnI7CiAJfQogCXJldHVybiByZXQ7CkBAIC05NjEsNyArOTM0LDcgQEAKIAlzdHJ1Y3Qgd204NzUwX3ByaXYgKndtODc1MDsKIAlpbnQgcmV0ID0gMDsKIAotCWluZm8oIldNODc1MCBBdWRpbyBDb2RlYyAlcyIsIFdNODc1MF9WRVJTSU9OKTsKKwlwcl9pbmZvKCJXTTg3NTAgQXVkaW8gQ29kZWMgJXMiLCBXTTg3NTBfVkVSU0lPTik7CiAJY29kZWMgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jb2RlYyksIEdGUF9LRVJORUwpOwogCWlmIChjb2RlYyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTEwMjEsNyArOTk0LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJaWYgKGNvZGVjLT5jb250cm9sX2RhdGEpCi0JCXdtODc1MF9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNjb2xkKTsKKwkJd204NzUwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlydW5fZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrKTsKIAlzbmRfc29jX2ZyZWVfcGNtcyhzb2NkZXYpOwogCXNuZF9zb2NfZGFwbV9mcmVlKHNvY2Rldik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5oIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTAuaAppbmRleCBhOTdhNTRhLi44ZWYzMGU2IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtODc1MC5oCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUwLmgKQEAgLTYxLDcgKzYxLDcgQEAKIAl1bnNpZ25lZCBzaG9ydCBpMmNfYWRkcmVzczsKIH07CiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUwX2RhaTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUwX2RhaTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg3NTA7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg3NTMuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmMKaW5kZXggZmI0MTgyNi4uODYwNDgwOSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg3NTMuYworKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5jCkBAIC01NSwyNSArNTUsNiBAQAogI2RlZmluZSBBVURJT19OQU1FICJ3bTg3NTMiCiAjZGVmaW5lIFdNODc1M19WRVJTSU9OICIwLjE2IgogCi0vKgotICogRGVidWcKLSAqLwotCi0jZGVmaW5lIFdNODc1M19ERUJVRyAwCi0KLSNpZmRlZiBXTTg3NTNfREVCVUcKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fREVCVUcgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2Vsc2UKLSNkZWZpbmUgZGJnKGZvcm1hdCwgYXJnLi4uKSBkbyB7fSB3aGlsZSAoMCkKLSNlbmRpZgotI2RlZmluZSBlcnIoZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9FUlIgQVVESU9fTkFNRSAiOiAiIGZvcm1hdCAiXG4iICwgIyMgYXJnKQotI2RlZmluZSBpbmZvKGZvcm1hdCwgYXJnLi4uKSBcCi0JcHJpbnRrKEtFUk5fSU5GTyBBVURJT19OQU1FICI6ICIgZm9ybWF0ICJcbiIgLCAjIyBhcmcpCi0jZGVmaW5lIHdhcm4oZm9ybWF0LCBhcmcuLi4pIFwKLQlwcmludGsoS0VSTl9XQVJOSU5HIEFVRElPX05BTUUgIjogIiBmb3JtYXQgIlxuIiAsICMjIGFyZykKLQogc3RhdGljIGludCBjYXBzX2NoYXJnZSA9IDIwMDA7CiBtb2R1bGVfcGFyYW0oY2Fwc19jaGFyZ2UsIGludCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGNhcHNfY2hhcmdlLCAiV004NzUzIGNhcCBjaGFyZ2UgdGltZSAobXNlY3MpIik7CkBAIC0yNjAsMjggKzI0MSw1MCBAQAogCXJldHVybiAxOwogfQogCi1zdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKHJlY19taXhfdGx2LCAtMTUwMCwgNjAwKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShyZWNfbWl4X3RsdiwgLTE1MDAsIDMwMCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUobWljX3ByZWFtcF90bHYsIDEyMDAsIDYwMCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoYWRjX3RsdiwgLTk3NTAsIDUwLCAxKTsKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYWNfdGx2LCAtMTI3NTAsIDUwLCAxKTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgb3V0X3RsdltdID0geworCVRMVl9EQl9SQU5HRV9IRUFEKDIpLAorCS8qIDAwMDAwMDAgLSAwMTAxMTExID0gIkFuYWxvZ3VlIG11dGUiICovCisJMCwgNDgsIFRMVl9EQl9TQ0FMRV9JVEVNKC0yNTUwMCwgMCwgMCksCisJNDgsIDEyNywgVExWX0RCX1NDQUxFX0lURU0oLTczMDAsIDEwMCwgMCksCit9Oworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKG1peF90bHYsIC0xNTAwLCAzMDAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHZvaWNlX21peF90bHYsIC0xMjAwLCAzMDAsIDApOworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHBnYV90bHYsIC0xNzI1LCA3NSwgMCk7CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg3NTNfc25kX2NvbnRyb2xzW10gPSB7Ci1TT0NfRE9VQkxFX1IoIlBDTSBWb2x1bWUiLCBXTTg3NTNfTERBQywgV004NzUzX1JEQUMsIDAsIDI1NSwgMCksCitTT0NfRE9VQkxFX1JfVExWKCJQQ00gVm9sdW1lIiwgV004NzUzX0xEQUMsIFdNODc1M19SREFDLCAwLCAyNTUsIDAsIGRhY190bHYpLAogCi1TT0NfRE9VQkxFX1IoIkFEQyBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MQURDLCBXTTg3NTNfUkFEQywgMCwgMjU1LCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkFEQyBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MQURDLCBXTTg3NTNfUkFEQywgMCwgMjU1LCAwLAorCQkgYWRjX3RsdiksCiAKLVNPQ19ET1VCTEVfUigiSGVhZHBob25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUMVYsIFdNODc1M19ST1VUMVYsIDAsIDEyNywgMCksCi1TT0NfRE9VQkxFX1IoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgMCwgMTI3LCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkhlYWRwaG9uZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVDFWLCBXTTg3NTNfUk9VVDFWLAorCQkgMCwgMTI3LCAwLCBvdXRfdGx2KSwKK1NPQ19ET1VCTEVfUl9UTFYoIlNwZWFrZXIgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgMCwKKwkJIDEyNywgMCwgb3V0X3RsdiksCiAKLVNPQ19TSU5HTEUoIk1vbm8gUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRWLCAwLCAxMjcsIDApLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRWLCAwLCAxMjcsIDAsIG91dF90bHYpLAogCi1TT0NfRE9VQkxFX1IoIkJ5cGFzcyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTE9VVE0xLCBXTTg3NTNfUk9VVE0xLCA0LCA3LCAxKSwKLVNPQ19ET1VCTEVfUigiU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX0xPVVRNMiwgV004NzUzX1JPVVRNMiwgNCwgNywgMSksCi1TT0NfRE9VQkxFX1IoIlZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDAsIDcsIDEpLAorU09DX0RPVUJMRV9SX1RMVigiQnlwYXNzIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTEsIFdNODc1M19ST1VUTTEsIDQsIDcsCisJCSAxLCBtaXhfdGx2KSwKK1NPQ19ET1VCTEVfUl9UTFYoIlNpZGV0b25lIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDQsCisJCSA3LCAxLCBtaXhfdGx2KSwKK1NPQ19ET1VCTEVfUl9UTFYoIlZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19MT1VUTTIsIFdNODc1M19ST1VUTTIsIDAsIDcsCisJCSAxLCB2b2ljZV9taXhfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJIZWFkcGhvbmUgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQxViwgV004NzUzX1JPVVQxViwgNywgMSwgMCksCi1TT0NfRE9VQkxFX1IoIlNwZWFrZXIgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgNywgMSwgMCksCitTT0NfRE9VQkxFX1IoIkhlYWRwaG9uZSBQbGF5YmFjayBaQyBTd2l0Y2giLCBXTTg3NTNfTE9VVDFWLCBXTTg3NTNfUk9VVDFWLCA3LAorCSAgICAgMSwgMCksCitTT0NfRE9VQkxFX1IoIlNwZWFrZXIgUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX0xPVVQyViwgV004NzUzX1JPVVQyViwgNywKKwkgICAgIDEsIDApLAogCi1TT0NfU0lOR0xFKCJNb25vIEJ5cGFzcyBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0xLCA0LCA3LCAxKSwKLVNPQ19TSU5HTEUoIk1vbm8gU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMiwgNCwgNywgMSksCi1TT0NfU0lOR0xFKCJNb25vIFZvaWNlIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTIsIDAsIDcsIDEpLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gQnlwYXNzIFBsYXliYWNrIFZvbHVtZSIsIFdNODc1M19NT1VUTTEsIDQsIDcsIDEsIG1peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIk1vbm8gU2lkZXRvbmUgUGxheWJhY2sgVm9sdW1lIiwgV004NzUzX01PVVRNMiwgNCwgNywgMSwKKwkgICAgICAgbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTW9ubyBWb2ljZSBQbGF5YmFjayBWb2x1bWUiLCBXTTg3NTNfTU9VVE0yLCAwLCA3LCAxLAorCSAgICAgICB2b2ljZV9taXhfdGx2KSwKIFNPQ19TSU5HTEUoIk1vbm8gUGxheWJhY2sgWkMgU3dpdGNoIiwgV004NzUzX01PVVRWLCA3LCAxLCAwKSwKIAogU09DX0VOVU0oIkJhc3MgQm9vc3QiLCB3bTg3NTNfZW51bVswXSksCkBAIC0yOTEsMTAgKzI5NCwxMyBAQAogU09DX1NJTkdMRSgiVHJlYmxlIFZvbHVtZSIsIFdNODc1M19UUkVCTEUsIDAsIDE1LCAxKSwKIFNPQ19FTlVNKCJUcmVibGUgQ3V0LW9mZiIsIHdtODc1M19lbnVtWzJdKSwKIAotU09DX0RPVUJMRV9UTFYoIlNpZGV0b25lIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX1JFQ01JWDEsIDAsIDQsIDcsIDEsIHJlY19taXhfdGx2KSwKLVNPQ19TSU5HTEVfVExWKCJWb2ljZSBTaWRldG9uZSBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19SRUNNSVgyLCAwLCA3LCAxLCByZWNfbWl4X3RsdiksCitTT0NfRE9VQkxFX1RMVigiU2lkZXRvbmUgQ2FwdHVyZSBWb2x1bWUiLCBXTTg3NTNfUkVDTUlYMSwgMCwgNCwgNywgMSwKKwkgICAgICAgcmVjX21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlZvaWNlIFNpZGV0b25lIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX1JFQ01JWDIsIDAsIDcsIDEsCisJICAgICAgIHJlY19taXhfdGx2KSwKIAotU09DX0RPVUJMRV9SKCJDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19MSU5WT0wsIFdNODc1M19SSU5WT0wsIDAsIDYzLCAwKSwKK1NPQ19ET1VCTEVfUl9UTFYoIkNhcHR1cmUgVm9sdW1lIiwgV004NzUzX0xJTlZPTCwgV004NzUzX1JJTlZPTCwgMCwgNjMsIDAsCisJCSBwZ2FfdGx2KSwKIFNPQ19ET1VCTEVfUigiQ2FwdHVyZSBaQyBTd2l0Y2giLCBXTTg3NTNfTElOVk9MLCBXTTg3NTNfUklOVk9MLCA2LCAxLCAwKSwKIFNPQ19ET1VCTEVfUigiQ2FwdHVyZSBTd2l0Y2giLCBXTTg3NTNfTElOVk9MLCBXTTg3NTNfUklOVk9MLCA3LCAxLCAxKSwKIApAQCAtMzI2LDggKzMzMiw4IEBACiBTT0NfRU5VTSgiUGxheWJhY2sgTW9ubyBNaXgiLCB3bTg3NTNfZW51bVs5XSksCiBTT0NfRU5VTSgiUGxheWJhY2sgUGhhc2UiLCB3bTg3NTNfZW51bVsxMF0pLAogCi1TT0NfU0lOR0xFKCJNaWMyIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNywgMywgMCksCi1TT0NfU0lOR0xFKCJNaWMxIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNSwgMywgMCksCitTT0NfU0lOR0xFX1RMVigiTWljMiBDYXB0dXJlIFZvbHVtZSIsIFdNODc1M19JTkNUTDEsIDcsIDMsIDAsIG1pY19wcmVhbXBfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJNaWMxIENhcHR1cmUgVm9sdW1lIiwgV004NzUzX0lOQ1RMMSwgNSwgMywgMCwgbWljX3ByZWFtcF90bHYpLAogCiBTT0NfRU5VTV9FWFQoIkRBSSBNb2RlIiwgd204NzUzX2VudW1bMjZdLCB3bTg3NTNfZ2V0X2RhaSwgd204NzUzX3NldF9kYWkpLAogCkBAIC01MjMsNyArNTI5LDcgQEAKIFNORF9TT0NfREFQTV9WTUlEKCJWUkVGIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBsZWZ0IG1peGVyICovCiAJeyJMZWZ0IE1peGVyIiwgIkxlZnQgUGxheWJhY2sgU3dpdGNoIiwgIkxlZnQgREFDIn0sCiAJeyJMZWZ0IE1peGVyIiwgIlZvaWNlIFBsYXliYWNrIFN3aXRjaCIsICJWb2ljZSBEQUMifSwKQEAgLTY3NCwyMyArNjgwLDE0IEBACiAKIAkvKiBBQ09QICovCiAJeyJBQ09QIiwgTlVMTCwgIkFMQyBNaXhlciJ9LAotCi0JLyogdGVybWluYXRvciAqLwotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd204NzUzX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3NTNfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3NTNfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTNfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3NTNfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCB0aGUgV004NzUzIGF1ZGlvIG1hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKLQl9CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAogCXNuZF9zb2NfZGFwbV9uZXdfd2lkZ2V0cyhjb2RlYyk7CiAJcmV0dXJuIDA7CkBAIC03NDMsNyArNzQwLDcgQEAKIAlwbGxfZGl2LT5rID0gSzsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IHBsbF9pZCwgdW5zaWduZWQgaW50IGZyZXFfaW4sIHVuc2lnbmVkIGludCBmcmVxX291dCkKIHsKIAl1MTYgcmVnLCBlbmFibGU7CkBAIC04NjYsNyArODYzLDcgQEAKIC8qCiAgKiBDbG9jayBhZnRlciBQTEwgYW5kIGRpdmlkZXJzCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9zeXNjbGsoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC04OTMsNyArODkwLDcgQEAKIC8qCiAgKiBTZXQncyBBREMgYW5kIFZvaWNlIERBQyBmb3JtYXQuCiAgKi8KLXN0YXRpYyBpbnQgd204NzUzX3ZkYWNfYWRjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfdmRhY19hZGNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTk2Myw3ICs5NjAsNyBAQAogLyoKICAqIFNldCdzIFBDTSBkYWkgZm10IGFuZCBCQ0xLLgogICovCi1zdGF0aWMgaW50IHdtODc1M19wY21fc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19wY21fc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEwMjksNyArMTAyNiw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBkaXZfaWQsIGludCBkaXYpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEwNTcsNyArMTA1NCw3IEBACiAvKgogICogU2V0J3MgSGlGaSBEQUMgZm9ybWF0LgogICovCi1zdGF0aWMgaW50IHdtODc1M19oZGFjX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfaGRhY19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTA5MCw3ICsxMDg3LDcgQEAKIC8qCiAgKiBTZXQncyBJMlMgREFJIGZvcm1hdC4KICAqLwotc3RhdGljIGludCB3bTg3NTNfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTg3NTNfaTJzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMTk4LDcgKzExOTUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tb2RlMXZfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlMXZfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTEyMTMsNyArMTIxMCw3IEBACiAJcmV0dXJuIHdtODc1M19wY21fc2V0X2RhaV9mbXQoY29kZWNfZGFpLCBmbXQpOwogfQogCi1zdGF0aWMgaW50IHdtODc1M19tb2RlMWhfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlMWhfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJaWYgKHdtODc1M19oZGFjX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KSA8IDApCkBAIC0xMjIxLDcgKzEyMTgsNyBAQAogCXJldHVybiB3bTg3NTNfaTJzX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KTsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbW9kZTJfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlMl9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJdW5zaWduZWQgaW50IGZtdCkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtMTIzNiw3ICsxMjMzLDcgQEAKIAlyZXR1cm4gd204NzUzX2kyc19zZXRfZGFpX2ZtdChjb2RlY19kYWksIGZtdCk7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX21vZGUzXzRfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtODc1M19tb2RlM180X3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAogCQl1bnNpZ25lZCBpbnQgZm10KQogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CkBAIC0xMjUzLDcgKzEyNTAsNyBAQAogCXJldHVybiB3bTg3NTNfaTJzX3NldF9kYWlfZm10KGNvZGVjX2RhaSwgZm10KTsKIH0KIAotc3RhdGljIGludCB3bTg3NTNfbXV0ZShzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgaW50IG11dGUpCitzdGF0aWMgaW50IHdtODc1M19tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBkYWktPmNvZGVjOwogCXUxNiBtdXRlX3JlZyA9IHdtODc1M19yZWFkX3JlZ19jYWNoZShjb2RlYywgV004NzUzX0RBQykgJiAweGZmZjc7CkBAIC0xMjc0LDI5ICsxMjcxLDI5IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd204NzUzX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtODc1M19zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewogCXUxNiBwd3JfcmVnID0gd204NzUzX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg3NTNfUFdSMSkgJiAweGZlM2U7CiAKLQlzd2l0Y2ggKGV2ZW50KSB7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDA6IC8qIGZ1bGwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CiAJCS8qIHNldCB2bWlkIHRvIDUwayBhbmQgdW5tdXRlIGRhYyAqLwogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCBwd3JfcmVnIHwgMHgwMGMwKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDE6IC8qIHBhcnRpYWwgT24gKi8KLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMjogLyogcGFydGlhbCBPbiAqLworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CiAJCS8qIHNldCB2bWlkIHRvIDVrIGZvciBxdWljayBwb3dlciB1cCAqLwogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCBwd3JfcmVnIHwgMHgwMWMxKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qIG11dGUgZGFjIGFuZCBzZXQgdm1pZCB0byA1MDBrLCBlbmFibGUgVlJFRiAqLwogCQl3bTg3NTNfd3JpdGUoY29kZWMsIFdNODc1M19QV1IxLCBwd3JfcmVnIHwgMHgwMTQxKTsKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNjb2xkOiAvKiBPZmYsIHdpdGhvdXQgcG93ZXIgKi8KKwljYXNlIFNORF9TT0NfQklBU19PRkY6CiAJCXdtODc1M193cml0ZShjb2RlYywgV004NzUzX1BXUjEsIDB4MDAwMSk7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTEzMTksNyArMTMxNiw3IEBACiAgKiAzLiBWb2ljZSBkaXNhYmxlZCAtIEhJRkkgb3ZlciBISUZJCiAgKiA0LiBWb2ljZSBkaXNhYmxlZCAtIEhJRkkgb3ZlciBISUZJLCB1c2VzIHZvaWNlIERBSSBMUkMgZm9yIGNhcHR1cmUKICAqLwotc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTg3NTNfYWxsX2RhaVtdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTNfYWxsX2RhaVtdID0gewogLyogREFJIEhpRmkgbW9kZSAxICovCiB7CS5uYW1lID0gIldNODc1MyBIaUZpIiwKIAkuaWQgPSAxLApAQCAtMTQ1OSw3ICsxNDU2LDcgQEAKIH0sCiB9OwogCi1zdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUzX2RhaVsyXTsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg3NTNfZGFpWzJdOwogRVhQT1JUX1NZTUJPTF9HUEwod204NzUzX2RhaSk7CiAKIHN0YXRpYyB2b2lkIHdtODc1M19zZXRfZGFpX21vZGUoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCB1bnNpZ25lZCBpbnQgbW9kZSkKQEAgLTE1MDAsNyArMTQ5Nyw3IEBACiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0KIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfc29jX2NvZGVjLCBkZWxheWVkX3dvcmsud29yayk7Ci0Jd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIGNvZGVjLT5kYXBtX3N0YXRlKTsKKwl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIGNvZGVjLT5iaWFzX2xldmVsKTsKIH0KIAogc3RhdGljIGludCB3bTg3NTNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCkBAIC0xNTEyLDcgKzE1MDksNyBAQAogCWlmICghY29kZWMtPmNhcmQpCiAJCXJldHVybiAwOwogCi0Jd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTE1MzcsMTIgKzE1MzQsMTIgQEAKIAkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250cm9sX2RhdGEsIGRhdGEsIDIpOwogCX0KIAotCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogY2hhcmdlIHdtODc1MyBjYXBzICovCi0JaWYgKGNvZGVjLT5zdXNwZW5kX2RhcG1fc3RhdGUgPT0gU05EUlZfQ1RMX1BPV0VSX0QwKSB7Ci0JCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDIpOwotCQljb2RlYy0+ZGFwbV9zdGF0ZSA9IFNORFJWX0NUTF9QT1dFUl9EMDsKKwlpZiAoY29kZWMtPnN1c3BlbmRfYmlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT04pIHsKKwkJd204NzUzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfUFJFUEFSRSk7CisJCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX09OOwogCQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmssCiAJCQltc2Vjc190b19qaWZmaWVzKGNhcHNfY2hhcmdlKSk7CiAJfQpAQCAtMTU2MywxMCArMTU2MCwxMCBAQAogCWNvZGVjLT5vd25lciA9IFRISVNfTU9EVUxFOwogCWNvZGVjLT5yZWFkID0gd204NzUzX3JlYWRfcmVnX2NhY2hlOwogCWNvZGVjLT53cml0ZSA9IHdtODc1M193cml0ZTsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtODc1M19kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODc1M19zZXRfYmlhc19sZXZlbDsKIAljb2RlYy0+ZGFpID0gd204NzUzX2RhaTsKIAljb2RlYy0+bnVtX2RhaSA9IDI7Ci0JY29kZWMtPnJlZ19jYWNoZV9zaXplID0gc2l6ZW9mKHdtODc1M19yZWcpOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204NzUzX3JlZyk7CiAJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204NzUzX3JlZywgc2l6ZW9mKHdtODc1M19yZWcpLCBHRlBfS0VSTkVMKTsKIAogCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCkBAIC0xNTg0LDggKzE1ODEsOCBAQAogCX0KIAogCS8qIGNoYXJnZSBvdXRwdXQgY2FwcyAqLwotCXdtODc1M19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDIpOwotCWNvZGVjLT5kYXBtX3N0YXRlID0gU05EUlZfQ1RMX1BPV0VSX0QzaG90OworCXdtODc1M19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1BSRVBBUkUpOworCWNvZGVjLT5iaWFzX2xldmVsID0gU05EX1NPQ19CSUFTX1NUQU5EQlk7CiAJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZjb2RlYy0+ZGVsYXllZF93b3JrLAogCQltc2Vjc190b19qaWZmaWVzKGNhcHNfY2hhcmdlKSk7CiAKQEAgLTE2NzMsMTMgKzE2NzAsMTMgQEAKIAogCXJldCA9IGkyY19hdHRhY2hfY2xpZW50KGkyYyk7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gYXR0YWNoIGNvZGVjIGF0IGFkZHIgJXhcbiIsIGFkZHIpOworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CiAJCWdvdG8gZXJyOwogCX0KIAogCXJldCA9IHdtODc1M19pbml0KHNvY2Rldik7CiAJaWYgKHJldCA8IDApIHsKLQkJZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg3NTNcbiIpOworCQlwcl9lcnIoImZhaWxlZCB0byBpbml0aWFsaXNlIFdNODc1M1xuIik7CiAJCWdvdG8gZXJyOwogCX0KIApAQCAtMTczMSw3ICsxNzI4LDcgQEAKIAlzdHJ1Y3Qgd204NzUzX3ByaXYgKndtODc1MzsKIAlpbnQgcmV0ID0gMDsKIAotCWluZm8oIldNODc1MyBBdWRpbyBDb2RlYyAlcyIsIFdNODc1M19WRVJTSU9OKTsKKwlwcl9pbmZvKCJXTTg3NTMgQXVkaW8gQ29kZWMgJXMiLCBXTTg3NTNfVkVSU0lPTik7CiAKIAlzZXR1cCA9IHNvY2Rldi0+Y29kZWNfZGF0YTsKIAljb2RlYyA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBzbmRfc29jX2NvZGVjKSwgR0ZQX0tFUk5FTCk7CkBAIC0xNzkyLDcgKzE3ODksNyBAQAogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKIAlpZiAoY29kZWMtPmNvbnRyb2xfZGF0YSkKLQkJd204NzUzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQpOworCQl3bTg3NTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOwogCXJ1bl9kZWxheWVkX3dvcmsoJmNvZGVjLT5kZWxheWVkX3dvcmspOwogCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CiAJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmggYi9zb3VuZC9zb2MvY29kZWNzL3dtODc1My5oCmluZGV4IDk1ZTJhMWYuLjQ0ZjVmMWYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd204NzUzLmgKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTg3NTMuaApAQCAtMTIwLDcgKzEyMCw3IEBACiAjZGVmaW5lIFdNODc1M19EQUlfSElGSQkJMAogI2RlZmluZSBXTTg3NTNfREFJX1ZPSUNFCQkxCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd204NzUzX2RhaVsyXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd204NzUzX2RhaVsyXTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg3NTM7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg5OTAuYyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VjY2U1MQotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmMKQEAgLTAsMCArMSwxNjI2IEBACisvKgorICogd204OTkwLmMgIC0tICBXTTg5OTAgQUxTQSBTb2MgQXVkaW8gZHJpdmVyCisgKgorICogQ29weXJpZ2h0IDIwMDggV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqIEF1dGhvcjogTGlhbSBHaXJkd29vZAorICogICAgICAgICBsZ0BvcGVuc291cmNlLndvbGZzb25taWNyby5jb20gb3IgbGludXhAd29sZnNvbm1pY3JvLmNvbQorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgorI2luY2x1ZGUgPGxpbnV4L3BtLmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+CisjaW5jbHVkZSA8c291bmQvY29yZS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgorI2luY2x1ZGUgPHNvdW5kL3BjbV9wYXJhbXMuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4KKyNpbmNsdWRlIDxzb3VuZC9zb2MtZGFwbS5oPgorI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KKyNpbmNsdWRlIDxzb3VuZC90bHYuaD4KKyNpbmNsdWRlIDxhc20vZGl2NjQuaD4KKworI2luY2x1ZGUgIndtODk5MC5oIgorCisjZGVmaW5lIEFVRElPX05BTUUgIndtODk5MCIKKyNkZWZpbmUgV004OTkwX1ZFUlNJT04gIjAuMiIKKworLyogY29kZWMgcHJpdmF0ZSBkYXRhICovCitzdHJ1Y3Qgd204OTkwX3ByaXYgeworCXVuc2lnbmVkIGludCBzeXNjbGs7CisJdW5zaWduZWQgaW50IHBjbWNsazsKK307CisKKy8qCisgKiB3bTg5OTAgcmVnaXN0ZXIgY2FjaGUuICBOb3RlIHRoYXQgcmVnaXN0ZXIgMCBpcyBub3QgaW5jbHVkZWQgaW4gdGhlCisgKiBjYWNoZS4KKyAqLworc3RhdGljIGNvbnN0IHUxNiB3bTg5OTBfcmVnW10gPSB7CisJMHg4OTkwLCAgICAgLyogUjAgIC0gUmVzZXQgKi8KKwkweDAwMDAsICAgICAvKiBSMSAgLSBQb3dlciBNYW5hZ2VtZW50ICgxKSAqLworCTB4NjAwMCwgICAgIC8qIFIyICAtIFBvd2VyIE1hbmFnZW1lbnQgKDIpICovCisJMHgwMDAwLCAgICAgLyogUjMgIC0gUG93ZXIgTWFuYWdlbWVudCAoMykgKi8KKwkweDQwNTAsICAgICAvKiBSNCAgLSBBdWRpbyBJbnRlcmZhY2UgKDEpICovCisJMHg0MDAwLCAgICAgLyogUjUgIC0gQXVkaW8gSW50ZXJmYWNlICgyKSAqLworCTB4MDFDOCwgICAgIC8qIFI2ICAtIENsb2NraW5nICgxKSAqLworCTB4MDAwMCwgICAgIC8qIFI3ICAtIENsb2NraW5nICgyKSAqLworCTB4MDA0MCwgICAgIC8qIFI4ICAtIEF1ZGlvIEludGVyZmFjZSAoMykgKi8KKwkweDAwNDAsICAgICAvKiBSOSAgLSBBdWRpbyBJbnRlcmZhY2UgKDQpICovCisJMHgwMDA0LCAgICAgLyogUjEwIC0gREFDIENUUkwgKi8KKwkweDAwQzAsICAgICAvKiBSMTEgLSBMZWZ0IERBQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDBDMCwgICAgIC8qIFIxMiAtIFJpZ2h0IERBQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIxMyAtIERpZ2l0YWwgU2lkZSBUb25lICovCisJMHgwMTAwLCAgICAgLyogUjE0IC0gQURDIENUUkwgKi8KKwkweDAwQzAsICAgICAvKiBSMTUgLSBMZWZ0IEFEQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDBDMCwgICAgIC8qIFIxNiAtIFJpZ2h0IEFEQyBEaWdpdGFsIFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIxNyAqLworCTB4MDAwMCwgICAgIC8qIFIxOCAtIEdQSU8gQ1RSTCAxICovCisJMHgxMDAwLCAgICAgLyogUjE5IC0gR1BJTzEgJiBHUElPMiAqLworCTB4MTAxMCwgICAgIC8qIFIyMCAtIEdQSU8zICYgR1BJTzQgKi8KKwkweDEwMTAsICAgICAvKiBSMjEgLSBHUElPNSAmIEdQSU82ICovCisJMHg4MDAwLCAgICAgLyogUjIyIC0gR1BJT0NUUkwgMiAqLworCTB4MDgwMCwgICAgIC8qIFIyMyAtIEdQSU9fUE9MICovCisJMHgwMDhCLCAgICAgLyogUjI0IC0gTGVmdCBMaW5lIElucHV0IDEmMiBWb2x1bWUgKi8KKwkweDAwOEIsICAgICAvKiBSMjUgLSBMZWZ0IExpbmUgSW5wdXQgMyY0IFZvbHVtZSAqLworCTB4MDA4QiwgICAgIC8qIFIyNiAtIFJpZ2h0IExpbmUgSW5wdXQgMSYyIFZvbHVtZSAqLworCTB4MDA4QiwgICAgIC8qIFIyNyAtIFJpZ2h0IExpbmUgSW5wdXQgMyY0IFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIyOCAtIExlZnQgT3V0cHV0IFZvbHVtZSAqLworCTB4MDAwMCwgICAgIC8qIFIyOSAtIFJpZ2h0IE91dHB1dCBWb2x1bWUgKi8KKwkweDAwNjYsICAgICAvKiBSMzAgLSBMaW5lIE91dHB1dHMgVm9sdW1lICovCisJMHgwMDIyLCAgICAgLyogUjMxIC0gT3V0My80IFZvbHVtZSAqLworCTB4MDA3OSwgICAgIC8qIFIzMiAtIExlZnQgT1BHQSBWb2x1bWUgKi8KKwkweDAwNzksICAgICAvKiBSMzMgLSBSaWdodCBPUEdBIFZvbHVtZSAqLworCTB4MDAwMywgICAgIC8qIFIzNCAtIFNwZWFrZXIgVm9sdW1lICovCisJMHgwMDAzLCAgICAgLyogUjM1IC0gQ2xhc3NEMSAqLworCTB4MDAwMCwgICAgIC8qIFIzNiAqLworCTB4MDEwMCwgICAgIC8qIFIzNyAtIENsYXNzRDMgKi8KKwkweDAwMDAsICAgICAvKiBSMzggKi8KKwkweDAwMDAsICAgICAvKiBSMzkgLSBJbnB1dCBNaXhlcjEgKi8KKwkweDAwMDAsICAgICAvKiBSNDAgLSBJbnB1dCBNaXhlcjIgKi8KKwkweDAwMDAsICAgICAvKiBSNDEgLSBJbnB1dCBNaXhlcjMgKi8KKwkweDAwMDAsICAgICAvKiBSNDIgLSBJbnB1dCBNaXhlcjQgKi8KKwkweDAwMDAsICAgICAvKiBSNDMgLSBJbnB1dCBNaXhlcjUgKi8KKwkweDAwMDAsICAgICAvKiBSNDQgLSBJbnB1dCBNaXhlcjYgKi8KKwkweDAwMDAsICAgICAvKiBSNDUgLSBPdXRwdXQgTWl4ZXIxICovCisJMHgwMDAwLCAgICAgLyogUjQ2IC0gT3V0cHV0IE1peGVyMiAqLworCTB4MDAwMCwgICAgIC8qIFI0NyAtIE91dHB1dCBNaXhlcjMgKi8KKwkweDAwMDAsICAgICAvKiBSNDggLSBPdXRwdXQgTWl4ZXI0ICovCisJMHgwMDAwLCAgICAgLyogUjQ5IC0gT3V0cHV0IE1peGVyNSAqLworCTB4MDAwMCwgICAgIC8qIFI1MCAtIE91dHB1dCBNaXhlcjYgKi8KKwkweDAxODAsICAgICAvKiBSNTEgLSBPdXQzLzQgTWl4ZXIgKi8KKwkweDAwMDAsICAgICAvKiBSNTIgLSBMaW5lIE1peGVyMSAqLworCTB4MDAwMCwgICAgIC8qIFI1MyAtIExpbmUgTWl4ZXIyICovCisJMHgwMDAwLCAgICAgLyogUjU0IC0gU3BlYWtlciBNaXhlciAqLworCTB4MDAwMCwgICAgIC8qIFI1NSAtIEFkZGl0aW9uYWwgQ29udHJvbCAqLworCTB4MDAwMCwgICAgIC8qIFI1NiAtIEFudGlQT1AxICovCisJMHgwMDAwLCAgICAgLyogUjU3IC0gQW50aVBPUDIgKi8KKwkweDAwMDAsICAgICAvKiBSNTggLSBNSUNCSUFTICovCisJMHgwMDAwLCAgICAgLyogUjU5ICovCisJMHgwMDA4LCAgICAgLyogUjYwIC0gUExMMSAqLworCTB4MDAzMSwgICAgIC8qIFI2MSAtIFBMTDIgKi8KKwkweDAwMjYsICAgICAvKiBSNjIgLSBQTEwzICovCit9OworCisvKgorICogcmVhZCB3bTg5OTAgcmVnaXN0ZXIgY2FjaGUKKyAqLworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgd204OTkwX3JlYWRfcmVnX2NhY2hlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwl1bnNpZ25lZCBpbnQgcmVnKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCUJVR19PTihyZWcgPiAoQVJSQVlfU0laRSh3bTg5OTBfcmVnKSkgLSAxKTsKKwlyZXR1cm4gY2FjaGVbcmVnXTsKK30KKworLyoKKyAqIHdyaXRlIHdtODk5MCByZWdpc3RlciBjYWNoZQorICovCitzdGF0aWMgaW5saW5lIHZvaWQgd204OTkwX3dyaXRlX3JlZ19jYWNoZShzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50IHZhbHVlKQoreworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCUJVR19PTihyZWcgPiAoQVJSQVlfU0laRSh3bTg5OTBfcmVnKSkgLSAxKTsKKworCS8qIFJlc2V0IHJlZ2lzdGVyIGlzIHVuY2FjaGVkICovCisJaWYgKHJlZyA9PSAwKQorCQlyZXR1cm47CisKKwljYWNoZVtyZWddID0gdmFsdWU7Cit9CisKKy8qCisgKiB3cml0ZSB0byB0aGUgd204OTkwIHJlZ2lzdGVyIHNwYWNlCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX3dyaXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgdW5zaWduZWQgaW50IHJlZywKKwl1bnNpZ25lZCBpbnQgdmFsdWUpCit7CisJdTggZGF0YVszXTsKKworCWRhdGFbMF0gPSByZWcgJiAweEZGOworCWRhdGFbMV0gPSAodmFsdWUgPj4gOCkgJiAweEZGOworCWRhdGFbMl0gPSB2YWx1ZSAmIDB4RkY7CisKKwl3bTg5OTBfd3JpdGVfcmVnX2NhY2hlKGNvZGVjLCByZWcsIHZhbHVlKTsKKworCWlmIChjb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMykgPT0gMikKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gLUVJTzsKK30KKworI2RlZmluZSB3bTg5OTBfcmVzZXQoYykgd204OTkwX3dyaXRlKGMsIFdNODk5MF9SRVNFVCwgMCkKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihyZWNfbWl4X3RsdiwgLTE1MDAsIDYwMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIoaW5fcGdhX3RsdiwgLTE2NTAsIDMwMDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9taXhfdGx2LCAwLCAtMjEwMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X3BnYV90bHYsIC03MzAwLCA2MDApOworCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfTElORUFSKG91dF9vbWl4X3RsdiwgLTYwMCwgMCk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X2RhY190bHYsIC03MTYzLCAwKTsKKworc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX0xJTkVBUihpbl9hZGNfdGx2LCAtNzE2MywgMTc2Myk7CisKK3N0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9MSU5FQVIob3V0X3NpZGV0b25lX3RsdiwgLTM2MDAsIDApOworCitzdGF0aWMgaW50IHdtODk5eF9vdXRwZ2FfcHV0X3ZvbHN3X3Z1KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOworCWludCByZXQ7CisJdTE2IHZhbDsKKworCXJldCA9IHNuZF9zb2NfcHV0X3ZvbHN3KGtjb250cm9sLCB1Y29udHJvbCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwkvKiBub3cgaGl0IHRoZSB2b2x1bWUgdXBkYXRlIGJpdHMgKGFsd2F5cyBiaXQgOCkgKi8KKwl2YWwgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIHJlZyk7CisJcmV0dXJuIHdtODk5MF93cml0ZShjb2RlYywgcmVnLCB2YWwgfCAweDAxMDApOworfQorCisjZGVmaW5lIFNPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVih4bmFtZSwgcmVnLCBzaGlmdCwgbWF4LCBpbnZlcnQsXAorCSB0bHZfYXJyYXkpIHtcCisJLmlmYWNlID0gU05EUlZfQ1RMX0VMRU1fSUZBQ0VfTUlYRVIsIC5uYW1lID0gKHhuYW1lKSwgXAorCS5hY2Nlc3MgPSBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfVExWX1JFQUQgfFwKKwkJICBTTkRSVl9DVExfRUxFTV9BQ0NFU1NfUkVBRFdSSVRFLFwKKwkudGx2LnAgPSAodGx2X2FycmF5KSwgXAorCS5pbmZvID0gc25kX3NvY19pbmZvX3ZvbHN3LCBcCisJLmdldCA9IHNuZF9zb2NfZ2V0X3ZvbHN3LCAucHV0ID0gd204OTl4X291dHBnYV9wdXRfdm9sc3dfdnUsIFwKKwkucHJpdmF0ZV92YWx1ZSA9IFNPQ19TSU5HTEVfVkFMVUUocmVnLCBzaGlmdCwgbWF4LCBpbnZlcnQpIH0KKworCitzdGF0aWMgY29uc3QgY2hhciAqd204OTkwX2RpZ2l0YWxfc2lkZXRvbmVbXSA9CisJeyJOb25lIiwgIkxlZnQgQURDIiwgIlJpZ2h0IEFEQyIsICJSZXNlcnZlZCJ9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIHdtODk5MF9sZWZ0X2RpZ2l0YWxfc2lkZXRvbmVfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0RJR0lUQUxfU0lERV9UT05FLAorCVdNODk5MF9BRENfVE9fREFDTF9TSElGVCwKKwlXTTg5OTBfQURDX1RPX0RBQ0xfTUFTSywKKwl3bTg5OTBfZGlnaXRhbF9zaWRldG9uZSk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX3JpZ2h0X2RpZ2l0YWxfc2lkZXRvbmVfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0RJR0lUQUxfU0lERV9UT05FLAorCVdNODk5MF9BRENfVE9fREFDUl9TSElGVCwKKwlXTTg5OTBfQURDX1RPX0RBQ1JfTUFTSywKKwl3bTg5OTBfZGlnaXRhbF9zaWRldG9uZSk7CisKK3N0YXRpYyBjb25zdCBjaGFyICp3bTg5OTBfYWRjbW9kZVtdID0KKwl7IkhpLWZpIG1vZGUiLCAiVm9pY2UgbW9kZSAxIiwgIlZvaWNlIG1vZGUgMiIsICJWb2ljZSBtb2RlIDMifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfcmlnaHRfYWRjbW9kZV9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfQURDX0NUUkwsCisJV004OTkwX0FEQ19IUEZfQ1VUX1NISUZULAorCVdNODk5MF9BRENfSFBGX0NVVF9NQVNLLAorCXdtODk5MF9hZGNtb2RlKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9zbmRfY29udHJvbHNbXSA9IHsKKy8qIElOTUlYTCAqLworU09DX1NJTkdMRSgiTElOMTIgUEdBIEJvb3N0IiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX0wxMk1OQlNUX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJMSU4zNCBQR0EgQm9vc3QiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDM0TU5CU1RfQklULCAxLCAwKSwKKy8qIElOTUlYUiAqLworU09DX1NJTkdMRSgiUklOMTIgUEdBIEJvb3N0IiwgV004OTkwX0lOUFVUX01JWEVSMywgV004OTkwX1IxMk1OQlNUX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJSSU4zNCBQR0EgQm9vc3QiLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfUjM0TU5CU1RfQklULCAxLCAwKSwKKworLyogTE9NSVggKi8KK1NPQ19TSU5HTEVfVExWKCJMT01JWCBMSU4zIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSMywKKwlXTTg5OTBfTExJM0xPVk9MX1NISUZULCBXTTg5OTBfTExJM0xPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJMT01JWCBSSU4xMiBQR0EgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVIzLAorCVdNODk5MF9MUjEyTE9WT0xfU0hJRlQsIFdNODk5MF9MUjEyTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIExJTjEyIFBHQSBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjMsCisJV004OTkwX0xMMTJMT1ZPTF9TSElGVCwgV004OTkwX0xMMTJMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggUklOMyBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjUsCisJV004OTkwX0xSSTNMT1ZPTF9TSElGVCwgV004OTkwX0xSSTNMT1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiTE9NSVggQUlOUk1VWCBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjUsCisJV004OTkwX0xSQkxPVk9MX1NISUZULCBXTTg5OTBfTFJCTE9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIkxPTUlYIEFJTkxNVVggQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI1LAorCVdNODk5MF9MUkJMT1ZPTF9TSElGVCwgV004OTkwX0xSQkxPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKKworLyogUk9NSVggKi8KK1NPQ19TSU5HTEVfVExWKCJST01JWCBSSU4zIEJ5cGFzcyBWb2x1bWUiLCBXTTg5OTBfT1VUUFVUX01JWEVSNCwKKwlXTTg5OTBfUlJJM1JPVk9MX1NISUZULCBXTTg5OTBfUlJJM1JPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKK1NPQ19TSU5HTEVfVExWKCJST01JWCBMSU4xMiBQR0EgQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI0LAorCVdNODk5MF9STDEyUk9WT0xfU0hJRlQsIFdNODk5MF9STDEyUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIFJJTjEyIFBHQSBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjQsCisJV004OTkwX1JSMTJST1ZPTF9TSElGVCwgV004OTkwX1JSMTJST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggTElOMyBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjYsCisJV004OTkwX1JMSTNST1ZPTF9TSElGVCwgV004OTkwX1JMSTNST1ZPTF9NQVNLLCAxLCBvdXRfbWl4X3RsdiksCitTT0NfU0lOR0xFX1RMVigiUk9NSVggQUlOTE1VWCBCeXBhc3MgVm9sdW1lIiwgV004OTkwX09VVFBVVF9NSVhFUjYsCisJV004OTkwX1JMQlJPVk9MX1NISUZULCBXTTg5OTBfUkxCUk9WT0xfTUFTSywgMSwgb3V0X21peF90bHYpLAorU09DX1NJTkdMRV9UTFYoIlJPTUlYIEFJTlJNVVggQnlwYXNzIFZvbHVtZSIsIFdNODk5MF9PVVRQVVRfTUlYRVI2LAorCVdNODk5MF9SUkJST1ZPTF9TSElGVCwgV004OTkwX1JSQlJPVk9MX01BU0ssIDEsIG91dF9taXhfdGx2KSwKKworLyogTE9VVCAqLworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJMT1VUIFZvbHVtZSIsIFdNODk5MF9MRUZUX09VVFBVVF9WT0xVTUUsCisJV004OTkwX0xPVVRWT0xfU0hJRlQsIFdNODk5MF9MT1VUVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIkxPVVQgWkMiLCBXTTg5OTBfTEVGVF9PVVRQVVRfVk9MVU1FLCBXTTg5OTBfTE9aQ19CSVQsIDEsIDApLAorCisvKiBST1VUICovCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJPVVQgVm9sdW1lIiwgV004OTkwX1JJR0hUX09VVFBVVF9WT0xVTUUsCisJV004OTkwX1JPVVRWT0xfU0hJRlQsIFdNODk5MF9ST1VUVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIlJPVVQgWkMiLCBXTTg5OTBfUklHSFRfT1VUUFVUX1ZPTFVNRSwgV004OTkwX1JPWkNfQklULCAxLCAwKSwKKworLyogTE9QR0EgKi8KK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTE9QR0EgVm9sdW1lIiwgV004OTkwX0xFRlRfT1BHQV9WT0xVTUUsCisJV004OTkwX0xPUEdBVk9MX1NISUZULCBXTTg5OTBfTE9QR0FWT0xfTUFTSywgMCwgb3V0X3BnYV90bHYpLAorU09DX1NJTkdMRSgiTE9QR0EgWkMgU3dpdGNoIiwgV004OTkwX0xFRlRfT1BHQV9WT0xVTUUsCisJV004OTkwX0xPUEdBWkNfQklULCAxLCAwKSwKKworLyogUk9QR0EgKi8KK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUk9QR0EgVm9sdW1lIiwgV004OTkwX1JJR0hUX09QR0FfVk9MVU1FLAorCVdNODk5MF9ST1BHQVZPTF9TSElGVCwgV004OTkwX1JPUEdBVk9MX01BU0ssIDAsIG91dF9wZ2FfdGx2KSwKK1NPQ19TSU5HTEUoIlJPUEdBIFpDIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9PUEdBX1ZPTFVNRSwKKwlXTTg5OTBfUk9QR0FaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJMT04gTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfTE9OTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiTE9QIE11dGUgU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX0xPUE1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIkxPUCBBdHRlbnVhdGlvbiBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfTE9BVFROX0JJVCwgMSwgMCksCitTT0NfU0lOR0xFKCJST04gTXV0ZSBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfUk9OTVVURV9CSVQsIDEsIDApLAorU09DX1NJTkdMRSgiUk9QIE11dGUgU3dpdGNoIiwgV004OTkwX0xJTkVfT1VUUFVUU19WT0xVTUUsCisJV004OTkwX1JPUE1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIlJPUCBBdHRlbnVhdGlvbiBTd2l0Y2giLCBXTTg5OTBfTElORV9PVVRQVVRTX1ZPTFVNRSwKKwlXTTg5OTBfUk9BVFROX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIk9VVDMgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfT1VUM180X1ZPTFVNRSwKKwlXTTg5OTBfT1VUM01VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIk9VVDMgQXR0ZW51YXRpb24gU3dpdGNoIiwgV004OTkwX09VVDNfNF9WT0xVTUUsCisJV004OTkwX09VVDNBVFROX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIk9VVDQgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfT1VUM180X1ZPTFVNRSwKKwlXTTg5OTBfT1VUNE1VVEVfQklULCAxLCAwKSwKK1NPQ19TSU5HTEUoIk9VVDQgQXR0ZW51YXRpb24gU3dpdGNoIiwgV004OTkwX09VVDNfNF9WT0xVTUUsCisJV004OTkwX09VVDRBVFROX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIlNwZWFrZXIgTW9kZSBTd2l0Y2giLCBXTTg5OTBfQ0xBU1NEMSwKKwlXTTg5OTBfQ0RNT0RFX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIlNwZWFrZXIgT3V0cHV0IEF0dGVudWF0aW9uIFZvbHVtZSIsIFdNODk5MF9TUEVBS0VSX1ZPTFVNRSwKKwlXTTg5OTBfU1BLVk9MX1NISUZULCBXTTg5OTBfU1BLVk9MX01BU0ssIDApLAorU09DX1NJTkdMRSgiU3BlYWtlciBEQyBCb29zdCBWb2x1bWUiLCBXTTg5OTBfQ0xBU1NEMywKKwlXTTg5OTBfRENHQUlOX1NISUZULCBXTTg5OTBfRENHQUlOX01BU0ssIDApLAorU09DX1NJTkdMRSgiU3BlYWtlciBBQyBCb29zdCBWb2x1bWUiLCBXTTg5OTBfQ0xBU1NEMywKKwlXTTg5OTBfQUNHQUlOX1NISUZULCBXTTg5OTBfQUNHQUlOX01BU0ssIDApLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxlZnQgREFDIERpZ2l0YWwgVm9sdW1lIiwKKwlXTTg5OTBfTEVGVF9EQUNfRElHSVRBTF9WT0xVTUUsCisJV004OTkwX0RBQ0xfVk9MX1NISUZULAorCVdNODk5MF9EQUNMX1ZPTF9NQVNLLAorCTAsCisJb3V0X2RhY190bHYpLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIlJpZ2h0IERBQyBEaWdpdGFsIFZvbHVtZSIsCisJV004OTkwX1JJR0hUX0RBQ19ESUdJVEFMX1ZPTFVNRSwKKwlXTTg5OTBfREFDUl9WT0xfU0hJRlQsCisJV004OTkwX0RBQ1JfVk9MX01BU0ssCisJMCwKKwlvdXRfZGFjX3RsdiksCisKK1NPQ19FTlVNKCJMZWZ0IERpZ2l0YWwgU2lkZXRvbmUiLCB3bTg5OTBfbGVmdF9kaWdpdGFsX3NpZGV0b25lX2VudW0pLAorU09DX0VOVU0oIlJpZ2h0IERpZ2l0YWwgU2lkZXRvbmUiLCB3bTg5OTBfcmlnaHRfZGlnaXRhbF9zaWRldG9uZV9lbnVtKSwKKworU09DX1NJTkdMRV9UTFYoIkxlZnQgRGlnaXRhbCBTaWRldG9uZSBWb2x1bWUiLCBXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUsCisJV004OTkwX0FEQ0xfREFDX1NWT0xfU0hJRlQsIFdNODk5MF9BRENMX0RBQ19TVk9MX01BU0ssIDAsCisJb3V0X3NpZGV0b25lX3RsdiksCitTT0NfU0lOR0xFX1RMVigiUmlnaHQgRGlnaXRhbCBTaWRldG9uZSBWb2x1bWUiLCBXTTg5OTBfRElHSVRBTF9TSURFX1RPTkUsCisJV004OTkwX0FEQ1JfREFDX1NWT0xfU0hJRlQsIFdNODk5MF9BRENSX0RBQ19TVk9MX01BU0ssIDAsCisJb3V0X3NpZGV0b25lX3RsdiksCisKK1NPQ19TSU5HTEUoIkFEQyBEaWdpdGFsIEhpZ2ggUGFzcyBGaWx0ZXIgU3dpdGNoIiwgV004OTkwX0FEQ19DVFJMLAorCVdNODk5MF9BRENfSFBGX0VOQV9CSVQsIDEsIDApLAorCitTT0NfRU5VTSgiQURDIEhQRiBNb2RlIiwgd204OTkwX3JpZ2h0X2FkY21vZGVfZW51bSksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTGVmdCBBREMgRGlnaXRhbCBWb2x1bWUiLAorCVdNODk5MF9MRUZUX0FEQ19ESUdJVEFMX1ZPTFVNRSwKKwlXTTg5OTBfQURDTF9WT0xfU0hJRlQsCisJV004OTkwX0FEQ0xfVk9MX01BU0ssCisJMCwKKwlpbl9hZGNfdGx2KSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJSaWdodCBBREMgRGlnaXRhbCBWb2x1bWUiLAorCVdNODk5MF9SSUdIVF9BRENfRElHSVRBTF9WT0xVTUUsCisJV004OTkwX0FEQ1JfVk9MX1NISUZULAorCVdNODk5MF9BRENSX1ZPTF9NQVNLLAorCTAsCisJaW5fYWRjX3RsdiksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiTElOMTIgVm9sdW1lIiwKKwlXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX0xJTjEyVk9MX1NISUZULAorCVdNODk5MF9MSU4xMlZPTF9NQVNLLAorCTAsCisJaW5fcGdhX3RsdiksCisKK1NPQ19TSU5HTEUoIkxJTjEyIFpDIFN3aXRjaCIsIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSwKKwlXTTg5OTBfTEkxMlpDX0JJVCwgMSwgMCksCisKK1NPQ19TSU5HTEUoIkxJTjEyIE11dGUgU3dpdGNoIiwgV004OTkwX0xFRlRfTElORV9JTlBVVF8xXzJfVk9MVU1FLAorCVdNODk5MF9MSTEyTVVURV9CSVQsIDEsIDApLAorCitTT0NfV004OTlYX09VVFBHQV9TSU5HTEVfUl9UTFYoIkxJTjM0IFZvbHVtZSIsCisJV004OTkwX0xFRlRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9MSU4zNFZPTF9TSElGVCwKKwlXTTg5OTBfTElOMzRWT0xfTUFTSywKKwkwLAorCWluX3BnYV90bHYpLAorCitTT0NfU0lOR0xFKCJMSU4zNCBaQyBTd2l0Y2giLCBXTTg5OTBfTEVGVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUsCisJV004OTkwX0xJMzRaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJMSU4zNCBNdXRlIFN3aXRjaCIsIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSwKKwlXTTg5OTBfTEkzNE1VVEVfQklULCAxLCAwKSwKKworU09DX1dNODk5WF9PVVRQR0FfU0lOR0xFX1JfVExWKCJSSU4xMiBWb2x1bWUiLAorCVdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX1JJTjEyVk9MX1NISUZULAorCVdNODk5MF9SSU4xMlZPTF9NQVNLLAorCTAsCisJaW5fcGdhX3RsdiksCisKK1NPQ19TSU5HTEUoIlJJTjEyIFpDIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX1JJMTJaQ19CSVQsIDEsIDApLAorCitTT0NfU0lOR0xFKCJSSU4xMiBNdXRlIFN3aXRjaCIsIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUsCisJV004OTkwX1JJMTJNVVRFX0JJVCwgMSwgMCksCisKK1NPQ19XTTg5OVhfT1VUUEdBX1NJTkdMRV9SX1RMVigiUklOMzQgVm9sdW1lIiwKKwlXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9SSU4zNFZPTF9TSElGVCwKKwlXTTg5OTBfUklOMzRWT0xfTUFTSywKKwkwLAorCWluX3BnYV90bHYpLAorCitTT0NfU0lOR0xFKCJSSU4zNCBaQyBTd2l0Y2giLCBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9SSTM0WkNfQklULCAxLCAwKSwKKworU09DX1NJTkdMRSgiUklOMzQgTXV0ZSBTd2l0Y2giLCBXTTg5OTBfUklHSFRfTElORV9JTlBVVF8zXzRfVk9MVU1FLAorCVdNODk5MF9SSTM0TVVURV9CSVQsIDEsIDApLAorCit9OworCisvKiBhZGQgbm9uIGRhcG0gY29udHJvbHMgKi8KK3N0YXRpYyBpbnQgd204OTkwX2FkZF9jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCit7CisJaW50IGVyciwgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODk5MF9zbmRfY29udHJvbHMpOyBpKyspIHsKKwkJZXJyID0gc25kX2N0bF9hZGQoY29kZWMtPmNhcmQsCisJCQkJc25kX3NvY19jbmV3KCZ3bTg5OTBfc25kX2NvbnRyb2xzW2ldLCBjb2RlYywKKwkJCQkJTlVMTCkpOworCQlpZiAoZXJyIDwgMCkKKwkJCXJldHVybiBlcnI7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogX0RBUE1fIENvbnRyb2xzCisgKi8KKworc3RhdGljIGludCBpbm1peGVyX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LAorCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLCBpbnQgZXZlbnQpCit7CisJdTE2IHJlZywgZmFrZXBvd2VyOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKHctPmNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yKTsKKwlmYWtlcG93ZXIgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9JTlREUklWQklUUyk7CisKKwlpZiAoZmFrZXBvd2VyICYgKCgxIDw8IFdNODk5MF9JTk1JWExfUFdSX0JJVCkgfAorCQkoMSA8PCBXTTg5OTBfQUlOTE1VWF9QV1JfQklUKSkpIHsKKwkJcmVnIHw9IFdNODk5MF9BSU5MX0VOQTsKKwl9IGVsc2UgeworCQlyZWcgJj0gfldNODk5MF9BSU5MX0VOQTsKKwl9CisKKwlpZiAoZmFrZXBvd2VyICYgKCgxIDw8IFdNODk5MF9JTk1JWFJfUFdSX0JJVCkgfAorCQkoMSA8PCBXTTg5OTBfQUlOUk1VWF9QV1JfQklUKSkpIHsKKwkJcmVnIHw9IFdNODk5MF9BSU5SX0VOQTsKKwl9IGVsc2UgeworCQlyZWcgJj0gfldNODk5MF9BSU5MX0VOQTsKKwl9CisJd204OTkwX3dyaXRlKHctPmNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCByZWcpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgb3V0bWl4ZXJfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsCisJc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsIGludCBldmVudCkKK3sKKwl1MzIgcmVnX3NoaWZ0ID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmZjsKKwlpbnQgcmV0ID0gMDsKKwl1MTYgcmVnOworCisJc3dpdGNoIChyZWdfc2hpZnQpIHsKKwljYXNlIFdNODk5MF9TUEVBS0VSX01JWEVSIHwgKFdNODk5MF9MRFNQS19CSVQgPDwgOCkgOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9PVVRQVVRfTUlYRVIxKTsKKwkJaWYgKHJlZyAmIFdNODk5MF9MRExPKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiQ2Fubm90IHNldCBhcyBPdXRwdXQgTWl4ZXIgMSBMRExPIFNldFxuIik7CisJCQlyZXQgPSAtMTsKKwkJfQorCQlicmVhazsKKwljYXNlIFdNODk5MF9TUEVBS0VSX01JWEVSIHwgKFdNODk5MF9SRFNQS19CSVQgPDwgOCk6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX09VVFBVVF9NSVhFUjIpOworCQlpZiAocmVnICYgV004OTkwX1JEUk8pIHsKKwkJCXByaW50ayhLRVJOX1dBUk5JTkcKKwkJCSJDYW5ub3Qgc2V0IGFzIE91dHB1dCBNaXhlciAyIFJEUk8gU2V0XG4iKTsKKwkJCXJldCA9IC0xOworCQl9CisJCWJyZWFrOworCWNhc2UgV004OTkwX09VVFBVVF9NSVhFUjEgfCAoV004OTkwX0xETE9fQklUIDw8IDgpOgorCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUody0+Y29kZWMsIFdNODk5MF9TUEVBS0VSX01JWEVSKTsKKwkJaWYgKHJlZyAmIFdNODk5MF9MRFNQSykgeworCQkJcHJpbnRrKEtFUk5fV0FSTklORworCQkJIkNhbm5vdCBzZXQgYXMgU3BlYWtlciBNaXhlciBMRFNQSyBTZXRcbiIpOworCQkJcmV0ID0gLTE7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfT1VUUFVUX01JWEVSMiB8IChXTTg5OTBfUkRST19CSVQgPDwgOCk6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZSh3LT5jb2RlYywgV004OTkwX1NQRUFLRVJfTUlYRVIpOworCQlpZiAocmVnICYgV004OTkwX1JEU1BLKSB7CisJCQlwcmludGsoS0VSTl9XQVJOSU5HCisJCQkiQ2Fubm90IHNldCBhcyBTcGVha2VyIE1peGVyIFJEU1BLIFNldFxuIik7CisJCQlyZXQgPSAtMTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCisvKiBJTk1JWCBkQiB2YWx1ZXMgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgaW5fbWl4X3RsdltdID0geworCVRMVl9EQl9SQU5HRV9IRUFEKDEpLAorCTAsIDcsIFRMVl9EQl9MSU5FQVJfSVRFTSgtMTIwMCwgNjAwKSwKK307CisKKy8qIExlZnQgSW4gUEdBIENvbm5lY3Rpb25zICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fbGluMTJfcGdhX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxJTjEgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX0xNTjFfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTElOMiBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfTE1QMl9CSVQsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xpbjM0X3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMSU4zIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9MTU4zX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxJTjQgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX0xNUDRfQklULCAxLCAwKSwKK307CisKKy8qIFJpZ2h0IEluIFBHQSBDb25uZWN0aW9ucyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3JpbjEyX3BnYV9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJSSU4xIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9STU4xX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJJTjIgU3dpdGNoIiwgV004OTkwX0lOUFVUX01JWEVSMiwgV004OTkwX1JNUDJfQklULCAxLCAwKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yaW4zNF9wZ2FfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUklOMyBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIyLCBXTTg5OTBfUk1OM19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJSSU40IFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjIsIFdNODk5MF9STVA0X0JJVCwgMSwgMCksCit9OworCisvKiBJTk1JWEwgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9pbm1peGxfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIlJlY29yZCBMZWZ0IFZvbHVtZSIsIFdNODk5MF9JTlBVVF9NSVhFUjMsCisJV004OTkwX0xEQlZPTF9TSElGVCwgV004OTkwX0xEQlZPTF9NQVNLLCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIkxJTjIgVm9sdW1lIiwgV004OTkwX0lOUFVUX01JWEVSNSwgV004OTkwX0xJMkJWT0xfU0hJRlQsCisJNywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEUoIkxJTlBHQTEyIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMTJNTkJfQklULAorCTEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMSU5QR0EzNCBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDM0TU5CX0JJVCwKKwkxLCAwKSwKK307CisKKy8qIElOTUlYUiAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2lubWl4cl9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFX1RMVigiUmVjb3JkIFJpZ2h0IFZvbHVtZSIsIFdNODk5MF9JTlBVVF9NSVhFUjQsCisJV004OTkwX1JEQlZPTF9TSElGVCwgV004OTkwX1JEQlZPTF9NQVNLLCAwLCBpbl9taXhfdGx2KSwKK1NPQ19EQVBNX1NJTkdMRV9UTFYoIlJJTjIgVm9sdW1lIiwgV004OTkwX0lOUFVUX01JWEVSNiwgV004OTkwX1JJMkJWT0xfU0hJRlQsCisJNywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEUoIlJJTlBHQTEyIFN3aXRjaCIsIFdNODk5MF9JTlBVVF9NSVhFUjMsIFdNODk5MF9MMTJNTkJfQklULAorCTEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJSSU5QR0EzNCBTd2l0Y2giLCBXTTg5OTBfSU5QVVRfTUlYRVIzLCBXTTg5OTBfTDM0TU5CX0JJVCwKKwkxLCAwKSwKK307CisKKy8qIEFJTkxNVVggKi8KK3N0YXRpYyBjb25zdCBjaGFyICp3bTg5OTBfYWlubG11eFtdID0KKwl7IklOTUlYTCBNaXgiLCAiUlhWT0lDRSBNaXgiLCAiRElGRklOTCBNaXgifTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzb2NfZW51bSB3bTg5OTBfYWlubG11eF9lbnVtID0KK1NPQ19FTlVNX1NJTkdMRShXTTg5OTBfSU5QVVRfTUlYRVIxLCBXTTg5OTBfQUlOTE1PREVfU0hJRlQsCisJQVJSQVlfU0laRSh3bTg5OTBfYWlubG11eCksIHdtODk5MF9haW5sbXV4KTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2FpbmxtdXhfY29udHJvbHMgPQorU09DX0RBUE1fRU5VTSgiUm91dGUiLCB3bTg5OTBfYWlubG11eF9lbnVtKTsKKworLyogRElGRklOTCAqLworCisvKiBBSU5STVVYICovCitzdGF0aWMgY29uc3QgY2hhciAqd204OTkwX2FpbnJtdXhbXSA9CisJeyJJTk1JWFIgTWl4IiwgIlJYVk9JQ0UgTWl4IiwgIkRJRkZJTlIgTWl4In07CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc29jX2VudW0gd204OTkwX2FpbnJtdXhfZW51bSA9CitTT0NfRU5VTV9TSU5HTEUoV004OTkwX0lOUFVUX01JWEVSMSwgV004OTkwX0FJTlJNT0RFX1NISUZULAorCUFSUkFZX1NJWkUod204OTkwX2FpbnJtdXgpLCB3bTg5OTBfYWlucm11eCk7CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9haW5ybXV4X2NvbnRyb2xzID0KK1NPQ19EQVBNX0VOVU0oIlJvdXRlIiwgd204OTkwX2FpbnJtdXhfZW51bSk7CisKKy8qIFJYVk9JQ0UgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9yeHZvaWNlX2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEVfVExWKCJMSU40L1JYTiIsIFdNODk5MF9JTlBVVF9NSVhFUjUsIFdNODk5MF9MUjRCVk9MX1NISUZULAorCQkJV004OTkwX0xSNEJWT0xfTUFTSywgMCwgaW5fbWl4X3RsdiksCitTT0NfREFQTV9TSU5HTEVfVExWKCJSSU40L1JYUCIsIFdNODk5MF9JTlBVVF9NSVhFUjYsIFdNODk5MF9STDRCVk9MX1NISUZULAorCQkJV004OTkwX1JMNEJWT0xfTUFTSywgMCwgaW5fbWl4X3RsdiksCit9OworCisvKiBMT01JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xvbWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIFJpZ2h0IEFEQyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xSQkxPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIExlZnQgQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTExCTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggUklOMyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xSSTNMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMSwKKwlXTTg5OTBfTExJM0xPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xSMTJMT19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT01JWCBMSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIxLAorCVdNODk5MF9MTDEyTE9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9NSVggTGVmdCBEQUMgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjEsCisJV004OTkwX0xETE9fQklULCAxLCAwKSwKK307CisKKy8qIFJPTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcm9taXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggTGVmdCBBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9STEJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBSaWdodCBBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9SUkJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUkxJM1JPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIFJJTjMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVRQVVRfTUlYRVIyLAorCVdNODk5MF9SUkkzUk9fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9NSVggTElOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfT1VUUFVUX01JWEVSMiwKKwlXTTg5OTBfUkwxMlJPX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JSMTJST19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST01JWCBSaWdodCBEQUMgU3dpdGNoIiwgV004OTkwX09VVFBVVF9NSVhFUjIsCisJV004OTkwX1JEUk9fQklULCAxLCAwKSwKK307CisKKy8qIExPTk1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX2xvbm1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJMT05NSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MTE9QR0FMT05fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiTE9OTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xST1BHQUxPTl9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJMT05NSVggSW52ZXJ0ZWQgTE9QIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMSwKKwlXTTg5OTBfTE9QTE9OX0JJVCwgMSwgMCksCit9OworCisvKiBMT1BNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9sb3BtaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiTE9QTUlYIFJpZ2h0IE1pYyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MUjEyTE9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPUE1JWCBMZWZ0IE1pYyBCeXBhc3MgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIxLAorCVdNODk5MF9MTDEyTE9QX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIkxPUE1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjEsCisJV004OTkwX0xMT1BHQUxPUF9CSVQsIDEsIDApLAorfTsKKworLyogUk9OTUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fcm9ubWl4X2NvbnRyb2xzW10gPSB7CitTT0NfREFQTV9TSU5HTEUoIlJPTk1JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9SUk9QR0FST05fQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9OTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUkxPUEdBUk9OX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlJPTk1JWCBJbnZlcnRlZCBST1AgU3dpdGNoIiwgV004OTkwX0xJTkVfTUlYRVIyLAorCVdNODk5MF9ST1BST05fQklULCAxLCAwKSwKK307CisKKy8qIFJPUE1JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX3JvcG1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJST1BNSVggTGVmdCBNaWMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9MSU5FX01JWEVSMiwKKwlXTTg5OTBfUkwxMlJPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJST1BNSVggUmlnaHQgTWljIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JSMTJST1BfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiUk9QTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCBXTTg5OTBfTElORV9NSVhFUjIsCisJV004OTkwX1JST1BHQVJPUF9CSVQsIDEsIDApLAorfTsKKworLyogT1VUM01JWCAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHdtODk5MF9kYXBtX291dDNtaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiT1VUM01JWCBMSU40L1JYUCBCeXBhc3MgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfTEk0TzNfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiT1VUM01JWCBMZWZ0IE91dCBQR0EgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfTFBHQU8zX0JJVCwgMSwgMCksCit9OworCisvKiBPVVQ0TUlYICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204OTkwX2RhcG1fb3V0NG1peF9jb250cm9sc1tdID0geworU09DX0RBUE1fU0lOR0xFKCJPVVQ0TUlYIFJpZ2h0IE91dCBQR0EgU3dpdGNoIiwgV004OTkwX09VVDNfNF9NSVhFUiwKKwlXTTg5OTBfUlBHQU80X0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIk9VVDRNSVggUklONC9SWFAgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9PVVQzXzRfTUlYRVIsCisJV004OTkwX1JJNE80X0JJVCwgMSwgMCksCit9OworCisvKiBTUEtNSVggKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyB3bTg5OTBfZGFwbV9zcGttaXhfY29udHJvbHNbXSA9IHsKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExJTjIgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MSTJTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExBREMgQnlwYXNzIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MQjJTUEtfQklULCAxLCAwKSwKK1NPQ19EQVBNX1NJTkdMRSgiU1BLTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsIFdNODk5MF9TUEVBS0VSX01JWEVSLAorCVdNODk5MF9MT1BHQVNQS19CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggTGVmdCBEQUMgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX0xEU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSaWdodCBEQUMgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JEU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JPUEdBU1BLX0JJVCwgMSwgMCksCitTT0NfREFQTV9TSU5HTEUoIlNQS01JWCBSQURDIEJ5cGFzcyBTd2l0Y2giLCBXTTg5OTBfU1BFQUtFUl9NSVhFUiwKKwlXTTg5OTBfUkwxMlJPUF9CSVQsIDEsIDApLAorU09DX0RBUE1fU0lOR0xFKCJTUEtNSVggUklOMiBCeXBhc3MgU3dpdGNoIiwgV004OTkwX1NQRUFLRVJfTUlYRVIsCisJV004OTkwX1JJMlNQS19CSVQsIDEsIDApLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0IHdtODk5MF9kYXBtX3dpZGdldHNbXSA9IHsKKy8qIElucHV0IFNpZGUgKi8KKy8qIElucHV0IExpbmVzICovCitTTkRfU09DX0RBUE1fSU5QVVQoIkxJTjEiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiTElOMiIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJMSU4zIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkxJTjQvUlhOIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIlJJTjMiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiUklONC9SWFAiKSwKK1NORF9TT0NfREFQTV9JTlBVVCgiUklOMSIpLAorU05EX1NPQ19EQVBNX0lOUFVUKCJSSU4yIiksCitTTkRfU09DX0RBUE1fSU5QVVQoIkludGVybmFsIEFEQyBTb3VyY2UiKSwKKworLyogREFDcyAqLworU05EX1NPQ19EQVBNX0FEQygiTGVmdCBBREMiLCAiTGVmdCBDYXB0dXJlIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwKKwlXTTg5OTBfQURDTF9FTkFfQklULCAwKSwKK1NORF9TT0NfREFQTV9BREMoIlJpZ2h0IEFEQyIsICJSaWdodCBDYXB0dXJlIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwKKwlXTTg5OTBfQURDUl9FTkFfQklULCAwKSwKKworLyogSW5wdXQgUEdBcyAqLworU05EX1NPQ19EQVBNX01JWEVSKCJMSU4xMiBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCBXTTg5OTBfTElOMTJfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fbGluMTJfcGdhX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbGluMTJfcGdhX2NvbnRyb2xzKSksCitTTkRfU09DX0RBUE1fTUlYRVIoIkxJTjM0IFBHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIFdNODk5MF9MSU4zNF9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9saW4zNF9wZ2FfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9saW4zNF9wZ2FfY29udHJvbHMpKSwKK1NORF9TT0NfREFQTV9NSVhFUigiUklOMTIgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMiwgV004OTkwX1JJTjEyX0VOQV9CSVQsCisJMCwgJndtODk5MF9kYXBtX3JpbjEyX3BnYV9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX3JpbjEyX3BnYV9jb250cm9scykpLAorU05EX1NPQ19EQVBNX01JWEVSKCJSSU4zNCBQR0EiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCBXTTg5OTBfUklOMzRfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fcmluMzRfcGdhX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcmluMzRfcGdhX2NvbnRyb2xzKSksCisKKy8qIElOTUlYTCAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIklOTUlYTCIsIFdNODk5MF9JTlREUklWQklUUywgV004OTkwX0lOTUlYTF9QV1JfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9pbm1peGxfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9pbm1peGxfY29udHJvbHMpLAorCWlubWl4ZXJfZXZlbnQsIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksCisKKy8qIEFJTkxNVVggKi8KK1NORF9TT0NfREFQTV9NVVhfRSgiQUlMTk1VWCIsIFdNODk5MF9JTlREUklWQklUUywgV004OTkwX0FJTkxNVVhfUFdSX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fYWlubG11eF9jb250cm9scywgaW5taXhlcl9ldmVudCwKKwlTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLAorCisvKiBJTk1JWFIgKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJJTk1JWFIiLCBXTTg5OTBfSU5URFJJVkJJVFMsIFdNODk5MF9JTk1JWFJfUFdSX0JJVCwgMCwKKwkmd204OTkwX2RhcG1faW5taXhyX2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1faW5taXhyX2NvbnRyb2xzKSwKKwlpbm1peGVyX2V2ZW50LCBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLAorCisvKiBBSU5STVVYICovCitTTkRfU09DX0RBUE1fTVVYX0UoIkFJUk5NVVgiLCBXTTg5OTBfSU5URFJJVkJJVFMsIFdNODk5MF9BSU5STVVYX1BXUl9CSVQsIDAsCisJJndtODk5MF9kYXBtX2FpbnJtdXhfY29udHJvbHMsIGlubWl4ZXJfZXZlbnQsCisJU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwKKworLyogT3V0cHV0IFNpZGUgKi8KKy8qIERBQ3MgKi8KK1NORF9TT0NfREFQTV9EQUMoIkxlZnQgREFDIiwgIkxlZnQgUGxheWJhY2siLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLAorCVdNODk5MF9EQUNMX0VOQV9CSVQsIDApLAorU05EX1NPQ19EQVBNX0RBQygiUmlnaHQgREFDIiwgIlJpZ2h0IFBsYXliYWNrIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywKKwlXTTg5OTBfREFDUl9FTkFfQklULCAwKSwKKworLyogTE9NSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUl9FKCJMT01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9MT01JWF9FTkFfQklULAorCTAsICZ3bTg5OTBfZGFwbV9sb21peF9jb250cm9sc1swXSwKKwlBUlJBWV9TSVpFKHdtODk5MF9kYXBtX2xvbWl4X2NvbnRyb2xzKSwKKwlvdXRtaXhlcl9ldmVudCwgU05EX1NPQ19EQVBNX1BSRV9SRUcpLAorCisvKiBMT05NSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiTE9OTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX0xPTl9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9sb25taXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9sb25taXhfY29udHJvbHMpKSwKKworLyogTE9QTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIkxPUE1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9MT1BfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fbG9wbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fbG9wbWl4X2NvbnRyb2xzKSksCisKKy8qIE9VVDNNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiT1VUM01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9PVVQzX0VOQV9CSVQsIDAsCisJJndtODk5MF9kYXBtX291dDNtaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9vdXQzbWl4X2NvbnRyb2xzKSksCisKKy8qIFNQS01JWCAqLworU05EX1NPQ19EQVBNX01JWEVSX0UoIlNQS01JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIFdNODk5MF9TUEtfRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fc3BrbWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fc3BrbWl4X2NvbnRyb2xzKSwgb3V0bWl4ZXJfZXZlbnQsCisJU05EX1NPQ19EQVBNX1BSRV9SRUcpLAorCisvKiBPVVQ0TUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIk9VVDRNSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8xLCBXTTg5OTBfT1VUNF9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9vdXQ0bWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fb3V0NG1peF9jb250cm9scykpLAorCisvKiBST1BNSVggKi8KK1NORF9TT0NfREFQTV9NSVhFUigiUk9QTUlYIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX1JPUF9FTkFfQklULCAwLAorCSZ3bTg5OTBfZGFwbV9yb3BtaXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yb3BtaXhfY29udHJvbHMpKSwKKworLyogUk9OTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVIoIlJPTk1JWCIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9ST05fRU5BX0JJVCwgMCwKKwkmd204OTkwX2RhcG1fcm9ubWl4X2NvbnRyb2xzWzBdLAorCUFSUkFZX1NJWkUod204OTkwX2RhcG1fcm9ubWl4X2NvbnRyb2xzKSksCisKKy8qIFJPTUlYICovCitTTkRfU09DX0RBUE1fTUlYRVJfRSgiUk9NSVgiLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8zLCBXTTg5OTBfUk9NSVhfRU5BX0JJVCwKKwkwLCAmd204OTkwX2RhcG1fcm9taXhfY29udHJvbHNbMF0sCisJQVJSQVlfU0laRSh3bTg5OTBfZGFwbV9yb21peF9jb250cm9scyksCisJb3V0bWl4ZXJfZXZlbnQsIFNORF9TT0NfREFQTV9QUkVfUkVHKSwKKworLyogTE9VVCBQR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIkxPVVQgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX0xPVVRfRU5BX0JJVCwgMCwKKwlOVUxMLCAwKSwKKworLyogUk9VVCBQR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIlJPVVQgUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgV004OTkwX1JPVVRfRU5BX0JJVCwgMCwKKwlOVUxMLCAwKSwKKworLyogTE9QR0EgKi8KK1NORF9TT0NfREFQTV9QR0EoIkxPUEdBIiwgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMywgV004OTkwX0xPUEdBX0VOQV9CSVQsIDAsCisJTlVMTCwgMCksCisKKy8qIFJPUEdBICovCitTTkRfU09DX0RBUE1fUEdBKCJST1BHQSIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMsIFdNODk5MF9ST1BHQV9FTkFfQklULCAwLAorCU5VTEwsIDApLAorCisvKiBNSUNCSUFTICovCitTTkRfU09DX0RBUE1fTUlDQklBUygiTUlDQklBUyIsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsCisJV004OTkwX01JQ0JJQVNfRU5BX0JJVCwgMCksCisKK1NORF9TT0NfREFQTV9PVVRQVVQoIkxPTiIpLAorU05EX1NPQ19EQVBNX09VVFBVVCgiTE9QIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJPVVQzIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJMT1VUIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtOIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJTUEtQIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJST1VUIiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJPVVQ0IiksCitTTkRfU09DX0RBUE1fT1VUUFVUKCJST1AiKSwKK1NORF9TT0NfREFQTV9PVVRQVVQoIlJPTiIpLAorCitTTkRfU09DX0RBUE1fT1VUUFVUKCJJbnRlcm5hbCBEQUMgU2luayIpLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CisJLyogTWFrZSBEQUNzIHR1cm4gb24gd2hlbiBwbGF5aW5nIGV2ZW4gaWYgbm90IG1peGVkIGludG8gYW55IG91dHB1dHMgKi8KKwl7IkludGVybmFsIERBQyBTaW5rIiwgTlVMTCwgIkxlZnQgREFDIn0sCisJeyJJbnRlcm5hbCBEQUMgU2luayIsIE5VTEwsICJSaWdodCBEQUMifSwKKworCS8qIE1ha2UgQURDcyB0dXJuIG9uIHdoZW4gcmVjb3JkaW5nIGV2ZW4gaWYgbm90IG1peGVkIGZyb20gYW55IGlucHV0cyAqLworCXsiTGVmdCBBREMiLCBOVUxMLCAiSW50ZXJuYWwgQURDIFNvdXJjZSJ9LAorCXsiUmlnaHQgQURDIiwgTlVMTCwgIkludGVybmFsIEFEQyBTb3VyY2UifSwKKworCS8qIElucHV0IFNpZGUgKi8KKwkvKiBMSU4xMiBQR0EgKi8KKwl7IkxJTjEyIFBHQSIsICJMSU4xIFN3aXRjaCIsICJMSU4xIn0sCisJeyJMSU4xMiBQR0EiLCAiTElOMiBTd2l0Y2giLCAiTElOMiJ9LAorCS8qIExJTjM0IFBHQSAqLworCXsiTElOMzQgUEdBIiwgIkxJTjMgU3dpdGNoIiwgIkxJTjMifSwKKwl7IkxJTjM0IFBHQSIsICJMSU40IFN3aXRjaCIsICJMSU40In0sCisJLyogSU5NSVhMICovCisJeyJJTk1JWEwiLCAiUmVjb3JkIExlZnQgVm9sdW1lIiwgIkxPTUlYIn0sCisJeyJJTk1JWEwiLCAiTElOMiBWb2x1bWUiLCAiTElOMiJ9LAorCXsiSU5NSVhMIiwgIkxJTlBHQTEyIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IklOTUlYTCIsICJMSU5QR0EzNCBTd2l0Y2giLCAiTElOMzQgUEdBIn0sCisJLyogQUlMTk1VWCAqLworCXsiQUlMTk1VWCIsICJJTk1JWEwgTWl4IiwgIklOTUlYTCJ9LAorCXsiQUlMTk1VWCIsICJESUZGSU5MIE1peCIsICJMSU4xMlBHQSJ9LAorCXsiQUlMTk1VWCIsICJESUZGSU5MIE1peCIsICJMSU4zNFBHQSJ9LAorCXsiQUlMTk1VWCIsICJSWFZPSUNFIE1peCIsICJMSU40L1JYTiJ9LAorCXsiQUlMTk1VWCIsICJSWFZPSUNFIE1peCIsICJSSU40L1JYUCJ9LAorCS8qIEFEQyAqLworCXsiTGVmdCBBREMiLCBOVUxMLCAiQUlMTk1VWCJ9LAorCisJLyogUklOMTIgUEdBICovCisJeyJSSU4xMiBQR0EiLCAiUklOMSBTd2l0Y2giLCAiUklOMSJ9LAorCXsiUklOMTIgUEdBIiwgIlJJTjIgU3dpdGNoIiwgIlJJTjIifSwKKwkvKiBSSU4zNCBQR0EgKi8KKwl7IlJJTjM0IFBHQSIsICJSSU4zIFN3aXRjaCIsICJSSU4zIn0sCisJeyJSSU4zNCBQR0EiLCAiUklONCBTd2l0Y2giLCAiUklONCJ9LAorCS8qIElOTUlYTCAqLworCXsiSU5NSVhSIiwgIlJlY29yZCBSaWdodCBWb2x1bWUiLCAiUk9NSVgifSwKKwl7IklOTUlYUiIsICJSSU4yIFZvbHVtZSIsICJSSU4yIn0sCisJeyJJTk1JWFIiLCAiUklOUEdBMTIgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiSU5NSVhSIiwgIlJJTlBHQTM0IFN3aXRjaCIsICJSSU4zNCBQR0EifSwKKwkvKiBBSVJOTVVYICovCisJeyJBSVJOTVVYIiwgIklOTUlYUiBNaXgiLCAiSU5NSVhSIn0sCisJeyJBSVJOTVVYIiwgIkRJRkZJTlIgTWl4IiwgIlJJTjEyUEdBIn0sCisJeyJBSVJOTVVYIiwgIkRJRkZJTlIgTWl4IiwgIlJJTjM0UEdBIn0sCisJeyJBSVJOTVVYIiwgIlJYVk9JQ0UgTWl4IiwgIlJJTjQvUlhOIn0sCisJeyJBSVJOTVVYIiwgIlJYVk9JQ0UgTWl4IiwgIlJJTjQvUlhQIn0sCisJLyogQURDICovCisJeyJSaWdodCBBREMiLCBOVUxMLCAiQUlSTk1VWCJ9LAorCisJLyogTE9NSVggKi8KKwl7IkxPTUlYIiwgIkxPTUlYIFJJTjMgQnlwYXNzIFN3aXRjaCIsICJSSU4zIn0sCisJeyJMT01JWCIsICJMT01JWCBMSU4zIEJ5cGFzcyBTd2l0Y2giLCAiTElOMyJ9LAorCXsiTE9NSVgiLCAiTE9NSVggTElOMTIgUEdBIEJ5cGFzcyBTd2l0Y2giLCAiTElOMTIgUEdBIn0sCisJeyJMT01JWCIsICJMT01JWCBSSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsICJSSU4xMiBQR0EifSwKKwl7IkxPTUlYIiwgIkxPTUlYIFJpZ2h0IEFEQyBCeXBhc3MgU3dpdGNoIiwgIkFJTlJNVVgifSwKKwl7IkxPTUlYIiwgIkxPTUlYIExlZnQgQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOTE1VWCJ9LAorCXsiTE9NSVgiLCAiTE9NSVggTGVmdCBEQUMgU3dpdGNoIiwgIkxlZnQgREFDIn0sCisKKwkvKiBST01JWCAqLworCXsiUk9NSVgiLCAiUk9NSVggUklOMyBCeXBhc3MgU3dpdGNoIiwgIlJJTjMifSwKKwl7IlJPTUlYIiwgIlJPTUlYIExJTjMgQnlwYXNzIFN3aXRjaCIsICJMSU4zIn0sCisJeyJST01JWCIsICJST01JWCBMSU4xMiBQR0EgQnlwYXNzIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IlJPTUlYIiwgIlJPTUlYIFJJTjEyIFBHQSBCeXBhc3MgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiUk9NSVgiLCAiUk9NSVggUmlnaHQgQURDIEJ5cGFzcyBTd2l0Y2giLCAiQUlOUk1VWCJ9LAorCXsiUk9NSVgiLCAiUk9NSVggTGVmdCBBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5MTVVYIn0sCisJeyJST01JWCIsICJST01JWCBSaWdodCBEQUMgU3dpdGNoIiwgIlJpZ2h0IERBQyJ9LAorCisJLyogU1BLTUlYICovCisJeyJTUEtNSVgiLCAiU1BLTUlYIExJTjIgQnlwYXNzIFN3aXRjaCIsICJMSU4yIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJJTjIgQnlwYXNzIFN3aXRjaCIsICJSSU4yIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIExBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5MTVVYIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJBREMgQnlwYXNzIFN3aXRjaCIsICJBSU5STVVYIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIExlZnQgTWl4ZXIgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCXsiU1BLTUlYIiwgIlNQS01JWCBSaWdodCBNaXhlciBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIFJpZ2h0IERBQyBTd2l0Y2giLCAiUmlnaHQgREFDIn0sCisJeyJTUEtNSVgiLCAiU1BLTUlYIExlZnQgREFDIFN3aXRjaCIsICJSaWdodCBEQUMifSwKKworCS8qIExPTk1JWCAqLworCXsiTE9OTUlYIiwgIkxPTk1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKwl7IkxPTk1JWCIsICJMT05NSVggUmlnaHQgTWl4ZXIgUEdBIFN3aXRjaCIsICJST1BHQSJ9LAorCXsiTE9OTUlYIiwgIkxPTk1JWCBJbnZlcnRlZCBMT1AgU3dpdGNoIiwgIkxPUE1JWCJ9LAorCisJLyogTE9QTUlYICovCisJeyJMT1BNSVgiLCAiTE9QTUlYIFJpZ2h0IE1pYyBCeXBhc3MgU3dpdGNoIiwgIlJJTjEyIFBHQSJ9LAorCXsiTE9QTUlYIiwgIkxPUE1JWCBMZWZ0IE1pYyBCeXBhc3MgU3dpdGNoIiwgIkxJTjEyIFBHQSJ9LAorCXsiTE9QTUlYIiwgIkxPUE1JWCBMZWZ0IE1peGVyIFBHQSBTd2l0Y2giLCAiTE9QR0EifSwKKworCS8qIE9VVDNNSVggKi8KKwl7Ik9VVDNNSVgiLCAiT1VUM01JWCBMSU40L1JYUCBCeXBhc3MgU3dpdGNoIiwgIkxJTjQvUlhQIn0sCisJeyJPVVQzTUlYIiwgIk9VVDNNSVggTGVmdCBPdXQgUEdBIFN3aXRjaCIsICJMT1BHQSJ9LAorCisJLyogT1VUNE1JWCAqLworCXsiT1VUNE1JWCIsICJPVVQ0TUlYIFJpZ2h0IE91dCBQR0EgU3dpdGNoIiwgIlJPUEdBIn0sCisJeyJPVVQ0TUlYIiwgIk9VVDRNSVggUklONC9SWFAgQnlwYXNzIFN3aXRjaCIsICJSSU40L1JYUCJ9LAorCisJLyogUk9OTUlYICovCisJeyJST05NSVgiLCAiUk9OTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKwl7IlJPTk1JWCIsICJST05NSVggTGVmdCBNaXhlciBQR0EgU3dpdGNoIiwgIkxPUEdBIn0sCisJeyJST05NSVgiLCAiUk9OTUlYIEludmVydGVkIFJPUCBTd2l0Y2giLCAiUk9QTUlYIn0sCisKKwkvKiBST1BNSVggKi8KKwl7IlJPUE1JWCIsICJST1BNSVggTGVmdCBNaWMgQnlwYXNzIFN3aXRjaCIsICJMSU4xMiBQR0EifSwKKwl7IlJPUE1JWCIsICJST1BNSVggUmlnaHQgTWljIEJ5cGFzcyBTd2l0Y2giLCAiUklOMTIgUEdBIn0sCisJeyJST1BNSVgiLCAiUk9QTUlYIFJpZ2h0IE1peGVyIFBHQSBTd2l0Y2giLCAiUk9QR0EifSwKKworCS8qIE91dCBNaXhlciBQR0FzICovCisJeyJMT1BHQSIsIE5VTEwsICJMT01JWCJ9LAorCXsiUk9QR0EiLCBOVUxMLCAiUk9NSVgifSwKKworCXsiTE9VVCBQR0EiLCBOVUxMLCAiTE9NSVgifSwKKwl7IlJPVVQgUEdBIiwgTlVMTCwgIlJPTUlYIn0sCisKKwkvKiBPdXRwdXQgUGlucyAqLworCXsiTE9OIiwgTlVMTCwgIkxPTk1JWCJ9LAorCXsiTE9QIiwgTlVMTCwgIkxPUE1JWCJ9LAorCXsiT1VUIiwgTlVMTCwgIk9VVDNNSVgifSwKKwl7IkxPVVQiLCBOVUxMLCAiTE9VVCBQR0EifSwKKwl7IlNQS04iLCBOVUxMLCAiU1BLTUlYIn0sCisJeyJST1VUIiwgTlVMTCwgIlJPVVQgUEdBIn0sCisJeyJPVVQ0IiwgTlVMTCwgIk9VVDRNSVgifSwKKwl7IlJPUCIsIE5VTEwsICJST1BNSVgifSwKKwl7IlJPTiIsIE5VTEwsICJST05NSVgifSwKK307CisKK3N0YXRpYyBpbnQgd204OTkwX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKK3sKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg5OTBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg5OTBfZGFwbV93aWRnZXRzKSk7CisKKwkvKiBzZXQgdXAgdGhlIFdNODk5MCBhdWRpbyBtYXAgKi8KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOworCisJc25kX3NvY19kYXBtX25ld193aWRnZXRzKGNvZGVjKTsKKwlyZXR1cm4gMDsKK30KKworLyogUExMIGRpdmlzb3JzICovCitzdHJ1Y3QgX3BsbF9kaXYgeworCXUzMiBkaXYyOworCXUzMiBuOworCXUzMiBrOworfTsKKworLyogVGhlIHNpemUgaW4gYml0cyBvZiB0aGUgcGxsIGRpdmlkZSBtdWx0aXBsaWVkIGJ5IDEwCisgKiB0byBhbGxvdyByb3VuZGluZyBsYXRlciAqLworI2RlZmluZSBGSVhFRF9QTExfU0laRSAoKDEgPDwgMTYpICogMTApCisKK3N0YXRpYyB2b2lkIHBsbF9mYWN0b3JzKHN0cnVjdCBfcGxsX2RpdiAqcGxsX2RpdiwgdW5zaWduZWQgaW50IHRhcmdldCwKKwl1bnNpZ25lZCBpbnQgc291cmNlKQoreworCXU2NCBLcGFydDsKKwl1bnNpZ25lZCBpbnQgSywgTmRpdiwgTm1vZDsKKworCisJTmRpdiA9IHRhcmdldCAvIHNvdXJjZTsKKwlpZiAoTmRpdiA8IDYpIHsKKwkJc291cmNlID4+PSAxOworCQlwbGxfZGl2LT5kaXYyID0gMTsKKwkJTmRpdiA9IHRhcmdldCAvIHNvdXJjZTsKKwl9IGVsc2UKKwkJcGxsX2Rpdi0+ZGl2MiA9IDA7CisKKwlpZiAoKE5kaXYgPCA2KSB8fCAoTmRpdiA+IDEyKSkKKwkJcHJpbnRrKEtFUk5fV0FSTklORworCQkiV004OTkwIE4gdmFsdWUgb3V0d2l0aCByZWNvbW1lbmRlZCByYW5nZSEgTiA9ICVkXG4iLCBOZGl2KTsKKworCXBsbF9kaXYtPm4gPSBOZGl2OworCU5tb2QgPSB0YXJnZXQgJSBzb3VyY2U7CisJS3BhcnQgPSBGSVhFRF9QTExfU0laRSAqIChsb25nIGxvbmcpTm1vZDsKKworCWRvX2RpdihLcGFydCwgc291cmNlKTsKKworCUsgPSBLcGFydCAmIDB4RkZGRkZGRkY7CisKKwkvKiBDaGVjayBpZiB3ZSBuZWVkIHRvIHJvdW5kICovCisJaWYgKChLICUgMTApID49IDUpCisJCUsgKz0gNTsKKworCS8qIE1vdmUgZG93biB0byBwcm9wZXIgcmFuZ2Ugbm93IHJvdW5kaW5nIGlzIGRvbmUgKi8KKwlLIC89IDEwOworCisJcGxsX2Rpdi0+ayA9IEs7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQoreworCXUxNiByZWc7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlzdHJ1Y3QgX3BsbF9kaXYgcGxsX2RpdjsKKworCWlmIChmcmVxX2luICYmIGZyZXFfb3V0KSB7CisJCXBsbF9mYWN0b3JzKCZwbGxfZGl2LCBmcmVxX291dCAqIDQsIGZyZXFfaW4pOworCisJCS8qIFR1cm4gb24gUExMICovCisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMik7CisJCXJlZyB8PSBXTTg5OTBfUExMX0VOQTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yLCByZWcpOworCisJCS8qIHN5c2NsayBjb21lcyBmcm9tIFBMTCAqLworCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yKTsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMiwgcmVnIHwgV004OTkwX1NZU0NMS19TUkMpOworCisJCS8qIHNldCB1cCBOICwgZnJhY3Rpb25hbCBtb2RlIGFuZCBwcmUtZGl2aXNvciBpZiBuZWNjZXNzYXJ5ICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BMTDEsIHBsbF9kaXYubiB8IFdNODk5MF9TRE0gfAorCQkJKHBsbF9kaXYuZGl2Mj9XTTg5OTBfUFJFU0NBTEU6MCkpOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QTEwyLCAodTgpKHBsbF9kaXYuaz4+OCkpOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QTEwzLCAodTgpKHBsbF9kaXYuayAmIDB4RkYpKTsKKwl9IGVsc2UgeworCQkvKiBUdXJuIG9uIFBMTCAqLworCQlyZWcgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIpOworCQlyZWcgJj0gfldNODk5MF9QTExfRU5BOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIHJlZyk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQ2xvY2sgYWZ0ZXIgUExMIGFuZCBkaXZpZGVycworICovCitzdGF0aWMgaW50IHdtODk5MF9zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKKwkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKKwlzdHJ1Y3Qgd204OTkwX3ByaXYgKndtODk5MCA9IGNvZGVjLT5wcml2YXRlX2RhdGE7CisKKwl3bTg5OTAtPnN5c2NsayA9IGZyZXE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTZXQncyBBREMgYW5kIFZvaWNlIERBQyBmb3JtYXQuCisgKi8KK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQl1bnNpZ25lZCBpbnQgZm10KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IGF1ZGlvMSwgYXVkaW8zOworCisJYXVkaW8xID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEpOworCWF1ZGlvMyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8zKTsKKworCS8qIHNldCBtYXN0ZXIvc2xhdmUgYXVkaW8gaW50ZXJmYWNlICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9NQVNURVJfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUzoKKwkJYXVkaW8zICY9IH5XTTg5OTBfQUlGX01TVFIxOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX0NCTV9DRk06CisJCWF1ZGlvMyB8PSBXTTg5OTBfQUlGX01TVFIxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlhdWRpbzEgJj0gfldNODk5MF9BSUZfRk1UX01BU0s7CisKKwkvKiBpbnRlcmZhY2UgZm9ybWF0ICovCisJc3dpdGNoIChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgeworCWNhc2UgU05EX1NPQ19EQUlGTVRfSTJTOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfSTJTOworCQlhdWRpbzEgJj0gfldNODk5MF9BSUZfTFJDTEtfSU5WOworCQlicmVhazsKKwljYXNlIFNORF9TT0NfREFJRk1UX1JJR0hUX0o6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9SSUdIVEo7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfTEVGVF9KOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9UTUZfTEVGVEo7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0E6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9EU1A7CisJCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9MUkNMS19JTlY7CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0I6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1RNRl9EU1AgfCBXTTg5OTBfQUlGX0xSQ0xLX0lOVjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEsIGF1ZGlvMSk7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzMsIGF1ZGlvMyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3NldF9kYWlfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpLAorCQlpbnQgZGl2X2lkLCBpbnQgZGl2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGNvZGVjX2RhaS0+Y29kZWM7CisJdTE2IHJlZzsKKworCXN3aXRjaCAoZGl2X2lkKSB7CisJY2FzZSBXTTg5OTBfTUNMS19ESVY6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIpICYKKwkJCX5XTTg5OTBfTUNMS19ESVZfTUFTSzsKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMiwgcmVnIHwgZGl2KTsKKwkJYnJlYWs7CisJY2FzZSBXTTg5OTBfREFDQ0xLX0RJVjoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMikgJgorCQkJfldNODk5MF9EQUNfQ0xLRElWX01BU0s7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIsIHJlZyB8IGRpdik7CisJCWJyZWFrOworCWNhc2UgV004OTkwX0FEQ0NMS19ESVY6CisJCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0NMT0NLSU5HXzIpICYKKwkJCX5XTTg5OTBfQURDX0NMS0RJVl9NQVNLOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18yLCByZWcgfCBkaXYpOworCQlicmVhazsKKwljYXNlIFdNODk5MF9CQ0xLX0RJVjoKKwkJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQ0xPQ0tJTkdfMSkgJgorCQkJfldNODk5MF9CQ0xLX0RJVl9NQVNLOworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9DTE9DS0lOR18xLCByZWcgfCBkaXYpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCBQQ00gREFJIGJpdCBzaXplIGFuZCBzYW1wbGUgcmF0ZS4KKyAqLworc3RhdGljIGludCB3bTg5OTBfaHdfcGFyYW1zKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtLAorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQoreworCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IGF1ZGlvMSA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV8xKTsKKworCWF1ZGlvMSAmPSB+V004OTkwX0FJRl9XTF9NQVNLOworCS8qIGJpdCBzaXplICovCisJc3dpdGNoIChwYXJhbXNfZm9ybWF0KHBhcmFtcykpIHsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFOgorCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzIwXzNMRToKKwkJYXVkaW8xIHw9IFdNODk5MF9BSUZfV0xfMjBCSVRTOworCQlicmVhazsKKwljYXNlIFNORFJWX1BDTV9GT1JNQVRfUzI0X0xFOgorCQlhdWRpbzEgfD0gV004OTkwX0FJRl9XTF8yNEJJVFM7CisJCWJyZWFrOworCWNhc2UgU05EUlZfUENNX0ZPUk1BVF9TMzJfTEU6CisJCWF1ZGlvMSB8PSBXTTg5OTBfQUlGX1dMXzMyQklUUzsKKwkJYnJlYWs7CisJfQorCisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzEsIGF1ZGlvMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX211dGUoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIGludCBtdXRlKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IGRhaS0+Y29kZWM7CisJdTE2IHZhbDsKKworCXZhbCAgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCkgJiB+V004OTkwX0RBQ19NVVRFOworCisJaWYgKG11dGUpCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0RBQ19DVFJMLCB2YWwgfCBXTTg5OTBfREFDX01VVEUpOworCWVsc2UKKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfREFDX0NUUkwsIHZhbCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAorCWVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQoreworCXUxNiB2YWw7CisKKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1BSRVBBUkU6CisJCWJyZWFrOworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CisJCWlmIChjb2RlYy0+Ymlhc19sZXZlbCA9PSBTTkRfU09DX0JJQVNfT0ZGKSB7CisJCQkvKiBFbmFibGUgYWxsIG91dHB1dCBkaXNjaGFyZ2UgYml0cyAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDEsIFdNODk5MF9ESVNfTExJTkUgfAorCQkJCVdNODk5MF9ESVNfUkxJTkUgfCBXTTg5OTBfRElTX09VVDMgfAorCQkJCVdNODk5MF9ESVNfT1VUNCB8IFdNODk5MF9ESVNfTE9VVCB8CisJCQkJV004OTkwX0RJU19ST1VUKTsKKworCQkJLyogRW5hYmxlIFBPQkNUUkwsIFNPRlRfU1QsIFZNSURUT0cgYW5kIEJVRkRDT1BFTiAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJCSAgICAgV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMIHwKKwkJCQkgICAgIFdNODk5MF9WTUlEVE9HKTsKKworCQkJLyogRGVsYXkgdG8gYWxsb3cgb3V0cHV0IGNhcHMgdG8gZGlzY2hhcmdlICovCisJCQltc2xlZXAobXNlY3NfdG9famlmZmllcygzMDApKTsKKworCQkJLyogRGlzYWJsZSBWTUlEVE9HICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX1NPRlRTVCB8CisJCQkJICAgICBXTTg5OTBfQlVGRENPUEVOIHwgV004OTkwX1BPQkNUUkwpOworCisJCQkvKiBkaXNhYmxlIGFsbCBvdXRwdXQgZGlzY2hhcmdlIGJpdHMgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AxLCAwKTsKKworCQkJLyogRW5hYmxlIG91dHB1dHMgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxYjAwKTsKKworCQkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoNTApKTsKKworCQkJLyogRW5hYmxlIFZNSUQgYXQgMng1MGsgKi8KKwkJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxZjAyKTsKKworCQkJbXNsZWVwKG1zZWNzX3RvX2ppZmZpZXMoMTAwKSk7CisKKwkJCS8qIEVuYWJsZSBWUkVGICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWYwMyk7CisKKwkJCW1zbGVlcChtc2Vjc190b19qaWZmaWVzKDYwMCkpOworCisJCQkvKiBFbmFibGUgQlVGSU9FTiAqLworCQkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJCSAgICAgV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMIHwKKwkJCQkgICAgIFdNODk5MF9CVUZJT0VOKTsKKworCQkJLyogRGlzYWJsZSBvdXRwdXRzICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4Myk7CisKKwkJCS8qIGRpc2FibGUgUE9CQ1RSTCwgU09GVF9TVCBhbmQgQlVGRENPUEVOICovCisJCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMiwgV004OTkwX0JVRklPRU4pOworCQl9IGVsc2UgeworCQkJLyogT04gLT4gc3RhbmRieSAqLworCisJCX0KKwkJYnJlYWs7CisKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCS8qIEVuYWJsZSBQT0JDVFJMIGFuZCBTT0ZUX1NUICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FOVElQT1AyLCBXTTg5OTBfU09GVFNUIHwKKwkJCVdNODk5MF9QT0JDVFJMIHwgV004OTkwX0JVRklPRU4pOworCisJCS8qIEVuYWJsZSBQT0JDVFJMLCBTT0ZUX1NUIGFuZCBCVUZEQ09QRU4gKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIFdNODk5MF9TT0ZUU1QgfAorCQkJV004OTkwX0JVRkRDT1BFTiB8IFdNODk5MF9QT0JDVFJMIHwKKwkJCVdNODk5MF9CVUZJT0VOKTsKKworCQkvKiBtdXRlIERBQyAqLworCQl2YWwgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGUoY29kZWMsIFdNODk5MF9EQUNfQ1RSTCk7CisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0RBQ19DVFJMLCB2YWwgfCBXTTg5OTBfREFDX01VVEUpOworCisJCS8qIEVuYWJsZSBhbnkgZGlzYWJsZWQgb3V0cHV0cyAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MWYwMyk7CisKKwkJLyogRGlzYWJsZSBWTUlEICovCisJCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX1BPV0VSX01BTkFHRU1FTlRfMSwgMHgxZjAxKTsKKworCQltc2xlZXAobXNlY3NfdG9famlmZmllcygzMDApKTsKKworCQkvKiBFbmFibGUgYWxsIG91dHB1dCBkaXNjaGFyZ2UgYml0cyAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9BTlRJUE9QMSwgV004OTkwX0RJU19MTElORSB8CisJCQlXTTg5OTBfRElTX1JMSU5FIHwgV004OTkwX0RJU19PVVQzIHwKKwkJCVdNODk5MF9ESVNfT1VUNCB8IFdNODk5MF9ESVNfTE9VVCB8CisJCQlXTTg5OTBfRElTX1JPVVQpOworCisJCS8qIERpc2FibGUgVlJFRiAqLworCQl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEsIDB4MCk7CisKKwkJLyogZGlzYWJsZSBQT0JDVFJMLCBTT0ZUX1NUIGFuZCBCVUZEQ09QRU4gKi8KKwkJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfQU5USVBPUDIsIDB4MCk7CisJCWJyZWFrOworCX0KKworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgV004OTkwX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwIHwgU05EUlZfUENNX1JBVEVfMTEwMjUgfFwKKwlTTkRSVl9QQ01fUkFURV8xNjAwMCB8IFNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCisJU05EUlZfUENNX1JBVEVfNDgwMDApCisKKyNkZWZpbmUgV004OTkwX0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjBfM0xFIHxcCisJU05EUlZfUENNX0ZNVEJJVF9TMjRfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9MRSkKKworLyoKKyAqIFRoZSBXTTg5OTAgc3VwcG9ydHMgMiBkaWZmZXJlbnQgYW5kIG11dHVhbGx5IGV4Y2x1c2l2ZSBEQUkKKyAqIGNvbmZpZ3VyYXRpb25zLgorICoKKyAqIDEuIEFEQy9EQUMgb24gUHJpbWFyeSBJbnRlcmZhY2UKKyAqIDIuIEFEQyBvbiBQcmltYXJ5IEludGVyZmFjZS9EQUMgb24gc2Vjb25kYXJ5CisgKi8KK3N0cnVjdCBzbmRfc29jX2RhaSB3bTg5OTBfZGFpID0geworLyogQURDL0RBQyBvbiBwcmltYXJ5ICovCisJLm5hbWUgPSAiV004OTkwIEFEQy9EQUMgUHJpbWFyeSIsCisJLmlkID0gMSwKKwkucGxheWJhY2sgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJQbGF5YmFjayIsCisJCS5jaGFubmVsc19taW4gPSAxLAorCQkuY2hhbm5lbHNfbWF4ID0gMiwKKwkJLnJhdGVzID0gV004OTkwX1JBVEVTLAorCQkuZm9ybWF0cyA9IFdNODk5MF9GT1JNQVRTLH0sCisJLmNhcHR1cmUgPSB7CisJCS5zdHJlYW1fbmFtZSA9ICJDYXB0dXJlIiwKKwkJLmNoYW5uZWxzX21pbiA9IDEsCisJCS5jaGFubmVsc19tYXggPSAyLAorCQkucmF0ZXMgPSBXTTg5OTBfUkFURVMsCisJCS5mb3JtYXRzID0gV004OTkwX0ZPUk1BVFMsfSwKKwkub3BzID0geworCQkuaHdfcGFyYW1zID0gd204OTkwX2h3X3BhcmFtcyx9LAorCS5kYWlfb3BzID0geworCQkuZGlnaXRhbF9tdXRlID0gd204OTkwX211dGUsCisJCS5zZXRfZm10ID0gd204OTkwX3NldF9kYWlfZm10LAorCQkuc2V0X2Nsa2RpdiA9IHdtODk5MF9zZXRfZGFpX2Nsa2RpdiwKKwkJLnNldF9wbGwgPSB3bTg5OTBfc2V0X2RhaV9wbGwsCisJCS5zZXRfc3lzY2xrID0gd204OTkwX3NldF9kYWlfc3lzY2xrLAorCX0sCit9OworRVhQT1JUX1NZTUJPTF9HUEwod204OTkwX2RhaSk7CisKK3N0YXRpYyBpbnQgd204OTkwX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgcG1fbWVzc2FnZV90IHN0YXRlKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCS8qIHdlIG9ubHkgbmVlZCB0byBzdXNwZW5kIGlmIHdlIGFyZSBhIHZhbGlkIGNhcmQgKi8KKwlpZiAoIWNvZGVjLT5jYXJkKQorCQlyZXR1cm4gMDsKKworCXdtODk5MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX09GRik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKwlpbnQgaTsKKwl1OCBkYXRhWzJdOworCXUxNiAqY2FjaGUgPSBjb2RlYy0+cmVnX2NhY2hlOworCisJLyogd2Ugb25seSBuZWVkIHRvIHJlc3VtZSBpZiB3ZSBhcmUgYSB2YWxpZCBjYXJkICovCisJaWYgKCFjb2RlYy0+Y2FyZCkKKwkJcmV0dXJuIDA7CisKKwkvKiBTeW5jIHJlZ19jYWNoZSB3aXRoIHRoZSBoYXJkd2FyZSAqLworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODk5MF9yZWcpOyBpKyspIHsKKwkJaWYgKGkgKyAxID09IFdNODk5MF9SRVNFVCkKKwkJCWNvbnRpbnVlOworCQlkYXRhWzBdID0gKChpICsgMSkgPDwgMSkgfCAoKGNhY2hlW2ldID4+IDgpICYgMHgwMDAxKTsKKwkJZGF0YVsxXSA9IGNhY2hlW2ldICYgMHgwMGZmOworCQljb2RlYy0+aHdfd3JpdGUoY29kZWMtPmNvbnRyb2xfZGF0YSwgZGF0YSwgMik7CisJfQorCisJd204OTkwX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBpbml0aWFsaXNlIHRoZSBXTTg5OTAgZHJpdmVyCisgKiByZWdpc3RlciB0aGUgbWl4ZXIgYW5kIGRzcCBpbnRlcmZhY2VzIHdpdGggdGhlIGtlcm5lbAorICovCitzdGF0aWMgaW50IHdtODk5MF9pbml0KHN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJdTE2IHJlZzsKKwlpbnQgcmV0ID0gMDsKKworCWNvZGVjLT5uYW1lID0gIldNODk5MCI7CisJY29kZWMtPm93bmVyID0gVEhJU19NT0RVTEU7CisJY29kZWMtPnJlYWQgPSB3bTg5OTBfcmVhZF9yZWdfY2FjaGU7CisJY29kZWMtPndyaXRlID0gd204OTkwX3dyaXRlOworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtODk5MF9zZXRfYmlhc19sZXZlbDsKKwljb2RlYy0+ZGFpID0gJndtODk5MF9kYWk7CisJY29kZWMtPm51bV9kYWkgPSAyOworCWNvZGVjLT5yZWdfY2FjaGVfc2l6ZSA9IEFSUkFZX1NJWkUod204OTkwX3JlZyk7CisJY29kZWMtPnJlZ19jYWNoZSA9IGttZW1kdXAod204OTkwX3JlZywgc2l6ZW9mKHdtODk5MF9yZWcpLCBHRlBfS0VSTkVMKTsKKworCWlmIChjb2RlYy0+cmVnX2NhY2hlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCisJd204OTkwX3Jlc2V0KGNvZGVjKTsKKworCS8qIHJlZ2lzdGVyIHBjbXMgKi8KKwlyZXQgPSBzbmRfc29jX25ld19wY21zKHNvY2RldiwgU05EUlZfREVGQVVMVF9JRFgxLCBTTkRSVl9ERUZBVUxUX1NUUjEpOworCWlmIChyZXQgPCAwKSB7CisJCXByaW50ayhLRVJOX0VSUiAid204OTkwOiBmYWlsZWQgdG8gY3JlYXRlIHBjbXNcbiIpOworCQlnb3RvIHBjbV9lcnI7CisJfQorCisJLyogY2hhcmdlIG91dHB1dCBjYXBzICovCisJY29kZWMtPmJpYXNfbGV2ZWwgPSBTTkRfU09DX0JJQVNfT0ZGOworCXdtODk5MF9zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfQVVESU9fSU5URVJGQUNFXzQpOworCXdtODk5MF93cml0ZShjb2RlYywgV004OTkwX0FVRElPX0lOVEVSRkFDRV80LCByZWcgfCBXTTg5OTBfQUxSQ0dQSU8xKTsKKworCXJlZyA9IHdtODk5MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgV004OTkwX0dQSU8xX0dQSU8yKSAmCisJCX5XTTg5OTBfR1BJTzFfU0VMX01BU0s7CisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfR1BJTzFfR1BJTzIsIHJlZyB8IDEpOworCisJcmVnID0gd204OTkwX3JlYWRfcmVnX2NhY2hlKGNvZGVjLCBXTTg5OTBfUE9XRVJfTUFOQUdFTUVOVF8yKTsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIsIHJlZyB8IFdNODk5MF9PUENMS19FTkEpOworCisJd204OTkwX3dyaXRlKGNvZGVjLCBXTTg5OTBfTEVGVF9PVVRQVVRfVk9MVU1FLCAweDUwIHwgKDE8PDgpKTsKKwl3bTg5OTBfd3JpdGUoY29kZWMsIFdNODk5MF9SSUdIVF9PVVRQVVRfVk9MVU1FLCAweDUwIHwgKDE8PDgpKTsKKworCXdtODk5MF9hZGRfY29udHJvbHMoY29kZWMpOworCXdtODk5MF9hZGRfd2lkZ2V0cyhjb2RlYyk7CisJcmV0ID0gc25kX3NvY19yZWdpc3Rlcl9jYXJkKHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJpbnRrKEtFUk5fRVJSICJ3bTg5OTA6IGZhaWxlZCB0byByZWdpc3RlciBjYXJkXG4iKTsKKwkJZ290byBjYXJkX2VycjsKKwl9CisJcmV0dXJuIHJldDsKKworY2FyZF9lcnI6CisJc25kX3NvY19mcmVlX3BjbXMoc29jZGV2KTsKKwlzbmRfc29jX2RhcG1fZnJlZShzb2NkZXYpOworcGNtX2VycjoKKwlrZnJlZShjb2RlYy0+cmVnX2NhY2hlKTsKKwlyZXR1cm4gcmV0OworfQorCisvKiBJZiB0aGUgaTJjIGxheWVyIHdlcmVuJ3Qgc28gYnJva2VuLCB3ZSBjb3VsZCBwYXNzIHRoaXMga2luZCBvZiBkYXRhCisgICBhcm91bmQgKi8KK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKndtODk5MF9zb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisKKy8qCisgKiBXTTg5MSAyIHdpcmUgYWRkcmVzcyBpcyBkZXRlcm1pbmVkIGJ5IEdQSU81CisgKiBzdGF0ZSBkdXJpbmcgcG93ZXJ1cC4KKyAqICAgIGxvdyAgPSAweDM0CisgKiAgICBoaWdoID0gMHgzNgorICovCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgbm9ybWFsX2kyY1tdID0geyAwLCBJMkNfQ0xJRU5UX0VORCB9OworCisvKiBNYWdpYyBkZWZpbml0aW9uIG9mIGFsbCBvdGhlciB2YXJpYWJsZXMgYW5kIHRoaW5ncyAqLworSTJDX0NMSUVOVF9JTlNNT0Q7CisKK3N0YXRpYyBzdHJ1Y3QgaTJjX2RyaXZlciB3bTg5OTBfaTJjX2RyaXZlcjsKK3N0YXRpYyBzdHJ1Y3QgaTJjX2NsaWVudCBjbGllbnRfdGVtcGxhdGU7CisKK3N0YXRpYyBpbnQgd204OTkwX2NvZGVjX3Byb2JlKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcCwgaW50IGFkZHIsIGludCBraW5kKQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gd204OTkwX3NvY2RldjsKKwlzdHJ1Y3Qgd204OTkwX3NldHVwX2RhdGEgKnNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CisJc3RydWN0IGkyY19jbGllbnQgKmkyYzsKKwlpbnQgcmV0OworCisJaWYgKGFkZHIgIT0gc2V0dXAtPmkyY19hZGRyZXNzKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKKwljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CisKKwlpMmMgPSAga21lbWR1cCgmY2xpZW50X3RlbXBsYXRlLCBzaXplb2YoY2xpZW50X3RlbXBsYXRlKSwgR0ZQX0tFUk5FTCk7CisJaWYgKGkyYyA9PSBOVUxMKSB7CisJCWtmcmVlKGNvZGVjKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIGNvZGVjKTsKKwljb2RlYy0+Y29udHJvbF9kYXRhID0gaTJjOworCisJcmV0ID0gaTJjX2F0dGFjaF9jbGllbnQoaTJjKTsKKwlpZiAocmV0IDwgMCkgeworCQlwcl9lcnIoImZhaWxlZCB0byBhdHRhY2ggY29kZWMgYXQgYWRkciAleFxuIiwgYWRkcik7CisJCWdvdG8gZXJyOworCX0KKworCXJldCA9IHdtODk5MF9pbml0KHNvY2Rldik7CisJaWYgKHJldCA8IDApIHsKKwkJcHJfZXJyKCJmYWlsZWQgdG8gaW5pdGlhbGlzZSBXTTg5OTBcbiIpOworCQlnb3RvIGVycjsKKwl9CisJcmV0dXJuIHJldDsKKworZXJyOgorCWtmcmVlKGNvZGVjKTsKKwlrZnJlZShpMmMpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX2kyY19kZXRhY2goc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBpMmNfZ2V0X2NsaWVudGRhdGEoY2xpZW50KTsKKwlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOworCWtmcmVlKGNvZGVjLT5yZWdfY2FjaGUpOworCWtmcmVlKGNsaWVudCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd204OTkwX2kyY19hdHRhY2goc3RydWN0IGkyY19hZGFwdGVyICphZGFwKQoreworCXJldHVybiBpMmNfcHJvYmUoYWRhcCwgJmFkZHJfZGF0YSwgd204OTkwX2NvZGVjX3Byb2JlKTsKK30KKworc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHdtODk5MF9pMmNfZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gIldNODk5MCBJMkMgQ29kZWMiLAorCQkub3duZXIgPSBUSElTX01PRFVMRSwKKwl9LAorCS5hdHRhY2hfYWRhcHRlciA9IHdtODk5MF9pMmNfYXR0YWNoLAorCS5kZXRhY2hfY2xpZW50ID0gIHdtODk5MF9pMmNfZGV0YWNoLAorCS5jb21tYW5kID0gICAgICAgIE5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGkyY19jbGllbnQgY2xpZW50X3RlbXBsYXRlID0geworCS5uYW1lID0gICAiV004OTkwIiwKKwkuZHJpdmVyID0gJndtODk5MF9pMmNfZHJpdmVyLAorfTsKKyNlbmRpZgorCitzdGF0aWMgaW50IHdtODk5MF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHdtODk5MF9zZXR1cF9kYXRhICpzZXR1cDsKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWM7CisJc3RydWN0IHdtODk5MF9wcml2ICp3bTg5OTA7CisJaW50IHJldCA9IDA7CisKKwlwcl9pbmZvKCJXTTg5OTAgQXVkaW8gQ29kZWMgJXNcbiIsIFdNODk5MF9WRVJTSU9OKTsKKworCXNldHVwID0gc29jZGV2LT5jb2RlY19kYXRhOworCWNvZGVjID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IHNuZF9zb2NfY29kZWMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoY29kZWMgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl3bTg5OTAgPSBremFsbG9jKHNpemVvZihzdHJ1Y3Qgd204OTkwX3ByaXYpLCBHRlBfS0VSTkVMKTsKKwlpZiAod204OTkwID09IE5VTEwpIHsKKwkJa2ZyZWUoY29kZWMpOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwljb2RlYy0+cHJpdmF0ZV9kYXRhID0gd204OTkwOworCXNvY2Rldi0+Y29kZWMgPSBjb2RlYzsKKwltdXRleF9pbml0KCZjb2RlYy0+bXV0ZXgpOworCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKKwlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOworCXdtODk5MF9zb2NkZXYgPSBzb2NkZXY7CisKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaWYgKHNldHVwLT5pMmNfYWRkcmVzcykgeworCQlub3JtYWxfaTJjWzBdID0gc2V0dXAtPmkyY19hZGRyZXNzOworCQljb2RlYy0+aHdfd3JpdGUgPSAoaHdfd3JpdGVfdClpMmNfbWFzdGVyX3NlbmQ7CisJCXJldCA9IGkyY19hZGRfZHJpdmVyKCZ3bTg5OTBfaTJjX2RyaXZlcik7CisJCWlmIChyZXQgIT0gMCkKKwkJCXByaW50ayhLRVJOX0VSUiAiY2FuJ3QgYWRkIGkyYyBkcml2ZXIiKTsKKwl9CisjZWxzZQorCQkvKiBBZGQgb3RoZXIgaW50ZXJmYWNlcyBoZXJlICovCisjZW5kaWYKKwlyZXR1cm4gcmV0OworfQorCisvKiBwb3dlciBkb3duIGNoaXAgKi8KK3N0YXRpYyBpbnQgd204OTkwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKKworCWlmIChjb2RlYy0+Y29udHJvbF9kYXRhKQorCQl3bTg5OTBfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PRkYpOworCXNuZF9zb2NfZnJlZV9wY21zKHNvY2Rldik7CisJc25kX3NvY19kYXBtX2ZyZWUoc29jZGV2KTsKKyNpZiBkZWZpbmVkKENPTkZJR19JMkMpIHx8IGRlZmluZWQoQ09ORklHX0kyQ19NT0RVTEUpCisJaTJjX2RlbF9kcml2ZXIoJndtODk5MF9pMmNfZHJpdmVyKTsKKyNlbmRpZgorCWtmcmVlKGNvZGVjLT5wcml2YXRlX2RhdGEpOworCWtmcmVlKGNvZGVjKTsKKworCXJldHVybiAwOworfQorCitzdHJ1Y3Qgc25kX3NvY19jb2RlY19kZXZpY2Ugc29jX2NvZGVjX2Rldl93bTg5OTAgPSB7CisJLnByb2JlID0Jd204OTkwX3Byb2JlLAorCS5yZW1vdmUgPQl3bTg5OTBfcmVtb3ZlLAorCS5zdXNwZW5kID0Jd204OTkwX3N1c3BlbmQsCisJLnJlc3VtZSA9CXdtODk5MF9yZXN1bWUsCit9OworRVhQT1JUX1NZTUJPTF9HUEwoc29jX2NvZGVjX2Rldl93bTg5OTApOworCitNT0RVTEVfREVTQ1JJUFRJT04oIkFTb0MgV004OTkwIGRyaXZlciIpOworTU9EVUxFX0FVVEhPUigiTGlhbSBHaXJkd29vZCIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTg5OTAuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJlYTU3NAotLS0gL2Rldi9udWxsCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd204OTkwLmgKQEAgLTAsMCArMSw4MzIgQEAKKy8qCisgKiB3bTg5OTAuaCAgLS0gIGF1ZGlvIGRyaXZlciBmb3IgV004OTkwCisgKgorICogQ29weXJpZ2h0IDIwMDcgV29sZnNvbiBNaWNyb2VsZWN0cm9uaWNzIFBMQy4KKyAqIEF1dGhvcjogR3JhZW1lIEdyZWdvcnkKKyAqICAgICAgICAgZ3JhZW1lLmdyZWdvcnlAd29sZnNvbm1pY3JvLmNvbSBvciBsaW51eEB3b2xmc29ubWljcm8uY29tCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSAgaXQgYW5kL29yIG1vZGlmeSBpdAorICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgorICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICovCisKKyNpZm5kZWYgX19XTTg5OTBSRUdJU1RFUkRFRlNfSF9fCisjZGVmaW5lIF9fV004OTkwUkVHSVNURVJERUZTX0hfXworCisvKgorICogUmVnaXN0ZXIgdmFsdWVzLgorICovCisjZGVmaW5lIFdNODk5MF9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCisjZGVmaW5lIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzEgICAgICAgICAgICAgICAweDAxCisjZGVmaW5lIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzIgICAgICAgICAgICAgICAweDAyCisjZGVmaW5lIFdNODk5MF9QT1dFUl9NQU5BR0VNRU5UXzMgICAgICAgICAgICAgICAweDAzCisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMSAgICAgICAgICAgICAgICAweDA0CisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMiAgICAgICAgICAgICAgICAweDA1CisjZGVmaW5lIFdNODk5MF9DTE9DS0lOR18xICAgICAgICAgICAgICAgICAgICAgICAweDA2CisjZGVmaW5lIFdNODk5MF9DTE9DS0lOR18yICAgICAgICAgICAgICAgICAgICAgICAweDA3CisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfMyAgICAgICAgICAgICAgICAweDA4CisjZGVmaW5lIFdNODk5MF9BVURJT19JTlRFUkZBQ0VfNCAgICAgICAgICAgICAgICAweDA5CisjZGVmaW5lIFdNODk5MF9EQUNfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAweDBBCisjZGVmaW5lIFdNODk5MF9MRUZUX0RBQ19ESUdJVEFMX1ZPTFVNRSAgICAgICAgICAweDBCCisjZGVmaW5lIFdNODk5MF9SSUdIVF9EQUNfRElHSVRBTF9WT0xVTUUgICAgICAgICAweDBDCisjZGVmaW5lIFdNODk5MF9ESUdJVEFMX1NJREVfVE9ORSAgICAgICAgICAgICAgICAweDBECisjZGVmaW5lIFdNODk5MF9BRENfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAweDBFCisjZGVmaW5lIFdNODk5MF9MRUZUX0FEQ19ESUdJVEFMX1ZPTFVNRSAgICAgICAgICAweDBGCisjZGVmaW5lIFdNODk5MF9SSUdIVF9BRENfRElHSVRBTF9WT0xVTUUgICAgICAgICAweDEwCisjZGVmaW5lIFdNODk5MF9HUElPX0NUUkxfMSAgICAgICAgICAgICAgICAgICAgICAweDEyCisjZGVmaW5lIFdNODk5MF9HUElPMV9HUElPMiAgICAgICAgICAgICAgICAgICAgICAweDEzCisjZGVmaW5lIFdNODk5MF9HUElPM19HUElPNCAgICAgICAgICAgICAgICAgICAgICAweDE0CisjZGVmaW5lIFdNODk5MF9HUElPNV9HUElPNiAgICAgICAgICAgICAgICAgICAgICAweDE1CisjZGVmaW5lIFdNODk5MF9HUElPQ1RSTF8yICAgICAgICAgICAgICAgICAgICAgICAweDE2CisjZGVmaW5lIFdNODk5MF9HUElPX1BPTCAgICAgICAgICAgICAgICAgICAgICAgICAweDE3CisjZGVmaW5lIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfMV8yX1ZPTFVNRSAgICAgICAweDE4CisjZGVmaW5lIFdNODk5MF9MRUZUX0xJTkVfSU5QVVRfM180X1ZPTFVNRSAgICAgICAweDE5CisjZGVmaW5lIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzFfMl9WT0xVTUUgICAgICAweDFBCisjZGVmaW5lIFdNODk5MF9SSUdIVF9MSU5FX0lOUFVUXzNfNF9WT0xVTUUgICAgICAweDFCCisjZGVmaW5lIFdNODk5MF9MRUZUX09VVFBVVF9WT0xVTUUgICAgICAgICAgICAgICAweDFDCisjZGVmaW5lIFdNODk5MF9SSUdIVF9PVVRQVVRfVk9MVU1FICAgICAgICAgICAgICAweDFECisjZGVmaW5lIFdNODk5MF9MSU5FX09VVFBVVFNfVk9MVU1FICAgICAgICAgICAgICAweDFFCisjZGVmaW5lIFdNODk5MF9PVVQzXzRfVk9MVU1FICAgICAgICAgICAgICAgICAgICAweDFGCisjZGVmaW5lIFdNODk5MF9MRUZUX09QR0FfVk9MVU1FICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lIFdNODk5MF9SSUdIVF9PUEdBX1ZPTFVNRSAgICAgICAgICAgICAgICAweDIxCisjZGVmaW5lIFdNODk5MF9TUEVBS0VSX1ZPTFVNRSAgICAgICAgICAgICAgICAgICAweDIyCisjZGVmaW5lIFdNODk5MF9DTEFTU0QxICAgICAgICAgICAgICAgICAgICAgICAgICAweDIzCisjZGVmaW5lIFdNODk5MF9DTEFTU0QzICAgICAgICAgICAgICAgICAgICAgICAgICAweDI1CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjEgICAgICAgICAgICAgICAgICAgICAweDI3CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjIgICAgICAgICAgICAgICAgICAgICAweDI4CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjMgICAgICAgICAgICAgICAgICAgICAweDI5CisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjQgICAgICAgICAgICAgICAgICAgICAweDJBCisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjUgICAgICAgICAgICAgICAgICAgICAweDJCCisjZGVmaW5lIFdNODk5MF9JTlBVVF9NSVhFUjYgICAgICAgICAgICAgICAgICAgICAweDJDCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVIxICAgICAgICAgICAgICAgICAgICAweDJECisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVIyICAgICAgICAgICAgICAgICAgICAweDJFCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVIzICAgICAgICAgICAgICAgICAgICAweDJGCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVI0ICAgICAgICAgICAgICAgICAgICAweDMwCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVI1ICAgICAgICAgICAgICAgICAgICAweDMxCisjZGVmaW5lIFdNODk5MF9PVVRQVVRfTUlYRVI2ICAgICAgICAgICAgICAgICAgICAweDMyCisjZGVmaW5lIFdNODk5MF9PVVQzXzRfTUlYRVIgICAgICAgICAgICAgICAgICAgICAweDMzCisjZGVmaW5lIFdNODk5MF9MSU5FX01JWEVSMSAgICAgICAgICAgICAgICAgICAgICAweDM0CisjZGVmaW5lIFdNODk5MF9MSU5FX01JWEVSMiAgICAgICAgICAgICAgICAgICAgICAweDM1CisjZGVmaW5lIFdNODk5MF9TUEVBS0VSX01JWEVSICAgICAgICAgICAgICAgICAgICAweDM2CisjZGVmaW5lIFdNODk5MF9BRERJVElPTkFMX0NPTlRST0wgICAgICAgICAgICAgICAweDM3CisjZGVmaW5lIFdNODk5MF9BTlRJUE9QMSAgICAgICAgICAgICAgICAgICAgICAgICAweDM4CisjZGVmaW5lIFdNODk5MF9BTlRJUE9QMiAgICAgICAgICAgICAgICAgICAgICAgICAweDM5CisjZGVmaW5lIFdNODk5MF9NSUNCSUFTICAgICAgICAgICAgICAgICAgICAgICAgICAweDNBCisjZGVmaW5lIFdNODk5MF9QTEwxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNDCisjZGVmaW5lIFdNODk5MF9QTEwyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNECisjZGVmaW5lIFdNODk5MF9QTEwzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDNFCisjZGVmaW5lIFdNODk5MF9JTlREUklWQklUUwkJCTB4M0YKKworI2RlZmluZSBXTTg5OTBfUkVHSVNURVJfQ09VTlQgICAgICAgICAgICAgICAgICAgNjAKKyNkZWZpbmUgV004OTkwX01BWF9SRUdJU1RFUiAgICAgICAgICAgICAgICAgICAgIDB4M0YKKworLyoKKyAqIEZpZWxkIERlZmluaXRpb25zLgorICovCisKKy8qCisgKiBSMCAoMHgwMCkgLSBSZXNldAorICovCisjZGVmaW5lIFdNODk5MF9TV19SRVNFVF9DSElQX0lEX01BU0sgICAgICAgICAgICAweEZGRkYgIC8qIFNXX1JFU0VUX0NISVBfSUQgKi8KKworLyoKKyAqIFIxICgweDAxKSAtIFBvd2VyIE1hbmFnZW1lbnQgKDEpCisgKi8KKyNkZWZpbmUgV004OTkwX1NQS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogU1BLX0VOQSAqLworI2RlZmluZSBXTTg5OTBfU1BLX0VOQV9CSVQJCQkxMgorI2RlZmluZSBXTTg5OTBfT1VUM19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBPVVQzX0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1VUM19FTkFfQklUCQkJMTEKKyNkZWZpbmUgV004OTkwX09VVDRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogT1VUNF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX09VVDRfRU5BX0JJVAkJCTEwCisjZGVmaW5lIFdNODk5MF9MT1VUX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIExPVVRfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT1VUX0VOQV9CSVQJCQk5CisjZGVmaW5lIFdNODk5MF9ST1VUX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFJPVVRfRU5BICovCisjZGVmaW5lIFdNODk5MF9ST1VUX0VOQV9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9NSUNCSUFTX0VOQSAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIE1JQ0JJQVNfRU5BICovCisjZGVmaW5lIFdNODk5MF9NSUNCSUFTX0VOQV9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9WTUlEX01PREVfTUFTSyAgICAgICAgICAgICAgICAgICAweDAwMDYgIC8qIFZNSURfTU9ERSAtIFsyOjFdICovCisjZGVmaW5lIFdNODk5MF9WUkVGX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFZSRUZfRU5BICovCisjZGVmaW5lIFdNODk5MF9WUkVGX0VOQV9CSVQJCQkwCisKKy8qCisgKiBSMiAoMHgwMikgLSBQb3dlciBNYW5hZ2VtZW50ICgyKQorICovCisjZGVmaW5lIFdNODk5MF9QTExfRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIFBMTF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9FTkFfQklUCQkJMTUKKyNkZWZpbmUgV004OTkwX1RTSFVUX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogVFNIVVRfRU5BICovCisjZGVmaW5lIFdNODk5MF9UU0hVVF9FTkFfQklUCQkJMTQKKyNkZWZpbmUgV004OTkwX1RTSFVUX09QRElTICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogVFNIVVRfT1BESVMgKi8KKyNkZWZpbmUgV004OTkwX1RTSFVUX09QRElTX0JJVAkJCTEzCisjZGVmaW5lIFdNODk5MF9PUENMS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIE9QQ0xLX0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1BDTEtfRU5BX0JJVAkJCTExCisjZGVmaW5lIFdNODk5MF9BSU5MX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIEFJTkxfRU5BICovCisjZGVmaW5lIFdNODk5MF9BSU5MX0VOQV9CSVQJCQk5CisjZGVmaW5lIFdNODk5MF9BSU5SX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFJTlJfRU5BICovCisjZGVmaW5lIFdNODk5MF9BSU5SX0VOQV9CSVQJCQk4CisjZGVmaW5lIFdNODk5MF9MSU4zNF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExJTjM0X0VOQSAqLworI2RlZmluZSBXTTg5OTBfTElOMzRfRU5BX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xJTjEyX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTElOMTJfRU5BICovCisjZGVmaW5lIFdNODk5MF9MSU4xMl9FTkFfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUklOMzRfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBSSU4zNF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JJTjM0X0VOQV9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9SSU4xMl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJJTjEyX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUklOMTJfRU5BX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0FEQ0xfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogQURDTF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfRU5BX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0FEQ1JfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogQURDUl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfRU5BX0JJVAkJCTAKKworLyoKKyAqIFIzICgweDAzKSAtIFBvd2VyIE1hbmFnZW1lbnQgKDMpCisgKi8KKyNkZWZpbmUgV004OTkwX0xPTl9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogTE9OX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTE9OX0VOQV9CSVQJCQkxMworI2RlZmluZSBXTTg5OTBfTE9QX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBMT1BfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT1BfRU5BX0JJVAkJCTEyCisjZGVmaW5lIFdNODk5MF9ST05fRU5BICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIFJPTl9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPTl9FTkFfQklUCQkJMTEKKyNkZWZpbmUgV004OTkwX1JPUF9FTkEgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQwMCAgLyogUk9QX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9QX0VOQV9CSVQJCQkxMAorI2RlZmluZSBXTTg5OTBfTE9QR0FfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMT1BHQV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBX0VOQV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9ST1BHQV9FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJPUEdBX0VOQSAqLworI2RlZmluZSBXTTg5OTBfUk9QR0FfRU5BX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xPTUlYX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTE9NSVhfRU5BICovCisjZGVmaW5lIFdNODk5MF9MT01JWF9FTkFfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUk9NSVhfRU5BICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBST01JWF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1JPTUlYX0VOQV9CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9EQUNMX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIERBQ0xfRU5BICovCisjZGVmaW5lIFdNODk5MF9EQUNMX0VOQV9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9EQUNSX0VOQSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIERBQ1JfRU5BICovCisjZGVmaW5lIFdNODk5MF9EQUNSX0VOQV9CSVQJCQkwCisKKy8qCisgKiBSNCAoMHgwNCkgLSBBdWRpbyBJbnRlcmZhY2UgKDEpCisgKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ0xfU1JDICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogQUlGQURDTF9TUkMgKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ1JfU1JDICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogQUlGQURDUl9TUkMgKi8KKyNkZWZpbmUgV004OTkwX0FJRkFEQ19URE0gICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQUlGQURDX1RETSAqLworI2RlZmluZSBXTTg5OTBfQUlGQURDX1RETV9DSEFOICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBBSUZBRENfVERNX0NIQU4gKi8KKyNkZWZpbmUgV004OTkwX0FJRl9CQ0xLX0lOViAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogQUlGX0JDTEtfSU5WICovCisjZGVmaW5lIFdNODk5MF9BSUZfTFJDTEtfSU5WICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEFJRl9MUkNMS19JTlYgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9XTF9NQVNLICAgICAgICAgICAgICAgICAgICAgIDB4MDA2MCAgLyogQUlGX1dMIC0gWzY6NV0gKi8KKyNkZWZpbmUgV004OTkwX0FJRl9XTF8xNkJJVFMJCQkoMCA8PCA1KQorI2RlZmluZSBXTTg5OTBfQUlGX1dMXzIwQklUUwkJCSgxIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BSUZfV0xfMjRCSVRTCQkJKDIgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FJRl9XTF8zMkJJVFMJCQkoMyA8PCA1KQorI2RlZmluZSBXTTg5OTBfQUlGX0ZNVF9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMDE4ICAvKiBBSUZfRk1UIC0gWzQ6M10gKi8KKyNkZWZpbmUgV004OTkwX0FJRl9UTUZfUklHSFRKCQkJKDAgPDwgMykKKyNkZWZpbmUgV004OTkwX0FJRl9UTUZfTEVGVEoJCQkoMSA8PCAzKQorI2RlZmluZSBXTTg5OTBfQUlGX1RNRl9JMlMJCQkoMiA8PCAzKQorI2RlZmluZSBXTTg5OTBfQUlGX1RNRl9EU1AJCQkoMyA8PCAzKQorCisvKgorICogUjUgKDB4MDUpIC0gQXVkaW8gSW50ZXJmYWNlICgyKQorICovCisjZGVmaW5lIFdNODk5MF9EQUNMX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIERBQ0xfU1JDICovCisjZGVmaW5lIFdNODk5MF9EQUNSX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIERBQ1JfU1JDICovCisjZGVmaW5lIFdNODk5MF9BSUZEQUNfVERNICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRkRBQ19URE0gKi8KKyNkZWZpbmUgV004OTkwX0FJRkRBQ19URE1fQ0hBTiAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogQUlGREFDX1RETV9DSEFOICovCisjZGVmaW5lIFdNODk5MF9EQUNfQk9PU1RfTUFTSyAgICAgICAgICAgICAgICAgICAweDBDMDAgIC8qIERBQ19CT09TVCAqLworI2RlZmluZSBXTTg5OTBfREFDX0NPTVAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBEQUNfQ09NUCAqLworI2RlZmluZSBXTTg5OTBfREFDX0NPTVBNT0RFICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBEQUNfQ09NUE1PREUgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19DT01QICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogQURDX0NPTVAgKi8KKyNkZWZpbmUgV004OTkwX0FEQ19DT01QTU9ERSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogQURDX0NPTVBNT0RFICovCisjZGVmaW5lIFdNODk5MF9MT09QQkFDSyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIExPT1BCQUNLICovCisKKy8qCisgKiBSNiAoMHgwNikgLSBDbG9ja2luZyAoMSkKKyAqLworI2RlZmluZSBXTTg5OTBfVE9DTEtfUkFURSAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBUT0NMS19SQVRFICovCisjZGVmaW5lIFdNODk5MF9UT0NMS19FTkEgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIFRPQ0xLX0VOQSAqLworI2RlZmluZSBXTTg5OTBfT1BDTEtESVZfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgxRTAwICAvKiBPUENMS0RJViAtIFsxMjo5XSAqLworI2RlZmluZSBXTTg5OTBfRENMS0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgMHgwMUMwICAvKiBEQ0xLRElWIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0JDTEtfRElWX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRSAgLyogQkNMS19ESVYgLSBbNDoxXSAqLworI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMQkJCSgweDAgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzFfNQkJCSgweDEgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzIJCQkoMHgyIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8zCQkJKDB4MyA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNAkJCSgweDQgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzVfNQkJCSgweDUgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzYJCQkoMHg2IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl84CQkJKDB4NyA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMTEJCQkoMHg4IDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8xMgkJCSgweDkgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzE2CQkJKDB4QSA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfMjIJCQkoMHhCIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl8yNAkJCSgweEMgPDwgMSkKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWXzMyCQkJKDB4RCA8PCAxKQorI2RlZmluZSBXTTg5OTBfQkNMS19ESVZfNDQJCQkoMHhFIDw8IDEpCisjZGVmaW5lIFdNODk5MF9CQ0xLX0RJVl80OAkJCSgweEYgPDwgMSkKKworLyoKKyAqIFI3ICgweDA3KSAtIENsb2NraW5nICgyKQorICovCisjZGVmaW5lIFdNODk5MF9NQ0xLX1NSQyAgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIE1DTEtfU1JDICovCisjZGVmaW5lIFdNODk5MF9TWVNDTEtfU1JDICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIFNZU0NMS19TUkMgKi8KKyNkZWZpbmUgV004OTkwX0NMS19GT1JDRSAgICAgICAgICAgICAgICAgICAgICAgIDB4MjAwMCAgLyogQ0xLX0ZPUkNFICovCisjZGVmaW5lIFdNODk5MF9NQ0xLX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAweDE4MDAgIC8qIE1DTEtfRElWIC0gWzEyOjExXSAqLworI2RlZmluZSBXTTg5OTBfTUNMS19ESVZfMQkJCSgwIDw8IDExKQorI2RlZmluZSBXTTg5OTBfTUNMS19ESVZfMgkJCSgyIDw8IDExKQorI2RlZmluZSBXTTg5OTBfTUNMS19JTlYgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBNQ0xLX0lOViAqLworI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl9NQVNLICAgICAgICAgICAgICAgICAgMHgwMEUwICAvKiBBRENfQ0xLRElWICovCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzEJCQkoMCA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl8xXzUJCQkoMSA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl8yCQkJKDIgPDwgNSkKKyNkZWZpbmUgV004OTkwX0FEQ19DTEtESVZfMwkJCSgzIDw8IDUpCisjZGVmaW5lIFdNODk5MF9BRENfQ0xLRElWXzQJCQkoNCA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl81XzUJCQkoNSA8PCA1KQorI2RlZmluZSBXTTg5OTBfQURDX0NMS0RJVl82CQkJKDYgPDwgNSkKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfTUFTSyAgICAgICAgICAgICAgICAgIDB4MDAxQyAgLyogREFDX0NMS0RJViAtIFs0OjJdICovCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzEJCQkoMCA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl8xXzUJCQkoMSA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl8yCQkJKDIgPDwgMikKKyNkZWZpbmUgV004OTkwX0RBQ19DTEtESVZfMwkJCSgzIDw8IDIpCisjZGVmaW5lIFdNODk5MF9EQUNfQ0xLRElWXzQJCQkoNCA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl81XzUJCQkoNSA8PCAyKQorI2RlZmluZSBXTTg5OTBfREFDX0NMS0RJVl82CQkJKDYgPDwgMikKKworLyoKKyAqIFI4ICgweDA4KSAtIEF1ZGlvIEludGVyZmFjZSAoMykKKyAqLworI2RlZmluZSBXTTg5OTBfQUlGX01TVFIxICAgICAgICAgICAgICAgICAgICAgICAgMHg4MDAwICAvKiBBSUZfTVNUUjEgKi8KKyNkZWZpbmUgV004OTkwX0FJRl9NU1RSMiAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAwMCAgLyogQUlGX01TVFIyICovCisjZGVmaW5lIFdNODk5MF9BSUZfU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRl9TRUwgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xSQ19ESVIgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogQURDTFJDX0RJUiAqLworI2RlZmluZSBXTTg5OTBfQURDTFJDX1JBVEVfTUFTSyAgICAgICAgICAgICAgICAgMHgwN0ZGICAvKiBBRENMUkNfUkFURSAqLworCisvKgorICogUjkgKDB4MDkpIC0gQXVkaW8gSW50ZXJmYWNlICg0KQorICovCisjZGVmaW5lIFdNODk5MF9BTFJDR1BJTzEgICAgICAgICAgICAgICAgICAgICAgICAweDgwMDAgIC8qIEFMUkNHUElPMSAqLworI2RlZmluZSBXTTg5OTBfQUxSQ0JHUElPNiAgICAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBBTFJDQkdQSU82ICovCisjZGVmaW5lIFdNODk5MF9BSUZfVFJJUyAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEFJRl9UUklTICovCisjZGVmaW5lIFdNODk5MF9EQUNMUkNfRElSICAgICAgICAgICAgICAgICAgICAgICAweDA4MDAgIC8qIERBQ0xSQ19ESVIgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xSQ19SQVRFX01BU0sgICAgICAgICAgICAgICAgIDB4MDdGRiAgLyogREFDTFJDX1JBVEUgKi8KKworLyoKKyAqIFIxMCAoMHgwQSkgLSBEQUMgQ1RSTAorICovCisjZGVmaW5lIFdNODk5MF9BSUZfTFJDTEtSQVRFICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIEFJRl9MUkNMS1JBVEUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19NT05PICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogREFDX01PTk8gKi8KKyNkZWZpbmUgV004OTkwX0RBQ19TQl9GSUxUICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogREFDX1NCX0ZJTFQgKi8KKyNkZWZpbmUgV004OTkwX0RBQ19NVVRFUkFURSAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogREFDX01VVEVSQVRFICovCisjZGVmaW5lIFdNODk5MF9EQUNfTVVURU1PREUgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIERBQ19NVVRFTU9ERSAqLworI2RlZmluZSBXTTg5OTBfREVFTVBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgwMDMwICAvKiBERUVNUCAtIFs1OjRdICovCisjZGVmaW5lIFdNODk5MF9EQUNfTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIERBQ19NVVRFICovCisjZGVmaW5lIFdNODk5MF9EQUNMX0RBVElOViAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIERBQ0xfREFUSU5WICovCisjZGVmaW5lIFdNODk5MF9EQUNSX0RBVElOViAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIERBQ1JfREFUSU5WICovCisKKy8qCisgKiBSMTEgKDB4MEIpIC0gTGVmdCBEQUMgRGlnaXRhbCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfREFDX1ZVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBEQUNfVlUgKi8KKyNkZWZpbmUgV004OTkwX0RBQ0xfVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogREFDTF9WT0wgLSBbNzowXSAqLworI2RlZmluZSBXTTg5OTBfREFDTF9WT0xfU0hJRlQJCQkwCisvKgorICogUjEyICgweDBDKSAtIFJpZ2h0IERBQyBEaWdpdGFsIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9EQUNfVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIERBQ19WVSAqLworI2RlZmluZSBXTTg5OTBfREFDUl9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBEQUNSX1ZPTCAtIFs3OjBdICovCisjZGVmaW5lIFdNODk5MF9EQUNSX1ZPTF9TSElGVAkJCTAKKy8qCisgKiBSMTMgKDB4MEQpIC0gRGlnaXRhbCBTaWRlIFRvbmUKKyAqLworI2RlZmluZSBXTTg5OTBfQURDTF9EQUNfU1ZPTF9NQVNLICAgICAgICAgICAgICAgMHgwRiAgLyogQURDTF9EQUNfU1ZPTCAqLworI2RlZmluZSBXTTg5OTBfQURDTF9EQUNfU1ZPTF9TSElGVAkJOQorI2RlZmluZSBXTTg5OTBfQURDUl9EQUNfU1ZPTF9NQVNLICAgICAgICAgICAgICAgMHgwRiAgLyogQURDUl9EQUNfU1ZPTCAqLworI2RlZmluZSBXTTg5OTBfQURDUl9EQUNfU1ZPTF9TSElGVAkJNQorI2RlZmluZSBXTTg5OTBfQURDX1RPX0RBQ0xfTUFTSyAgICAgICAgICAgICAgICAgMHgwMyAgLyogQURDX1RPX0RBQ0wgLSBbMzoyXSAqLworI2RlZmluZSBXTTg5OTBfQURDX1RPX0RBQ0xfU0hJRlQJCTIKKyNkZWZpbmUgV004OTkwX0FEQ19UT19EQUNSX01BU0sgICAgICAgICAgICAgICAgIDB4MDMgIC8qIEFEQ19UT19EQUNSIC0gWzE6MF0gKi8KKyNkZWZpbmUgV004OTkwX0FEQ19UT19EQUNSX1NISUZUCQkwCisKKy8qCisgKiBSMTQgKDB4MEUpIC0gQURDIENUUkwKKyAqLworI2RlZmluZSBXTTg5OTBfQURDX0hQRl9FTkEgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBRENfSFBGX0VOQSAqLworI2RlZmluZSBXTTg5OTBfQURDX0hQRl9FTkFfQklUCQkJOAorI2RlZmluZSBXTTg5OTBfQURDX0hQRl9DVVRfTUFTSyAgICAgICAgICAgICAgICAgMHgwMyAgLyogQURDX0hQRl9DVVQgLSBbNjo1XSAqLworI2RlZmluZSBXTTg5OTBfQURDX0hQRl9DVVRfU0hJRlQJCTUKKyNkZWZpbmUgV004OTkwX0FEQ0xfREFUSU5WICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogQURDTF9EQVRJTlYgKi8KKyNkZWZpbmUgV004OTkwX0FEQ0xfREFUSU5WX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0FEQ1JfREFUSU5WICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogQURDUl9EQVRJTlYgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfREFUSU5WX0JJVAkJCTAKKworLyoKKyAqIFIxNSAoMHgwRikgLSBMZWZ0IEFEQyBEaWdpdGFsIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9BRENfVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEFEQ19WVSAqLworI2RlZmluZSBXTTg5OTBfQURDTF9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBBRENMX1ZPTCAtIFs3OjBdICovCisjZGVmaW5lIFdNODk5MF9BRENMX1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIxNiAoMHgxMCkgLSBSaWdodCBBREMgRGlnaXRhbCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfQURDX1ZVICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBBRENfVlUgKi8KKyNkZWZpbmUgV004OTkwX0FEQ1JfVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDBGRiAgLyogQURDUl9WT0wgLSBbNzowXSAqLworI2RlZmluZSBXTTg5OTBfQURDUl9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMTggKDB4MTIpIC0gR1BJTyBDVFJMIDEKKyAqLworI2RlZmluZSBXTTg5OTBfSVJRICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMDAwICAvKiBJUlEgKi8KKyNkZWZpbmUgV004OTkwX1RFTVBPSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgwMCAgLyogVEVNUE9LICovCisjZGVmaW5lIFdNODk5MF9NSUNTSFJUICAgICAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE1JQ1NIUlQgKi8KKyNkZWZpbmUgV004OTkwX01JQ0RFVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogTUlDREVUICovCisjZGVmaW5lIFdNODk5MF9QTExfTENLICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFBMTF9MQ0sgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJOF9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJN19TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzZfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU81X1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBHUElPNF9TVEFUVVMgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogR1BJTzNfU1RBVFVTICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEdQSU8yX1NUQVRVUyAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBHUElPMV9TVEFUVVMgKi8KKworLyoKKyAqIFIxOSAoMHgxMykgLSBHUElPMSAmIEdQSU8yCisgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8yX0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogR1BJTzJfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzJfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBHUElPMl9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEdQSU8yX1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEdQSU8yX1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDBGMDAgIC8qIEdQSU8yX1NFTCAtIFsxMTo4XSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUElPMV9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPMV9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSU8xX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzFfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzFfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8xX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogR1BJTzFfU0VMIC0gWzM6MF0gKi8KKworLyoKKyAqIFIyMCAoMHgxNCkgLSBHUElPMyAmIEdQSU80CisgKi8KKyNkZWZpbmUgV004OTkwX0dQSU80X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogR1BJTzRfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBHUElPNF9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEdQSU80X1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEdQSU80X1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPNF9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDBGMDAgIC8qIEdQSU80X1NFTCAtIFsxMTo4XSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzNfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUElPM19ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPM19JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSU8zX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzNfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzNfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogR1BJTzNfU0VMIC0gWzM6MF0gKi8KKworLyoKKyAqIFIyMSAoMHgxNSkgLSBHUElPNSAmIEdQSU82CisgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogR1BJTzZfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzZfSVJRX0VOQSAgICAgICAgICAgICAgICAgICAgMHg0MDAwICAvKiBHUElPNl9JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9QVSAgICAgICAgICAgICAgICAgICAgICAgICAweDIwMDAgIC8qIEdQSU82X1BVICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9QRCAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMDAgIC8qIEdQSU82X1BEICovCisjZGVmaW5lIFdNODk5MF9HUElPNl9TRUxfTUFTSyAgICAgICAgICAgICAgICAgICAweDBGMDAgIC8qIEdQSU82X1NFTCAtIFsxMTo4XSAqLworI2RlZmluZSBXTTg5OTBfR1BJTzVfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBHUElPNV9ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIEdQSU81X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1BVICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzVfUFUgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1BEICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJTzVfUEQgKi8KKyNkZWZpbmUgV004OTkwX0dQSU81X1NFTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDAwRiAgLyogR1BJTzVfU0VMIC0gWzM6MF0gKi8KKworLyoKKyAqIFIyMiAoMHgxNikgLSBHUElPQ1RSTCAyCisgKi8KKyNkZWZpbmUgV004OTkwX1JEXzNXX0VOQSAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMCAgLyogUkRfM1dfRU5BICovCisjZGVmaW5lIFdNODk5MF9NT0RFXzNXNFcgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAgIC8qIE1PREVfM1c0VyAqLworI2RlZmluZSBXTTg5OTBfVEVNUE9LX0lSUV9FTkEgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBURU1QT0tfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfTUlDU0hSVF9JUlFfRU5BICAgICAgICAgICAgICAgICAgMHgwNDAwICAvKiBNSUNTSFJUX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX01JQ0RFVF9JUlFfRU5BICAgICAgICAgICAgICAgICAgIDB4MDIwMCAgLyogTUlDREVUX0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9MQ0tfSVJRX0VOQSAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUExMX0xDS19JUlFfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk4X0RFQl9FTkEgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIEdQSThfREVCX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJOF9JUlFfRU5BICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBHUEk4X0lSUV9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfRU5BICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogR1BJOF9FTkEgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfREVCX0VOQSAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogR1BJN19ERUJfRU5BICovCisjZGVmaW5lIFdNODk5MF9HUEk3X0lSUV9FTkEgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIEdQSTdfSVJRX0VOQSAqLworI2RlZmluZSBXTTg5OTBfR1BJN19FTkEgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBHUEk3X0VOQSAqLworCisvKgorICogUjIzICgweDE3KSAtIEdQSU9fUE9MCisgKi8KKyNkZWZpbmUgV004OTkwX0lSUV9JTlYgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAwMCAgLyogSVJRX0lOViAqLworI2RlZmluZSBXTTg5OTBfVEVNUE9LX1BPTCAgICAgICAgICAgICAgICAgICAgICAgMHgwODAwICAvKiBURU1QT0tfUE9MICovCisjZGVmaW5lIFdNODk5MF9NSUNTSFJUX1BPTCAgICAgICAgICAgICAgICAgICAgICAweDA0MDAgIC8qIE1JQ1NIUlRfUE9MICovCisjZGVmaW5lIFdNODk5MF9NSUNERVRfUE9MICAgICAgICAgICAgICAgICAgICAgICAweDAyMDAgIC8qIE1JQ0RFVF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX1BMTF9MQ0tfUE9MICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogUExMX0xDS19QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSThfUE9MICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogR1BJOF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSTdfUE9MICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogR1BJN19QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU82X1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogR1BJTzZfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPNV9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIEdQSU81X1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzRfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBHUElPNF9QT0wgKi8KKyNkZWZpbmUgV004OTkwX0dQSU8zX1BPTCAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogR1BJTzNfUE9MICovCisjZGVmaW5lIFdNODk5MF9HUElPMl9QT0wgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIEdQSU8yX1BPTCAqLworI2RlZmluZSBXTTg5OTBfR1BJTzFfUE9MICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBHUElPMV9QT0wgKi8KKworLyoKKyAqIFIyNCAoMHgxOCkgLSBMZWZ0IExpbmUgSW5wdXQgMSYyIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9JUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIElQVlUgKi8KKyNkZWZpbmUgV004OTkwX0xJMTJNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTEkxMk1VVEUgKi8KKyNkZWZpbmUgV004OTkwX0xJMTJNVVRFX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xJMTJaQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTEkxMlpDICovCisjZGVmaW5lIFdNODk5MF9MSTEyWkNfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTElOMTJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFGICAvKiBMSU4xMlZPTCAtIFs0OjBdICovCisjZGVmaW5lIFdNODk5MF9MSU4xMlZPTF9TSElGVAkJCTAKKy8qCisgKiBSMjUgKDB4MTkpIC0gTGVmdCBMaW5lIElucHV0IDMmNCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfSVBWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBJUFZVICovCisjZGVmaW5lIFdNODk5MF9MSTM0TVVURSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExJMzRNVVRFICovCisjZGVmaW5lIFdNODk5MF9MSTM0TVVURV9CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9MSTM0WkMgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExJMzRaQyAqLworI2RlZmluZSBXTTg5OTBfTEkzNFpDX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xJTjM0Vk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDAxRiAgLyogTElOMzRWT0wgLSBbNDowXSAqLworI2RlZmluZSBXTTg5OTBfTElOMzRWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMjYgKDB4MUEpIC0gUmlnaHQgTGluZSBJbnB1dCAxJjIgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX0lQVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogSVBWVSAqLworI2RlZmluZSBXTTg5OTBfUkkxMk1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBSSTEyTVVURSAqLworI2RlZmluZSBXTTg5OTBfUkkxMk1VVEVfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUkkxMlpDICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBSSTEyWkMgKi8KKyNkZWZpbmUgV004OTkwX1JJMTJaQ19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9SSU4xMlZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMUYgIC8qIFJJTjEyVk9MIC0gWzQ6MF0gKi8KKyNkZWZpbmUgV004OTkwX1JJTjEyVk9MX1NISUZUCQkJMAorCisvKgorICogUjI3ICgweDFCKSAtIFJpZ2h0IExpbmUgSW5wdXQgMyY0IFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9JUFZVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIElQVlUgKi8KKyNkZWZpbmUgV004OTkwX1JJMzRNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUkkzNE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX1JJMzRNVVRFX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JJMzRaQyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUkkzNFpDICovCisjZGVmaW5lIFdNODk5MF9SSTM0WkNfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUklOMzRWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDFGICAvKiBSSU4zNFZPTCAtIFs0OjBdICovCisjZGVmaW5lIFdNODk5MF9SSU4zNFZPTF9TSElGVAkJCTAKKworLyoKKyAqIFIyOCAoMHgxQykgLSBMZWZ0IE91dHB1dCBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1BWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBPUFZVICovCisjZGVmaW5lIFdNODk5MF9MT1pDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExPWkMgKi8KKyNkZWZpbmUgV004OTkwX0xPWkNfQklUCQkJCTcKKyNkZWZpbmUgV004OTkwX0xPVVRWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDA3RiAgLyogTE9VVFZPTCAtIFs2OjBdICovCisjZGVmaW5lIFdNODk5MF9MT1VUVk9MX1NISUZUCQkJMAorLyoKKyAqIFIyOSAoMHgxRCkgLSBSaWdodCBPdXRwdXQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09QVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogT1BWVSAqLworI2RlZmluZSBXTTg5OTBfUk9aQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBST1pDICovCisjZGVmaW5lIFdNODk5MF9ST1pDX0JJVAkJCQk3CisjZGVmaW5lIFdNODk5MF9ST1VUVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwN0YgIC8qIFJPVVRWT0wgLSBbNjowXSAqLworI2RlZmluZSBXTTg5OTBfUk9VVFZPTF9TSElGVAkJCTAKKy8qCisgKiBSMzAgKDB4MUUpIC0gTGluZSBPdXRwdXRzIFZvbHVtZQorICovCisjZGVmaW5lIFdNODk5MF9MT05NVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExPTk1VVEUgKi8KKyNkZWZpbmUgV004OTkwX0xPTk1VVEVfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTE9QTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMT1BNVVRFICovCisjZGVmaW5lIFdNODk5MF9MT1BNVVRFX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0xPQVRUTiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTE9BVFROICovCisjZGVmaW5lIFdNODk5MF9MT0FUVE5fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUk9OTVVURSAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBST05NVVRFICovCisjZGVmaW5lIFdNODk5MF9ST05NVVRFX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX1JPUE1VVEUgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUk9QTVVURSAqLworI2RlZmluZSBXTTg5OTBfUk9QTVVURV9CSVQJCQkxCisjZGVmaW5lIFdNODk5MF9ST0FUVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJPQVRUTiAqLworI2RlZmluZSBXTTg5OTBfUk9BVFROX0JJVAkJCTAKKworLyoKKyAqIFIzMSAoMHgxRikgLSBPdXQzLzQgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09VVDNNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogT1VUM01VVEUgKi8KKyNkZWZpbmUgV004OTkwX09VVDNNVVRFX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX09VVDNBVFROICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogT1VUM0FUVE4gKi8KKyNkZWZpbmUgV004OTkwX09VVDNBVFROX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX09VVDRNVVRFICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogT1VUNE1VVEUgKi8KKyNkZWZpbmUgV004OTkwX09VVDRNVVRFX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX09VVDRBVFROICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogT1VUNEFUVE4gKi8KKyNkZWZpbmUgV004OTkwX09VVDRBVFROX0JJVAkJCTAKKworLyoKKyAqIFIzMiAoMHgyMCkgLSBMZWZ0IE9QR0EgVm9sdW1lCisgKi8KKyNkZWZpbmUgV004OTkwX09QVlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEwMCAgLyogT1BWVSAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FaQyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDgwICAvKiBMT1BHQVpDICovCisjZGVmaW5lIFdNODk5MF9MT1BHQVpDX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xPUEdBVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDA3RiAgLyogTE9QR0FWT0wgLSBbNjowXSAqLworI2RlZmluZSBXTTg5OTBfTE9QR0FWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSMzMgKDB4MjEpIC0gUmlnaHQgT1BHQSBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfT1BWVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBPUFZVICovCisjZGVmaW5lIFdNODk5MF9ST1BHQVpDICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJPUEdBWkMgKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBWkNfQklUCQkJNworI2RlZmluZSBXTTg5OTBfUk9QR0FWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDdGICAvKiBST1BHQVZPTCAtIFs2OjBdICovCisjZGVmaW5lIFdNODk5MF9ST1BHQVZPTF9TSElGVAkJCTAKKy8qCisgKiBSMzQgKDB4MjIpIC0gU3BlYWtlciBWb2x1bWUKKyAqLworI2RlZmluZSBXTTg5OTBfU1BLVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDAzICAvKiBTUEtWT0wgLSBbMTowXSAqLworI2RlZmluZSBXTTg5OTBfU1BLVk9MX1NISUZUCQkJMAorCisvKgorICogUjM1ICgweDIzKSAtIENsYXNzRDEKKyAqLworI2RlZmluZSBXTTg5OTBfQ0RNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTAwICAvKiBDRE1PREUgKi8KKyNkZWZpbmUgV004OTkwX0NETU9ERV9CSVQJCQk4CisKKy8qCisgKiBSMzcgKDB4MjUpIC0gQ2xhc3NEMworICovCisjZGVmaW5lIFdNODk5MF9EQ0dBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcgIC8qIERDR0FJTiAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9EQ0dBSU5fU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9BQ0dBSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAweDAwMDcgIC8qIEFDR0FJTiAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9BQ0dBSU5fU0hJRlQJCQkwCisvKgorICogUjM5ICgweDI3KSAtIElucHV0IE1peGVyMQorICovCisjZGVmaW5lIFdNODk5MF9BSU5MTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgICAweDAwMEMgIC8qIEFJTkxNT0RFIC0gWzM6Ml0gKi8KKyNkZWZpbmUgV004OTkwX0FJTkxNT0RFX1NISUZUCQkJMgorI2RlZmluZSBXTTg5OTBfQUlOUk1PREVfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwMDAzICAvKiBBSU5STU9ERSAtIFsxOjBdICovCisjZGVmaW5lIFdNODk5MF9BSU5STU9ERV9TSElGVAkJCTAKKworLyoKKyAqIFI0MCAoMHgyOCkgLSBJbnB1dCBNaXhlcjIKKyAqLworI2RlZmluZSBXTTg5OTBfTE1QNAkJCQkweDAwODAJLyogTE1QNCAqLworI2RlZmluZSBXTTg5OTBfTE1QNF9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgNwkvKiBMTVA0ICovCisjZGVmaW5lIFdNODk5MF9MTU4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIExNTjMgKi8KKyNkZWZpbmUgV004OTkwX0xNTjNfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDYgICAgICAgLyogTE1OMyAqLworI2RlZmluZSBXTTg5OTBfTE1QMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMTVAyICovCisjZGVmaW5lIFdNODk5MF9MTVAyX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICA1ICAgICAgIC8qIExNUDIgKi8KKyNkZWZpbmUgV004OTkwX0xNTjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTE1OMSAqLworI2RlZmluZSBXTTg5OTBfTE1OMV9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgNCAgICAgICAvKiBMTU4xICovCisjZGVmaW5lIFdNODk5MF9STVA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIFJNUDQgKi8KKyNkZWZpbmUgV004OTkwX1JNUDRfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDMgICAgICAgLyogUk1QNCAqLworI2RlZmluZSBXTTg5OTBfUk1OMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBSTU4zICovCisjZGVmaW5lIFdNODk5MF9STU4zX0JJVCAgICAgICAgICAgICAgICAgICAgICAgICAyICAgICAgIC8qIFJNTjMgKi8KKyNkZWZpbmUgV004OTkwX1JNUDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUk1QMiAqLworI2RlZmluZSBXTTg5OTBfUk1QMl9CSVQgICAgICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAvKiBSTVAyICovCisjZGVmaW5lIFdNODk5MF9STU4xICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIFJNTjEgKi8KKyNkZWZpbmUgV004OTkwX1JNTjFfQklUICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgLyogUk1OMSAqLworCisvKgorICogUjQxICgweDI5KSAtIElucHV0IE1peGVyMworICovCisjZGVmaW5lIFdNODk5MF9MMzRNTkIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIEwzNE1OQiAqLworI2RlZmluZSBXTTg5OTBfTDM0TU5CX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX0wzNE1OQlNUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTDM0TU5CU1QgKi8KKyNkZWZpbmUgV004OTkwX0wzNE1OQlNUX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0wxMk1OQiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTDEyTU5CICovCisjZGVmaW5lIFdNODk5MF9MMTJNTkJfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTDEyTU5CU1QgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMMTJNTkJTVCAqLworI2RlZmluZSBXTTg5OTBfTDEyTU5CU1RfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfTERCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3ICAvKiBMREJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTERCVk9MX1NISUZUCQkJMAorCisvKgorICogUjQyICgweDJBKSAtIElucHV0IE1peGVyNAorICovCisjZGVmaW5lIFdNODk5MF9SMzRNTkIgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMDAgIC8qIFIzNE1OQiAqLworI2RlZmluZSBXTTg5OTBfUjM0TU5CX0JJVAkJCTgKKyNkZWZpbmUgV004OTkwX1IzNE1OQlNUICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogUjM0TU5CU1QgKi8KKyNkZWZpbmUgV004OTkwX1IzNE1OQlNUX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1IxMk1OQiAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogUjEyTU5CICovCisjZGVmaW5lIFdNODk5MF9SMTJNTkJfQklUCQkJNQorI2RlZmluZSBXTTg5OTBfUjEyTU5CU1QgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBSMTJNTkJTVCAqLworI2RlZmluZSBXTTg5OTBfUjEyTU5CU1RfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3ICAvKiBSREJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUkRCVk9MX1NISUZUCQkJMAorCisvKgorICogUjQzICgweDJCKSAtIElucHV0IE1peGVyNQorICovCisjZGVmaW5lIFdNODk5MF9MSTJCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMSTJCVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0xJMkJWT0xfU0hJRlQJCQk2CisjZGVmaW5lIFdNODk5MF9MUjRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMUjRCVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX0xSNEJWT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9MTDRCVk9MX01BU0sgICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMTDRCVk9MIC0gWzI6MF0gKi8KKyNkZWZpbmUgV004OTkwX0xMNEJWT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNDQgKDB4MkMpIC0gSW5wdXQgTWl4ZXI2CisgKi8KKyNkZWZpbmUgV004OTkwX1JJMkJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJJMkJWT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfUkkyQlZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMNEJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJMNEJWT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfUkw0QlZPTF9TSElGVAkJCTMKKyNkZWZpbmUgV004OTkwX1JSNEJWT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJSNEJWT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUlI0QlZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI0NSAoMHgyRCkgLSBPdXRwdXQgTWl4ZXIxCisgKi8KKyNkZWZpbmUgV004OTkwX0xSQkxPICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogTFJCTE8gKi8KKyNkZWZpbmUgV004OTkwX0xSQkxPX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX0xMQkxPICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTExCTE8gKi8KKyNkZWZpbmUgV004OTkwX0xMQkxPX0JJVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSSTNMTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTFJJM0xPICovCisjZGVmaW5lIFdNODk5MF9MUkkzTE9fQklUCQkJNQorI2RlZmluZSBXTTg5OTBfTExJM0xPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDEwICAvKiBMTEkzTE8gKi8KKyNkZWZpbmUgV004OTkwX0xMSTNMT19CSVQJCQk0CisjZGVmaW5lIFdNODk5MF9MUjEyTE8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIExSMTJMTyAqLworI2RlZmluZSBXTTg5OTBfTFIxMkxPX0JJVAkJCTMKKyNkZWZpbmUgV004OTkwX0xMMTJMTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogTEwxMkxPICovCisjZGVmaW5lIFdNODk5MF9MTDEyTE9fQklUCQkJMgorI2RlZmluZSBXTTg5OTBfTERMTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBMRExPICovCisjZGVmaW5lIFdNODk5MF9MRExPX0JJVAkJCQkwCisKKy8qCisgKiBSNDYgKDB4MkUpIC0gT3V0cHV0IE1peGVyMgorICovCisjZGVmaW5lIFdNODk5MF9STEJSTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIFJMQlJPICovCisjZGVmaW5lIFdNODk5MF9STEJST19CSVQJCQk3CisjZGVmaW5lIFdNODk5MF9SUkJSTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFJSQlJPICovCisjZGVmaW5lIFdNODk5MF9SUkJST19CSVQJCQk2CisjZGVmaW5lIFdNODk5MF9STEkzUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMjAgIC8qIFJMSTNSTyAqLworI2RlZmluZSBXTTg5OTBfUkxJM1JPX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX1JSSTNSTyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogUlJJM1JPICovCisjZGVmaW5lIFdNODk5MF9SUkkzUk9fQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkwxMlJPICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA4ICAvKiBSTDEyUk8gKi8KKyNkZWZpbmUgV004OTkwX1JMMTJST19CSVQJCQkzCisjZGVmaW5lIFdNODk5MF9SUjEyUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIFJSMTJSTyAqLworI2RlZmluZSBXTTg5OTBfUlIxMlJPX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX1JEUk8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUkRSTyAqLworI2RlZmluZSBXTTg5OTBfUkRST19CSVQJCQkJMAorCisvKgorICogUjQ3ICgweDJGKSAtIE91dHB1dCBNaXhlcjMKKyAqLworI2RlZmluZSBXTTg5OTBfTExJM0xPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTExJM0xPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0xMSTNMT1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSMTJMT1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExSMTJMT1ZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9MUjEyTE9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9MTDEyTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBMTDEyTE9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTEwxMkxPVk9MX1NISUZUCQkJMAorCisvKgorICogUjQ4ICgweDMwKSAtIE91dHB1dCBNaXhlcjQKKyAqLworI2RlZmluZSBXTTg5OTBfUlJJM1JPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUlJJM1JPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX1JSSTNST1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX1JMMTJST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIFJMMTJST1ZPTCAtIFs1OjNdICovCisjZGVmaW5lIFdNODk5MF9STDEyUk9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9SUjEyUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSUjEyUk9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfUlIxMlJPVk9MX1NISUZUCQkJMAorCisvKgorICogUjQ5ICgweDMxKSAtIE91dHB1dCBNaXhlcjUKKyAqLworI2RlZmluZSBXTTg5OTBfTFJJM0xPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTFJJM0xPVk9MIC0gWzg6Nl0gKi8KKyNkZWZpbmUgV004OTkwX0xSSTNMT1ZPTF9TSElGVAkJCTYKKyNkZWZpbmUgV004OTkwX0xSQkxPVk9MX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MDcgIC8qIExSQkxPVk9MIC0gWzU6M10gKi8KKyNkZWZpbmUgV004OTkwX0xSQkxPVk9MX1NISUZUCQkJMworI2RlZmluZSBXTTg5OTBfTExCTE9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogTExCTE9WT0wgLSBbMjowXSAqLworI2RlZmluZSBXTTg5OTBfTExCTE9WT0xfU0hJRlQJCQkwCisKKy8qCisgKiBSNTAgKDB4MzIpIC0gT3V0cHV0IE1peGVyNgorICovCisjZGVmaW5lIFdNODk5MF9STEkzUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSTEkzUk9WT0wgLSBbODo2XSAqLworI2RlZmluZSBXTTg5OTBfUkxJM1JPVk9MX1NISUZUCQkJNgorI2RlZmluZSBXTTg5OTBfUkxCUk9WT0xfTUFTSyAgICAgICAgICAgICAgICAgICAgMHgwNyAgLyogUkxCUk9WT0wgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfUkxCUk9WT0xfU0hJRlQJCQkzCisjZGVmaW5lIFdNODk5MF9SUkJST1ZPTF9NQVNLICAgICAgICAgICAgICAgICAgICAweDA3ICAvKiBSUkJST1ZPTCAtIFsyOjBdICovCisjZGVmaW5lIFdNODk5MF9SUkJST1ZPTF9TSElGVAkJCTAKKworLyoKKyAqIFI1MSAoMHgzMykgLSBPdXQzLzQgTWl4ZXIKKyAqLworI2RlZmluZSBXTTg5OTBfVlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgMHgwMTgwICAvKiBWU0VMIC0gWzg6N10gKi8KKyNkZWZpbmUgV004OTkwX0xJNE8zICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAyMCAgLyogTEk0TzMgKi8KKyNkZWZpbmUgV004OTkwX0xJNE8zX0JJVAkJCTUKKyNkZWZpbmUgV004OTkwX0xQR0FPMyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogTFBHQU8zICovCisjZGVmaW5lIFdNODk5MF9MUEdBTzNfQklUCQkJNAorI2RlZmluZSBXTTg5OTBfUkk0TzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAyICAvKiBSSTRPNCAqLworI2RlZmluZSBXTTg5OTBfUkk0TzRfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfUlBHQU80ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSUEdBTzQgKi8KKyNkZWZpbmUgV004OTkwX1JQR0FPNF9CSVQJCQkwCisvKgorICogUjUyICgweDM0KSAtIExpbmUgTWl4ZXIxCisgKi8KKyNkZWZpbmUgV004OTkwX0xMT1BHQUxPTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogTExPUEdBTE9OICovCisjZGVmaW5lIFdNODk5MF9MTE9QR0FMT05fQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTFJPUEdBTE9OICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMUk9QR0FMT04gKi8KKyNkZWZpbmUgV004OTkwX0xST1BHQUxPTl9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9MT1BMT04gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIExPUExPTiAqLworI2RlZmluZSBXTTg5OTBfTE9QTE9OX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0xSMTJMT1AgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogTFIxMkxPUCAqLworI2RlZmluZSBXTTg5OTBfTFIxMkxPUF9CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9MTDEyTE9QICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIExMMTJMT1AgKi8KKyNkZWZpbmUgV004OTkwX0xMMTJMT1BfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfTExPUEdBTE9QICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBMTE9QR0FMT1AgKi8KKyNkZWZpbmUgV004OTkwX0xMT1BHQUxPUF9CSVQJCQkwCisvKgorICogUjUzICgweDM1KSAtIExpbmUgTWl4ZXIyCisgKi8KKyNkZWZpbmUgV004OTkwX1JST1BHQVJPTiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUlJPUEdBUk9OICovCisjZGVmaW5lIFdNODk5MF9SUk9QR0FST05fQklUCQkJNgorI2RlZmluZSBXTTg5OTBfUkxPUEdBUk9OICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBSTE9QR0FST04gKi8KKyNkZWZpbmUgV004OTkwX1JMT1BHQVJPTl9CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9ST1BST04gICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJPUFJPTiAqLworI2RlZmluZSBXTTg5OTBfUk9QUk9OX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX1JMMTJST1AgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUkwxMlJPUCAqLworI2RlZmluZSBXTTg5OTBfUkwxMlJPUF9CSVQJCQkyCisjZGVmaW5lIFdNODk5MF9SUjEyUk9QICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIFJSMTJST1AgKi8KKyNkZWZpbmUgV004OTkwX1JSMTJST1BfQklUCQkJMQorI2RlZmluZSBXTTg5OTBfUlJPUEdBUk9QICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBSUk9QR0FST1AgKi8KKyNkZWZpbmUgV004OTkwX1JST1BHQVJPUF9CSVQJCQkwCisKKy8qCisgKiBSNTQgKDB4MzYpIC0gU3BlYWtlciBNaXhlcgorICovCisjZGVmaW5lIFdNODk5MF9MQjJTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwODAgIC8qIExCMlNQSyAqLworI2RlZmluZSBXTTg5OTBfTEIyU1BLX0JJVAkJCTcKKyNkZWZpbmUgV004OTkwX1JCMlNQSyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA0MCAgLyogUkIyU1BLICovCisjZGVmaW5lIFdNODk5MF9SQjJTUEtfQklUCQkJNgorI2RlZmluZSBXTTg5OTBfTEkyU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBMSTJTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xJMlNQS19CSVQJCQk1CisjZGVmaW5lIFdNODk5MF9SSTJTUEsgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMTAgIC8qIFJJMlNQSyAqLworI2RlZmluZSBXTTg5OTBfUkkyU1BLX0JJVAkJCTQKKyNkZWZpbmUgV004OTkwX0xPUEdBU1BLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogTE9QR0FTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xPUEdBU1BLX0JJVAkJCTMKKyNkZWZpbmUgV004OTkwX1JPUEdBU1BLICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNCAgLyogUk9QR0FTUEsgKi8KKyNkZWZpbmUgV004OTkwX1JPUEdBU1BLX0JJVAkJCTIKKyNkZWZpbmUgV004OTkwX0xEU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogTERTUEsgKi8KKyNkZWZpbmUgV004OTkwX0xEU1BLX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX1JEU1BLICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogUkRTUEsgKi8KKyNkZWZpbmUgV004OTkwX1JEU1BLX0JJVAkJCTAKKworLyoKKyAqIFI1NSAoMHgzNykgLSBBZGRpdGlvbmFsIENvbnRyb2wKKyAqLworI2RlZmluZSBXTTg5OTBfVlJPSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBWUk9JICovCisKKy8qCisgKiBSNTYgKDB4MzgpIC0gQW50aVBPUDEKKyAqLworI2RlZmluZSBXTTg5OTBfRElTX0xMSU5FICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDIwICAvKiBESVNfTExJTkUgKi8KKyNkZWZpbmUgV004OTkwX0RJU19STElORSAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMCAgLyogRElTX1JMSU5FICovCisjZGVmaW5lIFdNODk5MF9ESVNfT1VUMyAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDggIC8qIERJU19PVVQzICovCisjZGVmaW5lIFdNODk5MF9ESVNfT1VUNCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDQgIC8qIERJU19PVVQ0ICovCisjZGVmaW5lIFdNODk5MF9ESVNfTE9VVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDIgIC8qIERJU19MT1VUICovCisjZGVmaW5lIFdNODk5MF9ESVNfUk9VVCAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEgIC8qIERJU19ST1VUICovCisKKy8qCisgKiBSNTcgKDB4MzkpIC0gQW50aVBPUDIKKyAqLworI2RlZmluZSBXTTg5OTBfU09GVFNUICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDQwICAvKiBTT0ZUU1QgKi8KKyNkZWZpbmUgV004OTkwX0JVRklPRU4gICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOCAgLyogQlVGSU9FTiAqLworI2RlZmluZSBXTTg5OTBfQlVGRENPUEVOICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBCVUZEQ09QRU4gKi8KKyNkZWZpbmUgV004OTkwX1BPQkNUUkwgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMiAgLyogUE9CQ1RSTCAqLworI2RlZmluZSBXTTg5OTBfVk1JRFRPRyAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxICAvKiBWTUlEVE9HICovCisKKy8qCisgKiBSNTggKDB4M0EpIC0gTUlDQklBUworICovCisjZGVmaW5lIFdNODk5MF9NQ0RTQ1RIX01BU0sgICAgICAgICAgICAgICAgICAgICAweDAwQzAgIC8qIE1DRFNDVEggLSBbNzo2XSAqLworI2RlZmluZSBXTTg5OTBfTUNEVEhSX01BU0sgICAgICAgICAgICAgICAgICAgICAgMHgwMDM4ICAvKiBNQ0RUSFIgLSBbNTozXSAqLworI2RlZmluZSBXTTg5OTBfTUNEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA0ICAvKiBNQ0QgKi8KKyNkZWZpbmUgV004OTkwX01CU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMSAgLyogTUJTRUwgKi8KKworLyoKKyAqIFI2MCAoMHgzQykgLSBQTEwxCisgKi8KKyNkZWZpbmUgV004OTkwX1NETSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDA4MCAgLyogU0RNICovCisjZGVmaW5lIFdNODk5MF9QUkVTQ0FMRSAgICAgICAgICAgICAgICAgICAgICAgICAweDAwNDAgIC8qIFBSRVNDQUxFICovCisjZGVmaW5lIFdNODk5MF9QTExOX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDAwMEYgIC8qIFBMTE4gLSBbMzowXSAqLworCisvKgorICogUjYxICgweDNEKSAtIFBMTDIKKyAqLworI2RlZmluZSBXTTg5OTBfUExMSzFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgMHgwMEZGICAvKiBQTExLMSAtIFs3OjBdICovCisKKy8qCisgKiBSNjIgKDB4M0UpIC0gUExMMworICovCisjZGVmaW5lIFdNODk5MF9QTExLMl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAweDAwRkYgIC8qIFBMTEsyIC0gWzc6MF0gKi8KKworLyoKKyAqIFI2MyAoMHgzRikgLSBJbnRlcm5hbCBEcml2ZXIgQml0cworICovCisjZGVmaW5lIFdNODk5MF9JTk1JWExfUFdSX0JJVAkJCTAKKyNkZWZpbmUgV004OTkwX0FJTkxNVVhfUFdSX0JJVAkJCTEKKyNkZWZpbmUgV004OTkwX0lOTUlYUl9QV1JfQklUCQkJMgorI2RlZmluZSBXTTg5OTBfQUlOUk1VWF9QV1JfQklUCQkJMworCitzdHJ1Y3Qgd204OTkwX3NldHVwX2RhdGEgeworCXVuc2lnbmVkIHNob3J0IGkyY19hZGRyZXNzOworfTsKKworI2RlZmluZSBXTTg5OTBfTUNMS19ESVYgMAorI2RlZmluZSBXTTg5OTBfREFDQ0xLX0RJViAxCisjZGVmaW5lIFdNODk5MF9BRENDTEtfRElWIDIKKyNkZWZpbmUgV004OTkwX0JDTEtfRElWIDMKKworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTg5OTBfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtODk5MDsKKworI2VuZGlmCS8qIF9fV004OTkwUkVHSVNURVJERUZTX0hfXyAqLworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRU5EIE9GIEZJTEUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmMgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5jCmluZGV4IDc2YzFlMmQuLjlmYzhlZGQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmMKKysrIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTIuYwpAQCAtOSw5ICs5LDYgQEAKICAqICB1bmRlciAgdGhlIHRlcm1zIG9mICB0aGUgR05VIEdlbmVyYWwgIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICA0dGggRmViIDIwMDYgICBJbml0aWFsIHZlcnNpb24uCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KQEAgLTI1LDYgKzIyLDcgQEAKICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLmg+CiAjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKyNpbmNsdWRlICJ3bTk3MTIuaCIKIAogI2RlZmluZSBXTTk3MTJfVkVSU0lPTiAiMC40IgogCkBAIC0zNTEsNyArMzQ5LDcgQEAKIFNORF9TT0NfREFQTV9JTlBVVCgiTUlDMiIpLAogfTsKIAotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAJLyogdmlydHVhbCBtaXhlciAtIG1peGVzIGxlZnQgJiByaWdodCBjaGFubmVscyBmb3Igc3BrIGFuZCBtb25vICovCiAJeyJBQzk3IE1peGVyIiwgTlVMTCwgIkxlZnQgREFDIn0sCiAJeyJBQzk3IE1peGVyIiwgTlVMTCwgIlJpZ2h0IERBQyJ9LApAQCAtNDQ2LDIxICs0NDQsMTQgQEAKIAl7IlNwZWFrZXIgUEdBIiwgTlVMTCwgIlNwZWFrZXIgTXV4In0sCiAJeyJMT1VUMiIsIE5VTEwsICJTcGVha2VyIFBHQSJ9LAogCXsiUk9VVDIiLCBOVUxMLCAiU3BlYWtlciBQR0EifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBpbnQgd205NzEyX2FkZF93aWRnZXRzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgaTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTk3MTJfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTk3MTJfZGFwbV93aWRnZXRzKSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTk3MTJfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTk3MTJfZGFwbV93aWRnZXRzW2ldKTsKLQotCS8qIHNldCB1cCBhdWRpbyBwYXRoIGNvbm5lY3RzICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCQkJICAgYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtNTQxLDcgKzUzMiw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfFwKIAkJU05EUlZfUENNX1JBVEVfNDgwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTk3MTJfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgd205NzEyX2RhaVtdID0gewogewogCS5uYW1lID0gIkFDOTcgSGlGaSIsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9BQzk3X0JVUywKQEAgLTU3NCwyMyArNTY1LDIzIEBACiB9OwogRVhQT1JUX1NZTUJPTF9HUEwod205NzEyX2RhaSk7CiAKLXN0YXRpYyBpbnQgd205NzEyX2RhcG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBpbnQgZXZlbnQpCitzdGF0aWMgaW50IHdtOTcxMl9zZXRfYmlhc19sZXZlbChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJCQkJIGVudW0gc25kX3NvY19iaWFzX2xldmVsIGxldmVsKQogewotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOiAvKiBwYXJ0aWFsIE9uICovCi0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDI6IC8qIHBhcnRpYWwgT24gKi8KKwlzd2l0Y2ggKGxldmVsKSB7CisJY2FzZSBTTkRfU09DX0JJQVNfT046CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweDAwMDApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZGlzYWJsZSBldmVyeXRoaW5nIGluY2x1ZGluZyBBQyBsaW5rICovCiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTVNUQVRVUywgMHhmZmZmKTsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19QT1dFUkRPV04sIDB4ZmZmZik7CiAJCWJyZWFrOwogCX0KLQljb2RlYy0+ZGFwbV9zdGF0ZSA9IGV2ZW50OworCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTU5OCwxMiArNTg5LDEyIEBACiB7CiAJaWYgKHRyeV93YXJtICYmIHNvY19hYzk3X29wcy53YXJtX3Jlc2V0KSB7CiAJCXNvY19hYzk3X29wcy53YXJtX3Jlc2V0KGNvZGVjLT5hYzk3KTsKLQkJaWYgKCEoYWM5N19yZWFkKGNvZGVjLCAwKSAmIDB4ODAwMCkpCisJCWlmIChhYzk3X3JlYWQoY29kZWMsIDApID09IHdtOTcxMl9yZWdbMF0pCiAJCQlyZXR1cm4gMTsKIAl9CiAKIAlzb2NfYWM5N19vcHMucmVzZXQoY29kZWMtPmFjOTcpOwotCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICYgMHg4MDAwKQorCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICE9IHdtOTcxMl9yZWdbMF0pCiAJCWdvdG8gZXJyOwogCXJldHVybiAwOwogCkBAIC02MTgsNyArNjA5LDcgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAKLQl3bTk3MTJfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzY29sZCk7CisJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT0ZGKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNjM1LDcgKzYyNiw3IEBACiAJCXJldHVybiByZXQ7CiAJfQogCi0Jd205NzEyX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAlpZiAocmV0ID09IDApIHsKIAkJLyogU3luYyByZWdfY2FjaGUgd2l0aCB0aGUgaGFyZHdhcmUgYWZ0ZXIgY29sZCByZXNldCAqLwpAQCAtNjQ3LDggKzYzOCw4IEBACiAJCX0KIAl9CiAKLQlpZiAoY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9PSBTTkRSVl9DVExfUE9XRVJfRDApCi0JCXdtOTcxMl9kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDApOworCWlmIChjb2RlYy0+c3VzcGVuZF9iaWFzX2xldmVsID09IFNORF9TT0NfQklBU19PTikKKwkJd205NzEyX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfT04pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTY4Miw3ICs2NzMsNyBAQAogCWNvZGVjLT5udW1fZGFpID0gQVJSQVlfU0laRSh3bTk3MTJfZGFpKTsKIAljb2RlYy0+d3JpdGUgPSBhYzk3X3dyaXRlOwogCWNvZGVjLT5yZWFkID0gYWM5N19yZWFkOwotCWNvZGVjLT5kYXBtX2V2ZW50ID0gd205NzEyX2RhcG1fZXZlbnQ7CisJY29kZWMtPnNldF9iaWFzX2xldmVsID0gd205NzEyX3NldF9iaWFzX2xldmVsOwogCUlOSVRfTElTVF9IRUFEKCZjb2RlYy0+ZGFwbV93aWRnZXRzKTsKIAlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fcGF0aHMpOwogCkBAIC03MDYsNyArNjk3LDcgQEAKIAkvKiBzZXQgYWxjIG11eCB0byBub25lICovCiAJYWM5N193cml0ZShjb2RlYywgQUM5N19WSURFTywgYWM5N19yZWFkKGNvZGVjLCBBQzk3X1ZJREVPKSB8IDB4MzAwMCk7CiAKLQl3bTk3MTJfZGFwbV9ldmVudChjb2RlYywgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwl3bTk3MTJfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19TVEFOREJZKTsKIAl3bTk3MTJfYWRkX2NvbnRyb2xzKGNvZGVjKTsKIAl3bTk3MTJfYWRkX3dpZGdldHMoY29kZWMpOwogCXJldCA9IHNuZF9zb2NfcmVnaXN0ZXJfY2FyZChzb2NkZXYpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTk3MTIuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEyLmgKaW5kZXggNzE5MTA1ZC4uZDI5ZThhMSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTk3MTIuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMi5oCkBAIC04LDcgKzgsNyBAQAogI2RlZmluZSBXTTk3MTJfREFJX0FDOTdfSElGSQkwCiAjZGVmaW5lIFdNOTcxMl9EQUlfQUM5N19BVVgJCTEKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSB3bTk3MTJfZGFpWzJdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSB3bTk3MTJfZGFpWzJdOwogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtOTcxMjsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5jIGIvc291bmQvc29jL2NvZGVjcy93bTk3MTMuYwppbmRleCAxZjI0MTE2Li4zOGQxZmUwIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5jCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmMKQEAgLTEwLDkgKzEwLDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICA0dGggRmViIDIwMDYgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICogIEZlYXR1cmVzOi0KICAqCiAgKiAgIG8gU3VwcG9ydCBmb3IgQUM5NyBDb2RlYywgVm9pY2UgREFDIGFuZCBBdXggREFDCkBAIC00NTYsNyArNDUzLDcgQEAKIFNORF9TT0NfREFQTV9WTUlEKCJWTUlEIiksCiB9OwogCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBsZWZ0IEhQIG1peGVyICovCiAJeyJMZWZ0IEhQIE1peGVyIiwgIlBDIEJlZXAgUGxheWJhY2sgU3dpdGNoIiwgIlBDQkVFUCJ9LAogCXsiTGVmdCBIUCBNaXhlciIsICJWb2ljZSBQbGF5YmFjayBTd2l0Y2giLCAgICJWb2ljZSBEQUMifSwKQEAgLTYwNywyMSArNjA0LDE0IEBACiAJeyJDYXB0dXJlIE1vbm8gTXV4IiwgIlN0ZXJlbyIsICJDYXB0dXJlIE1peGVyIn0sCiAJeyJDYXB0dXJlIE1vbm8gTXV4IiwgIkxlZnQiLCAiTGVmdCBDYXB0dXJlIFNvdXJjZSJ9LAogCXsiQ2FwdHVyZSBNb25vIE11eCIsICJSaWdodCIsICJSaWdodCBDYXB0dXJlIFNvdXJjZSJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGludCB3bTk3MTNfYWRkX3dpZGdldHMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBpOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtOTcxM19kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtOTcxM19kYXBtX3dpZGdldHMpKTsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtOTcxM19kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtOTcxM19kYXBtX3dpZGdldHNbaV0pOwotCi0JLyogc2V0IHVwIGF1ZGlvIHBhdGggYXVkaW9fbWFwbmVjdHMgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAlzbmRfc29jX2RhcG1fbmV3X3dpZGdldHMoY29kZWMpOwogCXJldHVybiAwOwpAQCAtNzk5LDcgKzc4OSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9wbGwoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCWludCBwbGxfaWQsIHVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTgxMCw3ICs4MDAsNyBAQAogICogVHJpc3RhdGUgdGhlIFBDTSBEQUkgbGluZXMsIHRyaXN0YXRlIGNhbiBiZSBkaXNhYmxlZCBieSBjYWxsaW5nCiAgKiB3bTk3MTNfc2V0X2RhaV9mbXQoKQogICovCi1zdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX3RyaXN0YXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV90cmlzdGF0ZShzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAlpbnQgdHJpc3RhdGUpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTgyNiw3ICs4MTYsNyBAQAogICogQ29uZmlndXJlIFdNOTcxMyBjbG9jayBkaXZpZGVycy4KICAqIFZvaWNlIERBQyBuZWVkcyAyNTYgRlMKICAqLwotc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWksCitzdGF0aWMgaW50IHdtOTcxM19zZXRfZGFpX2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSwKIAkJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBjb2RlY19kYWktPmNvZGVjOwpAQCAtODY4LDcgKzg1OCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgd205NzEzX3NldF9kYWlfZm10KHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpLAorc3RhdGljIGludCB3bTk3MTNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gY29kZWNfZGFpLT5jb2RlYzsKQEAgLTg4Niw3ICs4NzYsNyBAQAogCQlncGlvIHw9IDB4MDAxODsKIAkJYnJlYWs7CiAJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTOgotCQlyZWcgfD0gMHgwMjAwOworCQlyZWcgfD0gMHgyMDAwOwogCQlncGlvIHw9IDB4MDAxYTsKIAkJYnJlYWs7CiAJY2FzZSBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZNOgpAQCAtMTAxMSwxNSArMTAwMSwyNCBAQAogCXJldHVybiBhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X1BDTV9TVVJSX0RBQ19SQVRFLCBydW50aW1lLT5yYXRlKTsKIH0KIAotI2RlZmluZSBXTTk3MTNfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgfCBTTkRSVl9QQ01fUkFURV8xMTAyNSB8XAotCQlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHxcCi0JCVNORFJWX1BDTV9SQVRFXzQ4MDAwKQorI2RlZmluZSBXTTk3MTNfUkFURVMgKFNORFJWX1BDTV9SQVRFXzgwMDAgIHwJXAorCQkgICAgICBTTkRSVl9QQ01fUkFURV8xMTAyNSB8CVwKKwkJICAgICAgU05EUlZfUENNX1JBVEVfMjIwNTAgfAlcCisJCSAgICAgIFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwJXAorCQkgICAgICBTTkRSVl9QQ01fUkFURV80ODAwMCkKKworI2RlZmluZSBXTTk3MTNfUENNX1JBVEVTIChTTkRSVl9QQ01fUkFURV84MDAwICB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfMTEwMjUgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzE2MDAwIHwJXAorCQkJICBTTkRSVl9QQ01fUkFURV8yMjA1MCB8CVwKKwkJCSAgU05EUlZfUENNX1JBVEVfNDQxMDAgfAlcCisJCQkgIFNORFJWX1BDTV9SQVRFXzQ4MDAwKQogCiAjZGVmaW5lIFdNOTcxM19QQ01fRk9STUFUUyBcCiAJKFNORFJWX1BDTV9GT1JNQVRfUzE2X0xFIHwgU05EUlZfUENNX0ZPUk1BVF9TMjBfM0xFIHwgXAogCSBTTkRSVl9QQ01fRk9STUFUX1MyNF9MRSkKIAotc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpIHdtOTcxM19kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSB3bTk3MTNfZGFpW10gPSB7CiB7CiAJLm5hbWUgPSAiQUM5NyBIaUZpIiwKIAkudHlwZSA9IFNORF9TT0NfREFJX0FDOTdfQlVTLApAQCAtMTA2MSwxMyArMTA2MCwxMyBAQAogCQkuc3RyZWFtX25hbWUgPSAiVm9pY2UgUGxheWJhY2siLAogCQkuY2hhbm5lbHNfbWluID0gMSwKIAkJLmNoYW5uZWxzX21heCA9IDEsCi0JCS5yYXRlcyA9IFdNOTcxM19SQVRFUywKKwkJLnJhdGVzID0gV005NzEzX1BDTV9SQVRFUywKIAkJLmZvcm1hdHMgPSBXTTk3MTNfUENNX0ZPUk1BVFMsfSwKIAkuY2FwdHVyZSA9IHsKIAkJLnN0cmVhbV9uYW1lID0gIlZvaWNlIENhcHR1cmUiLAogCQkuY2hhbm5lbHNfbWluID0gMSwKIAkJLmNoYW5uZWxzX21heCA9IDIsCi0JCS5yYXRlcyA9IFdNOTcxM19SQVRFUywKKwkJLnJhdGVzID0gV005NzEzX1BDTV9SQVRFUywKIAkJLmZvcm1hdHMgPSBXTTk3MTNfUENNX0ZPUk1BVFMsfSwKIAkub3BzID0gewogCQkuaHdfcGFyYW1zID0gd205NzEzX3BjbV9od19wYXJhbXMsCkBAIC0xMDg2LDQ0ICsxMDg1LDQ0IEBACiB7CiAJaWYgKHRyeV93YXJtICYmIHNvY19hYzk3X29wcy53YXJtX3Jlc2V0KSB7CiAJCXNvY19hYzk3X29wcy53YXJtX3Jlc2V0KGNvZGVjLT5hYzk3KTsKLQkJaWYgKCEoYWM5N19yZWFkKGNvZGVjLCAwKSAmIDB4ODAwMCkpCisJCWlmIChhYzk3X3JlYWQoY29kZWMsIDApID09IHdtOTcxM19yZWdbMF0pCiAJCQlyZXR1cm4gMTsKIAl9CiAKIAlzb2NfYWM5N19vcHMucmVzZXQoY29kZWMtPmFjOTcpOwotCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICYgMHg4MDAwKQorCWlmIChhYzk3X3JlYWQoY29kZWMsIDApICE9IHdtOTcxM19yZWdbMF0pCiAJCXJldHVybiAtRUlPOwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTF9HUEwod205NzEzX3Jlc2V0KTsKIAotc3RhdGljIGludCB3bTk3MTNfZGFwbV9ldmVudChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBldmVudCkKK3N0YXRpYyBpbnQgd205NzEzX3NldF9iaWFzX2xldmVsKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCQkgZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJdTE2IHJlZzsKIAotCXN3aXRjaCAoZXZlbnQpIHsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMDogLyogZnVsbCBPbiAqLworCXN3aXRjaCAobGV2ZWwpIHsKKwljYXNlIFNORF9TT0NfQklBU19PTjoKIAkJLyogZW5hYmxlIHRoZXJtYWwgc2h1dGRvd24gKi8KIAkJcmVnID0gYWM5N19yZWFkKGNvZGVjLCBBQzk3X0VYVEVOREVEX01JRCkgJiAweDFiZmY7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTUlELCByZWcpOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EMTogLyogcGFydGlhbCBPbiAqLwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOiAvKiBwYXJ0aWFsIE9uICovCisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKIAkJYnJlYWs7Ci0JY2FzZSBTTkRSVl9DVExfUE9XRVJfRDNob3Q6IC8qIE9mZiwgd2l0aCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX1NUQU5EQlk6CiAJCS8qIGVuYWJsZSBtYXN0ZXIgYmlhcyBhbmQgdm1pZCAqLwogCQlyZWcgPSBhYzk3X3JlYWQoY29kZWMsIEFDOTdfRVhURU5ERURfTUlEKSAmIDB4M2JmZjsKIAkJYWM5N193cml0ZShjb2RlYywgQUM5N19FWFRFTkRFRF9NSUQsIHJlZyk7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweDAwMDApOwogCQlicmVhazsKLQljYXNlIFNORFJWX0NUTF9QT1dFUl9EM2NvbGQ6IC8qIE9mZiwgd2l0aG91dCBwb3dlciAqLworCWNhc2UgU05EX1NPQ19CSUFTX09GRjoKIAkJLyogZGlzYWJsZSBldmVyeXRoaW5nIGluY2x1ZGluZyBBQyBsaW5rICovCiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfRVhURU5ERURfTUlELCAweGZmZmYpOwogCQlhYzk3X3dyaXRlKGNvZGVjLCBBQzk3X0VYVEVOREVEX01TVEFUVVMsIDB4ZmZmZik7CiAJCWFjOTdfd3JpdGUoY29kZWMsIEFDOTdfUE9XRVJET1dOLCAweGZmZmYpOwogCQlicmVhazsKIAl9Ci0JY29kZWMtPmRhcG1fc3RhdGUgPSBldmVudDsKKwljb2RlYy0+Ymlhc19sZXZlbCA9IGxldmVsOwogCXJldHVybiAwOwogfQogCkBAIC0xMTYwLDcgKzExNTksNyBAQAogCQlyZXR1cm4gcmV0OwogCX0KIAotCXdtOTcxM19kYXBtX2V2ZW50KGNvZGVjLCBTTkRSVl9DVExfUE9XRVJfRDNob3QpOworCXdtOTcxM19zZXRfYmlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCiAJLyogZG8gd2UgbmVlZCB0byByZS1zdGFydCB0aGUgUExMID8gKi8KIAlpZiAod205NzEzLT5wbGxfb3V0KQpAQCAtMTE3Niw4ICsxMTc1LDggQEAKIAkJfQogCX0KIAotCWlmIChjb2RlYy0+c3VzcGVuZF9kYXBtX3N0YXRlID09IFNORFJWX0NUTF9QT1dFUl9EMCkKLQkJd205NzEzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EMCk7CisJaWYgKGNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09OKQorCQl3bTk3MTNfc2V0X2JpYXNfbGV2ZWwoY29kZWMsIFNORF9TT0NfQklBU19PTik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTIxNiw3ICsxMjE1LDcgQEAKIAljb2RlYy0+bnVtX2RhaSA9IEFSUkFZX1NJWkUod205NzEzX2RhaSk7CiAJY29kZWMtPndyaXRlID0gYWM5N193cml0ZTsKIAljb2RlYy0+cmVhZCA9IGFjOTdfcmVhZDsKLQljb2RlYy0+ZGFwbV9ldmVudCA9IHdtOTcxM19kYXBtX2V2ZW50OworCWNvZGVjLT5zZXRfYmlhc19sZXZlbCA9IHdtOTcxM19zZXRfYmlhc19sZXZlbDsKIAlJTklUX0xJU1RfSEVBRCgmY29kZWMtPmRhcG1fd2lkZ2V0cyk7CiAJSU5JVF9MSVNUX0hFQUQoJmNvZGVjLT5kYXBtX3BhdGhzKTsKIApAQCAtMTIzOCw3ICsxMjM3LDcgQEAKIAkJZ290byByZXNldF9lcnI7CiAJfQogCi0Jd205NzEzX2RhcG1fZXZlbnQoY29kZWMsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJd205NzEzX3NldF9iaWFzX2xldmVsKGNvZGVjLCBTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAKIAkvKiB1bm11dGUgdGhlIGFkYyAtIG1vdmUgdG8ga2NvbnRyb2wgKi8KIAlyZWcgPSBhYzk3X3JlYWQoY29kZWMsIEFDOTdfQ0QpICYgMHg3ZmZmOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy93bTk3MTMuaCBiL3NvdW5kL3NvYy9jb2RlY3Mvd205NzEzLmgKaW5kZXggZDM1N2I2Yy4uNjNiOGQ4MSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2NvZGVjcy93bTk3MTMuaAorKysgYi9zb3VuZC9zb2MvY29kZWNzL3dtOTcxMy5oCkBAIC00Niw3ICs0Niw3IEBACiAjZGVmaW5lIFdNOTcxM19EQUlfUENNX1ZPSUNFCTIKIAogZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSBzb2NfY29kZWNfZGV2X3dtOTcxMzsKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgd205NzEzX2RhaVszXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgd205NzEzX2RhaVszXTsKIAogaW50IHdtOTcxM19yZXNldChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsICBpbnQgdHJ5X3dhcm0pOwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9LY29uZmlnIGIvc291bmQvc29jL2RhdmluY2kvS2NvbmZpZwppbmRleCAyMDY4MGM1Li44ZjdlMzM4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgU05EX0RBVklOQ0lfU09DCiAJdHJpc3RhdGUgIlNvQyBBdWRpbyBmb3IgdGhlIFRJIERBVklOQ0kgY2hpcCIKLQlkZXBlbmRzIG9uIEFSQ0hfREFWSU5DSSAmJiBTTkRfU09DCisJZGVwZW5kcyBvbiBBUkNIX0RBVklOQ0kKIAloZWxwCiAJICBTYXkgWSBvciBNIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8KIAkgIHRoZSBEQVZJTkNJIEFDOTcgb3IgSTJTIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWV2bS5jIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1ldm0uYwppbmRleCBmY2QxNjUyLi41ZTJjMzA2IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWV2bS5jCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktZXZtLmMKQEAgLTMzLDI0ICszMywyNCBAQAogCQkJIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlpbnQgcmV0ID0gMDsKIAogCS8qIHNldCBjb2RlYyBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNvZGVjX2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJCQkJIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNIHwKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0NCTV9DRk0gfAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9JQl9ORik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIGNvZGVjIHN5c3RlbSBjbG9jayAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwgRVZNX0NPREVDX0NMT0NLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCAwLCBFVk1fQ09ERUNfQ0xPQ0ssCiAJCQkJCSAgICBTTkRfU09DX0NMT0NLX09VVCk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC03MSw3ICs3MSw3IEBACiB9OwogCiAvKiBkYXZpbmNpLWV2bSBtYWNoaW5lIGF1ZGlvX21hcG5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAkvKiBIZWFkcGhvbmUgY29ubmVjdGVkIHRvIEhQTE9VVCwgSFBST1VUICovCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUExPVVQifSwKIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQUk9VVCJ9LApAQCAtOTAsMzYgKzkwLDMwIEBACiAJeyJMSU5FMkwiLCBOVUxMLCAiTGluZSBJbiJ9LAogCXsiTElORTFSIiwgTlVMTCwgIkxpbmUgSW4ifSwKIAl7IkxJTkUyUiIsIE5VTEwsICJMaW5lIEluIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiAvKiBMb2dpYyBmb3IgYSBhaWMzeCBhcyBjb25uZWN0ZWQgb24gYSBkYXZpbmNpLWV2bSAqLwogc3RhdGljIGludCBldm1fYWljM3hfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0JaW50IGk7Ci0KIAkvKiBBZGQgZGF2aW5jaS1ldm0gc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGFpYzN4X2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmYWljM3hfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCBhaWMzeF9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKGFpYzN4X2RhcG1fd2lkZ2V0cykpOwogCiAJLyogU2V0IHVwIGRhdmluY2ktZXZtIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCQkJICAgYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKIAkvKiBub3QgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk9fTE9VVCIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIUExDT00iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSFBSQ09NIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTU9OT19MT1VUIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSFBMQ09NIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSFBSQ09NIik7CiAKIAkvKiBhbHdheXMgY29ubmVjdGVkICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgT3V0IiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMSk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSW4iLCAxKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJMaW5lIE91dCIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkxpbmUgSW4iKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5jIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuYwppbmRleCBjNDIxNzc0Li41ZWJmMWZmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5jCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmMKQEAgLTE0Nyw3ICsxNDcsNyBAQAogc3RhdGljIGludCBkYXZpbmNpX2kyc19zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IGRhdmluY2lfbWNic3BfZGV2ICpkZXYgPSBydGQtPmRhaS0+Y3B1X2RhaS0+cHJpdmF0ZV9kYXRhOwogCiAJY3B1X2RhaS0+ZG1hX2RhdGEgPSBkZXYtPmRtYV9wYXJhbXNbc3Vic3RyZWFtLT5zdHJlYW1dOwpAQCAtMTU1LDcgKzE1NSw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgZGF2aW5jaV9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgZGF2aW5jaV9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IGRhdmluY2lfbWNic3BfZGV2ICpkZXYgPSBjcHVfZGFpLT5wcml2YXRlX2RhdGE7CkBAIC0yOTUsMTEgKzI5NSwxMiBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBpbnQgZGF2aW5jaV9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgZGF2aW5jaV9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1twZGV2LT5pZF0uY3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1twZGV2LT5pZF0uY3B1X2RhaTsKIAlzdHJ1Y3QgZGF2aW5jaV9tY2JzcF9kZXYgKmRldjsKIAlzdHJ1Y3QgcmVzb3VyY2UgKm1lbSwgKmlvYXJlYTsKIAlzdHJ1Y3QgZXZtX3NuZF9wbGF0Zm9ybV9kYXRhICpwZGF0YTsKQEAgLTM1NiwxMSArMzU3LDEyIEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgZGF2aW5jaV9pMnNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBkYXZpbmNpX2kyc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW3BkZXYtPmlkXS5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW3BkZXYtPmlkXS5jcHVfZGFpOwogCXN0cnVjdCBkYXZpbmNpX21jYnNwX2RldiAqZGV2ID0gY3B1X2RhaS0+cHJpdmF0ZV9kYXRhOwogCXN0cnVjdCByZXNvdXJjZSAqbWVtOwogCkBAIC0zNzYsNyArMzc4LDcgQEAKIAogI2RlZmluZSBEQVZJTkNJX0kyU19SQVRFUwlTTkRSVl9QQ01fUkFURV84MDAwXzk2MDAwCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgZGF2aW5jaV9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIGRhdmluY2lfaTJzX2RhaSA9IHsKIAkubmFtZSA9ICJkYXZpbmNpLWkycyIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX0kyUywKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmggYi9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLWkycy5oCmluZGV4IDk1OTJkMTcuLmM1YjA5MTggMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktaTJzLmgKKysrIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1pMnMuaApAQCAtMTIsNiArMTIsNiBAQAogI2lmbmRlZiBfREFWSU5DSV9JMlNfSAogI2RlZmluZSBfREFWSU5DSV9JMlNfSAogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBkYXZpbmNpX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIGRhdmluY2lfaTJzX2RhaTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLXBjbS5jIGIvc291bmQvc29jL2RhdmluY2kvZGF2aW5jaS1wY20uYwppbmRleCA2YTc2OTI3Li42YTVlNTZhIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZGF2aW5jaS9kYXZpbmNpLXBjbS5jCisrKyBiL3NvdW5kL3NvYy9kYXZpbmNpL2RhdmluY2ktcGNtLmMKQEAgLTM1MCw3ICszNTAsNyBAQAogc3RhdGljIHU2NCBkYXZpbmNpX3BjbV9kbWFtYXNrID0gMHhmZmZmZmZmZjsKIAogc3RhdGljIGludCBkYXZpbmNpX3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLAotCQkJICAgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksIHN0cnVjdCBzbmRfcGNtICpwY20pCisJCQkgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0OwogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL0tjb25maWcgYi9zb3VuZC9zb2MvZnNsL0tjb25maWcKaW5kZXggMjU3MTAxZi4uMzM2OGFjZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9mc2wvS2NvbmZpZwpAQCAtMSw4ICsxLDYgQEAKLW1lbnUgIkFMU0EgU29DIGF1ZGlvIGZvciBGcmVlc2NhbGUgU09DcyIKLQogY29uZmlnIFNORF9TT0NfTVBDODYxMAogCWJvb2wgIkFMU0EgU29DIHN1cHBvcnQgZm9yIHRoZSBNUEM4NjEwIFNPQyIKLQlkZXBlbmRzIG9uIFNORF9TT0MgJiYgTVBDODYxMF9IUENECisJZGVwZW5kcyBvbiBNUEM4NjEwX0hQQ0QKIAlkZWZhdWx0IHkgaWYgTVBDODYxMAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBjb2RlY3MgYXR0YWNoZWQgdG8gdGhlIFNTSQpAQCAtMTYsNSArMTQsMyBAQAogCWRlZmF1bHQgeSBpZiBNUEM4NjEwX0hQQ0QKIAloZWxwCiAJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBlbmFibGUgYXVkaW8gb24gdGhlIEZyZWVzY2FsZSBNUEM4NjEwIEhQQ0QuCi0KLWVuZG1lbnUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5jIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMKaW5kZXggNzhkZTcxNi4uZGEyYmM1OSAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMKKysrIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmMKQEAgLTI4Miw3ICsyODIsNyBAQAogICogb25jZSBmb3IgZWFjaCAuZGFpX2xpbmsgaW4gdGhlIG1hY2hpbmUgZHJpdmVyJ3Mgc25kX3NvY19tYWNoaW5lCiAgKiBzdHJ1Y3R1cmUuCiAgKi8KLXN0YXRpYyBpbnQgZnNsX2RtYV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwKK3N0YXRpYyBpbnQgZnNsX2RtYV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKIAlzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCXN0YXRpYyB1NjQgZnNsX2RtYV9kbWFtYXNrID0gRE1BX0JJVF9NQVNLKDMyKTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9mc2wvZnNsX2RtYS5oIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmgKaW5kZXggNDMwYTZjZS4uMzg1ZDRhNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2ZzbC9mc2xfZG1hLmgKKysrIGIvc291bmQvc29jL2ZzbC9mc2xfZG1hLmgKQEAgLTEyNiw3ICsxMjYsNyBAQAogCXU4IHJlc1s0XTsgICAgICAvKiBSZXNlcnZlZCAqLwogfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCgzMiksIHBhY2tlZCkpOwogCi0vKiBETUEgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGNyZWF0ZSBhIHNuZF9zb2NfY3B1X2RhaSBvYmplY3QKKy8qIERNQSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gY3JlYXRlIGEgc25kX3NvY19kYWkgb2JqZWN0CiAgKgogICogc3NpX3N0eF9waHlzOiBidXMgYWRkcmVzcyBvZiBTU0kgU1RYIHJlZ2lzdGVyIHRvIHVzZQogICogc3NpX3NyeF9waHlzOiBidXMgYWRkcmVzcyBvZiBTU0kgU1JYIHJlZ2lzdGVyIHRvIHVzZQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9mc2xfc3NpLmMgYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYwppbmRleCBmNTg4NTQ1Li43MWJmZjMzIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYworKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuYwpAQCAtODIsNyArODIsNyBAQAogCXN0cnVjdCBkZXZpY2UgKmRldjsKIAl1bnNpZ25lZCBpbnQgcGxheWJhY2s7CiAJdW5zaWduZWQgaW50IGNhcHR1cmU7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBjcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSBjcHVfZGFpOwogCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9hdHRyOwogCiAJc3RydWN0IHsKQEAgLTQ3OSw3ICs0NzksNyBAQAogICogQGZyZXE6IHRoZSBmcmVxdWVuY3kgb2YgdGhlIGdpdmVuIGNsb2NrIElELCBjdXJyZW50bHkgaWdub3JlZAogICogQGRpcjogU05EX1NPQ19DTE9DS19JTiAoY2xvY2sgc2xhdmUpIG9yIFNORF9TT0NfQ0xPQ0tfT1VUIChjbG9jayBtYXN0ZXIpCiAgKi8KLXN0YXRpYyBpbnQgZnNsX3NzaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IGZzbF9zc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkgICAgICBpbnQgY2xrX2lkLCB1bnNpZ25lZCBpbnQgZnJlcSwgaW50IGRpcikKIHsKIApAQCAtNDk3LDcgKzQ5Nyw3IEBACiAgKgogICogQGZvcm1hdDogb25lIG9mIFNORF9TT0NfREFJRk1UX3h4eAogICovCi1zdGF0aWMgaW50IGZzbF9zc2lfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLCB1bnNpZ25lZCBpbnQgZm9ybWF0KQorc3RhdGljIGludCBmc2xfc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLCB1bnNpZ25lZCBpbnQgZm9ybWF0KQogewogCXJldHVybiAoZm9ybWF0ID09IFNORF9TT0NfREFJRk1UX0kyUykgPyAwIDogLUVJTlZBTDsKIH0KQEAgLTUwNSw3ICs1MDUsNyBAQAogLyoqCiAgKiBmc2xfc3NpX2RhaV90ZW1wbGF0ZTogdGVtcGxhdGUgQ1BVIERBSSBmb3IgdGhlIFNTSQogICovCi1zdGF0aWMgc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBmc2xfc3NpX2RhaV90ZW1wbGF0ZSA9IHsKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWkgZnNsX3NzaV9kYWlfdGVtcGxhdGUgPSB7CiAJLnBsYXliYWNrID0gewogCQkvKiBUaGUgU1NJIGRvZXMgbm90IHN1cHBvcnQgbW9uYXVyYWwgYXVkaW8uICovCiAJCS5jaGFubmVsc19taW4gPSAyLApAQCAtNTY5LDE1ICs1NjksMTUgQEAKIH0KIAogLyoqCi0gKiBmc2xfc3NpX2NyZWF0ZV9kYWk6IGNyZWF0ZSBhIHNuZF9zb2NfY3B1X2RhaSBzdHJ1Y3R1cmUKKyAqIGZzbF9zc2lfY3JlYXRlX2RhaTogY3JlYXRlIGEgc25kX3NvY19kYWkgc3RydWN0dXJlCiAgKgotICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIG1hY2hpbmUgZHJpdmVyIHRvIGNyZWF0ZSBhIHNuZF9zb2NfY3B1X2RhaQorICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIG1hY2hpbmUgZHJpdmVyIHRvIGNyZWF0ZSBhIHNuZF9zb2NfZGFpCiAgKiBzdHJ1Y3R1cmUuICBUaGUgZnVuY3Rpb24gY3JlYXRlcyBhbiBzc2lfcHJpdmF0ZSBvYmplY3QsIHdoaWNoIGNvbnRhaW5zCi0gKiB0aGUgc25kX3NvY19jcHVfZGFpLiAgSXQgYWxzbyBjcmVhdGVzIHRoZSBzeXNmcyBzdGF0aXN0aWNzIGRldmljZS4KKyAqIHRoZSBzbmRfc29jX2RhaS4gIEl0IGFsc28gY3JlYXRlcyB0aGUgc3lzZnMgc3RhdGlzdGljcyBkZXZpY2UuCiAgKi8KLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfY3JlYXRlX2RhaShzdHJ1Y3QgZnNsX3NzaV9pbmZvICpzc2lfaW5mbykKK3N0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9jcmVhdGVfZGFpKHN0cnVjdCBmc2xfc3NpX2luZm8gKnNzaV9pbmZvKQogewotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmZzbF9zc2lfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqZnNsX3NzaV9kYWk7CiAJc3RydWN0IGZzbF9zc2lfcHJpdmF0ZSAqc3NpX3ByaXZhdGU7CiAJaW50IHJldCA9IDA7CiAJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmRldl9hdHRyOwpAQCAtNTg4LDcgKzU4OCw3IEBACiAJCXJldHVybiBOVUxMOwogCX0KIAltZW1jcHkoJnNzaV9wcml2YXRlLT5jcHVfZGFpLCAmZnNsX3NzaV9kYWlfdGVtcGxhdGUsCi0JICAgICAgIHNpemVvZihzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpKSk7CisJICAgICAgIHNpemVvZihzdHJ1Y3Qgc25kX3NvY19kYWkpKTsKIAogCWZzbF9zc2lfZGFpID0gJnNzaV9wcml2YXRlLT5jcHVfZGFpOwogCWRldl9hdHRyID0gJnNzaV9wcml2YXRlLT5kZXZfYXR0cjsKQEAgLTYyMywxMSArNjIzLDExIEBACiBFWFBPUlRfU1lNQk9MX0dQTChmc2xfc3NpX2NyZWF0ZV9kYWkpOwogCiAvKioKLSAqIGZzbF9zc2lfZGVzdHJveV9kYWk6IGRlc3Ryb3kgdGhlIHNuZF9zb2NfY3B1X2RhaSBvYmplY3QKKyAqIGZzbF9zc2lfZGVzdHJveV9kYWk6IGRlc3Ryb3kgdGhlIHNuZF9zb2NfZGFpIG9iamVjdAogICoKICAqIFRoaXMgZnVuY3Rpb24gdW5kb2VzIHRoZSBvcGVyYXRpb25zIG9mIGZzbF9zc2lfY3JlYXRlX2RhaSgpCiAgKi8KLXZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2RhaSkKK3ZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfZGFpKQogewogCXN0cnVjdCBmc2xfc3NpX3ByaXZhdGUgKnNzaV9wcml2YXRlID0KIAljb250YWluZXJfb2YoZnNsX3NzaV9kYWksIHN0cnVjdCBmc2xfc3NpX3ByaXZhdGUsIGNwdV9kYWkpOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2ZzbC9mc2xfc3NpLmggYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaAppbmRleCBjNWNlODhlLi44M2I0NGQ3IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaAorKysgYi9zb3VuZC9zb2MvZnNsL2ZzbF9zc2kuaApAQCAtMjE3LDggKzIxNyw4IEBACiAJc3RydWN0IGRldmljZSAqZGV2OwogfTsKIAotc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZnNsX3NzaV9jcmVhdGVfZGFpKHN0cnVjdCBmc2xfc3NpX2luZm8gKnNzaV9pbmZvKTsKLXZvaWQgZnNsX3NzaV9kZXN0cm95X2RhaShzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpmc2xfc3NpX2RhaSk7CitzdHJ1Y3Qgc25kX3NvY19kYWkgKmZzbF9zc2lfY3JlYXRlX2RhaShzdHJ1Y3QgZnNsX3NzaV9pbmZvICpzc2lfaW5mbyk7Cit2b2lkIGZzbF9zc2lfZGVzdHJveV9kYWkoc3RydWN0IHNuZF9zb2NfZGFpICpmc2xfc3NpX2RhaSk7CiAKICNlbmRpZgogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL21wYzg2MTBfaHBjZC5jIGIvc291bmQvc29jL2ZzbC9tcGM4NjEwX2hwY2QuYwppbmRleCBhMDBhYWM3Li40YmRjOWQ4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvZnNsL21wYzg2MTBfaHBjZC5jCisrKyBiL3NvdW5kL3NvYy9mc2wvbXBjODYxMF9ocGNkLmMKQEAgLTU4LDkgKzU4LDkgQEAKIAkJc291bmRfZGV2aWNlLT5kZXYucGxhdGZvcm1fZGF0YTsKIAogCS8qIFByb2dyYW0gdGhlIHNpZ25hbCByb3V0aW5nIGJldHdlZW4gdGhlIFNTSSBhbmQgdGhlIERNQSAqLwotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMF0sIENDU1JfR1VUU19ETUFDUl9ERVZfU1NJKTsKLQlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkICsgMSwKKwlndXRzX3NldF9kbWFjcihtYWNoaW5lX2RhdGEtPmd1dHMsIG1hY2hpbmVfZGF0YS0+ZG1hX2lkLAogCQltYWNoaW5lX2RhdGEtPmRtYV9jaGFubmVsX2lkWzFdLCBDQ1NSX0dVVFNfRE1BQ1JfREVWX1NTSSk7CiAKIAlndXRzX3NldF9wbXV4Y3JfZG1hKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCkBAIC05Niw2MiArOTYsNTIgQEAKIHN0YXRpYyBpbnQgbXBjODYxMF9ocGNkX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBtcGM4NjEwX2hwY2RfZGF0YSAqbWFjaGluZV9kYXRhID0KIAkJcnRkLT5zb2NkZXYtPmRldi0+cGxhdGZvcm1fZGF0YTsKIAlpbnQgcmV0ID0gMDsKIAogCS8qIFRlbGwgdGhlIENQVSBkcml2ZXIgd2hhdCB0aGUgc2VyaWFsIHByb3RvY29sIGlzLiAqLwotCWlmIChjcHVfZGFpLT5kYWlfb3BzLnNldF9mbXQpIHsKLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksCi0JCQltYWNoaW5lX2RhdGEtPmRhaV9mb3JtYXQpOwotCQlpZiAocmV0IDwgMCkgewotCQkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAotCQkJCSJjb3VsZCBub3Qgc2V0IENQVSBkcml2ZXIgYXVkaW8gZm9ybWF0XG4iKTsKLQkJCXJldHVybiByZXQ7Ci0JCX0KKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfZm10KGNwdV9kYWksIG1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAorCQkJImNvdWxkIG5vdCBzZXQgQ1BVIGRyaXZlciBhdWRpbyBmb3JtYXRcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qIFRlbGwgdGhlIGNvZGVjIGRyaXZlciB3aGF0IHRoZSBzZXJpYWwgcHJvdG9jb2wgaXMuICovCi0JaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KSB7Ci0JCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfZm10KGNvZGVjX2RhaSwKLQkJCW1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCi0JCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGF1ZGlvIGZvcm1hdFxuIik7Ci0JCQlyZXR1cm4gcmV0OwotCQl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIG1hY2hpbmVfZGF0YS0+ZGFpX2Zvcm1hdCk7CisJaWYgKHJldCA8IDApIHsKKwkJZGV2X2VycihzdWJzdHJlYW0tPnBjbS0+Y2FyZC0+ZGV2LAorCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGF1ZGlvIGZvcm1hdFxuIik7CisJCXJldHVybiByZXQ7CiAJfQogCiAJLyoKIAkgKiBUZWxsIHRoZSBDUFUgZHJpdmVyIHdoYXQgdGhlIGNsb2NrIGZyZXF1ZW5jeSBpcywgYW5kIHdoZXRoZXIgaXQncyBhCiAJICogc2xhdmUgb3IgbWFzdGVyLgogCSAqLwotCWlmIChjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspIHsKLQkJcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIDAsCi0JCQltYWNoaW5lX2RhdGEtPmNsa19mcmVxdWVuY3ksCi0JCQltYWNoaW5lX2RhdGEtPmNwdV9jbGtfZGlyZWN0aW9uKTsKLQkJaWYgKHJldCA8IDApIHsKLQkJCWRldl9lcnIoc3Vic3RyZWFtLT5wY20tPmNhcmQtPmRldiwKLQkJCQkiY291bGQgbm90IHNldCBDUFUgZHJpdmVyIGNsb2NrIHBhcmFtZXRlcnNcbiIpOwotCQkJcmV0dXJuIHJldDsKLQkJfQorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgMCwKKwkJCQkJbWFjaGluZV9kYXRhLT5jbGtfZnJlcXVlbmN5LAorCQkJCQltYWNoaW5lX2RhdGEtPmNwdV9jbGtfZGlyZWN0aW9uKTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCisJCQkiY291bGQgbm90IHNldCBDUFUgZHJpdmVyIGNsb2NrIHBhcmFtZXRlcnNcbiIpOworCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qCiAJICogVGVsbCB0aGUgY29kZWMgZHJpdmVyIHdoYXQgdGhlIE1DTEsgZnJlcXVlbmN5IGlzLCBhbmQgd2hldGhlciBpdCdzCiAJICogYSBzbGF2ZSBvciBtYXN0ZXIuCiAJICovCi0JaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKSB7Ci0JCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwKLQkJCW1hY2hpbmVfZGF0YS0+Y2xrX2ZyZXF1ZW5jeSwKLQkJCW1hY2hpbmVfZGF0YS0+Y29kZWNfY2xrX2RpcmVjdGlvbik7Ci0JCWlmIChyZXQgPCAwKSB7Ci0JCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCi0JCQkJImNvdWxkIG5vdCBzZXQgY29kZWMgZHJpdmVyIGNsb2NrIHBhcmFtc1xuIik7Ci0JCQlyZXR1cm4gcmV0OwotCQl9CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsCisJCQkJCW1hY2hpbmVfZGF0YS0+Y2xrX2ZyZXF1ZW5jeSwKKwkJCQkJbWFjaGluZV9kYXRhLT5jb2RlY19jbGtfZGlyZWN0aW9uKTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKHN1YnN0cmVhbS0+cGNtLT5jYXJkLT5kZXYsCisJCQkiY291bGQgbm90IHNldCBjb2RlYyBkcml2ZXIgY2xvY2sgcGFyYW1zXG4iKTsKKwkJcmV0dXJuIHJldDsKIAl9CiAKIAlyZXR1cm4gMDsKQEAgLTE3MCw5ICsxNjAsOSBAQAogCiAJLyogUmVzdG9yZSB0aGUgc2lnbmFsIHJvdXRpbmcgKi8KIAotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMF0sIDApOwotCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQgKyAxLAorCWd1dHNfc2V0X2RtYWNyKG1hY2hpbmVfZGF0YS0+Z3V0cywgbWFjaGluZV9kYXRhLT5kbWFfaWQsCiAJCW1hY2hpbmVfZGF0YS0+ZG1hX2NoYW5uZWxfaWRbMV0sIDApOwogCiAJc3dpdGNoIChtYWNoaW5lX2RhdGEtPnNzaV9pZCkgewpAQCAtMTgyLDcgKzE3Miw3IEBACiAJCWJyZWFrOwogCWNhc2UgMToKIAkJY2xyc2V0Yml0c19iZTMyKCZtYWNoaW5lX2RhdGEtPmd1dHMtPnBtdXhjciwKLQkJCUNDU1JfR1VUU19QTVVYQ1JfU1NJMl9NQVNLLCBDQ1NSX0dVVFNfUE1VWENSX1NTSTFfTEEpOworCQkJQ0NTUl9HVVRTX1BNVVhDUl9TU0kyX01BU0ssIENDU1JfR1VUU19QTVVYQ1JfU1NJMl9MQSk7CiAJCWJyZWFrOwogCX0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvS2NvbmZpZyBiL3NvdW5kL3NvYy9vbWFwL0tjb25maWcKaW5kZXggMDIzMGQ4My4uYWVhMjdlNyAxMDA2NDQKLS0tIGEvc291bmQvc29jL29tYXAvS2NvbmZpZworKysgYi9zb3VuZC9zb2Mvb21hcC9LY29uZmlnCkBAIC0xLDUgKzEsMyBAQAotbWVudSAiU29DIEF1ZGlvIGZvciB0aGUgVGV4YXMgSW5zdHJ1bWVudHMgT01BUCIKLQogY29uZmlnIFNORF9PTUFQX1NPQwogCXRyaXN0YXRlICJTb0MgQXVkaW8gZm9yIHRoZSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQIGNoaXBzIgogCWRlcGVuZHMgb24gQVJDSF9PTUFQICYmIFNORF9TT0MKQEAgLTE1LDUgKzEzLDMgQEAKIAlzZWxlY3QgU05EX1NPQ19UTFYzMjBBSUMzWAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8gb24gTm9raWEgTjgxMC4KLQotZW5kbWVudQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvbjgxMC5jIGIvc291bmQvc29jL29tYXAvbjgxMC5jCmluZGV4IDY1MzM1NjMuLjAyY2VjOTY4IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9uODEwLmMKKysrIGIvc291bmQvc29jL29tYXAvbjgxMC5jCkBAIC0zMCwxNSArMzAsMTUgQEAKIAogI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CiAjaW5jbHVkZSA8YXNtL2FyY2gvaGFyZHdhcmUuaD4KLSNpbmNsdWRlIDxhc20vYXJjaC9ncGlvLmg+CisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgogI2luY2x1ZGUgPGFzbS9hcmNoL21jYnNwLmg+CiAKICNpbmNsdWRlICJvbWFwLW1jYnNwLmgiCiAjaW5jbHVkZSAib21hcC1wY20uaCIKICNpbmNsdWRlICIuLi9jb2RlY3MvdGx2MzIwYWljM3guaCIKIAotI2RlZmluZSBSWDQ0X0hFQURTRVRfQU1QX0dQSU8JMTAKLSNkZWZpbmUgUlg0NF9TUEVBS0VSX0FNUF9HUElPCTEwMQorI2RlZmluZSBOODEwX0hFQURTRVRfQU1QX0dQSU8JMTAKKyNkZWZpbmUgTjgxMF9TUEVBS0VSX0FNUF9HUElPCTEwMQogCiBzdGF0aWMgc3RydWN0IGNsayAqc3lzX2Nsa291dDI7CiBzdGF0aWMgc3RydWN0IGNsayAqc3lzX2Nsa291dDJfc3JjOwpAQCAtNDYsMTMgKzQ2LDI2IEBACiAKIHN0YXRpYyBpbnQgbjgxMF9zcGtfZnVuYzsKIHN0YXRpYyBpbnQgbjgxMF9qYWNrX2Z1bmM7CitzdGF0aWMgaW50IG44MTBfZG1pY19mdW5jOwogCiBzdGF0aWMgdm9pZCBuODEwX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiRXh0IFNwayIsIG44MTBfc3BrX2Z1bmMpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIG44MTBfamFja19mdW5jKTsKKwlpZiAobjgxMF9zcGtfZnVuYykKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCWlmIChuODEwX2phY2tfZnVuYykKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCWVsc2UKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKworCWlmIChuODEwX2RtaWNfZnVuYykKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJETWljIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJETWljIik7CisKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgbjgxMF9zdGFydHVwKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQpAQCAtNzMsMTIgKzg2LDEyIEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCWludCBlcnI7CiAKIAkvKiBTZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQllcnIgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksCisJZXJyID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksCiAJCQkJCSBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQkJCQkgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAogCQkJCQkgU05EX1NPQ19EQUlGTVRfQ0JNX0NGTSk7CkBAIC04Niw3ICs5OSw3IEBACiAJCXJldHVybiBlcnI7CiAKIAkvKiBTZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JZXJyID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksCisJZXJyID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQkJCSAgICAgICBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CiAJCQkJICAgICAgIFNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwpAQCAtOTQsNyArMTA3LDcgQEAKIAkJcmV0dXJuIGVycjsKIAogCS8qIFNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCWVyciA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgMCwgMTIwMDAwMDAsCisJZXJyID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIDAsIDEyMDAwMDAwLAogCQkJCQkgICAgU05EX1NPQ19DTE9DS19JTik7CiAKIAlyZXR1cm4gZXJyOwpAQCAtMTUwLDEzICsxNjMsMzUgQEAKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIGludCBuODEwX2dldF9pbnB1dChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKKwkJCSAgc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBuODEwX2RtaWNfZnVuYzsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IG44MTBfc2V0X2lucHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCQkJICBzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJvbCkKK3sKKwlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSAgc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCisJaWYgKG44MTBfZG1pY19mdW5jID09IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdKQorCQlyZXR1cm4gMDsKKworCW44MTBfZG1pY19mdW5jID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CisJbjgxMF9leHRfY29udHJvbChjb2RlYyk7CisKKwlyZXR1cm4gMTsKK30KKwogc3RhdGljIGludCBuODEwX3Nwa19ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywKIAkJCSAgc3RydWN0IHNuZF9rY29udHJvbCAqaywgaW50IGV2ZW50KQogewogCWlmIChTTkRfU09DX0RBUE1fRVZFTlRfT04oZXZlbnQpKQotCQlvbWFwX3NldF9ncGlvX2RhdGFvdXQoUlg0NF9TUEVBS0VSX0FNUF9HUElPLCAxKTsKKwkJZ3Bpb19zZXRfdmFsdWUoTjgxMF9TUEVBS0VSX0FNUF9HUElPLCAxKTsKIAllbHNlCi0JCW9tYXBfc2V0X2dwaW9fZGF0YW91dChSWDQ0X1NQRUFLRVJfQU1QX0dQSU8sIDApOworCQlncGlvX3NldF92YWx1ZShOODEwX1NQRUFLRVJfQU1QX0dQSU8sIDApOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNjUsOSArMjAwLDkgQEAKIAkJCSAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmssIGludCBldmVudCkKIHsKIAlpZiAoU05EX1NPQ19EQVBNX0VWRU5UX09OKGV2ZW50KSkKLQkJb21hcF9zZXRfZ3Bpb19kYXRhb3V0KFJYNDRfSEVBRFNFVF9BTVBfR1BJTywgMSk7CisJCWdwaW9fc2V0X3ZhbHVlKE44MTBfSEVBRFNFVF9BTVBfR1BJTywgMSk7CiAJZWxzZQotCQlvbWFwX3NldF9ncGlvX2RhdGFvdXQoUlg0NF9IRUFEU0VUX0FNUF9HUElPLCAwKTsKKwkJZ3Bpb19zZXRfdmFsdWUoTjgxMF9IRUFEU0VUX0FNUF9HUElPLCAwKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTc1LDIxICsyMTAsMjcgQEAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCBhaWMzM19kYXBtX3dpZGdldHNbXSA9IHsKIAlTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgbjgxMF9zcGtfZXZlbnQpLAogCVNORF9TT0NfREFQTV9IUCgiSGVhZHBob25lIEphY2siLCBuODEwX2phY2tfZXZlbnQpLAorCVNORF9TT0NfREFQTV9NSUMoIkRNaWMiLCBOVUxMKSwKIH07CiAKLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiSFBMT1VUIn0sCiAJeyJIZWFkcGhvbmUgSmFjayIsIE5VTEwsICJIUFJPVVQifSwKIAogCXsiRXh0IFNwayIsIE5VTEwsICJMTE9VVCJ9LAogCXsiRXh0IFNwayIsIE5VTEwsICJSTE9VVCJ9LAorCisJeyJETWljIFJhdGUgNjQiLCBOVUxMLCAiTWljIEJpYXMgMlYifSwKKwl7Ik1pYyBCaWFzIDJWIiwgTlVMTCwgIkRNaWMifSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpzcGtfZnVuY3Rpb25bXSA9IHsiT2ZmIiwgIk9uIn07CiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJPZmYiLCAiSGVhZHBob25lIn07CitzdGF0aWMgY29uc3QgY2hhciAqaW5wdXRfZnVuY3Rpb25bXSA9IHsiQURDIiwgIkRpZ2l0YWwgTWljIn07CiBzdGF0aWMgY29uc3Qgc3RydWN0IHNvY19lbnVtIG44MTBfZW51bVtdID0gewogCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShzcGtfZnVuY3Rpb24pLCBzcGtfZnVuY3Rpb24pLAogCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShqYWNrX2Z1bmN0aW9uKSwgamFja19mdW5jdGlvbiksCisJU09DX0VOVU1fU0lOR0xFX0VYVChBUlJBWV9TSVpFKGlucHV0X2Z1bmN0aW9uKSwgaW5wdXRfZnVuY3Rpb24pLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGFpYzMzX244MTBfY29udHJvbHNbXSA9IHsKQEAgLTE5Nyw2ICsyMzgsOCBAQAogCQkgICAgIG44MTBfZ2V0X3NwaywgbjgxMF9zZXRfc3BrKSwKIAlTT0NfRU5VTV9FWFQoIkphY2sgRnVuY3Rpb24iLCBuODEwX2VudW1bMV0sCiAJCSAgICAgbjgxMF9nZXRfamFjaywgbjgxMF9zZXRfamFjayksCisJU09DX0VOVU1fRVhUKCJJbnB1dCBTZWxlY3QiLCAgbjgxMF9lbnVtWzJdLAorCQkgICAgIG44MTBfZ2V0X2lucHV0LCBuODEwX3NldF9pbnB1dCksCiB9OwogCiBzdGF0aWMgaW50IG44MTBfYWljMzNfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCkBAIC0yMDQsOSArMjQ3LDkgQEAKIAlpbnQgaSwgZXJyOwogCiAJLyogTm90IGNvbm5lY3RlZCAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PX0xPVVQiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSFBMQ09NIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhQUkNPTSIsIDApOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9fTE9VVCIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhQTENPTSIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhQUkNPTSIpOwogCiAJLyogQWRkIE44MTAgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzM19uODEwX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0yMTcsMTUgKzI2MCwxMyBAQAogCX0KIAogCS8qIEFkZCBOODEwIHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhaWMzM19kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJmFpYzMzX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgYWljMzNfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRShhaWMzM19kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBOODEwIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYXVkaW9fbWFwKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAogCXJldHVybiAwOwogfQpAQCAtMjUwLDYgKzI5MSw4IEBACiAvKiBBdWRpbyBwcml2YXRlIGRhdGEgKi8KIHN0YXRpYyBzdHJ1Y3QgYWljM3hfc2V0dXBfZGF0YSBuODEwX2FpYzMzX3NldHVwID0gewogCS5pMmNfYWRkcmVzcyA9IDB4MTgsCisJLmdwaW9fZnVuY1swXSA9IEFJQzNYX0dQSU8xX0ZVTkNfRElTQUJMRUQsCisJLmdwaW9fZnVuY1sxXSA9IEFJQzNYX0dQSU8yX0ZVTkNfRElHSVRBTF9NSUNfSU5QVVQsCiB9OwogCiAvKiBBdWRpbyBzdWJzeXN0ZW0gKi8KQEAgLTI2Nyw3ICszMTAsNyBAQAogCWludCBlcnI7CiAJc3RydWN0IGRldmljZSAqZGV2OwogCi0JaWYgKCFtYWNoaW5lX2lzX25va2lhX244MTAoKSkKKwlpZiAoIShtYWNoaW5lX2lzX25va2lhX244MTAoKSB8fCBtYWNoaW5lX2lzX25va2lhX244MTBfd2ltYXgoKSkpCiAJCXJldHVybiAtRU5PREVWOwogCiAJbjgxMF9zbmRfZGV2aWNlID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJzb2MtYXVkaW8iLCAtMSk7CkBAIC0zMDUsMTIgKzM0OCwxMiBAQAogCWNsa19zZXRfcGFyZW50KHN5c19jbGtvdXQyX3NyYywgZnVuYzk2bV9jbGspOwogCWNsa19zZXRfcmF0ZShzeXNfY2xrb3V0MiwgMTIwMDAwMDApOwogCi0JaWYgKG9tYXBfcmVxdWVzdF9ncGlvKFJYNDRfSEVBRFNFVF9BTVBfR1BJTykgPCAwKQorCWlmIChncGlvX3JlcXVlc3QoTjgxMF9IRUFEU0VUX0FNUF9HUElPLCAiaHNfYW1wIikgPCAwKQogCQlCVUcoKTsKLQlpZiAob21hcF9yZXF1ZXN0X2dwaW8oUlg0NF9TUEVBS0VSX0FNUF9HUElPKSA8IDApCisJaWYgKGdwaW9fcmVxdWVzdChOODEwX1NQRUFLRVJfQU1QX0dQSU8sICJzcGtfYW1wIikgPCAwKQogCQlCVUcoKTsKLQlvbWFwX3NldF9ncGlvX2RpcmVjdGlvbihSWDQ0X0hFQURTRVRfQU1QX0dQSU8sIDApOwotCW9tYXBfc2V0X2dwaW9fZGlyZWN0aW9uKFJYNDRfU1BFQUtFUl9BTVBfR1BJTywgMCk7CisJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KE44MTBfSEVBRFNFVF9BTVBfR1BJTywgMCk7CisJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KE44MTBfU1BFQUtFUl9BTVBfR1BJTywgMCk7CiAKIAlyZXR1cm4gMDsKIGVycjI6CkBAIC0zMjUsNiArMzY4LDkgQEAKIAogc3RhdGljIHZvaWQgX19leGl0IG44MTBfc29jX2V4aXQodm9pZCkKIHsKKwlncGlvX2ZyZWUoTjgxMF9TUEVBS0VSX0FNUF9HUElPKTsKKwlncGlvX2ZyZWUoTjgxMF9IRUFEU0VUX0FNUF9HUElPKTsKKwogCXBsYXRmb3JtX2RldmljZV91bnJlZ2lzdGVyKG44MTBfc25kX2RldmljZSk7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuYyBiL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuYwppbmRleCA0MGQ4N2U2Li4wMGIwYzlkIDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmMKKysrIGIvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5jCkBAIC0xMDMsNyArMTAzLDcgQEAKIHN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXN0cnVjdCBvbWFwX21jYnNwX2RhdGEgKm1jYnNwX2RhdGEgPSB0b19tY2JzcChjcHVfZGFpLT5wcml2YXRlX2RhdGEpOwogCWludCBlcnIgPSAwOwogCkBAIC0xMTYsNyArMTE2LDcgQEAKIHN0YXRpYyB2b2lkIG9tYXBfbWNic3BfZGFpX3NodXRkb3duKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CiAKIAlpZiAoIWNwdV9kYWktPmFjdGl2ZSkgewpAQCAtMTI4LDcgKzEyOCw3IEBACiBzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3RyaWdnZXIoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0sIGludCBjbWQpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKIAlpbnQgZXJyID0gMDsKIApAQCAtMTU3LDcgKzE1Nyw3IEBACiAJCQkJICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CiAJc3RydWN0IG9tYXBfbWNic3BfcmVnX2NmZyAqcmVncyA9ICZtY2JzcF9kYXRhLT5yZWdzOwogCWludCBkbWEsIGJ1c19pZCA9IG1jYnNwX2RhdGEtPmJ1c19pZCwgaWQgPSBjcHVfZGFpLT5pZDsKQEAgLTIyMyw3ICsyMjMsNyBAQAogICogVGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgX3NldF9jbGtkaXYgYW5kIF9zZXRfc3lzY2xrIHNpbmNlIE1jQlNQIHJlZ2lzdGVyCiAgKiBjYWNoZSBpcyBpbml0aWFsaXplZCBoZXJlCiAgKi8KLXN0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgb21hcF9tY2JzcF9kYWlfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgICAgIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IG9tYXBfbWNic3BfZGF0YSAqbWNic3BfZGF0YSA9IHRvX21jYnNwKGNwdV9kYWktPnByaXZhdGVfZGF0YSk7CkBAIC0yOTIsNyArMjkyLDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBvbWFwX21jYnNwX2RhaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgICAgaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgb21hcF9tY2JzcF9kYXRhICptY2JzcF9kYXRhID0gdG9fbWNic3AoY3B1X2RhaS0+cHJpdmF0ZV9kYXRhKTsKQEAgLTM0Nyw3ICszNDcsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IG9tYXBfbWNic3BfZGFpX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkJIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLAogCQkJCQkgaW50IGRpcikKIHsKQEAgLTM3Niw3ICszNzYsNyBAQAogCXJldHVybiBlcnI7CiB9CiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgb21hcF9tY2JzcF9kYWlbTlVNX0xJTktTXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdID0gewogewogCS5uYW1lID0gIm9tYXAtbWNic3AtZGFpIiwKIAkuaWQgPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5oIGIvc291bmQvc29jL29tYXAvb21hcC1tY2JzcC5oCmluZGV4IDk5NjVmZDQuLmVkOGFmYjUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL29tYXAtbWNic3AuaAorKysgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLW1jYnNwLmgKQEAgLTQ0LDYgKzQ0LDYgQEAKICAqLwogI2RlZmluZSBOVU1fTElOS1MJMQogCi1leHRlcm4gc3RydWN0IHNuZF9zb2NfY3B1X2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBvbWFwX21jYnNwX2RhaVtOVU1fTElOS1NdOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9vbWFwL29tYXAtcGNtLmMgYi9zb3VuZC9zb2Mvb21hcC9vbWFwLXBjbS5jCmluZGV4IDYyMzcwMjAuLmUwOTJmM2QgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9vbWFwL29tYXAtcGNtLmMKKysrIGIvc291bmQvc29jL29tYXAvb21hcC1wY20uYwpAQCAtMzE2LDcgKzMxNiw3IEBACiAJfQogfQogCi1pbnQgb21hcF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWksCitpbnQgb21hcF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJCSBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCWludCByZXQgPSAwOwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9LY29uZmlnIGIvc291bmQvc29jL3B4YS9LY29uZmlnCmluZGV4IDQ4NGY4ODMuLjEyZjZhYzkgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvS2NvbmZpZworKysgYi9zb3VuZC9zb2MvcHhhL0tjb25maWcKQEAgLTEsNiArMSw2IEBACiBjb25maWcgU05EX1BYQTJYWF9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgSW50ZWwgUFhBMnh4IGNoaXAiCi0JZGVwZW5kcyBvbiBBUkNIX1BYQSAmJiBTTkRfU09DCisJZGVwZW5kcyBvbiBBUkNIX1BYQQogCWhlbHAKIAkgIFNheSBZIG9yIE0gaWYgeW91IHdhbnQgdG8gYWRkIHN1cHBvcnQgZm9yIGNvZGVjcyBhdHRhY2hlZCB0bwogCSAgdGhlIFBYQTJ4eCBBQzk3LCBJMlMgb3IgU1NQIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCkBAIC02MiwzICs2MiwxMiBAQAogCWhlbHAKIAkgIFNheSBZIGlmIHlvdSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBTb0MgYXVkaW8gb24gdGhlCiAJICBUb3NoaWJhIGU4MDAgUERBCisKK2NvbmZpZyBTTkRfUFhBMlhYX1NPQ19FTV9YMjcwCisJdHJpc3RhdGUgIlNvQyBBdWRpbyBzdXBwb3J0IGZvciBDb21wdUxhYiBFTS14MjcwIgorCWRlcGVuZHMgb24gU05EX1BYQTJYWF9TT0MgJiYgTUFDSF9FTV9YMjcwCisJc2VsZWN0IFNORF9QWEEyWFhfU09DX0FDOTcKKwlzZWxlY3QgU05EX1NPQ19XTTk3MTIKKwloZWxwCisJICBTYXkgWSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgU29DIGF1ZGlvIG9uCisJICBDb21wdUxhYiBFTS14MjcwLgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9NYWtlZmlsZSBiL3NvdW5kL3NvYy9weGEvTWFrZWZpbGUKaW5kZXggMDRlNTY0Ni4uNWJjOGVkZiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvcHhhL01ha2VmaWxlCkBAIC0xMywxMCArMTMsMTEgQEAKIHNuZC1zb2MtdG9zYS1vYmpzIDo9IHRvc2Eubwogc25kLXNvYy1lODAwLW9ianMgOj0gZTgwMF93bTk3MTIubwogc25kLXNvYy1zcGl0ei1vYmpzIDo9IHNwaXR6Lm8KK3NuZC1zb2MtZW0teDI3MC1vYmpzIDo9IGVtLXgyNzAubwogCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfQ09SR0kpICs9IHNuZC1zb2MtY29yZ2kubwogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX1BPT0RMRSkgKz0gc25kLXNvYy1wb29kbGUubwogb2JqLSQoQ09ORklHX1NORF9QWEEyWFhfU09DX1RPU0EpICs9IHNuZC1zb2MtdG9zYS5vCiBvYmotJChDT05GSUdfU05EX1BYQTJYWF9TT0NfRTgwMCkgKz0gc25kLXNvYy1lODAwLm8KIG9iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19TUElUWikgKz0gc25kLXNvYy1zcGl0ei5vCi0KK29iai0kKENPTkZJR19TTkRfUFhBMlhYX1NPQ19FTV9YMjcwKSArPSBzbmQtc29jLWVtLXgyNzAubwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9jb3JnaS5jIGIvc291bmQvc29jL3B4YS9jb3JnaS5jCmluZGV4IDdmMzJhMTEuLmMwMjk0NDYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvY29yZ2kuYworKysgYi9zb3VuZC9zb2MvcHhhL2NvcmdpLmMKQEAgLTExLDEwICsxMSw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMzB0aCBOb3YgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtNTQsNDcgKzUwLDUxIEBACiAKIHN0YXRpYyB2b2lkIGNvcmdpX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgc3BrID0gMCwgbWljID0gMCwgbGluZSA9IDAsIGhwID0gMCwgaHMgPSAwOwotCiAJLyogc2V0IHVwIGphY2sgY29ubmVjdGlvbiAqLwogCXN3aXRjaCAoY29yZ2lfamFja19mdW5jKSB7CiAJY2FzZSBDT1JHSV9IUDoKLQkJaHAgPSAxOwogCQkvKiBzZXQgPSB1bm11dGUgaGVhZHBob25lICovCiAJCXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX0wpOwogCQlzZXRfc2Nvb3BfZ3BpbygmY29yZ2lzY29vcF9kZXZpY2UuZGV2LCBDT1JHSV9TQ1BfTVVURV9SKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgQ09SR0lfTUlDOgotCQltaWMgPSAxOwogCQkvKiByZXNldCA9IG11dGUgaGVhZHBob25lICovCiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfUik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIENPUkdJX0xJTkU6Ci0JCWxpbmUgPSAxOwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX1IpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKIAkJYnJlYWs7CiAJY2FzZSBDT1JHSV9IRUFEU0VUOgotCQlocyA9IDE7Ci0JCW1pYyA9IDE7CiAJCXJlc2V0X3Njb29wX2dwaW8oJmNvcmdpc2Nvb3BfZGV2aWNlLmRldiwgQ09SR0lfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZjb3JnaXNjb29wX2RldmljZS5kZXYsIENPUkdJX1NDUF9NVVRFX1IpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxpbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAl9CiAKIAlpZiAoY29yZ2lfc3BrX2Z1bmMgPT0gQ09SR0lfU1BLX09OKQotCQlzcGsgPSAxOwotCi0JLyogc2V0IHRoZSBlbnBvaW50cyB0byB0aGVpciBuZXcgY29ubmV0aW9uIHN0YXRlcyAqLwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgc3BrKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCBtaWMpOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCBsaW5lKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCBocCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIGhzKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKIAkvKiBzaWduYWwgYSBEQVBNIGV2ZW50ICovCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgY29yZ2lfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKQEAgLTEyMyw4ICsxMjMsOCBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAl1bnNpZ25lZCBpbnQgY2xrID0gMDsKIAlpbnQgcmV0ID0gMDsKIApAQCAtMTQzLDI1ICsxNDMsMjUgQEAKIAl9CiAKIAkvKiBzZXQgY29kZWMgREFJIGNvbmZpZ3VyYXRpb24gKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CiAJCVNORF9TT0NfREFJRk1UX05CX05GIHwgU05EX1NPQ19EQUlGTVRfQ0JTX0NGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY3B1IERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfZm10KGNwdV9kYWksIFNORF9TT0NfREFJRk1UX0kyUyB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBjb2RlYyBzeXN0ZW0gY2xvY2sgZm9yIERBQyBhbmQgQURDICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLCBjbGssCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODczMV9TWVNDTEssIGNsaywKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgdGhlIEkyUyBzeXN0ZW0gY2xvY2sgYXMgaW5wdXQgKHVudXNlZCkgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2NsayhjcHVfZGFpLCBQWEEyWFhfSTJTX1NZU0NMSywgMCwKIAkJU05EX1NPQ19DTE9DS19JTik7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0yNDcsNyArMjQ3LDcgQEAKIH07CiAKIC8qIENvcmdpIG1hY2hpbmUgYXVkaW8gbWFwIChjb25uZWN0aW9ucyB0byB0aGUgY29kZWMgcGlucykgKi8KLXN0YXRpYyBjb25zdCBjaGFyICphdWRpb19tYXBbXVszXSA9IHsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlIGF1ZGlvX21hcFtdID0gewogCiAJLyogaGVhZHNldCBKYWNrICAtIGluID0gbWljaW4sIG91dCA9IExIUE9VVCovCiAJeyJIZWFkc2V0IEphY2siLCBOVUxMLCAiTEhQT1VUIn0sCkBAIC0yNjUsOCArMjY1LDYgQEAKIAogCS8qIFNhbWUgYXMgdGhlIGFib3ZlIGJ1dCBubyBtaWMgYmlhcyBmb3IgbGluZSBzaWduYWxzICovCiAJeyJNSUNJTiIsIE5VTEwsICJMaW5lIEphY2sifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7IkhlYWRwaG9uZSIsICJNaWMiLCAiTGluZSIsICJIZWFkc2V0IiwKQEAgLTI5MSw4ICsyODksOCBAQAogewogCWludCBpLCBlcnI7CiAKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTExJTkVJTiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSTElORUlOIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTExJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJMSU5FSU4iKTsKIAogCS8qIEFkZCBjb3JnaSBzcGVjaWZpYyBjb250cm9scyAqLwogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9jb3JnaV9jb250cm9scyk7IGkrKykgewpAQCAtMzAzLDE1ICszMDEsMTMgQEAKIAl9CiAKIAkvKiBBZGQgY29yZ2kgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODczMV9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODczMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBjb3JnaSBzcGVjaWZpYyBhdWRpbyBwYXRoIGF1ZGlvX21hcCAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KGNvZGVjLCBhdWRpb19tYXBbaV1bMF0sCi0JCQlhdWRpb19tYXBbaV1bMV0sIGF1ZGlvX21hcFtpXVsyXSk7CisJc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGF1ZGlvX21hcCwgQVJSQVlfU0laRShhdWRpb19tYXApKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL2VtLXgyNzAuYyBiL3NvdW5kL3NvYy9weGEvZW0teDI3MC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZGNhYzMKLS0tIC9kZXYvbnVsbAorKysgYi9zb3VuZC9zb2MvcHhhL2VtLXgyNzAuYwpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIGVtLXgyNzAuYyAgLS0gIFNvQyBhdWRpbyBmb3IgRU0tWDI3MAorICoKKyAqIENvcHlyaWdodCAyMDA3IENvbXB1TGFiLCBMdGQuCisgKgorICogQXV0aG9yOiBNaWtlIFJhcG9wb3J0IDxtaWtlQGNvbXB1bGFiLmNvLmlsPgorICoKKyAqIENvcGllZCBmcm9tIHRvc2EuYzoKKyAqIENvcHlyaWdodCAyMDA1IFdvbGZzb24gTWljcm9lbGVjdHJvbmljcyBQTEMuCisgKiBDb3B5cmlnaHQgMjAwNSBPcGVuZWRoYW5kIEx0ZC4KKyAqCisgKiBBdXRob3JzOiBMaWFtIEdpcmR3b29kIDxsaWFtLmdpcmR3b29kQHdvbGZzb25taWNyby5jb20+CisgKiAgICAgICAgICBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZEBvcGVuZWRoYW5kLmNvbT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlICBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCisgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CisjaW5jbHVkZSA8bGludXgvZGV2aWNlLmg+CisKKyNpbmNsdWRlIDxzb3VuZC9kcml2ZXIuaD4KKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4KKworI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8YXNtL2FyY2gvcHhhLXJlZ3MuaD4KKyNpbmNsdWRlIDxhc20vYXJjaC9oYXJkd2FyZS5oPgorI2luY2x1ZGUgPGFzbS9hcmNoL2F1ZGlvLmg+CisKKyNpbmNsdWRlICIuLi9jb2RlY3Mvd205NzEyLmgiCisjaW5jbHVkZSAicHhhMnh4LXBjbS5oIgorI2luY2x1ZGUgInB4YTJ4eC1hYzk3LmgiCisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayBlbV94MjcwX2RhaVtdID0geworCXsKKwkJLm5hbWUgPSAiQUM5NyIsCisJCS5zdHJlYW1fbmFtZSA9ICJBQzk3IEhpRmkiLAorCQkuY3B1X2RhaSA9ICZweGFfYWM5N19kYWlbUFhBMlhYX0RBSV9BQzk3X0hJRkldLAorCQkuY29kZWNfZGFpID0gJndtOTcxMl9kYWlbV005NzEyX0RBSV9BQzk3X0hJRkldLAorCX0sCisJeworCQkubmFtZSA9ICJBQzk3IEF1eCIsCisJCS5zdHJlYW1fbmFtZSA9ICJBQzk3IEF1eCIsCisJCS5jcHVfZGFpID0gJnB4YV9hYzk3X2RhaVtQWEEyWFhfREFJX0FDOTdfQVVYXSwKKwkJLmNvZGVjX2RhaSA9ICZ3bTk3MTJfZGFpW1dNOTcxMl9EQUlfQUM5N19BVVhdLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IHNuZF9zb2NfbWFjaGluZSBlbV94MjcwID0geworCS5uYW1lID0gIkVNLVgyNzAiLAorCS5kYWlfbGluayA9IGVtX3gyNzBfZGFpLAorCS5udW1fbGlua3MgPSBBUlJBWV9TSVpFKGVtX3gyNzBfZGFpKSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgZW1feDI3MF9zbmRfZGV2ZGF0YSA9IHsKKwkubWFjaGluZSA9ICZlbV94MjcwLAorCS5wbGF0Zm9ybSA9ICZweGEyeHhfc29jX3BsYXRmb3JtLAorCS5jb2RlY19kZXYgPSAmc29jX2NvZGVjX2Rldl93bTk3MTIsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZW1feDI3MF9zbmRfZGV2aWNlOworCitzdGF0aWMgaW50IF9faW5pdCBlbV94MjcwX2luaXQodm9pZCkKK3sKKwlpbnQgcmV0OworCisJaWYgKCFtYWNoaW5lX2lzX2VtX3gyNzAoKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwllbV94MjcwX3NuZF9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKKwlpZiAoIWVtX3gyNzBfc25kX2RldmljZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShlbV94MjcwX3NuZF9kZXZpY2UsICZlbV94MjcwX3NuZF9kZXZkYXRhKTsKKwllbV94MjcwX3NuZF9kZXZkYXRhLmRldiA9ICZlbV94MjcwX3NuZF9kZXZpY2UtPmRldjsKKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkKGVtX3gyNzBfc25kX2RldmljZSk7CisKKwlpZiAocmV0KQorCQlwbGF0Zm9ybV9kZXZpY2VfcHV0KGVtX3gyNzBfc25kX2RldmljZSk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBfX2V4aXQgZW1feDI3MF9leGl0KHZvaWQpCit7CisJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIoZW1feDI3MF9zbmRfZGV2aWNlKTsKK30KKworbW9kdWxlX2luaXQoZW1feDI3MF9pbml0KTsKK21vZHVsZV9leGl0KGVtX3gyNzBfZXhpdCk7CisKKy8qIE1vZHVsZSBpbmZvcm1hdGlvbiAqLworTU9EVUxFX0FVVEhPUigiTWlrZSBSYXBvcG9ydCIpOworTU9EVUxFX0RFU0NSSVBUSU9OKCJBTFNBIFNvQyBFTS1YMjcwIik7CitNT0RVTEVfTElDRU5TRSgiR1BMIik7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3Bvb2RsZS5jIGIvc291bmQvc29jL3B4YS9wb29kbGUuYwppbmRleCA3ZTgzMGIyLi42NWE0ZTlhIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3Bvb2RsZS5jCisrKyBiL3NvdW5kL3NvYy9weGEvcG9vZGxlLmMKQEAgLTQ4LDggKzQ4LDYgQEAKIAogc3RhdGljIHZvaWQgcG9vZGxlX2V4dF9jb250cm9sKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYykKIHsKLQlpbnQgc3BrID0gMDsKLQogCS8qIHNldCB1cCBqYWNrIGNvbm5lY3Rpb24gKi8KIAlpZiAocG9vZGxlX2phY2tfZnVuYyA9PSBQT09ETEVfSFApIHsKIAkJLyogc2V0ID0gdW5tdXRlIGhlYWRwaG9uZSAqLwpAQCAtNTcsMjMgKzU1LDIzIEBACiAJCQlQT09ETEVfTE9DT01PX0dQSU9fTVVURV9MLCAxKTsKIAkJbG9jb21vX2dwaW9fd3JpdGUoJnBvb2RsZV9sb2NvbW9fZGV2aWNlLmRldiwKIAkJCVBPT0RMRV9MT0NPTU9fR1BJT19NVVRFX1IsIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJIZWFkcGhvbmUgSmFjayIpOwogCX0gZWxzZSB7CiAJCWxvY29tb19ncGlvX3dyaXRlKCZwb29kbGVfbG9jb21vX2RldmljZS5kZXYsCiAJCQlQT09ETEVfTE9DT01PX0dQSU9fTVVURV9MLCAwKTsKIAkJbG9jb21vX2dwaW9fd3JpdGUoJnBvb2RsZV9sb2NvbW9fZGV2aWNlLmRldiwKIAkJCVBPT0RMRV9MT0NPTU9fR1BJT19NVVRFX1IsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKIAl9CiAKLQlpZiAocG9vZGxlX3Nwa19mdW5jID09IFBPT0RMRV9TUEtfT04pCi0JCXNwayA9IDE7Ci0KIAkvKiBzZXQgdGhlIGVucG9pbnRzIHRvIHRoZWlyIG5ldyBjb25uZXRpb24gc3RhdGVzICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCBzcGspOworCWlmIChwb29kbGVfc3BrX2Z1bmMgPT0gUE9PRExFX1NQS19PTikKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CisJZWxzZQorCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJFeHQgU3BrIik7CiAKIAkvKiBzaWduYWwgYSBEQVBNIGV2ZW50ICovCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiB9CiAKIHN0YXRpYyBpbnQgcG9vZGxlX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xMDQsOCArMTAyLDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJdW5zaWduZWQgaW50IGNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAKQEAgLTEyNCwyNSArMTIyLDI1IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzMxX1NZU0NMSywgY2xrLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3MzFfU1lTQ0xLLCBjbGssCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBJMlMgc3lzdGVtIGNsb2NrIGFzIGlucHV0ICh1bnVzZWQpICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMjE1LDggKzIxMyw4IEBACiBTTkRfU09DX0RBUE1fU1BLKCJFeHQgU3BrIiwgcG9vZGxlX2FtcF9ldmVudCksCiB9OwogCi0vKiBDb3JnaSBtYWNoaW5lIGF1ZGlvX21hcG5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CisvKiBDb3JnaSBtYWNoaW5lIGNvbm5lY3Rpb25zIHRvIHRoZSBjb2RlYyBwaW5zICovCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAogCS8qIGhlYWRwaG9uZSBjb25uZWN0ZWQgdG8gTEhQT1VUMSwgUkhQT1VUMSAqLwogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiTEhQT1VUIn0sCkBAIC0yMjUsOCArMjIzLDYgQEAKIAkvKiBzcGVha2VyIGNvbm5lY3RlZCB0byBMT1VULCBST1VUICovCiAJeyJFeHQgU3BrIiwgTlVMTCwgIlJPVVQifSwKIAl7IkV4dCBTcGsiLCBOVUxMLCAiTE9VVCJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmphY2tfZnVuY3Rpb25bXSA9IHsiT2ZmIiwgIkhlYWRwaG9uZSJ9OwpAQCAtMjUwLDkgKzI0Niw5IEBACiB7CiAJaW50IGksIGVycjsKIAotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMTElORUlOIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJMSU5FSU4iLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTUlDSU4iLCAxKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMTElORUlOIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUkxJTkVJTiIpOworCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTUlDSU4iKTsKIAogCS8qIEFkZCBwb29kbGUgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3MzFfcG9vZGxlX2NvbnRyb2xzKTsgaSsrKSB7CkBAIC0yNjMsMTUgKzI1OSwxMyBAQAogCX0KIAogCS8qIEFkZCBwb29kbGUgc3BlY2lmaWMgd2lkZ2V0cyAqLwotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpOyBpKyspCi0JCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbChjb2RlYywgJndtODczMV9kYXBtX3dpZGdldHNbaV0pOworCXNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMoY29kZWMsIHdtODczMV9kYXBtX3dpZGdldHMsCisJCQkJICBBUlJBWV9TSVpFKHdtODczMV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIFNldCB1cCBwb29kbGUgc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5jIGIvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5jCmluZGV4IDk3ZWMyZDkuLjA1OWFmODEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuYworKysgYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmMKQEAgLTI4Myw3ICsyODMsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHB4YTJ4eF9hYzk3X3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJR0NSIHw9IEdDUl9BQ0xJTktfT0ZGOwogCWNsa19kaXNhYmxlKGFjOTdfY2xrKTsKQEAgLTI5MSw3ICsyOTEsNyBAQAogfQogCiBzdGF0aWMgaW50IHB4YTJ4eF9hYzk3X3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlweGFfZ3Bpb19tb2RlKEdQSU8zMV9TWU5DX0FDOTdfTUQpOwogCXB4YV9ncGlvX21vZGUoR1BJTzMwX1NEQVRBX09VVF9BQzk3X01EKTsKQEAgLTMxMCw3ICszMTAsOCBAQAogI2RlZmluZSBweGEyeHhfYWM5N19yZXN1bWUJTlVMTAogI2VuZGlmCiAKLXN0YXRpYyBpbnQgcHhhMnh4X2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgcHhhMnh4X2FjOTdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaW50IHJldDsKIApAQCAtMzU1LDcgKzM1Niw4IEBACiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgcHhhMnh4X2FjOTdfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBweGEyeHhfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlHQ1IgfD0gR0NSX0FDTElOS19PRkY7CiAJZnJlZV9pcnEoSVJRX0FDOTcsIE5VTEwpOwpAQCAtMzcyLDcgKzM3NCw3IEBACiAJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQljcHVfZGFpLT5kbWFfZGF0YSA9ICZweGEyeHhfYWM5N19wY21fc3RlcmVvX291dDsKQEAgLTM4Niw3ICszODgsNyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJY3B1X2RhaS0+ZG1hX2RhdGEgPSAmcHhhMnh4X2FjOTdfcGNtX2F1eF9tb25vX291dDsKQEAgLTQwMCw3ICs0MDIsNyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAKIAlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDSykKIAkJcmV0dXJuIC1FTk9ERVY7CkBAIC00MTgsNyArNDIwLDcgQEAKICAqIFRoZXJlIGlzIG9ubHkgMSBwaHlzaWNhbCBBQzk3IGludGVyZmFjZSBmb3IgcHhhMnh4LCBidXQgaXQKICAqIGhhcyBleHRyYSBmaWZvJ3MgdGhhdCBjYW4gYmUgdXNlZCBmb3IgYXV4IERBQ3MgYW5kIEFEQ3MuCiAgKi8KLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2FjOTdfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgcHhhX2FjOTdfZGFpW10gPSB7CiB7CiAJLm5hbWUgPSAicHhhMnh4LWFjOTciLAogCS5pZCA9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmggYi9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1hYzk3LmgKaW5kZXggYjhjY2ZlZS4uZTM5MGRlOCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtYWM5Ny5oCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWFjOTcuaApAQCAtMTQsNyArMTQsNyBAQAogI2RlZmluZSBQWEEyWFhfREFJX0FDOTdfQVVYCQkxCiAjZGVmaW5lIFBYQTJYWF9EQUlfQUM5N19NSUMJCTIKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2FjOTdfZGFpWzNdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBweGFfYWM5N19kYWlbM107CiAKIC8qIHBsYXRmb3JtIGRhdGEgKi8KIGV4dGVybiBzdHJ1Y3Qgc25kX2FjOTdfYnVzX29wcyBweGEyeHhfYWM5N19vcHM7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuYyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jCmluZGV4IDQyNTA3MTAuLjhmOTZkODcgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5jCkBAIC05LDE1ICs5LDEzIEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMTJ0aCBBdWcgMjAwNSAgIEluaXRpYWwgdmVyc2lvbi4KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvY2xrLmg+CiAjaW5jbHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgogI2luY2x1ZGUgPHNvdW5kL2luaXR2YWwuaD4KQEAgLTQwLDYgKzM4LDcgQEAKIAl1MzIgZm10OwogfTsKIHN0YXRpYyBzdHJ1Y3QgcHhhX2kyc19wb3J0IHB4YV9pMnM7CitzdGF0aWMgc3RydWN0IGNsayAqY2xrX2kyczsKIAogc3RhdGljIHN0cnVjdCBweGEyeHhfcGNtX2RtYV9wYXJhbXMgcHhhMnh4X2kyc19wY21fc3RlcmVvX291dCA9IHsKIAkubmFtZQkJCT0gIkkyUyBQQ00gU3RlcmVvIG91dCIsCkBAIC04MCw3ICs3OSwxMSBAQAogc3RhdGljIGludCBweGEyeHhfaTJzX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKworCWNsa19pMnMgPSBjbGtfZ2V0KE5VTEwsICJJMlNDTEsiKTsKKwlpZiAoSVNfRVJSKGNsa19pMnMpKQorCQlyZXR1cm4gUFRSX0VSUihjbGtfaTJzKTsKIAogCWlmICghY3B1X2RhaS0+YWN0aXZlKSB7CiAJCVNBQ1IwIHw9IFNBQ1IwX1JTVDsKQEAgLTEwMSw3ICsxMDQsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHB4YTJ4eF9pMnNfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgcHhhMnh4X2kyc19zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJLyogaW50ZXJmYWNlIGZvcm1hdCAqLwpAQCAtMTI3LDcgKzEzMCw3IEBACiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgcHhhMnh4X2kyc19zZXRfZGFpX3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBweGEyeHhfaTJzX3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJaWYgKGNsa19pZCAhPSBQWEEyWFhfSTJTX1NZU0NMSykKQEAgLTE0MywxMyArMTQ2LDEzIEBACiAJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCXB4YV9ncGlvX21vZGUoZ3Bpb19idXNbcHhhX2kycy5tYXN0ZXJdLnJ4KTsKIAlweGFfZ3Bpb19tb2RlKGdwaW9fYnVzW3B4YV9pMnMubWFzdGVyXS50eCk7CiAJcHhhX2dwaW9fbW9kZShncGlvX2J1c1tweGFfaTJzLm1hc3Rlcl0uZnJtKTsKIAlweGFfZ3Bpb19tb2RlKGdwaW9fYnVzW3B4YV9pMnMubWFzdGVyXS5jbGspOwotCXB4YV9zZXRfY2tlbihDS0VOX0kyUywgMSk7CisJY2xrX2VuYWJsZShjbGtfaTJzKTsKIAlweGFfaTJzX3dhaXQoKTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQpAQCAtMjM0LDEzICsyMzcsMTUgQEAKIAlpZiAoU0FDUjEgJiAoU0FDUjFfRFJFQyB8IFNBQ1IxX0RSUEwpKSB7CiAJCVNBQ1IwICY9IH5TQUNSMF9FTkI7CiAJCXB4YV9pMnNfd2FpdCgpOwotCQlweGFfc2V0X2NrZW4oQ0tFTl9JMlMsIDApOworCQljbGtfZGlzYWJsZShjbGtfaTJzKTsKIAl9CisKKwljbGtfcHV0KGNsa19pMnMpOwogfQogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHB4YTJ4eF9pMnNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYsCi0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCXN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQogewogCWlmICghZGFpLT5hY3RpdmUpCiAJCXJldHVybiAwOwpAQCAtMjU4LDcgKzI2Myw3IEBACiB9CiAKIHN0YXRpYyBpbnQgcHhhMnh4X2kyc19yZXN1bWUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaWYgKCFkYWktPmFjdGl2ZSkKIAkJcmV0dXJuIDA7CkBAIC0yODMsNyArMjg4LDcgQEAKIAkJU05EUlZfUENNX1JBVEVfMTYwMDAgfCBTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgXAogCQlTTkRSVl9QQ01fUkFURV80ODAwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHB4YV9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHB4YV9pMnNfZGFpID0gewogCS5uYW1lID0gInB4YTJ4eC1pMnMiLAogCS5pZCA9IDAsCiAJLnR5cGUgPSBTTkRfU09DX0RBSV9JMlMsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3B4YTJ4eC1pMnMuaCBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oCmluZGV4IDQ0MzViZDkuLmUyZGVmNDQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oCisrKyBiL3NvdW5kL3NvYy9weGEvcHhhMnh4LWkycy5oCkBAIC0xNSw2ICsxNSw2IEBACiAvKiBJMlMgY2xvY2sgKi8KICNkZWZpbmUgUFhBMlhYX0kyU19TWVNDTEsJCTAKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgcHhhX2kyc19kYWk7CitleHRlcm4gc3RydWN0IHNuZF9zb2NfZGFpIHB4YV9pMnNfZGFpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9weGEvcHhhMnh4LXBjbS5jIGIvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMKaW5kZXggMDFhZDdiZi4uMmRmMDNlZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMKKysrIGIvc291bmQvc29jL3B4YS9weGEyeHgtcGNtLmMKQEAgLTMzMCw3ICszMzAsNyBAQAogCiBzdGF0aWMgdTY0IHB4YTJ4eF9wY21fZG1hbWFzayA9IERNQV8zMkJJVF9NQVNLOwogCi1pbnQgcHhhMnh4X3BjbV9uZXcoc3RydWN0IHNuZF9jYXJkICpjYXJkLCBzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwKK2ludCBweGEyeHhfcGNtX25ldyhzdHJ1Y3Qgc25kX2NhcmQgKmNhcmQsIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAogCXN0cnVjdCBzbmRfcGNtICpwY20pCiB7CiAJaW50IHJldCA9IDA7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvcHhhL3NwaXR6LmMgYi9zb3VuZC9zb2MvcHhhL3NwaXR6LmMKaW5kZXggZDhiODM3Mi4uNjQzODU3OSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3B4YS9zcGl0ei5jCisrKyBiL3NvdW5kL3NvYy9weGEvc3BpdHouYwpAQCAtMTIsOSArMTIsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDMwdGggTm92IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTU0LDYwICs1MSw2MCBAQAogc3RhdGljIHZvaWQgc3BpdHpfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewogCWlmIChzcGl0el9zcGtfZnVuYyA9PSBTUElUWl9TUEtfT04pCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJFeHQgU3BrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCWVsc2UKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkV4dCBTcGsiLCAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiRXh0IFNwayIpOwogCiAJLyogc2V0IHVwIGphY2sgY29ubmVjdGlvbiAqLwogCXN3aXRjaCAoc3BpdHpfamFja19mdW5jKSB7CiAJY2FzZSBTUElUWl9IUDoKIAkJLyogZW5hYmxlIGFuZCB1bm11dGUgaHAgamFjaywgZGlzYWJsZSBtaWMgYmlhcyAqLwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKIAkJc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX01JQzoKIAkJLyogZW5hYmxlIG1pYyBqYWNrIGFuZCBiaWFzLCBtdXRlIGhwICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX0wpOwogCQlyZXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX0xJTkU6CiAJCS8qIGVuYWJsZSBsaW5lIGphY2ssIGRpc2FibGUgbWljIGJpYXMgYW5kIG11dGUgaHAgKi8KLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRwaG9uZSBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IEphY2siLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1pYyBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJMaW5lIEphY2siLCAxKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfUik7CiAJCWJyZWFrOwogCWNhc2UgU1BJVFpfSEVBRFNFVDoKIAkJLyogZW5hYmxlIGFuZCB1bm11dGUgaGVhZHNldCBqYWNrIGVuYWJsZSBtaWMgYmlhcywgbXV0ZSBMIGhwICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIEphY2siLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxpbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMSk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTGluZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCXJlc2V0X3Njb29wX2dwaW8oJnNwaXR6c2Nvb3BfZGV2aWNlLmRldiwgU1BJVFpfU0NQX01VVEVfTCk7CiAJCXNldF9zY29vcF9ncGlvKCZzcGl0enNjb29wX2RldmljZS5kZXYsIFNQSVRaX1NDUF9NVVRFX1IpOwogCQlicmVhazsKIAljYXNlIFNQSVRaX0hQX09GRjoKIAogCQkvKiBqYWNrIHJlbW92ZWQsIGV2ZXJ5dGhpbmcgb2ZmICovCi0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkcGhvbmUgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBKYWNrIiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNaWMgSmFjayIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTGluZSBKYWNrIiwgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgSmFjayIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMaW5lIEphY2siKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9MKTsKIAkJcmVzZXRfc2Nvb3BfZ3Bpbygmc3BpdHpzY29vcF9kZXZpY2UuZGV2LCBTUElUWl9TQ1BfTVVURV9SKTsKIAkJYnJlYWs7CiAJfQotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogfQogCiBzdGF0aWMgaW50IHNwaXR6X3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xMjQsOCArMTIxLDggQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CiAJdW5zaWduZWQgaW50IGNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAKQEAgLTE0NCwyNSArMTQxLDI1IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAogCQlTTkRfU09DX0RBSUZNVF9OQl9ORiB8IFNORF9TT0NfREFJRk1UX0NCU19DRlMpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLCBTTkRfU09DX0RBSUZNVF9JMlMgfAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwgU05EX1NPQ19EQUlGTVRfSTJTIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUwX1NZU0NMSywgY2xrLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY29kZWNfZGFpLCBXTTg3NTBfU1lTQ0xLLCBjbGssCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHRoZSBJMlMgc3lzdGVtIGNsb2NrIGFzIGlucHV0ICh1bnVzZWQpICovCi0JcmV0ID0gY3B1X2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNwdV9kYWksIFBYQTJYWF9JMlNfU1lTQ0xLLCAwLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9zeXNjbGsoY3B1X2RhaSwgUFhBMlhYX0kyU19TWVNDTEssIDAsCiAJCVNORF9TT0NfQ0xPQ0tfSU4pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwpAQCAtMjUwLDcgKzI0Nyw3IEBACiB9OwogCiAvKiBTcGl0eiBtYWNoaW5lIGF1ZGlvX21hcCAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgYXVkaW9fbWFwW10gPSB7CiAKIAkvKiBoZWFkcGhvbmUgY29ubmVjdGVkIHRvIExPVVQxLCBST1VUMSAqLwogCXsiSGVhZHBob25lIEphY2siLCBOVUxMLCAiTE9VVDEifSwKQEAgLTI2OSw4ICsyNjYsNiBAQAogCiAJLyogbGluZSBpcyBjb25uZWN0ZWQgdG8gaW5wdXQgMSAtIG5vIGJpYXMgKi8KIAl7IkxJTlBVVDEiLCBOVUxMLCAiTGluZSBKYWNrIn0sCi0KLQl7TlVMTCwgTlVMTCwgTlVMTH0sCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqamFja19mdW5jdGlvbltdID0geyJIZWFkcGhvbmUiLCAiTWljIiwgIkxpbmUiLCAiSGVhZHNldCIsCkBAIC0yOTYsMTMgKzI5MSwxMyBAQAogCWludCBpLCBlcnI7CiAKIAkvKiBOQyBjb2RlYyBwaW5zICovCi0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIlJJTlBVVDEiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElOUFVUMiIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJSSU5QVVQyIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkxJTlBVVDMiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUklOUFVUMyIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJPVVQzIiwgMCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIk1PTk8iLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJSSU5QVVQxIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiTElOUFVUMiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJJTlBVVDIiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMSU5QVVQzIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiUklOUFVUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk9VVDMiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNT05PIik7CiAKIAkvKiBBZGQgc3BpdHogc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTBfc3BpdHpfY29udHJvbHMpOyBpKyspIHsKQEAgLTMxMywxNSArMzA4LDEzIEBACiAJfQogCiAJLyogQWRkIHNwaXR6IHNwZWNpZmljIHdpZGdldHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTBfZGFwbV93aWRnZXRzKTsgaSsrKQotCQlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2woY29kZWMsICZ3bTg3NTBfZGFwbV93aWRnZXRzW2ldKTsKKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB3bTg3NTBfZGFwbV93aWRnZXRzLAorCQkJCSAgQVJSQVlfU0laRSh3bTg3NTBfZGFwbV93aWRnZXRzKSk7CiAKLQkvKiBTZXQgdXAgc3BpdHogc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXAgKi8KLQlmb3IgKGkgPSAwOyBhdWRpb19tYXBbaV1bMF0gIT0gTlVMTDsgaSsrKQotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOworCS8qIFNldCB1cCBzcGl0eiBzcGVjaWZpYyBhdWRpbyBwYXRocyAqLworCXNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKGNvZGVjLCBhdWRpb19tYXAsIEFSUkFZX1NJWkUoYXVkaW9fbWFwKSk7CiAKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3B4YS90b3NhLmMgYi9zb3VuZC9zb2MvcHhhL3Rvc2EuYwppbmRleCA3MzQ2ZDdlLi5iNmVkYjYxIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvcHhhL3Rvc2EuYworKysgYi9zb3VuZC9zb2MvcHhhL3Rvc2EuYwpAQCAtMTIsOSArMTIsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDMwdGggTm92IDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKgogICogR1BJTydzCiAgKiAgMSAtIEphY2sgSW5zZXJ0aW9uCiAgKiAgNSAtIEhvb2tzd2l0Y2ggKGhlYWRzZXQgYW5zd2VyL2hhbmcgdXAgc3dpdGNoKQpAQCAtNTUsMjkgKzUyLDMxIEBACiAKIHN0YXRpYyB2b2lkIHRvc2FfZXh0X2NvbnRyb2woc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCWludCBzcGsgPSAwLCBtaWNfaW50ID0gMCwgaHAgPSAwLCBocyA9IDA7Ci0KIAkvKiBzZXQgdXAgamFjayBjb25uZWN0aW9uICovCiAJc3dpdGNoICh0b3NhX2phY2tfZnVuYykgewogCWNhc2UgVE9TQV9IUDoKLQkJaHAgPSAxOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJNaWMgKEludGVybmFsKSIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgSmFjayIpOwogCQlicmVhazsKIAljYXNlIFRPU0FfTUlDX0lOVDoKLQkJbWljX2ludCA9IDE7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiTWljIChJbnRlcm5hbCkiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHBob25lIEphY2siKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCWNhc2UgVE9TQV9IRUFEU0VUOgotCQlocyA9IDE7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1pYyAoSW50ZXJuYWwpIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRwaG9uZSBKYWNrIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiSGVhZHNldCBKYWNrIik7CiAJCWJyZWFrOwogCX0KIAogCWlmICh0b3NhX3Nwa19mdW5jID09IFRPU0FfU1BLX09OKQotCQlzcGsgPSAxOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIlNwZWFrZXIiKTsKKwllbHNlCisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlNwZWFrZXIiKTsKIAotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJTcGVha2VyIiwgc3BrKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTWljIChJbnRlcm5hbCkiLCBtaWNfaW50KTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHBob25lIEphY2siLCBocCk7Ci0Jc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgSmFjayIsIGhzKTsKLQlzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMoY29kZWMpOworCXNuZF9zb2NfZGFwbV9zeW5jKGNvZGVjKTsKIH0KIAogc3RhdGljIGludCB0b3NhX3N0YXJ0dXAoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCkBAIC0xNTQsNyArMTUzLDcgQEAKIH07CiAKIC8qIHRvc2EgYXVkaW8gbWFwICovCi1zdGF0aWMgY29uc3QgY2hhciAqYXVkaW9fbWFwW11bM10gPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBhdWRpb19tYXBbXSA9IHsKIAogCS8qIGhlYWRwaG9uZSBjb25uZWN0ZWQgdG8gSFBPVVRMLCBIUE9VVFIgKi8KIAl7IkhlYWRwaG9uZSBKYWNrIiwgTlVMTCwgIkhQT1VUTCJ9LApAQCAtMTczLDggKzE3Miw2IEBACiAJeyJIZWFkc2V0IEphY2siLCBOVUxMLCAiSFBPVVRSIn0sCiAJeyJMSU5FSU5SIiwgTlVMTCwgIk1pYyBCaWFzIn0sCiAJeyJNaWMgQmlhcyIsIE5VTEwsICJIZWFkc2V0IEphY2sifSwKLQotCXtOVUxMLCBOVUxMLCBOVUxMfSwKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpqYWNrX2Z1bmN0aW9uW10gPSB7IkhlYWRwaG9uZSIsICJNaWMiLCAiTGluZSIsICJIZWFkc2V0IiwKQEAgLTE5Niw4ICsxOTMsOCBAQAogewogCWludCBpLCBlcnI7CiAKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUMyIsIDApOwotCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJNT05PT1VUIiwgMCk7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiT1VUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk1PTk9PVVQiKTsKIAogCS8qIGFkZCB0b3NhIHNwZWNpZmljIGNvbnRyb2xzICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9zYV9jb250cm9scyk7IGkrKykgewpAQCAtMjA4LDE3ICsyMDUsMTMgQEAKIAl9CiAKIAkvKiBhZGQgdG9zYSBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9zYV9kYXBtX3dpZGdldHMpOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmdG9zYV9kYXBtX3dpZGdldHNbaV0pOwotCX0KKwlzbmRfc29jX2RhcG1fbmV3X2NvbnRyb2xzKGNvZGVjLCB0b3NhX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUodG9zYV9kYXBtX3dpZGdldHMpKTsKIAogCS8qIHNldCB1cCB0b3NhIHNwZWNpZmljIGF1ZGlvIHBhdGggYXVkaW9fbWFwICovCi0JZm9yIChpID0gMDsgYXVkaW9fbWFwW2ldWzBdICE9IE5VTEw7IGkrKykgewotCQlzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dChjb2RlYywgYXVkaW9fbWFwW2ldWzBdLAotCQkJYXVkaW9fbWFwW2ldWzFdLCBhdWRpb19tYXBbaV1bMl0pOwotCX0KKwlzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyhjb2RlYywgYXVkaW9fbWFwLCBBUlJBWV9TSVpFKGF1ZGlvX21hcCkpOwogCi0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L0tjb25maWcgYi9zb3VuZC9zb2MvczNjMjR4eC9LY29uZmlnCmluZGV4IDFmNmRiZmMuLmI5ZjIzNTMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L0tjb25maWcKKysrIGIvc291bmQvc29jL3MzYzI0eHgvS2NvbmZpZwpAQCAtMSw3ICsxLDYgQEAKIGNvbmZpZyBTTkRfUzNDMjRYWF9TT0MKIAl0cmlzdGF0ZSAiU29DIEF1ZGlvIGZvciB0aGUgU2Ftc3VuZyBTM0MyNFhYIGNoaXBzIgotCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwICYmIFNORF9TT0MKLQlzZWxlY3QgU05EX1BDTQorCWRlcGVuZHMgb24gQVJDSF9TM0MyNDEwCiAJaGVscAogCSAgU2F5IFkgb3IgTSBpZiB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBmb3IgY29kZWNzIGF0dGFjaGVkIHRvCiAJICB0aGUgUzNDMjRYWCBBQzk3LCBJMlMgb3IgU1NQIGludGVyZmFjZS4gWW91IHdpbGwgYWxzbyBuZWVkCkBAIC0xNiw3ICsxNSw2IEBACiBjb25maWcgU05EX1MzQzI0NDNfU09DX0FDOTcKIAl0cmlzdGF0ZQogCXNlbGVjdCBBQzk3X0JVUwotCXNlbGVjdCBTTkRfQUM5N19DT0RFQwogCXNlbGVjdCBTTkRfU09DX0FDOTdfQlVTCiAJCiBjb25maWcgU05EX1MzQzI0WFhfU09DX05FTzE5NzNfV004NzUzCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9uZW8xOTczX3dtODc1My5jIGIvc291bmQvc29jL3MzYzI0eHgvbmVvMTk3M193bTg3NTMuYwppbmRleCAwZTlkMWM1Li40ZDdhOWFhIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9uZW8xOTczX3dtODc1My5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L25lbzE5NzNfd204NzUzLmMKQEAgLTEwLDEwICsxMCw2IEBACiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICAqCi0gKiAgUmV2aXNpb24gaGlzdG9yeQotICogICAgMjB0aCBKYW4gMjAwNyAgIEluaXRpYWwgdmVyc2lvbi4KLSAqICAgIDA1dGggRmViIDIwMDcgICBSZW5hbWUgYWxsIHRvIE5lbzE5NzMKLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpAQCAtMjYsNiArMjIsNyBAQAogI2luY2x1ZGUgPHNvdW5kL3BjbS5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy5oPgogI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5jbHVkZSA8c291bmQvdGx2Lmg+CiAKICNpbmNsdWRlIDxhc20vbWFjaC10eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9oYXJkd2FyZS9zY29vcC5oPgpAQCAtNDMsNiArNDAsMTQgQEAKICNpbmNsdWRlICJzM2MyNHh4LXBjbS5oIgogI2luY2x1ZGUgInMzYzI0eHgtaTJzLmgiCiAKKy8qIERlYnVnZ2luZyBzdHVmZiAqLworI2RlZmluZSBTM0MyNFhYX1NPQ19ORU8xOTczX1dNODc1M19ERUJVRyAwCisjaWYgUzNDMjRYWF9TT0NfTkVPMTk3M19XTTg3NTNfREVCVUcKKyNkZWZpbmUgREJHKHguLi4pIHByaW50ayhLRVJOX0RFQlVHICJzM2MyNHh4LXNvYy1uZW8xOTczLXdtODc1MzogIiB4KQorI2Vsc2UKKyNkZWZpbmUgREJHKHguLi4pCisjZW5kaWYKKwogLyogZGVmaW5lIHRoZSBzY2VuYXJpb3MgKi8KICNkZWZpbmUgTkVPX0FVRElPX09GRgkJCTAKICNkZWZpbmUgTkVPX0dTTV9DQUxMX0FVRElPX0hBTkRTRVQJMQpAQCAtNjEsMTIgKzY2LDE0IEBACiAJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gcnRkLT5kYWktPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCXVuc2lnbmVkIGludCBwbGxfb3V0ID0gMCwgYmNsayA9IDA7CiAJaW50IHJldCA9IDA7CiAJdW5zaWduZWQgbG9uZyBpaXNfY2xrcmF0ZTsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWlzX2Nsa3JhdGUgPSBzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKCk7CiAKIAlzd2l0Y2ggKHBhcmFtc19yYXRlKHBhcmFtcykpIHsKQEAgLTEwMSw0NCArMTA4LDQ0IEBACiAJfQogCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY29kZWNfZGFpLAogCQlTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9OQl9ORiB8CiAJCVNORF9TT0NfREFJRk1UX0NCTV9DRk0pOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IGNwdSBEQUkgY29uZmlndXJhdGlvbiAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2ZtdChjcHVfZGFpLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9mbXQoY3B1X2RhaSwKIAkJU05EX1NPQ19EQUlGTVRfSTJTIHwgU05EX1NPQ19EQUlGTVRfTkJfTkYgfAogCQlTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUzX01DTEssIHBsbF9vdXQsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1M19NQ0xLLCBwbGxfb3V0LAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBNQ0xLIGRpdmlzaW9uIGZvciBzYW1wbGUgcmF0ZSAqLwotCXJldCA9IGNwdV9kYWktPmRhaV9vcHMuc2V0X2Nsa2RpdihjcHVfZGFpLCBTM0MyNFhYX0RJVl9NQ0xLLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfTUNMSywKIAkJUzNDMjQxMF9JSVNNT0RfMzJGUyk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKIAkvKiBzZXQgY29kZWMgQkNMSyBkaXZpc2lvbiBmb3Igc2FtcGxlIHJhdGUgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X2Nsa2Rpdihjb2RlY19kYWksIFdNODc1M19CQ0xLRElWLCBiY2xrKTsKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KGNvZGVjX2RhaSwgV004NzUzX0JDTEtESVYsIGJjbGspOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogc2V0IHByZXNjYWxlciBkaXZpc2lvbiBmb3Igc2FtcGxlIHJhdGUgKi8KLQlyZXQgPSBjcHVfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfUFJFU0NBTEVSLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY3B1X2RhaSwgUzNDMjRYWF9ESVZfUFJFU0NBTEVSLAogCQlTM0MyNFhYX1BSRVNDQUxFKDQsIDQpKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIGNvZGVjIFBMTCBpbnB1dCBpcyBQQ0xLLzQgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwxLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwKIAkJaWlzX2Nsa3JhdGUgLyA0LCBwbGxfb3V0KTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKQEAgLTE0OSwxMCArMTU2LDEyIEBACiBzdGF0aWMgaW50IG5lbzE5NzNfaGlmaV9od19mcmVlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOworCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKIAkvKiBkaXNhYmxlIHRoZSBQTEwgKi8KLQlyZXR1cm4gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwgMCwgMCk7CisJcmV0dXJuIHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMSwgMCwgMCk7CiB9CiAKIC8qCkBAIC0xNjcsMTEgKzE3NiwxMyBAQAogCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zKQogewogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQgPSBzdWJzdHJlYW0tPnByaXZhdGVfZGF0YTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBydGQtPmRhaS0+Y29kZWNfZGFpOwogCXVuc2lnbmVkIGludCBwY21kaXYgPSAwOwogCWludCByZXQgPSAwOwogCXVuc2lnbmVkIGxvbmcgaWlzX2Nsa3JhdGU7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlpc19jbGtyYXRlID0gczNjMjR4eF9pMnNfZ2V0X2Nsb2NrcmF0ZSgpOwogCiAJaWYgKHBhcmFtc19yYXRlKHBhcmFtcykgIT0gODAwMCkKQEAgLTE4MywyNCArMTk0LDI0IEBACiAKIAkvKiB0b2RvOiBnZyBjaGVjayBtb2RlIChEU1BfQikgYWdhaW5zdCBDU1IgZGF0YXNoZWV0ICovCiAJLyogc2V0IGNvZGVjIERBSSBjb25maWd1cmF0aW9uICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9mbXQoY29kZWNfZGFpLCBTTkRfU09DX0RBSUZNVF9EU1BfQiB8CisJcmV0ID0gc25kX3NvY19kYWlfc2V0X2ZtdChjb2RlY19kYWksIFNORF9TT0NfREFJRk1UX0RTUF9CIHwKIAkJU05EX1NPQ19EQUlGTVRfTkJfTkYgfCBTTkRfU09DX0RBSUZNVF9DQlNfQ0ZTKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCB0aGUgY29kZWMgc3lzdGVtIGNsb2NrIGZvciBEQUMgYW5kIEFEQyAqLwotCXJldCA9IGNvZGVjX2RhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGNvZGVjX2RhaSwgV004NzUzX1BDTUNMSywgMTIyODgwMDAsCisJcmV0ID0gc25kX3NvY19kYWlfc2V0X3N5c2Nsayhjb2RlY19kYWksIFdNODc1M19QQ01DTEssIDEyMjg4MDAwLAogCQlTTkRfU09DX0NMT0NLX0lOKTsKIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAogCS8qIHNldCBjb2RlYyBQQ00gZGl2aXNpb24gZm9yIHNhbXBsZSByYXRlICovCi0JcmV0ID0gY29kZWNfZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg3NTNfUENNRElWLCBwY21kaXYpOworCXJldCA9IHNuZF9zb2NfZGFpX3NldF9jbGtkaXYoY29kZWNfZGFpLCBXTTg3NTNfUENNRElWLCBwY21kaXYpOwogCWlmIChyZXQgPCAwKQogCQlyZXR1cm4gcmV0OwogCiAJLyogY29uZmlndWUgYW5kIGVuYWJsZSBQTEwgZm9yIDEyLjI4OE1IeiBvdXRwdXQgKi8KLQlyZXQgPSBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLAorCXJldCA9IHNuZF9zb2NfZGFpX3NldF9wbGwoY29kZWNfZGFpLCBXTTg3NTNfUExMMiwKIAkJaWlzX2Nsa3JhdGUgLyA0LCAxMjI4ODAwMCk7CiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CkBAIC0yMTEsMTAgKzIyMiwxMiBAQAogc3RhdGljIGludCBuZW8xOTczX3ZvaWNlX2h3X2ZyZWUoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gcnRkLT5kYWktPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IHJ0ZC0+ZGFpLT5jb2RlY19kYWk7CisKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIAogCS8qIGRpc2FibGUgdGhlIFBMTCAqLwotCXJldHVybiBjb2RlY19kYWktPmRhaV9vcHMuc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLCAwLCAwKTsKKwlyZXR1cm4gc25kX3NvY19kYWlfc2V0X3BsbChjb2RlY19kYWksIFdNODc1M19QTEwyLCAwLCAwKTsKIH0KIAogc3RhdGljIHN0cnVjdCBzbmRfc29jX29wcyBuZW8xOTczX3ZvaWNlX29wcyA9IHsKQEAgLTIzMyw3OSArMjQ2LDgxIEBACiAKIHN0YXRpYyBpbnQgc2V0X3NjZW5hcmlvX2VuZHBvaW50cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsIGludCBzY2VuYXJpbykKIHsKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCXN3aXRjaCAobmVvMTk3M19zY2VuYXJpbykgewogCWNhc2UgTkVPX0FVRElPX09GRjoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fR1NNX0NBTExfQVVESU9fSEFORFNFVDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMSk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgSW4iKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiSGVhZHNldCBNaWMiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19HU01fQ0FMTF9BVURJT19IRUFEU0VUOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2VuYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0dTTV9DQUxMX0FVRElPX0JMVUVUT09USDoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAxKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkF1ZGlvIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX1NURVJFT19UT19TUEVBS0VSUzoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19TVEVSRU9fVE9fSEVBRFBIT05FUzoKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkF1ZGlvIE91dCIsICAgIDEpOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgT3V0IiwgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBJbiIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkhlYWRzZXQgTWljIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQ2FsbCBNaWMiLCAgICAgMCk7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAljYXNlIE5FT19DQVBUVVJFX0hBTkRTRVQ6Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJBdWRpbyBPdXQiLCAgICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIE91dCIsIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiR1NNIExpbmUgSW4iLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJIZWFkc2V0IE1pYyIsICAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkNhbGwgTWljIiwgICAgIDEpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJBdWRpbyBPdXQiKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiR1NNIExpbmUgT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIEluIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9lbmFibGVfcGluKGNvZGVjLCAiQ2FsbCBNaWMiKTsKIAkJYnJlYWs7CiAJY2FzZSBORU9fQ0FQVFVSRV9IRUFEU0VUOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMSk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZW5hYmxlX3Bpbihjb2RlYywgIkhlYWRzZXQgTWljIik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkNhbGwgTWljIik7CiAJCWJyZWFrOwogCWNhc2UgTkVPX0NBUFRVUkVfQkxVRVRPT1RIOgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiQXVkaW8gT3V0IiwgICAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJHU00gTGluZSBPdXQiLCAwKTsKLQkJc25kX3NvY19kYXBtX3NldF9lbmRwb2ludChjb2RlYywgIkdTTSBMaW5lIEluIiwgIDApOwotCQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiSGVhZHNldCBNaWMiLCAgMCk7Ci0JCXNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoY29kZWMsICJDYWxsIE1pYyIsICAgICAwKTsKKwkJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiQXVkaW8gT3V0Iik7CisJCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkdTTSBMaW5lIE91dCIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJHU00gTGluZSBJbiIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJIZWFkc2V0IE1pYyIpOworCQlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJDYWxsIE1pYyIpOwogCX0KIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0zMTUsNiArMzMwLDggQEAKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzbmRfa2NvbnRyb2xfY2hpcChrY29udHJvbCk7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmIChuZW8xOTczX3NjZW5hcmlvID09IHVjb250cm9sLT52YWx1ZS5pbnRlZ2VyLnZhbHVlWzBdKQogCQlyZXR1cm4gMDsKIApAQCAtMzI3LDYgKzM0NCw4IEBACiAKIHN0YXRpYyB2b2lkIGxtNDg1N193cml0ZV9yZWdzKHZvaWQpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAoaTJjX21hc3Rlcl9zZW5kKGkyYywgbG00ODU3X3JlZ3MsIDQpICE9IDQpCiAJCXByaW50ayhLRVJOX0VSUiAibG00ODU3OiBpMmMgd3JpdGUgZmFpbGVkXG4iKTsKIH0KQEAgLTMzOCw2ICszNTcsOCBAQAogCWludCBzaGlmdCA9IChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiA4KSAmIDB4MEY7CiAJaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgPj4gMTYpICYgMHhGRjsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSAobG00ODU3X3JlZ3NbcmVnXSA+PiBzaGlmdCkgJiBtYXNrOwogCXJldHVybiAwOwogfQpAQCAtMzY0LDYgKzM4NSw4IEBACiB7CiAJdTggdmFsdWUgPSBsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gJiAweDBGOwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpZiAodmFsdWUpCiAJCXZhbHVlIC09IDU7CiAKQEAgLTM3Niw2ICszOTksOCBAQAogewogCXU4IHZhbHVlID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWlmICh2YWx1ZSkKIAkJdmFsdWUgKz0gNTsKIApAQCAtMzk3LDggKzQyMiw3IEBACiB9OwogCiAKLS8qIGV4YW1wbGUgbWFjaGluZSBhdWRpb19tYXBuZWN0aW9ucyAqLwotc3RhdGljIGNvbnN0IGNoYXIgKmF1ZGlvX21hcFtdWzNdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91dGUgZGFwbV9yb3V0ZXNbXSA9IHsKIAogCS8qIENvbm5lY3Rpb25zIHRvIHRoZSBsbTQ4NTcgYW1wICovCiAJeyJBdWRpbyBPdXQiLCBOVUxMLCAiTE9VVDEifSwKQEAgLTQyMSw4ICs0NDUsNiBAQAogCiAJLyogQ29ubmVjdCB0aGUgQUxDIHBpbnMgKi8KIAl7IkFDSU4iLCBOVUxMLCAiQUNPUCJ9LAotCi0Je05VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKmxtNDg1N19tb2RlW10gPSB7CkBAIC00NTMsMTMgKzQ3NSwxNiBAQAogCVNPQ19FTlVNX1NJTkdMRV9FWFQoQVJSQVlfU0laRShuZW9fc2NlbmFyaW9zKSwgbmVvX3NjZW5hcmlvcyksCiB9OwogCitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUoc3RlcmVvX3RsdiwgLTQwNTAsIDE1MCwgMCk7CitzdGF0aWMgY29uc3QgREVDTEFSRV9UTFZfREJfU0NBTEUobW9ub190bHYsIC0zNDUwLCAxNTAsIDApOworCiBzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgd204NzUzX25lbzE5NzNfY29udHJvbHNbXSA9IHsKLQlTT0NfU0lOR0xFX0VYVCgiQW1wIExlZnQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X0xWT0wsIDAsIDMxLCAwLAotCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcpLAotCVNPQ19TSU5HTEVfRVhUKCJBbXAgUmlnaHQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X1JWT0wsIDAsIDMxLCAwLAotCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcpLAotCVNPQ19TSU5HTEVfRVhUKCJBbXAgTW9ubyBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfTVZPTCwgMCwgMzEsIDAsCi0JCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZyksCisJU09DX1NJTkdMRV9FWFRfVExWKCJBbXAgTGVmdCBQbGF5YmFjayBWb2x1bWUiLCBMTTQ4NTdfTFZPTCwgMCwgMzEsIDAsCisJCWxtNDg1N19nZXRfcmVnLCBsbTQ4NTdfc2V0X3JlZywgc3RlcmVvX3RsdiksCisJU09DX1NJTkdMRV9FWFRfVExWKCJBbXAgUmlnaHQgUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X1JWT0wsIDAsIDMxLCAwLAorCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcsIHN0ZXJlb190bHYpLAorCVNPQ19TSU5HTEVfRVhUX1RMVigiQW1wIE1vbm8gUGxheWJhY2sgVm9sdW1lIiwgTE00ODU3X01WT0wsIDAsIDMxLCAwLAorCQlsbTQ4NTdfZ2V0X3JlZywgbG00ODU3X3NldF9yZWcsIG1vbm9fdGx2KSwKIAlTT0NfRU5VTV9FWFQoIkFtcCBNb2RlIiwgbG00ODU3X21vZGVfZW51bVswXSwKIAkJbG00ODU3X2dldF9tb2RlLCBsbTQ4NTdfc2V0X21vZGUpLAogCVNPQ19FTlVNX0VYVCgiTmVvIE1vZGUiLCBuZW9fc2NlbmFyaW9fZW51bVswXSwKQEAgLTQ4MywyMSArNTA4LDIzIEBACiB7CiAJaW50IGksIGVycjsKIAorCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJLyogc2V0IHVwIE5DIGNvZGVjIHBpbnMgKi8KLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTE9VVDIiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiUk9VVDIiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUMyIsICAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiT1VUNCIsICAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElORTEiLCAwKTsKLQlzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50KGNvZGVjLCAiTElORTIiLCAwKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMT1VUMiIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIlJPVVQyIik7CisJc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKGNvZGVjLCAiT1VUMyIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIk9VVDQiKTsKKwlzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oY29kZWMsICJMSU5FMSIpOworCXNuZF9zb2NfZGFwbV9kaXNhYmxlX3Bpbihjb2RlYywgIkxJTkUyIik7CiAKIAogCS8qIHNldCBlbmRwb2ludHMgdG8gZGVmYXVsdCBtb2RlICovCiAJc2V0X3NjZW5hcmlvX2VuZHBvaW50cyhjb2RlYywgTkVPX0FVRElPX09GRik7CiAKIAkvKiBBZGQgbmVvMTk3MyBzcGVjaWZpYyB3aWRnZXRzICovCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod204NzUzX2RhcG1fd2lkZ2V0cyk7IGkrKykKLQkJc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCAmd204NzUzX2RhcG1fd2lkZ2V0c1tpXSk7CisJc25kX3NvY19kYXBtX25ld19jb250cm9scyhjb2RlYywgd204NzUzX2RhcG1fd2lkZ2V0cywKKwkJCQkgIEFSUkFZX1NJWkUod204NzUzX2RhcG1fd2lkZ2V0cykpOwogCiAJLyogYWRkIG5lbzE5NzMgc3BlY2lmaWMgY29udHJvbHMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh3bTg3NTNfbmVvMTk3M19jb250cm9scyk7IGkrKykgewpAQCAtNTA4LDIwICs1MzUsMTggQEAKIAkJCXJldHVybiBlcnI7CiAJfQogCi0JLyogc2V0IHVwIG5lbzE5NzMgc3BlY2lmaWMgYXVkaW8gcGF0aCBhdWRpb19tYXBuZWN0cyAqLwotCWZvciAoaSA9IDA7IGF1ZGlvX21hcFtpXVswXSAhPSBOVUxMOyBpKyspIHsKLQkJc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQoY29kZWMsIGF1ZGlvX21hcFtpXVswXSwKLQkJCWF1ZGlvX21hcFtpXVsxXSwgYXVkaW9fbWFwW2ldWzJdKTsKLQl9CisJLyogc2V0IHVwIG5lbzE5NzMgc3BlY2lmaWMgYXVkaW8gcm91dGVzICovCisJZXJyID0gc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoY29kZWMsIGRhcG1fcm91dGVzLAorCQkJCSAgICAgIEFSUkFZX1NJWkUoZGFwbV9yb3V0ZXMpKTsKIAotCXNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhjb2RlYyk7CisJc25kX3NvY19kYXBtX3N5bmMoY29kZWMpOwogCXJldHVybiAwOwogfQogCiAvKgogICogQlQgQ29kZWMgREFJCiAgKi8KLXN0YXRpYyBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIGJ0X2RhaSA9IHsKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWkgYnRfZGFpID0gewogCS5uYW1lID0gIkJsdWV0b290aCIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX1BDTSwKQEAgLTU4Myw2ICs2MDgsOCBAQAogewogCWludCByZXQ7CiAKKwlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKKwogCWNsaWVudF90ZW1wbGF0ZS5hZGFwdGVyID0gYWRhcDsKIAljbGllbnRfdGVtcGxhdGUuYWRkciA9IGFkZHI7CiAKQEAgLTYwNiw2ICs2MzMsOCBAQAogCiBzdGF0aWMgaW50IGxtNDg1N19pMmNfZGV0YWNoKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlpMmNfZGV0YWNoX2NsaWVudChjbGllbnQpOwogCWtmcmVlKGNsaWVudCk7CiAJcmV0dXJuIDA7CkBAIC02MTMsNiArNjQyLDggQEAKIAogc3RhdGljIGludCBsbTQ4NTdfaTJjX2F0dGFjaChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXApCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlyZXR1cm4gaTJjX3Byb2JlKGFkYXAsICZhZGRyX2RhdGEsIGxtNDg1N19hbXBfcHJvYmUpOwogfQogCkBAIC02MjAsNiArNjUxLDggQEAKIAogc3RhdGljIGludCBsbTQ4NTdfc3VzcGVuZChzdHJ1Y3QgaTJjX2NsaWVudCAqZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7CisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAlkZXZfZGJnKCZkZXYtPmRldiwgImxtNDg1N19zdXNwZW5kXG4iKTsKIAlsbTQ4NTdfc3RhdGUgPSBsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gJiAweGY7CiAJaWYgKGxtNDg1N19zdGF0ZSkgewpAQCAtNjMxLDYgKzY2NCw4IEBACiAKIHN0YXRpYyBpbnQgbG00ODU3X3Jlc3VtZShzdHJ1Y3QgaTJjX2NsaWVudCAqZGV2KQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaWYgKGxtNDg1N19zdGF0ZSkgewogCQlsbTQ4NTdfcmVnc1tMTTQ4NTdfQ1RSTF0gfD0gKGxtNDg1N19zdGF0ZSAmIDB4MGYpOwogCQlsbTQ4NTdfd3JpdGVfcmVncygpOwpAQCAtNjQwLDYgKzY3NSw4IEBACiAKIHN0YXRpYyB2b2lkIGxtNDg1N19zaHV0ZG93bihzdHJ1Y3QgaTJjX2NsaWVudCAqZGV2KQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJZGV2X2RiZygmZGV2LT5kZXYsICJsbTQ4NTdfc2h1dGRvd25cbiIpOwogCWxtNDg1N19yZWdzW0xNNDg1N19DVFJMXSAmPSAweGYwOwogCWxtNDg1N193cml0ZV9yZWdzKCk7CkBAIC02NzEsNiArNzA4LDggQEAKIHsKIAlpbnQgcmV0OwogCisJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CisKIAluZW8xOTczX3NuZF9kZXZpY2UgPSBwbGF0Zm9ybV9kZXZpY2VfYWxsb2MoInNvYy1hdWRpbyIsIC0xKTsKIAlpZiAoIW5lbzE5NzNfc25kX2RldmljZSkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC02OTEsNiArNzMwLDggQEAKIAogc3RhdGljIHZvaWQgX19leGl0IG5lbzE5NzNfZXhpdCh2b2lkKQogeworCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOworCiAJaTJjX2RlbF9kcml2ZXIoJmxtNDg1N19pMmNfZHJpdmVyKTsKIAlwbGF0Zm9ybV9kZXZpY2VfdW5yZWdpc3RlcihuZW8xOTczX3NuZF9kZXZpY2UpOwogfQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmMKaW5kZXggYzRhNDZkZC4uZWU0Njc2ZSAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5jCkBAIC0yOTUsNyArMjk1LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjQxMiBJMlMgREFJIGZvcm1hdAogICovCi1zdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCQkgICAgICAgdW5zaWduZWQgaW50IGZtdCkKIHsKIAl1MzIgaWlzbW9kOwpAQCAtNTAwLDcgKzUwMCw3IEBACiAvKgogICogU2V0IFMzQzI0MTIgQ2xvY2sgc291cmNlCiAgKi8KLXN0YXRpYyBpbnQgczNjMjQxMl9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLAorc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSwKIAkJCQkgIGludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXUzMiBpaXNtb2QgPSByZWFkbChzM2MyNDEyX2kycy5yZWdzICsgUzNDMjQxMl9JSVNNT0QpOwpAQCAtNTI4LDcgKzUyOCw3IEBACiAvKgogICogU2V0IFMzQzI0MTIgQ2xvY2sgZGl2aWRlcnMKICAqLwotc3RhdGljIGludCBzM2MyNDEyX2kyc19zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWksCitzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpLAogCQkJCSAgaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3QgczNjMjQxMl9pMnNfaW5mbyAqaTJzID0gJnMzYzI0MTJfaTJzOwpAQCAtNjAxLDcgKzYwMSw4IEBACiBFWFBPUlRfU1lNQk9MX0dQTChzM2MyNDEyX2dldF9paXNjbGspOwogCiAKLXN0YXRpYyBpbnQgczNjMjQxMl9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyBpbnQgczNjMjQxMl9pMnNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCSAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTY0Nyw3ICs2NDgsNyBAQAogCiAjaWZkZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHMzYzI0MTJfaTJzX3N1c3BlbmQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2LAotCQkJICAgICAgc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpKQorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJc3RydWN0IHMzYzI0MTJfaTJzX2luZm8gKmkycyA9ICZzM2MyNDEyX2kyczsKIAl1MzIgaWlzbW9kOwpAQCAtNjc1LDcgKzY3Niw3IEBACiB9CiAKIHN0YXRpYyBpbnQgczNjMjQxMl9pMnNfcmVzdW1lKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCi0JCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpkYWkpCisJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlzdHJ1Y3QgczNjMjQxMl9pMnNfaW5mbyAqaTJzID0gJnMzYzI0MTJfaTJzOwogCkBAIC03MDcsNyArNzA4LDcgQEAKIAlTTkRSVl9QQ01fUkFURV8yMjA1MCB8IFNORFJWX1BDTV9SQVRFXzMyMDAwIHwgU05EUlZfUENNX1JBVEVfNDQxMDAgfCBcCiAJU05EUlZfUENNX1JBVEVfNDgwMDAgfCBTTkRSVl9QQ01fUkFURV84ODIwMCB8IFNORFJWX1BDTV9SQVRFXzk2MDAwKQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0MTJfaTJzX2RhaSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDEyX2kyc19kYWkgPSB7CiAJLm5hbWUJPSAiczNjMjQxMi1pMnMiLAogCS5pZAk9IDAsCiAJLnR5cGUJPSBTTkRfU09DX0RBSV9JMlMsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5oIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQxMi1pMnMuaAppbmRleCAyN2Y0OGUxLi5hYWMwOGEyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNDEyLWkycy5oCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0MTItaTJzLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogZXh0ZXJuIHN0cnVjdCBjbGsgKnMzYzI0MTJfZ2V0X2lpc2Nsayh2b2lkKTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQxMl9pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzM2MyNDEyX2kyc19kYWk7CiAKIHN0cnVjdCBzM2MyNDEyX3JhdGVfY2FsYyB7CiAJdW5zaWduZWQgaW50CWNsa19kaXY7CS8qIGZvciBwcmVzY2FsZXIgKi8KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0NDMtYWM5Ny5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMKaW5kZXggZTgxZDlhNi4uNzgzMzQ5YiAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjQ0My1hYzk3LmMKQEAgLTEwLDkgKzEwLDYgQEAKICAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCiAgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqCTIxc3QgTWFyIDIwMDcgICBJbml0aWFsIFZlcnNpb24KICAqLwogCiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMjEyLDcgKzIwOSw4IEBACiAJLmRtYV9zaXplCT0gNCwKIH07CiAKLXN0YXRpYyBpbnQgczNjMjQ0M19hYzk3X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgaW50IHMzYzI0NDNfYWM5N19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWkpCiB7CiAJaW50IHJldDsKIAl1MzIgYWNfZ2xiY3RybDsKQEAgLTI2Myw3ICsyNjEsOCBAQAogCXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyB2b2lkIHMzYzI0NDNfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKK3N0YXRpYyB2b2lkIHMzYzI0NDNfYWM5N19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKKwkJCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlmcmVlX2lycShJUlFfUzNDMjQ0eF9BQzk3LCBOVUxMKTsKIAljbGtfZGlzYWJsZShzM2MyNHh4X2FjOTcuYWM5N19jbGspOwpAQCAtMjc1LDcgKzI3NCw3IEBACiAJCQkJc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCiB7CiAJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVhbS0+cHJpdmF0ZV9kYXRhOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBydGQtPmRhaS0+Y3B1X2RhaTsKIAogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKQogCQljcHVfZGFpLT5kbWFfZGF0YSA9ICZzM2MyNDQzX2FjOTdfcGNtX3N0ZXJlb19vdXQ7CkBAIC0zMTcsNyArMzE2LDcgQEAKIAlzdHJ1Y3Qgc25kX3BjbV9od19wYXJhbXMgKnBhcmFtcykKIHsKIAlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcnRkID0gc3Vic3RyZWFtLT5wcml2YXRlX2RhdGE7Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IHJ0ZC0+ZGFpLT5jcHVfZGFpOwogCiAJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCXJldHVybiAtRU5PREVWOwpAQCAtMzUzLDcgKzM1Miw3IEBACiAJCVNORFJWX1BDTV9SQVRFXzE2MDAwIHwgU05EUlZfUENNX1JBVEVfMjIwNTAgfCBcCiAJCVNORFJWX1BDTV9SQVRFXzQ0MTAwIHwgU05EUlZfUENNX1JBVEVfNDgwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjQ0M19hYzk3X2RhaVtdID0geworc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0NDNfYWM5N19kYWlbXSA9IHsKIHsKIAkubmFtZSA9ICJzM2MyNDQzLWFjOTciLAogCS5pZCA9IDAsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWFjOTcuaCBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oCmluZGV4IGJmMDNlOGUuLmE5NmRjYWQgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtYWM5Ny5oCkBAIC0yNiw2ICsyNiw2IEBACiAjZGVmaW5lIElSUV9TM0MyNDR4X0FDOTcgSVJRX1MzQzI0NDNfQUM5NwogI2VuZGlmCiAKLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHMzYzI0NDNfYWM5N19kYWlbXTsKK2V4dGVybiBzdHJ1Y3Qgc25kX3NvY19kYWkgczNjMjQ0M19hYzk3X2RhaVtdOwogCiAjZW5kaWYgLypTM0MyNFhYQUM5N19IXyovCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuYwppbmRleCAxZWQ2YWZkLi4zOTc1MjQyIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5jCisrKyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmMKQEAgLTEyLDExICsxMiw2IEBACiAgKiAgdW5kZXIgIHRoZSB0ZXJtcyBvZiAgdGhlIEdOVSBHZW5lcmFsICBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCiAgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyAgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgIExpY2Vuc2UsIG9yIChhdCB5b3VyCiAgKiAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDExdGggRGVjIDIwMDYgICBNZXJnZWQgd2l0aCBTaW10ZWMgZHJpdmVyCi0gKiAgICAxMHRoIE5vdiAyMDA2ICAgSW5pdGlhbCB2ZXJzaW9uLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CkBAIC0xODAsNyArMTc1LDcgQEAKIHN0YXRpYyBpbnQgczNjMjR4eF9zbmRfbHJzeW5jKHZvaWQpCiB7CiAJdTMyIGlpc2NvbjsKLQl1bnNpZ25lZCBsb25nIHRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3NfdG9famlmZmllcyg1KTsKKwlpbnQgdGltZW91dCA9IDUwOyAvKiA1bXMgKi8KIAogCURCRygiRW50ZXJlZCAlc1xuIiwgX19mdW5jX18pOwogCkBAIC0xODksOCArMTg0LDkgQEAKIAkJaWYgKGlpc2NvbiAmIFMzQzI0MTBfSUlTQ09OX0xSSU5ERVgpCiAJCQlicmVhazsKIAotCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCB0aW1lb3V0KSkKKwkJaWYgKCF0aW1lb3V0LS0pCiAJCQlyZXR1cm4gLUVUSU1FRE9VVDsKKwkJdWRlbGF5KDEwMCk7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0yMDksNyArMjA1LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjR4eCBJMlMgREFJIGZvcm1hdAogICovCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJCXVuc2lnbmVkIGludCBmbXQpCiB7CiAJdTMyIGlpc21vZDsKQEAgLTMxNyw3ICszMTMsNyBAQAogLyoKICAqIFNldCBTM0MyNHh4IENsb2NrIHNvdXJjZQogICovCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9zeXNjbGsoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpCiB7CiAJdTMyIGlpc21vZCA9IHJlYWRsKHMzYzI0eHhfaTJzLnJlZ3MgKyBTM0MyNDEwX0lJU01PRCk7CkBAIC0zNDMsNyArMzM5LDcgQEAKIC8qCiAgKiBTZXQgUzNDMjR4eCBDbG9jayBkaXZpZGVycwogICovCi1zdGF0aWMgaW50IHMzYzI0eHhfaTJzX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSwKK3N0YXRpYyBpbnQgczNjMjR4eF9pMnNfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksCiAJaW50IGRpdl9pZCwgaW50IGRpdikKIHsKIAl1MzIgcmVnOwpAQCAtMzgxLDcgKzM3Nyw4IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChzM2MyNHh4X2kyc19nZXRfY2xvY2tyYXRlKTsKIAotc3RhdGljIGludCBzM2MyNHh4X2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorc3RhdGljIGludCBzM2MyNHh4X2kyc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAorCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkKIHsKIAlEQkcoIkVudGVyZWQgJXNcbiIsIF9fZnVuY19fKTsKIApAQCAtNDE0LDcgKzQxMSw3IEBACiAKICNpZmRlZiBDT05GSUdfUE0KIHN0YXRpYyBpbnQgczNjMjR4eF9pMnNfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAKQEAgLTQyOSw3ICs0MjYsNyBAQAogfQogCiBzdGF0aWMgaW50IHMzYzI0eHhfaTJzX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpKQorCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkpCiB7CiAJREJHKCJFbnRlcmVkICVzXG4iLCBfX2Z1bmNfXyk7CiAJY2xrX2VuYWJsZShzM2MyNHh4X2kycy5paXNfY2xrKTsKQEAgLTQ1Miw3ICs0NDksNyBAQAogCVNORFJWX1BDTV9SQVRFXzIyMDUwIHwgU05EUlZfUENNX1JBVEVfMzIwMDAgfCBTTkRSVl9QQ01fUkFURV80NDEwMCB8IFwKIAlTTkRSVl9QQ01fUkFURV80ODAwMCB8IFNORFJWX1BDTV9SQVRFXzg4MjAwIHwgU05EUlZfUENNX1JBVEVfOTYwMDApCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjR4eF9pMnNfZGFpID0geworc3RydWN0IHNuZF9zb2NfZGFpIHMzYzI0eHhfaTJzX2RhaSA9IHsKIAkubmFtZSA9ICJzM2MyNHh4LWkycyIsCiAJLmlkID0gMCwKIAkudHlwZSA9IFNORF9TT0NfREFJX0kyUywKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmggYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LWkycy5oCmluZGV4IDUzN2I0ZWMuLjcyNmQ5MWMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtaTJzLmgKKysrIGIvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1pMnMuaApAQCAtMzIsNiArMzIsNiBAQAogCiB1MzIgczNjMjR4eF9pMnNfZ2V0X2Nsb2NrcmF0ZSh2b2lkKTsKIAotZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgczNjMjR4eF9pMnNfZGFpOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzM2MyNHh4X2kyc19kYWk7CiAKICNlbmRpZiAvKlMzQzI0WFhJMlNfSF8qLwpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYyBiL3NvdW5kL3NvYy9zM2MyNHh4L3MzYzI0eHgtcGNtLmMKaW5kZXggNzgwNmFlNi4uY2VmNzliMyAxMDA2NDQKLS0tIGEvc291bmQvc29jL3MzYzI0eHgvczNjMjR4eC1wY20uYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zM2MyNHh4LXBjbS5jCkBAIC0xMiwxMCArMTIsNiBAQAogICogIHVuZGVyICB0aGUgdGVybXMgb2YgIHRoZSBHTlUgR2VuZXJhbCAgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDExdGggRGVjIDIwMDYgICBNZXJnZWQgd2l0aCBTaW10ZWMgZHJpdmVyCi0gKiAgICAxMHRoIE5vdiAyMDA2ICAgSW5pdGlhbCB2ZXJzaW9uLgogICovCiAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTQzMyw3ICs0MjksNyBAQAogc3RhdGljIHU2NCBzM2MyNHh4X3BjbV9kbWFtYXNrID0gRE1BXzMyQklUX01BU0s7CiAKIHN0YXRpYyBpbnQgczNjMjR4eF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgc3RydWN0IHNuZF9wY20gKnBjbSkKIHsKIAlpbnQgcmV0ID0gMDsKIApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3MzYzI0eHgvc21kazI0NDNfd205NzEwLmMgYi9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYwppbmRleCBiNGE1NjMwLi44NTE1ZDZmIDEwMDY0NAotLS0gYS9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYworKysgYi9zb3VuZC9zb2MvczNjMjR4eC9zbWRrMjQ0M193bTk3MTAuYwpAQCAtMTAsOSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDh0aCBNYXIgMjAwNyAgIEluaXRpYWwgdmVyc2lvbi4KLSAqCiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NoL0tjb25maWcgYi9zb3VuZC9zb2Mvc2gvS2NvbmZpZwppbmRleCA0YzFlMDEzLi41NGJkNjA0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvS2NvbmZpZworKysgYi9zb3VuZC9zb2Mvc2gvS2NvbmZpZwpAQCAtMyw3ICszLDcgQEAKIAogY29uZmlnIFNORF9TT0NfUENNX1NINzc2MAogCXRyaXN0YXRlICJTb0MgQXVkaW8gc3VwcG9ydCBmb3IgUmVuZXNhcyBTSDc3NjAiCi0JZGVwZW5kcyBvbiBDUFVfU1VCVFlQRV9TSDc3NjAgJiYgU05EX1NPQyAmJiBTSF9ETUFCUkcKKwlkZXBlbmRzIG9uIENQVV9TVUJUWVBFX1NINzc2MCAmJiBTSF9ETUFCUkcKIAloZWxwCiAJICBFbmFibGUgdGhpcyBvcHRpb24gZm9yIFNINzc2MCBBQzk3L0kyUyBhdWRpbyBzdXBwb3J0LgogCkBAIC0xMywxMCArMTMsOSBAQAogIyMKIAogY29uZmlnIFNORF9TT0NfU0g0X0hBQworCXRyaXN0YXRlCiAJc2VsZWN0IEFDOTdfQlVTCiAJc2VsZWN0IFNORF9TT0NfQUM5N19CVVMKLQlzZWxlY3QgU05EX0FDOTdfQ09ERUMKLQl0cmlzdGF0ZQogCiBjb25maWcgU05EX1NPQ19TSDRfU1NJCiAJdHJpc3RhdGUKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMgYi9zb3VuZC9zb2Mvc2gvZG1hLXNoNzc2MC5jCmluZGV4IDdhM2NlODAuLjlmYWExMjYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zaC9kbWEtc2g3NzYwLmMKKysrIGIvc291bmQvc29jL3NoL2RtYS1zaDc3NjAuYwpAQCAtMzI2LDcgKzMyNiw3IEBACiB9CiAKIHN0YXRpYyBpbnQgY2FtZWxvdF9wY21fbmV3KHN0cnVjdCBzbmRfY2FyZCAqY2FyZCwKLQkJCSAgIHN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpLAorCQkJICAgc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCiAJCQkgICBzdHJ1Y3Qgc25kX3BjbSAqcGNtKQogewogCS8qIGRvbnQgdXNlIFNORFJWX0RNQV9UWVBFX0RFViwgc2luY2UgaXQgd2lsbCBvb3BzIHRoZSBTSCBrZXJuZWwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9oYWMuYyBiL3NvdW5kL3NvYy9zaC9oYWMuYwppbmRleCBiN2I2NzZiLi5kZjdiYzM0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvaGFjLmMKKysrIGIvc291bmQvc29jL3NoL2hhYy5jCkBAIC0yNjYsNyArMjY2LDcgQEAKICNkZWZpbmUgQUM5N19GTVRTCVwKIAlTTkRSVl9QQ01fRk1UQklUX1MxNl9MRQogCi1zdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9oYWNfZGFpW10gPSB7CitzdHJ1Y3Qgc25kX3NvY19kYWkgc2g0X2hhY19kYWlbXSA9IHsKIHsKIAkubmFtZQkJCT0gIkhBQzAiLAogCS5pZAkJCT0gMCwKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9zaDc3NjAtYWM5Ny5jIGIvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKaW5kZXggMmY5MWRlOC4uOTJiZmFmNCAxMDA2NDQKLS0tIGEvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKKysrIGIvc291bmQvc29jL3NoL3NoNzc2MC1hYzk3LmMKQEAgLTIwLDEyICsyMCwxMiBAQAogI2RlZmluZSBJUFNFTCAweEZFNDAwMDM0CiAKIC8qIHBsYXRmb3JtIHNwZWNpZmljIHN0cnVjdHMgY2FuIGJlIGRlY2xhcmVkIGhlcmUgKi8KLWV4dGVybiBzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpIHNoNF9oYWNfZGFpWzJdOworZXh0ZXJuIHN0cnVjdCBzbmRfc29jX2RhaSBzaDRfaGFjX2RhaVsyXTsKIGV4dGVybiBzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSBzaDc3NjBfc29jX3BsYXRmb3JtOwogCiBzdGF0aWMgaW50IG1hY2hpbmVfaW5pdChzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCiB7Ci0Jc25kX3NvY19kYXBtX3N5bmNfZW5kcG9pbnRzKGNvZGVjKTsKKwlzbmRfc29jX2RhcG1fc3luYyhjb2RlYyk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9zaC9zc2kuYyBiL3NvdW5kL3NvYy9zaC9zc2kuYwppbmRleCAzMzg4YmMzLi41NWMzNDY0IDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc2gvc3NpLmMKKysrIGIvc291bmQvc29jL3NoL3NzaS5jCkBAIC0yMDgsNyArMjA4LDcgQEAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBzc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpLCBpbnQgY2xrX2lkLAorc3RhdGljIGludCBzc2lfc2V0X3N5c2NsayhzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWksIGludCBjbGtfaWQsCiAJCQkgIHVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQogewogCXN0cnVjdCBzc2lfcHJpdiAqc3NpID0gJnNzaV9jcHVfZGF0YVtjcHVfZGFpLT5pZF07CkBAIC0yMjIsNyArMjIyLDcgQEAKICAqIFRoaXMgZGl2aWRlciBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBTU0lfU0NLIChJMlMgYml0Y2xvY2spIGZyb20gdGhlCiAgKiBjbG9jayBhdCB0aGUgSEFDX0JJVF9DTEsgKCJvdmVyc2FtcGxpbmcgY2xvY2siKSBwaW4uCiAgKi8KLXN0YXRpYyBpbnQgc3NpX3NldF9jbGtkaXYoc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqZGFpLCBpbnQgZGlkLCBpbnQgZGl2KQorc3RhdGljIGludCBzc2lfc2V0X2Nsa2RpdihzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgaW50IGRpZCwgaW50IGRpdikKIHsKIAlzdHJ1Y3Qgc3NpX3ByaXYgKnNzaSA9ICZzc2lfY3B1X2RhdGFbZGFpLT5pZF07CiAJdW5zaWduZWQgbG9uZyBzc2ljcjsKQEAgLTI0NSw3ICsyNDUsNyBAQAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IHNzaV9zZXRfZm10KHN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKK3N0YXRpYyBpbnQgc3NpX3NldF9mbXQoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpCiB7CiAJc3RydWN0IHNzaV9wcml2ICpzc2kgPSAmc3NpX2NwdV9kYXRhW2RhaS0+aWRdOwogCXVuc2lnbmVkIGxvbmcgc3NpY3IgPSBTU0lSRUcoU1NJQ1IpOwpAQCAtMzMyLDcgKzMzMiw3IEBACiAJIFNORFJWX1BDTV9GTVRCSVRfUzI0XzNMRSB8IFNORFJWX1BDTV9GTVRCSVRfVTI0XzNMRSB8CVwKIAkgU05EUlZfUENNX0ZNVEJJVF9TMzJfTEUgIHwgU05EUlZfUENNX0ZNVEJJVF9VMzJfTEUpCiAKLXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgc2g0X3NzaV9kYWlbXSA9IHsKK3N0cnVjdCBzbmRfc29jX2RhaSBzaDRfc3NpX2RhaVtdID0gewogewogCS5uYW1lCQkJPSAiU1NJMCIsCiAJLmlkCQkJPSAwLApkaWZmIC0tZ2l0IGEvc291bmQvc29jL3NvYy1jb3JlLmMgYi9zb3VuZC9zb2Mvc29jLWNvcmUuYwppbmRleCBlMTQ4ZGI5Li44M2YxMTkwIDEwMDY0NAotLS0gYS9zb3VuZC9zb2Mvc29jLWNvcmUuYworKysgYi9zb3VuZC9zb2Mvc29jLWNvcmUuYwpAQCAtMTQsMTAgKzE0LDYgQEAKICAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247ICBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSAgTGljZW5zZSwgb3IgKGF0IHlvdXIKICAqICBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqICBSZXZpc2lvbiBoaXN0b3J5Ci0gKiAgICAxMnRoIEF1ZyAyMDA1ICAgSW5pdGlhbCB2ZXJzaW9uLgotICogICAgMjV0aCBPY3QgMjAwNSAgIFdvcmtpbmcgQ29kZWMsIEludGVyZmFjZSBhbmQgUGxhdGZvcm0gcmVnaXN0cmF0aW9uLgotICoKICAqICBUT0RPOgogICogICBvIEFkZCBodyBydWxlcyB0byBlbmZvcmNlIHJhdGVzLCBldGMuCiAgKiAgIG8gTW9yZSB0ZXN0aW5nIHdpdGggb3RoZXIgY29kZWNzL21hY2hpbmVzLgpAQCAtMTEyLDkgKzEwOCw5IEBACiB9CiAjZW5kaWYKIAotc3RhdGljIGlubGluZSBjb25zdCBjaGFyKiBnZXRfZGFpX25hbWUoaW50IHR5cGUpCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmdldF9kYWlfbmFtZShpbnQgdHlwZSkKIHsKLQlzd2l0Y2godHlwZSkgeworCXN3aXRjaCAodHlwZSkgewogCWNhc2UgU05EX1NPQ19EQUlfQUM5N19CVVM6CiAJY2FzZSBTTkRfU09DX0RBSV9BQzk3OgogCQlyZXR1cm4gIkFDOTciOwpAQCAtMTM4LDggKzEzNCw4IEBACiAJc3RydWN0IHNuZF9wY21fcnVudGltZSAqcnVudGltZSA9IHN1YnN0cmVhbS0+cnVudGltZTsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlpbnQgcmV0ID0gMDsKIAogCW11dGV4X2xvY2soJnBjbV9tdXRleCk7CkBAIC0xODIsOSArMTc4LDExIEBACiAJLyogQ2hlY2sgdGhhdCB0aGUgY29kZWMgYW5kIGNwdSBEQUkncyBhcmUgY29tcGF0aWJsZSAqLwogCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX1BMQVlCQUNLKSB7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWluID0KLQkJCW1heChjb2RlY19kYWktPnBsYXliYWNrLnJhdGVfbWluLCBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21pbik7CisJCQltYXgoY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlX21pbiwKKwkJCSAgICBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21pbik7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWF4ID0KLQkJCW1pbihjb2RlY19kYWktPnBsYXliYWNrLnJhdGVfbWF4LCBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21heCk7CisJCQltaW4oY29kZWNfZGFpLT5wbGF5YmFjay5yYXRlX21heCwKKwkJCSAgICBjcHVfZGFpLT5wbGF5YmFjay5yYXRlX21heCk7CiAJCXJ1bnRpbWUtPmh3LmNoYW5uZWxzX21pbiA9CiAJCQltYXgoY29kZWNfZGFpLT5wbGF5YmFjay5jaGFubmVsc19taW4sCiAJCQkJY3B1X2RhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluKTsKQEAgLTE5Nyw5ICsxOTUsMTEgQEAKIAkJCWNvZGVjX2RhaS0+cGxheWJhY2sucmF0ZXMgJiBjcHVfZGFpLT5wbGF5YmFjay5yYXRlczsKIAl9IGVsc2UgewogCQlydW50aW1lLT5ody5yYXRlX21pbiA9Ci0JCQltYXgoY29kZWNfZGFpLT5jYXB0dXJlLnJhdGVfbWluLCBjcHVfZGFpLT5jYXB0dXJlLnJhdGVfbWluKTsKKwkJCW1heChjb2RlY19kYWktPmNhcHR1cmUucmF0ZV9taW4sCisJCQkgICAgY3B1X2RhaS0+Y2FwdHVyZS5yYXRlX21pbik7CiAJCXJ1bnRpbWUtPmh3LnJhdGVfbWF4ID0KLQkJCW1pbihjb2RlY19kYWktPmNhcHR1cmUucmF0ZV9tYXgsIGNwdV9kYWktPmNhcHR1cmUucmF0ZV9tYXgpOworCQkJbWluKGNvZGVjX2RhaS0+Y2FwdHVyZS5yYXRlX21heCwKKwkJCSAgICBjcHVfZGFpLT5jYXB0dXJlLnJhdGVfbWF4KTsKIAkJcnVudGltZS0+aHcuY2hhbm5lbHNfbWluID0KIAkJCW1heChjb2RlY19kYWktPmNhcHR1cmUuY2hhbm5lbHNfbWluLAogCQkJCWNwdV9kYWktPmNhcHR1cmUuY2hhbm5lbHNfbWluKTsKQEAgLTIyOSw3ICsyMjksNyBAQAogCQlnb3RvIG1hY2hpbmVfZXJyOwogCX0KIAotCWRiZygiYXNvYzogJXMgPC0+ICVzIGluZm86XG4iLGNvZGVjX2RhaS0+bmFtZSwgY3B1X2RhaS0+bmFtZSk7CisJZGJnKCJhc29jOiAlcyA8LT4gJXMgaW5mbzpcbiIsIGNvZGVjX2RhaS0+bmFtZSwgY3B1X2RhaS0+bmFtZSk7CiAJZGJnKCJhc29jOiByYXRlIG1hc2sgMHgleFxuIiwgcnVudGltZS0+aHcucmF0ZXMpOwogCWRiZygiYXNvYzogbWluIGNoICVkIG1heCBjaCAlZFxuIiwgcnVudGltZS0+aHcuY2hhbm5lbHNfbWluLAogCQlydW50aW1lLT5ody5jaGFubmVsc19tYXgpOwpAQCAtMjcyLDExICsyNzIsMTEgQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UsIGRlbGF5ZWRfd29yay53b3JrKTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpOwogCWludCBpOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKIAkJY29kZWNfZGFpID0gJmNvZGVjLT5kYWlbaV07CiAKIAkJZGJnKCJwb3Agd3EgY2hlY2tpbmc6ICVzIHN0YXR1czogJXMgd2FpdGluZzogJXNcbiIsCkBAIC0yODcsMTIgKzI4NywxMiBAQAogCQkvKiBhcmUgd2Ugd2FpdGluZyBvbiB0aGlzIGNvZGVjIERBSSBzdHJlYW0gKi8KIAkJaWYgKGNvZGVjX2RhaS0+cG9wX3dhaXQgPT0gMSkgewogCi0JCQkvKiBwb3dlciBkb3duIHRoZSBjb2RlYyB0byBEMSBpZiBubyBsb25nZXIgYWN0aXZlICovCisJCQkvKiBSZWR1Y2UgcG93ZXIgaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLwogCQkJaWYgKGNvZGVjLT5hY3RpdmUgPT0gMCkgewogCQkJCWRiZygicG9wIHdxIEQxICVzICVzXG4iLCBjb2RlYy0+bmFtZSwKIAkJCQkJY29kZWNfZGFpLT5wbGF5YmFjay5zdHJlYW1fbmFtZSk7Ci0JCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsCi0JCQkJCVNORFJWX0NUTF9QT1dFUl9EMSk7CisJCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwKKwkJCQkJU05EX1NPQ19CSUFTX1BSRVBBUkUpOwogCQkJfQogCiAJCQljb2RlY19kYWktPnBvcF93YWl0ID0gMDsKQEAgLTMwMCwxMiArMzAwLDEyIEBACiAJCQkJY29kZWNfZGFpLT5wbGF5YmFjay5zdHJlYW1fbmFtZSwKIAkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1NUT1ApOwogCi0JCQkvKiBwb3dlciBkb3duIHRoZSBjb2RlYyBwb3dlciBkb21haW4gaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLworCQkJLyogRmFsbCBpbnRvIHN0YW5kYnkgaWYgbm8gbG9uZ2VyIGFjdGl2ZSAqLwogCQkJaWYgKGNvZGVjLT5hY3RpdmUgPT0gMCkgewogCQkJCWRiZygicG9wIHdxIEQzICVzICVzXG4iLCBjb2RlYy0+bmFtZSwKIAkJCQkJY29kZWNfZGFpLT5wbGF5YmFjay5zdHJlYW1fbmFtZSk7Ci0JCQkJc25kX3NvY19kYXBtX2RldmljZV9ldmVudChzb2NkZXYsCi0JCQkJCVNORFJWX0NUTF9QT1dFUl9EM2hvdCk7CisJCQkJc25kX3NvY19kYXBtX3NldF9iaWFzX2xldmVsKHNvY2RldiwKKwkJCQkJU05EX1NPQ19CSUFTX1NUQU5EQlkpOwogCQkJfQogCQl9CiAJfQpAQCAtMzIzLDggKzMyMyw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKQEAgLTM2NSw4ICszNjUsOCBAQAogCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9TVE9QKTsKIAogCQlpZiAoY29kZWMtPmFjdGl2ZSA9PSAwICYmIGNvZGVjX2RhaS0+cG9wX3dhaXQgPT0gMCkKLQkJCXNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc29jZGV2LAotCQkJCQkJU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsCisJCQkJCQlTTkRfU09DX0JJQVNfU1RBTkRCWSk7CiAJfQogCiAJbXV0ZXhfdW5sb2NrKCZwY21fbXV0ZXgpOwpAQCAtMzg0LDggKzM4NCw4IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCWludCByZXQgPSAwOwogCkBAIC00MzQsMTQgKzQzNCwxNCBAQAogCQllbHNlIHsKIAkJCWNvZGVjX2RhaS0+cG9wX3dhaXQgPSAwOwogCQkJY2FuY2VsX2RlbGF5ZWRfd29yaygmc29jZGV2LT5kZWxheWVkX3dvcmspOwotCQkJaWYgKGNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUpCi0JCQkJY29kZWNfZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZShjb2RlY19kYWksIDApOworCQkJc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CiAJCX0KIAl9IGVsc2UgewogCQkvKiBubyBkZWxheWVkIHdvcmsgLSBkbyB3ZSBuZWVkIHRvIHBvd2VyIHVwIGNvZGVjICovCi0JCWlmIChjb2RlYy0+ZGFwbV9zdGF0ZSAhPSBTTkRSVl9DVExfUE9XRVJfRDApIHsKKwkJaWYgKGNvZGVjLT5iaWFzX2xldmVsICE9IFNORF9TT0NfQklBU19PTikgewogCi0JCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwgIFNORFJWX0NUTF9QT1dFUl9EMSk7CisJCQlzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc29jZGV2LAorCQkJCQkJICAgIFNORF9TT0NfQklBU19QUkVQQVJFKTsKIAogCQkJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJWX1BDTV9TVFJFQU1fUExBWUJBQ0spCiAJCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywKQEAgLTQ1Miw5ICs0NTIsOCBAQAogCQkJCQljb2RlY19kYWktPmNhcHR1cmUuc3RyZWFtX25hbWUsCiAJCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fU1RBUlQpOwogCi0JCQlzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KHNvY2RldiwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKLQkJCWlmIChjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQkJCWNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKKwkJCXNuZF9zb2NfZGFwbV9zZXRfYmlhc19sZXZlbChzb2NkZXYsIFNORF9TT0NfQklBU19PTik7CisJCQlzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKIAogCQl9IGVsc2UgewogCQkJLyogY29kZWMgYWxyZWFkeSBwb3dlcmVkIC0gcG93ZXIgb24gd2lkZ2V0cyAqLwpAQCAtNDY2LDggKzQ2NSw4IEBACiAJCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywKIAkJCQkJY29kZWNfZGFpLT5jYXB0dXJlLnN0cmVhbV9uYW1lLAogCQkJCQlTTkRfU09DX0RBUE1fU1RSRUFNX1NUQVJUKTsKLQkJCWlmIChjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQkJCWNvZGVjX2RhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoY29kZWNfZGFpLCAwKTsKKworCQkJc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMCk7CiAJCX0KIAl9CiAKQEAgLTQ4OCw4ICs0ODcsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcnRkLT5zb2NkZXY7CiAJc3RydWN0IHNuZF9zb2NfZGFpX2xpbmsgKm1hY2hpbmUgPSBydGQtPmRhaTsKIAlzdHJ1Y3Qgc25kX3NvY19wbGF0Zm9ybSAqcGxhdGZvcm0gPSBzb2NkZXYtPnBsYXRmb3JtOwotCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CiAJaW50IHJldCA9IDA7CiAKIAltdXRleF9sb2NrKCZwY21fbXV0ZXgpOwpAQCAtNTE0LDcgKzUxMyw3IEBACiAJaWYgKGNwdV9kYWktPm9wcy5od19wYXJhbXMpIHsKIAkJcmV0ID0gY3B1X2RhaS0+b3BzLmh3X3BhcmFtcyhzdWJzdHJlYW0sIHBhcmFtcyk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IHNldCBpbnRlcmZhY2UgJXMgaHcgcGFyYW1zXG4iLAorCQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBpbnRlcmZhY2UgJXMgaHcgcGFyYW1zIGZhaWxlZFxuIiwKIAkJCQljcHVfZGFpLT5uYW1lKTsKIAkJCWdvdG8gaW50ZXJmYWNlX2VycjsKIAkJfQpAQCAtNTIzLDcgKzUyMiw3IEBACiAJaWYgKHBsYXRmb3JtLT5wY21fb3BzLT5od19wYXJhbXMpIHsKIAkJcmV0ID0gcGxhdGZvcm0tPnBjbV9vcHMtPmh3X3BhcmFtcyhzdWJzdHJlYW0sIHBhcmFtcyk7CiAJCWlmIChyZXQgPCAwKSB7Ci0JCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IHNldCBwbGF0Zm9ybSAlcyBodyBwYXJhbXNcbiIsCisJCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IHBsYXRmb3JtICVzIGh3IHBhcmFtcyBmYWlsZWRcbiIsCiAJCQkJcGxhdGZvcm0tPm5hbWUpOwogCQkJZ290byBwbGF0Zm9ybV9lcnI7CiAJCX0KQEAgLTU0Miw3ICs1NDEsNyBAQAogCQljb2RlY19kYWktPm9wcy5od19mcmVlKHN1YnN0cmVhbSk7CiAKIGNvZGVjX2VycjoKLQlpZihtYWNoaW5lLT5vcHMgJiYgbWFjaGluZS0+b3BzLT5od19mcmVlKQorCWlmIChtYWNoaW5lLT5vcHMgJiYgbWFjaGluZS0+b3BzLT5od19mcmVlKQogCQltYWNoaW5lLT5vcHMtPmh3X2ZyZWUoc3Vic3RyZWFtKTsKIAogCW11dGV4X3VubG9jaygmcGNtX211dGV4KTsKQEAgLTU1OCwxNSArNTU3LDE1IEBACiAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBydGQtPnNvY2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayAqbWFjaGluZSA9IHJ0ZC0+ZGFpOwogCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0Jc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmNwdV9kYWk7Ci0Jc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpjb2RlY19kYWkgPSBtYWNoaW5lLT5jb2RlY19kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJbXV0ZXhfbG9jaygmcGNtX211dGV4KTsKIAogCS8qIGFwcGx5IGNvZGVjIGRpZ2l0YWwgbXV0ZSAqLwotCWlmICghY29kZWMtPmFjdGl2ZSAmJiBjb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKQotCQljb2RlY19kYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGNvZGVjX2RhaSwgMSk7CisJaWYgKCFjb2RlYy0+YWN0aXZlKQorCQlzbmRfc29jX2RhaV9kaWdpdGFsX211dGUoY29kZWNfZGFpLCAxKTsKIAogCS8qIGZyZWUgYW55IG1hY2hpbmUgaHcgcGFyYW1zICovCiAJaWYgKG1hY2hpbmUtPm9wcyAmJiBtYWNoaW5lLT5vcHMtPmh3X2ZyZWUpCkBAIC01OTMsOCArNTkyLDggQEAKIAlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IHJ0ZC0+c29jZGV2OwogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICptYWNoaW5lID0gcnRkLT5kYWk7CiAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+Y3B1X2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaSA9IG1hY2hpbmUtPmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5jcHVfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gbWFjaGluZS0+Y29kZWNfZGFpOwogCWludCByZXQ7CiAKIAlpZiAoY29kZWNfZGFpLT5vcHMudHJpZ2dlcikgewpAQCAtNjMxLDE2ICs2MzAsMjYgQEAKIC8qIHBvd2VycyBkb3duIGF1ZGlvIHN1YnN5c3RlbSBmb3Igc3VzcGVuZCAqLwogc3RhdGljIGludCBzb2Nfc3VzcGVuZChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBwbV9tZXNzYWdlX3Qgc3RhdGUpCiB7Ci0gCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Ci0gCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7Ci0gCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07Ci0gCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RldmljZSAqY29kZWNfZGV2ID0gc29jZGV2LT5jb2RlY19kZXY7CisJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKKwlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOworCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07CisJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCWludCBpOwogCisJLyogRHVlIHRvIHRoZSByZXN1bWUgYmVpbmcgc2NoZWR1bGVkIGludG8gYSB3b3JrcXVldWUgd2UgY291bGQKKwkqIHN1c3BlbmQgYmVmb3JlIHRoYXQncyBmaW5pc2hlZCAtIHdhaXQgZm9yIGl0IHRvIGNvbXBsZXRlLgorCSAqLworCXNuZF9wb3dlcl9sb2NrKGNvZGVjLT5jYXJkKTsKKwlzbmRfcG93ZXJfd2FpdChjb2RlYy0+Y2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKKwlzbmRfcG93ZXJfdW5sb2NrKGNvZGVjLT5jYXJkKTsKKworCS8qIHdlJ3JlIGdvaW5nIHRvIGJsb2NrIHVzZXJzcGFjZSB0b3VjaGluZyB1cyB1bnRpbCByZXN1bWUgY29tcGxldGVzICovCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjb2RlYy0+Y2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QzaG90KTsKKwogCS8qIG11dGUgYW55IGFjdGl2ZSBEQUMncyAqLwotCWZvcihpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpOworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaTsKIAkJaWYgKGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUgJiYgZGFpLT5wbGF5YmFjay5hY3RpdmUpCiAJCQlkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGRhaSwgMSk7CiAJfQpAQCAtNjUyLDggKzY2MSw4IEBACiAJaWYgKG1hY2hpbmUtPnN1c3BlbmRfcHJlKQogCQltYWNoaW5lLT5zdXNwZW5kX3ByZShwZGV2LCBzdGF0ZSk7CiAKLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+c3VzcGVuZCAmJiBjcHVfZGFpLT50eXBlICE9IFNORF9TT0NfREFJX0FDOTcpCiAJCQljcHVfZGFpLT5zdXNwZW5kKHBkZXYsIGNwdV9kYWkpOwogCQlpZiAocGxhdGZvcm0tPnN1c3BlbmQpCkBAIC02NjIsOSArNjcxLDkgQEAKIAogCS8qIGNsb3NlIGFueSB3YWl0aW5nIHN0cmVhbXMgYW5kIHNhdmUgc3RhdGUgKi8KIAlydW5fZGVsYXllZF93b3JrKCZzb2NkZXYtPmRlbGF5ZWRfd29yayk7Ci0JY29kZWMtPnN1c3BlbmRfZGFwbV9zdGF0ZSA9IGNvZGVjLT5kYXBtX3N0YXRlOworCWNvZGVjLT5zdXNwZW5kX2JpYXNfbGV2ZWwgPSBjb2RlYy0+Ymlhc19sZXZlbDsKIAotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgewogCQljaGFyICpzdHJlYW0gPSBjb2RlYy0+ZGFpW2ldLnBsYXliYWNrLnN0cmVhbV9uYW1lOwogCQlpZiAoc3RyZWFtICE9IE5VTEwpCiAJCQlzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KGNvZGVjLCBzdHJlYW0sCkBAIC02NzgsOCArNjg3LDggQEAKIAlpZiAoY29kZWNfZGV2LT5zdXNwZW5kKQogCQljb2RlY19kZXYtPnN1c3BlbmQocGRldiwgc3RhdGUpOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5zdXNwZW5kICYmIGNwdV9kYWktPnR5cGUgPT0gU05EX1NPQ19EQUlfQUM5NykKIAkJCWNwdV9kYWktPnN1c3BlbmQocGRldiwgY3B1X2RhaSk7CiAJfQpAQCAtNjkwLDIxICs2OTksMzIgQEAKIAlyZXR1cm4gMDsKIH0KIAotLyogcG93ZXJzIHVwIGF1ZGlvIHN1YnN5c3RlbSBhZnRlciBhIHN1c3BlbmQgKi8KLXN0YXRpYyBpbnQgc29jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorLyogZGVmZXJyZWQgcmVzdW1lIHdvcmssIHNvIHJlc3VtZSBjYW4gY29tcGxldGUgYmVmb3JlIHdlIGZpbmlzaGVkCisgKiBzZXR0aW5nIG91ciBjb2RlYyBiYWNrIHVwLCB3aGljaCBjYW4gYmUgdmVyeSBzbG93IG9uIEkyQworICovCitzdGF0aWMgdm9pZCBzb2NfcmVzdW1lX2RlZmVycmVkKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKLSAJc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKLSAJc3RydWN0IHNuZF9zb2NfbWFjaGluZSAqbWFjaGluZSA9IHNvY2Rldi0+bWFjaGluZTsKLSAJc3RydWN0IHNuZF9zb2NfcGxhdGZvcm0gKnBsYXRmb3JtID0gc29jZGV2LT5wbGF0Zm9ybTsKLSAJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKKwlzdHJ1Y3Qgc25kX3NvY19kZXZpY2UgKnNvY2RldiA9IGNvbnRhaW5lcl9vZih3b3JrLAorCQkJCQkJICAgICBzdHJ1Y3Qgc25kX3NvY19kZXZpY2UsCisJCQkJCQkgICAgIGRlZmVycmVkX3Jlc3VtZV93b3JrKTsKKwlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOworCXN0cnVjdCBzbmRfc29jX3BsYXRmb3JtICpwbGF0Zm9ybSA9IHNvY2Rldi0+cGxhdGZvcm07CisJc3RydWN0IHNuZF9zb2NfY29kZWNfZGV2aWNlICpjb2RlY19kZXYgPSBzb2NkZXYtPmNvZGVjX2RldjsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSB0b19wbGF0Zm9ybV9kZXZpY2Uoc29jZGV2LT5kZXYpOwogCWludCBpOwogCisJLyogb3VyIHBvd2VyIHN0YXRlIGlzIHN0aWxsIFNORFJWX0NUTF9QT1dFUl9EM2hvdCBmcm9tIHN1c3BlbmQgdGltZSwKKwkgKiBzbyB1c2Vyc3BhY2UgYXBwcyBhcmUgYmxvY2tlZCBmcm9tIHRvdWNoaW5nIHVzCisJICovCisKKwlkZXZfaW5mbyhzb2NkZXYtPmRldiwgInN0YXJ0aW5nIHJlc3VtZSB3b3JrXG4iKTsKKwogCWlmIChtYWNoaW5lLT5yZXN1bWVfcHJlKQogCQltYWNoaW5lLT5yZXN1bWVfcHJlKHBkZXYpOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZXN1bWUgJiYgY3B1X2RhaS0+dHlwZSA9PSBTTkRfU09DX0RBSV9BQzk3KQogCQkJY3B1X2RhaS0+cmVzdW1lKHBkZXYsIGNwdV9kYWkpOwogCX0KQEAgLTcxMiw4ICs3MzIsOCBAQAogCWlmIChjb2RlY19kZXYtPnJlc3VtZSkKIAkJY29kZWNfZGV2LT5yZXN1bWUocGRldik7CiAKLQlmb3IoaSA9IDA7IGkgPCBjb2RlYy0+bnVtX2RhaTsgaSsrKSB7Ci0JCWNoYXIqIHN0cmVhbSA9IGNvZGVjLT5kYWlbaV0ucGxheWJhY2suc3RyZWFtX25hbWU7CisJZm9yIChpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwkJY2hhciAqc3RyZWFtID0gY29kZWMtPmRhaVtpXS5wbGF5YmFjay5zdHJlYW1fbmFtZTsKIAkJaWYgKHN0cmVhbSAhPSBOVUxMKQogCQkJc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudChjb2RlYywgc3RyZWFtLAogCQkJCVNORF9TT0NfREFQTV9TVFJFQU1fUkVTVU1FKTsKQEAgLTcyMywxNSArNzQzLDE1IEBACiAJCQkJU05EX1NPQ19EQVBNX1NUUkVBTV9SRVNVTUUpOwogCX0KIAotCS8qIHVubXV0ZSBhbnkgYWN0aXZlIERBQydzICovCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY29kZWNfZGFpICpkYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jb2RlY19kYWk7CisJLyogdW5tdXRlIGFueSBhY3RpdmUgREFDcyAqLworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaTsKIAkJaWYgKGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUgJiYgZGFpLT5wbGF5YmFjay5hY3RpdmUpCiAJCQlkYWktPmRhaV9vcHMuZGlnaXRhbF9tdXRlKGRhaSwgMCk7CiAJfQogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJZm9yIChpID0gMDsgaSA8IG1hY2hpbmUtPm51bV9saW5rczsgaSsrKSB7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZXN1bWUgJiYgY3B1X2RhaS0+dHlwZSAhPSBTTkRfU09DX0RBSV9BQzk3KQogCQkJY3B1X2RhaS0+cmVzdW1lKHBkZXYsIGNwdV9kYWkpOwogCQlpZiAocGxhdGZvcm0tPnJlc3VtZSkKQEAgLTc0MSw2ICs3NjEsMjIgQEAKIAlpZiAobWFjaGluZS0+cmVzdW1lX3Bvc3QpCiAJCW1hY2hpbmUtPnJlc3VtZV9wb3N0KHBkZXYpOwogCisJZGV2X2luZm8oc29jZGV2LT5kZXYsICJyZXN1bWUgd29yayBjb21wbGV0ZWRcbiIpOworCisJLyogdXNlcnNwYWNlIGNhbiBhY2Nlc3MgdXMgbm93IHdlIGFyZSBiYWNrIGFzIHdlIHdlcmUgYmVmb3JlICovCisJc25kX3Bvd2VyX2NoYW5nZV9zdGF0ZShjb2RlYy0+Y2FyZCwgU05EUlZfQ1RMX1BPV0VSX0QwKTsKK30KKworLyogcG93ZXJzIHVwIGF1ZGlvIHN1YnN5c3RlbSBhZnRlciBhIHN1c3BlbmQgKi8KK3N0YXRpYyBpbnQgc29jX3Jlc3VtZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCXN0cnVjdCBzbmRfc29jX2RldmljZSAqc29jZGV2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7CisKKwlkZXZfaW5mbyhzb2NkZXYtPmRldiwgInNjaGVkdWxpbmcgcmVzdW1lIHdvcmtcbiIpOworCisJaWYgKCFzY2hlZHVsZV93b3JrKCZzb2NkZXYtPmRlZmVycmVkX3Jlc3VtZV93b3JrKSkKKwkJZGV2X2Vycihzb2NkZXYtPmRldiwgIndvcmsgaXRlbSBtYXkgYmUgbG9zdFxuIik7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtNzYwLDMzICs3OTYsMzggQEAKIAogCWlmIChtYWNoaW5lLT5wcm9iZSkgewogCQlyZXQgPSBtYWNoaW5lLT5wcm9iZShwZGV2KTsKLQkJaWYocmV0IDwgMCkKKwkJaWYgKHJldCA8IDApCiAJCQlyZXR1cm4gcmV0OwogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewotCQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKKwkJc3RydWN0IHNuZF9zb2NfZGFpICpjcHVfZGFpID0gbWFjaGluZS0+ZGFpX2xpbmtbaV0uY3B1X2RhaTsKIAkJaWYgKGNwdV9kYWktPnByb2JlKSB7Ci0JCQlyZXQgPSBjcHVfZGFpLT5wcm9iZShwZGV2KTsKLQkJCWlmKHJldCA8IDApCisJCQlyZXQgPSBjcHVfZGFpLT5wcm9iZShwZGV2LCBjcHVfZGFpKTsKKwkJCWlmIChyZXQgPCAwKQogCQkJCWdvdG8gY3B1X2RhaV9lcnI7CiAJCX0KIAl9CiAKIAlpZiAoY29kZWNfZGV2LT5wcm9iZSkgewogCQlyZXQgPSBjb2RlY19kZXYtPnByb2JlKHBkZXYpOwotCQlpZihyZXQgPCAwKQorCQlpZiAocmV0IDwgMCkKIAkJCWdvdG8gY3B1X2RhaV9lcnI7CiAJfQogCiAJaWYgKHBsYXRmb3JtLT5wcm9iZSkgewogCQlyZXQgPSBwbGF0Zm9ybS0+cHJvYmUocGRldik7Ci0JCWlmKHJldCA8IDApCisJCWlmIChyZXQgPCAwKQogCQkJZ290byBwbGF0Zm9ybV9lcnI7CiAJfQogCiAJLyogREFQTSBzdHJlYW0gd29yayAqLwogCUlOSVRfREVMQVlFRF9XT1JLKCZzb2NkZXYtPmRlbGF5ZWRfd29yaywgY2xvc2VfZGVsYXllZF93b3JrKTsKKyNpZmRlZiBDT05GSUdfUE0KKwkvKiBkZWZlcnJlZCByZXN1bWUgd29yayAqLworCUlOSVRfV09SSygmc29jZGV2LT5kZWZlcnJlZF9yZXN1bWVfd29yaywgc29jX3Jlc3VtZV9kZWZlcnJlZCk7CisjZW5kaWYKKwogCXJldHVybiAwOwogCiBwbGF0Zm9ybV9lcnI6CkBAIC03OTUsOSArODM2LDkgQEAKIAogY3B1X2RhaV9lcnI6CiAJZm9yIChpLS07IGkgPj0gMDsgaS0tKSB7Ci0JCXN0cnVjdCBzbmRfc29jX2NwdV9kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOworCQlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNwdV9kYWkgPSBtYWNoaW5lLT5kYWlfbGlua1tpXS5jcHVfZGFpOwogCQlpZiAoY3B1X2RhaS0+cmVtb3ZlKQotCQkJY3B1X2RhaS0+cmVtb3ZlKHBkZXYpOworCQkJY3B1X2RhaS0+cmVtb3ZlKHBkZXYsIGNwdV9kYWkpOwogCX0KIAogCWlmIChtYWNoaW5lLT5yZW1vdmUpCkBAIC04MjQsOSArODY1LDkgQEAKIAkJY29kZWNfZGV2LT5yZW1vdmUocGRldik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKLQkJc3RydWN0IHNuZF9zb2NfY3B1X2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CisJCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IG1hY2hpbmUtPmRhaV9saW5rW2ldLmNwdV9kYWk7CiAJCWlmIChjcHVfZGFpLT5yZW1vdmUpCi0JCQljcHVfZGFpLT5yZW1vdmUocGRldik7CisJCQljcHVfZGFpLT5yZW1vdmUocGRldiwgY3B1X2RhaSk7CiAJfQogCiAJaWYgKG1hY2hpbmUtPnJlbW92ZSkKQEAgLTg1Miw4ICs4OTMsOCBAQAogCXN0cnVjdCBzbmRfc29jX2RhaV9saW5rICpkYWlfbGluaywgaW50IG51bSkKIHsKIAlzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMgPSBzb2NkZXYtPmNvZGVjOwotCXN0cnVjdCBzbmRfc29jX2NvZGVjX2RhaSAqY29kZWNfZGFpID0gZGFpX2xpbmstPmNvZGVjX2RhaTsKLQlzdHJ1Y3Qgc25kX3NvY19jcHVfZGFpICpjcHVfZGFpID0gZGFpX2xpbmstPmNwdV9kYWk7CisJc3RydWN0IHNuZF9zb2NfZGFpICpjb2RlY19kYWkgPSBkYWlfbGluay0+Y29kZWNfZGFpOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY3B1X2RhaSA9IGRhaV9saW5rLT5jcHVfZGFpOwogCXN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQ7CiAJc3RydWN0IHNuZF9wY20gKnBjbTsKIAljaGFyIG5ld19uYW1lWzY0XTsKQEAgLTg2OCw3ICs5MDksNyBAQAogCWNvZGVjX2RhaS0+Y29kZWMgPSBzb2NkZXYtPmNvZGVjOwogCiAJLyogY2hlY2sgY2xpZW50IGFuZCBpbnRlcmZhY2UgaHcgY2FwYWJpbGl0aWVzICovCi0Jc3ByaW50ZihuZXdfbmFtZSwgIiVzICVzLSVzLSVkIixkYWlfbGluay0+c3RyZWFtX25hbWUsIGNvZGVjX2RhaS0+bmFtZSwKKwlzcHJpbnRmKG5ld19uYW1lLCAiJXMgJXMtJXMtJWQiLCBkYWlfbGluay0+c3RyZWFtX25hbWUsIGNvZGVjX2RhaS0+bmFtZSwKIAkJZ2V0X2RhaV9uYW1lKGNwdV9kYWktPnR5cGUpLCBudW0pOwogCiAJaWYgKGNvZGVjX2RhaS0+cGxheWJhY2suY2hhbm5lbHNfbWluKQpAQCAtODc5LDcgKzkyMCw4IEBACiAJcmV0ID0gc25kX3BjbV9uZXcoY29kZWMtPmNhcmQsIG5ld19uYW1lLCBjb2RlYy0+cGNtX2RldnMrKywgcGxheWJhY2ssCiAJCWNhcHR1cmUsICZwY20pOwogCWlmIChyZXQgPCAwKSB7Ci0JCXByaW50ayhLRVJOX0VSUiAiYXNvYzogY2FuJ3QgY3JlYXRlIHBjbSBmb3IgY29kZWMgJXNcbiIsIGNvZGVjLT5uYW1lKTsKKwkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBjYW4ndCBjcmVhdGUgcGNtIGZvciBjb2RlYyAlc1xuIiwKKwkJCWNvZGVjLT5uYW1lKTsKIAkJa2ZyZWUocnRkKTsKIAkJcmV0dXJuIHJldDsKIAl9CkBAIC05MjgsOCArOTcwLDkgQEAKIAkJc3RlcCA9IGNvZGVjLT5yZWdfY2FjaGVfc3RlcDsKIAogCWNvdW50ICs9IHNwcmludGYoYnVmLCAiJXMgcmVnaXN0ZXJzXG4iLCBjb2RlYy0+bmFtZSk7Ci0JZm9yKGkgPSAwOyBpIDwgY29kZWMtPnJlZ19jYWNoZV9zaXplOyBpICs9IHN0ZXApCi0JCWNvdW50ICs9IHNwcmludGYoYnVmICsgY291bnQsICIlMng6ICU0eFxuIiwgaSwgY29kZWMtPnJlYWQoY29kZWMsIGkpKTsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPnJlZ19jYWNoZV9zaXplOyBpICs9IHN0ZXApCisJCWNvdW50ICs9IHNwcmludGYoYnVmICsgY291bnQsICIlMng6ICU0eFxuIiwgaSwKKwkJCWNvZGVjLT5yZWFkKGNvZGVjLCBpKSk7CiAKIAlyZXR1cm4gY291bnQ7CiB9CkBAIC0xMDcyLDcgKzExMTUsNyBAQAogCXN0cm5jcHkoY29kZWMtPmNhcmQtPmRyaXZlciwgY29kZWMtPm5hbWUsIHNpemVvZihjb2RlYy0+Y2FyZC0+ZHJpdmVyKSk7CiAKIAkvKiBjcmVhdGUgdGhlIHBjbXMgKi8KLQlmb3IoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBtYWNoaW5lLT5udW1fbGlua3M7IGkrKykgewogCQlyZXQgPSBzb2NfbmV3X3BjbShzb2NkZXYsICZtYWNoaW5lLT5kYWlfbGlua1tpXSwgaSk7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQlwcmludGsoS0VSTl9FUlIgImFzb2M6IGNhbid0IGNyZWF0ZSBwY20gJXNcbiIsCkBAIC0xMTAyLDcgKzExNDUsNyBAQAogCXN0cnVjdCBzbmRfc29jX21hY2hpbmUgKm1hY2hpbmUgPSBzb2NkZXYtPm1hY2hpbmU7CiAJaW50IHJldCA9IDAsIGksIGFjOTcgPSAwLCBlcnIgPSAwOwogCi0JZm9yKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgbWFjaGluZS0+bnVtX2xpbmtzOyBpKyspIHsKIAkJaWYgKHNvY2Rldi0+bWFjaGluZS0+ZGFpX2xpbmtbaV0uaW5pdCkgewogCQkJZXJyID0gc29jZGV2LT5tYWNoaW5lLT5kYWlfbGlua1tpXS5pbml0KGNvZGVjKTsKIAkJCWlmIChlcnIgPCAwKSB7CkBAIC0xMTExLDcgKzExNTQsNyBAQAogCQkJCWNvbnRpbnVlOwogCQkJfQogCQl9Ci0JCWlmIChzb2NkZXYtPm1hY2hpbmUtPmRhaV9saW5rW2ldLmNvZGVjX2RhaS0+dHlwZSA9PSAKKwkJaWYgKHNvY2Rldi0+bWFjaGluZS0+ZGFpX2xpbmtbaV0uY29kZWNfZGFpLT50eXBlID09CiAJCQlTTkRfU09DX0RBSV9BQzk3X0JVUykKIAkJCWFjOTcgPSAxOwogCX0KQEAgLTExMjIsNyArMTE2NSw3IEBACiAKIAlyZXQgPSBzbmRfY2FyZF9yZWdpc3Rlcihjb2RlYy0+Y2FyZCk7CiAJaWYgKHJldCA8IDApIHsKLQkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBmYWlsZWQgdG8gcmVnaXN0ZXIgc291bmRjYXJkIGZvciBjb2RlYyAlc1xuIiwKKwkJcHJpbnRrKEtFUk5fRVJSICJhc29jOiBmYWlsZWQgdG8gcmVnaXN0ZXIgc291bmRjYXJkIGZvciAlc1xuIiwKIAkJCQljb2RlYy0+bmFtZSk7CiAJCWdvdG8gb3V0OwogCX0KQEAgLTExNDYsNyArMTE4OSw3IEBACiAKIAllcnIgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoc29jZGV2LT5kZXYsICZkZXZfYXR0cl9jb2RlY19yZWcpOwogCWlmIChlcnIgPCAwKQotCQlwcmludGsoS0VSTl9XQVJOSU5HICJhc29jOiBmYWlsZWQgdG8gYWRkIGNvZGVjIHN5c2ZzIGVudHJpZXNcbiIpOworCQlwcmludGsoS0VSTl9XQVJOSU5HICJhc29jOiBmYWlsZWQgdG8gYWRkIGNvZGVjIHN5c2ZzIGZpbGVzXG4iKTsKIAogCW11dGV4X3VubG9jaygmY29kZWMtPm11dGV4KTsKIApAQCAtMTE2NiwxMyArMTIwOSwxMyBAQAogewogCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNvY2Rldi0+Y29kZWM7CiAjaWZkZWYgQ09ORklHX1NORF9TT0NfQUM5N19CVVMKLQlzdHJ1Y3Qgc25kX3NvY19jb2RlY19kYWkgKmNvZGVjX2RhaTsKKwlzdHJ1Y3Qgc25kX3NvY19kYWkgKmNvZGVjX2RhaTsKIAlpbnQgaTsKICNlbmRpZgogCiAJbXV0ZXhfbG9jaygmY29kZWMtPm11dGV4KTsKICNpZmRlZiBDT05GSUdfU05EX1NPQ19BQzk3X0JVUwotCWZvcihpID0gMDsgaSA8IGNvZGVjLT5udW1fZGFpOyBpKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgY29kZWMtPm51bV9kYWk7IGkrKykgewogCQljb2RlY19kYWkgPSAmY29kZWMtPmRhaVtpXTsKIAkJaWYgKGNvZGVjX2RhaS0+dHlwZSA9PSBTTkRfU09DX0RBSV9BQzk3X0JVUyAmJiBjb2RlYy0+YWM5NykgewogCQkJc29jX2FjOTdfZGV2X3VucmVnaXN0ZXIoY29kZWMpOwpAQCAtMTI4Miw3ICsxMzI1LDggQEAKIAlmb3IgKGJpdG1hc2sgPSAxOyBiaXRtYXNrIDwgZS0+bWFzazsgYml0bWFzayA8PD0gMSkKIAkJOwogCXZhbCA9IHNuZF9zb2NfcmVhZChjb2RlYywgZS0+cmVnKTsKLQl1Y29udHJvbC0+dmFsdWUuZW51bWVyYXRlZC5pdGVtWzBdID0gKHZhbCA+PiBlLT5zaGlmdF9sKSAmIChiaXRtYXNrIC0gMSk7CisJdWNvbnRyb2wtPnZhbHVlLmVudW1lcmF0ZWQuaXRlbVswXQorCQk9ICh2YWwgPj4gZS0+c2hpZnRfbCkgJiAoYml0bWFzayAtIDEpOwogCWlmIChlLT5zaGlmdF9sICE9IGUtPnNoaWZ0X3IpCiAJCXVjb250cm9sLT52YWx1ZS5lbnVtZXJhdGVkLml0ZW1bMV0gPQogCQkJKHZhbCA+PiBlLT5zaGlmdF9yKSAmIChiaXRtYXNrIC0gMSk7CkBAIC0xNTc2LDcgKzE2MjAsOCBAQAogCXZhbCA9IHZhbCA8PCBzaGlmdDsKIAl2YWwyID0gdmFsMiA8PCBzaGlmdDsKIAotCWlmICgoZXJyID0gc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgcmVnLCB2YWxfbWFzaywgdmFsKSkgPCAwKQorCWVyciA9IHNuZF9zb2NfdXBkYXRlX2JpdHMoY29kZWMsIHJlZywgdmFsX21hc2ssIHZhbCk7CisJaWYgKGVyciA8IDApCiAJCXJldHVybiBlcnI7CiAKIAllcnIgPSBzbmRfc29jX3VwZGF0ZV9iaXRzKGNvZGVjLCByZWcyLCB2YWxfbWFzaywgdmFsMik7CkBAIC0xNTg0LDYgKzE2MjksMjA0IEBACiB9CiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX3B1dF92b2xzd18ycik7CiAKKy8qKgorICogc25kX3NvY19pbmZvX3ZvbHN3X3M4IC0gc2lnbmVkIG1peGVyIGluZm8gY2FsbGJhY2sKKyAqIEBrY29udHJvbDogbWl4ZXIgY29udHJvbAorICogQHVpbmZvOiBjb250cm9sIGVsZW1lbnQgaW5mb3JtYXRpb24KKyAqCisgKiBDYWxsYmFjayB0byBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IGEgc2lnbmVkIG1peGVyIGNvbnRyb2wuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgorICovCitpbnQgc25kX3NvY19pbmZvX3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1faW5mbyAqdWluZm8pCit7CisJaW50IG1heCA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDE2KSAmIDB4ZmYpOworCWludCBtaW4gPSAoc2lnbmVkIGNoYXIpKChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmKTsKKworCXVpbmZvLT50eXBlID0gU05EUlZfQ1RMX0VMRU1fVFlQRV9JTlRFR0VSOworCXVpbmZvLT5jb3VudCA9IDI7CisJdWluZm8tPnZhbHVlLmludGVnZXIubWluID0gMDsKKwl1aW5mby0+dmFsdWUuaW50ZWdlci5tYXggPSBtYXgtbWluOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19pbmZvX3ZvbHN3X3M4KTsKKworLyoqCisgKiBzbmRfc29jX2dldF92b2xzd19zOCAtIHNpZ25lZCBtaXhlciBnZXQgY2FsbGJhY2sKKyAqIEBrY29udHJvbDogbWl4ZXIgY29udHJvbAorICogQHVpbmZvOiBjb250cm9sIGVsZW1lbnQgaW5mb3JtYXRpb24KKyAqCisgKiBDYWxsYmFjayB0byBnZXQgdGhlIHZhbHVlIG9mIGEgc2lnbmVkIG1peGVyIGNvbnRyb2wuCisgKgorICogUmV0dXJucyAwIGZvciBzdWNjZXNzLgorICovCitpbnQgc25kX3NvY19nZXRfdm9sc3dfczgoc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsCisJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpCit7CisJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOworCWludCByZWcgPSBrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSAmIDB4ZmY7CisJaW50IG1pbiA9IChzaWduZWQgY2hhcikoKGtjb250cm9sLT5wcml2YXRlX3ZhbHVlID4+IDI0KSAmIDB4ZmYpOworCWludCB2YWwgPSBzbmRfc29jX3JlYWQoY29kZWMsIHJlZyk7CisKKwl1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSA9CisJCSgoc2lnbmVkIGNoYXIpKHZhbCAmIDB4ZmYpKS1taW47CisJdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0gPQorCQkoKHNpZ25lZCBjaGFyKSgodmFsID4+IDgpICYgMHhmZikpLW1pbjsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZ2V0X3ZvbHN3X3M4KTsKKworLyoqCisgKiBzbmRfc29jX3B1dF92b2xzd19zZ24gLSBzaWduZWQgbWl4ZXIgcHV0IGNhbGxiYWNrCisgKiBAa2NvbnRyb2w6IG1peGVyIGNvbnRyb2wKKyAqIEB1aW5mbzogY29udHJvbCBlbGVtZW50IGluZm9ybWF0aW9uCisgKgorICogQ2FsbGJhY2sgdG8gc2V0IHRoZSB2YWx1ZSBvZiBhIHNpZ25lZCBtaXhlciBjb250cm9sLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KKyAqLworaW50IHNuZF9zb2NfcHV0X3ZvbHN3X3M4KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLAorCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQoreworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYyA9IHNuZF9rY29udHJvbF9jaGlwKGtjb250cm9sKTsKKwlpbnQgcmVnID0ga2NvbnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOworCWludCBtaW4gPSAoc2lnbmVkIGNoYXIpKChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSA+PiAyNCkgJiAweGZmKTsKKwl1bnNpZ25lZCBzaG9ydCB2YWw7CisKKwl2YWwgPSAodWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0rbWluKSAmIDB4ZmY7CisJdmFsIHw9ICgodWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMV0rbWluKSAmIDB4ZmYpIDw8IDg7CisKKwlyZXR1cm4gc25kX3NvY191cGRhdGVfYml0cyhjb2RlYywgcmVnLCAweGZmZmYsIHZhbCk7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX3B1dF92b2xzd19zOCk7CisKKy8qKgorICogc25kX3NvY19kYWlfc2V0X3N5c2NsayAtIGNvbmZpZ3VyZSBEQUkgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4KKyAqIEBkYWk6IERBSQorICogQGNsa19pZDogREFJIHNwZWNpZmljIGNsb2NrIElECisgKiBAZnJlcTogbmV3IGNsb2NrIGZyZXF1ZW5jeSBpbiBIegorICogQGRpcjogbmV3IGNsb2NrIGRpcmVjdGlvbiAtIGlucHV0L291dHB1dC4KKyAqCisgKiBDb25maWd1cmVzIHRoZSBEQUkgbWFzdGVyIChNQ0xLKSBvciBzeXN0ZW0gKFNZU0NMSykgY2xvY2tpbmcuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgY2xrX2lkLAorCXVuc2lnbmVkIGludCBmcmVxLCBpbnQgZGlyKQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X3N5c2NsaykKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKGRhaSwgY2xrX2lkLCBmcmVxLCBkaXIpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfc3lzY2xrKTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9zZXRfY2xrZGl2IC0gY29uZmlndXJlIERBSSBjbG9jayBkaXZpZGVycy4KKyAqIEBkYWk6IERBSQorICogQGNsa19pZDogREFJIHNwZWNpZmljIGNsb2NrIGRpdmlkZXIgSUQKKyAqIEBkaXY6IG5ldyBjbG9jayBkaXZpc29yLgorICoKKyAqIENvbmZpZ3VyZXMgdGhlIGNsb2NrIGRpdmlkZXJzLiBUaGlzIGlzIHVzZWQgdG8gZGVyaXZlIHRoZSBiZXN0IERBSSBiaXQgYW5kCisgKiBmcmFtZSBjbG9ja3MgZnJvbSB0aGUgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4gSXQncyBiZXN0IHRvIHNldCB0aGUgREFJIGJpdAorICogYW5kIGZyYW1lIGNsb2NrcyBhcyBsb3cgYXMgcG9zc2libGUgdG8gc2F2ZSBzeXN0ZW0gcG93ZXIuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfY2xrZGl2KHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLAorCWludCBkaXZfaWQsIGludCBkaXYpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfY2xrZGl2KQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF9jbGtkaXYoZGFpLCBkaXZfaWQsIGRpdik7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9jbGtkaXYpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF9wbGwgLSBjb25maWd1cmUgREFJIFBMTC4KKyAqIEBkYWk6IERBSQorICogQHBsbF9pZDogREFJIHNwZWNpZmljIFBMTCBJRAorICogQGZyZXFfaW46IFBMTCBpbnB1dCBjbG9jayBmcmVxdWVuY3kgaW4gSHoKKyAqIEBmcmVxX291dDogcmVxdWVzdGVkIFBMTCBvdXRwdXQgY2xvY2sgZnJlcXVlbmN5IGluIEh6CisgKgorICogQ29uZmlndXJlcyBhbmQgZW5hYmxlcyBQTEwgdG8gZ2VuZXJhdGUgb3V0cHV0IGNsb2NrIGJhc2VkIG9uIGlucHV0IGNsb2NrLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X3BsbChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwKKwlpbnQgcGxsX2lkLCB1bnNpZ25lZCBpbnQgZnJlcV9pbiwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQoreworCWlmIChkYWktPmRhaV9vcHMuc2V0X3BsbCkKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5zZXRfcGxsKGRhaSwgcGxsX2lkLCBmcmVxX2luLCBmcmVxX291dCk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9wbGwpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF9mbXQgLSBjb25maWd1cmUgREFJIGhhcmR3YXJlIGF1ZGlvIGZvcm1hdC4KKyAqIEBkYWk6IERBSQorICogQGNsa19pZDogREFJIHNwZWNpZmljIGNsb2NrIElECisgKiBAZm10OiBTTkRfU09DX0RBSUZNVF8gZm9ybWF0IHZhbHVlLgorICoKKyAqIENvbmZpZ3VyZXMgdGhlIERBSSBoYXJkd2FyZSBmb3JtYXQgYW5kIGNsb2NraW5nLgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50IGZtdCkKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9mbXQpCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X2ZtdChkYWksIGZtdCk7CisJZWxzZQorCQlyZXR1cm4gLUVJTlZBTDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFpX3NldF9mbXQpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF90ZG1fc2xvdCAtIGNvbmZpZ3VyZSBEQUkgVERNLgorICogQGRhaTogREFJCisgKiBAbWFzazogREFJIHNwZWNpZmljIG1hc2sgcmVwcmVzZW50aW5nIHVzZWQgc2xvdHMuCisgKiBAc2xvdHM6IE51bWJlciBvZiBzbG90cyBpbiB1c2UuCisgKgorICogQ29uZmlndXJlcyBhIERBSSBmb3IgVERNIG9wZXJhdGlvbi4gQm90aCBtYXNrIGFuZCBzbG90cyBhcmUgY29kZWMgYW5kIERBSQorICogc3BlY2lmaWMuCisgKi8KK2ludCBzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3Qoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksCisJdW5zaWduZWQgaW50IG1hc2ssIGludCBzbG90cykKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLnNldF9zeXNjbGspCisJCXJldHVybiBkYWktPmRhaV9vcHMuc2V0X3RkbV9zbG90KGRhaSwgbWFzaywgc2xvdHMpOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhaV9zZXRfdGRtX3Nsb3QpOworCisvKioKKyAqIHNuZF9zb2NfZGFpX3NldF90cmlzdGF0ZSAtIGNvbmZpZ3VyZSBEQUkgc3lzdGVtIG9yIG1hc3RlciBjbG9jay4KKyAqIEBkYWk6IERBSQorICogQHRyaXN0YXRlOiB0cmlzdGF0ZSBlbmFibGUKKyAqCisgKiBUcmlzdGF0ZXMgdGhlIERBSSBzbyB0aGF0IG90aGVycyBjYW4gdXNlIGl0LgorICovCitpbnQgc25kX3NvY19kYWlfc2V0X3RyaXN0YXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgdHJpc3RhdGUpCit7CisJaWYgKGRhaS0+ZGFpX29wcy5zZXRfc3lzY2xrKQorCQlyZXR1cm4gZGFpLT5kYWlfb3BzLnNldF90cmlzdGF0ZShkYWksIHRyaXN0YXRlKTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfc2V0X3RyaXN0YXRlKTsKKworLyoqCisgKiBzbmRfc29jX2RhaV9kaWdpdGFsX211dGUgLSBjb25maWd1cmUgREFJIHN5c3RlbSBvciBtYXN0ZXIgY2xvY2suCisgKiBAZGFpOiBEQUkKKyAqIEBtdXRlOiBtdXRlIGVuYWJsZQorICoKKyAqIE11dGVzIHRoZSBEQUkgREFDLgorICovCitpbnQgc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgbXV0ZSkKK3sKKwlpZiAoZGFpLT5kYWlfb3BzLmRpZ2l0YWxfbXV0ZSkKKwkJcmV0dXJuIGRhaS0+ZGFpX29wcy5kaWdpdGFsX211dGUoZGFpLCBtdXRlKTsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYWlfZGlnaXRhbF9tdXRlKTsKKwogc3RhdGljIGludCBfX2RldmluaXQgc25kX3NvY19pbml0KHZvaWQpCiB7CiAJcHJpbnRrKEtFUk5fSU5GTyAiQVNvQyB2ZXJzaW9uICVzXG4iLCBTTkRfU09DX1ZFUlNJT04pOwpAQCAtMTU5Miw3ICsxODM1LDcgQEAKIAogc3RhdGljIHZvaWQgc25kX3NvY19leGl0KHZvaWQpCiB7Ci0gCXBsYXRmb3JtX2RyaXZlcl91bnJlZ2lzdGVyKCZzb2NfZHJpdmVyKTsKKwlwbGF0Zm9ybV9kcml2ZXJfdW5yZWdpc3Rlcigmc29jX2RyaXZlcik7CiB9CiAKIG1vZHVsZV9pbml0KHNuZF9zb2NfaW5pdCk7CmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mvc29jLWRhcG0uYyBiL3NvdW5kL3NvYy9zb2MtZGFwbS5jCmluZGV4IGFmMzMyNmMuLjJjODcwNjEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9zb2MtZGFwbS5jCisrKyBiL3NvdW5kL3NvYy9zb2MtZGFwbS5jCkBAIC0xMCwxMSArMTAsNiBAQAogICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlICBMaWNlbnNlLCBvciAoYXQgeW91cgogICogIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAgKgotICogIFJldmlzaW9uIGhpc3RvcnkKLSAqICAgIDEydGggQXVnIDIwMDUgICBJbml0aWFsIHZlcnNpb24uCi0gKiAgICAyNXRoIE9jdCAyMDA1ICAgSW1wbGVtZW50ZWQgcGF0aCBwb3dlciBkb21haW4uCi0gKiAgICAxOHRoIERlYyAyMDA1ICAgSW1wbGVtZW50ZWQgbWFjaGluZSBhbmQgc3RyZWFtIGxldmVsIHBvd2VyIGRvbWFpbi4KLSAqCiAgKiAgRmVhdHVyZXM6CiAgKiAgICBvIENoYW5nZXMgcG93ZXIgc3RhdHVzIG9mIGludGVybmFsIGNvZGVjIGJsb2NrcyBkZXBlbmRpbmcgb24gdGhlCiAgKiAgICAgIGR5bmFtaWMgY29uZmlndXJhdGlvbiBvZiBjb2RlYyBpbnRlcm5hbCBhdWRpbyBwYXRocyBhbmQgYWN0aXZlCkBAIC01MCwyMyArNDUsMTAgQEAKICNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+CiAKIC8qIGRlYnVnICovCi0jZGVmaW5lIERBUE1fREVCVUcgMAotI2lmIERBUE1fREVCVUcKKyNpZmRlZiBERUJVRwogI2RlZmluZSBkdW1wX2RhcG0oY29kZWMsIGFjdGlvbikgZGJnX2R1bXBfZGFwbShjb2RlYywgYWN0aW9uKQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pIHByaW50ayhmb3JtYXQsICMjIGFyZykKICNlbHNlCiAjZGVmaW5lIGR1bXBfZGFwbShjb2RlYywgYWN0aW9uKQotI2RlZmluZSBkYmcoZm9ybWF0LCBhcmcuLi4pCi0jZW5kaWYKLQotI2RlZmluZSBQT1BfREVCVUcgMAotI2lmIFBPUF9ERUJVRwotI2RlZmluZSBQT1BfVElNRSA1MDAgLyogNTAwIG1zZWNzIC0gY2hhbmdlIGlmIHBvcCBkZWJ1ZyBpcyB0b28gZmFzdCAqLwotI2RlZmluZSBwb3Bfd2FpdCh0aW1lKSBzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZShtc2Vjc190b19qaWZmaWVzKHRpbWUpKQotI2RlZmluZSBwb3BfZGJnKGZvcm1hdCwgYXJnLi4uKSBwcmludGsoZm9ybWF0LCAjIyBhcmcpOyBwb3Bfd2FpdChQT1BfVElNRSkKLSNlbHNlCi0jZGVmaW5lIHBvcF9kYmcoZm9ybWF0LCBhcmcuLi4pCi0jZGVmaW5lIHBvcF93YWl0KHRpbWUpCiAjZW5kaWYKIAogLyogZGFwbSBwb3dlciBzZXF1ZW5jZXMgLSBtYWtlIHRoaXMgcGVyIGNvZGVjIGluIHRoZSBmdXR1cmUgKi8KQEAgLTg1LDYgKzY3LDI4IEBACiBtb2R1bGVfcGFyYW0oZGFwbV9zdGF0dXMsIGludCwgMCk7CiBNT0RVTEVfUEFSTV9ERVNDKGRhcG1fc3RhdHVzLCAiZW5hYmxlIERQTSBzeXNmcyBlbnRyaWVzIik7CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcG9wX3RpbWU7CisKK3N0YXRpYyB2b2lkIHBvcF93YWl0KHZvaWQpCit7CisJaWYgKHBvcF90aW1lKQorCQlzY2hlZHVsZV90aW1lb3V0X3VuaW50ZXJydXB0aWJsZShtc2Vjc190b19qaWZmaWVzKHBvcF90aW1lKSk7Cit9CisKK3N0YXRpYyB2b2lkIHBvcF9kYmcoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcmdzOworCisJdmFfc3RhcnQoYXJncywgZm10KTsKKworCWlmIChwb3BfdGltZSkgeworCQl2cHJpbnRrKGZtdCwgYXJncyk7CisJCXBvcF93YWl0KCk7CisJfQorCisJdmFfZW5kKGFyZ3MpOworfQorCiAvKiBjcmVhdGUgYSBuZXcgZGFwbSB3aWRnZXQgKi8KIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKmRhcG1fY25ld193aWRnZXQoCiAJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKl93aWRnZXQpCkBAIC0yMjIsMTEgKzIyNiwxMiBAQAogCWNoYW5nZSA9IG9sZCAhPSBuZXc7CiAJaWYgKGNoYW5nZSkgewogCQlwb3BfZGJnKCJwb3AgdGVzdCAlcyA6ICVzIGluICVkIG1zXG4iLCB3aWRnZXQtPm5hbWUsCi0JCQl3aWRnZXQtPnBvd2VyID8gIm9uIiA6ICJvZmYiLCBQT1BfVElNRSk7CisJCQl3aWRnZXQtPnBvd2VyID8gIm9uIiA6ICJvZmYiLCBwb3BfdGltZSk7CiAJCXNuZF9zb2Nfd3JpdGUoY29kZWMsIHdpZGdldC0+cmVnLCBuZXcpOwotCQlwb3Bfd2FpdChQT1BfVElNRSk7CisJCXBvcF93YWl0KCk7CiAJfQotCWRiZygicmVnICV4IG9sZCAleCBuZXcgJXggY2hhbmdlICVkXG4iLCB3aWRnZXQtPnJlZywgb2xkLCBuZXcsIGNoYW5nZSk7CisJcHJfZGVidWcoInJlZyAleCBvbGQgJXggbmV3ICV4IGNoYW5nZSAlZFxuIiwgd2lkZ2V0LT5yZWcsCisJCSBvbGQsIG5ldywgY2hhbmdlKTsKIAlyZXR1cm4gY2hhbmdlOwogfQogCkBAIC00NDgsNiArNDUzLDI1IEBACiB9CiAKIC8qCisgKiBIYW5kbGVyIGZvciBnZW5lcmljIHJlZ2lzdGVyIG1vZGlmaWVyIHdpZGdldC4KKyAqLworaW50IGRhcG1fcmVnX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LAorCQkgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgaW50IGV2ZW50KQoreworCXVuc2lnbmVkIGludCB2YWw7CisKKwlpZiAoU05EX1NPQ19EQVBNX0VWRU5UX09OKGV2ZW50KSkKKwkJdmFsID0gdy0+b25fdmFsOworCWVsc2UKKwkJdmFsID0gdy0+b2ZmX3ZhbDsKKworCXNuZF9zb2NfdXBkYXRlX2JpdHMody0+Y29kZWMsIC0ody0+cmVnICsgMSksCisJCQkgICAgdy0+bWFzayA8PCB3LT5zaGlmdCwgdmFsIDw8IHctPnNoaWZ0KTsKKworCXJldHVybiAwOworfQorCisvKgogICogU2NhbiBlYWNoIGRhcG0gd2lkZ2V0IGZvciBjb21wbGV0ZSBhdWRpbyBwYXRoLgogICogQSBjb21wbGV0ZSBwYXRoIGlzIGEgcm91dGUgdGhhdCBoYXMgdmFsaWQgZW5kcG9pbnRzIGkuZS46LQogICoKQEAgLTU2NSw4ICs1ODksOCBAQAogCQkJLyogY2FsbCBhbnkgcG93ZXIgY2hhbmdlIGV2ZW50IGhhbmRsZXJzICovCiAJCQlpZiAocG93ZXJfY2hhbmdlKSB7CiAJCQkJaWYgKHctPmV2ZW50KSB7Ci0JCQkJCWRiZygicG93ZXIgJXMgZXZlbnQgZm9yICVzIGZsYWdzICV4XG4iLAotCQkJCQkJdy0+cG93ZXIgPyAib24iIDogIm9mZiIsIHctPm5hbWUsIHctPmV2ZW50X2ZsYWdzKTsKKwkJCQkJcHJfZGVidWcoInBvd2VyICVzIGV2ZW50IGZvciAlcyBmbGFncyAleFxuIiwKKwkJCQkJCSB3LT5wb3dlciA/ICJvbiIgOiAib2ZmIiwgdy0+bmFtZSwgdy0+ZXZlbnRfZmxhZ3MpOwogCQkJCQlpZiAocG93ZXIpIHsKIAkJCQkJCS8qIHBvd2VyIHVwIGV2ZW50ICovCiAJCQkJCQlpZiAody0+ZXZlbnRfZmxhZ3MgJiBTTkRfU09DX0RBUE1fUFJFX1BNVSkgewpAQCAtNjA4LDcgKzYzMiw3IEBACiAJcmV0dXJuIHJldDsKIH0KIAotI2lmIERBUE1fREVCVUcKKyNpZmRlZiBERUJVRwogc3RhdGljIHZvaWQgZGJnX2R1bXBfZGFwbShzdHJ1Y3Qgc25kX3NvY19jb2RlYyogY29kZWMsIGNvbnN0IGNoYXIgKmFjdGlvbikKIHsKIAlzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdzsKQEAgLTY5Myw4ICs3MTcsMTAgQEAKIAkJCXBhdGgtPmNvbm5lY3QgPSAwOyAvKiBvbGQgY29ubmVjdGlvbiBtdXN0IGJlIHBvd2VyZWQgZG93biAqLwogCX0KIAotCWlmIChmb3VuZCkKKwlpZiAoZm91bmQpIHsKIAkJZGFwbV9wb3dlcl93aWRnZXRzKHdpZGdldC0+Y29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwkJZHVtcF9kYXBtKHdpZGdldC0+Y29kZWMsICJtdXggcG93ZXIgdXBkYXRlIik7CisJfQogCiAJcmV0dXJuIDA7CiB9CkBAIC03MzAsOCArNzU2LDEwIEBACiAJCWJyZWFrOwogCX0KIAotCWlmIChmb3VuZCkKKwlpZiAoZm91bmQpIHsKIAkJZGFwbV9wb3dlcl93aWRnZXRzKHdpZGdldC0+Y29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwkJZHVtcF9kYXBtKHdpZGdldC0+Y29kZWMsICJtaXhlciBwb3dlciB1cGRhdGUiKTsKKwl9CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTc2OCwyMSArNzk2LDE4IEBACiAJCX0KIAl9CiAKLQlzd2l0Y2goY29kZWMtPmRhcG1fc3RhdGUpewotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QwOgotCQlzdGF0ZSA9ICJEMCI7CisJc3dpdGNoIChjb2RlYy0+Ymlhc19sZXZlbCkgeworCWNhc2UgU05EX1NPQ19CSUFTX09OOgorCQlzdGF0ZSA9ICJPbiI7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QxOgotCQlzdGF0ZSA9ICJEMSI7CisJY2FzZSBTTkRfU09DX0JJQVNfUFJFUEFSRToKKwkJc3RhdGUgPSAiUHJlcGFyZSI7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QyOgotCQlzdGF0ZSA9ICJEMiI7CisJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKKwkJc3RhdGUgPSAiU3RhbmRieSI7CiAJCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzaG90OgotCQlzdGF0ZSA9ICJEM2hvdCI7Ci0JCWJyZWFrOwotCWNhc2UgU05EUlZfQ1RMX1BPV0VSX0QzY29sZDoKLQkJc3RhdGUgPSAiRDNjb2xkIjsKKwljYXNlIFNORF9TT0NfQklBU19PRkY6CisJCXN0YXRlID0gIk9mZiI7CiAJCWJyZWFrOwogCX0KIAljb3VudCArPSBzcHJpbnRmKGJ1ZiArIGNvdW50LCAiUE0gU3RhdGU6ICVzXG4iLCBzdGF0ZSk7CkBAIC03OTIsMjAgKzgxNyw1MSBAQAogCiBzdGF0aWMgREVWSUNFX0FUVFIoZGFwbV93aWRnZXQsIDA0NDQsIGRhcG1fd2lkZ2V0X3Nob3csIE5VTEwpOwogCisvKiBwb3AvY2xpY2sgZGVsYXkgdGltZXMgKi8KK3N0YXRpYyBzc2l6ZV90IGRhcG1fcG9wX3RpbWVfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCisJc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgcG9wX3RpbWUpOworfQorCitzdGF0aWMgc3NpemVfdCBkYXBtX3BvcF90aW1lX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkKKworeworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJaWYgKHN0cmljdF9zdHJ0b3VsKGJ1ZiwgMTAsICZ2YWwpID49IDApCisJCXBvcF90aW1lID0gdmFsOworCWVsc2UKKwkJcHJpbnRrKEtFUk5fRVJSICJVbmFibGUgdG8gcGFyc2UgcG9wX3RpbWUgc2V0dGluZ1xuIik7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBERVZJQ0VfQVRUUihkYXBtX3BvcF90aW1lLCAwNzQ0LCBkYXBtX3BvcF90aW1lX3Nob3csCisJCSAgIGRhcG1fcG9wX3RpbWVfc3RvcmUpOworCiBpbnQgc25kX3NvY19kYXBtX3N5c19hZGQoc3RydWN0IGRldmljZSAqZGV2KQogewogCWludCByZXQgPSAwOwogCi0JaWYgKGRhcG1fc3RhdHVzKQorCWlmIChkYXBtX3N0YXR1cykgewogCQlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfZGFwbV93aWRnZXQpOwogCisJCWlmIChyZXQgPT0gMCkKKwkJCXJldCA9IGRldmljZV9jcmVhdGVfZmlsZShkZXYsICZkZXZfYXR0cl9kYXBtX3BvcF90aW1lKTsKKwl9CisKIAlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgdm9pZCBzbmRfc29jX2RhcG1fc3lzX3JlbW92ZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0JaWYgKGRhcG1fc3RhdHVzKQorCWlmIChkYXBtX3N0YXR1cykgeworCQlkZXZpY2VfcmVtb3ZlX2ZpbGUoZGV2LCAmZGV2X2F0dHJfZGFwbV9wb3BfdGltZSk7CiAJCWRldmljZV9yZW1vdmVfZmlsZShkZXYsICZkZXZfYXR0cl9kYXBtX3dpZGdldCk7CisJfQogfQogCiAvKiBmcmVlIGFsbCBkYXBtIHdpZGdldHMgYW5kIHJlc291cmNlcyAqLwpAQCAtODI2LDggKzg4MiwyNSBAQAogCX0KIH0KIAorc3RhdGljIGludCBzbmRfc29jX2RhcG1fc2V0X3BpbihzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY2hhciAqcGluLCBpbnQgc3RhdHVzKQoreworCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeSh3LCAmY29kZWMtPmRhcG1fd2lkZ2V0cywgbGlzdCkgeworCQlpZiAoIXN0cmNtcCh3LT5uYW1lLCBwaW4pKSB7CisJCQlwcl9kZWJ1ZygiZGFwbTogJXM6IHBpbiAlc1xuIiwgY29kZWMtPm5hbWUsIHBpbik7CisJCQl3LT5jb25uZWN0ZWQgPSBzdGF0dXM7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXByX2VycigiZGFwbTogJXM6IGNvbmZpZ3VyaW5nIHVua25vd24gcGluICVzXG4iLCBjb2RlYy0+bmFtZSwgcGluKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKwogLyoqCi0gKiBzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMgLSBzY2FuIGFuZCBwb3dlciBkYXBtIHBhdGhzCisgKiBzbmRfc29jX2RhcG1fc3luYyAtIHNjYW4gYW5kIHBvd2VyIGRhcG0gcGF0aHMKICAqIEBjb2RlYzogYXVkaW8gY29kZWMKICAqCiAgKiBXYWxrcyBhbGwgZGFwbSBhdWRpbyBwYXRocyBhbmQgcG93ZXJzIHdpZGdldHMgYWNjb3JkaW5nIHRvIHRoZWlyCkBAIC04MzUsMjcgKzkwOCwxNiBAQAogICoKICAqIFJldHVybnMgMCBmb3Igc3VjY2Vzcy4KICAqLwotaW50IHNuZF9zb2NfZGFwbV9zeW5jX2VuZHBvaW50cyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMpCitpbnQgc25kX3NvY19kYXBtX3N5bmMoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjKQogewotCXJldHVybiBkYXBtX3Bvd2VyX3dpZGdldHMoY29kZWMsIFNORF9TT0NfREFQTV9TVFJFQU1fTk9QKTsKKwlpbnQgcmV0ID0gZGFwbV9wb3dlcl93aWRnZXRzKGNvZGVjLCBTTkRfU09DX0RBUE1fU1RSRUFNX05PUCk7CisJZHVtcF9kYXBtKGNvZGVjLCAic3luYyIpOworCXJldHVybiByZXQ7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fc3luY19lbmRwb2ludHMpOworRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX3N5bmMpOwogCi0vKioKLSAqIHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0IC0gY29ubmVjdCBkYXBtIHdpZGdldHMKLSAqIEBjb2RlYzogYXVkaW8gY29kZWMKLSAqIEBzaW5rOiBuYW1lIG9mIHRhcmdldCB3aWRnZXQKLSAqIEBjb250cm9sOiBtaXhlciBjb250cm9sIG5hbWUKLSAqIEBzb3VyY2U6IG5hbWUgb2Ygc291cmNlIG5hbWUKLSAqCi0gKiBDb25uZWN0cyAyIGRhcG0gd2lkZ2V0cyB0b2dldGhlciB2aWEgYSBuYW1lZCBhdWRpbyBwYXRoLiBUaGUgc2luayBpcwotICogdGhlIHdpZGdldCByZWNlaXZpbmcgdGhlIGF1ZGlvIHNpZ25hbCwgd2hpbHN0IHRoZSBzb3VyY2UgaXMgdGhlIHNlbmRlcgotICogb2YgdGhlIGF1ZGlvIHNpZ25hbC4KLSAqCi0gKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KLSAqLwotaW50IHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY29uc3QgY2hhciAqc2luaywKLQljb25zdCBjaGFyICogY29udHJvbCwgY29uc3QgY2hhciAqc291cmNlKQorc3RhdGljIGludCBzbmRfc29jX2RhcG1fYWRkX3JvdXRlKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwljb25zdCBjaGFyICpzaW5rLCBjb25zdCBjaGFyICpjb250cm9sLCBjb25zdCBjaGFyICpzb3VyY2UpCiB7CiAJc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoICpwYXRoOwogCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3c291cmNlID0gTlVMTCwgKndzaW5rID0gTlVMTCwgKnc7CkBAIC05NTcsOSArMTAxOSw2NCBAQAogCWtmcmVlKHBhdGgpOwogCXJldHVybiByZXQ7CiB9CisKKy8qKgorICogc25kX3NvY19kYXBtX2Nvbm5lY3RfaW5wdXQgLSBjb25uZWN0IGRhcG0gd2lkZ2V0cworICogQGNvZGVjOiBhdWRpbyBjb2RlYworICogQHNpbms6IG5hbWUgb2YgdGFyZ2V0IHdpZGdldAorICogQGNvbnRyb2w6IG1peGVyIGNvbnRyb2wgbmFtZQorICogQHNvdXJjZTogbmFtZSBvZiBzb3VyY2UgbmFtZQorICoKKyAqIENvbm5lY3RzIDIgZGFwbSB3aWRnZXRzIHRvZ2V0aGVyIHZpYSBhIG5hbWVkIGF1ZGlvIHBhdGguIFRoZSBzaW5rIGlzCisgKiB0aGUgd2lkZ2V0IHJlY2VpdmluZyB0aGUgYXVkaW8gc2lnbmFsLCB3aGlsc3QgdGhlIHNvdXJjZSBpcyB0aGUgc2VuZGVyCisgKiBvZiB0aGUgYXVkaW8gc2lnbmFsLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2Ygc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMoKS4KKyAqCisgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9jb25uZWN0X2lucHV0KHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY29uc3QgY2hhciAqc2luaywKKwljb25zdCBjaGFyICpjb250cm9sLCBjb25zdCBjaGFyICpzb3VyY2UpCit7CisJcmV0dXJuIHNuZF9zb2NfZGFwbV9hZGRfcm91dGUoY29kZWMsIHNpbmssIGNvbnRyb2wsIHNvdXJjZSk7Cit9CiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fY29ubmVjdF9pbnB1dCk7CiAKIC8qKgorICogc25kX3NvY19kYXBtX2FkZF9yb3V0ZXMgLSBBZGQgcm91dGVzIGJldHdlZW4gREFQTSB3aWRnZXRzCisgKiBAY29kZWM6IGNvZGVjCisgKiBAcm91dGU6IGF1ZGlvIHJvdXRlcworICogQG51bTogbnVtYmVyIG9mIHJvdXRlcworICoKKyAqIENvbm5lY3RzIDIgZGFwbSB3aWRnZXRzIHRvZ2V0aGVyIHZpYSBhIG5hbWVkIGF1ZGlvIHBhdGguIFRoZSBzaW5rIGlzCisgKiB0aGUgd2lkZ2V0IHJlY2VpdmluZyB0aGUgYXVkaW8gc2lnbmFsLCB3aGlsc3QgdGhlIHNvdXJjZSBpcyB0aGUgc2VuZGVyCisgKiBvZiB0aGUgYXVkaW8gc2lnbmFsLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLiBPbiBlcnJvciBhbGwgcmVzb3VyY2VzIGNhbiBiZSBmcmVlZAorICogd2l0aCBhIGNhbGwgdG8gc25kX3NvY19jYXJkX2ZyZWUoKS4KKyAqLworaW50IHNuZF9zb2NfZGFwbV9hZGRfcm91dGVzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywKKwkJCSAgICBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBtX3JvdXRlICpyb3V0ZSwgaW50IG51bSkKK3sKKwlpbnQgaSwgcmV0OworCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CisJCXJldCA9IHNuZF9zb2NfZGFwbV9hZGRfcm91dGUoY29kZWMsIHJvdXRlLT5zaW5rLAorCQkJCQkgICAgIHJvdXRlLT5jb250cm9sLCByb3V0ZS0+c291cmNlKTsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXByaW50ayhLRVJOX0VSUiAiRmFpbGVkIHRvIGFkZCByb3V0ZSAlcy0+JXNcbiIsCisJCQkgICAgICAgcm91dGUtPnNvdXJjZSwKKwkJCSAgICAgICByb3V0ZS0+c2luayk7CisJCQlyZXR1cm4gcmV0OworCQl9CisJCXJvdXRlKys7CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fYWRkX3JvdXRlcyk7CisKKy8qKgogICogc25kX3NvY19kYXBtX25ld193aWRnZXRzIC0gYWRkIG5ldyBkYXBtIHdpZGdldHMKICAqIEBjb2RlYzogYXVkaW8gY29kZWMKICAqCkBAIC0xMjM0LDYgKzEzNTEsMzMgQEAKIEVYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbCk7CiAKIC8qKgorICogc25kX3NvY19kYXBtX25ld19jb250cm9scyAtIGNyZWF0ZSBuZXcgZGFwbSBjb250cm9scworICogQGNvZGVjOiBhdWRpbyBjb2RlYworICogQHdpZGdldDogd2lkZ2V0IGFycmF5CisgKiBAbnVtOiBudW1iZXIgb2Ygd2lkZ2V0cworICoKKyAqIENyZWF0ZXMgbmV3IERBUE0gY29udHJvbHMgYmFzZWQgdXBvbiB0aGUgdGVtcGxhdGVzLgorICoKKyAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgorICovCitpbnQgc25kX3NvY19kYXBtX25ld19jb250cm9scyhzdHJ1Y3Qgc25kX3NvY19jb2RlYyAqY29kZWMsCisJY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKndpZGdldCwKKwlpbnQgbnVtKQoreworCWludCBpLCByZXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKwkJcmV0ID0gc25kX3NvY19kYXBtX25ld19jb250cm9sKGNvZGVjLCB3aWRnZXQpOworCQlpZiAocmV0IDwgMCkKKwkJCXJldHVybiByZXQ7CisJCXdpZGdldCsrOworCX0KKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9uZXdfY29udHJvbHMpOworCisKKy8qKgogICogc25kX3NvY19kYXBtX3N0cmVhbV9ldmVudCAtIHNlbmQgYSBzdHJlYW0gZXZlbnQgdG8gdGhlIGRhcG0gY29yZQogICogQGNvZGVjOiBhdWRpbyBjb2RlYwogICogQHN0cmVhbTogc3RyZWFtIG5hbWUKQEAgLTEyNTcsOCArMTQwMSw4IEBACiAJewogCQlpZiAoIXctPnNuYW1lKQogCQkJY29udGludWU7Ci0JCWRiZygid2lkZ2V0ICVzXG4gJXMgc3RyZWFtICVzIGV2ZW50ICVkXG4iLCB3LT5uYW1lLCB3LT5zbmFtZSwKLQkJCXN0cmVhbSwgZXZlbnQpOworCQlwcl9kZWJ1Zygid2lkZ2V0ICVzXG4gJXMgc3RyZWFtICVzIGV2ZW50ICVkXG4iLAorCQkJIHctPm5hbWUsIHctPnNuYW1lLCBzdHJlYW0sIGV2ZW50KTsKIAkJaWYgKHN0cnN0cih3LT5zbmFtZSwgc3RyZWFtKSkgewogCQkJc3dpdGNoKGV2ZW50KSB7CiAJCQljYXNlIFNORF9TT0NfREFQTV9TVFJFQU1fU1RBUlQ6CkBAIC0xMjk0LDUzICsxNDM4LDgxIEBACiBFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fc3RyZWFtX2V2ZW50KTsKIAogLyoqCi0gKiBzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50IC0gc2VuZCBhIGRldmljZSBldmVudCB0byB0aGUgZGFwbSBjb3JlCisgKiBzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwgLSBzZXQgdGhlIGJpYXMgbGV2ZWwgZm9yIHRoZSBzeXN0ZW0KICAqIEBzb2NkZXY6IGF1ZGlvIGRldmljZQotICogQGV2ZW50OiBkZXZpY2UgZXZlbnQKKyAqIEBsZXZlbDogbGV2ZWwgdG8gY29uZmlndXJlCiAgKgotICogU2VuZHMgYSBkZXZpY2UgZXZlbnQgdG8gdGhlIGRhcG0gY29yZS4gVGhlIGNvcmUgdGhlbiBtYWtlcyBhbnkKLSAqIG5lY2Vzc2FyeSBtYWNoaW5lIG9yIGNvZGVjIHBvd2VyIGNoYW5nZXMuLgorICogQ29uZmlndXJlIHRoZSBiaWFzIChwb3dlcikgbGV2ZWxzIGZvciB0aGUgU29DIGF1ZGlvIGRldmljZS4KICAqCiAgKiBSZXR1cm5zIDAgZm9yIHN1Y2Nlc3MgZWxzZSBlcnJvci4KICAqLwotaW50IHNuZF9zb2NfZGFwbV9kZXZpY2VfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsIGludCBldmVudCkKK2ludCBzbmRfc29jX2RhcG1fc2V0X2JpYXNfbGV2ZWwoc3RydWN0IHNuZF9zb2NfZGV2aWNlICpzb2NkZXYsCisJCQkJZW51bSBzbmRfc29jX2JpYXNfbGV2ZWwgbGV2ZWwpCiB7CiAJc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjID0gc29jZGV2LT5jb2RlYzsKIAlzdHJ1Y3Qgc25kX3NvY19tYWNoaW5lICptYWNoaW5lID0gc29jZGV2LT5tYWNoaW5lOworCWludCByZXQgPSAwOwogCi0JaWYgKG1hY2hpbmUtPmRhcG1fZXZlbnQpCi0JCW1hY2hpbmUtPmRhcG1fZXZlbnQobWFjaGluZSwgZXZlbnQpOwotCWlmIChjb2RlYy0+ZGFwbV9ldmVudCkKLQkJY29kZWMtPmRhcG1fZXZlbnQoY29kZWMsIGV2ZW50KTsKLQlyZXR1cm4gMDsKKwlpZiAobWFjaGluZS0+c2V0X2JpYXNfbGV2ZWwpCisJCXJldCA9IG1hY2hpbmUtPnNldF9iaWFzX2xldmVsKG1hY2hpbmUsIGxldmVsKTsKKwlpZiAocmV0ID09IDAgJiYgY29kZWMtPnNldF9iaWFzX2xldmVsKQorCQlyZXQgPSBjb2RlYy0+c2V0X2JpYXNfbGV2ZWwoY29kZWMsIGxldmVsKTsKKworCXJldHVybiByZXQ7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fZGV2aWNlX2V2ZW50KTsKIAogLyoqCi0gKiBzbmRfc29jX2RhcG1fc2V0X2VuZHBvaW50IC0gc2V0IGF1ZGlvIGVuZHBvaW50IHN0YXR1cwotICogQGNvZGVjOiBhdWRpbyBjb2RlYwotICogQGVuZHBvaW50OiBhdWRpbyBzaWduYWwgZW5kcG9pbnQgKG9yIHN0YXJ0IHBvaW50KQotICogQHN0YXR1czogcG9pbnQgc3RhdHVzCisgKiBzbmRfc29jX2RhcG1fZW5hYmxlX3BpbiAtIGVuYWJsZSBwaW4uCisgKiBAc25kX3NvY19jb2RlYzogU29DIGNvZGVjCisgKiBAcGluOiBwaW4gbmFtZQogICoKLSAqIFNldCBhdWRpbyBlbmRwb2ludCBzdGF0dXMgLSBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkLgotICoKLSAqIFJldHVybnMgMCBmb3Igc3VjY2VzcyBlbHNlIGVycm9yLgorICogRW5hYmxlcyBpbnB1dC9vdXRwdXQgcGluIGFuZCBpdCdzIHBhcmVudHMgb3IgY2hpbGRyZW4gd2lkZ2V0cyBpZmYgdGhlcmUgaXMKKyAqIGEgdmFsaWQgYXVkaW8gcm91dGUgYW5kIGFjdGl2ZSBhdWRpbyBzdHJlYW0uCisgKiBOT1RFOiBzbmRfc29jX2RhcG1fc3luYygpIG5lZWRzIHRvIGJlIGNhbGxlZCBhZnRlciB0aGlzIGZvciBEQVBNIHRvCisgKiBkbyBhbnkgd2lkZ2V0IHBvd2VyIHN3aXRjaGluZy4KICAqLwotaW50IHNuZF9zb2NfZGFwbV9zZXRfZW5kcG9pbnQoc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLAotCWNoYXIgKmVuZHBvaW50LCBpbnQgc3RhdHVzKQoraW50IHNuZF9zb2NfZGFwbV9lbmFibGVfcGluKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKQoreworCXJldHVybiBzbmRfc29jX2RhcG1fc2V0X3Bpbihjb2RlYywgcGluLCAxKTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKHNuZF9zb2NfZGFwbV9lbmFibGVfcGluKTsKKworLyoqCisgKiBzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4gLSBkaXNhYmxlIHBpbi4KKyAqIEBjb2RlYzogU29DIGNvZGVjCisgKiBAcGluOiBwaW4gbmFtZQorICoKKyAqIERpc2FibGVzIGlucHV0L291dHB1dCBwaW4gYW5kIGl0J3MgcGFyZW50cyBvciBjaGlsZHJlbiB3aWRnZXRzLgorICogTk9URTogc25kX3NvY19kYXBtX3N5bmMoKSBuZWVkcyB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhpcyBmb3IgREFQTSB0bworICogZG8gYW55IHdpZGdldCBwb3dlciBzd2l0Y2hpbmcuCisgKi8KK2ludCBzbmRfc29jX2RhcG1fZGlzYWJsZV9waW4oc3RydWN0IHNuZF9zb2NfY29kZWMgKmNvZGVjLCBjaGFyICpwaW4pCit7CisJcmV0dXJuIHNuZF9zb2NfZGFwbV9zZXRfcGluKGNvZGVjLCBwaW4sIDApOworfQorRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX2Rpc2FibGVfcGluKTsKKworLyoqCisgKiBzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMgLSBnZXQgYXVkaW8gcGluIHN0YXR1cworICogQGNvZGVjOiBhdWRpbyBjb2RlYworICogQHBpbjogYXVkaW8gc2lnbmFsIHBpbiBlbmRwb2ludCAob3Igc3RhcnQgcG9pbnQpCisgKgorICogR2V0IGF1ZGlvIHBpbiBzdGF0dXMgLSBjb25uZWN0ZWQgb3IgZGlzY29ubmVjdGVkLgorICoKKyAqIFJldHVybnMgMSBmb3IgY29ubmVjdGVkIG90aGVyd2lzZSAwLgorICovCitpbnQgc25kX3NvY19kYXBtX2dldF9waW5fc3RhdHVzKHN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2RlYywgY2hhciAqcGluKQogewogCXN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3OwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh3LCAmY29kZWMtPmRhcG1fd2lkZ2V0cywgbGlzdCkgewotCQlpZiAoIXN0cmNtcCh3LT5uYW1lLCBlbmRwb2ludCkpIHsKLQkJCXctPmNvbm5lY3RlZCA9IHN0YXR1czsKLQkJCXJldHVybiAwOwotCQl9CisJCWlmICghc3RyY21wKHctPm5hbWUsIHBpbikpCisJCQlyZXR1cm4gdy0+Y29ubmVjdGVkOwogCX0KIAotCXJldHVybiAtRU5PREVWOworCXJldHVybiAwOwogfQotRVhQT1JUX1NZTUJPTF9HUEwoc25kX3NvY19kYXBtX3NldF9lbmRwb2ludCk7CitFWFBPUlRfU1lNQk9MX0dQTChzbmRfc29jX2RhcG1fZ2V0X3Bpbl9zdGF0dXMpOwogCiAvKioKICAqIHNuZF9zb2NfZGFwbV9mcmVlIC0gZnJlZSBkYXBtIHJlc291cmNlcwpkaWZmIC0tZ2l0IGEvc291bmQvc291bmRfY29yZS5jIGIvc291bmQvc291bmRfY29yZS5jCmluZGV4IDQ2ZGFjYTEuLmRjZmMxZDUgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvdW5kX2NvcmUuYworKysgYi9zb3VuZC9zb3VuZF9jb3JlLmMKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3NtcF9sb2NrLmg+CiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgpAQCAtNDY0LDYgKzQ2NSw4IEBACiAJc3RydWN0IHNvdW5kX3VuaXQgKnM7CiAJY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyAqbmV3X2ZvcHMgPSBOVUxMOwogCisJbG9ja19rZXJuZWwgKCk7CisKIAljaGFpbj11bml0JjB4MEY7CiAJaWYoY2hhaW49PTQgfHwgY2hhaW49PTUpCS8qIGRzcC9hdWRpby9kc3AxNiAqLwogCXsKQEAgLTUxMSw5ICs1MTQsMTEgQEAKIAkJCWZpbGUtPmZfb3AgPSBmb3BzX2dldChvbGRfZm9wcyk7CiAJCX0KIAkJZm9wc19wdXQob2xkX2ZvcHMpOworCQl1bmxvY2tfa2VybmVsKCk7CiAJCXJldHVybiBlcnI7CiAJfQogCXNwaW5fdW5sb2NrKCZzb3VuZF9sb2FkZXJfbG9jayk7CisJdW5sb2NrX2tlcm5lbCgpOwogCXJldHVybiAtRU5PREVWOwogfQogCmRpZmYgLS1naXQgYS9zb3VuZC9zcGFyYy9LY29uZmlnIGIvc291bmQvc3BhcmMvS2NvbmZpZwppbmRleCAwNzllMjJhLi5kNzVkZWJhIDEwMDY0NAotLS0gYS9zb3VuZC9zcGFyYy9LY29uZmlnCisrKyBiL3NvdW5kL3NwYXJjL0tjb25maWcKQEAgLTEsMTEgKzEsMTcgQEAKICMgQUxTQSBTcGFyYyBkcml2ZXJzCiAKLW1lbnUgIkFMU0EgU3BhcmMgZGV2aWNlcyIKLQlkZXBlbmRzIG9uIFNORCE9biAmJiBTUEFSQworbWVudWNvbmZpZyBTTkRfU1BBUkMKKwlib29sICJTcGFyYyBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gU1BBUkMKKwlkZWZhdWx0IHkKKwloZWxwCisJICBTdXBwb3J0IGZvciBzb3VuZCBkZXZpY2VzIHNwZWNpZmljIHRvIFN1biBTUEFSQyBhcmNoaXRlY3R1cmVzLgorCitpZiBTTkRfU1BBUkMKIAogY29uZmlnIFNORF9TVU5fQU1ENzkzMAogCXRyaXN0YXRlICJTdW4gQU1ENzkzMCIKLQlkZXBlbmRzIG9uIFNCVVMgJiYgU05ECisJZGVwZW5kcyBvbiBTQlVTCiAJc2VsZWN0IFNORF9QQ00KIAloZWxwCiAJICBTYXkgWSBoZXJlIHRvIGluY2x1ZGUgc3VwcG9ydCBmb3IgQU1ENzkzMCBzb3VuZCBkZXZpY2Ugb24gU3VuLgpAQCAtMTUsNyArMjEsNiBAQAogCiBjb25maWcgU05EX1NVTl9DUzQyMzEKIAl0cmlzdGF0ZSAiU3VuIENTNDIzMSIKLQlkZXBlbmRzIG9uIFNORAogCXNlbGVjdCBTTkRfUENNCiAJaGVscAogCSAgU2F5IFkgaGVyZSB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIENTNDIzMSBzb3VuZCBkZXZpY2Ugb24gU3VuLgpAQCAtMjUsNyArMzAsNyBAQAogCiBjb25maWcgU05EX1NVTl9EQlJJCiAJdHJpc3RhdGUgIlN1biBEQlJJIgotCWRlcGVuZHMgb24gU05EICYmIFNCVVMKKwlkZXBlbmRzIG9uIFNCVVMKIAlzZWxlY3QgU05EX1BDTQogCWhlbHAKIAkgIFNheSBZIGhlcmUgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciBEQlJJIHNvdW5kIGRldmljZSBvbiBTdW4uCkBAIC0zMyw0ICszOCw0IEBACiAJICBUbyBjb21waWxlIHRoaXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBjaG9vc2UgTSBoZXJlOiB0aGUgbW9kdWxlCiAJICB3aWxsIGJlIGNhbGxlZCBzbmQtc3VuLWRicmkuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NQQVJDCmRpZmYgLS1naXQgYS9zb3VuZC9zcGFyYy9kYnJpLmMgYi9zb3VuZC9zcGFyYy9kYnJpLmMKaW5kZXggM2QwMGUwNy4uZWUyZTFiNCAxMDA2NDQKLS0tIGEvc291bmQvc3BhcmMvZGJyaS5jCisrKyBiL3NvdW5kL3NwYXJjL2RicmkuYwpAQCAtMjQ5MCw3ICsyNDkwLDcgQEAKIH0KICNlbmRpZgogCi12b2lkIF9fZGV2aW5pdCBzbmRfZGJyaV9wcm9jKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCkKK3N0YXRpYyB2b2lkIF9fZGV2aW5pdCBzbmRfZGJyaV9wcm9jKHN0cnVjdCBzbmRfY2FyZCAqY2FyZCkKIHsKIAlzdHJ1Y3Qgc25kX2RicmkgKmRicmkgPSBjYXJkLT5wcml2YXRlX2RhdGE7CiAJc3RydWN0IHNuZF9pbmZvX2VudHJ5ICplbnRyeTsKZGlmZiAtLWdpdCBhL3NvdW5kL3NwaS9LY29uZmlnIGIvc291bmQvc3BpL0tjb25maWcKaW5kZXggMGQwOGMyOS4uZTY0ODViZSAxMDA2NDQKLS0tIGEvc291bmQvc3BpL0tjb25maWcKKysrIGIvc291bmQvc3BpL0tjb25maWcKQEAgLTEsNyArMSwxMyBAQAogI1NQSSBkcml2ZXJzCiAKLW1lbnUgIlNQSSBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EICE9IG4KK21lbnVjb25maWcgU05EX1NQSQorCWJvb2wgIlNQSSBzb3VuZCBkZXZpY2VzIgorCWRlcGVuZHMgb24gU1BJCisJZGVmYXVsdCB5CisJaGVscAorCSAgU3VwcG9ydCBmb3Igc291bmQgZGV2aWNlcyBjb25uZWN0ZWQgdmlhIHRoZSBTUEkgYnVzLgorCitpZiBTTkRfU1BJCiAKIGNvbmZpZyBTTkRfQVQ3M0MyMTMKIAl0cmlzdGF0ZSAiQXRtZWwgQVQ3M0MyMTMgREFDIGRyaXZlciIKQEAgLTI4LDQgKzM0LDUgQEAKIAogCSAgU2V0IHRvIDQ4MDAwIEh6IGJ5IGRlZmF1bHQuCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1NQSQorCmRpZmYgLS1naXQgYS9zb3VuZC91c2IvS2NvbmZpZyBiL3NvdW5kL3VzYi9LY29uZmlnCmluZGV4IDkzNTFiOGEuLmZmY2RjOGYgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9LY29uZmlnCisrKyBiL3NvdW5kL3VzYi9LY29uZmlnCkBAIC0xLDExICsxLDE2IEBACiAjIEFMU0EgVVNCIGRyaXZlcnMKIAotbWVudSAiVVNCIGRldmljZXMiCi0JZGVwZW5kcyBvbiBTTkQhPW4gJiYgVVNCIT1uCittZW51Y29uZmlnIFNORF9VU0IKKwlib29sICJVU0Igc291bmQgZGV2aWNlcyIKKwlkZXBlbmRzIG9uIFVTQgorCWRlZmF1bHQgeQorCWhlbHAKKwkgIFN1cHBvcnQgZm9yIHNvdW5kIGRldmljZXMgY29ubmVjdGVkIHZpYSB0aGUgVVNCIGJ1cy4KKworaWYgU05EX1VTQiAmJiBVU0IKIAogY29uZmlnIFNORF9VU0JfQVVESU8KIAl0cmlzdGF0ZSAiVVNCIEF1ZGlvL01JREkgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFVTQgogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtMTgsNyArMjMsNyBAQAogCiBjb25maWcgU05EX1VTQl9VU1gyWQogCXRyaXN0YXRlICJUYXNjYW0gVVMtMTIyLCBVUy0yMjQgYW5kIFVTLTQyOCBVU0IgZHJpdmVyIgotCWRlcGVuZHMgb24gU05EICYmIFVTQiAmJiAoWDg2IHx8IFBQQyB8fCBBTFBIQSkKKwlkZXBlbmRzIG9uIFg4NiB8fCBQUEMgfHwgQUxQSEEKIAlzZWxlY3QgU05EX0hXREVQCiAJc2VsZWN0IFNORF9SQVdNSURJCiAJc2VsZWN0IFNORF9QQ00KQEAgLTMxLDcgKzM2LDYgQEAKIAogY29uZmlnIFNORF9VU0JfQ0FJQVEKIAl0cmlzdGF0ZSAiTmF0aXZlIEluc3RydW1lbnRzIFVTQiBhdWRpbyBkZXZpY2VzIgotCWRlcGVuZHMgb24gU05EICYmIFVTQgogCXNlbGVjdCBTTkRfSFdERVAKIAlzZWxlY3QgU05EX1JBV01JREkKIAlzZWxlY3QgU05EX1BDTQpAQCAtNjMsNSArNjcsNSBAQAogCSAgICogTmF0aXZlIEluc3RydW1lbnRzIEtvcmUgQ29udHJvbGxlciAyCiAJICAgKiBOYXRpdmUgSW5zdHJ1bWVudHMgQXVkaW8gS29udHJvbCAxCiAKLWVuZG1lbnUKK2VuZGlmCSMgU05EX1VTQgogCmRpZmYgLS1naXQgYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtYXVkaW8uYyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jCmluZGV4IDI0OTcwYTUuLmIzYTYwMzMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jCisrKyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1hdWRpby5jCkBAIC02MzcsNiArNjM3LDcgQEAKIAlzd2l0Y2ggKGRldi0+Y2hpcC51c2JfaWQpIHsKIAljYXNlIFVTQl9JRChVU0JfVklEX05BVElWRUlOU1RSVU1FTlRTLCBVU0JfUElEX0FLMSk6CiAJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9SSUdLT05UUk9MMyk6CisJY2FzZSBVU0JfSUQoVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywgVVNCX1BJRF9TRVNTSU9OSU8pOgogCQlkZXYtPnNhbXBsZXJhdGVzIHw9IFNORFJWX1BDTV9SQVRFXzg4MjAwOwogCQlkZXYtPnNhbXBsZXJhdGVzIHw9IFNORFJWX1BDTV9SQVRFXzE5MjAwMDsKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmMKaW5kZXggYTk3MmY3Ny4uODMxNzUwOCAxMDA2NDQKLS0tIGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5jCisrKyBiL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuYwpAQCAtNDIsMTQgKzQyLDE1IEBACiAjZW5kaWYKIAogTU9EVUxFX0FVVEhPUigiRGFuaWVsIE1hY2sgPGRhbmllbEBjYWlhcS5kZT4iKTsKLU1PRFVMRV9ERVNDUklQVElPTigiY2FpYXEgVVNCIGF1ZGlvLCB2ZXJzaW9uIDEuMy42Iik7CitNT0RVTEVfREVTQ1JJUFRJT04oImNhaWFxIFVTQiBhdWRpbywgdmVyc2lvbiAxLjMuOCIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOwogTU9EVUxFX1NVUFBPUlRFRF9ERVZJQ0UoInt7TmF0aXZlIEluc3RydW1lbnRzLCBSaWdLb250cm9sMn0sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBSaWdLb250cm9sM30sIgogCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBLb3JlIENvbnRyb2xsZXJ9LCIKIAkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgS29yZSBDb250cm9sbGVyIDJ9LCIKLQkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gS29udHJvbCAxfSIKLQkJCSAie05hdGl2ZSBJbnN0cnVtZW50cywgQXVkaW8gOCBESn19Iik7CisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIEF1ZGlvIEtvbnRyb2wgMX0sIgorCQkJICJ7TmF0aXZlIEluc3RydW1lbnRzLCBBdWRpbyA4IERKfSwiCisJCQkgIntOYXRpdmUgSW5zdHJ1bWVudHMsIFNlc3Npb24gSS9PfX0iKTsKIAogc3RhdGljIGludCBpbmRleFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX0lEWDsgLyogSW5kZXggMC1tYXggKi8KIHN0YXRpYyBjaGFyKiBpZFtTTkRSVl9DQVJEU10gPSBTTkRSVl9ERUZBVUxUX1NUUjsgLyogSWQgZm9yIHRoaXMgY2FyZCAqLwpAQCAtMTEwLDYgKzExMSwxMSBAQAogCQkuaWRWZW5kb3IgPSAgICAgVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywKIAkJLmlkUHJvZHVjdCA9ICAgIFVTQl9QSURfQVVESU84REoKIAl9LAorCXsKKwkJLm1hdGNoX2ZsYWdzID0gIFVTQl9ERVZJQ0VfSURfTUFUQ0hfREVWSUNFLAorCQkuaWRWZW5kb3IgPSAgICAgVVNCX1ZJRF9OQVRJVkVJTlNUUlVNRU5UUywKKwkJLmlkUHJvZHVjdCA9ICAgIFVTQl9QSURfU0VTU0lPTklPCisJfSwKIAl7IC8qIHRlcm1pbmF0b3IgKi8gfQogfTsKIApkaWZmIC0tZ2l0IGEvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oIGIvc291bmQvdXNiL2NhaWFxL2NhaWFxLWRldmljZS5oCmluZGV4IDk2YTQ5MTMuLmY5ZmJkYmEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9jYWlhcS9jYWlhcS1kZXZpY2UuaAorKysgYi9zb3VuZC91c2IvY2FpYXEvY2FpYXEtZGV2aWNlLmgKQEAgLTExLDYgKzExLDcgQEAKICNkZWZpbmUgVVNCX1BJRF9LT1JFQ09OVFJPTExFUjIJMHg0NzEyCiAjZGVmaW5lIFVTQl9QSURfQUsxCQkweDA4MTUKICNkZWZpbmUgVVNCX1BJRF9BVURJTzhESgkweDE5NzgKKyNkZWZpbmUgVVNCX1BJRF9TRVNTSU9OSU8JMHgxOTE1CiAKICNkZWZpbmUgRVAxX0JVRlNJWkUgNjQKICNkZWZpbmUgQ0FJQVFfVVNCX1NUUl9MRU4gMHhmZgpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL3VzYmF1ZGlvLmMgYi9zb3VuZC91c2IvdXNiYXVkaW8uYwppbmRleCA0MTBiZTRhLi5iOGNmYjdjIDEwMDY0NAotLS0gYS9zb3VuZC91c2IvdXNiYXVkaW8uYworKysgYi9zb3VuZC91c2IvdXNiYXVkaW8uYwpAQCAtODE5LDEwICs4MTksNiBAQAogCQlyZXR1cm4gImRldmljZSBkaXNhYmxlZCI7CiAJY2FzZSAtRUhPU1RVTlJFQUNIOgogCQlyZXR1cm4gImRldmljZSBzdXNwZW5kZWQiOwotI2lmbmRlZiBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPCi0JY2FzZSAtRU5PU1lTOgotCQlyZXR1cm4gImVuYWJsZSBDT05GSUdfVVNCX0VIQ0lfU1BMSVRfSVNPIHRvIHBsYXkgdGhyb3VnaCBhIGh1YiI7Ci0jZW5kaWYKIAljYXNlIC1FSU5WQUw6CiAJY2FzZSAtRUFHQUlOOgogCWNhc2UgLUVGQklHOgpkaWZmIC0tZ2l0IGEvc291bmQvdXNiL3VzYnF1aXJrcy5oIGIvc291bmQvdXNiL3VzYnF1aXJrcy5oCmluZGV4IDgyYThkMTQuLjllYTcyNmMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi91c2JxdWlya3MuaAorKysgYi9zb3VuZC91c2IvdXNicXVpcmtzLmgKQEAgLTIxMCw2ICsyMTAsMTEgQEAKIFlBTUFIQV9ERVZJQ0UoMHgxMDQzLCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgxMDQ0LCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgxMDQ1LCBOVUxMKSwKK1lBTUFIQV9JTlRFUkZBQ0UoMHgxMDRlLCAwLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDRmLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUwLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUxLCBOVUxMKSwKK1lBTUFIQV9ERVZJQ0UoMHgxMDUyLCBOVUxMKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAwLCAiREdQLTciKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAxLCAiREdQLTUiKSwKIFlBTUFIQV9ERVZJQ0UoMHgyMDAyLCBOVUxMKSwKQEAgLTEzNzksNiArMTM4NCwzOSBAQAogCX0KIH0sCiAKK3sKKwkvKiBSb2xhbmQgU29uaWNDZWxsICovCisJVVNCX0RFVklDRSgweDA1ODIsIDB4MDBjMiksCisJLmRyaXZlcl9pbmZvID0gKHVuc2lnbmVkIGxvbmcpICYgKGNvbnN0IHN0cnVjdCBzbmRfdXNiX2F1ZGlvX3F1aXJrKSB7CisJCS52ZW5kb3JfbmFtZSA9ICJSb2xhbmQiLAorCQkucHJvZHVjdF9uYW1lID0gIlNvbmljQ2VsbCIsCisJCS5pZm51bSA9IFFVSVJLX0FOWV9JTlRFUkZBQ0UsCisJCS50eXBlID0gUVVJUktfQ09NUE9TSVRFLAorCQkuZGF0YSA9IChjb25zdCBzdHJ1Y3Qgc25kX3VzYl9hdWRpb19xdWlya1tdKSB7CisJCQl7CisJCQkJLmlmbnVtID0gMCwKKwkJCQkudHlwZSA9IFFVSVJLX0FVRElPX1NUQU5EQVJEX0lOVEVSRkFDRQorCQkJfSwKKwkJCXsKKwkJCQkuaWZudW0gPSAxLAorCQkJCS50eXBlID0gUVVJUktfQVVESU9fU1RBTkRBUkRfSU5URVJGQUNFCisJCQl9LAorCQkJeworCQkJCS5pZm51bSA9IDIsCisJCQkJLnR5cGUgPSBRVUlSS19NSURJX0ZJWEVEX0VORFBPSU5ULAorCQkJCS5kYXRhID0gJiAoY29uc3Qgc3RydWN0IHNuZF91c2JfbWlkaV9lbmRwb2ludF9pbmZvKSB7CisJCQkJCS5vdXRfY2FibGVzID0gMHgwMDAxLAorCQkJCQkuaW5fY2FibGVzICA9IDB4MDAwMQorCQkJCX0KKwkJCX0sCisJCQl7CisJCQkJLmlmbnVtID0gLTEKKwkJCX0KKwkJfQorCX0KK30sCisKKwogLyogR3VpbGxlbW90IGRldmljZXMgKi8KIHsKIAkvKgpkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtX21haW4uYyBiL3ZpcnQva3ZtL2t2bV9tYWluLmMKaW5kZXggMmQyOWUyNi4uZDRlYWU2YSAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYworKysgYi92aXJ0L2t2bS9rdm1fbWFpbi5jCkBAIC0xMjY2LDEyICsxMjY2LDEyIEBACiAJY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CiAJCXByaW50ayhLRVJOX0lORk8gImt2bTogZGlzYWJsaW5nIHZpcnR1YWxpemF0aW9uIG9uIENQVSVkXG4iLAogCQkgICAgICAgY3B1KTsKLQkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwgaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJCXNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZShjcHUsIGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogCQlicmVhazsKIAljYXNlIENQVV9PTkxJTkU6CiAJCXByaW50ayhLRVJOX0lORk8gImt2bTogZW5hYmxpbmcgdmlydHVhbGl6YXRpb24gb24gQ1BVJWRcbiIsCiAJCSAgICAgICBjcHUpOwotCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDAsIDEpOworCQlzbXBfY2FsbF9mdW5jdGlvbl9zaW5nbGUoY3B1LCBoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDEpOwogCQlicmVhazsKIAl9CiAJcmV0dXJuIE5PVElGWV9PSzsKQEAgLTEyODYsNyArMTI4Niw3IEBACiAJCSAqIGluIHZteCByb290IG1vZGUuCiAJCSAqLwogCQlwcmludGsoS0VSTl9JTkZPICJrdm06IGV4aXRpbmcgaGFyZHdhcmUgdmlydHVhbGl6YXRpb25cbiIpOwotCQlvbl9lYWNoX2NwdShoYXJkd2FyZV9kaXNhYmxlLCBOVUxMLCAwLCAxKTsKKwkJb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMSk7CiAJfQogCXJldHVybiBOT1RJRllfT0s7CiB9CkBAIC0xNDc0LDEyICsxNDc0LDEyIEBACiAJZm9yX2VhY2hfb25saW5lX2NwdShjcHUpIHsKIAkJc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlKGNwdSwKIAkJCQlrdm1fYXJjaF9jaGVja19wcm9jZXNzb3JfY29tcGF0LAotCQkJCSZyLCAwLCAxKTsKKwkJCQkmciwgMSk7CiAJCWlmIChyIDwgMCkKIAkJCWdvdG8gb3V0X2ZyZWVfMTsKIAl9CiAKLQlvbl9lYWNoX2NwdShoYXJkd2FyZV9lbmFibGUsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2VuYWJsZSwgTlVMTCwgMSk7CiAJciA9IHJlZ2lzdGVyX2NwdV9ub3RpZmllcigma3ZtX2NwdV9ub3RpZmllcik7CiAJaWYgKHIpCiAJCWdvdG8gb3V0X2ZyZWVfMjsKQEAgLTE1MjUsNyArMTUyNSw3IEBACiAJdW5yZWdpc3Rlcl9yZWJvb3Rfbm90aWZpZXIoJmt2bV9yZWJvb3Rfbm90aWZpZXIpOwogCXVucmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZrdm1fY3B1X25vdGlmaWVyKTsKIG91dF9mcmVlXzI6Ci0Jb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMCwgMSk7CisJb25fZWFjaF9jcHUoaGFyZHdhcmVfZGlzYWJsZSwgTlVMTCwgMSk7CiBvdXRfZnJlZV8xOgogCWt2bV9hcmNoX2hhcmR3YXJlX3Vuc2V0dXAoKTsKIG91dF9mcmVlXzA6CkBAIC0xNTQ3LDcgKzE1NDcsNyBAQAogCXN5c2Rldl9jbGFzc191bnJlZ2lzdGVyKCZrdm1fc3lzZGV2X2NsYXNzKTsKIAl1bnJlZ2lzdGVyX3JlYm9vdF9ub3RpZmllcigma3ZtX3JlYm9vdF9ub3RpZmllcik7CiAJdW5yZWdpc3Rlcl9jcHVfbm90aWZpZXIoJmt2bV9jcHVfbm90aWZpZXIpOwotCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDAsIDEpOworCW9uX2VhY2hfY3B1KGhhcmR3YXJlX2Rpc2FibGUsIE5VTEwsIDEpOwogCWt2bV9hcmNoX2hhcmR3YXJlX3Vuc2V0dXAoKTsKIAlrdm1fYXJjaF9leGl0KCk7CiAJa3ZtX2V4aXRfZGVidWcoKTsK